ZGlmZiAtLWdpdCBhLy5jaXJydXMueW1sIGIvLmNpcnJ1cy55bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzJmNWZlMwotLS0gL2Rldi9udWxsCisrKyBiLy5jaXJydXMueW1sCkBAIC0wLDAgKzEsMTUgQEAKK2VudjoKKyAgQ0lSUlVTX0NMT05FX0RFUFRIOiAxCisKK2ZyZWVic2RfMTJfdGFzazoKKyAgZnJlZWJzZF9pbnN0YW5jZToKKyAgICBpbWFnZTogZnJlZWJzZC0xMi0xLXJlbGVhc2UtYW1kNjQKKyAgaW5zdGFsbF9zY3JpcHQ6CisgICAgcGtnIGluc3RhbGwgLXkgZ2V0dGV4dCBnbWFrZSBwZXJsNQorICBjcmVhdGVfdXNlcl9zY3JpcHQ6CisgICAgLSBwdyB1c2VyYWRkIGdpdAorICAgIC0gY2hvd24gLVIgZ2l0OmdpdCAuCisgIGJ1aWxkX3NjcmlwdDoKKyAgICAtIHN1IGdpdCAtYyBnbWFrZQorICB0ZXN0X3NjcmlwdDoKKyAgICAtIHN1IGdpdCAtYyAnZ21ha2UgdGVzdCcKZGlmZiAtLWdpdCBhLy5jbGFuZy1mb3JtYXQgYi8uY2xhbmctZm9ybWF0CmluZGV4IGRlMWM4YjUuLmM1OTJkZGEgMTAwNjQ0Ci0tLSBhLy5jbGFuZy1mb3JtYXQKKysrIGIvLmNsYW5nLWZvcm1hdApAQCAtMTQ4LDggKzE0OCwyMSBAQAogQ3BwMTFCcmFjZWRMaXN0U3R5bGU6IGZhbHNlCiAKICMgQSBsaXN0IG9mIG1hY3JvcyB0aGF0IHNob3VsZCBiZSBpbnRlcnByZXRlZCBhcyBmb3JlYWNoIGxvb3BzIGluc3RlYWQgb2YgYXMKLSMgZnVuY3Rpb24gY2FsbHMuCi1Gb3JFYWNoTWFjcm9zOiBbJ2Zvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0nXQorIyBmdW5jdGlvbiBjYWxscy4gVGFrZW4gZnJvbToKKyMgICBnaXQgZ3JlcCAtaCAnXiNkZWZpbmUgW15bOnNwYWNlOl1dKmZvcl9lYWNoW15bOnNwYWNlOl1dKignIFwKKyMgICB8IHNlZCAicyxeI2RlZmluZSBcKFteWzpzcGFjZTpdXSpmb3JfZWFjaFteWzpzcGFjZTpdXSpcKSguKiQsICAtICdcMScsIiBcCisjICAgfCBzb3J0IHwgdW5pcQorRm9yRWFjaE1hY3JvczoKKyAgLSAnZm9yX2VhY2hfYWJicmV2JworICAtICdmb3JfZWFjaF9idWlsdGluJworICAtICdmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtJworICAtICdmb3JfZWFjaF91dCcKKyAgLSAnZm9yX2VhY2hfd2FudGVkX2J1aWx0aW4nCisgIC0gJ2xpc3RfZm9yX2VhY2gnCisgIC0gJ2xpc3RfZm9yX2VhY2hfZGlyJworICAtICdsaXN0X2Zvcl9lYWNoX3ByZXYnCisgIC0gJ2xpc3RfZm9yX2VhY2hfcHJldl9zYWZlJworICAtICdsaXN0X2Zvcl9lYWNoX3NhZmUnCiAKICMgVGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbnNlY3V0aXZlIGVtcHR5IGxpbmVzIHRvIGtlZXAuCiBNYXhFbXB0eUxpbmVzVG9LZWVwOiAxCmRpZmYgLS1naXQgYS8uZWRpdG9yY29uZmlnIGIvLmVkaXRvcmNvbmZpZwppbmRleCA0MmNkYzRiLi5mOWQ4MTk2IDEwMDY0NAotLS0gYS8uZWRpdG9yY29uZmlnCisrKyBiLy5lZGl0b3Jjb25maWcKQEAgLTQsNyArNCw3IEBACiAKICMgVGhlIHNldHRpbmdzIGZvciBDICgqLmMgYW5kICouaCkgZmlsZXMgYXJlIG1pcnJvcmVkIGluIC5jbGFuZy1mb3JtYXQuICBLZWVwCiAjIHRoZW0gaW4gc3luYy4KLVsqLntjLGgsc2gscGVybCxwbCxwbX1dCitbKi57YyxoLHNoLHBlcmwscGwscG0sdHh0fV0KIGluZGVudF9zdHlsZSA9IHRhYgogdGFiX3dpZHRoID0gOAogCmRpZmYgLS1naXQgYS8uZ2l0YXR0cmlidXRlcyBiLy5naXRhdHRyaWJ1dGVzCmluZGV4IDlmYTcyYWQuLmIwOGExNDEgMTAwNjQ0Ci0tLSBhLy5naXRhdHRyaWJ1dGVzCisrKyBiLy5naXRhdHRyaWJ1dGVzCkBAIC01LDYgKzUsNyBAQAogKi5wbCBlb2Y9bGYgZGlmZj1wZXJsCiAqLnBtIGVvbD1sZiBkaWZmPXBlcmwKICoucHkgZW9sPWxmIGRpZmY9cHl0aG9uCisqLmJhdCBlb2w9Y3JsZgogL0RvY3VtZW50YXRpb24vKiovKi50eHQgZW9sPWxmCiAvY29tbWFuZC1saXN0LnR4dCBlb2w9bGYKIC9HSVQtVkVSU0lPTi1HRU4gZW9sPWxmCmRpZmYgLS1naXQgYS8uZ2l0aHViL0NPTlRSSUJVVElORy5tZCBiLy5naXRodWIvQ09OVFJJQlVUSU5HLm1kCmluZGV4IDY0ZTYwNWEuLmU3YjRlMmYgMTAwNjQ0Ci0tLSBhLy5naXRodWIvQ09OVFJJQlVUSU5HLm1kCisrKyBiLy5naXRodWIvQ09OVFJJQlVUSU5HLm1kCkBAIC01LDcgKzUsNyBAQAogYSBtYWlsaW5nIGxpc3QgKGdpdEB2Z2VyLmtlcm5lbC5vcmcpIGZvciBjb2RlIHN1Ym1pc3Npb25zLCBjb2RlCiByZXZpZXdzLCBhbmQgYnVnIHJlcG9ydHMuCiAKLU5ldmVydGhlbGVzcywgeW91IGNhbiB1c2UgW3N1Ym1pdEdpdF0oaHR0cDovL3N1Ym1pdGdpdC5oZXJva3VhcHAuY29tLykgdG8KK05ldmVydGhlbGVzcywgeW91IGNhbiB1c2UgW0dpdEdpdEdhZGdldF0oaHR0cHM6Ly9naXRnaXRnYWRnZXQuZ2l0aHViLmlvLykgdG8KIGNvbnZlbmllbnRseSBzZW5kIHlvdXIgUHVsbCBSZXF1ZXN0cyBjb21taXRzIHRvIG91ciBtYWlsaW5nIGxpc3QuCiAKIFBsZWFzZSByZWFkIFsiQSBub3RlIGZyb20gdGhlIG1haW50YWluZXIiXShodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vZ2l0L2dpdC5naXQvcGxhaW4vTWFpbnROb3Rlcz9oPXRvZG8pCmRpZmYgLS1naXQgYS8uZ2l0aHViL1BVTExfUkVRVUVTVF9URU1QTEFURS5tZCBiLy5naXRodWIvUFVMTF9SRVFVRVNUX1RFTVBMQVRFLm1kCmluZGV4IGFkYmExM2UuLjk1MmM3YzMgMTAwNjQ0Ci0tLSBhLy5naXRodWIvUFVMTF9SRVFVRVNUX1RFTVBMQVRFLm1kCisrKyBiLy5naXRodWIvUFVMTF9SRVFVRVNUX1RFTVBMQVRFLm1kCkBAIC0xLDcgKzEsNyBAQAogVGhhbmtzIGZvciB0YWtpbmcgdGhlIHRpbWUgdG8gY29udHJpYnV0ZSB0byBHaXQhIFBsZWFzZSBiZSBhZHZpc2VkIHRoYXQgdGhlCiBHaXQgY29tbXVuaXR5IGRvZXMgbm90IHVzZSBnaXRodWIuY29tIGZvciB0aGVpciBjb250cmlidXRpb25zLiBJbnN0ZWFkLCB3ZSB1c2UKIGEgbWFpbGluZyBsaXN0IChnaXRAdmdlci5rZXJuZWwub3JnKSBmb3IgY29kZSBzdWJtaXNzaW9ucywgY29kZSByZXZpZXdzLCBhbmQKLWJ1ZyByZXBvcnRzLiBOZXZlcnRoZWxlc3MsIHlvdSBjYW4gdXNlIHN1Ym1pdEdpdCB0byBjb252ZW5pZW50bHkgc2VuZCB5b3VyIFB1bGwKLVJlcXVlc3RzIGNvbW1pdHMgdG8gb3VyIG1haWxpbmcgbGlzdC4KK2J1ZyByZXBvcnRzLiBOZXZlcnRoZWxlc3MsIHlvdSBjYW4gdXNlIEdpdEdpdEdhZGdldCAoaHR0cHM6Ly9naXRnaXRnYWRnZXQuZ2l0aHViLmlvLykKK3RvIGNvbnZlbmllbnRseSBzZW5kIHlvdXIgUHVsbCBSZXF1ZXN0cyBjb21taXRzIHRvIG91ciBtYWlsaW5nIGxpc3QuCiAKIFBsZWFzZSByZWFkIHRoZSAiZ3VpZGVsaW5lcyBmb3IgY29udHJpYnV0aW5nIiBsaW5rZWQgYWJvdmUhCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCAwZDc3ZWE1Li5hZWJlN2MwIDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTEsMyArMSw0IEBACisvZnV6ei1jb21taXQtZ3JhcGgKIC9mdXp6X2NvcnBvcmEKIC9mdXp6LXBhY2staGVhZGVycwogL2Z1enotcGFjay1pZHgKQEAgLTU3LDYgKzU4LDcgQEAKIC9naXQtZGlmZnRvb2wKIC9naXQtZGlmZnRvb2wtLWhlbHBlcgogL2dpdC1kZXNjcmliZQorL2dpdC1lbnYtLWhlbHBlcgogL2dpdC1mYXN0LWV4cG9ydAogL2dpdC1mYXN0LWltcG9ydAogL2dpdC1mZXRjaApAQCAtODEsNyArODMsNyBAQAogL2dpdC1pbml0LWRiCiAvZ2l0LWludGVycHJldC10cmFpbGVycwogL2dpdC1pbnN0YXdlYgotL2dpdC1sZWdhY3ktcmViYXNlCisvZ2l0LWxlZ2FjeS1zdGFzaAogL2dpdC1sb2cKIC9naXQtbHMtZmlsZXMKIC9naXQtbHMtcmVtb3RlCkBAIC0xMjEsMTAgKzEyMyw2IEBACiAvZ2l0LXJhbmdlLWRpZmYKIC9naXQtcmVhZC10cmVlCiAvZ2l0LXJlYmFzZQotL2dpdC1yZWJhc2UtLWFtCi0vZ2l0LXJlYmFzZS0tY29tbW9uCi0vZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUKLS9naXQtcmViYXNlLS1tZXJnZQogL2dpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcwogL2dpdC1yZWNlaXZlLXBhY2sKIC9naXQtcmVmbG9nCkBAIC0xMzUsNyArMTMzLDYgQEAKIC9naXQtcmVtb3RlLWZ0cHMKIC9naXQtcmVtb3RlLWZkCiAvZ2l0LXJlbW90ZS1leHQKLS9naXQtcmVtb3RlLXRlc3RnaXQKIC9naXQtcmVtb3RlLXRlc3RweQogL2dpdC1yZW1vdGUtdGVzdHN2bgogL2dpdC1yZXBhY2sKQEAgLTE0Myw2ICsxNDAsNyBAQAogL2dpdC1yZXF1ZXN0LXB1bGwKIC9naXQtcmVyZXJlCiAvZ2l0LXJlc2V0CisvZ2l0LXJlc3RvcmUKIC9naXQtcmV2LWxpc3QKIC9naXQtcmV2LXBhcnNlCiAvZ2l0LXJldmVydApAQCAtMTYwLDYgKzE1OCw3IEBACiAvZ2l0LXNob3ctYnJhbmNoCiAvZ2l0LXNob3ctaW5kZXgKIC9naXQtc2hvdy1yZWYKKy9naXQtc3BhcnNlLWNoZWNrb3V0CiAvZ2l0LXN0YWdlCiAvZ2l0LXN0YXNoCiAvZ2l0LXN0YXR1cwpAQCAtMTY3LDYgKzE2Niw3IEBACiAvZ2l0LXN1Ym1vZHVsZQogL2dpdC1zdWJtb2R1bGUtLWhlbHBlcgogL2dpdC1zdm4KKy9naXQtc3dpdGNoCiAvZ2l0LXN5bWJvbGljLXJlZgogL2dpdC10YWcKIC9naXQtdW5wYWNrLWZpbGUKQEAgLTIxNyw2ICsyMTcsNyBAQAogL3RhZ3MKIC9UQUdTCiAvY3Njb3BlKgorKi5oY2MKICoub2JqCiAqLmxpYgogKi5yZXMKQEAgLTIyNyw1ICsyMjgsMTQgQEAKICoudXNlcgogKi5pZGIKICoucGRiCi0vRGVidWcvCi0vUmVsZWFzZS8KKyouaWxrCisqLmlvYmoKKyouaXBkYgorKi5kbGwKKy52cy8KK0RlYnVnLworUmVsZWFzZS8KKy9VcGdyYWRlTG9nKi5odG0KKy9naXQuVkMuVkMub3BlbmRiCisvZ2l0LlZDLmRiCisqLmRTWU0KZGlmZiAtLWdpdCBhLy5tYWlsbWFwIGIvLm1haWxtYXAKaW5kZXggZWI3YjVmYy4uYmRlN2FiYSAxMDA2NDQKLS0tIGEvLm1haWxtYXAKKysrIGIvLm1haWxtYXAKQEAgLTE4LDYgKzE4LDcgQEAKIEFsZXhleSBTaHVta2luIDxhbGV4LmNyZXpvZmZAZ21haWwuY29tPiA8QWxleC5DcmV6b2ZmQGdtYWlsLmNvbT4KIEFuZGVycyBLYXNlb3JnIDxhbmRlcnNrQE1JVC5FRFU+IDxhbmRlcnNrQGtzcGxpY2UuY29tPgogQW5kZXJzIEthc2VvcmcgPGFuZGVyc2tATUlULkVEVT4gPGFuZGVyc2tAbWl0LmVkdT4KK0FuZHJleSBNYXpvIDxhaGlwcG9AeWFuZGV4LmNvbT4gTWF6bywgQW5kcmV5IDxhbWF6b0BjaGVja3ZpZGVvLmNvbT4KIEFuZWVzaCBLdW1hciBLLlYgPGFuZWVzaC5rdW1hckBnbWFpbC5jb20+CiBBbW9zIFdhdGVybGFuZCA8YXB3QGRlYmlhbi5vcmc+IDxhcHdAcm9zc2J5Lm1ldHIub3UuZWR1PgogQW1vcyBXYXRlcmxhbmQgPGFwd0BkZWJpYW4ub3JnPiA8YXB3QHVzLmlibS5jb20+CkBAIC0yNyw4ICsyOCwxMCBAQAogQmVub2l0IFNpZ291cmUgPHRzdW5hbmV0QGdtYWlsLmNvbT4gPHRzdW5hQGxyZGUuZXBpdGEuZnI+CiBCZXJudCBIYW5zZW4gPGJlcm50QG5vcmFuZy5jYT4gPGJlcm50QGFsdW1uaS51d2F0ZXJsb28uY2E+CiBCcmFuZG9uIENhc2V5IDxkcmFmbmVsQGdtYWlsLmNvbT4gPGNhc2V5QG5ybHNzYy5uYXZ5Lm1pbD4KK0JyYW5kb24gV2lsbGlhbXMgPGJ3aWxsaWFtcy5lbmdAZ21haWwuY29tPiA8Ym13aWxsQGdvb2dsZS5jb20+CiBicmlhbiBtLiBjYXJsc29uIDxzYW5kYWxzQGNydXN0eXRvb3RocGFzdGUubmV0PgogYnJpYW4gbS4gY2FybHNvbiA8c2FuZGFsc0BjcnVzdHl0b290aHBhc3RlLm5ldD4gPHNhbmRhbHNAY3J1c3R5dG9vdGhwYXN0ZS5hdGguY3g+CiticmlhbiBtLiBjYXJsc29uIDxzYW5kYWxzQGNydXN0eXRvb3RocGFzdGUubmV0PiA8YmsyMjA0QGdpdGh1Yi5jb20+CiBCcnlhbiBMYXJzZW4gPGJyeWFuQGxhcnNlbi5zdD4gPGJyeWFuLmxhcnNlbkBnbWFpbC5jb20+CiBCcnlhbiBMYXJzZW4gPGJyeWFuQGxhcnNlbi5zdD4gPGJyeWFubGFyc2VuQHlhaG9vLmNvbT4KIENoZW5nIFJlbnF1YW4gPGNycXVhbkBnbWFpbC5jb20+CkBAIC0zOSw2ICs0Miw4IEBACiBDaHJpc3RpYW4gQ291ZGVyIDxjaHJpc2Nvb2xAdHV4ZmFtaWx5Lm9yZz4gPGNocmlzdGlhbi5jb3VkZXJAZ21haWwuY29tPgogQ2hyaXN0aWFuIFN0aW1taW5nIDxzdGltbWluZ0B0dWhoLmRlPiA8Y2hzQGNraXN0ZS5nb2V0aGVhbGxlZT4KIENocmlzdG9waGVyIETDrWF6IFJpdmVyb3MgPGNocmlzYWRyQGdlbnRvby5vcmc+IENocmlzdG9waGVyIERpYXogUml2ZXJvcworQ2xlbWVucyBCdWNoYWNoZXIgPGRyaXp6ZEBnbXgubmV0PiA8ZHJpenpkQGFvbi5hdD4KK0NsZW1lbnMgQnVjaGFjaGVyIDxkcml6emRAZ214Lm5ldD4gPGNsZW1lbnMuYnVjaGFjaGVyQGludGVsLmNvbT4KIENzYWJhIEhlbmsgPGNzYWJhQGdsdXN0ZXIuY29tPiA8Y3NhYmFAbG93bGlmZS5odT4KIERhbiBKb2huc29uIDxjb21wdXRlcmRydWlkQGdtYWlsLmNvbT4KIERhbmEgTC4gSG93IDxkYW5haG93QGdtYWlsLmNvbT4gPGhvd0BkZWF0aHZhbGxleS5jc3dpdGNoLmNvbT4KQEAgLTU1LDcgKzYwLDkgQEAKIERhdmlkIFR1cm5lciA8bm92YWxpc0Bub3ZhbGlzLm9yZz4gPGR0dXJuZXJAdHdvcGVuc291cmNlLmNvbT4KIERhdmlkIFR1cm5lciA8bm92YWxpc0Bub3ZhbGlzLm9yZz4gPGR0dXJuZXJAdHdvc2lnbWEuY29tPgogRGVycmljayBTdG9sZWUgPGRzdG9sZWVAbWljcm9zb2Z0LmNvbT4gPHN0b2xlZUBnbWFpbC5jb20+CitEZXJyaWNrIFN0b2xlZSA8ZHN0b2xlZUBtaWNyb3NvZnQuY29tPiBEZXJyaWNrIFN0b2xlZSB2aWEgR2l0R2l0R2FkZ2V0IDxnaXRnaXRnYWRnZXRAZ21haWwuY29tPgogRGVza2luIE1pbGxlciA8ZGVza2lubUB1bWljaC5lZHU+CivEkG/DoG4gVHLhuqduIEPDtG5nIERhbmggPGNvbmdkYW5ocXhAZ21haWwuY29tPiBEb2FuIFRyYW4gQ29uZyBEYW5oCiBEaXJrIFPDvHNzZXJvdHQgPG5ld3NsZXR0ZXJAZGlyay5teTEuY2M+CiBFcmljIEJsYWtlIDxlYmxha2VAcmVkaGF0LmNvbT4gPGViYjlAYnl1Lm5ldD4KIEVyaWMgSGFuY2hyb3cgPGVyaWMuaGFuY2hyb3dAZ21haWwuY29tPiA8b2ZmYnkxQGJsYXJnLm5ldD4KQEAgLTEwNCw2ICsxMTEsNyBAQAogSm9hY2hpbSBCZXJkYWwgSGFnYSA8Y2poYWdhQGZ5cy51aW8ubm8+CiBKb2FjaGltIEphYmxvbiA8am9hY2hpbS5qYWJsb25AcGVvcGxlLWRvYy5jb20+IDxld2pvYWNoaW1AZ21haWwuY29tPgogSm9oYW5uZXMgU2NoaW5kZWxpbiA8Sm9oYW5uZXMuU2NoaW5kZWxpbkBnbXguZGU+IDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KK0pvaGFubmVzIFNjaGluZGVsaW4gPEpvaGFubmVzLlNjaGluZGVsaW5AZ214LmRlPiBKb2hhbm5lcyBTY2hpbmRlbGluIHZpYSBHaXRHaXRHYWRnZXQgPGdpdGdpdGdhZGdldEBnbWFpbC5jb20+CiBKb2hhbm5lcyBTaXh0IDxqNnRAa2RiZy5vcmc+IDxKLlNpeHRAZXVkYXB0aWNzLmNvbT4KIEpvaGFubmVzIFNpeHQgPGo2dEBrZGJnLm9yZz4gPGouc2l4dEB2aXNjb3ZlcnkubmV0PgogSm9oYW5uZXMgU2l4dCA8ajZ0QGtkYmcub3JnPiA8am9oYW5uZXMuc2l4dEB0ZWxlY29tLmF0PgpAQCAtMjA3LDYgKzIxNSw3IEBACiBQZXRyIEJhdWRpcyA8cGFza3lAdWN3LmN6PiA8eHBhc2t5QG1hY2hpbmU+CiBQaGlsIEhvcmQgPGhvcmRwQGNpc2NvLmNvbT4gPHBoaWwuaG9yZEBnbWFpbC5jb20+CiBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcEBmb29saXAub3JnPiA8cGhpbGlwLmphZ2Vuc3RlZHRAZ21haWwuY29tPgorUGhpbGlwIE9ha2xleSA8cGhpbGlwb2FrbGV5QGllZS5lbWFpbD4gPHBoaWxpcG9ha2xleUBpZWUub3JnPiAjIHNlY29uZGFyeSA8cGhpbGlwb2FrbGV5QGR1bmVsbS5vcmcudWs+CiBQaGlsaXBwIEEuIEhhcnRtYW5uIDxwYWhAcW8uY3g+IDxwaEBzb3JnaC5kZT4KIFBoaWxpcHBlIEJydWhhdCA8Ym9va0BjcGFuLm9yZz4KIFJhbGYgVGhpZWxvdyA8cmFsZi50aGllbG93QGdtYWlsLmNvbT4gPHJhbGYudGhpZWxvd0Bnb29nbGVtYWlsLmNvbT4KQEAgLTI4MSw2ICsyOTAsNyBAQAogWU9ORVRBTkkgVG9tb2thenUgPHkwbjN0NG4xQGdtYWlsLmNvbT4gPHFod3QrZ2l0QGxlcy5hdGguY3g+CiBZT05FVEFOSSBUb21va2F6dSA8eTBuM3Q0bjFAZ21haWwuY29tPiA8eTBuZXRhbjFAZHJhZ29uZmx5YnNkLm9yZz4KIFlPU0hJRlVKSSBIaWRlYWtpIDx5b3NoZnVqaUBsaW51eC1pcHY2Lm9yZz4KK1lpLUp5dW4gUGFuIDxwYW45MzQxMkBnbWFpbC5jb20+CiAjIHRoZSB0d28gYW5vbnltb3VzIGNvbnRyaWJ1dG9ycyBhcmUgZGlmZmVyZW50IHBlcnNvbnM6CiBhbm9ueW1vdXMgPGxpbnV4QGhvcml6b24uY29tPgogYW5vbnltb3VzIDxsaW51eEBob3Jpem9uLm5ldD4KZGlmZiAtLWdpdCBhLy50cmF2aXMueW1sIGIvLnRyYXZpcy55bWwKaW5kZXggMDNjOGU0Yy4uZmM1NzMwYiAxMDA2NDQKLS0tIGEvLnRyYXZpcy55bWwKKysrIGIvLnRyYXZpcy55bWwKQEAgLTgsNiArOCw4IEBACiAgIC0gbGludXgKICAgLSBvc3gKIAorb3N4X2ltYWdlOiB4Y29kZTEwLjEKKwogY29tcGlsZXI6CiAgIC0gY2xhbmcKICAgLSBnY2MKQEAgLTE5LDE2ICsyMSwxMCBAQAogICAgICAgY29tcGlsZXI6CiAgICAgICBhZGRvbnM6CiAgICAgICBiZWZvcmVfaW5zdGFsbDoKLSAgICAtIGVudjogam9ibmFtZT1XaW5kb3dzCisgICAgLSBlbnY6IGpvYm5hbWU9bGludXgtZ2NjLTQuOAogICAgICAgb3M6IGxpbnV4CisgICAgICBkaXN0OiB0cnVzdHkKICAgICAgIGNvbXBpbGVyOgotICAgICAgYWRkb25zOgotICAgICAgYmVmb3JlX2luc3RhbGw6Ci0gICAgICBzY3JpcHQ6Ci0gICAgICAgIC0gPgotICAgICAgICAgIHRlc3QgIiRUUkFWSVNfUkVQT19TTFVHIiAhPSAiZ2l0L2dpdCIgfHwKLSAgICAgICAgICBjaS9ydW4td2luZG93cy1idWlsZC5zaCAkVFJBVklTX0JSQU5DSCAkKGdpdCByZXYtcGFyc2UgSEVBRCkKLSAgICAgIGFmdGVyX2ZhaWx1cmU6CiAgICAgLSBlbnY6IGpvYm5hbWU9TGludXgzMgogICAgICAgb3M6IGxpbnV4CiAgICAgICBjb21waWxlcjoKZGlmZiAtLWdpdCBhLy50c2FuLXN1cHByZXNzaW9ucyBiLy50c2FuLXN1cHByZXNzaW9ucwppbmRleCA4Yzg1MDE0Li41YmE4NmQ2IDEwMDY0NAotLS0gYS8udHNhbi1zdXBwcmVzc2lvbnMKKysrIGIvLnRzYW4tc3VwcHJlc3Npb25zCkBAIC04LDMgKzgsOSBAQAogIyBpbiBwcmFjdGljZSBpdCAoaG9wZWZ1bGx5ISkgZG9lc24ndCBtYXR0ZXIuCiByYWNlOl53YW50X2NvbG9yJAogcmFjZTpedHJhbnNmZXJfZGVidWckCisKKyMgQSBib29sZWFuIHZhbHVlLCB3aGljaCB0ZWxscyB3aGV0aGVyIHRoZSByZXBsYWNlX21hcCBoYXMgYmVlbiBpbml0aWFsaXplZCBvcgorIyBub3QsIGlzIHJlYWQgcmFjaWx5IHdpdGggYW4gdXBkYXRlLiBBcyB0aGlzIHZhcmlhYmxlIGlzIHdyaXR0ZW4gdG8gb25seSBvbmNlLAorIyBhbmQgaXQncyBPSyBpZiB0aGUgdmFsdWUgY2hhbmdlIHJpZ2h0IGFmdGVyIHJlYWRpbmcgaXQsIHRoaXMgc2hvdWxkbid0IGJlIGEKKyMgcHJvYmxlbS4KK3JhY2U6Xmxvb2t1cF9yZXBsYWNlX29iamVjdCQKZGlmZiAtLWdpdCBhL0NPREVfT0ZfQ09ORFVDVC5tZCBiL0NPREVfT0ZfQ09ORFVDVC5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzQ2NDVkCi0tLSAvZGV2L251bGwKKysrIGIvQ09ERV9PRl9DT05EVUNULm1kCkBAIC0wLDAgKzEsOTMgQEAKKyMgR2l0IENvZGUgb2YgQ29uZHVjdAorCitUaGlzIGNvZGUgb2YgY29uZHVjdCBvdXRsaW5lcyBvdXIgZXhwZWN0YXRpb25zIGZvciBwYXJ0aWNpcGFudHMgd2l0aGluCit0aGUgR2l0IGNvbW11bml0eSwgYXMgd2VsbCBhcyBzdGVwcyBmb3IgcmVwb3J0aW5nIHVuYWNjZXB0YWJsZSBiZWhhdmlvci4KK1dlIGFyZSBjb21taXR0ZWQgdG8gcHJvdmlkaW5nIGEgd2VsY29taW5nIGFuZCBpbnNwaXJpbmcgY29tbXVuaXR5IGZvcgorYWxsIGFuZCBleHBlY3Qgb3VyIGNvZGUgb2YgY29uZHVjdCB0byBiZSBob25vcmVkLiBBbnlvbmUgd2hvIHZpb2xhdGVzCit0aGlzIGNvZGUgb2YgY29uZHVjdCBtYXkgYmUgYmFubmVkIGZyb20gdGhlIGNvbW11bml0eS4KKworIyMgT3VyIFBsZWRnZQorCitJbiB0aGUgaW50ZXJlc3Qgb2YgZm9zdGVyaW5nIGFuIG9wZW4gYW5kIHdlbGNvbWluZyBlbnZpcm9ubWVudCwgd2UgYXMKK2NvbnRyaWJ1dG9ycyBhbmQgbWFpbnRhaW5lcnMgcGxlZGdlIHRvIG1ha2UgcGFydGljaXBhdGlvbiBpbiBvdXIgcHJvamVjdCBhbmQKK291ciBjb21tdW5pdHkgYSBoYXJhc3NtZW50LWZyZWUgZXhwZXJpZW5jZSBmb3IgZXZlcnlvbmUsIHJlZ2FyZGxlc3Mgb2YgYWdlLAorYm9keSBzaXplLCBkaXNhYmlsaXR5LCBldGhuaWNpdHksIHNleCBjaGFyYWN0ZXJpc3RpY3MsIGdlbmRlciBpZGVudGl0eSBhbmQKK2V4cHJlc3Npb24sIGxldmVsIG9mIGV4cGVyaWVuY2UsIGVkdWNhdGlvbiwgc29jaW8tZWNvbm9taWMgc3RhdHVzLAorbmF0aW9uYWxpdHksIHBlcnNvbmFsIGFwcGVhcmFuY2UsIHJhY2UsIHJlbGlnaW9uLCBvciBzZXh1YWwgaWRlbnRpdHkgYW5kCitvcmllbnRhdGlvbi4KKworIyMgT3VyIFN0YW5kYXJkcworCitFeGFtcGxlcyBvZiBiZWhhdmlvciB0aGF0IGNvbnRyaWJ1dGVzIHRvIGNyZWF0aW5nIGEgcG9zaXRpdmUgZW52aXJvbm1lbnQKK2luY2x1ZGU6CisKKyogVXNpbmcgd2VsY29taW5nIGFuZCBpbmNsdXNpdmUgbGFuZ3VhZ2UKKyogQmVpbmcgcmVzcGVjdGZ1bCBvZiBkaWZmZXJpbmcgdmlld3BvaW50cyBhbmQgZXhwZXJpZW5jZXMKKyogR3JhY2VmdWxseSBhY2NlcHRpbmcgY29uc3RydWN0aXZlIGNyaXRpY2lzbQorKiBGb2N1c2luZyBvbiB3aGF0IGlzIGJlc3QgZm9yIHRoZSBjb21tdW5pdHkKKyogU2hvd2luZyBlbXBhdGh5IHRvd2FyZHMgb3RoZXIgY29tbXVuaXR5IG1lbWJlcnMKKworRXhhbXBsZXMgb2YgdW5hY2NlcHRhYmxlIGJlaGF2aW9yIGJ5IHBhcnRpY2lwYW50cyBpbmNsdWRlOgorCisqIFRoZSB1c2Ugb2Ygc2V4dWFsaXplZCBsYW5ndWFnZSBvciBpbWFnZXJ5IGFuZCB1bndlbGNvbWUgc2V4dWFsIGF0dGVudGlvbiBvcgorICBhZHZhbmNlcworKiBUcm9sbGluZywgaW5zdWx0aW5nL2Rlcm9nYXRvcnkgY29tbWVudHMsIGFuZCBwZXJzb25hbCBvciBwb2xpdGljYWwgYXR0YWNrcworKiBQdWJsaWMgb3IgcHJpdmF0ZSBoYXJhc3NtZW50CisqIFB1Ymxpc2hpbmcgb3RoZXJzJyBwcml2YXRlIGluZm9ybWF0aW9uLCBzdWNoIGFzIGEgcGh5c2ljYWwgb3IgZWxlY3Ryb25pYworICBhZGRyZXNzLCB3aXRob3V0IGV4cGxpY2l0IHBlcm1pc3Npb24KKyogT3RoZXIgY29uZHVjdCB3aGljaCBjb3VsZCByZWFzb25hYmx5IGJlIGNvbnNpZGVyZWQgaW5hcHByb3ByaWF0ZSBpbiBhCisgIHByb2Zlc3Npb25hbCBzZXR0aW5nCisKKyMjIE91ciBSZXNwb25zaWJpbGl0aWVzCisKK1Byb2plY3QgbWFpbnRhaW5lcnMgYXJlIHJlc3BvbnNpYmxlIGZvciBjbGFyaWZ5aW5nIHRoZSBzdGFuZGFyZHMgb2YgYWNjZXB0YWJsZQorYmVoYXZpb3IgYW5kIGFyZSBleHBlY3RlZCB0byB0YWtlIGFwcHJvcHJpYXRlIGFuZCBmYWlyIGNvcnJlY3RpdmUgYWN0aW9uIGluCityZXNwb25zZSB0byBhbnkgaW5zdGFuY2VzIG9mIHVuYWNjZXB0YWJsZSBiZWhhdmlvci4KKworUHJvamVjdCBtYWludGFpbmVycyBoYXZlIHRoZSByaWdodCBhbmQgcmVzcG9uc2liaWxpdHkgdG8gcmVtb3ZlLCBlZGl0LCBvcgorcmVqZWN0IGNvbW1lbnRzLCBjb21taXRzLCBjb2RlLCB3aWtpIGVkaXRzLCBpc3N1ZXMsIGFuZCBvdGhlciBjb250cmlidXRpb25zCit0aGF0IGFyZSBub3QgYWxpZ25lZCB0byB0aGlzIENvZGUgb2YgQ29uZHVjdCwgb3IgdG8gYmFuIHRlbXBvcmFyaWx5IG9yCitwZXJtYW5lbnRseSBhbnkgY29udHJpYnV0b3IgZm9yIG90aGVyIGJlaGF2aW9ycyB0aGF0IHRoZXkgZGVlbSBpbmFwcHJvcHJpYXRlLAordGhyZWF0ZW5pbmcsIG9mZmVuc2l2ZSwgb3IgaGFybWZ1bC4KKworIyMgU2NvcGUKKworVGhpcyBDb2RlIG9mIENvbmR1Y3QgYXBwbGllcyB3aXRoaW4gYWxsIHByb2plY3Qgc3BhY2VzLCBhbmQgaXQgYWxzbyBhcHBsaWVzCit3aGVuIGFuIGluZGl2aWR1YWwgaXMgcmVwcmVzZW50aW5nIHRoZSBwcm9qZWN0IG9yIGl0cyBjb21tdW5pdHkgaW4gcHVibGljCitzcGFjZXMuIEV4YW1wbGVzIG9mIHJlcHJlc2VudGluZyBhIHByb2plY3Qgb3IgY29tbXVuaXR5IGluY2x1ZGUgdXNpbmcgYW4KK29mZmljaWFsIHByb2plY3QgZS1tYWlsIGFkZHJlc3MsIHBvc3RpbmcgdmlhIGFuIG9mZmljaWFsIHNvY2lhbCBtZWRpYSBhY2NvdW50LAorb3IgYWN0aW5nIGFzIGFuIGFwcG9pbnRlZCByZXByZXNlbnRhdGl2ZSBhdCBhbiBvbmxpbmUgb3Igb2ZmbGluZSBldmVudC4KK1JlcHJlc2VudGF0aW9uIG9mIGEgcHJvamVjdCBtYXkgYmUgZnVydGhlciBkZWZpbmVkIGFuZCBjbGFyaWZpZWQgYnkgcHJvamVjdAorbWFpbnRhaW5lcnMuCisKKyMjIEVuZm9yY2VtZW50CisKK0luc3RhbmNlcyBvZiBhYnVzaXZlLCBoYXJhc3NpbmcsIG9yIG90aGVyd2lzZSB1bmFjY2VwdGFibGUgYmVoYXZpb3IgbWF5IGJlCityZXBvcnRlZCBieSBjb250YWN0aW5nIHRoZSBwcm9qZWN0IHRlYW0gYXQgZ2l0QHNmY29uc2VydmFuY3kub3JnLiBBbGwKK2NvbXBsYWludHMgd2lsbCBiZSByZXZpZXdlZCBhbmQgaW52ZXN0aWdhdGVkIGFuZCB3aWxsIHJlc3VsdCBpbiBhIHJlc3BvbnNlCit0aGF0IGlzIGRlZW1lZCBuZWNlc3NhcnkgYW5kIGFwcHJvcHJpYXRlIHRvIHRoZSBjaXJjdW1zdGFuY2VzLiBUaGUgcHJvamVjdAordGVhbSBpcyBvYmxpZ2F0ZWQgdG8gbWFpbnRhaW4gY29uZmlkZW50aWFsaXR5IHdpdGggcmVnYXJkIHRvIHRoZSByZXBvcnRlciBvZgorYW4gaW5jaWRlbnQuIEZ1cnRoZXIgZGV0YWlscyBvZiBzcGVjaWZpYyBlbmZvcmNlbWVudCBwb2xpY2llcyBtYXkgYmUgcG9zdGVkCitzZXBhcmF0ZWx5LgorCitQcm9qZWN0IG1haW50YWluZXJzIHdobyBkbyBub3QgZm9sbG93IG9yIGVuZm9yY2UgdGhlIENvZGUgb2YgQ29uZHVjdCBpbiBnb29kCitmYWl0aCBtYXkgZmFjZSB0ZW1wb3Jhcnkgb3IgcGVybWFuZW50IHJlcGVyY3Vzc2lvbnMgYXMgZGV0ZXJtaW5lZCBieSBvdGhlcgorbWVtYmVycyBvZiB0aGUgcHJvamVjdCdzIGxlYWRlcnNoaXAuCisKK1RoZSBwcm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBjYW4gYmUgY29udGFjdGVkIGJ5IGVtYWlsIGFzIGEgd2hvbGUgYXQKK2dpdEBzZmNvbnNlcnZhbmN5Lm9yZywgb3IgaW5kaXZpZHVhbGx5OgorCisgIC0gw4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24gPGF2YXJhYkBnbWFpbC5jb20+CisgIC0gQ2hyaXN0aWFuIENvdWRlciA8Y2hyaXN0aWFuLmNvdWRlckBnbWFpbC5jb20+CisgIC0gSmVmZiBLaW5nIDxwZWZmQHBlZmYubmV0PgorICAtIEp1bmlvIEMgSGFtYW5vIDxnaXRzdGVyQHBvYm94LmNvbT4KKworIyMgQXR0cmlidXRpb24KKworVGhpcyBDb2RlIG9mIENvbmR1Y3QgaXMgYWRhcHRlZCBmcm9tIHRoZSBbQ29udHJpYnV0b3IgQ292ZW5hbnRdW2hvbWVwYWdlXSwKK3ZlcnNpb24gMS40LCBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuY29udHJpYnV0b3ItY292ZW5hbnQub3JnL3ZlcnNpb24vMS80L2NvZGUtb2YtY29uZHVjdC5odG1sCisKK1tob21lcGFnZV06IGh0dHBzOi8vd3d3LmNvbnRyaWJ1dG9yLWNvdmVuYW50Lm9yZworCitGb3IgYW5zd2VycyB0byBjb21tb24gcXVlc3Rpb25zIGFib3V0IHRoaXMgY29kZSBvZiBjb25kdWN0LCBzZWUKK2h0dHBzOi8vd3d3LmNvbnRyaWJ1dG9yLWNvdmVuYW50Lm9yZy9mYXEKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vLmdpdGlnbm9yZSBiL0RvY3VtZW50YXRpb24vLmdpdGlnbm9yZQppbmRleCAzZWY1NGUwLi45MDIyZDQ4IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uLy5naXRpZ25vcmUKKysrIGIvRG9jdW1lbnRhdGlvbi8uZ2l0aWdub3JlCkBAIC0xMywzICsxMyw1IEBACiBtYW5wYWdlLWJhc2UtdXJsLnhzbAogU3VibWl0dGluZ1BhdGNoZXMudHh0CiB0bXAtZG9jLWRpZmYvCitHSVQtQVNDSUlET0NGTEFHUworL0dJVC1FWENMVURFRC1QUk9HUkFNUwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9Db2RpbmdHdWlkZWxpbmVzIGIvRG9jdW1lbnRhdGlvbi9Db2RpbmdHdWlkZWxpbmVzCmluZGV4IDg1Nzk1MzAuLmVkNGU0NDMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vQ29kaW5nR3VpZGVsaW5lcworKysgYi9Eb2N1bWVudGF0aW9uL0NvZGluZ0d1aWRlbGluZXMKQEAgLTc1LDcgKzc1LDcgQEAKIAogIC0gSWYgeW91IHdhbnQgdG8gZmluZCBvdXQgaWYgYSBjb21tYW5kIGlzIGF2YWlsYWJsZSBvbiB0aGUgdXNlcidzCiAgICAkUEFUSCwgeW91IHNob3VsZCB1c2UgJ3R5cGUgPGNvbW1hbmQ+JywgaW5zdGVhZCBvZiAnd2hpY2ggPGNvbW1hbmQ+Jy4KLSAgIFRoZSBvdXRwdXQgb2YgJ3doaWNoJyBpcyBub3QgbWFjaGluZSBwYXJzZWFibGUgYW5kIGl0cyBleGl0IGNvZGUKKyAgIFRoZSBvdXRwdXQgb2YgJ3doaWNoJyBpcyBub3QgbWFjaGluZSBwYXJzYWJsZSBhbmQgaXRzIGV4aXQgY29kZQogICAgaXMgbm90IHJlbGlhYmxlIGFjcm9zcyBwbGF0Zm9ybXMuCiAKICAtIFdlIHVzZSBQT1NJWCBjb21wbGlhbnQgcGFyYW1ldGVyIHN1YnN0aXR1dGlvbnMgYW5kIGF2b2lkIGJhc2hpc21zOwpAQCAtMTk1LDEwICsxOTUsMzAgQEAKICAgIGJ5IGUuZy4gImVjaG8gREVWRUxPUEVSPTEgPj5jb25maWcubWFrIi4KIAogIC0gV2UgdHJ5IHRvIHN1cHBvcnQgYSB3aWRlIHJhbmdlIG9mIEMgY29tcGlsZXJzIHRvIGNvbXBpbGUgR2l0IHdpdGgsCi0gICBpbmNsdWRpbmcgb2xkIG9uZXMuIFRoYXQgbWVhbnMgdGhhdCB5b3Ugc2hvdWxkIG5vdCB1c2UgQzk5Ci0gICBpbml0aWFsaXplcnMsIGV2ZW4gaWYgYSBsb3Qgb2YgY29tcGlsZXJzIGdyb2sgaXQuCisgICBpbmNsdWRpbmcgb2xkIG9uZXMuICBZb3Ugc2hvdWxkIG5vdCB1c2UgZmVhdHVyZXMgZnJvbSBuZXdlciBDCisgICBzdGFuZGFyZCwgZXZlbiBpZiB5b3VyIGNvbXBpbGVyIGdyb2tzIHRoZW0uCiAKLSAtIFZhcmlhYmxlcyBoYXZlIHRvIGJlIGRlY2xhcmVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrLgorICAgVGhlcmUgYXJlIGEgZmV3IGV4Y2VwdGlvbnMgdG8gdGhpcyBndWlkZWxpbmU6CisKKyAgIC4gc2luY2UgZWFybHkgMjAxMiB3aXRoIGUxMzI3MDIzZWEsIHdlIGhhdmUgYmVlbiB1c2luZyBhbiBlbnVtCisgICAgIGRlZmluaXRpb24gd2hvc2UgbGFzdCBlbGVtZW50IGlzIGZvbGxvd2VkIGJ5IGEgY29tbWEuICBUaGlzLCBsaWtlCisgICAgIGFuIGFycmF5IGluaXRpYWxpemVyIHRoYXQgZW5kcyB3aXRoIGEgdHJhaWxpbmcgY29tbWEsIGNhbiBiZSB1c2VkCisgICAgIHRvIHJlZHVjZSB0aGUgcGF0Y2ggbm9pc2Ugd2hlbiBhZGRpbmcgYSBuZXcgaWRlbnRpZmllciBhdCB0aGUgZW5kLgorCisgICAuIHNpbmNlIG1pZCAyMDE3IHdpdGggY2JjMGY4MWQsIHdlIGhhdmUgYmVlbiB1c2luZyBkZXNpZ25hdGVkCisgICAgIGluaXRpYWxpemVycyBmb3Igc3RydWN0IChlLmcuICJzdHJ1Y3QgdCB2ID0geyAudmFsID0gJ2EnIH07IikuCisKKyAgIC4gc2luY2UgbWlkIDIwMTcgd2l0aCA1MTJmNDFjZiwgd2UgaGF2ZSBiZWVuIHVzaW5nIGRlc2lnbmF0ZWQKKyAgICAgaW5pdGlhbGl6ZXJzIGZvciBhcnJheSAoZS5nLiAiaW50IGFycmF5WzEwXSA9IHsgWzVdID0gMiB9IikuCisKKyAgIFRoZXNlIHVzZWQgdG8gYmUgZm9yYmlkZGVuLCBidXQgd2UgaGF2ZSBub3QgaGVhcmQgYW55IGJyZWFrYWdlCisgICByZXBvcnQsIGFuZCB0aGV5IGFyZSBhc3N1bWVkIHRvIGJlIHNhZmUuCisKKyAtIFZhcmlhYmxlcyBoYXZlIHRvIGJlIGRlY2xhcmVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrLCBiZWZvcmUKKyAgIHRoZSBmaXJzdCBzdGF0ZW1lbnQgKGkuZS4gLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQpLgorCisgLSBEZWNsYXJpbmcgYSB2YXJpYWJsZSBpbiB0aGUgZm9yIGxvb3AgImZvciAoaW50IGkgPSAwOyBpIDwgMTA7IGkrKykiCisgICBpcyBzdGlsbCBub3QgYWxsb3dlZCBpbiB0aGlzIGNvZGViYXNlLgogCiAgLSBOVUxMIHBvaW50ZXJzIHNoYWxsIGJlIHdyaXR0ZW4gYXMgTlVMTCwgbm90IGFzIDAuCiAKQEAgLTQxMiw2ICs0MzIsMTIgQEAKICAgIG11c3QgYmUgZGVjbGFyZWQgd2l0aCAiZXh0ZXJuIiBpbiBoZWFkZXIgZmlsZXMuIEhvd2V2ZXIsIGZ1bmN0aW9uCiAgICBkZWNsYXJhdGlvbnMgc2hvdWxkIG5vdCB1c2UgImV4dGVybiIsIGFzIHRoYXQgaXMgYWxyZWFkeSB0aGUgZGVmYXVsdC4KIAorIC0gWW91IGNhbiBsYXVuY2ggZ2RiIGFyb3VuZCB5b3VyIHByb2dyYW0gdXNpbmcgdGhlIHNob3J0aGFuZCBHSVRfREVCVUdHRVIuCisgICBSdW4gYEdJVF9ERUJVR0dFUj0xIC4vYmluLXdyYXBwZXJzL2dpdCBmb29gIHRvIHNpbXBseSB1c2UgZ2RiIGFzIGlzLCBvcgorICAgcnVuIGBHSVRfREVCVUdHRVI9IjxkZWJ1Z2dlcj4gPGRlYnVnZ2VyLWFyZ3M+IiAuL2Jpbi13cmFwcGVycy9naXQgZm9vYCB0bworICAgdXNlIHlvdXIgb3duIGRlYnVnZ2VyIGFuZCBhcmd1bWVudHMuIEV4YW1wbGU6IGBHSVRfREVCVUdHRVI9ImRkZCAtLWdkYiIKKyAgIC4vYmluLXdyYXBwZXJzL2dpdCBsb2dgIChTZWUgYHdyYXAtZm9yLWJpbi5zaGAuKQorCiBGb3IgUGVybCBwcm9ncmFtczoKIAogIC0gTW9zdCBvZiB0aGUgQyBndWlkZWxpbmVzIGFib3ZlIGFwcGx5LgpAQCAtNTgwLDExICs2MDYsMTQgQEAKICBvciBjb21tYW5kczoKIAogIExpdGVyYWwgZXhhbXBsZXMgKGUuZy4gdXNlIG9mIGNvbW1hbmQtbGluZSBvcHRpb25zLCBjb21tYW5kIG5hbWVzLAotIGJyYW5jaCBuYW1lcywgY29uZmlndXJhdGlvbiBhbmQgZW52aXJvbm1lbnQgdmFyaWFibGVzKSBtdXN0IGJlCi0gdHlwZXNldCBpbiBtb25vc3BhY2UgKGkuZS4gd3JhcHBlZCB3aXRoIGJhY2t0aWNrcyk6CisgYnJhbmNoIG5hbWVzLCBVUkxzLCBwYXRobmFtZXMgKGZpbGVzIGFuZCBkaXJlY3RvcmllcyksIGNvbmZpZ3VyYXRpb24gYW5kCisgZW52aXJvbm1lbnQgdmFyaWFibGVzKSBtdXN0IGJlIHR5cGVzZXQgaW4gbW9ub3NwYWNlIChpLmUuIHdyYXBwZWQgd2l0aAorIGJhY2t0aWNrcyk6CiAgICBgLS1wcmV0dHk9b25lbGluZWAKICAgIGBnaXQgcmV2LWxpc3RgCiAgICBgcmVtb3RlLnB1c2hEZWZhdWx0YAorICAgYGh0dHA6Ly9naXQuZXhhbXBsZS5jb21gCisgICBgLmdpdC9jb25maWdgCiAgICBgR0lUX0RJUmAKICAgIGBIRUFEYAogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL01ha2VmaWxlIGIvRG9jdW1lbnRhdGlvbi9NYWtlZmlsZQppbmRleCBkNWQ5MzZlLi44ZmU4MjljIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL01ha2VmaWxlCisrKyBiL0RvY3VtZW50YXRpb24vTWFrZWZpbGUKQEAgLTcsMTIgKzcsMTQgQEAKIFNQX0FSVElDTEVTID0KIE9CU09MRVRFX0hUTUwgPQogCistaW5jbHVkZSBHSVQtRVhDTFVERUQtUFJPR1JBTVMKKwogTUFOMV9UWFQgKz0gJChmaWx0ZXItb3V0IFwKKwkJJChwYXRzdWJzdCAlLCUudHh0LCQoRVhDTFVERURfUFJPR1JBTVMpKSBcCiAJCSQoYWRkc3VmZml4IC50eHQsICQoQVJUSUNMRVMpICQoU1BfQVJUSUNMRVMpKSwgXAogCQkkKHdpbGRjYXJkIGdpdC0qLnR4dCkpCiBNQU4xX1RYVCArPSBnaXQudHh0CiBNQU4xX1RYVCArPSBnaXRrLnR4dAotTUFOMV9UWFQgKz0gZ2l0cmVtb3RlLWhlbHBlcnMudHh0CiBNQU4xX1RYVCArPSBnaXR3ZWIudHh0CiAKIE1BTjVfVFhUICs9IGdpdGF0dHJpYnV0ZXMudHh0CkBAIC0zMCwyMCArMzIsMjYgQEAKIE1BTjdfVFhUICs9IGdpdGV2ZXJ5ZGF5LnR4dAogTUFON19UWFQgKz0gZ2l0Z2xvc3NhcnkudHh0CiBNQU43X1RYVCArPSBnaXRuYW1lc3BhY2VzLnR4dAorTUFON19UWFQgKz0gZ2l0cmVtb3RlLWhlbHBlcnMudHh0CiBNQU43X1RYVCArPSBnaXRyZXZpc2lvbnMudHh0CiBNQU43X1RYVCArPSBnaXRzdWJtb2R1bGVzLnR4dAogTUFON19UWFQgKz0gZ2l0dHV0b3JpYWwtMi50eHQKIE1BTjdfVFhUICs9IGdpdHR1dG9yaWFsLnR4dAogTUFON19UWFQgKz0gZ2l0d29ya2Zsb3dzLnR4dAogCitpZmRlZiBNQU5fRklMVEVSCitNQU5fVFhUID0gJChmaWx0ZXIgJChNQU5fRklMVEVSKSwkKE1BTjFfVFhUKSAkKE1BTjVfVFhUKSAkKE1BTjdfVFhUKSkKK2Vsc2UKIE1BTl9UWFQgPSAkKE1BTjFfVFhUKSAkKE1BTjVfVFhUKSAkKE1BTjdfVFhUKQorTUFOX0ZJTFRFUiA9ICQoTUFOX1RYVCkKK2VuZGlmCisKIE1BTl9YTUwgPSAkKHBhdHN1YnN0ICUudHh0LCUueG1sLCQoTUFOX1RYVCkpCiBNQU5fSFRNTCA9ICQocGF0c3Vic3QgJS50eHQsJS5odG1sLCQoTUFOX1RYVCkpCiBHSVRfTUFOX1JFRiA9IG1hc3RlcgogCiBPQlNPTEVURV9IVE1MICs9IGV2ZXJ5ZGF5Lmh0bWwKIE9CU09MRVRFX0hUTUwgKz0gZ2l0LXJlbW90ZS1oZWxwZXJzLmh0bWwKLURPQ19IVE1MID0gJChNQU5fSFRNTCkgJChPQlNPTEVURV9IVE1MKQogCiBBUlRJQ0xFUyArPSBob3d0by1pbmRleAogQVJUSUNMRVMgKz0gZ2l0LXRvb2xzCkBAIC02OCw2ICs3Niw4IEBACiBBUElfRE9DUyA9ICQocGF0c3Vic3QgJS50eHQsJSwkKGZpbHRlci1vdXQgdGVjaG5pY2FsL2FwaS1pbmRleC1za2VsLnR4dCB0ZWNobmljYWwvYXBpLWluZGV4LnR4dCwgJCh3aWxkY2FyZCB0ZWNobmljYWwvYXBpLSoudHh0KSkpCiBTUF9BUlRJQ0xFUyArPSAkKEFQSV9ET0NTKQogCitURUNIX0RPQ1MgKz0gTXlGaXJzdENvbnRyaWJ1dGlvbgorVEVDSF9ET0NTICs9IE15Rmlyc3RPYmplY3RXYWxrCiBURUNIX0RPQ1MgKz0gU3VibWl0dGluZ1BhdGNoZXMKIFRFQ0hfRE9DUyArPSB0ZWNobmljYWwvaGFzaC1mdW5jdGlvbi10cmFuc2l0aW9uCiBURUNIX0RPQ1MgKz0gdGVjaG5pY2FsL2h0dHAtcHJvdG9jb2wKQEAgLTg5LDExICs5OSwxMyBAQAogU1BfQVJUSUNMRVMgKz0gJChURUNIX0RPQ1MpCiBTUF9BUlRJQ0xFUyArPSB0ZWNobmljYWwvYXBpLWluZGV4CiAKLURPQ19IVE1MICs9ICQocGF0c3Vic3QgJSwlLmh0bWwsJChBUlRJQ0xFUykgJChTUF9BUlRJQ0xFUykpCitBUlRJQ0xFU19IVE1MICs9ICQocGF0c3Vic3QgJSwlLmh0bWwsJChBUlRJQ0xFUykgJChTUF9BUlRJQ0xFUykpCitIVE1MX0ZJTFRFUiA/PSAkKEFSVElDTEVTX0hUTUwpICQoT0JTT0xFVEVfSFRNTCkKK0RPQ19IVE1MID0gJChNQU5fSFRNTCkgJChmaWx0ZXIgJChIVE1MX0ZJTFRFUiksJChBUlRJQ0xFU19IVE1MKSAkKE9CU09MRVRFX0hUTUwpKQogCi1ET0NfTUFOMSA9ICQocGF0c3Vic3QgJS50eHQsJS4xLCQoTUFOMV9UWFQpKQotRE9DX01BTjUgPSAkKHBhdHN1YnN0ICUudHh0LCUuNSwkKE1BTjVfVFhUKSkKLURPQ19NQU43ID0gJChwYXRzdWJzdCAlLnR4dCwlLjcsJChNQU43X1RYVCkpCitET0NfTUFOMSA9ICQocGF0c3Vic3QgJS50eHQsJS4xLCQoZmlsdGVyICQoTUFOX0ZJTFRFUiksJChNQU4xX1RYVCkpKQorRE9DX01BTjUgPSAkKHBhdHN1YnN0ICUudHh0LCUuNSwkKGZpbHRlciAkKE1BTl9GSUxURVIpLCQoTUFONV9UWFQpKSkKK0RPQ19NQU43ID0gJChwYXRzdWJzdCAlLnR4dCwlLjcsJChmaWx0ZXIgJChNQU5fRklMVEVSKSwkKE1BTjdfVFhUKSkpCiAKIHByZWZpeCA/PSAkKEhPTUUpCiBiaW5kaXIgPz0gJChwcmVmaXgpL2JpbgpAQCAtMTEyLDcgKzEyNCw4IEBACiBBU0NJSURPQ19ET0NCT09LID0gZG9jYm9vawogQVNDSUlET0NfQ09ORiA9IC1mIGFzY2lpZG9jLmNvbmYKIEFTQ0lJRE9DX0NPTU1PTiA9ICQoQVNDSUlET0MpICQoQVNDSUlET0NfRVhUUkEpICQoQVNDSUlET0NfQ09ORikgXAotCQktYWdpdF92ZXJzaW9uPSQoR0lUX1ZFUlNJT04pCisJCS1hbWFudmVyc2lvbj0kKEdJVF9WRVJTSU9OKSBcCisJCS1hbWFubWFudWFsPSdHaXQgTWFudWFsJyAtYW1hbnNvdXJjZT0nR2l0JwogVFhUX1RPX0hUTUwgPSAkKEFTQ0lJRE9DX0NPTU1PTikgLWIgJChBU0NJSURPQ19IVE1MKQogVFhUX1RPX1hNTCA9ICQoQVNDSUlET0NfQ09NTU9OKSAtYiAkKEFTQ0lJRE9DX0RPQ0JPT0spCiBNQU5QQUdFX1hTTCA9IG1hbnBhZ2Utbm9ybWFsLnhzbApAQCAtMTg2LDExICsxOTksMTMgQEAKIEFTQ0lJRE9DID0gYXNjaWlkb2N0b3IKIEFTQ0lJRE9DX0NPTkYgPQogQVNDSUlET0NfSFRNTCA9IHhodG1sNQotQVNDSUlET0NfRE9DQk9PSyA9IGRvY2Jvb2s0NQorQVNDSUlET0NfRE9DQk9PSyA9IGRvY2Jvb2s1CiBBU0NJSURPQ19FWFRSQSArPSAtYWNvbXBhdC1tb2RlIC1hdGFic2l6ZT04CiBBU0NJSURPQ19FWFRSQSArPSAtSS4gLXJhc2NpaWRvY3Rvci1leHRlbnNpb25zCiBBU0NJSURPQ19FWFRSQSArPSAtYWxpdGRkPScmXCN4MmQ7JlwjeDJkOycKIERCTEFURVhfQ09NTU9OID0KK1hNTFRPX0VYVFJBICs9IC0tc2tpcC12YWxpZGF0aW9uCitYTUxUT19FWFRSQSArPSAteCBtYW5wYWdlLnhzbAogZW5kaWYKIAogU0hFTExfUEFUSCA/PSAkKFNIRUxMKQpAQCAtMzI0LDYgKzMzOSwxNSBAQAogCQlzaG93X3Rvb2xfbmFtZXMgY2FuX21lcmdlICIqICIgfHwgOicgPm1lcmdldG9vbHMtbWVyZ2UudHh0ICYmIFwKIAlkYXRlID4kQAogCitUUkFDS19BU0NJSURPQ0ZMQUdTID0gJChzdWJzdCAnLCdcJycsJChBU0NJSURPQ19DT01NT04pOiQoQVNDSUlET0NfSFRNTCk6JChBU0NJSURPQ19ET0NCT09LKSkKKworR0lULUFTQ0lJRE9DRkxBR1M6IEZPUkNFCisJQEZMQUdTPSckKFRSQUNLX0FTQ0lJRE9DRkxBR1MpJzsgXAorCSAgICBpZiB0ZXN0IHgiJCRGTEFHUyIgIT0geCJgY2F0IEdJVC1BU0NJSURPQ0ZMQUdTIDI+L2Rldi9udWxsYCIgOyB0aGVuIFwKKwkJZWNobyA+JjIgIiAgICAqIG5ldyBhc2NpaWRvYyBmbGFncyI7IFwKKwkJZWNobyAiJCRGTEFHUyIgPkdJVC1BU0NJSURPQ0ZMQUdTOyBcCisgICAgICAgICAgICBmaQorCiBjbGVhbjoKIAkkKFJNKSAqLnhtbCAqLnhtbCsgKi5odG1sICouaHRtbCsgKi4xICouNSAqLjcKIAkkKFJNKSAqLnRleGkgKi50ZXhpKyAqLnRleGkrKyBnaXQuaW5mbyBnaXRtYW4uaW5mbwpAQCAtMzMzLDEzICszNTcsMTQgQEAKIAkkKFJNKSBTdWJtaXR0aW5nUGF0Y2hlcy50eHQKIAkkKFJNKSAkKGNtZHNfdHh0KSAkKG1lcmdldG9vbHNfdHh0KSAqLm1hZGUKIAkkKFJNKSBtYW5wYWdlLWJhc2UtdXJsLnhzbAorCSQoUk0pIEdJVC1BU0NJSURPQ0ZMQUdTCiAKLSQoTUFOX0hUTUwpOiAlLmh0bWwgOiAlLnR4dCBhc2NpaWRvYy5jb25mCiskKE1BTl9IVE1MKTogJS5odG1sIDogJS50eHQgYXNjaWlkb2MuY29uZiBhc2NpaWRvY3Rvci1leHRlbnNpb25zLnJiIEdJVC1BU0NJSURPQ0ZMQUdTCiAJJChRVUlFVF9BU0NJSURPQykkKFJNKSAkQCsgJEAgJiYgXAogCSQoVFhUX1RPX0hUTUwpIC1kIG1hbnBhZ2UgLW8gJEArICQ8ICYmIFwKIAltdiAkQCsgJEAKIAotJChPQlNPTEVURV9IVE1MKTogJS5odG1sIDogJS50eHRvIGFzY2lpZG9jLmNvbmYKKyQoT0JTT0xFVEVfSFRNTCk6ICUuaHRtbCA6ICUudHh0byBhc2NpaWRvYy5jb25mIGFzY2lpZG9jdG9yLWV4dGVuc2lvbnMucmIgR0lULUFTQ0lJRE9DRkxBR1MKIAkkKFFVSUVUX0FTQ0lJRE9DKSQoUk0pICRAKyAkQCAmJiBcCiAJJChUWFRfVE9fSFRNTCkgLW8gJEArICQ8ICYmIFwKIAltdiAkQCsgJEAKQEAgLTM0NywxNiArMzcyLDE2IEBACiBtYW5wYWdlLWJhc2UtdXJsLnhzbDogbWFucGFnZS1iYXNlLXVybC54c2wuaW4KIAkkKFFVSUVUX0dFTilzZWQgInN8QEBNQU5fQkFTRV9VUkxAQHwkKE1BTl9CQVNFX1VSTCl8IiAkPCA+ICRACiAKLSUuMSAlLjUgJS43IDogJS54bWwgbWFucGFnZS1iYXNlLXVybC54c2wKKyUuMSAlLjUgJS43IDogJS54bWwgbWFucGFnZS1iYXNlLXVybC54c2wgJCh3aWxkY2FyZCBtYW5wYWdlKi54c2wpCiAJJChRVUlFVF9YTUxUTykkKFJNKSAkQCAmJiBcCiAJJChYTUxUTykgLW0gJChNQU5QQUdFX1hTTCkgJChYTUxUT19FWFRSQSkgbWFuICQ8CiAKLSUueG1sIDogJS50eHQgYXNjaWlkb2MuY29uZgorJS54bWwgOiAlLnR4dCBhc2NpaWRvYy5jb25mIGFzY2lpZG9jdG9yLWV4dGVuc2lvbnMucmIgR0lULUFTQ0lJRE9DRkxBR1MKIAkkKFFVSUVUX0FTQ0lJRE9DKSQoUk0pICRAKyAkQCAmJiBcCiAJJChUWFRfVE9fWE1MKSAtZCBtYW5wYWdlIC1vICRAKyAkPCAmJiBcCiAJbXYgJEArICRACiAKLXVzZXItbWFudWFsLnhtbDogdXNlci1tYW51YWwudHh0IHVzZXItbWFudWFsLmNvbmYKK3VzZXItbWFudWFsLnhtbDogdXNlci1tYW51YWwudHh0IHVzZXItbWFudWFsLmNvbmYgYXNjaWlkb2N0b3ItZXh0ZW5zaW9ucy5yYiBHSVQtQVNDSUlET0NGTEFHUwogCSQoUVVJRVRfQVNDSUlET0MpJChSTSkgJEArICRAICYmIFwKIAkkKFRYVF9UT19YTUwpIC1kIGJvb2sgLW8gJEArICQ8ICYmIFwKIAltdiAkQCsgJEAKQEAgLTM2Niw3ICszOTEsOCBAQAogCSQoUVVJRVRfR0VOKWNkIHRlY2huaWNhbCAmJiAnJChTSEVMTF9QQVRIX1NRKScgLi9hcGktaW5kZXguc2gKIAogdGVjaG5pY2FsLyUuaHRtbDogQVNDSUlET0NfRVhUUkEgKz0gLWEgZ2l0LXJlbGF0aXZlLWh0bWwtcHJlZml4PS4uLwotJChwYXRzdWJzdCAlLCUuaHRtbCwkKEFQSV9ET0NTKSB0ZWNobmljYWwvYXBpLWluZGV4ICQoVEVDSF9ET0NTKSk6ICUuaHRtbCA6ICUudHh0IGFzY2lpZG9jLmNvbmYKKyQocGF0c3Vic3QgJSwlLmh0bWwsJChBUElfRE9DUykgdGVjaG5pY2FsL2FwaS1pbmRleCAkKFRFQ0hfRE9DUykpOiAlLmh0bWwgOiAlLnR4dCBcCisJYXNjaWlkb2MuY29uZiBHSVQtQVNDSUlET0NGTEFHUwogCSQoUVVJRVRfQVNDSUlET0MpJChUWFRfVE9fSFRNTCkgJCoudHh0CiAKIFN1Ym1pdHRpbmdQYXRjaGVzLnR4dDogU3VibWl0dGluZ1BhdGNoZXMKQEAgLTQyMyw3ICs0NDksNyBAQAogV0VCRE9DX0RFU1QgPSAvcHViL3NvZnR3YXJlL3NjbS9naXQvZG9jcwogCiBob3d0by8lLmh0bWw6IEFTQ0lJRE9DX0VYVFJBICs9IC1hIGdpdC1yZWxhdGl2ZS1odG1sLXByZWZpeD0uLi8KLSQocGF0c3Vic3QgJS50eHQsJS5odG1sLCQod2lsZGNhcmQgaG93dG8vKi50eHQpKTogJS5odG1sIDogJS50eHQKKyQocGF0c3Vic3QgJS50eHQsJS5odG1sLCQod2lsZGNhcmQgaG93dG8vKi50eHQpKTogJS5odG1sIDogJS50eHQgR0lULUFTQ0lJRE9DRkxBR1MKIAkkKFFVSUVUX0FTQ0lJRE9DKSQoUk0pICRAKyAkQCAmJiBcCiAJc2VkIC1lICcxLC9eJCQvZCcgJDwgfCBcCiAJJChUWFRfVE9fSFRNTCkgLSA+JEArICYmIFwKQEAgLTQ1Nyw0ICs0ODMsOSBAQAogbGludC1kb2NzOjoKIAkkKFFVSUVUX0xJTlQpJChQRVJMX1BBVEgpIGxpbnQtZ2l0bGluay5wZXJsCiAKK2lmZXEgKCQod2lsZGNhcmQgcG8vTWFrZWZpbGUpLHBvL01ha2VmaWxlKQorZG9jLWwxMG4gaW5zdGFsbC1sMTBuOjoKKwkkKE1BS0UpIC1DIHBvICRACitlbmRpZgorCiAuUEhPTlk6IEZPUkNFCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL015Rmlyc3RDb250cmlidXRpb24udHh0IGIvRG9jdW1lbnRhdGlvbi9NeUZpcnN0Q29udHJpYnV0aW9uLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjcyNzRkCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9NeUZpcnN0Q29udHJpYnV0aW9uLnR4dApAQCAtMCwwICsxLDEyMTcgQEAKK015IEZpcnN0IENvbnRyaWJ1dGlvbiB0byB0aGUgR2l0IFByb2plY3QKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKzpzZWN0YW5jaG9yczoKKworW1tzdW1tYXJ5XV0KKz09IFN1bW1hcnkKKworVGhpcyBpcyBhIHR1dG9yaWFsIGRlbW9uc3RyYXRpbmcgdGhlIGVuZC10by1lbmQgd29ya2Zsb3cgb2YgY3JlYXRpbmcgYSBjaGFuZ2UgdG8KK3RoZSBHaXQgdHJlZSwgc2VuZGluZyBpdCBmb3IgcmV2aWV3LCBhbmQgbWFraW5nIGNoYW5nZXMgYmFzZWQgb24gY29tbWVudHMuCisKK1tbcHJlcmVxdWlzaXRlc11dCis9PT0gUHJlcmVxdWlzaXRlcworCitUaGlzIHR1dG9yaWFsIGFzc3VtZXMgeW91J3JlIGFscmVhZHkgZmFpcmx5IGZhbWlsaWFyIHdpdGggdXNpbmcgR2l0IHRvIG1hbmFnZQorc291cmNlIGNvZGUuICBUaGUgR2l0IHdvcmtmbG93IHN0ZXBzIHdpbGwgbGFyZ2VseSByZW1haW4gdW5leHBsYWluZWQuCisKK1tbcmVsYXRlZC1yZWFkaW5nXV0KKz09PSBSZWxhdGVkIFJlYWRpbmcKKworVGhpcyB0dXRvcmlhbCBhaW1zIHRvIHN1bW1hcml6ZSB0aGUgZm9sbG93aW5nIGRvY3VtZW50cywgYnV0IHRoZSByZWFkZXIgbWF5IGZpbmQKK3VzZWZ1bCBhZGRpdGlvbmFsIGNvbnRleHQ6CisKKy0gYERvY3VtZW50YXRpb24vU3VibWl0dGluZ1BhdGNoZXNgCistIGBEb2N1bWVudGF0aW9uL2hvd3RvL25ldy1jb21tYW5kLnR4dGAKKworW1tnZXR0aW5nLWhlbHBdXQorPT09IEdldHRpbmcgSGVscAorCitJZiB5b3UgZ2V0IHN0dWNrLCB5b3UgY2FuIHNlZWsgaGVscCBpbiB0aGUgZm9sbG93aW5nIHBsYWNlcy4KKworPT09PSBnaXRAdmdlci5rZXJuZWwub3JnCisKK1RoaXMgaXMgdGhlIG1haW4gR2l0IHByb2plY3QgbWFpbGluZyBsaXN0IHdoZXJlIGNvZGUgcmV2aWV3cywgdmVyc2lvbgorYW5ub3VuY2VtZW50cywgZGVzaWduIGRpc2N1c3Npb25zLCBhbmQgbW9yZSB0YWtlIHBsYWNlLiBUaG9zZSBpbnRlcmVzdGVkIGluCitjb250cmlidXRpbmcgYXJlIHdlbGNvbWUgdG8gcG9zdCBxdWVzdGlvbnMgaGVyZS4gVGhlIEdpdCBsaXN0IHJlcXVpcmVzCitwbGFpbi10ZXh0LW9ubHkgZW1haWxzIGFuZCBwcmVmZXJzIGlubGluZSBhbmQgYm90dG9tLXBvc3Rpbmcgd2hlbiByZXBseWluZyB0bworbWFpbDsgeW91IHdpbGwgYmUgQ0MnZCBpbiBhbGwgcmVwbGllcyB0byB5b3UuIE9wdGlvbmFsbHksIHlvdSBjYW4gc3Vic2NyaWJlIHRvCit0aGUgbGlzdCBieSBzZW5kaW5nIGFuIGVtYWlsIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcgd2l0aCAic3Vic2NyaWJlIGdpdCIKK2luIHRoZSBib2R5LiBUaGUgaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvZ2l0W2FyY2hpdmVdIG9mIHRoaXMgbWFpbGluZyBsaXN0IGlzCithdmFpbGFibGUgdG8gdmlldyBpbiBhIGJyb3dzZXIuCisKKz09PT0gaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9mb3J1bS8jIWZvcnVtL2dpdC1tZW50b3JpbmdbZ2l0LW1lbnRvcmluZ0Bnb29nbGVncm91cHMuY29tXQorCitUaGlzIG1haWxpbmcgbGlzdCBpcyB0YXJnZXRlZCB0byBuZXcgY29udHJpYnV0b3JzIGFuZCB3YXMgY3JlYXRlZCBhcyBhIHBsYWNlIHRvCitwb3N0IHF1ZXN0aW9ucyBhbmQgcmVjZWl2ZSBhbnN3ZXJzIG91dHNpZGUgb2YgdGhlIHB1YmxpYyBleWUgb2YgdGhlIG1haW4gbGlzdC4KK1ZldGVyYW4gY29udHJpYnV0b3JzIHdobyBhcmUgZXNwZWNpYWxseSBpbnRlcmVzdGVkIGluIGhlbHBpbmcgbWVudG9yIG5ld2NvbWVycworYXJlIHByZXNlbnQgb24gdGhlIGxpc3QuIEluIG9yZGVyIHRvIGF2b2lkIHNlYXJjaCBpbmRleGVycywgZ3JvdXAgbWVtYmVyc2hpcCBpcworcmVxdWlyZWQgdG8gdmlldyBtZXNzYWdlczsgYW55b25lIGNhbiBqb2luIGFuZCBubyBhcHByb3ZhbCBpcyByZXF1aXJlZC4KKworPT09PSBodHRwczovL3dlYmNoYXQuZnJlZW5vZGUubmV0LyNnaXQtZGV2ZWxbI2dpdC1kZXZlbF0gb24gRnJlZW5vZGUKKworVGhpcyBJUkMgY2hhbm5lbCBpcyBmb3IgY29udmVyc2F0aW9ucyBiZXR3ZWVuIEdpdCBjb250cmlidXRvcnMuIElmIHNvbWVvbmUgaXMKK2N1cnJlbnRseSBvbmxpbmUgYW5kIGtub3dzIHRoZSBhbnN3ZXIgdG8geW91ciBxdWVzdGlvbiwgeW91IGNhbiByZWNlaXZlIGhlbHAKK2luIHJlYWwgdGltZS4gT3RoZXJ3aXNlLCB5b3UgY2FuIHJlYWQgdGhlCitodHRwczovL2NvbGFidGkub3JnL2lyY2xvZ2dlci9pcmNsb2dnZXJfbG9ncy9naXQtZGV2ZWxbc2Nyb2xsYmFja10gdG8gc2VlCit3aGV0aGVyIHNvbWVvbmUgYW5zd2VyZWQgeW91LiBJUkMgZG9lcyBub3QgYWxsb3cgb2ZmbGluZSBwcml2YXRlIG1lc3NhZ2luZywgc28KK2lmIHlvdSB0cnkgdG8gcHJpdmF0ZSBtZXNzYWdlIHNvbWVvbmUgYW5kIHRoZW4gbG9nIG91dCBvZiBJUkMsIHRoZXkgY2Fubm90CityZXNwb25kIHRvIHlvdS4gSXQncyBiZXR0ZXIgdG8gYXNrIHlvdXIgcXVlc3Rpb25zIGluIHRoZSBjaGFubmVsIHNvIHRoYXQgeW91CitjYW4gYmUgYW5zd2VyZWQgaWYgeW91IGRpc2Nvbm5lY3QgYW5kIHNvIHRoYXQgb3RoZXJzIGNhbiBsZWFybiBmcm9tIHRoZQorY29udmVyc2F0aW9uLgorCitbW2dldHRpbmctc3RhcnRlZF1dCis9PSBHZXR0aW5nIFN0YXJ0ZWQKKworW1tjbG9uaW5nXV0KKz09PSBDbG9uZSB0aGUgR2l0IFJlcG9zaXRvcnkKKworR2l0IGlzIG1pcnJvcmVkIGluIGEgbnVtYmVyIG9mIGxvY2F0aW9ucy4gQ2xvbmUgdGhlIHJlcG9zaXRvcnkgZnJvbSBvbmUgb2YgdGhlbTsKK2h0dHBzOi8vZ2l0LXNjbS5jb20vZG93bmxvYWRzIHN1Z2dlc3RzIG9uZSBvZiB0aGUgYmVzdCBwbGFjZXMgdG8gY2xvbmUgZnJvbSBpcwordGhlIG1pcnJvciBvbiBHaXRIdWIuCisKKy0tLS0KKyQgZ2l0IGNsb25lIGh0dHBzOi8vZ2l0aHViLmNvbS9naXQvZ2l0IGdpdAorJCBjZCBnaXQKKy0tLS0KKworW1tkZXBlbmRlbmNpZXNdXQorPT09IEluc3RhbGxpbmcgRGVwZW5kZW5jaWVzCisKK1RvIGJ1aWxkIEdpdCBmcm9tIHNvdXJjZSwgeW91IG5lZWQgdG8gaGF2ZSBhIGhhbmRmdWwgb2YgZGVwZW5kZW5jaWVzIGluc3RhbGxlZAorb24geW91ciBzeXN0ZW0uIEZvciBhIGhpbnQgb2Ygd2hhdCdzIG5lZWRlZCwgeW91IGNhbiB0YWtlIGEgbG9vayBhdAorYElOU1RBTExgLCBwYXlpbmcgY2xvc2UgYXR0ZW50aW9uIHRvIHRoZSBzZWN0aW9uIGFib3V0IEdpdCdzIGRlcGVuZGVuY2llcyBvbgorZXh0ZXJuYWwgcHJvZ3JhbXMgYW5kIGxpYnJhcmllcy4gVGhhdCBkb2N1bWVudCBtZW50aW9ucyBhIHdheSB0byAidGVzdC1kcml2ZSIKK291ciBmcmVzaGx5IGJ1aWx0IEdpdCB3aXRob3V0IGluc3RhbGxpbmc7IHRoYXQncyB0aGUgbWV0aG9kIHdlJ2xsIGJlIHVzaW5nIGluCit0aGlzIHR1dG9yaWFsLgorCitNYWtlIHN1cmUgdGhhdCB5b3VyIGVudmlyb25tZW50IGhhcyBldmVyeXRoaW5nIHlvdSBuZWVkIGJ5IGJ1aWxkaW5nIHlvdXIgYnJhbmQKK25ldyBjbG9uZSBvZiBHaXQgZnJvbSB0aGUgYWJvdmUgc3RlcDoKKworLS0tLQorJCBtYWtlCistLS0tCisKK05PVEU6IFRoZSBHaXQgYnVpbGQgaXMgcGFyYWxsZWxpemFibGUuIGAtaiNgIGlzIG5vdCBpbmNsdWRlZCBhYm92ZSBidXQgeW91IGNhbgordXNlIGl0IGFzIHlvdSBwcmVmZXIsIGhlcmUgYW5kIGVsc2V3aGVyZS4KKworW1tpZGVudGlmeS1wcm9ibGVtXV0KKz09PSBJZGVudGlmeSBQcm9ibGVtIHRvIFNvbHZlCisKKy8vLy8KK1VzZSArIHRvIGluZGljYXRlIGZpeGVkLXdpZHRoIGhlcmU7IGNvdWxkbid0IGdldCBgIHRvIHdvcmsgbmljZWx5IHdpdGggdGhlCitxdW90ZXMgYXJvdW5kICJQb255IFNheWluZyAnVW0sIEhlbGxvJyIuCisvLy8vCitJbiB0aGlzIHR1dG9yaWFsLCB3ZSB3aWxsIGFkZCBhIG5ldyBjb21tYW5kLCArZ2l0IHBzdWgrLCBzaG9ydCBmb3IgYGBQb255IFNheWluZworYFVtLCBIZWxsbycnJyAtIGEgZmVhdHVyZSB3aGljaCBoYXMgZ29uZSB1bmltcGxlbWVudGVkIGRlc3BpdGUgYSBoaWdoIGZyZXF1ZW5jeQorb2YgaW52b2NhdGlvbiBkdXJpbmcgdXNlcnMnIHR5cGljYWwgZGFpbHkgd29ya2Zsb3cuCisKKyhXZSd2ZSBzZWVuIHNvbWUgb3RoZXIgZWZmb3J0IGluIHRoaXMgc3BhY2Ugd2l0aCB0aGUgaW1wbGVtZW50YXRpb24gb2YgcG9wdWxhcgorY29tbWFuZHMgc3VjaCBhcyBgc2xgLikKKworW1tzZXR1cC13b3Jrc3BhY2VdXQorPT09IFNldCBVcCBZb3VyIFdvcmtzcGFjZQorCitMZXQncyBzdGFydCBieSBtYWtpbmcgYSBkZXZlbG9wbWVudCBicmFuY2ggdG8gd29yayBvbiBvdXIgY2hhbmdlcy4gUGVyCitgRG9jdW1lbnRhdGlvbi9TdWJtaXR0aW5nUGF0Y2hlc2AsIHNpbmNlIGEgYnJhbmQgbmV3IGNvbW1hbmQgaXMgYSBuZXcgZmVhdHVyZSwKK2l0J3MgZmluZSB0byBiYXNlIHlvdXIgd29yayBvbiBgbWFzdGVyYC4gSG93ZXZlciwgaW4gdGhlIGZ1dHVyZSBmb3IgYnVnZml4ZXMsCitldGMuLCB5b3Ugc2hvdWxkIGNoZWNrIHRoYXQgZG9jdW1lbnQgYW5kIGJhc2UgaXQgb24gdGhlIGFwcHJvcHJpYXRlIGJyYW5jaC4KKworRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGRvY3VtZW50LCB3ZSB3aWxsIGJhc2UgYWxsIG91ciB3b3JrIG9uIHRoZSBgbWFzdGVyYAorYnJhbmNoIG9mIHRoZSB1cHN0cmVhbSBwcm9qZWN0LiBDcmVhdGUgdGhlIGBwc3VoYCBicmFuY2ggeW91IHdpbGwgdXNlIGZvcgorZGV2ZWxvcG1lbnQgbGlrZSBzbzoKKworLS0tLQorJCBnaXQgY2hlY2tvdXQgLWIgcHN1aCBvcmlnaW4vbWFzdGVyCistLS0tCisKK1dlJ2xsIG1ha2UgYSBudW1iZXIgb2YgY29tbWl0cyBoZXJlIGluIG9yZGVyIHRvIGRlbW9uc3RyYXRlIGhvdyB0byBzZW5kIGEgdG9waWMKK3dpdGggbXVsdGlwbGUgcGF0Y2hlcyB1cCBmb3IgcmV2aWV3IHNpbXVsdGFuZW91c2x5LgorCitbW2NvZGUtaXQtdXBdXQorPT0gQ29kZSBJdCBVcCEKKworTk9URTogQSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gY2FuIGJlIGZvdW5kIGF0CitodHRwczovL2dpdGh1Yi5jb20vbmFzYW11ZmZpbi9naXQvdHJlZS9wc3VoLgorCitbW2FkZC1uZXctY29tbWFuZF1dCis9PT0gQWRkaW5nIGEgTmV3IENvbW1hbmQKKworTG90cyBvZiB0aGUgc3ViY29tbWFuZHMgYXJlIHdyaXR0ZW4gYXMgYnVpbHRpbnMsIHdoaWNoIG1lYW5zIHRoZXkgYXJlCitpbXBsZW1lbnRlZCBpbiBDIGFuZCBjb21waWxlZCBpbnRvIHRoZSBtYWluIGBnaXRgIGV4ZWN1dGFibGUuIEltcGxlbWVudGluZyB0aGUKK3Zlcnkgc2ltcGxlIGBwc3VoYCBjb21tYW5kIGFzIGEgYnVpbHQtaW4gd2lsbCBkZW1vbnN0cmF0ZSB0aGUgc3RydWN0dXJlIG9mIHRoZQorY29kZWJhc2UsIHRoZSBpbnRlcm5hbCBBUEksIGFuZCB0aGUgcHJvY2VzcyBvZiB3b3JraW5nIHRvZ2V0aGVyIGFzIGEgY29udHJpYnV0b3IKK3dpdGggdGhlIHJldmlld2VycyBhbmQgbWFpbnRhaW5lciB0byBpbnRlZ3JhdGUgdGhpcyBjaGFuZ2UgaW50byB0aGUgc3lzdGVtLgorCitCdWlsdC1pbiBzdWJjb21tYW5kcyBhcmUgdHlwaWNhbGx5IGltcGxlbWVudGVkIGluIGEgZnVuY3Rpb24gbmFtZWQgImNtZF8iCitmb2xsb3dlZCBieSB0aGUgbmFtZSBvZiB0aGUgc3ViY29tbWFuZCwgaW4gYSBzb3VyY2UgZmlsZSBuYW1lZCBhZnRlciB0aGUKK3N1YmNvbW1hbmQgYW5kIGNvbnRhaW5lZCB3aXRoaW4gYGJ1aWx0aW4vYC4gU28gaXQgbWFrZXMgc2Vuc2UgdG8gaW1wbGVtZW50IHlvdXIKK2NvbW1hbmQgaW4gYGJ1aWx0aW4vcHN1aC5jYC4gQ3JlYXRlIHRoYXQgZmlsZSwgYW5kIHdpdGhpbiBpdCwgd3JpdGUgdGhlIGVudHJ5Citwb2ludCBmb3IgeW91ciBjb21tYW5kIGluIGEgZnVuY3Rpb24gbWF0Y2hpbmcgdGhlIHN0eWxlIGFuZCBzaWduYXR1cmU6CisKKy0tLS0KK2ludCBjbWRfcHN1aChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKKy0tLS0KKworV2UnbGwgYWxzbyBuZWVkIHRvIGFkZCB0aGUgZGVjbGFyYXRpb24gb2YgcHN1aDsgb3BlbiB1cCBgYnVpbHRpbi5oYCwgZmluZCB0aGUKK2RlY2xhcmF0aW9uIGZvciBgY21kX3B1bGxgLCBhbmQgYWRkIGEgbmV3IGxpbmUgZm9yIGBwc3VoYCBpbW1lZGlhdGVseSBiZWZvcmUgaXQsCitpbiBvcmRlciB0byBrZWVwIHRoZSBkZWNsYXJhdGlvbnMgYWxwaGFiZXRpY2FsbHkgc29ydGVkOgorCistLS0tCitpbnQgY21kX3BzdWgoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworLS0tLQorCitCZSBzdXJlIHRvIGAjaW5jbHVkZSAiYnVpbHRpbi5oImAgaW4geW91ciBgcHN1aC5jYC4KKworR28gYWhlYWQgYW5kIGFkZCBzb21lIHRocm93YXdheSBwcmludGYgdG8gdGhhdCBmdW5jdGlvbi4gVGhpcyBpcyBhIGRlY2VudAorc3RhcnRpbmcgcG9pbnQgYXMgd2UgY2FuIG5vdyBhZGQgYnVpbGQgcnVsZXMgYW5kIHJlZ2lzdGVyIHRoZSBjb21tYW5kLgorCitOT1RFOiBZb3VyIHRocm93YXdheSB0ZXh0LCBhcyB3ZWxsIGFzIG11Y2ggb2YgdGhlIHRleHQgeW91IHdpbGwgYmUgYWRkaW5nIG92ZXIKK3RoZSBjb3Vyc2Ugb2YgdGhpcyB0dXRvcmlhbCwgaXMgdXNlci1mYWNpbmcuIFRoYXQgbWVhbnMgaXQgbmVlZHMgdG8gYmUKK2xvY2FsaXphYmxlLiBUYWtlIGEgbG9vayBhdCBgcG8vUkVBRE1FYCB1bmRlciAiTWFya2luZyBzdHJpbmdzIGZvciB0cmFuc2xhdGlvbiIuCitUaHJvdWdob3V0IHRoZSB0dXRvcmlhbCwgd2Ugd2lsbCBtYXJrIHN0cmluZ3MgZm9yIHRyYW5zbGF0aW9uIGFzIG5lY2Vzc2FyeTsgeW91CitzaG91bGQgYWxzbyBkbyBzbyB3aGVuIHdyaXRpbmcgeW91ciB1c2VyLWZhY2luZyBjb21tYW5kcyBpbiB0aGUgZnV0dXJlLgorCistLS0tCitpbnQgY21kX3BzdWgoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJcHJpbnRmKF8oIlBvbnkgc2F5aW5nIGhlbGxvIGdvZXMgaGVyZS5cbiIpKTsKKwlyZXR1cm4gMDsKK30KKy0tLS0KKworTGV0J3MgdHJ5IHRvIGJ1aWxkIGl0LiAgT3BlbiBgTWFrZWZpbGVgLCBmaW5kIHdoZXJlIGBidWlsdGluL3B1bGwub2AgaXMgYWRkZWQKK3RvIGBCVUlMVElOX09CSlNgLCBhbmQgYWRkIGBidWlsdGluL3BzdWgub2AgaW4gdGhlIHNhbWUgd2F5IG5leHQgdG8gaXQgaW4KK2FscGhhYmV0aWNhbCBvcmRlci4gT25jZSB5b3UndmUgZG9uZSBzbywgbW92ZSB0byB0aGUgdG9wLWxldmVsIGRpcmVjdG9yeSBhbmQKK2J1aWxkIHNpbXBseSB3aXRoIGBtYWtlYC4gQWxzbyBhZGQgdGhlIGBERVZFTE9QRVI9MWAgdmFyaWFibGUgdG8gdHVybiBvbgorc29tZSBhZGRpdGlvbmFsIHdhcm5pbmdzOgorCistLS0tCiskIGVjaG8gREVWRUxPUEVSPTEgPmNvbmZpZy5tYWsKKyQgbWFrZQorLS0tLQorCitOT1RFOiBXaGVuIHlvdSBhcmUgZGV2ZWxvcGluZyB0aGUgR2l0IHByb2plY3QsIGl0J3MgcHJlZmVycmVkIHRoYXQgeW91IHVzZSB0aGUKK2BERVZFTE9QRVJgIGZsYWc7IGlmIHRoZXJlJ3Mgc29tZSByZWFzb24gaXQgZG9lc24ndCB3b3JrIGZvciB5b3UsIHlvdSBjYW4gdHVybgoraXQgb2ZmLCBidXQgaXQncyBhIGdvb2QgaWRlYSB0byBtZW50aW9uIHRoZSBwcm9ibGVtIHRvIHRoZSBtYWlsaW5nIGxpc3QuCisKK0dyZWF0LCBub3cgeW91ciBuZXcgY29tbWFuZCBidWlsZHMgaGFwcGlseSBvbiBpdHMgb3duLiBCdXQgbm9ib2R5IGludm9rZXMgaXQuCitMZXQncyBjaGFuZ2UgdGhhdC4KKworVGhlIGxpc3Qgb2YgY29tbWFuZHMgbGl2ZXMgaW4gYGdpdC5jYC4gV2UgY2FuIHJlZ2lzdGVyIGEgbmV3IGNvbW1hbmQgYnkgYWRkaW5nCithIGBjbWRfc3RydWN0YCB0byB0aGUgYGNvbW1hbmRzW11gIGFycmF5LiBgc3RydWN0IGNtZF9zdHJ1Y3RgIHRha2VzIGEgc3RyaW5nCit3aXRoIHRoZSBjb21tYW5kIG5hbWUsIGEgZnVuY3Rpb24gcG9pbnRlciB0byB0aGUgY29tbWFuZCBpbXBsZW1lbnRhdGlvbiwgYW5kIGEKK3NldHVwIG9wdGlvbiBmbGFnLiBGb3Igbm93LCBsZXQncyBrZWVwIG1pbWlja2luZyBgcHVzaGAuIEZpbmQgdGhlIGxpbmUgd2hlcmUKK2BjbWRfcHVzaGAgaXMgcmVnaXN0ZXJlZCwgY29weSBpdCwgYW5kIG1vZGlmeSBpdCBmb3IgYGNtZF9wc3VoYCwgcGxhY2luZyB0aGUgbmV3CitsaW5lIGluIGFscGhhYmV0aWNhbCBvcmRlciAoaW1tZWRpYXRlbHkgYmVmb3JlIGBjbWRfcHVsbGApLgorCitUaGUgb3B0aW9ucyBhcmUgZG9jdW1lbnRlZCBpbiBgYnVpbHRpbi5oYCB1bmRlciAiQWRkaW5nIGEgbmV3IGJ1aWx0LWluLiIgU2luY2UKK3dlIGhvcGUgdG8gcHJpbnQgc29tZSBkYXRhIGFib3V0IHRoZSB1c2VyJ3MgY3VycmVudCB3b3Jrc3BhY2UgY29udGV4dCBsYXRlciwKK3dlIG5lZWQgYSBHaXQgZGlyZWN0b3J5LCBzbyBjaG9vc2UgYFJVTl9TRVRVUGAgYXMgeW91ciBvbmx5IG9wdGlvbi4KKworR28gYWhlYWQgYW5kIGJ1aWxkIGFnYWluLiBZb3Ugc2hvdWxkIHNlZSBhIGNsZWFuIGJ1aWxkLCBzbyBsZXQncyBraWNrIHRoZSB0aXJlcworYW5kIHNlZSBpZiBpdCB3b3Jrcy4gVGhlcmUncyBhIGJpbmFyeSB5b3UgY2FuIHVzZSB0byB0ZXN0IHdpdGggaW4gdGhlCitgYmluLXdyYXBwZXJzYCBkaXJlY3RvcnkuCisKKy0tLS0KKyQgLi9iaW4td3JhcHBlcnMvZ2l0IHBzdWgKKy0tLS0KKworQ2hlY2sgaXQgb3V0ISBZb3UndmUgZ290IGEgY29tbWFuZCEgTmljZSB3b3JrISBMZXQncyBjb21taXQgdGhpcy4KKworYGdpdCBzdGF0dXNgIHJldmVhbHMgbW9kaWZpZWQgYE1ha2VmaWxlYCwgYGJ1aWx0aW4uaGAsIGFuZCBgZ2l0LmNgIGFzIHdlbGwgYXMKK3VudHJhY2tlZCBgYnVpbHRpbi9wc3VoLmNgIGFuZCBgZ2l0LXBzdWhgLiBGaXJzdCwgbGV0J3MgdGFrZSBjYXJlIG9mIHRoZSBiaW5hcnksCit3aGljaCBzaG91bGQgYmUgaWdub3JlZC4gT3BlbiBgLmdpdGlnbm9yZWAgaW4geW91ciBlZGl0b3IsIGZpbmQgYC9naXQtcHVsbGAsIGFuZAorYWRkIGFuIGVudHJ5IGZvciB5b3VyIG5ldyBjb21tYW5kIGluIGFscGhhYmV0aWNhbCBvcmRlcjoKKworLS0tLQorLi4uCisvZ2l0LXBydW5lLXBhY2tlZAorL2dpdC1wc3VoCisvZ2l0LXB1bGwKKy9naXQtcHVzaAorL2dpdC1xdWlsdGltcG9ydAorL2dpdC1yYW5nZS1kaWZmCisuLi4KKy0tLS0KKworQ2hlY2tpbmcgYGdpdCBzdGF0dXNgIGFnYWluIHNob3VsZCBzaG93IHRoYXQgYGdpdC1wc3VoYCBoYXMgYmVlbiByZW1vdmVkIGZyb20KK3RoZSB1bnRyYWNrZWQgbGlzdCBhbmQgYC5naXRpZ25vcmVgIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBtb2RpZmllZCBsaXN0LiBOb3cgd2UKK2NhbiBzdGFnZSBhbmQgY29tbWl0OgorCistLS0tCiskIGdpdCBhZGQgTWFrZWZpbGUgYnVpbHRpbi5oIGJ1aWx0aW4vcHN1aC5jIGdpdC5jIC5naXRpZ25vcmUKKyQgZ2l0IGNvbW1pdCAtcworLS0tLQorCitZb3Ugd2lsbCBiZSBwcmVzZW50ZWQgd2l0aCB5b3VyIGVkaXRvciBpbiBvcmRlciB0byB3cml0ZSBhIGNvbW1pdCBtZXNzYWdlLiBTdGFydAordGhlIGNvbW1pdCB3aXRoIGEgNTAtY29sdW1uIG9yIGxlc3Mgc3ViamVjdCBsaW5lLCBpbmNsdWRpbmcgdGhlIG5hbWUgb2YgdGhlCitjb21wb25lbnQgeW91J3JlIHdvcmtpbmcgb24sIGZvbGxvd2VkIGJ5IGEgYmxhbmsgbGluZSAoYWx3YXlzIHJlcXVpcmVkKSBhbmQgdGhlbgordGhlIGJvZHkgb2YgeW91ciBjb21taXQgbWVzc2FnZSwgd2hpY2ggc2hvdWxkIHByb3ZpZGUgdGhlIGJ1bGsgb2YgdGhlIGNvbnRleHQuCitSZW1lbWJlciB0byBiZSBleHBsaWNpdCBhbmQgcHJvdmlkZSB0aGUgIldoeSIgb2YgeW91ciBjaGFuZ2UsIGVzcGVjaWFsbHkgaWYgaXQKK2NvdWxkbid0IGVhc2lseSBiZSB1bmRlcnN0b29kIGZyb20geW91ciBkaWZmLiBXaGVuIGVkaXRpbmcgeW91ciBjb21taXQgbWVzc2FnZSwKK2Rvbid0IHJlbW92ZSB0aGUgU2lnbmVkLW9mZi1ieSBsaW5lIHdoaWNoIHdhcyBhZGRlZCBieSBgLXNgIGFib3ZlLgorCistLS0tCitwc3VoOiBhZGQgYSBidWlsdC1pbiBieSBwb3B1bGFyIGRlbWFuZAorCitJbnRlcm5hbCBtZXRyaWNzIGluZGljYXRlIHRoaXMgaXMgYSBjb21tYW5kIG1hbnkgdXNlcnMgZXhwZWN0IHRvIGJlCitwcmVzZW50LiBTbyBoZXJlJ3MgYW4gaW1wbGVtZW50YXRpb24gdG8gaGVscCBkcml2ZSBjdXN0b21lcgorc2F0aXNmYWN0aW9uIGFuZCBlbmdhZ2VtZW50OiBhIHBvbnkgd2hpY2ggZG91YnRmdWxseSBncmVldHMgdGhlIHVzZXIsCitvciwgYSBQb255IFNheWluZyAiVW0sIEhlbGxvIiAoUFNVSCkuCisKK1RoaXMgY29tbWl0IG1lc3NhZ2UgaXMgaW50ZW50aW9uYWxseSBmb3JtYXR0ZWQgdG8gNzIgY29sdW1ucyBwZXIgbGluZSwKK3N0YXJ0cyB3aXRoIGEgc2luZ2xlIGxpbmUgYXMgImNvbW1pdCBtZXNzYWdlIHN1YmplY3QiIHRoYXQgaXMgd3JpdHRlbiBhcworaWYgdG8gY29tbWFuZCB0aGUgY29kZWJhc2UgdG8gZG8gc29tZXRoaW5nIChhZGQgdGhpcywgdGVhY2ggYSBjb21tYW5kCit0aGF0KS4gVGhlIGJvZHkgb2YgdGhlIG1lc3NhZ2UgaXMgZGVzaWduZWQgdG8gYWRkIGluZm9ybWF0aW9uIGFib3V0IHRoZQorY29tbWl0IHRoYXQgaXMgbm90IHJlYWRpbHkgZGVkdWNlZCBmcm9tIHJlYWRpbmcgdGhlIGFzc29jaWF0ZWQgZGlmZiwKK3N1Y2ggYXMgYW5zd2VyaW5nIHRoZSBxdWVzdGlvbiAid2h5PyIuCisKK1NpZ25lZC1vZmYtYnk6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CistLS0tCisKK0dvIGFoZWFkIGFuZCBpbnNwZWN0IHlvdXIgbmV3IGNvbW1pdCB3aXRoIGBnaXQgc2hvd2AuICJwc3VoOiIgaW5kaWNhdGVzIHlvdQoraGF2ZSBtb2RpZmllZCBtYWlubHkgdGhlIGBwc3VoYCBjb21tYW5kLiBUaGUgc3ViamVjdCBsaW5lIGdpdmVzIHJlYWRlcnMgYW4gaWRlYQorb2Ygd2hhdCB5b3UndmUgY2hhbmdlZC4gVGhlIHNpZ24tb2ZmIGxpbmUgKGAtc2ApIGluZGljYXRlcyB0aGF0IHlvdSBhZ3JlZSB0bwordGhlIERldmVsb3BlcidzIENlcnRpZmljYXRlIG9mIE9yaWdpbiAxLjEgKHNlZSB0aGUKK2BEb2N1bWVudGF0aW9uL1N1Ym1pdHRpbmdQYXRjaGVzYCArKytbW2Rjb11dKysrIGhlYWRlcikuCisKK0ZvciB0aGUgcmVtYWluZGVyIG9mIHRoZSB0dXRvcmlhbCwgdGhlIHN1YmplY3QgbGluZSBvbmx5IHdpbGwgYmUgbGlzdGVkIGZvciB0aGUKK3Nha2Ugb2YgYnJldml0eS4gSG93ZXZlciwgZnVsbHktZmxlc2hlZCBleGFtcGxlIGNvbW1pdCBtZXNzYWdlcyBhcmUgYXZhaWxhYmxlCitvbiB0aGUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGxpbmtlZCBhdCB0aGUgdG9wIG9mIHRoaXMgZG9jdW1lbnQuCisKK1tbaW1wbGVtZW50YXRpb25dXQorPT09IEltcGxlbWVudGF0aW9uCisKK0l0J3MgcHJvYmFibHkgdXNlZnVsIHRvIGRvIGF0IGxlYXN0IHNvbWV0aGluZyBiZXNpZGVzIHByaW50aW5nIG91dCBhIHN0cmluZy4KK0xldCdzIHN0YXJ0IGJ5IGhhdmluZyBhIGxvb2sgYXQgZXZlcnl0aGluZyB3ZSBnZXQuCisKK01vZGlmeSB5b3VyIGBjbWRfcHN1aGAgaW1wbGVtZW50YXRpb24gdG8gZHVtcCB0aGUgYXJncyB5b3UncmUgcGFzc2VkLCBrZWVwaW5nCitleGlzdGluZyBgcHJpbnRmKClgIGNhbGxzIGluIHBsYWNlOgorCistLS0tCisJaW50IGk7CisKKwkuLi4KKworCXByaW50ZihRXygiWW91ciBhcmdzICh0aGVyZSBpcyAlZCk6XG4iLAorCQkgICJZb3VyIGFyZ3MgKHRoZXJlIGFyZSAlZCk6XG4iLAorCQkgIGFyZ2MpLAorCSAgICAgICBhcmdjKTsKKwlmb3IgKGkgPSAwOyBpIDwgYXJnYzsgaSsrKQorCQlwcmludGYoIiVkOiAlc1xuIiwgaSwgYXJndltpXSk7CisKKwlwcmludGYoXygiWW91ciBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5OlxuPHRvcC1sZXZlbD4lcyVzXG4iKSwKKwkgICAgICAgcHJlZml4ID8gIi8iIDogIiIsIHByZWZpeCA/IHByZWZpeCA6ICIiKTsKKworLS0tLQorCitCdWlsZCBhbmQgdHJ5IGl0LiBBcyB5b3UgbWF5IGV4cGVjdCwgdGhlcmUncyBwcmV0dHkgbXVjaCBqdXN0IHdoYXRldmVyIHdlIGdpdmUKK29uIHRoZSBjb21tYW5kIGxpbmUsIGluY2x1ZGluZyB0aGUgbmFtZSBvZiBvdXIgY29tbWFuZC4gKElmIGBwcmVmaXhgIGlzIGVtcHR5Citmb3IgeW91LCB0cnkgYGNkIERvY3VtZW50YXRpb24vICYmIC4uL2Jpbi13cmFwcGVycy9naXQgcHN1aGApLiBUaGF0J3Mgbm90IHNvCitoZWxwZnVsLiBTbyB3aGF0IG90aGVyIGNvbnRleHQgY2FuIHdlIGdldD8KKworQWRkIGEgbGluZSB0byBgI2luY2x1ZGUgImNvbmZpZy5oImAuIFRoZW4sIGFkZCB0aGUgZm9sbG93aW5nIGJpdHMgdG8gdGhlCitmdW5jdGlvbiBib2R5OgorCistLS0tCisJY29uc3QgY2hhciAqY2ZnX25hbWU7CisKKy4uLgorCisJZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOworCWlmIChnaXRfY29uZmlnX2dldF9zdHJpbmdfY29uc3QoInVzZXIubmFtZSIsICZjZmdfbmFtZSkgPiAwKQorCQlwcmludGYoXygiTm8gbmFtZSBpcyBmb3VuZCBpbiBjb25maWdcbiIpKTsKKwllbHNlCisJCXByaW50ZihfKCJZb3VyIG5hbWU6ICVzXG4iKSwgY2ZnX25hbWUpOworLS0tLQorCitgZ2l0X2NvbmZpZygpYCB3aWxsIGdyYWIgdGhlIGNvbmZpZ3VyYXRpb24gZnJvbSBjb25maWcgZmlsZXMga25vd24gdG8gR2l0IGFuZAorYXBwbHkgc3RhbmRhcmQgcHJlY2VkZW5jZSBydWxlcy4gYGdpdF9jb25maWdfZ2V0X3N0cmluZ19jb25zdCgpYCB3aWxsIGxvb2sgdXAKK2Egc3BlY2lmaWMga2V5ICgidXNlci5uYW1lIikgYW5kIGdpdmUgeW91IHRoZSB2YWx1ZS4gVGhlcmUgYXJlIGEgbnVtYmVyIG9mCitzaW5nbGUta2V5IGxvb2t1cCBmdW5jdGlvbnMgbGlrZSB0aGlzIG9uZTsgeW91IGNhbiBzZWUgdGhlbSBhbGwgKGFuZCBtb3JlIGluZm8KK2Fib3V0IGhvdyB0byB1c2UgYGdpdF9jb25maWcoKWApIGluIGBEb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktY29uZmlnLnR4dGAuCisKK1lvdSBzaG91bGQgc2VlIHRoYXQgdGhlIG5hbWUgcHJpbnRlZCBtYXRjaGVzIHRoZSBvbmUgeW91IHNlZSB3aGVuIHlvdSBydW46CisKKy0tLS0KKyQgZ2l0IGNvbmZpZyAtLWdldCB1c2VyLm5hbWUKKy0tLS0KKworR3JlYXQhIE5vdyB3ZSBrbm93IGhvdyB0byBjaGVjayBmb3IgdmFsdWVzIGluIHRoZSBHaXQgY29uZmlnLiBMZXQncyBjb21taXQgdGhpcwordG9vLCBzbyB3ZSBkb24ndCBsb3NlIG91ciBwcm9ncmVzcy4KKworLS0tLQorJCBnaXQgYWRkIGJ1aWx0aW4vcHN1aC5jCiskIGdpdCBjb21taXQgLXNtICJwc3VoOiBzaG93IHBhcmFtZXRlcnMgJiBjb25maWcgb3B0cyIKKy0tLS0KKworTk9URTogQWdhaW4sIHRoZSBhYm92ZSBpcyBmb3Igc2FrZSBvZiBicmV2aXR5IGluIHRoaXMgdHV0b3JpYWwuIEluIGEgcmVhbCBjaGFuZ2UKK3lvdSBzaG91bGQgbm90IHVzZSBgLW1gIGJ1dCBpbnN0ZWFkIHVzZSB0aGUgZWRpdG9yIHRvIHdyaXRlIGEgbWVhbmluZ2Z1bAorbWVzc2FnZS4KKworU3RpbGwsIGl0J2QgYmUgbmljZSB0byBrbm93IHdoYXQgdGhlIHVzZXIncyB3b3JraW5nIGNvbnRleHQgaXMgbGlrZS4gTGV0J3Mgc2VlCitpZiB3ZSBjYW4gcHJpbnQgdGhlIG5hbWUgb2YgdGhlIHVzZXIncyBjdXJyZW50IGJyYW5jaC4gV2UgY2FuIG1pbWljIHRoZQorYGdpdCBzdGF0dXNgIGltcGxlbWVudGF0aW9uOyB0aGUgcHJpbnRlciBpcyBsb2NhdGVkIGluIGB3dC1zdGF0dXMuY2AgYW5kIHdlIGNhbgorc2VlIHRoYXQgdGhlIGJyYW5jaCBpcyBoZWxkIGluIGEgYHN0cnVjdCB3dF9zdGF0dXNgLgorCitgd3Rfc3RhdHVzX3ByaW50KClgIGdldHMgaW52b2tlZCBieSBgY21kX3N0YXR1cygpYCBpbiBgYnVpbHRpbi9jb21taXQuY2AuCitMb29raW5nIGF0IHRoYXQgaW1wbGVtZW50YXRpb24gd2Ugc2VlIHRoZSBzdGF0dXMgY29uZmlnIGJlaW5nIHBvcHVsYXRlZCBsaWtlIHNvOgorCistLS0tCitzdGF0dXNfaW5pdF9jb25maWcoJnMsIGdpdF9zdGF0dXNfY29uZmlnKTsKKy0tLS0KKworQnV0IGFzIHdlIGRyaWxsIGRvd24sIHdlIGNhbiBmaW5kIHRoYXQgYHN0YXR1c19pbml0X2NvbmZpZygpYCB3cmFwcyBhIGNhbGwKK3RvIGBnaXRfY29uZmlnKClgLiBMZXQncyBtb2RpZnkgdGhlIGNvZGUgd2Ugd3JvdGUgaW4gdGhlIHByZXZpb3VzIGNvbW1pdC4KKworQmUgc3VyZSB0byBpbmNsdWRlIHRoZSBoZWFkZXIgdG8gYWxsb3cgeW91IHRvIHVzZSBgc3RydWN0IHd0X3N0YXR1c2A6CistLS0tCisjaW5jbHVkZSAid3Qtc3RhdHVzLmgiCistLS0tCisKK1RoZW4gbW9kaWZ5IHlvdXIgYGNtZF9wc3VoYCBpbXBsZW1lbnRhdGlvbiB0byBkZWNsYXJlIHlvdXIgYHN0cnVjdCB3dF9zdGF0dXNgLAorcHJlcGFyZSBpdCwgYW5kIHByaW50IGl0cyBjb250ZW50czoKKworLS0tLQorCXN0cnVjdCB3dF9zdGF0dXMgc3RhdHVzOworCisuLi4KKworCXd0X3N0YXR1c19wcmVwYXJlKHRoZV9yZXBvc2l0b3J5LCAmc3RhdHVzKTsKKwlnaXRfY29uZmlnKGdpdF9kZWZhdWx0X2NvbmZpZywgJnN0YXR1cyk7CisKKy4uLgorCisJcHJpbnRmKF8oIllvdXIgY3VycmVudCBicmFuY2g6ICVzXG4iKSwgc3RhdHVzLmJyYW5jaCk7CistLS0tCisKK1J1biBpdCBhZ2Fpbi4gQ2hlY2sgaXQgb3V0IC0gaGVyZSdzIHRoZSAodmVyYm9zZSkgbmFtZSBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIQorCitMZXQncyBjb21taXQgdGhpcyBhcyB3ZWxsLgorCistLS0tCiskIGdpdCBhZGQgYnVpbHRpbi9wc3VoLmMKKyQgZ2l0IGNvbW1pdCAtc20gInBzdWg6IHByaW50IHRoZSBjdXJyZW50IGJyYW5jaCIKKy0tLS0KKworTm93IGxldCdzIHNlZSBpZiB3ZSBjYW4gZ2V0IHNvbWUgaW5mbyBhYm91dCBhIHNwZWNpZmljIGNvbW1pdC4KKworTHVja2lseSwgdGhlcmUgYXJlIHNvbWUgaGVscGVycyBmb3IgdXMgaGVyZS4gYGNvbW1pdC5oYCBoYXMgYSBmdW5jdGlvbiBjYWxsZWQKK2Bsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9ieV9uYW1lYCB0byB3aGljaCB3ZSBjYW4gc2ltcGx5IHByb3ZpZGUgYSBoYXJkY29kZWQKK3N0cmluZzsgYHByZXR0eS5oYCBoYXMgYW4gZXh0cmVtZWx5IGhhbmR5IGBwcF9jb21taXRfZWFzeSgpYCBjYWxsIHdoaWNoIGRvZXNuJ3QKK3JlcXVpcmUgYSBmdWxsIGZvcm1hdCBvYmplY3QgdG8gYmUgcGFzc2VkLgorCitBZGQgdGhlIGZvbGxvd2luZyBpbmNsdWRlczoKKworLS0tLQorI2luY2x1ZGUgImNvbW1pdC5oIgorI2luY2x1ZGUgInByZXR0eS5oIgorLS0tLQorCitUaGVuLCBhZGQgdGhlIGZvbGxvd2luZyBsaW5lcyB3aXRoaW4geW91ciBpbXBsZW1lbnRhdGlvbiBvZiBgY21kX3BzdWgoKWAgbmVhcgordGhlIGRlY2xhcmF0aW9ucyBhbmQgdGhlIGxvZ2ljLCByZXNwZWN0aXZlbHkuCisKKy0tLS0KKwlzdHJ1Y3QgY29tbWl0ICpjID0gTlVMTDsKKwlzdHJ1Y3Qgc3RyYnVmIGNvbW1pdGxpbmUgPSBTVFJCVUZfSU5JVDsKKworLi4uCisKKwljID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfYnlfbmFtZSgib3JpZ2luL21hc3RlciIpOworCisJaWYgKGMgIT0gTlVMTCkgeworCQlwcF9jb21taXRfZWFzeShDTUlUX0ZNVF9PTkVMSU5FLCBjLCAmY29tbWl0bGluZSk7CisJCXByaW50ZihfKCJDdXJyZW50IGNvbW1pdDogJXNcbiIpLCBjb21taXRsaW5lLmJ1Zik7CisJfQorLS0tLQorCitUaGUgYHN0cnVjdCBzdHJidWZgIHByb3ZpZGVzIHNvbWUgc2FmZXR5IGJlbHRzIHRvIHlvdXIgYmFzaWMgYGNoYXIqYCwgb25lIG9mCit3aGljaCBpcyBhIGxlbmd0aCBtZW1iZXIgdG8gcHJldmVudCBidWZmZXIgb3ZlcnJ1bnMuIEl0IG5lZWRzIHRvIGJlIGluaXRpYWxpemVkCituaWNlbHkgd2l0aCBgU1RSQlVGX0lOSVRgLiBLZWVwIGl0IGluIG1pbmQgd2hlbiB5b3UgbmVlZCB0byBwYXNzIGFyb3VuZCBgY2hhcipgLgorCitgbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfYnlfbmFtZWAgcmVzb2x2ZXMgdGhlIG5hbWUgeW91IHBhc3MgaXQsIHNvIHlvdSBjYW4gcGxheQord2l0aCB0aGUgdmFsdWUgdGhlcmUgYW5kIHNlZSB3aGF0IGtpbmQgb2YgdGhpbmdzIHlvdSBjYW4gY29tZSB1cCB3aXRoLgorCitgcHBfY29tbWl0X2Vhc3lgIGlzIGEgY29udmVuaWVuY2Ugd3JhcHBlciBpbiBgcHJldHR5LmhgIHRoYXQgdGFrZXMgYSBzaW5nbGUKK2Zvcm1hdCBlbnVtIHNob3J0aGFuZCwgcmF0aGVyIHRoYW4gYW4gZW50aXJlIGZvcm1hdCBzdHJ1Y3QuIEl0IHRoZW4KK3ByZXR0eS1wcmludHMgdGhlIGNvbW1pdCBhY2NvcmRpbmcgdG8gdGhhdCBzaG9ydGhhbmQuIFRoZXNlIGFyZSBzaW1pbGFyIHRvIHRoZQorZm9ybWF0cyBhdmFpbGFibGUgd2l0aCBgLS1wcmV0dHk9Rk9PYCBpbiBtYW55IEdpdCBjb21tYW5kcy4KKworQnVpbGQgaXQgYW5kIHJ1biwgYW5kIGlmIHlvdSdyZSB1c2luZyB0aGUgc2FtZSBuYW1lIGluIHRoZSBleGFtcGxlLCB5b3Ugc2hvdWxkCitzZWUgdGhlIHN1YmplY3QgbGluZSBvZiB0aGUgbW9zdCByZWNlbnQgY29tbWl0IGluIGBvcmlnaW4vbWFzdGVyYCB0aGF0IHlvdSBrbm93CithYm91dC4gTmVhdCEgTGV0J3MgY29tbWl0IHRoYXQgYXMgd2VsbC4KKworLS0tLQorJCBnaXQgYWRkIGJ1aWx0aW4vcHN1aC5jCiskIGdpdCBjb21taXQgLXNtICJwc3VoOiBkaXNwbGF5IHRoZSB0b3Agb2Ygb3JpZ2luL21hc3RlciIKKy0tLS0KKworW1thZGQtZG9jdW1lbnRhdGlvbl1dCis9PT0gQWRkaW5nIERvY3VtZW50YXRpb24KKworQXdlc29tZSEgWW91J3ZlIGdvdCBhIGZhbnRhc3RpYyBuZXcgY29tbWFuZCB0aGF0IHlvdSdyZSByZWFkeSB0byBzaGFyZSB3aXRoIHRoZQorY29tbXVuaXR5LiBCdXQgaGFuZyBvbiBqdXN0IGEgbWludXRlIC0gdGhpcyBpc24ndCB2ZXJ5IHVzZXItZnJpZW5kbHkuIFJ1biB0aGUKK2ZvbGxvd2luZzoKKworLS0tLQorJCAuL2Jpbi13cmFwcGVycy9naXQgaGVscCBwc3VoCistLS0tCisKK1lvdXIgbmV3IGNvbW1hbmQgaXMgdW5kb2N1bWVudGVkISBMZXQncyBmaXggdGhhdC4KKworVGFrZSBhIGxvb2sgYXQgYERvY3VtZW50YXRpb24vZ2l0LSoudHh0YC4gVGhlc2UgYXJlIHRoZSBtYW5wYWdlcyBmb3IgdGhlCitzdWJjb21tYW5kcyB0aGF0IEdpdCBrbm93cyBhYm91dC4gWW91IGNhbiBvcGVuIHRoZXNlIHVwIGFuZCB0YWtlIGEgbG9vayB0byBnZXQKK2FjcXVhaW50ZWQgd2l0aCB0aGUgZm9ybWF0LCBidXQgdGhlbiBnbyBhaGVhZCBhbmQgbWFrZSBhIG5ldyBmaWxlCitgRG9jdW1lbnRhdGlvbi9naXQtcHN1aC50eHRgLiBMaWtlIHdpdGggbW9zdCBvZiB0aGUgZG9jdW1lbnRhdGlvbiBpbiB0aGUgR2l0Citwcm9qZWN0LCBoZWxwIHBhZ2VzIGFyZSB3cml0dGVuIHdpdGggQXNjaWlEb2MgKHNlZSBDb2RpbmdHdWlkZWxpbmVzLCAiV3JpdGluZworRG9jdW1lbnRhdGlvbiIgc2VjdGlvbikuIFVzZSB0aGUgZm9sbG93aW5nIHRlbXBsYXRlIHRvIGZpbGwgb3V0IHlvdXIgb3duCittYW5wYWdlOgorCisvLyBTdXJwcmlzaW5nbHkgZGlmZmljdWx0IHRvIGVtYmVkIEFzY2lpRG9jIHNvdXJjZSB3aXRoaW4gQXNjaWlEb2MuCitbbGlzdGluZ10KKy4uLi4KK2dpdC1wc3VoKDEpCis9PT09PT09PT09PQorCitOQU1FCistLS0tCitnaXQtcHN1aCAtIERlbGlnaHQgdXNlcnMnIHR5cG8gd2l0aCBhIHNoeSBob3JzZQorCisKK1NZTk9QU0lTCistLS0tLS0tLQorW3ZlcnNlXQorJ2dpdC1wc3VoIFs8YXJnPi4uLl0nCisKK0RFU0NSSVBUSU9OCistLS0tLS0tLS0tLQorLi4uCisKK09QVElPTlNbW09QVElPTlNdXQorLS0tLS0tLS0tLS0tLS0tLS0tCisuLi4KKworT1VUUFVUCistLS0tLS0KKy4uLgorCitHSVQKKy0tLQorUGFydCBvZiB0aGUgbGlua2dpdDpnaXRbMV0gc3VpdGUKKy4uLi4KKworVGhlIG1vc3QgaW1wb3J0YW50IHBpZWNlcyBvZiB0aGlzIHRvIG5vdGUgYXJlIHRoZSBmaWxlIGhlYWRlciwgdW5kZXJsaW5lZCBieSA9LAordGhlIE5BTUUgc2VjdGlvbiwgYW5kIHRoZSBTWU5PUFNJUywgd2hpY2ggd291bGQgbm9ybWFsbHkgY29udGFpbiB0aGUgZ3JhbW1hciBpZgoreW91ciBjb21tYW5kIHRvb2sgYXJndW1lbnRzLiBUcnkgdG8gdXNlIHdlbGwtZXN0YWJsaXNoZWQgbWFucGFnZSBoZWFkZXJzIHNvIHlvdXIKK2RvY3VtZW50YXRpb24gaXMgY29uc2lzdGVudCB3aXRoIG90aGVyIEdpdCBhbmQgVU5JWCBtYW5wYWdlczsgdGhpcyBtYWtlcyBsaWZlCitlYXNpZXIgZm9yIHlvdXIgdXNlciwgd2hvIGNhbiBza2lwIHRvIHRoZSBzZWN0aW9uIHRoZXkga25vdyBjb250YWlucyB0aGUKK2luZm9ybWF0aW9uIHRoZXkgbmVlZC4KKworTm93IHRoYXQgeW91J3ZlIHdyaXR0ZW4geW91ciBtYW5wYWdlLCB5b3UnbGwgbmVlZCB0byBidWlsZCBpdCBleHBsaWNpdGx5LiBXZQorY29udmVydCB5b3VyIEFzY2lpRG9jIHRvIHRyb2ZmIHdoaWNoIGlzIG1hbi1yZWFkYWJsZSBsaWtlIHNvOgorCistLS0tCiskIG1ha2UgYWxsIGRvYworJCBtYW4gRG9jdW1lbnRhdGlvbi9naXQtcHN1aC4xCistLS0tCisKK29yCisKKy0tLS0KKyQgbWFrZSAtQyBEb2N1bWVudGF0aW9uLyBnaXQtcHN1aC4xCiskIG1hbiBEb2N1bWVudGF0aW9uL2dpdC1wc3VoLjEKKy0tLS0KKworTk9URTogWW91IG1heSBuZWVkIHRvIGluc3RhbGwgdGhlIHBhY2thZ2UgYGFzY2lpZG9jYCB0byBnZXQgdGhpcyB0byB3b3JrLgorCitXaGlsZSB0aGlzIGlzbid0IGFzIHNhdGlzZnlpbmcgYXMgcnVubmluZyB0aHJvdWdoIGBnaXQgaGVscGAsIHlvdSBjYW4gYXQgbGVhc3QKK2NoZWNrIHRoYXQgeW91ciBoZWxwIHBhZ2UgbG9va3MgcmlnaHQuCisKK1lvdSBjYW4gYWxzbyBjaGVjayB0aGF0IHRoZSBkb2N1bWVudGF0aW9uIGNvdmVyYWdlIGlzIGdvb2QgKHRoYXQgaXMsIHRoZSBwcm9qZWN0CitzZWVzIHRoYXQgeW91ciBjb21tYW5kIGhhcyBiZWVuIGltcGxlbWVudGVkIGFzIHdlbGwgYXMgZG9jdW1lbnRlZCkgYnkgcnVubmluZworYG1ha2UgY2hlY2stZG9jc2AgZnJvbSB0aGUgdG9wLWxldmVsLgorCitHbyBhaGVhZCBhbmQgY29tbWl0IHlvdXIgbmV3IGRvY3VtZW50YXRpb24gY2hhbmdlLgorCitbW2FkZC11c2FnZV1dCis9PT0gQWRkaW5nIFVzYWdlIFRleHQKKworVHJ5IGFuZCBydW4gYC4vYmluLXdyYXBwZXJzL2dpdCBwc3VoIC1oYC4gWW91ciBjb21tYW5kIHNob3VsZCBjcmFzaCBhdCB0aGUgZW5kLgorVGhhdCdzIGJlY2F1c2UgYC1oYCBpcyBhIHNwZWNpYWwgY2FzZSB3aGljaCB5b3VyIGNvbW1hbmQgc2hvdWxkIGhhbmRsZSBieQorcHJpbnRpbmcgdXNhZ2UuCisKK1Rha2UgYSBsb29rIGF0IGBEb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktcGFyc2Utb3B0aW9ucy50eHRgLiBUaGlzIGlzIGEgaGFuZHkKK3Rvb2wgZm9yIHB1bGxpbmcgb3V0IG9wdGlvbnMgeW91IG5lZWQgdG8gYmUgYWJsZSB0byBoYW5kbGUsIGFuZCBpdCB0YWtlcyBhCit1c2FnZSBzdHJpbmcuCisKK0luIG9yZGVyIHRvIHVzZSBpdCwgd2UnbGwgbmVlZCB0byBwcmVwYXJlIGEgTlVMTC10ZXJtaW5hdGVkIGFycmF5IG9mIHVzYWdlCitzdHJpbmdzIGFuZCBhIGBidWlsdGluX3BzdWhfb3B0aW9uc2AgYXJyYXkuCisKK0FkZCBhIGxpbmUgdG8gYCNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiYC4KKworQXQgZ2xvYmFsIHNjb3BlLCBhZGQgeW91ciBhcnJheSBvZiB1c2FnZSBzdHJpbmdzOgorCistLS0tCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHBzdWhfdXNhZ2VbXSA9IHsKKwlOXygiZ2l0IHBzdWggWzxhcmc+Li4uXSIpLAorCU5VTEwsCit9OworLS0tLQorCitUaGVuLCB3aXRoaW4geW91ciBgY21kX3BzdWgoKWAgaW1wbGVtZW50YXRpb24sIHdlIGNhbiBkZWNsYXJlIGFuZCBwb3B1bGF0ZSBvdXIKK2BvcHRpb25gIHN0cnVjdC4gT3VycyBpcyBwcmV0dHkgYm9yaW5nIGJ1dCB5b3UgY2FuIGFkZCBtb3JlIHRvIGl0IGlmIHlvdSB3YW50IHRvCitleHBsb3JlIGBwYXJzZV9vcHRpb25zKClgIGluIG1vcmUgZGV0YWlsOgorCistLS0tCisJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CisJCU9QVF9FTkQoKQorCX07CistLS0tCisKK0ZpbmFsbHksIGJlZm9yZSB5b3UgcHJpbnQgeW91ciBhcmdzIGFuZCBwcmVmaXgsIGFkZCB0aGUgY2FsbCB0bworYHBhcnNlLW9wdGlvbnMoKWA6CisKKy0tLS0KKwlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIG9wdGlvbnMsIHBzdWhfdXNhZ2UsIDApOworLS0tLQorCitUaGlzIGNhbGwgd2lsbCBtb2RpZnkgeW91ciBgYXJndmAgcGFyYW1ldGVyLiBJdCB3aWxsIHN0cmlwIHRoZSBvcHRpb25zIHlvdQorc3BlY2lmaWVkIGluIGBvcHRpb25zYCBmcm9tIGBhcmd2YCBhbmQgdGhlIGxvY2F0aW9ucyBwb2ludGVkIHRvIGZyb20gYG9wdGlvbnNgCitlbnRyaWVzIHdpbGwgYmUgdXBkYXRlZC4gQmUgc3VyZSB0byByZXBsYWNlIHlvdXIgYGFyZ2NgIHdpdGggdGhlIHJlc3VsdCBmcm9tCitgcGFyc2Vfb3B0aW9ucygpYCwgb3IgeW91IHdpbGwgYmUgY29uZnVzZWQgaWYgeW91IHRyeSB0byBwYXJzZSBgYXJndmAgbGF0ZXIuCisKK0l0J3Mgd29ydGggbm90aW5nIHRoZSBzcGVjaWFsIGFyZ3VtZW50IGAtLWAuIEFzIHlvdSBtYXkgYmUgYXdhcmUsIG1hbnkgVW5peAorY29tbWFuZHMgdXNlIGAtLWAgdG8gaW5kaWNhdGUgImVuZCBvZiBuYW1lZCBwYXJhbWV0ZXJzIiAtIGFsbCBwYXJhbWV0ZXJzIGFmdGVyCit0aGUgYC0tYCBhcmUgaW50ZXJwcmV0ZWQgbWVyZWx5IGFzIHBvc2l0aW9uYWwgYXJndW1lbnRzLiAoVGhpcyBjYW4gYmUgaGFuZHkgaWYKK3lvdSB3YW50IHRvIHBhc3MgYXMgYSBwYXJhbWV0ZXIgc29tZXRoaW5nIHdoaWNoIHdvdWxkIHVzdWFsbHkgYmUgaW50ZXJwcmV0ZWQgYXMKK2EgZmxhZy4pIGBwYXJzZV9vcHRpb25zKClgIHdpbGwgdGVybWluYXRlIHBhcnNpbmcgd2hlbiBpdCByZWFjaGVzIGAtLWAgYW5kIGdpdmUKK3lvdSB0aGUgcmVzdCBvZiB0aGUgb3B0aW9ucyBhZnRlcndhcmRzLCB1bnRvdWNoZWQuCisKK05vdyB0aGF0IHlvdSBoYXZlIGEgdXNhZ2UgaGludCwgeW91IGNhbiB0ZWFjaCBHaXQgaG93IHRvIHNob3cgaXQgaW4gdGhlIGdlbmVyYWwKK2NvbW1hbmQgbGlzdCBzaG93biBieSBgZ2l0IGhlbHAgZ2l0YCBvciBgZ2l0IGhlbHAgLWFgLCB3aGljaCBpcyBnZW5lcmF0ZWQgZnJvbQorYGNvbW1hbmQtbGlzdC50eHRgLiBGaW5kIHRoZSBsaW5lIGZvciAnZ2l0LXB1bGwnIHNvIHlvdSBjYW4gYWRkIHlvdXIgJ2dpdC1wc3VoJworbGluZSBhYm92ZSBpdCBpbiBhbHBoYWJldGljYWwgb3JkZXIuIE5vdywgd2UgY2FuIGFkZCBzb21lIGF0dHJpYnV0ZXMgYWJvdXQgdGhlCitjb21tYW5kIHdoaWNoIGltcGFjdHMgd2hlcmUgaXQgc2hvd3MgdXAgaW4gdGhlIGFmb3JlbWVudGlvbmVkIGhlbHAgY29tbWFuZHMuIFRoZQordG9wIG9mIGBjb21tYW5kLWxpc3QudHh0YCBzaGFyZXMgc29tZSBpbmZvcm1hdGlvbiBhYm91dCB3aGF0IGVhY2ggYXR0cmlidXRlCittZWFuczsgaW4gdGhvc2UgaGVscCBwYWdlcywgdGhlIGNvbW1hbmRzIGFyZSBzb3J0ZWQgYWNjb3JkaW5nIHRvIHRoZXNlCithdHRyaWJ1dGVzLiBgZ2l0IHBzdWhgIGlzIHVzZXItZmFjaW5nLCBvciBwb3JjZWxhaW4gLSBzbyB3ZSB3aWxsIG1hcmsgaXQgYXMKKyJtYWlucG9yY2VsYWluIi4gRm9yICJtYWlucG9yY2VsYWluIiBjb21tYW5kcywgdGhlIGNvbW1lbnRzIGF0IHRoZSB0b3Agb2YKK2Bjb21tYW5kLWxpc3QudHh0YCBpbmRpY2F0ZSB3ZSBjYW4gYWxzbyBvcHRpb25hbGx5IGFkZCBhbiBhdHRyaWJ1dGUgZnJvbSBhbm90aGVyCitsaXN0OyBzaW5jZSBgZ2l0IHBzdWhgIHNob3dzIHNvbWUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHVzZXIncyB3b3Jrc3BhY2UgYnV0Citkb2Vzbid0IG1vZGlmeSBhbnl0aGluZywgbGV0J3MgbWFyayBpdCBhcyAiaW5mbyIuIE1ha2Ugc3VyZSB0byBrZWVwIHlvdXIKK2F0dHJpYnV0ZXMgaW4gdGhlIHNhbWUgc3R5bGUgYXMgdGhlIHJlc3Qgb2YgYGNvbW1hbmQtbGlzdC50eHRgIHVzaW5nIHNwYWNlcyB0bworYWxpZ24gYW5kIGRlbGluZWF0ZSB0aGVtOgorCistLS0tCitnaXQtcHJ1bmUtcGFja2VkICAgICAgICAgICAgICAgICAgICAgICAgcGx1bWJpbmdtYW5pcHVsYXRvcnMKK2dpdC1wc3VoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWlucG9yY2VsYWluCQlpbmZvCitnaXQtcHVsbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbnBvcmNlbGFpbiAgICAgICAgICAgcmVtb3RlCitnaXQtcHVzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbnBvcmNlbGFpbiAgICAgICAgICAgcmVtb3RlCistLS0tCisKK0J1aWxkIGFnYWluLiBOb3csIHdoZW4geW91IHJ1biB3aXRoIGAtaGAsIHlvdSBzaG91bGQgc2VlIHlvdXIgdXNhZ2UgcHJpbnRlZCBhbmQKK3lvdXIgY29tbWFuZCB0ZXJtaW5hdGVkIGJlZm9yZSBhbnl0aGluZyBlbHNlIGludGVyZXN0aW5nIGhhcHBlbnMuIEdyZWF0IQorCitHbyBhaGVhZCBhbmQgY29tbWl0IHRoaXMgb25lLCB0b28uCisKK1tbdGVzdGluZ11dCis9PSBUZXN0aW5nCisKK0l0J3MgaW1wb3J0YW50IHRvIHRlc3QgeW91ciBjb2RlIC0gZXZlbiBmb3IgYSBsaXR0bGUgdG95IGNvbW1hbmQgbGlrZSB0aGlzIG9uZS4KK01vcmVvdmVyLCB5b3VyIHBhdGNoIHdvbid0IGJlIGFjY2VwdGVkIGludG8gdGhlIEdpdCB0cmVlIHdpdGhvdXQgdGVzdHMuIFlvdXIKK3Rlc3RzIHNob3VsZDoKKworKiBJbGx1c3RyYXRlIHRoZSBjdXJyZW50IGJlaGF2aW9yIG9mIHRoZSBmZWF0dXJlCisqIFByb3ZlIHRoZSBjdXJyZW50IGJlaGF2aW9yIG1hdGNoZXMgdGhlIGV4cGVjdGVkIGJlaGF2aW9yCisqIEVuc3VyZSB0aGUgZXh0ZXJuYWxseS12aXNpYmxlIGJlaGF2aW9yIGlzbid0IGJyb2tlbiBpbiBsYXRlciBjaGFuZ2VzCisKK1NvIGxldCdzIHdyaXRlIHNvbWUgdGVzdHMuCisKK1JlbGF0ZWQgcmVhZGluZzogYHQvUkVBRE1FYAorCitbW292ZXJ2aWV3LXRlc3Qtc3RydWN0dXJlXV0KKz09PSBPdmVydmlldyBvZiBUZXN0aW5nIFN0cnVjdHVyZQorCitUaGUgdGVzdHMgaW4gR2l0IGxpdmUgaW4gYHQvYCBhbmQgYXJlIG5hbWVkIHdpdGggYSA0LWRpZ2l0IGRlY2ltYWwgbnVtYmVyIHVzaW5nCit0aGUgc2NoZW1hIHNob3duIGluIHRoZSBOYW1pbmcgVGVzdHMgc2VjdGlvbiBvZiBgdC9SRUFETUVgLgorCitbW3dyaXRlLW5ldy10ZXN0XV0KKz09PSBXcml0aW5nIFlvdXIgVGVzdAorCitTaW5jZSB0aGlzIGEgdG95IGNvbW1hbmQsIGxldCdzIGdvIGFoZWFkIGFuZCBuYW1lIHRoZSB0ZXN0IHdpdGggdDk5OTkuIEhvd2V2ZXIsCithcyBtYW55IG9mIHRoZSBmYW1pbHkvc3ViY21kIGNvbWJpbmF0aW9ucyBhcmUgZnVsbCwgYmVzdCBwcmFjdGljZSBzZWVtcyB0byBiZQordG8gZmluZCBhIGNvbW1hbmQgY2xvc2UgZW5vdWdoIHRvIHRoZSBvbmUgeW91J3ZlIGFkZGVkIGFuZCBzaGFyZSBpdHMgbmFtaW5nCitzcGFjZS4KKworQ3JlYXRlIGEgbmV3IGZpbGUgYHQvdDk5OTktcHN1aC10dXRvcmlhbC5zaGAuIEJlZ2luIHdpdGggdGhlIGhlYWRlciBhcyBzbyAoc2VlCisiV3JpdGluZyBUZXN0cyIgYW5kICJTb3VyY2UgJ3Rlc3QtbGliLnNoJyIgaW4gYHQvUkVBRE1FYCk6CisKKy0tLS0KKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdnaXQtcHN1aCB0ZXN0CisKK1RoaXMgdGVzdCBydW5zIGdpdC1wc3VoIGFuZCBtYWtlcyBzdXJlIGl0IGRvZXMgbm90IGNyYXNoLicKKworLiAuL3Rlc3QtbGliLnNoCistLS0tCisKK1Rlc3RzIGFyZSBmcmFtZWQgaW5zaWRlIG9mIGEgYHRlc3RfZXhwZWN0X3N1Y2Nlc3NgIGluIG9yZGVyIHRvIG91dHB1dCBUQVAKK2Zvcm1hdHRlZCByZXN1bHRzLiBMZXQncyBtYWtlIHN1cmUgdGhhdCBgZ2l0IHBzdWhgIGRvZXNuJ3QgZXhpdCBwb29ybHkgYW5kIGRvZXMKK21lbnRpb24gdGhlIHJpZ2h0IGFuaW1hbCBzb21ld2hlcmU6CisKKy0tLS0KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3J1bnMgY29ycmVjdGx5IHdpdGggbm8gYXJncyBhbmQgZ29vZCBvdXRwdXQnICcKKwlnaXQgcHN1aCA+YWN0dWFsICYmCisJdGVzdF9pMThuZ3JlcCBQb255IGFjdHVhbAorJworLS0tLQorCitJbmRpY2F0ZSB0aGF0IHlvdSd2ZSBydW4gZXZlcnl0aGluZyB5b3Ugd2FudGVkIGJ5IGFkZGluZyB0aGUgZm9sbG93aW5nIGF0IHRoZQorYm90dG9tIG9mIHlvdXIgc2NyaXB0OgorCistLS0tCit0ZXN0X2RvbmUKKy0tLS0KKworTWFrZSBzdXJlIHlvdSBtYXJrIHlvdXIgdGVzdCBzY3JpcHQgZXhlY3V0YWJsZToKKworLS0tLQorJCBjaG1vZCAreCB0L3Q5OTk5LXBzdWgtdHV0b3JpYWwuc2gKKy0tLS0KKworWW91IGNhbiBnZXQgYW4gaWRlYSBvZiB3aGV0aGVyIHlvdSBjcmVhdGVkIHlvdXIgbmV3IHRlc3Qgc2NyaXB0IHN1Y2Nlc3NmdWxseQorYnkgcnVubmluZyBgbWFrZSAtQyB0IHRlc3QtbGludGAsIHdoaWNoIHdpbGwgY2hlY2sgZm9yIHRoaW5ncyBsaWtlIHRlc3QgbnVtYmVyCit1bmlxdWVuZXNzLCBleGVjdXRhYmxlIGJpdCwgYW5kIHNvIG9uLgorCitbW2xvY2FsLXRlc3RdXQorPT09IFJ1bm5pbmcgTG9jYWxseQorCitMZXQncyB0cnkgYW5kIHJ1biBsb2NhbGx5OgorCistLS0tCiskIG1ha2UKKyQgY2QgdC8gJiYgcHJvdmUgdDk5OTktcHN1aC10dXRvcmlhbC5zaAorLS0tLQorCitZb3UgY2FuIHJ1biB0aGUgZnVsbCB0ZXN0IHN1aXRlIGFuZCBlbnN1cmUgYGdpdC1wc3VoYCBkaWRuJ3QgYnJlYWsgYW55dGhpbmc6CisKKy0tLS0KKyQgY2QgdC8KKyQgcHJvdmUgLWokKG5wcm9jKSAtLXNodWZmbGUgdFswLTldKi5zaAorLS0tLQorCitOT1RFOiBZb3UgY2FuIGFsc28gZG8gdGhpcyB3aXRoIGBtYWtlIHRlc3RgIG9yIHVzZSBhbnkgdGVzdGluZyBoYXJuZXNzIHdoaWNoIGNhbgorc3BlYWsgVEFQLiBgcHJvdmVgIGNhbiBydW4gY29uY3VycmVudGx5LiBgc2h1ZmZsZWAgcmFuZG9taXplcyB0aGUgb3JkZXIgdGhlCit0ZXN0cyBhcmUgcnVuIGluLCB3aGljaCBtYWtlcyB0aGVtIHJlc2lsaWVudCBhZ2FpbnN0IHVud2FudGVkIGludGVyLXRlc3QKK2RlcGVuZGVuY2llcy4gYHByb3ZlYCBhbHNvIG1ha2VzIHRoZSBvdXRwdXQgbmljZXIuCisKK0dvIGFoZWFkIGFuZCBjb21taXQgdGhpcyBjaGFuZ2UsIGFzIHdlbGwuCisKK1tbcmVhZHktdG8tc2hhcmVdXQorPT0gR2V0dGluZyBSZWFkeSB0byBTaGFyZQorCitZb3UgbWF5IGhhdmUgbm90aWNlZCBhbHJlYWR5IHRoYXQgdGhlIEdpdCBwcm9qZWN0IHBlcmZvcm1zIGl0cyBjb2RlIHJldmlld3MgdmlhCitlbWFpbGVkIHBhdGNoZXMsIHdoaWNoIGFyZSB0aGVuIGFwcGxpZWQgYnkgdGhlIG1haW50YWluZXIgd2hlbiB0aGV5IGFyZSByZWFkeQorYW5kIGFwcHJvdmVkIGJ5IHRoZSBjb21tdW5pdHkuIFRoZSBHaXQgcHJvamVjdCBkb2VzIG5vdCBhY2NlcHQgcGF0Y2hlcyBmcm9tCitwdWxsIHJlcXVlc3RzLCBhbmQgdGhlIHBhdGNoZXMgZW1haWxlZCBmb3IgcmV2aWV3IG5lZWQgdG8gYmUgZm9ybWF0dGVkIGEKK3NwZWNpZmljIHdheS4gQXQgdGhpcyBwb2ludCB0aGUgdHV0b3JpYWwgZGl2ZXJnZXMsIGluIG9yZGVyIHRvIGRlbW9uc3RyYXRlIHR3bworZGlmZmVyZW50IG1ldGhvZHMgb2YgZm9ybWF0dGluZyB5b3VyIHBhdGNoc2V0IGFuZCBnZXR0aW5nIGl0IHJldmlld2VkLgorCitUaGUgZmlyc3QgbWV0aG9kIHRvIGJlIGNvdmVyZWQgaXMgR2l0R2l0R2FkZ2V0LCB3aGljaCBpcyB1c2VmdWwgZm9yIHRob3NlCithbHJlYWR5IGZhbWlsaWFyIHdpdGggR2l0SHViJ3MgY29tbW9uIHB1bGwgcmVxdWVzdCB3b3JrZmxvdy4gVGhpcyBtZXRob2QKK3JlcXVpcmVzIGEgR2l0SHViIGFjY291bnQuCisKK1RoZSBzZWNvbmQgbWV0aG9kIHRvIGJlIGNvdmVyZWQgaXMgYGdpdCBzZW5kLWVtYWlsYCwgd2hpY2ggY2FuIGdpdmUgc2xpZ2h0bHkKK21vcmUgZmluZS1ncmFpbmVkIGNvbnRyb2wgb3ZlciB0aGUgZW1haWxzIHRvIGJlIHNlbnQuIFRoaXMgbWV0aG9kIHJlcXVpcmVzIHNvbWUKK3NldHVwIHdoaWNoIGNhbiBjaGFuZ2UgZGVwZW5kaW5nIG9uIHlvdXIgc3lzdGVtIGFuZCB3aWxsIG5vdCBiZSBjb3ZlcmVkIGluIHRoaXMKK3R1dG9yaWFsLgorCitSZWdhcmRsZXNzIG9mIHdoaWNoIG1ldGhvZCB5b3UgY2hvb3NlLCB5b3VyIGVuZ2FnZW1lbnQgd2l0aCByZXZpZXdlcnMgd2lsbCBiZQordGhlIHNhbWU7IHRoZSByZXZpZXcgcHJvY2VzcyB3aWxsIGJlIGNvdmVyZWQgYWZ0ZXIgdGhlIHNlY3Rpb25zIG9uIEdpdEdpdEdhZGdldAorYW5kIGBnaXQgc2VuZC1lbWFpbGAuCisKK1tbaG93dG8tZ2dnXV0KKz09IFNlbmRpbmcgUGF0Y2hlcyB2aWEgR2l0R2l0R2FkZ2V0CisKK09uZSBvcHRpb24gZm9yIHNlbmRpbmcgcGF0Y2hlcyBpcyB0byBmb2xsb3cgYSB0eXBpY2FsIHB1bGwgcmVxdWVzdCB3b3JrZmxvdyBhbmQKK3NlbmQgeW91ciBwYXRjaGVzIG91dCB2aWEgR2l0R2l0R2FkZ2V0LiBHaXRHaXRHYWRnZXQgaXMgYSB0b29sIGNyZWF0ZWQgYnkKK0pvaGFubmVzIFNjaGluZGVsaW4gdG8gbWFrZSBsaWZlIGFzIGEgR2l0IGNvbnRyaWJ1dG9yIGVhc2llciBmb3IgdGhvc2UgdXNlZCB0bwordGhlIEdpdEh1YiBQUiB3b3JrZmxvdy4gSXQgYWxsb3dzIGNvbnRyaWJ1dG9ycyB0byBvcGVuIHB1bGwgcmVxdWVzdHMgYWdhaW5zdCBpdHMKK21pcnJvciBvZiB0aGUgR2l0IHByb2plY3QsIGFuZCBkb2VzIHNvbWUgbWFnaWMgdG8gdHVybiB0aGUgUFIgaW50byBhIHNldCBvZgorZW1haWxzIGFuZCBzZW5kIHRoZW0gb3V0IGZvciB5b3UuIEl0IGFsc28gcnVucyB0aGUgR2l0IGNvbnRpbnVvdXMgaW50ZWdyYXRpb24KK3N1aXRlIGZvciB5b3UuIEl0J3MgZG9jdW1lbnRlZCBhdCBodHRwOi8vZ2l0Z2l0Z2FkZ2V0LmdpdGh1Yi5pby4KKworW1tjcmVhdGUtZm9ya11dCis9PT0gRm9ya2luZyBgZ2l0L2dpdGAgb24gR2l0SHViCisKK0JlZm9yZSB5b3UgY2FuIHNlbmQgeW91ciBwYXRjaCBvZmYgdG8gYmUgcmV2aWV3ZWQgdXNpbmcgR2l0R2l0R2FkZ2V0LCB5b3Ugd2lsbAorbmVlZCB0byBmb3JrIHRoZSBHaXQgcHJvamVjdCBhbmQgdXBsb2FkIHlvdXIgY2hhbmdlcy4gRmlyc3QgdGhpbmcgLSBtYWtlIHN1cmUKK3lvdSBoYXZlIGEgR2l0SHViIGFjY291bnQuCisKK0hlYWQgdG8gdGhlIGh0dHBzOi8vZ2l0aHViLmNvbS9naXQvZ2l0W0dpdEh1YiBtaXJyb3JdIGFuZCBsb29rIGZvciB0aGUgRm9yaworYnV0dG9uLiBQbGFjZSB5b3VyIGZvcmsgd2hlcmV2ZXIgeW91IGRlZW0gYXBwcm9wcmlhdGUgYW5kIGNyZWF0ZSBpdC4KKworW1t1cGxvYWQtdG8tZm9ya11dCis9PT0gVXBsb2FkaW5nIHRvIFlvdXIgT3duIEZvcmsKKworVG8gdXBsb2FkIHlvdXIgYnJhbmNoIHRvIHlvdXIgb3duIGZvcmssIHlvdSdsbCBuZWVkIHRvIGFkZCB0aGUgbmV3IGZvcmsgYXMgYQorcmVtb3RlLiBZb3UgY2FuIHVzZSBgZ2l0IHJlbW90ZSAtdmAgdG8gc2hvdyB0aGUgcmVtb3RlcyB5b3UgaGF2ZSBhZGRlZCBhbHJlYWR5LgorRnJvbSB5b3VyIG5ldyBmb3JrJ3MgcGFnZSBvbiBHaXRIdWIsIHlvdSBjYW4gcHJlc3MgIkNsb25lIG9yIGRvd25sb2FkIiB0byBnZXQKK3RoZSBVUkw7IHRoZW4geW91IG5lZWQgdG8gcnVuIHRoZSBmb2xsb3dpbmcgdG8gYWRkLCByZXBsYWNpbmcgeW91ciBvd24gVVJMIGFuZAorcmVtb3RlIG5hbWUgZm9yIHRoZSBleGFtcGxlcyBwcm92aWRlZDoKKworLS0tLQorJCBnaXQgcmVtb3RlIGFkZCByZW1vdGVuYW1lIGdpdEBnaXRodWIuY29tOnJlbW90ZW5hbWUvZ2l0LmdpdAorLS0tLQorCitvciB0byB1c2UgdGhlIEhUVFBTIFVSTDoKKworLS0tLQorJCBnaXQgcmVtb3RlIGFkZCByZW1vdGVuYW1lIGh0dHBzOi8vZ2l0aHViLmNvbS9yZW1vdGVuYW1lL2dpdC8uZ2l0CistLS0tCisKK1J1biBgZ2l0IHJlbW90ZSAtdmAgYWdhaW4gYW5kIHlvdSBzaG91bGQgc2VlIHRoZSBuZXcgcmVtb3RlIHNob3dpbmcgdXAuCitgZ2l0IGZldGNoIHJlbW90ZW5hbWVgICh3aXRoIHRoZSByZWFsIG5hbWUgb2YgeW91ciByZW1vdGUgcmVwbGFjZWQpIGluIG9yZGVyIHRvCitnZXQgcmVhZHkgdG8gcHVzaC4KKworTmV4dCwgZG91YmxlLWNoZWNrIHRoYXQgeW91J3ZlIGJlZW4gZG9pbmcgYWxsIHlvdXIgZGV2ZWxvcG1lbnQgaW4gYSBuZXcgYnJhbmNoCitieSBydW5uaW5nIGBnaXQgYnJhbmNoYC4gSWYgeW91IGRpZG4ndCwgbm93IGlzIGEgZ29vZCB0aW1lIHRvIG1vdmUgeW91ciBuZXcKK2NvbW1pdHMgdG8gdGhlaXIgb3duIGJyYW5jaC4KKworQXMgbWVudGlvbmVkIGJyaWVmbHkgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGlzIGRvY3VtZW50LCB3ZSBhcmUgYmFzaW5nIG91ciB3b3JrCitvbiBgbWFzdGVyYCwgc28gZ28gYWhlYWQgYW5kIHVwZGF0ZSBhcyBzaG93biBiZWxvdywgb3IgdXNpbmcgeW91ciBwcmVmZXJyZWQKK3dvcmtmbG93LgorCistLS0tCiskIGdpdCBjaGVja291dCBtYXN0ZXIKKyQgZ2l0IHB1bGwgLXIKKyQgZ2l0IHJlYmFzZSBtYXN0ZXIgcHN1aAorLS0tLQorCitGaW5hbGx5LCB5b3UncmUgcmVhZHkgdG8gcHVzaCB5b3VyIG5ldyB0b3BpYyBicmFuY2ghIChEdWUgdG8gb3VyIGJyYW5jaCBhbmQKK2NvbW1hbmQgbmFtZSBjaG9pY2VzLCBiZSBjYXJlZnVsIHdoZW4geW91IHR5cGUgdGhlIGNvbW1hbmQgYmVsb3cuKQorCistLS0tCiskIGdpdCBwdXNoIHJlbW90ZW5hbWUgcHN1aAorLS0tLQorCitOb3cgeW91IHNob3VsZCBiZSBhYmxlIHRvIGdvIGFuZCBjaGVjayBvdXQgeW91ciBuZXdseSBjcmVhdGVkIGJyYW5jaCBvbiBHaXRIdWIuCisKK1tbc2VuZC1wci1nZ2ddXQorPT09IFNlbmRpbmcgYSBQUiB0byBHaXRHaXRHYWRnZXQKKworSW4gb3JkZXIgdG8gaGF2ZSB5b3VyIGNvZGUgdGVzdGVkIGFuZCBmb3JtYXR0ZWQgZm9yIHJldmlldywgeW91IG5lZWQgdG8gc3RhcnQgYnkKK29wZW5pbmcgYSBQdWxsIFJlcXVlc3QgYWdhaW5zdCBgZ2l0Z2l0Z2FkZ2V0L2dpdGAuIEhlYWQgdG8KK2h0dHBzOi8vZ2l0aHViLmNvbS9naXRnaXRnYWRnZXQvZ2l0IGFuZCBvcGVuIGEgUFIgZWl0aGVyIHdpdGggdGhlICJOZXcgcHVsbAorcmVxdWVzdCIgYnV0dG9uIG9yIHRoZSBjb252ZW5pZW50ICJDb21wYXJlICYgcHVsbCByZXF1ZXN0IiBidXR0b24gdGhhdCBtYXkKK2FwcGVhciB3aXRoIHRoZSBuYW1lIG9mIHlvdXIgbmV3bHkgcHVzaGVkIGJyYW5jaC4KKworUmV2aWV3IHRoZSBQUidzIHRpdGxlIGFuZCBkZXNjcmlwdGlvbiwgYXMgaXQncyB1c2VkIGJ5IEdpdEdpdEdhZGdldCBhcyB0aGUgY292ZXIKK2xldHRlciBmb3IgeW91ciBjaGFuZ2UuIFdoZW4geW91J3JlIGhhcHB5LCBzdWJtaXQgeW91ciBwdWxsIHJlcXVlc3QuCisKK1tbcnVuLWNpLWdnZ11dCis9PT0gUnVubmluZyBDSSBhbmQgR2V0dGluZyBSZWFkeSB0byBTZW5kCisKK0lmIGl0J3MgeW91ciBmaXJzdCB0aW1lIHVzaW5nIEdpdEdpdEdhZGdldCAod2hpY2ggaXMgbGlrZWx5LCBhcyB5b3UncmUgdXNpbmcKK3RoaXMgdHV0b3JpYWwpIHRoZW4gc29tZW9uZSB3aWxsIG5lZWQgdG8gZ2l2ZSB5b3UgcGVybWlzc2lvbiB0byB1c2UgdGhlIHRvb2wuCitBcyBtZW50aW9uZWQgaW4gdGhlIEdpdEdpdEdhZGdldCBkb2N1bWVudGF0aW9uLCB5b3UganVzdCBuZWVkIHNvbWVvbmUgd2hvCithbHJlYWR5IHVzZXMgaXQgdG8gY29tbWVudCBvbiB5b3VyIFBSIHdpdGggYC9hbGxvdyA8dXNlcm5hbWU+YC4gR2l0R2l0R2FkZ2V0Cit3aWxsIGF1dG9tYXRpY2FsbHkgcnVuIHlvdXIgUFJzIHRocm91Z2ggdGhlIENJIGV2ZW4gd2l0aG91dCB0aGUgcGVybWlzc2lvbiBnaXZlbgorYnV0IHlvdSB3aWxsIG5vdCBiZSBhYmxlIHRvIGAvc3VibWl0YCB5b3VyIGNoYW5nZXMgdW50aWwgc29tZW9uZSBhbGxvd3MgeW91IHRvCit1c2UgdGhlIHRvb2wuCisKK05PVEU6IFlvdSBjYW4gdHlwaWNhbGx5IGZpbmQgc29tZW9uZSB3aG8gY2FuIGAvYWxsb3dgIHlvdSBvbiBHaXRHaXRHYWRnZXQgYnkKK2VpdGhlciBleGFtaW5pbmcgcmVjZW50IHB1bGwgcmVxdWVzdHMgd2hlcmUgc29tZW9uZSBoYXMgYmVlbiBncmFudGVkIGAvYWxsb3dgCisoaHR0cHM6Ly9naXRodWIuY29tL2dpdGdpdGdhZGdldC9naXQvcHVsbHM/dXRmOD0lRTIlOUMlOTMmcT1pcyUzQXByK2lzJTNBb3BlbislMjIlMkZhbGxvdyUyMltTZWFyY2g6CitpczpwciBpczpvcGVuICIvYWxsb3ciXSksIGluIHdoaWNoIGNhc2UgYm90aCB0aGUgYXV0aG9yIGFuZCB0aGUgcGVyc29uIHdobworZ3JhbnRlZCB0aGUgYC9hbGxvd2AgY2FuIG5vdyBgL2FsbG93YCB5b3UsIG9yIGJ5IGlucXVpcmluZyBvbiB0aGUKK2h0dHBzOi8vd2ViY2hhdC5mcmVlbm9kZS5uZXQvI2dpdC1kZXZlbFsjZ2l0LWRldmVsXSBJUkMgY2hhbm5lbCBvbiBGcmVlbm9kZQorbGlua2luZyB5b3VyIHB1bGwgcmVxdWVzdCBhbmQgYXNraW5nIGZvciBzb21lb25lIHRvIGAvYWxsb3dgIHlvdS4KKworSWYgdGhlIENJIGZhaWxzLCB5b3UgY2FuIHVwZGF0ZSB5b3VyIGNoYW5nZXMgd2l0aCBgZ2l0IHJlYmFzZSAtaWAgYW5kIHB1c2ggeW91cgorYnJhbmNoIGFnYWluOgorCistLS0tCiskIGdpdCBwdXNoIC1mIHJlbW90ZW5hbWUgcHN1aAorLS0tLQorCitJbiBmYWN0LCB5b3Ugc2hvdWxkIGNvbnRpbnVlIHRvIG1ha2UgY2hhbmdlcyB0aGlzIHdheSB1cCB1bnRpbCB0aGUgcG9pbnQgd2hlbgoreW91ciBwYXRjaCBpcyBhY2NlcHRlZCBpbnRvIGBuZXh0YC4KKworLy8vLworVE9ETyBodHRwczovL2dpdGh1Yi5jb20vZ2l0Z2l0Z2FkZ2V0L2dpdGdpdGdhZGdldC9pc3N1ZXMvODMKK0l0J2QgYmUgbmljZSB0byBiZSBhYmxlIHRvIHZlcmlmeSB0aGF0IHRoZSBwYXRjaCBsb29rcyBnb29kIGJlZm9yZSBzZW5kaW5nIGl0Cit0byBldmVyeW9uZSBvbiBHaXQgbWFpbGluZyBsaXN0LgorW1tjaGVjay13b3JrLWdnZ11dCis9PT0gQ2hlY2sgWW91ciBXb3JrCisvLy8vCisKK1tbc2VuZC1tYWlsLWdnZ11dCis9PT0gU2VuZGluZyBZb3VyIFBhdGNoZXMKKworTm93IHRoYXQgeW91ciBDSSBpcyBwYXNzaW5nIGFuZCBzb21lb25lIGhhcyBncmFudGVkIHlvdSBwZXJtaXNzaW9uIHRvIHVzZQorR2l0R2l0R2FkZ2V0IHdpdGggdGhlIGAvYWxsb3dgIGNvbW1hbmQsIHNlbmRpbmcgb3V0IGZvciByZXZpZXcgaXMgYXMgc2ltcGxlIGFzCitjb21tZW50aW5nIG9uIHlvdXIgUFIgd2l0aCBgL3N1Ym1pdGAuCisKK1tbcmVzcG9uZGluZy1nZ2ddXQorPT09IFVwZGF0aW5nIFdpdGggQ29tbWVudHMKKworU2tpcCBhaGVhZCB0byA8PHJldmlld2luZyxSZXNwb25kaW5nIHRvIFJldmlld3M+PiBmb3IgaW5mb3JtYXRpb24gb24gaG93IHRvCityZXBseSB0byByZXZpZXcgY29tbWVudHMgeW91IHdpbGwgcmVjZWl2ZSBvbiB0aGUgbWFpbGluZyBsaXN0LgorCitPbmNlIHlvdSBoYXZlIHlvdXIgYnJhbmNoIGFnYWluIGluIHRoZSBzaGFwZSB5b3Ugd2FudCBmb2xsb3dpbmcgYWxsIHJldmlldworY29tbWVudHMsIHlvdSBjYW4gc3VibWl0IGFnYWluOgorCistLS0tCiskIGdpdCBwdXNoIC1mIHJlbW90ZW5hbWUgcHN1aAorLS0tLQorCitOZXh0LCBnbyBsb29rIGF0IHlvdXIgcHVsbCByZXF1ZXN0IGFnYWluc3QgR2l0R2l0R2FkZ2V0OyB5b3Ugc2hvdWxkIHNlZSB0aGUgQ0kKK2hhcyBiZWVuIGtpY2tlZCBvZmYgYWdhaW4uIE5vdyB3aGlsZSB0aGUgQ0kgaXMgcnVubmluZyBpcyBhIGdvb2QgdGltZSBmb3IgeW91Cit0byBtb2RpZnkgeW91ciBkZXNjcmlwdGlvbiBhdCB0aGUgdG9wIG9mIHRoZSBwdWxsIHJlcXVlc3QgdGhyZWFkOyBpdCB3aWxsIGJlCit1c2VkIGFnYWluIGFzIHRoZSBjb3ZlciBsZXR0ZXIuIFlvdSBzaG91bGQgdXNlIHRoaXMgc3BhY2UgdG8gZGVzY3JpYmUgd2hhdAoraGFzIGNoYW5nZWQgc2luY2UgeW91ciBwcmV2aW91cyB2ZXJzaW9uLCBzbyB0aGF0IHlvdXIgcmV2aWV3ZXJzIGhhdmUgc29tZSBpZGVhCitvZiB3aGF0IHRoZXkncmUgbG9va2luZyBhdC4gV2hlbiB0aGUgQ0kgaXMgZG9uZSBydW5uaW5nLCB5b3UgY2FuIGNvbW1lbnQgb25jZQorbW9yZSB3aXRoIGAvc3VibWl0YCAtIEdpdEdpdEdhZGdldCB3aWxsIGF1dG9tYXRpY2FsbHkgYWRkIGEgdjIgbWFyayB0byB5b3VyCitjaGFuZ2VzLgorCitbW2hvd3RvLWdpdC1zZW5kLWVtYWlsXV0KKz09IFNlbmRpbmcgUGF0Y2hlcyB3aXRoIGBnaXQgc2VuZC1lbWFpbGAKKworSWYgeW91IGRvbid0IHdhbnQgdG8gdXNlIEdpdEdpdEdhZGdldCwgeW91IGNhbiBhbHNvIHVzZSBHaXQgaXRzZWxmIHRvIG1haWwgeW91cgorcGF0Y2hlcy4gU29tZSBiZW5lZml0cyBvZiB1c2luZyBHaXQgdGhpcyB3YXkgaW5jbHVkZSBmaW5lciBncmFpbmVkIGNvbnRyb2wgb2YKK3N1YmplY3QgbGluZSAoZm9yIGV4YW1wbGUsIGJlaW5nIGFibGUgdG8gdXNlIHRoZSB0YWcgW1JGQyBQQVRDSF0gaW4gdGhlIHN1YmplY3QpCithbmQgYmVpbmcgYWJsZSB0byBzZW5kIGEgYGBkcnkgcnVuJycgbWFpbCB0byB5b3Vyc2VsZiB0byBlbnN1cmUgaXQgYWxsIGxvb2tzCitnb29kIGJlZm9yZSBnb2luZyBvdXQgdG8gdGhlIGxpc3QuCisKK1tbc2V0dXAtZ2l0LXNlbmQtZW1haWxdXQorPT09IFByZXJlcXVpc2l0ZTogU2V0dGluZyBVcCBgZ2l0IHNlbmQtZW1haWxgCisKK0NvbmZpZ3VyYXRpb24gZm9yIGBzZW5kLWVtYWlsYCBjYW4gdmFyeSBiYXNlZCBvbiB5b3VyIG9wZXJhdGluZyBzeXN0ZW0gYW5kIGVtYWlsCitwcm92aWRlciwgYW5kIHNvIHdpbGwgbm90IGJlIGNvdmVyZWQgaW4gdGhpcyB0dXRvcmlhbCwgYmV5b25kIHN0YXRpbmcgdGhhdCBpbgorbWFueSBkaXN0cmlidXRpb25zIG9mIExpbnV4LCBgZ2l0LXNlbmQtZW1haWxgIGlzIG5vdCBwYWNrYWdlZCBhbG9uZ3NpZGUgdGhlCit0eXBpY2FsIGBnaXRgIGluc3RhbGwuIFlvdSBtYXkgbmVlZCB0byBpbnN0YWxsIHRoaXMgYWRkaXRpb25hbCBwYWNrYWdlOyB0aGVyZQorYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBvbmxpbmUgdG8gaGVscCB5b3UgZG8gc28uIFlvdSB3aWxsIGFsc28gbmVlZCB0bworZGV0ZXJtaW5lIHRoZSByaWdodCB3YXkgdG8gY29uZmlndXJlIGl0IHRvIHVzZSB5b3VyIFNNVFAgc2VydmVyOyBhZ2FpbiwgYXMgdGhpcworY29uZmlndXJhdGlvbiBjYW4gY2hhbmdlIHNpZ25pZmljYW50bHkgYmFzZWQgb24geW91ciBzeXN0ZW0gYW5kIGVtYWlsIHNldHVwLCBpdAoraXMgb3V0IG9mIHNjb3BlIGZvciB0aGUgY29udGV4dCBvZiB0aGlzIHR1dG9yaWFsLgorCitbW2Zvcm1hdC1wYXRjaF1dCis9PT0gUHJlcGFyaW5nIEluaXRpYWwgUGF0Y2hzZXQKKworU2VuZGluZyBlbWFpbHMgd2l0aCBHaXQgaXMgYSB0d28tcGFydCBwcm9jZXNzOyBiZWZvcmUgeW91IGNhbiBwcmVwYXJlIHRoZSBlbWFpbHMKK3RoZW1zZWx2ZXMsIHlvdSdsbCBuZWVkIHRvIHByZXBhcmUgdGhlIHBhdGNoZXMuIEx1Y2tpbHksIHRoaXMgaXMgcHJldHR5IHNpbXBsZToKKworLS0tLQorJCBnaXQgZm9ybWF0LXBhdGNoIC0tY292ZXItbGV0dGVyIC1vIHBzdWgvIG1hc3Rlci4ucHN1aAorLS0tLQorCitUaGUgYC0tY292ZXItbGV0dGVyYCBwYXJhbWV0ZXIgdGVsbHMgYGZvcm1hdC1wYXRjaGAgdG8gY3JlYXRlIGEgY292ZXIgbGV0dGVyCit0ZW1wbGF0ZSBmb3IgeW91LiBZb3Ugd2lsbCBuZWVkIHRvIGZpbGwgaW4gdGhlIHRlbXBsYXRlIGJlZm9yZSB5b3UncmUgcmVhZHkKK3RvIHNlbmQgLSBidXQgZm9yIG5vdywgdGhlIHRlbXBsYXRlIHdpbGwgYmUgbmV4dCB0byB5b3VyIG90aGVyIHBhdGNoZXMuCisKK1RoZSBgLW8gcHN1aC9gIHBhcmFtZXRlciB0ZWxscyBgZm9ybWF0LXBhdGNoYCB0byBwbGFjZSB0aGUgcGF0Y2ggZmlsZXMgaW50byBhCitkaXJlY3RvcnkuIFRoaXMgaXMgdXNlZnVsIGJlY2F1c2UgYGdpdCBzZW5kLWVtYWlsYCBjYW4gdGFrZSBhIGRpcmVjdG9yeSBhbmQKK3NlbmQgb3V0IGFsbCB0aGUgcGF0Y2hlcyBmcm9tIHRoZXJlLgorCitgbWFzdGVyLi5wc3VoYCB0ZWxscyBgZm9ybWF0LXBhdGNoYCB0byBnZW5lcmF0ZSBwYXRjaGVzIGZvciB0aGUgZGlmZmVyZW5jZQorYmV0d2VlbiBgbWFzdGVyYCBhbmQgYHBzdWhgLiBJdCB3aWxsIG1ha2Ugb25lIHBhdGNoIGZpbGUgcGVyIGNvbW1pdC4gQWZ0ZXIgeW91CitydW4sIHlvdSBjYW4gZ28gaGF2ZSBhIGxvb2sgYXQgZWFjaCBvZiB0aGUgcGF0Y2hlcyB3aXRoIHlvdXIgZmF2b3JpdGUgdGV4dAorZWRpdG9yIGFuZCBtYWtlIHN1cmUgZXZlcnl0aGluZyBsb29rcyBhbHJpZ2h0OyBob3dldmVyLCBpdCdzIG5vdCByZWNvbW1lbmRlZCB0bworbWFrZSBjb2RlIGZpeHVwcyB2aWEgdGhlIHBhdGNoIGZpbGUuIEl0J3MgYSBiZXR0ZXIgaWRlYSB0byBtYWtlIHRoZSBjaGFuZ2UgdGhlCitub3JtYWwgd2F5IHVzaW5nIGBnaXQgcmViYXNlIC1pYCBvciBieSBhZGRpbmcgYSBuZXcgY29tbWl0IHRoYW4gYnkgbW9kaWZ5aW5nIGEKK3BhdGNoLgorCitOT1RFOiBPcHRpb25hbGx5LCB5b3UgY2FuIGFsc28gdXNlIHRoZSBgLS1yZmNgIGZsYWcgdG8gcHJlZml4IHlvdXIgcGF0Y2ggc3ViamVjdAord2l0aCBgYFtSRkMgUEFUQ0hdJycgaW5zdGVhZCBvZiBgYFtQQVRDSF0nJy4gUkZDIHN0YW5kcyBmb3IgYGByZXF1ZXN0IGZvcgorY29tbWVudHMnJyBhbmQgaW5kaWNhdGVzIHRoYXQgd2hpbGUgeW91ciBjb2RlIGlzbid0IHF1aXRlIHJlYWR5IGZvciBzdWJtaXNzaW9uLAoreW91J2QgbGlrZSB0byBiZWdpbiB0aGUgY29kZSByZXZpZXcgcHJvY2Vzcy4gVGhpcyBjYW4gYWxzbyBiZSB1c2VkIHdoZW4geW91cgorcGF0Y2ggaXMgYSBwcm9wb3NhbCwgYnV0IHlvdSBhcmVuJ3Qgc3VyZSB3aGV0aGVyIHRoZSBjb21tdW5pdHkgd2FudHMgdG8gc29sdmUKK3RoZSBwcm9ibGVtIHdpdGggdGhhdCBhcHByb2FjaCBvciBub3QgLSB0byBjb25kdWN0IGEgc29ydCBvZiBkZXNpZ24gcmV2aWV3LiBZb3UKK21heSBhbHNvIHNlZSBvbiB0aGUgbGlzdCBwYXRjaGVzIG1hcmtlZCBgYFdJUCcnIC0gdGhpcyBtZWFucyB0aGV5IGFyZSBpbmNvbXBsZXRlCitidXQgd2FudCByZXZpZXdlcnMgdG8gbG9vayBhdCB3aGF0IHRoZXkgaGF2ZSBzbyBmYXIuIFlvdSBjYW4gYWRkIHRoaXMgZmxhZyB3aXRoCitgLS1zdWJqZWN0LXByZWZpeD1XSVBgLgorCitDaGVjayBhbmQgbWFrZSBzdXJlIHRoYXQgeW91ciBwYXRjaGVzIGFuZCBjb3ZlciBsZXR0ZXIgdGVtcGxhdGUgZXhpc3QgaW4gdGhlCitkaXJlY3RvcnkgeW91IHNwZWNpZmllZCAtIHlvdSdyZSBuZWFybHkgcmVhZHkgdG8gc2VuZCBvdXQgeW91ciByZXZpZXchCisKK1tbY292ZXItbGV0dGVyXV0KKz09PSBQcmVwYXJpbmcgRW1haWwKKworSW4gYWRkaXRpb24gdG8gYW4gZW1haWwgcGVyIHBhdGNoLCB0aGUgR2l0IGNvbW11bml0eSBhbHNvIGV4cGVjdHMgeW91ciBwYXRjaGVzCit0byBjb21lIHdpdGggYSBjb3ZlciBsZXR0ZXIsIHR5cGljYWxseSB3aXRoIGEgc3ViamVjdCBsaW5lIFtQQVRDSCAwL3hdICh3aGVyZQoreCBpcyB0aGUgbnVtYmVyIG9mIHBhdGNoZXMgeW91J3JlIHNlbmRpbmcpLiBTaW5jZSB5b3UgaW52b2tlZCBgZm9ybWF0LXBhdGNoYAord2l0aCBgLS1jb3Zlci1sZXR0ZXJgLCB5b3UndmUgYWxyZWFkeSBnb3QgYSB0ZW1wbGF0ZSByZWFkeS4gT3BlbiBpdCB1cCBpbiB5b3VyCitmYXZvcml0ZSBlZGl0b3IuCisKK1lvdSBzaG91bGQgc2VlIGEgbnVtYmVyIG9mIGhlYWRlcnMgcHJlc2VudCBhbHJlYWR5LiBDaGVjayB0aGF0IHlvdXIgYEZyb206YAoraGVhZGVyIGlzIGNvcnJlY3QuIFRoZW4gbW9kaWZ5IHlvdXIgYFN1YmplY3Q6YCB0byBzb21ldGhpbmcgd2hpY2ggc3VjY2luY3RseQorY292ZXJzIHRoZSBwdXJwb3NlIG9mIHlvdXIgZW50aXJlIHRvcGljIGJyYW5jaCwgZm9yIGV4YW1wbGU6CisKKy0tLS0KK1N1YmplY3Q6IFtQQVRDSCAwLzddIGFkZGluZyB0aGUgJ3BzdWgnIGNvbW1hbmQKKy0tLS0KKworTWFrZSBzdXJlIHlvdSByZXRhaW4gdGhlIGBgW1BBVENIIDAvWF0nJyBwYXJ0OyB0aGF0J3Mgd2hhdCBpbmRpY2F0ZXMgdG8gdGhlIEdpdAorY29tbXVuaXR5IHRoYXQgdGhpcyBlbWFpbCBpcyB0aGUgYmVnaW5uaW5nIG9mIGEgcmV2aWV3LCBhbmQgbWFueSByZXZpZXdlcnMKK2ZpbHRlciB0aGVpciBlbWFpbCBmb3IgdGhpcyB0eXBlIG9mIGZsYWcuCisKK1lvdSdsbCBuZWVkIHRvIGFkZCBzb21lIGV4dHJhIHBhcmFtZXRlcnMgd2hlbiB5b3UgaW52b2tlIGBnaXQgc2VuZC1lbWFpbGAgdG8gYWRkCit0aGUgY292ZXIgbGV0dGVyLgorCitOZXh0IHlvdSdsbCBoYXZlIHRvIGZpbGwgb3V0IHRoZSBib2R5IG9mIHlvdXIgY292ZXIgbGV0dGVyLiBUaGlzIGlzIGFuIGltcG9ydGFudAorY29tcG9uZW50IG9mIGNoYW5nZSBzdWJtaXNzaW9uIGFzIGl0IGV4cGxhaW5zIHRvIHRoZSBjb21tdW5pdHkgZnJvbSBhIGhpZ2ggbGV2ZWwKK3doYXQgeW91J3JlIHRyeWluZyB0byBkbywgYW5kIHdoeSwgaW4gYSB3YXkgdGhhdCdzIG1vcmUgYXBwYXJlbnQgdGhhbiBqdXN0Citsb29raW5nIGF0IHlvdXIgZGlmZi4gQmUgc3VyZSB0byBleHBsYWluIGFueXRoaW5nIHlvdXIgZGlmZiBkb2Vzbid0IG1ha2UgY2xlYXIKK29uIGl0cyBvd24uCisKK0hlcmUncyBhbiBleGFtcGxlIGJvZHkgZm9yIGBwc3VoYDoKKworLS0tLQorT3VyIGludGVybmFsIG1ldHJpY3MgaW5kaWNhdGUgd2lkZXNwcmVhZCBpbnRlcmVzdCBpbiB0aGUgY29tbWFuZAorZ2l0LXBzdWggLSB0aGF0IGlzLCBtYW55IHVzZXJzIGFyZSB0cnlpbmcgdG8gdXNlIGl0LCBidXQgZmluZGluZyBpdCBpcwordW5hdmFpbGFibGUsIHVzaW5nIHNvbWUgdW5rbm93biB3b3JrYXJvdW5kIGluc3RlYWQuCisKK1RoZSBmb2xsb3dpbmcgaGFuZGZ1bCBvZiBwYXRjaGVzIGFkZCB0aGUgcHN1aCBjb21tYW5kIGFuZCBpbXBsZW1lbnQgc29tZQoraGFuZHkgZmVhdHVyZXMgb24gdG9wIG9mIGl0LgorCitUaGlzIHBhdGNoc2V0IGlzIHBhcnQgb2YgdGhlIE15Rmlyc3RDb250cmlidXRpb24gdHV0b3JpYWwgYW5kIHNob3VsZCBub3QKK2JlIG1lcmdlZC4KKy0tLS0KKworVGhlIHRlbXBsYXRlIGNyZWF0ZWQgYnkgYGdpdCBmb3JtYXQtcGF0Y2ggLS1jb3Zlci1sZXR0ZXJgIGluY2x1ZGVzIGEgZGlmZnN0YXQuCitUaGlzIGdpdmVzIHJldmlld2VycyBhIHN1bW1hcnkgb2Ygd2hhdCB0aGV5J3JlIGluIGZvciB3aGVuIHJldmlld2luZyB5b3VyIHRvcGljLgorVGhlIG9uZSBnZW5lcmF0ZWQgZm9yIGBwc3VoYCBmcm9tIHRoZSBzYW1wbGUgaW1wbGVtZW50YXRpb24gbG9va3MgbGlrZSB0aGlzOgorCistLS0tCisgRG9jdW1lbnRhdGlvbi9naXQtcHN1aC50eHQgfCA0MCArKysrKysrKysrKysrKysrKysrKysKKyBNYWtlZmlsZSAgICAgICAgICAgICAgICAgICB8ICAxICsKKyBidWlsdGluLmggICAgICAgICAgICAgICAgICB8ICAxICsKKyBidWlsdGluL3BzdWguYyAgICAgICAgICAgICB8IDczICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZ2l0LmMgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCisgdC90OTk5OS1wc3VoLXR1dG9yaWFsLnNoICAgfCAxMiArKysrKysrCisgNiBmaWxlcyBjaGFuZ2VkLCAxMjggaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2dpdC1wc3VoLnR4dAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBidWlsdGluL3BzdWguYworIGNyZWF0ZSBtb2RlIDEwMDc1NSB0L3Q5OTk5LXBzdWgtdHV0b3JpYWwuc2gKKy0tLS0KKworRmluYWxseSwgdGhlIGxldHRlciB3aWxsIGluY2x1ZGUgdGhlIHZlcnNpb24gb2YgR2l0IHVzZWQgdG8gZ2VuZXJhdGUgdGhlCitwYXRjaGVzLiBZb3UgY2FuIGxlYXZlIHRoYXQgc3RyaW5nIGFsb25lLgorCitbW3NlbmRpbmctZ2l0LXNlbmQtZW1haWxdXQorPT09IFNlbmRpbmcgRW1haWwKKworQXQgdGhpcyBwb2ludCB5b3Ugc2hvdWxkIGhhdmUgYSBkaXJlY3RvcnkgYHBzdWgvYCB3aGljaCBpcyBmaWxsZWQgd2l0aCB5b3VyCitwYXRjaGVzIGFuZCBhIGNvdmVyIGxldHRlci4gVGltZSB0byBtYWlsIGl0IG91dCEgWW91IGNhbiBzZW5kIGl0IGxpa2UgdGhpczoKKworLS0tLQorJCBnaXQgc2VuZC1lbWFpbCAtLXRvPXRhcmdldEBleGFtcGxlLmNvbSBwc3VoLyoucGF0Y2gKKy0tLS0KKworTk9URTogQ2hlY2sgYGdpdCBoZWxwIHNlbmQtZW1haWxgIGZvciBzb21lIG90aGVyIG9wdGlvbnMgd2hpY2ggeW91IG1heSBmaW5kCit2YWx1YWJsZSwgc3VjaCBhcyBjaGFuZ2luZyB0aGUgUmVwbHktdG8gYWRkcmVzcyBvciBhZGRpbmcgbW9yZSBDQyBhbmQgQkNDIGxpbmVzLgorCitOT1RFOiBXaGVuIHlvdSBhcmUgc2VuZGluZyBhIHJlYWwgcGF0Y2gsIGl0IHdpbGwgZ28gdG8gZ2l0QHZnZXIua2VybmVsLm9yZyAtIGJ1dAorcGxlYXNlIGRvbid0IHNlbmQgeW91ciBwYXRjaHNldCBmcm9tIHRoZSB0dXRvcmlhbCB0byB0aGUgcmVhbCBtYWlsaW5nIGxpc3QhIEZvcgorbm93LCB5b3UgY2FuIHNlbmQgaXQgdG8geW91cnNlbGYsIHRvIG1ha2Ugc3VyZSB5b3UgdW5kZXJzdGFuZCBob3cgaXQgd2lsbCBsb29rLgorCitBZnRlciB5b3UgcnVuIHRoZSBjb21tYW5kIGFib3ZlLCB5b3Ugd2lsbCBiZSBwcmVzZW50ZWQgd2l0aCBhbiBpbnRlcmFjdGl2ZQorcHJvbXB0IGZvciBlYWNoIHBhdGNoIHRoYXQncyBhYm91dCB0byBnbyBvdXQuIFRoaXMgZ2l2ZXMgeW91IG9uZSBsYXN0IGNoYW5jZSB0bworZWRpdCBvciBxdWl0IHNlbmRpbmcgc29tZXRoaW5nIChidXQgYWdhaW4sIGRvbid0IGVkaXQgY29kZSB0aGlzIHdheSkuIE9uY2UgeW91CitwcmVzcyBgeWAgb3IgYGFgIGF0IHRoZXNlIHByb21wdHMgeW91ciBlbWFpbHMgd2lsbCBiZSBzZW50ISBDb25ncmF0dWxhdGlvbnMhCisKK0F3ZXNvbWUsIG5vdyB0aGUgY29tbXVuaXR5IHdpbGwgZHJvcCBldmVyeXRoaW5nIGFuZCByZXZpZXcgeW91ciBjaGFuZ2VzLiAoSnVzdAora2lkZGluZyAtIGJlIHBhdGllbnQhKQorCitbW3YyLWdpdC1zZW5kLWVtYWlsXV0KKz09PSBTZW5kaW5nIHYyCisKK1NraXAgYWhlYWQgdG8gPDxyZXZpZXdpbmcsUmVzcG9uZGluZyB0byBSZXZpZXdzPj4gZm9yIGluZm9ybWF0aW9uIG9uIGhvdyB0bworaGFuZGxlIGNvbW1lbnRzIGZyb20gcmV2aWV3ZXJzLiBDb250aW51ZSB0aGlzIHNlY3Rpb24gd2hlbiB5b3VyIHRvcGljIGJyYW5jaCBpcworc2hhcGVkIHRoZSB3YXkgeW91IHdhbnQgaXQgdG8gbG9vayBmb3IgeW91ciBwYXRjaHNldCB2Mi4KKworV2hlbiB5b3UncmUgcmVhZHkgd2l0aCB0aGUgbmV4dCBpdGVyYXRpb24gb2YgeW91ciBwYXRjaCwgdGhlIHByb2Nlc3MgaXMgZmFpcmx5CitzaW1pbGFyLgorCitGaXJzdCwgZ2VuZXJhdGUgeW91ciB2MiBwYXRjaGVzIGFnYWluOgorCistLS0tCiskIGdpdCBmb3JtYXQtcGF0Y2ggLXYyIC0tY292ZXItbGV0dGVyIC1vIHBzdWgvIG1hc3Rlci4ucHN1aAorLS0tLQorCitUaGlzIHdpbGwgYWRkIHlvdXIgdjIgcGF0Y2hlcywgYWxsIG5hbWVkIGxpa2UgYHYyLTAwMG4tbXktY29tbWl0LXN1YmplY3QucGF0Y2hgLAordG8gdGhlIGBwc3VoL2AgZGlyZWN0b3J5LiBZb3UgbWF5IG5vdGljZSB0aGF0IHRoZXkgYXJlIHNpdHRpbmcgYWxvbmdzaWRlIHRoZSB2MQorcGF0Y2hlczsgdGhhdCdzIGZpbmUsIGJ1dCBiZSBjYXJlZnVsIHdoZW4geW91IGFyZSByZWFkeSB0byBzZW5kIHRoZW0uCisKK0VkaXQgeW91ciBjb3ZlciBsZXR0ZXIgYWdhaW4uIE5vdyBpcyBhIGdvb2QgdGltZSB0byBtZW50aW9uIHdoYXQncyBkaWZmZXJlbnQKK2JldHdlZW4geW91ciBsYXN0IHZlcnNpb24gYW5kIG5vdywgaWYgaXQncyBzb21ldGhpbmcgc2lnbmlmaWNhbnQuIFlvdSBkbyBub3QKK25lZWQgdGhlIGV4YWN0IHNhbWUgYm9keSBpbiB5b3VyIHNlY29uZCBjb3ZlciBsZXR0ZXI7IGZvY3VzIG9uIGV4cGxhaW5pbmcgdG8KK3Jldmlld2VycyB0aGUgY2hhbmdlcyB5b3UndmUgbWFkZSB0aGF0IG1heSBub3QgYmUgYXMgdmlzaWJsZS4KKworWW91IHdpbGwgYWxzbyBuZWVkIHRvIGdvIGFuZCBmaW5kIHRoZSBNZXNzYWdlLUlkIG9mIHlvdXIgcHJldmlvdXMgY292ZXIgbGV0dGVyLgorWW91IGNhbiBlaXRoZXIgbm90ZSBpdCB3aGVuIHlvdSBzZW5kIHRoZSBmaXJzdCBzZXJpZXMsIGZyb20gdGhlIG91dHB1dCBvZiBgZ2l0CitzZW5kLWVtYWlsYCwgb3IgeW91IGNhbiBsb29rIGl0IHVwIG9uIHRoZQoraHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvZ2l0W21haWxpbmcgbGlzdF0uIEZpbmQgeW91ciBjb3ZlciBsZXR0ZXIgaW4gdGhlCithcmNoaXZlcywgY2xpY2sgb24gaXQsIHRoZW4gY2xpY2sgInBlcm1hbGluayIgb3IgInJhdyIgdG8gcmV2ZWFsIHRoZSBNZXNzYWdlLUlkCitoZWFkZXIuIEl0IHNob3VsZCBtYXRjaDoKKworLS0tLQorTWVzc2FnZS1JZDogPGZvby4xMjM0NS5hdXRob3JAZXhhbXBsZS5jb20+CistLS0tCisKK1lvdXIgTWVzc2FnZS1JZCBpcyBgPGZvby4xMjM0NS5hdXRob3JAZXhhbXBsZS5jb20+YC4gVGhpcyBleGFtcGxlIHdpbGwgYmUgdXNlZAorYmVsb3cgYXMgd2VsbDsgbWFrZSBzdXJlIHRvIHJlcGxhY2UgaXQgd2l0aCB0aGUgY29ycmVjdCBNZXNzYWdlLUlkIGZvciB5b3VyCisqKnByZXZpb3VzIGNvdmVyIGxldHRlcioqIC0gdGhhdCBpcywgaWYgeW91J3JlIHNlbmRpbmcgdjIsIHVzZSB0aGUgTWVzc2FnZS1JZAorZnJvbSB2MTsgaWYgeW91J3JlIHNlbmRpbmcgdjMsIHVzZSB0aGUgTWVzc2FnZS1JZCBmcm9tIHYyLgorCitXaGlsZSB5b3UncmUgbG9va2luZyBhdCB0aGUgZW1haWwsIHlvdSBzaG91bGQgYWxzbyBub3RlIHdobyBpcyBDQydkLCBhcyBpdCdzCitjb21tb24gcHJhY3RpY2UgaW4gdGhlIG1haWxpbmcgbGlzdCB0byBrZWVwIGFsbCBDQ3Mgb24gYSB0aHJlYWQuIFlvdSBjYW4gYWRkCit0aGVzZSBDQyBsaW5lcyBkaXJlY3RseSB0byB5b3VyIGNvdmVyIGxldHRlciB3aXRoIGEgbGluZSBsaWtlIHNvIGluIHRoZSBoZWFkZXIKKyhiZWZvcmUgdGhlIFN1YmplY3QgbGluZSk6CisKKy0tLS0KK0NDOiBhdXRob3JAZXhhbXBsZS5jb20sIE90aGUgUiA8b3RoZXJAZXhhbXBsZS5jb20+CistLS0tCisKK05vdyBzZW5kIHRoZSBlbWFpbHMgYWdhaW4sIHBheWluZyBjbG9zZSBhdHRlbnRpb24gdG8gd2hpY2ggbWVzc2FnZXMgeW91IHBhc3MgaW4KK3RvIHRoZSBjb21tYW5kOgorCistLS0tCiskIGdpdCBzZW5kLWVtYWlsIC0tdG89dGFyZ2V0QGV4YW1wbGUuY29tCisJCSAtLWluLXJlcGx5LXRvPSI8Zm9vLjEyMzQ1LmF1dGhvckBleGFtcGxlLmNvbT4iCisJCSBwc3VoL3YyKgorLS0tLQorCitbW3NpbmdsZS1wYXRjaF1dCis9PT0gQm9udXMgQ2hhcHRlcjogT25lLVBhdGNoIENoYW5nZXMKKworSW4gc29tZSBjYXNlcywgeW91ciB2ZXJ5IHNtYWxsIGNoYW5nZSBtYXkgY29uc2lzdCBvZiBvbmx5IG9uZSBwYXRjaC4gV2hlbiB0aGF0CitoYXBwZW5zLCB5b3Ugb25seSBuZWVkIHRvIHNlbmQgb25lIGVtYWlsLiBZb3VyIGNvbW1pdCBtZXNzYWdlIHNob3VsZCBhbHJlYWR5IGJlCittZWFuaW5nZnVsIGFuZCBleHBsYWluIGF0IGEgaGlnaCBsZXZlbCB0aGUgcHVycG9zZSAod2hhdCBpcyBoYXBwZW5pbmcgYW5kIHdoeSkKK29mIHlvdXIgcGF0Y2gsIGJ1dCBpZiB5b3UgbmVlZCB0byBzdXBwbHkgZXZlbiBtb3JlIGNvbnRleHQsIHlvdSBjYW4gZG8gc28gYmVsb3cKK3RoZSBgLS0tYCBpbiB5b3VyIHBhdGNoLiBUYWtlIHRoZSBleGFtcGxlIGJlbG93LCB3aGljaCB3YXMgZ2VuZXJhdGVkIHdpdGggYGdpdAorZm9ybWF0LXBhdGNoYCBvbiBhIHNpbmdsZSBjb21taXQsIGFuZCB0aGVuIGVkaXRlZCB0byBhZGQgdGhlIGNvbnRlbnQgYmV0d2VlbgordGhlIGAtLS1gIGFuZCB0aGUgZGlmZnN0YXQuCisKKy0tLS0KK0Zyb20gMTM0NWJiYjNmN2FjNzRhYmRlMDQwYzEyZTczNzIwNDY4OWE3MjcyMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CitEYXRlOiBUaHUsIDE4IEFwciAyMDE5IDE1OjExOjAyIC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIFJFQURNRTogY2hhbmdlIHRoZSBncmFtbWFyCisKK0kgdGhpbmsgaXQgbG9va3MgYmV0dGVyIHRoaXMgd2F5LiBUaGlzIHBhcnQgb2YgdGhlIGNvbW1pdCBtZXNzYWdlIHdpbGwKK2VuZCB1cCBpbiB0aGUgY29tbWl0LWxvZy4KKworU2lnbmVkLW9mZi1ieTogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KKy0tLQorTGV0J3MgaGF2ZSBhIHdpbGQgZGlzY3Vzc2lvbiBhYm91dCBncmFtbWFyIG9uIHRoZSBtYWlsaW5nIGxpc3QuIFRoaXMKK3BhcnQgb2YgbXkgZW1haWwgd2lsbCBuZXZlciBlbmQgdXAgaW4gdGhlIGNvbW1pdCBsb2cuIEhlcmUgaXMgd2hlcmUgSQorY2FuIGFkZCBhZGRpdGlvbmFsIGNvbnRleHQgdG8gdGhlIG1haWxpbmcgbGlzdCBhYm91dCBteSBpbnRlbnQsIG91dHNpZGUKK29mIHRoZSBjb250ZXh0IG9mIHRoZSBjb21taXQgbG9nLiBUaGlzIHNlY3Rpb24gd2FzIGFkZGVkIGFmdGVyIGBnaXQKK2Zvcm1hdC1wYXRjaGAgd2FzIHJ1biwgYnkgZWRpdGluZyB0aGUgcGF0Y2ggZmlsZSBpbiBhIHRleHQgZWRpdG9yLgorCisgUkVBRE1FLm1kIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvUkVBRE1FLm1kIGIvUkVBRE1FLm1kCitpbmRleCA4OGYxMjYxODRjLi4zOGRhNTkzYTYwIDEwMDY0NAorLS0tIGEvUkVBRE1FLm1kCisrKysgYi9SRUFETUUubWQKK0BAIC0zLDcgKzMsNyBAQAorIEdpdCAtIGZhc3QsIHNjYWxhYmxlLCBkaXN0cmlidXRlZCByZXZpc2lvbiBjb250cm9sIHN5c3RlbQorID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCistR2l0IGlzIGEgZmFzdCwgc2NhbGFibGUsIGRpc3RyaWJ1dGVkIHJldmlzaW9uIGNvbnRyb2wgc3lzdGVtIHdpdGggYW4KKytHaXQgaXMgYSBmYXN0LCBzY2FsYWJsZSwgYW5kIGRpc3RyaWJ1dGVkIHJldmlzaW9uIGNvbnRyb2wgc3lzdGVtIHdpdGggYW4KKyB1bnVzdWFsbHkgcmljaCBjb21tYW5kIHNldCB0aGF0IHByb3ZpZGVzIGJvdGggaGlnaC1sZXZlbCBvcGVyYXRpb25zCisgYW5kIGZ1bGwgYWNjZXNzIHRvIGludGVybmFscy4KKworLS0KKzIuMjEuMC4zOTIuZ2Y4ZjY3ODcxNTllLWdvb2cKKy0tLS0KKworW1tub3ctd2hhdF1dCis9PSBNeSBQYXRjaCBHb3QgRW1haWxlZCAtIE5vdyBXaGF0PworCitbW3Jldmlld2luZ11dCis9PT0gUmVzcG9uZGluZyB0byBSZXZpZXdzCisKK0FmdGVyIGEgZmV3IGRheXMsIHlvdSB3aWxsIGhvcGVmdWxseSByZWNlaXZlIGEgcmVwbHkgdG8geW91ciBwYXRjaHNldCB3aXRoIHNvbWUKK2NvbW1lbnRzLiBXb29ob28hIE5vdyB5b3UgY2FuIGdldCBiYWNrIHRvIHdvcmsuCisKK0l0J3MgZ29vZCBtYW5uZXJzIHRvIHJlcGx5IHRvIGVhY2ggY29tbWVudCwgbm90aWZ5aW5nIHRoZSByZXZpZXdlciB0aGF0IHlvdSBoYXZlCittYWRlIHRoZSBjaGFuZ2UgcmVxdWVzdGVkLCBmZWVsIHRoZSBvcmlnaW5hbCBpcyBiZXR0ZXIsIG9yIHRoYXQgdGhlIGNvbW1lbnQKK2luc3BpcmVkIHlvdSB0byBkbyBzb21ldGhpbmcgYSBuZXcgd2F5IHdoaWNoIGlzIHN1cGVyaW9yIHRvIGJvdGggdGhlIG9yaWdpbmFsCithbmQgdGhlIHN1Z2dlc3RlZCBjaGFuZ2UuIFRoaXMgd2F5IHJldmlld2VycyBkb24ndCBuZWVkIHRvIGluc3BlY3QgeW91ciB2MiB0bworZmlndXJlIG91dCB3aGV0aGVyIHlvdSBpbXBsZW1lbnRlZCB0aGVpciBjb21tZW50IG9yIG5vdC4KKworSWYgeW91IGFyZSBnb2luZyB0byBwdXNoIGJhY2sgb24gYSBjb21tZW50LCBiZSBwb2xpdGUgYW5kIGV4cGxhaW4gd2h5IHlvdSBmZWVsCit5b3VyIG9yaWdpbmFsIGlzIGJldHRlcjsgYmUgcHJlcGFyZWQgdGhhdCB0aGUgcmV2aWV3ZXIgbWF5IHN0aWxsIGRpc2FncmVlIHdpdGgKK3lvdSwgYW5kIHRoZSByZXN0IG9mIHRoZSBjb21tdW5pdHkgbWF5IHdlaWdoIGluIG9uIG9uZSBzaWRlIG9yIHRoZSBvdGhlci4gQXMKK3dpdGggYWxsIGNvZGUgcmV2aWV3cywgaXQncyBpbXBvcnRhbnQgdG8ga2VlcCBhbiBvcGVuIG1pbmQgdG8gZG9pbmcgc29tZXRoaW5nIGEKK2RpZmZlcmVudCB3YXkgdGhhbiB5b3Ugb3JpZ2luYWxseSBwbGFubmVkOyBvdGhlciByZXZpZXdlcnMgaGF2ZSBhIGRpZmZlcmVudAorcGVyc3BlY3RpdmUgb24gdGhlIHByb2plY3QgdGhhbiB5b3UgZG8sIGFuZCBtYXkgYmUgdGhpbmtpbmcgb2YgYSB2YWxpZCBzaWRlCitlZmZlY3Qgd2hpY2ggaGFkIG5vdCBvY2N1cnJlZCB0byB5b3UuIEl0IGlzIGFsd2F5cyBva2F5IHRvIGFzayBmb3IgY2xhcmlmaWNhdGlvbgoraWYgeW91IGFyZW4ndCBzdXJlIHdoeSBhIGNoYW5nZSB3YXMgc3VnZ2VzdGVkLCBvciB3aGF0IHRoZSByZXZpZXdlciBpcyBhc2tpbmcKK3lvdSB0byBkby4KKworTWFrZSBzdXJlIHlvdXIgZW1haWwgY2xpZW50IGhhcyBhIHBsYWludGV4dCBlbWFpbCBtb2RlIGFuZCBpdCBpcyB0dXJuZWQgb247IHRoZQorR2l0IGxpc3QgcmVqZWN0cyBIVE1MIGVtYWlsLiBQbGVhc2UgYWxzbyBmb2xsb3cgdGhlIG1haWxpbmcgbGlzdCBldGlxdWV0dGUKK291dGxpbmVkIGluIHRoZQoraHR0cHM6Ly9rZXJuZWwuZ29vZ2xlc291cmNlLmNvbS9wdWIvc2NtL2dpdC9naXQvKy90b2RvL01haW50Tm90ZXNbTWFpbnRhaW5lcidzCitOb3RlXSwgd2hpY2ggYXJlIHNpbWlsYXIgdG8gZXRpcXVldHRlIHJ1bGVzIGluIG1vc3Qgb3BlbiBzb3VyY2UgY29tbXVuaXRpZXMKK3N1cnJvdW5kaW5nIGJvdHRvbS1wb3N0aW5nIGFuZCBpbmxpbmUgcmVwbGllcy4KKworV2hlbiB5b3UncmUgbWFraW5nIGNoYW5nZXMgdG8geW91ciBjb2RlLCBpdCBpcyBjbGVhbmVzdCAtIHRoYXQgaXMsIHRoZSByZXN1bHRpbmcKK2NvbW1pdHMgYXJlIGVhc2llc3QgdG8gbG9vayBhdCAtIGlmIHlvdSB1c2UgYGdpdCByZWJhc2UgLWlgIChpbnRlcmFjdGl2ZQorcmViYXNlKS4gVGFrZSBhIGxvb2sgYXQgdGhpcworaHR0cHM6Ly93d3cub3JlaWxseS5jb20vbGlicmFyeS92aWV3L2dpdC1wb2NrZXQtZ3VpZGUvOTc4MTQ0OTMyNzUwNy9jaDEwLmh0bWxbb3ZlcnZpZXddCitmcm9tIE8nUmVpbGx5LiBUaGUgZ2VuZXJhbCBpZGVhIGlzIHRvIG1vZGlmeSBlYWNoIGNvbW1pdCB3aGljaCByZXF1aXJlcyBjaGFuZ2VzOwordGhpcyB3YXksIGluc3RlYWQgb2YgaGF2aW5nIGEgcGF0Y2ggQSB3aXRoIGEgbWlzdGFrZSwgYSBwYXRjaCBCIHdoaWNoIHdhcyBmaW5lCithbmQgcmVxdWlyZWQgbm8gdXBzdHJlYW0gcmV2aWV3cyBpbiB2MSwgYW5kIGEgcGF0Y2ggQyB3aGljaCBmaXhlcyBwYXRjaCBBIGZvcgordjIsIHlvdSBjYW4ganVzdCBzaGlwIGEgdjIgd2l0aCBhIGNvcnJlY3QgcGF0Y2ggQSBhbmQgY29ycmVjdCBwYXRjaCBCLiBUaGlzIGlzCitjaGFuZ2luZyBoaXN0b3J5LCBidXQgc2luY2UgaXQncyBsb2NhbCBoaXN0b3J5IHdoaWNoIHlvdSBoYXZlbid0IHNoYXJlZCB3aXRoCithbnlvbmUsIHRoYXQgaXMgb2theSBmb3Igbm93ISAoTGF0ZXIsIGl0IG1heSBub3QgbWFrZSBzZW5zZSB0byBkbyB0aGlzOyB0YWtlIGEKK2xvb2sgYXQgdGhlIHNlY3Rpb24gYmVsb3cgdGhpcyBvbmUgZm9yIHNvbWUgY29udGV4dC4pCisKK1tbYWZ0ZXItYXBwcm92YWxdXQorPT09IEFmdGVyIFJldmlldyBBcHByb3ZhbAorCitUaGUgR2l0IHByb2plY3QgaGFzIGZvdXIgaW50ZWdyYXRpb24gYnJhbmNoZXM6IGBwdWAsIGBuZXh0YCwgYG1hc3RlcmAsIGFuZAorYG1haW50YC4gWW91ciBjaGFuZ2Ugd2lsbCBiZSBwbGFjZWQgaW50byBgcHVgIGZhaXJseSBlYXJseSBvbiBieSB0aGUgbWFpbnRhaW5lcgord2hpbGUgaXQgaXMgc3RpbGwgaW4gdGhlIHJldmlldyBwcm9jZXNzOyBmcm9tIHRoZXJlLCB3aGVuIGl0IGlzIHJlYWR5IGZvciB3aWRlcgordGVzdGluZywgaXQgd2lsbCBiZSBtZXJnZWQgaW50byBgbmV4dGAuIFBsZW50eSBvZiBlYXJseSB0ZXN0ZXJzIHVzZSBgbmV4dGAgYW5kCittYXkgcmVwb3J0IGlzc3Vlcy4gRXZlbnR1YWxseSwgY2hhbmdlcyBpbiBgbmV4dGAgd2lsbCBtYWtlIGl0IHRvIGBtYXN0ZXJgLAord2hpY2ggaXMgdHlwaWNhbGx5IGNvbnNpZGVyZWQgc3RhYmxlLiBGaW5hbGx5LCB3aGVuIGEgbmV3IHJlbGVhc2UgaXMgY3V0LAorYG1haW50YCBpcyB1c2VkIHRvIGJhc2UgYnVnZml4ZXMgb250by4gQXMgbWVudGlvbmVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhpcworZG9jdW1lbnQsIHlvdSBjYW4gcmVhZCBgRG9jdW1lbnRzL1N1Ym1pdHRpbmdQYXRjaGVzYCBmb3Igc29tZSBtb3JlIGluZm8gYWJvdXQKK3RoZSB1c2Ugb2YgdGhlIHZhcmlvdXMgaW50ZWdyYXRpb24gYnJhbmNoZXMuCisKK0JhY2sgdG8gbm93OiB5b3VyIGNvZGUgaGFzIGJlZW4gbGF1ZGVkIGJ5IHRoZSB1cHN0cmVhbSByZXZpZXdlcnMuIEl0IGlzIHBlcmZlY3QuCitJdCBpcyByZWFkeSB0byBiZSBhY2NlcHRlZC4gWW91IGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmcgZWxzZTsgdGhlIG1haW50YWluZXIKK3dpbGwgbWVyZ2UgeW91ciB0b3BpYyBicmFuY2ggdG8gYG5leHRgIGFuZCBsaWZlIGlzIGdvb2QuCisKK0hvd2V2ZXIsIGlmIHlvdSBkaXNjb3ZlciBpdCBpc24ndCBzbyBwZXJmZWN0IGFmdGVyIHRoaXMgcG9pbnQsIHlvdSBtYXkgbmVlZCB0bwordGFrZSBzb21lIHNwZWNpYWwgc3RlcHMgZGVwZW5kaW5nIG9uIHdoZXJlIHlvdSBhcmUgaW4gdGhlIHByb2Nlc3MuCisKK0lmIHRoZSBtYWludGFpbmVyIGhhcyBhbm5vdW5jZWQgaW4gdGhlICJXaGF0J3MgY29va2luZyBpbiBnaXQuZ2l0IiBlbWFpbCB0aGF0Cit5b3VyIHRvcGljIGlzIG1hcmtlZCBmb3IgYG5leHRgIC0gdGhhdCBpcywgdGhhdCB0aGV5IHBsYW4gdG8gbWVyZ2UgaXQgdG8gYG5leHRgCitidXQgaGF2ZSBub3QgeWV0IGRvbmUgc28gLSB5b3Ugc2hvdWxkIHNlbmQgYW4gZW1haWwgYXNraW5nIHRoZSBtYWludGFpbmVyIHRvCit3YWl0IGEgbGl0dGxlIGxvbmdlcjogIkkndmUgc2VudCB2NCBvZiBteSBzZXJpZXMgYW5kIHlvdSBtYXJrZWQgaXQgZm9yIGBuZXh0YCwKK2J1dCBJIG5lZWQgdG8gY2hhbmdlIHRoaXMgYW5kIHRoYXQgLSBwbGVhc2Ugd2FpdCBmb3IgdjUgYmVmb3JlIHlvdSBtZXJnZSBpdC4iCisKK0lmIHRoZSB0b3BpYyBoYXMgYWxyZWFkeSBiZWVuIG1lcmdlZCB0byBgbmV4dGAsIHJhdGhlciB0aGFuIG1vZGlmeWluZyB5b3VyCitwYXRjaGVzIHdpdGggYGdpdCByZWJhc2UgLWlgLCB5b3Ugc2hvdWxkIG1ha2UgZnVydGhlciBjaGFuZ2VzIGluY3JlbWVudGFsbHkgLQordGhhdCBpcywgd2l0aCBhbm90aGVyIGNvbW1pdCwgYmFzZWQgb24gdG9wIG9mIHRoZSBtYWludGFpbmVyJ3MgdG9waWMgYnJhbmNoIGFzCitkZXRhaWxlZCBpbiBodHRwczovL2dpdGh1Yi5jb20vZ2l0c3Rlci9naXQuIFlvdXIgd29yayBpcyBzdGlsbCBpbiB0aGUgc2FtZSB0b3BpYworYnV0IGlzIG5vdyBpbmNyZW1lbnRhbCwgcmF0aGVyIHRoYW4gYSB3aG9sZXNhbGUgcmV3cml0ZSBvZiB0aGUgdG9waWMgYnJhbmNoLgorCitUaGUgdG9waWMgYnJhbmNoZXMgaW4gdGhlIG1haW50YWluZXIncyBHaXRIdWIgYXJlIG1pcnJvcmVkIGluIEdpdEdpdEdhZGdldCwgc28KK2lmIHlvdSdyZSBzZW5kaW5nIHlvdXIgcmV2aWV3cyBvdXQgdGhhdCB3YXksIHlvdSBzaG91bGQgYmUgc3VyZSB0byBvcGVuIHlvdXIgUFIKK2FnYWluc3QgdGhlIGFwcHJvcHJpYXRlIEdpdEdpdEdhZGdldC9HaXQgYnJhbmNoLgorCitJZiB5b3UncmUgdXNpbmcgYGdpdCBzZW5kLWVtYWlsYCwgeW91IGNhbiB1c2UgaXQgdGhlIHNhbWUgd2F5IGFzIGJlZm9yZSwgYnV0IHlvdQorc2hvdWxkIGdlbmVyYXRlIHlvdXIgZGlmZnMgZnJvbSBgPHRvcGljPi4uPG15YnJhbmNoPmAgYW5kIGJhc2UgeW91ciB3b3JrIG9uCitgPHRvcGljPmAgaW5zdGVhZCBvZiBgbWFzdGVyYC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vTXlGaXJzdE9iamVjdFdhbGsudHh0IGIvRG9jdW1lbnRhdGlvbi9NeUZpcnN0T2JqZWN0V2Fsay50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWE4MjhkZgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vTXlGaXJzdE9iamVjdFdhbGsudHh0CkBAIC0wLDAgKzEsOTA1IEBACis9IE15IEZpcnN0IE9iamVjdCBXYWxrCisKKz09IFdoYXQncyBhbiBPYmplY3QgV2Fsaz8KKworVGhlIG9iamVjdCB3YWxrIGlzIGEga2V5IGNvbmNlcHQgaW4gR2l0IC0gdGhpcyBpcyB0aGUgcHJvY2VzcyB0aGF0IHVuZGVycGlucworb3BlcmF0aW9ucyBsaWtlIG9iamVjdCB0cmFuc2ZlciBhbmQgZnNjay4gQmVnaW5uaW5nIGZyb20gYSBnaXZlbiBjb21taXQsIHRoZQorbGlzdCBvZiBvYmplY3RzIGlzIGZvdW5kIGJ5IHdhbGtpbmcgcGFyZW50IHJlbGF0aW9uc2hpcHMgYmV0d2VlbiBjb21taXRzIChjb21taXQKK1ggYmFzZWQgb24gY29tbWl0IFcpIGFuZCBjb250YWlubWVudCByZWxhdGlvbnNoaXBzIGJldHdlZW4gb2JqZWN0cyAodHJlZSBZIGlzCitjb250YWluZWQgd2l0aGluIGNvbW1pdCBYLCBhbmQgYmxvYiBaIGlzIGxvY2F0ZWQgd2l0aGluIHRyZWUgWSwgZ2l2aW5nIG91cgord29ya2luZyB0cmVlIGZvciBjb21taXQgWCBzb21ldGhpbmcgbGlrZSBgeS96LnR4dGApLgorCitBIHJlbGF0ZWQgY29uY2VwdCBpcyB0aGUgcmV2aXNpb24gd2Fsaywgd2hpY2ggaXMgZm9jdXNlZCBvbiBjb21taXQgb2JqZWN0cyBhbmQKK3RoZWlyIHBhcmVudCByZWxhdGlvbnNoaXBzIGFuZCBkb2VzIG5vdCBkZWx2ZSBpbnRvIG90aGVyIG9iamVjdCB0eXBlcy4gVGhlCityZXZpc2lvbiB3YWxrIGlzIHVzZWQgZm9yIG9wZXJhdGlvbnMgbGlrZSBgZ2l0IGxvZ2AuCisKKz09PSBSZWxhdGVkIFJlYWRpbmcKKworLSBgRG9jdW1lbnRhdGlvbi91c2VyLW1hbnVhbC50eHRgIHVuZGVyICJIYWNraW5nIEdpdCIgY29udGFpbnMgc29tZSBjb3ZlcmFnZSBvZgorICB0aGUgcmV2aXNpb24gd2Fsa2VyIGluIGl0cyB2YXJpb3VzIGluY2FybmF0aW9ucy4KKy0gYHJldmlzaW9uLmhgCistIGh0dHBzOi8vZWFnYWluLm5ldC9hcnRpY2xlcy9naXQtZm9yLWNvbXB1dGVyLXNjaWVudGlzdHMvW0dpdCBmb3IgQ29tcHV0ZXIgU2NpZW50aXN0c10KKyAgZ2l2ZXMgYSBnb29kIG92ZXJ2aWV3IG9mIHRoZSB0eXBlcyBvZiBvYmplY3RzIGluIEdpdCBhbmQgd2hhdCB5b3VyIG9iamVjdAorICB3YWxrIGlzIHJlYWxseSBkZXNjcmliaW5nLgorCis9PSBTZXR0aW5nIFVwCisKK0NyZWF0ZSBhIG5ldyBicmFuY2ggZnJvbSBgbWFzdGVyYC4KKworLS0tLQorZ2l0IGNoZWNrb3V0IC1iIHJldndhbGsgb3JpZ2luL21hc3RlcgorLS0tLQorCitXZSdsbCBwdXQgb3VyIGZpZGRsaW5nIGludG8gYSBuZXcgY29tbWFuZC4gRm9yIGZ1biwgbGV0J3MgbmFtZSBpdCBgZ2l0IHdhbGtlbmAuCitPcGVuIHVwIGEgbmV3IGZpbGUgYGJ1aWx0aW4vd2Fsa2VuLmNgIGFuZCBzZXQgdXAgdGhlIGNvbW1hbmQgaGFuZGxlcjoKKworLS0tLQorLyoKKyAqICJnaXQgd2Fsa2VuIgorICoKKyAqIFBhcnQgb2YgdGhlICJNeSBGaXJzdCBPYmplY3QgV2FsayIgdHV0b3JpYWwuCisgKi8KKworI2luY2x1ZGUgImJ1aWx0aW4uaCIKKworaW50IGNtZF93YWxrZW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJdHJhY2VfcHJpbnRmKF8oImNtZF93YWxrZW4gaW5jb21pbmcuLi5cbiIpKTsKKwlyZXR1cm4gMDsKK30KKy0tLS0KKworTk9URTogYHRyYWNlX3ByaW50ZigpYCBkaWZmZXJzIGZyb20gYHByaW50ZigpYCBpbiB0aGF0IGl0IGNhbiBiZSB0dXJuZWQgb24gb3IKK29mZiBhdCBydW50aW1lLiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgdHV0b3JpYWwsIHdlIHdpbGwgd3JpdGUgYHdhbGtlbmAgYXMKK3Rob3VnaCBpdCBpcyBpbnRlbmRlZCBmb3IgdXNlIGFzIGEgInBsdW1iaW5nIiBjb21tYW5kOiB0aGF0IGlzLCBhIGNvbW1hbmQgd2hpY2gKK2lzIHVzZWQgcHJpbWFyaWx5IGluIHNjcmlwdHMsIHJhdGhlciB0aGFuIGludGVyYWN0aXZlbHkgYnkgaHVtYW5zIChhICJwb3JjZWxhaW4iCitjb21tYW5kKS4gU28gd2Ugd2lsbCBzZW5kIG91ciBkZWJ1ZyBvdXRwdXQgdG8gYHRyYWNlX3ByaW50ZigpYCBpbnN0ZWFkLiBXaGVuCitydW5uaW5nLCBlbmFibGUgdHJhY2Ugb3V0cHV0IGJ5IHNldHRpbmcgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIGBHSVRfVFJBQ0VgLgorCitBZGQgdXNhZ2UgdGV4dCBhbmQgYC1oYCBoYW5kbGluZywgbGlrZSBhbGwgc3ViY29tbWFuZHMgc2hvdWxkIGNvbnNpc3RlbnRseSBkbworKG91ciB0ZXN0IHN1aXRlIHdpbGwgbm90aWNlIGFuZCBjb21wbGFpbiBpZiB5b3UgZmFpbCB0byBkbyBzbykuCisKKy0tLS0KK2ludCBjbWRfd2Fsa2VuKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQoreworCWNvbnN0IGNoYXIgKiBjb25zdCB3YWxrZW5fdXNhZ2VbXSA9IHsKKwkJTl8oImdpdCB3YWxrZW4iKSwKKwkJTlVMTCwKKwl9CisJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CisJCU9QVF9FTkQoKQorCX07CisKKwlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIG9wdGlvbnMsIHdhbGtlbl91c2FnZSwgMCk7CisKKwkuLi4KK30KKy0tLS0KKworQWxzbyBhZGQgdGhlIHJlbGV2YW50IGxpbmUgaW4gYGJ1aWx0aW4uaGAgbmVhciBgY21kX3doYXRjaGFuZ2VkKClgOgorCistLS0tCitpbnQgY21kX3dhbGtlbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CistLS0tCisKK0luY2x1ZGUgdGhlIGNvbW1hbmQgaW4gYGdpdC5jYCBpbiBgY29tbWFuZHNbXWAgbmVhciB0aGUgZW50cnkgZm9yIGB3aGF0Y2hhbmdlZGAsCittYWludGFpbmluZyBhbHBoYWJldGljYWwgb3JkZXJpbmc6CisKKy0tLS0KK3sgIndhbGtlbiIsIGNtZF93YWxrZW4sIFJVTl9TRVRVUCB9LAorLS0tLQorCitBZGQgaXQgdG8gdGhlIGBNYWtlZmlsZWAgbmVhciB0aGUgbGluZSBmb3IgYGJ1aWx0aW4vd29ya3RyZWUub2A6CisKKy0tLS0KK0JVSUxUSU5fT0JKUyArPSBidWlsdGluL3dhbGtlbi5vCistLS0tCisKK0J1aWxkIGFuZCB0ZXN0IG91dCB5b3VyIGNvbW1hbmQsIHdpdGhvdXQgZm9yZ2V0dGluZyB0byBlbnN1cmUgdGhlIGBERVZFTE9QRVJgCitmbGFnIGlzIHNldCwgYW5kIHdpdGggYEdJVF9UUkFDRWAgZW5hYmxlZCBzbyB0aGUgZGVidWcgb3V0cHV0IGNhbiBiZSBzZWVuOgorCistLS0tCiskIGVjaG8gREVWRUxPUEVSPTEgPj5jb25maWcubWFrCiskIG1ha2UKKyQgR0lUX1RSQUNFPTEgLi9iaW4td3JhcHBlcnMvZ2l0IHdhbGtlbgorLS0tLQorCitOT1RFOiBGb3IgYSBtb3JlIGV4aGF1c3RpdmUgb3ZlcnZpZXcgb2YgdGhlIG5ldyBjb21tYW5kIHByb2Nlc3MsIHRha2UgYSBsb29rIGF0CitgRG9jdW1lbnRhdGlvbi9NeUZpcnN0Q29udHJpYnV0aW9uLnR4dGAuCisKK05PVEU6IEEgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGNhbiBiZSBmb3VuZCBhdAoraHR0cHM6Ly9naXRodWIuY29tL25hc2FtdWZmaW4vZ2l0L3RyZWUvcmV2d2Fsay4KKworPT09IGBzdHJ1Y3QgcmV2X2NtZGxpbmVfaW5mb2AKKworVGhlIGRlZmluaXRpb24gb2YgYHN0cnVjdCByZXZfY21kbGluZV9pbmZvYCBjYW4gYmUgZm91bmQgaW4gYHJldmlzaW9uLmhgLgorCitUaGlzIHN0cnVjdCBpcyBjb250YWluZWQgd2l0aGluIHRoZSBgcmV2X2luZm9gIHN0cnVjdCBhbmQgaXMgdXNlZCB0byByZWZsZWN0CitwYXJhbWV0ZXJzIHByb3ZpZGVkIGJ5IHRoZSB1c2VyIG92ZXIgdGhlIENMSS4KKworYG5yYCByZXByZXNlbnRzIHRoZSBudW1iZXIgb2YgYHJldl9jbWRsaW5lX2VudHJ5YCBwcmVzZW50IGluIHRoZSBhcnJheS4KKworYGFsbG9jYCBpcyB1c2VkIGJ5IHRoZSBgQUxMT0NfR1JPV2AgbWFjcm8uIENoZWNrIGBjYWNoZS5oYCAtIHRoaXMgdmFyaWFibGUgaXMKK3VzZWQgdG8gdHJhY2sgdGhlIGFsbG9jYXRlZCBzaXplIG9mIHRoZSBsaXN0LgorCitQZXIgZW50cnksIHdlIGZpbmQ6CisKK2BpdGVtYCBpcyB0aGUgb2JqZWN0IHByb3ZpZGVkIHVwb24gd2hpY2ggdG8gYmFzZSB0aGUgb2JqZWN0IHdhbGsuIEl0ZW1zIGluIEdpdAorY2FuIGJlIGJsb2JzLCB0cmVlcywgY29tbWl0cywgb3IgdGFncy4gKFNlZSBgRG9jdW1lbnRhdGlvbi9naXR0dXRvcmlhbC0yLnR4dGAuKQorCitgbmFtZWAgaXMgdGhlIG9iamVjdCBJRCAoT0lEKSBvZiB0aGUgb2JqZWN0IC0gYSBoZXggc3RyaW5nIHlvdSBtYXkgYmUgZmFtaWxpYXIKK3dpdGggZnJvbSB1c2luZyBHaXQgdG8gb3JnYW5pemUgeW91ciBzb3VyY2UgaW4gdGhlIHBhc3QuIENoZWNrIHRoZSB0dXRvcmlhbAorbWVudGlvbmVkIGFib3ZlIHRvd2FyZHMgdGhlIHRvcCBmb3IgYSBkaXNjdXNzaW9uIG9mIHdoZXJlIHRoZSBPSUQgY2FuIGNvbWUKK2Zyb20uCisKK2B3aGVuY2VgIGluZGljYXRlcyBzb21lIGluZm9ybWF0aW9uIGFib3V0IHdoYXQgdG8gZG8gd2l0aCB0aGUgcGFyZW50cyBvZiB0aGUKK3NwZWNpZmllZCBvYmplY3QuIFdlJ2xsIGV4cGxvcmUgdGhpcyBmbGFnIG1vcmUgbGF0ZXIgb247IHRha2UgYSBsb29rIGF0CitgRG9jdW1lbnRhdGlvbi9yZXZpc2lvbnMudHh0YCB0byBnZXQgYW4gaWRlYSBvZiB3aGF0IGNvdWxkIHNldCB0aGUgYHdoZW5jZWAKK3ZhbHVlLgorCitgZmxhZ3NgIGFyZSB1c2VkIHRvIGhpbnQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcmV2aXNpb24gd2FsayBhbmQgYXJlIHRoZSBmaXJzdAorYmxvY2sgdW5kZXIgdGhlIGAjaW5jbHVkZWBzIGluIGByZXZpc2lvbi5oYC4gVGhlIG1vc3QgbGlrZWx5IG9uZXMgdG8gYmUgc2V0IGluCit0aGUgYHJldl9jbWRsaW5lX2luZm9gIGFyZSBgVU5JTlRFUkVTVElOR2AgYW5kIGBCT1RUT01gLCBidXQgdGhlc2Ugc2FtZSBmbGFncworY2FuIGJlIHVzZWQgZHVyaW5nIHRoZSB3YWxrLCBhcyB3ZWxsLgorCis9PT0gYHN0cnVjdCByZXZfaW5mb2AKKworVGhpcyBvbmUgaXMgcXVpdGUgYSBiaXQgbG9uZ2VyLCBhbmQgbWFueSBmaWVsZHMgYXJlIG9ubHkgdXNlZCBkdXJpbmcgdGhlIHdhbGsKK2J5IGByZXZpc2lvbi5jYCAtIG5vdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuIE1vc3Qgb2YgdGhlIGNvbmZpZ3VyYWJsZSBmbGFncyBpbgorYHN0cnVjdCByZXZfaW5mb2AgaGF2ZSBhIG1pcnJvciBpbiBgRG9jdW1lbnRhdGlvbi9yZXYtbGlzdC1vcHRpb25zLnR4dGAuIEl0J3MgYQorZ29vZCBpZGVhIHRvIHRha2Ugc29tZSB0aW1lIGFuZCByZWFkIHRocm91Z2ggdGhhdCBkb2N1bWVudC4KKworPT0gQmFzaWMgQ29tbWl0IFdhbGsKKworRmlyc3QsIGxldCdzIHNlZSBpZiB3ZSBjYW4gcmVwbGljYXRlIHRoZSBvdXRwdXQgb2YgYGdpdCBsb2cgLS1vbmVsaW5lYC4gV2UnbGwKK3JlZmVyIGJhY2sgdG8gdGhlIGltcGxlbWVudGF0aW9uIGZyZXF1ZW50bHkgdG8gZGlzY292ZXIgbm9ybXMgd2hlbiBwZXJmb3JtaW5nCithbiBvYmplY3Qgd2FsayBvZiBvdXIgb3duLgorCitUbyBkbyBzbywgd2UnbGwgZmlyc3QgZmluZCBhbGwgdGhlIGNvbW1pdHMsIGluIG9yZGVyLCB3aGljaCBwcmVjZWRlZCB0aGUgY3VycmVudAorY29tbWl0LiBXZSdsbCBleHRyYWN0IHRoZSBuYW1lIGFuZCBzdWJqZWN0IG9mIHRoZSBjb21taXQgZnJvbSBlYWNoLgorCitJZGVhbGx5LCB3ZSB3aWxsIGFsc28gYmUgYWJsZSB0byBmaW5kIG91dCB3aGljaCBvbmVzIGFyZSBjdXJyZW50bHkgYXQgdGhlIHRpcCBvZgordmFyaW91cyBicmFuY2hlcy4KKworPT09IFNldHRpbmcgVXAKKworUHJlcGFyaW5nIGZvciB5b3VyIG9iamVjdCB3YWxrIGhhcyBzb21lIGRpc3RpbmN0IHN0YWdlcy4KKworMS4gUGVyZm9ybSBkZWZhdWx0IHNldHVwIGZvciB0aGlzIG1vZGUsIGFuZCBvdGhlcnMgd2hpY2ggbWF5IGJlIGludm9rZWQuCisyLiBDaGVjayBjb25maWd1cmF0aW9uIGZpbGVzIGZvciByZWxldmFudCBzZXR0aW5ncy4KKzMuIFNldCB1cCB0aGUgYHJldl9pbmZvYCBzdHJ1Y3QuCis0LiBUd2VhayB0aGUgaW5pdGlhbGl6ZWQgYHJldl9pbmZvYCB0byBzdWl0IHRoZSBjdXJyZW50IHdhbGsuCis1LiBQcmVwYXJlIHRoZSBgcmV2X2luZm9gIGZvciB0aGUgd2Fsay4KKzYuIEl0ZXJhdGUgb3ZlciB0aGUgb2JqZWN0cywgcHJvY2Vzc2luZyBlYWNoIG9uZS4KKworPT09PSBEZWZhdWx0IFNldHVwcworCitCZWZvcmUgZXhhbWluaW5nIGNvbmZpZ3VyYXRpb24gZmlsZXMgd2hpY2ggbWF5IG1vZGlmeSBjb21tYW5kIGJlaGF2aW9yLCBzZXQgdXAKK2RlZmF1bHQgc3RhdGUgZm9yIHN3aXRjaGVzIG9yIG9wdGlvbnMgeW91ciBjb21tYW5kIG1heSBoYXZlLiBJZiB5b3VyIGNvbW1hbmQKK3V0aWxpemVzIG90aGVyIEdpdCBjb21wb25lbnRzLCBhc2sgdGhlbSB0byBzZXQgdXAgdGhlaXIgZGVmYXVsdCBzdGF0ZXMgYXMgd2VsbC4KK0ZvciBpbnN0YW5jZSwgYGdpdCBsb2dgIHRha2VzIGFkdmFudGFnZSBvZiBgZ3JlcGAgYW5kIGBkaWZmYCBmdW5jdGlvbmFsaXR5LCBzbworaXRzIGBpbml0X2xvZ19kZWZhdWx0cygpYCBzZXRzIGl0cyBvd24gc3RhdGUgKGBkZWNvcmF0aW9uX3N0eWxlYCkgYW5kIGFza3MKK2BncmVwYCBhbmQgYGRpZmZgIHRvIGluaXRpYWxpemUgdGhlbXNlbHZlcyBieSBjYWxsaW5nIGVhY2ggb2YgdGhlaXIKK2luaXRpYWxpemF0aW9uIGZ1bmN0aW9ucy4KKworRm9yIG91ciBmaXJzdCBleGFtcGxlIHdpdGhpbiBgZ2l0IHdhbGtlbmAsIHdlIGRvbid0IGludGVuZCB0byB1c2UgYW55IG90aGVyCitjb21wb25lbnRzIHdpdGhpbiBHaXQsIGFuZCB3ZSBkb24ndCBoYXZlIGFueSBjb25maWd1cmF0aW9uIHRvIGRvLiAgSG93ZXZlciwgd2UKK21heSB3YW50IHRvIGFkZCBzb21lIGxhdGVyLCBzbyBmb3Igbm93LCB3ZSBjYW4gYWRkIGFuIGVtcHR5IHBsYWNlaG9sZGVyLiBDcmVhdGUKK2EgbmV3IGZ1bmN0aW9uIGluIGBidWlsdGluL3dhbGtlbi5jYDoKKworLS0tLQorc3RhdGljIHZvaWQgaW5pdF93YWxrZW5fZGVmYXVsdHModm9pZCkKK3sKKwkvKgorCSAqIFdlIGRvbid0IGFjdHVhbGx5IG5lZWQgdGhlIHNhbWUgY29tcG9uZW50cyBgZ2l0IGxvZ2AgZG9lczsgbGVhdmUgdGhpcworCSAqIGVtcHR5IGZvciBub3cuCisJICovCit9CistLS0tCisKK01ha2Ugc3VyZSB0byBhZGQgYSBsaW5lIGludm9raW5nIGl0IGluc2lkZSBvZiBgY21kX3dhbGtlbigpYC4KKworLS0tLQoraW50IGNtZF93YWxrZW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJaW5pdF93YWxrZW5fZGVmYXVsdHMoKTsKK30KKy0tLS0KKworPT09PSBDb25maWd1cmluZyBGcm9tIGAuZ2l0Y29uZmlnYAorCitOZXh0LCB3ZSBzaG91bGQgaGF2ZSBhIGxvb2sgYXQgYW55IHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgKGkuZS4sCitzZXR0aW5ncyByZWFkYWJsZSBhbmQgc2V0dGFibGUgZnJvbSBgZ2l0IGNvbmZpZ2ApLiBUaGlzIGlzIGRvbmUgYnkgcHJvdmlkaW5nIGEKK2NhbGxiYWNrIHRvIGBnaXRfY29uZmlnKClgOyB3aXRoaW4gdGhhdCBjYWxsYmFjaywgeW91IGNhbiBhbHNvIGludm9rZSBtZXRob2RzCitmcm9tIG90aGVyIGNvbXBvbmVudHMgeW91IG1heSBuZWVkIHRoYXQgbmVlZCB0byBpbnRlcmNlcHQgdGhlc2Ugb3B0aW9ucy4gWW91cgorY2FsbGJhY2sgd2lsbCBiZSBpbnZva2VkIG9uY2UgcGVyIGVhY2ggY29uZmlndXJhdGlvbiB2YWx1ZSB3aGljaCBHaXQga25vd3MgYWJvdXQKKyhnbG9iYWwsIGxvY2FsLCB3b3JrdHJlZSwgZXRjLikuCisKK1NpbWlsYXJseSB0byB0aGUgZGVmYXVsdCB2YWx1ZXMsIHdlIGRvbid0IGhhdmUgYW55dGhpbmcgdG8gZG8gaGVyZSB5ZXQKK291cnNlbHZlczsgaG93ZXZlciwgd2Ugc2hvdWxkIGNhbGwgYGdpdF9kZWZhdWx0X2NvbmZpZygpYCBpZiB3ZSBhcmVuJ3QgY2FsbGluZworYW55IG90aGVyIGV4aXN0aW5nIGNvbmZpZyBjYWxsYmFja3MuCisKK0FkZCBhIG5ldyBmdW5jdGlvbiB0byBgYnVpbHRpbi93YWxrZW4uY2A6CisKKy0tLS0KK3N0YXRpYyBpbnQgZ2l0X3dhbGtlbl9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpCit7CisJLyoKKwkgKiBGb3Igbm93LCB3ZSBkb24ndCBoYXZlIGFueSBjdXN0b20gY29uZmlndXJhdGlvbiwgc28gZmFsbCBiYWNrIHRvCisJICogdGhlIGRlZmF1bHQgY29uZmlnLgorCSAqLworCXJldHVybiBnaXRfZGVmYXVsdF9jb25maWcodmFyLCB2YWx1ZSwgY2IpOworfQorLS0tLQorCitNYWtlIHN1cmUgdG8gaW52b2tlIGBnaXRfY29uZmlnKClgIHdpdGggaXQgaW4geW91ciBgY21kX3dhbGtlbigpYDoKKworLS0tLQoraW50IGNtZF93YWxrZW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJLi4uCisKKwlnaXRfY29uZmlnKGdpdF93YWxrZW5fY29uZmlnLCBOVUxMKTsKKworCS4uLgorfQorLS0tLQorCis9PT09IFNldHRpbmcgVXAgYHJldl9pbmZvYAorCitOb3cgdGhhdCB3ZSd2ZSBnYXRoZXJlZCBleHRlcm5hbCBjb25maWd1cmF0aW9uIGFuZCBvcHRpb25zLCBpdCdzIHRpbWUgdG8KK2luaXRpYWxpemUgdGhlIGByZXZfaW5mb2Agb2JqZWN0IHdoaWNoIHdlIHdpbGwgdXNlIHRvIHBlcmZvcm0gdGhlIHdhbGsuIFRoaXMgaXMKK3R5cGljYWxseSBkb25lIGJ5IGNhbGxpbmcgYHJlcG9faW5pdF9yZXZpc2lvbnMoKWAgd2l0aCB0aGUgcmVwb3NpdG9yeSB5b3UgaW50ZW5kCit0byB0YXJnZXQsIGFzIHdlbGwgYXMgdGhlIGBwcmVmaXhgIGFyZ3VtZW50IG9mIGBjbWRfd2Fsa2VuYCBhbmQgeW91ciBgcmV2X2luZm9gCitzdHJ1Y3QuCisKK0FkZCB0aGUgYHN0cnVjdCByZXZfaW5mb2AgYW5kIHRoZSBgcmVwb19pbml0X3JldmlzaW9ucygpYCBjYWxsOgorLS0tLQoraW50IGNtZF93YWxrZW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJLyogVGhpcyBjYW4gZ28gd2hlcmV2ZXIgeW91IGxpa2UgaW4geW91ciBkZWNsYXJhdGlvbnMuKi8KKwlzdHJ1Y3QgcmV2X2luZm8gcmV2OworCS4uLgorCisJLyogVGhpcyBzaG91bGQgZ28gYWZ0ZXIgdGhlIGdpdF9jb25maWcoKSBjYWxsLiAqLworCXJlcG9faW5pdF9yZXZpc2lvbnModGhlX3JlcG9zaXRvcnksICZyZXYsIHByZWZpeCk7CisKKwkuLi4KK30KKy0tLS0KKworPT09PSBUd2Vha2luZyBgcmV2X2luZm9gIEZvciB0aGUgV2FsaworCitXZSdyZSBnZXR0aW5nIGNsb3NlLCBidXQgd2UncmUgc3RpbGwgbm90IHF1aXRlIHJlYWR5IHRvIGdvLiBOb3cgdGhhdCBgcmV2YCBpcworaW5pdGlhbGl6ZWQsIHdlIGNhbiBtb2RpZnkgaXQgdG8gZml0IG91ciBuZWVkcy4gVGhpcyBpcyB1c3VhbGx5IGRvbmUgd2l0aGluIGEKK2hlbHBlciBmb3IgY2xhcml0eSwgc28gbGV0J3MgYWRkIG9uZToKKworLS0tLQorc3RhdGljIHZvaWQgZmluYWxfcmV2X2luZm9fc2V0dXAoc3RydWN0IHJldl9pbmZvICpyZXYpCit7CisJLyoKKwkgKiBXZSB3YW50IHRvIG1pbWljIHRoZSBhcHBlYXJhbmNlIG9mIGBnaXQgbG9nIC0tb25lbGluZWAsIHNvIGxldCdzCisJICogZm9yY2Ugb25lbGluZSBmb3JtYXQuCisJICovCisJZ2V0X2NvbW1pdF9mb3JtYXQoIm9uZWxpbmUiLCByZXYpOworCisJLyogU3RhcnQgb3VyIG9iamVjdCB3YWxrIGF0IEhFQUQuICovCisJYWRkX2hlYWRfdG9fcGVuZGluZyhyZXYpOworfQorLS0tLQorCitbTk9URV0KKz09PT0KK0luc3RlYWQgb2YgdXNpbmcgdGhlIHNob3J0aGFuZCBgYWRkX2hlYWRfdG9fcGVuZGluZygpYCwgeW91IGNvdWxkIGRvCitzb21ldGhpbmcgbGlrZSB0aGlzOgorLS0tLQorCXN0cnVjdCBzZXR1cF9yZXZpc2lvbl9vcHQgb3B0OworCisJbWVtc2V0KCZvcHQsIDAsIHNpemVvZihvcHQpKTsKKwlvcHQuZGVmID0gIkhFQUQiOworCW9wdC5yZXZhcmdfb3B0ID0gUkVWQVJHX0NPTU1JVFRJU0g7CisJc2V0dXBfcmV2aXNpb25zKGFyZ2MsIGFyZ3YsIHJldiwgJm9wdCk7CistLS0tCitVc2luZyBhIGBzZXR1cF9yZXZpc2lvbl9vcHRgIGdpdmVzIHlvdSBmaW5lciBjb250cm9sIG92ZXIgeW91ciB3YWxrJ3Mgc3RhcnRpbmcKK3BvaW50LgorPT09PQorCitUaGVuIGxldCdzIGludm9rZSBgZmluYWxfcmV2X2luZm9fc2V0dXAoKWAgYWZ0ZXIgdGhlIGNhbGwgdG8KK2ByZXBvX2luaXRfcmV2aXNpb25zKClgOgorCistLS0tCitpbnQgY21kX3dhbGtlbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwkuLi4KKworCWZpbmFsX3Jldl9pbmZvX3NldHVwKCZyZXYpOworCisJLi4uCit9CistLS0tCisKK0xhdGVyLCB3ZSBtYXkgd2lzaCB0byBhZGQgbW9yZSBhcmd1bWVudHMgdG8gYGZpbmFsX3Jldl9pbmZvX3NldHVwKClgLiBCdXQgZm9yCitub3csIHRoaXMgaXMgYWxsIHdlIG5lZWQuCisKKz09PT0gUHJlcGFyaW5nIGByZXZfaW5mb2AgRm9yIHRoZSBXYWxrCisKK05vdyB0aGF0IGByZXZgIGlzIGFsbCBpbml0aWFsaXplZCBhbmQgY29uZmlndXJlZCwgd2UndmUgZ290IG9uZSBtb3JlIHNldHVwIHN0ZXAKK2JlZm9yZSB3ZSBnZXQgcm9sbGluZy4gV2UgY2FuIGRvIHRoaXMgaW4gYSBoZWxwZXIsIHdoaWNoIHdpbGwgYm90aCBwcmVwYXJlIHRoZQorYHJldl9pbmZvYCBmb3IgdGhlIHdhbGssIGFuZCBwZXJmb3JtIHRoZSB3YWxrIGl0c2VsZi4gTGV0J3Mgc3RhcnQgdGhlIGhlbHBlcgord2l0aCB0aGUgY2FsbCB0byBgcHJlcGFyZV9yZXZpc2lvbl93YWxrKClgLCB3aGljaCBjYW4gcmV0dXJuIGFuIGVycm9yIHdpdGhvdXQKK2R5aW5nIG9uIGl0cyBvd246CisKKy0tLS0KK3N0YXRpYyB2b2lkIHdhbGtlbl9jb21taXRfd2FsayhzdHJ1Y3QgcmV2X2luZm8gKnJldikKK3sKKwlpZiAocHJlcGFyZV9yZXZpc2lvbl93YWxrKHJldikpCisJCWRpZShfKCJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIpKTsKK30KKy0tLS0KKworTk9URTogYGRpZSgpYCBwcmludHMgdG8gYHN0ZGVycmAgYW5kIGV4aXRzIHRoZSBwcm9ncmFtLiBTaW5jZSBpdCB3aWxsIHByaW50IHRvCitgc3RkZXJyYCBpdCdzIGxpa2VseSB0byBiZSBzZWVuIGJ5IGEgaHVtYW4sIHNvIHdlIHdpbGwgbG9jYWxpemUgaXQuCisKKz09PT0gUGVyZm9ybWluZyB0aGUgV2FsayEKKworRmluYWxseSEgV2UgYXJlIHJlYWR5IHRvIGJlZ2luIHRoZSB3YWxrIGl0c2VsZi4gTm93IHdlIGNhbiBzZWUgdGhhdCBgcmV2X2luZm9gCitjYW4gYWxzbyBiZSB1c2VkIGFzIGFuIGl0ZXJhdG9yOyB3ZSBtb3ZlIHRvIHRoZSBuZXh0IGl0ZW0gaW4gdGhlIHdhbGsgYnkgdXNpbmcKK2BnZXRfcmV2aXNpb24oKWAgcmVwZWF0ZWRseS4gQWRkIHRoZSBsaXN0ZWQgdmFyaWFibGUgZGVjbGFyYXRpb25zIGF0IHRoZSB0b3AgYW5kCit0aGUgd2FsayBsb29wIGJlbG93IHRoZSBgcHJlcGFyZV9yZXZpc2lvbl93YWxrKClgIGNhbGwgd2l0aGluIHlvdXIKK2B3YWxrZW5fY29tbWl0X3dhbGsoKWA6CisKKy0tLS0KK3N0YXRpYyB2b2lkIHdhbGtlbl9jb21taXRfd2FsayhzdHJ1Y3QgcmV2X2luZm8gKnJldikKK3sKKwlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CisJc3RydWN0IHN0cmJ1ZiBwcmV0dHlidWYgPSBTVFJCVUZfSU5JVDsKKworCS4uLgorCisJd2hpbGUgKChjb21taXQgPSBnZXRfcmV2aXNpb24ocmV2KSkpIHsKKwkJaWYgKCFjb21taXQpCisJCQljb250aW51ZTsKKworCQlzdHJidWZfcmVzZXQoJnByZXR0eWJ1Zik7CisJCXBwX2NvbW1pdF9lYXN5KENNSVRfRk1UX09ORUxJTkUsIGNvbW1pdCwgJnByZXR0eWJ1Zik7CisJCXB1dHMocHJldHR5YnVmLmJ1Zik7CisJfQorCXN0cmJ1Zl9yZWxlYXNlKCZwcmV0dHlidWYpOworfQorLS0tLQorCitOT1RFOiBgcHV0cygpYCBwcmludHMgYSBgY2hhcipgIHRvIGBzdGRvdXRgLiBTaW5jZSB0aGlzIGlzIHRoZSBwYXJ0IG9mIHRoZQorY29tbWFuZCB3ZSBleHBlY3QgdG8gYmUgbWFjaGluZS1wYXJzZWQsIHdlJ3JlIHNlbmRpbmcgaXQgZGlyZWN0bHkgdG8gc3Rkb3V0LgorCitHaXZlIGl0IGEgc2hvdC4KKworLS0tLQorJCBtYWtlCiskIC4vYmluLXdyYXBwZXJzL2dpdCB3YWxrZW4KKy0tLS0KKworWW91IHNob3VsZCBzZWUgYWxsIG9mIHRoZSBzdWJqZWN0IGxpbmVzIG9mIGFsbCB0aGUgY29tbWl0cyBpbgoreW91ciB0cmVlJ3MgaGlzdG9yeSwgaW4gb3JkZXIsIGVuZGluZyB3aXRoIHRoZSBpbml0aWFsIGNvbW1pdCwgIkluaXRpYWwgcmV2aXNpb24KK29mICJnaXQiLCB0aGUgaW5mb3JtYXRpb24gbWFuYWdlciBmcm9tIGhlbGwiLiBDb25ncmF0dWxhdGlvbnMhIFlvdSd2ZSB3cml0dGVuCit5b3VyIGZpcnN0IHJldmlzaW9uIHdhbGsuIFlvdSBjYW4gcGxheSB3aXRoIHByaW50aW5nIHNvbWUgYWRkaXRpb25hbCBmaWVsZHMKK2Zyb20gZWFjaCBjb21taXQgaWYgeW91J3JlIGN1cmlvdXM7IGhhdmUgYSBsb29rIGF0IHRoZSBmdW5jdGlvbnMgYXZhaWxhYmxlIGluCitgY29tbWl0LmhgLgorCis9PT0gQWRkaW5nIGEgRmlsdGVyCisKK05leHQsIGxldCdzIHRyeSB0byBmaWx0ZXIgdGhlIGNvbW1pdHMgd2Ugc2VlIGJhc2VkIG9uIHRoZWlyIGF1dGhvci4gVGhpcyBpcworZXF1aXZhbGVudCB0byBydW5uaW5nIGBnaXQgbG9nIC0tYXV0aG9yPTxwYXR0ZXJuPmAuIFdlIGNhbiBhZGQgYSBmaWx0ZXIgYnkKK21vZGlmeWluZyBgcmV2X2luZm8uZ3JlcF9maWx0ZXJgLCB3aGljaCBpcyBhIGBzdHJ1Y3QgZ3JlcF9vcHRgLgorCitGaXJzdCBzb21lIHNldHVwLiBBZGQgYGluaXRfZ3JlcF9kZWZhdWx0cygpYCB0byBgaW5pdF93YWxrZW5fZGVmYXVsdHMoKWAgYW5kIGFkZAorYGdyZXBfY29uZmlnKClgIHRvIGBnaXRfd2Fsa2VuX2NvbmZpZygpYDoKKworLS0tLQorc3RhdGljIHZvaWQgaW5pdF93YWxrZW5fZGVmYXVsdHModm9pZCkKK3sKKwlpbml0X2dyZXBfZGVmYXVsdHModGhlX3JlcG9zaXRvcnkpOworfQorCisuLi4KKworc3RhdGljIGludCBnaXRfd2Fsa2VuX2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpjYikKK3sKKwlncmVwX2NvbmZpZyh2YXIsIHZhbHVlLCBjYik7CisJcmV0dXJuIGdpdF9kZWZhdWx0X2NvbmZpZyh2YXIsIHZhbHVlLCBjYik7Cit9CistLS0tCisKK05leHQsIHdlIGNhbiBtb2RpZnkgdGhlIGBncmVwX2ZpbHRlcmAuIFRoaXMgaXMgZG9uZSB3aXRoIGNvbnZlbmllbmNlIGZ1bmN0aW9ucworZm91bmQgaW4gYGdyZXAuaGAuIEZvciBmdW4sIHdlJ3JlIGZpbHRlcmluZyB0byBvbmx5IGNvbW1pdHMgZnJvbSBmb2xrcyB1c2luZyBhCitgZ21haWwuY29tYCBlbWFpbCBhZGRyZXNzIC0gYSBub3QtdmVyeS1wcmVjaXNlIGd1ZXNzIGF0IHdobyBtYXkgYmUgd29ya2luZyBvbgorR2l0IGFzIGEgaG9iYnkuIFNpbmNlIHdlJ3JlIGNoZWNraW5nIHRoZSBhdXRob3IsIHdoaWNoIGlzIGEgc3BlY2lmaWMgbGluZSBpbiB0aGUKK2hlYWRlciwgd2UnbGwgdXNlIHRoZSBgYXBwZW5kX2hlYWRlcl9ncmVwX3BhdHRlcm4oKWAgaGVscGVyLiBXZSBjYW4gdXNlCit0aGUgYGVudW0gZ3JlcF9oZWFkZXJfZmllbGRgIHRvIGluZGljYXRlIHdoaWNoIHBhcnQgb2YgdGhlIGNvbW1pdCBoZWFkZXIgd2Ugd2FudAordG8gc2VhcmNoLgorCitJbiBgZmluYWxfcmV2X2luZm9fc2V0dXAoKWAsIGFkZCB5b3VyIGZpbHRlciBsaW5lOgorCistLS0tCitzdGF0aWMgdm9pZCBmaW5hbF9yZXZfaW5mb19zZXR1cChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsCisJCWNvbnN0IGNoYXIgKnByZWZpeCwgc3RydWN0IHJldl9pbmZvICpyZXYpCit7CisJLi4uCisKKwlhcHBlbmRfaGVhZGVyX2dyZXBfcGF0dGVybigmcmV2LT5ncmVwX2ZpbHRlciwgR1JFUF9IRUFERVJfQVVUSE9SLAorCQkiZ21haWwiKTsKKwljb21waWxlX2dyZXBfcGF0dGVybnMoJnJldi0+Z3JlcF9maWx0ZXIpOworCisJLi4uCit9CistLS0tCisKK2BhcHBlbmRfaGVhZGVyX2dyZXBfcGF0dGVybigpYCBhZGRzIHlvdXIgbmV3ICJnbWFpbCIgcGF0dGVybiB0byBgcmV2X2luZm9gLCBidXQKK2l0IHdvbid0IHdvcmsgdW5sZXNzIHdlIGNvbXBpbGUgaXQgd2l0aCBgY29tcGlsZV9ncmVwX3BhdHRlcm5zKClgLgorCitOT1RFOiBJZiB5b3UgYXJlIHVzaW5nIGBzZXR1cF9yZXZpc2lvbnMoKWAgKGZvciBleGFtcGxlLCBpZiB5b3UgYXJlIHBhc3NpbmcgYQorYHNldHVwX3JldmlzaW9uX29wdGAgaW5zdGVhZCBvZiB1c2luZyBgYWRkX2hlYWRfdG9fcGVuZGluZygpYCksIHlvdSBkb24ndCBuZWVkCit0byBjYWxsIGBjb21waWxlX2dyZXBfcGF0dGVybnMoKWAgYmVjYXVzZSBgc2V0dXBfcmV2aXNpb25zKClgIGNhbGxzIGl0IGZvciB5b3UuCisKK05PVEU6IFdlIGNvdWxkIGFkZCB0aGUgc2FtZSBmaWx0ZXIgdmlhIHRoZSBgYXBwZW5kX2dyZXBfcGF0dGVybigpYCBoZWxwZXIgaWYgd2UKK3dhbnRlZCB0bywgYnV0IGBhcHBlbmRfaGVhZGVyX2dyZXBfcGF0dGVybigpYCBhZGRzIHRoZSBgZW51bSBncmVwX2NvbnRleHRgIGFuZAorYGVudW0gZ3JlcF9wYXRfdG9rZW5gIGZvciB1cy4KKworPT09IENoYW5naW5nIHRoZSBPcmRlcgorCitUaGVyZSBhcmUgYSBmZXcgd2F5cyB0aGF0IHdlIGNhbiBjaGFuZ2UgdGhlIG9yZGVyIG9mIHRoZSBjb21taXRzIGR1cmluZyBhCityZXZpc2lvbiB3YWxrLiBGaXJzdGx5LCB3ZSBjYW4gdXNlIHRoZSBgZW51bSByZXZfc29ydF9vcmRlcmAgdG8gY2hvb3NlIGZyb20gc29tZQordHlwaWNhbCBvcmRlcmluZ3MuCisKK2B0b3BvX29yZGVyYCBpcyB0aGUgc2FtZSBhcyBgZ2l0IGxvZyAtLXRvcG8tb3JkZXJgOiB3ZSBhdm9pZCBzaG93aW5nIGEgcGFyZW50CitiZWZvcmUgYWxsIG9mIGl0cyBjaGlsZHJlbiBoYXZlIGJlZW4gc2hvd24sIGFuZCB3ZSBhdm9pZCBtaXhpbmcgY29tbWl0cyB3aGljaAorYXJlIGluIGRpZmZlcmVudCBsaW5lcyBvZiBoaXN0b3J5LiAoYGdpdCBoZWxwIGxvZ2AncyBzZWN0aW9uIG9uIGAtLXRvcG8tb3JkZXJgCitoYXMgYSB2ZXJ5IG5pY2UgZGlhZ3JhbSB0byBpbGx1c3RyYXRlIHRoaXMuKQorCitMZXQncyBzZWUgd2hhdCBoYXBwZW5zIHdoZW4gd2UgcnVuIHdpdGggYFJFVl9TT1JUX0JZX0NPTU1JVF9EQVRFYCBhcyBvcHBvc2VkIHRvCitgUkVWX1NPUlRfQllfQVVUSE9SX0RBVEVgLiBBZGQgdGhlIGZvbGxvd2luZzoKKworLS0tLQorc3RhdGljIHZvaWQgZmluYWxfcmV2X2luZm9fc2V0dXAoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LAorCQljb25zdCBjaGFyICpwcmVmaXgsIHN0cnVjdCByZXZfaW5mbyAqcmV2KQoreworCS4uLgorCisJcmV2LT50b3BvX29yZGVyID0gMTsKKwlyZXYtPnNvcnRfb3JkZXIgPSBSRVZfU09SVF9CWV9DT01NSVRfREFURTsKKworCS4uLgorfQorLS0tLQorCitMZXQncyBvdXRwdXQgdGhpcyBpbnRvIGEgZmlsZSBzbyB3ZSBjYW4gZWFzaWx5IGRpZmYgaXQgd2l0aCB0aGUgd2FsayBzb3J0ZWQgYnkKK2F1dGhvciBkYXRlLgorCistLS0tCiskIG1ha2UKKyQgLi9iaW4td3JhcHBlcnMvZ2l0IHdhbGtlbiA+IGNvbW1pdC1kYXRlLnR4dAorLS0tLQorCitUaGVuLCBsZXQncyBzb3J0IGJ5IGF1dGhvciBkYXRlIGFuZCBydW4gaXQgYWdhaW4uCisKKy0tLS0KK3N0YXRpYyB2b2lkIGZpbmFsX3Jldl9pbmZvX3NldHVwKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwKKwkJY29uc3QgY2hhciAqcHJlZml4LCBzdHJ1Y3QgcmV2X2luZm8gKnJldikKK3sKKwkuLi4KKworCXJldi0+dG9wb19vcmRlciA9IDE7CisJcmV2LT5zb3J0X29yZGVyID0gUkVWX1NPUlRfQllfQVVUSE9SX0RBVEU7CisKKwkuLi4KK30KKy0tLS0KKworLS0tLQorJCBtYWtlCiskIC4vYmluLXdyYXBwZXJzL2dpdCB3YWxrZW4gPiBhdXRob3ItZGF0ZS50eHQKKy0tLS0KKworRmluYWxseSwgY29tcGFyZSB0aGUgdHdvLiBUaGlzIGlzIGEgbGl0dGxlIGxlc3MgaGVscGZ1bCB3aXRob3V0IG9iamVjdCBuYW1lcyBvcgorZGF0ZXMsIGJ1dCBob3BlZnVsbHkgd2UgZ2V0IHRoZSBpZGVhLgorCistLS0tCiskIGRpZmYgLXUgY29tbWl0LWRhdGUudHh0IGF1dGhvci1kYXRlLnR4dAorLS0tLQorCitUaGlzIGRpc3BsYXkgaW5kaWNhdGVzIHRoYXQgY29tbWl0cyBjYW4gYmUgcmVvcmRlcmVkIGFmdGVyIHRoZXkncmUgd3JpdHRlbiwgZm9yCitleGFtcGxlIHdpdGggYGdpdCByZWJhc2VgLgorCitMZXQncyB0cnkgb25lIG1vcmUgcmVvcmRlcmluZyBvZiBjb21taXRzLiBgcmV2X2luZm9gIGV4cG9zZXMgYSBgcmV2ZXJzZWAgZmxhZy4KK1NldCB0aGF0IGZsYWcgc29tZXdoZXJlIGluc2lkZSBvZiBgZmluYWxfcmV2X2luZm9fc2V0dXAoKWA6CisKKy0tLS0KK3N0YXRpYyB2b2lkIGZpbmFsX3Jldl9pbmZvX3NldHVwKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4LAorCQlzdHJ1Y3QgcmV2X2luZm8gKnJldikKK3sKKwkuLi4KKworCXJldi0+cmV2ZXJzZSA9IDE7CisKKwkuLi4KK30KKy0tLS0KKworUnVuIHlvdXIgd2FsayBhZ2FpbiBhbmQgbm90ZSB0aGUgZGlmZmVyZW5jZSBpbiBvcmRlci4gKElmIHlvdSByZW1vdmUgdGhlIGdyZXAKK3BhdHRlcm4sIHlvdSBzaG91bGQgc2VlIHRoZSBsYXN0IGNvbW1pdCB0aGlzIGNhbGwgZ2l2ZXMgeW91IGFzIHlvdXIgY3VycmVudAorSEVBRC4pCisKKz09IEJhc2ljIE9iamVjdCBXYWxrCisKK1NvIGZhciB3ZSd2ZSBiZWVuIHdhbGtpbmcgb25seSBjb21taXRzLiBCdXQgR2l0IGhhcyBtb3JlIHR5cGVzIG9mIG9iamVjdHMgdGhhbgordGhhdCEgTGV0J3Mgc2VlIGlmIHdlIGNhbiB3YWxrIF9hbGxfIG9iamVjdHMsIGFuZCBmaW5kIG91dCBzb21lIGluZm9ybWF0aW9uCithYm91dCBlYWNoIG9uZS4KKworV2UgY2FuIGJhc2Ugb3VyIHdvcmsgb24gYW4gZXhhbXBsZS4gYGdpdCBwYWNrLW9iamVjdHNgIHByZXBhcmVzIGFsbCBraW5kcyBvZgorb2JqZWN0cyBmb3IgcGFja2luZyBpbnRvIGEgYml0bWFwIG9yIHBhY2tmaWxlLiBUaGUgd29yayB3ZSBhcmUgaW50ZXJlc3RlZCBpbgorcmVzaWRlcyBpbiBgYnVpbHRpbnMvcGFjay1vYmplY3RzLmM6Z2V0X29iamVjdF9saXN0KClgOyBleGFtaW5hdGlvbiBvZiB0aGF0CitmdW5jdGlvbiBzaG93cyB0aGF0IHRoZSBhbGwtb2JqZWN0IHdhbGsgaXMgYmVpbmcgcGVyZm9ybWVkIGJ5CitgdHJhdmVyc2VfY29tbWl0X2xpc3QoKWAgb3IgYHRyYXZlcnNlX2NvbW1pdF9saXN0X2ZpbHRlcmVkKClgLiBUaG9zZSB0d28KK2Z1bmN0aW9ucyByZXNpZGUgaW4gYGxpc3Qtb2JqZWN0cy5jYDsgZXhhbWluaW5nIHRoZSBzb3VyY2Ugc2hvd3MgdGhhdCwgZGVzcGl0ZQordGhlIG5hbWUsIHRoZXNlIGZ1bmN0aW9ucyB0cmF2ZXJzZSBhbGwga2luZHMgb2Ygb2JqZWN0cy4gTGV0J3MgaGF2ZSBhIGxvb2sgYXQKK3RoZSBhcmd1bWVudHMgdG8gYHRyYXZlcnNlX2NvbW1pdF9saXN0X2ZpbHRlcmVkKClgLCB3aGljaCBhcmUgYSBzdXBlcnNldCBvZiB0aGUKK2FyZ3VtZW50cyB0byB0aGUgdW5maWx0ZXJlZCB2ZXJzaW9uLgorCistIGBzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zICpmaWx0ZXJfb3B0aW9uc2A6IFRoaXMgaXMgYSBzdHJ1Y3Qgd2hpY2gKKyAgc3RvcmVzIGEgZmlsdGVyLXNwZWMgYXMgb3V0bGluZWQgaW4gYERvY3VtZW50YXRpb24vcmV2LWxpc3Qtb3B0aW9ucy50eHRgLgorLSBgc3RydWN0IHJldl9pbmZvICpyZXZzYDogVGhpcyBpcyB0aGUgYHJldl9pbmZvYCB1c2VkIGZvciB0aGUgd2Fsay4KKy0gYHNob3dfY29tbWl0X2ZuIHNob3dfY29tbWl0YDogQSBjYWxsYmFjayB3aGljaCB3aWxsIGJlIHVzZWQgdG8gaGFuZGxlIGVhY2gKKyAgaW5kaXZpZHVhbCBjb21taXQgb2JqZWN0LgorLSBgc2hvd19vYmplY3RfZm4gc2hvd19vYmplY3RgOiBBIGNhbGxiYWNrIHdoaWNoIHdpbGwgYmUgdXNlZCB0byBoYW5kbGUgZWFjaAorICBub24tY29tbWl0IG9iamVjdCAoc28gZWFjaCBibG9iLCB0cmVlLCBvciB0YWcpLgorLSBgdm9pZCAqc2hvd19kYXRhYDogQSBjb250ZXh0IGJ1ZmZlciB3aGljaCBpcyBwYXNzZWQgaW4gdHVybiB0byBgc2hvd19jb21taXRgCisgIGFuZCBgc2hvd19vYmplY3RgLgorLSBgc3RydWN0IG9pZHNldCAqb21pdHRlZGA6IEEgbGlua2VkLWxpc3Qgb2Ygb2JqZWN0IElEcyB3aGljaCB0aGUgcHJvdmlkZWQKKyAgZmlsdGVyIGNhdXNlZCB0byBiZSBvbWl0dGVkLgorCitJdCBsb29rcyBsaWtlIHRoaXMgYHRyYXZlcnNlX2NvbW1pdF9saXN0X2ZpbHRlcmVkKClgIHVzZXMgY2FsbGJhY2tzIHdlIHByb3ZpZGUKK2luc3RlYWQgb2YgbmVlZGluZyB1cyB0byBjYWxsIGl0IHJlcGVhdGVkbHkgb3Vyc2VsdmVzLiBDb29sISBMZXQncyBhZGQgdGhlCitjYWxsYmFja3MgZmlyc3QuCisKK0ZvciB0aGUgc2FrZSBvZiB0aGlzIHR1dG9yaWFsLCB3ZSdsbCBzaW1wbHkga2VlcCB0cmFjayBvZiBob3cgbWFueSBvZiBlYWNoIGtpbmQKK29mIG9iamVjdCB3ZSBmaW5kLiBBdCBmaWxlIHNjb3BlIGluIGBidWlsdGluL3dhbGtlbi5jYCBhZGQgdGhlIGZvbGxvd2luZwordHJhY2tpbmcgdmFyaWFibGVzOgorCistLS0tCitzdGF0aWMgaW50IGNvbW1pdF9jb3VudDsKK3N0YXRpYyBpbnQgdGFnX2NvdW50Oworc3RhdGljIGludCBibG9iX2NvdW50Oworc3RhdGljIGludCB0cmVlX2NvdW50OworLS0tLQorCitDb21taXRzIGFyZSBoYW5kbGVkIGJ5IGEgZGlmZmVyZW50IGNhbGxiYWNrIHRoYW4gb3RoZXIgb2JqZWN0czsgbGV0J3MgZG8gdGhhdAorb25lIGZpcnN0OgorCistLS0tCitzdGF0aWMgdm9pZCB3YWxrZW5fc2hvd19jb21taXQoc3RydWN0IGNvbW1pdCAqY210LCB2b2lkICpidWYpCit7CisJY29tbWl0X2NvdW50Kys7Cit9CistLS0tCisKK1RoZSBgY210YCBhcmd1bWVudCBpcyBmYWlybHkgc2VsZi1leHBsYW5hdG9yeS4gQnV0IGl0J3Mgd29ydGggbWVudGlvbmluZyB0aGF0Cit0aGUgYGJ1ZmAgYXJndW1lbnQgaXMgYWN0dWFsbHkgdGhlIGNvbnRleHQgYnVmZmVyIHRoYXQgd2UgY2FuIHByb3ZpZGUgdG8gdGhlCit0cmF2ZXJzYWwgY2FsbHMgLSBgc2hvd19kYXRhYCwgd2hpY2ggd2UgbWVudGlvbmVkIGEgbW9tZW50IGFnby4KKworU2luY2Ugd2UgaGF2ZSB0aGUgYHN0cnVjdCBjb21taXRgIG9iamVjdCwgd2UgY2FuIGxvb2sgYXQgYWxsIHRoZSBzYW1lIHBhcnRzIHRoYXQKK3dlIGxvb2tlZCBhdCBpbiBvdXIgZWFybGllciBjb21taXQtb25seSB3YWxrLiBGb3IgdGhlIHNha2Ugb2YgdGhpcyB0dXRvcmlhbCwKK3Rob3VnaCwgd2UnbGwganVzdCBpbmNyZW1lbnQgdGhlIGNvbW1pdCBjb3VudGVyIGFuZCBtb3ZlIG9uLgorCitUaGUgY2FsbGJhY2sgZm9yIG5vbi1jb21taXRzIGlzIGEgbGl0dGxlIGRpZmZlcmVudCwgYXMgd2UnbGwgbmVlZCB0byBjaGVjaword2hpY2gga2luZCBvZiBvYmplY3Qgd2UncmUgZGVhbGluZyB3aXRoOgorCistLS0tCitzdGF0aWMgdm9pZCB3YWxrZW5fc2hvd19vYmplY3Qoc3RydWN0IG9iamVjdCAqb2JqLCBjb25zdCBjaGFyICpzdHIsIHZvaWQgKmJ1ZikKK3sKKwlzd2l0Y2ggKG9iai0+dHlwZSkgeworCWNhc2UgT0JKX1RSRUU6CisJCXRyZWVfY291bnQrKzsKKwkJYnJlYWs7CisJY2FzZSBPQkpfQkxPQjoKKwkJYmxvYl9jb3VudCsrOworCQlicmVhazsKKwljYXNlIE9CSl9UQUc6CisJCXRhZ19jb3VudCsrOworCQlicmVhazsKKwljYXNlIE9CSl9DT01NSVQ6CisJCUJVRygidW5leHBlY3RlZCBjb21taXQgb2JqZWN0IGluIHdhbGtlbl9zaG93X29iamVjdFxuIik7CisJZGVmYXVsdDoKKwkJQlVHKCJ1bmV4cGVjdGVkIG9iamVjdCB0eXBlICVzIGluIHdhbGtlbl9zaG93X29iamVjdFxuIiwKKwkJCXR5cGVfbmFtZShvYmotPnR5cGUpKTsKKwl9Cit9CistLS0tCisKK0FnYWluLCBgb2JqYCBpcyBmYWlybHkgc2VsZi1leHBsYW5hdG9yeSwgYW5kIHdlIGNhbiBndWVzcyB0aGF0IGBidWZgIGlzIHRoZSBzYW1lCitjb250ZXh0IHBvaW50ZXIgdGhhdCBgd2Fsa2VuX3Nob3dfY29tbWl0KClgIHJlY2VpdmVzOiB0aGUgYHNob3dfZGF0YWAgYXJndW1lbnQKK3RvIGB0cmF2ZXJzZV9jb21taXRfbGlzdCgpYCBhbmQgYHRyYXZlcnNlX2NvbW1pdF9saXN0X2ZpbHRlcmVkKClgLiBGaW5hbGx5LAorYHN0cmAgY29udGFpbnMgdGhlIG5hbWUgb2YgdGhlIG9iamVjdCwgd2hpY2ggZW5kcyB1cCBiZWluZyBzb21ldGhpbmcgbGlrZQorYGZvby50eHRgIChibG9iKSwgYGJhci9iYXpgICh0cmVlKSwgb3IgYHYxLjIuM2AgKHRhZykuCisKK1RvIGhlbHAgYXNzdXJlIHVzIHRoYXQgd2UgYXJlbid0IGRvdWJsZS1jb3VudGluZyBjb21taXRzLCB3ZSdsbCBpbmNsdWRlIHNvbWUKK2NvbXBsYWluaW5nIGlmIGEgY29tbWl0IG9iamVjdCBpcyByb3V0ZWQgdGhyb3VnaCBvdXIgbm9uLWNvbW1pdCBjYWxsYmFjazsgd2UnbGwKK2Fsc28gY29tcGxhaW4gaWYgd2Ugc2VlIGFuIGludmFsaWQgb2JqZWN0IHR5cGUuIFNpbmNlIHRob3NlIHR3byBjYXNlcyBzaG91bGQgYmUKK3VucmVhY2hhYmxlLCBhbmQgd291bGQgb25seSBjaGFuZ2UgaW4gdGhlIGV2ZW50IG9mIGEgc2VtYW50aWMgY2hhbmdlIHRvIHRoZSBHaXQKK2NvZGViYXNlLCB3ZSBjb21wbGFpbiBieSB1c2luZyBgQlVHKClgIC0gd2hpY2ggaXMgYSBzaWduYWwgdG8gYSBkZXZlbG9wZXIgdGhhdAordGhlIGNoYW5nZSB0aGV5IG1hZGUgY2F1c2VkIHVuaW50ZW5kZWQgY29uc2VxdWVuY2VzLCBhbmQgdGhlIHJlc3Qgb2YgdGhlCitjb2RlYmFzZSBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIHVuZGVyc3RhbmQgdGhhdCBjaGFuZ2UuIGBCVUcoKWAgaXMgbm90IGludGVuZGVkCit0byBiZSBzZWVuIGJ5IHRoZSBwdWJsaWMsIHNvIGl0IGlzIG5vdCBsb2NhbGl6ZWQuCisKK091ciBtYWluIG9iamVjdCB3YWxrIGltcGxlbWVudGF0aW9uIGlzIHN1YnN0YW50aWFsbHkgZGlmZmVyZW50IGZyb20gb3VyIGNvbW1pdAord2FsayBpbXBsZW1lbnRhdGlvbiwgc28gbGV0J3MgbWFrZSBhIG5ldyBmdW5jdGlvbiB0byBwZXJmb3JtIHRoZSBvYmplY3Qgd2Fsay4gV2UKK2NhbiBwZXJmb3JtIHNldHVwIHdoaWNoIGlzIGFwcGxpY2FibGUgdG8gYWxsIG9iamVjdHMgaGVyZSwgdG9vLCB0byBrZWVwIHNlcGFyYXRlCitmcm9tIHNldHVwIHdoaWNoIGlzIGFwcGxpY2FibGUgdG8gY29tbWl0LW9ubHkgd2Fsa3MuCisKK1dlJ2xsIHN0YXJ0IGJ5IGVuYWJsaW5nIGFsbCB0eXBlcyBvZiBvYmplY3RzIGluIHRoZSBgc3RydWN0IHJldl9pbmZvYC4gIFdlJ2xsCithbHNvIHR1cm4gb24gYHRyZWVfYmxvYnNfaW5fY29tbWl0X29yZGVyYCwgd2hpY2ggbWVhbnMgdGhhdCB3ZSB3aWxsIHdhbGsgYQorY29tbWl0J3MgdHJlZSBhbmQgZXZlcnl0aGluZyBpdCBwb2ludHMgdG8gaW1tZWRpYXRlbHkgYWZ0ZXIgd2UgZmluZCBlYWNoIGNvbW1pdCwKK2FzIG9wcG9zZWQgdG8gd2FpdGluZyBmb3IgdGhlIGVuZCBhbmQgd2Fsa2luZyB0aHJvdWdoIGFsbCB0cmVlcyBhZnRlciB0aGUgY29tbWl0CitoaXN0b3J5IGhhcyBiZWVuIGRpc2NvdmVyZWQuIFdpdGggdGhlIGFwcHJvcHJpYXRlIHNldHRpbmdzIGNvbmZpZ3VyZWQsIHdlIGFyZQorcmVhZHkgdG8gY2FsbCBgcHJlcGFyZV9yZXZpc2lvbl93YWxrKClgLgorCistLS0tCitzdGF0aWMgdm9pZCB3YWxrZW5fb2JqZWN0X3dhbGsoc3RydWN0IHJldl9pbmZvICpyZXYpCit7CisJcmV2LT50cmVlX29iamVjdHMgPSAxOworCXJldi0+YmxvYl9vYmplY3RzID0gMTsKKwlyZXYtPnRhZ19vYmplY3RzID0gMTsKKwlyZXYtPnRyZWVfYmxvYnNfaW5fY29tbWl0X29yZGVyID0gMTsKKworCWlmIChwcmVwYXJlX3JldmlzaW9uX3dhbGsocmV2KSkKKwkJZGllKF8oInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIikpOworCisJY29tbWl0X2NvdW50ID0gMDsKKwl0YWdfY291bnQgPSAwOworCWJsb2JfY291bnQgPSAwOworCXRyZWVfY291bnQgPSAwOworLS0tLQorCitMZXQncyBzdGFydCBieSBjYWxsaW5nIGp1c3QgdGhlIHVuZmlsdGVyZWQgd2FsayBhbmQgcmVwb3J0aW5nIG91ciBjb3VudHMuCitDb21wbGV0ZSB5b3VyIGltcGxlbWVudGF0aW9uIG9mIGB3YWxrZW5fb2JqZWN0X3dhbGsoKWA6CisKKy0tLS0KKwl0cmF2ZXJzZV9jb21taXRfbGlzdChyZXYsIHdhbGtlbl9zaG93X2NvbW1pdCwgd2Fsa2VuX3Nob3dfb2JqZWN0LCBOVUxMKTsKKworCXByaW50ZigiY29tbWl0cyAlZFxuYmxvYnMgJWRcbnRhZ3MgJWRcbnRyZWVzICVkXG4iLCBjb21taXRfY291bnQsCisJCWJsb2JfY291bnQsIHRhZ19jb3VudCwgdHJlZV9jb3VudCk7Cit9CistLS0tCisKK05PVEU6IFRoaXMgb3V0cHV0IGlzIGludGVuZGVkIHRvIGJlIG1hY2hpbmUtcGFyc2VkLiBUaGVyZWZvcmUsIHdlIGFyZSBub3QKK3NlbmRpbmcgaXQgdG8gYHRyYWNlX3ByaW50ZigpYCwgYW5kIHdlIGFyZSBub3QgbG9jYWxpemluZyBpdCAtIHdlIG5lZWQgc2NyaXB0cwordG8gYmUgYWJsZSB0byBjb3VudCBvbiB0aGUgZm9ybWF0dGluZyB0byBiZSBleGFjdGx5IHRoZSB3YXkgaXQgaXMgc2hvd24gaGVyZS4KK0lmIHdlIHdlcmUgaW50ZW5kaW5nIHRoaXMgb3V0cHV0IHRvIGJlIHJlYWQgYnkgaHVtYW5zLCB3ZSB3b3VsZCBuZWVkIHRvIGxvY2FsaXplCitpdCB3aXRoIGBfKClgLgorCitGaW5hbGx5LCB3ZSdsbCBhc2sgYGNtZF93YWxrZW4oKWAgdG8gdXNlIHRoZSBvYmplY3Qgd2FsayBpbnN0ZWFkLiBEaXNjdXNzaW5nCitjb21tYW5kIGxpbmUgb3B0aW9ucyBpcyBvdXQgb2Ygc2NvcGUgZm9yIHRoaXMgdHV0b3JpYWwsIHNvIHdlJ2xsIGp1c3QgaGFyZGNvZGUKK2EgYnJhbmNoIHdlIGNhbiBjaGFuZ2UgYXQgY29tcGlsZSB0aW1lLiBXaGVyZSB5b3UgY2FsbCBgZmluYWxfcmV2X2luZm9fc2V0dXAoKWAKK2FuZCBgd2Fsa2VuX2NvbW1pdF93YWxrKClgLCBpbnN0ZWFkIGJyYW5jaCBsaWtlIHNvOgorCistLS0tCisJaWYgKDEpIHsKKwkJYWRkX2hlYWRfdG9fcGVuZGluZygmcmV2KTsKKwkJd2Fsa2VuX29iamVjdF93YWxrKCZyZXYpOworCX0gZWxzZSB7CisJCWZpbmFsX3Jldl9pbmZvX3NldHVwKGFyZ2MsIGFyZ3YsIHByZWZpeCwgJnJldik7CisJCXdhbGtlbl9jb21taXRfd2FsaygmcmV2KTsKKwl9CistLS0tCisKK05PVEU6IEZvciBzaW1wbGljaXR5LCB3ZSd2ZSBhdm9pZGVkIGFsbCB0aGUgZmlsdGVycyBhbmQgc29ydHMgd2UgYXBwbGllZCBpbgorYGZpbmFsX3Jldl9pbmZvX3NldHVwKClgIGFuZCBzaW1wbHkgYWRkZWQgYEhFQURgIHRvIG91ciBwZW5kaW5nIHF1ZXVlLiBJZiB5b3UKK3dhbnQsIHlvdSBjYW4gY2VydGFpbmx5IHVzZSB0aGUgZmlsdGVycyB3ZSBhZGRlZCBiZWZvcmUgYnkgbW92aW5nCitgZmluYWxfcmV2X2luZm9fc2V0dXAoKWAgb3V0IG9mIHRoZSBjb25kaXRpb25hbCBhbmQgcmVtb3ZpbmcgdGhlIGNhbGwgdG8KK2BhZGRfaGVhZF90b19wZW5kaW5nKClgLgorCitOb3cgd2UgY2FuIHRyeSB0byBydW4gb3VyIGNvbW1hbmQhIEl0IHNob3VsZCB0YWtlIG5vdGljZWFibHkgbG9uZ2VyIHRoYW4gdGhlCitjb21taXQgd2FsaywgYnV0IGFuIGV4YW1pbmF0aW9uIG9mIHRoZSBvdXRwdXQgd2lsbCBnaXZlIHlvdSBhbiBpZGVhIHdoeS4gWW91cgorb3V0cHV0IHNob3VsZCBsb29rIHNpbWlsYXIgdG8gdGhpcyBleGFtcGxlLCBidXQgd2l0aCBkaWZmZXJlbnQgY291bnRzOgorCistLS0tCitPYmplY3Qgd2FsayBjb21wbGV0ZWQuIEZvdW5kIDU1NzMzIGNvbW1pdHMsIDEwMDI3NCBibG9icywgMCB0YWdzLCBhbmQgMTA0MjEwIHRyZWVzLgorLS0tLQorCitUaGlzIG1ha2VzIHNlbnNlLiBXZSBoYXZlIG1vcmUgdHJlZXMgdGhhbiBjb21taXRzIGJlY2F1c2UgdGhlIEdpdCBwcm9qZWN0IGhhcworbG90cyBvZiBzdWJkaXJlY3RvcmllcyB3aGljaCBjYW4gY2hhbmdlLCBwbHVzIGF0IGxlYXN0IG9uZSB0cmVlIHBlciBjb21taXQuIFdlCitoYXZlIG5vIHRhZ3MgYmVjYXVzZSB3ZSBzdGFydGVkIG9uIGEgY29tbWl0IChgSEVBRGApIGFuZCB3aGlsZSB0YWdzIGNhbiBwb2ludCB0bworY29tbWl0cywgY29tbWl0cyBjYW4ndCBwb2ludCB0byB0YWdzLgorCitOT1RFOiBZb3Ugd2lsbCBoYXZlIGRpZmZlcmVudCBjb3VudHMgd2hlbiB5b3UgcnVuIHRoaXMgeW91cnNlbGYhIFRoZSBudW1iZXIgb2YKK29iamVjdHMgZ3Jvd3MgYWxvbmcgd2l0aCB0aGUgR2l0IHByb2plY3QuCisKKz09PSBBZGRpbmcgYSBGaWx0ZXIKKworVGhlcmUgYXJlIGEgaGFuZGZ1bCBvZiBmaWx0ZXJzIHRoYXQgd2UgY2FuIGFwcGx5IHRvIHRoZSBvYmplY3Qgd2FsayBsYWlkIG91dCBpbgorYERvY3VtZW50YXRpb24vcmV2LWxpc3Qtb3B0aW9ucy50eHRgLiBUaGVzZSBmaWx0ZXJzIGFyZSB0eXBpY2FsbHkgdXNlZnVsIGZvcgorb3BlcmF0aW9ucyBzdWNoIGFzIGNyZWF0aW5nIHBhY2tmaWxlcyBvciBwZXJmb3JtaW5nIGEgcGFydGlhbCBjbG9uZS4gVGhleSBhcmUKK2RlZmluZWQgaW4gYGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oYC4gRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIHR1dG9yaWFsIHdlCit3aWxsIHVzZSB0aGUgInRyZWU6MSIgZmlsdGVyLCB3aGljaCBjYXVzZXMgdGhlIHdhbGsgdG8gb21pdCBhbGwgdHJlZXMgYW5kIGJsb2JzCit3aGljaCBhcmUgbm90IGRpcmVjdGx5IHJlZmVyZW5jZWQgYnkgY29tbWl0cyByZWFjaGFibGUgZnJvbSB0aGUgY29tbWl0IGluCitgcGVuZGluZ2Agd2hlbiB0aGUgd2FsayBiZWdpbnMuIChgcGVuZGluZ2AgaXMgdGhlIGxpc3Qgb2Ygb2JqZWN0cyB3aGljaCBuZWVkIHRvCitiZSB0cmF2ZXJzZWQgZHVyaW5nIGEgd2FsazsgeW91IGNhbiBpbWFnaW5lIGEgYnJlYWR0aC1maXJzdCB0cmVlIHRyYXZlcnNhbCB0bworaGVscCB1bmRlcnN0YW5kLiBJbiBvdXIgY2FzZSwgdGhhdCBtZWFucyB3ZSBvbWl0IHRyZWVzIGFuZCBibG9icyBub3QgZGlyZWN0bHkKK3JlZmVyZW5jZWQgYnkgYEhFQURgIG9yIGBIRUFEYCdzIGhpc3RvcnksIGJlY2F1c2Ugd2UgYmVnaW4gdGhlIHdhbGsgd2l0aCBvbmx5CitgSEVBRGAgaW4gdGhlIGBwZW5kaW5nYCBsaXN0LikKKworRmlyc3QsIHdlJ2xsIG5lZWQgdG8gYCNpbmNsdWRlICJsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaGAiIGFuZCBzZXQgdXAgdGhlCitgc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9uc2AgYXQgdGhlIHRvcCBvZiB0aGUgZnVuY3Rpb24uCisKKy0tLS0KK3N0YXRpYyB2b2lkIHdhbGtlbl9vYmplY3Rfd2FsayhzdHJ1Y3QgcmV2X2luZm8gKnJldikKK3sKKwlzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zIGZpbHRlcl9vcHRpb25zID0ge307CisKKwkuLi4KKy0tLS0KKworRm9yIG5vdywgd2UgYXJlIG5vdCBnb2luZyB0byB0cmFjayB0aGUgb21pdHRlZCBvYmplY3RzLCBzbyB3ZSdsbCByZXBsYWNlIHRob3NlCitwYXJhbWV0ZXJzIHdpdGggYE5VTExgLiBGb3IgdGhlIHNha2Ugb2Ygc2ltcGxpY2l0eSwgd2UnbGwgYWRkIGEgc2ltcGxlCitidWlsZC10aW1lIGJyYW5jaCB0byB1c2Ugb3VyIGZpbHRlciBvciBub3QuIFJlcGxhY2UgdGhlIGxpbmUgY2FsbGluZworYHRyYXZlcnNlX2NvbW1pdF9saXN0KClgIHdpdGggdGhlIGZvbGxvd2luZywgd2hpY2ggd2lsbCByZW1pbmQgdXMgd2hpY2gga2luZCBvZgord2FsayB3ZSd2ZSBqdXN0IHBlcmZvcm1lZDoKKworLS0tLQorCWlmICgwKSB7CisJCS8qIFVuZmlsdGVyZWQ6ICovCisJCXRyYWNlX3ByaW50ZihfKCJVbmZpbHRlcmVkIG9iamVjdCB3YWxrLlxuIikpOworCQl0cmF2ZXJzZV9jb21taXRfbGlzdChyZXYsIHdhbGtlbl9zaG93X2NvbW1pdCwKKwkJCQl3YWxrZW5fc2hvd19vYmplY3QsIE5VTEwpOworCX0gZWxzZSB7CisJCXRyYWNlX3ByaW50ZigKKwkJCV8oIkZpbHRlcmVkIG9iamVjdCB3YWxrIHdpdGggZmlsdGVyc3BlYyAndHJlZToxJy5cbiIpKTsKKwkJcGFyc2VfbGlzdF9vYmplY3RzX2ZpbHRlcigmZmlsdGVyX29wdGlvbnMsICJ0cmVlOjEiKTsKKworCQl0cmF2ZXJzZV9jb21taXRfbGlzdF9maWx0ZXJlZCgmZmlsdGVyX29wdGlvbnMsIHJldiwKKwkJCXdhbGtlbl9zaG93X2NvbW1pdCwgd2Fsa2VuX3Nob3dfb2JqZWN0LCBOVUxMLCBOVUxMKTsKKwl9CistLS0tCisKK2BzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zYCBpcyB1c3VhbGx5IGJ1aWx0IGRpcmVjdGx5IGZyb20gYSBjb21tYW5kCitsaW5lIGFyZ3VtZW50LCBzbyB0aGUgbW9kdWxlIHByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGJ1aWxkIG9uZSBmcm9tIGEgc3RyaW5nLgorRXZlbiB0aG91Z2ggd2UgYXJlbid0IHRha2luZyB1c2VyIGlucHV0IHJpZ2h0IG5vdywgd2UgY2FuIHN0aWxsIGJ1aWxkIG9uZSB3aXRoCithIGhhcmRjb2RlZCBzdHJpbmcgdXNpbmcgYHBhcnNlX2xpc3Rfb2JqZWN0c19maWx0ZXIoKWAuCisKK1dpdGggdGhlIGZpbHRlciBzcGVjICJ0cmVlOjEiLCB3ZSBhcmUgZXhwZWN0aW5nIHRvIHNlZSBfb25seV8gdGhlIHJvb3QgdHJlZSBmb3IKK2VhY2ggY29tbWl0OyB0aGVyZWZvcmUsIHRoZSB0cmVlIG9iamVjdCBjb3VudCBzaG91bGQgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvCit0aGUgbnVtYmVyIG9mIGNvbW1pdHMuIChGb3IgYW4gZXhhbXBsZSBvZiB3aHkgdGhhdCdzIHRydWU6IGBnaXQgY29tbWl0IC0tcmV2ZXJ0YAorcG9pbnRzIHRvIHRoZSBzYW1lIHRyZWUgb2JqZWN0IGFzIGl0cyBncmFuZHBhcmVudC4pCisKKz09PSBDb3VudGluZyBPbWl0dGVkIE9iamVjdHMKKworV2UgYWxzbyBoYXZlIHRoZSBjYXBhYmlsaXR5IHRvIGVudW1lcmF0ZSBhbGwgb2JqZWN0cyB3aGljaCB3ZXJlIG9taXR0ZWQgYnkgYQorZmlsdGVyLCBsaWtlIHdpdGggYGdpdCBsb2cgLS1maWx0ZXI9PHNwZWM+IC0tZmlsdGVyLXByaW50LW9taXR0ZWRgLiBBc2tpbmcKK2B0cmF2ZXJzZV9jb21taXRfbGlzdF9maWx0ZXJlZCgpYCB0byBwb3B1bGF0ZSB0aGUgYG9taXR0ZWRgIGxpc3QgbWVhbnMgdGhhdCBvdXIKK29iamVjdCB3YWxrIGRvZXMgbm90IHBlcmZvcm0gYW55IGJldHRlciB0aGFuIGFuIHVuZmlsdGVyZWQgb2JqZWN0IHdhbGs7IGFsbAorcmVhY2hhYmxlIG9iamVjdHMgYXJlIHdhbGtlZCBpbiBvcmRlciB0byBwb3B1bGF0ZSB0aGUgbGlzdC4KKworRmlyc3QsIGFkZCB0aGUgYHN0cnVjdCBvaWRzZXRgIGFuZCByZWxhdGVkIGl0ZW1zIHdlIHdpbGwgdXNlIHRvIGl0ZXJhdGUgaXQ6CisKKy0tLS0KK3N0YXRpYyB2b2lkIHdhbGtlbl9vYmplY3Rfd2FsaygKKwkuLi4KKworCXN0cnVjdCBvaWRzZXQgb21pdHRlZDsKKwlzdHJ1Y3Qgb2lkc2V0X2l0ZXIgb2l0OworCXN0cnVjdCBvYmplY3RfaWQgKm9pZCA9IE5VTEw7CisJaW50IG9taXR0ZWRfY291bnQgPSAwOworCW9pZHNldF9pbml0KCZvbWl0dGVkLCAwKTsKKworCS4uLgorLS0tLQorCitNb2RpZnkgdGhlIGNhbGwgdG8gYHRyYXZlcnNlX2NvbW1pdF9saXN0X2ZpbHRlcmVkKClgIHRvIGluY2x1ZGUgeW91ciBgb21pdHRlZGAKK29iamVjdDoKKworLS0tLQorCS4uLgorCisJCXRyYXZlcnNlX2NvbW1pdF9saXN0X2ZpbHRlcmVkKCZmaWx0ZXJfb3B0aW9ucywgcmV2LAorCQkJd2Fsa2VuX3Nob3dfY29tbWl0LCB3YWxrZW5fc2hvd19vYmplY3QsIE5VTEwsICZvbWl0dGVkKTsKKworCS4uLgorLS0tLQorCitUaGVuLCBhZnRlciB5b3VyIHRyYXZlcnNhbCwgdGhlIGBvaWRzZXRgIHRyYXZlcnNhbCBpcyBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkLgorQ291bnQgYWxsIHRoZSBvYmplY3RzIHdpdGhpbiBhbmQgbW9kaWZ5IHRoZSBwcmludCBzdGF0ZW1lbnQ6CisKKy0tLS0KKwkvKiBDb3VudCB0aGUgb21pdHRlZCBvYmplY3RzLiAqLworCW9pZHNldF9pdGVyX2luaXQoJm9taXR0ZWQsICZvaXQpOworCisJd2hpbGUgKChvaWQgPSBvaWRzZXRfaXRlcl9uZXh0KCZvaXQpKSkKKwkJb21pdHRlZF9jb3VudCsrOworCisJcHJpbnRmKCJjb21taXRzICVkXG5ibG9icyAlZFxudGFncyAlZFxudHJlZXMlZFxub21pdHRlZCAlZFxuIiwKKwkJY29tbWl0X2NvdW50LCBibG9iX2NvdW50LCB0YWdfY291bnQsIHRyZWVfY291bnQsIG9taXR0ZWRfY291bnQpOworLS0tLQorCitCeSBydW5uaW5nIHlvdXIgd2FsayB3aXRoIGFuZCB3aXRob3V0IHRoZSBmaWx0ZXIsIHlvdSBzaG91bGQgZmluZCB0aGF0IHRoZSB0b3RhbAorb2JqZWN0IGNvdW50IGluIGVhY2ggY2FzZSBpcyBpZGVudGljYWwuIFlvdSBjYW4gYWxzbyB0aW1lIGVhY2ggaW52b2NhdGlvbiBvZgordGhlIGB3YWxrZW5gIHN1YmNvbW1hbmQsIHdpdGggYW5kIHdpdGhvdXQgYG9taXR0ZWRgIGJlaW5nIHBhc3NlZCBpbiwgdG8gY29uZmlybQordG8geW91cnNlbGYgdGhlIHJ1bnRpbWUgaW1wYWN0IG9mIHRyYWNraW5nIGFsbCBvbWl0dGVkIG9iamVjdHMuCisKKz09PSBDaGFuZ2luZyB0aGUgT3JkZXIKKworRmluYWxseSwgbGV0J3MgZGVtb25zdHJhdGUgdGhhdCB5b3UgY2FuIGFsc28gcmVvcmRlciB3YWxrcyBvZiBhbGwgb2JqZWN0cywgbm90CitqdXN0IHdhbGtzIG9mIGNvbW1pdHMuIEZpcnN0LCB3ZSdsbCBtYWtlIG91ciBoYW5kbGVycyBjaGF0dGllciAtIG1vZGlmeQorYHdhbGtlbl9zaG93X2NvbW1pdCgpYCBhbmQgYHdhbGtlbl9zaG93X29iamVjdCgpYCB0byBwcmludCB0aGUgb2JqZWN0IGFzIHRoZXkKK2dvOgorCistLS0tCitzdGF0aWMgdm9pZCB3YWxrZW5fc2hvd19jb21taXQoc3RydWN0IGNvbW1pdCAqY210LCB2b2lkICpidWYpCit7CisJdHJhY2VfcHJpbnRmKCJjb21taXQ6ICVzXG4iLCBvaWRfdG9faGV4KCZjbXQtPm9iamVjdC5vaWQpKTsKKwljb21taXRfY291bnQrKzsKK30KKworc3RhdGljIHZvaWQgd2Fsa2VuX3Nob3dfb2JqZWN0KHN0cnVjdCBvYmplY3QgKm9iaiwgY29uc3QgY2hhciAqc3RyLCB2b2lkICpidWYpCit7CisJdHJhY2VfcHJpbnRmKCIlczogJXNcbiIsIHR5cGVfbmFtZShvYmotPnR5cGUpLCBvaWRfdG9faGV4KCZvYmotPm9pZCkpOworCisJLi4uCit9CistLS0tCisKK05PVEU6IFNpbmNlIHdlIHdpbGwgYmUgZXhhbWluaW5nIHRoaXMgb3V0cHV0IGRpcmVjdGx5IGFzIGh1bWFucywgd2UnbGwgdXNlCitgdHJhY2VfcHJpbnRmKClgIGhlcmUuIEFkZGl0aW9uYWxseSwgc2luY2UgdGhpcyBjaGFuZ2UgaW50cm9kdWNlcyBhIHNpZ25pZmljYW50CitudW1iZXIgb2YgcHJpbnRlZCBsaW5lcywgdXNpbmcgYHRyYWNlX3ByaW50ZigpYCB3aWxsIGFsbG93IHVzIHRvIGVhc2lseSBzaWxlbmNlCit0aG9zZSBsaW5lcyB3aXRob3V0IGhhdmluZyB0byByZWNvbXBpbGUuCisKKyhMZWF2ZSB0aGUgY291bnRlciBpbmNyZW1lbnQgbG9naWMgaW4gcGxhY2UuKQorCitXaXRoIG9ubHkgdGhhdCBjaGFuZ2UsIHJ1biBhZ2FpbiAoYnV0IHNhdmUgeW91cnNlbGYgc29tZSBzY3JvbGxiYWNrKToKKworLS0tLQorJCBHSVRfVFJBQ0U9MSAuL2Jpbi13cmFwcGVycy9naXQgd2Fsa2VuIHwgaGVhZCAtbiAxMAorLS0tLQorCitUYWtlIGEgbG9vayBhdCB0aGUgdG9wIGNvbW1pdCB3aXRoIGBnaXQgc2hvd2AgYW5kIHRoZSBvYmplY3QgSUQgeW91IHByaW50ZWQ7IGl0CitzaG91bGQgYmUgdGhlIHNhbWUgYXMgdGhlIG91dHB1dCBvZiBgZ2l0IHNob3cgSEVBRGAuCisKK05leHQsIGxldCdzIGNoYW5nZSBhIHNldHRpbmcgb24gb3VyIGBzdHJ1Y3QgcmV2X2luZm9gIHdpdGhpbgorYHdhbGtlbl9vYmplY3Rfd2FsaygpYC4gRmluZCB3aGVyZSB5b3UncmUgY2hhbmdpbmcgdGhlIG90aGVyIHNldHRpbmdzIG9uIGByZXZgLAorc3VjaCBhcyBgcmV2LT50cmVlX29iamVjdHNgIGFuZCBgcmV2LT50cmVlX2Jsb2JzX2luX2NvbW1pdF9vcmRlcmAsIGFuZCBhZGQgdGhlCitgcmV2ZXJzZWAgc2V0dGluZyBhdCB0aGUgYm90dG9tOgorCistLS0tCisJLi4uCisKKwlyZXYtPnRyZWVfb2JqZWN0cyA9IDE7CisJcmV2LT5ibG9iX29iamVjdHMgPSAxOworCXJldi0+dGFnX29iamVjdHMgPSAxOworCXJldi0+dHJlZV9ibG9ic19pbl9jb21taXRfb3JkZXIgPSAxOworCXJldi0+cmV2ZXJzZSA9IDE7CisKKwkuLi4KKy0tLS0KKworTm93LCBydW4gYWdhaW4sIGJ1dCB0aGlzIHRpbWUsIGxldCdzIGdyYWIgdGhlIGxhc3QgaGFuZGZ1bCBvZiBvYmplY3RzIGluc3RlYWQKK29mIHRoZSBmaXJzdCBoYW5kZnVsOgorCistLS0tCiskIG1ha2UKKyQgR0lUX1RSQUNFPTEgLi9iaW4td3JhcHBlcnMgZ2l0IHdhbGtlbiB8IHRhaWwgLW4gMTAKKy0tLS0KKworVGhlIGxhc3QgY29tbWl0IG9iamVjdCBnaXZlbiBzaG91bGQgaGF2ZSB0aGUgc2FtZSBPSUQgYXMgdGhlIG9uZSB3ZSBzYXcgYXQgdGhlCit0b3AgYmVmb3JlLCBhbmQgcnVubmluZyBgZ2l0IHNob3cgPG9pZD5gIHdpdGggdGhhdCBPSUQgc2hvdWxkIGdpdmUgeW91IGFnYWluCit0aGUgc2FtZSByZXN1bHRzIGFzIGBnaXQgc2hvdyBIRUFEYC4gRnVydGhlcm1vcmUsIGlmIHlvdSBydW4gYW5kIGV4YW1pbmUgdGhlCitmaXJzdCB0ZW4gbGluZXMgYWdhaW4gKHdpdGggYGhlYWRgIGluc3RlYWQgb2YgYHRhaWxgIGxpa2Ugd2UgZGlkIGJlZm9yZSBhcHBseWluZwordGhlIGByZXZlcnNlYCBzZXR0aW5nKSwgeW91IHNob3VsZCBzZWUgdGhhdCBub3cgdGhlIGZpcnN0IGNvbW1pdCBwcmludGVkIGlzIHRoZQoraW5pdGlhbCBjb21taXQsIGBlODNjNTE2M2AuCisKKz09IFdyYXBwaW5nIFVwCisKK0xldCdzIHJldmlldy4gSW4gdGhpcyB0dXRvcmlhbCwgd2U6CisKKy0gQnVpbHQgYSBjb21taXQgd2FsayBmcm9tIHRoZSBncm91bmQgdXAKKy0gRW5hYmxlZCBhIGdyZXAgZmlsdGVyIGZvciB0aGF0IGNvbW1pdCB3YWxrCistIENoYW5nZWQgdGhlIHNvcnQgb3JkZXIgb2YgdGhhdCBmaWx0ZXJlZCBjb21taXQgd2FsaworLSBCdWlsdCBhbiBvYmplY3Qgd2FsayAodGFncywgY29tbWl0cywgdHJlZXMsIGFuZCBibG9icykgZnJvbSB0aGUgZ3JvdW5kIHVwCistIExlYXJuZWQgaG93IHRvIGFkZCBhIGZpbHRlci1zcGVjIHRvIGFuIG9iamVjdCB3YWxrCistIENoYW5nZWQgdGhlIGRpc3BsYXkgb3JkZXIgb2YgdGhlIGZpbHRlcmVkIG9iamVjdCB3YWxrCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNS4wLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS41LjAudHh0CmluZGV4IGRhZjRiZGIuLmQ2ZDQyZjMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS41LjAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS41LjAudHh0CkBAIC0yNTEsNyArMjUxLDcgQEAKICAgIHRoZSByZXBvc2l0b3J5IHdoZW4gdGhhdCBoYXBwZW5zLgogCiAKLSogQ3J1ZnRzIHJlbW92YWwKKyogQ3J1ZnQgcmVtb3ZhbAogCiAgLSBXZSB1c2VkIHRvIHNheSAib2xkIGNvbW1pdHMgYXJlIHJldHJpZXZhYmxlIHVzaW5nIHJlZmxvZyBhbmQKICAgICdtYXN0ZXJAe3llc3RlcmRheX0nIHN5bnRheCBhcyBsb25nIGFzIHlvdSBoYXZlbid0IHJ1bgpAQCAtMzc5LDcgKzM3OSw3IEBACiAgLSBUaGUgdmFsdWUgb2YgaTE4bi5jb21taXRlbmNvZGluZyBpbiB0aGUgb3JpZ2luYXRpbmcKICAgIHJlcG9zaXRvcnkgaXMgcmVjb3JkZWQgaW4gdGhlIGNvbW1pdCBvYmplY3Qgb24gdGhlICJlbmNvZGluZyIKICAgIGhlYWRlciwgaWYgaXQgaXMgbm90IFVURi04LiAgZ2l0LWxvZyBhbmQgZnJpZW5kcyBub3RpY2UgdGhpcywKLSAgIGFuZCByZWVuY29kZXMgdGhlIG1lc3NhZ2UgdG8gdGhlIGxvZyBvdXRwdXQgZW5jb2Rpbmcgd2hlbgorICAgYW5kIHJlLWVuY29kZXMgdGhlIG1lc3NhZ2UgdG8gdGhlIGxvZyBvdXRwdXQgZW5jb2Rpbmcgd2hlbgogICAgZGlzcGxheWluZywgaWYgdGhleSBhcmUgZGlmZmVyZW50LiAgVGhlIGxvZyBvdXRwdXQgZW5jb2RpbmcKICAgIGlzIGRldGVybWluZWQgYnkgImdpdCBsb2cgLS1lbmNvZGluZz08ZW5jb2Rpbmc+IiwKICAgIGkxOG4ubG9nb3V0cHV0ZW5jb2RpbmcgY29uZmlndXJhdGlvbiwgb3IgaTE4bi5jb21taXRlbmNvZGluZwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjYuMi50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNi4yLnR4dAppbmRleCBhZDA2MGY0Li45ODBhZGZiIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNi4yLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNi4yLnR4dApAQCAtMTEsNyArMTEsNyBAQAogY29uZmlndXJhdGlvbiB2YXJpYWJsZSBpcyBtaXNzaW5nLiAgUGxlYXNlIHJlZmVyIHRvOgogCiAgIGh0dHA6Ly9naXQub3IuY3ovZ2l0d2lraS9HaXRGYXEjbm9uLWJhcmUKLSAgaHR0cDovL3RocmVhZC5nbWFuZS5vcmcvZ21hbmUuY29tcC52ZXJzaW9uLWNvbnRyb2wuZ2l0LzEwNzc1OC9mb2N1cz0xMDgwMDcKKyAgaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvZ2l0Lzd2YnB0bHN1eXYuZnNmQGdpdHN0ZXIuc2lhbWVzZS5keW5kbnMub3JnLwogCiBmb3IgbW9yZSBkZXRhaWxzIG9uIHRoZSByZWFzb24gd2h5IHRoaXMgY2hhbmdlIGlzIG5lZWRlZCBhbmQgdGhlCiB0cmFuc2l0aW9uIHBsYW4uCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNi4zLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS42LjMudHh0CmluZGV4IDQxOGM2ODUuLjRiY2ZmOTQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS42LjMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS42LjMudHh0CkBAIC0xMSw3ICsxMSw3IEBACiBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGlzIG1pc3NpbmcuICBQbGVhc2UgcmVmZXIgdG86CiAKICAgaHR0cDovL2dpdC5vci5jei9naXR3aWtpL0dpdEZhcSNub24tYmFyZQotICBodHRwOi8vdGhyZWFkLmdtYW5lLm9yZy9nbWFuZS5jb21wLnZlcnNpb24tY29udHJvbC5naXQvMTA3NzU4L2ZvY3VzPTEwODAwNworICBodHRwczovL2xvcmUua2VybmVsLm9yZy9naXQvN3ZicHRsc3V5di5mc2ZAZ2l0c3Rlci5zaWFtZXNlLmR5bmRucy5vcmcvCiAKIGZvciBtb3JlIGRldGFpbHMgb24gdGhlIHJlYXNvbiB3aHkgdGhpcyBjaGFuZ2UgaXMgbmVlZGVkIGFuZCB0aGUKIHRyYW5zaXRpb24gcGxhbi4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS42LjQudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjYuNC50eHQKaW5kZXggN2E5MDQ0MS4uYTJhMzRiNCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjYuNC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjYuNC50eHQKQEAgLTExLDcgKzExLDcgQEAKIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgaXMgbWlzc2luZy4gIFBsZWFzZSByZWZlciB0bzoKIAogICBodHRwOi8vZ2l0Lm9yLmN6L2dpdHdpa2kvR2l0RmFxI25vbi1iYXJlCi0gIGh0dHA6Ly90aHJlYWQuZ21hbmUub3JnL2dtYW5lLmNvbXAudmVyc2lvbi1jb250cm9sLmdpdC8xMDc3NTgvZm9jdXM9MTA4MDA3CisgIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2dpdC83dmJwdGxzdXl2LmZzZkBnaXRzdGVyLnNpYW1lc2UuZHluZG5zLm9yZy8KIAogZm9yIG1vcmUgZGV0YWlscyBvbiB0aGUgcmVhc29uIHdoeSB0aGlzIGNoYW5nZSBpcyBuZWVkZWQgYW5kIHRoZQogdHJhbnNpdGlvbiBwbGFuLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjYuNS40LnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS42LjUuNC50eHQKaW5kZXggZDNhMmEzZS4uMzQ0MzMzZCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjYuNS40LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNi41LjQudHh0CkBAIC0xMCw3ICsxMCw3IEBACiAKICAqICJnaXQgcHJ1bmUtcGFja2VkIiBnYXZlIHByb2dyZXNzIG91dHB1dCBldmVuIHdoZW4gaXRzIHN0YW5kYXJkIGVycm9yIGlzCiAgICBub3QgY29ubmVjdGVkIHRvIGEgdGVybWluYWw7IHRoaXMgY2F1c2VkIGNyb24gam9icyB0aGF0IHJ1biBpdCB0bwotICAgcHJvZHVjZSBjcnVmdHMuCisgICBwcm9kdWNlIGNydWZ0LgogCiAgKiAiZ2l0IHBhY2stb2JqZWN0cyAtLWFsbC1wcm9ncmVzcyIgaXMgYW4gb3B0aW9uIHRvIGFzayBwcm9ncmVzcyBvdXRwdXQKICAgIGZyb20gd3JpdGUtb2JqZWN0IHBoYXNlIF9pZl8gcHJvZ3Jlc3Mgb3V0cHV0IHdlcmUgdG8gYmUgcHJvZHVjZWQsIGFuZApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjYuNS50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNi41LnR4dAppbmRleCBlZTE0MWMxLi42YzdmN2RhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNi41LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNi41LnR4dApAQCAtMjIsNyArMjIsNyBAQAogY29uZmlndXJhdGlvbiB2YXJpYWJsZSBpcyBtaXNzaW5nLiAgUGxlYXNlIHJlZmVyIHRvOgogCiAgIGh0dHA6Ly9naXQub3IuY3ovZ2l0d2lraS9HaXRGYXEjbm9uLWJhcmUKLSAgaHR0cDovL3RocmVhZC5nbWFuZS5vcmcvZ21hbmUuY29tcC52ZXJzaW9uLWNvbnRyb2wuZ2l0LzEwNzc1OC9mb2N1cz0xMDgwMDcKKyAgaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvZ2l0Lzd2YnB0bHN1eXYuZnNmQGdpdHN0ZXIuc2lhbWVzZS5keW5kbnMub3JnLwogCiBmb3IgbW9yZSBkZXRhaWxzIG9uIHRoZSByZWFzb24gd2h5IHRoaXMgY2hhbmdlIGlzIG5lZWRlZCBhbmQgdGhlCiB0cmFuc2l0aW9uIHBsYW4uCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNi42LnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS42LjYudHh0CmluZGV4IGM1MGI1OWMuLjNlZDFlMDEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS42LjYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS42LjYudHh0CkBAIC02NCw3ICs2NCw3IEBACiAgICBQbGVhc2UgcmVmZXIgdG86CiAKICAgIGh0dHA6Ly9naXQub3IuY3ovZ2l0d2lraS9HaXRGYXEjbm9uLWJhcmUKLSAgIGh0dHA6Ly90aHJlYWQuZ21hbmUub3JnL2dtYW5lLmNvbXAudmVyc2lvbi1jb250cm9sLmdpdC8xMDc3NTgvZm9jdXM9MTA4MDA3CisgICBodHRwczovL2xvcmUua2VybmVsLm9yZy9naXQvN3ZicHRsc3V5di5mc2ZAZ2l0c3Rlci5zaWFtZXNlLmR5bmRucy5vcmcvCiAKICAgIGZvciBtb3JlIGRldGFpbHMgb24gdGhlIHJlYXNvbiB3aHkgdGhpcyBjaGFuZ2UgaXMgbmVlZGVkIGFuZCB0aGUKICAgIHRyYW5zaXRpb24gcHJvY2VzcyB0aGF0IGFscmVhZHkgdG9vayBwbGFjZSBzbyBmYXIuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNy4wLjIudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjcuMC4yLnR4dAppbmRleCBmY2I0NmNhLi43M2VkMmI1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNy4wLjIudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS43LjAuMi50eHQKQEAgLTM0LDcgKzM0LDcgQEAKICAqICJnaXQgc3RhdHVzIiBpbiAxLjcuMCBsYWNrZWQgdGhlIG9wdGltaXphdGlvbiB3ZSB1c2VkIHRvIGhhdmUgaW4gMS42Llggc2VyaWVzCiAgICB0byBzcGVlZCB1cCBzY2FubmluZyBvZiBsYXJnZSB3b3JraW5nIHRyZWUuCiAKLSAqICJnaXR3ZWIiIGRpZCBub3QgZGlhZ25vc2UgcGFyc2luZyBlcnJvcnMgcHJvcGVybHkgd2hpbGUgcmVhZGluZyB0aXMgY29uZmlndXJhdGlvbgorICogImdpdHdlYiIgZGlkIG5vdCBkaWFnbm9zZSBwYXJzaW5nIGVycm9ycyBwcm9wZXJseSB3aGlsZSByZWFkaW5nIGl0cyBjb25maWd1cmF0aW9uCiAgICBmaWxlLgogCiBBbmQgb3RoZXIgbWlub3IgZml4ZXMgYW5kIGRvY3VtZW50YXRpb24gdXBkYXRlcy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS43LjEwLjQudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjcuMTAuNC50eHQKaW5kZXggMzI2NjcwZC4uNTc1OTdmMiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjcuMTAuNC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjcuMTAuNC50eHQKQEAgLTcsNyArNyw3IEBACiAgKiBUaGUgbWVzc2FnZSBmaWxlIGZvciBTd2VkaXNoIHRyYW5zbGF0aW9uIGhhcyBiZWVuIHVwZGF0ZWQgYSBiaXQuCiAKICAqIEEgbmFtZSB0YWtlbiBmcm9tIG1haWxtYXAgd2FzIGNvcGllZCBpbnRvIGFuIGludGVybmFsIGJ1ZmZlcgotICAgaW5jb3JyZWN0bHkgYW5kIGNvdWxkIG92ZXJ1biB0aGUgYnVmZmVyIGlmIGl0IGlzIHRvbyBsb25nLgorICAgaW5jb3JyZWN0bHkgYW5kIGNvdWxkIG92ZXJydW4gdGhlIGJ1ZmZlciBpZiBpdCBpcyB0b28gbG9uZy4KIAogICogQSBtYWxmb3JtZWQgY29tbWl0IG9iamVjdCB0aGF0IGhhcyBhIGhlYWRlciBsaW5lIGNob21wZWQgaW4gdGhlCiAgICBtaWRkbGUgY291bGQga2lsbCBnaXQgd2l0aCBhIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS43LjEyLjMudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjcuMTIuMy50eHQKaW5kZXggZWNkYTQyNy4uNGI4MjI5NyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjcuMTIuMy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjcuMTIuMy50eHQKQEAgLTI1LDcgKzI1LDcgQEAKICAgIGl0cyBBY2NlcHQtRW5jb2RpbmcgaGVhZGVyLgogCiAgKiAiZ2l0IHJlY2VpdmUtcGFjayIgKHRoZSBjb3VudGVycGFydCB0byAiZ2l0IHB1c2giKSBkaWQgbm90IGdpdmUKLSAgIHByb2dyZXNzIG91dHB1dCB3aGlsZSBwcm9jZXNzaW5nIG9iamVjdHMgaXQgcmVjZWl2ZWQgdG8gdGhlIHB1c2VyCisgICBwcm9ncmVzcyBvdXRwdXQgd2hpbGUgcHJvY2Vzc2luZyBvYmplY3RzIGl0IHJlY2VpdmVkIHRvIHRoZSB1c2VyCiAgICB3aGVuIHJ1biBvdmVyIHRoZSBzbWFydC1odHRwIHByb3RvY29sLgogCiAgKiAiZ2l0IHN0YXR1cyIgaG9ub3JlZCB0aGUgaWdub3JlPWRpcnR5IHNldHRpbmdzIGluIC5naXRtb2R1bGVzIGJ1dApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjcuNS4zLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS43LjUuMy50eHQKaW5kZXggOWMwMzM1My4uMWQyNGVkYyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjcuNS4zLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuNy41LjMudHh0CkBAIC0yMiw3ICsyMiw3IEBACiAgKiAiZ2l0IGxvZyAtLXN0ZGluIHBhdGgiIHdpdGggYW4gaW5wdXQgdGhhdCBoYXMgYWRkaXRpb25hbCBwYXRoc3BlYwogICAgdXNlZCB0byBjb3JydXB0IG1lbW9yeS4KIAotICogImdpdCBzZW5kLXBhY2siIChoZW5jZSAiZ2l0IHB1c2giKSBvdmVyIHNtYWx0LUhUVFAgcHJvdG9jb2wgY291bGQKKyAqICJnaXQgc2VuZC1wYWNrIiAoaGVuY2UgImdpdCBwdXNoIikgb3ZlciBzbWFydC1IVFRQIHByb3RvY29sIGNvdWxkCiAgICBkZWFkbG9jayB3aGVuIHRoZSBjbGllbnQgc2lkZSBwYWNrLW9iamVjdCBkaWVkIGVhcmx5LgogCiAgKiBDb21wcmVzc2VkIHRhcmJhbGwgZ2l0d2ViIGdlbmVyYXRlcyB1c2VkIHRvIGJlIG1hZGUgd2l0aCB0aGUgdGltZXN0YW1wCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuOC4wLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS44LjAudHh0CmluZGV4IDQzODgzYzEuLjYzZDZlNGEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS44LjAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS44LjAudHh0CkBAIC0yMzMsNyArMjMzLDcgQEAKICAgIHRvZ2V0aGVyLCBtaXNkZXRlY3RlZCBicmFuY2hlcy4KIAogICogImdpdCByZWNlaXZlLXBhY2siICh0aGUgY291bnRlcnBhcnQgdG8gImdpdCBwdXNoIikgZGlkIG5vdCBnaXZlCi0gICBwcm9ncmVzcyBvdXRwdXQgd2hpbGUgcHJvY2Vzc2luZyBvYmplY3RzIGl0IHJlY2VpdmVkIHRvIHRoZSBwdXNlcgorICAgcHJvZ3Jlc3Mgb3V0cHV0IHdoaWxlIHByb2Nlc3Npbmcgb2JqZWN0cyBpdCByZWNlaXZlZCB0byB0aGUgdXNlcgogICAgd2hlbiBydW4gb3ZlciB0aGUgc21hcnQtaHR0cCBwcm90b2NvbC4KIAogICogV2hlbiB5b3UgbWlzc3BlbGwgdGhlIGNvbW1hbmQgbmFtZSB5b3UgZ2l2ZSB0byB0aGUgImV4ZWMiIGFjdGlvbiBpbgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjguNC4xLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS44LjQuMS50eHQKaW5kZXggOTYwOTBlZi4uYzI1N2JlYiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjguNC4xLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzEuOC40LjEudHh0CkBAIC0xNSw3ICsxNSw3IEBACiAgICBpbiAxLjguNC1yYzEpLgogCiAgKiAiZ2l0IHJlYmFzZSAtaSIgYW5kIG90aGVyIHNjcmlwdGVkIGNvbW1hbmRzIHdlcmUgZmVlZGluZyBhCi0gICByYW5kb20sIGRhdGEgZGVwZW5kYW50IGVycm9yIG1lc3NhZ2UgdG8gJ2VjaG8nIGFuZCBleHBlY3RpbmcgaXQKKyAgIHJhbmRvbSwgZGF0YSBkZXBlbmRlbnQgZXJyb3IgbWVzc2FnZSB0byAnZWNobycgYW5kIGV4cGVjdGluZyBpdAogICAgdG8gY29tZSBvdXQgbGl0ZXJhbGx5LgogCiAgKiBTZXR0aW5nIHRoZSAic3VibW9kdWxlLjxuYW1lPi5wYXRoIiB2YXJpYWJsZSB0byB0aGUgZW1wdHkKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMS44LjQudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjguNC50eHQKaW5kZXggMDJmNjgxYi4uMjU1ZTE4NSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjguNC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8xLjguNC50eHQKQEAgLTU4LDcgKzU4LDcgQEAKICAgIGNyZWRlbnRpYWwgaGVscGVyIGludGVyZmFjZSBmcm9tIEdpdC5wbS4KIAogICogVXBkYXRlIGJ1aWxkIGZvciBDeWd3aW4gMS5bNTddLiAgVG9yc3RlbiBCw7ZnZXJzaGF1c2VuIHJlcG9ydHMgdGhhdAotICAgdGhpcyBpcyBmaW5lIHdpdGggQ3lnd2luIDEuNyAoJGdtYW5lLzIyNTgyNCkgc28gbGV0J3MgdHJ5IG1vdmluZyBpdAorICAgdGhpcyBpcyBmaW5lIHdpdGggQ3lnd2luIDEuNyAoY2YuIDw1MUE2MDZBMC41MDYwMTAxQHdlYi5kZT4pIHNvIGxldCdzIHRyeSBtb3ZpbmcgaXQKICAgIGFoZWFkLgogCiAgKiBUaGUgY3JlZGVudGlhbCBoZWxwZXIgdG8gdGFsayB0byBrZXljaGFpbiBvbiBPUyBYIChpbiBjb250cmliLykgaGFzCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMS4zLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xLjMudHh0CmluZGV4IGFjYzllYmIuLjBkZmIxN2MgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xLjMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xLjMudHh0CkBAIC0xMyw3ICsxMyw3IEBACiAgICB0aGV5IGFyZSBuZXcgZW5vdWdoIHRvIHN1cHBvcnQgdGhlIGAtLW91dHB1dGAgb3B0aW9uLgogCiAgKiAiZ2l0IHBhY2stb2JqZWN0cyIgZm9yZ290IHRvIGRpc2FibGUgdGhlIGNvZGVwYXRoIHRvIGdlbmVyYXRlCi0gICBvYmplY3QgcmVjaGVhYmlsaXR5IGJpdG1hcCB3aGVuIGl0IG5lZWRzIHRvIHNwbGl0IHRoZSByZXN1bHRpbmcKKyAgIG9iamVjdCByZWFjaGFiaWxpdHkgYml0bWFwIHdoZW4gaXQgbmVlZHMgdG8gc3BsaXQgdGhlIHJlc3VsdGluZwogICAgcGFjay4KIAogICogImdpdHdlYiIgdXNlZCBkZXByZWNhdGVkIENHSTo6c3RhcnRmcm9tLCB3aGljaCB3YXMgcmVtb3ZlZCBmcm9tCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTAuMC50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTAuMC50eHQKaW5kZXggZjRkYTI4YS4uMzc5MmI3ZCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEwLjAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMC4wLnR4dApAQCAtNDc4LDcgKzQ3OCw3IEBACiAgKiBPbmUgcGFydCBvZiAiZ2l0IGFtIiBoYWQgYW4gb2RkYmFsbCBoZWxwZXIgZnVuY3Rpb24gdGhhdCBjYWxsZWQKICAgIHN0dWZmIGZyb20gb3V0c2lkZSAiaGlzIiBhcyBvcHBvc2VkIHRvIGNhbGxpbmcgd2hhdCB3ZSBoYXZlICJvdXJzIiwKICAgIHdoaWNoIHdhcyBub3QgZ2VuZGVyLW5ldXRyYWwgYW5kIGFsc28gaW5jb25zaXN0ZW50IHdpdGggdGhlIHJlc3Qgb2YKLSAgIHRoZSBzeXN0ZW0gd2hlcmUgb3V0c2lkZSBzdHVmZiBpcyB1c3VhbGwgY2FsbGVkICJ0aGVpcnMiIGluCisgICB0aGUgc3lzdGVtIHdoZXJlIG91dHNpZGUgc3R1ZmYgaXMgdXN1YWxseSBjYWxsZWQgInRoZWlycyIgaW4KICAgIGNvbnRyYXN0IHRvICJvdXJzIi4KIAogICogImdpdCBibGFtZSBmaWxlIiBhbGxvd2VkIHRoZSBsaW5lYWdlIG9mIGxpbmVzIGluIHRoZSB1bmNvbW1pdHRlZCwKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMC4yLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMC4yLnR4dAppbmRleCBjNGQ0Mzk3Li5hYmJkMzMxIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTAuMi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEwLjIudHh0CkBAIC04Niw3ICs4Niw3IEBACiAgICBieSByZWZ1c2luZyB0byBjaGVjayBvdXQgYSBicmFuY2ggdGhhdCBpcyBhbHJlYWR5IGNoZWNrZWQgb3V0IGluCiAgICBhbm90aGVyIHdvcmt0cmVlLiAgSG93ZXZlciwgdGhpcyBhbHNvIHByZXZlbnRlZCBjaGVja2luZyBvdXQgYQogICAgYnJhbmNoLCB3aGljaCBpcyBkZXNpZ25hdGVkIGFzIHRoZSBwcmltYXJ5IGJyYW5jaCBvZiBhIGJhcmUKLSAgIHJlb3BzaXRvcnksIGluIGEgd29ya3RyZWUgdGhhdCBpcyBjb25uZWN0ZWQgdG8gdGhlIGJhcmUKKyAgIHJlcG9zaXRvcnksIGluIGEgd29ya3RyZWUgdGhhdCBpcyBjb25uZWN0ZWQgdG8gdGhlIGJhcmUKICAgIHJlcG9zaXRvcnkuICBUaGUgY2hlY2sgaGFzIGJlZW4gY29ycmVjdGVkIHRvIGFsbG93IGl0LgogCiAgKiAiZ2l0IHJlYmFzZSIgaW1tZWRpYXRlbHkgYWZ0ZXIgImdpdCBjbG9uZSIgZmFpbGVkIHRvIGZpbmQgdGhlIGZvcmsKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMS4xLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMS4xLnR4dAppbmRleCA5Y2QxNGM4Li43ZDM1Y2YxIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTEuMS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjExLjEudHh0CkBAIC0xMDQsNyArMTA0LDcgQEAKICAgICJnaXQgZGlmZnRvb2wgLS1kaXItZGlmZiIgZnJvbSBhIHN1YmRpcmVjdG9yeSBuZXZlciB3b3JrZWQuIFRoaXMKICAgIGhhcyBiZWVuIGZpeGVkLgogCi0gKiAiZ2l0IHA0IiB0aGF0IHRyYWNrcyBtdWx0aWxlIHA0IHBhdGhzIGltcG9ydGVkIGEgc2luZ2xlIGNoYW5nZWxpc3QKKyAqICJnaXQgcDQiIHRoYXQgdHJhY2tzIG11bHRpcGxlIHA0IHBhdGhzIGltcG9ydGVkIGEgc2luZ2xlIGNoYW5nZWxpc3QKICAgIHRoYXQgdG91Y2hlcyBmaWxlcyBpbiB0aGVzZSBtdWx0aXBsZSBwYXRocyBhcyBvbmUgY29tbWl0LCBmb2xsb3dlZAogICAgYnkgbWFueSBlbXB0eSBjb21taXRzLiAgVGhpcyBoYXMgYmVlbiBmaXhlZC4KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEyLjAudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEyLjAudHh0CmluZGV4IGVmOGI5N2QuLmQyZjZhODMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMi4wLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTIuMC50eHQKQEAgLTMxNSw3ICszMTUsNyBAQAogICAgImdpdCBkaWZmdG9vbCAtLWRpci1kaWZmIiBmcm9tIGEgc3ViZGlyZWN0b3J5IG5ldmVyIHdvcmtlZC4gVGhpcwogICAgaGFzIGJlZW4gZml4ZWQuCiAKLSAqICJnaXQgcDQiIHRoYXQgdHJhY2tzIG11bHRpbGUgcDQgcGF0aHMgaW1wb3J0ZWQgYSBzaW5nbGUgY2hhbmdlbGlzdAorICogImdpdCBwNCIgdGhhdCB0cmFja3MgbXVsdGlwbGUgcDQgcGF0aHMgaW1wb3J0ZWQgYSBzaW5nbGUgY2hhbmdlbGlzdAogICAgdGhhdCB0b3VjaGVzIGZpbGVzIGluIHRoZXNlIG11bHRpcGxlIHBhdGhzIGFzIG9uZSBjb21taXQsIGZvbGxvd2VkCiAgICBieSBtYW55IGVtcHR5IGNvbW1pdHMuICBUaGlzIGhhcyBiZWVuIGZpeGVkLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTMuMC50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTMuMC50eHQKaW5kZXggYWE5OWQ0Yi4uMmE0N2I0YyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEzLjAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMy4wLnR4dApAQCAtMTc3LDcgKzE3Nyw3IEBACiAgICBiZWVuIGNoYW5nZWQgdG8gZW5hYmxlICItLWRlY29yYXRlIi4KIAogICogVGhlIG91dHB1dCBmcm9tICJnaXQgc3RhdHVzIC0tc2hvcnQiIGhhcyBiZWVuIGV4dGVuZGVkIHRvIHNob3cKLSAgIHZhcmlvdXMga2luZHMgb2YgZGlydHluZXNzIGluIHN1Ym1vZHVsZXMgZGlmZmVyZW50bHk7IGluc3RlYWQgb2YgdG8KKyAgIHZhcmlvdXMga2luZHMgb2YgZGlydGluZXNzIGluIHN1Ym1vZHVsZXMgZGlmZmVyZW50bHk7IGluc3RlYWQgb2YgdG8KICAgICJNIiBmb3IgbW9kaWZpZWQsICdtJyBhbmQgJz8nIGNhbiBiZSBzaG93biB0byBzaWduYWwgY2hhbmdlcyBvbmx5CiAgICB0byB0aGUgd29ya2luZyB0cmVlIG9mIHRoZSBzdWJtb2R1bGUgYnV0IG5vdCB0aGUgY29tbWl0IHRoYXQgaXMKICAgIGNoZWNrZWQgb3V0LgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEzLjMudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjEzLjMudHh0CmluZGV4IDVkNzZhZDUuLjM4NGU0ZGUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xMy4zLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTMuMy50eHQKQEAgLTI1LDcgKzI1LDcgQEAKICAqIFRoZSBjb2RlIHRvIHBpY2sgdXAgYW5kIGV4ZWN1dGUgY29tbWFuZCBhbGlhcyBkZWZpbml0aW9uIGZyb20gdGhlCiAgICBjb25maWd1cmF0aW9uIHVzZWQgdG8gc3dpdGNoIHRvIHRoZSB0b3Agb2YgdGhlIHdvcmtpbmcgdHJlZSBhbmQKICAgIHRoZW4gY29tZSBiYWNrIHdoZW4gdGhlIGV4cGFuZGVkIGFsaWFzIHdhcyBleGVjdXRlZCwgd2hpY2ggd2FzCi0gICB1bm5lY2Vzc2FyaWx5bCBjb21wbGV4LiAgQXR0ZW1wdCB0byBzaW1wbGlmeSB0aGUgbG9naWMgYnkgdXNpbmcgdGhlCisgICB1bm5lY2Vzc2FyaWx5IGNvbXBsZXguICBBdHRlbXB0IHRvIHNpbXBsaWZ5IHRoZSBsb2dpYyBieSB1c2luZyB0aGUKICAgIGVhcmx5LWNvbmZpZyBtZWNoYW5pc20gdGhhdCBkb2VzIG5vdCBjaGRpciBhcm91bmQuCiAKICAqICJnaXQgYWRkIC1wIiB3ZXJlIHVwZGF0ZWQgaW4gMi4xMiB0aW1lZnJhbWUgdG8gY29wZSB3aXRoIGN1c3RvbQpAQCAtMzUsNyArMzUsNyBAQAogICogRml4IGEgcmVjZW50IHJlZ3Jlc3Npb24gdG8gImdpdCByZWJhc2UgLWkiIGFuZCBhZGQgdGVzdHMgdGhhdCB3b3VsZAogICAgaGF2ZSBjYXVnaHQgaXQgYW5kIG90aGVycy4KIAotICogQW4gdW5hbGlnbmVkIDMyLWJpdCBhY2Nlc3MgaW4gcGFjay1iaXRtYXAgY29kZSBhaHMgYmVlbiBjb3JyZWN0ZWQuCisgKiBBbiB1bmFsaWduZWQgMzItYml0IGFjY2VzcyBpbiBwYWNrLWJpdG1hcCBjb2RlIGhhcyBiZWVuIGNvcnJlY3RlZC4KIAogICogVGlnaHRlbiBlcnJvciBjaGVja3MgZm9yIGludmFsaWQgImdpdCBhcHBseSIgaW5wdXQuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xNC4wLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xNC4wLnR4dAppbmRleCA0MjQ2YzY4Li4yNzExYTI1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTQuMC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjE0LjAudHh0CkBAIC0xNDEsNyArMTQxLDcgQEAKICAqIFNvbWUgcGxhdGZvcm1zIGhhdmUgdWxvbmcgdGhhdCBpcyBzbWFsbGVyIHRoYW4gdGltZV90LCBhbmQgb3VyCiAgICBoaXN0b3JpY2FsIHVzZSBvZiB1bG9uZyBmb3IgdGltZXN0YW1wIHdvdWxkIG1lYW4gdGhleSBjYW5ub3QKICAgIHJlcHJlc2VudCBzb21lIHRpbWVzdGFtcCB0aGF0IHRoZSBwbGF0Zm9ybSBhbGxvd3MuICBJbnZlbnQgYQotICAgc2VwYXJhdGUgYW5kIGRlZGljYXRlZCB0aW1lc3RhbXBfdCAoc28gdGhhdCB3ZSBjYW4gZGlzdGluZ2l1aXNoCisgICBzZXBhcmF0ZSBhbmQgZGVkaWNhdGVkIHRpbWVzdGFtcF90IChzbyB0aGF0IHdlIGNhbiBkaXN0aW5ndWlzaAogICAgdGltZXN0YW1wcyBhbmQgYSB2YW5pbGxhIHVsb25ncywgd2hpY2ggYWxvbmcgaXMgYWxyZWFkeSBhIGdvb2QKICAgIG1vdmUpLCBhbmQgdGhlbiBkZWNsYXJlIHVpbnRtYXhfdCBpcyB0aGUgdHlwZSB0byBiZSB1c2VkIGFzIHRoZQogICAgdGltZXN0YW1wX3QuCkBAIC00NDIsNyArNDQyLDcgQEAKICAqIFRoZSBjb2RlIHRvIHBpY2sgdXAgYW5kIGV4ZWN1dGUgY29tbWFuZCBhbGlhcyBkZWZpbml0aW9uIGZyb20gdGhlCiAgICBjb25maWd1cmF0aW9uIHVzZWQgdG8gc3dpdGNoIHRvIHRoZSB0b3Agb2YgdGhlIHdvcmtpbmcgdHJlZSBhbmQKICAgIHRoZW4gY29tZSBiYWNrIHdoZW4gdGhlIGV4cGFuZGVkIGFsaWFzIHdhcyBleGVjdXRlZCwgd2hpY2ggd2FzCi0gICB1bm5lY2Vzc2FyaWx5bCBjb21wbGV4LiAgQXR0ZW1wdCB0byBzaW1wbGlmeSB0aGUgbG9naWMgYnkgdXNpbmcgdGhlCisgICB1bm5lY2Vzc2FyaWx5IGNvbXBsZXguICBBdHRlbXB0IHRvIHNpbXBsaWZ5IHRoZSBsb2dpYyBieSB1c2luZyB0aGUKICAgIGVhcmx5LWNvbmZpZyBtZWNoYW5pc20gdGhhdCBkb2VzIG5vdCBjaGRpciBhcm91bmQuCiAKICAqIEZpeCBjb25maWd1cmF0aW9uIGNvZGVwYXRoIHRvIHBheSBwcm9wZXIgYXR0ZW50aW9uIHRvIGNvbW1vbmRpcgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjE2LjAudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjE2LjAudHh0CmluZGV4IDBjODFjNTkuLmI0NzQ3ODEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xNi4wLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTYuMC50eHQKQEAgLTQwNyw3ICs0MDcsNyBAQAogICAgKG1lcmdlIGVlZjNkZjVhOTMgYncvcGF0aHNwZWMtbWF0Y2gtc3VibW9kdWxlLWJvdW5kYXJ5IGxhdGVyIHRvIG1haW50KS4KIAogICogQW1lbmRpbmcgY29tbWl0cyBpbiBnaXQtZ3VpIGJyb2tlIHRoZSBhdXRob3IgbmFtZSB0aGF0IGlzIG5vbi1hc2NpaQotICAgZHVlIHRvIGluY29ycmVjdCBlbmNvbmRpbmcgY29udmVyc2lvbi4KKyAgIGR1ZSB0byBpbmNvcnJlY3QgZW5jb2RpbmcgY29udmVyc2lvbi4KIAogICogUmVjZW50IHVwZGF0ZSB0byB0aGUgc3VibW9kdWxlIGNvbmZpZ3VyYXRpb24gY29kZSBicm9rZSAiZGlmZi10cmVlIgogICAgYnkgYWNjaWRlbnRhbGx5IHN0b3BwaW5nIHRvIHJlYWQgZnJvbSB0aGUgaW5kZXggdXBmcm9udC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xNi4zLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xNi4zLnR4dAppbmRleCA2NGEwYmNiLi5mMDEyMWE4IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTYuMy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjE2LjMudHh0CkBAIC0yNCw3ICsyNCw3IEBACiAKICAqIFRoZSBodHRwIHRyYWNpbmcgY29kZSwgb2Z0ZW4gdXNlZCB0byBkZWJ1ZyBjb25uZWN0aW9uIGlzc3VlcywKICAgIGxlYXJuZWQgdG8gcmVkYWN0IHBvdGVudGlhbGx5IHNlbnNpdGl2ZSBpbmZvcm1hdGlvbiBmcm9tIGl0cyBvdXRwdXQKLSAgIHNvIHRoYXQgaXQgY2FuIGJlIG1vcmUgc2FmZWx5IHNoYXJhYmxlLgorICAgc28gdGhhdCBpdCBjYW4gYmUgbW9yZSBzYWZlbHkgc2hhcmVhYmxlLgogCiAgKiBDcmFzaCBmaXggZm9yIGEgY29ybmVyIGNhc2Ugd2hlcmUgYW4gZXJyb3IgY29kZXBhdGggdHJpZWQgdG8gdW5sb2NrCiAgICB3aGF0IGl0IGRpZCBub3QgYWNxdWlyZSBsb2NrIG9uLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjE3LjAudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjE3LjAudHh0CmluZGV4IGMyY2Y4OTEuLjhiMTdjMjYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xNy4wLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTcuMC50eHQKQEAgLTIxNiw3ICsyMTYsNyBAQAogCiAgKiBUaGUgaHR0cCB0cmFjaW5nIGNvZGUsIG9mdGVuIHVzZWQgdG8gZGVidWcgY29ubmVjdGlvbiBpc3N1ZXMsCiAgICBsZWFybmVkIHRvIHJlZGFjdCBwb3RlbnRpYWxseSBzZW5zaXRpdmUgaW5mb3JtYXRpb24gZnJvbSBpdHMgb3V0cHV0Ci0gICBzbyB0aGF0IGl0IGNhbiBiZSBtb3JlIHNhZmVseSBzaGFyYWJsZS4KKyAgIHNvIHRoYXQgaXQgY2FuIGJlIG1vcmUgc2FmZWx5IHNoYXJlYWJsZS4KICAgIChtZXJnZSA4YmExOGU2ZmE0IGp0L2h0dHAtcmVkYWN0LWNvb2tpZXMgbGF0ZXIgdG8gbWFpbnQpLgogCiAgKiBDcmFzaCBmaXggZm9yIGEgY29ybmVyIGNhc2Ugd2hlcmUgYW4gZXJyb3IgY29kZXBhdGggdHJpZWQgdG8gdW5sb2NrCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTguMC50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTguMC50eHQKaW5kZXggM2VhMjgwYy4uNmM4YTBlOSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjE4LjAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xOC4wLnR4dApAQCAtMTc5LDcgKzE3OSw3IEBACiAgICAobWVyZ2UgMDBhM2RhMmExMyBuZC9yZW1vdmUtaWdub3JlLWVudi1maWVsZCBsYXRlciB0byBtYWludCkuCiAKICAqIENvZGUgdG8gZmluZCB0aGUgbGVuZ3RoIHRvIHVuaXF1ZWx5IGFiYnJldmlhdGUgb2JqZWN0IG5hbWVzIGJhc2VkCi0gICBvbiBwYWNrZmlsZSBjb250ZW50LCB3aGljaCBpcyBhIHJlbGF0aXZlbHkgcmVjZW50IGFkZHRpb24sIGhhcyBiZWVuCisgICBvbiBwYWNrZmlsZSBjb250ZW50LCB3aGljaCBpcyBhIHJlbGF0aXZlbHkgcmVjZW50IGFkZGl0aW9uLCBoYXMgYmVlbgogICAgb3B0aW1pemVkIHRvIHVzZSB0aGUgc2FtZSBmYW4tb3V0IHRhYmxlLgogCiAgKiBUaGUgbWVjaGFuaXNtIHRvIHVzZSBwYXJzZS1vcHRpb25zIEFQSSB0byBhdXRvbWF0ZSB0aGUgY29tbWFuZCBsaW5lCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTkuMC50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMTkuMC50eHQKaW5kZXggYTA2Y2NmNi4uODkxYzc5YiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjE5LjAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4xOS4wLnR4dApAQCAtMTA2LDcgKzEwNiw3IEBACiAgKiBUaGUgY29udmVyc2lvbiB0byBwYXNzICJ0aGVfcmVwb3NpdG9yeSIgYW5kIHRoZW4gImFfcmVwb3NpdG9yeSIKICAgIHRocm91Z2hvdXQgdGhlIG9iamVjdCBhY2Nlc3MgQVBJIGNvbnRpbnVlcy4KIAotICogQ29udGludWluZyB3aXRoIHRoZSBpZGVhIHRvIHByb2dyYW1hdGljYWxseSBlbnVtZXJhdGUgdmFyaW91cworICogQ29udGludWluZyB3aXRoIHRoZSBpZGVhIHRvIHByb2dyYW1tYXRpY2FsbHkgZW51bWVyYXRlIHZhcmlvdXMKICAgIHBpZWNlcyBvZiBkYXRhIHJlcXVpcmVkIGZvciBjb21tYW5kIGxpbmUgY29tcGxldGlvbiwgdGVhY2ggdGhlCiAgICBjb2RlYmFzZSB0byByZXBvcnQgdGhlIGxpc3Qgb2YgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMKICAgIHN1YmNvbW1hbmRzIGNhcmUgYWJvdXQgdG8gaGVscCBjb21wbGV0ZSB0aGVtLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjIwLjAudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjIwLjAudHh0CmluZGV4IGU3MWZlM2QuLjNkZDdlNmUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yMC4wLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMjAuMC50eHQKQEAgLTExOSw3ICsxMTksNyBAQAogICAgYWxpYXMgZXhwYW5zaW9uLgogCiAgKiBUaGUgZG9jdW1lbnRhdGlvbiBvZiAiZ2l0IGdjIiBoYXMgYmVlbiB1cGRhdGVkIHRvIG1lbnRpb24gdGhhdCBpdAotICAgaXMgbm8gbG9uZ2VyIGxpbWl0ZWQgdG8gInBydW5pbmcgYXdheSBjcnVmdHMiIGJ1dCBhbHNvIHVwZGF0ZXMKKyAgIGlzIG5vIGxvbmdlciBsaW1pdGVkIHRvICJwcnVuaW5nIGF3YXkgY3J1ZnQiIGJ1dCBhbHNvIHVwZGF0ZXMKICAgIGFuY2lsbGFyeSBmaWxlcyBsaWtlIGNvbW1pdC1ncmFwaCBhcyBhIHBhcnQgb2YgcmVwb3NpdG9yeQogICAgb3B0aW1pemF0aW9uLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMjEuMC50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMjEuMC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E0OWRlZAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yMS4wLnR4dApAQCAtMCwwICsxLDQ1MSBAQAorR2l0IDIuMjEgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PQorCitCYWNrd2FyZCBDb21wYXRpYmlsaXR5IE5vdGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAqIEhpc3RvcmljYWxseSwgdGhlICItbSIgKG1haW5saW5lKSBvcHRpb24gY2FuIG9ubHkgYmUgdXNlZCBmb3IgImdpdAorICAgY2hlcnJ5LXBpY2siIGFuZCAiZ2l0IHJldmVydCIgd2hlbiB3b3JraW5nIHdpdGggYSBtZXJnZSBjb21taXQuCisgICBUaGlzIHZlcnNpb24gb2YgR2l0IG5vIGxvbmdlciB3YXJucyBvciBlcnJvcnMgb3V0IHdoZW4gd29ya2luZyB3aXRoCisgICBhIHNpbmdsZS1wYXJlbnQgY29tbWl0LCBhcyBsb25nIGFzIHRoZSBhcmd1bWVudCB0byB0aGUgIi1tIiBvcHRpb24KKyAgIGlzIDEgKGkuZS4gaXQgaGFzIG9ubHkgb25lIHBhcmVudCwgYW5kIHRoZSByZXF1ZXN0IGlzIHRvIHBpY2sgb3IKKyAgIHJldmVydCByZWxhdGl2ZSB0byB0aGF0IGZpcnN0IHBhcmVudCkuICBTY3JpcHRzIHRoYXQgcmVsaWVkIG9uIHRoZQorICAgYmVoYXZpb3VyIG1heSBnZXQgYnJva2VuIHdpdGggdGhpcyBjaGFuZ2UuCisKKworVXBkYXRlcyBzaW5jZSB2Mi4yMAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitVSSwgV29ya2Zsb3dzICYgRmVhdHVyZXMKKworICogVGhlICJodHRwLnZlcnNpb24iIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgY2FuIGJlIHVzZWQgd2l0aCByZWNlbnQKKyAgIGVub3VnaCB2ZXJzaW9ucyBvZiBjVVJMIGxpYnJhcnkgdG8gZm9yY2UgdGhlIHZlcnNpb24gb2YgSFRUUCB1c2VkCisgICB0byB0YWxrIHdoZW4gZmV0Y2hpbmcgYW5kIHB1c2hpbmcuCisKKyAqIFNtYWxsIGZpeGVzIGFuZCBmZWF0dXJlcyBmb3IgZmFzdC1leHBvcnQgYW5kIGZhc3QtaW1wb3J0LCBtb3N0bHkgb24KKyAgIHRoZSBmYXN0LWV4cG9ydCBzaWRlIGhhcyBiZWVuIG1hZGUuCisKKyAqICJnaXQgcHVzaCAkdGhlcmUgJHNyYzokZHN0IiByZWplY3RzIHdoZW4gJGRzdCBpcyBub3QgYSBmdWxseQorICAgcXVhbGlmaWVkIHJlZm5hbWUgYW5kIGl0IGlzIG5vdCBjbGVhciB3aGF0IHRoZSBlbmQgdXNlciBtZWFudC4gIFRoZQorICAgY29kZXBhdGggaGFzIGJlZW4gdGF1Z2h0IHRvIGdpdmUgYSBjbGVhcmVyIGVycm9yIG1lc3NhZ2UsIGFuZCBhbHNvCisgICBndWVzcyB3aGVyZSB0aGUgcHVzaCBzaG91bGQgZ28gYnkgdGFraW5nIHRoZSB0eXBlIG9mIHRoZSBwdXNoZWQKKyAgIG9iamVjdCBpbnRvIGFjY291bnQgKGUuZy4gYSB0YWcgb2JqZWN0IHdvdWxkIHdhbnQgdG8gZ28gdW5kZXIKKyAgIHJlZnMvdGFncy8pLgorCisgKiAiZ2l0IGNoZWNrb3V0IFs8dHJlZS1pc2g+XSBwYXRoLi4uIiBsZWFybmVkIHRvIHJlcG9ydCB0aGUgbnVtYmVyIG9mCisgICBwYXRocyB0aGF0IGhhdmUgYmVlbiBjaGVja2VkIG91dCBvZiB0aGUgaW5kZXggb3IgdGhlIHRyZWUtaXNoLAorICAgd2hpY2ggZ2l2ZXMgaXQgdGhlIHNhbWUgZGVncmVlIG9mIG5vaXN5LW5lc3MgYXMgdGhlIGNhc2UgaW4gd2hpY2gKKyAgIHRoZSBjb21tYW5kIGNoZWNrcyBvdXQgYSBicmFuY2guICAiZ2l0IGNoZWNrb3V0IC1tIDxwYXRoc3BlYz4iIHRvCisgICB1bmRvIGNvbmZsaWN0IHJlc29sdXRpb24gZ2l2ZXMgYSBzaW1pbGFyIG1lc3NhZ2UuCisKKyAqICJnaXQgcXVpbHRpbXBvcnQiIGxlYXJuZWQgIi0ta2VlcC1ub24tcGF0Y2giIG9wdGlvbi4KKworICogImdpdCB3b3JrdHJlZSByZW1vdmUiIGFuZCAiZ2l0IHdvcmt0cmVlIG1vdmUiIHJlZnVzZWQgdG8gd29yayB3aGVuCisgICB0aGVyZSBpcyBhIHN1Ym1vZHVsZSBpbnZvbHZlZC4gIFRoaXMgaGFzIGJlZW4gbG9vc2VuZWQgdG8gaWdub3JlCisgICB1bmluaXRpYWxpemVkIHN1Ym1vZHVsZXMuCisKKyAqICJnaXQgY2hlcnJ5LXBpY2sgLW0xIiB3YXMgZm9yYmlkZGVuIHdoZW4gcGlja2luZyBhIG5vbi1tZXJnZQorICAgY29tbWl0LCBldmVuIHRob3VnaCB0aGVyZSBfaXNfIHBhcmVudCBudW1iZXIgMSBmb3Igc3VjaCBhIGNvbW1pdC4KKyAgIFRoaXMgd2FzIGRvbmUgdG8gYXZvaWQgbWlzdGFrZXMgYmFjayB3aGVuICJjaGVycnktcGljayIgd2FzIGFib3V0CisgICBwaWNraW5nIGEgc2luZ2xlIGNvbW1pdCwgYnV0IGlzIG5vIGxvbmdlciB1c2VmdWwgd2l0aCAiY2hlcnJ5LXBpY2siCisgICB0aGF0IGNhbiBwaWNrIGEgcmFuZ2Ugb2YgY29tbWl0cy4gIE5vdyB0aGUgIi1tJG51bSIgb3B0aW9uIGlzCisgICBhbGxvd2VkIHdoZW4gcGlja2luZyBhbnkgY29tbWl0LCBhcyBsb25nIGFzICRudW0gbmFtZXMgYW4gZXhpc3RpbmcKKyAgIHBhcmVudCBvZiB0aGUgY29tbWl0LgorCisgKiBVcGRhdGUgImdpdCBtdWx0aW1haWwiIGZyb20gdGhlIHVwc3RyZWFtLgorCisgKiAiZ2l0IHA0IiB1cGRhdGUuCisKKyAqIFRoZSAiLS1mb3JtYXQ9PHBsYWNlaG9sZGVyPiIgb3B0aW9uIG9mIGZvci1lYWNoLXJlZiwgYnJhbmNoIGFuZCB0YWcKKyAgIGxlYXJuZWQgdG8gc2hvdyBhIGZldyBtb3JlIHRyYWl0cyBvZiBvYmplY3RzIHRoYXQgY2FuIGJlIGxlYXJuZWQgYnkKKyAgIHRoZSBvYmplY3RfaW5mbyBBUEkuCisKKyAqICJnaXQgcmViYXNlIC1pIiBsZWFybmVkIHRvIHJlLWV4ZWN1dGUgYSBjb21tYW5kIGdpdmVuIHdpdGggJ2V4ZWMnCisgICB0byBydW4gYWZ0ZXIgaXQgZmFpbGVkIHRoZSBsYXN0IHRpbWUuCisKKyAqICJnaXQgZGlmZiAtLWNvbG9yLW1vdmVkLXdzIiB1cGRhdGVzLgorCisgKiBDdXN0b20gdXNlcmZvcm1hdCAibG9nIC0tZm9ybWF0IiBsZWFybmVkICVTIGF0b20gdGhhdCBzdGFuZHMgZm9yCisgICB0aGUgdGlwIHRoZSB0cmF2ZXJzYWwgcmVhY2hlZCB0aGUgY29tbWl0IGZyb20sIGkuZS4gLS1zb3VyY2UuCisKKyAqICJnaXQgaW5zdGF3ZWIiIGxlYXJuZWQgdG8gZHJpdmUgaHR0cC5zZXJ2ZXIgdGhhdCBjb21lcyB3aXRoCisgICAiYmF0dGVyaWVzIGluY2x1ZGVkIiBQeXRob24gaW5zdGFsbGF0aW9uIChib3RoIFB5dGhvbjIgJiAzKS4KKworICogQSBuZXcgZW5jb2RpbmcgVVRGLTE2TEUtQk9NIGhhcyBiZWVuIGludmVudGVkIHRvIGZvcmNlIGVuY29kaW5nIHRvCisgICBVVEYtMTYgd2l0aCBCT00gaW4gbGl0dGxlIGVuZGlhbiBieXRlIG9yZGVyLCB3aGljaCBjYW5ub3QgYmUgZGlyZWN0bHkKKyAgIGdlbmVyYXRlZCBieSB1c2luZyBpY29udi4KKworICogQSBuZXcgZGF0ZSBmb3JtYXQgIi0tZGF0ZT1odW1hbiIgdGhhdCBtb3JwaHMgaXRzIG91dHB1dCBkZXBlbmRpbmcKKyAgIG9uIGhvdyBmYXIgdGhlIHRpbWUgaXMgZnJvbSB0aGUgY3VycmVudCB0aW1lIGhhcyBiZWVuIGludHJvZHVjZWQuCisgICAiLS1kYXRlPWF1dG86aHVtYW4iIGNhbiBiZSB1c2VkIHRvIHVzZSB0aGlzIG5ldyBmb3JtYXQgKG9yIGFueQorICAgZXhpc3RpbmcgZm9ybWF0KSB3aGVuIHRoZSBvdXRwdXQgaXMgZ29pbmcgdG8gdGhlIHBhZ2VyIG9yIHRvIHRoZQorICAgdGVybWluYWwsIGFuZCBvdGhlcndpc2UgdGhlIGRlZmF1bHQgZm9ybWF0LgorCisKK1BlcmZvcm1hbmNlLCBJbnRlcm5hbCBJbXBsZW1lbnRhdGlvbiwgRGV2ZWxvcG1lbnQgU3VwcG9ydCBldGMuCisKKyAqIENvZGUgY2xlYW4tdXAgd2l0aCBvcHRpbWl6YXRpb24gZm9yIHRoZSBjb2RlcGF0aCB0aGF0IGNoZWNrcworICAgKG5vbi0pZXhpc3RlbmNlIG9mIGxvb3NlIG9iamVjdHMuCisKKyAqIE1vcmUgY29kZXBhdGhzIGhhdmUgYmVjb21lIGF3YXJlIG9mIHdvcmtpbmcgd2l0aCBpbi1jb3JlIHJlcG9zaXRvcnkKKyAgIGluc3RhbmNlcyBvdGhlciB0aGFuIHRoZSBkZWZhdWx0ICJ0aGVfcmVwb3NpdG9yeSIuCisKKyAqIFRoZSAic3RybmNhdCgpIiBmdW5jdGlvbiBpcyBub3cgYW1vbmcgdGhlIGJhbm5lZCBmdW5jdGlvbnMuCisKKyAqIFBvcnRhYmlsaXR5IHVwZGF0ZXMgZm9yIHRoZSBIUEUgTm9uU3RvcCBwbGF0Zm9ybS4KKworICogRWFybGllciB3ZSBhZGRlZCAiLVdmb3JtYXQtc2VjdXJpdHkiIHRvIGRldmVsb3BlciBidWlsZHMsIGFzc3VtaW5nCisgICB0aGF0ICItV2FsbCIgKHdoaWNoIGluY2x1ZGVzICItV2Zvcm1hdCIgd2hpY2ggaW4gdHVybiBpcyByZXF1aXJlZAorICAgdG8gdXNlICItV2Zvcm1hdC1zZWN1cml0eSIpIGlzIGFsd2F5cyBpbiBlZmZlY3QuICBUaGlzIGlzIG5vdCB0cnVlCisgICB3aGVuIGNvbmZpZy5tYWsuYXV0b2dlbiBpcyBpbiB1c2UsIHVuZm9ydHVuYXRlbHkuICBUaGlzIGhhcyBiZWVuCisgICBmaXhlZCBieSB1bmNvbmRpdGlvbmFsbHkgYWRkaW5nICItV2FsbCIgdG8gZGV2ZWxvcGVyIGJ1aWxkcy4KKworICogVGhlIGxvb3NlIG9iamVjdCBjYWNoZSB1c2VkIHRvIG9wdGltaXplIGV4aXN0ZW5jZSBsb29rLXVwIGhhcyBiZWVuCisgICB1cGRhdGVkLgorCisgKiBGbGFreSB0ZXN0cyBjYW4gbm93IGJlIHJlcGVhdGVkbHkgcnVuIHVuZGVyIGxvYWQgd2l0aCB0aGUKKyAgICItLXN0cmVzcyIgb3B0aW9uLgorCisgKiBEb2N1bWVudGF0aW9uL01ha2VmaWxlIGlzIGdldHRpbmcgcHJlcGFyZWQgZm9yIG1hbnBhZ2UKKyAgIGxvY2FsaXphdGlvbi4KKworICogImdpdCBmZXRjaC1wYWNrIiBub3cgY2FuIHRhbGsgdGhlIHZlcnNpb24gMiBwcm90b2NvbC4KKworICogc2hhLTI1NiBoYXNoIGhhcyBiZWVuIGFkZGVkIGFuZCBwbHVtYmVkIHRocm91Z2ggdGhlIGNvZGUgdG8gYWxsb3cKKyAgIGJ1aWxkaW5nIEdpdCB3aXRoIHRoZSAiTmV3SGFzaCIuCisKKyAqIERlYnVnZ2luZyBoZWxwIGZvciBodHRwIHRyYW5zcG9ydC4KKworICogImdpdCBmZXRjaCAtLWRlZXBlbj08bW9yZT4iIGhhcyBiZWVuIGNvcnJlY3RlZCB0byB3b3JrIG92ZXIgdjIKKyAgIHByb3RvY29sLgorCisgKiBUaGUgY29kZSB0byB3YWxrIHRyZWUgb2JqZWN0cyBoYXMgYmVlbiB0YXVnaHQgdGhhdCB3ZSBtYXkgYmUKKyAgIHdvcmtpbmcgd2l0aCBvYmplY3QgbmFtZXMgdGhhdCBhcmUgbm90IGNvbXB1dGVkIHdpdGggU0hBLTEuCisKKyAqIFRoZSBpbi1jb3JlIHJlcG9zaXRvcnkgaW5zdGFuY2VzIGFyZSBwYXNzZWQgdGhyb3VnaCBtb3JlIGNvZGVwYXRocy4KKworICogVXBkYXRlIHRoZSBwcm90b2NvbCBtZXNzYWdlIHNwZWNpZmljYXRpb24gdG8gYWxsb3cgb25seSB0aGUgbGltaXRlZAorICAgdXNlIG9mIHNjYWxlZCBxdWFudGl0aWVzLiAgVGhpcyBpcyB0byBlbnN1cmUgcG90ZW50aWFsIGNvbXBhdGliaWxpdHkKKyAgIGlzc3VlcyB3aWxsIG5vdCBnZXQgb3V0IG9mIGhhbmQuCisKKyAqIE1pY3JvLW9wdGltaXplIHRoZSBjb2RlIHRoYXQgcHJlcGFyZXMgY29tbWl0IG9iamVjdHMgdG8gYmUgd2Fsa2VkCisgICBieSAiZ2l0IHJldi1saXN0IiB3aGVuIHRoZSBjb21taXQtZ3JhcGggaXMgYXZhaWxhYmxlLgorCisgKiAiZ2l0IGZldGNoIiBhbmQgImdpdCB1cGxvYWQtcGFjayIgbGVhcm5lZCB0byBzZW5kIGFsbCBleGNoYW5nZXMgb3ZlcgorICAgdGhlIHNpZGViYW5kIGNoYW5uZWwgd2hpbGUgdGFsa2luZyB0aGUgdjIgcHJvdG9jb2wuCisKKyAqIFRoZSBjb2RlcGF0aCB0byB3cml0ZSBvdXQgY29tbWl0LWdyYXBoIGhhcyBiZWVuIG9wdGltaXplZCBieQorICAgZm9sbG93aW5nIHRoZSB1c3VhbCBwYXR0ZXJuIG9mIHZpc2l0aW5nIG9iamVjdHMgaW4gaW4tcGFjayBvcmRlci4KKworICogVGhlIGNvZGVwYXRoIHRvIHNob3cgcHJvZ3Jlc3MgbWV0ZXIgd2hpbGUgd3JpdGluZyBvdXQgY29tbWl0LWdyYXBoCisgICBmaWxlIGhhcyBiZWVuIGltcHJvdmVkLgorCisgKiBDb2NjaSBydWxlcyBoYXZlIGJlZW4gdXBkYXRlZCB0byBlbmNvdXJhZ2UgdXNlIG9mIHN0cmJ1Zl9hZGRidWYoKS4KKworICogImdpdCByZWJhc2UgLS1tZXJnZSIgaGFzIGJlZW4gcmVpbXBsZW1lbnRlZCBieSByZXVzaW5nIHRoZSBpbnRlcm5hbAorICAgbWFjaGluZXJ5IHVzZWQgZm9yICJnaXQgcmViYXNlIC1pIi4KKworICogTW9yZSBjb2RlIGluICJnaXQgYmlzZWN0IiBoYXMgYmVlbiByZXdyaXR0ZW4gaW4gQy4KKworICogSW5zdGVhZCBvZiBnb2luZyB0aHJvdWdoICJnaXQtcmViYXNlLS1hbSIgc2NyaXB0bGV0IHRvIHVzZSB0aGUgImFtIgorICAgYmFja2VuZCwgdGhlIGJ1aWx0LWluIHZlcnNpb24gb2YgImdpdCByZWJhc2UiIGxlYXJuZWQgdG8gZHJpdmUgdGhlCisgICAiYW0iIGJhY2tlbmQgZGlyZWN0bHkuCisKKyAqIFRoZSBhc3N1bXB0aW9uIHRvIHdvcmsgb24gdGhlIHNpbmdsZSAiaW4tY29yZSBpbmRleCIgaW5zdGFuY2UgaGFzCisgICBiZWVuIHJlZHVjZWQgZnJvbSB0aGUgbGlicmFyeS1pc2ggcGFydCBvZiB0aGUgY29kZWJhc2UuCisKKyAqIFRoZSB0ZXN0IGxpbnQgbGVhcm5lZCB0byBjYXRjaCBub24tcG9ydGFibGUgInNlZCIgb3B0aW9ucy4KKworICogImdpdCBwYWNrLW9iamVjdHMiIGxlYXJuZWQgYW5vdGhlciBhbGdvcml0aG0gdG8gY29tcHV0ZSB0aGUgc2V0IG9mCisgICBvYmplY3RzIHRvIHNlbmQsIHRoYXQgdHJhZGVzIHRoZSByZXN1bHRpbmcgcGFja2ZpbGUgb2ZmIHRvIHNhdmUKKyAgIHRyYXZlcnNhbCBjb3N0IHRvIGZhdm9yIHNtYWxsIHB1c2hlcy4KKworICogVGhlIHRyYXZpcyBDSSBzY3JpcHRzIGhhdmUgYmVlbiBjb3JyZWN0ZWQgdG8gYnVpbGQgR2l0IHdpdGggdGhlCisgICBjb21waWxlcihzKSBvZiBvdXIgY2hvaWNlLgorCisgKiAiZ2l0IHN1Ym1vZHVsZSB1cGRhdGUiIGxlYXJuZWQgdG8gYWJvcnQgZWFybHkgd2hlbiBjb3JlLndvcmt0cmVlCisgICBmb3IgdGhlIHN1Ym1vZHVsZSBpcyBub3Qgc2V0IGNvcnJlY3RseSB0byBwcmV2ZW50IHNwcmVhZGluZyBkYW1hZ2UuCisKKyAqIFRlc3Qgc3VpdGUgaGFzIGJlZW4gYWRqdXN0ZWQgdG8gcnVuIG9uIEF6dXJlIFBpcGVsaW5lLgorCisgKiBSdW5uaW5nICJEb2N1bWVudGF0aW9uL2RvYy1kaWZmIHgiIGZyb20gYW55d2hlcmUgb3RoZXIgdGhhbiB0aGUKKyAgIHRvcC1sZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlIGRpZCBub3Qgc2hvdyB0aGUgdXNhZ2Ugc3RyaW5nCisgICBjb3JyZWN0bHksIHdoaWNoIGhhcyBiZWVuIGZpeGVkLgorCisgKiBVc2Ugb2YgdGhlIHNwYXJzZSB0b29sIGdvdCBlYXNpZXIgdG8gY3VzdG9taXplIGZyb20gdGhlIGNvbW1hbmQKKyAgIGxpbmUgdG8gaGVscCBkZXZlbG9wZXJzLgorCisgKiBBIG5ldyB0YXJnZXQgImNvdmVyYWdlLXByb3ZlIiB0byBydW4gdGhlIGNvdmVyYWdlIHRlc3QgdW5kZXIKKyAgICJwcm92ZSIgaGFzIGJlZW4gYWRkZWQuCisKKyAqIEEgZmxha2V5ICJwNCIgdGVzdCBoYXMgYmVlbiByZW1vdmVkLgorCisgKiBUaGUgY29kZSBhbmQgdGVzdHMgYXNzdW1lIHRoYXQgdGhlIHN5c3RlbSBzdXBwbGllZCBpY29udigpIHdvdWxkCisgICBhbHdheXMgdXNlIEJPTSBpbiBpdHMgb3V0cHV0IHdoZW4gYXNrZWQgdG8gZW5jb2RlIHRvIFVURi0xNiAob3IKKyAgIFVURi0zMiksIGJ1dCBhcHBhcmVudGx5IHNvbWUgaW1wbGVtZW50YXRpb25zIG91dHB1dCBiaWctZW5kaWFuCisgICB3aXRob3V0IEJPTS4gIEEgY29tcGlsZS10aW1lIGtub2IgaGFzIGJlZW4gYWRkZWQgdG8gaGVscCBzdWNoCisgICBzeXN0ZW1zIChlLmcuIE5vblN0b3ApIHRvIGFkZCBCT00gdG8gdGhlIG91dHB1dCB0byBpbmNyZWFzZQorICAgcG9ydGFiaWxpdHkuCisKKworRml4ZXMgc2luY2UgdjIuMjAKKy0tLS0tLS0tLS0tLS0tLS0tCisKKyAqIFVwZGF0ZXMgZm9yIGNvcm5lciBjYXNlcyBpbiBtZXJnZS1yZWN1cnNpdmUuCisgICAobWVyZ2UgY2M0Y2IwOTAyYyBlbi9tZXJnZS1wYXRoLWNvbGxpc2lvbiBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgY2hlY2tvdXQgZnJvdHoiICh3aXRob3V0IGFueSBkb3VibGUtZGFzaCkgYXZvaWRzIGFtYmlndWl0eSBieQorICAgbWFraW5nIHN1cmUgJ2Zyb3R6JyBjYW5ub3QgYmUgaW50ZXJwcmV0ZWQgYXMgYSByZXZpc2lvbiBhbmQgYXMgYQorICAgcGF0aCBhdCB0aGUgc2FtZSB0aW1lLiAgVGhpcyBzYWZldHkgaGFzIGJlZW4gdXBkYXRlZCB0byBjaGVjayBhbHNvCisgICBhIHVuaXF1ZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdmcm90eicgaW4gYSByZW1vdGUsIHdoZW4gZHdpbW1pbmcKKyAgIHRvIGNyZWF0ZSBhIGxvY2FsIGJyYW5jaCAnZnJvdHonIG91dCBvZiBhIHJlbW90ZS10cmFja2luZyBicmFuY2gKKyAgICdmcm90eicgZnJvbSBhIHJlbW90ZS4KKyAgIChtZXJnZSBiZTQ5MDhmMTAzIG5kL2NoZWNrb3V0LWR3aW0tZml4IGxhdGVyIHRvIG1haW50KS4KKworICogUmVmc3BlY3MgY29uZmlndXJlZCB3aXRoICJnaXQgLWMgdmFyPXZhbCBjbG9uZSIgZGlkIG5vdCBwcm9wYWdhdGUKKyAgIHRvIHRoZSByZXN1bHRpbmcgcmVwb3NpdG9yeSwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorICAgKG1lcmdlIDdlYWU0YTNhYzQgc2cvY2xvbmUtaW5pdGlhbC1mZXRjaC1jb25maWd1cmF0aW9uIGxhdGVyIHRvIG1haW50KS4KKworICogQSBwcm9wZXJseSBjb25maWd1cmVkIHVzZXJuYW1lL2VtYWlsIGlzIHJlcXVpcmVkIHVuZGVyCisgICB1c2VyLnVzZUNvbmZpZ09ubHkgaW4gb3JkZXIgdG8gY3JlYXRlIGNvbW1pdHM7IG5vdyAiZ2l0IHN0YXNoIgorICAgKGV2ZW4gdGhvdWdoIGl0IGNyZWF0ZXMgY29tbWl0IG9iamVjdHMgdG8gcmVwcmVzZW50IHN0YXNoIGVudHJpZXMpCisgICBjb21tYW5kIGlzIGV4ZW1wdCBmcm9tIHRoZSByZXF1aXJlbWVudC4KKyAgIChtZXJnZSAzYmMyMTExZmMyIHNkL3N0YXNoLXdvLXVzZXItbmFtZSBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBodHRwLWJhY2tlbmQgQ0dJIHByb2Nlc3MgZGlkIG5vdCBjb3JyZWN0bHkgY2xlYW4gdXAgdGhlIGNoaWxkCisgICBwcm9jZXNzZXMgaXQgc3Bhd25zIHRvIHJ1biB1cGxvYWQtcGFjayBldGMuIHdoZW4gaXQgZGllcyBpdHNlbGYsCisgICB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgMDI4MThhOThkNyBtay9odHRwLWJhY2tlbmQta2lsbC1jaGlsZHJlbi1iZWZvcmUtZXhpdCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgcmV2LWxpc3QgLS1leGNsdWRlLXByb21pc29yLW9iamVjdHMiIGhhZCB0byB0YWtlIGFuIG9iamVjdAorICAgdGhhdCBkb2VzIG5vdCBleGlzdCBsb2NhbGx5IChhbmQgaXMgbGF6aWx5IGF2YWlsYWJsZSkgZnJvbSB0aGUKKyAgIGNvbW1hbmQgbGluZSB3aXRob3V0IGJhcmZpbmcsIGJ1dCB0aGUgY29kZSBkZXJlZmVyZW5jZWQgTlVMTC4KKyAgIChtZXJnZSA0Y2Y2Nzg2OWIyIG1kL2xpc3QtbGF6eS1vYmplY3RzLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSB0cmF2ZXJzYWwgb3ZlciB0cmVlIG9iamVjdHMgaGFzIGxlYXJuZWQgdG8gaG9ub3IKKyAgICI6KGF0dHI6bGFiZWwpIiBwYXRoc3BlYyBtYXRjaCwgd2hpY2ggaGFzIGJlZW4gaW1wbGVtZW50ZWQgb25seSBmb3IKKyAgIGVudW1lcmF0aW5nIHBhdGhzIG9uIHRoZSBmaWxlc3lzdGVtLgorICAgKG1lcmdlIDVhMGI5N2IzNGMgbmQvYXR0ci1wYXRoc3BlYy1pbi10cmVlLXdhbGsgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBCU0QgcG9ydCB1cGRhdGVzLgorICAgKG1lcmdlIDRlM2VjYmQ0MzkgY2Ivb3BlbmJzZC1hbGxvd3MtcmVhZGluZy1kaXJlY3RvcnkgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGI2YmRjMmEwZjUgY2IvdDUwMDQtZW1wdHktdGFyLWFyY2hpdmUtZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA4MmNiYzhjZGUyIGNiL3Rlc3QtbGludC1jcC1hIGxhdGVyIHRvIG1haW50KS4KKworICogTGluZXMgdGhhdCBiZWdpbiB3aXRoIGEgY2VydGFpbiBrZXl3b3JkIHRoYXQgY29tZSBvdmVyIHRoZSB3aXJlLCBhcworICAgd2VsbCBhcyBsaW5lcyB0aGF0IGNvbnNpc3Qgb25seSBvZiBvbmUgb2YgdGhlc2Uga2V5d29yZHMsIG91Z2h0IHRvCisgICBiZSBwYWludGVkIGluIGNvbG9yIGZvciBlYXNpZXIgZXllYmFsbGluZywgYnV0IHRoZSBsYXR0ZXIgd2FzCisgICBicm9rZW4gZXZlciBzaW5jZSB0aGUgZmVhdHVyZSB3YXMgaW50cm9kdWNlZCBpbiAyLjE5LCB3aGljaCBoYXMKKyAgIGJlZW4gY29ycmVjdGVkLgorICAgKG1lcmdlIDFmNjcyOTA0NTAgaG4vaGlnaGxpZ2h0LXNpZGViYW5kLWtleXdvcmRzIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBsb2cgLUc8cmVnZXg+IiBsb29rZWQgZm9yIGEgaHVuayBpbiB0aGUgImdpdCBsb2cgLXAiIHBhdGNoCisgICBvdXRwdXQgdGhhdCBjb250YWluZWQgYSBzdHJpbmcgdGhhdCBtYXRjaGVzIHRoZSBnaXZlbiBwYXR0ZXJuLgorICAgT3B0aW1pemUgdGhpcyBjb2RlIHRvIGlnbm9yZSBiaW5hcnkgZmlsZXMsIHdoaWNoIGJ5IGRlZmF1bHQgd2lsbAorICAgbm90IHNob3cgYW55IGh1bmsgdGhhdCB3b3VsZCBtYXRjaCBhbnkgcGF0dGVybiAodW5sZXNzIHRleHRjb252IG9yCisgICB0aGUgLS10ZXh0IG9wdGlvbiBpcyBpbiBlZmZlY3QsIHRoYXQgaXMpLgorICAgKG1lcmdlIGUwZTdjYjgwODAgdGIvbG9nLUctYmluYXJ5IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBzdWJtb2R1bGUgdXBkYXRlIiBvdWdodCB0byB1c2UgYSBzaW5nbGUgam9iIHVubGVzcyBhc2tlZCwgYnV0CisgICBieSBtaXN0YWtlIHVzZWQgbXVsdGlwbGUgam9icywgd2hpY2ggaGFzIGJlZW4gZml4ZWQuCisgICAobWVyZ2UgZTNhOWQxYWNhOSBzYi9zdWJtb2R1bGUtZmV0Y2hqb2JzLWRlZmF1bHQtdG8tb25lIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBzdHJpcHNwYWNlIiBzaG91bGQgYmUgdXNhYmxlIG91dHNpZGUgYSBnaXQgcmVwb3NpdG9yeSwgYnV0CisgICB1bmRlciB0aGUgIi1zIiBvciAiLWMiIG1vZGUsIGl0IGRpZG4ndC4KKyAgIChtZXJnZSA5NTdkYTc1ODAyIGpuL3N0cmlwc3BhY2Utd28tcmVwb3NpdG9yeSBsYXRlciB0byBtYWludCkuCisKKyAqIFNvbWUgb2YgdGhlIGRvY3VtZW50YXRpb24gcGFnZXMgZm9ybWF0dGVkIGluY29ycmVjdGx5IHdpdGgKKyAgIEFzY2lpZG9jdG9yLCB3aGljaCBoYXZlIGJlZW4gZml4ZWQuCisgICAobWVyZ2UgYjYyZWIxZDJmNCBtYS9hc2NpaWRvY3RvciBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBjb3JlLndvcmt0cmVlIHNldHRpbmcgaW4gYSBzdWJtb2R1bGUgcmVwb3NpdG9yeSBzaG91bGQgbm90IGJlCisgICBwb2ludGluZyBhdCBhIGRpcmVjdG9yeSB3aGVuIHRoZSBzdWJtb2R1bGUgbG9zZXMgaXRzIHdvcmtpbmcgdHJlZQorICAgKGUuZy4gZ2V0dGluZyBkZWluaXQnZWQpLCBidXQgdGhlIGNvZGUgZGlkIG5vdCBwcm9wZXJseSBtYWludGFpbgorICAgdGhpcyBpbnZhcmlhbnQuCisKKyAqIFdpdGggenNoLCAiZ2l0IGNtZCBwYXRoPFRBQj4iIHdhcyBjb21wbGV0ZWQgdG8gImdpdCBjbWQgcGF0aCBuYW1lIgorICAgd2hlbiB0aGUgY29tcGxldGVkIHBhdGggaGFzIGEgc3BlY2lhbCBjaGFyYWN0ZXIgbGlrZSBTUCBpbiBpdCwKKyAgIHdpdGhvdXQgYW55IGF0dGVtcHQgdG8ga2VlcCAicGF0aCBuYW1lIiBhIHNpbmdsZSBmaWxlbmFtZS4gIFRoaXMKKyAgIGhhcyBiZWVuIGZpeGVkIHRvIGNvbXBsZXRlIGl0IHRvICJnaXQgY21kIHBhdGhcIG5hbWUiIGp1c3QgbGlrZQorICAgQmFzaCBjb21wbGV0aW9uIGRvZXMuCisKKyAqIFRoZSB0ZXN0IHN1aXRlIHRyaWVkIHRvIHNlZSBpZiBpdCBpcyBydW4gdW5kZXIgYmFzaCwgYnV0IHRoZSBjaGVjaworICAgaXRzZWxmIGZhaWxlZCB1bmRlciBzb21lIG90aGVyIGltcGxlbWVudGF0aW9ucyBvZiBzaGVsbCAobm90YWJseQorICAgdW5kZXIgTmV0QlNEKS4gIFRoaXMgaGFzIGJlZW4gY29ycmVjdGVkLgorICAgKG1lcmdlIDU0ZWE3MmYwOWMgc2cvdGVzdC1iYXNoLXZlcnNpb24tZml4IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBnYyIgYW5kICJnaXQgcmVwYWNrIiBkaWQgbm90IGNsb3NlIHRoZSBvcGVuIHBhY2tmaWxlcyB0aGF0CisgICB0aGV5IGZvdW5kIHVubmVlZGVkIGJlZm9yZSByZW1vdmluZyB0aGVtLCB3aGljaCBkaWRuJ3Qgd29yayBvbiBhCisgICBwbGF0Zm9ybSBpbmNhcGFibGUgb2YgcmVtb3ZpbmcgYW4gb3BlbiBmaWxlLiAgVGhpcyBoYXMgYmVlbgorICAgY29ycmVjdGVkLgorICAgKG1lcmdlIDViZGVjZTBkNzAganMvZ2MtcmVwYWNrLWNsb3NlLWJlZm9yZS1yZW1vdmUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGUgY29kZSB0byBkcml2ZSBHSVRfRVhURVJOQUxfRElGRiBjb21tYW5kIHJlbGllZCBvbiB0aGUgc3RyaW5nCisgICByZXR1cm5lZCBmcm9tIGdldGVudigpIHRvIGJlIG5vbi12b2xhdGlsZSwgd2hpY2ggaXMgbm90IHRydWUsIHRoYXQKKyAgIGhhcyBiZWVuIGNvcnJlY3RlZC4KKyAgIChtZXJnZSA2Nzc2YTg0ZGFlIGtnL2V4dGVybmFsLWRpZmYtc2F2ZS1lbnYgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGVyZSB3ZXJlIG1hbnkgcGxhY2VzIHRoZSBjb2RlIHJlbGllZCBvbiB0aGUgc3RyaW5nIHJldHVybmVkIGZyb20KKyAgIGdldGVudigpIHRvIGJlIG5vbi12b2xhdGlsZSwgd2hpY2ggaXMgbm90IHRydWUsIHRoYXQgaGF2ZSBiZWVuCisgICBjb3JyZWN0ZWQuCisgICAobWVyZ2UgMGRhMGU5MjY4YiBqay9zYXZlLWdldGVudi1yZXN1bHQgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGUgdjIgdXBsb2FkLXBhY2sgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24gZmFpbGVkIHRvIGhvbm9yCisgICBoaWRkZW4tcmVmIGNvbmZpZ3VyYXRpb24sIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKyAgIChtZXJnZSBlMjBiNDE5MmEzIGprL3Byb3RvLXYyLWhpZGRlbi1yZWZzLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgZmV0Y2ggLS1yZWN1cnNlLXN1Ym1vZHVsZXMiIG1heSBub3QgZmV0Y2ggdGhlIG5lY2Vzc2FyeSBjb21taXQKKyAgIHRoYXQgaXMgYm91bmQgdG8gdGhlIHN1cGVycHJvamVjdCwgd2hpY2ggaXMgZ2V0dGluZyBjb3JyZWN0ZWQuCisgICAobWVyZ2UgYmU3NmMyMTI4MiBzYi9zdWJtb2R1bGUtcmVjdXJzaXZlLWZldGNoLWdldHMtdGhlLXRpcCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgcmViYXNlIiBpbnRlcm5hbGx5IHJ1bnMgImNoZWNrb3V0IiB0byBzd2l0Y2ggYmV0d2VlbiBicmFuY2hlcywKKyAgIGFuZCB0aGUgY29tbWFuZCB1c2VkIHRvIGNhbGwgdGhlIHBvc3QtY2hlY2tvdXQgaG9vaywgYnV0IHRoZQorICAgcmVpbXBsZW1lbnRhdGlvbiBzdG9wcGVkIGRvaW5nIHNvLCB3aGljaCBpcyBnZXR0aW5nIGZpeGVkLgorCisgKiAiZ2l0IGFkZCAtZSIgZ290IGNvbmZ1c2VkIHdoZW4gdGhlIGNoYW5nZSBpdCB3YW50cyB0byBsZXQgdGhlIHVzZXIKKyAgIGVkaXQgaXMgc21hbGxlciB0aGFuIHRoZSBwcmV2aW91cyBjaGFuZ2UgdGhhdCB3YXMgbGVmdCBvdmVyIGluIGEKKyAgIHRlbXBvcmFyeSBmaWxlLgorICAgKG1lcmdlIGZhNmYyMjVlMDEganMvYWRkLWUtY2xlYXItcGF0Y2gtYmVmb3JlLXN0YXRpbmcgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IHA0IiBmYWlsZWQgdG8gdXBkYXRlIGEgc2hlbHZlZCBjaGFuZ2Ugd2hlbiB0aGVyZSB3ZXJlIG1vdmVkCisgICBmaWxlcywgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorICAgKG1lcmdlIDdhMTA5NDZhYjkgbGQvZ2l0LXA0LXNoZWx2ZS11cGRhdGUtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIGNvZGVwYXRoIHRvIHJlYWQgZnJvbSB0aGUgY29tbWl0LWdyYXBoIGZpbGUgYXR0ZW1wdGVkIHRvIHJlYWQKKyAgIHBhc3QgdGhlIGVuZCBvZiBpdCB3aGVuIHRoZSBmaWxlJ3MgdGFibGUtb2YtY29udGVudHMgd2FzIGNvcnJ1cHQuCisKKyAqIFRoZSBjb21wYXQvb2JzdGFjayBjb2RlIGhhZCBjYXN0cyB0aGF0IC1XY2FzdC1mdW5jdGlvbi10eXBlCisgICBjb21waWxhdGlvbiBvcHRpb24gZm91bmQgcXVlc3Rpb25hYmxlLgorICAgKG1lcmdlIDc2NDQ3M2QyNTcgc2cvb2JzdGFjay1jYXN0LWZ1bmN0aW9uLXR5cGUtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogQW4gb2J2aW91cyB0eXBvIGluIGFuIGFzc2VydGlvbiBlcnJvciBtZXNzYWdlIGhhcyBiZWVuIGZpeGVkLgorICAgKG1lcmdlIDNjMjdlMmUwNTkgY2MvdGVzdC1yZWYtc3RvcmUtdHlwb2ZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIEluIEdpdCBmb3IgV2luZG93cywgImdpdCBjbG9uZSBcXHNlcnZlclxzaGFyZVxwYXRoIiBldGMuIHRoYXQgdXNlcworICAgVU5DIHBhdGhzIGZyb20gY29tbWFuZCBsaW5lIGhhZCBiYWQgaW50ZXJhY3Rpb24gd2l0aCBpdHMgc2hlbGwKKyAgIGVtdWxhdGlvbi4KKworICogImdpdCBhZGQgLS1pZ25vcmUtZXJyb3JzIiBkaWQgbm90IHdvcmsgYXMgYWR2ZXJ0aXNlZCBhbmQgaW5zdGVhZAorICAgd29ya2VkIGFzIGFuIHVuaW50ZW5kZWQgc3lub255bSBmb3IgImdpdCBhZGQgLS1yZW5vcm1hbGl6ZSIsIHdoaWNoCisgICBoYXMgYmVlbiBmaXhlZC4KKyAgIChtZXJnZSBlMmMyYTM3NTQ1IGprL2FkZC1pZ25vcmUtZXJyb3JzLWJpdC1hc3NpZ25tZW50LWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIE9uIGEgY2FzZS1pbnNlbnNpdGl2ZSBmaWxlc3lzdGVtLCB3ZSBmYWlsZWQgdG8gY29tcGFyZSB0aGUgcGFydCBvZgorICAgdGhlIHBhdGggdGhhdCBpcyBhYm92ZSB0aGUgd29ya3RyZWUgZGlyZWN0b3J5IGluIGFuIGFic29sdXRlCisgICBwYXRobmFtZSwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBBc2tpbmcgImdpdCBjaGVjay1hdHRyIiBhYm91dCBhIG1hY3JvIChlLmcuICJiaW5hcnkiKSBvbiBhIHNwZWNpZmljCisgICBwYXRoIGRpZCBub3Qgd29yayBjb3JyZWN0bHksIGV2ZW4gdGhvdWdoICJnaXQgY2hlY2stYXR0ciAtYSIgbGlzdGVkCisgICBzdWNoIGEgbWFjcm8gY29ycmVjdGx5LiAgVGhpcyBoYXMgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgN2I5NTg0OWJlNCBqay9hdHRyLW1hY3JvLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgcGFjay1vYmplY3RzIiBpbmNvcnJlY3RseSB1c2VkIHVuaW5pdGlhbGl6ZWQgbXV0ZXgsIHdoaWNoIGhhcworICAgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgZWRiNjczY2YxMCBwaC9wYWNrLW9iamVjdHMtbXV0ZXgtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBjaGVja291dCAtYiA8bmV3PiBbSEVBRF0iIHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggZnJvbSB0aGUKKyAgIGN1cnJlbnQgY29tbWl0IGFuZCBjaGVjayBpdCBvdXQgb3VnaHQgdG8gYmUgYSBuby1vcCBpbiB0aGUgaW5kZXgKKyAgIGFuZCB0aGUgd29ya2luZyB0cmVlIGluIG5vcm1hbCBjYXNlcywgYnV0IHRoZXJlIGFyZSBjb3JuZXIgY2FzZXMKKyAgIHRoYXQgZG8gcmVxdWlyZSB1cGRhdGVzIHRvIHRoZSBpbmRleCBhbmQgdGhlIHdvcmtpbmcgdHJlZS4gIFJ1bm5pbmcKKyAgIGl0IGltbWVkaWF0ZWx5IGFmdGVyICJnaXQgY2xvbmUgLS1uby1jaGVja291dCIgaXMgb25lIG9mIHRoZXNlCisgICBjYXNlcyB0aGF0IGFuIGVhcmxpZXIgb3B0aW1pemF0aW9uIGtpY2tlZCBpbiBpbmNvcnJlY3RseSwgd2hpY2ggaGFzCisgICBiZWVuIGZpeGVkLgorICAgKG1lcmdlIDg0MjRiZmQ0NWIgYnAvY2hlY2tvdXQtbmV3LWJyYW5jaC1vcHRpbSBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgZGlmZiAtLWNvbG9yLW1vdmVkIC0tY2MgLS1zdGF0IC1wIiBkaWQgbm90IHdvcmsgd2VsbCBkdWUgdG8KKyAgIGZ1bm55IGludGVyYWN0aW9uIGJldHdlZW4gYSBidWcgaW4gY29sb3ItbW92ZWQgYW5kIHRoZSByZXN0LCB3aGljaAorICAgaGFzIGJlZW4gZml4ZWQuCisgICAobWVyZ2UgZGFjMDNiNTUxOCBqay9kaWZmLWNjLXN0YXQtZml4ZXMgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBXaGVuIEdJVF9TRVFVRU5DRV9FRElUT1IgaXMgc2V0LCB0aGUgY29tbWFuZCB3YXMgaW5jb3JyZWN0bHkKKyAgIHN0YXJ0ZWQgd2hlbiBtb2RlcyBvZiAiZ2l0IHJlYmFzZSIgdGhhdCBpbXBsaWNpdGx5IHVzZXMgdGhlCisgICBtYWNoaW5lcnkgZm9yIHRoZSBpbnRlcmFjdGl2ZSByZWJhc2UgYXJlIHJ1biwgd2hpY2ggaGFzIGJlZW4KKyAgIGNvcnJlY3RlZC4KKyAgIChtZXJnZSA4OTFkNGEwMzEzIHB3L25vLWVkaXRvci1pbi1yZWJhc2UtaS1pbXBsaWNpdCBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBjb21taXQtZ3JhcGggZmFjaWxpdHkgZGlkIG5vdCB3b3JrIHdoZW4gaW4tY29yZSBvYmplY3RzIHRoYXQKKyAgIGFyZSBwcm9tb3RlZCBmcm9tIHVua25vd24gdHlwZSB0byBjb21taXQgKGUuZy4gYSBjb21taXQgdGhhdCBpcworICAgYWNjZXNzZWQgdmlhIGEgdGFnIHRoYXQgcmVmZXJzIHRvIGl0KSB3ZXJlIGludm9sdmVkLCB3aGljaCBoYXMgYmVlbgorICAgY29ycmVjdGVkLgorICAgKG1lcmdlIDQ0NjhkNDQzNWMgc2cvb2JqZWN0LWFzLXR5cGUtY29tbWl0LWdyYXBoLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgZmV0Y2giIG91dHB1dCBjbGVhbnVwLgorICAgKG1lcmdlIGRjNDBiMjRkZjQgbmQvZmV0Y2gtY29tcGFjdC11cGRhdGUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGNhdC1maWxlIC0tYmF0Y2giIHJlcG9ydGVkIGEgZGFuZ2xpbmcgc3ltYm9saWMgbGluayBieQorICAgbWlzdGFrZSwgd2hlbiBpdCB3YW50ZWQgdG8gcmVwb3J0IHRoYXQgYSBnaXZlbiBuYW1lIGlzIGFtYmlndW91cy4KKworICogRG9jdW1lbnRhdGlvbiBhcm91bmQgY29yZS5jcmxmIGhhcyBiZWVuIHVwZGF0ZWQuCisgICAobWVyZ2UgYzk0NDZmMDUwNCBqay9hdXRvY3JsZi1vdmVycmlkZXMtZW9sLWRvYyBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBkb2N1bWVudGF0aW9uIG9mICJnaXQgY29tbWl0LXRyZWUiIHNhaWQgdGhhdCB0aGUgY29tbWFuZAorICAgdW5kZXJzdGFuZHMgIi0tZ3BnLXNpZ24iIGluIGFkZGl0aW9uIHRvICItUyIsIGJ1dCB0aGUgY29tbWFuZCBsaW5lCisgICBwYXJzZXIgZGlkIG5vdCBrbm93IGFib3V0IHRoZSBsb25naGFuZCwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiAiZ2l0IHJlYmFzZSAteCAkY21kIiBkaWQgbm90IHJlamVjdCBtdWx0aS1saW5lIGNvbW1hbmQsIGV2ZW4gdGhvdWdoCisgICB0aGUgY29tbWFuZCBpcyBpbmNhcGFibGUgb2YgaGFuZGxpbmcgc3VjaCBhIGNvbW1hbmQuICBJdCBub3cgaXMKKyAgIHJlamVjdGVkIHVwZnJvbnQuCisgICAobWVyZ2UgYzc2MmFhZGExYSBwdy9yZWJhc2UteC1zYW5pdHktY2hlY2sgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBPdXRwdXQgZnJvbSAiZ2l0IGhlbHAiIHdhcyBub3QgY29ycmVjdGx5IGFsaWduZWQsIHdoaWNoIGhhcyBiZWVuCisgICBmaXhlZC4KKyAgIChtZXJnZSA2MTk1YTc2ZGE0IG5kL2hlbHAtYWxpZ24tY29tbWFuZC1kZXNjIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlICJnaXQgc3VibW9kdWxlIHN1bW1hcnkiIHN1YmNvbW1hbmQgc2hvd2VkIHNob3J0ZW5lZCBjb21taXQKKyAgIG9iamVjdCBuYW1lcyBieSBtZWNoYW5pY2FsbHkgdHJ1bmNhdGluZyB0aGVtIGF0IDctaGV4ZGlnaXQsIHdoaWNoCisgICBoYXMgYmVlbiBpbXByb3ZlZCB0byBsZXQgInJldi1wYXJzZSAtLXNob3J0IiBzY2FsZSB0aGUgbGVuZ3RoIG9mCisgICB0aGUgYWJicmV2aWF0aW9uIHdpdGggdGhlIHNpemUgb2YgdGhlIHJlcG9zaXRvcnkuCisgICAobWVyZ2UgMDU4NmE0MzhmNiBzaC9zdWJtb2R1bGUtc3VtbWFyeS1hYmJyZXYtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIHdheSB0aGUgT1NYIGJ1aWxkIGpvYnMgdXBkYXRlcyBpdHMgYnVpbGQgZW52aXJvbm1lbnQgdXNlZCB0aGUKKyAgICItLXF1aWV0IiBvcHRpb24gdG8gImJyZXcgdXBkYXRlIiBjb21tYW5kLCBidXQgaXQgd2Fzbid0IGFsbCB0aGF0CisgICBxdWlldCB0byBiZSB1c2VmdWwuICBUaGUgdXNlIG9mIHRoZSBvcHRpb24gaGFzIGJlZW4gcmVwbGFjZWQgd2l0aAorICAgYW4gZXhwbGljaXQgcmVkaXJlY3Rpb24gdG8gdGhlIC9kZXYvbnVsbCAod2hpY2ggaW5jaWRlbnRhbGx5IHdvdWxkCisgICBoYXZlIHdvcmtlZCBhcm91bmQgYSBicmVha2FnZSBieSByZWNlbnQgdXBkYXRlcyB0byBob21lYnJldywgd2hpY2gKKyAgIGhhcyBmaXhlZCBpdHNlbGYgYWxyZWFkeSkuCisgICAobWVyZ2UgYTFjY2FlZGQ2MiBzZy90cmF2aXMtb3N4LWJyZXctYnJlYWthZ2Utd29ya2Fyb3VuZCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgLS13b3JrLXRyZWU9JHRoZXJlIC0tZ2l0LWRpcj0kaGVyZSBkZXNjcmliZSAtLWRpcnR5IiBkaWQgbm90CisgICB3b3JrIGNvcnJlY3RseSBhcyBpdCBkaWQgbm90IHBheSBhdHRlbnRpb24gdG8gdGhlIGxvY2F0aW9uIG9mIHRoZQorICAgd29ya3RyZWUgc3BlY2lmaWVkIGJ5IHRoZSB1c2VyIGJ5IG1pc3Rha2UsIHdoaWNoIGhhcyBiZWVuCisgICBjb3JyZWN0ZWQuCisgICAobWVyZ2UgYzgwMTE3MGIwYyBzcy9kZXNjcmliZS1kaXJ0eS1pbi10aGUtcmlnaHQtZGlyZWN0b3J5IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBmZXRjaCIgb3ZlciBwcm90b2NvbCB2MiB0aGF0IG5lZWRzIHRvIG1ha2UgYSBzZWNvbmQgY29ubmVjdGlvbgorICAgdG8gYmFja2ZpbGwgdGFncyBkaWQgbm90IGNsZWFyIGEgdmFyaWFibGUgdGhhdCBob2xkcyBzaGFsbG93CisgICByZXBvc2l0b3J5IGluZm9ybWF0aW9uIGNvcnJlY3RseSwgbGVhZGluZyB0byBhbiBhY2Nlc3Mgb2YgZnJlZWQKKyAgIHBpZWNlIG9mIG1lbW9yeS4KKworICogU29tZSBlcnJvcnMgZnJvbSB0aGUgb3RoZXIgc2lkZSBjb21pbmcgb3ZlciBzbWFydCBIVFRQIHRyYW5zcG9ydAorICAgd2VyZSBub3Qgbm90aWNlZCwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBDb2RlIGNsZWFudXAsIGRvY2ZpeCwgYnVpbGQgZml4LCBldGMuCisgICAobWVyZ2UgODliYTlhNzlhZSBoYi90MDA2MS1kb3QtaW4tcGF0aC1maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGQxNzNlNzk5ZWEgc2IvZGlmZi1jb2xvci1tb3ZlZC1jb25maWctb3B0aW9uLWZpeHVwIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBhOGY1YTU5MDY3IGVuL2RpcmVjdG9yeS1yZW5hbWVzLW5vdGhhbmtzLWRvYy11cGRhdGUgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGVjMzZjNDJhNjMgbmQvaW5kZW50YXRpb24tZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBmMTE2ZWUyMWNkIGRvL2dpdHdlYi1zdHJpY3QtZXhwb3J0LWNvbmYtZG9jIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAxMTJlYTQyNjYzIGZkL2dpdHdlYi1zbmFwc2hvdC1jb25mLWRvYy1maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDFjYWRhZDZmNjUgdGIvdXNlLWNvbW1vbi13aW4zMi1wYXRoZnVuY3Mtb24tY3lnd2luIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA1N2U5ZGNhYTY1IGttL3JlYmFzZS1kb2MtdHlwb2ZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgYjhiNGNiMjdlNiBkcy9nYy1kb2MtdHlwb2ZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgM2IzMzU3NjI2ZSBuZC9zdHlsZS1vcGVuaW5nLWJyYWNlIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBiNDU4M2Q1NTk1IGVzL2RvYy13b3JrdHJlZS1ndWVzc3JlbW90ZS1jb25maWcgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGNjZTk5Y2Q4YzYgZHMvY29tbWl0LWdyYXBoLWFzc2VydC1taXNzaW5nLXBhcmVudHMgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDA2NTA2MTQ5ODIgY3kvY29tcGxldGlvbi10eXBvZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA2ODgxOTI1ZWY1IHJzL3NoYTEtZmlsZS1jbG9zZS1tYXBwZWQtZmlsZS1vbi1lcnJvciBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgYmQ4ZDZmMGRlZiBlbi9zaG93LXJlZi1kb2MtZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAxNzQ3MTI1ZTJjIGNjL3BhcnRpYWwtY2xvbmUtZG9jLXR5cG9maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGUwMTM3ODc1M2QgY2MvZmV0Y2gtZXJyb3ItbWVzc2FnZS1maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDU0ZThjMTEyMTUgamsvcmVtb3RlLWluc3RlYWRvZi1jbGVhbnVwIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBkNjA5NjE1ZjQ4IGpzL3Rlc3QtZ2l0LWluc3RhbGxlZCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgYmExNzA1MTdiZSBqYS9kb2Mtc3R5bGUtZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA4NmZiMWM0ZTc3IGttL2luaXQtZG9jLXR5cG9maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDVjZmQ0YTlkMTAgbmQvY29tbWl0LWRvYyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgOWZjZTE5YTQzMSBhYi9kaWZmLXRyZWUtZG9jLWZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMmUyODVlNzgwMyB0ei9ncGctdGVzdC1maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDU0MjdkZTk2MGIga2wvcHJldHR5LWRvYy1tYXJrdXAtZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAzODE1ZjY0YjBkIGpzL21pbmd3LWhvc3QtY3B1IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA1ZmU4MTQzOGI1IHJqL3NlcXVlbmNlci1zaWduLW9mZi1oZWFkZXItc3RhdGljIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAxOGE0ZjZiZTZiIG5kL2ZpbGVuby1tYXktYmUtbWFjcm8gbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDk5ZTlhYjU0YWIga2QvdDAwMjgtb2N0YWwtZGVsLWlzLTM3Ny1ub3QtNzc3IGxhdGVyIHRvIG1haW50KS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yMS4xLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yMS4xLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzU5NDE1Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjIxLjEudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0dpdCB2Mi4yMS4xIFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT0KKworVGhpcyByZWxlYXNlIG1lcmdlcyB1cCB0aGUgZml4ZXMgdGhhdCBhcHBlYXIgaW4gdjIuMTQuNiwgdjIuMTUuNCwKK3YyLjE3LjMgYW5kIGluIHYyLjIwLjIsIGFkZHJlc3NpbmcgdGhlIHNlY3VyaXR5IGlzc3VlcyBDVkUtMjAxOS0xMzQ4LAorQ1ZFLTIwMTktMTM0OSwgQ1ZFLTIwMTktMTM1MCwgQ1ZFLTIwMTktMTM1MSwgQ1ZFLTIwMTktMTM1MiwKK0NWRS0yMDE5LTEzNTMsIENWRS0yMDE5LTEzNTQsIENWRS0yMDE5LTEzODcsIGFuZCBDVkUtMjAxOS0xOTYwNDsKK3NlZSB0aGUgcmVsZWFzZSBub3RlcyBmb3IgdGhvc2UgdmVyc2lvbnMgZm9yIGRldGFpbHMuCisKK0FkZGl0aW9uYWxseSwgdGhpcyB2ZXJzaW9uIGFsc28gaW5jbHVkZXMgYSBjb3VwbGUgb2YgZml4ZXMgZm9yIHRoZQorV2luZG93cy1zcGVjaWZpYyBxdW90aW5nIG9mIGNvbW1hbmQtbGluZSBhcmd1bWVudHMgd2hlbiBHaXQgZXhlY3V0ZXMKK2EgVW5peCBzaGVsbCBvbiBXaW5kb3dzLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjIyLjAudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjIyLjAudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxZTZhZTkKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMjIuMC50eHQKQEAgLTAsMCArMSw1OTcgQEAKK0dpdCAyLjIyIFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT0KKworVXBkYXRlcyBzaW5jZSB2Mi4yMQorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitCYWNrd2FyZCBjb21wYXRpYmlsaXR5IG5vdGUKKworICogVGhlIGZpbHRlciBzcGVjaWZpY2F0aW9uICItLWZpbHRlcj1zcGFyc2U6cGF0aD08cGF0aD4iIHVzZWQgdG8KKyAgIGNyZWF0ZSBhIGxhenkvcGFydGlhbCBjbG9uZSBoYXMgYmVlbiByZW1vdmVkLiAgVXNpbmcgYSBibG9iIHRoYXQgaXMKKyAgIHBhcnQgb2YgdGhlIHByb2plY3QgYXMgc3BhcnNlIHNwZWNpZmljYXRpb24gaXMgc3RpbGwgc3VwcG9ydGVkIHdpdGgKKyAgIHRoZSAiLS1maWx0ZXI9c3BhcnNlOm9pZD08YmxvYj4iIG9wdGlvbi4KKworVUksIFdvcmtmbG93cyAmIEZlYXR1cmVzCisKKyAqICJnaXQgY2hlY2tvdXQgLS1uby1vdmVybGF5IiBjYW4gYmUgdXNlZCB0byB0cmlnZ2VyIGEgbmV3IG1vZGUgb2YKKyAgIGNoZWNraW5nIG91dCBwYXRocyBvdXQgb2YgdGhlIHRyZWUtaXNoLCB0aGF0IGFsbG93cyBwYXRocyB0aGF0CisgICBtYXRjaCB0aGUgcGF0aHNwZWMgdGhhdCBhcmUgaW4gdGhlIGN1cnJlbnQgaW5kZXggYW5kIHdvcmtpbmcgdHJlZQorICAgYW5kIGFyZSBub3QgaW4gdGhlIHRyZWUtaXNoLgorCisgKiBUaGUgJSh0cmFpbGVycykgZm9ybWF0dGVyIGluICJnaXQgbG9nIC0tZm9ybWF0PS4uLiIgIG5vdyBhbGxvd3MgdG8KKyAgIG9wdGlvbmFsbHkgcGljayB0cmFpbGVycyBzZWxlY3RpdmVseSBieSBrZXl3b3JkLCBzaG93IG9ubHkgdmFsdWVzLAorICAgZXRjLgorCisgKiBGb3VyIG5ldyBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyB7YXV0aG9yLGNvbW1pdHRlcn0ue25hbWUsZW1haWx9CisgICBoYXZlIGJlZW4gaW50cm9kdWNlZCB0byBvdmVycmlkZSB1c2VyLntuYW1lLGVtYWlsfSBpbiBtb3JlIHNwZWNpZmljCisgICBjYXNlcy4KKworICogQ29tbWFuZC1saW5lIGNvbXBsZXRpb24gKGluIGNvbnRyaWIvKSBsZWFybmVkIHRvIHRhYi1jb21wbGV0ZSB0aGUKKyAgICJnaXQgc3VibW9kdWxlIGFic29yYmdpdGRpcnMiIHN1YmNvbW1hbmQuCisKKyAqICJnaXQgYnJhbmNoIiBsZWFybmVkIGEgbmV3IHN1YmNvbW1hbmQgIi0tc2hvdy1jdXJyZW50Ii4KKworICogT3V0cHV0IGZyb20gImRpZmYgLS1jYyIgZGlkIG5vdCBzaG93IHRoZSBvcmlnaW5hbCBwYXRocyB3aGVuIHRoZQorICAgbWVyZ2UgaW52b2x2ZWQgcmVuYW1lcy4gIEEgbmV3IG9wdGlvbiBhZGRzIHRoZSBwYXRocyBpbiB0aGUKKyAgIG9yaWdpbmFsIHRyZWVzIHRvIHRoZSBvdXRwdXQuCisKKyAqIFRoZSBjb21tYW5kIGxpbmUgY29tcGxldGlvbiAoaW4gY29udHJpYi8pIGhhcyBiZWVuIHRhdWdodCB0bworICAgY29tcGxldGUgbW9yZSBzdWJjb21tYW5kIHBhcmFtZXRlcnMuCisKKyAqIFRoZSBmaW5hbCByZXBvcnQgZnJvbSAiZ2l0IGJpc2VjdCIgdXNlZCB0byBzaG93IHRoZSBzdXNwZWN0ZWQKKyAgIGN1bHByaXQgdXNpbmcgYSByYXcgImRpZmYtdHJlZSIsIHdpdGggd2hpY2ggdGhlcmUgaXMgbm8gb3V0cHV0IGZvcgorICAgYSBtZXJnZSBjb21taXQuICBUaGlzIGhhcyBiZWVuIHVwZGF0ZWQgdG8gdXNlIGEgbW9yZSBtb2Rlcm4gYW5kCisgICBodW1hbiByZWFkYWJsZSBvdXRwdXQgdGhhdCBzdGlsbCBpcyBjb25jaXNlIGVub3VnaC4KKworICogImdpdCByZWJhc2UgLS1yZWJhc2UtbWVyZ2VzIiByZXBsYWNlcyBpdHMgb2xkICItLXByZXNlcnZlLW1lcmdlcyIKKyAgIG9wdGlvbjsgdGhlIGxhdHRlciBpcyBub3cgbWFya2VkIGFzIGRlcHJlY2F0ZWQuCisKKyAqIEVycm9yIG1lc3NhZ2UgZ2l2ZW4gd2hpbGUgY2xvbmluZyB3aXRoIC0tcmVjdXJzZS1zdWJtb2R1bGVzIGhhcworICAgYmVlbiB1cGRhdGVkLgorCisgKiBUaGUgY29tcGxldGlvbiBoZWxwZXIgY29kZSBub3cgcGF5cyBhdHRlbnRpb24gdG8gcmVwb3NpdG9yeS1sb2NhbAorICAgY29uZmlndXJhdGlvbiAod2hlbiBhdmFpbGFibGUpLCB3aGljaCBhbGxvd3MgLS1saXN0LWNtZHMgdG8gaG9ub3VyCisgICBhIHJlcG9zaXRvcnkgc3BlY2lmaWMgc2V0dGluZyBvZiBjb21wbGV0aW9uLmNvbW1hbmRzLCBmb3IgZXhhbXBsZS4KKworICogImdpdCBtZXJnZXRvb2wiIGxlYXJuZWQgdG8gb2ZmZXIgU3VibGltZSBNZXJnZSAoc21lcmdlKSBhcyBvbmUgb2YKKyAgIGl0cyBiYWNrZW5kcy4KKworICogQSBuZXcgaG9vayAicG9zdC1pbmRleC1jaGFuZ2UiIGlzIGNhbGxlZCB3aGVuIHRoZSBvbi1kaXNrIGluZGV4CisgICBmaWxlIGNoYW5nZXMsIHdoaWNoIGNhbiBoZWxwIGUuZy4gYSB2aXJ0dWFsaXplZCB3b3JraW5nIHRyZWUKKyAgIGltcGxlbWVudGF0aW9uLgorCisgKiAiZ2l0IGRpZmZ0b29sIiBjYW4gbm93IHJ1biBvdXRzaWRlIGEgcmVwb3NpdG9yeS4KKworICogImdpdCBjaGVja291dCAtbSA8b3RoZXI+IiB3YXMgYWJvdXQgY2FycnlpbmcgdGhlIGRpZmZlcmVuY2VzCisgICBiZXR3ZWVuIEhFQUQgYW5kIHRoZSB3b3JraW5nLXRyZWUgZmlsZXMgZm9yd2FyZCB3aGlsZSBjaGVja2luZyBvdXQKKyAgIGFub3RoZXIgYnJhbmNoLCBhbmQgaWdub3JlZCB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBIRUFEIGFuZCB0aGUKKyAgIGluZGV4LiAgVGhlIGNvbW1hbmQgaGFzIGJlZW4gdGF1Z2h0IHRvIGFib3J0IHdoZW4gdGhlIGluZGV4IGFuZCB0aGUKKyAgIEhFQUQgYXJlIGRpZmZlcmVudC4KKworICogQSBwcm9ncmVzcyBpbmRpY2F0b3IgaGFzIGJlZW4gYWRkZWQgdG8gdGhlICJpbmRleC1wYWNrIiBzdGVwLCB3aGljaAorICAgb2Z0ZW4gbWFrZXMgdXNlcnMgd2FpdCBmb3IgY29tcGxldGlvbiBkdXJpbmcgImdpdCBjbG9uZSIuCisKKyAqICJnaXQgc3VibW9kdWxlIiBsZWFybnMgInNldC1icmFuY2giIHN1YmNvbW1hbmQgdGhhdCBhbGxvd3MgdGhlCisgICBzdWJtb2R1bGUuKi5icmFuY2ggc2V0dGluZ3MgdG8gYmUgbW9kaWZpZWQuCisKKyAqICJnaXQgbWVyZ2UtcmVjdXJzaXZlIiBiYWNrZW5kIHJlY2VudGx5IGxlYXJuZWQgYSBuZXcgaGV1cmlzdGljcyB0bworICAgaW5mZXIgZmlsZSBtb3ZlbWVudCBiYXNlZCBvbiBob3cgb3RoZXIgZmlsZXMgaW4gdGhlIHNhbWUgZGlyZWN0b3J5CisgICBtb3ZlZC4gIEFzIHRoaXMgaXMgaW5oZXJlbnRseSBsZXNzIHJvYnVzdCBoZXVyaXN0aWNzIHRoYW4gdGhlIG9uZQorICAgYmFzZWQgb24gdGhlIGNvbnRlbnQgc2ltaWxhcml0eSBvZiB0aGUgZmlsZSBpdHNlbGYgKHJhdGhlciB0aGFuCisgICBiYXNlZCBvbiB3aGF0IGl0cyBuZWlnaGJvdXJzIGFyZSBkb2luZyksIGl0IHNvbWV0aW1lcyBnaXZlcyBhbgorICAgb3V0Y29tZSB1bmV4cGVjdGVkIGJ5IHRoZSBlbmQgdXNlcnMuICBUaGlzIGhhcyBiZWVuIHRvbmVkIGRvd24gdG8KKyAgIGxlYXZlIHRoZSByZW5hbWVkIHBhdGhzIGluIGhpZ2hlci9jb25mbGljdGVkIHN0YWdlcyBpbiB0aGUgaW5kZXggc28KKyAgIHRoYXQgdGhlIHVzZXIgY2FuIGV4YW1pbmUgYW5kIGNvbmZpcm0gdGhlIHJlc3VsdC4KKworICogImdpdCB0YWciIGxlYXJuZWQgdG8gZ2l2ZSBhbiBhZHZpY2Ugc3VnZ2VzdGluZyBpdCBtaWdodCBiZSBhCisgICBtaXN0YWtlIHdoZW4gY3JlYXRpbmcgYW4gYW5ub3RhdGVkIG9yIHNpZ25lZCB0YWcgdGhhdCBwb2ludHMgYXQKKyAgIGFub3RoZXIgdGFnLgorCisgKiBUaGUgImdpdCBwYWNrLW9iamVjdHMiIGNvbW1hbmQgbGVhcm5lZCB0byByZXBvcnQgdGhlIG51bWJlciBvZgorICAgb2JqZWN0cyBpdCBwYWNrZWQgdmlhIHRoZSB0cmFjZTIgbWVjaGFuaXNtLgorCisgKiBUaGUgbGlzdCBvZiBjb25mbGljdGVkIHBhdGhzIHNob3duIGluIHRoZSBlZGl0b3Igd2hpbGUgY29uY2x1ZGluZyBhCisgICBjb25mbGljdGVkIG1lcmdlIHdhcyBzaG93biBhYm92ZSB0aGUgc2Npc3NvcnMgbGluZSB3aGVuIHRoZQorICAgY2xlYW4tdXAgbW9kZSBpcyBzZXQgdG8gInNjaXNzb3JzIiwgZXZlbiB0aG91Z2ggaXQgd2FzIGNvbW1lbnRlZAorICAgb3V0IGp1c3QgbGlrZSB0aGUgbGlzdCBvZiB1cGRhdGVkIHBhdGhzIGFuZCBvdGhlciBpbmZvcm1hdGlvbiB0bworICAgaGVscCB0aGUgdXNlciBleHBsYWluIHRoZSBtZXJnZSBiZXR0ZXIuCisKKyAqIFRoZSB0cmFjZTIgdHJhY2luZyBmYWNpbGl0eSBsZWFybmVkIHRvIGF1dG8tZ2VuZXJhdGUgYSBmaWxlbmFtZQorICAgd2hlbiB0b2xkIHRvIGxvZyB0byBhIGRpcmVjdG9yeS4KKworICogImdpdCBjbG9uZSIgbGVhcm5lZCBhIG5ldyAtLXNlcnZlci1vcHRpb24gb3B0aW9uIHdoZW4gdGFsa2luZyBvdmVyCisgICB0aGUgcHJvdG9jb2wgdmVyc2lvbiAyLgorCisgKiBUaGUgY29ubmVjdGl2aXR5IGJpdG1hcHMgYXJlIGNyZWF0ZWQgYnkgZGVmYXVsdCBpbiBiYXJlCisgICByZXBvc2l0b3JpZXMgbm93OyBhbHNvIHRoZSBwYXRobmFtZSBoYXNoLWNhY2hlIGlzIGNyZWF0ZWQgYnkKKyAgIGRlZmF1bHQgdG8gYXZvaWQgbWFraW5nIGNyYXBweSBkZWx0YXMgd2hlbiByZXBhY2tpbmcuCisKKyAqICJnaXQgYnJhbmNoIG5ldyBBLi4uQiIgYW5kICJnaXQgY2hlY2tvdXQgLWIgbmV3IEEuLi5CIiBoYXZlIGJlZW4KKyAgIHRhdWdodCB0aGF0IGluIHRoZWlyIGNvbnRleHRzLCB0aGUgbm90YXRpb24gQS4uLkIgbWVhbnMgInRoZSBtZXJnZQorICAgYmFzZSBiZXR3ZWVuIHRoZXNlIHR3byBjb21taXRzIiwganVzdCBsaWtlICJnaXQgY2hlY2tvdXQgQS4uLkIiCisgICBkZXRhY2hlcyBIRUFEIGF0IHRoYXQgY29tbWl0LgorCisgKiBVcGRhdGUgImdpdCBkaWZmdG9vbCIgYW5kICJnaXQgbWVyZ2V0b29sIiBzbyB0aGF0IHRoZSBjb21iaW5hdGlvbnMKKyAgIG9mIHtkaWZmLG1lcmdlfS57dG9vbCxndWl0b29sfSBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyBzZXJ2ZSBhcworICAgZmFsbGJhY2sgc2V0dGluZ3Mgb2YgZWFjaCBvdGhlciBpbiBhIHNlbnNpYmxlIG9yZGVyLgorCisgKiBUaGUgIi0tZGlyLWRpZmYiIG1vZGUgb2YgImdpdCBkaWZmdG9vbCIgaXMgbm90IHVzZWZ1bCBpbiAiLS1uby1pbmRleCIKKyAgIG1vZGU7IHRoZXkgYXJlIG5vdyBleHBsaWNpdGx5IG1hcmtlZCBhcyBtdXR1YWxseSBpbmNvbXBhdGlibGUuCisKKworUGVyZm9ybWFuY2UsIEludGVybmFsIEltcGxlbWVudGF0aW9uLCBEZXZlbG9wbWVudCBTdXBwb3J0IGV0Yy4KKworICogVGhlIGRpZmYgbWFjaGluZXJ5LCBvbmUgb2YgdGhlIG9sZGVzdCBwYXJ0cyBvZiB0aGUgc3lzdGVtLCB3aGljaAorICAgbG9uZyBwcmVkYXRlcyB0aGUgcGFyc2Utb3B0aW9ucyBBUEksIHVzZXMgZmFpcmx5IGxvbmcgYW5kIGNvbXBsZXgKKyAgIGhhbmRjcmFmdGVkIG9wdGlvbiBwYXJzZXIuICBUaGlzIGlzIGJlaW5nIHJld3JpdHRlbiB0byB1c2UgdGhlCisgICBwYXJzZS1vcHRpb25zIEFQSS4KKworICogVGhlIGltcGxlbWVudGF0aW9uIG9mIHBhY2stcmVkdW5kYW50IGhhcyBiZWVuIHVwZGF0ZWQgZm9yCisgICBwZXJmb3JtYW5jZSBpbiBhIHJlcG9zaXRvcnkgd2l0aCBtYW55IHBhY2tmaWxlcy4KKworICogQSBtb3JlIHN0cnVjdHVyZWQgd2F5IHRvIG9idGFpbiBleGVjdXRpb24gdHJhY2UgaGFzIGJlZW4gYWRkZWQuCisKKyAqICJnaXQgcHJ1bmUiIGhhcyBiZWVuIHRhdWdodCB0byB0YWtlIGFkdmFudGFnZSBvZiByZWFjaGFiaWxpdHkKKyAgIGJpdG1hcCB3aGVuIGFibGUuCisKKyAqIFRoZSBjb21tYW5kIGxpbmUgcGFyc2VyIG9mICJnaXQgY29tbWl0LXRyZWUiIGhhcyBiZWVuIHJld3JpdHRlbiB0bworICAgdXNlIHRoZSBwYXJzZS1vcHRpb25zIEFQSS4KKworICogU3VnZ2VzdCBHaXRHaXRHYWRnZXQgaW5zdGVhZCBvZiBzdWJtaXRHaXQgYXMgYSB3YXkgdG8gc3VibWl0CisgICBwYXRjaGVzIGJhc2VkIG9uIEdpdEh1YiBQUiB0byB1cy4KKworICogVGhlIHRlc3QgZnJhbWV3b3JrIGhhcyBiZWVuIHVwZGF0ZWQgdG8gaGVscCBkZXZlbG9wZXJzIGJ5IG1ha2luZyBpdAorICAgZWFzaWVyIHRvIHJ1biBtb3N0IG9mIHRoZSB0ZXN0cyB1bmRlciBkaWZmZXJlbnQgdmVyc2lvbnMgb2YKKyAgIG92ZXItdGhlLXdpcmUgcHJvdG9jb2xzLgorCisgKiBEZXYgc3VwcG9ydCB1cGRhdGUgdG8gbWFrZSBpdCBlYXNpZXIgdG8gY29tcGFyZSB0d28gZm9ybWF0dGVkCisgICByZXN1bHRzIGZyb20gb3VyIGRvY3VtZW50YXRpb24uCisKKyAqIFRoZSBzY3JpcHRlZCAiZ2l0IHJlYmFzZSIgaW1wbGVtZW50YXRpb24gaGFzIGJlZW4gcmV0aXJlZC4KKworICogImdpdCBtdWx0aS1wYWNrLWluZGV4IHZlcmlmeSIgZGlkIG5vdCBzY2FsZSB3ZWxsIHdpdGggdGhlIG51bWJlciBvZgorICAgcGFja2ZpbGVzLCB3aGljaCBpcyBiZWluZyBpbXByb3ZlZC4KKworICogImdpdCBzdGFzaCIgaGFzIGJlZW4gcmV3cml0dGVuIGluIEMuCisKKyAqIFRoZSAiY2hlY2stZG9jcyIgTWFrZWZpbGUgdGFyZ2V0IHRvIHN1cHBvcnQgZGV2ZWxvcGVycyBoYXMgYmVlbgorICAgdXBkYXRlZC4KKworICogVGhlIHRlc3RzIGhhdmUgYmVlbiB1cGRhdGVkIG5vdCB0byByZWx5IG9uIHRoZSBhYmJyZXZpYXRlZCBvcHRpb24KKyAgIG5hbWVzIHRoZSBwYXJzZS1vcHRpb25zIEFQSSBvZmZlcnMsIHRvIHByb3RlY3QgdXMgZnJvbSBhbgorICAgYWJicmV2aWF0ZWQgZm9ybSBvZiBhbiBvcHRpb24gdGhhdCB1c2VkIHRvIGJlIHVuaXF1ZSB3aXRoaW4gdGhlCisgICBjb21tYW5kIGdldHRpbmcgbm9uLXVuaXF1ZSB3aGVuIGEgbmV3IG9wdGlvbiB0aGF0IHNoYXJlIHRoZSBzYW1lCisgICBwcmVmaXggaXMgYWRkZWQuCisKKyAqIFRoZSBzY3JpcHRlZCB2ZXJzaW9uIG9mICJnaXQgcmViYXNlIC1pIiB3cm90ZSBhbmQgcmV3cm90ZSB0aGUgdG9kbworICAgbGlzdCBtYW55IHRpbWVzIGR1cmluZyBhIHNpbmdsZSBzdGVwIG9mIGl0cyBvcGVyYXRpb24sIGFuZCB0aGUKKyAgIHJlY2VudCBDLXJld3JpdGUgbWFkZSBhIGZhaXRoZnVsIGNvbnZlcnNpb24gb2YgdGhlIGxvZ2ljIHRvIEMuICBUaGUKKyAgIGltcGxlbWVudGF0aW9uIGhhcyBiZWVuIHVwZGF0ZWQgdG8gY2FycnkgbmVjZXNzYXJ5IGluZm9ybWF0aW9uCisgICBhcm91bmQgaW4tY29yZSB0byBhdm9pZCByZXdyaXRpbmcgdGhlIHNhbWUgZmlsZSBvdmVyIGFuZCBvdmVyCisgICB1bm5lY2Vzc2FyaWx5LgorCisgKiBUZXN0IGZyYW1ld29yayB1cGRhdGUgdG8gbW9yZSByb2J1c3RseSBjbGVhbiB1cCBsZWZ0b3ZlciBmaWxlcyBhbmQKKyAgIHByb2Nlc3NlcyBhZnRlciB0ZXN0cyBhcmUgZG9uZS4KKworICogQ29udmVyc2lvbiBmcm9tIHVuc2lnbmVkIGNoYXJbMjBdIHRvIHN0cnVjdCBvYmplY3RfaWQgY29udGludWVzLgorCisgKiBXaGlsZSBydW5uaW5nICJnaXQgZGlmZiIgaW4gYSBsYXp5IGNsb25lLCB3ZSBjYW4gdXBmcm9udCBrbm93IHdoaWNoCisgICBtaXNzaW5nIGJsb2JzIHdlIHdpbGwgbmVlZCwgaW5zdGVhZCBvZiB3YWl0aW5nIGZvciB0aGUgb24tZGVtYW5kCisgICBtYWNoaW5lcnkgdG8gZGlzY292ZXIgdGhlbSBvbmUgYnkgb25lLiAgVGhlIGNvZGUgbGVhcm5lZCB0byBhaW0gdG8KKyAgIGFjaGlldmUgYmV0dGVyIHBlcmZvcm1hbmNlIGJ5IGJhdGNoaW5nIHRoZSByZXF1ZXN0IGZvciB0aGVzZQorICAgcHJvbWlzZWQgYmxvYnMuCisKKyAqIER1cmluZyBhbiBpbml0aWFsICJnaXQgY2xvbmUgLS1kZXB0aD0uLi4iIHBhcnRpYWwgY2xvbmUsIGl0IGlzCisgICBwb2ludGxlc3MgdG8gc3BlbmQgY3ljbGVzIGZvciBhIGxhcmdlIHBvcnRpb24gb2YgdGhlIGNvbm5lY3Rpdml0eQorICAgY2hlY2sgdGhhdCBlbnVtZXJhdGVzIGFuZCBza2lwcyBwcm9taXNvciBvYmplY3RzICh3aGljaCBieQorICAgZGVmaW5pdGlvbiBpcyBhbGwgb2JqZWN0cyBmZXRjaGVkIGZyb20gdGhlIG90aGVyIHNpZGUpLiAgVGhpcyBoYXMKKyAgIGJlZW4gb3B0aW1pemVkIG91dC4KKworICogTWVjaGFuaWNhbGx5IGFuZCBzeXN0ZW1hdGljYWxseSBkcm9wICJleHRlcm4iIGZyb20gZnVuY3Rpb24KKyAgIGRlY2xhcmF0aW9uLgorCisgKiBUaGUgc2NyaXB0IHRvIGFnZ3JlZ2F0ZSBwZXJmIHJlc3VsdCB1bmNvbmRpdGlvbmFsbHkgZGVwZW5kZWQgb24KKyAgIGxpYmpzb24tcGVybCBldmVuIHRob3VnaCBpdCBkaWQgbm90IGhhdmUgdG8sIHdoaWNoIGhhcyBiZWVuCisgICBjb3JyZWN0ZWQuCisKKyAqIFRoZSBpbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBvZiAiZ2l0IHJlYmFzZSAtaSIgaGFzIGJlZW4gdXBkYXRlZCB0bworICAgYXZvaWQgZm9ya2luZyBhIHNlcGFyYXRlICJyZWJhc2UtLWludGVyYWN0aXZlIiBwcm9jZXNzLgorCisgKiBBbGxvdyBERVAgYW5kIEFTTFIgZm9yIFdpbmRvd3MgYnVpbGQgdG8gZm9yIHNlY3VyaXR5IGhhcmRlbmluZy4KKworICogUGVyZm9ybWFuY2UgdGVzdCBmcmFtZXdvcmsgaGFzIGJlZW4gYnJva2VuIGFuZCBtZWFzdXJlZCB0aGUgdmVyc2lvbgorICAgb2YgR2l0IHRoYXQgaGFwcGVucyB0byBiZSBvbiAkUEFUSCwgbm90IHRoZSBzcGVjaWZpZWQgb25lIHRvCisgICBtZWFzdXJlLCBmb3IgYSB3aGlsZSwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBPcHRpb25hbGx5ICJtYWtlIGNvY2NpY2hlY2siIGNhbiBmZWVkIG11bHRpcGxlIHNvdXJjZSBmaWxlcyB0bworICAgc3BhdGNoLCBnYWluaW5nIHBlcmZvcm1hbmNlIHdoaWxlIHNwZW5kaW5nIG1vcmUgbWVtb3J5LgorCisgKiBBdHRlbXB0IHRvIHVzZSBhbiBhYmJyZXZpYXRlZCBvcHRpb24gaW4gImdpdCBjbG9uZSAtLXJlY3VycyIgaXMKKyAgIHJlc3BvbmRlZCBieSBhIHJlcXVlc3QgdG8gZGlzYW1iaWd1YXRlIGJldHdlZW4gLS1yZWN1cnNpdmUgYW5kCisgICAtLXJlY3Vyc2Utc3VibW9kdWxlcywgd2hpY2ggaXMgYmFkIGJlY2F1c2UgdGhlc2UgdHdvIGFyZSBzeW5vbnltcy4KKyAgIFRoZSBwYXJzZS1vcHRpb25zIEFQSSBoYXMgYmVlbiBleHRlbmRlZCB0byBkZWZpbmUgc3VjaCBzeW5vbnltcworICAgbW9yZSBlYXNpbHkgYW5kIG5vdCBwcm9kdWNlIGFuIHVubmVjZXNzYXJ5IGZhaWx1cmUuCisKKyAqIEEgcGFpciBvZiBwcml2YXRlIGZ1bmN0aW9ucyBpbiBodHRwLmMgdGhhdCBoYWQgbmFtZXMgc2ltaWxhciB0bworICAgZnJlYWQvZndyaXRlIGRpZCBub3QgcmV0dXJuIHRoZSBudW1iZXIgb2YgZWxlbWVudHMsIHdoaWNoIHdhcyBmb3VuZAorICAgdG8gYmUgY29uZnVzaW5nLgorCisgKiBVcGRhdGUgY29sbGlzaW9uLWRldGVjdGluZyBTSEEtMSBjb2RlIHRvIGJ1aWxkIHByb3Blcmx5IG9uIEhQLVVYLgorCisKK0ZpeGVzIHNpbmNlIHYyLjIxCistLS0tLS0tLS0tLS0tLS0tLQorCisgKiAiZ2l0IHBydW5lLXBhY2tlZCIgZGlkIG5vdCBub3RpY2UgYW5kIGNvbXBsYWluIGFnYWluc3QgZXhjZXNzCisgICBhcmd1bWVudHMgZ2l2ZW4gZnJvbSB0aGUgY29tbWFuZCBsaW5lLCB3aGljaCBub3cgaXQgZG9lcy4KKyAgIChtZXJnZSA5YjBiZDg3ZWQyIHJqL3BydW5lLXBhY2tlZC1leGNlc3MtYXJncyBsYXRlciB0byBtYWludCkuCisKKyAqIFNwbGl0LWluZGV4IGZpeC4KKyAgIChtZXJnZSA2ZTM3YzhlZDNjIG5kL3NwbGl0LWluZGV4LW51bGwtYmFzZS1maXggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGRpZmYgLS1uby1pbmRleCIgbWF5IHN0aWxsIHdhbnQgdG8gYWNjZXNzIEdpdCBnb29kaWVzIGxpa2UKKyAgIC0tZXh0LWRpZmYgYW5kIC0tdGV4dGNvbnYsIGJ1dCBzbyBmYXIgdGhlc2UgaGF2ZSBiZWVuIGlnbm9yZWQsCisgICB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgMjg3YWIyOGJmYSBqay9kaWZmLW5vLWluZGV4LWluaXRpYWxpemUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBVbmlmeSBSUEMgY29kZSBmb3Igc21hcnQgaHR0cCBpbiBwcm90b2NvbCB2MC92MSBhbmQgdjIsIHdoaWNoIGZpeGVzCisgICBhIGJ1ZyBpbiB0aGUgbGF0dGVyIChsYWNrIG9mIGF1dGhlbnRpY2F0aW9uIHJldHJ5KSBhbmQgZ2VuZXJhbGx5CisgICBpbXByb3ZlcyB0aGUgY29kZSBiYXNlLgorICAgKG1lcmdlIGE5N2QwMDc5OWEganQvaHR0cC1hdXRoLXByb3RvLXYyLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBpbmNsdWRlIGZpbGUgY29tcGF0L2Jzd2FwLmggaGFzIGJlZW4gdXBkYXRlZCBzbyB0aGF0IGl0IGlzIHNhZmUKKyAgIHRvIChhY2NpZGVudGFsbHkpIGluY2x1ZGUgaXQgbW9yZSB0aGFuIG9uY2UuCisgICAobWVyZ2UgMzNhYTU3OWE1NSBqay9ndWFyZC1ic3dhcC1oZWFkZXIgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGUgc2V0IG9mIGhlYWRlciBmaWxlcyB1c2VkIGJ5ICJtYWtlIGhkci1jaGVjayIgdW5jb25kaXRpb25hbGx5CisgICBpbmNsdWRlZCBzaGEyNTYvZ2NyeXB0LmgsIGV2ZW4gd2hlbiBpdCBpcyBub3QgdXNlZCwgY2F1c2luZyB0aGUKKyAgIG1ha2UgdGFyZ2V0IHRvIGZhaWwuICBXZSBub3cgc2tpcCBpdCB3aGVuIEdDUllQVF9TSEEyNTYgaXMgbm90IGluCisgICB1c2UuCisgICAobWVyZ2UgZjIzYWExOGU3ZiByai9oZHItY2hlY2stZ2NyeXB0LWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBNYWtlZmlsZSB1c2VzICdmaW5kJyB1dGlsaXR5IHRvIGVudW1lcmF0ZSBhbGwgdGhlICouaCBoZWFkZXIKKyAgIGZpbGVzLCB3aGljaCBpcyBleHBlbnNpdmUgb24gcGxhdGZvcm1zIHdpdGggc2xvdyBmaWxlc3lzdGVtczsgaXQKKyAgIG5vdyBvcHRpb25hbGx5IHVzZXMgImxzLWZpbGVzIiBpZiB3b3JraW5nIHdpdGhpbiBhIHJlcG9zaXRvcnksCisgICB3aGljaCBpcyBhIHRyaWNrIHNpbWlsYXIgdG8gaG93IGFsbCBzb3VyY2VzIGFyZSBlbnVtZXJhdGVkIHRvIHJ1bgorICAgRVRBR1Mgb24uCisgICAobWVyZ2UgOTJiODhlYmE5ZiBqcy9maW5kLWxpYi1oLXdpdGgtbHMtZmlsZXMtd2hlbi1wb3NzaWJsZSBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgcmViYXNlIiB0aGF0IHdhcyByZWltcGxlbWVudGVkIGluIEMgZGlkIG5vdCBzZXQgT1JJR19IRUFECisgICBjb3JyZWN0bHksIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKyAgIChtZXJnZSBjYmQyOWVhZDkyIGpzL3JlYmFzZS1vcmlnLWhlYWQtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogRGV2IHN1cHBvcnQuCisgICAobWVyZ2UgZjU0NTczNzE0NCBqcy9zdHJlc3MtdGVzdC11aS10d2VhayBsYXRlciB0byBtYWludCkuCisKKyAqIENGTEFHUyBub3cgY2FuIGJlIHR3ZWFrZWQgd2hlbiBpbnZva2luZyBNYWtlIHdoaWxlIHVzaW5nCisgICBERVZFTE9QRVI9WWVzUGxlYXNlOyB0aGlzIGRpZCBub3Qgd29yayB3ZWxsIGJlZm9yZS4KKyAgIChtZXJnZSA2ZDVkNGI0ZTkzIGFiL21ha2VmaWxlLWhlbHAtZGV2cy1tb3JlIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBmc2NrIC0tY29ubmVjdGl2aXR5LW9ubHkiIG9taXRzIGNvbXB1dGF0aW9uIG5lY2Vzc2FyeSB0byBzaWZ0CisgICB0aGUgb2JqZWN0cyB0aGF0IGFyZSBub3QgcmVhY2hhYmxlIGZyb20gYW55IG9mIHRoZSByZWZzIGludG8KKyAgIHVucmVhY2hhYmxlIGFuZCBkYW5nbGluZy4gIFRoaXMgaXMgbm93IGVuYWJsZWQgd2hlbiBkYW5nbGluZworICAgb2JqZWN0cyBhcmUgcmVxdWVzdGVkICh3aGljaCBpcyBkb25lIGJ5IGRlZmF1bHQsIGJ1dCBjYW4gYmUKKyAgIG92ZXJyaWRkZW4gd2l0aCB0aGUgIi0tbm8tZGFuZ2xpbmciIG9wdGlvbikuCisgICAobWVyZ2UgOGQ4YzJhNWFlZiBqay9mc2NrLWRvYyBsYXRlciB0byBtYWludCkuCisKKyAqIE9uIHBsYXRmb3JtcyB3aGVyZSAiZ2l0IGZldGNoIiBpcyBraWxsZWQgd2l0aCBTSUdQSVBFIChlLmcuIE9TWCksCisgICB0aGUgdXBsb2FkLXBhY2sgdGhhdCBydW5zIG9uIHRoZSBvdGhlciBlbmQgdGhhdCBoYW5ncyB1cCBhZnRlcgorICAgZGV0ZWN0aW5nIGFuIGVycm9yIGNvdWxkIGNhdXNlICJnaXQgZmV0Y2giIHRvIGRpZSB3aXRoIGEgc2lnbmFsLAorICAgd2hpY2ggbGVkIHRvIGEgZmxha3kgdGVzdC4gICJnaXQgZmV0Y2giIG5vdyBpZ25vcmVzIFNJR1BJUEUgZHVyaW5nCisgICB0aGUgbmV0d29yayBwb3J0aW9uIG9mIGl0cyBvcGVyYXRpb24gKHRoaXMgaXMgbm90IGEgcHJvYmxlbSBhcyB3ZQorICAgY2hlY2sgdGhlIHJldHVybiBzdGF0dXMgZnJvbSBvdXIgd3JpdGUoMilzKS4KKyAgIChtZXJnZSAxNDM1ODg5NDljIGprL25vLXNpZ3BpcGUtZHVyaW5nLW5ldHdvcmstdHJhbnNwb3J0IGxhdGVyIHRvIG1haW50KS4KKworICogQSByZWNlbnQgdXBkYXRlIGJyb2tlICJpcyB0aGlzIG9iamVjdCBhdmFpbGFibGUgdG8gdXM/IiBjaGVjayBmb3IKKyAgIHdlbGwta25vd24gb2JqZWN0cyBsaWtlIGFuIGVtcHR5IHRyZWUgKHdoaWNoIHNob3VsZCB5aWVsZCAieWVzIiwKKyAgIGV2ZW4gd2hlbiB0aGVyZSBpcyBubyBvbi1kaXNrIG9iamVjdCBmb3IgYW4gZW1wdHkgdHJlZSksIHdoaWNoIGhhcworICAgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgZjA2YWIwMjdlZiBqay92aXJ0dWFsLW9iamVjdHMtZG8tZXhpc3QgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGUgc2V0dXAgY29kZSBoYXMgYmVlbiBjbGVhbmVkIHVwIHRvIGF2b2lkIGxlYWtzIGFyb3VuZCB0aGUKKyAgIHJlcG9zaXRvcnlfZm9ybWF0IHN0cnVjdHVyZS4KKyAgIChtZXJnZSBlODgwNWFmMWMzIG1hL2NsZWFyLXJlcG9zaXRvcnktZm9ybWF0IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBjb25maWcgLS10eXBlPWNvbG9yIC4uLiIgaXMgbWVhbnQgdG8gcmVwbGFjZSAiZ2l0IGNvbmZpZyAtLWdldC1jb2xvciIKKyAgIGJ1dCB0aGVyZSBpcyBhIHNsaWdodCBkaWZmZXJlbmNlIHRoYXQgd2Fzbid0IGRvY3VtZW50ZWQsIHdoaWNoIGlzCisgICBub3cgZml4ZWQuCisgICAobWVyZ2UgY2Q4ZTc1OTNiOSBqay9jb25maWctdHlwZS1jb2xvci1lbmRzLXdpdGgtbGYgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBXaGVuIHRoZSAiY2xlYW4iIGZpbHRlciBjYW4gcmVkdWNlIHRoZSBzaXplIG9mIGEgaHVnZSBmaWxlIGluIHRoZQorICAgd29ya2luZyB0cmVlIGRvd24gdG8gYSBzbWFsbCAidG9rZW4iIChhIGxhIEdpdCBMRlMpLCB0aGVyZSBpcyBubworICAgcG9pbnQgaW4gYWxsb2NhdGluZyBhIGh1Z2Ugc2NyYXRjaCBhcmVhIHVwZnJvbnQsIGJ1dCB0aGUgYnVmZmVyIGlzCisgICBzaXplZCBiYXNlZCBvbiB0aGUgb3JpZ2luYWwgZmlsZSBzaXplLiAgVGhlIGNvbnZlcnQgbWVjaGFuaXNtIG5vdworICAgYWxsb2NhdGVzIHZlcnkgbWluaW11bSBhbmQgcmVhbGxvY2F0ZXMgYXMgaXQgcmVjZWl2ZXMgdGhlIG91dHB1dAorICAgZnJvbSB0aGUgY2xlYW4gZmlsdGVyIHByb2Nlc3MuCisgICAobWVyZ2UgMDIxNTZhYjAzMSBqaC9yZXNpemUtY29udmVydC1zY3JhdGNoLWJ1ZmZlciBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgcmViYXNlIiB1c2VzIHRoZSByZWZzL3Jld3JpdHRlbi8gaGllcmFyY2h5IHRvIHN0b3JlIGl0cworICAgaW50ZXJtZWRpYXRlIHN0YXRlcywgd2hpY2ggaW5oZXJlbnRseSBtYWtlcyB0aGUgaGllcmFyY2h5IHBlcgorICAgd29ya3RyZWUsIGJ1dCBpdCBkaWRuJ3QgcXVpdGUgd29yayB3ZWxsLgorICAgKG1lcmdlIGI5MzE3ZDU1YTMgbmQvcmV3cml0dGVuLXJlZi1pcy1wZXItd29ya3RyZWUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGxvZyAtTDxmcm9tPiw8dG8+OjxwYXRoPiIgd2l0aCAiLXMiIGRpZCBub3Qgc3VwcHJlc3MgdGhlIHBhdGNoCisgICBvdXRwdXQgYXMgaXQgc2hvdWxkLiAgVGhpcyBoYXMgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgMDUzMTRlZmFlYSBqay9saW5lLWxvZy13aXRoLXBhdGNoIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCB3b3JrdHJlZSBhZGQiIHVzZWQgdG8gZG8gYSAiZmluZCBhbiBhdmFpbGFibGUgbmFtZSB3aXRoIHN0YXQKKyAgIGFuZCB0aGVuIG1rZGlyIiwgd2hpY2ggaXMgcmFjZS1wcm9uZS4gIFRoaXMgaGFzIGJlZW4gZml4ZWQgYnkgdXNpbmcKKyAgIG1rZGlyIGFuZCByZWFjdGluZyB0byBFRVhJU1QgaW4gYSBsb29wLgorICAgKG1lcmdlIDdhZjAxZjIzNjcgbXMvd29ya3RyZWUtYWRkLWF0b21pYy1ta2RpciBsYXRlciB0byBtYWludCkuCisKKyAqIEJ1aWxkIHVwZGF0ZSBmb3IgU0hBLTEgd2l0aCBjb2xsaXNpb24gZGV0ZWN0aW9uLgorICAgKG1lcmdlIDA3YTIwZjU2OWIgamsvc2hhMWRjIGxhdGVyIHRvIG1haW50KS4KKworICogQnVpbGQgcHJvY2VkdXJlIGhhcyBiZWVuIGZpeGVkIGFyb3VuZCB1c2Ugb2YgYXNjaWlkb2N0b3IgaW5zdGVhZCBvZgorICAgYXNjaWlkb2MuCisgICAobWVyZ2UgMTg1ZjlhMGVhMCBtYS9hc2NpaWRvY3Rvci1maXhlcyBsYXRlciB0byBtYWludCkuCisKKyAqIHJlbW90ZS1odHRwIHRyYW5zcG9ydCBkaWQgbm90IGFub255bWl6ZSBVUkxzIHJlcG9ydGVkIGluIGl0cyBlcnJvcgorICAgbWVzc2FnZXMgYXQgcGxhY2VzLgorICAgKG1lcmdlIGMxMjg0YjIxZjIganMvYW5vbnltaXplLXJlbW90ZS1jdXJsLWRpYWcgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBFcnJvciBtZXNzYWdlcyBnaXZlbiBmcm9tIHRoZSBodHRwIHRyYW5zcG9ydCBoYXZlIGJlZW4gdXBkYXRlZCBzbworICAgdGhhdCB0aGV5IGNhbiBiZSBsb2NhbGl6ZWQuCisgICAobWVyZ2UgZWQ4YjQxMzJjOCBqcy9yZW1vdGUtY3VybC1pMThuIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBpbml0IiBmb3Jnb3QgdG8gcmVhZCBwbGF0Zm9ybS1zcGVjaWZpYyByZXBvc2l0b3J5CisgICBjb25maWd1cmF0aW9uLCB3aGljaCBtYWRlIFdpbmRvd3MgcG9ydCB0byBpZ25vcmUgc2V0dGluZ3Mgb2YKKyAgIGNvcmUuaGlkZWRvdGZpbGVzLCBmb3IgZXhhbXBsZS4KKworICogQSBjb3JuZXItY2FzZSBvYmplY3QgbmFtZSBhbWJpZ3VpdHkgd2hpbGUgdGhlIHNlcXVlbmNlciBtYWNoaW5lcnkKKyAgIGlzIHdvcmtpbmcgKGUuZy4gInJlYmFzZSAtaSAteCIpIGhhcyBiZWVuIGZpeGVkLgorCisgKiAiZ2l0IGZvcm1hdC1wYXRjaCIgZGlkIG5vdCBkaWFnbm9zZSBhbiBlcnJvciB3aGlsZSBvcGVuaW5nIHRoZQorICAgb3V0cHV0IGZpbGUgZm9yIHRoZSBjb3Zlci1sZXR0ZXIsIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKyAgIChtZXJnZSAyZmU5NWY0OTRjIGpjL2Zvcm1hdC1wYXRjaC1lcnJvci1jaGVjayBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgY2hlY2tvdXQgLWYgPGJyYW5jaD4iIHdoaWxlIHRoZSBpbmRleCBoYXMgYW4gdW5tZXJnZWQgcGF0aAorICAgaW5jb3JyZWN0bHkgbGVmdCBzb21lIHBhdGhzIGluIGFuIHVubWVyZ2VkIHN0YXRlLCB3aGljaCBoYXMgYmVlbgorICAgY29ycmVjdGVkLgorCisgKiBBIGNvcm5lciBjYXNlIGJ1ZyBpbiB0aGUgcmVmcyBBUEkgaGFzIGJlZW4gY29ycmVjdGVkLgorICAgKG1lcmdlIGQzMzIyZWIyOGIgamsvcmVmcy1kb3VibGUtYWJvcnQgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBVbmljb2RlIHVwZGF0ZS4KKyAgIChtZXJnZSA1ODRiNjJjMzdiIGJiL3VuaWNvZGUtMTIgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBkdW1iLWh0dHAgd2Fsa2VyIGhhcyBiZWVuIHVwZGF0ZWQgdG8gc2hhcmUgbW9yZSBlcnJvciByZWNvdmVyeQorICAgc3RyYXRlZ3kgd2l0aCB0aGUgbm9ybWFsIGNvZGVwYXRoLgorCisgKiBBIGJ1Z2xldCBpbiBjb25maWd1cmF0aW9uIHBhcnNlciBoYXMgYmVlbiBmaXhlZC4KKyAgIChtZXJnZSAxOWU3ZmRhYTU4IG5kL2luY2x1ZGUtaWYtd2lsZG1hdGNoIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIGRvY3VtZW50YXRpb24gZm9yICJnaXQgcmVhZC10cmVlIC0tcmVzZXQgLXUiIGhhcyBiZWVuIHVwZGF0ZWQuCisgICAobWVyZ2UgYjVhMGJkNjk0YyBuZC9yZWFkLXRyZWUtcmVzZXQtZG9jIGxhdGVyIHRvIG1haW50KS4KKworICogQ29kZSBjbGVhbi11cCBhcm91bmQgYSBtdWNoLWxlc3MtaW1wb3J0YW50LXRoYW4taXQtdXNlZC10by1iZQorICAgdXBkYXRlX3NlcnZlcl9pbmZvKCkgZnVuY3Rpb24uCisgICAobWVyZ2UgYjMyMjM3NjFjOCBqay9zZXJ2ZXItaW5mby1yYWJiaXQtaG9sZSBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBtZXNzYWdlIGdpdmVuIHdoZW4gImdpdCBjb21taXQgLWEgPHBhdGhzPiIgZXJyb3JzIG91dCBoYXMgYmVlbgorICAgdXBkYXRlZC4KKyAgIChtZXJnZSA1YTFkYmQ0OGJjIG5kL2NvbW1pdC1hLXdpdGgtcGF0aHMtbXNnLXVwZGF0ZSBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgY2hlcnJ5LXBpY2sgLS1vcHRpb25zIEEuLkIiLCBhZnRlciBnaXZpbmcgY29udHJvbCBiYWNrIHRvIHRoZQorICAgdXNlciB0byBhc2sgaGVscCByZXNvbHZpbmcgYSBjb25mbGljdGVkIHN0ZXAsIGRpZCBub3QgaG9ub3IgdGhlCisgICBvcHRpb25zIGl0IG9yaWdpbmFsbHkgcmVjZWl2ZWQsIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogVmFyaW91cyBnbGl0Y2hlcyBpbiAiZ2l0IGdjIiBhcm91bmQgcmVmbG9nIGhhbmRsaW5nIGhhdmUgYmVlbiBmaXhlZC4KKworICogVGhlIGNvZGUgdG8gcmVhZCBmcm9tIGNvbW1pdC1ncmFwaCBmaWxlIGhhcyBiZWVuIGNsZWFudXAgd2l0aCBtb3JlCisgICBjYXJlZnVsIGVycm9yIGNoZWNraW5nIGJlZm9yZSB1c2luZyBkYXRhIHJlYWQgZnJvbSBpdC4KKworICogUGVyZm9ybWFuY2UgZml4IGFyb3VuZCAiZ2l0IGZldGNoIiB0aGF0IGdyYWJzIG1hbnkgcmVmcy4KKyAgIChtZXJnZSBiNzY0MzAwOTEyIGp0L2ZldGNoLXBhY2std2FudGVkLXJlZnMtb3B0aW0gbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBQcm90b2NvbCB2MiBzdXBwb3J0IGluICJnaXQgZmV0Y2gtcGFjayIgb2Ygc2hhbGxvdyBjbG9uZXMgaGFzIGJlZW4KKyAgIGNvcnJlY3RlZC4KKworICogUGVyZm9ybWFuY2UgZml4IGFyb3VuZCAiZ2l0IGJsYW1lIiwgZXNwZWNpYWxseSBpbiBhIGxpbmVhciBoaXN0b3J5CisgICAod2hpY2ggaXMgdGhlIG5vcm0gd2Ugc2hvdWxkIG9wdGltaXplIGZvcikuCisgICAobWVyZ2UgZjg5MjAxNDk0MyBkay9ibGFtZS1rZWVwLW9yaWdpbi1ibG9iIGxhdGVyIHRvIG1haW50KS4KKworICogUGVyZm9ybWFuY2UgZml4IGZvciAicmV2LWxpc3QgLS1wYXJlbnRzIC0tIHBhdGhzcGVjIi4KKyAgIChtZXJnZSA4MzIwYjFkYmU3IGprL3JldmlzaW9uLXJld3JpdHRlbi1wYXJlbnRzLWluLXByaW8tcXVldWUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBVcGRhdGluZyB0aGUgZGlzcGxheSB3aXRoIHByb2dyZXNzIG1lc3NhZ2UgaGFzIGJlZW4gY2xlYW5lZCB1cCB0bworICAgZGVhbCBiZXR0ZXIgd2l0aCBvdmVybG9uZyBtZXNzYWdlcy4KKyAgIChtZXJnZSA1NDVkYzM0NWViIHNnL292ZXJsb25nLXByb2dyZXNzLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgYmxhbWUgLS0gcGF0aCIgaW4gYSBub24tYmFyZSByZXBvc2l0b3J5IHN0YXJ0cyBibGFtaW5nIGZyb20KKyAgIHRoZSB3b3JraW5nIHRyZWUsIGFuZCB0aGUgc2FtZSBjb21tYW5kIGluIGEgYmFyZSByZXBvc2l0b3J5IGVycm9ycworICAgb3V0IGJlY2F1c2UgdGhlcmUgaXMgbm8gd29ya2luZyB0cmVlIGJ5IGRlZmluaXRpb24uICBUaGUgY29tbWFuZAorICAgaGFzIGJlZW4gdGF1Z2h0IHRvIGluc3RlYWQgc3RhcnQgYmxhbWluZyBmcm9tIHRoZSBjb21taXQgYXQgSEVBRCwKKyAgIHdoaWNoIGlzIG1vcmUgdXNlZnVsLgorICAgKG1lcmdlIGE1NDRmYjA4Zjggc2cvYmxhbWUtaW4tYmFyZS1zdGFydC1hdC1oZWFkIGxhdGVyIHRvIG1haW50KS4KKworICogQW4gdW5kZXJhbGxvY2F0aW9uIGluIHRoZSBjb2RlIHRvIHJlYWQgdGhlIHVudHJhY2tlZCBjYWNoZQorICAgZXh0ZW5zaW9uIGhhcyBiZWVuIGNvcnJlY3RlZC4KKyAgIChtZXJnZSAzYTdiNDVhNjIzIGpzL3VudHJhY2tlZC1jYWNoZS1hbGxvY2ZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBjb2RlIGlzIHVwZGF0ZWQgdG8gY2hlY2sgdGhlIHJlc3VsdCBvZiBtZW1vcnkgYWxsb2NhdGlvbiBiZWZvcmUKKyAgIGl0IGlzIHVzZWQgaW4gbW9yZSBwbGFjZXMsIGJ5IHVzaW5nIHhtYWxsb2MgYW5kL29yIHhjYWxsb2MgY2FsbHMuCisgICAobWVyZ2UgOTk5Yjk1MWIyOCBqay94bWFsbG9jIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIEdFVFRFWFRfUE9JU09OIHRlc3Qgb3B0aW9uIGhhcyBiZWVuIHF1aXRlIGJyb2tlbiBldmVyIHNpbmNlIGl0CisgICB3YXMgbWFkZSBydW50aW1lLXR1bmFibGUsIHdoaWNoIGhhcyBiZWVuIGZpeGVkLgorICAgKG1lcmdlIGY4OGI5Y2I2MDMgamMvZ2V0dGV4dC10ZXN0LWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIFRlc3QgZml4IG9uIEFQRlMgdGhhdCBpcyBpbmNhcGFibGUgb2Ygc3RvcmUgcGF0aHMgaW4gTGF0aW4tMS4KKyAgIChtZXJnZSAzODg5MTQ5NjE5IGpzL2lzbzg4OTUtdGVzdC1vbi1hcGZzIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBzdWJtb2R1bGUgZm9yZWFjaCA8Y29tbWFuZD4gLS1xdWlldCIgZGlkIG5vdCBwYXNzIHRoZSBvcHRpb24KKyAgIGRvd24gY29ycmVjdGx5LCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgYTI4MmY1YTkwNiBuZC9zdWJtb2R1bGUtZm9yZWFjaC1xdWlldCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgc2VuZC1lbWFpbCIgaGFzIGJlZW4gdGF1Z2h0IHRvIHVzZSBxdW90ZWQtcHJpbnRhYmxlIHdoZW4gdGhlCisgICBwYXlsb2FkIGNvbnRhaW5zIGNhcnJpYWdlLXJldHVybi4gIFRoZSB1c2Ugb2YgdGhlIG1lY2hhbmlzbSBpcyBpbgorICAgbGluZSB3aXRoIHRoZSBkZXNpZ24gb3JpZ2luYWxseSBhZGRlZCB0aGUgY29kZXBhdGggdGhhdCBjaG9vc2VzIFFQCisgICB3aGVuIHRoZSBwYXlsb2FkIGhhcyBvdmVybHkgbG9uZyBsaW5lcy4KKyAgIChtZXJnZSA3NGQ3NmExNzAxIGJjL3NlbmQtZW1haWwtcXAtY3IgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGUgcmVjZW50bHkgYWRkZWQgZmVhdHVyZSB0byBhZGQgYWRkcmVzc2VzIHRoYXQgYXJlIG9uCisgICBhbnl0aGluZy1ieTogdHJhaWxlcnMgaW4gJ2dpdCBzZW5kLWVtYWlsJyB3YXMgZm91bmQgdG8gYmUgd2F5IHRvbworICAgZWFnZXIgYW5kIGNvbnNpZGVyZWQgbm9uc2Vuc2Ugc3RyaW5ncyBhcyBpZiB0aGV5IGNhbiBiZSBsZWdpdGltYXRlCisgICBiZWdpbm5pbmcgb2YgKi1ieTogdHJhaWxlci4gIFRoaXMgaGFzIGJlZW4gdGlnaHRlbmVkLgorCisgKiBCdWlsZHMgd2l0aCBnZXR0ZXh0IGJyb2tlIG9uIHJlY2VudCBtYWNPUyB3LyBIb21lYnJldywgd2hpY2gKKyAgIHNlZW1zIHRvIGhhdmUgc3RvcHBlZCBpbmNsdWRpbmcgZnJvbSAvdXNyL2xvY2FsL2luY2x1ZGU7IHRoaXMKKyAgIGhhcyBiZWVuIGNvcnJlY3RlZC4KKyAgIChtZXJnZSA5MmExMzc3YTJhIGpzL21hY29zLWdldHRleHQtYnVpbGQgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBSdW5uaW5nICJnaXQgYWRkIiBvbiBhIHJlcG9zaXRvcnkgY3JlYXRlZCBpbnNpZGUgdGhlIGN1cnJlbnQKKyAgIHJlcG9zaXRvcnkgaXMgYW4gZXhwbGljaXQgaW5kaWNhdGlvbiB0aGF0IHRoZSB1c2VyIHdhbnRzIHRvIGFkZCBpdAorICAgYXMgYSBzdWJtb2R1bGUsIGJ1dCB3aGVuIHRoZSBIRUFEIG9mIHRoZSBpbm5lciByZXBvc2l0b3J5IGlzIG9uIGFuCisgICB1bmJvcm4gYnJhbmNoLCBpdCBjYW5ub3QgYmUgYWRkZWQgYXMgYSBzdWJtb2R1bGUuICBXb3JzZSwgdGhlIGZpbGVzCisgICBpbiBpdHMgd29ya2luZyB0cmVlIGNhbiBiZSBhZGRlZCBhcyBpZiB0aGV5IGFyZSBhIHBhcnQgb2YgdGhlIG91dGVyCisgICByZXBvc2l0b3J5LCB3aGljaCBpcyBub3Qgd2hhdCB0aGUgdXNlciB3YW50cy4gIFRoZXNlIHByb2JsZW1zIGFyZQorICAgYmVpbmcgYWRkcmVzc2VkLgorICAgKG1lcmdlIGY5MzdiYzJmODYga20vZW1wdHktcmVwby1pcy1zdGlsbC1hLXJlcG8gbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGNoZXJyeS1waWNrIiBydW4gd2l0aCB0aGUgIi14IiBvciB0aGUgIi0tc2lnbm9mZiIgb3B0aW9uIHVzZWQKKyAgIHRvIChhbmQgbW9yZSBpbXBvcnRhbnRseSwgb3VnaHQgdG8pIGNsZWFuIHVwIHRoZSBjb21taXQgbG9nIG1lc3NhZ2UKKyAgIHdpdGggdGhlIC0tY2xlYW51cD1zcGFjZSBvcHRpb24gYnkgZGVmYXVsdCwgYnV0IHRoaXMgaGFzIGJlZW4KKyAgIGJyb2tlbiBzaW5jZSBsYXRlIDIwMTcuICBUaGlzIGhhcyBiZWVuIGZpeGVkLgorCisgKiBXaGVuIGdpdmVuIGEgdGFnIHRoYXQgcG9pbnRzIGF0IGEgY29tbWl0LWlzaCwgImdpdCByZXBsYWNlIC0tZ3JhZnQiCisgICBmYWlsZWQgdG8gcGVlbCB0aGUgdGFnIGJlZm9yZSB3cml0aW5nIGEgcmVwbGFjZSByZWYsIHdoaWNoIGRpZCBub3QKKyAgIG1ha2Ugc2Vuc2UgYmVjYXVzZSB0aGUgb2xkIGdyYWZ0IG1lY2hhbmlzbSB0aGUgZmVhdHVyZSB3YW50cyB0bworICAgbWltaWMgb25seSBhbGxvd2VkIHRvIHJlcGxhY2Ugb25lIGNvbW1pdCBvYmplY3Qgd2l0aCBhbm90aGVyLgorICAgVGhpcyBoYXMgYmVlbiBmaXhlZC4KKyAgIChtZXJnZSBlZTUyMWVjNGNiIGNjL3JlcGxhY2UtZ3JhZnQtcGVlbC10YWdzIGxhdGVyIHRvIG1haW50KS4KKworICogQ29kZSB0aWdodGVuaW5nIGFnYWluc3QgYSAid3JvbmciIG9iamVjdCBhcHBlYXJpbmcgd2hlcmUgYW4gb2JqZWN0CisgICBvZiBhIGRpZmZlcmVudCB0eXBlIGlzIGV4cGVjdGVkLCBpbnN0ZWFkIG9mIGJsaW5kbHkgYXNzdW1pbmcgdGhhdAorICAgdGhlIGNvbm5lY3Rpb24gYmV0d2VlbiBvYmplY3RzIGFyZSBjb3JyZWN0bHkgbWFkZS4KKyAgIChtZXJnZSA5N2RkNTEyYWY3IHRiL3VuZXhwZWN0ZWQgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBBbiBlYXJsaWVyIHVwZGF0ZSBmb3IgTWluR1cgYW5kIEN5Z3dpbiBhY2NpZGVudGFsbHkgYnJva2UgTVNWQyBidWlsZCwKKyAgIHdoaWNoIGhhcyBiZWVuIGZpeGVkLgorICAgKG1lcmdlIDIyYzM2MzRjMGYgc3MvbXN2Yy1wYXRoLXV0aWxzLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqICUocHVzaDp0cmFjaykgdG9rZW4gdXNlZCBpbiB0aGUgLS1mb3JtYXQgb3B0aW9uIHRvICJnaXQKKyAgIGZvci1lYWNoLXJlZiIgYW5kIGZyaWVuZHMgd2FzIG5vdCBzaG93aW5nIHRoZSByaWdodCBicmFuY2gsIHdoaWNoCisgICBoYXMgYmVlbiBmaXhlZC4KKyAgIChtZXJnZSBjNjQ2ZDA5MzRlIGRyL3JlZi1maWx0ZXItcHVzaC10cmFjay1maXggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAibWFrZSBjaGVjay1kb2NzIiwgImdpdCBoZWxwIC1hIiwgZXRjLiBkaWQgbm90IGFjY291bnQgZm9yIGNhc2VzCisgICB3aGVyZSBhIHBhcnRpY3VsYXIgYnVpbGQgbWF5IGRlbGliZXJhdGVseSBvbWl0IHNvbWUgc3ViY29tbWFuZHMsCisgICB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqIFRoZSBsb2dpYyB0byB0ZWxsIGlmIGEgR2l0IHJlcG9zaXRvcnkgaGFzIGEgd29ya2luZyB0cmVlIHByb3RlY3RzCisgICAiZ2l0IGJyYW5jaCAtRCIgZnJvbSByZW1vdmluZyB0aGUgYnJhbmNoIHRoYXQgaXMgY3VycmVudGx5IGNoZWNrZWQKKyAgIG91dCBieSBtaXN0YWtlLiAgVGhlIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgbG9naWMgd2FzIGJyb2tlbiBmb3IKKyAgIHJlcG9zaXRvcmllcyB3aXRoIHVudXN1YWwgbmFtZSwgd2hpY2ggdW5mb3J0dW5hdGVseSBpcyB0aGUgbm9ybSBmb3IKKyAgIHN1Ym1vZHVsZXMgdGhlc2UgZGF5cy4gIFRoaXMgaGFzIGJlZW4gZml4ZWQuCisgICAobWVyZ2UgZjM1MzRjOThlNCBqdC9zdWJtb2R1bGUtcmVwby1pcy13aXRoLXdvcmt0cmVlIGxhdGVyIHRvIG1haW50KS4KKworICogQUlYIHNoYXJlZCB0aGUgc2FtZSBidWlsZCBpc3N1ZXMgd2l0aCBvdGhlciBCU0RzIGFyb3VuZCBmaWxlbm8oZnApLAorICAgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorICAgKG1lcmdlIGVlNjYyYmY1YzYgY2MvYWl4LWhhcy1maWxlbm8tYXMtYS1tYWNybyBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBhdXRvY29uZiBnZW5lcmF0ZWQgY29uZmlndXJlIHNjcmlwdCBmYWlsZWQgdG8gdXNlIHRoZSByaWdodAorICAgZ2V0dGV4dCgpIGltcGxlbWVudGF0aW9ucyBmcm9tIC1saWJpbnRsIGJ5IGlnbm9yaW5nIHVzZWxlc3Mgc3R1YgorICAgaW1wbGVtZW50YXRpb25zIHNoaXBwZWQgaW4gc29tZSBDIGxpYnJhcnksIHdoaWNoIGhhcyBiZWVuCisgICBjb3JyZWN0ZWQuCisgICAobWVyZ2UgYjcxZTU2YTY4MyB2ay9hdXRvY29uZi1nZXR0ZXh0IGxhdGVyIHRvIG1haW50KS4KKworICogRml4IGluZGV4LXBhY2sgcGVyZiB0ZXN0IHNvIHRoYXQgdGhlIHJlcGVhdGVkIGludm9jYXRpb25zIGFsd2F5cworICAgcnVuIGluIGFuIGVtcHR5IHJlcG9zaXRvcnksIHdoaWNoIGVtdWxhdGVzIHRoZSBpbml0aWFsIGNsb25lCisgICBzaXR1YXRpb24gYmV0dGVyLgorICAgKG1lcmdlIDc3NWM3MWUxNmQgamsvcDUzMDItYXZvaWQtY29sbGlzaW9uLWNoZWNrLWNvc3QgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBBICJscy1maWxlcyIgdGhhdCBlbXVsYXRlcyAiZmluZCIgdG8gZW51bWVyYXRlIGZpbGVzIGluIHRoZSB3b3JraW5nCisgICB0cmVlIHJlc3VsdGVkIGluIGR1cGxpY2F0ZWQgTWFrZWZpbGUgcnVsZXMgdGhhdCBjYXVzZWQgdGhlIGJ1aWxkIHRvCisgICBpc3N1ZSBhbiB1bm5lY2Vzc2FyeSB3YXJuaW5nIGR1cmluZyBhIHRyaWFsIGJ1aWxkIGFmdGVyIG1lcmdlCisgICBjb25mbGljdHMgYXJlIHJlc29sdmVkIGluIHdvcmtpbmcgdHJlZSAqLmggZmlsZXMgYnV0IGJlZm9yZSB0aGUKKyAgIHJlc29sdmVkIHJlc3VsdHMgYXJlIGFkZGVkIHRvIHRoZSBpbmRleC4gIFRoaXMgaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiAiZ2l0IGNoZXJyeS1waWNrIiAoYW5kICJyZXZlcnQiIHRoYXQgc2hhcmVzIHRoZSBzYW1lIHJ1bnRpbWUgZW5naW5lKQorICAgdGhhdCBkZWFscyB3aXRoIG11bHRpcGxlIGNvbW1pdHMgZ290IGNvbmZ1c2VkIHdoZW4gdGhlIGZpbmFsIHN0ZXAKKyAgIGdldHMgc3RvcHBlZCB3aXRoIGEgY29uZmxpY3QgYW5kIHRoZSB1c2VyIGNvbmNsdWRlZCB0aGUgc2VxdWVuY2UKKyAgIHdpdGggImdpdCBjb21taXQiLiAgQXR0ZW1wdCB0byBmaXggaXQgYnkgY2xlYW5pbmcgdXAgdGhlIHN0YXRlCisgICBmaWxlcyB1c2VkIGJ5IHRoZXNlIGNvbW1hbmRzIGluIHN1Y2ggYSBzaXR1YXRpb24uCisgICAobWVyZ2UgNGE3MjQ4NmRlOSBwdy9jbGVhbi1zZXF1ZW5jZXItc3RhdGUtdXBvbi1maW5hbC1jb21taXQgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBPbiBhIGZpbGVzeXN0ZW0gbGlrZSBIRlMrLCB0aGUgbmFtZXMgb2YgdGhlIHJlZnMgc3RvcmVkIGFzIGZpbGVzeXN0ZW0KKyAgIGVudGl0aWVzIG1heSBiZWNvbWUgZGlmZmVyZW50IGZyb20gd2hhdCB0aGUgZW5kLXVzZXIgZXhwZWN0cywganVzdAorICAgbGlrZSBmaWxlcyBpbiB0aGUgd29ya2luZyB0cmVlIGdldCAicmVuYW1lZCIuICBXb3JrIGFyb3VuZCB0aGUKKyAgIG1pc21hdGNoIGJ5IHBheWluZyBhdHRlbnRpb24gdG8gdGhlIGNvcmUucHJlY29tcG9zZVVuaWNvZGUKKyAgIGNvbmZpZ3VyYXRpb24uCisgICAobWVyZ2UgOGU3MTJlZjZmYyBlbi91bmljb2RlLWluLXJlZm5hbWVzIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIGNvZGUgdG8gZ2VuZXJhdGUgdGhlIG11bHRpLXBhY2sgaWR4IGZpbGUgd2FzIG5vdCBwcmVwYXJlZCB0bworICAgc2VlIHRvbyBtYW55IHBhY2tmaWxlcyBhbmQgcmFuIG91dCBvZiBvcGVuIGZpbGUgZGVzY3JpcHRvciwgd2hpY2gKKyAgIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogVG8gcnVuIHRlc3RzIGZvciBHaXQgU1ZOLCBvdXIgc2NyaXB0cyBmb3IgQ0kgdXNlZCB0byBpbnN0YWxsIHRoZQorICAgZ2l0LXN2biBwYWNrYWdlIChpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJyaW5nIGluIHRoZSByaWdodAorICAgZGVwZW5kZW5jaWVzKS4gIFRoaXMgaGFzIGJlZW4gdXBkYXRlZCB0byBpbnN0YWxsIHRoZSBtb3JlIGRpcmVjdAorICAgZGVwZW5kZW5jeSwgbmFtZWx5LCBsaWJzdm4tcGVybC4KKyAgIChtZXJnZSBkYjg2NDMwNmNmIHNnL2NpLWxpYnN2bi1wZXJsIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBjdnNleHBvcnRjb21taXQiIHJ1bm5pbmcgb24gbXN5cyBkaWQgbm90IGV4cGVjdCBjdnNudCBzaG93ZWQKKyAgICJjdnMgc3RhdHVzIiBvdXRwdXQgd2l0aCBDUkxGIGxpbmUgZW5kaW5ncy4KKworICogVGhlIGZzbW9uaXRvciBpbnRlcmZhY2UgZ290IG91dCBvZiBzeW5jIGFmdGVyIHRoZSBpbi1jb3JlIGluZGV4CisgICBmaWxlIGdldHMgZGlzY2FyZGVkLCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgMzk4YTNiMDg5OSBqcy9mc21vbml0b3ItcmVmcmVzaC1hZnRlci1kaXNjYXJkaW5nLWluZGV4IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBzdGF0dXMiIGRpZCBub3Qga25vdyB0aGF0IHRoZSAibGFiZWwiIGluc3RydWN0aW9uIGluIHRoZQorICAgdG9kby1saXN0ICJyZWJhc2UgLWkgLXIiIHVzZXMgc2hvdWxkIG5vdCBiZSBzaG93biBhcyBhIGhleCBvYmplY3QKKyAgIG5hbWUuCisKKyAqIEEgcHJlcmVxdWlzaXRlIGNoZWNrIGluIHRoZSB0ZXN0IHN1aXRlIHRvIHNlZSBpZiBhIHdvcmtpbmcgamdpdCBpcworICAgYXZhaWxhYmxlIHdhcyBtYWRlIG1vcmUgcm9idXN0LgorICAgKG1lcmdlIGFiZDBmMjg5ODMgdHovdGVzdC1saWItY2hlY2std29ya2luZy1qZ2l0IGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIGNvZGVwYXRoIHRvIHBhcnNlIDo8cGF0aD4gdGhhdCBvYnRhaW5zIHRoZSBvYmplY3QgbmFtZSBmb3IgYW4KKyAgIGluZGV4ZWQgb2JqZWN0IGhhcyBiZWVuIG1hZGUgbW9yZSByb2J1c3QuCisKKyAqIENvZGUgY2xlYW51cCwgZG9jZml4LCBidWlsZCBmaXgsIGV0Yy4KKyAgIChtZXJnZSAxMWY0NzBhZWU3IGpjL3Rlc3QteWVzLWRvYyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgOTA1MDNhMjQwYiBqcy9kb2Mtc3ltcmVmLWluLXByb3RvLXYxIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA1YzMyNmQxMjUyIGprL3VudXNlZC1wYXJhbXMgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDY4Y2FiYmZkYTMgZGwvZG9jLXN1Ym1vZHVsZS13by1zdWJjb21tYW5kIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA5OTAzNjIzNzYxIGFiL3JlY2VpdmUtcGFjay11c2UtYWZ0ZXItZnJlZS1maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDFlZGU0NWU0NGIgZW4vbWVyZ2Utb3B0aW9ucy1kb2MgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDNlMTRkZDJjOGUgcmQvZG9jLWhvb2stdXNlZC1pbi1zYW1wbGUgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGMyNzFkYzI4ZmQgbmQvbm8tbW9yZS1jaGVjay1yYWN5IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBlNmUxNTE5NGE4IHliL3V0Zi0xNmxlLWJvbS1zcGVsbGZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgYmIxMDFhYWYwYyByZC9hdHRyLmMtY29tbWVudC10eXBvZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA3MTZhNWFmODEyIHJkL2djLXBydW5lLWRvYy1maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDUwYjIwNjM3MWQganMvdW50cmF2aXMtd2luZG93cyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgZGJmNDcyMTVlMyBqcy9yZWJhc2UtcmVjcmVhdGUtbWVyZ2UgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDU2Y2IyZDMwZjggZGwvcmVzZXQtZG9jLW5vLXdydC1hYmJyZXYgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDY0ZWNhMzA2YTIgamEvZGlyLXJlbmFtZS1kb2MtbWFya3VwLWZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgYWY5MWIwMjMwYyBkbC9pZ25vcmUtZG9jcyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNTlhMDZlOTQ3YiByYS90MzYwMC10ZXN0LXBhdGgtZnVuY3MgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGUwNDFkMDc4MWIgYXIvdDQxNTAtcmVtb3ZlLWNydWZ0IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA4ZDc1YTFkMTgzIG1hL2FzY2lpZG9jdG9yLWZpeGVzLW1vcmUgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDc0Y2M1NDdiMGYgbWgvcGFjay1wcm90b2NvbC1kb2MtZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBlZDMxODUxZmE2IGFiL2RvYy1taXNjLXR5cG9maXhlcyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgYTcyNTZkZWJkNCBuZC9jaGVja291dC1tLWRvYy11cGRhdGUgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDNhOWUxYWQ3OGQganQvdDU1NTEtcHJvdG9jb2wtdjItZG9lcy1ub3QtaGF2ZS1oYWxmLWF1dGggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDBiOTE4Yjc1YWYgc2cvdDUzMTgtY2xlYW51cCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNjhlZDcxYjUzYyBjYi9kb2NvLW1vbm8gbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGEzNGRjYTI0NTEgbmQvaW50ZXJwcmV0LXRyYWlsZXJzLWRvY2ZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgY2Y3Yjg1N2E3NyBlbi9mYXN0LWltcG9ydC1wYXJzaW5nLWZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgZmU2MWNjYmMzNSBwby9yZXJlcmUtZG9jLWZtdCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgZmZlYTAyNDhiZiBwby9kZXNjcmliZS1ub3QtbmVjZXNzYXJpbHktNyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgN2NiNzI4M2FkYiB0Zy9scy1maWxlcy1kZWJ1Zy1mb3JtYXQtZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBmNjRhMjFiZDgyIHR6L2RvYy1hcG9zdHJvcGhlLW5vLWxvbmdlci1uZWVkZWQgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGRiZTdiNDEwMTkganMvdDMzMDEtdW5icmVhay1ub3Rlcy10ZXN0IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBkODA4M2U0MTgwIGttL3QzMDAwLXJldGl0bGUgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDllNGNiY2NiZDcgdHovZ2l0LXN2bi1kb2MtbWFya3VwLWZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgZGE5Y2E5NTVhNyBqay9scy1maWxlcy1kb2MtbWFya3VwLWZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNjgwNGJhM2E1OCBjdy9kaWZmLWhpZ2hsaWdodCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMWE4Nzg3MTQ0ZCBuZC9zdWJtb2R1bGUtaGVscGVyLWluY29tcGxldGUtbGluZS1maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGQ5ZWY1NzM4MzcgamsvYXBhY2hlLWxzYW4gbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGM4NzFmYmVlMmIganMvdDY1MDAtdXNlLXdpbmRvd3MtcGlkLW9uLW1pbmd3IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBjZTRjN2JmYzkwIGJsL3Q0MjUzLWV4aXQtY29kZS1mcm9tLWZvcm1hdC1wYXRjaCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMzk3YTQ2ZGI3OCBqcy90NTU4MC11bmMtYWx0ZXJuYXRlLXRlc3QgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGQ0OTA3NzIwYTIgY20vbm90ZXMtY29tbWVudC1maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDlkZGUwNmRlMTMgY2IvaHR0cC1wdXNoLW51bGwtaW4tbWVzc2FnZS1maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDRjNzg1YzBlZGMganMvcmViYXNlLWNvbmZpZy1iaXRmaXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDhlOWZlMTZjODcgZXMvZG9jLWdpdHN1Ym1vZHVsZXMtbWFya3VwIGxhdGVyIHRvIG1haW50KS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yMi4xLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yMi4xLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzI3NjJmCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjIyLjEudHh0CkBAIC0wLDAgKzEsMTUwIEBACitHaXQgMi4yMi4xIFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PQorCitGaXhlcyBzaW5jZSB2Mi4yMgorLS0tLS0tLS0tLS0tLS0tLS0KKworICogQSByZWxhdGl2ZSBwYXRobmFtZSBnaXZlbiB0byAiZ2l0IGluaXQgLS10ZW1wbGF0ZT08cGF0aD4gPHJlcG8+IgorICAgb3VnaHQgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGRpcmVjdG9yeSAiZ2l0IGluaXQiIGdldHMgaW52b2tlZCBpbiwKKyAgIGJ1dCBpdCBpbnN0ZWFkIHdhcyBtYWRlIHJlbGF0aXZlIHRvIHRoZSByZXBvc2l0b3J5LCB3aGljaCBoYXMgYmVlbgorICAgY29ycmVjdGVkLgorCisgKiAiZ2l0IHdvcmt0cmVlIGFkZCIgdXNlZCB0byBmYWlsIHdoZW4gYW5vdGhlciB3b3JrdHJlZSBjb25uZWN0ZWQgdG8KKyAgIHRoZSBzYW1lIHJlcG9zaXRvcnkgd2FzIGNvcnJ1cHQsIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogVGhlIG93bmVyc2hpcCBydWxlIGZvciB0aGUgZmlsZSBkZXNjcmlwdG9yIHRvIGZhc3QtaW1wb3J0IHJlbW90ZQorICAgYmFja2VuZCB3YXMgbWl4ZWQgdXAsIGxlYWRpbmcgdG8gdW5yZWxhdGVkIGZpbGUgZGVzY3JpcHRvciBnZXR0aW5nCisgICBjbG9zZWQsIHdoaWNoIGhhcyBiZWVuIGZpeGVkLgorCisgKiAiZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyIgdXNlZCB0byBsZWF2ZSBzdGFsZSBwYWNrZmlsZXMgaW4gaXRzCisgICBvdXRwdXQsIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogVGhlIHNlcnZlciBzaWRlIHN1cHBvcnQgZm9yICJnaXQgZmV0Y2giIHVzZWQgdG8gc2hvdyBpbmNvcnJlY3QKKyAgIHZhbHVlIGZvciB0aGUgSEVBRCBzeW1ib2xpYyByZWYgd2hlbiB0aGUgbmFtZXNwYWNlIGZlYXR1cmUgaXMgaW4KKyAgIHVzZSwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiAiZ2l0IGFtIC1pIC0tcmVzb2x2ZWQiIHNlZ2ZhdWx0ZWQgYWZ0ZXIgdHJ5aW5nIHRvIHNlZSBhIGNvbW1pdCBhcworICAgaWYgaXQgd2VyZSBhIHRyZWUsIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogImdpdCBidW5kbGUgdmVyaWZ5IiBuZWVkcyB0byBzZWUgaWYgcHJlcmVxdWlzaXRlIG9iamVjdHMgZXhpc3QgaW4KKyAgIHRoZSByZWNlaXZpbmcgcmVwb3NpdG9yeSwgYnV0IHRoZSBjb21tYW5kIGRpZCBub3QgY2hlY2sgaWYgd2UgYXJlCisgICBpbiBhIHJlcG9zaXRvcnkgdXBmcm9udCwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiAiZ2l0IG1lcmdlIC0tc3F1YXNoIiBpcyBkZXNpZ25lZCB0byB1cGRhdGUgdGhlIHdvcmtpbmcgdHJlZSBhbmQgdGhlCisgICBpbmRleCB3aXRob3V0IGNyZWF0aW5nIHRoZSBjb21taXQsIGFuZCB0aGlzIGNhbm5vdCBiZSBjb3VudGVybWFuZGVkCisgICBieSBhZGRpbmcgdGhlICItLWNvbW1pdCIgb3B0aW9uOyB0aGUgY29tbWFuZCBub3cgcmVmdXNlcyB0byB3b3JrCisgICB3aGVuIGJvdGggb3B0aW9ucyBhcmUgZ2l2ZW4uCisKKyAqIFRoZSBkYXRhIGNvbGxlY3RlZCBieSBmc21vbml0b3Igd2FzIG5vdCBwcm9wZXJseSB3cml0dGVuIGJhY2sgdG8KKyAgIHRoZSBvbi1kaXNrIGluZGV4IGZpbGUsIGJyZWFraW5nIHQ3NTE5IHRlc3RzIG9jY2FzaW9uYWxseSwgd2hpY2gKKyAgIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogVXBkYXRlIHRvIFVuaWNvZGUgMTIuMSB3aWR0aCB0YWJsZS4KKworICogVGhlIGNvbW1hbmQgbGluZSB0byBpbnZva2UgYSAiZ2l0IGNhdC1maWxlIiBjb21tYW5kIGZyb20gaW5zaWRlCisgICAiZ2l0IHA0IiB3YXMgbm90IHByb3Blcmx5IHF1b3RlZCB0byBwcm90ZWN0IGEgY2FyZXQgYW5kIHJ1bm5pbmcgYQorICAgYnJva2VuIGNvbW1hbmQgb24gV2luZG93cywgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiAiZ2l0IHJlcXVlc3QtcHVsbCIgbGVhcm5lZCB0byB3YXJuIHdoZW4gdGhlIHJlZiB3ZSBhc2sgdGhlbSB0byBwdWxsCisgICBmcm9tIGluIHRoZSBsb2NhbCByZXBvc2l0b3J5IGFuZCBpbiB0aGUgcHVibGlzaGVkIHJlcG9zaXRvcnkgYXJlCisgICBkaWZmZXJlbnQuCisKKyAqIFdoZW4gY3JlYXRpbmcgYSBwYXJ0aWFsIGNsb25lLCB0aGUgb2JqZWN0IGZpbHRlcmluZyBjcml0ZXJpYSBpcworICAgcmVjb3JkZWQgZm9yIHRoZSBvcmlnaW4gb2YgdGhlIGNsb25lLCBidXQgdGhpcyBpbmNvcnJlY3RseSB1c2VkIGEKKyAgIGhhcmRjb2RlZCBuYW1lICJvcmlnaW4iIHRvIG5hbWUgdGhhdCByZW1vdGU7IGl0IGhhcyBiZWVuIGNvcnJlY3RlZAorICAgdG8gaG9ub3IgdGhlICItLW9yaWdpbiA8bmFtZT4iIG9wdGlvbi4KKworICogImdpdCBmZXRjaCIgaW50byBhIGxhenkgY2xvbmUgZm9yZ290IHRvIGZldGNoIGJhc2Ugb2JqZWN0cyB0aGF0IGFyZQorICAgbmVjZXNzYXJ5IHRvIGNvbXBsZXRlIGRlbHRhIGluIGEgdGhpbiBwYWNrZmlsZSwgd2hpY2ggaGFzIGJlZW4KKyAgIGNvcnJlY3RlZC4KKworICogVGhlIGZpbHRlcl9kYXRhIHVzZWQgaW4gdGhlIGxpc3Qtb2JqZWN0cy1maWx0ZXIgKHdoaWNoIG1hbmFnZXMgYQorICAgbGF6aWx5IHNwYXJzZSBjbG9uZSByZXBvc2l0b3J5KSBkaWQgbm90IHVzZSB0aGUgZHluYW1pYyBhcnJheSBBUEkKKyAgIGNvcnJlY3RseS0tLSducicgaXMgc3VwcG9zZWQgdG8gcG9pbnQgYXQgb25lIHBhc3QgdGhlIGxhc3QgZWxlbWVudAorICAgb2YgdGhlIGFycmF5IGluIHVzZS4gIFRoaXMgaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBUaGUgZGVzY3JpcHRpb24gYWJvdXQgc2xhc2hlcyBpbiBnaXRpZ25vcmUgcGF0dGVybnMgKHVzZWQgdG8KKyAgIGluZGljYXRlIHRoaW5ncyBsaWtlICJhbmNob3JlZCB0byB0aGlzIGxldmVsIG9ubHkiIGFuZCAib25seQorICAgbWF0Y2hlcyBkaXJlY3RvcmllcyIpIGhhcyBiZWVuIHJldmFtcGVkLgorCisgKiBUaGUgVVJMIGRlY29kaW5nIGNvZGUgaGFzIGJlZW4gdXBkYXRlZCB0byBhdm9pZCBnb2luZyBwYXN0IHRoZSBlbmQKKyAgIG9mIHRoZSBzdHJpbmcgd2hpbGUgcGFyc2luZyAlLTxoZXg+LTxoZXg+IHNlcXVlbmNlLgorCisgKiBUaGUgbGlzdCBvZiBmb3ItZWFjaCBsaWtlIG1hY3JvcyB1c2VkIGJ5IGNsYW5nLWZvcm1hdCBoYXMgYmVlbgorICAgdXBkYXRlZC4KKworICogImdpdCBwdXNoIC0tYXRvbWljIiB0aGF0IGdvZXMgb3ZlciB0aGUgdHJhbnNwb3J0LWhlbHBlciAobmFtZWx5LAorICAgdGhlIHNtYXJ0IGh0dHAgdHJhbnNwb3J0KSBmYWlsZWQgdG8gcHJldmVudCByZWZzIHRvIGJlIHB1c2hlZCB3aGVuCisgICBpdCBjYW4gbG9jYWxseSB0ZWxsIHRoYXQgb25lIG9mIHRoZSByZWYgdXBkYXRlIHdpbGwgZmFpbCB3aXRob3V0CisgICBoYXZpbmcgdG8gY29uc3VsdCB0aGUgb3RoZXIgZW5kLCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqICJnaXQgY2xlYW4iIHNpbGVudGx5IHNraXBwZWQgYSBwYXRoIHdoZW4gaXQgY2Fubm90IGxzdGF0KCkgaXQ7IG5vdworICAgaXQgZ2l2ZXMgYSB3YXJuaW5nLgorCisgKiBBIGNvZGVwYXRoIHRoYXQgcmVhZHMgZnJvbSBHUEcgZm9yIHNpZ25lZCBvYmplY3QgdmVyaWZpY2F0aW9uIHJlYWQKKyAgIHBhc3QgdGhlIGVuZCBvZiBhbGxvY2F0ZWQgYnVmZmVyLCB3aGljaCBoYXMgYmVlbiBmaXhlZC4KKworICogImdpdCBybSIgdG8gcmVzb2x2ZSBhIGNvbmZsaWN0ZWQgcGF0aCBsZWFrZWQgYW4gaW50ZXJuYWwgbWVzc2FnZQorICAgIm5lZWRzIG1lcmdlIiBiZWZvcmUgYWN0dWFsbHkgcmVtb3ZpbmcgdGhlIHBhdGgsIHdoaWNoIHdhcworICAgY29uZnVzaW5nLiAgVGhpcyBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqIFRoZSAiZ2l0IGNsb25lIiBkb2N1bWVudGF0aW9uIHJlZmVycyB0byBjb21tYW5kIGxpbmUgb3B0aW9ucyBpbiBpdHMKKyAgIGRlc2NyaXB0aW9uIGluIHRoZSBzaG9ydCBmb3JtOyB0aGV5IGhhdmUgYmVlbiByZXBsYWNlZCB3aXRoIGxvbmcKKyAgIGZvcm1zIHRvIG1ha2UgdGhlbSBtb3JlIHJlY29nbmlzYWJsZS4KKworICogVGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgcmViYXNlLnJlc2NoZWR1bGVGYWlsZWRFeGVjIHNob3VsZCBiZQorICAgZWZmZWN0aXZlIG9ubHkgd2hpbGUgcnVubmluZyBhbiBpbnRlcmFjdGl2ZSByZWJhc2UgYW5kIHNob3VsZCBub3QKKyAgIGFmZmVjdCBhbnl0aGluZyB3aGVuIHJ1bm5pbmcgYSBub24taW50ZXJhY3RpdmUgb25lLCB3aGljaCB3YXMgbm90CisgICB0aGUgY2FzZS4gIFRoaXMgaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiAiZ2l0IHN1Ym1vZHVsZSBmb3JlYWNoIiBkaWQgbm90IHByb3RlY3QgY29tbWFuZCBsaW5lIG9wdGlvbnMgcGFzc2VkCisgICB0byB0aGUgY29tbWFuZCB0byBiZSBydW4gaW4gZWFjaCBzdWJtb2R1bGUgY29ycmVjdGx5LCB3aGVuIHRoZQorICAgIi0tcmVjdXJzaXZlIiBvcHRpb24gd2FzIGluIHVzZS4KKworICogVXNlICJFcmFzZSBpbiBMaW5lIiBDU0kgc2VxdWVuY2UgdGhhdCBpcyBhbHJlYWR5IHVzZWQgaW4gdGhlIGVkaXRvcgorICAgc3VwcG9ydCB0byBjbGVhciBjcnVmdCBpbiB0aGUgcHJvZ3Jlc3Mgb3V0cHV0LgorCisgKiBUaGUgY29kZXBhdGggdG8gY29tcHV0ZSBkZWx0YSBpc2xhbmRzIHVzZWQgdG8gc3BldyBwcm9ncmVzcyBvdXRwdXQKKyAgIHdpdGhvdXQgZ2l2aW5nIHRoZSBjYWxsZXJzIGFueSB3YXkgdG8gc3F1ZWxjaCBpdCwgd2hpY2ggaGFzIGJlZW4KKyAgIGZpeGVkLgorCisgKiBUaGUgY29kZSB0byBwYXJzZSBzY2FsZWQgbnVtYmVycyBvdXQgb2YgY29uZmlndXJhdGlvbiBmaWxlcyBoYXMKKyAgIGJlZW4gbWFkZSBtb3JlIHJvYnVzdCBhbmQgYWxzbyBlYXNpZXIgdG8gZm9sbG93LgorCisgKiBBbiBpbmNvcnJlY3QgbGlzdCBvZiBvcHRpb25zIHdhcyBjYWNoZWQgYWZ0ZXIgY29tbWFuZCBsaW5lCisgICBjb21wbGV0aW9uIGZhaWxlZCAoZS5nLiB0cnlpbmcgdG8gY29tcGxldGUgYSBjb21tYW5kIHRoYXQgcmVxdWlyZXMKKyAgIGEgcmVwb3NpdG9yeSBvdXRzaWRlIG9uZSksIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogImdpdCByZWJhc2UgLS1hYm9ydCIgdXNlZCB0byBsZWF2ZSByZWZzL3Jld3JpdHRlbi8gd2hlbiBjb25jbHVkaW5nCisgICAiZ2l0IHJlYmFzZSAtciIsIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogImdpdCBzdGFzaCBzaG93IDIzIiB1c2VkIHRvIHdvcmssIGJ1dCBubyBtb3JlIGFmdGVyIGdldHRpbmcKKyAgIHJld3JpdHRlbiBpbiBDOyB0aGlzIHJlZ3Jlc3Npb24gaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiAiZ2l0IGludGVycHJldC10cmFpbGVycyIgYWx3YXlzIHRyZWF0ZWQgJyMnIGFzIHRoZSBjb21tZW50CisgICBjaGFyYWN0ZXIsIHJlZ2FyZGxlc3Mgb2YgY29yZS5jb21tZW50Q2hhciBzZXR0aW5nLCB3aGljaCBoYXMgYmVlbgorICAgY29ycmVjdGVkLgorCisgKiBDb2RlIGNsZWFuLXVwIHRvIGF2b2lkIHNpZ25lZCBpbnRlZ2VyIG92ZXJsYXBzIGR1cmluZyBiaW5hcnkgc2VhcmNoLgorCisgKiAiZ2l0IGNoZWNrb3V0IC1wIiBuZWVkcyB0byBzZWxlY3RpdmVseSBhcHBseSBhIHBhdGNoIGluIHJldmVyc2UsCisgICB3aGljaCBkaWQgbm90IHdvcmsgd2VsbC4KKworICogVGhlIGNvbW1pdC1ncmFwaCBmaWxlIGlzIG5vdyBwYXJ0IG9mIHRoZSAiZmlsZXMgdGhhdCB0aGUgcnVudGltZQorICAgbWF5IGtlZXAgb3BlbiBmaWxlIGRlc2NyaXB0b3JzIG9uLCBhbGwgb2Ygd2hpY2ggd291bGQgbmVlZCB0byBiZQorICAgY2xvc2VkIHdoZW4gZG9uZSB3aXRoIHRoZSBvYmplY3Qgc3RvcmUiLCBhbmQgdGhlIGZpbGUgZGVzY3JpcHRvciB0bworICAgYW4gZXhpc3RpbmcgY29tbWl0LWdyYXBoIGZpbGUgbm93IGlzIGNsb3NlZCBiZWZvcmUgImdjIiBmaW5hbGl6ZXMgYQorICAgbmV3IGluc3RhbmNlIHRvIHJlcGxhY2UgaXQuCisKKyAqIENvZGUgcmVzdHJ1Y3R1cmluZyBkdXJpbmcgMi4yMCBwZXJpb2QgYnJva2UgZmV0Y2hpbmcgdGFncyB2aWEKKyAgICJpbXBvcnQiIGJhc2VkIHRyYW5zcG9ydHMuCisKKyAqIFdlIGhhdmUgYmVlbiB0cnlpbmcgb3V0IGEgZmV3IGxhbmd1YWdlIGZlYXR1cmVzIG91dHNpZGUgYzg5OyB0aGUKKyAgIGNvZGluZyBndWlkZWxpbmVzIGRvY3VtZW50IGRpZCBub3QgdGFsayBhYm91dCB0aGVtIGFuZCBpbnN0ZWFkIGhhZAorICAgYSBibGFua2V0IGJhbiBhZ2FpbnN0IHRoZW0uCisKKyAqIFRoZSBpbnRlcm5hbCBkaWZmIG1hY2hpbmVyeSBjYW4gYmUgbWFkZSB0byByZWFkIG91dCBvZiBib3VuZHMgd2hpbGUKKyAgIGxvb2tpbmcgZm9yIC0tZnVuY2lvbi1jb250ZXh0IGxpbmUgaW4gYSBjb3JuZXIgY2FzZSwgd2hpY2ggaGFzIGJlZW4KKyAgIGNvcnJlY3RlZC4KKworQWxzbyBjb250YWlucyB2YXJpb3VzIGRvY3VtZW50YXRpb24gdXBkYXRlcywgY29kZSBjbGVhbi11cHMgYW5kIG1pbm9yIGZpeHVwcy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yMi4yLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yMi4yLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDBhMjNmCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjIyLjIudHh0CkBAIC0wLDAgKzEsOCBAQAorR2l0IHYyLjIyLjIgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PQorCitUaGlzIHJlbGVhc2UgbWVyZ2VzIHVwIHRoZSBmaXhlcyB0aGF0IGFwcGVhciBpbiB2Mi4xNC42LCB2Mi4xNS40LAordjIuMTcuMywgdjIuMjAuMiBhbmQgaW4gdjIuMjEuMSwgYWRkcmVzc2luZyB0aGUgc2VjdXJpdHkgaXNzdWVzCitDVkUtMjAxOS0xMzQ4LCBDVkUtMjAxOS0xMzQ5LCBDVkUtMjAxOS0xMzUwLCBDVkUtMjAxOS0xMzUxLAorQ1ZFLTIwMTktMTM1MiwgQ1ZFLTIwMTktMTM1MywgQ1ZFLTIwMTktMTM1NCwgQ1ZFLTIwMTktMTM4NywgYW5kCitDVkUtMjAxOS0xOTYwNDsgc2VlIHRoZSByZWxlYXNlIG5vdGVzIGZvciB0aG9zZSB2ZXJzaW9ucyBmb3IgZGV0YWlscy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yMy4wLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yMy4wLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lM2M0ZTc4Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjIzLjAudHh0CkBAIC0wLDAgKzEsMzQ4IEBACitHaXQgMi4yMyBSZWxlYXNlIE5vdGVzCis9PT09PT09PT09PT09PT09PT09PT09CisKK1VwZGF0ZXMgc2luY2UgdjIuMjIKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQmFja3dhcmQgY29tcGF0aWJpbGl0eSBub3RlCisKKyAqIFRoZSAiLS1iYXNlIiBvcHRpb24gb2YgImZvcm1hdC1wYXRjaCIgY29tcHV0ZWQgdGhlIHBhdGNoLWlkcyBmb3IKKyAgIHByZXJlcXVpc2l0ZSBwYXRjaGVzIGluIGFuIHVuc3RhYmxlIHdheSwgd2hpY2ggaGFzIGJlZW4gdXBkYXRlZCB0bworICAgY29tcHV0ZSBpbiBhIHdheSB0aGF0IGlzIGNvbXBhdGlibGUgd2l0aCAiZ2l0IHBhdGNoLWlkIC0tc3RhYmxlIi4KKworICogVGhlICJnaXQgbG9nIiBjb21tYW5kIGJ5IGRlZmF1bHQgYmVoYXZlcyBhcyBpZiB0aGUgLS1tYWlsbWFwIG9wdGlvbgorICAgd2FzIGdpdmVuLgorCisKK1VJLCBXb3JrZmxvd3MgJiBGZWF0dXJlcworCisgKiBUaGUgImdpdCBmYXN0LWV4cG9ydC9pbXBvcnQiIHBhaXIgaGFzIGJlZW4gdGF1Z2h0IHRvIGhhbmRsZSBjb21taXRzCisgICB3aXRoIGxvZyBtZXNzYWdlcyBpbiBlbmNvZGluZyBvdGhlciB0aGFuIFVURi04IGJldHRlci4KKworICogSW4gcmVjZW50IHZlcnNpb25zIG9mIEdpdCwgcGVyLXdvcmt0cmVlIHJlZnMgYXJlIGV4cG9zZWQgaW4KKyAgIHJlZnMvd29ya3RyZWVzLzx3dG5hbWU+LyBoaWVyYXJjaHksIHdoaWNoIG1lYW5zIHRoYXQgd29ya3RyZWUgbmFtZXMKKyAgIG11c3QgYmUgYSB2YWxpZCByZWZuYW1lIGNvbXBvbmVudC4gIFRoZSBjb2RlIG5vdyBzYW5pdGl6ZXMgdGhlIG5hbWVzCisgICBnaXZlbiB0byB3b3JrdHJlZXMsIHRvIG1ha2Ugc3VyZSB0aGVzZSByZWZzIGFyZSB3ZWxsLWZvcm1lZC4KKworICogImdpdCBtZXJnZSIgbGVhcm5lZCAiLS1xdWl0IiBvcHRpb24gdGhhdCBjbGVhbnMgdXAgdGhlIGluLXByb2dyZXNzCisgICBtZXJnZSB3aGlsZSBsZWF2aW5nIHRoZSB3b3JraW5nIHRyZWUgYW5kIHRoZSBpbmRleCBzdGlsbCBpbiBhIG1lc3MuCisKKyAqICJnaXQgZm9ybWF0LXBhdGNoIiBsZWFybnMgYSBjb25maWd1cmF0aW9uIHRvIHNldCB0aGUgZGVmYXVsdCBmb3IKKyAgIGl0cyAtLW5vdGVzPTxyZWY+IG9wdGlvbi4KKworICogVGhlIGNvZGUgdG8gc2hvdyBhcmdzIHdpdGggcG90ZW50aWFsIHR5cG8gdGhhdCBjYW5ub3QgYmUKKyAgIGludGVycHJldGVkIGFzIGEgY29tbWl0LWlzaCBoYXMgYmVlbiBpbXByb3ZlZC4KKworICogImdpdCBjbG9uZSAtLXJlY3Vyc2Utc3VibW9kdWxlcyIgbGVhcm5lZCB0byBzZXQgdXAgdGhlIHN1Ym1vZHVsZXMKKyAgIHRvIGlnbm9yZSBjb21taXQgb2JqZWN0IG5hbWVzIHJlY29yZGVkIGluIHRoZSBzdXBlcnByb2plY3QgZ2l0bGluaworICAgYW5kIGluc3RlYWQgdXNlIHRoZSBjb21taXRzIHRoYXQgaGFwcGVuIHRvIGJlIGF0IHRoZSB0aXAgb2YgdGhlCisgICByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgZnJvbSB0aGUgZ2V0LWdvLCBieSBwYXNzaW5nIHRoZSBuZXcKKyAgICItLXJlbW90ZS1zdWJtb2R1bGVzIiBvcHRpb24uCisKKyAqIFRoZSBwYXR0ZXJuICJnaXQgZGlmZi9ncmVwIiB1c2UgdG8gZXh0cmFjdCBmdW5jbmFtZSBhbmQgd29yZHMKKyAgIGJvdW5kYXJ5IGZvciBNYXRsYWIgaGFzIGJlZW4gZXh0ZW5kIHRvIGNvdmVyIE9jdGF2ZSwgd2hpY2ggaXMgbW9yZQorICAgb3IgbGVzcyBlcXVpdmFsZW50LgorCisgKiAiZ2l0IGhlbHAgZ2l0IiB3YXMgaGFyZCB0byBkaXNjb3ZlciAod2VsbCwgYXQgbGVhc3QgZm9yIHNvbWUKKyAgIHBlb3BsZSkuCisKKyAqIFRoZSBwYXR0ZXJuICJnaXQgZGlmZi9ncmVwIiB1c2UgdG8gZXh0cmFjdCBmdW5jbmFtZSBhbmQgd29yZHMKKyAgIGJvdW5kYXJ5IGZvciBSdXN0IGhhcyBiZWVuIGFkZGVkLgorCisgKiAiZ2l0IHN0YXR1cyIgY2FuIGJlIHRvbGQgYSBub24tc3RhbmRhcmQgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlCisgICAiLS1bbm8tXWFoZWFkLWJlaGluZCIgb3B0aW9uIHdpdGggYSBuZXcgY29uZmlndXJhdGlvbiB2YXJpYWJsZQorICAgc3RhdHVzLmFoZWFkQmVoaW5kLgorCisgKiAiZ2l0IGZldGNoIiBhbmQgImdpdCBwdWxsIiByZXBvcnRzIHdoZW4gYSBmZXRjaCByZXN1bHRzIGluCisgICBub24tZmFzdC1mb3J3YXJkIHVwZGF0ZXMgdG8gbGV0IHRoZSB1c2VyIG5vdGljZSB1bnVzdWFsIHNpdHVhdGlvbi4KKyAgIFRoZSBjb21tYW5kcyBsZWFybmVkICItLW5vLXNob3ctZm9yY2VkLXVwZGF0ZXMiIG9wdGlvbiB0byBkaXNhYmxlCisgICB0aGlzIHNhZmV0eSBmZWF0dXJlLgorCisgKiBUd28gbmV3IGNvbW1hbmRzICJnaXQgc3dpdGNoIiBhbmQgImdpdCByZXN0b3JlIiBhcmUgaW50cm9kdWNlZCB0bworICAgc3BsaXQgImNoZWNraW5nIG91dCBhIGJyYW5jaCB0byB3b3JrIG9uIGFkdmFuY2luZyBpdHMgaGlzdG9yeSIgYW5kCisgICAiY2hlY2tpbmcgb3V0IHBhdGhzIG91dCBvZiB0aGUgaW5kZXggYW5kL29yIGEgdHJlZS1pc2ggdG8gd29yayBvbgorICAgYWR2YW5jaW5nIHRoZSBjdXJyZW50IGhpc3RvcnkiIG91dCBvZiB0aGUgc2luZ2xlICJnaXQgY2hlY2tvdXQiCisgICBjb21tYW5kLgorCisgKiAiZ2l0IGJyYW5jaCAtLWxpc3QiIGxlYXJuZWQgdG8gYWx3YXlzIG91dHB1dCB0aGUgZGV0YWNoZWQgSEVBRCBhcworICAgdGhlIGZpcnN0IGl0ZW0gKHdoZW4gdGhlIEhFQUQgaXMgZGV0YWNoZWQsIG9mIGNvdXJzZSksIHJlZ2FyZGxlc3MKKyAgIG9mIHRoZSBsb2NhbGUuCisKKyAqIFRoZSBjb25kaXRpb25hbCBpbmNsdXNpb24gbWVjaGFuaXNtIGxlYXJuZWQgdG8gYmFzZSB0aGUgY2hvaWNlIG9uCisgICB0aGUgYnJhbmNoIHRoZSBIRUFEIGN1cnJlbnRseSBpcyBvbi4KKworICogImdpdCByZXYtbGlzdCAtLW9iamVjdHMiIGxlYXJuZWQgdGhlICItLW5vLW9iamVjdC1uYW1lcyIgb3B0aW9uIHRvCisgICBzcXVlbGNoIHRoZSBwYXRoIHRvIHRoZSBvYmplY3QgdGhhdCBpcyB1c2VkIGFzIGEgZ3JvdXBpbmcgaGludCBmb3IKKyAgIHBhY2stb2JqZWN0cy4KKworICogQSBuZXcgdGFnLmdwZ1NpZ24gY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0dXJucyAiZ2l0IHRhZyAtYSIgaW50bworICAgImdpdCB0YWcgLXMiLgorCisgKiAiZ2l0IG11bHRpLXBhY2staW5kZXgiIGxlYXJuZWQgZXhwaXJlIGFuZCByZXBhY2sgc3ViY29tbWFuZHMuCisKKyAqICJnaXQgYmxhbWUiIGxlYXJuZWQgdG8gImlnbm9yZSIgY29tbWl0cyBpbiB0aGUgaGlzdG9yeSwgd2hvc2UKKyAgIGVmZmVjdHMgKGFzIHdlbGwgYXMgdGhlaXIgcHJlc2VuY2UpIGdldCBpZ25vcmVkLgorCisgKiAiZ2l0IGNoZXJyeS1waWNrL3JldmVydCIgbGVhcm5lZCBhIG5ldyAiLS1za2lwIiBhY3Rpb24uCisKKyAqIFRoZSB0aXBzIG9mIHJlZnMgZnJvbSB0aGUgYWx0ZXJuYXRlIG9iamVjdCBzdG9yZSBjYW4gYmUgdXNlZCBhcworICAgc3RhcnRpbmcgcG9pbnQgZm9yIHJlYWNoYWJpbGl0eSBjb21wdXRhdGlvbiBub3cuCisKKyAqIEV4dHJhIGJsYW5rIGxpbmVzIGluICJnaXQgc3RhdHVzIiBvdXRwdXQgaGF2ZSBiZWVuIHJlZHVjZWQuCisKKyAqIFRoZSBjb21taXRzIGluIGEgcmVwb3NpdG9yeSBjYW4gYmUgZGVzY3JpYmVkIGJ5IG11bHRpcGxlCisgICBjb21taXQtZ3JhcGggZmlsZXMgbm93LCB3aGljaCBhbGxvd3MgdGhlIGNvbW1pdC1ncmFwaCBmaWxlcyB0byBiZQorICAgdXBkYXRlZCBpbmNyZW1lbnRhbGx5LgorCisgKiAiZ2l0IHJhbmdlLWRpZmYiIG91dHB1dCBoYXMgYmVlbiB0d2Vha2VkIGZvciBlYXNpZXIgaWRlbnRpZmljYXRpb24KKyAgIG9mIHdoaWNoIHBhcnQgb2Ygd2hhdCBmaWxlIHRoZSBwYXRjaCBzaG93biBpcyBhYm91dC4KKworCitQZXJmb3JtYW5jZSwgSW50ZXJuYWwgSW1wbGVtZW50YXRpb24sIERldmVsb3BtZW50IFN1cHBvcnQgZXRjLgorCisgKiBVcGRhdGUgc3VwcG9ydGluZyBwYXJ0cyBvZiAiZ2l0IHJlYmFzZSIgdG8gcmVtb3ZlIGNvZGUgdGhhdCBzaG91bGQKKyAgIG5vIGxvbmdlciBiZSB1c2VkLgorCisgKiBEZXZlbG9wZXIgc3VwcG9ydCB0byBlbXVsYXRlIHVuc2F0aXNmaWVkIHByZXJlcXVpc2l0ZXMgaW4gdGVzdHMgdG8KKyAgIGVuc3VyZSB0aGF0IHRoZSByZW1haW5kZXIgb2YgdGhlIHRlc3RzIHN0aWxsIHN1Y2NlZWRzIHdoZW4gdGVzdHMKKyAgIHdpdGggcHJlcmVxdWlzaXRlcyBhcmUgc2tpcHBlZC4KKworICogImdpdCB1cGRhdGUtc2VydmVyLWluZm8iIGxlYXJuZWQgbm90IHRvIHJld3JpdGUgdGhlIGZpbGUgd2l0aCB0aGUKKyAgIHNhbWUgY29udGVudHMuCisKKyAqIFRoZSB3YXkgb2Ygc3BlY2lmeWluZyB0aGUgcGF0aCB0byBmaW5kIGR5bmFtaWMgbGlicmFyaWVzIGF0IHJ1bnRpbWUKKyAgIGhhcyBiZWVuIHNpbXBsaWZpZWQuICBUaGUgb2xkIGRlZmF1bHQgdG8gcGFzcyAtUi9wYXRoL3RvL2RpciBoYXMgYmVlbgorICAgcmVwbGFjZWQgd2l0aCB0aGUgbmV3IGRlZmF1bHQgdG8gcGFzcyAtV2wsLXJwYXRoLC9wYXRoL3RvL2RpciwKKyAgIHdoaWNoIGlzIHRoZSBtb3JlIHJlY2VudCBHQ0MgdXNlcy4gIFRob3NlIHdobyBuZWVkIHRvIGJ1aWxkIHdpdGggYW4KKyAgIG9sZCBHQ0MgY2FuIHN0aWxsIHVzZSAiQ0NfTERfRFlOUEFUSD0tUiIKKworICogUHJlcGFyZSB1c2Ugb2YgcmVhY2hhYmlsaXR5IGluZGV4IGluIHRvcG9sb2dpY2FsIHdhbGtlciB0aGF0IHdvcmtzCisgICBvbiBhIHJhbmdlIChBLi5CKS4KKworICogQSBuZXcgdHV0b3JpYWwgdGFyZ2V0aW5nIHNwZWNpZmljYWxseSBhc3BpcmluZyBnaXQtY29yZQorICAgZGV2ZWxvcGVycyBoYXMgYmVlbiBhZGRlZC4KKworICogQXV0by1kZXRlY3QgaG93IHRvIHRlbGwgSFAtVVggYUNDIHdoZXJlIHRvIHVzZSBkeW5hbWljYWxseSBsaW5rZWQKKyAgIGxpYnJhcmllcyBmcm9tIGF0IHJ1bnRpbWUuCisKKyAqICJnaXQgbWVyZ2V0b29sIiBhbmQgaXRzIHRlc3RzIG5vdyBzcGF3biBmZXdlciBzdWJwcm9jZXNzZXMuCisKKyAqIERldiBzdXBwb3J0IHVwZGF0ZSB0byBoZWxwIHRyYWNpbmcgb3V0IHRlc3RzLgorCisgKiBTdXBwb3J0IHRvIGJ1aWxkIHdpdGggTVNWQyBoYXMgYmVlbiB1cGRhdGVkLgorCisgKiAiZ2l0IGZldGNoIiB0aGF0IGdyYWJzIGZyb20gYSBncm91cCBvZiByZW1vdGVzIGxlYXJuZWQgdG8gcnVuIHRoZQorICAgYXV0by1nYyBvbmx5IG9uY2UgYXQgdGhlIHZlcnkgZW5kLgorCisgKiBBIGhhbmRmdWwgb2YgV2luZG93cyBidWlsZCBwYXRjaGVzIGhhdmUgYmVlbiB1cHN0cmVhbWVkLgorCisgKiBUaGUgY29kZSB0byByZWFkIHN0YXRlIGZpbGVzIHVzZWQgYnkgdGhlIHNlcXVlbmNlciBtYWNoaW5lcnkgZm9yCisgICAiZ2l0IHN0YXR1cyIgaGFzIGJlZW4gbWFkZSBtb3JlIHJvYnVzdCBhZ2FpbnN0IGEgY29ycnVwdCBvciBzdGFsZQorICAgc3RhdGUgZmlsZXMuCisKKyAqICJnaXQgZm9yLWVhY2gtcmVmIiB3aXRoIG11bHRpcGxlIHBhdHRlcm5zIGhhdmUgYmVlbiBvcHRpbWl6ZWQuCisKKyAqIFRoZSB0cmVlLXdhbGsgQVBJIGxlYXJuZWQgdG8gcGFzcyBhbiBpbi1jb3JlIHJlcG9zaXRvcnkKKyAgIGluc3RhbmNlIHRocm91Z2hvdXQgbW9yZSBjb2RlcGF0aHMuCisKKyAqIFdoZW4gb25lIHN0ZXAgaW4gbXVsdGkgc3RlcCBjaGVycnktcGljayBvciByZXZlcnQgaXMgcmVzZXQgb3IKKyAgIGNvbW1pdHRlZCwgdGhlIGNvbW1hbmQgbGluZSBwcm9tcHQgc2NyaXB0IGZhaWxlZCB0byBub3RpY2UgdGhlCisgICBjdXJyZW50IHN0YXR1cywgd2hpY2ggaGFzIGJlZW4gaW1wcm92ZWQuCisKKyAqIE1hbnkgR0lUX1RFU1RfKiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgY29udHJvbCB2YXJpb3VzIGFzcGVjdHMgb2YKKyAgIGhvdyBvdXIgdGVzdHMgYXJlIHJ1biwgYnV0IGEgZmV3IGZvbGxvd2VkICJub24tZW1wdHkgaXMgdHJ1ZSwgZW1wdHkKKyAgIG9yIHVuc2V0IGlzIGZhbHNlIiB3aGlsZSBvdGhlcnMgZm9sbG93ZWQgdGhlIHVzdWFsICJ0aGVyZSBhcmUgYSBmZXcKKyAgIHdheXMgdG8gc3BlbGwgdHJ1ZSwgbGlrZSB5ZXMsIG9uLCBldGMuLCBhbmQgYWxzbyB3YXlzIHRvIHNwZWxsCisgICBmYWxzZSwgbGlrZSBubywgb2ZmLCBldGMuIiBjb252ZW50aW9uLgorCisgKiBBZGp1c3QgdGhlIGRpci1pdGVyYXRvciBBUEkgYW5kIGFwcGx5IGl0IHRvIHRoZSBsb2NhbCBjbG9uZQorICAgb3B0aW1pemF0aW9uIGNvZGVwYXRoLgorCisgKiBXZSBoYXZlIGJlZW4gdHJ5aW5nIG91dCBhIGZldyBsYW5ndWFnZSBmZWF0dXJlcyBvdXRzaWRlIGM4OTsgdGhlCisgICBjb2RpbmcgZ3VpZGVsaW5lcyBkb2N1bWVudCBkaWQgbm90IHRhbGsgYWJvdXQgdGhlbSBhbmQgaW5zdGVhZCBoYWQKKyAgIGEgYmxhbmtldCBiYW4gYWdhaW5zdCB0aGVtLgorCisgKiBBIHRlc3QgaGVscGVyIGhhcyBiZWVuIGludHJvZHVjZWQgdG8gb3B0aW1pemUgcHJlcGFyYXRpb24gb2YgdGVzdAorICAgcmVwb3NpdG9yaWVzIHdpdGggbWFueSBzaW1wbGUgY29tbWl0cywgYW5kIGEgaGFuZGZ1bCBvZiB0ZXN0CisgICBzY3JpcHRzIGhhdmUgYmVlbiB1cGRhdGVkIHRvIHVzZSBpdC4KKworCitGaXhlcyBzaW5jZSB2Mi4yMgorLS0tLS0tLS0tLS0tLS0tLS0KKworICogQSByZWxhdGl2ZSBwYXRobmFtZSBnaXZlbiB0byAiZ2l0IGluaXQgLS10ZW1wbGF0ZT08cGF0aD4gPHJlcG8+IgorICAgb3VnaHQgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIGRpcmVjdG9yeSAiZ2l0IGluaXQiIGdldHMgaW52b2tlZCBpbiwKKyAgIGJ1dCBpdCBpbnN0ZWFkIHdhcyBtYWRlIHJlbGF0aXZlIHRvIHRoZSByZXBvc2l0b3J5LCB3aGljaCBoYXMgYmVlbgorICAgY29ycmVjdGVkLgorCisgKiAiZ2l0IHdvcmt0cmVlIGFkZCIgdXNlZCB0byBmYWlsIHdoZW4gYW5vdGhlciB3b3JrdHJlZSBjb25uZWN0ZWQgdG8KKyAgIHRoZSBzYW1lIHJlcG9zaXRvcnkgd2FzIGNvcnJ1cHQsIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogVGhlIG93bmVyc2hpcCBydWxlIGZvciB0aGUgZmlsZSBkZXNjcmlwdG9yIHRvIGZhc3QtaW1wb3J0IHJlbW90ZQorICAgYmFja2VuZCB3YXMgbWl4ZWQgdXAsIGxlYWRpbmcgdG8gYW4gdW5yZWxhdGVkIGZpbGUgZGVzY3JpcHRvciBnZXR0aW5nCisgICBjbG9zZWQsIHdoaWNoIGhhcyBiZWVuIGZpeGVkLgorCisgKiBBICJtZXJnZSAtYyIgaW5zdHJ1Y3Rpb24gZHVyaW5nICJnaXQgcmViYXNlIC0tcmViYXNlLW1lcmdlcyIgc2hvdWxkCisgICBnaXZlIHRoZSB1c2VyIGEgY2hhbmNlIHRvIGVkaXQgdGhlIGxvZyBtZXNzYWdlLCBldmVuIHdoZW4gdGhlcmUgaXMKKyAgIG90aGVyd2lzZSBubyBuZWVkIHRvIGNyZWF0ZSBhIG5ldyBtZXJnZSBhbmQgcmVwbGFjZSB0aGUgZXhpc3RpbmcKKyAgIG9uZSAoaS5lLiBmYXN0LWZvcndhcmQgaW5zdGVhZCksIGJ1dCBkaWQgbm90LiAgV2hpY2ggaGFzIGJlZW4KKyAgIGNvcnJlY3RlZC4KKworICogQ29kZSBjbGVhbnVwIGFuZCBmdXR1cmVwcm9vZi4KKworICogTW9yZSBwYXJhbWV0ZXIgdmFsaWRhdGlvbi4KKworICogImdpdCB1cGRhdGUtc2VydmVyLWluZm8iIHVzZWQgdG8gbGVhdmUgc3RhbGUgcGFja2ZpbGVzIGluIGl0cworICAgb3V0cHV0LCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqIFRoZSBzZXJ2ZXIgc2lkZSBzdXBwb3J0IGZvciAiZ2l0IGZldGNoIiB1c2VkIHRvIHNob3cgaW5jb3JyZWN0CisgICB2YWx1ZSBmb3IgdGhlIEhFQUQgc3ltYm9saWMgcmVmIHdoZW4gdGhlIG5hbWVzcGFjZSBmZWF0dXJlIGlzIGluCisgICB1c2UsIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogImdpdCBhbSAtaSAtLXJlc29sdmVkIiBzZWdmYXVsdGVkIGFmdGVyIHRyeWluZyB0byBzZWUgYSBjb21taXQgYXMKKyAgIGlmIGl0IHdlcmUgYSB0cmVlLCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqICJnaXQgYnVuZGxlIHZlcmlmeSIgbmVlZHMgdG8gc2VlIGlmIHByZXJlcXVpc2l0ZSBvYmplY3RzIGV4aXN0IGluCisgICB0aGUgcmVjZWl2aW5nIHJlcG9zaXRvcnksIGJ1dCB0aGUgY29tbWFuZCBkaWQgbm90IGNoZWNrIGlmIHdlIGFyZQorICAgaW4gYSByZXBvc2l0b3J5IHVwZnJvbnQsIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogImdpdCBtZXJnZSAtLXNxdWFzaCIgaXMgZGVzaWduZWQgdG8gdXBkYXRlIHRoZSB3b3JraW5nIHRyZWUgYW5kIHRoZQorICAgaW5kZXggd2l0aG91dCBjcmVhdGluZyB0aGUgY29tbWl0LCBhbmQgdGhpcyBjYW5ub3QgYmUgY291bnRlcm1hbmRlZAorICAgYnkgYWRkaW5nIHRoZSAiLS1jb21taXQiIG9wdGlvbjsgdGhlIGNvbW1hbmQgbm93IHJlZnVzZXMgdG8gd29yaworICAgd2hlbiBib3RoIG9wdGlvbnMgYXJlIGdpdmVuLgorCisgKiBUaGUgZGF0YSBjb2xsZWN0ZWQgYnkgZnNtb25pdG9yIHdhcyBub3QgcHJvcGVybHkgd3JpdHRlbiBiYWNrIHRvCisgICB0aGUgb24tZGlzayBpbmRleCBmaWxlLCBicmVha2luZyB0NzUxOSB0ZXN0cyBvY2Nhc2lvbmFsbHksIHdoaWNoCisgICBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqIFVwZGF0ZSB0byBVbmljb2RlIDEyLjEgd2lkdGggdGFibGUuCisKKyAqIFRoZSBjb21tYW5kIGxpbmUgdG8gaW52b2tlIGEgImdpdCBjYXQtZmlsZSIgY29tbWFuZCBmcm9tIGluc2lkZQorICAgImdpdCBwNCIgd2FzIG5vdCBwcm9wZXJseSBxdW90ZWQgdG8gcHJvdGVjdCBhIGNhcmV0IGFuZCBydW5uaW5nIGEKKyAgIGJyb2tlbiBjb21tYW5kIG9uIFdpbmRvd3MsIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogImdpdCByZXF1ZXN0LXB1bGwiIGxlYXJuZWQgdG8gd2FybiB3aGVuIHRoZSByZWYgd2UgYXNrIHRoZW0gdG8gcHVsbAorICAgZnJvbSBpbiB0aGUgbG9jYWwgcmVwb3NpdG9yeSBhbmQgaW4gdGhlIHB1Ymxpc2hlZCByZXBvc2l0b3J5IGFyZQorICAgZGlmZmVyZW50LgorCisgKiBXaGVuIGNyZWF0aW5nIGEgcGFydGlhbCBjbG9uZSwgdGhlIG9iamVjdCBmaWx0ZXJpbmcgY3JpdGVyaWEgaXMKKyAgIHJlY29yZGVkIGZvciB0aGUgb3JpZ2luIG9mIHRoZSBjbG9uZSwgYnV0IHRoaXMgaW5jb3JyZWN0bHkgdXNlZCBhCisgICBoYXJkY29kZWQgbmFtZSAib3JpZ2luIiB0byBuYW1lIHRoYXQgcmVtb3RlOyBpdCBoYXMgYmVlbiBjb3JyZWN0ZWQKKyAgIHRvIGhvbm9yIHRoZSAiLS1vcmlnaW4gPG5hbWU+IiBvcHRpb24uCisKKyAqICJnaXQgZmV0Y2giIGludG8gYSBsYXp5IGNsb25lIGZvcmdvdCB0byBmZXRjaCBiYXNlIG9iamVjdHMgdGhhdCBhcmUKKyAgIG5lY2Vzc2FyeSB0byBjb21wbGV0ZSBkZWx0YSBpbiBhIHRoaW4gcGFja2ZpbGUsIHdoaWNoIGhhcyBiZWVuCisgICBjb3JyZWN0ZWQuCisKKyAqIFRoZSBmaWx0ZXJfZGF0YSB1c2VkIGluIHRoZSBsaXN0LW9iamVjdHMtZmlsdGVyICh3aGljaCBtYW5hZ2VzIGEKKyAgIGxhemlseSBzcGFyc2UgY2xvbmUgcmVwb3NpdG9yeSkgZGlkIG5vdCB1c2UgdGhlIGR5bmFtaWMgYXJyYXkgQVBJCisgICBjb3JyZWN0bHktLS0nbnInIGlzIHN1cHBvc2VkIHRvIHBvaW50IGF0IG9uZSBwYXN0IHRoZSBsYXN0IGVsZW1lbnQKKyAgIG9mIHRoZSBhcnJheSBpbiB1c2UuICBUaGlzIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogVGhlIGRlc2NyaXB0aW9uIGFib3V0IHNsYXNoZXMgaW4gZ2l0aWdub3JlIHBhdHRlcm5zICh1c2VkIHRvCisgICBpbmRpY2F0ZSB0aGluZ3MgbGlrZSAiYW5jaG9yZWQgdG8gdGhpcyBsZXZlbCBvbmx5IiBhbmQgIm9ubHkKKyAgIG1hdGNoZXMgZGlyZWN0b3JpZXMiKSBoYXMgYmVlbiByZXZhbXBlZC4KKworICogVGhlIFVSTCBkZWNvZGluZyBjb2RlIGhhcyBiZWVuIHVwZGF0ZWQgdG8gYXZvaWQgZ29pbmcgcGFzdCB0aGUgZW5kCisgICBvZiB0aGUgc3RyaW5nIHdoaWxlIHBhcnNpbmcgJS08aGV4Pi08aGV4PiBzZXF1ZW5jZS4KKworICogVGhlIGxpc3Qgb2YgZm9yLWVhY2ggbGlrZSBtYWNyb3MgdXNlZCBieSBjbGFuZy1mb3JtYXQgaGFzIGJlZW4KKyAgIHVwZGF0ZWQuCisKKyAqICJnaXQgYnJhbmNoIC0tbGlzdCIgbGVhcm5lZCB0byBzaG93IGJyYW5jaGVzIHRoYXQgYXJlIGNoZWNrZWQgb3V0CisgICBpbiBvdGhlciB3b3JrdHJlZXMgY29ubmVjdGVkIHRvIHRoZSBzYW1lIHJlcG9zaXRvcnkgcHJlZml4ZWQgd2l0aAorICAgJysnLCBzaW1pbGFyIHRvIHRoZSB3YXkgdGhlIGN1cnJlbnRseSBjaGVja2VkIG91dCBicmFuY2ggaXMgc2hvd24KKyAgIHdpdGggJyonIGluIGZyb250LgorICAgKG1lcmdlIDZlOTM4MTQ2OWUgbmIvYnJhbmNoLXNob3ctb3RoZXItd29ya3RyZWVzLWhlYWQgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBDb2RlIHJlc3RydWN0dXJpbmcgZHVyaW5nIDIuMjAgcGVyaW9kIGJyb2tlIGZldGNoaW5nIHRhZ3MgdmlhCisgICAiaW1wb3J0IiBiYXNlZCB0cmFuc3BvcnRzLgorCisgKiBUaGUgY29tbWl0LWdyYXBoIGZpbGUgaXMgbm93IHBhcnQgb2YgdGhlICJmaWxlcyB0aGF0IHRoZSBydW50aW1lCisgICBtYXkga2VlcCBvcGVuIGZpbGUgZGVzY3JpcHRvcnMgb24sIGFsbCBvZiB3aGljaCB3b3VsZCBuZWVkIHRvIGJlCisgICBjbG9zZWQgd2hlbiBkb25lIHdpdGggdGhlIG9iamVjdCBzdG9yZSIsIGFuZCB0aGUgZmlsZSBkZXNjcmlwdG9yIHRvCisgICBhbiBleGlzdGluZyBjb21taXQtZ3JhcGggZmlsZSBub3cgaXMgY2xvc2VkIGJlZm9yZSAiZ2MiIGZpbmFsaXplcyBhCisgICBuZXcgaW5zdGFuY2UgdG8gcmVwbGFjZSBpdC4KKworICogImdpdCBjaGVja291dCAtcCIgbmVlZHMgdG8gc2VsZWN0aXZlbHkgYXBwbHkgYSBwYXRjaCBpbiByZXZlcnNlLAorICAgd2hpY2ggZGlkIG5vdCB3b3JrIHdlbGwuCisKKyAqIENvZGUgY2xlYW4tdXAgdG8gYXZvaWQgc2lnbmVkIGludGVnZXIgd3JhcGFyb3VuZHMgZHVyaW5nIGJpbmFyeSBzZWFyY2guCisKKyAqICJnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIiBhbHdheXMgdHJlYXRlZCAnIycgYXMgdGhlIGNvbW1lbnQKKyAgIGNoYXJhY3RlciwgcmVnYXJkbGVzcyBvZiBjb3JlLmNvbW1lbnRDaGFyIHNldHRpbmcsIHdoaWNoIGhhcyBiZWVuCisgICBjb3JyZWN0ZWQuCisKKyAqICJnaXQgc3Rhc2ggc2hvdyAyMyIgdXNlZCB0byB3b3JrLCBidXQgbm8gbW9yZSBhZnRlciBnZXR0aW5nCisgICByZXdyaXR0ZW4gaW4gQzsgdGhpcyByZWdyZXNzaW9uIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogImdpdCByZWJhc2UgLS1hYm9ydCIgdXNlZCB0byBsZWF2ZSByZWZzL3Jld3JpdHRlbi8gd2hlbiBjb25jbHVkaW5nCisgICAiZ2l0IHJlYmFzZSAtciIsIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogQW4gaW5jb3JyZWN0IGxpc3Qgb2Ygb3B0aW9ucyB3YXMgY2FjaGVkIGFmdGVyIGNvbW1hbmQgbGluZQorICAgY29tcGxldGlvbiBmYWlsZWQgKGUuZy4gdHJ5aW5nIHRvIGNvbXBsZXRlIGEgY29tbWFuZCB0aGF0IHJlcXVpcmVzCisgICBhIHJlcG9zaXRvcnkgb3V0c2lkZSBvbmUpLCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqIFRoZSBjb2RlIHRvIHBhcnNlIHNjYWxlZCBudW1iZXJzIG91dCBvZiBjb25maWd1cmF0aW9uIGZpbGVzIGhhcworICAgYmVlbiBtYWRlIG1vcmUgcm9idXN0IGFuZCBhbHNvIGVhc2llciB0byBmb2xsb3cuCisKKyAqIFRoZSBjb2RlcGF0aCB0byBjb21wdXRlIGRlbHRhIGlzbGFuZHMgdXNlZCB0byBzcGV3IHByb2dyZXNzIG91dHB1dAorICAgd2l0aG91dCBnaXZpbmcgdGhlIGNhbGxlcnMgYW55IHdheSB0byBzcXVlbGNoIGl0LCB3aGljaCBoYXMgYmVlbgorICAgZml4ZWQuCisKKyAqIFByb3RvY29sIGNhcGFiaWxpdGllcyB0aGF0IGdvIG92ZXIgd2lyZSBzaG91bGQgbmV2ZXIgYmUgdHJhbnNsYXRlZCwKKyAgIGJ1dCBpdCB3YXMgaW5jb3JyZWN0bHkgbWFya2VkIGZvciB0cmFuc2xhdGlvbiwgd2hpY2ggaGFzIGJlZW4KKyAgIGNvcnJlY3RlZC4gIFRoZSBvdXRwdXQgb2YgcHJvdG9jb2wgY2FwYWJpbGl0aWVzIGZvciBkZWJ1Z2dpbmcgaGFzCisgICBiZWVuIHR3ZWFrZWQgYSBiaXQuCisKKyAqIFVzZSAiRXJhc2UgaW4gTGluZSIgQ1NJIHNlcXVlbmNlIHRoYXQgaXMgYWxyZWFkeSB1c2VkIGluIHRoZSBlZGl0b3IKKyAgIHN1cHBvcnQgdG8gY2xlYXIgY3J1ZnQgaW4gdGhlIHByb2dyZXNzIG91dHB1dC4KKworICogImdpdCBzdWJtb2R1bGUgZm9yZWFjaCIgZGlkIG5vdCBwcm90ZWN0IGNvbW1hbmQgbGluZSBvcHRpb25zIHBhc3NlZAorICAgdG8gdGhlIGNvbW1hbmQgdG8gYmUgcnVuIGluIGVhY2ggc3VibW9kdWxlIGNvcnJlY3RseSwgd2hlbiB0aGUKKyAgICItLXJlY3Vyc2l2ZSIgb3B0aW9uIHdhcyBpbiB1c2UuCisKKyAqIFRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHJlYmFzZS5yZXNjaGVkdWxlRmFpbGVkRXhlYyBzaG91bGQgYmUKKyAgIGVmZmVjdGl2ZSBvbmx5IHdoaWxlIHJ1bm5pbmcgYW4gaW50ZXJhY3RpdmUgcmViYXNlIGFuZCBzaG91bGQgbm90CisgICBhZmZlY3QgYW55dGhpbmcgd2hlbiBydW5uaW5nIGEgbm9uLWludGVyYWN0aXZlIG9uZSwgd2hpY2ggd2FzIG5vdAorICAgdGhlIGNhc2UuICBUaGlzIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogVGhlICJnaXQgY2xvbmUiIGRvY3VtZW50YXRpb24gcmVmZXJzIHRvIGNvbW1hbmQgbGluZSBvcHRpb25zIGluIGl0cworICAgZGVzY3JpcHRpb24gaW4gdGhlIHNob3J0IGZvcm07IHRoZXkgaGF2ZSBiZWVuIHJlcGxhY2VkIHdpdGggbG9uZworICAgZm9ybXMgdG8gbWFrZSB0aGVtIG1vcmUgcmVjb2duaXNhYmxlLgorCisgKiBHZW5lcmF0aW9uIG9mIHBhY2sgYml0bWFwcyBhcmUgbm93IGRpc2FibGVkIHdoZW4gLmtlZXAgZmlsZXMgZXhpc3QsCisgICBhcyB0aGVzZSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIGZlYXR1cmVzLgorICAgKG1lcmdlIDczMjg0ODIyNTMgZXcvcmVwYWNrLXdpdGgtYml0bWFwcy1ieS1kZWZhdWx0IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBybSIgdG8gcmVzb2x2ZSBhIGNvbmZsaWN0ZWQgcGF0aCBsZWFrZWQgYW4gaW50ZXJuYWwgbWVzc2FnZQorICAgIm5lZWRzIG1lcmdlIiBiZWZvcmUgYWN0dWFsbHkgcmVtb3ZpbmcgdGhlIHBhdGgsIHdoaWNoIHdhcworICAgY29uZnVzaW5nLiAgVGhpcyBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqICJnaXQgc3Rhc2ggLS1rZWVwLWluZGV4IiBkaWQgbm90IHdvcmsgY29ycmVjdGx5IG9uIHBhdGhzIHRoYXQgaGF2ZQorICAgYmVlbiByZW1vdmVkLCB3aGljaCBoYXMgYmVlbiBmaXhlZC4KKyAgIChtZXJnZSBiOTMyZjZhNWU4IHRnL3N0YXNoLWtlZXAtaW5kZXgtd2l0aC1yZW1vdmVkLXBhdGhzIGxhdGVyIHRvIG1haW50KS4KKworICogV2luZG93IDcgdXBkYXRlIDstKQorCisgKiBBIGNvZGVwYXRoIHRoYXQgcmVhZHMgZnJvbSBHUEcgZm9yIHNpZ25lZCBvYmplY3QgdmVyaWZpY2F0aW9uIHJlYWQKKyAgIHBhc3QgdGhlIGVuZCBvZiBhbGxvY2F0ZWQgYnVmZmVyLCB3aGljaCBoYXMgYmVlbiBmaXhlZC4KKworICogImdpdCBjbGVhbiIgc2lsZW50bHkgc2tpcHBlZCBhIHBhdGggd2hlbiBpdCBjYW5ub3QgbHN0YXQoKSBpdDsgbm93CisgICBpdCBnaXZlcyBhIHdhcm5pbmcuCisKKyAqICJnaXQgcHVzaCAtLWF0b21pYyIgdGhhdCBnb2VzIG92ZXIgdGhlIHRyYW5zcG9ydC1oZWxwZXIgKG5hbWVseSwKKyAgIHRoZSBzbWFydCBodHRwIHRyYW5zcG9ydCkgZmFpbGVkIHRvIHByZXZlbnQgcmVmcyB0byBiZSBwdXNoZWQgd2hlbgorICAgaXQgY2FuIGxvY2FsbHkgdGVsbCB0aGF0IG9uZSBvZiB0aGUgcmVmIHVwZGF0ZSB3aWxsIGZhaWwgd2l0aG91dAorICAgaGF2aW5nIHRvIGNvbnN1bHQgdGhlIG90aGVyIGVuZCwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBUaGUgaW50ZXJuYWwgZGlmZiBtYWNoaW5lcnkgY2FuIGJlIG1hZGUgdG8gcmVhZCBvdXQgb2YgYm91bmRzIHdoaWxlCisgICBsb29raW5nIGZvciAtLWZ1bmN0aW9uLWNvbnRleHQgbGluZSBpbiBhIGNvcm5lciBjYXNlLCB3aGljaCBoYXMgYmVlbgorICAgY29ycmVjdGVkLgorICAgKG1lcmdlIGI3NzdmM2ZkNjEgamsveGRpZmYtY2xhbXAtZnVuY25hbWUtY29udGV4dC1pbmRleCBsYXRlciB0byBtYWludCkuCisKKyAqIE90aGVyIGNvZGUgY2xlYW51cCwgZG9jZml4LCBidWlsZCBmaXgsIGV0Yy4KKyAgIChtZXJnZSBmYmVjMDVjMjEwIGNjL3Rlc3Qtb2lkbWFwIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA3YTA2ZmIwMzhjIGprL25vLXN5c3RlbS1pbmNsdWRlcy1pbi1kb3QtYyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgODFlZDJiNDA1YyBjYi94ZGlmZi1uby1zeXN0ZW0taW5jbHVkZXMtaW4tZG90LWMgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGQ2MWU2Y2UxZGQgc2cvZnNjay1jb25maWctaW4tZG9jIGxhdGVyIHRvIG1haW50KS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yMy4xLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yMy4xLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDgzYjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjIzLjEudHh0CkBAIC0wLDAgKzEsOCBAQAorR2l0IHYyLjIzLjEgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PQorCitUaGlzIHJlbGVhc2UgbWVyZ2VzIHVwIHRoZSBmaXhlcyB0aGF0IGFwcGVhciBpbiB2Mi4xNC42LCB2Mi4xNS40LAordjIuMTcuMywgdjIuMjAuMiBhbmQgaW4gdjIuMjEuMSwgYWRkcmVzc2luZyB0aGUgc2VjdXJpdHkgaXNzdWVzCitDVkUtMjAxOS0xMzQ4LCBDVkUtMjAxOS0xMzQ5LCBDVkUtMjAxOS0xMzUwLCBDVkUtMjAxOS0xMzUxLAorQ1ZFLTIwMTktMTM1MiwgQ1ZFLTIwMTktMTM1MywgQ1ZFLTIwMTktMTM1NCwgQ1ZFLTIwMTktMTM4NywgYW5kCitDVkUtMjAxOS0xOTYwNDsgc2VlIHRoZSByZWxlYXNlIG5vdGVzIGZvciB0aG9zZSB2ZXJzaW9ucyBmb3IgZGV0YWlscy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yNC4wLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yNC4wLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGUxNTQxCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjI0LjAudHh0CkBAIC0wLDAgKzEsMzk4IEBACitHaXQgMi4yNCBSZWxlYXNlIE5vdGVzCis9PT09PT09PT09PT09PT09PT09PT09CisKK1VwZGF0ZXMgc2luY2UgdjIuMjMKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQmFja3dhcmQgY29tcGF0aWJpbGl0eSBub3RlCisKKyAqICJmaWx0ZXItYnJhbmNoIiBpcyBzaG93aW5nIGl0cyBhZ2UgYW5kIGFsdGVybmF0aXZlcyBhcmUgYXZhaWxhYmxlLgorICAgRnJvbSB0aGlzIHJlbGVhc2UsIHdlIHN0YXJ0ZWQgdG8gZGlzY291cmFnZSBpdHMgdXNlIGFuZCBoaW50CisgICBwZW9wbGUgYWJvdXQgZmlsdGVyLXJlcG8uCisKK1VJLCBXb3JrZmxvd3MgJiBGZWF0dXJlcworCisgKiBXZSBub3cgaGF2ZSBhbiBhY3RpdmUgaW50ZXJpbSBtYWludGFpbmVyIGZvciB0aGUgR2l0LUd1aSBwYXJ0IG9mCisgICB0aGUgc3lzdGVtLiAgUHJhaXNlIGFuZCB0aGFuayBQcmF0eXVzaCBZYWRhdiBmb3Igdm9sdW50ZWVyaW5nLgorCisgKiBUaGUgY29tbWFuZCBsaW5lIHBhcnNlciBsZWFybmVkICItLWVuZC1vZi1vcHRpb25zIiBub3RhdGlvbjsgdGhlCisgICBzdGFuZGFyZCBjb252ZW50aW9uIGZvciBzY3JpcHRlcnMgdG8gaGF2ZSBoYXJkY29kZWQgc2V0IG9mIG9wdGlvbnMKKyAgIGZpcnN0IG9uIHRoZSBjb21tYW5kIGxpbmUsIGFuZCBmb3JjZSB0aGUgY29tbWFuZCB0byB0cmVhdCBlbmQtdXNlcgorICAgaW5wdXQgYXMgbm9uLW9wdGlvbnMsIGhhcyBiZWVuIHRvIHVzZSAiLS0iIGFzIHRoZSBkZWxpbWl0ZXIsIGJ1dAorICAgdGhhdCB3b3VsZCBub3Qgd29yayBmb3IgY29tbWFuZHMgdGhhdCB1c2UgIi0tIiBhcyBhIGRlbGltaXRlcgorICAgYmV0d2VlbiByZXZzIGFuZCBwYXRoc3BlYy4KKworICogQSBtZWNoYW5pc20gdG8gYWZmZWN0IHRoZSBkZWZhdWx0IHNldHRpbmcgZm9yIGEgKHJlbGF0ZWQpIGdyb3VwIG9mCisgICBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyBpcyBpbnRyb2R1Y2VkLgorCisgKiAiZ2l0IGZldGNoIiBsZWFybmVkICItLXNldC11cHN0cmVhbSIgb3B0aW9uIHRvIGhlbHAgdGhvc2Ugd2hvIGZpcnN0CisgICBjbG9uZSBmcm9tIHRoZWlyIHByaXZhdGUgZm9yayB0aGV5IGludGVuZCB0byBwdXNoIHRvLCBhZGQgdGhlIHRydWUKKyAgIHVwc3RyZWFtIHZpYSAiZ2l0IHJlbW90ZSBhZGQiIGFuZCB0aGVuICJnaXQgZmV0Y2giIGZyb20gaXQuCisKKyAqIERldmljZS10cmVlIGZpbGVzIGxlYXJuZWQgdGhlaXIgb3duIHVzZXJkaWZmIHBhdHRlcm5zLgorICAgKG1lcmdlIDNjODE3NjBiYzYgc2IvdXNlcmRpZmYtZHRzIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCByZWJhc2UgLS1yZWJhc2UtbWVyZ2VzIiBsZWFybmVkIHRvIGRyaXZlIGRpZmZlcmVudCBtZXJnZQorICAgc3RyYXRlZ2llcyBhbmQgcGFzcyBzdHJhdGVneSBzcGVjaWZpYyBvcHRpb25zIHRvIHRoZW0uCisKKyAqIEEgbmV3ICJwcmUtbWVyZ2UtY29tbWl0IiBob29rIGhhcyBiZWVuIGludHJvZHVjZWQuCisKKyAqIENvbW1hbmQgbGluZSBjb21wbGV0aW9uIHVwZGF0ZXMgZm9yICJnaXQgLWMgdmFyLm5hbWU9dmFsIiBoYXZlIGJlZW4KKyAgIGFkZGVkLgorCisgKiBUaGUgbGF6eSBjbG9uZSBtYWNoaW5lcnkgaGFzIGJlZW4gdGF1Z2h0IHRoYXQgdGhlcmUgY2FuIGJlIG1vcmUKKyAgIHRoYW4gb25lIHByb21pc29yIHJlbW90ZSBhbmQgY29uc3VsdCB0aGVtIGluIG9yZGVyIHdoZW4gZG93bmxvYWRpbmcKKyAgIG1pc3Npbmcgb2JqZWN0cyBvbiBkZW1hbmQuCisKKyAqIFRoZSBsaXN0LW9iamVjdHMtZmlsdGVyIEFQSSAodXNlZCB0byBjcmVhdGUgYSBzcGFyc2UvbGF6eSBjbG9uZSkKKyAgIGxlYXJuZWQgdG8gdGFrZSBhIGNvbWJpbmVkIGZpbHRlciBzcGVjaWZpY2F0aW9uLgorCisgKiBUaGUgZG9jdW1lbnRhdGlvbiBhbmQgdGVzdHMgZm9yICJnaXQgZm9ybWF0LXBhdGNoIiBoYXZlIGJlZW4KKyAgIGNsZWFuZWQgdXAuCisKKyAqIE9uIFdpbmRvd3MsIHRoZSByb290IGxldmVsIG9mIFVOQyBzaGFyZSBpcyBub3cgYWxsb3dlZCB0byBiZSB1c2VkCisgICBqdXN0IGxpa2UgYW55IG90aGVyIGRpcmVjdG9yeS4KKworICogVGhlIGNvbW1hbmQgbGluZSBjb21wbGV0aW9uIHN1cHBvcnQgKGluIGNvbnRyaWIvKSBsZWFybmVkIGFib3V0IHRoZQorICAgIi0tc2tpcCIgb3B0aW9uIG9mICJnaXQgcmV2ZXJ0IiBhbmQgImdpdCBjaGVycnktcGljayIuCisKKyAqICJnaXQgcmViYXNlIC0ta2VlcC1iYXNlIDx1cHN0cmVhbT4iIHRyaWVzIHRvIGZpbmQgdGhlIG9yaWdpbmFsIGJhc2UKKyAgIG9mIHRoZSB0b3BpYyBiZWluZyByZWJhc2VkIGFuZCByZWJhc2Ugb24gdG9wIG9mIHRoYXQgc2FtZSBiYXNlLAorICAgd2hpY2ggaXMgdXNlZnVsIHdoZW4gcnVubmluZyB0aGUgImdpdCByZWJhc2UgLWkiIChhbmQgaXRzIGxpbWl0ZWQKKyAgIHZhcmlhbnQgImdpdCByZWJhc2UgLXgiKS4KKworICAgVGhlIGNvbW1hbmQgYWxzbyBoYXMgbGVhcm5lZCB0byBmYXN0LWZvcndhcmQgaW4gbW9yZSBjYXNlcyB3aGVyZSBpdAorICAgY2FuIGluc3RlYWQgb2YgcmVwbGF5aW5nIHRvIHJlY3JlYXRlIGlkZW50aWNhbCBjb21taXRzLgorCisgKiBBIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdGVsbHMgImdpdCBmZXRjaCIgdG8gd3JpdGUgdGhlIGNvbW1pdAorICAgZ3JhcGggYWZ0ZXIgZmluaXNoaW5nLgorCisgKiAiZ2l0IGFkZCAtaSIgaGFzIGJlZW4gdGF1Z2h0IHRvIHNob3cgdGhlIHRvdGFsIG51bWJlciBvZiBodW5rcyBhbmQKKyAgIHRoZSBodW5rcyB0aGF0IGhhcyBiZWVuIHByb2Nlc3NlZCBzbyBmYXIgd2hlbiBzaG93aW5nIHByb21wdHMuCisKKyAqICJnaXQgZmV0Y2ggLS1qb2JzPTxuPiIgYWxsb3dlZCA8bj4gcGFyYWxsZWwgam9icyB3aGVuIGZldGNoaW5nCisgICBzdWJtb2R1bGVzLCBidXQgdGhpcyBkaWQgbm90IGFwcGx5IHRvICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSIgdGhhdAorICAgZmV0Y2hlcyBmcm9tIG11bHRpcGxlIHJlbW90ZSByZXBvc2l0b3JpZXMuICBJdCBub3cgZG9lcy4KKworICogVGhlIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbiBmb3IgenNoIGNvbXBsZXRpb24gc2NyaXB0IChpbgorICAgY29udHJpYi8pIGhhcyBiZWVuIGEgYml0IGltcHJvdmVkLgorCisKK1BlcmZvcm1hbmNlLCBJbnRlcm5hbCBJbXBsZW1lbnRhdGlvbiwgRGV2ZWxvcG1lbnQgU3VwcG9ydCBldGMuCisKKyAqIFRoZSBjb2RlIHRvIHdyaXRlIGNvbW1pdC1ncmFwaCBvdmVyIGdpdmVuIGNvbW1pdCBvYmplY3QgbmFtZXMgaGFzCisgICBiZWVuIG1hZGUgYSBiaXQgbW9yZSByb2J1c3QuCisKKyAqIFRoZSBmaXJzdCBsaW5lIG9mIHZlcmJvc2Ugb3V0cHV0IGZyb20gZWFjaCB0ZXN0IHBpZWNlIG5vdyBjYXJyaWVzCisgICB0aGUgdGVzdCBuYW1lIGFuZCBudW1iZXIgdG8gaGVscCBzY2FubmluZyB3aXRoIGV5ZWJhbGxzLgorCisgKiBGdXJ0aGVyIGNsZWFuLXVwIG9mIHRoZSBpbml0aWFsaXphdGlvbiBjb2RlLgorCisgKiB4bWFsbG9jKCkgdXNlZCB0byBoYXZlIGEgbWVjaGFuaXNtIHRvIGRpdGNoIG1lbW9yeSBhbmQgYWRkcmVzcworICAgc3BhY2UgcmVzb3VyY2VzIGFzIHRoZSBsYXN0IHJlc29ydCB1cG9uIHNlZWluZyBhbiBhbGxvY2F0aW9uCisgICBmYWlsdXJlIGZyb20gdGhlIHVuZGVybHlpbmcgbWFsbG9jKCksIHdoaWNoIG1hZGUgdGhlIGNvZGUgY29tcGxleAorICAgYW5kIHRocmVhZC11bnNhZmUgd2l0aCBkdWJpb3VzIGJlbmVmaXQsIGFzIG1ham9yIG1lbW9yeSByZXNvdXJjZQorICAgdXNlcnMgYWxyZWFkeSBkbyBsaW1pdCB0aGVpciB1c2VzIHdpdGggdmFyaW91cyBvdGhlciBtZWNoYW5pc21zLgorICAgSXQgaGFzIGJlZW4gc2ltcGxpZmllZCBhd2F5LgorCisgKiBVbm5lY2Vzc2FyeSBmdWxsLXRyZWUgZGlmZiBpbiAiZ2l0IGxvZyAtTCIgbWFjaGluZXJ5IGhhcyBiZWVuCisgICBvcHRpbWl6ZWQgYXdheS4KKworICogVGhlIGh0dHAgdHJhbnNwb3J0IGxhY2tlZCBzb21lIG9wdGltaXphdGlvbiB0aGUgbmF0aXZlIHRyYW5zcG9ydHMKKyAgIGxlYXJuZWQgdG8gYXZvaWQgdW5uZWNlc3NhcnkgcmVmIGFkdmVydGlzZW1lbnQsIHdoaWNoIGhhcyBiZWVuCisgICBjb3JyZWN0ZWQuCisKKyAqIFByZXBhcmF0aW9uIGZvciBTSEEtMjU2IHVwZ3JhZGUgY29udGludWVzIGluIHRoZSB0ZXN0IGRlcGFydG1lbnQuCisgICAobWVyZ2UgMGMzN2M0MWQxMyBiYy9oYXNoLWluZGVwZW5kZW50LXRlc3RzLXBhcnQtNSBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBtZW1vcnkgb3duZXJzaGlwIG1vZGVsIG9mIHRoZSAiZ2l0IGZhc3QtaW1wb3J0IiBnb3QKKyAgIHN0cmFpZ2h0ZW5lZCBvdXQuCisKKyAqIE91dHB1dCBmcm9tIHRyYWNlMiBzdWJzeXN0ZW0gaXMgZm9ybWF0dGVkIG1vcmUgcHJldHRpbHkgbm93LgorCisgKiBUaGUgaW50ZXJuYWwgY29kZSBvcmlnaW5hbGx5IGludmVudGVkIGZvciAiLmdpdGlnbm9yZSIgcHJvY2Vzc2luZworICAgZ290IHJlc2h1ZmZsZWQgYW5kIHJlbmFtZWQgdG8gbWFrZSBpdCBsZXNzIHRpZWQgdG8gImV4Y2x1ZGluZyIgYW5kCisgICBzdHJlc3MgbW9yZSB0aGF0IGl0IGlzIGFib3V0ICJtYXRjaGluZyIsIGFzIGl0IGhhcyBiZWVuIHJldXNlZCBmb3IKKyAgIHRoaW5ncyBsaWtlIHNwYXJzZSBjaGVja291dCBzcGVjaWZpY2F0aW9uIHRoYXQgd2FudCB0byBjaGVjayBpZiBhCisgICBwYXRoIGlzICJpbmNsdWRlZCIuCisKKyAqICJnaXQgc3Rhc2giIGxlYXJuZWQgdG8gd3JpdGUgcmVmcmVzaGVkIGluZGV4IGJhY2sgdG8gZGlzay4KKworICogQ29jY2luZWxsZSBjaGVja3MgYXJlIGRvbmUgb24gbW9yZSBzb3VyY2UgZmlsZXMgdGhhbiBiZWZvcmUgbm93LgorCisgKiBUaGUgY2FjaGUtdHJlZSBjb2RlIGhhcyBiZWVuIHRhdWdodCB0byBiZSBsZXNzIGFnZ3Jlc3NpdmUgaW4KKyAgIGF0dGVtcHRpbmcgdG8gc2VlIGlmIGEgdHJlZSBvYmplY3QgaXQgY29tcHV0ZWQgYWxyZWFkeSBleGlzdHMgaW4KKyAgIHRoZSByZXBvc2l0b3J5LgorCisgKiBUaGUgY29kZSB0byBwYXJzZSBhbmQgdXNlIHRoZSBjb21taXQtZ3JhcGggZmlsZSBoYXMgYmVlbiBtYWRlIG1vcmUKKyAgIHJvYnVzdCBhZ2FpbnN0IGNvcnJ1cHRlZCBpbnB1dC4KKworICogVGhlIGhnLXRvLWdpdCBzY3JpcHQgKGluIGNvbnRyaWIvKSBoYXMgYmVlbiB1cGRhdGVkIHRvIHdvcmsgd2l0aAorICAgUHl0aG9uIDMuCisKKyAqIFVwZGF0ZSB0aGUgd2F5IGJ1aWxkIGFydGlmYWN0cyBpbiB0L2hlbHBlci8gZGlyZWN0b3J5IGFyZSBpZ25vcmVkLgorCisgKiBQcmVwYXJhdGlvbiBmb3IgU0hBLTI1NiB1cGdyYWRlIGNvbnRpbnVlcy4KKworICogImdpdCBsb2cgLS1ncmFwaCIgZm9yIGFuIG9jdG9wdXMgbWVyZ2UgaXMgc29tZXRpbWVzIGNvbG9yZWQKKyAgIGluY29ycmVjdGx5LCB3aGljaCBpcyBkZW1vbnN0cmF0ZWQgYW5kIGRvY3VtZW50ZWQgYnV0IG5vdCB5ZXQKKyAgIGZpeGVkLgorCisgKiBUaGUgdHJhY2UyIG91dHB1dCwgd2hlbiBzZW5kaW5nIHRoZW0gdG8gZmlsZXMgaW4gYSBkZXNpZ25hdGVkCisgICBkaXJlY3RvcnksIGNhbiBwb3B1bGF0ZSB0aGUgZGlyZWN0b3J5IHdpdGggdG9vIG1hbnkgZmlsZXM7IGEKKyAgIG1lY2hhbmlzbSBpcyBpbnRyb2R1Y2VkIHRvIHNldCB0aGUgbWF4aW11bSBudW1iZXIgb2YgZmlsZXMgYW5kCisgICBkaXNjYXJkIGZ1cnRoZXIgbG9ncyB3aGVuIHRoZSBtYXhpbXVtIGlzIHJlYWNoZWQuCisKKyAqIFdlIGhhdmUgYWRvcHRlZCBhIENvZGUtb2YtY29uZHVjdCBkb2N1bWVudC4KKyAgIChtZXJnZSAzZjllZjg3NGE3IGprL2NvYyBsYXRlciB0byBtYWludCkuCisKKworRml4ZXMgc2luY2UgdjIuMjMKKy0tLS0tLS0tLS0tLS0tLS0tCisKKyAqICJnaXQgZ3JlcCAtLXJlY3Vyc2Utc3VibW9kdWxlcyIgdGhhdCBsb29rcyBhdCB0aGUgd29ya2luZyB0cmVlCisgICBmaWxlcyBsb29rZWQgYXQgdGhlIGNvbnRlbnRzIGluIHRoZSBpbmRleCBpbiBzdWJtb2R1bGVzLCBpbnN0ZWFkIG9mCisgICBmaWxlcyBpbiB0aGUgd29ya2luZyB0cmVlLgorICAgKG1lcmdlIDZhMjg5ZDQ1YzAgbXQvZ3JlcC1zdWJtb2R1bGVzLXdvcmtpbmctdHJlZSBsYXRlciB0byBtYWludCkuCisKKyAqIENvZGVwYXRocyB0byB3YWxrIHRyZWUgb2JqZWN0cyBoYXZlIGJlZW4gYXVkaXRlZCBmb3IgaW50ZWdlcgorICAgb3ZlcmZsb3dzIGFuZCBoYXJkZW5lZC4KKyAgIChtZXJnZSA1YWEwMmY5ODY4IGprL3RyZWUtd2Fsay1vdmVyZmxvdyBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgcGFjay1yZWZzIiBjYW4gbG9zZSByZWZzIHRoYXQgYXJlIGNyZWF0ZWQgd2hpbGUgcnVubmluZywgd2hpY2gKKyAgIGlzIGdldHRpbmcgY29ycmVjdGVkLgorICAgKG1lcmdlIGE2MTNkNGY4MTcgc2MvcGFjay1yZWZzLWRlbGV0aW9uLXJhY2VmaXggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGNoZWNrb3V0IiBhbmQgImdpdCByZXN0b3JlIiB0byByZS1wb3B1bGF0ZSB0aGUgaW5kZXggZnJvbSBhCisgICB0cmVlLWlzaCAodHlwaWNhbGx5IEhFQUQpIGRpZCBub3Qgd29yayBjb3JyZWN0bHkgZm9yIGEgcGF0aCB0aGF0CisgICB3YXMgcmVtb3ZlZCBhbmQgdGhlbiBhZGRlZCBhZ2FpbiB3aXRoIHRoZSBpbnRlbnQtdG8tYWRkIGJpdCwgd2hlbgorICAgdGhlIGNvcnJlc3BvbmRpbmcgd29ya2luZyB0cmVlIGZpbGUgd2FzIGVtcHR5LiAgVGhpcyBoYXMgYmVlbgorICAgY29ycmVjdGVkLgorCisgKiBDb21waWxhdGlvbiBmaXguCisgICAobWVyZ2UgNzA1OTdlODM4NiBycy9uZWRhbGxvYy1maXhsZXRzIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBndWkiIGxlYXJuZWQgdG8gY2FsbCB0aGUgY2xlYW4tdXAgcHJvY2VkdXJlIGJlZm9yZSBleGl0aW5nLgorICAgKG1lcmdlIDBkODhmM2QyYzUgcHkvZ2l0LWd1aS1kby1xdWl0IGxhdGVyIHRvIG1haW50KS4KKworICogV2UgcHJvbW90ZWQgdGhlICJpbmRlbnQgaGV1cmlzdGljcyIgdGhhdCBkZWNpZGVzIHdoZXJlIHRvIHNwbGl0CisgICBkaWZmIGh1bmtzIGZyb20gZXhwZXJpbWVudGFsIHRvIHRoZSBkZWZhdWx0IGEgZmV3IHllYXJzIGFnbywgYnV0CisgICBzb21lIHN0YWxlIGRvY3VtZW50YXRpb24gc3RpbGwgbWFya2VkIGl0IGFzIGV4cGVyaW1lbnRhbCwgd2hpY2ggaGFzCisgICBiZWVuIGNvcnJlY3RlZC4KKyAgIChtZXJnZSA2NGU1ZTFmYmExIHNnL2RpZmYtaW5kZW50LWhldXJpc3RpYy1ub24tZXhwZXJpbWVudGFsIGxhdGVyIHRvIG1haW50KS4KKworICogRml4IGEgbWlzbWVyZ2UgdGhhdCBoYXBwZW5lZCBpbiAyLjIyIHRpbWVmcmFtZS4KKyAgIChtZXJnZSBhY2I3ZGEwNWFjIGVuL2NoZWNrb3V0LW1pc21lcmdlLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgYXJjaGl2ZSIgcmVjb3JkZWQgaW5jb3JyZWN0IGxlbmd0aCBpbiBleHRlbmRlZCBwYXggaGVhZGVyIGluCisgICBzb21lIGNvcm5lciBjYXNlcywgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorICAgKG1lcmdlIDcxZDQxZmY2NTEgcnMvcGF4LWV4dGVuZGVkLWhlYWRlci1sZW5ndGgtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogT24tZGVtYW5kIG9iamVjdCBmZXRjaGluZyBpbiBsYXp5IGNsb25lIGluY29ycmVjdGx5IHRyaWVkIHRvIGZldGNoCisgICBjb21taXRzIGZyb20gc3VibW9kdWxlIHByb2plY3RzLCB3aGlsZSBzdGlsbCB3b3JraW5nIGluIHRoZQorICAgc3VwZXJwcm9qZWN0LCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgYTYzNjk0ZjUyMyBqdC9kaWZmLWxhenktZmV0Y2gtc3VibW9kdWxlLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIFByZXBhcmUgZ2V0X3Nob3J0X29pZCgpIGNvZGVwYXRoIHRvIGJlIHRocmVhZC1zYWZlLgorICAgKG1lcmdlIDdjZmNiMTZiMGUgcnMvc29ydC1vaWQtYXJyYXktdGhyZWFkLXNhZmUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZm9yLWVhY2gtcmVmIiBhbmQgZnJpZW5kcyB0aGF0IHNob3cgcmVmcyBkaWQgbm90IHByb3RlY3QgdGhlbXNlbHZlcworICAgYWdhaW5zdCBhbmNpZW50IHRhZ3MgdGhhdCBkaWQgbm90IHJlY29yZCB0YWdnZXIgbmFtZXMgd2hlbiBhc2tlZCB0bworICAgc2hvdyAiJSh0YWdnZXJuYW1lKSIsIHdoaWNoIGhhdmUgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgOGIzZjMzZWYxMSBtcC9mb3ItZWFjaC1yZWYtbWlzc2luZy1uYW1lLW9yLWVtYWlsIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlICJnaXQgYW0iIGJhc2VkIGJhY2tlbmQgb2YgImdpdCByZWJhc2UiIGlnbm9yZWQgdGhlIHJlc3VsdCBvZgorICAgdXBkYXRpbmcgIi5naXRhdHRyaWJ1dGVzIiBkb25lIGluIG9uZSBzdGVwIHdoZW4gcmVwbGF5aW5nCisgICBzdWJzZXF1ZW50IHN0ZXBzLgorICAgKG1lcmdlIDJjNjVkOTBmNzUgYmMvcmVyZWFkLWF0dHJpYnV0ZXMtZHVyaW5nLXJlYmFzZSBsYXRlciB0byBtYWludCkuCisKKyAqIFRlbGwgY1VSTCBsaWJyYXJ5IHRvIHVzZSB0aGUgc2FtZSBtYWxsb2MoKSBpbXBsZW1lbnRhdGlvbiwgd2l0aCB0aGUKKyAgIHhtYWxsb2MoKSB3cmFwcGVyLCBhcyB0aGUgcmVzdCBvZiB0aGUgc3lzdGVtLCBmb3IgY29uc2lzdGVuY3kuCisgICAobWVyZ2UgOTNiOTgwZTU4ZiBjYi9jdXJsLXVzZS14bWFsbG9jIGxhdGVyIHRvIG1haW50KS4KKworICogQnVpbGQgZml4IHRvIGFkanVzdCAuZ2l0aWdub3JlIHRvIHVuaWdub3JlIGEgcGF0aCB0aGF0IHdlIHN0YXJ0ZWQgdG8gdHJhY2suCisgICAobWVyZ2UgYWFjNmZmN2I1YiBqcy92aXN1YWwtc3R1ZGlvIGxhdGVyIHRvIG1haW50KS4KKworICogQSBmZXcgaW1wbGVtZW50YXRpb24gZml4ZXMgaW4gdGhlIG5vdGVzIEFQSS4KKyAgIChtZXJnZSA2MGZlNDc3YTBiIG1oL25vdGVzLWR1cGxpY2F0ZS1lbnRyaWVzIGxhdGVyIHRvIG1haW50KS4KKworICogRml4IGFuIGVhcmxpZXIgcmVncmVzc2lvbiB0byAiZ2l0IHB1c2ggLS1hbGwiIHdoaWNoIHNob3VsZCBoYXZlCisgICBiZWVuIGZvcmJpZGRlbiB3aGVuIHRoZSB0YXJnZXQgcmVtb3RlIHJlcG9zaXRvcnkgaXMgc2V0IHRvIGJlIGEKKyAgIG1pcnJvci4KKyAgIChtZXJnZSA4ZTRjOGFmMDU4IHRnL3B1c2gtYWxsLWluLW1pcnJvci1mb3JiaWRkZW4gbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBGaXggYW4gZWFybGllciByZWdyZXNzaW9uIGluIHRoZSB0ZXN0IHN1aXRlLCB3aGljaCBtaXN0YWtlbmx5CisgICBzdG9wcGVkIHJ1bm5pbmcgSFRUUEQgdGVzdHMuCisgICAobWVyZ2UgMzk2MDI5MDY3NSBzZy9naXQtdGVzdC1ib29sZWFuIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCByZWJhc2UgLS1hdXRvc3Rhc2ggPHVwc3RyZWFtPiA8YnJhbmNoPiIsIHdoZW4gPGJyYW5jaD4gaXMKKyAgIGRpZmZlcmVudCBmcm9tIHRoZSBjdXJyZW50IGJyYW5jaCwgaW5jb3JyZWN0bHkgbW92ZWQgdGhlIHRpcCBvZiB0aGUKKyAgIGN1cnJlbnQgYnJhbmNoLCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgYmYxZTI4ZTBhZCBidy9yZWJhc2UtYXV0b3N0YXNoLWtlZXAtY3VycmVudC1icmFuY2ggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBVcGRhdGUgc3VwcG9ydCBmb3IgQXNjaWlkb2N0b3IgZG9jdW1lbnRhdGlvbiB0b29sY2hhaW4uCisgICAobWVyZ2UgODNiMGI4OTUzZSBtYS9hc2NpaWRvY3Rvci1yZWZtaXNjaW5mbyBsYXRlciB0byBtYWludCkuCisKKyAqIFN0YXJ0IHVzaW5nIERvY0Jvb2sgNSAoaW5zdGVhZCBvZiBEb2NCb29rIDQuNSkgYXMgQXNjaWlkb2N0b3IgMi4wCisgICBubyBsb25nZXIgd29ya3Mgd2l0aCB0aGUgb2xkZXIgb25lLgorICAgKG1lcmdlIGY2NDYxYjgyYjkgYmMvZG9jLXVzZS1kb2Nib29rLTUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGUgbWFya3VwIHVzZWQgaW4gdXNlci1tYW51YWwgaGFzIGJlZW4gdXBkYXRlZCB0byB3b3JrIGJldHRlciB3aXRoCisgICBhc2NpaWRvY3Rvci4KKyAgIChtZXJnZSBjNGQyZjYxNDNhIG1hL3VzZXItbWFudWFsLW1hcmt1cC11cGRhdGUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBNYWtlIHN1cmUgdGhlIGdyZXAgbWFjaGluZXJ5IGRvZXMgbm90IGFib3J0IHdoZW4gc2VlaW5nIGEgcGF5bG9hZAorICAgdGhhdCBpcyBub3QgVVRGLTggZXZlbiB3aGVuIEpJVCBpcyBub3QgaW4gdXNlIHdpdGggUENSRTEuCisgICAobWVyZ2UgYWQ3YzU0M2UzYiBjYi9za2lwLXV0ZjgtY2hlY2std2l0aC1wY3JlMSBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBuYW1lIG9mIHRoZSBibG9iIG9iamVjdCB0aGF0IHN0b3JlcyB0aGUgZmlsdGVyIHNwZWNpZmljYXRpb24KKyAgIGZvciBzcGFyc2UgY2xvbmluZy9mZXRjaGluZyB3YXMgaW50ZXJwcmV0ZWQgaW4gYSB3cm9uZyBwbGFjZSBpbiB0aGUKKyAgIGNvZGUsIGNhdXNpbmcgR2l0IHRvIGFib3J0LgorCisgKiAiZ2l0IGxvZyAtLWRlY29yYXRlLXJlZnMtZXhjbHVkZT08cGF0dGVybj4iIHdhcyBpbmNvcnJlY3RseQorICAgb3ZlcnJ1bGVkIHdoZW4gdGhlICItLXNpbXBsaWZ5LWJ5LWRlY29yYXRpb24iIG9wdGlvbiBpcyB1c2VkLCB3aGljaAorICAgaGFzIGJlZW4gY29ycmVjdGVkLgorICAgKG1lcmdlIDBjYzczODBkODggcnMvc2ltcGxpZnktYnktZGVjby13aXRoLWRlY28tcmVmcy1leGNsdWRlIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlICJ1cGxvYWQtcGFjayIgKHRoZSBjb3VudGVycGFydCBvZiAiZ2l0IGZldGNoIikgbmVlZHMgdG8gZGlzYWJsZQorICAgY29tbWl0LWdyYXBoIHdoZW4gcmVzcG9uZGluZyB0byBhIHNoYWxsb3cgY2xvbmUvZmV0Y2ggcmVxdWVzdCwgYnV0CisgICB0aGUgd2F5IHRoaXMgd2FzIGRvbmUgbWFkZSBHaXQgcGFuaWMsIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogVGhlIG9iamVjdCB0cmF2ZXJzYWwgbWFjaGluZXJ5IGhhcyBiZWVuIG9wdGltaXplZCBub3QgdG8gbG9hZCB0cmVlCisgICBvYmplY3RzIHdoZW4gd2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiBjb21taXQgaGlzdG9yeS4KKyAgIChtZXJnZSA3MmVkODBjNzg0IGprL2xpc3Qtb2JqZWN0cy1vcHRpbS13by10cmVlcyBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBvYmplY3QgbmFtZSBwYXJzZXIgZm9yICJOdGggcGFyZW50IiBzeW50YXggaGFzIGJlZW4gbWFkZSBtb3JlCisgICByb2J1c3QgYWdhaW5zdCBpbnRlZ2VyIG92ZXJmbG93cy4KKyAgIChtZXJnZSA1OWZhNWY1YTI1IHJzL250aC1wYXJlbnQtcGFyc2UgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGUgY29kZSB1c2VkIGluIGZvbGxvd2luZyB0YWdzIGluICJnaXQgZmV0Y2giIGhhcyBiZWVuIG9wdGltaXplZC4KKyAgIChtZXJnZSBiN2UyZDhiY2E1IG1zL2ZldGNoLWZvbGxvdy10YWctb3B0aW0gbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBSZWdyZXNzaW9uIGZpeCBmb3IgcHJvZ3Jlc3Mgb3V0cHV0LgorICAgKG1lcmdlIDJiYjc0YjUzYTQgc2cvcHJvZ3Jlc3MtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogQSBidWcgaW4gbWVyZ2UtcmVjdXJzaXZlIGNvZGUgdGhhdCB0cmlnZ2VycyB3aGVuIGEgYnJhbmNoIHdpdGggYQorICAgc3ltYm9saWMgbGluayBpcyBtZXJnZWQgd2l0aCBhIGJyYW5jaCB0aGF0IHJlcGxhY2VzIGl0IHdpdGggYQorICAgZGlyZWN0b3J5IGhhcyBiZWVuIGZpeGVkLgorICAgKG1lcmdlIDgzZTNhZDNiMTIganQvbWVyZ2UtcmVjdXJzaXZlLXN5bWxpbmstaXMtbm90LWEtZGlyLWluLXdheSBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSByZW5hbWUgZGV0ZWN0aW9uIGxvZ2ljIHNvcnRzIGEgbGlzdCBvZiByZW5hbWUgc291cmNlIGNhbmRpZGF0ZXMKKyAgIGJ5IHNpbWlsYXJpdHkgdG8gcGljayB0aGUgYmVzdCBjYW5kaWRhdGUsIHdoaWNoIG1lYW5zIHRoYXQgYSB0aWUKKyAgIGJldHdlZW4gc291cmNlcyB3aXRoIHRoZSBzYW1lIHNpbWlsYXJpdHkgaXMgYnJva2VuIGJ5IHRoZSBvcmlnaW5hbAorICAgbG9jYXRpb24gaW4gdGhlIG9yaWdpbmFsIGNhbmRpZGF0ZSBsaXN0ICh3aGljaCBpcyBzb3J0ZWQgYnkgcGF0aCkuCisgICBGb3JjZSB0aGUgc29ydGluZyBieSBzaW1pbGFyaXR5IGRvbmUgd2l0aCBhIHN0YWJsZSBzb3J0LCB3aGljaCBpcworICAgbm90IHByb21pc2VkIGJ5IHN5c3RlbSBzdXBwbGllZCBxc29ydCgzKSwgdG8gZW5zdXJlIGNvbnNpc3RlbnQKKyAgIHJlc3VsdHMgYWNyb3NzIHBsYXRmb3Jtcy4KKyAgIChtZXJnZSAyMDQ5YjhkYzY1IGpzL2RpZmYtcmVuYW1lLWZvcmNlLXN0YWJsZS1zb3J0IGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIGNvZGUgdG8gc2tpcCAiVVRGIiBhbmQgIlVURi0iIHByZWZpeCwgd2hlbiBjb21wdXRpbmcgYW4gYWR2aWNlCisgICBtZXNzYWdlLCBkaWQgbm90IHdvcmsgY29ycmVjdGx5IHdoZW4gdGhlIHByZWZpeCB3YXMgIlVURiIsIHdoaWNoCisgICBoYXMgYmVlbiBmaXhlZC4KKyAgIChtZXJnZSBiMTgxNjc2Y2U5IHJzL2NvbnZlcnQtZml4LXV0Zi13aXRob3V0LWRhc2ggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGUgYXV0aG9yIG5hbWVzIHRha2VuIGZyb20gU1ZOIHJlcG9zaXRvcmllcyBtYXkgaGF2ZSBleHRyYSBsZWFkaW5nCisgICBvciB0cmFpbGluZyB3aGl0ZXNwYWNlcywgd2hpY2ggYXJlIG5vdyBtdW5nZWQgYXdheS4KKyAgIChtZXJnZSA0ZGRkNGJkZGIxIHRrL2dpdC1zdm4tdHJpbS1hdXRob3ItbmFtZSBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgcmViYXNlIC1pIiBzaG93ZWQgYSB3cm9uZyBIRUFEIHdoaWxlICJyZXdvcmQiIG9wZW4gdGhlIGVkaXRvci4KKyAgIChtZXJnZSBiMGEzMTg2MTQwIHB3L3JlYmFzZS1pLXNob3ctSEVBRC10by1yZXdvcmQgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBBIGZldyBzaW1wbGlmaWNhdGlvbiBhbmQgYnVnZml4ZXMgdG8gUENSRSBpbnRlcmZhY2UuCisgICAobWVyZ2UgYzU4MWU0YTc0OSBhYi9wY3JlLWppdC1maXhlcyBsYXRlciB0byBtYWludCkuCisKKyAqIFBDUkUgZml4ZXMuCisgICAobWVyZ2UgZmY2MTY4MWI0NiBjYi9wY3JlMS1jbGVhbnVwIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCByYW5nZS1kaWZmIiBzZWdmYXVsdGVkIHdoZW4gZGlmZi5ub3ByZWZpeCBjb25maWd1cmF0aW9uIHdhcworICAgdXNlZCwgYXMgaXQgYmxpbmRseSBleHBlY3RlZCB0aGUgcGF0Y2ggaXQgaW50ZXJuYWxseSBnZW5lcmF0ZXMgdG8KKyAgIGhhdmUgdGhlIHN0YW5kYXJkIGEvIGFuZCBiLyBwcmVmaXhlcy4gIFRoZSBjb21tYW5kIG5vdyBmb3JjZXMgdGhlCisgICBpbnRlcm5hbCBwYXRjaCB0byBiZSBidWlsdCB3aXRob3V0IGFueSBwcmVmaXgsIG5vdCB0byBiZSBhZmZlY3RlZAorICAgYnkgYW55IGVuZC11c2VyIGNvbmZpZ3VyYXRpb24uCisgICAobWVyZ2UgOTM3Yjc2ZWQ0OSBqcy9yYW5nZS1kaWZmLW5vcHJlZml4IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBzdGFzaCBhcHBseSIgaW4gYSBzdWJkaXJlY3Rvcnkgb2YgYSBzZWNvbmRhcnkgd29ya3RyZWUgZmFpbGVkCisgICB0byBhY2Nlc3MgdGhlIHdvcmt0cmVlIGNvcnJlY3RseSwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorICAgKG1lcmdlIGRmZDU1N2M5NzgganMvc3Rhc2gtYXBwbHktaW4tc2Vjb25kYXJ5LXdvcmt0cmVlIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIG1lcmdlLXJlY3Vyc2l2ZSBtYWNoaW5lcnkgaXMgb25lIG9mIHRoZSBtb3N0IGNvbXBsZXggcGFydHMgb2YKKyAgIHRoZSBzeXN0ZW0gdGhhdCBhY2N1bXVsYXRlZCBjcnVmdCBvdmVyIHRpbWUuICBUaGlzIGxhcmdlIHNlcmllcworICAgY2xlYW5zIHVwIHRoZSBpbXBsZW1lbnRhdGlvbiBxdWl0ZSBhIGJpdC4KKyAgIChtZXJnZSBiNjU3MDQ3NzE5IGVuL21lcmdlLXJlY3Vyc2l2ZS1jbGVhbnVwIGxhdGVyIHRvIG1haW50KS4KKworICogUHJldHR5LXByaW50ZWQgY29tbWFuZCBsaW5lIGZvcm1hdHRlciAodXNlZCBpbiBlLmcuIHJlcG9ydGluZyB0aGUKKyAgIGNvbW1hbmQgYmVpbmcgcnVuIGJ5IHRoZSB0cmFjaW5nIEFQSSkgaGFkIGEgYnVnIHRoYXQgbG9zdCBhbgorICAgYXJndW1lbnQgdGhhdCBpcyBhbiBlbXB0eSBzdHJpbmcsIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKyAgIChtZXJnZSBjZTJkN2VkMmZkIGdzL3NxLXF1b3RlLWJ1Zi1wcmV0dHkgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IHJhbmdlLWRpZmYiIGZhaWxlZCB0byBoYW5kbGUgbW9kZS1vbmx5IGNoYW5nZSwgd2hpY2ggaGFzIGJlZW4KKyAgIGNvcnJlY3RlZC4KKyAgIChtZXJnZSAyYjZhOWIxM2NhIHRnL3JhbmdlLWRpZmYtb3V0cHV0LXVwZGF0ZSBsYXRlciB0byBtYWludCkuCisKKyAqIERldiBzdXBwb3J0IHVwZGF0ZS4KKyAgIChtZXJnZSA0ZjNjMWRjNWQ2IGRsL2FsbG93LXJ1bm5pbmctY29jY2ktdmVyYm9zZWx5IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBmb3JtYXQtcGF0Y2ggLW8gPG91dGRpcj4iIGRpZCBhbiBlcXVpdmFsZW50IG9mICJta2RpciA8b3V0ZGlyPiIKKyAgIG5vdCAibWtkaXIgLXAgPG91dGRpcj4iLCB3aGljaCB3YXMgY29ycmVjdGVkLgorCisgKiAiZ2l0IHN0YXNoIHNhdmUiIGxvc3QgbG9jYWwgY2hhbmdlcyB0byBzdWJtb2R1bGVzLCB3aGljaCBoYXMgYmVlbgorICAgY29ycmVjdGVkLgorICAgKG1lcmdlIDU1Njg5NWQwYzggamovc3Rhc2gtcmVzZXQtb25seS10b3BsZXZlbCBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBhdG9taWMgcHVzaCBvdmVyIHNtYXJ0IEhUVFAgdHJhbnNwb3J0IGRpZCBub3Qgd29yaywgd2hpY2ggaGFzCisgICBiZWVuIGNvcnJlY3RlZC4KKyAgIChtZXJnZSA2ZjExOTQyNDZhIGJjL3NtYXJ0LWh0dHAtYXRvbWljLXB1c2ggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBPdGhlciBjb2RlIGNsZWFudXAsIGRvY2ZpeCwgYnVpbGQgZml4LCBldGMuCisgICAobWVyZ2UgZDEzODdkMzg5NSBlbi9mYXN0LWltcG9ydC1tZXJnZS1kb2MgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDFjMjRhNTRlYTQgYm0vcmVwb3NpdG9yeS1sYXlvdXQtdHlwb2ZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNDE1Yjc3MGI4OCBkcy9taWR4LWV4cGlyZS1yZXBhY2sgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDE5ODAwYmRjM2YgbmQvZGlmZi1wYXJzZW9wdCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNTgxNjZjMmU5ZCB0Zy90MDAyMS1yYWNlZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA3MDI3ZjUwOGM3IGRsL2NvbXBhdC1jbGVhbnVwIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBlNzcwZmJmZWZmIGpjL3Rlc3QtY2xlYW51cCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMWZkODgxZDQwNCBycy90cmFjZTItZHN0LXdhcm5pbmcgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDdlOTI3NTY3NTEgbWgvaHR0cC11cmxtYXRjaC1jbGVhbnVwIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA5Nzg0Zjk3MzIxIG1oL3JlbGVhc2UtY29tbWl0LW1lbW9yeS1maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDYwZDE5OGQwMjIgdGIvYmFubmVkLXZzcHJpbnRmLW5hbWVmaXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDgwZTM2NTg2NDcgcnMvaGVscC11bmtub3duLXJlZi1kb2VzLW5vdC1yZXR1cm4gbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDBhOGJjNzA2OGYgZHQvcmVtb3RlLWhlbHBlci1kb2MtcmUtbG9jay1vcHRpb24gbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDI3ZmQxZTRlYTcgZW4vbWVyZ2Utb3B0aW9ucy1mZi1hbmQtZnJpZW5kcyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNTAyYzM4NmZmOSBzZy9jbGVhbi1uZXN0ZWQtcmVwby13aXRoLWlnbm9yZWQgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDI2ZTNkMWNiZWEgYW0vbWFpbG1hcC1hbmRyZXktbWF6byBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNDdiMjdjOTZmYSBzcy9nZXQtdGltZS1jbGVhbnVwIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBkZDJlNTBhODRlIGprL2NvbW1pdC1ncmFwaC1jbGVhbnVwIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA0ZmQzOWM3NmU2IGNzL3ByZXR0eS1mb3JtYXRzLWRvYy10eXBvZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA0MGU3NDdlODlkIGRsL3N1Ym1vZHVsZS1zZXQtYnJhbmNoIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA2ODlhMTQ2YzkxIHJzL2NvbW1pdC1ncmFwaC11c2UtbGlzdC1jb3VudCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMGViN2MzN2E4YSBqcy9kb2MtcGF0Y2gtdGV4dCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNGIzYWExNzBkMSBycy9udGgtc3dpdGNoLWNvZGUtc2ltcGxpZmljYXRpb24gbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDBkNDMwNGMxMjQgYWgvZG9jLXN1Ym1vZHVsZS1pZ25vcmUtc3VibW9kdWxlcyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgYWY3ODI0OTQ2MyBjYy9zdm4tZmUtcHktc2hlYmFuZyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgN2JkOTdkNmRmZiBycy9hbGlhcy11c2UtY29weS1hcnJheSBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgYzQ2ZWJjMjQ5NiBzZy90cmF2aXMtaGVscC1kZWJ1ZyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMjRjNjgxNzk0ZiBwcy9teS1maXJzdC1jb250cmlidXRpb24tYWxwaGFzb3J0IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA3NWIyYzE1NDM1IGNiL2RvLW5vdC11c2UtdGVzdC1jbXAtd2l0aC1hIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBjZGEwZDQ5N2UzIGJ3L3N1Ym1vZHVsZS1oZWxwZXItdXNhZ2UtZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBmZTBlZDVkNWU5IGFtL3Zpc3VhbC1zdHVkaW8tY29uZmlnLWZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMmUwOWMwMTIzMiBzZy9uYW1lLXJldi1jdXRvZmYtdW5kZXJmbG93LWZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgZGRiM2M4NTZmMyBhcy9zaGFsbG93LXNsYWItdXNlLWZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNzFmNDk2MGI5MSBqcy9taW5ndy1zcGF3bi13aXRoLXNwYWNlcy1pbi1wYXRoIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA1M2Q2ODdiZjVmIGFoL2NsZWFudXBzIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBmNTM3NDg1ZmE1IHJzL3Rlc3QtcmVtb3ZlLXVzZWxlc3MtZGVidWdnaW5nLWNhdCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMTFhM2QzYWFkZCBkbC9yZXYtbGlzdC1kb2MtY2xlYW51cCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgZDkyOGE4Mzg4YSBhbS90MDAyOC11dGYxNi10ZXN0cyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgYjA1YjQwOTMwZSBkbC90MDAwMC1za2lwLXRlc3QtdGVzdCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMDNkM2IxMjk3YyBqcy94ZGlmZmktY29tbWVudC11cGRhdGVzIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA1N2Q4ZjRiNGM3IGpzL2RvYy1zdGFzaC1zYXZlIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA4YzFjZmQ1OGUzIHRhL3QxMzA4LXR5cG9maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGZhMzY0YWQ3OTAgYmIvdXRmOC13Y3dpZHRoLWNsZWFudXAgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDY4YjY5MjExYjIgYmIvY29tcGF0LXV0aWwtY29tbWVudC1maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDVjYzZhNGJlMTEgcnMvaHR0cC1wdXNoLXNpbXBsaWZ5IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBhODFlNDJkMjM1IHJzL2NvbHVtbi11c2UtdXRmOC1zdHJud2lkdGggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDA2MmEzMDlkMzYgcnMvcmVtb3RlLWN1cmwtdXNlLWFyZ3YtYXJyYXkgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDNiM2M3OWY2YzkgbnIvZGlmZi1oaWdobGlnaHQtaW5kZW50LWZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMzQ0NGVjMmViMiB3Yi9mc21vbml0b3ItYml0bWFwLWZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMTBkYTAzMGFiNyBjYi9wY3JlMi1jaGFydGFibGVzLWxlYWtmaXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDYwZTY1NjlhMTIganMvbWluZ3ctbmVlZHMtaGlkaW5nLWZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNTJiZDNlNDY1NyBybC9naXR3ZWItYmxhbWUtcHJldi1maXggbGF0ZXIgdG8gbWFpbnQpLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjI0LjEudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjI0LjEudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4MTA0ODUKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMjQuMS50eHQKQEAgLTAsMCArMSw4IEBACitHaXQgdjIuMjQuMSBSZWxlYXNlIE5vdGVzCis9PT09PT09PT09PT09PT09PT09PT09PT09CisKK1RoaXMgcmVsZWFzZSBtZXJnZXMgdXAgdGhlIGZpeGVzIHRoYXQgYXBwZWFyIGluIHYyLjE0LjYsIHYyLjE1LjQsCit2Mi4xNy4zLCB2Mi4yMC4yIGFuZCBpbiB2Mi4yMS4xLCBhZGRyZXNzaW5nIHRoZSBzZWN1cml0eSBpc3N1ZXMKK0NWRS0yMDE5LTEzNDgsIENWRS0yMDE5LTEzNDksIENWRS0yMDE5LTEzNTAsIENWRS0yMDE5LTEzNTEsCitDVkUtMjAxOS0xMzUyLCBDVkUtMjAxOS0xMzUzLCBDVkUtMjAxOS0xMzU0LCBDVkUtMjAxOS0xMzg3LCBhbmQKK0NWRS0yMDE5LTE5NjA0OyBzZWUgdGhlIHJlbGVhc2Ugbm90ZXMgZm9yIHRob3NlIHZlcnNpb25zIGZvciBkZXRhaWxzLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjI1LjAudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjI1LjAudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxY2ViMzQKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMjUuMC50eHQKQEAgLTAsMCArMSwzNzAgQEAKK0dpdCAyLjI1IFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT0KKworVXBkYXRlcyBzaW5jZSB2Mi4yNAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitCYWNrd2FyZCBjb21wYXRpYmlsaXR5IG5vdGVzCisKKworVUksIFdvcmtmbG93cyAmIEZlYXR1cmVzCisKKyAqIEEgdHV0b3JpYWwgb24gb2JqZWN0IGVudW1lcmF0aW9uIGhhcyBiZWVuIGFkZGVkLgorCisgKiBUaGUgYnJhbmNoIGRlc2NyaXB0aW9uICgiZ2l0IGJyYW5jaCAtLWVkaXQtZGVzY3JpcHRpb24iKSBoYXMgYmVlbgorICAgdXNlZCB0byBmaWxsIHRoZSBib2R5IG9mIHRoZSBjb3ZlciBsZXR0ZXJzIGJ5IHRoZSBmb3JtYXQtcGF0Y2gKKyAgIGNvbW1hbmQ7IHRoaXMgaGFzIGJlZW4gZW5oYW5jZWQgc28gdGhhdCB0aGUgc3ViamVjdCBjYW4gYWxzbyBiZQorICAgZmlsbGVkLgorCisgKiAiZ2l0IHJlYmFzZSAtLXByZXNlcnZlLW1lcmdlcyIgaGFzIGJlZW4gbWFya2VkIGFzIGRlcHJlY2F0ZWQ7IHRoaXMKKyAgIHJlbGVhc2Ugc3RvcHMgYWR2ZXJ0aXNpbmcgaXQgaW4gdGhlICJnaXQgcmViYXNlIC1oIiBvdXRwdXQuCisKKyAqIFRoZSBjb2RlIHRvIGdlbmVyYXRlIG11bHRpLXBhY2sgaW5kZXggbGVhcm5lZCB0byBzaG93IChvciBub3QgdG8KKyAgIHNob3cpIHByb2dyZXNzIGluZGljYXRvcnMuCisKKyAqICJnaXQgYXBwbHkgLS0zd2F5IiBsZWFybmVkIHRvIGhvbm9yIG1lcmdlLmNvbmZsaWN0U3R5bGUKKyAgIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUsIGxpa2UgbWVyZ2VzIHdvdWxkLgorCisgKiBUaGUgY3VzdG9tIGZvcm1hdCBmb3IgImdpdCBsb2cgLS1mb3JtYXQ9PGZvcm1hdD4iIGxlYXJuZWQgdGhlIGwvTAorICAgcGxhY2Vob2xkZXIgdGhhdCBpcyBzaW1pbGFyIHRvIGUvRSB0aGF0IGZpbGxzIGluIHRoZSBlLW1haWwKKyAgIGFkZHJlc3MsIGJ1dCBvbmx5IHRoZSBsb2NhbCBwYXJ0IG9uIHRoZSBsZWZ0IHNpZGUgb2YgJ0AnLgorCisgKiBEb2N1bWVudGF0aW9uIHBhZ2VzIGZvciAiZ2l0IHNob3J0bG9nIiBub3cgbGlzdCBjb21taXQgbGltaXRpbmcKKyAgIG9wdGlvbnMgZXhwbGljaXRseS4KKworICogVGhlIHBhdHRlcm5zIHRvIGRldGVjdCBmdW5jdGlvbiBib3VuZGFyeSBmb3IgRWxpeGlyIGxhbmd1YWdlIGhhcworICAgYmVlbiBhZGRlZC4KKworICogVGhlIGNvbXBsZXRpb24gc2NyaXB0IChpbiBjb250cmliLykgbGVhcm5lZCB0aGF0IHRoZSAiLS1vbnRvIgorICAgb3B0aW9uIG9mICJnaXQgcmViYXNlIiBjYW4gdGFrZSBpdHMgYXJndW1lbnQgYXMgdGhlIHZhbHVlIG9mIHRoZQorICAgb3B0aW9uLgorCisgKiBUaGUgdXNlcmRpZmYgbWFjaGluZXJ5IGhhcyBiZWVuIHRhdWdodCB0aGF0ICJhc3luYyBkZWYiIGlzIGFub3RoZXIKKyAgIHdheSB0byBiZWdpbiBhICJmdW5jdGlvbiIgaW4gUHl0aG9uLgorCisgKiAiZ2l0IHJhbmdlLWRpZmYiIGxlYXJuZWQgdG8gdGFrZSB0aGUgIi0tbm90ZXM9PHJlZj4iIGFuZCB0aGUKKyAgICItLW5vLW5vdGVzIiBvcHRpb25zIHRvIGNvbnRyb2wgdGhlIGNvbW1pdCBub3RlcyBpbmNsdWRlZCBpbiB0aGUKKyAgIGxvZyBtZXNzYWdlIHRoYXQgZ2V0cyBjb21wYXJlZC4KKworICogImdpdCByZXYtcGFyc2UgLS1zaG93LXRvcGxldmVsIiBydW4gb3V0c2lkZSBvZiBhbnkgd29ya2luZyB0cmVlIGRpZAorICAgbm90IGVycm9yIG91dCwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBBIGZldyBjb21tYW5kcyBsZWFybmVkIHRvIHRha2UgdGhlIHBhdGhzcGVjIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0CisgICBvciBhIG5hbWVkIGZpbGUsIGluc3RlYWQgb2YgdGFraW5nIGl0IGFzIHRoZSBjb21tYW5kIGxpbmUKKyAgIGFyZ3VtZW50cywgd2l0aCB0aGUgIi0tcGF0aHNwZWMtZnJvbS1maWxlIiBvcHRpb24uCisKKyAqICJnaXQgc3VibW9kdWxlIiBsZWFybmVkIGEgc3ViY29tbWFuZCAic2V0LXVybCIuCisKKyAqICJnaXQgbG9nIiBmYW1pbHkgbGVhcm5lZCAiLS1wcmV0dHk9cmVmZXJlbmNlIiB0aGF0IGdpdmVzIHRoZSBuYW1lCisgICBvZiBhIGNvbW1pdCBpbiB0aGUgZm9ybWF0IHRoYXQgaXMgb2Z0ZW4gdXNlZCB0byByZWZlciB0byBpdCBpbiBsb2cKKyAgIG1lc3NhZ2VzLgorCisgKiBUaGUgaW50ZXJhY3Rpb24gYmV0d2VlbiAiZ2l0IGNsb25lIC0tcmVjdXJzZS1zdWJtb2R1bGVzIiBhbmQKKyAgIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUgd2FzIGlsbC1kZXNpZ25lZC4gIFRoZSBkb2N1bWVudGF0aW9uIGFuZAorICAgY29kZSBoYXZlIGJlZW4gdGF1Z2h0IHRvIG1ha2UgbW9yZSBjbGVhciByZWNvbW1lbmRhdGlvbnMgd2hlbiB0aGUKKyAgIHVzZXJzIHNlZSBmYWlsdXJlcy4KKworICogTWFuYWdlbWVudCBvZiBzcGFyc2VseSBjaGVja2VkLW91dCB3b3JraW5nIHRyZWUgaGFzIGdhaW5lZCBhCisgICBkZWRpY2F0ZWQgInNwYXJzZS1jaGVja291dCIgY29tbWFuZC4KKworICogTWlzY2VsbGFuZW91cyBzbWFsbCBVWCBpbXByb3ZlbWVudHMgb24gImdpdC1wNCIuCisKKyAqICJnaXQgc3BhcnNlLWNoZWNrb3V0IGxpc3QiIHN1YmNvbW1hbmQgbGVhcm5lZCB0byBnaXZlIGl0cyBvdXRwdXQgaW4KKyAgIGEgbW9yZSBjb25jaXNlIGZvcm0gd2hlbiB0aGUgImNvbmUiIG1vZGUgaXMgaW4gZWZmZWN0LgorCisKK1BlcmZvcm1hbmNlLCBJbnRlcm5hbCBJbXBsZW1lbnRhdGlvbiwgRGV2ZWxvcG1lbnQgU3VwcG9ydCBldGMuCisKKyAqIERlYnVnZ2luZyBzdXBwb3J0IGZvciBsYXp5IGNsb25pbmcgaGFzIGJlZW4gYSBiaXQgaW1wcm92ZWQuCisKKyAqIE1vdmUgdGhlIGRlZmluaXRpb24gb2YgYSBzZXQgb2YgYml0bWFzayBjb25zdGFudHMgZnJvbSAwY3RhbAorICAgbGl0ZXJhbCB0byAoMVU8PGNvdW50KSBub3RhdGlvbi4KKworICogVGVzdCB1cGRhdGVzIHRvIHByZXBhcmUgZm9yIFNIQS0yIHRyYW5zaXRpb24gY29udGludWVzLgorCisgKiBDcnVmdHkgY29kZSBhbmQgbG9naWMgYWNjdW11bGF0ZWQgb3ZlciB0aW1lIGFyb3VuZCB0aGUgb2JqZWN0CisgICBwYXJzaW5nIGFuZCBsb3ctbGV2ZWwgb2JqZWN0IGFjY2VzcyB1c2VkIGluICJnaXQgZnNjayIgaGF2ZSBiZWVuCisgICBjbGVhbmVkIHVwLgorCisgKiBUaGUgaW1wbGVtZW50YXRpb24gb2YgImdpdCBsb2cgLS1ncmFwaCIgZ290IHJlZmFjdG9yZWQgYW5kIHRoZW4gaXRzCisgICBvdXRwdXQgZ290IHNpbXBsaWZpZWQuCisKKyAqIEZvbGxvdyByZWNlbnQgcHVzaCB0byBtb3ZlIEFQSSBkb2NzIGZyb20gRG9jdW1lbnRhdGlvbi8gdG8gaGVhZGVyCisgICBmaWxlcyBhbmQgdXBkYXRlIGNvbmZpZy5oCisKKyAqICJnaXQgYnVuZGxlIiBoYXMgYmVlbiB0YXVnaHQgdG8gdXNlIHRoZSBwYXJzZSBvcHRpb25zIEFQSS4gICJnaXQKKyAgIGJ1bmRsZSB2ZXJpZnkiIGxlYXJuZWQgIi0tcXVpZXQiIGFuZCAiZ2l0IGJ1bmRsZSBjcmVhdGUiIGxlYXJuZWQKKyAgIG9wdGlvbnMgdG8gY29udHJvbCB0aGUgcHJvZ3Jlc3Mgb3V0cHV0LgorCisgKiBIYW5kbGluZyBvZiBjb21taXQgb2JqZWN0cyB0aGF0IHVzZSBub24gVVRGLTggZW5jb2RpbmcgZHVyaW5nCisgICAicmViYXNlIC1pIiBoYXMgYmVlbiBpbXByb3ZlZC4KKworICogVGhlIGJlZ2lubmluZyBvZiByZXdyaXRpbmcgImdpdCBhZGQgLWkiIGluIEMuCisKKyAqIEEgbGFiZWwgdXNlZCBpbiB0aGUgdG9kbyBsaXN0IHRoYXQgYXJlIGdlbmVyYXRlZCBieSAiZ2l0IHJlYmFzZQorICAgLS1yZWJhc2UtbWVyZ2VzIiBpcyB1c2VkIGFzIGEgcGFydCBvZiBhIHJlZm5hbWU7IHRoZSBsb2dpYyB0byBjb21lCisgICB1cCB3aXRoIHRoZSBsYWJlbCBoYXMgYmVlbiB0aWdodGVuZWQgdG8gYXZvaWQgbmFtZXMgdGhhdCBjYW5ub3QgYmUKKyAgIHVzZWQgYXMgc3VjaC4KKworICogVGhlIGxvZ2ljIHRvIGF2b2lkIGR1cGxpY2F0ZSBsYWJlbCBuYW1lcyBnZW5lcmF0ZWQgYnkgImdpdCByZWJhc2UKKyAgIC0tcmViYXNlLW1lcmdlcyIgZm9yZ290IHRoYXQgdGhlIG1hY2hpbmVyeSBpdHNlbGYgdXNlcyAib250byIgYXMgYQorICAgbGFiZWwgbmFtZSwgd2hpY2ggbXVzdCBiZSBhdm9pZGVkIGJ5IGF1dG8tZ2VuZXJhdGVkIGxhYmVscywgd2hpY2gKKyAgIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogV2UgaGF2ZSBoYWQgY29tcGF0aWJpbGl0eSBmYWxsYmFjayBtYWNybyBkZWZpbml0aW9ucyBmb3IgIlBSSXVNQVgiLAorICAgIlBSSXUzMiIsIGV0Yy4gYnV0IGRpZCBub3QgZm9yICJQUklkTUFYIiwgd2hpbGUgdGhlIGNvZGUgdXNlZCB0aGUKKyAgIGxhc3Qgb25lIGFwcGFyZW50bHkgd2l0aG91dCBhbnkgaGljY3VwIHJlcG9ydGVkIHJlY2VudGx5LiAgVGhlCisgICBmYWxsYmFjayBtYWNybyBkZWZpbml0aW9ucyBmb3IgdGhlc2UgPGludHR5cGVzLmg+IG1hY3JvcyB0aGF0IG11c3QKKyAgIGFwcGVhciBpbiBDOTkgc3lzdGVtcyBoYXZlIGJlZW4gcmVtb3ZlZC4KKworICogUmVjZW50bHkgd2UgaGF2ZSBkZWNsYXJlZCB0aGF0IEdJVF9URVNUXyogdmFyaWFibGVzIHRha2UgdGhlCisgICB1c3VhbCBib29sZWFuIHZhbHVlcyAoaXQgdXNlZCB0byBiZSB0aGF0IHNvbWUgdXNlZCAibm9uLWVtcHR5CisgICBtZWFucyB0cnVlIiBhbmQgdGFraW5nIEdJVF9URVNUX1ZBUj1ZZXNQbGVhc2UgYXMgdHJ1ZSk7IG1ha2UKKyAgIHN1cmUgd2Ugbm90aWNlIGFuZCBmYWlsIHdoZW4gbm9uLWJvb2wgc3RyaW5ncyBhcmUgZ2l2ZW4gdG8KKyAgIHRoZXNlIHZhcmlhYmxlcy4KKworICogVXNlcnMgb2Ygb25ld2F5X21lcmdlKCkgKGxpa2UgInJlc2V0IC0taGFyZCIpIGxlYXJuZWQgdG8gdGFrZQorICAgYWR2YW50YWdlIG9mIGZzbW9uaXRvciB0byBhdm9pZCB1bm5lY2Vzc2FyeSBsc3RhdCgyKSBjYWxscy4KKworICogUGVyZm9ybWFuY2UgdHdlYWsgb24gImdpdCBwdXNoIiBpbnRvIGEgcmVwb3NpdG9yeSB3aXRoIG1hbnkgcmVmcworICAgdGhhdCBwb2ludCBhdCBvYmplY3RzIHdlIGhhdmUgbmV2ZXIgaGVhcmQgb2YuCisKKyAqIFBlcmZUZXN0IGZpeCB0byBhdm9pZCBzdGFsZSByZXN1bHQgbWl4ZWQgdXAgd2l0aCB0aGUgbGF0ZXN0IHJvdW5kCisgICBvZiB0ZXN0IHJlc3VsdHMuCisKKyAqIEhpZGUgbG93ZXItbGV2ZWwgdmVyaWZ5X3NpZ25lZC1idWZmZXIoKSBBUEkgYXMgYSBwdXJlIGhlbHBlciB0bworICAgaW1wbGVtZW50IHRoZSBwdWJsaWMgY2hlY2tfc2lnbmF0dXJlKCkgZnVuY3Rpb24sIGluIG9yZGVyIHRvCisgICBlbmNvdXJhZ2UgbmV3IGNhbGxlcnMgdG8gdXNlIHRoZSBjb3JyZWN0IGFuZCBtb3JlIHN0cmljdAorICAgdmFsaWRhdGlvbi4KKworICogVW5uZWNlc3NhcnkgcmVhZGluZyBvZiBzdGF0ZSB2YXJpYWJsZXMgYmFjayBmcm9tIHRoZSBkaXNrIGR1cmluZworICAgc2VxdWVuY2VyIG9wZXJhdGlvbiBoYXMgYmVlbiByZWR1Y2VkLgorCisgKiBUaGUgY29kZSBoYXMgYmVlbiBtYWRlIHRvIGF2b2lkIGdtdGltZSgpIGFuZCBsb2NhbHRpbWUoKSBhbmQgcHJlZmVyCisgICB0aGVpciByZWVudHJhbnQgY291bnRlcnBhcnRzLgorCisgKiBJbiBhIHJlcG9zaXRvcnkgd2l0aCBtYW55IHBhY2tmaWxlcywgdGhlIGNvc3Qgb2YgdGhlIHByb2NlZHVyZSB0aGF0CisgICBhdm9pZHMgcmVnaXN0ZXJpbmcgdGhlIHNhbWUgcGFja2ZpbGUgdHdpY2Ugd2FzIHVubmVjZXNzYXJpbHkgaGlnaAorICAgYnkgdXNpbmcgYW4gaW5lZmZpY2llbnQgc2VhcmNoIGFsZ29yaXRobSwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBSZWRvICJnaXQgbmFtZS1yZXYiIHRvIGF2b2lkIHJlY3Vyc2l2ZSBjYWxscy4KKworICogRnJlZUJTRCBDSSBzdXBwb3J0IHZpYSBDaXJydXMtQ0kgaGFzIGJlZW4gYWRkZWQuCisKKworRml4ZXMgc2luY2UgdjIuMjQKKy0tLS0tLS0tLS0tLS0tLS0tCisKKyAqICJyZWJhc2UgLWkiIGNlYXNlZCB0byBydW4gcG9zdC1jb21taXQgaG9vayBieSBtaXN0YWtlIGluIGFuIGVhcmxpZXIKKyAgIHVwZGF0ZSwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiAiZ2l0IG5vdGVzIGNvcHkgJG9yaWdpbmFsIiBvdWdodCB0byBjb3B5IHRoZSBub3RlcyBhdHRhY2hlZCB0byB0aGUKKyAgIG9yaWdpbmFsIG9iamVjdCB0byBIRUFELCBidXQgYSBtaXN0YWtlbiB0aWdodGVuaW5nIHRvIGNvbW1hbmQgbGluZQorICAgcGFyYW1ldGVyIHZhbGlkYXRpb24gbWFkZSBlYXJsaWVyIGRpc2FibGVkIHRoYXQgZmVhdHVyZSBieSBtaXN0YWtlLgorCisgKiBXaGVuIGFsbCBmaWxlcyBmcm9tIHNvbWUgc3ViZGlyZWN0b3J5IHdlcmUgcmVuYW1lZCB0byB0aGUgcm9vdAorICAgZGlyZWN0b3J5LCB0aGUgZGlyZWN0b3J5IHJlbmFtZSBoZXVyaXN0aWNzIHdvdWxkIGZhaWwgdG8gZGV0ZWN0IHRoYXQKKyAgIGFzIGEgcmVuYW1lL21lcmdlIG9mIHRoZSBzdWJkaXJlY3RvcnkgdG8gdGhlIHJvb3QgZGlyZWN0b3J5LCB3aGljaCBoYXMKKyAgIGJlZW4gY29ycmVjdGVkLgorCisgKiBDb2RlIGNsZWFuLXVwIGFuZCBhIGJ1Z2ZpeCBpbiB0aGUgbG9naWMgdXNlZCB0byB0ZWxsIHdvcmt0cmVlIGxvY2FsCisgICBhbmQgcmVwb3NpdG9yeSBnbG9iYWwgcmVmcyBhcGFydC4KKyAgIChtZXJnZSBmNDVmODhiMmU0IHNnL2Rpci10cmllLWZpeGVzIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBzdGFzaCBzYXZlIiBpbiBhIHdvcmtpbmcgdHJlZSB0aGF0IGlzIHNwYXJzZWx5IGNoZWNrZWQgb3V0CisgICBtaXN0YWtlbmx5IHJlbW92ZWQgcGF0aHMgdGhhdCBhcmUgb3V0c2lkZSB0aGUgYXJlYSBvZiBpbnRlcmVzdC4KKyAgIChtZXJnZSA0YTU4YzNkN2Y3IGpzL3VwZGF0ZS1pbmRleC1pZ25vcmUtcmVtb3ZhbC1mb3Itc2tpcC13b3JrdHJlZSBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgcmV2LXBhcnNlIC0tZ2l0LXBhdGggSEVBRC5sb2NrIiBkaWQgbm90IGdpdmUgdGhlIHJpZ2h0IHBhdGgKKyAgIHdoZW4gcnVuIGluIGEgc2Vjb25kYXJ5IHdvcmt0cmVlLgorICAgKG1lcmdlIDc2YTUzZDY0MGYganMvZ2l0LXBhdGgtaGVhZC1kb3QtbG9jay1maXggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IG1lcmdlIC0tbm8tY29tbWl0IiBuZWVkcyAiLS1uby1mZiIgaWYgeW91IGRvIG5vdCB3YW50IHRvIG1vdmUKKyAgIEhFQUQsIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZCBpbiB0aGUgbWFudWFsIHBhZ2UgZm9yICJnaXQgYmlzZWN0Ii4KKyAgIChtZXJnZSA4ZGQzMjdiMjQ2IG1hL2Jpc2VjdC1kb2Mtc2FtcGxlLXVwZGF0ZSBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgd29ya3RyZWUgYWRkIiBpbnRlcm5hbGx5IGNhbGxzICJyZXNldCAtLWhhcmQiIHRoYXQgc2hvdWxkIG5vdAorICAgZGVzY2VuZCBpbnRvIHN1Ym1vZHVsZXMsIGV2ZW4gd2hlbiBzdWJtb2R1bGUucmVjdXJzZSBjb25maWd1cmF0aW9uCisgICBpcyBzZXQsIGJ1dCBpdCB3YXMgYWZmZWN0ZWQuICBUaGlzIGhhcyBiZWVuIGNvcnJlY3RlZC4KKyAgIChtZXJnZSA0NzgyY2YyYWI2IHBiL25vLXJlY3Vyc2l2ZS1yZXNldC1oYXJkLWluLXdvcmt0cmVlLWFkZCBsYXRlciB0byBtYWludCkuCisKKyAqIE1lc3NhZ2VzIGZyb20gZGllKCkgZXRjLiBjYW4gYmUgbWl4ZWQgdXAgZnJvbSBtdWx0aXBsZSBwcm9jZXNzZXMKKyAgIHdpdGhvdXQgZXZlbiBsaW5lIGJ1ZmZlcmluZyBvbiBXaW5kb3dzLCB3aGljaCBoYXMgYmVlbiB3b3JrZWQKKyAgIGFyb3VuZC4KKyAgIChtZXJnZSAxMTZkMWZhNmM2IGpzL3ZyZXBvcnRmLXdvLWJ1ZmZlcmluZyBsYXRlciB0byBtYWludCkuCisKKyAqIEhUVFAgdHJhbnNwb3J0IGhhZCBwb3NzaWJsZSBhbGxvY2F0b3IvZGVhbGxvY2F0b3IgbWlzbWF0Y2gsIHdoaWNoCisgICBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqIFRoZSB3YXRjaG1hbiBpbnRlZ3JhdGlvbiBmb3IgZnNtb25pdG9yIHdhcyByYWN5LCB3aGljaCBoYXMgYmVlbgorICAgY29ycmVjdGVkIHRvIGJlIG1vcmUgY29uc2VydmF0aXZlLgorICAgKG1lcmdlIGRkMGI2MWY1Nzcga3cvZnNtb25pdG9yLXdhdGNobWFuLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIEZldGNoaW5nIGZyb20gbXVsdGlwbGUgcmVtb3RlcyBpbnRvIHRoZSBzYW1lIHJlcG9zaXRvcnkgaW4gcGFyYWxsZWwKKyAgIGhhZCBhIGJhZCBpbnRlcmFjdGlvbiB3aXRoIHRoZSByZWNlbnQgY2hhbmdlIHRvIChvcHRpb25hbGx5KSB1cGRhdGUKKyAgIHRoZSBjb21taXQtZ3JhcGggYWZ0ZXIgYSBmZXRjaCBqb2IgZmluaXNoZXMsIGFzIHRoZXNlIHBhcmFsbGVsCisgICBmZXRjaGVzIGNvbXBldGUgd2l0aCBlYWNoIG90aGVyLiAgV2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBSZWNlbnQgdXBkYXRlIHRvICJnaXQgc3Rhc2ggcG9wIiBtYWRlIHRoZSBjb21tYW5kIGVtcHR5IHRoZSBpbmRleAorICAgd2hlbiBydW4gd2l0aCB0aGUgIi0tcXVpZXQiIG9wdGlvbiwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiAiZ2l0IGZldGNoIiBjb2RlcGF0aCBoYWQgYSBiaWcgImRvIG5vdCBsYXppbHkgZmV0Y2ggbWlzc2luZyBvYmplY3RzCisgICB3aGVuIEkgYXNrIGlmIHNvbWV0aGluZyBleGlzdHMiIHN3aXRjaC4gIFRoaXMgaGFzIGJlZW4gY29ycmVjdGVkIGJ5CisgICBtYXJraW5nIHRoZSAiZG9lcyB0aGlzIHRoaW5nIGV4aXN0PyIgY2FsbHMgd2l0aCAiaWYgbm90IHBsZWFzZSBkbyBub3QKKyAgIGxhemlseSBmZXRjaCBpdCIgZmxhZy4KKworICogVGVzdCB1cGRhdGUgdG8gYXZvaWQgd2FzdGVkIGN5Y2xlcy4KKyAgIChtZXJnZSBlMDMxNjY5NWVjIHNnL3NraXAtc2tpcHBlZC1wcmVyZXEgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBFcnJvciBoYW5kbGluZyBhZnRlciAiZ2l0IHB1c2giIGZpbmlzaGVzIHNlbmRpbmcgdGhlIHBhY2tkYXRhIGFuZAorICAgd2FpdHMgZm9yIHRoZSByZXNwb25zZSB0byB0aGUgcmVtb3RlIHNpZGUgaGFzIGJlZW4gaW1wcm92ZWQuCisgICAobWVyZ2UgYWQ3YTQwMzI2OCBqay9zZW5kLXBhY2stcmVtb3RlLWZhaWx1cmUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBTb21lIGNvZGVwYXRocyBpbiAiZ2l0d2ViIiB0aGF0IGZvcmdvdCB0byBlc2NhcGUgVVJMcyBnZW5lcmF0ZWQKKyAgIGJhc2VkIG9uIGVuZC11c2VyIGlucHV0IGhhdmUgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgYTM3NmUzN2IyYyBqay9naXR3ZWItYW50aS14c3MgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBDSSBqb2JzIGZvciBtYWNPUyBoYXMgYmVlbiBtYWRlIGxlc3MgY2hhdHR5IHdoZW4gdXBkYXRpbmcgcGVyZm9yY2UKKyAgIHBhY2thZ2UgdXNlZCBkdXJpbmcgdGVzdGluZy4KKyAgIChtZXJnZSAwZGJjNGEwZWRmIGpjL2F6dXJlLWNpLW9zeC1maXgtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCB1bnBhY2stb2JqZWN0cyIgdXNlZCB0byBzaG93IHByb2dyZXNzIGJhc2VkIG9ubHkgb24gdGhlIG51bWJlcgorICAgb2YgcmVjZWl2ZWQgYW5kIHVucGFja2VkIG9iamVjdHMsIHdoaWNoIHN0YWxsZWQgd2hlbiBpdCBoYXMgdG8KKyAgIGhhbmRsZSBhbiB1bnVzdWFsbHkgbGFyZ2Ugb2JqZWN0LiAgSXQgbm93IHNob3dzIHRoZSB0aHJvdWdocHV0IGFzCisgICB3ZWxsLgorICAgKG1lcmdlIGJhZTYwYmE3ZTkgc2cvdW5wYWNrLXByb2dyZXNzLXRocm91Z2hwdXQgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGUgc2VxdWVuY2VyIG1hY2hpbmVyeSBjb21wYXJlZCB0aGUgSEVBRCBhbmQgdGhlIHN0YXRlIGl0IGlzCisgICBhdHRlbXB0aW5nIHRvIGNvbW1pdCB0byBkZWNpZGUgaWYgdGhlIHJlc3VsdCB3b3VsZCBiZSBhIG5vLW9wCisgICBjb21taXQsIGV2ZW4gd2hlbiBhbWVuZGluZyBhIGNvbW1pdCwgd2hpY2ggd2FzIGluY29ycmVjdCwgYW5kCisgICBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqIFRoZSBjb2RlIHRvIHBhcnNlIEdQRyBvdXRwdXQgdXNlZCB0byBhc3N1bWUgaW5jb3JyZWN0bHkgdGhhdCB0aGUKKyAgIGZpbnRlcnByaW50IGZvciB0aGUgcHJpbWFyeSBrZXkgd291bGQgYWx3YXlzIGJlIHByZXNlbnQgZm9yIGEgdmFsaWQKKyAgIHNpZ25hdHVyZSwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorICAgKG1lcmdlIDY3YTZlYTYzMDAgaGkvZ3BnLW9wdGlvbmFsLXBrZnAtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBzdWJtb2R1bGUgc3RhdHVzIiBhbmQgImdpdCBzdWJtb2R1bGUgc3RhdHVzIC0tY2FjaGVkIiBzaG93CisgICBkaWZmZXJlbnQgdGhpbmdzLCBidXQgdGhlIGRvY3VtZW50YXRpb24gZGlkIG5vdCBjb3ZlciB0aGVtCisgICBjb3JyZWN0bHksIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKyAgIChtZXJnZSA4ZDQ4M2M4NDA4IG1nL2RvYy1zdWJtb2R1bGUtc3RhdHVzLWNhY2hlZCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgcmVzZXQgLS1wYXRjaCAkb2JqZWN0IiB3aXRob3V0IGFueSBwYXRoc3BlYyBzaG91bGQgYWxsb3cgYQorICAgdHJlZSBvYmplY3QgdG8gYmUgZ2l2ZW4sIGJ1dCBpbmNvcnJlY3RseSByZXF1aXJlZCBhIGNvbW1pdHRpc2gsCisgICB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqICJnaXQgc3VibW9kdWxlIHN0YXR1cyIgdGhhdCBpcyBydW4gZnJvbSBhIHN1YmRpcmVjdG9yeSBvZiB0aGUKKyAgIHN1cGVycHJvamVjdCBkaWQgbm90IHdvcmsgd2VsbCwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorICAgKG1lcmdlIDFmM2FlYTIyYzcgbWcvc3VibW9kdWxlLXN0YXR1cy1mcm9tLWEtc3ViZGlyZWN0b3J5IGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIHJldmlzaW9uIHdhbGtpbmcgbWFjaGluZXJ5IHVzZXMgcmVzb3VyY2VzIGxpa2UgcGVyLW9iamVjdCBmbGFnCisgICBiaXRzIHRoYXQgbmVlZCB0byBiZSByZXNldCBiZWZvcmUgYSBuZXcgaXRlcmF0aW9uIG9mIHdhbGtpbmcKKyAgIGJlZ2lucywgYnV0IHRoZSByZXNvdXJjZXMgcmVsYXRlZCB0byB0b3BvbG9naWNhbCB3YWxrIHdlcmUgbm90CisgICBjbGVhcmVkIGNvcnJlY3RseSwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorICAgKG1lcmdlIDBhYTBjMmIyZWMgbWgvY2xlYXItdG9wby13YWxrLXVwb24tcmVzZXQgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUcmF2aXNDSSB1cGRhdGUuCisgICAobWVyZ2UgMTc2NDQxYmZiNSBzZy9vc3gtZm9yY2UtZ2NjLTkgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBXaGlsZSBydW5uaW5nICJyZXZlcnQiIG9yICJjaGVycnktcGljayAtLWVkaXQiIGZvciBtdWx0aXBsZQorICAgY29tbWl0cywgYSByZWNlbnQgcmVncmVzc2lvbiBpbmNvcnJlY3RseSBkZXRlY3RlZCAibm90aGluZyB0bworICAgY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW4iLCBpbnN0ZWFkIG9mIHJlcGxheWluZyB0aGUgY29tbWl0cywKKyAgIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKyAgIChtZXJnZSBiZWZkNGY2YTgxIHNnL2Fzc3VtZS1uby10b2RvLXVwZGF0ZS1pbi1jaGVycnktcGljayBsYXRlciB0byBtYWludCkuCisKKyAqIFdvcmsgYXJvdW5kIGEgaXNzdWUgd2hlcmUgYSBGRCB0aGF0IGlzIGxlZnQgb3BlbiB3aGVuIHNwYXduaW5nIGEKKyAgIGNoaWxkIHByb2Nlc3MgYW5kIGlzIGtlcHQgb3BlbiBpbiB0aGUgY2hpbGQgY2FuIGludGVyZmVyZSB3aXRoIHRoZQorICAgb3BlcmF0aW9uIGluIHRoZSBwYXJlbnQgcHJvY2VzcyBvbiBXaW5kb3dzLgorCisgKiBPbmUga2luZCBvZiBwcm9ncmVzcyBtZXNzYWdlcyB3ZXJlIGFsd2F5cyBnaXZlbiBkdXJpbmcgY29tbWl0LWdyYXBoCisgICBnZW5lcmF0aW9uLCBpbnN0ZWFkIG9mIGZvbGxvd2luZyB0aGUgImlmIGl0IHRha2VzIG1vcmUgdGhhbiB0d28KKyAgIHNlY29uZHMsIHNob3cgcHJvZ3Jlc3MiIHBhdHRlcm4sIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogImdpdCByZWJhc2UiIGRpZCBub3Qgd29yayB3ZWxsIHdoZW4gZm9ybWF0LnVzZUF1dG9CYXNlCisgICBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGlzIHNldCwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBUaGUgImRpZmYiIG1hY2hpbmVyeSBsZWFybmVkIG5vdCB0byBsb3NlIGFkZGVkL3JlbW92ZWQgYmxhbmsgbGluZXMKKyAgIGluIHRoZSBjb250ZXh0IHdoZW4gLS1pZ25vcmUtYmxhbmstbGluZXMgYW5kIC0tZnVuY3Rpb24tY29udGV4dCBhcmUKKyAgIHVzZWQgYXQgdGhlIHNhbWUgdGltZS4KKyAgIChtZXJnZSAwYmIzMTNhNTUyIHJzL3hkaWZmLWlnbm9yZS13cy13LWZ1bmMtY29udGV4dCBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSB0ZXN0IG9uICJmYXN0LWltcG9ydCIgdXNlZCB0byBnZXQgc3R1Y2sgd2hlbiAiZmFzdC1pbXBvcnQiIGRpZWQKKyAgIGluIHRoZSBtaWRkbGUuCisgICAobWVyZ2UgMGQ5YjBkNzg4NSBzZy90OTMwMC1yb2J1c3RpZnkgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGZvcm1hdC1wYXRjaCIgY2FuIHRha2UgYSBzZXQgb2YgY29uZmlndXJlZCBmb3JtYXQubm90ZXMgdmFsdWVzCisgICB0byBzcGVjaWZ5IHdoaWNoIG5vdGVzIHJlZnMgdG8gdXNlIGluIHRoZSBsb2cgbWVzc2FnZSBwYXJ0IG9mIHRoZQorICAgb3V0cHV0LiAgVGhlIGJlaGF2aW91ciBvZiB0aGlzIHdhcyBub3QgY29uc2lzdGVudCB3aXRoIG11bHRpcGxlCisgICAtLW5vdGVzIGNvbW1hbmQgbGluZSBvcHRpb25zLCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgZTBmOTA5NWFhYSBkbC9mb3JtYXQtcGF0Y2gtbm90ZXMtY29uZmlnLWZpeHVwIGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBwNCIgdXNlZCB0byBpZ25vcmUgbGZzLnN0b3JhZ2UgY29uZmlndXJhdGlvbiB2YXJpYWJsZSwgd2hpY2gKKyAgIGhhcyBiZWVuIGNvcnJlY3RlZC4KKyAgIChtZXJnZSBlYTk0YjE2ZmI4IHJiL3A0LWxmcyBsYXRlciB0byBtYWludCkuCisKKyAqIEFzc29ydGVkIGZpeGVzIHRvIHRoZSBkaXJlY3RvcnkgdHJhdmVyc2FsIEFQSS4KKyAgIChtZXJnZSA2ODM2ZDJmZTA2IGVuL2ZpbGwtZGlyZWN0b3J5LWZpeGVzIGxhdGVyIHRvIG1haW50KS4KKworICogRm9yYmlkIHBhdGhuYW1lcyB0aGF0IHRoZSBwbGF0Zm9ybSdzIGZpbGVzeXN0ZW0gY2Fubm90IHJlcHJlc2VudCBvbgorICAgTWluR1cuCisgICAobWVyZ2UgNGRjNDJjNmMxOCBqcy9taW5ndy1yZXNlcnZlZC1maWxlbmFtZXMgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IHJlYmFzZSAtLXNpZ25vZmYiIHN0b3BwZWQgd29ya2luZyB3aGVuIHRoZSBjb21tYW5kIHdhcyB3cml0dGVuCisgICBpbiBDLCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgNGZlN2U0M2M1MyBlbi9yZWJhc2Utc2lnbm9mZi1maXggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBBbiBlYXJsaWVyIHVwZGF0ZSB0byBHaXQgZm9yIFdpbmRvd3MgZGVjbGFyZWQgdGhhdCBhIHRyZWUgb2JqZWN0IGlzCisgICBpbnZhbGlkIGlmIGl0IGhhcyBhIHBhdGggY29tcG9uZW50IHdpdGggYmFja3NsYXNoIGluIGl0LCB3aGljaCB3YXMKKyAgIG92ZXJseSBzdHJpY3QsIHdoaWNoIGhhcyBiZWVuIGNvcnJlY3RlZC4gIFRoZSBvbmx5IHByb3RlY3Rpb24gdGhlCisgICBXaW5kb3dzIHVzZXJzIG5lZWQgaXMgdG8gcHJldmVudCBzdWNoIHBhdGggKG9yIGFueSBwYXRoIHRoYXQgdGhlaXIKKyAgIGZpbGVzeXN0ZW0gY2Fubm90IGNoZWNrIG91dCkgZnJvbSBlbnRlcmluZyB0aGUgaW5kZXguCisgICAobWVyZ2UgMjI0YzdkNzBmYSBqcy9taW5ndy1sb29zZW4tb3ZlcnN0cmljdC10cmVlLWVudHJ5LWNoZWNrcyBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBjb2RlIHRvIHdyaXRlIHNwbGl0IGNvbW1pdC1ncmFwaCBmaWxlKHMpIHVwb24gZmV0Y2hpbmcgY29tcHV0ZWQKKyAgIGJvZ3VzIHZhbHVlIGZvciB0aGUgcGFyYW1ldGVyIHVzZWQgaW4gc3BsaXR0aW5nIHRoZSByZXN1bHRpbmcKKyAgIGZpbGVzLCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgNjMwMjBmMTc1ZiBkcy9jb21taXQtZ3JhcGgtc2V0LXNpemUtbXVsdCBsYXRlciB0byBtYWludCkuCisKKyAqIE90aGVyIGNvZGUgY2xlYW51cCwgZG9jZml4LCBidWlsZCBmaXgsIGV0Yy4KKyAgIChtZXJnZSA4MDczNmQ3YzVlIGpjL2FtLXNob3ctY3VycmVudC1wYXRjaC1kb2NmaXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDhiNjU2NTcyY2Egc2cvY29tbWl0LWdyYXBoLXVzYWdlLWZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNmMwMjA0MjEzOSBtci9jbG9uZS1kaXItZXhpc3RzLXRvLXBhdGgtZXhpc3RzIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA0NGFlMTMxZTM4IHNnL2JsYW1lLWluZGVudC1oZXVyaXN0aWNzLWlzLW5vdy10aGUtZGVmYXVsdCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMDExNWU1ZDkyOSBkbC9kb2MtZGlmZi1uby1pbmRleC1pbXBsaWVzLWV4aXQtY29kZSBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMjcwZGU2YWNiZSBlbi90NjAyNC1zdHlsZSBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMTRjNDc3NmQ3NSBucy90ZXN0LWRlc2MtdHlwb2ZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNjhkNDBmMzBjNCBkai90eXBvZml4LW1lcmdlLXN0cmF0IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBmNjZlMDQwMWFiIGprL29wdGltLWluLXBhY2staWR4LWNvbnZlcnNpb24gbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDE2OWJlZDc0MjEgcnMvcGFyc2Utb3B0aW9ucy1kdXAtbnVsbC1maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDUxYmQ2YmUzMmQgcnMvdXNlLWNvcHktYXJyYXktaW4tbWluZ3ctc2hlbGwtY29tbWFuZC1wcmVwYXJhdGlvbiBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgYjAxODcxOTkyNyBtYS90NzAwNCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgOTMyNzU3YjBjYyBhci9pbnN0YWxsLWRvYy11cGRhdGUtY21kcy1uZWVkaW5nLXRoZS1zaGVsbCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNDZlZmQyOGJlMSBlcC9ndWFyZC1rc2V0LXRhci1oZWFkZXJzIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA5ZTVhZmRmOTk3IGVjL2ZldGNoLW1hcmstY29tbW9uLXJlZnMtdHJhY2UyIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBmMGU1OGIzZmU4IHBiL3N1Ym1vZHVsZS11cGRhdGUtZmV0Y2hlcyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMmEwMjI2MjA3OCBkbC90NTUyMC1jbGVhbnVwIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBhNGZiMDE2YmExIGpzL3BrdC1saW5lLWgtdHlwb2ZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNTRhN2E2NDYxMyBycy9zaW1wbGlmeS1wcmVwYXJlLWNtZCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgM2VhZTMwZTQ2NCBqay9sb3JlLWlzLXRoZS1hcmNoaXZlIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAxNGI3NjY0ZGY4IGRsL2xvcmUtaXMtdGhlLWFyY2hpdmUgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDBlNDBhNzNhNGMgcG8vYnVuZGxlLWRvYy1jbG9uYWJsZSBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgZTcxNGI4OThjNiBhcy90NzgxMi1taXNzaW5nLXJlZGlyZWN0cy1maXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDUyOGQ5ZTZkMDEgamsvcGVyZi13by1naXQtZG90LXBtIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBmYzQyZjIwZTI0IHNnL3Rlc3Qtc3F1ZWxjaC1ub2lzZS1pbi1jb21taXQtYnVsayBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgYzY0MzY4ZTNhMiBiYy90OTAwMS16c2gtaW4tcG9zaXgtZW11bGF0aW9uLW1vZGUgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDExZGU4ZGQ3ZWYgZHIvYnJhbmNoLXVzYWdlLWNhc2VmaXggbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGUwNWU4Y2YwNzQgcnMvYXJjaGl2ZS16aXAtY29kZS1jbGVhbnVwIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAxNDdlZTM1NTU4IHJzL2NvbW1pdC1leHBvcnQtZW52LXNpbXBsaWZ5IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA0NTA3ZWNjNzcxIHJzL3BhdGNoLWlkLXVzZS1vaWQtdG8taGV4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA1MWEwYTRlZDk1IG1yL2Jpc2VjdC11c2UtYWZ0ZXItZnJlZSBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgY2MyYmQ1YzQ1ZCBwYi9zdWJtb2R1bGUtZG9jLXhyZWYgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGRmNWJlMDE2NjkgamEvZG9jLW1hcmt1cC1jbGVhbnVwIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA3YzVjZWE3MjQyIG1yL2Jpc2VjdC1zYXZlLXBvaW50ZXItdG8tY29uc3Qtc3RyaW5nIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAyMGE2N2U4Y2U5IGpzL3VzZS10ZXN0LXRvb2wtb24tcGF0aCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNGU2MWIyMjE0ZCBldy9wYWNrZmlsZS1zeXNjYWxsLW9wdGltIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBhY2UwZjg2YzdmIHBiL2NsYXJpZnktbGluZS1sb2ctZG9jIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA3NjNhNTllNzFjIGVuL21lcmdlLXJlY3Vyc2l2ZS1vaWQtZXEtc2ltcGxpZnkgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDRlMmM0YzBkNGYgZG8vZ2l0d2ViLXR5cG9maXgtaW4tY29tbWVudHMgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDQyMWMwZmZiMDIgamIvZG9jLW11bHRpLXBhY2staWR4LWZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgZjg3NDBjNTg2YiBwbS9hbS1pbi1ib2R5LWhlYWRlci1kb2MtdXBkYXRlIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA1ODE0ZDQ0ZDliIHRtL2RvYy1zdWJtb2R1bGUtYWJzb3JiLWZpeCBsYXRlciB0byBtYWludCkuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMjUuMS50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMjUuMS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Q4NjliMAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yNS4xLnR4dApAQCAtMCwwICsxLDU1IEBACitHaXQgMi4yNS4xIFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PQorCitGaXhlcyBzaW5jZSB2Mi4yNQorLS0tLS0tLS0tLS0tLS0tLS0KKworICogImdpdCBjb21taXQiIGdpdmVzIG91dHB1dCBzaW1pbGFyIHRvICJnaXQgc3RhdHVzIiB3aGVuIHRoZXJlIGlzCisgICBub3RoaW5nIHRvIGNvbW1pdCwgYnV0IHdpdGhvdXQgaG9ub3JpbmcgdGhlIGFkdmlzZS5zdGF0dXNIaW50cworICAgY29uZmlndXJhdGlvbiB2YXJpYWJsZSwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBoYXNfb2JqZWN0X2ZpbGUoKSBzYWlkICJubyIgZ2l2ZW4gYW4gb2JqZWN0IHJlZ2lzdGVyZWQgdG8gdGhlCisgICBzeXN0ZW0gdmlhIHByZXRlbmRfb2JqZWN0X2ZpbGUoKSwgbWFraW5nIGl0IGluY29uc2lzdGVudCB3aXRoCisgICByZWFkX29iamVjdF9maWxlKCksIGNhdXNpbmcgbGF6eSBmZXRjaCB0byBhdHRlbXB0IGZldGNoaW5nIGFuCisgICBlbXB0eSB0cmVlIGZyb20gcHJvbWlzb3IgcmVtb3Rlcy4KKworICogVGhlIGNvZGUgdGhhdCB0cmllcyB0byBza2lwIG92ZXIgdGhlIGVudHJpZXMgZm9yIHRoZSBwYXRocyBpbiBhCisgICBzaW5nbGUgZGlyZWN0b3J5IHVzaW5nIHRoZSBjYWNoZS10cmVlIHdhcyBub3QgY2FyZWZ1bCBlbm91Z2gKKyAgIGFnYWluc3QgY29ycnVwdCBpbmRleCBmaWxlLgorCisgKiBDb21wbGV0ZSBhbiB1cGRhdGUgdG8gdHV0b3JpYWwgdGhhdCBlbmNvdXJhZ2VzICJnaXQgc3dpdGNoIiBvdmVyCisgICAiZ2l0IGNoZWNrb3V0IiB0aGF0IHdhcyBkb25lIG9ubHkgaGFsZi13YXkuCisKKyAqIFJlZHVjZSB1bm5lY2Vzc2FyeSByb3VuZC10cmlwIHdoZW4gcnVubmluZyAibHMtcmVtb3RlIiBvdmVyIHRoZQorICAgc3RhdGVsZXNzIFJQQyBtZWNoYW5pc20uCisKKyAqICJnaXQgcmVzdG9yZSAtLXN0YWdlZCIgZGlkIG5vdCBjb3JyZWN0bHkgdXBkYXRlIHRoZSBjYWNoZS10cmVlCisgICBzdHJ1Y3R1cmUsIHJlc3VsdGluZyBpbiBib2d1cyB0cmVlcyB0byBiZSB3cml0dGVuIGFmdGVyd2FyZHMsIHdoaWNoCisgICBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqIFRoZSBjb2RlIHJlY2VudGx5IGFkZGVkIHRvIG1vdmUgdG8gdGhlIGVudHJ5IGJleW9uZCB0aGUgb25lcyBpbiB0aGUKKyAgIHNhbWUgZGlyZWN0b3J5IGluIHRoZSBpbmRleCBpbiB0aGUgc3BhcnNlLWNvbmUgbW9kZSBkaWQgbm90IGNvdW50CisgICB0aGUgbnVtYmVyIG9mIGVudHJpZXMgdG8gc2tpcCBvdmVyIGluY29ycmVjdGx5LCB3aGljaCBoYXMgYmVlbgorICAgY29ycmVjdGVkLgorCisgKiBXb3JrIGFyb3VuZCB0ZXN0IGJyZWFrYWdlcyBjYXVzZWQgYnkgY3VzdG9tIHJlZ2V4IGVuZ2luZSB1c2VkIGluCisgICBsaWJhc2FuLCB3aGVuIGFkZHJlc3Mgc2FuaXRpemVyIGlzIHVzZWQgd2l0aCBtb3JlIHJlY2VudCB2ZXJzaW9ucworICAgb2YgZ2NjIGFuZCBjbGFuZy4KKworICogImdpdCBmZXRjaCAtLXJlZm1hcD0iIG9wdGlvbiBoYXMgZ290IGEgYmV0dGVyIGRvY3VtZW50YXRpb24uCisKKyAqIENvcm5lciBjYXNlIGJ1Z3MgaW4gImdpdCBjbGVhbiIgdGhhdCBzdGVtcyBmcm9tIGEgKG5lY2Vzc2FyaWx5IGZvcgorICAgcGVyZm9ybWFuY2UgcmVhc29ucykgYXdrd2FyZCBjYWxsaW5nIGNvbnZlbnRpb24gaW4gdGhlIGRpcmVjdG9yeQorICAgZW51bWVyYXRpb24gQVBJIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogImdpdCBncmVwIC0tbm8taW5kZXgiIHNob3VsZCBub3QgZ2V0IGFmZmVjdGVkIGJ5IHRoZSBjb250ZW50cyBvZgorICAgdGhlIC5naXRtb2R1bGVzIGZpbGUgYnV0IHdoZW4gIi0tcmVjdXJzZS1zdWJtb2R1bGVzIiBpcyBnaXZlbiBvcgorICAgdGhlICJzdWJtb2R1bGUucmVjdXJzZSIgdmFyaWFibGUgaXMgc2V0LCBpdCBkaWQuICBOb3cgdGhlc2UKKyAgIHNldHRpbmdzIGFyZSBpZ25vcmVkIGluIHRoZSAiLS1uby1pbmRleCIgbW9kZS4KKworICogVGVjaG5pY2FsIGRldGFpbHMgb2YgdGhlIGJ1bmRsZSBmb3JtYXQgaGFzIGJlZW4gZG9jdW1lbnRlZC4KKworICogVW5oZWxwZnVsIHdhcm5pbmcgbWVzc2FnZXMgZHVyaW5nIGRvY3VtZW50YXRpb24gYnVpbGQgaGF2ZSBiZWVuCisgICBzcXVlbGNoZWQuCisKK0Fsc28gY29udGFpbnMgdmFyaW91cyBkb2N1bWVudGF0aW9uIHVwZGF0ZXMsIGNvZGUgY2xlYW4tdXBzIGFuZCBtaW5vciBmaXh1cHMuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMjYuMC50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMjYuMC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNjMjY4NAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yNi4wLnR4dApAQCAtMCwwICsxLDM0NCBAQAorR2l0IDIuMjYgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PQorCitVcGRhdGVzIHNpbmNlIHYyLjI1CistLS0tLS0tLS0tLS0tLS0tLS0tCisKK1VJLCBXb3JrZmxvd3MgJiBGZWF0dXJlcworCisgKiBTYW1wbGUgY3JlZGVudGlhbCBoZWxwZXIgZm9yIHVzaW5nIC5uZXRyYyBoYXMgYmVlbiB1cGRhdGVkIHRvIHdvcmsKKyAgIG91dCBvZiB0aGUgYm94LgorCisgKiBncGcubWluVHJ1c3RMZXZlbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGhhcyBiZWVuIGludHJvZHVjZWQgdG8KKyAgIHRlbGwgdmFyaW91cyBzaWduYXR1cmUgdmVyaWZpY2F0aW9uIGNvZGVwYXRocyB0aGUgcmVxdWlyZWQgbWluaW11bQorICAgdHJ1c3QgbGV2ZWwuCisKKyAqIFRoZSBjb21tYW5kIGxpbmUgY29tcGxldGlvbiAoaW4gY29udHJpYi8pIGxlYXJuZWQgdG8gY29tcGxldGUKKyAgIHN1YmNvbW1hbmRzIGFuZCBhcmd1bWVudHMgdG8gImdpdCB3b3JrdHJlZSIuCisKKyAqIERpc2FtYmlndWF0aW9uIGxvZ2ljIHRvIHRlbGwgcmV2aXNpb25zIGFuZCBwYXRoc3BlYyBhcGFydCBoYXMgYmVlbgorICAgdHdlYWtlZCBzbyB0aGF0IGJhY2tzbGFzaC1lc2NhcGVkIGdsb2Igc3BlY2lhbCBjaGFyYWN0ZXJzIGRvIG5vdAorICAgY291bnQgaW4gdGhlICJ3aWxkY2FyZHMgYXJlIHBhdGhzcGVjIiBydWxlLgorCisgKiBPbmUgZWZmZWN0IG9mIHNwZWNpZnlpbmcgd2hlcmUgdGhlIEdJVF9ESVIgaXMgKGVpdGhlciB3aXRoIHRoZQorICAgZW52aXJvbm1lbnQgdmFyaWFibGUsIG9yIHdpdGggdGhlICJnaXQgLS1naXQtZGlyPTx3aGVyZT4gY21kIgorICAgb3B0aW9uKSBpcyB0byBkaXNhYmxlIHRoZSByZXBvc2l0b3J5IGRpc2NvdmVyeS4gIFRoaXMgaGFzIGJlZW4KKyAgIHBsYWNlZCBhIGJpdCBtb3JlIHN0cmVzcyBpbiB0aGUgZG9jdW1lbnRhdGlvbiwgYXMgbmV3IHVzZXJzIG9mdGVuCisgICBnZXQgY29uZnVzZWQuCisKKyAqIFR3byBoZWxwIG1lc3NhZ2VzIGdpdmVuIHdoZW4gImdpdCBhZGQiIG5vdGljZXMgdGhlIHVzZXIgZ2F2ZSBpdAorICAgbm90aGluZyB0byBhZGQgaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gdXNlIGFkdmlzZSgpIEFQSS4KKworICogQSBuZXcgdmVyc2lvbiBvZiBmc21vbml0b3Itd2F0Y2htYW4gaG9vayBoYXMgYmVlbiBpbnRyb2R1Y2VkLCB0bworICAgYXZvaWQgcmFjZXMuCisKKyAqICJnaXQgY29uZmlnIiBsZWFybmVkIHRvIHNob3cgaW4gd2hpY2ggInNjb3BlIiwgaW4gYWRkaXRpb24gdG8gaW4KKyAgIHdoaWNoIGZpbGUsIGVhY2ggY29uZmlnIHNldHRpbmcgY29tZXMgZnJvbS4KKworICogVGhlIGJhc2ljIDcgY29sb3JzIGxlYXJuZWQgdGhlIGJyaWdodGVyIGNvdW50ZXJwYXJ0cworICAgKGUuZy4gImJyaWdodHJlZCIpLgorCisgKiAiZ2l0IHNwYXJzZS1jaGVja291dCIgbGVhcm5lZCBhIG5ldyAiYWRkIiBzdWJjb21tYW5kLgorCisgKiBBIGNvbmZpZ3VyYXRpb24gZWxlbWVudCB1c2VkIGZvciBjcmVkZW50aWFsIHN1YnN5c3RlbSBjYW4gbm93IHVzZQorICAgd2lsZGNhcmQgcGF0dGVybiB0byBzcGVjaWZ5IGZvciB3aGljaCBzZXQgb2YgVVJMcyB0aGUgZW50cnkKKyAgIGFwcGxpZXMuCisKKyAqICJnaXQgY2xvbmUgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgLS1zaW5nbGUtYnJhbmNoIiBub3cgdXNlcyB0aGUgc2FtZQorICAgc2luZ2xlLWJyYW5jaCBvcHRpb24gd2hlbiBjbG9uaW5nIHRoZSBzdWJtb2R1bGVzLgorCisgKiAiZ2l0IHJtIiBhbmQgImdpdCBzdGFzaCIgbGVhcm5zIHRoZSBuZXcgIi0tcGF0aHNwZWMtZnJvbS1maWxlIgorICAgb3B0aW9uLgorCisgKiAiZ2l0IGFtIC0tc2hvcnQtY3VycmVudC1wYXRjaCIgaXMgYSB3YXkgdG8gc2hvdyB0aGUgcGllY2Ugb2YgZS1tYWlsCisgICBmb3IgdGhlIHN0b3BwZWQgc3RlcCwgd2hpY2ggaXMgbm90IHN1aXRhYmxlIHRvIGRpcmVjdGx5IGZlZWQgImdpdAorICAgYXBwbHkiIChpdCBpcyBkZXNpZ25lZCB0byBiZSBhIGdvb2QgImdpdCBhbSIgaW5wdXQpLiAgSXQgbGVhcm5lZCBhCisgICBuZXcgb3B0aW9uIHRvIHNob3cgb25seSB0aGUgcGF0Y2ggcGFydC4KKworICogSGFuZGxpbmcgb2YgY29uZmxpY3RpbmcgcmVuYW1lcyBpbiBtZXJnZS1yZWN1cnNpdmUgaGF2ZSBmdXJ0aGVyCisgICBiZWVuIG1hZGUgY29uc2lzdGVudCB3aXRoIGhvdyBleGlzdGluZyBjb2RlcGF0aHMgdHJ5IHRvIG1pbWljIHdoYXQKKyAgIGlzIGRvbmUgdG8gYWRkL2FkZCBjb25mbGljdHMuCisKKworUGVyZm9ybWFuY2UsIEludGVybmFsIEltcGxlbWVudGF0aW9uLCBEZXZlbG9wbWVudCBTdXBwb3J0IGV0Yy4KKworICogVGVsbCAuZWRpdG9yY29uZmlnIHRoYXQgaW4gdGhpcyBwcm9qZWN0LCAqLnR4dCBmaWxlcyBhcmUgaW5kZW50ZWQKKyAgIHdpdGggdGFicy4KKworICogVGhlIHRlc3QtbGludCBtYWNoaW5lcnkga25ldyB0byBjaGVjayAiVkFSPVZBTCBzaGVsbF9mdW5jdGlvbiIKKyAgIGNvbnN0cnVjdCwgYnV0IGRpZCBub3QgY2hlY2sgIlZBUj0gc2hlbGxfZnVuY2l0b24iLCB3aGljaCBoYXMgYmVlbgorICAgY29ycmVjdGVkLgorCisgKiBSZXBsYWNlICJnaXQgY29uZmlnIC0tYm9vbCIgY2FsbHMgd2l0aCAiZ2l0IGNvbmZpZyAtLXR5cGU9Ym9vbCIgaW4KKyAgIHNhbXBsZSB0ZW1wbGF0ZXMuCisKKyAqIFRoZSBlZmZvcnQgdG8gbW92ZSAiZ2l0LWFkZC0taW50ZXJhY3RpdmUiIHRvIEMgY29udGludWVzLgorCisgKiBJbXByb3ZlIGVycm9yIG1lc3NhZ2UgZ2VuZXJhdGlvbiBmb3IgImdpdCBzdWJtb2R1bGUgYWRkIi4KKworICogUHJlcGFyYXRpb24gb2YgdGVzdCBzY3JpcHRzIGZvciB0aGUgZGF5IHdoZW4gdGhlIG9iamVjdCBuYW1lcyB3aWxsCisgICB1c2UgU0hBLTI1NiBjb250aW51ZXMuCisKKyAqIFdhcm4gcHJvZ3JhbW1lcnMgYWJvdXQgcHJldGVuZF9vYmplY3RfZmlsZSgpIHRoYXQgYWxsb3dzIHRoZSBjb2RlCisgICB0byB0ZW50YXRpdmVseSB1c2UgaW4tY29yZSBvYmplY3RzLgorCisgKiBUaGUgd2F5ICJnaXQgcGFjay1vYmplY3RzIiByZXVzZXMgb2JqZWN0cyBzdG9yZWQgaW4gZXhpc3RpbmcgcGFjaworICAgdG8gZ2VuZXJhdGUgaXRzIHJlc3VsdCBoYXMgYmVlbiBpbXByb3ZlZC4KKworICogVGhlIHRyYW5zcG9ydCBwcm90b2NvbCB2ZXJzaW9uIDIgYmVjb21lcyB0aGUgZGVmYXVsdCBvbmUuCisKKyAqIFRyYWRpdGlvbmFsbHksIHdlIGF2b2lkZWQgdGhyZWFkZWQgZ3JlcCB3aGlsZSBzZWFyY2hpbmcgaW4gb2JqZWN0cworICAgKGFzIG9wcG9zZWQgdG8gZmlsZXMgaW4gdGhlIHdvcmtpbmcgdHJlZSkgYXMgYWNjZXNzZXMgdG8gdGhlIG9iamVjdAorICAgbGF5ZXIgaXMgbm90IHRocmVhZC1zYWZlLiAgVGhpcyBsaW1pdGF0aW9uIGlzIGdldHRpbmcgbGlmdGVkLgorCisgKiAiZ2l0IHJlYmFzZSAtaSIgKGFuZCBmcmllbmRzKSB1c2VkIHRvIHVubmVjZXNzYXJpbHkgY2hlY2sgb3V0IHRoZQorICAgdGlwIG9mIHRoZSBicmFuY2ggdG8gYmUgcmViYXNlZCwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBBIGxvdy1sZXZlbCBBUEkgZnVuY3Rpb24gZ2V0X29pZCgpLCB0aGF0IGFjY2VwdHMgdmFyaW91cyB3YXlzIHRvCisgICBuYW1lIGFuIG9iamVjdCwgdXNlZCB0byBpc3N1ZSBlbmQtdXNlciBmYWNpbmcgZXJyb3IgbWVzc2FnZXMKKyAgIHdpdGhvdXQgbDEwbiwgd2hpY2ggaGFzIGJlZW4gdXBkYXRlZCB0byBiZSB0cmFuc2xhdGFibGUuCisKKyAqIFVubmVlZGVkIGNvbm5lY3Rpdml0eSBjaGVjayBpcyBub3cgZGlzYWJsZWQgaW4gYSBwYXJ0aWFsIGNsb25lIHdoZW4KKyAgIGZldGNoaW5nIGludG8gaXQuCisKKyAqIFNvbWUgcm91Z2ggZWRnZXMgaW4gdGhlIHNwYXJzZS1jaGVja291dCBmZWF0dXJlLCBlc3BlY2lhbGx5IGFyb3VuZAorICAgdGhlIGNvbmUgbW9kZSwgaGF2ZSBiZWVuIGNsZWFuZWQgdXAuCisKKyAqIFRoZSBkaWZmLSogcGx1bWJpbmcgZmFtaWx5IG9mIHN1YmNvbW1hbmRzIG5vdyBwYXkgYXR0ZW50aW9uIHRvIHRoZQorICAgZGlmZi53c0Vycm9ySGlnaGxpZ2h0IGNvbmZpZ3VyYXRpb24sIHdoaWNoIGhhcyBiZWVuIGlnbm9yZWQgYmVmb3JlOworICAgdGhpcyBhbGxvd3MgImdpdCBhZGQgLXAiIHRvIGFsc28gc2hvdyB0aGUgd2hpdGVzcGFjZSBwcm9ibGVtcyB0bworICAgdGhlIGVuZCB1c2VyLgorCisgKiBTb21lIGNvZGVwYXRocyB3ZXJlIGdpdmVuIGEgcmVwb3NpdG9yeSBpbnN0YW5jZSBhcyBhIHBhcmFtZXRlciB0bworICAgd29yayBpbiB0aGUgcmVwb3NpdG9yeSwgYnV0IHBhc3NlZCB0aGVfcmVwb3NpdG9yeSBpbnN0YW5jZSB0byBpdHMKKyAgIGNhbGxlZXMsIHdoaWNoIGhhcyBiZWVuIGNsZWFuZWQgdXAgKHNvbWV3aGF0KS4KKworICogTWVtb3J5IGZvb3RwcmludCBhbmQgcGVyZm9ybWFuY2Ugb2YgImdpdCBuYW1lLXJldiIgaGFzIGJlZW4KKyAgIGltcHJvdmVkLgorCisgKiBUaGUgb2JqZWN0IHJlYWNoYWJpbGl0eSBiaXRtYXAgbWFjaGluZXJ5IGFuZCB0aGUgcGFydGlhbCBjbG9uaW5nCisgICBtYWNoaW5lcnkgd2VyZSBub3QgcHJlcGFyZWQgdG8gd29yayB3ZWxsIHRvZ2V0aGVyLCBiZWNhdXNlIHNvbWUKKyAgIG9iamVjdC1maWx0ZXJpbmcgY3JpdGVyaWEgdGhhdCBwYXJ0aWFsIGNsb25lcyB1c2UgaW5oZXJlbnRseSByZWx5CisgICBvbiBvYmplY3QgdHJhdmVyc2FsLCBidXQgdGhlIGJpdG1hcCBtYWNoaW5lcnkgaXMgYW4gb3B0aW1pemF0aW9uCisgICB0byBieXBhc3MgdGhhdCBvYmplY3QgdHJhdmVyc2FsLiAgVGhlcmUgaG93ZXZlciBhcmUgc29tZSBjYXNlcworICAgd2hlcmUgdGhleSBjYW4gd29yayB0b2dldGhlciwgYW5kIHRoZXkgd2VyZSB0YXVnaHQgYWJvdXQgdGhlbS4KKworICogImdpdCByZWJhc2UiIGhhcyBsZWFybmVkIHRvIHVzZSB0aGUgbWVyZ2UgYmFja2VuZCAoaS5lLiB0aGUKKyAgIG1hY2hpbmVyeSB0aGF0IGRyaXZlcyAicmViYXNlIC1pIikgYnkgZGVmYXVsdCwgd2hpbGUgYWxsb3dpbmcKKyAgICItLWFwcGx5IiBvcHRpb24gdG8gdXNlIHRoZSAiYXBwbHkiIGJhY2tlbmQgKGUuZy4gdGhlIG1vcmFsCisgICBlcXVpdmFsZW50IG9mICJmb3JtYXQtcGF0Y2ggcGlwZWQgdG8gYW0iKS4gIFRoZSByZWJhc2UuYmFja2VuZAorICAgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBjYW4gYmUgc2V0IHRvIGN1c3RvbWl6ZS4KKworICogVW5kZXJseWluZyBtYWNoaW5lcnkgb2YgImdpdCBiaXNlY3QtLWhlbHBlciIgaXMgYmVpbmcgcmVmYWN0b3JlZAorICAgaW50byBwaWVjZXMgdGhhdCBhcmUgbW9yZSBlYXNpbHkgcmV1c2VkLgorCisKK0ZpeGVzIHNpbmNlIHYyLjI1CistLS0tLS0tLS0tLS0tLS0tLQorCisgKiAiZ2l0IGNvbW1pdCIgZ2l2ZXMgb3V0cHV0IHNpbWlsYXIgdG8gImdpdCBzdGF0dXMiIHdoZW4gdGhlcmUgaXMKKyAgIG5vdGhpbmcgdG8gY29tbWl0LCBidXQgd2l0aG91dCBob25vcmluZyB0aGUgYWR2aXNlLnN0YXR1c0hpbnRzCisgICBjb25maWd1cmF0aW9uIHZhcmlhYmxlLCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisKKyAqIGhhc19vYmplY3RfZmlsZSgpIHNhaWQgIm5vIiBnaXZlbiBhbiBvYmplY3QgcmVnaXN0ZXJlZCB0byB0aGUKKyAgIHN5c3RlbSB2aWEgcHJldGVuZF9vYmplY3RfZmlsZSgpLCBtYWtpbmcgaXQgaW5jb25zaXN0ZW50IHdpdGgKKyAgIHJlYWRfb2JqZWN0X2ZpbGUoKSwgY2F1c2luZyBsYXp5IGZldGNoIHRvIGF0dGVtcHQgZmV0Y2hpbmcgYW4KKyAgIGVtcHR5IHRyZWUgZnJvbSBwcm9taXNvciByZW1vdGVzLgorCisgKiBDb21wbGV0ZSBhbiB1cGRhdGUgdG8gdHV0b3JpYWwgdGhhdCBlbmNvdXJhZ2VzICJnaXQgc3dpdGNoIiBvdmVyCisgICAiZ2l0IGNoZWNrb3V0IiB0aGF0IHdhcyBkb25lIG9ubHkgaGFsZi13YXkuCisKKyAqIEMgcGVkYW50cnkgOy0pIGZpeC4KKworICogVGhlIGNvZGUgdGhhdCB0cmllcyB0byBza2lwIG92ZXIgdGhlIGVudHJpZXMgZm9yIHRoZSBwYXRocyBpbiBhCisgICBzaW5nbGUgZGlyZWN0b3J5IHVzaW5nIHRoZSBjYWNoZS10cmVlIHdhcyBub3QgY2FyZWZ1bCBlbm91Z2gKKyAgIGFnYWluc3QgY29ycnVwdCBpbmRleCBmaWxlLgorCisgKiBSZWR1Y2UgdW5uZWNlc3Nhcnkgcm91bmQtdHJpcCB3aGVuIHJ1bm5pbmcgImxzLXJlbW90ZSIgb3ZlciB0aGUKKyAgIHN0YXRlbGVzcyBSUEMgbWVjaGFuaXNtLgorCisgKiAiZ2l0IHJlc3RvcmUgLS1zdGFnZWQiIGRpZCBub3QgY29ycmVjdGx5IHVwZGF0ZSB0aGUgY2FjaGUtdHJlZQorICAgc3RydWN0dXJlLCByZXN1bHRpbmcgaW4gYm9ndXMgdHJlZXMgdG8gYmUgd3JpdHRlbiBhZnRlcndhcmRzLCB3aGljaAorICAgaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBUaGUgY29kZSByZWNlbnRseSBhZGRlZCB0byBtb3ZlIHRvIHRoZSBlbnRyeSBiZXlvbmQgdGhlIG9uZXMgaW4gdGhlCisgICBzYW1lIGRpcmVjdG9yeSBpbiB0aGUgaW5kZXggaW4gdGhlIHNwYXJzZS1jb25lIG1vZGUgZGlkIG5vdCBjb3VudAorICAgdGhlIG51bWJlciBvZiBlbnRyaWVzIHRvIHNraXAgb3ZlciBpbmNvcnJlY3RseSwgd2hpY2ggaGFzIGJlZW4KKyAgIGNvcnJlY3RlZC4KKworICogUmVuZGVyaW5nIGJ5ICJnaXQgbG9nIC0tZ3JhcGgiIG9mIGFuY2VzdHJ5IGxpbmVzIGxlYWRpbmcgdG8gYSBtZXJnZQorICAgY29tbWl0IHdlcmUgbWFkZSBzdWJvcHRpbWFsIHRvIHdhc3RlIHZlcnRpY2FsIHNwYWNlIGEgYml0IHdpdGggYQorICAgcmVjZW50IHVwZGF0ZSwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkLgorCisgKiBXb3JrIGFyb3VuZCB0ZXN0IGJyZWFrYWdlcyBjYXVzZWQgYnkgY3VzdG9tIHJlZ2V4IGVuZ2luZSB1c2VkIGluCisgICBsaWJhc2FuLCB3aGVuIGFkZHJlc3Mgc2FuaXRpemVyIGlzIHVzZWQgd2l0aCBtb3JlIHJlY2VudCB2ZXJzaW9ucworICAgb2YgZ2NjIGFuZCBjbGFuZy4KKworICogTWlub3IgYnVnZml4ZXMgdG8gImdpdCBhZGQgLWkiIHRoYXQgaGFzIHJlY2VudGx5IGJlZW4gcmV3cml0dGVuIGluIEMuCisgICAobWVyZ2UgODQ5ZTQzY2MxOCBqcy9idWlsdGluLWFkZC1pLWNtZHMgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGZldGNoIC0tcmVmbWFwPSIgb3B0aW9uIGhhcyBnb3QgYSBiZXR0ZXIgZG9jdW1lbnRhdGlvbi4KKworICogImdpdCBjaGVja291dCBYIiBkaWQgbm90IGNvcnJlY3RseSBmYWlsIHdoZW4gWCBpcyBub3QgYSBsb2NhbAorICAgYnJhbmNoIGJ1dCBjb3VsZCBuYW1lIG1vcmUgdGhhbiBvbmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzCisgICAoaS5lLiB0byBiZSBkd2ltbWVkIGFzIHRoZSBzdGFydGluZyBwb2ludCB0byBjcmVhdGUgYSBjb3JyZXNwb25kaW5nCisgICBsb2NhbCBicmFuY2gpLCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgZmE3NDE4MGQwOCBhbS9jaGVja291dC1maWxlLWFuZC1yZWYtcmVmLWFtYmlndWl0eSBsYXRlciB0byBtYWludCkuCisKKyAqIENvcm5lciBjYXNlIGJ1Z3MgaW4gImdpdCBjbGVhbiIgdGhhdCBzdGVtcyBmcm9tIGEgKG5lY2Vzc2FyaWx5IGZvcgorICAgcGVyZm9ybWFuY2UgcmVhc29ucykgYXdrd2FyZCBjYWxsaW5nIGNvbnZlbnRpb24gaW4gdGhlIGRpcmVjdG9yeQorICAgZW51bWVyYXRpb24gQVBJIGhhcyBiZWVuIGNvcnJlY3RlZC4KKworICogQSBmZXRjaCB0aGF0IGlzIHRvbGQgdG8gcmVjdXJzaXZlbHkgZmV0Y2ggdXBkYXRlcyBpbiBzdWJtb2R1bGVzCisgICBpbmV2aXRhYmx5IHByb2R1Y2VzIHJlYW1zIG9mIG91dHB1dCwgYW5kIGl0IGJlY29tZXMgaGFyZCB0byBzcG90CisgICBlcnJvciBtZXNzYWdlcy4gIFRoZSBjb21tYW5kIGhhcyBiZWVuIHRhdWdodCB0byBlbnVtZXJhdGUKKyAgIHN1Ym1vZHVsZXMgdGhhdCBoYWQgZXJyb3JzIGF0IHRoZSBlbmQgb2YgdGhlIG9wZXJhdGlvbi4KKyAgIChtZXJnZSAwMjIyNTQwODI3IGVzL2ZldGNoLXNob3ctZmFpbGVkLXN1Ym1vZHVsZXMtYXRlbmQgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGUgIi0tcmVjdXJzZS1zdWJtb2R1bGVzIiBvcHRpb24gb2YgdmFyaW91cyBzdWJjb21tYW5kcyBkaWQgbm90CisgICB3b3JrIHdlbGwgd2hlbiBydW4gaW4gYW4gYWx0ZXJuYXRlIHdvcmt0cmVlLCB3aGljaCBoYXMgYmVlbgorICAgY29ycmVjdGVkLgorICAgKG1lcmdlIGE5NDcyYWZiNjMgcGIvcmVjdXJzZS1zdWJtb2R1bGUtaW4td29ya3RyZWUtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogRnV0dXJlcHJvb2ZpbmcgYSB0ZXN0IG5vdCB0byBkZXBlbmQgb24gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24KKyAgIGRldGFpbC4KKworICogUnVubmluZyAiZ2l0IHJtIiBvbiBhIHN1Ym1vZHVsZSBmYWlsZWQgdW5uZWNlc3NhcmlseSB3aGVuCisgICAuZ2l0bW9kdWxlcyBpcyBvbmx5IGNhY2hlLWRpcnR5LCB3aGljaCBoYXMgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgN2VkZWUzMjk4NSBkdC9zdWJtb2R1bGUtcm0td2l0aC1zdGFsZS1jYWNoZSBsYXRlciB0byBtYWludCkuCisKKyAqIEMgcGVkYW50cnkgOy0pIGZpeC4KKyAgIChtZXJnZSBjZjgyYmZmNzNmIGprL2NsYW5nLXNhbml0aXplci1maXhlcyBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgZ3JlcCAtLW5vLWluZGV4IiBzaG91bGQgbm90IGdldCBhZmZlY3RlZCBieSB0aGUgY29udGVudHMgb2YKKyAgIHRoZSAuZ2l0bW9kdWxlcyBmaWxlIGJ1dCB3aGVuICItLXJlY3Vyc2Utc3VibW9kdWxlcyIgaXMgZ2l2ZW4gb3IKKyAgIHRoZSAic3VibW9kdWxlLnJlY3Vyc2UiIHZhcmlhYmxlIGlzIHNldCwgaXQgZGlkLiAgTm93IHRoZXNlCisgICBzZXR0aW5ncyBhcmUgaWdub3JlZCBpbiB0aGUgIi0tbm8taW5kZXgiIG1vZGUuCisKKyAqIFRlY2huaWNhbCBkZXRhaWxzIG9mIHRoZSBidW5kbGUgZm9ybWF0IGhhcyBiZWVuIGRvY3VtZW50ZWQuCisKKyAqIFVuaGVscGZ1bCB3YXJuaW5nIG1lc3NhZ2VzIGR1cmluZyBkb2N1bWVudGF0aW9uIGJ1aWxkIGhhdmUgYmVlbiBzcXVlbGNoZWQuCisKKyAqICJnaXQgcmViYXNlIC1pIiBpZGVudGlmaWVzIGV4aXN0aW5nIGNvbW1pdHMgaW4gaXRzIHRvZG8gZmlsZSB3aXRoCisgICB0aGVpciBhYmJyZXZpYXRlZCBvYmplY3QgbmFtZSwgd2hpY2ggY291bGQgYmVjb21lIGFtYmlnb3VzIGFzIGl0CisgICBnb2VzIHRvIGNyZWF0ZSBuZXcgY29tbWl0cywgYW5kIGhhcyBhIG1lY2hhbmlzbSB0byBhdm9pZCBhbWJpZ3VpdHkKKyAgIGluIHRoZSBtYWluIHBhcnQgb2YgaXRzIGV4ZWN1dGlvbi4gIEEgZmV3IG90aGVyIGNhc2VzIGhvd2V2ZXIgd2VyZQorICAgbm90IGNvdmVyZWQgYnkgdGhlIHByb3RlY3Rpb24gYWdhaW5zdCBhbWJpZ3VpdHksIHdoaWNoIGhhcyBiZWVuCisgICBjb3JyZWN0ZWQuCisgICAobWVyZ2UgMjYwMjc2MjVkZCBqcy9yZWJhc2UtaS13aXRoLWNvbGxpZGluZy1oYXNoIGxhdGVyIHRvIG1haW50KS4KKworICogQWxsb3cgdGhlIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrIGNvbmZpZ3VyYXRpb24gdG8ga2ljayBpbiB3aGVuCisgICAicmViYXNlIC0tZWRpdC10b2RvIiBhbmQgInJlYmFzZSAtLWNvbnRpbnVlIiByZXN0YXJ0cyB0aGUgcHJvY2VkdXJlLgorICAgKG1lcmdlIDVhNTQ0NWQ4NzggYWcvZWRpdC10b2RvLWRyb3AtY2hlY2sgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBUaGUgd2F5ICJnaXQgc3VibW9kdWxlIHN0YXR1cyIgcmVwb3J0cyBhbiBpbml0aWFsaXplZCBidXQgbm90IHlldAorICAgcG9wdWxhdGVkIHN1Ym1vZHVsZSBoYXMgbm90IGJlZW4gcmVpbXBsZW1lbnRlZCBjb3JyZWN0bHkgd2hlbiBhCisgICBwYXJ0IG9mIHRoZSAiZ2l0IHN1Ym1vZHVsZSIgY29tbWFuZCB3YXMgcmV3cml0dGVuIGluIEMsIHdoaWNoIGhhcworICAgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgZjM4YzkyNDUyZCBway9zdGF0dXMtb2YtdW5jbG9uZWQtc3VibW9kdWxlIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIGNvZGUgdG8gYXV0b21hdGljYWxseSBzaHJpbmsgdGhlIGZhbi1vdXQgaW4gdGhlIG5vdGVzIHRyZWUgaGFkCisgICBhbiBvZmYtYnktb25lIGJ1Zywgd2hpY2ggaGFzIGJlZW4ga2lsbGVkLgorICAgKG1lcmdlIGRiYzI3NDc3ZmYgamgvbm90ZXMtZmFub3V0LWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBpbmRleC1wYWNrIGNvZGUgbm93IGRpYWdub3NlcyBhIGJhZCBpbnB1dCBwYWNrc3RyZWFtIHRoYXQKKyAgIHJlY29yZHMgdGhlIHNhbWUgb2JqZWN0IHR3aWNlIHdoZW4gaXQgaXMgdXNlZCBhcyBkZWx0YSBiYXNlOyB0aGUKKyAgIGNvZGUgdXNlZCB0byBkZWNsYXJlIGEgc29mdHdhcmUgYnVnIHdoZW4gZW5jb3VudGVyaW5nIHN1Y2ggYW4KKyAgIGlucHV0LCBidXQgaXQgaXMgYW4gaW5wdXQgZXJyb3IuCisgICAobWVyZ2UgYTIxNzgxMDExZiBqay9pbmRleC1wYWNrLWR1cGZpeCBsYXRlciB0byBtYWludCkuCisKKyAqIFRoZSBjb2RlIHRvIGNvbXB1dGUgdGhlIGNvbW1pdC1ncmFwaCBoYXMgYmVlbiB0YXVnaHQgdG8gdXNlIGEgbW9yZQorICAgcm9idXN0IHdheSB0byB0ZWxsIGlmIHR3byBvYmplY3QgZGlyZWN0b3JpZXMgcmVmZXIgdG8gdGhlIHNhbWUKKyAgIHRoaW5nLgorICAgKG1lcmdlIGE3ZGY2MGNhYzggdGIvY29tbWl0LWdyYXBoLW9iamVjdC1kaXIgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IHJlbW90ZSByZW5hbWUgWCBZIiBuZWVkcyB0byBhZGp1c3QgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMKKyAgIChlLmcuIGJyYW5jaC48bmFtZT4ucmVtb3RlKSB3aG9zZSB2YWx1ZSB1c2VkIHRvIGJlIFggdG8gWS4KKyAgIGJyYW5jaC48bmFtZT4ucHVzaFJlbW90ZSBpcyBub3cgYWxzbyB1cGRhdGVkLgorCisgKiBVcGRhdGUgdG8gZG9jLWRpZmYuCisgICAobWVyZ2UgMjYwN2QzOWRhMyBqay9kb2MtZGlmZi1wYXJhbGxlbCBsYXRlciB0byBtYWludCkuCisKKyAqIERvYyBtYXJrdXAgZml4LgorICAgKG1lcmdlIDBhYTZjZTMwOTQgamsvcHVzaC1vcHRpb24tZG9jLW1hcmt1cC1maXggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGNoZWNrLWlnbm9yZSIgZGlkIG5vdCB3b3JrIHdoZW4gdGhlIGdpdmVuIHBhdGggaXMgZXhwbGljaXRseQorICAgbWFya2VkIGFzIG5vdCBpZ25vcmVkIHdpdGggYSBuZWdhdGl2ZSBlbnRyeSBpbiB0aGUgLmdpdGlnbm9yZSBmaWxlLgorICAgKG1lcmdlIDdlYzgxMjVmYmEgZW4vY2hlY2staWdub3JlIGxhdGVyIHRvIG1haW50KS4KKworICogVGhlIG1lcmdlLXJlY3Vyc2l2ZSBtYWNoaW5lcnkgZmFpbGVkIHRvIHJlZnJlc2ggdGhlIGNhY2hlIGVudHJ5IGZvcgorICAgYSBtZXJnZSByZXN1bHQgaW4gYSBjb3VwbGUgb2YgcGxhY2VzLCByZXN1bHRpbmcgaW4gYW4gdW5uZWNlc3NhcnkKKyAgIG1lcmdlIGZhaWx1cmUsIHdoaWNoIGhhcyBiZWVuIGZpeGVkLgorICAgKG1lcmdlIGZiMWMxOGZjNDYgZW4vdDM0MzMtcmViYXNlLXN0YXQtZGlydHktZmFpbHVyZSBsYXRlciB0byBtYWludCkuCisKKyAqIEZpeCBmb3IgYSBidWcgcmV2ZWFsZWQgYnkgYSByZWNlbnQgY2hhbmdlIHRvIG1ha2UgdGhlIHByb3RvY29sIHYyCisgICB0aGUgZGVmYXVsdC4KKyAgIChtZXJnZSAzZTk2YzY2ODA1IGRzL3BhcnRpYWwtY2xvbmUtZml4ZXMgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiBJbiByYXJlIGNhc2VzICJnaXQgd29ya3RyZWUgYWRkIDxwYXRoPiIgY291bGQgdGhpbmsgdGhhdCA8cGF0aD4KKyAgIHdhcyBhbHJlYWR5IGEgcmVnaXN0ZXJlZCB3b3JrdHJlZSBldmVuIHdoZW4gaXQgd2Fzbid0IGFuZCByZWZ1c2UKKyAgIHRvIGFkZCB0aGUgbmV3IHdvcmt0cmVlLiBUaGlzIGhhcyBiZWVuIGNvcnJlY3RlZC4KKyAgIChtZXJnZSBiYjY5YjNiMDA5IGVzL3dvcmt0cmVlLWF2b2lkLWR1cGxpY2F0aW9uLWZpeCBsYXRlciB0byBtYWludCkuCisKKyAqICJnaXQgcHVzaCIgc2hvdWxkIHN0b3AgZnJvbSB1cGRhdGluZyBhIGJyYW5jaCB0aGF0IGlzIGNoZWNrZWQgb3V0CisgICB3aGVuIHJlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2ggY29uZmlndXJhdGlvbiBpcyBzZXQsIGJ1dCBpdCBmYWlsZWQKKyAgIHRvIHBheSBhdHRlbnRpb24gdG8gY2hlY2tvdXRzIGluIHNlY29uZGFyeSB3b3JrdHJlZXMuICBUaGlzIGhhcworICAgYmVlbiBjb3JyZWN0ZWQuCisgICAobWVyZ2UgNGQ4NjQ4OTVhMiBodi9yZWNlaXZlLWRlbnljdXJyZW50LWV2ZXJ5d2hlcmUgbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IHJlYmFzZSBCQVNFIEJSQU5DSCIgcmViYXNlZC91cGRhdGVkIHRoZSB0aXAgb2YgQlJBTkNIIGFuZAorICAgY2hlY2tlZCBpdCBvdXQsIGV2ZW4gd2hlbiB0aGUgQlJBTkNIIGlzIGNoZWNrZWQgb3V0IGluIGEgZGlmZmVyZW50CisgICB3b3JrdHJlZS4gIFRoaXMgaGFzIGJlZW4gY29ycmVjdGVkLgorICAgKG1lcmdlIGI1Y2FiYjRhOTYgZXMvZG8tbm90LWxldC1yZWJhc2Utc3dpdGNoLXRvLXByb3RlY3RlZC1icmFuY2ggbGF0ZXIgdG8gbWFpbnQpLgorCisgKiAiZ2l0IGRlc2NyaWJlIiBpbiBhIHJlcG9zaXRvcnkgd2l0aCBtdWx0aXBsZSByb290IGNvbW1pdHMgc29tZXRpbWVzCisgICBnYXZlIHVwIGxvb2tpbmcgZm9yIHRoZSBiZXN0IHRhZyB0byBkZXNjcmliZSBhIGdpdmVuIGNvbW1pdCB3aXRoCisgICB0b28gZWFybHksIHdoaWNoIGhhcyBiZWVuIGFkanVzdGVkLgorCisgKiAiZ2l0IG1lcmdlIHNpZ25lZC10YWciIHdoaWxlIGxhY2tpbmcgdGhlIHB1YmxpYyBrZXkgc3RhcnRlZCB0byBzYXkKKyAgICJObyBzaWduYXR1cmUiLCB3aGljaCB3YXMgdXR0ZXJseSB3cm9uZy4gIFRoaXMgcmVncmVzc2lvbiBoYXMgYmVlbgorICAgcmV2ZXJ0ZWQuCisgICAobWVyZ2UgMDEwNmIxZDRiZSBoaS9ncGctdXNlLWNoZWNrLXNpZ25hdHVyZSBsYXRlciB0byBtYWludCkuCisKKyAqIE1pbkdXJ3MgcG9sbCgpIGVtdWxhdGlvbiBoYXMgYmVlbiBpbXByb3ZlZC4KKyAgIChtZXJnZSA5NGY0ZDAxOTMyIGFtL21pbmd3LXBvbGwtZml4IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBzaG93IiBhbmQgb3RoZXJzIGdhdmUgYW4gb2JqZWN0IG5hbWUgaW4gcmF3IGZvcm1hdCBpbiBpdHMKKyAgIGVycm9yIG91dHB1dCwgd2hpY2ggaGFzIGJlZW4gY29ycmVjdGVkIHRvIGdpdmUgaXQgaW4gaGV4LgorICAgKG1lcmdlIDIzN2EyODE3M2YgaGQvc2hvdy1vbmUtbWVyZ2V0YWctZml4IGxhdGVyIHRvIG1haW50KS4KKworICogImdpdCBmZXRjaCIgb3ZlciBIVFRQIHdhbGtlciBwcm90b2NvbCBkaWQgbm90IHNob3cgYW55IHByb2dyZXNzCisgICBvdXRwdXQuICBXZSBpbmhlcmVudGx5IGRvIG5vdCBrbm93IGhvdyBtdWNoIHdvcmsgcmVtYWlucywgYnV0IHN0aWxsCisgICB3ZSBjYW4gc2hvdyBzb21ldGhpbmcgbm90IHRvIGJvcmUgdXNlcnMuCisgICAobWVyZ2UgNzY1NWI0MTE5ZCBycy9zaG93LXByb2dyZXNzLWluLWR1bWItaHR0cC1mZXRjaCBsYXRlciB0byBtYWludCkuCisKKyAqIE90aGVyIGNvZGUgY2xlYW51cCwgZG9jZml4LCBidWlsZCBmaXgsIGV0Yy4KKyAgIChtZXJnZSAyNmY5MjRkNTBlIGVuL3NpbXBsaWZ5LWNoZWNrLXVwZGF0ZXMtaW4tdW5wYWNrLXRyZWVzIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBkMGQwYTM1N2ExIGFtL3VwZGF0ZS1wYXRoc3BlYy1mLWYtdGVzdHMgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGY5NGY3YmQwMGQgYW0vdGVzdC1wYXRoc3BlYy1mLWYtZXJyb3ItY2FzZXMgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGM1MTNhOTU4YjYgc3MvdDYwMjUtbW9kZXJuaXplIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBiNDQxNzE3MjU2IGRsL3Rlc3QtbXVzdC1mYWlsLWZpeGVzIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBkMDMxMDQ5ZGEzIG10L3NwYXJzZS1jaGVja291dC1kb2MtdXBkYXRlIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAxNDUxMzZhOTVhIGpjL3NraXAtcHJlZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA1MjkwZDQ1MTM0IGprL2FsbG9jLWNsZWFudXBzIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA3YTlmOGNhODA1IHJzL3BhcnNlLW9wdGlvbnMtY29uY2F0LWR1cCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgNTE3YjYwNTY0ZSBycy9zdHJidWYtaW5zZXJ0c3RyIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBmNjk2YTJiMWM4IGprL21haWxpbmZvLWNsZWFudXAgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIDA3NmVlM2U4YTIganMvdGVzdC13cml0ZS1qdW5pdC14bWwtZml4IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBkZTI2ZjAyZGIxIGpzL3Rlc3QtYXZvaWQtcGlwZSBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgYmZlMmJiYjQ3ZiBqcy90ZXN0LXVuYy1mZXRjaCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMDg4MDljMDlhYSBqcy9taW5ndy1vcGVuLWluLWdkYiBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgY2M0ZjJlYjgyOCBqay9kb2MtY3JlZGVudGlhbC1oZWxwZXIgbGF0ZXIgdG8gbWFpbnQpLgorICAgKG1lcmdlIGUwMDIwYjJmODIgZXMvb3V0c2lkZS1yZXBvLWVycm1zZy1oaW50cyBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgYTJkYzQzNDE0YyBlcy9kb2MtbWVudG9yaW5nIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA1MzkwNTJmNDJmIGprL3J1bi1jb21tYW5kLWZvcm1hdGZpeCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMDJiYmJlOWRmOSBlcy93b3JrdHJlZS1jbGVhbnVwIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAyY2U2ZDA3NWZhIHJzL21pY3JvLWNsZWFudXBzIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAyN2YxODJiM2ZjIHJzL2JsYW1lLXR5cGVmaXgtZm9yLWZpbmdlcnByaW50IGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSAzYzI5ZTIxZWIwIG1hL3Rlc3QtY2xlYW51cCBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgMjQwZmMwNGY4MSBhZy9yZWJhc2UtcmVtb3ZlLXJlZHVuZGFudC1jb2RlIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA3ZjQ4N2NlMDYyIGpzL2NpLXdpbmRvd3MtdXBkYXRlIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBkNjhjZTkwNmM3IHJzL2NvbW1pdC1ncmFwaC1jb2RlLXNpbXBsaWZpY2F0aW9uIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSBhNTFkOWU4ZjA3IHJqL3QxMDUwLXVzZS10ZXN0LXBhdGgtaXMtZmlsZSBsYXRlciB0byBtYWludCkuCisgICAobWVyZ2UgZmQwYmMxNzU1NyBray9jb21wbGV0ZS1kaWZmLWNvbG9yLW1vdmVkIGxhdGVyIHRvIG1haW50KS4KKyAgIChtZXJnZSA2NWJmODIwZDBlIGVuL3Rlc3QtY2xlYW51cCBsYXRlciB0byBtYWludCkuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMy4zLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4zLjMudHh0CmluZGV4IDVlZjEyNjQuLjg1MGRjNjggMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4zLjMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4zLjMudHh0CkBAIC0xMiw3ICsxMiw3IEBACiAgKiBEZXNjcmlwdGlvbiBnaXZlbiBieSAiZ3JlcCAtaCIgZm9yIGl0cyAtLWV4Y2x1ZGUtc3RhbmRhcmQgb3B0aW9uCiAgICB3YXMgcGhyYXNlZCBwb29ybHkuCiAKLSAqIERvY3VtZW50YXRvbiBmb3IgImdpdCByZW1vdGUgYWRkIiBtZW50aW9uZWQgIi0tdGFncyIgYW5kCisgKiBEb2N1bWVudGF0aW9uIGZvciAiZ2l0IHJlbW90ZSBhZGQiIG1lbnRpb25lZCAiLS10YWdzIiBhbmQKICAgICItLW5vLXRhZ3MiIGFuZCBpdCB3YXMgbm90IGNsZWFyIHRoYXQgZmV0Y2ggZnJvbSB0aGUgcmVtb3RlIGluCiAgICB0aGUgZnV0dXJlIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGJlaGF2aW91ciB3aGVuIG5laXRoZXIgaXMgZ2l2ZW4KICAgIHRvIG92ZXJyaWRlIGl0LgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjMuNy50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMy43LnR4dAppbmRleCBmYzk1ODEyLi41NzY5MTg0IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMy43LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuMy43LnR4dApAQCAtNCw3ICs0LDcgQEAKIEZpeGVzIHNpbmNlIHYyLjMuNgogLS0tLS0tLS0tLS0tLS0tLS0tCiAKLSAqIEFuIGVhcmxpZXIgdXBkYXRlIHRvIHRoZSBwYXJzZXIgdGhhdCBkaXNlY3RzIGEgVVJMIGJyb2tlIGFuCisgKiBBbiBlYXJsaWVyIHVwZGF0ZSB0byB0aGUgcGFyc2VyIHRoYXQgZGlzc2VjdHMgYSBVUkwgYnJva2UgYW4KICAgIGFkZHJlc3MsIGZvbGxvd2VkIGJ5IGEgY29sb24sIGZvbGxvd2VkIGJ5IGFuIGVtcHR5IHN0cmluZyAoaW5zdGVhZAogICAgb2YgdGhlIHBvcnQgbnVtYmVyKSwgZS5nLiBzc2g6Ly9leGFtcGxlLmNvbTovcGF0aC90by9yZXBvLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuNC4zLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi40LjMudHh0CmluZGV4IDkxNGQyYzEuLjQyMmU5MzAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi40LjMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi40LjMudHh0CkBAIC02Niw3ICs2Niw3IEBACiAgKiBTb21lIHRpbWUgYWdvLCAiZ2l0IGJsYW1lIiAoaW5jb3JyZWN0bHkpIGxvc3QgdGhlIGNvbnZlcnRfdG9fZ2l0KCkKICAgIGNhbGwgd2hlbiBzeW50aGVzaXppbmcgYSBmYWtlICJ0aXAiIGNvbW1pdCB0aGF0IHJlcHJlc2VudHMgdGhlCiAgICBzdGF0ZSBpbiB0aGUgd29ya2luZyB0cmVlLCB3aGljaCBicm9rZSBmb2xrcyB3aG8gcmVjb3JkIHRoZSBoaXN0b3J5Ci0gICB3aXRoIExGIGxpbmUgZW5kaW5nIHRvIG1ha2UgdGhlaXIgcHJvamVjdCBwb3J0YWJpbGUgYWNyb3NzCisgICB3aXRoIExGIGxpbmUgZW5kaW5nIHRvIG1ha2UgdGhlaXIgcHJvamVjdCBwb3J0YWJsZSBhY3Jvc3MKICAgIHBsYXRmb3JtcyB3aGlsZSB0ZXJtaW5hdGluZyBsaW5lcyBpbiB0aGVpciB3b3JraW5nIHRyZWUgZmlsZXMgd2l0aAogICAgQ1JMRiBmb3IgdGhlaXIgcGxhdGZvcm0uCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi41LjAudHh0IGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjUuMC50eHQKaW5kZXggODcwNDQ1MC4uODQ3MjNmOSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjUuMC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjUuMC50eHQKQEAgLTE3Miw3ICsxNzIsOCBAQAogICAgaW5jb3JyZWN0IHBhdGNoIHRleHQgdG8gImdpdCBhcHBseSIuICBBZGQgdGVzdHMgdG8gZGVtb25zdHJhdGUKICAgIHRoaXMuCiAKLSAgIEkgaGF2ZSBhIHNsaWdodCBzdXNwaWNpb24gdGhhdCB0aGlzIG1heSBiZSAkZ21hbmUvODcyMDIgY29taW5nIGJhY2sKKyAgIEkgaGF2ZSBhIHNsaWdodCBzdXNwaWNpb24gdGhhdCB0aGlzIG1heSBiZQorICAgY2YuIDw3dnR6Zjc3d2pwLmZzZkBnaXRzdGVyLnNpYW1lc2UuZHluZG5zLm9yZz4gY29taW5nIGJhY2sKICAgIGFuZCBiaXRpbmcgdXMgKEkgc2VlbSB0byBoYXZlIHNhaWQgImxldCdzIHJ1biB3aXRoIHRoaXMgYW5kIHNlZQogICAgd2hhdCBoYXBwZW5zIiBiYWNrIHRoZW4pLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuNy4wLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi43LjAudHh0CmluZGV4IDU2M2RhZGMuLmUzY2JmM2EgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi43LjAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi43LjAudHh0CkBAIC00MCw3ICs0MCw3IEBACiAKICAqICJnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIiBjYW4gbm93IHJ1biBvdXRzaWRlIG9mIGEgR2l0IHJlcG9zaXRvcnkuCiAKLSAqICJnaXQgcDQiIGxlYXJuZWQgdG8gcmVlbmNvZGUgdGhlIHBhdGhuYW1lIGl0IHVzZXMgdG8gY29tbXVuaWNhdGUKKyAqICJnaXQgcDQiIGxlYXJuZWQgdG8gcmUtZW5jb2RlIHRoZSBwYXRobmFtZSBpdCB1c2VzIHRvIGNvbW11bmljYXRlCiAgICB3aXRoIHRoZSBwNCBkZXBvdCB3aXRoIGEgbmV3IG9wdGlvbi4KIAogICogR2l2ZSBwcm9ncmVzcyBtZXRlciB0byAiZ2l0IGZpbHRlci1icmFuY2giLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjcuMS50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuNy4xLnR4dAppbmRleCA2NTUzZDY5Li42MzIzZmVhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuNy4xLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuNy4xLnR4dApAQCAtMTAsNyArMTAsNyBAQAogICAgc2V0dGluZyBHSVRfV09SS19UUkVFIGVudmlyb25tZW50IHRoZW1zZWx2ZXMuCiAKICAqIFRoZSAiZXhjbHVkZV9saXN0IiBzdHJ1Y3R1cmUgaGFzIHRoZSB1c3VhbCAiYWxsb2MsIG5yIiBwYWlyIG9mCi0gICBmaWVsZHMgdG8gYmUgdXNlZCBieSBBTExPQ19HUk9XKCksIGJ1dCBjbGVhcl9leGNsdWRlX2xpc3QoKSBmb3Jnb3QKKyAgIGZpZWxkcyB0byBiZSB1c2VkIGJ5IEFMTE9DX0dST1coKSwgYnV0IGNsZWFyX3BhdHRlcm5fbGlzdCgpIGZvcmdvdAogICAgdG8gcmVzZXQgJ2FsbG9jJyB0byAwIHdoZW4gaXQgY2xlYXJlZCAnbnInIHRvIGRpc2NhcmQgdGhlIG1hbmFnZWQKICAgIGFycmF5LgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuNy4zLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi43LjMudHh0CmluZGV4IDZhZGYwMzguLmY2MThkNzEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi43LjMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi43LjMudHh0CkBAIC0yMCw3ICsyMCw3IEBACiAgICB0ZXN0cy4KIAogICogImdpdCBzaG93ICdIRUFEOkZvb1tCQVJdQmF6JyIgZGlkIG5vdCBpbnRlcnByZXQgdGhlIGFyZ3VtZW50IGFzIGEKLSAgIHJldiwgaS5lLiB0aGUgb2JqZWN0IG5hbWVkIGJ5IHRoZSB0aGUgcGF0aG5hbWUgd2l0aCB3aWxkY2FyZAorICAgcmV2LCBpLmUuIHRoZSBvYmplY3QgbmFtZWQgYnkgdGhlIHBhdGhuYW1lIHdpdGggd2lsZGNhcmQKICAgIGNoYXJhY3RlcnMgaW4gYSB0cmVlIG9iamVjdC4KIAogICogImdpdCByZXYtcGFyc2UgLS1naXQtY29tbW9uLWRpciIgdXNlZCBpbiB0aGUgd29ya3RyZWUgZmVhdHVyZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SZWxOb3Rlcy8yLjguMC50eHQgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuOC4wLnR4dAppbmRleCAyNTA3OTcxLi4yNzMyMGI2IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuOC4wLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuOC4wLnR4dApAQCAtMTg5LDcgKzE4OSw3IEBACiAgKiBTb21lIGNhbGxzIHRvIHN0cmNweSgzKSB0cmlnZ2VycyBhIGZhbHNlIHdhcm5pbmcgZnJvbSBzdGF0aWMKICAgIGFuYWx5emVycyB0aGF0IGFyZSBsZXNzIGludGVsbGlnZW50IHRoYW4gaHVtYW5zLCBhbmQgcmVkdWNpbmcgdGhlCiAgICBudW1iZXIgb2YgdGhlc2UgZmFsc2UgaGl0cyBoZWxwcyB1cyBub3RpY2UgcmVhbCBpc3N1ZXMuICBBIGZldwotICAgY2FsbHMgdG8gc3RyY3B5KDMpIGluIGEgY291cGxlIG9mIHByb3RyYW1zIHRoYXQgYXJlIGFscmVhZHkgc2FmZQorICAgY2FsbHMgdG8gc3RyY3B5KDMpIGluIGEgY291cGxlIG9mIHByb2dyYW1zIHRoYXQgYXJlIGFscmVhZHkgc2FmZQogICAgaGFzIGJlZW4gcmV3cml0dGVuIHRvIGF2b2lkIGZhbHNlIHdhcm5pbmdzLgogCiAgKiBUaGUgIm5hbWVfcGF0aCIgQVBJIHdhcyBhbiBhdHRlbXB0IHRvIHJlZHVjZSB0aGUgbmVlZCB0byBjb25zdHJ1Y3QKQEAgLTI3MCw3ICsyNzAsNyBAQAogICAgc2V0dGluZyBHSVRfV09SS19UUkVFIGVudmlyb25tZW50IHRoZW1zZWx2ZXMuCiAKICAqIFRoZSAiZXhjbHVkZV9saXN0IiBzdHJ1Y3R1cmUgaGFzIHRoZSB1c3VhbCAiYWxsb2MsIG5yIiBwYWlyIG9mCi0gICBmaWVsZHMgdG8gYmUgdXNlZCBieSBBTExPQ19HUk9XKCksIGJ1dCBjbGVhcl9leGNsdWRlX2xpc3QoKSBmb3Jnb3QKKyAgIGZpZWxkcyB0byBiZSB1c2VkIGJ5IEFMTE9DX0dST1coKSwgYnV0IGNsZWFyX3BhdHRlcm5fbGlzdCgpIGZvcmdvdAogICAgdG8gcmVzZXQgJ2FsbG9jJyB0byAwIHdoZW4gaXQgY2xlYXJlZCAnbnInIHRvIGRpc2NhcmQgdGhlIG1hbmFnZWQKICAgIGFycmF5LgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuOC4zLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi44LjMudHh0CmluZGV4IGZlZGQ5OTYuLmE2MzgyNWUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi44LjMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi44LjMudHh0CkBAIC01NSw4ICs1NSw4IEBACiAgICBUaGlzIGlzIG5lY2Vzc2FyeSB0byB1c2UgR2l0IG9uIFdpbmRvd3Mgc2hhcmVkIGRpcmVjdG9yaWVzLCBhbmQgaXMKICAgIGFscmVhZHkgZW5hYmxlZCBmb3IgdGhlIE1pbkdXIGFuZCBwbGFpbiBXaW5kb3dzIGJ1aWxkcy4gIEl0IGFsc28KICAgIGhhcyBiZWVuIHVzZWQgaW4gQ3lnd2luIHBhY2thZ2VkIHZlcnNpb25zIG9mIEdpdCBmb3IgcXVpdGUgYSB3aGlsZS4KLSAgIFNlZSBodHRwOi8vdGhyZWFkLmdtYW5lLm9yZy9nbWFuZS5jb21wLnZlcnNpb24tY29udHJvbC5naXQvMjkxODUzCi0gICBhbmQgaHR0cDovL3RocmVhZC5nbWFuZS5vcmcvZ21hbmUuY29tcC52ZXJzaW9uLWNvbnRyb2wuZ2l0LzI3NTY4MC4KKyAgIFNlZSBodHRwczovL2xvcmUua2VybmVsLm9yZy9naXQvMjAxNjA0MTkwOTEwNTUuR0YyMzQ1QGRpbndvb2RpZS5vcmcvCisgICBhbmQgaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvZ2l0LzIwMTUwODExMTAwNTI3LkdXMTQ0NjZAZGlud29vZGllLm9yZy8uCiAKICAqICJnaXQgcmVwbGFjZSAtZSIgZGlkIG5vdCBob25vdXIgImNvcmUuZWRpdG9yIiBjb25maWd1cmF0aW9uLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuOS4wLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi45LjAudHh0CmluZGV4IGI2MWQzNjcuLjk5MTY0MDEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi45LjAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi45LjAudHh0CkBAIC0zNjgsNyArMzY4LDcgQEAKICAgIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIHVzZSBHaXQgb24gV2luZG93cyBzaGFyZWQgZGlyZWN0b3JpZXMsIGFuZCBpcwogICAgYWxyZWFkeSBlbmFibGVkIGZvciB0aGUgTWluR1cgYW5kIHBsYWluIFdpbmRvd3MgYnVpbGRzLiAgSXQgYWxzbwogICAgaGFzIGJlZW4gdXNlZCBpbiBDeWd3aW4gcGFja2FnZWQgdmVyc2lvbnMgb2YgR2l0IGZvciBxdWl0ZSBhIHdoaWxlLgotICAgU2VlIGh0dHA6Ly90aHJlYWQuZ21hbmUub3JnL2dtYW5lLmNvbXAudmVyc2lvbi1jb250cm9sLmdpdC8yOTE4NTMKKyAgIFNlZSBodHRwczovL2xvcmUua2VybmVsLm9yZy9naXQvMjAxNjA0MTkwOTEwNTUuR0YyMzQ1QGRpbndvb2RpZS5vcmcvCiAKICAqICJtZXJnZS1vY3RvcHVzIiBzdHJhdGVneSBkaWQgbm90IGVuc3VyZSB0aGF0IHRoZSBpbmRleCBpcyBjbGVhbgogICAgd2hlbiBtZXJnZSBiZWdpbnMuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JlbE5vdGVzLzIuOS4zLnR4dCBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi45LjMudHh0CmluZGV4IDY5NWI4NmYuLjMwNWUwODAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi45LjMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi45LjMudHh0CkBAIC0zNiw3ICszNiw3IEBACiAgKiBPbmUgcGFydCBvZiAiZ2l0IGFtIiBoYWQgYW4gb2RkYmFsbCBoZWxwZXIgZnVuY3Rpb24gdGhhdCBjYWxsZWQKICAgIHN0dWZmIGZyb20gb3V0c2lkZSAiaGlzIiBhcyBvcHBvc2VkIHRvIGNhbGxpbmcgd2hhdCB3ZSBoYXZlICJvdXJzIiwKICAgIHdoaWNoIHdhcyBub3QgZ2VuZGVyLW5ldXRyYWwgYW5kIGFsc28gaW5jb25zaXN0ZW50IHdpdGggdGhlIHJlc3Qgb2YKLSAgIHRoZSBzeXN0ZW0gd2hlcmUgb3V0c2lkZSBzdHVmZiBpcyB1c3VhbGwgY2FsbGVkICJ0aGVpcnMiIGluCisgICB0aGUgc3lzdGVtIHdoZXJlIG91dHNpZGUgc3R1ZmYgaXMgdXN1YWxseSBjYWxsZWQgInRoZWlycyIgaW4KICAgIGNvbnRyYXN0IHRvICJvdXJzIi4KIAogICogVGhlIHRlc3QgZnJhbWV3b3JrIGxlYXJuZWQgYSBuZXcgaGVscGVyIHRlc3RfbWF0Y2hfc2lnbmFsIHRvCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1N1Ym1pdHRpbmdQYXRjaGVzIGIvRG9jdW1lbnRhdGlvbi9TdWJtaXR0aW5nUGF0Y2hlcwppbmRleCBlYzhiMjA1Li40NTE1Y2FiIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1N1Ym1pdHRpbmdQYXRjaGVzCisrKyBiL0RvY3VtZW50YXRpb24vU3VibWl0dGluZ1BhdGNoZXMKQEAgLTE0MiwxOSArMTQyLDI1IEBACiAKIFtbY29tbWl0LXJlZmVyZW5jZV1dCiBJZiB5b3Ugd2FudCB0byByZWZlcmVuY2UgYSBwcmV2aW91cyBjb21taXQgaW4gdGhlIGhpc3Rvcnkgb2YgYSBzdGFibGUKLWJyYW5jaCwgdXNlIHRoZSBmb3JtYXQgImFiYnJldmlhdGVkIHNoYTEgKHN1YmplY3QsIGRhdGUpIiwKLXdpdGggdGhlIHN1YmplY3QgZW5jbG9zZWQgaW4gYSBwYWlyIG9mIGRvdWJsZS1xdW90ZXMsIGxpa2UgdGhpczoKK2JyYW5jaCwgdXNlIHRoZSBmb3JtYXQgImFiYnJldmlhdGVkIGhhc2ggKHN1YmplY3QsIGRhdGUpIiwgbGlrZSB0aGlzOgogCiAuLi4uCi0JQ29tbWl0IGY4NmEzNzQgKCJwYWNrLWJpdG1hcC5jOiBmaXggYSBtZW1sZWFrIiwgMjAxNS0wMy0zMCkKKwlDb21taXQgZjg2YTM3NCAocGFjay1iaXRtYXAuYzogZml4IGEgbWVtbGVhaywgMjAxNS0wMy0zMCkKIAlub3RpY2VkIHRoYXQgLi4uCiAuLi4uCiAKIFRoZSAiQ29weSBjb21taXQgc3VtbWFyeSIgY29tbWFuZCBvZiBnaXRrIGNhbiBiZSB1c2VkIHRvIG9idGFpbiB0aGlzCi1mb3JtYXQsIG9yIHRoaXMgaW52b2NhdGlvbiBvZiBgZ2l0IHNob3dgOgorZm9ybWF0ICh3aXRoIHRoZSBzdWJqZWN0IGVuY2xvc2VkIGluIGEgcGFpciBvZiBkb3VibGUtcXVvdGVzKSwgb3IgdGhpcworaW52b2NhdGlvbiBvZiBgZ2l0IHNob3dgOgogCiAuLi4uCi0JZ2l0IHNob3cgLXMgLS1kYXRlPXNob3J0IC0tcHJldHR5PSdmb3JtYXQ6JWggKCIlcyIsICVhZCknIDxjb21taXQ+CisJZ2l0IHNob3cgLXMgLS1wcmV0dHk9cmVmZXJlbmNlIDxjb21taXQ+CisuLi4uCisKK29yLCBvbiBhbiBvbGRlciB2ZXJzaW9uIG9mIEdpdCB3aXRob3V0IHN1cHBvcnQgZm9yIC0tcHJldHR5PXJlZmVyZW5jZToKKworLi4uLgorCWdpdCBzaG93IC1zIC0tZGF0ZT1zaG9ydCAtLXByZXR0eT0nZm9ybWF0OiVoICglcywgJWFkKScgPGNvbW1pdD4KIC4uLi4KIAogW1tnaXQtdG9vbHNdXQpAQCAtMzcyLDE1ICszNzgsMTUgQEAKIFNvbWUgcGFydHMgb2YgdGhlIHN5c3RlbSBoYXZlIGRlZGljYXRlZCBtYWludGFpbmVycyB3aXRoIHRoZWlyIG93bgogcmVwb3NpdG9yaWVzLgogCi0tICdnaXQtZ3VpLycgY29tZXMgZnJvbSBnaXQtZ3VpIHByb2plY3QsIG1haW50YWluZWQgYnkgUGF0IFRob3l0czoKKy0gYGdpdC1ndWkvYCBjb21lcyBmcm9tIGdpdC1ndWkgcHJvamVjdCwgbWFpbnRhaW5lZCBieSBQcmF0eXVzaCBZYWRhdjoKIAotCWdpdDovL3JlcG8ub3IuY3ovZ2l0LWd1aS5naXQKKwlodHRwczovL2dpdGh1Yi5jb20vcHJhdGkwMTAwL2dpdC1ndWkuZ2l0CiAKLS0gJ2dpdGstZ2l0LycgY29tZXMgZnJvbSBQYXVsIE1hY2tlcnJhcydzIGdpdGsgcHJvamVjdDoKKy0gYGdpdGstZ2l0L2AgY29tZXMgZnJvbSBQYXVsIE1hY2tlcnJhcydzIGdpdGsgcHJvamVjdDoKIAogCWdpdDovL296bGFicy5vcmcvfnBhdWx1cy9naXRrCiAKLS0gJ3BvLycgY29tZXMgZnJvbSB0aGUgbG9jYWxpemF0aW9uIGNvb3JkaW5hdG9yLCBKaWFuZyBYaW46CistIGBwby9gIGNvbWVzIGZyb20gdGhlIGxvY2FsaXphdGlvbiBjb29yZGluYXRvciwgSmlhbmcgWGluOgogCiAJaHR0cHM6Ly9naXRodWIuY29tL2dpdC1sMTBuL2dpdC1wby8KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9hc2NpaWRvYy5jb25mIGIvRG9jdW1lbnRhdGlvbi9hc2NpaWRvYy5jb25mCmluZGV4IDJjMTZjNTMuLjhmYzRiNjcgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vYXNjaWlkb2MuY29uZgorKysgYi9Eb2N1bWVudGF0aW9uL2FzY2lpZG9jLmNvbmYKQEAgLTc4LDkgKzc4LDkgQEAKIDxyZWZtZXRhPgogPHJlZmVudHJ5dGl0bGU+e21hbnRpdGxlfTwvcmVmZW50cnl0aXRsZT4KIDxtYW52b2xudW0+e21hbnZvbG51bX08L21hbnZvbG51bT4KLTxyZWZtaXNjaW5mbyBjbGFzcz0ic291cmNlIj5HaXQ8L3JlZm1pc2NpbmZvPgotPHJlZm1pc2NpbmZvIGNsYXNzPSJ2ZXJzaW9uIj57Z2l0X3ZlcnNpb259PC9yZWZtaXNjaW5mbz4KLTxyZWZtaXNjaW5mbyBjbGFzcz0ibWFudWFsIj5HaXQgTWFudWFsPC9yZWZtaXNjaW5mbz4KKzxyZWZtaXNjaW5mbyBjbGFzcz0ic291cmNlIj57bWFuc291cmNlfTwvcmVmbWlzY2luZm8+Cis8cmVmbWlzY2luZm8gY2xhc3M9InZlcnNpb24iPnttYW52ZXJzaW9ufTwvcmVmbWlzY2luZm8+Cis8cmVmbWlzY2luZm8gY2xhc3M9Im1hbnVhbCI+e21hbm1hbnVhbH08L3JlZm1pc2NpbmZvPgogPC9yZWZtZXRhPgogPHJlZm5hbWVkaXY+CiAgIDxyZWZuYW1lPnttYW5uYW1lfTwvcmVmbmFtZT4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vYXNjaWlkb2N0b3ItZXh0ZW5zaW9ucy5yYiBiL0RvY3VtZW50YXRpb24vYXNjaWlkb2N0b3ItZXh0ZW5zaW9ucy5yYgppbmRleCBlYzgzYjQ5Li5kOTA2YTAwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2FzY2lpZG9jdG9yLWV4dGVuc2lvbnMucmIKKysrIGIvRG9jdW1lbnRhdGlvbi9hc2NpaWRvY3Rvci1leHRlbnNpb25zLnJiCkBAIC05LDIwICs5LDQwIEBACiAgICAgICBuYW1lZCA6Y2hyb21lCiAKICAgICAgIGRlZiBwcm9jZXNzKHBhcmVudCwgdGFyZ2V0LCBhdHRycykKLSAgICAgICAgaWYgcGFyZW50LmRvY3VtZW50LmJhc2ViYWNrZW5kPyAnaHRtbCcKLSAgICAgICAgICBwcmVmaXggPSBwYXJlbnQuZG9jdW1lbnQuYXR0cignZ2l0LXJlbGF0aXZlLWh0bWwtcHJlZml4JykKLSAgICAgICAgICAlKDxhIGhyZWY9IiN7cHJlZml4fSN7dGFyZ2V0fS5odG1sIj4je3RhcmdldH0oI3thdHRyc1sxXX0pPC9hPlxuKQorICAgICAgICBwcmVmaXggPSBwYXJlbnQuZG9jdW1lbnQuYXR0cignZ2l0LXJlbGF0aXZlLWh0bWwtcHJlZml4JykKKyAgICAgICAgaWYgcGFyZW50LmRvY3VtZW50LmRvY3R5cGUgPT0gJ2Jvb2snCisgICAgICAgICAgIjx1bGluayB1cmw9XCIje3ByZWZpeH0je3RhcmdldH0uaHRtbFwiPiIgXAorICAgICAgICAgICIje3RhcmdldH0oI3thdHRyc1sxXX0pPC91bGluaz4iCisgICAgICAgIGVsc2lmIHBhcmVudC5kb2N1bWVudC5iYXNlYmFja2VuZD8gJ2h0bWwnCisgICAgICAgICAgJSg8YSBocmVmPSIje3ByZWZpeH0je3RhcmdldH0uaHRtbCI+I3t0YXJnZXR9KCN7YXR0cnNbMV19KTwvYT4pCiAgICAgICAgIGVsc2lmIHBhcmVudC5kb2N1bWVudC5iYXNlYmFja2VuZD8gJ2RvY2Jvb2snCiAgICAgICAgICAgIjxjaXRlcmVmZW50cnk+XG4iIFwKICAgICAgICAgICAgICI8cmVmZW50cnl0aXRsZT4je3RhcmdldH08L3JlZmVudHJ5dGl0bGU+IiBcCiAgICAgICAgICAgICAiPG1hbnZvbG51bT4je2F0dHJzWzFdfTwvbWFudm9sbnVtPlxuIiBcCi0gICAgICAgICAgIjwvY2l0ZXJlZmVudHJ5PlxuIgorICAgICAgICAgICI8L2NpdGVyZWZlbnRyeT4iCiAgICAgICAgIGVuZAogICAgICAgZW5kCiAgICAgZW5kCisKKyAgICBjbGFzcyBEb2N1bWVudFBvc3RQcm9jZXNzb3IgPCBBc2NpaWRvY3Rvcjo6RXh0ZW5zaW9uczo6UG9zdHByb2Nlc3NvcgorICAgICAgZGVmIHByb2Nlc3MgZG9jdW1lbnQsIG91dHB1dAorICAgICAgICBpZiBkb2N1bWVudC5iYXNlYmFja2VuZD8gJ2RvY2Jvb2snCisgICAgICAgICAgbWFuc291cmNlID0gZG9jdW1lbnQuYXR0cmlidXRlc1snbWFuc291cmNlJ10KKyAgICAgICAgICBtYW52ZXJzaW9uID0gZG9jdW1lbnQuYXR0cmlidXRlc1snbWFudmVyc2lvbiddCisgICAgICAgICAgbWFubWFudWFsID0gZG9jdW1lbnQuYXR0cmlidXRlc1snbWFubWFudWFsJ10KKyAgICAgICAgICBuZXdfdGFncyA9ICIiIFwKKyAgICAgICAgICAgICI8cmVmbWlzY2luZm8gY2xhc3M9XCJzb3VyY2VcIj4je21hbnNvdXJjZX08L3JlZm1pc2NpbmZvPlxuIiBcCisgICAgICAgICAgICAiPHJlZm1pc2NpbmZvIGNsYXNzPVwidmVyc2lvblwiPiN7bWFudmVyc2lvbn08L3JlZm1pc2NpbmZvPlxuIiBcCisgICAgICAgICAgICAiPHJlZm1pc2NpbmZvIGNsYXNzPVwibWFudWFsXCI+I3ttYW5tYW51YWx9PC9yZWZtaXNjaW5mbz5cbiIKKyAgICAgICAgICBvdXRwdXQgPSBvdXRwdXQuc3ViKC88XC9yZWZtZXRhPi8sIG5ld190YWdzICsgIjwvcmVmbWV0YT4iKQorICAgICAgICBlbmQKKyAgICAgICAgb3V0cHV0CisgICAgICBlbmQKKyAgICBlbmQKICAgZW5kCiBlbmQKIAogQXNjaWlkb2N0b3I6OkV4dGVuc2lvbnMucmVnaXN0ZXIgZG8KICAgaW5saW5lX21hY3JvIEdpdDo6RG9jdW1lbnRhdGlvbjo6TGlua0dpdFByb2Nlc3NvciwgOmxpbmtnaXQKKyAgcG9zdHByb2Nlc3NvciBHaXQ6OkRvY3VtZW50YXRpb246OkRvY3VtZW50UG9zdFByb2Nlc3NvcgogZW5kCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2JsYW1lLW9wdGlvbnMudHh0IGIvRG9jdW1lbnRhdGlvbi9ibGFtZS1vcHRpb25zLnR4dAppbmRleCBkYzQxOTU3Li41ZDEyMmRiIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2JsYW1lLW9wdGlvbnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vYmxhbWUtb3B0aW9ucy50eHQKQEAgLTExMCw1ICsxMTAsMjQgQEAKIGAtQ2Agb3B0aW9ucyBnaXZlbiwgdGhlIDxudW0+IGFyZ3VtZW50IG9mIHRoZSBsYXN0IGAtQ2Agd2lsbAogdGFrZSBlZmZlY3QuCiAKKy0taWdub3JlLXJldiA8cmV2Pjo6CisJSWdub3JlIGNoYW5nZXMgbWFkZSBieSB0aGUgcmV2aXNpb24gd2hlbiBhc3NpZ25pbmcgYmxhbWUsIGFzIGlmIHRoZQorCWNoYW5nZSBuZXZlciBoYXBwZW5lZC4gIExpbmVzIHRoYXQgd2VyZSBjaGFuZ2VkIG9yIGFkZGVkIGJ5IGFuIGlnbm9yZWQKKwljb21taXQgd2lsbCBiZSBibGFtZWQgb24gdGhlIHByZXZpb3VzIGNvbW1pdCB0aGF0IGNoYW5nZWQgdGhhdCBsaW5lIG9yCisJbmVhcmJ5IGxpbmVzLiAgVGhpcyBvcHRpb24gbWF5IGJlIHNwZWNpZmllZCBtdWx0aXBsZSB0aW1lcyB0byBpZ25vcmUKKwltb3JlIHRoYW4gb25lIHJldmlzaW9uLiAgSWYgdGhlIGBibGFtZS5tYXJrSWdub3JlZExpbmVzYCBjb25maWcgb3B0aW9uCisJaXMgc2V0LCB0aGVuIGxpbmVzIHRoYXQgd2VyZSBjaGFuZ2VkIGJ5IGFuIGlnbm9yZWQgY29tbWl0IGFuZCBhdHRyaWJ1dGVkIHRvCisJYW5vdGhlciBjb21taXQgd2lsbCBiZSBtYXJrZWQgd2l0aCBhIGA/YCBpbiB0aGUgYmxhbWUgb3V0cHV0LiAgSWYgdGhlCisJYGJsYW1lLm1hcmtVbmJsYW1hYmxlTGluZXNgIGNvbmZpZyBvcHRpb24gaXMgc2V0LCB0aGVuIHRob3NlIGxpbmVzIHRvdWNoZWQKKwlieSBhbiBpZ25vcmVkIGNvbW1pdCB0aGF0IHdlIGNvdWxkIG5vdCBhdHRyaWJ1dGUgdG8gYW5vdGhlciByZXZpc2lvbiBhcmUKKwltYXJrZWQgd2l0aCBhICcqJy4KKworLS1pZ25vcmUtcmV2cy1maWxlIDxmaWxlPjo6CisJSWdub3JlIHJldmlzaW9ucyBsaXN0ZWQgaW4gYGZpbGVgLCB3aGljaCBtdXN0IGJlIGluIHRoZSBzYW1lIGZvcm1hdCBhcyBhbgorCWBmc2NrLnNraXBMaXN0YC4gIFRoaXMgb3B0aW9uIG1heSBiZSByZXBlYXRlZCwgYW5kIHRoZXNlIGZpbGVzIHdpbGwgYmUKKwlwcm9jZXNzZWQgYWZ0ZXIgYW55IGZpbGVzIHNwZWNpZmllZCB3aXRoIHRoZSBgYmxhbWUuaWdub3JlUmV2c0ZpbGVgIGNvbmZpZworCW9wdGlvbi4gIEFuIGVtcHR5IGZpbGUgbmFtZSwgYCIiYCwgd2lsbCBjbGVhciB0aGUgbGlzdCBvZiByZXZzIGZyb20KKwlwcmV2aW91c2x5IHByb2Nlc3NlZCBmaWxlcy4KKwogLWg6OgogCVNob3cgaGVscCBtZXNzYWdlLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcudHh0CmluZGV4IGQ4Nzg0NmYuLjA4YjEzYmEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vY29uZmlnLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy50eHQKQEAgLTE0Miw3ICsxNDIsMjEgQEAKIAogYGdpdGRpci9pYDo6CiAJVGhpcyBpcyB0aGUgc2FtZSBhcyBgZ2l0ZGlyYCBleGNlcHQgdGhhdCBtYXRjaGluZyBpcyBkb25lCi0JY2FzZS1pbnNlbnNpdGl2ZWx5IChlLmcuIG9uIGNhc2UtaW5zZW5zaXRpdmUgZmlsZSBzeXRlbXMpCisJY2FzZS1pbnNlbnNpdGl2ZWx5IChlLmcuIG9uIGNhc2UtaW5zZW5zaXRpdmUgZmlsZSBzeXN0ZW1zKQorCitgb25icmFuY2hgOjoKKwlUaGUgZGF0YSB0aGF0IGZvbGxvd3MgdGhlIGtleXdvcmQgYG9uYnJhbmNoOmAgaXMgdGFrZW4gdG8gYmUgYQorCXBhdHRlcm4gd2l0aCBzdGFuZGFyZCBnbG9iYmluZyB3aWxkY2FyZHMgYW5kIHR3byBhZGRpdGlvbmFsCisJb25lcywgYCoqL2AgYW5kIGAvKipgLCB0aGF0IGNhbiBtYXRjaCBtdWx0aXBsZSBwYXRoIGNvbXBvbmVudHMuCisJSWYgd2UgYXJlIGluIGEgd29ya3RyZWUgd2hlcmUgdGhlIG5hbWUgb2YgdGhlIGJyYW5jaCB0aGF0IGlzCisJY3VycmVudGx5IGNoZWNrZWQgb3V0IG1hdGNoZXMgdGhlIHBhdHRlcm4sIHRoZSBpbmNsdWRlIGNvbmRpdGlvbgorCWlzIG1ldC4KKysKK0lmIHRoZSBwYXR0ZXJuIGVuZHMgd2l0aCBgL2AsIGAqKmAgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGFkZGVkLiBGb3IKK2V4YW1wbGUsIHRoZSBwYXR0ZXJuIGBmb28vYCBiZWNvbWVzIGBmb28vKipgLiBJbiBvdGhlciB3b3JkcywgaXQgbWF0Y2hlcworYWxsIGJyYW5jaGVzIHRoYXQgYmVnaW4gd2l0aCBgZm9vL2AuIFRoaXMgaXMgdXNlZnVsIGlmIHlvdXIgYnJhbmNoZXMgYXJlCitvcmdhbml6ZWQgaGllcmFyY2hpY2FsbHkgYW5kIHlvdSB3b3VsZCBsaWtlIHRvIGFwcGx5IGEgY29uZmlndXJhdGlvbiB0bworYWxsIHRoZSBicmFuY2hlcyBpbiB0aGF0IGhpZXJhcmNoeS4KIAogQSBmZXcgbW9yZSBub3RlcyBvbiBtYXRjaGluZyB2aWEgYGdpdGRpcmAgYW5kIGBnaXRkaXIvaWA6CiAKQEAgLTE2NCw0NiArMTc4LDUzIEBACiBFeGFtcGxlCiB+fn5+fn5+CiAKLQkjIENvcmUgdmFyaWFibGVzCi0JW2NvcmVdCi0JCTsgRG9uJ3QgdHJ1c3QgZmlsZSBtb2RlcwotCQlmaWxlbW9kZSA9IGZhbHNlCistLS0tCisjIENvcmUgdmFyaWFibGVzCitbY29yZV0KKwk7IERvbid0IHRydXN0IGZpbGUgbW9kZXMKKwlmaWxlbW9kZSA9IGZhbHNlCiAKLQkjIE91ciBkaWZmIGFsZ29yaXRobQotCVtkaWZmXQotCQlleHRlcm5hbCA9IC91c3IvbG9jYWwvYmluL2RpZmYtd3JhcHBlcgotCQlyZW5hbWVzID0gdHJ1ZQorIyBPdXIgZGlmZiBhbGdvcml0aG0KK1tkaWZmXQorCWV4dGVybmFsID0gL3Vzci9sb2NhbC9iaW4vZGlmZi13cmFwcGVyCisJcmVuYW1lcyA9IHRydWUKIAotCVticmFuY2ggImRldmVsIl0KLQkJcmVtb3RlID0gb3JpZ2luCi0JCW1lcmdlID0gcmVmcy9oZWFkcy9kZXZlbAorW2JyYW5jaCAiZGV2ZWwiXQorCXJlbW90ZSA9IG9yaWdpbgorCW1lcmdlID0gcmVmcy9oZWFkcy9kZXZlbAogCi0JIyBQcm94eSBzZXR0aW5ncwotCVtjb3JlXQotCQlnaXRQcm94eT0ic3NoIiBmb3IgImtlcm5lbC5vcmciCi0JCWdpdFByb3h5PWRlZmF1bHQtcHJveHkgOyBmb3IgdGhlIHJlc3QKKyMgUHJveHkgc2V0dGluZ3MKK1tjb3JlXQorCWdpdFByb3h5PSJzc2giIGZvciAia2VybmVsLm9yZyIKKwlnaXRQcm94eT1kZWZhdWx0LXByb3h5IDsgZm9yIHRoZSByZXN0CiAKLQlbaW5jbHVkZV0KLQkJcGF0aCA9IC9wYXRoL3RvL2Zvby5pbmMgOyBpbmNsdWRlIGJ5IGFic29sdXRlIHBhdGgKLQkJcGF0aCA9IGZvby5pbmMgOyBmaW5kICJmb28uaW5jIiByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBmaWxlCi0JCXBhdGggPSB+L2Zvby5pbmMgOyBmaW5kICJmb28uaW5jIiBpbiB5b3VyIGAkSE9NRWAgZGlyZWN0b3J5CitbaW5jbHVkZV0KKwlwYXRoID0gL3BhdGgvdG8vZm9vLmluYyA7IGluY2x1ZGUgYnkgYWJzb2x1dGUgcGF0aAorCXBhdGggPSBmb28uaW5jIDsgZmluZCAiZm9vLmluYyIgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgZmlsZQorCXBhdGggPSB+L2Zvby5pbmMgOyBmaW5kICJmb28uaW5jIiBpbiB5b3VyIGAkSE9NRWAgZGlyZWN0b3J5CiAKLQk7IGluY2x1ZGUgaWYgJEdJVF9ESVIgaXMgL3BhdGgvdG8vZm9vLy5naXQKLQlbaW5jbHVkZUlmICJnaXRkaXI6L3BhdGgvdG8vZm9vLy5naXQiXQotCQlwYXRoID0gL3BhdGgvdG8vZm9vLmluYworOyBpbmNsdWRlIGlmICRHSVRfRElSIGlzIC9wYXRoL3RvL2Zvby8uZ2l0CitbaW5jbHVkZUlmICJnaXRkaXI6L3BhdGgvdG8vZm9vLy5naXQiXQorCXBhdGggPSAvcGF0aC90by9mb28uaW5jCiAKLQk7IGluY2x1ZGUgZm9yIGFsbCByZXBvc2l0b3JpZXMgaW5zaWRlIC9wYXRoL3RvL2dyb3VwCi0JW2luY2x1ZGVJZiAiZ2l0ZGlyOi9wYXRoL3RvL2dyb3VwLyJdCi0JCXBhdGggPSAvcGF0aC90by9mb28uaW5jCis7IGluY2x1ZGUgZm9yIGFsbCByZXBvc2l0b3JpZXMgaW5zaWRlIC9wYXRoL3RvL2dyb3VwCitbaW5jbHVkZUlmICJnaXRkaXI6L3BhdGgvdG8vZ3JvdXAvIl0KKwlwYXRoID0gL3BhdGgvdG8vZm9vLmluYwogCi0JOyBpbmNsdWRlIGZvciBhbGwgcmVwb3NpdG9yaWVzIGluc2lkZSAkSE9NRS90by9ncm91cAotCVtpbmNsdWRlSWYgImdpdGRpcjp+L3RvL2dyb3VwLyJdCi0JCXBhdGggPSAvcGF0aC90by9mb28uaW5jCis7IGluY2x1ZGUgZm9yIGFsbCByZXBvc2l0b3JpZXMgaW5zaWRlICRIT01FL3RvL2dyb3VwCitbaW5jbHVkZUlmICJnaXRkaXI6fi90by9ncm91cC8iXQorCXBhdGggPSAvcGF0aC90by9mb28uaW5jCiAKLQk7IHJlbGF0aXZlIHBhdGhzIGFyZSBhbHdheXMgcmVsYXRpdmUgdG8gdGhlIGluY2x1ZGluZwotCTsgZmlsZSAoaWYgdGhlIGNvbmRpdGlvbiBpcyB0cnVlKTsgdGhlaXIgbG9jYXRpb24gaXMgbm90Ci0JOyBhZmZlY3RlZCBieSB0aGUgY29uZGl0aW9uCi0JW2luY2x1ZGVJZiAiZ2l0ZGlyOi9wYXRoL3RvL2dyb3VwLyJdCis7IHJlbGF0aXZlIHBhdGhzIGFyZSBhbHdheXMgcmVsYXRpdmUgdG8gdGhlIGluY2x1ZGluZworOyBmaWxlIChpZiB0aGUgY29uZGl0aW9uIGlzIHRydWUpOyB0aGVpciBsb2NhdGlvbiBpcyBub3QKKzsgYWZmZWN0ZWQgYnkgdGhlIGNvbmRpdGlvbgorW2luY2x1ZGVJZiAiZ2l0ZGlyOi9wYXRoL3RvL2dyb3VwLyJdCisJcGF0aCA9IGZvby5pbmMKKy0tLS0KKworCTsgaW5jbHVkZSBvbmx5IGlmIHdlIGFyZSBpbiBhIHdvcmt0cmVlIHdoZXJlIGZvby1icmFuY2ggaXMKKwk7IGN1cnJlbnRseSBjaGVja2VkIG91dAorCVtpbmNsdWRlSWYgIm9uYnJhbmNoOmZvby1icmFuY2giXQogCQlwYXRoID0gZm9vLmluYwogCiBWYWx1ZXMKQEAgLTI0Miw3ICsyNjMsOSBAQAogKwogVGhlIGJhc2ljIGNvbG9ycyBhY2NlcHRlZCBhcmUgYG5vcm1hbGAsIGBibGFja2AsIGByZWRgLCBgZ3JlZW5gLCBgeWVsbG93YCwKIGBibHVlYCwgYG1hZ2VudGFgLCBgY3lhbmAgYW5kIGB3aGl0ZWAuICBUaGUgZmlyc3QgY29sb3IgZ2l2ZW4gaXMgdGhlCi1mb3JlZ3JvdW5kOyB0aGUgc2Vjb25kIGlzIHRoZSBiYWNrZ3JvdW5kLgorZm9yZWdyb3VuZDsgdGhlIHNlY29uZCBpcyB0aGUgYmFja2dyb3VuZC4gIEFsbCB0aGUgYmFzaWMgY29sb3JzIGV4Y2VwdAorYG5vcm1hbGAgaGF2ZSBhIGJyaWdodCB2YXJpYW50IHRoYXQgY2FuIGJlIHNwZWZpY2llZCBieSBwcmVmaXhpbmcgdGhlCitjb2xvciB3aXRoIGBicmlnaHRgLCBsaWtlIGBicmlnaHRyZWRgLgogKwogQ29sb3JzIG1heSBhbHNvIGJlIGdpdmVuIGFzIG51bWJlcnMgYmV0d2VlbiAwIGFuZCAyNTU7IHRoZXNlIHVzZSBBTlNJCiAyNTYtY29sb3IgbW9kZSAoYnV0IG5vdGUgdGhhdCBub3QgYWxsIHRlcm1pbmFscyBtYXkgc3VwcG9ydCB0aGlzKS4gIElmCkBAIC0zMjYsNiArMzQ5LDggQEAKIAogaW5jbHVkZTo6Y29uZmlnL2Zhc3RpbXBvcnQudHh0W10KIAoraW5jbHVkZTo6Y29uZmlnL2ZlYXR1cmUudHh0W10KKwogaW5jbHVkZTo6Y29uZmlnL2ZldGNoLnR4dFtdCiAKIGluY2x1ZGU6OmNvbmZpZy9mb3JtYXQudHh0W10KQEAgLTQyMiw2ICs0NDcsOCBAQAogCiBpbmNsdWRlOjpjb25maWcvdGFnLnR4dFtdCiAKK2luY2x1ZGU6OmNvbmZpZy90cmFjZTIudHh0W10KKwogaW5jbHVkZTo6Y29uZmlnL3RyYW5zZmVyLnR4dFtdCiAKIGluY2x1ZGU6OmNvbmZpZy91cGxvYWRhcmNoaXZlLnR4dFtdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9hZGQudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcvYWRkLnR4dAppbmRleCA0ZDc1M2YwLi5jOWY3NDhmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9hZGQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vY29uZmlnL2FkZC50eHQKQEAgLTUsMyArNSw4IEBACiAJb3B0aW9uIG9mIGxpbmtnaXQ6Z2l0LWFkZFsxXS4gIGBhZGQuaWdub3JlLWVycm9yc2AgaXMgZGVwcmVjYXRlZCwKIAlhcyBpdCBkb2VzIG5vdCBmb2xsb3cgdGhlIHVzdWFsIG5hbWluZyBjb252ZW50aW9uIGZvciBjb25maWd1cmF0aW9uCiAJdmFyaWFibGVzLgorCithZGQuaW50ZXJhY3RpdmUudXNlQnVpbHRpbjo6CisJW0VYUEVSSU1FTlRBTF0gU2V0IHRvIGB0cnVlYCB0byB1c2UgdGhlIGV4cGVyaW1lbnRhbCBidWlsdC1pbgorCWltcGxlbWVudGF0aW9uIG9mIHRoZSBpbnRlcmFjdGl2ZSB2ZXJzaW9uIG9mIGxpbmtnaXQ6Z2l0LWFkZFsxXQorCWluc3RlYWQgb2YgdGhlIFBlcmwgc2NyaXB0IHZlcnNpb24uIElzIGBmYWxzZWAgYnkgZGVmYXVsdC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vY29uZmlnL2FkdmljZS50eHQgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9hZHZpY2UudHh0CmluZGV4IDU3ZmNkNGMuLmJkZDM3YzMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vY29uZmlnL2FkdmljZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9jb25maWcvYWR2aWNlLnR4dApAQCAtNCw2ICs0LDEwIEBACiAJY2FuIHRlbGwgR2l0IHRoYXQgeW91IGRvIG5vdCBuZWVkIGhlbHAgYnkgc2V0dGluZyB0aGVzZSB0byAnZmFsc2UnOgogKwogLS0KKwlmZXRjaFNob3dGb3JjZWRVcGRhdGVzOjoKKwkJQWR2aWNlIHNob3duIHdoZW4gbGlua2dpdDpnaXQtZmV0Y2hbMV0gdGFrZXMgYSBsb25nIHRpbWUKKwkJdG8gY2FsY3VsYXRlIGZvcmNlZCB1cGRhdGVzIGFmdGVyIHJlZiB1cGRhdGVzLCBvciB0byB3YXJuCisJCXRoYXQgdGhlIGNoZWNrIGlzIGRpc2FibGVkLgogCXB1c2hVcGRhdGVSZWplY3RlZDo6CiAJCVNldCB0aGlzIHZhcmlhYmxlIHRvICdmYWxzZScgaWYgeW91IHdhbnQgdG8gZGlzYWJsZQogCQkncHVzaE5vbkZGQ3VycmVudCcsCkBAIC0zMCwxMiArMzQsMjYgQEAKIAkJdHJpZXMgdG8gb3ZlcndyaXRlIGEgcmVtb3RlIHJlZiB0aGF0IHBvaW50cyBhdCBhbgogCQlvYmplY3QgdGhhdCBpcyBub3QgYSBjb21taXQtaXNoLCBvciBtYWtlIHRoZSByZW1vdGUKIAkJcmVmIHBvaW50IGF0IGFuIG9iamVjdCB0aGF0IGlzIG5vdCBhIGNvbW1pdC1pc2guCisJcHVzaFVucXVhbGlmaWVkUmVmbmFtZTo6CisJCVNob3duIHdoZW4gbGlua2dpdDpnaXQtcHVzaFsxXSBnaXZlcyB1cCB0cnlpbmcgdG8KKwkJZ3Vlc3MgYmFzZWQgb24gdGhlIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gcmVmcyB3aGF0CisJCXJlbW90ZSByZWYgbmFtZXNwYWNlIHRoZSBzb3VyY2UgYmVsb25ncyBpbiwgYnV0IHdoZXJlCisJCXdlIGNhbiBzdGlsbCBzdWdnZXN0IHRoYXQgdGhlIHVzZXIgcHVzaCB0byBlaXRoZXIKKwkJcmVmcy9oZWFkcy8qIG9yIHJlZnMvdGFncy8qIGJhc2VkIG9uIHRoZSB0eXBlIG9mIHRoZQorCQlzb3VyY2Ugb2JqZWN0LgorCXN0YXR1c0FoZWFkQmVoaW5kOjoKKwkJU2hvd24gd2hlbiBsaW5rZ2l0OmdpdC1zdGF0dXNbMV0gY29tcHV0ZXMgdGhlIGFoZWFkL2JlaGluZAorCQljb3VudHMgZm9yIGEgbG9jYWwgcmVmIGNvbXBhcmVkIHRvIGl0cyByZW1vdGUgdHJhY2tpbmcgcmVmLAorCQlhbmQgdGhhdCBjYWxjdWxhdGlvbiB0YWtlcyBsb25nZXIgdGhhbiBleHBlY3RlZC4gV2lsbCBub3QKKwkJYXBwZWFyIGlmIGBzdGF0dXMuYWhlYWRCZWhpbmRgIGlzIGZhbHNlIG9yIHRoZSBvcHRpb24KKwkJYC0tbm8tYWhlYWQtYmVoaW5kYCBpcyBnaXZlbi4KIAlzdGF0dXNIaW50czo6CiAJCVNob3cgZGlyZWN0aW9ucyBvbiBob3cgdG8gcHJvY2VlZCBmcm9tIHRoZSBjdXJyZW50CiAJCXN0YXRlIGluIHRoZSBvdXRwdXQgb2YgbGlua2dpdDpnaXQtc3RhdHVzWzFdLCBpbgogCQl0aGUgdGVtcGxhdGUgc2hvd24gd2hlbiB3cml0aW5nIGNvbW1pdCBtZXNzYWdlcyBpbgogCQlsaW5rZ2l0OmdpdC1jb21taXRbMV0sIGFuZCBpbiB0aGUgaGVscCBtZXNzYWdlIHNob3duCi0JCWJ5IGxpbmtnaXQ6Z2l0LWNoZWNrb3V0WzFdIHdoZW4gc3dpdGNoaW5nIGJyYW5jaC4KKwkJYnkgbGlua2dpdDpnaXQtc3dpdGNoWzFdIG9yCisJCWxpbmtnaXQ6Z2l0LWNoZWNrb3V0WzFdIHdoZW4gc3dpdGNoaW5nIGJyYW5jaC4KIAlzdGF0dXNVb3B0aW9uOjoKIAkJQWR2aXNlIHRvIGNvbnNpZGVyIHVzaW5nIHRoZSBgLXVgIG9wdGlvbiB0byBsaW5rZ2l0OmdpdC1zdGF0dXNbMV0KIAkJd2hlbiB0aGUgY29tbWFuZCB0YWtlcyBtb3JlIHRoYW4gMiBzZWNvbmRzIHRvIGVudW1lcmF0ZSB1bnRyYWNrZWQKQEAgLTUwLDE3ICs2OCwyMSBAQAogCXJlc29sdmVDb25mbGljdDo6CiAJCUFkdmljZSBzaG93biBieSB2YXJpb3VzIGNvbW1hbmRzIHdoZW4gY29uZmxpY3RzCiAJCXByZXZlbnQgdGhlIG9wZXJhdGlvbiBmcm9tIGJlaW5nIHBlcmZvcm1lZC4KKwlzZXF1ZW5jZXJJblVzZTo6CisJCUFkdmljZSBzaG93biB3aGVuIGEgc2VxdWVuY2VyIGNvbW1hbmQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcy4KIAlpbXBsaWNpdElkZW50aXR5OjoKIAkJQWR2aWNlIG9uIGhvdyB0byBzZXQgeW91ciBpZGVudGl0eSBjb25maWd1cmF0aW9uIHdoZW4KIAkJeW91ciBpbmZvcm1hdGlvbiBpcyBndWVzc2VkIGZyb20gdGhlIHN5c3RlbSB1c2VybmFtZSBhbmQKIAkJZG9tYWluIG5hbWUuCiAJZGV0YWNoZWRIZWFkOjoKLQkJQWR2aWNlIHNob3duIHdoZW4geW91IHVzZWQgbGlua2dpdDpnaXQtY2hlY2tvdXRbMV0gdG8KLQkJbW92ZSB0byB0aGUgZGV0YWNoIEhFQUQgc3RhdGUsIHRvIGluc3RydWN0IGhvdyB0byBjcmVhdGUKLQkJYSBsb2NhbCBicmFuY2ggYWZ0ZXIgdGhlIGZhY3QuCisJCUFkdmljZSBzaG93biB3aGVuIHlvdSB1c2VkCisJCWxpbmtnaXQ6Z2l0LXN3aXRjaFsxXSBvciBsaW5rZ2l0OmdpdC1jaGVja291dFsxXQorCQl0byBtb3ZlIHRvIHRoZSBkZXRhY2ggSEVBRCBzdGF0ZSwgdG8gaW5zdHJ1Y3QgaG93IHRvCisJCWNyZWF0ZSBhIGxvY2FsIGJyYW5jaCBhZnRlciB0aGUgZmFjdC4KIAljaGVja291dEFtYmlndW91c1JlbW90ZUJyYW5jaE5hbWU6OgogCQlBZHZpY2Ugc2hvd24gd2hlbiB0aGUgYXJndW1lbnQgdG8KLQkJbGlua2dpdDpnaXQtY2hlY2tvdXRbMV0gYW1iaWd1b3VzbHkgcmVzb2x2ZXMgdG8gYQorCQlsaW5rZ2l0OmdpdC1jaGVja291dFsxXSBhbmQgbGlua2dpdDpnaXQtc3dpdGNoWzFdCisJCWFtYmlndW91c2x5IHJlc29sdmVzIHRvIGEKIAkJcmVtb3RlIHRyYWNraW5nIGJyYW5jaCBvbiBtb3JlIHRoYW4gb25lIHJlbW90ZSBpbgogCQlzaXR1YXRpb25zIHdoZXJlIGFuIHVuYW1iaWd1b3VzIGFyZ3VtZW50IHdvdWxkIGhhdmUKIAkJb3RoZXJ3aXNlIGNhdXNlZCBhIHJlbW90ZS10cmFja2luZyBicmFuY2ggdG8gYmUKQEAgLTgzLDQgKzEwNSwxNSBAQAogCXdhaXRpbmdGb3JFZGl0b3I6OgogCQlQcmludCBhIG1lc3NhZ2UgdG8gdGhlIHRlcm1pbmFsIHdoZW5ldmVyIEdpdCBpcyB3YWl0aW5nIGZvcgogCQllZGl0b3IgaW5wdXQgZnJvbSB0aGUgdXNlci4KKwluZXN0ZWRUYWc6OgorCQlBZHZpY2Ugc2hvd24gaWYgYSB1c2VyIGF0dGVtcHRzIHRvIHJlY3Vyc2l2ZWx5IHRhZyBhIHRhZyBvYmplY3QuCisJc3VibW9kdWxlQWx0ZXJuYXRlRXJyb3JTdHJhdGVneURpZTo6CisJCUFkdmljZSBzaG93biB3aGVuIGEgc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgb3B0aW9uCisJCWNvbmZpZ3VyZWQgdG8gImRpZSIgY2F1c2VzIGEgZmF0YWwgZXJyb3IuCisJYWRkSWdub3JlZEZpbGU6OgorCQlBZHZpY2Ugc2hvd24gaWYgYSB1c2VyIGF0dGVtcHRzIHRvIGFkZCBhbiBpZ25vcmVkIGZpbGUgdG8KKwkJdGhlIGluZGV4LgorCWFkZEVtcHR5UGF0aHNwZWM6OgorCQlBZHZpY2Ugc2hvd24gaWYgYSB1c2VyIHJ1bnMgdGhlIGFkZCBjb21tYW5kIHdpdGhvdXQgcHJvdmlkaW5nCisJCXRoZSBwYXRoc3BlYyBwYXJhbWV0ZXIuCiAtLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcvYWxpYXMudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcvYWxpYXMudHh0CmluZGV4IDBiMTQxNzguLmYxY2E3MzkgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vY29uZmlnL2FsaWFzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9hbGlhcy50eHQKQEAgLTEsMTggKzEsMjggQEAKIGFsaWFzLio6OgogCUNvbW1hbmQgYWxpYXNlcyBmb3IgdGhlIGxpbmtnaXQ6Z2l0WzFdIGNvbW1hbmQgd3JhcHBlciAtIGUuZy4KLQlhZnRlciBkZWZpbmluZyAiYWxpYXMubGFzdCA9IGNhdC1maWxlIGNvbW1pdCBIRUFEIiwgdGhlIGludm9jYXRpb24KLQkiZ2l0IGxhc3QiIGlzIGVxdWl2YWxlbnQgdG8gImdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCIuIFRvIGF2b2lkCisJYWZ0ZXIgZGVmaW5pbmcgYGFsaWFzLmxhc3QgPSBjYXQtZmlsZSBjb21taXQgSEVBRGAsIHRoZSBpbnZvY2F0aW9uCisJYGdpdCBsYXN0YCBpcyBlcXVpdmFsZW50IHRvIGBnaXQgY2F0LWZpbGUgY29tbWl0IEhFQURgLiBUbyBhdm9pZAogCWNvbmZ1c2lvbiBhbmQgdHJvdWJsZXMgd2l0aCBzY3JpcHQgdXNhZ2UsIGFsaWFzZXMgdGhhdAogCWhpZGUgZXhpc3RpbmcgR2l0IGNvbW1hbmRzIGFyZSBpZ25vcmVkLiBBcmd1bWVudHMgYXJlIHNwbGl0IGJ5CiAJc3BhY2VzLCB0aGUgdXN1YWwgc2hlbGwgcXVvdGluZyBhbmQgZXNjYXBpbmcgaXMgc3VwcG9ydGVkLgogCUEgcXVvdGUgcGFpciBvciBhIGJhY2tzbGFzaCBjYW4gYmUgdXNlZCB0byBxdW90ZSB0aGVtLgogKworTm90ZSB0aGF0IHRoZSBmaXJzdCB3b3JkIG9mIGFuIGFsaWFzIGRvZXMgbm90IG5lY2Vzc2FyaWx5IGhhdmUgdG8gYmUgYQorY29tbWFuZC4gSXQgY2FuIGJlIGEgY29tbWFuZC1saW5lIG9wdGlvbiB0aGF0IHdpbGwgYmUgcGFzc2VkIGludG8gdGhlCitpbnZvY2F0aW9uIG9mIGBnaXRgLiBJbiBwYXJ0aWN1bGFyLCB0aGlzIGlzIHVzZWZ1bCB3aGVuIHVzZWQgd2l0aCBgLWNgCit0byBwYXNzIGluIG9uZS10aW1lIGNvbmZpZ3VyYXRpb25zIG9yIGAtcGAgdG8gZm9yY2UgcGFnaW5hdGlvbi4gRm9yIGV4YW1wbGUsCitgbG91ZC1yZWJhc2UgPSAtYyBjb21taXQudmVyYm9zZT10cnVlIHJlYmFzZWAgY2FuIGJlIGRlZmluZWQgc3VjaCB0aGF0CitydW5uaW5nIGBnaXQgbG91ZC1yZWJhc2VgIHdvdWxkIGJlIGVxdWl2YWxlbnQgdG8KK2BnaXQgLWMgY29tbWl0LnZlcmJvc2U9dHJ1ZSByZWJhc2VgLiBBbHNvLCBgcHMgPSAtcCBzdGF0dXNgIHdvdWxkIGJlIGEKK2hlbHBmdWwgYWxpYXMgc2luY2UgYGdpdCBwc2Agd291bGQgcGFnaW5hdGUgdGhlIG91dHB1dCBvZiBgZ2l0IHN0YXR1c2AKK3doZXJlIHRoZSBvcmlnaW5hbCBjb21tYW5kIGRvZXMgbm90LgorKwogSWYgdGhlIGFsaWFzIGV4cGFuc2lvbiBpcyBwcmVmaXhlZCB3aXRoIGFuIGV4Y2xhbWF0aW9uIHBvaW50LAogaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGEgc2hlbGwgY29tbWFuZC4gIEZvciBleGFtcGxlLCBkZWZpbmluZwotImFsaWFzLm5ldyA9ICFnaXRrIC0tYWxsIC0tbm90IE9SSUdfSEVBRCIsIHRoZSBpbnZvY2F0aW9uCi0iZ2l0IG5ldyIgaXMgZXF1aXZhbGVudCB0byBydW5uaW5nIHRoZSBzaGVsbCBjb21tYW5kCi0iZ2l0ayAtLWFsbCAtLW5vdCBPUklHX0hFQUQiLiAgTm90ZSB0aGF0IHNoZWxsIGNvbW1hbmRzIHdpbGwgYmUKK2BhbGlhcy5uZXcgPSAhZ2l0ayAtLWFsbCAtLW5vdCBPUklHX0hFQURgLCB0aGUgaW52b2NhdGlvbgorYGdpdCBuZXdgIGlzIGVxdWl2YWxlbnQgdG8gcnVubmluZyB0aGUgc2hlbGwgY29tbWFuZAorYGdpdGsgLS1hbGwgLS1ub3QgT1JJR19IRUFEYC4gIE5vdGUgdGhhdCBzaGVsbCBjb21tYW5kcyB3aWxsIGJlCiBleGVjdXRlZCBmcm9tIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5IG9mIGEgcmVwb3NpdG9yeSwgd2hpY2ggbWF5CiBub3QgbmVjZXNzYXJpbHkgYmUgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LgotYEdJVF9QUkVGSVhgIGlzIHNldCBhcyByZXR1cm5lZCBieSBydW5uaW5nICdnaXQgcmV2LXBhcnNlIC0tc2hvdy1wcmVmaXgnCitgR0lUX1BSRUZJWGAgaXMgc2V0IGFzIHJldHVybmVkIGJ5IHJ1bm5pbmcgYGdpdCByZXYtcGFyc2UgLS1zaG93LXByZWZpeGAKIGZyb20gdGhlIG9yaWdpbmFsIGN1cnJlbnQgZGlyZWN0b3J5LiBTZWUgbGlua2dpdDpnaXQtcmV2LXBhcnNlWzFdLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcvYmxhbWUudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcvYmxhbWUudHh0CmluZGV4IDY3YjVjMWQuLjk0NjhlODUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vY29uZmlnL2JsYW1lLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9ibGFtZS50eHQKQEAgLTE5LDMgKzE5LDE5IEBACiBibGFtZS5zaG93Um9vdDo6CiAJRG8gbm90IHRyZWF0IHJvb3QgY29tbWl0cyBhcyBib3VuZGFyaWVzIGluIGxpbmtnaXQ6Z2l0LWJsYW1lWzFdLgogCVRoaXMgb3B0aW9uIGRlZmF1bHRzIHRvIGZhbHNlLgorCitibGFtZS5pZ25vcmVSZXZzRmlsZTo6CisJSWdub3JlIHJldmlzaW9ucyBsaXN0ZWQgaW4gdGhlIGZpbGUsIG9uZSB1bmFiYnJldmlhdGVkIG9iamVjdCBuYW1lIHBlcgorCWxpbmUsIGluIGxpbmtnaXQ6Z2l0LWJsYW1lWzFdLiAgV2hpdGVzcGFjZSBhbmQgY29tbWVudHMgYmVnaW5uaW5nIHdpdGgKKwlgI2AgYXJlIGlnbm9yZWQuICBUaGlzIG9wdGlvbiBtYXkgYmUgcmVwZWF0ZWQgbXVsdGlwbGUgdGltZXMuICBFbXB0eQorCWZpbGUgbmFtZXMgd2lsbCByZXNldCB0aGUgbGlzdCBvZiBpZ25vcmVkIHJldmlzaW9ucy4gIFRoaXMgb3B0aW9uIHdpbGwKKwliZSBoYW5kbGVkIGJlZm9yZSB0aGUgY29tbWFuZCBsaW5lIG9wdGlvbiBgLS1pZ25vcmUtcmV2cy1maWxlYC4KKworYmxhbWUubWFya1VuYmxhbWFibGVzOjoKKwlNYXJrIGxpbmVzIHRoYXQgd2VyZSBjaGFuZ2VkIGJ5IGFuIGlnbm9yZWQgcmV2aXNpb24gdGhhdCB3ZSBjb3VsZCBub3QKKwlhdHRyaWJ1dGUgdG8gYW5vdGhlciBjb21taXQgd2l0aCBhICcqJyBpbiB0aGUgb3V0cHV0IG9mCisJbGlua2dpdDpnaXQtYmxhbWVbMV0uCisKK2JsYW1lLm1hcmtJZ25vcmVkTGluZXM6OgorCU1hcmsgbGluZXMgdGhhdCB3ZXJlIGNoYW5nZWQgYnkgYW4gaWdub3JlZCByZXZpc2lvbiB0aGF0IHdlIGF0dHJpYnV0ZWQgdG8KKwlhbm90aGVyIGNvbW1pdCB3aXRoIGEgJz8nIGluIHRoZSBvdXRwdXQgb2YgbGlua2dpdDpnaXQtYmxhbWVbMV0uCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9icmFuY2gudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcvYnJhbmNoLnR4dAppbmRleCAwMTlkNjBlLi5jYzVmMzI0IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9icmFuY2gudHh0CisrKyBiL0RvY3VtZW50YXRpb24vY29uZmlnL2JyYW5jaC50eHQKQEAgLTEsNSArMSw1IEBACiBicmFuY2guYXV0b1NldHVwTWVyZ2U6OgotCVRlbGxzICdnaXQgYnJhbmNoJyBhbmQgJ2dpdCBjaGVja291dCcgdG8gc2V0IHVwIG5ldyBicmFuY2hlcworCVRlbGxzICdnaXQgYnJhbmNoJywgJ2dpdCBzd2l0Y2gnIGFuZCAnZ2l0IGNoZWNrb3V0JyB0byBzZXQgdXAgbmV3IGJyYW5jaGVzCiAJc28gdGhhdCBsaW5rZ2l0OmdpdC1wdWxsWzFdIHdpbGwgYXBwcm9wcmlhdGVseSBtZXJnZSBmcm9tIHRoZQogCXN0YXJ0aW5nIHBvaW50IGJyYW5jaC4gTm90ZSB0aGF0IGV2ZW4gaWYgdGhpcyBvcHRpb24gaXMgbm90IHNldCwKIAl0aGlzIGJlaGF2aW9yIGNhbiBiZSBjaG9zZW4gcGVyLWJyYW5jaCB1c2luZyB0aGUgYC0tdHJhY2tgCkBAIC0xMSw3ICsxMSw3IEBACiAJYnJhbmNoLiBUaGlzIG9wdGlvbiBkZWZhdWx0cyB0byB0cnVlLgogCiBicmFuY2guYXV0b1NldHVwUmViYXNlOjoKLQlXaGVuIGEgbmV3IGJyYW5jaCBpcyBjcmVhdGVkIHdpdGggJ2dpdCBicmFuY2gnIG9yICdnaXQgY2hlY2tvdXQnCisJV2hlbiBhIG5ldyBicmFuY2ggaXMgY3JlYXRlZCB3aXRoICdnaXQgYnJhbmNoJywgJ2dpdCBzd2l0Y2gnIG9yICdnaXQgY2hlY2tvdXQnCiAJdGhhdCB0cmFja3MgYW5vdGhlciBicmFuY2gsIHRoaXMgdmFyaWFibGUgdGVsbHMgR2l0IHRvIHNldAogCXVwIHB1bGwgdG8gcmViYXNlIGluc3RlYWQgb2YgbWVyZ2UgKHNlZSAiYnJhbmNoLjxuYW1lPi5yZWJhc2UiKS4KIAlXaGVuIGBuZXZlcmAsIHJlYmFzZSBpcyBuZXZlciBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLgpAQCAtODEsMTUgKzgxLDE2IEBACiAJImdpdCBwdWxsIiBpcyBydW4uIFNlZSAicHVsbC5yZWJhc2UiIGZvciBkb2luZyB0aGlzIGluIGEgbm9uCiAJYnJhbmNoLXNwZWNpZmljIG1hbm5lci4KICsKLVdoZW4gYG1lcmdlc2AsIHBhc3MgdGhlIGAtLXJlYmFzZS1tZXJnZXNgIG9wdGlvbiB0byAnZ2l0IHJlYmFzZScKK1doZW4gYG1lcmdlc2AgKG9yIGp1c3QgJ20nKSwgcGFzcyB0aGUgYC0tcmViYXNlLW1lcmdlc2Agb3B0aW9uIHRvICdnaXQgcmViYXNlJwogc28gdGhhdCB0aGUgbG9jYWwgbWVyZ2UgY29tbWl0cyBhcmUgaW5jbHVkZWQgaW4gdGhlIHJlYmFzZSAoc2VlCiBsaW5rZ2l0OmdpdC1yZWJhc2VbMV0gZm9yIGRldGFpbHMpLgogKwotV2hlbiBwcmVzZXJ2ZSwgYWxzbyBwYXNzIGAtLXByZXNlcnZlLW1lcmdlc2AgYWxvbmcgdG8gJ2dpdCByZWJhc2UnCi1zbyB0aGF0IGxvY2FsbHkgY29tbWl0dGVkIG1lcmdlIGNvbW1pdHMgd2lsbCBub3QgYmUgZmxhdHRlbmVkCi1ieSBydW5uaW5nICdnaXQgcHVsbCcuCitXaGVuIGBwcmVzZXJ2ZWAgKG9yIGp1c3QgJ3AnLCBkZXByZWNhdGVkIGluIGZhdm9yIG9mIGBtZXJnZXNgKSwgYWxzbyBwYXNzCitgLS1wcmVzZXJ2ZS1tZXJnZXNgIGFsb25nIHRvICdnaXQgcmViYXNlJyBzbyB0aGF0IGxvY2FsbHkgY29tbWl0dGVkIG1lcmdlCitjb21taXRzIHdpbGwgbm90IGJlIGZsYXR0ZW5lZCBieSBydW5uaW5nICdnaXQgcHVsbCcuCiArCi1XaGVuIHRoZSB2YWx1ZSBpcyBgaW50ZXJhY3RpdmVgLCB0aGUgcmViYXNlIGlzIHJ1biBpbiBpbnRlcmFjdGl2ZSBtb2RlLgorV2hlbiB0aGUgdmFsdWUgaXMgYGludGVyYWN0aXZlYCAob3IganVzdCAnaScpLCB0aGUgcmViYXNlIGlzIHJ1biBpbiBpbnRlcmFjdGl2ZQorbW9kZS4KICsKICpOT1RFKjogdGhpcyBpcyBhIHBvc3NpYmx5IGRhbmdlcm91cyBvcGVyYXRpb247IGRvICpub3QqIHVzZQogaXQgdW5sZXNzIHlvdSB1bmRlcnN0YW5kIHRoZSBpbXBsaWNhdGlvbnMgKHNlZSBsaW5rZ2l0OmdpdC1yZWJhc2VbMV0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vY29uZmlnL2NoZWNrb3V0LnR4dCBiL0RvY3VtZW50YXRpb24vY29uZmlnL2NoZWNrb3V0LnR4dAppbmRleCBjNDExOGZhLi42YjY0NjgxIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9jaGVja291dC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9jb25maWcvY2hlY2tvdXQudHh0CkBAIC0xLDUgKzEsNiBAQAogY2hlY2tvdXQuZGVmYXVsdFJlbW90ZTo6Ci0JV2hlbiB5b3UgcnVuICdnaXQgY2hlY2tvdXQgPHNvbWV0aGluZz4nIGFuZCBvbmx5IGhhdmUgb25lCisJV2hlbiB5b3UgcnVuICdnaXQgY2hlY2tvdXQgPHNvbWV0aGluZz4nCisJb3IgJ2dpdCBzd2l0Y2ggPHNvbWV0aGluZz4nIGFuZCBvbmx5IGhhdmUgb25lCiAJcmVtb3RlLCBpdCBtYXkgaW1wbGljaXRseSBmYWxsIGJhY2sgb24gY2hlY2tpbmcgb3V0IGFuZAogCXRyYWNraW5nIGUuZy4gJ29yaWdpbi88c29tZXRoaW5nPicuIFRoaXMgc3RvcHMgd29ya2luZyBhcyBzb29uCiAJYXMgeW91IGhhdmUgbW9yZSB0aGFuIG9uZSByZW1vdGUgd2l0aCBhICc8c29tZXRoaW5nPicKQEAgLTgsMTYgKzksMTAgQEAKIAlkaXNhbWJpZ3VhdGlvbi4gVGhlIHR5cGljYWwgdXNlLWNhc2UgaXMgdG8gc2V0IHRoaXMgdG8KIAlgb3JpZ2luYC4KICsKLUN1cnJlbnRseSB0aGlzIGlzIHVzZWQgYnkgbGlua2dpdDpnaXQtY2hlY2tvdXRbMV0gd2hlbiAnZ2l0IGNoZWNrb3V0Ci08c29tZXRoaW5nPicgd2lsbCBjaGVja291dCB0aGUgJzxzb21ldGhpbmc+JyBicmFuY2ggb24gYW5vdGhlciByZW1vdGUsCitDdXJyZW50bHkgdGhpcyBpcyB1c2VkIGJ5IGxpbmtnaXQ6Z2l0LXN3aXRjaFsxXSBhbmQKK2xpbmtnaXQ6Z2l0LWNoZWNrb3V0WzFdIHdoZW4gJ2dpdCBjaGVja291dCA8c29tZXRoaW5nPicKK29yICdnaXQgc3dpdGNoIDxzb21ldGhpbmc+Jword2lsbCBjaGVja291dCB0aGUgJzxzb21ldGhpbmc+JyBicmFuY2ggb24gYW5vdGhlciByZW1vdGUsCiBhbmQgYnkgbGlua2dpdDpnaXQtd29ya3RyZWVbMV0gd2hlbiAnZ2l0IHdvcmt0cmVlIGFkZCcgcmVmZXJzIHRvIGEKIHJlbW90ZSBicmFuY2guIFRoaXMgc2V0dGluZyBtaWdodCBiZSB1c2VkIGZvciBvdGhlciBjaGVja291dC1saWtlCiBjb21tYW5kcyBvciBmdW5jdGlvbmFsaXR5IGluIHRoZSBmdXR1cmUuCi0KLWNoZWNrb3V0Lm9wdGltaXplTmV3QnJhbmNoOjoKLQlPcHRpbWl6ZXMgdGhlIHBlcmZvcm1hbmNlIG9mICJnaXQgY2hlY2tvdXQgLWIgPG5ld19icmFuY2g+IiB3aGVuCi0JdXNpbmcgc3BhcnNlLWNoZWNrb3V0LiAgV2hlbiBzZXQgdG8gdHJ1ZSwgZ2l0IHdpbGwgbm90IHVwZGF0ZSB0aGUKLQlyZXBvIGJhc2VkIG9uIHRoZSBjdXJyZW50IHNwYXJzZS1jaGVja291dCBzZXR0aW5ncy4gIFRoaXMgbWVhbnMgaXQKLQl3aWxsIG5vdCB1cGRhdGUgdGhlIHNraXAtd29ya3RyZWUgYml0IGluIHRoZSBpbmRleCBub3IgYWRkL3JlbW92ZQotCWZpbGVzIGluIHRoZSB3b3JraW5nIGRpcmVjdG9yeSB0byByZWZsZWN0IHRoZSBjdXJyZW50IHNwYXJzZSBjaGVja291dAotCXNldHRpbmdzIG5vciB3aWxsIGl0IHNob3cgdGhlIGxvY2FsIGNoYW5nZXMuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9jb2xvci50eHQgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9jb2xvci50eHQKaW5kZXggODM3NTU5Ni4uZDVkYWFjYiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9jb25maWcvY29sb3IudHh0CisrKyBiL0RvY3VtZW50YXRpb24vY29uZmlnL2NvbG9yLnR4dApAQCAtMTQsNyArMTQsNyBAQAogKwogVGhpcyBzZXR0aW5nIHNob3VsZCBiZSBzZXQgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBjb2xvciBhbmQgZGF0ZSBzZXR0aW5ncywKIHN0YXJ0aW5nIGFuZCBlbmRpbmcgd2l0aCBhIGNvbG9yLCB0aGUgZGF0ZXMgc2hvdWxkIGJlIHNldCBmcm9tIG9sZGVzdCB0byBuZXdlc3QuCi1UaGUgbWV0YWRhdGEgd2lsbCBiZSBjb2xvcmVkIGdpdmVuIHRoZSBjb2xvcnMgaWYgdGhlIHRoZSBsaW5lIHdhcyBpbnRyb2R1Y2VkCitUaGUgbWV0YWRhdGEgd2lsbCBiZSBjb2xvcmVkIGdpdmVuIHRoZSBjb2xvcnMgaWYgdGhlIGxpbmUgd2FzIGludHJvZHVjZWQKIGJlZm9yZSB0aGUgZ2l2ZW4gdGltZXN0YW1wLCBvdmVyd3JpdGluZyBvbGRlciB0aW1lc3RhbXBlZCBjb2xvcnMuCiArCiBJbnN0ZWFkIG9mIGFuIGFic29sdXRlIHRpbWVzdGFtcCByZWxhdGl2ZSB0aW1lc3RhbXBzIHdvcmsgYXMgd2VsbCwgZS5nLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcvY29yZS50eHQgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9jb3JlLnR4dAppbmRleCBkMGU2NjM1Li43NDYxOWE5IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9jb3JlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9jb3JlLnR4dApAQCAtNjgsNiArNjgsMTcgQEAKIAlhdm9pZGluZyB1bm5lY2Vzc2FyeSBwcm9jZXNzaW5nIG9mIGZpbGVzIHRoYXQgaGF2ZSBub3QgY2hhbmdlZC4KIAlTZWUgdGhlICJmc21vbml0b3Itd2F0Y2htYW4iIHNlY3Rpb24gb2YgbGlua2dpdDpnaXRob29rc1s1XS4KIAorY29yZS5mc21vbml0b3JIb29rVmVyc2lvbjo6CisJU2V0cyB0aGUgdmVyc2lvbiBvZiBob29rIHRoYXQgaXMgdG8gYmUgdXNlZCB3aGVuIGNhbGxpbmcgZnNtb25pdG9yLgorCVRoZXJlIGFyZSBjdXJyZW50bHkgdmVyc2lvbnMgMSBhbmQgMi4gV2hlbiB0aGlzIGlzIG5vdCBzZXQsCisJdmVyc2lvbiAyIHdpbGwgYmUgdHJpZWQgZmlyc3QgYW5kIGlmIGl0IGZhaWxzIHRoZW4gdmVyc2lvbiAxCisJd2lsbCBiZSB0cmllZC4gVmVyc2lvbiAxIHVzZXMgYSB0aW1lc3RhbXAgYXMgaW5wdXQgdG8gZGV0ZXJtaW5lCisJd2hpY2ggZmlsZXMgaGF2ZSBjaGFuZ2VzIHNpbmNlIHRoYXQgdGltZSBidXQgc29tZSBtb25pdG9ycworCWxpa2Ugd2F0Y2htYW4gaGF2ZSByYWNlIGNvbmRpdGlvbnMgd2hlbiB1c2VkIHdpdGggYSB0aW1lc3RhbXAuCisJVmVyc2lvbiAyIHVzZXMgYW4gb3BhcXVlIHN0cmluZyBzbyB0aGF0IHRoZSBtb25pdG9yIGNhbiByZXR1cm4KKwlzb21ldGhpbmcgdGhhdCBjYW4gYmUgdXNlZCB0byBkZXRlcm1pbmUgd2hhdCBmaWxlcyBoYXZlIGNoYW5nZWQKKwl3aXRob3V0IHJhY2UgY29uZGl0aW9ucy4KKwogY29yZS50cnVzdGN0aW1lOjoKIAlJZiBmYWxzZSwgdGhlIGN0aW1lIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIGluZGV4IGFuZCB0aGUKIAl3b3JraW5nIHRyZWUgYXJlIGlnbm9yZWQ7IHVzZWZ1bCB3aGVuIHRoZSBpbm9kZSBjaGFuZ2UgdGltZQpAQCAtODYsNyArOTcsOSBAQAogCWl0IHdpbGwgYXV0b21hdGljYWxseSBiZSByZW1vdmVkLCBpZiBzZXQgdG8gYGZhbHNlYC4gQmVmb3JlCiAJc2V0dGluZyBpdCB0byBgdHJ1ZWAsIHlvdSBzaG91bGQgY2hlY2sgdGhhdCBtdGltZSBpcyB3b3JraW5nCiAJcHJvcGVybHkgb24geW91ciBzeXN0ZW0uCi0JU2VlIGxpbmtnaXQ6Z2l0LXVwZGF0ZS1pbmRleFsxXS4gYGtlZXBgIGJ5IGRlZmF1bHQuCisJU2VlIGxpbmtnaXQ6Z2l0LXVwZGF0ZS1pbmRleFsxXS4gYGtlZXBgIGJ5IGRlZmF1bHQsIHVubGVzcworCWBmZWF0dXJlLm1hbnlGaWxlc2AgaXMgZW5hYmxlZCB3aGljaCBzZXRzIHRoaXMgc2V0dGluZyB0bworCWB0cnVlYCBieSBkZWZhdWx0LgogCiBjb3JlLmNoZWNrU3RhdDo6CiAJV2hlbiBtaXNzaW5nIG9yIGlzIHNldCB0byBgZGVmYXVsdGAsIG1hbnkgZmllbGRzIGluIHRoZSBzdGF0CkBAIC0xMjEsMTEgKzEzNCwxNCBAQAogCiBjb3JlLmVvbDo6CiAJU2V0cyB0aGUgbGluZSBlbmRpbmcgdHlwZSB0byB1c2UgaW4gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGZvcgotCWZpbGVzIHRoYXQgaGF2ZSB0aGUgYHRleHRgIHByb3BlcnR5IHNldCB3aGVuIGNvcmUuYXV0b2NybGYgaXMgZmFsc2UuCisJZmlsZXMgdGhhdCBhcmUgbWFya2VkIGFzIHRleHQgKGVpdGhlciBieSBoYXZpbmcgdGhlIGB0ZXh0YAorCWF0dHJpYnV0ZSBzZXQsIG9yIGJ5IGhhdmluZyBgdGV4dD1hdXRvYCBhbmQgR2l0IGF1dG8tZGV0ZWN0aW5nCisJdGhlIGNvbnRlbnRzIGFzIHRleHQpLgogCUFsdGVybmF0aXZlcyBhcmUgJ2xmJywgJ2NybGYnIGFuZCAnbmF0aXZlJywgd2hpY2ggdXNlcyB0aGUgcGxhdGZvcm0ncwogCW5hdGl2ZSBsaW5lIGVuZGluZy4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBuYXRpdmVgLiAgU2VlCiAJbGlua2dpdDpnaXRhdHRyaWJ1dGVzWzVdIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGVuZC1vZi1saW5lCi0JY29udmVyc2lvbi4KKwljb252ZXJzaW9uLiBOb3RlIHRoYXQgdGhpcyB2YWx1ZSBpcyBpZ25vcmVkIGlmIGBjb3JlLmF1dG9jcmxmYAorCWlzIHNldCB0byBgdHJ1ZWAgb3IgYGlucHV0YC4KIAogY29yZS5zYWZlY3JsZjo6CiAJSWYgdHJ1ZSwgbWFrZXMgR2l0IGNoZWNrIGlmIGNvbnZlcnRpbmcgYENSTEZgIGlzIHJldmVyc2libGUgd2hlbgpAQCAtNDExLDcgKzQyNyw3IEBACiBjb3JlLmV4Y2x1ZGVzRmlsZTo6CiAJU3BlY2lmaWVzIHRoZSBwYXRobmFtZSB0byB0aGUgZmlsZSB0aGF0IGNvbnRhaW5zIHBhdHRlcm5zIHRvCiAJZGVzY3JpYmUgcGF0aHMgdGhhdCBhcmUgbm90IG1lYW50IHRvIGJlIHRyYWNrZWQsIGluIGFkZGl0aW9uCi0JdG8gJy5naXRpZ25vcmUnIChwZXItZGlyZWN0b3J5KSBhbmQgJy5naXQvaW5mby9leGNsdWRlJy4KKwl0byBgLmdpdGlnbm9yZWAgKHBlci1kaXJlY3RvcnkpIGFuZCBgLmdpdC9pbmZvL2V4Y2x1ZGVgLgogCURlZmF1bHRzIHRvIGAkWERHX0NPTkZJR19IT01FL2dpdC9pZ25vcmVgLgogCUlmIGAkWERHX0NPTkZJR19IT01FYCBpcyBlaXRoZXIgbm90IHNldCBvciBlbXB0eSwgYCRIT01FLy5jb25maWcvZ2l0L2lnbm9yZWAKIAlpcyB1c2VkIGluc3RlYWQuIFNlZSBsaW5rZ2l0OmdpdGlnbm9yZVs1XS4KQEAgLTQyNiw4ICs0NDIsOCBAQAogCWNvbW1hbmQtbGluZSBhcmd1bWVudCBhbmQgd3JpdGUgdGhlIHBhc3N3b3JkIG9uIGl0cyBTVERPVVQuCiAKIGNvcmUuYXR0cmlidXRlc0ZpbGU6OgotCUluIGFkZGl0aW9uIHRvICcuZ2l0YXR0cmlidXRlcycgKHBlci1kaXJlY3RvcnkpIGFuZAotCScuZ2l0L2luZm8vYXR0cmlidXRlcycsIEdpdCBsb29rcyBpbnRvIHRoaXMgZmlsZSBmb3IgYXR0cmlidXRlcworCUluIGFkZGl0aW9uIHRvIGAuZ2l0YXR0cmlidXRlc2AgKHBlci1kaXJlY3RvcnkpIGFuZAorCWAuZ2l0L2luZm8vYXR0cmlidXRlc2AsIEdpdCBsb29rcyBpbnRvIHRoaXMgZmlsZSBmb3IgYXR0cmlidXRlcwogCShzZWUgbGlua2dpdDpnaXRhdHRyaWJ1dGVzWzVdKS4gUGF0aCBleHBhbnNpb25zIGFyZSBtYWRlIHRoZSBzYW1lCiAJd2F5IGFzIGZvciBgY29yZS5leGNsdWRlc0ZpbGVgLiBJdHMgZGVmYXVsdCB2YWx1ZSBpcwogCWAkWERHX0NPTkZJR19IT01FL2dpdC9hdHRyaWJ1dGVzYC4gSWYgYCRYREdfQ09ORklHX0hPTUVgIGlzIGVpdGhlciBub3QKQEAgLTQzNSwxMCArNDUxLDEwIEBACiAKIGNvcmUuaG9va3NQYXRoOjoKIAlCeSBkZWZhdWx0IEdpdCB3aWxsIGxvb2sgZm9yIHlvdXIgaG9va3MgaW4gdGhlCi0JJyRHSVRfRElSL2hvb2tzJyBkaXJlY3RvcnkuIFNldCB0aGlzIHRvIGRpZmZlcmVudCBwYXRoLAotCWUuZy4gJy9ldGMvZ2l0L2hvb2tzJywgYW5kIEdpdCB3aWxsIHRyeSB0byBmaW5kIHlvdXIgaG9va3MgaW4KLQl0aGF0IGRpcmVjdG9yeSwgZS5nLiAnL2V0Yy9naXQvaG9va3MvcHJlLXJlY2VpdmUnIGluc3RlYWQgb2YKLQlpbiAnJEdJVF9ESVIvaG9va3MvcHJlLXJlY2VpdmUnLgorCWAkR0lUX0RJUi9ob29rc2AgZGlyZWN0b3J5LiBTZXQgdGhpcyB0byBkaWZmZXJlbnQgcGF0aCwKKwllLmcuIGAvZXRjL2dpdC9ob29rc2AsIGFuZCBHaXQgd2lsbCB0cnkgdG8gZmluZCB5b3VyIGhvb2tzIGluCisJdGhhdCBkaXJlY3RvcnksIGUuZy4gYC9ldGMvZ2l0L2hvb2tzL3ByZS1yZWNlaXZlYCBpbnN0ZWFkIG9mCisJaW4gYCRHSVRfRElSL2hvb2tzL3ByZS1yZWNlaXZlYC4KICsKIFRoZSBwYXRoIGNhbiBiZSBlaXRoZXIgYWJzb2x1dGUgb3IgcmVsYXRpdmUuIEEgcmVsYXRpdmUgcGF0aCBpcwogdGFrZW4gYXMgcmVsYXRpdmUgdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgaG9va3MgYXJlIHJ1biAoc2VlCkBAIC01NTQsNiArNTcwLDEyIEBACiAJRGVmYXVsdHMgdG8gYFBFUkw1TElCYCB0byBhY2NvdW50IGZvciB0aGUgZmFjdCB0aGF0IEdpdCBmb3IKIAlXaW5kb3dzIGluc2lzdHMgb24gdXNpbmcgaXRzIG93biBQZXJsIGludGVycHJldGVyLgogCitjb3JlLnJlc3RyaWN0aW5oZXJpdGVkaGFuZGxlczo6CisJV2luZG93cy1vbmx5OiBvdmVycmlkZSB3aGV0aGVyIHNwYXduZWQgcHJvY2Vzc2VzIGluaGVyaXQgb25seSBzdGFuZGFyZAorCWZpbGUgaGFuZGxlcyAoYHN0ZGluYCwgYHN0ZG91dGAgYW5kIGBzdGRlcnJgKSBvciBhbGwgaGFuZGxlcy4gQ2FuIGJlCisJYGF1dG9gLCBgdHJ1ZWAgb3IgYGZhbHNlYC4gRGVmYXVsdHMgdG8gYGF1dG9gLCB3aGljaCBtZWFucyBgdHJ1ZWAgb24KKwlXaW5kb3dzIDcgYW5kIGxhdGVyLCBhbmQgYGZhbHNlYCBvbiBvbGRlciBXaW5kb3dzIHZlcnNpb25zLgorCiBjb3JlLmNyZWF0ZU9iamVjdDo6CiAJWW91IGNhbiBzZXQgdGhpcyB0byAnbGluaycsIGluIHdoaWNoIGNhc2UgYSBoYXJkbGluayBmb2xsb3dlZCBieQogCWEgZGVsZXRlIG9mIHRoZSBzb3VyY2UgYXJlIHVzZWQgdG8gbWFrZSBzdXJlIHRoYXQgb2JqZWN0IGNyZWF0aW9uCkBAIC01NzQsNyArNTk2LDcgQEAKIAogY29yZS5jb21taXRHcmFwaDo6CiAJSWYgdHJ1ZSwgdGhlbiBnaXQgd2lsbCByZWFkIHRoZSBjb21taXQtZ3JhcGggZmlsZSAoaWYgaXQgZXhpc3RzKQotCXRvIHBhcnNlIHRoZSBncmFwaCBzdHJ1Y3R1cmUgb2YgY29tbWl0cy4gRGVmYXVsdHMgdG8gZmFsc2UuIFNlZQorCXRvIHBhcnNlIHRoZSBncmFwaCBzdHJ1Y3R1cmUgb2YgY29tbWl0cy4gRGVmYXVsdHMgdG8gdHJ1ZS4gU2VlCiAJbGlua2dpdDpnaXQtY29tbWl0LWdyYXBoWzFdIGZvciBtb3JlIGluZm9ybWF0aW9uLgogCiBjb3JlLnVzZVJlcGxhY2VSZWZzOjoKQEAgLTU4OCw4ICs2MTAsMTQgQEAKIAltdWx0aS1wYWNrLWluZGV4IGRlc2lnbiBkb2N1bWVudF0uCiAKIGNvcmUuc3BhcnNlQ2hlY2tvdXQ6OgotCUVuYWJsZSAic3BhcnNlIGNoZWNrb3V0IiBmZWF0dXJlLiBTZWUgc2VjdGlvbiAiU3BhcnNlIGNoZWNrb3V0IiBpbgotCWxpbmtnaXQ6Z2l0LXJlYWQtdHJlZVsxXSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKwlFbmFibGUgInNwYXJzZSBjaGVja291dCIgZmVhdHVyZS4gU2VlIGxpbmtnaXQ6Z2l0LXNwYXJzZS1jaGVja291dFsxXQorCWZvciBtb3JlIGluZm9ybWF0aW9uLgorCitjb3JlLnNwYXJzZUNoZWNrb3V0Q29uZTo6CisJRW5hYmxlcyB0aGUgImNvbmUgbW9kZSIgb2YgdGhlIHNwYXJzZSBjaGVja291dCBmZWF0dXJlLiBXaGVuIHRoZQorCXNwYXJzZS1jaGVja291dCBmaWxlIGNvbnRhaW5zIGEgbGltaXRlZCBzZXQgb2YgcGF0dGVybnMsIHRoZW4gdGhpcworCW1vZGUgcHJvdmlkZXMgc2lnbmlmaWNhbnQgcGVyZm9ybWFuY2UgYWR2YW50YWdlcy4gU2VlCisJbGlua2dpdDpnaXQtc3BhcnNlLWNoZWNrb3V0WzFdIGZvciBtb3JlIGluZm9ybWF0aW9uLgogCiBjb3JlLmFiYnJldjo6CiAJU2V0IHRoZSBsZW5ndGggb2JqZWN0IG5hbWVzIGFyZSBhYmJyZXZpYXRlZCB0by4gIElmCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9kaWZmLnR4dCBiL0RvY3VtZW50YXRpb24vY29uZmlnL2RpZmYudHh0CmluZGV4IGU0OGJiOTguLmZmMDlmMWMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vY29uZmlnL2RpZmYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vY29uZmlnL2RpZmYudHh0CkBAIC0xMCw3ICsxMCw3IEBACiAKIGRpZmYuZGlyc3RhdDo6CiAJQSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBgLS1kaXJzdGF0YCBwYXJhbWV0ZXJzIHNwZWNpZnlpbmcgdGhlCi0JZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgYC0tZGlyc3RhdGAgb3B0aW9uIHRvIGxpbmtnaXQ6Z2l0LWRpZmZbMV1gCisJZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgYC0tZGlyc3RhdGAgb3B0aW9uIHRvIGxpbmtnaXQ6Z2l0LWRpZmZbMV0KIAlhbmQgZnJpZW5kcy4gVGhlIGRlZmF1bHRzIGNhbiBiZSBvdmVycmlkZGVuIG9uIHRoZSBjb21tYW5kIGxpbmUKIAkodXNpbmcgYC0tZGlyc3RhdD08cGFyYW0xLHBhcmFtMiwuLi4+YCkuIFRoZSBmYWxsYmFjayBkZWZhdWx0cwogCSh3aGVuIG5vdCBjaGFuZ2VkIGJ5IGBkaWZmLmRpcnN0YXRgKSBhcmUgYGNoYW5nZXMsbm9uY3VtdWxhdGl2ZSwzYC4KQEAgLTczLDEyICs3MywxMyBAQAogCWVudmlyb25tZW50IHZhcmlhYmxlLiAgVGhlIGNvbW1hbmQgaXMgY2FsbGVkIHdpdGggcGFyYW1ldGVycwogCWFzIGRlc2NyaWJlZCB1bmRlciAiZ2l0IERpZmZzIiBpbiBsaW5rZ2l0OmdpdFsxXS4gIE5vdGU6IGlmCiAJeW91IHdhbnQgdG8gdXNlIGFuIGV4dGVybmFsIGRpZmYgcHJvZ3JhbSBvbmx5IG9uIGEgc3Vic2V0IG9mCi0JeW91ciBmaWxlcywgeW91CW1pZ2h0IHdhbnQgdG8gdXNlIGxpbmtnaXQ6Z2l0YXR0cmlidXRlc1s1XSBpbnN0ZWFkLgorCXlvdXIgZmlsZXMsIHlvdSBtaWdodCB3YW50IHRvIHVzZSBsaW5rZ2l0OmdpdGF0dHJpYnV0ZXNbNV0gaW5zdGVhZC4KIAogZGlmZi5pZ25vcmVTdWJtb2R1bGVzOjoKIAlTZXRzIHRoZSBkZWZhdWx0IHZhbHVlIG9mIC0taWdub3JlLXN1Ym1vZHVsZXMuIE5vdGUgdGhhdCB0aGlzCiAJYWZmZWN0cyBvbmx5ICdnaXQgZGlmZicgUG9yY2VsYWluLCBhbmQgbm90IGxvd2VyIGxldmVsICdkaWZmJwotCWNvbW1hbmRzIHN1Y2ggYXMgJ2dpdCBkaWZmLWZpbGVzJy4gJ2dpdCBjaGVja291dCcgYWxzbyBob25vcnMKKwljb21tYW5kcyBzdWNoIGFzICdnaXQgZGlmZi1maWxlcycuICdnaXQgY2hlY2tvdXQnCisJYW5kICdnaXQgc3dpdGNoJyBhbHNvIGhvbm9yCiAJdGhpcyBzZXR0aW5nIHdoZW4gcmVwb3J0aW5nIHVuY29tbWl0dGVkIGNoYW5nZXMuIFNldHRpbmcgaXQgdG8KIAknYWxsJyBkaXNhYmxlcyB0aGUgc3VibW9kdWxlIHN1bW1hcnkgbm9ybWFsbHkgc2hvd24gYnkgJ2dpdCBjb21taXQnCiAJYW5kICdnaXQgc3RhdHVzJyB3aGVuIGBzdGF0dXMuc3VibW9kdWxlU3VtbWFyeWAgaXMgc2V0IHVubGVzcyBpdCBpcwpAQCAtMTg4LDcgKzE4OSw3IEBACiBpbmNsdWRlOjouLi9tZXJnZXRvb2xzLWRpZmYudHh0W10KIAogZGlmZi5pbmRlbnRIZXVyaXN0aWM6OgotCVNldCB0aGlzIG9wdGlvbiB0byBgdHJ1ZWAgdG8gZW5hYmxlIGV4cGVyaW1lbnRhbCBoZXVyaXN0aWNzCisJU2V0IHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGUgZGVmYXVsdCBoZXVyaXN0aWNzCiAJdGhhdCBzaGlmdCBkaWZmIGh1bmsgYm91bmRhcmllcyB0byBtYWtlIHBhdGNoZXMgZWFzaWVyIHRvIHJlYWQuCiAKIGRpZmYuYWxnb3JpdGhtOjoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vY29uZmlnL2ZlYXR1cmUudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcvZmVhdHVyZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODc1ZjhjOAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vY29uZmlnL2ZlYXR1cmUudHh0CkBAIC0wLDAgKzEsMzcgQEAKK2ZlYXR1cmUuKjo6CisJVGhlIGNvbmZpZyBzZXR0aW5ncyB0aGF0IHN0YXJ0IHdpdGggYGZlYXR1cmUuYCBtb2RpZnkgdGhlIGRlZmF1bHRzIG9mCisJYSBncm91cCBvZiBvdGhlciBjb25maWcgc2V0dGluZ3MuIFRoZXNlIGdyb3VwcyBhcmUgY3JlYXRlZCBieSB0aGUgR2l0CisJZGV2ZWxvcGVyIGNvbW11bml0eSBhcyByZWNvbW1lbmRlZCBkZWZhdWx0cyBhbmQgYXJlIHN1YmplY3QgdG8gY2hhbmdlLgorCUluIHBhcnRpY3VsYXIsIG5ldyBjb25maWcgb3B0aW9ucyBtYXkgYmUgYWRkZWQgd2l0aCBkaWZmZXJlbnQgZGVmYXVsdHMuCisKK2ZlYXR1cmUuZXhwZXJpbWVudGFsOjoKKwlFbmFibGUgY29uZmlnIG9wdGlvbnMgdGhhdCBhcmUgbmV3IHRvIEdpdCwgYW5kIGFyZSBiZWluZyBjb25zaWRlcmVkIGZvcgorCWZ1dHVyZSBkZWZhdWx0cy4gQ29uZmlnIHNldHRpbmdzIGluY2x1ZGVkIGhlcmUgbWF5IGJlIGFkZGVkIG9yIHJlbW92ZWQKKwl3aXRoIGVhY2ggcmVsZWFzZSwgaW5jbHVkaW5nIG1pbm9yIHZlcnNpb24gdXBkYXRlcy4gVGhlc2Ugc2V0dGluZ3MgbWF5CisJaGF2ZSB1bmludGVuZGVkIGludGVyYWN0aW9ucyBzaW5jZSB0aGV5IGFyZSBzbyBuZXcuIFBsZWFzZSBlbmFibGUgdGhpcworCXNldHRpbmcgaWYgeW91IGFyZSBpbnRlcmVzdGVkIGluIHByb3ZpZGluZyBmZWVkYmFjayBvbiBleHBlcmltZW50YWwKKwlmZWF0dXJlcy4gVGhlIG5ldyBkZWZhdWx0IHZhbHVlcyBhcmU6CisrCisqIGBwYWNrLnVzZVNwYXJzZT10cnVlYCB1c2VzIGEgbmV3IGFsZ29yaXRobSB3aGVuIGNvbnN0cnVjdGluZyBhIHBhY2stZmlsZQord2hpY2ggY2FuIGltcHJvdmUgYGdpdCBwdXNoYCBwZXJmb3JtYW5jZSBpbiByZXBvcyB3aXRoIG1hbnkgZmlsZXMuCisrCisqIGBmZXRjaC5uZWdvdGlhdGlvbkFsZ29yaXRobT1za2lwcGluZ2AgbWF5IGltcHJvdmUgZmV0Y2ggbmVnb3RpYXRpb24gdGltZXMgYnkKK3NraXBwaW5nIG1vcmUgY29tbWl0cyBhdCBhIHRpbWUsIHJlZHVjaW5nIHRoZSBudW1iZXIgb2Ygcm91bmQgdHJpcHMuCisrCisqIGBmZXRjaC53cml0ZUNvbW1pdEdyYXBoPXRydWVgIHdyaXRlcyBhIGNvbW1pdC1ncmFwaCBhZnRlciBldmVyeSBgZ2l0IGZldGNoYAorY29tbWFuZCB0aGF0IGRvd25sb2FkcyBhIHBhY2stZmlsZSBmcm9tIGEgcmVtb3RlLiBVc2luZyB0aGUgYC0tc3BsaXRgIG9wdGlvbiwKK21vc3QgZXhlY3V0aW9ucyB3aWxsIGNyZWF0ZSBhIHZlcnkgc21hbGwgY29tbWl0LWdyYXBoIGZpbGUgb24gdG9wIG9mIHRoZQorZXhpc3RpbmcgY29tbWl0LWdyYXBoIGZpbGUocykuIE9jY2FzaW9uYWxseSwgdGhlc2UgZmlsZXMgd2lsbCBtZXJnZSBhbmQgdGhlCit3cml0ZSBtYXkgdGFrZSBsb25nZXIuIEhhdmluZyBhbiB1cGRhdGVkIGNvbW1pdC1ncmFwaCBmaWxlIGhlbHBzIHBlcmZvcm1hbmNlCitvZiBtYW55IEdpdCBjb21tYW5kcywgaW5jbHVkaW5nIGBnaXQgbWVyZ2UtYmFzZWAsIGBnaXQgcHVzaCAtZmAsIGFuZAorYGdpdCBsb2cgLS1ncmFwaGAuCisKK2ZlYXR1cmUubWFueUZpbGVzOjoKKwlFbmFibGUgY29uZmlnIG9wdGlvbnMgdGhhdCBvcHRpbWl6ZSBmb3IgcmVwb3Mgd2l0aCBtYW55IGZpbGVzIGluIHRoZQorCXdvcmtpbmcgZGlyZWN0b3J5LiBXaXRoIG1hbnkgZmlsZXMsIGNvbW1hbmRzIHN1Y2ggYXMgYGdpdCBzdGF0dXNgIGFuZAorCWBnaXQgY2hlY2tvdXRgIG1heSBiZSBzbG93IGFuZCB0aGVzZSBuZXcgZGVmYXVsdHMgaW1wcm92ZSBwZXJmb3JtYW5jZToKKysKKyogYGluZGV4LnZlcnNpb249NGAgZW5hYmxlcyBwYXRoLXByZWZpeCBjb21wcmVzc2lvbiBpbiB0aGUgaW5kZXguCisrCisqIGBjb3JlLnVudHJhY2tlZENhY2hlPXRydWVgIGVuYWJsZXMgdGhlIHVudHJhY2tlZCBjYWNoZS4gVGhpcyBzZXR0aW5nIGFzc3VtZXMKK3RoYXQgbXRpbWUgaXMgd29ya2luZyBvbiB5b3VyIG1hY2hpbmUuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9mZXRjaC50eHQgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9mZXRjaC50eHQKaW5kZXggY2JmYWQ2Yy4uZjExOTQwMiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9jb25maWcvZmV0Y2gudHh0CisrKyBiL0RvY3VtZW50YXRpb24vY29uZmlnL2ZldGNoLnR4dApAQCAtNTksNyArNTksMzMgQEAKIAllZmZvcnQgdG8gY29udmVyZ2UgZmFzdGVyLCBidXQgbWF5IHJlc3VsdCBpbiBhIGxhcmdlci10aGFuLW5lY2Vzc2FyeQogCXBhY2tmaWxlOyBUaGUgZGVmYXVsdCBpcyAiZGVmYXVsdCIgd2hpY2ggaW5zdHJ1Y3RzIEdpdCB0byB1c2UgdGhlIGRlZmF1bHQgYWxnb3JpdGhtCiAJdGhhdCBuZXZlciBza2lwcyBjb21taXRzICh1bmxlc3MgdGhlIHNlcnZlciBoYXMgYWNrbm93bGVkZ2VkIGl0IG9yIG9uZQotCW9mIGl0cyBkZXNjZW5kYW50cykuCisJb2YgaXRzIGRlc2NlbmRhbnRzKS4gSWYgYGZlYXR1cmUuZXhwZXJpbWVudGFsYCBpcyBlbmFibGVkLCB0aGVuIHRoaXMKKwlzZXR0aW5nIGRlZmF1bHRzIHRvICJza2lwcGluZyIuCiAJVW5rbm93biB2YWx1ZXMgd2lsbCBjYXVzZSAnZ2l0IGZldGNoJyB0byBlcnJvciBvdXQuCiArCiBTZWUgYWxzbyB0aGUgYC0tbmVnb3RpYXRpb24tdGlwYCBvcHRpb24gZm9yIGxpbmtnaXQ6Z2l0LWZldGNoWzFdLgorCitmZXRjaC5zaG93Rm9yY2VkVXBkYXRlczo6CisJU2V0IHRvIGZhbHNlIHRvIGVuYWJsZSBgLS1uby1zaG93LWZvcmNlZC11cGRhdGVzYCBpbgorCWxpbmtnaXQ6Z2l0LWZldGNoWzFdIGFuZCBsaW5rZ2l0OmdpdC1wdWxsWzFdIGNvbW1hbmRzLgorCURlZmF1bHRzIHRvIHRydWUuCisKK2ZldGNoLnBhcmFsbGVsOjoKKwlTcGVjaWZpZXMgdGhlIG1heGltYWwgbnVtYmVyIG9mIGZldGNoIG9wZXJhdGlvbnMgdG8gYmUgcnVuIGluIHBhcmFsbGVsCisJYXQgYSB0aW1lIChzdWJtb2R1bGVzLCBvciByZW1vdGVzIHdoZW4gdGhlIGAtLW11bHRpcGxlYCBvcHRpb24gb2YKKwlsaW5rZ2l0OmdpdC1mZXRjaFsxXSBpcyBpbiBlZmZlY3QpLgorKworQSB2YWx1ZSBvZiAwIHdpbGwgZ2l2ZSBzb21lIHJlYXNvbmFibGUgZGVmYXVsdC4gSWYgdW5zZXQsIGl0IGRlZmF1bHRzIHRvIDEuCisrCitGb3Igc3VibW9kdWxlcywgdGhpcyBzZXR0aW5nIGNhbiBiZSBvdmVycmlkZGVuIHVzaW5nIHRoZSBgc3VibW9kdWxlLmZldGNoSm9ic2AKK2NvbmZpZyBzZXR0aW5nLgorCitmZXRjaC53cml0ZUNvbW1pdEdyYXBoOjoKKwlTZXQgdG8gdHJ1ZSB0byB3cml0ZSBhIGNvbW1pdC1ncmFwaCBhZnRlciBldmVyeSBgZ2l0IGZldGNoYCBjb21tYW5kCisJdGhhdCBkb3dubG9hZHMgYSBwYWNrLWZpbGUgZnJvbSBhIHJlbW90ZS4gVXNpbmcgdGhlIGAtLXNwbGl0YCBvcHRpb24sCisJbW9zdCBleGVjdXRpb25zIHdpbGwgY3JlYXRlIGEgdmVyeSBzbWFsbCBjb21taXQtZ3JhcGggZmlsZSBvbiB0b3Agb2YKKwl0aGUgZXhpc3RpbmcgY29tbWl0LWdyYXBoIGZpbGUocykuIE9jY2FzaW9uYWxseSwgdGhlc2UgZmlsZXMgd2lsbAorCW1lcmdlIGFuZCB0aGUgd3JpdGUgbWF5IHRha2UgbG9uZ2VyLiBIYXZpbmcgYW4gdXBkYXRlZCBjb21taXQtZ3JhcGgKKwlmaWxlIGhlbHBzIHBlcmZvcm1hbmNlIG9mIG1hbnkgR2l0IGNvbW1hbmRzLCBpbmNsdWRpbmcgYGdpdCBtZXJnZS1iYXNlYCwKKwlgZ2l0IHB1c2ggLWZgLCBhbmQgYGdpdCBsb2cgLS1ncmFwaGAuIERlZmF1bHRzIHRvIGZhbHNlLCB1bmxlc3MKKwlgZmVhdHVyZS5leHBlcmltZW50YWxgIGlzIHRydWUuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9mb3JtYXQudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcvZm9ybWF0LnR4dAppbmRleCBkYzc3OTQxLi40NWM3YmQ1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9mb3JtYXQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vY29uZmlnL2Zvcm1hdC50eHQKQEAgLTM2LDYgKzM2LDEyIEBACiAJVGhlIGRlZmF1bHQgZm9yIGZvcm1hdC1wYXRjaCBpcyB0byBvdXRwdXQgZmlsZXMgd2l0aCB0aGUgJ1tQQVRDSF0nCiAJc3ViamVjdCBwcmVmaXguIFVzZSB0aGlzIHZhcmlhYmxlIHRvIGNoYW5nZSB0aGF0IHByZWZpeC4KIAorZm9ybWF0LmNvdmVyRnJvbURlc2NyaXB0aW9uOjoKKwlUaGUgZGVmYXVsdCBtb2RlIGZvciBmb3JtYXQtcGF0Y2ggdG8gZGV0ZXJtaW5lIHdoaWNoIHBhcnRzIG9mCisJdGhlIGNvdmVyIGxldHRlciB3aWxsIGJlIHBvcHVsYXRlZCB1c2luZyB0aGUgYnJhbmNoJ3MKKwlkZXNjcmlwdGlvbi4gU2VlIHRoZSBgLS1jb3Zlci1mcm9tLWRlc2NyaXB0aW9uYCBvcHRpb24gaW4KKwlsaW5rZ2l0OmdpdC1mb3JtYXQtcGF0Y2hbMV0uCisKIGZvcm1hdC5zaWduYXR1cmU6OgogCVRoZSBkZWZhdWx0IGZvciBmb3JtYXQtcGF0Y2ggaXMgdG8gb3V0cHV0IGEgc2lnbmF0dXJlIGNvbnRhaW5pbmcKIAl0aGUgR2l0IHZlcnNpb24gbnVtYmVyLiBVc2UgdGhpcyB2YXJpYWJsZSB0byBjaGFuZ2UgdGhhdCBkZWZhdWx0LgpAQCAtNzcsMTEgKzgzLDQzIEBACiAJQSBib29sZWFuIHRoYXQgY29udHJvbHMgd2hldGhlciB0byBnZW5lcmF0ZSBhIGNvdmVyLWxldHRlciB3aGVuCiAJZm9ybWF0LXBhdGNoIGlzIGludm9rZWQsIGJ1dCBpbiBhZGRpdGlvbiBjYW4gYmUgc2V0IHRvICJhdXRvIiwgdG8KIAlnZW5lcmF0ZSBhIGNvdmVyLWxldHRlciBvbmx5IHdoZW4gdGhlcmUncyBtb3JlIHRoYW4gb25lIHBhdGNoLgorCURlZmF1bHQgaXMgZmFsc2UuCiAKIGZvcm1hdC5vdXRwdXREaXJlY3Rvcnk6OgogCVNldCBhIGN1c3RvbSBkaXJlY3RvcnkgdG8gc3RvcmUgdGhlIHJlc3VsdGluZyBmaWxlcyBpbnN0ZWFkIG9mIHRoZQotCWN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuCisJY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4gQWxsIGRpcmVjdG9yeSBjb21wb25lbnRzIHdpbGwgYmUgY3JlYXRlZC4KIAogZm9ybWF0LnVzZUF1dG9CYXNlOjoKIAlBIGJvb2xlYW4gdmFsdWUgd2hpY2ggbGV0cyB5b3UgZW5hYmxlIHRoZSBgLS1iYXNlPWF1dG9gIG9wdGlvbiBvZgogCWZvcm1hdC1wYXRjaCBieSBkZWZhdWx0LgorCitmb3JtYXQubm90ZXM6OgorCVByb3ZpZGVzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgYC0tbm90ZXNgIG9wdGlvbiB0bworCWZvcm1hdC1wYXRjaC4gQWNjZXB0cyBhIGJvb2xlYW4gdmFsdWUsIG9yIGEgcmVmIHdoaWNoIHNwZWNpZmllcworCXdoZXJlIHRvIGdldCBub3Rlcy4gSWYgZmFsc2UsIGZvcm1hdC1wYXRjaCBkZWZhdWx0cyB0bworCWAtLW5vLW5vdGVzYC4gSWYgdHJ1ZSwgZm9ybWF0LXBhdGNoIGRlZmF1bHRzIHRvIGAtLW5vdGVzYC4gSWYKKwlzZXQgdG8gYSBub24tYm9vbGVhbiB2YWx1ZSwgZm9ybWF0LXBhdGNoIGRlZmF1bHRzIHRvCisJYC0tbm90ZXM9PHJlZj5gLCB3aGVyZSBgcmVmYCBpcyB0aGUgbm9uLWJvb2xlYW4gdmFsdWUuIERlZmF1bHRzCisJdG8gZmFsc2UuCisrCitJZiBvbmUgd2lzaGVzIHRvIHVzZSB0aGUgcmVmIGByZWYvbm90ZXMvdHJ1ZWAsIHBsZWFzZSB1c2UgdGhhdCBsaXRlcmFsCitpbnN0ZWFkLgorKworVGhpcyBjb25maWd1cmF0aW9uIGNhbiBiZSBzcGVjaWZpZWQgbXVsdGlwbGUgdGltZXMgaW4gb3JkZXIgdG8gYWxsb3cKK211bHRpcGxlIG5vdGVzIHJlZnMgdG8gYmUgaW5jbHVkZWQuIEluIHRoYXQgY2FzZSwgaXQgd2lsbCBiZWhhdmUKK3NpbWlsYXJseSB0byBtdWx0aXBsZSBgLS1bbm8tXW5vdGVzWz1dYCBvcHRpb25zIHBhc3NlZCBpbi4gVGhhdCBpcywgYQordmFsdWUgb2YgYHRydWVgIHdpbGwgc2hvdyB0aGUgZGVmYXVsdCBub3RlcywgYSB2YWx1ZSBvZiBgPHJlZj5gIHdpbGwKK2Fsc28gc2hvdyBub3RlcyBmcm9tIHRoYXQgbm90ZXMgcmVmIGFuZCBhIHZhbHVlIG9mIGBmYWxzZWAgd2lsbCBuZWdhdGUKK3ByZXZpb3VzIGNvbmZpZ3VyYXRpb25zIGFuZCBub3Qgc2hvdyBub3Rlcy4KKysKK0ZvciBleGFtcGxlLAorKworLS0tLS0tLS0tLS0tCitbZm9ybWF0XQorCW5vdGVzID0gdHJ1ZQorCW5vdGVzID0gZm9vCisJbm90ZXMgPSBmYWxzZQorCW5vdGVzID0gYmFyCistLS0tLS0tLS0tLS0KKysKK3dpbGwgb25seSBzaG93IG5vdGVzIGZyb20gYHJlZnMvbm90ZXMvYmFyYC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vY29uZmlnL2ZzY2sudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcvZnNjay50eHQKaW5kZXggODc5YzVhMi4uNDUwZThjMyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9jb25maWcvZnNjay50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9jb25maWcvZnNjay50eHQKQEAgLTIzLDkgKzIzLDkgQEAKIHZpY2UgdmVyc2EgYnkgY29uZmlndXJpbmcgdGhlIGBmc2NrLjxtc2ctaWQ+YCBzZXR0aW5nIHdoZXJlIHRoZQogYDxtc2ctaWQ+YCBpcyB0aGUgZnNjayBtZXNzYWdlIElEIGFuZCB0aGUgdmFsdWUgaXMgb25lIG9mIGBlcnJvcmAsCiBgd2FybmAgb3IgYGlnbm9yZWAuIEZvciBjb252ZW5pZW5jZSwgZnNjayBwcmVmaXhlcyB0aGUgZXJyb3Ivd2FybmluZwotd2l0aCB0aGUgbWVzc2FnZSBJRCwgZS5nLiAibWlzc2luZ0VtYWlsOiBpbnZhbGlkIGF1dGhvci9jb21taXR0ZXIgbGluZQotLSBtaXNzaW5nIGVtYWlsIiBtZWFucyB0aGF0IHNldHRpbmcgYGZzY2subWlzc2luZ0VtYWlsID0gaWdub3JlYCB3aWxsCi1oaWRlIHRoYXQgaXNzdWUuCit3aXRoIHRoZSBtZXNzYWdlIElELCBlLmcuICJtaXNzaW5nRW1haWw6IGludmFsaWQgYXV0aG9yL2NvbW1pdHRlcgorbGluZSAtIG1pc3NpbmcgZW1haWwiIG1lYW5zIHRoYXQgc2V0dGluZyBgZnNjay5taXNzaW5nRW1haWwgPSBpZ25vcmVgCit3aWxsIGhpZGUgdGhhdCBpc3N1ZS4KICsKIEluIGdlbmVyYWwsIGl0IGlzIGJldHRlciB0byBlbnVtZXJhdGUgZXhpc3Rpbmcgb2JqZWN0cyB3aXRoIHByb2JsZW1zCiB3aXRoIGBmc2NrLnNraXBMaXN0YCwgaW5zdGVhZCBvZiBsaXN0aW5nIHRoZSBraW5kIG9mIGJyZWFrYWdlcyB0aGVzZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcvZ2MudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcvZ2MudHh0CmluZGV4IGM2ZmJiOGEuLjAwZWEwYTYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vY29uZmlnL2djLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9nYy50eHQKQEAgLTEsMjUgKzEsNDIgQEAKIGdjLmFnZ3Jlc3NpdmVEZXB0aDo6CiAJVGhlIGRlcHRoIHBhcmFtZXRlciB1c2VkIGluIHRoZSBkZWx0YSBjb21wcmVzc2lvbgogCWFsZ29yaXRobSB1c2VkIGJ5ICdnaXQgZ2MgLS1hZ2dyZXNzaXZlJy4gIFRoaXMgZGVmYXVsdHMKLQl0byA1MC4KKwl0byA1MCwgd2hpY2ggaXMgdGhlIGRlZmF1bHQgZm9yIHRoZSBgLS1kZXB0aGAgb3B0aW9uIHdoZW4KKwlgLS1hZ2dyZXNzaXZlYCBpc24ndCBpbiB1c2UuCisrCitTZWUgdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgLS1kZXB0aGAgb3B0aW9uIGluCitsaW5rZ2l0OmdpdC1yZXBhY2tbMV0gZm9yIG1vcmUgZGV0YWlscy4KIAogZ2MuYWdncmVzc2l2ZVdpbmRvdzo6CiAJVGhlIHdpbmRvdyBzaXplIHBhcmFtZXRlciB1c2VkIGluIHRoZSBkZWx0YSBjb21wcmVzc2lvbgogCWFsZ29yaXRobSB1c2VkIGJ5ICdnaXQgZ2MgLS1hZ2dyZXNzaXZlJy4gIFRoaXMgZGVmYXVsdHMKLQl0byAyNTAuCisJdG8gMjUwLCB3aGljaCBpcyBhIG11Y2ggbW9yZSBhZ2dyZXNzaXZlIHdpbmRvdyBzaXplIHRoYW4KKwl0aGUgZGVmYXVsdCBgLS13aW5kb3dgIG9mIDEwLgorKworU2VlIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYC0td2luZG93YCBvcHRpb24gaW4KK2xpbmtnaXQ6Z2l0LXJlcGFja1sxXSBmb3IgbW9yZSBkZXRhaWxzLgogCiBnYy5hdXRvOjoKIAlXaGVuIHRoZXJlIGFyZSBhcHByb3hpbWF0ZWx5IG1vcmUgdGhhbiB0aGlzIG1hbnkgbG9vc2UKIAlvYmplY3RzIGluIHRoZSByZXBvc2l0b3J5LCBgZ2l0IGdjIC0tYXV0b2Agd2lsbCBwYWNrIHRoZW0uCiAJU29tZSBQb3JjZWxhaW4gY29tbWFuZHMgdXNlIHRoaXMgY29tbWFuZCB0byBwZXJmb3JtIGEKIAlsaWdodC13ZWlnaHQgZ2FyYmFnZSBjb2xsZWN0aW9uIGZyb20gdGltZSB0byB0aW1lLiAgVGhlCi0JZGVmYXVsdCB2YWx1ZSBpcyA2NzAwLiAgU2V0dGluZyB0aGlzIHRvIDAgZGlzYWJsZXMgaXQuCisJZGVmYXVsdCB2YWx1ZSBpcyA2NzAwLgorKworU2V0dGluZyB0aGlzIHRvIDAgZGlzYWJsZXMgbm90IG9ubHkgYXV0b21hdGljIHBhY2tpbmcgYmFzZWQgb24gdGhlCitudW1iZXIgb2YgbG9vc2Ugb2JqZWN0cywgYnV0IGFueSBvdGhlciBoZXVyaXN0aWMgYGdpdCBnYyAtLWF1dG9gIHdpbGwKK290aGVyd2lzZSB1c2UgdG8gZGV0ZXJtaW5lIGlmIHRoZXJlJ3Mgd29yayB0byBkbywgc3VjaCBhcworYGdjLmF1dG9QYWNrTGltaXRgLgogCiBnYy5hdXRvUGFja0xpbWl0OjoKIAlXaGVuIHRoZXJlIGFyZSBtb3JlIHRoYW4gdGhpcyBtYW55IHBhY2tzIHRoYXQgYXJlIG5vdAogCW1hcmtlZCB3aXRoIGAqLmtlZXBgIGZpbGUgaW4gdGhlIHJlcG9zaXRvcnksIGBnaXQgZ2MKIAktLWF1dG9gIGNvbnNvbGlkYXRlcyB0aGVtIGludG8gb25lIGxhcmdlciBwYWNrLiAgVGhlCi0JZGVmYXVsdAl2YWx1ZSBpcyA1MC4gIFNldHRpbmcgdGhpcyB0byAwIGRpc2FibGVzIGl0LgorCWRlZmF1bHQgdmFsdWUgaXMgNTAuICBTZXR0aW5nIHRoaXMgdG8gMCBkaXNhYmxlcyBpdC4KKwlTZXR0aW5nIGBnYy5hdXRvYCB0byAwIHdpbGwgYWxzbyBkaXNhYmxlIHRoaXMuCisrCitTZWUgdGhlIGBnYy5iaWdQYWNrVGhyZXNob2xkYCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGJlbG93LiBXaGVuIGluCit1c2UsIGl0J2xsIGFmZmVjdCBob3cgdGhlIGF1dG8gcGFjayBsaW1pdCB3b3Jrcy4KIAogZ2MuYXV0b0RldGFjaDo6CiAJTWFrZSBgZ2l0IGdjIC0tYXV0b2AgcmV0dXJuIGltbWVkaWF0ZWx5IGFuZCBydW4gaW4gYmFja2dyb3VuZApAQCAtMzYsMTIgKzUzLDE3IEBACiB0aGlzIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgaXMgaWdub3JlZCwgYWxsIHBhY2tzIGV4Y2VwdCB0aGUgYmFzZSBwYWNrCiB3aWxsIGJlIHJlcGFja2VkLiBBZnRlciB0aGlzIHRoZSBudW1iZXIgb2YgcGFja3Mgc2hvdWxkIGdvIGJlbG93CiBnYy5hdXRvUGFja0xpbWl0IGFuZCBnYy5iaWdQYWNrVGhyZXNob2xkIHNob3VsZCBiZSByZXNwZWN0ZWQgYWdhaW4uCisrCitJZiB0aGUgYW1vdW50IG9mIG1lbW9yeSBlc3RpbWF0ZWQgZm9yIGBnaXQgcmVwYWNrYCB0byBydW4gc21vb3RobHkgaXMKK25vdCBhdmFpbGFibGUgYW5kIGBnYy5iaWdQYWNrVGhyZXNob2xkYCBpcyBub3Qgc2V0LCB0aGUgbGFyZ2VzdCBwYWNrCit3aWxsIGFsc28gYmUgZXhjbHVkZWQgKHRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgcnVubmluZyBgZ2l0IGdjYCB3aXRoCitgLS1rZWVwLWJhc2UtcGFja2ApLgogCiBnYy53cml0ZUNvbW1pdEdyYXBoOjoKIAlJZiB0cnVlLCB0aGVuIGdjIHdpbGwgcmV3cml0ZSB0aGUgY29tbWl0LWdyYXBoIGZpbGUgd2hlbgotCWxpbmtnaXQ6Z2l0LWdjWzFdIGlzIHJ1bi4gV2hlbiB1c2luZyBsaW5rZ2l0OmdpdC1nY1sxXQotCSctLWF1dG8nIHRoZSBjb21taXQtZ3JhcGggd2lsbCBiZSB1cGRhdGVkIGlmIGhvdXNla2VlcGluZyBpcwotCXJlcXVpcmVkLiBEZWZhdWx0IGlzIGZhbHNlLiBTZWUgbGlua2dpdDpnaXQtY29tbWl0LWdyYXBoWzFdCisJbGlua2dpdDpnaXQtZ2NbMV0gaXMgcnVuLiBXaGVuIHVzaW5nIGBnaXQgZ2MgLS1hdXRvYAorCXRoZSBjb21taXQtZ3JhcGggd2lsbCBiZSB1cGRhdGVkIGlmIGhvdXNla2VlcGluZyBpcworCXJlcXVpcmVkLiBEZWZhdWx0IGlzIHRydWUuIFNlZSBsaW5rZ2l0OmdpdC1jb21taXQtZ3JhcGhbMV0KIAlmb3IgZGV0YWlscy4KIAogZ2MubG9nRXhwaXJ5OjoKQEAgLTk0LDYgKzExNiwxMiBAQAogCVdpdGggIjxwYXR0ZXJuPiIgKGUuZy4gInJlZnMvc3Rhc2giKQogCWluIHRoZSBtaWRkbGUsIHRoZSBzZXR0aW5nIGFwcGxpZXMgb25seSB0byB0aGUgcmVmcyB0aGF0CiAJbWF0Y2ggdGhlIDxwYXR0ZXJuPi4KKysKK1RoZXNlIHR5cGVzIG9mIGVudHJpZXMgYXJlIGdlbmVyYWxseSBjcmVhdGVkIGFzIGEgcmVzdWx0IG9mIHVzaW5nIGBnaXQKK2NvbW1pdCAtLWFtZW5kYCBvciBgZ2l0IHJlYmFzZWAgYW5kIGFyZSB0aGUgY29tbWl0cyBwcmlvciB0byB0aGUgYW1lbmQKK29yIHJlYmFzZSBvY2N1cnJpbmcuICBTaW5jZSB0aGVzZSBjaGFuZ2VzIGFyZSBub3QgcGFydCBvZiB0aGUgY3VycmVudAorcHJvamVjdCBtb3N0IHVzZXJzIHdpbGwgd2FudCB0byBleHBpcmUgdGhlbSBzb29uZXIsIHdoaWNoIGlzIHdoeSB0aGUKK2RlZmF1bHQgaXMgbW9yZSBhZ2dyZXNzaXZlIHRoYW4gYGdjLnJlZmxvZ0V4cGlyZWAuCiAKIGdjLnJlcmVyZVJlc29sdmVkOjoKIAlSZWNvcmRzIG9mIGNvbmZsaWN0ZWQgbWVyZ2UgeW91IHJlc29sdmVkIGVhcmxpZXIgYXJlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9ncGcudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcvZ3BnLnR4dAppbmRleCA1OTBmZTBkLi5kOTQwMjVjIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9ncGcudHh0CisrKyBiL0RvY3VtZW50YXRpb24vY29uZmlnL2dwZy50eHQKQEAgLTIsNyArMiw3IEBACiAJVXNlIHRoaXMgY3VzdG9tIHByb2dyYW0gaW5zdGVhZCBvZiAiYGdwZ2AiIGZvdW5kIG9uIGAkUEFUSGAgd2hlbgogCW1ha2luZyBvciB2ZXJpZnlpbmcgYSBQR1Agc2lnbmF0dXJlLiBUaGUgcHJvZ3JhbSBtdXN0IHN1cHBvcnQgdGhlCiAJc2FtZSBjb21tYW5kLWxpbmUgaW50ZXJmYWNlIGFzIEdQRywgbmFtZWx5LCB0byB2ZXJpZnkgYSBkZXRhY2hlZAotCXNpZ25hdHVyZSwgImBncGcgLS12ZXJpZnkgJGZpbGUgLSA8JHNpZ25hdHVyZWAiIGlzIHJ1biwgYW5kIHRoZQorCXNpZ25hdHVyZSwgImBncGcgLS12ZXJpZnkgJHNpZ25hdHVyZSAtIDwkZmlsZWAiIGlzIHJ1biwgYW5kIHRoZQogCXByb2dyYW0gaXMgZXhwZWN0ZWQgdG8gc2lnbmFsIGEgZ29vZCBzaWduYXR1cmUgYnkgZXhpdGluZyB3aXRoCiAJY29kZSAwLCBhbmQgdG8gZ2VuZXJhdGUgYW4gQVNDSUktYXJtb3JlZCBkZXRhY2hlZCBzaWduYXR1cmUsIHRoZQogCXN0YW5kYXJkIGlucHV0IG9mICJgZ3BnIC1ic2F1ICRrZXlgIiBpcyBmZWQgd2l0aCB0aGUgY29udGVudHMgdG8gYmUKQEAgLTE2LDUgKzE2LDIwIEBACiBncGcuPGZvcm1hdD4ucHJvZ3JhbTo6CiAJVXNlIHRoaXMgdG8gY3VzdG9taXplIHRoZSBwcm9ncmFtIHVzZWQgZm9yIHRoZSBzaWduaW5nIGZvcm1hdCB5b3UKIAljaG9zZS4gKHNlZSBgZ3BnLnByb2dyYW1gIGFuZCBgZ3BnLmZvcm1hdGApIGBncGcucHJvZ3JhbWAgY2FuIHN0aWxsCi0JYmUgdXNlZCBhcyBhIGxlZ2FjeSBzeW5vbnltIGZvcglgZ3BnLm9wZW5wZ3AucHJvZ3JhbWAuIFRoZSBkZWZhdWx0CisJYmUgdXNlZCBhcyBhIGxlZ2FjeSBzeW5vbnltIGZvciBgZ3BnLm9wZW5wZ3AucHJvZ3JhbWAuIFRoZSBkZWZhdWx0CiAJdmFsdWUgZm9yIGBncGcueDUwOS5wcm9ncmFtYCBpcyAiZ3Bnc20iLgorCitncGcubWluVHJ1c3RMZXZlbDo6CisJU3BlY2lmaWVzIGEgbWluaW11bSB0cnVzdCBsZXZlbCBmb3Igc2lnbmF0dXJlIHZlcmlmaWNhdGlvbi4gIElmCisJdGhpcyBvcHRpb24gaXMgdW5zZXQsIHRoZW4gc2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBmb3IgbWVyZ2UKKwlvcGVyYXRpb25zIHJlcXVpcmUgYSBrZXkgd2l0aCBhdCBsZWFzdCBgbWFyZ2luYWxgIHRydXN0LiAgT3RoZXIKKwlvcGVyYXRpb25zIHRoYXQgcGVyZm9ybSBzaWduYXR1cmUgdmVyaWZpY2F0aW9uIHJlcXVpcmUgYSBrZXkKKwl3aXRoIGF0IGxlYXN0IGB1bmRlZmluZWRgIHRydXN0LiAgU2V0dGluZyB0aGlzIG9wdGlvbiBvdmVycmlkZXMKKwl0aGUgcmVxdWlyZWQgdHJ1c3QtbGV2ZWwgZm9yIGFsbCBvcGVyYXRpb25zLiAgU3VwcG9ydGVkIHZhbHVlcywKKwlpbiBpbmNyZWFzaW5nIG9yZGVyIG9mIHNpZ25pZmljYW5jZToKKysKKyogYHVuZGVmaW5lZGAKKyogYG5ldmVyYAorKiBgbWFyZ2luYWxgCisqIGBmdWxseWAKKyogYHVsdGltYXRlYApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcvaHR0cC50eHQgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9odHRwLnR4dAppbmRleCBhNTZkODQ4Li5lODA2MDMzIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9odHRwLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9odHRwLnR4dApAQCAtNjgsNiArNjgsMTUgQEAKIAlJZiBzZXQsIHN0b3JlIGNvb2tpZXMgcmVjZWl2ZWQgZHVyaW5nIHJlcXVlc3RzIHRvIHRoZSBmaWxlIHNwZWNpZmllZCBieQogCWh0dHAuY29va2llRmlsZS4gSGFzIG5vIGVmZmVjdCBpZiBodHRwLmNvb2tpZUZpbGUgaXMgdW5zZXQuCiAKK2h0dHAudmVyc2lvbjo6CisJVXNlIHRoZSBzcGVjaWZpZWQgSFRUUCBwcm90b2NvbCB2ZXJzaW9uIHdoZW4gY29tbXVuaWNhdGluZyB3aXRoIGEgc2VydmVyLgorCUlmIHlvdSB3YW50IHRvIGZvcmNlIHRoZSBkZWZhdWx0LiBUaGUgYXZhaWxhYmxlIGFuZCBkZWZhdWx0IHZlcnNpb24gZGVwZW5kCisJb24gbGliY3VybC4gQ3VycmVudGx5IHRoZSBwb3NzaWJsZSB2YWx1ZXMgb2YKKwl0aGlzIG9wdGlvbiBhcmU6CisKKwktIEhUVFAvMgorCS0gSFRUUC8xLjEKKwogaHR0cC5zc2xWZXJzaW9uOjoKIAlUaGUgU1NMIHZlcnNpb24gdG8gdXNlIHdoZW4gbmVnb3RpYXRpbmcgYW4gU1NMIGNvbm5lY3Rpb24sIGlmIHlvdQogCXdhbnQgdG8gZm9yY2UgdGhlIGRlZmF1bHQuICBUaGUgYXZhaWxhYmxlIGFuZCBkZWZhdWx0IHZlcnNpb24KQEAgLTc1LDcgKzg0LDcgQEAKIAlwYXJ0aWN1bGFyIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGNyeXB0byBsaWJyYXJ5IGluIHVzZS4gSW50ZXJuYWxseQogCXRoaXMgc2V0cyB0aGUgJ0NVUkxPUFRfU1NMX1ZFUlNJT04nIG9wdGlvbjsgc2VlIHRoZSBsaWJjdXJsCiAJZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBkZXRhaWxzIG9uIHRoZSBmb3JtYXQgb2YgdGhpcyBvcHRpb24gYW5kCi0JZm9yIHRoZSBzc2wgdmVyc2lvbiBzdXBwb3J0ZWQuIEFjdHVhbGx5IHRoZSBwb3NzaWJsZSB2YWx1ZXMgb2YKKwlmb3IgdGhlIHNzbCB2ZXJzaW9uIHN1cHBvcnRlZC4gQ3VycmVudGx5IHRoZSBwb3NzaWJsZSB2YWx1ZXMgb2YKIAl0aGlzIG9wdGlvbiBhcmU6CiAKIAktIHNzbHYyCkBAIC0xOTAsNiArMTk5LDE0IEBACiAJVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWQgaXMgdXNlZCB0byBhdm9pZCBjcmVhdGluZyBhCiAJbWFzc2l2ZSBwYWNrIGZpbGUgbG9jYWxseS4gIERlZmF1bHQgaXMgMSBNaUIsIHdoaWNoIGlzCiAJc3VmZmljaWVudCBmb3IgbW9zdCByZXF1ZXN0cy4KKysKK05vdGUgdGhhdCByYWlzaW5nIHRoaXMgbGltaXQgaXMgb25seSBlZmZlY3RpdmUgZm9yIGRpc2FibGluZyBjaHVua2VkCit0cmFuc2ZlciBlbmNvZGluZyBhbmQgdGhlcmVmb3JlIHNob3VsZCBiZSB1c2VkIG9ubHkgd2hlcmUgdGhlIHJlbW90ZQorc2VydmVyIG9yIGEgcHJveHkgb25seSBzdXBwb3J0cyBIVFRQLzEuMCBvciBpcyBub25jb21wbGlhbnQgd2l0aCB0aGUKK0hUVFAgc3RhbmRhcmQuICBSYWlzaW5nIHRoaXMgaXMgbm90LCBpbiBnZW5lcmFsLCBhbiBlZmZlY3RpdmUgc29sdXRpb24KK2ZvciBtb3N0IHB1c2ggcHJvYmxlbXMsIGJ1dCBjYW4gaW5jcmVhc2UgbWVtb3J5IGNvbnN1bXB0aW9uCitzaWduaWZpY2FudGx5IHNpbmNlIHRoZSBlbnRpcmUgYnVmZmVyIGlzIGFsbG9jYXRlZCBldmVuIGZvciBzbWFsbAorcHVzaGVzLgogCiBodHRwLmxvd1NwZWVkTGltaXQsIGh0dHAubG93U3BlZWRUaW1lOjoKIAlJZiB0aGUgSFRUUCB0cmFuc2ZlciBzcGVlZCBpcyBsZXNzIHRoYW4gJ2h0dHAubG93U3BlZWRMaW1pdCcKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vY29uZmlnL2luZGV4LnR4dCBiL0RvY3VtZW50YXRpb24vY29uZmlnL2luZGV4LnR4dAppbmRleCBmMTgxNTAzLi43Y2I1MGIzIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9pbmRleC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9jb25maWcvaW5kZXgudHh0CkBAIC0yNCwzICsyNCw0IEBACiBpbmRleC52ZXJzaW9uOjoKIAlTcGVjaWZ5IHRoZSB2ZXJzaW9uIHdpdGggd2hpY2ggbmV3IGluZGV4IGZpbGVzIHNob3VsZCBiZQogCWluaXRpYWxpemVkLiAgVGhpcyBkb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgcmVwb3NpdG9yaWVzLgorCUlmIGBmZWF0dXJlLm1hbnlGaWxlc2AgaXMgZW5hYmxlZCwgdGhlbiB0aGUgZGVmYXVsdCBpcyA0LgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcvaW50ZXJhY3RpdmUudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcvaW50ZXJhY3RpdmUudHh0CmluZGV4IGFkODQ2ZGQuLmEyZDNjN2UgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vY29uZmlnL2ludGVyYWN0aXZlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9pbnRlcmFjdGl2ZS50eHQKQEAgLTIsNyArMiw4IEBACiAJSW4gaW50ZXJhY3RpdmUgY29tbWFuZHMsIGFsbG93IHRoZSB1c2VyIHRvIHByb3ZpZGUgb25lLWxldHRlcgogCWlucHV0IHdpdGggYSBzaW5nbGUga2V5IChpLmUuLCB3aXRob3V0IGhpdHRpbmcgZW50ZXIpLgogCUN1cnJlbnRseSB0aGlzIGlzIHVzZWQgYnkgdGhlIGAtLXBhdGNoYCBtb2RlIG9mCi0JbGlua2dpdDpnaXQtYWRkWzFdLCBsaW5rZ2l0OmdpdC1jaGVja291dFsxXSwgbGlua2dpdDpnaXQtY29tbWl0WzFdLAorCWxpbmtnaXQ6Z2l0LWFkZFsxXSwgbGlua2dpdDpnaXQtY2hlY2tvdXRbMV0sCisJbGlua2dpdDpnaXQtcmVzdG9yZVsxXSwgbGlua2dpdDpnaXQtY29tbWl0WzFdLAogCWxpbmtnaXQ6Z2l0LXJlc2V0WzFdLCBhbmQgbGlua2dpdDpnaXQtc3Rhc2hbMV0uIE5vdGUgdGhhdCB0aGlzCiAJc2V0dGluZyBpcyBzaWxlbnRseSBpZ25vcmVkIGlmIHBvcnRhYmxlIGtleXN0cm9rZSBpbnB1dAogCWlzIG5vdCBhdmFpbGFibGU7IHJlcXVpcmVzIHRoZSBQZXJsIG1vZHVsZSBUZXJtOjpSZWFkS2V5LgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcvbG9nLnR4dCBiL0RvY3VtZW50YXRpb24vY29uZmlnL2xvZy50eHQKaW5kZXggNzhkOWU0NC4uZTllMWUzOSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9jb25maWcvbG9nLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9sb2cudHh0CkBAIC00MCw0ICs0MCw1IEBACiAKIGxvZy5tYWlsbWFwOjoKIAlJZiB0cnVlLCBtYWtlcyBsaW5rZ2l0OmdpdC1sb2dbMV0sIGxpbmtnaXQ6Z2l0LXNob3dbMV0sIGFuZAotCWxpbmtnaXQ6Z2l0LXdoYXRjaGFuZ2VkWzFdIGFzc3VtZSBgLS11c2UtbWFpbG1hcGAuCisJbGlua2dpdDpnaXQtd2hhdGNoYW5nZWRbMV0gYXNzdW1lIGAtLXVzZS1tYWlsbWFwYCwgb3RoZXJ3aXNlCisJYXNzdW1lIGAtLW5vLXVzZS1tYWlsbWFwYC4gVHJ1ZSBieSBkZWZhdWx0LgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcvbWVyZ2UudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcvbWVyZ2UudHh0CmluZGV4IGQzODljNzMuLjZhMzEzOTMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vY29uZmlnL21lcmdlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9tZXJnZS50eHQKQEAgLTM5LDkgKzM5LDIyIEBACiAJaXMgdHVybmVkIG9mZi4KIAogbWVyZ2UucmVuYW1lczo6Ci0JV2hldGhlciBhbmQgaG93IEdpdCBkZXRlY3RzIHJlbmFtZXMuICBJZiBzZXQgdG8gImZhbHNlIiwKLQlyZW5hbWUgZGV0ZWN0aW9uIGlzIGRpc2FibGVkLiBJZiBzZXQgdG8gInRydWUiLCBiYXNpYyByZW5hbWUKLQlkZXRlY3Rpb24gaXMgZW5hYmxlZC4gIERlZmF1bHRzIHRvIHRoZSB2YWx1ZSBvZiBkaWZmLnJlbmFtZXMuCisJV2hldGhlciBHaXQgZGV0ZWN0cyByZW5hbWVzLiAgSWYgc2V0IHRvICJmYWxzZSIsIHJlbmFtZSBkZXRlY3Rpb24KKwlpcyBkaXNhYmxlZC4gSWYgc2V0IHRvICJ0cnVlIiwgYmFzaWMgcmVuYW1lIGRldGVjdGlvbiBpcyBlbmFibGVkLgorCURlZmF1bHRzIHRvIHRoZSB2YWx1ZSBvZiBkaWZmLnJlbmFtZXMuCisKK21lcmdlLmRpcmVjdG9yeVJlbmFtZXM6OgorCVdoZXRoZXIgR2l0IGRldGVjdHMgZGlyZWN0b3J5IHJlbmFtZXMsIGFmZmVjdGluZyB3aGF0IGhhcHBlbnMgYXQKKwltZXJnZSB0aW1lIHRvIG5ldyBmaWxlcyBhZGRlZCB0byBhIGRpcmVjdG9yeSBvbiBvbmUgc2lkZSBvZgorCWhpc3Rvcnkgd2hlbiB0aGF0IGRpcmVjdG9yeSB3YXMgcmVuYW1lZCBvbiB0aGUgb3RoZXIgc2lkZSBvZgorCWhpc3RvcnkuICBJZiBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzIGlzIHNldCB0byAiZmFsc2UiLCBkaXJlY3RvcnkKKwlyZW5hbWUgZGV0ZWN0aW9uIGlzIGRpc2FibGVkLCBtZWFuaW5nIHRoYXQgc3VjaCBuZXcgZmlsZXMgd2lsbCBiZQorCWxlZnQgYmVoaW5kIGluIHRoZSBvbGQgZGlyZWN0b3J5LiAgSWYgc2V0IHRvICJ0cnVlIiwgZGlyZWN0b3J5CisJcmVuYW1lIGRldGVjdGlvbiBpcyBlbmFibGVkLCBtZWFuaW5nIHRoYXQgc3VjaCBuZXcgZmlsZXMgd2lsbCBiZQorCW1vdmVkIGludG8gdGhlIG5ldyBkaXJlY3RvcnkuICBJZiBzZXQgdG8gImNvbmZsaWN0IiwgYSBjb25mbGljdAorCXdpbGwgYmUgcmVwb3J0ZWQgZm9yIHN1Y2ggcGF0aHMuICBJZiBtZXJnZS5yZW5hbWVzIGlzIGZhbHNlLAorCW1lcmdlLmRpcmVjdG9yeVJlbmFtZXMgaXMgaWdub3JlZCBhbmQgdHJlYXRlZCBhcyBmYWxzZS4gIERlZmF1bHRzCisJdG8gImNvbmZsaWN0Ii4KIAogbWVyZ2UucmVub3JtYWxpemU6OgogCVRlbGwgR2l0IHRoYXQgY2Fub25pY2FsIHJlcHJlc2VudGF0aW9uIG9mIGZpbGVzIGluIHRoZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcvcGFjay50eHQgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9wYWNrLnR4dAppbmRleCBlZGFjNzVjLi4wZGFjNTgwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9wYWNrLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9wYWNrLnR4dApAQCAtMjcsNiArMjcsMTMgQEAKIGFsbCBleGlzdGluZyBvYmplY3RzLiBZb3UgY2FuIGZvcmNlIHJlY29tcHJlc3Npb24gYnkgcGFzc2luZyB0aGUgLUYgb3B0aW9uCiB0byBsaW5rZ2l0OmdpdC1yZXBhY2tbMV0uCiAKK3BhY2suYWxsb3dQYWNrUmV1c2U6OgorCVdoZW4gdHJ1ZSwgYW5kIHdoZW4gcmVhY2hhYmlsaXR5IGJpdG1hcHMgYXJlIGVuYWJsZWQsCisJcGFjay1vYmplY3RzIHdpbGwgdHJ5IHRvIHNlbmQgcGFydHMgb2YgdGhlIGJpdG1hcHBlZCBwYWNrZmlsZQorCXZlcmJhdGltLiBUaGlzIGNhbiByZWR1Y2UgbWVtb3J5IGFuZCBDUFUgdXNhZ2UgdG8gc2VydmUgZmV0Y2hlcywKKwlidXQgbWlnaHQgcmVzdWx0IGluIHNlbmRpbmcgYSBzbGlnaHRseSBsYXJnZXIgcGFjay4gRGVmYXVsdHMgdG8KKwl0cnVlLgorCiBwYWNrLmlzbGFuZDo6CiAJQW4gZXh0ZW5kZWQgcmVndWxhciBleHByZXNzaW9uIGNvbmZpZ3VyaW5nIGEgc2V0IG9mIGRlbHRhCiAJaXNsYW5kcy4gU2VlICJERUxUQSBJU0xBTkRTIiBpbiBsaW5rZ2l0OmdpdC1wYWNrLW9iamVjdHNbMV0KQEAgLTEwNSw2ICsxMTIsMTYgQEAKIAl0cnVlLiBZb3Ugc2hvdWxkIG5vdCBnZW5lcmFsbHkgbmVlZCB0byB0dXJuIHRoaXMgb2ZmIHVubGVzcwogCXlvdSBhcmUgZGVidWdnaW5nIHBhY2sgYml0bWFwcy4KIAorcGFjay51c2VTcGFyc2U6OgorCVdoZW4gdHJ1ZSwgZ2l0IHdpbGwgZGVmYXVsdCB0byB1c2luZyB0aGUgJy0tc3BhcnNlJyBvcHRpb24gaW4KKwknZ2l0IHBhY2stb2JqZWN0cycgd2hlbiB0aGUgJy0tcmV2cycgb3B0aW9uIGlzIHByZXNlbnQuIFRoaXMKKwlhbGdvcml0aG0gb25seSB3YWxrcyB0cmVlcyB0aGF0IGFwcGVhciBpbiBwYXRocyB0aGF0IGludHJvZHVjZSBuZXcKKwlvYmplY3RzLiBUaGlzIGNhbiBoYXZlIHNpZ25pZmljYW50IHBlcmZvcm1hbmNlIGJlbmVmaXRzIHdoZW4KKwljb21wdXRpbmcgYSBwYWNrIHRvIHNlbmQgYSBzbWFsbCBjaGFuZ2UuIEhvd2V2ZXIsIGl0IGlzIHBvc3NpYmxlCisJdGhhdCBleHRyYSBvYmplY3RzIGFyZSBhZGRlZCB0byB0aGUgcGFjay1maWxlIGlmIHRoZSBpbmNsdWRlZAorCWNvbW1pdHMgY29udGFpbiBjZXJ0YWluIHR5cGVzIG9mIGRpcmVjdCByZW5hbWVzLiBEZWZhdWx0IGlzIGBmYWxzZWAKKwl1bmxlc3MgYGZlYXR1cmUuZXhwZXJpbWVudGFsYCBpcyBlbmFibGVkLgorCiBwYWNrLndyaXRlQml0bWFwcyAoZGVwcmVjYXRlZCk6OgogCVRoaXMgaXMgYSBkZXByZWNhdGVkIHN5bm9ueW0gZm9yIGByZXBhY2sud3JpdGVCaXRtYXBzYC4KIApAQCAtMTE1LDYgKzEzMiw0IEBACiAJYml0bWFwcGVkIGFuZCBub24tYml0bWFwcGVkIG9iamVjdHMgKGUuZy4sIHdoZW4gc2VydmluZyBhIGZldGNoCiAJYmV0d2VlbiBhbiBvbGRlciwgYml0bWFwcGVkIHBhY2sgYW5kIG9iamVjdHMgdGhhdCBoYXZlIGJlZW4KIAlwdXNoZWQgc2luY2UgdGhlIGxhc3QgZ2MpLiBUaGUgZG93bnNpZGUgaXMgdGhhdCBpdCBjb25zdW1lcyA0Ci0JYnl0ZXMgcGVyIG9iamVjdCBvZiBkaXNrIHNwYWNlLCBhbmQgdGhhdCBKR2l0J3MgYml0bWFwCi0JaW1wbGVtZW50YXRpb24gZG9lcyBub3QgdW5kZXJzdGFuZCBpdCwgY2F1c2luZyBpdCB0byBjb21wbGFpbiBpZgotCUdpdCBhbmQgSkdpdCBhcmUgdXNlZCBvbiB0aGUgc2FtZSByZXBvc2l0b3J5LiBEZWZhdWx0cyB0byBmYWxzZS4KKwlieXRlcyBwZXIgb2JqZWN0IG9mIGRpc2sgc3BhY2UuIERlZmF1bHRzIHRvIHRydWUuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9wcm90b2NvbC50eHQgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9wcm90b2NvbC50eHQKaW5kZXggYmZjY2MwNy4uNzU2NTkxZCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9jb25maWcvcHJvdG9jb2wudHh0CisrKyBiL0RvY3VtZW50YXRpb24vY29uZmlnL3Byb3RvY29sLnR4dApAQCAtNDUsMTEgKzQ1LDEwIEBACiAtLQogCiBwcm90b2NvbC52ZXJzaW9uOjoKLQlFeHBlcmltZW50YWwuIElmIHNldCwgY2xpZW50cyB3aWxsIGF0dGVtcHQgdG8gY29tbXVuaWNhdGUgd2l0aCBhCi0Jc2VydmVyIHVzaW5nIHRoZSBzcGVjaWZpZWQgcHJvdG9jb2wgdmVyc2lvbi4gIElmIHVuc2V0LCBubwotCWF0dGVtcHQgd2lsbCBiZSBtYWRlIGJ5IHRoZSBjbGllbnQgdG8gY29tbXVuaWNhdGUgdXNpbmcgYQotCXBhcnRpY3VsYXIgcHJvdG9jb2wgdmVyc2lvbiwgdGhpcyByZXN1bHRzIGluIHByb3RvY29sIHZlcnNpb24gMAotCWJlaW5nIHVzZWQuCisJSWYgc2V0LCBjbGllbnRzIHdpbGwgYXR0ZW1wdCB0byBjb21tdW5pY2F0ZSB3aXRoIGEgc2VydmVyCisJdXNpbmcgdGhlIHNwZWNpZmllZCBwcm90b2NvbCB2ZXJzaW9uLiAgSWYgdGhlIHNlcnZlciBkb2VzCisJbm90IHN1cHBvcnQgaXQsIGNvbW11bmljYXRpb24gZmFsbHMgYmFjayB0byB2ZXJzaW9uIDAuCisJSWYgdW5zZXQsIHRoZSBkZWZhdWx0IGlzIGAyYC4KIAlTdXBwb3J0ZWQgdmVyc2lvbnM6CiArCiAtLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcvcHVsbC50eHQgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9wdWxsLnR4dAppbmRleCBiYjIzYTk5Li41NDA0ODMwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9wdWxsLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9wdWxsLnR4dApAQCAtMTQsMTUgKzE0LDE2IEBACiAJcHVsbCIgaXMgcnVuLiBTZWUgImJyYW5jaC48bmFtZT4ucmViYXNlIiBmb3Igc2V0dGluZyB0aGlzIG9uIGEKIAlwZXItYnJhbmNoIGJhc2lzLgogKwotV2hlbiBgbWVyZ2VzYCwgcGFzcyB0aGUgYC0tcmViYXNlLW1lcmdlc2Agb3B0aW9uIHRvICdnaXQgcmViYXNlJworV2hlbiBgbWVyZ2VzYCAob3IganVzdCAnbScpLCBwYXNzIHRoZSBgLS1yZWJhc2UtbWVyZ2VzYCBvcHRpb24gdG8gJ2dpdCByZWJhc2UnCiBzbyB0aGF0IHRoZSBsb2NhbCBtZXJnZSBjb21taXRzIGFyZSBpbmNsdWRlZCBpbiB0aGUgcmViYXNlIChzZWUKIGxpbmtnaXQ6Z2l0LXJlYmFzZVsxXSBmb3IgZGV0YWlscykuCiArCi1XaGVuIHByZXNlcnZlLCBhbHNvIHBhc3MgYC0tcHJlc2VydmUtbWVyZ2VzYCBhbG9uZyB0byAnZ2l0IHJlYmFzZScKLXNvIHRoYXQgbG9jYWxseSBjb21taXR0ZWQgbWVyZ2UgY29tbWl0cyB3aWxsIG5vdCBiZSBmbGF0dGVuZWQKLWJ5IHJ1bm5pbmcgJ2dpdCBwdWxsJy4KK1doZW4gYHByZXNlcnZlYCAob3IganVzdCAncCcsIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgYG1lcmdlc2ApLCBhbHNvIHBhc3MKK2AtLXByZXNlcnZlLW1lcmdlc2AgYWxvbmcgdG8gJ2dpdCByZWJhc2UnIHNvIHRoYXQgbG9jYWxseSBjb21taXR0ZWQgbWVyZ2UKK2NvbW1pdHMgd2lsbCBub3QgYmUgZmxhdHRlbmVkIGJ5IHJ1bm5pbmcgJ2dpdCBwdWxsJy4KICsKLVdoZW4gdGhlIHZhbHVlIGlzIGBpbnRlcmFjdGl2ZWAsIHRoZSByZWJhc2UgaXMgcnVuIGluIGludGVyYWN0aXZlIG1vZGUuCitXaGVuIHRoZSB2YWx1ZSBpcyBgaW50ZXJhY3RpdmVgIChvciBqdXN0ICdpJyksIHRoZSByZWJhc2UgaXMgcnVuIGluIGludGVyYWN0aXZlCittb2RlLgogKwogKk5PVEUqOiB0aGlzIGlzIGEgcG9zc2libHkgZGFuZ2Vyb3VzIG9wZXJhdGlvbjsgZG8gKm5vdCogdXNlCiBpdCB1bmxlc3MgeW91IHVuZGVyc3RhbmQgdGhlIGltcGxpY2F0aW9ucyAoc2VlIGxpbmtnaXQ6Z2l0LXJlYmFzZVsxXQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcvcHVzaC50eHQgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9wdXNoLnR4dAppbmRleCAwYTBlMDAwLi4wYTdhYTMyIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9wdXNoLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9wdXNoLnR4dApAQCAtMSw2ICsxLDcgQEAKIHB1c2guZGVmYXVsdDo6CiAJRGVmaW5lcyB0aGUgYWN0aW9uIGBnaXQgcHVzaGAgc2hvdWxkIHRha2UgaWYgbm8gcmVmc3BlYyBpcwotCWV4cGxpY2l0bHkgZ2l2ZW4uICBEaWZmZXJlbnQgdmFsdWVzIGFyZSB3ZWxsLXN1aXRlZCBmb3IKKwlnaXZlbiAod2hldGhlciBmcm9tIHRoZSBjb21tYW5kLWxpbmUsIGNvbmZpZywgb3IgZWxzZXdoZXJlKS4KKwlEaWZmZXJlbnQgdmFsdWVzIGFyZSB3ZWxsLXN1aXRlZCBmb3IKIAlzcGVjaWZpYyB3b3JrZmxvd3M7IGZvciBpbnN0YW5jZSwgaW4gYSBwdXJlbHkgY2VudHJhbCB3b3JrZmxvdwogCShpLmUuIHRoZSBmZXRjaCBzb3VyY2UgaXMgZXF1YWwgdG8gdGhlIHB1c2ggZGVzdGluYXRpb24pLAogCWB1cHN0cmVhbWAgaXMgcHJvYmFibHkgd2hhdCB5b3Ugd2FudC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6CkBAIC04LDcgKzksNyBAQAogLS0KIAogKiBgbm90aGluZ2AgLSBkbyBub3QgcHVzaCBhbnl0aGluZyAoZXJyb3Igb3V0KSB1bmxlc3MgYSByZWZzcGVjIGlzCi0gIGV4cGxpY2l0bHkgZ2l2ZW4uIFRoaXMgaXMgcHJpbWFyaWx5IG1lYW50IGZvciBwZW9wbGUgd2hvIHdhbnQgdG8KKyAgZ2l2ZW4uIFRoaXMgaXMgcHJpbWFyaWx5IG1lYW50IGZvciBwZW9wbGUgd2hvIHdhbnQgdG8KICAgYXZvaWQgbWlzdGFrZXMgYnkgYWx3YXlzIGJlaW5nIGV4cGxpY2l0LgogCiAqIGBjdXJyZW50YCAtIHB1c2ggdGhlIGN1cnJlbnQgYnJhbmNoIHRvIHVwZGF0ZSBhIGJyYW5jaCB3aXRoIHRoZSBzYW1lCkBAIC03OSw3ICs4MCw3IEBACiByZXBvc2l0b3J5KSB0byBjbGVhciB0aGUgdmFsdWVzIGluaGVyaXRlZCBmcm9tIGEgbG93ZXIgcHJpb3JpdHkKIGNvbmZpZ3VyYXRpb24gZmlsZXMgKGUuZy4gYCRIT01FLy5naXRjb25maWdgKS4KICsKLS0tCistLS0tCiAKIEV4YW1wbGU6CiAKQEAgLTk2LDcgKzk3LDcgQEAKIAogVGhpcyB3aWxsIHJlc3VsdCBpbiBvbmx5IGIgKGEgYW5kIGMgYXJlIGNsZWFyZWQpLgogCi0tLQorLS0tLQogCiBwdXNoLnJlY3Vyc2VTdWJtb2R1bGVzOjoKIAlNYWtlIHN1cmUgYWxsIHN1Ym1vZHVsZSBjb21taXRzIHVzZWQgYnkgdGhlIHJldmlzaW9ucyB0byBiZSBwdXNoZWQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vY29uZmlnL3JlYmFzZS50eHQgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9yZWJhc2UudHh0CmluZGV4IGYwNzliZjYuLjdmN2EwN2QgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vY29uZmlnL3JlYmFzZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9jb25maWcvcmViYXNlLnR4dApAQCAtMSwxNiArMSwxNSBAQAogcmViYXNlLnVzZUJ1aWx0aW46OgotCVNldCB0byBgZmFsc2VgIHRvIHVzZSB0aGUgbGVnYWN5IHNoZWxsc2NyaXB0IGltcGxlbWVudGF0aW9uIG9mCi0JbGlua2dpdDpnaXQtcmViYXNlWzFdLiBJcyBgdHJ1ZWAgYnkgZGVmYXVsdCwgd2hpY2ggbWVhbnMgdXNlCi0JdGhlIGJ1aWx0LWluIHJld3JpdGUgb2YgaXQgaW4gQy4KLSsKLVRoZSBDIHJld3JpdGUgaXMgZmlyc3QgaW5jbHVkZWQgd2l0aCBHaXQgdmVyc2lvbiAyLjIwLiBUaGlzIG9wdGlvbgotc2VydmVzIGFuIGFuIGVzY2FwZSBoYXRjaCB0byByZS1lbmFibGUgdGhlIGxlZ2FjeSB2ZXJzaW9uIGluIGNhc2UgYW55Ci1idWdzIGFyZSBmb3VuZCBpbiB0aGUgcmV3cml0ZS4gVGhpcyBvcHRpb24gYW5kIHRoZSBzaGVsbHNjcmlwdCB2ZXJzaW9uCi1vZiBsaW5rZ2l0OmdpdC1yZWJhc2VbMV0gd2lsbCBiZSByZW1vdmVkIGluIHNvbWUgZnV0dXJlIHJlbGVhc2UuCi0rCi1JZiB5b3UgZmluZCBzb21lIHJlYXNvbiB0byBzZXQgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCBvdGhlciB0aGFuCi1vbmUtb2ZmIHRlc3RpbmcgeW91IHNob3VsZCByZXBvcnQgdGhlIGJlaGF2aW9yIGRpZmZlcmVuY2UgYXMgYSBidWcgaW4KLWdpdC4KKwlVbnVzZWQgY29uZmlndXJhdGlvbiB2YXJpYWJsZS4gVXNlZCBpbiBHaXQgdmVyc2lvbnMgMi4yMCBhbmQKKwkyLjIxIGFzIGFuIGVzY2FwZSBoYXRjaCB0byBlbmFibGUgdGhlIGxlZ2FjeSBzaGVsbHNjcmlwdAorCWltcGxlbWVudGF0aW9uIG9mIHJlYmFzZS4gTm93IHRoZSBidWlsdC1pbiByZXdyaXRlIG9mIGl0IGluIEMKKwlpcyBhbHdheXMgdXNlZC4gU2V0dGluZyB0aGlzIHdpbGwgZW1pdCBhIHdhcm5pbmcsIHRvIGFsZXJ0IGFueQorCXJlbWFpbmluZyB1c2VycyB0aGF0IHNldHRpbmcgdGhpcyBub3cgZG9lcyBub3RoaW5nLgorCityZWJhc2UuYmFja2VuZDo6CisJRGVmYXVsdCBiYWNrZW5kIHRvIHVzZSBmb3IgcmViYXNpbmcuICBQb3NzaWJsZSBjaG9pY2VzIGFyZQorCSdhcHBseScgb3IgJ21lcmdlJy4gIEluIHRoZSBmdXR1cmUsIGlmIHRoZSBtZXJnZSBiYWNrZW5kIGdhaW5zCisJYWxsIHJlbWFpbmluZyBjYXBhYmlsaXRpZXMgb2YgdGhlIGFwcGx5IGJhY2tlbmQsIHRoaXMgc2V0dGluZworCW1heSBiZWNvbWUgdW51c2VkLgogCiByZWJhc2Uuc3RhdDo6CiAJV2hldGhlciB0byBzaG93IGEgZGlmZnN0YXQgb2Ygd2hhdCBjaGFuZ2VkIHVwc3RyZWFtIHNpbmNlIHRoZSBsYXN0CkBAIC02NCwzICs2Myw4IEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiArCiBEZWZhdWx0cyB0byBmYWxzZS4KKworcmViYXNlLnJlc2NoZWR1bGVGYWlsZWRFeGVjOjoKKwlBdXRvbWF0aWNhbGx5IHJlc2NoZWR1bGUgYGV4ZWNgIGNvbW1hbmRzIHRoYXQgZmFpbGVkLiBUaGlzIG9ubHkgbWFrZXMKKwlzZW5zZSBpbiBpbnRlcmFjdGl2ZSBtb2RlIChvciB3aGVuIGFuIGAtLWV4ZWNgIG9wdGlvbiB3YXMgcHJvdmlkZWQpLgorCVRoaXMgaXMgdGhlIHNhbWUgYXMgc3BlY2lmeWluZyB0aGUgYC0tcmVzY2hlZHVsZS1mYWlsZWQtZXhlY2Agb3B0aW9uLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcvcmVtb3RlLnR4dCBiL0RvY3VtZW50YXRpb24vY29uZmlnL3JlbW90ZS50eHQKaW5kZXggNmM0Y2FkOC4uYThlNjQzNyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9jb25maWcvcmVtb3RlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9yZW1vdGUudHh0CkBAIC03NiwzICs3NiwxMSBAQAogKwogU2VlIGFsc28gYHJlbW90ZS48bmFtZT4ucHJ1bmVgIGFuZCB0aGUgUFJVTklORyBzZWN0aW9uIG9mCiBsaW5rZ2l0OmdpdC1mZXRjaFsxXS4KKworcmVtb3RlLjxuYW1lPi5wcm9taXNvcjo6CisJV2hlbiBzZXQgdG8gdHJ1ZSwgdGhpcyByZW1vdGUgd2lsbCBiZSB1c2VkIHRvIGZldGNoIHByb21pc29yCisJb2JqZWN0cy4KKworcmVtb3RlLjxuYW1lPi5wYXJ0aWFsY2xvbmVmaWx0ZXI6OgorCVRoZSBmaWx0ZXIgdGhhdCB3aWxsIGJlIGFwcGxpZWQgd2hlbiBmZXRjaGluZyBmcm9tIHRoaXMKKwlwcm9taXNvciByZW1vdGUuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9yZXBhY2sudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcvcmVwYWNrLnR4dAppbmRleCBhNWMzNzgxLi45YzQxM2UxIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9yZXBhY2sudHh0CisrKyBiL0RvY3VtZW50YXRpb24vY29uZmlnL3JlcGFjay50eHQKQEAgLTI0LDQgKzI0LDQgQEAKIAlwYWNrcyBjcmVhdGVkIGZvciBjbG9uZXMgYW5kIGZldGNoZXMsIGF0IHRoZSBjb3N0IG9mIHNvbWUgZGlzawogCXNwYWNlIGFuZCBleHRyYSB0aW1lIHNwZW50IG9uIHRoZSBpbml0aWFsIHJlcGFjay4gIFRoaXMgaGFzCiAJbm8gZWZmZWN0IGlmIG11bHRpcGxlIHBhY2tmaWxlcyBhcmUgY3JlYXRlZC4KLQlEZWZhdWx0cyB0byBmYWxzZS4KKwlEZWZhdWx0cyB0byB0cnVlIG9uIGJhcmUgcmVwb3MsIGZhbHNlIG90aGVyd2lzZS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vY29uZmlnL3N0YXNoLnR4dCBiL0RvY3VtZW50YXRpb24vY29uZmlnL3N0YXNoLnR4dAppbmRleCBjNTgzZDQ2Li5hYmM3ZWY0IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9zdGFzaC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9jb25maWcvc3Rhc2gudHh0CkBAIC0xLDMgKzEsMTggQEAKK3N0YXNoLnVzZUJ1aWx0aW46OgorICAgICAgIFNldCB0byBgZmFsc2VgIHRvIHVzZSB0aGUgbGVnYWN5IHNoZWxsIHNjcmlwdCBpbXBsZW1lbnRhdGlvbiBvZgorICAgICAgIGxpbmtnaXQ6Z2l0LXN0YXNoWzFdLiBJcyBgdHJ1ZWAgYnkgZGVmYXVsdCwgd2hpY2ggbWVhbnMgdXNlCisgICAgICAgdGhlIGJ1aWx0LWluIHJld3JpdGUgb2YgaXQgaW4gQy4KKysKK1RoZSBDIHJld3JpdGUgaXMgZmlyc3QgaW5jbHVkZWQgd2l0aCBHaXQgdmVyc2lvbiAyLjIyIChhbmQgR2l0IGZvciBXaW5kb3dzCit2ZXJzaW9uIDIuMTkpLiBUaGlzIG9wdGlvbiBzZXJ2ZXMgYXMgYW4gZXNjYXBlIGhhdGNoIHRvIHJlLWVuYWJsZSB0aGUKK2xlZ2FjeSB2ZXJzaW9uIGluIGNhc2UgYW55IGJ1Z3MgYXJlIGZvdW5kIGluIHRoZSByZXdyaXRlLiBUaGlzIG9wdGlvbiBhbmQKK3RoZSBzaGVsbCBzY3JpcHQgdmVyc2lvbiBvZiBsaW5rZ2l0OmdpdC1zdGFzaFsxXSB3aWxsIGJlIHJlbW92ZWQgaW4gc29tZQorZnV0dXJlIHJlbGVhc2UuCisrCitJZiB5b3UgZmluZCBzb21lIHJlYXNvbiB0byBzZXQgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCwgb3RoZXIgdGhhbgorb25lLW9mZiB0ZXN0aW5nLCB5b3Ugc2hvdWxkIHJlcG9ydCB0aGUgYmVoYXZpb3IgZGlmZmVyZW5jZSBhcyBhIGJ1ZyBpbgorR2l0IChzZWUgaHR0cHM6Ly9naXQtc2NtLmNvbS9jb21tdW5pdHkgZm9yIGRldGFpbHMpLgorCiBzdGFzaC5zaG93UGF0Y2g6OgogCUlmIHRoaXMgaXMgc2V0IHRvIHRydWUsIHRoZSBgZ2l0IHN0YXNoIHNob3dgIGNvbW1hbmQgd2l0aG91dCBhbgogCW9wdGlvbiB3aWxsIHNob3cgdGhlIHN0YXNoIGVudHJ5IGluIHBhdGNoIGZvcm0uICBEZWZhdWx0cyB0byBmYWxzZS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vY29uZmlnL3N0YXR1cy50eHQgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9zdGF0dXMudHh0CmluZGV4IGVkNzJmYTdkLi4wZmM3MDRhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy9zdGF0dXMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vY29uZmlnL3N0YXR1cy50eHQKQEAgLTEyLDYgKzEyLDExIEBACiAJU2V0IHRvIHRydWUgdG8gZW5hYmxlIC0tYnJhbmNoIGJ5IGRlZmF1bHQgaW4gbGlua2dpdDpnaXQtc3RhdHVzWzFdLgogCVRoZSBvcHRpb24gLS1uby1icmFuY2ggdGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRoaXMgdmFyaWFibGUuCiAKK3N0YXR1cy5haGVhZEJlaGluZDo6CisJU2V0IHRvIHRydWUgdG8gZW5hYmxlIGAtLWFoZWFkLWJlaGluZGAgYW5kIGZhbHNlIHRvIGVuYWJsZQorCWAtLW5vLWFoZWFkLWJlaGluZGAgYnkgZGVmYXVsdCBpbiBsaW5rZ2l0OmdpdC1zdGF0dXNbMV0gZm9yCisJbm9uLXBvcmNlbGFpbiBzdGF0dXMgZm9ybWF0cy4gIERlZmF1bHRzIHRvIHRydWUuCisKIHN0YXR1cy5kaXNwbGF5Q29tbWVudFByZWZpeDo6CiAJSWYgc2V0IHRvIHRydWUsIGxpbmtnaXQ6Z2l0LXN0YXR1c1sxXSB3aWxsIGluc2VydCBhIGNvbW1lbnQKIAlwcmVmaXggYmVmb3JlIGVhY2ggb3V0cHV0IGxpbmUgKHN0YXJ0aW5nIHdpdGgKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vY29uZmlnL3N1Ym1vZHVsZS50eHQgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy9zdWJtb2R1bGUudHh0CmluZGV4IDBhMTI5M2IuLmIzMzE3NzEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vY29uZmlnL3N1Ym1vZHVsZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9jb25maWcvc3VibW9kdWxlLnR4dApAQCAtNzksNCArNzksNiBAQAogc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3k6OgogCVNwZWNpZmllcyBob3cgdG8gdHJlYXQgZXJyb3JzIHdpdGggdGhlIGFsdGVybmF0ZXMgZm9yIGEgc3VibW9kdWxlCiAJYXMgY29tcHV0ZWQgdmlhIGBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb25gLiBQb3NzaWJsZSB2YWx1ZXMgYXJlCi0JYGlnbm9yZWAsIGBpbmZvYCwgYGRpZWAuIERlZmF1bHQgaXMgYGRpZWAuCisJYGlnbm9yZWAsIGBpbmZvYCwgYGRpZWAuIERlZmF1bHQgaXMgYGRpZWAuIE5vdGUgdGhhdCBpZiBzZXQgdG8gYGlnbm9yZWAKKwlvciBgaW5mb2AsIGFuZCBpZiB0aGVyZSBpcyBhbiBlcnJvciB3aXRoIHRoZSBjb21wdXRlZCBhbHRlcm5hdGUsIHRoZQorCWNsb25lIHByb2NlZWRzIGFzIGlmIG5vIGFsdGVybmF0ZSB3YXMgc3BlY2lmaWVkLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcvdGFnLnR4dCBiL0RvY3VtZW50YXRpb24vY29uZmlnL3RhZy50eHQKaW5kZXggNjYzNjYzYi4uNmQ5MTEwZCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9jb25maWcvdGFnLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy90YWcudHh0CkBAIC04LDYgKzgsMTQgQEAKIAlsaW5rZ2l0OmdpdC10YWdbMV0uIFdpdGhvdXQgdGhlICItLXNvcnQ9PHZhbHVlPiIgb3B0aW9uIHByb3ZpZGVkLCB0aGUKIAl2YWx1ZSBvZiB0aGlzIHZhcmlhYmxlIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdC4KIAordGFnLmdwZ1NpZ246OgorCUEgYm9vbGVhbiB0byBzcGVjaWZ5IHdoZXRoZXIgYWxsIHRhZ3Mgc2hvdWxkIGJlIEdQRyBzaWduZWQuCisJVXNlIG9mIHRoaXMgb3B0aW9uIHdoZW4gcnVubmluZyBpbiBhbiBhdXRvbWF0ZWQgc2NyaXB0IGNhbgorCXJlc3VsdCBpbiBhIGxhcmdlIG51bWJlciBvZiB0YWdzIGJlaW5nIHNpZ25lZC4gSXQgaXMgdGhlcmVmb3JlCisJY29udmVuaWVudCB0byB1c2UgYW4gYWdlbnQgdG8gYXZvaWQgdHlwaW5nIHlvdXIgZ3BnIHBhc3NwaHJhc2UKKwlzZXZlcmFsIHRpbWVzLiBOb3RlIHRoYXQgdGhpcyBvcHRpb24gZG9lc24ndCBhZmZlY3QgdGFnIHNpZ25pbmcKKwliZWhhdmlvciBlbmFibGVkIGJ5ICItdSA8a2V5aWQ+IiBvciAiLS1sb2NhbC11c2VyPTxrZXlpZD4iIG9wdGlvbnMuCisKIHRhci51bWFzazo6CiAJVGhpcyB2YXJpYWJsZSBjYW4gYmUgdXNlZCB0byByZXN0cmljdCB0aGUgcGVybWlzc2lvbiBiaXRzIG9mCiAJdGFyIGFyY2hpdmUgZW50cmllcy4gIFRoZSBkZWZhdWx0IGlzIDAwMDIsIHdoaWNoIHR1cm5zIG9mZiB0aGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vY29uZmlnL3RyYWNlMi50eHQgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy90cmFjZTIudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjZTBiOWEKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy90cmFjZTIudHh0CkBAIC0wLDAgKzEsNjIgQEAKK1RyYWNlMiBjb25maWcgc2V0dGluZ3MgYXJlIG9ubHkgcmVhZCBmcm9tIHRoZSBzeXN0ZW0gYW5kIGdsb2JhbAorY29uZmlnIGZpbGVzOyByZXBvc2l0b3J5IGxvY2FsIGFuZCB3b3JrdHJlZSBjb25maWcgZmlsZXMgYW5kIGAtY2AKK2NvbW1hbmQgbGluZSBhcmd1bWVudHMgYXJlIG5vdCByZXNwZWN0ZWQuCisKK3RyYWNlMi5ub3JtYWxUYXJnZXQ6OgorCVRoaXMgdmFyaWFibGUgY29udHJvbHMgdGhlIG5vcm1hbCB0YXJnZXQgZGVzdGluYXRpb24uCisJSXQgbWF5IGJlIG92ZXJyaWRkZW4gYnkgdGhlIGBHSVRfVFJBQ0UyYCBlbnZpcm9ubWVudCB2YXJpYWJsZS4KKwlUaGUgZm9sbG93aW5nIHRhYmxlIHNob3dzIHBvc3NpYmxlIHZhbHVlcy4KKwordHJhY2UyLnBlcmZUYXJnZXQ6OgorCVRoaXMgdmFyaWFibGUgY29udHJvbHMgdGhlIHBlcmZvcm1hbmNlIHRhcmdldCBkZXN0aW5hdGlvbi4KKwlJdCBtYXkgYmUgb3ZlcnJpZGRlbiBieSB0aGUgYEdJVF9UUkFDRTJfUEVSRmAgZW52aXJvbm1lbnQgdmFyaWFibGUuCisJVGhlIGZvbGxvd2luZyB0YWJsZSBzaG93cyBwb3NzaWJsZSB2YWx1ZXMuCisKK3RyYWNlMi5ldmVudFRhcmdldDo6CisJVGhpcyB2YXJpYWJsZSBjb250cm9scyB0aGUgZXZlbnQgdGFyZ2V0IGRlc3RpbmF0aW9uLgorCUl0IG1heSBiZSBvdmVycmlkZGVuIGJ5IHRoZSBgR0lUX1RSQUNFMl9FVkVOVGAgZW52aXJvbm1lbnQgdmFyaWFibGUuCisJVGhlIGZvbGxvd2luZyB0YWJsZSBzaG93cyBwb3NzaWJsZSB2YWx1ZXMuCisrCitpbmNsdWRlOjouLi90cmFjZTItdGFyZ2V0LXZhbHVlcy50eHRbXQorCit0cmFjZTIubm9ybWFsQnJpZWY6OgorCUJvb2xlYW4uICBXaGVuIHRydWUgYHRpbWVgLCBgZmlsZW5hbWVgLCBhbmQgYGxpbmVgIGZpZWxkcyBhcmUKKwlvbWl0dGVkIGZyb20gbm9ybWFsIG91dHB1dC4gIE1heSBiZSBvdmVycmlkZGVuIGJ5IHRoZQorCWBHSVRfVFJBQ0UyX0JSSUVGYCBlbnZpcm9ubWVudCB2YXJpYWJsZS4gIERlZmF1bHRzIHRvIGZhbHNlLgorCit0cmFjZTIucGVyZkJyaWVmOjoKKwlCb29sZWFuLiAgV2hlbiB0cnVlIGB0aW1lYCwgYGZpbGVuYW1lYCwgYW5kIGBsaW5lYCBmaWVsZHMgYXJlCisJb21pdHRlZCBmcm9tIFBFUkYgb3V0cHV0LiAgTWF5IGJlIG92ZXJyaWRkZW4gYnkgdGhlCisJYEdJVF9UUkFDRTJfUEVSRl9CUklFRmAgZW52aXJvbm1lbnQgdmFyaWFibGUuICBEZWZhdWx0cyB0byBmYWxzZS4KKwordHJhY2UyLmV2ZW50QnJpZWY6OgorCUJvb2xlYW4uICBXaGVuIHRydWUgYHRpbWVgLCBgZmlsZW5hbWVgLCBhbmQgYGxpbmVgIGZpZWxkcyBhcmUKKwlvbWl0dGVkIGZyb20gZXZlbnQgb3V0cHV0LiAgTWF5IGJlIG92ZXJyaWRkZW4gYnkgdGhlCisJYEdJVF9UUkFDRTJfRVZFTlRfQlJJRUZgIGVudmlyb25tZW50IHZhcmlhYmxlLiAgRGVmYXVsdHMgdG8gZmFsc2UuCisKK3RyYWNlMi5ldmVudE5lc3Rpbmc6OgorCUludGVnZXIuICBTcGVjaWZpZXMgZGVzaXJlZCBkZXB0aCBvZiBuZXN0ZWQgcmVnaW9ucyBpbiB0aGUKKwlldmVudCBvdXRwdXQuICBSZWdpb25zIGRlZXBlciB0aGFuIHRoaXMgdmFsdWUgd2lsbCBiZQorCW9taXR0ZWQuICBNYXkgYmUgb3ZlcnJpZGRlbiBieSB0aGUgYEdJVF9UUkFDRTJfRVZFTlRfTkVTVElOR2AKKwllbnZpcm9ubWVudCB2YXJpYWJsZS4gIERlZmF1bHRzIHRvIDIuCisKK3RyYWNlMi5jb25maWdQYXJhbXM6OgorCUEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGF0dGVybnMgb2YgImltcG9ydGFudCIgY29uZmlnCisJc2V0dGluZ3MgdGhhdCBzaG91bGQgYmUgcmVjb3JkZWQgaW4gdGhlIHRyYWNlMiBvdXRwdXQuCisJRm9yIGV4YW1wbGUsIGBjb3JlLioscmVtb3RlLioudXJsYCB3b3VsZCBjYXVzZSB0aGUgdHJhY2UyCisJb3V0cHV0IHRvIGNvbnRhaW4gZXZlbnRzIGxpc3RpbmcgZWFjaCBjb25maWd1cmVkIHJlbW90ZS4KKwlNYXkgYmUgb3ZlcnJpZGRlbiBieSB0aGUgYEdJVF9UUkFDRTJfQ09ORklHX1BBUkFNU2AgZW52aXJvbm1lbnQKKwl2YXJpYWJsZS4gIFVuc2V0IGJ5IGRlZmF1bHQuCisKK3RyYWNlMi5kZXN0aW5hdGlvbkRlYnVnOjoKKwlCb29sZWFuLiAgV2hlbiB0cnVlIEdpdCB3aWxsIHByaW50IGVycm9yIG1lc3NhZ2VzIHdoZW4gYQorCXRyYWNlIHRhcmdldCBkZXN0aW5hdGlvbiBjYW5ub3QgYmUgb3BlbmVkIGZvciB3cml0aW5nLgorCUJ5IGRlZmF1bHQsIHRoZXNlIGVycm9ycyBhcmUgc3VwcHJlc3NlZCBhbmQgdHJhY2luZyBpcworCXNpbGVudGx5IGRpc2FibGVkLiAgTWF5IGJlIG92ZXJyaWRkZW4gYnkgdGhlCisJYEdJVF9UUkFDRTJfRFNUX0RFQlVHYCBlbnZpcm9ubWVudCB2YXJpYWJsZS4KKwordHJhY2UyLm1heEZpbGVzOjoKKwlJbnRlZ2VyLiAgV2hlbiB3cml0aW5nIHRyYWNlIGZpbGVzIHRvIGEgdGFyZ2V0IGRpcmVjdG9yeSwgZG8gbm90CisJd3JpdGUgYWRkaXRpb25hbCB0cmFjZXMgaWYgd2Ugd291bGQgZXhjZWVkIHRoaXMgbWFueSBmaWxlcy4gSW5zdGVhZCwKKwl3cml0ZSBhIHNlbnRpbmVsIGZpbGUgdGhhdCB3aWxsIGJsb2NrIGZ1cnRoZXIgdHJhY2luZyB0byB0aGlzCisJZGlyZWN0b3J5LiBEZWZhdWx0cyB0byAwLCB3aGljaCBkaXNhYmxlcyB0aGlzIGNoZWNrLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb25maWcvdHJhbnNmZXIudHh0IGIvRG9jdW1lbnRhdGlvbi9jb25maWcvdHJhbnNmZXIudHh0CmluZGV4IDRhNWRmZTIuLmY1YjYyNDUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vY29uZmlnL3RyYW5zZmVyLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy90cmFuc2Zlci50eHQKQEAgLTE3LDcgKzE3LDcgQEAKIGluc3RlYWQgYmUgbGVmdCB1bnJlZmVyZW5jZWQgaW4gdGhlIHJlcG9zaXRvcnkuCiArCiBEdWUgdG8gdGhlIG5vbi1xdWFyYW50aW5lIG5hdHVyZSBvZiB0aGUgYGZldGNoLmZzY2tPYmplY3RzYAotaW1wbGVtZW50YXRpb24gaXQgY2FuIG5vdCBiZSByZWxpZWQgdXBvbiB0byBsZWF2ZSB0aGUgb2JqZWN0IHN0b3JlCitpbXBsZW1lbnRhdGlvbiBpdCBjYW5ub3QgYmUgcmVsaWVkIHVwb24gdG8gbGVhdmUgdGhlIG9iamVjdCBzdG9yZQogY2xlYW4gbGlrZSBgcmVjZWl2ZS5mc2NrT2JqZWN0c2AgY2FuLgogKwogQXMgb2JqZWN0cyBhcmUgdW5wYWNrZWQgdGhleSdyZSB3cml0dGVuIHRvIHRoZSBvYmplY3Qgc3RvcmUsIHNvIHRoZXJlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy91c2VyLnR4dCBiL0RvY3VtZW50YXRpb24vY29uZmlnL3VzZXIudHh0CmluZGV4IGI1YjJiYTEuLjU5YWVjN2MgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vY29uZmlnL3VzZXIudHh0CisrKyBiL0RvY3VtZW50YXRpb24vY29uZmlnL3VzZXIudHh0CkBAIC0xLDEyICsxLDI0IEBACi11c2VyLmVtYWlsOjoKLQlZb3VyIGVtYWlsIGFkZHJlc3MgdG8gYmUgcmVjb3JkZWQgaW4gYW55IG5ld2x5IGNyZWF0ZWQgY29tbWl0cy4KLQlDYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgYEdJVF9BVVRIT1JfRU1BSUxgLCBgR0lUX0NPTU1JVFRFUl9FTUFJTGAsIGFuZAotCWBFTUFJTGAgZW52aXJvbm1lbnQgdmFyaWFibGVzLiAgU2VlIGxpbmtnaXQ6Z2l0LWNvbW1pdC10cmVlWzFdLgotCiB1c2VyLm5hbWU6OgotCVlvdXIgZnVsbCBuYW1lIHRvIGJlIHJlY29yZGVkIGluIGFueSBuZXdseSBjcmVhdGVkIGNvbW1pdHMuCi0JQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlIGBHSVRfQVVUSE9SX05BTUVgIGFuZCBgR0lUX0NPTU1JVFRFUl9OQU1FYAotCWVudmlyb25tZW50IHZhcmlhYmxlcy4gIFNlZSBsaW5rZ2l0OmdpdC1jb21taXQtdHJlZVsxXS4KK3VzZXIuZW1haWw6OgorYXV0aG9yLm5hbWU6OgorYXV0aG9yLmVtYWlsOjoKK2NvbW1pdHRlci5uYW1lOjoKK2NvbW1pdHRlci5lbWFpbDo6CisJVGhlIGB1c2VyLm5hbWVgIGFuZCBgdXNlci5lbWFpbGAgdmFyaWFibGVzIGRldGVybWluZSB3aGF0IGVuZHMKKwl1cCBpbiB0aGUgYGF1dGhvcmAgYW5kIGBjb21taXR0ZXJgIGZpZWxkIG9mIGNvbW1pdAorCW9iamVjdHMuCisJSWYgeW91IG5lZWQgdGhlIGBhdXRob3JgIG9yIGBjb21taXR0ZXJgIHRvIGJlIGRpZmZlcmVudCwgdGhlCisJYGF1dGhvci5uYW1lYCwgYGF1dGhvci5lbWFpbGAsIGBjb21taXR0ZXIubmFtZWAgb3IKKwlgY29tbWl0dGVyLmVtYWlsYCB2YXJpYWJsZXMgY2FuIGJlIHNldC4KKwlBbHNvLCBhbGwgb2YgdGhlc2UgY2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlIGBHSVRfQVVUSE9SX05BTUVgLAorCWBHSVRfQVVUSE9SX0VNQUlMYCwgYEdJVF9DT01NSVRURVJfTkFNRWAsCisJYEdJVF9DT01NSVRURVJfRU1BSUxgIGFuZCBgRU1BSUxgIGVudmlyb25tZW50IHZhcmlhYmxlcy4KKysKK05vdGUgdGhhdCB0aGUgYG5hbWVgIGZvcm1zIG9mIHRoZXNlIHZhcmlhYmxlcyBjb252ZW50aW9uYWxseSByZWZlciB0bworc29tZSBmb3JtIG9mIGEgcGVyc29uYWwgbmFtZS4gIFNlZSBsaW5rZ2l0OmdpdC1jb21taXRbMV0gYW5kIHRoZQorZW52aXJvbm1lbnQgdmFyaWFibGVzIHNlY3Rpb24gb2YgbGlua2dpdDpnaXRbMV0gZm9yIG1vcmUgaW5mb3JtYXRpb24gb24KK3RoZXNlIHNldHRpbmdzIGFuZCB0aGUgYGNyZWRlbnRpYWwudXNlcm5hbWVgIG9wdGlvbiBpZiB5b3UncmUgbG9va2luZworZm9yIGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIGluc3RlYWQuCiAKIHVzZXIudXNlQ29uZmlnT25seTo6CiAJSW5zdHJ1Y3QgR2l0IHRvIGF2b2lkIHRyeWluZyB0byBndWVzcyBkZWZhdWx0cyBmb3IgYHVzZXIuZW1haWxgCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2NvbmZpZy93b3JrdHJlZS50eHQgYi9Eb2N1bWVudGF0aW9uL2NvbmZpZy93b3JrdHJlZS50eHQKaW5kZXggYjg1Mzc5OC4uMDQ4ZTM0OSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9jb25maWcvd29ya3RyZWUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vY29uZmlnL3dvcmt0cmVlLnR4dApAQCAtMSw2ICsxLDYgQEAKIHdvcmt0cmVlLmd1ZXNzUmVtb3RlOjoKLQlXaXRoIGBhZGRgLCBpZiBubyBicmFuY2ggYXJndW1lbnQsIGFuZCBuZWl0aGVyIG9mIGAtYmAgbm9yCi0JYC1CYCBub3IgYC0tZGV0YWNoYCBhcmUgZ2l2ZW4sIHRoZSBjb21tYW5kIGRlZmF1bHRzIHRvCisJSWYgbm8gYnJhbmNoIGlzIHNwZWNpZmllZCBhbmQgbmVpdGhlciBgLWJgIG5vciBgLUJgIG5vcgorCWAtLWRldGFjaGAgaXMgdXNlZCwgdGhlbiBgZ2l0IHdvcmt0cmVlIGFkZGAgZGVmYXVsdHMgdG8KIAljcmVhdGluZyBhIG5ldyBicmFuY2ggZnJvbSBIRUFELiAgSWYgYHdvcmt0cmVlLmd1ZXNzUmVtb3RlYCBpcwogCXNldCB0byB0cnVlLCBgd29ya3RyZWUgYWRkYCB0cmllcyB0byBmaW5kIGEgcmVtb3RlLXRyYWNraW5nCiAJYnJhbmNoIHdob3NlIG5hbWUgdW5pcXVlbHkgbWF0Y2hlcyB0aGUgbmV3IGJyYW5jaCBuYW1lLiAgSWYKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGlmZi1mb3JtYXQudHh0IGIvRG9jdW1lbnRhdGlvbi9kaWZmLWZvcm1hdC50eHQKaW5kZXggY2RjYzE3Zi4uZmJiZDQxMCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9kaWZmLWZvcm1hdC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9kaWZmLWZvcm1hdC50eHQKQEAgLTYxLDcgKzYxLDcgQEAKIC0gUjogcmVuYW1pbmcgb2YgYSBmaWxlCiAtIFQ6IGNoYW5nZSBpbiB0aGUgdHlwZSBvZiB0aGUgZmlsZQogLSBVOiBmaWxlIGlzIHVubWVyZ2VkICh5b3UgbXVzdCBjb21wbGV0ZSB0aGUgbWVyZ2UgYmVmb3JlIGl0IGNhbgotYmUgY29tbWl0dGVkKQorICBiZSBjb21taXR0ZWQpCiAtIFg6ICJ1bmtub3duIiBjaGFuZ2UgdHlwZSAobW9zdCBwcm9iYWJseSBhIGJ1ZywgcGxlYXNlIHJlcG9ydCBpdCkKIAogU3RhdHVzIGxldHRlcnMgQyBhbmQgUiBhcmUgYWx3YXlzIGZvbGxvd2VkIGJ5IGEgc2NvcmUgKGRlbm90aW5nIHRoZQpAQCAtOTUsMTIgKzk1LDI2IEBACiAuIHRoZXJlIGFyZSBtb3JlICJzcmMiIG1vZGVzIGFuZCAic3JjIiBzaGExCiAuIHN0YXR1cyBpcyBjb25jYXRlbmF0ZWQgc3RhdHVzIGNoYXJhY3RlcnMgZm9yIGVhY2ggcGFyZW50CiAuIG5vIG9wdGlvbmFsICJzY29yZSIgbnVtYmVyCi0uIHNpbmdsZSBwYXRoLCBvbmx5IGZvciAiZHN0IgorLiB0YWItc2VwYXJhdGVkIHBhdGhuYW1lKHMpIG9mIHRoZSBmaWxlCiAKLUV4YW1wbGU6CitGb3IgYC1jYCBhbmQgYC0tY2NgLCBvbmx5IHRoZSBkZXN0aW5hdGlvbiBvciBmaW5hbCBwYXRoIGlzIHNob3duIGV2ZW4KK2lmIHRoZSBmaWxlIHdhcyByZW5hbWVkIG9uIGFueSBzaWRlIG9mIGhpc3RvcnkuICBXaXRoCitgLS1jb21iaW5lZC1hbGwtcGF0aHNgLCB0aGUgbmFtZSBvZiB0aGUgcGF0aCBpbiBlYWNoIHBhcmVudCBpcyBzaG93bgorZm9sbG93ZWQgYnkgdGhlIG5hbWUgb2YgdGhlIHBhdGggaW4gdGhlIG1lcmdlIGNvbW1pdC4KKworRXhhbXBsZXMgZm9yIGAtY2AgYW5kIGAtLWNjYCB3aXRob3V0IGAtLWNvbWJpbmVkLWFsbC1wYXRoc2A6CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzo6MTAwNjQ0IDEwMDY0NCAxMDA2NDQgZmFiYWRiOCBjYzk1ZWIwIDQ4NjY1MTAgTU0JZGVzYy5jCis6OjEwMDc1NSAxMDA3NTUgMTAwNzU1IDUyYjdhMmQgNmQxYWMwNCBkMmFjN2Q3IFJNCWJhci5zaAorOjoxMDA2NDQgMTAwNjQ0IDEwMDY0NCBlMDdkNmM1IDkwNDJlODIgZWU5MTg4MSBSUglwaG9vZXkuYworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0V4YW1wbGVzIHdoZW4gYC0tY29tYmluZWQtYWxsLXBhdGhzYCBhZGRlZCB0byBlaXRoZXIgYC1jYCBvciBgLS1jY2A6CiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotOjoxMDA2NDQgMTAwNjQ0IDEwMDY0NCBmYWJhZGI4IGNjOTVlYjAgNDg2NjUxMCBNTQlkZXNjcmliZS5jCis6OjEwMDY0NCAxMDA2NDQgMTAwNjQ0IGZhYmFkYjggY2M5NWViMCA0ODY2NTEwIE1NCWRlc2MuYwlkZXNjLmMJZGVzYy5jCis6OjEwMDc1NSAxMDA3NTUgMTAwNzU1IDUyYjdhMmQgNmQxYWMwNCBkMmFjN2Q3IFJNCWZvby5zaAliYXIuc2gJYmFyLnNoCis6OjEwMDY0NCAxMDA2NDQgMTAwNjQ0IGUwN2Q2YzUgOTA0MmU4MiBlZTkxODgxIFJSCWZvb2V5LmMJZnVleS5jCXBob29leS5jCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogTm90ZSB0aGF0ICdjb21iaW5lZCBkaWZmJyBsaXN0cyBvbmx5IGZpbGVzIHdoaWNoIHdlcmUgbW9kaWZpZWQgZnJvbQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kaWZmLWdlbmVyYXRlLXBhdGNoLnR4dCBiL0RvY3VtZW50YXRpb24vZGlmZi1nZW5lcmF0ZS1wYXRjaC50eHQKaW5kZXggMjMxMTA1Yy4uZThlZDY0NyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9kaWZmLWdlbmVyYXRlLXBhdGNoLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2RpZmYtZ2VuZXJhdGUtcGF0Y2gudHh0CkBAIC0xLDExICsxLDE1IEBACi1HZW5lcmF0aW5nIHBhdGNoZXMgd2l0aCAtcAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0dlbmVyYXRpbmcgcGF0Y2ggdGV4dCB3aXRoIC1wCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1XaGVuICJnaXQtZGlmZi1pbmRleCIsICJnaXQtZGlmZi10cmVlIiwgb3IgImdpdC1kaWZmLWZpbGVzIiBhcmUgcnVuCi13aXRoIGEgYC1wYCBvcHRpb24sICJnaXQgZGlmZiIgd2l0aG91dCB0aGUgYC0tcmF3YCBvcHRpb24sIG9yCi0iZ2l0IGxvZyIgd2l0aCB0aGUgIi1wIiBvcHRpb24sIHRoZXkKLWRvIG5vdCBwcm9kdWNlIHRoZSBvdXRwdXQgZGVzY3JpYmVkIGFib3ZlOyBpbnN0ZWFkIHRoZXkgcHJvZHVjZSBhCi1wYXRjaCBmaWxlLiAgWW91IGNhbiBjdXN0b21pemUgdGhlIGNyZWF0aW9uIG9mIHN1Y2ggcGF0Y2hlcyB2aWEgdGhlCitSdW5uaW5nCitsaW5rZ2l0OmdpdC1kaWZmWzFdLAorbGlua2dpdDpnaXQtbG9nWzFdLAorbGlua2dpdDpnaXQtc2hvd1sxXSwKK2xpbmtnaXQ6Z2l0LWRpZmYtaW5kZXhbMV0sCitsaW5rZ2l0OmdpdC1kaWZmLXRyZWVbMV0sIG9yCitsaW5rZ2l0OmdpdC1kaWZmLWZpbGVzWzFdCit3aXRoIHRoZSBgLXBgIG9wdGlvbiBwcm9kdWNlcyBwYXRjaCB0ZXh0LgorWW91IGNhbiBjdXN0b21pemUgdGhlIGNyZWF0aW9uIG9mIHBhdGNoIHRleHQgdmlhIHRoZQogYEdJVF9FWFRFUk5BTF9ESUZGYCBhbmQgdGhlIGBHSVRfRElGRl9PUFRTYCBlbnZpcm9ubWVudCB2YXJpYWJsZXMuCiAKIFdoYXQgdGhlIC1wIG9wdGlvbiBwcm9kdWNlcyBpcyBzbGlnaHRseSBkaWZmZXJlbnQgZnJvbSB0aGUgdHJhZGl0aW9uYWwKQEAgLTQ5LDcgKzUzLDcgQEAKIGZpbGVzLCB3aGlsZSAxMDAlIGRpc3NpbWlsYXJpdHkgbWVhbnMgdGhhdCBubyBsaW5lIGZyb20gdGhlIG9sZAogZmlsZSBtYWRlIGl0IGludG8gdGhlIG5ldyBvbmUuCiArCi1UaGUgaW5kZXggbGluZSBpbmNsdWRlcyB0aGUgU0hBLTEgY2hlY2tzdW0gYmVmb3JlIGFuZCBhZnRlciB0aGUgY2hhbmdlLgorVGhlIGluZGV4IGxpbmUgaW5jbHVkZXMgdGhlIGJsb2Igb2JqZWN0IG5hbWVzIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIGNoYW5nZS4KIFRoZSA8bW9kZT4gaXMgaW5jbHVkZWQgaWYgdGhlIGZpbGUgbW9kZSBkb2VzIG5vdCBjaGFuZ2U7IG90aGVyd2lzZSwKIHNlcGFyYXRlIGxpbmVzIGluZGljYXRlIHRoZSBvbGQgYW5kIHRoZSBuZXcgbW9kZS4KIApAQCAtNzAsNyArNzQsNyBAQAogICAgICAgcmVuYW1lIHRvIGEKIAogCi1jb21iaW5lZCBkaWZmIGZvcm1hdAorQ29tYmluZWQgZGlmZiBmb3JtYXQKIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIEFueSBkaWZmLWdlbmVyYXRpbmcgY29tbWFuZCBjYW4gdGFrZSB0aGUgYC1jYCBvciBgLS1jY2Agb3B0aW9uIHRvCkBAIC04MCw3ICs4NCw3IEBACiBvZiB0aGVzZSBjb21tYW5kcyB0byBmb3JjZSBnZW5lcmF0aW9uIG9mIGRpZmZzIHdpdGggaW5kaXZpZHVhbCBwYXJlbnRzCiBvZiBhIG1lcmdlLgogCi1BICdjb21iaW5lZCBkaWZmJyBmb3JtYXQgbG9va3MgbGlrZSB0aGlzOgorQSAiY29tYmluZWQgZGlmZiIgZm9ybWF0IGxvb2tzIGxpa2UgdGhpczoKIAogLS0tLS0tLS0tLS0tCiBkaWZmIC0tY29tYmluZWQgZGVzY3JpYmUuYwpAQCAtMTEzLDExICsxMTcsMTEgQEAKIC0tLS0tLS0tLS0tLQogCiAxLiAgIEl0IGlzIHByZWNlZGVkIHdpdGggYSAiZ2l0IGRpZmYiIGhlYWRlciwgdGhhdCBsb29rcyBsaWtlCi0gICAgIHRoaXMgKHdoZW4gYC1jYCBvcHRpb24gaXMgdXNlZCk6CisgICAgIHRoaXMgKHdoZW4gdGhlIGAtY2Agb3B0aW9uIGlzIHVzZWQpOgogCiAgICAgICAgZGlmZiAtLWNvbWJpbmVkIGZpbGUKICsKLW9yIGxpa2UgdGhpcyAod2hlbiBgLS1jY2Agb3B0aW9uIGlzIHVzZWQpOgorb3IgbGlrZSB0aGlzICh3aGVuIHRoZSBgLS1jY2Agb3B0aW9uIGlzIHVzZWQpOgogCiAgICAgICAgZGlmZiAtLWNjIGZpbGUKIApAQCAtMTQzLDExICsxNDcsMjQgQEAKIFNpbWlsYXIgdG8gdHdvLWxpbmUgaGVhZGVyIGZvciB0cmFkaXRpb25hbCAndW5pZmllZCcgZGlmZgogZm9ybWF0LCBgL2Rldi9udWxsYCBpcyB1c2VkIHRvIHNpZ25hbCBjcmVhdGVkIG9yIGRlbGV0ZWQKIGZpbGVzLgorKworSG93ZXZlciwgaWYgdGhlIC0tY29tYmluZWQtYWxsLXBhdGhzIG9wdGlvbiBpcyBwcm92aWRlZCwgaW5zdGVhZCBvZiBhCit0d28tbGluZSBmcm9tLWZpbGUvdG8tZmlsZSB5b3UgZ2V0IGEgTisxIGxpbmUgZnJvbS1maWxlL3RvLWZpbGUgaGVhZGVyLAord2hlcmUgTiBpcyB0aGUgbnVtYmVyIG9mIHBhcmVudHMgaW4gdGhlIG1lcmdlIGNvbW1pdAorCisgICAgICAgLS0tIGEvZmlsZQorICAgICAgIC0tLSBhL2ZpbGUKKyAgICAgICAtLS0gYS9maWxlCisgICAgICAgKysrIGIvZmlsZQorKworVGhpcyBleHRlbmRlZCBmb3JtYXQgY2FuIGJlIHVzZWZ1bCBpZiByZW5hbWUgb3IgY29weSBkZXRlY3Rpb24gaXMKK2FjdGl2ZSwgdG8gYWxsb3cgeW91IHRvIHNlZSB0aGUgb3JpZ2luYWwgbmFtZSBvZiB0aGUgZmlsZSBpbiBkaWZmZXJlbnQKK3BhcmVudHMuCiAKIDQuICAgQ2h1bmsgaGVhZGVyIGZvcm1hdCBpcyBtb2RpZmllZCB0byBwcmV2ZW50IHBlb3BsZSBmcm9tCiAgICAgIGFjY2lkZW50YWxseSBmZWVkaW5nIGl0IHRvIGBwYXRjaCAtcDFgLiBDb21iaW5lZCBkaWZmIGZvcm1hdAogICAgICB3YXMgY3JlYXRlZCBmb3IgcmV2aWV3IG9mIG1lcmdlIGNvbW1pdCBjaGFuZ2VzLCBhbmQgd2FzIG5vdAotICAgICBtZWFudCBmb3IgYXBwbHkuIFRoZSBjaGFuZ2UgaXMgc2ltaWxhciB0byB0aGUgY2hhbmdlIGluIHRoZQorICAgICBtZWFudCB0byBiZSBhcHBsaWVkLiBUaGUgY2hhbmdlIGlzIHNpbWlsYXIgdG8gdGhlIGNoYW5nZSBpbiB0aGUKICAgICAgZXh0ZW5kZWQgJ2luZGV4JyBoZWFkZXI6CiAKICAgICAgICBAQEAgPGZyb20tZmlsZS1yYW5nZT4gPGZyb20tZmlsZS1yYW5nZT4gPHRvLWZpbGUtcmFuZ2U+IEBAQApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kaWZmLW9wdGlvbnMudHh0IGIvRG9jdW1lbnRhdGlvbi9kaWZmLW9wdGlvbnMudHh0CmluZGV4IDAzNzhjZDUuLmJiMzFmMGMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZGlmZi1vcHRpb25zLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2RpZmYtb3B0aW9ucy50eHQKQEAgLTM2LDExICszNiwyMSBAQAogLVU8bj46OgogLS11bmlmaWVkPTxuPjo6CiAJR2VuZXJhdGUgZGlmZnMgd2l0aCA8bj4gbGluZXMgb2YgY29udGV4dCBpbnN0ZWFkIG9mCi0JdGhlIHVzdWFsIHRocmVlLgorCXRoZSB1c3VhbCB0aHJlZS4gSW1wbGllcyBgLS1wYXRjaGAuCiBpZm5kZWY6OmdpdC1mb3JtYXQtcGF0Y2hbXQogCUltcGxpZXMgYC1wYC4KIGVuZGlmOjpnaXQtZm9ybWF0LXBhdGNoW10KIAorLS1vdXRwdXQ9PGZpbGU+OjoKKwlPdXRwdXQgdG8gYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2Ygc3Rkb3V0LgorCistLW91dHB1dC1pbmRpY2F0b3ItbmV3PTxjaGFyPjo6CistLW91dHB1dC1pbmRpY2F0b3Itb2xkPTxjaGFyPjo6CistLW91dHB1dC1pbmRpY2F0b3ItY29udGV4dD08Y2hhcj46OgorCVNwZWNpZnkgdGhlIGNoYXJhY3RlciB1c2VkIHRvIGluZGljYXRlIG5ldywgb2xkIG9yIGNvbnRleHQKKwlsaW5lcyBpbiB0aGUgZ2VuZXJhdGVkIHBhdGNoLiBOb3JtYWxseSB0aGV5IGFyZSAnKycsICctJyBhbmQKKwknICcgcmVzcGVjdGl2ZWx5LgorCiBpZm5kZWY6OmdpdC1mb3JtYXQtcGF0Y2hbXQogLS1yYXc6OgogaWZuZGVmOjpnaXQtbG9nW10KQEAgLTE0OCw2ICsxNTgsNyBAQAogCW51bWJlciBvZiBtb2RpZmllZCBmaWxlcywgYXMgd2VsbCBhcyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQKIAlsaW5lcy4KIAorLVhbPHBhcmFtMSxwYXJhbTIsLi4uPl06OgogLS1kaXJzdGF0Wz08cGFyYW0xLHBhcmFtMiwuLi4+XTo6CiAJT3V0cHV0IHRoZSBkaXN0cmlidXRpb24gb2YgcmVsYXRpdmUgYW1vdW50IG9mIGNoYW5nZXMgZm9yIGVhY2gKIAlzdWItZGlyZWN0b3J5LiBUaGUgYmVoYXZpb3Igb2YgYC0tZGlyc3RhdGAgY2FuIGJlIGN1c3RvbWl6ZWQgYnkKQEAgLTE5Miw2ICsyMDMsMTIgQEAKIGFuZCBhY2N1bXVsYXRpbmcgY2hpbGQgZGlyZWN0b3J5IGNvdW50cyBpbiB0aGUgcGFyZW50IGRpcmVjdG9yaWVzOgogYC0tZGlyc3RhdD1maWxlcywxMCxjdW11bGF0aXZlYC4KIAorLS1jdW11bGF0aXZlOjoKKwlTeW5vbnltIGZvciAtLWRpcnN0YXQ9Y3VtdWxhdGl2ZQorCistLWRpcnN0YXQtYnktZmlsZVs9PHBhcmFtMSxwYXJhbTI+Li4uXTo6CisJU3lub255bSBmb3IgLS1kaXJzdGF0PWZpbGVzLHBhcmFtMSxwYXJhbTIuLi4KKwogLS1zdW1tYXJ5OjoKIAlPdXRwdXQgYSBjb25kZW5zZWQgc3VtbWFyeSBvZiBleHRlbmRlZCBoZWFkZXIgaW5mb3JtYXRpb24KIAlzdWNoIGFzIGNyZWF0aW9ucywgcmVuYW1lcyBhbmQgbW9kZSBjaGFuZ2VzLgpAQCAtMjkzLDggKzMxMCwxMiBAQAogCWBkaW1tZWRfemVicmFgIGlzIGEgZGVwcmVjYXRlZCBzeW5vbnltLgogLS0KIAorLS1uby1jb2xvci1tb3ZlZDo6CisJVHVybiBvZmYgbW92ZSBkZXRlY3Rpb24uIFRoaXMgY2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgY29uZmlndXJhdGlvbgorCXNldHRpbmdzLiBJdCBpcyB0aGUgc2FtZSBhcyBgLS1jb2xvci1tb3ZlZD1ub2AuCisKIC0tY29sb3ItbW92ZWQtd3M9PG1vZGVzPjo6Ci0JVGhpcyBjb25maWd1cmVzIGhvdyB3aGl0ZSBzcGFjZXMgYXJlIGlnbm9yZWQgd2hlbiBwZXJmb3JtaW5nIHRoZQorCVRoaXMgY29uZmlndXJlcyBob3cgd2hpdGVzcGFjZSBpcyBpZ25vcmVkIHdoZW4gcGVyZm9ybWluZyB0aGUKIAltb3ZlIGRldGVjdGlvbiBmb3IgYC0tY29sb3ItbW92ZWRgLgogaWZkZWY6OmdpdC1kaWZmW10KIAlJdCBjYW4gYmUgc2V0IGJ5IHRoZSBgZGlmZi5jb2xvck1vdmVkV1NgIGNvbmZpZ3VyYXRpb24gc2V0dGluZy4KQEAgLTMwMiw2ICszMjMsOCBAQAogCVRoZXNlIG1vZGVzIGNhbiBiZSBnaXZlbiBhcyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0OgogKwogLS0KK25vOjoKKwlEbyBub3QgaWdub3JlIHdoaXRlc3BhY2Ugd2hlbiBwZXJmb3JtaW5nIG1vdmUgZGV0ZWN0aW9uLgogaWdub3JlLXNwYWNlLWF0LWVvbDo6CiAJSWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSBhdCBFT0wuCiBpZ25vcmUtc3BhY2UtY2hhbmdlOjoKQEAgLTMxMiwxMiArMzM1LDE3IEBACiAJSWdub3JlIHdoaXRlc3BhY2Ugd2hlbiBjb21wYXJpbmcgbGluZXMuIFRoaXMgaWdub3JlcyBkaWZmZXJlbmNlcwogCWV2ZW4gaWYgb25lIGxpbmUgaGFzIHdoaXRlc3BhY2Ugd2hlcmUgdGhlIG90aGVyIGxpbmUgaGFzIG5vbmUuCiBhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2U6OgotCUluaXRpYWxseSBpZ25vcmUgYW55IHdoaXRlIHNwYWNlcyBpbiB0aGUgbW92ZSBkZXRlY3Rpb24sIHRoZW4KKwlJbml0aWFsbHkgaWdub3JlIGFueSB3aGl0ZXNwYWNlIGluIHRoZSBtb3ZlIGRldGVjdGlvbiwgdGhlbgogCWdyb3VwIHRoZSBtb3ZlZCBjb2RlIGJsb2NrcyBvbmx5IGludG8gYSBibG9jayBpZiB0aGUgY2hhbmdlIGluCiAJd2hpdGVzcGFjZSBpcyB0aGUgc2FtZSBwZXIgbGluZS4gVGhpcyBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUKIAlvdGhlciBtb2Rlcy4KIC0tCiAKKy0tbm8tY29sb3ItbW92ZWQtd3M6OgorCURvIG5vdCBpZ25vcmUgd2hpdGVzcGFjZSB3aGVuIHBlcmZvcm1pbmcgbW92ZSBkZXRlY3Rpb24uIFRoaXMgY2FuIGJlCisJdXNlZCB0byBvdmVycmlkZSBjb25maWd1cmF0aW9uIHNldHRpbmdzLiBJdCBpcyB0aGUgc2FtZSBhcworCWAtLWNvbG9yLW1vdmVkLXdzPW5vYC4KKwogLS13b3JkLWRpZmZbPTxtb2RlPl06OgogCVNob3cgYSB3b3JkIGRpZmYsIHVzaW5nIHRoZSA8bW9kZT4gdG8gZGVsaW1pdCBjaGFuZ2VkIHdvcmRzLgogCUJ5IGRlZmF1bHQsIHdvcmRzIGFyZSBkZWxpbWl0ZWQgYnkgd2hpdGVzcGFjZTsgc2VlCkBAIC0zNzUsNiArNDAzLDkgQEAKIAlUdXJuIG9mZiByZW5hbWUgZGV0ZWN0aW9uLCBldmVuIHdoZW4gdGhlIGNvbmZpZ3VyYXRpb24KIAlmaWxlIGdpdmVzIHRoZSBkZWZhdWx0IHRvIGRvIHNvLgogCistLVtuby1dcmVuYW1lLWVtcHR5OjoKKwlXaGV0aGVyIHRvIHVzZSBlbXB0eSBibG9icyBhcyByZW5hbWUgc291cmNlLgorCiBpZm5kZWY6OmdpdC1mb3JtYXQtcGF0Y2hbXQogLS1jaGVjazo6CiAJV2FybiBpZiBjaGFuZ2VzIGludHJvZHVjZSBjb25mbGljdCBtYXJrZXJzIG9yIHdoaXRlc3BhY2UgZXJyb3JzLgpAQCAtNDA1LDcgKzQzNiw3IEBACiAKIC0tYmluYXJ5OjoKIAlJbiBhZGRpdGlvbiB0byBgLS1mdWxsLWluZGV4YCwgb3V0cHV0IGEgYmluYXJ5IGRpZmYgdGhhdAotCWNhbiBiZSBhcHBsaWVkIHdpdGggYGdpdC1hcHBseWAuCisJY2FuIGJlIGFwcGxpZWQgd2l0aCBgZ2l0LWFwcGx5YC4gSW1wbGllcyBgLS1wYXRjaGAuCiAKIC0tYWJicmV2Wz08bj5dOjoKIAlJbnN0ZWFkIG9mIHNob3dpbmcgdGhlIGZ1bGwgNDAtYnl0ZSBoZXhhZGVjaW1hbCBvYmplY3QKQEAgLTUyNCw2ICs1NTUsOCBAQAogY2FtZSBpbnRvIGJlaW5nOiB1c2UgdGhlIGZlYXR1cmUgaXRlcmF0aXZlbHkgdG8gZmVlZCB0aGUgaW50ZXJlc3RpbmcKIGJsb2NrIGluIHRoZSBwcmVpbWFnZSBiYWNrIGludG8gYC1TYCwgYW5kIGtlZXAgZ29pbmcgdW50aWwgeW91IGdldCB0aGUKIHZlcnkgZmlyc3QgdmVyc2lvbiBvZiB0aGUgYmxvY2suCisrCitCaW5hcnkgZmlsZXMgYXJlIHNlYXJjaGVkIGFzIHdlbGwuCiAKIC1HPHJlZ2V4Pjo6CiAJTG9vayBmb3IgZGlmZmVyZW5jZXMgd2hvc2UgcGF0Y2ggdGV4dCBjb250YWlucyBhZGRlZC9yZW1vdmVkCkBAIC01MzQsMTUgKzU2NywxOCBAQAogZmlsZToKICsKIC0tLS0KLSsgICAgcmV0dXJuICFyZWdleGVjKHJlZ2V4cCwgdHdvLT5wdHIsIDEsICZyZWdtYXRjaCwgMCk7CisrICAgIHJldHVybiBmcm90eihuaXRmb2wsIHR3by0+cHRyLCAxLCAwKTsKIC4uLgotLSAgICBoaXQgPSAhcmVnZXhlYyhyZWdleHAsIG1mMi5wdHIsIDEsICZyZWdtYXRjaCwgMCk7CistICAgIGhpdCA9IGZyb3R6KG5pdGZvbCwgbWYyLnB0ciwgMSwgMCk7CiAtLS0tCiArCi1XaGlsZSBgZ2l0IGxvZyAtRyJyZWdleGVjXChyZWdleHAiYCB3aWxsIHNob3cgdGhpcyBjb21taXQsIGBnaXQgbG9nCi0tUyJyZWdleGVjXChyZWdleHAiIC0tcGlja2F4ZS1yZWdleGAgd2lsbCBub3QgKGJlY2F1c2UgdGhlIG51bWJlciBvZgorV2hpbGUgYGdpdCBsb2cgLUciZnJvdHpcKG5pdGZvbCJgIHdpbGwgc2hvdyB0aGlzIGNvbW1pdCwgYGdpdCBsb2cKKy1TImZyb3R6XChuaXRmb2wiIC0tcGlja2F4ZS1yZWdleGAgd2lsbCBub3QgKGJlY2F1c2UgdGhlIG51bWJlciBvZgogb2NjdXJyZW5jZXMgb2YgdGhhdCBzdHJpbmcgZGlkIG5vdCBjaGFuZ2UpLgogKworVW5sZXNzIGAtLXRleHRgIGlzIHN1cHBsaWVkIHBhdGNoZXMgb2YgYmluYXJ5IGZpbGVzIHdpdGhvdXQgYSB0ZXh0Y29udgorZmlsdGVyIHdpbGwgYmUgaWdub3JlZC4KKysKIFNlZSB0aGUgJ3BpY2theGUnIGVudHJ5IGluIGxpbmtnaXQ6Z2l0ZGlmZmNvcmVbN10gZm9yIG1vcmUKIGluZm9ybWF0aW9uLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RvYy1kaWZmIGIvRG9jdW1lbnRhdGlvbi9kb2MtZGlmZgppbmRleCBkZmQ5NDE4Li4xNjk0MzAwIDEwMDc1NQotLS0gYS9Eb2N1bWVudGF0aW9uL2RvYy1kaWZmCisrKyBiL0RvY3VtZW50YXRpb24vZG9jLWRpZmYKQEAgLTEyLDkgKzEyLDE2IEBACiBkb2MtZGlmZiBbb3B0aW9uc10gPGZyb20+IDx0bz4gWy0tIDxkaWZmLW9wdGlvbnM+XQogZG9jLWRpZmYgKC1jfC0tY2xlYW4pCiAtLQotaj1uCXBhcmFsbGVsIGFyZ3VtZW50IHRvIHBhc3MgdG8gbWFrZQotZglmb3JjZSByZWJ1aWxkOyBkbyBub3QgcmVseSBvbiBjYWNoZWQgcmVzdWx0cwotYyxjbGVhbgljbGVhbnVwIHRlbXBvcmFyeSB3b3JraW5nIGZpbGVzCitqPW4JCQlwYXJhbGxlbCBhcmd1bWVudCB0byBwYXNzIHRvIG1ha2UKK2YJCQlmb3JjZSByZWJ1aWxkOyBkbyBub3QgcmVseSBvbiBjYWNoZWQgcmVzdWx0cworYyxjbGVhbgkJCWNsZWFudXAgdGVtcG9yYXJ5IHdvcmtpbmcgZmlsZXMKK2Zyb20tYXNjaWlkb2MJCXVzZSBhc2NpaWRvYyB3aXRoIHRoZSAnZnJvbSctY29tbWl0Citmcm9tLWFzY2lpZG9jdG9yCXVzZSBhc2NpaWRvY3RvciB3aXRoIHRoZSAnZnJvbSctY29tbWl0Cithc2NpaWRvYwkJdXNlIGFzY2lpZG9jIHdpdGggYm90aCBjb21taXRzCit0by1hc2NpaWRvYwkJdXNlIGFzY2lpZG9jIHdpdGggdGhlICd0byctY29tbWl0Cit0by1hc2NpaWRvY3RvcgkJdXNlIGFzY2lpZG9jdG9yIHdpdGggdGhlICd0byctY29tbWl0Cithc2NpaWRvY3RvcgkJdXNlIGFzY2lpZG9jdG9yIHdpdGggYm90aCBjb21taXRzCitjdXQtZm9vdGVyCQljdXQgYXdheSBmb290ZXIKICIKIFNVQkRJUkVDVE9SWV9PSz0xCiAuICIkKGdpdCAtLWV4ZWMtcGF0aCkvZ2l0LXNoLXNldHVwIgpAQCAtMjIsNiArMjksOSBAQAogcGFyYWxsZWw9CiBmb3JjZT0KIGNsZWFuPQorZnJvbV9wcm9ncmFtPQordG9fcHJvZ3JhbT0KK2N1dF9mb290ZXI9CiB3aGlsZSB0ZXN0ICQjIC1ndCAwCiBkbwogCWNhc2UgIiQxIiBpbgpAQCAtMzEsNiArNDEsMjIgQEAKIAkJY2xlYW49dCA7OwogCS1mKQogCQlmb3JjZT10IDs7CisJLS1mcm9tLWFzY2lpZG9jdG9yKQorCQlmcm9tX3Byb2dyYW09LWFzY2lpZG9jdG9yIDs7CisJLS10by1hc2NpaWRvY3RvcikKKwkJdG9fcHJvZ3JhbT0tYXNjaWlkb2N0b3IgOzsKKwktLWFzY2lpZG9jdG9yKQorCQlmcm9tX3Byb2dyYW09LWFzY2lpZG9jdG9yCisJCXRvX3Byb2dyYW09LWFzY2lpZG9jdG9yIDs7CisJLS1mcm9tLWFzY2lpZG9jKQorCQlmcm9tX3Byb2dyYW09LWFzY2lpZG9jIDs7CisJLS10by1hc2NpaWRvYykKKwkJdG9fcHJvZ3JhbT0tYXNjaWlkb2MgOzsKKwktLWFzY2lpZG9jKQorCQlmcm9tX3Byb2dyYW09LWFzY2lpZG9jCisJCXRvX3Byb2dyYW09LWFzY2lpZG9jIDs7CisJLS1jdXQtZm9vdGVyKQorCQljdXRfZm9vdGVyPS1jdXQtZm9vdGVyIDs7CiAJLS0pCiAJCXNoaWZ0OyBicmVhayA7OwogCSopCkBAIC0zOSw4ICs2NSw3IEBACiAJc2hpZnQKIGRvbmUKIAotY2RfdG9fdG9wbGV2ZWwKLXRtcD1Eb2N1bWVudGF0aW9uL3RtcC1kb2MtZGlmZgordG1wPSIkKGdpdCByZXYtcGFyc2UgLS1zaG93LXRvcGxldmVsKS9Eb2N1bWVudGF0aW9uL3RtcC1kb2MtZGlmZiIgfHwgZXhpdCAxCiAKIGlmIHRlc3QgLW4gIiRjbGVhbiIKIHRoZW4KQEAgLTgwLDEzICsxMDUsMjkgQEAKIAlsbiAtcyAiJGRvdHMvY29uZmlnLm1hayIgIiR0bXAvd29ya3RyZWUvY29uZmlnLm1hayIKIGZpCiAKK2NvbnN0cnVjdF9tYWtlbWFuZmxhZ3MgKCkgeworCWlmIHRlc3QgIiQxIiA9ICItYXNjaWlkb2MiCisJdGhlbgorCQllY2hvIFVTRV9BU0NJSURPQ1RPUj0KKwllbGlmIHRlc3QgIiQxIiA9ICItYXNjaWlkb2N0b3IiCisJdGhlbgorCQllY2hvIFVTRV9BU0NJSURPQ1RPUj1ZZXNQbGVhc2UKKwlmaQorfQorCitmcm9tX21ha2VtYW5mbGFncz0kKGNvbnN0cnVjdF9tYWtlbWFuZmxhZ3MgIiRmcm9tX3Byb2dyYW0iKSAmJgordG9fbWFrZW1hbmZsYWdzPSQoY29uc3RydWN0X21ha2VtYW5mbGFncyAiJHRvX3Byb2dyYW0iKSAmJgorCitmcm9tX2Rpcj0kZnJvbV9vaWQkZnJvbV9wcm9ncmFtJGN1dF9mb290ZXIgJiYKK3RvX2Rpcj0kdG9fb2lkJHRvX3Byb2dyYW0kY3V0X2Zvb3RlciAmJgorCiAjIGdlbmVyYXRlX3JlbmRlcl9tYWtlZmlsZSA8c3JjZGlyPiA8ZHN0ZGlyPgogZ2VuZXJhdGVfcmVuZGVyX21ha2VmaWxlICgpIHsKIAlmaW5kICIkMSIgLXR5cGUgZiB8CiAJd2hpbGUgcmVhZCBzcmMKIAlkbwogCQlkc3Q9JDIvJHtzcmMjJDEvfQotCQlwcmludGYgJ2FsbDo6ICVzXG4nICIkZHN0IgorCQlwcmludGYgJ2FsbDogJXNcbicgIiRkc3QiCiAJCXByaW50ZiAnJXM6ICVzXG4nICIkZHN0IiAiJHNyYyIKIAkJcHJpbnRmICdcdEBlY2hvID4mMiAiICBSRU5ERVIgJChub3RkaXIgJEApIiAmJiBcXFxuJwogCQlwcmludGYgJ1x0bWtkaXIgLXAgJChkaXIgJEApICYmIFxcXG4nCkBAIC05NSw3ICsxMzYsNyBAQAogCWRvbmUKIH0KIAotIyByZW5kZXJfdHJlZSA8Y29tbWl0dGlzaF9vaWQ+CisjIHJlbmRlcl90cmVlIDxjb21taXR0aXNoX29pZD4gPGRpcmVjdG9yeV9uYW1lPiA8bWFrZW1hbmZsYWdzPgogcmVuZGVyX3RyZWUgKCkgewogCSMgU2tpcCBpbnN0YWxsLW1hbiBlbnRpcmVseSBpZiB3ZSBhbHJlYWR5IGhhdmUgYW4gaW5zdGFsbGVkIGRpcmVjdG9yeS4KIAkjIFdlIGNhbid0IHJlbHkgb24gbWFrZSBoZXJlLCBzaW5jZSAiaW5zdGFsbC1tYW4iIHVuY29uZGl0aW9uYWxseQpAQCAtMTAzLDI4ICsxNDQsNDMgQEAKIAkjIHdlIHRoZW4gY2FuJ3QgcmVseSBvbiBkdXJpbmcgdGhlIHJlbmRlciBzdGVwKS4gV2UgdXNlICJtdiIgdG8gbWFrZQogCSMgc3VyZSB3ZSBkb24ndCBnZXQgY29uZnVzZWQgYnkgYSBwcmV2aW91cyBydW4gdGhhdCBmYWlsZWQgcGFydHdheQogCSMgdGhyb3VnaC4KLQlpZiAhIHRlc3QgLWQgIiR0bXAvaW5zdGFsbGVkLyQxIgorCW9pZD0kMSAmJgorCWRuYW1lPSQyICYmCisJbWFrZW1hbmZsYWdzPSQzICYmCisJaWYgISB0ZXN0IC1kICIkdG1wL2luc3RhbGxlZC8kZG5hbWUiCiAJdGhlbgotCQlnaXQgLUMgIiR0bXAvd29ya3RyZWUiIGNoZWNrb3V0IC0tZGV0YWNoICIkMSIgJiYKKwkJZ2l0IC1DICIkdG1wL3dvcmt0cmVlIiBjaGVja291dCAtLWRldGFjaCAiJG9pZCIgJiYKIAkJbWFrZSAtaiRwYXJhbGxlbCAtQyAiJHRtcC93b3JrdHJlZSIgXAorCQkJJG1ha2VtYW5mbGFncyBcCiAJCQlHSVRfVkVSU0lPTj1vbWl0dGVkIFwKIAkJCVNPVVJDRV9EQVRFX0VQT0NIPTAgXAotCQkJREVTVERJUj0iJFBXRC8kdG1wL2luc3RhbGxlZC8kMSsiIFwKKwkJCURFU1RESVI9IiR0bXAvaW5zdGFsbGVkLyRkbmFtZSsiIFwKIAkJCWluc3RhbGwtbWFuICYmCi0JCW12ICIkdG1wL2luc3RhbGxlZC8kMSsiICIkdG1wL2luc3RhbGxlZC8kMSIKKwkJbXYgIiR0bXAvaW5zdGFsbGVkLyRkbmFtZSsiICIkdG1wL2luc3RhbGxlZC8kZG5hbWUiCiAJZmkgJiYKIAogCSMgQXMgd2l0aCAiaW5zdGFsbGVkIiBhYm92ZSwgd2Ugc2tpcCB0aGUgcmVuZGVyIGlmIGl0J3MgYWxyZWFkeSBiZWVuCiAJIyBkb25lLiAgU28gdXNpbmcgbWFrZSBoZXJlIGlzIHByaW1hcmlseSBqdXN0IGFib3V0IHJ1bm5pbmcgaW4KIAkjIHBhcmFsbGVsLgotCWlmICEgdGVzdCAtZCAiJHRtcC9yZW5kZXJlZC8kMSIKKwlpZiAhIHRlc3QgLWQgIiR0bXAvcmVuZGVyZWQvJGRuYW1lIgogCXRoZW4KLQkJZ2VuZXJhdGVfcmVuZGVyX21ha2VmaWxlICIkdG1wL2luc3RhbGxlZC8kMSIgIiR0bXAvcmVuZGVyZWQvJDErIiB8CisJCWdlbmVyYXRlX3JlbmRlcl9tYWtlZmlsZSAiJHRtcC9pbnN0YWxsZWQvJGRuYW1lIiBcCisJCQkiJHRtcC9yZW5kZXJlZC8kZG5hbWUrIiB8CiAJCW1ha2UgLWokcGFyYWxsZWwgLWYgLSAmJgotCQltdiAiJHRtcC9yZW5kZXJlZC8kMSsiICIkdG1wL3JlbmRlcmVkLyQxIgorCQltdiAiJHRtcC9yZW5kZXJlZC8kZG5hbWUrIiAiJHRtcC9yZW5kZXJlZC8kZG5hbWUiCisKKwkJaWYgdGVzdCAiJGN1dF9mb290ZXIiID0gIi1jdXQtZm9vdGVyIgorCQl0aGVuCisJCQlmb3IgZiBpbiAkKGZpbmQgIiR0bXAvcmVuZGVyZWQvJGRuYW1lIiAtdHlwZSBmKQorCQkJZG8KKwkJCQloZWFkIC1uIC0yICIkZiIgfCBzZWQgLWUgJyR7L14kL2R9JyA+IiRmKyIgJiYKKwkJCQltdiAiJGYrIiAiJGYiIHx8CisJCQkJcmV0dXJuIDEKKwkJCWRvbmUKKwkJZmkKIAlmaQogfQogCi1yZW5kZXJfdHJlZSAkZnJvbV9vaWQgJiYKLXJlbmRlcl90cmVlICR0b19vaWQgJiYKLWdpdCAtQyAkdG1wL3JlbmRlcmVkIGRpZmYgLS1uby1pbmRleCAiJEAiICRmcm9tX29pZCAkdG9fb2lkCityZW5kZXJfdHJlZSAkZnJvbV9vaWQgJGZyb21fZGlyICRmcm9tX21ha2VtYW5mbGFncyAmJgorcmVuZGVyX3RyZWUgJHRvX29pZCAkdG9fZGlyICR0b19tYWtlbWFuZmxhZ3MgJiYKK2dpdCAtQyAkdG1wL3JlbmRlcmVkIGRpZmYgLS1uby1pbmRleCAiJEAiICRmcm9tX2RpciAkdG9fZGlyCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZldGNoLW9wdGlvbnMudHh0IGIvRG9jdW1lbnRhdGlvbi9mZXRjaC1vcHRpb25zLnR4dAppbmRleCBmYTBhMzE1Li5hMTE1YTFhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2ZldGNoLW9wdGlvbnMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZmV0Y2gtb3B0aW9ucy50eHQKQEAgLTg4LDYgKzg4LDE0IEBACiAJQWxsb3cgc2V2ZXJhbCA8cmVwb3NpdG9yeT4gYW5kIDxncm91cD4gYXJndW1lbnRzIHRvIGJlCiAJc3BlY2lmaWVkLiBObyA8cmVmc3BlYz5zIG1heSBiZSBzcGVjaWZpZWQuCiAKKy0tW25vLV1hdXRvLWdjOjoKKwlSdW4gYGdpdCBnYyAtLWF1dG9gIGF0IHRoZSBlbmQgdG8gcGVyZm9ybSBnYXJiYWdlIGNvbGxlY3Rpb24KKwlpZiBuZWVkZWQuIFRoaXMgaXMgZW5hYmxlZCBieSBkZWZhdWx0LgorCistLVtuby1dd3JpdGUtY29tbWl0LWdyYXBoOjoKKwlXcml0ZSBhIGNvbW1pdC1ncmFwaCBhZnRlciBmZXRjaGluZy4gVGhpcyBvdmVycmlkZXMgdGhlIGNvbmZpZworCXNldHRpbmcgYGZldGNoLndyaXRlQ29tbWl0R3JhcGhgLgorCiAtcDo6CiAtLXBydW5lOjoKIAlCZWZvcmUgZmV0Y2hpbmcsIHJlbW92ZSBhbnkgcmVtb3RlLXRyYWNraW5nIHJlZmVyZW5jZXMgdGhhdCBubwpAQCAtMTMxLDcgKzEzOSwxMCBAQAogCXNwZWNpZmllZCByZWZzcGVjIChjYW4gYmUgZ2l2ZW4gbW9yZSB0aGFuIG9uY2UpIHRvIG1hcCB0aGUKIAlyZWZzIHRvIHJlbW90ZS10cmFja2luZyBicmFuY2hlcywgaW5zdGVhZCBvZiB0aGUgdmFsdWVzIG9mCiAJYHJlbW90ZS4qLmZldGNoYCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyBmb3IgdGhlIHJlbW90ZQotCXJlcG9zaXRvcnkuICBTZWUgc2VjdGlvbiBvbiAiQ29uZmlndXJlZCBSZW1vdGUtdHJhY2tpbmcKKwlyZXBvc2l0b3J5LiAgUHJvdmlkaW5nIGFuIGVtcHR5IGA8cmVmc3BlYz5gIHRvIHRoZQorCWAtLXJlZm1hcGAgb3B0aW9uIGNhdXNlcyBHaXQgdG8gaWdub3JlIHRoZSBjb25maWd1cmVkCisJcmVmc3BlY3MgYW5kIHJlbHkgZW50aXJlbHkgb24gdGhlIHJlZnNwZWNzIHN1cHBsaWVkIGFzCisJY29tbWFuZC1saW5lIGFyZ3VtZW50cy4gU2VlIHNlY3Rpb24gb24gIkNvbmZpZ3VyZWQgUmVtb3RlLXRyYWNraW5nCiAJQnJhbmNoZXMiIGZvciBkZXRhaWxzLgogCiAtdDo6CkBAIC0xNTYsMTUgKzE2NywyNyBAQAogCiAtajo6CiAtLWpvYnM9PG4+OjoKLQlOdW1iZXIgb2YgcGFyYWxsZWwgY2hpbGRyZW4gdG8gYmUgdXNlZCBmb3IgZmV0Y2hpbmcgc3VibW9kdWxlcy4KLQlFYWNoIHdpbGwgZmV0Y2ggZnJvbSBkaWZmZXJlbnQgc3VibW9kdWxlcywgc3VjaCB0aGF0IGZldGNoaW5nIG1hbnkKLQlzdWJtb2R1bGVzIHdpbGwgYmUgZmFzdGVyLiBCeSBkZWZhdWx0IHN1Ym1vZHVsZXMgd2lsbCBiZSBmZXRjaGVkCi0Jb25lIGF0IGEgdGltZS4KKwlOdW1iZXIgb2YgcGFyYWxsZWwgY2hpbGRyZW4gdG8gYmUgdXNlZCBmb3IgYWxsIGZvcm1zIG9mIGZldGNoaW5nLgorKworSWYgdGhlIGAtLW11bHRpcGxlYCBvcHRpb24gd2FzIHNwZWNpZmllZCwgdGhlIGRpZmZlcmVudCByZW1vdGVzIHdpbGwgYmUgZmV0Y2hlZAoraW4gcGFyYWxsZWwuIElmIG11bHRpcGxlIHN1Ym1vZHVsZXMgYXJlIGZldGNoZWQsIHRoZXkgd2lsbCBiZSBmZXRjaGVkIGluCitwYXJhbGxlbC4gVG8gY29udHJvbCB0aGVtIGluZGVwZW5kZW50bHksIHVzZSB0aGUgY29uZmlnIHNldHRpbmdzCitgZmV0Y2gucGFyYWxsZWxgIGFuZCBgc3VibW9kdWxlLmZldGNoSm9ic2AgKHNlZSBsaW5rZ2l0OmdpdC1jb25maWdbMV0pLgorKworVHlwaWNhbGx5LCBwYXJhbGxlbCByZWN1cnNpdmUgYW5kIG11bHRpLXJlbW90ZSBmZXRjaGVzIHdpbGwgYmUgZmFzdGVyLiBCeQorZGVmYXVsdCBmZXRjaGVzIGFyZSBwZXJmb3JtZWQgc2VxdWVudGlhbGx5LCBub3QgaW4gcGFyYWxsZWwuCiAKIC0tbm8tcmVjdXJzZS1zdWJtb2R1bGVzOjoKIAlEaXNhYmxlIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzICh0aGlzIGhhcyB0aGUgc2FtZSBlZmZlY3QgYXMKIAl1c2luZyB0aGUgYC0tcmVjdXJzZS1zdWJtb2R1bGVzPW5vYCBvcHRpb24pLgogCistLXNldC11cHN0cmVhbTo6CisJSWYgdGhlIHJlbW90ZSBpcyBmZXRjaGVkIHN1Y2Nlc3NmdWxseSwgcHVsbCBhbmQgYWRkIHVwc3RyZWFtCisJKHRyYWNraW5nKSByZWZlcmVuY2UsIHVzZWQgYnkgYXJndW1lbnQtbGVzcworCWxpbmtnaXQ6Z2l0LXB1bGxbMV0gYW5kIG90aGVyIGNvbW1hbmRzLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwKKwlzZWUgYGJyYW5jaC48bmFtZT4ubWVyZ2VgIGFuZCBgYnJhbmNoLjxuYW1lPi5yZW1vdGVgIGluCisJbGlua2dpdDpnaXQtY29uZmlnWzFdLgorCiAtLXN1Ym1vZHVsZS1wcmVmaXg9PHBhdGg+OjoKIAlQcmVwZW5kIDxwYXRoPiB0byBwYXRocyBwcmludGVkIGluIGluZm9ybWF0aXZlIG1lc3NhZ2VzCiAJc3VjaCBhcyAiRmV0Y2hpbmcgc3VibW9kdWxlIGZvbyIuICBUaGlzIG9wdGlvbiBpcyB1c2VkCkBAIC0yMTYsMTAgKzIzOSwyNCBAQAogLS1zZXJ2ZXItb3B0aW9uPTxvcHRpb24+OjoKIAlUcmFuc21pdCB0aGUgZ2l2ZW4gc3RyaW5nIHRvIHRoZSBzZXJ2ZXIgd2hlbiBjb21tdW5pY2F0aW5nIHVzaW5nCiAJcHJvdG9jb2wgdmVyc2lvbiAyLiAgVGhlIGdpdmVuIHN0cmluZyBtdXN0IG5vdCBjb250YWluIGEgTlVMIG9yIExGCi0JY2hhcmFjdGVyLgorCWNoYXJhY3Rlci4gIFRoZSBzZXJ2ZXIncyBoYW5kbGluZyBvZiBzZXJ2ZXIgb3B0aW9ucywgaW5jbHVkaW5nCisJdW5rbm93biBvbmVzLCBpcyBzZXJ2ZXItc3BlY2lmaWMuCiAJV2hlbiBtdWx0aXBsZSBgLS1zZXJ2ZXItb3B0aW9uPTxvcHRpb24+YCBhcmUgZ2l2ZW4sIHRoZXkgYXJlIGFsbAogCXNlbnQgdG8gdGhlIG90aGVyIHNpZGUgaW4gdGhlIG9yZGVyIGxpc3RlZCBvbiB0aGUgY29tbWFuZCBsaW5lLgogCistLXNob3ctZm9yY2VkLXVwZGF0ZXM6OgorCUJ5IGRlZmF1bHQsIGdpdCBjaGVja3MgaWYgYSBicmFuY2ggaXMgZm9yY2UtdXBkYXRlZCBkdXJpbmcKKwlmZXRjaC4gVGhpcyBjYW4gYmUgZGlzYWJsZWQgdGhyb3VnaCBmZXRjaC5zaG93Rm9yY2VkVXBkYXRlcywgYnV0CisJdGhlIC0tc2hvdy1mb3JjZWQtdXBkYXRlcyBvcHRpb24gZ3VhcmFudGVlcyB0aGlzIGNoZWNrIG9jY3Vycy4KKwlTZWUgbGlua2dpdDpnaXQtY29uZmlnWzFdLgorCistLW5vLXNob3ctZm9yY2VkLXVwZGF0ZXM6OgorCUJ5IGRlZmF1bHQsIGdpdCBjaGVja3MgaWYgYSBicmFuY2ggaXMgZm9yY2UtdXBkYXRlZCBkdXJpbmcKKwlmZXRjaC4gUGFzcyAtLW5vLXNob3ctZm9yY2VkLXVwZGF0ZXMgb3Igc2V0IGZldGNoLnNob3dGb3JjZWRVcGRhdGVzCisJdG8gZmFsc2UgdG8gc2tpcCB0aGlzIGNoZWNrIGZvciBwZXJmb3JtYW5jZSByZWFzb25zLiBJZiB1c2VkIGR1cmluZworCSdnaXQtcHVsbCcgdGhlIC0tZmYtb25seSBvcHRpb24gd2lsbCBzdGlsbCBjaGVjayBmb3IgZm9yY2VkIHVwZGF0ZXMKKwliZWZvcmUgYXR0ZW1wdGluZyBhIGZhc3QtZm9yd2FyZCB1cGRhdGUuIFNlZSBsaW5rZ2l0OmdpdC1jb25maWdbMV0uCisKIC00OjoKIC0taXB2NDo6CiAJVXNlIElQdjQgYWRkcmVzc2VzIG9ubHksIGlnbm9yaW5nIElQdjYgYWRkcmVzc2VzLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtYWRkLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWFkZC50eHQKaW5kZXggNDU2NTJmZS4uYmU1ZTNhYyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtYWRkLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1hZGQudHh0CkBAIC0xMSw3ICsxMSw4IEBACiAnZ2l0IGFkZCcgWy0tdmVyYm9zZSB8IC12XSBbLS1kcnktcnVuIHwgLW5dIFstLWZvcmNlIHwgLWZdIFstLWludGVyYWN0aXZlIHwgLWldIFstLXBhdGNoIHwgLXBdCiAJICBbLS1lZGl0IHwgLWVdIFstLVtuby1dYWxsIHwgLS1bbm8tXWlnbm9yZS1yZW1vdmFsIHwgWy0tdXBkYXRlIHwgLXVdXQogCSAgWy0taW50ZW50LXRvLWFkZCB8IC1OXSBbLS1yZWZyZXNoXSBbLS1pZ25vcmUtZXJyb3JzXSBbLS1pZ25vcmUtbWlzc2luZ10gWy0tcmVub3JtYWxpemVdCi0JICBbLS1jaG1vZD0oK3wtKXhdIFstLV0gWzxwYXRoc3BlYz4uLi5dCisJICBbLS1jaG1vZD0oK3wtKXhdIFstLXBhdGhzcGVjLWZyb20tZmlsZT08ZmlsZT4gWy0tcGF0aHNwZWMtZmlsZS1udWxdXQorCSAgWy0tXSBbPHBhdGhzcGVjPi4uLl0KIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCkBAIC01OCw5ICs1OSw5IEBACiAJc3BlY2lmeWluZyBgZGlyYCB3aWxsIHJlY29yZCBub3QganVzdCBhIGZpbGUgYGRpci9maWxlMWAKIAltb2RpZmllZCBpbiB0aGUgd29ya2luZyB0cmVlLCBhIGZpbGUgYGRpci9maWxlMmAgYWRkZWQgdG8KIAl0aGUgd29ya2luZyB0cmVlLCBidXQgYWxzbyBhIGZpbGUgYGRpci9maWxlM2AgcmVtb3ZlZCBmcm9tCi0JdGhlIHdvcmtpbmcgdHJlZS4gIE5vdGUgdGhhdCBvbGRlciB2ZXJzaW9ucyBvZiBHaXQgdXNlZAorCXRoZSB3b3JraW5nIHRyZWUpLiBOb3RlIHRoYXQgb2xkZXIgdmVyc2lvbnMgb2YgR2l0IHVzZWQKIAl0byBpZ25vcmUgcmVtb3ZlZCBmaWxlczsgdXNlIGAtLW5vLWFsbGAgb3B0aW9uIGlmIHlvdSB3YW50Ci0JdG8gYWRkIG1vZGlmaWVkIG9yIG5ldyBmaWxlcyBidXQgaWdub3JlIHJlbW92ZWQJb25lcy4KKwl0byBhZGQgbW9kaWZpZWQgb3IgbmV3IGZpbGVzIGJ1dCBpZ25vcmUgcmVtb3ZlZCBvbmVzLgogKwogRm9yIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgPHBhdGhzcGVjPiBzeW50YXgsIHNlZSB0aGUgJ3BhdGhzcGVjJyBlbnRyeQogaW4gbGlua2dpdDpnaXRnbG9zc2FyeVs3XS4KQEAgLTEyNCw3ICsxMjUsNyBAQAogLS1uby1pZ25vcmUtcmVtb3ZhbDo6CiAJVXBkYXRlIHRoZSBpbmRleCBub3Qgb25seSB3aGVyZSB0aGUgd29ya2luZyB0cmVlIGhhcyBhIGZpbGUKIAltYXRjaGluZyA8cGF0aHNwZWM+IGJ1dCBhbHNvIHdoZXJlIHRoZSBpbmRleCBhbHJlYWR5IGhhcyBhbgotCWVudHJ5LglUaGlzIGFkZHMsIG1vZGlmaWVzLCBhbmQgcmVtb3ZlcyBpbmRleCBlbnRyaWVzIHRvCisJZW50cnkuIFRoaXMgYWRkcywgbW9kaWZpZXMsIGFuZCByZW1vdmVzIGluZGV4IGVudHJpZXMgdG8KIAltYXRjaCB0aGUgd29ya2luZyB0cmVlLgogKwogSWYgbm8gPHBhdGhzcGVjPiBpcyBnaXZlbiB3aGVuIGAtQWAgb3B0aW9uIGlzIHVzZWQsIGFsbApAQCAtMTg3LDI2ICsxODgsMzAgQEAKIAliaXQgaXMgb25seSBjaGFuZ2VkIGluIHRoZSBpbmRleCwgdGhlIGZpbGVzIG9uIGRpc2sgYXJlIGxlZnQKIAl1bmNoYW5nZWQuCiAKKy0tcGF0aHNwZWMtZnJvbS1maWxlPTxmaWxlPjo6CisJUGF0aHNwZWMgaXMgcGFzc2VkIGluIGA8ZmlsZT5gIGluc3RlYWQgb2YgY29tbWFuZGxpbmUgYXJncy4gSWYKKwlgPGZpbGU+YCBpcyBleGFjdGx5IGAtYCB0aGVuIHN0YW5kYXJkIGlucHV0IGlzIHVzZWQuIFBhdGhzcGVjCisJZWxlbWVudHMgYXJlIHNlcGFyYXRlZCBieSBMRiBvciBDUi9MRi4gUGF0aHNwZWMgZWxlbWVudHMgY2FuIGJlCisJcXVvdGVkIGFzIGV4cGxhaW5lZCBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGNvcmUucXVvdGVQYXRoYAorCShzZWUgbGlua2dpdDpnaXQtY29uZmlnWzFdKS4gU2VlIGFsc28gYC0tcGF0aHNwZWMtZmlsZS1udWxgIGFuZAorCWdsb2JhbCBgLS1saXRlcmFsLXBhdGhzcGVjc2AuCisKKy0tcGF0aHNwZWMtZmlsZS1udWw6OgorCU9ubHkgbWVhbmluZ2Z1bCB3aXRoIGAtLXBhdGhzcGVjLWZyb20tZmlsZWAuIFBhdGhzcGVjIGVsZW1lbnRzIGFyZQorCXNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIgYW5kIGFsbCBvdGhlciBjaGFyYWN0ZXJzIGFyZSB0YWtlbgorCWxpdGVyYWxseSAoaW5jbHVkaW5nIG5ld2xpbmVzIGFuZCBxdW90ZXMpLgorCiBcLS06OgogCVRoaXMgb3B0aW9uIGNhbiBiZSB1c2VkIHRvIHNlcGFyYXRlIGNvbW1hbmQtbGluZSBvcHRpb25zIGZyb20KIAl0aGUgbGlzdCBvZiBmaWxlcywgKHVzZWZ1bCB3aGVuIGZpbGVuYW1lcyBtaWdodCBiZSBtaXN0YWtlbgogCWZvciBjb21tYW5kLWxpbmUgb3B0aW9ucykuCiAKIAotQ09ORklHVVJBVElPTgotLS0tLS0tLS0tLS0tLQotCi1UaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBgY29yZS5leGNsdWRlc0ZpbGVgIGluZGljYXRlcyBhIHBhdGggdG8gYQotZmlsZSBjb250YWluaW5nIHBhdHRlcm5zIG9mIGZpbGUgbmFtZXMgdG8gZXhjbHVkZSBmcm9tIGdpdC1hZGQsIHNpbWlsYXIgdG8KLSRHSVRfRElSL2luZm8vZXhjbHVkZS4gIFBhdHRlcm5zIGluIHRoZSBleGNsdWRlIGZpbGUgYXJlIHVzZWQgaW4gYWRkaXRpb24gdG8KLXRob3NlIGluIGluZm8vZXhjbHVkZS4gIFNlZSBsaW5rZ2l0OmdpdGlnbm9yZVs1XS4KLQotCiBFWEFNUExFUwogLS0tLS0tLS0KIAogKiBBZGRzIGNvbnRlbnQgZnJvbSBhbGwgYCoudHh0YCBmaWxlcyB1bmRlciBgRG9jdW1lbnRhdGlvbmAgZGlyZWN0b3J5Ci1hbmQgaXRzIHN1YmRpcmVjdG9yaWVzOgorICBhbmQgaXRzIHN1YmRpcmVjdG9yaWVzOgogKwogLS0tLS0tLS0tLS0tCiAkIGdpdCBhZGQgRG9jdW1lbnRhdGlvbi9cKi50eHQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWFtLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWFtLnR4dAppbmRleCA2ZjZjMzRiLi5hYjU3NTRlIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1hbS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtYW0udHh0CkBAIC0xNiw3ICsxNiw3IEBACiAJIFstLWV4Y2x1ZGU9PHBhdGg+XSBbLS1pbmNsdWRlPTxwYXRoPl0gWy0tcmVqZWN0XSBbLXEgfCAtLXF1aWV0XQogCSBbLS1bbm8tXXNjaXNzb3JzXSBbLVNbPGtleWlkPl1dIFstLXBhdGNoLWZvcm1hdD08Zm9ybWF0Pl0KIAkgWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXQotJ2dpdCBhbScgKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0IHwgLS1xdWl0IHwgLS1zaG93LWN1cnJlbnQtcGF0Y2gpCisnZ2l0IGFtJyAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQgfCAtLXF1aXQgfCAtLXNob3ctY3VycmVudC1wYXRjaFs9KGRpZmZ8cmF3KV0pCiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQpAQCAtOTksNiArOTksMTEgQEAKIAlhbS50aHJlZVdheSBjb25maWd1cmF0aW9uIHZhcmlhYmxlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwKIAlzZWUgYW0udGhyZWVXYXkgaW4gbGlua2dpdDpnaXQtY29uZmlnWzFdLgogCistLXJlcmVyZS1hdXRvdXBkYXRlOjoKKy0tbm8tcmVyZXJlLWF1dG91cGRhdGU6OgorCUFsbG93IHRoZSByZXJlcmUgbWVjaGFuaXNtIHRvIHVwZGF0ZSB0aGUgaW5kZXggd2l0aCB0aGUKKwlyZXN1bHQgb2YgYXV0by1jb25mbGljdCByZXNvbHV0aW9uIGlmIHBvc3NpYmxlLgorCiAtLWlnbm9yZS1zcGFjZS1jaGFuZ2U6OgogLS1pZ25vcmUtd2hpdGVzcGFjZTo6CiAtLXdoaXRlc3BhY2U9PG9wdGlvbj46OgpAQCAtMTcxLDkgKzE3NiwxMSBAQAogCUFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24gYnV0IGtlZXAgSEVBRCBhbmQgdGhlIGluZGV4CiAJdW50b3VjaGVkLgogCi0tLXNob3ctY3VycmVudC1wYXRjaDo6Ci0JU2hvdyB0aGUgcGF0Y2ggYmVpbmcgYXBwbGllZCB3aGVuICJnaXQgYW0iIGlzIHN0b3BwZWQgYmVjYXVzZQotCW9mIGNvbmZsaWN0cy4KKy0tc2hvdy1jdXJyZW50LXBhdGNoWz0oZGlmZnxyYXcpXTo6CisJU2hvdyB0aGUgbWVzc2FnZSBhdCB3aGljaCBgZ2l0IGFtYCBoYXMgc3RvcHBlZCBkdWUgdG8KKwljb25mbGljdHMuICBJZiBgcmF3YCBpcyBzcGVjaWZpZWQsIHNob3cgdGhlIHJhdyBjb250ZW50cyBvZgorCXRoZSBlLW1haWwgbWVzc2FnZTsgaWYgYGRpZmZgLCBzaG93IHRoZSBkaWZmIHBvcnRpb24gb25seS4KKwlEZWZhdWx0cyB0byBgcmF3YC4KIAogRElTQ1VTU0lPTgogLS0tLS0tLS0tLQpAQCAtMTg1LDggKzE5Miw4IEBACiBUaGUgIlN1YmplY3Q6ICIgbGluZSBpcyBzdXBwb3NlZCB0byBjb25jaXNlbHkgZGVzY3JpYmUgd2hhdCB0aGUKIGNvbW1pdCBpcyBhYm91dCBpbiBvbmUgbGluZSBvZiB0ZXh0LgogCi0iRnJvbTogIiBhbmQgIlN1YmplY3Q6ICIgbGluZXMgc3RhcnRpbmcgdGhlIGJvZHkgb3ZlcnJpZGUgdGhlIHJlc3BlY3RpdmUKLWNvbW1pdCBhdXRob3IgbmFtZSBhbmQgdGl0bGUgdmFsdWVzIHRha2VuIGZyb20gdGhlIGhlYWRlcnMuCisiRnJvbTogIiwgIkRhdGU6ICIsIGFuZCAiU3ViamVjdDogIiBsaW5lcyBzdGFydGluZyB0aGUgYm9keSBvdmVycmlkZSB0aGUKK3Jlc3BlY3RpdmUgY29tbWl0IGF1dGhvciBuYW1lIGFuZCB0aXRsZSB2YWx1ZXMgdGFrZW4gZnJvbSB0aGUgaGVhZGVycy4KIAogVGhlIGNvbW1pdCBtZXNzYWdlIGlzIGZvcm1lZCBieSB0aGUgdGl0bGUgdGFrZW4gZnJvbSB0aGUKICJTdWJqZWN0OiAiLCBhIGJsYW5rIGxpbmUgYW5kIHRoZSBib2R5IG9mIHRoZSBtZXNzYWdlIHVwIHRvCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1iaXNlY3QtbGsyMDA5LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWJpc2VjdC1sazIwMDkudHh0CmluZGV4IGU5OTkyNTEuLjNiYTQ5ZTggMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWJpc2VjdC1sazIwMDkudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWJpc2VjdC1sazIwMDkudHh0CkBAIC0xNTgsNyArMTU4LDcgQEAKIHN1cHBvc2VkIHRvIGJlIHVzZWQgc28gdGhhdCBhbGwgdGhlIHRlc3RzIGFyZSBjaGVja2VkIGFmdGVyIGVhY2gKIGNvbW1pdC4gVGhpcyBtZWFucyB0aGF0IHRoZXkgYXJlIG5vdCB2ZXJ5IGVmZmljaWVudCwgYmVjYXVzZSBtYW55CiB0ZXN0cyBhcmUgcnVuIGZvciBubyBpbnRlcmVzdGluZyByZXN1bHQsIGFuZCB0aGV5IHN1ZmZlciBmcm9tCi1jb21iaW5hdGlvbmFsIGV4cGxvc2lvbi4KK2NvbWJpbmF0b3JpYWwgZXhwbG9zaW9uLgogCiBJbiBmYWN0IHRoZSBwcm9ibGVtIGlzIHRoYXQgYmlnIHNvZnR3YXJlIG9mdGVuIGhhcyBtYW55IGRpZmZlcmVudAogY29uZmlndXJhdGlvbiBvcHRpb25zIGFuZCB0aGF0IGVhY2ggdGVzdCBjYXNlIHNob3VsZCBwYXNzIGZvciBlYWNoCkBAIC0xMzUwLDkgKzEzNTAsOSBAQAogLSBbW1sxXV1dIGh0dHBzOi8vd3d3Lm5pc3QuZ292L3NpdGVzL2RlZmF1bHQvZmlsZXMvZG9jdW1lbnRzL2RpcmVjdG9yL3BsYW5uaW5nL3JlcG9ydDAyLTMucGRmWydUaGUgRWNvbm9taWMgSW1wYWN0cyBvZiBJbmFkZXF1YXRlIEluZnJhdHJ1Y3R1cmUgZm9yIFNvZnR3YXJlIFRlc3RpbmcnLiAgTmlzdCBQbGFubmluZyBSZXBvcnQgMDItM10sIHNlZSBFeGVjdXRpdmUgU3VtbWFyeSBhbmQgQ2hhcHRlciA4LgogLSBbW1syXV1dIGh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobmV0d29yay9qYXZhL2NvZGVjb252dG9jLTEzNjA1Ny5odG1sWydDb2RlIENvbnZlbnRpb25zIGZvciB0aGUgSmF2YSBQcm9ncmFtbWluZyBMYW5ndWFnZScuIFN1biBNaWNyb3N5c3RlbXMuXQogLSBbW1szXV1dIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1NvZnR3YXJlX21haW50ZW5hbmNlWydTb2Z0d2FyZSBtYWludGVuYW5jZScuIFdpa2lwZWRpYS5dCi0tIFtbWzRdXV0gaHR0cHM6Ly9wdWJsaWMtaW5ib3gub3JnL2dpdC83dnBzNXhzYndwLmZzZl8tX0Bhc3NpZ25lZC1ieS1kaGNwLmNveC5uZXQvW0p1bmlvIEMgSGFtYW5vLiAnQXV0b21hdGVkIGJpc2VjdCBzdWNjZXNzIHN0b3J5Jy5dCistIFtbWzRdXV0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvZ2l0Lzd2cHM1eHNid3AuZnNmXy1fQGFzc2lnbmVkLWJ5LWRoY3AuY294Lm5ldC9bSnVuaW8gQyBIYW1hbm8uICdBdXRvbWF0ZWQgYmlzZWN0IHN1Y2Nlc3Mgc3RvcnknLl0KIC0gW1tbNV1dXSBodHRwczovL2x3bi5uZXQvQXJ0aWNsZXMvMzE3MTU0L1tDaHJpc3RpYW4gQ291ZGVyLiAnRnVsbHkgYXV0b21hdGVkIGJpc2VjdGluZyB3aXRoICJnaXQgYmlzZWN0IHJ1biInLiBMV04ubmV0Ll0KIC0gW1tbNl1dXSBodHRwczovL2x3bi5uZXQvQXJ0aWNsZXMvMjc3ODcyL1tKb25hdGhhbiBDb3JiZXQuICdCaXNlY3Rpb24gZGl2aWRlcyB1c2VycyBhbmQgZGV2ZWxvcGVycycuIExXTi5uZXQuXQotLSBbW1s3XV1dIGh0dHA6Ly9tYXJjLmluZm8vP2w9bGludXgta2VybmVsJm09MTE5NzAyNzUzNDExNjgwJnc9MltJbmdvIE1vbG5hci4gJ1JlOiBCVUcgMi42LjIzLXJjMyBjYW4ndCBzZWUgc2QgcGFydGl0aW9ucyBvbiBBbHBoYScuIExpbnV4LWtlcm5lbCBtYWlsaW5nIGxpc3QuXQorLSBbW1s3XV1dIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xrbWwvMjAwNzEyMDcxMTM3MzQuR0ExNDU5OEBlbHRlLmh1L1tJbmdvIE1vbG5hci4gJ1JlOiBCVUcgMi42LjIzLXJjMyBjYW4ndCBzZWUgc2QgcGFydGl0aW9ucyBvbiBBbHBoYScuIExpbnV4LWtlcm5lbCBtYWlsaW5nIGxpc3QuXQogLSBbW1s4XV1dIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL3NvZnR3YXJlL3NjbS9naXQvZG9jcy9naXQtYmlzZWN0Lmh0bWxbSnVuaW8gQyBIYW1hbm8gYW5kIHRoZSBnaXQtbGlzdC4gJ2dpdC1iaXNlY3QoMSkgTWFudWFsIFBhZ2UnLiBMaW51eCBLZXJuZWwgQXJjaGl2ZXMuXQogLSBbW1s5XV1dIGh0dHBzOi8vZ2l0aHViLmNvbS9FYWxkd3VsZi9iYmNob3BbRWFsZHd1bGYuICdiYmNob3AnLiBHaXRIdWIuXQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtYmlzZWN0LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWJpc2VjdC50eHQKaW5kZXggNGI0NWQ4My4uNzU4NmM1YSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtYmlzZWN0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1iaXNlY3QudHh0CkBAIC00MTMsNyArNDEzLDcgQEAKIAogIyB0d2VhayB0aGUgd29ya2luZyB0cmVlIGJ5IG1lcmdpbmcgdGhlIGhvdC1maXggYnJhbmNoCiAjIGFuZCB0aGVuIGF0dGVtcHQgYSBidWlsZAotaWYJZ2l0IG1lcmdlIC0tbm8tY29tbWl0IGhvdC1maXggJiYKK2lmCWdpdCBtZXJnZSAtLW5vLWNvbW1pdCAtLW5vLWZmIGhvdC1maXggJiYKIAltYWtlCiB0aGVuCiAJIyBydW4gcHJvamVjdCBzcGVjaWZpYyB0ZXN0IGFuZCByZXBvcnQgaXRzIHN0YXR1cwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtYmxhbWUudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtYmxhbWUudHh0CmluZGV4IDE2MzIzZWIuLjdlODE1NDEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWJsYW1lLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1ibGFtZS50eHQKQEAgLTEwLDYgKzEwLDcgQEAKIFt2ZXJzZV0KICdnaXQgYmxhbWUnIFstY10gWy1iXSBbLWxdIFstLXJvb3RdIFstdF0gWy1mXSBbLW5dIFstc10gWy1lXSBbLXBdIFstd10gWy0taW5jcmVtZW50YWxdCiAJICAgIFstTCA8cmFuZ2U+XSBbLVMgPHJldnMtZmlsZT5dIFstTV0gWy1DXSBbLUNdIFstQ10gWy0tc2luY2U9PGRhdGU+XQorCSAgICBbLS1pZ25vcmUtcmV2IDxyZXY+XSBbLS1pZ25vcmUtcmV2cy1maWxlIDxmaWxlPl0KIAkgICAgWy0tcHJvZ3Jlc3NdIFstLWFiYnJldj08bj5dIFs8cmV2PiB8IC0tY29udGVudHMgPGZpbGU+IHwgLS1yZXZlcnNlIDxyZXY+Li48cmV2Pl0KIAkgICAgWy0tXSA8ZmlsZT4KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtYnJhbmNoLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWJyYW5jaC50eHQKaW5kZXggYmY1MzE2Zi4uMTM1MjA2ZiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtYnJhbmNoLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1icmFuY2gudHh0CkBAIC04LDEyICs4LDE0IEBACiBTWU5PUFNJUwogLS0tLS0tLS0KIFt2ZXJzZV0KLSdnaXQgYnJhbmNoJyBbLS1jb2xvcls9PHdoZW4+XSB8IC0tbm8tY29sb3JdIFstciB8IC1hXQotCVstLWxpc3RdIFstdiBbLS1hYmJyZXY9PGxlbmd0aD4gfCAtLW5vLWFiYnJldl1dCisnZ2l0IGJyYW5jaCcgWy0tY29sb3JbPTx3aGVuPl0gfCAtLW5vLWNvbG9yXSBbLS1zaG93LWN1cnJlbnRdCisJWy12IFstLWFiYnJldj08bGVuZ3RoPiB8IC0tbm8tYWJicmV2XV0KIAlbLS1jb2x1bW5bPTxvcHRpb25zPl0gfCAtLW5vLWNvbHVtbl0gWy0tc29ydD08a2V5Pl0KIAlbKC0tbWVyZ2VkIHwgLS1uby1tZXJnZWQpIFs8Y29tbWl0Pl1dCiAJWy0tY29udGFpbnMgWzxjb21taXRdXSBbLS1uby1jb250YWlucyBbPGNvbW1pdD5dXQotCVstLXBvaW50cy1hdCA8b2JqZWN0Pl0gWy0tZm9ybWF0PTxmb3JtYXQ+XSBbPHBhdHRlcm4+Li4uXQorCVstLXBvaW50cy1hdCA8b2JqZWN0Pl0gWy0tZm9ybWF0PTxmb3JtYXQ+XQorCVsoLXIgfCAtLXJlbW90ZXMpIHwgKC1hIHwgLS1hbGwpXQorCVstLWxpc3RdIFs8cGF0dGVybj4uLi5dCiAnZ2l0IGJyYW5jaCcgWy0tdHJhY2sgfCAtLW5vLXRyYWNrXSBbLWZdIDxicmFuY2huYW1lPiBbPHN0YXJ0LXBvaW50Pl0KICdnaXQgYnJhbmNoJyAoLS1zZXQtdXBzdHJlYW0tdG89PHVwc3RyZWFtPiB8IC11IDx1cHN0cmVhbT4pIFs8YnJhbmNobmFtZT5dCiAnZ2l0IGJyYW5jaCcgLS11bnNldC11cHN0cmVhbSBbPGJyYW5jaG5hbWU+XQpAQCAtMjYsMTMgKzI4LDE5IEBACiAtLS0tLS0tLS0tLQogCiBJZiBgLS1saXN0YCBpcyBnaXZlbiwgb3IgaWYgdGhlcmUgYXJlIG5vIG5vbi1vcHRpb24gYXJndW1lbnRzLCBleGlzdGluZwotYnJhbmNoZXMgYXJlIGxpc3RlZDsgdGhlIGN1cnJlbnQgYnJhbmNoIHdpbGwgYmUgaGlnaGxpZ2h0ZWQgd2l0aCBhbgotYXN0ZXJpc2suICBPcHRpb24gYC1yYCBjYXVzZXMgdGhlIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyB0byBiZSBsaXN0ZWQsCi1hbmQgb3B0aW9uIGAtYWAgc2hvd3MgYm90aCBsb2NhbCBhbmQgcmVtb3RlIGJyYW5jaGVzLiBJZiBhIGA8cGF0dGVybj5gCiticmFuY2hlcyBhcmUgbGlzdGVkOyB0aGUgY3VycmVudCBicmFuY2ggd2lsbCBiZSBoaWdobGlnaHRlZCBpbiBncmVlbiBhbmQKK21hcmtlZCB3aXRoIGFuIGFzdGVyaXNrLiAgQW55IGJyYW5jaGVzIGNoZWNrZWQgb3V0IGluIGxpbmtlZCB3b3JrdHJlZXMgd2lsbAorYmUgaGlnaGxpZ2h0ZWQgaW4gY3lhbiBhbmQgbWFya2VkIHdpdGggYSBwbHVzIHNpZ24uIE9wdGlvbiBgLXJgIGNhdXNlcyB0aGUKK3JlbW90ZS10cmFja2luZyBicmFuY2hlcyB0byBiZSBsaXN0ZWQsCithbmQgb3B0aW9uIGAtYWAgc2hvd3MgYm90aCBsb2NhbCBhbmQgcmVtb3RlIGJyYW5jaGVzLgorCitJZiBhIGA8cGF0dGVybj5gCiBpcyBnaXZlbiwgaXQgaXMgdXNlZCBhcyBhIHNoZWxsIHdpbGRjYXJkIHRvIHJlc3RyaWN0IHRoZSBvdXRwdXQgdG8KIG1hdGNoaW5nIGJyYW5jaGVzLiBJZiBtdWx0aXBsZSBwYXR0ZXJucyBhcmUgZ2l2ZW4sIGEgYnJhbmNoIGlzIHNob3duIGlmCi1pdCBtYXRjaGVzIGFueSBvZiB0aGUgcGF0dGVybnMuICBOb3RlIHRoYXQgd2hlbiBwcm92aWRpbmcgYQotYDxwYXR0ZXJuPmAsIHlvdSBtdXN0IHVzZSBgLS1saXN0YDsgb3RoZXJ3aXNlIHRoZSBjb21tYW5kIGlzIGludGVycHJldGVkCitpdCBtYXRjaGVzIGFueSBvZiB0aGUgcGF0dGVybnMuCisKK05vdGUgdGhhdCB3aGVuIHByb3ZpZGluZyBhCitgPHBhdHRlcm4+YCwgeW91IG11c3QgdXNlIGAtLWxpc3RgOyBvdGhlcndpc2UgdGhlIGNvbW1hbmQgbWF5IGJlIGludGVycHJldGVkCiBhcyBicmFuY2ggY3JlYXRpb24uCiAKIFdpdGggYC0tY29udGFpbnNgLCBzaG93cyBvbmx5IHRoZSBicmFuY2hlcyB0aGF0IGNvbnRhaW4gdGhlIG5hbWVkIGNvbW1pdApAQCAtNDUsMTAgKzUzLDE0IEBACiBicmFuY2gpLgogCiBUaGUgY29tbWFuZCdzIHNlY29uZCBmb3JtIGNyZWF0ZXMgYSBuZXcgYnJhbmNoIGhlYWQgbmFtZWQgPGJyYW5jaG5hbWU+Ci13aGljaCBwb2ludHMgdG8gdGhlIGN1cnJlbnQgYEhFQURgLCBvciA8c3RhcnQtcG9pbnQ+IGlmIGdpdmVuLgord2hpY2ggcG9pbnRzIHRvIHRoZSBjdXJyZW50IGBIRUFEYCwgb3IgPHN0YXJ0LXBvaW50PiBpZiBnaXZlbi4gQXMgYQorc3BlY2lhbCBjYXNlLCBmb3IgPHN0YXJ0LXBvaW50PiwgeW91IG1heSB1c2UgYCJBLi4uQiJgIGFzIGEgc2hvcnRjdXQgZm9yCit0aGUgbWVyZ2UgYmFzZSBvZiBgQWAgYW5kIGBCYCBpZiB0aGVyZSBpcyBleGFjdGx5IG9uZSBtZXJnZSBiYXNlLiBZb3UKK2NhbiBsZWF2ZSBvdXQgYXQgbW9zdCBvbmUgb2YgYEFgIGFuZCBgQmAsIGluIHdoaWNoIGNhc2UgaXQgZGVmYXVsdHMgdG8KK2BIRUFEYC4KIAogTm90ZSB0aGF0IHRoaXMgd2lsbCBjcmVhdGUgdGhlIG5ldyBicmFuY2gsIGJ1dCBpdCB3aWxsIG5vdCBzd2l0Y2ggdGhlCi13b3JraW5nIHRyZWUgdG8gaXQ7IHVzZSAiZ2l0IGNoZWNrb3V0IDxuZXdicmFuY2g+IiB0byBzd2l0Y2ggdG8gdGhlCit3b3JraW5nIHRyZWUgdG8gaXQ7IHVzZSAiZ2l0IHN3aXRjaCA8bmV3YnJhbmNoPiIgdG8gc3dpdGNoIHRvIHRoZQogbmV3IGJyYW5jaC4KIAogV2hlbiBhIGxvY2FsIGJyYW5jaCBpcyBzdGFydGVkIG9mZiBhIHJlbW90ZS10cmFja2luZyBicmFuY2gsIEdpdCBzZXRzIHVwIHRoZQpAQCAtMTQ5LDEwICsxNjEsMTIgQEAKIC1yOjoKIC0tcmVtb3Rlczo6CiAJTGlzdCBvciBkZWxldGUgKGlmIHVzZWQgd2l0aCAtZCkgdGhlIHJlbW90ZS10cmFja2luZyBicmFuY2hlcy4KKwlDb21iaW5lIHdpdGggYC0tbGlzdGAgdG8gbWF0Y2ggdGhlIG9wdGlvbmFsIHBhdHRlcm4ocykuCiAKIC1hOjoKIC0tYWxsOjoKIAlMaXN0IGJvdGggcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIGFuZCBsb2NhbCBicmFuY2hlcy4KKwlDb21iaW5lIHdpdGggYC0tbGlzdGAgdG8gbWF0Y2ggb3B0aW9uYWwgcGF0dGVybihzKS4KIAogLWw6OgogLS1saXN0OjoKQEAgLTE2MCwxNCArMTc0LDIwIEBACiAJYnJhbmNoIC0tbGlzdCAnbWFpbnQtKidgLCBsaXN0IG9ubHkgdGhlIGJyYW5jaGVzIHRoYXQgbWF0Y2gKIAl0aGUgcGF0dGVybihzKS4KIAorLS1zaG93LWN1cnJlbnQ6OgorCVByaW50IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGJyYW5jaC4gSW4gZGV0YWNoZWQgSEVBRCBzdGF0ZSwKKwlub3RoaW5nIGlzIHByaW50ZWQuCisKIC12OjoKIC12djo6CiAtLXZlcmJvc2U6OgogCVdoZW4gaW4gbGlzdCBtb2RlLAogCXNob3cgc2hhMSBhbmQgY29tbWl0IHN1YmplY3QgbGluZSBmb3IgZWFjaCBoZWFkLCBhbG9uZyB3aXRoCiAJcmVsYXRpb25zaGlwIHRvIHVwc3RyZWFtIGJyYW5jaCAoaWYgYW55KS4gSWYgZ2l2ZW4gdHdpY2UsIHByaW50Ci0JdGhlIG5hbWUgb2YgdGhlIHVwc3RyZWFtIGJyYW5jaCwgYXMgd2VsbCAoc2VlIGFsc28gYGdpdCByZW1vdGUKLQlzaG93IDxyZW1vdGU+YCkuCisJdGhlIHBhdGggb2YgdGhlIGxpbmtlZCB3b3JrdHJlZSAoaWYgYW55KSBhbmQgdGhlIG5hbWUgb2YgdGhlIHVwc3RyZWFtCisJYnJhbmNoLCBhcyB3ZWxsIChzZWUgYWxzbyBgZ2l0IHJlbW90ZSBzaG93IDxyZW1vdGU+YCkuICBOb3RlIHRoYXQgdGhlCisJY3VycmVudCB3b3JrdHJlZSdzIEhFQUQgd2lsbCBub3QgaGF2ZSBpdHMgcGF0aCBwcmludGVkIChpdCB3aWxsIGFsd2F5cworCWJlIHlvdXIgY3VycmVudCBkaXJlY3RvcnkpLgogCiAtcTo6CiAtLXF1aWV0OjoKQEAgLTE5NCw3ICsyMTQsNyBAQAogKwogVGhpcyBiZWhhdmlvciBpcyB0aGUgZGVmYXVsdCB3aGVuIHRoZSBzdGFydCBwb2ludCBpcyBhIHJlbW90ZS10cmFja2luZyBicmFuY2guCiBTZXQgdGhlIGJyYW5jaC5hdXRvU2V0dXBNZXJnZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHRvIGBmYWxzZWAgaWYgeW91Ci13YW50IGBnaXQgY2hlY2tvdXRgIGFuZCBgZ2l0IGJyYW5jaGAgdG8gYWx3YXlzIGJlaGF2ZSBhcyBpZiBgLS1uby10cmFja2AKK3dhbnQgYGdpdCBzd2l0Y2hgLCBgZ2l0IGNoZWNrb3V0YCBhbmQgYGdpdCBicmFuY2hgIHRvIGFsd2F5cyBiZWhhdmUgYXMgaWYgYC0tbm8tdHJhY2tgCiB3ZXJlIGdpdmVuLiBTZXQgaXQgdG8gYGFsd2F5c2AgaWYgeW91IHdhbnQgdGhpcyBiZWhhdmlvciB3aGVuIHRoZQogc3RhcnQtcG9pbnQgaXMgZWl0aGVyIGEgbG9jYWwgb3IgcmVtb3RlLXRyYWNraW5nIGJyYW5jaC4KIApAQCAtMjkzLDExICszMTMsMTEgQEAKICQgZ2l0IGNsb25lIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vLi4uL2xpbnV4LTIuNiBteTIuNgogJCBjZCBteTIuNgogJCBnaXQgYnJhbmNoIG15Mi42LjE0IHYyLjYuMTQgICA8MT4KLSQgZ2l0IGNoZWNrb3V0IG15Mi42LjE0CiskIGdpdCBzd2l0Y2ggbXkyLjYuMTQKIC0tLS0tLS0tLS0tLQogKwogPDE+IFRoaXMgc3RlcCBhbmQgdGhlIG5leHQgb25lIGNvdWxkIGJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgc3RlcCB3aXRoCi0iY2hlY2tvdXQgLWIgbXkyLjYuMTQgdjIuNi4xNCIuCisgICAgImNoZWNrb3V0IC1iIG15Mi42LjE0IHYyLjYuMTQiLgogCiBEZWxldGUgYW4gdW5uZWVkZWQgYnJhbmNoOjoKICsKQEAgLTMwOSwxOCArMzI5LDMwIEBACiAtLS0tLS0tLS0tLS0KICsKIDwxPiBEZWxldGUgdGhlIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyAidG9kbyIsICJodG1sIiBhbmQgIm1hbiIuIFRoZSBuZXh0Ci0nZmV0Y2gnIG9yICdwdWxsJyB3aWxsIGNyZWF0ZSB0aGVtIGFnYWluIHVubGVzcyB5b3UgY29uZmlndXJlIHRoZW0gbm90IHRvLgotU2VlIGxpbmtnaXQ6Z2l0LWZldGNoWzFdLgorICAgICdmZXRjaCcgb3IgJ3B1bGwnIHdpbGwgY3JlYXRlIHRoZW0gYWdhaW4gdW5sZXNzIHlvdSBjb25maWd1cmUgdGhlbSBub3QgdG8uCisgICAgU2VlIGxpbmtnaXQ6Z2l0LWZldGNoWzFdLgogPDI+IERlbGV0ZSB0aGUgInRlc3QiIGJyYW5jaCBldmVuIGlmIHRoZSAibWFzdGVyIiBicmFuY2ggKG9yIHdoaWNoZXZlciBicmFuY2gKLWlzIGN1cnJlbnRseSBjaGVja2VkIG91dCkgZG9lcyBub3QgaGF2ZSBhbGwgY29tbWl0cyBmcm9tIHRoZSB0ZXN0IGJyYW5jaC4KKyAgICBpcyBjdXJyZW50bHkgY2hlY2tlZCBvdXQpIGRvZXMgbm90IGhhdmUgYWxsIGNvbW1pdHMgZnJvbSB0aGUgdGVzdCBicmFuY2guCiAKK0xpc3RpbmcgYnJhbmNoZXMgZnJvbSBhIHNwZWNpZmljIHJlbW90ZTo6CisrCistLS0tLS0tLS0tLS0KKyQgZ2l0IGJyYW5jaCAtciAtbCAnPHJlbW90ZT4vPHBhdHRlcm4+JyAgICAgICAgICAgICAgICAgPDE+CiskIGdpdCBmb3ItZWFjaC1yZWYgJ3JlZnMvcmVtb3Rlcy88cmVtb3RlPi88cGF0dGVybj4nICAgIDwyPgorLS0tLS0tLS0tLS0tCisrCis8MT4gVXNpbmcgYC1hYCB3b3VsZCBjb25mbGF0ZSA8cmVtb3RlPiB3aXRoIGFueSBsb2NhbCBicmFuY2hlcyB5b3UgaGFwcGVuIHRvCisgICAgaGF2ZSBiZWVuIHByZWZpeGVkIHdpdGggdGhlIHNhbWUgPHJlbW90ZT4gcGF0dGVybi4KKzwyPiBgZm9yLWVhY2gtcmVmYCBjYW4gdGFrZSBhIHdpZGUgcmFuZ2Ugb2Ygb3B0aW9ucy4gU2VlIGxpbmtnaXQ6Z2l0LWZvci1lYWNoLXJlZlsxXQorCitQYXR0ZXJucyB3aWxsIG5vcm1hbGx5IG5lZWQgcXVvdGluZy4KIAogTk9URVMKIC0tLS0tCiAKLUlmIHlvdSBhcmUgY3JlYXRpbmcgYSBicmFuY2ggdGhhdCB5b3Ugd2FudCB0byBjaGVja291dCBpbW1lZGlhdGVseSwgaXQgaXMKLWVhc2llciB0byB1c2UgdGhlIGdpdCBjaGVja291dCBjb21tYW5kIHdpdGggaXRzIGAtYmAgb3B0aW9uIHRvIGNyZWF0ZQotYSBicmFuY2ggYW5kIGNoZWNrIGl0IG91dCB3aXRoIGEgc2luZ2xlIGNvbW1hbmQuCitJZiB5b3UgYXJlIGNyZWF0aW5nIGEgYnJhbmNoIHRoYXQgeW91IHdhbnQgdG8gc3dpdGNoIHRvIGltbWVkaWF0ZWx5LAoraXQgaXMgZWFzaWVyIHRvIHVzZSB0aGUgImdpdCBzd2l0Y2giIGNvbW1hbmQgd2l0aCBpdHMgYC1jYCBvcHRpb24gdG8KK2RvIHRoZSBzYW1lIHRoaW5nIHdpdGggYSBzaW5nbGUgY29tbWFuZC4KIAogVGhlIG9wdGlvbnMgYC0tY29udGFpbnNgLCBgLS1uby1jb250YWluc2AsIGAtLW1lcmdlZGAgYW5kIGAtLW5vLW1lcmdlZGAKIHNlcnZlIGZvdXIgcmVsYXRlZCBidXQgZGlmZmVyZW50IHB1cnBvc2VzOgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtYnVuZGxlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWJ1bmRsZS50eHQKaW5kZXggN2Q2YzlkYy4uZDM0YjA5NiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtYnVuZGxlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1idW5kbGUudHh0CkBAIC05LDggKzksOCBAQAogU1lOT1BTSVMKIC0tLS0tLS0tCiBbdmVyc2VdCi0nZ2l0IGJ1bmRsZScgY3JlYXRlIDxmaWxlPiA8Z2l0LXJldi1saXN0LWFyZ3M+Ci0nZ2l0IGJ1bmRsZScgdmVyaWZ5IDxmaWxlPgorJ2dpdCBidW5kbGUnIGNyZWF0ZSBbLXEgfCAtLXF1aWV0IHwgLS1wcm9ncmVzcyB8IC0tYWxsLXByb2dyZXNzXSBbLS1hbGwtcHJvZ3Jlc3MtaW1wbGllZF0gPGZpbGU+IDxnaXQtcmV2LWxpc3QtYXJncz4KKydnaXQgYnVuZGxlJyB2ZXJpZnkgWy1xIHwgLS1xdWlldF0gPGZpbGU+CiAnZ2l0IGJ1bmRsZScgbGlzdC1oZWFkcyA8ZmlsZT4gWzxyZWZuYW1lPi4uLl0KICdnaXQgYnVuZGxlJyB1bmJ1bmRsZSA8ZmlsZT4gWzxyZWZuYW1lPi4uLl0KIApAQCAtMjAsMTEgKzIwLDE0IEBACiBTb21lIHdvcmtmbG93cyByZXF1aXJlIHRoYXQgb25lIG9yIG1vcmUgYnJhbmNoZXMgb2YgZGV2ZWxvcG1lbnQgb24gb25lCiBtYWNoaW5lIGJlIHJlcGxpY2F0ZWQgb24gYW5vdGhlciBtYWNoaW5lLCBidXQgdGhlIHR3byBtYWNoaW5lcyBjYW5ub3QKIGJlIGRpcmVjdGx5IGNvbm5lY3RlZCwgYW5kIHRoZXJlZm9yZSB0aGUgaW50ZXJhY3RpdmUgR2l0IHByb3RvY29scyAoZ2l0LAotc3NoLCBodHRwKSBjYW5ub3QgYmUgdXNlZC4gIFRoaXMgY29tbWFuZCBwcm92aWRlcyBzdXBwb3J0IGZvcgotJ2dpdCBmZXRjaCcgYW5kICdnaXQgcHVsbCcgdG8gb3BlcmF0ZSBieSBwYWNrYWdpbmcgb2JqZWN0cyBhbmQgcmVmZXJlbmNlcwotaW4gYW4gYXJjaGl2ZSBhdCB0aGUgb3JpZ2luYXRpbmcgbWFjaGluZSwgdGhlbiBpbXBvcnRpbmcgdGhvc2UgaW50bwotYW5vdGhlciByZXBvc2l0b3J5IHVzaW5nICdnaXQgZmV0Y2gnIGFuZCAnZ2l0IHB1bGwnCi1hZnRlciBtb3ZpbmcgdGhlIGFyY2hpdmUgYnkgc29tZSBtZWFucyAoZS5nLiwgYnkgc25lYWtlcm5ldCkuICBBcyBubworc3NoLCBodHRwKSBjYW5ub3QgYmUgdXNlZC4KKworVGhlICdnaXQgYnVuZGxlJyBjb21tYW5kIHBhY2thZ2VzIG9iamVjdHMgYW5kIHJlZmVyZW5jZXMgaW4gYW4gYXJjaGl2ZQorYXQgdGhlIG9yaWdpbmF0aW5nIG1hY2hpbmUsIHdoaWNoIGNhbiB0aGVuIGJlIGltcG9ydGVkIGludG8gYW5vdGhlcgorcmVwb3NpdG9yeSB1c2luZyAnZ2l0IGZldGNoJywgJ2dpdCBwdWxsJywgb3IgJ2dpdCBjbG9uZScsCithZnRlciBtb3ZpbmcgdGhlIGFyY2hpdmUgYnkgc29tZSBtZWFucyAoZS5nLiwgYnkgc25lYWtlcm5ldCkuCisKK0FzIG5vCiBkaXJlY3QgY29ubmVjdGlvbiBiZXR3ZWVuIHRoZSByZXBvc2l0b3JpZXMgZXhpc3RzLCB0aGUgdXNlciBtdXN0IHNwZWNpZnkgYQogYmFzaXMgZm9yIHRoZSBidW5kbGUgdGhhdCBpcyBoZWxkIGJ5IHRoZSBkZXN0aW5hdGlvbiByZXBvc2l0b3J5OiB0aGUKIGJ1bmRsZSBhc3N1bWVzIHRoYXQgYWxsIG9iamVjdHMgaW4gdGhlIGJhc2lzIGFyZSBhbHJlYWR5IGluIHRoZQpAQCAtMzMsOSArMzYsMTEgQEAKIE9QVElPTlMKIC0tLS0tLS0KIAotY3JlYXRlIDxmaWxlPjo6CitjcmVhdGUgW29wdGlvbnNdIDxmaWxlPiA8Z2l0LXJldi1saXN0LWFyZ3M+OjoKIAlVc2VkIHRvIGNyZWF0ZSBhIGJ1bmRsZSBuYW1lZCAnZmlsZScuICBUaGlzIHJlcXVpcmVzIHRoZQotCSdnaXQtcmV2LWxpc3QtYXJncycgYXJndW1lbnRzIHRvIGRlZmluZSB0aGUgYnVuZGxlIGNvbnRlbnRzLgorCSc8Z2l0LXJldi1saXN0LWFyZ3M+JyBhcmd1bWVudHMgdG8gZGVmaW5lIHRoZSBidW5kbGUgY29udGVudHMuCisJJ29wdGlvbnMnIGNvbnRhaW5zIHRoZSBvcHRpb25zIHNwZWNpZmljIHRvIHRoZSAnZ2l0IGJ1bmRsZSBjcmVhdGUnCisJc3ViY29tbWFuZC4KIAogdmVyaWZ5IDxmaWxlPjo6CiAJVXNlZCB0byBjaGVjayB0aGF0IGEgYnVuZGxlIGZpbGUgaXMgdmFsaWQgYW5kIHdpbGwgYXBwbHkKQEAgLTc1LDYgKzgwLDMzIEBACiAJbmVjZXNzYXJpbHkgZXZlcnl0aGluZyBpbiB0aGUgcGFjayAoaW4gdGhpcyBjYXNlLCAnZ2l0IGJ1bmRsZScgYWN0cwogCWxpa2UgJ2dpdCBmZXRjaC1wYWNrJykuCiAKKy0tcHJvZ3Jlc3M6OgorCVByb2dyZXNzIHN0YXR1cyBpcyByZXBvcnRlZCBvbiB0aGUgc3RhbmRhcmQgZXJyb3Igc3RyZWFtCisJYnkgZGVmYXVsdCB3aGVuIGl0IGlzIGF0dGFjaGVkIHRvIGEgdGVybWluYWwsIHVubGVzcyAtcQorCWlzIHNwZWNpZmllZC4gVGhpcyBmbGFnIGZvcmNlcyBwcm9ncmVzcyBzdGF0dXMgZXZlbiBpZgorCXRoZSBzdGFuZGFyZCBlcnJvciBzdHJlYW0gaXMgbm90IGRpcmVjdGVkIHRvIGEgdGVybWluYWwuCisKKy0tYWxsLXByb2dyZXNzOjoKKwlXaGVuIC0tc3Rkb3V0IGlzIHNwZWNpZmllZCB0aGVuIHByb2dyZXNzIHJlcG9ydCBpcworCWRpc3BsYXllZCBkdXJpbmcgdGhlIG9iamVjdCBjb3VudCBhbmQgY29tcHJlc3Npb24gcGhhc2VzCisJYnV0IGluaGliaXRlZCBkdXJpbmcgdGhlIHdyaXRlLW91dCBwaGFzZS4gVGhlIHJlYXNvbiBpcworCXRoYXQgaW4gc29tZSBjYXNlcyB0aGUgb3V0cHV0IHN0cmVhbSBpcyBkaXJlY3RseSBsaW5rZWQKKwl0byBhbm90aGVyIGNvbW1hbmQgd2hpY2ggbWF5IHdpc2ggdG8gZGlzcGxheSBwcm9ncmVzcworCXN0YXR1cyBvZiBpdHMgb3duIGFzIGl0IHByb2Nlc3NlcyBpbmNvbWluZyBwYWNrIGRhdGEuCisJVGhpcyBmbGFnIGlzIGxpa2UgLS1wcm9ncmVzcyBleGNlcHQgdGhhdCBpdCBmb3JjZXMgcHJvZ3Jlc3MKKwlyZXBvcnQgZm9yIHRoZSB3cml0ZS1vdXQgcGhhc2UgYXMgd2VsbCBldmVuIGlmIC0tc3Rkb3V0IGlzCisJdXNlZC4KKworLS1hbGwtcHJvZ3Jlc3MtaW1wbGllZDo6CisJVGhpcyBpcyB1c2VkIHRvIGltcGx5IC0tYWxsLXByb2dyZXNzIHdoZW5ldmVyIHByb2dyZXNzIGRpc3BsYXkKKwlpcyBhY3RpdmF0ZWQuICBVbmxpa2UgLS1hbGwtcHJvZ3Jlc3MgdGhpcyBmbGFnIGRvZXNuJ3QgYWN0dWFsbHkKKwlmb3JjZSBhbnkgcHJvZ3Jlc3MgZGlzcGxheSBieSBpdHNlbGYuCisKKy1xOjoKKy0tcXVpZXQ6OgorCVRoaXMgZmxhZyBtYWtlcyB0aGUgY29tbWFuZCBub3QgdG8gcmVwb3J0IGl0cyBwcm9ncmVzcworCW9uIHRoZSBzdGFuZGFyZCBlcnJvciBzdHJlYW0uCisKIFNQRUNJRllJTkcgUkVGRVJFTkNFUwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKQEAgLTkyLDYgKzEyNCwxNCBAQAogdG8gY29udGFpbiBvYmplY3RzIGFscmVhZHkgaW4gdGhlIGRlc3RpbmF0aW9uLCBhcyB0aGVzZSBhcmUgaWdub3JlZAogd2hlbiB1bnBhY2tpbmcgYXQgdGhlIGRlc3RpbmF0aW9uLgogCitgZ2l0IGNsb25lYCBjYW4gdXNlIGFueSBidW5kbGUgY3JlYXRlZCB3aXRob3V0IG5lZ2F0aXZlIHJlZnNwZWNzCisoZS5nLiwgYG5ld2AsIGJ1dCBub3QgYG9sZC4ubmV3YCkuCitJZiB5b3Ugd2FudCB0byBtYXRjaCBgZ2l0IGNsb25lIC0tbWlycm9yYCwgd2hpY2ggd291bGQgaW5jbHVkZSB5b3VyCityZWZzIHN1Y2ggYXMgYHJlZnMvcmVtb3Rlcy8qYCwgdXNlIGAtLWFsbGAuCitJZiB5b3Ugd2FudCB0byBwcm92aWRlIHRoZSBzYW1lIHNldCBvZiByZWZzIHRoYXQgYSBjbG9uZSBkaXJlY3RseQorZnJvbSB0aGUgc291cmNlIHJlcG9zaXRvcnkgd291bGQgZ2V0LCB1c2UgYC0tYnJhbmNoZXMgLS10YWdzYCBmb3IKK3RoZSBgPGdpdC1yZXYtbGlzdC1hcmdzPmAuCisKIEVYQU1QTEVTCiAtLS0tLS0tLQogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jYXQtZmlsZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jYXQtZmlsZS50eHQKaW5kZXggNzQwMTMzMy4uOGVjYTY3MSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY2F0LWZpbGUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWNhdC1maWxlLnR4dApAQCAtMjMsOCArMjMsOCBAQAogc3RkaW4sIGFuZCB0aGUgU0hBLTEsIHR5cGUsIGFuZCBzaXplIG9mIGVhY2ggb2JqZWN0IGlzIHByaW50ZWQgb24gc3Rkb3V0LiBUaGUKIG91dHB1dCBmb3JtYXQgY2FuIGJlIG92ZXJyaWRkZW4gdXNpbmcgdGhlIG9wdGlvbmFsIGA8Zm9ybWF0PmAgYXJndW1lbnQuIElmCiBlaXRoZXIgYC0tdGV4dGNvbnZgIG9yIGAtLWZpbHRlcnNgIHdhcyBzcGVjaWZpZWQsIHRoZSBpbnB1dCBpcyBleHBlY3RlZCB0bwotbGlzdCB0aGUgb2JqZWN0IG5hbWVzIGZvbGxvd2VkIGJ5IHRoZSBwYXRoIG5hbWUsIHNlcGFyYXRlZCBieSBhIHNpbmdsZSB3aGl0ZQotc3BhY2UsIHNvIHRoYXQgdGhlIGFwcHJvcHJpYXRlIGRyaXZlcnMgY2FuIGJlIGRldGVybWluZWQuCitsaXN0IHRoZSBvYmplY3QgbmFtZXMgZm9sbG93ZWQgYnkgdGhlIHBhdGggbmFtZSwgc2VwYXJhdGVkIGJ5IGEgc2luZ2xlCit3aGl0ZXNwYWNlLCBzbyB0aGF0IHRoZSBhcHByb3ByaWF0ZSBkcml2ZXJzIGNhbiBiZSBkZXRlcm1pbmVkLgogCiBPUFRJT05TCiAtLS0tLS0tCkBAIC03OSw3ICs3OSw3IEBACiAJUHJpbnQgb2JqZWN0IGluZm9ybWF0aW9uIGFuZCBjb250ZW50cyBmb3IgZWFjaCBvYmplY3QgcHJvdmlkZWQKIAlvbiBzdGRpbi4gIE1heSBub3QgYmUgY29tYmluZWQgd2l0aCBhbnkgb3RoZXIgb3B0aW9ucyBvciBhcmd1bWVudHMKIAlleGNlcHQgYC0tdGV4dGNvbnZgIG9yIGAtLWZpbHRlcnNgLCBpbiB3aGljaCBjYXNlIHRoZSBpbnB1dCBsaW5lcwotCWFsc28gbmVlZCB0byBzcGVjaWZ5IHRoZSBwYXRoLCBzZXBhcmF0ZWQgYnkgd2hpdGUgc3BhY2UuICBTZWUgdGhlCisJYWxzbyBuZWVkIHRvIHNwZWNpZnkgdGhlIHBhdGgsIHNlcGFyYXRlZCBieSB3aGl0ZXNwYWNlLiAgU2VlIHRoZQogCXNlY3Rpb24gYEJBVENIIE9VVFBVVGAgYmVsb3cgZm9yIGRldGFpbHMuCiAKIC0tYmF0Y2gtY2hlY2s6OgpAQCAtODcsNyArODcsNyBAQAogCVByaW50IG9iamVjdCBpbmZvcm1hdGlvbiBmb3IgZWFjaCBvYmplY3QgcHJvdmlkZWQgb24gc3RkaW4uICBNYXkKIAlub3QgYmUgY29tYmluZWQgd2l0aCBhbnkgb3RoZXIgb3B0aW9ucyBvciBhcmd1bWVudHMgZXhjZXB0CiAJYC0tdGV4dGNvbnZgIG9yIGAtLWZpbHRlcnNgLCBpbiB3aGljaCBjYXNlIHRoZSBpbnB1dCBsaW5lcyBhbHNvCi0JbmVlZCB0byBzcGVjaWZ5IHRoZSBwYXRoLCBzZXBhcmF0ZWQgYnkgd2hpdGUgc3BhY2UuICBTZWUgdGhlCisJbmVlZCB0byBzcGVjaWZ5IHRoZSBwYXRoLCBzZXBhcmF0ZWQgYnkgd2hpdGVzcGFjZS4gIFNlZSB0aGUKIAlzZWN0aW9uIGBCQVRDSCBPVVRQVVRgIGJlbG93IGZvciBkZXRhaWxzLgogCiAtLWJhdGNoLWFsbC1vYmplY3RzOjoKQEAgLTI1Miw2ICsyNTIsMTIgQEAKIDxvYmplY3Q+IFNQIG1pc3NpbmcgTEYKIC0tLS0tLS0tLS0tLQogCitJZiBhIG5hbWUgaXMgc3BlY2lmaWVkIHRoYXQgbWlnaHQgcmVmZXIgdG8gbW9yZSB0aGFuIG9uZSBvYmplY3QgKGFuIGFtYmlndW91cyBzaG9ydCBzaGEpLCB0aGVuIGBjYXQtZmlsZWAgd2lsbCBpZ25vcmUgYW55IGN1c3RvbSBmb3JtYXQgYW5kIHByaW50OgorCistLS0tLS0tLS0tLS0KKzxvYmplY3Q+IFNQIGFtYmlndW91cyBMRgorLS0tLS0tLS0tLS0tCisKIElmIC0tZm9sbG93LXN5bWxpbmtzIGlzIHVzZWQsIGFuZCBhIHN5bWxpbmsgaW4gdGhlIHJlcG9zaXRvcnkgcG9pbnRzCiBvdXRzaWRlIHRoZSByZXBvc2l0b3J5LCB0aGVuIGBjYXQtZmlsZWAgd2lsbCBpZ25vcmUgYW55IGN1c3RvbSBmb3JtYXQKIGFuZCBwcmludDoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWNoZWNrLWF0dHIudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2stYXR0ci50eHQKaW5kZXggM2MwNTc4Mi4uODRmNDFhOCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2stYXR0ci50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2stYXR0ci50eHQKQEAgLTMyLDcgKzMyLDcgQEAKIAlpbnN0ZWFkIG9mIGZyb20gdGhlIGNvbW1hbmQtbGluZS4KIAogLXo6OgotCVRoZSBvdXRwdXQgZm9ybWF0IGlzIG1vZGlmaWVkIHRvIGJlIG1hY2hpbmUtcGFyc2VhYmxlLgorCVRoZSBvdXRwdXQgZm9ybWF0IGlzIG1vZGlmaWVkIHRvIGJlIG1hY2hpbmUtcGFyc2FibGUuCiAJSWYgYC0tc3RkaW5gIGlzIGFsc28gZ2l2ZW4sIGlucHV0IHBhdGhzIGFyZSBzZXBhcmF0ZWQKIAl3aXRoIGEgTlVMIGNoYXJhY3RlciBpbnN0ZWFkIG9mIGEgbGluZWZlZWQgY2hhcmFjdGVyLgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jaGVjay1pZ25vcmUudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2staWdub3JlLnR4dAppbmRleCA4YjQyY2IzLi4wYzM5MjRhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jaGVjay1pZ25vcmUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWNoZWNrLWlnbm9yZS50eHQKQEAgLTMwLDE2ICszMCwyMiBAQAogCXZhbGlkIHdpdGggYSBzaW5nbGUgcGF0aG5hbWUuCiAKIC12LCAtLXZlcmJvc2U6OgotCUFsc28gb3V0cHV0IGRldGFpbHMgYWJvdXQgdGhlIG1hdGNoaW5nIHBhdHRlcm4gKGlmIGFueSkKLQlmb3IgZWFjaCBnaXZlbiBwYXRobmFtZS4gRm9yIHByZWNlZGVuY2UgcnVsZXMgd2l0aGluIGFuZAotCWJldHdlZW4gZXhjbHVkZSBzb3VyY2VzLCBzZWUgbGlua2dpdDpnaXRpZ25vcmVbNV0uCisJSW5zdGVhZCBvZiBwcmludGluZyB0aGUgcGF0aHMgdGhhdCBhcmUgZXhjbHVkZWQsIGZvciBlYWNoIHBhdGgKKwl0aGF0IG1hdGNoZXMgYW4gZXhjbHVkZSBwYXR0ZXJuLCBwcmludCB0aGUgZXhjbHVkZSBwYXR0ZXJuCisJdG9nZXRoZXIgd2l0aCB0aGUgcGF0aC4gIChNYXRjaGluZyBhbiBleGNsdWRlIHBhdHRlcm4gdXN1YWxseQorCW1lYW5zIHRoZSBwYXRoIGlzIGV4Y2x1ZGVkLCBidXQgaWYgdGhlIHBhdHRlcm4gYmVnaW5zIHdpdGggJyEnCisJdGhlbiBpdCBpcyBhIG5lZ2F0ZWQgcGF0dGVybiBhbmQgbWF0Y2hpbmcgaXQgbWVhbnMgdGhlIHBhdGggaXMKKwlOT1QgZXhjbHVkZWQuKQorKworRm9yIHByZWNlZGVuY2UgcnVsZXMgd2l0aGluIGFuZCBiZXR3ZWVuIGV4Y2x1ZGUgc291cmNlcywgc2VlCitsaW5rZ2l0OmdpdGlnbm9yZVs1XS4KIAogLS1zdGRpbjo6CiAJUmVhZCBwYXRobmFtZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQsIG9uZSBwZXIgbGluZSwKIAlpbnN0ZWFkIG9mIGZyb20gdGhlIGNvbW1hbmQtbGluZS4KIAogLXo6OgotCVRoZSBvdXRwdXQgZm9ybWF0IGlzIG1vZGlmaWVkIHRvIGJlIG1hY2hpbmUtcGFyc2VhYmxlIChzZWUKKwlUaGUgb3V0cHV0IGZvcm1hdCBpcyBtb2RpZmllZCB0byBiZSBtYWNoaW5lLXBhcnNhYmxlIChzZWUKIAliZWxvdykuICBJZiBgLS1zdGRpbmAgaXMgYWxzbyBnaXZlbiwgaW5wdXQgcGF0aHMgYXJlIHNlcGFyYXRlZAogCXdpdGggYSBOVUwgY2hhcmFjdGVyIGluc3RlYWQgb2YgYSBsaW5lZmVlZCBjaGFyYWN0ZXIuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWNoZWNrLXJlZi1mb3JtYXQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2stcmVmLWZvcm1hdC50eHQKaW5kZXggZDlkZTk5Mi4uZWU2YTQxNCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2stcmVmLWZvcm1hdC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2stcmVmLWZvcm1hdC50eHQKQEAgLTg4LDcgKzg4LDggQEAKIFdoZW4gcnVuIHdpdGggYC0tYnJhbmNoYCBvcHRpb24gaW4gYSByZXBvc2l0b3J5LCB0aGUgaW5wdXQgaXMgZmlyc3QKIGV4cGFuZGVkIGZvciB0aGUgYGBwcmV2aW91cyBjaGVja291dCBzeW50YXgnJwogYEB7LW59YC4gIEZvciBleGFtcGxlLCBgQHstMX1gIGlzIGEgd2F5IHRvIHJlZmVyIHRoZSBsYXN0IHRoaW5nIHRoYXQKLXdhcyBjaGVja2VkIG91dCB1c2luZyAiZ2l0IGNoZWNrb3V0IiBvcGVyYXRpb24uIFRoaXMgb3B0aW9uIHNob3VsZCBiZQord2FzIGNoZWNrZWQgb3V0IHVzaW5nICJnaXQgc3dpdGNoIiBvciAiZ2l0IGNoZWNrb3V0IiBvcGVyYXRpb24uCitUaGlzIG9wdGlvbiBzaG91bGQgYmUKIHVzZWQgYnkgcG9yY2VsYWlucyB0byBhY2NlcHQgdGhpcyBzeW50YXggYW55d2hlcmUgYSBicmFuY2ggbmFtZSBpcwogZXhwZWN0ZWQsIHNvIHRoZXkgY2FuIGFjdCBhcyBpZiB5b3UgdHlwZWQgdGhlIGJyYW5jaCBuYW1lLiBBcyBhbgogZXhjZXB0aW9uIG5vdGUgdGhhdCwgdGhlIGBgcHJldmlvdXMgY2hlY2tvdXQgb3BlcmF0aW9uJycgbWlnaHQgcmVzdWx0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jaGVja291dC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jaGVja291dC50eHQKaW5kZXggODAxZGUyZi4uYzhmYjk5NSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY2hlY2tvdXQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWNoZWNrb3V0LnR4dApAQCAtMTIsNDIgKzEyLDMzIEBACiAnZ2l0IGNoZWNrb3V0JyBbLXFdIFstZl0gWy1tXSAtLWRldGFjaCBbPGJyYW5jaD5dCiAnZ2l0IGNoZWNrb3V0JyBbLXFdIFstZl0gWy1tXSBbLS1kZXRhY2hdIDxjb21taXQ+CiAnZ2l0IGNoZWNrb3V0JyBbLXFdIFstZl0gWy1tXSBbWy1ifC1CfC0tb3JwaGFuXSA8bmV3X2JyYW5jaD5dIFs8c3RhcnRfcG9pbnQ+XQotJ2dpdCBjaGVja291dCcgWy1mfC0tb3Vyc3wtLXRoZWlyc3wtbXwtLWNvbmZsaWN0PTxzdHlsZT5dIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRocz4uLi4KLSdnaXQgY2hlY2tvdXQnIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRoc3BlYz4uLi4KLSdnaXQgY2hlY2tvdXQnICgtcHwtLXBhdGNoKSBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0KKydnaXQgY2hlY2tvdXQnIFstZnwtLW91cnN8LS10aGVpcnN8LW18LS1jb25mbGljdD08c3R5bGU+XSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHNwZWM+Li4uCisnZ2l0IGNoZWNrb3V0JyBbLWZ8LS1vdXJzfC0tdGhlaXJzfC1tfC0tY29uZmxpY3Q9PHN0eWxlPl0gWzx0cmVlLWlzaD5dIC0tcGF0aHNwZWMtZnJvbS1maWxlPTxmaWxlPiBbLS1wYXRoc3BlYy1maWxlLW51bF0KKydnaXQgY2hlY2tvdXQnICgtcHwtLXBhdGNoKSBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzcGVjPi4uLl0KIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCiBVcGRhdGVzIGZpbGVzIGluIHRoZSB3b3JraW5nIHRyZWUgdG8gbWF0Y2ggdGhlIHZlcnNpb24gaW4gdGhlIGluZGV4Ci1vciB0aGUgc3BlY2lmaWVkIHRyZWUuICBJZiBubyBwYXRocyBhcmUgZ2l2ZW4sICdnaXQgY2hlY2tvdXQnIHdpbGwKK29yIHRoZSBzcGVjaWZpZWQgdHJlZS4gIElmIG5vIHBhdGhzcGVjIHdhcyBnaXZlbiwgJ2dpdCBjaGVja291dCcgd2lsbAogYWxzbyB1cGRhdGUgYEhFQURgIHRvIHNldCB0aGUgc3BlY2lmaWVkIGJyYW5jaCBhcyB0aGUgY3VycmVudAogYnJhbmNoLgogCi0nZ2l0IGNoZWNrb3V0JyA8YnJhbmNoPjo6Ci0JVG8gcHJlcGFyZSBmb3Igd29ya2luZyBvbiA8YnJhbmNoPiwgc3dpdGNoIHRvIGl0IGJ5IHVwZGF0aW5nCisnZ2l0IGNoZWNrb3V0JyBbPGJyYW5jaD5dOjoKKwlUbyBwcmVwYXJlIGZvciB3b3JraW5nIG9uIGA8YnJhbmNoPmAsIHN3aXRjaCB0byBpdCBieSB1cGRhdGluZwogCXRoZSBpbmRleCBhbmQgdGhlIGZpbGVzIGluIHRoZSB3b3JraW5nIHRyZWUsIGFuZCBieSBwb2ludGluZwotCUhFQUQgYXQgdGhlIGJyYW5jaC4gTG9jYWwgbW9kaWZpY2F0aW9ucyB0byB0aGUgZmlsZXMgaW4gdGhlCisJYEhFQURgIGF0IHRoZSBicmFuY2guIExvY2FsIG1vZGlmaWNhdGlvbnMgdG8gdGhlIGZpbGVzIGluIHRoZQogCXdvcmtpbmcgdHJlZSBhcmUga2VwdCwgc28gdGhhdCB0aGV5IGNhbiBiZSBjb21taXR0ZWQgdG8gdGhlCi0JPGJyYW5jaD4uCisJYDxicmFuY2g+YC4KICsKLUlmIDxicmFuY2g+IGlzIG5vdCBmb3VuZCBidXQgdGhlcmUgZG9lcyBleGlzdCBhIHRyYWNraW5nIGJyYW5jaCBpbgotZXhhY3RseSBvbmUgcmVtb3RlIChjYWxsIGl0IDxyZW1vdGU+KSB3aXRoIGEgbWF0Y2hpbmcgbmFtZSwgdHJlYXQgYXMKLWVxdWl2YWxlbnQgdG8KK0lmIGA8YnJhbmNoPmAgaXMgbm90IGZvdW5kIGJ1dCB0aGVyZSBkb2VzIGV4aXN0IGEgdHJhY2tpbmcgYnJhbmNoIGluCitleGFjdGx5IG9uZSByZW1vdGUgKGNhbGwgaXQgYDxyZW1vdGU+YCkgd2l0aCBhIG1hdGNoaW5nIG5hbWUgYW5kCitgLS1uby1ndWVzc2AgaXMgbm90IHNwZWNpZmllZCwgdHJlYXQgYXMgZXF1aXZhbGVudCB0bwogKwogLS0tLS0tLS0tLS0tCiAkIGdpdCBjaGVja291dCAtYiA8YnJhbmNoPiAtLXRyYWNrIDxyZW1vdGU+LzxicmFuY2g+CiAtLS0tLS0tLS0tLS0KICsKLUlmIHRoZSBicmFuY2ggZXhpc3RzIGluIG11bHRpcGxlIHJlbW90ZXMgYW5kIG9uZSBvZiB0aGVtIGlzIG5hbWVkIGJ5Ci10aGUgYGNoZWNrb3V0LmRlZmF1bHRSZW1vdGVgIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUsIHdlJ2xsIHVzZSB0aGF0Ci1vbmUgZm9yIHRoZSBwdXJwb3NlcyBvZiBkaXNhbWJpZ3VhdGlvbiwgZXZlbiBpZiB0aGUgYDxicmFuY2g+YCBpc24ndAotdW5pcXVlIGFjcm9zcyBhbGwgcmVtb3Rlcy4gU2V0IGl0IHRvCi1lLmcuIGBjaGVja291dC5kZWZhdWx0UmVtb3RlPW9yaWdpbmAgdG8gYWx3YXlzIGNoZWNrb3V0IHJlbW90ZQotYnJhbmNoZXMgZnJvbSB0aGVyZSBpZiBgPGJyYW5jaD5gIGlzIGFtYmlndW91cyBidXQgZXhpc3RzIG9uIHRoZQotJ29yaWdpbicgcmVtb3RlLiBTZWUgYWxzbyBgY2hlY2tvdXQuZGVmYXVsdFJlbW90ZWAgaW4KLWxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXS4KLSsKLVlvdSBjb3VsZCBvbWl0IDxicmFuY2g+LCBpbiB3aGljaCBjYXNlIHRoZSBjb21tYW5kIGRlZ2VuZXJhdGVzIHRvCitZb3UgY291bGQgb21pdCBgPGJyYW5jaD5gLCBpbiB3aGljaCBjYXNlIHRoZSBjb21tYW5kIGRlZ2VuZXJhdGVzIHRvCiAiY2hlY2sgb3V0IHRoZSBjdXJyZW50IGJyYW5jaCIsIHdoaWNoIGlzIGEgZ2xvcmlmaWVkIG5vLW9wIHdpdGgKIHJhdGhlciBleHBlbnNpdmUgc2lkZS1lZmZlY3RzIHRvIHNob3cgb25seSB0aGUgdHJhY2tpbmcgaW5mb3JtYXRpb24sCiBpZiBleGlzdHMsIGZvciB0aGUgY3VycmVudCBicmFuY2guCkBAIC02MSw3ICs1Miw3IEBACiAJYC0tdHJhY2tgIHdpdGhvdXQgYC1iYCBpbXBsaWVzIGJyYW5jaCBjcmVhdGlvbjsgc2VlIHRoZQogCWRlc2NyaXB0aW9uIG9mIGAtLXRyYWNrYCBiZWxvdy4KICsKLUlmIGAtQmAgaXMgZ2l2ZW4sIDxuZXdfYnJhbmNoPiBpcyBjcmVhdGVkIGlmIGl0IGRvZXNuJ3QgZXhpc3Q7IG90aGVyd2lzZSwgaXQKK0lmIGAtQmAgaXMgZ2l2ZW4sIGA8bmV3X2JyYW5jaD5gIGlzIGNyZWF0ZWQgaWYgaXQgZG9lc24ndCBleGlzdDsgb3RoZXJ3aXNlLCBpdAogaXMgcmVzZXQuIFRoaXMgaXMgdGhlIHRyYW5zYWN0aW9uYWwgZXF1aXZhbGVudCBvZgogKwogLS0tLS0tLS0tLS0tCkBAIC03NSwyNiArNjYsMjcgQEAKICdnaXQgY2hlY2tvdXQnIC0tZGV0YWNoIFs8YnJhbmNoPl06OgogJ2dpdCBjaGVja291dCcgWy0tZGV0YWNoXSA8Y29tbWl0Pjo6CiAKLQlQcmVwYXJlIHRvIHdvcmsgb24gdG9wIG9mIDxjb21taXQ+LCBieSBkZXRhY2hpbmcgSEVBRCBhdCBpdAorCVByZXBhcmUgdG8gd29yayBvbiB0b3Agb2YgYDxjb21taXQ+YCwgYnkgZGV0YWNoaW5nIGBIRUFEYCBhdCBpdAogCShzZWUgIkRFVEFDSEVEIEhFQUQiIHNlY3Rpb24pLCBhbmQgdXBkYXRpbmcgdGhlIGluZGV4IGFuZCB0aGUKIAlmaWxlcyBpbiB0aGUgd29ya2luZyB0cmVlLiAgTG9jYWwgbW9kaWZpY2F0aW9ucyB0byB0aGUgZmlsZXMKIAlpbiB0aGUgd29ya2luZyB0cmVlIGFyZSBrZXB0LCBzbyB0aGF0IHRoZSByZXN1bHRpbmcgd29ya2luZwogCXRyZWUgd2lsbCBiZSB0aGUgc3RhdGUgcmVjb3JkZWQgaW4gdGhlIGNvbW1pdCBwbHVzIHRoZSBsb2NhbAogCW1vZGlmaWNhdGlvbnMuCiArCi1XaGVuIHRoZSA8Y29tbWl0PiBhcmd1bWVudCBpcyBhIGJyYW5jaCBuYW1lLCB0aGUgYC0tZGV0YWNoYCBvcHRpb24gY2FuCi1iZSB1c2VkIHRvIGRldGFjaCBIRUFEIGF0IHRoZSB0aXAgb2YgdGhlIGJyYW5jaCAoYGdpdCBjaGVja291dAotPGJyYW5jaD5gIHdvdWxkIGNoZWNrIG91dCB0aGF0IGJyYW5jaCB3aXRob3V0IGRldGFjaGluZyBIRUFEKS4KK1doZW4gdGhlIGA8Y29tbWl0PmAgYXJndW1lbnQgaXMgYSBicmFuY2ggbmFtZSwgdGhlIGAtLWRldGFjaGAgb3B0aW9uIGNhbgorYmUgdXNlZCB0byBkZXRhY2ggYEhFQURgIGF0IHRoZSB0aXAgb2YgdGhlIGJyYW5jaCAoYGdpdCBjaGVja291dAorPGJyYW5jaD5gIHdvdWxkIGNoZWNrIG91dCB0aGF0IGJyYW5jaCB3aXRob3V0IGRldGFjaGluZyBgSEVBRGApLgogKwotT21pdHRpbmcgPGJyYW5jaD4gZGV0YWNoZXMgSEVBRCBhdCB0aGUgdGlwIG9mIHRoZSBjdXJyZW50IGJyYW5jaC4KK09taXR0aW5nIGA8YnJhbmNoPmAgZGV0YWNoZXMgYEhFQURgIGF0IHRoZSB0aXAgb2YgdGhlIGN1cnJlbnQgYnJhbmNoLgogCi0nZ2l0IGNoZWNrb3V0JyBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHNwZWM+Li4uOjoKKydnaXQgY2hlY2tvdXQnIFstZnwtLW91cnN8LS10aGVpcnN8LW18LS1jb25mbGljdD08c3R5bGU+XSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHNwZWM+Li4uOjoKKydnaXQgY2hlY2tvdXQnIFstZnwtLW91cnN8LS10aGVpcnN8LW18LS1jb25mbGljdD08c3R5bGU+XSBbPHRyZWUtaXNoPl0gLS1wYXRoc3BlYy1mcm9tLWZpbGU9PGZpbGU+IFstLXBhdGhzcGVjLWZpbGUtbnVsXTo6CiAKLQlPdmVyd3JpdGUgcGF0aHMgaW4gdGhlIHdvcmtpbmcgdHJlZSBieSByZXBsYWNpbmcgd2l0aCB0aGUKLQljb250ZW50cyBpbiB0aGUgaW5kZXggb3IgaW4gdGhlIDx0cmVlLWlzaD4gKG1vc3Qgb2Z0ZW4gYQotCWNvbW1pdCkuICBXaGVuIGEgPHRyZWUtaXNoPiBpcyBnaXZlbiwgdGhlIHBhdGhzIHRoYXQKLQltYXRjaCB0aGUgPHBhdGhzcGVjPiBhcmUgdXBkYXRlZCBib3RoIGluIHRoZSBpbmRleCBhbmQgaW4KLQl0aGUgd29ya2luZyB0cmVlLgorCU92ZXJ3cml0ZSB0aGUgY29udGVudHMgb2YgdGhlIGZpbGVzIHRoYXQgbWF0Y2ggdGhlIHBhdGhzcGVjLgorCVdoZW4gdGhlIGA8dHJlZS1pc2g+YCAobW9zdCBvZnRlbiBhIGNvbW1pdCkgaXMgbm90IGdpdmVuLAorCW92ZXJ3cml0ZSB3b3JraW5nIHRyZWUgd2l0aCB0aGUgY29udGVudHMgaW4gdGhlIGluZGV4LgorCVdoZW4gdGhlIGA8dHJlZS1pc2g+YCBpcyBnaXZlbiwgb3ZlcndyaXRlIGJvdGggdGhlIGluZGV4IGFuZAorCXRoZSB3b3JraW5nIHRyZWUgd2l0aCB0aGUgY29udGVudHMgYXQgdGhlIGA8dHJlZS1pc2g+YC4KICsKIFRoZSBpbmRleCBtYXkgY29udGFpbiB1bm1lcmdlZCBlbnRyaWVzIGJlY2F1c2Ugb2YgYSBwcmV2aW91cyBmYWlsZWQgbWVyZ2UuCiBCeSBkZWZhdWx0LCBpZiB5b3UgdHJ5IHRvIGNoZWNrIG91dCBzdWNoIGFuIGVudHJ5IGZyb20gdGhlIGluZGV4LCB0aGUKQEAgLTEwNSwxMiArOTcsMTAgQEAKIGZpbGUgY2FuIGJlIGRpc2NhcmRlZCB0byByZS1jcmVhdGUgdGhlIG9yaWdpbmFsIGNvbmZsaWN0ZWQgbWVyZ2UgcmVzdWx0LgogCiAnZ2l0IGNoZWNrb3V0JyAoLXB8LS1wYXRjaCkgWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRoc3BlYz4uLi5dOjoKLQlUaGlzIGlzIHNpbWlsYXIgdG8gdGhlICJjaGVjayBvdXQgcGF0aHMgdG8gdGhlIHdvcmtpbmcgdHJlZQotCWZyb20gZWl0aGVyIHRoZSBpbmRleCBvciBmcm9tIGEgdHJlZS1pc2giIG1vZGUgZGVzY3JpYmVkCi0JYWJvdmUsIGJ1dCBsZXRzIHlvdSB1c2UgdGhlIGludGVyYWN0aXZlIGludGVyZmFjZSB0byBzaG93Ci0JdGhlICJkaWZmIiBvdXRwdXQgYW5kIGNob29zZSB3aGljaCBodW5rcyB0byB1c2UgaW4gdGhlCi0JcmVzdWx0LiAgU2VlIGJlbG93IGZvciB0aGUgZGVzY3JpcHRpb24gb2YgYC0tcGF0Y2hgIG9wdGlvbi4KLQorCVRoaXMgaXMgc2ltaWxhciB0byB0aGUgcHJldmlvdXMgbW9kZSwgYnV0IGxldHMgeW91IHVzZSB0aGUKKwlpbnRlcmFjdGl2ZSBpbnRlcmZhY2UgdG8gc2hvdyB0aGUgImRpZmYiIG91dHB1dCBhbmQgY2hvb3NlIHdoaWNoCisJaHVua3MgdG8gdXNlIGluIHRoZSByZXN1bHQuICBTZWUgYmVsb3cgZm9yIHRoZSBkZXNjcmlwdGlvbiBvZgorCWAtLXBhdGNoYCBvcHRpb24uCiAKIE9QVElPTlMKIC0tLS0tLS0KQEAgLTExOCw3ICsxMDgsOCBAQAogLS1xdWlldDo6CiAJUXVpZXQsIHN1cHByZXNzIGZlZWRiYWNrIG1lc3NhZ2VzLgogCi0tLVtuby1dcHJvZ3Jlc3M6OgorLS1wcm9ncmVzczo6CistLW5vLXByb2dyZXNzOjoKIAlQcm9ncmVzcyBzdGF0dXMgaXMgcmVwb3J0ZWQgb24gdGhlIHN0YW5kYXJkIGVycm9yIHN0cmVhbQogCWJ5IGRlZmF1bHQgd2hlbiBpdCBpcyBhdHRhY2hlZCB0byBhIHRlcm1pbmFsLCB1bmxlc3MgYC0tcXVpZXRgCiAJaXMgc3BlY2lmaWVkLiBUaGlzIGZsYWcgZW5hYmxlcyBwcm9ncmVzcyByZXBvcnRpbmcgZXZlbiBpZiBub3QKQEAgLTEyNyw3ICsxMTgsNyBAQAogLWY6OgogLS1mb3JjZTo6CiAJV2hlbiBzd2l0Y2hpbmcgYnJhbmNoZXMsIHByb2NlZWQgZXZlbiBpZiB0aGUgaW5kZXggb3IgdGhlCi0Jd29ya2luZyB0cmVlIGRpZmZlcnMgZnJvbSBIRUFELiAgVGhpcyBpcyB1c2VkIHRvIHRocm93IGF3YXkKKwl3b3JraW5nIHRyZWUgZGlmZmVycyBmcm9tIGBIRUFEYC4gIFRoaXMgaXMgdXNlZCB0byB0aHJvdyBhd2F5CiAJbG9jYWwgY2hhbmdlcy4KICsKIFdoZW4gY2hlY2tpbmcgb3V0IHBhdGhzIGZyb20gdGhlIGluZGV4LCBkbyBub3QgZmFpbCB1cG9uIHVubWVyZ2VkCkBAIC0xNTQsMTIgKzE0NSwxMiBAQAogb2YgaXQiKS4KIAogLWIgPG5ld19icmFuY2g+OjoKLQlDcmVhdGUgYSBuZXcgYnJhbmNoIG5hbWVkIDxuZXdfYnJhbmNoPiBhbmQgc3RhcnQgaXQgYXQKLQk8c3RhcnRfcG9pbnQ+OyBzZWUgbGlua2dpdDpnaXQtYnJhbmNoWzFdIGZvciBkZXRhaWxzLgorCUNyZWF0ZSBhIG5ldyBicmFuY2ggbmFtZWQgYDxuZXdfYnJhbmNoPmAgYW5kIHN0YXJ0IGl0IGF0CisJYDxzdGFydF9wb2ludD5gOyBzZWUgbGlua2dpdDpnaXQtYnJhbmNoWzFdIGZvciBkZXRhaWxzLgogCiAtQiA8bmV3X2JyYW5jaD46OgotCUNyZWF0ZXMgdGhlIGJyYW5jaCA8bmV3X2JyYW5jaD4gYW5kIHN0YXJ0IGl0IGF0IDxzdGFydF9wb2ludD47Ci0JaWYgaXQgYWxyZWFkeSBleGlzdHMsIHRoZW4gcmVzZXQgaXQgdG8gPHN0YXJ0X3BvaW50Pi4gVGhpcyBpcworCUNyZWF0ZXMgdGhlIGJyYW5jaCBgPG5ld19icmFuY2g+YCBhbmQgc3RhcnQgaXQgYXQgYDxzdGFydF9wb2ludD5gOworCWlmIGl0IGFscmVhZHkgZXhpc3RzLCB0aGVuIHJlc2V0IGl0IHRvIGA8c3RhcnRfcG9pbnQ+YC4gVGhpcyBpcwogCWVxdWl2YWxlbnQgdG8gcnVubmluZyAiZ2l0IGJyYW5jaCIgd2l0aCAiLWYiOyBzZWUKIAlsaW5rZ2l0OmdpdC1icmFuY2hbMV0gZm9yIGRldGFpbHMuCiAKQEAgLTE3MiwxNSArMTYzLDM2IEBACiBkZXJpdmVkIGZyb20gdGhlIHJlbW90ZS10cmFja2luZyBicmFuY2gsIGJ5IGxvb2tpbmcgYXQgdGhlIGxvY2FsIHBhcnQgb2YKIHRoZSByZWZzcGVjIGNvbmZpZ3VyZWQgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHJlbW90ZSwgYW5kIHRoZW4gc3RyaXBwaW5nCiB0aGUgaW5pdGlhbCBwYXJ0IHVwIHRvIHRoZSAiKiIuCi1UaGlzIHdvdWxkIHRlbGwgdXMgdG8gdXNlICJoYWNrIiBhcyB0aGUgbG9jYWwgYnJhbmNoIHdoZW4gYnJhbmNoaW5nCi1vZmYgb2YgIm9yaWdpbi9oYWNrIiAob3IgInJlbW90ZXMvb3JpZ2luL2hhY2siLCBvciBldmVuCi0icmVmcy9yZW1vdGVzL29yaWdpbi9oYWNrIikuICBJZiB0aGUgZ2l2ZW4gbmFtZSBoYXMgbm8gc2xhc2gsIG9yIHRoZSBhYm92ZQorVGhpcyB3b3VsZCB0ZWxsIHVzIHRvIHVzZSBgaGFja2AgYXMgdGhlIGxvY2FsIGJyYW5jaCB3aGVuIGJyYW5jaGluZworb2ZmIG9mIGBvcmlnaW4vaGFja2AgKG9yIGByZW1vdGVzL29yaWdpbi9oYWNrYCwgb3IgZXZlbgorYHJlZnMvcmVtb3Rlcy9vcmlnaW4vaGFja2ApLiAgSWYgdGhlIGdpdmVuIG5hbWUgaGFzIG5vIHNsYXNoLCBvciB0aGUgYWJvdmUKIGd1ZXNzaW5nIHJlc3VsdHMgaW4gYW4gZW1wdHkgbmFtZSwgdGhlIGd1ZXNzaW5nIGlzIGFib3J0ZWQuICBZb3UgY2FuCiBleHBsaWNpdGx5IGdpdmUgYSBuYW1lIHdpdGggYC1iYCBpbiBzdWNoIGEgY2FzZS4KIAogLS1uby10cmFjazo6CiAJRG8gbm90IHNldCB1cCAidXBzdHJlYW0iIGNvbmZpZ3VyYXRpb24sIGV2ZW4gaWYgdGhlCi0JYnJhbmNoLmF1dG9TZXR1cE1lcmdlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgaXMgdHJ1ZS4KKwlgYnJhbmNoLmF1dG9TZXR1cE1lcmdlYCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGlzIHRydWUuCisKKy0tZ3Vlc3M6OgorLS1uby1ndWVzczo6CisJSWYgYDxicmFuY2g+YCBpcyBub3QgZm91bmQgYnV0IHRoZXJlIGRvZXMgZXhpc3QgYSB0cmFja2luZworCWJyYW5jaCBpbiBleGFjdGx5IG9uZSByZW1vdGUgKGNhbGwgaXQgYDxyZW1vdGU+YCkgd2l0aCBhCisJbWF0Y2hpbmcgbmFtZSwgdHJlYXQgYXMgZXF1aXZhbGVudCB0bworKworLS0tLS0tLS0tLS0tCiskIGdpdCBjaGVja291dCAtYiA8YnJhbmNoPiAtLXRyYWNrIDxyZW1vdGU+LzxicmFuY2g+CistLS0tLS0tLS0tLS0KKysKK0lmIHRoZSBicmFuY2ggZXhpc3RzIGluIG11bHRpcGxlIHJlbW90ZXMgYW5kIG9uZSBvZiB0aGVtIGlzIG5hbWVkIGJ5Cit0aGUgYGNoZWNrb3V0LmRlZmF1bHRSZW1vdGVgIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUsIHdlJ2xsIHVzZSB0aGF0CitvbmUgZm9yIHRoZSBwdXJwb3NlcyBvZiBkaXNhbWJpZ3VhdGlvbiwgZXZlbiBpZiB0aGUgYDxicmFuY2g+YCBpc24ndAordW5pcXVlIGFjcm9zcyBhbGwgcmVtb3Rlcy4gU2V0IGl0IHRvCitlLmcuIGBjaGVja291dC5kZWZhdWx0UmVtb3RlPW9yaWdpbmAgdG8gYWx3YXlzIGNoZWNrb3V0IHJlbW90ZQorYnJhbmNoZXMgZnJvbSB0aGVyZSBpZiBgPGJyYW5jaD5gIGlzIGFtYmlndW91cyBidXQgZXhpc3RzIG9uIHRoZQorJ29yaWdpbicgcmVtb3RlLiBTZWUgYWxzbyBgY2hlY2tvdXQuZGVmYXVsdFJlbW90ZWAgaW4KK2xpbmtnaXQ6Z2l0LWNvbmZpZ1sxXS4KKysKK1VzZSBgLS1uby1ndWVzc2AgdG8gZGlzYWJsZSB0aGlzLgogCiAtbDo6CiAJQ3JlYXRlIHRoZSBuZXcgYnJhbmNoJ3MgcmVmbG9nOyBzZWUgbGlua2dpdDpnaXQtYnJhbmNoWzFdIGZvcgpAQCAtMTg5LDIxICsyMDEsMjEgQEAKIC0tZGV0YWNoOjoKIAlSYXRoZXIgdGhhbiBjaGVja2luZyBvdXQgYSBicmFuY2ggdG8gd29yayBvbiBpdCwgY2hlY2sgb3V0IGEKIAljb21taXQgZm9yIGluc3BlY3Rpb24gYW5kIGRpc2NhcmRhYmxlIGV4cGVyaW1lbnRzLgotCVRoaXMgaXMgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgImdpdCBjaGVja291dCA8Y29tbWl0PiIgd2hlbgotCTxjb21taXQ+IGlzIG5vdCBhIGJyYW5jaCBuYW1lLiAgU2VlIHRoZSAiREVUQUNIRUQgSEVBRCIgc2VjdGlvbgorCVRoaXMgaXMgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgYGdpdCBjaGVja291dCA8Y29tbWl0PmAgd2hlbgorCWA8Y29tbWl0PmAgaXMgbm90IGEgYnJhbmNoIG5hbWUuICBTZWUgdGhlICJERVRBQ0hFRCBIRUFEIiBzZWN0aW9uCiAJYmVsb3cgZm9yIGRldGFpbHMuCiAKIC0tb3JwaGFuIDxuZXdfYnJhbmNoPjo6Ci0JQ3JlYXRlIGEgbmV3ICdvcnBoYW4nIGJyYW5jaCwgbmFtZWQgPG5ld19icmFuY2g+LCBzdGFydGVkIGZyb20KLQk8c3RhcnRfcG9pbnQ+IGFuZCBzd2l0Y2ggdG8gaXQuICBUaGUgZmlyc3QgY29tbWl0IG1hZGUgb24gdGhpcworCUNyZWF0ZSBhIG5ldyAnb3JwaGFuJyBicmFuY2gsIG5hbWVkIGA8bmV3X2JyYW5jaD5gLCBzdGFydGVkIGZyb20KKwlgPHN0YXJ0X3BvaW50PmAgYW5kIHN3aXRjaCB0byBpdC4gIFRoZSBmaXJzdCBjb21taXQgbWFkZSBvbiB0aGlzCiAJbmV3IGJyYW5jaCB3aWxsIGhhdmUgbm8gcGFyZW50cyBhbmQgaXQgd2lsbCBiZSB0aGUgcm9vdCBvZiBhIG5ldwogCWhpc3RvcnkgdG90YWxseSBkaXNjb25uZWN0ZWQgZnJvbSBhbGwgdGhlIG90aGVyIGJyYW5jaGVzIGFuZAogCWNvbW1pdHMuCiArCiBUaGUgaW5kZXggYW5kIHRoZSB3b3JraW5nIHRyZWUgYXJlIGFkanVzdGVkIGFzIGlmIHlvdSBoYWQgcHJldmlvdXNseSBydW4KLSJnaXQgY2hlY2tvdXQgPHN0YXJ0X3BvaW50PiIuICBUaGlzIGFsbG93cyB5b3UgdG8gc3RhcnQgYSBuZXcgaGlzdG9yeQotdGhhdCByZWNvcmRzIGEgc2V0IG9mIHBhdGhzIHNpbWlsYXIgdG8gPHN0YXJ0X3BvaW50PiBieSBlYXNpbHkgcnVubmluZwotImdpdCBjb21taXQgLWEiIHRvIG1ha2UgdGhlIHJvb3QgY29tbWl0LgorYGdpdCBjaGVja291dCA8c3RhcnRfcG9pbnQ+YC4gIFRoaXMgYWxsb3dzIHlvdSB0byBzdGFydCBhIG5ldyBoaXN0b3J5Cit0aGF0IHJlY29yZHMgYSBzZXQgb2YgcGF0aHMgc2ltaWxhciB0byBgPHN0YXJ0X3BvaW50PmAgYnkgZWFzaWx5IHJ1bm5pbmcKK2BnaXQgY29tbWl0IC1hYCB0byBtYWtlIHRoZSByb290IGNvbW1pdC4KICsKIFRoaXMgY2FuIGJlIHVzZWZ1bCB3aGVuIHlvdSB3YW50IHRvIHB1Ymxpc2ggdGhlIHRyZWUgZnJvbSBhIGNvbW1pdAogd2l0aG91dCBleHBvc2luZyBpdHMgZnVsbCBoaXN0b3J5LiBZb3UgbWlnaHQgd2FudCB0byBkbyB0aGlzIHRvIHB1Ymxpc2gKQEAgLTIxMiwxNyArMjI0LDE3IEBACiBjb2RlLgogKwogSWYgeW91IHdhbnQgdG8gc3RhcnQgYSBkaXNjb25uZWN0ZWQgaGlzdG9yeSB0aGF0IHJlY29yZHMgYSBzZXQgb2YgcGF0aHMKLXRoYXQgaXMgdG90YWxseSBkaWZmZXJlbnQgZnJvbSB0aGUgb25lIG9mIDxzdGFydF9wb2ludD4sIHRoZW4geW91IHNob3VsZAordGhhdCBpcyB0b3RhbGx5IGRpZmZlcmVudCBmcm9tIHRoZSBvbmUgb2YgYDxzdGFydF9wb2ludD5gLCB0aGVuIHlvdSBzaG91bGQKIGNsZWFyIHRoZSBpbmRleCBhbmQgdGhlIHdvcmtpbmcgdHJlZSByaWdodCBhZnRlciBjcmVhdGluZyB0aGUgb3JwaGFuCi1icmFuY2ggYnkgcnVubmluZyAiZ2l0IHJtIC1yZiAuIiBmcm9tIHRoZSB0b3AgbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZS4KK2JyYW5jaCBieSBydW5uaW5nIGBnaXQgcm0gLXJmIC5gIGZyb20gdGhlIHRvcCBsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlLgogQWZ0ZXJ3YXJkcyB5b3Ugd2lsbCBiZSByZWFkeSB0byBwcmVwYXJlIHlvdXIgbmV3IGZpbGVzLCByZXBvcHVsYXRpbmcgdGhlCiB3b3JraW5nIHRyZWUsIGJ5IGNvcHlpbmcgdGhlbSBmcm9tIGVsc2V3aGVyZSwgZXh0cmFjdGluZyBhIHRhcmJhbGwsIGV0Yy4KIAogLS1pZ25vcmUtc2tpcC13b3JrdHJlZS1iaXRzOjoKIAlJbiBzcGFyc2UgY2hlY2tvdXQgbW9kZSwgYGdpdCBjaGVja291dCAtLSA8cGF0aHM+YCB3b3VsZAotCXVwZGF0ZSBvbmx5IGVudHJpZXMgbWF0Y2hlZCBieSA8cGF0aHM+IGFuZCBzcGFyc2UgcGF0dGVybnMKLQlpbiAkR0lUX0RJUi9pbmZvL3NwYXJzZS1jaGVja291dC4gVGhpcyBvcHRpb24gaWdub3JlcwotCXRoZSBzcGFyc2UgcGF0dGVybnMgYW5kIGFkZHMgYmFjayBhbnkgZmlsZXMgaW4gPHBhdGhzPi4KKwl1cGRhdGUgb25seSBlbnRyaWVzIG1hdGNoZWQgYnkgYDxwYXRocz5gIGFuZCBzcGFyc2UgcGF0dGVybnMKKwlpbiBgJEdJVF9ESVIvaW5mby9zcGFyc2UtY2hlY2tvdXRgLiBUaGlzIG9wdGlvbiBpZ25vcmVzCisJdGhlIHNwYXJzZSBwYXR0ZXJucyBhbmQgYWRkcyBiYWNrIGFueSBmaWxlcyBpbiBgPHBhdGhzPmAuCiAKIC1tOjoKIC0tbWVyZ2U6OgpAQCAtMjQyLDI0ICsyNTQsMjkgQEAKICsKIFdoZW4gY2hlY2tpbmcgb3V0IHBhdGhzIGZyb20gdGhlIGluZGV4LCB0aGlzIG9wdGlvbiBsZXRzIHlvdSByZWNyZWF0ZQogdGhlIGNvbmZsaWN0ZWQgbWVyZ2UgaW4gdGhlIHNwZWNpZmllZCBwYXRocy4KKysKK1doZW4gc3dpdGNoaW5nIGJyYW5jaGVzIHdpdGggYC0tbWVyZ2VgLCBzdGFnZWQgY2hhbmdlcyBtYXkgYmUgbG9zdC4KIAogLS1jb25mbGljdD08c3R5bGU+OjoKLQlUaGUgc2FtZSBhcyAtLW1lcmdlIG9wdGlvbiBhYm92ZSwgYnV0IGNoYW5nZXMgdGhlIHdheSB0aGUKKwlUaGUgc2FtZSBhcyBgLS1tZXJnZWAgb3B0aW9uIGFib3ZlLCBidXQgY2hhbmdlcyB0aGUgd2F5IHRoZQogCWNvbmZsaWN0aW5nIGh1bmtzIGFyZSBwcmVzZW50ZWQsIG92ZXJyaWRpbmcgdGhlCi0JbWVyZ2UuY29uZmxpY3RTdHlsZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlLiAgUG9zc2libGUgdmFsdWVzIGFyZQorCWBtZXJnZS5jb25mbGljdFN0eWxlYCBjb25maWd1cmF0aW9uIHZhcmlhYmxlLiAgUG9zc2libGUgdmFsdWVzIGFyZQogCSJtZXJnZSIgKGRlZmF1bHQpIGFuZCAiZGlmZjMiIChpbiBhZGRpdGlvbiB0byB3aGF0IGlzIHNob3duIGJ5CiAJIm1lcmdlIiBzdHlsZSwgc2hvd3MgdGhlIG9yaWdpbmFsIGNvbnRlbnRzKS4KIAogLXA6OgogLS1wYXRjaDo6CiAJSW50ZXJhY3RpdmVseSBzZWxlY3QgaHVua3MgaW4gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUKLQk8dHJlZS1pc2g+IChvciB0aGUgaW5kZXgsIGlmIHVuc3BlY2lmaWVkKSBhbmQgdGhlIHdvcmtpbmcKKwlgPHRyZWUtaXNoPmAgKG9yIHRoZSBpbmRleCwgaWYgdW5zcGVjaWZpZWQpIGFuZCB0aGUgd29ya2luZwogCXRyZWUuICBUaGUgY2hvc2VuIGh1bmtzIGFyZSB0aGVuIGFwcGxpZWQgaW4gcmV2ZXJzZSB0byB0aGUKLQl3b3JraW5nIHRyZWUgKGFuZCBpZiBhIDx0cmVlLWlzaD4gd2FzIHNwZWNpZmllZCwgdGhlIGluZGV4KS4KKwl3b3JraW5nIHRyZWUgKGFuZCBpZiBhIGA8dHJlZS1pc2g+YCB3YXMgc3BlY2lmaWVkLCB0aGUgaW5kZXgpLgogKwogVGhpcyBtZWFucyB0aGF0IHlvdSBjYW4gdXNlIGBnaXQgY2hlY2tvdXQgLXBgIHRvIHNlbGVjdGl2ZWx5IGRpc2NhcmQKIGVkaXRzIGZyb20geW91ciBjdXJyZW50IHdvcmtpbmcgdHJlZS4gU2VlIHRoZSBgYEludGVyYWN0aXZlIE1vZGUnJwogc2VjdGlvbiBvZiBsaW5rZ2l0OmdpdC1hZGRbMV0gdG8gbGVhcm4gaG93IHRvIG9wZXJhdGUgdGhlIGAtLXBhdGNoYCBtb2RlLgorKworTm90ZSB0aGF0IHRoaXMgb3B0aW9uIHVzZXMgdGhlIG5vIG92ZXJsYXkgbW9kZSBieSBkZWZhdWx0IChzZWUgYWxzbworYC0tb3ZlcmxheWApLCBhbmQgY3VycmVudGx5IGRvZXNuJ3Qgc3VwcG9ydCBvdmVybGF5IG1vZGUuCiAKIC0taWdub3JlLW90aGVyLXdvcmt0cmVlczo6CiAJYGdpdCBjaGVja291dGAgcmVmdXNlcyB3aGVuIHRoZSB3YW50ZWQgcmVmIGlzIGFscmVhZHkgY2hlY2tlZApAQCAtMjY3LDI3ICsyODQsNTUgQEAKIAlvdXQgYW55d2F5LiBJbiBvdGhlciB3b3JkcywgdGhlIHJlZiBjYW4gYmUgaGVsZCBieSBtb3JlIHRoYW4gb25lCiAJd29ya3RyZWUuCiAKLS0tW25vLV1yZWN1cnNlLXN1Ym1vZHVsZXM6OgotCVVzaW5nIC0tcmVjdXJzZS1zdWJtb2R1bGVzIHdpbGwgdXBkYXRlIHRoZSBjb250ZW50IG9mIGFsbCBpbml0aWFsaXplZAorLS1vdmVyd3JpdGUtaWdub3JlOjoKKy0tbm8tb3ZlcndyaXRlLWlnbm9yZTo6CisJU2lsZW50bHkgb3ZlcndyaXRlIGlnbm9yZWQgZmlsZXMgd2hlbiBzd2l0Y2hpbmcgYnJhbmNoZXMuIFRoaXMKKwlpcyB0aGUgZGVmYXVsdCBiZWhhdmlvci4gVXNlIGAtLW5vLW92ZXJ3cml0ZS1pZ25vcmVgIHRvIGFib3J0CisJdGhlIG9wZXJhdGlvbiB3aGVuIHRoZSBuZXcgYnJhbmNoIGNvbnRhaW5zIGlnbm9yZWQgZmlsZXMuCisKKy0tcmVjdXJzZS1zdWJtb2R1bGVzOjoKKy0tbm8tcmVjdXJzZS1zdWJtb2R1bGVzOjoKKwlVc2luZyBgLS1yZWN1cnNlLXN1Ym1vZHVsZXNgIHdpbGwgdXBkYXRlIHRoZSBjb250ZW50IG9mIGFsbCBpbml0aWFsaXplZAogCXN1Ym1vZHVsZXMgYWNjb3JkaW5nIHRvIHRoZSBjb21taXQgcmVjb3JkZWQgaW4gdGhlIHN1cGVycHJvamVjdC4gSWYKIAlsb2NhbCBtb2RpZmljYXRpb25zIGluIGEgc3VibW9kdWxlIHdvdWxkIGJlIG92ZXJ3cml0dGVuIHRoZSBjaGVja291dAotCXdpbGwgZmFpbCB1bmxlc3MgYC1mYCBpcyB1c2VkLiBJZiBub3RoaW5nIChvciAtLW5vLXJlY3Vyc2Utc3VibW9kdWxlcykKKwl3aWxsIGZhaWwgdW5sZXNzIGAtZmAgaXMgdXNlZC4gSWYgbm90aGluZyAob3IgYC0tbm8tcmVjdXJzZS1zdWJtb2R1bGVzYCkKIAlpcyB1c2VkLCB0aGUgd29yayB0cmVlcyBvZiBzdWJtb2R1bGVzIHdpbGwgbm90IGJlIHVwZGF0ZWQuCi0JSnVzdCBsaWtlIGxpbmtnaXQ6Z2l0LXN1Ym1vZHVsZVsxXSwgdGhpcyB3aWxsIGRldGFjaCB0aGUKLQlzdWJtb2R1bGVzIEhFQUQuCisJSnVzdCBsaWtlIGxpbmtnaXQ6Z2l0LXN1Ym1vZHVsZVsxXSwgdGhpcyB3aWxsIGRldGFjaCBgSEVBRGAgb2YgdGhlCisJc3VibW9kdWxlLgorCistLW92ZXJsYXk6OgorLS1uby1vdmVybGF5OjoKKwlJbiB0aGUgZGVmYXVsdCBvdmVybGF5IG1vZGUsIGBnaXQgY2hlY2tvdXRgIG5ldmVyCisJcmVtb3ZlcyBmaWxlcyBmcm9tIHRoZSBpbmRleCBvciB0aGUgd29ya2luZyB0cmVlLiAgV2hlbgorCXNwZWNpZnlpbmcgYC0tbm8tb3ZlcmxheWAsIGZpbGVzIHRoYXQgYXBwZWFyIGluIHRoZSBpbmRleCBhbmQKKwl3b3JraW5nIHRyZWUsIGJ1dCBub3QgaW4gYDx0cmVlLWlzaD5gIGFyZSByZW1vdmVkLCB0byBtYWtlIHRoZW0KKwltYXRjaCBgPHRyZWUtaXNoPmAgZXhhY3RseS4KKworLS1wYXRoc3BlYy1mcm9tLWZpbGU9PGZpbGU+OjoKKwlQYXRoc3BlYyBpcyBwYXNzZWQgaW4gYDxmaWxlPmAgaW5zdGVhZCBvZiBjb21tYW5kbGluZSBhcmdzLiBJZgorCWA8ZmlsZT5gIGlzIGV4YWN0bHkgYC1gIHRoZW4gc3RhbmRhcmQgaW5wdXQgaXMgdXNlZC4gUGF0aHNwZWMKKwllbGVtZW50cyBhcmUgc2VwYXJhdGVkIGJ5IExGIG9yIENSL0xGLiBQYXRoc3BlYyBlbGVtZW50cyBjYW4gYmUKKwlxdW90ZWQgYXMgZXhwbGFpbmVkIGZvciB0aGUgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBgY29yZS5xdW90ZVBhdGhgCisJKHNlZSBsaW5rZ2l0OmdpdC1jb25maWdbMV0pLiBTZWUgYWxzbyBgLS1wYXRoc3BlYy1maWxlLW51bGAgYW5kCisJZ2xvYmFsIGAtLWxpdGVyYWwtcGF0aHNwZWNzYC4KKworLS1wYXRoc3BlYy1maWxlLW51bDo6CisJT25seSBtZWFuaW5nZnVsIHdpdGggYC0tcGF0aHNwZWMtZnJvbS1maWxlYC4gUGF0aHNwZWMgZWxlbWVudHMgYXJlCisJc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciBhbmQgYWxsIG90aGVyIGNoYXJhY3RlcnMgYXJlIHRha2VuCisJbGl0ZXJhbGx5IChpbmNsdWRpbmcgbmV3bGluZXMgYW5kIHF1b3RlcykuCiAKIDxicmFuY2g+OjoKIAlCcmFuY2ggdG8gY2hlY2tvdXQ7IGlmIGl0IHJlZmVycyB0byBhIGJyYW5jaCAoaS5lLiwgYSBuYW1lIHRoYXQsCiAJd2hlbiBwcmVwZW5kZWQgd2l0aCAicmVmcy9oZWFkcy8iLCBpcyBhIHZhbGlkIHJlZiksIHRoZW4gdGhhdAogCWJyYW5jaCBpcyBjaGVja2VkIG91dC4gT3RoZXJ3aXNlLCBpZiBpdCByZWZlcnMgdG8gYSB2YWxpZAotCWNvbW1pdCwgeW91ciBIRUFEIGJlY29tZXMgImRldGFjaGVkIiBhbmQgeW91IGFyZSBubyBsb25nZXIgb24KKwljb21taXQsIHlvdXIgYEhFQURgIGJlY29tZXMgImRldGFjaGVkIiBhbmQgeW91IGFyZSBubyBsb25nZXIgb24KIAlhbnkgYnJhbmNoIChzZWUgYmVsb3cgZm9yIGRldGFpbHMpLgogKwotWW91IGNhbiB1c2UgdGhlIGAiQHstTn0iYCBzeW50YXggdG8gcmVmZXIgdG8gdGhlIE4tdGggbGFzdAorWW91IGNhbiB1c2UgdGhlIGBAey1OfWAgc3ludGF4IHRvIHJlZmVyIHRvIHRoZSBOLXRoIGxhc3QKIGJyYW5jaC9jb21taXQgY2hlY2tlZCBvdXQgdXNpbmcgImdpdCBjaGVja291dCIgb3BlcmF0aW9uLiBZb3UgbWF5Ci1hbHNvIHNwZWNpZnkgYC1gIHdoaWNoIGlzIHN5bm9ueW1vdXMgdG8gYCJAey0xfWAuCithbHNvIHNwZWNpZnkgYC1gIHdoaWNoIGlzIHN5bm9ueW1vdXMgdG8gYEB7LTF9YC4KICsKLUFzIGEgc3BlY2lhbCBjYXNlLCB5b3UgbWF5IHVzZSBgIkEuLi5CImAgYXMgYSBzaG9ydGN1dCBmb3IgdGhlCitBcyBhIHNwZWNpYWwgY2FzZSwgeW91IG1heSB1c2UgYEEuLi5CYCBhcyBhIHNob3J0Y3V0IGZvciB0aGUKIG1lcmdlIGJhc2Ugb2YgYEFgIGFuZCBgQmAgaWYgdGhlcmUgaXMgZXhhY3RseSBvbmUgbWVyZ2UgYmFzZS4gWW91IGNhbgogbGVhdmUgb3V0IGF0IG1vc3Qgb25lIG9mIGBBYCBhbmQgYEJgLCBpbiB3aGljaCBjYXNlIGl0IGRlZmF1bHRzIHRvIGBIRUFEYC4KIApAQCAtMjk2LDE5ICszNDEsMjkgQEAKIAogPHN0YXJ0X3BvaW50Pjo6CiAJVGhlIG5hbWUgb2YgYSBjb21taXQgYXQgd2hpY2ggdG8gc3RhcnQgdGhlIG5ldyBicmFuY2g7IHNlZQotCWxpbmtnaXQ6Z2l0LWJyYW5jaFsxXSBmb3IgZGV0YWlscy4gRGVmYXVsdHMgdG8gSEVBRC4KKwlsaW5rZ2l0OmdpdC1icmFuY2hbMV0gZm9yIGRldGFpbHMuIERlZmF1bHRzIHRvIGBIRUFEYC4KKysKK0FzIGEgc3BlY2lhbCBjYXNlLCB5b3UgbWF5IHVzZSBgIkEuLi5CImAgYXMgYSBzaG9ydGN1dCBmb3IgdGhlCittZXJnZSBiYXNlIG9mIGBBYCBhbmQgYEJgIGlmIHRoZXJlIGlzIGV4YWN0bHkgb25lIG1lcmdlIGJhc2UuIFlvdSBjYW4KK2xlYXZlIG91dCBhdCBtb3N0IG9uZSBvZiBgQWAgYW5kIGBCYCwgaW4gd2hpY2ggY2FzZSBpdCBkZWZhdWx0cyB0byBgSEVBRGAuCiAKIDx0cmVlLWlzaD46OgogCVRyZWUgdG8gY2hlY2tvdXQgZnJvbSAod2hlbiBwYXRocyBhcmUgZ2l2ZW4pLiBJZiBub3Qgc3BlY2lmaWVkLAogCXRoZSBpbmRleCB3aWxsIGJlIHVzZWQuCiAKK1wtLTo6CisJRG8gbm90IGludGVycHJldCBhbnkgbW9yZSBhcmd1bWVudHMgYXMgb3B0aW9ucy4KIAorPHBhdGhzcGVjPi4uLjo6CisJTGltaXRzIHRoZSBwYXRocyBhZmZlY3RlZCBieSB0aGUgb3BlcmF0aW9uLgorKworRm9yIG1vcmUgZGV0YWlscywgc2VlIHRoZSAncGF0aHNwZWMnIGVudHJ5IGluIGxpbmtnaXQ6Z2l0Z2xvc3NhcnlbN10uCiAKIERFVEFDSEVEIEhFQUQKIC0tLS0tLS0tLS0tLS0KLUhFQUQgbm9ybWFsbHkgcmVmZXJzIHRvIGEgbmFtZWQgYnJhbmNoIChlLmcuICdtYXN0ZXInKS4gTWVhbndoaWxlLCBlYWNoCitgSEVBRGAgbm9ybWFsbHkgcmVmZXJzIHRvIGEgbmFtZWQgYnJhbmNoIChlLmcuIGBtYXN0ZXJgKS4gTWVhbndoaWxlLCBlYWNoCiBicmFuY2ggcmVmZXJzIHRvIGEgc3BlY2lmaWMgY29tbWl0LiBMZXQncyBsb29rIGF0IGEgcmVwbyB3aXRoIHRocmVlCi1jb21taXRzLCBvbmUgb2YgdGhlbSB0YWdnZWQsIGFuZCB3aXRoIGJyYW5jaCAnbWFzdGVyJyBjaGVja2VkIG91dDoKK2NvbW1pdHMsIG9uZSBvZiB0aGVtIHRhZ2dlZCwgYW5kIHdpdGggYnJhbmNoIGBtYXN0ZXJgIGNoZWNrZWQgb3V0OgogCiAtLS0tLS0tLS0tLS0KICAgICAgICAgICAgSEVBRCAocmVmZXJzIHRvIGJyYW5jaCAnbWFzdGVyJykKQEAgLTMyMSwxMCArMzc2LDEwIEBACiAtLS0tLS0tLS0tLS0KIAogV2hlbiBhIGNvbW1pdCBpcyBjcmVhdGVkIGluIHRoaXMgc3RhdGUsIHRoZSBicmFuY2ggaXMgdXBkYXRlZCB0byByZWZlciB0bwotdGhlIG5ldyBjb21taXQuIFNwZWNpZmljYWxseSwgJ2dpdCBjb21taXQnIGNyZWF0ZXMgYSBuZXcgY29tbWl0ICdkJywgd2hvc2UKLXBhcmVudCBpcyBjb21taXQgJ2MnLCBhbmQgdGhlbiB1cGRhdGVzIGJyYW5jaCAnbWFzdGVyJyB0byByZWZlciB0byBuZXcKLWNvbW1pdCAnZCcuIEhFQUQgc3RpbGwgcmVmZXJzIHRvIGJyYW5jaCAnbWFzdGVyJyBhbmQgc28gaW5kaXJlY3RseSBub3cgcmVmZXJzCi10byBjb21taXQgJ2QnOgordGhlIG5ldyBjb21taXQuIFNwZWNpZmljYWxseSwgJ2dpdCBjb21taXQnIGNyZWF0ZXMgYSBuZXcgY29tbWl0IGBkYCwgd2hvc2UKK3BhcmVudCBpcyBjb21taXQgYGNgLCBhbmQgdGhlbiB1cGRhdGVzIGJyYW5jaCBgbWFzdGVyYCB0byByZWZlciB0byBuZXcKK2NvbW1pdCBgZGAuIGBIRUFEYCBzdGlsbCByZWZlcnMgdG8gYnJhbmNoIGBtYXN0ZXJgIGFuZCBzbyBpbmRpcmVjdGx5IG5vdyByZWZlcnMKK3RvIGNvbW1pdCBgZGA6CiAKIC0tLS0tLS0tLS0tLQogJCBlZGl0OyBnaXQgYWRkOyBnaXQgY29tbWl0CkBAIC0zNDEsNyArMzk2LDcgQEAKIEl0IGlzIHNvbWV0aW1lcyB1c2VmdWwgdG8gYmUgYWJsZSB0byBjaGVja291dCBhIGNvbW1pdCB0aGF0IGlzIG5vdCBhdAogdGhlIHRpcCBvZiBhbnkgbmFtZWQgYnJhbmNoLCBvciBldmVuIHRvIGNyZWF0ZSBhIG5ldyBjb21taXQgdGhhdCBpcyBub3QKIHJlZmVyZW5jZWQgYnkgYSBuYW1lZCBicmFuY2guIExldCdzIGxvb2sgYXQgd2hhdCBoYXBwZW5zIHdoZW4gd2UKLWNoZWNrb3V0IGNvbW1pdCAnYicgKGhlcmUgd2Ugc2hvdyB0d28gd2F5cyB0aGlzIG1heSBiZSBkb25lKToKK2NoZWNrb3V0IGNvbW1pdCBgYmAgKGhlcmUgd2Ugc2hvdyB0d28gd2F5cyB0aGlzIG1heSBiZSBkb25lKToKIAogLS0tLS0tLS0tLS0tCiAkIGdpdCBjaGVja291dCB2Mi4wICAjIG9yCkBAIC0zNTYsOSArNDExLDkgQEAKICAgdGFnICd2Mi4wJyAocmVmZXJzIHRvIGNvbW1pdCAnYicpCiAtLS0tLS0tLS0tLS0KIAotTm90aWNlIHRoYXQgcmVnYXJkbGVzcyBvZiB3aGljaCBjaGVja291dCBjb21tYW5kIHdlIHVzZSwgSEVBRCBub3cgcmVmZXJzCi1kaXJlY3RseSB0byBjb21taXQgJ2InLiBUaGlzIGlzIGtub3duIGFzIGJlaW5nIGluIGRldGFjaGVkIEhFQUQgc3RhdGUuCi1JdCBtZWFucyBzaW1wbHkgdGhhdCBIRUFEIHJlZmVycyB0byBhIHNwZWNpZmljIGNvbW1pdCwgYXMgb3Bwb3NlZCB0bworTm90aWNlIHRoYXQgcmVnYXJkbGVzcyBvZiB3aGljaCBjaGVja291dCBjb21tYW5kIHdlIHVzZSwgYEhFQURgIG5vdyByZWZlcnMKK2RpcmVjdGx5IHRvIGNvbW1pdCBgYmAuIFRoaXMgaXMga25vd24gYXMgYmVpbmcgaW4gZGV0YWNoZWQgYEhFQURgIHN0YXRlLgorSXQgbWVhbnMgc2ltcGx5IHRoYXQgYEhFQURgIHJlZmVycyB0byBhIHNwZWNpZmljIGNvbW1pdCwgYXMgb3Bwb3NlZCB0bwogcmVmZXJyaW5nIHRvIGEgbmFtZWQgYnJhbmNoLiBMZXQncyBzZWUgd2hhdCBoYXBwZW5zIHdoZW4gd2UgY3JlYXRlIGEgY29tbWl0OgogCiAtLS0tLS0tLS0tLS0KQEAgLTM3NSw3ICs0MzAsNyBAQAogICB0YWcgJ3YyLjAnIChyZWZlcnMgdG8gY29tbWl0ICdiJykKIC0tLS0tLS0tLS0tLQogCi1UaGVyZSBpcyBub3cgYSBuZXcgY29tbWl0ICdlJywgYnV0IGl0IGlzIHJlZmVyZW5jZWQgb25seSBieSBIRUFELiBXZSBjYW4KK1RoZXJlIGlzIG5vdyBhIG5ldyBjb21taXQgYGVgLCBidXQgaXQgaXMgcmVmZXJlbmNlZCBvbmx5IGJ5IGBIRUFEYC4gV2UgY2FuCiBvZiBjb3Vyc2UgYWRkIHlldCBhbm90aGVyIGNvbW1pdCBpbiB0aGlzIHN0YXRlOgogCiAtLS0tLS0tLS0tLS0KQEAgLTM5Myw3ICs0NDgsNyBAQAogLS0tLS0tLS0tLS0tCiAKIEluIGZhY3QsIHdlIGNhbiBwZXJmb3JtIGFsbCB0aGUgbm9ybWFsIEdpdCBvcGVyYXRpb25zLiBCdXQsIGxldCdzIGxvb2sKLWF0IHdoYXQgaGFwcGVucyB3aGVuIHdlIHRoZW4gY2hlY2tvdXQgbWFzdGVyOgorYXQgd2hhdCBoYXBwZW5zIHdoZW4gd2UgdGhlbiBjaGVja291dCBgbWFzdGVyYDoKIAogLS0tLS0tLS0tLS0tCiAkIGdpdCBjaGVja291dCBtYXN0ZXIKQEAgLTQwOCw5ICs0NjMsOSBAQAogLS0tLS0tLS0tLS0tCiAKIEl0IGlzIGltcG9ydGFudCB0byByZWFsaXplIHRoYXQgYXQgdGhpcyBwb2ludCBub3RoaW5nIHJlZmVycyB0byBjb21taXQKLSdmJy4gRXZlbnR1YWxseSBjb21taXQgJ2YnIChhbmQgYnkgZXh0ZW5zaW9uIGNvbW1pdCAnZScpIHdpbGwgYmUgZGVsZXRlZAorYGZgLiBFdmVudHVhbGx5IGNvbW1pdCBgZmAgKGFuZCBieSBleHRlbnNpb24gY29tbWl0IGBlYCkgd2lsbCBiZSBkZWxldGVkCiBieSB0aGUgcm91dGluZSBHaXQgZ2FyYmFnZSBjb2xsZWN0aW9uIHByb2Nlc3MsIHVubGVzcyB3ZSBjcmVhdGUgYSByZWZlcmVuY2UKLWJlZm9yZSB0aGF0IGhhcHBlbnMuIElmIHdlIGhhdmUgbm90IHlldCBtb3ZlZCBhd2F5IGZyb20gY29tbWl0ICdmJywKK2JlZm9yZSB0aGF0IGhhcHBlbnMuIElmIHdlIGhhdmUgbm90IHlldCBtb3ZlZCBhd2F5IGZyb20gY29tbWl0IGBmYCwKIGFueSBvZiB0aGVzZSB3aWxsIGNyZWF0ZSBhIHJlZmVyZW5jZSB0byBpdDoKIAogLS0tLS0tLS0tLS0tCkBAIC00MTksMTkgKzQ3NCwxOSBAQAogJCBnaXQgdGFnIGZvbyAgICAgICAgICAgPDM+CiAtLS0tLS0tLS0tLS0KIAotPDE+IGNyZWF0ZXMgYSBuZXcgYnJhbmNoICdmb28nLCB3aGljaCByZWZlcnMgdG8gY29tbWl0ICdmJywgYW5kIHRoZW4KLXVwZGF0ZXMgSEVBRCB0byByZWZlciB0byBicmFuY2ggJ2ZvbycuIEluIG90aGVyIHdvcmRzLCB3ZSdsbCBubyBsb25nZXIKLWJlIGluIGRldGFjaGVkIEhFQUQgc3RhdGUgYWZ0ZXIgdGhpcyBjb21tYW5kLgorPDE+IGNyZWF0ZXMgYSBuZXcgYnJhbmNoIGBmb29gLCB3aGljaCByZWZlcnMgdG8gY29tbWl0IGBmYCwgYW5kIHRoZW4KKyAgICB1cGRhdGVzIGBIRUFEYCB0byByZWZlciB0byBicmFuY2ggYGZvb2AuIEluIG90aGVyIHdvcmRzLCB3ZSdsbCBubyBsb25nZXIKKyAgICBiZSBpbiBkZXRhY2hlZCBgSEVBRGAgc3RhdGUgYWZ0ZXIgdGhpcyBjb21tYW5kLgogCi08Mj4gc2ltaWxhcmx5IGNyZWF0ZXMgYSBuZXcgYnJhbmNoICdmb28nLCB3aGljaCByZWZlcnMgdG8gY29tbWl0ICdmJywKLWJ1dCBsZWF2ZXMgSEVBRCBkZXRhY2hlZC4KKzwyPiBzaW1pbGFybHkgY3JlYXRlcyBhIG5ldyBicmFuY2ggYGZvb2AsIHdoaWNoIHJlZmVycyB0byBjb21taXQgYGZgLAorICAgIGJ1dCBsZWF2ZXMgYEhFQURgIGRldGFjaGVkLgogCi08Mz4gY3JlYXRlcyBhIG5ldyB0YWcgJ2ZvbycsIHdoaWNoIHJlZmVycyB0byBjb21taXQgJ2YnLAotbGVhdmluZyBIRUFEIGRldGFjaGVkLgorPDM+IGNyZWF0ZXMgYSBuZXcgdGFnIGBmb29gLCB3aGljaCByZWZlcnMgdG8gY29tbWl0IGBmYCwKKyAgICBsZWF2aW5nIGBIRUFEYCBkZXRhY2hlZC4KIAotSWYgd2UgaGF2ZSBtb3ZlZCBhd2F5IGZyb20gY29tbWl0ICdmJywgdGhlbiB3ZSBtdXN0IGZpcnN0IHJlY292ZXIgaXRzIG9iamVjdAorSWYgd2UgaGF2ZSBtb3ZlZCBhd2F5IGZyb20gY29tbWl0IGBmYCwgdGhlbiB3ZSBtdXN0IGZpcnN0IHJlY292ZXIgaXRzIG9iamVjdAogbmFtZSAodHlwaWNhbGx5IGJ5IHVzaW5nIGdpdCByZWZsb2cpLCBhbmQgdGhlbiB3ZSBjYW4gY3JlYXRlIGEgcmVmZXJlbmNlIHRvCi1pdC4gRm9yIGV4YW1wbGUsIHRvIHNlZSB0aGUgbGFzdCB0d28gY29tbWl0cyB0byB3aGljaCBIRUFEIHJlZmVycmVkLCB3ZQoraXQuIEZvciBleGFtcGxlLCB0byBzZWUgdGhlIGxhc3QgdHdvIGNvbW1pdHMgdG8gd2hpY2ggYEhFQURgIHJlZmVycmVkLCB3ZQogY2FuIHVzZSBlaXRoZXIgb2YgdGhlc2UgY29tbWFuZHM6CiAKIC0tLS0tLS0tLS0tLQpAQCAtNDQyLDEyICs0OTcsMTIgQEAKIEFSR1VNRU5UIERJU0FNQklHVUFUSU9OCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1XaGVuIHRoZXJlIGlzIG9ubHkgb25lIGFyZ3VtZW50IGdpdmVuIGFuZCBpdCBpcyBub3QgYC0tYCAoZS5nLiAiZ2l0Ci1jaGVja291dCBhYmMiKSwgYW5kIHdoZW4gdGhlIGFyZ3VtZW50IGlzIGJvdGggYSB2YWxpZCBgPHRyZWUtaXNoPmAKLShlLmcuIGEgYnJhbmNoICJhYmMiIGV4aXN0cykgYW5kIGEgdmFsaWQgYDxwYXRoc3BlYz5gIChlLmcuIGEgZmlsZQorV2hlbiB0aGVyZSBpcyBvbmx5IG9uZSBhcmd1bWVudCBnaXZlbiBhbmQgaXQgaXMgbm90IGAtLWAgKGUuZy4gYGdpdAorY2hlY2tvdXQgYWJjYCksIGFuZCB3aGVuIHRoZSBhcmd1bWVudCBpcyBib3RoIGEgdmFsaWQgYDx0cmVlLWlzaD5gCisoZS5nLiBhIGJyYW5jaCBgYWJjYCBleGlzdHMpIGFuZCBhIHZhbGlkIGA8cGF0aHNwZWM+YCAoZS5nLiBhIGZpbGUKIG9yIGEgZGlyZWN0b3J5IHdob3NlIG5hbWUgaXMgImFiYyIgZXhpc3RzKSwgR2l0IHdvdWxkIHVzdWFsbHkgYXNrCiB5b3UgdG8gZGlzYW1iaWd1YXRlLiAgQmVjYXVzZSBjaGVja2luZyBvdXQgYSBicmFuY2ggaXMgc28gY29tbW9uIGFuCi1vcGVyYXRpb24sIGhvd2V2ZXIsICJnaXQgY2hlY2tvdXQgYWJjIiB0YWtlcyAiYWJjIiBhcyBhIGA8dHJlZS1pc2g+YAorb3BlcmF0aW9uLCBob3dldmVyLCBgZ2l0IGNoZWNrb3V0IGFiY2AgdGFrZXMgImFiYyIgYXMgYSBgPHRyZWUtaXNoPmAKIGluIHN1Y2ggYSBzaXR1YXRpb24uICBVc2UgYGdpdCBjaGVja291dCAtLSA8cGF0aHNwZWM+YCBpZiB5b3Ugd2FudAogdG8gY2hlY2tvdXQgdGhlc2UgcGF0aHMgb3V0IG9mIHRoZSBpbmRleC4KIApAQCAtNDU1LDggKzUxMCw4IEBACiAtLS0tLS0tLQogCiAuIFRoZSBmb2xsb3dpbmcgc2VxdWVuY2UgY2hlY2tzIG91dCB0aGUgYG1hc3RlcmAgYnJhbmNoLCByZXZlcnRzCi10aGUgYE1ha2VmaWxlYCB0byB0d28gcmV2aXNpb25zIGJhY2ssIGRlbGV0ZXMgaGVsbG8uYyBieQotbWlzdGFrZSwgYW5kIGdldHMgaXQgYmFjayBmcm9tIHRoZSBpbmRleC4KKyAgdGhlIGBNYWtlZmlsZWAgdG8gdHdvIHJldmlzaW9ucyBiYWNrLCBkZWxldGVzIGBoZWxsby5jYCBieQorICBtaXN0YWtlLCBhbmQgZ2V0cyBpdCBiYWNrIGZyb20gdGhlIGluZGV4LgogKwogLS0tLS0tLS0tLS0tCiAkIGdpdCBjaGVja291dCBtYXN0ZXIgICAgICAgICAgICAgPDE+CkBAIC00NjcsNyArNTIyLDcgQEAKICsKIDwxPiBzd2l0Y2ggYnJhbmNoCiA8Mj4gdGFrZSBhIGZpbGUgb3V0IG9mIGFub3RoZXIgY29tbWl0Ci08Mz4gcmVzdG9yZSBoZWxsby5jIGZyb20gdGhlIGluZGV4Cis8Mz4gcmVzdG9yZSBgaGVsbG8uY2AgZnJvbSB0aGUgaW5kZXgKICsKIElmIHlvdSB3YW50IHRvIGNoZWNrIG91dCBfYWxsXyBDIHNvdXJjZSBmaWxlcyBvdXQgb2YgdGhlIGluZGV4LAogeW91IGNhbiBzYXkKQEAgLTQ5MCwxMyArNTQ1LDEzIEBACiAtLS0tLS0tLS0tLS0KIAogLiBBZnRlciB3b3JraW5nIGluIHRoZSB3cm9uZyBicmFuY2gsIHN3aXRjaGluZyB0byB0aGUgY29ycmVjdAotYnJhbmNoIHdvdWxkIGJlIGRvbmUgdXNpbmc6CisgIGJyYW5jaCB3b3VsZCBiZSBkb25lIHVzaW5nOgogKwogLS0tLS0tLS0tLS0tCiAkIGdpdCBjaGVja291dCBteXRvcGljCiAtLS0tLS0tLS0tLS0KICsKLUhvd2V2ZXIsIHlvdXIgIndyb25nIiBicmFuY2ggYW5kIGNvcnJlY3QgIm15dG9waWMiIGJyYW5jaCBtYXkKK0hvd2V2ZXIsIHlvdXIgIndyb25nIiBicmFuY2ggYW5kIGNvcnJlY3QgYG15dG9waWNgIGJyYW5jaCBtYXkKIGRpZmZlciBpbiBmaWxlcyB0aGF0IHlvdSBoYXZlIG1vZGlmaWVkIGxvY2FsbHksIGluIHdoaWNoIGNhc2UKIHRoZSBhYm92ZSBjaGVja291dCB3b3VsZCBmYWlsIGxpa2UgdGhpczoKICsKQEAgLTUxOCw3ICs1NzMsNyBAQAogY2hhbmdlcyB5b3UgbWFkZSBzaW5jZSB0aGUgdGlwIG9mIHRoZSBuZXcgYnJhbmNoLgogCiAuIFdoZW4gYSBtZXJnZSBjb25mbGljdCBoYXBwZW5zIGR1cmluZyBzd2l0Y2hpbmcgYnJhbmNoZXMgd2l0aAotdGhlIGAtbWAgb3B0aW9uLCB5b3Ugd291bGQgc2VlIHNvbWV0aGluZyBsaWtlIHRoaXM6CisgIHRoZSBgLW1gIG9wdGlvbiwgeW91IHdvdWxkIHNlZSBzb21ldGhpbmcgbGlrZSB0aGlzOgogKwogLS0tLS0tLS0tLS0tCiAkIGdpdCBjaGVja291dCAtbSBteXRvcGljCkBAIC01MzcsNiArNTkyLDExIEBACiAkIGdpdCBhZGQgZnJvdHoKIC0tLS0tLS0tLS0tLQogCitTRUUgQUxTTworLS0tLS0tLS0KK2xpbmtnaXQ6Z2l0LXN3aXRjaFsxXSwKK2xpbmtnaXQ6Z2l0LXJlc3RvcmVbMV0KKwogR0lUCiAtLS0KIFBhcnQgb2YgdGhlIGxpbmtnaXQ6Z2l0WzFdIHN1aXRlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jaGVycnktcGljay50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1jaGVycnktcGljay50eHQKaW5kZXggZDM1ZDc3MS4uODNjZTUxYSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY2hlcnJ5LXBpY2sudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWNoZXJyeS1waWNrLnR4dApAQCAtMTAsOSArMTAsNyBAQAogW3ZlcnNlXQogJ2dpdCBjaGVycnktcGljaycgWy0tZWRpdF0gWy1uXSBbLW0gcGFyZW50LW51bWJlcl0gWy1zXSBbLXhdIFstLWZmXQogCQkgIFstU1s8a2V5aWQ+XV0gPGNvbW1pdD4uLi4KLSdnaXQgY2hlcnJ5LXBpY2snIC0tY29udGludWUKLSdnaXQgY2hlcnJ5LXBpY2snIC0tcXVpdAotJ2dpdCBjaGVycnktcGljaycgLS1hYm9ydAorJ2dpdCBjaGVycnktcGljaycgKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0IHwgLS1xdWl0KQogCiBERVNDUklQVElPTgogLS0tLS0tLS0tLS0KQEAgLTU3LDYgKzU1LDEzIEBACiAJV2l0aCB0aGlzIG9wdGlvbiwgJ2dpdCBjaGVycnktcGljaycgd2lsbCBsZXQgeW91IGVkaXQgdGhlIGNvbW1pdAogCW1lc3NhZ2UgcHJpb3IgdG8gY29tbWl0dGluZy4KIAorLS1jbGVhbnVwPTxtb2RlPjo6CisJVGhpcyBvcHRpb24gZGV0ZXJtaW5lcyBob3cgdGhlIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgY2xlYW5lZCB1cCBiZWZvcmUKKwliZWluZyBwYXNzZWQgb24gdG8gdGhlIGNvbW1pdCBtYWNoaW5lcnkuIFNlZSBsaW5rZ2l0OmdpdC1jb21taXRbMV0gZm9yIG1vcmUKKwlkZXRhaWxzLiBJbiBwYXJ0aWN1bGFyLCBpZiB0aGUgJzxtb2RlPicgaXMgZ2l2ZW4gYSB2YWx1ZSBvZiBgc2Npc3NvcnNgLAorCXNjaXNzb3JzIHdpbGwgYmUgYXBwZW5kZWQgdG8gYE1FUkdFX01TR2AgYmVmb3JlIGJlaW5nIHBhc3NlZCBvbiBpbiB0aGUgY2FzZQorCW9mIGEgY29uZmxpY3QuCisKIC14OjoKIAlXaGVuIHJlY29yZGluZyB0aGUgY29tbWl0LCBhcHBlbmQgYSBsaW5lIHRoYXQgc2F5cwogCSIoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAuLi4pIiB0byB0aGUgb3JpZ2luYWwgY29tbWl0CkBAIC0xNDgsNiArMTUzLDExIEBACiAJUGFzcyB0aGUgbWVyZ2Ugc3RyYXRlZ3ktc3BlY2lmaWMgb3B0aW9uIHRocm91Z2ggdG8gdGhlCiAJbWVyZ2Ugc3RyYXRlZ3kuICBTZWUgbGlua2dpdDpnaXQtbWVyZ2VbMV0gZm9yIGRldGFpbHMuCiAKKy0tcmVyZXJlLWF1dG91cGRhdGU6OgorLS1uby1yZXJlcmUtYXV0b3VwZGF0ZTo6CisJQWxsb3cgdGhlIHJlcmVyZSBtZWNoYW5pc20gdG8gdXBkYXRlIHRoZSBpbmRleCB3aXRoIHRoZQorCXJlc3VsdCBvZiBhdXRvLWNvbmZsaWN0IHJlc29sdXRpb24gaWYgcG9zc2libGUuCisKIFNFUVVFTkNFUiBTVUJDT01NQU5EUwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBpbmNsdWRlOjpzZXF1ZW5jZXIudHh0W10KQEAgLTIxMywxNiArMjIzLDE2IEBACiAkIGdpdCBjaGVycnktcGljayAtWHBhdGllbmNlIHRvcGljXiAgPDQ+CiAtLS0tLS0tLS0tLS0KIDwxPiBhcHBseSB0aGUgY2hhbmdlIHRoYXQgd291bGQgYmUgc2hvd24gYnkgYGdpdCBzaG93IHRvcGljXmAuCi1JbiB0aGlzIGV4YW1wbGUsIHRoZSBwYXRjaCBkb2VzIG5vdCBhcHBseSBjbGVhbmx5LCBzbwotaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvbmZsaWN0IGlzIHdyaXR0ZW4gdG8gdGhlIGluZGV4IGFuZAotd29ya2luZyB0cmVlIGFuZCBubyBuZXcgY29tbWl0IHJlc3VsdHMuCisgICAgSW4gdGhpcyBleGFtcGxlLCB0aGUgcGF0Y2ggZG9lcyBub3QgYXBwbHkgY2xlYW5seSwgc28KKyAgICBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29uZmxpY3QgaXMgd3JpdHRlbiB0byB0aGUgaW5kZXggYW5kCisgICAgd29ya2luZyB0cmVlIGFuZCBubyBuZXcgY29tbWl0IHJlc3VsdHMuCiA8Mj4gc3VtbWFyaXplIGNoYW5nZXMgdG8gYmUgcmVjb25jaWxlZAogPDM+IGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2suICBJbiBvdGhlciB3b3JkcywgcmV0dXJuIHRvIHRoZQotcHJlLWNoZXJyeS1waWNrIHN0YXRlLCBwcmVzZXJ2aW5nIGFueSBsb2NhbCBtb2RpZmljYXRpb25zIHlvdSBoYWQgaW4KLXRoZSB3b3JraW5nIHRyZWUuCisgICAgcHJlLWNoZXJyeS1waWNrIHN0YXRlLCBwcmVzZXJ2aW5nIGFueSBsb2NhbCBtb2RpZmljYXRpb25zCisgICAgeW91IGhhZCBpbiB0aGUgd29ya2luZyB0cmVlLgogPDQ+IHRyeSB0byBhcHBseSB0aGUgY2hhbmdlIGludHJvZHVjZWQgYnkgYHRvcGljXmAgYWdhaW4sCi1zcGVuZGluZyBleHRyYSB0aW1lIHRvIGF2b2lkIG1pc3Rha2VzIGJhc2VkIG9uIGluY29ycmVjdGx5IG1hdGNoaW5nCi1jb250ZXh0IGxpbmVzLgorICAgIHNwZW5kaW5nIGV4dHJhIHRpbWUgdG8gYXZvaWQgbWlzdGFrZXMgYmFzZWQgb24gaW5jb3JyZWN0bHkKKyAgICBtYXRjaGluZyBjb250ZXh0IGxpbmVzLgogCiBTRUUgQUxTTwogLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWNsZWFuLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNsZWFuLnR4dAppbmRleCAwMzA1NmRhLi5hN2YzMDlkIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jbGVhbi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY2xlYW4udHh0CkBAIC0yNiwxOCArMjYsMjAgQEAKIE9QVElPTlMKIC0tLS0tLS0KIC1kOjoKLQlSZW1vdmUgdW50cmFja2VkIGRpcmVjdG9yaWVzIGluIGFkZGl0aW9uIHRvIHVudHJhY2tlZCBmaWxlcy4KLQlJZiBhbiB1bnRyYWNrZWQgZGlyZWN0b3J5IGlzIG1hbmFnZWQgYnkgYSBkaWZmZXJlbnQgR2l0Ci0JcmVwb3NpdG9yeSwgaXQgaXMgbm90IHJlbW92ZWQgYnkgZGVmYXVsdC4gIFVzZSAtZiBvcHRpb24gdHdpY2UKLQlpZiB5b3UgcmVhbGx5IHdhbnQgdG8gcmVtb3ZlIHN1Y2ggYSBkaXJlY3RvcnkuCisJTm9ybWFsbHksIHdoZW4gbm8gPHBhdGg+IGlzIHNwZWNpZmllZCwgZ2l0IGNsZWFuIHdpbGwgbm90CisJcmVjdXJzZSBpbnRvIHVudHJhY2tlZCBkaXJlY3RvcmllcyB0byBhdm9pZCByZW1vdmluZyB0b28gbXVjaC4KKwlTcGVjaWZ5IC1kIHRvIGhhdmUgaXQgcmVjdXJzZSBpbnRvIHN1Y2ggZGlyZWN0b3JpZXMgYXMgd2VsbC4KKwlJZiBhbnkgcGF0aHMgYXJlIHNwZWNpZmllZCwgLWQgaXMgaXJyZWxldmFudDsgYWxsIHVudHJhY2tlZAorCWZpbGVzIG1hdGNoaW5nIHRoZSBzcGVjaWZpZWQgcGF0aHMgKHdpdGggZXhjZXB0aW9ucyBmb3IgbmVzdGVkCisJZ2l0IGRpcmVjdG9yaWVzIG1lbnRpb25lZCB1bmRlciBgLS1mb3JjZWApIHdpbGwgYmUgcmVtb3ZlZC4KIAogLWY6OgogLS1mb3JjZTo6CiAJSWYgdGhlIEdpdCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGNsZWFuLnJlcXVpcmVGb3JjZSBpcyBub3Qgc2V0CiAJdG8gZmFsc2UsICdnaXQgY2xlYW4nIHdpbGwgcmVmdXNlIHRvIGRlbGV0ZSBmaWxlcyBvciBkaXJlY3RvcmllcwotCXVubGVzcyBnaXZlbiAtZiwgLW4gb3IgLWkuIEdpdCB3aWxsIHJlZnVzZSB0byBkZWxldGUgZGlyZWN0b3JpZXMKLQl3aXRoIC5naXQgc3ViIGRpcmVjdG9yeSBvciBmaWxlIHVubGVzcyBhIHNlY29uZCAtZgotCWlzIGdpdmVuLgorCXVubGVzcyBnaXZlbiAtZiBvciAtaS4gIEdpdCB3aWxsIHJlZnVzZSB0byBtb2RpZnkgdW50cmFja2VkCisJbmVzdGVkIGdpdCByZXBvc2l0b3JpZXMgKGRpcmVjdG9yaWVzIHdpdGggYSAuZ2l0IHN1YmRpcmVjdG9yeSkKKwl1bmxlc3MgYSBzZWNvbmQgLWYgaXMgZ2l2ZW4uCiAKIC1pOjoKIC0taW50ZXJhY3RpdmU6OgpAQCAtNTUsMTYgKzU3LDE1IEBACiAKIC1lIDxwYXR0ZXJuPjo6CiAtLWV4Y2x1ZGU9PHBhdHRlcm4+OjoKLQlJbiBhZGRpdGlvbiB0byB0aG9zZSBmb3VuZCBpbiAuZ2l0aWdub3JlIChwZXIgZGlyZWN0b3J5KSBhbmQKLQkkR0lUX0RJUi9pbmZvL2V4Y2x1ZGUsIGFsc28gY29uc2lkZXIgdGhlc2UgcGF0dGVybnMgdG8gYmUgaW4gdGhlCi0Jc2V0IG9mIHRoZSBpZ25vcmUgcnVsZXMgaW4gZWZmZWN0LgorCVVzZSB0aGUgZ2l2ZW4gZXhjbHVkZSBwYXR0ZXJuIGluIGFkZGl0aW9uIHRvIHRoZSBzdGFuZGFyZCBpZ25vcmUgcnVsZXMKKwkoc2VlIGxpbmtnaXQ6Z2l0aWdub3JlWzVdKS4KIAogLXg6OgotCURvbid0IHVzZSB0aGUgc3RhbmRhcmQgaWdub3JlIHJ1bGVzIHJlYWQgZnJvbSAuZ2l0aWdub3JlIChwZXIKLQlkaXJlY3RvcnkpIGFuZCAkR0lUX0RJUi9pbmZvL2V4Y2x1ZGUsIGJ1dCBkbyBzdGlsbCB1c2UgdGhlIGlnbm9yZQotCXJ1bGVzIGdpdmVuIHdpdGggYC1lYCBvcHRpb25zLiAgVGhpcyBhbGxvd3MgcmVtb3ZpbmcgYWxsIHVudHJhY2tlZAorCURvbid0IHVzZSB0aGUgc3RhbmRhcmQgaWdub3JlIHJ1bGVzIChzZWUgbGlua2dpdDpnaXRpZ25vcmVbNV0pLCBidXQKKwlzdGlsbCB1c2UgdGhlIGlnbm9yZSBydWxlcyBnaXZlbiB3aXRoIGAtZWAgb3B0aW9ucyBmcm9tIHRoZSBjb21tYW5kCisJbGluZS4gIFRoaXMgYWxsb3dzIHJlbW92aW5nIGFsbCB1bnRyYWNrZWQKIAlmaWxlcywgaW5jbHVkaW5nIGJ1aWxkIHByb2R1Y3RzLiAgVGhpcyBjYW4gYmUgdXNlZCAocG9zc2libHkgaW4KLQljb25qdW5jdGlvbiB3aXRoICdnaXQgcmVzZXQnKSB0byBjcmVhdGUgYSBwcmlzdGluZQorCWNvbmp1bmN0aW9uIHdpdGggJ2dpdCByZXN0b3JlJyBvciAnZ2l0IHJlc2V0JykgdG8gY3JlYXRlIGEgcHJpc3RpbmUKIAl3b3JraW5nIGRpcmVjdG9yeSB0byB0ZXN0IGEgY2xlYW4gYnVpbGQuCiAKIC1YOjoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWNsb25lLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNsb25lLnR4dAppbmRleCBhNTU1MzZmLi5iZjI0ZjE4IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jbG9uZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY2xvbmUudHh0CkBAIC0xNSwxNCArMTUsMTUgQEAKIAkgIFstLWRpc3NvY2lhdGVdIFstLXNlcGFyYXRlLWdpdC1kaXIgPGdpdCBkaXI+XQogCSAgWy0tZGVwdGggPGRlcHRoPl0gWy0tW25vLV1zaW5nbGUtYnJhbmNoXSBbLS1uby10YWdzXQogCSAgWy0tcmVjdXJzZS1zdWJtb2R1bGVzWz08cGF0aHNwZWM+XV0gWy0tW25vLV1zaGFsbG93LXN1Ym1vZHVsZXNdCi0JICBbLS1qb2JzIDxuPl0gWy0tXSA8cmVwb3NpdG9yeT4gWzxkaXJlY3Rvcnk+XQorCSAgWy0tW25vLV1yZW1vdGUtc3VibW9kdWxlc10gWy0tam9icyA8bj5dIFstLXNwYXJzZV0gWy0tXSA8cmVwb3NpdG9yeT4KKwkgIFs8ZGlyZWN0b3J5Pl0KIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCiAKIENsb25lcyBhIHJlcG9zaXRvcnkgaW50byBhIG5ld2x5IGNyZWF0ZWQgZGlyZWN0b3J5LCBjcmVhdGVzCiByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgZm9yIGVhY2ggYnJhbmNoIGluIHRoZSBjbG9uZWQgcmVwb3NpdG9yeQotKHZpc2libGUgdXNpbmcgYGdpdCBicmFuY2ggLXJgKSwgYW5kIGNyZWF0ZXMgYW5kIGNoZWNrcyBvdXQgYW4KKyh2aXNpYmxlIHVzaW5nIGBnaXQgYnJhbmNoIC0tcmVtb3Rlc2ApLCBhbmQgY3JlYXRlcyBhbmQgY2hlY2tzIG91dCBhbgogaW5pdGlhbCBicmFuY2ggdGhhdCBpcyBmb3JrZWQgZnJvbSB0aGUgY2xvbmVkIHJlcG9zaXRvcnkncwogY3VycmVudGx5IGFjdGl2ZSBicmFuY2guCiAKQEAgLTQwLDggKzQxLDggQEAKIAogT1BUSU9OUwogLS0tLS0tLQotLS1sb2NhbDo6CiAtbDo6CistLWxvY2FsOjoKIAlXaGVuIHRoZSByZXBvc2l0b3J5IHRvIGNsb25lIGZyb20gaXMgb24gYSBsb2NhbCBtYWNoaW5lLAogCXRoaXMgZmxhZyBieXBhc3NlcyB0aGUgbm9ybWFsICJHaXQgYXdhcmUiIHRyYW5zcG9ydAogCW1lY2hhbmlzbSBhbmQgY2xvbmVzIHRoZSByZXBvc2l0b3J5IGJ5IG1ha2luZyBhIGNvcHkgb2YKQEAgLTYyLDggKzYzLDggQEAKIAlkaXJlY3RvcnkgaW5zdGVhZCBvZiB1c2luZyBoYXJkbGlua3MuIFRoaXMgbWF5IGJlIGRlc2lyYWJsZQogCWlmIHlvdSBhcmUgdHJ5aW5nIHRvIG1ha2UgYSBiYWNrLXVwIG9mIHlvdXIgcmVwb3NpdG9yeS4KIAotLS1zaGFyZWQ6OgogLXM6OgorLS1zaGFyZWQ6OgogCVdoZW4gdGhlIHJlcG9zaXRvcnkgdG8gY2xvbmUgaXMgb24gdGhlIGxvY2FsIG1hY2hpbmUsCiAJaW5zdGVhZCBvZiB1c2luZyBoYXJkIGxpbmtzLCBhdXRvbWF0aWNhbGx5IHNldHVwCiAJYC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXNgIHRvIHNoYXJlIHRoZSBvYmplY3RzCkBAIC04MCwxMyArODEsMTMgQEAKIElmIHRoZXNlIG9iamVjdHMgYXJlIHJlbW92ZWQgYW5kIHdlcmUgcmVmZXJlbmNlZCBieSB0aGUgY2xvbmVkIHJlcG9zaXRvcnksCiB0aGVuIHRoZSBjbG9uZWQgcmVwb3NpdG9yeSB3aWxsIGJlY29tZSBjb3JydXB0LgogKwotTm90ZSB0aGF0IHJ1bm5pbmcgYGdpdCByZXBhY2tgIHdpdGhvdXQgdGhlIGAtbGAgb3B0aW9uIGluIGEgcmVwb3NpdG9yeQotY2xvbmVkIHdpdGggYC1zYCB3aWxsIGNvcHkgb2JqZWN0cyBmcm9tIHRoZSBzb3VyY2UgcmVwb3NpdG9yeSBpbnRvIGEgcGFjawotaW4gdGhlIGNsb25lZCByZXBvc2l0b3J5LCByZW1vdmluZyB0aGUgZGlzayBzcGFjZSBzYXZpbmdzIG9mIGBjbG9uZSAtc2AuCi1JdCBpcyBzYWZlLCBob3dldmVyLCB0byBydW4gYGdpdCBnY2AsIHdoaWNoIHVzZXMgdGhlIGAtbGAgb3B0aW9uIGJ5CitOb3RlIHRoYXQgcnVubmluZyBgZ2l0IHJlcGFja2Agd2l0aG91dCB0aGUgYC0tbG9jYWxgIG9wdGlvbiBpbiBhIHJlcG9zaXRvcnkKK2Nsb25lZCB3aXRoIGAtLXNoYXJlZGAgd2lsbCBjb3B5IG9iamVjdHMgZnJvbSB0aGUgc291cmNlIHJlcG9zaXRvcnkgaW50byBhIHBhY2sKK2luIHRoZSBjbG9uZWQgcmVwb3NpdG9yeSwgcmVtb3ZpbmcgdGhlIGRpc2sgc3BhY2Ugc2F2aW5ncyBvZiBgY2xvbmUgLS1zaGFyZWRgLgorSXQgaXMgc2FmZSwgaG93ZXZlciwgdG8gcnVuIGBnaXQgZ2NgLCB3aGljaCB1c2VzIHRoZSBgLS1sb2NhbGAgb3B0aW9uIGJ5CiBkZWZhdWx0LgogKwotSWYgeW91IHdhbnQgdG8gYnJlYWsgdGhlIGRlcGVuZGVuY3kgb2YgYSByZXBvc2l0b3J5IGNsb25lZCB3aXRoIGAtc2Agb24KK0lmIHlvdSB3YW50IHRvIGJyZWFrIHRoZSBkZXBlbmRlbmN5IG9mIGEgcmVwb3NpdG9yeSBjbG9uZWQgd2l0aCBgLS1zaGFyZWRgIG9uCiBpdHMgc291cmNlIHJlcG9zaXRvcnksIHlvdSBjYW4gc2ltcGx5IHJ1biBgZ2l0IHJlcGFjayAtYWAgdG8gY29weSBhbGwKIG9iamVjdHMgZnJvbSB0aGUgc291cmNlIHJlcG9zaXRvcnkgaW50byBhIHBhY2sgaW4gdGhlIGNsb25lZCByZXBvc2l0b3J5LgogCkBAIC0xMTUsMzEgKzExNiwzOSBAQAogCXNhbWUgcmVwb3NpdG9yeSwgYW5kIHRoaXMgb3B0aW9uIGNhbiBiZSB1c2VkIHRvIHN0b3AgdGhlCiAJYm9ycm93aW5nLgogCi0tLXF1aWV0OjoKIC1xOjoKKy0tcXVpZXQ6OgogCU9wZXJhdGUgcXVpZXRseS4gIFByb2dyZXNzIGlzIG5vdCByZXBvcnRlZCB0byB0aGUgc3RhbmRhcmQKIAllcnJvciBzdHJlYW0uCiAKLS0tdmVyYm9zZTo6CiAtdjo6CistLXZlcmJvc2U6OgogCVJ1biB2ZXJib3NlbHkuIERvZXMgbm90IGFmZmVjdCB0aGUgcmVwb3J0aW5nIG9mIHByb2dyZXNzIHN0YXR1cwogCXRvIHRoZSBzdGFuZGFyZCBlcnJvciBzdHJlYW0uCiAKIC0tcHJvZ3Jlc3M6OgogCVByb2dyZXNzIHN0YXR1cyBpcyByZXBvcnRlZCBvbiB0aGUgc3RhbmRhcmQgZXJyb3Igc3RyZWFtCi0JYnkgZGVmYXVsdCB3aGVuIGl0IGlzIGF0dGFjaGVkIHRvIGEgdGVybWluYWwsIHVubGVzcyAtcQorCWJ5IGRlZmF1bHQgd2hlbiBpdCBpcyBhdHRhY2hlZCB0byBhIHRlcm1pbmFsLCB1bmxlc3MgYC0tcXVpZXRgCiAJaXMgc3BlY2lmaWVkLiBUaGlzIGZsYWcgZm9yY2VzIHByb2dyZXNzIHN0YXR1cyBldmVuIGlmIHRoZQogCXN0YW5kYXJkIGVycm9yIHN0cmVhbSBpcyBub3QgZGlyZWN0ZWQgdG8gYSB0ZXJtaW5hbC4KIAotLS1uby1jaGVja291dDo6CistLXNlcnZlci1vcHRpb249PG9wdGlvbj46OgorCVRyYW5zbWl0IHRoZSBnaXZlbiBzdHJpbmcgdG8gdGhlIHNlcnZlciB3aGVuIGNvbW11bmljYXRpbmcgdXNpbmcKKwlwcm90b2NvbCB2ZXJzaW9uIDIuICBUaGUgZ2l2ZW4gc3RyaW5nIG11c3Qgbm90IGNvbnRhaW4gYSBOVUwgb3IgTEYKKwljaGFyYWN0ZXIuICBUaGUgc2VydmVyJ3MgaGFuZGxpbmcgb2Ygc2VydmVyIG9wdGlvbnMsIGluY2x1ZGluZworCXVua25vd24gb25lcywgaXMgc2VydmVyLXNwZWNpZmljLgorCVdoZW4gbXVsdGlwbGUgYC0tc2VydmVyLW9wdGlvbj08b3B0aW9uPmAgYXJlIGdpdmVuLCB0aGV5IGFyZSBhbGwKKwlzZW50IHRvIHRoZSBvdGhlciBzaWRlIGluIHRoZSBvcmRlciBsaXN0ZWQgb24gdGhlIGNvbW1hbmQgbGluZS4KKwogLW46OgorLS1uby1jaGVja291dDo6CiAJTm8gY2hlY2tvdXQgb2YgSEVBRCBpcyBwZXJmb3JtZWQgYWZ0ZXIgdGhlIGNsb25lIGlzIGNvbXBsZXRlLgogCiAtLWJhcmU6OgogCU1ha2UgYSAnYmFyZScgR2l0IHJlcG9zaXRvcnkuICBUaGF0IGlzLCBpbnN0ZWFkIG9mCiAJY3JlYXRpbmcgYDxkaXJlY3Rvcnk+YCBhbmQgcGxhY2luZyB0aGUgYWRtaW5pc3RyYXRpdmUKIAlmaWxlcyBpbiBgPGRpcmVjdG9yeT4vLmdpdGAsIG1ha2UgdGhlIGA8ZGlyZWN0b3J5PmAKLQlpdHNlbGYgdGhlIGAkR0lUX0RJUmAuIFRoaXMgb2J2aW91c2x5IGltcGxpZXMgdGhlIGAtbmAKKwlpdHNlbGYgdGhlIGAkR0lUX0RJUmAuIFRoaXMgb2J2aW91c2x5IGltcGxpZXMgdGhlIGAtLW5vLWNoZWNrb3V0YAogCWJlY2F1c2UgdGhlcmUgaXMgbm93aGVyZSB0byBjaGVjayBvdXQgdGhlIHdvcmtpbmcgdHJlZS4KIAlBbHNvIHRoZSBicmFuY2ggaGVhZHMgYXQgdGhlIHJlbW90ZSBhcmUgY29waWVkIGRpcmVjdGx5CiAJdG8gY29ycmVzcG9uZGluZyBsb2NhbCBicmFuY2ggaGVhZHMsIHdpdGhvdXQgbWFwcGluZwpAQCAtMTQ3LDYgKzE1NiwxMiBAQAogCXVzZWQsIG5laXRoZXIgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vciB0aGUgcmVsYXRlZAogCWNvbmZpZ3VyYXRpb24gdmFyaWFibGVzIGFyZSBjcmVhdGVkLgogCistLXNwYXJzZTo6CisJSW5pdGlhbGl6ZSB0aGUgc3BhcnNlLWNoZWNrb3V0IGZpbGUgc28gdGhlIHdvcmtpbmcKKwlkaXJlY3Rvcnkgc3RhcnRzIHdpdGggb25seSB0aGUgZmlsZXMgaW4gdGhlIHJvb3QKKwlvZiB0aGUgcmVwb3NpdG9yeS4gVGhlIHNwYXJzZS1jaGVja291dCBmaWxlIGNhbiBiZQorCW1vZGlmaWVkIHRvIGdyb3cgdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGFzIG5lZWRlZC4KKwogLS1taXJyb3I6OgogCVNldCB1cCBhIG1pcnJvciBvZiB0aGUgc291cmNlIHJlcG9zaXRvcnkuICBUaGlzIGltcGxpZXMgYC0tYmFyZWAuCiAJQ29tcGFyZWQgdG8gYC0tYmFyZWAsIGAtLW1pcnJvcmAgbm90IG9ubHkgbWFwcyBsb2NhbCBicmFuY2hlcyBvZiB0aGUKQEAgLTE1NSwxMyArMTcwLDEzIEBACiAJdGhhdCBhbGwgdGhlc2UgcmVmcyBhcmUgb3ZlcndyaXR0ZW4gYnkgYSBgZ2l0IHJlbW90ZSB1cGRhdGVgIGluIHRoZQogCXRhcmdldCByZXBvc2l0b3J5LgogCi0tLW9yaWdpbiA8bmFtZT46OgogLW8gPG5hbWU+OjoKKy0tb3JpZ2luIDxuYW1lPjo6CiAJSW5zdGVhZCBvZiB1c2luZyB0aGUgcmVtb3RlIG5hbWUgYG9yaWdpbmAgdG8ga2VlcCB0cmFjawogCW9mIHRoZSB1cHN0cmVhbSByZXBvc2l0b3J5LCB1c2UgYDxuYW1lPmAuCiAKLS0tYnJhbmNoIDxuYW1lPjo6CiAtYiA8bmFtZT46OgorLS1icmFuY2ggPG5hbWU+OjoKIAlJbnN0ZWFkIG9mIHBvaW50aW5nIHRoZSBuZXdseSBjcmVhdGVkIEhFQUQgdG8gdGhlIGJyYW5jaCBwb2ludGVkCiAJdG8gYnkgdGhlIGNsb25lZCByZXBvc2l0b3J5J3MgSEVBRCwgcG9pbnQgdG8gYDxuYW1lPmAgYnJhbmNoCiAJaW5zdGVhZC4gSW4gYSBub24tYmFyZSByZXBvc2l0b3J5LCB0aGlzIGlzIHRoZSBicmFuY2ggdGhhdCB3aWxsCkBAIC0xNjksOCArMTg0LDggQEAKIAlgLS1icmFuY2hgIGNhbiBhbHNvIHRha2UgdGFncyBhbmQgZGV0YWNoZXMgdGhlIEhFQUQgYXQgdGhhdCBjb21taXQKIAlpbiB0aGUgcmVzdWx0aW5nIHJlcG9zaXRvcnkuCiAKLS0tdXBsb2FkLXBhY2sgPHVwbG9hZC1wYWNrPjo6CiAtdSA8dXBsb2FkLXBhY2s+OjoKKy0tdXBsb2FkLXBhY2sgPHVwbG9hZC1wYWNrPjo6CiAJV2hlbiBnaXZlbiwgYW5kIHRoZSByZXBvc2l0b3J5IHRvIGNsb25lIGZyb20gaXMgYWNjZXNzZWQKIAl2aWEgc3NoLCB0aGlzIHNwZWNpZmllcyBhIG5vbi1kZWZhdWx0IHBhdGggZm9yIHRoZSBjb21tYW5kCiAJcnVuIG9uIHRoZSBvdGhlciBlbmQuCkBAIC0xNzksOCArMTk0LDggQEAKIAlTcGVjaWZ5IHRoZSBkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkOwogCShTZWUgdGhlICJURU1QTEFURSBESVJFQ1RPUlkiIHNlY3Rpb24gb2YgbGlua2dpdDpnaXQtaW5pdFsxXS4pCiAKLS0tY29uZmlnIDxrZXk+PTx2YWx1ZT46OgogLWMgPGtleT49PHZhbHVlPjo6CistLWNvbmZpZyA8a2V5Pj08dmFsdWU+OjoKIAlTZXQgYSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGluIHRoZSBuZXdseS1jcmVhdGVkIHJlcG9zaXRvcnk7CiAJdGhpcyB0YWtlcyBlZmZlY3QgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIHJlcG9zaXRvcnkgaXMKIAlpbml0aWFsaXplZCwgYnV0IGJlZm9yZSB0aGUgcmVtb3RlIGhpc3RvcnkgaXMgZmV0Y2hlZCBvciBhbnkKQEAgLTE4OSw2ICsyMDQsMTIgQEAKIAl2YWx1ZXMgYXJlIGdpdmVuIGZvciB0aGUgc2FtZSBrZXksIGVhY2ggdmFsdWUgd2lsbCBiZSB3cml0dGVuIHRvCiAJdGhlIGNvbmZpZyBmaWxlLiBUaGlzIG1ha2VzIGl0IHNhZmUsIGZvciBleGFtcGxlLCB0byBhZGQKIAlhZGRpdGlvbmFsIGZldGNoIHJlZnNwZWNzIHRvIHRoZSBvcmlnaW4gcmVtb3RlLgorKworRHVlIHRvIGxpbWl0YXRpb25zIG9mIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLCBzb21lIGNvbmZpZ3VyYXRpb24KK3ZhcmlhYmxlcyBkbyBub3QgdGFrZSBlZmZlY3QgdW50aWwgYWZ0ZXIgdGhlIGluaXRpYWwgZmV0Y2ggYW5kIGNoZWNrb3V0LgorQ29uZmlndXJhdGlvbiB2YXJpYWJsZXMga25vd24gdG8gbm90IHRha2UgZWZmZWN0IGFyZToKK2ByZW1vdGUuPG5hbWU+Lm1pcnJvcmAgYW5kIGByZW1vdGUuPG5hbWU+LnRhZ09wdGAuICBVc2UgdGhlCitjb3JyZXNwb25kaW5nIGAtLW1pcnJvcmAgYW5kIGAtLW5vLXRhZ3NgIG9wdGlvbnMgaW5zdGVhZC4KIAogLS1kZXB0aCA8ZGVwdGg+OjoKIAlDcmVhdGUgYSAnc2hhbGxvdycgY2xvbmUgd2l0aCBhIGhpc3RvcnkgdHJ1bmNhdGVkIHRvIHRoZQpAQCAtMjQ2LDYgKzI2NywxMiBAQAogLS1bbm8tXXNoYWxsb3ctc3VibW9kdWxlczo6CiAJQWxsIHN1Ym1vZHVsZXMgd2hpY2ggYXJlIGNsb25lZCB3aWxsIGJlIHNoYWxsb3cgd2l0aCBhIGRlcHRoIG9mIDEuCiAKKy0tW25vLV1yZW1vdGUtc3VibW9kdWxlczo6CisJQWxsIHN1Ym1vZHVsZXMgd2hpY2ggYXJlIGNsb25lZCB3aWxsIHVzZSB0aGUgc3RhdHVzIG9mIHRoZSBzdWJtb2R1bGUncworCXJlbW90ZS10cmFja2luZyBicmFuY2ggdG8gdXBkYXRlIHRoZSBzdWJtb2R1bGUsIHJhdGhlciB0aGFuIHRoZQorCXN1cGVycHJvamVjdCdzIHJlY29yZGVkIFNIQS0xLiBFcXVpdmFsZW50IHRvIHBhc3NpbmcgYC0tcmVtb3RlYCB0bworCWBnaXQgc3VibW9kdWxlIHVwZGF0ZWAuCisKIC0tc2VwYXJhdGUtZ2l0LWRpcj08Z2l0IGRpcj46OgogCUluc3RlYWQgb2YgcGxhY2luZyB0aGUgY2xvbmVkIHJlcG9zaXRvcnkgd2hlcmUgaXQgaXMgc3VwcG9zZWQKIAl0byBiZSwgcGxhY2UgdGhlIGNsb25lZCByZXBvc2l0b3J5IGF0IHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5LApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtY29sdW1uLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNvbHVtbi50eHQKaW5kZXggNzYzYWZhYi4uZjU4ZTljNCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY29sdW1uLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1jb2x1bW4udHh0CkBAIC00Nyw3ICs0Nyw3IEBACiAJVGhlIG51bWJlciBvZiBzcGFjZXMgYmV0d2VlbiBjb2x1bW5zLiBPbmUgc3BhY2UgYnkgZGVmYXVsdC4KIAogRVhBTVBMRVMKLS0tLS0tLQorLS0tLS0tLS0KIAogRm9ybWF0IGRhdGEgYnkgY29sdW1uczoKIC0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtY29tbWl0LWdyYXBoLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNvbW1pdC1ncmFwaC50eHQKaW5kZXggNjI0NDcwZS4uMjhkMWZlZSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY29tbWl0LWdyYXBoLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1jb21taXQtZ3JhcGgudHh0CkBAIC05LDkgKzksOCBAQAogU1lOT1BTSVMKIC0tLS0tLS0tCiBbdmVyc2VdCi0nZ2l0IGNvbW1pdC1ncmFwaCByZWFkJyBbLS1vYmplY3QtZGlyIDxkaXI+XQotJ2dpdCBjb21taXQtZ3JhcGggdmVyaWZ5JyBbLS1vYmplY3QtZGlyIDxkaXI+XQotJ2dpdCBjb21taXQtZ3JhcGggd3JpdGUnIDxvcHRpb25zPiBbLS1vYmplY3QtZGlyIDxkaXI+XQorJ2dpdCBjb21taXQtZ3JhcGggdmVyaWZ5JyBbLS1vYmplY3QtZGlyIDxkaXI+XSBbLS1zaGFsbG93XSBbLS1bbm8tXXByb2dyZXNzXQorJ2dpdCBjb21taXQtZ3JhcGggd3JpdGUnIDxvcHRpb25zPiBbLS1vYmplY3QtZGlyIDxkaXI+XSBbLS1bbm8tXXByb2dyZXNzXQogCiAKIERFU0NSSVBUSU9OCkBAIC0yNiw5ICsyNSwxNSBAQAogCVVzZSBnaXZlbiBkaXJlY3RvcnkgZm9yIHRoZSBsb2NhdGlvbiBvZiBwYWNrZmlsZXMgYW5kIGNvbW1pdC1ncmFwaAogCWZpbGUuIFRoaXMgcGFyYW1ldGVyIGV4aXN0cyB0byBzcGVjaWZ5IHRoZSBsb2NhdGlvbiBvZiBhbiBhbHRlcm5hdGUKIAl0aGF0IG9ubHkgaGFzIHRoZSBvYmplY3RzIGRpcmVjdG9yeSwgbm90IGEgZnVsbCBgLmdpdGAgZGlyZWN0b3J5LiBUaGUKLQljb21taXQtZ3JhcGggZmlsZSBpcyBleHBlY3RlZCB0byBiZSBhdCBgPGRpcj4vaW5mby9jb21taXQtZ3JhcGhgIGFuZAotCXRoZSBwYWNrZmlsZXMgYXJlIGV4cGVjdGVkIHRvIGJlIGluIGA8ZGlyPi9wYWNrYC4KKwljb21taXQtZ3JhcGggZmlsZSBpcyBleHBlY3RlZCB0byBiZSBpbiB0aGUgYDxkaXI+L2luZm9gIGRpcmVjdG9yeSBhbmQKKwl0aGUgcGFja2ZpbGVzIGFyZSBleHBlY3RlZCB0byBiZSBpbiBgPGRpcj4vcGFja2AuIElmIHRoZSBkaXJlY3RvcnkKKwljb3VsZCBub3QgYmUgbWFkZSBpbnRvIGFuIGFic29sdXRlIHBhdGgsIG9yIGRvZXMgbm90IG1hdGNoIGFueSBrbm93bgorCW9iamVjdCBkaXJlY3RvcnksIGBnaXQgY29tbWl0LWdyYXBoIC4uLmAgd2lsbCBleGl0IHdpdGggbm9uLXplcm8KKwlzdGF0dXMuCiAKKy0tW25vLV1wcm9ncmVzczo6CisJVHVybiBwcm9ncmVzcyBvbi9vZmYgZXhwbGljaXRseS4gSWYgbmVpdGhlciBpcyBzcGVjaWZpZWQsIHByb2dyZXNzIGlzCisJc2hvd24gaWYgc3RhbmRhcmQgZXJyb3IgaXMgY29ubmVjdGVkIHRvIGEgdGVybWluYWwuCiAKIENPTU1BTkRTCiAtLS0tLS0tLQpAQCAtNTEsMTYgKzU2LDMzIEBACiArCiBXaXRoIHRoZSBgLS1hcHBlbmRgIG9wdGlvbiwgaW5jbHVkZSBhbGwgY29tbWl0cyB0aGF0IGFyZSBwcmVzZW50IGluIHRoZQogZXhpc3RpbmcgY29tbWl0LWdyYXBoIGZpbGUuCi0KLSdyZWFkJzo6Ci0KLVJlYWQgdGhlIGNvbW1pdC1ncmFwaCBmaWxlIGFuZCBvdXRwdXQgYmFzaWMgZGV0YWlscyBhYm91dCBpdC4KLVVzZWQgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4KKysKK1dpdGggdGhlIGAtLXNwbGl0YCBvcHRpb24sIHdyaXRlIHRoZSBjb21taXQtZ3JhcGggYXMgYSBjaGFpbiBvZiBtdWx0aXBsZQorY29tbWl0LWdyYXBoIGZpbGVzIHN0b3JlZCBpbiBgPGRpcj4vaW5mby9jb21taXQtZ3JhcGhzYC4gVGhlIG5ldyBjb21taXRzCitub3QgYWxyZWFkeSBpbiB0aGUgY29tbWl0LWdyYXBoIGFyZSBhZGRlZCBpbiBhIG5ldyAidGlwIiBmaWxlLiBUaGlzIGZpbGUKK2lzIG1lcmdlZCB3aXRoIHRoZSBleGlzdGluZyBmaWxlIGlmIHRoZSBmb2xsb3dpbmcgbWVyZ2UgY29uZGl0aW9ucyBhcmUKK21ldDoKKysKKyogSWYgYC0tc2l6ZS1tdWx0aXBsZT08WD5gIGlzIG5vdCBzcGVjaWZpZWQsIGxldCBgWGAgZXF1YWwgMi4gSWYgdGhlIG5ldwordGlwIGZpbGUgd291bGQgaGF2ZSBgTmAgY29tbWl0cyBhbmQgdGhlIHByZXZpb3VzIHRpcCBoYXMgYE1gIGNvbW1pdHMgYW5kCitgWGAgdGltZXMgYE5gIGlzIGdyZWF0ZXIgdGhhbiAgYE1gLCBpbnN0ZWFkIG1lcmdlIHRoZSB0d28gZmlsZXMgaW50byBhCitzaW5nbGUgZmlsZS4KKysKKyogSWYgYC0tbWF4LWNvbW1pdHM9PE0+YCBpcyBzcGVjaWZpZWQgd2l0aCBgTWAgYSBwb3NpdGl2ZSBpbnRlZ2VyLCBhbmQgdGhlCituZXcgdGlwIGZpbGUgd291bGQgaGF2ZSBtb3JlIHRoYW4gYE1gIGNvbW1pdHMsIHRoZW4gaW5zdGVhZCBtZXJnZSB0aGUgbmV3Cit0aXAgd2l0aCB0aGUgcHJldmlvdXMgdGlwLgorKworRmluYWxseSwgaWYgYC0tZXhwaXJlLXRpbWU9PGRhdGV0aW1lPmAgaXMgbm90IHNwZWNpZmllZCwgbGV0IGBkYXRldGltZWAKK2JlIHRoZSBjdXJyZW50IHRpbWUuIEFmdGVyIHdyaXRpbmcgdGhlIHNwbGl0IGNvbW1pdC1ncmFwaCwgZGVsZXRlIGFsbAordW51c2VkIGNvbW1pdC1ncmFwaCB3aG9zZSBtb2RpZmllZCB0aW1lcyBhcmUgb2xkZXIgdGhhbiBgZGF0ZXRpbWVgLgogCiAndmVyaWZ5Jzo6CiAKIFJlYWQgdGhlIGNvbW1pdC1ncmFwaCBmaWxlIGFuZCB2ZXJpZnkgaXRzIGNvbnRlbnRzIGFnYWluc3QgdGhlIG9iamVjdAogZGF0YWJhc2UuIFVzZWQgdG8gY2hlY2sgZm9yIGNvcnJ1cHRlZCBkYXRhLgorKworV2l0aCB0aGUgYC0tc2hhbGxvd2Agb3B0aW9uLCBvbmx5IGNoZWNrIHRoZSB0aXAgY29tbWl0LWdyYXBoIGZpbGUgaW4KK2EgY2hhaW4gb2Ygc3BsaXQgY29tbWl0LWdyYXBocy4KIAogCiBFWEFNUExFUwpAQCAtOTMsMTIgKzExNSw2IEBACiAkIGdpdCByZXYtcGFyc2UgSEVBRCB8IGdpdCBjb21taXQtZ3JhcGggd3JpdGUgLS1zdGRpbi1jb21taXRzIC0tYXBwZW5kCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotKiBSZWFkIGJhc2ljIGluZm9ybWF0aW9uIGZyb20gdGhlIGNvbW1pdC1ncmFwaCBmaWxlLgotKwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0kIGdpdCBjb21taXQtZ3JhcGggcmVhZAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KIAogR0lUCiAtLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWNvbW1pdC10cmVlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNvbW1pdC10cmVlLnR4dAppbmRleCAwMDJkYWU2Li5lYzE1ZWU4IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jb21taXQtdHJlZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtY29tbWl0LXRyZWUudHh0CkBAIC0yMyw2ICsyMywxMCBAQAogZW1pdHMgdGhlIG5ldyBjb21taXQgb2JqZWN0IGlkIG9uIHN0ZG91dC4gVGhlIGxvZyBtZXNzYWdlIGlzIHJlYWQKIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0LCB1bmxlc3MgYC1tYCBvciBgLUZgIG9wdGlvbnMgYXJlIGdpdmVuLgogCitUaGUgYC1tYCBhbmQgYC1GYCBvcHRpb25zIGNhbiBiZSBnaXZlbiBhbnkgbnVtYmVyIG9mIHRpbWVzLCBpbiBhbnkKK29yZGVyLiBUaGUgY29tbWl0IGxvZyBtZXNzYWdlIHdpbGwgYmUgY29tcG9zZWQgaW4gdGhlIG9yZGVyIGluIHdoaWNoCit0aGUgb3B0aW9ucyBhcmUgZ2l2ZW4uCisKIEEgY29tbWl0IG9iamVjdCBtYXkgaGF2ZSBhbnkgbnVtYmVyIG9mIHBhcmVudHMuIFdpdGggZXhhY3RseSBvbmUKIHBhcmVudCwgaXQgaXMgYW4gb3JkaW5hcnkgY29tbWl0LiBIYXZpbmcgbW9yZSB0aGFuIG9uZSBwYXJlbnQgbWFrZXMKIHRoZSBjb21taXQgYSBtZXJnZSBiZXR3ZWVuIHNldmVyYWwgbGluZXMgb2YgaGlzdG9yeS4gSW5pdGlhbCAocm9vdCkKQEAgLTQxLDcgKzQ1LDcgQEAKIE9QVElPTlMKIC0tLS0tLS0KIDx0cmVlPjo6Ci0JQW4gZXhpc3RpbmcgdHJlZSBvYmplY3QKKwlBbiBleGlzdGluZyB0cmVlIG9iamVjdC4KIAogLXAgPHBhcmVudD46OgogCUVhY2ggYC1wYCBpbmRpY2F0ZXMgdGhlIGlkIG9mIGEgcGFyZW50IGNvbW1pdCBvYmplY3QuCkBAIC01Miw3ICs1Niw4IEBACiAKIC1GIDxmaWxlPjo6CiAJUmVhZCB0aGUgY29tbWl0IGxvZyBtZXNzYWdlIGZyb20gdGhlIGdpdmVuIGZpbGUuIFVzZSBgLWAgdG8gcmVhZAotCWZyb20gdGhlIHN0YW5kYXJkIGlucHV0LgorCWZyb20gdGhlIHN0YW5kYXJkIGlucHV0LiBUaGlzIGNhbiBiZSBnaXZlbiBtb3JlIHRoYW4gb25jZSBhbmQgdGhlCisJY29udGVudCBvZiBlYWNoIGZpbGUgYmVjb21lcyBpdHMgb3duIHBhcmFncmFwaC4KIAogLVNbPGtleWlkPl06OgogLS1ncGctc2lnbls9PGtleWlkPl06OgpAQCAtNjQsNyArNjksNiBAQAogCURvIG5vdCBHUEctc2lnbiBjb21taXQsIHRvIGNvdW50ZXJtYW5kIGEgYC0tZ3BnLXNpZ25gIG9wdGlvbgogCWdpdmVuIGVhcmxpZXIgb24gdGhlIGNvbW1hbmQgbGluZS4KIAotCiBDb21taXQgSW5mb3JtYXRpb24KIC0tLS0tLS0tLS0tLS0tLS0tLQogCkBAIC03NCwyNiArNzgsNiBAQAogLSBhdXRob3IgbmFtZSwgZW1haWwgYW5kIGRhdGUKIC0gY29tbWl0dGVyIG5hbWUgYW5kIGVtYWlsIGFuZCB0aGUgY29tbWl0IHRpbWUuCiAKLVdoaWxlIHBhcmVudCBvYmplY3QgaWRzIGFyZSBwcm92aWRlZCBvbiB0aGUgY29tbWFuZCBsaW5lLCBhdXRob3IgYW5kCi1jb21taXR0ZXIgaW5mb3JtYXRpb24gaXMgdGFrZW4gZnJvbSB0aGUgZm9sbG93aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcywKLWlmIHNldDoKLQotCUdJVF9BVVRIT1JfTkFNRQotCUdJVF9BVVRIT1JfRU1BSUwKLQlHSVRfQVVUSE9SX0RBVEUKLQlHSVRfQ09NTUlUVEVSX05BTUUKLQlHSVRfQ09NTUlUVEVSX0VNQUlMCi0JR0lUX0NPTU1JVFRFUl9EQVRFCi0KLShuYiAiPCIsICI+IiBhbmQgIlxuInMgYXJlIHN0cmlwcGVkKQotCi1JbiBjYXNlIChzb21lIG9mKSB0aGVzZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYXJlIG5vdCBzZXQsIHRoZSBpbmZvcm1hdGlvbgotaXMgdGFrZW4gZnJvbSB0aGUgY29uZmlndXJhdGlvbiBpdGVtcyB1c2VyLm5hbWUgYW5kIHVzZXIuZW1haWwsIG9yLCBpZiBub3QKLXByZXNlbnQsIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBFTUFJTCwgb3IsIGlmIHRoYXQgaXMgbm90IHNldCwKLXN5c3RlbSB1c2VyIG5hbWUgYW5kIHRoZSBob3N0bmFtZSB1c2VkIGZvciBvdXRnb2luZyBtYWlsICh0YWtlbgotZnJvbSBgL2V0Yy9tYWlsbmFtZWAgYW5kIGZhbGxpbmcgYmFjayB0byB0aGUgZnVsbHkgcXVhbGlmaWVkIGhvc3RuYW1lIHdoZW4KLXRoYXQgZmlsZSBkb2VzIG5vdCBleGlzdCkuCi0KIEEgY29tbWl0IGNvbW1lbnQgaXMgcmVhZCBmcm9tIHN0ZGluLiBJZiBhIGNoYW5nZWxvZwogZW50cnkgaXMgbm90IHByb3ZpZGVkIHZpYSAiPCIgcmVkaXJlY3Rpb24sICdnaXQgY29tbWl0LXRyZWUnIHdpbGwganVzdCB3YWl0CiBmb3Igb25lIHRvIGJlIGVudGVyZWQgYW5kIHRlcm1pbmF0ZWQgd2l0aCBeRC4KQEAgLTExMiw2ICs5Niw3IEBACiBTRUUgQUxTTwogLS0tLS0tLS0KIGxpbmtnaXQ6Z2l0LXdyaXRlLXRyZWVbMV0KK2xpbmtnaXQ6Z2l0LWNvbW1pdFsxXQogCiBHSVQKIC0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtY29tbWl0LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNvbW1pdC50eHQKaW5kZXggZjk3MGE0My4uMTNmNjUzOSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY29tbWl0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1jb21taXQudHh0CkBAIC0xMywyMCArMTMsMjUgQEAKIAkgICBbLUYgPGZpbGU+IHwgLW0gPG1zZz5dIFstLXJlc2V0LWF1dGhvcl0gWy0tYWxsb3ctZW1wdHldCiAJICAgWy0tYWxsb3ctZW1wdHktbWVzc2FnZV0gWy0tbm8tdmVyaWZ5XSBbLWVdIFstLWF1dGhvcj08YXV0aG9yPl0KIAkgICBbLS1kYXRlPTxkYXRlPl0gWy0tY2xlYW51cD08bW9kZT5dIFstLVtuby1dc3RhdHVzXQotCSAgIFstaSB8IC1vXSBbLVNbPGtleWlkPl1dIFstLV0gWzxmaWxlPi4uLl0KKwkgICBbLWkgfCAtb10gWy0tcGF0aHNwZWMtZnJvbS1maWxlPTxmaWxlPiBbLS1wYXRoc3BlYy1maWxlLW51bF1dCisJICAgWy1TWzxrZXlpZD5dXSBbLS1dIFs8cGF0aHNwZWM+Li4uXQogCiBERVNDUklQVElPTgogLS0tLS0tLS0tLS0KLVN0b3JlcyB0aGUgY3VycmVudCBjb250ZW50cyBvZiB0aGUgaW5kZXggaW4gYSBuZXcgY29tbWl0IGFsb25nCi13aXRoIGEgbG9nIG1lc3NhZ2UgZnJvbSB0aGUgdXNlciBkZXNjcmliaW5nIHRoZSBjaGFuZ2VzLgorQ3JlYXRlIGEgbmV3IGNvbW1pdCBjb250YWluaW5nIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mIHRoZSBpbmRleCBhbmQKK3RoZSBnaXZlbiBsb2cgbWVzc2FnZSBkZXNjcmliaW5nIHRoZSBjaGFuZ2VzLiBUaGUgbmV3IGNvbW1pdCBpcyBhCitkaXJlY3QgY2hpbGQgb2YgSEVBRCwgdXN1YWxseSB0aGUgdGlwIG9mIHRoZSBjdXJyZW50IGJyYW5jaCwgYW5kIHRoZQorYnJhbmNoIGlzIHVwZGF0ZWQgdG8gcG9pbnQgdG8gaXQgKHVubGVzcyBubyBicmFuY2ggaXMgYXNzb2NpYXRlZCB3aXRoCit0aGUgd29ya2luZyB0cmVlLCBpbiB3aGljaCBjYXNlIEhFQUQgaXMgImRldGFjaGVkIiBhcyBkZXNjcmliZWQgaW4KK2xpbmtnaXQ6Z2l0LWNoZWNrb3V0WzFdKS4KIAotVGhlIGNvbnRlbnQgdG8gYmUgYWRkZWQgY2FuIGJlIHNwZWNpZmllZCBpbiBzZXZlcmFsIHdheXM6CitUaGUgY29udGVudCB0byBiZSBjb21taXR0ZWQgY2FuIGJlIHNwZWNpZmllZCBpbiBzZXZlcmFsIHdheXM6CiAKLTEuIGJ5IHVzaW5nICdnaXQgYWRkJyB0byBpbmNyZW1lbnRhbGx5ICJhZGQiIGNoYW5nZXMgdG8gdGhlCi0gICBpbmRleCBiZWZvcmUgdXNpbmcgdGhlICdjb21taXQnIGNvbW1hbmQgKE5vdGU6IGV2ZW4gbW9kaWZpZWQKLSAgIGZpbGVzIG11c3QgYmUgImFkZGVkIik7CisxLiBieSB1c2luZyBsaW5rZ2l0OmdpdC1hZGRbMV0gdG8gaW5jcmVtZW50YWxseSAiYWRkIiBjaGFuZ2VzIHRvIHRoZQorICAgaW5kZXggYmVmb3JlIHVzaW5nIHRoZSAnY29tbWl0JyBjb21tYW5kIChOb3RlOiBldmVuIG1vZGlmaWVkIGZpbGVzCisgICBtdXN0IGJlICJhZGRlZCIpOwogCi0yLiBieSB1c2luZyAnZ2l0IHJtJyB0byByZW1vdmUgZmlsZXMgZnJvbSB0aGUgd29ya2luZyB0cmVlCisyLiBieSB1c2luZyBsaW5rZ2l0OmdpdC1ybVsxXSB0byByZW1vdmUgZmlsZXMgZnJvbSB0aGUgd29ya2luZyB0cmVlCiAgICBhbmQgdGhlIGluZGV4LCBhZ2FpbiBiZWZvcmUgdXNpbmcgdGhlICdjb21taXQnIGNvbW1hbmQ7CiAKIDMuIGJ5IGxpc3RpbmcgZmlsZXMgYXMgYXJndW1lbnRzIHRvIHRoZSAnY29tbWl0JyBjb21tYW5kCkBAIC0yNzQsMjIgKzI3OSwzNyBAQAogCWFscmVhZHkgYmVlbiBzdGFnZWQuIElmIHVzZWQgdG9nZXRoZXIgd2l0aCBgLS1hbGxvdy1lbXB0eWAKIAlwYXRocyBhcmUgYWxzbyBub3QgcmVxdWlyZWQsIGFuZCBhbiBlbXB0eSBjb21taXQgd2lsbCBiZSBjcmVhdGVkLgogCistLXBhdGhzcGVjLWZyb20tZmlsZT08ZmlsZT46OgorCVBhdGhzcGVjIGlzIHBhc3NlZCBpbiBgPGZpbGU+YCBpbnN0ZWFkIG9mIGNvbW1hbmRsaW5lIGFyZ3MuIElmCisJYDxmaWxlPmAgaXMgZXhhY3RseSBgLWAgdGhlbiBzdGFuZGFyZCBpbnB1dCBpcyB1c2VkLiBQYXRoc3BlYworCWVsZW1lbnRzIGFyZSBzZXBhcmF0ZWQgYnkgTEYgb3IgQ1IvTEYuIFBhdGhzcGVjIGVsZW1lbnRzIGNhbiBiZQorCXF1b3RlZCBhcyBleHBsYWluZWQgZm9yIHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBjb3JlLnF1b3RlUGF0aGAKKwkoc2VlIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXSkuIFNlZSBhbHNvIGAtLXBhdGhzcGVjLWZpbGUtbnVsYCBhbmQKKwlnbG9iYWwgYC0tbGl0ZXJhbC1wYXRoc3BlY3NgLgorCistLXBhdGhzcGVjLWZpbGUtbnVsOjoKKwlPbmx5IG1lYW5pbmdmdWwgd2l0aCBgLS1wYXRoc3BlYy1mcm9tLWZpbGVgLiBQYXRoc3BlYyBlbGVtZW50cyBhcmUKKwlzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIGFuZCBhbGwgb3RoZXIgY2hhcmFjdGVycyBhcmUgdGFrZW4KKwlsaXRlcmFsbHkgKGluY2x1ZGluZyBuZXdsaW5lcyBhbmQgcXVvdGVzKS4KKwogLXVbPG1vZGU+XTo6CiAtLXVudHJhY2tlZC1maWxlc1s9PG1vZGU+XTo6CiAJU2hvdyB1bnRyYWNrZWQgZmlsZXMuCiArCistLQogVGhlIG1vZGUgcGFyYW1ldGVyIGlzIG9wdGlvbmFsIChkZWZhdWx0cyB0byAnYWxsJyksIGFuZCBpcyB1c2VkIHRvCiBzcGVjaWZ5IHRoZSBoYW5kbGluZyBvZiB1bnRyYWNrZWQgZmlsZXM7IHdoZW4gLXUgaXMgbm90IHVzZWQsIHRoZQogZGVmYXVsdCBpcyAnbm9ybWFsJywgaS5lLiBzaG93IHVudHJhY2tlZCBmaWxlcyBhbmQgZGlyZWN0b3JpZXMuCi0rCisKIFRoZSBwb3NzaWJsZSBvcHRpb25zIGFyZToKLSsKKwogCS0gJ25vJyAgICAgLSBTaG93IG5vIHVudHJhY2tlZCBmaWxlcwogCS0gJ25vcm1hbCcgLSBTaG93cyB1bnRyYWNrZWQgZmlsZXMgYW5kIGRpcmVjdG9yaWVzCiAJLSAnYWxsJyAgICAtIEFsc28gc2hvd3MgaW5kaXZpZHVhbCBmaWxlcyBpbiB1bnRyYWNrZWQgZGlyZWN0b3JpZXMuCi0rCisKIFRoZSBkZWZhdWx0IGNhbiBiZSBjaGFuZ2VkIHVzaW5nIHRoZSBzdGF0dXMuc2hvd1VudHJhY2tlZEZpbGVzCiBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGRvY3VtZW50ZWQgaW4gbGlua2dpdDpnaXQtY29uZmlnWzFdLgorLS0KIAogLXY6OgogLS12ZXJib3NlOjoKQEAgLTMzOSwxNSArMzU5LDEzIEBACiBcLS06OgogCURvIG5vdCBpbnRlcnByZXQgYW55IG1vcmUgYXJndW1lbnRzIGFzIG9wdGlvbnMuCiAKLTxmaWxlPi4uLjo6Ci0JV2hlbiBmaWxlcyBhcmUgZ2l2ZW4gb24gdGhlIGNvbW1hbmQgbGluZSwgdGhlIGNvbW1hbmQKLQljb21taXRzIHRoZSBjb250ZW50cyBvZiB0aGUgbmFtZWQgZmlsZXMsIHdpdGhvdXQKLQlyZWNvcmRpbmcgdGhlIGNoYW5nZXMgYWxyZWFkeSBzdGFnZWQuICBUaGUgY29udGVudHMgb2YKLQl0aGVzZSBmaWxlcyBhcmUgYWxzbyBzdGFnZWQgZm9yIHRoZSBuZXh0IGNvbW1pdCBvbiB0b3AKLQlvZiB3aGF0IGhhdmUgYmVlbiBzdGFnZWQgYmVmb3JlLgotCi06Z2l0LWNvbW1pdDogMQotaW5jbHVkZTo6ZGF0ZS1mb3JtYXRzLnR4dFtdCis8cGF0aHNwZWM+Li4uOjoKKwlXaGVuIHBhdGhzcGVjIGlzIGdpdmVuIG9uIHRoZSBjb21tYW5kIGxpbmUsIGNvbW1pdCB0aGUgY29udGVudHMgb2YKKwl0aGUgZmlsZXMgdGhhdCBtYXRjaCB0aGUgcGF0aHNwZWMgd2l0aG91dCByZWNvcmRpbmcgdGhlIGNoYW5nZXMKKwlhbHJlYWR5IGFkZGVkIHRvIHRoZSBpbmRleC4gVGhlIGNvbnRlbnRzIG9mIHRoZXNlIGZpbGVzIGFyZSBhbHNvCisJc3RhZ2VkIGZvciB0aGUgbmV4dCBjb21taXQgb24gdG9wIG9mIHdoYXQgaGF2ZSBiZWVuIHN0YWdlZCBiZWZvcmUuCisrCitGb3IgbW9yZSBkZXRhaWxzLCBzZWUgdGhlICdwYXRoc3BlYycgZW50cnkgaW4gbGlua2dpdDpnaXRnbG9zc2FyeVs3XS4KIAogRVhBTVBMRVMKIC0tLS0tLS0tCkBAIC0zNTUsNyArMzczLDcgQEAKIHlvdXIgd29ya2luZyB0cmVlIGFyZSB0ZW1wb3JhcmlseSBzdG9yZWQgdG8gYSBzdGFnaW5nIGFyZWEKIGNhbGxlZCB0aGUgImluZGV4IiB3aXRoICdnaXQgYWRkJy4gIEEgZmlsZSBjYW4gYmUKIHJldmVydGVkIGJhY2ssIG9ubHkgaW4gdGhlIGluZGV4IGJ1dCBub3QgaW4gdGhlIHdvcmtpbmcgdHJlZSwKLXRvIHRoYXQgb2YgdGhlIGxhc3QgY29tbWl0IHdpdGggYGdpdCByZXNldCBIRUFEIC0tIDxmaWxlPmAsCit0byB0aGF0IG9mIHRoZSBsYXN0IGNvbW1pdCB3aXRoIGBnaXQgcmVzdG9yZSAtLXN0YWdlZCA8ZmlsZT5gLAogd2hpY2ggZWZmZWN0aXZlbHkgcmV2ZXJ0cyAnZ2l0IGFkZCcgYW5kIHByZXZlbnRzIHRoZSBjaGFuZ2VzIHRvCiB0aGlzIGZpbGUgZnJvbSBwYXJ0aWNpcGF0aW5nIGluIHRoZSBuZXh0IGNvbW1pdC4gIEFmdGVyIGJ1aWxkaW5nCiB0aGUgc3RhdGUgdG8gYmUgY29tbWl0dGVkIGluY3JlbWVudGFsbHkgd2l0aCB0aGVzZSBjb21tYW5kcywKQEAgLTQ0Miw2ICs0NjAsNDMgQEAKIHNob3VsZCBiZSByZWNvcmRlZCBhcyBhIHNpbmdsZSBjb21taXQuICBJbiBmYWN0LCB0aGUgY29tbWFuZAogcmVmdXNlcyB0byBydW4gd2hlbiBnaXZlbiBwYXRobmFtZXMgKGJ1dCBzZWUgYC1pYCBvcHRpb24pLgogCitDT01NSVQgSU5GT1JNQVRJT04KKy0tLS0tLS0tLS0tLS0tLS0tLQorCitBdXRob3IgYW5kIGNvbW1pdHRlciBpbmZvcm1hdGlvbiBpcyB0YWtlbiBmcm9tIHRoZSBmb2xsb3dpbmcgZW52aXJvbm1lbnQKK3ZhcmlhYmxlcywgaWYgc2V0OgorCisJR0lUX0FVVEhPUl9OQU1FCisJR0lUX0FVVEhPUl9FTUFJTAorCUdJVF9BVVRIT1JfREFURQorCUdJVF9DT01NSVRURVJfTkFNRQorCUdJVF9DT01NSVRURVJfRU1BSUwKKwlHSVRfQ09NTUlUVEVSX0RBVEUKKworKG5iICI8IiwgIj4iIGFuZCAiXG4icyBhcmUgc3RyaXBwZWQpCisKK1RoZSBhdXRob3IgYW5kIGNvbW1pdHRlciBuYW1lcyBhcmUgYnkgY29udmVudGlvbiBzb21lIGZvcm0gb2YgYSBwZXJzb25hbCBuYW1lCisodGhhdCBpcywgdGhlIG5hbWUgYnkgd2hpY2ggb3RoZXIgaHVtYW5zIHJlZmVyIHRvIHlvdSksIGFsdGhvdWdoIEdpdCBkb2VzIG5vdAorZW5mb3JjZSBvciByZXF1aXJlIGFueSBwYXJ0aWN1bGFyIGZvcm0uIEFyYml0cmFyeSBVbmljb2RlIG1heSBiZSB1c2VkLCBzdWJqZWN0Cit0byB0aGUgY29uc3RyYWludHMgbGlzdGVkIGFib3ZlLiBUaGlzIG5hbWUgaGFzIG5vIGVmZmVjdCBvbiBhdXRoZW50aWNhdGlvbjsgZm9yCit0aGF0LCBzZWUgdGhlIGBjcmVkZW50aWFsLnVzZXJuYW1lYCB2YXJpYWJsZSBpbiBsaW5rZ2l0OmdpdC1jb25maWdbMV0uCisKK0luIGNhc2UgKHNvbWUgb2YpIHRoZXNlIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgbm90IHNldCwgdGhlIGluZm9ybWF0aW9uCitpcyB0YWtlbiBmcm9tIHRoZSBjb25maWd1cmF0aW9uIGl0ZW1zIGB1c2VyLm5hbWVgIGFuZCBgdXNlci5lbWFpbGAsIG9yLCBpZiBub3QKK3ByZXNlbnQsIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBFTUFJTCwgb3IsIGlmIHRoYXQgaXMgbm90IHNldCwKK3N5c3RlbSB1c2VyIG5hbWUgYW5kIHRoZSBob3N0bmFtZSB1c2VkIGZvciBvdXRnb2luZyBtYWlsICh0YWtlbgorZnJvbSBgL2V0Yy9tYWlsbmFtZWAgYW5kIGZhbGxpbmcgYmFjayB0byB0aGUgZnVsbHkgcXVhbGlmaWVkIGhvc3RuYW1lIHdoZW4KK3RoYXQgZmlsZSBkb2VzIG5vdCBleGlzdCkuCisKK1RoZSBgYXV0aG9yLm5hbWVgIGFuZCBgY29tbWl0dGVyLm5hbWVgIGFuZCB0aGVpciBjb3JyZXNwb25kaW5nIGVtYWlsIG9wdGlvbnMKK292ZXJyaWRlIGB1c2VyLm5hbWVgIGFuZCBgdXNlci5lbWFpbGAgaWYgc2V0IGFuZCBhcmUgb3ZlcnJpZGRlbiB0aGVtc2VsdmVzIGJ5Cit0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzLgorCitUaGUgdHlwaWNhbCB1c2FnZSBpcyB0byBzZXQganVzdCB0aGUgYHVzZXIubmFtZWAgYW5kIGB1c2VyLmVtYWlsYCB2YXJpYWJsZXM7Cit0aGUgb3RoZXIgb3B0aW9ucyBhcmUgcHJvdmlkZWQgZm9yIG1vcmUgY29tcGxleCB1c2UgY2FzZXMuCisKKzpnaXQtY29tbWl0OiAxCitpbmNsdWRlOjpkYXRlLWZvcm1hdHMudHh0W10KIAogRElTQ1VTU0lPTgogLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtY29uZmlnLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNvbmZpZy50eHQKaW5kZXggMWJmZTlmNS4uNzU3MzE2MCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtY29uZmlnLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1jb25maWcudHh0CkBAIC05LDE4ICs5LDE4IEBACiBTWU5PUFNJUwogLS0tLS0tLS0KIFt2ZXJzZV0KLSdnaXQgY29uZmlnJyBbPGZpbGUtb3B0aW9uPl0gWy0tdHlwZT08dHlwZT5dIFstLXNob3ctb3JpZ2luXSBbLXp8LS1udWxsXSBuYW1lIFt2YWx1ZSBbdmFsdWVfcmVnZXhdXQorJ2dpdCBjb25maWcnIFs8ZmlsZS1vcHRpb24+XSBbLS10eXBlPTx0eXBlPl0gWy0tc2hvdy1vcmlnaW5dIFstLXNob3ctc2NvcGVdIFstenwtLW51bGxdIG5hbWUgW3ZhbHVlIFt2YWx1ZV9yZWdleF1dCiAnZ2l0IGNvbmZpZycgWzxmaWxlLW9wdGlvbj5dIFstLXR5cGU9PHR5cGU+XSAtLWFkZCBuYW1lIHZhbHVlCiAnZ2l0IGNvbmZpZycgWzxmaWxlLW9wdGlvbj5dIFstLXR5cGU9PHR5cGU+XSAtLXJlcGxhY2UtYWxsIG5hbWUgdmFsdWUgW3ZhbHVlX3JlZ2V4XQotJ2dpdCBjb25maWcnIFs8ZmlsZS1vcHRpb24+XSBbLS10eXBlPTx0eXBlPl0gWy0tc2hvdy1vcmlnaW5dIFstenwtLW51bGxdIC0tZ2V0IG5hbWUgW3ZhbHVlX3JlZ2V4XQotJ2dpdCBjb25maWcnIFs8ZmlsZS1vcHRpb24+XSBbLS10eXBlPTx0eXBlPl0gWy0tc2hvdy1vcmlnaW5dIFstenwtLW51bGxdIC0tZ2V0LWFsbCBuYW1lIFt2YWx1ZV9yZWdleF0KLSdnaXQgY29uZmlnJyBbPGZpbGUtb3B0aW9uPl0gWy0tdHlwZT08dHlwZT5dIFstLXNob3ctb3JpZ2luXSBbLXp8LS1udWxsXSBbLS1uYW1lLW9ubHldIC0tZ2V0LXJlZ2V4cCBuYW1lX3JlZ2V4IFt2YWx1ZV9yZWdleF0KKydnaXQgY29uZmlnJyBbPGZpbGUtb3B0aW9uPl0gWy0tdHlwZT08dHlwZT5dIFstLXNob3ctb3JpZ2luXSBbLS1zaG93LXNjb3BlXSBbLXp8LS1udWxsXSAtLWdldCBuYW1lIFt2YWx1ZV9yZWdleF0KKydnaXQgY29uZmlnJyBbPGZpbGUtb3B0aW9uPl0gWy0tdHlwZT08dHlwZT5dIFstLXNob3ctb3JpZ2luXSBbLS1zaG93LXNjb3BlXSBbLXp8LS1udWxsXSAtLWdldC1hbGwgbmFtZSBbdmFsdWVfcmVnZXhdCisnZ2l0IGNvbmZpZycgWzxmaWxlLW9wdGlvbj5dIFstLXR5cGU9PHR5cGU+XSBbLS1zaG93LW9yaWdpbl0gWy0tc2hvdy1zY29wZV0gWy16fC0tbnVsbF0gWy0tbmFtZS1vbmx5XSAtLWdldC1yZWdleHAgbmFtZV9yZWdleCBbdmFsdWVfcmVnZXhdCiAnZ2l0IGNvbmZpZycgWzxmaWxlLW9wdGlvbj5dIFstLXR5cGU9PHR5cGU+XSBbLXp8LS1udWxsXSAtLWdldC11cmxtYXRjaCBuYW1lIFVSTAogJ2dpdCBjb25maWcnIFs8ZmlsZS1vcHRpb24+XSAtLXVuc2V0IG5hbWUgW3ZhbHVlX3JlZ2V4XQogJ2dpdCBjb25maWcnIFs8ZmlsZS1vcHRpb24+XSAtLXVuc2V0LWFsbCBuYW1lIFt2YWx1ZV9yZWdleF0KICdnaXQgY29uZmlnJyBbPGZpbGUtb3B0aW9uPl0gLS1yZW5hbWUtc2VjdGlvbiBvbGRfbmFtZSBuZXdfbmFtZQogJ2dpdCBjb25maWcnIFs8ZmlsZS1vcHRpb24+XSAtLXJlbW92ZS1zZWN0aW9uIG5hbWUKLSdnaXQgY29uZmlnJyBbPGZpbGUtb3B0aW9uPl0gWy0tc2hvdy1vcmlnaW5dIFstenwtLW51bGxdIFstLW5hbWUtb25seV0gLWwgfCAtLWxpc3QKKydnaXQgY29uZmlnJyBbPGZpbGUtb3B0aW9uPl0gWy0tc2hvdy1vcmlnaW5dIFstLXNob3ctc2NvcGVdIFstenwtLW51bGxdIFstLW5hbWUtb25seV0gLWwgfCAtLWxpc3QKICdnaXQgY29uZmlnJyBbPGZpbGUtb3B0aW9uPl0gLS1nZXQtY29sb3IgbmFtZSBbZGVmYXVsdF0KICdnaXQgY29uZmlnJyBbPGZpbGUtb3B0aW9uPl0gLS1nZXQtY29sb3Jib29sIG5hbWUgW3N0ZG91dC1pcy10dHldCiAnZ2l0IGNvbmZpZycgWzxmaWxlLW9wdGlvbj5dIC1lIHwgLS1lZGl0CkBAIC0xMjYsNyArMTI2LDcgQEAKIAogLS1sb2NhbDo6CiAJRm9yIHdyaXRpbmcgb3B0aW9uczogd3JpdGUgdG8gdGhlIHJlcG9zaXRvcnkgYC5naXQvY29uZmlnYCBmaWxlLgotCVRoaXMgaXMJdGhlIGRlZmF1bHQgYmVoYXZpb3IuCisJVGhpcyBpcyB0aGUgZGVmYXVsdCBiZWhhdmlvci4KICsKIEZvciByZWFkaW5nIG9wdGlvbnM6IHJlYWQgb25seSBmcm9tIHRoZSByZXBvc2l0b3J5IGAuZ2l0L2NvbmZpZ2AgcmF0aGVyIHRoYW4KIGZyb20gYWxsIGF2YWlsYWJsZSBmaWxlcy4KQEAgLTIyMiw2ICsyMjIsMTEgQEAKIAl0aGUgYWN0dWFsIG9yaWdpbiAoY29uZmlnIGZpbGUgcGF0aCwgcmVmLCBvciBibG9iIGlkIGlmCiAJYXBwbGljYWJsZSkuCiAKKy0tc2hvdy1zY29wZTo6CisJU2ltaWxhciB0byBgLS1zaG93LW9yaWdpbmAgaW4gdGhhdCBpdCBhdWdtZW50cyB0aGUgb3V0cHV0IG9mCisJYWxsIHF1ZXJpZWQgY29uZmlnIG9wdGlvbnMgd2l0aCB0aGUgc2NvcGUgb2YgdGhhdCB2YWx1ZQorCShsb2NhbCwgZ2xvYmFsLCBzeXN0ZW0sIGNvbW1hbmQpLgorCiAtLWdldC1jb2xvcmJvb2wgbmFtZSBbc3Rkb3V0LWlzLXR0eV06OgogCiAJRmluZCB0aGUgY29sb3Igc2V0dGluZyBmb3IgYG5hbWVgIChlLmcuIGBjb2xvci5kaWZmYCkgYW5kIG91dHB1dApAQCAtMjQwLDcgKzI0NSw5IEBACiAJb3V0cHV0LiAgVGhlIG9wdGlvbmFsIGBkZWZhdWx0YCBwYXJhbWV0ZXIgaXMgdXNlZCBpbnN0ZWFkLCBpZgogCXRoZXJlIGlzIG5vIGNvbG9yIGNvbmZpZ3VyZWQgZm9yIGBuYW1lYC4KICsKLWAtLXR5cGU9Y29sb3IgWy0tZGVmYXVsdD08ZGVmYXVsdD5dYCBpcyBwcmVmZXJyZWQgb3ZlciBgLS1nZXQtY29sb3JgLgorYC0tdHlwZT1jb2xvciBbLS1kZWZhdWx0PTxkZWZhdWx0Pl1gIGlzIHByZWZlcnJlZCBvdmVyIGAtLWdldC1jb2xvcmAKKyhidXQgbm90ZSB0aGF0IGAtLWdldC1jb2xvcmAgd2lsbCBvbWl0IHRoZSB0cmFpbGluZyBuZXdsaW5lIHByaW50ZWQgYnkKK2AtLXR5cGU9Y29sb3JgKS4KIAogLWU6OgogLS1lZGl0OjoKQEAgLTMzNywzMyArMzQ0LDM1IEBACiAKIEdpdmVuIGEgLmdpdC9jb25maWcgbGlrZSB0aGlzOgogCi0JIwotCSMgVGhpcyBpcyB0aGUgY29uZmlnIGZpbGUsIGFuZAotCSMgYSAnIycgb3IgJzsnIGNoYXJhY3RlciBpbmRpY2F0ZXMKLQkjIGEgY29tbWVudAotCSMKKy0tLS0tLS0tLS0tLQorIworIyBUaGlzIGlzIHRoZSBjb25maWcgZmlsZSwgYW5kCisjIGEgJyMnIG9yICc7JyBjaGFyYWN0ZXIgaW5kaWNhdGVzCisjIGEgY29tbWVudAorIwogCi0JOyBjb3JlIHZhcmlhYmxlcwotCVtjb3JlXQotCQk7IERvbid0IHRydXN0IGZpbGUgbW9kZXMKLQkJZmlsZW1vZGUgPSBmYWxzZQorOyBjb3JlIHZhcmlhYmxlcworW2NvcmVdCisJOyBEb24ndCB0cnVzdCBmaWxlIG1vZGVzCisJZmlsZW1vZGUgPSBmYWxzZQogCi0JOyBPdXIgZGlmZiBhbGdvcml0aG0KLQlbZGlmZl0KLQkJZXh0ZXJuYWwgPSAvdXNyL2xvY2FsL2Jpbi9kaWZmLXdyYXBwZXIKLQkJcmVuYW1lcyA9IHRydWUKKzsgT3VyIGRpZmYgYWxnb3JpdGhtCitbZGlmZl0KKwlleHRlcm5hbCA9IC91c3IvbG9jYWwvYmluL2RpZmYtd3JhcHBlcgorCXJlbmFtZXMgPSB0cnVlCiAKLQk7IFByb3h5IHNldHRpbmdzCi0JW2NvcmVdCi0JCWdpdHByb3h5PXByb3h5LWNvbW1hbmQgZm9yIGtlcm5lbC5vcmcKLQkJZ2l0cHJveHk9ZGVmYXVsdC1wcm94eSA7IGZvciBhbGwgdGhlIHJlc3QKKzsgUHJveHkgc2V0dGluZ3MKK1tjb3JlXQorCWdpdHByb3h5PXByb3h5LWNvbW1hbmQgZm9yIGtlcm5lbC5vcmcKKwlnaXRwcm94eT1kZWZhdWx0LXByb3h5IDsgZm9yIGFsbCB0aGUgcmVzdAogCi0JOyBIVFRQCi0JW2h0dHBdCi0JCXNzbFZlcmlmeQotCVtodHRwICJodHRwczovL3dlYWsuZXhhbXBsZS5jb20iXQotCQlzc2xWZXJpZnkgPSBmYWxzZQotCQljb29raWVGaWxlID0gL3RtcC9jb29raWUudHh0Cis7IEhUVFAKK1todHRwXQorCXNzbFZlcmlmeQorW2h0dHAgImh0dHBzOi8vd2Vhay5leGFtcGxlLmNvbSJdCisJc3NsVmVyaWZ5ID0gZmFsc2UKKwljb29raWVGaWxlID0gL3RtcC9jb29raWUudHh0CistLS0tLS0tLS0tLS0KIAogeW91IGNhbiBzZXQgdGhlIGZpbGVtb2RlIHRvIHRydWUgd2l0aAogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jcmVkZW50aWFsLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWNyZWRlbnRpYWwudHh0CmluZGV4IGIyMTE0NDAuLjZmMGM3Y2EgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWNyZWRlbnRpYWwudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWNyZWRlbnRpYWwudHh0CkBAIC0xOSw4ICsxOSw3IEBACiB1c2VybmFtZXMgYW5kIHBhc3N3b3Jkcy4gVGhlIGdpdC1jcmVkZW50aWFsIGNvbW1hbmQgZXhwb3NlcyB0aGlzCiBpbnRlcmZhY2UgdG8gc2NyaXB0cyB3aGljaCBtYXkgd2FudCB0byByZXRyaWV2ZSwgc3RvcmUsIG9yIHByb21wdCBmb3IKIGNyZWRlbnRpYWxzIGluIHRoZSBzYW1lIG1hbm5lciBhcyBHaXQuIFRoZSBkZXNpZ24gb2YgdGhpcyBzY3JpcHRhYmxlCi1pbnRlcmZhY2UgbW9kZWxzIHRoZSBpbnRlcm5hbCBDIEFQSTsgc2VlCi1saW5rOnRlY2huaWNhbC9hcGktY3JlZGVudGlhbHMuaHRtbFt0aGUgR2l0IGNyZWRlbnRpYWwgQVBJXSBmb3IgbW9yZQoraW50ZXJmYWNlIG1vZGVscyB0aGUgaW50ZXJuYWwgQyBBUEk7IHNlZSBjcmVkZW50aWFsLmggZm9yIG1vcmUKIGJhY2tncm91bmQgb24gdGhlIGNvbmNlcHRzLgogCiBnaXQtY3JlZGVudGlhbCB0YWtlcyBhbiAiYWN0aW9uIiBvcHRpb24gb24gdGhlIGNvbW1hbmQtbGluZSAob25lIG9mCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1jdnNzZXJ2ZXIudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtY3Zzc2VydmVyLnR4dAppbmRleCBmOThiN2M2Li4xYjFjNzFhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1jdnNzZXJ2ZXIudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWN2c3NlcnZlci50eHQKQEAgLTIzMiw3ICsyMzIsNyBAQAogJ2dpdC1jdnNzZXJ2ZXInIHdyaXRlIGFjY2VzcyB0byB0aGUgZGF0YWJhc2UgZmlsZSB3aXRob3V0IGdyYW50aW5nCiB0aGVtIHdyaXRlIGFjY2VzcyB0byB0aGUgZGlyZWN0b3J5LCB0b28uCiAKLVRoZSBkYXRhYmFzZSBjYW4gbm90IGJlIHJlbGlhYmx5IHJlZ2VuZXJhdGVkIGluIGEKK1RoZSBkYXRhYmFzZSBjYW5ub3QgYmUgcmVsaWFibHkgcmVnZW5lcmF0ZWQgaW4gYQogY29uc2lzdGVudCBmb3JtIGFmdGVyIHRoZSBicmFuY2ggaXQgaXMgdHJhY2tpbmcgaGFzIGNoYW5nZWQuCiBFeGFtcGxlOiBGb3IgbWVyZ2VkIGJyYW5jaGVzLCAnZ2l0LWN2c3NlcnZlcicgb25seSB0cmFja3MKIG9uZSBicmFuY2ggb2YgZGV2ZWxvcG1lbnQsIGFuZCBhZnRlciBhICdnaXQgbWVyZ2UnIGFuCkBAIC0yOTQsNyArMjk0LDcgQEAKIAlHaXQgZGlyZWN0b3J5IG5hbWUKICVnOjoKIAlHaXQgZGlyZWN0b3J5IG5hbWUsIHdoZXJlIGFsbCBjaGFyYWN0ZXJzIGV4Y2VwdCBmb3IKLQlhbHBoYS1udW1lcmljIG9uZXMsIGAuYCwgYW5kIGAtYCBhcmUgcmVwbGFjZWQgd2l0aAorCWFscGhhbnVtZXJpYyBvbmVzLCBgLmAsIGFuZCBgLWAgYXJlIHJlcGxhY2VkIHdpdGgKIAlgX2AgKHRoaXMgc2hvdWxkIG1ha2UgaXQgZWFzaWVyIHRvIHVzZSB0aGUgZGlyZWN0b3J5CiAJbmFtZSBpbiBhIGZpbGVuYW1lIGlmIHdhbnRlZCkKICVtOjoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWRhZW1vbi50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1kYWVtb24udHh0CmluZGV4IDU2ZDU0YTQuLmZkYzI4YzAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWRhZW1vbi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZGFlbW9uLnR4dApAQCAtNTcsNyArNTcsNyBAQAogCVRoaXMgaXMgc29ydCBvZiAiR2l0IHJvb3QiIC0gaWYgeW91IHJ1biAnZ2l0IGRhZW1vbicgd2l0aAogCSctLWJhc2UtcGF0aD0vc3J2L2dpdCcgb24gZXhhbXBsZS5jb20sIHRoZW4gaWYgeW91IGxhdGVyIHRyeSB0byBwdWxsCiAJJ2dpdDovL2V4YW1wbGUuY29tL2hlbGxvLmdpdCcsICdnaXQgZGFlbW9uJyB3aWxsIGludGVycHJldCB0aGUgcGF0aAotCWFzICcvc3J2L2dpdC9oZWxsby5naXQnLgorCWFzIGAvc3J2L2dpdC9oZWxsby5naXRgLgogCiAtLWJhc2UtcGF0aC1yZWxheGVkOjoKIAlJZiAtLWJhc2UtcGF0aCBpcyBlbmFibGVkIGFuZCByZXBvIGxvb2t1cCBmYWlscywgd2l0aCB0aGlzIG9wdGlvbgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtZGVzY3JpYmUudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZGVzY3JpYmUudHh0CmluZGV4IGNjZGM1ZjguLmE4OGY2YWUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWRlc2NyaWJlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1kZXNjcmliZS50eHQKQEAgLTEzOSw3ICsxMzksNyBAQAogCiBUaGUgbnVtYmVyIG9mIGFkZGl0aW9uYWwgY29tbWl0cyBpcyB0aGUgbnVtYmVyCiBvZiBjb21taXRzIHdoaWNoIHdvdWxkIGJlIGRpc3BsYXllZCBieSAiZ2l0IGxvZyB2MS4wLjQuLnBhcmVudCIuCi1UaGUgaGFzaCBzdWZmaXggaXMgIi1nIiArIDctY2hhciBhYmJyZXZpYXRpb24gZm9yIHRoZSB0aXAgY29tbWl0CitUaGUgaGFzaCBzdWZmaXggaXMgIi1nIiArIHVuYW1iaWd1b3VzIGFiYnJldmlhdGlvbiBmb3IgdGhlIHRpcCBjb21taXQKIG9mIHBhcmVudCAod2hpY2ggd2FzIGAyNDE0NzIxYjE5NDQ1M2YwNTgwNzlkODk3ZDEzYzRlMzc3ZjkyZGM2YCkuCiBUaGUgImciIHByZWZpeCBzdGFuZHMgZm9yICJnaXQiIGFuZCBpcyB1c2VkIHRvIGFsbG93IGRlc2NyaWJpbmcgdGhlIHZlcnNpb24gb2YKIGEgc29mdHdhcmUgZGVwZW5kaW5nIG9uIHRoZSBTQ00gdGhlIHNvZnR3YXJlIGlzIG1hbmFnZWQgd2l0aC4gVGhpcyBpcyB1c2VmdWwKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWRpZmYtdHJlZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1kaWZmLXRyZWUudHh0CmluZGV4IDIzMTliMmIuLjVjOGEyYTUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWRpZmYtdHJlZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZGlmZi10cmVlLnR4dApAQCAtMTAsOCArMTAsOCBAQAogLS0tLS0tLS0KIFt2ZXJzZV0KICdnaXQgZGlmZi10cmVlJyBbLS1zdGRpbl0gWy1tXSBbLXNdIFstdl0gWy0tbm8tY29tbWl0LWlkXSBbLS1wcmV0dHldCi0JICAgICAgWy10XSBbLXJdIFstYyB8IC0tY2NdIFstLXJvb3RdIFs8Y29tbW9uIGRpZmYgb3B0aW9ucz5dCi0JICAgICAgPHRyZWUtaXNoPiBbPHRyZWUtaXNoPl0gWzxwYXRoPi4uLl0KKwkgICAgICBbLXRdIFstcl0gWy1jIHwgLS1jY10gWy0tY29tYmluZWQtYWxsLXBhdGhzXSBbLS1yb290XQorCSAgICAgIFs8Y29tbW9uIGRpZmYgb3B0aW9ucz5dIDx0cmVlLWlzaD4gWzx0cmVlLWlzaD5dIFs8cGF0aD4uLi5dCiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQpAQCAtMzEsMTAgKzMxLDcgQEAKIAogPHBhdGg+Li4uOjoKIAlJZiBwcm92aWRlZCwgdGhlIHJlc3VsdHMgYXJlIGxpbWl0ZWQgdG8gYSBzdWJzZXQgb2YgZmlsZXMKLQltYXRjaGluZyBvbmUgb2YgdGhlc2UgcHJlZml4IHN0cmluZ3MuCi0JaS5lLiwgZmlsZSBtYXRjaGVzIGAvXjxwYXR0ZXJuMT58PHBhdHRlcm4yPnwuLi4vYAotCU5vdGUgdGhhdCB0aGlzIHBhcmFtZXRlciBkb2VzIG5vdCBwcm92aWRlIGFueSB3aWxkY2FyZCBvciByZWdleHAKLQlmZWF0dXJlcy4KKwltYXRjaGluZyBvbmUgb2YgdGhlIHByb3ZpZGVkIHBhdGhzcGVjcy4KIAogLXI6OgogICAgICAgICByZWN1cnNlIGludG8gc3ViLXRyZWVzCkBAIC0xMDgsNiArMTA1LDEzIEBACiAJaXRzZWxmIGFuZCB0aGUgY29tbWl0IGxvZyBtZXNzYWdlIGlzIG5vdCBzaG93biwganVzdCBsaWtlIGluIGFueSBvdGhlcgogCSJlbXB0eSBkaWZmIiBjYXNlLgogCistLWNvbWJpbmVkLWFsbC1wYXRoczo6CisJVGhpcyBmbGFnIGNhdXNlcyBjb21iaW5lZCBkaWZmcyAodXNlZCBmb3IgbWVyZ2UgY29tbWl0cykgdG8KKwlsaXN0IHRoZSBuYW1lIG9mIHRoZSBmaWxlIGZyb20gYWxsIHBhcmVudHMuICBJdCB0aHVzIG9ubHkgaGFzCisJZWZmZWN0IHdoZW4gLWMgb3IgLS1jYyBhcmUgc3BlY2lmaWVkLCBhbmQgaXMgbGlrZWx5IG9ubHkKKwl1c2VmdWwgaWYgZmlsZW5hbWUgY2hhbmdlcyBhcmUgZGV0ZWN0ZWQgKGkuZS4gd2hlbiBlaXRoZXIKKwlyZW5hbWUgb3IgY29weSBkZXRlY3Rpb24gaGF2ZSBiZWVuIHJlcXVlc3RlZCkuCisKIC0tYWx3YXlzOjoKIAlTaG93IHRoZSBjb21taXQgaXRzZWxmIGFuZCB0aGUgY29tbWl0IGxvZyBtZXNzYWdlIGV2ZW4KIAlpZiB0aGUgZGlmZiBpdHNlbGYgaXMgZW1wdHkuCkBAIC0xMTUsNTEgKzExOSw2IEBACiAKIGluY2x1ZGU6OnByZXR0eS1mb3JtYXRzLnR4dFtdCiAKLQotTElNSVRJTkcgT1VUUFVUCi0tLS0tLS0tLS0tLS0tLS0KLUlmIHlvdSdyZSBvbmx5IGludGVyZXN0ZWQgaW4gZGlmZmVyZW5jZXMgaW4gYSBzdWJzZXQgb2YgZmlsZXMsIGZvcgotZXhhbXBsZSBzb21lIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBmaWxlcywgeW91IG1pZ2h0IGRvOgotCi0JZ2l0IGRpZmYtdHJlZSAtciA8dHJlZS1pc2g+IDx0cmVlLWlzaD4gYXJjaC9pYTY0IGluY2x1ZGUvYXNtLWlhNjQKLQotYW5kIGl0IHdpbGwgb25seSBzaG93IHlvdSB3aGF0IGNoYW5nZWQgaW4gdGhvc2UgdHdvIGRpcmVjdG9yaWVzLgotCi1PciBpZiB5b3UgYXJlIHNlYXJjaGluZyBmb3Igd2hhdCBjaGFuZ2VkIGluIGp1c3QgYGtlcm5lbC9zY2hlZC5jYCwganVzdCBkbwotCi0JZ2l0IGRpZmYtdHJlZSAtciA8dHJlZS1pc2g+IDx0cmVlLWlzaD4ga2VybmVsL3NjaGVkLmMKLQotYW5kIGl0IHdpbGwgaWdub3JlIGFsbCBkaWZmZXJlbmNlcyB0byBvdGhlciBmaWxlcy4KLQotVGhlIHBhdHRlcm4gaXMgYWx3YXlzIHRoZSBwcmVmaXgsIGFuZCBpcyBtYXRjaGVkIGV4YWN0bHkuICBUaGVyZSBhcmUgbm8KLXdpbGRjYXJkcy4gIEV2ZW4gc3RyaWN0ZXIsIGl0IGhhcyB0byBtYXRjaCBhIGNvbXBsZXRlIHBhdGggY29tcG9uZW50LgotSS5lLiAiZm9vIiBkb2VzIG5vdCBwaWNrIHVwIGBmb29iYXIuaGAuICAiZm9vIiBkb2VzIG1hdGNoIGBmb28vYmFyLmhgCi1zbyBpdCBjYW4gYmUgdXNlZCB0byBuYW1lIHN1YmRpcmVjdG9yaWVzLgotCi1BbiBleGFtcGxlIG9mIG5vcm1hbCB1c2FnZSBpczoKLQotICB0b3J2YWxkc0BwcGM5NzA6fi9naXQ+IGdpdCBkaWZmLXRyZWUgLS1hYmJyZXYgNTMxOWU0Ci0gIDoxMDA2NjQgMTAwNjY0IGFjMzQ4Yi4uLiBhMDE1MTMuLi4JZ2l0LWZzY2stb2JqZWN0cy5jCi0KLXdoaWNoIHRlbGxzIHlvdSB0aGF0IHRoZSBsYXN0IGNvbW1pdCBjaGFuZ2VkIGp1c3Qgb25lIGZpbGUgKGl0J3MgZnJvbQotdGhpcyBvbmU6Ci0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1jb21taXQgM2M2ZjdjYTE5YWQ0MDQzZTllNzJmYTk0MTA2ZjM1Mjg5N2U2NTFhOAotdHJlZSA1MzE5ZTRkNjA5Y2RkMjgyMDY5Y2M0ZGNlMzNjMWRiNTU5NTM5YjAzCi1wYXJlbnQgYjRlNjI4ZWEzMGQ1YWIzNjA2MTE5ZDJlYTVjYWVhYjE0MWQzOGRmNwotYXV0aG9yIExpbnVzIFRvcnZhbGRzIDx0b3J2YWxkc0BwcGM5NzAub3NkbC5vcmc+IFNhdCBBcHIgOSAxMjowMjozMCAyMDA1Ci1jb21taXR0ZXIgTGludXMgVG9ydmFsZHMgPHRvcnZhbGRzQHBwYzk3MC5vc2RsLm9yZz4gU2F0IEFwciA5IDEyOjAyOjMwIDIwMDUKLQotTWFrZSAiZ2l0LWZzY2stb2JqZWN0cyIgcHJpbnQgb3V0IGFsbCB0aGUgcm9vdCBjb21taXRzIGl0IGZpbmRzLgotCi1PbmNlIEkgZG8gdGhlIHJlZmVyZW5jZSB0cmFja2luZywgSSdsbCBhbHNvIG1ha2UgaXQgcHJpbnQgb3V0IGFsbCB0aGUKLUhFQUQgY29tbWl0cyBpdCBmaW5kcywgd2hpY2ggaXMgZXZlbiBtb3JlIGludGVyZXN0aW5nLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotaW4gY2FzZSB5b3UgY2FyZSkuCi0KLQogaW5jbHVkZTo6ZGlmZi1mb3JtYXQudHh0W10KIAogR0lUCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1kaWZmLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWRpZmYudHh0CmluZGV4IDAzMGYxNjIuLjM3NzgxY2YgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWRpZmYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWRpZmYudHh0CkBAIC0zNiw3ICszNiw3IEBACiAJcnVubmluZyB0aGUgY29tbWFuZCBpbiBhIHdvcmtpbmcgdHJlZSBjb250cm9sbGVkIGJ5IEdpdCBhbmQKIAlhdCBsZWFzdCBvbmUgb2YgdGhlIHBhdGhzIHBvaW50cyBvdXRzaWRlIHRoZSB3b3JraW5nIHRyZWUsCiAJb3Igd2hlbiBydW5uaW5nIHRoZSBjb21tYW5kIG91dHNpZGUgYSB3b3JraW5nIHRyZWUKLQljb250cm9sbGVkIGJ5IEdpdC4KKwljb250cm9sbGVkIGJ5IEdpdC4gVGhpcyBmb3JtIGltcGxpZXMgYC0tZXhpdC1jb2RlYC4KIAogJ2dpdCBkaWZmJyBbPG9wdGlvbnM+XSAtLWNhY2hlZCBbPGNvbW1pdD5dIFstLV0gWzxwYXRoPi4uLl06OgogCkBAIC0xMzIsOSArMTMyLDkgQEAKICsKIDwxPiBDaGFuZ2VzIGluIHRoZSB3b3JraW5nIHRyZWUgbm90IHlldCBzdGFnZWQgZm9yIHRoZSBuZXh0IGNvbW1pdC4KIDwyPiBDaGFuZ2VzIGJldHdlZW4gdGhlIGluZGV4IGFuZCB5b3VyIGxhc3QgY29tbWl0OyB3aGF0IHlvdQotd291bGQgYmUgY29tbWl0dGluZyBpZiB5b3UgcnVuICJnaXQgY29tbWl0IiB3aXRob3V0ICItYSIgb3B0aW9uLgorICAgIHdvdWxkIGJlIGNvbW1pdHRpbmcgaWYgeW91IHJ1biAiZ2l0IGNvbW1pdCIgd2l0aG91dCAiLWEiIG9wdGlvbi4KIDwzPiBDaGFuZ2VzIGluIHRoZSB3b3JraW5nIHRyZWUgc2luY2UgeW91ciBsYXN0IGNvbW1pdDsgd2hhdCB5b3UKLXdvdWxkIGJlIGNvbW1pdHRpbmcgaWYgeW91IHJ1biAiZ2l0IGNvbW1pdCAtYSIKKyAgICB3b3VsZCBiZSBjb21taXR0aW5nIGlmIHlvdSBydW4gImdpdCBjb21taXQgLWEiCiAKIENvbXBhcmluZyB3aXRoIGFyYml0cmFyeSBjb21taXRzOjoKICsKQEAgLTE0NSwxMCArMTQ1LDEwIEBACiAtLS0tLS0tLS0tLS0KICsKIDwxPiBJbnN0ZWFkIG9mIHVzaW5nIHRoZSB0aXAgb2YgdGhlIGN1cnJlbnQgYnJhbmNoLCBjb21wYXJlIHdpdGggdGhlCi10aXAgb2YgInRlc3QiIGJyYW5jaC4KKyAgICB0aXAgb2YgInRlc3QiIGJyYW5jaC4KIDwyPiBJbnN0ZWFkIG9mIGNvbXBhcmluZyB3aXRoIHRoZSB0aXAgb2YgInRlc3QiIGJyYW5jaCwgY29tcGFyZSB3aXRoCi10aGUgdGlwIG9mIHRoZSBjdXJyZW50IGJyYW5jaCwgYnV0IGxpbWl0IHRoZSBjb21wYXJpc29uIHRvIHRoZQotZmlsZSAidGVzdCIuCisgICAgdGhlIHRpcCBvZiB0aGUgY3VycmVudCBicmFuY2gsIGJ1dCBsaW1pdCB0aGUgY29tcGFyaXNvbiB0byB0aGUKKyAgICBmaWxlICJ0ZXN0Ii4KIDwzPiBDb21wYXJlIHRoZSB2ZXJzaW9uIGJlZm9yZSB0aGUgbGFzdCBjb21taXQgYW5kIHRoZSBsYXN0IGNvbW1pdC4KIAogQ29tcGFyaW5nIGJyYW5jaGVzOjoKQEAgLTE2Miw3ICsxNjIsNyBAQAogPDE+IENoYW5nZXMgYmV0d2VlbiB0aGUgdGlwcyBvZiB0aGUgdG9waWMgYW5kIHRoZSBtYXN0ZXIgYnJhbmNoZXMuCiA8Mj4gU2FtZSBhcyBhYm92ZS4KIDwzPiBDaGFuZ2VzIHRoYXQgb2NjdXJyZWQgb24gdGhlIG1hc3RlciBicmFuY2ggc2luY2Ugd2hlbiB0aGUgdG9waWMKLWJyYW5jaCB3YXMgc3RhcnRlZCBvZmYgaXQuCisgICAgYnJhbmNoIHdhcyBzdGFydGVkIG9mZiBpdC4KIAogTGltaXRpbmcgdGhlIGRpZmYgb3V0cHV0OjoKICsKQEAgLTE3Myw5ICsxNzMsOSBAQAogLS0tLS0tLS0tLS0tCiArCiA8MT4gU2hvdyBvbmx5IG1vZGlmaWNhdGlvbiwgcmVuYW1lLCBhbmQgY29weSwgYnV0IG5vdCBhZGRpdGlvbgotb3IgZGVsZXRpb24uCisgICAgb3IgZGVsZXRpb24uCiA8Mj4gU2hvdyBvbmx5IG5hbWVzIGFuZCB0aGUgbmF0dXJlIG9mIGNoYW5nZSwgYnV0IG5vdCBhY3R1YWwKLWRpZmYgb3V0cHV0LgorICAgIGRpZmYgb3V0cHV0LgogPDM+IExpbWl0IGRpZmYgb3V0cHV0IHRvIG5hbWVkIHN1YnRyZWVzLgogCiBNdW5naW5nIHRoZSBkaWZmIG91dHB1dDo6CkBAIC0xODYsNyArMTg2LDcgQEAKIC0tLS0tLS0tLS0tLQogKwogPDE+IFNwZW5kIGV4dHJhIGN5Y2xlcyB0byBmaW5kIHJlbmFtZXMsIGNvcGllcyBhbmQgY29tcGxldGUKLXJld3JpdGVzICh2ZXJ5IGV4cGVuc2l2ZSkuCisgICAgcmV3cml0ZXMgKHZlcnkgZXhwZW5zaXZlKS4KIDwyPiBPdXRwdXQgZGlmZiBpbiByZXZlcnNlLgogCiBTRUUgQUxTTwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtZGlmZnRvb2wudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZGlmZnRvb2wudHh0CmluZGV4IDk2YzI2ZTYuLjQ4NGM0ODUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWRpZmZ0b29sLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1kaWZmdG9vbC50eHQKQEAgLTkwLDcgKzkwLDkgQEAKIAlXaGVuICdnaXQtZGlmZnRvb2wnIGlzIGludm9rZWQgd2l0aCB0aGUgYC1nYCBvciBgLS1ndWlgIG9wdGlvbgogCXRoZSBkZWZhdWx0IGRpZmYgdG9vbCB3aWxsIGJlIHJlYWQgZnJvbSB0aGUgY29uZmlndXJlZAogCWBkaWZmLmd1aXRvb2xgIHZhcmlhYmxlIGluc3RlYWQgb2YgYGRpZmYudG9vbGAuIFRoZSBgLS1uby1ndWlgCi0Jb3B0aW9uIGNhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoaXMgc2V0dGluZy4KKwlvcHRpb24gY2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhpcyBzZXR0aW5nLiBJZiBgZGlmZi5ndWl0b29sYAorCWlzIG5vdCBzZXQsIHdlIHdpbGwgZmFsbGJhY2sgaW4gdGhlIG9yZGVyIG9mIGBtZXJnZS5ndWl0b29sYCwKKwlgZGlmZi50b29sYCwgYG1lcmdlLnRvb2xgIHVudGlsIGEgdG9vbCBpcyBmb3VuZC4KIAogLS1bbm8tXXRydXN0LWV4aXQtY29kZTo6CiAJJ2dpdC1kaWZmdG9vbCcgaW52b2tlcyBhIGRpZmYgdG9vbCBpbmRpdmlkdWFsbHkgb24gZWFjaCBmaWxlLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtZmFzdC1leHBvcnQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZmFzdC1leHBvcnQudHh0CmluZGV4IGNlOTU0YmUuLmU4OTUwZGUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWZhc3QtZXhwb3J0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1mYXN0LWV4cG9ydC50eHQKQEAgLTE3LDkgKzE3LDkgQEAKIGludG8gJ2dpdCBmYXN0LWltcG9ydCcuCiAKIFlvdSBjYW4gdXNlIGl0IGFzIGEgaHVtYW4tcmVhZGFibGUgYnVuZGxlIHJlcGxhY2VtZW50IChzZWUKLWxpbmtnaXQ6Z2l0LWJ1bmRsZVsxXSksIG9yIGFzIGEga2luZCBvZiBhbiBpbnRlcmFjdGl2ZQotJ2dpdCBmaWx0ZXItYnJhbmNoJy4KLQorbGlua2dpdDpnaXQtYnVuZGxlWzFdKSwgb3IgYXMgYSBmb3JtYXQgdGhhdCBjYW4gYmUgZWRpdGVkIGJlZm9yZSBiZWluZworZmVkIHRvICdnaXQgZmFzdC1pbXBvcnQnIGluIG9yZGVyIHRvIGRvIGhpc3RvcnkgcmV3cml0ZXMgKGFuIGFiaWxpdHkKK3JlbGllZCBvbiBieSB0b29scyBsaWtlICdnaXQgZmlsdGVyLXJlcG8nKS4KIAogT1BUSU9OUwogLS0tLS0tLQpAQCAtNzUsMTEgKzc1LDIwIEBACiAJQmVmb3JlIHByb2Nlc3NpbmcgYW55IGlucHV0LCBsb2FkIHRoZSBtYXJrcyBzcGVjaWZpZWQgaW4KIAk8ZmlsZT4uICBUaGUgaW5wdXQgZmlsZSBtdXN0IGV4aXN0LCBtdXN0IGJlIHJlYWRhYmxlLCBhbmQKIAltdXN0IHVzZSB0aGUgc2FtZSBmb3JtYXQgYXMgcHJvZHVjZWQgYnkgLS1leHBvcnQtbWFya3MuCisKKy0tbWFyay10YWdzOjoKKwlJbiBhZGRpdGlvbiB0byBsYWJlbGxpbmcgYmxvYnMgYW5kIGNvbW1pdHMgd2l0aCBtYXJrIGlkcywgYWxzbworCWxhYmVsIHRhZ3MuICBUaGlzIGlzIHVzZWZ1bCBpbiBjb25qdW5jdGlvbiB3aXRoCisJYC0tZXhwb3J0LW1hcmtzYCBhbmQgYC0taW1wb3J0LW1hcmtzYCwgYW5kIGlzIGFsc28gdXNlZnVsIChhbmQKKwluZWNlc3NhcnkpIGZvciBleHBvcnRpbmcgb2YgbmVzdGVkIHRhZ3MuICBJdCBkb2VzIG5vdCBodXJ0CisJb3RoZXIgY2FzZXMgYW5kIHdvdWxkIGJlIHRoZSBkZWZhdWx0LCBidXQgbWFueSBmYXN0LWltcG9ydAorCWZyb250ZW5kcyBhcmUgbm90IHByZXBhcmVkIHRvIGFjY2VwdCB0YWdzIHdpdGggbWFyaworCWlkZW50aWZpZXJzLgogKwotQW55IGNvbW1pdHMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBtYXJrZWQgd2lsbCBub3QgYmUgZXhwb3J0ZWQgYWdhaW4uCi1JZiB0aGUgYmFja2VuZCB1c2VzIGEgc2ltaWxhciAtLWltcG9ydC1tYXJrcyBmaWxlLCB0aGlzIGFsbG93cyBmb3IKLWluY3JlbWVudGFsIGJpZGlyZWN0aW9uYWwgZXhwb3J0aW5nIG9mIHRoZSByZXBvc2l0b3J5IGJ5IGtlZXBpbmcgdGhlCi1tYXJrcyB0aGUgc2FtZSBhY3Jvc3MgcnVucy4KK0FueSBjb21taXRzIChvciB0YWdzKSB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIG1hcmtlZCB3aWxsIG5vdCBiZQorZXhwb3J0ZWQgYWdhaW4uICBJZiB0aGUgYmFja2VuZCB1c2VzIGEgc2ltaWxhciAtLWltcG9ydC1tYXJrcyBmaWxlLAordGhpcyBhbGxvd3MgZm9yIGluY3JlbWVudGFsIGJpZGlyZWN0aW9uYWwgZXhwb3J0aW5nIG9mIHRoZSByZXBvc2l0b3J5CitieSBrZWVwaW5nIHRoZSBtYXJrcyB0aGUgc2FtZSBhY3Jvc3MgcnVucy4KIAogLS1mYWtlLW1pc3NpbmctdGFnZ2VyOjoKIAlTb21lIG9sZCByZXBvc2l0b3JpZXMgaGF2ZSB0YWdzIHdpdGhvdXQgYSB0YWdnZXIuICBUaGUKQEAgLTExMCw2ICsxMTksMzIgQEAKIAl0aGUgc2hhcGUgb2YgdGhlIGhpc3RvcnkgYW5kIHN0b3JlZCB0cmVlLiAgU2VlIHRoZSBzZWN0aW9uIG9uCiAJYEFOT05ZTUlaSU5HYCBiZWxvdy4KIAorLS1yZWZlcmVuY2UtZXhjbHVkZWQtcGFyZW50czo6CisJQnkgZGVmYXVsdCwgcnVubmluZyBhIGNvbW1hbmQgc3VjaCBhcyBgZ2l0IGZhc3QtZXhwb3J0CisJbWFzdGVyfjUuLm1hc3RlcmAgd2lsbCBub3QgaW5jbHVkZSB0aGUgY29tbWl0IG1hc3Rlcnt0aWxkZX01CisJYW5kIHdpbGwgbWFrZSBtYXN0ZXJ7dGlsZGV9NCBubyBsb25nZXIgaGF2ZSBtYXN0ZXJ7dGlsZGV9NSBhcworCWEgcGFyZW50ICh0aG91Z2ggYm90aCB0aGUgb2xkIG1hc3Rlcnt0aWxkZX00IGFuZCBuZXcKKwltYXN0ZXJ7dGlsZGV9NCB3aWxsIGhhdmUgYWxsIHRoZSBzYW1lIGZpbGVzKS4gIFVzZQorCS0tcmVmZXJlbmNlLWV4Y2x1ZGVkLXBhcmVudHMgdG8gaW5zdGVhZCBoYXZlIHRoZSBzdHJlYW0KKwlyZWZlciB0byBjb21taXRzIGluIHRoZSBleGNsdWRlZCByYW5nZSBvZiBoaXN0b3J5IGJ5IHRoZWlyCisJc2hhMXN1bS4gIE5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIHN0cmVhbSBjYW4gb25seSBiZSB1c2VkIGJ5IGEKKwlyZXBvc2l0b3J5IHdoaWNoIGFscmVhZHkgY29udGFpbnMgdGhlIG5lY2Vzc2FyeSBwYXJlbnQKKwljb21taXRzLgorCistLXNob3ctb3JpZ2luYWwtaWRzOjoKKwlBZGQgYW4gZXh0cmEgZGlyZWN0aXZlIHRvIHRoZSBvdXRwdXQgZm9yIGNvbW1pdHMgYW5kIGJsb2JzLAorCWBvcmlnaW5hbC1vaWQgPFNIQTFTVU0+YC4gIFdoaWxlIHN1Y2ggZGlyZWN0aXZlcyB3aWxsIGxpa2VseSBiZQorCWlnbm9yZWQgYnkgaW1wb3J0ZXJzIHN1Y2ggYXMgZ2l0LWZhc3QtaW1wb3J0LCBpdCBtYXkgYmUgdXNlZnVsCisJZm9yIGludGVybWVkaWFyeSBmaWx0ZXJzIChlLmcuIGZvciByZXdyaXRpbmcgY29tbWl0IG1lc3NhZ2VzCisJd2hpY2ggcmVmZXIgdG8gb2xkZXIgY29tbWl0cywgb3IgZm9yIHN0cmlwcGluZyBibG9icyBieSBpZCkuCisKKy0tcmVlbmNvZGU9KHllc3xub3xhYm9ydCk6OgorCVNwZWNpZnkgaG93IHRvIGhhbmRsZSBgZW5jb2RpbmdgIGhlYWRlciBpbiBjb21taXQgb2JqZWN0cy4gIFdoZW4KKwlhc2tpbmcgdG8gJ2Fib3J0JyAod2hpY2ggaXMgdGhlIGRlZmF1bHQpLCB0aGlzIHByb2dyYW0gd2lsbCBkaWUKKwl3aGVuIGVuY291bnRlcmluZyBzdWNoIGEgY29tbWl0IG9iamVjdC4gIFdpdGggJ3llcycsIHRoZSBjb21taXQKKwltZXNzYWdlIHdpbGwgYmUgcmUtZW5jb2RlZCBpbnRvIFVURi04LiAgV2l0aCAnbm8nLCB0aGUgb3JpZ2luYWwKKwllbmNvZGluZyB3aWxsIGJlIHByZXNlcnZlZC4KKwogLS1yZWZzcGVjOjoKIAlBcHBseSB0aGUgc3BlY2lmaWVkIHJlZnNwZWMgdG8gZWFjaCByZWYgZXhwb3J0ZWQuIE11bHRpcGxlIG9mIHRoZW0gY2FuCiAJYmUgc3BlY2lmaWVkLgpAQCAtMTE5LDcgKzE1NCw5IEBACiAJJ2dpdCByZXYtbGlzdCcsIHRoYXQgc3BlY2lmaWVzIHRoZSBzcGVjaWZpYyBvYmplY3RzIGFuZCByZWZlcmVuY2VzCiAJdG8gZXhwb3J0LiAgRm9yIGV4YW1wbGUsIGBtYXN0ZXJ+MTAuLm1hc3RlcmAgY2F1c2VzIHRoZQogCWN1cnJlbnQgbWFzdGVyIHJlZmVyZW5jZSB0byBiZSBleHBvcnRlZCBhbG9uZyB3aXRoIGFsbCBvYmplY3RzCi0JYWRkZWQgc2luY2UgaXRzIDEwdGggYW5jZXN0b3IgY29tbWl0LgorCWFkZGVkIHNpbmNlIGl0cyAxMHRoIGFuY2VzdG9yIGNvbW1pdCBhbmQgKHVubGVzcyB0aGUKKwktLXJlZmVyZW5jZS1leGNsdWRlZC1wYXJlbnRzIG9wdGlvbiBpcyBzcGVjaWZpZWQpIGFsbCBmaWxlcworCWNvbW1vbiB0byBtYXN0ZXJ7dGlsZGV9OSBhbmQgbWFzdGVye3RpbGRlfTEwLgogCiBFWEFNUExFUwogLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWZhc3QtaW1wb3J0LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWZhc3QtaW1wb3J0LnR4dAppbmRleCA5ZTNiOTU4Li43ODg5Zjk1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1mYXN0LWltcG9ydC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZmFzdC1pbXBvcnQudHh0CkBAIC00MCw5ICs0MCwxMCBAQAogCW5vdCBjb250YWluIHRoZSBvbGQgY29tbWl0KS4KIAogLS1xdWlldDo6Ci0JRGlzYWJsZSBhbGwgbm9uLWZhdGFsIG91dHB1dCwgbWFraW5nIGZhc3QtaW1wb3J0IHNpbGVudCB3aGVuIGl0Ci0JaXMgc3VjY2Vzc2Z1bC4gIFRoaXMgb3B0aW9uIGRpc2FibGVzIHRoZSBvdXRwdXQgc2hvd24gYnkKLQktLXN0YXRzLgorCURpc2FibGUgdGhlIG91dHB1dCBzaG93biBieSAtLXN0YXRzLCBtYWtpbmcgZmFzdC1pbXBvcnQgdXN1YWxseQorCWJlIHNpbGVudCB3aGVuIGl0IGlzIHN1Y2Nlc3NmdWwuICBIb3dldmVyLCBpZiB0aGUgaW1wb3J0IHN0cmVhbQorCWhhcyBkaXJlY3RpdmVzIGludGVuZGVkIHRvIHNob3cgdXNlciBvdXRwdXQgKGUuZy4gYHByb2dyZXNzYAorCWRpcmVjdGl2ZXMpLCB0aGUgY29ycmVzcG9uZGluZyBtZXNzYWdlcyB3aWxsIHN0aWxsIGJlIHNob3duLgogCiAtLXN0YXRzOjoKIAlEaXNwbGF5IHNvbWUgYmFzaWMgc3RhdGlzdGljcyBhYm91dCB0aGUgb2JqZWN0cyBmYXN0LWltcG9ydCBoYXMKQEAgLTM1MSw2ICszNTIsMTMgQEAKIAlgY29tbWl0YCBjb21tYW5kLiAgVGhpcyBjb21tYW5kIGlzIG9wdGlvbmFsIGFuZCBpcyBub3QKIAluZWVkZWQgdG8gcGVyZm9ybSBhbiBpbXBvcnQuCiAKK2BhbGlhc2A6OgorCVJlY29yZCB0aGF0IGEgbWFyayByZWZlcnMgdG8gYSBnaXZlbiBvYmplY3Qgd2l0aG91dCBmaXJzdAorCWNyZWF0aW5nIGFueSBuZXcgb2JqZWN0LiAgVXNpbmcgLS1pbXBvcnQtbWFya3MgYW5kIHJlZmVycmluZworCXRvIG1pc3NpbmcgbWFya3Mgd2lsbCBjYXVzZSBmYXN0LWltcG9ydCB0byBmYWlsLCBzbyBhbGlhc2VzCisJY2FuIHByb3ZpZGUgYSB3YXkgdG8gc2V0IG90aGVyd2lzZSBwcnVuZWQgY29tbWl0cyB0byBhIHZhbGlkCisJdmFsdWUgKGUuZy4gdGhlIG5lYXJlc3Qgbm9uLXBydW5lZCBhbmNlc3RvcikuCisKIGBjaGVja3BvaW50YDo6CiAJRm9yY2VzIGZhc3QtaW1wb3J0IHRvIGNsb3NlIHRoZSBjdXJyZW50IHBhY2tmaWxlLCBnZW5lcmF0ZSBpdHMKIAl1bmlxdWUgU0hBLTEgY2hlY2tzdW0gYW5kIGluZGV4LCBhbmQgc3RhcnQgYSBuZXcgcGFja2ZpbGUuCkBAIC0zOTksMTEgKzQwNywxMyBAQAogLi4uLgogCSdjb21taXQnIFNQIDxyZWY+IExGCiAJbWFyaz8KKwlvcmlnaW5hbC1vaWQ/CiAJKCdhdXRob3InIChTUCA8bmFtZT4pPyBTUCBMVCA8ZW1haWw+IEdUIFNQIDx3aGVuPiBMRik/CiAJJ2NvbW1pdHRlcicgKFNQIDxuYW1lPik/IFNQIExUIDxlbWFpbD4gR1QgU1AgPHdoZW4+IExGCisJKCdlbmNvZGluZycgU1AgPGVuY29kaW5nPik/CiAJZGF0YQogCSgnZnJvbScgU1AgPGNvbW1pdC1pc2g+IExGKT8KLQkoJ21lcmdlJyBTUCA8Y29tbWl0LWlzaD4gTEYpPworCSgnbWVyZ2UnIFNQIDxjb21taXQtaXNoPiBMRikqCiAJKGZpbGVtb2RpZnkgfCBmaWxlZGVsZXRlIHwgZmlsZWNvcHkgfCBmaWxlcmVuYW1lIHwgZmlsZWRlbGV0ZWFsbCB8IG5vdGVtb2RpZnkpKgogCUxGPwogLi4uLgpAQCAtNDM1LDcgKzQ0NSwxMiBAQAogYWxsIGBmaWxlbW9kaWZ5YCwgYGZpbGVjb3B5YCwgYGZpbGVyZW5hbWVgIGFuZCBgbm90ZW1vZGlmeWAgY29tbWFuZHMgaW4KIHRoZSBzYW1lIGNvbW1pdCwgYXMgYGZpbGVkZWxldGVhbGxgIHdpcGVzIHRoZSBicmFuY2ggY2xlYW4gKHNlZSBiZWxvdykuCiAKLVRoZSBgTEZgIGFmdGVyIHRoZSBjb21tYW5kIGlzIG9wdGlvbmFsIChpdCB1c2VkIHRvIGJlIHJlcXVpcmVkKS4KK1RoZSBgTEZgIGFmdGVyIHRoZSBjb21tYW5kIGlzIG9wdGlvbmFsIChpdCB1c2VkIHRvIGJlIHJlcXVpcmVkKS4gIE5vdGUKK3RoYXQgZm9yIHJlYXNvbnMgb2YgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgaWYgdGhlIGNvbW1pdCBlbmRzIHdpdGggYQorYGRhdGFgIGNvbW1hbmQgKGkuZS4gaXQgaGFzIG5vIGBmcm9tYCwgYG1lcmdlYCwgYGZpbGVtb2RpZnlgLAorYGZpbGVkZWxldGVgLCBgZmlsZWNvcHlgLCBgZmlsZXJlbmFtZWAsIGBmaWxlZGVsZXRlYWxsYCBvcgorYG5vdGVtb2RpZnlgIGNvbW1hbmRzKSB0aGVuIHR3byBgTEZgIGNvbW1hbmRzIG1heSBhcHBlYXIgYXQgdGhlIGVuZCBvZgordGhlIGNvbW1hbmQgaW5zdGVhZCBvZiBqdXN0IG9uZS4KIAogYGF1dGhvcmAKIF5eXl5eXl5eCkBAIC00NjMsNiArNDc4LDEyIEBACiBTZWUgYGBEYXRlIEZvcm1hdHMnJyBhYm92ZSBmb3IgdGhlIHNldCBvZiBzdXBwb3J0ZWQgZm9ybWF0cywgYW5kCiB0aGVpciBzeW50YXguCiAKK2BlbmNvZGluZ2AKK15eXl5eXl5eXl4KK1RoZSBvcHRpb25hbCBgZW5jb2RpbmdgIGNvbW1hbmQgaW5kaWNhdGVzIHRoZSBlbmNvZGluZyBvZiB0aGUgY29tbWl0CittZXNzYWdlLiAgTW9zdCBjb21taXRzIGFyZSBVVEYtOCBhbmQgdGhlIGVuY29kaW5nIGlzIG9taXR0ZWQsIGJ1dCB0aGlzCithbGxvd3MgaW1wb3J0aW5nIGNvbW1pdCBtZXNzYWdlcyBpbnRvIGdpdCB3aXRob3V0IGZpcnN0IHJlZW5jb2RpbmcgdGhlbS4KKwogYGZyb21gCiBeXl5eXl4KIFRoZSBgZnJvbWAgY29tbWFuZCBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIGNvbW1pdCB0byBpbml0aWFsaXplCkBAIC03NTUsNiArNzc2LDE5IEBACiB0byBhbm90aGVyIG9iamVjdCBzaW1wbHkgYnkgcmV1c2luZyB0aGUgc2FtZSBgPGlkbnVtPmAgaW4gYW5vdGhlcgogYG1hcmtgIGNvbW1hbmQuCiAKK2BvcmlnaW5hbC1vaWRgCit+fn5+fn5+fn5+fn5+fgorUHJvdmlkZXMgdGhlIG5hbWUgb2YgdGhlIG9iamVjdCBpbiB0aGUgb3JpZ2luYWwgc291cmNlIGNvbnRyb2wgc3lzdGVtLgorZmFzdC1pbXBvcnQgd2lsbCBzaW1wbHkgaWdub3JlIHRoaXMgZGlyZWN0aXZlLCBidXQgZmlsdGVyIHByb2Nlc3Nlcword2hpY2ggb3BlcmF0ZSBvbiBhbmQgbW9kaWZ5IHRoZSBzdHJlYW0gYmVmb3JlIGZlZWRpbmcgdG8gZmFzdC1pbXBvcnQKK21heSBoYXZlIHVzZXMgZm9yIHRoaXMgaW5mb3JtYXRpb24KKworLi4uLgorCSdvcmlnaW5hbC1vaWQnIFNQIDxvYmplY3QtaWRlbnRpZmllcj4gTEYKKy4uLi4KKword2hlcmUgYDxvYmplY3QtaWRlbnRpZmVyPmAgaXMgYW55IHN0cmluZyBub3QgY29udGFpbmluZyBMRi4KKwogYHRhZ2AKIH5+fn5+CiBDcmVhdGVzIGFuIGFubm90YXRlZCB0YWcgcmVmZXJyaW5nIHRvIGEgc3BlY2lmaWMgY29tbWl0LiAgVG8gY3JlYXRlCkBAIC03NjIsNyArNzk2LDkgQEAKIAogLi4uLgogCSd0YWcnIFNQIDxuYW1lPiBMRgorCW1hcms/CiAJJ2Zyb20nIFNQIDxjb21taXQtaXNoPiBMRgorCW9yaWdpbmFsLW9pZD8KIAkndGFnZ2VyJyAoU1AgPG5hbWU+KT8gU1AgTFQgPGVtYWlsPiBHVCBTUCA8d2hlbj4gTEYKIAlkYXRhCiAuLi4uCkBAIC04MzcsNiArODczLDcgQEAKIC4uLi4KIAknYmxvYicgTEYKIAltYXJrPworCW9yaWdpbmFsLW9pZD8KIAlkYXRhCiAuLi4uCiAKQEAgLTg5OSw2ICs5MzYsMjEgQEAKICsKIFRoZSBgTEZgIGFmdGVyIGA8ZGVsaW0+IExGYCBpcyBvcHRpb25hbCAoaXQgdXNlZCB0byBiZSByZXF1aXJlZCkuCiAKK2BhbGlhc2AKK35+fn5+fn4KK1JlY29yZCB0aGF0IGEgbWFyayByZWZlcnMgdG8gYSBnaXZlbiBvYmplY3Qgd2l0aG91dCBmaXJzdCBjcmVhdGluZyBhbnkKK25ldyBvYmplY3QuCisKKy4uLi4KKwknYWxpYXMnIExGCisJbWFyaworCSd0bycgU1AgPGNvbW1pdC1pc2g+IExGCisJTEY/CisuLi4uCisKK0ZvciBhIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIGA8Y29tbWl0LWlzaD5gIHNlZSBhYm92ZSB1bmRlciBgZnJvbWAuCisKKwogYGNoZWNrcG9pbnRgCiB+fn5+fn5+fn5+fn4KIEZvcmNlcyBmYXN0LWltcG9ydCB0byBjbG9zZSB0aGUgY3VycmVudCBwYWNrZmlsZSwgc3RhcnQgYSBuZXcgb25lLCBhbmQgdG8KQEAgLTk2NCwxMCArMTAxNiw2IEBACiAJJ2dldC1tYXJrJyBTUCAnOicgPGlkbnVtPiBMRgogLi4uLgogCi1UaGlzIGNvbW1hbmQgY2FuIGJlIHVzZWQgYW55d2hlcmUgaW4gdGhlIHN0cmVhbSB0aGF0IGNvbW1lbnRzIGFyZQotYWNjZXB0ZWQuICBJbiBwYXJ0aWN1bGFyLCB0aGUgYGdldC1tYXJrYCBjb21tYW5kIGNhbiBiZSB1c2VkIGluIHRoZQotbWlkZGxlIG9mIGEgY29tbWl0IGJ1dCBub3QgaW4gdGhlIG1pZGRsZSBvZiBhIGBkYXRhYCBjb21tYW5kLgotCiBTZWUgYGBSZXNwb25zZXMgVG8gQ29tbWFuZHMnJyBiZWxvdyBmb3IgZGV0YWlscyBhYm91dCBob3cgdG8gcmVhZAogdGhpcyBvdXRwdXQgc2FmZWx5LgogCkBAIC05OTQsOSArMTA0MiwxMCBAQAogCTxjb250ZW50cz4gTEYKID09PT0KIAotVGhpcyBjb21tYW5kIGNhbiBiZSB1c2VkIGFueXdoZXJlIGluIHRoZSBzdHJlYW0gdGhhdCBjb21tZW50cyBhcmUKLWFjY2VwdGVkLiAgSW4gcGFydGljdWxhciwgdGhlIGBjYXQtYmxvYmAgY29tbWFuZCBjYW4gYmUgdXNlZCBpbiB0aGUKLW1pZGRsZSBvZiBhIGNvbW1pdCBidXQgbm90IGluIHRoZSBtaWRkbGUgb2YgYSBgZGF0YWAgY29tbWFuZC4KK1RoaXMgY29tbWFuZCBjYW4gYmUgdXNlZCB3aGVyZSBhIGBmaWxlbW9kaWZ5YCBkaXJlY3RpdmUgY2FuIGFwcGVhciwKK2FsbG93aW5nIGl0IHRvIGJlIHVzZWQgaW4gdGhlIG1pZGRsZSBvZiBhIGNvbW1pdC4gIEZvciBhIGBmaWxlbW9kaWZ5YAordXNpbmcgYW4gaW5saW5lIGRpcmVjdGl2ZSwgaXQgY2FuIGFsc28gYXBwZWFyIHJpZ2h0IGJlZm9yZSB0aGUgYGRhdGFgCitkaXJlY3RpdmUuCiAKIFNlZSBgYFJlc3BvbnNlcyBUbyBDb21tYW5kcycnIGJlbG93IGZvciBkZXRhaWxzIGFib3V0IGhvdyB0byByZWFkCiB0aGlzIG91dHB1dCBzYWZlbHkuCkBAIC0xMDA5LDggKzEwNTgsOCBAQAogYmxvYiBvciB0cmVlIGZyb20gYSBwcmV2aW91cyBjb21taXQgZm9yIHVzZSBpbiB0aGUgY3VycmVudCBvbmUgKHdpdGgKIGBmaWxlbW9kaWZ5YCkuCiAKLVRoZSBgbHNgIGNvbW1hbmQgY2FuIGJlIHVzZWQgYW55d2hlcmUgaW4gdGhlIHN0cmVhbSB0aGF0IGNvbW1lbnRzIGFyZQotYWNjZXB0ZWQsIGluY2x1ZGluZyB0aGUgbWlkZGxlIG9mIGEgY29tbWl0LgorVGhlIGBsc2AgY29tbWFuZCBjYW4gYWxzbyBiZSB1c2VkIHdoZXJlIGEgYGZpbGVtb2RpZnlgIGRpcmVjdGl2ZSBjYW4KK2FwcGVhciwgYWxsb3dpbmcgaXQgdG8gYmUgdXNlZCBpbiB0aGUgbWlkZGxlIG9mIGEgY29tbWl0LgogCiBSZWFkaW5nIGZyb20gdGhlIGFjdGl2ZSBjb21taXQ6OgogCVRoaXMgZm9ybSBjYW4gb25seSBiZSB1c2VkIGluIHRoZSBtaWRkbGUgb2YgYSBgY29tbWl0YC4KQEAgLTEzOTQsNiArMTQ0MywxMyBAQAogdG8gZm9yY2UgcmVjb21wdXRhdGlvbiBvZiBhbGwgZGVsdGFzIGNhbiBzaWduaWZpY2FudGx5IHJlZHVjZSB0aGUKIGZpbmFsIHBhY2tmaWxlIHNpemUgKDMwLTUwJSBzbWFsbGVyIGNhbiBiZSBxdWl0ZSB0eXBpY2FsKS4KIAorSW5zdGVhZCBvZiBydW5uaW5nIGBnaXQgcmVwYWNrYCB5b3UgY2FuIGFsc28gcnVuIGBnaXQgZ2MKKy0tYWdncmVzc2l2ZWAsIHdoaWNoIHdpbGwgYWxzbyBvcHRpbWl6ZSBvdGhlciB0aGluZ3MgYWZ0ZXIgYW4gaW1wb3J0CisoZS5nLiBwYWNrIGxvb3NlIHJlZnMpLiBBcyBub3RlZCBpbiB0aGUgIkFHR1JFU1NJVkUiIHNlY3Rpb24gaW4KK2xpbmtnaXQ6Z2l0LWdjWzFdIHRoZSBgLS1hZ2dyZXNzaXZlYCBvcHRpb24gd2lsbCBmaW5kIG5ldyBkZWx0YXMgd2l0aAordGhlIGAtZmAgb3B0aW9uIHRvIGxpbmtnaXQ6Z2l0LXJlcGFja1sxXS4gRm9yIHRoZSByZWFzb25zIGVsYWJvcmF0ZWQKK29uIGFib3ZlIHVzaW5nIGAtLWFnZ3Jlc3NpdmVgIGFmdGVyIGEgZmFzdC1pbXBvcnQgaXMgb25lIG9mIHRoZSBmZXcKK2Nhc2VzIHdoZXJlIGl0J3Mga25vd24gdG8gYmUgd29ydGh3aGlsZS4KIAogTUVNT1JZIFVUSUxJWkFUSU9OCiAtLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWZldGNoLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWZldGNoLnR4dAppbmRleCBlMzE5OTM1Li41YjE5MDlmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1mZXRjaC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZmV0Y2gudHh0CkBAIC0yNjIsMTEgKzI2MiwxMSBAQAogdGhlIGxvY2FsIHJlcG9zaXRvcnkgYnkgZmV0Y2hpbmcgZnJvbSB0aGUgYnJhbmNoZXMgKHJlc3BlY3RpdmVseSkKIGBwdWAgYW5kIGBtYWludGAgZnJvbSB0aGUgcmVtb3RlIHJlcG9zaXRvcnkuCiArCi1UaGUgYHB1YCBicmFuY2ggd2lsbCBiZSB1cGRhdGVkIGV2ZW4gaWYgaXQgaXMgZG9lcyBub3QgZmFzdC1mb3J3YXJkLAorVGhlIGBwdWAgYnJhbmNoIHdpbGwgYmUgdXBkYXRlZCBldmVuIGlmIGl0IGRvZXMgbm90IGZhc3QtZm9yd2FyZCwKIGJlY2F1c2UgaXQgaXMgcHJlZml4ZWQgd2l0aCBhIHBsdXMgc2lnbjsgYHRtcGAgd2lsbCBub3QgYmUuCiAKICogUGVlayBhdCBhIHJlbW90ZSdzIGJyYW5jaCwgd2l0aG91dCBjb25maWd1cmluZyB0aGUgcmVtb3RlIGluIHlvdXIgbG9jYWwKLXJlcG9zaXRvcnk6CisgIHJlcG9zaXRvcnk6CiArCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICQgZ2l0IGZldGNoIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vZ2l0L2dpdC5naXQgbWFpbnQKQEAgLTI4NSw3ICsyODUsNyBAQAogLS0tLQogVXNpbmcgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgY2FuIG9ubHkgZmV0Y2ggbmV3IGNvbW1pdHMgaW4gYWxyZWFkeSBjaGVja2VkCiBvdXQgc3VibW9kdWxlcyByaWdodCBub3cuIFdoZW4gZS5nLiB1cHN0cmVhbSBhZGRlZCBhIG5ldyBzdWJtb2R1bGUgaW4gdGhlCi1qdXN0IGZldGNoZWQgY29tbWl0cyBvZiB0aGUgc3VwZXJwcm9qZWN0IHRoZSBzdWJtb2R1bGUgaXRzZWxmIGNhbiBub3QgYmUKK2p1c3QgZmV0Y2hlZCBjb21taXRzIG9mIHRoZSBzdXBlcnByb2plY3QgdGhlIHN1Ym1vZHVsZSBpdHNlbGYgY2Fubm90IGJlCiBmZXRjaGVkLCBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBjaGVjayBvdXQgdGhhdCBzdWJtb2R1bGUgbGF0ZXIgd2l0aG91dAogaGF2aW5nIHRvIGRvIGEgZmV0Y2ggYWdhaW4uIFRoaXMgaXMgZXhwZWN0ZWQgdG8gYmUgZml4ZWQgaW4gYSBmdXR1cmUgR2l0CiB2ZXJzaW9uLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtZmlsdGVyLWJyYW5jaC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1maWx0ZXItYnJhbmNoLnR4dAppbmRleCBlNmYwOGFiLi40MGJhNGFhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1maWx0ZXItYnJhbmNoLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1maWx0ZXItYnJhbmNoLnR4dApAQCAtMTYsNiArMTYsMTkgQEAKIAlbLS1vcmlnaW5hbCA8bmFtZXNwYWNlPl0gWy1kIDxkaXJlY3Rvcnk+XSBbLWYgfCAtLWZvcmNlXQogCVstLXN0YXRlLWJyYW5jaCA8YnJhbmNoPl0gWy0tXSBbPHJldi1saXN0IG9wdGlvbnM+Li4uXQogCitXQVJOSU5HCistLS0tLS0tCisnZ2l0IGZpbHRlci1icmFuY2gnIGhhcyBhIHBsZXRob3JhIG9mIHBpdGZhbGxzIHRoYXQgY2FuIHByb2R1Y2Ugbm9uLW9idmlvdXMKK21hbmdsaW5ncyBvZiB0aGUgaW50ZW5kZWQgaGlzdG9yeSByZXdyaXRlIChhbmQgY2FuIGxlYXZlIHlvdSB3aXRoIGxpdHRsZQordGltZSB0byBpbnZlc3RpZ2F0ZSBzdWNoIHByb2JsZW1zIHNpbmNlIGl0IGhhcyBzdWNoIGFieXNtYWwgcGVyZm9ybWFuY2UpLgorVGhlc2Ugc2FmZXR5IGFuZCBwZXJmb3JtYW5jZSBpc3N1ZXMgY2Fubm90IGJlIGJhY2t3YXJkIGNvbXBhdGlibHkgZml4ZWQgYW5kCithcyBzdWNoLCBpdHMgdXNlIGlzIG5vdCByZWNvbW1lbmRlZC4gIFBsZWFzZSB1c2UgYW4gYWx0ZXJuYXRpdmUgaGlzdG9yeQorZmlsdGVyaW5nIHRvb2wgc3VjaCBhcyBodHRwczovL2dpdGh1Yi5jb20vbmV3cmVuL2dpdC1maWx0ZXItcmVwby9bZ2l0CitmaWx0ZXItcmVwb10uICBJZiB5b3Ugc3RpbGwgbmVlZCB0byB1c2UgJ2dpdCBmaWx0ZXItYnJhbmNoJywgcGxlYXNlCitjYXJlZnVsbHkgcmVhZCA8PFNBRkVUWT4+IChhbmQgPDxQRVJGT1JNQU5DRT4+KSB0byBsZWFybiBhYm91dCB0aGUgbGFuZAorbWluZXMgb2YgZmlsdGVyLWJyYW5jaCwgYW5kIHRoZW4gdmlnaWxhbnRseSBhdm9pZCBhcyBtYW55IG9mIHRoZSBoYXphcmRzCitsaXN0ZWQgdGhlcmUgYXMgcmVhc29uYWJseSBwb3NzaWJsZS4KKwogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCiBMZXRzIHlvdSByZXdyaXRlIEdpdCByZXZpc2lvbiBoaXN0b3J5IGJ5IHJld3JpdGluZyB0aGUgYnJhbmNoZXMgbWVudGlvbmVkCkBAIC0xODksNyArMjAyLDcgQEAKIAlyZXdyaXRpbmcuICBXaGVuIGFwcGx5aW5nIGEgdHJlZSBmaWx0ZXIsIHRoZSBjb21tYW5kIG5lZWRzIHRvCiAJdGVtcG9yYXJpbHkgY2hlY2sgb3V0IHRoZSB0cmVlIHRvIHNvbWUgZGlyZWN0b3J5LCB3aGljaCBtYXkgY29uc3VtZQogCWNvbnNpZGVyYWJsZSBzcGFjZSBpbiBjYXNlIG9mIGxhcmdlIHByb2plY3RzLiAgQnkgZGVmYXVsdCBpdAotCWRvZXMgdGhpcyBpbiB0aGUgJy5naXQtcmV3cml0ZS8nIGRpcmVjdG9yeSBidXQgeW91IGNhbiBvdmVycmlkZQorCWRvZXMgdGhpcyBpbiB0aGUgYC5naXQtcmV3cml0ZS9gIGRpcmVjdG9yeSBidXQgeW91IGNhbiBvdmVycmlkZQogCXRoYXQgY2hvaWNlIGJ5IHRoaXMgcGFyYW1ldGVyLgogCiAtZjo6CkBAIC00NDUsMzYgKzQ1OCwyNDUgQEAKICAgKG9yIGlmIHlvdXIgZ2l0LWdjIGlzIG5vdCBuZXcgZW5vdWdoIHRvIHN1cHBvcnQgYXJndW1lbnRzIHRvCiAgIGAtLXBydW5lYCwgdXNlIGBnaXQgcmVwYWNrIC1hZDsgZ2l0IHBydW5lYCBpbnN0ZWFkKS4KIAotTk9URVMKLS0tLS0tCitbW1BFUkZPUk1BTkNFXV0KK1BFUkZPUk1BTkNFCistLS0tLS0tLS0tLQogCi1naXQtZmlsdGVyLWJyYW5jaCBhbGxvd3MgeW91IHRvIG1ha2UgY29tcGxleCBzaGVsbC1zY3JpcHRlZCByZXdyaXRlcwotb2YgeW91ciBHaXQgaGlzdG9yeSwgYnV0IHlvdSBwcm9iYWJseSBkb24ndCBuZWVkIHRoaXMgZmxleGliaWxpdHkgaWYKLXlvdSdyZSBzaW1wbHkgX3JlbW92aW5nIHVud2FudGVkIGRhdGFfIGxpa2UgbGFyZ2UgZmlsZXMgb3IgcGFzc3dvcmRzLgotRm9yIHRob3NlIG9wZXJhdGlvbnMgeW91IG1heSB3YW50IHRvIGNvbnNpZGVyCi1odHRwOi8vcnR5bGV5LmdpdGh1Yi5pby9iZmctcmVwby1jbGVhbmVyL1tUaGUgQkZHIFJlcG8tQ2xlYW5lcl0sCi1hIEpWTS1iYXNlZCBhbHRlcm5hdGl2ZSB0byBnaXQtZmlsdGVyLWJyYW5jaCwgdHlwaWNhbGx5IGF0IGxlYXN0Ci0xMC01MHggZmFzdGVyIGZvciB0aG9zZSB1c2UtY2FzZXMsIGFuZCB3aXRoIHF1aXRlIGRpZmZlcmVudAotY2hhcmFjdGVyaXN0aWNzOgorVGhlIHBlcmZvcm1hbmNlIG9mIGdpdC1maWx0ZXItYnJhbmNoIGlzIGdsYWNpYWxseSBzbG93OyBpdHMgZGVzaWduIG1ha2VzIGl0CitpbXBvc3NpYmxlIGZvciBhIGJhY2t3YXJkLWNvbXBhdGlibGUgaW1wbGVtZW50YXRpb24gdG8gZXZlciBiZSBmYXN0OgogCi0qIEFueSBwYXJ0aWN1bGFyIHZlcnNpb24gb2YgYSBmaWxlIGlzIGNsZWFuZWQgZXhhY3RseSBfb25jZV8uIFRoZSBCRkcsCi0gIHVubGlrZSBnaXQtZmlsdGVyLWJyYW5jaCwgZG9lcyBub3QgZ2l2ZSB5b3UgdGhlIG9wcG9ydHVuaXR5IHRvCi0gIGhhbmRsZSBhIGZpbGUgZGlmZmVyZW50bHkgYmFzZWQgb24gd2hlcmUgb3Igd2hlbiBpdCB3YXMgY29tbWl0dGVkCi0gIHdpdGhpbiB5b3VyIGhpc3RvcnkuIFRoaXMgY29uc3RyYWludCBnaXZlcyB0aGUgY29yZSBwZXJmb3JtYW5jZQotICBiZW5lZml0IG9mIFRoZSBCRkcsIGFuZCBpcyB3ZWxsLXN1aXRlZCB0byB0aGUgdGFzayBvZiBjbGVhbnNpbmcgYmFkCi0gIGRhdGEgLSB5b3UgZG9uJ3QgY2FyZSBfd2hlcmVfIHRoZSBiYWQgZGF0YSBpcywgeW91IGp1c3Qgd2FudCBpdAotICBfZ29uZV8uCisqIEluIGVkaXRpbmcgZmlsZXMsIGdpdC1maWx0ZXItYnJhbmNoIGJ5IGRlc2lnbiBjaGVja3Mgb3V0IGVhY2ggYW5kCisgIGV2ZXJ5IGNvbW1pdCBhcyBpdCBleGlzdGVkIGluIHRoZSBvcmlnaW5hbCByZXBvLiAgSWYgeW91ciByZXBvIGhhcworICBgMTBeNWAgZmlsZXMgYW5kIGAxMF41YCBjb21taXRzLCBidXQgZWFjaCBjb21taXQgb25seSBtb2RpZmllcyBmaXZlCisgIGZpbGVzLCB0aGVuIGdpdC1maWx0ZXItYnJhbmNoIHdpbGwgbWFrZSB5b3UgZG8gYDEwXjEwYCBtb2RpZmljYXRpb25zLAorICBkZXNwaXRlIG9ubHkgaGF2aW5nIChhdCBtb3N0KSBgNSoxMF41YCB1bmlxdWUgYmxvYnMuCiAKLSogQnkgZGVmYXVsdCBUaGUgQkZHIHRha2VzIGZ1bGwgYWR2YW50YWdlIG9mIG11bHRpLWNvcmUgbWFjaGluZXMsCi0gIGNsZWFuc2luZyBjb21taXQgZmlsZS10cmVlcyBpbiBwYXJhbGxlbC4gZ2l0LWZpbHRlci1icmFuY2ggY2xlYW5zCi0gIGNvbW1pdHMgc2VxdWVudGlhbGx5IChpLmUuIGluIGEgc2luZ2xlLXRocmVhZGVkIG1hbm5lciksIHRob3VnaCBpdAotICBfaXNfIHBvc3NpYmxlIHRvIHdyaXRlIGZpbHRlcnMgdGhhdCBpbmNsdWRlIHRoZWlyIG93biBwYXJhbGxlbGlzbSwKLSAgaW4gdGhlIHNjcmlwdHMgZXhlY3V0ZWQgYWdhaW5zdCBlYWNoIGNvbW1pdC4KKyogSWYgeW91IHRyeSBhbmQgY2hlYXQgYW5kIHRyeSB0byBtYWtlIGdpdC1maWx0ZXItYnJhbmNoIG9ubHkgd29yayBvbgorICBmaWxlcyBtb2RpZmllZCBpbiBhIGNvbW1pdCwgdGhlbiB0d28gdGhpbmdzIGhhcHBlbgogCi0qIFRoZSBodHRwOi8vcnR5bGV5LmdpdGh1Yi5pby9iZmctcmVwby1jbGVhbmVyLyNleGFtcGxlc1tjb21tYW5kIG9wdGlvbnNdCi0gIGFyZSBtdWNoIG1vcmUgcmVzdHJpY3RpdmUgdGhhbiBnaXQtZmlsdGVyIGJyYW5jaCwgYW5kIGRlZGljYXRlZCBqdXN0Ci0gIHRvIHRoZSB0YXNrcyBvZiByZW1vdmluZyB1bndhbnRlZCBkYXRhLSBlLmc6Ci0gIGAtLXN0cmlwLWJsb2JzLWJpZ2dlci10aGFuIDFNYC4KKyAgKiogeW91IHJ1biBpbnRvIHByb2JsZW1zIHdpdGggZGVsZXRpb25zIHdoZW5ldmVyIHRoZSB1c2VyIGlzIHNpbXBseQorICAgICB0cnlpbmcgdG8gcmVuYW1lIGZpbGVzIChiZWNhdXNlIGF0dGVtcHRpbmcgdG8gZGVsZXRlIGZpbGVzIHRoYXQKKyAgICAgZG9uJ3QgZXhpc3QgbG9va3MgbGlrZSBhIG5vLW9wOyBpdCB0YWtlcyBzb21lIGNoaWNhbmVyeSB0byByZW1hcAorICAgICBkZWxldGVzIGFjcm9zcyBmaWxlIHJlbmFtZXMgd2hlbiB0aGUgcmVuYW1lcyBoYXBwZW4gdmlhIGFyYml0cmFyeQorICAgICB1c2VyLXByb3ZpZGVkIHNoZWxsKQorCisgICoqIGV2ZW4gaWYgeW91IHN1Y2NlZWQgYXQgdGhlIG1hcC1kZWxldGVzLWZvci1yZW5hbWVzIGNoaWNhbmVyeSwgeW91CisgICAgIHN0aWxsIHRlY2huaWNhbGx5IHZpb2xhdGUgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBiZWNhdXNlIHVzZXJzCisgICAgIGFyZSBhbGxvd2VkIHRvIGZpbHRlciBmaWxlcyBpbiB3YXlzIHRoYXQgZGVwZW5kIHVwb24gdG9wb2xvZ3kgb2YKKyAgICAgY29tbWl0cyBpbnN0ZWFkIG9mIGZpbHRlcmluZyBzb2xlbHkgYmFzZWQgb24gZmlsZSBjb250ZW50cyBvcgorICAgICBuYW1lcyAodGhvdWdoIHRoaXMgaGFzIG5vdCBiZWVuIG9ic2VydmVkIGluIHRoZSB3aWxkKS4KKworKiBFdmVuIGlmIHlvdSBkb24ndCBuZWVkIHRvIGVkaXQgZmlsZXMgYnV0IG9ubHkgd2FudCB0byBlLmcuIHJlbmFtZSBvcgorICByZW1vdmUgc29tZSBhbmQgdGh1cyBjYW4gYXZvaWQgY2hlY2tpbmcgb3V0IGVhY2ggZmlsZSAoaS5lLiB5b3UgY2FuCisgIHVzZSAtLWluZGV4LWZpbHRlciksIHlvdSBzdGlsbCBhcmUgcGFzc2luZyBzaGVsbCBzbmlwcGV0cyBmb3IgeW91cgorICBmaWx0ZXJzLiAgVGhpcyBtZWFucyB0aGF0IGZvciBldmVyeSBjb21taXQsIHlvdSBoYXZlIHRvIGhhdmUgYQorICBwcmVwYXJlZCBnaXQgcmVwbyB3aGVyZSB0aG9zZSBmaWx0ZXJzIGNhbiBiZSBydW4uICBUaGF0J3MgYQorICBzaWduaWZpY2FudCBzZXR1cC4KKworKiBGdXJ0aGVyLCBzZXZlcmFsIGFkZGl0aW9uYWwgZmlsZXMgYXJlIGNyZWF0ZWQgb3IgdXBkYXRlZCBwZXIgY29tbWl0CisgIGJ5IGdpdC1maWx0ZXItYnJhbmNoLiAgU29tZSBvZiB0aGVzZSBhcmUgZm9yIHN1cHBvcnRpbmcgdGhlCisgIGNvbnZlbmllbmNlIGZ1bmN0aW9ucyBwcm92aWRlZCBieSBnaXQtZmlsdGVyLWJyYW5jaCAoc3VjaCBhcyBtYXAoKSksCisgIHdoaWxlIG90aGVycyBhcmUgZm9yIGtlZXBpbmcgdHJhY2sgb2YgaW50ZXJuYWwgc3RhdGUgKGJ1dCBjb3VsZCBoYXZlCisgIGFsc28gYmVlbiBhY2Nlc3NlZCBieSB1c2VyIGZpbHRlcnM7IG9uZSBvZiBnaXQtZmlsdGVyLWJyYW5jaCdzCisgIHJlZ3Jlc3Npb24gdGVzdHMgZG9lcyBzbykuICBUaGlzIGVzc2VudGlhbGx5IGFtb3VudHMgdG8gdXNpbmcgdGhlCisgIGZpbGVzeXN0ZW0gYXMgYW4gSVBDIG1lY2hhbmlzbSBiZXR3ZWVuIGdpdC1maWx0ZXItYnJhbmNoIGFuZCB0aGUKKyAgdXNlci1wcm92aWRlZCBmaWx0ZXJzLiAgRGlza3MgdGVuZCB0byBiZSBhIHNsb3cgSVBDIG1lY2hhbmlzbSwgYW5kCisgIHdyaXRpbmcgdGhlc2UgZmlsZXMgYWxzbyBlZmZlY3RpdmVseSByZXByZXNlbnRzIGEgZm9yY2VkCisgIHN5bmNocm9uaXphdGlvbiBwb2ludCBiZXR3ZWVuIHNlcGFyYXRlIHByb2Nlc3NlcyB0aGF0IHdlIGhpdCB3aXRoCisgIGV2ZXJ5IGNvbW1pdC4KKworKiBUaGUgdXNlci1wcm92aWRlZCBzaGVsbCBjb21tYW5kcyB3aWxsIGxpa2VseSBpbnZvbHZlIGEgcGlwZWxpbmUgb2YKKyAgY29tbWFuZHMsIHJlc3VsdGluZyBpbiB0aGUgY3JlYXRpb24gb2YgbWFueSBwcm9jZXNzZXMgcGVyIGNvbW1pdC4KKyAgQ3JlYXRpbmcgYW5kIHJ1bm5pbmcgYW5vdGhlciBwcm9jZXNzIHRha2VzIGEgd2lkZWx5IHZhcnlpbmcgYW1vdW50CisgIG9mIHRpbWUgYmV0d2VlbiBvcGVyYXRpbmcgc3lzdGVtcywgYnV0IG9uIGFueSBwbGF0Zm9ybSBpdCBpcyB2ZXJ5CisgIHNsb3cgcmVsYXRpdmUgdG8gaW52b2tpbmcgYSBmdW5jdGlvbi4KKworKiBnaXQtZmlsdGVyLWJyYW5jaCBpdHNlbGYgaXMgd3JpdHRlbiBpbiBzaGVsbCwgd2hpY2ggaXMga2luZCBvZiBzbG93LgorICBUaGlzIGlzIHRoZSBvbmUgcGVyZm9ybWFuY2UgaXNzdWUgdGhhdCBjb3VsZCBiZSBiYWNrd2FyZC1jb21wYXRpYmx5CisgIGZpeGVkLCBidXQgY29tcGFyZWQgdG8gdGhlIGFib3ZlIHByb2JsZW1zIHRoYXQgYXJlIGludHJpbnNpYyB0byB0aGUKKyAgZGVzaWduIG9mIGdpdC1maWx0ZXItYnJhbmNoLCB0aGUgbGFuZ3VhZ2Ugb2YgdGhlIHRvb2wgaXRzZWxmIGlzIGEKKyAgcmVsYXRpdmVseSBtaW5vciBpc3N1ZS4KKworICAqKiBTaWRlIG5vdGU6IFVuZm9ydHVuYXRlbHksIHBlb3BsZSB0ZW5kIHRvIGZpeGF0ZSBvbiB0aGUKKyAgICAgd3JpdHRlbi1pbi1zaGVsbCBhc3BlY3QgYW5kIHBlcmlvZGljYWxseSBhc2sgaWYgZ2l0LWZpbHRlci1icmFuY2gKKyAgICAgY291bGQgYmUgcmV3cml0dGVuIGluIGFub3RoZXIgbGFuZ3VhZ2UgdG8gZml4IHRoZSBwZXJmb3JtYW5jZQorICAgICBpc3N1ZXMuICBOb3Qgb25seSBkb2VzIHRoYXQgaWdub3JlIHRoZSBiaWdnZXIgaW50cmluc2ljIHByb2JsZW1zCisgICAgIHdpdGggdGhlIGRlc2lnbiwgaXQnZCBoZWxwIGxlc3MgdGhhbiB5b3UnZCBleHBlY3Q6IGlmCisgICAgIGdpdC1maWx0ZXItYnJhbmNoIGl0c2VsZiB3ZXJlIG5vdCBzaGVsbCwgdGhlbiB0aGUgY29udmVuaWVuY2UKKyAgICAgZnVuY3Rpb25zIChtYXAoKSwgc2tpcF9jb21taXQoKSwgZXRjKSBhbmQgdGhlIGAtLXNldHVwYCBhcmd1bWVudAorICAgICBjb3VsZCBubyBsb25nZXIgYmUgZXhlY3V0ZWQgb25jZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwcm9ncmFtCisgICAgIGJ1dCB3b3VsZCBpbnN0ZWFkIG5lZWQgdG8gYmUgcHJlcGVuZGVkIHRvIGV2ZXJ5IHVzZXIgZmlsdGVyIChhbmQKKyAgICAgdGh1cyByZS1leGVjdXRlZCB3aXRoIGV2ZXJ5IGNvbW1pdCkuCisKK1RoZSBodHRwczovL2dpdGh1Yi5jb20vbmV3cmVuL2dpdC1maWx0ZXItcmVwby9bZ2l0IGZpbHRlci1yZXBvXSB0b29sIGlzCithbiBhbHRlcm5hdGl2ZSB0byBnaXQtZmlsdGVyLWJyYW5jaCB3aGljaCBkb2VzIG5vdCBzdWZmZXIgZnJvbSB0aGVzZQorcGVyZm9ybWFuY2UgcHJvYmxlbXMgb3IgdGhlIHNhZmV0eSBwcm9ibGVtcyAobWVudGlvbmVkIGJlbG93KS4gRm9yIHRob3NlCit3aXRoIGV4aXN0aW5nIHRvb2xpbmcgd2hpY2ggcmVsaWVzIHVwb24gZ2l0LWZpbHRlci1icmFuY2gsICdnaXQKK3JlcG8tZmlsdGVyJyBhbHNvIHByb3ZpZGVzCitodHRwczovL2dpdGh1Yi5jb20vbmV3cmVuL2dpdC1maWx0ZXItcmVwby9ibG9iL21hc3Rlci9jb250cmliL2ZpbHRlci1yZXBvLWRlbW9zL2ZpbHRlci1sYW1lbHlbZmlsdGVyLWxhbWVseV0sCithIGRyb3AtaW4gZ2l0LWZpbHRlci1icmFuY2ggcmVwbGFjZW1lbnQgKHdpdGggYSBmZXcgY2F2ZWF0cykuICBXaGlsZQorZmlsdGVyLWxhbWVseSBzdWZmZXJzIGZyb20gYWxsIHRoZSBzYW1lIHNhZmV0eSBpc3N1ZXMgYXMKK2dpdC1maWx0ZXItYnJhbmNoLCBpdCBhdCBsZWFzdCBhbWVsaW9yYXRlcyB0aGUgcGVyZm9ybWFuY2UgaXNzdWVzIGEKK2xpdHRsZS4KKworW1tTQUZFVFldXQorU0FGRVRZCistLS0tLS0KKworZ2l0LWZpbHRlci1icmFuY2ggaXMgcmlkZGxlZCB3aXRoIGdvdGNoYXMgcmVzdWx0aW5nIGluIHZhcmlvdXMgd2F5cyB0bworZWFzaWx5IGNvcnJ1cHQgcmVwb3Mgb3IgZW5kIHVwIHdpdGggYSBtZXNzIHdvcnNlIHRoYW4gd2hhdCB5b3Ugc3RhcnRlZAord2l0aDoKKworKiBTb21lb25lIGNhbiBoYXZlIGEgc2V0IG9mICJ3b3JraW5nIGFuZCB0ZXN0ZWQgZmlsdGVycyIgd2hpY2ggdGhleQorICBkb2N1bWVudCBvciBwcm92aWRlIHRvIGEgY293b3JrZXIsIHdobyB0aGVuIHJ1bnMgdGhlbSBvbiBhIGRpZmZlcmVudAorICBPUyB3aGVyZSB0aGUgc2FtZSBjb21tYW5kcyBhcmUgbm90IHdvcmtpbmcvdGVzdGVkIChzb21lIGV4YW1wbGVzIGluCisgIHRoZSBnaXQtZmlsdGVyLWJyYW5jaCBtYW5wYWdlIGFyZSBhbHNvIGFmZmVjdGVkIGJ5IHRoaXMpLgorICBCU0QgdnMuIEdOVSB1c2VybGFuZCBkaWZmZXJlbmNlcyBjYW4gcmVhbGx5IGJpdGUuICBJZiBsdWNreSwgZXJyb3IKKyAgbWVzc2FnZXMgYXJlIHNwZXdlZC4gIEJ1dCBqdXN0IGFzIGxpa2VseSwgdGhlIGNvbW1hbmRzIGVpdGhlciBkb24ndAorICBkbyB0aGUgZmlsdGVyaW5nIHJlcXVlc3RlZCwgb3Igc2lsZW50bHkgY29ycnVwdCBieSBtYWtpbmcgc29tZQorICB1bndhbnRlZCBjaGFuZ2UuICBUaGUgdW53YW50ZWQgY2hhbmdlIG1heSBvbmx5IGFmZmVjdCBhIGZldyBjb21taXRzLAorICBzbyBpdCdzIG5vdCBuZWNlc3NhcmlseSBvYnZpb3VzIGVpdGhlci4gIChUaGUgZmFjdCB0aGF0IHByb2JsZW1zCisgIHdvbid0IG5lY2Vzc2FyaWx5IGJlIG9idmlvdXMgbWVhbnMgdGhleSBhcmUgbGlrZWx5IHRvIGdvIHVubm90aWNlZAorICB1bnRpbCB0aGUgcmV3cml0dGVuIGhpc3RvcnkgaXMgaW4gdXNlIGZvciBxdWl0ZSBhIHdoaWxlLCBhdCB3aGljaAorICBwb2ludCBpdCdzIHJlYWxseSBoYXJkIHRvIGp1c3RpZnkgYW5vdGhlciBmbGFnLWRheSBmb3IgYW5vdGhlcgorICByZXdyaXRlLikKKworKiBGaWxlbmFtZXMgd2l0aCBzcGFjZXMgYXJlIG9mdGVuIG1pc2hhbmRsZWQgYnkgc2hlbGwgc25pcHBldHMgc2luY2UKKyAgdGhleSBjYXVzZSBwcm9ibGVtcyBmb3Igc2hlbGwgcGlwZWxpbmVzLiAgTm90IGV2ZXJ5b25lIGlzIGZhbWlsaWFyCisgIHdpdGggZmluZCAtcHJpbnQwLCB4YXJncyAtMCwgZ2l0LWxzLWZpbGVzIC16LCBldGMuICBFdmVuIHBlb3BsZSB3aG8KKyAgYXJlIGZhbWlsaWFyIHdpdGggdGhlc2UgbWF5IGFzc3VtZSBzdWNoIGZsYWdzIGFyZSBub3QgcmVsZXZhbnQKKyAgYmVjYXVzZSBzb21lb25lIGVsc2UgcmVuYW1lZCBhbnkgc3VjaCBmaWxlcyBpbiB0aGVpciByZXBvIGJhY2sKKyAgYmVmb3JlIHRoZSBwZXJzb24gZG9pbmcgdGhlIGZpbHRlcmluZyBqb2luZWQgdGhlIHByb2plY3QuICBBbmQKKyAgb2Z0ZW4sIGV2ZW4gdGhvc2UgZmFtaWxpYXIgd2l0aCBoYW5kbGluZyBhcmd1bWVudHMgd2l0aCBzcGFjZXMgbWF5CisgIG5vdCBkbyBzbyBqdXN0IGJlY2F1c2UgdGhleSBhcmVuJ3QgaW4gdGhlIG1pbmRzZXQgb2YgdGhpbmtpbmcgYWJvdXQKKyAgZXZlcnl0aGluZyB0aGF0IGNvdWxkIHBvc3NpYmx5IGdvIHdyb25nLgorCisqIE5vbi1hc2NpaSBmaWxlbmFtZXMgY2FuIGJlIHNpbGVudGx5IHJlbW92ZWQgZGVzcGl0ZSBiZWluZyBpbiBhCisgIGRlc2lyZWQgZGlyZWN0b3J5LiAgS2VlcGluZyBvbmx5IHdhbnRlZCBwYXRocyBpcyBvZnRlbiBkb25lIHVzaW5nCisgIHBpcGVsaW5lcyBsaWtlIGBnaXQgbHMtZmlsZXMgfCBncmVwIC12IF5XQU5URURfRElSLyB8IHhhcmdzIGdpdCBybWAuCisgIGxzLWZpbGVzIHdpbGwgb25seSBxdW90ZSBmaWxlbmFtZXMgaWYgbmVlZGVkLCBzbyBmb2xrcyBtYXkgbm90CisgIG5vdGljZSB0aGF0IG9uZSBvZiB0aGUgZmlsZXMgZGlkbid0IG1hdGNoIHRoZSByZWdleCAoYXQgbGVhc3Qgbm90CisgIHVudGlsIGl0J3MgbXVjaCB0b28gbGF0ZSkuICBZZXMsIHNvbWVvbmUgd2hvIGtub3dzIGFib3V0CisgIGNvcmUucXVvdGVQYXRoIGNhbiBhdm9pZCB0aGlzICh1bmxlc3MgdGhleSBoYXZlIG90aGVyIHNwZWNpYWwKKyAgY2hhcmFjdGVycyBsaWtlIFx0LCBcbiwgb3IgIiksIGFuZCBwZW9wbGUgd2hvIHVzZSBscy1maWxlcyAteiB3aXRoCisgIHNvbWV0aGluZyBvdGhlciB0aGFuIGdyZXAgY2FuIGF2b2lkIHRoaXMsIGJ1dCB0aGF0IGRvZXNuJ3QgbWVhbiB0aGV5CisgIHdpbGwuCisKKyogU2ltaWxhcmx5LCB3aGVuIG1vdmluZyBmaWxlcyBhcm91bmQsIG9uZSBjYW4gZmluZCB0aGF0IGZpbGVuYW1lcworICB3aXRoIG5vbi1hc2NpaSBvciBzcGVjaWFsIGNoYXJhY3RlcnMgZW5kIHVwIGluIGEgZGlmZmVyZW50CisgIGRpcmVjdG9yeSwgb25lIHRoYXQgaW5jbHVkZXMgYSBkb3VibGUgcXVvdGUgY2hhcmFjdGVyLiAgKFRoaXMgaXMKKyAgdGVjaG5pY2FsbHkgdGhlIHNhbWUgaXNzdWUgYXMgYWJvdmUgd2l0aCBxdW90aW5nLCBidXQgcGVyaGFwcyBhbgorICBpbnRlcmVzdGluZyBkaWZmZXJlbnQgd2F5IHRoYXQgaXQgY2FuIGFuZCBoYXMgbWFuaWZlc3RlZCBhcyBhCisgIHByb2JsZW0uKQorCisqIEl0J3MgZmFyIHRvbyBlYXN5IHRvIGFjY2lkZW50YWxseSBtaXggdXAgb2xkIGFuZCBuZXcgaGlzdG9yeS4gIEl0J3MKKyAgc3RpbGwgcG9zc2libGUgd2l0aCBhbnkgdG9vbCwgYnV0IGdpdC1maWx0ZXItYnJhbmNoIGFsbW9zdAorICBpbnZpdGVzIGl0LiAgSWYgbHVja3ksIHRoZSBvbmx5IGRvd25zaWRlIGlzIHVzZXJzIGdldHRpbmcgZnJ1c3RyYXRlZAorICB0aGF0IHRoZXkgZG9uJ3Qga25vdyBob3cgdG8gc2hyaW5rIHRoZWlyIHJlcG8gYW5kIHJlbW92ZSB0aGUgb2xkCisgIHN0dWZmLiAgSWYgdW5sdWNreSwgdGhleSBtZXJnZSBvbGQgYW5kIG5ldyBoaXN0b3J5IGFuZCBlbmQgdXAgd2l0aAorICBtdWx0aXBsZSAiY29waWVzIiBvZiBlYWNoIGNvbW1pdCwgc29tZSBvZiB3aGljaCBoYXZlIHVud2FudGVkIG9yCisgIHNlbnNpdGl2ZSBmaWxlcyBhbmQgb3RoZXJzIHdoaWNoIGRvbid0LiAgVGhpcyBjb21lcyBhYm91dCBpbgorICBtdWx0aXBsZSBkaWZmZXJlbnQgd2F5czoKKworICAqKiB0aGUgZGVmYXVsdCB0byBvbmx5IGRvaW5nIGEgcGFydGlhbCBoaXN0b3J5IHJld3JpdGUgKCctLWFsbCcgaXMgbm90CisgICAgIHRoZSBkZWZhdWx0IGFuZCBmZXcgZXhhbXBsZXMgc2hvdyBpdCkKKworICAqKiB0aGUgZmFjdCB0aGF0IHRoZXJlJ3Mgbm8gYXV0b21hdGljIHBvc3QtcnVuIGNsZWFudXAKKworICAqKiB0aGUgZmFjdCB0aGF0IC0tdGFnLW5hbWUtZmlsdGVyICh3aGVuIHVzZWQgdG8gcmVuYW1lIHRhZ3MpIGRvZXNuJ3QKKyAgICAgcmVtb3ZlIHRoZSBvbGQgdGFncyBidXQganVzdCBhZGRzIG5ldyBvbmVzIHdpdGggdGhlIG5ldyBuYW1lCisKKyAgKiogdGhlIGZhY3QgdGhhdCBsaXR0bGUgZWR1Y2F0aW9uYWwgaW5mb3JtYXRpb24gaXMgcHJvdmlkZWQgdG8gaW5mb3JtCisgICAgIHVzZXJzIG9mIHRoZSByYW1pZmljYXRpb25zIG9mIGEgcmV3cml0ZSBhbmQgaG93IHRvIGF2b2lkIG1peGluZyBvbGQKKyAgICAgYW5kIG5ldyBoaXN0b3J5LiAgRm9yIGV4YW1wbGUsIHRoaXMgbWFuIHBhZ2UgZGlzY3Vzc2VzIGhvdyB1c2VycworICAgICBuZWVkIHRvIHVuZGVyc3RhbmQgdGhhdCB0aGV5IG5lZWQgdG8gcmViYXNlIHRoZWlyIGNoYW5nZXMgZm9yIGFsbAorICAgICB0aGVpciBicmFuY2hlcyBvbiB0b3Agb2YgbmV3IGhpc3RvcnkgKG9yIGRlbGV0ZSBhbmQgcmVjbG9uZSksIGJ1dAorICAgICB0aGF0J3Mgb25seSBvbmUgb2YgbXVsdGlwbGUgY29uY2VybnMgdG8gY29uc2lkZXIuICBTZWUgdGhlCisgICAgICJESVNDVVNTSU9OIiBzZWN0aW9uIG9mIHRoZSBnaXQgZmlsdGVyLXJlcG8gbWFudWFsIHBhZ2UgZm9yIG1vcmUKKyAgICAgZGV0YWlscy4KKworKiBBbm5vdGF0ZWQgdGFncyBjYW4gYmUgYWNjaWRlbnRhbGx5IGNvbnZlcnRlZCB0byBsaWdodHdlaWdodCB0YWdzLAorICBkdWUgdG8gZWl0aGVyIG9mIHR3byBpc3N1ZXM6CisKKyAgKiogU29tZW9uZSBjYW4gZG8gYSBoaXN0b3J5IHJld3JpdGUsIHJlYWxpemUgdGhleSBtZXNzZWQgdXAsIHJlc3RvcmUKKyAgICAgZnJvbSB0aGUgYmFja3VwcyBpbiByZWZzL29yaWdpbmFsLywgYW5kIHRoZW4gcmVkbyB0aGVpcgorICAgICBnaXQtZmlsdGVyLWJyYW5jaCBjb21tYW5kLiAgKFRoZSBiYWNrdXAgaW4gcmVmcy9vcmlnaW5hbC8gaXMgbm90IGEKKyAgICAgcmVhbCBiYWNrdXA7IGl0IGRlcmVmZXJlbmNlcyB0YWdzIGZpcnN0LikKKworICAqKiBSdW5uaW5nIGdpdC1maWx0ZXItYnJhbmNoIHdpdGggZWl0aGVyIC0tdGFncyBvciAtLWFsbCBpbiB5b3VyCisgICAgIDxyZXYtbGlzdCBvcHRpb25zPi4gIEluIG9yZGVyIHRvIHJldGFpbiBhbm5vdGF0ZWQgdGFncyBhcworICAgICBhbm5vdGF0ZWQsIHlvdSBtdXN0IHVzZSAtLXRhZy1uYW1lLWZpbHRlciAoYW5kIG11c3Qgbm90IGhhdmUKKyAgICAgcmVzdG9yZWQgZnJvbSByZWZzL29yaWdpbmFsLyBpbiBhIHByZXZpb3VzbHkgYm90Y2hlZCByZXdyaXRlKS4KKworKiBBbnkgY29tbWl0IG1lc3NhZ2VzIHRoYXQgc3BlY2lmeSBhbiBlbmNvZGluZyB3aWxsIGJlY29tZSBjb3JydXB0ZWQKKyAgYnkgdGhlIHJld3JpdGU7IGdpdC1maWx0ZXItYnJhbmNoIGlnbm9yZXMgdGhlIGVuY29kaW5nLCB0YWtlcyB0aGUKKyAgb3JpZ2luYWwgYnl0ZXMsIGFuZCBmZWVkcyBpdCB0byBjb21taXQtdHJlZSB3aXRob3V0IHRlbGxpbmcgaXQgdGhlCisgIHByb3BlciBlbmNvZGluZy4gIChUaGlzIGhhcHBlbnMgd2hldGhlciBvciBub3QgLS1tc2ctZmlsdGVyIGlzCisgIHVzZWQuKQorCisqIENvbW1pdCBtZXNzYWdlcyAoZXZlbiBpZiB0aGV5IGFyZSBhbGwgVVRGLTgpIGJ5IGRlZmF1bHQgYmVjb21lCisgIGNvcnJ1cHRlZCBkdWUgdG8gbm90IGJlaW5nIHVwZGF0ZWQgLS0gYW55IHJlZmVyZW5jZXMgdG8gb3RoZXIgY29tbWl0CisgIGhhc2hlcyBpbiBjb21taXQgbWVzc2FnZXMgd2lsbCBub3cgcmVmZXIgdG8gbm8tbG9uZ2VyLWV4dGFudAorICBjb21taXRzLgorCisqIFRoZXJlIGFyZSBubyBmYWNpbGl0aWVzIGZvciBoZWxwaW5nIHVzZXJzIGZpbmQgd2hhdCB1bndhbnRlZCBjcnVkCisgIHRoZXkgc2hvdWxkIGRlbGV0ZSwgd2hpY2ggbWVhbnMgdGhleSBhcmUgbXVjaCBtb3JlIGxpa2VseSB0byBoYXZlCisgIGluY29tcGxldGUgb3IgcGFydGlhbCBjbGVhbnVwcyB0aGF0IHNvbWV0aW1lcyByZXN1bHQgaW4gY29uZnVzaW9uCisgIGFuZCBwZW9wbGUgd2FzdGluZyB0aW1lIHRyeWluZyB0byB1bmRlcnN0YW5kLiAgKEZvciBleGFtcGxlLCBmb2xrcworICB0ZW5kIHRvIGp1c3QgbG9vayBmb3IgYmlnIGZpbGVzIHRvIGRlbGV0ZSBpbnN0ZWFkIG9mIGJpZyBkaXJlY3RvcmllcworICBvciBleHRlbnNpb25zLCBhbmQgb25jZSB0aGV5IGRvIHNvLCB0aGVuIHNvbWV0aW1lIGxhdGVyIGZvbGtzIHVzaW5nCisgIHRoZSBuZXcgcmVwb3NpdG9yeSB3aG8gYXJlIGdvaW5nIHRocm91Z2ggaGlzdG9yeSB3aWxsIG5vdGljZSBhIGJ1aWxkCisgIGFydGlmYWN0IGRpcmVjdG9yeSB0aGF0IGhhcyBzb21lIGZpbGVzIGJ1dCBub3Qgb3RoZXJzLCBvciBhIGNhY2hlIG9mCisgIGRlcGVuZGVuY2llcyAobm9kZV9tb2R1bGVzIG9yIHNpbWlsYXIpIHdoaWNoIGNvdWxkbid0IGhhdmUgZXZlciBiZWVuCisgIGZ1bmN0aW9uYWwgc2luY2UgaXQncyBtaXNzaW5nIHNvbWUgZmlsZXMuKQorCisqIElmIC0tcHJ1bmUtZW1wdHkgaXNuJ3Qgc3BlY2lmaWVkLCB0aGVuIHRoZSBmaWx0ZXJpbmcgcHJvY2VzcyBjYW4KKyAgY3JlYXRlIGhvYXJkcyBvZiBjb25mdXNpbmcgZW1wdHkgY29tbWl0cworCisqIElmIC0tcHJ1bmUtZW1wdHkgaXMgc3BlY2lmaWVkLCB0aGVuIGludGVudGlvbmFsbHkgcGxhY2VkIGVtcHR5CisgIGNvbW1pdHMgZnJvbSBiZWZvcmUgdGhlIGZpbHRlcmluZyBvcGVyYXRpb24gYXJlIGFsc28gcHJ1bmVkIGluc3RlYWQKKyAgb2YganVzdCBwcnVuaW5nIGNvbW1pdHMgdGhhdCBiZWNhbWUgZW1wdHkgZHVlIHRvIGZpbHRlcmluZyBydWxlcy4KKworKiBJZiAtLXBydW5lLWVtcHR5IGlzIHNwZWNpZmllZCwgc29tZXRpbWVzIGVtcHR5IGNvbW1pdHMgYXJlIG1pc3NlZAorICBhbmQgbGVmdCBhcm91bmQgYW55d2F5IChhIHNvbWV3aGF0IHJhcmUgYnVnLCBidXQgaXQgaGFwcGVucy4uLikKKworKiBBIG1pbm9yIGlzc3VlLCBidXQgdXNlcnMgd2hvIGhhdmUgYSBnb2FsIHRvIHVwZGF0ZSBhbGwgbmFtZXMgYW5kCisgIGVtYWlscyBpbiBhIHJlcG9zaXRvcnkgbWF5IGJlIGxlZCB0byAtLWVudi1maWx0ZXIgd2hpY2ggd2lsbCBvbmx5CisgIHVwZGF0ZSBhdXRob3JzIGFuZCBjb21taXR0ZXJzLCBtaXNzaW5nIHRhZ2dlcnMuCisKKyogSWYgdGhlIHVzZXIgcHJvdmlkZXMgYSAtLXRhZy1uYW1lLWZpbHRlciB0aGF0IG1hcHMgbXVsdGlwbGUgdGFncyB0bworICB0aGUgc2FtZSBuYW1lLCBubyB3YXJuaW5nIG9yIGVycm9yIGlzIHByb3ZpZGVkOyBnaXQtZmlsdGVyLWJyYW5jaAorICBzaW1wbHkgb3ZlcndyaXRlcyBlYWNoIHRhZyBpbiBzb21lIHVuZG9jdW1lbnRlZCBwcmUtZGVmaW5lZCBvcmRlcgorICByZXN1bHRpbmcgaW4gb25seSBvbmUgdGFnIGF0IHRoZSBlbmQuICAoQSBnaXQtZmlsdGVyLWJyYW5jaAorICByZWdyZXNzaW9uIHRlc3QgcmVxdWlyZXMgdGhpcyBzdXJwcmlzaW5nIGJlaGF2aW9yLikKKworQWxzbywgdGhlIHBvb3IgcGVyZm9ybWFuY2Ugb2YgZ2l0LWZpbHRlci1icmFuY2ggb2Z0ZW4gbGVhZHMgdG8gc2FmZXR5Citpc3N1ZXM6CisKKyogQ29taW5nIHVwIHdpdGggdGhlIGNvcnJlY3Qgc2hlbGwgc25pcHBldCB0byBkbyB0aGUgZmlsdGVyaW5nIHlvdQorICB3YW50IGlzIHNvbWV0aW1lcyBkaWZmaWN1bHQgdW5sZXNzIHlvdSdyZSBqdXN0IGRvaW5nIGEgdHJpdmlhbAorICBtb2RpZmljYXRpb24gc3VjaCBhcyBkZWxldGluZyBhIGNvdXBsZSBmaWxlcy4gIFVuZm9ydHVuYXRlbHksIHBlb3BsZQorICBvZnRlbiBsZWFybiBpZiB0aGUgc25pcHBldCBpcyByaWdodCBvciB3cm9uZyBieSB0cnlpbmcgaXQgb3V0LCBidXQKKyAgdGhlIHJpZ2h0bmVzcyBvciB3cm9uZ25lc3MgY2FuIHZhcnkgZGVwZW5kaW5nIG9uIHNwZWNpYWwKKyAgY2lyY3Vtc3RhbmNlcyAoc3BhY2VzIGluIGZpbGVuYW1lcywgbm9uLWFzY2lpIGZpbGVuYW1lcywgZnVubnkKKyAgYXV0aG9yIG5hbWVzIG9yIGVtYWlscywgaW52YWxpZCB0aW1lem9uZXMsIHByZXNlbmNlIG9mIGdyYWZ0cyBvcgorICByZXBsYWNlIG9iamVjdHMsIGV0Yy4pLCBtZWFuaW5nIHRoZXkgbWF5IGhhdmUgdG8gd2FpdCBhIGxvbmcgdGltZSwKKyAgaGl0IGFuIGVycm9yLCB0aGVuIHJlc3RhcnQuICBUaGUgcGVyZm9ybWFuY2Ugb2YgZ2l0LWZpbHRlci1icmFuY2ggaXMKKyAgc28gYmFkIHRoYXQgdGhpcyBjeWNsZSBpcyBwYWluZnVsLCByZWR1Y2luZyB0aGUgdGltZSBhdmFpbGFibGUgdG8KKyAgY2FyZWZ1bGx5IHJlLWNoZWNrICh0byBzYXkgbm90aGluZyBhYm91dCB3aGF0IGl0IGRvZXMgdG8gdGhlCisgIHBhdGllbmNlIG9mIHRoZSBwZXJzb24gZG9pbmcgdGhlIHJld3JpdGUgZXZlbiBpZiB0aGV5IGRvIHRlY2huaWNhbGx5CisgIGhhdmUgbW9yZSB0aW1lIGF2YWlsYWJsZSkuICBUaGlzIHByb2JsZW0gaXMgZXh0cmEgY29tcG91bmRlZCBiZWNhdXNlCisgIGVycm9ycyBmcm9tIGJyb2tlbiBmaWx0ZXJzIG1heSBub3QgYmUgc2hvd24gZm9yIGEgbG9uZyB0aW1lIGFuZC9vcgorICBnZXQgbG9zdCBpbiBhIHNlYSBvZiBvdXRwdXQuICBFdmVuIHdvcnNlLCBicm9rZW4gZmlsdGVycyBvZnRlbiBqdXN0CisgIHJlc3VsdCBpbiBzaWxlbnQgaW5jb3JyZWN0IHJld3JpdGVzLgorCisqIFRvIHRvcCBpdCBhbGwgb2ZmLCBldmVuIHdoZW4gdXNlcnMgZmluYWxseSBmaW5kIHdvcmtpbmcgY29tbWFuZHMsCisgIHRoZXkgbmF0dXJhbGx5IHdhbnQgdG8gc2hhcmUgdGhlbS4gIEJ1dCB0aGV5IG1heSBiZSB1bmF3YXJlIHRoYXQKKyAgdGhlaXIgcmVwbyBkaWRuJ3QgaGF2ZSBzb21lIHNwZWNpYWwgY2FzZXMgdGhhdCBzb21lb25lIGVsc2UncyBkb2VzLgorICBTbywgd2hlbiBzb21lb25lIGVsc2Ugd2l0aCBhIGRpZmZlcmVudCByZXBvc2l0b3J5IHJ1bnMgdGhlIHNhbWUKKyAgY29tbWFuZHMsIHRoZXkgZ2V0IGhpdCBieSB0aGUgcHJvYmxlbXMgYWJvdmUuICBPciwgdGhlIHVzZXIganVzdAorICBydW5zIGNvbW1hbmRzIHRoYXQgcmVhbGx5IHdlcmUgdmV0dGVkIGZvciBzcGVjaWFsIGNhc2VzLCBidXQgdGhleQorICBydW4gaXQgb24gYSBkaWZmZXJlbnQgT1Mgd2hlcmUgaXQgZG9lc24ndCB3b3JrLCBhcyBub3RlZCBhYm92ZS4KIAogR0lUCiAtLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWZvci1lYWNoLXJlZi50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1mb3ItZWFjaC1yZWYudHh0CmluZGV4IDkwMWZhZWYuLjZkY2QzOWYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWZvci1lYWNoLXJlZi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZm9yLWVhY2gtcmVmLnR4dApAQCAtMTI4LDEzICsxMjgsMTggQEAKIAogb2JqZWN0c2l6ZTo6CiAJVGhlIHNpemUgb2YgdGhlIG9iamVjdCAodGhlIHNhbWUgYXMgJ2dpdCBjYXQtZmlsZSAtcycgcmVwb3J0cykuCi0KKwlBcHBlbmQgYDpkaXNrYCB0byBnZXQgdGhlIHNpemUsIGluIGJ5dGVzLCB0aGF0IHRoZSBvYmplY3QgdGFrZXMgdXAgb24KKwlkaXNrLiBTZWUgdGhlIG5vdGUgYWJvdXQgb24tZGlzayBzaXplcyBpbiB0aGUgYENBVkVBVFNgIHNlY3Rpb24gYmVsb3cuCiBvYmplY3RuYW1lOjoKIAlUaGUgb2JqZWN0IG5hbWUgKGFrYSBTSEEtMSkuCiAJRm9yIGEgbm9uLWFtYmlndW91cyBhYmJyZXZpYXRpb24gb2YgdGhlIG9iamVjdCBuYW1lIGFwcGVuZCBgOnNob3J0YC4KIAlGb3IgYW4gYWJicmV2aWF0aW9uIG9mIHRoZSBvYmplY3QgbmFtZSB3aXRoIGRlc2lyZWQgbGVuZ3RoIGFwcGVuZAogCWA6c2hvcnQ9PGxlbmd0aD5gLCB3aGVyZSB0aGUgbWluaW11bSBsZW5ndGggaXMgTUlOSU1VTV9BQkJSRVYuIFRoZQogCWxlbmd0aCBtYXkgYmUgZXhjZWVkZWQgdG8gZW5zdXJlIHVuaXF1ZSBvYmplY3QgbmFtZXMuCitkZWx0YWJhc2U6OgorCVRoaXMgZXhwYW5kcyB0byB0aGUgb2JqZWN0IG5hbWUgb2YgdGhlIGRlbHRhIGJhc2UgZm9yIHRoZQorCWdpdmVuIG9iamVjdCwgaWYgaXQgaXMgc3RvcmVkIGFzIGEgZGVsdGEuICBPdGhlcndpc2UgaXQKKwlleHBhbmRzIHRvIHRoZSBudWxsIG9iamVjdCBuYW1lIChhbGwgemVyb2VzKS4KIAogdXBzdHJlYW06OgogCVRoZSBuYW1lIG9mIGEgbG9jYWwgcmVmIHdoaWNoIGNhbiBiZSBjb25zaWRlcmVkIGBgdXBzdHJlYW0nJwpAQCAtMjA5LDYgKzIxNCwxMSBAQAogCWA6bHN0cmlwYCBhbmQgYDpyc3RyaXBgIG9wdGlvbnMgaW4gdGhlIHNhbWUgd2F5IGFzIGByZWZuYW1lYAogCWFib3ZlLgogCit3b3JrdHJlZXBhdGg6OgorCVRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSB3b3JrdHJlZSBpbiB3aGljaCB0aGUgcmVmIGlzIGNoZWNrZWQKKwlvdXQsIGlmIGl0IGlzIGNoZWNrZWQgb3V0IGluIGFueSBsaW5rZWQgd29ya3RyZWUuIEVtcHR5IHN0cmluZworCW90aGVyd2lzZS4KKwogSW4gYWRkaXRpb24gdG8gdGhlIGFib3ZlLCBmb3IgY29tbWl0IGFuZCB0YWcgb2JqZWN0cywgdGhlIGhlYWRlcgogZmllbGQgbmFtZXMgKGB0cmVlYCwgYHBhcmVudGAsIGBvYmplY3RgLCBgdHlwZWAsIGFuZCBgdGFnYCkgY2FuCiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIHZhbHVlIGluIHRoZSBoZWFkZXIgZmllbGQuCkBAIC0zNjEsNiArMzcxLDIwIEBACiBnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKHJlZm5hbWUpJShpZiklKGF1dGhvcm5hbWUpJSh0aGVuKSBBdXRob3JlZCBieTogJShhdXRob3JuYW1lKSUoZW5kKSIKIC0tLS0tLS0tLS0tLQogCitDQVZFQVRTCistLS0tLS0tCisKK05vdGUgdGhhdCB0aGUgc2l6ZXMgb2Ygb2JqZWN0cyBvbiBkaXNrIGFyZSByZXBvcnRlZCBhY2N1cmF0ZWx5LCBidXQgY2FyZQorc2hvdWxkIGJlIHRha2VuIGluIGRyYXdpbmcgY29uY2x1c2lvbnMgYWJvdXQgd2hpY2ggcmVmcyBvciBvYmplY3RzIGFyZQorcmVzcG9uc2libGUgZm9yIGRpc2sgdXNhZ2UuIFRoZSBzaXplIG9mIGEgcGFja2VkIG5vbi1kZWx0YSBvYmplY3QgbWF5IGJlCittdWNoIGxhcmdlciB0aGFuIHRoZSBzaXplIG9mIG9iamVjdHMgd2hpY2ggZGVsdGEgYWdhaW5zdCBpdCwgYnV0IHRoZQorY2hvaWNlIG9mIHdoaWNoIG9iamVjdCBpcyB0aGUgYmFzZSBhbmQgd2hpY2ggaXMgdGhlIGRlbHRhIGlzIGFyYml0cmFyeQorYW5kIGlzIHN1YmplY3QgdG8gY2hhbmdlIGR1cmluZyBhIHJlcGFjay4KKworTm90ZSBhbHNvIHRoYXQgbXVsdGlwbGUgY29waWVzIG9mIGFuIG9iamVjdCBtYXkgYmUgcHJlc2VudCBpbiB0aGUgb2JqZWN0CitkYXRhYmFzZTsgaW4gdGhpcyBjYXNlLCBpdCBpcyB1bmRlZmluZWQgd2hpY2ggY29weSdzIHNpemUgb3IgZGVsdGEgYmFzZQord2lsbCBiZSByZXBvcnRlZC4KKwogU0VFIEFMU08KIC0tLS0tLS0tCiBsaW5rZ2l0OmdpdC1zaG93LXJlZlsxXQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtZm9ybWF0LXBhdGNoLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWZvcm1hdC1wYXRjaC50eHQKaW5kZXggMjczMDQ0Mi4uMGQ0Zjg5NSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZm9ybWF0LXBhdGNoLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1mb3JtYXQtcGF0Y2gudHh0CkBAIC0xNywxMiArMTcsMTQgQEAKIAkJICAgWy0tc2lnbmF0dXJlLWZpbGU9PGZpbGU+XQogCQkgICBbLW4gfCAtLW51bWJlcmVkIHwgLU4gfCAtLW5vLW51bWJlcmVkXQogCQkgICBbLS1zdGFydC1udW1iZXIgPG4+XSBbLS1udW1iZXJlZC1maWxlc10KLQkJICAgWy0taW4tcmVwbHktdG89TWVzc2FnZS1JZF0gWy0tc3VmZml4PS48c2Z4Pl0KKwkJICAgWy0taW4tcmVwbHktdG89PG1lc3NhZ2UgaWQ+XSBbLS1zdWZmaXg9LjxzZng+XQogCQkgICBbLS1pZ25vcmUtaWYtaW4tdXBzdHJlYW1dCi0JCSAgIFstLXJmY10gWy0tc3ViamVjdC1wcmVmaXg9U3ViamVjdC1QcmVmaXhdCisJCSAgIFstLWNvdmVyLWZyb20tZGVzY3JpcHRpb249PG1vZGU+XQorCQkgICBbLS1yZmNdIFstLXN1YmplY3QtcHJlZml4PTxzdWJqZWN0IHByZWZpeD5dCiAJCSAgIFsoLS1yZXJvbGwtY291bnR8LXYpIDxuPl0KIAkJICAgWy0tdG89PGVtYWlsPl0gWy0tY2M9PGVtYWlsPl0KLQkJICAgWy0tW25vLV1jb3Zlci1sZXR0ZXJdIFstLXF1aWV0XSBbLS1ub3Rlc1s9PHJlZj5dXQorCQkgICBbLS1bbm8tXWNvdmVyLWxldHRlcl0gWy0tcXVpZXRdCisJCSAgIFstLW5vLW5vdGVzIHwgLS1ub3Rlc1s9PHJlZj5dXQogCQkgICBbLS1pbnRlcmRpZmY9PHByZXZpb3VzPl0KIAkJICAgWy0tcmFuZ2UtZGlmZj08cHJldmlvdXM+IFstLWNyZWF0aW9uLWZhY3Rvcj08cGVyY2VudD5dXQogCQkgICBbLS1wcm9ncmVzc10KQEAgLTY1LDcgKzY3LDggQEAKIGNhbiBiZSBzZXQgd2l0aCB0aGUgYGZvcm1hdC5vdXRwdXREaXJlY3RvcnlgIGNvbmZpZ3VyYXRpb24gb3B0aW9uLgogVGhlIGAtb2Agb3B0aW9uIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBgZm9ybWF0Lm91dHB1dERpcmVjdG9yeWAuCiBUbyBzdG9yZSBwYXRjaGVzIGluIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGV2ZW4gd2hlbgotYGZvcm1hdC5vdXRwdXREaXJlY3RvcnlgIHBvaW50cyBlbHNld2hlcmUsIHVzZSBgLW8gLmAuCitgZm9ybWF0Lm91dHB1dERpcmVjdG9yeWAgcG9pbnRzIGVsc2V3aGVyZSwgdXNlIGAtbyAuYC4gQWxsIGRpcmVjdG9yeQorY29tcG9uZW50cyB3aWxsIGJlIGNyZWF0ZWQuCiAKIEJ5IGRlZmF1bHQsIHRoZSBzdWJqZWN0IG9mIGEgc2luZ2xlIHBhdGNoIGlzICJbUEFUQ0hdICIgZm9sbG93ZWQgYnkKIHRoZSBjb25jYXRlbmF0aW9uIG9mIGxpbmVzIGZyb20gdGhlIGNvbW1pdCBtZXNzYWdlIHVwIHRvIHRoZSBmaXJzdCBibGFuawpAQCAtMTU4LDkgKzE2MSw5IEBACiBpdHNlbGYuICBJZiB5b3Ugd2FudCBgZ2l0IGZvcm1hdC1wYXRjaGAgdG8gdGFrZSBjYXJlIG9mIHRocmVhZGluZywgeW91CiB3aWxsIHdhbnQgdG8gZW5zdXJlIHRoYXQgdGhyZWFkaW5nIGlzIGRpc2FibGVkIGZvciBgZ2l0IHNlbmQtZW1haWxgLgogCi0tLWluLXJlcGx5LXRvPU1lc3NhZ2UtSWQ6OgorLS1pbi1yZXBseS10bz08bWVzc2FnZSBpZD46OgogCU1ha2UgdGhlIGZpcnN0IG1haWwgKG9yIGFsbCB0aGUgbWFpbHMgd2l0aCBgLS1uby10aHJlYWRgKSBhcHBlYXIgYXMgYQotCXJlcGx5IHRvIHRoZSBnaXZlbiBNZXNzYWdlLUlkLCB3aGljaCBhdm9pZHMgYnJlYWtpbmcgdGhyZWFkcyB0bworCXJlcGx5IHRvIHRoZSBnaXZlbiA8bWVzc2FnZSBpZD4sIHdoaWNoIGF2b2lkcyBicmVha2luZyB0aHJlYWRzIHRvCiAJcHJvdmlkZSBhIG5ldyBwYXRjaCBzZXJpZXMuCiAKIC0taWdub3JlLWlmLWluLXVwc3RyZWFtOjoKQEAgLTE3MCw5ICsxNzMsMjkgQEAKIAlwYXRjaGVzIGJlaW5nIGdlbmVyYXRlZCwgYW5kIGFueSBwYXRjaCB0aGF0IG1hdGNoZXMgaXMKIAlpZ25vcmVkLgogCi0tLXN1YmplY3QtcHJlZml4PTxTdWJqZWN0LVByZWZpeD46OgorLS1jb3Zlci1mcm9tLWRlc2NyaXB0aW9uPTxtb2RlPjo6CisJQ29udHJvbHMgd2hpY2ggcGFydHMgb2YgdGhlIGNvdmVyIGxldHRlciB3aWxsIGJlIGF1dG9tYXRpY2FsbHkKKwlwb3B1bGF0ZWQgdXNpbmcgdGhlIGJyYW5jaCdzIGRlc2NyaXB0aW9uLgorKworSWYgYDxtb2RlPmAgaXMgYG1lc3NhZ2VgIG9yIGBkZWZhdWx0YCwgdGhlIGNvdmVyIGxldHRlciBzdWJqZWN0IHdpbGwgYmUKK3BvcHVsYXRlZCB3aXRoIHBsYWNlaG9sZGVyIHRleHQuIFRoZSBib2R5IG9mIHRoZSBjb3ZlciBsZXR0ZXIgd2lsbCBiZQorcG9wdWxhdGVkIHdpdGggdGhlIGJyYW5jaCdzIGRlc2NyaXB0aW9uLiBUaGlzIGlzIHRoZSBkZWZhdWx0IG1vZGUgd2hlbgorbm8gY29uZmlndXJhdGlvbiBub3IgY29tbWFuZCBsaW5lIG9wdGlvbiBpcyBzcGVjaWZpZWQuCisrCitJZiBgPG1vZGU+YCBpcyBgc3ViamVjdGAsIHRoZSBmaXJzdCBwYXJhZ3JhcGggb2YgdGhlIGJyYW5jaCBkZXNjcmlwdGlvbiB3aWxsCitwb3B1bGF0ZSB0aGUgY292ZXIgbGV0dGVyIHN1YmplY3QuIFRoZSByZW1haW5kZXIgb2YgdGhlIGRlc2NyaXB0aW9uIHdpbGwKK3BvcHVsYXRlIHRoZSBib2R5IG9mIHRoZSBjb3ZlciBsZXR0ZXIuCisrCitJZiBgPG1vZGU+YCBpcyBgYXV0b2AsIGlmIHRoZSBmaXJzdCBwYXJhZ3JhcGggb2YgdGhlIGJyYW5jaCBkZXNjcmlwdGlvbgoraXMgZ3JlYXRlciB0aGFuIDEwMCBieXRlcywgdGhlbiB0aGUgbW9kZSB3aWxsIGJlIGBtZXNzYWdlYCwgb3RoZXJ3aXNlCitgc3ViamVjdGAgd2lsbCBiZSB1c2VkLgorKworSWYgYDxtb2RlPmAgaXMgYG5vbmVgLCBib3RoIHRoZSBjb3ZlciBsZXR0ZXIgc3ViamVjdCBhbmQgYm9keSB3aWxsIGJlCitwb3B1bGF0ZWQgd2l0aCBwbGFjZWhvbGRlciB0ZXh0LgorCistLXN1YmplY3QtcHJlZml4PTxzdWJqZWN0IHByZWZpeD46OgogCUluc3RlYWQgb2YgdGhlIHN0YW5kYXJkICdbUEFUQ0hdJyBwcmVmaXggaW4gdGhlIHN1YmplY3QKLQlsaW5lLCBpbnN0ZWFkIHVzZSAnWzxTdWJqZWN0LVByZWZpeD5dJy4gVGhpcworCWxpbmUsIGluc3RlYWQgdXNlICdbPHN1YmplY3QgcHJlZml4Pl0nLiBUaGlzCiAJYWxsb3dzIGZvciB1c2VmdWwgbmFtaW5nIG9mIGEgcGF0Y2ggc2VyaWVzLCBhbmQgY2FuIGJlCiAJY29tYmluZWQgd2l0aCB0aGUgYC0tbnVtYmVyZWRgIG9wdGlvbi4KIApAQCAtMjYzLDYgKzI4Niw3IEBACiAJZm9yIGRldGFpbHMuCiAKIC0tbm90ZXNbPTxyZWY+XTo6CistLW5vLW5vdGVzOjoKIAlBcHBlbmQgdGhlIG5vdGVzIChzZWUgbGlua2dpdDpnaXQtbm90ZXNbMV0pIGZvciB0aGUgY29tbWl0CiAJYWZ0ZXIgdGhlIHRocmVlLWRhc2ggbGluZS4KICsKQEAgLTI3Myw2ICsyOTcsOSBAQAoga2VlcGluZyB0aGVtIGFzIEdpdCBub3RlcyBhbGxvd3MgdGhlbSB0byBiZSBtYWludGFpbmVkIGJldHdlZW4gdmVyc2lvbnMKIG9mIHRoZSBwYXRjaCBzZXJpZXMgKGJ1dCBzZWUgdGhlIGRpc2N1c3Npb24gb2YgdGhlIGBub3Rlcy5yZXdyaXRlYAogY29uZmlndXJhdGlvbiBvcHRpb25zIGluIGxpbmtnaXQ6Z2l0LW5vdGVzWzFdIHRvIHVzZSB0aGlzIHdvcmtmbG93KS4KKysKK1RoZSBkZWZhdWx0IGlzIGAtLW5vLW5vdGVzYCwgdW5sZXNzIHRoZSBgZm9ybWF0Lm5vdGVzYCBjb25maWd1cmF0aW9uIGlzCitzZXQuCiAKIC0tW25vLV1zaWduYXR1cmU9PHNpZ25hdHVyZT46OgogCUFkZCBhIHNpZ25hdHVyZSB0byBlYWNoIG1lc3NhZ2UgcHJvZHVjZWQuIFBlciBSRkMgMzY3NiB0aGUgc2lnbmF0dXJlCkBAIC0zMDYsMTAgKzMzMywxMiBAQAogICBPdXRwdXQgYW4gYWxsLXplcm8gaGFzaCBpbiBlYWNoIHBhdGNoJ3MgRnJvbSBoZWFkZXIgaW5zdGVhZAogICBvZiB0aGUgaGFzaCBvZiB0aGUgY29tbWl0LgogCi0tLWJhc2U9PGNvbW1pdD46OgorLS1bbm8tXWJhc2VbPTxjb21taXQ+XTo6CiAJUmVjb3JkIHRoZSBiYXNlIHRyZWUgaW5mb3JtYXRpb24gdG8gaWRlbnRpZnkgdGhlIHN0YXRlIHRoZQogCXBhdGNoIHNlcmllcyBhcHBsaWVzIHRvLiAgU2VlIHRoZSBCQVNFIFRSRUUgSU5GT1JNQVRJT04gc2VjdGlvbgotCWJlbG93IGZvciBkZXRhaWxzLgorCWJlbG93IGZvciBkZXRhaWxzLiBJZiA8Y29tbWl0PiBpcyAiYXV0byIsIGEgYmFzZSBjb21taXQgaXMKKwlhdXRvbWF0aWNhbGx5IGNob3Nlbi4gVGhlIGAtLW5vLWJhc2VgIG9wdGlvbiBvdmVycmlkZXMgYQorCWBmb3JtYXQudXNlQXV0b0Jhc2VgIGNvbmZpZ3VyYXRpb24uCiAKIC0tcm9vdDo6CiAJVHJlYXQgdGhlIHJldmlzaW9uIGFyZ3VtZW50IGFzIGEgPHJldmlzaW9uIHJhbmdlPiwgZXZlbiBpZiBpdApAQCAtMzI1LDggKzM1NCw5IEBACiAtLS0tLS0tLS0tLS0tCiBZb3UgY2FuIHNwZWNpZnkgZXh0cmEgbWFpbCBoZWFkZXIgbGluZXMgdG8gYmUgYWRkZWQgdG8gZWFjaCBtZXNzYWdlLAogZGVmYXVsdHMgZm9yIHRoZSBzdWJqZWN0IHByZWZpeCBhbmQgZmlsZSBzdWZmaXgsIG51bWJlciBwYXRjaGVzIHdoZW4KLW91dHB1dHRpbmcgbW9yZSB0aGFuIG9uZSBwYXRjaCwgYWRkICJUbyIgb3IgIkNjOiIgaGVhZGVycywgY29uZmlndXJlCi1hdHRhY2htZW50cywgYW5kIHNpZ24gb2ZmIHBhdGNoZXMgd2l0aCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcy4KK291dHB1dHRpbmcgbW9yZSB0aGFuIG9uZSBwYXRjaCwgYWRkICJUbzoiIG9yICJDYzoiIGhlYWRlcnMsIGNvbmZpZ3VyZQorYXR0YWNobWVudHMsIGNoYW5nZSB0aGUgcGF0Y2ggb3V0cHV0IGRpcmVjdG9yeSwgYW5kIHNpZ24gb2ZmIHBhdGNoZXMKK3dpdGggY29uZmlndXJhdGlvbiB2YXJpYWJsZXMuCiAKIC0tLS0tLS0tLS0tLQogW2Zvcm1hdF0KQEAgLTMzOCw3ICszNjgsOSBAQAogCWNjID0gPGVtYWlsPgogCWF0dGFjaCBbID0gbWltZS1ib3VuZGFyeS1zdHJpbmcgXQogCXNpZ25PZmYgPSB0cnVlCi0JY292ZXJsZXR0ZXIgPSBhdXRvCisJb3V0cHV0RGlyZWN0b3J5ID0gPGRpcmVjdG9yeT4KKwljb3ZlckxldHRlciA9IGF1dG8KKwljb3ZlckZyb21EZXNjcmlwdGlvbiA9IGF1dG8KIC0tLS0tLS0tLS0tLQogCiAKQEAgLTQyMSw4ICs0NTMsOCBAQAogKiBBcHBseSBpdDoKIAogICAgICQgZ2l0IGZldGNoIDxwcm9qZWN0PiBtYXN0ZXI6dGVzdC1hcHBseQotICAgICQgZ2l0IGNoZWNrb3V0IHRlc3QtYXBwbHkKLSAgICAkIGdpdCByZXNldCAtLWhhcmQKKyAgICAkIGdpdCBzd2l0Y2ggdGVzdC1hcHBseQorICAgICQgZ2l0IHJlc3RvcmUgLS1zb3VyY2U9SEVBRCAtLXN0YWdlZCAtLXdvcmt0cmVlIDovCiAgICAgJCBnaXQgYW0gYS5wYXRjaAogCiBJZiBpdCBkb2VzIG5vdCBhcHBseSBjb3JyZWN0bHksIHRoZXJlIGNhbiBiZSB2YXJpb3VzIHJlYXNvbnMuCkBAIC01MDQsOSArNTM2LDkgQEAKICJtYWlsbmV3cy53cmFwbGVuZ3RoIiBhbmQgc2V0IHRoZSB2YWx1ZSB0byAwLgogCiAzLiBEaXNhYmxlIHRoZSB1c2Ugb2YgZm9ybWF0PWZsb3dlZDoKLUVkaXQuLlByZWZlcmVuY2VzLi5BZHZhbmNlZC4uQ29uZmlnIEVkaXRvci4gIFNlYXJjaCBmb3IKLSJtYWlsbmV3cy5zZW5kX3BsYWludGV4dF9mbG93ZWQiLgotVG9nZ2xlIGl0IHRvIG1ha2Ugc3VyZSBpdCBpcyBzZXQgdG8gYGZhbHNlYC4KKyAgIEVkaXQuLlByZWZlcmVuY2VzLi5BZHZhbmNlZC4uQ29uZmlnIEVkaXRvci4gIFNlYXJjaCBmb3IKKyAgICJtYWlsbmV3cy5zZW5kX3BsYWludGV4dF9mbG93ZWQiLgorICAgVG9nZ2xlIGl0IHRvIG1ha2Ugc3VyZSBpdCBpcyBzZXQgdG8gYGZhbHNlYC4KIAogQWZ0ZXIgdGhhdCBpcyBkb25lLCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gY29tcG9zZSBlbWFpbCBhcyB5b3UKIG90aGVyd2lzZSB3b3VsZCAoY3V0ICsgcGFzdGUsICdnaXQgZm9ybWF0LXBhdGNoJyB8ICdnaXQgaW1hcC1zZW5kJywgZXRjKSwKQEAgLTYyOSwxNCArNjYxLDE0IEBACiAtLS0tLS0tLQogCiAqIEV4dHJhY3QgY29tbWl0cyBiZXR3ZWVuIHJldmlzaW9ucyBSMSBhbmQgUjIsIGFuZCBhcHBseSB0aGVtIG9uIHRvcCBvZgotdGhlIGN1cnJlbnQgYnJhbmNoIHVzaW5nICdnaXQgYW0nIHRvIGNoZXJyeS1waWNrIHRoZW06CisgIHRoZSBjdXJyZW50IGJyYW5jaCB1c2luZyAnZ2l0IGFtJyB0byBjaGVycnktcGljayB0aGVtOgogKwogLS0tLS0tLS0tLS0tCiAkIGdpdCBmb3JtYXQtcGF0Y2ggLWsgLS1zdGRvdXQgUjEuLlIyIHwgZ2l0IGFtIC0zIC1rCiAtLS0tLS0tLS0tLS0KIAogKiBFeHRyYWN0IGFsbCBjb21taXRzIHdoaWNoIGFyZSBpbiB0aGUgY3VycmVudCBicmFuY2ggYnV0IG5vdCBpbiB0aGUKLW9yaWdpbiBicmFuY2g6CisgIG9yaWdpbiBicmFuY2g6CiArCiAtLS0tLS0tLS0tLS0KICQgZ2l0IGZvcm1hdC1wYXRjaCBvcmlnaW4KQEAgLTY0NSw3ICs2NzcsNyBAQAogRm9yIGVhY2ggY29tbWl0IGEgc2VwYXJhdGUgZmlsZSBpcyBjcmVhdGVkIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4KIAogKiBFeHRyYWN0IGFsbCBjb21taXRzIHRoYXQgbGVhZCB0byAnb3JpZ2luJyBzaW5jZSB0aGUgaW5jZXB0aW9uIG9mIHRoZQotcHJvamVjdDoKKyAgcHJvamVjdDoKICsKIC0tLS0tLS0tLS0tLQogJCBnaXQgZm9ybWF0LXBhdGNoIC0tcm9vdCBvcmlnaW4KQEAgLTY2NCw3ICs2OTYsNyBAQAogdXNlIGl0IG9ubHkgd2hlbiB5b3Uga25vdyB0aGUgcmVjaXBpZW50IHVzZXMgR2l0IHRvIGFwcGx5IHlvdXIgcGF0Y2guCiAKICogRXh0cmFjdCB0aHJlZSB0b3Btb3N0IGNvbW1pdHMgZnJvbSB0aGUgY3VycmVudCBicmFuY2ggYW5kIGZvcm1hdCB0aGVtCi1hcyBlLW1haWxhYmxlIHBhdGNoZXM6CisgIGFzIGUtbWFpbGFibGUgcGF0Y2hlczoKICsKIC0tLS0tLS0tLS0tLQogJCBnaXQgZm9ybWF0LXBhdGNoIC0zCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1mc2NrLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWZzY2sudHh0CmluZGV4IGFiOWE5M2YuLmQ3MmQxNWIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWZzY2sudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWZzY2sudHh0CkBAIC02Miw5ICs2MiwxNyBAQAogCXdpdGggLS1uby1mdWxsLgogCiAtLWNvbm5lY3Rpdml0eS1vbmx5OjoKLQlDaGVjayBvbmx5IHRoZSBjb25uZWN0aXZpdHkgb2YgdGFncywgY29tbWl0cyBhbmQgdHJlZSBvYmplY3RzLiBCeQotCWF2b2lkaW5nIHRvIHVucGFjayBibG9icywgdGhpcyBzcGVlZHMgdXAgdGhlIG9wZXJhdGlvbiwgYXQgdGhlCi0JZXhwZW5zZSBvZiBtaXNzaW5nIGNvcnJ1cHQgb2JqZWN0cyBvciBvdGhlciBwcm9ibGVtYXRpYyBpc3N1ZXMuCisJQ2hlY2sgb25seSB0aGUgY29ubmVjdGl2aXR5IG9mIHJlYWNoYWJsZSBvYmplY3RzLCBtYWtpbmcgc3VyZQorCXRoYXQgYW55IG9iamVjdHMgcmVmZXJlbmNlZCBieSBhIHJlYWNoYWJsZSB0YWcsIGNvbW1pdCwgb3IgdHJlZQorCWlzIHByZXNlbnQuIFRoaXMgc3BlZWRzIHVwIHRoZSBvcGVyYXRpb24gYnkgYXZvaWRpbmcgcmVhZGluZworCWJsb2JzIGVudGlyZWx5ICh0aG91Z2ggaXQgZG9lcyBzdGlsbCBjaGVjayB0aGF0IHJlZmVyZW5jZWQgYmxvYnMKKwlleGlzdCkuIFRoaXMgd2lsbCBkZXRlY3QgY29ycnVwdGlvbiBpbiBjb21taXRzIGFuZCB0cmVlcywgYnV0CisJbm90IGRvIGFueSBzZW1hbnRpYyBjaGVja3MgKGUuZy4sIGZvciBmb3JtYXQgZXJyb3JzKS4gQ29ycnVwdGlvbgorCWluIGJsb2Igb2JqZWN0cyB3aWxsIG5vdCBiZSBkZXRlY3RlZCBhdCBhbGwuCisrCitVbnJlYWNoYWJsZSB0YWdzLCBjb21taXRzLCBhbmQgdHJlZXMgd2lsbCBhbHNvIGJlIGFjY2Vzc2VkIHRvIGZpbmQgdGhlCit0aXBzIG9mIGRhbmdsaW5nIHNlZ21lbnRzIG9mIGhpc3RvcnkuIFVzZSBgLS1uby1kYW5nbGluZ2AgaWYgeW91IGRvbid0CitjYXJlIGFib3V0IHRoaXMgb3V0cHV0IGFuZCB3YW50IHRvIHNwZWVkIGl0IHVwIGZ1cnRoZXIuCiAKIC0tc3RyaWN0OjoKIAlFbmFibGUgbW9yZSBzdHJpY3QgY2hlY2tpbmcsIG5hbWVseSB0byBjYXRjaCBhIGZpbGUgbW9kZQpAQCAtOTYsNiArMTA0LDExIEBACiAJcHJvZ3Jlc3Mgc3RhdHVzIGV2ZW4gaWYgdGhlIHN0YW5kYXJkIGVycm9yIHN0cmVhbSBpcyBub3QKIAlkaXJlY3RlZCB0byBhIHRlcm1pbmFsLgogCitDT05GSUdVUkFUSU9OCistLS0tLS0tLS0tLS0tCisKK2luY2x1ZGU6OmNvbmZpZy9mc2NrLnR4dFtdCisKIERJU0NVU1NJT04KIC0tLS0tLS0tLS0KIApAQCAtMTQwLDkgKzE1Myw5IEBACiAJVGhlIDx0eXBlPiBvYmplY3QgPG9iamVjdD4sIGlzIHByZXNlbnQgaW4gdGhlIGRhdGFiYXNlIGJ1dCBuZXZlcgogCSdkaXJlY3RseScgdXNlZC4gQSBkYW5nbGluZyBjb21taXQgY291bGQgYmUgYSByb290IG5vZGUuCiAKLXNoYTEgbWlzbWF0Y2ggPG9iamVjdD46OgotCVRoZSBkYXRhYmFzZSBoYXMgYW4gb2JqZWN0IHdobydzIHNoYTEgZG9lc24ndCBtYXRjaCB0aGUKLQlkYXRhYmFzZSB2YWx1ZS4KK2hhc2ggbWlzbWF0Y2ggPG9iamVjdD46OgorCVRoZSBkYXRhYmFzZSBoYXMgYW4gb2JqZWN0IHdob3NlIGhhc2ggZG9lc24ndCBtYXRjaCB0aGUKKwlvYmplY3QgZGF0YWJhc2UgdmFsdWUuCiAJVGhpcyBpbmRpY2F0ZXMgYSBzZXJpb3VzIGRhdGEgaW50ZWdyaXR5IHByb2JsZW0uCiAKIEVudmlyb25tZW50IFZhcmlhYmxlcwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtZ2MudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZ2MudHh0CmluZGV4IGMyMGVlNmMuLjBjMTE0YWQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWdjLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1nYy50eHQKQEAgLTIwLDE3ICsyMCwxNiBAQAogcmVmbG9nLCByZXJlcmUgbWV0YWRhdGEgb3Igc3RhbGUgd29ya2luZyB0cmVlcy4gTWF5IGFsc28gdXBkYXRlIGFuY2lsbGFyeQogaW5kZXhlcyBzdWNoIGFzIHRoZSBjb21taXQtZ3JhcGguCiAKLVVzZXJzIGFyZSBlbmNvdXJhZ2VkIHRvIHJ1biB0aGlzIHRhc2sgb24gYSByZWd1bGFyIGJhc2lzIHdpdGhpbgotZWFjaCByZXBvc2l0b3J5IHRvIG1haW50YWluIGdvb2QgZGlzayBzcGFjZSB1dGlsaXphdGlvbiBhbmQgZ29vZAotb3BlcmF0aW5nIHBlcmZvcm1hbmNlLgorV2hlbiBjb21tb24gcG9yY2VsYWluIG9wZXJhdGlvbnMgdGhhdCBjcmVhdGUgb2JqZWN0cyBhcmUgcnVuLCB0aGV5Cit3aWxsIGNoZWNrIHdoZXRoZXIgdGhlIHJlcG9zaXRvcnkgaGFzIGdyb3duIHN1YnN0YW50aWFsbHkgc2luY2UgdGhlCitsYXN0IG1haW50ZW5hbmNlLCBhbmQgaWYgc28gcnVuIGBnaXQgZ2NgIGF1dG9tYXRpY2FsbHkuIFNlZSBgZ2MuYXV0b2AKK2JlbG93IGZvciBob3cgdG8gZGlzYWJsZSB0aGlzIGJlaGF2aW9yLgogCi1Tb21lIGdpdCBjb21tYW5kcyBtYXkgYXV0b21hdGljYWxseSBydW4gJ2dpdCBnYyc7IHNlZSB0aGUgYC0tYXV0b2AgZmxhZwotYmVsb3cgZm9yIGRldGFpbHMuIElmIHlvdSBrbm93IHdoYXQgeW91J3JlIGRvaW5nIGFuZCBhbGwgeW91IHdhbnQgaXMgdG8KLWRpc2FibGUgdGhpcyBiZWhhdmlvciBwZXJtYW5lbnRseSB3aXRob3V0IGZ1cnRoZXIgY29uc2lkZXJhdGlvbnMsIGp1c3QgZG86Ci0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSQgZ2l0IGNvbmZpZyAtLWdsb2JhbCBnYy5hdXRvIDAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1J1bm5pbmcgYGdpdCBnY2AgbWFudWFsbHkgc2hvdWxkIG9ubHkgYmUgbmVlZGVkIHdoZW4gYWRkaW5nIG9iamVjdHMgdG8KK2EgcmVwb3NpdG9yeSB3aXRob3V0IHJlZ3VsYXJseSBydW5uaW5nIHN1Y2ggcG9yY2VsYWluIGNvbW1hbmRzLCB0byBkbworYSBvbmUtb2ZmIHJlcG9zaXRvcnkgb3B0aW1pemF0aW9uLCBvciBlLmcuIHRvIGNsZWFuIHVwIGEgc3Vib3B0aW1hbAorbWFzcy1pbXBvcnQuIFNlZSB0aGUgIlBBQ0tGSUxFIE9QVElNSVpBVElPTiIgc2VjdGlvbiBpbgorbGlua2dpdDpnaXQtZmFzdC1pbXBvcnRbMV0gZm9yIG1vcmUgZGV0YWlscyBvbiB0aGUgaW1wb3J0IGNhc2UuCiAKIE9QVElPTlMKIC0tLS0tLS0KQEAgLTQwLDM1ICszOSwxNyBAQAogCXNwYWNlIHV0aWxpemF0aW9uIGFuZCBwZXJmb3JtYW5jZS4gIFRoaXMgb3B0aW9uIHdpbGwgY2F1c2UKIAknZ2l0IGdjJyB0byBtb3JlIGFnZ3Jlc3NpdmVseSBvcHRpbWl6ZSB0aGUgcmVwb3NpdG9yeSBhdCB0aGUgZXhwZW5zZQogCW9mIHRha2luZyBtdWNoIG1vcmUgdGltZS4gIFRoZSBlZmZlY3RzIG9mIHRoaXMgb3B0aW1pemF0aW9uIGFyZQotCXBlcnNpc3RlbnQsIHNvIHRoaXMgb3B0aW9uIG9ubHkgbmVlZHMgdG8gYmUgdXNlZCBvY2Nhc2lvbmFsbHk7IGV2ZXJ5Ci0JZmV3IGh1bmRyZWQgY2hhbmdlc2V0cyBvciBzby4KKwltb3N0bHkgcGVyc2lzdGVudC4gU2VlIHRoZSAiQUdHUkVTU0lWRSIgc2VjdGlvbiBiZWxvdyBmb3IgZGV0YWlscy4KIAogLS1hdXRvOjoKIAlXaXRoIHRoaXMgb3B0aW9uLCAnZ2l0IGdjJyBjaGVja3Mgd2hldGhlciBhbnkgaG91c2VrZWVwaW5nIGlzCiAJcmVxdWlyZWQ7IGlmIG5vdCwgaXQgZXhpdHMgd2l0aG91dCBwZXJmb3JtaW5nIGFueSB3b3JrLgotCVNvbWUgZ2l0IGNvbW1hbmRzIHJ1biBgZ2l0IGdjIC0tYXV0b2AgYWZ0ZXIgcGVyZm9ybWluZwotCW9wZXJhdGlvbnMgdGhhdCBjb3VsZCBjcmVhdGUgbWFueSBsb29zZSBvYmplY3RzLiBIb3VzZWtlZXBpbmcKLQlpcyByZXF1aXJlZCBpZiB0aGVyZSBhcmUgdG9vIG1hbnkgbG9vc2Ugb2JqZWN0cyBvciB0b28gbWFueQotCXBhY2tzIGluIHRoZSByZXBvc2l0b3J5LgogKwotSWYgdGhlIG51bWJlciBvZiBsb29zZSBvYmplY3RzIGV4Y2VlZHMgdGhlIHZhbHVlIG9mIHRoZSBgZ2MuYXV0b2AKLWNvbmZpZ3VyYXRpb24gdmFyaWFibGUsIHRoZW4gYWxsIGxvb3NlIG9iamVjdHMgYXJlIGNvbWJpbmVkIGludG8gYQotc2luZ2xlIHBhY2sgdXNpbmcgYGdpdCByZXBhY2sgLWQgLWxgLiAgU2V0dGluZyB0aGUgdmFsdWUgb2YgYGdjLmF1dG9gCi10byAwIGRpc2FibGVzIGF1dG9tYXRpYyBwYWNraW5nIG9mIGxvb3NlIG9iamVjdHMuCitTZWUgdGhlIGBnYy5hdXRvYCBvcHRpb24gaW4gdGhlICJDT05GSUdVUkFUSU9OIiBzZWN0aW9uIGJlbG93IGZvciBob3cKK3RoaXMgaGV1cmlzdGljIHdvcmtzLgogKwotSWYgdGhlIG51bWJlciBvZiBwYWNrcyBleGNlZWRzIHRoZSB2YWx1ZSBvZiBgZ2MuYXV0b1BhY2tMaW1pdGAsCi10aGVuIGV4aXN0aW5nIHBhY2tzIChleGNlcHQgdGhvc2UgbWFya2VkIHdpdGggYSBgLmtlZXBgIGZpbGUKLW9yIG92ZXIgYGdjLmJpZ1BhY2tUaHJlc2hvbGRgIGxpbWl0KQotYXJlIGNvbnNvbGlkYXRlZCBpbnRvIGEgc2luZ2xlIHBhY2sgYnkgdXNpbmcgdGhlIGAtQWAgb3B0aW9uIG9mCi0nZ2l0IHJlcGFjaycuCi1JZiB0aGUgYW1vdW50IG9mIG1lbW9yeSBpcyBlc3RpbWF0ZWQgbm90IGVub3VnaCBmb3IgYGdpdCByZXBhY2tgIHRvCi1ydW4gc21vb3RobHkgYW5kIGBnYy5iaWdQYWNrVGhyZXNob2xkYCBpcyBub3Qgc2V0LCB0aGUgbGFyZ2VzdAotcGFjayB3aWxsIGFsc28gYmUgZXhjbHVkZWQgKHRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgcnVubmluZyBgZ2l0IGdjYAotd2l0aCBgLS1rZWVwLWJhc2UtcGFja2ApLgotU2V0dGluZyBgZ2MuYXV0b1BhY2tMaW1pdGAgdG8gMCBkaXNhYmxlcyBhdXRvbWF0aWMgY29uc29saWRhdGlvbiBvZgotcGFja3MuCi0rCi1JZiBob3Vza2VlcGluZyBpcyByZXF1aXJlZCBkdWUgdG8gbWFueSBsb29zZSBvYmplY3RzIG9yIHBhY2tzLCBhbGwKK09uY2UgaG91c2VrZWVwaW5nIGlzIHRyaWdnZXJlZCBieSBleGNlZWRpbmcgdGhlIGxpbWl0cyBvZgorY29uZmlndXJhdGlvbiBvcHRpb25zIHN1Y2ggYXMgYGdjLmF1dG9gIGFuZCBgZ2MuYXV0b1BhY2tMaW1pdGAsIGFsbAogb3RoZXIgaG91c2VrZWVwaW5nIHRhc2tzIChlLmcuIHJlcmVyZSwgd29ya2luZyB0cmVlcywgcmVmbG9nLi4uKSB3aWxsCiBiZSBwZXJmb3JtZWQgYXMgd2VsbC4KIApAQCAtNzYsNyArNTcsNyBAQAogLS1wcnVuZT08ZGF0ZT46OgogCVBydW5lIGxvb3NlIG9iamVjdHMgb2xkZXIgdGhhbiBkYXRlIChkZWZhdWx0IGlzIDIgd2Vla3MgYWdvLAogCW92ZXJyaWRhYmxlIGJ5IHRoZSBjb25maWcgdmFyaWFibGUgYGdjLnBydW5lRXhwaXJlYCkuCi0JLS1wcnVuZT1hbGwgcHJ1bmVzIGxvb3NlIG9iamVjdHMgcmVnYXJkbGVzcyBvZiB0aGVpciBhZ2UgYW5kCisJLS1wcnVuZT1ub3cgcHJ1bmVzIGxvb3NlIG9iamVjdHMgcmVnYXJkbGVzcyBvZiB0aGVpciBhZ2UgYW5kCiAJaW5jcmVhc2VzIHRoZSByaXNrIG9mIGNvcnJ1cHRpb24gaWYgYW5vdGhlciBwcm9jZXNzIGlzIHdyaXRpbmcgdG8KIAl0aGUgcmVwb3NpdG9yeSBjb25jdXJyZW50bHk7IHNlZSAiTk9URVMiIGJlbG93LiAtLXBydW5lIGlzIG9uIGJ5CiAJZGVmYXVsdC4KQEAgLTk2LDgzICs3Nyw1MiBAQAogCWAua2VlcGAgZmlsZXMgYXJlIGNvbnNvbGlkYXRlZCBpbnRvIGEgc2luZ2xlIHBhY2suIFdoZW4gdGhpcwogCW9wdGlvbiBpcyB1c2VkLCBgZ2MuYmlnUGFja1RocmVzaG9sZGAgaXMgaWdub3JlZC4KIAorQUdHUkVTU0lWRQorLS0tLS0tLS0tLQorCitXaGVuIHRoZSBgLS1hZ2dyZXNzaXZlYCBvcHRpb24gaXMgc3VwcGxpZWQsIGxpbmtnaXQ6Z2l0LXJlcGFja1sxXSB3aWxsCitiZSBpbnZva2VkIHdpdGggdGhlIGAtZmAgZmxhZywgd2hpY2ggaW4gdHVybiB3aWxsIHBhc3MKK2AtLW5vLXJldXNlLWRlbHRhYCB0byBsaW5rZ2l0OmdpdC1wYWNrLW9iamVjdHNbMV0uIFRoaXMgd2lsbCB0aHJvdworYXdheSBhbnkgZXhpc3RpbmcgZGVsdGFzIGFuZCByZS1jb21wdXRlIHRoZW0sIGF0IHRoZSBleHBlbnNlIG9mCitzcGVuZGluZyBtdWNoIG1vcmUgdGltZSBvbiB0aGUgcmVwYWNraW5nLgorCitUaGUgZWZmZWN0cyBvZiB0aGlzIGFyZSBtb3N0bHkgcGVyc2lzdGVudCwgZS5nLiB3aGVuIHBhY2tzIGFuZCBsb29zZQorb2JqZWN0cyBhcmUgY29hbGVzY2VkIGludG8gb25lIGFub3RoZXIgcGFjayB0aGUgZXhpc3RpbmcgZGVsdGFzIGluCit0aGF0IHBhY2sgbWlnaHQgZ2V0IHJlLXVzZWQsIGJ1dCB0aGVyZSBhcmUgYWxzbyB2YXJpb3VzIGNhc2VzIHdoZXJlIHdlCittaWdodCBwaWNrIGEgc3ViLW9wdGltYWwgZGVsdGEgZnJvbSBhIG5ld2VyIHBhY2sgaW5zdGVhZC4KKworRnVydGhlcm1vcmUsIHN1cHBseWluZyBgLS1hZ2dyZXNzaXZlYCB3aWxsIHR3ZWFrIHRoZSBgLS1kZXB0aGAgYW5kCitgLS13aW5kb3dgIG9wdGlvbnMgcGFzc2VkIHRvIGxpbmtnaXQ6Z2l0LXJlcGFja1sxXS4gU2VlIHRoZQorYGdjLmFnZ3Jlc3NpdmVEZXB0aGAgYW5kIGBnYy5hZ2dyZXNzaXZlV2luZG93YCBzZXR0aW5ncyBiZWxvdy4gQnkKK3VzaW5nIGEgbGFyZ2VyIHdpbmRvdyBzaXplIHdlJ3JlIG1vcmUgbGlrZWx5IHRvIGZpbmQgbW9yZSBvcHRpbWFsCitkZWx0YXMuCisKK0l0J3MgcHJvYmFibHkgbm90IHdvcnRoIGl0IHRvIHVzZSB0aGlzIG9wdGlvbiBvbiBhIGdpdmVuIHJlcG9zaXRvcnkKK3dpdGhvdXQgcnVubmluZyB0YWlsb3JlZCBwZXJmb3JtYW5jZSBiZW5jaG1hcmtzIG9uIGl0LiBJdCB0YWtlcyBhIGxvdAorbW9yZSB0aW1lLCBhbmQgdGhlIHJlc3VsdGluZyBzcGFjZS9kZWx0YSBvcHRpbWl6YXRpb24gbWF5IG9yIG1heSBub3QKK2JlIHdvcnRoIGl0LiBOb3QgdXNpbmcgdGhpcyBhdCBhbGwgaXMgdGhlIHJpZ2h0IHRyYWRlLW9mZiBmb3IgbW9zdAordXNlcnMgYW5kIHRoZWlyIHJlcG9zaXRvcmllcy4KKwogQ09ORklHVVJBVElPTgogLS0tLS0tLS0tLS0tLQogCi1UaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBgZ2MucmVmbG9nRXhwaXJlYCBjYW4gYmUKLXNldCB0byBpbmRpY2F0ZSBob3cgbG9uZyBoaXN0b3JpY2FsIGVudHJpZXMgd2l0aGluIGVhY2ggYnJhbmNoJ3MKLXJlZmxvZyBzaG91bGQgcmVtYWluIGF2YWlsYWJsZSBpbiB0aGlzIHJlcG9zaXRvcnkuICBUaGUgc2V0dGluZyBpcwotZXhwcmVzc2VkIGFzIGEgbGVuZ3RoIG9mIHRpbWUsIGZvciBleGFtcGxlICc5MCBkYXlzJyBvciAnMyBtb250aHMnLgotSXQgZGVmYXVsdHMgdG8gJzkwIGRheXMnLgorVGhlIGJlbG93IGRvY3VtZW50YXRpb24gaXMgdGhlIHNhbWUgYXMgd2hhdCdzIGZvdW5kIGluCitsaW5rZ2l0OmdpdC1jb25maWdbMV06CiAKLVRoZSBvcHRpb25hbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBnYy5yZWZsb2dFeHBpcmVVbnJlYWNoYWJsZWAKLWNhbiBiZSBzZXQgdG8gaW5kaWNhdGUgaG93IGxvbmcgaGlzdG9yaWNhbCByZWZsb2cgZW50cmllcyB3aGljaAotYXJlIG5vdCBwYXJ0IG9mIHRoZSBjdXJyZW50IGJyYW5jaCBzaG91bGQgcmVtYWluIGF2YWlsYWJsZSBpbgotdGhpcyByZXBvc2l0b3J5LiAgVGhlc2UgdHlwZXMgb2YgZW50cmllcyBhcmUgZ2VuZXJhbGx5IGNyZWF0ZWQgYXMKLWEgcmVzdWx0IG9mIHVzaW5nIGBnaXQgY29tbWl0IC0tYW1lbmRgIG9yIGBnaXQgcmViYXNlYCBhbmQgYXJlIHRoZQotY29tbWl0cyBwcmlvciB0byB0aGUgYW1lbmQgb3IgcmViYXNlIG9jY3VycmluZy4gIFNpbmNlIHRoZXNlIGNoYW5nZXMKLWFyZSBub3QgcGFydCBvZiB0aGUgY3VycmVudCBwcm9qZWN0IG1vc3QgdXNlcnMgd2lsbCB3YW50IHRvIGV4cGlyZQotdGhlbSBzb29uZXIuICBUaGlzIG9wdGlvbiBkZWZhdWx0cyB0byAnMzAgZGF5cycuCi0KLVRoZSBhYm92ZSB0d28gY29uZmlndXJhdGlvbiB2YXJpYWJsZXMgY2FuIGJlIGdpdmVuIHRvIGEgcGF0dGVybi4gIEZvcgotZXhhbXBsZSwgdGhpcyBzZXRzIG5vbi1kZWZhdWx0IGV4cGlyeSB2YWx1ZXMgb25seSB0byByZW1vdGUtdHJhY2tpbmcKLWJyYW5jaGVzOgotCi0tLS0tLS0tLS0tLS0KLVtnYyAicmVmcy9yZW1vdGVzLyoiXQotCXJlZmxvZ0V4cGlyZSA9IG5ldmVyCi0JcmVmbG9nRXhwaXJlVW5yZWFjaGFibGUgPSAzIGRheXMKLS0tLS0tLS0tLS0tLQotCi1UaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBgZ2MucmVyZXJlUmVzb2x2ZWRgIGluZGljYXRlcwotaG93IGxvbmcgcmVjb3JkcyBvZiBjb25mbGljdGVkIG1lcmdlIHlvdSByZXNvbHZlZCBlYXJsaWVyIGFyZQota2VwdC4gIFRoaXMgZGVmYXVsdHMgdG8gNjAgZGF5cy4KLQotVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGdjLnJlcmVyZVVucmVzb2x2ZWRgIGluZGljYXRlcwotaG93IGxvbmcgcmVjb3JkcyBvZiBjb25mbGljdGVkIG1lcmdlIHlvdSBoYXZlIG5vdCByZXNvbHZlZCBhcmUKLWtlcHQuICBUaGlzIGRlZmF1bHRzIHRvIDE1IGRheXMuCi0KLVRoZSBvcHRpb25hbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBnYy5wYWNrUmVmc2AgZGV0ZXJtaW5lcyBpZgotJ2dpdCBnYycgcnVucyAnZ2l0IHBhY2stcmVmcycuIFRoaXMgY2FuIGJlIHNldCB0byAibm90YmFyZSIgdG8gZW5hYmxlCi1pdCB3aXRoaW4gYWxsIG5vbi1iYXJlIHJlcG9zIG9yIGl0IGNhbiBiZSBzZXQgdG8gYSBib29sZWFuIHZhbHVlLgotVGhpcyBkZWZhdWx0cyB0byB0cnVlLgotCi1UaGUgb3B0aW9uYWwgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBgZ2MuY29tbWl0R3JhcGhgIGRldGVybWluZXMgaWYKLSdnaXQgZ2MnIHNob3VsZCBydW4gJ2dpdCBjb21taXQtZ3JhcGggd3JpdGUnLiBUaGlzIGNhbiBiZSBzZXQgdG8gYQotYm9vbGVhbiB2YWx1ZS4gVGhpcyBkZWZhdWx0cyB0byBmYWxzZS4KLQotVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGdjLmFnZ3Jlc3NpdmVXaW5kb3dgIGNvbnRyb2xzIGhvdwotbXVjaCB0aW1lIGlzIHNwZW50IG9wdGltaXppbmcgdGhlIGRlbHRhIGNvbXByZXNzaW9uIG9mIHRoZSBvYmplY3RzIGluCi10aGUgcmVwb3NpdG9yeSB3aGVuIHRoZSAtLWFnZ3Jlc3NpdmUgb3B0aW9uIGlzIHNwZWNpZmllZC4gIFRoZSBsYXJnZXIKLXRoZSB2YWx1ZSwgdGhlIG1vcmUgdGltZSBpcyBzcGVudCBvcHRpbWl6aW5nIHRoZSBkZWx0YSBjb21wcmVzc2lvbi4gIFNlZQotdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSAtLXdpbmRvdyBvcHRpb24gaW4gbGlua2dpdDpnaXQtcmVwYWNrWzFdIGZvcgotbW9yZSBkZXRhaWxzLiAgVGhpcyBkZWZhdWx0cyB0byAyNTAuCi0KLVNpbWlsYXJseSwgdGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGdjLmFnZ3Jlc3NpdmVEZXB0aGAKLWNvbnRyb2xzIC0tZGVwdGggb3B0aW9uIGluIGxpbmtnaXQ6Z2l0LXJlcGFja1sxXS4gVGhpcyBkZWZhdWx0cyB0byA1MC4KLQotVGhlIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGdjLnBydW5lRXhwaXJlYCBjb250cm9scyBob3cgb2xkCi10aGUgdW5yZWZlcmVuY2VkIGxvb3NlIG9iamVjdHMgaGF2ZSB0byBiZSBiZWZvcmUgdGhleSBhcmUgcHJ1bmVkLiAgVGhlCi1kZWZhdWx0IGlzICIyIHdlZWtzIGFnbyIuCi0KLU9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGdjLndvcmt0cmVlUHJ1bmVFeHBpcmVgIGNvbnRyb2xzIGhvdwotb2xkIGEgc3RhbGUgd29ya2luZyB0cmVlIHNob3VsZCBiZSBiZWZvcmUgYGdpdCB3b3JrdHJlZSBwcnVuZWAgZGVsZXRlcwotaXQuIERlZmF1bHQgaXMgIjMgbW9udGhzIGFnbyIuCi0KK2luY2x1ZGU6OmNvbmZpZy9nYy50eHRbXQogCiBOT1RFUwogLS0tLS0KIAogJ2dpdCBnYycgdHJpZXMgdmVyeSBoYXJkIG5vdCB0byBkZWxldGUgb2JqZWN0cyB0aGF0IGFyZSByZWZlcmVuY2VkCi1hbnl3aGVyZSBpbiB5b3VyIHJlcG9zaXRvcnkuIEluCi1wYXJ0aWN1bGFyLCBpdCB3aWxsIGtlZXAgbm90IG9ubHkgb2JqZWN0cyByZWZlcmVuY2VkIGJ5IHlvdXIgY3VycmVudCBzZXQKLW9mIGJyYW5jaGVzIGFuZCB0YWdzLCBidXQgYWxzbyBvYmplY3RzIHJlZmVyZW5jZWQgYnkgdGhlIGluZGV4LAotcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzLCByZWZzIHNhdmVkIGJ5ICdnaXQgZmlsdGVyLWJyYW5jaCcgaW4KLXJlZnMvb3JpZ2luYWwvLCBvciByZWZsb2dzICh3aGljaCBtYXkgcmVmZXJlbmNlIGNvbW1pdHMgaW4gYnJhbmNoZXMKLXRoYXQgd2VyZSBsYXRlciBhbWVuZGVkIG9yIHJld291bmQpLgotSWYgeW91IGFyZSBleHBlY3Rpbmcgc29tZSBvYmplY3RzIHRvIGJlIGRlbGV0ZWQgYW5kIHRoZXkgYXJlbid0LCBjaGVjawotYWxsIG9mIHRob3NlIGxvY2F0aW9ucyBhbmQgZGVjaWRlIHdoZXRoZXIgaXQgbWFrZXMgc2Vuc2UgaW4geW91ciBjYXNlIHRvCi1yZW1vdmUgdGhvc2UgcmVmZXJlbmNlcy4KK2FueXdoZXJlIGluIHlvdXIgcmVwb3NpdG9yeS4gSW4gcGFydGljdWxhciwgaXQgd2lsbCBrZWVwIG5vdCBvbmx5CitvYmplY3RzIHJlZmVyZW5jZWQgYnkgeW91ciBjdXJyZW50IHNldCBvZiBicmFuY2hlcyBhbmQgdGFncywgYnV0IGFsc28KK29iamVjdHMgcmVmZXJlbmNlZCBieSB0aGUgaW5kZXgsIHJlbW90ZS10cmFja2luZyBicmFuY2hlcywgbm90ZXMgc2F2ZWQKK2J5ICdnaXQgbm90ZXMnIHVuZGVyIHJlZnMvbm90ZXMvLCByZWZsb2dzICh3aGljaCBtYXkgcmVmZXJlbmNlIGNvbW1pdHMKK2luIGJyYW5jaGVzIHRoYXQgd2VyZSBsYXRlciBhbWVuZGVkIG9yIHJld291bmQpLCBhbmQgYW55dGhpbmcgZWxzZSBpbgordGhlIHJlZnMvKiBuYW1lc3BhY2UuICBJZiB5b3UgYXJlIGV4cGVjdGluZyBzb21lIG9iamVjdHMgdG8gYmUgZGVsZXRlZAorYW5kIHRoZXkgYXJlbid0LCBjaGVjayBhbGwgb2YgdGhvc2UgbG9jYXRpb25zIGFuZCBkZWNpZGUgd2hldGhlciBpdAorbWFrZXMgc2Vuc2UgaW4geW91ciBjYXNlIHRvIHJlbW92ZSB0aG9zZSByZWZlcmVuY2VzLgogCiBPbiB0aGUgb3RoZXIgaGFuZCwgd2hlbiAnZ2l0IGdjJyBydW5zIGNvbmN1cnJlbnRseSB3aXRoIGFub3RoZXIgcHJvY2VzcywKIHRoZXJlIGlzIGEgcmlzayBvZiBpdCBkZWxldGluZyBhbiBvYmplY3QgdGhhdCB0aGUgb3RoZXIgcHJvY2VzcyBpcyB1c2luZwpAQCAtMTkwLDggKzE0MCw3IEBACiAKIEhvd2V2ZXIsIHRoZXNlIGZlYXR1cmVzIGZhbGwgc2hvcnQgb2YgYSBjb21wbGV0ZSBzb2x1dGlvbiwgc28gdXNlcnMgd2hvCiBydW4gY29tbWFuZHMgY29uY3VycmVudGx5IGhhdmUgdG8gbGl2ZSB3aXRoIHNvbWUgcmlzayBvZiBjb3JydXB0aW9uICh3aGljaAotc2VlbXMgdG8gYmUgbG93IGluIHByYWN0aWNlKSB1bmxlc3MgdGhleSB0dXJuIG9mZiBhdXRvbWF0aWMgZ2FyYmFnZQotY29sbGVjdGlvbiB3aXRoICdnaXQgY29uZmlnIGdjLmF1dG8gMCcuCitzZWVtcyB0byBiZSBsb3cgaW4gcHJhY3RpY2UpLgogCiBIT09LUwogLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWdyZXAudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtZ3JlcC50eHQKaW5kZXggODRmZTIzNi4uZGRiNmFjYyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZ3JlcC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtZ3JlcC50eHQKQEAgLTU5LDggKzU5LDggQEAKIAlvdGhlciB0aGFuICdkZWZhdWx0Jy4KIAogZ3JlcC50aHJlYWRzOjoKLQlOdW1iZXIgb2YgZ3JlcCB3b3JrZXIgdGhyZWFkcyB0byB1c2UuICBJZiB1bnNldCAob3Igc2V0IHRvIDApLAotCTggdGhyZWFkcyBhcmUgdXNlZCBieSBkZWZhdWx0IChmb3Igbm93KS4KKwlOdW1iZXIgb2YgZ3JlcCB3b3JrZXIgdGhyZWFkcyB0byB1c2UuIElmIHVuc2V0IChvciBzZXQgdG8gMCksIEdpdCB3aWxsCisJdXNlIGFzIG1hbnkgdGhyZWFkcyBhcyB0aGUgbnVtYmVyIG9mIGxvZ2ljYWwgY29yZXMgYXZhaWxhYmxlLgogCiBncmVwLmZ1bGxOYW1lOjoKIAlJZiBzZXQgdG8gdHJ1ZSwgZW5hYmxlIGAtLWZ1bGwtbmFtZWAgb3B0aW9uIGJ5IGRlZmF1bHQuCkBAIC04OCw3ICs4OCw3IEBACiAJbWVjaGFuaXNtLiBPbmx5IHVzZWZ1bCB3aXRoIGAtLXVudHJhY2tlZGAuCiAKIC0tZXhjbHVkZS1zdGFuZGFyZDo6Ci0JRG8gbm90IHBheSBhdHRlbnRpb24gdG8gaWdub3JlZCBmaWxlcyBzcGVjaWZpZWQgdmlhIHRoZQlgLmdpdGlnbm9yZWAKKwlEbyBub3QgcGF5IGF0dGVudGlvbiB0byBpZ25vcmVkIGZpbGVzIHNwZWNpZmllZCB2aWEgdGhlIGAuZ2l0aWdub3JlYAogCW1lY2hhbmlzbS4gIE9ubHkgdXNlZnVsIHdoZW4gc2VhcmNoaW5nIGZpbGVzIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeQogCXdpdGggYC0tbm8taW5kZXhgLgogCkBAIC05Niw3ICs5Niw4IEBACiAJUmVjdXJzaXZlbHkgc2VhcmNoIGluIGVhY2ggc3VibW9kdWxlIHRoYXQgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgYW5kCiAJY2hlY2tlZCBvdXQgaW4gdGhlIHJlcG9zaXRvcnkuICBXaGVuIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCB0aGUKIAk8dHJlZT4gb3B0aW9uIHRoZSBwcmVmaXggb2YgYWxsIHN1Ym1vZHVsZSBvdXRwdXQgd2lsbCBiZSB0aGUgbmFtZSBvZgotCXRoZSBwYXJlbnQgcHJvamVjdCdzIDx0cmVlPiBvYmplY3QuCisJdGhlIHBhcmVudCBwcm9qZWN0J3MgPHRyZWU+IG9iamVjdC4gVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdAorCWlmIGAtLW5vLWluZGV4YCBpcyBnaXZlbi4KIAogLWE6OgogLS10ZXh0OjoKQEAgLTI3MSw2ICsyNzIsMjMgQEAKIAogLWYgPGZpbGU+OjoKIAlSZWFkIHBhdHRlcm5zIGZyb20gPGZpbGU+LCBvbmUgcGVyIGxpbmUuCisrCitQYXNzaW5nIHRoZSBwYXR0ZXJuIHZpYSA8ZmlsZT4gYWxsb3dzIGZvciBwcm92aWRpbmcgYSBzZWFyY2ggcGF0dGVybgorY29udGFpbmluZyBhIFwwLgorKworTm90IGFsbCBwYXR0ZXJuIHR5cGVzIHN1cHBvcnQgcGF0dGVybnMgY29udGFpbmluZyBcMC4gR2l0IHdpbGwgZXJyb3IKK291dCBpZiBhIGdpdmVuIHBhdHRlcm4gdHlwZSBjYW4ndCBzdXBwb3J0IHN1Y2ggYSBwYXR0ZXJuLiBUaGUKK2AtLXBlcmwtcmVnZXhwYCBwYXR0ZXJuIHR5cGUgd2hlbiBjb21waWxlZCBhZ2FpbnN0IHRoZSBQQ1JFIHYyIGJhY2tlbmQKK2hhcyB0aGUgd2lkZXN0IHN1cHBvcnQgZm9yIHRoZXNlIHR5cGVzIG9mIHBhdHRlcm5zLgorKworSW4gdmVyc2lvbnMgb2YgR2l0IGJlZm9yZSAyLjIzLjAgcGF0dGVybnMgY29udGFpbmluZyBcMCB3b3VsZCBiZQorc2lsZW50bHkgY29uc2lkZXJlZCBmaXhlZC4gVGhpcyB3YXMgbmV2ZXIgZG9jdW1lbnRlZCwgdGhlcmUgd2VyZSBhbHNvCitvZGQgYW5kIHVuZG9jdW1lbnRlZCBpbnRlcmFjdGlvbnMgYmV0d2VlbiBlLmcuIG5vbi1BU0NJSSBwYXR0ZXJucworY29udGFpbmluZyBcMCBhbmQgYC0taWdub3JlLWNhc2VgLgorKworSW4gZnV0dXJlIHZlcnNpb25zIHdlIG1heSBsZWFybiB0byBzdXBwb3J0IHBhdHRlcm5zIGNvbnRhaW5pbmcgXDAgZm9yCittb3JlIHNlYXJjaCBiYWNrZW5kcywgdW50aWwgdGhlbiB3ZSdsbCBkaWUgd2hlbiB0aGUgcGF0dGVybiB0eXBlIGluCitxdWVzdGlvbiBkb2Vzbid0IHN1cHBvcnQgdGhlbS4KIAogLWU6OgogCVRoZSBuZXh0IHBhcmFtZXRlciBpcyB0aGUgcGF0dGVybi4gVGhpcyBvcHRpb24gaGFzIHRvIGJlCkBAIC0zMzAsNiArMzQ4LDE3IEBACiBgZ2l0IGdyZXAgc29sdXRpb24gLS0gOl5Eb2N1bWVudGF0aW9uYDo6CiAJTG9va3MgZm9yIGBzb2x1dGlvbmAsIGV4Y2x1ZGluZyBmaWxlcyBpbiBgRG9jdW1lbnRhdGlvbmAuCiAKK05PVEVTIE9OIFRIUkVBRFMKKy0tLS0tLS0tLS0tLS0tLS0KKworVGhlIGAtLXRocmVhZHNgIG9wdGlvbiAoYW5kIHRoZSBncmVwLnRocmVhZHMgY29uZmlndXJhdGlvbikgd2lsbCBiZSBpZ25vcmVkIHdoZW4KK2AtLW9wZW4tZmlsZXMtaW4tcGFnZXJgIGlzIHVzZWQsIGZvcmNpbmcgYSBzaW5nbGUtdGhyZWFkZWQgZXhlY3V0aW9uLgorCitXaGVuIGdyZXBwaW5nIHRoZSBvYmplY3Qgc3RvcmUgKHdpdGggYC0tY2FjaGVkYCBvciBnaXZpbmcgdHJlZSBvYmplY3RzKSwgcnVubmluZword2l0aCBtdWx0aXBsZSB0aHJlYWRzIG1pZ2h0IHBlcmZvcm0gc2xvd2VyIHRoYW4gc2luZ2xlIHRocmVhZGVkIGlmIGAtLXRleHRjb252YAoraXMgZ2l2ZW4gYW5kIHRoZXJlJ3JlIHRvbyBtYW55IHRleHQgY29udmVyc2lvbnMuIFNvIGlmIHlvdSBleHBlcmllbmNlIGxvdworcGVyZm9ybWFuY2UgaW4gdGhpcyBjYXNlLCBpdCBtaWdodCBiZSBkZXNpcmFibGUgdG8gdXNlIGAtLXRocmVhZHM9MWAuCisKIEdJVAogLS0tCiBQYXJ0IG9mIHRoZSBsaW5rZ2l0OmdpdFsxXSBzdWl0ZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtZ3VpLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWd1aS50eHQKaW5kZXggNWY5M2Y4MC4uYzlkN2U5NiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtZ3VpLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1ndWkudHh0CkBAIC0xMTIsMTUgKzExMiw5IEBACiB2ZXJzaW9ucyBhcmUgZGlzdHJpYnV0ZWQgYXMgcGFydCBvZiB0aGUgR2l0IHN1aXRlIGZvciB0aGUgY29udmVuaWVuY2UKIG9mIGVuZCB1c2Vycy4KIAotQSAnZ2l0IGd1aScgZGV2ZWxvcG1lbnQgcmVwb3NpdG9yeSBjYW4gYmUgb2J0YWluZWQgZnJvbToKK1RoZSBvZmZpY2lhbCByZXBvc2l0b3J5IG9mIHRoZSAnZ2l0IGd1aScgcHJvamVjdCBjYW4gYmUgZm91bmQgYXQ6CiAKLSAgZ2l0IGNsb25lIGdpdDovL3JlcG8ub3IuY3ovZ2l0LWd1aS5naXQKLQotb3IKLQotICBnaXQgY2xvbmUgaHR0cDovL3JlcG8ub3IuY3ovci9naXQtZ3VpLmdpdAotCi1vciBicm93c2VkIG9ubGluZSBhdCBodHRwOi8vcmVwby5vci5jei93L2dpdC1ndWkuZ2l0L1tdLgorICBodHRwczovL2dpdGh1Yi5jb20vcHJhdGkwMTAwL2dpdC1ndWkuZ2l0LwogCiBHSVQKIC0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtaGFzaC1vYmplY3QudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtaGFzaC1vYmplY3QudHh0CmluZGV4IDgxNGU3NDQuLmRmOWUyYzUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWhhc2gtb2JqZWN0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1oYXNoLW9iamVjdC50eHQKQEAgLTE4LDkgKzE4LDcgQEAKIHdpdGggdGhlIGNvbnRlbnRzIG9mIHRoZSBuYW1lZCBmaWxlICh3aGljaCBjYW4gYmUgb3V0c2lkZSBvZiB0aGUKIHdvcmsgdHJlZSksIGFuZCBvcHRpb25hbGx5IHdyaXRlcyB0aGUgcmVzdWx0aW5nIG9iamVjdCBpbnRvIHRoZQogb2JqZWN0IGRhdGFiYXNlLiAgUmVwb3J0cyBpdHMgb2JqZWN0IElEIHRvIGl0cyBzdGFuZGFyZCBvdXRwdXQuCi1UaGlzIGlzIHVzZWQgYnkgJ2dpdCBjdnNpbXBvcnQnIHRvIHVwZGF0ZSB0aGUgaW5kZXgKLXdpdGhvdXQgbW9kaWZ5aW5nIGZpbGVzIGluIHRoZSB3b3JrIHRyZWUuICBXaGVuIDx0eXBlPiBpcyBub3QKLXNwZWNpZmllZCwgaXQgZGVmYXVsdHMgdG8gImJsb2IiLgorV2hlbiA8dHlwZT4gaXMgbm90IHNwZWNpZmllZCwgaXQgZGVmYXVsdHMgdG8gImJsb2IiLgogCiBPUFRJT05TCiAtLS0tLS0tCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1oZWxwLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWhlbHAudHh0CmluZGV4IGFhYjU0NTMuLmY3MWRiMGQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWhlbHAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWhlbHAudHh0CkBAIC0xMTgsOSArMTE4LDkgQEAKIAogKiAibWFuIjogdXNlIHRoZSAnbWFuJyBwcm9ncmFtIGFzIHVzdWFsLAogKiAid29tYW4iOiB1c2UgJ2VtYWNzY2xpZW50JyB0byBsYXVuY2ggdGhlICJ3b21hbiIgbW9kZSBpbiBlbWFjcwotKHRoaXMgb25seSB3b3JrcyBzdGFydGluZyB3aXRoIGVtYWNzY2xpZW50IHZlcnNpb25zIDIyKSwKKyAgKHRoaXMgb25seSB3b3JrcyBzdGFydGluZyB3aXRoIGVtYWNzY2xpZW50IHZlcnNpb25zIDIyKSwKICogImtvbnF1ZXJvciI6IHVzZSAna2ZtY2xpZW50JyB0byBvcGVuIHRoZSBtYW4gcGFnZSBpbiBhIG5ldyBrb25xdWVyb3IKLXRhYiAoc2VlICdOb3RlIGFib3V0IGtvbnF1ZXJvcicgYmVsb3cpLgorICB0YWIgKHNlZSAnTm90ZSBhYm91dCBrb25xdWVyb3InIGJlbG93KS4KIAogVmFsdWVzIGZvciBvdGhlciB0b29scyBjYW4gYmUgdXNlZCBpZiB0aGVyZSBpcyBhIGNvcnJlc3BvbmRpbmcKIGBtYW4uPHRvb2w+LmNtZGAgY29uZmlndXJhdGlvbiBlbnRyeSAoc2VlIGJlbG93KS4KQEAgLTE3MSw4ICsxNzEsOCBAQAogYWxyZWFkeSBvcGVuZWQga29ucXVlcm9yIGluIGEgbmV3IHRhYiBpZiBwb3NzaWJsZS4KIAogRm9yIGNvbnNpc3RlbmN5LCB3ZSBhbHNvIHRyeSBzdWNoIGEgdHJpY2sgaWYgJ21hbi5rb25xdWVyb3IucGF0aCcgaXMKLXNldCB0byBzb21ldGhpbmcgbGlrZSAnQV9QQVRIX1RPL2tvbnF1ZXJvcicuIFRoYXQgbWVhbnMgd2Ugd2lsbCB0cnkgdG8KLWxhdW5jaCAnQV9QQVRIX1RPL2tmbWNsaWVudCcgaW5zdGVhZC4KK3NldCB0byBzb21ldGhpbmcgbGlrZSBgQV9QQVRIX1RPL2tvbnF1ZXJvcmAuIFRoYXQgbWVhbnMgd2Ugd2lsbCB0cnkgdG8KK2xhdW5jaCBgQV9QQVRIX1RPL2tmbWNsaWVudGAgaW5zdGVhZC4KIAogSWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSAna29ucXVlcm9yJywgdGhlbiB5b3UgY2FuIHVzZSBzb21ldGhpbmcgbGlrZQogdGhlIGZvbGxvd2luZzoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWh0dHAtYmFja2VuZC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1odHRwLWJhY2tlbmQudHh0CmluZGV4IGJiMGRiMTkuLjU1ODk2NmEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWh0dHAtYmFja2VuZC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtaHR0cC1iYWNrZW5kLnR4dApAQCAtMTYyLDcgKzE2Miw3IEBACiAKIEFjY2VsZXJhdGVkIHN0YXRpYyBBcGFjaGUgMi54OjoKIAlTaW1pbGFyIHRvIHRoZSBhYm92ZSwgYnV0IEFwYWNoZSBjYW4gYmUgdXNlZCB0byByZXR1cm4gc3RhdGljCi0JZmlsZXMgdGhhdCBhcmUgc3RvcmVkIG9uIGRpc2suCU9uIG1hbnkgc3lzdGVtcyB0aGlzIG1heQorCWZpbGVzIHRoYXQgYXJlIHN0b3JlZCBvbiBkaXNrLiAgT24gbWFueSBzeXN0ZW1zIHRoaXMgbWF5CiAJYmUgbW9yZSBlZmZpY2llbnQgYXMgQXBhY2hlIGNhbiBhc2sgdGhlIGtlcm5lbCB0byBjb3B5IHRoZQogCWZpbGUgY29udGVudHMgZnJvbSB0aGUgZmlsZSBzeXN0ZW0gZGlyZWN0bHkgdG8gdGhlIG5ldHdvcms6CiArCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1pbml0LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWluaXQudHh0CmluZGV4IDNjNWE2N2YuLjMyODgwYWEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWluaXQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWluaXQudHh0CkBAIC0zOCw4ICszOCw2IEBACiBPUFRJT05TCiAtLS0tLS0tCiAKLS0tCi0KIC1xOjoKIC0tcXVpZXQ6OgogCkBAIC0xMTEsOCArMTA5LDYgQEAKIElmIHlvdSBwcm92aWRlIGEgJ2RpcmVjdG9yeScsIHRoZSBjb21tYW5kIGlzIHJ1biBpbnNpZGUgaXQuIElmIHRoaXMgZGlyZWN0b3J5CiBkb2VzIG5vdCBleGlzdCwgaXQgd2lsbCBiZSBjcmVhdGVkLgogCi0tLQotCiBURU1QTEFURSBESVJFQ1RPUlkKIC0tLS0tLS0tLS0tLS0tLS0tLQogCkBAIC0xMzIsNyArMTI4LDcgQEAKIFRoZSBkZWZhdWx0IHRlbXBsYXRlIGRpcmVjdG9yeSBpbmNsdWRlcyBzb21lIGRpcmVjdG9yeSBzdHJ1Y3R1cmUsIHN1Z2dlc3RlZAogImV4Y2x1ZGUgcGF0dGVybnMiIChzZWUgbGlua2dpdDpnaXRpZ25vcmVbNV0pLCBhbmQgc2FtcGxlIGhvb2sgZmlsZXMuCiAKLVRoZSBzYW1wbGUgaG9va3MgYXJlIGFsbCBkaXNhYmxlZCBieSBkZWZhdWx0LCBUbyBlbmFibGUgb25lIG9mIHRoZQorVGhlIHNhbXBsZSBob29rcyBhcmUgYWxsIGRpc2FibGVkIGJ5IGRlZmF1bHQuIFRvIGVuYWJsZSBvbmUgb2YgdGhlCiBzYW1wbGUgaG9va3MgcmVuYW1lIGl0IGJ5IHJlbW92aW5nIGl0cyBgLnNhbXBsZWAgc3VmZml4LgogCiBTZWUgbGlua2dpdDpnaXRob29rc1s1XSBmb3IgbW9yZSBnZW5lcmFsIGluZm8gb24gaG9vayBleGVjdXRpb24uCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1pbnN0YXdlYi50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1pbnN0YXdlYi50eHQKaW5kZXggZThlY2RiZi4uYTU0ZmU0NCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtaW5zdGF3ZWIudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWluc3Rhd2ViLnR4dApAQCAtMjksNyArMjksOCBAQAogCVRoZSBIVFRQIGRhZW1vbiBjb21tYW5kLWxpbmUgdGhhdCB3aWxsIGJlIGV4ZWN1dGVkLgogCUNvbW1hbmQtbGluZSBvcHRpb25zIG1heSBiZSBzcGVjaWZpZWQgaGVyZSwgYW5kIHRoZQogCWNvbmZpZ3VyYXRpb24gZmlsZSB3aWxsIGJlIGFkZGVkIGF0IHRoZSBlbmQgb2YgdGhlIGNvbW1hbmQtbGluZS4KLQlDdXJyZW50bHkgYXBhY2hlMiwgbGlnaHR0cGQsIG1vbmdvb3NlLCBwbGFja3VwIGFuZCB3ZWJyaWNrIGFyZSBzdXBwb3J0ZWQuCisJQ3VycmVudGx5IGFwYWNoZTIsIGxpZ2h0dHBkLCBtb25nb29zZSwgcGxhY2t1cCwgcHl0aG9uIGFuZAorCXdlYnJpY2sgYXJlIHN1cHBvcnRlZC4KIAkoRGVmYXVsdDogbGlnaHR0cGQpCiAKIC1tOjoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWludGVycHJldC10cmFpbGVycy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1pbnRlcnByZXQtdHJhaWxlcnMudHh0CmluZGV4IGE1ZThiMzYuLjk2ZWM2NDkgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWludGVycHJldC10cmFpbGVycy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtaW50ZXJwcmV0LXRyYWlsZXJzLnR4dApAQCAtMyw3ICszLDcgQEAKIAogTkFNRQogLS0tLQotZ2l0LWludGVycHJldC10cmFpbGVycyAtIGFkZCBvciBwYXJzZSBzdHJ1Y3R1cmVkIGluZm9ybWF0aW9uIGluIGNvbW1pdCBtZXNzYWdlcworZ2l0LWludGVycHJldC10cmFpbGVycyAtIEFkZCBvciBwYXJzZSBzdHJ1Y3R1cmVkIGluZm9ybWF0aW9uIGluIGNvbW1pdCBtZXNzYWdlcwogCiBTWU5PUFNJUwogLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWxvZy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1sb2cudHh0CmluZGV4IDkwNzYxZjEuLmJlZDA5YmIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWxvZy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtbG9nLnR4dApAQCAtNDksNyArNDksNyBAQAogCVByaW50IG91dCB0aGUgcmVmIG5hbWUgZ2l2ZW4gb24gdGhlIGNvbW1hbmQgbGluZSBieSB3aGljaCBlYWNoCiAJY29tbWl0IHdhcyByZWFjaGVkLgogCi0tLXVzZS1tYWlsbWFwOjoKKy0tW25vLV11c2UtbWFpbG1hcDo6CiAJVXNlIG1haWxtYXAgZmlsZSB0byBtYXAgYXV0aG9yIGFuZCBjb21taXR0ZXIgbmFtZXMgYW5kIGVtYWlsCiAJYWRkcmVzc2VzIHRvIGNhbm9uaWNhbCByZWFsIG5hbWVzIGFuZCBlbWFpbCBhZGRyZXNzZXMuIFNlZQogCWxpbmtnaXQ6Z2l0LXNob3J0bG9nWzFdLgpAQCAtNzYsOCArNzYsMTIgQEAKIAkob3IgdGhlIGZ1bmN0aW9uIG5hbWUgcmVnZXggPGZ1bmNuYW1lPikgd2l0aGluIHRoZSA8ZmlsZT4uICBZb3UgbWF5CiAJbm90IGdpdmUgYW55IHBhdGhzcGVjIGxpbWl0ZXJzLiAgVGhpcyBpcyBjdXJyZW50bHkgbGltaXRlZCB0bwogCWEgd2FsayBzdGFydGluZyBmcm9tIGEgc2luZ2xlIHJldmlzaW9uLCBpLmUuLCB5b3UgbWF5IG9ubHkKLQlnaXZlIHplcm8gb3Igb25lIHBvc2l0aXZlIHJldmlzaW9uIGFyZ3VtZW50cy4KLQlZb3UgY2FuIHNwZWNpZnkgdGhpcyBvcHRpb24gbW9yZSB0aGFuIG9uY2UuCisJZ2l2ZSB6ZXJvIG9yIG9uZSBwb3NpdGl2ZSByZXZpc2lvbiBhcmd1bWVudHMsIGFuZAorCTxzdGFydD4gYW5kIDxlbmQ+IChvciA8ZnVuY25hbWU+KSBtdXN0IGV4aXN0IGluIHRoZSBzdGFydGluZyByZXZpc2lvbi4KKwlZb3UgY2FuIHNwZWNpZnkgdGhpcyBvcHRpb24gbW9yZSB0aGFuIG9uY2UuIEltcGxpZXMgYC0tcGF0Y2hgLgorCVBhdGNoIG91dHB1dCBjYW4gYmUgc3VwcHJlc3NlZCB1c2luZyBgLS1uby1wYXRjaGAsIGJ1dCBvdGhlciBkaWZmIGZvcm1hdHMKKwkobmFtZWx5IGAtLXJhd2AsIGAtLW51bXN0YXRgLCBgLS1zaG9ydHN0YXRgLCBgLS1kaXJzdGF0YCwgYC0tc3VtbWFyeWAsCisJYC0tbmFtZS1vbmx5YCwgYC0tbmFtZS1zdGF0dXNgLCBgLS1jaGVja2ApIGFyZSBub3QgY3VycmVudGx5IGltcGxlbWVudGVkLgogKwogaW5jbHVkZTo6bGluZS1yYW5nZS1mb3JtYXQudHh0W10KIApAQCAtMTkyLDYgKzE5NiwxMCBAQAogCURlZmF1bHQgZm9ybWF0IGZvciBodW1hbi1yZWFkYWJsZSBkYXRlcy4gIChDb21wYXJlIHRoZQogCWAtLWRhdGVgIG9wdGlvbi4pICBEZWZhdWx0cyB0byAiZGVmYXVsdCIsIHdoaWNoIG1lYW5zIHRvIHdyaXRlCiAJZGF0ZXMgbGlrZSBgU2F0IE1heSA4IDE5OjM1OjM0IDIwMTAgLTA1MDBgLgorKworSWYgdGhlIGZvcm1hdCBpcyBzZXQgdG8gImF1dG86Zm9vIiBhbmQgdGhlIHBhZ2VyIGlzIGluIHVzZSwgZm9ybWF0CisiZm9vIiB3aWxsIGJlIHRoZSB1c2VkIGZvciB0aGUgZGF0ZSBmb3JtYXQuIE90aGVyd2lzZSAiZGVmYXVsdCIgd2lsbAorYmUgdXNlZC4KIAogbG9nLmZvbGxvdzo6CiAJSWYgYHRydWVgLCBgZ2l0IGxvZ2Agd2lsbCBhY3QgYXMgaWYgdGhlIGAtLWZvbGxvd2Agb3B0aW9uIHdhcyB1c2VkIHdoZW4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LWxzLWZpbGVzLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWxzLWZpbGVzLnR4dAppbmRleCA1Mjk4ZjFiLi44NDYxYzBlIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1scy1maWxlcy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtbHMtZmlsZXMudHh0CkBAIC0xMTgsNiArMTE4LDcgQEAKIAlsaW5rZ2l0OmdpdC1zdGF0dXNbMV0gYC0tc2hvcnRgIG9yIGxpbmtnaXQ6Z2l0LWRpZmZbMV0KIAlgLS1uYW1lLXN0YXR1c2AgZm9yIG1vcmUgdXNlci1mcmllbmRseSBhbHRlcm5hdGl2ZXMuCiArCistLQogVGhpcyBvcHRpb24gaWRlbnRpZmllcyB0aGUgZmlsZSBzdGF0dXMgd2l0aCB0aGUgZm9sbG93aW5nIHRhZ3MgKGZvbGxvd2VkIGJ5CiBhIHNwYWNlKSBhdCB0aGUgc3RhcnQgb2YgZWFjaCBsaW5lOgogCkBAIC0xMjgsNiArMTI5LDcgQEAKIAlDOjoJbW9kaWZpZWQvY2hhbmdlZAogCUs6Ogl0byBiZSBraWxsZWQKIAk/OjoJb3RoZXIKKy0tCiAKIC12OjoKIAlTaW1pbGFyIHRvIGAtdGAsIGJ1dCB1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yIGZpbGVzCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1scy1yZW1vdGUudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtbHMtcmVtb3RlLnR4dAppbmRleCBjOWU2ODU4Li4wYTVjOGI3IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1scy1yZW1vdGUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWxzLXJlbW90ZS50eHQKQEAgLTMzLDcgKzMzLDcgQEAKIAl3aXRoIG90aGVyIGdpdCBzdWJjb21tYW5kcy4KIAogLS1yZWZzOjoKLQlEbyBub3Qgc2hvdyBwZWVsZWQgdGFncyBvciBwc2V1ZG9yZWZzIGxpa2UgSEVBRAlpbiB0aGUgb3V0cHV0LgorCURvIG5vdCBzaG93IHBlZWxlZCB0YWdzIG9yIHBzZXVkb3JlZnMgbGlrZSBgSEVBRGAgaW4gdGhlIG91dHB1dC4KIAogLXE6OgogLS1xdWlldDo6CkBAIC05NCwyMSArOTQsMjMgQEAKIEVYQU1QTEVTCiAtLS0tLS0tLQogCi0JJCBnaXQgbHMtcmVtb3RlIC0tdGFncyAuLy4KLQlkNjYwMmVjNTE5NGM4N2IwZmM4NzEwM2NhNGQ2NzI1MWM3NmYyMzNhCXJlZnMvdGFncy92MC45OQotCWYyNWEyNjVhMzQyYWVkNjA0MWFiMGNjNDg0MjI0ZDljYTU0YjZmNDEJcmVmcy90YWdzL3YwLjk5LjEKLQk3Y2VjYTI3NWQwNDdjOTBjMGM3ZDVhZmIxM2FiOTdlZmRmNTFiZDZlCXJlZnMvdGFncy92MC45OS4zCi0JYzVkYjU0NTZhZTNiMDg3M2ZjNjU5YzE5ZmFmZGRlMjIzMTNjYzQ0MQlyZWZzL3RhZ3MvdjAuOTkuMgotCTA5MTgzODVkYmQ5NjU2Y2FiMGQxZDgxYmE3NDUzZDQ5YmJjMTYyNTAJcmVmcy90YWdzL2p1bmlvLWdwZy1wdWIKLQkkIGdpdCBscy1yZW1vdGUgaHR0cDovL3d3dy5rZXJuZWwub3JnL3B1Yi9zY20vZ2l0L2dpdC5naXQgbWFzdGVyIHB1IHJjCi0JNWZlOTc4YTUzODFmMWZiYWQyNmE4MGU2ODJkZGQyYTQwMTk2Njc0MAlyZWZzL2hlYWRzL21hc3RlcgotCWM3ODFhODRiNTIwNGZiMjk0YzljY2M3OWY4YjNiYWNlZWIzMmMwNjEJcmVmcy9oZWFkcy9wdQotCSQgZ2l0IHJlbW90ZSBhZGQga29yZyBodHRwOi8vd3d3Lmtlcm5lbC5vcmcvcHViL3NjbS9naXQvZ2l0LmdpdAotCSQgZ2l0IGxzLXJlbW90ZSAtLXRhZ3Mga29yZyB2XCoKLQlkNjYwMmVjNTE5NGM4N2IwZmM4NzEwM2NhNGQ2NzI1MWM3NmYyMzNhCXJlZnMvdGFncy92MC45OQotCWYyNWEyNjVhMzQyYWVkNjA0MWFiMGNjNDg0MjI0ZDljYTU0YjZmNDEJcmVmcy90YWdzL3YwLjk5LjEKLQljNWRiNTQ1NmFlM2IwODczZmM2NTljMTlmYWZkZGUyMjMxM2NjNDQxCXJlZnMvdGFncy92MC45OS4yCi0JN2NlY2EyNzVkMDQ3YzkwYzBjN2Q1YWZiMTNhYjk3ZWZkZjUxYmQ2ZQlyZWZzL3RhZ3MvdjAuOTkuMworLS0tLQorJCBnaXQgbHMtcmVtb3RlIC0tdGFncyAuLy4KK2Q2NjAyZWM1MTk0Yzg3YjBmYzg3MTAzY2E0ZDY3MjUxYzc2ZjIzM2EJcmVmcy90YWdzL3YwLjk5CitmMjVhMjY1YTM0MmFlZDYwNDFhYjBjYzQ4NDIyNGQ5Y2E1NGI2ZjQxCXJlZnMvdGFncy92MC45OS4xCis3Y2VjYTI3NWQwNDdjOTBjMGM3ZDVhZmIxM2FiOTdlZmRmNTFiZDZlCXJlZnMvdGFncy92MC45OS4zCitjNWRiNTQ1NmFlM2IwODczZmM2NTljMTlmYWZkZGUyMjMxM2NjNDQxCXJlZnMvdGFncy92MC45OS4yCiswOTE4Mzg1ZGJkOTY1NmNhYjBkMWQ4MWJhNzQ1M2Q0OWJiYzE2MjUwCXJlZnMvdGFncy9qdW5pby1ncGctcHViCiskIGdpdCBscy1yZW1vdGUgaHR0cDovL3d3dy5rZXJuZWwub3JnL3B1Yi9zY20vZ2l0L2dpdC5naXQgbWFzdGVyIHB1IHJjCis1ZmU5NzhhNTM4MWYxZmJhZDI2YTgwZTY4MmRkZDJhNDAxOTY2NzQwCXJlZnMvaGVhZHMvbWFzdGVyCitjNzgxYTg0YjUyMDRmYjI5NGM5Y2NjNzlmOGIzYmFjZWViMzJjMDYxCXJlZnMvaGVhZHMvcHUKKyQgZ2l0IHJlbW90ZSBhZGQga29yZyBodHRwOi8vd3d3Lmtlcm5lbC5vcmcvcHViL3NjbS9naXQvZ2l0LmdpdAorJCBnaXQgbHMtcmVtb3RlIC0tdGFncyBrb3JnIHZcKgorZDY2MDJlYzUxOTRjODdiMGZjODcxMDNjYTRkNjcyNTFjNzZmMjMzYQlyZWZzL3RhZ3MvdjAuOTkKK2YyNWEyNjVhMzQyYWVkNjA0MWFiMGNjNDg0MjI0ZDljYTU0YjZmNDEJcmVmcy90YWdzL3YwLjk5LjEKK2M1ZGI1NDU2YWUzYjA4NzNmYzY1OWMxOWZhZmRkZTIyMzEzY2M0NDEJcmVmcy90YWdzL3YwLjk5LjIKKzdjZWNhMjc1ZDA0N2M5MGMwYzdkNWFmYjEzYWI5N2VmZGY1MWJkNmUJcmVmcy90YWdzL3YwLjk5LjMKKy0tLS0KIAogU0VFIEFMU08KIC0tLS0tLS0tCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1scy10cmVlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LWxzLXRyZWUudHh0CmluZGV4IDlkZWU3YmUuLmE3NTE1NzEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LWxzLXRyZWUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LWxzLXRyZWUudHh0CkBAIC0yNyw5ICsyNyw5IEBACiAgICB0YWtlbiBhcyByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4gIEUuZy4gd2hlbiB5b3UgYXJlCiAgICBpbiBhIGRpcmVjdG9yeSAnc3ViJyB0aGF0IGhhcyBhIGRpcmVjdG9yeSAnZGlyJywgeW91IGNhbiBydW4gJ2dpdAogICAgbHMtdHJlZSAtciBIRUFEIGRpcicgdG8gbGlzdCB0aGUgY29udGVudHMgb2YgdGhlIHRyZWUgKHRoYXQgaXMKLSAgICdzdWIvZGlyJyBpbiBgSEVBRGApLiAgWW91IGRvbid0IHdhbnQgdG8gZ2l2ZSBhIHRyZWUgdGhhdCBpcyBub3QgYXQgdGhlCisgICBgc3ViL2RpcmAgaW4gYEhFQURgKS4gIFlvdSBkb24ndCB3YW50IHRvIGdpdmUgYSB0cmVlIHRoYXQgaXMgbm90IGF0IHRoZQogICAgcm9vdCBsZXZlbCAoZS5nLiBgZ2l0IGxzLXRyZWUgLXIgSEVBRDpzdWIgZGlyYCkgaW4gdGhpcyBjYXNlLCBhcyB0aGF0Ci0gICB3b3VsZCByZXN1bHQgaW4gYXNraW5nIGZvciAnc3ViL3N1Yi9kaXInIGluIHRoZSBgSEVBRGAgY29tbWl0LgorICAgd291bGQgcmVzdWx0IGluIGFza2luZyBmb3IgYHN1Yi9zdWIvZGlyYCBpbiB0aGUgYEhFQURgIGNvbW1pdC4KICAgIEhvd2V2ZXIsIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGNhbiBiZSBpZ25vcmVkIGJ5IHBhc3NpbmcKICAgIC0tZnVsbC10cmVlIG9wdGlvbi4KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtbWVyZ2UtYmFzZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1tZXJnZS1iYXNlLnR4dAppbmRleCA5ZjA3ZjRmLi4yZDk0NGUwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1tZXJnZS1iYXNlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1tZXJnZS1iYXNlLnR4dApAQCAtODAsOSArODAsMTEgQEAKIAogRm9yIGV4YW1wbGUsIHdpdGggdGhpcyB0b3BvbG9neToKIAotCSAgICAgICAgIG8tLS1vLS0tby0tLUIKLQkgICAgICAgIC8KLQktLS1vLS0tMS0tLW8tLS1vLS0tby0tLUEKKy4uLi4KKwkgby0tLW8tLS1vLS0tQgorCS8KKy0tLW8tLS0xLS0tby0tLW8tLS1vLS0tQQorLi4uLgogCiB0aGUgbWVyZ2UgYmFzZSBiZXR3ZWVuICdBJyBhbmQgJ0InIGlzICcxJy4KIApAQCAtOTAsMjEgKzkyLDI1IEBACiBtZXJnZSBiYXNlIGJldHdlZW4gJ0EnIGFuZCBhIGh5cG90aGV0aWNhbCBjb21taXQgJ00nLCB3aGljaCBpcyBhIG1lcmdlCiBiZXR3ZWVuICdCJyBhbmQgJ0MnLiAgRm9yIGV4YW1wbGUsIHdpdGggdGhpcyB0b3BvbG9neToKIAotCSAgICAgICBvLS0tby0tLW8tLS1vLS0tQwotCSAgICAgIC8KLQkgICAgIC8gICBvLS0tby0tLW8tLS1CCi0JICAgIC8gICAvCi0JLS0tMi0tLTEtLS1vLS0tby0tLW8tLS1BCisuLi4uCisgICAgICAgby0tLW8tLS1vLS0tby0tLUMKKyAgICAgIC8KKyAgICAgLyAgIG8tLS1vLS0tby0tLUIKKyAgICAvICAgLworLS0tMi0tLTEtLS1vLS0tby0tLW8tLS1BCisuLi4uCiAKIHRoZSByZXN1bHQgb2YgYGdpdCBtZXJnZS1iYXNlIEEgQiBDYCBpcyAnMScuICBUaGlzIGlzIGJlY2F1c2UgdGhlCiBlcXVpdmFsZW50IHRvcG9sb2d5IHdpdGggYSBtZXJnZSBjb21taXQgJ00nIGJldHdlZW4gJ0InIGFuZCAnQycgaXM6CiAKIAotCSAgICAgICBvLS0tby0tLW8tLS1vLS0tbwotCSAgICAgIC8gICAgICAgICAgICAgICAgIFwKLQkgICAgIC8gICBvLS0tby0tLW8tLS1vLS0tTQotCSAgICAvICAgLwotCS0tLTItLS0xLS0tby0tLW8tLS1vLS0tQQorLi4uLgorICAgICAgIG8tLS1vLS0tby0tLW8tLS1vCisgICAgICAvICAgICAgICAgICAgICAgICBcCisgICAgIC8gICBvLS0tby0tLW8tLS1vLS0tTQorICAgIC8gICAvCistLS0yLS0tMS0tLW8tLS1vLS0tby0tLUEKKy4uLi4KIAogYW5kIHRoZSByZXN1bHQgb2YgYGdpdCBtZXJnZS1iYXNlIEEgTWAgaXMgJzEnLiAgQ29tbWl0ICcyJyBpcyBhbHNvIGEKIGNvbW1vbiBhbmNlc3RvciBiZXR3ZWVuICdBJyBhbmQgJ00nLCBidXQgJzEnIGlzIGEgYmV0dGVyIGNvbW1vbiBhbmNlc3RvciwKQEAgLTExNiwxMSArMTIyLDEzIEBACiBXaGVuIHRoZSBoaXN0b3J5IGludm9sdmVzIGNyaXNzLWNyb3NzIG1lcmdlcywgdGhlcmUgY2FuIGJlIG1vcmUgdGhhbiBvbmUKICdiZXN0JyBjb21tb24gYW5jZXN0b3IgZm9yIHR3byBjb21taXRzLiAgRm9yIGV4YW1wbGUsIHdpdGggdGhpcyB0b3BvbG9neToKIAotCS0tLTEtLS1vLS0tQQotCSAgICBcIC8KLQkgICAgIFgKLQkgICAgLyBcCi0JLS0tMi0tLW8tLS1vLS0tQgorLi4uLgorLS0tMS0tLW8tLS1BCisgICAgXCAvCisgICAgIFgKKyAgICAvIFwKKy0tLTItLS1vLS0tby0tLUIKKy4uLi4KIAogYm90aCAnMScgYW5kICcyJyBhcmUgbWVyZ2UtYmFzZXMgb2YgQSBhbmQgQi4gIE5laXRoZXIgb25lIGlzIGJldHRlciB0aGFuCiB0aGUgb3RoZXIgKGJvdGggYXJlICdiZXN0JyBtZXJnZSBiYXNlcykuICBXaGVuIHRoZSBgLS1hbGxgIG9wdGlvbiBpcyBub3QgZ2l2ZW4sCkBAIC0xMzEsMzYgKzEzOSw0MiBAQAogQSBhbmQgQiwgYW5kIGNoZWNrIGlmIGl0IGlzIHRoZSBzYW1lIGFzIEEsIGluIHdoaWNoIGNhc2UsIEEgaXMgYW4KIGFuY2VzdG9yIG9mIEIuICBZb3Ugd2lsbCBzZWUgdGhpcyBpZGlvbSB1c2VkIG9mdGVuIGluIG9sZGVyIHNjcmlwdHMuCiAKLQlBPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBBKQotCWlmIHRlc3QgIiRBIiA9ICIkKGdpdCBtZXJnZS1iYXNlIEEgQikiCi0JdGhlbgotCQkuLi4gQSBpcyBhbiBhbmNlc3RvciBvZiBCIC4uLgotCWZpCisuLi4uCitBPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBBKQoraWYgdGVzdCAiJEEiID0gIiQoZ2l0IG1lcmdlLWJhc2UgQSBCKSIKK3RoZW4KKwkuLi4gQSBpcyBhbiBhbmNlc3RvciBvZiBCIC4uLgorZmkKKy4uLi4KIAogSW4gbW9kZXJuIGdpdCwgeW91IGNhbiBzYXkgdGhpcyBpbiBhIG1vcmUgZGlyZWN0IHdheToKIAotCWlmIGdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgQSBCCi0JdGhlbgotCQkuLi4gQSBpcyBhbiBhbmNlc3RvciBvZiBCIC4uLgotCWZpCisuLi4uCitpZiBnaXQgbWVyZ2UtYmFzZSAtLWlzLWFuY2VzdG9yIEEgQgordGhlbgorCS4uLiBBIGlzIGFuIGFuY2VzdG9yIG9mIEIgLi4uCitmaQorLi4uLgogCiBpbnN0ZWFkLgogCiBEaXNjdXNzaW9uIG9uIGZvcmstcG9pbnQgbW9kZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotQWZ0ZXIgd29ya2luZyBvbiB0aGUgYHRvcGljYCBicmFuY2ggY3JlYXRlZCB3aXRoIGBnaXQgY2hlY2tvdXQgLWIKK0FmdGVyIHdvcmtpbmcgb24gdGhlIGB0b3BpY2AgYnJhbmNoIGNyZWF0ZWQgd2l0aCBgZ2l0IHN3aXRjaCAtYwogdG9waWMgb3JpZ2luL21hc3RlcmAsIHRoZSBoaXN0b3J5IG9mIHJlbW90ZS10cmFja2luZyBicmFuY2gKIGBvcmlnaW4vbWFzdGVyYCBtYXkgaGF2ZSBiZWVuIHJld291bmQgYW5kIHJlYnVpbHQsIGxlYWRpbmcgdG8gYQogaGlzdG9yeSBvZiB0aGlzIHNoYXBlOgogCi0JICAgICAgICAgICAgICAgICBvLS0tQjIKLQkgICAgICAgICAgICAgICAgLwotCS0tLW8tLS1vLS0tQjEtLW8tLS1vLS0tby0tLUIgKG9yaWdpbi9tYXN0ZXIpCi0JICAgICAgICBcCi0JICAgICAgICAgQjAKLQkgICAgICAgICAgXAotCSAgICAgICAgICAgRDAtLS1EMS0tLUQgKHRvcGljKQorLi4uLgorCQkgby0tLUIyCisJCS8KKy0tLW8tLS1vLS0tQjEtLW8tLS1vLS0tby0tLUIgKG9yaWdpbi9tYXN0ZXIpCisJXAorCSBCMAorCSAgXAorCSAgIEQwLS0tRDEtLS1EICh0b3BpYykKKy4uLi4KIAogd2hlcmUgYG9yaWdpbi9tYXN0ZXJgIHVzZWQgdG8gcG9pbnQgYXQgY29tbWl0cyBCMCwgQjEsIEIyIGFuZCBub3cgaXQKIHBvaW50cyBhdCBCLCBhbmQgeW91ciBgdG9waWNgIGJyYW5jaCB3YXMgc3RhcnRlZCBvbiB0b3Agb2YgaXQgYmFjawpAQCAtMTkzLDEzICsyMDcsMTUgQEAKIHdpbGwgcmVwbGF5IEQwLCBEMSBhbmQgRCBvbiB0b3Agb2YgQiB0byBjcmVhdGUgYSBuZXcgaGlzdG9yeSBvZiB0aGlzCiBzaGFwZToKIAotCQkJIG8tLS1CMgotCQkJLwotCS0tLW8tLS1vLS0tQjEtLW8tLS1vLS0tby0tLUIgKG9yaWdpbi9tYXN0ZXIpCi0JCVwgICAgICAgICAgICAgICAgICAgXAotCQkgQjAgICAgICAgICAgICAgICAgICBEMCctLUQxJy0tRCcgKHRvcGljIC0gdXBkYXRlZCkKLQkJICBcCi0JCSAgIEQwLS0tRDEtLS1EICh0b3BpYyAtIG9sZCkKKy4uLi4KKwkJIG8tLS1CMgorCQkvCistLS1vLS0tby0tLUIxLS1vLS0tby0tLW8tLS1CIChvcmlnaW4vbWFzdGVyKQorCVwgICAgICAgICAgICAgICAgICAgXAorCSBCMCAgICAgICAgICAgICAgICAgIEQwJy0tRDEnLS1EJyAodG9waWMgLSB1cGRhdGVkKQorCSAgXAorCSAgIEQwLS0tRDEtLS1EICh0b3BpYyAtIG9sZCkKKy4uLi4KIAogQSBjYXZlYXQgaXMgdGhhdCBvbGRlciByZWZsb2cgZW50cmllcyBpbiB5b3VyIHJlcG9zaXRvcnkgbWF5IGJlCiBleHBpcmVkIGJ5IGBnaXQgZ2NgLiAgSWYgQjAgbm8gbG9uZ2VyIGFwcGVhcnMgaW4gdGhlIHJlZmxvZyBvZiB0aGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdlLWluZGV4LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdlLWluZGV4LnR4dAppbmRleCAwMjY3NmZiLi4yYWI4NGE5IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1tZXJnZS1pbmRleC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtbWVyZ2UtaW5kZXgudHh0CkBAIC01NCwyMCArNTQsMjQgQEAKIAogRXhhbXBsZXM6CiAKLSAgdG9ydmFsZHNAcHBjOTcwOn4vbWVyZ2UtdGVzdD4gZ2l0IG1lcmdlLWluZGV4IGNhdCBNTQotICBUaGlzIGlzIE1NIGZyb20gdGhlIG9yaWdpbmFsIHRyZWUuCQkJIyBvcmlnaW5hbAotICBUaGlzIGlzIG1vZGlmaWVkIE1NIGluIHRoZSBicmFuY2ggQS4JCQkjIG1lcmdlMQotICBUaGlzIGlzIG1vZGlmaWVkIE1NIGluIHRoZSBicmFuY2ggQi4JCQkjIG1lcmdlMgotICBUaGlzIGlzIG1vZGlmaWVkIE1NIGluIHRoZSBicmFuY2ggQi4JCQkjIGN1cnJlbnQgY29udGVudHMKKy0tLS0KK3RvcnZhbGRzQHBwYzk3MDp+L21lcmdlLXRlc3Q+IGdpdCBtZXJnZS1pbmRleCBjYXQgTU0KK1RoaXMgaXMgTU0gZnJvbSB0aGUgb3JpZ2luYWwgdHJlZS4JCSMgb3JpZ2luYWwKK1RoaXMgaXMgbW9kaWZpZWQgTU0gaW4gdGhlIGJyYW5jaCBBLgkJIyBtZXJnZTEKK1RoaXMgaXMgbW9kaWZpZWQgTU0gaW4gdGhlIGJyYW5jaCBCLgkJIyBtZXJnZTIKK1RoaXMgaXMgbW9kaWZpZWQgTU0gaW4gdGhlIGJyYW5jaCBCLgkJIyBjdXJyZW50IGNvbnRlbnRzCistLS0tCiAKIG9yCiAKLSAgdG9ydmFsZHNAcHBjOTcwOn4vbWVyZ2UtdGVzdD4gZ2l0IG1lcmdlLWluZGV4IGNhdCBBQSBNTQotICBjYXQ6IDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQotICBUaGlzIGlzIGFkZGVkIEFBIGluIHRoZSBicmFuY2ggQS4KLSAgVGhpcyBpcyBhZGRlZCBBQSBpbiB0aGUgYnJhbmNoIEIuCi0gIFRoaXMgaXMgYWRkZWQgQUEgaW4gdGhlIGJyYW5jaCBCLgotICBmYXRhbDogbWVyZ2UgcHJvZ3JhbSBmYWlsZWQKKy0tLS0KK3RvcnZhbGRzQHBwYzk3MDp+L21lcmdlLXRlc3Q+IGdpdCBtZXJnZS1pbmRleCBjYXQgQUEgTU0KK2NhdDogOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CitUaGlzIGlzIGFkZGVkIEFBIGluIHRoZSBicmFuY2ggQS4KK1RoaXMgaXMgYWRkZWQgQUEgaW4gdGhlIGJyYW5jaCBCLgorVGhpcyBpcyBhZGRlZCBBQSBpbiB0aGUgYnJhbmNoIEIuCitmYXRhbDogbWVyZ2UgcHJvZ3JhbSBmYWlsZWQKKy0tLS0KIAogd2hlcmUgdGhlIGxhdHRlciBleGFtcGxlIHNob3dzIGhvdyAnZ2l0IG1lcmdlLWluZGV4JyB3aWxsIHN0b3AgdHJ5aW5nIHRvCiBtZXJnZSBvbmNlIGFueXRoaW5nIGhhcyByZXR1cm5lZCBhbiBlcnJvciAoaS5lLiwgYGNhdGAgcmV0dXJuZWQgYW4gZXJyb3IKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdlLnR4dAppbmRleCA0Y2M4NjQ2Li4wOTI1MjljIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1tZXJnZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtbWVyZ2UudHh0CkBAIC0xMCwxMSArMTAsMTAgQEAKIC0tLS0tLS0tCiBbdmVyc2VdCiAnZ2l0IG1lcmdlJyBbLW5dIFstLXN0YXRdIFstLW5vLWNvbW1pdF0gWy0tc3F1YXNoXSBbLS1bbm8tXWVkaXRdCi0JWy1zIDxzdHJhdGVneT5dIFstWCA8c3RyYXRlZ3ktb3B0aW9uPl0gWy1TWzxrZXlpZD5dXQorCVstLW5vLXZlcmlmeV0gWy1zIDxzdHJhdGVneT5dIFstWCA8c3RyYXRlZ3ktb3B0aW9uPl0gWy1TWzxrZXlpZD5dXQogCVstLVtuby1dYWxsb3ctdW5yZWxhdGVkLWhpc3Rvcmllc10KIAlbLS1bbm8tXXJlcmVyZS1hdXRvdXBkYXRlXSBbLW0gPG1zZz5dIFstRiA8ZmlsZT5dIFs8Y29tbWl0Pi4uLl0KLSdnaXQgbWVyZ2UnIC0tYWJvcnQKLSdnaXQgbWVyZ2UnIC0tY29udGludWUKKydnaXQgbWVyZ2UnICgtLWNvbnRpbnVlIHwgLS1hYm9ydCB8IC0tcXVpdCkKIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCkBAIC04MywxMCArODIsMTYgQEAKIElmIGAtLWxvZ2AgaXMgc3BlY2lmaWVkLCBhIHNob3J0bG9nIG9mIHRoZSBjb21taXRzIGJlaW5nIG1lcmdlZAogd2lsbCBiZSBhcHBlbmRlZCB0byB0aGUgc3BlY2lmaWVkIG1lc3NhZ2UuCiAKLS0tW25vLV1yZXJlcmUtYXV0b3VwZGF0ZTo6CistLXJlcmVyZS1hdXRvdXBkYXRlOjoKKy0tbm8tcmVyZXJlLWF1dG91cGRhdGU6OgogCUFsbG93IHRoZSByZXJlcmUgbWVjaGFuaXNtIHRvIHVwZGF0ZSB0aGUgaW5kZXggd2l0aCB0aGUKIAlyZXN1bHQgb2YgYXV0by1jb25mbGljdCByZXNvbHV0aW9uIGlmIHBvc3NpYmxlLgogCistLW92ZXJ3cml0ZS1pZ25vcmU6OgorLS1uby1vdmVyd3JpdGUtaWdub3JlOjoKKwlTaWxlbnRseSBvdmVyd3JpdGUgaWdub3JlZCBmaWxlcyBmcm9tIHRoZSBtZXJnZSByZXN1bHQuIFRoaXMKKwlpcyB0aGUgZGVmYXVsdCBiZWhhdmlvci4gVXNlIGAtLW5vLW92ZXJ3cml0ZS1pZ25vcmVgIHRvIGFib3J0LgorCiAtLWFib3J0OjoKIAlBYm9ydCB0aGUgY3VycmVudCBjb25mbGljdCByZXNvbHV0aW9uIHByb2Nlc3MsIGFuZAogCXRyeSB0byByZWNvbnN0cnVjdCB0aGUgcHJlLW1lcmdlIHN0YXRlLgpAQCAtOTksNiArMTA0LDEwIEBACiAnZ2l0IG1lcmdlIC0tYWJvcnQnIGlzIGVxdWl2YWxlbnQgdG8gJ2dpdCByZXNldCAtLW1lcmdlJyB3aGVuCiBgTUVSR0VfSEVBRGAgaXMgcHJlc2VudC4KIAorLS1xdWl0OjoKKwlGb3JnZXQgYWJvdXQgdGhlIGN1cnJlbnQgbWVyZ2UgaW4gcHJvZ3Jlc3MuIExlYXZlIHRoZSBpbmRleAorCWFuZCB0aGUgd29ya2luZyB0cmVlIGFzLWlzLgorCiAtLWNvbnRpbnVlOjoKIAlBZnRlciBhICdnaXQgbWVyZ2UnIHN0b3BzIGR1ZSB0byBjb25mbGljdHMgeW91IGNhbiBjb25jbHVkZSB0aGUKIAltZXJnZSBieSBydW5uaW5nICdnaXQgbWVyZ2UgLS1jb250aW51ZScgKHNlZSAiSE9XIFRPIFJFU09MVkUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdldG9vbC0tbGliLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdldG9vbC0tbGliLnR4dAppbmRleCAwNTU1NTBiLi40ZGE5ZDI0IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1tZXJnZXRvb2wtLWxpYi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtbWVyZ2V0b29sLS1saWIudHh0CkBAIC0yOCw3ICsyOCw5IEBACiBGVU5DVElPTlMKIC0tLS0tLS0tLQogZ2V0X21lcmdlX3Rvb2w6OgotCXJldHVybnMgYSBtZXJnZSB0b29sLgorCXJldHVybnMgYSBtZXJnZSB0b29sLiB0aGUgcmV0dXJuIGNvZGUgaXMgMSBpZiB3ZSByZXR1cm5lZCBhIGd1ZXNzZWQKKwltZXJnZSB0b29sLCBlbHNlIDAuICckR0lUX01FUkdFVE9PTF9HVUknIG1heSBiZSBzZXQgdG8gJ3RydWUnIHRvCisJc2VhcmNoIGZvciB0aGUgYXBwcm9wcmlhdGUgZ3VpdG9vbC4KIAogZ2V0X21lcmdlX3Rvb2xfY21kOjoKIAlyZXR1cm5zIHRoZSBjdXN0b20gY29tbWFuZCBmb3IgYSBtZXJnZSB0b29sLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtbWVyZ2V0b29sLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LW1lcmdldG9vbC50eHQKaW5kZXggMGM3OTc1YS4uNmIxNDcwMiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtbWVyZ2V0b29sLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1tZXJnZXRvb2wudHh0CkBAIC04Myw3ICs4Myw5IEBACiAtLWd1aTo6CiAJV2hlbiAnZ2l0LW1lcmdldG9vbCcgaXMgaW52b2tlZCB3aXRoIHRoZSBgLWdgIG9yIGAtLWd1aWAgb3B0aW9uCiAJdGhlIGRlZmF1bHQgbWVyZ2UgdG9vbCB3aWxsIGJlIHJlYWQgZnJvbSB0aGUgY29uZmlndXJlZAotCWBtZXJnZS5ndWl0b29sYCB2YXJpYWJsZSBpbnN0ZWFkIG9mIGBtZXJnZS50b29sYC4KKwlgbWVyZ2UuZ3VpdG9vbGAgdmFyaWFibGUgaW5zdGVhZCBvZiBgbWVyZ2UudG9vbGAuIElmCisJYG1lcmdlLmd1aXRvb2xgIGlzIG5vdCBzZXQsIHdlIHdpbGwgZmFsbGJhY2sgdG8gdGhlIHRvb2wKKwljb25maWd1cmVkIHVuZGVyIGBtZXJnZS50b29sYC4KIAogLS1uby1ndWk6OgogCVRoaXMgb3ZlcnJpZGVzIGEgcHJldmlvdXMgYC1nYCBvciBgLS1ndWlgIHNldHRpbmcgYW5kIHJlYWRzIHRoZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtbXVsdGktcGFjay1pbmRleC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1tdWx0aS1wYWNrLWluZGV4LnR4dAppbmRleCBmNzc3OGEyLi42NDJkOWFjIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1tdWx0aS1wYWNrLWluZGV4LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1tdWx0aS1wYWNrLWluZGV4LnR4dApAQCAtOSw3ICs5LDcgQEAKIFNZTk9QU0lTCiAtLS0tLS0tLQogW3ZlcnNlXQotJ2dpdCBtdWx0aS1wYWNrLWluZGV4JyBbLS1vYmplY3QtZGlyPTxkaXI+XSA8dmVyYj4KKydnaXQgbXVsdGktcGFjay1pbmRleCcgWy0tb2JqZWN0LWRpcj08ZGlyPl0gWy0tW25vLV1wcm9ncmVzc10gPHN1YmNvbW1hbmQ+CiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQpAQCAtMjMsMTMgKzIzLDM5IEBACiAJYDxkaXI+L3BhY2tzL211bHRpLXBhY2staW5kZXhgIGZvciB0aGUgY3VycmVudCBNSURYIGZpbGUsIGFuZAogCWA8ZGlyPi9wYWNrc2AgZm9yIHRoZSBwYWNrLWZpbGVzIHRvIGluZGV4LgogCistLVtuby1dcHJvZ3Jlc3M6OgorCVR1cm4gcHJvZ3Jlc3Mgb24vb2ZmIGV4cGxpY2l0bHkuIElmIG5laXRoZXIgaXMgc3BlY2lmaWVkLCBwcm9ncmVzcyBpcworCXNob3duIGlmIHN0YW5kYXJkIGVycm9yIGlzIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLgorCitUaGUgZm9sbG93aW5nIHN1YmNvbW1hbmRzIGFyZSBhdmFpbGFibGU6CisKIHdyaXRlOjoKLQlXaGVuIGdpdmVuIGFzIHRoZSB2ZXJiLCB3cml0ZSBhIG5ldyBNSURYIGZpbGUgdG8KLQlgPGRpcj4vcGFja3MvbXVsdGktcGFjay1pbmRleGAuCisJV3JpdGUgYSBuZXcgTUlEWCBmaWxlLgogCiB2ZXJpZnk6OgotCVdoZW4gZ2l2ZW4gYXMgdGhlIHZlcmIsIHZlcmlmeSB0aGUgY29udGVudHMgb2YgdGhlIE1JRFggZmlsZQotCWF0IGA8ZGlyPi9wYWNrcy9tdWx0aS1wYWNrLWluZGV4YC4KKwlWZXJpZnkgdGhlIGNvbnRlbnRzIG9mIHRoZSBNSURYIGZpbGUuCisKK2V4cGlyZTo6CisJRGVsZXRlIHRoZSBwYWNrLWZpbGVzIHRoYXQgYXJlIHRyYWNrZWQgCWJ5IHRoZSBNSURYIGZpbGUsIGJ1dAorCWhhdmUgbm8gb2JqZWN0cyByZWZlcmVuY2VkIGJ5IHRoZSBNSURYLiBSZXdyaXRlIHRoZSBNSURYIGZpbGUKKwlhZnRlcndhcmQgdG8gcmVtb3ZlIGFsbCByZWZlcmVuY2VzIHRvIHRoZXNlIHBhY2stZmlsZXMuCisKK3JlcGFjazo6CisJQ3JlYXRlIGEgbmV3IHBhY2stZmlsZSBjb250YWluaW5nIG9iamVjdHMgaW4gc21hbGwgcGFjay1maWxlcworCXJlZmVyZW5jZWQgYnkgdGhlIG11bHRpLXBhY2staW5kZXguIElmIHRoZSBzaXplIGdpdmVuIGJ5IHRoZQorCWAtLWJhdGNoLXNpemU9PHNpemU+YCBhcmd1bWVudCBpcyB6ZXJvLCB0aGVuIGNyZWF0ZSBhIHBhY2sKKwljb250YWluaW5nIGFsbCBvYmplY3RzIHJlZmVyZW5jZWQgYnkgdGhlIG11bHRpLXBhY2staW5kZXguIEZvcgorCWEgbm9uLXplcm8gYmF0Y2ggc2l6ZSwgU2VsZWN0IHRoZSBwYWNrLWZpbGVzIGJ5IGV4YW1pbmluZyBwYWNrcworCWZyb20gb2xkZXN0LXRvLW5ld2VzdCwgY29tcHV0aW5nIHRoZSAiZXhwZWN0ZWQgc2l6ZSIgYnkgY291bnRpbmcKKwl0aGUgbnVtYmVyIG9mIG9iamVjdHMgaW4gdGhlIHBhY2sgcmVmZXJlbmNlZCBieSB0aGUKKwltdWx0aS1wYWNrLWluZGV4LCB0aGVuIGRpdmlkZSBieSB0aGUgdG90YWwgbnVtYmVyIG9mIG9iamVjdHMgaW4KKwl0aGUgcGFjayBhbmQgbXVsdGlwbHkgYnkgdGhlIHBhY2sgc2l6ZS4gV2Ugc2VsZWN0IHBhY2tzIHdpdGgKKwlleHBlY3RlZCBzaXplIGJlbG93IHRoZSBiYXRjaCBzaXplIHVudGlsIHRoZSBzZXQgb2YgcGFja3MgaGF2ZQorCXRvdGFsIGV4cGVjdGVkIHNpemUgYXQgbGVhc3QgdGhlIGJhdGNoIHNpemUuIElmIHRoZSB0b3RhbCBzaXplCisJZG9lcyBub3QgcmVhY2ggdGhlIGJhdGNoIHNpemUsIHRoZW4gZG8gbm90aGluZy4gSWYgYSBuZXcgcGFjay0KKwlmaWxlIGlzIGNyZWF0ZWQsIHJld3JpdGUgdGhlIG11bHRpLXBhY2staW5kZXggdG8gcmVmZXJlbmNlIHRoZQorCW5ldyBwYWNrLWZpbGUuIEEgbGF0ZXIgcnVuIG9mICdnaXQgbXVsdGktcGFjay1pbmRleCBleHBpcmUnIHdpbGwKKwlkZWxldGUgdGhlIHBhY2stZmlsZXMgdGhhdCB3ZXJlIHBhcnQgb2YgdGhpcyBiYXRjaC4KIAogCiBFWEFNUExFUwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtbm90ZXMudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtbm90ZXMudHh0CmluZGV4IGRmMmI2NGQuLmNlZDJlODIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LW5vdGVzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1ub3Rlcy50eHQKQEAgLTEwLDcgKzEwLDcgQEAKIFt2ZXJzZV0KICdnaXQgbm90ZXMnIFtsaXN0IFs8b2JqZWN0Pl1dCiAnZ2l0IG5vdGVzJyBhZGQgWy1mXSBbLS1hbGxvdy1lbXB0eV0gWy1GIDxmaWxlPiB8IC1tIDxtc2c+IHwgKC1jIHwgLUMpIDxvYmplY3Q+XSBbPG9iamVjdD5dCi0nZ2l0IG5vdGVzJyBjb3B5IFstZl0gKCAtLXN0ZGluIHwgPGZyb20tb2JqZWN0PiA8dG8tb2JqZWN0PiApCisnZ2l0IG5vdGVzJyBjb3B5IFstZl0gKCAtLXN0ZGluIHwgPGZyb20tb2JqZWN0PiBbPHRvLW9iamVjdD5dICkKICdnaXQgbm90ZXMnIGFwcGVuZCBbLS1hbGxvdy1lbXB0eV0gWy1GIDxmaWxlPiB8IC1tIDxtc2c+IHwgKC1jIHwgLUMpIDxvYmplY3Q+XSBbPG9iamVjdD5dCiAnZ2l0IG5vdGVzJyBlZGl0IFstLWFsbG93LWVtcHR5XSBbPG9iamVjdD5dCiAnZ2l0IG5vdGVzJyBzaG93IFs8b2JqZWN0Pl0KQEAgLTY4LDggKzY4LDggQEAKIAlzdWJjb21tYW5kKS4KIAogY29weTo6Ci0JQ29weSB0aGUgbm90ZXMgZm9yIHRoZSBmaXJzdCBvYmplY3Qgb250byB0aGUgc2Vjb25kIG9iamVjdC4KLQlBYm9ydCBpZiB0aGUgc2Vjb25kIG9iamVjdCBhbHJlYWR5IGhhcyBub3Rlcywgb3IgaWYgdGhlIGZpcnN0CisJQ29weSB0aGUgbm90ZXMgZm9yIHRoZSBmaXJzdCBvYmplY3Qgb250byB0aGUgc2Vjb25kIG9iamVjdCAoZGVmYXVsdHMgdG8KKwlIRUFEKS4gQWJvcnQgaWYgdGhlIHNlY29uZCBvYmplY3QgYWxyZWFkeSBoYXMgbm90ZXMsIG9yIGlmIHRoZSBmaXJzdAogCW9iamVjdCBoYXMgbm9uZSAodXNlIC1mIHRvIG92ZXJ3cml0ZSBleGlzdGluZyBub3RlcyB0byB0aGUKIAlzZWNvbmQgb2JqZWN0KS4gVGhpcyBzdWJjb21tYW5kIGlzIGVxdWl2YWxlbnQgdG86CiAJYGdpdCBub3RlcyBhZGQgWy1mXSAtQyAkKGdpdCBub3RlcyBsaXN0IDxmcm9tLW9iamVjdD4pIDx0by1vYmplY3Q+YApAQCAtMTQ2LDcgKzE0Niw3IEBACiAKIC1DIDxvYmplY3Q+OjoKIC0tcmV1c2UtbWVzc2FnZT08b2JqZWN0Pjo6Ci0JVGFrZSB0aGUgZ2l2ZW4gYmxvYiBvYmplY3QgKGZvcglleGFtcGxlLCBhbm90aGVyIG5vdGUpIGFzIHRoZQorCVRha2UgdGhlIGdpdmVuIGJsb2Igb2JqZWN0IChmb3IgZXhhbXBsZSwgYW5vdGhlciBub3RlKSBhcyB0aGUKIAlub3RlIG1lc3NhZ2UuIChVc2UgYGdpdCBub3RlcyBjb3B5IDxvYmplY3Q+YCBpbnN0ZWFkIHRvCiAJY29weSBub3RlcyBiZXR3ZWVuIG9iamVjdHMuKQogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1wNC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1wNC50eHQKaW5kZXggZjBhMDI4MC4uMzQ5NGExZCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcDQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXA0LnR4dApAQCAtNzEsMTIgKzcxLDEyIEBACiAtLS0tLS0tLS0tLS0KIFRoaXM6CiAKLTEuICAgQ3JlYXRlcyBhbiBlbXB0eSBHaXQgcmVwb3NpdG9yeSBpbiBhIHN1YmRpcmVjdG9yeSBjYWxsZWQgJ3Byb2plY3QnLgorMS4gQ3JlYXRlcyBhbiBlbXB0eSBHaXQgcmVwb3NpdG9yeSBpbiBhIHN1YmRpcmVjdG9yeSBjYWxsZWQgJ3Byb2plY3QnLgogKwotMi4gICBJbXBvcnRzIHRoZSBmdWxsIGNvbnRlbnRzIG9mIHRoZSBoZWFkIHJldmlzaW9uIGZyb20gdGhlIGdpdmVuIHA0Ci1kZXBvdCBwYXRoIGludG8gYSBzaW5nbGUgY29tbWl0IGluIHRoZSBHaXQgYnJhbmNoICdyZWZzL3JlbW90ZXMvcDQvbWFzdGVyJy4KKzIuIEltcG9ydHMgdGhlIGZ1bGwgY29udGVudHMgb2YgdGhlIGhlYWQgcmV2aXNpb24gZnJvbSB0aGUgZ2l2ZW4gcDQKKyAgIGRlcG90IHBhdGggaW50byBhIHNpbmdsZSBjb21taXQgaW4gdGhlIEdpdCBicmFuY2ggJ3JlZnMvcmVtb3Rlcy9wNC9tYXN0ZXInLgogKwotMy4gICBDcmVhdGVzIGEgbG9jYWwgYnJhbmNoLCAnbWFzdGVyJyBmcm9tIHRoaXMgcmVtb3RlIGFuZCBjaGVja3MgaXQgb3V0LgorMy4gQ3JlYXRlcyBhIGxvY2FsIGJyYW5jaCwgJ21hc3RlcicgZnJvbSB0aGlzIHJlbW90ZSBhbmQgY2hlY2tzIGl0IG91dC4KIAogVG8gcmVwcm9kdWNlIHRoZSBlbnRpcmUgcDQgaGlzdG9yeSBpbiBHaXQsIHVzZSB0aGUgJ0BhbGwnIG1vZGlmaWVyIG9uCiB0aGUgZGVwb3QgcGF0aDoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXBhY2stb2JqZWN0cy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1wYWNrLW9iamVjdHMudHh0CmluZGV4IDQwYzgyNWMuLmZlY2RmMjYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXBhY2stb2JqZWN0cy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcGFjay1vYmplY3RzLnR4dApAQCAtMTQsNyArMTQsNyBAQAogCVstLWxvY2FsXSBbLS1pbmNyZW1lbnRhbF0gWy0td2luZG93PTxuPl0gWy0tZGVwdGg9PG4+XQogCVstLXJldnMgWy0tdW5wYWNrZWQgfCAtLWFsbF1dIFstLWtlZXAtcGFjaz08cGFjay1uYW1lPl0KIAlbLS1zdGRvdXQgWy0tZmlsdGVyPTxmaWx0ZXItc3BlYz5dIHwgYmFzZS1uYW1lXQotCVstLXNoYWxsb3ddIFstLWtlZXAtdHJ1ZS1wYXJlbnRzXSA8IG9iamVjdC1saXN0CisJWy0tc2hhbGxvd10gWy0ta2VlcC10cnVlLXBhcmVudHNdIFstLXNwYXJzZV0gPCBvYmplY3QtbGlzdAogCiAKIERFU0NSSVBUSU9OCkBAIC0xMzEsNyArMTMxLDcgQEAKIC0ta2VlcC1wYWNrPTxwYWNrLW5hbWU+OjoKIAlUaGlzIGZsYWcgY2F1c2VzIGFuIG9iamVjdCBhbHJlYWR5IGluIHRoZSBnaXZlbiBwYWNrIHRvIGJlCiAJaWdub3JlZCwgZXZlbiBpZiBpdCB3b3VsZCBoYXZlIG90aGVyd2lzZSBiZWVuCi0JcGFja2VkLiBgPHBhY2stbmFtZT5gIGlzIHRoZSB0aGUgcGFjayBmaWxlIG5hbWUgd2l0aG91dAorCXBhY2tlZC4gYDxwYWNrLW5hbWU+YCBpcyB0aGUgcGFjayBmaWxlIG5hbWUgd2l0aG91dAogCWxlYWRpbmcgZGlyZWN0b3J5IChlLmcuIGBwYWNrLTEyMy5wYWNrYCkuIFRoZSBvcHRpb24gY291bGQgYmUKIAlzcGVjaWZpZWQgbXVsdGlwbGUgdGltZXMgdG8ga2VlcCBtdWx0aXBsZSBwYWNrcy4KIApAQCAtMTk2LDYgKzE5NiwxNSBAQAogCUFkZCAtLW5vLXJldXNlLW9iamVjdCBpZiB5b3Ugd2FudCB0byBmb3JjZSBhIHVuaWZvcm0gY29tcHJlc3Npb24KIAlsZXZlbCBvbiBhbGwgZGF0YSBubyBtYXR0ZXIgdGhlIHNvdXJjZS4KIAorLS1zcGFyc2U6OgorCVVzZSB0aGUgInNwYXJzZSIgYWxnb3JpdGhtIHRvIGRldGVybWluZSB3aGljaCBvYmplY3RzIHRvIGluY2x1ZGUgaW4KKwl0aGUgcGFjaywgd2hlbiBjb21iaW5lZCB3aXRoIHRoZSAiLS1yZXZzIiBvcHRpb24uIFRoaXMgYWxnb3JpdGhtCisJb25seSB3YWxrcyB0cmVlcyB0aGF0IGFwcGVhciBpbiBwYXRocyB0aGF0IGludHJvZHVjZSBuZXcgb2JqZWN0cy4KKwlUaGlzIGNhbiBoYXZlIHNpZ25pZmljYW50IHBlcmZvcm1hbmNlIGJlbmVmaXRzIHdoZW4gY29tcHV0aW5nCisJYSBwYWNrIHRvIHNlbmQgYSBzbWFsbCBjaGFuZ2UuIEhvd2V2ZXIsIGl0IGlzIHBvc3NpYmxlIHRoYXQgZXh0cmEKKwlvYmplY3RzIGFyZSBhZGRlZCB0byB0aGUgcGFjay1maWxlIGlmIHRoZSBpbmNsdWRlZCBjb21taXRzIGNvbnRhaW4KKwljZXJ0YWluIHR5cGVzIG9mIGRpcmVjdCByZW5hbWVzLgorCiAtLXRoaW46OgogCUNyZWF0ZSBhICJ0aGluIiBwYWNrIGJ5IG9taXR0aW5nIHRoZSBjb21tb24gb2JqZWN0cyBiZXR3ZWVuIGEKIAlzZW5kZXIgYW5kIGEgcmVjZWl2ZXIgaW4gb3JkZXIgdG8gcmVkdWNlIG5ldHdvcmsgdHJhbnNmZXIuIFRoaXMKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXB1bGwudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcHVsbC50eHQKaW5kZXggMTE4ZDlkOC4uZGZiOTAxZiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcHVsbC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcHVsbC50eHQKQEAgLTExMiw4ICsxMTIsOSBAQAogdGhlIGxvY2FsIG1lcmdlIGNvbW1pdHMgYXJlIGluY2x1ZGVkIGluIHRoZSByZWJhc2UgKHNlZQogbGlua2dpdDpnaXQtcmViYXNlWzFdIGZvciBkZXRhaWxzKS4KICsKLVdoZW4gc2V0IHRvIHByZXNlcnZlLCByZWJhc2Ugd2l0aCB0aGUgYC0tcHJlc2VydmUtbWVyZ2VzYCBvcHRpb24gcGFzc2VkCi10byBgZ2l0IHJlYmFzZWAgc28gdGhhdCBsb2NhbGx5IGNyZWF0ZWQgbWVyZ2UgY29tbWl0cyB3aWxsIG5vdCBiZSBmbGF0dGVuZWQuCitXaGVuIHNldCB0byBgcHJlc2VydmVgIChkZXByZWNhdGVkIGluIGZhdm9yIG9mIGBtZXJnZXNgKSwgcmViYXNlIHdpdGggdGhlCitgLS1wcmVzZXJ2ZS1tZXJnZXNgIG9wdGlvbiBwYXNzZWQgdG8gYGdpdCByZWJhc2VgIHNvIHRoYXQgbG9jYWxseSBjcmVhdGVkCittZXJnZSBjb21taXRzIHdpbGwgbm90IGJlIGZsYXR0ZW5lZC4KICsKIFdoZW4gZmFsc2UsIG1lcmdlIHRoZSBjdXJyZW50IGJyYW5jaCBpbnRvIHRoZSB1cHN0cmVhbSBicmFuY2guCiArCkBAIC0yNDgsNyArMjQ5LDcgQEAKIC0tLS0KIFVzaW5nIC0tcmVjdXJzZS1zdWJtb2R1bGVzIGNhbiBvbmx5IGZldGNoIG5ldyBjb21taXRzIGluIGFscmVhZHkgY2hlY2tlZAogb3V0IHN1Ym1vZHVsZXMgcmlnaHQgbm93LiBXaGVuIGUuZy4gdXBzdHJlYW0gYWRkZWQgYSBuZXcgc3VibW9kdWxlIGluIHRoZQotanVzdCBmZXRjaGVkIGNvbW1pdHMgb2YgdGhlIHN1cGVycHJvamVjdCB0aGUgc3VibW9kdWxlIGl0c2VsZiBjYW4gbm90IGJlCitqdXN0IGZldGNoZWQgY29tbWl0cyBvZiB0aGUgc3VwZXJwcm9qZWN0IHRoZSBzdWJtb2R1bGUgaXRzZWxmIGNhbm5vdCBiZQogZmV0Y2hlZCwgbWFraW5nIGl0IGltcG9zc2libGUgdG8gY2hlY2sgb3V0IHRoYXQgc3VibW9kdWxlIGxhdGVyIHdpdGhvdXQKIGhhdmluZyB0byBkbyBhIGZldGNoIGFnYWluLiBUaGlzIGlzIGV4cGVjdGVkIHRvIGJlIGZpeGVkIGluIGEgZnV0dXJlIEdpdAogdmVyc2lvbi4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXB1c2gudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcHVzaC50eHQKaW5kZXggYTVmYzU0YS4uM2I4MDUzNCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcHVzaC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcHVzaC50eHQKQEAgLTczLDYgKzczLDI2IEBACiB3aXRob3V0IGFueSBgPHJlZnNwZWM+YCBvbiB0aGUgY29tbWFuZCBsaW5lLiAgT3RoZXJ3aXNlLCBtaXNzaW5nCiBgOjxkc3Q+YCBtZWFucyB0byB1cGRhdGUgdGhlIHNhbWUgcmVmIGFzIHRoZSBgPHNyYz5gLgogKworSWYgPGRzdD4gZG9lc24ndCBzdGFydCB3aXRoIGByZWZzL2AgKGUuZy4gYHJlZnMvaGVhZHMvbWFzdGVyYCkgd2Ugd2lsbAordHJ5IHRvIGluZmVyIHdoZXJlIGluIGByZWZzLypgIG9uIHRoZSBkZXN0aW5hdGlvbiA8cmVwb3NpdG9yeT4gaXQKK2JlbG9uZ3MgYmFzZWQgb24gdGhlIHR5cGUgb2YgPHNyYz4gYmVpbmcgcHVzaGVkIGFuZCB3aGV0aGVyIDxkc3Q+CitpcyBhbWJpZ3VvdXMuCisrCistLQorKiBJZiA8ZHN0PiB1bmFtYmlndW91c2x5IHJlZmVycyB0byBhIHJlZiBvbiB0aGUgPHJlcG9zaXRvcnk+IHJlbW90ZSwKKyAgdGhlbiBwdXNoIHRvIHRoYXQgcmVmLgorCisqIElmIDxzcmM+IHJlc29sdmVzIHRvIGEgcmVmIHN0YXJ0aW5nIHdpdGggcmVmcy9oZWFkcy8gb3IgcmVmcy90YWdzLywKKyAgdGhlbiBwcmVwZW5kIHRoYXQgdG8gPGRzdD4uCisKKyogT3RoZXIgYW1iaWd1aXR5IHJlc29sdXRpb25zIG1pZ2h0IGJlIGFkZGVkIGluIHRoZSBmdXR1cmUsIGJ1dCBmb3IKKyAgbm93IGFueSBvdGhlciBjYXNlcyB3aWxsIGVycm9yIG91dCB3aXRoIGFuIGVycm9yIGluZGljYXRpbmcgd2hhdCB3ZQorICB0cmllZCwgYW5kIGRlcGVuZGluZyBvbiB0aGUgYGFkdmljZS5wdXNoVW5xdWFsaWZpZWRSZWZuYW1lYAorICBjb25maWd1cmF0aW9uIChzZWUgbGlua2dpdDpnaXQtY29uZmlnWzFdKSBzdWdnZXN0IHdoYXQgcmVmcy8KKyAgbmFtZXNwYWNlIHlvdSBtYXkgaGF2ZSB3YW50ZWQgdG8gcHVzaCB0by4KKworLS0KKysKIFRoZSBvYmplY3QgcmVmZXJlbmNlZCBieSA8c3JjPiBpcyB1c2VkIHRvIHVwZGF0ZSB0aGUgPGRzdD4gcmVmZXJlbmNlCiBvbiB0aGUgcmVtb3RlIHNpZGUuIFdoZXRoZXIgdGhpcyBpcyBhbGxvd2VkIGRlcGVuZHMgb24gd2hlcmUgaW4KIGByZWZzLypgIHRoZSA8ZHN0PiByZWZlcmVuY2UgbGl2ZXMgYXMgZGVzY3JpYmVkIGluIGRldGFpbCBiZWxvdywgaW4KQEAgLTU5MSw2ICs2MTEsOSBAQAogCWByZWZzL3JlbW90ZXMvc2F0ZWxsaXRlL21hc3RlcmApIGluIHRoZSBgbW90aGVyc2hpcGAgcmVwb3NpdG9yeTsKIAlkbyB0aGUgc2FtZSBmb3IgYGRldmAgYW5kIGBzYXRlbGxpdGUvZGV2YC4KICsKK1NlZSB0aGUgc2VjdGlvbiBkZXNjcmliaW5nIGA8cmVmc3BlYz4uLi5gIGFib3ZlIGZvciBhIGRpc2N1c3Npb24gb2YKK3RoZSBtYXRjaGluZyBzZW1hbnRpY3MuCisrCiBUaGlzIGlzIHRvIGVtdWxhdGUgYGdpdCBmZXRjaGAgcnVuIG9uIHRoZSBgbW90aGVyc2hpcGAgdXNpbmcgYGdpdAogcHVzaGAgdGhhdCBpcyBydW4gaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbiBpbiBvcmRlciB0byBpbnRlZ3JhdGUKIHRoZSB3b3JrIGRvbmUgb24gYHNhdGVsbGl0ZWAsIGFuZCBpcyBvZnRlbiBuZWNlc3Nhcnkgd2hlbiB5b3UgY2FuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1xdWlsdGltcG9ydC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1xdWlsdGltcG9ydC50eHQKaW5kZXggOGNmOTUyYi4uNzA1NjJkYyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcXVpbHRpbXBvcnQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXF1aWx0aW1wb3J0LnR4dApAQCAtMTAsNyArMTAsNyBAQAogLS0tLS0tLS0KIFt2ZXJzZV0KICdnaXQgcXVpbHRpbXBvcnQnIFstLWRyeS1ydW4gfCAtbl0gWy0tYXV0aG9yIDxhdXRob3I+XSBbLS1wYXRjaGVzIDxkaXI+XQotCQlbLS1zZXJpZXMgPGZpbGU+XQorCQlbLS1zZXJpZXMgPGZpbGU+XSBbLS1rZWVwLW5vbi1wYXRjaF0KIAogCiBERVNDUklQVElPTgpAQCAtNTYsNiArNTYsOSBAQAogb3IgdGhlIHZhbHVlIG9mIHRoZSBgJFFVSUxUX1NFUklFU2AgZW52aXJvbm1lbnQKIHZhcmlhYmxlLgogCistLWtlZXAtbm9uLXBhdGNoOjoKKwlQYXNzIGAtYmAgZmxhZyB0byAnZ2l0IG1haWxpbmZvJyAoc2VlIGxpbmtnaXQ6Z2l0LW1haWxpbmZvWzFdKS4KKwogR0lUCiAtLS0KIFBhcnQgb2YgdGhlIGxpbmtnaXQ6Z2l0WzFdIHN1aXRlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1yYW5nZS1kaWZmLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJhbmdlLWRpZmYudHh0CmluZGV4IDhhNmVhMmMuLjk3MDFjMWUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXJhbmdlLWRpZmYudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJhbmdlLWRpZmYudHh0CkBAIC01Nyw2ICs1NywxMCBAQAogCVNlZSB0aGUgYGBBbGdvcml0aG1gYCBzZWN0aW9uIGJlbG93IGZvciBhbiBleHBsYW5hdGlvbiB3aHkgdGhpcyBpcwogCW5lZWRlZC4KIAorLS1bbm8tXW5vdGVzWz08cmVmPl06OgorCVRoaXMgZmxhZyBpcyBwYXNzZWQgdG8gdGhlIGBnaXQgbG9nYCBwcm9ncmFtCisJKHNlZSBsaW5rZ2l0OmdpdC1sb2dbMV0pIHRoYXQgZ2VuZXJhdGVzIHRoZSBwYXRjaGVzLgorCiA8cmFuZ2UxPiA8cmFuZ2UyPjo6CiAJQ29tcGFyZSB0aGUgY29tbWl0cyBzcGVjaWZpZWQgYnkgdGhlIHR3byByYW5nZXMsIHdoZXJlCiAJYDxyYW5nZTE+YCBpcyBjb25zaWRlcmVkIGFuIG9sZGVyIHZlcnNpb24gb2YgYDxyYW5nZTI+YC4KQEAgLTc1LDcgKzc5LDcgQEAKIGxpbmtnaXQ6Z2l0LWRpZmZbMV0pLCBtb3N0IG5vdGFibHkgdGhlIGAtLWNvbG9yPVs8d2hlbj5dYCBhbmQKIGAtLW5vLWNvbG9yYCBvcHRpb25zLiBUaGVzZSBvcHRpb25zIGFyZSB1c2VkIHdoZW4gZ2VuZXJhdGluZyB0aGUgImRpZmYKIGJldHdlZW4gcGF0Y2hlcyIsIGkuZS4gdG8gY29tcGFyZSB0aGUgYXV0aG9yLCBjb21taXQgbWVzc2FnZSBhbmQgZGlmZiBvZgotY29ycmVzcG9uZGluZyBvbGQvbmV3IGNvbW1pdHMuIFRoZXJlIGlzIGN1cnJlbnRseSBubyBtZWFucyB0byB0d2VhayB0aGUKK2NvcnJlc3BvbmRpbmcgb2xkL25ldyBjb21taXRzLiBUaGVyZSBpcyBjdXJyZW50bHkgbm8gbWVhbnMgdG8gdHdlYWsgbW9zdCBvZiB0aGUKIGRpZmYgb3B0aW9ucyBwYXNzZWQgdG8gYGdpdCBsb2dgIHdoZW4gZ2VuZXJhdGluZyB0aG9zZSBwYXRjaGVzLgogCiBPVVRQVVQgU1RBQklMSVRZCkBAIC0yNDIsNyArMjQ2LDcgQEAKIAogVGhlIG92ZXJhbGwgdGltZSBuZWVkZWQgdG8gY29tcHV0ZSB0aGlzIGFsZ29yaXRobSBpcyB0aGUgdGltZSBuZWVkZWQgdG8KIGNvbXB1dGUgbittIGNvbW1pdCBkaWZmcyBhbmQgdGhlbiBuKm0gZGlmZnMgb2YgcGF0Y2hlcywgcGx1cyB0aGUgdGltZQotbmVlZGVkIHRvIGNvbXB1dGUgdGhlIGxlYXN0LWNvc3QgYXNzaWdtZW50IGJldHdlZW4gbiBhbmQgbSBkaWZmcy4gR2l0CituZWVkZWQgdG8gY29tcHV0ZSB0aGUgbGVhc3QtY29zdCBhc3NpZ25tZW50IGJldHdlZW4gbiBhbmQgbSBkaWZmcy4gR2l0CiB1c2VzIGFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBKb25rZXItVm9sZ2VuYW50IGFsZ29yaXRobSB0byBzb2x2ZSB0aGUKIGFzc2lnbm1lbnQgcHJvYmxlbSwgd2hpY2ggaGFzIGN1YmljIHJ1bnRpbWUgY29tcGxleGl0eS4gVGhlIG1hdGNoaW5nCiBmb3VuZCBpbiB0aGlzIGNhc2Ugd2lsbCBsb29rIGxpa2UgdGhpczoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXJlYWQtdHJlZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZWFkLXRyZWUudHh0CmluZGV4IDVjNzBiYzIuLmRhMzNmODQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXJlYWQtdHJlZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcmVhZC10cmVlLnR4dApAQCAtMzgsOCArMzgsOSBAQAogCXN0YXJ0ZWQuCiAKIC0tcmVzZXQ6OgotICAgICAgICBTYW1lIGFzIC1tLCBleGNlcHQgdGhhdCB1bm1lcmdlZCBlbnRyaWVzIGFyZSBkaXNjYXJkZWQKLSAgICAgICAgaW5zdGVhZCBvZiBmYWlsaW5nLgorCVNhbWUgYXMgLW0sIGV4Y2VwdCB0aGF0IHVubWVyZ2VkIGVudHJpZXMgYXJlIGRpc2NhcmRlZCBpbnN0ZWFkCisJb2YgZmFpbGluZy4gV2hlbiB1c2VkIHdpdGggYC11YCwgdXBkYXRlcyBsZWFkaW5nIHRvIGxvc3Mgb2YKKwl3b3JraW5nIHRyZWUgY2hhbmdlcyB3aWxsIG5vdCBhYm9ydCB0aGUgb3BlcmF0aW9uLgogCiAtdTo6CiAJQWZ0ZXIgYSBzdWNjZXNzZnVsIG1lcmdlLCB1cGRhdGUgdGhlIGZpbGVzIGluIHRoZSB3b3JrCkBAIC0xMjgsNiArMTI5LDEwIEBACiAJSW5zdGVhZCBvZiByZWFkaW5nIHRyZWUgb2JqZWN0KHMpIGludG8gdGhlIGluZGV4LCBqdXN0IGVtcHR5CiAJaXQuCiAKKy1xOjoKKy0tcXVpZXQ6OgorCVF1aWV0LCBzdXBwcmVzcyBmZWVkYmFjayBtZXNzYWdlcy4KKwogPHRyZWUtaXNoIz46OgogCVRoZSBpZCBvZiB0aGUgdHJlZSBvYmplY3QocykgdG8gYmUgcmVhZC9tZXJnZWQuCiAKQEAgLTQzMSw3ICs0MzYsNyBAQAogU0VFIEFMU08KIC0tLS0tLS0tCiBsaW5rZ2l0OmdpdC13cml0ZS10cmVlWzFdOyBsaW5rZ2l0OmdpdC1scy1maWxlc1sxXTsKLWxpbmtnaXQ6Z2l0aWdub3JlWzVdCitsaW5rZ2l0OmdpdGlnbm9yZVs1XTsgbGlua2dpdDpnaXQtc3BhcnNlLWNoZWNrb3V0WzFdOwogCiBHSVQKIC0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmViYXNlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJlYmFzZS50eHQKaW5kZXggZGZmMTdiMy4uOGMxZjRiOCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmViYXNlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZWJhc2UudHh0CkBAIC04LDE2ICs4LDE2IEBACiBTWU5PUFNJUwogLS0tLS0tLS0KIFt2ZXJzZV0KLSdnaXQgcmViYXNlJyBbLWkgfCAtLWludGVyYWN0aXZlXSBbPG9wdGlvbnM+XSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPl0KLQlbPHVwc3RyZWFtPiBbPGJyYW5jaD5dXQorJ2dpdCByZWJhc2UnIFstaSB8IC0taW50ZXJhY3RpdmVdIFs8b3B0aW9ucz5dIFstLWV4ZWMgPGNtZD5dCisJWy0tb250byA8bmV3YmFzZT4gfCAtLWtlZXAtYmFzZV0gWzx1cHN0cmVhbT4gWzxicmFuY2g+XV0KICdnaXQgcmViYXNlJyBbLWkgfCAtLWludGVyYWN0aXZlXSBbPG9wdGlvbnM+XSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPl0KIAktLXJvb3QgWzxicmFuY2g+XQotJ2dpdCByZWJhc2UnIC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0IHwgLS1xdWl0IHwgLS1lZGl0LXRvZG8gfCAtLXNob3ctY3VycmVudC1wYXRjaAorJ2dpdCByZWJhc2UnICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCB8IC0tcXVpdCB8IC0tZWRpdC10b2RvIHwgLS1zaG93LWN1cnJlbnQtcGF0Y2gpCiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQogSWYgPGJyYW5jaD4gaXMgc3BlY2lmaWVkLCAnZ2l0IHJlYmFzZScgd2lsbCBwZXJmb3JtIGFuIGF1dG9tYXRpYwotYGdpdCBjaGVja291dCA8YnJhbmNoPmAgYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UuICBPdGhlcndpc2UKK2BnaXQgc3dpdGNoIDxicmFuY2g+YCBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZS4gIE90aGVyd2lzZQogaXQgcmVtYWlucyBvbiB0aGUgY3VycmVudCBicmFuY2guCiAKIElmIDx1cHN0cmVhbT4gaXMgbm90IHNwZWNpZmllZCwgdGhlIHVwc3RyZWFtIGNvbmZpZ3VyZWQgaW4KQEAgLTIxNyw2ICsyMTcsMjQgQEAKIG1lcmdlIGJhc2Ugb2YgQSBhbmQgQiBpZiB0aGVyZSBpcyBleGFjdGx5IG9uZSBtZXJnZSBiYXNlLiBZb3UgY2FuCiBsZWF2ZSBvdXQgYXQgbW9zdCBvbmUgb2YgQSBhbmQgQiwgaW4gd2hpY2ggY2FzZSBpdCBkZWZhdWx0cyB0byBIRUFELgogCistLWtlZXAtYmFzZTo6CisJU2V0IHRoZSBzdGFydGluZyBwb2ludCBhdCB3aGljaCB0byBjcmVhdGUgdGhlIG5ldyBjb21taXRzIHRvIHRoZQorCW1lcmdlIGJhc2Ugb2YgPHVwc3RyZWFtPiA8YnJhbmNoPi4gUnVubmluZworCSdnaXQgcmViYXNlIC0ta2VlcC1iYXNlIDx1cHN0cmVhbT4gPGJyYW5jaD4nIGlzIGVxdWl2YWxlbnQgdG8KKwlydW5uaW5nICdnaXQgcmViYXNlIC0tb250byA8dXBzdHJlYW0+Li4uIDx1cHN0cmVhbT4nLgorKworVGhpcyBvcHRpb24gaXMgdXNlZnVsIGluIHRoZSBjYXNlIHdoZXJlIG9uZSBpcyBkZXZlbG9waW5nIGEgZmVhdHVyZSBvbgordG9wIG9mIGFuIHVwc3RyZWFtIGJyYW5jaC4gV2hpbGUgdGhlIGZlYXR1cmUgaXMgYmVpbmcgd29ya2VkIG9uLCB0aGUKK3Vwc3RyZWFtIGJyYW5jaCBtYXkgYWR2YW5jZSBhbmQgaXQgbWF5IG5vdCBiZSB0aGUgYmVzdCBpZGVhIHRvIGtlZXAKK3JlYmFzaW5nIG9uIHRvcCBvZiB0aGUgdXBzdHJlYW0gYnV0IHRvIGtlZXAgdGhlIGJhc2UgY29tbWl0IGFzLWlzLgorKworQWx0aG91Z2ggYm90aCB0aGlzIG9wdGlvbiBhbmQgLS1mb3JrLXBvaW50IGZpbmQgdGhlIG1lcmdlIGJhc2UgYmV0d2VlbgorPHVwc3RyZWFtPiBhbmQgPGJyYW5jaD4sIHRoaXMgb3B0aW9uIHVzZXMgdGhlIG1lcmdlIGJhc2UgYXMgdGhlIF9zdGFydGluZworcG9pbnRfIG9uIHdoaWNoIG5ldyBjb21taXRzIHdpbGwgYmUgY3JlYXRlZCwgd2hlcmVhcyAtLWZvcmstcG9pbnQgdXNlcwordGhlIG1lcmdlIGJhc2UgdG8gZGV0ZXJtaW5lIHRoZSBfc2V0IG9mIGNvbW1pdHNfIHdoaWNoIHdpbGwgYmUgcmViYXNlZC4KKysKK1NlZSBhbHNvIElOQ09NUEFUSUJMRSBPUFRJT05TIGJlbG93LgorCiA8dXBzdHJlYW0+OjoKIAlVcHN0cmVhbSBicmFuY2ggdG8gY29tcGFyZSBhZ2FpbnN0LiAgTWF5IGJlIGFueSB2YWxpZCBjb21taXQsCiAJbm90IGp1c3QgYW4gZXhpc3RpbmcgYnJhbmNoIG5hbWUuIERlZmF1bHRzIHRvIHRoZSBjb25maWd1cmVkCkBAIC0yNDAsMTYgKzI1OCw0NSBAQAogCW9yaWdpbmFsIGJyYW5jaC4gVGhlIGluZGV4IGFuZCB3b3JraW5nIHRyZWUgYXJlIGFsc28gbGVmdAogCXVuY2hhbmdlZCBhcyBhIHJlc3VsdC4KIAotLS1rZWVwLWVtcHR5OjoKLQlLZWVwIHRoZSBjb21taXRzIHRoYXQgZG8gbm90IGNoYW5nZSBhbnl0aGluZyBmcm9tIGl0cwotCXBhcmVudHMgaW4gdGhlIHJlc3VsdC4KKy0tYXBwbHk6CisJVXNlIGFwcGx5aW5nIHN0cmF0ZWdpZXMgdG8gcmViYXNlIChjYWxsaW5nIGBnaXQtYW1gCisJaW50ZXJuYWxseSkuICBUaGlzIG9wdGlvbiBtYXkgYmVjb21lIGEgbm8tb3AgaW4gdGhlIGZ1dHVyZQorCW9uY2UgdGhlIG1lcmdlIGJhY2tlbmQgaGFuZGxlcyBldmVyeXRoaW5nIHRoZSBhcHBseSBvbmUgZG9lcy4KICsKIFNlZSBhbHNvIElOQ09NUEFUSUJMRSBPUFRJT05TIGJlbG93LgogCistLWVtcHR5PXtkcm9wLGtlZXAsYXNrfTo6CisJSG93IHRvIGhhbmRsZSBjb21taXRzIHRoYXQgYXJlIG5vdCBlbXB0eSB0byBzdGFydCBhbmQgYXJlIG5vdAorCWNsZWFuIGNoZXJyeS1waWNrcyBvZiBhbnkgdXBzdHJlYW0gY29tbWl0LCBidXQgd2hpY2ggYmVjb21lCisJZW1wdHkgYWZ0ZXIgcmViYXNpbmcgKGJlY2F1c2UgdGhleSBjb250YWluIGEgc3Vic2V0IG9mIGFscmVhZHkKKwl1cHN0cmVhbSBjaGFuZ2VzKS4gIFdpdGggZHJvcCAodGhlIGRlZmF1bHQpLCBjb21taXRzIHRoYXQKKwliZWNvbWUgZW1wdHkgYXJlIGRyb3BwZWQuICBXaXRoIGtlZXAsIHN1Y2ggY29tbWl0cyBhcmUga2VwdC4KKwlXaXRoIGFzayAoaW1wbGllZCBieSAtLWludGVyYWN0aXZlKSwgdGhlIHJlYmFzZSB3aWxsIGhhbHQgd2hlbgorCWFuIGVtcHR5IGNvbW1pdCBpcyBhcHBsaWVkIGFsbG93aW5nIHlvdSB0byBjaG9vc2Ugd2hldGhlciB0bworCWRyb3AgaXQsIGVkaXQgZmlsZXMgbW9yZSwgb3IganVzdCBjb21taXQgdGhlIGVtcHR5IGNoYW5nZXMuCisJT3RoZXIgb3B0aW9ucywgbGlrZSAtLWV4ZWMsIHdpbGwgdXNlIHRoZSBkZWZhdWx0IG9mIGRyb3AgdW5sZXNzCisJLWkvLS1pbnRlcmFjdGl2ZSBpcyBleHBsaWNpdGx5IHNwZWNpZmllZC4KKysKK05vdGUgdGhhdCBjb21taXRzIHdoaWNoIHN0YXJ0IGVtcHR5IGFyZSBrZXB0LCBhbmQgY29tbWl0cyB3aGljaCBhcmUKK2NsZWFuIGNoZXJyeS1waWNrcyAoYXMgZGV0ZXJtaW5lZCBieSBgZ2l0IGxvZyAtLWNoZXJyeS1tYXJrIC4uLmApIGFyZQorYWx3YXlzIGRyb3BwZWQuCisrCitTZWUgYWxzbyBJTkNPTVBBVElCTEUgT1BUSU9OUyBiZWxvdy4KKworLS1rZWVwLWVtcHR5OjoKKwlOby1vcC4gIFJlYmFzaW5nIGNvbW1pdHMgdGhhdCBzdGFydGVkIGVtcHR5IChoYWQgbm8gY2hhbmdlCisJcmVsYXRpdmUgdG8gdGhlaXIgcGFyZW50KSB1c2VkIHRvIGZhaWwgYW5kIHRoaXMgb3B0aW9uIHdvdWxkCisJb3ZlcnJpZGUgdGhhdCBiZWhhdmlvciwgYWxsb3dpbmcgY29tbWl0cyB3aXRoIGVtcHR5IGNoYW5nZXMgdG8KKwliZSByZWJhc2VkLiAgTm93IGNvbW1pdHMgd2l0aCBubyBjaGFuZ2VzIGRvIG5vdCBjYXVzZSByZWJhc2luZworCXRvIGhhbHQuCisrCitTZWUgYWxzbyBCRUhBVklPUkFMIERJRkZFUkVOQ0VTIGFuZCBJTkNPTVBBVElCTEUgT1BUSU9OUyBiZWxvdy4KKwogLS1hbGxvdy1lbXB0eS1tZXNzYWdlOjoKLQlCeSBkZWZhdWx0LCByZWJhc2luZyBjb21taXRzIHdpdGggYW4gZW1wdHkgbWVzc2FnZSB3aWxsIGZhaWwuCi0JVGhpcyBvcHRpb24gb3ZlcnJpZGVzIHRoYXQgYmVoYXZpb3IsIGFsbG93aW5nIGNvbW1pdHMgd2l0aCBlbXB0eQotCW1lc3NhZ2VzIHRvIGJlIHJlYmFzZWQuCisJTm8tb3AuICBSZWJhc2luZyBjb21taXRzIHdpdGggYW4gZW1wdHkgbWVzc2FnZSB1c2VkIHRvIGZhaWwKKwlhbmQgdGhpcyBvcHRpb24gd291bGQgb3ZlcnJpZGUgdGhhdCBiZWhhdmlvciwgYWxsb3dpbmcgY29tbWl0cworCXdpdGggZW1wdHkgbWVzc2FnZXMgdG8gYmUgcmViYXNlZC4gIE5vdyBjb21taXRzIHdpdGggYW4gZW1wdHkKKwltZXNzYWdlIGRvIG5vdCBjYXVzZSByZWJhc2luZyB0byBoYWx0LgogKwogU2VlIGFsc28gSU5DT01QQVRJQkxFIE9QVElPTlMgYmVsb3cuCiAKQEAgLTI2OCw3ICszMTUsNyBAQAogLS1tZXJnZTo6CiAJVXNlIG1lcmdpbmcgc3RyYXRlZ2llcyB0byByZWJhc2UuICBXaGVuIHRoZSByZWN1cnNpdmUgKGRlZmF1bHQpIG1lcmdlCiAJc3RyYXRlZ3kgaXMgdXNlZCwgdGhpcyBhbGxvd3MgcmViYXNlIHRvIGJlIGF3YXJlIG9mIHJlbmFtZXMgb24gdGhlCi0JdXBzdHJlYW0gc2lkZS4KKwl1cHN0cmVhbSBzaWRlLiAgVGhpcyBpcyB0aGUgZGVmYXVsdC4KICsKIE5vdGUgdGhhdCBhIHJlYmFzZSBtZXJnZSB3b3JrcyBieSByZXBsYXlpbmcgZWFjaCBjb21taXQgZnJvbSB0aGUgd29ya2luZwogYnJhbmNoIG9uIHRvcCBvZiB0aGUgPHVwc3RyZWFtPiBicmFuY2guICBCZWNhdXNlIG9mIHRoaXMsIHdoZW4gYSBtZXJnZQpAQCAtMzAwLDYgKzM0NywxMSBAQAogKwogU2VlIGFsc28gSU5DT01QQVRJQkxFIE9QVElPTlMgYmVsb3cuCiAKKy0tcmVyZXJlLWF1dG91cGRhdGU6OgorLS1uby1yZXJlcmUtYXV0b3VwZGF0ZTo6CisJQWxsb3cgdGhlIHJlcmVyZSBtZWNoYW5pc20gdG8gdXBkYXRlIHRoZSBpbmRleCB3aXRoIHRoZQorCXJlc3VsdCBvZiBhdXRvLWNvbmZsaWN0IHJlc29sdXRpb24gaWYgcG9zc2libGUuCisKIC1TWzxrZXlpZD5dOjoKIC0tZ3BnLXNpZ25bPTxrZXlpZD5dOjoKIAlHUEctc2lnbiBjb21taXRzLiBUaGUgYGtleWlkYCBhcmd1bWVudCBpcyBvcHRpb25hbCBhbmQKQEAgLTMzMyw3ICszODUsNyBAQAogCUVuc3VyZSBhdCBsZWFzdCA8bj4gbGluZXMgb2Ygc3Vycm91bmRpbmcgY29udGV4dCBtYXRjaCBiZWZvcmUKIAlhbmQgYWZ0ZXIgZWFjaCBjaGFuZ2UuICBXaGVuIGZld2VyIGxpbmVzIG9mIHN1cnJvdW5kaW5nCiAJY29udGV4dCBleGlzdCB0aGV5IGFsbCBtdXN0IG1hdGNoLiAgQnkgZGVmYXVsdCBubyBjb250ZXh0IGlzCi0JZXZlciBpZ25vcmVkLgorCWV2ZXIgaWdub3JlZC4gIEltcGxpZXMgLS1hcHBseS4KICsKIFNlZSBhbHNvIElOQ09NUEFUSUJMRSBPUFRJT05TIGJlbG93LgogCkBAIC0zNjQsMTEgKzQxNiwxNiBAQAogKwogSWYgZWl0aGVyIDx1cHN0cmVhbT4gb3IgLS1yb290IGlzIGdpdmVuIG9uIHRoZSBjb21tYW5kIGxpbmUsIHRoZW4gdGhlCiBkZWZhdWx0IGlzIGAtLW5vLWZvcmstcG9pbnRgLCBvdGhlcndpc2UgdGhlIGRlZmF1bHQgaXMgYC0tZm9yay1wb2ludGAuCisrCitJZiB5b3VyIGJyYW5jaCB3YXMgYmFzZWQgb24gPHVwc3RyZWFtPiBidXQgPHVwc3RyZWFtPiB3YXMgcmV3b3VuZCBhbmQKK3lvdXIgYnJhbmNoIGNvbnRhaW5zIGNvbW1pdHMgd2hpY2ggd2VyZSBkcm9wcGVkLCB0aGlzIG9wdGlvbiBjYW4gYmUgdXNlZAord2l0aCBgLS1rZWVwLWJhc2VgIGluIG9yZGVyIHRvIGRyb3AgdGhvc2UgY29tbWl0cyBmcm9tIHlvdXIgYnJhbmNoLgogCiAtLWlnbm9yZS13aGl0ZXNwYWNlOjoKIC0td2hpdGVzcGFjZT08b3B0aW9uPjo6Ci0JVGhlc2UgZmxhZyBhcmUgcGFzc2VkIHRvIHRoZSAnZ2l0IGFwcGx5JyBwcm9ncmFtCisJVGhlc2UgZmxhZ3MgYXJlIHBhc3NlZCB0byB0aGUgJ2dpdCBhcHBseScgcHJvZ3JhbQogCShzZWUgbGlua2dpdDpnaXQtYXBwbHlbMV0pIHRoYXQgYXBwbGllcyB0aGUgcGF0Y2guCisJSW1wbGllcyAtLWFwcGx5LgogKwogU2VlIGFsc28gSU5DT01QQVRJQkxFIE9QVElPTlMgYmVsb3cuCiAKQEAgLTQxMCwxNCArNDY3LDE0IEBACiArCiBCeSBkZWZhdWx0LCBvciB3aGVuIGBuby1yZWJhc2UtY291c2luc2Agd2FzIHNwZWNpZmllZCwgY29tbWl0cyB3aGljaCBkbyBub3QKIGhhdmUgYDx1cHN0cmVhbT5gIGFzIGRpcmVjdCBhbmNlc3RvciB3aWxsIGtlZXAgdGhlaXIgb3JpZ2luYWwgYnJhbmNoIHBvaW50LAotaS5lLiBjb21taXRzIHRoYXQgd291bGQgYmUgZXhjbHVkZWQgYnkgZ2l0bGluazpnaXQtbG9nWzFdJ3MKK2kuZS4gY29tbWl0cyB0aGF0IHdvdWxkIGJlIGV4Y2x1ZGVkIGJ5IGxpbmtnaXQ6Z2l0LWxvZ1sxXSdzCiBgLS1hbmNlc3RyeS1wYXRoYCBvcHRpb24gd2lsbCBrZWVwIHRoZWlyIG9yaWdpbmFsIGFuY2VzdHJ5IGJ5IGRlZmF1bHQuIElmCiB0aGUgYHJlYmFzZS1jb3VzaW5zYCBtb2RlIGlzIHR1cm5lZCBvbiwgc3VjaCBjb21taXRzIGFyZSBpbnN0ZWFkIHJlYmFzZWQKIG9udG8gYDx1cHN0cmVhbT5gIChvciBgPG9udG8+YCwgaWYgc3BlY2lmaWVkKS4KICsKLVRoZSBgLS1yZWJhc2UtbWVyZ2VzYCBtb2RlIGlzIHNpbWlsYXIgaW4gc3Bpcml0IHRvIGAtLXByZXNlcnZlLW1lcmdlc2AsIGJ1dAotaW4gY29udHJhc3QgdG8gdGhhdCBvcHRpb24gd29ya3Mgd2VsbCBpbiBpbnRlcmFjdGl2ZSByZWJhc2VzOiBjb21taXRzIGNhbiBiZQotcmVvcmRlcmVkLCBpbnNlcnRlZCBhbmQgZHJvcHBlZCBhdCB3aWxsLgorVGhlIGAtLXJlYmFzZS1tZXJnZXNgIG1vZGUgaXMgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIGRlcHJlY2F0ZWQKK2AtLXByZXNlcnZlLW1lcmdlc2AgYnV0IHdvcmtzIHdpdGggaW50ZXJhY3RpdmUgcmViYXNlcywKK3doZXJlIGNvbW1pdHMgY2FuIGJlIHJlb3JkZXJlZCwgaW5zZXJ0ZWQgYW5kIGRyb3BwZWQgYXQgd2lsbC4KICsKIEl0IGlzIGN1cnJlbnRseSBvbmx5IHBvc3NpYmxlIHRvIHJlY3JlYXRlIHRoZSBtZXJnZSBjb21taXRzIHVzaW5nIHRoZQogYHJlY3Vyc2l2ZWAgbWVyZ2Ugc3RyYXRlZ3k7IERpZmZlcmVudCBtZXJnZSBzdHJhdGVnaWVzIGNhbiBiZSB1c2VkIG9ubHkgdmlhCkBAIC00MjcsOSArNDg0LDEwIEBACiAKIC1wOjoKIC0tcHJlc2VydmUtbWVyZ2VzOjoKLQlSZWNyZWF0ZSBtZXJnZSBjb21taXRzIGluc3RlYWQgb2YgZmxhdHRlbmluZyB0aGUgaGlzdG9yeSBieSByZXBsYXlpbmcKLQljb21taXRzIGEgbWVyZ2UgY29tbWl0IGludHJvZHVjZXMuIE1lcmdlIGNvbmZsaWN0IHJlc29sdXRpb25zIG9yIG1hbnVhbAotCWFtZW5kbWVudHMgdG8gbWVyZ2UgY29tbWl0cyBhcmUgbm90IHByZXNlcnZlZC4KKwlbREVQUkVDQVRFRDogdXNlIGAtLXJlYmFzZS1tZXJnZXNgIGluc3RlYWRdIFJlY3JlYXRlIG1lcmdlIGNvbW1pdHMKKwlpbnN0ZWFkIG9mIGZsYXR0ZW5pbmcgdGhlIGhpc3RvcnkgYnkgcmVwbGF5aW5nIGNvbW1pdHMgYSBtZXJnZSBjb21taXQKKwlpbnRyb2R1Y2VzLiBNZXJnZSBjb25mbGljdCByZXNvbHV0aW9ucyBvciBtYW51YWwgYW1lbmRtZW50cyB0byBtZXJnZQorCWNvbW1pdHMgYXJlIG5vdCBwcmVzZXJ2ZWQuCiArCiBUaGlzIHVzZXMgdGhlIGAtLWludGVyYWN0aXZlYCBtYWNoaW5lcnkgaW50ZXJuYWxseSwgYnV0IGNvbWJpbmluZyBpdAogd2l0aCB0aGUgYC0taW50ZXJhY3RpdmVgIG9wdGlvbiBleHBsaWNpdGx5IGlzIGdlbmVyYWxseSBub3QgYSBnb29kCkBAIC01MDEsNzcgKzU1OSwxNjUgQEAKIAl3aXRoIGNhcmU6IHRoZSBmaW5hbCBzdGFzaCBhcHBsaWNhdGlvbiBhZnRlciBhIHN1Y2Nlc3NmdWwKIAlyZWJhc2UgbWlnaHQgcmVzdWx0IGluIG5vbi10cml2aWFsIGNvbmZsaWN0cy4KIAorLS1yZXNjaGVkdWxlLWZhaWxlZC1leGVjOjoKKy0tbm8tcmVzY2hlZHVsZS1mYWlsZWQtZXhlYzo6CisJQXV0b21hdGljYWxseSByZXNjaGVkdWxlIGBleGVjYCBjb21tYW5kcyB0aGF0IGZhaWxlZC4gVGhpcyBvbmx5IG1ha2VzCisJc2Vuc2UgaW4gaW50ZXJhY3RpdmUgbW9kZSAob3Igd2hlbiBhbiBgLS1leGVjYCBvcHRpb24gd2FzIHByb3ZpZGVkKS4KKwogSU5DT01QQVRJQkxFIE9QVElPTlMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLWdpdC1yZWJhc2UgaGFzIG1hbnkgZmxhZ3MgdGhhdCBhcmUgaW5jb21wYXRpYmxlIHdpdGggZWFjaCBvdGhlciwKLXByZWRvbWluYW50bHkgZHVlIHRvIHRoZSBmYWN0IHRoYXQgaXQgaGFzIHRocmVlIGRpZmZlcmVudCB1bmRlcmx5aW5nCi1pbXBsZW1lbnRhdGlvbnM6CitUaGUgZm9sbG93aW5nIG9wdGlvbnM6CiAKLSAqIG9uZSBiYXNlZCBvbiBsaW5rZ2l0OmdpdC1hbVsxXSAodGhlIGRlZmF1bHQpCi0gKiBvbmUgYmFzZWQgb24gZ2l0LW1lcmdlLXJlY3Vyc2l2ZSAobWVyZ2UgYmFja2VuZCkKLSAqIG9uZSBiYXNlZCBvbiBsaW5rZ2l0OmdpdC1jaGVycnktcGlja1sxXSAoaW50ZXJhY3RpdmUgYmFja2VuZCkKLQotRmxhZ3Mgb25seSB1bmRlcnN0b29kIGJ5IHRoZSBhbSBiYWNrZW5kOgotCisgKiAtLWFwcGx5CiAgKiAtLWNvbW1pdHRlci1kYXRlLWlzLWF1dGhvci1kYXRlCiAgKiAtLWlnbm9yZS1kYXRlCi0gKiAtLXdoaXRlc3BhY2UKICAqIC0taWdub3JlLXdoaXRlc3BhY2UKKyAqIC0td2hpdGVzcGFjZQogICogLUMKIAotRmxhZ3MgdW5kZXJzdG9vZCBieSBib3RoIG1lcmdlIGFuZCBpbnRlcmFjdGl2ZSBiYWNrZW5kczoKK2FyZSBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZm9sbG93aW5nIG9wdGlvbnM6CiAKICAqIC0tbWVyZ2UKICAqIC0tc3RyYXRlZ3kKICAqIC0tc3RyYXRlZ3ktb3B0aW9uCiAgKiAtLWFsbG93LWVtcHR5LW1lc3NhZ2UKLQotRmxhZ3Mgb25seSB1bmRlcnN0b29kIGJ5IHRoZSBpbnRlcmFjdGl2ZSBiYWNrZW5kOgotCiAgKiAtLVtuby1dYXV0b3NxdWFzaAogICogLS1yZWJhc2UtbWVyZ2VzCiAgKiAtLXByZXNlcnZlLW1lcmdlcwogICogLS1pbnRlcmFjdGl2ZQogICogLS1leGVjCiAgKiAtLWtlZXAtZW1wdHkKLSAqIC0tYXV0b3NxdWFzaAorICogLS1lbXB0eT0KICAqIC0tZWRpdC10b2RvCiAgKiAtLXJvb3Qgd2hlbiB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggLS1vbnRvCiAKLU90aGVyIGluY29tcGF0aWJsZSBmbGFnIHBhaXJzOgorSW4gYWRkaXRpb24sIHRoZSBmb2xsb3dpbmcgcGFpcnMgb2Ygb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlOgogCiAgKiAtLXByZXNlcnZlLW1lcmdlcyBhbmQgLS1pbnRlcmFjdGl2ZQogICogLS1wcmVzZXJ2ZS1tZXJnZXMgYW5kIC0tc2lnbm9mZgogICogLS1wcmVzZXJ2ZS1tZXJnZXMgYW5kIC0tcmViYXNlLW1lcmdlcwotICogLS1yZWJhc2UtbWVyZ2VzIGFuZCAtLXN0cmF0ZWd5Ci0gKiAtLXJlYmFzZS1tZXJnZXMgYW5kIC0tc3RyYXRlZ3ktb3B0aW9uCisgKiAtLXByZXNlcnZlLW1lcmdlcyBhbmQgLS1lbXB0eT0KKyAqIC0ta2VlcC1iYXNlIGFuZCAtLW9udG8KKyAqIC0ta2VlcC1iYXNlIGFuZCAtLXJvb3QKIAogQkVIQVZJT1JBTCBESUZGRVJFTkNFUwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotVGhlcmUgYXJlIHNvbWUgc3VidGxlIGRpZmZlcmVuY2VzIGhvdyB0aGUgYmFja2VuZHMgYmVoYXZlLgorZ2l0IHJlYmFzZSBoYXMgdHdvIHByaW1hcnkgYmFja2VuZHM6IGFwcGx5IGFuZCBtZXJnZS4gIChUaGUgYXBwbHkKK2JhY2tlbmQgdXNlZCB0byBrbm93biBhcyB0aGUgJ2FtJyBiYWNrZW5kLCBidXQgdGhlIG5hbWUgbGVkIHRvCitjb25mdXNpb24gYXMgaXQgbG9va3MgbGlrZSBhIHZlcmIgaW5zdGVhZCBvZiBhIG5vdW4uICBBbHNvLCB0aGUgbWVyZ2UKK2JhY2tlbmQgdXNlZCB0byBiZSBrbm93biBhcyB0aGUgaW50ZXJhY3RpdmUgYmFja2VuZCwgYnV0IGl0IGlzIG5vdwordXNlZCBmb3Igbm9uLWludGVyYWN0aXZlIGNhc2VzIGFzIHdlbGwuICBCb3RoIHdlcmUgcmVuYW1lZCBiYXNlZCBvbgorbG93ZXItbGV2ZWwgZnVuY3Rpb25hbGl0eSB0aGF0IHVuZGVycGlubmVkIGVhY2guKSBUaGVyZSBhcmUgc29tZQorc3VidGxlIGRpZmZlcmVuY2VzIGluIGhvdyB0aGVzZSB0d28gYmFja2VuZHMgYmVoYXZlOgogCiBFbXB0eSBjb21taXRzCiB+fn5+fn5+fn5+fn5+CiAKLVRoZSBhbSBiYWNrZW5kIGRyb3BzIGFueSAiZW1wdHkiIGNvbW1pdHMsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUKLWNvbW1pdCBzdGFydGVkIGVtcHR5IChoYWQgbm8gY2hhbmdlcyByZWxhdGl2ZSB0byBpdHMgcGFyZW50IHRvCi1zdGFydCB3aXRoKSBvciBlbmRlZCBlbXB0eSAoYWxsIGNoYW5nZXMgd2VyZSBhbHJlYWR5IGFwcGxpZWQKLXVwc3RyZWFtIGluIG90aGVyIGNvbW1pdHMpLgorVGhlIGFwcGx5IGJhY2tlbmQgdW5mb3J0dW5hdGVseSBkcm9wcyBpbnRlbnRpb25hbGx5IGVtcHR5IGNvbW1pdHMsIGkuZS4KK2NvbW1pdHMgdGhhdCBzdGFydGVkIGVtcHR5LCB0aG91Z2ggdGhlc2UgYXJlIHJhcmUgaW4gcHJhY3RpY2UuICBJdAorYWxzbyBkcm9wcyBjb21taXRzIHRoYXQgYmVjb21lIGVtcHR5IGFuZCBoYXMgbm8gb3B0aW9uIGZvciBjb250cm9sbGluZwordGhpcyBiZWhhdmlvci4KIAotVGhlIG1lcmdlIGJhY2tlbmQgZG9lcyB0aGUgc2FtZS4KLQotVGhlIGludGVyYWN0aXZlIGJhY2tlbmQgZHJvcHMgY29tbWl0cyBieSBkZWZhdWx0IHRoYXQKLXN0YXJ0ZWQgZW1wdHkgYW5kIGhhbHRzIGlmIGl0IGhpdHMgYSBjb21taXQgdGhhdCBlbmRlZCB1cCBlbXB0eS4KLVRoZSBgLS1rZWVwLWVtcHR5YCBvcHRpb24gZXhpc3RzIGZvciB0aGUgaW50ZXJhY3RpdmUgYmFja2VuZCB0byBhbGxvdwotaXQgdG8ga2VlcCBjb21taXRzIHRoYXQgc3RhcnRlZCBlbXB0eS4KK1RoZSBtZXJnZSBiYWNrZW5kIGtlZXBzIGludGVudGlvbmFsbHkgZW1wdHkgY29tbWl0cy4gIFNpbWlsYXIgdG8gdGhlCithcHBseSBiYWNrZW5kLCBieSBkZWZhdWx0IHRoZSBtZXJnZSBiYWNrZW5kIGRyb3BzIGNvbW1pdHMgdGhhdCBiZWNvbWUKK2VtcHR5IHVubGVzcyAtaS8tLWludGVyYWN0aXZlIGlzIHNwZWNpZmllZCAoaW4gd2hpY2ggY2FzZSBpdCBzdG9wcyBhbmQKK2Fza3MgdGhlIHVzZXIgd2hhdCB0byBkbykuICBUaGUgbWVyZ2UgYmFja2VuZCBhbHNvIGhhcyBhbgorLS1lbXB0eT17ZHJvcCxrZWVwLGFza30gb3B0aW9uIGZvciBjaGFuZ2luZyB0aGUgYmVoYXZpb3Igb2YgaGFuZGxpbmcKK2NvbW1pdHMgdGhhdCBiZWNvbWUgZW1wdHkuCiAKIERpcmVjdG9yeSByZW5hbWUgZGV0ZWN0aW9uCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCi1UaGUgbWVyZ2UgYW5kIGludGVyYWN0aXZlIGJhY2tlbmRzIHdvcmsgZmluZSB3aXRoCi1kaXJlY3RvcnkgcmVuYW1lIGRldGVjdGlvbi4gIFRoZSBhbSBiYWNrZW5kIHNvbWV0aW1lcyBkb2VzIG5vdC4KK0R1ZSB0byB0aGUgbGFjayBvZiBhY2N1cmF0ZSB0cmVlIGluZm9ybWF0aW9uIChhcmlzaW5nIGZyb20KK2NvbnN0cnVjdGluZyBmYWtlIGFuY2VzdG9ycyB3aXRoIHRoZSBsaW1pdGVkIGluZm9ybWF0aW9uIGF2YWlsYWJsZSBpbgorcGF0Y2hlcyksIGRpcmVjdG9yeSByZW5hbWUgZGV0ZWN0aW9uIGlzIGRpc2FibGVkIGluIHRoZSBhcHBseSBiYWNrZW5kLgorRGlzYWJsZWQgZGlyZWN0b3J5IHJlbmFtZSBkZXRlY3Rpb24gbWVhbnMgdGhhdCBpZiBvbmUgc2lkZSBvZiBoaXN0b3J5CityZW5hbWVzIGEgZGlyZWN0b3J5IGFuZCB0aGUgb3RoZXIgYWRkcyBuZXcgZmlsZXMgdG8gdGhlIG9sZCBkaXJlY3RvcnksCit0aGVuIHRoZSBuZXcgZmlsZXMgd2lsbCBiZSBsZWZ0IGJlaGluZCBpbiB0aGUgb2xkIGRpcmVjdG9yeSB3aXRob3V0Cithbnkgd2FybmluZyBhdCB0aGUgdGltZSBvZiByZWJhc2luZyB0aGF0IHlvdSBtYXkgd2FudCB0byBtb3ZlIHRoZXNlCitmaWxlcyBpbnRvIHRoZSBuZXcgZGlyZWN0b3J5LgorCitEaXJlY3RvcnkgcmVuYW1lIGRldGVjdGlvbiB3b3JrcyB3aXRoIHRoZSBtZXJnZSBiYWNrZW5kIHRvIHByb3ZpZGUgeW91Cit3YXJuaW5ncyBpbiBzdWNoIGNhc2VzLgorCitDb250ZXh0Cit+fn5+fn5+CisKK1RoZSBhcHBseSBiYWNrZW5kIHdvcmtzIGJ5IGNyZWF0aW5nIGEgc2VxdWVuY2Ugb2YgcGF0Y2hlcyAoYnkgY2FsbGluZworYGZvcm1hdC1wYXRjaGAgaW50ZXJuYWxseSksIGFuZCB0aGVuIGFwcGx5aW5nIHRoZSBwYXRjaGVzIGluIHNlcXVlbmNlCisoY2FsbGluZyBgYW1gIGludGVybmFsbHkpLiAgUGF0Y2hlcyBhcmUgY29tcG9zZWQgb2YgbXVsdGlwbGUgaHVua3MsCitlYWNoIHdpdGggbGluZSBudW1iZXJzLCBhIGNvbnRleHQgcmVnaW9uLCBhbmQgdGhlIGFjdHVhbCBjaGFuZ2VzLiAgVGhlCitsaW5lIG51bWJlcnMgaGF2ZSB0byBiZSB0YWtlbiB3aXRoIHNvbWUgZnV6eiwgc2luY2UgdGhlIG90aGVyIHNpZGUKK3dpbGwgbGlrZWx5IGhhdmUgaW5zZXJ0ZWQgb3IgZGVsZXRlZCBsaW5lcyBlYXJsaWVyIGluIHRoZSBmaWxlLiAgVGhlCitjb250ZXh0IHJlZ2lvbiBpcyBtZWFudCB0byBoZWxwIGZpbmQgaG93IHRvIGFkanVzdCB0aGUgbGluZSBudW1iZXJzIGluCitvcmRlciB0byBhcHBseSB0aGUgY2hhbmdlcyB0byB0aGUgcmlnaHQgbGluZXMuICBIb3dldmVyLCBpZiBtdWx0aXBsZQorYXJlYXMgb2YgdGhlIGNvZGUgaGF2ZSB0aGUgc2FtZSBzdXJyb3VuZGluZyBsaW5lcyBvZiBjb250ZXh0LCB0aGUKK3dyb25nIG9uZSBjYW4gYmUgcGlja2VkLiAgVGhlcmUgYXJlIHJlYWwtd29ybGQgY2FzZXMgd2hlcmUgdGhpcyBoYXMKK2NhdXNlZCBjb21taXRzIHRvIGJlIHJlYXBwbGllZCBpbmNvcnJlY3RseSB3aXRoIG5vIGNvbmZsaWN0cyByZXBvcnRlZC4KK1NldHRpbmcgZGlmZi5jb250ZXh0IHRvIGEgbGFyZ2VyIHZhbHVlIG1heSBwcmV2ZW50IHN1Y2ggdHlwZXMgb2YKK3Byb2JsZW1zLCBidXQgaW5jcmVhc2VzIHRoZSBjaGFuY2Ugb2Ygc3B1cmlvdXMgY29uZmxpY3RzIChzaW5jZSBpdAord2lsbCByZXF1aXJlIG1vcmUgbGluZXMgb2YgbWF0Y2hpbmcgY29udGV4dCB0byBhcHBseSkuCisKK1RoZSBtZXJnZSBiYWNrZW5kIHdvcmtzIHdpdGggYSBmdWxsIGNvcHkgb2YgZWFjaCByZWxldmFudCBmaWxlLAoraW5zdWxhdGluZyBpdCBmcm9tIHRoZXNlIHR5cGVzIG9mIHByb2JsZW1zLgorCitMYWJlbGxpbmcgb2YgY29uZmxpY3RzIG1hcmtlcnMKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitXaGVuIHRoZXJlIGFyZSBjb250ZW50IGNvbmZsaWN0cywgdGhlIG1lcmdlIG1hY2hpbmVyeSB0cmllcyB0bworYW5ub3RhdGUgZWFjaCBzaWRlJ3MgY29uZmxpY3QgbWFya2VycyB3aXRoIHRoZSBjb21taXRzIHdoZXJlIHRoZQorY29udGVudCBjYW1lIGZyb20uICBTaW5jZSB0aGUgYXBwbHkgYmFja2VuZCBkcm9wcyB0aGUgb3JpZ2luYWwKK2luZm9ybWF0aW9uIGFib3V0IHRoZSByZWJhc2VkIGNvbW1pdHMgYW5kIHRoZWlyIHBhcmVudHMgKGFuZCBpbnN0ZWFkCitnZW5lcmF0ZXMgbmV3IGZha2UgY29tbWl0cyBiYXNlZCBvZmYgbGltaXRlZCBpbmZvcm1hdGlvbiBpbiB0aGUKK2dlbmVyYXRlZCBwYXRjaGVzKSwgdGhvc2UgY29tbWl0cyBjYW5ub3QgYmUgaWRlbnRpZmllZDsgaW5zdGVhZCBpdCBoYXMKK3RvIGZhbGwgYmFjayB0byBhIGNvbW1pdCBzdW1tYXJ5LiAgQWxzbywgd2hlbiBtZXJnZS5jb25mbGljdFN0eWxlIGlzCitzZXQgdG8gZGlmZjMsIHRoZSBhcHBseSBiYWNrZW5kIHdpbGwgdXNlICJjb25zdHJ1Y3RlZCBtZXJnZSBiYXNlIiB0bworbGFiZWwgdGhlIGNvbnRlbnQgZnJvbSB0aGUgbWVyZ2UgYmFzZSwgYW5kIHRodXMgcHJvdmlkZSBubyBpbmZvcm1hdGlvbgorYWJvdXQgdGhlIG1lcmdlIGJhc2UgY29tbWl0IHdoYXRzb2V2ZXIuCisKK1RoZSBtZXJnZSBiYWNrZW5kIHdvcmtzIHdpdGggdGhlIGZ1bGwgY29tbWl0cyBvbiBib3RoIHNpZGVzIG9mIGhpc3RvcnkKK2FuZCB0aHVzIGhhcyBubyBzdWNoIGxpbWl0YXRpb25zLgorCitIb29rcworfn5+fn4KKworVGhlIGFwcGx5IGJhY2tlbmQgaGFzIG5vdCB0cmFkaXRpb25hbGx5IGNhbGxlZCB0aGUgcG9zdC1jb21taXQgaG9vaywKK3doaWxlIHRoZSBtZXJnZSBiYWNrZW5kIGhhcy4gIEhvd2V2ZXIsIHRoaXMgd2FzIGJ5IGFjY2lkZW50IG9mCitpbXBsZW1lbnRhdGlvbiByYXRoZXIgdGhhbiBieSBkZXNpZ24uICBCb3RoIGJhY2tlbmRzIHNob3VsZCBoYXZlIHRoZQorc2FtZSBiZWhhdmlvciwgdGhvdWdoIGl0IGlzIG5vdCBjbGVhciB3aGljaCBvbmUgaXMgY29ycmVjdC4KKworSW50ZXJydXB0YWJpbGl0eQorfn5+fn5+fn5+fn5+fn5+fgorCitUaGUgYXBwbHkgYmFja2VuZCBoYXMgc2FmZXR5IHByb2JsZW1zIHdpdGggYW4gaWxsLXRpbWVkIGludGVycnVwdDsgaWYKK3RoZSB1c2VyIHByZXNzZXMgQ3RybC1DIGF0IHRoZSB3cm9uZyB0aW1lIHRvIHRyeSB0byBhYm9ydCB0aGUgcmViYXNlLAordGhlIHJlYmFzZSBjYW4gZW50ZXIgYSBzdGF0ZSB3aGVyZSBpdCBjYW5ub3QgYmUgYWJvcnRlZCB3aXRoIGEKK3N1YnNlcXVlbnQgYGdpdCByZWJhc2UgLS1hYm9ydGAuICBUaGUgbWVyZ2UgYmFja2VuZCBkb2VzIG5vdCBhcHBlYXIgdG8KK3N1ZmZlciBmcm9tIHRoZSBzYW1lIHNob3J0Y29taW5nLiAgKFNlZQoraHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvZ2l0LzIwMjAwMjA3MTMyMTUyLkdDMjg2OEBzemVkZXIuZGV2LyBmb3IKK2RldGFpbHMuKQorCitNaXNjZWxsYW5lb3VzIGRpZmZlcmVuY2VzCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKK1RoZXJlIGFyZSBhIGZldyBtb3JlIGJlaGF2aW9yYWwgZGlmZmVyZW5jZXMgdGhhdCBtb3N0IGZvbGtzIHdvdWxkCitwcm9iYWJseSBjb25zaWRlciBpbmNvbnNlcXVlbnRpYWwgYnV0IHdoaWNoIGFyZSBtZW50aW9uZWQgZm9yCitjb21wbGV0ZW5lc3M6CisKKyogUmVmbG9nOiBUaGUgdHdvIGJhY2tlbmRzIHdpbGwgdXNlIGRpZmZlcmVudCB3b3JkaW5nIHdoZW4gZGVzY3JpYmluZworICB0aGUgY2hhbmdlcyBtYWRlIGluIHRoZSByZWZsb2csIHRob3VnaCBib3RoIHdpbGwgbWFrZSB1c2Ugb2YgdGhlCisgIHdvcmQgInJlYmFzZSIuCisKKyogUHJvZ3Jlc3MsIGluZm9ybWF0aW9uYWwsIGFuZCBlcnJvciBtZXNzYWdlczogVGhlIHR3byBiYWNrZW5kcworICBwcm92aWRlIHNsaWdodGx5IGRpZmZlcmVudCBwcm9ncmVzcyBhbmQgaW5mb3JtYXRpb25hbCBtZXNzYWdlcy4KKyAgQWxzbywgdGhlIGFwcGx5IGJhY2tlbmQgd3JpdGVzIGVycm9yIG1lc3NhZ2VzIChzdWNoIGFzICJZb3VyIGZpbGVzCisgIHdvdWxkIGJlIG92ZXJ3cml0dGVuLi4uIikgdG8gc3Rkb3V0LCB3aGlsZSB0aGUgbWVyZ2UgYmFja2VuZCB3cml0ZXMKKyAgdGhlbSB0byBzdGRlcnIuCisKKyogU3RhdGUgZGlyZWN0b3JpZXM6IFRoZSB0d28gYmFja2VuZHMga2VlcCB0aGVpciBzdGF0ZSBpbiBkaWZmZXJlbnQKKyAgZGlyZWN0b3JpZXMgdW5kZXIgLmdpdC8KIAogaW5jbHVkZTo6bWVyZ2Utc3RyYXRlZ2llcy50eHRbXQogCkBAIC02NzcsNyArODIzLDggQEAKIAogQW5kIG1vdmUgdGhlIGZpcnN0IHBhdGNoIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QuCiAKLVlvdSBtaWdodCB3YW50IHRvIHByZXNlcnZlIG1lcmdlcywgaWYgeW91IGhhdmUgYSBoaXN0b3J5IGxpa2UgdGhpczoKK1lvdSBtaWdodCB3YW50IHRvIHJlY3JlYXRlIG1lcmdlIGNvbW1pdHMsIGUuZy4gaWYgeW91IGhhdmUgYSBoaXN0b3J5CitsaWtlIHRoaXM6CiAKIC0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgICBYCkBAIC02OTEsNyArODM4LDcgQEAKIHN1cmUgdGhhdCB0aGUgY3VycmVudCBIRUFEIGlzICJCIiwgYW5kIGNhbGwKIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSQgZ2l0IHJlYmFzZSAtaSAtcCAtLW9udG8gUSBPCiskIGdpdCByZWJhc2UgLWkgLXIgLS1vbnRvIFEgTwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogUmVvcmRlcmluZyBhbmQgZWRpdGluZyBjb21taXRzIHVzdWFsbHkgY3JlYXRlcyB1bnRlc3RlZCBpbnRlcm1lZGlhdGUKQEAgLTgzMyw3ICs5ODAsOCBAQAogCVRoaXMgaGFwcGVucyBpZiB0aGUgJ3N1YnN5c3RlbScgcmViYXNlIGhhZCBjb25mbGljdHMsIG9yIHVzZWQKIAlgLS1pbnRlcmFjdGl2ZWAgdG8gb21pdCwgZWRpdCwgc3F1YXNoLCBvciBmaXh1cCBjb21taXRzOyBvcgogCWlmIHRoZSB1cHN0cmVhbSB1c2VkIG9uZSBvZiBgY29tbWl0IC0tYW1lbmRgLCBgcmVzZXRgLCBvcgotCWBmaWx0ZXItYnJhbmNoYC4KKwlhIGZ1bGwgaGlzdG9yeSByZXdyaXRpbmcgY29tbWFuZCBsaWtlCisJaHR0cHM6Ly9naXRodWIuY29tL25ld3Jlbi9naXQtZmlsdGVyLXJlcG9bYGZpbHRlci1yZXBvYF0uCiAKIAogVGhlIGVhc3kgY2FzZQpAQCAtODcxLDcgKzEwMTksNyBAQAogICAgICAgLS1pbnRlcmFjdGl2ZWAgd2lsbCBiZSAqKnJlc3VycmVjdGVkKiohCiAKIFRoZSBpZGVhIGlzIHRvIG1hbnVhbGx5IHRlbGwgJ2dpdCByZWJhc2UnICJ3aGVyZSB0aGUgb2xkICdzdWJzeXN0ZW0nCi1lbmRlZCBhbmQgeW91ciAndG9waWMnIGJlZ2FuIiwgdGhhdCBpcywgd2hhdCB0aGUgb2xkIG1lcmdlLWJhc2UKK2VuZGVkIGFuZCB5b3VyICd0b3BpYycgYmVnYW4iLCB0aGF0IGlzLCB3aGF0IHRoZSBvbGQgbWVyZ2UgYmFzZQogYmV0d2VlbiB0aGVtIHdhcy4gIFlvdSB3aWxsIGhhdmUgdG8gZmluZCBhIHdheSB0byBuYW1lIHRoZSBsYXN0IGNvbW1pdAogb2YgdGhlIG9sZCAnc3Vic3lzdGVtJywgZm9yIGV4YW1wbGU6CiAKQEAgLTk3OSw3ICsxMTI3LDcgQEAKIAogQXQgdGhpcyB0aW1lLCB0aGUgYG1lcmdlYCBjb21tYW5kIHdpbGwgKmFsd2F5cyogdXNlIHRoZSBgcmVjdXJzaXZlYAogbWVyZ2Ugc3RyYXRlZ3kgZm9yIHJlZ3VsYXIgbWVyZ2VzLCBhbmQgYG9jdG9wdXNgIGZvciBvY3RvcHVzIG1lcmdlcywKLXN0cmF0ZWd5LCB3aXRoIG5vIHdheSB0byBjaG9vc2UgYSBkaWZmZXJlbnQgb25lLiBUbyB3b3JrIGFyb3VuZAord2l0aCBubyB3YXkgdG8gY2hvb3NlIGEgZGlmZmVyZW50IG9uZS4gVG8gd29yayBhcm91bmQKIHRoaXMsIGFuIGBleGVjYCBjb21tYW5kIGNhbiBiZSB1c2VkIHRvIGNhbGwgYGdpdCBtZXJnZWAgZXhwbGljaXRseSwKIHVzaW5nIHRoZSBmYWN0IHRoYXQgdGhlIGxhYmVscyBhcmUgd29ya3RyZWUtbG9jYWwgcmVmcyAodGhlIHJlZgogYHJlZnMvcmV3cml0dGVuL29udG9gIHdvdWxkIGNvcnJlc3BvbmQgdG8gdGhlIGxhYmVsIGBvbnRvYCwgZm9yIGV4YW1wbGUpLgpAQCAtMTAyOCwxMSArMTE3NiwxMSBAQAogCiBCVUdTCiAtLS0tCi1UaGUgdG9kbyBsaXN0IHByZXNlbnRlZCBieSBgLS1wcmVzZXJ2ZS1tZXJnZXMgLS1pbnRlcmFjdGl2ZWAgZG9lcyBub3QKLXJlcHJlc2VudCB0aGUgdG9wb2xvZ3kgb2YgdGhlIHJldmlzaW9uIGdyYXBoLiAgRWRpdGluZyBjb21taXRzIGFuZAotcmV3b3JkaW5nIHRoZWlyIGNvbW1pdCBtZXNzYWdlcyBzaG91bGQgd29yayBmaW5lLCBidXQgYXR0ZW1wdHMgdG8KLXJlb3JkZXIgY29tbWl0cyB0ZW5kIHRvIHByb2R1Y2UgY291bnRlcmludHVpdGl2ZSByZXN1bHRzLiBVc2UKLWAtLXJlYmFzZS1tZXJnZXNgIGluIHN1Y2ggc2NlbmFyaW9zIGluc3RlYWQuCitUaGUgdG9kbyBsaXN0IHByZXNlbnRlZCBieSB0aGUgZGVwcmVjYXRlZCBgLS1wcmVzZXJ2ZS1tZXJnZXMgLS1pbnRlcmFjdGl2ZWAKK2RvZXMgbm90IHJlcHJlc2VudCB0aGUgdG9wb2xvZ3kgb2YgdGhlIHJldmlzaW9uIGdyYXBoICh1c2UgYC0tcmViYXNlLW1lcmdlc2AKK2luc3RlYWQpLiAgRWRpdGluZyBjb21taXRzIGFuZCByZXdvcmRpbmcgdGhlaXIgY29tbWl0IG1lc3NhZ2VzIHNob3VsZCB3b3JrCitmaW5lLCBidXQgYXR0ZW1wdHMgdG8gcmVvcmRlciBjb21taXRzIHRlbmQgdG8gcHJvZHVjZSBjb3VudGVyaW50dWl0aXZlIHJlc3VsdHMuCitVc2UgYC0tcmViYXNlLW1lcmdlc2AgaW4gc3VjaCBzY2VuYXJpb3MgaW5zdGVhZC4KIAogRm9yIGV4YW1wbGUsIGFuIGF0dGVtcHQgdG8gcmVhcnJhbmdlCiAtLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXJlY2VpdmUtcGFjay50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZWNlaXZlLXBhY2sudHh0CmluZGV4IGRlZGY5N2UuLjI1NzAyZWQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXJlY2VpdmUtcGFjay50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcmVjZWl2ZS1wYWNrLnR4dApAQCAtMTY1LDI5ICsxNjUsMzEgQEAKIGNlcnRpZmljYXRlcyBvZiBzaWduZWQgcHVzaGVzIHdpdGggZ29vZCBzaWduYXR1cmVzIHRvIGEgbG9nZ2VyCiBzZXJ2aWNlOgogCi0JIyEvYmluL3NoCi0JIyBtYWlsIG91dCBjb21taXQgdXBkYXRlIGluZm9ybWF0aW9uLgotCXdoaWxlIHJlYWQgb3ZhbCBudmFsIHJlZgotCWRvCi0JCWlmIGV4cHIgIiRvdmFsIiA6ICcwKiQnID4vZGV2L251bGwKLQkJdGhlbgotCQkJZWNobyAiQ3JlYXRlZCBhIG5ldyByZWYsIHdpdGggdGhlIGZvbGxvd2luZyBjb21taXRzOiIKLQkJCWdpdCByZXYtbGlzdCAtLXByZXR0eSAiJG52YWwiCi0JCWVsc2UKLQkJCWVjaG8gIk5ldyBjb21taXRzOiIKLQkJCWdpdCByZXYtbGlzdCAtLXByZXR0eSAiJG52YWwiICJeJG92YWwiCi0JCWZpIHwKLQkJbWFpbCAtcyAiQ2hhbmdlcyB0byByZWYgJHJlZiIgY29tbWl0LWxpc3RAbXlkb21haW4KLQlkb25lCi0JIyBsb2cgc2lnbmVkIHB1c2ggY2VydGlmaWNhdGUsIGlmIGFueQotCWlmIHRlc3QgLW4gIiR7R0lUX1BVU0hfQ0VSVC19IiAmJiB0ZXN0ICR7R0lUX1BVU0hfQ0VSVF9TVEFUVVN9ID0gRworLS0tLQorIyEvYmluL3NoCisjIG1haWwgb3V0IGNvbW1pdCB1cGRhdGUgaW5mb3JtYXRpb24uCit3aGlsZSByZWFkIG92YWwgbnZhbCByZWYKK2RvCisJaWYgZXhwciAiJG92YWwiIDogJzAqJCcgPi9kZXYvbnVsbAogCXRoZW4KLQkJKAotCQkJZWNobyBleHBlY3RlZCBub25jZSBpcyAke0dJVF9QVVNIX05PTkNFfQotCQkJZ2l0IGNhdC1maWxlIGJsb2IgJHtHSVRfUFVTSF9DRVJUfQotCQkpIHwgbWFpbCAtcyAicHVzaCBjZXJ0aWZpY2F0ZSBmcm9tICRHSVRfUFVTSF9DRVJUX1NJR05FUiIgcHVzaC1sb2dAbXlkb21haW4KLQlmaQotCWV4aXQgMAorCQllY2hvICJDcmVhdGVkIGEgbmV3IHJlZiwgd2l0aCB0aGUgZm9sbG93aW5nIGNvbW1pdHM6IgorCQlnaXQgcmV2LWxpc3QgLS1wcmV0dHkgIiRudmFsIgorCWVsc2UKKwkJZWNobyAiTmV3IGNvbW1pdHM6IgorCQlnaXQgcmV2LWxpc3QgLS1wcmV0dHkgIiRudmFsIiAiXiRvdmFsIgorCWZpIHwKKwltYWlsIC1zICJDaGFuZ2VzIHRvIHJlZiAkcmVmIiBjb21taXQtbGlzdEBteWRvbWFpbgorZG9uZQorIyBsb2cgc2lnbmVkIHB1c2ggY2VydGlmaWNhdGUsIGlmIGFueQoraWYgdGVzdCAtbiAiJHtHSVRfUFVTSF9DRVJULX0iICYmIHRlc3QgJHtHSVRfUFVTSF9DRVJUX1NUQVRVU30gPSBHCit0aGVuCisJKAorCQllY2hvIGV4cGVjdGVkIG5vbmNlIGlzICR7R0lUX1BVU0hfTk9OQ0V9CisJCWdpdCBjYXQtZmlsZSBibG9iICR7R0lUX1BVU0hfQ0VSVH0KKwkpIHwgbWFpbCAtcyAicHVzaCBjZXJ0aWZpY2F0ZSBmcm9tICRHSVRfUFVTSF9DRVJUX1NJR05FUiIgcHVzaC1sb2dAbXlkb21haW4KK2ZpCitleGl0IDAKKy0tLS0KIAogVGhlIGV4aXQgY29kZSBmcm9tIHRoaXMgaG9vayBpbnZvY2F0aW9uIGlzIGlnbm9yZWQsIGhvd2V2ZXIgYQogbm9uLXplcm8gZXhpdCBjb2RlIHdpbGwgZ2VuZXJhdGUgYW4gZXJyb3IgbWVzc2FnZS4KQEAgLTIxMiw4ICsyMTQsMTAgQEAKIFRoaXMgaG9vayBjYW4gYmUgdXNlZCwgZm9yIGV4YW1wbGUsIHRvIHJ1biBgZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mb2AKIGlmIHRoZSByZXBvc2l0b3J5IGlzIHBhY2tlZCBhbmQgaXMgc2VydmVkIHZpYSBhIGR1bWIgdHJhbnNwb3J0LgogCi0JIyEvYmluL3NoCi0JZXhlYyBnaXQgdXBkYXRlLXNlcnZlci1pbmZvCistLS0tCisjIS9iaW4vc2gKK2V4ZWMgZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbworLS0tLQogCiAKIFFVQVJBTlRJTkUgRU5WSVJPTk1FTlQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXJlbW90ZS1leHQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLWV4dC50eHQKaW5kZXggM2ZjNWQ5NC4uODhlYTdlMSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLWV4dC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLWV4dC50eHQKQEAgLTEwNCw3ICsxMDQsNyBAQAogCWxpbmstbGV2ZWwgYWRkcmVzcykuCiAKICJleHQ6OmdpdC1zZXJ2ZXItYWxpYXMgZm9vICVHL3JlcG8lIHdpdGglIHNwYWNlcyAlVmZvbyI6OgotCVJlcHJlc2VudHMgYSByZXBvc2l0b3J5IHdpdGggcGF0aCAnL3JlcG8gd2l0aCBzcGFjZXMnIGFjY2Vzc2VkCisJUmVwcmVzZW50cyBhIHJlcG9zaXRvcnkgd2l0aCBwYXRoIGAvcmVwbyB3aXRoIHNwYWNlc2AgYWNjZXNzZWQKIAl1c2luZyB0aGUgaGVscGVyIHByb2dyYW0gImdpdC1zZXJ2ZXItYWxpYXMgZm9vIi4gIFRoZSBob3N0bmFtZSBmb3IKIAl0aGUgcmVtb3RlIHNlcnZlciBwYXNzZWQgaW4gdGhlIHByb3RvY29sIHN0cmVhbSB3aWxsIGJlICJmb28iCiAJKHRoaXMgYWxsb3dzIG11bHRpcGxlIHZpcnR1YWwgR2l0IHNlcnZlcnMgdG8gc2hhcmUgYQpAQCAtMTE4LDcgKzExOCw3IEBACiAKIFNFRSBBTFNPCiAtLS0tLS0tLQotbGlua2dpdDpnaXRyZW1vdGUtaGVscGVyc1sxXQorbGlua2dpdDpnaXRyZW1vdGUtaGVscGVyc1s3XQogCiBHSVQKIC0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLWZkLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJlbW90ZS1mZC50eHQKaW5kZXggODBhZmNhOC4uMDQ1MWNlYiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLWZkLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZW1vdGUtZmQudHh0CkBAIC01Miw3ICs1Miw3IEBACiAKIFNFRSBBTFNPCiAtLS0tLS0tLQotbGlua2dpdDpnaXRyZW1vdGUtaGVscGVyc1sxXQorbGlua2dpdDpnaXRyZW1vdGUtaGVscGVyc1s3XQogCiBHSVQKIC0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLWhlbHBlcnMudHh0byBiL0RvY3VtZW50YXRpb24vZ2l0LXJlbW90ZS1oZWxwZXJzLnR4dG8KaW5kZXggNDkyMzNmNS4uNmYzNTNlYiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLWhlbHBlcnMudHh0bworKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZW1vdGUtaGVscGVycy50eHRvCkBAIC0xLDcgKzEsNyBAQAogZ2l0LXJlbW90ZS1oZWxwZXJzCiA9PT09PT09PT09PT09PT09PT0KIAotVGhpcyBkb2N1bWVudCBoYXMgYmVlbiBtb3ZlZCB0byBsaW5rZ2l0OmdpdHJlbW90ZS1oZWxwZXJzWzFdLgorVGhpcyBkb2N1bWVudCBoYXMgYmVlbiBtb3ZlZCB0byBsaW5rZ2l0OmdpdHJlbW90ZS1oZWxwZXJzWzddLgogCiBQbGVhc2UgbGV0IHRoZSBvd25lcnMgb2YgdGhlIHJlZmVycmluZyBzaXRlIGtub3cgc28gdGhhdCB0aGV5IGNhbiB1cGRhdGUgdGhlCiBsaW5rIHlvdSBjbGlja2VkIHRvIGdldCBoZXJlLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLXRlc3RnaXQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLXRlc3RnaXQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNzkxZDczLi4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXJlbW90ZS10ZXN0Z2l0LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLWdpdC1yZW1vdGUtdGVzdGdpdCgxKQotPT09PT09PT09PT09PT09PT09PT09Ci0KLU5BTUUKLS0tLS0KLWdpdC1yZW1vdGUtdGVzdGdpdCAtIEV4YW1wbGUgcmVtb3RlLWhlbHBlcgotCi0KLVNZTk9QU0lTCi0tLS0tLS0tLQotW3ZlcnNlXQotZ2l0IGNsb25lIHRlc3RnaXQ6Ojxzb3VyY2UtcmVwbz4gWzxkZXN0aW5hdGlvbj5dCi0KLURFU0NSSVBUSU9OCi0tLS0tLS0tLS0tLQotCi1UaGlzIGNvbW1hbmQgaXMgYSBzaW1wbGUgcmVtb3RlLWhlbHBlciwgdGhhdCBpcyB1c2VkIGJvdGggYXMgYQotdGVzdGNhc2UgZm9yIHRoZSByZW1vdGUtaGVscGVyIGZ1bmN0aW9uYWxpdHksIGFuZCBhcyBhbiBleGFtcGxlIHRvCi1zaG93IHJlbW90ZS1oZWxwZXIgYXV0aG9ycyBvbmUgcG9zc2libGUgaW1wbGVtZW50YXRpb24uCi0KLVRoZSBiZXN0IHdheSB0byBsZWFybiBtb3JlIGlzIHRvIHJlYWQgdGhlIGNvbW1lbnRzIGFuZCBzb3VyY2UgY29kZSBpbgotJ2dpdC1yZW1vdGUtdGVzdGdpdCcuCi0KLVNFRSBBTFNPCi0tLS0tLS0tLQotbGlua2dpdDpnaXRyZW1vdGUtaGVscGVyc1sxXQotCi1HSVQKLS0tLQotUGFydCBvZiB0aGUgbGlua2dpdDpnaXRbMV0gc3VpdGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXJlbW90ZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZW1vdGUudHh0CmluZGV4IDBjYWQzN2YuLjk2NTlhYmIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXJlbW90ZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcmVtb3RlLnR4dApAQCAtMjMwLDcgKzIzMCw3IEBACiAgIHN0YWdpbmcvbWFzdGVyCiAgIHN0YWdpbmcvc3RhZ2luZy1saW51cwogICBzdGFnaW5nL3N0YWdpbmctbmV4dAotJCBnaXQgY2hlY2tvdXQgLWIgc3RhZ2luZyBzdGFnaW5nL21hc3RlcgorJCBnaXQgc3dpdGNoIC1jIHN0YWdpbmcgc3RhZ2luZy9tYXN0ZXIKIC4uLgogLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXJlcGFjay50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXBhY2sudHh0CmluZGV4IGFhMGNjOGIuLjkyZjE0NmQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXJlcGFjay50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcmVwYWNrLnR4dApAQCAtMTQyLDcgKzE0Miw3IEBACiAKIC0ta2VlcC1wYWNrPTxwYWNrLW5hbWU+OjoKIAlFeGNsdWRlIHRoZSBnaXZlbiBwYWNrIGZyb20gcmVwYWNraW5nLiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50Ci0Jb2YgaGF2aW5nIGAua2VlcGAgZmlsZSBvbiB0aGUgcGFjay4gYDxwYWNrLW5hbWU+YCBpcyB0aGUgdGhlCisJb2YgaGF2aW5nIGAua2VlcGAgZmlsZSBvbiB0aGUgcGFjay4gYDxwYWNrLW5hbWU+YCBpcyB0aGUKIAlwYWNrIGZpbGUgbmFtZSB3aXRob3V0IGxlYWRpbmcgZGlyZWN0b3J5IChlLmcuIGBwYWNrLTEyMy5wYWNrYCkuCiAJVGhlIG9wdGlvbiBjb3VsZCBiZSBzcGVjaWZpZWQgbXVsdGlwbGUgdGltZXMgdG8ga2VlcCBtdWx0aXBsZQogCXBhY2tzLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmVwbGFjZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXBsYWNlLnR4dAppbmRleCAyNDZkYzk5Li5mMjcxZDc1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1yZXBsYWNlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXBsYWNlLnR4dApAQCAtMTIzLDEwICsxMjMsMTAgQEAKIENSRUFUSU5HIFJFUExBQ0VNRU5UIE9CSkVDVFMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotbGlua2dpdDpnaXQtZmlsdGVyLWJyYW5jaFsxXSwgbGlua2dpdDpnaXQtaGFzaC1vYmplY3RbMV0gYW5kCi1saW5rZ2l0OmdpdC1yZWJhc2VbMV0sIGFtb25nIG90aGVyIGdpdCBjb21tYW5kcywgY2FuIGJlIHVzZWQgdG8gY3JlYXRlCi1yZXBsYWNlbWVudCBvYmplY3RzIGZyb20gZXhpc3Rpbmcgb2JqZWN0cy4gVGhlIGAtLWVkaXRgIG9wdGlvbiBjYW4KLWFsc28gYmUgdXNlZCB3aXRoICdnaXQgcmVwbGFjZScgdG8gY3JlYXRlIGEgcmVwbGFjZW1lbnQgb2JqZWN0IGJ5CitsaW5rZ2l0OmdpdC1oYXNoLW9iamVjdFsxXSwgbGlua2dpdDpnaXQtcmViYXNlWzFdLCBhbmQKK2h0dHBzOi8vZ2l0aHViLmNvbS9uZXdyZW4vZ2l0LWZpbHRlci1yZXBvW2dpdC1maWx0ZXItcmVwb10sIGFtb25nIG90aGVyIGdpdCBjb21tYW5kcywgY2FuIGJlIHVzZWQgdG8KK2NyZWF0ZSByZXBsYWNlbWVudCBvYmplY3RzIGZyb20gZXhpc3Rpbmcgb2JqZWN0cy4gVGhlIGAtLWVkaXRgIG9wdGlvbgorY2FuIGFsc28gYmUgdXNlZCB3aXRoICdnaXQgcmVwbGFjZScgdG8gY3JlYXRlIGEgcmVwbGFjZW1lbnQgb2JqZWN0IGJ5CiBlZGl0aW5nIGFuIGV4aXN0aW5nIG9iamVjdC4KIAogSWYgeW91IHdhbnQgdG8gcmVwbGFjZSBtYW55IGJsb2JzLCB0cmVlcyBvciBjb21taXRzIHRoYXQgYXJlIHBhcnQgb2YgYQpAQCAtMTQ4LDEzICsxNDgsMTMgQEAKIFNFRSBBTFNPCiAtLS0tLS0tLQogbGlua2dpdDpnaXQtaGFzaC1vYmplY3RbMV0KLWxpbmtnaXQ6Z2l0LWZpbHRlci1icmFuY2hbMV0KIGxpbmtnaXQ6Z2l0LXJlYmFzZVsxXQogbGlua2dpdDpnaXQtdGFnWzFdCiBsaW5rZ2l0OmdpdC1icmFuY2hbMV0KIGxpbmtnaXQ6Z2l0LWNvbW1pdFsxXQogbGlua2dpdDpnaXQtdmFyWzFdCiBsaW5rZ2l0OmdpdFsxXQoraHR0cHM6Ly9naXRodWIuY29tL25ld3Jlbi9naXQtZmlsdGVyLXJlcG9bZ2l0LWZpbHRlci1yZXBvXQogCiBHSVQKIC0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmVyZXJlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJlcmVyZS50eHQKaW5kZXggZGYzMTBkMi4uNGNmYzg4MyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmVyZXJlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXJlcmUudHh0CkBAIC0yNCw3ICsyNCw3IEBACiBoYW5kIHJlc29sdXRpb25zIHRvIHRoZWlyIGNvcnJlc3BvbmRpbmcgYXV0b21lcmdlIHJlc3VsdHMuCiAKIFtOT1RFXQotWW91IG5lZWQgdG8gc2V0IHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHJlcmVyZS5lbmFibGVkIGluIG9yZGVyIHRvCitZb3UgbmVlZCB0byBzZXQgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYHJlcmVyZS5lbmFibGVkYCBpbiBvcmRlciB0bwogZW5hYmxlIHRoaXMgY29tbWFuZC4KIAogCkBAIC05MSw3ICs5MSw3IEBACiBPbmUgd2F5IHRvIGRvIGl0IGlzIHRvIHB1bGwgbWFzdGVyIGludG8gdGhlIHRvcGljIGJyYW5jaDoKIAogLS0tLS0tLS0tLS0tCi0JJCBnaXQgY2hlY2tvdXQgdG9waWMKKwkkIGdpdCBzd2l0Y2ggdG9waWMKIAkkIGdpdCBtZXJnZSBtYXN0ZXIKIAogICAgICAgICAgICAgICBvLS0tKi0tLW8tLS0rIHRvcGljCkBAIC0xMTMsMTAgKzExMywxMCBAQAogaW4gd2hpY2ggY2FzZSB0aGUgZmluYWwgY29tbWl0IGdyYXBoIHdvdWxkIGxvb2sgbGlrZSB0aGlzOgogCiAtLS0tLS0tLS0tLS0KLQkkIGdpdCBjaGVja291dCB0b3BpYworCSQgZ2l0IHN3aXRjaCB0b3BpYwogCSQgZ2l0IG1lcmdlIG1hc3RlcgogCSQgLi4uIHdvcmsgb24gYm90aCB0b3BpYyBhbmQgbWFzdGVyIGJyYW5jaGVzCi0JJCBnaXQgY2hlY2tvdXQgbWFzdGVyCisJJCBnaXQgc3dpdGNoIG1hc3RlcgogCSQgZ2l0IG1lcmdlIHRvcGljCiAKICAgICAgICAgICAgICAgby0tLSotLS1vLS0tKy0tLW8tLS1vIHRvcGljCkBAIC0xMzYsMTEgKzEzNiwxMSBAQAogdG9wIG9mIHRoZSB0aXAgYmVmb3JlIHRoZSB0ZXN0IG1lcmdlOgogCiAtLS0tLS0tLS0tLS0KLQkkIGdpdCBjaGVja291dCB0b3BpYworCSQgZ2l0IHN3aXRjaCB0b3BpYwogCSQgZ2l0IG1lcmdlIG1hc3RlcgogCSQgZ2l0IHJlc2V0IC0taGFyZCBIRUFEXiA7IyByZXdpbmQgdGhlIHRlc3QgbWVyZ2UKIAkkIC4uLiB3b3JrIG9uIGJvdGggdG9waWMgYW5kIG1hc3RlciBicmFuY2hlcwotCSQgZ2l0IGNoZWNrb3V0IG1hc3RlcgorCSQgZ2l0IHN3aXRjaCBtYXN0ZXIKIAkkIGdpdCBtZXJnZSB0b3BpYwogCiAgICAgICAgICAgICAgIG8tLS0qLS0tby0tLS0tLS1vLS0tbyB0b3BpYwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmVzZXQudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtcmVzZXQudHh0CmluZGV4IDlmNjlhZTguLjkzMjA4MGMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXJlc2V0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXNldC50eHQKQEAgLTgsMzMgKzgsMzYgQEAKIFNZTk9QU0lTCiAtLS0tLS0tLQogW3ZlcnNlXQotJ2dpdCByZXNldCcgWy1xXSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHM+Li4uCi0nZ2l0IHJlc2V0JyAoLS1wYXRjaCB8IC1wKSBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0KKydnaXQgcmVzZXQnIFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzcGVjPi4uLgorJ2dpdCByZXNldCcgWy1xXSBbLS1wYXRoc3BlYy1mcm9tLWZpbGU9PGZpbGU+IFstLXBhdGhzcGVjLWZpbGUtbnVsXV0gWzx0cmVlLWlzaD5dCisnZ2l0IHJlc2V0JyAoLS1wYXRjaCB8IC1wKSBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzcGVjPi4uLl0KICdnaXQgcmVzZXQnIFstLXNvZnQgfCAtLW1peGVkIFstTl0gfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0KIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCi1JbiB0aGUgZmlyc3QgYW5kIHNlY29uZCBmb3JtLCBjb3B5IGVudHJpZXMgZnJvbSBgPHRyZWUtaXNoPmAgdG8gdGhlIGluZGV4LgotSW4gdGhlIHRoaXJkIGZvcm0sIHNldCB0aGUgY3VycmVudCBicmFuY2ggaGVhZCAoYEhFQURgKSB0byBgPGNvbW1pdD5gLAorSW4gdGhlIGZpcnN0IHRocmVlIGZvcm1zLCBjb3B5IGVudHJpZXMgZnJvbSBgPHRyZWUtaXNoPmAgdG8gdGhlIGluZGV4LgorSW4gdGhlIGxhc3QgZm9ybSwgc2V0IHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkIChgSEVBRGApIHRvIGA8Y29tbWl0PmAsCiBvcHRpb25hbGx5IG1vZGlmeWluZyBpbmRleCBhbmQgd29ya2luZyB0cmVlIHRvIG1hdGNoLgogVGhlIGA8dHJlZS1pc2g+YC9gPGNvbW1pdD5gIGRlZmF1bHRzIHRvIGBIRUFEYCBpbiBhbGwgZm9ybXMuCiAKLSdnaXQgcmVzZXQnIFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzPi4uLjo6Ci0JVGhpcyBmb3JtIHJlc2V0cyB0aGUgaW5kZXggZW50cmllcyBmb3IgYWxsIGA8cGF0aHM+YCB0byB0aGVpcgotCXN0YXRlIGF0IGA8dHJlZS1pc2g+YC4gIChJdCBkb2VzIG5vdCBhZmZlY3QgdGhlIHdvcmtpbmcgdHJlZSBvcgotCXRoZSBjdXJyZW50IGJyYW5jaC4pCisnZ2l0IHJlc2V0JyBbLXFdIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRoc3BlYz4uLi46OgorJ2dpdCByZXNldCcgWy1xXSBbLS1wYXRoc3BlYy1mcm9tLWZpbGU9PGZpbGU+IFstLXBhdGhzcGVjLWZpbGUtbnVsXV0gWzx0cmVlLWlzaD5dOjoKKwlUaGVzZSBmb3JtcyByZXNldCB0aGUgaW5kZXggZW50cmllcyBmb3IgYWxsIHBhdGhzIHRoYXQgbWF0Y2ggdGhlCisJYDxwYXRoc3BlYz5gIHRvIHRoZWlyIHN0YXRlIGF0IGA8dHJlZS1pc2g+YC4gIChJdCBkb2VzIG5vdCBhZmZlY3QKKwl0aGUgd29ya2luZyB0cmVlIG9yIHRoZSBjdXJyZW50IGJyYW5jaC4pCiArCi1UaGlzIG1lYW5zIHRoYXQgYGdpdCByZXNldCA8cGF0aHM+YCBpcyB0aGUgb3Bwb3NpdGUgb2YgYGdpdCBhZGQKLTxwYXRocz5gLgorVGhpcyBtZWFucyB0aGF0IGBnaXQgcmVzZXQgPHBhdGhzcGVjPmAgaXMgdGhlIG9wcG9zaXRlIG9mIGBnaXQgYWRkCis8cGF0aHNwZWM+YC4gVGhpcyBjb21tYW5kIGlzIGVxdWl2YWxlbnQgdG8KK2BnaXQgcmVzdG9yZSBbLS1zb3VyY2U9PHRyZWUtaXNoPl0gLS1zdGFnZWQgPHBhdGhzcGVjPi4uLmAuCiArCi1BZnRlciBydW5uaW5nIGBnaXQgcmVzZXQgPHBhdGhzPmAgdG8gdXBkYXRlIHRoZSBpbmRleCBlbnRyeSwgeW91IGNhbgotdXNlIGxpbmtnaXQ6Z2l0LWNoZWNrb3V0WzFdIHRvIGNoZWNrIHRoZSBjb250ZW50cyBvdXQgb2YgdGhlIGluZGV4IHRvCi10aGUgd29ya2luZyB0cmVlLgotQWx0ZXJuYXRpdmVseSwgdXNpbmcgbGlua2dpdDpnaXQtY2hlY2tvdXRbMV0gYW5kIHNwZWNpZnlpbmcgYSBjb21taXQsIHlvdQorQWZ0ZXIgcnVubmluZyBgZ2l0IHJlc2V0IDxwYXRoc3BlYz5gIHRvIHVwZGF0ZSB0aGUgaW5kZXggZW50cnksIHlvdSBjYW4KK3VzZSBsaW5rZ2l0OmdpdC1yZXN0b3JlWzFdIHRvIGNoZWNrIHRoZSBjb250ZW50cyBvdXQgb2YgdGhlIGluZGV4IHRvCit0aGUgd29ya2luZyB0cmVlLiBBbHRlcm5hdGl2ZWx5LCB1c2luZyBsaW5rZ2l0OmdpdC1yZXN0b3JlWzFdCithbmQgc3BlY2lmeWluZyBhIGNvbW1pdCB3aXRoIGAtLXNvdXJjZWAsIHlvdQogY2FuIGNvcHkgdGhlIGNvbnRlbnRzIG9mIGEgcGF0aCBvdXQgb2YgYSBjb21taXQgdG8gdGhlIGluZGV4IGFuZCB0byB0aGUKIHdvcmtpbmcgdHJlZSBpbiBvbmUgZ28uCiAKLSdnaXQgcmVzZXQnICgtLXBhdGNoIHwgLXApIFs8dHJlZS1pc2g+XSBbLS1dIFs8cGF0aHM+Li4uXTo6CisnZ2l0IHJlc2V0JyAoLS1wYXRjaCB8IC1wKSBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzcGVjPi4uLl06OgogCUludGVyYWN0aXZlbHkgc2VsZWN0IGh1bmtzIGluIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGluZGV4CiAJYW5kIGA8dHJlZS1pc2g+YCAoZGVmYXVsdHMgdG8gYEhFQURgKS4gIFRoZSBjaG9zZW4gaHVua3MgYXJlIGFwcGxpZWQKIAlpbiByZXZlcnNlIHRvIHRoZSBpbmRleC4KQEAgLTg2LDggKzg5LDggQEAKIAljaGFuZ2VzLCByZXNldCBpcyBhYm9ydGVkLgogLS0KIAotSWYgeW91IHdhbnQgdG8gdW5kbyBhIGNvbW1pdCBvdGhlciB0aGFuIHRoZSBsYXRlc3Qgb24gYSBicmFuY2gsCi1saW5rZ2l0OmdpdC1yZXZlcnRbMV0gaXMgeW91ciBmcmllbmQuCitTZWUgIlJlc2V0LCByZXN0b3JlIGFuZCByZXZlcnQiIGluIGxpbmtnaXQ6Z2l0WzFdIGZvciB0aGUgZGlmZmVyZW5jZXMKK2JldHdlZW4gdGhlIHRocmVlIGNvbW1hbmRzLgogCiAKIE9QVElPTlMKQEAgLTEwMCw2ICsxMDMsMjYgQEAKIAlgcmVzZXQucXVpZXRgIGNvbmZpZyBvcHRpb24uIGAtLXF1aWV0YCBhbmQgYC0tbm8tcXVpZXRgIHdpbGwKIAlvdmVycmlkZSB0aGUgZGVmYXVsdCBiZWhhdmlvci4KIAorLS1wYXRoc3BlYy1mcm9tLWZpbGU9PGZpbGU+OjoKKwlQYXRoc3BlYyBpcyBwYXNzZWQgaW4gYDxmaWxlPmAgaW5zdGVhZCBvZiBjb21tYW5kbGluZSBhcmdzLiBJZgorCWA8ZmlsZT5gIGlzIGV4YWN0bHkgYC1gIHRoZW4gc3RhbmRhcmQgaW5wdXQgaXMgdXNlZC4gUGF0aHNwZWMKKwllbGVtZW50cyBhcmUgc2VwYXJhdGVkIGJ5IExGIG9yIENSL0xGLiBQYXRoc3BlYyBlbGVtZW50cyBjYW4gYmUKKwlxdW90ZWQgYXMgZXhwbGFpbmVkIGZvciB0aGUgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBgY29yZS5xdW90ZVBhdGhgCisJKHNlZSBsaW5rZ2l0OmdpdC1jb25maWdbMV0pLiBTZWUgYWxzbyBgLS1wYXRoc3BlYy1maWxlLW51bGAgYW5kCisJZ2xvYmFsIGAtLWxpdGVyYWwtcGF0aHNwZWNzYC4KKworLS1wYXRoc3BlYy1maWxlLW51bDo6CisJT25seSBtZWFuaW5nZnVsIHdpdGggYC0tcGF0aHNwZWMtZnJvbS1maWxlYC4gUGF0aHNwZWMgZWxlbWVudHMgYXJlCisJc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciBhbmQgYWxsIG90aGVyIGNoYXJhY3RlcnMgYXJlIHRha2VuCisJbGl0ZXJhbGx5IChpbmNsdWRpbmcgbmV3bGluZXMgYW5kIHF1b3RlcykuCisKK1wtLTo6CisJRG8gbm90IGludGVycHJldCBhbnkgbW9yZSBhcmd1bWVudHMgYXMgb3B0aW9ucy4KKworPHBhdGhzcGVjPi4uLjo6CisJTGltaXRzIHRoZSBwYXRocyBhZmZlY3RlZCBieSB0aGUgb3BlcmF0aW9uLgorKworRm9yIG1vcmUgZGV0YWlscywgc2VlIHRoZSAncGF0aHNwZWMnIGVudHJ5IGluIGxpbmtnaXQ6Z2l0Z2xvc3NhcnlbN10uCiAKIEVYQU1QTEVTCiAtLS0tLS0tLQpAQCAtMTE1LDE3ICsxMzgsMTcgQEAKIC0tLS0tLS0tLS0tLQogKwogPDE+IFlvdSBhcmUgaGFwcGlseSB3b3JraW5nIG9uIHNvbWV0aGluZywgYW5kIGZpbmQgdGhlIGNoYW5nZXMKLWluIHRoZXNlIGZpbGVzIGFyZSBpbiBnb29kIG9yZGVyLiAgWW91IGRvIG5vdCB3YW50IHRvIHNlZSB0aGVtCi13aGVuIHlvdSBydW4gYGdpdCBkaWZmYCwgYmVjYXVzZSB5b3UgcGxhbiB0byB3b3JrIG9uIG90aGVyIGZpbGVzCi1hbmQgY2hhbmdlcyB3aXRoIHRoZXNlIGZpbGVzIGFyZSBkaXN0cmFjdGluZy4KKyAgICBpbiB0aGVzZSBmaWxlcyBhcmUgaW4gZ29vZCBvcmRlci4gIFlvdSBkbyBub3Qgd2FudCB0byBzZWUgdGhlbQorICAgIHdoZW4geW91IHJ1biBgZ2l0IGRpZmZgLCBiZWNhdXNlIHlvdSBwbGFuIHRvIHdvcmsgb24gb3RoZXIgZmlsZXMKKyAgICBhbmQgY2hhbmdlcyB3aXRoIHRoZXNlIGZpbGVzIGFyZSBkaXN0cmFjdGluZy4KIDwyPiBTb21lYm9keSBhc2tzIHlvdSB0byBwdWxsLCBhbmQgdGhlIGNoYW5nZXMgc291bmQgd29ydGh5IG9mIG1lcmdpbmcuCiA8Mz4gSG93ZXZlciwgeW91IGFscmVhZHkgZGlydGllZCB0aGUgaW5kZXggKGkuZS4geW91ciBpbmRleCBkb2VzCi1ub3QgbWF0Y2ggdGhlIGBIRUFEYCBjb21taXQpLiAgQnV0IHlvdSBrbm93IHRoZSBwdWxsIHlvdSBhcmUgZ29pbmcKLXRvIG1ha2UgZG9lcyBub3QgYWZmZWN0IGBmcm90ei5jYCBvciBgZmlsZnJlLmNgLCBzbyB5b3UgcmV2ZXJ0IHRoZQotaW5kZXggY2hhbmdlcyBmb3IgdGhlc2UgdHdvIGZpbGVzLiAgWW91ciBjaGFuZ2VzIGluIHdvcmtpbmcgdHJlZQotcmVtYWluIHRoZXJlLgorICAgIG5vdCBtYXRjaCB0aGUgYEhFQURgIGNvbW1pdCkuICBCdXQgeW91IGtub3cgdGhlIHB1bGwgeW91IGFyZSBnb2luZworICAgIHRvIG1ha2UgZG9lcyBub3QgYWZmZWN0IGBmcm90ei5jYCBvciBgZmlsZnJlLmNgLCBzbyB5b3UgcmV2ZXJ0IHRoZQorICAgIGluZGV4IGNoYW5nZXMgZm9yIHRoZXNlIHR3byBmaWxlcy4gIFlvdXIgY2hhbmdlcyBpbiB3b3JraW5nIHRyZWUKKyAgICByZW1haW4gdGhlcmUuCiA8ND4gVGhlbiB5b3UgY2FuIHB1bGwgYW5kIG1lcmdlLCBsZWF2aW5nIGBmcm90ei5jYCBhbmQgYGZpbGZyZS5jYAotY2hhbmdlcyBzdGlsbCBpbiB0aGUgd29ya2luZyB0cmVlLgorICAgIGNoYW5nZXMgc3RpbGwgaW4gdGhlIHdvcmtpbmcgdHJlZS4KIAogVW5kbyBhIGNvbW1pdCBhbmQgcmVkbzo6CiArCkBAIC0xMzcsMjcgKzE2MCwyNyBAQAogLS0tLS0tLS0tLS0tCiArCiA8MT4gVGhpcyBpcyBtb3N0IG9mdGVuIGRvbmUgd2hlbiB5b3UgcmVtZW1iZXJlZCB3aGF0IHlvdQotanVzdCBjb21taXR0ZWQgaXMgaW5jb21wbGV0ZSwgb3IgeW91IG1pc3NwZWxsZWQgeW91ciBjb21taXQKLW1lc3NhZ2UsIG9yIGJvdGguICBMZWF2ZXMgd29ya2luZyB0cmVlIGFzIGl0IHdhcyBiZWZvcmUgInJlc2V0Ii4KKyAgICBqdXN0IGNvbW1pdHRlZCBpcyBpbmNvbXBsZXRlLCBvciB5b3UgbWlzc3BlbGxlZCB5b3VyIGNvbW1pdAorICAgIG1lc3NhZ2UsIG9yIGJvdGguICBMZWF2ZXMgd29ya2luZyB0cmVlIGFzIGl0IHdhcyBiZWZvcmUgInJlc2V0Ii4KIDwyPiBNYWtlIGNvcnJlY3Rpb25zIHRvIHdvcmtpbmcgdHJlZSBmaWxlcy4KIDwzPiAicmVzZXQiIGNvcGllcyB0aGUgb2xkIGhlYWQgdG8gYC5naXQvT1JJR19IRUFEYDsgcmVkbyB0aGUKLWNvbW1pdCBieSBzdGFydGluZyB3aXRoIGl0cyBsb2cgbWVzc2FnZS4gIElmIHlvdSBkbyBub3QgbmVlZCB0bwotZWRpdCB0aGUgbWVzc2FnZSBmdXJ0aGVyLCB5b3UgY2FuIGdpdmUgYC1DYCBvcHRpb24gaW5zdGVhZC4KKyAgICBjb21taXQgYnkgc3RhcnRpbmcgd2l0aCBpdHMgbG9nIG1lc3NhZ2UuICBJZiB5b3UgZG8gbm90IG5lZWQgdG8KKyAgICBlZGl0IHRoZSBtZXNzYWdlIGZ1cnRoZXIsIHlvdSBjYW4gZ2l2ZSBgLUNgIG9wdGlvbiBpbnN0ZWFkLgogKwogU2VlIGFsc28gdGhlIGAtLWFtZW5kYCBvcHRpb24gdG8gbGlua2dpdDpnaXQtY29tbWl0WzFdLgogCiBVbmRvIGEgY29tbWl0LCBtYWtpbmcgaXQgYSB0b3BpYyBicmFuY2g6OgogKwogLS0tLS0tLS0tLS0tCi0kIGdpdCBicmFuY2ggdG9waWMvd2lwICAgICA8MT4KLSQgZ2l0IHJlc2V0IC0taGFyZCBIRUFEfjMgIDwyPgotJCBnaXQgY2hlY2tvdXQgdG9waWMvd2lwICAgPDM+CiskIGdpdCBicmFuY2ggdG9waWMvd2lwICAgICAgICAgIDwxPgorJCBnaXQgcmVzZXQgLS1oYXJkIEhFQUR+MyAgICAgICA8Mj4KKyQgZ2l0IHN3aXRjaCB0b3BpYy93aXAgICAgICAgICAgPDM+CiAtLS0tLS0tLS0tLS0KICsKIDwxPiBZb3UgaGF2ZSBtYWRlIHNvbWUgY29tbWl0cywgYnV0IHJlYWxpemUgdGhleSB3ZXJlIHByZW1hdHVyZQotdG8gYmUgaW4gdGhlIGBtYXN0ZXJgIGJyYW5jaC4gIFlvdSB3YW50IHRvIGNvbnRpbnVlIHBvbGlzaGluZwotdGhlbSBpbiBhIHRvcGljIGJyYW5jaCwgc28gY3JlYXRlIGB0b3BpYy93aXBgIGJyYW5jaCBvZmYgb2YgdGhlCi1jdXJyZW50IGBIRUFEYC4KKyAgICB0byBiZSBpbiB0aGUgYG1hc3RlcmAgYnJhbmNoLiAgWW91IHdhbnQgdG8gY29udGludWUgcG9saXNoaW5nCisgICAgdGhlbSBpbiBhIHRvcGljIGJyYW5jaCwgc28gY3JlYXRlIGB0b3BpYy93aXBgIGJyYW5jaCBvZmYgb2YgdGhlCisgICAgY3VycmVudCBgSEVBRGAuCiA8Mj4gUmV3aW5kIHRoZSBtYXN0ZXIgYnJhbmNoIHRvIGdldCByaWQgb2YgdGhvc2UgdGhyZWUgY29tbWl0cy4KIDwzPiBTd2l0Y2ggdG8gYHRvcGljL3dpcGAgYnJhbmNoIGFuZCBrZWVwIHdvcmtpbmcuCiAKQEAgLTE2OSwxMCArMTkyLDEwIEBACiAtLS0tLS0tLS0tLS0KICsKIDwxPiBUaGUgbGFzdCB0aHJlZSBjb21taXRzIChgSEVBRGAsIGBIRUFEXmAsIGFuZCBgSEVBRH4yYCkgd2VyZSBiYWQKLWFuZCB5b3UgZG8gbm90IHdhbnQgdG8gZXZlciBzZWUgdGhlbSBhZ2Fpbi4gIERvICpub3QqIGRvIHRoaXMgaWYKLXlvdSBoYXZlIGFscmVhZHkgZ2l2ZW4gdGhlc2UgY29tbWl0cyB0byBzb21lYm9keSBlbHNlLiAgKFNlZSB0aGUKLSJSRUNPVkVSSU5HIEZST00gVVBTVFJFQU0gUkVCQVNFIiBzZWN0aW9uIGluIGxpbmtnaXQ6Z2l0LXJlYmFzZVsxXSBmb3IKLXRoZSBpbXBsaWNhdGlvbnMgb2YgZG9pbmcgc28uKQorICAgIGFuZCB5b3UgZG8gbm90IHdhbnQgdG8gZXZlciBzZWUgdGhlbSBhZ2Fpbi4gIERvICpub3QqIGRvIHRoaXMgaWYKKyAgICB5b3UgaGF2ZSBhbHJlYWR5IGdpdmVuIHRoZXNlIGNvbW1pdHMgdG8gc29tZWJvZHkgZWxzZS4gIChTZWUgdGhlCisgICAgIlJFQ09WRVJJTkcgRlJPTSBVUFNUUkVBTSBSRUJBU0UiIHNlY3Rpb24gaW4gbGlua2dpdDpnaXQtcmViYXNlWzFdCisgICAgZm9yIHRoZSBpbXBsaWNhdGlvbnMgb2YgZG9pbmcgc28uKQogCiBVbmRvIGEgbWVyZ2Ugb3IgcHVsbDo6CiArCkBAIC0xODksMTggKzIxMiwxOCBAQAogLS0tLS0tLS0tLS0tCiArCiA8MT4gVHJ5IHRvIHVwZGF0ZSBmcm9tIHRoZSB1cHN0cmVhbSByZXN1bHRlZCBpbiBhIGxvdCBvZgotY29uZmxpY3RzOyB5b3Ugd2VyZSBub3QgcmVhZHkgdG8gc3BlbmQgYSBsb3Qgb2YgdGltZSBtZXJnaW5nCi1yaWdodCBub3csIHNvIHlvdSBkZWNpZGUgdG8gZG8gdGhhdCBsYXRlci4KKyAgICBjb25mbGljdHM7IHlvdSB3ZXJlIG5vdCByZWFkeSB0byBzcGVuZCBhIGxvdCBvZiB0aW1lIG1lcmdpbmcKKyAgICByaWdodCBub3csIHNvIHlvdSBkZWNpZGUgdG8gZG8gdGhhdCBsYXRlci4KIDwyPiAicHVsbCIgaGFzIG5vdCBtYWRlIG1lcmdlIGNvbW1pdCwgc28gYGdpdCByZXNldCAtLWhhcmRgCi13aGljaCBpcyBhIHN5bm9ueW0gZm9yIGBnaXQgcmVzZXQgLS1oYXJkIEhFQURgIGNsZWFycyB0aGUgbWVzcwotZnJvbSB0aGUgaW5kZXggZmlsZSBhbmQgdGhlIHdvcmtpbmcgdHJlZS4KKyAgICB3aGljaCBpcyBhIHN5bm9ueW0gZm9yIGBnaXQgcmVzZXQgLS1oYXJkIEhFQURgIGNsZWFycyB0aGUgbWVzcworICAgIGZyb20gdGhlIGluZGV4IGZpbGUgYW5kIHRoZSB3b3JraW5nIHRyZWUuCiA8Mz4gTWVyZ2UgYSB0b3BpYyBicmFuY2ggaW50byB0aGUgY3VycmVudCBicmFuY2gsIHdoaWNoIHJlc3VsdGVkCi1pbiBhIGZhc3QtZm9yd2FyZC4KKyAgICBpbiBhIGZhc3QtZm9yd2FyZC4KIDw0PiBCdXQgeW91IGRlY2lkZWQgdGhhdCB0aGUgdG9waWMgYnJhbmNoIGlzIG5vdCByZWFkeSBmb3IgcHVibGljCi1jb25zdW1wdGlvbiB5ZXQuICAicHVsbCIgb3IgIm1lcmdlIiBhbHdheXMgbGVhdmVzIHRoZSBvcmlnaW5hbAotdGlwIG9mIHRoZSBjdXJyZW50IGJyYW5jaCBpbiBgT1JJR19IRUFEYCwgc28gcmVzZXR0aW5nIGhhcmQgdG8gaXQKLWJyaW5ncyB5b3VyIGluZGV4IGZpbGUgYW5kIHRoZSB3b3JraW5nIHRyZWUgYmFjayB0byB0aGF0IHN0YXRlLAotYW5kIHJlc2V0cyB0aGUgdGlwIG9mIHRoZSBicmFuY2ggdG8gdGhhdCBjb21taXQuCisgICAgY29uc3VtcHRpb24geWV0LiAgInB1bGwiIG9yICJtZXJnZSIgYWx3YXlzIGxlYXZlcyB0aGUgb3JpZ2luYWwKKyAgICB0aXAgb2YgdGhlIGN1cnJlbnQgYnJhbmNoIGluIGBPUklHX0hFQURgLCBzbyByZXNldHRpbmcgaGFyZCB0byBpdAorICAgIGJyaW5ncyB5b3VyIGluZGV4IGZpbGUgYW5kIHRoZSB3b3JraW5nIHRyZWUgYmFjayB0byB0aGF0IHN0YXRlLAorICAgIGFuZCByZXNldHMgdGhlIHRpcCBvZiB0aGUgYnJhbmNoIHRvIHRoYXQgY29tbWl0LgogCiBVbmRvIGEgbWVyZ2Ugb3IgcHVsbCBpbnNpZGUgYSBkaXJ0eSB3b3JraW5nIHRyZWU6OgogKwpAQCAtMjE0LDE0ICsyMzcsMTQgQEAKIC0tLS0tLS0tLS0tLQogKwogPDE+IEV2ZW4gaWYgeW91IG1heSBoYXZlIGxvY2FsIG1vZGlmaWNhdGlvbnMgaW4geW91cgotd29ya2luZyB0cmVlLCB5b3UgY2FuIHNhZmVseSBzYXkgYGdpdCBwdWxsYCB3aGVuIHlvdSBrbm93Ci10aGF0IHRoZSBjaGFuZ2UgaW4gdGhlIG90aGVyIGJyYW5jaCBkb2VzIG5vdCBvdmVybGFwIHdpdGgKLXRoZW0uCisgICAgd29ya2luZyB0cmVlLCB5b3UgY2FuIHNhZmVseSBzYXkgYGdpdCBwdWxsYCB3aGVuIHlvdSBrbm93CisgICAgdGhhdCB0aGUgY2hhbmdlIGluIHRoZSBvdGhlciBicmFuY2ggZG9lcyBub3Qgb3ZlcmxhcCB3aXRoCisgICAgdGhlbS4KIDwyPiBBZnRlciBpbnNwZWN0aW5nIHRoZSByZXN1bHQgb2YgdGhlIG1lcmdlLCB5b3UgbWF5IGZpbmQKLXRoYXQgdGhlIGNoYW5nZSBpbiB0aGUgb3RoZXIgYnJhbmNoIGlzIHVuc2F0aXNmYWN0b3J5LiAgUnVubmluZwotYGdpdCByZXNldCAtLWhhcmQgT1JJR19IRUFEYCB3aWxsIGxldCB5b3UgZ28gYmFjayB0byB3aGVyZSB5b3UKLXdlcmUsIGJ1dCBpdCB3aWxsIGRpc2NhcmQgeW91ciBsb2NhbCBjaGFuZ2VzLCB3aGljaCB5b3UgZG8gbm90Ci13YW50LiAgYGdpdCByZXNldCAtLW1lcmdlYCBrZWVwcyB5b3VyIGxvY2FsIGNoYW5nZXMuCisgICAgdGhhdCB0aGUgY2hhbmdlIGluIHRoZSBvdGhlciBicmFuY2ggaXMgdW5zYXRpc2ZhY3RvcnkuICBSdW5uaW5nCisgICAgYGdpdCByZXNldCAtLWhhcmQgT1JJR19IRUFEYCB3aWxsIGxldCB5b3UgZ28gYmFjayB0byB3aGVyZSB5b3UKKyAgICB3ZXJlLCBidXQgaXQgd2lsbCBkaXNjYXJkIHlvdXIgbG9jYWwgY2hhbmdlcywgd2hpY2ggeW91IGRvIG5vdAorICAgIHdhbnQuICBgZ2l0IHJlc2V0IC0tbWVyZ2VgIGtlZXBzIHlvdXIgbG9jYWwgY2hhbmdlcy4KIAogCiBJbnRlcnJ1cHRlZCB3b3JrZmxvdzo6CkBAIC0yMzIsMTMgKzI1NSwxMyBAQAogbmVlZCB0byBnZXQgdG8gdGhlIG90aGVyIGJyYW5jaCBmb3IgYSBxdWljayBidWdmaXguCiArCiAtLS0tLS0tLS0tLS0KLSQgZ2l0IGNoZWNrb3V0IGZlYXR1cmUgOyMgeW91IHdlcmUgd29ya2luZyBpbiAiZmVhdHVyZSIgYnJhbmNoIGFuZAotJCB3b3JrIHdvcmsgd29yayAgICAgICA7IyBnb3QgaW50ZXJydXB0ZWQKKyQgZ2l0IHN3aXRjaCBmZWF0dXJlICA7IyB5b3Ugd2VyZSB3b3JraW5nIGluICJmZWF0dXJlIiBicmFuY2ggYW5kCiskIHdvcmsgd29yayB3b3JrICAgICAgOyMgZ290IGludGVycnVwdGVkCiAkIGdpdCBjb21taXQgLWEgLW0gInNuYXBzaG90IFdJUCIgICAgICAgICAgICAgICAgIDwxPgotJCBnaXQgY2hlY2tvdXQgbWFzdGVyCiskIGdpdCBzd2l0Y2ggbWFzdGVyCiAkIGZpeCBmaXggZml4CiAkIGdpdCBjb21taXQgOyMgY29tbWl0IHdpdGggcmVhbCBsb2cKLSQgZ2l0IGNoZWNrb3V0IGZlYXR1cmUKKyQgZ2l0IHN3aXRjaCBmZWF0dXJlCiAkIGdpdCByZXNldCAtLXNvZnQgSEVBRF4gOyMgZ28gYmFjayB0byBXSVAgc3RhdGUgIDwyPgogJCBnaXQgcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Mz4KIC0tLS0tLS0tLS0tLQpAQCAtMjc5LDE4ICszMDIsMTggQEAKICsKIC0tLS0tLS0tLS0tLQogJCBnaXQgdGFnIHN0YXJ0Ci0kIGdpdCBjaGVja291dCAtYiBicmFuY2gxCiskIGdpdCBzd2l0Y2ggLWMgYnJhbmNoMQogJCBlZGl0CiAkIGdpdCBjb21taXQgLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwxPgogJCBlZGl0Ci0kIGdpdCBjaGVja291dCAtYiBicmFuY2gyICAgICAgICAgICAgICAgICAgIDwyPgorJCBnaXQgc3dpdGNoIC1jIGJyYW5jaDIgICAgICAgICAgICAgICAgICAgICA8Mj4KICQgZ2l0IHJlc2V0IC0ta2VlcCBzdGFydCAgICAgICAgICAgICAgICAgICAgPDM+CiAtLS0tLS0tLS0tLS0KICsKIDwxPiBUaGlzIGNvbW1pdHMgeW91ciBmaXJzdCBlZGl0cyBpbiBgYnJhbmNoMWAuCiA8Mj4gSW4gdGhlIGlkZWFsIHdvcmxkLCB5b3UgY291bGQgaGF2ZSByZWFsaXplZCB0aGF0IHRoZSBlYXJsaWVyCiAgICAgY29tbWl0IGRpZCBub3QgYmVsb25nIHRvIHRoZSBuZXcgdG9waWMgd2hlbiB5b3UgY3JlYXRlZCBhbmQgc3dpdGNoZWQKLSAgICB0byBgYnJhbmNoMmAgKGkuZS4gYGdpdCBjaGVja291dCAtYiBicmFuY2gyIHN0YXJ0YCksIGJ1dCBub2JvZHkgaXMKKyAgICB0byBgYnJhbmNoMmAgKGkuZS4gYGdpdCBzd2l0Y2ggLWMgYnJhbmNoMiBzdGFydGApLCBidXQgbm9ib2R5IGlzCiAgICAgcGVyZmVjdC4KIDwzPiBCdXQgeW91IGNhbiB1c2UgYHJlc2V0IC0ta2VlcGAgdG8gcmVtb3ZlIHRoZSB1bndhbnRlZCBjb21taXQgYWZ0ZXIKICAgICB5b3Ugc3dpdGNoZWQgdG8gYGJyYW5jaDJgLgpAQCAtNDI4LDggKzQ1MSw4IEBACiAKIGByZXNldCAtLW1lcmdlYCBpcyBtZWFudCB0byBiZSB1c2VkIHdoZW4gcmVzZXR0aW5nIG91dCBvZiBhIGNvbmZsaWN0ZWQKIG1lcmdlLiBBbnkgbWVyZ3kgb3BlcmF0aW9uIGd1YXJhbnRlZXMgdGhhdCB0aGUgd29ya2luZyB0cmVlIGZpbGUgdGhhdCBpcwotaW52b2x2ZWQgaW4gdGhlIG1lcmdlIGRvZXMgbm90IGhhdmUgbG9jYWwgY2hhbmdlIHdydCB0aGUgaW5kZXggYmVmb3JlCi1pdCBzdGFydHMsIGFuZCB0aGF0IGl0IHdyaXRlcyB0aGUgcmVzdWx0IG91dCB0byB0aGUgd29ya2luZyB0cmVlLiBTbyBpZgoraW52b2x2ZWQgaW4gdGhlIG1lcmdlIGRvZXMgbm90IGhhdmUgYSBsb2NhbCBjaGFuZ2Ugd2l0aCByZXNwZWN0IHRvIHRoZSBpbmRleAorYmVmb3JlIGl0IHN0YXJ0cywgYW5kIHRoYXQgaXQgd3JpdGVzIHRoZSByZXN1bHQgb3V0IHRvIHRoZSB3b3JraW5nIHRyZWUuIFNvIGlmCiB3ZSBzZWUgc29tZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGluZGV4IGFuZCB0aGUgdGFyZ2V0IGFuZCBhbHNvCiBiZXR3ZWVuIHRoZSBpbmRleCBhbmQgdGhlIHdvcmtpbmcgdHJlZSwgdGhlbiBpdCBtZWFucyB0aGF0IHdlIGFyZSBub3QKIHJlc2V0dGluZyBvdXQgZnJvbSBhIHN0YXRlIHRoYXQgYSBtZXJneSBvcGVyYXRpb24gbGVmdCBhZnRlciBmYWlsaW5nCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1yZXN0b3JlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJlc3RvcmUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViZjYwZDQKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXN0b3JlLnR4dApAQCAtMCwwICsxLDIwNyBAQAorZ2l0LXJlc3RvcmUoMSkKKz09PT09PT09PT09PT09CisKK05BTUUKKy0tLS0KK2dpdC1yZXN0b3JlIC0gUmVzdG9yZSB3b3JraW5nIHRyZWUgZmlsZXMKKworU1lOT1BTSVMKKy0tLS0tLS0tCitbdmVyc2VdCisnZ2l0IHJlc3RvcmUnIFs8b3B0aW9ucz5dIFstLXNvdXJjZT08dHJlZT5dIFstLXN0YWdlZF0gWy0td29ya3RyZWVdIFstLV0gPHBhdGhzcGVjPi4uLgorJ2dpdCByZXN0b3JlJyBbPG9wdGlvbnM+XSBbLS1zb3VyY2U9PHRyZWU+XSBbLS1zdGFnZWRdIFstLXdvcmt0cmVlXSAtLXBhdGhzcGVjLWZyb20tZmlsZT08ZmlsZT4gWy0tcGF0aHNwZWMtZmlsZS1udWxdCisnZ2l0IHJlc3RvcmUnICgtcHwtLXBhdGNoKSBbPG9wdGlvbnM+XSBbLS1zb3VyY2U9PHRyZWU+XSBbLS1zdGFnZWRdIFstLXdvcmt0cmVlXSBbLS1dIFs8cGF0aHNwZWM+Li4uXQorCitERVNDUklQVElPTgorLS0tLS0tLS0tLS0KK1Jlc3RvcmUgc3BlY2lmaWVkIHBhdGhzIGluIHRoZSB3b3JraW5nIHRyZWUgd2l0aCBzb21lIGNvbnRlbnRzIGZyb20gYQorcmVzdG9yZSBzb3VyY2UuIElmIGEgcGF0aCBpcyB0cmFja2VkIGJ1dCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgcmVzdG9yZQorc291cmNlLCBpdCB3aWxsIGJlIHJlbW92ZWQgdG8gbWF0Y2ggdGhlIHNvdXJjZS4KKworVGhlIGNvbW1hbmQgY2FuIGFsc28gYmUgdXNlZCB0byByZXN0b3JlIHRoZSBjb250ZW50IGluIHRoZSBpbmRleCB3aXRoCitgLS1zdGFnZWRgLCBvciByZXN0b3JlIGJvdGggdGhlIHdvcmtpbmcgdHJlZSBhbmQgdGhlIGluZGV4IHdpdGgKK2AtLXN0YWdlZCAtLXdvcmt0cmVlYC4KKworQnkgZGVmYXVsdCwgdGhlIHJlc3RvcmUgc291cmNlcyBmb3Igd29ya2luZyB0cmVlIGFuZCB0aGUgaW5kZXggYXJlIHRoZQoraW5kZXggYW5kIGBIRUFEYCByZXNwZWN0aXZlbHkuIGAtLXNvdXJjZWAgY291bGQgYmUgdXNlZCB0byBzcGVjaWZ5IGEKK2NvbW1pdCBhcyB0aGUgcmVzdG9yZSBzb3VyY2UuCisKK1NlZSAiUmVzZXQsIHJlc3RvcmUgYW5kIHJldmVydCIgaW4gbGlua2dpdDpnaXRbMV0gZm9yIHRoZSBkaWZmZXJlbmNlcworYmV0d2VlbiB0aGUgdGhyZWUgY29tbWFuZHMuCisKK1RISVMgQ09NTUFORCBJUyBFWFBFUklNRU5UQUwuIFRIRSBCRUhBVklPUiBNQVkgQ0hBTkdFLgorCitPUFRJT05TCistLS0tLS0tCistcyA8dHJlZT46OgorLS1zb3VyY2U9PHRyZWU+OjoKKwlSZXN0b3JlIHRoZSB3b3JraW5nIHRyZWUgZmlsZXMgd2l0aCB0aGUgY29udGVudCBmcm9tIHRoZSBnaXZlbgorCXRyZWUuIEl0IGlzIGNvbW1vbiB0byBzcGVjaWZ5IHRoZSBzb3VyY2UgdHJlZSBieSBuYW1pbmcgYQorCWNvbW1pdCwgYnJhbmNoIG9yIHRhZyBhc3NvY2lhdGVkIHdpdGggaXQuCisrCitJZiBub3Qgc3BlY2lmaWVkLCB0aGUgZGVmYXVsdCByZXN0b3JlIHNvdXJjZSBmb3IgdGhlIHdvcmtpbmcgdHJlZSBpcwordGhlIGluZGV4LCBhbmQgdGhlIGRlZmF1bHQgcmVzdG9yZSBzb3VyY2UgZm9yIHRoZSBpbmRleCBpcworYEhFQURgLiBXaGVuIGJvdGggYC0tc3RhZ2VkYCBhbmQgYC0td29ya3RyZWVgIGFyZSBzcGVjaWZpZWQsCitgLS1zb3VyY2VgIG11c3QgYWxzbyBiZSBzcGVjaWZpZWQuCisKKy1wOjoKKy0tcGF0Y2g6OgorCUludGVyYWN0aXZlbHkgc2VsZWN0IGh1bmtzIGluIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlCisJcmVzdG9yZSBzb3VyY2UgYW5kIHRoZSByZXN0b3JlIGxvY2F0aW9uLiBTZWUgdGhlIGBgSW50ZXJhY3RpdmUKKwlNb2RlJycgc2VjdGlvbiBvZiBsaW5rZ2l0OmdpdC1hZGRbMV0gdG8gbGVhcm4gaG93IHRvIG9wZXJhdGUKKwl0aGUgYC0tcGF0Y2hgIG1vZGUuCisrCitOb3RlIHRoYXQgYC0tcGF0Y2hgIGNhbiBhY2NlcHQgbm8gcGF0aHNwZWMgYW5kIHdpbGwgcHJvbXB0IHRvIHJlc3RvcmUKK2FsbCBtb2RpZmllZCBwYXRocy4KKworLVc6OgorLS13b3JrdHJlZTo6CistUzo6CistLXN0YWdlZDo6CisJU3BlY2lmeSB0aGUgcmVzdG9yZSBsb2NhdGlvbi4gSWYgbmVpdGhlciBvcHRpb24gaXMgc3BlY2lmaWVkLAorCWJ5IGRlZmF1bHQgdGhlIHdvcmtpbmcgdHJlZSBpcyByZXN0b3JlZC4gU3BlY2lmeWluZyBgLS1zdGFnZWRgCisJd2lsbCBvbmx5IHJlc3RvcmUgdGhlIGluZGV4LiBTcGVjaWZ5aW5nIGJvdGggcmVzdG9yZXMgYm90aC4KKworLXE6OgorLS1xdWlldDo6CisJUXVpZXQsIHN1cHByZXNzIGZlZWRiYWNrIG1lc3NhZ2VzLiBJbXBsaWVzIGAtLW5vLXByb2dyZXNzYC4KKworLS1wcm9ncmVzczo6CistLW5vLXByb2dyZXNzOjoKKwlQcm9ncmVzcyBzdGF0dXMgaXMgcmVwb3J0ZWQgb24gdGhlIHN0YW5kYXJkIGVycm9yIHN0cmVhbQorCWJ5IGRlZmF1bHQgd2hlbiBpdCBpcyBhdHRhY2hlZCB0byBhIHRlcm1pbmFsLCB1bmxlc3MgYC0tcXVpZXRgCisJaXMgc3BlY2lmaWVkLiBUaGlzIGZsYWcgZW5hYmxlcyBwcm9ncmVzcyByZXBvcnRpbmcgZXZlbiBpZiBub3QKKwlhdHRhY2hlZCB0byBhIHRlcm1pbmFsLCByZWdhcmRsZXNzIG9mIGAtLXF1aWV0YC4KKworLS1vdXJzOjoKKy0tdGhlaXJzOjoKKwlXaGVuIHJlc3RvcmluZyBmaWxlcyBpbiB0aGUgd29ya2luZyB0cmVlIGZyb20gdGhlIGluZGV4LCB1c2UKKwlzdGFnZSAjMiAoJ291cnMnKSBvciAjMyAoJ3RoZWlycycpIGZvciB1bm1lcmdlZCBwYXRocy4KKysKK05vdGUgdGhhdCBkdXJpbmcgYGdpdCByZWJhc2VgIGFuZCBgZ2l0IHB1bGwgLS1yZWJhc2VgLCAnb3VycycgYW5kCisndGhlaXJzJyBtYXkgYXBwZWFyIHN3YXBwZWQuIFNlZSB0aGUgZXhwbGFuYXRpb24gb2YgdGhlIHNhbWUgb3B0aW9ucworaW4gbGlua2dpdDpnaXQtY2hlY2tvdXRbMV0gZm9yIGRldGFpbHMuCisKKy1tOjoKKy0tbWVyZ2U6OgorCVdoZW4gcmVzdG9yaW5nIGZpbGVzIG9uIHRoZSB3b3JraW5nIHRyZWUgZnJvbSB0aGUgaW5kZXgsCisJcmVjcmVhdGUgdGhlIGNvbmZsaWN0ZWQgbWVyZ2UgaW4gdGhlIHVubWVyZ2VkIHBhdGhzLgorCistLWNvbmZsaWN0PTxzdHlsZT46OgorCVRoZSBzYW1lIGFzIGAtLW1lcmdlYCBvcHRpb24gYWJvdmUsIGJ1dCBjaGFuZ2VzIHRoZSB3YXkgdGhlCisJY29uZmxpY3RpbmcgaHVua3MgYXJlIHByZXNlbnRlZCwgb3ZlcnJpZGluZyB0aGUKKwlgbWVyZ2UuY29uZmxpY3RTdHlsZWAgY29uZmlndXJhdGlvbiB2YXJpYWJsZS4gIFBvc3NpYmxlIHZhbHVlcworCWFyZSAibWVyZ2UiIChkZWZhdWx0KSBhbmQgImRpZmYzIiAoaW4gYWRkaXRpb24gdG8gd2hhdCBpcworCXNob3duIGJ5ICJtZXJnZSIgc3R5bGUsIHNob3dzIHRoZSBvcmlnaW5hbCBjb250ZW50cykuCisKKy0taWdub3JlLXVubWVyZ2VkOjoKKwlXaGVuIHJlc3RvcmluZyBmaWxlcyBvbiB0aGUgd29ya2luZyB0cmVlIGZyb20gdGhlIGluZGV4LCBkbworCW5vdCBhYm9ydCB0aGUgb3BlcmF0aW9uIGlmIHRoZXJlIGFyZSB1bm1lcmdlZCBlbnRyaWVzIGFuZAorCW5laXRoZXIgYC0tb3Vyc2AsIGAtLXRoZWlyc2AsIGAtLW1lcmdlYCBvciBgLS1jb25mbGljdGAgaXMKKwlzcGVjaWZpZWQuIFVubWVyZ2VkIHBhdGhzIG9uIHRoZSB3b3JraW5nIHRyZWUgYXJlIGxlZnQgYWxvbmUuCisKKy0taWdub3JlLXNraXAtd29ya3RyZWUtYml0czo6CisJSW4gc3BhcnNlIGNoZWNrb3V0IG1vZGUsIGJ5IGRlZmF1bHQgaXMgdG8gb25seSB1cGRhdGUgZW50cmllcworCW1hdGNoZWQgYnkgYDxwYXRoc3BlYz5gIGFuZCBzcGFyc2UgcGF0dGVybnMgaW4KKwkkR0lUX0RJUi9pbmZvL3NwYXJzZS1jaGVja291dC4gVGhpcyBvcHRpb24gaWdub3JlcyB0aGUgc3BhcnNlCisJcGF0dGVybnMgYW5kIHVuY29uZGl0aW9uYWxseSByZXN0b3JlcyBhbnkgZmlsZXMgaW4KKwlgPHBhdGhzcGVjPmAuCisKKy0tb3ZlcmxheTo6CistLW5vLW92ZXJsYXk6OgorCUluIG92ZXJsYXkgbW9kZSwgdGhlIGNvbW1hbmQgbmV2ZXIgcmVtb3ZlcyBmaWxlcyB3aGVuCisJcmVzdG9yaW5nLiBJbiBuby1vdmVybGF5IG1vZGUsIHRyYWNrZWQgZmlsZXMgdGhhdCBkbyBub3QKKwlhcHBlYXIgaW4gdGhlIGAtLXNvdXJjZWAgdHJlZSBhcmUgcmVtb3ZlZCwgdG8gbWFrZSB0aGVtIG1hdGNoCisJYDx0cmVlPmAgZXhhY3RseS4gVGhlIGRlZmF1bHQgaXMgbm8tb3ZlcmxheSBtb2RlLgorCistLXBhdGhzcGVjLWZyb20tZmlsZT08ZmlsZT46OgorCVBhdGhzcGVjIGlzIHBhc3NlZCBpbiBgPGZpbGU+YCBpbnN0ZWFkIG9mIGNvbW1hbmRsaW5lIGFyZ3MuIElmCisJYDxmaWxlPmAgaXMgZXhhY3RseSBgLWAgdGhlbiBzdGFuZGFyZCBpbnB1dCBpcyB1c2VkLiBQYXRoc3BlYworCWVsZW1lbnRzIGFyZSBzZXBhcmF0ZWQgYnkgTEYgb3IgQ1IvTEYuIFBhdGhzcGVjIGVsZW1lbnRzIGNhbiBiZQorCXF1b3RlZCBhcyBleHBsYWluZWQgZm9yIHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBjb3JlLnF1b3RlUGF0aGAKKwkoc2VlIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXSkuIFNlZSBhbHNvIGAtLXBhdGhzcGVjLWZpbGUtbnVsYCBhbmQKKwlnbG9iYWwgYC0tbGl0ZXJhbC1wYXRoc3BlY3NgLgorCistLXBhdGhzcGVjLWZpbGUtbnVsOjoKKwlPbmx5IG1lYW5pbmdmdWwgd2l0aCBgLS1wYXRoc3BlYy1mcm9tLWZpbGVgLiBQYXRoc3BlYyBlbGVtZW50cyBhcmUKKwlzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIGFuZCBhbGwgb3RoZXIgY2hhcmFjdGVycyBhcmUgdGFrZW4KKwlsaXRlcmFsbHkgKGluY2x1ZGluZyBuZXdsaW5lcyBhbmQgcXVvdGVzKS4KKworXC0tOjoKKwlEbyBub3QgaW50ZXJwcmV0IGFueSBtb3JlIGFyZ3VtZW50cyBhcyBvcHRpb25zLgorCis8cGF0aHNwZWM+Li4uOjoKKwlMaW1pdHMgdGhlIHBhdGhzIGFmZmVjdGVkIGJ5IHRoZSBvcGVyYXRpb24uCisrCitGb3IgbW9yZSBkZXRhaWxzLCBzZWUgdGhlICdwYXRoc3BlYycgZW50cnkgaW4gbGlua2dpdDpnaXRnbG9zc2FyeVs3XS4KKworRVhBTVBMRVMKKy0tLS0tLS0tCisKK1RoZSBmb2xsb3dpbmcgc2VxdWVuY2Ugc3dpdGNoZXMgdG8gdGhlIGBtYXN0ZXJgIGJyYW5jaCwgcmV2ZXJ0cyB0aGUKK2BNYWtlZmlsZWAgdG8gdHdvIHJldmlzaW9ucyBiYWNrLCBkZWxldGVzIGhlbGxvLmMgYnkgbWlzdGFrZSwgYW5kIGdldHMKK2l0IGJhY2sgZnJvbSB0aGUgaW5kZXguCisKKy0tLS0tLS0tLS0tLQorJCBnaXQgc3dpdGNoIG1hc3RlcgorJCBnaXQgcmVzdG9yZSAtLXNvdXJjZSBtYXN0ZXJ+MiBNYWtlZmlsZSAgPDE+CiskIHJtIC1mIGhlbGxvLmMKKyQgZ2l0IHJlc3RvcmUgaGVsbG8uYyAgICAgICAgICAgICAgICAgICAgIDwyPgorLS0tLS0tLS0tLS0tCisKKzwxPiB0YWtlIGEgZmlsZSBvdXQgb2YgYW5vdGhlciBjb21taXQKKzwyPiByZXN0b3JlIGhlbGxvLmMgZnJvbSB0aGUgaW5kZXgKKworSWYgeW91IHdhbnQgdG8gcmVzdG9yZSBfYWxsXyBDIHNvdXJjZSBmaWxlcyB0byBtYXRjaCB0aGUgdmVyc2lvbiBpbgordGhlIGluZGV4LCB5b3UgY2FuIHNheQorCistLS0tLS0tLS0tLS0KKyQgZ2l0IHJlc3RvcmUgJyouYycKKy0tLS0tLS0tLS0tLQorCitOb3RlIHRoZSBxdW90ZXMgYXJvdW5kIGAqLmNgLiAgVGhlIGZpbGUgYGhlbGxvLmNgIHdpbGwgYWxzbyBiZQorcmVzdG9yZWQsIGV2ZW4gdGhvdWdoIGl0IGlzIG5vIGxvbmdlciBpbiB0aGUgd29ya2luZyB0cmVlLCBiZWNhdXNlIHRoZQorZmlsZSBnbG9iYmluZyBpcyB1c2VkIHRvIG1hdGNoIGVudHJpZXMgaW4gdGhlIGluZGV4IChub3QgaW4gdGhlCit3b3JraW5nIHRyZWUgYnkgdGhlIHNoZWxsKS4KKworVG8gcmVzdG9yZSBhbGwgZmlsZXMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5CisKKy0tLS0tLS0tLS0tLQorJCBnaXQgcmVzdG9yZSAuCistLS0tLS0tLS0tLS0KKworb3IgdG8gcmVzdG9yZSBhbGwgd29ya2luZyB0cmVlIGZpbGVzIHdpdGggJ3RvcCcgcGF0aHNwZWMgbWFnaWMgKHNlZQorbGlua2dpdDpnaXRnbG9zc2FyeVs3XSkKKworLS0tLS0tLS0tLS0tCiskIGdpdCByZXN0b3JlIDovCistLS0tLS0tLS0tLS0KKworVG8gcmVzdG9yZSBhIGZpbGUgaW4gdGhlIGluZGV4IHRvIG1hdGNoIHRoZSB2ZXJzaW9uIGluIGBIRUFEYCAodGhpcyBpcwordGhlIHNhbWUgYXMgdXNpbmcgbGlua2dpdDpnaXQtcmVzZXRbMV0pCisKKy0tLS0tLS0tLS0tLQorJCBnaXQgcmVzdG9yZSAtLXN0YWdlZCBoZWxsby5jCistLS0tLS0tLS0tLS0KKworb3IgeW91IGNhbiByZXN0b3JlIGJvdGggdGhlIGluZGV4IGFuZCB0aGUgd29ya2luZyB0cmVlICh0aGlzIHRoZSBzYW1lCithcyB1c2luZyBsaW5rZ2l0OmdpdC1jaGVja291dFsxXSkKKworLS0tLS0tLS0tLS0tCiskIGdpdCByZXN0b3JlIC0tc291cmNlPUhFQUQgLS1zdGFnZWQgLS13b3JrdHJlZSBoZWxsby5jCistLS0tLS0tLS0tLS0KKworb3IgdGhlIHNob3J0IGZvcm0gd2hpY2ggaXMgbW9yZSBwcmFjdGljYWwgYnV0IGxlc3MgcmVhZGFibGU6CisKKy0tLS0tLS0tLS0tLQorJCBnaXQgcmVzdG9yZSAtc0AgLVNXIGhlbGxvLmMKKy0tLS0tLS0tLS0tLQorCitTRUUgQUxTTworLS0tLS0tLS0KK2xpbmtnaXQ6Z2l0LWNoZWNrb3V0WzFdLAorbGlua2dpdDpnaXQtcmVzZXRbMV0KKworR0lUCistLS0KK1BhcnQgb2YgdGhlIGxpbmtnaXQ6Z2l0WzFdIHN1aXRlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1yZXYtbGlzdC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXYtbGlzdC50eHQKaW5kZXggODg2MDlmZi4uMDI1YzkxMSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmV2LWxpc3QudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJldi1saXN0LnR4dApAQCAtOSw1OCArOSw3IEBACiBTWU5PUFNJUwogLS0tLS0tLS0KIFt2ZXJzZV0KLSdnaXQgcmV2LWxpc3QnIFsgLS1tYXgtY291bnQ9PG51bWJlcj4gXQotCSAgICAgWyAtLXNraXA9PG51bWJlcj4gXQotCSAgICAgWyAtLW1heC1hZ2U9PHRpbWVzdGFtcD4gXQotCSAgICAgWyAtLW1pbi1hZ2U9PHRpbWVzdGFtcD4gXQotCSAgICAgWyAtLXNwYXJzZSBdCi0JICAgICBbIC0tbWVyZ2VzIF0KLQkgICAgIFsgLS1uby1tZXJnZXMgXQotCSAgICAgWyAtLW1pbi1wYXJlbnRzPTxudW1iZXI+IF0KLQkgICAgIFsgLS1uby1taW4tcGFyZW50cyBdCi0JICAgICBbIC0tbWF4LXBhcmVudHM9PG51bWJlcj4gXQotCSAgICAgWyAtLW5vLW1heC1wYXJlbnRzIF0KLQkgICAgIFsgLS1maXJzdC1wYXJlbnQgXQotCSAgICAgWyAtLXJlbW92ZS1lbXB0eSBdCi0JICAgICBbIC0tZnVsbC1oaXN0b3J5IF0KLQkgICAgIFsgLS1ub3QgXQotCSAgICAgWyAtLWFsbCBdCi0JICAgICBbIC0tYnJhbmNoZXNbPTxwYXR0ZXJuPl0gXQotCSAgICAgWyAtLXRhZ3NbPTxwYXR0ZXJuPl0gXQotCSAgICAgWyAtLXJlbW90ZXNbPTxwYXR0ZXJuPl0gXQotCSAgICAgWyAtLWdsb2I9PGdsb2ItcGF0dGVybj4gXQotCSAgICAgWyAtLWlnbm9yZS1taXNzaW5nIF0KLQkgICAgIFsgLS1zdGRpbiBdCi0JICAgICBbIC0tcXVpZXQgXQotCSAgICAgWyAtLXRvcG8tb3JkZXIgXQotCSAgICAgWyAtLXBhcmVudHMgXQotCSAgICAgWyAtLXRpbWVzdGFtcCBdCi0JICAgICBbIC0tbGVmdC1yaWdodCBdCi0JICAgICBbIC0tbGVmdC1vbmx5IF0KLQkgICAgIFsgLS1yaWdodC1vbmx5IF0KLQkgICAgIFsgLS1jaGVycnktbWFyayBdCi0JICAgICBbIC0tY2hlcnJ5LXBpY2sgXQotCSAgICAgWyAtLWVuY29kaW5nPTxlbmNvZGluZz4gXQotCSAgICAgWyAtLShhdXRob3J8Y29tbWl0dGVyfGdyZXApPTxwYXR0ZXJuPiBdCi0JICAgICBbIC0tcmVnZXhwLWlnbm9yZS1jYXNlIHwgLWkgXQotCSAgICAgWyAtLWV4dGVuZGVkLXJlZ2V4cCB8IC1FIF0KLQkgICAgIFsgLS1maXhlZC1zdHJpbmdzIHwgLUYgXQotCSAgICAgWyAtLWRhdGU9PGZvcm1hdD5dCi0JICAgICBbIFsgLS1vYmplY3RzIHwgLS1vYmplY3RzLWVkZ2UgfCAtLW9iamVjdHMtZWRnZS1hZ2dyZXNzaXZlIF0KLQkgICAgICAgWyAtLXVucGFja2VkIF0KLQkgICAgICAgWyAtLWZpbHRlcj08ZmlsdGVyLXNwZWM+IFsgLS1maWx0ZXItcHJpbnQtb21pdHRlZCBdIF0gXQotCSAgICAgWyAtLW1pc3Npbmc9PG1pc3NpbmctYWN0aW9uPiBdCi0JICAgICBbIC0tcHJldHR5IHwgLS1oZWFkZXIgXQotCSAgICAgWyAtLWJpc2VjdCBdCi0JICAgICBbIC0tYmlzZWN0LXZhcnMgXQotCSAgICAgWyAtLWJpc2VjdC1hbGwgXQotCSAgICAgWyAtLW1lcmdlIF0KLQkgICAgIFsgLS1yZXZlcnNlIF0KLQkgICAgIFsgLS13YWxrLXJlZmxvZ3MgXQotCSAgICAgWyAtLW5vLXdhbGsgXSBbIC0tZG8td2FsayBdCi0JICAgICBbIC0tY291bnQgXQotCSAgICAgWyAtLXVzZS1iaXRtYXAtaW5kZXggXQotCSAgICAgPGNvbW1pdD4uLi4gWyBcLS0gPHBhdGhzPi4uLiBdCisnZ2l0IHJldi1saXN0JyBbPG9wdGlvbnM+XSA8Y29tbWl0Pi4uLiBbWy0tXSA8cGF0aD4uLi5dCiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtcmV2LXBhcnNlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXJldi1wYXJzZS50eHQKaW5kZXggZTcyZDMzMi4uMTliMTJiNiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcmV2LXBhcnNlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXYtcGFyc2UudHh0CkBAIC0yNjIsNyArMjYyLDggQEAKIAlkaXJlY3RvcnkuCiAKIC0tc2hvdy10b3BsZXZlbDo6Ci0JU2hvdyB0aGUgYWJzb2x1dGUgcGF0aCBvZiB0aGUgdG9wLWxldmVsIGRpcmVjdG9yeS4KKwlTaG93IHRoZSBhYnNvbHV0ZSBwYXRoIG9mIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5IG9mIHRoZSB3b3JraW5nCisJdHJlZS4gSWYgdGhlcmUgaXMgbm8gd29ya2luZyB0cmVlLCByZXBvcnQgYW4gZXJyb3IuCiAKIC0tc2hvdy1zdXBlcnByb2plY3Qtd29ya2luZy10cmVlOjoKIAlTaG93IHRoZSBhYnNvbHV0ZSBwYXRoIG9mIHRoZSByb290IG9mIHRoZSBzdXBlcnByb2plY3QncwpAQCAtMjc0LDYgKzI3NSwxMyBAQAogCVNob3cgdGhlIHBhdGggdG8gdGhlIHNoYXJlZCBpbmRleCBmaWxlIGluIHNwbGl0IGluZGV4IG1vZGUsIG9yCiAJZW1wdHkgaWYgbm90IGluIHNwbGl0LWluZGV4IG1vZGUuCiAKKy0tc2hvdy1vYmplY3QtZm9ybWF0Wz0oc3RvcmFnZXxpbnB1dHxvdXRwdXQpXTo6CisJU2hvdyB0aGUgb2JqZWN0IGZvcm1hdCAoaGFzaCBhbGdvcml0aG0pIHVzZWQgZm9yIHRoZSByZXBvc2l0b3J5CisJZm9yIHN0b3JhZ2UgaW5zaWRlIHRoZSBgLmdpdGAgZGlyZWN0b3J5LCBpbnB1dCwgb3Igb3V0cHV0LiBGb3IKKwlpbnB1dCwgbXVsdGlwbGUgYWxnb3JpdGhtcyBtYXkgYmUgcHJpbnRlZCwgc3BhY2Utc2VwYXJhdGVkLgorCUlmIG5vdCBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IGlzICJzdG9yYWdlIi4KKworCiBPdGhlciBPcHRpb25zCiB+fn5+fn5+fn5+fn5+CiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXJldmVydC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1yZXZlcnQudHh0CmluZGV4IDgzNzcwN2EuLjlkMjIyNzAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXJldmVydC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtcmV2ZXJ0LnR4dApAQCAtOSw5ICs5LDcgQEAKIC0tLS0tLS0tCiBbdmVyc2VdCiAnZ2l0IHJldmVydCcgWy0tW25vLV1lZGl0XSBbLW5dIFstbSBwYXJlbnQtbnVtYmVyXSBbLXNdIFstU1s8a2V5aWQ+XV0gPGNvbW1pdD4uLi4KLSdnaXQgcmV2ZXJ0JyAtLWNvbnRpbnVlCi0nZ2l0IHJldmVydCcgLS1xdWl0Ci0nZ2l0IHJldmVydCcgLS1hYm9ydAorJ2dpdCByZXZlcnQnICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCB8IC0tcXVpdCkKIAogREVTQ1JJUFRJT04KIC0tLS0tLS0tLS0tCkBAIC0yNiwxMCArMjQsMTMgQEAKIHRocm93IGF3YXkgYWxsIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIGRpcmVjdG9yeSwgeW91CiBzaG91bGQgc2VlIGxpbmtnaXQ6Z2l0LXJlc2V0WzFdLCBwYXJ0aWN1bGFybHkgdGhlIGAtLWhhcmRgIG9wdGlvbi4gIElmCiB5b3Ugd2FudCB0byBleHRyYWN0IHNwZWNpZmljIGZpbGVzIGFzIHRoZXkgd2VyZSBpbiBhbm90aGVyIGNvbW1pdCwgeW91Ci1zaG91bGQgc2VlIGxpbmtnaXQ6Z2l0LWNoZWNrb3V0WzFdLCBzcGVjaWZpY2FsbHkgdGhlIGBnaXQgY2hlY2tvdXQKLTxjb21taXQ+IC0tIDxmaWxlbmFtZT5gIHN5bnRheC4gIFRha2UgY2FyZSB3aXRoIHRoZXNlIGFsdGVybmF0aXZlcyBhcworc2hvdWxkIHNlZSBsaW5rZ2l0OmdpdC1yZXN0b3JlWzFdLCBzcGVjaWZpY2FsbHkgdGhlIGAtLXNvdXJjZWAKK29wdGlvbi4gVGFrZSBjYXJlIHdpdGggdGhlc2UgYWx0ZXJuYXRpdmVzIGFzCiBib3RoIHdpbGwgZGlzY2FyZCB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkuCiAKK1NlZSAiUmVzZXQsIHJlc3RvcmUgYW5kIHJldmVydCIgaW4gbGlua2dpdDpnaXRbMV0gZm9yIHRoZSBkaWZmZXJlbmNlcworYmV0d2VlbiB0aGUgdGhyZWUgY29tbWFuZHMuCisKIE9QVElPTlMKIC0tLS0tLS0KIDxjb21taXQ+Li4uOjoKQEAgLTY2LDYgKzY3LDEzIEBACiAJV2l0aCB0aGlzIG9wdGlvbiwgJ2dpdCByZXZlcnQnIHdpbGwgbm90IHN0YXJ0IHRoZSBjb21taXQKIAltZXNzYWdlIGVkaXRvci4KIAorLS1jbGVhbnVwPTxtb2RlPjo6CisJVGhpcyBvcHRpb24gZGV0ZXJtaW5lcyBob3cgdGhlIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgY2xlYW5lZCB1cCBiZWZvcmUKKwliZWluZyBwYXNzZWQgb24gdG8gdGhlIGNvbW1pdCBtYWNoaW5lcnkuIFNlZSBsaW5rZ2l0OmdpdC1jb21taXRbMV0gZm9yIG1vcmUKKwlkZXRhaWxzLiBJbiBwYXJ0aWN1bGFyLCBpZiB0aGUgJzxtb2RlPicgaXMgZ2l2ZW4gYSB2YWx1ZSBvZiBgc2Npc3NvcnNgLAorCXNjaXNzb3JzIHdpbGwgYmUgYXBwZW5kZWQgdG8gYE1FUkdFX01TR2AgYmVmb3JlIGJlaW5nIHBhc3NlZCBvbiBpbiB0aGUgY2FzZQorCW9mIGEgY29uZmxpY3QuCisKIC1uOjoKIC0tbm8tY29tbWl0OjoKIAlVc3VhbGx5IHRoZSBjb21tYW5kIGF1dG9tYXRpY2FsbHkgY3JlYXRlcyBzb21lIGNvbW1pdHMgd2l0aApAQCAtMTAxLDYgKzEwOSwxMSBAQAogCVBhc3MgdGhlIG1lcmdlIHN0cmF0ZWd5LXNwZWNpZmljIG9wdGlvbiB0aHJvdWdoIHRvIHRoZQogCW1lcmdlIHN0cmF0ZWd5LiAgU2VlIGxpbmtnaXQ6Z2l0LW1lcmdlWzFdIGZvciBkZXRhaWxzLgogCistLXJlcmVyZS1hdXRvdXBkYXRlOjoKKy0tbm8tcmVyZXJlLWF1dG91cGRhdGU6OgorCUFsbG93IHRoZSByZXJlcmUgbWVjaGFuaXNtIHRvIHVwZGF0ZSB0aGUgaW5kZXggd2l0aCB0aGUKKwlyZXN1bHQgb2YgYXV0by1jb25mbGljdCByZXNvbHV0aW9uIGlmIHBvc3NpYmxlLgorCiBTRVFVRU5DRVIgU1VCQ09NTUFORFMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQogaW5jbHVkZTo6c2VxdWVuY2VyLnR4dFtdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1ybS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1ybS50eHQKaW5kZXggYjVjNDYyMi4uYWI3NTAzNiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtcm0udHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXJtLnR4dApAQCAtOCwxNiArOCwxOCBAQAogU1lOT1BTSVMKIC0tLS0tLS0tCiBbdmVyc2VdCi0nZ2l0IHJtJyBbLWYgfCAtLWZvcmNlXSBbLW5dIFstcl0gWy0tY2FjaGVkXSBbLS1pZ25vcmUtdW5tYXRjaF0gWy0tcXVpZXRdIFstLV0gPGZpbGU+Li4uCisnZ2l0IHJtJyBbLWYgfCAtLWZvcmNlXSBbLW5dIFstcl0gWy0tY2FjaGVkXSBbLS1pZ25vcmUtdW5tYXRjaF0KKwkgIFstLXF1aWV0XSBbLS1wYXRoc3BlYy1mcm9tLWZpbGU9PGZpbGU+IFstLXBhdGhzcGVjLWZpbGUtbnVsXV0KKwkgIFstLV0gWzxwYXRoc3BlYz4uLi5dCiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQotUmVtb3ZlIGZpbGVzIGZyb20gdGhlIGluZGV4LCBvciBmcm9tIHRoZSB3b3JraW5nIHRyZWUgYW5kIHRoZSBpbmRleC4KLWBnaXQgcm1gIHdpbGwgbm90IHJlbW92ZSBhIGZpbGUgZnJvbSBqdXN0IHlvdXIgd29ya2luZyBkaXJlY3RvcnkuCi0oVGhlcmUgaXMgbm8gb3B0aW9uIHRvIHJlbW92ZSBhIGZpbGUgb25seSBmcm9tIHRoZSB3b3JraW5nIHRyZWUKLWFuZCB5ZXQga2VlcCBpdCBpbiB0aGUgaW5kZXg7IHVzZSBgL2Jpbi9ybWAgaWYgeW91IHdhbnQgdG8gZG8gdGhhdC4pCi1UaGUgZmlsZXMgYmVpbmcgcmVtb3ZlZCBoYXZlIHRvIGJlIGlkZW50aWNhbCB0byB0aGUgdGlwIG9mIHRoZSBicmFuY2gsCi1hbmQgbm8gdXBkYXRlcyB0byB0aGVpciBjb250ZW50cyBjYW4gYmUgc3RhZ2VkIGluIHRoZSBpbmRleCwKK1JlbW92ZSBmaWxlcyBtYXRjaGluZyBwYXRoc3BlYyBmcm9tIHRoZSBpbmRleCwgb3IgZnJvbSB0aGUgd29ya2luZyB0cmVlCithbmQgdGhlIGluZGV4LiBgZ2l0IHJtYCB3aWxsIG5vdCByZW1vdmUgYSBmaWxlIGZyb20ganVzdCB5b3VyIHdvcmtpbmcKK2RpcmVjdG9yeS4gKFRoZXJlIGlzIG5vIG9wdGlvbiB0byByZW1vdmUgYSBmaWxlIG9ubHkgZnJvbSB0aGUgd29ya2luZwordHJlZSBhbmQgeWV0IGtlZXAgaXQgaW4gdGhlIGluZGV4OyB1c2UgYC9iaW4vcm1gIGlmIHlvdSB3YW50IHRvIGRvCit0aGF0LikgVGhlIGZpbGVzIGJlaW5nIHJlbW92ZWQgaGF2ZSB0byBiZSBpZGVudGljYWwgdG8gdGhlIHRpcCBvZiB0aGUKK2JyYW5jaCwgYW5kIG5vIHVwZGF0ZXMgdG8gdGhlaXIgY29udGVudHMgY2FuIGJlIHN0YWdlZCBpbiB0aGUgaW5kZXgsCiB0aG91Z2ggdGhhdCBkZWZhdWx0IGJlaGF2aW9yIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggdGhlIGAtZmAgb3B0aW9uLgogV2hlbiBgLS1jYWNoZWRgIGlzIGdpdmVuLCB0aGUgc3RhZ2VkIGNvbnRlbnQgaGFzIHRvCiBtYXRjaCBlaXRoZXIgdGhlIHRpcCBvZiB0aGUgYnJhbmNoIG9yIHRoZSBmaWxlIG9uIGRpc2ssCkBAIC0yNiwxNSArMjgsMjAgQEAKIAogT1BUSU9OUwogLS0tLS0tLQotPGZpbGU+Li4uOjoKLQlGaWxlcyB0byByZW1vdmUuICBGaWxlZ2xvYnMgKGUuZy4gYCouY2ApIGNhbiBiZSBnaXZlbiB0bwotCXJlbW92ZSBhbGwgbWF0Y2hpbmcgZmlsZXMuICBJZiB5b3Ugd2FudCBHaXQgdG8gZXhwYW5kCi0JZmlsZSBnbG9iIGNoYXJhY3RlcnMsIHlvdSBtYXkgbmVlZCB0byBzaGVsbC1lc2NhcGUgdGhlbS4KLQlBIGxlYWRpbmcgZGlyZWN0b3J5IG5hbWUKLQkoZS5nLiBgZGlyYCB0byByZW1vdmUgYGRpci9maWxlMWAgYW5kIGBkaXIvZmlsZTJgKSBjYW4gYmUKLQlnaXZlbiB0byByZW1vdmUgYWxsIGZpbGVzIGluIHRoZSBkaXJlY3RvcnksIGFuZCByZWN1cnNpdmVseQotCWFsbCBzdWItZGlyZWN0b3JpZXMsCi0JYnV0IHRoaXMgcmVxdWlyZXMgdGhlIGAtcmAgb3B0aW9uIHRvIGJlIGV4cGxpY2l0bHkgZ2l2ZW4uCis8cGF0aHNwZWM+Li4uOjoKKwlGaWxlcyB0byByZW1vdmUuICBBIGxlYWRpbmcgZGlyZWN0b3J5IG5hbWUgKGUuZy4gYGRpcmAgdG8gcmVtb3ZlCisJYGRpci9maWxlMWAgYW5kIGBkaXIvZmlsZTJgKSBjYW4gYmUgZ2l2ZW4gdG8gcmVtb3ZlIGFsbCBmaWxlcyBpbgorCXRoZSBkaXJlY3RvcnksIGFuZCByZWN1cnNpdmVseSBhbGwgc3ViLWRpcmVjdG9yaWVzLCBidXQgdGhpcworCXJlcXVpcmVzIHRoZSBgLXJgIG9wdGlvbiB0byBiZSBleHBsaWNpdGx5IGdpdmVuLgorKworVGhlIGNvbW1hbmQgcmVtb3ZlcyBvbmx5IHRoZSBwYXRocyB0aGF0IGFyZSBrbm93biB0byBHaXQuCisrCitGaWxlIGdsb2JiaW5nIG1hdGNoZXMgYWNyb3NzIGRpcmVjdG9yeSBib3VuZGFyaWVzLiAgVGh1cywgZ2l2ZW4gdHdvCitkaXJlY3RvcmllcyBgZGAgYW5kIGBkMmAsIHRoZXJlIGlzIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIHVzaW5nCitgZ2l0IHJtICdkKidgIGFuZCBgZ2l0IHJtICdkLyonYCwgYXMgdGhlIGZvcm1lciB3aWxsIGFsc28gcmVtb3ZlIGFsbAorb2YgZGlyZWN0b3J5IGBkMmAuCisrCitGb3IgbW9yZSBkZXRhaWxzLCBzZWUgdGhlICdwYXRoc3BlYycgZW50cnkgaW4gbGlua2dpdDpnaXRnbG9zc2FyeVs3XS4KIAogLWY6OgogLS1mb3JjZTo6CkBAIC02OCwxOSArNzUsMTkgQEAKIAlgZ2l0IHJtYCBub3JtYWxseSBvdXRwdXRzIG9uZSBsaW5lIChpbiB0aGUgZm9ybSBvZiBhbiBgcm1gIGNvbW1hbmQpCiAJZm9yIGVhY2ggZmlsZSByZW1vdmVkLiBUaGlzIG9wdGlvbiBzdXBwcmVzc2VzIHRoYXQgb3V0cHV0LgogCistLXBhdGhzcGVjLWZyb20tZmlsZT08ZmlsZT46OgorCVBhdGhzcGVjIGlzIHBhc3NlZCBpbiBgPGZpbGU+YCBpbnN0ZWFkIG9mIGNvbW1hbmRsaW5lIGFyZ3MuIElmCisJYDxmaWxlPmAgaXMgZXhhY3RseSBgLWAgdGhlbiBzdGFuZGFyZCBpbnB1dCBpcyB1c2VkLiBQYXRoc3BlYworCWVsZW1lbnRzIGFyZSBzZXBhcmF0ZWQgYnkgTEYgb3IgQ1IvTEYuIFBhdGhzcGVjIGVsZW1lbnRzIGNhbiBiZQorCXF1b3RlZCBhcyBleHBsYWluZWQgZm9yIHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBjb3JlLnF1b3RlUGF0aGAKKwkoc2VlIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXSkuIFNlZSBhbHNvIGAtLXBhdGhzcGVjLWZpbGUtbnVsYCBhbmQKKwlnbG9iYWwgYC0tbGl0ZXJhbC1wYXRoc3BlY3NgLgogCi1ESVNDVVNTSU9OCi0tLS0tLS0tLS0tCistLXBhdGhzcGVjLWZpbGUtbnVsOjoKKwlPbmx5IG1lYW5pbmdmdWwgd2l0aCBgLS1wYXRoc3BlYy1mcm9tLWZpbGVgLiBQYXRoc3BlYyBlbGVtZW50cyBhcmUKKwlzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIGFuZCBhbGwgb3RoZXIgY2hhcmFjdGVycyBhcmUgdGFrZW4KKwlsaXRlcmFsbHkgKGluY2x1ZGluZyBuZXdsaW5lcyBhbmQgcXVvdGVzKS4KIAotVGhlIDxmaWxlPiBsaXN0IGdpdmVuIHRvIHRoZSBjb21tYW5kIGNhbiBiZSBleGFjdCBwYXRobmFtZXMsCi1maWxlIGdsb2IgcGF0dGVybnMsIG9yIGxlYWRpbmcgZGlyZWN0b3J5IG5hbWVzLiAgVGhlIGNvbW1hbmQKLXJlbW92ZXMgb25seSB0aGUgcGF0aHMgdGhhdCBhcmUga25vd24gdG8gR2l0LiAgR2l2aW5nIHRoZSBuYW1lIG9mCi1hIGZpbGUgdGhhdCB5b3UgaGF2ZSBub3QgdG9sZCBHaXQgYWJvdXQgZG9lcyBub3QgcmVtb3ZlIHRoYXQgZmlsZS4KLQotRmlsZSBnbG9iYmluZyBtYXRjaGVzIGFjcm9zcyBkaXJlY3RvcnkgYm91bmRhcmllcy4gIFRodXMsIGdpdmVuCi10d28gZGlyZWN0b3JpZXMgYGRgIGFuZCBgZDJgLCB0aGVyZSBpcyBhIGRpZmZlcmVuY2UgYmV0d2VlbgotdXNpbmcgYGdpdCBybSAnZConYCBhbmQgYGdpdCBybSAnZC8qJ2AsIGFzIHRoZSBmb3JtZXIgd2lsbAotYWxzbyByZW1vdmUgYWxsIG9mIGRpcmVjdG9yeSBgZDJgLgogCiBSRU1PVklORyBGSUxFUyBUSEFUIEhBVkUgRElTQVBQRUFSRUQgRlJPTSBUSEUgRklMRVNZU1RFTQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXNlbmQtZW1haWwudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtc2VuZC1lbWFpbC50eHQKaW5kZXggNjJjNmM3Ni4uMGE2OTgxMCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtc2VuZC1lbWFpbC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtc2VuZC1lbWFpbC50eHQKQEAgLTMzLDcgKzMzLDcgQEAKIGZvcm1hdHRpbmcgYXJlIGlnbm9yZWQuCiAKIDIuIFRoZSBvcmlnaW5hbCBmb3JtYXQgdXNlZCBieSBHcmVnIEtyb2FoLUhhcnRtYW4ncyAnc2VuZF9sb3RzX29mX2VtYWlsLnBsJwotc2NyaXB0CisgICBzY3JpcHQKICsKIFRoaXMgZm9ybWF0IGV4cGVjdHMgdGhlIGZpcnN0IGxpbmUgb2YgdGhlIGZpbGUgdG8gY29udGFpbiB0aGUgIkNjOiIgdmFsdWUKIGFuZCB0aGUgIlN1YmplY3Q6IiBvZiB0aGUgbWVzc2FnZSBhcyB0aGUgc2Vjb25kIGxpbmUuCkBAIC0yNzgsNiArMjc4LDE0IEBACiBBdXRvbWF0aW5nCiB+fn5+fn5+fn5+CiAKKy0tbm8tW3RvfGNjfGJjY106OgorCUNsZWFycyBhbnkgbGlzdCBvZiAiVG86IiwgIkNjOiIsICJCY2M6IiBhZGRyZXNzZXMgcHJldmlvdXNseQorCXNldCB2aWEgY29uZmlnLgorCistLW5vLWlkZW50aXR5OjoKKwlDbGVhcnMgdGhlIHByZXZpb3VzbHkgcmVhZCB2YWx1ZSBvZiBgc2VuZGVtYWlsLmlkZW50aXR5YCBzZXQKKwl2aWEgY29uZmlnLCBpZiBhbnkuCisKIC0tdG8tY21kPTxjb21tYW5kPjo6CiAJU3BlY2lmeSBhIGNvbW1hbmQgdG8gZXhlY3V0ZSBvbmNlIHBlciBwYXRjaCBmaWxlIHdoaWNoCiAJc2hvdWxkIGdlbmVyYXRlIHBhdGNoIGZpbGUgc3BlY2lmaWMgIlRvOiIgZW50cmllcy4KQEAgLTQ3OCwxMSArNDg2LDEzIEBACiBUbyB1c2UgJ2dpdCBzZW5kLWVtYWlsJyB0byBzZW5kIHlvdXIgcGF0Y2hlcyB0aHJvdWdoIHRoZSBHTWFpbCBTTVRQIHNlcnZlciwKIGVkaXQgfi8uZ2l0Y29uZmlnIHRvIHNwZWNpZnkgeW91ciBhY2NvdW50IHNldHRpbmdzOgogCi0JW3NlbmRlbWFpbF0KLQkJc210cEVuY3J5cHRpb24gPSB0bHMKLQkJc210cFNlcnZlciA9IHNtdHAuZ21haWwuY29tCi0JCXNtdHBVc2VyID0geW91cm5hbWVAZ21haWwuY29tCi0JCXNtdHBTZXJ2ZXJQb3J0ID0gNTg3CistLS0tCitbc2VuZGVtYWlsXQorCXNtdHBFbmNyeXB0aW9uID0gdGxzCisJc210cFNlcnZlciA9IHNtdHAuZ21haWwuY29tCisJc210cFVzZXIgPSB5b3VybmFtZUBnbWFpbC5jb20KKwlzbXRwU2VydmVyUG9ydCA9IDU4NworLS0tLQogCiBJZiB5b3UgaGF2ZSBtdWx0aWZhY3RvciBhdXRoZW50aWNhdGlvbiBzZXR1cCBvbiB5b3VyIGdtYWlsIGFjY291bnQsIHlvdSB3aWxsCiBuZWVkIHRvIGdlbmVyYXRlIGFuIGFwcC1zcGVjaWZpYyBwYXNzd29yZCBmb3IgdXNlIHdpdGggJ2dpdCBzZW5kLWVtYWlsJy4gVmlzaXQKQEAgLTUwMCw4ICs1MTAsMTIgQEAKIGhlbHBlciBjb25maWd1cmVkIChzZWUgbGlua2dpdDpnaXQtY3JlZGVudGlhbFsxXSksIHRoZSBwYXNzd29yZCB3aWxsIGJlIHNhdmVkIGluCiB0aGUgY3JlZGVudGlhbCBzdG9yZSBzbyB5b3Ugd29uJ3QgaGF2ZSB0byB0eXBlIGl0IHRoZSBuZXh0IHRpbWUuCiAKLU5vdGU6IHRoZSBmb2xsb3dpbmcgcGVybCBtb2R1bGVzIGFyZSByZXF1aXJlZAotICAgICAgTmV0OjpTTVRQOjpTU0wsIE1JTUU6OkJhc2U2NCBhbmQgQXV0aGVuOjpTQVNMCitOb3RlOiB0aGUgZm9sbG93aW5nIGNvcmUgUGVybCBtb2R1bGVzIHRoYXQgbWF5IGJlIGluc3RhbGxlZCB3aXRoIHlvdXIKK2Rpc3RyaWJ1dGlvbiBvZiBQZXJsIGFyZSByZXF1aXJlZDoKK01JTUU6OkJhc2U2NCwgTUlNRTo6UXVvdGVkUHJpbnQsIE5ldDo6RG9tYWluIGFuZCBOZXQ6OlNNVFAuCitUaGVzZSBhZGRpdGlvbmFsIFBlcmwgbW9kdWxlcyBhcmUgYWxzbyByZXF1aXJlZDoKK0F1dGhlbjo6U0FTTCBhbmQgTWFpbDo6QWRkcmVzcy4KKwogCiBTRUUgQUxTTwogLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXNob3J0bG9nLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXNob3J0bG9nLnR4dAppbmRleCBiYzgwOTA1Li5hNzJlYTdmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1zaG9ydGxvZy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtc2hvcnRsb2cudHh0CkBAIC03Niw2ICs3Niw5IEBACiBQYXRocyBtYXkgbmVlZCB0byBiZSBwcmVmaXhlZCB3aXRoIGAtLWAgdG8gc2VwYXJhdGUgdGhlbSBmcm9tCiBvcHRpb25zIG9yIHRoZSByZXZpc2lvbiByYW5nZSwgd2hlbiBjb25mdXNpb24gYXJpc2VzLgogCis6Z2l0LXNob3J0bG9nOiAxCitpbmNsdWRlOjpyZXYtbGlzdC1vcHRpb25zLnR4dFtdCisKIE1BUFBJTkcgQVVUSE9SUwogLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXNob3ctYnJhbmNoLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXNob3ctYnJhbmNoLnR4dAppbmRleCA0YTAxMzcxLi41Y2MyZmNlIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC1zaG93LWJyYW5jaC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtc2hvdy1icmFuY2gudHh0CkBAIC0xNjcsNyArMTY3LDcgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBUaGVzZSB0aHJlZSBicmFuY2hlcyBhbGwgZm9ya2VkIGZyb20gYSBjb21tb24gY29tbWl0LCBbbWFzdGVyXSwKLXdob3NlIGNvbW1pdCBtZXNzYWdlIGlzICJBZGQge2Fwb3N0cm9waGV9Z2l0IHNob3ctYnJhbmNoe2Fwb3N0cm9waGV9Ii4KK3dob3NlIGNvbW1pdCBtZXNzYWdlIGlzICJBZGQgXCdnaXQgc2hvdy1icmFuY2gnIi4KIFRoZSAiZml4ZXMiIGJyYW5jaCBhZGRzIG9uZSBjb21taXQgIkludHJvZHVjZSAicmVzZXQgdHlwZSIgZmxhZyB0bwogImdpdCByZXNldCIiLiBUaGUgIm1oZiIgYnJhbmNoIGFkZHMgbWFueSBvdGhlciBjb21taXRzLgogVGhlIGN1cnJlbnQgYnJhbmNoIGlzICJtYXN0ZXIiLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtc2hvdy1yZWYudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtc2hvdy1yZWYudHh0CmluZGV4IGQyOGU2MTUuLmFiNGQyNzEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXNob3ctcmVmLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1zaG93LXJlZi50eHQKQEAgLTM3LDggKzM3LDggQEAKIAogCVNob3cgdGhlIEhFQUQgcmVmZXJlbmNlLCBldmVuIGlmIGl0IHdvdWxkIG5vcm1hbGx5IGJlIGZpbHRlcmVkIG91dC4KIAotLS10YWdzOjoKIC0taGVhZHM6OgorLS10YWdzOjoKIAogCUxpbWl0IHRvICJyZWZzL2hlYWRzIiBhbmQgInJlZnMvdGFncyIsIHJlc3BlY3RpdmVseS4gIFRoZXNlIG9wdGlvbnMKIAlhcmUgbm90IG11dHVhbGx5IGV4Y2x1c2l2ZTsgd2hlbiBnaXZlbiBib3RoLCByZWZlcmVuY2VzIHN0b3JlZCBpbgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtc3BhcnNlLWNoZWNrb3V0LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXNwYXJzZS1jaGVja291dC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzAzNDJlNQotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXNwYXJzZS1jaGVja291dC50eHQKQEAgLTAsMCArMSwyMDcgQEAKK2dpdC1zcGFyc2UtY2hlY2tvdXQoMSkKKz09PT09PT09PT09PT09PT09PT09PT0KKworTkFNRQorLS0tLQorZ2l0LXNwYXJzZS1jaGVja291dCAtIEluaXRpYWxpemUgYW5kIG1vZGlmeSB0aGUgc3BhcnNlLWNoZWNrb3V0Citjb25maWd1cmF0aW9uLCB3aGljaCByZWR1Y2VzIHRoZSBjaGVja291dCB0byBhIHNldCBvZiBwYXRocworZ2l2ZW4gYnkgYSBsaXN0IG9mIHBhdHRlcm5zLgorCisKK1NZTk9QU0lTCistLS0tLS0tLQorW3ZlcnNlXQorJ2dpdCBzcGFyc2UtY2hlY2tvdXQgPHN1YmNvbW1hbmQ+IFtvcHRpb25zXScKKworCitERVNDUklQVElPTgorLS0tLS0tLS0tLS0KKworSW5pdGlhbGl6ZSBhbmQgbW9kaWZ5IHRoZSBzcGFyc2UtY2hlY2tvdXQgY29uZmlndXJhdGlvbiwgd2hpY2ggcmVkdWNlcwordGhlIGNoZWNrb3V0IHRvIGEgc2V0IG9mIHBhdGhzIGdpdmVuIGJ5IGEgbGlzdCBvZiBwYXR0ZXJucy4KKworVEhJUyBDT01NQU5EIElTIEVYUEVSSU1FTlRBTC4gSVRTIEJFSEFWSU9SLCBBTkQgVEhFIEJFSEFWSU9SIE9GIE9USEVSCitDT01NQU5EUyBJTiBUSEUgUFJFU0VOQ0UgT0YgU1BBUlNFLUNIRUNLT1VUUywgV0lMTCBMSUtFTFkgQ0hBTkdFIElOCitUSEUgRlVUVVJFLgorCisKK0NPTU1BTkRTCistLS0tLS0tLQorJ2xpc3QnOjoKKwlEZXNjcmliZSB0aGUgcGF0dGVybnMgaW4gdGhlIHNwYXJzZS1jaGVja291dCBmaWxlLgorCisnaW5pdCc6OgorCUVuYWJsZSB0aGUgYGNvcmUuc3BhcnNlQ2hlY2tvdXRgIHNldHRpbmcuIElmIHRoZQorCXNwYXJzZS1jaGVja291dCBmaWxlIGRvZXMgbm90IGV4aXN0LCB0aGVuIHBvcHVsYXRlIGl0IHdpdGgKKwlwYXR0ZXJucyB0aGF0IG1hdGNoIGV2ZXJ5IGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IGFuZAorCW5vIG90aGVyIGRpcmVjdG9yaWVzLCB0aGVuIHdpbGwgcmVtb3ZlIGFsbCBkaXJlY3RvcmllcyB0cmFja2VkCisJYnkgR2l0LiBBZGQgcGF0dGVybnMgdG8gdGhlIHNwYXJzZS1jaGVja291dCBmaWxlIHRvCisJcmVwb3B1bGF0ZSB0aGUgd29ya2luZyBkaXJlY3RvcnkuCisrCitUbyBhdm9pZCBpbnRlcmZlcmluZyB3aXRoIG90aGVyIHdvcmt0cmVlcywgaXQgZmlyc3QgZW5hYmxlcyB0aGUKK2BleHRlbnNpb25zLndvcmt0cmVlQ29uZmlnYCBzZXR0aW5nIGFuZCBtYWtlcyBzdXJlIHRvIHNldCB0aGUKK2Bjb3JlLnNwYXJzZUNoZWNrb3V0YCBzZXR0aW5nIGluIHRoZSB3b3JrdHJlZS1zcGVjaWZpYyBjb25maWcgZmlsZS4KKysKK1doZW4gYC0tY29uZWAgaXMgcHJvdmlkZWQsIHRoZSBgY29yZS5zcGFyc2VDaGVja291dENvbmVgIHNldHRpbmcgaXMKK2Fsc28gc2V0LCBhbGxvd2luZyBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlIHdpdGggYSBsaW1pdGVkIHNldCBvZgorcGF0dGVybnMgKHNlZSAnQ09ORSBQQVRURVJOIFNFVCcgYmVsb3cpLgorCisnc2V0Jzo6CisJV3JpdGUgYSBzZXQgb2YgcGF0dGVybnMgdG8gdGhlIHNwYXJzZS1jaGVja291dCBmaWxlLCBhcyBnaXZlbiBhcworCWEgbGlzdCBvZiBhcmd1bWVudHMgZm9sbG93aW5nIHRoZSAnc2V0JyBzdWJjb21tYW5kLiBVcGRhdGUgdGhlCisJd29ya2luZyBkaXJlY3RvcnkgdG8gbWF0Y2ggdGhlIG5ldyBwYXR0ZXJucy4gRW5hYmxlIHRoZQorCWNvcmUuc3BhcnNlQ2hlY2tvdXQgY29uZmlnIHNldHRpbmcgaWYgaXQgaXMgbm90IGFscmVhZHkgZW5hYmxlZC4KKysKK1doZW4gdGhlIGAtLXN0ZGluYCBvcHRpb24gaXMgcHJvdmlkZWQsIHRoZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tCitzdGFuZGFyZCBpbiBhcyBhIG5ld2xpbmUtZGVsaW1pdGVkIGxpc3QgaW5zdGVhZCBvZiBmcm9tIHRoZSBhcmd1bWVudHMuCisrCitXaGVuIGBjb3JlLnNwYXJzZUNoZWNrb3V0Q29uZWAgaXMgZW5hYmxlZCwgdGhlIGlucHV0IGxpc3QgaXMgY29uc2lkZXJlZCBhCitsaXN0IG9mIGRpcmVjdG9yaWVzIGluc3RlYWQgb2Ygc3BhcnNlLWNoZWNrb3V0IHBhdHRlcm5zLiBUaGUgY29tbWFuZCB3cml0ZXMKK3BhdHRlcm5zIHRvIHRoZSBzcGFyc2UtY2hlY2tvdXQgZmlsZSB0byBpbmNsdWRlIGFsbCBmaWxlcyBjb250YWluZWQgaW4gdGhvc2UKK2RpcmVjdG9yaWVzIChyZWN1cnNpdmVseSkgYXMgd2VsbCBhcyBmaWxlcyB0aGF0IGFyZSBzaWJsaW5ncyBvZiBhbmNlc3RvcgorZGlyZWN0b3JpZXMuIFRoZSBpbnB1dCBmb3JtYXQgbWF0Y2hlcyB0aGUgb3V0cHV0IG9mIGBnaXQgbHMtdHJlZSAtLW5hbWUtb25seWAuCitUaGlzIGluY2x1ZGVzIGludGVycHJldGluZyBwYXRobmFtZXMgdGhhdCBiZWdpbiB3aXRoIGEgZG91YmxlIHF1b3RlICgiKSBhcworQy1zdHlsZSBxdW90ZWQgc3RyaW5ncy4KKworJ2FkZCc6OgorCVVwZGF0ZSB0aGUgc3BhcnNlLWNoZWNrb3V0IGZpbGUgdG8gaW5jbHVkZSBhZGRpdGlvbmFsIHBhdHRlcm5zLgorCUJ5IGRlZmF1bHQsIHRoZXNlIHBhdHRlcm5zIGFyZSByZWFkIGZyb20gdGhlIGNvbW1hbmQtbGluZSBhcmd1bWVudHMsCisJYnV0IHRoZXkgY2FuIGJlIHJlYWQgZnJvbSBzdGRpbiB1c2luZyB0aGUgYC0tc3RkaW5gIG9wdGlvbi4gV2hlbgorCWBjb3JlLnNwYXJzZUNoZWNrb3V0Q29uZWAgaXMgZW5hYmxlZCwgdGhlIGdpdmVuIHBhdHRlcm5zIGFyZSBpbnRlcnByZXRlZAorCWFzIGRpcmVjdG9yeSBuYW1lcyBhcyBpbiB0aGUgJ3NldCcgc3ViY29tbWFuZC4KKworJ2Rpc2FibGUnOjoKKwlEaXNhYmxlIHRoZSBgY29yZS5zcGFyc2VDaGVja291dGAgY29uZmlnIHNldHRpbmcsIGFuZCByZXN0b3JlIHRoZQorCXdvcmtpbmcgZGlyZWN0b3J5IHRvIGluY2x1ZGUgYWxsIGZpbGVzLiBMZWF2ZXMgdGhlIHNwYXJzZS1jaGVja291dAorCWZpbGUgaW50YWN0IHNvIGEgbGF0ZXIgJ2dpdCBzcGFyc2UtY2hlY2tvdXQgaW5pdCcgY29tbWFuZCBtYXkKKwlyZXR1cm4gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IHRvIHRoZSBzYW1lIHN0YXRlLgorCitTUEFSU0UgQ0hFQ0tPVVQKKy0tLS0tLS0tLS0tLS0tLQorCisiU3BhcnNlIGNoZWNrb3V0IiBhbGxvd3MgcG9wdWxhdGluZyB0aGUgd29ya2luZyBkaXJlY3Rvcnkgc3BhcnNlbHkuCitJdCB1c2VzIHRoZSBza2lwLXdvcmt0cmVlIGJpdCAoc2VlIGxpbmtnaXQ6Z2l0LXVwZGF0ZS1pbmRleFsxXSkgdG8gdGVsbAorR2l0IHdoZXRoZXIgYSBmaWxlIGluIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBpcyB3b3J0aCBsb29raW5nIGF0LiBJZgordGhlIHNraXAtd29ya3RyZWUgYml0IGlzIHNldCwgdGhlbiB0aGUgZmlsZSBpcyBpZ25vcmVkIGluIHRoZSB3b3JraW5nCitkaXJlY3RvcnkuIEdpdCB3aWxsIG5vdCBwb3B1bGF0ZSB0aGUgY29udGVudHMgb2YgdGhvc2UgZmlsZXMsIHdoaWNoCittYWtlcyBhIHNwYXJzZSBjaGVja291dCBoZWxwZnVsIHdoZW4gd29ya2luZyBpbiBhIHJlcG9zaXRvcnkgd2l0aCBtYW55CitmaWxlcywgYnV0IG9ubHkgYSBmZXcgYXJlIGltcG9ydGFudCB0byB0aGUgY3VycmVudCB1c2VyLgorCitUaGUgYCRHSVRfRElSL2luZm8vc3BhcnNlLWNoZWNrb3V0YCBmaWxlIGlzIHVzZWQgdG8gZGVmaW5lIHRoZQorc2tpcC13b3JrdHJlZSByZWZlcmVuY2UgYml0bWFwLiBXaGVuIEdpdCB1cGRhdGVzIHRoZSB3b3JraW5nCitkaXJlY3RvcnksIGl0IHVwZGF0ZXMgdGhlIHNraXAtd29ya3RyZWUgYml0cyBpbiB0aGUgaW5kZXggYmFzZWQKK29uIHRoaXMgZmlsZS4gVGhlIGZpbGVzIG1hdGNoaW5nIHRoZSBwYXR0ZXJucyBpbiB0aGUgZmlsZSB3aWxsCithcHBlYXIgaW4gdGhlIHdvcmtpbmcgZGlyZWN0b3J5LCBhbmQgdGhlIHJlc3Qgd2lsbCBub3QuCisKK1RvIGVuYWJsZSB0aGUgc3BhcnNlLWNoZWNrb3V0IGZlYXR1cmUsIHJ1biBgZ2l0IHNwYXJzZS1jaGVja291dCBpbml0YCB0bworaW5pdGlhbGl6ZSBhIHNpbXBsZSBzcGFyc2UtY2hlY2tvdXQgZmlsZSBhbmQgZW5hYmxlIHRoZSBgY29yZS5zcGFyc2VDaGVja291dGAKK2NvbmZpZyBzZXR0aW5nLiBUaGVuLCBydW4gYGdpdCBzcGFyc2UtY2hlY2tvdXQgc2V0YCB0byBtb2RpZnkgdGhlIHBhdHRlcm5zIGluCit0aGUgc3BhcnNlLWNoZWNrb3V0IGZpbGUuCisKK1RvIHJlcG9wdWxhdGUgdGhlIHdvcmtpbmcgZGlyZWN0b3J5IHdpdGggYWxsIGZpbGVzLCB1c2UgdGhlCitgZ2l0IHNwYXJzZS1jaGVja291dCBkaXNhYmxlYCBjb21tYW5kLgorCisKK0ZVTEwgUEFUVEVSTiBTRVQKKy0tLS0tLS0tLS0tLS0tLS0KKworQnkgZGVmYXVsdCwgdGhlIHNwYXJzZS1jaGVja291dCBmaWxlIHVzZXMgdGhlIHNhbWUgc3ludGF4IGFzIGAuZ2l0aWdub3JlYAorZmlsZXMuCisKK1doaWxlIGAkR0lUX0RJUi9pbmZvL3NwYXJzZS1jaGVja291dGAgaXMgdXN1YWxseSB1c2VkIHRvIHNwZWNpZnkgd2hhdAorZmlsZXMgYXJlIGluY2x1ZGVkLCB5b3UgY2FuIGFsc28gc3BlY2lmeSB3aGF0IGZpbGVzIGFyZSBfbm90XyBpbmNsdWRlZCwKK3VzaW5nIG5lZ2F0aXZlIHBhdHRlcm5zLiBGb3IgZXhhbXBsZSwgdG8gcmVtb3ZlIHRoZSBmaWxlIGB1bndhbnRlZGA6CisKKy0tLS0tLS0tLS0tLS0tLS0KKy8qCishdW53YW50ZWQKKy0tLS0tLS0tLS0tLS0tLS0KKworCitDT05FIFBBVFRFUk4gU0VUCistLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBmdWxsIHBhdHRlcm4gc2V0IGFsbG93cyBmb3IgYXJiaXRyYXJ5IHBhdHRlcm4gbWF0Y2hlcyBhbmQgY29tcGxpY2F0ZWQKK2luY2x1c2lvbi9leGNsdXNpb24gcnVsZXMuIFRoZXNlIGNhbiByZXN1bHQgaW4gTyhOKk0pIHBhdHRlcm4gbWF0Y2hlcyB3aGVuCit1cGRhdGluZyB0aGUgaW5kZXgsIHdoZXJlIE4gaXMgdGhlIG51bWJlciBvZiBwYXR0ZXJucyBhbmQgTSBpcyB0aGUgbnVtYmVyCitvZiBwYXRocyBpbiB0aGUgaW5kZXguIFRvIGNvbWJhdCB0aGlzIHBlcmZvcm1hbmNlIGlzc3VlLCBhIG1vcmUgcmVzdHJpY3RlZAorcGF0dGVybiBzZXQgaXMgYWxsb3dlZCB3aGVuIGBjb3JlLnNwYXJzZUNoZWNrb3V0Q29uZWAgaXMgZW5hYmxlZC4KKworVGhlIGFjY2VwdGVkIHBhdHRlcm5zIGluIHRoZSBjb25lIHBhdHRlcm4gc2V0IGFyZToKKworMS4gKlJlY3Vyc2l2ZToqIEFsbCBwYXRocyBpbnNpZGUgYSBkaXJlY3RvcnkgYXJlIGluY2x1ZGVkLgorCisyLiAqUGFyZW50OiogQWxsIGZpbGVzIGltbWVkaWF0ZWx5IGluc2lkZSBhIGRpcmVjdG9yeSBhcmUgaW5jbHVkZWQuCisKK0luIGFkZGl0aW9uIHRvIHRoZSBhYm92ZSB0d28gcGF0dGVybnMsIHdlIGFsc28gZXhwZWN0IHRoYXQgYWxsIGZpbGVzIGluIHRoZQorcm9vdCBkaXJlY3RvcnkgYXJlIGluY2x1ZGVkLiBJZiBhIHJlY3Vyc2l2ZSBwYXR0ZXJuIGlzIGFkZGVkLCB0aGVuIGFsbAorbGVhZGluZyBkaXJlY3RvcmllcyBhcmUgYWRkZWQgYXMgcGFyZW50IHBhdHRlcm5zLgorCitCeSBkZWZhdWx0LCB3aGVuIHJ1bm5pbmcgYGdpdCBzcGFyc2UtY2hlY2tvdXQgaW5pdGAsIHRoZSByb290IGRpcmVjdG9yeSBpcworYWRkZWQgYXMgYSBwYXJlbnQgcGF0dGVybi4gQXQgdGhpcyBwb2ludCwgdGhlIHNwYXJzZS1jaGVja291dCBmaWxlIGNvbnRhaW5zCit0aGUgZm9sbG93aW5nIHBhdHRlcm5zOgorCistLS0tLS0tLS0tLS0tLS0tCisvKgorIS8qLworLS0tLS0tLS0tLS0tLS0tLQorCitUaGlzIHNheXMgImluY2x1ZGUgZXZlcnl0aGluZyBpbiByb290LCBidXQgbm90aGluZyB0d28gbGV2ZWxzIGJlbG93IHJvb3QuIgorCitXaGVuIGluIGNvbmUgbW9kZSwgdGhlIGBnaXQgc3BhcnNlLWNoZWNrb3V0IHNldGAgc3ViY29tbWFuZCB0YWtlcyBhIGxpc3Qgb2YKK2RpcmVjdG9yaWVzIGluc3RlYWQgb2YgYSBsaXN0IG9mIHNwYXJzZS1jaGVja291dCBwYXR0ZXJucy4gSW4gdGhpcyBtb2RlLAordGhlIGNvbW1hbmQgYGdpdCBzcGFyc2UtY2hlY2tvdXQgc2V0IEEvQi9DYCBzZXRzIHRoZSBkaXJlY3RvcnkgYEEvQi9DYCBhcworYSByZWN1cnNpdmUgcGF0dGVybiwgdGhlIGRpcmVjdG9yaWVzIGBBYCBhbmQgYEEvQmAgYXJlIGFkZGVkIGFzIHBhcmVudAorcGF0dGVybnMuIFRoZSByZXN1bHRpbmcgc3BhcnNlLWNoZWNrb3V0IGZpbGUgaXMgbm93CisKKy0tLS0tLS0tLS0tLS0tLS0KKy8qCishLyovCisvQS8KKyEvQS8qLworL0EvQi8KKyEvQS9CLyovCisvQS9CL0MvCistLS0tLS0tLS0tLS0tLS0tCisKK0hlcmUsIG9yZGVyIG1hdHRlcnMsIHNvIHRoZSBuZWdhdGl2ZSBwYXR0ZXJucyBhcmUgb3ZlcnJpZGRlbiBieSB0aGUgcG9zaXRpdmUKK3BhdHRlcm5zIHRoYXQgYXBwZWFyIGxvd2VyIGluIHRoZSBmaWxlLgorCitJZiBgY29yZS5zcGFyc2VDaGVja291dENvbmU9dHJ1ZWAsIHRoZW4gR2l0IHdpbGwgcGFyc2UgdGhlIHNwYXJzZS1jaGVja291dCBmaWxlCitleHBlY3RpbmcgcGF0dGVybnMgb2YgdGhlc2UgdHlwZXMuIEdpdCB3aWxsIHdhcm4gaWYgdGhlIHBhdHRlcm5zIGRvIG5vdCBtYXRjaC4KK0lmIHRoZSBwYXR0ZXJucyBkbyBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LCB0aGVuIEdpdCB3aWxsIHVzZSBmYXN0ZXIgaGFzaC0KK2Jhc2VkIGFsZ29yaXRobXMgdG8gY29tcHV0ZSBpbmNsdXNpb24gaW4gdGhlIHNwYXJzZS1jaGVja291dC4KKworSW4gdGhlIGNvbmUgbW9kZSBjYXNlLCB0aGUgYGdpdCBzcGFyc2UtY2hlY2tvdXQgbGlzdGAgc3ViY29tbWFuZCB3aWxsIGxpc3QgdGhlCitkaXJlY3RvcmllcyB0aGF0IGRlZmluZSB0aGUgcmVjdXJzaXZlIHBhdHRlcm5zLiBGb3IgdGhlIGV4YW1wbGUgc3BhcnNlLWNoZWNrb3V0CitmaWxlIGFib3ZlLCB0aGUgb3V0cHV0IGlzIGFzIGZvbGxvd3M6CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiskIGdpdCBzcGFyc2UtY2hlY2tvdXQgbGlzdAorQS9CL0MKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0lmIGBjb3JlLmlnbm9yZUNhc2U9dHJ1ZWAsIHRoZW4gdGhlIHBhdHRlcm4tbWF0Y2hpbmcgYWxnb3JpdGhtIHdpbGwgdXNlIGEKK2Nhc2UtaW5zZW5zaXRpdmUgY2hlY2suIFRoaXMgY29ycmVjdHMgZm9yIGNhc2UgbWlzbWF0Y2hlZCBmaWxlbmFtZXMgaW4gdGhlCisnZ2l0IHNwYXJzZS1jaGVja291dCBzZXQnIGNvbW1hbmQgdG8gcmVmbGVjdCB0aGUgZXhwZWN0ZWQgY29uZSBpbiB0aGUgd29ya2luZworZGlyZWN0b3J5LgorCisKK1NVQk1PRFVMRVMKKy0tLS0tLS0tLS0KKworSWYgeW91ciByZXBvc2l0b3J5IGNvbnRhaW5zIG9uZSBvciBtb3JlIHN1Ym1vZHVsZXMsIHRoZW4gdGhvc2Ugc3VibW9kdWxlcyB3aWxsCithcHBlYXIgYmFzZWQgb24gd2hpY2ggeW91IGluaXRpYWxpemVkIHdpdGggdGhlIGBnaXQgc3VibW9kdWxlYCBjb21tYW5kLiBJZgoreW91ciBzcGFyc2UtY2hlY2tvdXQgcGF0dGVybnMgZXhjbHVkZSBhbiBpbml0aWFsaXplZCBzdWJtb2R1bGUsIHRoZW4gdGhhdAorc3VibW9kdWxlIHdpbGwgc3RpbGwgYXBwZWFyIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkuCisKKworU0VFIEFMU08KKy0tLS0tLS0tCisKK2xpbmtnaXQ6Z2l0LXJlYWQtdHJlZVsxXQorbGlua2dpdDpnaXRpZ25vcmVbNV0KKworR0lUCistLS0KK1BhcnQgb2YgdGhlIGxpbmtnaXQ6Z2l0WzFdIHN1aXRlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC1zdGFzaC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1zdGFzaC50eHQKaW5kZXggN2VmOGM0Ny4uMzFmMWJlYiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtc3Rhc2gudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXN0YXNoLnR4dApAQCAtOSwxMiArOSwxMyBAQAogLS0tLS0tLS0KIFt2ZXJzZV0KICdnaXQgc3Rhc2gnIGxpc3QgWzxvcHRpb25zPl0KLSdnaXQgc3Rhc2gnIHNob3cgWzxzdGFzaD5dCisnZ2l0IHN0YXNoJyBzaG93IFs8b3B0aW9ucz5dIFs8c3Rhc2g+XQogJ2dpdCBzdGFzaCcgZHJvcCBbLXF8LS1xdWlldF0gWzxzdGFzaD5dCiAnZ2l0IHN0YXNoJyAoIHBvcCB8IGFwcGx5ICkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0KICdnaXQgc3Rhc2gnIGJyYW5jaCA8YnJhbmNobmFtZT4gWzxzdGFzaD5dCiAnZ2l0IHN0YXNoJyBbcHVzaCBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF0KIAkgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFstbXwtLW1lc3NhZ2UgPG1lc3NhZ2U+XQorCSAgICAgWy0tcGF0aHNwZWMtZnJvbS1maWxlPTxmaWxlPiBbLS1wYXRoc3BlYy1maWxlLW51bF1dCiAJICAgICBbLS1dIFs8cGF0aHNwZWM+Li4uXV0KICdnaXQgc3Rhc2gnIGNsZWFyCiAnZ2l0IHN0YXNoJyBjcmVhdGUgWzxtZXNzYWdlPl0KQEAgLTQzLDEwICs0NCwxMCBAQAogaXMgYWxzbyBwb3NzaWJsZSkuIFN0YXNoZXMgbWF5IGFsc28gYmUgcmVmZXJlbmNlZCBieSBzcGVjaWZ5aW5nIGp1c3QgdGhlCiBzdGFzaCBpbmRleCAoZS5nLiB0aGUgaW50ZWdlciBgbmAgaXMgZXF1aXZhbGVudCB0byBgc3Rhc2hAe259YCkuCiAKLU9QVElPTlMKLS0tLS0tLS0KK0NPTU1BTkRTCistLS0tLS0tLQogCi1wdXNoIFstcHwtLXBhdGNoXSBbLWt8LS1bbm8tXWtlZXAtaW5kZXhdIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFstcXwtLXF1aWV0XSBbLW18LS1tZXNzYWdlIDxtZXNzYWdlPl0gWy0tXSBbPHBhdGhzcGVjPi4uLl06OgorcHVzaCBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbLXF8LS1xdWlldF0gWy1tfC0tbWVzc2FnZSA8bWVzc2FnZT5dIFstLXBhdGhzcGVjLWZyb20tZmlsZT08ZmlsZT4gWy0tcGF0aHNwZWMtZmlsZS1udWxdXSBbLS1dIFs8cGF0aHNwZWM+Li4uXTo6CiAKIAlTYXZlIHlvdXIgbG9jYWwgbW9kaWZpY2F0aW9ucyB0byBhIG5ldyAnc3Rhc2ggZW50cnknIGFuZCByb2xsIHRoZW0KIAliYWNrIHRvIEhFQUQgKGluIHRoZSB3b3JraW5nIHRyZWUgYW5kIGluIHRoZSBpbmRleCkuCkBAIC01NiwzOSArNTcsMTUgQEAKIEZvciBxdWlja2x5IG1ha2luZyBhIHNuYXBzaG90LCB5b3UgY2FuIG9taXQgInB1c2giLiAgSW4gdGhpcyBtb2RlLAogbm9uLW9wdGlvbiBhcmd1bWVudHMgYXJlIG5vdCBhbGxvd2VkIHRvIHByZXZlbnQgYSBtaXNzcGVsbGVkCiBzdWJjb21tYW5kIGZyb20gbWFraW5nIGFuIHVud2FudGVkIHN0YXNoIGVudHJ5LiAgVGhlIHR3byBleGNlcHRpb25zIHRvIHRoaXMKLWFyZSBgc3Rhc2ggLXBgIHdoaWNoIGFjdHMgYXMgYWxpYXMgZm9yIGBzdGFzaCBwdXNoIC1wYCBhbmQgcGF0aHNwZWNzLAorYXJlIGBzdGFzaCAtcGAgd2hpY2ggYWN0cyBhcyBhbGlhcyBmb3IgYHN0YXNoIHB1c2ggLXBgIGFuZCBwYXRoc3BlYyBlbGVtZW50cywKIHdoaWNoIGFyZSBhbGxvd2VkIGFmdGVyIGEgZG91YmxlIGh5cGhlbiBgLS1gIGZvciBkaXNhbWJpZ3VhdGlvbi4KLSsKLVdoZW4gcGF0aHNwZWMgaXMgZ2l2ZW4gdG8gJ2dpdCBzdGFzaCBwdXNoJywgdGhlIG5ldyBzdGFzaCBlbnRyeSByZWNvcmRzIHRoZQotbW9kaWZpZWQgc3RhdGVzIG9ubHkgZm9yIHRoZSBmaWxlcyB0aGF0IG1hdGNoIHRoZSBwYXRoc3BlYy4gIFRoZSBpbmRleAotZW50cmllcyBhbmQgd29ya2luZyB0cmVlIGZpbGVzIGFyZSB0aGVuIHJvbGxlZCBiYWNrIHRvIHRoZSBzdGF0ZSBpbgotSEVBRCBvbmx5IGZvciB0aGVzZSBmaWxlcywgdG9vLCBsZWF2aW5nIGZpbGVzIHRoYXQgZG8gbm90IG1hdGNoIHRoZQotcGF0aHNwZWMgaW50YWN0LgotKwotSWYgdGhlIGAtLWtlZXAtaW5kZXhgIG9wdGlvbiBpcyB1c2VkLCBhbGwgY2hhbmdlcyBhbHJlYWR5IGFkZGVkIHRvIHRoZQotaW5kZXggYXJlIGxlZnQgaW50YWN0LgotKwotSWYgdGhlIGAtLWluY2x1ZGUtdW50cmFja2VkYCBvcHRpb24gaXMgdXNlZCwgYWxsIHVudHJhY2tlZCBmaWxlcyBhcmUgYWxzbwotc3Rhc2hlZCBhbmQgdGhlbiBjbGVhbmVkIHVwIHdpdGggYGdpdCBjbGVhbmAsIGxlYXZpbmcgdGhlIHdvcmtpbmcgZGlyZWN0b3J5Ci1pbiBhIHZlcnkgY2xlYW4gc3RhdGUuIElmIHRoZSBgLS1hbGxgIG9wdGlvbiBpcyB1c2VkIGluc3RlYWQgdGhlbiB0aGUKLWlnbm9yZWQgZmlsZXMgYXJlIHN0YXNoZWQgYW5kIGNsZWFuZWQgaW4gYWRkaXRpb24gdG8gdGhlIHVudHJhY2tlZCBmaWxlcy4KLSsKLVdpdGggYC0tcGF0Y2hgLCB5b3UgY2FuIGludGVyYWN0aXZlbHkgc2VsZWN0IGh1bmtzIGZyb20gdGhlIGRpZmYKLWJldHdlZW4gSEVBRCBhbmQgdGhlIHdvcmtpbmcgdHJlZSB0byBiZSBzdGFzaGVkLiAgVGhlIHN0YXNoIGVudHJ5IGlzCi1jb25zdHJ1Y3RlZCBzdWNoIHRoYXQgaXRzIGluZGV4IHN0YXRlIGlzIHRoZSBzYW1lIGFzIHRoZSBpbmRleCBzdGF0ZQotb2YgeW91ciByZXBvc2l0b3J5LCBhbmQgaXRzIHdvcmt0cmVlIGNvbnRhaW5zIG9ubHkgdGhlIGNoYW5nZXMgeW91Ci1zZWxlY3RlZCBpbnRlcmFjdGl2ZWx5LiAgVGhlIHNlbGVjdGVkIGNoYW5nZXMgYXJlIHRoZW4gcm9sbGVkIGJhY2sKLWZyb20geW91ciB3b3JrdHJlZS4gU2VlIHRoZSBgYEludGVyYWN0aXZlIE1vZGUnJyBzZWN0aW9uIG9mCi1saW5rZ2l0OmdpdC1hZGRbMV0gdG8gbGVhcm4gaG93IHRvIG9wZXJhdGUgdGhlIGAtLXBhdGNoYCBtb2RlLgotKwotVGhlIGAtLXBhdGNoYCBvcHRpb24gaW1wbGllcyBgLS1rZWVwLWluZGV4YC4gIFlvdSBjYW4gdXNlCi1gLS1uby1rZWVwLWluZGV4YCB0byBvdmVycmlkZSB0aGlzLgogCiBzYXZlIFstcHwtLXBhdGNoXSBbLWt8LS1bbm8tXWtlZXAtaW5kZXhdIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFstcXwtLXF1aWV0XSBbPG1lc3NhZ2U+XTo6CiAKIAlUaGlzIG9wdGlvbiBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAnZ2l0IHN0YXNoIHB1c2gnLiAgSXQKLQlkaWZmZXJzIGZyb20gInN0YXNoIHB1c2giIGluIHRoYXQgaXQgY2Fubm90IHRha2UgcGF0aHNwZWNzLAotCWFuZCBhbnkgbm9uLW9wdGlvbiBhcmd1bWVudHMgZm9ybSB0aGUgbWVzc2FnZS4KKwlkaWZmZXJzIGZyb20gInN0YXNoIHB1c2giIGluIHRoYXQgaXQgY2Fubm90IHRha2UgcGF0aHNwZWMuCisJSW5zdGVhZCwgYWxsIG5vbi1vcHRpb24gYXJndW1lbnRzIGFyZSBjb25jYXRlbmF0ZWQgdG8gZm9ybSB0aGUgc3Rhc2gKKwltZXNzYWdlLgogCiBsaXN0IFs8b3B0aW9ucz5dOjoKIApAQCAtMTA2LDExICs4MywxMSBAQAogVGhlIGNvbW1hbmQgdGFrZXMgb3B0aW9ucyBhcHBsaWNhYmxlIHRvIHRoZSAnZ2l0IGxvZycKIGNvbW1hbmQgdG8gY29udHJvbCB3aGF0IGlzIHNob3duIGFuZCBob3cuIFNlZSBsaW5rZ2l0OmdpdC1sb2dbMV0uCiAKLXNob3cgWzxzdGFzaD5dOjoKK3Nob3cgWzxvcHRpb25zPl0gWzxzdGFzaD5dOjoKIAogCVNob3cgdGhlIGNoYW5nZXMgcmVjb3JkZWQgaW4gdGhlIHN0YXNoIGVudHJ5IGFzIGEgZGlmZiBiZXR3ZWVuIHRoZQogCXN0YXNoZWQgY29udGVudHMgYW5kIHRoZSBjb21taXQgYmFjayB3aGVuIHRoZSBzdGFzaCBlbnRyeSB3YXMgZmlyc3QKLQljcmVhdGVkLiBXaGVuIG5vIGA8c3Rhc2g+YCBpcyBnaXZlbiwgaXQgc2hvd3MgdGhlIGxhdGVzdCBvbmUuCisJY3JlYXRlZC4KIAlCeSBkZWZhdWx0LCB0aGUgY29tbWFuZCBzaG93cyB0aGUgZGlmZnN0YXQsIGJ1dCBpdCB3aWxsIGFjY2VwdCBhbnkKIAlmb3JtYXQga25vd24gdG8gJ2dpdCBkaWZmJyAoZS5nLiwgYGdpdCBzdGFzaCBzaG93IC1wIHN0YXNoQHsxfWAKIAl0byB2aWV3IHRoZSBzZWNvbmQgbW9zdCByZWNlbnQgZW50cnkgaW4gcGF0Y2ggZm9ybSkuCkBAIC0xMjcsMTQgKzEwNCw2IEBACiBBcHBseWluZyB0aGUgc3RhdGUgY2FuIGZhaWwgd2l0aCBjb25mbGljdHM7IGluIHRoaXMgY2FzZSwgaXQgaXMgbm90CiByZW1vdmVkIGZyb20gdGhlIHN0YXNoIGxpc3QuIFlvdSBuZWVkIHRvIHJlc29sdmUgdGhlIGNvbmZsaWN0cyBieSBoYW5kCiBhbmQgY2FsbCBgZ2l0IHN0YXNoIGRyb3BgIG1hbnVhbGx5IGFmdGVyd2FyZHMuCi0rCi1JZiB0aGUgYC0taW5kZXhgIG9wdGlvbiBpcyB1c2VkLCB0aGVuIHRyaWVzIHRvIHJlaW5zdGF0ZSBub3Qgb25seSB0aGUgd29ya2luZwotdHJlZSdzIGNoYW5nZXMsIGJ1dCBhbHNvIHRoZSBpbmRleCdzIG9uZXMuIEhvd2V2ZXIsIHRoaXMgY2FuIGZhaWwsIHdoZW4geW91Ci1oYXZlIGNvbmZsaWN0cyAod2hpY2ggYXJlIHN0b3JlZCBpbiB0aGUgaW5kZXgsIHdoZXJlIHlvdSB0aGVyZWZvcmUgY2FuIG5vCi1sb25nZXIgYXBwbHkgdGhlIGNoYW5nZXMgYXMgdGhleSB3ZXJlIG9yaWdpbmFsbHkpLgotKwotV2hlbiBubyBgPHN0YXNoPmAgaXMgZ2l2ZW4sIGBzdGFzaEB7MH1gIGlzIGFzc3VtZWQsIG90aGVyd2lzZSBgPHN0YXNoPmAgbXVzdAotYmUgYSByZWZlcmVuY2Ugb2YgdGhlIGZvcm0gYHN0YXNoQHs8cmV2aXNpb24+fWAuCiAKIGFwcGx5IFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dOjoKIApAQCAtMTQ4LDggKzExNyw3IEBACiAJdGhlIGNvbW1pdCBhdCB3aGljaCB0aGUgYDxzdGFzaD5gIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQsIGFwcGxpZXMgdGhlCiAJY2hhbmdlcyByZWNvcmRlZCBpbiBgPHN0YXNoPmAgdG8gdGhlIG5ldyB3b3JraW5nIHRyZWUgYW5kIGluZGV4LgogCUlmIHRoYXQgc3VjY2VlZHMsIGFuZCBgPHN0YXNoPmAgaXMgYSByZWZlcmVuY2Ugb2YgdGhlIGZvcm0KLQlgc3Rhc2hAezxyZXZpc2lvbj59YCwgaXQgdGhlbiBkcm9wcyB0aGUgYDxzdGFzaD5gLiBXaGVuIG5vIGA8c3Rhc2g+YAotCWlzIGdpdmVuLCBhcHBsaWVzIHRoZSBsYXRlc3Qgb25lLgorCWBzdGFzaEB7PHJldmlzaW9uPn1gLCBpdCB0aGVuIGRyb3BzIHRoZSBgPHN0YXNoPmAuCiArCiBUaGlzIGlzIHVzZWZ1bCBpZiB0aGUgYnJhbmNoIG9uIHdoaWNoIHlvdSByYW4gYGdpdCBzdGFzaCBwdXNoYCBoYXMKIGNoYW5nZWQgZW5vdWdoIHRoYXQgYGdpdCBzdGFzaCBhcHBseWAgZmFpbHMgZHVlIHRvIGNvbmZsaWN0cy4gU2luY2UKQEAgLTE2NSw5ICsxMzMsNiBAQAogZHJvcCBbLXF8LS1xdWlldF0gWzxzdGFzaD5dOjoKIAogCVJlbW92ZSBhIHNpbmdsZSBzdGFzaCBlbnRyeSBmcm9tIHRoZSBsaXN0IG9mIHN0YXNoIGVudHJpZXMuCi0JV2hlbiBubyBgPHN0YXNoPmAgaXMgZ2l2ZW4sIGl0IHJlbW92ZXMgdGhlIGxhdGVzdCBvbmUuCi0JaS5lLiBgc3Rhc2hAezB9YCwgb3RoZXJ3aXNlIGA8c3Rhc2g+YCBtdXN0IGJlIGEgdmFsaWQgc3Rhc2gKLQlsb2cgcmVmZXJlbmNlIG9mIHRoZSBmb3JtIGBzdGFzaEB7PHJldmlzaW9uPn1gLgogCiBjcmVhdGU6OgogCkBAIC0xODQsNiArMTQ5LDk4IEBACiAJcmVmbG9nLiAgVGhpcyBpcyBpbnRlbmRlZCB0byBiZSB1c2VmdWwgZm9yIHNjcmlwdHMuICBJdCBpcwogCXByb2JhYmx5IG5vdCB0aGUgY29tbWFuZCB5b3Ugd2FudCB0byB1c2U7IHNlZSAicHVzaCIgYWJvdmUuCiAKK09QVElPTlMKKy0tLS0tLS0KKy1hOjoKKy0tYWxsOjoKKwlUaGlzIG9wdGlvbiBpcyBvbmx5IHZhbGlkIGZvciBgcHVzaGAgYW5kIGBzYXZlYCBjb21tYW5kcy4KKysKK0FsbCBpZ25vcmVkIGFuZCB1bnRyYWNrZWQgZmlsZXMgYXJlIGFsc28gc3Rhc2hlZCBhbmQgdGhlbiBjbGVhbmVkCit1cCB3aXRoIGBnaXQgY2xlYW5gLgorCistdTo6CistLWluY2x1ZGUtdW50cmFja2VkOjoKKwlUaGlzIG9wdGlvbiBpcyBvbmx5IHZhbGlkIGZvciBgcHVzaGAgYW5kIGBzYXZlYCBjb21tYW5kcy4KKysKK0FsbCB1bnRyYWNrZWQgZmlsZXMgYXJlIGFsc28gc3Rhc2hlZCBhbmQgdGhlbiBjbGVhbmVkIHVwIHdpdGgKK2BnaXQgY2xlYW5gLgorCistLWluZGV4OjoKKwlUaGlzIG9wdGlvbiBpcyBvbmx5IHZhbGlkIGZvciBgcG9wYCBhbmQgYGFwcGx5YCBjb21tYW5kcy4KKysKK1RyaWVzIHRvIHJlaW5zdGF0ZSBub3Qgb25seSB0aGUgd29ya2luZyB0cmVlJ3MgY2hhbmdlcywgYnV0IGFsc28KK3RoZSBpbmRleCdzIG9uZXMuIEhvd2V2ZXIsIHRoaXMgY2FuIGZhaWwsIHdoZW4geW91IGhhdmUgY29uZmxpY3RzCisod2hpY2ggYXJlIHN0b3JlZCBpbiB0aGUgaW5kZXgsIHdoZXJlIHlvdSB0aGVyZWZvcmUgY2FuIG5vIGxvbmdlcgorYXBwbHkgdGhlIGNoYW5nZXMgYXMgdGhleSB3ZXJlIG9yaWdpbmFsbHkpLgorCistazo6CistLWtlZXAtaW5kZXg6OgorLS1uby1rZWVwLWluZGV4OjoKKwlUaGlzIG9wdGlvbiBpcyBvbmx5IHZhbGlkIGZvciBgcHVzaGAgYW5kIGBzYXZlYCBjb21tYW5kcy4KKysKK0FsbCBjaGFuZ2VzIGFscmVhZHkgYWRkZWQgdG8gdGhlIGluZGV4IGFyZSBsZWZ0IGludGFjdC4KKworLXA6OgorLS1wYXRjaDo6CisJVGhpcyBvcHRpb24gaXMgb25seSB2YWxpZCBmb3IgYHB1c2hgIGFuZCBgc2F2ZWAgY29tbWFuZHMuCisrCitJbnRlcmFjdGl2ZWx5IHNlbGVjdCBodW5rcyBmcm9tIHRoZSBkaWZmIGJldHdlZW4gSEVBRCBhbmQgdGhlCit3b3JraW5nIHRyZWUgdG8gYmUgc3Rhc2hlZC4gIFRoZSBzdGFzaCBlbnRyeSBpcyBjb25zdHJ1Y3RlZCBzdWNoCit0aGF0IGl0cyBpbmRleCBzdGF0ZSBpcyB0aGUgc2FtZSBhcyB0aGUgaW5kZXggc3RhdGUgb2YgeW91cgorcmVwb3NpdG9yeSwgYW5kIGl0cyB3b3JrdHJlZSBjb250YWlucyBvbmx5IHRoZSBjaGFuZ2VzIHlvdSBzZWxlY3RlZAoraW50ZXJhY3RpdmVseS4gIFRoZSBzZWxlY3RlZCBjaGFuZ2VzIGFyZSB0aGVuIHJvbGxlZCBiYWNrIGZyb20geW91cgord29ya3RyZWUuIFNlZSB0aGUgYGBJbnRlcmFjdGl2ZSBNb2RlJycgc2VjdGlvbiBvZiBsaW5rZ2l0OmdpdC1hZGRbMV0KK3RvIGxlYXJuIGhvdyB0byBvcGVyYXRlIHRoZSBgLS1wYXRjaGAgbW9kZS4KKysKK1RoZSBgLS1wYXRjaGAgb3B0aW9uIGltcGxpZXMgYC0ta2VlcC1pbmRleGAuICBZb3UgY2FuIHVzZQorYC0tbm8ta2VlcC1pbmRleGAgdG8gb3ZlcnJpZGUgdGhpcy4KKworLS1wYXRoc3BlYy1mcm9tLWZpbGU9PGZpbGU+OjoKKwlUaGlzIG9wdGlvbiBpcyBvbmx5IHZhbGlkIGZvciBgcHVzaGAgY29tbWFuZC4KKysKK1BhdGhzcGVjIGlzIHBhc3NlZCBpbiBgPGZpbGU+YCBpbnN0ZWFkIG9mIGNvbW1hbmRsaW5lIGFyZ3MuIElmCitgPGZpbGU+YCBpcyBleGFjdGx5IGAtYCB0aGVuIHN0YW5kYXJkIGlucHV0IGlzIHVzZWQuIFBhdGhzcGVjCitlbGVtZW50cyBhcmUgc2VwYXJhdGVkIGJ5IExGIG9yIENSL0xGLiBQYXRoc3BlYyBlbGVtZW50cyBjYW4gYmUKK3F1b3RlZCBhcyBleHBsYWluZWQgZm9yIHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBjb3JlLnF1b3RlUGF0aGAKKyhzZWUgbGlua2dpdDpnaXQtY29uZmlnWzFdKS4gU2VlIGFsc28gYC0tcGF0aHNwZWMtZmlsZS1udWxgIGFuZAorZ2xvYmFsIGAtLWxpdGVyYWwtcGF0aHNwZWNzYC4KKworLS1wYXRoc3BlYy1maWxlLW51bDo6CisJVGhpcyBvcHRpb24gaXMgb25seSB2YWxpZCBmb3IgYHB1c2hgIGNvbW1hbmQuCisrCitPbmx5IG1lYW5pbmdmdWwgd2l0aCBgLS1wYXRoc3BlYy1mcm9tLWZpbGVgLiBQYXRoc3BlYyBlbGVtZW50cyBhcmUKK3NlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIgYW5kIGFsbCBvdGhlciBjaGFyYWN0ZXJzIGFyZSB0YWtlbgorbGl0ZXJhbGx5IChpbmNsdWRpbmcgbmV3bGluZXMgYW5kIHF1b3RlcykuCisKKy1xOjoKKy0tcXVpZXQ6OgorCVRoaXMgb3B0aW9uIGlzIG9ubHkgdmFsaWQgZm9yIGBhcHBseWAsIGBkcm9wYCwgYHBvcGAsIGBwdXNoYCwKKwlgc2F2ZWAsIGBzdG9yZWAgY29tbWFuZHMuCisrCitRdWlldCwgc3VwcHJlc3MgZmVlZGJhY2sgbWVzc2FnZXMuCisKK1wtLTo6CisJVGhpcyBvcHRpb24gaXMgb25seSB2YWxpZCBmb3IgYHB1c2hgIGNvbW1hbmQuCisrCitTZXBhcmF0ZXMgcGF0aHNwZWMgZnJvbSBvcHRpb25zIGZvciBkaXNhbWJpZ3VhdGlvbiBwdXJwb3Nlcy4KKworPHBhdGhzcGVjPi4uLjo6CisJVGhpcyBvcHRpb24gaXMgb25seSB2YWxpZCBmb3IgYHB1c2hgIGNvbW1hbmQuCisrCitUaGUgbmV3IHN0YXNoIGVudHJ5IHJlY29yZHMgdGhlIG1vZGlmaWVkIHN0YXRlcyBvbmx5IGZvciB0aGUgZmlsZXMKK3RoYXQgbWF0Y2ggdGhlIHBhdGhzcGVjLiAgVGhlIGluZGV4IGVudHJpZXMgYW5kIHdvcmtpbmcgdHJlZSBmaWxlcworYXJlIHRoZW4gcm9sbGVkIGJhY2sgdG8gdGhlIHN0YXRlIGluIEhFQUQgb25seSBmb3IgdGhlc2UgZmlsZXMsCit0b28sIGxlYXZpbmcgZmlsZXMgdGhhdCBkbyBub3QgbWF0Y2ggdGhlIHBhdGhzcGVjIGludGFjdC4KKysKK0ZvciBtb3JlIGRldGFpbHMsIHNlZSB0aGUgJ3BhdGhzcGVjJyBlbnRyeSBpbiBsaW5rZ2l0OmdpdGdsb3NzYXJ5WzddLgorCis8c3Rhc2g+OjoKKwlUaGlzIG9wdGlvbiBpcyBvbmx5IHZhbGlkIGZvciBgYXBwbHlgLCBgYnJhbmNoYCwgYGRyb3BgLCBgcG9wYCwKKwlgc2hvd2AgY29tbWFuZHMuCisrCitBIHJlZmVyZW5jZSBvZiB0aGUgZm9ybSBgc3Rhc2hAezxyZXZpc2lvbj59YC4gV2hlbiBubyBgPHN0YXNoPmAgaXMKK2dpdmVuLCB0aGUgbGF0ZXN0IHN0YXNoIGlzIGFzc3VtZWQgKHRoYXQgaXMsIGBzdGFzaEB7MH1gKS4KKwogRElTQ1VTU0lPTgogLS0tLS0tLS0tLQogCkBAIC0yMzUsMTIgKzI5MiwxMiBAQAogKwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyAuLi4gaGFjayBoYWNrIGhhY2sgLi4uCi0kIGdpdCBjaGVja291dCAtYiBteV93aXAKKyQgZ2l0IHN3aXRjaCAtYyBteV93aXAKICQgZ2l0IGNvbW1pdCAtYSAtbSAiV0lQIgotJCBnaXQgY2hlY2tvdXQgbWFzdGVyCiskIGdpdCBzd2l0Y2ggbWFzdGVyCiAkIGVkaXQgZW1lcmdlbmN5IGZpeAogJCBnaXQgY29tbWl0IC1hIC1tICJGaXggaW4gYSBodXJyeSIKLSQgZ2l0IGNoZWNrb3V0IG15X3dpcAorJCBnaXQgc3dpdGNoIG15X3dpcAogJCBnaXQgcmVzZXQgLS1zb2Z0IEhFQUReCiAjIC4uLiBjb250aW51ZSBoYWNraW5nIC4uLgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMjkzLDcgKzM1MCw4IEBACiBsaW5rZ2l0OmdpdC1jaGVja291dFsxXSwKIGxpbmtnaXQ6Z2l0LWNvbW1pdFsxXSwKIGxpbmtnaXQ6Z2l0LXJlZmxvZ1sxXSwKLWxpbmtnaXQ6Z2l0LXJlc2V0WzFdCitsaW5rZ2l0OmdpdC1yZXNldFsxXSwKK2xpbmtnaXQ6Z2l0LXN3aXRjaFsxXQogCiBHSVQKIC0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtc3RhdHVzLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXN0YXR1cy50eHQKaW5kZXggZDlmNDIyZC4uNzczMWI0NSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtc3RhdHVzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC1zdGF0dXMudHh0CkBAIC01OSwxNiArNTksMTcgQEAKIC0tdW50cmFja2VkLWZpbGVzWz08bW9kZT5dOjoKIAlTaG93IHVudHJhY2tlZCBmaWxlcy4KICsKKy0tCiBUaGUgbW9kZSBwYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHRoZSBoYW5kbGluZyBvZiB1bnRyYWNrZWQgZmlsZXMuCiBJdCBpcyBvcHRpb25hbDogaXQgZGVmYXVsdHMgdG8gJ2FsbCcsIGFuZCBpZiBzcGVjaWZpZWQsIGl0IG11c3QgYmUKIHN0dWNrIHRvIHRoZSBvcHRpb24gKGUuZy4gYC11bm9gLCBidXQgbm90IGAtdSBub2ApLgotKworCiBUaGUgcG9zc2libGUgb3B0aW9ucyBhcmU6Ci0rCisKIAktICdubycgICAgIC0gU2hvdyBubyB1bnRyYWNrZWQgZmlsZXMuCiAJLSAnbm9ybWFsJyAtIFNob3dzIHVudHJhY2tlZCBmaWxlcyBhbmQgZGlyZWN0b3JpZXMuCiAJLSAnYWxsJyAgICAtIEFsc28gc2hvd3MgaW5kaXZpZHVhbCBmaWxlcyBpbiB1bnRyYWNrZWQgZGlyZWN0b3JpZXMuCi0rCisKIFdoZW4gYC11YCBvcHRpb24gaXMgbm90IHVzZWQsIHVudHJhY2tlZCBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgYXJlCiBzaG93biAoaS5lLiB0aGUgc2FtZSBhcyBzcGVjaWZ5aW5nIGBub3JtYWxgKSwgdG8gaGVscCB5b3UgYXZvaWQKIGZvcmdldHRpbmcgdG8gYWRkIG5ld2x5IGNyZWF0ZWQgZmlsZXMuICBCZWNhdXNlIGl0IHRha2VzIGV4dHJhIHdvcmsKQEAgLTc4LDkgKzc5LDEwIEBACiBgZ2l0IHVwZGF0ZS1pbmRleCAtLXVudHJhY2tlZC1jYWNoZWAgYW5kIGBnaXQgdXBkYXRlLWluZGV4CiAtLXNwbGl0LWluZGV4YCksIE90aGVyd2lzZSB5b3UgY2FuIHVzZSBgbm9gIHRvIGhhdmUgYGdpdCBzdGF0dXNgCiByZXR1cm4gbW9yZSBxdWlja2x5IHdpdGhvdXQgc2hvd2luZyB1bnRyYWNrZWQgZmlsZXMuCi0rCisKIFRoZSBkZWZhdWx0IGNhbiBiZSBjaGFuZ2VkIHVzaW5nIHRoZSBzdGF0dXMuc2hvd1VudHJhY2tlZEZpbGVzCiBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGRvY3VtZW50ZWQgaW4gbGlua2dpdDpnaXQtY29uZmlnWzFdLgorLS0KIAogLS1pZ25vcmUtc3VibW9kdWxlc1s9PHdoZW4+XTo6CiAJSWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcyB3aGVuIGxvb2tpbmcgZm9yIGNoYW5nZXMuIDx3aGVuPiBjYW4gYmUKQEAgLTEwMCwxMSArMTAyLDEyIEBACiAtLWlnbm9yZWRbPTxtb2RlPl06OgogCVNob3cgaWdub3JlZCBmaWxlcyBhcyB3ZWxsLgogKworLS0KIFRoZSBtb2RlIHBhcmFtZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIGhhbmRsaW5nIG9mIGlnbm9yZWQgZmlsZXMuCiBJdCBpcyBvcHRpb25hbDogaXQgZGVmYXVsdHMgdG8gJ3RyYWRpdGlvbmFsJy4KLSsKKwogVGhlIHBvc3NpYmxlIG9wdGlvbnMgYXJlOgotKworCiAJLSAndHJhZGl0aW9uYWwnIC0gU2hvd3MgaWdub3JlZCBmaWxlcyBhbmQgZGlyZWN0b3JpZXMsIHVubGVzcwogCQkJICAtLXVudHJhY2tlZC1maWxlcz1hbGwgaXMgc3BlY2lmaWVkLCBpbiB3aGljaCBjYXNlCiAJCQkgIGluZGl2aWR1YWwgZmlsZXMgaW4gaWdub3JlZCBkaXJlY3RvcmllcyBhcmUKQEAgLTExMiwxMiArMTE1LDEzIEBACiAJLSAnbm8nCSAgICAgICAgLSBTaG93IG5vIGlnbm9yZWQgZmlsZXMuCiAJLSAnbWF0Y2hpbmcnICAgIC0gU2hvd3MgaWdub3JlZCBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgbWF0Y2hpbmcgYW4KIAkJCSAgaWdub3JlIHBhdHRlcm4uCi0rCisKIFdoZW4gJ21hdGNoaW5nJyBtb2RlIGlzIHNwZWNpZmllZCwgcGF0aHMgdGhhdCBleHBsaWNpdGx5IG1hdGNoIGFuCiBpZ25vcmVkIHBhdHRlcm4gYXJlIHNob3duLiBJZiBhIGRpcmVjdG9yeSBtYXRjaGVzIGFuIGlnbm9yZSBwYXR0ZXJuLAogdGhlbiBpdCBpcyBzaG93biwgYnV0IG5vdCBwYXRocyBjb250YWluZWQgaW4gdGhlIGlnbm9yZWQgZGlyZWN0b3J5LiBJZgogYSBkaXJlY3RvcnkgZG9lcyBub3QgbWF0Y2ggYW4gaWdub3JlIHBhdHRlcm4sIGJ1dCBhbGwgY29udGVudHMgYXJlCiBpZ25vcmVkLCB0aGVuIHRoZSBkaXJlY3RvcnkgaXMgbm90IHNob3duLCBidXQgYWxsIGNvbnRlbnRzIGFyZSBzaG93bi4KKy0tCiAKIC16OjoKIAlUZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCwgaW5zdGVhZCBvZiBMRi4gIFRoaXMgaW1wbGllcwpAQCAtMTk3LDMxICsyMDEsMzMgQEAKIElnbm9yZWQgZmlsZXMgYXJlIG5vdCBsaXN0ZWQsIHVubGVzcyBgLS1pZ25vcmVkYCBvcHRpb24gaXMgaW4gZWZmZWN0LAogaW4gd2hpY2ggY2FzZSBgWFlgIGFyZSBgISFgLgogCi0gICAgWCAgICAgICAgICBZICAgICBNZWFuaW5nCi0gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCSAgICAgW0FNRF0gICBub3QgdXBkYXRlZAotICAgIE0gICAgICAgIFsgTURdICAgdXBkYXRlZCBpbiBpbmRleAotICAgIEEgICAgICAgIFsgTURdICAgYWRkZWQgdG8gaW5kZXgKLSAgICBEICAgICAgICAgICAgICAgIGRlbGV0ZWQgZnJvbSBpbmRleAotICAgIFIgICAgICAgIFsgTURdICAgcmVuYW1lZCBpbiBpbmRleAotICAgIEMgICAgICAgIFsgTURdICAgY29waWVkIGluIGluZGV4Ci0gICAgW01BUkNdICAgICAgICAgICBpbmRleCBhbmQgd29yayB0cmVlIG1hdGNoZXMKLSAgICBbIE1BUkNdICAgICBNICAgIHdvcmsgdHJlZSBjaGFuZ2VkIHNpbmNlIGluZGV4Ci0gICAgWyBNQVJDXSAgICAgRCAgICBkZWxldGVkIGluIHdvcmsgdHJlZQotICAgIFsgRF0gICAgICAgIFIgICAgcmVuYW1lZCBpbiB3b3JrIHRyZWUKLSAgICBbIERdICAgICAgICBDICAgIGNvcGllZCBpbiB3b3JrIHRyZWUKLSAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgRCAgICAgICAgICAgRCAgICB1bm1lcmdlZCwgYm90aCBkZWxldGVkCi0gICAgQSAgICAgICAgICAgVSAgICB1bm1lcmdlZCwgYWRkZWQgYnkgdXMKLSAgICBVICAgICAgICAgICBEICAgIHVubWVyZ2VkLCBkZWxldGVkIGJ5IHRoZW0KLSAgICBVICAgICAgICAgICBBICAgIHVubWVyZ2VkLCBhZGRlZCBieSB0aGVtCi0gICAgRCAgICAgICAgICAgVSAgICB1bm1lcmdlZCwgZGVsZXRlZCBieSB1cwotICAgIEEgICAgICAgICAgIEEgICAgdW5tZXJnZWQsIGJvdGggYWRkZWQKLSAgICBVICAgICAgICAgICBVICAgIHVubWVyZ2VkLCBib3RoIG1vZGlmaWVkCi0gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgID8gICAgICAgICAgID8gICAgdW50cmFja2VkCi0gICAgISAgICAgICAgICAgISAgICBpZ25vcmVkCi0gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLi4uLgorWCAgICAgICAgICBZICAgICBNZWFuaW5nCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisJIFtBTURdICAgbm90IHVwZGF0ZWQKK00gICAgICAgIFsgTURdICAgdXBkYXRlZCBpbiBpbmRleAorQSAgICAgICAgWyBNRF0gICBhZGRlZCB0byBpbmRleAorRCAgICAgICAgICAgICAgICBkZWxldGVkIGZyb20gaW5kZXgKK1IgICAgICAgIFsgTURdICAgcmVuYW1lZCBpbiBpbmRleAorQyAgICAgICAgWyBNRF0gICBjb3BpZWQgaW4gaW5kZXgKK1tNQVJDXSAgICAgICAgICAgaW5kZXggYW5kIHdvcmsgdHJlZSBtYXRjaGVzCitbIE1BUkNdICAgICBNICAgIHdvcmsgdHJlZSBjaGFuZ2VkIHNpbmNlIGluZGV4CitbIE1BUkNdICAgICBEICAgIGRlbGV0ZWQgaW4gd29yayB0cmVlCitbIERdICAgICAgICBSICAgIHJlbmFtZWQgaW4gd29yayB0cmVlCitbIERdICAgICAgICBDICAgIGNvcGllZCBpbiB3b3JrIHRyZWUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0QgICAgICAgICAgIEQgICAgdW5tZXJnZWQsIGJvdGggZGVsZXRlZAorQSAgICAgICAgICAgVSAgICB1bm1lcmdlZCwgYWRkZWQgYnkgdXMKK1UgICAgICAgICAgIEQgICAgdW5tZXJnZWQsIGRlbGV0ZWQgYnkgdGhlbQorVSAgICAgICAgICAgQSAgICB1bm1lcmdlZCwgYWRkZWQgYnkgdGhlbQorRCAgICAgICAgICAgVSAgICB1bm1lcmdlZCwgZGVsZXRlZCBieSB1cworQSAgICAgICAgICAgQSAgICB1bm1lcmdlZCwgYm90aCBhZGRlZAorVSAgICAgICAgICAgVSAgICB1bm1lcmdlZCwgYm90aCBtb2RpZmllZAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorPyAgICAgICAgICAgPyAgICB1bnRyYWNrZWQKKyEgICAgICAgICAgICEgICAgaWdub3JlZAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLi4uLgogCiBTdWJtb2R1bGVzIGhhdmUgbW9yZSBzdGF0ZSBhbmQgaW5zdGVhZCByZXBvcnQKIAkJTSAgICB0aGUgc3VibW9kdWxlIGhhcyBhIGRpZmZlcmVudCBIRUFEIHRoYW4KQEAgLTI3NiwyMSArMjgyLDI1IEBACiBjb21tYW5kIGxpbmUgYXJndW1lbnRzLiAgUGFyc2VycyBzaG91bGQgaWdub3JlIGhlYWRlcnMgdGhleQogZG9uJ3QgcmVjb2duaXplLgogCi0jIyMgQnJhbmNoIEhlYWRlcnMKK0JyYW5jaCBIZWFkZXJzCiteXl5eXl5eXl5eXl5eXgogCiBJZiBgLS1icmFuY2hgIGlzIGdpdmVuLCBhIHNlcmllcyBvZiBoZWFkZXIgbGluZXMgYXJlIHByaW50ZWQgd2l0aAogaW5mb3JtYXRpb24gYWJvdXQgdGhlIGN1cnJlbnQgYnJhbmNoLgogCi0gICAgTGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RlcwotICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgICMgYnJhbmNoLm9pZCA8Y29tbWl0PiB8IChpbml0aWFsKSAgICAgICAgQ3VycmVudCBjb21taXQuCi0gICAgIyBicmFuY2guaGVhZCA8YnJhbmNoPiB8IChkZXRhY2hlZCkgICAgICBDdXJyZW50IGJyYW5jaC4KLSAgICAjIGJyYW5jaC51cHN0cmVhbSA8dXBzdHJlYW1fYnJhbmNoPiAgICAgIElmIHVwc3RyZWFtIGlzIHNldC4KLSAgICAjIGJyYW5jaC5hYiArPGFoZWFkPiAtPGJlaGluZD4gICAgICAgICAgIElmIHVwc3RyZWFtIGlzIHNldCBhbmQKLQkJCQkJICAgICB0aGUgY29tbWl0IGlzIHByZXNlbnQuCi0gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisuLi4uCitMaW5lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgYnJhbmNoLm9pZCA8Y29tbWl0PiB8IChpbml0aWFsKSAgICAgICAgQ3VycmVudCBjb21taXQuCisjIGJyYW5jaC5oZWFkIDxicmFuY2g+IHwgKGRldGFjaGVkKSAgICAgIEN1cnJlbnQgYnJhbmNoLgorIyBicmFuY2gudXBzdHJlYW0gPHVwc3RyZWFtX2JyYW5jaD4gICAgICBJZiB1cHN0cmVhbSBpcyBzZXQuCisjIGJyYW5jaC5hYiArPGFoZWFkPiAtPGJlaGluZD4gICAgICAgICAgIElmIHVwc3RyZWFtIGlzIHNldCBhbmQKKwkJCQkJIHRoZSBjb21taXQgaXMgcHJlc2VudC4KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLi4uLgogCi0jIyMgQ2hhbmdlZCBUcmFja2VkIEVudHJpZXMKK0NoYW5nZWQgVHJhY2tlZCBFbnRyaWVzCiteXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgogCiBGb2xsb3dpbmcgdGhlIGhlYWRlcnMsIGEgc2VyaWVzIG9mIGxpbmVzIGFyZSBwcmludGVkIGZvciB0cmFja2VkCiBlbnRyaWVzLiAgT25lIG9mIHRocmVlIGRpZmZlcmVudCBsaW5lIGZvcm1hdHMgbWF5IGJlIHVzZWQgdG8gZGVzY3JpYmUKQEAgLTMwNiw1OCArMzE2LDYzIEBACiAKICAgICAyIDxYWT4gPHN1Yj4gPG1IPiA8bUk+IDxtVz4gPGhIPiA8aEk+IDxYPjxzY29yZT4gPHBhdGg+PHNlcD48b3JpZ1BhdGg+CiAKLSAgICBGaWVsZCAgICAgICBNZWFuaW5nCi0gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICA8WFk+ICAgICAgICBBIDIgY2hhcmFjdGVyIGZpZWxkIGNvbnRhaW5pbmcgdGhlIHN0YWdlZCBhbmQKLQkJdW5zdGFnZWQgWFkgdmFsdWVzIGRlc2NyaWJlZCBpbiB0aGUgc2hvcnQgZm9ybWF0LAotCQl3aXRoIHVuY2hhbmdlZCBpbmRpY2F0ZWQgYnkgYSAiLiIgcmF0aGVyIHRoYW4KLQkJYSBzcGFjZS4KLSAgICA8c3ViPiAgICAgICBBIDQgY2hhcmFjdGVyIGZpZWxkIGRlc2NyaWJpbmcgdGhlIHN1Ym1vZHVsZSBzdGF0ZS4KLQkJIk4uLi4iIHdoZW4gdGhlIGVudHJ5IGlzIG5vdCBhIHN1Ym1vZHVsZS4KLQkJIlM8Yz48bT48dT4iIHdoZW4gdGhlIGVudHJ5IGlzIGEgc3VibW9kdWxlLgotCQk8Yz4gaXMgIkMiIGlmIHRoZSBjb21taXQgY2hhbmdlZDsgb3RoZXJ3aXNlICIuIi4KLQkJPG0+IGlzICJNIiBpZiBpdCBoYXMgdHJhY2tlZCBjaGFuZ2VzOyBvdGhlcndpc2UgIi4iLgotCQk8dT4gaXMgIlUiIGlmIHRoZXJlIGFyZSB1bnRyYWNrZWQgY2hhbmdlczsgb3RoZXJ3aXNlICIuIi4KLSAgICA8bUg+ICAgICAgICBUaGUgb2N0YWwgZmlsZSBtb2RlIGluIEhFQUQuCi0gICAgPG1JPiAgICAgICAgVGhlIG9jdGFsIGZpbGUgbW9kZSBpbiB0aGUgaW5kZXguCi0gICAgPG1XPiAgICAgICAgVGhlIG9jdGFsIGZpbGUgbW9kZSBpbiB0aGUgd29ya3RyZWUuCi0gICAgPGhIPiAgICAgICAgVGhlIG9iamVjdCBuYW1lIGluIEhFQUQuCi0gICAgPGhJPiAgICAgICAgVGhlIG9iamVjdCBuYW1lIGluIHRoZSBpbmRleC4KLSAgICA8WD48c2NvcmU+ICBUaGUgcmVuYW1lIG9yIGNvcHkgc2NvcmUgKGRlbm90aW5nIHRoZSBwZXJjZW50YWdlCi0JCW9mIHNpbWlsYXJpdHkgYmV0d2VlbiB0aGUgc291cmNlIGFuZCB0YXJnZXQgb2YgdGhlCi0JCW1vdmUgb3IgY29weSkuIEZvciBleGFtcGxlICJSMTAwIiBvciAiQzc1Ii4KLSAgICA8cGF0aD4gICAgICBUaGUgcGF0aG5hbWUuICBJbiBhIHJlbmFtZWQvY29waWVkIGVudHJ5LCB0aGlzCi0JCWlzIHRoZSB0YXJnZXQgcGF0aC4KLSAgICA8c2VwPiAgICAgICBXaGVuIHRoZSBgLXpgIG9wdGlvbiBpcyB1c2VkLCB0aGUgMiBwYXRobmFtZXMgYXJlIHNlcGFyYXRlZAotCQl3aXRoIGEgTlVMIChBU0NJSSAweDAwKSBieXRlOyBvdGhlcndpc2UsIGEgdGFiIChBU0NJSSAweDA5KQotCQlieXRlIHNlcGFyYXRlcyB0aGVtLgotICAgIDxvcmlnUGF0aD4gIFRoZSBwYXRobmFtZSBpbiB0aGUgY29tbWl0IGF0IEhFQUQgb3IgaW4gdGhlIGluZGV4LgotCQlUaGlzIGlzIG9ubHkgcHJlc2VudCBpbiBhIHJlbmFtZWQvY29waWVkIGVudHJ5LCBhbmQKLQkJdGVsbHMgd2hlcmUgdGhlIHJlbmFtZWQvY29waWVkIGNvbnRlbnRzIGNhbWUgZnJvbS4KLSAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLi4uLgorRmllbGQgICAgICAgTWVhbmluZworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzxYWT4gICAgICAgIEEgMiBjaGFyYWN0ZXIgZmllbGQgY29udGFpbmluZyB0aGUgc3RhZ2VkIGFuZAorCSAgICB1bnN0YWdlZCBYWSB2YWx1ZXMgZGVzY3JpYmVkIGluIHRoZSBzaG9ydCBmb3JtYXQsCisJICAgIHdpdGggdW5jaGFuZ2VkIGluZGljYXRlZCBieSBhICIuIiByYXRoZXIgdGhhbgorCSAgICBhIHNwYWNlLgorPHN1Yj4gICAgICAgQSA0IGNoYXJhY3RlciBmaWVsZCBkZXNjcmliaW5nIHRoZSBzdWJtb2R1bGUgc3RhdGUuCisJICAgICJOLi4uIiB3aGVuIHRoZSBlbnRyeSBpcyBub3QgYSBzdWJtb2R1bGUuCisJICAgICJTPGM+PG0+PHU+IiB3aGVuIHRoZSBlbnRyeSBpcyBhIHN1Ym1vZHVsZS4KKwkgICAgPGM+IGlzICJDIiBpZiB0aGUgY29tbWl0IGNoYW5nZWQ7IG90aGVyd2lzZSAiLiIuCisJICAgIDxtPiBpcyAiTSIgaWYgaXQgaGFzIHRyYWNrZWQgY2hhbmdlczsgb3RoZXJ3aXNlICIuIi4KKwkgICAgPHU+IGlzICJVIiBpZiB0aGVyZSBhcmUgdW50cmFja2VkIGNoYW5nZXM7IG90aGVyd2lzZSAiLiIuCis8bUg+ICAgICAgICBUaGUgb2N0YWwgZmlsZSBtb2RlIGluIEhFQUQuCis8bUk+ICAgICAgICBUaGUgb2N0YWwgZmlsZSBtb2RlIGluIHRoZSBpbmRleC4KKzxtVz4gICAgICAgIFRoZSBvY3RhbCBmaWxlIG1vZGUgaW4gdGhlIHdvcmt0cmVlLgorPGhIPiAgICAgICAgVGhlIG9iamVjdCBuYW1lIGluIEhFQUQuCis8aEk+ICAgICAgICBUaGUgb2JqZWN0IG5hbWUgaW4gdGhlIGluZGV4LgorPFg+PHNjb3JlPiAgVGhlIHJlbmFtZSBvciBjb3B5IHNjb3JlIChkZW5vdGluZyB0aGUgcGVyY2VudGFnZQorCSAgICBvZiBzaW1pbGFyaXR5IGJldHdlZW4gdGhlIHNvdXJjZSBhbmQgdGFyZ2V0IG9mIHRoZQorCSAgICBtb3ZlIG9yIGNvcHkpLiBGb3IgZXhhbXBsZSAiUjEwMCIgb3IgIkM3NSIuCis8cGF0aD4gICAgICBUaGUgcGF0aG5hbWUuICBJbiBhIHJlbmFtZWQvY29waWVkIGVudHJ5LCB0aGlzCisJICAgIGlzIHRoZSB0YXJnZXQgcGF0aC4KKzxzZXA+ICAgICAgIFdoZW4gdGhlIGAtemAgb3B0aW9uIGlzIHVzZWQsIHRoZSAyIHBhdGhuYW1lcyBhcmUgc2VwYXJhdGVkCisJICAgIHdpdGggYSBOVUwgKEFTQ0lJIDB4MDApIGJ5dGU7IG90aGVyd2lzZSwgYSB0YWIgKEFTQ0lJIDB4MDkpCisJICAgIGJ5dGUgc2VwYXJhdGVzIHRoZW0uCis8b3JpZ1BhdGg+ICBUaGUgcGF0aG5hbWUgaW4gdGhlIGNvbW1pdCBhdCBIRUFEIG9yIGluIHRoZSBpbmRleC4KKwkgICAgVGhpcyBpcyBvbmx5IHByZXNlbnQgaW4gYSByZW5hbWVkL2NvcGllZCBlbnRyeSwgYW5kCisJICAgIHRlbGxzIHdoZXJlIHRoZSByZW5hbWVkL2NvcGllZCBjb250ZW50cyBjYW1lIGZyb20uCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLi4uLgogCiBVbm1lcmdlZCBlbnRyaWVzIGhhdmUgdGhlIGZvbGxvd2luZyBmb3JtYXQ7IHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMKIGEgInUiIHRvIGRpc3Rpbmd1aXNoIGZyb20gb3JkaW5hcnkgY2hhbmdlZCBlbnRyaWVzLgogCiAgICAgdSA8eHk+IDxzdWI+IDxtMT4gPG0yPiA8bTM+IDxtVz4gPGgxPiA8aDI+IDxoMz4gPHBhdGg+CiAKLSAgICBGaWVsZCAgICAgICBNZWFuaW5nCi0gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICA8WFk+ICAgICAgICBBIDIgY2hhcmFjdGVyIGZpZWxkIGRlc2NyaWJpbmcgdGhlIGNvbmZsaWN0IHR5cGUKLQkJYXMgZGVzY3JpYmVkIGluIHRoZSBzaG9ydCBmb3JtYXQuCi0gICAgPHN1Yj4gICAgICAgQSA0IGNoYXJhY3RlciBmaWVsZCBkZXNjcmliaW5nIHRoZSBzdWJtb2R1bGUgc3RhdGUKLQkJYXMgZGVzY3JpYmVkIGFib3ZlLgotICAgIDxtMT4gICAgICAgIFRoZSBvY3RhbCBmaWxlIG1vZGUgaW4gc3RhZ2UgMS4KLSAgICA8bTI+ICAgICAgICBUaGUgb2N0YWwgZmlsZSBtb2RlIGluIHN0YWdlIDIuCi0gICAgPG0zPiAgICAgICAgVGhlIG9jdGFsIGZpbGUgbW9kZSBpbiBzdGFnZSAzLgotICAgIDxtVz4gICAgICAgIFRoZSBvY3RhbCBmaWxlIG1vZGUgaW4gdGhlIHdvcmt0cmVlLgotICAgIDxoMT4gICAgICAgIFRoZSBvYmplY3QgbmFtZSBpbiBzdGFnZSAxLgotICAgIDxoMj4gICAgICAgIFRoZSBvYmplY3QgbmFtZSBpbiBzdGFnZSAyLgotICAgIDxoMz4gICAgICAgIFRoZSBvYmplY3QgbmFtZSBpbiBzdGFnZSAzLgotICAgIDxwYXRoPiAgICAgIFRoZSBwYXRobmFtZS4KLSAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLi4uLgorRmllbGQgICAgICAgTWVhbmluZworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzxYWT4gICAgICAgIEEgMiBjaGFyYWN0ZXIgZmllbGQgZGVzY3JpYmluZyB0aGUgY29uZmxpY3QgdHlwZQorCSAgICBhcyBkZXNjcmliZWQgaW4gdGhlIHNob3J0IGZvcm1hdC4KKzxzdWI+ICAgICAgIEEgNCBjaGFyYWN0ZXIgZmllbGQgZGVzY3JpYmluZyB0aGUgc3VibW9kdWxlIHN0YXRlCisJICAgIGFzIGRlc2NyaWJlZCBhYm92ZS4KKzxtMT4gICAgICAgIFRoZSBvY3RhbCBmaWxlIG1vZGUgaW4gc3RhZ2UgMS4KKzxtMj4gICAgICAgIFRoZSBvY3RhbCBmaWxlIG1vZGUgaW4gc3RhZ2UgMi4KKzxtMz4gICAgICAgIFRoZSBvY3RhbCBmaWxlIG1vZGUgaW4gc3RhZ2UgMy4KKzxtVz4gICAgICAgIFRoZSBvY3RhbCBmaWxlIG1vZGUgaW4gdGhlIHdvcmt0cmVlLgorPGgxPiAgICAgICAgVGhlIG9iamVjdCBuYW1lIGluIHN0YWdlIDEuCis8aDI+ICAgICAgICBUaGUgb2JqZWN0IG5hbWUgaW4gc3RhZ2UgMi4KKzxoMz4gICAgICAgIFRoZSBvYmplY3QgbmFtZSBpbiBzdGFnZSAzLgorPHBhdGg+ICAgICAgVGhlIHBhdGhuYW1lLgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy4uLi4KIAotIyMjIE90aGVyIEl0ZW1zCitPdGhlciBJdGVtcworXl5eXl5eXl5eXl4KIAogRm9sbG93aW5nIHRoZSB0cmFja2VkIGVudHJpZXMgKGFuZCBpZiByZXF1ZXN0ZWQpLCBhIHNlcmllcyBvZgogbGluZXMgd2lsbCBiZSBwcmludGVkIGZvciB1bnRyYWNrZWQgYW5kIHRoZW4gaWdub3JlZCBpdGVtcwpAQCAtMzcxLDcgKzM4Niw4IEBACiAKICAgICAhIDxwYXRoPgogCi0jIyMgUGF0aG5hbWUgRm9ybWF0IE5vdGVzIGFuZCAtegorUGF0aG5hbWUgRm9ybWF0IE5vdGVzIGFuZCAtegorXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgogCiBXaGVuIHRoZSBgLXpgIG9wdGlvbiBpcyBnaXZlbiwgcGF0aG5hbWVzIGFyZSBwcmludGVkIGFzIGlzIGFuZAogd2l0aG91dCBhbnkgcXVvdGluZyBhbmQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgd2l0aCBhIE5VTCAoQVNDSUkgMHgwMCkKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXN1Ym1vZHVsZS50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1zdWJtb2R1bGUudHh0CmluZGV4IGJhM2M0ZGYuLmM5ZWQyYmYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXN1Ym1vZHVsZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtc3VibW9kdWxlLnR4dApAQCAtOSwxMSArOSwxNCBAQAogU1lOT1BTSVMKIC0tLS0tLS0tCiBbdmVyc2VdCisnZ2l0IHN1Ym1vZHVsZScgWy0tcXVpZXRdIFstLWNhY2hlZF0KICdnaXQgc3VibW9kdWxlJyBbLS1xdWlldF0gYWRkIFs8b3B0aW9ucz5dIFstLV0gPHJlcG9zaXRvcnk+IFs8cGF0aD5dCiAnZ2l0IHN1Ym1vZHVsZScgWy0tcXVpZXRdIHN0YXR1cyBbLS1jYWNoZWRdIFstLXJlY3Vyc2l2ZV0gWy0tXSBbPHBhdGg+Li4uXQogJ2dpdCBzdWJtb2R1bGUnIFstLXF1aWV0XSBpbml0IFstLV0gWzxwYXRoPi4uLl0KICdnaXQgc3VibW9kdWxlJyBbLS1xdWlldF0gZGVpbml0IFstZnwtLWZvcmNlXSAoLS1hbGx8Wy0tXSA8cGF0aD4uLi4pCiAnZ2l0IHN1Ym1vZHVsZScgWy0tcXVpZXRdIHVwZGF0ZSBbPG9wdGlvbnM+XSBbLS1dIFs8cGF0aD4uLi5dCisnZ2l0IHN1Ym1vZHVsZScgWy0tcXVpZXRdIHNldC1icmFuY2ggWzxvcHRpb25zPl0gWy0tXSA8cGF0aD4KKydnaXQgc3VibW9kdWxlJyBbLS1xdWlldF0gc2V0LXVybCBbLS1dIDxwYXRoPiA8bmV3dXJsPgogJ2dpdCBzdWJtb2R1bGUnIFstLXF1aWV0XSBzdW1tYXJ5IFs8b3B0aW9ucz5dIFstLV0gWzxwYXRoPi4uLl0KICdnaXQgc3VibW9kdWxlJyBbLS1xdWlldF0gZm9yZWFjaCBbLS1yZWN1cnNpdmVdIDxjb21tYW5kPgogJ2dpdCBzdWJtb2R1bGUnIFstLXF1aWV0XSBzeW5jIFstLXJlY3Vyc2l2ZV0gWy0tXSBbPHBhdGg+Li4uXQpAQCAtMjgsNiArMzEsOSBAQAogCiBDT01NQU5EUwogLS0tLS0tLS0KK1dpdGggbm8gYXJndW1lbnRzLCBzaG93cyB0aGUgc3RhdHVzIG9mIGV4aXN0aW5nIHN1Ym1vZHVsZXMuICBTZXZlcmFsCitzdWJjb21tYW5kcyBhcmUgYXZhaWxhYmxlIHRvIHBlcmZvcm0gb3BlcmF0aW9ucyBvbiB0aGUgc3VibW9kdWxlcy4KKwogYWRkIFstYiA8YnJhbmNoPl0gWy1mfC0tZm9yY2VdIFstLW5hbWUgPG5hbWU+XSBbLS1yZWZlcmVuY2UgPHJlcG9zaXRvcnk+XSBbLS1kZXB0aCA8ZGVwdGg+XSBbLS1dIDxyZXBvc2l0b3J5PiBbPHBhdGg+XTo6CiAJQWRkIHRoZSBnaXZlbiByZXBvc2l0b3J5IGFzIGEgc3VibW9kdWxlIGF0IHRoZSBnaXZlbiBwYXRoCiAJdG8gdGhlIGNoYW5nZXNldCB0byBiZSBjb21taXR0ZWQgbmV4dCB0byB0aGUgY3VycmVudApAQCAtMzgsNyArNDQsNyBAQAogb3IgLi4vKSwgdGhlIGxvY2F0aW9uIHJlbGF0aXZlIHRvIHRoZSBzdXBlcnByb2plY3QncyBkZWZhdWx0IHJlbW90ZQogcmVwb3NpdG9yeSAoUGxlYXNlIG5vdGUgdGhhdCB0byBzcGVjaWZ5IGEgcmVwb3NpdG9yeSAnZm9vLmdpdCcKIHdoaWNoIGlzIGxvY2F0ZWQgcmlnaHQgbmV4dCB0byBhIHN1cGVycHJvamVjdCAnYmFyLmdpdCcsIHlvdSdsbAotaGF2ZSB0byB1c2UgJy4uL2Zvby5naXQnIGluc3RlYWQgb2YgJy4vZm9vLmdpdCcgLSBhcyBvbmUgbWlnaHQgZXhwZWN0CitoYXZlIHRvIHVzZSBgLi4vZm9vLmdpdGAgaW5zdGVhZCBvZiBgLi9mb28uZ2l0YCAtIGFzIG9uZSBtaWdodCBleHBlY3QKIHdoZW4gZm9sbG93aW5nIHRoZSBydWxlcyBmb3IgcmVsYXRpdmUgVVJMcyAtIGJlY2F1c2UgdGhlIGV2YWx1YXRpb24KIG9mIHJlbGF0aXZlIFVSTHMgaW4gR2l0IGlzIGlkZW50aWNhbCB0byB0aGF0IG9mIHJlbGF0aXZlIGRpcmVjdG9yaWVzKS4KICsKQEAgLTc1LDYgKzgxLDkgQEAKIAlkb2VzIG5vdCBtYXRjaCB0aGUgU0hBLTEgZm91bmQgaW4gdGhlIGluZGV4IG9mIHRoZSBjb250YWluaW5nCiAJcmVwb3NpdG9yeSBhbmQgYFVgIGlmIHRoZSBzdWJtb2R1bGUgaGFzIG1lcmdlIGNvbmZsaWN0cy4KICsKK0lmIGAtLWNhY2hlZGAgaXMgc3BlY2lmaWVkLCB0aGlzIGNvbW1hbmQgd2lsbCBpbnN0ZWFkIHByaW50IHRoZSBTSEEtMQorcmVjb3JkZWQgaW4gdGhlIHN1cGVycHJvamVjdCBmb3IgZWFjaCBzdWJtb2R1bGUuCisrCiBJZiBgLS1yZWN1cnNpdmVgIGlzIHNwZWNpZmllZCwgdGhpcyBjb21tYW5kIHdpbGwgcmVjdXJzZSBpbnRvIG5lc3RlZAogc3VibW9kdWxlcywgYW5kIHNob3cgdGhlaXIgc3RhdHVzIGFzIHdlbGwuCiArCkBAIC0xMjQsMTEgKzEzMywxMiBAQAogdGhhdCB1c2UgbGlua2dpdDpnaXQtcm1bMV0gaW5zdGVhZC4gU2VlIGxpbmtnaXQ6Z2l0c3VibW9kdWxlc1s3XSBmb3IgcmVtb3ZhbAogb3B0aW9ucy4KIAotdXBkYXRlIFstLWluaXRdIFstLXJlbW90ZV0gWy1OfC0tbm8tZmV0Y2hdIFstLVtuby1dcmVjb21tZW5kLXNoYWxsb3ddIFstZnwtLWZvcmNlXSBbLS1jaGVja291dHwtLXJlYmFzZXwtLW1lcmdlXSBbLS1yZWZlcmVuY2UgPHJlcG9zaXRvcnk+XSBbLS1kZXB0aCA8ZGVwdGg+XSBbLS1yZWN1cnNpdmVdIFstLWpvYnMgPG4+XSBbLS1dIFs8cGF0aD4uLi5dOjoKK3VwZGF0ZSBbLS1pbml0XSBbLS1yZW1vdGVdIFstTnwtLW5vLWZldGNoXSBbLS1bbm8tXXJlY29tbWVuZC1zaGFsbG93XSBbLWZ8LS1mb3JjZV0gWy0tY2hlY2tvdXR8LS1yZWJhc2V8LS1tZXJnZV0gWy0tcmVmZXJlbmNlIDxyZXBvc2l0b3J5Pl0gWy0tZGVwdGggPGRlcHRoPl0gWy0tcmVjdXJzaXZlXSBbLS1qb2JzIDxuPl0gWy0tW25vLV1zaW5nbGUtYnJhbmNoXSBbLS1dIFs8cGF0aD4uLi5dOjoKICsKIC0tCiBVcGRhdGUgdGhlIHJlZ2lzdGVyZWQgc3VibW9kdWxlcyB0byBtYXRjaCB3aGF0IHRoZSBzdXBlcnByb2plY3QKLWV4cGVjdHMgYnkgY2xvbmluZyBtaXNzaW5nIHN1Ym1vZHVsZXMgYW5kIHVwZGF0aW5nIHRoZSB3b3JraW5nIHRyZWUgb2YKK2V4cGVjdHMgYnkgY2xvbmluZyBtaXNzaW5nIHN1Ym1vZHVsZXMsIGZldGNoaW5nIG1pc3NpbmcgY29tbWl0cworaW4gc3VibW9kdWxlcyBhbmQgdXBkYXRpbmcgdGhlIHdvcmtpbmcgdHJlZSBvZgogdGhlIHN1Ym1vZHVsZXMuIFRoZSAidXBkYXRpbmciIGNhbiBiZSBkb25lIGluIHNldmVyYWwgd2F5cyBkZXBlbmRpbmcKIG9uIGNvbW1hbmQgbGluZSBvcHRpb25zIGFuZCB0aGUgdmFsdWUgb2YgYHN1Ym1vZHVsZS48bmFtZT4udXBkYXRlYAogY29uZmlndXJhdGlvbiB2YXJpYWJsZS4gVGhlIGNvbW1hbmQgbGluZSBvcHRpb24gdGFrZXMgcHJlY2VkZW5jZSBvdmVyCkBAIC0xNjgsNiArMTc4LDE4IEBACiBJZiBgLS1yZWN1cnNpdmVgIGlzIHNwZWNpZmllZCwgdGhpcyBjb21tYW5kIHdpbGwgcmVjdXJzZSBpbnRvIHRoZQogcmVnaXN0ZXJlZCBzdWJtb2R1bGVzLCBhbmQgdXBkYXRlIGFueSBuZXN0ZWQgc3VibW9kdWxlcyB3aXRoaW4uCiAtLQorc2V0LWJyYW5jaCAoLWJ8LS1icmFuY2gpIDxicmFuY2g+IFstLV0gPHBhdGg+OjoKK3NldC1icmFuY2ggKC1kfC0tZGVmYXVsdCkgWy0tXSA8cGF0aD46OgorCVNldHMgdGhlIGRlZmF1bHQgcmVtb3RlIHRyYWNraW5nIGJyYW5jaCBmb3IgdGhlIHN1Ym1vZHVsZS4gVGhlCisJYC0tYnJhbmNoYCBvcHRpb24gYWxsb3dzIHRoZSByZW1vdGUgYnJhbmNoIHRvIGJlIHNwZWNpZmllZC4gVGhlCisJYC0tZGVmYXVsdGAgb3B0aW9uIHJlbW92ZXMgdGhlIHN1Ym1vZHVsZS48bmFtZT4uYnJhbmNoIGNvbmZpZ3VyYXRpb24KKwlrZXksIHdoaWNoIGNhdXNlcyB0aGUgdHJhY2tpbmcgYnJhbmNoIHRvIGRlZmF1bHQgdG8gJ21hc3RlcicuCisKK3NldC11cmwgWy0tXSA8cGF0aD4gPG5ld3VybD46OgorCVNldHMgdGhlIFVSTCBvZiB0aGUgc3BlY2lmaWVkIHN1Ym1vZHVsZSB0byA8bmV3dXJsPi4gVGhlbiwgaXQgd2lsbAorCWF1dG9tYXRpY2FsbHkgc3luY2hyb25pemUgdGhlIHN1Ym1vZHVsZSdzIG5ldyByZW1vdGUgVVJMCisJY29uZmlndXJhdGlvbi4KKwogc3VtbWFyeSBbLS1jYWNoZWR8LS1maWxlc10gWygtbnwtLXN1bW1hcnktbGltaXQpIDxuPl0gW2NvbW1pdF0gWy0tXSBbPHBhdGg+Li4uXTo6CiAJU2hvdyBjb21taXQgc3VtbWFyeSBiZXR3ZWVuIHRoZSBnaXZlbiBjb21taXQgKGRlZmF1bHRzIHRvIEhFQUQpIGFuZAogCXdvcmtpbmcgdHJlZS9pbmRleC4gRm9yIGEgc3VibW9kdWxlIGluIHF1ZXN0aW9uLCBhIHNlcmllcyBvZiBjb21taXRzCkBAIC0yMDcsNyArMjI5LDcgQEAKIGNoZWNrZWQgb3V0IGNvbW1pdCBmb3IgZWFjaCBzdWJtb2R1bGU6CiArCiAtLS0tLS0tLS0tLS0tLQotZ2l0IHN1Ym1vZHVsZSBmb3JlYWNoICdlY2hvICRwYXRoIGBnaXQgcmV2LXBhcnNlIEhFQURgJworZ2l0IHN1Ym1vZHVsZSBmb3JlYWNoICdlY2hvICRzbV9wYXRoIGBnaXQgcmV2LXBhcnNlIEhFQURgJwogLS0tLS0tLS0tLS0tLS0KIAogc3luYyBbLS1yZWN1cnNpdmVdIFstLV0gWzxwYXRoPi4uLl06OgpAQCAtMjI2LDcgKzI0OCw3IEBACiAKIGFic29yYmdpdGRpcnM6OgogCUlmIGEgZ2l0IGRpcmVjdG9yeSBvZiBhIHN1Ym1vZHVsZSBpcyBpbnNpZGUgdGhlIHN1Ym1vZHVsZSwKLQltb3ZlIHRoZSBnaXQgZGlyZWN0b3J5IG9mIHRoZSBzdWJtb2R1bGUgaW50byBpdHMgc3VwZXJwcm9qZWN0cworCW1vdmUgdGhlIGdpdCBkaXJlY3Rvcnkgb2YgdGhlIHN1Ym1vZHVsZSBpbnRvIGl0cyBzdXBlcnByb2plY3QncwogCWAkR0lUX0RJUi9tb2R1bGVzYCBwYXRoIGFuZCB0aGVuIGNvbm5lY3QgdGhlIGdpdCBkaXJlY3RvcnkgYW5kCiAJaXRzIHdvcmtpbmcgZGlyZWN0b3J5IGJ5IHNldHRpbmcgdGhlIGBjb3JlLndvcmt0cmVlYCBhbmQgYWRkaW5nCiAJYSAuZ2l0IGZpbGUgcG9pbnRpbmcgdG8gdGhlIGdpdCBkaXJlY3RvcnkgZW1iZWRkZWQgaW4gdGhlCkBAIC0yNTUsMTMgKzI3NywxNCBAQAogCVRoaXMgb3B0aW9uIGlzIG9ubHkgdmFsaWQgZm9yIHRoZSBkZWluaXQgY29tbWFuZC4gVW5yZWdpc3RlciBhbGwKIAlzdWJtb2R1bGVzIGluIHRoZSB3b3JraW5nIHRyZWUuCiAKLS1iOjoKLS0tYnJhbmNoOjoKKy1iIDxicmFuY2g+OjoKKy0tYnJhbmNoIDxicmFuY2g+OjoKIAlCcmFuY2ggb2YgcmVwb3NpdG9yeSB0byBhZGQgYXMgc3VibW9kdWxlLgogCVRoZSBuYW1lIG9mIHRoZSBicmFuY2ggaXMgcmVjb3JkZWQgYXMgYHN1Ym1vZHVsZS48bmFtZT4uYnJhbmNoYCBpbgogCWAuZ2l0bW9kdWxlc2AgZm9yIGB1cGRhdGUgLS1yZW1vdGVgLiAgQSBzcGVjaWFsIHZhbHVlIG9mIGAuYCBpcyB1c2VkIHRvCiAJaW5kaWNhdGUgdGhhdCB0aGUgbmFtZSBvZiB0aGUgYnJhbmNoIGluIHRoZSBzdWJtb2R1bGUgc2hvdWxkIGJlIHRoZQotCXNhbWUgbmFtZSBhcyB0aGUgY3VycmVudCBicmFuY2ggaW4gdGhlIGN1cnJlbnQgcmVwb3NpdG9yeS4KKwlzYW1lIG5hbWUgYXMgdGhlIGN1cnJlbnQgYnJhbmNoIGluIHRoZSBjdXJyZW50IHJlcG9zaXRvcnkuICBJZiB0aGUKKwlvcHRpb24gaXMgbm90IHNwZWNpZmllZCwgaXQgZGVmYXVsdHMgdG8gJ21hc3RlcicuCiAKIC1mOjoKIC0tZm9yY2U6OgpAQCAtNDA3LDYgKzQzMCwxMCBAQAogCUNsb25lIG5ldyBzdWJtb2R1bGVzIGluIHBhcmFsbGVsIHdpdGggYXMgbWFueSBqb2JzLgogCURlZmF1bHRzIHRvIHRoZSBgc3VibW9kdWxlLmZldGNoSm9ic2Agb3B0aW9uLgogCistLVtuby1dc2luZ2xlLWJyYW5jaDo6CisJVGhpcyBvcHRpb24gaXMgb25seSB2YWxpZCBmb3IgdGhlIHVwZGF0ZSBjb21tYW5kLgorCUNsb25lIG9ubHkgb25lIGJyYW5jaCBkdXJpbmcgdXBkYXRlOiBIRUFEIG9yIG9uZSBzcGVjaWZpZWQgYnkgLS1icmFuY2guCisKIDxwYXRoPi4uLjo6CiAJUGF0aHMgdG8gc3VibW9kdWxlKHMpLiBXaGVuIHNwZWNpZmllZCB0aGlzIHdpbGwgcmVzdHJpY3QgdGhlIGNvbW1hbmQKIAl0byBvbmx5IG9wZXJhdGUgb24gdGhlIHN1Ym1vZHVsZXMgZm91bmQgYXQgdGhlIHNwZWNpZmllZCBwYXRocy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXN2bi50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC1zdm4udHh0CmluZGV4IGI5OTAyOTUuLjY2MjRhMTQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXN2bi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtc3ZuLnR4dApAQCAtMTI2LDcgKzEyNiw3IEBACiAJY29tbWFuZC1saW5lIGFyZ3VtZW50LgogKwogVGhpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZXMgdGhlIHJldl9tYXAgaWYgbmVlZGVkIChzZWUKLSckR0lUX0RJUi9zdm4vXCpcKi8ucmV2X21hcC4qJyBpbiB0aGUgRklMRVMgc2VjdGlvbiBiZWxvdyBmb3IgZGV0YWlscykuCisnJEdJVF9ESVIvc3ZuL1wqKi8ucmV2X21hcC4qJyBpbiB0aGUgRklMRVMgc2VjdGlvbiBiZWxvdyBmb3IgZGV0YWlscykuCiAKIC0tbG9jYWx0aW1lOzsKIAlTdG9yZSBHaXQgY29tbWl0IHRpbWVzIGluIHRoZSBsb2NhbCB0aW1lIHpvbmUgaW5zdGVhZCBvZiBVVEMuICBUaGlzCkBAIC0yMzksNyArMjM5LDcgQEAKIGFuZCBoYXZlIG5vIHVuY29tbWl0dGVkIGNoYW5nZXMuCiArCiBUaGlzIGF1dG9tYXRpY2FsbHkgdXBkYXRlcyB0aGUgcmV2X21hcCBpZiBuZWVkZWQgKHNlZQotJyRHSVRfRElSL3N2bi9cKlwqLy5yZXZfbWFwLionIGluIHRoZSBGSUxFUyBzZWN0aW9uIGJlbG93IGZvciBkZXRhaWxzKS4KKyckR0lUX0RJUi9zdm4vXCoqLy5yZXZfbWFwLionIGluIHRoZSBGSUxFUyBzZWN0aW9uIGJlbG93IGZvciBkZXRhaWxzKS4KIAogLWw7OwogLS1sb2NhbDs7CkBAIC01MjQsNyArNTI0LDcgQEAKIAl3YXkgdG8gcmVwYWlyIHRoZSByZXBvIGlzIHRvIHVzZSAncmVzZXQnLgogKwogT25seSB0aGUgcmV2X21hcCBhbmQgcmVmcy9yZW1vdGVzL2dpdC1zdm4gYXJlIGNoYW5nZWQgKHNlZQotJyRHSVRfRElSL3N2bi9cKlwqLy5yZXZfbWFwLionIGluIHRoZSBGSUxFUyBzZWN0aW9uIGJlbG93IGZvciBkZXRhaWxzKS4KKyckR0lUX0RJUi9zdm4vXCoqLy5yZXZfbWFwLionIGluIHRoZSBGSUxFUyBzZWN0aW9uIGJlbG93IGZvciBkZXRhaWxzKS4KIEZvbGxvdyAncmVzZXQnIHdpdGggYSAnZmV0Y2gnIGFuZCB0aGVuICdnaXQgcmVzZXQnIG9yICdnaXQgcmViYXNlJyB0bwogbW92ZSBsb2NhbCBicmFuY2hlcyBvbnRvIHRoZSBuZXcgdHJlZS4KIApAQCAtNjc3LDcgKzY3Nyw4IEBACiAtczxzdHJhdGVneT46OgogLS1zdHJhdGVneT08c3RyYXRlZ3k+OjoKIC1wOjoKLS0tcHJlc2VydmUtbWVyZ2VzOjoKKy0tcmViYXNlLW1lcmdlczo6CistLXByZXNlcnZlLW1lcmdlcyAoREVQUkVDQVRFRCk6OgogCVRoZXNlIGFyZSBvbmx5IHVzZWQgd2l0aCB0aGUgJ2Rjb21taXQnIGFuZCAncmViYXNlJyBjb21tYW5kcy4KICsKIFBhc3NlZCBkaXJlY3RseSB0byAnZ2l0IHJlYmFzZScgd2hlbiB1c2luZyAnZGNvbW1pdCcgaWYgYQpAQCAtNzYwLDcgKzc2MSw3IEBACiArCiBUaGlzIG9wdGlvbiBjYW4gb25seSBiZSB1c2VkIGZvciBvbmUtc2hvdCBpbXBvcnRzIGFzICdnaXQgc3ZuJwogd2lsbCBub3QgYmUgYWJsZSB0byBmZXRjaCBhZ2FpbiB3aXRob3V0IG1ldGFkYXRhLiBBZGRpdGlvbmFsbHksCi1pZiB5b3UgbG9zZSB5b3VyICckR0lUX0RJUi9zdm4vXCpcKi8ucmV2X21hcC4qJyBmaWxlcywgJ2dpdCBzdm4nIHdpbGwgbm90CitpZiB5b3UgbG9zZSB5b3VyICckR0lUX0RJUi9zdm4vXCoqLy5yZXZfbWFwLionIGZpbGVzLCAnZ2l0IHN2bicgd2lsbCBub3QKIGJlIGFibGUgdG8gcmVidWlsZCB0aGVtLgogKwogVGhlICdnaXQgc3ZuIGxvZycgY29tbWFuZCB3aWxsIG5vdCB3b3JrIG9uIHJlcG9zaXRvcmllcyB1c2luZwpAQCAtNzY5LDExICs3NzAsMTEgQEAKICsKIFRoaXMgb3B0aW9uIGlzIE5PVCByZWNvbW1lbmRlZCBhcyBpdCBtYWtlcyBpdCBkaWZmaWN1bHQgdG8gdHJhY2sgZG93bgogb2xkIHJlZmVyZW5jZXMgdG8gU1ZOIHJldmlzaW9uIG51bWJlcnMgaW4gZXhpc3RpbmcgZG9jdW1lbnRhdGlvbiwgYnVnCi1yZXBvcnRzIGFuZCBhcmNoaXZlcy4gIElmIHlvdSBwbGFuIHRvIGV2ZW50dWFsbHkgbWlncmF0ZSBmcm9tIFNWTiB0byBHaXQKLWFuZCBhcmUgY2VydGFpbiBhYm91dCBkcm9wcGluZyBTVk4gaGlzdG9yeSwgY29uc2lkZXIKLWxpbmtnaXQ6Z2l0LWZpbHRlci1icmFuY2hbMV0gaW5zdGVhZC4gIGZpbHRlci1icmFuY2ggYWxzbyBhbGxvd3MKLXJlZm9ybWF0dGluZyBvZiBtZXRhZGF0YSBmb3IgZWFzZS1vZi1yZWFkaW5nIGFuZCByZXdyaXRpbmcgYXV0aG9yc2hpcAotaW5mbyBmb3Igbm9uLSJzdm4uYXV0aG9yc0ZpbGUiIHVzZXJzLgorcmVwb3J0cywgYW5kIGFyY2hpdmVzLiAgSWYgeW91IHBsYW4gdG8gZXZlbnR1YWxseSBtaWdyYXRlIGZyb20gU1ZOIHRvCitHaXQgYW5kIGFyZSBjZXJ0YWluIGFib3V0IGRyb3BwaW5nIFNWTiBoaXN0b3J5LCBjb25zaWRlcgoraHR0cHM6Ly9naXRodWIuY29tL25ld3Jlbi9naXQtZmlsdGVyLXJlcG9bZ2l0LWZpbHRlci1yZXBvXSBpbnN0ZWFkLgorZmlsdGVyLXJlcG8gYWxzbyBhbGxvd3MgcmVmb3JtYXR0aW5nIG9mIG1ldGFkYXRhIGZvciBlYXNlLW9mLXJlYWRpbmcKK2FuZCByZXdyaXRpbmcgYXV0aG9yc2hpcCBpbmZvIGZvciBub24tInN2bi5hdXRob3JzRmlsZSIgdXNlcnMuCiAKIHN2bi51c2VTdm1Qcm9wczo6CiBzdm4tcmVtb3RlLjxuYW1lPi51c2VTdm1Qcm9wczo6CkBAIC0xMTAwLDEwICsxMTAxLDEwIEBACiAJdGFncyA9IHRhZ3MvKi9wcm9qZWN0LWE6cmVmcy9yZW1vdGVzL3Byb2plY3QtYS90YWdzLyoKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1LZWVwIGluIG1pbmQgdGhhdCB0aGUgJ1wqJyAoYXN0ZXJpc2spIHdpbGRjYXJkIG9mIHRoZSBsb2NhbCByZWYKLShyaWdodCBvZiB0aGUgJzonKSAqbXVzdCogYmUgdGhlIGZhcnRoZXN0IHJpZ2h0IHBhdGggY29tcG9uZW50OworS2VlcCBpbiBtaW5kIHRoYXQgdGhlIGAqYCAoYXN0ZXJpc2spIHdpbGRjYXJkIG9mIHRoZSBsb2NhbCByZWYKKyhyaWdodCBvZiB0aGUgYDpgKSAqbXVzdCogYmUgdGhlIGZhcnRoZXN0IHJpZ2h0IHBhdGggY29tcG9uZW50OwogaG93ZXZlciB0aGUgcmVtb3RlIHdpbGRjYXJkIG1heSBiZSBhbnl3aGVyZSBhcyBsb25nIGFzIGl0J3MgYW4KLWluZGVwZW5kZW50IHBhdGggY29tcG9uZW50IChzdXJyb3VuZGVkIGJ5ICcvJyBvciBFT0wpLiAgIFRoaXMKK2luZGVwZW5kZW50IHBhdGggY29tcG9uZW50IChzdXJyb3VuZGVkIGJ5IGAvYCBvciBFT0wpLiAgIFRoaXMKIHR5cGUgb2YgY29uZmlndXJhdGlvbiBpcyBub3QgYXV0b21hdGljYWxseSBjcmVhdGVkIGJ5ICdpbml0JyBhbmQKIHNob3VsZCBiZSBtYW51YWxseSBlbnRlcmVkIHdpdGggYSB0ZXh0LWVkaXRvciBvciB1c2luZyAnZ2l0IGNvbmZpZycuCiAKQEAgLTExNTQsNyArMTE1NSw3IEBACiAKIEZJTEVTCiAtLS0tLQotJEdJVF9ESVIvc3ZuL1wqXCovLnJldl9tYXAuKjo6CiskR0lUX0RJUi9zdm4vXCoqLy5yZXZfbWFwLio6OgogCU1hcHBpbmcgYmV0d2VlbiBTdWJ2ZXJzaW9uIHJldmlzaW9uIG51bWJlcnMgYW5kIEdpdCBjb21taXQKIAluYW1lcy4gIEluIGEgcmVwb3NpdG9yeSB3aGVyZSB0aGUgbm9NZXRhZGF0YSBvcHRpb24gaXMgbm90IHNldCwKIAl0aGlzIGNhbiBiZSByZWJ1aWx0IGZyb20gdGhlIGdpdC1zdm4taWQ6IGxpbmVzIHRoYXQgYXJlIGF0IHRoZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtc3dpdGNoLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXN3aXRjaC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk3OTAwMwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXN3aXRjaC50eHQKQEAgLTAsMCArMSwyNzMgQEAKK2dpdC1zd2l0Y2goMSkKKz09PT09PT09PT09PT0KKworTkFNRQorLS0tLQorZ2l0LXN3aXRjaCAtIFN3aXRjaCBicmFuY2hlcworCitTWU5PUFNJUworLS0tLS0tLS0KK1t2ZXJzZV0KKydnaXQgc3dpdGNoJyBbPG9wdGlvbnM+XSBbLS1uby1ndWVzc10gPGJyYW5jaD4KKydnaXQgc3dpdGNoJyBbPG9wdGlvbnM+XSAtLWRldGFjaCBbPHN0YXJ0LXBvaW50Pl0KKydnaXQgc3dpdGNoJyBbPG9wdGlvbnM+XSAoLWN8LUMpIDxuZXctYnJhbmNoPiBbPHN0YXJ0LXBvaW50Pl0KKydnaXQgc3dpdGNoJyBbPG9wdGlvbnM+XSAtLW9ycGhhbiA8bmV3LWJyYW5jaD4KKworREVTQ1JJUFRJT04KKy0tLS0tLS0tLS0tCitTd2l0Y2ggdG8gYSBzcGVjaWZpZWQgYnJhbmNoLiBUaGUgd29ya2luZyB0cmVlIGFuZCB0aGUgaW5kZXggYXJlCit1cGRhdGVkIHRvIG1hdGNoIHRoZSBicmFuY2guIEFsbCBuZXcgY29tbWl0cyB3aWxsIGJlIGFkZGVkIHRvIHRoZSB0aXAKK29mIHRoaXMgYnJhbmNoLgorCitPcHRpb25hbGx5IGEgbmV3IGJyYW5jaCBjb3VsZCBiZSBjcmVhdGVkIHdpdGggZWl0aGVyIGAtY2AsIGAtQ2AsCithdXRvbWF0aWNhbGx5IGZyb20gYSByZW1vdGUgYnJhbmNoIG9mIHNhbWUgbmFtZSAoc2VlIGAtLWd1ZXNzYCksIG9yCitkZXRhY2ggdGhlIHdvcmtpbmcgdHJlZSBmcm9tIGFueSBicmFuY2ggd2l0aCBgLS1kZXRhY2hgLCBhbG9uZyB3aXRoCitzd2l0Y2hpbmcuCisKK1N3aXRjaGluZyBicmFuY2hlcyBkb2VzIG5vdCByZXF1aXJlIGEgY2xlYW4gaW5kZXggYW5kIHdvcmtpbmcgdHJlZQorKGkuZS4gbm8gZGlmZmVyZW5jZXMgY29tcGFyZWQgdG8gYEhFQURgKS4gVGhlIG9wZXJhdGlvbiBpcyBhYm9ydGVkCitob3dldmVyIGlmIHRoZSBvcGVyYXRpb24gbGVhZHMgdG8gbG9zcyBvZiBsb2NhbCBjaGFuZ2VzLCB1bmxlc3MgdG9sZAorb3RoZXJ3aXNlIHdpdGggYC0tZGlzY2FyZC1jaGFuZ2VzYCBvciBgLS1tZXJnZWAuCisKK1RISVMgQ09NTUFORCBJUyBFWFBFUklNRU5UQUwuIFRIRSBCRUhBVklPUiBNQVkgQ0hBTkdFLgorCitPUFRJT05TCistLS0tLS0tCis8YnJhbmNoPjo6CisJQnJhbmNoIHRvIHN3aXRjaCB0by4KKworPG5ldy1icmFuY2g+OjoKKwlOYW1lIGZvciB0aGUgbmV3IGJyYW5jaC4KKworPHN0YXJ0LXBvaW50Pjo6CisJVGhlIHN0YXJ0aW5nIHBvaW50IGZvciB0aGUgbmV3IGJyYW5jaC4gU3BlY2lmeWluZyBhCisJYDxzdGFydC1wb2ludD5gIGFsbG93cyB5b3UgdG8gY3JlYXRlIGEgYnJhbmNoIGJhc2VkIG9uIHNvbWUKKwlvdGhlciBwb2ludCBpbiBoaXN0b3J5IHRoYW4gd2hlcmUgSEVBRCBjdXJyZW50bHkgcG9pbnRzLiAoT3IsCisJaW4gdGhlIGNhc2Ugb2YgYC0tZGV0YWNoYCwgYWxsb3dzIHlvdSB0byBpbnNwZWN0IGFuZCBkZXRhY2gKKwlmcm9tIHNvbWUgb3RoZXIgcG9pbnQuKQorKworWW91IGNhbiB1c2UgdGhlIGBAey1OfWAgc3ludGF4IHRvIHJlZmVyIHRvIHRoZSBOLXRoIGxhc3QKK2JyYW5jaC9jb21taXQgc3dpdGNoZWQgdG8gdXNpbmcgImdpdCBzd2l0Y2giIG9yICJnaXQgY2hlY2tvdXQiCitvcGVyYXRpb24uIFlvdSBtYXkgYWxzbyBzcGVjaWZ5IGAtYCB3aGljaCBpcyBzeW5vbnltb3VzIHRvIGBAey0xfWAuCitUaGlzIGlzIG9mdGVuIHVzZWQgdG8gc3dpdGNoIHF1aWNrbHkgYmV0d2VlbiB0d28gYnJhbmNoZXMsIG9yIHRvIHVuZG8KK2EgYnJhbmNoIHN3aXRjaCBieSBtaXN0YWtlLgorKworQXMgYSBzcGVjaWFsIGNhc2UsIHlvdSBtYXkgdXNlIGBBLi4uQmAgYXMgYSBzaG9ydGN1dCBmb3IgdGhlIG1lcmdlCitiYXNlIG9mIGBBYCBhbmQgYEJgIGlmIHRoZXJlIGlzIGV4YWN0bHkgb25lIG1lcmdlIGJhc2UuIFlvdSBjYW4gbGVhdmUKK291dCBhdCBtb3N0IG9uZSBvZiBgQWAgYW5kIGBCYCwgaW4gd2hpY2ggY2FzZSBpdCBkZWZhdWx0cyB0byBgSEVBRGAuCisKKy1jIDxuZXctYnJhbmNoPjo6CistLWNyZWF0ZSA8bmV3LWJyYW5jaD46OgorCUNyZWF0ZSBhIG5ldyBicmFuY2ggbmFtZWQgYDxuZXctYnJhbmNoPmAgc3RhcnRpbmcgYXQKKwlgPHN0YXJ0LXBvaW50PmAgYmVmb3JlIHN3aXRjaGluZyB0byB0aGUgYnJhbmNoLiBUaGlzIGlzIGEKKwljb252ZW5pZW50IHNob3J0Y3V0IGZvcjoKKysKKy0tLS0tLS0tLS0tLQorJCBnaXQgYnJhbmNoIDxuZXctYnJhbmNoPgorJCBnaXQgc3dpdGNoIDxuZXctYnJhbmNoPgorLS0tLS0tLS0tLS0tCisKKy1DIDxuZXctYnJhbmNoPjo6CistLWZvcmNlLWNyZWF0ZSA8bmV3LWJyYW5jaD46OgorCVNpbWlsYXIgdG8gYC0tY3JlYXRlYCBleGNlcHQgdGhhdCBpZiBgPG5ldy1icmFuY2g+YCBhbHJlYWR5CisJZXhpc3RzLCBpdCB3aWxsIGJlIHJlc2V0IHRvIGA8c3RhcnQtcG9pbnQ+YC4gVGhpcyBpcyBhCisJY29udmVuaWVudCBzaG9ydGN1dCBmb3I6CisrCistLS0tLS0tLS0tLS0KKyQgZ2l0IGJyYW5jaCAtZiA8bmV3LWJyYW5jaD4KKyQgZ2l0IHN3aXRjaCA8bmV3LWJyYW5jaD4KKy0tLS0tLS0tLS0tLQorCistZDo6CistLWRldGFjaDo6CisJU3dpdGNoIHRvIGEgY29tbWl0IGZvciBpbnNwZWN0aW9uIGFuZCBkaXNjYXJkYWJsZQorCWV4cGVyaW1lbnRzLiBTZWUgdGhlICJERVRBQ0hFRCBIRUFEIiBzZWN0aW9uIGluCisJbGlua2dpdDpnaXQtY2hlY2tvdXRbMV0gZm9yIGRldGFpbHMuCisKKy0tZ3Vlc3M6OgorLS1uby1ndWVzczo6CisJSWYgYDxicmFuY2g+YCBpcyBub3QgZm91bmQgYnV0IHRoZXJlIGRvZXMgZXhpc3QgYSB0cmFja2luZworCWJyYW5jaCBpbiBleGFjdGx5IG9uZSByZW1vdGUgKGNhbGwgaXQgYDxyZW1vdGU+YCkgd2l0aCBhCisJbWF0Y2hpbmcgbmFtZSwgdHJlYXQgYXMgZXF1aXZhbGVudCB0bworKworLS0tLS0tLS0tLS0tCiskIGdpdCBzd2l0Y2ggLWMgPGJyYW5jaD4gLS10cmFjayA8cmVtb3RlPi88YnJhbmNoPgorLS0tLS0tLS0tLS0tCisrCitJZiB0aGUgYnJhbmNoIGV4aXN0cyBpbiBtdWx0aXBsZSByZW1vdGVzIGFuZCBvbmUgb2YgdGhlbSBpcyBuYW1lZCBieQordGhlIGBjaGVja291dC5kZWZhdWx0UmVtb3RlYCBjb25maWd1cmF0aW9uIHZhcmlhYmxlLCB3ZSdsbCB1c2UgdGhhdAorb25lIGZvciB0aGUgcHVycG9zZXMgb2YgZGlzYW1iaWd1YXRpb24sIGV2ZW4gaWYgdGhlIGA8YnJhbmNoPmAgaXNuJ3QKK3VuaXF1ZSBhY3Jvc3MgYWxsIHJlbW90ZXMuIFNldCBpdCB0byBlLmcuIGBjaGVja291dC5kZWZhdWx0UmVtb3RlPW9yaWdpbmAKK3RvIGFsd2F5cyBjaGVja291dCByZW1vdGUgYnJhbmNoZXMgZnJvbSB0aGVyZSBpZiBgPGJyYW5jaD5gIGlzCithbWJpZ3VvdXMgYnV0IGV4aXN0cyBvbiB0aGUgJ29yaWdpbicgcmVtb3RlLiBTZWUgYWxzbworYGNoZWNrb3V0LmRlZmF1bHRSZW1vdGVgIGluIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXS4KKysKK2AtLWd1ZXNzYCBpcyB0aGUgZGVmYXVsdCBiZWhhdmlvci4gVXNlIGAtLW5vLWd1ZXNzYCB0byBkaXNhYmxlIGl0LgorCistZjo6CistLWZvcmNlOjoKKwlBbiBhbGlhcyBmb3IgYC0tZGlzY2FyZC1jaGFuZ2VzYC4KKworLS1kaXNjYXJkLWNoYW5nZXM6OgorCVByb2NlZWQgZXZlbiBpZiB0aGUgaW5kZXggb3IgdGhlIHdvcmtpbmcgdHJlZSBkaWZmZXJzIGZyb20KKwlgSEVBRGAuIEJvdGggdGhlIGluZGV4IGFuZCB3b3JraW5nIHRyZWUgYXJlIHJlc3RvcmVkIHRvIG1hdGNoCisJdGhlIHN3aXRjaGluZyB0YXJnZXQuIElmIGAtLXJlY3Vyc2Utc3VibW9kdWxlc2AgaXMgc3BlY2lmaWVkLAorCXN1Ym1vZHVsZSBjb250ZW50IGlzIGFsc28gcmVzdG9yZWQgdG8gbWF0Y2ggdGhlIHN3aXRjaGluZworCXRhcmdldC4gVGhpcyBpcyB1c2VkIHRvIHRocm93IGF3YXkgbG9jYWwgY2hhbmdlcy4KKworLW06OgorLS1tZXJnZTo6CisJSWYgeW91IGhhdmUgbG9jYWwgbW9kaWZpY2F0aW9ucyB0byBvbmUgb3IgbW9yZSBmaWxlcyB0aGF0IGFyZQorCWRpZmZlcmVudCBiZXR3ZWVuIHRoZSBjdXJyZW50IGJyYW5jaCBhbmQgdGhlIGJyYW5jaCB0byB3aGljaAorCXlvdSBhcmUgc3dpdGNoaW5nLCB0aGUgY29tbWFuZCByZWZ1c2VzIHRvIHN3aXRjaCBicmFuY2hlcyBpbgorCW9yZGVyIHRvIHByZXNlcnZlIHlvdXIgbW9kaWZpY2F0aW9ucyBpbiBjb250ZXh0LiAgSG93ZXZlciwKKwl3aXRoIHRoaXMgb3B0aW9uLCBhIHRocmVlLXdheSBtZXJnZSBiZXR3ZWVuIHRoZSBjdXJyZW50CisJYnJhbmNoLCB5b3VyIHdvcmtpbmcgdHJlZSBjb250ZW50cywgYW5kIHRoZSBuZXcgYnJhbmNoIGlzCisJZG9uZSwgYW5kIHlvdSB3aWxsIGJlIG9uIHRoZSBuZXcgYnJhbmNoLgorKworV2hlbiBhIG1lcmdlIGNvbmZsaWN0IGhhcHBlbnMsIHRoZSBpbmRleCBlbnRyaWVzIGZvciBjb25mbGljdGluZworcGF0aHMgYXJlIGxlZnQgdW5tZXJnZWQsIGFuZCB5b3UgbmVlZCB0byByZXNvbHZlIHRoZSBjb25mbGljdHMKK2FuZCBtYXJrIHRoZSByZXNvbHZlZCBwYXRocyB3aXRoIGBnaXQgYWRkYCAob3IgYGdpdCBybWAgaWYgdGhlIG1lcmdlCitzaG91bGQgcmVzdWx0IGluIGRlbGV0aW9uIG9mIHRoZSBwYXRoKS4KKworLS1jb25mbGljdD08c3R5bGU+OjoKKwlUaGUgc2FtZSBhcyBgLS1tZXJnZWAgb3B0aW9uIGFib3ZlLCBidXQgY2hhbmdlcyB0aGUgd2F5IHRoZQorCWNvbmZsaWN0aW5nIGh1bmtzIGFyZSBwcmVzZW50ZWQsIG92ZXJyaWRpbmcgdGhlCisJYG1lcmdlLmNvbmZsaWN0U3R5bGVgIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUuICBQb3NzaWJsZSB2YWx1ZXMgYXJlCisJIm1lcmdlIiAoZGVmYXVsdCkgYW5kICJkaWZmMyIgKGluIGFkZGl0aW9uIHRvIHdoYXQgaXMgc2hvd24gYnkKKwkibWVyZ2UiIHN0eWxlLCBzaG93cyB0aGUgb3JpZ2luYWwgY29udGVudHMpLgorCistcTo6CistLXF1aWV0OjoKKwlRdWlldCwgc3VwcHJlc3MgZmVlZGJhY2sgbWVzc2FnZXMuCisKKy0tcHJvZ3Jlc3M6OgorLS1uby1wcm9ncmVzczo6CisJUHJvZ3Jlc3Mgc3RhdHVzIGlzIHJlcG9ydGVkIG9uIHRoZSBzdGFuZGFyZCBlcnJvciBzdHJlYW0KKwlieSBkZWZhdWx0IHdoZW4gaXQgaXMgYXR0YWNoZWQgdG8gYSB0ZXJtaW5hbCwgdW5sZXNzIGAtLXF1aWV0YAorCWlzIHNwZWNpZmllZC4gVGhpcyBmbGFnIGVuYWJsZXMgcHJvZ3Jlc3MgcmVwb3J0aW5nIGV2ZW4gaWYgbm90CisJYXR0YWNoZWQgdG8gYSB0ZXJtaW5hbCwgcmVnYXJkbGVzcyBvZiBgLS1xdWlldGAuCisKKy10OjoKKy0tdHJhY2s6OgorCVdoZW4gY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCBzZXQgdXAgInVwc3RyZWFtIiBjb25maWd1cmF0aW9uLgorCWAtY2AgaXMgaW1wbGllZC4gU2VlIGAtLXRyYWNrYCBpbiBsaW5rZ2l0OmdpdC1icmFuY2hbMV0gZm9yCisJZGV0YWlscy4KKysKK0lmIG5vIGAtY2Agb3B0aW9uIGlzIGdpdmVuLCB0aGUgbmFtZSBvZiB0aGUgbmV3IGJyYW5jaCB3aWxsIGJlIGRlcml2ZWQKK2Zyb20gdGhlIHJlbW90ZS10cmFja2luZyBicmFuY2gsIGJ5IGxvb2tpbmcgYXQgdGhlIGxvY2FsIHBhcnQgb2YgdGhlCityZWZzcGVjIGNvbmZpZ3VyZWQgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHJlbW90ZSwgYW5kIHRoZW4gc3RyaXBwaW5nCit0aGUgaW5pdGlhbCBwYXJ0IHVwIHRvIHRoZSAiKiIuICBUaGlzIHdvdWxkIHRlbGwgdXMgdG8gdXNlIGBoYWNrYCBhcwordGhlIGxvY2FsIGJyYW5jaCB3aGVuIGJyYW5jaGluZyBvZmYgb2YgYG9yaWdpbi9oYWNrYCAob3IKK2ByZW1vdGVzL29yaWdpbi9oYWNrYCwgb3IgZXZlbiBgcmVmcy9yZW1vdGVzL29yaWdpbi9oYWNrYCkuICBJZiB0aGUKK2dpdmVuIG5hbWUgaGFzIG5vIHNsYXNoLCBvciB0aGUgYWJvdmUgZ3Vlc3NpbmcgcmVzdWx0cyBpbiBhbiBlbXB0eQorbmFtZSwgdGhlIGd1ZXNzaW5nIGlzIGFib3J0ZWQuICBZb3UgY2FuIGV4cGxpY2l0bHkgZ2l2ZSBhIG5hbWUgd2l0aAorYC1jYCBpbiBzdWNoIGEgY2FzZS4KKworLS1uby10cmFjazo6CisJRG8gbm90IHNldCB1cCAidXBzdHJlYW0iIGNvbmZpZ3VyYXRpb24sIGV2ZW4gaWYgdGhlCisJYGJyYW5jaC5hdXRvU2V0dXBNZXJnZWAgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBpcyB0cnVlLgorCistLW9ycGhhbiA8bmV3LWJyYW5jaD46OgorCUNyZWF0ZSBhIG5ldyAnb3JwaGFuJyBicmFuY2gsIG5hbWVkIGA8bmV3LWJyYW5jaD5gLiBBbGwKKwl0cmFja2VkIGZpbGVzIGFyZSByZW1vdmVkLgorCistLWlnbm9yZS1vdGhlci13b3JrdHJlZXM6OgorCWBnaXQgc3dpdGNoYCByZWZ1c2VzIHdoZW4gdGhlIHdhbnRlZCByZWYgaXMgYWxyZWFkeQorCWNoZWNrZWQgb3V0IGJ5IGFub3RoZXIgd29ya3RyZWUuIFRoaXMgb3B0aW9uIG1ha2VzIGl0IGNoZWNrCisJdGhlIHJlZiBvdXQgYW55d2F5LiBJbiBvdGhlciB3b3JkcywgdGhlIHJlZiBjYW4gYmUgaGVsZCBieQorCW1vcmUgdGhhbiBvbmUgd29ya3RyZWUuCisKKy0tcmVjdXJzZS1zdWJtb2R1bGVzOjoKKy0tbm8tcmVjdXJzZS1zdWJtb2R1bGVzOjoKKwlVc2luZyBgLS1yZWN1cnNlLXN1Ym1vZHVsZXNgIHdpbGwgdXBkYXRlIHRoZSBjb250ZW50IG9mIGFsbAorCWluaXRpYWxpemVkIHN1Ym1vZHVsZXMgYWNjb3JkaW5nIHRvIHRoZSBjb21taXQgcmVjb3JkZWQgaW4gdGhlCisJc3VwZXJwcm9qZWN0LiBJZiBub3RoaW5nIChvciBgLS1uby1yZWN1cnNlLXN1Ym1vZHVsZXNgKSBpcworCXVzZWQsIHRoZSB3b3JrIHRyZWVzIG9mIHN1Ym1vZHVsZXMgd2lsbCBub3QgYmUgdXBkYXRlZC4gSnVzdAorCWxpa2UgbGlua2dpdDpnaXQtc3VibW9kdWxlWzFdLCB0aGlzIHdpbGwgZGV0YWNoIGBIRUFEYCBvZiB0aGUKKwlzdWJtb2R1bGVzLgorCitFWEFNUExFUworLS0tLS0tLS0KKworVGhlIGZvbGxvd2luZyBjb21tYW5kIHN3aXRjaGVzIHRvIHRoZSAibWFzdGVyIiBicmFuY2g6CisKKy0tLS0tLS0tLS0tLQorJCBnaXQgc3dpdGNoIG1hc3RlcgorLS0tLS0tLS0tLS0tCisKK0FmdGVyIHdvcmtpbmcgaW4gdGhlIHdyb25nIGJyYW5jaCwgc3dpdGNoaW5nIHRvIHRoZSBjb3JyZWN0IGJyYW5jaAord291bGQgYmUgZG9uZSB1c2luZzoKKworLS0tLS0tLS0tLS0tCiskIGdpdCBzd2l0Y2ggbXl0b3BpYworLS0tLS0tLS0tLS0tCisKK0hvd2V2ZXIsIHlvdXIgIndyb25nIiBicmFuY2ggYW5kIGNvcnJlY3QgIm15dG9waWMiIGJyYW5jaCBtYXkgZGlmZmVyCitpbiBmaWxlcyB0aGF0IHlvdSBoYXZlIG1vZGlmaWVkIGxvY2FsbHksIGluIHdoaWNoIGNhc2UgdGhlIGFib3ZlCitzd2l0Y2ggd291bGQgZmFpbCBsaWtlIHRoaXM6CisKKy0tLS0tLS0tLS0tLQorJCBnaXQgc3dpdGNoIG15dG9waWMKK2Vycm9yOiBZb3UgaGF2ZSBsb2NhbCBjaGFuZ2VzIHRvICdmcm90eic7IG5vdCBzd2l0Y2hpbmcgYnJhbmNoZXMuCistLS0tLS0tLS0tLS0KKworWW91IGNhbiBnaXZlIHRoZSBgLW1gIGZsYWcgdG8gdGhlIGNvbW1hbmQsIHdoaWNoIHdvdWxkIHRyeSBhIHRocmVlLXdheQorbWVyZ2U6CisKKy0tLS0tLS0tLS0tLQorJCBnaXQgc3dpdGNoIC1tIG15dG9waWMKK0F1dG8tbWVyZ2luZyBmcm90egorLS0tLS0tLS0tLS0tCisKK0FmdGVyIHRoaXMgdGhyZWUtd2F5IG1lcmdlLCB0aGUgbG9jYWwgbW9kaWZpY2F0aW9ucyBhcmUgX25vdF8KK3JlZ2lzdGVyZWQgaW4geW91ciBpbmRleCBmaWxlLCBzbyBgZ2l0IGRpZmZgIHdvdWxkIHNob3cgeW91IHdoYXQKK2NoYW5nZXMgeW91IG1hZGUgc2luY2UgdGhlIHRpcCBvZiB0aGUgbmV3IGJyYW5jaC4KKworVG8gc3dpdGNoIGJhY2sgdG8gdGhlIHByZXZpb3VzIGJyYW5jaCBiZWZvcmUgd2Ugc3dpdGNoZWQgdG8gbXl0b3BpYworKGkuZS4gIm1hc3RlciIgYnJhbmNoKToKKworLS0tLS0tLS0tLS0tCiskIGdpdCBzd2l0Y2ggLQorLS0tLS0tLS0tLS0tCisKK1lvdSBjYW4gZ3JvdyBhIG5ldyBicmFuY2ggZnJvbSBhbnkgY29tbWl0LiBGb3IgZXhhbXBsZSwgc3dpdGNoIHRvCisiSEVBRH4zIiBhbmQgY3JlYXRlIGJyYW5jaCAiZml4dXAiOgorCistLS0tLS0tLS0tLS0KKyQgZ2l0IHN3aXRjaCAtYyBmaXh1cCBIRUFEfjMKK1N3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnZml4dXAnCistLS0tLS0tLS0tLS0KKworSWYgeW91IHdhbnQgdG8gc3RhcnQgYSBuZXcgYnJhbmNoIGZyb20gYSByZW1vdGUgYnJhbmNoIG9mIHRoZSBzYW1lCituYW1lOgorCistLS0tLS0tLS0tLS0KKyQgZ2l0IHN3aXRjaCBuZXctdG9waWMKK0JyYW5jaCAnbmV3LXRvcGljJyBzZXQgdXAgdG8gdHJhY2sgcmVtb3RlIGJyYW5jaCAnbmV3LXRvcGljJyBmcm9tICdvcmlnaW4nCitTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJ25ldy10b3BpYycKKy0tLS0tLS0tLS0tLQorCitUbyBjaGVjayBvdXQgY29tbWl0IGBIRUFEfjNgIGZvciB0ZW1wb3JhcnkgaW5zcGVjdGlvbiBvciBleHBlcmltZW50Cit3aXRob3V0IGNyZWF0aW5nIGEgbmV3IGJyYW5jaDoKKworLS0tLS0tLS0tLS0tCiskIGdpdCBzd2l0Y2ggLS1kZXRhY2ggSEVBRH4zCitIRUFEIGlzIG5vdyBhdCA5ZmM5NTU1MzEyIE1lcmdlIGJyYW5jaCAnY2Mvc2hhcmVkLWluZGV4LXBlcm1iaXRzJworLS0tLS0tLS0tLS0tCisKK0lmIGl0IHR1cm5zIG91dCB3aGF0ZXZlciB5b3UgaGF2ZSBkb25lIGlzIHdvcnRoIGtlZXBpbmcsIHlvdSBjYW4KK2Fsd2F5cyBjcmVhdGUgYSBuZXcgbmFtZSBmb3IgaXQgKHdpdGhvdXQgc3dpdGNoaW5nIGF3YXkpOgorCistLS0tLS0tLS0tLS0KKyQgZ2l0IHN3aXRjaCAtYyBnb29kLXN1cnByaXNlcworLS0tLS0tLS0tLS0tCisKK1NFRSBBTFNPCistLS0tLS0tLQorbGlua2dpdDpnaXQtY2hlY2tvdXRbMV0sCitsaW5rZ2l0OmdpdC1icmFuY2hbMV0KKworR0lUCistLS0KK1BhcnQgb2YgdGhlIGxpbmtnaXQ6Z2l0WzFdIHN1aXRlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC10YWcudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtdGFnLnR4dAppbmRleCBmMmQ2NDRlLi5mNmQ5NzkxIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC10YWcudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0LXRhZy50eHQKQEAgLTY0LDYgKzY0LDEzIEBACiAtczo6CiAtLXNpZ246OgogCU1ha2UgYSBHUEctc2lnbmVkIHRhZywgdXNpbmcgdGhlIGRlZmF1bHQgZS1tYWlsIGFkZHJlc3MncyBrZXkuCisJVGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGFnIEdQRy1zaWduaW5nIGlzIGNvbnRyb2xsZWQgYnkgYHRhZy5ncGdTaWduYAorCWNvbmZpZ3VyYXRpb24gdmFyaWFibGUgaWYgaXQgZXhpc3RzLCBvciBkaXNhYmxlZCBvdGhlcndpc2UuCisJU2VlIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXS4KKworLS1uby1zaWduOjoKKwlPdmVycmlkZSBgdGFnLmdwZ1NpZ25gIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdGhhdCBpcworCXNldCB0byBmb3JjZSBlYWNoIGFuZCBldmVyeSB0YWcgdG8gYmUgc2lnbmVkLgogCiAtdSA8a2V5aWQ+OjoKIC0tbG9jYWwtdXNlcj08a2V5aWQ+OjoKQEAgLTIzNywxNiArMjQ0LDE2IEBACiB0aGUgb2xkIHRhZy4gSW4gdGhhdCBjYXNlIHlvdSBjYW4gZG8gb25lIG9mIHR3byB0aGluZ3M6CiAKIC4gVGhlIHNhbmUgdGhpbmcuCi1KdXN0IGFkbWl0IHlvdSBzY3Jld2VkIHVwLCBhbmQgdXNlIGEgZGlmZmVyZW50IG5hbWUuIE90aGVycyBoYXZlCi1hbHJlYWR5IHNlZW4gb25lIHRhZy1uYW1lLCBhbmQgaWYgeW91IGtlZXAgdGhlIHNhbWUgbmFtZSwgeW91Ci1tYXkgYmUgaW4gdGhlIHNpdHVhdGlvbiB0aGF0IHR3byBwZW9wbGUgYm90aCBoYXZlICJ2ZXJzaW9uIFgiLAotYnV0IHRoZXkgYWN0dWFsbHkgaGF2ZSAnZGlmZmVyZW50JyAiWCIncy4gIFNvIGp1c3QgY2FsbCBpdCAiWC4xIgotYW5kIGJlIGRvbmUgd2l0aCBpdC4KKyAgSnVzdCBhZG1pdCB5b3Ugc2NyZXdlZCB1cCwgYW5kIHVzZSBhIGRpZmZlcmVudCBuYW1lLiBPdGhlcnMgaGF2ZQorICBhbHJlYWR5IHNlZW4gb25lIHRhZy1uYW1lLCBhbmQgaWYgeW91IGtlZXAgdGhlIHNhbWUgbmFtZSwgeW91CisgIG1heSBiZSBpbiB0aGUgc2l0dWF0aW9uIHRoYXQgdHdvIHBlb3BsZSBib3RoIGhhdmUgInZlcnNpb24gWCIsCisgIGJ1dCB0aGV5IGFjdHVhbGx5IGhhdmUgJ2RpZmZlcmVudCcgIlgiJ3MuICBTbyBqdXN0IGNhbGwgaXQgIlguMSIKKyAgYW5kIGJlIGRvbmUgd2l0aCBpdC4KIAogLiBUaGUgaW5zYW5lIHRoaW5nLgotWW91IHJlYWxseSB3YW50IHRvIGNhbGwgdGhlIG5ldyB2ZXJzaW9uICJYIiB0b28sICdldmVuIHRob3VnaCcKLW90aGVycyBoYXZlIGFscmVhZHkgc2VlbiB0aGUgb2xkIG9uZS4gU28ganVzdCB1c2UgJ2dpdCB0YWcgLWYnCi1hZ2FpbiwgYXMgaWYgeW91IGhhZG4ndCBhbHJlYWR5IHB1Ymxpc2hlZCB0aGUgb2xkIG9uZS4KKyAgWW91IHJlYWxseSB3YW50IHRvIGNhbGwgdGhlIG5ldyB2ZXJzaW9uICJYIiB0b28sICdldmVuIHRob3VnaCcKKyAgb3RoZXJzIGhhdmUgYWxyZWFkeSBzZWVuIHRoZSBvbGQgb25lLiBTbyBqdXN0IHVzZSAnZ2l0IHRhZyAtZicKKyAgYWdhaW4sIGFzIGlmIHlvdSBoYWRuJ3QgYWxyZWFkeSBwdWJsaXNoZWQgdGhlIG9sZCBvbmUuCiAKIEhvd2V2ZXIsIEdpdCBkb2VzICpub3QqIChhbmQgaXQgc2hvdWxkIG5vdCkgY2hhbmdlIHRhZ3MgYmVoaW5kCiB1c2VycyBiYWNrLiBTbyBpZiBzb21lYm9keSBhbHJlYWR5IGdvdCB0aGUgb2xkIHRhZywgZG9pbmcgYQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtdXBkYXRlLWluZGV4LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXVwZGF0ZS1pbmRleC50eHQKaW5kZXggMWM0ZDE0Ni4uMTQ4OWNiMCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXQtdXBkYXRlLWluZGV4LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC11cGRhdGUtaW5kZXgudHh0CkBAIC0xNiw2ICsxNiw3IEBACiAJICAgICBbLS1jaG1vZD0oK3wtKXhdCiAJICAgICBbLS1bbm8tXWFzc3VtZS11bmNoYW5nZWRdCiAJICAgICBbLS1bbm8tXXNraXAtd29ya3RyZWVdCisJICAgICBbLS1bbm8tXWlnbm9yZS1za2lwLXdvcmt0cmVlLWVudHJpZXNdCiAJICAgICBbLS1bbm8tXWZzbW9uaXRvci12YWxpZF0KIAkgICAgIFstLWlnbm9yZS1zdWJtb2R1bGVzXQogCSAgICAgWy0tW25vLV1zcGxpdC1pbmRleF0KQEAgLTExMyw2ICsxMTQsMTEgQEAKIAlzZXQgYW5kIHVuc2V0IHRoZSAic2tpcC13b3JrdHJlZSIgYml0IGZvciB0aGUgcGF0aHMuIFNlZQogCXNlY3Rpb24gIlNraXAtd29ya3RyZWUgYml0IiBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KIAorCistLVtuby1daWdub3JlLXNraXAtd29ya3RyZWUtZW50cmllczo6CisJRG8gbm90IHJlbW92ZSBza2lwLXdvcmt0cmVlIChBS0EgImluZGV4LW9ubHkiKSBlbnRyaWVzIGV2ZW4gd2hlbgorCXRoZSBgLS1yZW1vdmVgIG9wdGlvbiB3YXMgc3BlY2lmaWVkLgorCiAtLVtuby1dZnNtb25pdG9yLXZhbGlkOjoKIAlXaGVuIG9uZSBvZiB0aGVzZSBmbGFncyBpcyBzcGVjaWZpZWQsIHRoZSBvYmplY3QgbmFtZSByZWNvcmRlZAogCWZvciB0aGUgcGF0aHMgYXJlIG5vdCB1cGRhdGVkLiBJbnN0ZWFkLCB0aGVzZSBvcHRpb25zCkBAIC00MjYsNyArNDMyLDcgQEAKIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXSkuCiAKIFRvIGF2b2lkIGRlbGV0aW5nIGEgc2hhcmVkIGluZGV4IGZpbGUgdGhhdCBpcyBzdGlsbCB1c2VkLCBpdHMKLW1vZGlmaWNhdGlvbiB0aW1lIGlzIHVwZGF0ZWQgdG8gdGhlIGN1cnJlbnQgdGltZSBldmVyeXRpbWUgYSBuZXcgc3BsaXQKK21vZGlmaWNhdGlvbiB0aW1lIGlzIHVwZGF0ZWQgdG8gdGhlIGN1cnJlbnQgdGltZSBldmVyeSB0aW1lIGEgbmV3IHNwbGl0CiBpbmRleCBiYXNlZCBvbiB0aGUgc2hhcmVkIGluZGV4IGZpbGUgaXMgZWl0aGVyIGNyZWF0ZWQgb3IgcmVhZCBmcm9tLgogCiBVTlRSQUNLRUQgQ0FDSEUKQEAgLTU0Myw2ICs1NDksMjIgQEAKIGBjb3JlLnVudHJhY2tlZENhY2hlYCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIChzZWUKIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXSkuCiAKK05PVEVTCistLS0tLQorCitVc2VycyBvZnRlbiB0cnkgdG8gdXNlIHRoZSBhc3N1bWUtdW5jaGFuZ2VkIGFuZCBza2lwLXdvcmt0cmVlIGJpdHMKK3RvIHRlbGwgR2l0IHRvIGlnbm9yZSBjaGFuZ2VzIHRvIGZpbGVzIHRoYXQgYXJlIHRyYWNrZWQuICBUaGlzIGRvZXMgbm90Cit3b3JrIGFzIGV4cGVjdGVkLCBzaW5jZSBHaXQgbWF5IHN0aWxsIGNoZWNrIHdvcmtpbmcgdHJlZSBmaWxlcyBhZ2FpbnN0Cit0aGUgaW5kZXggd2hlbiBwZXJmb3JtaW5nIGNlcnRhaW4gb3BlcmF0aW9ucy4gIEluIGdlbmVyYWwsIEdpdCBkb2VzIG5vdAorcHJvdmlkZSBhIHdheSB0byBpZ25vcmUgY2hhbmdlcyB0byB0cmFja2VkIGZpbGVzLCBzbyBhbHRlcm5hdGUgc29sdXRpb25zCithcmUgcmVjb21tZW5kZWQuCisKK0ZvciBleGFtcGxlLCBpZiB0aGUgZmlsZSB5b3Ugd2FudCB0byBjaGFuZ2UgaXMgc29tZSBzb3J0IG9mIGNvbmZpZyBmaWxlLAordGhlIHJlcG9zaXRvcnkgY2FuIGluY2x1ZGUgYSBzYW1wbGUgY29uZmlnIGZpbGUgdGhhdCBjYW4gdGhlbiBiZSBjb3BpZWQKK2ludG8gdGhlIGlnbm9yZWQgbmFtZSBhbmQgbW9kaWZpZWQuICBUaGUgcmVwb3NpdG9yeSBjYW4gZXZlbiBpbmNsdWRlIGEKK3NjcmlwdCB0byB0cmVhdCB0aGUgc2FtcGxlIGZpbGUgYXMgYSB0ZW1wbGF0ZSwgbW9kaWZ5aW5nIGFuZCBjb3B5aW5nIGl0CithdXRvbWF0aWNhbGx5LgorCiBTRUUgQUxTTwogLS0tLS0tLS0KIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXSwKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mby50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdC11cGRhdGUtc2VydmVyLWluZm8udHh0CmluZGV4IGJkMGUzNjQuLjk2OWJiMmUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mby50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtdXBkYXRlLXNlcnZlci1pbmZvLnR4dApAQCAtOSw3ICs5LDcgQEAKIFNZTk9QU0lTCiAtLS0tLS0tLQogW3ZlcnNlXQotJ2dpdCB1cGRhdGUtc2VydmVyLWluZm8nIFstLWZvcmNlXQorJ2dpdCB1cGRhdGUtc2VydmVyLWluZm8nCiAKIERFU0NSSVBUSU9OCiAtLS0tLS0tLS0tLQpAQCAtMTksMTUgKzE5LDYgQEAKIHdoYXQgcmVmZXJlbmNlcyBhbmQgcGFja3MgdGhlIHNlcnZlciBoYXMuICBUaGlzIGNvbW1hbmQKIGdlbmVyYXRlcyBzdWNoIGF1eGlsaWFyeSBmaWxlcy4KIAotCi1PUFRJT05TCi0tLS0tLS0tCi0KLS1mOjoKLS0tZm9yY2U6OgotCVVwZGF0ZSB0aGUgaW5mbyBmaWxlcyBmcm9tIHNjcmF0Y2guCi0KLQogT1VUUFVUCiAtLS0tLS0KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXQtdXBsb2FkLXBhY2sudHh0IGIvRG9jdW1lbnRhdGlvbi9naXQtdXBsb2FkLXBhY2sudHh0CmluZGV4IDk5OGY1MmQuLjk4MjJjMWUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0LXVwbG9hZC1wYWNrLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdC11cGxvYWQtcGFjay50eHQKQEAgLTIyLDcgKzIyLDYgQEAKIHByb2dyYW0gcGFpciBpcyBtZWFudCB0byBiZSB1c2VkIHRvIHB1bGwgdXBkYXRlcyBmcm9tIGEgcmVtb3RlCiByZXBvc2l0b3J5LiAgRm9yIHB1c2ggb3BlcmF0aW9ucywgc2VlICdnaXQgc2VuZC1wYWNrJy4KIAotCiBPUFRJT05TCiAtLS0tLS0tCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXdlYi0tYnJvd3NlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXdlYi0tYnJvd3NlLnR4dAppbmRleCBmZDk1MmE1Li44ZDE2MmI1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC13ZWItLWJyb3dzZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtd2ViLS1icm93c2UudHh0CkBAIC05Miw4ICs5Miw4IEBACiBtYW4gcGFnZSBvbiBhbiBhbHJlYWR5IG9wZW5lZCBrb25xdWVyb3IgaW4gYSBuZXcgdGFiIGlmIHBvc3NpYmxlLgogCiBGb3IgY29uc2lzdGVuY3ksIHdlIGFsc28gdHJ5IHN1Y2ggYSB0cmljayBpZiAnYnJvd3Nlci5rb25xdWVyb3IucGF0aCcgaXMKLXNldCB0byBzb21ldGhpbmcgbGlrZSAnQV9QQVRIX1RPL2tvbnF1ZXJvcicuIFRoYXQgbWVhbnMgd2Ugd2lsbCB0cnkgdG8KLWxhdW5jaCAnQV9QQVRIX1RPL2tmbWNsaWVudCcgaW5zdGVhZC4KK3NldCB0byBzb21ldGhpbmcgbGlrZSBgQV9QQVRIX1RPL2tvbnF1ZXJvcmAuIFRoYXQgbWVhbnMgd2Ugd2lsbCB0cnkgdG8KK2xhdW5jaCBgQV9QQVRIX1RPL2tmbWNsaWVudGAgaW5zdGVhZC4KIAogSWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSAna29ucXVlcm9yJywgdGhlbiB5b3UgY2FuIHVzZSBzb21ldGhpbmcgbGlrZQogdGhlIGZvbGxvd2luZzoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXdvcmt0cmVlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LXdvcmt0cmVlLnR4dAppbmRleCBjYjg2MzE4Li44NWQ5MmM5IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC13b3JrdHJlZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQtd29ya3RyZWUudHh0CkBAIC0yMTMsNyArMjEzLDcgQEAKIAogSW4gZ2VuZXJhbCwgYWxsIHBzZXVkbyByZWZzIGFyZSBwZXIgd29ya2luZyB0cmVlIGFuZCBhbGwgcmVmcyBzdGFydGluZwogd2l0aCAicmVmcy8iIGFyZSBzaGFyZWQuIFBzZXVkbyByZWZzIGFyZSBvbmVzIGxpa2UgSEVBRCB3aGljaCBhcmUKLWRpcmVjdGx5IHVuZGVyIEdJVF9ESVIgaW5zdGVhZCBvZiBpbnNpZGUgR0lUX0RJUi9yZWZzLiBUaGVyZSBhcmUgb25lCitkaXJlY3RseSB1bmRlciBHSVRfRElSIGluc3RlYWQgb2YgaW5zaWRlIEdJVF9ESVIvcmVmcy4gVGhlcmUgaXMgb25lCiBleGNlcHRpb24gdG8gdGhpczogcmVmcyBpbnNpZGUgcmVmcy9iaXNlY3QgYW5kIHJlZnMvd29ya3RyZWUgaXMgbm90CiBzaGFyZWQuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0LnR4dAppbmRleCAwMDE1NmQ2Li5iMDY3MmJkIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXQudHh0CkBAIC0zMyw3ICszMyw4IEBACiBtYW51YWwgcGFnZSBnaXZlcyB5b3UgYW4gb3ZlcnZpZXcgb2YgdGhlIGNvbW1hbmQtbGluZSBjb21tYW5kIHN5bnRheC4KIAogQSBmb3JtYXR0ZWQgYW5kIGh5cGVybGlua2VkIGNvcHkgb2YgdGhlIGxhdGVzdCBHaXQgZG9jdW1lbnRhdGlvbgotY2FuIGJlIHZpZXdlZCBhdCBgaHR0cHM6Ly9naXQuZ2l0aHViLmlvL2h0bWxkb2NzL2dpdC5odG1sYC4KK2NhbiBiZSB2aWV3ZWQgYXQgaHR0cHM6Ly9naXQuZ2l0aHViLmlvL2h0bWxkb2NzL2dpdC5odG1sCitvciBodHRwczovL2dpdC1zY20uY29tL2RvY3MuCiAKIAogT1BUSU9OUwpAQCAtNTYsNyArNTcsOCBAQAogCVJ1biBhcyBpZiBnaXQgd2FzIHN0YXJ0ZWQgaW4gJzxwYXRoPicgaW5zdGVhZCBvZiB0aGUgY3VycmVudCB3b3JraW5nCiAJZGlyZWN0b3J5LiAgV2hlbiBtdWx0aXBsZSBgLUNgIG9wdGlvbnMgYXJlIGdpdmVuLCBlYWNoIHN1YnNlcXVlbnQKIAlub24tYWJzb2x1dGUgYC1DIDxwYXRoPmAgaXMgaW50ZXJwcmV0ZWQgcmVsYXRpdmUgdG8gdGhlIHByZWNlZGluZyBgLUMKLQk8cGF0aD5gLgorCTxwYXRoPmAuICBJZiAnPHBhdGg+JyBpcyBwcmVzZW50IGJ1dCBlbXB0eSwgZS5nLiBgLUMgIiJgLCB0aGVuIHRoZQorCWN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgaXMgbGVmdCB1bmNoYW5nZWQuCiArCiBUaGlzIG9wdGlvbiBhZmZlY3RzIG9wdGlvbnMgdGhhdCBleHBlY3QgcGF0aCBuYW1lIGxpa2UgYC0tZ2l0LWRpcmAgYW5kCiBgLS13b3JrLXRyZWVgIGluIHRoYXQgdGhlaXIgaW50ZXJwcmV0YXRpb25zIG9mIHRoZSBwYXRoIG5hbWVzIHdvdWxkIGJlCkBAIC0xMDgsOSArMTEwLDIzIEBACiAJRG8gbm90IHBpcGUgR2l0IG91dHB1dCBpbnRvIGEgcGFnZXIuCiAKIC0tZ2l0LWRpcj08cGF0aD46OgotCVNldCB0aGUgcGF0aCB0byB0aGUgcmVwb3NpdG9yeS4gVGhpcyBjYW4gYWxzbyBiZSBjb250cm9sbGVkIGJ5Ci0Jc2V0dGluZyB0aGUgYEdJVF9ESVJgIGVudmlyb25tZW50IHZhcmlhYmxlLiBJdCBjYW4gYmUgYW4gYWJzb2x1dGUKLQlwYXRoIG9yIHJlbGF0aXZlIHBhdGggdG8gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4KKwlTZXQgdGhlIHBhdGggdG8gdGhlIHJlcG9zaXRvcnkgKCIuZ2l0IiBkaXJlY3RvcnkpLiBUaGlzIGNhbiBhbHNvIGJlCisJY29udHJvbGxlZCBieSBzZXR0aW5nIHRoZSBgR0lUX0RJUmAgZW52aXJvbm1lbnQgdmFyaWFibGUuIEl0IGNhbiBiZQorCWFuIGFic29sdXRlIHBhdGggb3IgcmVsYXRpdmUgcGF0aCB0byBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LgorKworU3BlY2lmeWluZyB0aGUgbG9jYXRpb24gb2YgdGhlICIuZ2l0IiBkaXJlY3RvcnkgdXNpbmcgdGhpcworb3B0aW9uIChvciBgR0lUX0RJUmAgZW52aXJvbm1lbnQgdmFyaWFibGUpIHR1cm5zIG9mZiB0aGUKK3JlcG9zaXRvcnkgZGlzY292ZXJ5IHRoYXQgdHJpZXMgdG8gZmluZCBhIGRpcmVjdG9yeSB3aXRoCisiLmdpdCIgc3ViZGlyZWN0b3J5ICh3aGljaCBpcyBob3cgdGhlIHJlcG9zaXRvcnkgYW5kIHRoZQordG9wLWxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUgYXJlIGRpc2NvdmVyZWQpLCBhbmQgdGVsbHMgR2l0Cit0aGF0IHlvdSBhcmUgYXQgdGhlIHRvcCBsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlLiAgSWYgeW91CithcmUgbm90IGF0IHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5IG9mIHRoZSB3b3JraW5nIHRyZWUsIHlvdQorc2hvdWxkIHRlbGwgR2l0IHdoZXJlIHRoZSB0b3AtbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSBpcywKK3dpdGggdGhlIGAtLXdvcmstdHJlZT08cGF0aD5gIG9wdGlvbiAob3IgYEdJVF9XT1JLX1RSRUVgCitlbnZpcm9ubWVudCB2YXJpYWJsZSkKKysKK0lmIHlvdSBqdXN0IHdhbnQgdG8gcnVuIGdpdCBhcyBpZiBpdCB3YXMgc3RhcnRlZCBpbiBgPHBhdGg+YCB0aGVuIHVzZQorYGdpdCAtQyA8cGF0aD5gLgogCiAtLXdvcmstdHJlZT08cGF0aD46OgogCVNldCB0aGUgcGF0aCB0byB0aGUgd29ya2luZyB0cmVlLiBJdCBjYW4gYmUgYW4gYWJzb2x1dGUgcGF0aApAQCAtMjEwLDYgKzIyNiwyNiBAQAogCiBpbmNsdWRlOjpjbWRzLWZvcmVpZ25zY21pbnRlcmZhY2UudHh0W10KIAorUmVzZXQsIHJlc3RvcmUgYW5kIHJldmVydAorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorVGhlcmUgYXJlIHRocmVlIGNvbW1hbmRzIHdpdGggc2ltaWxhciBuYW1lczogYGdpdCByZXNldGAsCitgZ2l0IHJlc3RvcmVgIGFuZCBgZ2l0IHJldmVydGAuCisKKyogbGlua2dpdDpnaXQtcmV2ZXJ0WzFdIGlzIGFib3V0IG1ha2luZyBhIG5ldyBjb21taXQgdGhhdCByZXZlcnRzIHRoZQorICBjaGFuZ2VzIG1hZGUgYnkgb3RoZXIgY29tbWl0cy4KKworKiBsaW5rZ2l0OmdpdC1yZXN0b3JlWzFdIGlzIGFib3V0IHJlc3RvcmluZyBmaWxlcyBpbiB0aGUgd29ya2luZyB0cmVlCisgIGZyb20gZWl0aGVyIHRoZSBpbmRleCBvciBhbm90aGVyIGNvbW1pdC4gVGhpcyBjb21tYW5kIGRvZXMgbm90CisgIHVwZGF0ZSB5b3VyIGJyYW5jaC4gVGhlIGNvbW1hbmQgY2FuIGFsc28gYmUgdXNlZCB0byByZXN0b3JlIGZpbGVzIGluCisgIHRoZSBpbmRleCBmcm9tIGFub3RoZXIgY29tbWl0LgorCisqIGxpbmtnaXQ6Z2l0LXJlc2V0WzFdIGlzIGFib3V0IHVwZGF0aW5nIHlvdXIgYnJhbmNoLCBtb3ZpbmcgdGhlIHRpcAorICBpbiBvcmRlciB0byBhZGQgb3IgcmVtb3ZlIGNvbW1pdHMgZnJvbSB0aGUgYnJhbmNoLiBUaGlzIG9wZXJhdGlvbgorICBjaGFuZ2VzIHRoZSBjb21taXQgaGlzdG9yeS4KKysKK2BnaXQgcmVzZXRgIGNhbiBhbHNvIGJlIHVzZWQgdG8gcmVzdG9yZSB0aGUgaW5kZXgsIG92ZXJsYXBwaW5nIHdpdGgKK2BnaXQgcmVzdG9yZWAuCisKIAogTG93LWxldmVsIGNvbW1hbmRzIChwbHVtYmluZykKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0yNDksOCArMjg1LDggQEAKIHRoZSB3b3JraW5nIHRyZWUuCiAKIAotU3luY2hpbmcgcmVwb3NpdG9yaWVzCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK1N5bmNpbmcgcmVwb3NpdG9yaWVzCit+fn5+fn5+fn5+fn5+fn5+fn5+fgogCiBpbmNsdWRlOjpjbWRzLXN5bmNoaW5ncmVwb3NpdG9yaWVzLnR4dFtdCiAKQEAgLTQ2MCwxMyArNDk2LDM2IEBACiBHaXQgQ29tbWl0cwogfn5+fn5+fn5+fn4KIGBHSVRfQVVUSE9SX05BTUVgOjoKKwlUaGUgaHVtYW4tcmVhZGFibGUgbmFtZSB1c2VkIGluIHRoZSBhdXRob3IgaWRlbnRpdHkgd2hlbiBjcmVhdGluZyBjb21taXQgb3IKKwl0YWcgb2JqZWN0cywgb3Igd2hlbiB3cml0aW5nIHJlZmxvZ3MuIE92ZXJyaWRlcyB0aGUgYHVzZXIubmFtZWAgYW5kCisJYGF1dGhvci5uYW1lYCBjb25maWd1cmF0aW9uIHNldHRpbmdzLgorCiBgR0lUX0FVVEhPUl9FTUFJTGA6OgorCVRoZSBlbWFpbCBhZGRyZXNzIHVzZWQgaW4gdGhlIGF1dGhvciBpZGVudGl0eSB3aGVuIGNyZWF0aW5nIGNvbW1pdCBvcgorCXRhZyBvYmplY3RzLCBvciB3aGVuIHdyaXRpbmcgcmVmbG9ncy4gT3ZlcnJpZGVzIHRoZSBgdXNlci5lbWFpbGAgYW5kCisJYGF1dGhvci5lbWFpbGAgY29uZmlndXJhdGlvbiBzZXR0aW5ncy4KKwogYEdJVF9BVVRIT1JfREFURWA6OgorCVRoZSBkYXRlIHVzZWQgZm9yIHRoZSBhdXRob3IgaWRlbnRpdHkgd2hlbiBjcmVhdGluZyBjb21taXQgb3IgdGFnIG9iamVjdHMsIG9yCisJd2hlbiB3cml0aW5nIHJlZmxvZ3MuIFNlZSBsaW5rZ2l0OmdpdC1jb21taXRbMV0gZm9yIHZhbGlkIGZvcm1hdHMuCisKIGBHSVRfQ09NTUlUVEVSX05BTUVgOjoKKwlUaGUgaHVtYW4tcmVhZGFibGUgbmFtZSB1c2VkIGluIHRoZSBjb21taXR0ZXIgaWRlbnRpdHkgd2hlbiBjcmVhdGluZyBjb21taXQgb3IKKwl0YWcgb2JqZWN0cywgb3Igd2hlbiB3cml0aW5nIHJlZmxvZ3MuIE92ZXJyaWRlcyB0aGUgYHVzZXIubmFtZWAgYW5kCisJYGNvbW1pdHRlci5uYW1lYCBjb25maWd1cmF0aW9uIHNldHRpbmdzLgorCiBgR0lUX0NPTU1JVFRFUl9FTUFJTGA6OgorCVRoZSBlbWFpbCBhZGRyZXNzIHVzZWQgaW4gdGhlIGF1dGhvciBpZGVudGl0eSB3aGVuIGNyZWF0aW5nIGNvbW1pdCBvcgorCXRhZyBvYmplY3RzLCBvciB3aGVuIHdyaXRpbmcgcmVmbG9ncy4gT3ZlcnJpZGVzIHRoZSBgdXNlci5lbWFpbGAgYW5kCisJYGNvbW1pdHRlci5lbWFpbGAgY29uZmlndXJhdGlvbiBzZXR0aW5ncy4KKwogYEdJVF9DT01NSVRURVJfREFURWA6OgotJ0VNQUlMJzo6Ci0Jc2VlIGxpbmtnaXQ6Z2l0LWNvbW1pdC10cmVlWzFdCisJVGhlIGRhdGUgdXNlZCBmb3IgdGhlIGNvbW1pdHRlciBpZGVudGl0eSB3aGVuIGNyZWF0aW5nIGNvbW1pdCBvciB0YWcgb2JqZWN0cywgb3IKKwl3aGVuIHdyaXRpbmcgcmVmbG9ncy4gU2VlIGxpbmtnaXQ6Z2l0LWNvbW1pdFsxXSBmb3IgdmFsaWQgZm9ybWF0cy4KKworYEVNQUlMYDo6CisJVGhlIGVtYWlsIGFkZHJlc3MgdXNlZCBpbiB0aGUgYXV0aG9yIGFuZCBjb21taXR0ZXIgaWRlbnRpdGllcyBpZiBubyBvdGhlcgorCXJlbGV2YW50IGVudmlyb25tZW50IHZhcmlhYmxlIG9yIGNvbmZpZ3VyYXRpb24gc2V0dGluZyBoYXMgYmVlbiBzZXQuCiAKIEdpdCBEaWZmcwogfn5+fn5+fn5+CkBAIC01MjIsNiArNTgxLDEwIEBACiAJYSBwYWdlci4gIFNlZSBhbHNvIHRoZSBgY29yZS5wYWdlcmAgb3B0aW9uIGluCiAJbGlua2dpdDpnaXQtY29uZmlnWzFdLgogCitgR0lUX1BST0dSRVNTX0RFTEFZYDo6CisJQSBudW1iZXIgY29udHJvbGxpbmcgaG93IG1hbnkgc2Vjb25kcyB0byBkZWxheSBiZWZvcmUgc2hvd2luZworCW9wdGlvbmFsIHByb2dyZXNzIGluZGljYXRvcnMuIERlZmF1bHRzIHRvIDIuCisKIGBHSVRfRURJVE9SYDo6CiAJVGhpcyBlbnZpcm9ubWVudCB2YXJpYWJsZSBvdmVycmlkZXMgYCRFRElUT1JgIGFuZCBgJFZJU1VBTGAuCiAJSXQgaXMgdXNlZCBieSBzZXZlcmFsIEdpdCBjb21tYW5kcyB3aGVuLCBvbiBpbnRlcmFjdGl2ZSBtb2RlLApAQCAtNTM2LDcgKzU5OSw2IEBACiAJVGhlIGNvbW1hbmQtbGluZSBwYXJhbWV0ZXJzIHBhc3NlZCB0byB0aGUgY29uZmlndXJlZCBjb21tYW5kIGFyZQogCWRldGVybWluZWQgYnkgdGhlIHNzaCB2YXJpYW50LiAgU2VlIGBzc2gudmFyaWFudGAgb3B0aW9uIGluCiAJbGlua2dpdDpnaXQtY29uZmlnWzFdIGZvciBkZXRhaWxzLgotCiArCiBgJEdJVF9TU0hfQ09NTUFORGAgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGAkR0lUX1NTSGAsIGFuZCBpcyBpbnRlcnByZXRlZAogYnkgdGhlIHNoZWxsLCB3aGljaCBhbGxvd3MgYWRkaXRpb25hbCBhcmd1bWVudHMgdG8gYmUgaW5jbHVkZWQuCkBAIC02NjEsNiArNzIzLDU0IEBACiAJV2hlbiBhIGN1cmwgdHJhY2UgaXMgZW5hYmxlZCAoc2VlIGBHSVRfVFJBQ0VfQ1VSTGAgYWJvdmUpLCBkbyBub3QgZHVtcAogCWRhdGEgKHRoYXQgaXMsIG9ubHkgZHVtcCBpbmZvIGxpbmVzIGFuZCBoZWFkZXJzKS4KIAorYEdJVF9UUkFDRTJgOjoKKwlFbmFibGVzIG1vcmUgZGV0YWlsZWQgdHJhY2UgbWVzc2FnZXMgZnJvbSB0aGUgInRyYWNlMiIgbGlicmFyeS4KKwlPdXRwdXQgZnJvbSBgR0lUX1RSQUNFMmAgaXMgYSBzaW1wbGUgdGV4dC1iYXNlZCBmb3JtYXQgZm9yIGh1bWFuCisJcmVhZGFiaWxpdHkuCisrCitJZiB0aGlzIHZhcmlhYmxlIGlzIHNldCB0byAiMSIsICIyIiBvciAidHJ1ZSIgKGNvbXBhcmlzb24KK2lzIGNhc2UgaW5zZW5zaXRpdmUpLCB0cmFjZSBtZXNzYWdlcyB3aWxsIGJlIHByaW50ZWQgdG8KK3N0ZGVyci4KKysKK0lmIHRoZSB2YXJpYWJsZSBpcyBzZXQgdG8gYW4gaW50ZWdlciB2YWx1ZSBncmVhdGVyIHRoYW4gMgorYW5kIGxvd2VyIHRoYW4gMTAgKHN0cmljdGx5KSB0aGVuIEdpdCB3aWxsIGludGVycHJldCB0aGlzCit2YWx1ZSBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvciBhbmQgd2lsbCB0cnkgdG8gd3JpdGUgdGhlCit0cmFjZSBtZXNzYWdlcyBpbnRvIHRoaXMgZmlsZSBkZXNjcmlwdG9yLgorKworQWx0ZXJuYXRpdmVseSwgaWYgdGhlIHZhcmlhYmxlIGlzIHNldCB0byBhbiBhYnNvbHV0ZSBwYXRoCisoc3RhcnRpbmcgd2l0aCBhICcvJyBjaGFyYWN0ZXIpLCBHaXQgd2lsbCBpbnRlcnByZXQgdGhpcworYXMgYSBmaWxlIHBhdGggYW5kIHdpbGwgdHJ5IHRvIGFwcGVuZCB0aGUgdHJhY2UgbWVzc2FnZXMKK3RvIGl0LiAgSWYgdGhlIHBhdGggYWxyZWFkeSBleGlzdHMgYW5kIGlzIGEgZGlyZWN0b3J5LCB0aGUKK3RyYWNlIG1lc3NhZ2VzIHdpbGwgYmUgd3JpdHRlbiB0byBmaWxlcyAob25lIHBlciBwcm9jZXNzKQoraW4gdGhhdCBkaXJlY3RvcnksIG5hbWVkIGFjY29yZGluZyB0byB0aGUgbGFzdCBjb21wb25lbnQKK29mIHRoZSBTSUQgYW5kIGFuIG9wdGlvbmFsIGNvdW50ZXIgKHRvIGF2b2lkIGZpbGVuYW1lCitjb2xsaXNpb25zKS4KKysKK0luIGFkZGl0aW9uLCBpZiB0aGUgdmFyaWFibGUgaXMgc2V0IHRvCitgYWZfdW5peDpbPHNvY2tldF90eXBlPjpdPGFic29sdXRlLXBhdGhuYW1lPmAsIEdpdCB3aWxsIHRyeQordG8gb3BlbiB0aGUgcGF0aCBhcyBhIFVuaXggRG9tYWluIFNvY2tldC4gIFRoZSBzb2NrZXQgdHlwZQorY2FuIGJlIGVpdGhlciBgc3RyZWFtYCBvciBgZGdyYW1gLgorKworVW5zZXR0aW5nIHRoZSB2YXJpYWJsZSwgb3Igc2V0dGluZyBpdCB0byBlbXB0eSwgIjAiIG9yCisiZmFsc2UiIChjYXNlIGluc2Vuc2l0aXZlKSBkaXNhYmxlcyB0cmFjZSBtZXNzYWdlcy4KKysKK1NlZSBsaW5rOnRlY2huaWNhbC9hcGktdHJhY2UyLmh0bWxbVHJhY2UyIGRvY3VtZW50YXRpb25dCitmb3IgZnVsbCBkZXRhaWxzLgorCisKK2BHSVRfVFJBQ0UyX0VWRU5UYDo6CisJVGhpcyBzZXR0aW5nIHdyaXRlcyBhIEpTT04tYmFzZWQgZm9ybWF0IHRoYXQgaXMgc3VpdGVkIGZvciBtYWNoaW5lCisJaW50ZXJwcmV0YXRpb24uCisJU2VlIGBHSVRfVFJBQ0UyYCBmb3IgYXZhaWxhYmxlIHRyYWNlIG91dHB1dCBvcHRpb25zIGFuZAorCWxpbms6dGVjaG5pY2FsL2FwaS10cmFjZTIuaHRtbFtUcmFjZTIgZG9jdW1lbnRhdGlvbl0gZm9yIGZ1bGwgZGV0YWlscy4KKworYEdJVF9UUkFDRTJfUEVSRmA6OgorCUluIGFkZGl0aW9uIHRvIHRoZSB0ZXh0LWJhc2VkIG1lc3NhZ2VzIGF2YWlsYWJsZSBpbiBgR0lUX1RSQUNFMmAsIHRoaXMKKwlzZXR0aW5nIHdyaXRlcyBhIGNvbHVtbi1iYXNlZCBmb3JtYXQgZm9yIHVuZGVyc3RhbmRpbmcgbmVzdGluZworCXJlZ2lvbnMuCisJU2VlIGBHSVRfVFJBQ0UyYCBmb3IgYXZhaWxhYmxlIHRyYWNlIG91dHB1dCBvcHRpb25zIGFuZAorCWxpbms6dGVjaG5pY2FsL2FwaS10cmFjZTIuaHRtbFtUcmFjZTIgZG9jdW1lbnRhdGlvbl0gZm9yIGZ1bGwgZGV0YWlscy4KKwogYEdJVF9SRURBQ1RfQ09PS0lFU2A6OgogCVRoaXMgY2FuIGJlIHNldCB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN0cmluZ3MuIFdoZW4gYSBjdXJsIHRyYWNlCiAJaXMgZW5hYmxlZCAoc2VlIGBHSVRfVFJBQ0VfQ1VSTGAgYWJvdmUpLCB3aGVuZXZlciBhICJDb29raWVzOiIgaGVhZGVyCkBAIC04NTksNyArOTY5LDcgQEAKIFJlcG9ydCBidWdzIHRvIHRoZSBHaXQgbWFpbGluZyBsaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPiB3aGVyZSB0aGUKIGRldmVsb3BtZW50IGFuZCBtYWludGVuYW5jZSBpcyBwcmltYXJpbHkgZG9uZS4gIFlvdSBkbyBub3QgaGF2ZSB0byBiZQogc3Vic2NyaWJlZCB0byB0aGUgbGlzdCB0byBzZW5kIGEgbWVzc2FnZSB0aGVyZS4gIFNlZSB0aGUgbGlzdCBhcmNoaXZlCi1hdCBodHRwczovL3B1YmxpYy1pbmJveC5vcmcvZ2l0IGZvciBwcmV2aW91cyBidWcgcmVwb3J0cyBhbmQgb3RoZXIKK2F0IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2dpdCBmb3IgcHJldmlvdXMgYnVnIHJlcG9ydHMgYW5kIG90aGVyCiBkaXNjdXNzaW9ucy4KIAogSXNzdWVzIHdoaWNoIGFyZSBzZWN1cml0eSByZWxldmFudCBzaG91bGQgYmUgZGlzY2xvc2VkIHByaXZhdGVseSB0bwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXRhdHRyaWJ1dGVzLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0YXR0cmlidXRlcy50eHQKaW5kZXggYjgzOTJmYy4uNTA4ZmU3MSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXRhdHRyaWJ1dGVzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdGF0dHJpYnV0ZXMudHh0CkBAIC0xOCw3ICsxOCw3IEBACiAKIEVhY2ggbGluZSBpbiBgZ2l0YXR0cmlidXRlc2AgZmlsZSBpcyBvZiBmb3JtOgogCi0JcGF0dGVybglhdHRyMSBhdHRyMiAuLi4KKwlwYXR0ZXJuIGF0dHIxIGF0dHIyIC4uLgogCiBUaGF0IGlzLCBhIHBhdHRlcm4gZm9sbG93ZWQgYnkgYW4gYXR0cmlidXRlcyBsaXN0LAogc2VwYXJhdGVkIGJ5IHdoaXRlc3BhY2VzLiBMZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlcyBhcmUKQEAgLTExMiw3ICsxMTIsOCBAQAogCiBUaGVzZSBhdHRyaWJ1dGVzIGFmZmVjdCBob3cgdGhlIGNvbnRlbnRzIHN0b3JlZCBpbiB0aGUKIHJlcG9zaXRvcnkgYXJlIGNvcGllZCB0byB0aGUgd29ya2luZyB0cmVlIGZpbGVzIHdoZW4gY29tbWFuZHMKLXN1Y2ggYXMgJ2dpdCBjaGVja291dCcgYW5kICdnaXQgbWVyZ2UnIHJ1bi4gIFRoZXkgYWxzbyBhZmZlY3QgaG93CitzdWNoIGFzICdnaXQgc3dpdGNoJywgJ2dpdCBjaGVja291dCcgIGFuZCAnZ2l0IG1lcmdlJyBydW4uCitUaGV5IGFsc28gYWZmZWN0IGhvdwogR2l0IHN0b3JlcyB0aGUgY29udGVudHMgeW91IHByZXBhcmUgaW4gdGhlIHdvcmtpbmcgdHJlZSBpbiB0aGUKIHJlcG9zaXRvcnkgdXBvbiAnZ2l0IGFkZCcgYW5kICdnaXQgY29tbWl0Jy4KIApAQCAtMTI0LDcgKzEyNSw5IEBACiByZXBvc2l0b3J5LiAgVG8gY29udHJvbCB3aGF0IGxpbmUgZW5kaW5nIHN0eWxlIGlzIHVzZWQgaW4gdGhlIHdvcmtpbmcKIGRpcmVjdG9yeSwgdXNlIHRoZSBgZW9sYCBhdHRyaWJ1dGUgZm9yIGEgc2luZ2xlIGZpbGUgYW5kIHRoZQogYGNvcmUuZW9sYCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGZvciBhbGwgdGV4dCBmaWxlcy4KLU5vdGUgdGhhdCBgY29yZS5hdXRvY3JsZmAgb3ZlcnJpZGVzIGBjb3JlLmVvbGAKK05vdGUgdGhhdCBzZXR0aW5nIGBjb3JlLmF1dG9jcmxmYCB0byBgdHJ1ZWAgb3IgYGlucHV0YCBvdmVycmlkZXMKK2Bjb3JlLmVvbGAgKHNlZSB0aGUgZGVmaW5pdGlvbnMgb2YgdGhvc2Ugb3B0aW9ucyBpbgorbGlua2dpdDpnaXQtY29uZmlnWzFdKS4KIAogU2V0OjoKIApAQCAtMjkwLDEwICsyOTMsMTAgQEAKIAogSW4gdGhlc2UgY2FzZXMgeW91IGNhbiB0ZWxsIEdpdCB0aGUgZW5jb2Rpbmcgb2YgYSBmaWxlIGluIHRoZSB3b3JraW5nCiBkaXJlY3Rvcnkgd2l0aCB0aGUgYHdvcmtpbmctdHJlZS1lbmNvZGluZ2AgYXR0cmlidXRlLiBJZiBhIGZpbGUgd2l0aCB0aGlzCi1hdHRyaWJ1dGUgaXMgYWRkZWQgdG8gR2l0LCB0aGVuIEdpdCByZWVuY29kZXMgdGhlIGNvbnRlbnQgZnJvbSB0aGUKK2F0dHJpYnV0ZSBpcyBhZGRlZCB0byBHaXQsIHRoZW4gR2l0IHJlLWVuY29kZXMgdGhlIGNvbnRlbnQgZnJvbSB0aGUKIHNwZWNpZmllZCBlbmNvZGluZyB0byBVVEYtOC4gRmluYWxseSwgR2l0IHN0b3JlcyB0aGUgVVRGLTggZW5jb2RlZAogY29udGVudCBpbiBpdHMgaW50ZXJuYWwgZGF0YSBzdHJ1Y3R1cmUgKGNhbGxlZCAidGhlIGluZGV4IikuIE9uIGNoZWNrb3V0Ci10aGUgY29udGVudCBpcyByZWVuY29kZWQgYmFjayB0byB0aGUgc3BlY2lmaWVkIGVuY29kaW5nLgordGhlIGNvbnRlbnQgaXMgcmUtZW5jb2RlZCBiYWNrIHRvIHRoZSBzcGVjaWZpZWQgZW5jb2RpbmcuCiAKIFBsZWFzZSBub3RlIHRoYXQgdXNpbmcgdGhlIGB3b3JraW5nLXRyZWUtZW5jb2RpbmdgIGF0dHJpYnV0ZSBtYXkgaGF2ZSBhCiBudW1iZXIgb2YgcGl0ZmFsbHM6CkBAIC0zMTIsOCArMzE1LDggQEAKIHN1cHBvcnQgd2lsbCBjaGVja291dCBgZm9vLnBzMWAgYXMgVVRGLTggZW5jb2RlZCBmaWxlLiBUaGlzIHdpbGwKIHR5cGljYWxseSBjYXVzZSB0cm91YmxlIGZvciB0aGUgdXNlcnMgb2YgdGhpcyBmaWxlLgogKwotSWYgYSBHaXQgY2xpZW50LCB0aGF0IGRvZXMgbm90IHN1cHBvcnQgdGhlIGB3b3JraW5nLXRyZWUtZW5jb2RpbmdgCi1hdHRyaWJ1dGUsIGFkZHMgYSBuZXcgZmlsZSBgYmFyLnBzMWAsIHRoZW4gYGJhci5wczFgIHdpbGwgYmUKK0lmIGEgR2l0IGNsaWVudCB0aGF0IGRvZXMgbm90IHN1cHBvcnQgdGhlIGB3b3JraW5nLXRyZWUtZW5jb2RpbmdgCithdHRyaWJ1dGUgYWRkcyBhIG5ldyBmaWxlIGBiYXIucHMxYCwgdGhlbiBgYmFyLnBzMWAgd2lsbCBiZQogc3RvcmVkICJhcy1pcyIgaW50ZXJuYWxseSAoaW4gdGhpcyBleGFtcGxlIHByb2JhYmx5IGFzIFVURi0xNikuCiBBIGNsaWVudCB3aXRoIGB3b3JraW5nLXRyZWUtZW5jb2RpbmdgIHN1cHBvcnQgd2lsbCBpbnRlcnByZXQgdGhlCiBpbnRlcm5hbCBjb250ZW50cyBhcyBVVEYtOCBhbmQgdHJ5IHRvIGNvbnZlcnQgaXQgdG8gVVRGLTE2IG9uIGNoZWNrb3V0LgpAQCAtMzQ0LDcgKzM0Nyw5IEBACiAKIFVzZSB0aGUgZm9sbG93aW5nIGF0dHJpYnV0ZXMgaWYgeW91ciAnKi5wczEnIGZpbGVzIGFyZSBVVEYtMTYgbGl0dGxlCiBlbmRpYW4gZW5jb2RlZCB3aXRob3V0IEJPTSBhbmQgeW91IHdhbnQgR2l0IHRvIHVzZSBXaW5kb3dzIGxpbmUgZW5kaW5ncwotaW4gdGhlIHdvcmtpbmcgZGlyZWN0b3J5LiBQbGVhc2Ugbm90ZSwgaXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRvCitpbiB0aGUgd29ya2luZyBkaXJlY3RvcnkgKHVzZSBgVVRGLTE2TEUtQk9NYCBpbnN0ZWFkIG9mIGBVVEYtMTZMRWAgaWYKK3lvdSB3YW50IFVURi0xNiBsaXR0bGUgZW5kaWFuIHdpdGggQk9NKS4KK1BsZWFzZSBub3RlLCBpdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdG8KIGV4cGxpY2l0bHkgZGVmaW5lIHRoZSBsaW5lIGVuZGluZ3Mgd2l0aCBgZW9sYCBpZiB0aGUgYHdvcmtpbmctdHJlZS1lbmNvZGluZ2AKIGF0dHJpYnV0ZSBpcyB1c2VkIHRvIGF2b2lkIGFtYmlndWl0eS4KIApAQCAtNDkzLDcgKzQ5OCw3IEBACiBXaGVuIEdpdCBlbmNvdW50ZXJzIHRoZSBmaXJzdCBmaWxlIHRoYXQgbmVlZHMgdG8gYmUgY2xlYW5lZCBvciBzbXVkZ2VkLAogaXQgc3RhcnRzIHRoZSBmaWx0ZXIgYW5kIHBlcmZvcm1zIHRoZSBoYW5kc2hha2UuIEluIHRoZSBoYW5kc2hha2UsIHRoZQogd2VsY29tZSBtZXNzYWdlIHNlbnQgYnkgR2l0IGlzICJnaXQtZmlsdGVyLWNsaWVudCIsIG9ubHkgdmVyc2lvbiAyIGlzCi1zdXBwcG9ydGVkLCBhbmQgdGhlIHN1cHBvcnRlZCBjYXBhYmlsaXRpZXMgYXJlICJjbGVhbiIsICJzbXVkZ2UiLCBhbmQKK3N1cHBvcnRlZCwgYW5kIHRoZSBzdXBwb3J0ZWQgY2FwYWJpbGl0aWVzIGFyZSAiY2xlYW4iLCAic211ZGdlIiwgYW5kCiAiZGVsYXkiLgogCiBBZnRlcndhcmRzIEdpdCBzZW5kcyBhIGxpc3Qgb2YgImtleT12YWx1ZSIgcGFpcnMgdGVybWluYXRlZCB3aXRoCkBAIC04MDUsNiArODEwLDEwIEBACiAKIC0gYGNzc2Agc3VpdGFibGUgZm9yIGNhc2NhZGluZyBzdHlsZSBzaGVldHMuCiAKKy0gYGR0c2Agc3VpdGFibGUgZm9yIGRldmljZXRyZWUgKERUUykgZmlsZXMuCisKKy0gYGVsaXhpcmAgc3VpdGFibGUgZm9yIHNvdXJjZSBjb2RlIGluIHRoZSBFbGl4aXIgbGFuZ3VhZ2UuCisKIC0gYGZvcnRyYW5gIHN1aXRhYmxlIGZvciBzb3VyY2UgY29kZSBpbiB0aGUgRm9ydHJhbiBsYW5ndWFnZS4KIAogLSBgZm91bnRhaW5gIHN1aXRhYmxlIGZvciBGb3VudGFpbiBkb2N1bWVudHMuCkBAIC04MTUsNyArODI0LDcgQEAKIAogLSBgamF2YWAgc3VpdGFibGUgZm9yIHNvdXJjZSBjb2RlIGluIHRoZSBKYXZhIGxhbmd1YWdlLgogCi0tIGBtYXRsYWJgIHN1aXRhYmxlIGZvciBzb3VyY2UgY29kZSBpbiB0aGUgTUFUTEFCIGxhbmd1YWdlLgorLSBgbWF0bGFiYCBzdWl0YWJsZSBmb3Igc291cmNlIGNvZGUgaW4gdGhlIE1BVExBQiBhbmQgT2N0YXZlIGxhbmd1YWdlcy4KIAogLSBgb2JqY2Agc3VpdGFibGUgZm9yIHNvdXJjZSBjb2RlIGluIHRoZSBPYmplY3RpdmUtQyBsYW5ndWFnZS4KIApAQCAtODI5LDYgKzgzOCw4IEBACiAKIC0gYHJ1YnlgIHN1aXRhYmxlIGZvciBzb3VyY2UgY29kZSBpbiB0aGUgUnVieSBsYW5ndWFnZS4KIAorLSBgcnVzdGAgc3VpdGFibGUgZm9yIHNvdXJjZSBjb2RlIGluIHRoZSBSdXN0IGxhbmd1YWdlLgorCiAtIGB0ZXhgIHN1aXRhYmxlIGZvciBzb3VyY2UgY29kZSBmb3IgTGFUZVggZG9jdW1lbnRzLgogCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0Y2xpLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0Y2xpLnR4dAppbmRleCAwNjYwOGVhLi45MmU0YmE2IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdGNsaS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXRjbGkudHh0CkBAIC0zNyw2ICszNywxMiBAQAogICAgZmlsZSBjYWxsZWQgSEVBRCBpbiB5b3VyIHdvcmsgdHJlZSwgYGdpdCBkaWZmIEhFQURgIGlzIGFtYmlndW91cywgYW5kCiAgICB5b3UgaGF2ZSB0byBzYXkgZWl0aGVyIGBnaXQgZGlmZiBIRUFEIC0tYCBvciBgZ2l0IGRpZmYgLS0gSEVBRGAgdG8KICAgIGRpc2FtYmlndWF0ZS4KKworICogQmVjYXVzZSBgLS1gIGRpc2FtYmlndWF0ZXMgcmV2aXNpb25zIGFuZCBwYXRocyBpbiBzb21lIGNvbW1hbmRzLCBpdAorICAgY2Fubm90IGJlIHVzZWQgZm9yIHRob3NlIGNvbW1hbmRzIHRvIHNlcGFyYXRlIG9wdGlvbnMgYW5kIHJldmlzaW9ucy4KKyAgIFlvdSBjYW4gdXNlIGAtLWVuZC1vZi1vcHRpb25zYCBmb3IgdGhpcyAoaXQgYWxzbyB3b3JrcyBmb3IgY29tbWFuZHMKKyAgIHRoYXQgZG8gbm90IGRpc3Rpbmd1aXNoIGJldHdlZW4gcmV2aXNpb25zIGluIHBhdGhzLCBpbiB3aGljaCBjYXNlIGl0CisgICBpcyBzaW1wbHkgYW4gYWxpYXMgZm9yIGAtLWApLgogKwogV2hlbiB3cml0aW5nIGEgc2NyaXB0IHRoYXQgaXMgZXhwZWN0ZWQgdG8gaGFuZGxlIHJhbmRvbSB1c2VyLWlucHV0LCBpdCBpcwogYSBnb29kIHByYWN0aWNlIHRvIG1ha2UgaXQgZXhwbGljaXQgd2hpY2ggYXJndW1lbnRzIGFyZSB3aGljaCBieSBwbGFjaW5nCkBAIC00Nyw4ICs1Myw4IEBACiAgICB0aGluZ3M6CiArCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotJCBnaXQgY2hlY2tvdXQgLS0gKi5jCi0kIGdpdCBjaGVja291dCAtLSBcKi5jCiskIGdpdCByZXN0b3JlICouYworJCBnaXQgcmVzdG9yZSBcKi5jCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKwogVGhlIGZvcm1lciBsZXRzIHlvdXIgc2hlbGwgZXhwYW5kIHRoZSBmaWxlZ2xvYiwgYW5kIHlvdSBhcmUgYXNraW5nCkBAIC0yMTAsMTAgKzIxNiwyMiBAQAogZW50cmllcywgYW5kIHdpdGggYC0tY2FjaGVkYCwgaXQgbW9kaWZpZXMgb25seSB0aGUgaW5kZXgKIGVudHJpZXMuCiAKLVNlZSBhbHNvIGh0dHA6Ly9tYXJjLmluZm8vP2w9Z2l0Jm09MTE2NTYzMTM1NjIwMzU5IGFuZAotaHR0cDovL21hcmMuaW5mby8/bD1naXQmbT0xMTkxNTAzOTM2MjAyNzMgZm9yIGZ1cnRoZXIKK1NlZSBhbHNvIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2dpdC83djY0Y2xnNXU5LmZzZkBhc3NpZ25lZC1ieS1kaGNwLmNveC5uZXQvIGFuZAoraHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvZ2l0Lzd2eTdlajlnMzguZnNmQGdpdHN0ZXIuc2lhbWVzZS5keW5kbnMub3JnLyBmb3IgZnVydGhlcgogaW5mb3JtYXRpb24uCiAKK1NvbWUgb3RoZXIgY29tbWFuZHMgdGhhdCBhbHNvIHdvcmsgb24gZmlsZXMgaW4gdGhlIHdvcmtpbmcgdHJlZSBhbmQvb3IKK2luIHRoZSBpbmRleCBjYW4gdGFrZSBgLS1zdGFnZWRgIGFuZC9vciBgLS13b3JrdHJlZWAuCisKKyogYC0tc3RhZ2VkYCBpcyBleGFjdGx5IGxpa2UgYC0tY2FjaGVkYCwgd2hpY2ggaXMgdXNlZCB0byBhc2sgYQorICBjb21tYW5kIHRvIG9ubHkgd29yayBvbiB0aGUgaW5kZXgsIG5vdCB0aGUgd29ya2luZyB0cmVlLgorCisqIGAtLXdvcmt0cmVlYCBpcyB0aGUgb3Bwb3NpdGUsIHRvIGFzayBhIGNvbW1hbmQgdG8gd29yayBvbiB0aGUKKyAgd29ya2luZyB0cmVlIG9ubHksIG5vdCB0aGUgaW5kZXguCisKKyogVGhlIHR3byBvcHRpb25zIGNhbiBiZSBzcGVjaWZpZWQgdG9nZXRoZXIgdG8gYXNrIGEgY29tbWFuZCB0byB3b3JrCisgIG9uIGJvdGggdGhlIGluZGV4IGFuZCB0aGUgd29ya2luZyB0cmVlLgorCiBHSVQKIC0tLQogUGFydCBvZiB0aGUgbGlua2dpdDpnaXRbMV0gc3VpdGUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0Y29yZS10dXRvcmlhbC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdGNvcmUtdHV0b3JpYWwudHh0CmluZGV4IGUyOWE5ZWYuLmMwYjk1MjUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0Y29yZS10dXRvcmlhbC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXRjb3JlLXR1dG9yaWFsLnR4dApAQCAtNzQxLDcgKzc0MSw3IEBACiBzYXlpbmcgdGhhdCB5b3Ugd2FudCB0byBjaGVjayBvdXQgYSBuZXcgYnJhbmNoOgogCiAtLS0tLS0tLS0tLS0KLSQgZ2l0IGNoZWNrb3V0IC1iIG15YnJhbmNoCiskIGdpdCBzd2l0Y2ggLWMgbXlicmFuY2gKIC0tLS0tLS0tLS0tLQogCiB3aWxsIGNyZWF0ZSBhIG5ldyBicmFuY2ggYmFzZWQgYXQgdGhlIGN1cnJlbnQgYEhFQURgIHBvc2l0aW9uLCBhbmQgc3dpdGNoCkBAIC03NTEsMTEgKzc1MSwxMSBAQAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBJZiB5b3UgbWFrZSB0aGUgZGVjaXNpb24gdG8gc3RhcnQgeW91ciBuZXcgYnJhbmNoIGF0IHNvbWUKIG90aGVyIHBvaW50IGluIHRoZSBoaXN0b3J5IHRoYW4gdGhlIGN1cnJlbnQgYEhFQURgLCB5b3UgY2FuIGRvIHNvIGJ5Ci1qdXN0IHRlbGxpbmcgJ2dpdCBjaGVja291dCcgd2hhdCB0aGUgYmFzZSBvZiB0aGUgY2hlY2tvdXQgd291bGQgYmUuCitqdXN0IHRlbGxpbmcgJ2dpdCBzd2l0Y2gnIHdoYXQgdGhlIGJhc2Ugb2YgdGhlIGNoZWNrb3V0IHdvdWxkIGJlLgogSW4gb3RoZXIgd29yZHMsIGlmIHlvdSBoYXZlIGFuIGVhcmxpZXIgdGFnIG9yIGJyYW5jaCwgeW91J2QganVzdCBkbwogCiAtLS0tLS0tLS0tLS0KLSQgZ2l0IGNoZWNrb3V0IC1iIG15YnJhbmNoIGVhcmxpZXItY29tbWl0CiskIGdpdCBzd2l0Y2ggLWMgbXlicmFuY2ggZWFybGllci1jb21taXQKIC0tLS0tLS0tLS0tLQogCiBhbmQgaXQgd291bGQgY3JlYXRlIHRoZSBuZXcgYnJhbmNoIGBteWJyYW5jaGAgYXQgdGhlIGVhcmxpZXIgY29tbWl0LApAQCAtNzY1LDcgKzc2NSw3IEBACiBZb3UgY2FuIGFsd2F5cyBqdXN0IGp1bXAgYmFjayB0byB5b3VyIG9yaWdpbmFsIGBtYXN0ZXJgIGJyYW5jaCBieSBkb2luZwogCiAtLS0tLS0tLS0tLS0KLSQgZ2l0IGNoZWNrb3V0IG1hc3RlcgorJCBnaXQgc3dpdGNoIG1hc3RlcgogLS0tLS0tLS0tLS0tCiAKIChvciBhbnkgb3RoZXIgYnJhbmNoLW5hbWUsIGZvciB0aGF0IG1hdHRlcikgYW5kIGlmIHlvdSBmb3JnZXQgd2hpY2gKQEAgLTc5NCw3ICs3OTQsNyBAQAogCiB3aGljaCB3aWxsIHNpbXBseSBfY3JlYXRlXyB0aGUgYnJhbmNoLCBidXQgd2lsbCBub3QgZG8gYW55dGhpbmcgZnVydGhlci4KIFlvdSBjYW4gdGhlbiBsYXRlciAtLSBvbmNlIHlvdSBkZWNpZGUgdGhhdCB5b3Ugd2FudCB0byBhY3R1YWxseSBkZXZlbG9wCi1vbiB0aGF0IGJyYW5jaCAtLSBzd2l0Y2ggdG8gdGhhdCBicmFuY2ggd2l0aCBhIHJlZ3VsYXIgJ2dpdCBjaGVja291dCcKK29uIHRoYXQgYnJhbmNoIC0tIHN3aXRjaCB0byB0aGF0IGJyYW5jaCB3aXRoIGEgcmVndWxhciAnZ2l0IHN3aXRjaCcKIHdpdGggdGhlIGJyYW5jaG5hbWUgYXMgdGhlIGFyZ3VtZW50LgogCiAKQEAgLTgwOCw3ICs4MDgsNyBAQAogdGhhdCBicmFuY2gsIGFuZCBkbyBzb21lIHdvcmsgdGhlcmUuCiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotJCBnaXQgY2hlY2tvdXQgbXlicmFuY2gKKyQgZ2l0IHN3aXRjaCBteWJyYW5jaAogJCBlY2hvICJXb3JrLCB3b3JrLCB3b3JrIiA+PmhlbGxvCiAkIGdpdCBjb21taXQgLW0gIlNvbWUgd29yay4iIC1pIGhlbGxvCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTgyNSw3ICs4MjUsNyBAQAogdG8gdGhlIG1hc3RlciBicmFuY2gsIGFuZCBlZGl0aW5nIHRoZSBzYW1lIGZpbGUgZGlmZmVyZW50bHkgdGhlcmU6CiAKIC0tLS0tLS0tLS0tLQotJCBnaXQgY2hlY2tvdXQgbWFzdGVyCiskIGdpdCBzd2l0Y2ggbWFzdGVyCiAtLS0tLS0tLS0tLS0KIAogSGVyZSwgdGFrZSBhIG1vbWVudCB0byBsb29rIGF0IHRoZSBjb250ZW50cyBvZiBgaGVsbG9gLCBhbmQgbm90aWNlIGhvdyB0aGV5CkBAIC05NTgsNyArOTU4LDcgQEAKICdnaXQgbWVyZ2UnIHRvIGdldCB0aGUgInVwc3RyZWFtIGNoYW5nZXMiIGJhY2sgdG8geW91ciBicmFuY2guCiAKIC0tLS0tLS0tLS0tLQotJCBnaXQgY2hlY2tvdXQgbXlicmFuY2gKKyQgZ2l0IHN3aXRjaCBteWJyYW5jaAogJCBnaXQgbWVyZ2UgLW0gIk1lcmdlIHVwc3RyZWFtIGNoYW5nZXMuIiBtYXN0ZXIKIC0tLS0tLS0tLS0tLQogCkBAIC0xMTMzLDkgKzExMzMsOCBAQAogd29yay4iIGNvbW1pdC4KIAogLS0tLS0tLS0tLS0tCi0kIGdpdCBjaGVja291dCBteWJyYW5jaAotJCBnaXQgcmVzZXQgLS1oYXJkIG1hc3Rlcl4yCi0kIGdpdCBjaGVja291dCBtYXN0ZXIKKyQgZ2l0IHN3aXRjaCAtQyBteWJyYW5jaCBtYXN0ZXJeMgorJCBnaXQgc3dpdGNoIG1hc3RlcgogJCBnaXQgcmVzZXQgLS1oYXJkIG1hc3Rlcl4KIC0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdGNyZWRlbnRpYWxzLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0Y3JlZGVudGlhbHMudHh0CmluZGV4IGFkYzc1OTYuLjE4MTRkMmQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0Y3JlZGVudGlhbHMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0Y3JlZGVudGlhbHMudHh0CkBAIC0xMzEsNyArMTMxLDkgQEAKIGJlY2F1c2UgdGhlIGhvc3RuYW1lcyBkaWZmZXIuIE5vciB3b3VsZCBpdCBtYXRjaCBgZm9vLmV4YW1wbGUuY29tYDsgR2l0CiBjb21wYXJlcyBob3N0bmFtZXMgZXhhY3RseSwgd2l0aG91dCBjb25zaWRlcmluZyB3aGV0aGVyIHR3byBob3N0cyBhcmUgcGFydCBvZgogdGhlIHNhbWUgZG9tYWluLiBMaWtld2lzZSwgYSBjb25maWcgZW50cnkgZm9yIGBodHRwOi8vZXhhbXBsZS5jb21gIHdvdWxkIG5vdAotbWF0Y2g6IEdpdCBjb21wYXJlcyB0aGUgcHJvdG9jb2xzIGV4YWN0bHkuCittYXRjaDogR2l0IGNvbXBhcmVzIHRoZSBwcm90b2NvbHMgZXhhY3RseS4gIEhvd2V2ZXIsIHlvdSBtYXkgdXNlIHdpbGRjYXJkcyBpbgordGhlIGRvbWFpbiBuYW1lIGFuZCBvdGhlciBwYXR0ZXJuIG1hdGNoaW5nIHRlY2huaXF1ZXMgYXMgd2l0aCB0aGUgYGh0dHAuPHVybD4uKmAKK29wdGlvbnMuCiAKIElmIHRoZSAicGF0dGVybiIgVVJMIGRvZXMgaW5jbHVkZSBhIHBhdGggY29tcG9uZW50LCB0aGVuIHRoaXMgdG9vIG11c3QgbWF0Y2gKIGV4YWN0bHk6IHRoZSBjb250ZXh0IGBodHRwczovL2V4YW1wbGUuY29tL2Jhci9iYXouZ2l0YCB3aWxsIG1hdGNoIGEgY29uZmlnCkBAIC0xODYsOCArMTg4LDk0IEBACiAtLS0tLS0tLS0tLS0tLQogCiBZb3UgY2FuIHdyaXRlIHlvdXIgb3duIGN1c3RvbSBoZWxwZXJzIHRvIGludGVyZmFjZSB3aXRoIGFueSBzeXN0ZW0gaW4KLXdoaWNoIHlvdSBrZWVwIGNyZWRlbnRpYWxzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24gZm9yIEdpdCdzCi1saW5rOnRlY2huaWNhbC9hcGktY3JlZGVudGlhbHMuaHRtbFtjcmVkZW50aWFscyBBUEldIGZvciBkZXRhaWxzLgord2hpY2ggeW91IGtlZXAgY3JlZGVudGlhbHMuCisKK0NyZWRlbnRpYWwgaGVscGVycyBhcmUgcHJvZ3JhbXMgZXhlY3V0ZWQgYnkgR2l0IHRvIGZldGNoIG9yIHNhdmUKK2NyZWRlbnRpYWxzIGZyb20gYW5kIHRvIGxvbmctdGVybSBzdG9yYWdlICh3aGVyZSAibG9uZy10ZXJtIiBpcyBzaW1wbHkKK2xvbmdlciB0aGFuIGEgc2luZ2xlIEdpdCBwcm9jZXNzOyBlLmcuLCBjcmVkZW50aWFscyBtYXkgYmUgc3RvcmVkCitpbi1tZW1vcnkgZm9yIGEgZmV3IG1pbnV0ZXMsIG9yIGluZGVmaW5pdGVseSBvbiBkaXNrKS4KKworRWFjaCBoZWxwZXIgaXMgc3BlY2lmaWVkIGJ5IGEgc2luZ2xlIHN0cmluZyBpbiB0aGUgY29uZmlndXJhdGlvbgordmFyaWFibGUgYGNyZWRlbnRpYWwuaGVscGVyYCAoYW5kIG90aGVycywgc2VlIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXSkuCitUaGUgc3RyaW5nIGlzIHRyYW5zZm9ybWVkIGJ5IEdpdCBpbnRvIGEgY29tbWFuZCB0byBiZSBleGVjdXRlZCB1c2luZwordGhlc2UgcnVsZXM6CisKKyAgMS4gSWYgdGhlIGhlbHBlciBzdHJpbmcgYmVnaW5zIHdpdGggIiEiLCBpdCBpcyBjb25zaWRlcmVkIGEgc2hlbGwKKyAgICAgc25pcHBldCwgYW5kIGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhlICIhIiBiZWNvbWVzIHRoZSBjb21tYW5kLgorCisgIDIuIE90aGVyd2lzZSwgaWYgdGhlIGhlbHBlciBzdHJpbmcgYmVnaW5zIHdpdGggYW4gYWJzb2x1dGUgcGF0aCwgdGhlCisgICAgIHZlcmJhdGltIGhlbHBlciBzdHJpbmcgYmVjb21lcyB0aGUgY29tbWFuZC4KKworICAzLiBPdGhlcndpc2UsIHRoZSBzdHJpbmcgImdpdCBjcmVkZW50aWFsLSIgaXMgcHJlcGVuZGVkIHRvIHRoZSBoZWxwZXIKKyAgICAgc3RyaW5nLCBhbmQgdGhlIHJlc3VsdCBiZWNvbWVzIHRoZSBjb21tYW5kLgorCitUaGUgcmVzdWx0aW5nIGNvbW1hbmQgdGhlbiBoYXMgYW4gIm9wZXJhdGlvbiIgYXJndW1lbnQgYXBwZW5kZWQgdG8gaXQKKyhzZWUgYmVsb3cgZm9yIGRldGFpbHMpLCBhbmQgdGhlIHJlc3VsdCBpcyBleGVjdXRlZCBieSB0aGUgc2hlbGwuCisKK0hlcmUgYXJlIHNvbWUgZXhhbXBsZSBzcGVjaWZpY2F0aW9uczoKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBydW4gImdpdCBjcmVkZW50aWFsLWZvbyIKK2ZvbworCisjIHNhbWUgYXMgYWJvdmUsIGJ1dCBwYXNzIGFuIGFyZ3VtZW50IHRvIHRoZSBoZWxwZXIKK2ZvbyAtLWJhcj1iYXoKKworIyB0aGUgYXJndW1lbnRzIGFyZSBwYXJzZWQgYnkgdGhlIHNoZWxsLCBzbyB1c2Ugc2hlbGwKKyMgcXVvdGluZyBpZiBuZWNlc3NhcnkKK2ZvbyAtLWJhcj0id2hpdGVzcGFjZSBhcmciCisKKyMgeW91IGNhbiBhbHNvIHVzZSBhbiBhYnNvbHV0ZSBwYXRoLCB3aGljaCB3aWxsIG5vdCB1c2UgdGhlIGdpdCB3cmFwcGVyCisvcGF0aC90by9teS9oZWxwZXIgLS13aXRoLWFyZ3VtZW50cworCisjIG9yIHlvdSBjYW4gc3BlY2lmeSB5b3VyIG93biBzaGVsbCBzbmlwcGV0CishZigpIHsgZWNobyAicGFzc3dvcmQ9YGNhdCAkSE9NRS8uc2VjcmV0YCI7IH07IGYKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworR2VuZXJhbGx5IHNwZWFraW5nLCBydWxlICgzKSBhYm92ZSBpcyB0aGUgc2ltcGxlc3QgZm9yIHVzZXJzIHRvIHNwZWNpZnkuCitBdXRob3JzIG9mIGNyZWRlbnRpYWwgaGVscGVycyBzaG91bGQgbWFrZSBhbiBlZmZvcnQgdG8gYXNzaXN0IHRoZWlyCit1c2VycyBieSBuYW1pbmcgdGhlaXIgcHJvZ3JhbSAiZ2l0LWNyZWRlbnRpYWwtJE5BTUUiLCBhbmQgcHV0dGluZyBpdCBpbgordGhlIGAkUEFUSGAgb3IgYCRHSVRfRVhFQ19QQVRIYCBkdXJpbmcgaW5zdGFsbGF0aW9uLCB3aGljaCB3aWxsIGFsbG93IGEKK3VzZXIgdG8gZW5hYmxlIGl0IHdpdGggYGdpdCBjb25maWcgY3JlZGVudGlhbC5oZWxwZXIgJE5BTUVgLgorCitXaGVuIGEgaGVscGVyIGlzIGV4ZWN1dGVkLCBpdCB3aWxsIGhhdmUgb25lICJvcGVyYXRpb24iIGFyZ3VtZW50CithcHBlbmRlZCB0byBpdHMgY29tbWFuZCBsaW5lLCB3aGljaCBpcyBvbmUgb2Y6CisKK2BnZXRgOjoKKworCVJldHVybiBhIG1hdGNoaW5nIGNyZWRlbnRpYWwsIGlmIGFueSBleGlzdHMuCisKK2BzdG9yZWA6OgorCisJU3RvcmUgdGhlIGNyZWRlbnRpYWwsIGlmIGFwcGxpY2FibGUgdG8gdGhlIGhlbHBlci4KKworYGVyYXNlYDo6CisKKwlSZW1vdmUgYSBtYXRjaGluZyBjcmVkZW50aWFsLCBpZiBhbnksIGZyb20gdGhlIGhlbHBlcidzIHN0b3JhZ2UuCisKK1RoZSBkZXRhaWxzIG9mIHRoZSBjcmVkZW50aWFsIHdpbGwgYmUgcHJvdmlkZWQgb24gdGhlIGhlbHBlcidzIHN0ZGluCitzdHJlYW0uIFRoZSBleGFjdCBmb3JtYXQgaXMgdGhlIHNhbWUgYXMgdGhlIGlucHV0L291dHB1dCBmb3JtYXQgb2YgdGhlCitgZ2l0IGNyZWRlbnRpYWxgIHBsdW1iaW5nIGNvbW1hbmQgKHNlZSB0aGUgc2VjdGlvbiBgSU5QVVQvT1VUUFVUCitGT1JNQVRgIGluIGxpbmtnaXQ6Z2l0LWNyZWRlbnRpYWxbMV0gZm9yIGEgZGV0YWlsZWQgc3BlY2lmaWNhdGlvbikuCisKK0ZvciBhIGBnZXRgIG9wZXJhdGlvbiwgdGhlIGhlbHBlciBzaG91bGQgcHJvZHVjZSBhIGxpc3Qgb2YgYXR0cmlidXRlcyBvbgorc3Rkb3V0IGluIHRoZSBzYW1lIGZvcm1hdCAoc2VlIGxpbmtnaXQ6Z2l0LWNyZWRlbnRpYWxbMV0gZm9yIGNvbW1vbgorYXR0cmlidXRlcykuIEEgaGVscGVyIGlzIGZyZWUgdG8gcHJvZHVjZSBhIHN1YnNldCwgb3IgZXZlbiBubyB2YWx1ZXMgYXQKK2FsbCBpZiBpdCBoYXMgbm90aGluZyB1c2VmdWwgdG8gcHJvdmlkZS4gQW55IHByb3ZpZGVkIGF0dHJpYnV0ZXMgd2lsbAorb3ZlcndyaXRlIHRob3NlIGFscmVhZHkga25vd24gYWJvdXQgYnkgR2l0LiAgSWYgYSBoZWxwZXIgb3V0cHV0cyBhCitgcXVpdGAgYXR0cmlidXRlIHdpdGggYSB2YWx1ZSBvZiBgdHJ1ZWAgb3IgYDFgLCBubyBmdXJ0aGVyIGhlbHBlcnMgd2lsbAorYmUgY29uc3VsdGVkLCBub3Igd2lsbCB0aGUgdXNlciBiZSBwcm9tcHRlZCAoaWYgbm8gY3JlZGVudGlhbCBoYXMgYmVlbgorcHJvdmlkZWQsIHRoZSBvcGVyYXRpb24gd2lsbCB0aGVuIGZhaWwpLgorCitGb3IgYSBgc3RvcmVgIG9yIGBlcmFzZWAgb3BlcmF0aW9uLCB0aGUgaGVscGVyJ3Mgb3V0cHV0IGlzIGlnbm9yZWQuCitJZiBpdCBmYWlscyB0byBwZXJmb3JtIHRoZSByZXF1ZXN0ZWQgb3BlcmF0aW9uLCBpdCBtYXkgY29tcGxhaW4gdG8KK3N0ZGVyciB0byBpbmZvcm0gdGhlIHVzZXIuIElmIGl0IGRvZXMgbm90IHN1cHBvcnQgdGhlIHJlcXVlc3RlZAorb3BlcmF0aW9uIChlLmcuLCBhIHJlYWQtb25seSBzdG9yZSksIGl0IHNob3VsZCBzaWxlbnRseSBpZ25vcmUgdGhlCityZXF1ZXN0LgorCitJZiBhIGhlbHBlciByZWNlaXZlcyBhbnkgb3RoZXIgb3BlcmF0aW9uLCBpdCBzaG91bGQgc2lsZW50bHkgaWdub3JlIHRoZQorcmVxdWVzdC4gVGhpcyBsZWF2ZXMgcm9vbSBmb3IgZnV0dXJlIG9wZXJhdGlvbnMgdG8gYmUgYWRkZWQgKG9sZGVyCitoZWxwZXJzIHdpbGwganVzdCBpZ25vcmUgdGhlIG5ldyByZXF1ZXN0cykuCiAKIEdJVAogLS0tCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdGRpZmZjb3JlLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0ZGlmZmNvcmUudHh0CmluZGV4IGMwYTYwZjMuLmM5NzBkOWYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0ZGlmZmNvcmUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0ZGlmZmNvcmUudHh0CkBAIC0yNDIsNyArMjQyLDggQEAKIHJlZ3VsYXIgZXhwcmVzc2lvbi4gIFRoaXMgbWVhbnMgdGhhdCBpdCB3aWxsIGRldGVjdCBpbi1maWxlIChvciB3aGF0CiByZW5hbWUtZGV0ZWN0aW9uIGNvbnNpZGVycyB0aGUgc2FtZSBmaWxlKSBtb3Zlcywgd2hpY2ggaXMgbm9pc2UuICBUaGUKIGltcGxlbWVudGF0aW9uIHJ1bnMgZGlmZiB0d2ljZSBhbmQgZ3JlcHMsIGFuZCB0aGlzIGNhbiBiZSBxdWl0ZQotZXhwZW5zaXZlLgorZXhwZW5zaXZlLiAgVG8gc3BlZWQgdGhpbmdzIHVwIGJpbmFyeSBmaWxlcyB3aXRob3V0IHRleHRjb252IGZpbHRlcnMKK3dpbGwgYmUgaWdub3JlZC4KIAogV2hlbiBgLVNgIG9yIGAtR2AgYXJlIHVzZWQgd2l0aG91dCBgLS1waWNrYXhlLWFsbGAsIG9ubHkgZmlsZXBhaXJzCiB0aGF0IG1hdGNoIHRoZWlyIHJlc3BlY3RpdmUgY3JpdGVyaW9uIGFyZSBrZXB0IGluIHRoZSBvdXRwdXQuICBXaGVuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdGV2ZXJ5ZGF5LnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0ZXZlcnlkYXkudHh0CmluZGV4IDlmMjUyOGYuLjFiZDkxOWYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0ZXZlcnlkYXkudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0ZXZlcnlkYXkudHh0CkBAIC00MSw3ICs0MSw3IEBACiAKICAgKiBsaW5rZ2l0OmdpdC1sb2dbMV0gdG8gc2VlIHdoYXQgaGFwcGVuZWQuCiAKLSAgKiBsaW5rZ2l0OmdpdC1jaGVja291dFsxXSBhbmQgbGlua2dpdDpnaXQtYnJhbmNoWzFdIHRvIHN3aXRjaAorICAqIGxpbmtnaXQ6Z2l0LXN3aXRjaFsxXSBhbmQgbGlua2dpdDpnaXQtYnJhbmNoWzFdIHRvIHN3aXRjaAogICAgIGJyYW5jaGVzLgogCiAgICogbGlua2dpdDpnaXQtYWRkWzFdIHRvIG1hbmFnZSB0aGUgaW5kZXggZmlsZS4KQEAgLTUxLDggKzUxLDcgQEAKIAogICAqIGxpbmtnaXQ6Z2l0LWNvbW1pdFsxXSB0byBhZHZhbmNlIHRoZSBjdXJyZW50IGJyYW5jaC4KIAotICAqIGxpbmtnaXQ6Z2l0LXJlc2V0WzFdIGFuZCBsaW5rZ2l0OmdpdC1jaGVja291dFsxXSAod2l0aAotICAgIHBhdGhuYW1lIHBhcmFtZXRlcnMpIHRvIHVuZG8gY2hhbmdlcy4KKyAgKiBsaW5rZ2l0OmdpdC1yZXN0b3JlWzFdIHRvIHVuZG8gY2hhbmdlcy4KIAogICAqIGxpbmtnaXQ6Z2l0LW1lcmdlWzFdIHRvIG1lcmdlIGJldHdlZW4gbG9jYWwgYnJhbmNoZXMuCiAKQEAgLTgwLDkgKzc5LDkgQEAKIENyZWF0ZSBhIHRvcGljIGJyYW5jaCBhbmQgZGV2ZWxvcC46OgogKwogLS0tLS0tLS0tLS0tCi0kIGdpdCBjaGVja291dCAtYiBhbHNhLWF1ZGlvIDwxPgorJCBnaXQgc3dpdGNoIC1jIGFsc2EtYXVkaW8gPDE+CiAkIGVkaXQvY29tcGlsZS90ZXN0Ci0kIGdpdCBjaGVja291dCAtLSBjdXJzZXMvdXhfYXVkaW9fb3NzLmMgPDI+CiskIGdpdCByZXN0b3JlIGN1cnNlcy91eF9hdWRpb19vc3MuYyA8Mj4KICQgZ2l0IGFkZCBjdXJzZXMvdXhfYXVkaW9fYWxzYS5jIDwzPgogJCBlZGl0L2NvbXBpbGUvdGVzdAogJCBnaXQgZGlmZiBIRUFEIDw0PgpAQCAtOTAsNyArODksNyBAQAogJCBlZGl0L2NvbXBpbGUvdGVzdAogJCBnaXQgZGlmZiBIRUFEXiA8Nj4KICQgZ2l0IGNvbW1pdCAtYSAtLWFtZW5kIDw3PgotJCBnaXQgY2hlY2tvdXQgbWFzdGVyIDw4PgorJCBnaXQgc3dpdGNoIG1hc3RlciA8OD4KICQgZ2l0IG1lcmdlIGFsc2EtYXVkaW8gPDk+CiAkIGdpdCBsb2cgLS1zaW5jZT0nMyBkYXlzIGFnbycgPDEwPgogJCBnaXQgbG9nIHYyLjQzLi4gY3Vyc2VzLyA8MTE+CkBAIC0xNDgsMTEgKzE0NywxMSBAQAogLS0tLS0tLS0tLS0tCiAkIGdpdCBjbG9uZSBnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtLy4uLi90b3J2YWxkcy9saW51eC0yLjYgbXkyLjYKICQgY2QgbXkyLjYKLSQgZ2l0IGNoZWNrb3V0IC1iIG1pbmUgbWFzdGVyIDwxPgorJCBnaXQgc3dpdGNoIC1jIG1pbmUgbWFzdGVyIDwxPgogJCBlZGl0L2NvbXBpbGUvdGVzdDsgZ2l0IGNvbW1pdCAtYSAtcyA8Mj4KICQgZ2l0IGZvcm1hdC1wYXRjaCBtYXN0ZXIgPDM+CiAkIGdpdCBzZW5kLWVtYWlsIC0tdG89InBlcnNvbiA8ZW1haWxAZXhhbXBsZS5jb20+IiAwMCoucGF0Y2ggPDQ+Ci0kIGdpdCBjaGVja291dCBtYXN0ZXIgPDU+CiskIGdpdCBzd2l0Y2ggbWFzdGVyIDw1PgogJCBnaXQgcHVsbCA8Nj4KICQgZ2l0IGxvZyAtcCBPUklHX0hFQUQuLiBhcmNoL2kzODYgaW5jbHVkZS9hc20taTM4NiA8Nz4KICQgZ2l0IGxzLXJlbW90ZSAtLWhlYWRzIGh0dHA6Ly9naXQua2VybmVsLm9yZy8uLi4vamdhcnppay9saWJhdGEtZGV2LmdpdCA8OD4KQEAgLTE5NCw3ICsxOTMsNyBAQAogc2F0ZWxsaXRlJCBnaXQgcHVzaCBvcmlnaW4gPDQ+CiAKIG1vdGhlcnNoaXAkIGNkIGZyb3R6Ci1tb3RoZXJzaGlwJCBnaXQgY2hlY2tvdXQgbWFzdGVyCittb3RoZXJzaGlwJCBnaXQgc3dpdGNoIG1hc3RlcgogbW90aGVyc2hpcCQgZ2l0IG1lcmdlIHNhdGVsbGl0ZS9tYXN0ZXIgPDU+CiAtLS0tLS0tLS0tLS0KICsKQEAgLTIxNiw3ICsyMTUsNyBAQAogQnJhbmNoIG9mZiBvZiBhIHNwZWNpZmljIHRhZy46OgogKwogLS0tLS0tLS0tLS0tCi0kIGdpdCBjaGVja291dCAtYiBwcml2YXRlMi42LjE0IHYyLjYuMTQgPDE+CiskIGdpdCBzd2l0Y2ggLWMgcHJpdmF0ZTIuNi4xNCB2Mi42LjE0IDwxPgogJCBlZGl0L2NvbXBpbGUvdGVzdDsgZ2l0IGNvbW1pdCAtYQogJCBnaXQgY2hlY2tvdXQgbWFzdGVyCiAkIGdpdCBjaGVycnktcGljayB2Mi42LjE0Li5wcml2YXRlMi42LjE0IDwyPgpAQCAtMjc0LDE0ICsyNzMsMTQgQEAKICYgcyAyIDMgNCA1IC4vK3RvLWFwcGx5CiAmIHMgNyA4IC4vK2hvbGQtbGludXMKICYgcQotJCBnaXQgY2hlY2tvdXQgLWIgdG9waWMvb25lIG1hc3RlcgorJCBnaXQgc3dpdGNoIC1jIHRvcGljL29uZSBtYXN0ZXIKICQgZ2l0IGFtIC0zIC1pIC1zIC4vK3RvLWFwcGx5IDw0PgogJCBjb21waWxlL3Rlc3QKLSQgZ2l0IGNoZWNrb3V0IC1iIGhvbGQvbGludXMgJiYgZ2l0IGFtIC0zIC1pIC1zIC4vK2hvbGQtbGludXMgPDU+Ci0kIGdpdCBjaGVja291dCB0b3BpYy9vbmUgJiYgZ2l0IHJlYmFzZSBtYXN0ZXIgPDY+Ci0kIGdpdCBjaGVja291dCBwdSAmJiBnaXQgcmVzZXQgLS1oYXJkIG5leHQgPDc+CiskIGdpdCBzd2l0Y2ggLWMgaG9sZC9saW51cyAmJiBnaXQgYW0gLTMgLWkgLXMgLi8raG9sZC1saW51cyA8NT4KKyQgZ2l0IHN3aXRjaCB0b3BpYy9vbmUgJiYgZ2l0IHJlYmFzZSBtYXN0ZXIgPDY+CiskIGdpdCBzd2l0Y2ggLUMgcHUgbmV4dCA8Nz4KICQgZ2l0IG1lcmdlIHRvcGljL29uZSB0b3BpYy90d28gJiYgZ2l0IG1lcmdlIGhvbGQvbGludXMgPDg+Ci0kIGdpdCBjaGVja291dCBtYWludAorJCBnaXQgc3dpdGNoIG1haW50CiAkIGdpdCBjaGVycnktcGljayBtYXN0ZXJ+NCA8OT4KICQgY29tcGlsZS90ZXN0CiAkIGdpdCB0YWcgLXMgLW0gIkdJVCAwLjk5Ljl4IiB2MC45OS45eCA8MTA+CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdGhvb2tzLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0aG9va3MudHh0CmluZGV4IDk1OTA0NDMuLjNkY2NhYjUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0aG9va3MudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0aG9va3MudHh0CkBAIC05OSw2ICs5OSwzMiBAQAogdmFyaWFibGUgYEdJVF9FRElUT1I9OmAgaWYgdGhlIGNvbW1hbmQgd2lsbCBub3QgYnJpbmcgdXAgYW4gZWRpdG9yCiB0byBtb2RpZnkgdGhlIGNvbW1pdCBtZXNzYWdlLgogCitUaGUgZGVmYXVsdCAncHJlLWNvbW1pdCcgaG9vaywgd2hlbiBlbmFibGVkLS1hbmQgd2l0aCB0aGUKK2Bob29rcy5hbGxvd25vbmFzY2lpYCBjb25maWcgb3B0aW9uIHVuc2V0IG9yIHNldCB0byBmYWxzZS0tcHJldmVudHMKK3RoZSB1c2Ugb2Ygbm9uLUFTQ0lJIGZpbGVuYW1lcy4KKworcHJlLW1lcmdlLWNvbW1pdAorfn5+fn5+fn5+fn5+fn5+fgorCitUaGlzIGhvb2sgaXMgaW52b2tlZCBieSBsaW5rZ2l0OmdpdC1tZXJnZVsxXSwgYW5kIGNhbiBiZSBieXBhc3NlZAord2l0aCB0aGUgYC0tbm8tdmVyaWZ5YCBvcHRpb24uICBJdCB0YWtlcyBubyBwYXJhbWV0ZXJzLCBhbmQgaXMKK2ludm9rZWQgYWZ0ZXIgdGhlIG1lcmdlIGhhcyBiZWVuIGNhcnJpZWQgb3V0IHN1Y2Nlc3NmdWxseSBhbmQgYmVmb3JlCitvYnRhaW5pbmcgdGhlIHByb3Bvc2VkIGNvbW1pdCBsb2cgbWVzc2FnZSB0bworbWFrZSBhIGNvbW1pdC4gIEV4aXRpbmcgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cyBmcm9tIHRoaXMgc2NyaXB0CitjYXVzZXMgdGhlIGBnaXQgbWVyZ2VgIGNvbW1hbmQgdG8gYWJvcnQgYmVmb3JlIGNyZWF0aW5nIGEgY29tbWl0LgorCitUaGUgZGVmYXVsdCAncHJlLW1lcmdlLWNvbW1pdCcgaG9vaywgd2hlbiBlbmFibGVkLCBydW5zIHRoZQorJ3ByZS1jb21taXQnIGhvb2ssIGlmIHRoZSBsYXR0ZXIgaXMgZW5hYmxlZC4KKworVGhpcyBob29rIGlzIGludm9rZWQgd2l0aCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKK2BHSVRfRURJVE9SPTpgIGlmIHRoZSBjb21tYW5kIHdpbGwgbm90IGJyaW5nIHVwIGFuIGVkaXRvcgordG8gbW9kaWZ5IHRoZSBjb21taXQgbWVzc2FnZS4KKworSWYgdGhlIG1lcmdlIGNhbm5vdCBiZSBjYXJyaWVkIG91dCBhdXRvbWF0aWNhbGx5LCB0aGUgY29uZmxpY3RzCituZWVkIHRvIGJlIHJlc29sdmVkIGFuZCB0aGUgcmVzdWx0IGNvbW1pdHRlZCBzZXBhcmF0ZWx5IChzZWUKK2xpbmtnaXQ6Z2l0LW1lcmdlWzFdKS4gQXQgdGhhdCBwb2ludCwgdGhpcyBob29rIHdpbGwgbm90IGJlIGV4ZWN1dGVkLAorYnV0IHRoZSAncHJlLWNvbW1pdCcgaG9vayB3aWxsLCBpZiBpdCBpcyBlbmFibGVkLgorCiBwcmVwYXJlLWNvbW1pdC1tc2cKIH5+fn5+fn5+fn5+fn5+fn5+fgogCkBAIC0xNjEsMTIgKzE4NywxMyBAQAogcG9zdC1jaGVja291dAogfn5+fn5+fn5+fn5+fgogCi1UaGlzIGhvb2sgaXMgaW52b2tlZCB3aGVuIGEgbGlua2dpdDpnaXQtY2hlY2tvdXRbMV0gaXMgcnVuIGFmdGVyIGhhdmluZyB1cGRhdGVkIHRoZQorVGhpcyBob29rIGlzIGludm9rZWQgd2hlbiBhIGxpbmtnaXQ6Z2l0LWNoZWNrb3V0WzFdIG9yCitsaW5rZ2l0OmdpdC1zd2l0Y2hbMV0gaXMgcnVuIGFmdGVyIGhhdmluZyB1cGRhdGVkIHRoZQogd29ya3RyZWUuICBUaGUgaG9vayBpcyBnaXZlbiB0aHJlZSBwYXJhbWV0ZXJzOiB0aGUgcmVmIG9mIHRoZSBwcmV2aW91cyBIRUFELAogdGhlIHJlZiBvZiB0aGUgbmV3IEhFQUQgKHdoaWNoIG1heSBvciBtYXkgbm90IGhhdmUgY2hhbmdlZCksIGFuZCBhIGZsYWcKIGluZGljYXRpbmcgd2hldGhlciB0aGUgY2hlY2tvdXQgd2FzIGEgYnJhbmNoIGNoZWNrb3V0IChjaGFuZ2luZyBicmFuY2hlcywKIGZsYWc9MSkgb3IgYSBmaWxlIGNoZWNrb3V0IChyZXRyaWV2aW5nIGEgZmlsZSBmcm9tIHRoZSBpbmRleCwgZmxhZz0wKS4KLVRoaXMgaG9vayBjYW5ub3QgYWZmZWN0IHRoZSBvdXRjb21lIG9mIGBnaXQgY2hlY2tvdXRgLgorVGhpcyBob29rIGNhbm5vdCBhZmZlY3QgdGhlIG91dGNvbWUgb2YgYGdpdCBzd2l0Y2hgIG9yIGBnaXQgY2hlY2tvdXRgLgogCiBJdCBpcyBhbHNvIHJ1biBhZnRlciBsaW5rZ2l0OmdpdC1jbG9uZVsxXSwgdW5sZXNzIHRoZSBgLS1uby1jaGVja291dGAgKGAtbmApIG9wdGlvbiBpcwogdXNlZC4gVGhlIGZpcnN0IHBhcmFtZXRlciBnaXZlbiB0byB0aGUgaG9vayBpcyB0aGUgbnVsbC1yZWYsIHRoZSBzZWNvbmQgdGhlCkBAIC00MDIsNyArNDI5LDggQEAKIEZvciBleGFtcGxlLCB0aGUgaG9vayBjYW4gc2ltcGx5IHJ1biBgZ2l0IHJlYWQtdHJlZSAtdSAtbSBIRUFEICIkMSJgCiBpbiBvcmRlciB0byBlbXVsYXRlIGBnaXQgZmV0Y2hgIHRoYXQgaXMgcnVuIGluIHRoZSByZXZlcnNlIGRpcmVjdGlvbgogd2l0aCBgZ2l0IHB1c2hgLCBhcyB0aGUgdHdvLXRyZWUgZm9ybSBvZiBgZ2l0IHJlYWQtdHJlZSAtdSAtbWAgaXMKLWVzc2VudGlhbGx5IHRoZSBzYW1lIGFzIGBnaXQgY2hlY2tvdXRgIHRoYXQgc3dpdGNoZXMgYnJhbmNoZXMgd2hpbGUKK2Vzc2VudGlhbGx5IHRoZSBzYW1lIGFzIGBnaXQgc3dpdGNoYCBvciBgZ2l0IGNoZWNrb3V0YAordGhhdCBzd2l0Y2hlcyBicmFuY2hlcyB3aGlsZQoga2VlcGluZyB0aGUgbG9jYWwgY2hhbmdlcyBpbiB0aGUgd29ya2luZyB0cmVlIHRoYXQgZG8gbm90IGludGVyZmVyZQogd2l0aCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBicmFuY2hlcy4KIApAQCAtNDE5LDEwICs0NDcsMTIgQEAKIAogVGhpcyBob29rIGlzIGludm9rZWQgYnkgY29tbWFuZHMgdGhhdCByZXdyaXRlIGNvbW1pdHMKIChsaW5rZ2l0OmdpdC1jb21taXRbMV0gd2hlbiBjYWxsZWQgd2l0aCBgLS1hbWVuZGAgYW5kCi1saW5rZ2l0OmdpdC1yZWJhc2VbMV07IGN1cnJlbnRseSBgZ2l0IGZpbHRlci1icmFuY2hgIGRvZXMgJ25vdCcgY2FsbAotaXQhKS4gIEl0cyBmaXJzdCBhcmd1bWVudCBkZW5vdGVzIHRoZSBjb21tYW5kIGl0IHdhcyBpbnZva2VkIGJ5OgotY3VycmVudGx5IG9uZSBvZiBgYW1lbmRgIG9yIGByZWJhc2VgLiAgRnVydGhlciBjb21tYW5kLWRlcGVuZGVudAotYXJndW1lbnRzIG1heSBiZSBwYXNzZWQgaW4gdGhlIGZ1dHVyZS4KK2xpbmtnaXQ6Z2l0LXJlYmFzZVsxXTsgaG93ZXZlciwgZnVsbC1oaXN0b3J5IChyZSl3cml0aW5nIHRvb2xzIGxpa2UKK2xpbmtnaXQ6Z2l0LWZhc3QtaW1wb3J0WzFdIG9yCitodHRwczovL2dpdGh1Yi5jb20vbmV3cmVuL2dpdC1maWx0ZXItcmVwb1tnaXQtZmlsdGVyLXJlcG9dIHR5cGljYWxseQorZG8gbm90IGNhbGwgaXQhKS4gIEl0cyBmaXJzdCBhcmd1bWVudCBkZW5vdGVzIHRoZSBjb21tYW5kIGl0IHdhcworaW52b2tlZCBieTogY3VycmVudGx5IG9uZSBvZiBgYW1lbmRgIG9yIGByZWJhc2VgLiAgRnVydGhlcgorY29tbWFuZC1kZXBlbmRlbnQgYXJndW1lbnRzIG1heSBiZSBwYXNzZWQgaW4gdGhlIGZ1dHVyZS4KIAogVGhlIGhvb2sgcmVjZWl2ZXMgYSBsaXN0IG9mIHRoZSByZXdyaXR0ZW4gY29tbWl0cyBvbiBzdGRpbiwgaW4gdGhlCiBmb3JtYXQKQEAgLTQ2MCw5ICs0OTAsMTYgQEAKIH5+fn5+fn5+fn5+fn5+fn5+fgogCiBUaGlzIGhvb2sgaXMgaW52b2tlZCB3aGVuIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbiBgY29yZS5mc21vbml0b3JgIGlzCi1zZXQgdG8gYC5naXQvaG9va3MvZnNtb25pdG9yLXdhdGNobWFuYC4gIEl0IHRha2VzIHR3byBhcmd1bWVudHMsIGEgdmVyc2lvbgotKGN1cnJlbnRseSAxKSBhbmQgdGhlIHRpbWUgaW4gZWxhcHNlZCBuYW5vc2Vjb25kcyBzaW5jZSBtaWRuaWdodCwKLUphbnVhcnkgMSwgMTk3MC4KK3NldCB0byBgLmdpdC9ob29rcy9mc21vbml0b3Itd2F0Y2htYW5gIG9yIGAuZ2l0L2hvb2tzL2ZzbW9uaXRvci13YXRjaG1hbnYyYAorZGVwZW5kaW5nIG9uIHRoZSB2ZXJzaW9uIG9mIHRoZSBob29rIHRvIHVzZS4KKworVmVyc2lvbiAxIHRha2VzIHR3byBhcmd1bWVudHMsIGEgdmVyc2lvbiAoMSkgYW5kIHRoZSB0aW1lIGluIGVsYXBzZWQKK25hbm9zZWNvbmRzIHNpbmNlIG1pZG5pZ2h0LCBKYW51YXJ5IDEsIDE5NzAuCisKK1ZlcnNpb24gMiB0YWtlcyB0d28gYXJndW1lbnRzLCBhIHZlcnNpb24gKDIpIGFuZCBhIHRva2VuIHRoYXQgaXMgdXNlZAorZm9yIGlkZW50aWZ5aW5nIGNoYW5nZXMgc2luY2UgdGhlIHRva2VuLiBGb3Igd2F0Y2htYW4gdGhpcyB3b3VsZCBiZQorYSBjbG9jayBpZC4gVGhpcyB2ZXJzaW9uIG11c3Qgb3V0cHV0IHRvIHN0ZG91dCB0aGUgbmV3IHRva2VuIGZvbGxvd2VkCitieSBhIE5VTCBiZWZvcmUgdGhlIGxpc3Qgb2YgZmlsZXMuCiAKIFRoZSBob29rIHNob3VsZCBvdXRwdXQgdG8gc3Rkb3V0IHRoZSBsaXN0IG9mIGFsbCBmaWxlcyBpbiB0aGUgd29ya2luZwogZGlyZWN0b3J5IHRoYXQgbWF5IGhhdmUgY2hhbmdlZCBzaW5jZSB0aGUgcmVxdWVzdGVkIHRpbWUuICBUaGUgbG9naWMKQEAgLTQ5Miw2ICs1MjksMjQgQEAKIGZyb20gc3RhbmRhcmQgaW5wdXQuIEV4aXRpbmcgd2l0aCBub24temVybyBzdGF0dXMgZnJvbSB0aGlzIHNjcmlwdCBwcmV2ZW50CiBgZ2l0LXA0IHN1Ym1pdGAgZnJvbSBsYXVuY2hpbmcuIFJ1biBgZ2l0LXA0IHN1Ym1pdCAtLWhlbHBgIGZvciBkZXRhaWxzLgogCitwb3N0LWluZGV4LWNoYW5nZQorfn5+fn5+fn5+fn5+fn5+fn4KKworVGhpcyBob29rIGlzIGludm9rZWQgd2hlbiB0aGUgaW5kZXggaXMgd3JpdHRlbiBpbiByZWFkLWNhY2hlLmMKK2RvX3dyaXRlX2xvY2tlZF9pbmRleC4KKworVGhlIGZpcnN0IHBhcmFtZXRlciBwYXNzZWQgdG8gdGhlIGhvb2sgaXMgdGhlIGluZGljYXRvciBmb3IgdGhlCit3b3JraW5nIGRpcmVjdG9yeSBiZWluZyB1cGRhdGVkLiAgIjEiIG1lYW5pbmcgd29ya2luZyBkaXJlY3RvcnkKK3dhcyB1cGRhdGVkIG9yICIwIiB3aGVuIHRoZSB3b3JraW5nIGRpcmVjdG9yeSB3YXMgbm90IHVwZGF0ZWQuCisKK1RoZSBzZWNvbmQgcGFyYW1ldGVyIHBhc3NlZCB0byB0aGUgaG9vayBpcyB0aGUgaW5kaWNhdG9yIGZvciB3aGV0aGVyCitvciBub3QgdGhlIGluZGV4IHdhcyB1cGRhdGVkIGFuZCB0aGUgc2tpcC13b3JrdHJlZSBiaXQgY291bGQgaGF2ZQorY2hhbmdlZC4gICIxIiBtZWFuaW5nIHNraXAtd29ya3RyZWUgYml0cyBjb3VsZCBoYXZlIGJlZW4gdXBkYXRlZAorYW5kICIwIiBtZWFuaW5nIHRoZXkgd2VyZSBub3QuCisKK09ubHkgb25lIHBhcmFtZXRlciBzaG91bGQgYmUgc2V0IHRvICIxIiB3aGVuIHRoZSBob29rIHJ1bnMuICBUaGUgaG9vaworcnVubmluZyBwYXNzaW5nICIxIiwgIjEiIHNob3VsZCBub3QgYmUgcG9zc2libGUuCisKIEdJVAogLS0tCiBQYXJ0IG9mIHRoZSBsaW5rZ2l0OmdpdFsxXSBzdWl0ZQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXRpZ25vcmUudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRpZ25vcmUudHh0CmluZGV4IDFjOTRmMDguLmQ0N2IxYWUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0aWdub3JlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdGlnbm9yZS50eHQKQEAgLTg5LDI4ICs4OSwyOCBAQAogICAgUHV0IGEgYmFja3NsYXNoICgiYFxgIikgaW4gZnJvbnQgb2YgdGhlIGZpcnN0ICJgIWAiIGZvciBwYXR0ZXJucwogICAgdGhhdCBiZWdpbiB3aXRoIGEgbGl0ZXJhbCAiYCFgIiwgZm9yIGV4YW1wbGUsICJgXCFpbXBvcnRhbnQhLnR4dGAiLgogCi0gLSBJZiB0aGUgcGF0dGVybiBlbmRzIHdpdGggYSBzbGFzaCwgaXQgaXMgcmVtb3ZlZCBmb3IgdGhlCi0gICBwdXJwb3NlIG9mIHRoZSBmb2xsb3dpbmcgZGVzY3JpcHRpb24sIGJ1dCBpdCB3b3VsZCBvbmx5IGZpbmQKLSAgIGEgbWF0Y2ggd2l0aCBhIGRpcmVjdG9yeS4gIEluIG90aGVyIHdvcmRzLCBgZm9vL2Agd2lsbCBtYXRjaCBhCi0gICBkaXJlY3RvcnkgYGZvb2AgYW5kIHBhdGhzIHVuZGVybmVhdGggaXQsIGJ1dCB3aWxsIG5vdCBtYXRjaCBhCi0gICByZWd1bGFyIGZpbGUgb3IgYSBzeW1ib2xpYyBsaW5rIGBmb29gICh0aGlzIGlzIGNvbnNpc3RlbnQKLSAgIHdpdGggdGhlIHdheSBob3cgcGF0aHNwZWMgd29ya3MgaW4gZ2VuZXJhbCBpbiBHaXQpLgorIC0gVGhlIHNsYXNoICcvJyBpcyB1c2VkIGFzIHRoZSBkaXJlY3Rvcnkgc2VwYXJhdG9yLiBTZXBhcmF0b3JzIG1heQorICAgb2NjdXIgYXQgdGhlIGJlZ2lubmluZywgbWlkZGxlIG9yIGVuZCBvZiB0aGUgYC5naXRpZ25vcmVgIHNlYXJjaCBwYXR0ZXJuLgogCi0gLSBJZiB0aGUgcGF0dGVybiBkb2VzIG5vdCBjb250YWluIGEgc2xhc2ggJy8nLCBHaXQgdHJlYXRzIGl0IGFzCi0gICBhIHNoZWxsIGdsb2IgcGF0dGVybiBhbmQgY2hlY2tzIGZvciBhIG1hdGNoIGFnYWluc3QgdGhlCi0gICBwYXRobmFtZSByZWxhdGl2ZSB0byB0aGUgbG9jYXRpb24gb2YgdGhlIGAuZ2l0aWdub3JlYCBmaWxlCi0gICAocmVsYXRpdmUgdG8gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JrIHRyZWUgaWYgbm90IGZyb20gYQotICAgYC5naXRpZ25vcmVgIGZpbGUpLgorIC0gSWYgdGhlcmUgaXMgYSBzZXBhcmF0b3IgYXQgdGhlIGJlZ2lubmluZyBvciBtaWRkbGUgKG9yIGJvdGgpIG9mIHRoZQorICAgcGF0dGVybiwgdGhlbiB0aGUgcGF0dGVybiBpcyByZWxhdGl2ZSB0byB0aGUgZGlyZWN0b3J5IGxldmVsIG9mIHRoZQorICAgcGFydGljdWxhciBgLmdpdGlnbm9yZWAgZmlsZSBpdHNlbGYuIE90aGVyd2lzZSB0aGUgcGF0dGVybiBtYXkgYWxzbworICAgbWF0Y2ggYXQgYW55IGxldmVsIGJlbG93IHRoZSBgLmdpdGlnbm9yZWAgbGV2ZWwuCiAKLSAtIE90aGVyd2lzZSwgR2l0IHRyZWF0cyB0aGUgcGF0dGVybiBhcyBhIHNoZWxsIGdsb2I6ICJgKmAiIG1hdGNoZXMKLSAgIGFueXRoaW5nIGV4Y2VwdCAiYC9gIiwgImA/YCIgbWF0Y2hlcyBhbnkgb25lIGNoYXJhY3RlciBleGNlcHQgImAvYCIKLSAgIGFuZCAiYFtdYCIgbWF0Y2hlcyBvbmUgY2hhcmFjdGVyIGluIGEgc2VsZWN0ZWQgcmFuZ2UuIFNlZQotICAgZm5tYXRjaCgzKSBhbmQgdGhlIEZOTV9QQVRITkFNRSBmbGFnIGZvciBhIG1vcmUgZGV0YWlsZWQKLSAgIGRlc2NyaXB0aW9uLgorIC0gSWYgdGhlcmUgaXMgYSBzZXBhcmF0b3IgYXQgdGhlIGVuZCBvZiB0aGUgcGF0dGVybiB0aGVuIHRoZSBwYXR0ZXJuCisgICB3aWxsIG9ubHkgbWF0Y2ggZGlyZWN0b3JpZXMsIG90aGVyd2lzZSB0aGUgcGF0dGVybiBjYW4gbWF0Y2ggYm90aAorICAgZmlsZXMgYW5kIGRpcmVjdG9yaWVzLgogCi0gLSBBIGxlYWRpbmcgc2xhc2ggbWF0Y2hlcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwYXRobmFtZS4KLSAgIEZvciBleGFtcGxlLCAiL3thc3Rlcmlza30uYyIgbWF0Y2hlcyAiY2F0LWZpbGUuYyIgYnV0IG5vdAotICAgIm1vemlsbGEtc2hhMS9zaGExLmMiLgorIC0gRm9yIGV4YW1wbGUsIGEgcGF0dGVybiBgZG9jL2Zyb3R6L2AgbWF0Y2hlcyBgZG9jL2Zyb3R6YCBkaXJlY3RvcnksCisgICBidXQgbm90IGBhL2RvYy9mcm90emAgZGlyZWN0b3J5OyBob3dldmVyIGBmcm90ei9gIG1hdGNoZXMgYGZyb3R6YAorICAgYW5kIGBhL2Zyb3R6YCB0aGF0IGlzIGEgZGlyZWN0b3J5IChhbGwgcGF0aHMgYXJlIHJlbGF0aXZlIGZyb20KKyAgIHRoZSBgLmdpdGlnbm9yZWAgZmlsZSkuCisKKyAtIEFuIGFzdGVyaXNrICJgKmAiIG1hdGNoZXMgYW55dGhpbmcgZXhjZXB0IGEgc2xhc2guCisgICBUaGUgY2hhcmFjdGVyICJgP2AiIG1hdGNoZXMgYW55IG9uZSBjaGFyYWN0ZXIgZXhjZXB0ICJgL2AiLgorICAgVGhlIHJhbmdlIG5vdGF0aW9uLCBlLmcuIGBbYS16QS1aXWAsIGNhbiBiZSB1c2VkIHRvIG1hdGNoCisgICBvbmUgb2YgdGhlIGNoYXJhY3RlcnMgaW4gYSByYW5nZS4gU2VlIGZubWF0Y2goMykgYW5kIHRoZQorICAgRk5NX1BBVEhOQU1FIGZsYWcgZm9yIGEgbW9yZSBkZXRhaWxlZCBkZXNjcmlwdGlvbi4KIAogVHdvIGNvbnNlY3V0aXZlIGFzdGVyaXNrcyAoImAqKmAiKSBpbiBwYXR0ZXJucyBtYXRjaGVkIGFnYWluc3QKIGZ1bGwgcGF0aG5hbWUgbWF5IGhhdmUgc3BlY2lhbCBtZWFuaW5nOgpAQCAtMTMyLDYgKzEzMiwxNCBAQAogIC0gT3RoZXIgY29uc2VjdXRpdmUgYXN0ZXJpc2tzIGFyZSBjb25zaWRlcmVkIHJlZ3VsYXIgYXN0ZXJpc2tzIGFuZAogICAgd2lsbCBtYXRjaCBhY2NvcmRpbmcgdG8gdGhlIHByZXZpb3VzIHJ1bGVzLgogCitDT05GSUdVUkFUSU9OCistLS0tLS0tLS0tLS0tCisKK1RoZSBvcHRpb25hbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBjb3JlLmV4Y2x1ZGVzRmlsZWAgaW5kaWNhdGVzIGEgcGF0aCB0byBhCitmaWxlIGNvbnRhaW5pbmcgcGF0dGVybnMgb2YgZmlsZSBuYW1lcyB0byBleGNsdWRlLCBzaW1pbGFyIHRvCitgJEdJVF9ESVIvaW5mby9leGNsdWRlYC4gIFBhdHRlcm5zIGluIHRoZSBleGNsdWRlIGZpbGUgYXJlIHVzZWQgaW4gYWRkaXRpb24gdG8KK3Rob3NlIGluIGAkR0lUX0RJUi9pbmZvL2V4Y2x1ZGVgLgorCiBOT1RFUwogLS0tLS0KIApAQCAtMTQ0LDYgKzE1MiwyOCBAQAogRVhBTVBMRVMKIC0tLS0tLS0tCiAKKyAtIFRoZSBwYXR0ZXJuIGBoZWxsby4qYCBtYXRjaGVzIGFueSBmaWxlIG9yIGZvbGRlcgorICAgd2hvc2UgbmFtZSBiZWdpbnMgd2l0aCBgaGVsbG9gLiBJZiBvbmUgd2FudHMgdG8gcmVzdHJpY3QKKyAgIHRoaXMgb25seSB0byB0aGUgZGlyZWN0b3J5IGFuZCBub3QgaW4gaXRzIHN1YmRpcmVjdG9yaWVzLAorICAgb25lIGNhbiBwcmVwZW5kIHRoZSBwYXR0ZXJuIHdpdGggYSBzbGFzaCwgaS5lLiBgL2hlbGxvLipgOworICAgdGhlIHBhdHRlcm4gbm93IG1hdGNoZXMgYGhlbGxvLnR4dGAsIGBoZWxsby5jYCBidXQgbm90CisgICBgYS9oZWxsby5qYXZhYC4KKworIC0gVGhlIHBhdHRlcm4gYGZvby9gIHdpbGwgbWF0Y2ggYSBkaXJlY3RvcnkgYGZvb2AgYW5kCisgICBwYXRocyB1bmRlcm5lYXRoIGl0LCBidXQgd2lsbCBub3QgbWF0Y2ggYSByZWd1bGFyIGZpbGUKKyAgIG9yIGEgc3ltYm9saWMgbGluayBgZm9vYCAodGhpcyBpcyBjb25zaXN0ZW50IHdpdGggdGhlCisgICB3YXkgaG93IHBhdGhzcGVjIHdvcmtzIGluIGdlbmVyYWwgaW4gR2l0KQorCisgLSBUaGUgcGF0dGVybiBgZG9jL2Zyb3R6YCBhbmQgYC9kb2MvZnJvdHpgIGhhdmUgdGhlIHNhbWUgZWZmZWN0CisgICBpbiBhbnkgYC5naXRpZ25vcmVgIGZpbGUuIEluIG90aGVyIHdvcmRzLCBhIGxlYWRpbmcgc2xhc2gKKyAgIGlzIG5vdCByZWxldmFudCAgaWYgdGhlcmUgaXMgYWxyZWFkeSBhIG1pZGRsZSBzbGFzaCBpbgorICAgdGhlIHBhdHRlcm4uCisKKyAtIFRoZSBwYXR0ZXJuICJmb28vKiIsIG1hdGNoZXMgImZvby90ZXN0Lmpzb24iCisgICAoYSByZWd1bGFyIGZpbGUpLCAiZm9vL2JhciIgKGEgZGlyZWN0b3J5KSwgYnV0IGl0IGRvZXMgbm90IG1hdGNoCisgICAiZm9vL2Jhci9oZWxsby5jIiAoYSByZWd1bGFyIGZpbGUpLCBhcyB0aGUgYXN0ZXJpc2sgaW4gdGhlCisgICBwYXR0ZXJuIGRvZXMgbm90IG1hdGNoICJiYXIvaGVsbG8uYyIgd2hpY2ggaGFzIGEgc2xhc2ggaW4gaXQuCisKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgJCBnaXQgc3RhdHVzCiAgICAgWy4uLl0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0ay50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdGsudHh0CmluZGV4IDI0NGNkMDEuLmM2NTNlYmIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0ay50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXRrLnR4dApAQCAtMTA1LDggKzEwNSwxMiBAQAogCShvciB0aGUgZnVuY3Rpb24gbmFtZSByZWdleCA8ZnVuY25hbWU+KSB3aXRoaW4gdGhlIDxmaWxlPi4gIFlvdSBtYXkKIAlub3QgZ2l2ZSBhbnkgcGF0aHNwZWMgbGltaXRlcnMuICBUaGlzIGlzIGN1cnJlbnRseSBsaW1pdGVkIHRvCiAJYSB3YWxrIHN0YXJ0aW5nIGZyb20gYSBzaW5nbGUgcmV2aXNpb24sIGkuZS4sIHlvdSBtYXkgb25seQotCWdpdmUgemVybyBvciBvbmUgcG9zaXRpdmUgcmV2aXNpb24gYXJndW1lbnRzLgotCVlvdSBjYW4gc3BlY2lmeSB0aGlzIG9wdGlvbiBtb3JlIHRoYW4gb25jZS4KKwlnaXZlIHplcm8gb3Igb25lIHBvc2l0aXZlIHJldmlzaW9uIGFyZ3VtZW50cywgYW5kCisJPHN0YXJ0PiBhbmQgPGVuZD4gKG9yIDxmdW5jbmFtZT4pIG11c3QgZXhpc3QgaW4gdGhlIHN0YXJ0aW5nIHJldmlzaW9uLgorCVlvdSBjYW4gc3BlY2lmeSB0aGlzIG9wdGlvbiBtb3JlIHRoYW4gb25jZS4gSW1wbGllcyBgLS1wYXRjaGAuCisJUGF0Y2ggb3V0cHV0IGNhbiBiZSBzdXBwcmVzc2VkIHVzaW5nIGAtLW5vLXBhdGNoYCwgYnV0IG90aGVyIGRpZmYgZm9ybWF0cworCShuYW1lbHkgYC0tcmF3YCwgYC0tbnVtc3RhdGAsIGAtLXNob3J0c3RhdGAsIGAtLWRpcnN0YXRgLCBgLS1zdW1tYXJ5YCwKKwlgLS1uYW1lLW9ubHlgLCBgLS1uYW1lLXN0YXR1c2AsIGAtLWNoZWNrYCkgYXJlIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWQuCiArCiAqTm90ZToqIGdpdGsgKHVubGlrZSBsaW5rZ2l0OmdpdC1sb2dbMV0pIGN1cnJlbnRseSBvbmx5IHVuZGVyc3RhbmRzCiB0aGlzIG9wdGlvbiBpZiB5b3Ugc3BlY2lmeSBpdCAiZ2x1ZWQgdG9nZXRoZXIiIHdpdGggaXRzIGFyZ3VtZW50LiAgRG8KQEAgLTE2OCwxMiArMTcyLDEyIEBACiAtLS0tLQogVXNlciBjb25maWd1cmF0aW9uIGFuZCBwcmVmZXJlbmNlcyBhcmUgc3RvcmVkIGF0OgogCi0qICckWERHX0NPTkZJR19IT01FL2dpdC9naXRrJyBpZiBpdCBleGlzdHMsIG90aGVyd2lzZQotKiAnJEhPTUUvLmdpdGsnIGlmIGl0IGV4aXN0cworKiBgJFhER19DT05GSUdfSE9NRS9naXQvZ2l0a2AgaWYgaXQgZXhpc3RzLCBvdGhlcndpc2UKKyogYCRIT01FLy5naXRrYCBpZiBpdCBleGlzdHMKIAotSWYgbmVpdGhlciBvZiB0aGUgYWJvdmUgZXhpc3QgdGhlbiAnJFhER19DT05GSUdfSE9NRS9naXQvZ2l0aycgaXMgY3JlYXRlZCBhbmQKK0lmIG5laXRoZXIgb2YgdGhlIGFib3ZlIGV4aXN0IHRoZW4gYCRYREdfQ09ORklHX0hPTUUvZ2l0L2dpdGtgIGlzIGNyZWF0ZWQgYW5kCiB1c2VkIGJ5IGRlZmF1bHQuIElmICckWERHX0NPTkZJR19IT01FJyBpcyBub3Qgc2V0IGl0IGRlZmF1bHRzIHRvCi0nJEhPTUUvLmNvbmZpZycgaW4gYWxsIGNhc2VzLgorYCRIT01FLy5jb25maWdgIGluIGFsbCBjYXNlcy4KIAogSGlzdG9yeQogLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXRtb2R1bGVzLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0bW9kdWxlcy50eHQKaW5kZXggMTY0OTk1ZC4uNjcyNzVmZCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXRtb2R1bGVzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdG1vZHVsZXMudHh0CkBAIC04MCw3ICs4MCw3IEBACiAJICAgIENvbW1pdHRlZCBkaWZmZXJlbmNlcyBhbmQgbW9kaWZpY2F0aW9ucyB0byB0cmFja2VkIGZpbGVzIHdpbGwgc2hvdwogCSAgICB1cC4KIAotCW5vbmU7OyBObyBtb2RpZmlhdGlvbnMgdG8gc3VibW9kdWxlcyBhcmUgaWdub3JlZCwgYWxsIG9mIGNvbW1pdHRlZAorCW5vbmU7OyBObyBtb2RpZmljYXRpb25zIHRvIHN1Ym1vZHVsZXMgYXJlIGlnbm9yZWQsIGFsbCBvZiBjb21taXR0ZWQKIAkgICAgZGlmZmVyZW5jZXMsIGFuZCBtb2RpZmljYXRpb25zIHRvIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyBhcmUKIAkgICAgc2hvd24uIFRoaXMgaXMgdGhlIGRlZmF1bHQgb3B0aW9uLgogCkBAIC04OSw3ICs4OSw3IEBACiAuZ2l0bW9kdWxlcy4KIAogQm90aCBzZXR0aW5ncyBjYW4gYmUgb3ZlcnJpZGRlbiBvbiB0aGUgY29tbWFuZCBsaW5lIGJ5IHVzaW5nIHRoZQotIi0taWdub3JlLXN1Ym1vZHVsZSIgb3B0aW9uLiBUaGUgJ2dpdCBzdWJtb2R1bGUnIGNvbW1hbmRzIGFyZSBub3QKKyItLWlnbm9yZS1zdWJtb2R1bGVzIiBvcHRpb24uIFRoZSAnZ2l0IHN1Ym1vZHVsZScgY29tbWFuZHMgYXJlIG5vdAogYWZmZWN0ZWQgYnkgdGhpcyBzZXR0aW5nLgogLS0KIApAQCAtMTA0LDIyICsxMDQsMjMgQEAKIAogQ29uc2lkZXIgdGhlIGZvbGxvd2luZyAuZ2l0bW9kdWxlcyBmaWxlOgogCi0JW3N1Ym1vZHVsZSAibGliZm9vIl0KLQkJcGF0aCA9IGluY2x1ZGUvZm9vCi0JCXVybCA9IGdpdDovL2Zvby5jb20vZ2l0L2xpYi5naXQKKy0tLS0KK1tzdWJtb2R1bGUgImxpYmZvbyJdCisJcGF0aCA9IGluY2x1ZGUvZm9vCisJdXJsID0gZ2l0Oi8vZm9vLmNvbS9naXQvbGliLmdpdAogCi0JW3N1Ym1vZHVsZSAibGliYmFyIl0KLQkJcGF0aCA9IGluY2x1ZGUvYmFyCi0JCXVybCA9IGdpdDovL2Jhci5jb20vZ2l0L2xpYi5naXQKLQorW3N1Ym1vZHVsZSAibGliYmFyIl0KKwlwYXRoID0gaW5jbHVkZS9iYXIKKwl1cmwgPSBnaXQ6Ly9iYXIuY29tL2dpdC9saWIuZ2l0CistLS0tCiAKIFRoaXMgZGVmaW5lcyB0d28gc3VibW9kdWxlcywgYGxpYmZvb2AgYW5kIGBsaWJiYXJgLiBUaGVzZSBhcmUgZXhwZWN0ZWQgdG8KLWJlIGNoZWNrZWQgb3V0IGluIHRoZSBwYXRocyAnaW5jbHVkZS9mb28nIGFuZCAnaW5jbHVkZS9iYXInLCBhbmQgZm9yIGJvdGgKK2JlIGNoZWNrZWQgb3V0IGluIHRoZSBwYXRocyBgaW5jbHVkZS9mb29gIGFuZCBgaW5jbHVkZS9iYXJgLCBhbmQgZm9yIGJvdGgKIHN1Ym1vZHVsZXMgYSBVUkwgaXMgc3BlY2lmaWVkIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBjbG9uaW5nIHRoZSBzdWJtb2R1bGVzLgogCiBTRUUgQUxTTwogLS0tLS0tLS0KLWxpbmtnaXQ6Z2l0LXN1Ym1vZHVsZVsxXSBsaW5rZ2l0OmdpdC1jb25maWdbMV0KK2xpbmtnaXQ6Z2l0LXN1Ym1vZHVsZVsxXSwgbGlua2dpdDpnaXRzdWJtb2R1bGVzWzddLCBsaW5rZ2l0OmdpdC1jb25maWdbMV0KIAogR0lUCiAtLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0cmVtb3RlLWhlbHBlcnMudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRyZW1vdGUtaGVscGVycy50eHQKaW5kZXggOWQxNDU5YS4uZjQ4YTAzMSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXRyZW1vdGUtaGVscGVycy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXRyZW1vdGUtaGVscGVycy50eHQKQEAgLTEsNCArMSw0IEBACi1naXRyZW1vdGUtaGVscGVycygxKQorZ2l0cmVtb3RlLWhlbHBlcnMoNykKID09PT09PT09PT09PT09PT09PT09CiAKIE5BTUUKQEAgLTI5Nyw5ICsyOTcsMTMgQEAKIAlzYW1lIGJhdGNoIGFyZSBjb21wbGV0ZS4gT25seSBvYmplY3RzIHdoaWNoIHdlcmUgcmVwb3J0ZWQKIAlpbiB0aGUgb3V0cHV0IG9mICdsaXN0JyB3aXRoIGEgc2hhMSBtYXkgYmUgZmV0Y2hlZCB0aGlzIHdheS4KICsKLU9wdGlvbmFsbHkgbWF5IG91dHB1dCBhICdsb2NrIDxmaWxlPicgbGluZSBpbmRpY2F0aW5nIGEgZmlsZSB1bmRlcgotR0lUX0RJUi9vYmplY3RzL3BhY2sgd2hpY2ggaXMga2VlcGluZyBhIHBhY2sgdW50aWwgcmVmcyBjYW4gYmUKLXN1aXRhYmx5IHVwZGF0ZWQuCitPcHRpb25hbGx5IG1heSBvdXRwdXQgYSAnbG9jayA8ZmlsZT4nIGxpbmUgaW5kaWNhdGluZyB0aGUgZnVsbCBwYXRoIG9mCithIGZpbGUgdW5kZXIgYCRHSVRfRElSL29iamVjdHMvcGFja2Agd2hpY2ggaXMga2VlcGluZyBhIHBhY2sgdW50aWwKK3JlZnMgY2FuIGJlIHN1aXRhYmx5IHVwZGF0ZWQuICBUaGUgcGF0aCBtdXN0IGVuZCB3aXRoIGAua2VlcGAuIFRoaXMgaXMKK2EgbWVjaGFuaXNtIHRvIG5hbWUgYSA8cGFjayxpZHgsa2VlcD4gdHVwbGUgYnkgZ2l2aW5nIG9ubHkgdGhlIGtlZXAKK2NvbXBvbmVudC4gIFRoZSBrZXB0IHBhY2sgd2lsbCBub3QgYmUgZGVsZXRlZCBieSBhIGNvbmN1cnJlbnQgcmVwYWNrLAorZXZlbiB0aG91Z2ggaXRzIG9iamVjdHMgbWF5IG5vdCBiZSByZWZlcmVuY2VkIHVudGlsIHRoZSBmZXRjaCBjb21wbGV0ZXMuCitUaGUgYC5rZWVwYCBmaWxlIHdpbGwgYmUgZGVsZXRlZCBhdCB0aGUgY29uY2x1c2lvbiBvZiB0aGUgZmV0Y2guCiArCiBJZiBvcHRpb24gJ2NoZWNrLWNvbm5lY3Rpdml0eScgaXMgcmVxdWVzdGVkLCB0aGUgaGVscGVyIG11c3Qgb3V0cHV0CiAnY29ubmVjdGl2aXR5LW9rJyBpZiB0aGUgY2xvbmUgaXMgc2VsZi1jb250YWluZWQgYW5kIGNvbm5lY3RlZC4KQEAgLTQ2OCw3ICs0NzIsNyBAQAogCiAnb3B0aW9uIGRyeS1ydW4nIHsndHJ1ZSd8J2ZhbHNlJ306CiAJSWYgdHJ1ZSwgcHJldGVuZCB0aGUgb3BlcmF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHksCi0JYnV0IGRvbid0IGFjdHVhbGx5IGNoYW5nZSBhbnkgcmVwb3NpdG9yeSBkYXRhLglGb3IgbW9zdAorCWJ1dCBkb24ndCBhY3R1YWxseSBjaGFuZ2UgYW55IHJlcG9zaXRvcnkgZGF0YS4gIEZvciBtb3N0CiAJaGVscGVycyB0aGlzIG9ubHkgYXBwbGllcyB0byB0aGUgJ3B1c2gnLCBpZiBzdXBwb3J0ZWQuCiAKICdvcHRpb24gc2VydnBhdGggPGMtc3R5bGUtcXVvdGVkLXBhdGg+Jzo6CkBAIC01MDUsNiArNTA5LDExIEBACiAJSW5kaWNhdGUgdGhhdCBvbmx5IHRoZSBvYmplY3RzIHdhbnRlZCBuZWVkIHRvIGJlIGZldGNoZWQsIG5vdAogCXRoZWlyIGRlcGVuZGVudHMuCiAKKydvcHRpb24gYXRvbWljJyB7J3RydWUnfCdmYWxzZSd9OjoKKwlXaGVuIHB1c2hpbmcsIHJlcXVlc3QgdGhlIHJlbW90ZSBzZXJ2ZXIgdG8gdXBkYXRlIHJlZnMgaW4gYSBzaW5nbGUgYXRvbWljCisJdHJhbnNhY3Rpb24uICBJZiBzdWNjZXNzZnVsLCBhbGwgcmVmcyB3aWxsIGJlIHVwZGF0ZWQsIG9yIG5vbmUgd2lsbC4gIElmIHRoZQorCXJlbW90ZSBzaWRlIGRvZXMgbm90IHN1cHBvcnQgdGhpcyBjYXBhYmlsaXR5LCB0aGUgcHVzaCB3aWxsIGZhaWwuCisKIFNFRSBBTFNPCiAtLS0tLS0tLQogbGlua2dpdDpnaXQtcmVtb3RlWzFdCkBAIC01MTMsOCArNTIyLDYgQEAKIAogbGlua2dpdDpnaXQtcmVtb3RlLWZkWzFdCiAKLWxpbmtnaXQ6Z2l0LXJlbW90ZS10ZXN0Z2l0WzFdCi0KIGxpbmtnaXQ6Z2l0LWZhc3QtaW1wb3J0WzFdCiAKIEdJVApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXRyZXBvc2l0b3J5LWxheW91dC50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdHJlcG9zaXRvcnktbGF5b3V0LnR4dAppbmRleCAzNjZkZWUyLi4xYTJlZjRjIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdHJlcG9zaXRvcnktbGF5b3V0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdHJlcG9zaXRvcnktbGF5b3V0LnR4dApAQCAtNTksNyArNTksNyBAQAogCWhlcmUgYXJlIG9mdGVuIGNhbGxlZCAndW5wYWNrZWQnIChvciAnbG9vc2UnKSBvYmplY3RzLgogCiBvYmplY3RzL3BhY2s6OgotCVBhY2tzIChmaWxlcyB0aGF0IHN0b3JlIG1hbnkgb2JqZWN0IGluIGNvbXByZXNzZWQgZm9ybSwKKwlQYWNrcyAoZmlsZXMgdGhhdCBzdG9yZSBtYW55IG9iamVjdHMgaW4gY29tcHJlc3NlZCBmb3JtLAogCWFsb25nIHdpdGggaW5kZXggZmlsZXMgdG8gYWxsb3cgdGhlbSB0byBiZSByYW5kb21seQogCWFjY2Vzc2VkKSBhcmUgZm91bmQgaW4gdGhpcyBkaXJlY3RvcnkuCiAKQEAgLTg0LDcgKzg0LDcgQEAKIAl0byB0aGUgb2JqZWN0IGRhdGFiYXNlLCBub3QgdG8gdGhlIHJlcG9zaXRvcnkhKSBpbiB5b3VyCiAJYWx0ZXJuYXRlcyBmaWxlLCBidXQgaXQgd2lsbCBub3Qgd29yayBpZiB5b3UgdXNlIGFic29sdXRlCiAJcGF0aHMgdW5sZXNzIHRoZSBhYnNvbHV0ZSBwYXRoIGluIGZpbGVzeXN0ZW0gYW5kIHdlYiBVUkwKLQlpcyB0aGUgc2FtZS4gU2VlIGFsc28gJ29iamVjdHMvaW5mby9odHRwLWFsdGVybmF0ZXMnLgorCWlzIHRoZSBzYW1lLiBTZWUgYWxzbyBgb2JqZWN0cy9pbmZvL2h0dHAtYWx0ZXJuYXRlc2AuCiAKIG9iamVjdHMvaW5mby9odHRwLWFsdGVybmF0ZXM6OgogCVRoaXMgZmlsZSByZWNvcmRzIFVSTHMgdG8gYWx0ZXJuYXRlIG9iamVjdCBzdG9yZXMgdGhhdApAQCAtOTYsOSArOTYsOSBAQAogCWRpcmVjdG9yeS4gIFRoZSAnZ2l0IHBydW5lJyBjb21tYW5kIGtub3dzIHRvIHByZXNlcnZlCiAJb2JqZWN0cyByZWFjaGFibGUgZnJvbSByZWZzIGZvdW5kIGluIHRoaXMgZGlyZWN0b3J5IGFuZAogCWl0cyBzdWJkaXJlY3Rvcmllcy4KLQlUaGlzIGRpcmVjdG9yeSBpcyBpZ25vcmVkIChleGNlcHQgcmVmcy9iaXNlY3QgYW5kCi0JcmVmcy93b3JrdHJlZSkgaWYgJEdJVF9DT01NT05fRElSIGlzIHNldCBhbmQKLQkiJEdJVF9DT01NT05fRElSL3JlZnMiIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLgorCVRoaXMgZGlyZWN0b3J5IGlzIGlnbm9yZWQgKGV4Y2VwdCByZWZzL2Jpc2VjdCwKKwlyZWZzL3Jld3JpdHRlbiBhbmQgcmVmcy93b3JrdHJlZSkgaWYgJEdJVF9DT01NT05fRElSIGlzCisJc2V0IGFuZCAiJEdJVF9DT01NT05fRElSL3JlZnMiIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLgogCiByZWZzL2hlYWRzL2BuYW1lYDo6CiAJcmVjb3JkcyB0aXAtb2YtdGhlLXRyZWUgY29tbWl0IG9iamVjdHMgb2YgYnJhbmNoIGBuYW1lYApAQCAtMjQwLDggKzI0MCw4IEBACiBsb2dzOjoKIAlSZWNvcmRzIG9mIGNoYW5nZXMgbWFkZSB0byByZWZzIGFyZSBzdG9yZWQgaW4gdGhpcyBkaXJlY3RvcnkuCiAJU2VlIGxpbmtnaXQ6Z2l0LXVwZGF0ZS1yZWZbMV0gZm9yIG1vcmUgaW5mb3JtYXRpb24uIFRoaXMKLQlkaXJlY3RvcnkgaXMgaWdub3JlZCBpZiAkR0lUX0NPTU1PTl9ESVIgaXMgc2V0IGFuZAotCSIkR0lUX0NPTU1PTl9ESVIvbG9ncyIgd2lsbCBiZSB1c2VkIGluc3RlYWQuCisJZGlyZWN0b3J5IGlzIGlnbm9yZWQgKGV4Y2VwdCBsb2dzL0hFQUQpIGlmICRHSVRfQ09NTU9OX0RJUiBpcworCXNldCBhbmQgIiRHSVRfQ09NTU9OX0RJUi9sb2dzIiB3aWxsIGJlIHVzZWQgaW5zdGVhZC4KIAogbG9ncy9yZWZzL2hlYWRzL2BuYW1lYDo6CiAJUmVjb3JkcyBhbGwgY2hhbmdlcyBtYWRlIHRvIHRoZSBicmFuY2ggdGlwIG5hbWVkIGBuYW1lYC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0c3VibW9kdWxlcy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdHN1Ym1vZHVsZXMudHh0CmluZGV4IDU3OTk5ZTkuLmM0NzZmODkgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0c3VibW9kdWxlcy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXRzdWJtb2R1bGVzLnR4dApAQCAtMyw3ICszLDcgQEAKIAogTkFNRQogLS0tLQotZ2l0c3VibW9kdWxlcyAtIG1vdW50aW5nIG9uZSByZXBvc2l0b3J5IGluc2lkZSBhbm90aGVyCitnaXRzdWJtb2R1bGVzIC0gTW91bnRpbmcgb25lIHJlcG9zaXRvcnkgaW5zaWRlIGFub3RoZXIKIAogU1lOT1BTSVMKIC0tLS0tLS0tCkBAIC0xNjksMTUgKzE2OSwxNSBAQAogCiBBIHN1Ym1vZHVsZSBpcyBjb25zaWRlcmVkIGFjdGl2ZSwKIAotICBhLiBpZiBgc3VibW9kdWxlLjxuYW1lPi5hY3RpdmVgIGlzIHNldCB0byBgdHJ1ZWAKKyAgMS4gaWYgYHN1Ym1vZHVsZS48bmFtZT4uYWN0aXZlYCBpcyBzZXQgdG8gYHRydWVgCiArCiBvcgogCi0gIGIuIGlmIHRoZSBzdWJtb2R1bGUncyBwYXRoIG1hdGNoZXMgdGhlIHBhdGhzcGVjIGluIGBzdWJtb2R1bGUuYWN0aXZlYAorICAyLiBpZiB0aGUgc3VibW9kdWxlJ3MgcGF0aCBtYXRjaGVzIHRoZSBwYXRoc3BlYyBpbiBgc3VibW9kdWxlLmFjdGl2ZWAKICsKIG9yCiAKLSAgYy4gaWYgYHN1Ym1vZHVsZS48bmFtZT4udXJsYCBpcyBzZXQuCisgIDMuIGlmIGBzdWJtb2R1bGUuPG5hbWU+LnVybGAgaXMgc2V0LgogCiBhbmQgdGhlc2UgYXJlIGV2YWx1YXRlZCBpbiB0aGlzIG9yZGVyLgogCkBAIC0xOTMsMTEgKzE5MywxMSBAQAogICAgIHVybCA9IGh0dHBzOi8vZXhhbXBsZS5vcmcvYmF6CiAKIEluIHRoZSBhYm92ZSBjb25maWcgb25seSB0aGUgc3VibW9kdWxlICdiYXInIGFuZCAnYmF6JyBhcmUgYWN0aXZlLAotJ2JhcicgZHVlIHRvIChhKSBhbmQgJ2JheicgZHVlIHRvIChjKS4gJ2ZvbycgaXMgaW5hY3RpdmUgYmVjYXVzZQotKGEpIHRha2VzIHByZWNlZGVuY2Ugb3ZlciAoYykKKydiYXInIGR1ZSB0byAoMSkgYW5kICdiYXonIGR1ZSB0byAoMykuICdmb28nIGlzIGluYWN0aXZlIGJlY2F1c2UKKygxKSB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgKDMpCiAKLU5vdGUgdGhhdCAoYykgaXMgYSBoaXN0b3JpY2FsIGFydGVmYWN0IGFuZCB3aWxsIGJlIGlnbm9yZWQgaWYgdGhlCi0oYSkgYW5kIChiKSBzcGVjaWZ5IHRoYXQgdGhlIHN1Ym1vZHVsZSBpcyBub3QgYWN0aXZlLiBJbiBvdGhlciB3b3JkcywKK05vdGUgdGhhdCAoMykgaXMgYSBoaXN0b3JpY2FsIGFydGVmYWN0IGFuZCB3aWxsIGJlIGlnbm9yZWQgaWYgdGhlCisoMSkgYW5kICgyKSBzcGVjaWZ5IHRoYXQgdGhlIHN1Ym1vZHVsZSBpcyBub3QgYWN0aXZlLiBJbiBvdGhlciB3b3JkcywKIGlmIHdlIGhhdmUgYSBgc3VibW9kdWxlLjxuYW1lPi5hY3RpdmVgIHNldCB0byBgZmFsc2VgIG9yIGlmIHRoZQogc3VibW9kdWxlJ3MgcGF0aCBpcyBleGNsdWRlZCBpbiB0aGUgcGF0aHNwZWMgaW4gYHN1Ym1vZHVsZS5hY3RpdmVgLCB0aGUKIHVybCBkb2Vzbid0IG1hdHRlciB3aGV0aGVyIGl0IGlzIHByZXNlbnQgb3Igbm90LiBUaGlzIGlzIGlsbHVzdHJhdGVkIGluCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdHR1dG9yaWFsLTIudHh0IGIvRG9jdW1lbnRhdGlvbi9naXR0dXRvcmlhbC0yLnR4dAppbmRleCBlMDk3NmY2Li44YmRiN2QwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdHR1dG9yaWFsLTIudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0dHV0b3JpYWwtMi50eHQKQEAgLTM3MCwxMyArMzcwLDEzIEBACiAkIGdpdCBzdGF0dXMKIE9uIGJyYW5jaCBtYXN0ZXIKIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCisgICh1c2UgImdpdCByZXN0b3JlIC0tc3RhZ2VkIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKIAogCW5ldyBmaWxlOiAgIGNsb3NpbmcudHh0CiAKIENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0gICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKKyAgKHVzZSAiZ2l0IHJlc3RvcmUgPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCiAKIAltb2RpZmllZDogICBmaWxlLnR4dAogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdHR1dG9yaWFsLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0dHV0b3JpYWwudHh0CmluZGV4IDI0MmRlMzEuLjU5ZWY1Y2UgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ2l0dHV0b3JpYWwudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0dHV0b3JpYWwudHh0CkBAIC0xMTAsNyArMTEwLDcgQEAKIE9uIGJyYW5jaCBtYXN0ZXIKIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgogWW91ciBicmFuY2ggaXMgdXAgdG8gZGF0ZSB3aXRoICdvcmlnaW4vbWFzdGVyJy4KLSAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQorICAodXNlICJnaXQgcmVzdG9yZSAtLXN0YWdlZCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiAKIAltb2RpZmllZDogICBmaWxlMQogCW1vZGlmaWVkOiAgIGZpbGUyCkBAIC0yMDcsNyArMjA3LDcgQEAKIHR5cGUKIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0kIGdpdCBjaGVja291dCBleHBlcmltZW50YWwKKyQgZ2l0IHN3aXRjaCBleHBlcmltZW50YWwKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiB0byBzd2l0Y2ggdG8gdGhlIGV4cGVyaW1lbnRhbCBicmFuY2guICBOb3cgZWRpdCBhIGZpbGUsIGNvbW1pdCB0aGUKQEAgLTIxNiw3ICsyMTYsNyBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAoZWRpdCBmaWxlKQogJCBnaXQgY29tbWl0IC1hCi0kIGdpdCBjaGVja291dCBtYXN0ZXIKKyQgZ2l0IHN3aXRjaCBtYXN0ZXIKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBDaGVjayB0aGF0IHRoZSBjaGFuZ2UgeW91IG1hZGUgaXMgbm8gbG9uZ2VyIHZpc2libGUsIHNpbmNlIGl0IHdhcwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9naXR3ZWIuY29uZi50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdHdlYi5jb25mLnR4dAppbmRleCBjMGEzMjZlLi43OTYzYTc5IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdHdlYi5jb25mLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2dpdHdlYi5jb25mLnR4dApAQCAtNTAsMTEgKzUwLDExIEBACiAgKiBidWlsdC1pbiB2YWx1ZXMgKHNvbWUgc2V0IGR1cmluZyBidWlsZCBzdGFnZSksCiAKICAqIGNvbW1vbiBzeXN0ZW0td2lkZSBjb25maWd1cmF0aW9uIGZpbGUgKGRlZmF1bHRzIHRvCi0gICAnL2V0Yy9naXR3ZWItY29tbW9uLmNvbmYnKSwKKyAgIGAvZXRjL2dpdHdlYi1jb21tb24uY29uZmApLAogCiAgKiBlaXRoZXIgcGVyLWluc3RhbmNlIGNvbmZpZ3VyYXRpb24gZmlsZSAoZGVmYXVsdHMgdG8gJ2dpdHdlYl9jb25maWcucGVybCcKICAgIGluIHRoZSBzYW1lIGRpcmVjdG9yeSBhcyB0aGUgaW5zdGFsbGVkIGdpdHdlYiksIG9yIGlmIGl0IGRvZXMgbm90IGV4aXN0cwotICAgdGhlbiBmYWxsYmFjayBzeXN0ZW0td2lkZSBjb25maWd1cmF0aW9uIGZpbGUgKGRlZmF1bHRzIHRvICcvZXRjL2dpdHdlYi5jb25mJykuCisgICB0aGVuIGZhbGxiYWNrIHN5c3RlbS13aWRlIGNvbmZpZ3VyYXRpb24gZmlsZSAoZGVmYXVsdHMgdG8gYC9ldGMvZ2l0d2ViLmNvbmZgKS4KIAogVmFsdWVzIG9idGFpbmVkIGluIGxhdGVyIGNvbmZpZ3VyYXRpb24gZmlsZXMgb3ZlcnJpZGUgdmFsdWVzIG9idGFpbmVkIGVhcmxpZXIKIGluIHRoZSBhYm92ZSBzZXF1ZW5jZS4KQEAgLTgyLDcgKzgyLDcgQEAKIHN1YnJvdXRpbmUuICBGb3IgZXhhbXBsZSwgb25lIG1pZ2h0IHdhbnQgdG8gcHV0IGdpdHdlYiBjb25maWd1cmF0aW9uCiByZWxhdGVkIHRvIGFjY2VzcyBjb250cm9sIGZvciB2aWV3aW5nIHJlcG9zaXRvcmllcyB2aWEgR2l0b2xpdGUgKG9uZQogb2YgR2l0IHJlcG9zaXRvcnkgbWFuYWdlbWVudCB0b29scykgaW4gYSBzZXBhcmF0ZSBmaWxlLCBlLmcuIGluCi0nL2V0Yy9naXR3ZWItZ2l0b2xpdGUuY29uZicuICBUbyBpbmNsdWRlIGl0LCBwdXQKK2AvZXRjL2dpdHdlYi1naXRvbGl0ZS5jb25mYC4gIFRvIGluY2x1ZGUgaXQsIHB1dAogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogcmVhZF9jb25maWdfZmlsZSgiL2V0Yy9naXR3ZWItZ2l0b2xpdGUuY29uZiIpOwpAQCAtMTQyLDcgKzE0Miw3IEBACiBodHRwOi8vZ2l0LmV4YW1wbGUuY29tL2dpdHdlYi5jZ2kvZm9vL2Jhci5naXQKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKwotd2lsbCBtYXAgdG8gdGhlIHBhdGggJy9zcnYvZ2l0L2Zvby9iYXIuZ2l0JyBvbiB0aGUgZmlsZXN5c3RlbS4KK3dpbGwgbWFwIHRvIHRoZSBwYXRoIGAvc3J2L2dpdC9mb28vYmFyLmdpdGAgb24gdGhlIGZpbGVzeXN0ZW0uCiAKICRwcm9qZWN0c19saXN0OjoKIAlOYW1lIG9mIGEgcGxhaW4gdGV4dCBmaWxlIGxpc3RpbmcgcHJvamVjdHMsIG9yIGEgbmFtZSBvZiBkaXJlY3RvcnkKQEAgLTIwNyw4ICsyMDcsOCBAQAogCiAkc3RyaWN0X2V4cG9ydDo6CiAJT25seSBhbGxvdyB2aWV3aW5nIG9mIHJlcG9zaXRvcmllcyBhbHNvIHNob3duIG9uIHRoZSBvdmVydmlldyBwYWdlLgotCVRoaXMgZm9yIGV4YW1wbGUgbWFrZXMgYCRnaXR3ZWJfZXhwb3J0X29rYCBmaWxlIGRlY2lkZSBpZiByZXBvc2l0b3J5IGlzCi0JYXZhaWxhYmxlIGFuZCBub3Qgb25seSBpZiBpdCBpcyBzaG93bi4gIElmIGAkZ2l0d2ViX2xpc3RgIHBvaW50cyB0bworCVRoaXMgZm9yIGV4YW1wbGUgbWFrZXMgYCRleHBvcnRfb2tgIGZpbGUgZGVjaWRlIGlmIHJlcG9zaXRvcnkgaXMKKwlhdmFpbGFibGUgYW5kIG5vdCBvbmx5IGlmIGl0IGlzIHNob3duLiAgSWYgYCRwcm9qZWN0c19saXN0YCBwb2ludHMgdG8KIAlmaWxlIHdpdGggbGlzdCBvZiBwcm9qZWN0LCBvbmx5IHRob3NlIHJlcG9zaXRvcmllcyBsaXN0ZWQgd291bGQgYmUKIAlhdmFpbGFibGUgZm9yIGdpdHdlYi4gIENhbiBiZSBzZXQgZHVyaW5nIGJ1aWxkaW5nIGdpdHdlYiB2aWEKIAlgR0lUV0VCX1NUUklDVF9FWFBPUlRgLiAgQnkgZGVmYXVsdCB0aGlzIHZhcmlhYmxlIGlzIG5vdCBzZXQsIHdoaWNoCkBAIC0yMzQsOSArMjM0LDkgQEAKIAogJG1pbWV0eXBlc19maWxlOjoKIAlGaWxlIHRvIHVzZSBmb3IgKGZpbGVuYW1lIGV4dGVuc2lvbiBiYXNlZCkgZ3Vlc3Npbmcgb2YgTUlNRSB0eXBlcyBiZWZvcmUKLQl0cnlpbmcgJy9ldGMvbWltZS50eXBlcycuICAqTk9URSogdGhhdCB0aGlzIHBhdGgsIGlmIHJlbGF0aXZlLCBpcyB0YWtlbgorCXRyeWluZyBgL2V0Yy9taW1lLnR5cGVzYC4gICpOT1RFKiB0aGF0IHRoaXMgcGF0aCwgaWYgcmVsYXRpdmUsIGlzIHRha2VuCiAJYXMgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgR2l0IHJlcG9zaXRvcnksIG5vdCB0byBDR0kgc2NyaXB0LiAgSWYgdW5zZXQsCi0Jb25seSAnL2V0Yy9taW1lLnR5cGVzJyBpcyB1c2VkIChpZiBwcmVzZW50IG9uIGZpbGVzeXN0ZW0pLiAgSWYgbm8gbWltZXR5cGVzCisJb25seSBgL2V0Yy9taW1lLnR5cGVzYCBpcyB1c2VkIChpZiBwcmVzZW50IG9uIGZpbGVzeXN0ZW0pLiAgSWYgbm8gbWltZXR5cGVzCiAJZmlsZSBpcyBmb3VuZCwgbWltZXR5cGUgZ3Vlc3NpbmcgYmFzZWQgb24gZXh0ZW5zaW9uIG9mIGZpbGUgaXMgZGlzYWJsZWQuCiAJVW5zZXQgYnkgZGVmYXVsdC4KIApAQCAtMjk3LDggKzI5Nyw4IEBACiArCiBUaGlzIGxpc3Qgc2hvdWxkIGNvbnRhaW4gdGhlIFVSSSBvZiBnaXR3ZWIncyBzdGFuZGFyZCBzdHlsZXNoZWV0LiAgVGhlIGRlZmF1bHQKIFVSSSBvZiBnaXR3ZWIgc3R5bGVzaGVldCBjYW4gYmUgc2V0IGF0IGJ1aWxkIHRpbWUgdXNpbmcgdGhlIGBHSVRXRUJfQ1NTYAotbWFrZWZpbGUgdmFyaWFibGUuICBJdHMgZGVmYXVsdCB2YWx1ZSBpcyAnc3RhdGljL2dpdHdlYi5jc3MnCi0ob3IgJ3N0YXRpYy9naXR3ZWIubWluLmNzcycgaWYgdGhlIGBDU1NNSU5gIHZhcmlhYmxlIGlzIGRlZmluZWQsCittYWtlZmlsZSB2YXJpYWJsZS4gIEl0cyBkZWZhdWx0IHZhbHVlIGlzIGBzdGF0aWMvZ2l0d2ViLmNzc2AKKyhvciBgc3RhdGljL2dpdHdlYi5taW4uY3NzYCBpZiB0aGUgYENTU01JTmAgdmFyaWFibGUgaXMgZGVmaW5lZCwKIGkuZS4gaWYgQ1NTIG1pbmlmaWVyIGlzIHVzZWQgZHVyaW5nIGJ1aWxkKS4KICsKICpOb3RlKjogdGhlcmUgaXMgYWxzbyBhIGxlZ2FjeSBgJHN0eWxlc2hlZXRgIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUsIHdoaWNoIHdhcwpAQCAtMzExLDcgKzMxMSw3IEBACiAJaXMgZGlzcGxheWVkIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIGVhY2ggZ2l0d2ViIHBhZ2UgYW5kIHVzZWQgYXMKIAlhIGxvZ28gZm9yIHRoZSBBdG9tIGZlZWQuICBSZWxhdGl2ZSB0byB0aGUgYmFzZSBVUkkgb2YgZ2l0d2ViIChhcyBhIHBhdGgpLgogCUNhbiBiZSBhZGp1c3RlZCB3aGVuIGJ1aWxkaW5nIGdpdHdlYiB1c2luZyBgR0lUV0VCX0xPR09gIHZhcmlhYmxlCi0JQnkgZGVmYXVsdCBzZXQgdG8gJ3N0YXRpYy9naXQtbG9nby5wbmcnLgorCUJ5IGRlZmF1bHQgc2V0IHRvIGBzdGF0aWMvZ2l0LWxvZ28ucG5nYC4KIAogJGZhdmljb246OgogCVBvaW50cyB0byB0aGUgbG9jYXRpb24gd2hlcmUgeW91IHB1dCAnZ2l0LWZhdmljb24ucG5nJyBvbiB5b3VyIHdlYgpAQCAtMzIwLDcgKzMyMCw3IEBACiAJbWF5IGRpc3BsYXkgdGhlbSBpbiB0aGUgYnJvd3NlcidzIFVSTCBiYXIgYW5kIG5leHQgdG8gdGhlIHNpdGUgbmFtZSBpbgogCWJvb2ttYXJrcy4gIFJlbGF0aXZlIHRvIHRoZSBiYXNlIFVSSSBvZiBnaXR3ZWIuICBDYW4gYmUgYWRqdXN0ZWQgYXQKIAlidWlsZCB0aW1lIHVzaW5nIGBHSVRXRUJfRkFWSUNPTmAgdmFyaWFibGUuCi0JQnkgZGVmYXVsdCBzZXQgdG8gJ3N0YXRpYy9naXQtZmF2aWNvbi5wbmcnLgorCUJ5IGRlZmF1bHQgc2V0IHRvIGBzdGF0aWMvZ2l0LWZhdmljb24ucG5nYC4KIAogJGphdmFzY3JpcHQ6OgogCVBvaW50cyB0byB0aGUgbG9jYXRpb24gd2hlcmUgeW91IHB1dCAnZ2l0d2ViLmpzJyBvbiB5b3VyIHdlYiBzZXJ2ZXIsCkBAIC0zMjgsNyArMzI4LDcgQEAKIAlSZWxhdGl2ZSB0byB0aGUgYmFzZSBVUkkgb2YgZ2l0d2ViLiAgQ2FuIGJlIHNldCBhdCBidWlsZCB0aW1lIHVzaW5nCiAJdGhlIGBHSVRXRUJfSlNgIGJ1aWxkLXRpbWUgY29uZmlndXJhdGlvbiB2YXJpYWJsZS4KICsKLVRoZSBkZWZhdWx0IHZhbHVlIGlzIGVpdGhlciAnc3RhdGljL2dpdHdlYi5qcycsIG9yICdzdGF0aWMvZ2l0d2ViLm1pbi5qcycgaWYKK1RoZSBkZWZhdWx0IHZhbHVlIGlzIGVpdGhlciBgc3RhdGljL2dpdHdlYi5qc2AsIG9yIGBzdGF0aWMvZ2l0d2ViLm1pbi5qc2AgaWYKIHRoZSBgSlNNSU5gIGJ1aWxkIHZhcmlhYmxlIHdhcyBkZWZpbmVkLCBpLmUuIGlmIEphdmFTY3JpcHQgbWluaWZpZXIgd2FzIHVzZWQKIGF0IGJ1aWxkIHRpbWUuICAqTm90ZSogdGhhdCB0aGlzIHNpbmdsZSBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIG11bHRpcGxlCiBpbmRpdmlkdWFsIEphdmFTY3JpcHQgIm1vZHVsZXMiLgpAQCAtNDQ0LDcgKzQ0NCw3IEBACiAJZG9lc24ndCByZXN1bHQgaW4gc29tZSBvdGhlciB0eXBlOyBieSBkZWZhdWx0ICJ0ZXh0L3BsYWluIi4KIAlHaXR3ZWIgZ3Vlc3NlcyBtaW1ldHlwZSBvZiBhIGZpbGUgdG8gZGlzcGxheSBiYXNlZCBvbiBleHRlbnNpb24KIAlvZiBpdHMgZmlsZW5hbWUsIHVzaW5nIGAkbWltZXR5cGVzX2ZpbGVgIChpZiBzZXQgYW5kIGZpbGUgZXhpc3RzKQotCWFuZCAnL2V0Yy9taW1lLnR5cGVzJyBmaWxlcyAoc2VlICptaW1lLnR5cGVzKig1KSBtYW5wYWdlOyBvbmx5CisJYW5kIGAvZXRjL21pbWUudHlwZXNgIGZpbGVzIChzZWUgKm1pbWUudHlwZXMqKDUpIG1hbnBhZ2U7IG9ubHkKIAlmaWxlbmFtZSBleHRlbnNpb24gcnVsZXMgYXJlIHN1cHBvcnRlZCBieSBnaXR3ZWIpLgogCiAkZGVmYXVsdF90ZXh0X3BsYWluX2NoYXJzZXQ6OgpAQCAtNDg2LDcgKzQ4Niw3IEBACiAJKGZvciBleGFtcGxlIG9uZSBmb3IgYGdpdDovL2AgcHJvdG9jb2wsIGFuZCBvbmUgZm9yIGBodHRwOi8vYAogCXByb3RvY29sKS4KICsKLU5vdGUgdGhhdCBwZXIgcmVwb3NpdG9yeSBjb25maWd1cmF0aW9uIGNhbiBiZSBzZXQgaW4gJyRHSVRfRElSL2Nsb25ldXJsJworTm90ZSB0aGF0IHBlciByZXBvc2l0b3J5IGNvbmZpZ3VyYXRpb24gY2FuIGJlIHNldCBpbiBgJEdJVF9ESVIvY2xvbmV1cmxgCiBmaWxlLCBvciBhcyB2YWx1ZXMgb2YgbXVsdGktdmFsdWUgYGdpdHdlYi51cmxgIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgaW4KIHByb2plY3QgY29uZmlnLiAgUGVyLXJlcG9zaXRvcnkgY29uZmlndXJhdGlvbiB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdmFsdWUKIGNvbXBvc2VkIGZyb20gYEBnaXRfYmFzZV91cmxfbGlzdGAgZWxlbWVudHMgYW5kIHByb2plY3QgbmFtZS4KQEAgLTUyMCw3ICs1MjAsNyBAQAogCUlmIHRoZSBzZXJ2ZXIgbG9hZCBleGNlZWRzIHRoaXMgdmFsdWUgdGhlbiBnaXR3ZWIgd2lsbCByZXR1cm4KIAkiNTAzIFNlcnZpY2UgVW5hdmFpbGFibGUiIGVycm9yLiAgVGhlIHNlcnZlciBsb2FkIGlzIHRha2VuIHRvIGJlIDAKIAlpZiBnaXR3ZWIgY2Fubm90IGRldGVybWluZSBpdHMgdmFsdWUuICBDdXJyZW50bHkgaXQgd29ya3Mgb25seSBvbiBMaW51eCwKLQl3aGVyZSBpdCB1c2VzICcvcHJvYy9sb2FkYXZnJzsgdGhlIGxvYWQgdGhlcmUgaXMgdGhlIG51bWJlciBvZiBhY3RpdmUKKwl3aGVyZSBpdCB1c2VzIGAvcHJvYy9sb2FkYXZnYDsgdGhlIGxvYWQgdGhlcmUgaXMgdGhlIG51bWJlciBvZiBhY3RpdmUKIAl0YXNrcyBvbiB0aGUgc3lzdGVtIC0tIHByb2Nlc3NlcyB0aGF0IGFyZSBhY3R1YWxseSBydW5uaW5nIC0tIGF2ZXJhZ2VkCiAJb3ZlciB0aGUgbGFzdCBtaW51dGUuCiArCkBAIC01MzYsNyArNTM2LDcgQEAKIAogJHBlcl9yZXF1ZXN0X2NvbmZpZzo6CiAJSWYgdGhpcyBpcyBzZXQgdG8gY29kZSByZWZlcmVuY2UsIGl0IHdpbGwgYmUgcnVuIG9uY2UgZm9yIGVhY2ggcmVxdWVzdC4KLQlZb3UgY2FuCXNldCBwYXJ0cyBvZiBjb25maWd1cmF0aW9uIHRoYXQgY2hhbmdlIHBlciBzZXNzaW9uIHRoaXMgd2F5LgorCVlvdSBjYW4gc2V0IHBhcnRzIG9mIGNvbmZpZ3VyYXRpb24gdGhhdCBjaGFuZ2UgcGVyIHNlc3Npb24gdGhpcyB3YXkuCiAJRm9yIGV4YW1wbGUsIG9uZSBtaWdodCB1c2UgdGhlIGZvbGxvd2luZyBjb2RlIGluIGEgZ2l0d2ViIGNvbmZpZ3VyYXRpb24KIAlmaWxlCiArCkBAIC02ODQsNyArNjg0LDcgQEAKIGEgZGVmaW5pdGl2ZSBsaXN0LiAgQnkgZGVmYXVsdCBvbmx5ICJ0Z3oiIGlzIG9mZmVyZWQuCiArCiBUaGlzIGZlYXR1cmUgY2FuIGJlIGNvbmZpZ3VyZWQgb24gYSBwZXItcmVwb3NpdG9yeSBiYXNpcyB2aWEKLXJlcG9zaXRvcnkncyBgZ2l0d2ViLmJsYW1lYCBjb25maWd1cmF0aW9uIHZhcmlhYmxlLCB3aGljaCBjb250YWlucworcmVwb3NpdG9yeSdzIGBnaXR3ZWIuc25hcHNob3RgIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUsIHdoaWNoIGNvbnRhaW5zCiBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGZvcm1hdHMgb3IgIm5vbmUiIHRvIGRpc2FibGUgc25hcHNob3RzLgogVW5rbm93biB2YWx1ZXMgYXJlIGlnbm9yZWQuCiAKQEAgLTczOSw3ICs3MzksNyBAQAogT25seSBvbmUgcHJvdmlkZXIgYXQgYSB0aW1lIGNhbiBiZSBzZWxlY3RlZCAoJ2RlZmF1bHQnIGlzIG9uZSBlbGVtZW50IGxpc3QpLgogSWYgYW4gdW5rbm93biBwcm92aWRlciBpcyBzcGVjaWZpZWQsIHRoZSBmZWF0dXJlIGlzIGRpc2FibGVkLgogKk5vdGUqIHRoYXQgc29tZSBwcm92aWRlcnMgbWlnaHQgcmVxdWlyZSBleHRyYSBQZXJsIHBhY2thZ2VzIHRvIGJlCi1pbnN0YWxsZWQ7IHNlZSAnZ2l0d2ViL0lOU1RBTEwnIGZvciBtb3JlIGRldGFpbHMuCitpbnN0YWxsZWQ7IHNlZSBgZ2l0d2ViL0lOU1RBTExgIGZvciBtb3JlIGRldGFpbHMuCiArCiBUaGlzIGZlYXR1cmUgY2FuIGJlIGNvbmZpZ3VyZWQgb24gYSBwZXItcmVwb3NpdG9yeSBiYXNpcyB2aWEKIHJlcG9zaXRvcnkncyBgZ2l0d2ViLmF2YXRhcmAgY29uZmlndXJhdGlvbiB2YXJpYWJsZS4KQEAgLTc4Niw5ICs3ODYsOSBAQAogCXN1YmRpcmVjdG9yaWVzIG9mIHByb2plY3Qgcm9vdCAoYmFzZW5hbWUpIHRvIGJlIGZvcmtzIG9mIGV4aXN0aW5nCiAJcHJvamVjdHMuICBGb3IgZWFjaCBwcm9qZWN0ICskcHJvam5hbWUuZ2l0KywgcHJvamVjdHMgaW4gdGhlCiAJKyRwcm9qbmFtZS8rIGRpcmVjdG9yeSBhbmQgaXRzIHN1YmRpcmVjdG9yaWVzIHdpbGwgbm90IGJlCi0Jc2hvd24gaW4gdGhlIG1haW4gcHJvamVjdHMgbGlzdC4gIEluc3RlYWQsIGEgXCdcKycgbWFyayBpcyBzaG93bgotCW5leHQgdG8gKyRwcm9qbmFtZSssIHdoaWNoIGxpbmtzIHRvIGEgImZvcmtzIiB2aWV3IHRoYXQgbGlzdHMgYWxsCi0JdGhlIGZvcmtzIChhbGwgcHJvamVjdHMgaW4gKyRwcm9qbmFtZS8rIHN1YmRpcmVjdG9yeSkuICBBZGRpdGlvbmFsbHkKKwlzaG93biBpbiB0aGUgbWFpbiBwcm9qZWN0cyBsaXN0LiAgSW5zdGVhZCwgYSBcJysnIG1hcmsgaXMgc2hvd24KKwluZXh0IHRvIGAkcHJvam5hbWVgLCB3aGljaCBsaW5rcyB0byBhICJmb3JrcyIgdmlldyB0aGF0IGxpc3RzIGFsbAorCXRoZSBmb3JrcyAoYWxsIHByb2plY3RzIGluIGAkcHJvam5hbWUvYCBzdWJkaXJlY3RvcnkpLiAgQWRkaXRpb25hbGx5CiAJYSAiZm9ya3MiIHZpZXcgZm9yIGEgcHJvamVjdCBpcyBsaW5rZWQgZnJvbSBwcm9qZWN0IHN1bW1hcnkgcGFnZS4KICsKIElmIHRoZSBwcm9qZWN0IGxpc3QgaXMgdGFrZW4gZnJvbSBhIGZpbGUgKCskcHJvamVjdHNfbGlzdCsgcG9pbnRzIHRvIGEKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0d2ViLnR4dCBiL0RvY3VtZW50YXRpb24vZ2l0d2ViLnR4dAppbmRleCA4ODQ1MDU4Li4zY2M5YjAzIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdHdlYi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXR3ZWIudHh0CkBAIC0yOCwxNSArMjgsMTQgQEAKICAgcmV2aXNpb25zIG9uZSBhdCBhIHRpbWUsIHZpZXdpbmcgdGhlIGhpc3Rvcnkgb2YgdGhlIHJlcG9zaXRvcnkuCiAqIEZpbmRpbmcgY29tbWl0cyB3aGljaCBjb21taXQgbWVzc2FnZXMgbWF0Y2hlcyBnaXZlbiBzZWFyY2ggdGVybS4KIAotU2VlIGh0dHA6Ly9naXQua2VybmVsLm9yZy8/cD1naXQvZ2l0LmdpdDthPXRyZWU7Zj1naXR3ZWJbXSBvcgotaHR0cDovL3JlcG8ub3IuY3ovdy9naXQuZ2l0L3RyZWUvSEVBRDovZ2l0d2ViL1tdIGZvciBnaXR3ZWIgc291cmNlIGNvZGUsCitTZWUgaHR0cDovL3JlcG8ub3IuY3ovdy9naXQuZ2l0L3RyZWUvSEVBRDovZ2l0d2ViL1tdIGZvciBnaXR3ZWIgc291cmNlIGNvZGUsCiBicm93c2VkIHVzaW5nIGdpdHdlYiBpdHNlbGYuCiAKIAogQ09ORklHVVJBVElPTgogLS0tLS0tLS0tLS0tLQogVmFyaW91cyBhc3BlY3RzIG9mIGdpdHdlYidzIGJlaGF2aW9yIGNhbiBiZSBjb250cm9sbGVkIHRocm91Z2ggdGhlIGNvbmZpZ3VyYXRpb24KLWZpbGUgJ2dpdHdlYl9jb25maWcucGVybCcgb3IgJy9ldGMvZ2l0d2ViLmNvbmYnLiAgU2VlIHRoZSBsaW5rZ2l0OmdpdHdlYi5jb25mWzVdCitmaWxlIGBnaXR3ZWJfY29uZmlnLnBlcmxgIG9yIGAvZXRjL2dpdHdlYi5jb25mYC4gIFNlZSB0aGUgbGlua2dpdDpnaXR3ZWIuY29uZls1XQogZm9yIGRldGFpbHMuCiAKIFJlcG9zaXRvcmllcwpAQCAtNTEsNyArNTAsNyBAQAogb3VyICRwcm9qZWN0cm9vdCA9ICcvcGF0aC90by9wYXJlbnQvZGlyZWN0b3J5JzsKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVRoZSBkZWZhdWx0IHZhbHVlIGZvciBgJHByb2plY3Ryb290YCBpcyAnL3B1Yi9naXQnLiAgWW91IGNhbiBjaGFuZ2UgaXQgZHVyaW5nCitUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgYCRwcm9qZWN0cm9vdGAgaXMgYC9wdWIvZ2l0YC4gIFlvdSBjYW4gY2hhbmdlIGl0IGR1cmluZwogYnVpbGRpbmcgZ2l0d2ViIHZpYSBgR0lUV0VCX1BST0pFQ1RST09UYCBidWlsZCBjb25maWd1cmF0aW9uIHZhcmlhYmxlLgogCiBCeSBkZWZhdWx0IGFsbCBHaXQgcmVwb3NpdG9yaWVzIHVuZGVyIGAkcHJvamVjdHJvb3RgIGFyZSB2aXNpYmxlIGFuZCBhdmFpbGFibGUKQEAgLTIzMSw3ICsyMzAsNyBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKwogZnJvbSB0aGUgdGVtcGxhdGUgZHVyaW5nIHJlcG9zaXRvcnkgY3JlYXRpb24sIHVzdWFsbHkgaW5zdGFsbGVkIGluCi0nL3Vzci9zaGFyZS9naXQtY29yZS90ZW1wbGF0ZXMvJy4gIFlvdSBjYW4gdXNlIHRoZSBgZ2l0d2ViLmRlc2NyaXB0aW9uYCByZXBvCitgL3Vzci9zaGFyZS9naXQtY29yZS90ZW1wbGF0ZXMvYC4gIFlvdSBjYW4gdXNlIHRoZSBgZ2l0d2ViLmRlc2NyaXB0aW9uYCByZXBvCiBjb25maWd1cmF0aW9uIHZhcmlhYmxlLCBidXQgdGhlIGZpbGUgdGFrZXMgcHJlY2VkZW5jZS4KIAogY2F0ZWdvcnkgKG9yIGBnaXR3ZWIuY2F0ZWdvcnlgKTo6CkBAIC00MDcsNyArNDA2LDcgQEAKIEFwYWNoZSBhcyBDR0kKIH5+fn5+fn5+fn5+fn4KIEFwYWNoZSBtdXN0IGJlIGNvbmZpZ3VyZWQgdG8gc3VwcG9ydCBDR0kgc2NyaXB0cyBpbiB0aGUgZGlyZWN0b3J5IGluCi13aGljaCBnaXR3ZWIgaXMgaW5zdGFsbGVkLiAgTGV0J3MgYXNzdW1lIHRoYXQgaXQgaXMgJy92YXIvd3d3L2NnaS1iaW4nCit3aGljaCBnaXR3ZWIgaXMgaW5zdGFsbGVkLiAgTGV0J3MgYXNzdW1lIHRoYXQgaXQgaXMgYC92YXIvd3d3L2NnaS1iaW5gCiBkaXJlY3RvcnkuCiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC00MzEsNyArNDMwLDcgQEAKIChmb3IgbW9kX3BlcmwgMS54KSBvciBNb2RQZXJsOjpSZWdpc3RyeSAoZm9yIG1vZF9wZXJsIDIueCkgdG8gZW5hYmxlCiB0aGlzIHN1cHBvcnQuCiAKLUFzc3VtaW5nIHRoYXQgZ2l0d2ViIGlzIGluc3RhbGxlZCB0byAnL3Zhci93d3cvcGVybCcsIHRoZSBmb2xsb3dpbmcKK0Fzc3VtaW5nIHRoYXQgZ2l0d2ViIGlzIGluc3RhbGxlZCB0byBgL3Zhci93d3cvcGVybGAsIHRoZSBmb2xsb3dpbmcKIEFwYWNoZSBjb25maWd1cmF0aW9uIChmb3IgbW9kX3BlcmwgMi54KSBpcyBzdWl0YWJsZS4KIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTQ1Niw3ICs0NTUsNyBAQAogfn5+fn5+fn5+fn5+fn5+fn5+fgogR2l0d2ViIHdvcmtzIHdpdGggQXBhY2hlIGFuZCBGYXN0Q0dJLiAgRmlyc3QgeW91IG5lZWQgdG8gcmVuYW1lLCBjb3B5CiBvciBzeW1saW5rIGdpdHdlYi5jZ2kgdG8gZ2l0d2ViLmZjZ2kuICBMZXQncyBhc3N1bWUgdGhhdCBnaXR3ZWIgaXMKLWluc3RhbGxlZCBpbiAnL3Vzci9zaGFyZS9naXR3ZWInIGRpcmVjdG9yeS4gIFRoZSBmb2xsb3dpbmcgQXBhY2hlCitpbnN0YWxsZWQgaW4gYC91c3Ivc2hhcmUvZ2l0d2ViYCBkaXJlY3RvcnkuICBUaGUgZm9sbG93aW5nIEFwYWNoZQogY29uZmlndXJhdGlvbiBpcyBzdWl0YWJsZSAoVU5URVNURUQhKQogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtNTAzLDIyICs1MDIsMjIgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIFRoZSBhYm92ZSBjb25maWd1cmF0aW9uIGV4cGVjdHMgeW91ciBwdWJsaWMgcmVwb3NpdG9yaWVzIHRvIGxpdmUgdW5kZXIKLScvcHViL2dpdCcgYW5kIHdpbGwgc2VydmUgdGhlbSBhcyBgaHR0cDovL2dpdC5kb21haW4ub3JnL2Rpci11bmRlci1wdWItZ2l0YCwKK2AvcHViL2dpdGAgYW5kIHdpbGwgc2VydmUgdGhlbSBhcyBgaHR0cDovL2dpdC5kb21haW4ub3JnL2Rpci11bmRlci1wdWItZ2l0YCwKIGJvdGggYXMgY2xvbmFibGUgR2l0IFVSTCBhbmQgYXMgYnJvd3NlYWJsZSBnaXR3ZWIgaW50ZXJmYWNlLiAgSWYgeW91IHRoZW4KIHN0YXJ0IHlvdXIgbGlua2dpdDpnaXQtZGFlbW9uWzFdIHdpdGggYC0tYmFzZS1wYXRoPS9wdWIvZ2l0IC0tZXhwb3J0LWFsbGAKIHRoZW4geW91IGNhbiBldmVuIHVzZSB0aGUgYGdpdDovL2AgVVJMIHdpdGggZXhhY3RseSB0aGUgc2FtZSBwYXRoLgogCiBTZXR0aW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBgR0lUV0VCX0NPTkZJR2Agd2lsbCB0ZWxsIGdpdHdlYiB0byB1c2UgdGhlCi1uYW1lZCBmaWxlIChpLmUuIGluIHRoaXMgZXhhbXBsZSAnL2V0Yy9naXR3ZWIuY29uZicpIGFzIGEgY29uZmlndXJhdGlvbiBmb3IKK25hbWVkIGZpbGUgKGkuZS4gaW4gdGhpcyBleGFtcGxlIGAvZXRjL2dpdHdlYi5jb25mYCkgYXMgYSBjb25maWd1cmF0aW9uIGZvcgogZ2l0d2ViLiAgWW91IGRvbid0IHJlYWxseSBuZWVkIGl0IGluIGFib3ZlIGV4YW1wbGU7IGl0IGlzIHJlcXVpcmVkIG9ubHkgaWYKIHlvdXIgY29uZmlndXJhdGlvbiBmaWxlIGlzIGluIGRpZmZlcmVudCBwbGFjZSB0aGFuIGJ1aWx0LWluIChkdXJpbmcKLWNvbXBpbGluZyBnaXR3ZWIpICdnaXR3ZWJfY29uZmlnLnBlcmwnIG9yICcvZXRjL2dpdHdlYi5jb25mJy4gIFNlZQorY29tcGlsaW5nIGdpdHdlYikgJ2dpdHdlYl9jb25maWcucGVybCcgb3IgYC9ldGMvZ2l0d2ViLmNvbmZgLiAgU2VlCiBsaW5rZ2l0OmdpdHdlYi5jb25mWzVdIGZvciBkZXRhaWxzLCBlc3BlY2lhbGx5IGluZm9ybWF0aW9uIGFib3V0IHByZWNlZGVuY2UKIHJ1bGVzLgogCiBJZiB5b3UgdXNlIHRoZSByZXdyaXRlIHJ1bGVzIGZyb20gdGhlIGV4YW1wbGUgeW91ICptaWdodCogYWxzbyBuZWVkCiBzb21ldGhpbmcgbGlrZSB0aGUgZm9sbG93aW5nIGluIHlvdXIgZ2l0d2ViIGNvbmZpZ3VyYXRpb24gZmlsZQotKCcvZXRjL2dpdHdlYi5jb25mJyBmb2xsb3dpbmcgZXhhbXBsZSk6CisoYC9ldGMvZ2l0d2ViLmNvbmZgIGZvbGxvd2luZyBleGFtcGxlKToKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIEBzdHlsZXNoZWV0cyA9ICgiL3NvbWUvYWJzb2x1dGUvcGF0aC9naXR3ZWIuY3NzIik7CiAkbXlfdXJpICAgID0gIi8iOwpAQCAtNTc1LDcgKzU3NCw3IEBACiAKIEhlcmUgYWN0dWFsIHByb2plY3Qgcm9vdCBpcyBwYXNzZWQgdG8gZ2l0d2ViIHZpYSBgR0lUV0VCX1BST0pFQ1RfUk9PVGAKIGVudmlyb25tZW50IHZhcmlhYmxlIGZyb20gYSB3ZWIgc2VydmVyLCBzbyB5b3UgbmVlZCB0byBwdXQgdGhlIGZvbGxvd2luZwotbGluZSBpbiBnaXR3ZWIgY29uZmlndXJhdGlvbiBmaWxlICgnL2V0Yy9naXR3ZWIuY29uZicgaW4gYWJvdmUgZXhhbXBsZSk6CitsaW5lIGluIGdpdHdlYiBjb25maWd1cmF0aW9uIGZpbGUgKGAvZXRjL2dpdHdlYi5jb25mYCBpbiBhYm92ZSBleGFtcGxlKToKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAkcHJvamVjdHJvb3QgPSAkRU5WeydHSVRXRUJfUFJPSkVDVFJPT1QnfSB8fCAiL3B1Yi9naXQiOwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTU4NSw3ICs1ODQsNyBAQAogCiBUaGVzZSBjb25maWd1cmF0aW9ucyBlbmFibGUgdHdvIHRoaW5ncy4gRmlyc3QsIGVhY2ggdW5peCB1c2VyIChgPHVzZXI+YCkgb2YKIHRoZSBzZXJ2ZXIgd2lsbCBiZSBhYmxlIHRvIGJyb3dzZSB0aHJvdWdoIGdpdHdlYiBHaXQgcmVwb3NpdG9yaWVzIGZvdW5kIGluCi0nfi9wdWJsaWNfZ2l0Lycgd2l0aCB0aGUgZm9sbG93aW5nIHVybDoKK2B+L3B1YmxpY19naXQvYCB3aXRoIHRoZSBmb2xsb3dpbmcgdXJsOgogCiAgIGh0dHA6Ly9naXQuZXhhbXBsZS5vcmcvfjx1c2VyPi8KIApAQCAtNTk2LDcgKzU5NSw3IEBACiB1c2UgdGhlIFwnficgYXMgZmlyc3QgY2hhcmFjdGVyLCBqdXN0IGNvbW1lbnQgb3IgcmVtb3ZlIHRoZSBzZWNvbmQgcmV3cml0ZQogcnVsZSwgYW5kIHVuY29tbWVudCBvbmUgb2YgdGhlIGZvbGxvd2luZyBhY2NvcmRpbmcgdG8gd2hhdCB5b3Ugd2FudC4KIAotU2Vjb25kLCByZXBvc2l0b3JpZXMgZm91bmQgaW4gJy9wdWIvc2NtLycgYW5kICcvdmFyL2dpdC8nIHdpbGwgYmUgYWNjZXNzaWJsZQorU2Vjb25kLCByZXBvc2l0b3JpZXMgZm91bmQgaW4gYC9wdWIvc2NtL2AgYW5kIGAvdmFyL2dpdC9gIHdpbGwgYmUgYWNjZXNzaWJsZQogdGhyb3VnaCBgaHR0cDovL2dpdC5leGFtcGxlLm9yZy9zY20vYCBhbmQgYGh0dHA6Ly9naXQuZXhhbXBsZS5vcmcvdmFyL2AuCiBZb3UgY2FuIGFkZCBhcyBtYW55IHByb2plY3Qgcm9vdHMgYXMgeW91IHdhbnQgYnkgYWRkaW5nIHJld3JpdGUgcnVsZXMgbGlrZQogdGhlIHRoaXJkIGFuZCB0aGUgZm91cnRoLgpAQCAtNjE0LDcgKzYxMyw3IEBACiAgIGh0dHA6Ly9naXQuZXhhbXBsZS5jb20vcHJvamVjdC5naXQvc2hvcnRsb2cvc29tZXRhZwogCiBpLmUuIHdpdGhvdXQgJ2dpdHdlYi5jZ2knIHBhcnQsIGJ5IHVzaW5nIGEgY29uZmlndXJhdGlvbiBzdWNoIGFzIHRoZQotZm9sbG93aW5nLiAgVGhpcyBjb25maWd1cmF0aW9uIGFzc3VtZXMgdGhhdCAnL3Zhci93d3cvZ2l0d2ViJyBpcyB0aGUKK2ZvbGxvd2luZy4gIFRoaXMgY29uZmlndXJhdGlvbiBhc3N1bWVzIHRoYXQgYC92YXIvd3d3L2dpdHdlYmAgaXMgdGhlCiBEb2N1bWVudFJvb3Qgb2YgeW91ciB3ZWJzZXJ2ZXIsIGNvbnRhaW5zIHRoZSBnaXR3ZWIuY2dpIHNjcmlwdCBhbmQKIGNvbXBsZW1lbnRhcnkgc3RhdGljIGZpbGVzIChzdHlsZXNoZWV0LCBmYXZpY29uLCBKYXZhU2NyaXB0KToKIApAQCAtNjQ1LDkgKzY0NCw5IEBACiBgQHN0eWxlc2hlZXRzYCwgYCRteV91cmlgIGFuZCBgJGhvbWVfbGlua2AsIGJ1dCB5b3UgbG9zZSAiZHVtYiBjbGllbnQiCiBhY2Nlc3MgdG8geW91ciBwcm9qZWN0IC5naXQgZGlycyAoZGVzY3JpYmVkIGluICJTaW5nbGUgVVJMIGZvciBnaXR3ZWIgYW5kCiBmb3IgZmV0Y2hpbmciIHNlY3Rpb24pLiAgQSBwb3NzaWJsZSB3b3JrYXJvdW5kIGZvciB0aGUgbGF0dGVyIGlzIHRoZQotZm9sbG93aW5nOiBpbiB5b3VyIHByb2plY3Qgcm9vdCBkaXIgKGUuZy4gJy9wdWIvZ2l0JykgaGF2ZSB0aGUgcHJvamVjdHMKLW5hbWVkICp3aXRob3V0KiBhIC5naXQgZXh0ZW5zaW9uIChlLmcuICcvcHViL2dpdC9wcm9qZWN0JyBpbnN0ZWFkIG9mCi0nL3B1Yi9naXQvcHJvamVjdC5naXQnKSBhbmQgY29uZmlndXJlIEFwYWNoZSBhcyBmb2xsb3dzOgorZm9sbG93aW5nOiBpbiB5b3VyIHByb2plY3Qgcm9vdCBkaXIgKGUuZy4gYC9wdWIvZ2l0YCkgaGF2ZSB0aGUgcHJvamVjdHMKK25hbWVkICp3aXRob3V0KiBhIC5naXQgZXh0ZW5zaW9uIChlLmcuIGAvcHViL2dpdC9wcm9qZWN0YCBpbnN0ZWFkIG9mCitgL3B1Yi9naXQvcHJvamVjdC5naXRgKSBhbmQgY29uZmlndXJlIEFwYWNoZSBhcyBmb2xsb3dzOgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogPFZpcnR1YWxIb3N0ICo6ODA+CiAJU2VydmVyQWxpYXMgZ2l0LmV4YW1wbGUuY29tCkBAIC02ODEsNyArNjgwLDcgQEAKIHdpbGwgcHJvdmlkZSBodW1hbi1mcmllbmRseSBnaXR3ZWIgYWNjZXNzLgogCiBUaGlzIHNvbHV0aW9uIGlzIG5vdCAxMDAlIGJ1bGxldHByb29mLCBpbiB0aGUgc2Vuc2UgdGhhdCBpZiBzb21lIHByb2plY3QgaGFzCi1hIG5hbWVkIHJlZiAoYnJhbmNoLCB0YWcpIHN0YXJ0aW5nIHdpdGggJ2dpdC8nLCB0aGVuIHBhdGhzIHN1Y2ggYXMKK2EgbmFtZWQgcmVmIChicmFuY2gsIHRhZykgc3RhcnRpbmcgd2l0aCBgZ2l0L2AsIHRoZW4gcGF0aHMgc3VjaCBhcwogCiAgIGh0dHA6Ly9naXQuZXhhbXBsZS5jb20vcHJvamVjdC9jb21tYW5kL2FicmFuY2guLmdpdC9hYnJhbmNoCiAKQEAgLTY5Nyw3ICs2OTYsNyBAQAogLS0tLS0tLS0KIGxpbmtnaXQ6Z2l0d2ViLmNvbmZbNV0sIGxpbmtnaXQ6Z2l0LWluc3Rhd2ViWzFdCiAKLSdnaXR3ZWIvUkVBRE1FJywgJ2dpdHdlYi9JTlNUQUxMJworYGdpdHdlYi9SRUFETUVgLCBgZ2l0d2ViL0lOU1RBTExgCiAKIEdJVAogLS0tCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdHdvcmtmbG93cy50eHQgYi9Eb2N1bWVudGF0aW9uL2dpdHdvcmtmbG93cy50eHQKaW5kZXggY2ExMWM3Yi4uYWJjMGRjNiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXR3b3JrZmxvd3MudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0d29ya2Zsb3dzLnR4dApAQCAtMzAxLDggKzMwMSw3IEBACiAuUmV3aW5kIGFuZCByZWJ1aWxkIG5leHQKIFtjYXB0aW9uPSJSZWNpcGU6ICJdCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0qIGBnaXQgY2hlY2tvdXQgbmV4dGAKLSogYGdpdCByZXNldCAtLWhhcmQgbWFzdGVyYAorKiBgZ2l0IHN3aXRjaCAtQyBuZXh0IG1hc3RlcmAKICogYGdpdCBtZXJnZSBhaS90b3BpY19pbl9uZXh0MWAKICogYGdpdCBtZXJnZSBhaS90b3BpY19pbl9uZXh0MmAKICogLi4uCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dsb3NzYXJ5LWNvbnRlbnQudHh0IGIvRG9jdW1lbnRhdGlvbi9nbG9zc2FyeS1jb250ZW50LnR4dAppbmRleCAwZDJhYTQ4Li4wOTBjODg4IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dsb3NzYXJ5LWNvbnRlbnQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2xvc3NhcnktY29udGVudC50eHQKQEAgLTI1NSw3ICsyNTUsNyBAQAogW1tkZWZfb2JqZWN0XV1vYmplY3Q6OgogCVRoZSB1bml0IG9mIHN0b3JhZ2UgaW4gR2l0LiBJdCBpcyB1bmlxdWVseSBpZGVudGlmaWVkIGJ5IHRoZQogCTw8ZGVmX1NIQTEsU0hBLTE+PiBvZiBpdHMgY29udGVudHMuIENvbnNlcXVlbnRseSwgYW4KLQlvYmplY3QgY2FuIG5vdCBiZSBjaGFuZ2VkLgorCW9iamVjdCBjYW5ub3QgYmUgY2hhbmdlZC4KIAogW1tkZWZfb2JqZWN0X2RhdGFiYXNlXV1vYmplY3QgZGF0YWJhc2U6OgogCVN0b3JlcyBhIHNldCBvZiAib2JqZWN0cyIsIGFuZCBhbiBpbmRpdmlkdWFsIDw8ZGVmX29iamVjdCxvYmplY3Q+PiBpcwpAQCAtMjg3LDYgKzI4NywxNSBAQAogCW9yaWdpbi9uYW1lLW9mLXVwc3RyZWFtLWJyYW5jaCwgd2hpY2ggeW91IGNhbiBzZWUgdXNpbmcKIAlgZ2l0IGJyYW5jaCAtcmAuCiAKK1tbZGVmX292ZXJsYXldXW92ZXJsYXk6OgorCU9ubHkgdXBkYXRlIGFuZCBhZGQgZmlsZXMgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5LCBidXQgZG9uJ3QKKwlkZWxldGUgdGhlbSwgc2ltaWxhciB0byBob3cgJ2NwIC1SJyB3b3VsZCB1cGRhdGUgdGhlIGNvbnRlbnRzCisJaW4gdGhlIGRlc3RpbmF0aW9uIGRpcmVjdG9yeS4gIFRoaXMgaXMgdGhlIGRlZmF1bHQgbW9kZSBpbiBhCisJPDxkZWZfY2hlY2tvdXQsY2hlY2tvdXQ+PiB3aGVuIGNoZWNraW5nIG91dCBmaWxlcyBmcm9tIHRoZQorCTw8ZGVmX2luZGV4LGluZGV4Pj4gb3IgYSA8PGRlZl90cmVlLWlzaCx0cmVlLWlzaD4+LiAgSW4KKwljb250cmFzdCwgbm8tb3ZlcmxheSBtb2RlIGFsc28gZGVsZXRlcyB0cmFja2VkIGZpbGVzIG5vdAorCXByZXNlbnQgaW4gdGhlIHNvdXJjZSwgc2ltaWxhciB0byAncnN5bmMgLS1kZWxldGUnLgorCiBbW2RlZl9wYWNrXV1wYWNrOjoKIAlBIHNldCBvZiBvYmplY3RzIHdoaWNoIGhhdmUgYmVlbiBjb21wcmVzc2VkIGludG8gb25lIGZpbGUgKHRvIHNhdmUgc3BhY2UKIAlvciB0byB0cmFuc21pdCB0aGVtIGVmZmljaWVudGx5KS4KQEAgLTQwNCw2ICs0MTMsOCBAQAogLSAiYCFBVFRSYCIgcmVxdWlyZXMgdGhhdCB0aGUgYXR0cmlidXRlIGBBVFRSYCBiZQogICB1bnNwZWNpZmllZC4KICsKK05vdGUgdGhhdCB3aGVuIG1hdGNoaW5nIGFnYWluc3QgYSB0cmVlIG9iamVjdCwgYXR0cmlidXRlcyBhcmUgc3RpbGwKK29idGFpbmVkIGZyb20gd29ya2luZyB0cmVlLCBub3QgZnJvbSB0aGUgZ2l2ZW4gdHJlZSBvYmplY3QuCiAKIGV4Y2x1ZGU7OwogCUFmdGVyIGEgcGF0aCBtYXRjaGVzIGFueSBub24tZXhjbHVkZSBwYXRoc3BlYywgaXQgd2lsbCBiZSBydW4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaG93dG8vc2VwYXJhdGluZy10b3BpYy1icmFuY2hlcy50eHQgYi9Eb2N1bWVudGF0aW9uL2hvd3RvL3NlcGFyYXRpbmctdG9waWMtYnJhbmNoZXMudHh0CmluZGV4IGJkMTAyNzQuLjgxYmUwZDYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vaG93dG8vc2VwYXJhdGluZy10b3BpYy1icmFuY2hlcy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9ob3d0by9zZXBhcmF0aW5nLXRvcGljLWJyYW5jaGVzLnR4dApAQCAtODEsNyArODEsNyBAQAogICAgICAgICAgICAgICBvLS0tby0tLW8tLS1vLS0tby0tLW8KIAogVGhlIGxhc3QgZGlmZiBiZXR0ZXIgbm90IHRvIHNob3cgYW55dGhpbmcgb3RoZXIgdGhhbiBjbGVhbnVwcwotZm9yIGNydWZ0cy4gIFRoZW4gSSBjYW4gZmluYWxseSBjbGVhbiB0aGluZ3MgdXA6Citmb3IgY3J1ZnQuICBUaGVuIEkgY2FuIGZpbmFsbHkgY2xlYW4gdGhpbmdzIHVwOgogCiAgICAgICAgICQgZ2l0IGJyYW5jaCAtRCB0b3BpYwogICAgICAgICAkIGdpdCByZXNldCAtLWhhcmQgSEVBRF4gOyMgbnVrZSBwcmV0ZW5kIG1lcmdlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2hvd3RvL3NldHVwLWdpdC1zZXJ2ZXItb3Zlci1odHRwLnR4dCBiL0RvY3VtZW50YXRpb24vaG93dG8vc2V0dXAtZ2l0LXNlcnZlci1vdmVyLWh0dHAudHh0CmluZGV4IGY0NGU1ZTkuLmJmZTZmOWIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vaG93dG8vc2V0dXAtZ2l0LXNlcnZlci1vdmVyLWh0dHAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vaG93dG8vc2V0dXAtZ2l0LXNlcnZlci1vdmVyLWh0dHAudHh0CkBAIC0yNDQsOCArMjQ0LDggQEAKIC0tLS0tLS0tLS0tLS0tCiAKIElmIHlvdSBoYXZlIHRvIGFjY2VzcyB0aGUgV2ViREFWIHNlcnZlciBmcm9tIGJlaGluZCBhbiBIVFRQKFMpIHByb3h5LAotc2V0IHRoZSB2YXJpYWJsZSAnYWxsX3Byb3h5JyB0byAnaHR0cDovL3Byb3h5LWhvc3QuY29tOnBvcnQnLCBvcgotJ2h0dHA6Ly9sb2dpbi1vbi1wcm94eTpwYXNzd2Qtb24tcHJveHlAcHJveHktaG9zdC5jb206cG9ydCcuIFNlZSAnbWFuCitzZXQgdGhlIHZhcmlhYmxlICdhbGxfcHJveHknIHRvIGBodHRwOi8vcHJveHktaG9zdC5jb206cG9ydGAsIG9yCitgaHR0cDovL2xvZ2luLW9uLXByb3h5OnBhc3N3ZC1vbi1wcm94eUBwcm94eS1ob3N0LmNvbTpwb3J0YC4gU2VlICdtYW4KIGN1cmwnIGZvciBkZXRhaWxzLgogCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbWFucGFnZS1ib2xkLWxpdGVyYWwueHNsIGIvRG9jdW1lbnRhdGlvbi9tYW5wYWdlLWJvbGQtbGl0ZXJhbC54c2wKaW5kZXggNjA4ZWI1ZC4uOTRkNmMxYiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9tYW5wYWdlLWJvbGQtbGl0ZXJhbC54c2wKKysrIGIvRG9jdW1lbnRhdGlvbi9tYW5wYWdlLWJvbGQtbGl0ZXJhbC54c2wKQEAgLTEsMTIgKzEsMTMgQEAKIDwhLS0gbWFucGFnZS1ib2xkLWxpdGVyYWwueHNsOgogICAgICBzcGVjaWFsIGZvcm1hdHRpbmcgZm9yIG1hbnBhZ2VzIHJlbmRlcmVkIGZyb20gYXNjaWlkb2MrZG9jYm9vayAtLT4KIDx4c2w6c3R5bGVzaGVldCB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSIKKwkJeG1sbnM6ZD0iaHR0cDovL2RvY2Jvb2sub3JnL25zL2RvY2Jvb2siCiAJCXZlcnNpb249IjEuMCI+CiAKIDwhLS0gcmVuZGVyIGxpdGVyYWwgdGV4dCBhcyBib2xkIChpbnN0ZWFkIG9mIHBsYWluIG9yIG1vbm9zcGFjZSk7CiAgICAgIHRoaXMgbWFrZXMgbGl0ZXJhbCB0ZXh0IGVhc2llciB0byBkaXN0aW5ndWlzaCBpbiBtYW5wYWdlcwogICAgICB2aWV3ZWQgb24gYSB0dHkgLS0+Ci08eHNsOnRlbXBsYXRlIG1hdGNoPSJsaXRlcmFsIj4KKzx4c2w6dGVtcGxhdGUgbWF0Y2g9ImxpdGVyYWx8ZDpsaXRlcmFsIj4KIAk8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGdpdC5kb2Nib29rLmJhY2tzbGFzaCIvPgogCTx4c2w6dGV4dD5mQjwveHNsOnRleHQ+CiAJPHhzbDphcHBseS10ZW1wbGF0ZXMvPgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9tYW5wYWdlLnhzbCBiL0RvY3VtZW50YXRpb24vbWFucGFnZS54c2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY2NGJhYgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vbWFucGFnZS54c2wKQEAgLTAsMCArMSwzIEBACis8eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCI+CisJPHhzbDppbXBvcnQgaHJlZj0iaHR0cDovL2RvY2Jvb2suc291cmNlZm9yZ2UubmV0L3JlbGVhc2UveHNsLW5zL2N1cnJlbnQvbWFucGFnZXMvZG9jYm9vay54c2wiIC8+Cis8L3hzbDpzdHlsZXNoZWV0PgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9tZXJnZS1vcHRpb25zLnR4dCBiL0RvY3VtZW50YXRpb24vbWVyZ2Utb3B0aW9ucy50eHQKaW5kZXggNjNhM2ZjMC4uNDBkYzRmNSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9tZXJnZS1vcHRpb25zLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL21lcmdlLW9wdGlvbnMudHh0CkBAIC0zLDkgKzMsMTQgQEAKIAlQZXJmb3JtIHRoZSBtZXJnZSBhbmQgY29tbWl0IHRoZSByZXN1bHQuIFRoaXMgb3B0aW9uIGNhbgogCWJlIHVzZWQgdG8gb3ZlcnJpZGUgLS1uby1jb21taXQuCiArCi1XaXRoIC0tbm8tY29tbWl0IHBlcmZvcm0gdGhlIG1lcmdlIGJ1dCBwcmV0ZW5kIHRoZSBtZXJnZQotZmFpbGVkIGFuZCBkbyBub3QgYXV0b2NvbW1pdCwgdG8gZ2l2ZSB0aGUgdXNlciBhIGNoYW5jZSB0bwotaW5zcGVjdCBhbmQgZnVydGhlciB0d2VhayB0aGUgbWVyZ2UgcmVzdWx0IGJlZm9yZSBjb21taXR0aW5nLgorV2l0aCAtLW5vLWNvbW1pdCBwZXJmb3JtIHRoZSBtZXJnZSBhbmQgc3RvcCBqdXN0IGJlZm9yZSBjcmVhdGluZworYSBtZXJnZSBjb21taXQsIHRvIGdpdmUgdGhlIHVzZXIgYSBjaGFuY2UgdG8gaW5zcGVjdCBhbmQgZnVydGhlcgordHdlYWsgdGhlIG1lcmdlIHJlc3VsdCBiZWZvcmUgY29tbWl0dGluZy4KKysKK05vdGUgdGhhdCBmYXN0LWZvcndhcmQgdXBkYXRlcyBkbyBub3QgY3JlYXRlIGEgbWVyZ2UgY29tbWl0IGFuZAordGhlcmVmb3JlIHRoZXJlIGlzIG5vIHdheSB0byBzdG9wIHRob3NlIG1lcmdlcyB3aXRoIC0tbm8tY29tbWl0LgorVGh1cywgaWYgeW91IHdhbnQgdG8gZW5zdXJlIHlvdXIgYnJhbmNoIGlzIG5vdCBjaGFuZ2VkIG9yIHVwZGF0ZWQKK2J5IHRoZSBtZXJnZSBjb21tYW5kLCB1c2UgLS1uby1mZiB3aXRoIC0tbm8tY29tbWl0LgogCiAtLWVkaXQ6OgogLWU6OgpAQCAtMjcsMjEgKzMyLDMyIEBACiB1cGRhdGVkIGJlaGF2aW91ciwgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIGBHSVRfTUVSR0VfQVVUT0VESVRgIGNhbiBiZQogc2V0IHRvIGBub2AgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGVtLgogCistLWNsZWFudXA9PG1vZGU+OjoKKwlUaGlzIG9wdGlvbiBkZXRlcm1pbmVzIGhvdyB0aGUgbWVyZ2UgbWVzc2FnZSB3aWxsIGJlIGNsZWFuZWQgdXAgYmVmb3JlCisJY29tbWl0dGluZy4gU2VlIGxpbmtnaXQ6Z2l0LWNvbW1pdFsxXSBmb3IgbW9yZSBkZXRhaWxzLiBJbiBhZGRpdGlvbiwgaWYKKwl0aGUgJzxtb2RlPicgaXMgZ2l2ZW4gYSB2YWx1ZSBvZiBgc2Npc3NvcnNgLCBzY2lzc29ycyB3aWxsIGJlIGFwcGVuZGVkCisJdG8gYE1FUkdFX01TR2AgYmVmb3JlIGJlaW5nIHBhc3NlZCBvbiB0byB0aGUgY29tbWl0IG1hY2hpbmVyeSBpbiB0aGUKKwljYXNlIG9mIGEgbWVyZ2UgY29uZmxpY3QuCisKIC0tZmY6OgotCVdoZW4gdGhlIG1lcmdlIHJlc29sdmVzIGFzIGEgZmFzdC1mb3J3YXJkLCBvbmx5IHVwZGF0ZSB0aGUgYnJhbmNoCi0JcG9pbnRlciwgd2l0aG91dCBjcmVhdGluZyBhIG1lcmdlIGNvbW1pdC4gIFRoaXMgaXMgdGhlIGRlZmF1bHQKLQliZWhhdmlvci4KLQogLS1uby1mZjo6Ci0JQ3JlYXRlIGEgbWVyZ2UgY29tbWl0IGV2ZW4gd2hlbiB0aGUgbWVyZ2UgcmVzb2x2ZXMgYXMgYQotCWZhc3QtZm9yd2FyZC4gIFRoaXMgaXMgdGhlIGRlZmF1bHQgYmVoYXZpb3VyIHdoZW4gbWVyZ2luZyBhbgotCWFubm90YXRlZCAoYW5kIHBvc3NpYmx5IHNpZ25lZCkgdGFnIHRoYXQgaXMgbm90IHN0b3JlZCBpbgotCWl0cyBuYXR1cmFsIHBsYWNlIGluICdyZWZzL3RhZ3MvJyBoaWVyYXJjaHkuCi0KIC0tZmYtb25seTo6Ci0JUmVmdXNlIHRvIG1lcmdlIGFuZCBleGl0IHdpdGggYSBub24temVybyBzdGF0dXMgdW5sZXNzIHRoZQotCWN1cnJlbnQgYEhFQURgIGlzIGFscmVhZHkgdXAgdG8gZGF0ZSBvciB0aGUgbWVyZ2UgY2FuIGJlCi0JcmVzb2x2ZWQgYXMgYSBmYXN0LWZvcndhcmQuCisJU3BlY2lmaWVzIGhvdyBhIG1lcmdlIGlzIGhhbmRsZWQgd2hlbiB0aGUgbWVyZ2VkLWluIGhpc3RvcnkgaXMKKwlhbHJlYWR5IGEgZGVzY2VuZGFudCBvZiB0aGUgY3VycmVudCBoaXN0b3J5LiAgYC0tZmZgIGlzIHRoZQorCWRlZmF1bHQgdW5sZXNzIG1lcmdpbmcgYW4gYW5ub3RhdGVkIChhbmQgcG9zc2libHkgc2lnbmVkKSB0YWcKKwl0aGF0IGlzIG5vdCBzdG9yZWQgaW4gaXRzIG5hdHVyYWwgcGxhY2UgaW4gdGhlIGByZWZzL3RhZ3MvYAorCWhpZXJhcmNoeSwgaW4gd2hpY2ggY2FzZSBgLS1uby1mZmAgaXMgYXNzdW1lZC4KKysKK1dpdGggYC0tZmZgLCB3aGVuIHBvc3NpYmxlIHJlc29sdmUgdGhlIG1lcmdlIGFzIGEgZmFzdC1mb3J3YXJkIChvbmx5Cit1cGRhdGUgdGhlIGJyYW5jaCBwb2ludGVyIHRvIG1hdGNoIHRoZSBtZXJnZWQgYnJhbmNoOyBkbyBub3QgY3JlYXRlIGEKK21lcmdlIGNvbW1pdCkuICBXaGVuIG5vdCBwb3NzaWJsZSAod2hlbiB0aGUgbWVyZ2VkLWluIGhpc3RvcnkgaXMgbm90IGEKK2Rlc2NlbmRhbnQgb2YgdGhlIGN1cnJlbnQgaGlzdG9yeSksIGNyZWF0ZSBhIG1lcmdlIGNvbW1pdC4KKysKK1dpdGggYC0tbm8tZmZgLCBjcmVhdGUgYSBtZXJnZSBjb21taXQgaW4gYWxsIGNhc2VzLCBldmVuIHdoZW4gdGhlIG1lcmdlCitjb3VsZCBpbnN0ZWFkIGJlIHJlc29sdmVkIGFzIGEgZmFzdC1mb3J3YXJkLgorKworV2l0aCBgLS1mZi1vbmx5YCwgcmVzb2x2ZSB0aGUgbWVyZ2UgYXMgYSBmYXN0LWZvcndhcmQgd2hlbiBwb3NzaWJsZS4KK1doZW4gbm90IHBvc3NpYmxlLCByZWZ1c2UgdG8gbWVyZ2UgYW5kIGV4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cy4KIAogLVNbPGtleWlkPl06OgogLS1ncGctc2lnbls9PGtleWlkPl06OgpAQCAtOTAsNiArMTA2LDEyIEBACiArCiBXaXRoIC0tbm8tc3F1YXNoIHBlcmZvcm0gdGhlIG1lcmdlIGFuZCBjb21taXQgdGhlIHJlc3VsdC4gVGhpcwogb3B0aW9uIGNhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIC0tc3F1YXNoLgorKworV2l0aCAtLXNxdWFzaCwgLS1jb21taXQgaXMgbm90IGFsbG93ZWQsIGFuZCB3aWxsIGZhaWwuCisKKy0tbm8tdmVyaWZ5OjoKKwlUaGlzIG9wdGlvbiBieXBhc3NlcyB0aGUgcHJlLW1lcmdlIGFuZCBjb21taXQtbXNnIGhvb2tzLgorCVNlZSBhbHNvIGxpbmtnaXQ6Z2l0aG9va3NbNV0uCiAKIC1zIDxzdHJhdGVneT46OgogLS1zdHJhdGVneT08c3RyYXRlZ3k+OjoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbWVyZ2Utc3RyYXRlZ2llcy50eHQgYi9Eb2N1bWVudGF0aW9uL21lcmdlLXN0cmF0ZWdpZXMudHh0CmluZGV4IGFhNjZjYmUuLjI5MTJkZTcgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vbWVyZ2Utc3RyYXRlZ2llcy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9tZXJnZS1zdHJhdGVnaWVzLnR4dApAQCAtMzIsNyArMzIsNyBAQAogb3Vyczs7CiAJVGhpcyBvcHRpb24gZm9yY2VzIGNvbmZsaWN0aW5nIGh1bmtzIHRvIGJlIGF1dG8tcmVzb2x2ZWQgY2xlYW5seSBieQogCWZhdm9yaW5nICdvdXInIHZlcnNpb24uICBDaGFuZ2VzIGZyb20gdGhlIG90aGVyIHRyZWUgdGhhdCBkbyBub3QKLQljb25mbGljdCB3aXRoIG91ciBzaWRlIGFyZSByZWZsZWN0ZWQgdG8gdGhlIG1lcmdlIHJlc3VsdC4KKwljb25mbGljdCB3aXRoIG91ciBzaWRlIGFyZSByZWZsZWN0ZWQgaW4gdGhlIG1lcmdlIHJlc3VsdC4KIAlGb3IgYSBiaW5hcnkgZmlsZSwgdGhlIGVudGlyZSBjb250ZW50cyBhcmUgdGFrZW4gZnJvbSBvdXIgc2lkZS4KICsKIFRoaXMgc2hvdWxkIG5vdCBiZSBjb25mdXNlZCB3aXRoIHRoZSAnb3VycycgbWVyZ2Ugc3RyYXRlZ3ksIHdoaWNoIGRvZXMgbm90CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3ByZXR0eS1mb3JtYXRzLnR4dCBiL0RvY3VtZW50YXRpb24vcHJldHR5LWZvcm1hdHMudHh0CmluZGV4IDQxN2I2MzguLmE0YjZmNDkgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vcHJldHR5LWZvcm1hdHMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vcHJldHR5LWZvcm1hdHMudHh0CkBAIC00LDcgKzQsNyBAQAogSWYgdGhlIGNvbW1pdCBpcyBhIG1lcmdlLCBhbmQgaWYgdGhlIHByZXR0eS1mb3JtYXQKIGlzIG5vdCAnb25lbGluZScsICdlbWFpbCcgb3IgJ3JhdycsIGFuIGFkZGl0aW9uYWwgbGluZSBpcwogaW5zZXJ0ZWQgYmVmb3JlIHRoZSAnQXV0aG9yOicgbGluZS4gIFRoaXMgbGluZSBiZWdpbnMgd2l0aAotIk1lcmdlOiAiIGFuZCB0aGUgc2hhMXMgb2YgYW5jZXN0cmFsIGNvbW1pdHMgYXJlIHByaW50ZWQsCisiTWVyZ2U6ICIgYW5kIHRoZSBoYXNoZXMgb2YgYW5jZXN0cmFsIGNvbW1pdHMgYXJlIHByaW50ZWQsCiBzZXBhcmF0ZWQgYnkgc3BhY2VzLiAgTm90ZSB0aGF0IHRoZSBsaXN0ZWQgY29tbWl0cyBtYXkgbm90CiBuZWNlc3NhcmlseSBiZSB0aGUgbGlzdCBvZiB0aGUgKmRpcmVjdCogcGFyZW50IGNvbW1pdHMgaWYgeW91CiBoYXZlIGxpbWl0ZWQgeW91ciB2aWV3IG9mIGhpc3Rvcnk6IGZvciBleGFtcGxlLCBpZiB5b3UgYXJlCkBAIC0yMCwyMCArMjAsMjAgQEAKIAogKiAnb25lbGluZScKIAotCSAgPHNoYTE+IDx0aXRsZSBsaW5lPgorCSAgPGhhc2g+IDx0aXRsZSBsaW5lPgogKwogVGhpcyBpcyBkZXNpZ25lZCB0byBiZSBhcyBjb21wYWN0IGFzIHBvc3NpYmxlLgogCiAqICdzaG9ydCcKIAotCSAgY29tbWl0IDxzaGExPgorCSAgY29tbWl0IDxoYXNoPgogCSAgQXV0aG9yOiA8YXV0aG9yPgogCiAJICAgICAgPHRpdGxlIGxpbmU+CiAKICogJ21lZGl1bScKIAotCSAgY29tbWl0IDxzaGExPgorCSAgY29tbWl0IDxoYXNoPgogCSAgQXV0aG9yOiA8YXV0aG9yPgogCSAgRGF0ZTogICA8YXV0aG9yIGRhdGU+CiAKQEAgLTQzLDcgKzQzLDcgQEAKIAogKiAnZnVsbCcKIAotCSAgY29tbWl0IDxzaGExPgorCSAgY29tbWl0IDxoYXNoPgogCSAgQXV0aG9yOiA8YXV0aG9yPgogCSAgQ29tbWl0OiA8Y29tbWl0dGVyPgogCkBAIC01Myw3ICs1Myw3IEBACiAKICogJ2Z1bGxlcicKIAotCSAgY29tbWl0IDxzaGExPgorCSAgY29tbWl0IDxoYXNoPgogCSAgQXV0aG9yOiAgICAgPGF1dGhvcj4KIAkgIEF1dGhvckRhdGU6IDxhdXRob3IgZGF0ZT4KIAkgIENvbW1pdDogICAgIDxjb21taXR0ZXI+CkBAIC02Myw5ICs2MywyMCBAQAogCiAJICAgICAgIDxmdWxsIGNvbW1pdCBtZXNzYWdlPgogCisqICdyZWZlcmVuY2UnCisKKwkgIDxhYmJyZXYgaGFzaD4gKDx0aXRsZSBsaW5lPiwgPHNob3J0IGF1dGhvciBkYXRlPikKKysKK1RoaXMgZm9ybWF0IGlzIHVzZWQgdG8gcmVmZXIgdG8gYW5vdGhlciBjb21taXQgaW4gYSBjb21taXQgbWVzc2FnZSBhbmQKK2lzIHRoZSBzYW1lIGFzIGAtLXByZXR0eT0nZm9ybWF0OiVDKGF1dG8pJWggKCVzLCAlYWQpJ2AuICBCeSBkZWZhdWx0LAordGhlIGRhdGUgaXMgZm9ybWF0dGVkIHdpdGggYC0tZGF0ZT1zaG9ydGAgdW5sZXNzIGFub3RoZXIgYC0tZGF0ZWAgb3B0aW9uCitpcyBleHBsaWNpdGx5IHNwZWNpZmllZC4gIEFzIHdpdGggYW55IGBmb3JtYXQ6YCB3aXRoIGZvcm1hdAorcGxhY2Vob2xkZXJzLCBpdHMgb3V0cHV0IGlzIG5vdCBhZmZlY3RlZCBieSBvdGhlciBvcHRpb25zIGxpa2UKK2AtLWRlY29yYXRlYCBhbmQgYC0td2Fsay1yZWZsb2dzYC4KKwogKiAnZW1haWwnCiAKLQkgIEZyb20gPHNoYTE+IDxkYXRlPgorCSAgRnJvbSA8aGFzaD4gPGRhdGU+CiAJICBGcm9tOiA8YXV0aG9yPgogCSAgRGF0ZTogPGF1dGhvciBkYXRlPgogCSAgU3ViamVjdDogW1BBVENIXSA8dGl0bGUgbGluZT4KQEAgLTc1LDcgKzg2LDcgQEAKICogJ3JhdycKICsKIFRoZSAncmF3JyBmb3JtYXQgc2hvd3MgdGhlIGVudGlyZSBjb21taXQgZXhhY3RseSBhcwotc3RvcmVkIGluIHRoZSBjb21taXQgb2JqZWN0LiAgTm90YWJseSwgdGhlIFNIQS0xcyBhcmUKK3N0b3JlZCBpbiB0aGUgY29tbWl0IG9iamVjdC4gIE5vdGFibHksIHRoZSBoYXNoZXMgYXJlCiBkaXNwbGF5ZWQgaW4gZnVsbCwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIC0tYWJicmV2IG9yCiAtLW5vLWFiYnJldiBhcmUgdXNlZCwgYW5kICdwYXJlbnRzJyBpbmZvcm1hdGlvbiBzaG93IHRoZQogdHJ1ZSBwYXJlbnQgY29tbWl0cywgd2l0aG91dCB0YWtpbmcgZ3JhZnRzIG9yIGhpc3RvcnkKQEAgLTEwMiwxMTggKzExMywxNjkgQEAKICsKIFRoZSBwbGFjZWhvbGRlcnMgYXJlOgogCi0tICclSCc6IGNvbW1pdCBoYXNoCi0tICclaCc6IGFiYnJldmlhdGVkIGNvbW1pdCBoYXNoCi0tICclVCc6IHRyZWUgaGFzaAotLSAnJXQnOiBhYmJyZXZpYXRlZCB0cmVlIGhhc2gKLS0gJyVQJzogcGFyZW50IGhhc2hlcwotLSAnJXAnOiBhYmJyZXZpYXRlZCBwYXJlbnQgaGFzaGVzCi0tICclYW4nOiBhdXRob3IgbmFtZQotLSAnJWFOJzogYXV0aG9yIG5hbWUgKHJlc3BlY3RpbmcgLm1haWxtYXAsIHNlZSBsaW5rZ2l0OmdpdC1zaG9ydGxvZ1sxXQotICBvciBsaW5rZ2l0OmdpdC1ibGFtZVsxXSkKLS0gJyVhZSc6IGF1dGhvciBlbWFpbAotLSAnJWFFJzogYXV0aG9yIGVtYWlsIChyZXNwZWN0aW5nIC5tYWlsbWFwLCBzZWUKLSAgbGlua2dpdDpnaXQtc2hvcnRsb2dbMV0gb3IgbGlua2dpdDpnaXQtYmxhbWVbMV0pCi0tICclYWQnOiBhdXRob3IgZGF0ZSAoZm9ybWF0IHJlc3BlY3RzIC0tZGF0ZT0gb3B0aW9uKQotLSAnJWFEJzogYXV0aG9yIGRhdGUsIFJGQzI4MjIgc3R5bGUKLS0gJyVhcic6IGF1dGhvciBkYXRlLCByZWxhdGl2ZQotLSAnJWF0JzogYXV0aG9yIGRhdGUsIFVOSVggdGltZXN0YW1wCi0tICclYWknOiBhdXRob3IgZGF0ZSwgSVNPIDg2MDEtbGlrZSBmb3JtYXQKLS0gJyVhSSc6IGF1dGhvciBkYXRlLCBzdHJpY3QgSVNPIDg2MDEgZm9ybWF0Ci0tICclY24nOiBjb21taXR0ZXIgbmFtZQotLSAnJWNOJzogY29tbWl0dGVyIG5hbWUgKHJlc3BlY3RpbmcgLm1haWxtYXAsIHNlZQotICBsaW5rZ2l0OmdpdC1zaG9ydGxvZ1sxXSBvciBsaW5rZ2l0OmdpdC1ibGFtZVsxXSkKLS0gJyVjZSc6IGNvbW1pdHRlciBlbWFpbAotLSAnJWNFJzogY29tbWl0dGVyIGVtYWlsIChyZXNwZWN0aW5nIC5tYWlsbWFwLCBzZWUKLSAgbGlua2dpdDpnaXQtc2hvcnRsb2dbMV0gb3IgbGlua2dpdDpnaXQtYmxhbWVbMV0pCi0tICclY2QnOiBjb21taXR0ZXIgZGF0ZSAoZm9ybWF0IHJlc3BlY3RzIC0tZGF0ZT0gb3B0aW9uKQotLSAnJWNEJzogY29tbWl0dGVyIGRhdGUsIFJGQzI4MjIgc3R5bGUKLS0gJyVjcic6IGNvbW1pdHRlciBkYXRlLCByZWxhdGl2ZQotLSAnJWN0JzogY29tbWl0dGVyIGRhdGUsIFVOSVggdGltZXN0YW1wCi0tICclY2knOiBjb21taXR0ZXIgZGF0ZSwgSVNPIDg2MDEtbGlrZSBmb3JtYXQKLS0gJyVjSSc6IGNvbW1pdHRlciBkYXRlLCBzdHJpY3QgSVNPIDg2MDEgZm9ybWF0Ci0tICclZCc6IHJlZiBuYW1lcywgbGlrZSB0aGUgLS1kZWNvcmF0ZSBvcHRpb24gb2YgbGlua2dpdDpnaXQtbG9nWzFdCi0tICclRCc6IHJlZiBuYW1lcyB3aXRob3V0IHRoZSAiICgiLCAiKSIgd3JhcHBpbmcuCi0tICclZSc6IGVuY29kaW5nCi0tICclcyc6IHN1YmplY3QKLS0gJyVmJzogc2FuaXRpemVkIHN1YmplY3QgbGluZSwgc3VpdGFibGUgZm9yIGEgZmlsZW5hbWUKLS0gJyViJzogYm9keQotLSAnJUInOiByYXcgYm9keSAodW53cmFwcGVkIHN1YmplY3QgYW5kIGJvZHkpCistIFBsYWNlaG9sZGVycyB0aGF0IGV4cGFuZCB0byBhIHNpbmdsZSBsaXRlcmFsIGNoYXJhY3RlcjoKKyclbic6OiBuZXdsaW5lCisnJSUnOjogYSByYXcgJyUnCisnJXgwMCc6OiBwcmludCBhIGJ5dGUgZnJvbSBhIGhleCBjb2RlCisKKy0gUGxhY2Vob2xkZXJzIHRoYXQgYWZmZWN0IGZvcm1hdHRpbmcgb2YgbGF0ZXIgcGxhY2Vob2xkZXJzOgorJyVDcmVkJzo6IHN3aXRjaCBjb2xvciB0byByZWQKKyclQ2dyZWVuJzo6IHN3aXRjaCBjb2xvciB0byBncmVlbgorJyVDYmx1ZSc6OiBzd2l0Y2ggY29sb3IgdG8gYmx1ZQorJyVDcmVzZXQnOjogcmVzZXQgY29sb3IKKyclQyguLi4pJzo6IGNvbG9yIHNwZWNpZmljYXRpb24sIGFzIGRlc2NyaWJlZCB1bmRlciBWYWx1ZXMgaW4gdGhlCisJICAgICJDT05GSUdVUkFUSU9OIEZJTEUiIHNlY3Rpb24gb2YgbGlua2dpdDpnaXQtY29uZmlnWzFdLiAgQnkKKwkgICAgZGVmYXVsdCwgY29sb3JzIGFyZSBzaG93biBvbmx5IHdoZW4gZW5hYmxlZCBmb3IgbG9nIG91dHB1dAorCSAgICAoYnkgYGNvbG9yLmRpZmZgLCBgY29sb3IudWlgLCBvciBgLS1jb2xvcmAsIGFuZCByZXNwZWN0aW5nCisJICAgIHRoZSBgYXV0b2Agc2V0dGluZ3Mgb2YgdGhlIGZvcm1lciBpZiB3ZSBhcmUgZ29pbmcgdG8gYQorCSAgICB0ZXJtaW5hbCkuIGAlQyhhdXRvLC4uLilgIGlzIGFjY2VwdGVkIGFzIGEgaGlzdG9yaWNhbAorCSAgICBzeW5vbnltIGZvciB0aGUgZGVmYXVsdCAoZS5nLiwgYCVDKGF1dG8scmVkKWApLiBTcGVjaWZ5aW5nCisJICAgIGAlQyhhbHdheXMsLi4uKWAgd2lsbCBzaG93IHRoZSBjb2xvcnMgZXZlbiB3aGVuIGNvbG9yIGlzCisJICAgIG5vdCBvdGhlcndpc2UgZW5hYmxlZCAodGhvdWdoIGNvbnNpZGVyIGp1c3QgdXNpbmcKKwkgICAgYC0tY29sb3I9YWx3YXlzYCB0byBlbmFibGUgY29sb3IgZm9yIHRoZSB3aG9sZSBvdXRwdXQsCisJICAgIGluY2x1ZGluZyB0aGlzIGZvcm1hdCBhbmQgYW55dGhpbmcgZWxzZSBnaXQgbWlnaHQgY29sb3IpLgorCSAgICBgYXV0b2AgYWxvbmUgKGkuZS4gYCVDKGF1dG8pYCkgd2lsbCB0dXJuIG9uIGF1dG8gY29sb3JpbmcKKwkgICAgb24gdGhlIG5leHQgcGxhY2Vob2xkZXJzIHVudGlsIHRoZSBjb2xvciBpcyBzd2l0Y2hlZAorCSAgICBhZ2Fpbi4KKyclbSc6OiBsZWZ0IChgPGApLCByaWdodCAoYD5gKSBvciBib3VuZGFyeSAoYC1gKSBtYXJrCisnJXcoWzx3PlssPGkxPlssPGkyPl1dXSknOjogc3dpdGNoIGxpbmUgd3JhcHBpbmcsIGxpa2UgdGhlIC13IG9wdGlvbiBvZgorCQkJICAgIGxpbmtnaXQ6Z2l0LXNob3J0bG9nWzFdLgorJyU8KDxOPlssdHJ1bmN8bHRydW5jfG10cnVuY10pJzo6IG1ha2UgdGhlIG5leHQgcGxhY2Vob2xkZXIgdGFrZSBhdAorCQkJCSAgbGVhc3QgTiBjb2x1bW5zLCBwYWRkaW5nIHNwYWNlcyBvbgorCQkJCSAgdGhlIHJpZ2h0IGlmIG5lY2Vzc2FyeS4gIE9wdGlvbmFsbHkKKwkJCQkgIHRydW5jYXRlIGF0IHRoZSBiZWdpbm5pbmcgKGx0cnVuYyksCisJCQkJICB0aGUgbWlkZGxlIChtdHJ1bmMpIG9yIHRoZSBlbmQKKwkJCQkgICh0cnVuYykgaWYgdGhlIG91dHB1dCBpcyBsb25nZXIgdGhhbgorCQkJCSAgTiBjb2x1bW5zLiAgTm90ZSB0aGF0IHRydW5jYXRpbmcKKwkJCQkgIG9ubHkgd29ya3MgY29ycmVjdGx5IHdpdGggTiA+PSAyLgorJyU8fCg8Tj4pJzo6IG1ha2UgdGhlIG5leHQgcGxhY2Vob2xkZXIgdGFrZSBhdCBsZWFzdCB1bnRpbCBOdGgKKwkgICAgIGNvbHVtbnMsIHBhZGRpbmcgc3BhY2VzIG9uIHRoZSByaWdodCBpZiBuZWNlc3NhcnkKKyclPig8Tj4pJywgJyU+fCg8Tj4pJzo6IHNpbWlsYXIgdG8gJyU8KDxOPiknLCAnJTx8KDxOPiknIHJlc3BlY3RpdmVseSwKKwkJCWJ1dCBwYWRkaW5nIHNwYWNlcyBvbiB0aGUgbGVmdAorJyU+Pig8Tj4pJywgJyU+PnwoPE4+KSc6OiBzaW1pbGFyIHRvICclPig8Tj4pJywgJyU+fCg8Tj4pJworCQkJICByZXNwZWN0aXZlbHksIGV4Y2VwdCB0aGF0IGlmIHRoZSBuZXh0CisJCQkgIHBsYWNlaG9sZGVyIHRha2VzIG1vcmUgc3BhY2VzIHRoYW4gZ2l2ZW4gYW5kCisJCQkgIHRoZXJlIGFyZSBzcGFjZXMgb24gaXRzIGxlZnQsIHVzZSB0aG9zZQorCQkJICBzcGFjZXMKKyclPjwoPE4+KScsICclPjx8KDxOPiknOjogc2ltaWxhciB0byAnJTwoPE4+KScsICclPHwoPE4+KScKKwkJCSAgcmVzcGVjdGl2ZWx5LCBidXQgcGFkZGluZyBib3RoIHNpZGVzCisJCQkgIChpLmUuIHRoZSB0ZXh0IGlzIGNlbnRlcmVkKQorCistIFBsYWNlaG9sZGVycyB0aGF0IGV4cGFuZCB0byBpbmZvcm1hdGlvbiBleHRyYWN0ZWQgZnJvbSB0aGUgY29tbWl0OgorJyVIJzo6IGNvbW1pdCBoYXNoCisnJWgnOjogYWJicmV2aWF0ZWQgY29tbWl0IGhhc2gKKyclVCc6OiB0cmVlIGhhc2gKKycldCc6OiBhYmJyZXZpYXRlZCB0cmVlIGhhc2gKKyclUCc6OiBwYXJlbnQgaGFzaGVzCisnJXAnOjogYWJicmV2aWF0ZWQgcGFyZW50IGhhc2hlcworJyVhbic6OiBhdXRob3IgbmFtZQorJyVhTic6OiBhdXRob3IgbmFtZSAocmVzcGVjdGluZyAubWFpbG1hcCwgc2VlIGxpbmtnaXQ6Z2l0LXNob3J0bG9nWzFdCisJb3IgbGlua2dpdDpnaXQtYmxhbWVbMV0pCisnJWFlJzo6IGF1dGhvciBlbWFpbAorJyVhRSc6OiBhdXRob3IgZW1haWwgKHJlc3BlY3RpbmcgLm1haWxtYXAsIHNlZSBsaW5rZ2l0OmdpdC1zaG9ydGxvZ1sxXQorCW9yIGxpbmtnaXQ6Z2l0LWJsYW1lWzFdKQorJyVhbCc6OiBhdXRob3IgZW1haWwgbG9jYWwtcGFydCAodGhlIHBhcnQgYmVmb3JlIHRoZSAnQCcgc2lnbikKKyclYUwnOjogYXV0aG9yIGxvY2FsLXBhcnQgKHNlZSAnJWFsJykgcmVzcGVjdGluZyAubWFpbG1hcCwgc2VlCisJbGlua2dpdDpnaXQtc2hvcnRsb2dbMV0gb3IgbGlua2dpdDpnaXQtYmxhbWVbMV0pCisnJWFkJzo6IGF1dGhvciBkYXRlIChmb3JtYXQgcmVzcGVjdHMgLS1kYXRlPSBvcHRpb24pCisnJWFEJzo6IGF1dGhvciBkYXRlLCBSRkMyODIyIHN0eWxlCisnJWFyJzo6IGF1dGhvciBkYXRlLCByZWxhdGl2ZQorJyVhdCc6OiBhdXRob3IgZGF0ZSwgVU5JWCB0aW1lc3RhbXAKKyclYWknOjogYXV0aG9yIGRhdGUsIElTTyA4NjAxLWxpa2UgZm9ybWF0CisnJWFJJzo6IGF1dGhvciBkYXRlLCBzdHJpY3QgSVNPIDg2MDEgZm9ybWF0CisnJWFzJzo6IGF1dGhvciBkYXRlLCBzaG9ydCBmb3JtYXQgKGBZWVlZLU1NLUREYCkKKyclY24nOjogY29tbWl0dGVyIG5hbWUKKyclY04nOjogY29tbWl0dGVyIG5hbWUgKHJlc3BlY3RpbmcgLm1haWxtYXAsIHNlZQorCWxpbmtnaXQ6Z2l0LXNob3J0bG9nWzFdIG9yIGxpbmtnaXQ6Z2l0LWJsYW1lWzFdKQorJyVjZSc6OiBjb21taXR0ZXIgZW1haWwKKyclY0UnOjogY29tbWl0dGVyIGVtYWlsIChyZXNwZWN0aW5nIC5tYWlsbWFwLCBzZWUKKwlsaW5rZ2l0OmdpdC1zaG9ydGxvZ1sxXSBvciBsaW5rZ2l0OmdpdC1ibGFtZVsxXSkKKyclY2wnOjogYXV0aG9yIGVtYWlsIGxvY2FsLXBhcnQgKHRoZSBwYXJ0IGJlZm9yZSB0aGUgJ0AnIHNpZ24pCisnJWNMJzo6IGF1dGhvciBsb2NhbC1wYXJ0IChzZWUgJyVjbCcpIHJlc3BlY3RpbmcgLm1haWxtYXAsIHNlZQorCWxpbmtnaXQ6Z2l0LXNob3J0bG9nWzFdIG9yIGxpbmtnaXQ6Z2l0LWJsYW1lWzFdKQorJyVjZCc6OiBjb21taXR0ZXIgZGF0ZSAoZm9ybWF0IHJlc3BlY3RzIC0tZGF0ZT0gb3B0aW9uKQorJyVjRCc6OiBjb21taXR0ZXIgZGF0ZSwgUkZDMjgyMiBzdHlsZQorJyVjcic6OiBjb21taXR0ZXIgZGF0ZSwgcmVsYXRpdmUKKyclY3QnOjogY29tbWl0dGVyIGRhdGUsIFVOSVggdGltZXN0YW1wCisnJWNpJzo6IGNvbW1pdHRlciBkYXRlLCBJU08gODYwMS1saWtlIGZvcm1hdAorJyVjSSc6OiBjb21taXR0ZXIgZGF0ZSwgc3RyaWN0IElTTyA4NjAxIGZvcm1hdAorJyVjcyc6OiBjb21taXR0ZXIgZGF0ZSwgc2hvcnQgZm9ybWF0IChgWVlZWS1NTS1ERGApCisnJWQnOjogcmVmIG5hbWVzLCBsaWtlIHRoZSAtLWRlY29yYXRlIG9wdGlvbiBvZiBsaW5rZ2l0OmdpdC1sb2dbMV0KKyclRCc6OiByZWYgbmFtZXMgd2l0aG91dCB0aGUgIiAoIiwgIikiIHdyYXBwaW5nLgorJyVTJzo6IHJlZiBuYW1lIGdpdmVuIG9uIHRoZSBjb21tYW5kIGxpbmUgYnkgd2hpY2ggdGhlIGNvbW1pdCB3YXMgcmVhY2hlZAorICAgICAgIChsaWtlIGBnaXQgbG9nIC0tc291cmNlYCksIG9ubHkgd29ya3Mgd2l0aCBgZ2l0IGxvZ2AKKyclZSc6OiBlbmNvZGluZworJyVzJzo6IHN1YmplY3QKKyclZic6OiBzYW5pdGl6ZWQgc3ViamVjdCBsaW5lLCBzdWl0YWJsZSBmb3IgYSBmaWxlbmFtZQorJyViJzo6IGJvZHkKKyclQic6OiByYXcgYm9keSAodW53cmFwcGVkIHN1YmplY3QgYW5kIGJvZHkpCiBpZm5kZWY6OmdpdC1yZXYtbGlzdFtdCi0tICclTic6IGNvbW1pdCBub3RlcworJyVOJzo6IGNvbW1pdCBub3RlcwogZW5kaWY6OmdpdC1yZXYtbGlzdFtdCi0tICclR0cnOiByYXcgdmVyaWZpY2F0aW9uIG1lc3NhZ2UgZnJvbSBHUEcgZm9yIGEgc2lnbmVkIGNvbW1pdAotLSAnJUc/Jzogc2hvdyAiRyIgZm9yIGEgZ29vZCAodmFsaWQpIHNpZ25hdHVyZSwKLSAgIkIiIGZvciBhIGJhZCBzaWduYXR1cmUsCi0gICJVIiBmb3IgYSBnb29kIHNpZ25hdHVyZSB3aXRoIHVua25vd24gdmFsaWRpdHksCi0gICJYIiBmb3IgYSBnb29kIHNpZ25hdHVyZSB0aGF0IGhhcyBleHBpcmVkLAotICAiWSIgZm9yIGEgZ29vZCBzaWduYXR1cmUgbWFkZSBieSBhbiBleHBpcmVkIGtleSwKLSAgIlIiIGZvciBhIGdvb2Qgc2lnbmF0dXJlIG1hZGUgYnkgYSByZXZva2VkIGtleSwKLSAgIkUiIGlmIHRoZSBzaWduYXR1cmUgY2Fubm90IGJlIGNoZWNrZWQgKGUuZy4gbWlzc2luZyBrZXkpCi0gIGFuZCAiTiIgZm9yIG5vIHNpZ25hdHVyZQotLSAnJUdTJzogc2hvdyB0aGUgbmFtZSBvZiB0aGUgc2lnbmVyIGZvciBhIHNpZ25lZCBjb21taXQKLS0gJyVHSyc6IHNob3cgdGhlIGtleSB1c2VkIHRvIHNpZ24gYSBzaWduZWQgY29tbWl0Ci0tICclR0YnOiBzaG93IHRoZSBmaW5nZXJwcmludCBvZiB0aGUga2V5IHVzZWQgdG8gc2lnbiBhIHNpZ25lZCBjb21taXQKLS0gJyVHUCc6IHNob3cgdGhlIGZpbmdlcnByaW50IG9mIHRoZSBwcmltYXJ5IGtleSB3aG9zZSBzdWJrZXkgd2FzIHVzZWQKLSAgdG8gc2lnbiBhIHNpZ25lZCBjb21taXQKLS0gJyVnRCc6IHJlZmxvZyBzZWxlY3RvciwgZS5nLiwgYHJlZnMvc3Rhc2hAezF9YCBvcgotICBgcmVmcy9zdGFzaEB7MiBtaW51dGVzIGFnb2B9OyB0aGUgZm9ybWF0IGZvbGxvd3MgdGhlIHJ1bGVzIGRlc2NyaWJlZAotICBmb3IgdGhlIGAtZ2Agb3B0aW9uLiBUaGUgcG9ydGlvbiBiZWZvcmUgdGhlIGBAYCBpcyB0aGUgcmVmbmFtZSBhcwotICBnaXZlbiBvbiB0aGUgY29tbWFuZCBsaW5lIChzbyBgZ2l0IGxvZyAtZyByZWZzL2hlYWRzL21hc3RlcmAgd291bGQKLSAgeWllbGQgYHJlZnMvaGVhZHMvbWFzdGVyQHswfWApLgotLSAnJWdkJzogc2hvcnRlbmVkIHJlZmxvZyBzZWxlY3Rvcjsgc2FtZSBhcyBgJWdEYCwgYnV0IHRoZSByZWZuYW1lCi0gIHBvcnRpb24gaXMgc2hvcnRlbmVkIGZvciBodW1hbiByZWFkYWJpbGl0eSAoc28gYHJlZnMvaGVhZHMvbWFzdGVyYAotICBiZWNvbWVzIGp1c3QgYG1hc3RlcmApLgotLSAnJWduJzogcmVmbG9nIGlkZW50aXR5IG5hbWUKLS0gJyVnTic6IHJlZmxvZyBpZGVudGl0eSBuYW1lIChyZXNwZWN0aW5nIC5tYWlsbWFwLCBzZWUKLSAgbGlua2dpdDpnaXQtc2hvcnRsb2dbMV0gb3IgbGlua2dpdDpnaXQtYmxhbWVbMV0pCi0tICclZ2UnOiByZWZsb2cgaWRlbnRpdHkgZW1haWwKLS0gJyVnRSc6IHJlZmxvZyBpZGVudGl0eSBlbWFpbCAocmVzcGVjdGluZyAubWFpbG1hcCwgc2VlCi0gIGxpbmtnaXQ6Z2l0LXNob3J0bG9nWzFdIG9yIGxpbmtnaXQ6Z2l0LWJsYW1lWzFdKQotLSAnJWdzJzogcmVmbG9nIHN1YmplY3QKLS0gJyVDcmVkJzogc3dpdGNoIGNvbG9yIHRvIHJlZAotLSAnJUNncmVlbic6IHN3aXRjaCBjb2xvciB0byBncmVlbgotLSAnJUNibHVlJzogc3dpdGNoIGNvbG9yIHRvIGJsdWUKLS0gJyVDcmVzZXQnOiByZXNldCBjb2xvcgotLSAnJUMoLi4uKSc6IGNvbG9yIHNwZWNpZmljYXRpb24sIGFzIGRlc2NyaWJlZCB1bmRlciBWYWx1ZXMgaW4gdGhlCi0gICJDT05GSUdVUkFUSU9OIEZJTEUiIHNlY3Rpb24gb2YgbGlua2dpdDpnaXQtY29uZmlnWzFdLgotICBCeSBkZWZhdWx0LCBjb2xvcnMgYXJlIHNob3duIG9ubHkgd2hlbiBlbmFibGVkIGZvciBsb2cgb3V0cHV0IChieQotICBgY29sb3IuZGlmZmAsIGBjb2xvci51aWAsIG9yIGAtLWNvbG9yYCwgYW5kIHJlc3BlY3RpbmcgdGhlIGBhdXRvYAotICBzZXR0aW5ncyBvZiB0aGUgZm9ybWVyIGlmIHdlIGFyZSBnb2luZyB0byBhIHRlcm1pbmFsKS4gYCVDKGF1dG8sLi4uKWAKLSAgaXMgYWNjZXB0ZWQgYXMgYSBoaXN0b3JpY2FsIHN5bm9ueW0gZm9yIHRoZSBkZWZhdWx0IChlLmcuLAotICBgJUMoYXV0byxyZWQpYCkuIFNwZWNpZnlpbmcgYCVDKGFsd2F5cywuLi4pIHdpbGwgc2hvdyB0aGUgY29sb3JzCi0gIGV2ZW4gd2hlbiBjb2xvciBpcyBub3Qgb3RoZXJ3aXNlIGVuYWJsZWQgKHRob3VnaCBjb25zaWRlcgotICBqdXN0IHVzaW5nIGAtLWNvbG9yPWFsd2F5c2AgdG8gZW5hYmxlIGNvbG9yIGZvciB0aGUgd2hvbGUgb3V0cHV0LAotICBpbmNsdWRpbmcgdGhpcyBmb3JtYXQgYW5kIGFueXRoaW5nIGVsc2UgZ2l0IG1pZ2h0IGNvbG9yKS4gIGBhdXRvYAotICBhbG9uZSAoaS5lLiBgJUMoYXV0bylgKSB3aWxsIHR1cm4gb24gYXV0byBjb2xvcmluZyBvbiB0aGUgbmV4dAotICBwbGFjZWhvbGRlcnMgdW50aWwgdGhlIGNvbG9yIGlzIHN3aXRjaGVkIGFnYWluLgotLSAnJW0nOiBsZWZ0IChgPGApLCByaWdodCAoYD5gKSBvciBib3VuZGFyeSAoYC1gKSBtYXJrCi0tICclbic6IG5ld2xpbmUKLS0gJyUlJzogYSByYXcgJyUnCi0tICcleDAwJzogcHJpbnQgYSBieXRlIGZyb20gYSBoZXggY29kZQotLSAnJXcoWzx3PlssPGkxPlssPGkyPl1dXSknOiBzd2l0Y2ggbGluZSB3cmFwcGluZywgbGlrZSB0aGUgLXcgb3B0aW9uIG9mCi0gIGxpbmtnaXQ6Z2l0LXNob3J0bG9nWzFdLgotLSAnJTwoPE4+Wyx0cnVuY3xsdHJ1bmN8bXRydW5jXSknOiBtYWtlIHRoZSBuZXh0IHBsYWNlaG9sZGVyIHRha2UgYXQKLSAgbGVhc3QgTiBjb2x1bW5zLCBwYWRkaW5nIHNwYWNlcyBvbiB0aGUgcmlnaHQgaWYgbmVjZXNzYXJ5LgotICBPcHRpb25hbGx5IHRydW5jYXRlIGF0IHRoZSBiZWdpbm5pbmcgKGx0cnVuYyksIHRoZSBtaWRkbGUgKG10cnVuYykKLSAgb3IgdGhlIGVuZCAodHJ1bmMpIGlmIHRoZSBvdXRwdXQgaXMgbG9uZ2VyIHRoYW4gTiBjb2x1bW5zLgotICBOb3RlIHRoYXQgdHJ1bmNhdGluZyBvbmx5IHdvcmtzIGNvcnJlY3RseSB3aXRoIE4gPj0gMi4KLS0gJyU8fCg8Tj4pJzogbWFrZSB0aGUgbmV4dCBwbGFjZWhvbGRlciB0YWtlIGF0IGxlYXN0IHVudGlsIE50aAotICBjb2x1bW5zLCBwYWRkaW5nIHNwYWNlcyBvbiB0aGUgcmlnaHQgaWYgbmVjZXNzYXJ5Ci0tICclPig8Tj4pJywgJyU+fCg8Tj4pJzogc2ltaWxhciB0byAnJTwoPE4+KScsICclPHwoPE4+KScKLSAgcmVzcGVjdGl2ZWx5LCBidXQgcGFkZGluZyBzcGFjZXMgb24gdGhlIGxlZnQKLS0gJyU+Pig8Tj4pJywgJyU+PnwoPE4+KSc6IHNpbWlsYXIgdG8gJyU+KDxOPiknLCAnJT58KDxOPiknCi0gIHJlc3BlY3RpdmVseSwgZXhjZXB0IHRoYXQgaWYgdGhlIG5leHQgcGxhY2Vob2xkZXIgdGFrZXMgbW9yZSBzcGFjZXMKLSAgdGhhbiBnaXZlbiBhbmQgdGhlcmUgYXJlIHNwYWNlcyBvbiBpdHMgbGVmdCwgdXNlIHRob3NlIHNwYWNlcwotLSAnJT48KDxOPiknLCAnJT48fCg8Tj4pJzogc2ltaWxhciB0byAnJTwoPE4+KScsICclPHwoPE4+KScKLSAgcmVzcGVjdGl2ZWx5LCBidXQgcGFkZGluZyBib3RoIHNpZGVzIChpLmUuIHRoZSB0ZXh0IGlzIGNlbnRlcmVkKQotLSAlKHRyYWlsZXJzWzpvcHRpb25zXSk6IGRpc3BsYXkgdGhlIHRyYWlsZXJzIG9mIHRoZSBib2R5IGFzIGludGVycHJldGVkCi0gIGJ5IGxpbmtnaXQ6Z2l0LWludGVycHJldC10cmFpbGVyc1sxXS4gVGhlIGB0cmFpbGVyc2Agc3RyaW5nIG1heSBiZQotICBmb2xsb3dlZCBieSBhIGNvbG9uIGFuZCB6ZXJvIG9yIG1vcmUgY29tbWEtc2VwYXJhdGVkIG9wdGlvbnMuIElmIHRoZQotICBgb25seWAgb3B0aW9uIGlzIGdpdmVuLCBvbWl0IG5vbi10cmFpbGVyIGxpbmVzIGZyb20gdGhlIHRyYWlsZXIgYmxvY2suCi0gIElmIHRoZSBgdW5mb2xkYCBvcHRpb24gaXMgZ2l2ZW4sIGJlaGF2ZSBhcyBpZiBpbnRlcnByZXQtdHJhaWxlcidzCi0gIGAtLXVuZm9sZGAgb3B0aW9uIHdhcyBnaXZlbi4gIEUuZy4sIGAlKHRyYWlsZXJzOm9ubHksdW5mb2xkKWAgdG8gZG8KLSAgYm90aC4KKyclR0cnOjogcmF3IHZlcmlmaWNhdGlvbiBtZXNzYWdlIGZyb20gR1BHIGZvciBhIHNpZ25lZCBjb21taXQKKyclRz8nOjogc2hvdyAiRyIgZm9yIGEgZ29vZCAodmFsaWQpIHNpZ25hdHVyZSwKKwkiQiIgZm9yIGEgYmFkIHNpZ25hdHVyZSwKKwkiVSIgZm9yIGEgZ29vZCBzaWduYXR1cmUgd2l0aCB1bmtub3duIHZhbGlkaXR5LAorCSJYIiBmb3IgYSBnb29kIHNpZ25hdHVyZSB0aGF0IGhhcyBleHBpcmVkLAorCSJZIiBmb3IgYSBnb29kIHNpZ25hdHVyZSBtYWRlIGJ5IGFuIGV4cGlyZWQga2V5LAorCSJSIiBmb3IgYSBnb29kIHNpZ25hdHVyZSBtYWRlIGJ5IGEgcmV2b2tlZCBrZXksCisJIkUiIGlmIHRoZSBzaWduYXR1cmUgY2Fubm90IGJlIGNoZWNrZWQgKGUuZy4gbWlzc2luZyBrZXkpCisJYW5kICJOIiBmb3Igbm8gc2lnbmF0dXJlCisnJUdTJzo6IHNob3cgdGhlIG5hbWUgb2YgdGhlIHNpZ25lciBmb3IgYSBzaWduZWQgY29tbWl0CisnJUdLJzo6IHNob3cgdGhlIGtleSB1c2VkIHRvIHNpZ24gYSBzaWduZWQgY29tbWl0CisnJUdGJzo6IHNob3cgdGhlIGZpbmdlcnByaW50IG9mIHRoZSBrZXkgdXNlZCB0byBzaWduIGEgc2lnbmVkIGNvbW1pdAorJyVHUCc6OiBzaG93IHRoZSBmaW5nZXJwcmludCBvZiB0aGUgcHJpbWFyeSBrZXkgd2hvc2Ugc3Via2V5IHdhcyB1c2VkCisJdG8gc2lnbiBhIHNpZ25lZCBjb21taXQKKyclR1QnOjogc2hvdyB0aGUgdHJ1c3QgbGV2ZWwgZm9yIHRoZSBrZXkgdXNlZCB0byBzaWduIGEgc2lnbmVkIGNvbW1pdAorJyVnRCc6OiByZWZsb2cgc2VsZWN0b3IsIGUuZy4sIGByZWZzL3N0YXNoQHsxfWAgb3IgYHJlZnMvc3Rhc2hAezIKKwltaW51dGVzIGFnb31gOyB0aGUgZm9ybWF0IGZvbGxvd3MgdGhlIHJ1bGVzIGRlc2NyaWJlZCBmb3IgdGhlCisJYC1nYCBvcHRpb24uIFRoZSBwb3J0aW9uIGJlZm9yZSB0aGUgYEBgIGlzIHRoZSByZWZuYW1lIGFzCisJZ2l2ZW4gb24gdGhlIGNvbW1hbmQgbGluZSAoc28gYGdpdCBsb2cgLWcgcmVmcy9oZWFkcy9tYXN0ZXJgCisJd291bGQgeWllbGQgYHJlZnMvaGVhZHMvbWFzdGVyQHswfWApLgorJyVnZCc6OiBzaG9ydGVuZWQgcmVmbG9nIHNlbGVjdG9yOyBzYW1lIGFzIGAlZ0RgLCBidXQgdGhlIHJlZm5hbWUKKwlwb3J0aW9uIGlzIHNob3J0ZW5lZCBmb3IgaHVtYW4gcmVhZGFiaWxpdHkgKHNvCisJYHJlZnMvaGVhZHMvbWFzdGVyYCBiZWNvbWVzIGp1c3QgYG1hc3RlcmApLgorJyVnbic6OiByZWZsb2cgaWRlbnRpdHkgbmFtZQorJyVnTic6OiByZWZsb2cgaWRlbnRpdHkgbmFtZSAocmVzcGVjdGluZyAubWFpbG1hcCwgc2VlCisJbGlua2dpdDpnaXQtc2hvcnRsb2dbMV0gb3IgbGlua2dpdDpnaXQtYmxhbWVbMV0pCisnJWdlJzo6IHJlZmxvZyBpZGVudGl0eSBlbWFpbAorJyVnRSc6OiByZWZsb2cgaWRlbnRpdHkgZW1haWwgKHJlc3BlY3RpbmcgLm1haWxtYXAsIHNlZQorCWxpbmtnaXQ6Z2l0LXNob3J0bG9nWzFdIG9yIGxpbmtnaXQ6Z2l0LWJsYW1lWzFdKQorJyVncyc6OiByZWZsb2cgc3ViamVjdAorJyUodHJhaWxlcnNbOm9wdGlvbnNdKSc6OiBkaXNwbGF5IHRoZSB0cmFpbGVycyBvZiB0aGUgYm9keSBhcworCQkJICBpbnRlcnByZXRlZCBieQorCQkJICBsaW5rZ2l0OmdpdC1pbnRlcnByZXQtdHJhaWxlcnNbMV0uIFRoZQorCQkJICBgdHJhaWxlcnNgIHN0cmluZyBtYXkgYmUgZm9sbG93ZWQgYnkgYSBjb2xvbgorCQkJICBhbmQgemVybyBvciBtb3JlIGNvbW1hLXNlcGFyYXRlZCBvcHRpb25zOgorKiogJ2tleT08Sz4nOiBvbmx5IHNob3cgdHJhaWxlcnMgd2l0aCBzcGVjaWZpZWQga2V5LiBNYXRjaGluZyBpcyBkb25lCisgICBjYXNlLWluc2Vuc2l0aXZlbHkgYW5kIHRyYWlsaW5nIGNvbG9uIGlzIG9wdGlvbmFsLiBJZiBvcHRpb24gaXMKKyAgIGdpdmVuIG11bHRpcGxlIHRpbWVzIHRyYWlsZXIgbGluZXMgbWF0Y2hpbmcgYW55IG9mIHRoZSBrZXlzIGFyZQorICAgc2hvd24uIFRoaXMgb3B0aW9uIGF1dG9tYXRpY2FsbHkgZW5hYmxlcyB0aGUgYG9ubHlgIG9wdGlvbiBzbyB0aGF0CisgICBub24tdHJhaWxlciBsaW5lcyBpbiB0aGUgdHJhaWxlciBibG9jayBhcmUgaGlkZGVuLiBJZiB0aGF0IGlzIG5vdAorICAgZGVzaXJlZCBpdCBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgb25seT1mYWxzZWAuICBFLmcuLAorICAgYCUodHJhaWxlcnM6a2V5PVJldmlld2VkLWJ5KWAgc2hvd3MgdHJhaWxlciBsaW5lcyB3aXRoIGtleQorICAgYFJldmlld2VkLWJ5YC4KKyoqICdvbmx5Wz12YWxdJzogc2VsZWN0IHdoZXRoZXIgbm9uLXRyYWlsZXIgbGluZXMgZnJvbSB0aGUgdHJhaWxlcgorICAgYmxvY2sgc2hvdWxkIGJlIGluY2x1ZGVkLiBUaGUgYG9ubHlgIGtleXdvcmQgbWF5IG9wdGlvbmFsbHkgYmUKKyAgIGZvbGxvd2VkIGJ5IGFuIGVxdWFsIHNpZ24gYW5kIG9uZSBvZiBgdHJ1ZWAsIGBvbmAsIGB5ZXNgIHRvIG9taXQgb3IKKyAgIGBmYWxzZWAsIGBvZmZgLCBgbm9gIHRvIHNob3cgdGhlIG5vbi10cmFpbGVyIGxpbmVzLiBJZiBvcHRpb24gaXMKKyAgIGdpdmVuIHdpdGhvdXQgdmFsdWUgaXQgaXMgZW5hYmxlZC4gSWYgZ2l2ZW4gbXVsdGlwbGUgdGltZXMgdGhlIGxhc3QKKyAgIHZhbHVlIGlzIHVzZWQuCisqKiAnc2VwYXJhdG9yPTxTRVA+Jzogc3BlY2lmeSBhIHNlcGFyYXRvciBpbnNlcnRlZCBiZXR3ZWVuIHRyYWlsZXIKKyAgIGxpbmVzLiBXaGVuIHRoaXMgb3B0aW9uIGlzIG5vdCBnaXZlbiBlYWNoIHRyYWlsZXIgbGluZSBpcworICAgdGVybWluYXRlZCB3aXRoIGEgbGluZSBmZWVkIGNoYXJhY3Rlci4gVGhlIHN0cmluZyBTRVAgbWF5IGNvbnRhaW4KKyAgIHRoZSBsaXRlcmFsIGZvcm1hdHRpbmcgY29kZXMgZGVzY3JpYmVkIGFib3ZlLiBUbyB1c2UgY29tbWEgYXMKKyAgIHNlcGFyYXRvciBvbmUgbXVzdCB1c2UgYCV4MkNgIGFzIGl0IHdvdWxkIG90aGVyd2lzZSBiZSBwYXJzZWQgYXMKKyAgIG5leHQgb3B0aW9uLiBJZiBzZXBhcmF0b3Igb3B0aW9uIGlzIGdpdmVuIG11bHRpcGxlIHRpbWVzIG9ubHkgdGhlCisgICBsYXN0IG9uZSBpcyB1c2VkLiBFLmcuLCBgJSh0cmFpbGVyczprZXk9VGlja2V0LHNlcGFyYXRvcj0leDJDIClgCisgICBzaG93cyBhbGwgdHJhaWxlciBsaW5lcyB3aG9zZSBrZXkgaXMgIlRpY2tldCIgc2VwYXJhdGVkIGJ5IGEgY29tbWEKKyAgIGFuZCBhIHNwYWNlLgorKiogJ3VuZm9sZFs9dmFsXSc6IG1ha2UgaXQgYmVoYXZlIGFzIGlmIGludGVycHJldC10cmFpbGVyJ3MgYC0tdW5mb2xkYAorICAgb3B0aW9uIHdhcyBnaXZlbi4gSW4gc2FtZSB3YXkgYXMgdG8gZm9yIGBvbmx5YCBpdCBjYW4gYmUgZm9sbG93ZWQKKyAgIGJ5IGFuIGVxdWFsIHNpZ24gYW5kIGV4cGxpY2l0IHZhbHVlLiBFLmcuLAorICAgYCUodHJhaWxlcnM6b25seSx1bmZvbGQ9dHJ1ZSlgIHVuZm9sZHMgYW5kIHNob3dzIGFsbCB0cmFpbGVyIGxpbmVzLgorKiogJ3ZhbHVlb25seVs9dmFsXSc6IHNraXAgb3ZlciB0aGUga2V5IHBhcnQgb2YgdGhlIHRyYWlsZXIgbGluZSBhbmQgb25seQorICAgc2hvdyB0aGUgdmFsdWUgcGFydC4gQWxzbyB0aGlzIG9wdGlvbmFsbHkgYWxsb3dzIGV4cGxpY2l0IHZhbHVlLgogCiBOT1RFOiBTb21lIHBsYWNlaG9sZGVycyBtYXkgZGVwZW5kIG9uIG90aGVyIG9wdGlvbnMgZ2l2ZW4gdG8gdGhlCiByZXZpc2lvbiB0cmF2ZXJzYWwgZW5naW5lLiBGb3IgZXhhbXBsZSwgdGhlIGAlZypgIHJlZmxvZyBvcHRpb25zIHdpbGwKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcHJldHR5LW9wdGlvbnMudHh0IGIvRG9jdW1lbnRhdGlvbi9wcmV0dHktb3B0aW9ucy50eHQKaW5kZXggZTQ0ZmM4Zi4uN2E2ZGE2ZCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9wcmV0dHktb3B0aW9ucy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9wcmV0dHktb3B0aW9ucy50eHQKQEAgLTMsNyArMyw3IEBACiAKIAlQcmV0dHktcHJpbnQgdGhlIGNvbnRlbnRzIG9mIHRoZSBjb21taXQgbG9ncyBpbiBhIGdpdmVuIGZvcm1hdCwKIAl3aGVyZSAnPGZvcm1hdD4nIGNhbiBiZSBvbmUgb2YgJ29uZWxpbmUnLCAnc2hvcnQnLCAnbWVkaXVtJywKLQknZnVsbCcsICdmdWxsZXInLCAnZW1haWwnLCAncmF3JywgJ2Zvcm1hdDo8c3RyaW5nPicKKwknZnVsbCcsICdmdWxsZXInLCAncmVmZXJlbmNlJywgJ2VtYWlsJywgJ3JhdycsICdmb3JtYXQ6PHN0cmluZz4nCiAJYW5kICd0Zm9ybWF0OjxzdHJpbmc+Jy4gIFdoZW4gJzxmb3JtYXQ+JyBpcyBub25lIG9mIHRoZSBhYm92ZSwKIAlhbmQgaGFzICclcGxhY2Vob2xkZXInIGluIGl0LCBpdCBhY3RzIGFzIGlmCiAJJy0tcHJldHR5PXRmb3JtYXQ6PGZvcm1hdD4nIHdlcmUgZ2l2ZW4uCkBAIC01Nyw3ICs1Nyw3IEBACiBhbmQgJ2Z1bGxlcicpLgogCiBpZm5kZWY6OmdpdC1yZXYtbGlzdFtdCi0tLW5vdGVzWz08dHJlZWlzaD5dOjoKKy0tbm90ZXNbPTxyZWY+XTo6CiAJU2hvdyB0aGUgbm90ZXMgKHNlZSBsaW5rZ2l0OmdpdC1ub3Rlc1sxXSkgdGhhdCBhbm5vdGF0ZSB0aGUKIAljb21taXQsIHdoZW4gc2hvd2luZyB0aGUgY29tbWl0IGxvZyBtZXNzYWdlLiAgVGhpcyBpcyB0aGUgZGVmYXVsdAogCWZvciBgZ2l0IGxvZ2AsIGBnaXQgc2hvd2AgYW5kIGBnaXQgd2hhdGNoYW5nZWRgIGNvbW1hbmRzIHdoZW4KQEAgLTY4LDggKzY4LDggQEAKIGBjb3JlLm5vdGVzUmVmYCBhbmQgYG5vdGVzLmRpc3BsYXlSZWZgIHZhcmlhYmxlcyAob3IgY29ycmVzcG9uZGluZwogZW52aXJvbm1lbnQgb3ZlcnJpZGVzKS4gU2VlIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXSBmb3IgbW9yZSBkZXRhaWxzLgogKwotV2l0aCBhbiBvcHRpb25hbCAnPHRyZWVpc2g+JyBhcmd1bWVudCwgdXNlIHRoZSB0cmVlaXNoIHRvIGZpbmQgdGhlIG5vdGVzCi10byBkaXNwbGF5LiAgVGhlIHRyZWVpc2ggY2FuIHNwZWNpZnkgdGhlIGZ1bGwgcmVmbmFtZSB3aGVuIGl0IGJlZ2lucworV2l0aCBhbiBvcHRpb25hbCAnPHJlZj4nIGFyZ3VtZW50LCB1c2UgdGhlIHJlZiB0byBmaW5kIHRoZSBub3RlcwordG8gZGlzcGxheS4gIFRoZSByZWYgY2FuIHNwZWNpZnkgdGhlIGZ1bGwgcmVmbmFtZSB3aGVuIGl0IGJlZ2lucwogd2l0aCBgcmVmcy9ub3Rlcy9gOyB3aGVuIGl0IGJlZ2lucyB3aXRoIGBub3Rlcy9gLCBgcmVmcy9gIGFuZCBvdGhlcndpc2UKIGByZWZzL25vdGVzL2AgaXMgcHJlZml4ZWQgdG8gZm9ybSBhIGZ1bGwgbmFtZSBvZiB0aGUgcmVmLgogKwpAQCAtODUsNyArODUsNyBAQAogCSItLW5vdGVzIC0tbm90ZXM9Zm9vIC0tbm8tbm90ZXMgLS1ub3Rlcz1iYXIiIHdpbGwgb25seSBzaG93IG5vdGVzCiAJZnJvbSAicmVmcy9ub3Rlcy9iYXIiLgogCi0tLXNob3ctbm90ZXNbPTx0cmVlaXNoPl06OgorLS1zaG93LW5vdGVzWz08cmVmPl06OgogLS1bbm8tXXN0YW5kYXJkLW5vdGVzOjoKIAlUaGVzZSBvcHRpb25zIGFyZSBkZXByZWNhdGVkLiBVc2UgdGhlIGFib3ZlIC0tbm90ZXMvLS1uby1ub3RlcwogCW9wdGlvbnMgaW5zdGVhZC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmV2LWxpc3Qtb3B0aW9ucy50eHQgYi9Eb2N1bWVudGF0aW9uL3Jldi1saXN0LW9wdGlvbnMudHh0CmluZGV4IGJhYjVmNTAuLmJmZDAyYWQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vcmV2LWxpc3Qtb3B0aW9ucy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9yZXYtbGlzdC1vcHRpb25zLnR4dApAQCAtMTMsOCArMTMsNiBAQAogTm90ZSB0aGF0IHRoZXNlIGFyZSBhcHBsaWVkIGJlZm9yZSBjb21taXQKIG9yZGVyaW5nIGFuZCBmb3JtYXR0aW5nIG9wdGlvbnMsIHN1Y2ggYXMgYC0tcmV2ZXJzZWAuCiAKLS0tCi0KIC08bnVtYmVyPjo6CiAtbiA8bnVtYmVyPjo6CiAtLW1heC1jb3VudD08bnVtYmVyPjo6CkBAIC02MCw3ICs1OCw3IEBACiAJYC0tYWxsLW1hdGNoYCkuCiBpZm5kZWY6OmdpdC1yZXYtbGlzdFtdCiArCi1XaGVuIGAtLXNob3ctbm90ZXNgIGlzIGluIGVmZmVjdCwgdGhlIG1lc3NhZ2UgZnJvbSB0aGUgbm90ZXMgaXMKK1doZW4gYC0tbm90ZXNgIGlzIGluIGVmZmVjdCwgdGhlIG1lc3NhZ2UgZnJvbSB0aGUgbm90ZXMgaXMKIG1hdGNoZWQgYXMgaWYgaXQgd2VyZSBwYXJ0IG9mIHRoZSBsb2cgbWVzc2FnZS4KIGVuZGlmOjpnaXQtcmV2LWxpc3RbXQogCkBAIC0xODQsNiArMTgyLDE0IEBACiAJUHJldGVuZCBhcyBpZiBhbGwgb2JqZWN0cyBtZW50aW9uZWQgYnkgcmVmbG9ncyBhcmUgbGlzdGVkIG9uIHRoZQogCWNvbW1hbmQgbGluZSBhcyBgPGNvbW1pdD5gLgogCistLWFsdGVybmF0ZS1yZWZzOjoKKwlQcmV0ZW5kIGFzIGlmIGFsbCBvYmplY3RzIG1lbnRpb25lZCBhcyByZWYgdGlwcyBvZiBhbHRlcm5hdGUKKwlyZXBvc2l0b3JpZXMgd2VyZSBsaXN0ZWQgb24gdGhlIGNvbW1hbmQgbGluZS4gQW4gYWx0ZXJuYXRlCisJcmVwb3NpdG9yeSBpcyBhbnkgcmVwb3NpdG9yeSB3aG9zZSBvYmplY3QgZGlyZWN0b3J5IGlzIHNwZWNpZmllZAorCWluIGBvYmplY3RzL2luZm8vYWx0ZXJuYXRlc2AuICBUaGUgc2V0IG9mIGluY2x1ZGVkIG9iamVjdHMgbWF5CisJYmUgbW9kaWZpZWQgYnkgYGNvcmUuYWx0ZXJuYXRlUmVmc0NvbW1hbmRgLCBldGMuIFNlZQorCWxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXS4KKwogLS1zaW5nbGUtd29ya3RyZWU6OgogCUJ5IGRlZmF1bHQsIGFsbCB3b3JraW5nIHRyZWVzIHdpbGwgYmUgZXhhbWluZWQgYnkgdGhlCiAJZm9sbG93aW5nIG9wdGlvbnMgd2hlbiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSAoc2VlCkBAIC0yNjMsNyArMjY5LDcgQEAKIAlleGNsdWRlICh0aGF0IGlzLCAne2NhcmV0fWNvbW1pdCcsICdjb21taXQxLi5jb21taXQyJywKIAlhbmQgJ2NvbW1pdDFcLi4uY29tbWl0Micgbm90YXRpb25zIGNhbm5vdCBiZSB1c2VkKS4KICsKLVdpdGggYC0tcHJldHR5YCBmb3JtYXQgb3RoZXIgdGhhbiBgb25lbGluZWAgKGZvciBvYnZpb3VzIHJlYXNvbnMpLAorV2l0aCBgLS1wcmV0dHlgIGZvcm1hdCBvdGhlciB0aGFuIGBvbmVsaW5lYCBhbmQgYHJlZmVyZW5jZWAgKGZvciBvYnZpb3VzIHJlYXNvbnMpLAogdGhpcyBjYXVzZXMgdGhlIG91dHB1dCB0byBoYXZlIHR3byBleHRyYSBsaW5lcyBvZiBpbmZvcm1hdGlvbgogdGFrZW4gZnJvbSB0aGUgcmVmbG9nLiAgVGhlIHJlZmxvZyBkZXNpZ25hdG9yIGluIHRoZSBvdXRwdXQgbWF5IGJlIHNob3duCiBhcyBgcmVmQHtOdGh9YCAod2hlcmUgYE50aGAgaXMgdGhlIHJldmVyc2UtY2hyb25vbG9naWNhbCBpbmRleCBpbiB0aGUKQEAgLTI3MiwxMyArMjc4LDEzIEBACiArCiAtLQogMS4gSWYgdGhlIHN0YXJ0aW5nIHBvaW50IGlzIHNwZWNpZmllZCBhcyBgcmVmQHtOdGh9YCwgc2hvdyB0aGUgaW5kZXgKLWZvcm1hdC4KKyAgIGZvcm1hdC4KICsKIDIuIElmIHRoZSBzdGFydGluZyBwb2ludCB3YXMgc3BlY2lmaWVkIGFzIGByZWZAe25vd31gLCBzaG93IHRoZQotdGltZXN0YW1wIGZvcm1hdC4KKyAgIHRpbWVzdGFtcCBmb3JtYXQuCiArCiAzLiBJZiBuZWl0aGVyIHdhcyB1c2VkLCBidXQgYC0tZGF0ZWAgd2FzIGdpdmVuIG9uIHRoZSBjb21tYW5kIGxpbmUsIHNob3cKLXRoZSB0aW1lc3RhbXAgaW4gdGhlIGZvcm1hdCByZXF1ZXN0ZWQgYnkgYC0tZGF0ZWAuCisgICB0aGUgdGltZXN0YW1wIGluIHRoZSBmb3JtYXQgcmVxdWVzdGVkIGJ5IGAtLWRhdGVgLgogKwogNC4gT3RoZXJ3aXNlLCBzaG93IHRoZSBpbmRleCBmb3JtYXQuCiAtLQpAQCAtMjg3LDYgKzI5Myw4IEBACiBwcmVmaXhlZCB3aXRoIHRoaXMgaW5mb3JtYXRpb24gb24gdGhlIHNhbWUgbGluZS4KIFRoaXMgb3B0aW9uIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIGAtLXJldmVyc2VgLgogU2VlIGFsc28gbGlua2dpdDpnaXQtcmVmbG9nWzFdLgorKworVW5kZXIgYC0tcHJldHR5PXJlZmVyZW5jZWAsIHRoaXMgaW5mb3JtYXRpb24gd2lsbCBub3QgYmUgc2hvd24gYXQgYWxsLgogCiAtLW1lcmdlOjoKIAlBZnRlciBhIGZhaWxlZCBtZXJnZSwgc2hvdyByZWZzIHRoYXQgdG91Y2ggZmlsZXMgaGF2aW5nIGEKQEAgLTMwOCw4ICszMTYsNiBAQAogCWA8aGVhZGVyPmAgdGV4dCB3aWxsIGJlIHByaW50ZWQgd2l0aCBlYWNoIHByb2dyZXNzIHVwZGF0ZS4KIGVuZGlmOjpnaXQtcmV2LWxpc3RbXQogCi0tLQotCiBIaXN0b3J5IFNpbXBsaWZpY2F0aW9uCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAKQEAgLTU3NSw2ICs1ODEsNyBAQAogY29udGVudHMgb2YgdGhlIHBhdGhzIGdpdmVuIG9uIHRoZSBjb21tYW5kIGxpbmUuICBBbGwgb3RoZXIKIGNvbW1pdHMgYXJlIG1hcmtlZCBhcyBUUkVFU0FNRSAoc3ViamVjdCB0byBiZSBzaW1wbGlmaWVkIGF3YXkpLgogCitpZm5kZWY6OmdpdC1zaG9ydGxvZ1tdCiBpZmRlZjo6Z2l0LXJldi1saXN0W10KIEJpc2VjdGlvbiBIZWxwZXJzCiB+fn5+fn5+fn5+fn5+fn5+fgpAQCAtNjMwLDggKzYzNyw5IEBACiBhZnRlciBhbGwgdGhlIHNvcnRlZCBjb21taXQgb2JqZWN0cywgdGhlcmUgd2lsbCBiZSB0aGUgc2FtZSB0ZXh0IGFzIGlmCiBgLS1iaXNlY3QtdmFyc2AgaGFkIGJlZW4gdXNlZCBhbG9uZS4KIGVuZGlmOjpnaXQtcmV2LWxpc3RbXQorZW5kaWY6OmdpdC1zaG9ydGxvZ1tdCiAKLQoraWZuZGVmOjpnaXQtc2hvcnRsb2dbXQogQ29tbWl0IE9yZGVyaW5nCiB+fn5+fn5+fn5+fn5+fn4KIApAQCAtNjczLDcgKzY4MSw5IEBACiAJT3V0cHV0IHRoZSBjb21taXRzIGNob3NlbiB0byBiZSBzaG93biAoc2VlIENvbW1pdCBMaW1pdGluZwogCXNlY3Rpb24gYWJvdmUpIGluIHJldmVyc2Ugb3JkZXIuIENhbm5vdCBiZSBjb21iaW5lZCB3aXRoCiAJYC0td2Fsay1yZWZsb2dzYC4KK2VuZGlmOjpnaXQtc2hvcnRsb2dbXQogCitpZm5kZWY6OmdpdC1zaG9ydGxvZ1tdCiBPYmplY3QgVHJhdmVyc2FsCiB+fn5+fn5+fn5+fn5+fn5+CiAKQEAgLTcxMiw2ICs3MjIsMTYgQEAKIAlPbmx5IHVzZWZ1bCB3aXRoIGAtLW9iamVjdHNgOyBwcmludCB0aGUgb2JqZWN0IElEcyB0aGF0IGFyZSBub3QKIAlpbiBwYWNrcy4KIAorLS1vYmplY3QtbmFtZXM6OgorCU9ubHkgdXNlZnVsIHdpdGggYC0tb2JqZWN0c2A7IHByaW50IHRoZSBuYW1lcyBvZiB0aGUgb2JqZWN0IElEcworCXRoYXQgYXJlIGZvdW5kLiBUaGlzIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW9yLgorCistLW5vLW9iamVjdC1uYW1lczo6CisJT25seSB1c2VmdWwgd2l0aCBgLS1vYmplY3RzYDsgZG9lcyBub3QgcHJpbnQgdGhlIG5hbWVzIG9mIHRoZSBvYmplY3QKKwlJRHMgdGhhdCBhcmUgZm91bmQuIFRoaXMgaW52ZXJ0cyBgLS1vYmplY3QtbmFtZXNgLiBUaGlzIGZsYWcgYWxsb3dzCisJdGhlIG91dHB1dCB0byBiZSBtb3JlIGVhc2lseSBwYXJzZWQgYnkgY29tbWFuZHMgc3VjaCBhcworCWxpbmtnaXQ6Z2l0LWNhdC1maWxlWzFdLgorCiAtLWZpbHRlcj08ZmlsdGVyLXNwZWM+OjoKIAlPbmx5IHVzZWZ1bCB3aXRoIG9uZSBvZiB0aGUgYC0tb2JqZWN0cypgOyBvbWl0cyBvYmplY3RzICh1c3VhbGx5CiAJYmxvYnMpIGZyb20gdGhlIGxpc3Qgb2YgcHJpbnRlZCBvYmplY3RzLiAgVGhlICc8ZmlsdGVyLXNwZWM+JwpAQCAtNzI5LDIwICs3NDksNDIgQEAKIHRvIG9taXQgYmxvYnMgdGhhdCB3b3VsZCBub3QgYmUgbm90IHJlcXVpcmVkIGZvciBhIHNwYXJzZSBjaGVja291dCBvbgogdGhlIHJlcXVlc3RlZCByZWZzLgogKwotVGhlIGZvcm0gJy0tZmlsdGVyPXNwYXJzZTpwYXRoPTxwYXRoPicgc2ltaWxhcmx5IHVzZXMgYSBzcGFyc2UtY2hlY2tvdXQKLXNwZWNpZmljYXRpb24gY29udGFpbmVkIGluIDxwYXRoPi4KLSsKIFRoZSBmb3JtICctLWZpbHRlcj10cmVlOjxkZXB0aD4nIG9taXRzIGFsbCBibG9icyBhbmQgdHJlZXMgd2hvc2UgZGVwdGgKIGZyb20gdGhlIHJvb3QgdHJlZSBpcyA+PSA8ZGVwdGg+IChtaW5pbXVtIGRlcHRoIGlmIGFuIG9iamVjdCBpcyBsb2NhdGVkCi1hdCBtdWx0aXBsZSBkZXB0aHMgaW4gdGhlIGNvbW1pdHMgdHJhdmVyc2VkKS4gQ3VycmVudGx5LCBvbmx5IDxkZXB0aD49MAotaXMgc3VwcG9ydGVkLCB3aGljaCBvbWl0cyBhbGwgYmxvYnMgYW5kIHRyZWVzLgorYXQgbXVsdGlwbGUgZGVwdGhzIGluIHRoZSBjb21taXRzIHRyYXZlcnNlZCkuIDxkZXB0aD49MCB3aWxsIG5vdCBpbmNsdWRlCithbnkgdHJlZXMgb3IgYmxvYnMgdW5sZXNzIGluY2x1ZGVkIGV4cGxpY2l0bHkgaW4gdGhlIGNvbW1hbmQtbGluZSAob3IKK3N0YW5kYXJkIGlucHV0IHdoZW4gLS1zdGRpbiBpcyB1c2VkKS4gPGRlcHRoPj0xIHdpbGwgaW5jbHVkZSBvbmx5IHRoZQordHJlZSBhbmQgYmxvYnMgd2hpY2ggYXJlIHJlZmVyZW5jZWQgZGlyZWN0bHkgYnkgYSBjb21taXQgcmVhY2hhYmxlIGZyb20KKzxjb21taXQ+IG9yIGFuIGV4cGxpY2l0bHktZ2l2ZW4gb2JqZWN0LiA8ZGVwdGg+PTIgaXMgbGlrZSA8ZGVwdGg+PTEKK3doaWxlIGFsc28gaW5jbHVkaW5nIHRyZWVzIGFuZCBibG9icyBvbmUgbW9yZSBsZXZlbCByZW1vdmVkIGZyb20gYW4KK2V4cGxpY2l0bHktZ2l2ZW4gY29tbWl0IG9yIHRyZWUuCisrCitOb3RlIHRoYXQgdGhlIGZvcm0gJy0tZmlsdGVyPXNwYXJzZTpwYXRoPTxwYXRoPicgdGhhdCB3YW50cyB0byByZWFkCitmcm9tIGFuIGFyYml0cmFyeSBwYXRoIG9uIHRoZSBmaWxlc3lzdGVtIGhhcyBiZWVuIGRyb3BwZWQgZm9yIHNlY3VyaXR5CityZWFzb25zLgorKworTXVsdGlwbGUgJy0tZmlsdGVyPScgZmxhZ3MgY2FuIGJlIHNwZWNpZmllZCB0byBjb21iaW5lIGZpbHRlcnMuIE9ubHkKK29iamVjdHMgd2hpY2ggYXJlIGFjY2VwdGVkIGJ5IGV2ZXJ5IGZpbHRlciBhcmUgaW5jbHVkZWQuCisrCitUaGUgZm9ybSAnLS1maWx0ZXI9Y29tYmluZTo8ZmlsdGVyMT4rPGZpbHRlcjI+Ky4uLjxmaWx0ZXJOPicgY2FuIGFsc28gYmUKK3VzZWQgdG8gY29tYmluZWQgc2V2ZXJhbCBmaWx0ZXJzLCBidXQgdGhpcyBpcyBoYXJkZXIgdGhhbiBqdXN0IHJlcGVhdGluZwordGhlICctLWZpbHRlcicgZmxhZyBhbmQgaXMgdXN1YWxseSBub3QgbmVjZXNzYXJ5LiBGaWx0ZXJzIGFyZSBqb2luZWQgYnkKKyd7cGx1c30nIGFuZCBpbmRpdmlkdWFsIGZpbHRlcnMgYXJlICUtZW5jb2RlZCAoaS5lLiBVUkwtZW5jb2RlZCkuCitCZXNpZGVzIHRoZSAne3BsdXN9JyBhbmQgJyUnIGNoYXJhY3RlcnMsIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVycyBhcmUKK3Jlc2VydmVkIGFuZCBhbHNvIG11c3QgYmUgZW5jb2RlZDogYH4hQCMkXiYqKClbXXt9XDsiLDw+P2ArJiMzOTsmIzk2OysKK2FzIHdlbGwgYXMgYWxsIGNoYXJhY3RlcnMgd2l0aCBBU0NJSSBjb2RlICZsdDs9IGAweDIwYCwgd2hpY2ggaW5jbHVkZXMKK3NwYWNlIGFuZCBuZXdsaW5lLgorKworT3RoZXIgYXJiaXRyYXJ5IGNoYXJhY3RlcnMgY2FuIGFsc28gYmUgZW5jb2RlZC4gRm9yIGluc3RhbmNlLAorJ2NvbWJpbmU6dHJlZTozK2Jsb2I6bm9uZScgYW5kICdjb21iaW5lOnRyZWUlM0EzK2Jsb2IlM0Fub25lJyBhcmUKK2VxdWl2YWxlbnQuCiAKIC0tbm8tZmlsdGVyOjoKIAlUdXJuIG9mZiBhbnkgcHJldmlvdXMgYC0tZmlsdGVyPWAgYXJndW1lbnQuCiAKIC0tZmlsdGVyLXByaW50LW9taXR0ZWQ6OgogCU9ubHkgdXNlZnVsIHdpdGggYC0tZmlsdGVyPWA7IHByaW50cyBhIGxpc3Qgb2YgdGhlIG9iamVjdHMgb21pdHRlZAotCWJ5IHRoZSBmaWx0ZXIuCU9iamVjdCBJRHMgYXJlIHByZWZpeGVkIHdpdGggYSBgYH4nJyBjaGFyYWN0ZXIuCisJYnkgdGhlIGZpbHRlci4gIE9iamVjdCBJRHMgYXJlIHByZWZpeGVkIHdpdGggYSBgYH4nJyBjaGFyYWN0ZXIuCiAKIC0tbWlzc2luZz08bWlzc2luZy1hY3Rpb24+OjoKIAlBIGRlYnVnIG9wdGlvbiB0byBoZWxwIHdpdGggZnV0dXJlICJwYXJ0aWFsIGNsb25lIiBkZXZlbG9wbWVudC4KQEAgLTc4MSw3ICs4MjMsOSBAQAogCiAtLWRvLXdhbGs6OgogCU92ZXJyaWRlcyBhIHByZXZpb3VzIGAtLW5vLXdhbGtgLgorZW5kaWY6OmdpdC1zaG9ydGxvZ1tdCiAKK2lmbmRlZjo6Z2l0LXNob3J0bG9nW10KIENvbW1pdCBGb3JtYXR0aW5nCiB+fn5+fn5+fn5+fn5+fn5+fgogCkBAIC04MDQsMTIgKzg0OCwxMyBAQAogCWF1dGhvcidzKS4gSWYgYC1sb2NhbGAgaXMgYXBwZW5kZWQgdG8gdGhlIGZvcm1hdCAoZS5nLiwKIAlgaXNvLWxvY2FsYCksIHRoZSB1c2VyJ3MgbG9jYWwgdGltZSB6b25lIGlzIHVzZWQgaW5zdGVhZC4KICsKKy0tCiBgLS1kYXRlPXJlbGF0aXZlYCBzaG93cyBkYXRlcyByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB0aW1lLAogZS5nLiBgYDIgaG91cnMgYWdvJycuIFRoZSBgLWxvY2FsYCBvcHRpb24gaGFzIG5vIGVmZmVjdCBmb3IKIGAtLWRhdGU9cmVsYXRpdmVgLgotKworCiBgLS1kYXRlPWxvY2FsYCBpcyBhbiBhbGlhcyBmb3IgYC0tZGF0ZT1kZWZhdWx0LWxvY2FsYC4KLSsKKwogYC0tZGF0ZT1pc29gIChvciBgLS1kYXRlPWlzbzg2MDFgKSBzaG93cyB0aW1lc3RhbXBzIGluIGEgSVNPIDg2MDEtbGlrZSBmb3JtYXQuCiBUaGUgZGlmZmVyZW5jZXMgdG8gdGhlIHN0cmljdCBJU08gODYwMSBmb3JtYXQgYXJlOgogCkBAIC04MTcsMTUgKzg2MiwxNCBAQAogCS0gYSBzcGFjZSBiZXR3ZWVuIHRpbWUgYW5kIHRpbWUgem9uZQogCS0gbm8gY29sb24gYmV0d2VlbiBob3VycyBhbmQgbWludXRlcyBvZiB0aGUgdGltZSB6b25lCiAKLSsKIGAtLWRhdGU9aXNvLXN0cmljdGAgKG9yIGAtLWRhdGU9aXNvODYwMS1zdHJpY3RgKSBzaG93cyB0aW1lc3RhbXBzIGluIHN0cmljdAogSVNPIDg2MDEgZm9ybWF0LgotKworCiBgLS1kYXRlPXJmY2AgKG9yIGAtLWRhdGU9cmZjMjgyMmApIHNob3dzIHRpbWVzdGFtcHMgaW4gUkZDIDI4MjIKIGZvcm1hdCwgb2Z0ZW4gZm91bmQgaW4gZW1haWwgbWVzc2FnZXMuCi0rCisKIGAtLWRhdGU9c2hvcnRgIHNob3dzIG9ubHkgdGhlIGRhdGUsIGJ1dCBub3QgdGhlIHRpbWUsIGluIGBZWVlZLU1NLUREYCBmb3JtYXQuCi0rCisKIGAtLWRhdGU9cmF3YCBzaG93cyB0aGUgZGF0ZSBhcyBzZWNvbmRzIHNpbmNlIHRoZSBlcG9jaCAoMTk3MC0wMS0wMQogMDA6MDA6MDAgVVRDKSwgZm9sbG93ZWQgYnkgYSBzcGFjZSwgYW5kIHRoZW4gdGhlIHRpbWV6b25lIGFzIGFuIG9mZnNldAogZnJvbSBVVEMgKGEgYCtgIG9yIGAtYCB3aXRoIGZvdXIgZGlnaXRzOyB0aGUgZmlyc3QgdHdvIGFyZSBob3VycywgYW5kCkBAIC04MzQsMjEgKzg3OCwyOCBAQAogTm90ZSB0aGF0IHRoZSBgLWxvY2FsYCBvcHRpb24gZG9lcyBub3QgYWZmZWN0IHRoZSBzZWNvbmRzLXNpbmNlLWVwb2NoCiB2YWx1ZSAod2hpY2ggaXMgYWx3YXlzIG1lYXN1cmVkIGluIFVUQyksIGJ1dCBkb2VzIHN3aXRjaCB0aGUgYWNjb21wYW55aW5nCiB0aW1lem9uZSB2YWx1ZS4KLSsKKworYC0tZGF0ZT1odW1hbmAgc2hvd3MgdGhlIHRpbWV6b25lIGlmIHRoZSB0aW1lem9uZSBkb2VzIG5vdCBtYXRjaCB0aGUKK2N1cnJlbnQgdGltZS16b25lLCBhbmQgZG9lc24ndCBwcmludCB0aGUgd2hvbGUgZGF0ZSBpZiB0aGF0IG1hdGNoZXMKKyhpZSBza2lwIHByaW50aW5nIHllYXIgZm9yIGRhdGVzIHRoYXQgYXJlICJ0aGlzIHllYXIiLCBidXQgYWxzbyBza2lwCit0aGUgd2hvbGUgZGF0ZSBpdHNlbGYgaWYgaXQncyBpbiB0aGUgbGFzdCBmZXcgZGF5cyBhbmQgd2UgY2FuIGp1c3Qgc2F5Cit3aGF0IHdlZWtkYXkgaXQgd2FzKS4gIEZvciBvbGRlciBkYXRlcyB0aGUgaG91ciBhbmQgbWludXRlIGlzIGFsc28KK29taXR0ZWQuCisKIGAtLWRhdGU9dW5peGAgc2hvd3MgdGhlIGRhdGUgYXMgYSBVbml4IGVwb2NoIHRpbWVzdGFtcCAoc2Vjb25kcyBzaW5jZQogMTk3MCkuICBBcyB3aXRoIGAtLXJhd2AsIHRoaXMgaXMgYWx3YXlzIGluIFVUQyBhbmQgdGhlcmVmb3JlIGAtbG9jYWxgCiBoYXMgbm8gZWZmZWN0LgotKworCiBgLS1kYXRlPWZvcm1hdDouLi5gIGZlZWRzIHRoZSBmb3JtYXQgYC4uLmAgdG8geW91ciBzeXN0ZW0gYHN0cmZ0aW1lYCwKIGV4Y2VwdCBmb3IgJXogYW5kICVaLCB3aGljaCBhcmUgaGFuZGxlZCBpbnRlcm5hbGx5LgogVXNlIGAtLWRhdGU9Zm9ybWF0OiVjYCB0byBzaG93IHRoZSBkYXRlIGluIHlvdXIgc3lzdGVtIGxvY2FsZSdzCiBwcmVmZXJyZWQgZm9ybWF0LiAgU2VlIHRoZSBgc3RyZnRpbWVgIG1hbnVhbCBmb3IgYSBjb21wbGV0ZSBsaXN0IG9mCiBmb3JtYXQgcGxhY2Vob2xkZXJzLiBXaGVuIHVzaW5nIGAtbG9jYWxgLCB0aGUgY29ycmVjdCBzeW50YXggaXMKIGAtLWRhdGU9Zm9ybWF0LWxvY2FsOi4uLmAuCi0rCisKIGAtLWRhdGU9ZGVmYXVsdGAgaXMgdGhlIGRlZmF1bHQgZm9ybWF0LCBhbmQgaXMgc2ltaWxhciB0bwogYC0tZGF0ZT1yZmMyODIyYCwgd2l0aCBhIGZldyBleGNlcHRpb25zOgotCistLQogCS0gdGhlcmUgaXMgbm8gY29tbWEgYWZ0ZXIgdGhlIGRheS1vZi13ZWVrCiAKIAktIHRoZSB0aW1lIHpvbmUgaXMgb21pdHRlZCB3aGVuIHRoZSBsb2NhbCB0aW1lIHpvbmUgaXMgdXNlZApAQCAtOTMwLDcgKzk4MSw5IEBACiAJY291bnRzIGFuZCBwcmludCB0aGUgY291bnQgZm9yIGVxdWl2YWxlbnQgY29tbWl0cyBzZXBhcmF0ZWQKIAlieSBhIHRhYi4KIGVuZGlmOjpnaXQtcmV2LWxpc3RbXQorZW5kaWY6OmdpdC1zaG9ydGxvZ1tdCiAKK2lmbmRlZjo6Z2l0LXNob3J0bG9nW10KIGlmbmRlZjo6Z2l0LXJldi1saXN0W10KIERpZmYgRm9ybWF0dGluZwogfn5+fn5+fn5+fn5+fn5+CkBAIC05NTIsNiArMTAwNSwxMyBAQAogCXRoZSBwYXJlbnRzIGhhdmUgb25seSB0d28gdmFyaWFudHMgYW5kIHRoZSBtZXJnZSByZXN1bHQgcGlja3MKIAlvbmUgb2YgdGhlbSB3aXRob3V0IG1vZGlmaWNhdGlvbi4KIAorLS1jb21iaW5lZC1hbGwtcGF0aHM6OgorCVRoaXMgZmxhZyBjYXVzZXMgY29tYmluZWQgZGlmZnMgKHVzZWQgZm9yIG1lcmdlIGNvbW1pdHMpIHRvCisJbGlzdCB0aGUgbmFtZSBvZiB0aGUgZmlsZSBmcm9tIGFsbCBwYXJlbnRzLiAgSXQgdGh1cyBvbmx5IGhhcworCWVmZmVjdCB3aGVuIC1jIG9yIC0tY2MgYXJlIHNwZWNpZmllZCwgYW5kIGlzIGxpa2VseSBvbmx5CisJdXNlZnVsIGlmIGZpbGVuYW1lIGNoYW5nZXMgYXJlIGRldGVjdGVkIChpLmUuIHdoZW4gZWl0aGVyCisJcmVuYW1lIG9yIGNvcHkgZGV0ZWN0aW9uIGhhdmUgYmVlbiByZXF1ZXN0ZWQpLgorCiAtbTo6CiAJVGhpcyBmbGFnIG1ha2VzIHRoZSBtZXJnZSBjb21taXRzIHNob3cgdGhlIGZ1bGwgZGlmZiBsaWtlCiAJcmVndWxhciBjb21taXRzOyBmb3IgZWFjaCBtZXJnZSBwYXJlbnQsIGEgc2VwYXJhdGUgbG9nIGVudHJ5CkBAIC05NjYsMyArMTAyNiw0IEBACiAtdDo6CiAJU2hvdyB0aGUgdHJlZSBvYmplY3RzIGluIHRoZSBkaWZmIG91dHB1dC4gVGhpcyBpbXBsaWVzIGAtcmAuCiBlbmRpZjo6Z2l0LXJldi1saXN0W10KK2VuZGlmOjpnaXQtc2hvcnRsb2dbXQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9yZXZpc2lvbnMudHh0IGIvRG9jdW1lbnRhdGlvbi9yZXZpc2lvbnMudHh0CmluZGV4IDcyZGFhMjAuLjk3Zjk5NWUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vcmV2aXNpb25zLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3JldmlzaW9ucy50eHQKQEAgLTU4LDE0ICs1OCwxNCBAQAogd2hlbiB5b3UgcnVuIGBnaXQgY2hlcnJ5LXBpY2tgLgogKwogTm90ZSB0aGF0IGFueSBvZiB0aGUgJ3JlZnMvKicgY2FzZXMgYWJvdmUgbWF5IGNvbWUgZWl0aGVyIGZyb20KLXRoZSAnJEdJVF9ESVIvcmVmcycgZGlyZWN0b3J5IG9yIGZyb20gdGhlICckR0lUX0RJUi9wYWNrZWQtcmVmcycgZmlsZS4KK3RoZSBgJEdJVF9ESVIvcmVmc2AgZGlyZWN0b3J5IG9yIGZyb20gdGhlIGAkR0lUX0RJUi9wYWNrZWQtcmVmc2AgZmlsZS4KIFdoaWxlIHRoZSByZWYgbmFtZSBlbmNvZGluZyBpcyB1bnNwZWNpZmllZCwgVVRGLTggaXMgcHJlZmVycmVkIGFzCiBzb21lIG91dHB1dCBwcm9jZXNzaW5nIG1heSBhc3N1bWUgcmVmIG5hbWVzIGluIFVURi04LgogCiAnQCc6OgogICAnQCcgYWxvbmUgaXMgYSBzaG9ydGN1dCBmb3IgYEhFQURgLgogCi0nPHJlZm5hbWU+QHs8ZGF0ZT59JywgZS5nLiAnbWFzdGVyQFx7eWVzdGVyZGF5XH0nLCAnSEVBREB7NSBtaW51dGVzIGFnb30nOjoKKydbPHJlZm5hbWU+XUB7PGRhdGU+fScsIGUuZy4gJ21hc3RlckBce3llc3RlcmRheVx9JywgJ0hFQURAezUgbWludXRlcyBhZ299Jzo6CiAgIEEgcmVmIGZvbGxvd2VkIGJ5IHRoZSBzdWZmaXggJ0AnIHdpdGggYSBkYXRlIHNwZWNpZmljYXRpb24KICAgZW5jbG9zZWQgaW4gYSBicmFjZQogICBwYWlyIChlLmcuICdce3llc3RlcmRheVx9JywgJ3sxIG1vbnRoIDIgd2Vla3MgMyBkYXlzIDEgaG91ciAxCkBAIC05NSw3ICs5NSw3IEBACiAgIFRoZSBjb25zdHJ1Y3QgJ0B7LTxuPn0nIG1lYW5zIHRoZSA8bj50aCBicmFuY2gvY29tbWl0IGNoZWNrZWQgb3V0CiAgIGJlZm9yZSB0aGUgY3VycmVudCBvbmUuCiAKLSc8YnJhbmNobmFtZT5AXHt1cHN0cmVhbVx9JywgZS5nLiAnbWFzdGVyQFx7dXBzdHJlYW1cfScsICdAXHt1XH0nOjoKKydbPGJyYW5jaG5hbWU+XUBce3Vwc3RyZWFtXH0nLCBlLmcuICdtYXN0ZXJAXHt1cHN0cmVhbVx9JywgJ0Bce3VcfSc6OgogICBUaGUgc3VmZml4ICdAXHt1cHN0cmVhbVx9JyB0byBhIGJyYW5jaG5hbWUgKHNob3J0IGZvcm0gJzxicmFuY2huYW1lPkBce3VcfScpCiAgIHJlZmVycyB0byB0aGUgYnJhbmNoIHRoYXQgdGhlIGJyYW5jaCBzcGVjaWZpZWQgYnkgYnJhbmNobmFtZSBpcyBzZXQgdG8gYnVpbGQgb24KICAgdG9wIG9mIChjb25maWd1cmVkIHdpdGggYGJyYW5jaC48bmFtZT4ucmVtb3RlYCBhbmQKQEAgLTEwMywxOSArMTAzLDE5IEBACiAgIGN1cnJlbnQgb25lLiBUaGVzZSBzdWZmaXhlcyBhcmUgYWxzbyBhY2NlcHRlZCB3aGVuIHNwZWxsZWQgaW4gdXBwZXJjYXNlLCBhbmQKICAgdGhleSBtZWFuIHRoZSBzYW1lIHRoaW5nIG5vIG1hdHRlciB0aGUgY2FzZS4KIAotJzxicmFuY2huYW1lPkBce3B1c2hcfScsIGUuZy4gJ21hc3RlckBce3B1c2hcfScsICdAXHtwdXNoXH0nOjoKKydbPGJyYW5jaG5hbWU+XUBce3B1c2hcfScsIGUuZy4gJ21hc3RlckBce3B1c2hcfScsICdAXHtwdXNoXH0nOjoKICAgVGhlIHN1ZmZpeCAnQFx7cHVzaH0nIHJlcG9ydHMgdGhlIGJyYW5jaCAid2hlcmUgd2Ugd291bGQgcHVzaCB0byIgaWYKICAgYGdpdCBwdXNoYCB3ZXJlIHJ1biB3aGlsZSBgYnJhbmNobmFtZWAgd2FzIGNoZWNrZWQgb3V0IChvciB0aGUgY3VycmVudAogICBgSEVBRGAgaWYgbm8gYnJhbmNobmFtZSBpcyBzcGVjaWZpZWQpLiBTaW5jZSBvdXIgcHVzaCBkZXN0aW5hdGlvbiBpcwogICBpbiBhIHJlbW90ZSByZXBvc2l0b3J5LCBvZiBjb3Vyc2UsIHdlIHJlcG9ydCB0aGUgbG9jYWwgdHJhY2tpbmcgYnJhbmNoCi0gIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhhdCBicmFuY2ggKGkuZS4sIHNvbWV0aGluZyBpbiAncmVmcy9yZW1vdGVzLycpLgorICB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoYXQgYnJhbmNoIChpLmUuLCBzb21ldGhpbmcgaW4gYHJlZnMvcmVtb3Rlcy9gKS4KICsKIEhlcmUncyBhbiBleGFtcGxlIHRvIG1ha2UgaXQgbW9yZSBjbGVhcjoKICsKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogJCBnaXQgY29uZmlnIHB1c2guZGVmYXVsdCBjdXJyZW50CiAkIGdpdCBjb25maWcgcmVtb3RlLnB1c2hkZWZhdWx0IG15Zm9yawotJCBnaXQgY2hlY2tvdXQgLWIgbXlicmFuY2ggb3JpZ2luL21hc3RlcgorJCBnaXQgc3dpdGNoIC1jIG15YnJhbmNoIG9yaWdpbi9tYXN0ZXIKIAogJCBnaXQgcmV2LXBhcnNlIC0tc3ltYm9saWMtZnVsbC1uYW1lIEB7dXBzdHJlYW19CiByZWZzL3JlbW90ZXMvb3JpZ2luL21hc3RlcgpAQCAtMTMxLDcgKzEzMSw3IEBACiBUaGlzIHN1ZmZpeCBpcyBhbHNvIGFjY2VwdGVkIHdoZW4gc3BlbGxlZCBpbiB1cHBlcmNhc2UsIGFuZCBtZWFucyB0aGUgc2FtZQogdGhpbmcgbm8gbWF0dGVyIHRoZSBjYXNlLgogCi0nPHJldj57Y2FyZXR9JywgZS5nLiAnSEVBRHtjYXJldH0sIHYxLjUuMXtjYXJldH0wJzo6CisnPHJldj57Y2FyZXR9WzxuPl0nLCBlLmcuICdIRUFEe2NhcmV0fSwgdjEuNS4xe2NhcmV0fTAnOjoKICAgQSBzdWZmaXggJ3tjYXJldH0nIHRvIGEgcmV2aXNpb24gcGFyYW1ldGVyIG1lYW5zIHRoZSBmaXJzdCBwYXJlbnQgb2YKICAgdGhhdCBjb21taXQgb2JqZWN0LiAgJ3tjYXJldH08bj4nIG1lYW5zIHRoZSA8bj50aCBwYXJlbnQgKGkuZS4KICAgJzxyZXY+e2NhcmV0fScKQEAgLTEzOSw3ICsxMzksOSBAQAogICAnPHJldj57Y2FyZXR9MCcgbWVhbnMgdGhlIGNvbW1pdCBpdHNlbGYgYW5kIGlzIHVzZWQgd2hlbiAnPHJldj4nIGlzIHRoZQogICBvYmplY3QgbmFtZSBvZiBhIHRhZyBvYmplY3QgdGhhdCByZWZlcnMgdG8gYSBjb21taXQgb2JqZWN0LgogCi0nPHJldj57dGlsZGV9PG4+JywgZS5nLiAnbWFzdGVye3RpbGRlfTMnOjoKKyc8cmV2Pnt0aWxkZX1bPG4+XScsIGUuZy4gJ0hFQUR7dGlsZGV9LCBtYXN0ZXJ7dGlsZGV9Myc6OgorICBBIHN1ZmZpeCAne3RpbGRlfScgdG8gYSByZXZpc2lvbiBwYXJhbWV0ZXIgbWVhbnMgdGhlIGZpcnN0IHBhcmVudCBvZgorICB0aGF0IGNvbW1pdCBvYmplY3QuCiAgIEEgc3VmZml4ICd7dGlsZGV9PG4+JyB0byBhIHJldmlzaW9uIHBhcmFtZXRlciBtZWFucyB0aGUgY29tbWl0CiAgIG9iamVjdCB0aGF0IGlzIHRoZSA8bj50aCBnZW5lcmF0aW9uIGFuY2VzdG9yIG9mIHRoZSBuYW1lZAogICBjb21taXQgb2JqZWN0LCBmb2xsb3dpbmcgb25seSB0aGUgZmlyc3QgcGFyZW50cy4gIEkuZS4gJzxyZXY+e3RpbGRlfTMnIGlzCkBAIC0xNTksMTIgKzE2MSwxMiBAQAogICAnPHJldj57Y2FyZXR9MCcKICAgaXMgYSBzaG9ydC1oYW5kIGZvciAnPHJldj57Y2FyZXR9XHtjb21taXRcfScuCiArCi0ncmV2e2NhcmV0fVx7b2JqZWN0XH0nIGNhbiBiZSB1c2VkIHRvIG1ha2Ugc3VyZSAncmV2JyBuYW1lcyBhbgotb2JqZWN0IHRoYXQgZXhpc3RzLCB3aXRob3V0IHJlcXVpcmluZyAncmV2JyB0byBiZSBhIHRhZywgYW5kCi13aXRob3V0IGRlcmVmZXJlbmNpbmcgJ3Jldic7IGJlY2F1c2UgYSB0YWcgaXMgYWxyZWFkeSBhbiBvYmplY3QsCisnPHJldj57Y2FyZXR9XHtvYmplY3RcfScgY2FuIGJlIHVzZWQgdG8gbWFrZSBzdXJlICc8cmV2PicgbmFtZXMgYW4KK29iamVjdCB0aGF0IGV4aXN0cywgd2l0aG91dCByZXF1aXJpbmcgJzxyZXY+JyB0byBiZSBhIHRhZywgYW5kCit3aXRob3V0IGRlcmVmZXJlbmNpbmcgJzxyZXY+JzsgYmVjYXVzZSBhIHRhZyBpcyBhbHJlYWR5IGFuIG9iamVjdCwKIGl0IGRvZXMgbm90IGhhdmUgdG8gYmUgZGVyZWZlcmVuY2VkIGV2ZW4gb25jZSB0byBnZXQgdG8gYW4gb2JqZWN0LgogKwotJ3JldntjYXJldH1ce3RhZ1x9JyBjYW4gYmUgdXNlZCB0byBlbnN1cmUgdGhhdCAncmV2JyBpZGVudGlmaWVzIGFuCisnPHJldj57Y2FyZXR9XHt0YWdcfScgY2FuIGJlIHVzZWQgdG8gZW5zdXJlIHRoYXQgJzxyZXY+JyBpZGVudGlmaWVzIGFuCiBleGlzdGluZyB0YWcgb2JqZWN0LgogCiAnPHJldj57Y2FyZXR9e30nLCBlLmcuICd2MC45OS44e2NhcmV0fXt9Jzo6CkBAIC0xOTQsMTkgKzE5NiwxNiBAQAogICBEZXBlbmRpbmcgb24gdGhlIGdpdmVuIHRleHQsIHRoZSBzaGVsbCdzIHdvcmQgc3BsaXR0aW5nIHJ1bGVzIG1pZ2h0CiAgIHJlcXVpcmUgYWRkaXRpb25hbCBxdW90aW5nLgogCi0nPHJldj46PHBhdGg+JywgZS5nLiAnSEVBRDpSRUFETUUnLCAnOlJFQURNRScsICdtYXN0ZXI6Li9SRUFETUUnOjoKKyc8cmV2Pjo8cGF0aD4nLCBlLmcuICdIRUFEOlJFQURNRScsICdtYXN0ZXI6Li9SRUFETUUnOjoKICAgQSBzdWZmaXggJzonIGZvbGxvd2VkIGJ5IGEgcGF0aCBuYW1lcyB0aGUgYmxvYiBvciB0cmVlCiAgIGF0IHRoZSBnaXZlbiBwYXRoIGluIHRoZSB0cmVlLWlzaCBvYmplY3QgbmFtZWQgYnkgdGhlIHBhcnQKICAgYmVmb3JlIHRoZSBjb2xvbi4KLSAgJzpwYXRoJyAod2l0aCBhbiBlbXB0eSBwYXJ0IGJlZm9yZSB0aGUgY29sb24pCi0gIGlzIGEgc3BlY2lhbCBjYXNlIG9mIHRoZSBzeW50YXggZGVzY3JpYmVkIG5leHQ6IGNvbnRlbnQKLSAgcmVjb3JkZWQgaW4gdGhlIGluZGV4IGF0IHRoZSBnaXZlbiBwYXRoLgogICBBIHBhdGggc3RhcnRpbmcgd2l0aCAnLi8nIG9yICcuLi8nIGlzIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LgogICBUaGUgZ2l2ZW4gcGF0aCB3aWxsIGJlIGNvbnZlcnRlZCB0byBiZSByZWxhdGl2ZSB0byB0aGUgd29ya2luZyB0cmVlJ3Mgcm9vdCBkaXJlY3RvcnkuCiAgIFRoaXMgaXMgbW9zdCB1c2VmdWwgdG8gYWRkcmVzcyBhIGJsb2Igb3IgdHJlZSBmcm9tIGEgY29tbWl0IG9yIHRyZWUgdGhhdCBoYXMKICAgdGhlIHNhbWUgdHJlZSBzdHJ1Y3R1cmUgYXMgdGhlIHdvcmtpbmcgdHJlZS4KIAotJzo8bj46PHBhdGg+JywgZS5nLiAnOjA6UkVBRE1FJywgJzpSRUFETUUnOjoKKyc6WzxuPjpdPHBhdGg+JywgZS5nLiAnOjA6UkVBRE1FJywgJzpSRUFETUUnOjoKICAgQSBjb2xvbiwgb3B0aW9uYWxseSBmb2xsb3dlZCBieSBhIHN0YWdlIG51bWJlciAoMCB0byAzKSBhbmQgYQogICBjb2xvbiwgZm9sbG93ZWQgYnkgYSBwYXRoLCBuYW1lcyBhIGJsb2Igb2JqZWN0IGluIHRoZQogICBpbmRleCBhdCB0aGUgZ2l2ZW4gcGF0aC4gQSBtaXNzaW5nIHN0YWdlIG51bWJlciAoYW5kIHRoZSBjb2xvbgpAQCAtMzAyLDcgKzMwMSw3IEBACiBUaGUgJ3Ixe2NhcmV0fSEnIG5vdGF0aW9uIGluY2x1ZGVzIGNvbW1pdCAncjEnIGJ1dCBleGNsdWRlcyBhbGwgb2YgaXRzIHBhcmVudHMuCiBCeSBpdHNlbGYsIHRoaXMgbm90YXRpb24gZGVub3RlcyB0aGUgc2luZ2xlIGNvbW1pdCAncjEnLgogCi1UaGUgJzxyZXY+e2NhcmV0fS08bj4nIG5vdGF0aW9uIGluY2x1ZGVzICc8cmV2PicgYnV0IGV4Y2x1ZGVzIHRoZSA8bj50aAorVGhlICc8cmV2PntjYXJldH0tWzxuPl0nIG5vdGF0aW9uIGluY2x1ZGVzICc8cmV2PicgYnV0IGV4Y2x1ZGVzIHRoZSA8bj50aAogcGFyZW50IChpLmUuIGEgc2hvcnRoYW5kIGZvciAnPHJldj57Y2FyZXR9PG4+Li48cmV2PicpLCB3aXRoICc8bj4nID0gMSBpZgogbm90IGdpdmVuLiBUaGlzIGlzIHR5cGljYWxseSB1c2VmdWwgZm9yIG1lcmdlIGNvbW1pdHMgd2hlcmUgeW91CiBjYW4ganVzdCBwYXNzICc8Y29tbWl0PntjYXJldH0tJyB0byBnZXQgYWxsIHRoZSBjb21taXRzIGluIHRoZSBicmFuY2gKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vc2VxdWVuY2VyLnR4dCBiL0RvY3VtZW50YXRpb24vc2VxdWVuY2VyLnR4dAppbmRleCA1NzQ3ZjQ0Li4zYmNlYjU2IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3NlcXVlbmNlci50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9zZXF1ZW5jZXIudHh0CkBAIC0xLDggKzEsMTIgQEAKIC0tY29udGludWU6OgogCUNvbnRpbnVlIHRoZSBvcGVyYXRpb24gaW4gcHJvZ3Jlc3MgdXNpbmcgdGhlIGluZm9ybWF0aW9uIGluCi0JJy5naXQvc2VxdWVuY2VyJy4gIENhbiBiZSB1c2VkIHRvIGNvbnRpbnVlIGFmdGVyIHJlc29sdmluZworCWAuZ2l0L3NlcXVlbmNlcmAuICBDYW4gYmUgdXNlZCB0byBjb250aW51ZSBhZnRlciByZXNvbHZpbmcKIAljb25mbGljdHMgaW4gYSBmYWlsZWQgY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0LgogCistLXNraXA6OgorCVNraXAgdGhlIGN1cnJlbnQgY29tbWl0IGFuZCBjb250aW51ZSB3aXRoIHRoZSByZXN0IG9mIHRoZQorCXNlcXVlbmNlLgorCiAtLXF1aXQ6OgogCUZvcmdldCBhYm91dCB0aGUgY3VycmVudCBvcGVyYXRpb24gaW4gcHJvZ3Jlc3MuICBDYW4gYmUgdXNlZAogCXRvIGNsZWFyIHRoZSBzZXF1ZW5jZXIgc3RhdGUgYWZ0ZXIgYSBmYWlsZWQgY2hlcnJ5LXBpY2sgb3IKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1hbGxvY2F0aW9uLWdyb3dpbmcudHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWFsbG9jYXRpb24tZ3Jvd2luZy50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhNTliNTQuLjAwMDAwMDAKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWFsbG9jYXRpb24tZ3Jvd2luZy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1hbGxvY2F0aW9uIGdyb3dpbmcgQVBJCi09PT09PT09PT09PT09PT09PT09PT09Ci0KLUR5bmFtaWNhbGx5IGdyb3dpbmcgYW4gYXJyYXkgdXNpbmcgcmVhbGxvYygpIGlzIGVycm9yIHByb25lIGFuZCBib3JpbmcuCi0KLURlZmluZSB5b3VyIGFycmF5IHdpdGg6Ci0KLSogYSBwb2ludGVyIChgaXRlbWApIHRoYXQgcG9pbnRzIGF0IHRoZSBhcnJheSwgaW5pdGlhbGl6ZWQgdG8gYE5VTExgCi0gIChhbHRob3VnaCBwbGVhc2UgbmFtZSB0aGUgdmFyaWFibGUgYmFzZWQgb24gaXRzIGNvbnRlbnRzLCBub3Qgb24gaXRzCi0gIHR5cGUpOwotCi0qIGFuIGludGVnZXIgdmFyaWFibGUgKGBhbGxvY2ApIHRoYXQga2VlcHMgdHJhY2sgb2YgaG93IGJpZyB0aGUgY3VycmVudAotICBhbGxvY2F0aW9uIGlzLCBpbml0aWFsaXplZCB0byBgMGA7Ci0KLSogYW5vdGhlciBpbnRlZ2VyIHZhcmlhYmxlIChgbnJgKSB0byBrZWVwIHRyYWNrIG9mIGhvdyBtYW55IGVsZW1lbnRzIHRoZQotICBhcnJheSBjdXJyZW50bHkgaGFzLCBpbml0aWFsaXplZCB0byBgMGAuCi0KLVRoZW4gYmVmb3JlIGFkZGluZyBgbmB0aCBlbGVtZW50IHRvIHRoZSBpdGVtLCBjYWxsIGBBTExPQ19HUk9XKGl0ZW0sIG4sCi1hbGxvYylgLiAgVGhpcyBlbnN1cmVzIHRoYXQgdGhlIGFycmF5IGNhbiBob2xkIGF0IGxlYXN0IGBuYCBlbGVtZW50cyBieQotY2FsbGluZyBgcmVhbGxvYygzKWAgYW5kIGFkanVzdGluZyBgYWxsb2NgIHZhcmlhYmxlLgotCi0tLS0tLS0tLS0tLS0KLXNvbWV0eXBlICppdGVtOwotc2l6ZV90IG5yOwotc2l6ZV90IGFsbG9jCi0KLWZvciAoaSA9IDA7IGkgPCBucjsgaSsrKQotCWlmICh3ZSBsaWtlIGl0ZW1baV0gYWxyZWFkeSkKLQkJcmV0dXJuOwotCi0vKiB3ZSBkaWQgbm90IGxpa2UgYW55IGV4aXN0aW5nIG9uZSwgc28gYWRkIG9uZSAqLwotQUxMT0NfR1JPVyhpdGVtLCBuciArIDEsIGFsbG9jKTsKLWl0ZW1bbnIrK10gPSB2YWx1ZSB5b3UgbGlrZTsKLS0tLS0tLS0tLS0tLQotCi1Zb3UgYXJlIHJlc3BvbnNpYmxlIGZvciB1cGRhdGluZyB0aGUgYG5yYCB2YXJpYWJsZS4KLQotSWYgeW91IG5lZWQgdG8gc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIGFsbG9jYXRlIGV4cGxpY2l0bHkKLXRoZW4gdXNlIHRoZSBtYWNybyBgUkVBTExPQ19BUlJBWShpdGVtLCBhbGxvYylgIGluc3RlYWQgb2YgYEFMTE9DX0dST1dgLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWFyZ3YtYXJyYXkudHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWFyZ3YtYXJyYXkudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NzBjOGVkLi4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1hcmd2LWFycmF5LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLWFyZ3YtYXJyYXkgQVBJCi09PT09PT09PT09PT09PQotCi1UaGUgYXJndi1hcnJheSBBUEkgYWxsb3dzIG9uZSB0byBkeW5hbWljYWxseSBidWlsZCBhbmQgc3RvcmUKLU5VTEwtdGVybWluYXRlZCBsaXN0cy4gIEFuIGFyZ3YtYXJyYXkgbWFpbnRhaW5zIHRoZSBpbnZhcmlhbnQgdGhhdCB0aGUKLWBhcmd2YCBtZW1iZXIgYWx3YXlzIHBvaW50cyB0byBhIG5vbi1OVUxMIGFycmF5LCBhbmQgdGhhdCB0aGUgYXJyYXkgaXMKLWFsd2F5cyBOVUxMLXRlcm1pbmF0ZWQgYXQgdGhlIGVsZW1lbnQgcG9pbnRlZCB0byBieSBgYXJndlthcmdjXWAuIFRoaXMKLW1ha2VzIHRoZSByZXN1bHQgc3VpdGFibGUgZm9yIHBhc3NpbmcgdG8gZnVuY3Rpb25zIGV4cGVjdGluZyB0byByZWNlaXZlCi1hcmd2IGZyb20gbWFpbigpLCBvciB0aGUgbGluazphcGktcnVuLWNvbW1hbmQuaHRtbFtydW4tY29tbWFuZCBBUEldLgotCi1UaGUgc3RyaW5nLWxpc3QgQVBJIChkb2N1bWVudGVkIGluIHN0cmluZy1saXN0LmgpIGlzIHNpbWlsYXIsIGJ1dCBjYW5ub3QgYmUKLXVzZWQgZm9yIHRoZXNlIHB1cnBvc2VzOyBpbnN0ZWFkIG9mIHN0b3JpbmcgYSBzdHJhaWdodCBzdHJpbmcgcG9pbnRlciwKLWl0IGNvbnRhaW5zIGFuIGl0ZW0gc3RydWN0dXJlIHdpdGggYSBgdXRpbGAgZmllbGQgdGhhdCBpcyBub3QgY29tcGF0aWJsZQotd2l0aCB0aGUgdHJhZGl0aW9uYWwgYXJndiBpbnRlcmZhY2UuCi0KLUVhY2ggYGFyZ3ZfYXJyYXlgIG1hbmFnZXMgaXRzIG93biBtZW1vcnkuIEFueSBzdHJpbmdzIHB1c2hlZCBpbnRvIHRoZQotYXJyYXkgYXJlIGR1cGxpY2F0ZWQsIGFuZCBhbGwgbWVtb3J5IGlzIGZyZWVkIGJ5IGFyZ3ZfYXJyYXlfY2xlYXIoKS4KLQotRGF0YSBTdHJ1Y3R1cmVzCi0tLS0tLS0tLS0tLS0tLS0KLQotYHN0cnVjdCBhcmd2X2FycmF5YDo6Ci0KLQlBIHNpbmdsZSBhcnJheS4gVGhpcyBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgYnkgYXNzaWdubWVudCBmcm9tCi0JYEFSR1ZfQVJSQVlfSU5JVGAsIG9yIGJ5IGNhbGxpbmcgYGFyZ3ZfYXJyYXlfaW5pdGAuIFRoZSBgYXJndmAKLQltZW1iZXIgY29udGFpbnMgdGhlIGFjdHVhbCBhcnJheTsgdGhlIGBhcmdjYCBtZW1iZXIgY29udGFpbnMgdGhlCi0JbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBhcnJheSwgbm90IGluY2x1ZGluZyB0aGUgdGVybWluYXRpbmcKLQlOVUxMLgotCi1GdW5jdGlvbnMKLS0tLS0tLS0tLQotCi1gYXJndl9hcnJheV9pbml0YDo6Ci0JSW5pdGlhbGl6ZSBhbiBhcnJheS4gVGhpcyBpcyBubyBkaWZmZXJlbnQgdGhhbiBhc3NpZ25pbmcgZnJvbQotCWBBUkdWX0FSUkFZX0lOSVRgLgotCi1gYXJndl9hcnJheV9wdXNoYDo6Ci0JUHVzaCBhIGNvcHkgb2YgYSBzdHJpbmcgb250byB0aGUgZW5kIG9mIHRoZSBhcnJheS4KLQotYGFyZ3ZfYXJyYXlfcHVzaGxgOjoKLQlQdXNoIGEgbGlzdCBvZiBzdHJpbmdzIG9udG8gdGhlIGVuZCBvZiB0aGUgYXJyYXkuIFRoZSBhcmd1bWVudHMKLQlzaG91bGQgYmUgYSBsaXN0IG9mIGBjb25zdCBjaGFyICpgIHN0cmluZ3MsIHRlcm1pbmF0ZWQgYnkgYSBOVUxMCi0JYXJndW1lbnQuCi0KLWBhcmd2X2FycmF5X3B1c2hmYDo6Ci0JRm9ybWF0IGEgc3RyaW5nIGFuZCBwdXNoIGl0IG9udG8gdGhlIGVuZCBvZiB0aGUgYXJyYXkuIFRoaXMgaXMgYQotCWNvbnZlbmllbmNlIHdyYXBwZXIgY29tYmluaW5nIGBzdHJidWZfYWRkZmAgYW5kIGBhcmd2X2FycmF5X3B1c2hgLgotCi1gYXJndl9hcnJheV9wdXNodmA6OgotCVB1c2ggYSBudWxsLXRlcm1pbmF0ZWQgYXJyYXkgb2Ygc3RyaW5ncyBvbnRvIHRoZSBlbmQgb2YgdGhlIGFycmF5LgotCi1gYXJndl9hcnJheV9wb3BgOjoKLQlSZW1vdmUgdGhlIGZpbmFsIGVsZW1lbnQgZnJvbSB0aGUgYXJyYXkuIElmIHRoZXJlIGFyZSBubwotCWVsZW1lbnRzIGluIHRoZSBhcnJheSwgZG8gbm90aGluZy4KLQotYGFyZ3ZfYXJyYXlfY2xlYXJgOjoKLQlGcmVlIGFsbCBtZW1vcnkgYXNzb2NpYXRlZCB3aXRoIHRoZSBhcnJheSBhbmQgcmV0dXJuIGl0IHRvIHRoZQotCWluaXRpYWwsIGVtcHR5IHN0YXRlLgotCi1gYXJndl9hcnJheV9kZXRhY2hgOjoKLQlEaXNjb25uZWN0IHRoZSBgYXJndmAgbWVtYmVyIGZyb20gdGhlIGBhcmd2X2FycmF5YCBzdHJ1Y3QgYW5kCi0JcmV0dXJuIGl0LiBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvciBmcmVlaW5nIHRoZSBtZW1vcnkgdXNlZAotCWJ5IHRoZSBhcnJheSwgYW5kIGJ5IHRoZSBzdHJpbmdzIGl0IHJlZmVyZW5jZXMuIEFmdGVyIGRldGFjaGluZywKLQl0aGUgYGFyZ3ZfYXJyYXlgIGlzIGluIGEgcmVpbml0aWFsaXplZCBzdGF0ZSBhbmQgY2FuIGJlIHB1c2hlZAotCWludG8gYWdhaW4uCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktY29uZmlnLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1jb25maWcudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYTM5YWM5Li4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1jb25maWcudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzE5ICswLDAgQEAKLWNvbmZpZyBBUEkKLT09PT09PT09PT0KLQotVGhlIGNvbmZpZyBBUEkgZ2l2ZXMgY2FsbGVycyBhIHdheSB0byBhY2Nlc3MgR2l0IGNvbmZpZ3VyYXRpb24gZmlsZXMKLShhbmQgZmlsZXMgd2hpY2ggaGF2ZSB0aGUgc2FtZSBzeW50YXgpLiBTZWUgbGlua2dpdDpnaXQtY29uZmlnWzFdIGZvciBhCi1kaXNjdXNzaW9uIG9mIHRoZSBjb25maWcgZmlsZSBzeW50YXguCi0KLUdlbmVyYWwgVXNhZ2UKLS0tLS0tLS0tLS0tLS0KLQotQ29uZmlnIGZpbGVzIGFyZSBwYXJzZWQgbGluZWFybHksIGFuZCBlYWNoIHZhcmlhYmxlIGZvdW5kIGlzIHBhc3NlZCB0byBhCi1jYWxsZXItcHJvdmlkZWQgY2FsbGJhY2sgZnVuY3Rpb24uIFRoZSBjYWxsYmFjayBmdW5jdGlvbiBpcyByZXNwb25zaWJsZQotZm9yIGFueSBhY3Rpb25zIHRvIGJlIHRha2VuIG9uIHRoZSBjb25maWcgb3B0aW9uLCBhbmQgaXMgZnJlZSB0byBpZ25vcmUKLXNvbWUgb3B0aW9ucy4gSXQgaXMgbm90IHVuY29tbW9uIGZvciB0aGUgY29uZmlndXJhdGlvbiB0byBiZSBwYXJzZWQKLXNldmVyYWwgdGltZXMgZHVyaW5nIHRoZSBydW4gb2YgYSBHaXQgcHJvZ3JhbSwgd2l0aCBkaWZmZXJlbnQgY2FsbGJhY2tzCi1waWNraW5nIG91dCBkaWZmZXJlbnQgdmFyaWFibGVzIHVzZWZ1bCB0byB0aGVtc2VsdmVzLgotCi1BIGNvbmZpZyBjYWxsYmFjayBmdW5jdGlvbiB0YWtlcyB0aHJlZSBwYXJhbWV0ZXJzOgotCi0tIHRoZSBuYW1lIG9mIHRoZSBwYXJzZWQgdmFyaWFibGUuIFRoaXMgaXMgaW4gY2Fub25pY2FsICJmbGF0IiBmb3JtOiB0aGUKLSAgc2VjdGlvbiwgc3Vic2VjdGlvbiwgYW5kIHZhcmlhYmxlIHNlZ21lbnRzIHdpbGwgYmUgc2VwYXJhdGVkIGJ5IGRvdHMsCi0gIGFuZCB0aGUgc2VjdGlvbiBhbmQgdmFyaWFibGUgc2VnbWVudHMgd2lsbCBiZSBhbGwgbG93ZXJjYXNlLiBFLmcuLAotICBgY29yZS5pZ25vcmVjYXNlYCwgYGRpZmYuU29tZVR5cGUudGV4dGNvbnZgLgotCi0tIHRoZSB2YWx1ZSBvZiB0aGUgZm91bmQgdmFyaWFibGUsIGFzIGEgc3RyaW5nLiBJZiB0aGUgdmFyaWFibGUgaGFkIG5vCi0gIHZhbHVlIHNwZWNpZmllZCwgdGhlIHZhbHVlIHdpbGwgYmUgTlVMTCAodHlwaWNhbGx5IHRoaXMgbWVhbnMgaXQKLSAgc2hvdWxkIGJlIGludGVycHJldGVkIGFzIGJvb2xlYW4gdHJ1ZSkuCi0KLS0gYSB2b2lkIHBvaW50ZXIgcGFzc2VkIGluIGJ5IHRoZSBjYWxsZXIgb2YgdGhlIGNvbmZpZyBBUEk7IHRoaXMgY2FuCi0gIGNvbnRhaW4gY2FsbGJhY2stc3BlY2lmaWMgZGF0YQotCi1BIGNvbmZpZyBjYWxsYmFjayBzaG91bGQgcmV0dXJuIDAgZm9yIHN1Y2Nlc3MsIG9yIC0xIGlmIHRoZSB2YXJpYWJsZQotY291bGQgbm90IGJlIHBhcnNlZCBwcm9wZXJseS4KLQotQmFzaWMgQ29uZmlnIFF1ZXJ5aW5nCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotTW9zdCBwcm9ncmFtcyB3aWxsIHNpbXBseSB3YW50IHRvIGxvb2sgdXAgdmFyaWFibGVzIGluIGFsbCBjb25maWcgZmlsZXMKLXRoYXQgR2l0IGtub3dzIGFib3V0LCB1c2luZyB0aGUgbm9ybWFsIHByZWNlZGVuY2UgcnVsZXMuIFRvIGRvIHRoaXMsCi1jYWxsIGBnaXRfY29uZmlnYCB3aXRoIGEgY2FsbGJhY2sgZnVuY3Rpb24gYW5kIHZvaWQgZGF0YSBwb2ludGVyLgotCi1gZ2l0X2NvbmZpZ2Agd2lsbCByZWFkIGFsbCBjb25maWcgc291cmNlcyBpbiBvcmRlciBvZiBpbmNyZWFzaW5nCi1wcmlvcml0eS4gVGh1cyBhIGNhbGxiYWNrIHNob3VsZCB0eXBpY2FsbHkgb3ZlcndyaXRlIHByZXZpb3VzbHktc2VlbgotZW50cmllcyB3aXRoIG5ldyBvbmVzIChlLmcuLCBpZiBib3RoIHRoZSB1c2VyLXdpZGUgYH4vLmdpdGNvbmZpZ2AgYW5kCi1yZXBvLXNwZWNpZmljIGAuZ2l0L2NvbmZpZ2AgY29udGFpbiBgY29sb3IudWlgLCB0aGUgY29uZmlnIG1hY2hpbmVyeQotd2lsbCBmaXJzdCBmZWVkIHRoZSB1c2VyLXdpZGUgb25lIHRvIHRoZSBjYWxsYmFjaywgYW5kIHRoZW4gdGhlCi1yZXBvLXNwZWNpZmljIG9uZTsgYnkgb3ZlcndyaXRpbmcsIHRoZSBoaWdoZXItcHJpb3JpdHkgcmVwby1zcGVjaWZpYwotdmFsdWUgaXMgbGVmdCBhdCB0aGUgZW5kKS4KLQotVGhlIGBjb25maWdfd2l0aF9vcHRpb25zYCBmdW5jdGlvbiBsZXRzIHRoZSBjYWxsZXIgZXhhbWluZSBjb25maWcKLXdoaWxlIGFkanVzdGluZyBzb21lIG9mIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIGBnaXRfY29uZmlnYC4gSXQgc2hvdWxkCi1hbG1vc3QgbmV2ZXIgYmUgdXNlZCBieSAicmVndWxhciIgR2l0IGNvZGUgdGhhdCBpcyBsb29raW5nIHVwCi1jb25maWd1cmF0aW9uIHZhcmlhYmxlcy4gSXQgaXMgaW50ZW5kZWQgZm9yIGFkdmFuY2VkIGNhbGxlcnMgbGlrZQotYGdpdC1jb25maWdgLCB3aGljaCBhcmUgaW50ZW50aW9uYWxseSB0d2Vha2luZyB0aGUgbm9ybWFsIGNvbmZpZy1sb29rdXAKLXByb2Nlc3MuIEl0IHRha2VzIHR3byBleHRyYSBwYXJhbWV0ZXJzOgotCi1gY29uZmlnX3NvdXJjZWA6OgotSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm9uLU5VTEwsIGl0IHNwZWNpZmllcyB0aGUgc291cmNlIHRvIHBhcnNlIGZvcgotY29uZmlndXJhdGlvbiwgcmF0aGVyIHRoYW4gbG9va2luZyBpbiB0aGUgdXN1YWwgZmlsZXMuIFNlZSBgc3RydWN0Ci1naXRfY29uZmlnX3NvdXJjZWAgaW4gYGNvbmZpZy5oYCBmb3IgZGV0YWlscy4gUmVndWxhciBgZ2l0X2NvbmZpZ2AgZGVmYXVsdHMKLXRvIGBOVUxMYC4KLQotYG9wdHNgOjoKLVNwZWNpZnkgb3B0aW9ucyB0byBhZGp1c3QgdGhlIGJlaGF2aW9yIG9mIHBhcnNpbmcgY29uZmlnIGZpbGVzLiBTZWUgYHN0cnVjdAotY29uZmlnX29wdGlvbnNgIGluIGBjb25maWcuaGAgZm9yIGRldGFpbHMuIEFzIGFuIGV4YW1wbGU6IHJlZ3VsYXIgYGdpdF9jb25maWdgCi1zZXRzIGBvcHRzLnJlc3BlY3RfaW5jbHVkZXNgIHRvIGAxYCBieSBkZWZhdWx0LgotCi1SZWFkaW5nIFNwZWNpZmljIEZpbGVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVRvIHJlYWQgYSBzcGVjaWZpYyBmaWxlIGluIGdpdC1jb25maWcgZm9ybWF0LCB1c2UKLWBnaXRfY29uZmlnX2Zyb21fZmlsZWAuIFRoaXMgdGFrZXMgdGhlIHNhbWUgY2FsbGJhY2sgYW5kIGRhdGEgcGFyYW1ldGVycwotYXMgYGdpdF9jb25maWdgLgotCi1RdWVyeWluZyBGb3IgU3BlY2lmaWMgVmFyaWFibGVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLUZvciBwcm9ncmFtcyB3YW50aW5nIHRvIHF1ZXJ5IGZvciBzcGVjaWZpYyB2YXJpYWJsZXMgaW4gYSBub24tY2FsbGJhY2sKLW1hbm5lciwgdGhlIGNvbmZpZyBBUEkgcHJvdmlkZXMgdHdvIGZ1bmN0aW9ucyBgZ2l0X2NvbmZpZ19nZXRfdmFsdWVgCi1hbmQgYGdpdF9jb25maWdfZ2V0X3ZhbHVlX211bHRpYC4gVGhleSBib3RoIHJlYWQgdmFsdWVzIGZyb20gYW4gaW50ZXJuYWwKLWNhY2hlIGdlbmVyYXRlZCBwcmV2aW91c2x5IGZyb20gcmVhZGluZyB0aGUgY29uZmlnIGZpbGVzLgotCi1gaW50IGdpdF9jb25maWdfZ2V0X3ZhbHVlKGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqKnZhbHVlKWA6OgotCi0JRmluZHMgdGhlIGhpZ2hlc3QtcHJpb3JpdHkgdmFsdWUgZm9yIHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBrZXlgLAotCXN0b3JlcyB0aGUgcG9pbnRlciB0byBpdCBpbiBgdmFsdWVgIGFuZCByZXR1cm5zIDAuIFdoZW4gdGhlCi0JY29uZmlndXJhdGlvbiB2YXJpYWJsZSBga2V5YCBpcyBub3QgZm91bmQsIHJldHVybnMgMSB3aXRob3V0IHRvdWNoaW5nCi0JYHZhbHVlYC4gVGhlIGNhbGxlciBzaG91bGQgbm90IGZyZWUgb3IgbW9kaWZ5IGB2YWx1ZWAsIGFzIGl0IGlzIG93bmVkCi0JYnkgdGhlIGNhY2hlLgotCi1gY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpnaXRfY29uZmlnX2dldF92YWx1ZV9tdWx0aShjb25zdCBjaGFyICprZXkpYDo6Ci0KLQlGaW5kcyBhbmQgcmV0dXJucyB0aGUgdmFsdWUgbGlzdCwgc29ydGVkIGluIG9yZGVyIG9mIGluY3JlYXNpbmcgcHJpb3JpdHkKLQlmb3IgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGtleWAuIFdoZW4gdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUKLQlga2V5YCBpcyBub3QgZm91bmQsIHJldHVybnMgTlVMTC4gVGhlIGNhbGxlciBzaG91bGQgbm90IGZyZWUgb3IgbW9kaWZ5Ci0JdGhlIHJldHVybmVkIHBvaW50ZXIsIGFzIGl0IGlzIG93bmVkIGJ5IHRoZSBjYWNoZS4KLQotYHZvaWQgZ2l0X2NvbmZpZ19jbGVhcih2b2lkKWA6OgotCi0JUmVzZXRzIGFuZCBpbnZhbGlkYXRlcyB0aGUgY29uZmlnIGNhY2hlLgotCi1UaGUgY29uZmlnIEFQSSBhbHNvIHByb3ZpZGVzIHR5cGUgc3BlY2lmaWMgQVBJIGZ1bmN0aW9ucyB3aGljaCBkbyBjb252ZXJzaW9uCi1hcyB3ZWxsIGFzIHJldHJpZXZhbCBmb3IgdGhlIHF1ZXJpZWQgdmFyaWFibGUsIGluY2x1ZGluZzoKLQotYGludCBnaXRfY29uZmlnX2dldF9pbnQoY29uc3QgY2hhciAqa2V5LCBpbnQgKmRlc3QpYDo6Ci0KLQlGaW5kcyBhbmQgcGFyc2VzIHRoZSB2YWx1ZSB0byBhbiBpbnRlZ2VyIGZvciB0aGUgY29uZmlndXJhdGlvbiB2YXJpYWJsZQotCWBrZXlgLiBEaWVzIG9uIGVycm9yOyBvdGhlcndpc2UsIHN0b3JlcyB0aGUgdmFsdWUgb2YgdGhlIHBhcnNlZCBpbnRlZ2VyIGluCi0JYGRlc3RgIGFuZCByZXR1cm5zIDAuIFdoZW4gdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGtleWAgaXMgbm90IGZvdW5kLAotCXJldHVybnMgMSB3aXRob3V0IHRvdWNoaW5nIGBkZXN0YC4KLQotYGludCBnaXRfY29uZmlnX2dldF91bG9uZyhjb25zdCBjaGFyICprZXksIHVuc2lnbmVkIGxvbmcgKmRlc3QpYDo6Ci0KLQlTaW1pbGFyIHRvIGBnaXRfY29uZmlnX2dldF9pbnRgIGJ1dCBmb3IgdW5zaWduZWQgbG9uZ3MuCi0KLWBpbnQgZ2l0X2NvbmZpZ19nZXRfYm9vbChjb25zdCBjaGFyICprZXksIGludCAqZGVzdClgOjoKLQotCUZpbmRzIGFuZCBwYXJzZXMgdGhlIHZhbHVlIGludG8gYSBib29sZWFuIHZhbHVlLCBmb3IgdGhlIGNvbmZpZ3VyYXRpb24KLQl2YXJpYWJsZSBga2V5YCByZXNwZWN0aW5nIGtleXdvcmRzIGxpa2UgInRydWUiIGFuZCAiZmFsc2UiLiBJbnRlZ2VyCi0JdmFsdWVzIGFyZSBjb252ZXJ0ZWQgaW50byB0cnVlL2ZhbHNlIHZhbHVlcyAod2hlbiB0aGV5IGFyZSBub24temVybyBvcgotCXplcm8sIHJlc3BlY3RpdmVseSkuIE90aGVyIHZhbHVlcyBjYXVzZSBhIGRpZSgpLiBJZiBwYXJzaW5nIGlzIHN1Y2Nlc3NmdWwsCi0Jc3RvcmVzIHRoZSB2YWx1ZSBvZiB0aGUgcGFyc2VkIHJlc3VsdCBpbiBgZGVzdGAgYW5kIHJldHVybnMgMC4gV2hlbiB0aGUKLQljb25maWd1cmF0aW9uIHZhcmlhYmxlIGBrZXlgIGlzIG5vdCBmb3VuZCwgcmV0dXJucyAxIHdpdGhvdXQgdG91Y2hpbmcKLQlgZGVzdGAuCi0KLWBpbnQgZ2l0X2NvbmZpZ19nZXRfYm9vbF9vcl9pbnQoY29uc3QgY2hhciAqa2V5LCBpbnQgKmlzX2Jvb2wsIGludCAqZGVzdClgOjoKLQotCVNpbWlsYXIgdG8gYGdpdF9jb25maWdfZ2V0X2Jvb2xgLCBleGNlcHQgdGhhdCBpbnRlZ2VycyBhcmUgY29waWVkIGFzLWlzLAotCWFuZCBgaXNfYm9vbGAgZmxhZyBpcyB1bnNldC4KLQotYGludCBnaXRfY29uZmlnX2dldF9tYXliZV9ib29sKGNvbnN0IGNoYXIgKmtleSwgaW50ICpkZXN0KWA6OgotCi0JU2ltaWxhciB0byBgZ2l0X2NvbmZpZ19nZXRfYm9vbGAsIGV4Y2VwdCB0aGF0IGl0IHJldHVybnMgLTEgb24gZXJyb3IKLQlyYXRoZXIgdGhhbiBkeWluZy4KLQotYGludCBnaXRfY29uZmlnX2dldF9zdHJpbmdfY29uc3QoY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICoqZGVzdClgOjoKLQotCUFsbG9jYXRlcyBhbmQgY29waWVzIHRoZSByZXRyaWV2ZWQgc3RyaW5nIGludG8gdGhlIGBkZXN0YCBwYXJhbWV0ZXIgZm9yCi0JdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGtleWA7IGlmIE5VTEwgc3RyaW5nIGlzIGdpdmVuLCBwcmludHMgYW4KLQllcnJvciBtZXNzYWdlIGFuZCByZXR1cm5zIC0xLiBXaGVuIHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBrZXlgIGlzCi0Jbm90IGZvdW5kLCByZXR1cm5zIDEgd2l0aG91dCB0b3VjaGluZyBgZGVzdGAuCi0KLWBpbnQgZ2l0X2NvbmZpZ19nZXRfc3RyaW5nKGNvbnN0IGNoYXIgKmtleSwgY2hhciAqKmRlc3QpYDo6Ci0KLQlTaW1pbGFyIHRvIGBnaXRfY29uZmlnX2dldF9zdHJpbmdfY29uc3RgLCBleGNlcHQgdGhhdCByZXRyaWV2ZWQgdmFsdWUKLQljb3BpZWQgaW50byB0aGUgYGRlc3RgIHBhcmFtZXRlciBpcyBhIG11dGFibGUgc3RyaW5nLgotCi1gaW50IGdpdF9jb25maWdfZ2V0X3BhdGhuYW1lKGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqKmRlc3QpYDo6Ci0KLQlTaW1pbGFyIHRvIGBnaXRfY29uZmlnX2dldF9zdHJpbmdgLCBidXQgZXhwYW5kcyBgfmAgb3IgYH51c2VyYCBpbnRvCi0JdGhlIHVzZXIncyBob21lIGRpcmVjdG9yeSB3aGVuIGZvdW5kIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHBhdGguCi0KLWBnaXRfZGllX2NvbmZpZyhjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKmVyciwgLi4uKWA6OgotCi0JRmlyc3QgcHJpbnRzIHRoZSBlcnJvciBtZXNzYWdlIHNwZWNpZmllZCBieSB0aGUgY2FsbGVyIGluIGBlcnJgIGFuZCB0aGVuCi0JZGllcyBwcmludGluZyB0aGUgbGluZSBudW1iZXIgYW5kIHRoZSBmaWxlIG5hbWUgb2YgdGhlIGhpZ2hlc3QgcHJpb3JpdHkKLQl2YWx1ZSBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGtleWAuCi0KLWB2b2lkIGdpdF9kaWVfY29uZmlnX2xpbmVucihjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZW5yKWA6OgotCi0JSGVscGVyIGZ1bmN0aW9uIHdoaWNoIGZvcm1hdHMgdGhlIGRpZSBlcnJvciBtZXNzYWdlIGFjY29yZGluZyB0byB0aGUKLQlwYXJhbWV0ZXJzIGVudGVyZWQuIFVzZWQgYnkgYGdpdF9kaWVfY29uZmlnKClgLiBJdCBjYW4gYmUgdXNlZCBieSBjYWxsZXJzCi0JaGFuZGxpbmcgYGdpdF9jb25maWdfZ2V0X3ZhbHVlX211bHRpKClgIHRvIHByaW50IHRoZSBjb3JyZWN0IGVycm9yIG1lc3NhZ2UKLQlmb3IgdGhlIGRlc2lyZWQgdmFsdWUuCi0KLVNlZSB0ZXN0LWNvbmZpZy5jIGZvciB1c2FnZSBleGFtcGxlcy4KLQotVmFsdWUgUGFyc2luZyBIZWxwZXJzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotVG8gYWlkIGluIHBhcnNpbmcgc3RyaW5nIHZhbHVlcywgdGhlIGNvbmZpZyBBUEkgcHJvdmlkZXMgY2FsbGJhY2tzIHdpdGgKLWEgbnVtYmVyIG9mIGhlbHBlciBmdW5jdGlvbnMsIGluY2x1ZGluZzoKLQotYGdpdF9jb25maWdfaW50YDo6Ci1QYXJzZSB0aGUgc3RyaW5nIHRvIGFuIGludGVnZXIsIGluY2x1ZGluZyB1bml0IGZhY3RvcnMuIERpZXMgb24gZXJyb3I7Ci1vdGhlcndpc2UsIHJldHVybnMgdGhlIHBhcnNlZCByZXN1bHQuCi0KLWBnaXRfY29uZmlnX3Vsb25nYDo6Ci1JZGVudGljYWwgdG8gYGdpdF9jb25maWdfaW50YCwgYnV0IGZvciB1bnNpZ25lZCBsb25ncy4KLQotYGdpdF9jb25maWdfYm9vbGA6OgotUGFyc2UgYSBzdHJpbmcgaW50byBhIGJvb2xlYW4gdmFsdWUsIHJlc3BlY3Rpbmcga2V5d29yZHMgbGlrZSAidHJ1ZSIgYW5kCi0iZmFsc2UiLiBJbnRlZ2VyIHZhbHVlcyBhcmUgY29udmVydGVkIGludG8gdHJ1ZS9mYWxzZSB2YWx1ZXMgKHdoZW4gdGhleQotYXJlIG5vbi16ZXJvIG9yIHplcm8sIHJlc3BlY3RpdmVseSkuIE90aGVyIHZhbHVlcyBjYXVzZSBhIGRpZSgpLiBJZgotcGFyc2luZyBpcyBzdWNjZXNzZnVsLCB0aGUgcmV0dXJuIHZhbHVlIGlzIHRoZSByZXN1bHQuCi0KLWBnaXRfY29uZmlnX2Jvb2xfb3JfaW50YDo6Ci1TYW1lIGFzIGBnaXRfY29uZmlnX2Jvb2xgLCBleGNlcHQgdGhhdCBpbnRlZ2VycyBhcmUgcmV0dXJuZWQgYXMtaXMsIGFuZAotYW4gYGlzX2Jvb2xgIGZsYWcgaXMgdW5zZXQuCi0KLWBnaXRfcGFyc2VfbWF5YmVfYm9vbGA6OgotU2FtZSBhcyBgZ2l0X2NvbmZpZ19ib29sYCwgZXhjZXB0IHRoYXQgaXQgcmV0dXJucyAtMSBvbiBlcnJvciByYXRoZXIKLXRoYW4gZHlpbmcuCi0KLWBnaXRfY29uZmlnX3N0cmluZ2A6OgotQWxsb2NhdGVzIGFuZCBjb3BpZXMgdGhlIHZhbHVlIHN0cmluZyBpbnRvIHRoZSBgZGVzdGAgcGFyYW1ldGVyOyBpZiBubwotc3RyaW5nIGlzIGdpdmVuLCBwcmludHMgYW4gZXJyb3IgbWVzc2FnZSBhbmQgcmV0dXJucyAtMS4KLQotYGdpdF9jb25maWdfcGF0aG5hbWVgOjoKLVNpbWlsYXIgdG8gYGdpdF9jb25maWdfc3RyaW5nYCwgYnV0IGV4cGFuZHMgYH5gIG9yIGB+dXNlcmAgaW50byB0aGUKLXVzZXIncyBob21lIGRpcmVjdG9yeSB3aGVuIGZvdW5kIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHBhdGguCi0KLUluY2x1ZGUgRGlyZWN0aXZlcwotLS0tLS0tLS0tLS0tLS0tLS0tCi0KLUJ5IGRlZmF1bHQsIHRoZSBjb25maWcgcGFyc2VyIGRvZXMgbm90IHJlc3BlY3QgaW5jbHVkZSBkaXJlY3RpdmVzLgotSG93ZXZlciwgYSBjYWxsZXIgY2FuIHVzZSB0aGUgc3BlY2lhbCBgZ2l0X2NvbmZpZ19pbmNsdWRlYCB3cmFwcGVyCi1jYWxsYmFjayB0byBzdXBwb3J0IHRoZW0uIFRvIGRvIHNvLCB5b3Ugc2ltcGx5IHdyYXAgeW91ciAicmVhbCIgY2FsbGJhY2sKLWZ1bmN0aW9uIGFuZCBkYXRhIHBvaW50ZXIgaW4gYSBgc3RydWN0IGNvbmZpZ19pbmNsdWRlX2RhdGFgLCBhbmQgcGFzcwotdGhlIHdyYXBwZXIgdG8gdGhlIHJlZ3VsYXIgY29uZmlnLXJlYWRpbmcgZnVuY3Rpb25zLiBGb3IgZXhhbXBsZToKLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotaW50IHJlYWRfZmlsZV93aXRoX2luY2x1ZGUoY29uc3QgY2hhciAqZmlsZSwgY29uZmlnX2ZuX3QgZm4sIHZvaWQgKmRhdGEpCi17Ci0Jc3RydWN0IGNvbmZpZ19pbmNsdWRlX2RhdGEgaW5jID0gQ09ORklHX0lOQ0xVREVfSU5JVDsKLQlpbmMuZm4gPSBmbjsKLQlpbmMuZGF0YSA9IGRhdGE7Ci0JcmV0dXJuIGdpdF9jb25maWdfZnJvbV9maWxlKGdpdF9jb25maWdfaW5jbHVkZSwgZmlsZSwgJmluYyk7Ci19Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLWBnaXRfY29uZmlnYCByZXNwZWN0cyBpbmNsdWRlcyBhdXRvbWF0aWNhbGx5LiBUaGUgbG93ZXItbGV2ZWwKLWBnaXRfY29uZmlnX2Zyb21fZmlsZWAgZG9lcyBub3QuCi0KLUN1c3RvbSBDb25maWdzZXRzCi0tLS0tLS0tLS0tLS0tLS0tLQotCi1BIGBjb25maWdfc2V0YCBjYW4gYmUgdXNlZCB0byBjb25zdHJ1Y3QgYW4gaW4tbWVtb3J5IGNhY2hlIGZvcgotY29uZmlnLWxpa2UgZmlsZXMgdGhhdCB0aGUgY2FsbGVyIHNwZWNpZmllcyAoaS5lLiwgZmlsZXMgbGlrZSBgLmdpdG1vZHVsZXNgLAotYH4vLmdpdGNvbmZpZ2AgZXRjLikuIEZvciBleGFtcGxlLAotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLXN0cnVjdCBjb25maWdfc2V0IGdtX2NvbmZpZzsKLWdpdF9jb25maWdzZXRfaW5pdCgmZ21fY29uZmlnKTsKLWludCBiOwotLyogd2UgYWRkIGNvbmZpZyBmaWxlcyB0byB0aGUgY29uZmlnX3NldCAqLwotZ2l0X2NvbmZpZ3NldF9hZGRfZmlsZSgmZ21fY29uZmlnLCAiLmdpdG1vZHVsZXMiKTsKLWdpdF9jb25maWdzZXRfYWRkX2ZpbGUoJmdtX2NvbmZpZywgIi5naXRtb2R1bGVzX2FsdCIpOwotCi1pZiAoIWdpdF9jb25maWdzZXRfZ2V0X2Jvb2woZ21fY29uZmlnLCAic3VibW9kdWxlLmZyb3R6Lmlnbm9yZSIsICZiKSkgewotCS8qIGhhY2sgaGFjayBoYWNrICovCi19Ci0KLS8qIHdoZW4gd2UgYXJlIGRvbmUgd2l0aCB0aGUgY29uZmlnc2V0ICovCi1naXRfY29uZmlnc2V0X2NsZWFyKCZnbV9jb25maWcpOwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1Db25maWdzZXQgQVBJIHByb3ZpZGVzIGZ1bmN0aW9ucyBmb3IgdGhlIGFib3ZlIG1lbnRpb25lZCB3b3JrIGZsb3csIGluY2x1ZGluZzoKLQotYHZvaWQgZ2l0X2NvbmZpZ3NldF9pbml0KHN0cnVjdCBjb25maWdfc2V0ICpjcylgOjoKLQotCUluaXRpYWxpemVzIHRoZSBjb25maWdfc2V0IGBjc2AuCi0KLWBpbnQgZ2l0X2NvbmZpZ3NldF9hZGRfZmlsZShzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKWA6OgotCi0JUGFyc2VzIHRoZSBmaWxlIGFuZCBhZGRzIHRoZSB2YXJpYWJsZS12YWx1ZSBwYWlycyB0byB0aGUgYGNvbmZpZ19zZXRgLAotCWRpZXMgaWYgdGhlcmUgaXMgYW4gZXJyb3IgaW4gcGFyc2luZyB0aGUgZmlsZS4gUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG9yCi0JLTEgaWYgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3Qgb3IgaXMgaW5hY2Nlc3NpYmxlLiBUaGUgdXNlciBoYXMgdG8gZGVjaWRlCi0JaWYgaGUgd2FudHMgdG8gZnJlZSB0aGUgaW5jb21wbGV0ZSBjb25maWdzZXQgb3IgY29udGludWUgdXNpbmcgaXQgd2hlbgotCXRoZSBmdW5jdGlvbiByZXR1cm5zIC0xLgotCi1gaW50IGdpdF9jb25maWdzZXRfZ2V0X3ZhbHVlKHN0cnVjdCBjb25maWdfc2V0ICpjcywgY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICoqdmFsdWUpYDo6Ci0KLQlGaW5kcyB0aGUgaGlnaGVzdC1wcmlvcml0eSB2YWx1ZSBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGtleWAKLQlhbmQgY29uZmlnIHNldCBgY3NgLCBzdG9yZXMgdGhlIHBvaW50ZXIgdG8gaXQgaW4gYHZhbHVlYCBhbmQgcmV0dXJucyAwLgotCVdoZW4gdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGtleWAgaXMgbm90IGZvdW5kLCByZXR1cm5zIDEgd2l0aG91dAotCXRvdWNoaW5nIGB2YWx1ZWAuIFRoZSBjYWxsZXIgc2hvdWxkIG5vdCBmcmVlIG9yIG1vZGlmeSBgdmFsdWVgLCBhcyBpdAotCWlzIG93bmVkIGJ5IHRoZSBjYWNoZS4KLQotYGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqZ2l0X2NvbmZpZ3NldF9nZXRfdmFsdWVfbXVsdGkoc3RydWN0IGNvbmZpZ19zZXQgKmNzLCBjb25zdCBjaGFyICprZXkpYDo6Ci0KLQlGaW5kcyBhbmQgcmV0dXJucyB0aGUgdmFsdWUgbGlzdCwgc29ydGVkIGluIG9yZGVyIG9mIGluY3JlYXNpbmcgcHJpb3JpdHkKLQlmb3IgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGtleWAgYW5kIGNvbmZpZyBzZXQgYGNzYC4gV2hlbiB0aGUKLQljb25maWd1cmF0aW9uIHZhcmlhYmxlIGBrZXlgIGlzIG5vdCBmb3VuZCwgcmV0dXJucyBOVUxMLiBUaGUgY2FsbGVyCi0Jc2hvdWxkIG5vdCBmcmVlIG9yIG1vZGlmeSB0aGUgcmV0dXJuZWQgcG9pbnRlciwgYXMgaXQgaXMgb3duZWQgYnkgdGhlIGNhY2hlLgotCi1gdm9pZCBnaXRfY29uZmlnc2V0X2NsZWFyKHN0cnVjdCBjb25maWdfc2V0ICpjcylgOjoKLQotCUNsZWFycyBgY29uZmlnX3NldGAgc3RydWN0dXJlLCByZW1vdmVzIGFsbCBzYXZlZCB2YXJpYWJsZS12YWx1ZSBwYWlycy4KLQotSW4gYWRkaXRpb24gdG8gYWJvdmUgZnVuY3Rpb25zLCB0aGUgYGNvbmZpZ19zZXRgIEFQSSBwcm92aWRlcyB0eXBlIHNwZWNpZmljCi1mdW5jdGlvbnMgaW4gdGhlIHZlaW4gb2YgYGdpdF9jb25maWdfZ2V0X2ludGAgYW5kIGZhbWlseSBidXQgd2l0aCBhbiBleHRyYQotcGFyYW1ldGVyLCBwb2ludGVyIHRvIHN0cnVjdCBgY29uZmlnX3NldGAuCi1UaGV5IGFsbCBiZWhhdmUgc2ltaWxhcmx5IHRvIHRoZSBgZ2l0X2NvbmZpZ19nZXQqKClgIGZhbWlseSBkZXNjcmliZWQgaW4KLSJRdWVyeWluZyBGb3IgU3BlY2lmaWMgVmFyaWFibGVzIiBhYm92ZS4KLQotV3JpdGluZyBDb25maWcgRmlsZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLUdpdCBnaXZlcyBtdWx0aXBsZSBlbnRyeSBwb2ludHMgaW4gdGhlIENvbmZpZyBBUEkgdG8gd3JpdGUgY29uZmlnIHZhbHVlcyB0bwotZmlsZXMgbmFtZWx5IGBnaXRfY29uZmlnX3NldF9pbl9maWxlYCBhbmQgYGdpdF9jb25maWdfc2V0YCwgd2hpY2ggd3JpdGUgdG8KLWEgc3BlY2lmaWMgY29uZmlnIGZpbGUgb3IgdG8gYC5naXQvY29uZmlnYCByZXNwZWN0aXZlbHkuIFRoZXkgYm90aCB0YWtlIGEKLWtleS92YWx1ZSBwYWlyIGFzIHBhcmFtZXRlci4KLUluIHRoZSBlbmQgdGhleSBib3RoIGNhbGwgYGdpdF9jb25maWdfc2V0X211bHRpdmFyX2luX2ZpbGVgIHdoaWNoIHRha2VzIGZvdXIKLXBhcmFtZXRlcnM6Ci0KLS0gdGhlIG5hbWUgb2YgdGhlIGZpbGUsIGFzIGEgc3RyaW5nLCB0byB3aGljaCBrZXkvdmFsdWUgcGFpcnMgd2lsbCBiZSB3cml0dGVuLgotCi0tIHRoZSBuYW1lIG9mIGtleSwgYXMgYSBzdHJpbmcuIFRoaXMgaXMgaW4gY2Fub25pY2FsICJmbGF0IiBmb3JtOiB0aGUgc2VjdGlvbiwKLSAgc3Vic2VjdGlvbiwgYW5kIHZhcmlhYmxlIHNlZ21lbnRzIHdpbGwgYmUgc2VwYXJhdGVkIGJ5IGRvdHMsIGFuZCB0aGUgc2VjdGlvbgotICBhbmQgdmFyaWFibGUgc2VnbWVudHMgd2lsbCBiZSBhbGwgbG93ZXJjYXNlLgotICBFLmcuLCBgY29yZS5pZ25vcmVjYXNlYCwgYGRpZmYuU29tZVR5cGUudGV4dGNvbnZgLgotCi0tIHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUsIGFzIGEgc3RyaW5nLiBJZiB2YWx1ZSBpcyBlcXVhbCB0byBOVUxMLCBpdCB3aWxsCi0gIHJlbW92ZSB0aGUgbWF0Y2hpbmcga2V5IGZyb20gdGhlIGNvbmZpZyBmaWxlLgotCi0tIHRoZSB2YWx1ZSByZWdleCwgYXMgYSBzdHJpbmcuIEl0IHdpbGwgZGlzcmVnYXJkIGtleS92YWx1ZSBwYWlycyB3aGVyZSB2YWx1ZQotICBkb2VzIG5vdCBtYXRjaC4KLQotLSBhIG11bHRpX3JlcGxhY2UgdmFsdWUsIGFzIGFuIGludC4gSWYgdmFsdWUgaXMgZXF1YWwgdG8gemVybywgbm90aGluZyBvciBvbmx5Ci0gIG9uZSBtYXRjaGluZyBrZXkvdmFsdWUgaXMgcmVwbGFjZWQsIGVsc2UgYWxsIG1hdGNoaW5nIGtleS92YWx1ZXMgKHJlZ2FyZGxlc3MKLSAgaG93IG1hbnkpIGFyZSByZW1vdmVkLCBiZWZvcmUgdGhlIG5ldyBwYWlyIGlzIHdyaXR0ZW4uCi0KLUl0IHJldHVybnMgMCBvbiBzdWNjZXNzLgotCi1BbHNvLCB0aGVyZSBhcmUgZnVuY3Rpb25zIGBnaXRfY29uZmlnX3JlbmFtZV9zZWN0aW9uYCBhbmQKLWBnaXRfY29uZmlnX3JlbmFtZV9zZWN0aW9uX2luX2ZpbGVgIHdpdGggcGFyYW1ldGVycyBgb2xkX25hbWVgIGFuZCBgbmV3X25hbWVgCi1mb3IgcmVuYW1pbmcgb3IgcmVtb3Zpbmcgc2VjdGlvbnMgaW4gdGhlIGNvbmZpZyBmaWxlcy4gSWYgTlVMTCBpcyBwYXNzZWQKLXRocm91Z2ggYG5ld19uYW1lYCBwYXJhbWV0ZXIsIHRoZSBzZWN0aW9uIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSBjb25maWcgZmlsZS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1jcmVkZW50aWFscy50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktY3JlZGVudGlhbHMudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NTM2OGYyLi4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1jcmVkZW50aWFscy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNzEgKzAsMCBAQAotY3JlZGVudGlhbHMgQVBJCi09PT09PT09PT09PT09PT0KLQotVGhlIGNyZWRlbnRpYWxzIEFQSSBwcm92aWRlcyBhbiBhYnN0cmFjdGVkIHdheSBvZiBnYXRoZXJpbmcgdXNlcm5hbWUgYW5kCi1wYXNzd29yZCBjcmVkZW50aWFscyBmcm9tIHRoZSB1c2VyIChldmVuIHRob3VnaCBjcmVkZW50aWFscyBpbiB0aGUgd2lkZXIKLXdvcmxkIGNhbiB0YWtlIG1hbnkgZm9ybXMsIGluIHRoaXMgZG9jdW1lbnQgdGhlIHdvcmQgImNyZWRlbnRpYWwiIGFsd2F5cwotcmVmZXJzIHRvIGEgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIHBhaXIpLgotCi1UaGlzIGRvY3VtZW50IGRlc2NyaWJlcyB0d28gaW50ZXJmYWNlczogdGhlIEMgQVBJIHRoYXQgdGhlIGNyZWRlbnRpYWwKLXN1YnN5c3RlbSBwcm92aWRlcyB0byB0aGUgcmVzdCBvZiBHaXQsIGFuZCB0aGUgcHJvdG9jb2wgdGhhdCBHaXQgdXNlcyB0bwotY29tbXVuaWNhdGUgd2l0aCBzeXN0ZW0tc3BlY2lmaWMgImNyZWRlbnRpYWwgaGVscGVycyIuIElmIHlvdSBhcmUKLXdyaXRpbmcgR2l0IGNvZGUgdGhhdCB3YW50cyB0byBsb29rIHVwIG9yIHByb21wdCBmb3IgY3JlZGVudGlhbHMsIHNlZQotdGhlIHNlY3Rpb24gIkMgQVBJIiBiZWxvdy4gSWYgeW91IHdhbnQgdG8gd3JpdGUgeW91ciBvd24gaGVscGVyLCBzZWUKLXRoZSBzZWN0aW9uIG9uICJDcmVkZW50aWFsIEhlbHBlcnMiIGJlbG93LgotCi1UeXBpY2FsIHNldHVwCi0tLS0tLS0tLS0tLS0tCi0KLS0tLS0tLS0tLS0tLQotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCBHaXQgY29kZSAoQykgICAgICAgICAgfC0tLSB0byBzZXJ2ZXIgcmVxdWlyaW5nIC0tLT4KLXwgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgIGF1dGhlbnRpY2F0aW9uCi18Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi58Ci18IEMgY3JlZGVudGlhbCBBUEkgICAgICB8LS0tIHByb21wdCAtLS0+IFVzZXIKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLQleICAgICAgfAotCXwgcGlwZSB8Ci0JfCAgICAgIHYKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgR2l0IGNyZWRlbnRpYWwgaGVscGVyIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLS0tLS0tLS0tLS0tLQotCi1UaGUgR2l0IGNvZGUgKHR5cGljYWxseSBhIHJlbW90ZS1oZWxwZXIpIHdpbGwgY2FsbCB0aGUgQyBBUEkgdG8gb2J0YWluCi1jcmVkZW50aWFsIGRhdGEgbGlrZSBhIGxvZ2luL3Bhc3N3b3JkIHBhaXIgKGNyZWRlbnRpYWxfZmlsbCkuIFRoZQotQVBJIHdpbGwgaXRzZWxmIGNhbGwgYSByZW1vdGUgaGVscGVyIChlLmcuICJnaXQgY3JlZGVudGlhbC1jYWNoZSIgb3IKLSJnaXQgY3JlZGVudGlhbC1zdG9yZSIpIHRoYXQgbWF5IHJldHJpZXZlIGNyZWRlbnRpYWwgZGF0YSBmcm9tIGEKLXN0b3JlLiBJZiB0aGUgY3JlZGVudGlhbCBoZWxwZXIgY2Fubm90IGZpbmQgdGhlIGluZm9ybWF0aW9uLCB0aGUgQyBBUEkKLXdpbGwgcHJvbXB0IHRoZSB1c2VyLiBUaGVuLCB0aGUgY2FsbGVyIG9mIHRoZSBBUEkgdGFrZXMgY2FyZSBvZgotY29udGFjdGluZyB0aGUgc2VydmVyLCBhbmQgZG9lcyB0aGUgYWN0dWFsIGF1dGhlbnRpY2F0aW9uLgotCi1DIEFQSQotLS0tLS0KLQotVGhlIGNyZWRlbnRpYWwgQyBBUEkgaXMgbWVhbnQgdG8gYmUgY2FsbGVkIGJ5IEdpdCBjb2RlIHdoaWNoIG5lZWRzIHRvCi1hY3F1aXJlIG9yIHN0b3JlIGEgY3JlZGVudGlhbC4gSXQgaXMgY2VudGVyZWQgYXJvdW5kIGFuIG9iamVjdAotcmVwcmVzZW50aW5nIGEgc2luZ2xlIGNyZWRlbnRpYWwgYW5kIHByb3ZpZGVzIHRocmVlIGJhc2ljIG9wZXJhdGlvbnM6Ci1maWxsIChhY3F1aXJlIGNyZWRlbnRpYWxzIGJ5IGNhbGxpbmcgaGVscGVycyBhbmQvb3IgcHJvbXB0aW5nIHRoZSB1c2VyKSwKLWFwcHJvdmUgKG1hcmsgYSBjcmVkZW50aWFsIGFzIHN1Y2Nlc3NmdWxseSB1c2VkIHNvIHRoYXQgaXQgY2FuIGJlIHN0b3JlZAotZm9yIGxhdGVyIHVzZSksIGFuZCByZWplY3QgKG1hcmsgYSBjcmVkZW50aWFsIGFzIHVuc3VjY2Vzc2Z1bCBzbyB0aGF0IGl0Ci1jYW4gYmUgZXJhc2VkIGZyb20gYW55IHBlcnNpc3RlbnQgc3RvcmFnZSkuCi0KLURhdGEgU3RydWN0dXJlcwotfn5+fn5+fn5+fn5+fn5+Ci0KLWBzdHJ1Y3QgY3JlZGVudGlhbGA6OgotCi0JVGhpcyBzdHJ1Y3QgcmVwcmVzZW50cyBhIHNpbmdsZSB1c2VybmFtZS9wYXNzd29yZCBjb21iaW5hdGlvbgotCWFsb25nIHdpdGggYW55IGFzc29jaWF0ZWQgY29udGV4dC4gQWxsIHN0cmluZyBmaWVsZHMgc2hvdWxkIGJlCi0JaGVhcC1hbGxvY2F0ZWQgKG9yIE5VTEwgaWYgdGhleSBhcmUgbm90IGtub3duIG9yIG5vdCBhcHBsaWNhYmxlKS4KLQlUaGUgbWVhbmluZyBvZiB0aGUgaW5kaXZpZHVhbCBjb250ZXh0IGZpZWxkcyBpcyB0aGUgc2FtZSBhcwotCXRoZWlyIGNvdW50ZXJwYXJ0cyBpbiB0aGUgaGVscGVyIHByb3RvY29sOyBzZWUgdGhlIHNlY3Rpb24gYmVsb3cKLQlmb3IgYSBkZXNjcmlwdGlvbiBvZiBlYWNoIGZpZWxkLgotKwotVGhlIGBoZWxwZXJzYCBtZW1iZXIgb2YgdGhlIHN0cnVjdCBpcyBhIGBzdHJpbmdfbGlzdGAgb2YgaGVscGVycy4gIEVhY2gKLXN0cmluZyBzcGVjaWZpZXMgYW4gZXh0ZXJuYWwgaGVscGVyIHdoaWNoIHdpbGwgYmUgcnVuLCBpbiBvcmRlciwgdG8KLWVpdGhlciBhY3F1aXJlIG9yIHN0b3JlIGNyZWRlbnRpYWxzLiBTZWUgdGhlIHNlY3Rpb24gb24gY3JlZGVudGlhbAotaGVscGVycyBiZWxvdy4gVGhpcyBsaXN0IGlzIGZpbGxlZC1pbiBieSB0aGUgQVBJIGZ1bmN0aW9ucwotYWNjb3JkaW5nIHRvIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzIGJlZm9yZQotY29uc3VsdGluZyBoZWxwZXJzLCBzbyB0aGVyZSB1c3VhbGx5IGlzIG5vIG5lZWQgZm9yIGEgY2FsbGVyIHRvCi1tb2RpZnkgdGhlIGhlbHBlcnMgZmllbGQgYXQgYWxsLgotKwotVGhpcyBzdHJ1Y3Qgc2hvdWxkIGFsd2F5cyBiZSBpbml0aWFsaXplZCB3aXRoIGBDUkVERU5USUFMX0lOSVRgIG9yCi1gY3JlZGVudGlhbF9pbml0YC4KLQotCi1GdW5jdGlvbnMKLX5+fn5+fn5+fgotCi1gY3JlZGVudGlhbF9pbml0YDo6Ci0KLQlJbml0aWFsaXplIGEgY3JlZGVudGlhbCBzdHJ1Y3R1cmUsIHNldHRpbmcgYWxsIGZpZWxkcyB0byBlbXB0eS4KLQotYGNyZWRlbnRpYWxfY2xlYXJgOjoKLQotCUZyZWUgYW55IHJlc291cmNlcyBhc3NvY2lhdGVkIHdpdGggdGhlIGNyZWRlbnRpYWwgc3RydWN0dXJlLAotCXJldHVybmluZyBpdCB0byBhIHByaXN0aW5lIGluaXRpYWxpemVkIHN0YXRlLgotCi1gY3JlZGVudGlhbF9maWxsYDo6Ci0KLQlJbnN0cnVjdCB0aGUgY3JlZGVudGlhbCBzdWJzeXN0ZW0gdG8gZmlsbCB0aGUgdXNlcm5hbWUgYW5kCi0JcGFzc3dvcmQgZmllbGRzIG9mIHRoZSBwYXNzZWQgY3JlZGVudGlhbCBzdHJ1Y3QgYnkgZmlyc3QKLQljb25zdWx0aW5nIGhlbHBlcnMsIHRoZW4gYXNraW5nIHRoZSB1c2VyLiBBZnRlciB0aGlzIGZ1bmN0aW9uCi0JcmV0dXJucywgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZHMgb2YgdGhlIGNyZWRlbnRpYWwgYXJlCi0JZ3VhcmFudGVlZCB0byBiZSBub24tTlVMTC4gSWYgYW4gZXJyb3Igb2NjdXJzLCB0aGUgZnVuY3Rpb24gd2lsbAotCWRpZSgpLgotCi1gY3JlZGVudGlhbF9yZWplY3RgOjoKLQotCUluZm9ybSB0aGUgY3JlZGVudGlhbCBzdWJzeXN0ZW0gdGhhdCB0aGUgcHJvdmlkZWQgY3JlZGVudGlhbHMKLQloYXZlIGJlZW4gcmVqZWN0ZWQuIFRoaXMgd2lsbCBjYXVzZSB0aGUgY3JlZGVudGlhbCBzdWJzeXN0ZW0gdG8KLQlub3RpZnkgYW55IGhlbHBlcnMgb2YgdGhlIHJlamVjdGlvbiAod2hpY2ggYWxsb3dzIHRoZW0sIGZvcgotCWV4YW1wbGUsIHRvIHB1cmdlIHRoZSBpbnZhbGlkIGNyZWRlbnRpYWxzIGZyb20gc3RvcmFnZSkuICBJdAotCXdpbGwgYWxzbyBmcmVlKCkgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZHMgb2YgdGhlCi0JY3JlZGVudGlhbCBhbmQgc2V0IHRoZW0gdG8gTlVMTCAocmVhZHlpbmcgdGhlIGNyZWRlbnRpYWwgZm9yCi0JYW5vdGhlciBjYWxsIHRvIGBjcmVkZW50aWFsX2ZpbGxgKS4gQW55IGVycm9ycyBmcm9tIGhlbHBlcnMgYXJlCi0JaWdub3JlZC4KLQotYGNyZWRlbnRpYWxfYXBwcm92ZWA6OgotCi0JSW5mb3JtIHRoZSBjcmVkZW50aWFsIHN1YnN5c3RlbSB0aGF0IHRoZSBwcm92aWRlZCBjcmVkZW50aWFscwotCXdlcmUgc3VjY2Vzc2Z1bGx5IHVzZWQgZm9yIGF1dGhlbnRpY2F0aW9uLiAgVGhpcyB3aWxsIGNhdXNlIHRoZQotCWNyZWRlbnRpYWwgc3Vic3lzdGVtIHRvIG5vdGlmeSBhbnkgaGVscGVycyBvZiB0aGUgYXBwcm92YWwsIHNvCi0JdGhhdCB0aGV5IG1heSBzdG9yZSB0aGUgcmVzdWx0IHRvIGJlIHVzZWQgYWdhaW4uICBBbnkgZXJyb3JzCi0JZnJvbSBoZWxwZXJzIGFyZSBpZ25vcmVkLgotCi1gY3JlZGVudGlhbF9mcm9tX3VybGA6OgotCi0JUGFyc2UgYSBVUkwgaW50byBicm9rZW4tZG93biBjcmVkZW50aWFsIGZpZWxkcy4KLQotRXhhbXBsZQotfn5+fn5+fgotCi1UaGUgZXhhbXBsZSBiZWxvdyBzaG93cyBob3cgdGhlIGZ1bmN0aW9ucyBvZiB0aGUgY3JlZGVudGlhbCBBUEkgY291bGQgYmUKLXVzZWQgdG8gbG9naW4gdG8gYSBmaWN0aXRpb3VzICJmb28iIHNlcnZpY2Ugb24gYSByZW1vdGUgaG9zdDoKLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWludCBmb29fbG9naW4oc3RydWN0IGZvb19jb25uZWN0aW9uICpmKQotewotCWludCBzdGF0dXM7Ci0JLyoKLQkgKiBDcmVhdGUgYSBjcmVkZW50aWFsIHdpdGggc29tZSBjb250ZXh0OyB3ZSBkb24ndCB5ZXQga25vdyB0aGUKLQkgKiB1c2VybmFtZSBvciBwYXNzd29yZC4KLQkgKi8KLQotCXN0cnVjdCBjcmVkZW50aWFsIGMgPSBDUkVERU5USUFMX0lOSVQ7Ci0JYy5wcm90b2NvbCA9IHhzdHJkdXAoImZvbyIpOwotCWMuaG9zdCA9IHhzdHJkdXAoZi0+aG9zdG5hbWUpOwotCi0JLyoKLQkgKiBGaWxsIGluIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRzIGJ5IGNvbnRhY3RpbmcKLQkgKiBoZWxwZXJzIGFuZC9vciBhc2tpbmcgdGhlIHVzZXIuIFRoZSBmdW5jdGlvbiB3aWxsIGRpZSBpZiBpdAotCSAqIGZhaWxzLgotCSAqLwotCWNyZWRlbnRpYWxfZmlsbCgmYyk7Ci0KLQkvKgotCSAqIE90aGVyd2lzZSwgd2UgaGF2ZSBhIHVzZXJuYW1lIGFuZCBwYXNzd29yZC4gVHJ5IHRvIHVzZSBpdC4KLQkgKi8KLQlzdGF0dXMgPSBzZW5kX2Zvb19sb2dpbihmLCBjLnVzZXJuYW1lLCBjLnBhc3N3b3JkKTsKLQlzd2l0Y2ggKHN0YXR1cykgewotCWNhc2UgRk9PX09LOgotCQkvKiBJdCB3b3JrZWQuIFN0b3JlIHRoZSBjcmVkZW50aWFsIGZvciBsYXRlciB1c2UuICovCi0JCWNyZWRlbnRpYWxfYWNjZXB0KCZjKTsKLQkJYnJlYWs7Ci0JY2FzZSBGT09fQkFEX0xPR0lOOgotCQkvKiBFcmFzZSB0aGUgY3JlZGVudGlhbCBmcm9tIHN0b3JhZ2Ugc28gd2UgZG9uJ3QgdHJ5IGl0Ci0JCSAqIGFnYWluLiAqLwotCQljcmVkZW50aWFsX3JlamVjdCgmYyk7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCS8qCi0JCSAqIFNvbWUgb3RoZXIgZXJyb3Igb2NjdXJyZWQuIFdlIGRvbid0IGtub3cgaWYgdGhlCi0JCSAqIGNyZWRlbnRpYWwgaXMgZ29vZCBvciBiYWQsIHNvIHJlcG9ydCBub3RoaW5nIHRvIHRoZQotCQkgKiBjcmVkZW50aWFsIHN1YnN5c3RlbS4KLQkJICovCi0JfQotCi0JLyogRnJlZSBhbnkgYXNzb2NpYXRlZCByZXNvdXJjZXMuICovCi0JY3JlZGVudGlhbF9jbGVhcigmYyk7Ci0KLQlyZXR1cm4gc3RhdHVzOwotfQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotCi1DcmVkZW50aWFsIEhlbHBlcnMKLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1DcmVkZW50aWFsIGhlbHBlcnMgYXJlIHByb2dyYW1zIGV4ZWN1dGVkIGJ5IEdpdCB0byBmZXRjaCBvciBzYXZlCi1jcmVkZW50aWFscyBmcm9tIGFuZCB0byBsb25nLXRlcm0gc3RvcmFnZSAod2hlcmUgImxvbmctdGVybSIgaXMgc2ltcGx5Ci1sb25nZXIgdGhhbiBhIHNpbmdsZSBHaXQgcHJvY2VzczsgZS5nLiwgY3JlZGVudGlhbHMgbWF5IGJlIHN0b3JlZAotaW4tbWVtb3J5IGZvciBhIGZldyBtaW51dGVzLCBvciBpbmRlZmluaXRlbHkgb24gZGlzaykuCi0KLUVhY2ggaGVscGVyIGlzIHNwZWNpZmllZCBieSBhIHNpbmdsZSBzdHJpbmcgaW4gdGhlIGNvbmZpZ3VyYXRpb24KLXZhcmlhYmxlIGBjcmVkZW50aWFsLmhlbHBlcmAgKGFuZCBvdGhlcnMsIHNlZSBsaW5rZ2l0OmdpdC1jb25maWdbMV0pLgotVGhlIHN0cmluZyBpcyB0cmFuc2Zvcm1lZCBieSBHaXQgaW50byBhIGNvbW1hbmQgdG8gYmUgZXhlY3V0ZWQgdXNpbmcKLXRoZXNlIHJ1bGVzOgotCi0gIDEuIElmIHRoZSBoZWxwZXIgc3RyaW5nIGJlZ2lucyB3aXRoICIhIiwgaXQgaXMgY29uc2lkZXJlZCBhIHNoZWxsCi0gICAgIHNuaXBwZXQsIGFuZCBldmVyeXRoaW5nIGFmdGVyIHRoZSAiISIgYmVjb21lcyB0aGUgY29tbWFuZC4KLQotICAyLiBPdGhlcndpc2UsIGlmIHRoZSBoZWxwZXIgc3RyaW5nIGJlZ2lucyB3aXRoIGFuIGFic29sdXRlIHBhdGgsIHRoZQotICAgICB2ZXJiYXRpbSBoZWxwZXIgc3RyaW5nIGJlY29tZXMgdGhlIGNvbW1hbmQuCi0KLSAgMy4gT3RoZXJ3aXNlLCB0aGUgc3RyaW5nICJnaXQgY3JlZGVudGlhbC0iIGlzIHByZXBlbmRlZCB0byB0aGUgaGVscGVyCi0gICAgIHN0cmluZywgYW5kIHRoZSByZXN1bHQgYmVjb21lcyB0aGUgY29tbWFuZC4KLQotVGhlIHJlc3VsdGluZyBjb21tYW5kIHRoZW4gaGFzIGFuICJvcGVyYXRpb24iIGFyZ3VtZW50IGFwcGVuZGVkIHRvIGl0Ci0oc2VlIGJlbG93IGZvciBkZXRhaWxzKSwgYW5kIHRoZSByZXN1bHQgaXMgZXhlY3V0ZWQgYnkgdGhlIHNoZWxsLgotCi1IZXJlIGFyZSBzb21lIGV4YW1wbGUgc3BlY2lmaWNhdGlvbnM6Ci0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSMgcnVuICJnaXQgY3JlZGVudGlhbC1mb28iCi1mb28KLQotIyBzYW1lIGFzIGFib3ZlLCBidXQgcGFzcyBhbiBhcmd1bWVudCB0byB0aGUgaGVscGVyCi1mb28gLS1iYXI9YmF6Ci0KLSMgdGhlIGFyZ3VtZW50cyBhcmUgcGFyc2VkIGJ5IHRoZSBzaGVsbCwgc28gdXNlIHNoZWxsCi0jIHF1b3RpbmcgaWYgbmVjZXNzYXJ5Ci1mb28gLS1iYXI9IndoaXRlc3BhY2UgYXJnIgotCi0jIHlvdSBjYW4gYWxzbyB1c2UgYW4gYWJzb2x1dGUgcGF0aCwgd2hpY2ggd2lsbCBub3QgdXNlIHRoZSBnaXQgd3JhcHBlcgotL3BhdGgvdG8vbXkvaGVscGVyIC0td2l0aC1hcmd1bWVudHMKLQotIyBvciB5b3UgY2FuIHNwZWNpZnkgeW91ciBvd24gc2hlbGwgc25pcHBldAotIWYoKSB7IGVjaG8gInBhc3N3b3JkPWBjYXQgJEhPTUUvLnNlY3JldGAiOyB9OyBmCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLUdlbmVyYWxseSBzcGVha2luZywgcnVsZSAoMykgYWJvdmUgaXMgdGhlIHNpbXBsZXN0IGZvciB1c2VycyB0byBzcGVjaWZ5LgotQXV0aG9ycyBvZiBjcmVkZW50aWFsIGhlbHBlcnMgc2hvdWxkIG1ha2UgYW4gZWZmb3J0IHRvIGFzc2lzdCB0aGVpcgotdXNlcnMgYnkgbmFtaW5nIHRoZWlyIHByb2dyYW0gImdpdC1jcmVkZW50aWFsLSROQU1FIiwgYW5kIHB1dHRpbmcgaXQgaW4KLXRoZSAkUEFUSCBvciAkR0lUX0VYRUNfUEFUSCBkdXJpbmcgaW5zdGFsbGF0aW9uLCB3aGljaCB3aWxsIGFsbG93IGEgdXNlcgotdG8gZW5hYmxlIGl0IHdpdGggYGdpdCBjb25maWcgY3JlZGVudGlhbC5oZWxwZXIgJE5BTUVgLgotCi1XaGVuIGEgaGVscGVyIGlzIGV4ZWN1dGVkLCBpdCB3aWxsIGhhdmUgb25lICJvcGVyYXRpb24iIGFyZ3VtZW50Ci1hcHBlbmRlZCB0byBpdHMgY29tbWFuZCBsaW5lLCB3aGljaCBpcyBvbmUgb2Y6Ci0KLWBnZXRgOjoKLQotCVJldHVybiBhIG1hdGNoaW5nIGNyZWRlbnRpYWwsIGlmIGFueSBleGlzdHMuCi0KLWBzdG9yZWA6OgotCi0JU3RvcmUgdGhlIGNyZWRlbnRpYWwsIGlmIGFwcGxpY2FibGUgdG8gdGhlIGhlbHBlci4KLQotYGVyYXNlYDo6Ci0KLQlSZW1vdmUgYSBtYXRjaGluZyBjcmVkZW50aWFsLCBpZiBhbnksIGZyb20gdGhlIGhlbHBlcidzIHN0b3JhZ2UuCi0KLVRoZSBkZXRhaWxzIG9mIHRoZSBjcmVkZW50aWFsIHdpbGwgYmUgcHJvdmlkZWQgb24gdGhlIGhlbHBlcidzIHN0ZGluCi1zdHJlYW0uIFRoZSBleGFjdCBmb3JtYXQgaXMgdGhlIHNhbWUgYXMgdGhlIGlucHV0L291dHB1dCBmb3JtYXQgb2YgdGhlCi1gZ2l0IGNyZWRlbnRpYWxgIHBsdW1iaW5nIGNvbW1hbmQgKHNlZSB0aGUgc2VjdGlvbiBgSU5QVVQvT1VUUFVUCi1GT1JNQVRgIGluIGxpbmtnaXQ6Z2l0LWNyZWRlbnRpYWxbMV0gZm9yIGEgZGV0YWlsZWQgc3BlY2lmaWNhdGlvbikuCi0KLUZvciBhIGBnZXRgIG9wZXJhdGlvbiwgdGhlIGhlbHBlciBzaG91bGQgcHJvZHVjZSBhIGxpc3Qgb2YgYXR0cmlidXRlcwotb24gc3Rkb3V0IGluIHRoZSBzYW1lIGZvcm1hdC4gQSBoZWxwZXIgaXMgZnJlZSB0byBwcm9kdWNlIGEgc3Vic2V0LCBvcgotZXZlbiBubyB2YWx1ZXMgYXQgYWxsIGlmIGl0IGhhcyBub3RoaW5nIHVzZWZ1bCB0byBwcm92aWRlLiBBbnkgcHJvdmlkZWQKLWF0dHJpYnV0ZXMgd2lsbCBvdmVyd3JpdGUgdGhvc2UgYWxyZWFkeSBrbm93biBhYm91dCBieSBHaXQuICBJZiBhIGhlbHBlcgotb3V0cHV0cyBhIGBxdWl0YCBhdHRyaWJ1dGUgd2l0aCBhIHZhbHVlIG9mIGB0cnVlYCBvciBgMWAsIG5vIGZ1cnRoZXIKLWhlbHBlcnMgd2lsbCBiZSBjb25zdWx0ZWQsIG5vciB3aWxsIHRoZSB1c2VyIGJlIHByb21wdGVkIChpZiBubwotY3JlZGVudGlhbCBoYXMgYmVlbiBwcm92aWRlZCwgdGhlIG9wZXJhdGlvbiB3aWxsIHRoZW4gZmFpbCkuCi0KLUZvciBhIGBzdG9yZWAgb3IgYGVyYXNlYCBvcGVyYXRpb24sIHRoZSBoZWxwZXIncyBvdXRwdXQgaXMgaWdub3JlZC4KLUlmIGl0IGZhaWxzIHRvIHBlcmZvcm0gdGhlIHJlcXVlc3RlZCBvcGVyYXRpb24sIGl0IG1heSBjb21wbGFpbiB0bwotc3RkZXJyIHRvIGluZm9ybSB0aGUgdXNlci4gSWYgaXQgZG9lcyBub3Qgc3VwcG9ydCB0aGUgcmVxdWVzdGVkCi1vcGVyYXRpb24gKGUuZy4sIGEgcmVhZC1vbmx5IHN0b3JlKSwgaXQgc2hvdWxkIHNpbGVudGx5IGlnbm9yZSB0aGUKLXJlcXVlc3QuCi0KLUlmIGEgaGVscGVyIHJlY2VpdmVzIGFueSBvdGhlciBvcGVyYXRpb24sIGl0IHNob3VsZCBzaWxlbnRseSBpZ25vcmUgdGhlCi1yZXF1ZXN0LiBUaGlzIGxlYXZlcyByb29tIGZvciBmdXR1cmUgb3BlcmF0aW9ucyB0byBiZSBhZGRlZCAob2xkZXIKLWhlbHBlcnMgd2lsbCBqdXN0IGlnbm9yZSB0aGUgbmV3IHJlcXVlc3RzKS4KLQotU2VlIGFsc28KLS0tLS0tLS0tCi0KLWxpbmtnaXQ6Z2l0Y3JlZGVudGlhbHNbN10KLQotbGlua2dpdDpnaXQtY29uZmlnWzFdIChTZWUgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMgYGNyZWRlbnRpYWwuKmApCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktZGlmZi50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktZGlmZi50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwZmMwZTkuLjAwMDAwMDAKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWRpZmYudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTc0ICswLDAgQEAKLWRpZmYgQVBJCi09PT09PT09PQotCi1UaGUgZGlmZiBBUEkgaXMgZm9yIHByb2dyYW1zIHRoYXQgY29tcGFyZSB0d28gc2V0cyBvZiBmaWxlcyAoZS5nLiB0d28KLXRyZWVzLCBvbmUgdHJlZSBhbmQgdGhlIGluZGV4KSBhbmQgcHJlc2VudCB0aGUgZm91bmQgZGlmZmVyZW5jZSBpbgotdmFyaW91cyB3YXlzLiAgVGhlIGNhbGxpbmcgcHJvZ3JhbSBpcyByZXNwb25zaWJsZSBmb3IgZmVlZGluZyB0aGUgQVBJCi1wYWlycyBvZiBmaWxlcywgb25lIGZyb20gdGhlICJvbGQiIHNldCBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgb25lIGZyb20KLSJuZXciIHNldCwgdGhhdCBhcmUgZGlmZmVyZW50LiAgVGhlIGxpYnJhcnkgY2FsbGVkIHRocm91Z2ggdGhpcyBBUEkgaXMKLWNhbGxlZCBkaWZmY29yZSwgYW5kIGlzIHJlc3BvbnNpYmxlIGZvciB0d28gdGhpbmdzLgotCi0qIGZpbmRpbmcgdG90YWwgcmV3cml0ZXMgKGAtQmApLCByZW5hbWVzIChgLU1gKSBhbmQgY29waWVzIChgLUNgKSwgYW5kCi0gIGNoYW5nZXMgdGhhdCB0b3VjaCBhIHN0cmluZyAoYC1TYCksIGFzIHNwZWNpZmllZCBieSB0aGUgY2FsbGVyLgotCi0qIG91dHB1dHRpbmcgdGhlIGRpZmZlcmVuY2VzIGluIHZhcmlvdXMgZm9ybWF0cywgYXMgc3BlY2lmaWVkIGJ5IHRoZQotICBjYWxsZXIuCi0KLUNhbGxpbmcgc2VxdWVuY2UKLS0tLS0tLS0tLS0tLS0tLS0KLQotKiBQcmVwYXJlIGBzdHJ1Y3QgZGlmZl9vcHRpb25zYCB0byByZWNvcmQgdGhlIHNldCBvZiBkaWZmIG9wdGlvbnMsIGFuZAotICB0aGVuIGNhbGwgYHJlcG9fZGlmZl9zZXR1cCgpYCB0byBpbml0aWFsaXplIHRoaXMgc3RydWN0dXJlLiAgVGhpcwotICBzZXRzIHVwIHRoZSB2YW5pbGxhIGRlZmF1bHQuCi0KLSogRmlsbCBpbiB0aGUgb3B0aW9ucyBzdHJ1Y3R1cmUgdG8gc3BlY2lmeSBkZXNpcmVkIG91dHB1dCBmb3JtYXQsIHJlbmFtZQotICBkZXRlY3Rpb24sIGV0Yy4gIGBkaWZmX29wdF9wYXJzZSgpYCBjYW4gYmUgdXNlZCB0byBwYXJzZSBvcHRpb25zIGdpdmVuCi0gIGZyb20gdGhlIGNvbW1hbmQgbGluZSBpbiBhIHdheSBjb25zaXN0ZW50IHdpdGggZXhpc3RpbmcgZ2l0LWRpZmYKLSAgZmFtaWx5IG9mIHByb2dyYW1zLgotCi0qIENhbGwgYGRpZmZfc2V0dXBfZG9uZSgpYDsgdGhpcyBpbnNwZWN0cyB0aGUgb3B0aW9ucyBzZXQgdXAgc28gZmFyIGZvcgotICBpbnRlcm5hbCBjb25zaXN0ZW5jeSBhbmQgbWFrZSBuZWNlc3NhcnkgdHdlYWtpbmcgdG8gaXQgKGUuZy4gaWYKLSAgdGV4dHVhbCBwYXRjaCBvdXRwdXQgd2FzIGFza2VkLCByZWN1cnNpdmUgYmVoYXZpb3VyIGlzIHR1cm5lZCBvbik7Ci0gIHRoZSBjYWxsYmFjayBzZXRfZGVmYXVsdCBpbiBkaWZmX29wdGlvbnMgY2FuIGJlIHVzZWQgdG8gdHdlYWsgdGhpcyBtb3JlLgotCi0qIEFzIHlvdSBmaW5kIGRpZmZlcmVudCBwYWlycyBvZiBmaWxlcywgY2FsbCBgZGlmZl9jaGFuZ2UoKWAgdG8gZmVlZAotICBtb2RpZmllZCBmaWxlcywgYGRpZmZfYWRkcmVtb3ZlKClgIHRvIGZlZWQgY3JlYXRlZCBvciBkZWxldGVkIGZpbGVzLAotICBvciBgZGlmZl91bm1lcmdlKClgIHRvIGZlZWQgYSBmaWxlIHdob3NlIHN0YXRlIGlzICd1bm1lcmdlZCcgdG8gdGhlCi0gIEFQSS4gIFRoZXNlIGFyZSB0aGluIHdyYXBwZXJzIHRvIGEgbG93ZXItbGV2ZWwgYGRpZmZfcXVldWUoKWAgZnVuY3Rpb24KLSAgdGhhdCBpcyBmbGV4aWJsZSBlbm91Z2ggdG8gcmVjb3JkIGFueSBvZiB0aGVzZSBraW5kcyBvZiBjaGFuZ2VzLgotCi0qIE9uY2UgeW91IGZpbmlzaCBmZWVkaW5nIHRoZSBwYWlycyBvZiBmaWxlcywgY2FsbCBgZGlmZmNvcmVfc3RkKClgLgotICBUaGlzIHdpbGwgdGVsbCB0aGUgZGlmZmNvcmUgbGlicmFyeSB0byBnbyBhaGVhZCBhbmQgZG8gaXRzIHdvcmsuCi0KLSogQ2FsbGluZyBgZGlmZl9mbHVzaCgpYCB3aWxsIHByb2R1Y2UgdGhlIG91dHB1dC4KLQotCi1EYXRhIHN0cnVjdHVyZXMKLS0tLS0tLS0tLS0tLS0tLQotCi0qIGBzdHJ1Y3QgZGlmZl9maWxlc3BlY2AKLQotVGhpcyBpcyB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gZm9yIGEgc2luZ2xlIGZpbGUgKGJsb2IpLiAgSXQKLXJlY29yZHMgdGhlIGJsb2Igb2JqZWN0IG5hbWUgKGlmIGtub3duIC0tIGZvciBhIHdvcmsgdHJlZSBmaWxlIGl0Ci10eXBpY2FsbHkgaXMgYSBOVUwgU0hBLTEpLCBmaWxlbW9kZSBhbmQgcGF0aG5hbWUuICBUaGlzIGlzIHdoYXQgdGhlCi1gZGlmZl9hZGRyZW1vdmUoKWAsIGBkaWZmX2NoYW5nZSgpYCBhbmQgYGRpZmZfdW5tZXJnZSgpYCBzeW50aGVzaXplIGFuZAotZmVlZCBgZGlmZl9xdWV1ZSgpYCBmdW5jdGlvbiB3aXRoLgotCi0qIGBzdHJ1Y3QgZGlmZl9maWxlcGFpcmAKLQotVGhpcyByZWNvcmRzIGEgcGFpciBvZiBgc3RydWN0IGRpZmZfZmlsZXNwZWNgOyB0aGUgZmlsZXNwZWMgZm9yIGEgZmlsZQotaW4gdGhlICJvbGQiIHNldCAoaS5lLiBwcmVpbWFnZSkgaXMgY2FsbGVkIGBvbmVgLCBhbmQgdGhlIGZpbGVzcGVjIGZvciBhCi1maWxlIGluIHRoZSAibmV3IiBzZXQgKGkuZS4gcG9zdGltYWdlKSBpcyBjYWxsZWQgYHR3b2AuICBBIGNoYW5nZSB0aGF0Ci1yZXByZXNlbnRzIGZpbGUgY3JlYXRpb24gaGFzIE5VTEwgaW4gYG9uZWAsIGFuZCBmaWxlIGRlbGV0aW9uIGhhcyBOVUxMCi1pbiBgdHdvYC4KLQotQSBgZmlsZXBhaXJgIHN0YXJ0cyBwb2ludGluZyBhdCBgb25lYCBhbmQgYHR3b2AgdGhhdCBhcmUgZnJvbSB0aGUgc2FtZQotZmlsZW5hbWUsIGJ1dCBgZGlmZmNvcmVfc3RkKClgIGNhbiBicmVhayBwYWlycyBhbmQgbWF0Y2ggY29tcG9uZW50Ci1maWxlc3BlY3Mgd2l0aCBvdGhlciBmaWxlc3BlY3MgZnJvbSBhIGRpZmZlcmVudCBmaWxlcGFpciB0byBmb3JtIG5ldwotZmlsZXBhaXIuICBUaGlzIGlzIGNhbGxlZCAncmVuYW1lIGRldGVjdGlvbicuCi0KLSogYHN0cnVjdCBkaWZmX3F1ZXVlYAotCi1UaGlzIGlzIGEgY29sbGVjdGlvbiBvZiBmaWxlcGFpcnMuICBOb3RhYmxlIG1lbWJlcnMgYXJlOgotCi1gcXVldWVgOjoKLQotCUFuIGFycmF5IG9mIHBvaW50ZXJzIHRvIGBzdHJ1Y3QgZGlmZl9maWxlcGFpcmAuICBUaGlzCi0JZHluYW1pY2FsbHkgZ3Jvd3MgYXMgeW91IGFkZCBmaWxlcGFpcnM7Ci0KLWBhbGxvY2A6OgotCi0JVGhlIGFsbG9jYXRlZCBzaXplIG9mIHRoZSBgcXVldWVgIGFycmF5OwotCi1gbnJgOjoKLQotCVRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGBxdWV1ZWAgYXJyYXkuCi0KLQotKiBgc3RydWN0IGRpZmZfb3B0aW9uc2AKLQotVGhpcyBkZXNjcmliZXMgdGhlIHNldCBvZiBvcHRpb25zIHRoZSBjYWxsaW5nIHByb2dyYW0gd2FudHMgdG8gYWZmZWN0Ci10aGUgb3BlcmF0aW9uIG9mIGRpZmZjb3JlIGxpYnJhcnkgd2l0aC4KLQotTm90YWJsZSBtZW1iZXJzIGFyZToKLQotYG91dHB1dF9mb3JtYXRgOjoKLQlUaGUgb3V0cHV0IGZvcm1hdCB1c2VkIHdoZW4gYGRpZmZfZmx1c2goKWAgaXMgcnVuLgotCi1gY29udGV4dGA6OgotCU51bWJlciBvZiBjb250ZXh0IGxpbmVzIHRvIGdlbmVyYXRlIGluIHBhdGNoIG91dHB1dC4KLQotYGJyZWFrX29wdGAsIGBkZXRlY3RfcmVuYW1lYCwgYHJlbmFtZS1zY29yZWAsIGByZW5hbWVfbGltaXRgOjoKLQlBZmZlY3RzIHRoZSB3YXkgZGV0ZWN0aW9uIGxvZ2ljIGZvciBjb21wbGV0ZSByZXdyaXRlcywgcmVuYW1lcwotCWFuZCBjb3BpZXMuCi0KLWBhYmJyZXZgOjoKLQlOdW1iZXIgb2YgaGV4ZGlnaXRzIHRvIGFiYnJldmlhdGUgcmF3IGZvcm1hdCBvdXRwdXQgdG8uCi0KLWBwaWNrYXhlYDo6Ci0JQSBjb25zdGFudCBzdHJpbmcgKGNhbiBhbmQgdHlwaWNhbGx5IGRvZXMgY29udGFpbiBuZXdsaW5lcyB0bwotCWxvb2sgZm9yIGEgYmxvY2sgb2YgdGV4dCwgbm90IGp1c3QgYSBzaW5nbGUgbGluZSkgdG8gZmlsdGVyIG91dAotCXRoZSBmaWxlcGFpcnMgdGhhdCBkbyBub3QgY2hhbmdlIHRoZSBudW1iZXIgb2Ygc3RyaW5ncyBjb250YWluZWQKLQlpbiBpdHMgcHJlaW1hZ2UgYW5kIHBvc3RpbWFnZSBvZiB0aGUgZGlmZl9xdWV1ZS4KLQotYGZsYWdzYDo6Ci0JVGhpcyBpcyBtb3N0bHkgYSBjb2xsZWN0aW9uIG9mIGJvb2xlYW4gb3B0aW9ucyB0aGF0IGFmZmVjdHMgdGhlCi0Jb3BlcmF0aW9uLCBidXQgc29tZSBkbyBub3QgaGF2ZSBhbnl0aGluZyB0byBkbyB3aXRoIHRoZSBkaWZmY29yZQotCWxpYnJhcnkuCi0KLWB0b3VjaGVkX2ZsYWdzYDo6Ci0JUmVjb3JkcyB3aGV0aGVyIGEgZmxhZyBoYXMgYmVlbiBjaGFuZ2VkIGR1ZSB0byB1c2VyIHJlcXVlc3QKLQkocmF0aGVyIHRoYW4ganVzdCBzZXQvdW5zZXQgYnkgZGVmYXVsdCkuCi0KLWBzZXRfZGVmYXVsdGA6OgotCUNhbGxiYWNrIHdoaWNoIGFsbG93cyB0d2Vha2luZyB0aGUgb3B0aW9ucyBpbiBkaWZmX3NldHVwX2RvbmUoKS4KLQotQklOQVJZLCBURVhUOzsKLQlBZmZlY3RzIHRoZSB3YXkgaG93IGEgZmlsZSB0aGF0IGlzIHNlZW1pbmdseSBiaW5hcnkgaXMgdHJlYXRlZC4KLQotRlVMTF9JTkRFWDs7Ci0JVGVsbHMgdGhlIHBhdGNoIG91dHB1dCBmb3JtYXQgbm90IHRvIHVzZSBhYmJyZXZpYXRlZCBvYmplY3QKLQluYW1lcyBvbiB0aGUgImluZGV4IiBsaW5lcy4KLQotRklORF9DT1BJRVNfSEFSREVSOzsKLQlUZWxscyB0aGUgZGlmZmNvcmUgbGlicmFyeSB0aGF0IHRoZSBjYWxsZXIgaXMgZmVlZGluZyB1bmNoYW5nZWQKLQlmaWxlcGFpcnMgdG8gYWxsb3cgY29waWVzIGZyb20gdW5tb2RpZmllZCBmaWxlcyBiZSBkZXRlY3RlZC4KLQotQ09MT1JfRElGRjs7Ci0JT3V0cHV0IHNob3VsZCBiZSBjb2xvcmVkLgotCi1DT0xPUl9ESUZGX1dPUkRTOzsKLQlPdXRwdXQgaXMgYSBjb2xvcmVkIHdvcmQtZGlmZi4KLQotTk9fSU5ERVg7OwotCVRlbGxzIGRpZmYtZmlsZXMgdGhhdCB0aGUgaW5wdXQgaXMgbm90IHRyYWNrZWQgZmlsZXMgYnV0IGZpbGVzCi0JaW4gcmFuZG9tIGxvY2F0aW9ucyBvbiB0aGUgZmlsZXN5c3RlbS4KLQotQUxMT1dfRVhURVJOQUw7OwotCVRlbGxzIG91dHB1dCByb3V0aW5lIHRoYXQgaXQgaXMgT2sgdG8gY2FsbCB1c2VyIHNwZWNpZmllZCBwYXRjaAotCW91dHB1dCByb3V0aW5lLiAgUGx1bWJpbmcgZGlzYWJsZXMgdGhpcyB0byBlbnN1cmUgc3RhYmxlIG91dHB1dC4KLQotUVVJRVQ7OwotCURvIG5vdCBzaG93IGFueSBvdXRwdXQuCi0KLVJFVkVSU0VfRElGRjs7Ci0JVGVsbHMgdGhlIGxpYnJhcnkgdGhhdCB0aGUgY2FsbGluZyBwcm9ncmFtIGlzIGZlZWRpbmcgdGhlCi0JZmlsZXBhaXJzIHJldmVyc2VkOyBgb25lYCBpcyB0d28sIGFuZCBgdHdvYCBpcyBvbmUuCi0KLUVYSVRfV0lUSF9TVEFUVVM7OwotCUZvciBjb21tdW5pY2F0aW9uIGJldHdlZW4gdGhlIGNhbGxpbmcgcHJvZ3JhbSBhbmQgdGhlIG9wdGlvbnMKLQlwYXJzZXI7IHRlbGwgdGhlIGNhbGxpbmcgcHJvZ3JhbSB0byBzaWduYWwgdGhlIHByZXNlbmNlIG9mCi0JZGlmZmVyZW5jZSB1c2luZyBwcm9ncmFtIGV4aXQgY29kZS4KLQotSEFTX0NIQU5HRVM7OwotCUludGVybmFsOyB1c2VkIGZvciBvcHRpbWl6YXRpb24gdG8gc2VlIGlmIHRoZXJlIGlzIGFueSBjaGFuZ2UuCi0KLVNJTEVOVF9PTl9SRU1PVkU7OwotCUFmZmVjdHMgaWYgZGlmZi1maWxlcyBzaG93cyByZW1vdmVkIGZpbGVzLgotCi1SRUNVUlNJVkUsIFRSRUVfSU5fUkVDVVJTSVZFOzsKLQlUZWxscyBpZiB0cmVlIHRyYXZlcnNhbCBkb25lIGJ5IHRyZWUtZGlmZiBzaG91bGQgcmVjdXJzaXZlbHkKLQlkZXNjZW5kIGludG8gYSB0cmVlIG9iamVjdCBwYWlyIHRoYXQgYXJlIGRpZmZlcmVudCBpbiBwcmVpbWFnZQotCWFuZCBwb3N0aW1hZ2Ugc2V0LgotCi0oSkMpCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktZGlyZWN0b3J5LWxpc3RpbmcudHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWRpcmVjdG9yeS1saXN0aW5nLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWFiYjhlOC4uMDAwMDAwMAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktZGlyZWN0b3J5LWxpc3RpbmcudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTMwICswLDAgQEAKLWRpcmVjdG9yeSBsaXN0aW5nIEFQSQotPT09PT09PT09PT09PT09PT09PT09Ci0KLVRoZSBkaXJlY3RvcnkgbGlzdGluZyBBUEkgaXMgdXNlZCB0byBlbnVtZXJhdGUgcGF0aHMgaW4gdGhlIHdvcmsgdHJlZSwKLW9wdGlvbmFsbHkgdGFraW5nIGAuZ2l0L2luZm8vZXhjbHVkZWAgYW5kIGAuZ2l0aWdub3JlYCBmaWxlcyBwZXIKLWRpcmVjdG9yeSBpbnRvIGFjY291bnQuCi0KLURhdGEgc3RydWN0dXJlCi0tLS0tLS0tLS0tLS0tLQotCi1gc3RydWN0IGRpcl9zdHJ1Y3RgIHN0cnVjdHVyZSBpcyB1c2VkIHRvIHBhc3MgZGlyZWN0b3J5IHRyYXZlcnNhbAotb3B0aW9ucyB0byB0aGUgbGlicmFyeSBhbmQgdG8gcmVjb3JkIHRoZSBwYXRocyBkaXNjb3ZlcmVkLiAgQSBzaW5nbGUKLWBzdHJ1Y3QgZGlyX3N0cnVjdGAgaXMgdXNlZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgb3Igbm90IHRoZSB0cmF2ZXJzYWwKLXJlY3Vyc2l2ZWx5IGRlc2NlbmRzIGludG8gc3ViZGlyZWN0b3JpZXMuCi0KLVRoZSBub3RhYmxlIG9wdGlvbnMgYXJlOgotCi1gZXhjbHVkZV9wZXJfZGlyYDo6Ci0KLQlUaGUgbmFtZSBvZiB0aGUgZmlsZSB0byBiZSByZWFkIGluIGVhY2ggZGlyZWN0b3J5IGZvciBleGNsdWRlZAotCWZpbGVzICh0eXBpY2FsbHkgYC5naXRpZ25vcmVgKS4KLQotYGZsYWdzYDo6Ci0KLQlBIGJpdC1maWVsZCBvZiBvcHRpb25zOgotCi1gRElSX1NIT1dfSUdOT1JFRGA6OjoKLQotCVJldHVybiBqdXN0IGlnbm9yZWQgZmlsZXMgaW4gYGVudHJpZXNbXWAsIG5vdCB1bnRyYWNrZWQKLQlmaWxlcy4gVGhpcyBmbGFnIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoCi0JYERJUl9TSE9XX0lHTk9SRURfVE9PYC4KLQotYERJUl9TSE9XX0lHTk9SRURfVE9PYDo6OgotCi0JU2ltaWxhciB0byBgRElSX1NIT1dfSUdOT1JFRGAsIGJ1dCByZXR1cm4gaWdub3JlZCBmaWxlcyBpbgotCWBpZ25vcmVkW11gIGluIGFkZGl0aW9uIHRvIHVudHJhY2tlZCBmaWxlcyBpbgotCWBlbnRyaWVzW11gLiBUaGlzIGZsYWcgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGgKLQlgRElSX1NIT1dfSUdOT1JFRGAuCi0KLWBESVJfS0VFUF9VTlRSQUNLRURfQ09OVEVOVFNgOjo6Ci0KLQlPbmx5IGhhcyBtZWFuaW5nIGlmIGBESVJfU0hPV19JR05PUkVEX1RPT2AgaXMgYWxzbyBzZXQ7IGlmIHRoaXMgaXMgc2V0LCB0aGUKLQl1bnRyYWNrZWQgY29udGVudHMgb2YgdW50cmFja2VkIGRpcmVjdG9yaWVzIGFyZSBhbHNvIHJldHVybmVkIGluCi0JYGVudHJpZXNbXWAuCi0KLWBESVJfU0hPV19JR05PUkVEX1RPT19NT0RFX01BVENISU5HYDo6OgotCi0JT25seSBoYXMgbWVhbmluZyBpZiBgRElSX1NIT1dfSUdOT1JFRF9UT09gIGlzIGFsc28gc2V0OyBpZgotCXRoaXMgaXMgc2V0LCByZXR1cm5zIGlnbm9yZWQgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHRoYXQgbWF0Y2gKLQlhbiBleGNsdWRlIHBhdHRlcm4uIElmIGEgZGlyZWN0b3J5IG1hdGNoZXMgYW4gZXhjbHVkZSBwYXR0ZXJuLAotCXRoZW4gdGhlIGRpcmVjdG9yeSBpcyByZXR1cm5lZCBhbmQgdGhlIGNvbnRhaW5lZCBwYXRocyBhcmUKLQlub3QuIEEgZGlyZWN0b3J5IHRoYXQgZG9lcyBub3QgbWF0Y2ggYW4gZXhjbHVkZSBwYXR0ZXJuIHdpbGwKLQlub3QgYmUgcmV0dXJuZWQgZXZlbiBpZiBhbGwgb2YgaXRzIGNvbnRlbnRzIGFyZSBpZ25vcmVkLiBJbgotCXRoaXMgY2FzZSwgdGhlIGNvbnRlbnRzIGFyZSByZXR1cm5lZCBhcyBpbmRpdmlkdWFsIGVudHJpZXMuCi0rCi1JZiB0aGlzIGlzIHNldCwgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHRoYXQgZXhwbGljaXRseSBtYXRjaCBhbiBpZ25vcmUKLXBhdHRlcm4gYXJlIHJlcG9ydGVkLiBJbXBsaWNpdGx5IGlnbm9yZWQgZGlyZWN0b3JpZXMgKGRpcmVjdG9yaWVzIHRoYXQKLWRvIG5vdCBtYXRjaCBhbiBpZ25vcmUgcGF0dGVybiwgYnV0IHdob3NlIGNvbnRlbnRzIGFyZSBhbGwgaWdub3JlZCkKLWFyZSBub3QgcmVwb3J0ZWQsIGluc3RlYWQgYWxsIG9mIHRoZSBjb250ZW50cyBhcmUgcmVwb3J0ZWQuCi0KLWBESVJfQ09MTEVDVF9JR05PUkVEYDo6OgotCi0JU3BlY2lhbCBtb2RlIGZvciBnaXQtYWRkLiBSZXR1cm4gaWdub3JlZCBmaWxlcyBpbiBgaWdub3JlZFtdYCBhbmQKLQl1bnRyYWNrZWQgZmlsZXMgaW4gYGVudHJpZXNbXWAuIE9ubHkgcmV0dXJucyBpZ25vcmVkIGZpbGVzIHRoYXQgbWF0Y2gKLQlwYXRoc3BlYyBleGFjdGx5IChubyB3aWxkY2FyZHMpLiBEb2VzIG5vdCByZWN1cnNlIGludG8gaWdub3JlZAotCWRpcmVjdG9yaWVzLgotCi1gRElSX1NIT1dfT1RIRVJfRElSRUNUT1JJRVNgOjo6Ci0KLQlJbmNsdWRlIGEgZGlyZWN0b3J5IHRoYXQgaXMgbm90IHRyYWNrZWQuCi0KLWBESVJfSElERV9FTVBUWV9ESVJFQ1RPUklFU2A6OjoKLQotCURvIG5vdCBpbmNsdWRlIGEgZGlyZWN0b3J5IHRoYXQgaXMgbm90IHRyYWNrZWQgYW5kIGlzIGVtcHR5LgotCi1gRElSX05PX0dJVExJTktTYDo6OgotCi0JSWYgc2V0LCByZWN1cnNlIGludG8gYSBkaXJlY3RvcnkgdGhhdCBsb29rcyBsaWtlIGEgR2l0Ci0JZGlyZWN0b3J5LiAgT3RoZXJ3aXNlIGl0IGlzIHNob3duIGFzIGEgZGlyZWN0b3J5LgotCi1UaGUgcmVzdWx0IG9mIHRoZSBlbnVtZXJhdGlvbiBpcyBsZWZ0IGluIHRoZXNlIGZpZWxkczoKLQotYGVudHJpZXNbXWA6OgotCi0JQW4gYXJyYXkgb2YgYHN0cnVjdCBkaXJfZW50cnlgLCBlYWNoIGVsZW1lbnQgb2Ygd2hpY2ggZGVzY3JpYmVzCi0JYSBwYXRoLgotCi1gbnJgOjoKLQotCVRoZSBudW1iZXIgb2YgbWVtYmVycyBpbiBgZW50cmllc1tdYCBhcnJheS4KLQotYGFsbG9jYDo6Ci0KLQlJbnRlcm5hbCB1c2U7IGtlZXBzIHRyYWNrIG9mIGFsbG9jYXRpb24gb2YgYGVudHJpZXNbXWAgYXJyYXkuCi0KLWBpZ25vcmVkW11gOjoKLQotCUFuIGFycmF5IG9mIGBzdHJ1Y3QgZGlyX2VudHJ5YCwgdXNlZCBmb3IgaWdub3JlZCBwYXRocyB3aXRoIHRoZQotCWBESVJfU0hPV19JR05PUkVEX1RPT2AgYW5kIGBESVJfQ09MTEVDVF9JR05PUkVEYCBmbGFncy4KLQotYGlnbm9yZWRfbnJgOjoKLQotCVRoZSBudW1iZXIgb2YgbWVtYmVycyBpbiBgaWdub3JlZFtdYCBhcnJheS4KLQotQ2FsbGluZyBzZXF1ZW5jZQotLS0tLS0tLS0tLS0tLS0tLQotCi1Ob3RlOiBpbmRleCBtYXkgYmUgbG9va2VkIGF0IGZvciAuZ2l0aWdub3JlIGZpbGVzIHRoYXQgYXJlIENFX1NLSVBfV09SS1RSRUUKLW1hcmtlZC4gSWYgeW91IHRvIGV4Y2x1ZGUgZmlsZXMsIG1ha2Ugc3VyZSB5b3UgaGF2ZSBsb2FkZWQgaW5kZXggZmlyc3QuCi0KLSogUHJlcGFyZSBgc3RydWN0IGRpcl9zdHJ1Y3QgZGlyYCBhbmQgY2xlYXIgaXQgd2l0aCBgbWVtc2V0KCZkaXIsIDAsCi0gIHNpemVvZihkaXIpKWAuCi0KLSogVG8gYWRkIHNpbmdsZSBleGNsdWRlIHBhdHRlcm4sIGNhbGwgYGFkZF9leGNsdWRlX2xpc3QoKWAgYW5kIHRoZW4KLSAgYGFkZF9leGNsdWRlKClgLgotCi0qIFRvIGFkZCBwYXR0ZXJucyBmcm9tIGEgZmlsZSAoZS5nLiBgLmdpdC9pbmZvL2V4Y2x1ZGVgKSwgY2FsbAotICBgYWRkX2V4Y2x1ZGVzX2Zyb21fZmlsZSgpYCAsIGFuZC9vciBzZXQgYGRpci5leGNsdWRlX3Blcl9kaXJgLiAgQQotICBzaG9ydC1oYW5kIGZ1bmN0aW9uIGBzZXR1cF9zdGFuZGFyZF9leGNsdWRlcygpYCBjYW4gYmUgdXNlZCB0byBzZXQKLSAgdXAgdGhlIHN0YW5kYXJkIHNldCBvZiBleGNsdWRlIHNldHRpbmdzLgotCi0qIFNldCBvcHRpb25zIGRlc2NyaWJlZCBpbiB0aGUgRGF0YSBTdHJ1Y3R1cmUgc2VjdGlvbiBhYm92ZS4KLQotKiBDYWxsIGByZWFkX2RpcmVjdG9yeSgpYC4KLQotKiBVc2UgYGRpci5lbnRyaWVzW11gLgotCi0qIENhbGwgYGNsZWFyX2RpcmVjdG9yeSgpYCB3aGVuIG5vbmUgb2YgdGhlIGNvbnRhaW5lZCBlbGVtZW50cyBhcmUgbm8gbG9uZ2VyIGluIHVzZS4KLQotKEpDKQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWdpdGF0dHJpYnV0ZXMudHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWdpdGF0dHJpYnV0ZXMudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NWYwZGY2Li4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1naXRhdHRyaWJ1dGVzLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1NCArMCwwIEBACi1naXRhdHRyaWJ1dGVzIEFQSQotPT09PT09PT09PT09PT09PT0KLQotZ2l0YXR0cmlidXRlcyBtZWNoYW5pc20gZ2l2ZXMgYSB1bmlmb3JtIHdheSB0byBhc3NvY2lhdGUgdmFyaW91cwotYXR0cmlidXRlcyB0byBzZXQgb2YgcGF0aHMuCi0KLQotRGF0YSBTdHJ1Y3R1cmUKLS0tLS0tLS0tLS0tLS0tCi0KLWBzdHJ1Y3QgZ2l0X2F0dHJgOjoKLQotCUFuIGF0dHJpYnV0ZSBpcyBhbiBvcGFxdWUgb2JqZWN0IHRoYXQgaXMgaWRlbnRpZmllZCBieSBpdHMgbmFtZS4KLQlQYXNzIHRoZSBuYW1lIHRvIGBnaXRfYXR0cigpYCBmdW5jdGlvbiB0byBvYnRhaW4gdGhlIG9iamVjdCBvZgotCXRoaXMgdHlwZS4gIFRoZSBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHN0cnVjdHVyZSBpcwotCW9mIG5vIGludGVyZXN0IHRvIHRoZSBjYWxsaW5nIHByb2dyYW1zLiAgVGhlIG5hbWUgb2YgdGhlCi0JYXR0cmlidXRlIGNhbiBiZSByZXRyaWV2ZWQgYnkgY2FsbGluZyBgZ2l0X2F0dHJfbmFtZSgpYC4KLQotYHN0cnVjdCBhdHRyX2NoZWNrX2l0ZW1gOjoKLQotCVRoaXMgc3RydWN0dXJlIHJlcHJlc2VudHMgb25lIGF0dHJpYnV0ZSBhbmQgaXRzIHZhbHVlLgotCi1gc3RydWN0IGF0dHJfY2hlY2tgOjoKLQotCVRoaXMgc3RydWN0dXJlIHJlcHJlc2VudHMgYSBjb2xsZWN0aW9uIG9mIGBhdHRyX2NoZWNrX2l0ZW1gLgotCUl0IGlzIHBhc3NlZCB0byBgZ2l0X2NoZWNrX2F0dHIoKWAgZnVuY3Rpb24sIHNwZWNpZnlpbmcgdGhlCi0JYXR0cmlidXRlcyB0byBjaGVjaywgYW5kIHJlY2VpdmVzIHRoZWlyIHZhbHVlcy4KLQotCi1BdHRyaWJ1dGUgVmFsdWVzCi0tLS0tLS0tLS0tLS0tLS0tCi0KLUFuIGF0dHJpYnV0ZSBmb3IgYSBwYXRoIGNhbiBiZSBpbiBvbmUgb2YgZm91ciBzdGF0ZXM6IFNldCwgVW5zZXQsCi1VbnNwZWNpZmllZCBvciBzZXQgdG8gYSBzdHJpbmcsIGFuZCBgLnZhbHVlYCBtZW1iZXIgb2YgYHN0cnVjdAotYXR0cl9jaGVja19pdGVtYCByZWNvcmRzIGl0LiAgVGhlcmUgYXJlIHRocmVlIG1hY3JvcyB0byBjaGVjayB0aGVzZToKLQotYEFUVFJfVFJVRSgpYDo6Ci0KLQlSZXR1cm5zIHRydWUgaWYgdGhlIGF0dHJpYnV0ZSBpcyBTZXQgZm9yIHRoZSBwYXRoLgotCi1gQVRUUl9GQUxTRSgpYDo6Ci0KLQlSZXR1cm5zIHRydWUgaWYgdGhlIGF0dHJpYnV0ZSBpcyBVbnNldCBmb3IgdGhlIHBhdGguCi0KLWBBVFRSX1VOU0VUKClgOjoKLQotCVJldHVybnMgdHJ1ZSBpZiB0aGUgYXR0cmlidXRlIGlzIFVuc3BlY2lmaWVkIGZvciB0aGUgcGF0aC4KLQotSWYgbm9uZSBvZiB0aGUgYWJvdmUgcmV0dXJucyB0cnVlLCBgLnZhbHVlYCBtZW1iZXIgcG9pbnRzIGF0IGEgc3RyaW5nCi12YWx1ZSBvZiB0aGUgYXR0cmlidXRlIGZvciB0aGUgcGF0aC4KLQotCi1RdWVyeWluZyBTcGVjaWZpYyBBdHRyaWJ1dGVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSogUHJlcGFyZSBgc3RydWN0IGF0dHJfY2hlY2tgIHVzaW5nIGF0dHJfY2hlY2tfaW5pdGwoKQotICBmdW5jdGlvbiwgZW51bWVyYXRpbmcgdGhlIG5hbWVzIG9mIGF0dHJpYnV0ZXMgd2hvc2UgdmFsdWVzIHlvdSBhcmUKLSAgaW50ZXJlc3RlZCBpbiwgdGVybWluYXRlZCB3aXRoIGEgTlVMTCBwb2ludGVyLiAgQWx0ZXJuYXRpdmVseSwgYW4KLSAgZW1wdHkgYHN0cnVjdCBhdHRyX2NoZWNrYCBjYW4gYmUgcHJlcGFyZWQgYnkgY2FsbGluZwotICBgYXR0cl9jaGVja19hbGxvYygpYCBmdW5jdGlvbiBhbmQgdGhlbiBhdHRyaWJ1dGVzIHlvdSB3YW50IHRvCi0gIGFzayBhYm91dCBjYW4gYmUgYWRkZWQgdG8gaXQgd2l0aCBgYXR0cl9jaGVja19hcHBlbmQoKWAKLSAgZnVuY3Rpb24uCi0KLSogQ2FsbCBgZ2l0X2NoZWNrX2F0dHIoKWAgdG8gY2hlY2sgdGhlIGF0dHJpYnV0ZXMgZm9yIHRoZSBwYXRoLgotCi0qIEluc3BlY3QgYGF0dHJfY2hlY2tgIHN0cnVjdHVyZSB0byBzZWUgaG93IGVhY2ggb2YgdGhlCi0gIGF0dHJpYnV0ZSBpbiB0aGUgYXJyYXkgaXMgZGVmaW5lZCBmb3IgdGhlIHBhdGguCi0KLQotRXhhbXBsZQotLS0tLS0tLQotCi1UbyBzZWUgaG93IGF0dHJpYnV0ZXMgImNybGYiIGFuZCAiaWRlbnQiIGFyZSBzZXQgZm9yIGRpZmZlcmVudCBwYXRocy4KLQotLiBQcmVwYXJlIGEgYHN0cnVjdCBhdHRyX2NoZWNrYCB3aXRoIHR3byBlbGVtZW50cyAoYmVjYXVzZQotICB3ZSBhcmUgY2hlY2tpbmcgdHdvIGF0dHJpYnV0ZXMpOgotCi0tLS0tLS0tLS0tLS0KLXN0YXRpYyBzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2s7Ci1zdGF0aWMgdm9pZCBzZXR1cF9jaGVjayh2b2lkKQotewotCWlmIChjaGVjaykKLQkJcmV0dXJuOyAvKiBhbHJlYWR5IGRvbmUgKi8KLQljaGVjayA9IGF0dHJfY2hlY2tfaW5pdGwoImNybGYiLCAiaWRlbnQiLCBOVUxMKTsKLX0KLS0tLS0tLS0tLS0tLQotCi0uIENhbGwgYGdpdF9jaGVja19hdHRyKClgIHdpdGggdGhlIHByZXBhcmVkIGBzdHJ1Y3QgYXR0cl9jaGVja2A6Ci0KLS0tLS0tLS0tLS0tLQotCWNvbnN0IGNoYXIgKnBhdGg7Ci0KLQlzZXR1cF9jaGVjaygpOwotCWdpdF9jaGVja19hdHRyKHBhdGgsIGNoZWNrKTsKLS0tLS0tLS0tLS0tLQotCi0uIEFjdCBvbiBgLnZhbHVlYCBtZW1iZXIgb2YgdGhlIHJlc3VsdCwgbGVmdCBpbiBgY2hlY2stPml0ZW1zW11gOgotCi0tLS0tLS0tLS0tLS0KLQljb25zdCBjaGFyICp2YWx1ZSA9IGNoZWNrLT5pdGVtc1swXS52YWx1ZTsKLQotCWlmIChBVFRSX1RSVUUodmFsdWUpKSB7Ci0JCVRoZSBhdHRyaWJ1dGUgaXMgU2V0LCBieSBsaXN0aW5nIG9ubHkgdGhlIG5hbWUgb2YgdGhlCi0JCWF0dHJpYnV0ZSBpbiB0aGUgZ2l0YXR0cmlidXRlcyBmaWxlIGZvciB0aGUgcGF0aC4KLQl9IGVsc2UgaWYgKEFUVFJfRkFMU0UodmFsdWUpKSB7Ci0JCVRoZSBhdHRyaWJ1dGUgaXMgVW5zZXQsIGJ5IGxpc3RpbmcgdGhlIG5hbWUgb2YgdGhlCi0JCWF0dHJpYnV0ZSBwcmVmaXhlZCB3aXRoIGEgZGFzaCAtIGZvciB0aGUgcGF0aC4KLQl9IGVsc2UgaWYgKEFUVFJfVU5TRVQodmFsdWUpKSB7Ci0JCVRoZSBhdHRyaWJ1dGUgaXMgbmVpdGhlciBzZXQgbm9yIHVuc2V0IGZvciB0aGUgcGF0aC4KLQl9IGVsc2UgaWYgKCFzdHJjbXAodmFsdWUsICJpbnB1dCIpKSB7Ci0JCUlmIG5vbmUgb2YgQVRUUl9UUlVFKCksIEFUVFJfRkFMU0UoKSwgb3IgQVRUUl9VTlNFVCgpIGlzCi0JCXRydWUsIHRoZSB2YWx1ZSBpcyBhIHN0cmluZyBzZXQgaW4gdGhlIGdpdGF0dHJpYnV0ZXMKLQkJZmlsZSBmb3IgdGhlIHBhdGggYnkgc2F5aW5nICJhdHRyPXZhbHVlIi4KLQl9IGVsc2UgaWYgKC4uLiBvdGhlciBjaGVjayB1c2luZyB2YWx1ZSBhcyBzdHJpbmcgLi4uKSB7Ci0JCS4uLgotCX0KLS0tLS0tLS0tLS0tLQotCi1UbyBzZWUgaG93IGF0dHJpYnV0ZXMgaW4gYXJndltdIGFyZSBzZXQgZm9yIGRpZmZlcmVudCBwYXRocywgb25seQotdGhlIGZpcnN0IHN0ZXAgaW4gdGhlIGFib3ZlIHdvdWxkIGJlIGRpZmZlcmVudC4KLQotLS0tLS0tLS0tLS0tCi1zdGF0aWMgc3RydWN0IGF0dHJfY2hlY2sgKmNoZWNrOwotc3RhdGljIHZvaWQgc2V0dXBfY2hlY2soY29uc3QgY2hhciAqKmFyZ3YpCi17Ci0JY2hlY2sgPSBhdHRyX2NoZWNrX2FsbG9jKCk7Ci0Jd2hpbGUgKCphcmd2KSB7Ci0JCXN0cnVjdCBnaXRfYXR0ciAqYXR0ciA9IGdpdF9hdHRyKCphcmd2KTsKLQkJYXR0cl9jaGVja19hcHBlbmQoY2hlY2ssIGF0dHIpOwotCQlhcmd2Kys7Ci0JfQotfQotLS0tLS0tLS0tLS0tCi0KLQotUXVlcnlpbmcgQWxsIEF0dHJpYnV0ZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVRvIGdldCB0aGUgdmFsdWVzIG9mIGFsbCBhdHRyaWJ1dGVzIGFzc29jaWF0ZWQgd2l0aCBhIGZpbGU6Ci0KLSogUHJlcGFyZSBhbiBlbXB0eSBgYXR0cl9jaGVja2Agc3RydWN0dXJlIGJ5IGNhbGxpbmcKLSAgYGF0dHJfY2hlY2tfYWxsb2MoKWAuCi0KLSogQ2FsbCBgZ2l0X2FsbF9hdHRycygpYCwgd2hpY2ggcG9wdWxhdGVzIHRoZSBgYXR0cl9jaGVja2AKLSAgd2l0aCB0aGUgYXR0cmlidXRlcyBhdHRhY2hlZCB0byB0aGUgcGF0aC4KLQotKiBJdGVyYXRlIG92ZXIgdGhlIGBhdHRyX2NoZWNrLml0ZW1zW11gIGFycmF5IHRvIGV4YW1pbmUKLSAgdGhlIGF0dHJpYnV0ZSBuYW1lcyBhbmQgdmFsdWVzLiAgVGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZQotICBkZXNjcmliZWQgYnkgYW4gYGF0dHJfY2hlY2suaXRlbXNbXWAgb2JqZWN0IGNhbiBiZSByZXRyaWV2ZWQgdmlhCi0gIGBnaXRfYXR0cl9uYW1lKGNoZWNrLT5pdGVtc1tpXS5hdHRyKWAuICAoUGxlYXNlIG5vdGUgdGhhdCBubyBpdGVtcwotICB3aWxsIGJlIHJldHVybmVkIGZvciB1bnNldCBhdHRyaWJ1dGVzLCBzbyBgQVRUUl9VTlNFVCgpYCB3aWxsIHJldHVybgotICBmYWxzZSBmb3IgYWxsIHJldHVybmVkIGBhdHRyX2NoZWNrLml0ZW1zW11gIG9iamVjdHMuKQotCi0qIEZyZWUgdGhlIGBhdHRyX2NoZWNrYCBzdHJ1Y3QgYnkgY2FsbGluZyBgYXR0cl9jaGVja19mcmVlKClgLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWdyZXAudHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWdyZXAudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNjljYzg5Li4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1ncmVwLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotZ3JlcCBBUEkKLT09PT09PT09Ci0KLVRhbGsgYWJvdXQgPGdyZXAuaD4sIHRoaW5ncyBsaWtlOgotCi0qIGdyZXBfYnVmZmVyKCkKLQotKEpDKQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWhpc3RvcnktZ3JhcGgudHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWhpc3RvcnktZ3JhcGgudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMGQxNzA3Li4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1oaXN0b3J5LWdyYXBoLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE3MyArMCwwIEBACi1oaXN0b3J5IGdyYXBoIEFQSQotPT09PT09PT09PT09PT09PT0KLQotVGhlIGdyYXBoIEFQSSBpcyB1c2VkIHRvIGRyYXcgYSB0ZXh0LWJhc2VkIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjb21taXQKLWhpc3RvcnkuICBUaGUgQVBJIGdlbmVyYXRlcyB0aGUgZ3JhcGggaW4gYSBsaW5lLWJ5LWxpbmUgZmFzaGlvbi4KLQotRnVuY3Rpb25zCi0tLS0tLS0tLS0KLQotQ29yZSBmdW5jdGlvbnM6Ci0KLSogYGdyYXBoX2luaXQoKWAgY3JlYXRlcyBhIG5ldyBgc3RydWN0IGdpdF9ncmFwaGAKLQotKiBgZ3JhcGhfdXBkYXRlKClgIG1vdmVzIHRoZSBncmFwaCB0byBhIG5ldyBjb21taXQuCi0KLSogYGdyYXBoX25leHRfbGluZSgpYCBvdXRwdXRzIHRoZSBuZXh0IGxpbmUgb2YgdGhlIGdyYXBoIGludG8gYSBzdHJidWYuICBJdAotICBkb2VzIG5vdCBhZGQgYSB0ZXJtaW5hdGluZyBuZXdsaW5lLgotCi0qIGBncmFwaF9wYWRkaW5nX2xpbmUoKWAgb3V0cHV0cyBhIGxpbmUgb2YgdmVydGljYWwgcGFkZGluZyBpbiB0aGUgZ3JhcGguICBJdAotICBpcyBzaW1pbGFyIHRvIGBncmFwaF9uZXh0X2xpbmUoKWAsIGJ1dCBpcyBndWFyYW50ZWVkIHRvIG5ldmVyIHByaW50IHRoZSBsaW5lCi0gIGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgY29tbWl0LiAgV2hlcmUgYGdyYXBoX25leHRfbGluZSgpYCB3b3VsZCBwcmludCB0aGUKLSAgY29tbWl0IGxpbmUgbmV4dCwgYGdyYXBoX3BhZGRpbmdfbGluZSgpYCBwcmludHMgYSBsaW5lIHRoYXQgc2ltcGx5IGV4dGVuZHMKLSAgYWxsIGJyYW5jaCBsaW5lcyBkb3dud2FyZHMgb25lIHJvdywgbGVhdmluZyB0aGVpciBwb3NpdGlvbnMgdW5jaGFuZ2VkLgotCi0qIGBncmFwaF9pc19jb21taXRfZmluaXNoZWQoKWAgZGV0ZXJtaW5lcyBpZiB0aGUgZ3JhcGggaGFzIG91dHB1dCBhbGwgbGluZXMKLSAgbmVjZXNzYXJ5IGZvciB0aGUgY3VycmVudCBjb21taXQuICBJZiBgZ3JhcGhfdXBkYXRlKClgIGlzIGNhbGxlZCBiZWZvcmUgYWxsCi0gIGxpbmVzIGZvciB0aGUgY3VycmVudCBjb21taXQgaGF2ZSBiZWVuIHByaW50ZWQsIHRoZSBuZXh0IGNhbGwgdG8KLSAgYGdyYXBoX25leHRfbGluZSgpYCB3aWxsIG91dHB1dCBhbiBlbGxpcHNpcywgdG8gaW5kaWNhdGUgdGhhdCBhIHBvcnRpb24gb2YKLSAgdGhlIGdyYXBoIHdhcyBvbWl0dGVkLgotCi1UaGUgZm9sbG93aW5nIHV0aWxpdHkgZnVuY3Rpb25zIGFyZSB3cmFwcGVycyBhcm91bmQgYGdyYXBoX25leHRfbGluZSgpYCBhbmQKLWBncmFwaF9pc19jb21taXRfZmluaXNoZWQoKWAuICBUaGV5IGFsd2F5cyBwcmludCB0aGUgb3V0cHV0IHRvIHN0ZG91dC4KLVRoZXkgY2FuIGFsbCBiZSBjYWxsZWQgd2l0aCBhIE5VTEwgZ3JhcGggYXJndW1lbnQsIGluIHdoaWNoIGNhc2Ugbm8gZ3JhcGgKLW91dHB1dCB3aWxsIGJlIHByaW50ZWQuCi0KLSogYGdyYXBoX3Nob3dfY29tbWl0KClgIGNhbGxzIGBncmFwaF9uZXh0X2xpbmUoKWAgYW5kCi0gIGBncmFwaF9pc19jb21taXRfZmluaXNoZWQoKWAgdW50aWwgb25lIG9mIHRoZW0gcmV0dXJuIG5vbi16ZXJvLiAgVGhpcyBwcmludHMKLSAgYWxsIGdyYXBoIGxpbmVzIHVwIHRvLCBhbmQgaW5jbHVkaW5nLCB0aGUgbGluZSBjb250YWluaW5nIHRoaXMgY29tbWl0LgotICBPdXRwdXQgaXMgcHJpbnRlZCB0byBzdGRvdXQuICBUaGUgbGFzdCBsaW5lIHByaW50ZWQgZG9lcyBub3QgY29udGFpbiBhCi0gIHRlcm1pbmF0aW5nIG5ld2xpbmUuCi0KLSogYGdyYXBoX3Nob3dfb25lbGluZSgpYCBjYWxscyBgZ3JhcGhfbmV4dF9saW5lKClgIGFuZCBwcmludHMgdGhlIHJlc3VsdCB0bwotICBzdGRvdXQuICBUaGUgbGluZSBwcmludGVkIGRvZXMgbm90IGNvbnRhaW4gYSB0ZXJtaW5hdGluZyBuZXdsaW5lLgotCi0qIGBncmFwaF9zaG93X3BhZGRpbmcoKWAgY2FsbHMgYGdyYXBoX3BhZGRpbmdfbGluZSgpYCBhbmQgcHJpbnRzIHRoZSByZXN1bHQgdG8KLSAgc3Rkb3V0LiAgVGhlIGxpbmUgcHJpbnRlZCBkb2VzIG5vdCBjb250YWluIGEgdGVybWluYXRpbmcgbmV3bGluZS4KLQotKiBgZ3JhcGhfc2hvd19yZW1haW5kZXIoKWAgY2FsbHMgYGdyYXBoX25leHRfbGluZSgpYCB1bnRpbAotICBgZ3JhcGhfaXNfY29tbWl0X2ZpbmlzaGVkKClgIHJldHVybnMgbm9uLXplcm8uICBPdXRwdXQgaXMgcHJpbnRlZCB0byBzdGRvdXQuCi0gIFRoZSBsYXN0IGxpbmUgcHJpbnRlZCBkb2VzIG5vdCBjb250YWluIGEgdGVybWluYXRpbmcgbmV3bGluZS4gIFJldHVybnMgMSBpZgotICBvdXRwdXQgd2FzIHByaW50ZWQsIGFuZCAwIGlmIG5vIG91dHB1dCB3YXMgbmVjZXNzYXJ5LgotCi0qIGBncmFwaF9zaG93X3N0cmJ1ZigpYCBwcmludHMgdGhlIHNwZWNpZmllZCBzdHJidWYgdG8gc3Rkb3V0LCBwcmVmaXhpbmcgYWxsCi0gIGxpbmVzIGJ1dCB0aGUgZmlyc3Qgd2l0aCBhIGdyYXBoIGxpbmUuICBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvcgotICBlbnN1cmluZyBncmFwaCBvdXRwdXQgZm9yIHRoZSBmaXJzdCBsaW5lIGhhcyBhbHJlYWR5IGJlZW4gcHJpbnRlZCB0byBzdGRvdXQuCi0gIChUaGlzIGNhbiBiZSBkb25lIHdpdGggYGdyYXBoX3Nob3dfY29tbWl0KClgIG9yIGBncmFwaF9zaG93X29uZWxpbmUoKWAuKSAgSWYKLSAgYSBOVUxMIGdyYXBoIGlzIHN1cHBsaWVkLCB0aGUgc3RyYnVmIGlzIHByaW50ZWQgYXMtaXMuCi0KLSogYGdyYXBoX3Nob3dfY29tbWl0X21zZygpYCBpcyBzaW1pbGFyIHRvIGBncmFwaF9zaG93X3N0cmJ1ZigpYCwgYnV0IGl0IGFsc28KLSAgcHJpbnRzIHRoZSByZW1haW5kZXIgb2YgdGhlIGdyYXBoLCBpZiBtb3JlIGxpbmVzIGFyZSBuZWVkZWQgYWZ0ZXIgdGhlIHN0cmJ1ZgotICBlbmRzLiAgSXQgaXMgYmV0dGVyIHRoYW4gZGlyZWN0bHkgY2FsbGluZyBgZ3JhcGhfc2hvd19zdHJidWYoKWAgZm9sbG93ZWQgYnkKLSAgYGdyYXBoX3Nob3dfcmVtYWluZGVyKClgIHNpbmNlIGl0IHByb3Blcmx5IGhhbmRsZXMgYnVmZmVycyB0aGF0IGRvIG5vdCBlbmQgaW4KLSAgYSB0ZXJtaW5hdGluZyBuZXdsaW5lLiAgVGhlIG91dHB1dCBwcmludGVkIGJ5IGBncmFwaF9zaG93X2NvbW1pdF9tc2coKWAgd2lsbAotICBlbmQgaW4gYSBuZXdsaW5lIGlmIGFuZCBvbmx5IGlmIHRoZSBzdHJidWYgZW5kcyBpbiBhIG5ld2xpbmUuCi0KLURhdGEgc3RydWN0dXJlCi0tLS0tLS0tLS0tLS0tLQotYHN0cnVjdCBnaXRfZ3JhcGhgIGlzIGFuIG9wYXF1ZSBkYXRhIHR5cGUgdXNlZCB0byBzdG9yZSB0aGUgY3VycmVudCBncmFwaAotc3RhdGUuCi0KLUNhbGxpbmcgc2VxdWVuY2UKLS0tLS0tLS0tLS0tLS0tLS0KLQotKiBDcmVhdGUgYSBgc3RydWN0IGdpdF9ncmFwaGAgYnkgY2FsbGluZyBgZ3JhcGhfaW5pdCgpYC4gIFdoZW4gdXNpbmcgdGhlCi0gIHJldmlzaW9uIHdhbGtpbmcgQVBJLCB0aGlzIGlzIGRvbmUgYXV0b21hdGljYWxseSBieSBgc2V0dXBfcmV2aXNpb25zKClgIGlmCi0gIHRoZSAnLS1ncmFwaCcgb3B0aW9uIGlzIHN1cHBsaWVkLgotCi0qIFVzZSB0aGUgcmV2aXNpb24gd2Fsa2luZyBBUEkgdG8gd2FsayB0aHJvdWdoIGEgZ3JvdXAgb2YgY29udGlndW91cyBjb21taXRzLgotICBUaGUgYGdldF9yZXZpc2lvbigpYCBmdW5jdGlvbiBhdXRvbWF0aWNhbGx5IGNhbGxzIGBncmFwaF91cGRhdGUoKWAgZWFjaCB0aW1lCi0gIGl0IGlzIGludm9rZWQuCi0KLSogRm9yIGVhY2ggY29tbWl0LCBjYWxsIGBncmFwaF9uZXh0X2xpbmUoKWAgcmVwZWF0ZWRseSwgdW50aWwKLSAgYGdyYXBoX2lzX2NvbW1pdF9maW5pc2hlZCgpYCByZXR1cm5zIG5vbi16ZXJvLiAgRWFjaCBjYWxsIHRvCi0gIGBncmFwaF9uZXh0X2xpbmUoKWAgd2lsbCBvdXRwdXQgYSBzaW5nbGUgbGluZSBvZiB0aGUgZ3JhcGguICBUaGUgcmVzdWx0aW5nCi0gIGxpbmVzIHdpbGwgbm90IGNvbnRhaW4gYW55IG5ld2xpbmVzLiAgYGdyYXBoX25leHRfbGluZSgpYCByZXR1cm5zIDEgaWYgdGhlCi0gIHJlc3VsdGluZyBsaW5lIGNvbnRhaW5zIHRoZSBjdXJyZW50IGNvbW1pdCwgb3IgMCBpZiB0aGlzIGlzIG1lcmVseSBhIGxpbmUKLSAgbmVlZGVkIHRvIGFkanVzdCB0aGUgZ3JhcGggYmVmb3JlIG9yIGFmdGVyIHRoZSBjdXJyZW50IGNvbW1pdC4gIFRoaXMgcmV0dXJuCi0gIHZhbHVlIGNhbiBiZSB1c2VkIHRvIGRldGVybWluZSB3aGVyZSB0byBwcmludCB0aGUgY29tbWl0IHN1bW1hcnkgaW5mb3JtYXRpb24KLSAgYWxvbmdzaWRlIHRoZSBncmFwaCBvdXRwdXQuCi0KLUxpbWl0YXRpb25zCi0tLS0tLS0tLS0tLQotCi0qIGBncmFwaF91cGRhdGUoKWAgbXVzdCBiZSBjYWxsZWQgd2l0aCBjb21taXRzIGluIHRvcG9sb2dpY2FsIG9yZGVyLiAgSXQgc2hvdWxkCi0gIG5vdCBiZSBjYWxsZWQgb24gYSBjb21taXQgaWYgaXQgaGFzIGFscmVhZHkgYmVlbiBpbnZva2VkIHdpdGggYW4gYW5jZXN0b3Igb2YKLSAgdGhhdCBjb21taXQsIG9yIHRoZSBncmFwaCBvdXRwdXQgd2lsbCBiZSBpbmNvcnJlY3QuCi0KLSogYGdyYXBoX3VwZGF0ZSgpYCBtdXN0IGJlIGNhbGxlZCBvbiBhIGNvbnRpZ3VvdXMgZ3JvdXAgb2YgY29tbWl0cy4gIElmCi0gIGBncmFwaF91cGRhdGUoKWAgaXMgY2FsbGVkIG9uIGEgcGFydGljdWxhciBjb21taXQsIGl0IHNob3VsZCBsYXRlciBiZSBjYWxsZWQKLSAgb24gYWxsIHBhcmVudHMgb2YgdGhhdCBjb21taXQuICBQYXJlbnRzIG11c3Qgbm90IGJlIHNraXBwZWQsIG9yIHRoZSBncmFwaAotICBvdXRwdXQgd2lsbCBhcHBlYXIgaW5jb3JyZWN0LgotKwotYGdyYXBoX3VwZGF0ZSgpYCBtYXkgYmUgdXNlZCBvbiBhIHBydW5lZCBzZXQgb2YgY29tbWl0cyBvbmx5IGlmIHRoZSBwYXJlbnQgbGlzdAotaGFzIGJlZW4gcmV3cml0dGVuIHNvIGFzIHRvIGluY2x1ZGUgb25seSBhbmNlc3RvcnMgZnJvbSB0aGUgcHJ1bmVkIHNldC4KLQotKiBUaGUgZ3JhcGggQVBJIGRvZXMgbm90IGN1cnJlbnRseSBzdXBwb3J0IHJldmVyc2UgY29tbWl0IG9yZGVyaW5nLiAgSW4KLSAgb3JkZXIgdG8gaW1wbGVtZW50IHJldmVyc2Ugb3JkZXJpbmcsIHRoZSBncmFwaGluZyBBUEkgbmVlZHMgYW4KLSAgKGVmZmljaWVudCkgbWVjaGFuaXNtIHRvIGZpbmQgdGhlIGNoaWxkcmVuIG9mIGEgY29tbWl0LgotCi1TYW1wbGUgdXNhZ2UKLS0tLS0tLS0tLS0tLQotCi0tLS0tLS0tLS0tLS0KLXN0cnVjdCBjb21taXQgKmNvbW1pdDsKLXN0cnVjdCBnaXRfZ3JhcGggKmdyYXBoID0gZ3JhcGhfaW5pdChvcHRzKTsKLQotd2hpbGUgKChjb21taXQgPSBnZXRfcmV2aXNpb24ob3B0cykpICE9IE5VTEwpIHsKLQl3aGlsZSAoIWdyYXBoX2lzX2NvbW1pdF9maW5pc2hlZChncmFwaCkpCi0JewotCQlzdHJ1Y3Qgc3RyYnVmIHNiOwotCQlpbnQgaXNfY29tbWl0X2xpbmU7Ci0KLQkJc3RyYnVmX2luaXQoJnNiLCAwKTsKLQkJaXNfY29tbWl0X2xpbmUgPSBncmFwaF9uZXh0X2xpbmUoZ3JhcGgsICZzYik7Ci0JCWZwdXRzKHNiLmJ1Ziwgc3Rkb3V0KTsKLQotCQlpZiAoaXNfY29tbWl0X2xpbmUpCi0JCQlsb2dfdHJlZV9jb21taXQob3B0cywgY29tbWl0KTsKLQkJZWxzZQotCQkJcHV0Y2hhcihvcHRzLT5kaWZmb3B0LmxpbmVfdGVybWluYXRpb24pOwotCX0KLX0KLS0tLS0tLS0tLS0tLQotCi1TYW1wbGUgb3V0cHV0Ci0tLS0tLS0tLS0tLS0tCi0KLVRoZSBmb2xsb3dpbmcgaXMgYW4gZXhhbXBsZSBvZiB0aGUgb3V0cHV0IGZyb20gdGhlIGdyYXBoIEFQSS4gIFRoaXMgb3V0cHV0IGRvZXMKLW5vdCBpbmNsdWRlIGFueSBjb21taXQgc3VtbWFyeSBpbmZvcm1hdGlvbi0tY2FsbGVycyBhcmUgcmVzcG9uc2libGUgZm9yCi1vdXRwdXR0aW5nIHRoYXQgaW5mb3JtYXRpb24sIGlmIGRlc2lyZWQuCi0KLS0tLS0tLS0tLS0tLQotKgotKgotKgotfFwKLSogfAotfCB8ICoKLXwgXCBcCi18ICBcIFwKLSotLiBcIFwKLXxcIFwgXCBcCi18IHwgKiB8IHwKLXwgfCB8IHwgfCAqCi18IHwgfCB8IHwgKgotfCB8IHwgfCB8ICoKLXwgfCB8IHwgfCB8XAotfCB8IHwgfCB8IHwgKgotfCAqIHwgfCB8IHwgfAotfCB8IHwgfCB8ICogIFwKLXwgfCB8IHwgfCB8XCAgfAotfCB8IHwgfCAqIHwgfCB8Ci18IHwgfCB8ICogfCB8IHwKLSogfCB8IHwgfCB8IHwgfAotfCB8LyAvIC8gLyAvIC8KLXwvfCAvIC8gLyAvIC8KLSogfCB8IHwgfCB8IHwKLXwvIC8gLyAvIC8gLwotKiB8IHwgfCB8IHwKLXwgfCB8IHwgfCAqCi18IHwgfCB8IHwvCi18IHwgfCB8ICoKLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLW1lcmdlLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1tZXJnZS50eHQKaW5kZXggOWRjMWJlZC4uNDg3ZDRkOCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLW1lcmdlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktbWVyZ2UudHh0CkBAIC0yOCw3NyArMjgsOSBAQAogCiAqIGBzdHJ1Y3QgbGxfbWVyZ2Vfb3B0aW9uc2AKIAotVGhpcyBkZXNjcmliZXMgdGhlIHNldCBvZiBvcHRpb25zIHRoZSBjYWxsaW5nIHByb2dyYW0gd2FudHMgdG8gYWZmZWN0Ci10aGUgb3BlcmF0aW9uIG9mIGEgbG93LWxldmVsIChzaW5nbGUgZmlsZSkgbWVyZ2UuICBTb21lIG9wdGlvbnM6Ci0KLWB2aXJ0dWFsX2FuY2VzdG9yYDo6Ci0JQmVoYXZlIGFzIHRob3VnaCB0aGlzIHdlcmUgcGFydCBvZiBhIG1lcmdlIGJldHdlZW4gY29tbW9uCi0JYW5jZXN0b3JzIGluIGEgcmVjdXJzaXZlIG1lcmdlLgotCUlmIGEgaGVscGVyIHByb2dyYW0gaXMgc3BlY2lmaWVkIGJ5IHRoZQotCWBbbWVyZ2UgIjxkcml2ZXI+Il0gcmVjdXJzaXZlYCBjb25maWd1cmF0aW9uLCBpdCB3aWxsCi0JYmUgdXNlZCAoc2VlIGxpbmtnaXQ6Z2l0YXR0cmlidXRlc1s1XSkuCi0KLWB2YXJpYW50YDo6Ci0JUmVzb2x2ZSBsb2NhbCBjb25mbGljdHMgYXV0b21hdGljYWxseSBpbiBmYXZvcgotCW9mIG9uZSBzaWRlIG9yIHRoZSBvdGhlciAoYXMgaW4gJ2dpdCBtZXJnZS1maWxlJwotCWAtLW91cnNgL2AtLXRoZWlyc2AvYC0tdW5pb25gKS4gIENhbiBiZSBgMGAsCi0JYFhETF9NRVJHRV9GQVZPUl9PVVJTYCwgYFhETF9NRVJHRV9GQVZPUl9USEVJUlNgLCBvcgotCWBYRExfTUVSR0VfRkFWT1JfVU5JT05gLgotCi1gcmVub3JtYWxpemVgOjoKLQlSZXNtdWRnZSBhbmQgY2xlYW4gdGhlICJiYXNlIiwgInRoZWlycyIgYW5kICJvdXJzIiBmaWxlcwotCWJlZm9yZSBtZXJnaW5nLiAgVXNlIHRoaXMgd2hlbiB0aGUgbWVyZ2UgaXMgbGlrZWx5IHRvIGhhdmUKLQlvdmVybGFwcGVkIHdpdGggYSBjaGFuZ2UgaW4gc211ZGdlL2NsZWFuIG9yIGVuZC1vZi1saW5lCi0Jbm9ybWFsaXphdGlvbiBydWxlcy4KK0NoZWNrIGxsLW1lcmdlLmggZm9yIGRldGFpbHMuCiAKIExvdy1sZXZlbCAoc2luZ2xlIGZpbGUpIG1lcmdlCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1gbGxfbWVyZ2VgOjoKLQotCVBlcmZvcm0gYSB0aHJlZS13YXkgc2luZ2xlLWZpbGUgbWVyZ2UgaW4gY29yZS4gIFRoaXMgaXMKLQlhIHRoaW4gd3JhcHBlciBhcm91bmQgYHhkbF9tZXJnZWAgdGhhdCB0YWtlcyB0aGUgcGF0aCBhbmQKLQlhbnkgbWVyZ2UgYmFja2VuZCBzcGVjaWZpZWQgaW4gYC5naXRhdHRyaWJ1dGVzYCBvcgotCWAuZ2l0L2luZm8vYXR0cmlidXRlc2AgaW50byBhY2NvdW50LiAgUmV0dXJucyAwIGZvciBhCi0JY2xlYW4gbWVyZ2UuCi0KLUNhbGxpbmcgc2VxdWVuY2U6Ci0KLSogUHJlcGFyZSBhIGBzdHJ1Y3QgbGxfbWVyZ2Vfb3B0aW9uc2AgdG8gcmVjb3JkIG9wdGlvbnMuCi0gIElmIHlvdSBoYXZlIG5vIHNwZWNpYWwgcmVxdWVzdHMsIHNraXAgdGhpcyBhbmQgcGFzcyBgTlVMTGAKLSAgYXMgdGhlIGBvcHRzYCBwYXJhbWV0ZXIgdG8gdXNlIHRoZSBkZWZhdWx0IG9wdGlvbnMuCi0KLSogQWxsb2NhdGUgYW4gbW1idWZmZXJfdCB2YXJpYWJsZSBmb3IgdGhlIHJlc3VsdC4KLQotKiBBbGxvY2F0ZSBhbmQgZmlsbCB2YXJpYWJsZXMgd2l0aCB0aGUgZmlsZSdzIG9yaWdpbmFsIGNvbnRlbnQKLSAgYW5kIHR3byBtb2RpZmllZCB2ZXJzaW9ucyAodXNpbmcgYHJlYWRfbW1maWxlYCwgZm9yIGV4YW1wbGUpLgotCi0qIENhbGwgYGxsX21lcmdlKClgLgotCi0qIFJlYWQgdGhlIG1lcmdlZCBjb250ZW50IGZyb20gYHJlc3VsdF9idWYucHRyYCBhbmQgYHJlc3VsdF9idWYuc2l6ZWAuCi0KLSogUmVsZWFzZSBidWZmZXJzIHdoZW4gZmluaXNoZWQuICBBIHNpbXBsZQotICBgZnJlZShhbmNlc3Rvci5wdHIpOyBmcmVlKG91cnMucHRyKTsgZnJlZSh0aGVpcnMucHRyKTsKLSAgZnJlZShyZXN1bHRfYnVmLnB0cik7YCB3aWxsIGRvLgotCi1JZiB0aGUgbW9kaWZpY2F0aW9ucyBkbyBub3QgbWVyZ2UgY2xlYW5seSwgYGxsX21lcmdlYCB3aWxsIHJldHVybiBhCi1ub256ZXJvIHZhbHVlIGFuZCBgcmVzdWx0X2J1ZmAgd2lsbCBnZW5lcmFsbHkgaW5jbHVkZSBhIGRlc2NyaXB0aW9uIG9mCi10aGUgY29uZmxpY3QgYnJhY2tldGVkIGJ5IG1hcmtlcnMgc3VjaCBhcyB0aGUgdHJhZGl0aW9uYWwgYDw8PDw8PDxgCi1hbmQgYD4+Pj4+Pj5gLgotCi1UaGUgYGFuY2VzdG9yX2xhYmVsYCwgYG91cl9sYWJlbGAsIGFuZCBgdGhlaXJfbGFiZWxgIHBhcmFtZXRlcnMgYXJlCi11c2VkIHRvIGxhYmVsIHRoZSBkaWZmZXJlbnQgc2lkZXMgb2YgYSBjb25mbGljdCBpZiB0aGUgbWVyZ2UgZHJpdmVyCi1zdXBwb3J0cyB0aGlzLgotCi1FdmVyeXRoaW5nIGVsc2UKLS0tLS0tLS0tLS0tLS0tLQotCi1UYWxrIGFib3V0IDxtZXJnZS1yZWN1cnNpdmUuaD4gYW5kIG1lcmdlX2ZpbGUoKToKLQotIC0gbWVyZ2VfdHJlZXMoKSB0byBtZXJnZSB3aXRoIHJlbmFtZSBkZXRlY3Rpb24KLSAtIG1lcmdlX3JlY3Vyc2l2ZSgpIGZvciBhbmNlc3RvciBjb25zb2xpZGF0aW9uCi0gLSB0cnlfbWVyZ2VfY29tbWFuZCgpIGZvciBvdGhlciBzdHJhdGVnaWVzCi0gLSBjb25mbGljdCBmb3JtYXQKLSAtIG1lcmdlIG9wdGlvbnMKLQotKERhbmllbCwgTWlrbG9zLCBTdGVwaGFuLCBKQykKK0NoZWNrIGxsLW1lcmdlLmggZm9yIGRldGFpbHMuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktb2JqZWN0LWFjY2Vzcy50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktb2JqZWN0LWFjY2Vzcy50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViMjk2MjIuLjAwMDAwMDAKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLW9iamVjdC1hY2Nlc3MudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotb2JqZWN0IGFjY2VzcyBBUEkKLT09PT09PT09PT09PT09PT09Ci0KLVRhbGsgYWJvdXQgPHNoYTEtZmlsZS5jPiBhbmQgPG9iamVjdC5oPiBmYW1pbHksIHRoaW5ncyBsaWtlCi0KLSogcmVhZF9zaGExX2ZpbGUoKQotKiByZWFkX29iamVjdF93aXRoX3JlZmVyZW5jZSgpCi0qIGhhc19zaGExX2ZpbGUoKQotKiB3cml0ZV9zaGExX2ZpbGUoKQotKiBwcmV0ZW5kX29iamVjdF9maWxlKCkKLSogbG9va3VwX3tvYmplY3QsY29tbWl0LHRhZyxibG9iLHRyZWV9Ci0qIHBhcnNlX3tvYmplY3QsY29tbWl0LHRhZyxibG9iLHRyZWV9Ci0qIFVzZSBvZiBvYmplY3QgZmxhZ3MKLQotKEpDLCBTaGF3biwgRGFuaWVsLCBEc2NobywgTGludXMpCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktb2lkLWFycmF5LnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1vaWQtYXJyYXkudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZmViZmIxLi4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1vaWQtYXJyYXkudHh0CisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotb2lkLWFycmF5IEFQSQotPT09PT09PT09PT09PT0KLQotVGhlIG9pZC1hcnJheSBBUEkgcHJvdmlkZXMgc3RvcmFnZSBhbmQgbWFuaXB1bGF0aW9uIG9mIHNldHMgb2Ygb2JqZWN0Ci1pZGVudGlmaWVycy4gVGhlIGVtcGhhc2lzIGlzIG9uIHN0b3JhZ2UgYW5kIHByb2Nlc3NpbmcgZWZmaWNpZW5jeSwKLW1ha2luZyB0aGVtIHN1aXRhYmxlIGZvciBsYXJnZSBsaXN0cy4gTm90ZSB0aGF0IHRoZSBvcmRlcmluZyBvZiBpdGVtcyBpcwotbm90IHByZXNlcnZlZCBvdmVyIHNvbWUgb3BlcmF0aW9ucy4KLQotRGF0YSBTdHJ1Y3R1cmVzCi0tLS0tLS0tLS0tLS0tLS0KLQotYHN0cnVjdCBvaWRfYXJyYXlgOjoKLQotCUEgc2luZ2xlIGFycmF5IG9mIG9iamVjdCBJRHMuIFRoaXMgc2hvdWxkIGJlIGluaXRpYWxpemVkIGJ5Ci0JYXNzaWdubWVudCBmcm9tIGBPSURfQVJSQVlfSU5JVGAuICBUaGUgYG9pZGAgbWVtYmVyIGNvbnRhaW5zCi0JdGhlIGFjdHVhbCBkYXRhLiBUaGUgYG5yYCBtZW1iZXIgY29udGFpbnMgdGhlIG51bWJlciBvZiBpdGVtcyBpbgotCXRoZSBzZXQuICBUaGUgYGFsbG9jYCBhbmQgYHNvcnRlZGAgbWVtYmVycyBhcmUgdXNlZCBpbnRlcm5hbGx5LAotCWFuZCBzaG91bGQgbm90IGJlIG5lZWRlZCBieSBBUEkgY2FsbGVycy4KLQotRnVuY3Rpb25zCi0tLS0tLS0tLS0KLQotYG9pZF9hcnJheV9hcHBlbmRgOjoKLQlBZGQgYW4gaXRlbSB0byB0aGUgc2V0LiBUaGUgb2JqZWN0IElEIHdpbGwgYmUgcGxhY2VkIGF0IHRoZSBlbmQgb2YKLQl0aGUgYXJyYXkgKGJ1dCBub3RlIHRoYXQgc29tZSBvcGVyYXRpb25zIGJlbG93IG1heSBsb3NlIHRoaXMKLQlvcmRlcmluZykuCi0KLWBvaWRfYXJyYXlfbG9va3VwYDo6Ci0JUGVyZm9ybSBhIGJpbmFyeSBzZWFyY2ggb2YgdGhlIGFycmF5IGZvciBhIHNwZWNpZmljIG9iamVjdCBJRC4KLQlJZiBmb3VuZCwgcmV0dXJucyB0aGUgb2Zmc2V0IChpbiBudW1iZXIgb2YgZWxlbWVudHMpIG9mIHRoZQotCW9iamVjdCBJRC4gSWYgbm90IGZvdW5kLCByZXR1cm5zIGEgbmVnYXRpdmUgaW50ZWdlci4gSWYgdGhlIGFycmF5Ci0JaXMgbm90IHNvcnRlZCwgdGhpcyBmdW5jdGlvbiBoYXMgdGhlIHNpZGUgZWZmZWN0IG9mIHNvcnRpbmcgaXQuCi0KLWBvaWRfYXJyYXlfY2xlYXJgOjoKLQlGcmVlIGFsbCBtZW1vcnkgYXNzb2NpYXRlZCB3aXRoIHRoZSBhcnJheSBhbmQgcmV0dXJuIGl0IHRvIHRoZQotCWluaXRpYWwsIGVtcHR5IHN0YXRlLgotCi1gb2lkX2FycmF5X2Zvcl9lYWNoYDo6Ci0JSXRlcmF0ZSBvdmVyIGVhY2ggZWxlbWVudCBvZiB0aGUgbGlzdCwgZXhlY3V0aW5nIHRoZSBjYWxsYmFjawotCWZ1bmN0aW9uIGZvciBlYWNoIG9uZS4gRG9lcyBub3Qgc29ydCB0aGUgbGlzdCwgc28gYW55IGN1c3RvbQotCWhhc2ggb3JkZXIgaXMgcmV0YWluZWQuIElmIHRoZSBjYWxsYmFjayByZXR1cm5zIGEgbm9uLXplcm8KLQl2YWx1ZSwgdGhlIGl0ZXJhdGlvbiBlbmRzIGltbWVkaWF0ZWx5IGFuZCB0aGUgY2FsbGJhY2sncwotCXJldHVybiBpcyBwcm9wYWdhdGVkOyBvdGhlcndpc2UsIDAgaXMgcmV0dXJuZWQuCi0KLWBvaWRfYXJyYXlfZm9yX2VhY2hfdW5pcXVlYDo6Ci0JSXRlcmF0ZSBvdmVyIGVhY2ggdW5pcXVlIGVsZW1lbnQgb2YgdGhlIGxpc3QgaW4gc29ydGVkIG9yZGVyLAotCWJ1dCBvdGhlcndpc2UgYmVoYXZlIGxpa2UgYG9pZF9hcnJheV9mb3JfZWFjaGAuIElmIHRoZSBhcnJheQotCWlzIG5vdCBzb3J0ZWQsIHRoaXMgZnVuY3Rpb24gaGFzIHRoZSBzaWRlIGVmZmVjdCBvZiBzb3J0aW5nCi0JaXQuCi0KLUV4YW1wbGVzCi0tLS0tLS0tLQotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotaW50IHByaW50X2NhbGxiYWNrKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKLQkJICAgIHZvaWQgKmRhdGEpCi17Ci0JcHJpbnRmKCIlc1xuIiwgb2lkX3RvX2hleChvaWQpKTsKLQlyZXR1cm4gMDsgLyogYWx3YXlzIGNvbnRpbnVlICovCi19Ci0KLXZvaWQgc29tZV9mdW5jKHZvaWQpCi17Ci0Jc3RydWN0IHNoYTFfYXJyYXkgaGFzaGVzID0gT0lEX0FSUkFZX0lOSVQ7Ci0Jc3RydWN0IG9iamVjdF9pZCBvaWQ7Ci0KLQkvKiBSZWFkIG9iamVjdHMgaW50byBvdXIgc2V0ICovCi0Jd2hpbGUgKHJlYWRfb2JqZWN0X2Zyb21fc3RkaW4ob2lkLmhhc2gpKQotCQlvaWRfYXJyYXlfYXBwZW5kKCZoYXNoZXMsICZvaWQpOwotCi0JLyogQ2hlY2sgaWYgc29tZSBvYmplY3RzIGFyZSBpbiBvdXIgc2V0ICovCi0Jd2hpbGUgKHJlYWRfb2JqZWN0X2Zyb21fc3RkaW4ob2lkLmhhc2gpKSB7Ci0JCWlmIChvaWRfYXJyYXlfbG9va3VwKCZoYXNoZXMsICZvaWQpID49IDApCi0JCQlwcmludGYoIml0J3MgaW4gdGhlcmUhXG4iKTsKLQotCS8qCi0JICogUHJpbnQgdGhlIHVuaXF1ZSBzZXQgb2Ygb2JqZWN0cy4gV2UgY291bGQgYWxzbyBoYXZlCi0JICogYXZvaWRlZCBhZGRpbmcgZHVwbGljYXRlIG9iamVjdHMgaW4gdGhlIGZpcnN0IHBsYWNlLAotCSAqIGJ1dCB3ZSB3b3VsZCBlbmQgdXAgcmUtc29ydGluZyB0aGUgYXJyYXkgcmVwZWF0ZWRseS4KLQkgKiBJbnN0ZWFkLCB0aGlzIHdpbGwgc29ydCBvbmNlIGFuZCB0aGVuIHNraXAgZHVwbGljYXRlcwotCSAqIGluIGxpbmVhciB0aW1lLgotCSAqLwotCW9pZF9hcnJheV9mb3JfZWFjaF91bmlxdWUoJmhhc2hlcywgcHJpbnRfY2FsbGJhY2ssIE5VTEwpOwotfQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1wYXJzZS1vcHRpb25zLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1wYXJzZS1vcHRpb25zLnR4dAppbmRleCAyYjAzNmQ3Li4yZTJlN2MxIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktcGFyc2Utb3B0aW9ucy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXBhcnNlLW9wdGlvbnMudHh0CkBAIC0xOTgsOCArMTk4LDEwIEBACiAJVGhlIGZpbGVuYW1lIHdpbGwgYmUgcHJlZml4ZWQgYnkgcGFzc2luZyB0aGUgZmlsZW5hbWUgYWxvbmcgd2l0aAogCXRoZSBwcmVmaXggYXJndW1lbnQgb2YgYHBhcnNlX29wdGlvbnMoKWAgdG8gYHByZWZpeF9maWxlbmFtZSgpYC4KIAotYE9QVF9BUkdVTUVOVChsb25nLCBkZXNjcmlwdGlvbilgOjoKK2BPUFRfQVJHVU1FTlQobG9uZywgJmludF92YXIsIGRlc2NyaXB0aW9uKWA6OgogCUludHJvZHVjZSBhIGxvbmctb3B0aW9uIGFyZ3VtZW50IHRoYXQgd2lsbCBiZSBrZXB0IGluIGBhcmd2W11gLgorCUlmIHRoaXMgb3B0aW9uIHdhcyBzZWVuLCBgaW50X3ZhcmAgd2lsbCBiZSBzZXQgdG8gb25lIChleGNlcHQKKwlpZiBhIGBOVUxMYCBwb2ludGVyIHdhcyBwYXNzZWQpLgogCiBgT1BUX05VTUJFUl9DQUxMQkFDSygmdmFyLCBkZXNjcmlwdGlvbiwgZnVuY19wdHIpYDo6CiAJUmVjb2duaXplIG51bWVyaWNhbCBvcHRpb25zIGxpa2UgLTEyMyBhbmQgZmVlZCB0aGUgaW50ZWdlciBhcwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXF1b3RlLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1xdW90ZS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU4YTFiY2UuLjAwMDAwMDAKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXF1b3RlLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLXF1b3RlIEFQSQotPT09PT09PT09Ci0KLVRhbGsgYWJvdXQgPHF1b3RlLmg+LCB0aGluZ3MgbGlrZQotCi0qIHNxX3F1b3RlIGFuZCB1bnF1b3RlCi0qIGNfc3R5bGUgcXVvdGUgYW5kIHVucXVvdGUKLSogcXVvdGluZyBmb3IgZm9yZWlnbiBsYW5ndWFnZXMKLQotKEpDKQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXJlZi1pdGVyYXRpb24udHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXJlZi1pdGVyYXRpb24udHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NmMzZDVjLi4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1yZWYtaXRlcmF0aW9uLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDc4ICswLDAgQEAKLXJlZiBpdGVyYXRpb24gQVBJCi09PT09PT09PT09PT09PT09PQotCi0KLUl0ZXJhdGlvbiBvZiByZWZzIGlzIGRvbmUgYnkgdXNpbmcgYW4gaXRlcmF0ZSBmdW5jdGlvbiB3aGljaCB3aWxsIGNhbGwgYQotY2FsbGJhY2sgZnVuY3Rpb24gZm9yIGV2ZXJ5IHJlZi4gVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGhhcyB0aGlzCi1zaWduYXR1cmU6Ci0KLQlpbnQgaGFuZGxlX29uZV9yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAotCQkJICAgaW50IGZsYWdzLCB2b2lkICpjYl9kYXRhKTsKLQotVGhlcmUgYXJlIGRpZmZlcmVudCBraW5kcyBvZiBpdGVyYXRlIGZ1bmN0aW9ucyB3aGljaCBhbGwgdGFrZSBhCi1jYWxsYmFjayBvZiB0aGlzIHR5cGUuIFRoZSBjYWxsYmFjayBpcyB0aGVuIGNhbGxlZCBmb3IgZWFjaCBmb3VuZCByZWYKLXVudGlsIHRoZSBjYWxsYmFjayByZXR1cm5zIG5vbnplcm8uIFRoZSByZXR1cm5lZCB2YWx1ZSBpcyB0aGVuIGFsc28KLXJldHVybmVkIGJ5IHRoZSBpdGVyYXRlIGZ1bmN0aW9uLgotCi1JdGVyYXRpb24gZnVuY3Rpb25zCi0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSogYGhlYWRfcmVmKClgIGp1c3QgaXRlcmF0ZXMgdGhlIGhlYWQgcmVmLgotCi0qIGBmb3JfZWFjaF9yZWYoKWAgaXRlcmF0ZXMgYWxsIHJlZnMuCi0KLSogYGZvcl9lYWNoX3JlZl9pbigpYCBpdGVyYXRlcyBhbGwgcmVmcyB3aGljaCBoYXZlIGEgZGVmaW5lZCBwcmVmaXggYW5kCi0gIHN0cmlwcyB0aGF0IHByZWZpeCBmcm9tIHRoZSBwYXNzZWQgdmFyaWFibGUgcmVmbmFtZS4KLQotKiBgZm9yX2VhY2hfdGFnX3JlZigpYCwgYGZvcl9lYWNoX2JyYW5jaF9yZWYoKWAsIGBmb3JfZWFjaF9yZW1vdGVfcmVmKClgLAotICBgZm9yX2VhY2hfcmVwbGFjZV9yZWYoKWAgaXRlcmF0ZSByZWZzIGZyb20gdGhlIHJlc3BlY3RpdmUgYXJlYS4KLQotKiBgZm9yX2VhY2hfZ2xvYl9yZWYoKWAgaXRlcmF0ZXMgYWxsIHJlZnMgdGhhdCBtYXRjaCB0aGUgc3BlY2lmaWVkIGdsb2IKLSAgcGF0dGVybi4KLQotKiBgZm9yX2VhY2hfZ2xvYl9yZWZfaW4oKWAgdGhlIHByZXZpb3VzIGFuZCBgZm9yX2VhY2hfcmVmX2luKClgIGNvbWJpbmVkLgotCi0qIFVzZSBgcmVmc19gIEFQSSBmb3IgYWNjZXNzaW5nIHN1Ym1vZHVsZXMuIFRoZSBzdWJtb2R1bGUgcmVmIHN0b3JlIGNvdWxkCi0gIGJlIG9idGFpbmVkIHdpdGggYGdldF9zdWJtb2R1bGVfcmVmX3N0b3JlKClgLgotCi0qIGBmb3JfZWFjaF9yYXdyZWYoKWAgY2FuIGJlIHVzZWQgdG8gbGVhcm4gYWJvdXQgYnJva2VuIHJlZiBhbmQgc3ltcmVmLgotCi0qIGBmb3JfZWFjaF9yZWZsb2coKWAgaXRlcmF0ZXMgZWFjaCByZWZsb2cgZmlsZS4KLQotU3VibW9kdWxlcwotLS0tLS0tLS0tLQotCi1JZiB5b3Ugd2FudCB0byBpdGVyYXRlIHRoZSByZWZzIG9mIGEgc3VibW9kdWxlIHlvdSBmaXJzdCBuZWVkIHRvIGFkZCB0aGUKLXN1Ym1vZHVsZXMgb2JqZWN0IGRhdGFiYXNlLiBZb3UgY2FuIGRvIHRoaXMgYnkgYSBjb2RlLXNuaXBwZXQgbGlrZQotdGhpczoKLQotCWNvbnN0IGNoYXIgKnBhdGggPSAicGF0aC90by9zdWJtb2R1bGUiCi0JaWYgKGFkZF9zdWJtb2R1bGVfb2RiKHBhdGgpKQotCQlkaWUoIkVycm9yIHN1Ym1vZHVsZSAnJXMnIG5vdCBwb3B1bGF0ZWQuIiwgcGF0aCk7Ci0KLWBhZGRfc3VibW9kdWxlX29kYigpYCB3aWxsIHJldHVybiB6ZXJvIG9uIHN1Y2Nlc3MuIElmIHlvdQotZG8gbm90IGRvIHRoaXMgeW91IHdpbGwgZ2V0IGFuIGVycm9yIGZvciBlYWNoIHJlZiB0aGF0IGl0IGRvZXMgbm90IHBvaW50Ci10byBhIHZhbGlkIG9iamVjdC4KLQotTm90ZTogQXMgYSBzaWRlLWVmZmVjdCBvZiB0aGlzIHlvdSBjYW4gbm90IHNhZmVseSBhc3N1bWUgdGhhdCBhbGwKLW9iamVjdHMgeW91IGxvb2t1cCBhcmUgYXZhaWxhYmxlIGluIHN1cGVycHJvamVjdC4gQWxsIHN1Ym1vZHVsZSBvYmplY3RzCi13aWxsIGJlIGF2YWlsYWJsZSB0aGUgc2FtZSB3YXkgYXMgdGhlIHN1cGVycHJvamVjdHMgb2JqZWN0cy4KLQotRXhhbXBsZToKLS0tLS0tLS0tCi0KLS0tLS0KLXN0YXRpYyBpbnQgaGFuZGxlX3JlbW90ZV9yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwKLQkJY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50IGZsYWdzLCB2b2lkICpjYl9kYXRhKQotewotCXN0cnVjdCBzdHJidWYgKm91dHB1dCA9IGNiX2RhdGE7Ci0Jc3RyYnVmX2FkZGYob3V0cHV0LCAiJXNcbiIsIHJlZm5hbWUpOwotCXJldHVybiAwOwotfQotCi0uLi4KLQotCXN0cnVjdCBzdHJidWYgb3V0cHV0ID0gU1RSQlVGX0lOSVQ7Ci0JZm9yX2VhY2hfcmVtb3RlX3JlZihoYW5kbGVfcmVtb3RlX3JlZiwgJm91dHB1dCk7Ci0JcHJpbnRmKCIlcyIsIG91dHB1dC5idWYpOwotLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXJlbW90ZS50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktcmVtb3RlLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjEwOTQxYi4uMDAwMDAwMAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktcmVtb3RlLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyNyArMCwwIEBACi1SZW1vdGVzIGNvbmZpZ3VyYXRpb24gQVBJCi09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLVRoZSBBUEkgaW4gcmVtb3RlLmggZ2l2ZXMgYWNjZXNzIHRvIHRoZSBjb25maWd1cmF0aW9uIHJlbGF0ZWQgdG8KLXJlbW90ZXMuIEl0IGhhbmRsZXMgYWxsIHRocmVlIGNvbmZpZ3VyYXRpb24gbWVjaGFuaXNtcyBoaXN0b3JpY2FsbHkKLWFuZCBjdXJyZW50bHkgdXNlZCBieSBHaXQsIGFuZCBwcmVzZW50cyB0aGUgaW5mb3JtYXRpb24gaW4gYSB1bmlmb3JtCi1mYXNoaW9uLiBOb3RlIHRoYXQgdGhlIGNvZGUgYWxzbyBoYW5kbGVzIHBsYWluIFVSTHMgd2l0aG91dCBhbnkKLWNvbmZpZ3VyYXRpb24sIGdpdmluZyB0aGVtIGp1c3QgdGhlIGRlZmF1bHQgaW5mb3JtYXRpb24uCi0KLXN0cnVjdCByZW1vdGUKLS0tLS0tLS0tLS0tLS0KLQotYG5hbWVgOjoKLQotCVRoZSB1c2VyJ3Mgbmlja25hbWUgZm9yIHRoZSByZW1vdGUKLQotYHVybGA6OgotCi0JQW4gYXJyYXkgb2YgYWxsIG9mIHRoZSB1cmxfbnIgVVJMcyBjb25maWd1cmVkIGZvciB0aGUgcmVtb3RlCi0KLWBwdXNodXJsYDo6Ci0KLQlBbiBhcnJheSBvZiBhbGwgb2YgdGhlIHB1c2h1cmxfbnIgcHVzaCBVUkxzIGNvbmZpZ3VyZWQgZm9yIHRoZSByZW1vdGUKLQotYHB1c2hgOjoKLQotCSBBbiBhcnJheSBvZiByZWZzcGVjcyBjb25maWd1cmVkIGZvciBwdXNoaW5nLCB3aXRoCi0JIHB1c2hfcmVmc3BlYyBiZWluZyB0aGUgbGl0ZXJhbCBzdHJpbmdzLCBhbmQgcHVzaF9yZWZzcGVjX25yCi0JIGJlaW5nIHRoZSBxdWFudGl0eS4KLQotYGZldGNoYDo6Ci0KLQlBbiBhcnJheSBvZiByZWZzcGVjcyBjb25maWd1cmVkIGZvciBmZXRjaGluZywgd2l0aAotCWZldGNoX3JlZnNwZWMgYmVpbmcgdGhlIGxpdGVyYWwgc3RyaW5ncywgYW5kIGZldGNoX3JlZnNwZWNfbnIKLQliZWluZyB0aGUgcXVhbnRpdHkuCi0KLWBmZXRjaF90YWdzYDo6Ci0KLQlUaGUgc2V0dGluZyBmb3Igd2hldGhlciB0byBmZXRjaCB0YWdzIChhcyBhIHNlcGFyYXRlIHJ1bGUgZnJvbQotCXRoZSBjb25maWd1cmVkIHJlZnNwZWNzKTsgLTEgbWVhbnMgbmV2ZXIgdG8gZmV0Y2ggdGFncywgMAotCW1lYW5zIHRvIGF1dG8tZm9sbG93IHRhZ3MgYmFzZWQgb24gdGhlIGRlZmF1bHQgaGV1cmlzdGljLCAxCi0JbWVhbnMgdG8gYWx3YXlzIGF1dG8tZm9sbG93IHRhZ3MsIGFuZCAyIG1lYW5zIHRvIGZldGNoIGFsbAotCXRhZ3MuCi0KLWByZWNlaXZlcGFja2AsIGB1cGxvYWRwYWNrYDo6Ci0KLQlUaGUgY29uZmlndXJlZCBoZWxwZXIgcHJvZ3JhbXMgdG8gcnVuIG9uIHRoZSByZW1vdGUgc2lkZSwgZm9yCi0JR2l0LW5hdGl2ZSBwcm90b2NvbHMuCi0KLWBodHRwX3Byb3h5YDo6Ci0KLQlUaGUgcHJveHkgdG8gdXNlIGZvciBjdXJsIChodHRwLCBodHRwcywgZnRwLCBldGMuKSBVUkxzLgotCi1gaHR0cF9wcm94eV9hdXRobWV0aG9kYDo6Ci0KLQlUaGUgbWV0aG9kIHVzZWQgZm9yIGF1dGhlbnRpY2F0aW5nIGFnYWluc3QgYGh0dHBfcHJveHlgLgotCi1zdHJ1Y3QgcmVtb3RlcyBjYW4gYmUgZm91bmQgYnkgbmFtZSB3aXRoIHJlbW90ZV9nZXQoKSwgYW5kIGl0ZXJhdGVkCi10aHJvdWdoIHdpdGggZm9yX2VhY2hfcmVtb3RlKCkuIHJlbW90ZV9nZXQoTlVMTCkgd2lsbCByZXR1cm4gdGhlCi1kZWZhdWx0IHJlbW90ZSwgZ2l2ZW4gdGhlIGN1cnJlbnQgYnJhbmNoIGFuZCBjb25maWd1cmF0aW9uLgotCi1zdHJ1Y3QgcmVmc3BlYwotLS0tLS0tLS0tLS0tLS0KLQotQSBzdHJ1Y3QgcmVmc3BlYyBob2xkcyB0aGUgcGFyc2VkIGludGVycHJldGF0aW9uIG9mIGEgcmVmc3BlYy4gIElmIGl0Ci13aWxsIGZvcmNlIHVwZGF0ZXMgKHN0YXJ0cyB3aXRoIGEgJysnKSwgZm9yY2UgaXMgdHJ1ZS4gIElmIGl0IGlzIGEKLXBhdHRlcm4gKHNpZGVzIGVuZCB3aXRoICcqJykgcGF0dGVybiBpcyB0cnVlLiAgc3JjIGFuZCBkZXN0IGFyZSB0aGUKLXR3byBzaWRlcyAoaW5jbHVkaW5nICcqJyBjaGFyYWN0ZXJzIGlmIHByZXNlbnQpOyBpZiB0aGVyZSBpcyBvbmx5IG9uZQotc2lkZSwgaXQgaXMgc3JjLCBhbmQgZHN0IGlzIE5VTEw7IGlmIHNpZGVzIGV4aXN0IGJ1dCBhcmUgZW1wdHkgKGkuZS4sCi10aGUgcmVmc3BlYyBlaXRoZXIgc3RhcnRzIG9yIGVuZHMgd2l0aCAnOicpLCB0aGUgY29ycmVzcG9uZGluZyBzaWRlIGlzCi0iIi4KLQotQW4gYXJyYXkgb2Ygc3RyaW5ncyBjYW4gYmUgcGFyc2VkIGludG8gYW4gYXJyYXkgb2Ygc3RydWN0IHJlZnNwZWNzCi11c2luZyBwYXJzZV9mZXRjaF9yZWZzcGVjKCkgb3IgcGFyc2VfcHVzaF9yZWZzcGVjKCkuCi0KLXJlbW90ZV9maW5kX3RyYWNraW5nKCksIGdpdmVuIGEgcmVtb3RlIGFuZCBhIHN0cnVjdCByZWZzcGVjIHdpdGgKLWVpdGhlciBzcmMgb3IgZHN0IGZpbGxlZCBvdXQsIHdpbGwgZmlsbCBvdXQgdGhlIG90aGVyIHN1Y2ggdGhhdCB0aGUKLXJlc3VsdCBpcyBpbiB0aGUgImZldGNoIiBzcGVjaWZpY2F0aW9uIGZvciB0aGUgcmVtb3RlIChub3RlIHRoYXQgdGhpcwotZXZhbHVhdGVzIHBhdHRlcm5zIGFuZCByZXR1cm5zIGEgc2luZ2xlIHJlc3VsdCkuCi0KLXN0cnVjdCBicmFuY2gKLS0tLS0tLS0tLS0tLS0KLQotTm90ZSB0aGF0IHRoaXMgbWF5IGVuZCB1cCBtb3ZpbmcgdG8gYnJhbmNoLmgKLQotc3RydWN0IGJyYW5jaCBob2xkcyB0aGUgY29uZmlndXJhdGlvbiBmb3IgYSBicmFuY2guIEl0IGNhbiBiZSBsb29rZWQKLXVwIHdpdGggYnJhbmNoX2dldChuYW1lKSBmb3IgInJlZnMvaGVhZHMve25hbWV9Iiwgb3Igd2l0aAotYnJhbmNoX2dldChOVUxMKSBmb3IgSEVBRC4KLQotSXQgY29udGFpbnM6Ci0KLWBuYW1lYDo6Ci0KLQlUaGUgc2hvcnQgbmFtZSBvZiB0aGUgYnJhbmNoLgotCi1gcmVmbmFtZWA6OgotCi0JVGhlIGZ1bGwgcGF0aCBmb3IgdGhlIGJyYW5jaCByZWYuCi0KLWByZW1vdGVfbmFtZWA6OgotCi0JVGhlIG5hbWUgb2YgdGhlIHJlbW90ZSBsaXN0ZWQgaW4gdGhlIGNvbmZpZ3VyYXRpb24uCi0KLWBtZXJnZV9uYW1lYDo6Ci0KLQlBbiBhcnJheSBvZiB0aGUgIm1lcmdlIiBsaW5lcyBpbiB0aGUgY29uZmlndXJhdGlvbi4KLQotYG1lcmdlYDo6Ci0KLQlBbiBhcnJheSBvZiB0aGUgc3RydWN0IHJlZnNwZWNzIHVzZWQgZm9yIHRoZSBtZXJnZSBsaW5lcy4gVGhhdAotCWlzLCBtZXJnZVtpXS0+ZHN0IGlzIGEgbG9jYWwgdHJhY2tpbmcgcmVmIHdoaWNoIHNob3VsZCBiZQotCW1lcmdlZCBpbnRvIHRoaXMgYnJhbmNoIGJ5IGRlZmF1bHQuCi0KLWBtZXJnZV9ucmA6OgotCi0JVGhlIG51bWJlciBvZiBtZXJnZSBjb25maWd1cmF0aW9ucwotCi1icmFuY2hfaGFzX21lcmdlX2NvbmZpZygpIHJldHVybnMgdHJ1ZSBpZiB0aGUgZ2l2ZW4gYnJhbmNoIGhhcyBtZXJnZQotY29uZmlndXJhdGlvbiBnaXZlbi4KLQotT3RoZXIgc3R1ZmYKLS0tLS0tLS0tLS0tCi0KLVRoZXJlIGlzIG90aGVyIHN0dWZmIGluIHJlbW90ZS5oIHRoYXQgaXMgcmVsYXRlZCwgaW4gZ2VuZXJhbCwgdG8gdGhlCi1wcm9jZXNzIG9mIGludGVyYWN0aW5nIHdpdGggcmVtb3Rlcy4KLQotKERhbmllbCBCYXJrYWxvdykKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1yZXZpc2lvbi13YWxraW5nLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1yZXZpc2lvbi13YWxraW5nLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDNmOWVhNi4uMDAwMDAwMAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktcmV2aXNpb24td2Fsa2luZy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3MiArMCwwIEBACi1yZXZpc2lvbiB3YWxraW5nIEFQSQotPT09PT09PT09PT09PT09PT09PT0KLQotVGhlIHJldmlzaW9uIHdhbGtpbmcgQVBJIG9mZmVycyBmdW5jdGlvbnMgdG8gYnVpbGQgYSBsaXN0IG9mIHJldmlzaW9ucwotYW5kIHRoZW4gaXRlcmF0ZSBvdmVyIHRoYXQgbGlzdC4KLQotQ2FsbGluZyBzZXF1ZW5jZQotLS0tLS0tLS0tLS0tLS0tLQotCi1UaGUgd2Fsa2luZyBBUEkgaGFzIGEgZ2l2ZW4gY2FsbGluZyBzZXF1ZW5jZTogZmlyc3QgeW91IG5lZWQgdG8KLWluaXRpYWxpemUgYSByZXZfaW5mbyBzdHJ1Y3R1cmUsIHRoZW4gYWRkIHJldmlzaW9ucyB0byBjb250cm9sIHdoYXQga2luZAotb2YgcmV2aXNpb24gbGlzdCBkbyB5b3Ugd2FudCB0byBnZXQsIGZpbmFsbHkgeW91IGNhbiBpdGVyYXRlIG92ZXIgdGhlCi1yZXZpc2lvbiBsaXN0LgotCi1GdW5jdGlvbnMKLS0tLS0tLS0tLQotCi1gcmVwb19pbml0X3JldmlzaW9uc2A6OgotCi0JSW5pdGlhbGl6ZSBhIHJldl9pbmZvIHN0cnVjdHVyZSB3aXRoIGRlZmF1bHQgdmFsdWVzLiBUaGUgdGhpcmQKLQlwYXJhbWV0ZXIgbWF5IGJlIE5VTEwgb3IgY2FuIGJlIHByZWZpeCBwYXRoLCBhbmQgdGhlbiB0aGUgYC5wcmVmaXhgCi0JdmFyaWFibGUgd2lsbCBiZSBzZXQgdG8gaXQuIFRoaXMgaXMgdHlwaWNhbGx5IHRoZSBmaXJzdCBmdW5jdGlvbiB5b3UKLQl3YW50IHRvIGNhbGwgd2hlbiB5b3Ugd2FudCB0byBkZWFsIHdpdGggYSByZXZpc2lvbiBsaXN0LiBBZnRlciBjYWxsaW5nCi0JdGhpcyBmdW5jdGlvbiwgeW91IGFyZSBmcmVlIHRvIGN1c3RvbWl6ZSBvcHRpb25zLCBsaWtlIHNldAotCWAuaWdub3JlX21lcmdlc2AgdG8gMCBpZiB5b3UgZG9uJ3Qgd2FudCB0byBpZ25vcmUgbWVyZ2VzLCBhbmQgc28gb24uIFNlZQotCWByZXZpc2lvbi5oYCBmb3IgYSBjb21wbGV0ZSBsaXN0IG9mIGF2YWlsYWJsZSBvcHRpb25zLgotCi1gYWRkX3BlbmRpbmdfb2JqZWN0YDo6Ci0KLQlUaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIGlmIHlvdSB3YW50IHRvIGFkZCBjb21taXQgb2JqZWN0cyBhcyByZXZpc2lvbgotCWluZm9ybWF0aW9uLiBZb3UgY2FuIHVzZSB0aGUgYFVOSU5URVJFU1RJTkdgIG9iamVjdCBmbGFnIHRvIGluZGljYXRlIGlmCi0JeW91IHdhbnQgdG8gaW5jbHVkZSBvciBleGNsdWRlIHRoZSBnaXZlbiBjb21taXQgKGFuZCBjb21taXRzIHJlYWNoYWJsZQotCWZyb20gdGhlIGdpdmVuIGNvbW1pdCkgZnJvbSB0aGUgcmV2aXNpb24gbGlzdC4KLSsKLU5PVEU6IElmIHlvdSBoYXZlIHRoZSBjb21taXRzIGFzIGEgc3RyaW5nIGxpc3QgdGhlbiB5b3UgcHJvYmFibHkgd2FudCB0bwotdXNlIHNldHVwX3JldmlzaW9ucygpLCBpbnN0ZWFkIG9mIHBhcnNpbmcgZWFjaCBzdHJpbmcgYW5kIHVzaW5nIHRoaXMKLWZ1bmN0aW9uLgotCi1gc2V0dXBfcmV2aXNpb25zYDo6Ci0KLQlQYXJzZSByZXZpc2lvbiBpbmZvcm1hdGlvbiwgZmlsbGluZyBpbiB0aGUgYHJldl9pbmZvYCBzdHJ1Y3R1cmUsIGFuZAotCXJlbW92aW5nIHRoZSB1c2VkIGFyZ3VtZW50cyBmcm9tIHRoZSBhcmd1bWVudCBsaXN0LiBSZXR1cm5zIHRoZSBudW1iZXIKLQlvZiBhcmd1bWVudHMgbGVmdCB0aGF0IHdlcmVuJ3QgcmVjb2duaXplZCwgd2hpY2ggYXJlIGFsc28gbW92ZWQgdG8gdGhlCi0JaGVhZCBvZiB0aGUgYXJndW1lbnQgbGlzdC4gVGhlIGxhc3QgcGFyYW1ldGVyIGlzIHVzZWQgaW4gY2FzZSBubwotCXBhcmFtZXRlciBnaXZlbiBieSB0aGUgZmlyc3QgdHdvIGFyZ3VtZW50cy4KLQotYHByZXBhcmVfcmV2aXNpb25fd2Fsa2A6OgotCi0JUHJlcGFyZXMgdGhlIHJldl9pbmZvIHN0cnVjdHVyZSBmb3IgYSB3YWxrLiBZb3Ugc2hvdWxkIGNoZWNrIGlmIGl0Ci0JcmV0dXJucyBhbnkgZXJyb3IgKG5vbi16ZXJvIHJldHVybiBjb2RlKSBhbmQgaWYgaXQgZG9lcyBub3QsIHlvdSBjYW4KLQlzdGFydCB1c2luZyBnZXRfcmV2aXNpb24oKSB0byBkbyB0aGUgaXRlcmF0aW9uLgotCi1gZ2V0X3JldmlzaW9uYDo6Ci0KLQlUYWtlcyBhIHBvaW50ZXIgdG8gYSBgcmV2X2luZm9gIHN0cnVjdHVyZSBhbmQgaXRlcmF0ZXMgb3ZlciBpdCwKLQlyZXR1cm5pbmcgYSBgc3RydWN0IGNvbW1pdCAqYCBlYWNoIHRpbWUgeW91IGNhbGwgaXQuIFRoZSBlbmQgb2YgdGhlCi0JcmV2aXNpb24gbGlzdCBpcyBpbmRpY2F0ZWQgYnkgcmV0dXJuaW5nIGEgTlVMTCBwb2ludGVyLgotCi1gcmVzZXRfcmV2aXNpb25fd2Fsa2A6OgotCi0JUmVzZXQgdGhlIGZsYWdzIHVzZWQgYnkgdGhlIHJldmlzaW9uIHdhbGtpbmcgYXBpLiBZb3UgY2FuIHVzZQotCXRoaXMgdG8gZG8gbXVsdGlwbGUgc2VxdWVudGlhbCByZXZpc2lvbiB3YWxrcy4KLQotRGF0YSBzdHJ1Y3R1cmVzCi0tLS0tLS0tLS0tLS0tLS0KLQotVGFsayBhYm91dCA8cmV2aXNpb24uaD4sIHRoaW5ncyBsaWtlOgotCi0qIHR3byBkaWZmX29wdGlvbnMsIG9uZSBmb3IgcGF0aCBsaW1pdGluZywgYW5vdGhlciBmb3Igb3V0cHV0OwotKiByZW1haW5pbmcgZnVuY3Rpb25zOwotCi0oTGludXMsIEpDLCBEc2NobykKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1ydW4tY29tbWFuZC50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktcnVuLWNvbW1hbmQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YmYzZTM3Li4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1ydW4tY29tbWFuZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNjQgKzAsMCBAQAotcnVuLWNvbW1hbmQgQVBJCi09PT09PT09PT09PT09PT0KLQotVGhlIHJ1bi1jb21tYW5kIEFQSSBvZmZlcnMgYSB2ZXJzYXRpbGUgdG9vbCB0byBydW4gc3ViLXByb2Nlc3NlcyB3aXRoCi1yZWRpcmVjdGVkIGlucHV0IGFuZCBvdXRwdXQgYXMgd2VsbCBhcyB3aXRoIGEgbW9kaWZpZWQgZW52aXJvbm1lbnQKLWFuZCBhbiBhbHRlcm5hdGUgY3VycmVudCBkaXJlY3RvcnkuCi0KLUEgc2ltaWxhciBBUEkgb2ZmZXJzIHRoZSBjYXBhYmlsaXR5IHRvIHJ1biBhIGZ1bmN0aW9uIGFzeW5jaHJvbm91c2x5LAotd2hpY2ggaXMgcHJpbWFyaWx5IHVzZWQgdG8gY2FwdHVyZSB0aGUgb3V0cHV0IHRoYXQgdGhlIGZ1bmN0aW9uCi1wcm9kdWNlcyBpbiB0aGUgY2FsbGVyIGluIG9yZGVyIHRvIHByb2Nlc3MgaXQuCi0KLQotRnVuY3Rpb25zCi0tLS0tLS0tLS0KLQotYGNoaWxkX3Byb2Nlc3NfaW5pdGA6OgotCi0JSW5pdGlhbGl6ZSBhIHN0cnVjdCBjaGlsZF9wcm9jZXNzIHZhcmlhYmxlLgotCi1gc3RhcnRfY29tbWFuZGA6OgotCi0JU3RhcnQgYSBzdWItcHJvY2Vzcy4gVGFrZXMgYSBwb2ludGVyIHRvIGEgYHN0cnVjdCBjaGlsZF9wcm9jZXNzYAotCXRoYXQgc3BlY2lmaWVzIHRoZSBkZXRhaWxzIGFuZCByZXR1cm5zIHBpcGUgRkRzIChpZiByZXF1ZXN0ZWQpLgotCVNlZSBiZWxvdyBmb3IgZGV0YWlscy4KLQotYGZpbmlzaF9jb21tYW5kYDo6Ci0KLQlXYWl0IGZvciB0aGUgY29tcGxldGlvbiBvZiBhIHN1Yi1wcm9jZXNzIHRoYXQgd2FzIHN0YXJ0ZWQgd2l0aAotCXN0YXJ0X2NvbW1hbmQoKS4KLQotYHJ1bl9jb21tYW5kYDo6Ci0KLQlBIGNvbnZlbmllbmNlIGZ1bmN0aW9uIHRoYXQgZW5jYXBzdWxhdGVzIGEgc2VxdWVuY2Ugb2YKLQlzdGFydF9jb21tYW5kKCkgZm9sbG93ZWQgYnkgZmluaXNoX2NvbW1hbmQoKS4gVGFrZXMgYSBwb2ludGVyCi0JdG8gYSBgc3RydWN0IGNoaWxkX3Byb2Nlc3NgIHRoYXQgc3BlY2lmaWVzIHRoZSBkZXRhaWxzLgotCi1gcnVuX2NvbW1hbmRfdl9vcHRgLCBgcnVuX2NvbW1hbmRfdl9vcHRfY2RfZW52YDo6Ci0KLQlDb252ZW5pZW5jZSBmdW5jdGlvbnMgdGhhdCBlbmNhcHN1bGF0ZSBhIHNlcXVlbmNlIG9mCi0Jc3RhcnRfY29tbWFuZCgpIGZvbGxvd2VkIGJ5IGZpbmlzaF9jb21tYW5kKCkuIFRoZSBhcmd1bWVudCBhcmd2Ci0Jc3BlY2lmaWVzIHRoZSBwcm9ncmFtIGFuZCBpdHMgYXJndW1lbnRzLiBUaGUgYXJndW1lbnQgb3B0IGlzIHplcm8KLQlvciBtb3JlIG9mIHRoZSBmbGFncyBgUlVOX0NPTU1BTkRfTk9fU1RESU5gLCBgUlVOX0dJVF9DTURgLAotCWBSVU5fQ09NTUFORF9TVERPVVRfVE9fU1RERVJSYCwgb3IgYFJVTl9TSUxFTlRfRVhFQ19GQUlMVVJFYAotCXRoYXQgY29ycmVzcG9uZCB0byB0aGUgbWVtYmVycyAubm9fc3RkaW4sIC5naXRfY21kLAotCS5zdGRvdXRfdG9fc3RkZXJyLCAuc2lsZW50X2V4ZWNfZmFpbHVyZSBvZiBgc3RydWN0IGNoaWxkX3Byb2Nlc3NgLgotCVRoZSBhcmd1bWVudCBkaXIgY29ycmVzcG9uZHMgdGhlIG1lbWJlciAuZGlyLiBUaGUgYXJndW1lbnQgZW52Ci0JY29ycmVzcG9uZHMgdG8gdGhlIG1lbWJlciAuZW52LgotCi1gY2hpbGRfcHJvY2Vzc19jbGVhcmA6OgotCi0JUmVsZWFzZSB0aGUgbWVtb3J5IGFzc29jaWF0ZWQgd2l0aCB0aGUgc3RydWN0IGNoaWxkX3Byb2Nlc3MuCi0JTW9zdCB1c2VycyBvZiB0aGUgcnVuLWNvbW1hbmQgQVBJIGRvbid0IG5lZWQgdG8gY2FsbCB0aGlzCi0JZnVuY3Rpb24gZXhwbGljaXRseSBiZWNhdXNlIGBzdGFydF9jb21tYW5kYCBpbnZva2VzIGl0IG9uCi0JZmFpbHVyZSBhbmQgYGZpbmlzaF9jb21tYW5kYCBjYWxscyBpdCBhdXRvbWF0aWNhbGx5IGFscmVhZHkuCi0KLVRoZSBmdW5jdGlvbnMgYWJvdmUgZG8gdGhlIGZvbGxvd2luZzoKLQotLiBJZiBhIHN5c3RlbSBjYWxsIGZhaWxlZCwgZXJybm8gaXMgc2V0IGFuZCAtMSBpcyByZXR1cm5lZC4gQSBkaWFnbm9zdGljCi0gIGlzIHByaW50ZWQuCi0KLS4gSWYgdGhlIHByb2dyYW0gd2FzIG5vdCBmb3VuZCwgdGhlbiAtMSBpcyByZXR1cm5lZCBhbmQgZXJybm8gaXMgc2V0IHRvCi0gIEVOT0VOVDsgYSBkaWFnbm9zdGljIGlzIHByaW50ZWQgb25seSBpZiAuc2lsZW50X2V4ZWNfZmFpbHVyZSBpcyAwLgotCi0uIE90aGVyd2lzZSwgdGhlIHByb2dyYW0gaXMgcnVuLiBJZiBpdCB0ZXJtaW5hdGVzIHJlZ3VsYXJseSwgaXRzIGV4aXQKLSAgY29kZSBpcyByZXR1cm5lZC4gTm8gZGlhZ25vc3RpYyBpcyBwcmludGVkLCBldmVuIGlmIHRoZSBleGl0IGNvZGUgaXMKLSAgbm9uLXplcm8uCi0KLS4gSWYgdGhlIHByb2dyYW0gdGVybWluYXRlZCBkdWUgdG8gYSBzaWduYWwsIHRoZW4gdGhlIHJldHVybiB2YWx1ZSBpcyB0aGUKLSAgc2lnbmFsIG51bWJlciArIDEyOCwgaWUuIHRoZSBzYW1lIHZhbHVlIHRoYXQgYSBQT1NJWCBzaGVsbCdzICQ/IHdvdWxkCi0gIHJlcG9ydC4gIEEgZGlhZ25vc3RpYyBpcyBwcmludGVkLgotCi0KLWBzdGFydF9hc3luY2A6OgotCi0JUnVuIGEgZnVuY3Rpb24gYXN5bmNocm9ub3VzbHkuIFRha2VzIGEgcG9pbnRlciB0byBhIGBzdHJ1Y3QKLQlhc3luY2AgdGhhdCBzcGVjaWZpZXMgdGhlIGRldGFpbHMgYW5kIHJldHVybnMgYSBzZXQgb2YgcGlwZSBGRHMKLQlmb3IgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSBmdW5jdGlvbi4gU2VlIGJlbG93IGZvciBkZXRhaWxzLgotCi1gZmluaXNoX2FzeW5jYDo6Ci0KLQlXYWl0IGZvciB0aGUgY29tcGxldGlvbiBvZiBhbiBhc3luY2hyb25vdXMgZnVuY3Rpb24gdGhhdCB3YXMKLQlzdGFydGVkIHdpdGggc3RhcnRfYXN5bmMoKS4KLQotYHJ1bl9ob29rYDo6Ci0KLQlSdW4gYSBob29rLgotCVRoZSBmaXJzdCBhcmd1bWVudCBpcyBhIHBhdGhuYW1lIHRvIGFuIGluZGV4IGZpbGUsIG9yIE5VTEwKLQlpZiB0aGUgaG9vayB1c2VzIHRoZSBkZWZhdWx0IGluZGV4IGZpbGUgb3Igbm8gaW5kZXggaXMgbmVlZGVkLgotCVRoZSBzZWNvbmQgYXJndW1lbnQgaXMgdGhlIG5hbWUgb2YgdGhlIGhvb2suCi0JVGhlIGZ1cnRoZXIgYXJndW1lbnRzIGNvcnJlc3BvbmQgdG8gdGhlIGhvb2sgYXJndW1lbnRzLgotCVRoZSBsYXN0IGFyZ3VtZW50IGhhcyB0byBiZSBOVUxMIHRvIHRlcm1pbmF0ZSB0aGUgYXJndW1lbnRzIGxpc3QuCi0JSWYgdGhlIGhvb2sgZG9lcyBub3QgZXhpc3Qgb3IgaXMgbm90IGV4ZWN1dGFibGUsIHRoZSByZXR1cm4KLQl2YWx1ZSB3aWxsIGJlIHplcm8uCi0JSWYgaXQgaXMgZXhlY3V0YWJsZSwgdGhlIGhvb2sgd2lsbCBiZSBleGVjdXRlZCBhbmQgdGhlIGV4aXQKLQlzdGF0dXMgb2YgdGhlIGhvb2sgaXMgcmV0dXJuZWQuCi0JT24gZXhlY3V0aW9uLCAuc3Rkb3V0X3RvX3N0ZGVyciBhbmQgLm5vX3N0ZGluIHdpbGwgYmUgc2V0LgotCShTZWUgYmVsb3cuKQotCi0KLURhdGEgc3RydWN0dXJlcwotLS0tLS0tLS0tLS0tLS0tCi0KLSogYHN0cnVjdCBjaGlsZF9wcm9jZXNzYAotCi1UaGlzIGRlc2NyaWJlcyB0aGUgYXJndW1lbnRzLCByZWRpcmVjdGlvbnMsIGFuZCBlbnZpcm9ubWVudCBvZiBhCi1jb21tYW5kIHRvIHJ1biBpbiBhIHN1Yi1wcm9jZXNzLgotCi1UaGUgY2FsbGVyOgotCi0xLiBhbGxvY2F0ZXMgYW5kIGNsZWFycyAodXNpbmcgY2hpbGRfcHJvY2Vzc19pbml0KCkgb3IKLSAgIENISUxEX1BST0NFU1NfSU5JVCkgYSBzdHJ1Y3QgY2hpbGRfcHJvY2VzcyB2YXJpYWJsZTsKLTIuIGluaXRpYWxpemVzIHRoZSBtZW1iZXJzOwotMy4gY2FsbHMgc3RhcnRfY29tbWFuZCgpOwotNC4gcHJvY2Vzc2VzIHRoZSBkYXRhOwotNS4gY2xvc2VzIGZpbGUgZGVzY3JpcHRvcnMgKGlmIG5lY2Vzc2FyeTsgc2VlIGJlbG93KTsKLTYuIGNhbGxzIGZpbmlzaF9jb21tYW5kKCkuCi0KLVRoZSAuYXJndiBtZW1iZXIgaXMgc2V0IHVwIGFzIGFuIGFycmF5IG9mIHN0cmluZyBwb2ludGVycyAoTlVMTAotdGVybWluYXRlZCksIG9mIHdoaWNoIC5hcmd2WzBdIGlzIHRoZSBwcm9ncmFtIG5hbWUgdG8gcnVuICh1c3VhbGx5Ci13aXRob3V0IGEgcGF0aCkuIElmIHRoZSBjb21tYW5kIHRvIHJ1biBpcyBhIGdpdCBjb21tYW5kLCBzZXQgYXJndlswXSB0bwotdGhlIGNvbW1hbmQgbmFtZSB3aXRob3V0IHRoZSAnZ2l0LScgcHJlZml4IGFuZCBzZXQgLmdpdF9jbWQgPSAxLgotCi1Ob3RlIHRoYXQgdGhlIG93bmVyc2hpcCBvZiB0aGUgbWVtb3J5IHBvaW50ZWQgdG8gYnkgLmFyZ3Ygc3RheXMgd2l0aCB0aGUKLWNhbGxlciwgYnV0IGl0IHNob3VsZCBzdXJ2aXZlIHVudGlsIGBmaW5pc2hfY29tbWFuZGAgY29tcGxldGVzLiBJZiB0aGUKLS5hcmd2IG1lbWJlciBpcyBOVUxMLCBgc3RhcnRfY29tbWFuZGAgd2lsbCBwb2ludCBpdCBhdCB0aGUgLmFyZ3MKLWBhcmd2X2FycmF5YCAoc28geW91IG1heSB1c2Ugb25lIG9yIHRoZSBvdGhlciwgYnV0IHlvdSBtdXN0IHVzZSBleGFjdGx5Ci1vbmUpLiBUaGUgbWVtb3J5IGluIC5hcmdzIHdpbGwgYmUgY2xlYW5lZCB1cCBhdXRvbWF0aWNhbGx5IGR1cmluZwotYGZpbmlzaF9jb21tYW5kYCAob3IgZHVyaW5nIGBzdGFydF9jb21tYW5kYCB3aGVuIGl0IGlzIHVuc3VjY2Vzc2Z1bCkuCi0KLVRoZSBtZW1iZXJzIC5pbiwgLm91dCwgLmVyciBhcmUgdXNlZCB0byByZWRpcmVjdCBzdGRpbiwgc3Rkb3V0LAotc3RkZXJyIGFzIGZvbGxvd3M6Ci0KLS4gU3BlY2lmeSAwIHRvIHJlcXVlc3Qgbm8gc3BlY2lhbCByZWRpcmVjdGlvbi4gTm8gbmV3IGZpbGUgZGVzY3JpcHRvcgotICBpcyBhbGxvY2F0ZWQuIFRoZSBjaGlsZCBwcm9jZXNzIHNpbXBseSBpbmhlcml0cyB0aGUgY2hhbm5lbCBmcm9tIHRoZQotICBwYXJlbnQuCi0KLS4gU3BlY2lmeSAtMSB0byBoYXZlIGEgcGlwZSBhbGxvY2F0ZWQ7IHN0YXJ0X2NvbW1hbmQoKSByZXBsYWNlcyAtMQotICBieSB0aGUgcGlwZSBGRCBpbiB0aGUgZm9sbG93aW5nIHdheToKLQotCS5pbjogUmV0dXJucyB0aGUgd3JpdGFibGUgcGlwZSBlbmQgaW50byB3aGljaCB0aGUgY2FsbGVyIHdyaXRlczsKLQkJdGhlIHJlYWRhYmxlIGVuZCBvZiB0aGUgcGlwZSBiZWNvbWVzIHRoZSBjaGlsZCdzIHN0ZGluLgotCi0JLm91dCwgLmVycjogUmV0dXJucyB0aGUgcmVhZGFibGUgcGlwZSBlbmQgZnJvbSB3aGljaCB0aGUgY2FsbGVyCi0JCXJlYWRzOyB0aGUgd3JpdGFibGUgZW5kIG9mIHRoZSBwaXBlIGVuZCBiZWNvbWVzIGNoaWxkJ3MKLQkJc3Rkb3V0L3N0ZGVyci4KLQotICBUaGUgY2FsbGVyIG9mIHN0YXJ0X2NvbW1hbmQoKSBtdXN0IGNsb3NlIHRoZSBzbyByZXR1cm5lZCBGRHMKLSAgYWZ0ZXIgaXQgaGFzIGNvbXBsZXRlZCByZWFkaW5nIGZyb20vd3JpdGluZyB0byBpdCEKLQotLiBTcGVjaWZ5IGEgZmlsZSBkZXNjcmlwdG9yID4gMCB0byBiZSB1c2VkIGJ5IHRoZSBjaGlsZDoKLQotCS5pbjogVGhlIEZEIG11c3QgYmUgcmVhZGFibGU7IGl0IGJlY29tZXMgY2hpbGQncyBzdGRpbi4KLQkub3V0OiBUaGUgRkQgbXVzdCBiZSB3cml0YWJsZTsgaXQgYmVjb21lcyBjaGlsZCdzIHN0ZG91dC4KLQkuZXJyOiBUaGUgRkQgbXVzdCBiZSB3cml0YWJsZTsgaXQgYmVjb21lcyBjaGlsZCdzIHN0ZGVyci4KLQotICBUaGUgc3BlY2lmaWVkIEZEIGlzIGNsb3NlZCBieSBzdGFydF9jb21tYW5kKCksIGV2ZW4gaWYgaXQgZmFpbHMgdG8KLSAgcnVuIHRoZSBzdWItcHJvY2VzcyEKLQotLiBTcGVjaWFsIGZvcm1zIG9mIHJlZGlyZWN0aW9uIGFyZSBhdmFpbGFibGUgYnkgc2V0dGluZyB0aGVzZSBtZW1iZXJzCi0gIHRvIDE6Ci0KLQkubm9fc3RkaW4sIC5ub19zdGRvdXQsIC5ub19zdGRlcnI6IFRoZSByZXNwZWN0aXZlIGNoYW5uZWwgaXMKLQkJcmVkaXJlY3RlZCB0byAvZGV2L251bGwuCi0KLQkuc3Rkb3V0X3RvX3N0ZGVycjogc3Rkb3V0IG9mIHRoZSBjaGlsZCBpcyByZWRpcmVjdGVkIHRvIGl0cwotCQlzdGRlcnIuIFRoaXMgaGFwcGVucyBhZnRlciBzdGRlcnIgaXMgaXRzZWxmIHJlZGlyZWN0ZWQuCi0JCVNvIHN0ZG91dCB3aWxsIGZvbGxvdyBzdGRlcnIgdG8gd2hlcmV2ZXIgaXQgaXMKLQkJcmVkaXJlY3RlZC4KLQotVG8gbW9kaWZ5IHRoZSBlbnZpcm9ubWVudCBvZiB0aGUgc3ViLXByb2Nlc3MsIHNwZWNpZnkgYW4gYXJyYXkgb2YKLXN0cmluZyBwb2ludGVycyAoTlVMTCB0ZXJtaW5hdGVkKSBpbiAuZW52OgotCi0uIElmIHRoZSBzdHJpbmcgaXMgb2YgdGhlIGZvcm0gIlZBUj12YWx1ZSIsIGkuZS4gaXQgY29udGFpbnMgJz0nCi0gIHRoZSB2YXJpYWJsZSBpcyBhZGRlZCB0byB0aGUgY2hpbGQgcHJvY2VzcydzIGVudmlyb25tZW50LgotCi0uIElmIHRoZSBzdHJpbmcgZG9lcyBub3QgY29udGFpbiAnPScsIGl0IG5hbWVzIGFuIGVudmlyb25tZW50Ci0gIHZhcmlhYmxlIHRoYXQgd2lsbCBiZSByZW1vdmVkIGZyb20gdGhlIGNoaWxkIHByb2Nlc3MncyBlbnZpcm9ubWVudC4KLQotSWYgdGhlIC5lbnYgbWVtYmVyIGlzIE5VTEwsIGBzdGFydF9jb21tYW5kYCB3aWxsIHBvaW50IGl0IGF0IHRoZQotLmVudl9hcnJheSBgYXJndl9hcnJheWAgKHNvIHlvdSBtYXkgdXNlIG9uZSBvciB0aGUgb3RoZXIsIGJ1dCBub3QgYm90aCkuCi1UaGUgbWVtb3J5IGluIC5lbnZfYXJyYXkgd2lsbCBiZSBjbGVhbmVkIHVwIGF1dG9tYXRpY2FsbHkgZHVyaW5nCi1gZmluaXNoX2NvbW1hbmRgIChvciBkdXJpbmcgYHN0YXJ0X2NvbW1hbmRgIHdoZW4gaXQgaXMgdW5zdWNjZXNzZnVsKS4KLQotVG8gc3BlY2lmeSBhIG5ldyBpbml0aWFsIHdvcmtpbmcgZGlyZWN0b3J5IGZvciB0aGUgc3ViLXByb2Nlc3MsCi1zcGVjaWZ5IGl0IGluIHRoZSAuZGlyIG1lbWJlci4KLQotSWYgdGhlIHByb2dyYW0gY2Fubm90IGJlIGZvdW5kLCB0aGUgZnVuY3Rpb25zIHJldHVybiAtMSBhbmQgc2V0Ci1lcnJubyB0byBFTk9FTlQuIE5vcm1hbGx5LCBhbiBlcnJvciBtZXNzYWdlIGlzIHByaW50ZWQsIGJ1dCBpZgotLnNpbGVudF9leGVjX2ZhaWx1cmUgaXMgc2V0IHRvIDEsIG5vIG1lc3NhZ2UgaXMgcHJpbnRlZCBmb3IgdGhpcwotc3BlY2lhbCBlcnJvciBjb25kaXRpb24uCi0KLQotKiBgc3RydWN0IGFzeW5jYAotCi1UaGlzIGRlc2NyaWJlcyBhIGZ1bmN0aW9uIHRvIHJ1biBhc3luY2hyb25vdXNseSwgd2hvc2UgcHVycG9zZSBpcwotdG8gcHJvZHVjZSBvdXRwdXQgdGhhdCB0aGUgY2FsbGVyIHJlYWRzLgotCi1UaGUgY2FsbGVyOgotCi0xLiBhbGxvY2F0ZXMgYW5kIGNsZWFycyAobWVtc2V0KCZhc3ksIDAsIHNpemVvZihhc3kpKTspIGEKLSAgIHN0cnVjdCBhc3luYyB2YXJpYWJsZTsKLTIuIGluaXRpYWxpemVzIC5wcm9jIGFuZCAuZGF0YTsKLTMuIGNhbGxzIHN0YXJ0X2FzeW5jKCk7Ci00LiBwcm9jZXNzZXMgY29tbXVuaWNhdGVzIHdpdGggcHJvYyB0aHJvdWdoIC5pbiBhbmQgLm91dDsKLTUuIGNsb3NlcyAuaW4gYW5kIC5vdXQ7Ci02LiBjYWxscyBmaW5pc2hfYXN5bmMoKS4KLQotVGhlIG1lbWJlcnMgLmluLCAub3V0IGFyZSB1c2VkIHRvIHByb3ZpZGUgYSBzZXQgb2YgZmQncyBmb3IKLWNvbW11bmljYXRpb24gYmV0d2VlbiB0aGUgY2FsbGVyIGFuZCB0aGUgY2FsbGVlIGFzIGZvbGxvd3M6Ci0KLS4gU3BlY2lmeSAwIHRvIGhhdmUgbm8gZmlsZSBkZXNjcmlwdG9yIHBhc3NlZC4gIFRoZSBjYWxsZWUgd2lsbAotICByZWNlaXZlIC0xIGluIHRoZSBjb3JyZXNwb25kaW5nIGFyZ3VtZW50LgotCi0uIFNwZWNpZnkgPCAwIHRvIGhhdmUgYSBwaXBlIGFsbG9jYXRlZDsgc3RhcnRfYXN5bmMoKSByZXBsYWNlcwotICB3aXRoIHRoZSBwaXBlIEZEIGluIHRoZSBmb2xsb3dpbmcgd2F5OgotCi0JLmluOiBSZXR1cm5zIHRoZSB3cml0YWJsZSBwaXBlIGVuZCBpbnRvIHdoaWNoIHRoZSBjYWxsZXIKLQl3cml0ZXM7IHRoZSByZWFkYWJsZSBlbmQgb2YgdGhlIHBpcGUgYmVjb21lcyB0aGUgZnVuY3Rpb24ncwotCWluIGFyZ3VtZW50LgotCi0JLm91dDogUmV0dXJucyB0aGUgcmVhZGFibGUgcGlwZSBlbmQgZnJvbSB3aGljaCB0aGUgY2FsbGVyCi0JcmVhZHM7IHRoZSB3cml0YWJsZSBlbmQgb2YgdGhlIHBpcGUgYmVjb21lcyB0aGUgZnVuY3Rpb24ncwotCW91dCBhcmd1bWVudC4KLQotICBUaGUgY2FsbGVyIG9mIHN0YXJ0X2FzeW5jKCkgbXVzdCBjbG9zZSB0aGUgcmV0dXJuZWQgRkRzIGFmdGVyIGl0Ci0gIGhhcyBjb21wbGV0ZWQgcmVhZGluZyBmcm9tL3dyaXRpbmcgZnJvbSB0aGVtLgotCi0uIFNwZWNpZnkgYSBmaWxlIGRlc2NyaXB0b3IgPiAwIHRvIGJlIHVzZWQgYnkgdGhlIGZ1bmN0aW9uOgotCi0JLmluOiBUaGUgRkQgbXVzdCBiZSByZWFkYWJsZTsgaXQgYmVjb21lcyB0aGUgZnVuY3Rpb24ncyBpbi4KLQkub3V0OiBUaGUgRkQgbXVzdCBiZSB3cml0YWJsZTsgaXQgYmVjb21lcyB0aGUgZnVuY3Rpb24ncyBvdXQuCi0KLSAgVGhlIHNwZWNpZmllZCBGRCBpcyBjbG9zZWQgYnkgc3RhcnRfYXN5bmMoKSwgZXZlbiBpZiBpdCBmYWlscyB0bwotICBydW4gdGhlIGZ1bmN0aW9uLgotCi1UaGUgZnVuY3Rpb24gcG9pbnRlciBpbiAucHJvYyBoYXMgdGhlIGZvbGxvd2luZyBzaWduYXR1cmU6Ci0KLQlpbnQgcHJvYyhpbnQgaW4sIGludCBvdXQsIHZvaWQgKmRhdGEpOwotCi0uIGluLCBvdXQgc3BlY2lmaWVzIGEgc2V0IG9mIGZpbGUgZGVzY3JpcHRvcnMgdG8gd2hpY2ggdGhlIGZ1bmN0aW9uCi0gIG11c3QgcmVhZC93cml0ZSB0aGUgZGF0YSB0aGF0IGl0IG5lZWRzL3Byb2R1Y2VzLiAgVGhlIGZ1bmN0aW9uCi0gICptdXN0KiBjbG9zZSB0aGVzZSBkZXNjcmlwdG9ycyBiZWZvcmUgaXQgcmV0dXJucy4gIEEgZGVzY3JpcHRvcgotICBtYXkgYmUgLTEgaWYgdGhlIGNhbGxlciBkaWQgbm90IGNvbmZpZ3VyZSBhIGRlc2NyaXB0b3IgZm9yIHRoYXQKLSAgZGlyZWN0aW9uLgotCi0uIGRhdGEgaXMgdGhlIHZhbHVlIHRoYXQgdGhlIGNhbGxlciBoYXMgc3BlY2lmaWVkIGluIHRoZSAuZGF0YSBtZW1iZXIKLSAgb2Ygc3RydWN0IGFzeW5jLgotCi0uIFRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGlzIDAgb24gc3VjY2VzcyBhbmQgbm9uLXplcm8KLSAgb24gZmFpbHVyZS4gSWYgdGhlIGZ1bmN0aW9uIGluZGljYXRlcyBmYWlsdXJlLCBmaW5pc2hfYXN5bmMoKSB3aWxsCi0gIHJlcG9ydCBmYWlsdXJlIGFzIHdlbGwuCi0KLQotVGhlcmUgYXJlIHNlcmlvdXMgcmVzdHJpY3Rpb25zIG9uIHdoYXQgdGhlIGFzeW5jaHJvbm91cyBmdW5jdGlvbiBjYW4gZG8KLWJlY2F1c2UgdGhpcyBmYWNpbGl0eSBpcyBpbXBsZW1lbnRlZCBieSBhIHRocmVhZCBpbiB0aGUgc2FtZSBhZGRyZXNzCi1zcGFjZSBvbiBtb3N0IHBsYXRmb3JtcyAod2hlbiBwdGhyZWFkcyBpcyBhdmFpbGFibGUpLCBidXQgYnkgYSBwaXBlIHRvCi1hIGZvcmtlZCBwcm9jZXNzIG90aGVyd2lzZToKLQotLiBJdCBjYW5ub3QgY2hhbmdlIHRoZSBwcm9ncmFtJ3Mgc3RhdGUgKGdsb2JhbCB2YXJpYWJsZXMsIGVudmlyb25tZW50LAotICBldGMuKSBpbiBhIHdheSB0aGF0IHRoZSBjYWxsZXIgbm90aWNlczsgaW4gb3RoZXIgd29yZHMsIC5pbiBhbmQgLm91dAotICBhcmUgdGhlIG9ubHkgY29tbXVuaWNhdGlvbiBjaGFubmVscyB0byB0aGUgY2FsbGVyLgotCi0uIEl0IG11c3Qgbm90IGNoYW5nZSB0aGUgcHJvZ3JhbSdzIHN0YXRlIHRoYXQgdGhlIGNhbGxlciBvZiB0aGUKLSAgZmFjaWxpdHkgYWxzbyB1c2VzLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXNldHVwLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1zZXR1cC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViMWZhOTguLjAwMDAwMDAKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXNldHVwLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLXNldHVwIEFQSQotPT09PT09PT09Ci0KLVRhbGsgYWJvdXQKLQotKiBzZXR1cF9naXRfZGlyZWN0b3J5KCkKLSogc2V0dXBfZ2l0X2RpcmVjdG9yeV9nZW50bHkoKQotKiBpc19pbnNpZGVfZ2l0X2RpcigpCi0qIGlzX2luc2lkZV93b3JrX3RyZWUoKQotKiBzZXR1cF93b3JrX3RyZWUoKQotCi0oRHNjaG8pCi0KLVBhdGhzcGVjCi0tLS0tLS0tLQotCi1TZWUgZ2xvc3NhcnktY29udGV4dC50eHQgZm9yIHRoZSBzeW50YXggb2YgcGF0aHNwZWMuIEluIG1lbW9yeSwgYQotcGF0aHNwZWMgc2V0IGlzIHJlcHJlc2VudGVkIGJ5ICJzdHJ1Y3QgcGF0aHNwZWMiIGFuZCBpcyBwcmVwYXJlZCBieQotcGFyc2VfcGF0aHNwZWMoKS4gVGhpcyBmdW5jdGlvbiB0YWtlcyBzZXZlcmFsIGFyZ3VtZW50czoKLQotLSBtYWdpY19tYXNrIHNwZWNpZmllcyB3aGF0IGZlYXR1cmVzIHRoYXQgYXJlIE5PVCBzdXBwb3J0ZWQgYnkgdGhlCi0gIGZvbGxvd2luZyBjb2RlLiBJZiBhIHVzZXIgYXR0ZW1wdHMgdG8gdXNlIHN1Y2ggYSBmZWF0dXJlLAotICBwYXJzZV9wYXRoc3BlYygpIGNhbiByZWplY3QgaXQgZWFybHkuCi0KLS0gZmxhZ3Mgc3BlY2lmaWVzIG90aGVyIHRoaW5ncyB0aGF0IHRoZSBjYWxsZXIgd2FudHMgcGFyc2VfcGF0aHNwZWMgdG8KLSAgcGVyZm9ybS4KLQotLSBwcmVmaXggYW5kIGFyZ3MgY29tZSBmcm9tIGNtZF8qIGZ1bmN0aW9ucwotCi1wYXJzZV9wYXRoc3BlYygpIGhlbHBzIGNhdGNoIHVuc3VwcG9ydGVkIGZlYXR1cmVzIGFuZCByZWplY3QgdGhlbQotcG9saXRlbHkuIEF0IGEgbG93ZXIgbGV2ZWwsIGRpZmZlcmVudCBwYXRoc3BlYy1yZWxhdGVkIGZ1bmN0aW9ucyBtYXkKLW5vdCBzdXBwb3J0IHRoZSBzYW1lIHNldCBvZiBmZWF0dXJlcy4gU3VjaCBwYXRoc3BlYy1zZW5zaXRpdmUKLWZ1bmN0aW9ucyBhcmUgZ3VhcmRlZCB3aXRoIEdVQVJEX1BBVEhTUEVDKCksIHdoaWNoIHdpbGwgZGllIGluIGFuCi11bmZyaWVuZGx5IHdheSB3aGVuIGFuIHVuc3VwcG9ydGVkIGZlYXR1cmUgaXMgcmVxdWVzdGVkLgotCi1UaGUgY29tbWFuZCBkZXNpZ25lcnMgYXJlIHN1cHBvc2VkIHRvIG1ha2Ugc3VyZSB0aGF0IEdVQVJEX1BBVEhTUEVDKCkKLW5ldmVyIGRpZXMuIFRoZXkgaGF2ZSB0byBtYWtlIHN1cmUgYWxsIHVuc3VwcG9ydGVkIGZlYXR1cmVzIGFyZSBjYXVnaHQKLWJ5IHBhcnNlX3BhdGhzcGVjKCksIG5vdCBieSBHVUFSRF9QQVRIU1BFQy4gZ3JlcHBpbmcgR1VBUkRfUEFUSFNQRUMoKQotc2hvdWxkIGdpdmUgdGhlIGRlc2lnbmVycyBhbGwgcGF0aHNwZWMtc2Vuc2l0aXZlIGNvZGVwYXRocyBhbmQgd2hhdAotZmVhdHVyZXMgdGhleSBzdXBwb3J0LgotCi1BIHNpbWlsYXIgcHJvY2VzcyBpcyBhcHBsaWVkIHdoZW4gYSBuZXcgcGF0aHNwZWMgbWFnaWMgaXMgYWRkZWQuIFRoZQotZGVzaWduZXIgbGlmdHMgdGhlIEdVQVJEX1BBVEhTUEVDIHJlc3RyaWN0aW9uIGluIHRoZSBmdW5jdGlvbnMgdGhhdAotc3VwcG9ydCB0aGUgbmV3IG1hZ2ljLiBBdCB0aGUgc2FtZSB0aW1lIChzKWhlIGhhcyB0byBtYWtlIHN1cmUgdGhpcwotbmV3IGZlYXR1cmUgd2lsbCBiZSBjYXVnaHQgYXQgcGFyc2VfcGF0aHNwZWMoKSBpbiBjb21tYW5kcyB0aGF0IGNhbm5vdAotaGFuZGxlIHRoZSBuZXcgbWFnaWMgaW4gc29tZSBjYXNlcy4gZ3JlcHBpbmcgcGFyc2VfcGF0aHNwZWMoKSBzaG91bGQKLWhlbHAuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktc2lnY2hhaW4udHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXNpZ2NoYWluLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWUxMTg5ZS4uMDAwMDAwMAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktc2lnY2hhaW4udHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotc2lnY2hhaW4gQVBJCi09PT09PT09PT09PT0KLQotQ29kZSBvZnRlbiB3YW50cyB0byBzZXQgYSBzaWduYWwgaGFuZGxlciB0byBjbGVhbiB1cCB0ZW1wb3JhcnkgZmlsZXMgb3IKLW90aGVyIHdvcmstaW4tcHJvZ3Jlc3Mgd2hlbiB3ZSBkaWUgdW5leHBlY3RlZGx5LiBGb3IgbXVsdGlwbGUgcGllY2VzIG9mCi1jb2RlIHRvIGRvIHRoaXMgd2l0aG91dCBjb25mbGljdGluZywgZWFjaCBwaWVjZSBvZiBjb2RlIG11c3QgcmVtZW1iZXIKLXRoZSBvbGQgdmFsdWUgb2YgdGhlIGhhbmRsZXIgYW5kIHJlc3RvcmUgaXQgZWl0aGVyIHdoZW46Ci0KLSAgMS4gVGhlIHdvcmstaW4tcHJvZ3Jlc3MgaXMgZmluaXNoZWQsIGFuZCB0aGUgaGFuZGxlciBpcyBubyBsb25nZXIKLSAgICAgbmVjZXNzYXJ5LiBUaGUgaGFuZGxlciBzaG91bGQgcmV2ZXJ0IHRvIHRoZSBvcmlnaW5hbCBiZWhhdmlvcgotICAgICAoZWl0aGVyIGFub3RoZXIgaGFuZGxlciwgU0lHX0RGTCwgb3IgU0lHX0lHTikuCi0KLSAgMi4gVGhlIHNpZ25hbCBpcyByZWNlaXZlZC4gV2Ugc2hvdWxkIHRoZW4gZG8gb3VyIGNsZWFudXAsIHRoZW4gY2hhaW4KLSAgICAgdG8gdGhlIG5leHQgaGFuZGxlciAob3IgZGllIGlmIGl0IGlzIFNJR19ERkwpLgotCi1TaWdjaGFpbiBpcyBhIHRpbnkgbGlicmFyeSBmb3Iga2VlcGluZyBhIHN0YWNrIG9mIGhhbmRsZXJzLiBZb3VyIGhhbmRsZXIKLWFuZCBpbnN0YWxsYXRpb24gY29kZSBzaG91bGQgbG9vayBzb21ldGhpbmcgbGlrZToKLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gIHZvaWQgY2xlYW5fZm9vX29uX3NpZ25hbChpbnQgc2lnKQotICB7Ci0JICBjbGVhbl9mb28oKTsKLQkgIHNpZ2NoYWluX3BvcChzaWcpOwotCSAgcmFpc2Uoc2lnKTsKLSAgfQotCi0gIHZvaWQgb3RoZXJfZnVuYygpCi0gIHsKLQkgIHNpZ2NoYWluX3B1c2hfY29tbW9uKGNsZWFuX2Zvb19vbl9zaWduYWwpOwotCSAgbWVzc191cF9mb28oKTsKLQkgIGNsZWFuX2ZvbygpOwotICB9Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotSGFuZGxlcnMgYXJlIGdpdmVuIHRoZSB0eXBlZGVmIG9mIHNpZ2NoYWluX2Z1bi4gVGhpcyBpcyB0aGUgc2FtZSB0eXBlCi10aGF0IGlzIGdpdmVuIHRvIHNpZ25hbCgpIG9yIHNpZ2FjdGlvbigpLiBJdCBpcyBwZXJmZWN0bHkgcmVhc29uYWJsZSB0bwotcHVzaCBTSUdfREZMIG9yIFNJR19JR04gb250byB0aGUgc3RhY2suCi0KLVlvdSBjYW4gc2lnY2hhaW5fcHVzaCBhbmQgc2lnY2hhaW5fcG9wIGluZGl2aWR1YWwgc2lnbmFscy4gRm9yCi1jb252ZW5pZW5jZSwgc2lnY2hhaW5fcHVzaF9jb21tb24gd2lsbCBwdXNoIHRoZSBoYW5kbGVyIG9udG8gdGhlIHN0YWNrCi1mb3IgbWFueSBjb21tb24gc2lnbmFscy4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1zdWJtb2R1bGUtY29uZmlnLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1zdWJtb2R1bGUtY29uZmlnLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmIwNjA4OS4uMDAwMDAwMAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktc3VibW9kdWxlLWNvbmZpZy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi1zdWJtb2R1bGUgY29uZmlnIGNhY2hlIEFQSQotPT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotVGhlIHN1Ym1vZHVsZSBjb25maWcgY2FjaGUgQVBJIGFsbG93cyB0byByZWFkIHN1Ym1vZHVsZQotY29uZmlndXJhdGlvbnMvaW5mb3JtYXRpb24gZnJvbSBzcGVjaWZpZWQgcmV2aXNpb25zLiBJbnRlcm5hbGx5Ci1pbmZvcm1hdGlvbiBpcyBsYXppbHkgcmVhZCBpbnRvIGEgY2FjaGUgdGhhdCBpcyB1c2VkIHRvIGF2b2lkCi11bm5lY2Vzc2FyeSBwYXJzaW5nIG9mIHRoZSBzYW1lIC5naXRtb2R1bGVzIGZpbGVzLiBMb29rdXBzIGNhbiBiZSBkb25lIGJ5Ci1zdWJtb2R1bGUgcGF0aCBvciBuYW1lLgotCi1Vc2FnZQotLS0tLS0KLQotVG8gaW5pdGlhbGl6ZSB0aGUgY2FjaGUgd2l0aCBjb25maWd1cmF0aW9ucyBmcm9tIHRoZSB3b3JrdHJlZSB0aGUgY2FsbGVyCi10eXBpY2FsbHkgZmlyc3QgY2FsbHMgYGdpdG1vZHVsZXNfY29uZmlnKClgIHRvIHJlYWQgdmFsdWVzIGZyb20gdGhlCi13b3JrdHJlZSAuZ2l0bW9kdWxlcyBhbmQgdGhlbiB0byBvdmVybGF5IHRoZSBsb2NhbCBnaXQgY29uZmlnIHZhbHVlcwotYHBhcnNlX3N1Ym1vZHVsZV9jb25maWdfb3B0aW9uKClgIGZyb20gdGhlIGNvbmZpZyBwYXJzaW5nCi1pbmZyYXN0cnVjdHVyZS4KLQotVGhlIGNhbGxlciBjYW4gbG9vayB1cCBpbmZvcm1hdGlvbiBhYm91dCBzdWJtb2R1bGVzIGJ5IHVzaW5nIHRoZQotYHN1Ym1vZHVsZV9mcm9tX3BhdGgoKWAgb3IgYHN1Ym1vZHVsZV9mcm9tX25hbWUoKWAgZnVuY3Rpb25zLiBUaGV5IHJldHVybgotYSBgc3RydWN0IHN1Ym1vZHVsZWAgd2hpY2ggY29udGFpbnMgdGhlIHZhbHVlcy4gVGhlIEFQSSBhdXRvbWF0aWNhbGx5Ci1pbml0aWFsaXplcyBhbmQgYWxsb2NhdGVzIHRoZSBuZWVkZWQgaW5mcmFzdHJ1Y3R1cmUgb24tZGVtYW5kLiBJZiB0aGUKLWNhbGxlciBkb2VzIG9ubHkgd2FudCB0byBsb29rdXAgdmFsdWVzIGZyb20gcmV2aXNpb25zIHRoZSBpbml0aWFsaXphdGlvbgotY2FuIGJlIHNraXBwZWQuCi0KLUlmIHRoZSBpbnRlcm5hbCBjYWNoZSBtaWdodCBncm93IHRvbyBiaWcgb3Igd2hlbiB0aGUgY2FsbGVyIGlzIGRvbmUgd2l0aAotdGhlIEFQSSwgYWxsIGludGVybmFsbHkgY2FjaGVkIHZhbHVlcyBjYW4gYmUgZnJlZWQgd2l0aCBzdWJtb2R1bGVfZnJlZSgpLgotCi1EYXRhIFN0cnVjdHVyZXMKLS0tLS0tLS0tLS0tLS0tLQotCi1gc3RydWN0IHN1Ym1vZHVsZWA6OgotCi0JVGhpcyBzdHJ1Y3R1cmUgaXMgdXNlZCB0byByZXR1cm4gdGhlIGluZm9ybWF0aW9uIGFib3V0IG9uZQotCXN1Ym1vZHVsZSBmb3IgYSBjZXJ0YWluIHJldmlzaW9uLiBJdCBpcyByZXR1cm5lZCBieSB0aGUgbG9va3VwCi0JZnVuY3Rpb25zLgotCi1GdW5jdGlvbnMKLS0tLS0tLS0tLQotCi1gdm9pZCBzdWJtb2R1bGVfZnJlZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcilgOjoKLQotCVVzZSB0aGVzZSB0byBmcmVlIHRoZSBpbnRlcm5hbGx5IGNhY2hlZCB2YWx1ZXMuCi0KLWBpbnQgcGFyc2Vfc3VibW9kdWxlX2NvbmZpZ19vcHRpb24oY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSlgOjoKLQotCUNhbiBiZSBwYXNzZWQgdG8gdGhlIGNvbmZpZyBwYXJzaW5nIGluZnJhc3RydWN0dXJlIHRvIHBhcnNlCi0JbG9jYWwgKHdvcmt0cmVlKSBzdWJtb2R1bGUgY29uZmlndXJhdGlvbnMuCi0KLWBjb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWJtb2R1bGVfZnJvbV9wYXRoKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnRyZWVpc2hfbmFtZSwgY29uc3QgY2hhciAqcGF0aClgOjoKLQotCUdpdmVuIGEgdHJlZS1pc2ggaW4gdGhlIHN1cGVycHJvamVjdCBhbmQgYSBwYXRoLCByZXR1cm4gdGhlCi0Jc3VibW9kdWxlIHRoYXQgaXMgYm91bmQgYXQgdGhlIHBhdGggaW4gdGhlIG5hbWVkIHRyZWUuCi0KLWBjb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWJtb2R1bGVfZnJvbV9uYW1lKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnRyZWVpc2hfbmFtZSwgY29uc3QgY2hhciAqbmFtZSlgOjoKLQotCVRoZSBzYW1lIGFzIGFib3ZlIGJ1dCBsb29rdXAgYnkgbmFtZS4KLQotV2hlbmV2ZXIgYSBzdWJtb2R1bGUgY29uZmlndXJhdGlvbiBpcyBwYXJzZWQgaW4gYHBhcnNlX3N1Ym1vZHVsZV9jb25maWdfb3B0aW9uYAotdmlhIGUuZy4gYGdpdG1vZHVsZXNfY29uZmlnKClgLCBpdCB3aWxsIG92ZXJ3cml0ZSB0aGUgbnVsbF9zaGExIGVudHJ5LgotU28gaW4gdGhlIG5vcm1hbCBjYXNlLCB3aGVuIEhFQUQ6LmdpdG1vZHVsZXMgaXMgcGFyc2VkIGZpcnN0IGFuZCB0aGVuIG92ZXJsYXllZAotd2l0aCB0aGUgcmVwb3NpdG9yeSBjb25maWd1cmF0aW9uLCB0aGUgbnVsbF9zaGExIGVudHJ5IGNvbnRhaW5zIHRoZSBsb2NhbAotY29uZmlndXJhdGlvbiBvZiBhIHN1Ym1vZHVsZSAoZS5nLiBjb25zb2xpZGF0ZWQgdmFsdWVzIGZyb20gbG9jYWwgZ2l0Ci1jb25maWd1cmF0aW9uIGFuZCB0aGUgLmdpdG1vZHVsZXMgZmlsZSBpbiB0aGUgd29ya3RyZWUpLgotCi1Gb3IgYW4gZXhhbXBsZSB1c2FnZSBzZWUgdGVzdC1zdWJtb2R1bGUtY29uZmlnLmMuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktdHJhY2UudHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXRyYWNlLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmFkYjU5Ny4uMDAwMDAwMAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktdHJhY2UudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQwICswLDAgQEAKLXRyYWNlIEFQSQotPT09PT09PT09Ci0KLVRoZSB0cmFjZSBBUEkgY2FuIGJlIHVzZWQgdG8gcHJpbnQgZGVidWcgbWVzc2FnZXMgdG8gc3RkZXJyIG9yIGEgZmlsZS4gVHJhY2UKLWNvZGUgaXMgaW5hY3RpdmUgdW5sZXNzIGV4cGxpY2l0bHkgZW5hYmxlZCBieSBzZXR0aW5nIGBHSVRfVFJBQ0UqYCBlbnZpcm9ubWVudAotdmFyaWFibGVzLgotCi1UaGUgdHJhY2UgaW1wbGVtZW50YXRpb24gYXV0b21hdGljYWxseSBhZGRzIGB0aW1lc3RhbXAgZmlsZTpsaW5lIC4uLiBcbmAgdG8KLWFsbCB0cmFjZSBtZXNzYWdlcy4gRS5nLjoKLQotLS0tLS0tLS0tLS0tCi0yMzo1OTo1OS4xMjM0NTYgZ2l0LmM6MzEyICAgICAgICAgICAgICAgdHJhY2U6IGJ1aWx0LWluOiBnaXQgJ2ZvbycKLTAwOjAwOjAwLjAwMDAwMSBidWlsdGluL2Zvby5jOjk5ICAgICAgICBmb286IHNvbWUgbWVzc2FnZQotLS0tLS0tLS0tLS0tCi0KLURhdGEgU3RydWN0dXJlcwotLS0tLS0tLS0tLS0tLS0tCi0KLWBzdHJ1Y3QgdHJhY2Vfa2V5YDo6Ci0KLQlEZWZpbmVzIGEgdHJhY2Uga2V5IChvciBjYXRlZ29yeSkuIFRoZSBkZWZhdWx0IChmb3IgQVBJIGZ1bmN0aW9ucyB0aGF0Ci0JZG9uJ3QgdGFrZSBhIGtleSkgaXMgYEdJVF9UUkFDRWAuCi0rCi1FLmcuIHRvIGRlZmluZSBhIHRyYWNlIGtleSBjb250cm9sbGVkIGJ5IGVudmlyb25tZW50IHZhcmlhYmxlIGBHSVRfVFJBQ0VfRk9PYDoKLSsKLS0tLS0tLS0tLS0tLQotc3RhdGljIHN0cnVjdCB0cmFjZV9rZXkgdHJhY2VfZm9vID0gVFJBQ0VfS0VZX0lOSVQoRk9PKTsKLQotc3RhdGljIHZvaWQgdHJhY2VfcHJpbnRfZm9vKGNvbnN0IGNoYXIgKm1lc3NhZ2UpCi17Ci0JdHJhY2VfcHJpbnRmX2tleSgmdHJhY2VfZm9vLCAiJXMiLCBtZXNzYWdlKTsKLX0KLS0tLS0tLS0tLS0tLQotKwotTm90ZTogZG9uJ3QgdXNlIGBjb25zdGAgYXMgdGhlIHRyYWNlIGltcGxlbWVudGF0aW9uIHN0b3JlcyBpbnRlcm5hbCBzdGF0ZSBpbgotdGhlIGB0cmFjZV9rZXlgIHN0cnVjdHVyZS4KLQotRnVuY3Rpb25zCi0tLS0tLS0tLS0KLQotYGludCB0cmFjZV93YW50KHN0cnVjdCB0cmFjZV9rZXkgKmtleSlgOjoKLQotCUNoZWNrcyB3aGV0aGVyIHRoZSB0cmFjZSBrZXkgaXMgZW5hYmxlZC4gVXNlZCB0byBwcmV2ZW50IGV4cGVuc2l2ZQotCXN0cmluZyBmb3JtYXR0aW5nIGJlZm9yZSBjYWxsaW5nIG9uZSBvZiB0aGUgcHJpbnRpbmcgQVBJcy4KLQotYHZvaWQgdHJhY2VfZGlzYWJsZShzdHJ1Y3QgdHJhY2Vfa2V5ICprZXkpYDo6Ci0KLQlEaXNhYmxlcyB0cmFjaW5nIGZvciB0aGUgc3BlY2lmaWVkIGtleSwgZXZlbiBpZiB0aGUgZW52aXJvbm1lbnQKLQl2YXJpYWJsZSB3YXMgc2V0LgotCi1gdm9pZCB0cmFjZV9wcmludGYoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pYDo6Ci1gdm9pZCB0cmFjZV9wcmludGZfa2V5KHN0cnVjdCB0cmFjZV9rZXkgKmtleSwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pYDo6Ci0KLQlQcmludHMgYSBmb3JtYXR0ZWQgbWVzc2FnZSwgc2ltaWxhciB0byBwcmludGYuCi0KLWB2b2lkIHRyYWNlX2FyZ3ZfcHJpbnRmKGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLilgYDo6Ci0KLQlQcmludHMgYSBmb3JtYXR0ZWQgbWVzc2FnZSwgZm9sbG93ZWQgYnkgYSBxdW90ZWQgbGlzdCBvZiBhcmd1bWVudHMuCi0KLWB2b2lkIHRyYWNlX3N0cmJ1ZihzdHJ1Y3QgdHJhY2Vfa2V5ICprZXksIGNvbnN0IHN0cnVjdCBzdHJidWYgKmRhdGEpYDo6Ci0KLQlQcmludHMgdGhlIHN0cmJ1Ziwgd2l0aG91dCBhZGRpdGlvbmFsIGZvcm1hdHRpbmcgKGkuZS4gZG9lc24ndAotCWNob2tlIG9uIGAlYCBvciBldmVuIGBcMGApLgotCi1gdWludDY0X3QgZ2V0bmFub3RpbWUodm9pZClgOjoKLQotCVJldHVybnMgbmFub3NlY29uZHMgc2luY2UgdGhlIGVwb2NoICgwMS8wMS8xOTcwKSwgdHlwaWNhbGx5IHVzZWQKLQlmb3IgcGVyZm9ybWFuY2UgbWVhc3VyZW1lbnRzLgotKwotQ3VycmVudGx5IHRoZXJlIGFyZSBoaWdoIHByZWNpc2lvbiB0aW1lciBpbXBsZW1lbnRhdGlvbnMgZm9yIExpbnV4ICh1c2luZwotYGNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDKWApIGFuZCBXaW5kb3dzIChgUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXJgKS4KLU90aGVyIHBsYXRmb3JtcyB1c2UgYGdldHRpbWVvZmRheWAgYXMgdGltZSBzb3VyY2UuCi0KLWB2b2lkIHRyYWNlX3BlcmZvcm1hbmNlKHVpbnQ2NF90IG5hbm9zLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLilgOjoKLWB2b2lkIHRyYWNlX3BlcmZvcm1hbmNlX3NpbmNlKHVpbnQ2NF90IHN0YXJ0LCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLilgOjoKLQotCVByaW50cyB0aGUgZWxhcHNlZCB0aW1lIChpbiBuYW5vc2Vjb25kcyksIG9yIGVsYXBzZWQgdGltZSBzaW5jZQotCWBzdGFydGAsIGZvbGxvd2VkIGJ5IGEgZm9ybWF0dGVkIG1lc3NhZ2UuIEVuYWJsZWQgdmlhIGVudmlyb25tZW50Ci0JdmFyaWFibGUgYEdJVF9UUkFDRV9QRVJGT1JNQU5DRWAuIFVzZWQgZm9yIG1hbnVhbCBwcm9maWxpbmcsIGUuZy46Ci0rCi0tLS0tLS0tLS0tLS0KLXVpbnQ2NF90IHN0YXJ0ID0gZ2V0bmFub3RpbWUoKTsKLS8qIGNvZGUgc2VjdGlvbiB0byBtZWFzdXJlICovCi10cmFjZV9wZXJmb3JtYW5jZV9zaW5jZShzdGFydCwgImZvb2JhciIpOwotLS0tLS0tLS0tLS0tCi0rCi0tLS0tLS0tLS0tLS0KLXVpbnQ2NF90IHQgPSAwOwotZm9yICg7OykgewotCS8qIGlnbm9yZSAqLwotCXQgLT0gZ2V0bmFub3RpbWUoKTsKLQkvKiBjb2RlIHNlY3Rpb24gdG8gbWVhc3VyZSAqLwotCXQgKz0gZ2V0bmFub3RpbWUoKTsKLQkvKiBpZ25vcmUgKi8KLX0KLXRyYWNlX3BlcmZvcm1hbmNlKHQsICJmcm90eiIpOwotLS0tLS0tLS0tLS0tCi0KLUJ1Z3MgJiBDYXZlYXRzCi0tLS0tLS0tLS0tLS0tLQotCi1HSVRfVFJBQ0VfKiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgY2FuIGJlIHVzZWQgdG8gdGVsbCBHaXQgdG8gc2hvdwotdHJhY2Ugb3V0cHV0IHRvIGl0cyBzdGFuZGFyZCBlcnJvciBzdHJlYW0uIEdpdCBjYW4gb2Z0ZW4gc3Bhd24gYSBwYWdlcgotaW50ZXJuYWxseSB0byBydW4gaXRzIHN1YmNvbW1hbmQgYW5kIHNlbmQgaXRzIHN0YW5kYXJkIG91dHB1dCBhbmQKLXN0YW5kYXJkIGVycm9yIHRvIGl0LgotCi1CZWNhdXNlIEdJVF9UUkFDRV9QRVJGT1JNQU5DRSB0cmFjZSBpcyBnZW5lcmF0ZWQgb25seSBhdCB0aGUgdmVyeSBlbmQKLW9mIHRoZSBwcm9ncmFtIHdpdGggYXRleGl0KCksIHdoaWNoIGhhcHBlbnMgYWZ0ZXIgdGhlIHBhZ2VyIGV4aXRzLCBpdAotd291bGQgbm90IHdvcmsgd2VsbCBpZiB5b3Ugc2VuZCBpdHMgbG9nIHRvIHRoZSBzdGFuZGFyZCBlcnJvciBvdXRwdXQKLWFuZCBsZXQgR2l0IHNwYXduIHRoZSBwYWdlciBhdCB0aGUgc2FtZSB0aW1lLgotCi1BcyBhIHdvcmsgYXJvdW5kLCB5b3UgY2FuIGZvciBleGFtcGxlIHVzZSAnLS1uby1wYWdlcicsIG9yIHNldAotR0lUX1RSQUNFX1BFUkZPUk1BTkNFIHRvIGFub3RoZXIgZmlsZSBkZXNjcmlwdG9yIHdoaWNoIGlzIHJlZGlyZWN0ZWQKLXRvIHN0ZGVyciwgb3Igc2V0IEdJVF9UUkFDRV9QRVJGT1JNQU5DRSB0byBhIGZpbGUgc3BlY2lmaWVkIGJ5IGl0cwotYWJzb2x1dGUgcGF0aC4KLQotRm9yIGV4YW1wbGUgaW5zdGVhZCBvZiB0aGUgZm9sbG93aW5nIGNvbW1hbmQgd2hpY2ggYnkgZGVmYXVsdCBtYXkgbm90Ci1wcmludCBhbnkgcGVyZm9ybWFuY2UgaW5mb3JtYXRpb246Ci0KLS0tLS0tLS0tLS0tLQotR0lUX1RSQUNFX1BFUkZPUk1BTkNFPTIgZ2l0IGxvZyAtMQotLS0tLS0tLS0tLS0tCi0KLXlvdSBtYXkgd2FudCB0byB1c2U6Ci0KLS0tLS0tLS0tLS0tLQotR0lUX1RSQUNFX1BFUkZPUk1BTkNFPTIgZ2l0IC0tbm8tcGFnZXIgbG9nIC0xCi0tLS0tLS0tLS0tLS0KLQotb3I6Ci0KLS0tLS0tLS0tLS0tLQotR0lUX1RSQUNFX1BFUkZPUk1BTkNFPTMgMz4mMiBnaXQgbG9nIC0xCi0tLS0tLS0tLS0tLS0KLQotb3I6Ci0KLS0tLS0tLS0tLS0tLQotR0lUX1RSQUNFX1BFUkZPUk1BTkNFPS9wYXRoL3RvL2xvZy9maWxlIGdpdCBsb2cgLTEKLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXRyYWNlMi50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktdHJhY2UyLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjA3Y2VhCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXRyYWNlMi50eHQKQEAgLTAsMCArMSwxMTcwIEBACis9IFRyYWNlMiBBUEkKKworVGhlIFRyYWNlMiBBUEkgY2FuIGJlIHVzZWQgdG8gcHJpbnQgZGVidWcsIHBlcmZvcm1hbmNlLCBhbmQgdGVsZW1ldHJ5CitpbmZvcm1hdGlvbiB0byBzdGRlcnIgb3IgYSBmaWxlLiAgVGhlIFRyYWNlMiBmZWF0dXJlIGlzIGluYWN0aXZlIHVubGVzcworZXhwbGljaXRseSBlbmFibGVkIGJ5IGVuYWJsaW5nIG9uZSBvciBtb3JlIFRyYWNlMiBUYXJnZXRzLgorCitUaGUgVHJhY2UyIEFQSSBpcyBpbnRlbmRlZCB0byByZXBsYWNlIHRoZSBleGlzdGluZyAoVHJhY2UxKQorcHJpbnRmLXN0eWxlIHRyYWNpbmcgcHJvdmlkZWQgYnkgdGhlIGV4aXN0aW5nIGBHSVRfVFJBQ0VgIGFuZAorYEdJVF9UUkFDRV9QRVJGT1JNQU5DRWAgZmFjaWxpdGllcy4gIER1cmluZyBpbml0aWFsIGltcGxlbWVudGF0aW9uLAorVHJhY2UyIGFuZCBUcmFjZTEgbWF5IG9wZXJhdGUgaW4gcGFyYWxsZWwuCisKK1RoZSBUcmFjZTIgQVBJIGRlZmluZXMgYSBzZXQgb2YgaGlnaC1sZXZlbCBtZXNzYWdlcyB3aXRoIGtub3duIGZpZWxkcywKK3N1Y2ggYXMgKGBzdGFydGA6IGBhcmd2YCkgYW5kIChgZXhpdGA6IHtgZXhpdC1jb2RlYCwgYGVsYXBzZWQtdGltZWB9KS4KKworVHJhY2UyIGluc3RydW1lbnRhdGlvbiB0aHJvdWdob3V0IHRoZSBHaXQgY29kZSBiYXNlIHNlbmRzIFRyYWNlMgorbWVzc2FnZXMgdG8gdGhlIGVuYWJsZWQgVHJhY2UyIFRhcmdldHMuICBUYXJnZXRzIHRyYW5zZm9ybSB0aGVzZQorbWVzc2FnZXMgY29udGVudCBpbnRvIHB1cnBvc2Utc3BlY2lmaWMgZm9ybWF0cyBhbmQgd3JpdGUgZXZlbnRzIHRvCit0aGVpciBkYXRhIHN0cmVhbXMuICBJbiB0aGlzIG1hbm5lciwgdGhlIFRyYWNlMiBBUEkgY2FuIGRyaXZlCittYW55IGRpZmZlcmVudCB0eXBlcyBvZiBhbmFseXNpcy4KKworVGFyZ2V0cyBhcmUgZGVmaW5lZCB1c2luZyBhIFZUYWJsZSBhbGxvd2luZyBlYXN5IGV4dGVuc2lvbiB0byBvdGhlcgorZm9ybWF0cyBpbiB0aGUgZnV0dXJlLiAgVGhpcyBtaWdodCBiZSB1c2VkIHRvIGRlZmluZSBhIGJpbmFyeSBmb3JtYXQsCitmb3IgZXhhbXBsZS4KKworVHJhY2UyIGlzIGNvbnRyb2xsZWQgdXNpbmcgYHRyYWNlMi4qYCBjb25maWcgdmFsdWVzIGluIHRoZSBzeXN0ZW0gYW5kCitnbG9iYWwgY29uZmlnIGZpbGVzIGFuZCBgR0lUX1RSQUNFMipgIGVudmlyb25tZW50IHZhcmlhYmxlcy4gIFRyYWNlMiBkb2VzCitub3QgcmVhZCBmcm9tIHJlcG8gbG9jYWwgb3Igd29ya3RyZWUgY29uZmlnIGZpbGVzIG9yIHJlc3BlY3QgYC1jYAorY29tbWFuZCBsaW5lIGNvbmZpZyBzZXR0aW5ncy4KKworPT0gVHJhY2UyIFRhcmdldHMKKworVHJhY2UyIGRlZmluZXMgdGhlIGZvbGxvd2luZyBzZXQgb2YgVHJhY2UyIFRhcmdldHMuCitGb3JtYXQgZGV0YWlscyBhcmUgZ2l2ZW4gaW4gYSBsYXRlciBzZWN0aW9uLgorCis9PT0gVGhlIE5vcm1hbCBGb3JtYXQgVGFyZ2V0CisKK1RoZSBub3JtYWwgZm9ybWF0IHRhcmdldCBpcyBhIHRyYWRpdGlvbiBwcmludGYgZm9ybWF0IGFuZCBzaW1pbGFyCit0byBHSVRfVFJBQ0UgZm9ybWF0LiAgVGhpcyBmb3JtYXQgaXMgZW5hYmxlZCB3aXRoIHRoZSBgR0lUX1RSQUNFMmAKK2Vudmlyb25tZW50IHZhcmlhYmxlIG9yIHRoZSBgdHJhY2UyLm5vcm1hbFRhcmdldGAgc3lzdGVtIG9yIGdsb2JhbAorY29uZmlnIHNldHRpbmcuCisKK0ZvciBleGFtcGxlCisKKy0tLS0tLS0tLS0tLQorJCBleHBvcnQgR0lUX1RSQUNFMj1+L2xvZy5ub3JtYWwKKyQgZ2l0IHZlcnNpb24KK2dpdCB2ZXJzaW9uIDIuMjAuMS4xNTUuZzQyNmM5NmZjZGIKKy0tLS0tLS0tLS0tLQorCitvcgorCistLS0tLS0tLS0tLS0KKyQgZ2l0IGNvbmZpZyAtLWdsb2JhbCB0cmFjZTIubm9ybWFsVGFyZ2V0IH4vbG9nLm5vcm1hbAorJCBnaXQgdmVyc2lvbgorZ2l0IHZlcnNpb24gMi4yMC4xLjE1NS5nNDI2Yzk2ZmNkYgorLS0tLS0tLS0tLS0tCisKK3lpZWxkcworCistLS0tLS0tLS0tLS0KKyQgY2F0IH4vbG9nLm5vcm1hbAorMTI6Mjg6NDIuNjIwMDA5IGNvbW1vbi1tYWluLmM6MzggICAgICAgICAgICAgICAgICB2ZXJzaW9uIDIuMjAuMS4xNTUuZzQyNmM5NmZjZGIKKzEyOjI4OjQyLjYyMDk4OSBjb21tb24tbWFpbi5jOjM5ICAgICAgICAgICAgICAgICAgc3RhcnQgZ2l0IHZlcnNpb24KKzEyOjI4OjQyLjYyMTEwMSBnaXQuYzo0MzIgICAgICAgICAgICAgICAgICAgICAgICAgY21kX25hbWUgdmVyc2lvbiAodmVyc2lvbikKKzEyOjI4OjQyLjYyMTIxNSBnaXQuYzo2NjIgICAgICAgICAgICAgICAgICAgICAgICAgZXhpdCBlbGFwc2VkOjAuMDAxMjI3IGNvZGU6MAorMTI6Mjg6NDIuNjIxMjUwIHRyYWNlMi90cjJfdGd0X25vcm1hbC5jOjEyNCAgICAgICBhdGV4aXQgZWxhcHNlZDowLjAwMTI2NSBjb2RlOjAKKy0tLS0tLS0tLS0tLQorCis9PT0gVGhlIFBlcmZvcm1hbmNlIEZvcm1hdCBUYXJnZXQKKworVGhlIHBlcmZvcm1hbmNlIGZvcm1hdCB0YXJnZXQgKFBFUkYpIGlzIGEgY29sdW1uLWJhc2VkIGZvcm1hdCB0bworcmVwbGFjZSBHSVRfVFJBQ0VfUEVSRk9STUFOQ0UgYW5kIGlzIHN1aXRhYmxlIGZvciBkZXZlbG9wbWVudCBhbmQKK3Rlc3RpbmcsIHBvc3NpYmx5IHRvIGNvbXBsZW1lbnQgdG9vbHMgbGlrZSBncHJvZi4gIFRoaXMgZm9ybWF0IGlzCitlbmFibGVkIHdpdGggdGhlIGBHSVRfVFJBQ0UyX1BFUkZgIGVudmlyb25tZW50IHZhcmlhYmxlIG9yIHRoZQorYHRyYWNlMi5wZXJmVGFyZ2V0YCBzeXN0ZW0gb3IgZ2xvYmFsIGNvbmZpZyBzZXR0aW5nLgorCitGb3IgZXhhbXBsZQorCistLS0tLS0tLS0tLS0KKyQgZXhwb3J0IEdJVF9UUkFDRTJfUEVSRj1+L2xvZy5wZXJmCiskIGdpdCB2ZXJzaW9uCitnaXQgdmVyc2lvbiAyLjIwLjEuMTU1Lmc0MjZjOTZmY2RiCistLS0tLS0tLS0tLS0KKworb3IKKworLS0tLS0tLS0tLS0tCiskIGdpdCBjb25maWcgLS1nbG9iYWwgdHJhY2UyLnBlcmZUYXJnZXQgfi9sb2cucGVyZgorJCBnaXQgdmVyc2lvbgorZ2l0IHZlcnNpb24gMi4yMC4xLjE1NS5nNDI2Yzk2ZmNkYgorLS0tLS0tLS0tLS0tCisKK3lpZWxkcworCistLS0tLS0tLS0tLS0KKyQgY2F0IH4vbG9nLnBlcmYKKzEyOjI4OjQyLjYyMDY3NSBjb21tb24tbWFpbi5jOjM4ICAgICAgICAgICAgICAgICAgfCBkMCB8IG1haW4gICAgICAgICAgICAgICAgICAgICB8IHZlcnNpb24gICAgICB8ICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICAgfCAyLjIwLjEuMTU1Lmc0MjZjOTZmY2RiCisxMjoyODo0Mi42MjEwMDEgY29tbW9uLW1haW4uYzozOSAgICAgICAgICAgICAgICAgIHwgZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCBzdGFydCAgICAgICAgfCAgICAgfCAgMC4wMDExNzMgfCAgICAgICAgICAgfCAgICAgICAgICAgIHwgZ2l0IHZlcnNpb24KKzEyOjI4OjQyLjYyMTExMSBnaXQuYzo0MzIgICAgICAgICAgICAgICAgICAgICAgICAgfCBkMCB8IG1haW4gICAgICAgICAgICAgICAgICAgICB8IGNtZF9uYW1lICAgICB8ICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICAgfCB2ZXJzaW9uICh2ZXJzaW9uKQorMTI6Mjg6NDIuNjIxMjI1IGdpdC5jOjY2MiAgICAgICAgICAgICAgICAgICAgICAgICB8IGQwIHwgbWFpbiAgICAgICAgICAgICAgICAgICAgIHwgZXhpdCAgICAgICAgIHwgICAgIHwgIDAuMDAxMjI3IHwgICAgICAgICAgIHwgICAgICAgICAgICB8IGNvZGU6MAorMTI6Mjg6NDIuNjIxMjU5IHRyYWNlMi90cjJfdGd0X3BlcmYuYzoyMTEgICAgICAgICB8IGQwIHwgbWFpbiAgICAgICAgICAgICAgICAgICAgIHwgYXRleGl0ICAgICAgIHwgICAgIHwgIDAuMDAxMjY1IHwgICAgICAgICAgIHwgICAgICAgICAgICB8IGNvZGU6MAorLS0tLS0tLS0tLS0tCisKKz09PSBUaGUgRXZlbnQgRm9ybWF0IFRhcmdldAorCitUaGUgZXZlbnQgZm9ybWF0IHRhcmdldCBpcyBhIEpTT04tYmFzZWQgZm9ybWF0IG9mIGV2ZW50IGRhdGEgc3VpdGFibGUKK2ZvciB0ZWxlbWV0cnkgYW5hbHlzaXMuICBUaGlzIGZvcm1hdCBpcyBlbmFibGVkIHdpdGggdGhlIGBHSVRfVFJBQ0UyX0VWRU5UYAorZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgdGhlIGB0cmFjZTIuZXZlbnRUYXJnZXRgIHN5c3RlbSBvciBnbG9iYWwgY29uZmlnCitzZXR0aW5nLgorCitGb3IgZXhhbXBsZQorCistLS0tLS0tLS0tLS0KKyQgZXhwb3J0IEdJVF9UUkFDRTJfRVZFTlQ9fi9sb2cuZXZlbnQKKyQgZ2l0IHZlcnNpb24KK2dpdCB2ZXJzaW9uIDIuMjAuMS4xNTUuZzQyNmM5NmZjZGIKKy0tLS0tLS0tLS0tLQorCitvcgorCistLS0tLS0tLS0tLS0KKyQgZ2l0IGNvbmZpZyAtLWdsb2JhbCB0cmFjZTIuZXZlbnRUYXJnZXQgfi9sb2cuZXZlbnQKKyQgZ2l0IHZlcnNpb24KK2dpdCB2ZXJzaW9uIDIuMjAuMS4xNTUuZzQyNmM5NmZjZGIKKy0tLS0tLS0tLS0tLQorCit5aWVsZHMKKworLS0tLS0tLS0tLS0tCiskIGNhdCB+L2xvZy5ldmVudAoreyJldmVudCI6InZlcnNpb24iLCJzaWQiOiJzaWQiOiIyMDE5MDQwOFQxOTE2MTAuNTA3MDE4Wi1IOWI2OGMzNWYtUDAwMDA1OWE4IiwidGhyZWFkIjoibWFpbiIsInRpbWUiOiIyMDE5LTAxLTE2VDE3OjI4OjQyLjYyMDcxM1oiLCJmaWxlIjoiY29tbW9uLW1haW4uYyIsImxpbmUiOjM4LCJldnQiOiIyIiwiZXhlIjoiMi4yMC4xLjE1NS5nNDI2Yzk2ZmNkYiJ9Cit7ImV2ZW50Ijoic3RhcnQiLCJzaWQiOiIyMDE5MDQwOFQxOTE2MTAuNTA3MDE4Wi1IOWI2OGMzNWYtUDAwMDA1OWE4IiwidGhyZWFkIjoibWFpbiIsInRpbWUiOiIyMDE5LTAxLTE2VDE3OjI4OjQyLjYyMTAyN1oiLCJmaWxlIjoiY29tbW9uLW1haW4uYyIsImxpbmUiOjM5LCJ0X2FicyI6MC4wMDExNzMsImFyZ3YiOlsiZ2l0IiwidmVyc2lvbiJdfQoreyJldmVudCI6ImNtZF9uYW1lIiwic2lkIjoiMjAxOTA0MDhUMTkxNjEwLjUwNzAxOFotSDliNjhjMzVmLVAwMDAwNTlhOCIsInRocmVhZCI6Im1haW4iLCJ0aW1lIjoiMjAxOS0wMS0xNlQxNzoyODo0Mi42MjExMjJaIiwiZmlsZSI6ImdpdC5jIiwibGluZSI6NDMyLCJuYW1lIjoidmVyc2lvbiIsImhpZXJhcmNoeSI6InZlcnNpb24ifQoreyJldmVudCI6ImV4aXQiLCJzaWQiOiIyMDE5MDQwOFQxOTE2MTAuNTA3MDE4Wi1IOWI2OGMzNWYtUDAwMDA1OWE4IiwidGhyZWFkIjoibWFpbiIsInRpbWUiOiIyMDE5LTAxLTE2VDE3OjI4OjQyLjYyMTIzNloiLCJmaWxlIjoiZ2l0LmMiLCJsaW5lIjo2NjIsInRfYWJzIjowLjAwMTIyNywiY29kZSI6MH0KK3siZXZlbnQiOiJhdGV4aXQiLCJzaWQiOiIyMDE5MDQwOFQxOTE2MTAuNTA3MDE4Wi1IOWI2OGMzNWYtUDAwMDA1OWE4IiwidGhyZWFkIjoibWFpbiIsInRpbWUiOiIyMDE5LTAxLTE2VDE3OjI4OjQyLjYyMTI2OFoiLCJmaWxlIjoidHJhY2UyL3RyMl90Z3RfZXZlbnQuYyIsImxpbmUiOjE2MywidF9hYnMiOjAuMDAxMjY1LCJjb2RlIjowfQorLS0tLS0tLS0tLS0tCisKKz09PSBFbmFibGluZyBhIFRhcmdldAorCitUbyBlbmFibGUgYSB0YXJnZXQsIHNldCB0aGUgY29ycmVzcG9uZGluZyBlbnZpcm9ubWVudCB2YXJpYWJsZSBvcgorc3lzdGVtIG9yIGdsb2JhbCBjb25maWcgdmFsdWUgdG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6CisKK2luY2x1ZGU6Oi4uL3RyYWNlMi10YXJnZXQtdmFsdWVzLnR4dFtdCisKK1doZW4gdHJhY2UgZmlsZXMgYXJlIHdyaXR0ZW4gdG8gYSB0YXJnZXQgZGlyZWN0b3J5LCB0aGV5IHdpbGwgYmUgbmFtZWQgYWNjb3JkaW5nCit0byB0aGUgbGFzdCBjb21wb25lbnQgb2YgdGhlIFNJRCAob3B0aW9uYWxseSBmb2xsb3dlZCBieSBhIGNvdW50ZXIgdG8gYXZvaWQKK2ZpbGVuYW1lIGNvbGxpc2lvbnMpLgorCis9PSBUcmFjZTIgQVBJCisKK0FsbCBwdWJsaWMgVHJhY2UyIGZ1bmN0aW9ucyBhbmQgbWFjcm9zIGFyZSBkZWZpbmVkIGluIGB0cmFjZTIuaGAgYW5kCitgdHJhY2UyLmNgLiAgQWxsIHB1YmxpYyBzeW1ib2xzIGFyZSBwcmVmaXhlZCB3aXRoIGB0cmFjZTJfYC4KKworVGhlcmUgYXJlIG5vIHB1YmxpYyBUcmFjZTIgZGF0YSBzdHJ1Y3R1cmVzLgorCitUaGUgVHJhY2UyIGNvZGUgYWxzbyBkZWZpbmVzIGEgc2V0IG9mIHByaXZhdGUgZnVuY3Rpb25zIGFuZCBkYXRhIHR5cGVzCitpbiB0aGUgYHRyYWNlMi9gIGRpcmVjdG9yeS4gIFRoZXNlIHN5bWJvbHMgYXJlIHByZWZpeGVkIHdpdGggYHRyMl9gCithbmQgc2hvdWxkIG9ubHkgYmUgdXNlZCBieSBmdW5jdGlvbnMgaW4gYHRyYWNlMi5jYC4KKworPT0gQ29udmVudGlvbnMgZm9yIFB1YmxpYyBGdW5jdGlvbnMgYW5kIE1hY3JvcworCitUaGUgZnVuY3Rpb25zIGRlZmluZWQgYnkgdGhlIFRyYWNlMiBBUEkgYXJlIGRlY2xhcmVkIGFuZCBkb2N1bWVudGVkCitpbiBgdHJhY2UyLmhgLiAgSXQgZGVmaW5lcyB0aGUgQVBJIGZ1bmN0aW9ucyBhbmQgd3JhcHBlciBtYWNyb3MgZm9yCitUcmFjZTIuCisKK1NvbWUgZnVuY3Rpb25zIGhhdmUgYSBgX2ZsKClgIHN1ZmZpeCB0byBpbmRpY2F0ZSB0aGF0IHRoZXkgdGFrZSBgZmlsZWAKK2FuZCBgbGluZS1udW1iZXJgIGFyZ3VtZW50cy4KKworU29tZSBmdW5jdGlvbnMgaGF2ZSBhIGBfdmFfZmwoKWAgc3VmZml4IHRvIGluZGljYXRlIHRoYXQgdGhleSBhbHNvCit0YWtlIGEgYHZhX2xpc3RgIGFyZ3VtZW50LgorCitTb21lIGZ1bmN0aW9ucyBoYXZlIGEgYF9wcmludGZfZmwoKWAgc3VmZml4IHRvIGluZGljYXRlIHRoYXQgdGhleSBhbHNvCit0YWtlIGEgdmFyYXJncyBhcmd1bWVudC4KKworVGhlcmUgYXJlIENQUCB3cmFwcGVyIG1hY3JvcyBhbmQgaWZkZWZzIHRvIGhpZGUgbW9zdCBvZiB0aGVzZSBkZXRhaWxzLgorU2VlIGB0cmFjZTIuaGAgZm9yIG1vcmUgZGV0YWlscy4gIFRoZSBmb2xsb3dpbmcgZGlzY3Vzc2lvbiB3aWxsIG9ubHkKK2Rlc2NyaWJlIHRoZSBzaW1wbGlmaWVkIGZvcm1zLgorCis9PSBQdWJsaWMgQVBJCisKK0FsbCBUcmFjZTIgQVBJIGZ1bmN0aW9ucyBzZW5kIGEgbWVzc2FnZSB0byBhbGwgb2YgdGhlIGFjdGl2ZQorVHJhY2UyIFRhcmdldHMuICBUaGlzIHNlY3Rpb24gZGVzY3JpYmVzIHRoZSBzZXQgb2YgYXZhaWxhYmxlCittZXNzYWdlcy4KKworSXQgaGVscHMgdG8gZGl2aWRlIHRoZXNlIGZ1bmN0aW9ucyBpbnRvIGdyb3VwcyBmb3IgZGlzY3Vzc2lvbgorcHVycG9zZXMuCisKKz09PSBCYXNpYyBDb21tYW5kIE1lc3NhZ2VzCisKK1RoZXNlIGFyZSBjb25jZXJuZWQgd2l0aCB0aGUgbGlmZXRpbWUgb2YgdGhlIG92ZXJhbGwgZ2l0IHByb2Nlc3MuCitlLmc6IGB2b2lkIHRyYWNlMl9pbml0aWFsaXplX2Nsb2NrKClgLCBgdm9pZCB0cmFjZTJfaW5pdGlhbGl6ZSgpYCwKK2BpbnQgdHJhY2UyX2lzX2VuYWJsZWQoKWAsIGB2b2lkIHRyYWNlMl9jbWRfc3RhcnQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KWAuCisKKz09PSBDb21tYW5kIERldGFpbCBNZXNzYWdlcworCitUaGVzZSBhcmUgY29uY2VybmVkIHdpdGggZGVzY3JpYmluZyB0aGUgc3BlY2lmaWMgR2l0IGNvbW1hbmQKK2FmdGVyIHRoZSBjb21tYW5kIGxpbmUsIGNvbmZpZywgYW5kIGVudmlyb25tZW50IGFyZSBpbnNwZWN0ZWQuCitlLmc6IGB2b2lkIHRyYWNlMl9jbWRfbmFtZShjb25zdCBjaGFyICpuYW1lKWAsCitgdm9pZCB0cmFjZTJfY21kX21vZGUoY29uc3QgY2hhciAqbW9kZSlgLgorCis9PT0gQ2hpbGQgUHJvY2VzcyBNZXNzYWdlcworCitUaGVzZSBhcmUgY29uY2VybmVkIHdpdGggdGhlIHZhcmlvdXMgc3Bhd25lZCBjaGlsZCBwcm9jZXNzZXMsCitpbmNsdWRpbmcgc2hlbGwgc2NyaXB0cywgZ2l0IGNvbW1hbmRzLCBlZGl0b3JzLCBwYWdlcnMsIGFuZCBob29rcy4KKworZS5nOiBgdm9pZCB0cmFjZTJfY2hpbGRfc3RhcnQoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNtZClgLgorCis9PT0gR2l0IFRocmVhZCBNZXNzYWdlcworCitUaGVzZSBtZXNzYWdlcyBhcmUgY29uY2VybmVkIHdpdGggR2l0IHRocmVhZCB1c2FnZS4KKworZS5nOiBgdm9pZCB0cmFjZTJfdGhyZWFkX3N0YXJ0KGNvbnN0IGNoYXIgKnRocmVhZF9uYW1lKWAuCisKKz09PSBSZWdpb24gYW5kIERhdGEgTWVzc2FnZXMKKworVGhlc2UgYXJlIGNvbmNlcm5lZCB3aXRoIHJlY29yZGluZyBwZXJmb3JtYW5jZSBkYXRhCitvdmVyIHJlZ2lvbnMgb3Igc3BhbnMgb2YgY29kZS4gZS5nOgorYHZvaWQgdHJhY2UyX3JlZ2lvbl9lbnRlcihjb25zdCBjaGFyICpjYXRlZ29yeSwgY29uc3QgY2hhciAqbGFiZWwsIGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvKWAuCisKK1JlZmVyIHRvIHRyYWNlMi5oIGZvciBkZXRhaWxzIGFib3V0IGFsbCB0cmFjZTIgZnVuY3Rpb25zLgorCis9PSBUcmFjZTIgVGFyZ2V0IEZvcm1hdHMKKworPT09IE5PUk1BTCBGb3JtYXQKKworRXZlbnRzIGFyZSB3cml0dGVuIGFzIGxpbmVzIG9mIHRoZSBmb3JtOgorCistLS0tLS0tLS0tLS0KK1s8dGltZT4gU1AgPGZpbGVuYW1lPjo8bGluZT4gU1ArXSA8ZXZlbnQtbmFtZT4gW1tTUF0gPGV2ZW50LW1lc3NhZ2U+XSBMRgorLS0tLS0tLS0tLS0tCisKK2A8ZXZlbnQtbmFtZT5gOjoKKworCWlzIHRoZSBldmVudCBuYW1lLgorCitgPGV2ZW50LW1lc3NhZ2U+YDo6CisJaXMgYSBmcmVlLWZvcm0gcHJpbnRmIG1lc3NhZ2UgaW50ZW5kZWQgZm9yIGh1bWFuIGNvbnN1bXB0aW9uLgorKworTm90ZSB0aGF0IHRoaXMgbWF5IGNvbnRhaW4gZW1iZWRkZWQgTEYgb3IgQ1JMRiBjaGFyYWN0ZXJzIHRoYXQgYXJlCitub3QgZXNjYXBlZCwgc28gdGhlIGV2ZW50IG1heSBzcGlsbCBhY3Jvc3MgbXVsdGlwbGUgbGluZXMuCisKK0lmIGBHSVRfVFJBQ0UyX0JSSUVGYCBvciBgdHJhY2UyLm5vcm1hbEJyaWVmYCBpcyB0cnVlLCB0aGUgYHRpbWVgLCBgZmlsZW5hbWVgLAorYW5kIGBsaW5lYCBmaWVsZHMgYXJlIG9taXR0ZWQuCisKK1RoaXMgdGFyZ2V0IGlzIGludGVuZGVkIHRvIGJlIG1vcmUgb2YgYSBzdW1tYXJ5IChsaWtlIEdJVF9UUkFDRSkgYW5kCitsZXNzIGRldGFpbGVkIHRoYW4gdGhlIG90aGVyIHRhcmdldHMuICBJdCBpZ25vcmVzIHRocmVhZCwgcmVnaW9uLCBhbmQKK2RhdGEgbWVzc2FnZXMsIGZvciBleGFtcGxlLgorCis9PT0gUEVSRiBGb3JtYXQKKworRXZlbnRzIGFyZSB3cml0dGVuIGFzIGxpbmVzIG9mIHRoZSBmb3JtOgorCistLS0tLS0tLS0tLS0KK1s8dGltZT4gU1AgPGZpbGVuYW1lPjo8bGluZT4gU1ArCisgICAgQkFSIFNQXSBkPGRlcHRoPiBTUAorICAgIEJBUiBTUCA8dGhyZWFkLW5hbWU+IFNQKworICAgIEJBUiBTUCA8ZXZlbnQtbmFtZT4gU1ArCisgICAgQkFSIFNQIFtyPHJlcG8taWQ+XSBTUCsKKyAgICBCQVIgU1AgWzx0X2Ficz5dIFNQKworICAgIEJBUiBTUCBbPHRfcmVsPl0gU1ArCisgICAgQkFSIFNQIFs8Y2F0ZWdvcnk+XSBTUCsKKyAgICBCQVIgU1AgRE9UUyogPHBlcmYtZXZlbnQtbWVzc2FnZT4KKyAgICBMRgorLS0tLS0tLS0tLS0tCisKK2A8ZGVwdGg+YDo6CisJaXMgdGhlIGdpdCBwcm9jZXNzIGRlcHRoLiAgVGhpcyBpcyB0aGUgbnVtYmVyIG9mIHBhcmVudAorCWdpdCBwcm9jZXNzZXMuICBBIHRvcC1sZXZlbCBnaXQgY29tbWFuZCBoYXMgZGVwdGggdmFsdWUgImQwIi4KKwlBIGNoaWxkIG9mIGl0IGhhcyBkZXB0aCB2YWx1ZSAiZDEiLiAgQSBzZWNvbmQgbGV2ZWwgY2hpbGQKKwloYXMgZGVwdGggdmFsdWUgImQyIiBhbmQgc28gb24uCisKK2A8dGhyZWFkLW5hbWU+YDo6CisJaXMgYSB1bmlxdWUgbmFtZSBmb3IgdGhlIHRocmVhZC4gIFRoZSBwcmltYXJ5IHRocmVhZAorCWlzIGNhbGxlZCAibWFpbiIuICBPdGhlciB0aHJlYWQgbmFtZXMgYXJlIG9mIHRoZSBmb3JtICJ0aCVkOiVzIgorCWFuZCBpbmNsdWRlIGEgdW5pcXVlIG51bWJlciBhbmQgdGhlIG5hbWUgb2YgdGhlIHRocmVhZC1wcm9jLgorCitgPGV2ZW50LW5hbWU+YDo6CisJaXMgdGhlIGV2ZW50IG5hbWUuCisKK2A8cmVwby1pZD5gOjoKKwl3aGVuIHByZXNlbnQsIGlzIGEgbnVtYmVyIGluZGljYXRpbmcgdGhlIHJlcG9zaXRvcnkKKwlpbiB1c2UuICBBIGBkZWZfcmVwb2AgZXZlbnQgaXMgZW1pdHRlZCB3aGVuIGEgcmVwb3NpdG9yeSBpcworCW9wZW5lZC4gIFRoaXMgZGVmaW5lcyB0aGUgcmVwby1pZCBhbmQgYXNzb2NpYXRlZCB3b3JrdHJlZS4KKwlTdWJzZXF1ZW50IHJlcG8tc3BlY2lmaWMgZXZlbnRzIHdpbGwgcmVmZXJlbmNlIHRoaXMgcmVwby1pZC4KKysKK0N1cnJlbnRseSwgdGhpcyBpcyBhbHdheXMgInIxIiBmb3IgdGhlIG1haW4gcmVwb3NpdG9yeS4KK1RoaXMgZmllbGQgaXMgaW4gYW50aWNpcGF0aW9uIG9mIGluLXByb2Mgc3VibW9kdWxlcyBpbiB0aGUgZnV0dXJlLgorCitgPHRfYWJzPmA6OgorCXdoZW4gcHJlc2VudCwgaXMgdGhlIGFic29sdXRlIHRpbWUgaW4gc2Vjb25kcyBzaW5jZSB0aGUKKwlwcm9ncmFtIHN0YXJ0ZWQuCisKK2A8dF9yZWw+YDo6CisJd2hlbiBwcmVzZW50LCBpcyB0aW1lIGluIHNlY29uZHMgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mCisJdGhlIGN1cnJlbnQgcmVnaW9uLiAgRm9yIGEgdGhyZWFkLWV4aXQgZXZlbnQsIGl0IGlzIHRoZSBlbGFwc2VkCisJdGltZSBvZiB0aGUgdGhyZWFkLgorCitgPGNhdGVnb3J5PmA6OgorCWlzIHByZXNlbnQgb24gcmVnaW9uIGFuZCBkYXRhIGV2ZW50cyBhbmQgaXMgdXNlZCB0bworCWluZGljYXRlIGEgYnJvYWQgY2F0ZWdvcnksIHN1Y2ggYXMgImluZGV4IiBvciAic3RhdHVzIi4KKworYDxwZXJmLWV2ZW50LW1lc3NhZ2U+YDo6CisJaXMgYSBmcmVlLWZvcm0gcHJpbnRmIG1lc3NhZ2UgaW50ZW5kZWQgZm9yIGh1bWFuIGNvbnN1bXB0aW9uLgorCistLS0tLS0tLS0tLS0KKzE1OjMzOjMzLjUzMjcxMiB3dC1zdGF0dXMuYzoyMzEwICAgICAgICAgICAgICAgICAgfCBkMCB8IG1haW4gICAgICAgICAgICAgICAgICAgICB8IHJlZ2lvbl9lbnRlciB8IHIxICB8ICAwLjEyNjA2NCB8ICAgICAgICAgICB8IHN0YXR1cyAgICAgfCBsYWJlbDpwcmludAorMTU6MzM6MzMuNTMyNzEyIHd0LXN0YXR1cy5jOjIzMzEgICAgICAgICAgICAgICAgICB8IGQwIHwgbWFpbiAgICAgICAgICAgICAgICAgICAgIHwgcmVnaW9uX2xlYXZlIHwgcjEgIHwgIDAuMTI3NTY4IHwgIDAuMDAxNTA0IHwgc3RhdHVzICAgICB8IGxhYmVsOnByaW50CistLS0tLS0tLS0tLS0KKworSWYgYEdJVF9UUkFDRTJfUEVSRl9CUklFRmAgb3IgYHRyYWNlMi5wZXJmQnJpZWZgIGlzIHRydWUsIHRoZSBgdGltZWAsIGBmaWxlYCwKK2FuZCBgbGluZWAgZmllbGRzIGFyZSBvbWl0dGVkLgorCistLS0tLS0tLS0tLS0KK2QwIHwgbWFpbiAgICAgICAgICAgICAgICAgICAgIHwgcmVnaW9uX2xlYXZlIHwgcjEgIHwgIDAuMDExNzE3IHwgIDAuMDA5MTIyIHwgaW5kZXggICAgICB8IGxhYmVsOnByZWxvYWQKKy0tLS0tLS0tLS0tLQorCitUaGUgUEVSRiB0YXJnZXQgaXMgaW50ZW5kZWQgZm9yIGludGVyYWN0aXZlIHBlcmZvcm1hbmNlIGFuYWx5c2lzCitkdXJpbmcgZGV2ZWxvcG1lbnQgYW5kIGlzIHF1aXRlIG5vaXN5LgorCis9PT0gRVZFTlQgRm9ybWF0CisKK0VhY2ggZXZlbnQgaXMgYSBKU09OLW9iamVjdCBjb250YWluaW5nIG11bHRpcGxlIGtleS92YWx1ZSBwYWlycword3JpdHRlbiBhcyBhIHNpbmdsZSBsaW5lIGFuZCBmb2xsb3dlZCBieSBhIExGLgorCistLS0tLS0tLS0tLS0KKyd7JyA8a2V5PiAnOicgPHZhbHVlPiBbJywnIDxrZXk+ICc6JyA8dmFsdWU+XSogJ30nIExGCistLS0tLS0tLS0tLS0KKworU29tZSBrZXkvdmFsdWUgcGFpcnMgYXJlIGNvbW1vbiB0byBhbGwgZXZlbnRzIGFuZCBzb21lIGFyZQorZXZlbnQtc3BlY2lmaWMuCisKKz09PT0gQ29tbW9uIEtleS9WYWx1ZSBQYWlycworCitUaGUgZm9sbG93aW5nIGtleS92YWx1ZSBwYWlycyBhcmUgY29tbW9uIHRvIGFsbCBldmVudHM6CisKKy0tLS0tLS0tLS0tLQoreworCSJldmVudCI6InZlcnNpb24iLAorCSJzaWQiOiIyMDE5MDQwOFQxOTE4MjcuMjcyNzU5Wi1IOWI2OGMzNWYtUDAwMDAzNTEwIiwKKwkidGhyZWFkIjoibWFpbiIsCisJInRpbWUiOiIyMDE5LTA0LTA4VDE5OjE4OjI3LjI4Mjc2MVoiLAorCSJmaWxlIjoiY29tbW9uLW1haW4uYyIsCisJImxpbmUiOjQyLAorCS4uLgorfQorLS0tLS0tLS0tLS0tCisKK2AiZXZlbnQiOjxldmVudD5gOjoKKwlpcyB0aGUgZXZlbnQgbmFtZS4KKworYCJzaWQiOjxzaWQ+YDo6CisJaXMgdGhlIHNlc3Npb24taWQuICBUaGlzIGlzIGEgdW5pcXVlIHN0cmluZyB0byBpZGVudGlmeSB0aGUKKwlwcm9jZXNzIGluc3RhbmNlIHRvIGFsbG93IGFsbCBldmVudHMgZW1pdHRlZCBieSBhIHByb2Nlc3MgdG8KKwliZSBpZGVudGlmaWVkLiAgQSBzZXNzaW9uLWlkIGlzIHVzZWQgaW5zdGVhZCBvZiBhIFBJRCBiZWNhdXNlCisJUElEcyBhcmUgcmVjeWNsZWQgYnkgdGhlIE9TLiAgRm9yIGNoaWxkIGdpdCBwcm9jZXNzZXMsIHRoZQorCXNlc3Npb24taWQgaXMgcHJlcGVuZGVkIHdpdGggdGhlIHNlc3Npb24taWQgb2YgdGhlIHBhcmVudCBnaXQKKwlwcm9jZXNzIHRvIGFsbG93IHBhcmVudC1jaGlsZCByZWxhdGlvbnNoaXBzIHRvIGJlIGlkZW50aWZpZWQKKwlkdXJpbmcgcG9zdC1wcm9jZXNzaW5nLgorCitgInRocmVhZCI6PHRocmVhZD5gOjoKKwlpcyB0aGUgdGhyZWFkIG5hbWUuCisKK2AidGltZSI6PHRpbWU+YDo6CisJaXMgdGhlIFVUQyB0aW1lIG9mIHRoZSBldmVudC4KKworYCJmaWxlIjo8ZmlsZW5hbWU+YDo6CisJaXMgc291cmNlIGZpbGUgZ2VuZXJhdGluZyB0aGUgZXZlbnQuCisKK2AibGluZSI6PGxpbmUtbnVtYmVyPmA6OgorCWlzIHRoZSBpbnRlZ2VyIHNvdXJjZSBsaW5lIG51bWJlciBnZW5lcmF0aW5nIHRoZSBldmVudC4KKworYCJyZXBvIjo8cmVwby1pZD5gOjoKKwl3aGVuIHByZXNlbnQsIGlzIHRoZSBpbnRlZ2VyIHJlcG8taWQgYXMgZGVzY3JpYmVkIHByZXZpb3VzbHkuCisKK0lmIGBHSVRfVFJBQ0UyX0VWRU5UX0JSSUVGYCBvciBgdHJhY2UyLmV2ZW50QnJpZWZgIGlzIHRydWUsIHRoZSBgZmlsZWAKK2FuZCBgbGluZWAgZmllbGRzIGFyZSBvbWl0dGVkIGZyb20gYWxsIGV2ZW50cyBhbmQgdGhlIGB0aW1lYCBmaWVsZCBpcworb25seSBwcmVzZW50IG9uIHRoZSAic3RhcnQiIGFuZCAiYXRleGl0IiBldmVudHMuCisKKz09PT0gRXZlbnQtU3BlY2lmaWMgS2V5L1ZhbHVlIFBhaXJzCisKK2AidmVyc2lvbiJgOjoKKwlUaGlzIGV2ZW50IGdpdmVzIHRoZSB2ZXJzaW9uIG9mIHRoZSBleGVjdXRhYmxlIGFuZCB0aGUgRVZFTlQgZm9ybWF0LiBJdAorCXNob3VsZCBhbHdheXMgYmUgdGhlIGZpcnN0IGV2ZW50IGluIGEgdHJhY2Ugc2Vzc2lvbi4gVGhlIEVWRU5UIGZvcm1hdAorCXZlcnNpb24gd2lsbCBiZSBpbmNyZW1lbnRlZCBpZiBuZXcgZXZlbnQgdHlwZXMgYXJlIGFkZGVkLCBpZiBleGlzdGluZworCWZpZWxkcyBhcmUgcmVtb3ZlZCwgb3IgaWYgdGhlcmUgYXJlIHNpZ25pZmljYW50IGNoYW5nZXMgaW4KKwlpbnRlcnByZXRhdGlvbiBvZiBleGlzdGluZyBldmVudHMgb3IgZmllbGRzLiBTbWFsbGVyIGNoYW5nZXMsIHN1Y2ggYXMKKwlhZGRpbmcgYSBuZXcgZmllbGQgdG8gYW4gZXhpc3RpbmcgZXZlbnQsIHdpbGwgbm90IHJlcXVpcmUgYW4gaW5jcmVtZW50CisJdG8gdGhlIEVWRU5UIGZvcm1hdCB2ZXJzaW9uLgorKworLS0tLS0tLS0tLS0tCit7CisJImV2ZW50IjoidmVyc2lvbiIsCisJLi4uCisJImV2dCI6IjIiLAkJICAgICAgICMgRVZFTlQgZm9ybWF0IHZlcnNpb24KKwkiZXhlIjoiMi4yMC4xLjE1NS5nNDI2Yzk2ZmNkYiIgIyBnaXQgdmVyc2lvbgorfQorLS0tLS0tLS0tLS0tCisKK2AiZGlzY2FyZCJgOjoKKwlUaGlzIGV2ZW50IGlzIHdyaXR0ZW4gdG8gdGhlIGdpdC10cmFjZTItZGlzY2FyZCBzZW50aW5lbCBmaWxlIGlmIHRoZXJlCisJYXJlIHRvbyBtYW55IGZpbGVzIGluIHRoZSB0YXJnZXQgdHJhY2UgZGlyZWN0b3J5IChzZWUgdGhlCisJdHJhY2UyLm1heEZpbGVzIGNvbmZpZyBvcHRpb24pLgorKworLS0tLS0tLS0tLS0tCit7CisJImV2ZW50IjoiZGlzY2FyZCIsCisJLi4uCit9CistLS0tLS0tLS0tLS0KKworYCJzdGFydCJgOjoKKwlUaGlzIGV2ZW50IGNvbnRhaW5zIHRoZSBjb21wbGV0ZSBhcmd2IHJlY2VpdmVkIGJ5IG1haW4oKS4KKysKKy0tLS0tLS0tLS0tLQoreworCSJldmVudCI6InN0YXJ0IiwKKwkuLi4KKwkidF9hYnMiOjAuMDAxMjI3LCAjIGVsYXBzZWQgdGltZSBpbiBzZWNvbmRzCisJImFyZ3YiOlsiZ2l0IiwidmVyc2lvbiJdCit9CistLS0tLS0tLS0tLS0KKworYCJleGl0ImA6OgorCVRoaXMgZXZlbnQgaXMgZW1pdHRlZCB3aGVuIGdpdCBjYWxscyBgZXhpdCgpYC4KKysKKy0tLS0tLS0tLS0tLQoreworCSJldmVudCI6ImV4aXQiLAorCS4uLgorCSJ0X2FicyI6MC4wMDEyMjcsICMgZWxhcHNlZCB0aW1lIGluIHNlY29uZHMKKwkiY29kZSI6MAkgICMgZXhpdCBjb2RlCit9CistLS0tLS0tLS0tLS0KKworYCJhdGV4aXQiYDo6CisJVGhpcyBldmVudCBpcyBlbWl0dGVkIGJ5IHRoZSBUcmFjZTIgYGF0ZXhpdGAgcm91dGluZSBkdXJpbmcKKwlmaW5hbCBzaHV0ZG93bi4gIEl0IHNob3VsZCBiZSB0aGUgbGFzdCBldmVudCBlbWl0dGVkIGJ5IHRoZQorCXByb2Nlc3MuCisrCisoVGhlIGVsYXBzZWQgdGltZSByZXBvcnRlZCBoZXJlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgdGltZSByZXBvcnRlZCBpbgordGhlICJleGl0IiBldmVudCBiZWNhdXNlIGl0IHJ1bnMgYWZ0ZXIgYWxsIG90aGVyIGF0ZXhpdCB0YXNrcyBoYXZlCitjb21wbGV0ZWQuKQorKworLS0tLS0tLS0tLS0tCit7CisJImV2ZW50IjoiYXRleGl0IiwKKwkuLi4KKwkidF9hYnMiOjAuMDAxMjI3LCAjIGVsYXBzZWQgdGltZSBpbiBzZWNvbmRzCisJImNvZGUiOjAgICAgICAgICAgIyBleGl0IGNvZGUKK30KKy0tLS0tLS0tLS0tLQorCitgInNpZ25hbCJgOjoKKwlUaGlzIGV2ZW50IGlzIGVtaXR0ZWQgd2hlbiB0aGUgcHJvZ3JhbSBpcyB0ZXJtaW5hdGVkIGJ5IGEgdXNlcgorCXNpZ25hbC4gIERlcGVuZGluZyBvbiB0aGUgcGxhdGZvcm0sIHRoZSBzaWduYWwgZXZlbnQgbWF5CisJcHJldmVudCB0aGUgImF0ZXhpdCIgZXZlbnQgZnJvbSBiZWluZyBnZW5lcmF0ZWQuCisrCistLS0tLS0tLS0tLS0KK3sKKwkiZXZlbnQiOiJzaWduYWwiLAorCS4uLgorCSJ0X2FicyI6MC4wMDEyMjcsICAjIGVsYXBzZWQgdGltZSBpbiBzZWNvbmRzCisJInNpZ25vIjoxMyAgICAgICAgICMgU0lHVEVSTSwgU0lHSU5ULCBldGMuCit9CistLS0tLS0tLS0tLS0KKworYCJlcnJvciJgOjoKKwlUaGlzIGV2ZW50IGlzIGVtaXR0ZWQgd2hlbiBvbmUgb2YgdGhlIGBlcnJvcigpYCwgYGRpZSgpYCwKKwlvciBgdXNhZ2UoKWAgZnVuY3Rpb25zIGFyZSBjYWxsZWQuCisrCistLS0tLS0tLS0tLS0KK3sKKwkiZXZlbnQiOiJlcnJvciIsCisJLi4uCisJIm1zZyI6ImludmFsaWQgb3B0aW9uOiAtLWNhaGNlZCIsICMgZm9ybWF0dGVkIGVycm9yIG1lc3NhZ2UKKwkiZm10IjoiaW52YWxpZCBvcHRpb246ICVzIgkgICMgZXJyb3IgZm9ybWF0IHN0cmluZworfQorLS0tLS0tLS0tLS0tCisrCitUaGUgZXJyb3IgZXZlbnQgbWF5IGJlIGVtaXR0ZWQgbW9yZSB0aGFuIG9uY2UuICBUaGUgZm9ybWF0IHN0cmluZworYWxsb3dzIHBvc3QtcHJvY2Vzc29ycyB0byBncm91cCBlcnJvcnMgYnkgdHlwZSB3aXRob3V0IHdvcnJ5aW5nCithYm91dCBzcGVjaWZpYyBlcnJvciBhcmd1bWVudHMuCisKK2AiY21kX3BhdGgiYDo6CisJVGhpcyBldmVudCBjb250YWlucyB0aGUgZGlzY292ZXJlZCBmdWxsIHBhdGggb2YgdGhlIGdpdAorCWV4ZWN1dGFibGUgKG9uIHBsYXRmb3JtcyB0aGF0IGFyZSBjb25maWd1cmVkIHRvIHJlc29sdmUgaXQpLgorKworLS0tLS0tLS0tLS0tCit7CisJImV2ZW50IjoiY21kX3BhdGgiLAorCS4uLgorCSJwYXRoIjoiQzovd29yay9nZncvZ2l0LmV4ZSIKK30KKy0tLS0tLS0tLS0tLQorCitgImNtZF9uYW1lImA6OgorCVRoaXMgZXZlbnQgY29udGFpbnMgdGhlIGNvbW1hbmQgbmFtZSBmb3IgdGhpcyBnaXQgcHJvY2VzcworCWFuZCB0aGUgaGllcmFyY2h5IG9mIGNvbW1hbmRzIGZyb20gcGFyZW50IGdpdCBwcm9jZXNzZXMuCisrCistLS0tLS0tLS0tLS0KK3sKKwkiZXZlbnQiOiJjbWRfbmFtZSIsCisJLi4uCisJIm5hbWUiOiJwYWNrLW9iamVjdHMiLAorCSJoaWVyYXJjaHkiOiJwdXNoL3BhY2stb2JqZWN0cyIKK30KKy0tLS0tLS0tLS0tLQorKworTm9ybWFsbHksIHRoZSAibmFtZSIgZmllbGQgY29udGFpbnMgdGhlIGNhbm9uaWNhbCBuYW1lIG9mIHRoZQorY29tbWFuZC4gIFdoZW4gYSBjYW5vbmljYWwgbmFtZSBpcyBub3QgYXZhaWxhYmxlLCBvbmUgb2YKK3RoZXNlIHNwZWNpYWwgdmFsdWVzIGFyZSB1c2VkOgorKworLS0tLS0tLS0tLS0tCisiX3F1ZXJ5XyIgICAgICAgICAgICAjICJnaXQgLS1odG1sLXBhdGgiCisiX3J1bl9kYXNoZWRfIiAgICAgICAjIHdoZW4gImdpdCBmb28iIHRyaWVzIHRvIHJ1biAiZ2l0LWZvbyIKKyJfcnVuX3NoZWxsX2FsaWFzXyIgICMgYWxpYXMgZXhwYW5zaW9uIHRvIGEgc2hlbGwgY29tbWFuZAorIl9ydW5fZ2l0X2FsaWFzXyIgICAgIyBhbGlhcyBleHBhbnNpb24gdG8gYSBnaXQgY29tbWFuZAorIl91c2FnZV8iICAgICAgICAgICAgIyB1c2FnZSBlcnJvcgorLS0tLS0tLS0tLS0tCisKK2AiY21kX21vZGUiYDo6CisJVGhpcyBldmVudCwgd2hlbiBwcmVzZW50LCBkZXNjcmliZXMgdGhlIGNvbW1hbmQgdmFyaWFudCBUaGlzCisJZXZlbnQgbWF5IGJlIGVtaXR0ZWQgbW9yZSB0aGFuIG9uY2UuCisrCistLS0tLS0tLS0tLS0KK3sKKwkiZXZlbnQiOiJjbWRfbW9kZSIsCisJLi4uCisJIm5hbWUiOiJicmFuY2giCit9CistLS0tLS0tLS0tLS0KKysKK1RoZSAibmFtZSIgZmllbGQgaXMgYW4gYXJiaXRyYXJ5IHN0cmluZyB0byBkZXNjcmliZSB0aGUgY29tbWFuZCBtb2RlLgorRm9yIGV4YW1wbGUsIGNoZWNrb3V0IGNhbiBjaGVja291dCBhIGJyYW5jaCBvciBhbiBpbmRpdmlkdWFsIGZpbGUuCitBbmQgdGhlc2UgdmFyaWF0aW9ucyB0eXBpY2FsbHkgaGF2ZSBkaWZmZXJlbnQgcGVyZm9ybWFuY2UKK2NoYXJhY3RlcmlzdGljcyB0aGF0IGFyZSBub3QgY29tcGFyYWJsZS4KKworYCJhbGlhcyJgOjoKKwlUaGlzIGV2ZW50IGlzIHByZXNlbnQgd2hlbiBhbiBhbGlhcyBpcyBleHBhbmRlZC4KKysKKy0tLS0tLS0tLS0tLQoreworCSJldmVudCI6ImFsaWFzIiwKKwkuLi4KKwkiYWxpYXMiOiJsIiwJCSAjIHJlZ2lzdGVyZWQgYWxpYXMKKwkiYXJndiI6WyJsb2ciLCItLWdyYXBoIl0gIyBhbGlhcyBleHBhbnNpb24KK30KKy0tLS0tLS0tLS0tLQorCitgImNoaWxkX3N0YXJ0ImA6OgorCVRoaXMgZXZlbnQgZGVzY3JpYmVzIGEgY2hpbGQgcHJvY2VzcyB0aGF0IGlzIGFib3V0IHRvIGJlCisJc3Bhd25lZC4KKysKKy0tLS0tLS0tLS0tLQoreworCSJldmVudCI6ImNoaWxkX3N0YXJ0IiwKKwkuLi4KKwkiY2hpbGRfaWQiOjIsCisJImNoaWxkX2NsYXNzIjoiPyIsCisJInVzZV9zaGVsbCI6ZmFsc2UsCisJImFyZ3YiOlsiZ2l0IiwicmV2LWxpc3QiLCItLW9iamVjdHMiLCItLXN0ZGluIiwiLS1ub3QiLCItLWFsbCIsIi0tcXVpZXQiXQorCisJImhvb2tfbmFtZSI6Ijxob29rX25hbWU+IiAgIyBwcmVzZW50IHdoZW4gY2hpbGRfY2xhc3MgaXMgImhvb2siCisJImNkIjoiPHBhdGg+IgkJICAgIyBwcmVzZW50IHdoZW4gY2QgaXMgcmVxdWlyZWQKK30KKy0tLS0tLS0tLS0tLQorKworVGhlICJjaGlsZF9pZCIgZmllbGQgY2FuIGJlIHVzZWQgdG8gbWF0Y2ggdGhpcyBjaGlsZF9zdGFydCB3aXRoIHRoZQorY29ycmVzcG9uZGluZyBjaGlsZF9leGl0IGV2ZW50LgorKworVGhlICJjaGlsZF9jbGFzcyIgZmllbGQgaXMgYSByb3VnaCBjbGFzc2lmaWNhdGlvbiwgc3VjaCBhcyAiZWRpdG9yIiwKKyJwYWdlciIsICJ0cmFuc3BvcnQvKiIsIGFuZCAiaG9vayIuICBVbmNsYXNzaWZpZWQgY2hpbGRyZW4gYXJlIGNsYXNzaWZpZWQKK3dpdGggIj8iLgorCitgImNoaWxkX2V4aXQiYDo6CisJVGhpcyBldmVudCBpcyBnZW5lcmF0ZWQgYWZ0ZXIgdGhlIGN1cnJlbnQgcHJvY2VzcyBoYXMgcmV0dXJuZWQKKwlmcm9tIHRoZSB3YWl0cGlkKCkgYW5kIGNvbGxlY3RlZCB0aGUgZXhpdCBpbmZvcm1hdGlvbiBmcm9tIHRoZQorCWNoaWxkLgorKworLS0tLS0tLS0tLS0tCit7CisJImV2ZW50IjoiY2hpbGRfZXhpdCIsCisJLi4uCisJImNoaWxkX2lkIjoyLAorCSJwaWQiOjE0NzA4LAkgIyBjaGlsZCBQSUQKKwkiY29kZSI6MCwJICMgY2hpbGQgZXhpdC1jb2RlCisJInRfcmVsIjowLjExMDYwNSAjIG9ic2VydmVkIHJ1bi10aW1lIG9mIGNoaWxkIHByb2Nlc3MKK30KKy0tLS0tLS0tLS0tLQorKworTm90ZSB0aGF0IHRoZSBzZXNzaW9uLWlkIG9mIHRoZSBjaGlsZCBwcm9jZXNzIGlzIG5vdCBhdmFpbGFibGUgdG8KK3RoZSBjdXJyZW50L3NwYXduaW5nIHByb2Nlc3MsIHNvIHRoZSBjaGlsZCdzIFBJRCBpcyByZXBvcnRlZCBoZXJlIGFzCithIGhpbnQgZm9yIHBvc3QtcHJvY2Vzc2luZy4gIChCdXQgaXQgaXMgb25seSBhIGhpbnQgYmVjYXVzZSB0aGUgY2hpbGQKK3Byb2Nlc3MgbWF5IGJlIGEgc2hlbGwgc2NyaXB0IHdoaWNoIGRvZXNuJ3QgaGF2ZSBhIHNlc3Npb24taWQuKQorKworTm90ZSB0aGF0IHRoZSBgdF9yZWxgIGZpZWxkIGNvbnRhaW5zIHRoZSBvYnNlcnZlZCBydW4gdGltZSBpbiBzZWNvbmRzCitmb3IgdGhlIGNoaWxkIHByb2Nlc3MgKHN0YXJ0aW5nIGJlZm9yZSB0aGUgZm9yay9leGVjL3NwYXduIGFuZAorc3RvcHBpbmcgYWZ0ZXIgdGhlIHdhaXRwaWQoKSBhbmQgaW5jbHVkZXMgT1MgcHJvY2VzcyBjcmVhdGlvbiBvdmVyaGVhZCkuCitTbyB0aGlzIHRpbWUgd2lsbCBiZSBzbGlnaHRseSBsYXJnZXIgdGhhbiB0aGUgYXRleGl0IHRpbWUgcmVwb3J0ZWQgYnkKK3RoZSBjaGlsZCBwcm9jZXNzIGl0c2VsZi4KKworYCJleGVjImA6OgorCVRoaXMgZXZlbnQgaXMgZ2VuZXJhdGVkIGJlZm9yZSBnaXQgYXR0ZW1wdHMgdG8gYGV4ZWMoKWAKKwlhbm90aGVyIGNvbW1hbmQgcmF0aGVyIHRoYW4gc3RhcnRpbmcgYSBjaGlsZCBwcm9jZXNzLgorKworLS0tLS0tLS0tLS0tCit7CisJImV2ZW50IjoiZXhlYyIsCisJLi4uCisJImV4ZWNfaWQiOjAsCisJImV4ZSI6ImdpdCIsCisJImFyZ3YiOlsiZm9vIiwgImJhciJdCit9CistLS0tLS0tLS0tLS0KKysKK1RoZSAiZXhlY19pZCIgZmllbGQgaXMgYSBjb21tYW5kLXVuaXF1ZSBpZCBhbmQgaXMgb25seSB1c2VmdWwgaWYgdGhlCitgZXhlYygpYCBmYWlscyBhbmQgYSBjb3JyZXNwb25kaW5nIGV4ZWNfcmVzdWx0IGV2ZW50IGlzIGdlbmVyYXRlZC4KKworYCJleGVjX3Jlc3VsdCJgOjoKKwlUaGlzIGV2ZW50IGlzIGdlbmVyYXRlZCBpZiB0aGUgYGV4ZWMoKWAgZmFpbHMgYW5kIGNvbnRyb2wKKwlyZXR1cm5zIHRvIHRoZSBjdXJyZW50IGdpdCBjb21tYW5kLgorKworLS0tLS0tLS0tLS0tCit7CisJImV2ZW50IjoiZXhlY19yZXN1bHQiLAorCS4uLgorCSJleGVjX2lkIjowLAorCSJjb2RlIjoxICAgICAgIyBlcnJvciBjb2RlIChlcnJubykgZnJvbSBleGVjKCkKK30KKy0tLS0tLS0tLS0tLQorCitgInRocmVhZF9zdGFydCJgOjoKKwlUaGlzIGV2ZW50IGlzIGdlbmVyYXRlZCB3aGVuIGEgdGhyZWFkIGlzIHN0YXJ0ZWQuICBJdCBpcworCWdlbmVyYXRlZCBmcm9tICp3aXRoaW4qIHRoZSBuZXcgdGhyZWFkJ3MgdGhyZWFkLXByb2MgKGZvciBUTFMKKwlyZWFzb25zKS4KKysKKy0tLS0tLS0tLS0tLQoreworCSJldmVudCI6InRocmVhZF9zdGFydCIsCisJLi4uCisJInRocmVhZCI6InRoMDI6cHJlbG9hZF90aHJlYWQiICMgdGhyZWFkIG5hbWUKK30KKy0tLS0tLS0tLS0tLQorCitgInRocmVhZF9leGl0ImA6OgorCVRoaXMgZXZlbnQgaXMgZ2VuZXJhdGVkIHdoZW4gYSB0aHJlYWQgZXhpdHMuICBJdCBpcyBnZW5lcmF0ZWQKKwlmcm9tICp3aXRoaW4qIHRoZSB0aHJlYWQncyB0aHJlYWQtcHJvYyAoZm9yIFRMUyByZWFzb25zKS4KKysKKy0tLS0tLS0tLS0tLQoreworCSJldmVudCI6InRocmVhZF9leGl0IiwKKwkuLi4KKwkidGhyZWFkIjoidGgwMjpwcmVsb2FkX3RocmVhZCIsICMgdGhyZWFkIG5hbWUKKwkidF9yZWwiOjAuMDA3MzI4ICAgICAgICAgICAgICAgICMgdGhyZWFkIGVsYXBzZWQgdGltZQorfQorLS0tLS0tLS0tLS0tCisKK2AiZGVmX3BhcmFtImA6OgorCVRoaXMgZXZlbnQgaXMgZ2VuZXJhdGVkIHRvIGxvZyBhIGdsb2JhbCBwYXJhbWV0ZXIuCisrCistLS0tLS0tLS0tLS0KK3sKKwkiZXZlbnQiOiJkZWZfcGFyYW0iLAorCS4uLgorCSJwYXJhbSI6ImNvcmUuYWJicmV2IiwKKwkidmFsdWUiOiI3IgorfQorLS0tLS0tLS0tLS0tCisKK2AiZGVmX3JlcG8iYDo6CisJVGhpcyBldmVudCBkZWZpbmVzIGEgcmVwby1pZCBhbmQgYXNzb2NpYXRlcyBpdCB3aXRoIHRoZSByb290CisJb2YgdGhlIHdvcmt0cmVlLgorKworLS0tLS0tLS0tLS0tCit7CisJImV2ZW50IjoiZGVmX3JlcG8iLAorCS4uLgorCSJyZXBvIjoxLAorCSJ3b3JrdHJlZSI6Ii9Vc2Vycy9qZWZmaG9zdC93b3JrL2dmdyIKK30KKy0tLS0tLS0tLS0tLQorKworQXMgc3RhdGVkIGVhcmxpZXIsIHRoZSByZXBvLWlkIGlzIGN1cnJlbnRseSBhbHdheXMgMSwgc28gdGhlcmUgd2lsbAorb25seSBiZSBvbmUgZGVmX3JlcG8gZXZlbnQuICBMYXRlciwgaWYgaW4tcHJvYyBzdWJtb2R1bGVzIGFyZQorc3VwcG9ydGVkLCBhIGRlZl9yZXBvIGV2ZW50IHNob3VsZCBiZSBlbWl0dGVkIGZvciBlYWNoIHN1Ym1vZHVsZQordmlzaXRlZC4KKworYCJyZWdpb25fZW50ZXIiYDo6CisJVGhpcyBldmVudCBpcyBnZW5lcmF0ZWQgd2hlbiBlbnRlcmluZyBhIHJlZ2lvbi4KKysKKy0tLS0tLS0tLS0tLQoreworCSJldmVudCI6InJlZ2lvbl9lbnRlciIsCisJLi4uCisJInJlcG8iOjEsICAgICAgICAgICAgICAgICMgb3B0aW9uYWwKKwkibmVzdGluZyI6MSwgICAgICAgICAgICAgIyBjdXJyZW50IHJlZ2lvbiBzdGFjayBkZXB0aAorCSJjYXRlZ29yeSI6ImluZGV4IiwgICAgICAjIG9wdGlvbmFsCisJImxhYmVsIjoiZG9fcmVhZF9pbmRleCIsICMgb3B0aW9uYWwKKwkibXNnIjoiLmdpdC9pbmRleCIgICAgICAgIyBvcHRpb25hbAorfQorLS0tLS0tLS0tLS0tCisrCitUaGUgYGNhdGVnb3J5YCBmaWVsZCBtYXkgYmUgdXNlZCBpbiBhIGZ1dHVyZSBlbmhhbmNlbWVudCB0bworZG8gY2F0ZWdvcnktYmFzZWQgZmlsdGVyaW5nLgorKworYEdJVF9UUkFDRTJfRVZFTlRfTkVTVElOR2Agb3IgYHRyYWNlMi5ldmVudE5lc3RpbmdgIGNhbiBiZSB1c2VkIHRvCitmaWx0ZXIgZGVlcGx5IG5lc3RlZCByZWdpb25zIGFuZCBkYXRhIGV2ZW50cy4gIEl0IGRlZmF1bHRzIHRvICIyIi4KKworYCJyZWdpb25fbGVhdmUiYDo6CisJVGhpcyBldmVudCBpcyBnZW5lcmF0ZWQgd2hlbiBsZWF2aW5nIGEgcmVnaW9uLgorKworLS0tLS0tLS0tLS0tCit7CisJImV2ZW50IjoicmVnaW9uX2xlYXZlIiwKKwkuLi4KKwkicmVwbyI6MSwgICAgICAgICAgICAgICAgIyBvcHRpb25hbAorCSJ0X3JlbCI6MC4wMDI4NzYsICAgICAgICAjIHRpbWUgc3BlbnQgaW4gcmVnaW9uIGluIHNlY29uZHMKKwkibmVzdGluZyI6MSwgICAgICAgICAgICAgIyByZWdpb24gc3RhY2sgZGVwdGgKKwkiY2F0ZWdvcnkiOiJpbmRleCIsICAgICAgIyBvcHRpb25hbAorCSJsYWJlbCI6ImRvX3JlYWRfaW5kZXgiLCAjIG9wdGlvbmFsCisJIm1zZyI6Ii5naXQvaW5kZXgiICAgICAgICMgb3B0aW9uYWwKK30KKy0tLS0tLS0tLS0tLQorCitgImRhdGEiYDo6CisJVGhpcyBldmVudCBpcyBnZW5lcmF0ZWQgdG8gbG9nIGEgdGhyZWFkLSBhbmQgcmVnaW9uLWxvY2FsCisJa2V5L3ZhbHVlIHBhaXIuCisrCistLS0tLS0tLS0tLS0KK3sKKwkiZXZlbnQiOiJkYXRhIiwKKwkuLi4KKwkicmVwbyI6MSwgICAgICAgICAgICAgICMgb3B0aW9uYWwKKwkidF9hYnMiOjAuMDI0MTA3LCAgICAgICMgYWJzb2x1dGUgZWxhcHNlZCB0aW1lCisJInRfcmVsIjowLjAwMTAzMSwgICAgICAjIGVsYXBzZWQgdGltZSBpbiByZWdpb24vdGhyZWFkCisJIm5lc3RpbmciOjIsICAgICAgICAgICAjIHJlZ2lvbiBzdGFjayBkZXB0aAorCSJjYXRlZ29yeSI6ImluZGV4IiwKKwkia2V5IjoicmVhZC9jYWNoZV9uciIsCisJInZhbHVlIjoiMzU1MiIKK30KKy0tLS0tLS0tLS0tLQorKworVGhlICJ2YWx1ZSIgZmllbGQgbWF5IGJlIGFuIGludGVnZXIgb3IgYSBzdHJpbmcuCisKK2AiZGF0YS1qc29uImA6OgorCVRoaXMgZXZlbnQgaXMgZ2VuZXJhdGVkIHRvIGxvZyBhIHByZS1mb3JtYXR0ZWQgSlNPTiBzdHJpbmcKKwljb250YWluaW5nIHN0cnVjdHVyZWQgZGF0YS4KKysKKy0tLS0tLS0tLS0tLQoreworCSJldmVudCI6ImRhdGFfanNvbiIsCisJLi4uCisJInJlcG8iOjEsICAgICAgICAgICAgICAjIG9wdGlvbmFsCisJInRfYWJzIjowLjAxNTkwNSwKKwkidF9yZWwiOjAuMDE1OTA1LAorCSJuZXN0aW5nIjoxLAorCSJjYXRlZ29yeSI6InByb2Nlc3MiLAorCSJrZXkiOiJ3aW5kb3dzL2FuY2VzdHJ5IiwKKwkidmFsdWUiOlsiYmFzaC5leGUiLCJiYXNoLmV4ZSJdCit9CistLS0tLS0tLS0tLS0KKworPT0gRXhhbXBsZSBUcmFjZTIgQVBJIFVzYWdlCisKK0hlcmUgaXMgYSBoeXBvdGhldGljYWwgdXNhZ2Ugb2YgdGhlIFRyYWNlMiBBUEkgc2hvd2luZyB0aGUgaW50ZW5kZWQKK3VzYWdlICh3aXRob3V0IHdvcnJ5aW5nIGFib3V0IHRoZSBhY3R1YWwgR2l0IGRldGFpbHMpLgorCitJbml0aWFsaXphdGlvbjo6CisKKwlJbml0aWFsaXphdGlvbiBoYXBwZW5zIGluIGBtYWluKClgLiAgQmVoaW5kIHRoZSBzY2VuZXMsIGFuCisJYGF0ZXhpdGAgYW5kIGBzaWduYWxgIGhhbmRsZXIgYXJlIHJlZ2lzdGVyZWQuCisrCistLS0tLS0tLS0tLS0tLS0tCitpbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJaW50IGV4aXRfY29kZTsKKworCXRyYWNlMl9pbml0aWFsaXplKCk7CisJdHJhY2UyX2NtZF9zdGFydChhcmd2KTsKKworCWV4aXRfY29kZSA9IGNtZF9tYWluKGFyZ2MsIGFyZ3YpOworCisJdHJhY2UyX2NtZF9leGl0KGV4aXRfY29kZSk7CisKKwlyZXR1cm4gZXhpdF9jb2RlOworfQorLS0tLS0tLS0tLS0tLS0tLQorCitDb21tYW5kIERldGFpbHM6OgorCisJQWZ0ZXIgdGhlIGJhc2ljcyBhcmUgZXN0YWJsaXNoZWQsIGFkZGl0aW9uYWwgY29tbWFuZAorCWluZm9ybWF0aW9uIGNhbiBiZSBzZW50IHRvIFRyYWNlMiBhcyBpdCBpcyBkaXNjb3ZlcmVkLgorKworLS0tLS0tLS0tLS0tLS0tLQoraW50IGNtZF9jaGVja291dChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJdHJhY2UyX2NtZF9uYW1lKCJjaGVja291dCIpOworCXRyYWNlMl9jbWRfbW9kZSgiYnJhbmNoIik7CisJdHJhY2UyX2RlZl9yZXBvKHRoZV9yZXBvc2l0b3J5KTsKKworCS8vIGVtaXQgImRlZl9wYXJhbSIgbWVzc2FnZXMgZm9yICJpbnRlcmVzdGluZyIgY29uZmlnIHNldHRpbmdzLgorCXRyYWNlMl9jbWRfbGlzdF9jb25maWcoKTsKKworCWlmIChkb19zb21ldGhpbmcoKSkKKwkgICAgdHJhY2UyX2NtZF9lcnJvcigiUGF0aCAnJXMnOiBjYW5ub3QgZG8gc29tZXRoaW5nIiwgcGF0aCk7CisKKwlyZXR1cm4gMDsKK30KKy0tLS0tLS0tLS0tLS0tLS0KKworQ2hpbGQgUHJvY2Vzc2VzOjoKKworCVdyYXAgY29kZSBzcGF3bmluZyBjaGlsZCBwcm9jZXNzZXMuCisrCistLS0tLS0tLS0tLS0tLS0tCit2b2lkIHJ1bl9jaGlsZCguLi4pCit7CisJaW50IGNoaWxkX2V4aXRfY29kZTsKKwlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjbWQgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CisJLi4uCisJY21kLnRyYWNlMl9jaGlsZF9jbGFzcyA9ICJlZGl0b3IiOworCisJdHJhY2UyX2NoaWxkX3N0YXJ0KCZjbWQpOworCWNoaWxkX2V4aXRfY29kZSA9IHNwYXduX2NoaWxkX2FuZF93YWl0X2Zvcl9pdCgpOworCXRyYWNlMl9jaGlsZF9leGl0KCZjbWQsIGNoaWxkX2V4aXRfY29kZSk7Cit9CistLS0tLS0tLS0tLS0tLS0tCisrCitGb3IgZXhhbXBsZSwgdGhlIGZvbGxvd2luZyBmZXRjaCBjb21tYW5kIHNwYXduZWQgc3NoLCBpbmRleC1wYWNrLAorcmV2LWxpc3QsIGFuZCBnYy4gIFRoaXMgZXhhbXBsZSBhbHNvIHNob3dzIHRoYXQgZmV0Y2ggdG9vaworNS4xOTkgc2Vjb25kcyBhbmQgb2YgdGhhdCA0LjkzMiB3YXMgaW4gc3NoLgorKworLS0tLS0tLS0tLS0tLS0tLQorJCBleHBvcnQgR0lUX1RSQUNFMl9CUklFRj0xCiskIGV4cG9ydCBHSVRfVFJBQ0UyPX4vbG9nLm5vcm1hbAorJCBnaXQgZmV0Y2ggb3JpZ2luCisuLi4KKy0tLS0tLS0tLS0tLS0tLS0KKysKKy0tLS0tLS0tLS0tLS0tLS0KKyQgY2F0IH4vbG9nLm5vcm1hbAordmVyc2lvbiAyLjIwLjEudmZzLjEuMS40Ny5nNTM0ZGJlMWFkMQorc3RhcnQgZ2l0IGZldGNoIG9yaWdpbgord29ya3RyZWUgL1VzZXJzL2plZmZob3N0L3dvcmsvZ2Z3CitjbWRfbmFtZSBmZXRjaCAoZmV0Y2gpCitjaGlsZF9zdGFydFswXSBzc2ggZ2l0QGdpdGh1Yi5jb20gLi4uCitjaGlsZF9zdGFydFsxXSBnaXQgaW5kZXgtcGFjayAuLi4KKy4uLiAoVHJhY2UyIGV2ZW50cyBmcm9tIGNoaWxkIHByb2Nlc3NlcyBvbWl0dGVkKQorY2hpbGRfZXhpdFsxXSBwaWQ6MTQ3MDcgY29kZTowIGVsYXBzZWQ6MC4wNzYzNTMKK2NoaWxkX2V4aXRbMF0gcGlkOjE0NzA2IGNvZGU6MCBlbGFwc2VkOjQuOTMxODY5CitjaGlsZF9zdGFydFsyXSBnaXQgcmV2LWxpc3QgLi4uCisuLi4gKFRyYWNlMiBldmVudHMgZnJvbSBjaGlsZCBwcm9jZXNzIG9taXR0ZWQpCitjaGlsZF9leGl0WzJdIHBpZDoxNDcwOCBjb2RlOjAgZWxhcHNlZDowLjExMDYwNQorY2hpbGRfc3RhcnRbM10gZ2l0IGdjIC0tYXV0bworLi4uIChUcmFjZTIgZXZlbnRzIGZyb20gY2hpbGQgcHJvY2VzcyBvbWl0dGVkKQorY2hpbGRfZXhpdFszXSBwaWQ6MTQ3MDkgY29kZTowIGVsYXBzZWQ6MC4wMDYyNDAKK2V4aXQgZWxhcHNlZDo1LjE5ODUwMyBjb2RlOjAKK2F0ZXhpdCBlbGFwc2VkOjUuMTk4NTQxIGNvZGU6MAorLS0tLS0tLS0tLS0tLS0tLQorKworV2hlbiBhIGdpdCBwcm9jZXNzIGlzIGEgKGRpcmVjdCBvciBpbmRpcmVjdCkgY2hpbGQgb2YgYW5vdGhlcgorZ2l0IHByb2Nlc3MsIGl0IGluaGVyaXRzIFRyYWNlMiBjb250ZXh0IGluZm9ybWF0aW9uLiAgVGhpcworYWxsb3dzIHRoZSBjaGlsZCB0byBwcmludCB0aGUgY29tbWFuZCBoaWVyYXJjaHkuICBUaGlzIGV4YW1wbGUKK3Nob3dzIGdjIGFzIGNoaWxkWzNdIG9mIGZldGNoLiAgV2hlbiB0aGUgZ2MgcHJvY2VzcyByZXBvcnRzCitpdHMgbmFtZSBhcyAiZ2MiLCBpdCBhbHNvIHJlcG9ydHMgdGhlIGhpZXJhcmNoeSBhcyAiZmV0Y2gvZ2MiLgorKEluIHRoaXMgZXhhbXBsZSwgdHJhY2UyIG1lc3NhZ2VzIGZyb20gdGhlIGNoaWxkIHByb2Nlc3MgaXMKK2luZGVudGVkIGZvciBjbGFyaXR5LikKKysKKy0tLS0tLS0tLS0tLS0tLS0KKyQgZXhwb3J0IEdJVF9UUkFDRTJfQlJJRUY9MQorJCBleHBvcnQgR0lUX1RSQUNFMj1+L2xvZy5ub3JtYWwKKyQgZ2l0IGZldGNoIG9yaWdpbgorLi4uCistLS0tLS0tLS0tLS0tLS0tCisrCistLS0tLS0tLS0tLS0tLS0tCiskIGNhdCB+L2xvZy5ub3JtYWwKK3ZlcnNpb24gMi4yMC4xLjE2MC5nNTY3NjEwN2VjZC5kaXJ0eQorc3RhcnQgZ2l0IGZldGNoIG9mZmljaWFsCit3b3JrdHJlZSAvVXNlcnMvamVmZmhvc3Qvd29yay9nZncKK2NtZF9uYW1lIGZldGNoIChmZXRjaCkKKy4uLgorY2hpbGRfc3RhcnRbM10gZ2l0IGdjIC0tYXV0bworICAgIHZlcnNpb24gMi4yMC4xLjE2MC5nNTY3NjEwN2VjZC5kaXJ0eQorICAgIHN0YXJ0IC9Vc2Vycy9qZWZmaG9zdC93b3JrL2dmdy9naXQgZ2MgLS1hdXRvCisgICAgd29ya3RyZWUgL1VzZXJzL2plZmZob3N0L3dvcmsvZ2Z3CisgICAgY21kX25hbWUgZ2MgKGZldGNoL2djKQorICAgIGV4aXQgZWxhcHNlZDowLjAwMTk1OSBjb2RlOjAKKyAgICBhdGV4aXQgZWxhcHNlZDowLjAwMTk5NyBjb2RlOjAKK2NoaWxkX2V4aXRbM10gcGlkOjIwMzAzIGNvZGU6MCBlbGFwc2VkOjAuMDA3NTY0CitleGl0IGVsYXBzZWQ6My44Njg5MzggY29kZTowCithdGV4aXQgZWxhcHNlZDozLjg2ODk3MCBjb2RlOjAKKy0tLS0tLS0tLS0tLS0tLS0KKworUmVnaW9uczo6CisKKwlSZWdpb25zIGNhbiBiZSB1c2UgdG8gdGltZSBhbiBpbnRlcmVzdGluZyBzZWN0aW9uIG9mIGNvZGUuCisrCistLS0tLS0tLS0tLS0tLS0tCit2b2lkIHd0X3N0YXR1c19jb2xsZWN0KHN0cnVjdCB3dF9zdGF0dXMgKnMpCit7CisJdHJhY2UyX3JlZ2lvbl9lbnRlcigic3RhdHVzIiwgIndvcmt0cmVlcyIsIHMtPnJlcG8pOworCXd0X3N0YXR1c19jb2xsZWN0X2NoYW5nZXNfd29ya3RyZWUocyk7CisJdHJhY2UyX3JlZ2lvbl9sZWF2ZSgic3RhdHVzIiwgIndvcmt0cmVlcyIsIHMtPnJlcG8pOworCisJdHJhY2UyX3JlZ2lvbl9lbnRlcigic3RhdHVzIiwgImluZGV4Iiwgcy0+cmVwbyk7CisJd3Rfc3RhdHVzX2NvbGxlY3RfY2hhbmdlc19pbmRleChzKTsKKwl0cmFjZTJfcmVnaW9uX2xlYXZlKCJzdGF0dXMiLCAiaW5kZXgiLCBzLT5yZXBvKTsKKworCXRyYWNlMl9yZWdpb25fZW50ZXIoInN0YXR1cyIsICJ1bnRyYWNrZWQiLCBzLT5yZXBvKTsKKwl3dF9zdGF0dXNfY29sbGVjdF91bnRyYWNrZWQocyk7CisJdHJhY2UyX3JlZ2lvbl9sZWF2ZSgic3RhdHVzIiwgInVudHJhY2tlZCIsIHMtPnJlcG8pOworfQorCit2b2lkIHd0X3N0YXR1c19wcmludChzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQoreworCXRyYWNlMl9yZWdpb25fZW50ZXIoInN0YXR1cyIsICJwcmludCIsIHMtPnJlcG8pOworCXN3aXRjaCAocy0+c3RhdHVzX2Zvcm1hdCkgeworCSAgICAuLi4KKwl9CisJdHJhY2UyX3JlZ2lvbl9sZWF2ZSgic3RhdHVzIiwgInByaW50Iiwgcy0+cmVwbyk7Cit9CistLS0tLS0tLS0tLS0tLS0tCisrCitJbiB0aGlzIGV4YW1wbGUsIHNjYW5uaW5nIGZvciB1bnRyYWNrZWQgZmlsZXMgcmFuIGZyb20gKzAuMDEyNTY4IHRvCisrMC4wMjcxNDkgKHNpbmNlIHRoZSBwcm9jZXNzIHN0YXJ0ZWQpIGFuZCB0b29rIDAuMDE0NTgxIHNlY29uZHMuCisrCistLS0tLS0tLS0tLS0tLS0tCiskIGV4cG9ydCBHSVRfVFJBQ0UyX1BFUkZfQlJJRUY9MQorJCBleHBvcnQgR0lUX1RSQUNFMl9QRVJGPX4vbG9nLnBlcmYKKyQgZ2l0IHN0YXR1cworLi4uCisKKyQgY2F0IH4vbG9nLnBlcmYKK2QwIHwgbWFpbiAgICAgICAgICAgICAgICAgICAgIHwgdmVyc2lvbiAgICAgIHwgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgICB8IDIuMjAuMS4xNjAuZzU2NzYxMDdlY2QuZGlydHkKK2QwIHwgbWFpbiAgICAgICAgICAgICAgICAgICAgIHwgc3RhcnQgICAgICAgIHwgICAgIHwgIDAuMDAxMTczIHwgICAgICAgICAgIHwgICAgICAgICAgICB8IGdpdCBzdGF0dXMKK2QwIHwgbWFpbiAgICAgICAgICAgICAgICAgICAgIHwgZGVmX3JlcG8gICAgIHwgcjEgIHwgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgICB8IHdvcmt0cmVlOi9Vc2Vycy9qZWZmaG9zdC93b3JrL2dmdworZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCBjbWRfbmFtZSAgICAgfCAgICAgfCAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICAgIHwgc3RhdHVzIChzdGF0dXMpCisuLi4KK2QwIHwgbWFpbiAgICAgICAgICAgICAgICAgICAgIHwgcmVnaW9uX2VudGVyIHwgcjEgIHwgIDAuMDEwOTg4IHwgICAgICAgICAgIHwgc3RhdHVzICAgICB8IGxhYmVsOndvcmt0cmVlcworZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCByZWdpb25fbGVhdmUgfCByMSAgfCAgMC4wMTEyMzYgfCAgMC4wMDAyNDggfCBzdGF0dXMgICAgIHwgbGFiZWw6d29ya3RyZWVzCitkMCB8IG1haW4gICAgICAgICAgICAgICAgICAgICB8IHJlZ2lvbl9lbnRlciB8IHIxICB8ICAwLjAxMTI2MCB8ICAgICAgICAgICB8IHN0YXR1cyAgICAgfCBsYWJlbDppbmRleAorZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCByZWdpb25fbGVhdmUgfCByMSAgfCAgMC4wMTI1NDIgfCAgMC4wMDEyODIgfCBzdGF0dXMgICAgIHwgbGFiZWw6aW5kZXgKK2QwIHwgbWFpbiAgICAgICAgICAgICAgICAgICAgIHwgcmVnaW9uX2VudGVyIHwgcjEgIHwgIDAuMDEyNTY4IHwgICAgICAgICAgIHwgc3RhdHVzICAgICB8IGxhYmVsOnVudHJhY2tlZAorZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCByZWdpb25fbGVhdmUgfCByMSAgfCAgMC4wMjcxNDkgfCAgMC4wMTQ1ODEgfCBzdGF0dXMgICAgIHwgbGFiZWw6dW50cmFja2VkCitkMCB8IG1haW4gICAgICAgICAgICAgICAgICAgICB8IHJlZ2lvbl9lbnRlciB8IHIxICB8ICAwLjAyNzQxMSB8ICAgICAgICAgICB8IHN0YXR1cyAgICAgfCBsYWJlbDpwcmludAorZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCByZWdpb25fbGVhdmUgfCByMSAgfCAgMC4wMjg3NDEgfCAgMC4wMDEzMzAgfCBzdGF0dXMgICAgIHwgbGFiZWw6cHJpbnQKK2QwIHwgbWFpbiAgICAgICAgICAgICAgICAgICAgIHwgZXhpdCAgICAgICAgIHwgICAgIHwgIDAuMDI4Nzc4IHwgICAgICAgICAgIHwgICAgICAgICAgICB8IGNvZGU6MAorZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCBhdGV4aXQgICAgICAgfCAgICAgfCAgMC4wMjg4MDkgfCAgICAgICAgICAgfCAgICAgICAgICAgIHwgY29kZTowCistLS0tLS0tLS0tLS0tLS0tCisrCitSZWdpb25zIG1heSBiZSBuZXN0ZWQuICBUaGlzIGNhdXNlcyBtZXNzYWdlcyB0byBiZSBpbmRlbnRlZCBpbiB0aGUKK1BFUkYgdGFyZ2V0LCBmb3IgZXhhbXBsZS4KK0VsYXBzZWQgdGltZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgY29ycmVzcG9uZGluZyBuZXN0aW5nCitsZXZlbCBhcyBleHBlY3RlZC4gIEZvciBleGFtcGxlLCBpZiB3ZSBhZGQgcmVnaW9uIG1lc3NhZ2UgdG86CisrCistLS0tLS0tLS0tLS0tLS0tCitzdGF0aWMgZW51bSBwYXRoX3RyZWF0bWVudCByZWFkX2RpcmVjdG9yeV9yZWN1cnNpdmUoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKKwlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgY29uc3QgY2hhciAqYmFzZSwgaW50IGJhc2VsZW4sCisJc3RydWN0IHVudHJhY2tlZF9jYWNoZV9kaXIgKnVudHJhY2tlZCwgaW50IGNoZWNrX29ubHksCisJaW50IHN0b3BfYXRfZmlyc3RfZmlsZSwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYykKK3sKKwllbnVtIHBhdGhfdHJlYXRtZW50IHN0YXRlLCBzdWJkaXJfc3RhdGUsIGRpcl9zdGF0ZSA9IHBhdGhfbm9uZTsKKworCXRyYWNlMl9yZWdpb25fZW50ZXJfcHJpbnRmKCJkaXIiLCAicmVhZF9yZWN1cnNpdmUiLCBOVUxMLCAiJS4qcyIsIGJhc2VsZW4sIGJhc2UpOworCS4uLgorCXRyYWNlMl9yZWdpb25fbGVhdmVfcHJpbnRmKCJkaXIiLCAicmVhZF9yZWN1cnNpdmUiLCBOVUxMLCAiJS4qcyIsIGJhc2VsZW4sIGJhc2UpOworCXJldHVybiBkaXJfc3RhdGU7Cit9CistLS0tLS0tLS0tLS0tLS0tCisrCitXZSBjYW4gZnVydGhlciBpbnZlc3RpZ2F0ZSB0aGUgdGltZSBzcGVudCBzY2FubmluZyBmb3IgdW50cmFja2VkIGZpbGVzLgorKworLS0tLS0tLS0tLS0tLS0tLQorJCBleHBvcnQgR0lUX1RSQUNFMl9QRVJGX0JSSUVGPTEKKyQgZXhwb3J0IEdJVF9UUkFDRTJfUEVSRj1+L2xvZy5wZXJmCiskIGdpdCBzdGF0dXMKKy4uLgorJCBjYXQgfi9sb2cucGVyZgorZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCB2ZXJzaW9uICAgICAgfCAgICAgfCAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICAgIHwgMi4yMC4xLjE2Mi5nYjRjY2VhNDRkYi5kaXJ0eQorZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCBzdGFydCAgICAgICAgfCAgICAgfCAgMC4wMDExNzMgfCAgICAgICAgICAgfCAgICAgICAgICAgIHwgZ2l0IHN0YXR1cworZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCBkZWZfcmVwbyAgICAgfCByMSAgfCAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICAgIHwgd29ya3RyZWU6L1VzZXJzL2plZmZob3N0L3dvcmsvZ2Z3CitkMCB8IG1haW4gICAgICAgICAgICAgICAgICAgICB8IGNtZF9uYW1lICAgICB8ICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICAgfCBzdGF0dXMgKHN0YXR1cykKKy4uLgorZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCByZWdpb25fZW50ZXIgfCByMSAgfCAgMC4wMTUwNDcgfCAgICAgICAgICAgfCBzdGF0dXMgICAgIHwgbGFiZWw6dW50cmFja2VkCitkMCB8IG1haW4gICAgICAgICAgICAgICAgICAgICB8IHJlZ2lvbl9lbnRlciB8ICAgICB8ICAwLjAxNTEzMiB8ICAgICAgICAgICB8IGRpciAgICAgICAgfCAuLmxhYmVsOnJlYWRfcmVjdXJzaXZlCitkMCB8IG1haW4gICAgICAgICAgICAgICAgICAgICB8IHJlZ2lvbl9lbnRlciB8ICAgICB8ICAwLjAxNjM0MSB8ICAgICAgICAgICB8IGRpciAgICAgICAgfCAuLi4ubGFiZWw6cmVhZF9yZWN1cnNpdmUgdmNzLXN2bi8KK2QwIHwgbWFpbiAgICAgICAgICAgICAgICAgICAgIHwgcmVnaW9uX2xlYXZlIHwgICAgIHwgIDAuMDE2NDIyIHwgIDAuMDAwMDgxIHwgZGlyICAgICAgICB8IC4uLi5sYWJlbDpyZWFkX3JlY3Vyc2l2ZSB2Y3Mtc3ZuLworZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCByZWdpb25fZW50ZXIgfCAgICAgfCAgMC4wMTY0NDYgfCAgICAgICAgICAgfCBkaXIgICAgICAgIHwgLi4uLmxhYmVsOnJlYWRfcmVjdXJzaXZlIHhkaWZmLworZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCByZWdpb25fbGVhdmUgfCAgICAgfCAgMC4wMTY1MjIgfCAgMC4wMDAwNzYgfCBkaXIgICAgICAgIHwgLi4uLmxhYmVsOnJlYWRfcmVjdXJzaXZlIHhkaWZmLworZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCByZWdpb25fZW50ZXIgfCAgICAgfCAgMC4wMTY2MTIgfCAgICAgICAgICAgfCBkaXIgICAgICAgIHwgLi4uLmxhYmVsOnJlYWRfcmVjdXJzaXZlIGdpdC1ndWkvCitkMCB8IG1haW4gICAgICAgICAgICAgICAgICAgICB8IHJlZ2lvbl9lbnRlciB8ICAgICB8ICAwLjAxNjY5OCB8ICAgICAgICAgICB8IGRpciAgICAgICAgfCAuLi4uLi5sYWJlbDpyZWFkX3JlY3Vyc2l2ZSBnaXQtZ3VpL3BvLworZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCByZWdpb25fZW50ZXIgfCAgICAgfCAgMC4wMTY4MTAgfCAgICAgICAgICAgfCBkaXIgICAgICAgIHwgLi4uLi4uLi5sYWJlbDpyZWFkX3JlY3Vyc2l2ZSBnaXQtZ3VpL3BvL2dsb3NzYXJ5LworZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCByZWdpb25fbGVhdmUgfCAgICAgfCAgMC4wMTY4NjMgfCAgMC4wMDAwNTMgfCBkaXIgICAgICAgIHwgLi4uLi4uLi5sYWJlbDpyZWFkX3JlY3Vyc2l2ZSBnaXQtZ3VpL3BvL2dsb3NzYXJ5LworLi4uCitkMCB8IG1haW4gICAgICAgICAgICAgICAgICAgICB8IHJlZ2lvbl9lbnRlciB8ICAgICB8ICAwLjAzMTg3NiB8ICAgICAgICAgICB8IGRpciAgICAgICAgfCAuLi4ubGFiZWw6cmVhZF9yZWN1cnNpdmUgYnVpbHRpbi8KK2QwIHwgbWFpbiAgICAgICAgICAgICAgICAgICAgIHwgcmVnaW9uX2xlYXZlIHwgICAgIHwgIDAuMDMyMjcwIHwgIDAuMDAwMzk0IHwgZGlyICAgICAgICB8IC4uLi5sYWJlbDpyZWFkX3JlY3Vyc2l2ZSBidWlsdGluLworZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCByZWdpb25fbGVhdmUgfCAgICAgfCAgMC4wMzI0MTQgfCAgMC4wMTcyODIgfCBkaXIgICAgICAgIHwgLi5sYWJlbDpyZWFkX3JlY3Vyc2l2ZQorZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCByZWdpb25fbGVhdmUgfCByMSAgfCAgMC4wMzI0NTQgfCAgMC4wMTc0MDcgfCBzdGF0dXMgICAgIHwgbGFiZWw6dW50cmFja2VkCisuLi4KK2QwIHwgbWFpbiAgICAgICAgICAgICAgICAgICAgIHwgZXhpdCAgICAgICAgIHwgICAgIHwgIDAuMDM0Mjc5IHwgICAgICAgICAgIHwgICAgICAgICAgICB8IGNvZGU6MAorZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCBhdGV4aXQgICAgICAgfCAgICAgfCAgMC4wMzQzMjIgfCAgICAgICAgICAgfCAgICAgICAgICAgIHwgY29kZTowCistLS0tLS0tLS0tLS0tLS0tCisrCitUcmFjZTIgcmVnaW9ucyBhcmUgc2ltaWxhciB0byB0aGUgZXhpc3RpbmcgdHJhY2VfcGVyZm9ybWFuY2VfZW50ZXIoKQorYW5kIHRyYWNlX3BlcmZvcm1hbmNlX2xlYXZlKCkgcm91dGluZXMsIGJ1dCBhcmUgdGhyZWFkIHNhZmUgYW5kCittYWludGFpbiBwZXItdGhyZWFkIHN0YWNrcyBvZiB0aW1lcnMuCisKK0RhdGEgTWVzc2FnZXM6OgorCisJRGF0YSBtZXNzYWdlcyBhZGRlZCB0byBhIHJlZ2lvbi4KKysKKy0tLS0tLS0tLS0tLS0tLS0KK2ludCByZWFkX2luZGV4X2Zyb20oc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKnBhdGgsCisJY29uc3QgY2hhciAqZ2l0ZGlyKQoreworCXRyYWNlMl9yZWdpb25fZW50ZXJfcHJpbnRmKCJpbmRleCIsICJkb19yZWFkX2luZGV4IiwgdGhlX3JlcG9zaXRvcnksICIlcyIsIHBhdGgpOworCisJLi4uCisKKwl0cmFjZTJfZGF0YV9pbnRtYXgoImluZGV4IiwgdGhlX3JlcG9zaXRvcnksICJyZWFkL3ZlcnNpb24iLCBpc3RhdGUtPnZlcnNpb24pOworCXRyYWNlMl9kYXRhX2ludG1heCgiaW5kZXgiLCB0aGVfcmVwb3NpdG9yeSwgInJlYWQvY2FjaGVfbnIiLCBpc3RhdGUtPmNhY2hlX25yKTsKKworCXRyYWNlMl9yZWdpb25fbGVhdmVfcHJpbnRmKCJpbmRleCIsICJkb19yZWFkX2luZGV4IiwgdGhlX3JlcG9zaXRvcnksICIlcyIsIHBhdGgpOworfQorLS0tLS0tLS0tLS0tLS0tLQorKworVGhpcyBleGFtcGxlIHNob3dzIHRoYXQgdGhlIGluZGV4IGNvbnRhaW5lZCAzNTUyIGVudHJpZXMuCisrCistLS0tLS0tLS0tLS0tLS0tCiskIGV4cG9ydCBHSVRfVFJBQ0UyX1BFUkZfQlJJRUY9MQorJCBleHBvcnQgR0lUX1RSQUNFMl9QRVJGPX4vbG9nLnBlcmYKKyQgZ2l0IHN0YXR1cworLi4uCiskIGNhdCB+L2xvZy5wZXJmCitkMCB8IG1haW4gICAgICAgICAgICAgICAgICAgICB8IHZlcnNpb24gICAgICB8ICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICAgfCAyLjIwLjEuMTU2LmdmOTkxNmFlMDk0LmRpcnR5CitkMCB8IG1haW4gICAgICAgICAgICAgICAgICAgICB8IHN0YXJ0ICAgICAgICB8ICAgICB8ICAwLjAwMTE3MyB8ICAgICAgICAgICB8ICAgICAgICAgICAgfCBnaXQgc3RhdHVzCitkMCB8IG1haW4gICAgICAgICAgICAgICAgICAgICB8IGRlZl9yZXBvICAgICB8IHIxICB8ICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICAgfCB3b3JrdHJlZTovVXNlcnMvamVmZmhvc3Qvd29yay9nZncKK2QwIHwgbWFpbiAgICAgICAgICAgICAgICAgICAgIHwgY21kX25hbWUgICAgIHwgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgICB8IHN0YXR1cyAoc3RhdHVzKQorZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCByZWdpb25fZW50ZXIgfCByMSAgfCAgMC4wMDE3OTEgfCAgICAgICAgICAgfCBpbmRleCAgICAgIHwgbGFiZWw6ZG9fcmVhZF9pbmRleCAuZ2l0L2luZGV4CitkMCB8IG1haW4gICAgICAgICAgICAgICAgICAgICB8IGRhdGEgICAgICAgICB8IHIxICB8ICAwLjAwMjQ5NCB8ICAwLjAwMDcwMyB8IGluZGV4ICAgICAgfCAuLnJlYWQvdmVyc2lvbjoyCitkMCB8IG1haW4gICAgICAgICAgICAgICAgICAgICB8IGRhdGEgICAgICAgICB8IHIxICB8ICAwLjAwMjUyMCB8ICAwLjAwMDcyOSB8IGluZGV4ICAgICAgfCAuLnJlYWQvY2FjaGVfbnI6MzU1MgorZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCByZWdpb25fbGVhdmUgfCByMSAgfCAgMC4wMDI1MzkgfCAgMC4wMDA3NDggfCBpbmRleCAgICAgIHwgbGFiZWw6ZG9fcmVhZF9pbmRleCAuZ2l0L2luZGV4CisuLi4KKy0tLS0tLS0tLS0tLS0tLS0KKworVGhyZWFkIEV2ZW50czo6CisKKwlUaHJlYWQgbWVzc2FnZXMgYWRkZWQgdG8gYSB0aHJlYWQtcHJvYy4KKysKK0ZvciBleGFtcGxlLCB0aGUgbXVsdGl0aHJlYWRlZCBwcmVsb2FkLWluZGV4IGNvZGUgY2FuIGJlCitpbnN0cnVtZW50ZWQgd2l0aCBhIHJlZ2lvbiBhcm91bmQgdGhlIHRocmVhZCBwb29sIGFuZCB0aGVuCitwZXItdGhyZWFkIHN0YXJ0IGFuZCBleGl0IGV2ZW50cyB3aXRoaW4gdGhlIHRocmVhZHByb2MuCisrCistLS0tLS0tLS0tLS0tLS0tCitzdGF0aWMgdm9pZCAqcHJlbG9hZF90aHJlYWQodm9pZCAqX2RhdGEpCit7CisJLy8gc3RhcnQgdGhlIHBlci10aHJlYWQgY2xvY2sgYW5kIGVtaXQgYSBtZXNzYWdlLgorCXRyYWNlMl90aHJlYWRfc3RhcnQoInByZWxvYWRfdGhyZWFkIik7CisKKwkvLyByZXBvcnQgd2hpY2ggY2h1bmsgb2YgdGhlIGFycmF5IHRoaXMgdGhyZWFkIHdhcyBhc3NpZ25lZC4KKwl0cmFjZTJfZGF0YV9pbnRtYXgoImluZGV4IiwgdGhlX3JlcG9zaXRvcnksICJvZmZzZXQiLCBwLT5vZmZzZXQpOworCXRyYWNlMl9kYXRhX2ludG1heCgiaW5kZXgiLCB0aGVfcmVwb3NpdG9yeSwgImNvdW50IiwgbnIpOworCisJZG8geworCSAgICAuLi4KKwl9IHdoaWxlICgtLW5yID4gMCk7CisJLi4uCisKKwkvLyByZXBvcnQgZWxhcHNlZCB0aW1lIHRha2VuIGJ5IHRoaXMgdGhyZWFkLgorCXRyYWNlMl90aHJlYWRfZXhpdCgpOworCXJldHVybiBOVUxMOworfQorCit2b2lkIHByZWxvYWRfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICppbmRleCwKKwljb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAorCXVuc2lnbmVkIGludCByZWZyZXNoX2ZsYWdzKQoreworCXRyYWNlMl9yZWdpb25fZW50ZXIoImluZGV4IiwgInByZWxvYWQiLCB0aGVfcmVwb3NpdG9yeSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgdGhyZWFkczsgaSsrKSB7CisJICAgIC4uLiAvKiBjcmVhdGUgdGhyZWFkICovCisJfQorCisJZm9yIChpID0gMDsgaSA8IHRocmVhZHM7IGkrKykgeworCSAgICAuLi4gLyogam9pbiB0aHJlYWQgKi8KKwl9CisKKwl0cmFjZTJfcmVnaW9uX2xlYXZlKCJpbmRleCIsICJwcmVsb2FkIiwgdGhlX3JlcG9zaXRvcnkpOworfQorLS0tLS0tLS0tLS0tLS0tLQorKworSW4gdGhpcyBleGFtcGxlIHByZWxvYWRfaW5kZXgoKSB3YXMgZXhlY3V0ZWQgYnkgdGhlIGBtYWluYCB0aHJlYWQKK2FuZCBzdGFydGVkIHRoZSBgcHJlbG9hZGAgcmVnaW9uLiAgU2V2ZW4gdGhyZWFkcywgbmFtZWQKK2B0aDAxOnByZWxvYWRfdGhyZWFkYCB0aHJvdWdoIGB0aDA3OnByZWxvYWRfdGhyZWFkYCwgd2VyZSBzdGFydGVkLgorRXZlbnRzIGZyb20gZWFjaCB0aHJlYWQgYXJlIGF0b21pY2FsbHkgYXBwZW5kZWQgdG8gdGhlIHNoYXJlZCB0YXJnZXQKK3N0cmVhbSBhcyB0aGV5IG9jY3VyIHNvIHRoZXkgbWF5IGFwcGVhciBpbiByYW5kb20gb3JkZXIgd2l0aCByZXNwZWN0CitvdGhlciB0aHJlYWRzLiBGaW5hbGx5LCB0aGUgbWFpbiB0aHJlYWQgd2FpdHMgZm9yIHRoZSB0aHJlYWRzIHRvCitmaW5pc2ggYW5kIGxlYXZlcyB0aGUgcmVnaW9uLgorKworRGF0YSBldmVudHMgYXJlIHRhZ2dlZCB3aXRoIHRoZSBhY3RpdmUgdGhyZWFkIG5hbWUuICBUaGV5IGFyZSB1c2VkCit0byByZXBvcnQgdGhlIHBlci10aHJlYWQgcGFyYW1ldGVycy4KKysKKy0tLS0tLS0tLS0tLS0tLS0KKyQgZXhwb3J0IEdJVF9UUkFDRTJfUEVSRl9CUklFRj0xCiskIGV4cG9ydCBHSVRfVFJBQ0UyX1BFUkY9fi9sb2cucGVyZgorJCBnaXQgc3RhdHVzCisuLi4KKyQgY2F0IH4vbG9nLnBlcmYKKy4uLgorZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCByZWdpb25fZW50ZXIgfCByMSAgfCAgMC4wMDI1OTUgfCAgICAgICAgICAgfCBpbmRleCAgICAgIHwgbGFiZWw6cHJlbG9hZAorZDAgfCB0aDAxOnByZWxvYWRfdGhyZWFkICAgICAgfCB0aHJlYWRfc3RhcnQgfCAgICAgfCAgMC4wMDI2OTkgfCAgICAgICAgICAgfCAgICAgICAgICAgIHwKK2QwIHwgdGgwMjpwcmVsb2FkX3RocmVhZCAgICAgIHwgdGhyZWFkX3N0YXJ0IHwgICAgIHwgIDAuMDAyNzIxIHwgICAgICAgICAgIHwgICAgICAgICAgICB8CitkMCB8IHRoMDE6cHJlbG9hZF90aHJlYWQgICAgICB8IGRhdGEgICAgICAgICB8IHIxICB8ICAwLjAwMjczNiB8ICAwLjAwMDAzNyB8IGluZGV4ICAgICAgfCBvZmZzZXQ6MAorZDAgfCB0aDAyOnByZWxvYWRfdGhyZWFkICAgICAgfCBkYXRhICAgICAgICAgfCByMSAgfCAgMC4wMDI3NTEgfCAgMC4wMDAwMzAgfCBpbmRleCAgICAgIHwgb2Zmc2V0OjIwMzIKK2QwIHwgdGgwMzpwcmVsb2FkX3RocmVhZCAgICAgIHwgdGhyZWFkX3N0YXJ0IHwgICAgIHwgIDAuMDAyNzExIHwgICAgICAgICAgIHwgICAgICAgICAgICB8CitkMCB8IHRoMDY6cHJlbG9hZF90aHJlYWQgICAgICB8IHRocmVhZF9zdGFydCB8ICAgICB8ICAwLjAwMjczOSB8ICAgICAgICAgICB8ICAgICAgICAgICAgfAorZDAgfCB0aDAxOnByZWxvYWRfdGhyZWFkICAgICAgfCBkYXRhICAgICAgICAgfCByMSAgfCAgMC4wMDI3NjYgfCAgMC4wMDAwNjcgfCBpbmRleCAgICAgIHwgY291bnQ6NTA4CitkMCB8IHRoMDY6cHJlbG9hZF90aHJlYWQgICAgICB8IGRhdGEgICAgICAgICB8IHIxICB8ICAwLjAwMjg1NiB8ICAwLjAwMDExNyB8IGluZGV4ICAgICAgfCBvZmZzZXQ6MjU0MAorZDAgfCB0aDAzOnByZWxvYWRfdGhyZWFkICAgICAgfCBkYXRhICAgICAgICAgfCByMSAgfCAgMC4wMDI4MjQgfCAgMC4wMDAxMTMgfCBpbmRleCAgICAgIHwgb2Zmc2V0OjEwMTYKK2QwIHwgdGgwNDpwcmVsb2FkX3RocmVhZCAgICAgIHwgdGhyZWFkX3N0YXJ0IHwgICAgIHwgIDAuMDAyNzEwIHwgICAgICAgICAgIHwgICAgICAgICAgICB8CitkMCB8IHRoMDI6cHJlbG9hZF90aHJlYWQgICAgICB8IGRhdGEgICAgICAgICB8IHIxICB8ICAwLjAwMjc3OSB8ICAwLjAwMDA1OCB8IGluZGV4ICAgICAgfCBjb3VudDo1MDgKK2QwIHwgdGgwNjpwcmVsb2FkX3RocmVhZCAgICAgIHwgZGF0YSAgICAgICAgIHwgcjEgIHwgIDAuMDAyOTY2IHwgIDAuMDAwMjI3IHwgaW5kZXggICAgICB8IGNvdW50OjUwOAorZDAgfCB0aDA3OnByZWxvYWRfdGhyZWFkICAgICAgfCB0aHJlYWRfc3RhcnQgfCAgICAgfCAgMC4wMDI3NDEgfCAgICAgICAgICAgfCAgICAgICAgICAgIHwKK2QwIHwgdGgwNzpwcmVsb2FkX3RocmVhZCAgICAgIHwgZGF0YSAgICAgICAgIHwgcjEgIHwgIDAuMDAzMDE3IHwgIDAuMDAwMjc2IHwgaW5kZXggICAgICB8IG9mZnNldDozMDQ4CitkMCB8IHRoMDU6cHJlbG9hZF90aHJlYWQgICAgICB8IHRocmVhZF9zdGFydCB8ICAgICB8ICAwLjAwMjcxMiB8ICAgICAgICAgICB8ICAgICAgICAgICAgfAorZDAgfCB0aDA1OnByZWxvYWRfdGhyZWFkICAgICAgfCBkYXRhICAgICAgICAgfCByMSAgfCAgMC4wMDMwNjcgfCAgMC4wMDAzNTUgfCBpbmRleCAgICAgIHwgb2Zmc2V0OjE1MjQKK2QwIHwgdGgwNTpwcmVsb2FkX3RocmVhZCAgICAgIHwgZGF0YSAgICAgICAgIHwgcjEgIHwgIDAuMDAzMDkwIHwgIDAuMDAwMzc4IHwgaW5kZXggICAgICB8IGNvdW50OjUwOAorZDAgfCB0aDA3OnByZWxvYWRfdGhyZWFkICAgICAgfCBkYXRhICAgICAgICAgfCByMSAgfCAgMC4wMDMwMzcgfCAgMC4wMDAyOTYgfCBpbmRleCAgICAgIHwgY291bnQ6NTA0CitkMCB8IHRoMDM6cHJlbG9hZF90aHJlYWQgICAgICB8IGRhdGEgICAgICAgICB8IHIxICB8ICAwLjAwMjk3MSB8ICAwLjAwMDI2MCB8IGluZGV4ICAgICAgfCBjb3VudDo1MDgKK2QwIHwgdGgwNDpwcmVsb2FkX3RocmVhZCAgICAgIHwgZGF0YSAgICAgICAgIHwgcjEgIHwgIDAuMDAyOTgzIHwgIDAuMDAwMjczIHwgaW5kZXggICAgICB8IG9mZnNldDo1MDgKK2QwIHwgdGgwNDpwcmVsb2FkX3RocmVhZCAgICAgIHwgZGF0YSAgICAgICAgIHwgcjEgIHwgIDAuMDA3MzExIHwgIDAuMDA0NjAxIHwgaW5kZXggICAgICB8IGNvdW50OjUwOAorZDAgfCB0aDA1OnByZWxvYWRfdGhyZWFkICAgICAgfCB0aHJlYWRfZXhpdCAgfCAgICAgfCAgMC4wMDg3ODEgfCAgMC4wMDYwNjkgfCAgICAgICAgICAgIHwKK2QwIHwgdGgwMTpwcmVsb2FkX3RocmVhZCAgICAgIHwgdGhyZWFkX2V4aXQgIHwgICAgIHwgIDAuMDA5NTYxIHwgIDAuMDA2ODYyIHwgICAgICAgICAgICB8CitkMCB8IHRoMDM6cHJlbG9hZF90aHJlYWQgICAgICB8IHRocmVhZF9leGl0ICB8ICAgICB8ICAwLjAwOTc0MiB8ICAwLjAwNzAzMSB8ICAgICAgICAgICAgfAorZDAgfCB0aDA2OnByZWxvYWRfdGhyZWFkICAgICAgfCB0aHJlYWRfZXhpdCAgfCAgICAgfCAgMC4wMDk4MjAgfCAgMC4wMDcwODEgfCAgICAgICAgICAgIHwKK2QwIHwgdGgwMjpwcmVsb2FkX3RocmVhZCAgICAgIHwgdGhyZWFkX2V4aXQgIHwgICAgIHwgIDAuMDEwMjc0IHwgIDAuMDA3NTUzIHwgICAgICAgICAgICB8CitkMCB8IHRoMDc6cHJlbG9hZF90aHJlYWQgICAgICB8IHRocmVhZF9leGl0ICB8ICAgICB8ICAwLjAxMDQ3NyB8ICAwLjAwNzczNiB8ICAgICAgICAgICAgfAorZDAgfCB0aDA0OnByZWxvYWRfdGhyZWFkICAgICAgfCB0aHJlYWRfZXhpdCAgfCAgICAgfCAgMC4wMTE2NTcgfCAgMC4wMDg5NDcgfCAgICAgICAgICAgIHwKK2QwIHwgbWFpbiAgICAgICAgICAgICAgICAgICAgIHwgcmVnaW9uX2xlYXZlIHwgcjEgIHwgIDAuMDExNzE3IHwgIDAuMDA5MTIyIHwgaW5kZXggICAgICB8IGxhYmVsOnByZWxvYWQKKy4uLgorZDAgfCBtYWluICAgICAgICAgICAgICAgICAgICAgfCBleGl0ICAgICAgICAgfCAgICAgfCAgMC4wMjk5OTYgfCAgICAgICAgICAgfCAgICAgICAgICAgIHwgY29kZTowCitkMCB8IG1haW4gICAgICAgICAgICAgICAgICAgICB8IGF0ZXhpdCAgICAgICB8ICAgICB8ICAwLjAzMDAyNyB8ICAgICAgICAgICB8ICAgICAgICAgICAgfCBjb2RlOjAKKy0tLS0tLS0tLS0tLS0tLS0KKysKK0luIHRoaXMgZXhhbXBsZSwgdGhlIHByZWxvYWQgcmVnaW9uIHRvb2sgMC4wMDkxMjIgc2Vjb25kcy4gIFRoZSA3IHRocmVhZHMKK3Rvb2sgYmV0d2VlbiAwLjAwNjA2OSBhbmQgMC4wMDg5NDcgc2Vjb25kcyB0byB3b3JrIG9uIHRoZWlyIHBvcnRpb24gb2YKK3RoZSBpbmRleC4gIFRocmVhZCAidGgwMSIgd29ya2VkIG9uIDUwOCBpdGVtcyBhdCBvZmZzZXQgMC4gIFRocmVhZCAidGgwMiIKK3dvcmtlZCBvbiA1MDggaXRlbXMgYXQgb2Zmc2V0IDIwMzIuICBUaHJlYWQgInRoMDQiIHdvcmtlZCBvbiA1MDggaXRlbXMKK2F0IG9mZnNldCA1MDguCisrCitUaGlzIGV4YW1wbGUgYWxzbyBzaG93cyB0aGF0IHRocmVhZCBuYW1lcyBhcmUgYXNzaWduZWQgaW4gYSByYWN5IG1hbm5lcgorYXMgZWFjaCB0aHJlYWQgc3RhcnRzIGFuZCBhbGxvY2F0ZXMgVExTIHN0b3JhZ2UuCisKKz09IEZ1dHVyZSBXb3JrCisKKz09PSBSZWxhdGlvbnNoaXAgdG8gdGhlIEV4aXN0aW5nIFRyYWNlIEFwaSAoYXBpLXRyYWNlLnR4dCkKKworVGhlcmUgYXJlIGEgZmV3IGlzc3VlcyB0byByZXNvbHZlIGJlZm9yZSB3ZSBjYW4gY29tcGxldGVseQorc3dpdGNoIHRvIFRyYWNlMi4KKworKiBVcGRhdGluZyBleGlzdGluZyB0ZXN0cyB0aGF0IGFzc3VtZSBHSVRfVFJBQ0UgZm9ybWF0IG1lc3NhZ2VzLgorCisqIEhvdyB0byBiZXN0IGhhbmRsZSBjdXN0b20gR0lUX1RSQUNFXzxrZXk+IG1lc3NhZ2VzPworCisqKiBUaGUgR0lUX1RSQUNFXzxrZXk+IG1lY2hhbmlzbSBhbGxvd3MgZWFjaCA8a2V5PiB0byB3cml0ZSB0byBhCitkaWZmZXJlbnQgZmlsZSAoaW4gYWRkaXRpb24gdG8ganVzdCBzdGRlcnIpLgorCisqKiBEbyB3ZSB3YW50IHRvIG1haW50YWluIHRoYXQgYWJpbGl0eSBvciBzaW1wbHkgd3JpdGUgdG8gdGhlIGV4aXN0aW5nCitUcmFjZTIgdGFyZ2V0cyAoYW5kIGNvbnZlcnQgPGtleT4gdG8gYSAiY2F0ZWdvcnkiKS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS10cmVlLXdhbGtpbmcudHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXRyZWUtd2Fsa2luZy50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJkZTE4NjIuLjAwMDAwMDAKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLXRyZWUtd2Fsa2luZy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNDcgKzAsMCBAQAotdHJlZSB3YWxraW5nIEFQSQotPT09PT09PT09PT09PT09PQotCi1UaGUgdHJlZSB3YWxraW5nIEFQSSBpcyB1c2VkIHRvIHRyYXZlcnNlIGFuZCBpbnNwZWN0IHRyZWVzLgotCi1EYXRhIFN0cnVjdHVyZXMKLS0tLS0tLS0tLS0tLS0tLQotCi1gc3RydWN0IG5hbWVfZW50cnlgOjoKLQotCUFuIGVudHJ5IGluIGEgdHJlZS4gRWFjaCBlbnRyeSBoYXMgYSBzaGExIGlkZW50aWZpZXIsIHBhdGhuYW1lLCBhbmQKLQltb2RlLgotCi1gc3RydWN0IHRyZWVfZGVzY2A6OgotCi0JQSBzZW1pLW9wYXF1ZSBkYXRhIHN0cnVjdHVyZSB1c2VkIHRvIG1haW50YWluIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZQotCXdhbGsuCi0rCi0qIGBidWZmZXJgIGlzIGEgcG9pbnRlciBpbnRvIHRoZSBtZW1vcnkgcmVwcmVzZW50YXRpb24gb2YgdGhlIHRyZWUuIEl0IGFsd2F5cwotcG9pbnRzIGF0IHRoZSBjdXJyZW50IGVudHJ5IGJlaW5nIHZpc2l0ZWQuCi0KLSogYHNpemVgIGNvdW50cyB0aGUgbnVtYmVyIG9mIGJ5dGVzIGxlZnQgaW4gdGhlIGBidWZmZXJgLgotCi0qIGBlbnRyeWAgcG9pbnRzIHRvIHRoZSBjdXJyZW50IGVudHJ5IGJlaW5nIHZpc2l0ZWQuCi0KLWBzdHJ1Y3QgdHJhdmVyc2VfaW5mb2A6OgotCi0JQSBzdHJ1Y3R1cmUgdXNlZCB0byBtYWludGFpbiB0aGUgc3RhdGUgb2YgYSB0cmF2ZXJzYWwuCi0rCi0qIGBwcmV2YCBwb2ludHMgdG8gdGhlIHRyYXZlcnNlX2luZm8gd2hpY2ggd2FzIHVzZWQgdG8gZGVzY2VuZCBpbnRvIHRoZQotY3VycmVudCB0cmVlLiBJZiB0aGlzIGlzIHRoZSB0b3AtbGV2ZWwgdHJlZSBgcHJldmAgd2lsbCBwb2ludCB0bwotYSBkdW1teSB0cmF2ZXJzZV9pbmZvLgotCi0qIGBuYW1lYCBpcyB0aGUgZW50cnkgZm9yIHRoZSBjdXJyZW50IHRyZWUgKGlmIHRoZSB0cmVlIGlzIGEgc3VidHJlZSkuCi0KLSogYHBhdGhsZW5gIGlzIHRoZSBsZW5ndGggb2YgdGhlIGZ1bGwgcGF0aCBmb3IgdGhlIGN1cnJlbnQgdHJlZS4KLQotKiBgY29uZmxpY3RzYCBjYW4gYmUgdXNlZCBieSBjYWxsYmFja3MgdG8gbWFpbnRhaW4gZGlyZWN0b3J5LWZpbGUgY29uZmxpY3RzLgotCi0qIGBmbmAgaXMgYSBjYWxsYmFjayBjYWxsZWQgZm9yIGVhY2ggZW50cnkgaW4gdGhlIHRyZWUuIFNlZSBUcmF2ZXJzaW5nIGZvciBtb3JlCi1pbmZvcm1hdGlvbi4KLQotKiBgZGF0YWAgY2FuIGJlIGFueXRoaW5nIHRoZSBgZm5gIGNhbGxiYWNrIHdvdWxkIHdhbnQgdG8gdXNlLgotCi0qIGBzaG93X2FsbF9lcnJvcnNgIHRlbGxzIHdoZXRoZXIgdG8gc3RvcCBhdCB0aGUgZmlyc3QgZXJyb3Igb3Igbm90LgotCi1Jbml0aWFsaXppbmcKLS0tLS0tLS0tLS0tLQotCi1gaW5pdF90cmVlX2Rlc2NgOjoKLQotCUluaXRpYWxpemUgYSBgdHJlZV9kZXNjYCBhbmQgZGVjb2RlIGl0cyBmaXJzdCBlbnRyeS4gVGhlIGJ1ZmZlciBhbmQKLQlzaXplIHBhcmFtZXRlcnMgYXJlIGFzc3VtZWQgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIGJ1ZmZlciBhbmQgc2l6ZQotCW1lbWJlcnMgb2YgYHN0cnVjdCB0cmVlYC4KLQotYGZpbGxfdHJlZV9kZXNjcmlwdG9yYDo6Ci0KLQlJbml0aWFsaXplIGEgYHRyZWVfZGVzY2AgYW5kIGRlY29kZSBpdHMgZmlyc3QgZW50cnkgZ2l2ZW4gdGhlCi0Jb2JqZWN0IElEIG9mIGEgdHJlZS4gUmV0dXJucyB0aGUgYGJ1ZmZlcmAgbWVtYmVyIGlmIHRoZSBsYXR0ZXIKLQlpcyBhIHZhbGlkIHRyZWUgaWRlbnRpZmllciBhbmQgTlVMTCBvdGhlcndpc2UuCi0KLWBzZXR1cF90cmF2ZXJzZV9pbmZvYDo6Ci0KLQlJbml0aWFsaXplIGEgYHRyYXZlcnNlX2luZm9gIGdpdmVuIHRoZSBwYXRobmFtZSBvZiB0aGUgdHJlZSB0byBzdGFydAotCXRyYXZlcnNpbmcgZnJvbS4gVGhlIGBiYXNlYCBhcmd1bWVudCBpcyBhc3N1bWVkIHRvIGJlIHRoZSBgcGF0aGAKLQltZW1iZXIgb2YgdGhlIGBuYW1lX2VudHJ5YCBiZWluZyByZWN1cnNlZCBpbnRvIHVubGVzcyB0aGUgdHJlZSBpcyBhCi0JdG9wLWxldmVsIHRyZWUgaW4gd2hpY2ggY2FzZSB0aGUgZW1wdHkgc3RyaW5nICgiIikgaXMgdXNlZC4KLQotV2Fsa2luZwotLS0tLS0tLQotCi1gdHJlZV9lbnRyeWA6OgotCi0JVmlzaXQgdGhlIG5leHQgZW50cnkgaW4gYSB0cmVlLiBSZXR1cm5zIDEgd2hlbiB0aGVyZSBhcmUgbW9yZSBlbnRyaWVzCi0JbGVmdCB0byB2aXNpdCBhbmQgMCB3aGVuIGFsbCBlbnRyaWVzIGhhdmUgYmVlbiB2aXNpdGVkLiBUaGlzIGlzCi0JY29tbW9ubHkgdXNlZCBpbiB0aGUgdGVzdCBvZiBhIHdoaWxlIGxvb3AuCi0KLWB0cmVlX2VudHJ5X2xlbmA6OgotCi0JQ2FsY3VsYXRlIHRoZSBsZW5ndGggb2YgYSB0cmVlIGVudHJ5J3MgcGF0aG5hbWUuIFRoaXMgdXRpbGl6ZXMgdGhlCi0JbWVtb3J5IHN0cnVjdHVyZSBvZiBhIHRyZWUgZW50cnkgdG8gYXZvaWQgdGhlIG92ZXJoZWFkIG9mIHVzaW5nIGEKLQlnZW5lcmljIHN0cmxlbigpLgotCi1gdXBkYXRlX3RyZWVfZW50cnlgOjoKLQotCVdhbGsgdG8gdGhlIG5leHQgZW50cnkgaW4gYSB0cmVlLiBUaGlzIGlzIGNvbW1vbmx5IHVzZWQgaW4gY29uanVuY3Rpb24KLQl3aXRoIGB0cmVlX2VudHJ5X2V4dHJhY3RgIHRvIGluc3BlY3QgdGhlIGN1cnJlbnQgZW50cnkuCi0KLWB0cmVlX2VudHJ5X2V4dHJhY3RgOjoKLQotCURlY29kZSB0aGUgZW50cnkgY3VycmVudGx5IGJlaW5nIHZpc2l0ZWQgKHRoZSBvbmUgcG9pbnRlZCB0byBieQotCWB0cmVlX2Rlc2Mnc2AgYGVudHJ5YCBtZW1iZXIpIGFuZCByZXR1cm4gdGhlIHNoYTEgb2YgdGhlIGVudHJ5LiBUaGUKLQlgcGF0aHBgIGFuZCBgbW9kZXBgIGFyZ3VtZW50cyBhcmUgc2V0IHRvIHRoZSBlbnRyeSdzIHBhdGhuYW1lIGFuZCBtb2RlCi0JcmVzcGVjdGl2ZWx5LgotCi1gZ2V0X3RyZWVfZW50cnlgOjoKLQotCUZpbmQgYW4gZW50cnkgaW4gYSB0cmVlIGdpdmVuIGEgcGF0aG5hbWUgYW5kIHRoZSBzaGExIG9mIGEgdHJlZSB0bwotCXNlYXJjaC4gUmV0dXJucyAwIGlmIHRoZSBlbnRyeSBpcyBmb3VuZCBhbmQgLTEgb3RoZXJ3aXNlLiBUaGUgdGhpcmQKLQlhbmQgZm91cnRoIHBhcmFtZXRlcnMgYXJlIHNldCB0byB0aGUgZW50cnkncyBzaGExIGFuZCBtb2RlCi0JcmVzcGVjdGl2ZWx5LgotCi1UcmF2ZXJzaW5nCi0tLS0tLS0tLS0tCi0KLWB0cmF2ZXJzZV90cmVlc2A6OgotCi0JVHJhdmVyc2UgYG5gIG51bWJlciBvZiB0cmVlcyBpbiBwYXJhbGxlbC4gVGhlIGBmbmAgY2FsbGJhY2sgbWVtYmVyIG9mCi0JYHRyYXZlcnNlX2luZm9gIGlzIGNhbGxlZCBvbmNlIGZvciBlYWNoIHRyZWUgZW50cnkuCi0KLWB0cmF2ZXJzZV9jYWxsYmFja190YDo6Ci0JVGhlIGFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIHRyYXZlcnNlIGNhbGxiYWNrIGFyZSBhcyBmb2xsb3dzOgotKwotKiBgbmAgY291bnRzIHRoZSBudW1iZXIgb2YgdHJlZXMgYmVpbmcgdHJhdmVyc2VkLgotCi0qIGBtYXNrYCBoYXMgaXRzIG50aCBiaXQgc2V0IGlmIHNvbWV0aGluZyBleGlzdHMgaW4gdGhlIG50aCBlbnRyeS4KLQotKiBgZGlybWFza2AgaGFzIGl0cyBudGggYml0IHNldCBpZiB0aGUgbnRoIHRyZWUncyBlbnRyeSBpcyBhIGRpcmVjdG9yeS4KLQotKiBgZW50cnlgIGlzIGFuIGFycmF5IG9mIHNpemUgYG5gIHdoZXJlIHRoZSBudGggZW50cnkgaXMgZnJvbSB0aGUgbnRoIHRyZWUuCi0KLSogYGluZm9gIG1haW50YWlucyB0aGUgc3RhdGUgb2YgdGhlIHRyYXZlcnNhbC4KLQotKwotUmV0dXJuaW5nIGEgbmVnYXRpdmUgdmFsdWUgd2lsbCB0ZXJtaW5hdGUgdGhlIHRyYXZlcnNhbC4gT3RoZXJ3aXNlIHRoZQotcmV0dXJuIHZhbHVlIGlzIHRyZWF0ZWQgYXMgYW4gdXBkYXRlIG1hc2suIElmIHRoZSBudGggYml0IGlzIHNldCB0aGUgbnRoIHRyZWUKLXdpbGwgYmUgdXBkYXRlZCBhbmQgaWYgdGhlIGJpdCBpcyBub3Qgc2V0IHRoZSBudGggdHJlZSBlbnRyeSB3aWxsIGJlIHRoZQotc2FtZSBpbiB0aGUgbmV4dCBjYWxsYmFjayBpbnZvY2F0aW9uLgotCi1gbWFrZV90cmF2ZXJzZV9wYXRoYDo6Ci0KLQlHZW5lcmF0ZSB0aGUgZnVsbCBwYXRobmFtZSBvZiBhIHRyZWUgZW50cnkgYmFzZWQgZnJvbSB0aGUgcm9vdCBvZiB0aGUKLQl0cmF2ZXJzYWwuIEZvciBleGFtcGxlLCBpZiB0aGUgdHJhdmVyc2FsIGhhcyByZWN1cnNlZCBpbnRvIGFub3RoZXIKLQl0cmVlIG5hbWVkICJiYXIiIHRoZSBwYXRobmFtZSBvZiBhbiBlbnRyeSAiYmF6IiBpbiB0aGUgImJhciIKLQl0cmVlIHdvdWxkIGJlICJiYXIvYmF6Ii4KLQotYHRyYXZlcnNlX3BhdGhfbGVuYDo6Ci0KLQlDYWxjdWxhdGUgdGhlIGxlbmd0aCBvZiBhIHBhdGhuYW1lIHJldHVybmVkIGJ5IGBtYWtlX3RyYXZlcnNlX3BhdGhgLgotCVRoaXMgdXRpbGl6ZXMgdGhlIG1lbW9yeSBzdHJ1Y3R1cmUgb2YgYSB0cmVlIGVudHJ5IHRvIGF2b2lkIHRoZQotCW92ZXJoZWFkIG9mIHVzaW5nIGEgZ2VuZXJpYyBzdHJsZW4oKS4KLQotQXV0aG9ycwotLS0tLS0tLQotCi1Xcml0dGVuIGJ5IEp1bmlvIEMgSGFtYW5vIDxnaXRzdGVyQHBvYm94LmNvbT4gYW5kIExpbnVzIFRvcnZhbGRzCi08dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGkteGRpZmYtaW50ZXJmYWNlLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS14ZGlmZi1pbnRlcmZhY2UudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2Mjk2ZWNhLi4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS14ZGlmZi1pbnRlcmZhY2UudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi14ZGlmZiBpbnRlcmZhY2UgQVBJCi09PT09PT09PT09PT09PT09PT09Ci0KLVRhbGsgYWJvdXQgb3VyIGNhbGxpbmcgY29udmVudGlvbiB0byB4ZGlmZiBsaWJyYXJ5LCBpbmNsdWRpbmcKLXhkaWZmX2VtaXRfY29uc3VtZV9mbi4KLQotKERzY2hvLCBKQykKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2J1bmRsZS1mb3JtYXQudHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYnVuZGxlLWZvcm1hdC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGU4MjgxNQotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2J1bmRsZS1mb3JtYXQudHh0CkBAIC0wLDAgKzEsNDggQEAKKz0gR2l0IGJ1bmRsZSB2MiBmb3JtYXQKKworVGhlIEdpdCBidW5kbGUgZm9ybWF0IGlzIGEgZm9ybWF0IHRoYXQgcmVwcmVzZW50cyBib3RoIHJlZnMgYW5kIEdpdCBvYmplY3RzLgorCis9PSBGb3JtYXQKKworV2Ugd2lsbCB1c2UgQUJORiBub3RhdGlvbiB0byBkZWZpbmUgdGhlIEdpdCBidW5kbGUgZm9ybWF0LiBTZWUKK3Byb3RvY29sLWNvbW1vbi50eHQgZm9yIHRoZSBkZXRhaWxzLgorCistLS0tCitidW5kbGUgICAgPSBzaWduYXR1cmUgKnByZXJlcXVpc2l0ZSAqcmVmZXJlbmNlIExGIHBhY2sKK3NpZ25hdHVyZSA9ICIjIHYyIGdpdCBidW5kbGUiIExGCisKK3ByZXJlcXVpc2l0ZSA9ICItIiBvYmotaWQgU1AgY29tbWVudCBMRgorY29tbWVudCAgICAgID0gKkNIQVIKK3JlZmVyZW5jZSAgICA9IG9iai1pZCBTUCByZWZuYW1lIExGCisKK3BhY2sgICAgICAgICA9IC4uLiA7IHBhY2tmaWxlCistLS0tCisKKz09IFNlbWFudGljcworCitBIEdpdCBidW5kbGUgY29uc2lzdHMgb2YgdGhyZWUgcGFydHMuCisKKyogIlByZXJlcXVpc2l0ZXMiIGxpc3RzIHRoZSBvYmplY3RzIHRoYXQgYXJlIE5PVCBpbmNsdWRlZCBpbiB0aGUgYnVuZGxlIGFuZCB0aGUKKyAgcmVhZGVyIG9mIHRoZSBidW5kbGUgTVVTVCBhbHJlYWR5IGhhdmUsIGluIG9yZGVyIHRvIHVzZSB0aGUgZGF0YSBpbiB0aGUKKyAgYnVuZGxlLiBUaGUgb2JqZWN0cyBzdG9yZWQgaW4gdGhlIGJ1bmRsZSBtYXkgcmVmZXIgdG8gcHJlcmVxdWlzaXRlIG9iamVjdHMgYW5kCisgIGFueXRoaW5nIHJlYWNoYWJsZSBmcm9tIHRoZW0gKGUuZy4gYSB0cmVlIG9iamVjdCBpbiB0aGUgYnVuZGxlIGNhbiByZWZlcmVuY2UKKyAgYSBibG9iIHRoYXQgaXMgcmVhY2hhYmxlIGZyb20gYSBwcmVyZXF1aXNpdGUpIGFuZC9vciBleHByZXNzZWQgYXMgYSBkZWx0YQorICBhZ2FpbnN0IHByZXJlcXVpc2l0ZSBvYmplY3RzLgorCisqICJSZWZlcmVuY2VzIiByZWNvcmQgdGhlIHRpcHMgb2YgdGhlIGhpc3RvcnkgZ3JhcGgsIGlvdywgd2hhdCB0aGUgcmVhZGVyIG9mIHRoZQorICBidW5kbGUgQ0FOICJnaXQgZmV0Y2giIGZyb20gaXQuCisKKyogIlBhY2siIGlzIHRoZSBwYWNrIGRhdGEgc3RyZWFtICJnaXQgZmV0Y2giIHdvdWxkIHNlbmQsIGlmIHlvdSBmZXRjaCBmcm9tIGEKKyAgcmVwb3NpdG9yeSB0aGF0IGhhcyB0aGUgcmVmZXJlbmNlcyByZWNvcmRlZCBpbiB0aGUgIlJlZmVyZW5jZXMiIGFib3ZlIGludG8gYQorICByZXBvc2l0b3J5IHRoYXQgaGFzIHJlZmVyZW5jZXMgcG9pbnRpbmcgYXQgdGhlIG9iamVjdHMgbGlzdGVkIGluCisgICJQcmVyZXF1aXNpdGVzIiBhYm92ZS4KKworSW4gdGhlIGJ1bmRsZSBmb3JtYXQsIHRoZXJlIGNhbiBiZSBhIGNvbW1lbnQgZm9sbG93aW5nIGEgcHJlcmVxdWlzaXRlIG9iai1pZC4KK1RoaXMgaXMgYSBjb21tZW50IGFuZCBpdCBoYXMgbm8gc3BlY2lmaWMgbWVhbmluZy4gVGhlIHdyaXRlciBvZiB0aGUgYnVuZGxlIE1BWQorcHV0IGFueSBzdHJpbmcgaGVyZS4gVGhlIHJlYWRlciBvZiB0aGUgYnVuZGxlIE1VU1QgaWdub3JlIHRoZSBjb21tZW50LgorCis9PT0gTm90ZSBvbiB0aGUgc2hhbGxvdyBjbG9uZSBhbmQgYSBHaXQgYnVuZGxlCisKK05vdGUgdGhhdCB0aGUgcHJlcmVxdWlzaXRlcyBkb2VzIG5vdCByZXByZXNlbnQgYSBzaGFsbG93LWNsb25lIGJvdW5kYXJ5LiBUaGUKK3NlbWFudGljcyBvZiB0aGUgcHJlcmVxdWlzaXRlcyBhbmQgdGhlIHNoYWxsb3ctY2xvbmUgYm91bmRhcmllcyBhcmUgZGlmZmVyZW50LAorYW5kIHRoZSBHaXQgYnVuZGxlIHYyIGZvcm1hdCBjYW5ub3QgcmVwcmVzZW50IGEgc2hhbGxvdyBjbG9uZSByZXBvc2l0b3J5LgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvY29tbWl0LWdyYXBoLWZvcm1hdC50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9jb21taXQtZ3JhcGgtZm9ybWF0LnR4dAppbmRleCBjYzA0NzRiLi5hNGYxNzQ0IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9jb21taXQtZ3JhcGgtZm9ybWF0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9jb21taXQtZ3JhcGgtZm9ybWF0LnR4dApAQCAtNDQsOCArNDQsOSBAQAogCiAgIDEtYnl0ZSBudW1iZXIgKEMpIG9mICJjaHVua3MiCiAKLSAgMS1ieXRlIChyZXNlcnZlZCBmb3IgbGF0ZXIgdXNlKQotICAgICBDdXJyZW50IGNsaWVudHMgc2hvdWxkIGlnbm9yZSB0aGlzIHZhbHVlLgorICAxLWJ5dGUgbnVtYmVyIChCKSBvZiBiYXNlIGNvbW1pdC1ncmFwaHMKKyAgICAgIFdlIGluZmVyIHRoZSBsZW5ndGggKEgqQikgb2YgdGhlIEJhc2UgR3JhcGhzIGNodW5rCisgICAgICBmcm9tIHRoaXMgdmFsdWUuCiAKIENIVU5LIExPT0tVUDoKIApAQCAtNzYsNyArNzcsNyBAQAogICAgICAgb2YgdGhlIGl0aCBjb21taXQuIFN0b3JlcyB2YWx1ZSAweDcwMDAwMDAgaWYgbm8gcGFyZW50IGluIHRoYXQKICAgICAgIHBvc2l0aW9uLiBJZiB0aGVyZSBhcmUgbW9yZSB0aGFuIHR3byBwYXJlbnRzLCB0aGUgc2Vjb25kIHZhbHVlCiAgICAgICBoYXMgaXRzIG1vc3Qtc2lnbmlmaWNhbnQgYml0IG9uIGFuZCB0aGUgb3RoZXIgYml0cyBzdG9yZSBhbiBhcnJheQotICAgICAgcG9zaXRpb24gaW50byB0aGUgTGFyZ2UgRWRnZSBMaXN0IGNodW5rLgorICAgICAgcG9zaXRpb24gaW50byB0aGUgRXh0cmEgRWRnZSBMaXN0IGNodW5rLgogICAgICogVGhlIG5leHQgOCBieXRlcyBzdG9yZSB0aGUgZ2VuZXJhdGlvbiBudW1iZXIgb2YgdGhlIGNvbW1pdCBhbmQKICAgICAgIHRoZSBjb21taXQgdGltZSBpbiBzZWNvbmRzIHNpbmNlIEVQT0NILiBUaGUgZ2VuZXJhdGlvbiBudW1iZXIKICAgICAgIHVzZXMgdGhlIGhpZ2hlciAzMCBiaXRzIG9mIHRoZSBmaXJzdCA0IGJ5dGVzLCB3aGlsZSB0aGUgY29tbWl0CkBAIC04NCw3ICs4NSw3IEBACiAgICAgICAyIGJpdHMgb2YgdGhlIGxvd2VzdCBieXRlLCBzdG9yaW5nIHRoZSAzM3JkIGFuZCAzNHRoIGJpdCBvZiB0aGUKICAgICAgIGNvbW1pdCB0aW1lLgogCi0gIExhcmdlIEVkZ2UgTGlzdCAoSUQ6IHsnRScsICdEJywgJ0cnLCAnRSd9KSBbT3B0aW9uYWxdCisgIEV4dHJhIEVkZ2UgTGlzdCAoSUQ6IHsnRScsICdEJywgJ0cnLCAnRSd9KSBbT3B0aW9uYWxdCiAgICAgICBUaGlzIGxpc3Qgb2YgNC1ieXRlIHZhbHVlcyBzdG9yZSB0aGUgc2Vjb25kIHRocm91Z2ggbnRoIHBhcmVudHMgZm9yCiAgICAgICBhbGwgb2N0b3B1cyBtZXJnZXMuIFRoZSBzZWNvbmQgcGFyZW50IHZhbHVlIGluIHRoZSBjb21taXQgZGF0YSBzdG9yZXMKICAgICAgIGFuIGFycmF5IHBvc2l0aW9uIHdpdGhpbiB0aGlzIGxpc3QgYWxvbmcgd2l0aCB0aGUgbW9zdC1zaWduaWZpY2FudCBiaXQKQEAgLTkyLDYgKzkzLDEyIEBACiAgICAgICBwb3NpdGlvbnMgZm9yIHRoZSBwYXJlbnRzIHVudGlsIHJlYWNoaW5nIGEgdmFsdWUgd2l0aCB0aGUgbW9zdC1zaWduaWZpY2FudAogICAgICAgYml0IG9uLiBUaGUgb3RoZXIgYml0cyBjb3JyZXNwb25kIHRvIHRoZSBwb3NpdGlvbiBvZiB0aGUgbGFzdCBwYXJlbnQuCiAKKyAgQmFzZSBHcmFwaHMgTGlzdCAoSUQ6IHsnQicsICdBJywgJ1MnLCAnRSd9KSBbT3B0aW9uYWxdCisgICAgICBUaGlzIGxpc3Qgb2YgSC1ieXRlIGhhc2hlcyBkZXNjcmliZSBhIHNldCBvZiBCIGNvbW1pdC1ncmFwaCBmaWxlcyB0aGF0CisgICAgICBmb3JtIGEgY29tbWl0LWdyYXBoIGNoYWluLiBUaGUgZ3JhcGggcG9zaXRpb24gZm9yIHRoZSBpdGggY29tbWl0IGluIHRoaXMKKyAgICAgIGZpbGUncyBPSUQgTG9va3VwIGNodW5rIGlzIGVxdWFsIHRvIGkgcGx1cyB0aGUgbnVtYmVyIG9mIGNvbW1pdHMgaW4gYWxsCisgICAgICBiYXNlIGdyYXBocy4gIElmIEIgaXMgbm9uLXplcm8sIHRoaXMgY2h1bmsgbXVzdCBleGlzdC4KKwogVFJBSUxFUjoKIAogCUgtYnl0ZSBIQVNILWNoZWNrc3VtIG9mIGFsbCBvZiB0aGUgYWJvdmUuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9jb21taXQtZ3JhcGgudHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvY29tbWl0LWdyYXBoLnR4dAppbmRleCA3ODA1YjA5Li44MDhmYTMwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9jb21taXQtZ3JhcGgudHh0CisrKyBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2NvbW1pdC1ncmFwaC50eHQKQEAgLTIyLDExICsyMiwxMSBAQAogZGlyZWN0b3J5IG9mIGFuIGFsdGVybmF0ZS4KIAogVGhlIGNvbW1pdC1ncmFwaCBmaWxlIHN0b3JlcyB0aGUgY29tbWl0IGdyYXBoIHN0cnVjdHVyZSBhbG9uZyB3aXRoIHNvbWUKLWV4dHJhIG1ldGFkYXRhIHRvIHNwZWVkIHVwIGdyYXBoIHdhbGtzLiBCeSBsaXN0aW5nIGNvbW1pdCBPSURzIGluIGxleGktCi1jb2dyYXBoaWMgb3JkZXIsIHdlIGNhbiBpZGVudGlmeSBhbiBpbnRlZ2VyIHBvc2l0aW9uIGZvciBlYWNoIGNvbW1pdCBhbmQKLXJlZmVyIHRvIHRoZSBwYXJlbnRzIG9mIGEgY29tbWl0IHVzaW5nIHRob3NlIGludGVnZXIgcG9zaXRpb25zLiBXZSB1c2UKLWJpbmFyeSBzZWFyY2ggdG8gZmluZCBpbml0aWFsIGNvbW1pdHMgYW5kIHRoZW4gdXNlIHRoZSBpbnRlZ2VyIHBvc2l0aW9ucwotZm9yIGZhc3QgbG9va3VwcyBkdXJpbmcgdGhlIHdhbGsuCitleHRyYSBtZXRhZGF0YSB0byBzcGVlZCB1cCBncmFwaCB3YWxrcy4gQnkgbGlzdGluZyBjb21taXQgT0lEcyBpbgorbGV4aWNvZ3JhcGhpYyBvcmRlciwgd2UgY2FuIGlkZW50aWZ5IGFuIGludGVnZXIgcG9zaXRpb24gZm9yIGVhY2ggY29tbWl0CithbmQgcmVmZXIgdG8gdGhlIHBhcmVudHMgb2YgYSBjb21taXQgdXNpbmcgdGhvc2UgaW50ZWdlciBwb3NpdGlvbnMuIFdlCit1c2UgYmluYXJ5IHNlYXJjaCB0byBmaW5kIGluaXRpYWwgY29tbWl0cyBhbmQgdGhlbiB1c2UgdGhlIGludGVnZXIKK3Bvc2l0aW9ucyBmb3IgZmFzdCBsb29rdXBzIGR1cmluZyB0aGUgd2Fsay4KIAogQSBjb25zdW1lciBtYXkgbG9hZCB0aGUgZm9sbG93aW5nIGluZm8gZm9yIGEgY29tbWl0IGZyb20gdGhlIGdyYXBoOgogCkBAIC04NSw3ICs4NSw3IEBACiBTaW5jZSB0aGUgY29tbWl0LWdyYXBoIGZpbGUgaXMgY2xvc2VkIHVuZGVyIHJlYWNoYWJpbGl0eSwgd2UgY2FuIGd1YXJhbnRlZQogdGhlIGZvbGxvd2luZyB3ZWFrZXIgY29uZGl0aW9uIG9uIGFsbCBjb21taXRzOgogCi0gICAgSWYgQSBhbmQgQiBhcmUgY29tbWl0cyB3aXRoIGdlbmVyYXRpb24gbnVtYmVycyBOIGFtZCBNLCByZXNwZWN0aXZlbHksCisgICAgSWYgQSBhbmQgQiBhcmUgY29tbWl0cyB3aXRoIGdlbmVyYXRpb24gbnVtYmVycyBOIGFuZCBNLCByZXNwZWN0aXZlbHksCiAgICAgYW5kIE4gPCBNLCB0aGVuIEEgY2Fubm90IHJlYWNoIEIuCiAKIE5vdGUgaG93IHRoZSBzdHJpY3QgaW5lcXVhbGl0eSBkaWZmZXJzIGZyb20gdGhlIGluZXF1YWxpdHkgd2hlbiB3ZSBoYXZlCkBAIC0xMjcsMzYgKzEyNywyMTAgQEAKICAgaGVscGZ1bCBmb3IgdGhlc2UgY2xvbmVzLCBhbnl3YXkuIFRoZSBjb21taXQtZ3JhcGggd2lsbCBub3QgYmUgcmVhZCBvcgogICB3cml0dGVuIHdoZW4gc2hhbGxvdyBjb21taXRzIGFyZSBwcmVzZW50LgogCi1GdXR1cmUgV29yawotLS0tLS0tLS0tLS0KK0NvbW1pdCBHcmFwaHMgQ2hhaW5zCistLS0tLS0tLS0tLS0tLS0tLS0tLQogCi0tIEFmdGVyIGNvbXB1dGluZyBhbmQgc3RvcmluZyBnZW5lcmF0aW9uIG51bWJlcnMsIHdlIG11c3QgbWFrZSBncmFwaAotICB3YWxrcyBhd2FyZSBvZiBnZW5lcmF0aW9uIG51bWJlcnMgdG8gZ2FpbiB0aGUgcGVyZm9ybWFuY2UgYmVuZWZpdHMgdGhleQotICBlbmFibGUuIFRoaXMgd2lsbCBtb3N0bHkgYmUgYWNjb21wbGlzaGVkIGJ5IHN3YXBwaW5nIGEgY29tbWl0LWRhdGUtb3JkZXJlZAotICBwcmlvcml0eSBxdWV1ZSB3aXRoIG9uZSBvcmRlcmVkIGJ5IGdlbmVyYXRpb24gbnVtYmVyLiBUaGUgZm9sbG93aW5nCi0gIG9wZXJhdGlvbnMgYXJlIGltcG9ydGFudCBjYW5kaWRhdGVzOgorVHlwaWNhbGx5LCByZXBvcyBncm93IHdpdGggbmVhci1jb25zdGFudCB2ZWxvY2l0eSAoY29tbWl0cyBwZXIgZGF5KS4gT3ZlciB0aW1lLAordGhlIG51bWJlciBvZiBjb21taXRzIGFkZGVkIGJ5IGEgZmV0Y2ggb3BlcmF0aW9uIGlzIG11Y2ggc21hbGxlciB0aGFuIHRoZQorbnVtYmVyIG9mIGNvbW1pdHMgaW4gdGhlIGZ1bGwgaGlzdG9yeS4gQnkgY3JlYXRpbmcgYSAiY2hhaW4iIG9mIGNvbW1pdC1ncmFwaHMsCit3ZSBlbmFibGUgZmFzdCB3cml0ZXMgb2YgbmV3IGNvbW1pdCBkYXRhIHdpdGhvdXQgcmV3cml0aW5nIHRoZSBlbnRpcmUgY29tbWl0CitoaXN0b3J5IC0tIGF0IGxlYXN0LCBtb3N0IG9mIHRoZSB0aW1lLgogCi0gICAgLSAnbG9nIC0tdG9wby1vcmRlcicKLSAgICAtICd0YWcgLS1tZXJnZWQnCisjIyBGaWxlIExheW91dAogCi0tIEEgc2VydmVyIGNvdWxkIHByb3ZpZGUgYSBjb21taXQtZ3JhcGggZmlsZSBhcyBwYXJ0IG9mIHRoZSBuZXR3b3JrIHByb3RvY29sCi0gIHRvIGF2b2lkIGV4dHJhIGNhbGN1bGF0aW9ucyBieSBjbGllbnRzLiBUaGlzIGZlYXR1cmUgaXMgb25seSBvZiBiZW5lZml0IGlmCi0gIHRoZSB1c2VyIGlzIHdpbGxpbmcgdG8gdHJ1c3QgdGhlIGZpbGUsIGJlY2F1c2UgdmVyaWZ5aW5nIHRoZSBmaWxlIGlzIGNvcnJlY3QKLSAgaXMgYXMgaGFyZCBhcyBjb21wdXRpbmcgaXQgZnJvbSBzY3JhdGNoLgorQSBjb21taXQtZ3JhcGggY2hhaW4gdXNlcyBtdWx0aXBsZSBmaWxlcywgYW5kIHdlIHVzZSBhIGZpeGVkIG5hbWluZyBjb252ZW50aW9uCit0byBvcmdhbml6ZSB0aGVzZSBmaWxlcy4gRWFjaCBjb21taXQtZ3JhcGggZmlsZSBoYXMgYSBuYW1lCitgJE9CSkRJUi9pbmZvL2NvbW1pdC1ncmFwaHMvZ3JhcGgte2hhc2h9LmdyYXBoYCB3aGVyZSBge2hhc2h9YCBpcyB0aGUgaGV4LQordmFsdWVkIGhhc2ggc3RvcmVkIGluIHRoZSBmb290ZXIgb2YgdGhhdCBmaWxlICh3aGljaCBpcyBhIGhhc2ggb2YgdGhlIGZpbGUncworY29udGVudHMgYmVmb3JlIHRoYXQgaGFzaCkuIEZvciBhIGNoYWluIG9mIGNvbW1pdC1ncmFwaCBmaWxlcywgYSBwbGFpbi10ZXh0CitmaWxlIGF0IGAkT0JKRElSL2luZm8vY29tbWl0LWdyYXBocy9jb21taXQtZ3JhcGgtY2hhaW5gIGNvbnRhaW5zIHRoZQoraGFzaGVzIGZvciB0aGUgZmlsZXMgaW4gb3JkZXIgZnJvbSAibG93ZXN0IiB0byAiaGlnaGVzdCIuCisKK0ZvciBleGFtcGxlLCBpZiB0aGUgYGNvbW1pdC1ncmFwaC1jaGFpbmAgZmlsZSBjb250YWlucyB0aGUgbGluZXMKKworYGBgCisJe2hhc2gwfQorCXtoYXNoMX0KKwl7aGFzaDJ9CitgYGAKKwordGhlbiB0aGUgY29tbWl0LWdyYXBoIGNoYWluIGxvb2tzIGxpa2UgdGhlIGZvbGxvd2luZyBkaWFncmFtOgorCisgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworIHwgIGdyYXBoLXtoYXNoMn0uZ3JhcGggIHwKKyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisJICB8CisgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworIHwgICAgICAgICAgICAgICAgICAgICAgIHwKKyB8ICBncmFwaC17aGFzaDF9LmdyYXBoICB8CisgfCAgICAgICAgICAgICAgICAgICAgICAgfAorICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKwkgIHwKKyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgfCAgICAgICAgICAgICAgICAgICAgICAgfAorIHwgICAgICAgICAgICAgICAgICAgICAgIHwKKyB8ICAgICAgICAgICAgICAgICAgICAgICB8CisgfCAgZ3JhcGgte2hhc2gwfS5ncmFwaCAgfAorIHwgICAgICAgICAgICAgICAgICAgICAgIHwKKyB8ICAgICAgICAgICAgICAgICAgICAgICB8CisgfCAgICAgICAgICAgICAgICAgICAgICAgfAorICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKworTGV0IFgwIGJlIHRoZSBudW1iZXIgb2YgY29tbWl0cyBpbiBgZ3JhcGgte2hhc2gwfS5ncmFwaGAsIFgxIGJlIHRoZSBudW1iZXIgb2YKK2NvbW1pdHMgaW4gYGdyYXBoLXtoYXNoMX0uZ3JhcGhgLCBhbmQgWDIgYmUgdGhlIG51bWJlciBvZiBjb21taXRzIGluCitgZ3JhcGgte2hhc2gyfS5ncmFwaGAuIElmIGEgY29tbWl0IGFwcGVhcnMgaW4gcG9zaXRpb24gaSBpbiBgZ3JhcGgte2hhc2gyfS5ncmFwaGAsCit0aGVuIHdlIGludGVycHJldCB0aGlzIGFzIGJlaW5nIHRoZSBjb21taXQgaW4gcG9zaXRpb24gKFgwICsgWDEgKyBpKSwgYW5kIHRoYXQKK3dpbGwgYmUgdXNlZCBhcyBpdHMgImdyYXBoIHBvc2l0aW9uIi4gVGhlIGNvbW1pdHMgaW4gYGdyYXBoLXtoYXNoMn0uZ3JhcGhgIHVzZSB0aGVzZQorcG9zaXRpb25zIHRvIHJlZmVyIHRvIHRoZWlyIHBhcmVudHMsIHdoaWNoIG1heSBiZSBpbiBgZ3JhcGgte2hhc2gxfS5ncmFwaGAgb3IKK2BncmFwaC17aGFzaDB9LmdyYXBoYC4gV2UgY2FuIG5hdmlnYXRlIHRvIGFuIGFyYml0cmFyeSBjb21taXQgaW4gcG9zaXRpb24gaiBieSBjaGVja2luZworaXRzIGNvbnRhaW5tZW50IGluIHRoZSBpbnRlcnZhbHMgWzAsIFgwKSwgW1gwLCBYMCArIFgxKSwgW1gwICsgWDEsIFgwICsgWDEgKworWDIpLgorCitFYWNoIGNvbW1pdC1ncmFwaCBmaWxlIChleGNlcHQgdGhlIGJhc2UsIGBncmFwaC17aGFzaDB9LmdyYXBoYCkgY29udGFpbnMgZGF0YQorc3BlY2lmeWluZyB0aGUgaGFzaGVzIG9mIGFsbCBmaWxlcyBpbiB0aGUgbG93ZXIgbGF5ZXJzLiBJbiB0aGUgYWJvdmUgZXhhbXBsZSwKK2BncmFwaC17aGFzaDF9LmdyYXBoYCBjb250YWlucyBge2hhc2gwfWAgd2hpbGUgYGdyYXBoLXtoYXNoMn0uZ3JhcGhgIGNvbnRhaW5zCitge2hhc2gwfWAgYW5kIGB7aGFzaDF9YC4KKworIyMgTWVyZ2luZyBjb21taXQtZ3JhcGggZmlsZXMKKworSWYgd2Ugb25seSBhZGRlZCBhIG5ldyBjb21taXQtZ3JhcGggZmlsZSBvbiBldmVyeSB3cml0ZSwgd2Ugd291bGQgcnVuIGludG8gYQorbGluZWFyIHNlYXJjaCBwcm9ibGVtIHRocm91Z2ggbWFueSBjb21taXQtZ3JhcGggZmlsZXMuICBJbnN0ZWFkLCB3ZSB1c2UgYSBtZXJnZQorc3RyYXRlZ3kgdG8gZGVjaWRlIHdoZW4gdGhlIHN0YWNrIHNob3VsZCBjb2xsYXBzZSBzb21lIG51bWJlciBvZiBsZXZlbHMuCisKK1RoZSBkaWFncmFtIGJlbG93IHNob3dzIHN1Y2ggYSBjb2xsYXBzZS4gQXMgYSBzZXQgb2YgbmV3IGNvbW1pdHMgYXJlIGFkZGVkLCBpdAoraXMgZGV0ZXJtaW5lZCBieSB0aGUgbWVyZ2Ugc3RyYXRlZ3kgdGhhdCB0aGUgZmlsZXMgc2hvdWxkIGNvbGxhcHNlIHRvCitgZ3JhcGgte2hhc2gxfWAuIFRodXMsIHRoZSBuZXcgY29tbWl0cywgdGhlIGNvbW1pdHMgaW4gYGdyYXBoLXtoYXNoMn1gIGFuZAordGhlIGNvbW1pdHMgaW4gYGdyYXBoLXtoYXNoMX1gIHNob3VsZCBiZSBjb21iaW5lZCBpbnRvIGEgbmV3IGBncmFwaC17aGFzaDN9YAorZmlsZS4KKworCQkJICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisJCQkgICAgfCAgICAgICAgICAgICAgICAgICAgIHwKKwkJCSAgICB8ICAgIChuZXcgY29tbWl0cykgICAgfAorCQkJICAgIHwgICAgICAgICAgICAgICAgICAgICB8CisJCQkgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKwkJCSAgICB8ICAgICAgICAgICAgICAgICAgICAgfAorICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgfCAgZ3JhcGgte2hhc2gyfSB8LT58ICAgICAgICAgICAgICAgICAgICAgfAorICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisJICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfAorICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgfCAgICAgICAgICAgICAgICAgICAgICAgfCAgfCAgICAgICAgICAgICAgICAgICAgIHwKKyB8ICBncmFwaC17aGFzaDF9IHwtPnwgICAgICAgICAgICAgICAgICAgICB8CisgfCAgICAgICAgICAgICAgICAgICAgICAgfCAgfCAgICAgICAgICAgICAgICAgICAgIHwKKyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworCSAgfCAgICAgICAgICAgICAgICAgIHRtcF9ncmFwaFhYWAorICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyB8ICAgICAgICAgICAgICAgICAgICAgICB8CisgfCAgICAgICAgICAgICAgICAgICAgICAgfAorIHwgICAgICAgICAgICAgICAgICAgICAgIHwKKyB8ICBncmFwaC17aGFzaDB9IHwKKyB8ICAgICAgICAgICAgICAgICAgICAgICB8CisgfCAgICAgICAgICAgICAgICAgICAgICAgfAorIHwgICAgICAgICAgICAgICAgICAgICAgIHwKKyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisKK0R1cmluZyB0aGlzIHByb2Nlc3MsIHRoZSBjb21taXRzIHRvIHdyaXRlIGFyZSBjb21iaW5lZCwgc29ydGVkIGFuZCB3ZSB3cml0ZSB0aGUKK2NvbnRlbnRzIHRvIGEgdGVtcG9yYXJ5IGZpbGUsIGFsbCB3aGlsZSBob2xkaW5nIGEgYGNvbW1pdC1ncmFwaC1jaGFpbi5sb2NrYAorbG9jay1maWxlLiAgV2hlbiB0aGUgZmlsZSBpcyBmbHVzaGVkLCB3ZSByZW5hbWUgaXQgdG8gYGdyYXBoLXtoYXNoM31gCithY2NvcmRpbmcgdG8gdGhlIGNvbXB1dGVkIGB7aGFzaDN9YC4gRmluYWxseSwgd2Ugd3JpdGUgdGhlIG5ldyBjaGFpbiBkYXRhIHRvCitgY29tbWl0LWdyYXBoLWNoYWluLmxvY2tgOgorCitgYGAKKwl7aGFzaDN9CisJe2hhc2gwfQorYGBgCisKK1dlIHRoZW4gY2xvc2UgdGhlIGxvY2stZmlsZS4KKworIyMgTWVyZ2UgU3RyYXRlZ3kKKworV2hlbiB3cml0aW5nIGEgc2V0IG9mIGNvbW1pdHMgdGhhdCBkbyBub3QgZXhpc3QgaW4gdGhlIGNvbW1pdC1ncmFwaCBzdGFjayBvZgoraGVpZ2h0IE4sIHdlIGRlZmF1bHQgdG8gY3JlYXRpbmcgYSBuZXcgZmlsZSBhdCBsZXZlbCBOICsgMS4gV2UgdGhlbiBkZWNpZGUgdG8KK21lcmdlIHdpdGggdGhlIE50aCBsZXZlbCBpZiBvbmUgb2YgdHdvIGNvbmRpdGlvbnMgaG9sZDoKKworICAxLiBgLS1zaXplLW11bHRpcGxlPTxYPmAgaXMgc3BlY2lmaWVkIG9yIFggPSAyLCBhbmQgdGhlIG51bWJlciBvZiBjb21taXRzIGluCisgICAgIGxldmVsIE4gaXMgbGVzcyB0aGFuIFggdGltZXMgdGhlIG51bWJlciBvZiBjb21taXRzIGluIGxldmVsIE4gKyAxLgorCisgIDIuIGAtLW1heC1jb21taXRzPTxDPmAgaXMgc3BlY2lmaWVkIHdpdGggbm9uLXplcm8gQyBhbmQgdGhlIG51bWJlciBvZiBjb21taXRzCisgICAgIGluIGxldmVsIE4gKyAxIGlzIG1vcmUgdGhhbiBDIGNvbW1pdHMuCisKK1RoaXMgZGVjaXNpb24gY2FzY2FkZXMgZG93biB0aGUgbGV2ZWxzOiB3aGVuIHdlIG1lcmdlIGEgbGV2ZWwgd2UgY3JlYXRlIGEgbmV3CitzZXQgb2YgY29tbWl0cyB0aGF0IHRoZW4gY29tcGFyZXMgdG8gdGhlIG5leHQgbGV2ZWwuCisKK1RoZSBmaXJzdCBjb25kaXRpb24gYm91bmRzIHRoZSBudW1iZXIgb2YgbGV2ZWxzIHRvIGJlIGxvZ2FyaXRobWljIGluIHRoZSB0b3RhbAorbnVtYmVyIG9mIGNvbW1pdHMuICBUaGUgc2Vjb25kIGNvbmRpdGlvbiBib3VuZHMgdGhlIHRvdGFsIG51bWJlciBvZiBjb21taXRzIGluCithIGBncmFwaC17aGFzaE59YCBmaWxlIGFuZCBub3QgaW4gdGhlIGBjb21taXQtZ3JhcGhgIGZpbGUsIHByZXZlbnRpbmcKK3NpZ25pZmljYW50IHBlcmZvcm1hbmNlIGlzc3VlcyB3aGVuIHRoZSBzdGFjayBtZXJnZXMgYW5kIGFub3RoZXIgcHJvY2VzcyBvbmx5CitwYXJ0aWFsbHkgcmVhZHMgdGhlIHByZXZpb3VzIHN0YWNrLgorCitUaGUgbWVyZ2Ugc3RyYXRlZ3kgdmFsdWVzICgyIGZvciB0aGUgc2l6ZSBtdWx0aXBsZSwgNjQsMDAwIGZvciB0aGUgbWF4aW11bQorbnVtYmVyIG9mIGNvbW1pdHMpIGNvdWxkIGJlIGV4dHJhY3RlZCBpbnRvIGNvbmZpZyBzZXR0aW5ncyBmb3IgZnVsbAorZmxleGliaWxpdHkuCisKKyMjIERlbGV0aW5nIGdyYXBoLXtoYXNofSBmaWxlcworCitBZnRlciBhIG5ldyB0aXAgZmlsZSBpcyB3cml0dGVuLCBzb21lIGBncmFwaC17aGFzaH1gIGZpbGVzIG1heSBubyBsb25nZXIKK2JlIHBhcnQgb2YgYSBjaGFpbi4gSXQgaXMgaW1wb3J0YW50IHRvIHJlbW92ZSB0aGVzZSBmaWxlcyBmcm9tIGRpc2ssIGV2ZW50dWFsbHkuCitUaGUgbWFpbiByZWFzb24gdG8gZGVsYXkgcmVtb3ZhbCBpcyB0aGF0IGFub3RoZXIgcHJvY2VzcyBjb3VsZCByZWFkIHRoZQorYGNvbW1pdC1ncmFwaC1jaGFpbmAgZmlsZSBiZWZvcmUgaXQgaXMgcmV3cml0dGVuLCBidXQgdGhlbiBsb29rIGZvciB0aGUKK2BncmFwaC17aGFzaH1gIGZpbGVzIGFmdGVyIHRoZXkgYXJlIGRlbGV0ZWQuCisKK1RvIGFsbG93IGhvbGRpbmcgb2xkIHNwbGl0IGNvbW1pdC1ncmFwaHMgZm9yIGEgd2hpbGUgYWZ0ZXIgdGhleSBhcmUgdW5yZWZlcmVuY2VkLAord2UgdXBkYXRlIHRoZSBtb2RpZmllZCB0aW1lcyBvZiB0aGUgZmlsZXMgd2hlbiB0aGV5IGJlY29tZSB1bnJlZmVyZW5jZWQuIFRoZW4sCit3ZSBzY2FuIHRoZSBgJE9CSkRJUi9pbmZvL2NvbW1pdC1ncmFwaHMvYCBkaXJlY3RvcnkgZm9yIGBncmFwaC17aGFzaH1gCitmaWxlcyB3aG9zZSBtb2RpZmllZCB0aW1lcyBhcmUgb2xkZXIgdGhhbiBhIGdpdmVuIGV4cGlyeSB3aW5kb3cuIFRoaXMgd2luZG93CitkZWZhdWx0cyB0byB6ZXJvLCBidXQgY2FuIGJlIGNoYW5nZWQgdXNpbmcgY29tbWFuZC1saW5lIGFyZ3VtZW50cyBvciBhIGNvbmZpZworc2V0dGluZy4KKworIyMgQ2hhaW5zIGFjcm9zcyBtdWx0aXBsZSBvYmplY3QgZGlyZWN0b3JpZXMKKworSW4gYSByZXBvIHdpdGggYWx0ZXJuYXRlcywgd2UgbG9vayBmb3IgdGhlIGBjb21taXQtZ3JhcGgtY2hhaW5gIGZpbGUgc3RhcnRpbmcKK2luIHRoZSBsb2NhbCBvYmplY3QgZGlyZWN0b3J5IGFuZCB0aGVuIGluIGVhY2ggYWx0ZXJuYXRlLiBUaGUgZmlyc3QgZmlsZSB0aGF0CitleGlzdHMgZGVmaW5lcyBvdXIgY2hhaW4uIEFzIHdlIGxvb2sgZm9yIHRoZSBgZ3JhcGgte2hhc2h9YCBmaWxlcyBmb3IKK2VhY2ggYHtoYXNofWAgaW4gdGhlIGNoYWluIGZpbGUsIHdlIGZvbGxvdyB0aGUgc2FtZSBwYXR0ZXJuIGZvciB0aGUgaG9zdAorZGlyZWN0b3JpZXMuCisKK1RoaXMgYWxsb3dzIGNvbW1pdC1ncmFwaHMgdG8gYmUgc3BsaXQgYWNyb3NzIG11bHRpcGxlIGZvcmtzIGluIGEgZm9yayBuZXR3b3JrLgorVGhlIHR5cGljYWwgY2FzZSBpcyBhIGxhcmdlICJiYXNlIiByZXBvIHdpdGggbWFueSBzbWFsbGVyIGZvcmtzLgorCitBcyB0aGUgYmFzZSByZXBvIGFkdmFuY2VzLCBpdCB3aWxsIGxpa2VseSB1cGRhdGUgYW5kIG1lcmdlIGl0cyBjb21taXQtZ3JhcGgKK2NoYWluIG1vcmUgZnJlcXVlbnRseSB0aGFuIHRoZSBmb3Jrcy4gSWYgYSBmb3JrIHVwZGF0ZXMgdGhlaXIgY29tbWl0LWdyYXBoIGFmdGVyCit0aGUgYmFzZSByZXBvLCB0aGVuIGl0IHNob3VsZCAicmVwYXJlbnQiIHRoZSBjb21taXQtZ3JhcGggY2hhaW4gb250byB0aGUgbmV3CitjaGFpbiBpbiB0aGUgYmFzZSByZXBvLiBXaGVuIHJlYWRpbmcgZWFjaCBgZ3JhcGgte2hhc2h9YCBmaWxlLCB3ZSB0cmFjawordGhlIG9iamVjdCBkaXJlY3RvcnkgY29udGFpbmluZyBpdC4gRHVyaW5nIGEgd3JpdGUgb2YgYSBuZXcgY29tbWl0LWdyYXBoIGZpbGUsCit3ZSBjaGVjayBmb3IgYW55IGNoYW5nZXMgaW4gdGhlIHNvdXJjZSBvYmplY3QgZGlyZWN0b3J5IGFuZCByZWFkIHRoZQorYGNvbW1pdC1ncmFwaC1jaGFpbmAgZmlsZSBmb3IgdGhhdCBzb3VyY2UgYW5kIGNyZWF0ZSBhIG5ldyBmaWxlIGJhc2VkIG9uIHRob3NlCitmaWxlcy4gRHVyaW5nIHRoaXMgInJlcGFyZW50IiBvcGVyYXRpb24sIHdlIG5lY2Vzc2FyaWx5IG5lZWQgdG8gY29sbGFwc2UgYWxsCitsZXZlbHMgaW4gdGhlIGZvcmssIGFzIGFsbCBvZiB0aGUgZmlsZXMgYXJlIGludmFsaWQgYWdhaW5zdCB0aGUgbmV3IGJhc2UgZmlsZS4KKworSXQgaXMgY3J1Y2lhbCB0byBiZSBjYXJlZnVsIHdoZW4gY2xlYW5pbmcgdXAgInVucmVmZXJlbmNlZCIgYGdyYXBoLXtoYXNofS5ncmFwaGAKK2ZpbGVzIGluIHRoaXMgc2NlbmFyaW8uIEl0IGZhbGxzIHRvIHRoZSB1c2VyIHRvIGRlZmluZSB0aGUgcHJvcGVyIHNldHRpbmdzIGZvcgordGhlaXIgY3VzdG9tIGVudmlyb25tZW50OgorCisgMS4gV2hlbiBtZXJnaW5nIGxldmVscyBpbiB0aGUgYmFzZSByZXBvLCB0aGUgdW5yZWZlcmVuY2VkIGZpbGVzIG1heSBzdGlsbCBiZQorICAgIHJlZmVyZW5jZWQgYnkgY2hhaW5zIGZyb20gZm9yayByZXBvcy4KKworIDIuIFRoZSBleHBpcnkgdGltZSBzaG91bGQgYmUgc2V0IHRvIGEgbGVuZ3RoIG9mIHRpbWUgc3VjaCB0aGF0IGV2ZXJ5IGZvcmsgaGFzCisgICAgdGltZSB0byByZWNvbXB1dGUgdGhlaXIgY29tbWl0LWdyYXBoIGNoYWluIHRvICJyZXBhcmVudCIgb250byB0aGUgbmV3IGJhc2UKKyAgICBmaWxlKHMpLgorCisgMy4gSWYgdGhlIGNvbW1pdC1ncmFwaCBjaGFpbiBpcyB1cGRhdGVkIGluIHRoZSBiYXNlLCB0aGUgZm9yayB3aWxsIG5vdCBoYXZlCisgICAgYWNjZXNzIHRvIHRoZSBuZXcgY2hhaW4gdW50aWwgaXRzIGNoYWluIGlzIHVwZGF0ZWQgdG8gcmVmZXJlbmNlIHRob3NlIGZpbGVzLgorICAgIChUaGlzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSBbNV0uKQogCiBSZWxhdGVkIExpbmtzCiAtLS0tLS0tLS0tLS0tCiBbMF0gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2dpdC9pc3N1ZXMvZGV0YWlsP2lkPTgKICAgICBDaHJvbWl1bSB3b3JrIGl0ZW0gZm9yOiBTZXJpYWxpemVkIENvbW1pdCBHcmFwaAogCi1bMV0gaHR0cHM6Ly9wdWJsaWMtaW5ib3gub3JnL2dpdC8yMDExMDcxMzA3MDUxNy5HQzE4NTY2QHNpZ2lsbC5pbnRyYS5wZWZmLm5ldC8KK1sxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9naXQvMjAxMTA3MTMwNzA1MTcuR0MxODU2NkBzaWdpbGwuaW50cmEucGVmZi5uZXQvCiAgICAgQW4gYWJhbmRvbmVkIHBhdGNoIHRoYXQgaW50cm9kdWNlZCBnZW5lcmF0aW9uIG51bWJlcnMuCiAKLVsyXSBodHRwczovL3B1YmxpYy1pbmJveC5vcmcvZ2l0LzIwMTcwOTA4MDMzNDAzLnE3ZTZkajdiZW5hc3JqZXNAc2lnaWxsLmludHJhLnBlZmYubmV0LworWzJdIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2dpdC8yMDE3MDkwODAzMzQwMy5xN2U2ZGo3YmVuYXNyamVzQHNpZ2lsbC5pbnRyYS5wZWZmLm5ldC8KICAgICBEaXNjdXNzaW9uIGFib3V0IGdlbmVyYXRpb24gbnVtYmVycyBvbiBjb21taXRzIGFuZCBob3cgdGhleSBpbnRlcmFjdAogICAgIHdpdGggZnNjay4KIAotWzNdIGh0dHBzOi8vcHVibGljLWluYm94Lm9yZy9naXQvMjAxNzA5MDgwMzQ3MzkuNG9wM3c0ZjJtYTVzNjVrdUBzaWdpbGwuaW50cmEucGVmZi5uZXQvCitbM10gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvZ2l0LzIwMTcwOTA4MDM0NzM5LjRvcDN3NGYybWE1czY1a3VAc2lnaWxsLmludHJhLnBlZmYubmV0LwogICAgIE1vcmUgZGlzY3Vzc2lvbiBhYm91dCBnZW5lcmF0aW9uIG51bWJlcnMgYW5kIG5vdCBzdG9yaW5nIHRoZW0gaW5zaWRlCiAgICAgY29tbWl0IG9iamVjdHMuIEEgdmFsdWFibGUgcXVvdGU6CiAKQEAgLTE2OCw1ICszNDIsOSBAQAogICAgICBjb21taXQgb2JqZWN0cyAoaS5lLiwgcGFja3Y0IG9yIHNvbWV0aGluZyBsaWtlIHRoZSAibWV0YXBhY2tzIiBJCiAgICAgIHByb3Bvc2VkIGEgZmV3IHllYXJzIGFnbykuIgogCi1bNF0gaHR0cHM6Ly9wdWJsaWMtaW5ib3gub3JnL2dpdC8yMDE4MDEwODE1NDgyMi41NDgyOS0xLWdpdEBqZWZmaG9zdGV0bGVyLmNvbS9ULyN1CitbNF0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvZ2l0LzIwMTgwMTA4MTU0ODIyLjU0ODI5LTEtZ2l0QGplZmZob3N0ZXRsZXIuY29tL1QvI3UKICAgICBBIHBhdGNoIHRvIHJlbW92ZSB0aGUgYWhlYWQtYmVoaW5kIGNhbGN1bGF0aW9uIGZyb20gJ3N0YXR1cycuCisKK1s1XSBodHRwczovL2xvcmUua2VybmVsLm9yZy9naXQvZjI3ZGIyODEtYWJhZC01MDQzLTZkNzEtY2JiMDgzYjFjODc3QGdtYWlsLmNvbS8KKyAgICBBIGRpc2N1c3Npb24gb2YgYSAidHdvLWRpbWVuc2lvbmFsIGdyYXBoIHBvc2l0aW9uIiB0aGF0IGNhbiBhbGxvdyByZWFkaW5nCisgICAgbXVsdGlwbGUgY29tbWl0LWdyYXBoIGNoYWlucyBhdCB0aGUgc2FtZSB0aW1lLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvZGlyZWN0b3J5LXJlbmFtZS1kZXRlY3Rpb24udHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvZGlyZWN0b3J5LXJlbmFtZS1kZXRlY3Rpb24udHh0CmluZGV4IDFjMDA4NmUuLjg0NDYyOWMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2RpcmVjdG9yeS1yZW5hbWUtZGV0ZWN0aW9uLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9kaXJlY3RvcnktcmVuYW1lLWRldGVjdGlvbi50eHQKQEAgLTIwLDggKzIwLDggQEAKICAgKiBvbmUgc2lkZSBvZiBoaXN0b3J5IHJlbmFtZXMgeCAtPiB6LCBhbmQgdGhlIG90aGVyIHJlbmFtZXMgc29tZSBmaWxlIHRvCiAgICAgeC9lLCBjYXVzaW5nIHRoZSBuZWVkIGZvciB0aGUgbWVyZ2UgdG8gZG8gYSB0cmFuc2l0aXZlIHJlbmFtZS4KIAotICAqIG9uZSBzaWRlIG9mIGhpc3RvcnkgcmVuYW1lcyB4IC0+IHosIGJ1dCBhbHNvIHJlbmFtZXMgYWxsIGZpbGVzIHdpdGhpbgotICAgIHguICBGb3IgZXhhbXBsZSwgeC9hIC0+IHovYWxwaGEsIHgvYiAtPiB6L2JyYXZvLCBldGMuCisgICogb25lIHNpZGUgb2YgaGlzdG9yeSByZW5hbWVzIHggLT4geiwgYnV0IGFsc28gcmVuYW1lcyBhbGwgZmlsZXMgd2l0aGluIHguCisgICAgRm9yIGV4YW1wbGUsIHgvYSAtPiB6L2FscGhhLCB4L2IgLT4gei9icmF2bywgZXRjLgogCiAgICogYm90aCAneCcgYW5kICd5JyBiZWluZyBtZXJnZWQgaW50byBhIHNpbmdsZSBkaXJlY3RvcnkgJ3onLCB3aXRoIGEKICAgICBkaXJlY3RvcnkgcmVuYW1lIGJlaW5nIGRldGVjdGVkIGZvciBib3RoIHgtPnogYW5kIHktPnouCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9oYXNoLWZ1bmN0aW9uLXRyYW5zaXRpb24udHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvaGFzaC1mdW5jdGlvbi10cmFuc2l0aW9uLnR4dAppbmRleCBiYzJhY2UyLi41YjJkYjNiIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9oYXNoLWZ1bmN0aW9uLXRyYW5zaXRpb24udHh0CisrKyBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2hhc2gtZnVuY3Rpb24tdHJhbnNpdGlvbi50eHQKQEAgLTQ1Niw3ICs0NTYsNyBAQAogYmVsb3cpLiBUbyBhdm9pZCB0aGUgcmFjZSB3aGVuIHdyaXRpbmcgbmV3IG9iamVjdHMgcmVmZXJyaW5nIHRvIGFuCiBhYm91dC10by1iZS1kZWxldGVkIG9iamVjdCwgY29kZSBwYXRocyB0aGF0IHdyaXRlIG5ldyBvYmplY3RzIHdpbGwKIG5lZWQgdG8gY29weSBhbnkgb2JqZWN0cyBmcm9tIFVOUkVBQ0hBQkxFX0dBUkJBR0UgcGFja3MgdGhhdCB0aGV5Ci1yZWZlciB0byB0byBuZXcsIG5vbi1VTlJFQUNIQUJMRV9HQVJCQUdFIHBhY2tzIChvciBsb29zZSBvYmplY3RzKS4KK3JlZmVyIHRvIG5ldywgbm9uLVVOUkVBQ0hBQkxFX0dBUkJBR0UgcGFja3MgKG9yIGxvb3NlIG9iamVjdHMpLgogVU5SRUFDSEFCTEVfR0FSQkFHRSBhcmUgdGhlbiBzYWZlIHRvIGRlbGV0ZSBpZiB0aGVpciBjcmVhdGlvbiB0aW1lIChhcwogaW5kaWNhdGVkIGJ5IHRoZSBmaWxlJ3MgbXRpbWUpIGlzIGxvbmcgZW5vdWdoIGFnby4KIApAQCAtNTMxLDcgKzUzMSw3IEBACiBvbiBwdWJsaWMtZmFjaW5nIEdpdCBzZXJ2ZXJzIGlzIHN0cm9uZ2x5IGRpc2NvdXJhZ2VkLiBPbmNlIEdpdAogcHJvdG9jb2wgZ2FpbnMgU0hBLTI1NiBzdXBwb3J0LCBTSEEtMjU2IGJhc2VkIHNlcnZlcnMgYXJlIGxpa2VseSBub3QKIHRvIHN1cHBvcnQgU0hBLTEgY29tcGF0aWJpbGl0eSwgdG8gYXZvaWQgd2hhdCBtYXkgYmUgYSB2ZXJ5IGV4cGVuc2l2ZQotaGFzaCByZWVuY29kZSBkdXJpbmcgY2xvbmUgYW5kIHRvIGVuY291cmFnZSBwZWVycyB0byBtb2Rlcm5pemUuCitoYXNoIHJlLWVuY29kZSBkdXJpbmcgY2xvbmUgYW5kIHRvIGVuY291cmFnZSBwZWVycyB0byBtb2Rlcm5pemUuCiAKIFRoZSBkZXNpZ24gZGVzY3JpYmVkIGhlcmUgYWxsb3dzIGZldGNoZXMgYnkgU0hBLTEgY2xpZW50cyBvZiBhCiBwZXJzb25hbCBTSEEtMjU2IHJlcG9zaXRvcnkgYmVjYXVzZSBpdCdzIG5vdCBtdWNoIG1vcmUgZGlmZmljdWx0IHRoYW4KQEAgLTYwMiw3ICs2MDIsNyBAQAogCiBDaG9pY2Ugb2YgSGFzaAogLS0tLS0tLS0tLS0tLS0KLUluIGVhcmx5IDIwMDUsIGFyb3VuZCB0aGUgdGltZSB0aGF0IEdpdCB3YXMgd3JpdHRlbiwgIFhpYW95dW4gV2FuZywKK0luIGVhcmx5IDIwMDUsIGFyb3VuZCB0aGUgdGltZSB0aGF0IEdpdCB3YXMgd3JpdHRlbiwgWGlhb3l1biBXYW5nLAogWWlxdW4gTGlzYSBZaW4sIGFuZCBIb25nYm8gWXUgYW5ub3VuY2VkIGFuIGF0dGFjayBmaW5kaW5nIFNIQS0xCiBjb2xsaXNpb25zIGluIDJeNjkgb3BlcmF0aW9ucy4gSW4gQXVndXN0IHRoZXkgcHVibGlzaGVkIGRldGFpbHMuCiBMdWNraWx5LCBubyBwcmFjdGljYWwgZGVtb25zdHJhdGlvbnMgb2YgYSBjb2xsaXNpb24gaW4gZnVsbCBTSEEtMSB3ZXJlCkBAIC03MzAsNyArNzMwLDcgQEAKIAogVXNpbmcgaGFzaCBmdW5jdGlvbnMgaW4gcGFyYWxsZWwKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0oZS5nLiBodHRwczovL3B1YmxpYy1pbmJveC5vcmcvZ2l0LzIyNzA4Ljg5MTMuODY0MDQ5LjQ1MjI1MkBjaGlhcmsuZ3JlZW5lbmQub3JnLnVrLyApCisoZS5nLiBodHRwczovL2xvcmUua2VybmVsLm9yZy9naXQvMjI3MDguODkxMy44NjQwNDkuNDUyMjUyQGNoaWFyay5ncmVlbmVuZC5vcmcudWsvICkKIE9iamVjdHMgbmV3bHkgY3JlYXRlZCB3b3VsZCBiZSBhZGRyZXNzZWQgYnkgdGhlIG5ldyBoYXNoLCBidXQgaW5zaWRlCiBzdWNoIGFuIG9iamVjdCAoZS5nLiBjb21taXQpIGl0IGlzIHN0aWxsIHBvc3NpYmxlIHRvIGFkZHJlc3Mgb2JqZWN0cwogdXNpbmcgdGhlIG9sZCBoYXNoIGZ1bmN0aW9uLgpAQCAtNzgzLDcgKzc4Myw3IEBACiBzYmVsbGVyQGdvb2dsZS5jb20KIAogSW5pdGlhbCB2ZXJzaW9uIHNlbnQgdG8KLWh0dHA6Ly9wdWJsaWMtaW5ib3gub3JnL2dpdC8yMDE3MDMwNDAxMTI1MS5HQTI2Nzg5QGFpZWRlLm10di5jb3JwLmdvb2dsZS5jb20KK2h0dHA6Ly9sb3JlLmtlcm5lbC5vcmcvZ2l0LzIwMTcwMzA0MDExMjUxLkdBMjY3ODlAYWllZGUubXR2LmNvcnAuZ29vZ2xlLmNvbQogCiAyMDE3LTAzLTAzIGpybmllZGVyQGdtYWlsLmNvbQogSW5jb3Jwb3JhdGVkIHN1Z2dlc3Rpb25zIGZyb20gam9uYXRoYW50YW5teSBhbmQgc2JlbGxlcjoKQEAgLTgyMCw4ICs4MjAsOCBAQAogIGVkaXRzLiBUaGlzIGRvY3VtZW50IGhpc3RvcnkgaXMgbm8gbG9uZ2VyIGJlaW5nIG1haW50YWluZWQgYXMgaXQKICB3b3VsZCBub3cgYmUgc3VwZXJmbHVvdXMgdG8gdGhlIGNvbW1pdCBsb2cKIAotWzFdIGh0dHA6Ly9wdWJsaWMtaW5ib3gub3JnL2dpdC9DQSs1NWFGekp0ZWppQ2pWMGU0Mys5b1IzUXVKSzJQaUZpTFFlbXl0b0xweUpXZTZQOXdAbWFpbC5nbWFpbC5jb20vCi1bMl0gaHR0cDovL3B1YmxpYy1pbmJveC5vcmcvZ2l0L0NBKzU1YUZ6K2drQXNEWjI0em1lUFF1RXMxWFBTOUJQX3M4TzdRNHdRN0xWN1g1LW9EQUBtYWlsLmdtYWlsLmNvbS8KLVszXSBodHRwOi8vcHVibGljLWluYm94Lm9yZy9naXQvMjAxNzAzMDYwODQzNTMubnJuczQ1NWR2a2RzZmdvNUBzaWdpbGwuaW50cmEucGVmZi5uZXQvCi1bNF0gaHR0cDovL3B1YmxpYy1pbmJveC5vcmcvZ2l0LzIwMTcwMzA0MjI0OTM2LnJxcXRrZHZmamd5ZXpzaHRAZ2VucmUuY3J1c3R5dG9vdGhwYXN0ZS5uZXQKLVs1XSBodHRwczovL3B1YmxpYy1pbmJveC5vcmcvZ2l0L0NBSm89aEp0b1g5PUF5TEhIcFVKUzdmdWVWOWNpWl9NTnBuRVBIVXo4V2h1aTZnOUYwQUBtYWlsLmdtYWlsLmNvbS8KK1sxXSBodHRwOi8vbG9yZS5rZXJuZWwub3JnL2dpdC9DQSs1NWFGekp0ZWppQ2pWMGU0Mys5b1IzUXVKSzJQaUZpTFFlbXl0b0xweUpXZTZQOXdAbWFpbC5nbWFpbC5jb20vCitbMl0gaHR0cDovL2xvcmUua2VybmVsLm9yZy9naXQvQ0ErNTVhRnorZ2tBc0RaMjR6bWVQUXVFczFYUFM5QlBfczhPN1E0d1E3TFY3WDUtb0RBQG1haWwuZ21haWwuY29tLworWzNdIGh0dHA6Ly9sb3JlLmtlcm5lbC5vcmcvZ2l0LzIwMTcwMzA2MDg0MzUzLm5ybnM0NTVkdmtkc2ZnbzVAc2lnaWxsLmludHJhLnBlZmYubmV0LworWzRdIGh0dHA6Ly9sb3JlLmtlcm5lbC5vcmcvZ2l0LzIwMTcwMzA0MjI0OTM2LnJxcXRrZHZmamd5ZXpzaHRAZ2VucmUuY3J1c3R5dG9vdGhwYXN0ZS5uZXQKK1s1XSBodHRwczovL2xvcmUua2VybmVsLm9yZy9naXQvQ0FKbz1oSnRvWDk9QXlMSEhwVUpTN2Z1ZVY5Y2laX01OcG5FUEhVejhXaHVpNmc5RjBBQG1haWwuZ21haWwuY29tLwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvaW5kZXgtZm9ybWF0LnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL2luZGV4LWZvcm1hdC50eHQKaW5kZXggN2M0ZDY3YS4uZmFhMjVjNSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvaW5kZXgtZm9ybWF0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9pbmRleC1mb3JtYXQudHh0CkBAIC0zMTgsNyArMzE4LDcgQEAKID09IEVuZCBvZiBJbmRleCBFbnRyeQogCiAgIFRoZSBFbmQgb2YgSW5kZXggRW50cnkgKEVPSUUpIGlzIHVzZWQgdG8gbG9jYXRlIHRoZSBlbmQgb2YgdGhlIHZhcmlhYmxlCi0gIGxlbmd0aCBpbmRleCBlbnRyaWVzIGFuZCB0aGUgYmVnaW5pbmcgb2YgdGhlIGV4dGVuc2lvbnMuIENvZGUgY2FuIHRha2UKKyAgbGVuZ3RoIGluZGV4IGVudHJpZXMgYW5kIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGV4dGVuc2lvbnMuIENvZGUgY2FuIHRha2UKICAgYWR2YW50YWdlIG9mIHRoaXMgdG8gcXVpY2tseSBsb2NhdGUgdGhlIGluZGV4IGV4dGVuc2lvbnMgd2l0aG91dCBoYXZpbmcKICAgdG8gcGFyc2UgdGhyb3VnaCBhbGwgb2YgdGhlIGluZGV4IGVudHJpZXMuCiAKQEAgLTM1MSw3ICszNTEsNyBAQAogCiAgIC0gQSBudW1iZXIgb2YgaW5kZXggb2Zmc2V0IGVudHJpZXMgZWFjaCBjb25zaXN0aW5nIG9mOgogCi0gICAgLSAzMi1iaXQgb2Zmc2V0IGZyb20gdGhlIGJlZ2luaW5nIG9mIHRoZSBmaWxlIHRvIHRoZSBmaXJzdCBjYWNoZSBlbnRyeQorICAgIC0gMzItYml0IG9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUgdG8gdGhlIGZpcnN0IGNhY2hlIGVudHJ5CiAJaW4gdGhpcyBibG9jayBvZiBlbnRyaWVzLgogCiAgICAgLSAzMi1iaXQgY291bnQgb2YgY2FjaGUgZW50cmllcyBpbiB0aGlzIGJsb2NrCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9tdWx0aS1wYWNrLWluZGV4LnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL211bHRpLXBhY2staW5kZXgudHh0CmluZGV4IGQ3ZTU3NjMuLjRlNzYzMTQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL211bHRpLXBhY2staW5kZXgudHh0CisrKyBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL211bHRpLXBhY2staW5kZXgudHh0CkBAIC0zNiw3ICszNiw3IEBACiAgIGRpcmVjdG9yeSBvZiBhbiBhbHRlcm5hdGUuIEl0IHJlZmVycyBvbmx5IHRvIHBhY2tmaWxlcyBpbiB0aGF0CiAgIHNhbWUgZGlyZWN0b3J5LgogCi0tIFRoZSBwYWNrLm11bHRpSW5kZXggY29uZmlnIHNldHRpbmcgbXVzdCBiZSBvbiB0byBjb25zdW1lIE1JRFggZmlsZXMuCistIFRoZSBjb3JlLm11bHRpUGFja0luZGV4IGNvbmZpZyBzZXR0aW5nIG11c3QgYmUgb24gdG8gY29uc3VtZSBNSURYIGZpbGVzLgogCiAtIFRoZSBmaWxlIGZvcm1hdCBpbmNsdWRlcyBwYXJhbWV0ZXJzIGZvciB0aGUgb2JqZWN0IElEIGhhc2gKICAgZnVuY3Rpb24sIHNvIGEgZnV0dXJlIGNoYW5nZSBvZiBoYXNoIGFsZ29yaXRobSBkb2VzIG5vdCByZXF1aXJlCkBAIC0xMDIsOCArMTAyLDggQEAKIFswXSBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvZ2l0L2lzc3Vlcy9kZXRhaWw/aWQ9NgogICAgIENocm9taXVtIHdvcmsgaXRlbSBmb3I6IE11bHRpLVBhY2sgSW5kZXggKE1JRFgpCiAKLVsxXSBodHRwczovL3B1YmxpYy1pbmJveC5vcmcvZ2l0LzIwMTgwMTA3MTgxNDU5LjIyMjkwOS0xLWRzdG9sZWVAbWljcm9zb2Z0LmNvbS8KK1sxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9naXQvMjAxODAxMDcxODE0NTkuMjIyOTA5LTEtZHN0b2xlZUBtaWNyb3NvZnQuY29tLwogICAgIEFuIGVhcmxpZXIgUkZDIGZvciB0aGUgbXVsdGktcGFjay1pbmRleCBmZWF0dXJlCiAKLVsyXSBodHRwczovL3B1YmxpYy1pbmJveC5vcmcvZ2l0L2FscGluZS5ERUIuMi4yMC4xODAzMDkxNTU3NTEwLjIzMTA5QGFsZXhtdi1saW51eC8KK1syXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9naXQvYWxwaW5lLkRFQi4yLjIwLjE4MDMwOTE1NTc1MTAuMjMxMDlAYWxleG12LWxpbnV4LwogICAgIEdpdCBNZXJnZSAyMDE4IENvbnRyaWJ1dG9yJ3Mgc3VtbWl0IG5vdGVzIChpbmNsdWRlcyBkaXNjdXNzaW9uIG9mIE1JRFgpCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wYWNrLWZvcm1hdC50eHQgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wYWNrLWZvcm1hdC50eHQKaW5kZXggY2FiNWJkZC4uZDNhMTQyYyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcGFjay1mb3JtYXQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3BhY2stZm9ybWF0LnR4dApAQCAtMzE1LDEwICszMTUsMTEgQEAKIAkgICAgU3RvcmVzIHR3byA0LWJ5dGUgdmFsdWVzIGZvciBldmVyeSBvYmplY3QuCiAJICAgIDE6IFRoZSBwYWNrLWludC1pZCBmb3IgdGhlIHBhY2sgc3RvcmluZyB0aGlzIG9iamVjdC4KIAkgICAgMjogVGhlIG9mZnNldCB3aXRoaW4gdGhlIHBhY2suCi0JCUlmIGFsbCBvZmZzZXRzIGFyZSBsZXNzIHRoYW4gMl4zMSwgdGhlbiB0aGUgbGFyZ2Ugb2Zmc2V0IGNodW5rCisJCUlmIGFsbCBvZmZzZXRzIGFyZSBsZXNzIHRoYW4gMl4zMiwgdGhlbiB0aGUgbGFyZ2Ugb2Zmc2V0IGNodW5rCiAJCXdpbGwgbm90IGV4aXN0IGFuZCBvZmZzZXRzIGFyZSBzdG9yZWQgYXMgaW4gSURYIHYxLgogCQlJZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgb2Zmc2V0IHZhbHVlIGxhcmdlciB0aGFuIDJeMzItMSwgdGhlbgotCQl0aGUgbGFyZ2Ugb2Zmc2V0IGNodW5rIG11c3QgZXhpc3QuIElmIHRoZSBsYXJnZSBvZmZzZXQgY2h1bmsKKwkJdGhlIGxhcmdlIG9mZnNldCBjaHVuayBtdXN0IGV4aXN0LCBhbmQgb2Zmc2V0cyBsYXJnZXIgdGhhbgorCQkyXjMxLTEgbXVzdCBiZSBzdG9yZWQgaW4gaXQgaW5zdGVhZC4gSWYgdGhlIGxhcmdlIG9mZnNldCBjaHVuawogCQlleGlzdHMgYW5kIHRoZSAzMXN0IGJpdCBpcyBvbiwgdGhlbiByZW1vdmluZyB0aGF0IGJpdCByZXZlYWxzCiAJCXRoZSByb3cgaW4gdGhlIGxhcmdlIG9mZnNldHMgY29udGFpbmluZyB0aGUgOC1ieXRlIG9mZnNldCBvZgogCQl0aGlzIG9iamVjdC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3BhY2stcHJvdG9jb2wudHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcGFjay1wcm90b2NvbC50eHQKaW5kZXggNmFjNzc0ZC4uZDVjZTRlZSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcGFjay1wcm90b2NvbC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcGFjay1wcm90b2NvbC50eHQKQEAgLTIyLDYgKzIyLDE2IEBACiBvdGhlcndpc2Ugbm90ZWQgdGhlIHVzdWFsIHBrdC1saW5lIExGIHJ1bGVzIGFwcGx5OiB0aGUgc2VuZGVyIFNIT1VMRAogaW5jbHVkZSBhIExGLCBidXQgdGhlIHJlY2VpdmVyIE1VU1QgTk9UIGNvbXBsYWluIGlmIGl0IGlzIG5vdCBwcmVzZW50LgogCitBbiBlcnJvciBwYWNrZXQgaXMgYSBzcGVjaWFsIHBrdC1saW5lIHRoYXQgY29udGFpbnMgYW4gZXJyb3Igc3RyaW5nLgorCistLS0tCisgIGVycm9yLWxpbmUgICAgID0gIFBLVC1MSU5FKCJFUlIiIFNQIGV4cGxhbmF0aW9uLXRleHQpCistLS0tCisKK1Rocm91Z2hvdXQgdGhlIHByb3RvY29sLCB3aGVyZSBgUEtULUxJTkUoLi4uKWAgaXMgZXhwZWN0ZWQsIGFuIGVycm9yIHBhY2tldCBNQVkKK2JlIHNlbnQuIE9uY2UgdGhpcyBwYWNrZXQgaXMgc2VudCBieSBhIGNsaWVudCBvciBhIHNlcnZlciwgdGhlIGRhdGEgdHJhbnNmZXIKK3Byb2Nlc3MgZGVmaW5lZCBpbiB0aGlzIHByb3RvY29sIGlzIHRlcm1pbmF0ZWQuCisKIFRyYW5zcG9ydHMKIC0tLS0tLS0tLS0KIFRoZXJlIGFyZSB0aHJlZSB0cmFuc3BvcnRzIG92ZXIgd2hpY2ggdGhlIHBhY2tmaWxlIHByb3RvY29sIGlzCkBAIC04OSwxMyArOTksNiBAQAogICAgICAiMDAzOWdpdC11cGxvYWQtcGFjayAvc2NoYWNvbi9naXRib29rLmdpdFwwaG9zdD1leGFtcGxlLmNvbVwwIiB8CiAgICAgIG5jIC12IGV4YW1wbGUuY29tIDk0MTgKIAotSWYgdGhlIHNlcnZlciByZWZ1c2VzIHRoZSByZXF1ZXN0IGZvciBzb21lIHJlYXNvbnMsIGl0IGNvdWxkIGFib3J0Ci1ncmFjZWZ1bGx5IHdpdGggYW4gZXJyb3IgbWVzc2FnZS4KLQotLS0tLQotICBlcnJvci1saW5lICAgICA9ICBQS1QtTElORSgiRVJSIiBTUCBleHBsYW5hdGlvbi10ZXh0KQotLS0tLQotCiAKIFNTSCBUcmFuc3BvcnQKIC0tLS0tLS0tLS0tLS0KQEAgLTM5OCwxMiArNDAxLDExIEBACiBUaGVuIHRoZSBzZXJ2ZXIgd2lsbCBzdGFydCBzZW5kaW5nIGl0cyBwYWNrZmlsZSBkYXRhLgogCiAtLS0tCi0gIHNlcnZlci1yZXNwb25zZSA9ICphY2tfbXVsdGkgYWNrIC8gbmFrIC8gZXJyb3ItbGluZQorICBzZXJ2ZXItcmVzcG9uc2UgPSAqYWNrX211bHRpIGFjayAvIG5hawogICBhY2tfbXVsdGkgICAgICAgPSBQS1QtTElORSgiQUNLIiBTUCBvYmotaWQgYWNrX3N0YXR1cykKICAgYWNrX3N0YXR1cyAgICAgID0gImNvbnRpbnVlIiAvICJjb21tb24iIC8gInJlYWR5IgogICBhY2sgICAgICAgICAgICAgPSBQS1QtTElORSgiQUNLIiBTUCBvYmotaWQpCiAgIG5hayAgICAgICAgICAgICA9IFBLVC1MSU5FKCJOQUsiKQotICBlcnJvci1saW5lICAgICA9ICBQS1QtTElORSgiRVJSIiBTUCBleHBsYW5hdGlvbi10ZXh0KQogLS0tLQogCiBBIHNpbXBsZSBjbG9uZSBtYXkgbG9vayBsaWtlIHRoaXMgKHdpdGggbm8gJ2hhdmUnIGxpbmVzKToKQEAgLTY0Miw3ICs2NDQsNyBAQAogICBjb21tYW5kLW9rICAgICAgICA9IFBLVC1MSU5FKCJvayIgU1AgcmVmbmFtZSkKICAgY29tbWFuZC1mYWlsICAgICAgPSBQS1QtTElORSgibmciIFNQIHJlZm5hbWUgU1AgZXJyb3ItbXNnKQogCi0gIGVycm9yLW1zZyAgICAgICAgID0gMSooT0NURUNUKSA7IHdoZXJlIG5vdCAib2siCisgIGVycm9yLW1zZyAgICAgICAgID0gMSooT0NURVQpIDsgd2hlcmUgbm90ICJvayIKIC0tLS0KIAogVXBkYXRlcyBjYW4gYmUgdW5zdWNjZXNzZnVsIGZvciBhIG51bWJlciBvZiByZWFzb25zLiAgVGhlIHJlZmVyZW5jZSBjYW4gaGF2ZQpAQCAtNjU1LDE0ICs2NTcsMTQgQEAKIEFuIGV4YW1wbGUgY2xpZW50L3NlcnZlciBjb21tdW5pY2F0aW9uIG1pZ2h0IGxvb2sgbGlrZSB0aGlzOgogCiAtLS0tCi0gICBTOiAwMDdjNzQ3MzBkNDEwZmNiNjYwM2FjZTk2ZjFkYzU1ZWE2MTk2MTIyNTMyZCByZWZzL2hlYWRzL2xvY2FsXDByZXBvcnQtc3RhdHVzIGRlbGV0ZS1yZWZzIG9mcy1kZWx0YVxuCisgICBTOiAwMDYyNzQ3MzBkNDEwZmNiNjYwM2FjZTk2ZjFkYzU1ZWE2MTk2MTIyNTMyZCByZWZzL2hlYWRzL2xvY2FsXDByZXBvcnQtc3RhdHVzIGRlbGV0ZS1yZWZzIG9mcy1kZWx0YVxuCiAgICBTOiAwMDNlN2QxNjY1MTQ0YTNhOTc1YzA1ZjFmNDM5MDJkZGFmMDg0ZTc4NGRiZSByZWZzL2hlYWRzL2RlYnVnXG4KICAgIFM6IDAwM2Y3NDczMGQ0MTBmY2I2NjAzYWNlOTZmMWRjNTVlYTYxOTYxMjI1MzJkIHJlZnMvaGVhZHMvbWFzdGVyXG4KLSAgIFM6IDAwM2Y3NDczMGQ0MTBmY2I2NjAzYWNlOTZmMWRjNTVlYTYxOTYxMjI1MzJkIHJlZnMvaGVhZHMvdGVhbVxuCisgICBTOiAwMDNkNzQ3MzBkNDEwZmNiNjYwM2FjZTk2ZjFkYzU1ZWE2MTk2MTIyNTMyZCByZWZzL2hlYWRzL3RlYW1cbgogICAgUzogMDAwMAogCi0gICBDOiAwMDNlN2QxNjY1MTQ0YTNhOTc1YzA1ZjFmNDM5MDJkZGFmMDg0ZTc4NGRiZSA3NDczMGQ0MTBmY2I2NjAzYWNlOTZmMWRjNTVlYTYxOTYxMjI1MzJkIHJlZnMvaGVhZHMvZGVidWdcbgotICAgQzogMDAzZTc0NzMwZDQxMGZjYjY2MDNhY2U5NmYxZGM1NWVhNjE5NjEyMjUzMmQgNWEzZjZiZTc1NWJiYjdkZWFlNTAwNjU5ODhjYmZhMWZmYTlhYjY4YSByZWZzL2hlYWRzL21hc3RlclxuCisgICBDOiAwMDY3N2QxNjY1MTQ0YTNhOTc1YzA1ZjFmNDM5MDJkZGFmMDg0ZTc4NGRiZSA3NDczMGQ0MTBmY2I2NjAzYWNlOTZmMWRjNTVlYTYxOTYxMjI1MzJkIHJlZnMvaGVhZHMvZGVidWdcbgorICAgQzogMDA2ODc0NzMwZDQxMGZjYjY2MDNhY2U5NmYxZGM1NWVhNjE5NjEyMjUzMmQgNWEzZjZiZTc1NWJiYjdkZWFlNTAwNjU5ODhjYmZhMWZmYTlhYjY4YSByZWZzL2hlYWRzL21hc3RlclxuCiAgICBDOiAwMDAwCiAgICBDOiBbUEFDS0RBVEFdCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3BhcnRpYWwtY2xvbmUudHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcGFydGlhbC1jbG9uZS50eHQKaW5kZXggMWVmNjZiZC4uYjllMTdlNyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcGFydGlhbC1jbG9uZS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcGFydGlhbC1jbG9uZS50eHQKQEAgLTMwLDEyICszMCwyMCBAQAogdGltZXMgYW5kIGRpc2sgdXNhZ2UuICBNaXNzaW5nIG9iamVjdHMgY2FuIGxhdGVyIGJlICJkZW1hbmQgZmV0Y2hlZCIKIGlmL3doZW4gbmVlZGVkLgogCitBIHJlbW90ZSB0aGF0IGNhbiBsYXRlciBwcm92aWRlIHRoZSBtaXNzaW5nIG9iamVjdHMgaXMgY2FsbGVkIGEKK3Byb21pc29yIHJlbW90ZSwgYXMgaXQgcHJvbWlzZXMgdG8gc2VuZCB0aGUgb2JqZWN0cyB3aGVuCityZXF1ZXN0ZWQuIEluaXRpYWxseSBHaXQgc3VwcG9ydGVkIG9ubHkgb25lIHByb21pc29yIHJlbW90ZSwgdGhlIG9yaWdpbgorcmVtb3RlIGZyb20gd2hpY2ggdGhlIHVzZXIgY2xvbmVkIGFuZCB0aGF0IHdhcyBjb25maWd1cmVkIGluIHRoZQorImV4dGVuc2lvbnMucGFydGlhbENsb25lIiBjb25maWcgb3B0aW9uLiBMYXRlciBzdXBwb3J0IGZvciBtb3JlIHRoYW4KK29uZSBwcm9taXNvciByZW1vdGUgaGFzIGJlZW4gaW1wbGVtZW50ZWQuCisKIFVzZSBvZiBwYXJ0aWFsIGNsb25lIHJlcXVpcmVzIHRoYXQgdGhlIHVzZXIgYmUgb25saW5lIGFuZCB0aGUgb3JpZ2luCi1yZW1vdGUgYmUgYXZhaWxhYmxlIGZvciBvbi1kZW1hbmQgZmV0Y2hpbmcgb2YgbWlzc2luZyBvYmplY3RzLiAgVGhpcyBtYXkKLW9yIG1heSBub3QgYmUgcHJvYmxlbWF0aWMgZm9yIHRoZSB1c2VyLiAgRm9yIGV4YW1wbGUsIGlmIHRoZSB1c2VyIGNhbgotc3RheSB3aXRoaW4gdGhlIHByZS1zZWxlY3RlZCBzdWJzZXQgb2YgdGhlIHNvdXJjZSB0cmVlLCB0aGV5IG1heSBub3QKLWVuY291bnRlciBhbnkgbWlzc2luZyBvYmplY3RzLiAgQWx0ZXJuYXRpdmVseSwgdGhlIHVzZXIgY291bGQgdHJ5IHRvCi1wcmUtZmV0Y2ggdmFyaW91cyBvYmplY3RzIGlmIHRoZXkga25vdyB0aGF0IHRoZXkgYXJlIGdvaW5nIG9mZmxpbmUuCityZW1vdGUgb3Igb3RoZXIgcHJvbWlzb3IgcmVtb3RlcyBiZSBhdmFpbGFibGUgZm9yIG9uLWRlbWFuZCBmZXRjaGluZworb2YgbWlzc2luZyBvYmplY3RzLiAgVGhpcyBtYXkgb3IgbWF5IG5vdCBiZSBwcm9ibGVtYXRpYyBmb3IgdGhlIHVzZXIuCitGb3IgZXhhbXBsZSwgaWYgdGhlIHVzZXIgY2FuIHN0YXkgd2l0aGluIHRoZSBwcmUtc2VsZWN0ZWQgc3Vic2V0IG9mCit0aGUgc291cmNlIHRyZWUsIHRoZXkgbWF5IG5vdCBlbmNvdW50ZXIgYW55IG1pc3Npbmcgb2JqZWN0cy4KK0FsdGVybmF0aXZlbHksIHRoZSB1c2VyIGNvdWxkIHRyeSB0byBwcmUtZmV0Y2ggdmFyaW91cyBvYmplY3RzIGlmIHRoZXkKK2tub3cgdGhhdCB0aGV5IGFyZSBnb2luZyBvZmZsaW5lLgogCiAKIE5vbi1Hb2FscwpAQCAtMTAwLDIxICsxMDgsMjEgQEAKIEhhbmRsaW5nIE1pc3NpbmcgT2JqZWN0cwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLS0gQW4gb2JqZWN0IG1heSBiZSBtaXNzaW5nIGR1ZSB0byBhIHBhcnRpYWwgY2xvbmUgb3IgZmV0Y2gsIG9yIG1pc3NpbmcgZHVlCi0gIHRvIHJlcG9zaXRvcnkgY29ycnVwdGlvbi4gIFRvIGRpZmZlcmVudGlhdGUgdGhlc2UgY2FzZXMsIHRoZSBsb2NhbAotICByZXBvc2l0b3J5IHNwZWNpYWxseSBpbmRpY2F0ZXMgc3VjaCBmaWx0ZXJlZCBwYWNrZmlsZXMgb2J0YWluZWQgZnJvbSB0aGUKLSAgcHJvbWlzb3IgcmVtb3RlIGFzICJwcm9taXNvciBwYWNrZmlsZXMiLgorLSBBbiBvYmplY3QgbWF5IGJlIG1pc3NpbmcgZHVlIHRvIGEgcGFydGlhbCBjbG9uZSBvciBmZXRjaCwgb3IgbWlzc2luZworICBkdWUgdG8gcmVwb3NpdG9yeSBjb3JydXB0aW9uLiAgVG8gZGlmZmVyZW50aWF0ZSB0aGVzZSBjYXNlcywgdGhlCisgIGxvY2FsIHJlcG9zaXRvcnkgc3BlY2lhbGx5IGluZGljYXRlcyBzdWNoIGZpbHRlcmVkIHBhY2tmaWxlcworICBvYnRhaW5lZCBmcm9tIHByb21pc29yIHJlbW90ZXMgYXMgInByb21pc29yIHBhY2tmaWxlcyIuCiArCiBUaGVzZSBwcm9taXNvciBwYWNrZmlsZXMgY29uc2lzdCBvZiBhICI8bmFtZT4ucHJvbWlzb3IiIGZpbGUgd2l0aAogYXJiaXRyYXJ5IGNvbnRlbnRzIChsaWtlIHRoZSAiPG5hbWU+LmtlZXAiIGZpbGVzKSwgaW4gYWRkaXRpb24gdG8KIHRoZWlyICI8bmFtZT4ucGFjayIgYW5kICI8bmFtZT4uaWR4IiBmaWxlcy4KIAogLSBUaGUgbG9jYWwgcmVwb3NpdG9yeSBjb25zaWRlcnMgYSAicHJvbWlzb3Igb2JqZWN0IiB0byBiZSBhbiBvYmplY3QgdGhhdAotICBpdCBrbm93cyAodG8gdGhlIGJlc3Qgb2YgaXRzIGFiaWxpdHkpIHRoYXQgdGhlIHByb21pc29yIHJlbW90ZSBoYXMgcHJvbWlzZWQKLSAgdGhhdCBpdCBoYXMsIGVpdGhlciBiZWNhdXNlIHRoZSBsb2NhbCByZXBvc2l0b3J5IGhhcyB0aGF0IG9iamVjdCBpbiBvbmUgb2YKKyAgaXQga25vd3MgKHRvIHRoZSBiZXN0IG9mIGl0cyBhYmlsaXR5KSB0aGF0IHByb21pc29yIHJlbW90ZXMgaGF2ZSBwcm9taXNlZAorICB0aGF0IHRoZXkgaGF2ZSwgZWl0aGVyIGJlY2F1c2UgdGhlIGxvY2FsIHJlcG9zaXRvcnkgaGFzIHRoYXQgb2JqZWN0IGluIG9uZSBvZgogICBpdHMgcHJvbWlzb3IgcGFja2ZpbGVzLCBvciBiZWNhdXNlIGFub3RoZXIgcHJvbWlzb3Igb2JqZWN0IHJlZmVycyB0byBpdC4KICsKLVdoZW4gR2l0IGVuY291bnRlcnMgYSBtaXNzaW5nIG9iamVjdCwgR2l0IGNhbiBzZWUgaWYgaXQgYSBwcm9taXNvciBvYmplY3QKK1doZW4gR2l0IGVuY291bnRlcnMgYSBtaXNzaW5nIG9iamVjdCwgR2l0IGNhbiBzZWUgaWYgaXQgaXMgYSBwcm9taXNvciBvYmplY3QKIGFuZCBoYW5kbGUgaXQgYXBwcm9wcmlhdGVseS4gIElmIG5vdCwgR2l0IGNhbiByZXBvcnQgYSBjb3JydXB0aW9uLgogKwogVGhpcyBtZWFucyB0aGF0IHRoZXJlIGlzIG5vIG5lZWQgZm9yIHRoZSBjbGllbnQgdG8gZXhwbGljaXRseSBtYWludGFpbiBhbgpAQCAtMTIzLDEyICsxMzEsMTIgQEAKIC0gU2luY2UgYWxtb3N0IGFsbCBHaXQgY29kZSBjdXJyZW50bHkgZXhwZWN0cyBhbnkgcmVmZXJlbmNlZCBvYmplY3QgdG8gYmUKICAgcHJlc2VudCBsb2NhbGx5IGFuZCBiZWNhdXNlIHdlIGRvIG5vdCB3YW50IHRvIGZvcmNlIGV2ZXJ5IGNvbW1hbmQgdG8gZG8KICAgYSBkcnktcnVuIGZpcnN0LCBhIGZhbGxiYWNrIG1lY2hhbmlzbSBpcyBhZGRlZCB0byBhbGxvdyBHaXQgdG8gYXR0ZW1wdAotICB0byBkeW5hbWljYWxseSBmZXRjaCBtaXNzaW5nIG9iamVjdHMgZnJvbSB0aGUgcHJvbWlzb3IgcmVtb3RlLgorICB0byBkeW5hbWljYWxseSBmZXRjaCBtaXNzaW5nIG9iamVjdHMgZnJvbSBwcm9taXNvciByZW1vdGVzLgogKwogV2hlbiB0aGUgbm9ybWFsIG9iamVjdCBsb29rdXAgZmFpbHMgdG8gZmluZCBhbiBvYmplY3QsIEdpdCBpbnZva2VzCi1mZXRjaC1vYmplY3QgdG8gdHJ5IHRvIGdldCB0aGUgb2JqZWN0IGZyb20gdGhlIHNlcnZlciBhbmQgdGhlbiByZXRyeQotdGhlIG9iamVjdCBsb29rdXAuICBUaGlzIGFsbG93cyBvYmplY3RzIHRvIGJlICJmYXVsdGVkIGluIiB3aXRob3V0Ci1jb21wbGljYXRlZCBwcmVkaWN0aW9uIGFsZ29yaXRobXMuCitwcm9taXNvcl9yZW1vdGVfZ2V0X2RpcmVjdCgpIHRvIHRyeSB0byBnZXQgdGhlIG9iamVjdCBmcm9tIGEgcHJvbWlzb3IKK3JlbW90ZSBhbmQgdGhlbiByZXRyeSB0aGUgb2JqZWN0IGxvb2t1cC4gIFRoaXMgYWxsb3dzIG9iamVjdHMgdG8gYmUKKyJmYXVsdGVkIGluIiB3aXRob3V0IGNvbXBsaWNhdGVkIHByZWRpY3Rpb24gYWxnb3JpdGhtcy4KICsKIEZvciBlZmZpY2llbmN5IHJlYXNvbnMsIG5vIGNoZWNrIGFzIHRvIHdoZXRoZXIgdGhlIG1pc3Npbmcgb2JqZWN0IGlzCiBhY3R1YWxseSBhIHByb21pc29yIG9iamVjdCBpcyBwZXJmb3JtZWQuCkBAIC0xNTcsOCArMTY1LDcgQEAKICsKIFdlIGFyZSBub3QgaGFwcHkgd2l0aCB0aGlzIGdsb2JhbCB2YXJpYWJsZSBhbmQgd291bGQgbGlrZSB0byByZW1vdmUgaXQsCiBidXQgdGhhdCByZXF1aXJlcyBzaWduaWZpY2FudCByZWZhY3RvcmluZyBvZiB0aGUgb2JqZWN0IGNvZGUgdG8gcGFzcyBhbgotYWRkaXRpb25hbCBmbGFnLiAgV2UgaG9wZSB0aGF0IGNvbmN1cnJlbnQgZWZmb3J0cyB0byBhZGQgYW4gT0RCIEFQSSBjYW4KLWVuY29tcGFzcyB0aGlzLgorYWRkaXRpb25hbCBmbGFnLgogCiAKIEZldGNoaW5nIE1pc3NpbmcgT2JqZWN0cwpAQCAtMTgyLDIxICsxODksNjMgQEAKICAgdGhvdWdoIHRoZXkgYXJlIG5vdCBuZWNlc3NhcnkuCiAKIAorVXNpbmcgbWFueSBwcm9taXNvciByZW1vdGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworTWFueSBwcm9taXNvciByZW1vdGVzIGNhbiBiZSBjb25maWd1cmVkIGFuZCB1c2VkLgorCitUaGlzIGFsbG93cyBmb3IgZXhhbXBsZSBhIHVzZXIgdG8gaGF2ZSBtdWx0aXBsZSBnZW9ncmFwaGljYWxseS1jbG9zZQorY2FjaGUgc2VydmVycyBmb3IgZmV0Y2hpbmcgbWlzc2luZyBibG9icyB3aGlsZSBjb250aW51aW5nIHRvIGRvCitmaWx0ZXJlZCBgZ2l0LWZldGNoYCBjb21tYW5kcyBmcm9tIHRoZSBjZW50cmFsIHNlcnZlci4KKworV2hlbiBmZXRjaGluZyBvYmplY3RzLCBwcm9taXNvciByZW1vdGVzIGFyZSB0cmllZCBvbmUgYWZ0ZXIgdGhlIG90aGVyCit1bnRpbCBhbGwgdGhlIG9iamVjdHMgaGF2ZSBiZWVuIGZldGNoZWQuCisKK1JlbW90ZXMgdGhhdCBhcmUgY29uc2lkZXJlZCAicHJvbWlzb3IiIHJlbW90ZXMgYXJlIHRob3NlIHNwZWNpZmllZCBieQordGhlIGZvbGxvd2luZyBjb25maWd1cmF0aW9uIHZhcmlhYmxlczoKKworLSBgZXh0ZW5zaW9ucy5wYXJ0aWFsQ2xvbmUgPSA8bmFtZT5gCisKKy0gYHJlbW90ZS48bmFtZT4ucHJvbWlzb3IgPSB0cnVlYAorCistIGByZW1vdGUuPG5hbWU+LnBhcnRpYWxDbG9uZUZpbHRlciA9IC4uLmAKKworT25seSBvbmUgcHJvbWlzb3IgcmVtb3RlIGNhbiBiZSBjb25maWd1cmVkIHVzaW5nIHRoZQorYGV4dGVuc2lvbnMucGFydGlhbENsb25lYCBjb25maWcgdmFyaWFibGUuIFRoaXMgcHJvbWlzb3IgcmVtb3RlIHdpbGwKK2JlIHRoZSBsYXN0IG9uZSB0cmllZCB3aGVuIGZldGNoaW5nIG9iamVjdHMuCisKK1dlIGRlY2lkZWQgdG8gbWFrZSBpdCB0aGUgbGFzdCBvbmUgd2UgdHJ5LCBiZWNhdXNlIGl0IGlzIGxpa2VseSB0aGF0Citzb21lb25lIHVzaW5nIG1hbnkgcHJvbWlzb3IgcmVtb3RlcyBpcyBkb2luZyBzbyBiZWNhdXNlIHRoZSBvdGhlcgorcHJvbWlzb3IgcmVtb3RlcyBhcmUgYmV0dGVyIGZvciBzb21lIHJlYXNvbiAobWF5YmUgdGhleSBhcmUgY2xvc2VyIG9yCitmYXN0ZXIgZm9yIHNvbWUga2luZCBvZiBvYmplY3RzKSB0aGFuIHRoZSBvcmlnaW4sIGFuZCB0aGUgb3JpZ2luIGlzCitsaWtlbHkgdG8gYmUgdGhlIHJlbW90ZSBzcGVjaWZpZWQgYnkgZXh0ZW5zaW9ucy5wYXJ0aWFsQ2xvbmUuCisKK1RoaXMganVzdGlmaWNhdGlvbiBpcyBub3QgdmVyeSBzdHJvbmcsIGJ1dCBvbmUgY2hvaWNlIGhhZCB0byBiZSBtYWRlLAorYW5kIGFueXdheSB0aGUgbG9uZyB0ZXJtIHBsYW4gc2hvdWxkIGJlIHRvIG1ha2UgdGhlIG9yZGVyIHNvbWVob3cKK2Z1bGx5IGNvbmZpZ3VyYWJsZS4KKworRm9yIG5vdyB0aG91Z2ggdGhlIG90aGVyIHByb21pc29yIHJlbW90ZXMgd2lsbCBiZSB0cmllZCBpbiB0aGUgb3JkZXIKK3RoZXkgYXBwZWFyIGluIHRoZSBjb25maWcgZmlsZS4KKwogQ3VycmVudCBMaW1pdGF0aW9ucwogLS0tLS0tLS0tLS0tLS0tLS0tLQogCi0tIFRoZSByZW1vdGUgdXNlZCBmb3IgYSBwYXJ0aWFsIGNsb25lIChvciB0aGUgZmlyc3QgcGFydGlhbCBmZXRjaAotICBmb2xsb3dpbmcgYSByZWd1bGFyIGNsb25lKSBpcyBtYXJrZWQgYXMgdGhlICJwcm9taXNvciByZW1vdGUiLgorLSBJdCBpcyBub3QgcG9zc2libGUgdG8gc3BlY2lmeSB0aGUgb3JkZXIgaW4gd2hpY2ggdGhlIHByb21pc29yCisgIHJlbW90ZXMgYXJlIHRyaWVkIGluIG90aGVyIHdheXMgdGhhbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcHBlYXIKKyAgaW4gdGhlIGNvbmZpZyBmaWxlLgogKwotV2UgYXJlIGN1cnJlbnRseSBsaW1pdGVkIHRvIGEgc2luZ2xlIHByb21pc29yIHJlbW90ZSBhbmQgb25seSB0aGF0Ci1yZW1vdGUgbWF5IGJlIHVzZWQgZm9yIHN1YnNlcXVlbnQgcGFydGlhbCBmZXRjaGVzLgotKwotV2UgYWNjZXB0IHRoaXMgbGltaXRhdGlvbiBiZWNhdXNlIHdlIGJlbGlldmUgaW5pdGlhbCB1c2VycyBvZiB0aGlzCi1mZWF0dXJlIHdpbGwgYmUgdXNpbmcgaXQgb24gcmVwb3NpdG9yaWVzIHdpdGggYSBzdHJvbmcgc2luZ2xlIGNlbnRyYWwKLXNlcnZlci4KK0l0IGlzIGFsc28gbm90IHBvc3NpYmxlIHRvIHNwZWNpZnkgYW4gb3JkZXIgdG8gYmUgdXNlZCB3aGVuIGZldGNoaW5nCitmcm9tIG9uZSByZW1vdGUgYW5kIGEgZGlmZmVyZW50IG9yZGVyIHdoZW4gZmV0Y2hpbmcgZnJvbSBhbm90aGVyCityZW1vdGUuCiAKLS0gRHluYW1pYyBvYmplY3QgZmV0Y2hpbmcgd2lsbCBvbmx5IGFzayB0aGUgcHJvbWlzb3IgcmVtb3RlIGZvciBtaXNzaW5nCi0gIG9iamVjdHMuICBXZSBhc3N1bWUgdGhhdCB0aGUgcHJvbWlzb3IgcmVtb3RlIGhhcyBhIGNvbXBsZXRlIHZpZXcgb2YgdGhlCistIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBwdXNoIG9ubHkgc3BlY2lmaWMgb2JqZWN0cyB0byBhIHByb21pc29yCisgIHJlbW90ZS4KKysKK0l0IGlzIG5vdCBwb3NzaWJsZSB0byBwdXNoIGF0IHRoZSBzYW1lIHRpbWUgdG8gbXVsdGlwbGUgcHJvbWlzb3IKK3JlbW90ZSBpbiBhIHNwZWNpZmljIG9yZGVyLgorCistIER5bmFtaWMgb2JqZWN0IGZldGNoaW5nIHdpbGwgb25seSBhc2sgcHJvbWlzb3IgcmVtb3RlcyBmb3IgbWlzc2luZworICBvYmplY3RzLiAgV2UgYXNzdW1lIHRoYXQgcHJvbWlzb3IgcmVtb3RlcyBoYXZlIGEgY29tcGxldGUgdmlldyBvZiB0aGUKICAgcmVwb3NpdG9yeSBhbmQgY2FuIHNhdGlzZnkgYWxsIHN1Y2ggcmVxdWVzdHMuCiAKIC0gUmVwYWNrIGVzc2VudGlhbGx5IHRyZWF0cyBwcm9taXNvciBhbmQgbm9uLXByb21pc29yIHBhY2tmaWxlcyBhcyAyCkBAIC0yMTgsMTUgKzI2NywxNyBAQAogRnV0dXJlIFdvcmsKIC0tLS0tLS0tLS0tCiAKLS0gQWxsb3cgbW9yZSB0aGFuIG9uZSBwcm9taXNvciByZW1vdGUgYW5kIGRlZmluZSBhIHN0cmF0ZWd5IGZvciBmZXRjaGluZwotICBtaXNzaW5nIG9iamVjdHMgZnJvbSBzcGVjaWZpYyBwcm9taXNvciByZW1vdGVzIG9yIG9mIGl0ZXJhdGluZyBvdmVyIHRoZQotICBzZXQgb2YgcHJvbWlzb3IgcmVtb3RlcyB1bnRpbCBhIG1pc3Npbmcgb2JqZWN0IGlzIGZvdW5kLgorLSBJbXByb3ZlIHRoZSB3YXkgdG8gc3BlY2lmeSB0aGUgb3JkZXIgaW4gd2hpY2ggcHJvbWlzb3IgcmVtb3RlcyBhcmUKKyAgdHJpZWQuCiArCi1BIHVzZXIgbWlnaHQgd2FudCB0byBoYXZlIG11bHRpcGxlIGdlb2dyYXBoaWNhbGx5LWNsb3NlIGNhY2hlIHNlcnZlcnMKLWZvciBmZXRjaGluZyBtaXNzaW5nIGJsb2JzIHdoaWxlIGNvbnRpbnVpbmcgdG8gZG8gZmlsdGVyZWQgYGdpdC1mZXRjaGAKLWNvbW1hbmRzIGZyb20gdGhlIGNlbnRyYWwgc2VydmVyLCBmb3IgZXhhbXBsZS4KK0ZvciBleGFtcGxlIHRoaXMgY291bGQgYWxsb3cgdG8gc3BlY2lmeSBleHBsaWNpdGx5IHNvbWV0aGluZyBsaWtlOgorIldoZW4gZmV0Y2hpbmcgZnJvbSB0aGlzIHJlbW90ZSwgSSB3YW50IHRvIHVzZSB0aGVzZSBwcm9taXNvciByZW1vdGVzCitpbiB0aGlzIG9yZGVyLCB0aG91Z2gsIHdoZW4gcHVzaGluZyBvciBmZXRjaGluZyB0byB0aGF0IHJlbW90ZSwgSSB3YW50Cit0byB1c2UgdGhvc2UgcHJvbWlzb3IgcmVtb3RlcyBpbiB0aGF0IG9yZGVyLiIKKworLSBBbGxvdyBwdXNoaW5nIHRvIHByb21pc29yIHJlbW90ZXMuCiArCi1PciB0aGUgdXNlciBtaWdodCB3YW50IHRvIHdvcmsgaW4gYSB0cmlhbmd1bGFyIHdvcmsgZmxvdyB3aXRoIG11bHRpcGxlCitUaGUgdXNlciBtaWdodCB3YW50IHRvIHdvcmsgaW4gYSB0cmlhbmd1bGFyIHdvcmsgZmxvdyB3aXRoIG11bHRpcGxlCiBwcm9taXNvciByZW1vdGVzIHRoYXQgZWFjaCBoYXZlIGFuIGluY29tcGxldGUgdmlldyBvZiB0aGUgcmVwb3NpdG9yeS4KIAogLSBBbGxvdyByZXBhY2sgdG8gd29yayBvbiBwcm9taXNvciBwYWNrZmlsZXMgKHdoaWxlIGtlZXBpbmcgdGhlbSBkaXN0aW5jdApAQCAtMjk5LDI2ICszNTAsMjYgQEAKIFswXSBodHRwczovL2NyYnVnLmNvbS9naXQvMgogICAgIEJ1ZyMyOiBQYXJ0aWFsIENsb25lCiAKLVsxXSBodHRwczovL3B1YmxpYy1pbmJveC5vcmcvZ2l0LzIwMTcwMTEzMTU1MjUzLjE2NDQtMS1iZW5wZWFydEBtaWNyb3NvZnQuY29tLyArCitbMV0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvZ2l0LzIwMTcwMTEzMTU1MjUzLjE2NDQtMS1iZW5wZWFydEBtaWNyb3NvZnQuY29tLyArCiAgICAgU3ViamVjdDogW1JGQ10gQWRkIHN1cHBvcnQgZm9yIGRvd25sb2FkaW5nIGJsb2JzIG9uIGRlbWFuZCArCiAgICAgRGF0ZTogRnJpLCAxMyBKYW4gMjAxNyAxMDo1Mjo1MyAtMDUwMAogCi1bMl0gaHR0cHM6Ly9wdWJsaWMtaW5ib3gub3JnL2dpdC9jb3Zlci4xNTA2NzE0OTk5LmdpdC5qb25hdGhhbnRhbm15QGdvb2dsZS5jb20vICsKK1syXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9naXQvY292ZXIuMTUwNjcxNDk5OS5naXQuam9uYXRoYW50YW5teUBnb29nbGUuY29tLyArCiAgICAgU3ViamVjdDogW1BBVENIIDAwLzE4XSBQYXJ0aWFsIGNsb25lIChmcm9tIGNsb25lIHRvIGxhenkgZmV0Y2ggaW4gMTggcGF0Y2hlcykgKwogICAgIERhdGU6IEZyaSwgMjkgU2VwIDIwMTcgMTM6MTE6MzYgLTA3MDAKIAotWzNdIGh0dHBzOi8vcHVibGljLWluYm94Lm9yZy9naXQvMjAxNzA0MjYyMjEzNDYuMjUzMzctMS1qb25hdGhhbnRhbm15QGdvb2dsZS5jb20vICsKK1szXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9naXQvMjAxNzA0MjYyMjEzNDYuMjUzMzctMS1qb25hdGhhbnRhbm15QGdvb2dsZS5jb20vICsKICAgICBTdWJqZWN0OiBQcm9wb3NhbCBmb3IgbWlzc2luZyBibG9iIHN1cHBvcnQgaW4gR2l0IHJlcG9zICsKICAgICBEYXRlOiBXZWQsIDI2IEFwciAyMDE3IDE1OjEzOjQ2IC0wNzAwCiAKLVs0XSBodHRwczovL3B1YmxpYy1pbmJveC5vcmcvZ2l0LzE0ODg5OTkwMzktMzc2MzEtMS1naXQtc2VuZC1lbWFpbC1naXRAamVmZmhvc3RldGxlci5jb20vICsKK1s0XSBodHRwczovL2xvcmUua2VybmVsLm9yZy9naXQvMTQ4ODk5OTAzOS0zNzYzMS0xLWdpdC1zZW5kLWVtYWlsLWdpdEBqZWZmaG9zdGV0bGVyLmNvbS8gKwogICAgIFN1YmplY3Q6IFtQQVRDSCAwMC8xMF0gUkZDIFBhcnRpYWwgQ2xvbmUgYW5kIEZldGNoICsKICAgICBEYXRlOiBXZWQsICA4IE1hciAyMDE3IDE4OjUwOjI5ICswMDAwCiAKLVs1XSBodHRwczovL3B1YmxpYy1pbmJveC5vcmcvZ2l0LzIwMTcwNTA1MTUyODAyLjY3MjQtMS1iZW5wZWFydEBtaWNyb3NvZnQuY29tLyArCitbNV0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvZ2l0LzIwMTcwNTA1MTUyODAyLjY3MjQtMS1iZW5wZWFydEBtaWNyb3NvZnQuY29tLyArCiAgICAgU3ViamVjdDogW1BBVENIIHY3IDAwLzEwXSByZWZhY3RvciB0aGUgZmlsdGVyIHByb2Nlc3MgY29kZSBpbnRvIGEgcmV1c2FibGUgbW9kdWxlICsKICAgICBEYXRlOiBGcmksICA1IE1heSAyMDE3IDExOjI3OjUyIC0wNDAwCiAKLVs2XSBodHRwczovL3B1YmxpYy1pbmJveC5vcmcvZ2l0LzIwMTcwNzE0MTMyNjUxLjE3MDcwOC0xLWJlbnBlYXJ0QG1pY3Jvc29mdC5jb20vICsKK1s2XSBodHRwczovL2xvcmUua2VybmVsLm9yZy9naXQvMjAxNzA3MTQxMzI2NTEuMTcwNzA4LTEtYmVucGVhcnRAbWljcm9zb2Z0LmNvbS8gKwogICAgIFN1YmplY3Q6IFtSRkMvUEFUQ0ggdjIgMC8xXSBBZGQgc3VwcG9ydCBmb3IgZG93bmxvYWRpbmcgYmxvYnMgb24gZGVtYW5kICsKICAgICBEYXRlOiBGcmksIDE0IEp1bCAyMDE3IDA5OjI2OjUwIC0wNDAwCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wcm90b2NvbC1jYXBhYmlsaXRpZXMudHh0IGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcHJvdG9jb2wtY2FwYWJpbGl0aWVzLnR4dAppbmRleCAzMzJkMjA5Li4yYjI2N2MwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wcm90b2NvbC1jYXBhYmlsaXRpZXMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3Byb3RvY29sLWNhcGFiaWxpdGllcy50eHQKQEAgLTEsNiArMSwxMCBAQAogR2l0IFByb3RvY29sIENhcGFiaWxpdGllcwogPT09PT09PT09PT09PT09PT09PT09PT09PQogCitOT1RFOiB0aGlzIGRvY3VtZW50IGRlc2NyaWJlcyBjYXBhYmlsaXRpZXMgZm9yIHZlcnNpb25zIDAgYW5kIDEgb2YgdGhlIHBhY2sKK3Byb3RvY29sLiBGb3IgdmVyc2lvbiAyLCBwbGVhc2UgcmVmZXIgdG8gdGhlIGxpbms6cHJvdG9jb2wtdjIuaHRtbFtwcm90b2NvbC12Ml0KK2RvYy4KKwogU2VydmVycyBTSE9VTEQgc3VwcG9ydCBhbGwgY2FwYWJpbGl0aWVzIGRlZmluZWQgaW4gdGhpcyBkb2N1bWVudC4KIAogT24gdGhlIHZlcnkgZmlyc3QgbGluZSBvZiB0aGUgaW5pdGlhbCBzZXJ2ZXIgcmVzcG9uc2Ugb2YgZWl0aGVyCkBAIC0xNzIsNiArMTc2LDIwIEBACiBwdXJwb3NlcywgYW5kIE1VU1QgTk9UIGJlIHVzZWQgdG8gcHJvZ3JhbW1hdGljYWxseSBhc3N1bWUgdGhlIHByZXNlbmNlCiBvciBhYnNlbmNlIG9mIHBhcnRpY3VsYXIgZmVhdHVyZXMuCiAKK3N5bXJlZgorLS0tLS0tCisKK1RoaXMgcGFyYW1ldGVyaXplZCBjYXBhYmlsaXR5IGlzIHVzZWQgdG8gaW5mb3JtIHRoZSByZWNlaXZlciB3aGljaCBzeW1ib2xpYyByZWYKK3BvaW50cyB0byB3aGljaCByZWY7IGZvciBleGFtcGxlLCAic3ltcmVmPUhFQUQ6cmVmcy9oZWFkcy9tYXN0ZXIiIHRlbGxzIHRoZQorcmVjZWl2ZXIgdGhhdCBIRUFEIHBvaW50cyB0byBtYXN0ZXIuIFRoaXMgY2FwYWJpbGl0eSBjYW4gYmUgcmVwZWF0ZWQgdG8KK3JlcHJlc2VudCBtdWx0aXBsZSBzeW1yZWZzLgorCitTZXJ2ZXJzIFNIT1VMRCBpbmNsdWRlIHRoaXMgY2FwYWJpbGl0eSBmb3IgdGhlIEhFQUQgc3ltcmVmIGlmIGl0IGlzIG9uZSBvZiB0aGUKK3JlZnMgYmVpbmcgc2VudC4KKworQ2xpZW50cyBNQVkgdXNlIHRoZSBwYXJhbWV0ZXJzIGZyb20gdGhpcyBjYXBhYmlsaXR5IHRvIHNlbGVjdCB0aGUgcHJvcGVyIGluaXRpYWwKK2JyYW5jaCB3aGVuIGNsb25pbmcgYSByZXBvc2l0b3J5LgorCiBzaGFsbG93CiAtLS0tLS0tCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3Byb3RvY29sLXYyLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3Byb3RvY29sLXYyLnR4dAppbmRleCAwOWU0ZTAyLi43ZTM3NjZjIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9wcm90b2NvbC12Mi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcHJvdG9jb2wtdjIudHh0CkBAIC0xLDUgKzEsNSBAQAotIEdpdCBXaXJlIFByb3RvY29sLCBWZXJzaW9uIDIKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorR2l0IFdpcmUgUHJvdG9jb2wsIFZlcnNpb24gMgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCiBUaGlzIGRvY3VtZW50IHByZXNlbnRzIGEgc3BlY2lmaWNhdGlvbiBmb3IgYSB2ZXJzaW9uIDIgb2YgR2l0J3Mgd2lyZQogcHJvdG9jb2wuICBQcm90b2NvbCB2MiB3aWxsIGltcHJvdmUgdXBvbiB2MSBpbiB0aGUgZm9sbG93aW5nIHdheXM6CkBAIC0yMiw4ICsyMiw4IEBACiBoYXMgY29tcGxldGVkLCBhIGNsaWVudCBjYW4gcmV1c2UgdGhlIGNvbm5lY3Rpb24gYW5kIHJlcXVlc3QgdGhhdCBvdGhlcgogY29tbWFuZHMgYmUgZXhlY3V0ZWQuCiAKLSBQYWNrZXQtTGluZSBGcmFtaW5nCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1BhY2tldC1MaW5lIEZyYW1pbmcKKy0tLS0tLS0tLS0tLS0tLS0tLS0KIAogQWxsIGNvbW11bmljYXRpb24gaXMgZG9uZSB1c2luZyBwYWNrZXQtbGluZSBmcmFtaW5nLCBqdXN0IGFzIGluIHYxLiAgU2VlCiBgRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcGFjay1wcm90b2NvbC50eHRgIGFuZApAQCAtMzQsOCArMzQsOCBAQAogICAqICcwMDAwJyBGbHVzaCBQYWNrZXQgKGZsdXNoLXBrdCkgLSBpbmRpY2F0ZXMgdGhlIGVuZCBvZiBhIG1lc3NhZ2UKICAgKiAnMDAwMScgRGVsaW1pdGVyIFBhY2tldCAoZGVsaW0tcGt0KSAtIHNlcGFyYXRlcyBzZWN0aW9ucyBvZiBhIG1lc3NhZ2UKIAotIEluaXRpYWwgQ2xpZW50IFJlcXVlc3QKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorSW5pdGlhbCBDbGllbnQgUmVxdWVzdAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBJbiBnZW5lcmFsIGEgY2xpZW50IGNhbiByZXF1ZXN0IHRvIHNwZWFrIHByb3RvY29sIHYyIGJ5IHNlbmRpbmcKIGB2ZXJzaW9uPTJgIHRocm91Z2ggdGhlIHJlc3BlY3RpdmUgc2lkZS1jaGFubmVsIGZvciB0aGUgdHJhbnNwb3J0IGJlaW5nCkBAIC00MywyMiArNDMsMjIgQEAKIGZvdW5kIGluIGBwYWNrLXByb3RvY29sLnR4dGAgYW5kIGBodHRwLXByb3RvY29sLnR4dGAuICBJbiBhbGwgY2FzZXMgdGhlCiByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXIgaXMgdGhlIGNhcGFiaWxpdHkgYWR2ZXJ0aXNlbWVudC4KIAotIEdpdCBUcmFuc3BvcnQKLX5+fn5+fn5+fn5+fn5+fgorR2l0IFRyYW5zcG9ydAorfn5+fn5+fn5+fn5+fgogCiBXaGVuIHVzaW5nIHRoZSBnaXQ6Ly8gdHJhbnNwb3J0LCB5b3UgY2FuIHJlcXVlc3QgdG8gdXNlIHByb3RvY29sIHYyIGJ5CiBzZW5kaW5nICJ2ZXJzaW9uPTIiIGFzIGFuIGV4dHJhIHBhcmFtZXRlcjoKIAogICAgMDAzZWdpdC11cGxvYWQtcGFjayAvcHJvamVjdC5naXRcMGhvc3Q9bXlzZXJ2ZXIuY29tXDBcMHZlcnNpb249MlwwCiAKLSBTU0ggYW5kIEZpbGUgVHJhbnNwb3J0Ci1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK1NTSCBhbmQgRmlsZSBUcmFuc3BvcnQKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAogV2hlbiB1c2luZyBlaXRoZXIgdGhlIHNzaDovLyBvciBmaWxlOi8vIHRyYW5zcG9ydCwgdGhlIEdJVF9QUk9UT0NPTAogZW52aXJvbm1lbnQgdmFyaWFibGUgbXVzdCBiZSBzZXQgZXhwbGljaXRseSB0byBpbmNsdWRlICJ2ZXJzaW9uPTIiLgogCi0gSFRUUCBUcmFuc3BvcnQKLX5+fn5+fn5+fn5+fn5+fn4KK0hUVFAgVHJhbnNwb3J0Cit+fn5+fn5+fn5+fn5+fgogCiBXaGVuIHVzaW5nIHRoZSBodHRwOi8vIG9yIGh0dHBzOi8vIHRyYW5zcG9ydCBhIGNsaWVudCBtYWtlcyBhICJzbWFydCIKIGluZm8vcmVmcyByZXF1ZXN0IGFzIGRlc2NyaWJlZCBpbiBgaHR0cC1wcm90b2NvbC50eHRgIGFuZCByZXF1ZXN0cyB0aGF0CkBAIC03OSw4ICs3OSw4IEBACiBTdWJzZXF1ZW50IHJlcXVlc3RzIGFyZSB0aGVuIG1hZGUgZGlyZWN0bHkgdG8gdGhlIHNlcnZpY2UKIGAkR0lUX1VSTC9naXQtdXBsb2FkLXBhY2tgLiAoVGhpcyB3b3JrcyB0aGUgc2FtZSBmb3IgZ2l0LXJlY2VpdmUtcGFjaykuCiAKLSBDYXBhYmlsaXR5IEFkdmVydGlzZW1lbnQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitDYXBhYmlsaXR5IEFkdmVydGlzZW1lbnQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBBIHNlcnZlciB3aGljaCBkZWNpZGVzIHRvIGNvbW11bmljYXRlIChiYXNlZCBvbiBhIHJlcXVlc3QgZnJvbSBhIGNsaWVudCkKIHVzaW5nIHByb3RvY29sIHZlcnNpb24gMiwgbm90aWZpZXMgdGhlIGNsaWVudCBieSBzZW5kaW5nIGEgdmVyc2lvbiBzdHJpbmcKQEAgLTEwMSw4ICsxMDEsOCBAQAogICAgIGtleSA9IDEqKEFMUEhBIHwgRElHSVQgfCAiLV8iKQogICAgIHZhbHVlID0gMSooQUxQSEEgfCBESUdJVCB8ICIgLV8uLD9cL3t9W10oKTw+IUAjJCVeJiorPTo7IikKIAotIENvbW1hbmQgUmVxdWVzdAotLS0tLS0tLS0tLS0tLS0tLS0KK0NvbW1hbmQgUmVxdWVzdAorLS0tLS0tLS0tLS0tLS0tCiAKIEFmdGVyIHJlY2VpdmluZyB0aGUgY2FwYWJpbGl0eSBhZHZlcnRpc2VtZW50LCBhIGNsaWVudCBjYW4gdGhlbiBpc3N1ZSBhCiByZXF1ZXN0IHRvIHNlbGVjdCB0aGUgY29tbWFuZCBpdCB3YW50cyB3aXRoIGFueSBwYXJ0aWN1bGFyIGNhcGFiaWxpdGllcwpAQCAtMTM3LDExICsxMzcsMTEgQEAKIG9wdGlvbmFsbHkgc2VuZCBhbiBlbXB0eSByZXF1ZXN0IGNvbnNpc3Rpbmcgb2YganVzdCBhIGZsdXNoLXBrdCB0bwogaW5kaWNhdGUgdGhhdCBubyBtb3JlIHJlcXVlc3RzIHdpbGwgYmUgbWFkZS4KIAotIENhcGFiaWxpdGllcwotLS0tLS0tLS0tLS0tLS0KK0NhcGFiaWxpdGllcworLS0tLS0tLS0tLS0tCiAKIFRoZXJlIGFyZSB0d28gZGlmZmVyZW50IHR5cGVzIG9mIGNhcGFiaWxpdGllczogbm9ybWFsIGNhcGFiaWxpdGllcywKLXdoaWNoIGNhbiBiZSB1c2VkIHRvIHRvIGNvbnZleSBpbmZvcm1hdGlvbiBvciBhbHRlciB0aGUgYmVoYXZpb3Igb2YgYQord2hpY2ggY2FuIGJlIHVzZWQgdG8gY29udmV5IGluZm9ybWF0aW9uIG9yIGFsdGVyIHRoZSBiZWhhdmlvciBvZiBhCiByZXF1ZXN0LCBhbmQgY29tbWFuZHMsIHdoaWNoIGFyZSB0aGUgY29yZSBhY3Rpb25zIHRoYXQgYSBjbGllbnQgd2FudHMgdG8KIHBlcmZvcm0gKGZldGNoLCBwdXNoLCBldGMpLgogCkBAIC0xNTMsOCArMTUzLDggQEAKIHBlcm1pdHMgc2ltcGxlIHJvdW5kLXJvYmluIGxvYWQtYmFsYW5jaW5nIG9uIHRoZSBzZXJ2ZXIgc2lkZSwgd2l0aG91dAogbmVlZGluZyB0byB3b3JyeSBhYm91dCBzdGF0ZSBtYW5hZ2VtZW50LgogCi0gYWdlbnQKLX5+fn5+fn4KK2FnZW50Cit+fn5+fgogCiBUaGUgc2VydmVyIGNhbiBhZHZlcnRpc2UgdGhlIGBhZ2VudGAgY2FwYWJpbGl0eSB3aXRoIGEgdmFsdWUgYFhgIChpbiB0aGUKIGZvcm0gYGFnZW50PVhgKSB0byBub3RpZnkgdGhlIGNsaWVudCB0aGF0IHRoZSBzZXJ2ZXIgaXMgcnVubmluZyB2ZXJzaW9uCkBAIC0xNjgsOCArMTY4LDggQEAKIGFuZCBkZWJ1Z2dpbmcgcHVycG9zZXMsIGFuZCBNVVNUIE5PVCBiZSB1c2VkIHRvIHByb2dyYW1tYXRpY2FsbHkgYXNzdW1lCiB0aGUgcHJlc2VuY2Ugb3IgYWJzZW5jZSBvZiBwYXJ0aWN1bGFyIGZlYXR1cmVzLgogCi0gbHMtcmVmcwotfn5+fn5+fn5+Citscy1yZWZzCit+fn5+fn5+CiAKIGBscy1yZWZzYCBpcyB0aGUgY29tbWFuZCB1c2VkIHRvIHJlcXVlc3QgYSByZWZlcmVuY2UgYWR2ZXJ0aXNlbWVudCBpbiB2Mi4KIFVubGlrZSB0aGUgY3VycmVudCByZWZlcmVuY2UgYWR2ZXJ0aXNlbWVudCwgbHMtcmVmcyB0YWtlcyBpbiBhcmd1bWVudHMKQEAgLTE5OSw4ICsxOTksOCBAQAogICAgIHN5bXJlZiA9ICJzeW1yZWYtdGFyZ2V0OiIgc3ltcmVmLXRhcmdldAogICAgIHBlZWxlZCA9ICJwZWVsZWQ6IiBvYmotaWQKIAotIGZldGNoCi1+fn5+fn5+CitmZXRjaAorfn5+fn4KIAogYGZldGNoYCBpcyB0aGUgY29tbWFuZCB1c2VkIHRvIGZldGNoIGEgcGFja2ZpbGUgaW4gdjIuICBJdCBjYW4gYmUgbG9va2VkCiBhdCBhcyBhIG1vZGlmaWVkIHZlcnNpb24gb2YgdGhlIHYxIGZldGNoIHdoZXJlIHRoZSByZWYtYWR2ZXJ0aXNlbWVudCBpcwpAQCAtMjUyLDcgKzI1Miw3IEBACiAgICAgb2ZzLWRlbHRhCiAJSW5kaWNhdGUgdGhhdCB0aGUgY2xpZW50IHVuZGVyc3RhbmRzIFBBQ0t2MiB3aXRoIGRlbHRhIHJlZmVycmluZwogCXRvIGl0cyBiYXNlIGJ5IHBvc2l0aW9uIGluIHBhY2sgcmF0aGVyIHRoYW4gYnkgYW4gb2lkLiAgVGhhdCBpcywKLQl0aGV5IGNhbiByZWFkIE9CSl9PRlNfREVMVEEgKGFrZSB0eXBlIDYpIGluIGEgcGFja2ZpbGUuCisJdGhleSBjYW4gcmVhZCBPQkpfT0ZTX0RFTFRBIChha2EgdHlwZSA2KSBpbiBhIHBhY2tmaWxlLgogCiBJZiB0aGUgJ3NoYWxsb3cnIGZlYXR1cmUgaXMgYWR2ZXJ0aXNlZCB0aGUgZm9sbG93aW5nIGFyZ3VtZW50cyBjYW4gYmUKIGluY2x1ZGVkIGluIHRoZSBjbGllbnRzIHJlcXVlc3QgYXMgd2VsbCBhcyB0aGUgcG90ZW50aWFsIGFkZGl0aW9uIG9mIHRoZQpAQCAtMjk2LDcgKzI5NiwxMyBAQAogCVJlcXVlc3QgdGhhdCB2YXJpb3VzIG9iamVjdHMgZnJvbSB0aGUgcGFja2ZpbGUgYmUgb21pdHRlZAogCXVzaW5nIG9uZSBvZiBzZXZlcmFsIGZpbHRlcmluZyB0ZWNobmlxdWVzLiBUaGVzZSBhcmUgaW50ZW5kZWQKIAlmb3IgdXNlIHdpdGggcGFydGlhbCBjbG9uZSBhbmQgcGFydGlhbCBmZXRjaCBvcGVyYXRpb25zLiBTZWUKLQlgcmV2LWxpc3RgIGZvciBwb3NzaWJsZSAiZmlsdGVyLXNwZWMiIHZhbHVlcy4KKwlgcmV2LWxpc3RgIGZvciBwb3NzaWJsZSAiZmlsdGVyLXNwZWMiIHZhbHVlcy4gV2hlbiBjb21tdW5pY2F0aW5nCisJd2l0aCBvdGhlciBwcm9jZXNzZXMsIHNlbmRlcnMgU0hPVUxEIHRyYW5zbGF0ZSBzY2FsZWQgaW50ZWdlcnMKKwkoZS5nLiAiMWsiKSBpbnRvIGEgZnVsbHktZXhwYW5kZWQgZm9ybSAoZS5nLiAiMTAyNCIpIHRvIGFpZAorCWludGVyb3BlcmFiaWxpdHkgd2l0aCBvbGRlciByZWNlaXZlcnMgdGhhdCBtYXkgbm90IHVuZGVyc3RhbmQKKwluZXdseS1pbnZlbnRlZCBzY2FsaW5nIHN1ZmZpeGVzLiBIb3dldmVyLCByZWNlaXZlcnMgU0hPVUxECisJYWNjZXB0IHRoZSBmb2xsb3dpbmcgc3VmZml4ZXM6ICdrJywgJ20nLCBhbmQgJ2cnIGZvciAxMDI0LAorCTEwNDg1NzYsIGFuZCAxMDczNzQxODI0LCByZXNwZWN0aXZlbHkuCiAKIElmIHRoZSAncmVmLWluLXdhbnQnIGZlYXR1cmUgaXMgYWR2ZXJ0aXNlZCwgdGhlIGZvbGxvd2luZyBhcmd1bWVudCBjYW4KIGJlIGluY2x1ZGVkIGluIHRoZSBjbGllbnQncyByZXF1ZXN0IGFzIHdlbGwgYXMgdGhlIHBvdGVudGlhbCBhZGRpdGlvbiBvZgpAQCAtMzA3LDYgKzMxMywxNiBAQAogCXBhcnRpY3VsYXIgcmVmLCB3aGVyZSA8cmVmPiBpcyB0aGUgZnVsbCBuYW1lIG9mIGEgcmVmIG9uIHRoZQogCXNlcnZlci4KIAorSWYgdGhlICdzaWRlYmFuZC1hbGwnIGZlYXR1cmUgaXMgYWR2ZXJ0aXNlZCwgdGhlIGZvbGxvd2luZyBhcmd1bWVudCBjYW4gYmUKK2luY2x1ZGVkIGluIHRoZSBjbGllbnQncyByZXF1ZXN0OgorCisgICAgc2lkZWJhbmQtYWxsCisJSW5zdHJ1Y3QgdGhlIHNlcnZlciB0byBzZW5kIHRoZSB3aG9sZSByZXNwb25zZSBtdWx0aXBsZXhlZCwgbm90IGp1c3QKKwl0aGUgcGFja2ZpbGUgc2VjdGlvbi4gQWxsIG5vbi1mbHVzaCBhbmQgbm9uLWRlbGltIFBLVC1MSU5FIGluIHRoZQorCXJlc3BvbnNlIChub3Qgb25seSBpbiB0aGUgcGFja2ZpbGUgc2VjdGlvbikgd2lsbCB0aGVuIHN0YXJ0IHdpdGggYSBieXRlCisJaW5kaWNhdGluZyBpdHMgc2lkZWJhbmQgKDEsIDIsIG9yIDMpLCBhbmQgdGhlIHNlcnZlciBtYXkgc2VuZCAiMDAwNVwyIgorCShhIFBLVC1MSU5FIG9mIHNpZGViYW5kIDIgd2l0aCBubyBwYXlsb2FkKSBhcyBhIGtlZXBhbGl2ZSBwYWNrZXQuCisKIFRoZSByZXNwb25zZSBvZiBgZmV0Y2hgIGlzIGJyb2tlbiBpbnRvIGEgbnVtYmVyIG9mIHNlY3Rpb25zIHNlcGFyYXRlZCBieQogZGVsaW1pdGVyIHBhY2tldHMgKDAwMDEpLCB3aXRoIGVhY2ggc2VjdGlvbiBiZWdpbm5pbmcgd2l0aCBpdHMgc2VjdGlvbgogaGVhZGVyLgpAQCAtNDI4LDggKzQ0NCw4IEBACiAJCTIgLSBwcm9ncmVzcyBtZXNzYWdlcwogCQkzIC0gZmF0YWwgZXJyb3IgbWVzc2FnZSBqdXN0IGJlZm9yZSBzdHJlYW0gYWJvcnRzCiAKLSBzZXJ2ZXItb3B0aW9uCi1+fn5+fn5+fn5+fn5+fn4KK3NlcnZlci1vcHRpb24KK35+fn5+fn5+fn5+fn4KIAogSWYgYWR2ZXJ0aXNlZCwgaW5kaWNhdGVzIHRoYXQgYW55IG51bWJlciBvZiBzZXJ2ZXIgc3BlY2lmaWMgb3B0aW9ucyBjYW4gYmUKIGluY2x1ZGVkIGluIGEgcmVxdWVzdC4gIFRoaXMgaXMgZG9uZSBieSBzZW5kaW5nIGVhY2ggb3B0aW9uIGFzIGEKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3JhY3ktZ2l0LnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3JhY3ktZ2l0LnR4dAppbmRleCA0YThiZTRkLi5jZWRhNGJiIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9yYWN5LWdpdC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcmFjeS1naXQudHh0CkBAIC01MSw3ICs1MSw3IEBACiBvbmx5IGZpeGVzIHRoZSBpc3N1ZSBmb3IgZmlsZSBzeXN0ZW1zIHdpdGggZXhhY3RseSAxIG5zIG9yIDEgcwogcmVzb2x1dGlvbi4gT3RoZXIgZmlsZSBzeXN0ZW1zIGFyZSBzdGlsbCBicm9rZW4gaW4gY3VycmVudCBMaW51eAoga2VybmVscyAoZS5nLiBDRVBILCBDSUZTLCBOVEZTLCBVREYpLCBzZWUKLWh0dHBzOi8vbGttbC5vcmcvbGttbC8yMDE1LzYvOS83MTQKK2h0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xrbWwvNTU3NzI0MEQuNzAyMDMwOUBnbWFpbC5jb20vCiAKIFJhY3kgR2l0CiAtLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcmVyZXJlLnR4dCBiL0RvY3VtZW50YXRpb24vdGVjaG5pY2FsL3JlcmVyZS50eHQKaW5kZXggYWEyMmQ3YS4uYWY1ZjlmYyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvcmVyZXJlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3RlY2huaWNhbC9yZXJlcmUudHh0CkBAIC0xMTcsNyArMTE3LDcgQEAKIDQgY29tYmluYXRpb25zIG9mICgiQiBvciBDIiwgIkMgb3IgQiIpIHggKCJYIG9yIFkiLCAiWSBvciBYIikuCiAKIEJ5IHNvcnRpbmcsIHRoZSBjb25mbGljdCBpcyBnaXZlbiBpdHMgY2Fub25pY2FsIG5hbWUsIG5hbWVseSwgImFuCi1lYXJseSBwYXJ0IGJlY2FtZSBCIG9yIEMsIGEgbGF0ZSBwYXJ0IGJlY2FtZXMgWCBvciBZIiwgYW5kIHdoZW5ldmVyCitlYXJseSBwYXJ0IGJlY2FtZSBCIG9yIEMsIGEgbGF0ZSBwYXJ0IGJlY2FtZSBYIG9yIFkiLCBhbmQgd2hlbmV2ZXIKIGFueSBvZiB0aGVzZSBmb3VyIHBhdHRlcm5zIGFwcGVhciwgYW5kIHdlIGNhbiBnZXQgdG8gdGhlIHNhbWUgY29uZmxpY3QKIGFuZCByZXNvbHV0aW9uIHRoYXQgd2Ugc2F3IGVhcmxpZXIuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdHJhY2UyLXRhcmdldC12YWx1ZXMudHh0IGIvRG9jdW1lbnRhdGlvbi90cmFjZTItdGFyZ2V0LXZhbHVlcy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk4NWI2ZAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vdHJhY2UyLXRhcmdldC12YWx1ZXMudHh0CkBAIC0wLDAgKzEsMTIgQEAKKy0tCisqIGAwYCBvciBgZmFsc2VgIC0gRGlzYWJsZXMgdGhlIHRhcmdldC4KKyogYDFgIG9yIGB0cnVlYCAtIFdyaXRlcyB0byBgU1RERVJSYC4KKyogYFsyLTldYCAtIFdyaXRlcyB0byB0aGUgYWxyZWFkeSBvcGVuZWQgZmlsZSBkZXNjcmlwdG9yLgorKiBgPGFic29sdXRlLXBhdGhuYW1lPmAgLSBXcml0ZXMgdG8gdGhlIGZpbGUgaW4gYXBwZW5kIG1vZGUuIElmIHRoZSB0YXJnZXQKK2FscmVhZHkgZXhpc3RzIGFuZCBpcyBhIGRpcmVjdG9yeSwgdGhlIHRyYWNlcyB3aWxsIGJlIHdyaXR0ZW4gdG8gZmlsZXMgKG9uZQorcGVyIHByb2Nlc3MpIHVuZGVybmVhdGggdGhlIGdpdmVuIGRpcmVjdG9yeS4KKyogYGFmX3VuaXg6Wzxzb2NrZXRfdHlwZT46XTxhYnNvbHV0ZS1wYXRobmFtZT5gIC0gV3JpdGUgdG8gYQorVW5peCBEb21haW5Tb2NrZXQgKG9uIHBsYXRmb3JtcyB0aGF0IHN1cHBvcnQgdGhlbSkuICBTb2NrZXQKK3R5cGUgY2FuIGJlIGVpdGhlciBgc3RyZWFtYCBvciBgZGdyYW1gOyBpZiBvbWl0dGVkIEdpdCB3aWxsCit0cnkgYm90aC4KKy0tCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3VybHMudHh0IGIvRG9jdW1lbnRhdGlvbi91cmxzLnR4dAppbmRleCBiMDVkYTk1Li4xYzIyOWQ3IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3VybHMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vdXJscy50eHQKQEAgLTUzLDYgKzUzLDkgQEAKIC0tbG9jYWwgb3B0aW9uLgogZW5kaWY6OmdpdC1jbG9uZVtdCiAKKydnaXQgY2xvbmUnLCAnZ2l0IGZldGNoJyBhbmQgJ2dpdCBwdWxsJywgYnV0IG5vdCAnZ2l0IHB1c2gnLCB3aWxsIGFsc28KK2FjY2VwdCBhIHN1aXRhYmxlIGJ1bmRsZSBmaWxlLiBTZWUgbGlua2dpdDpnaXQtYnVuZGxlWzFdLgorCiBXaGVuIEdpdCBkb2Vzbid0IGtub3cgaG93IHRvIGhhbmRsZSBhIGNlcnRhaW4gdHJhbnNwb3J0IHByb3RvY29sLCBpdAogYXR0ZW1wdHMgdG8gdXNlIHRoZSAncmVtb3RlLTx0cmFuc3BvcnQ+JyByZW1vdGUgaGVscGVyLCBpZiBvbmUKIGV4aXN0cy4gVG8gZXhwbGljaXRseSByZXF1ZXN0IGEgcmVtb3RlIGhlbHBlciwgdGhlIGZvbGxvd2luZyBzeW50YXgKQEAgLTYyLDcgKzY1LDcgQEAKIAogd2hlcmUgPGFkZHJlc3M+IG1heSBiZSBhIHBhdGgsIGEgc2VydmVyIGFuZCBwYXRoLCBvciBhbiBhcmJpdHJhcnkKIFVSTC1saWtlIHN0cmluZyByZWNvZ25pemVkIGJ5IHRoZSBzcGVjaWZpYyByZW1vdGUgaGVscGVyIGJlaW5nCi1pbnZva2VkLiBTZWUgbGlua2dpdDpnaXRyZW1vdGUtaGVscGVyc1sxXSBmb3IgZGV0YWlscy4KK2ludm9rZWQuIFNlZSBsaW5rZ2l0OmdpdHJlbW90ZS1oZWxwZXJzWzddIGZvciBkZXRhaWxzLgogCiBJZiB0aGVyZSBhcmUgYSBsYXJnZSBudW1iZXIgb2Ygc2ltaWxhcmx5LW5hbWVkIHJlbW90ZSByZXBvc2l0b3JpZXMgYW5kCiB5b3Ugd2FudCB0byB1c2UgYSBkaWZmZXJlbnQgZm9ybWF0IGZvciB0aGVtIChzdWNoIHRoYXQgdGhlIFVSTHMgeW91CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3VzZXItbWFudWFsLnR4dCBiL0RvY3VtZW50YXRpb24vdXNlci1tYW51YWwudHh0CmluZGV4IGVmZjc4OTAuLjgzMzY1MjkgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vdXNlci1tYW51YWwudHh0CisrKyBiL0RvY3VtZW50YXRpb24vdXNlci1tYW51YWwudHh0CkBAIC0xLDUgKzEsNCBAQAotR2l0IFVzZXIgTWFudWFsCi09PT09PT09PT09PT09PT0KKz0gR2l0IFVzZXIgTWFudWFsCiAKIEdpdCBpcyBhIGZhc3QgZGlzdHJpYnV0ZWQgcmV2aXNpb24gY29udHJvbCBzeXN0ZW0uCiAKQEAgLTQxLDEyICs0MCwxMCBAQAogCiAKIFtbcmVwb3NpdG9yaWVzLWFuZC1icmFuY2hlc11dCi1SZXBvc2l0b3JpZXMgYW5kIEJyYW5jaGVzCi09PT09PT09PT09PT09PT09PT09PT09PT09Cis9PSBSZXBvc2l0b3JpZXMgYW5kIEJyYW5jaGVzCiAKIFtbaG93LXRvLWdldC1hLWdpdC1yZXBvc2l0b3J5XV0KLUhvdyB0byBnZXQgYSBHaXQgcmVwb3NpdG9yeQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis9PT0gSG93IHRvIGdldCBhIEdpdCByZXBvc2l0b3J5CiAKIEl0IHdpbGwgYmUgdXNlZnVsIHRvIGhhdmUgYSBHaXQgcmVwb3NpdG9yeSB0byBleHBlcmltZW50IHdpdGggYXMgeW91CiByZWFkIHRoaXMgbWFudWFsLgpAQCAtNzMsOCArNzAsNyBAQAogYWJvdXQgdGhlIGhpc3Rvcnkgb2YgdGhlIHByb2plY3QuCiAKIFtbaG93LXRvLWNoZWNrLW91dF1dCi1Ib3cgdG8gY2hlY2sgb3V0IGEgZGlmZmVyZW50IHZlcnNpb24gb2YgYSBwcm9qZWN0Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis9PT0gSG93IHRvIGNoZWNrIG91dCBhIGRpZmZlcmVudCB2ZXJzaW9uIG9mIGEgcHJvamVjdAogCiBHaXQgaXMgYmVzdCB0aG91Z2h0IG9mIGFzIGEgdG9vbCBmb3Igc3RvcmluZyB0aGUgaGlzdG9yeSBvZiBhIGNvbGxlY3Rpb24KIG9mIGZpbGVzLiAgSXQgc3RvcmVzIHRoZSBoaXN0b3J5IGFzIGEgY29tcHJlc3NlZCBjb2xsZWN0aW9uIG9mCkBAIC0xMjIsMTAgKzExOCwxMCBAQAogd2hpbGUgaGVhZHMgYXJlIGV4cGVjdGVkIHRvIGFkdmFuY2UgYXMgZGV2ZWxvcG1lbnQgcHJvZ3Jlc3Nlcy4KIAogQ3JlYXRlIGEgbmV3IGJyYW5jaCBoZWFkIHBvaW50aW5nIHRvIG9uZSBvZiB0aGVzZSB2ZXJzaW9ucyBhbmQgY2hlY2sgaXQKLW91dCB1c2luZyBsaW5rZ2l0OmdpdC1jaGVja291dFsxXToKK291dCB1c2luZyBsaW5rZ2l0OmdpdC1zd2l0Y2hbMV06CiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotJCBnaXQgY2hlY2tvdXQgLWIgbmV3IHYyLjYuMTMKKyQgZ2l0IHN3aXRjaCAtYyBuZXcgdjIuNi4xMwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIFRoZSB3b3JraW5nIGRpcmVjdG9yeSB0aGVuIHJlZmxlY3RzIHRoZSBjb250ZW50cyB0aGF0IHRoZSBwcm9qZWN0IGhhZApAQCAtMTUxLDggKzE0Nyw3IEBACiBjYXJlZnVsbHkuCiAKIFtbdW5kZXJzdGFuZGluZy1jb21taXRzXV0KLVVuZGVyc3RhbmRpbmcgSGlzdG9yeTogQ29tbWl0cwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis9PT0gVW5kZXJzdGFuZGluZyBIaXN0b3J5OiBDb21taXRzCiAKIEV2ZXJ5IGNoYW5nZSBpbiB0aGUgaGlzdG9yeSBvZiBhIHByb2plY3QgaXMgcmVwcmVzZW50ZWQgYnkgYSBjb21taXQuCiBUaGUgbGlua2dpdDpnaXQtc2hvd1sxXSBjb21tYW5kIHNob3dzIHRoZSBtb3N0IHJlY2VudCBjb21taXQgb24gdGhlCkBAIC0yMDIsOCArMTk3LDcgQEAKIHdpdGggYSBuYW1lIHRoYXQgaXMgYSBoYXNoIG9mIGl0cyBjb250ZW50cy4KIAogW1t1bmRlcnN0YW5kaW5nLXJlYWNoYWJpbGl0eV1dCi1VbmRlcnN0YW5kaW5nIGhpc3Rvcnk6IGNvbW1pdHMsIHBhcmVudHMsIGFuZCByZWFjaGFiaWxpdHkKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorPT09PSBVbmRlcnN0YW5kaW5nIGhpc3Rvcnk6IGNvbW1pdHMsIHBhcmVudHMsIGFuZCByZWFjaGFiaWxpdHkKIAogRXZlcnkgY29tbWl0IChleGNlcHQgdGhlIHZlcnkgZmlyc3QgY29tbWl0IGluIGEgcHJvamVjdCkgYWxzbyBoYXMgYQogcGFyZW50IGNvbW1pdCB3aGljaCBzaG93cyB3aGF0IGhhcHBlbmVkIGJlZm9yZSB0aGlzIGNvbW1pdC4KQEAgLTIyNyw4ICsyMjEsNyBAQAogbGVhZGluZyBmcm9tIGNvbW1pdCBZIHRvIGNvbW1pdCBYLgogCiBbW2hpc3RvcnktZGlhZ3JhbXNdXQotVW5kZXJzdGFuZGluZyBoaXN0b3J5OiBIaXN0b3J5IGRpYWdyYW1zCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKz09PT0gVW5kZXJzdGFuZGluZyBoaXN0b3J5OiBIaXN0b3J5IGRpYWdyYW1zCiAKIFdlIHdpbGwgc29tZXRpbWVzIHJlcHJlc2VudCBHaXQgaGlzdG9yeSB1c2luZyBkaWFncmFtcyBsaWtlIHRoZSBvbmUKIGJlbG93LiAgQ29tbWl0cyBhcmUgc2hvd24gYXMgIm8iLCBhbmQgdGhlIGxpbmtzIGJldHdlZW4gdGhlbSB3aXRoCkBAIC0yNDcsOCArMjQwLDcgQEAKIGJlIHJlcGxhY2VkIHdpdGggYW5vdGhlciBsZXR0ZXIgb3IgbnVtYmVyLgogCiBbW3doYXQtaXMtYS1icmFuY2hdXQotVW5kZXJzdGFuZGluZyBoaXN0b3J5OiBXaGF0IGlzIGEgYnJhbmNoPwotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorPT09PSBVbmRlcnN0YW5kaW5nIGhpc3Rvcnk6IFdoYXQgaXMgYSBicmFuY2g/CiAKIFdoZW4gd2UgbmVlZCB0byBiZSBwcmVjaXNlLCB3ZSB3aWxsIHVzZSB0aGUgd29yZCAiYnJhbmNoIiB0byBtZWFuIGEgbGluZQogb2YgZGV2ZWxvcG1lbnQsIGFuZCAiYnJhbmNoIGhlYWQiIChvciBqdXN0ICJoZWFkIikgdG8gbWVhbiBhIHJlZmVyZW5jZQpAQCAtMjYxLDggKzI1Myw3IEBACiAiYnJhbmNoIiBib3RoIGZvciBicmFuY2hlcyBhbmQgZm9yIGJyYW5jaCBoZWFkcy4KIAogW1ttYW5pcHVsYXRpbmctYnJhbmNoZXNdXQotTWFuaXB1bGF0aW5nIGJyYW5jaGVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBNYW5pcHVsYXRpbmcgYnJhbmNoZXMKIAogQ3JlYXRpbmcsIGRlbGV0aW5nLCBhbmQgbW9kaWZ5aW5nIGJyYW5jaGVzIGlzIHF1aWNrIGFuZCBlYXN5OyBoZXJlJ3MKIGEgc3VtbWFyeSBvZiB0aGUgY29tbWFuZHM6CkBAIC0yODIsMTAgKzI3MywxMCBAQAogCXRoaXMgY29tbWFuZCB3aWxsIGZhaWwgd2l0aCBhIHdhcm5pbmcuCiBgZ2l0IGJyYW5jaCAtRCA8YnJhbmNoPmA6OgogCWRlbGV0ZSB0aGUgYnJhbmNoIGA8YnJhbmNoPmAgaXJyZXNwZWN0aXZlIG9mIGl0cyBtZXJnZWQgc3RhdHVzLgotYGdpdCBjaGVja291dCA8YnJhbmNoPmA6OgorYGdpdCBzd2l0Y2ggPGJyYW5jaD5gOjoKIAltYWtlIHRoZSBjdXJyZW50IGJyYW5jaCBgPGJyYW5jaD5gLCB1cGRhdGluZyB0aGUgd29ya2luZwogCWRpcmVjdG9yeSB0byByZWZsZWN0IHRoZSB2ZXJzaW9uIHJlZmVyZW5jZWQgYnkgYDxicmFuY2g+YC4KLWBnaXQgY2hlY2tvdXQgLWIgPG5ldz4gPHN0YXJ0LXBvaW50PmA6OgorYGdpdCBzd2l0Y2ggLWMgPG5ldz4gPHN0YXJ0LXBvaW50PmA6OgogCWNyZWF0ZSBhIG5ldyBicmFuY2ggYDxuZXc+YCByZWZlcmVuY2luZyBgPHN0YXJ0LXBvaW50PmAsIGFuZAogCWNoZWNrIGl0IG91dC4KIApAQCAtMjk5LDI1ICsyOTAsMjQgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBbW2RldGFjaGVkLWhlYWRdXQotRXhhbWluaW5nIGFuIG9sZCB2ZXJzaW9uIHdpdGhvdXQgY3JlYXRpbmcgYSBuZXcgYnJhbmNoCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBFeGFtaW5pbmcgYW4gb2xkIHZlcnNpb24gd2l0aG91dCBjcmVhdGluZyBhIG5ldyBicmFuY2gKIAotVGhlIGBnaXQgY2hlY2tvdXRgIGNvbW1hbmQgbm9ybWFsbHkgZXhwZWN0cyBhIGJyYW5jaCBoZWFkLCBidXQgd2lsbCBhbHNvCi1hY2NlcHQgYW4gYXJiaXRyYXJ5IGNvbW1pdDsgZm9yIGV4YW1wbGUsIHlvdSBjYW4gY2hlY2sgb3V0IHRoZSBjb21taXQKLXJlZmVyZW5jZWQgYnkgYSB0YWc6CitUaGUgYGdpdCBzd2l0Y2hgIGNvbW1hbmQgbm9ybWFsbHkgZXhwZWN0cyBhIGJyYW5jaCBoZWFkLCBidXQgd2lsbCBhbHNvCithY2NlcHQgYW4gYXJiaXRyYXJ5IGNvbW1pdCB3aGVuIGludm9rZWQgd2l0aCAtLWRldGFjaDsgZm9yIGV4YW1wbGUsCit5b3UgY2FuIGNoZWNrIG91dCB0aGUgY29tbWl0IHJlZmVyZW5jZWQgYnkgYSB0YWc6CiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotJCBnaXQgY2hlY2tvdXQgdjIuNi4xNworJCBnaXQgc3dpdGNoIC0tZGV0YWNoIHYyLjYuMTcKIE5vdGU6IGNoZWNraW5nIG91dCAndjIuNi4xNycuCiAKIFlvdSBhcmUgaW4gJ2RldGFjaGVkIEhFQUQnIHN0YXRlLiBZb3UgY2FuIGxvb2sgYXJvdW5kLCBtYWtlIGV4cGVyaW1lbnRhbAogY2hhbmdlcyBhbmQgY29tbWl0IHRoZW0sIGFuZCB5b3UgY2FuIGRpc2NhcmQgYW55IGNvbW1pdHMgeW91IG1ha2UgaW4gdGhpcwotc3RhdGUgd2l0aG91dCBpbXBhY3RpbmcgYW55IGJyYW5jaGVzIGJ5IHBlcmZvcm1pbmcgYW5vdGhlciBjaGVja291dC4KK3N0YXRlIHdpdGhvdXQgaW1wYWN0aW5nIGFueSBicmFuY2hlcyBieSBwZXJmb3JtaW5nIGFub3RoZXIgc3dpdGNoLgogCiBJZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBuZXcgYnJhbmNoIHRvIHJldGFpbiBjb21taXRzIHlvdSBjcmVhdGUsIHlvdSBtYXkKLWRvIHNvIChub3cgb3IgbGF0ZXIpIGJ5IHVzaW5nIC1iIHdpdGggdGhlIGNoZWNrb3V0IGNvbW1hbmQgYWdhaW4uIEV4YW1wbGU6CitkbyBzbyAobm93IG9yIGxhdGVyKSBieSB1c2luZyAtYyB3aXRoIHRoZSBzd2l0Y2ggY29tbWFuZCBhZ2Fpbi4gRXhhbXBsZToKIAotICBnaXQgY2hlY2tvdXQgLWIgbmV3X2JyYW5jaF9uYW1lCisgIGdpdCBzd2l0Y2ggLWMgbmV3X2JyYW5jaF9uYW1lCiAKIEhFQUQgaXMgbm93IGF0IDQyN2FiZmEgTGludXggdjIuNi4xNwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0zNDAsOCArMzMwLDcgQEAKIChvciB0YWcpIGZvciB0aGlzIHZlcnNpb24gbGF0ZXIgaWYgeW91IGRlY2lkZSB0by4KIAogW1tleGFtaW5pbmctcmVtb3RlLWJyYW5jaGVzXV0KLUV4YW1pbmluZyBicmFuY2hlcyBmcm9tIGEgcmVtb3RlIHJlcG9zaXRvcnkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBFeGFtaW5pbmcgYnJhbmNoZXMgZnJvbSBhIHJlbW90ZSByZXBvc2l0b3J5CiAKIFRoZSAibWFzdGVyIiBicmFuY2ggdGhhdCB3YXMgY3JlYXRlZCBhdCB0aGUgdGltZSB5b3UgY2xvbmVkIGlzIGEgY29weQogb2YgdGhlIEhFQUQgaW4gdGhlIHJlcG9zaXRvcnkgdGhhdCB5b3UgY2xvbmVkIGZyb20uICBUaGF0IHJlcG9zaXRvcnkKQEAgLTM3Myw3ICszNjIsNyBAQAogb24gYSBicmFuY2ggb2YgeW91ciBvd24sIGp1c3QgYXMgeW91IHdvdWxkIGZvciBhIHRhZzoKIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0kIGdpdCBjaGVja291dCAtYiBteS10b2RvLWNvcHkgb3JpZ2luL3RvZG8KKyQgZ2l0IHN3aXRjaCAtYyBteS10b2RvLWNvcHkgb3JpZ2luL3RvZG8KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBZb3UgY2FuIGFsc28gY2hlY2sgb3V0IGBvcmlnaW4vdG9kb2AgZGlyZWN0bHkgdG8gZXhhbWluZSBpdCBvcgpAQCAtMzgzLDggKzM3Miw3IEBACiB0byByZWZlciB0byB0aGUgcmVwb3NpdG9yeSB0aGF0IHlvdSBjbG9uZWQgZnJvbS4KIAogW1tob3ctZ2l0LXN0b3Jlcy1yZWZlcmVuY2VzXV0KLU5hbWluZyBicmFuY2hlcywgdGFncywgYW5kIG90aGVyIHJlZmVyZW5jZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBOYW1pbmcgYnJhbmNoZXMsIHRhZ3MsIGFuZCBvdGhlciByZWZlcmVuY2VzCiAKIEJyYW5jaGVzLCByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMsIGFuZCB0YWdzIGFyZSBhbGwgcmVmZXJlbmNlcyB0bwogY29tbWl0cy4gIEFsbCByZWZlcmVuY2VzIGFyZSBuYW1lZCB3aXRoIGEgc2xhc2gtc2VwYXJhdGVkIHBhdGggbmFtZQpAQCAtNDEzLDggKzQwMSw3IEBACiBSRVZJU0lPTlMiIHNlY3Rpb24gb2YgbGlua2dpdDpnaXRyZXZpc2lvbnNbN10uCiAKIFtbVXBkYXRpbmctYS1yZXBvc2l0b3J5LVdpdGgtZ2l0LWZldGNoXV0KLVVwZGF0aW5nIGEgcmVwb3NpdG9yeSB3aXRoIGdpdCBmZXRjaAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis9PT0gVXBkYXRpbmcgYSByZXBvc2l0b3J5IHdpdGggZ2l0IGZldGNoCiAKIEFmdGVyIHlvdSBjbG9uZSBhIHJlcG9zaXRvcnkgYW5kIGNvbW1pdCBhIGZldyBjaGFuZ2VzIG9mIHlvdXIgb3duLCB5b3UKIG1heSB3aXNoIHRvIGNoZWNrIHRoZSBvcmlnaW5hbCByZXBvc2l0b3J5IGZvciB1cGRhdGVzLgpAQCAtNDI1LDggKzQxMiw3IEBACiAibWFzdGVyIiBicmFuY2ggdGhhdCB3YXMgY3JlYXRlZCBmb3IgeW91IG9uIGNsb25lLgogCiBbW2ZldGNoaW5nLWJyYW5jaGVzXV0KLUZldGNoaW5nIGJyYW5jaGVzIGZyb20gb3RoZXIgcmVwb3NpdG9yaWVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorPT09IEZldGNoaW5nIGJyYW5jaGVzIGZyb20gb3RoZXIgcmVwb3NpdG9yaWVzCiAKIFlvdSBjYW4gYWxzbyB0cmFjayBicmFuY2hlcyBmcm9tIHJlcG9zaXRvcmllcyBvdGhlciB0aGFuIHRoZSBvbmUgeW91CiBjbG9uZWQgZnJvbSwgdXNpbmcgbGlua2dpdDpnaXQtcmVtb3RlWzFdOgpAQCAtNDc0LDggKzQ2MCw3IEBACiBsaW5rZ2l0OmdpdC1jb25maWdbMV0gZm9yIGRldGFpbHMuKQogCiBbW2V4cGxvcmluZy1naXQtaGlzdG9yeV1dCi1FeHBsb3JpbmcgR2l0IGhpc3RvcnkKLT09PT09PT09PT09PT09PT09PT09PQorPT0gRXhwbG9yaW5nIEdpdCBoaXN0b3J5CiAKIEdpdCBpcyBiZXN0IHRob3VnaHQgb2YgYXMgYSB0b29sIGZvciBzdG9yaW5nIHRoZSBoaXN0b3J5IG9mIGEKIGNvbGxlY3Rpb24gb2YgZmlsZXMuICBJdCBkb2VzIHRoaXMgYnkgc3RvcmluZyBjb21wcmVzc2VkIHNuYXBzaG90cyBvZgpAQCAtNDg5LDggKzQ3NCw3IEBACiBjb21taXQgdGhhdCBpbnRyb2R1Y2VkIGEgYnVnIGludG8gYSBwcm9qZWN0LgogCiBbW3VzaW5nLWJpc2VjdF1dCi1Ib3cgdG8gdXNlIGJpc2VjdCB0byBmaW5kIGEgcmVncmVzc2lvbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBIb3cgdG8gdXNlIGJpc2VjdCB0byBmaW5kIGEgcmVncmVzc2lvbgogCiBTdXBwb3NlIHZlcnNpb24gMi42LjE4IG9mIHlvdXIgcHJvamVjdCB3b3JrZWQsIGJ1dCB0aGUgdmVyc2lvbiBhdAogIm1hc3RlciIgY3Jhc2hlcy4gIFNvbWV0aW1lcyB0aGUgYmVzdCB3YXkgdG8gZmluZCB0aGUgY2F1c2Ugb2Ygc3VjaCBhCkBAIC01NzIsOCArNTU2LDcgQEAKIGJpc2VjdGAgZmVhdHVyZXMuCiAKIFtbbmFtaW5nLWNvbW1pdHNdXQotTmFtaW5nIGNvbW1pdHMKLS0tLS0tLS0tLS0tLS0tCis9PT0gTmFtaW5nIGNvbW1pdHMKIAogV2UgaGF2ZSBzZWVuIHNldmVyYWwgd2F5cyBvZiBuYW1pbmcgY29tbWl0cyBhbHJlYWR5OgogCkBAIC02MzcsOCArNjIwLDcgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogW1tjcmVhdGluZy10YWdzXV0KLUNyZWF0aW5nIHRhZ3MKLS0tLS0tLS0tLS0tLS0KKz09PSBDcmVhdGluZyB0YWdzCiAKIFdlIGNhbiBhbHNvIGNyZWF0ZSBhIHRhZyB0byByZWZlciB0byBhIHBhcnRpY3VsYXIgY29tbWl0OyBhZnRlcgogcnVubmluZwpAQCAtNjU1LDggKzYzNyw3IEBACiBmb3IgZGV0YWlscy4KIAogW1ticm93c2luZy1yZXZpc2lvbnNdXQotQnJvd3NpbmcgcmV2aXNpb25zCi0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBCcm93c2luZyByZXZpc2lvbnMKIAogVGhlIGxpbmtnaXQ6Z2l0LWxvZ1sxXSBjb21tYW5kIGNhbiBzaG93IGxpc3RzIG9mIGNvbW1pdHMuICBPbiBpdHMKIG93biwgaXQgc2hvd3MgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gdGhlIHBhcmVudCBjb21taXQ7IGJ1dCB5b3UKQEAgLTY5Nyw4ICs2NzgsNyBAQAogY29tbWl0cyBhcmUgbGlzdGVkIGluIG1heSBiZSBzb21ld2hhdCBhcmJpdHJhcnkuCiAKIFtbZ2VuZXJhdGluZy1kaWZmc11dCi1HZW5lcmF0aW5nIGRpZmZzCi0tLS0tLS0tLS0tLS0tLS0tCis9PT0gR2VuZXJhdGluZyBkaWZmcwogCiBZb3UgY2FuIGdlbmVyYXRlIGRpZmZzIGJldHdlZW4gYW55IHR3byB2ZXJzaW9ucyB1c2luZwogbGlua2dpdDpnaXQtZGlmZlsxXToKQEAgLTcyNiw4ICs3MDYsNyBAQAogYnV0IG5vdCBmcm9tIG1hc3Rlci4KIAogW1t2aWV3aW5nLW9sZC1maWxlLXZlcnNpb25zXV0KLVZpZXdpbmcgb2xkIGZpbGUgdmVyc2lvbnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBWaWV3aW5nIG9sZCBmaWxlIHZlcnNpb25zCiAKIFlvdSBjYW4gYWx3YXlzIHZpZXcgYW4gb2xkIHZlcnNpb24gb2YgYSBmaWxlIGJ5IGp1c3QgY2hlY2tpbmcgb3V0IHRoZQogY29ycmVjdCByZXZpc2lvbiBmaXJzdC4gIEJ1dCBzb21ldGltZXMgaXQgaXMgbW9yZSBjb252ZW5pZW50IHRvIGJlCkBAIC03NDIsMTIgKzcyMSwxMCBAQAogbWF5IGJlIGFueSBwYXRoIHRvIGEgZmlsZSB0cmFja2VkIGJ5IEdpdC4KIAogW1toaXN0b3J5LWV4YW1wbGVzXV0KLUV4YW1wbGVzCi0tLS0tLS0tLQorPT09IEV4YW1wbGVzCiAKIFtbY291bnRpbmctY29tbWl0cy1vbi1hLWJyYW5jaF1dCi1Db3VudGluZyB0aGUgbnVtYmVyIG9mIGNvbW1pdHMgb24gYSBicmFuY2gKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorPT09PSBDb3VudGluZyB0aGUgbnVtYmVyIG9mIGNvbW1pdHMgb24gYSBicmFuY2gKIAogU3VwcG9zZSB5b3Ugd2FudCB0byBrbm93IGhvdyBtYW55IGNvbW1pdHMgeW91J3ZlIG1hZGUgb24gYG15YnJhbmNoYAogc2luY2UgaXQgZGl2ZXJnZWQgZnJvbSBgb3JpZ2luYDoKQEAgLTc2NSw4ICs3NDIsNyBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBbW2NoZWNraW5nLWZvci1lcXVhbC1icmFuY2hlc11dCi1DaGVjayB3aGV0aGVyIHR3byBicmFuY2hlcyBwb2ludCBhdCB0aGUgc2FtZSBoaXN0b3J5Ci1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cis9PT09IENoZWNrIHdoZXRoZXIgdHdvIGJyYW5jaGVzIHBvaW50IGF0IHRoZSBzYW1lIGhpc3RvcnkKIAogU3VwcG9zZSB5b3Ugd2FudCB0byBjaGVjayB3aGV0aGVyIHR3byBicmFuY2hlcyBwb2ludCBhdCB0aGUgc2FtZSBwb2ludAogaW4gaGlzdG9yeS4KQEAgLTc5OCw4ICs3NzQsNyBAQAogd2lsbCByZXR1cm4gbm8gY29tbWl0cyB3aGVuIHRoZSB0d28gYnJhbmNoZXMgYXJlIGVxdWFsLgogCiBbW2ZpbmRpbmctdGFnZ2VkLWRlc2NlbmRhbnRzXV0KLUZpbmQgZmlyc3QgdGFnZ2VkIHZlcnNpb24gaW5jbHVkaW5nIGEgZ2l2ZW4gZml4Ci1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorPT09PSBGaW5kIGZpcnN0IHRhZ2dlZCB2ZXJzaW9uIGluY2x1ZGluZyBhIGdpdmVuIGZpeAogCiBTdXBwb3NlIHlvdSBrbm93IHRoYXQgdGhlIGNvbW1pdCBlMDVkYjBmZCBmaXhlZCBhIGNlcnRhaW4gcHJvYmxlbS4KIFlvdSdkIGxpa2UgdG8gZmluZCB0aGUgZWFybGllc3QgdGFnZ2VkIHJlbGVhc2UgdGhhdCBjb250YWlucyB0aGF0CkBAIC04ODMsOCArODU4LDcgQEAKIGFuZCBmcm9tIHYxLjUuMC1yYzIsIGFuZCBub3QgZnJvbSB2MS41LjAtcmMwLgogCiBbW3Nob3dpbmctY29tbWl0cy11bmlxdWUtdG8tYS1icmFuY2hdXQotU2hvd2luZyBjb21taXRzIHVuaXF1ZSB0byBhIGdpdmVuIGJyYW5jaAotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorPT09PSBTaG93aW5nIGNvbW1pdHMgdW5pcXVlIHRvIGEgZ2l2ZW4gYnJhbmNoCiAKIFN1cHBvc2UgeW91IHdvdWxkIGxpa2UgdG8gc2VlIGFsbCB0aGUgY29tbWl0cyByZWFjaGFibGUgZnJvbSB0aGUgYnJhbmNoCiBoZWFkIG5hbWVkIGBtYXN0ZXJgIGJ1dCBub3QgZnJvbSBhbnkgb3RoZXIgaGVhZCBpbiB5b3VyIHJlcG9zaXRvcnkuCkBAIC05MzEsOCArOTA1LDcgQEAKIHN5bnRheCBzdWNoIGFzIGAtLW5vdGAuKQogCiBbW21ha2luZy1hLXJlbGVhc2VdXQotQ3JlYXRpbmcgYSBjaGFuZ2Vsb2cgYW5kIHRhcmJhbGwgZm9yIGEgc29mdHdhcmUgcmVsZWFzZQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorPT09PSBDcmVhdGluZyBhIGNoYW5nZWxvZyBhbmQgdGFyYmFsbCBmb3IgYSBzb2Z0d2FyZSByZWxlYXNlCiAKIFRoZSBsaW5rZ2l0OmdpdC1hcmNoaXZlWzFdIGNvbW1hbmQgY2FuIGNyZWF0ZSBhIHRhciBvciB6aXAgYXJjaGl2ZSBmcm9tCiBhbnkgdmVyc2lvbiBvZiBhIHByb2plY3Q7IGZvciBleGFtcGxlOgpAQCAtOTgzLDggKzk1Niw3IEBACiB0aGV5IGxvb2sgT0suCiAKIFtbRmluZGluZy1jb21taXRzLVdpdGgtZ2l2ZW4tQ29udGVudF1dCi1GaW5kaW5nIGNvbW1pdHMgcmVmZXJlbmNpbmcgYSBmaWxlIHdpdGggZ2l2ZW4gY29udGVudAotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKz09PT0gRmluZGluZyBjb21taXRzIHJlZmVyZW5jaW5nIGEgZmlsZSB3aXRoIGdpdmVuIGNvbnRlbnQKIAogU29tZWJvZHkgaGFuZHMgeW91IGEgY29weSBvZiBhIGZpbGUsIGFuZCBhc2tzIHdoaWNoIGNvbW1pdHMgbW9kaWZpZWQgYQogZmlsZSBzdWNoIHRoYXQgaXQgY29udGFpbmVkIHRoZSBnaXZlbiBjb250ZW50IGVpdGhlciBiZWZvcmUgb3IgYWZ0ZXIgdGhlCkBAIC0xMDAwLDEyICs5NzIsMTAgQEAKIGxpbmtnaXQ6Z2l0LWhhc2gtb2JqZWN0WzFdIG1hbiBwYWdlcyBtYXkgcHJvdmUgaGVscGZ1bC4KIAogW1tEZXZlbG9waW5nLVdpdGgtZ2l0XV0KLURldmVsb3Bpbmcgd2l0aCBHaXQKLT09PT09PT09PT09PT09PT09PT0KKz09IERldmVsb3Bpbmcgd2l0aCBHaXQKIAogW1t0ZWxsaW5nLWdpdC15b3VyLW5hbWVdXQotVGVsbGluZyBHaXQgeW91ciBuYW1lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBUZWxsaW5nIEdpdCB5b3VyIG5hbWUKIAogQmVmb3JlIGNyZWF0aW5nIGFueSBjb21taXRzLCB5b3Ugc2hvdWxkIGludHJvZHVjZSB5b3Vyc2VsZiB0byBHaXQuCiBUaGUgZWFzaWVzdCB3YXkgdG8gZG8gc28gaXMgdG8gdXNlIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXToKQEAgLTEwMzAsOCArMTAwMCw3IEBACiAKIAogW1tjcmVhdGluZy1hLW5ldy1yZXBvc2l0b3J5XV0KLUNyZWF0aW5nIGEgbmV3IHJlcG9zaXRvcnkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBDcmVhdGluZyBhIG5ldyByZXBvc2l0b3J5CiAKIENyZWF0aW5nIGEgbmV3IHJlcG9zaXRvcnkgZnJvbSBzY3JhdGNoIGlzIHZlcnkgZWFzeToKIApAQCAtMTA1Miw4ICsxMDIxLDcgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogW1tob3ctdG8tbWFrZS1hLWNvbW1pdF1dCi1Ib3cgdG8gbWFrZSBhIGNvbW1pdAotLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBIb3cgdG8gbWFrZSBhIGNvbW1pdAogCiBDcmVhdGluZyBhIG5ldyBjb21taXQgdGFrZXMgdGhyZWUgc3RlcHM6CiAKQEAgLTExNDgsOCArMTExNiw3IEBACiBjaG9vc2luZyAiU3RhZ2UgSHVuayBGb3IgQ29tbWl0IikuCiAKIFtbY3JlYXRpbmctZ29vZC1jb21taXQtbWVzc2FnZXNdXQotQ3JlYXRpbmcgZ29vZCBjb21taXQgbWVzc2FnZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis9PT0gQ3JlYXRpbmcgZ29vZCBjb21taXQgbWVzc2FnZXMKIAogVGhvdWdoIG5vdCByZXF1aXJlZCwgaXQncyBhIGdvb2QgaWRlYSB0byBiZWdpbiB0aGUgY29tbWl0IG1lc3NhZ2UKIHdpdGggYSBzaW5nbGUgc2hvcnQgKGxlc3MgdGhhbiA1MCBjaGFyYWN0ZXIpIGxpbmUgc3VtbWFyaXppbmcgdGhlCkBAIC0xMTYyLDggKzExMjksNyBAQAogCiAKIFtbaWdub3JpbmctZmlsZXNdXQotSWdub3JpbmcgZmlsZXMKLS0tLS0tLS0tLS0tLS0tCis9PT0gSWdub3JpbmcgZmlsZXMKIAogQSBwcm9qZWN0IHdpbGwgb2Z0ZW4gZ2VuZXJhdGUgZmlsZXMgdGhhdCB5b3UgZG8gJ25vdCcgd2FudCB0byB0cmFjayB3aXRoIEdpdC4KIFRoaXMgdHlwaWNhbGx5IGluY2x1ZGVzIGZpbGVzIGdlbmVyYXRlZCBieSBhIGJ1aWxkIHByb2Nlc3Mgb3IgdGVtcG9yYXJ5CkBAIC0xMjA1LDggKzExNzEsNyBAQAogY29tbWFuZCBsaW5lLiAgU2VlIGxpbmtnaXQ6Z2l0aWdub3JlWzVdIGZvciB0aGUgZGV0YWlscy4KIAogW1tob3ctdG8tbWVyZ2VdXQotSG93IHRvIG1lcmdlCi0tLS0tLS0tLS0tLS0KKz09PSBIb3cgdG8gbWVyZ2UKIAogWW91IGNhbiByZWpvaW4gdHdvIGRpdmVyZ2luZyBicmFuY2hlcyBvZiBkZXZlbG9wbWVudCB1c2luZwogbGlua2dpdDpnaXQtbWVyZ2VbMV06CkBAIC0xMjU0LDggKzEyMTksNyBAQAogb25lIHRvIHRoZSB0b3Agb2YgdGhlIG90aGVyIGJyYW5jaC4KIAogW1tyZXNvbHZpbmctYS1tZXJnZV1dCi1SZXNvbHZpbmcgYSBtZXJnZQotLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBSZXNvbHZpbmcgYSBtZXJnZQogCiBXaGVuIGEgbWVyZ2UgaXNuJ3QgcmVzb2x2ZWQgYXV0b21hdGljYWxseSwgR2l0IGxlYXZlcyB0aGUgaW5kZXggYW5kCiB0aGUgd29ya2luZyB0cmVlIGluIGEgc3BlY2lhbCBzdGF0ZSB0aGF0IGdpdmVzIHlvdSBhbGwgdGhlCkBAIC0xMjk3LDggKzEyNjEsNyBAQAogYWxzbyBwcm92aWRlcyBtb3JlIGluZm9ybWF0aW9uIHRvIGhlbHAgcmVzb2x2ZSBjb25mbGljdHM6CiAKIFtbY29uZmxpY3QtcmVzb2x1dGlvbl1dCi1HZXR0aW5nIGNvbmZsaWN0LXJlc29sdXRpb24gaGVscCBkdXJpbmcgYSBtZXJnZQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKz09PT0gR2V0dGluZyBjb25mbGljdC1yZXNvbHV0aW9uIGhlbHAgZHVyaW5nIGEgbWVyZ2UKIAogQWxsIG9mIHRoZSBjaGFuZ2VzIHRoYXQgR2l0IHdhcyBhYmxlIHRvIG1lcmdlIGF1dG9tYXRpY2FsbHkgYXJlCiBhbHJlYWR5IGFkZGVkIHRvIHRoZSBpbmRleCBmaWxlLCBzbyBsaW5rZ2l0OmdpdC1kaWZmWzFdIHNob3dzIG9ubHkKQEAgLTE0MDEsMTQgKzEzNjQsMTMgQEAKIGBnaXQgZGlmZmAgd2lsbCAoYnkgZGVmYXVsdCkgbm8gbG9uZ2VyIHNob3cgZGlmZnMgZm9yIHRoYXQgZmlsZS4KIAogW1t1bmRvaW5nLWEtbWVyZ2VdXQotVW5kb2luZyBhIG1lcmdlCi0tLS0tLS0tLS0tLS0tLS0KKz09PSBVbmRvaW5nIGEgbWVyZ2UKIAogSWYgeW91IGdldCBzdHVjayBhbmQgZGVjaWRlIHRvIGp1c3QgZ2l2ZSB1cCBhbmQgdGhyb3cgdGhlIHdob2xlIG1lc3MKIGF3YXksIHlvdSBjYW4gYWx3YXlzIHJldHVybiB0byB0aGUgcHJlLW1lcmdlIHN0YXRlIHdpdGgKIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotJCBnaXQgcmVzZXQgLS1oYXJkIEhFQUQKKyQgZ2l0IG1lcmdlIC0tYWJvcnQKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogT3IsIGlmIHlvdSd2ZSBhbHJlYWR5IGNvbW1pdHRlZCB0aGUgbWVyZ2UgdGhhdCB5b3Ugd2FudCB0byB0aHJvdyBhd2F5LApAQCAtMTQyMyw4ICsxMzg1LDcgQEAKIGZ1cnRoZXIgbWVyZ2VzLgogCiBbW2Zhc3QtZm9yd2FyZHNdXQotRmFzdC1mb3J3YXJkIG1lcmdlcwotLS0tLS0tLS0tLS0tLS0tLS0tLQorPT09IEZhc3QtZm9yd2FyZCBtZXJnZXMKIAogVGhlcmUgaXMgb25lIHNwZWNpYWwgY2FzZSBub3QgbWVudGlvbmVkIGFib3ZlLCB3aGljaCBpcyB0cmVhdGVkCiBkaWZmZXJlbnRseS4gIE5vcm1hbGx5LCBhIG1lcmdlIHJlc3VsdHMgaW4gYSBtZXJnZSBjb21taXQsIHdpdGggdHdvCkBAIC0xNDM4LDE1ICsxMzk5LDE0IEBACiBjcmVhdGVkLgogCiBbW2ZpeGluZy1taXN0YWtlc11dCi1GaXhpbmcgbWlzdGFrZXMKLS0tLS0tLS0tLS0tLS0tLQorPT09IEZpeGluZyBtaXN0YWtlcwogCiBJZiB5b3UndmUgbWVzc2VkIHVwIHRoZSB3b3JraW5nIHRyZWUsIGJ1dCBoYXZlbid0IHlldCBjb21taXR0ZWQgeW91cgogbWlzdGFrZSwgeW91IGNhbiByZXR1cm4gdGhlIGVudGlyZSB3b3JraW5nIHRyZWUgdG8gdGhlIGxhc3QgY29tbWl0dGVkCiBzdGF0ZSB3aXRoCiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSQgZ2l0IHJlc2V0IC0taGFyZCBIRUFECiskIGdpdCByZXN0b3JlIC0tc3RhZ2VkIC0td29ya3RyZWUgOi8KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogSWYgeW91IG1ha2UgYSBjb21taXQgdGhhdCB5b3UgbGF0ZXIgd2lzaCB5b3UgaGFkbid0LCB0aGVyZSBhcmUgdHdvCkBAIC0xNDYzLDggKzE0MjMsNyBAQAogCWEgYnJhbmNoIHRoYXQgaGFzIGhhZCBpdHMgaGlzdG9yeSBjaGFuZ2VkLgogCiBbW3JldmVydGluZy1hLWNvbW1pdF1dCi1GaXhpbmcgYSBtaXN0YWtlIHdpdGggYSBuZXcgY29tbWl0Ci1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cis9PT09IEZpeGluZyBhIG1pc3Rha2Ugd2l0aCBhIG5ldyBjb21taXQKIAogQ3JlYXRpbmcgYSBuZXcgY29tbWl0IHRoYXQgcmV2ZXJ0cyBhbiBlYXJsaWVyIGNoYW5nZSBpcyB2ZXJ5IGVhc3k7CiBqdXN0IHBhc3MgdGhlIGxpbmtnaXQ6Z2l0LXJldmVydFsxXSBjb21tYW5kIGEgcmVmZXJlbmNlIHRvIHRoZSBiYWQKQEAgLTE0OTAsOCArMTQ0OSw3IEBACiByZXNvbHZpbmcgYSBtZXJnZT4+LgogCiBbW2ZpeGluZy1hLW1pc3Rha2UtYnktcmV3cml0aW5nLWhpc3RvcnldXQotRml4aW5nIGEgbWlzdGFrZSBieSByZXdyaXRpbmcgaGlzdG9yeQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorPT09PSBGaXhpbmcgYSBtaXN0YWtlIGJ5IHJld3JpdGluZyBoaXN0b3J5CiAKIElmIHRoZSBwcm9ibGVtYXRpYyBjb21taXQgaXMgdGhlIG1vc3QgcmVjZW50IGNvbW1pdCwgYW5kIHlvdSBoYXZlIG5vdAogeWV0IG1hZGUgdGhhdCBjb21taXQgcHVibGljLCB0aGVuIHlvdSBtYXkganVzdApAQCAtMTUxOCwxNyArMTQ3NiwxNCBAQAogPDxjbGVhbmluZy11cC1oaXN0b3J5LGFub3RoZXIgY2hhcHRlcj4+LgogCiBbW2NoZWNrb3V0LW9mLXBhdGhdXQotQ2hlY2tpbmcgb3V0IGFuIG9sZCB2ZXJzaW9uIG9mIGEgZmlsZQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorPT09PSBDaGVja2luZyBvdXQgYW4gb2xkIHZlcnNpb24gb2YgYSBmaWxlCiAKIEluIHRoZSBwcm9jZXNzIG9mIHVuZG9pbmcgYSBwcmV2aW91cyBiYWQgY2hhbmdlLCB5b3UgbWF5IGZpbmQgaXQKIHVzZWZ1bCB0byBjaGVjayBvdXQgYW4gb2xkZXIgdmVyc2lvbiBvZiBhIHBhcnRpY3VsYXIgZmlsZSB1c2luZwotbGlua2dpdDpnaXQtY2hlY2tvdXRbMV0uICBXZSd2ZSB1c2VkIGBnaXQgY2hlY2tvdXRgIGJlZm9yZSB0byBzd2l0Y2gKLWJyYW5jaGVzLCBidXQgaXQgaGFzIHF1aXRlIGRpZmZlcmVudCBiZWhhdmlvciBpZiBpdCBpcyBnaXZlbiBhIHBhdGgKLW5hbWU6IHRoZSBjb21tYW5kCitsaW5rZ2l0OmdpdC1yZXN0b3JlWzFdLiBUaGUgY29tbWFuZAogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0kIGdpdCBjaGVja291dCBIRUFEXiBwYXRoL3RvL2ZpbGUKKyQgZ2l0IHJlc3RvcmUgLS1zb3VyY2U9SEVBRF4gcGF0aC90by9maWxlCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIHJlcGxhY2VzIHBhdGgvdG8vZmlsZSBieSB0aGUgY29udGVudHMgaXQgaGFkIGluIHRoZSBjb21taXQgSEVBRF4sIGFuZApAQCAtMTU0NSw4ICsxNTAwLDcgQEAKIHdoaWNoIHdpbGwgZGlzcGxheSB0aGUgZ2l2ZW4gdmVyc2lvbiBvZiB0aGUgZmlsZS4KIAogW1tpbnRlcnJ1cHRlZC13b3JrXV0KLVRlbXBvcmFyaWx5IHNldHRpbmcgYXNpZGUgd29yayBpbiBwcm9ncmVzcwotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cis9PT09IFRlbXBvcmFyaWx5IHNldHRpbmcgYXNpZGUgd29yayBpbiBwcm9ncmVzcwogCiBXaGlsZSB5b3UgYXJlIGluIHRoZSBtaWRkbGUgb2Ygd29ya2luZyBvbiBzb21ldGhpbmcgY29tcGxpY2F0ZWQsIHlvdQogZmluZCBhbiB1bnJlbGF0ZWQgYnV0IG9idmlvdXMgYW5kIHRyaXZpYWwgYnVnLiAgWW91IHdvdWxkIGxpa2UgdG8gZml4IGl0CkBAIC0xNTc3LDggKzE1MzEsNyBAQAogCiAKIFtbZW5zdXJpbmctZ29vZC1wZXJmb3JtYW5jZV1dCi1FbnN1cmluZyBnb29kIHBlcmZvcm1hbmNlCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis9PT0gRW5zdXJpbmcgZ29vZCBwZXJmb3JtYW5jZQogCiBPbiBsYXJnZSByZXBvc2l0b3JpZXMsIEdpdCBkZXBlbmRzIG9uIGNvbXByZXNzaW9uIHRvIGtlZXAgdGhlIGhpc3RvcnkKIGluZm9ybWF0aW9uIGZyb20gdGFraW5nIHVwIHRvbyBtdWNoIHNwYWNlIG9uIGRpc2sgb3IgaW4gbWVtb3J5LiAgU29tZQpAQCAtMTU4OSwxMiArMTU0MiwxMCBAQAogCiAKIFtbZW5zdXJpbmctcmVsaWFiaWxpdHldXQotRW5zdXJpbmcgcmVsaWFiaWxpdHkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis9PT0gRW5zdXJpbmcgcmVsaWFiaWxpdHkKIAogW1tjaGVja2luZy1mb3ItY29ycnVwdGlvbl1dCi1DaGVja2luZyB0aGUgcmVwb3NpdG9yeSBmb3IgY29ycnVwdGlvbgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKz09PT0gQ2hlY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIGNvcnJ1cHRpb24KIAogVGhlIGxpbmtnaXQ6Z2l0LWZzY2tbMV0gY29tbWFuZCBydW5zIGEgbnVtYmVyIG9mIHNlbGYtY29uc2lzdGVuY3kgY2hlY2tzCiBvbiB0aGUgcmVwb3NpdG9yeSwgYW5kIHJlcG9ydHMgb24gYW55IHByb2JsZW1zLiAgVGhpcyBtYXkgdGFrZSBzb21lCkBAIC0xNjIwLDEyICsxNTcxLDEwIEBACiB2aWV3IHJlYWwgZXJyb3JzLgogCiBbW3JlY292ZXJpbmctbG9zdC1jaGFuZ2VzXV0KLVJlY292ZXJpbmcgbG9zdCBjaGFuZ2VzCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorPT09PSBSZWNvdmVyaW5nIGxvc3QgY2hhbmdlcwogCiBbW3JlZmxvZ3NdXQotUmVmbG9ncwotXl5eXl5eXgorPT09PT0gUmVmbG9ncwogCiBTYXkgeW91IG1vZGlmeSBhIGJyYW5jaCB3aXRoIDw8Zml4aW5nLW1pc3Rha2VzLGBnaXQgcmVzZXQgLS1oYXJkYD4+LAogYW5kIHRoZW4gcmVhbGl6ZSB0aGF0IHRoZSBicmFuY2ggd2FzIHRoZSBvbmx5IHJlZmVyZW5jZSB5b3UgaGFkIHRvCkBAIC0xNjcyLDggKzE2MjEsNyBAQAogaG93IHRoZSBicmFuY2hlcyBpbiB5b3VyIGxvY2FsIHJlcG9zaXRvcnkgaGF2ZSBjaGFuZ2VkIG92ZXIgdGltZS4KIAogW1tkYW5nbGluZy1vYmplY3QtcmVjb3ZlcnldXQotRXhhbWluaW5nIGRhbmdsaW5nIG9iamVjdHMKLV5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCis9PT09PSBFeGFtaW5pbmcgZGFuZ2xpbmcgb2JqZWN0cwogCiBJbiBzb21lIHNpdHVhdGlvbnMgdGhlIHJlZmxvZyBtYXkgbm90IGJlIGFibGUgdG8gc2F2ZSB5b3UuICBGb3IgZXhhbXBsZSwKIHN1cHBvc2UgeW91IGRlbGV0ZSBhIGJyYW5jaCwgdGhlbiByZWFsaXplIHlvdSBuZWVkIHRoZSBoaXN0b3J5IGl0CkBAIC0xNzE3LDEyICsxNjY1LDEwIEBACiAKIAogW1tzaGFyaW5nLWRldmVsb3BtZW50XV0KLVNoYXJpbmcgZGV2ZWxvcG1lbnQgd2l0aCBvdGhlcnMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKz09IFNoYXJpbmcgZGV2ZWxvcG1lbnQgd2l0aCBvdGhlcnMKIAogW1tnZXR0aW5nLXVwZGF0ZXMtV2l0aC1naXQtcHVsbF1dCi1HZXR0aW5nIHVwZGF0ZXMgd2l0aCBnaXQgcHVsbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBHZXR0aW5nIHVwZGF0ZXMgd2l0aCBnaXQgcHVsbAogCiBBZnRlciB5b3UgY2xvbmUgYSByZXBvc2l0b3J5IGFuZCBjb21taXQgYSBmZXcgY2hhbmdlcyBvZiB5b3VyIG93biwgeW91CiBtYXkgd2lzaCB0byBjaGVjayB0aGUgb3JpZ2luYWwgcmVwb3NpdG9yeSBmb3IgdXBkYXRlcyBhbmQgbWVyZ2UgdGhlbQpAQCAtMTc4NSw4ICsxNzMxLDcgQEAKIGFyZSByb3VnaGx5IGVxdWl2YWxlbnQuCiAKIFtbc3VibWl0dGluZy1wYXRjaGVzXV0KLVN1Ym1pdHRpbmcgcGF0Y2hlcyB0byBhIHByb2plY3QKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBTdWJtaXR0aW5nIHBhdGNoZXMgdG8gYSBwcm9qZWN0CiAKIElmIHlvdSBqdXN0IGhhdmUgYSBmZXcgY2hhbmdlcywgdGhlIHNpbXBsZXN0IHdheSB0byBzdWJtaXQgdGhlbSBtYXkKIGp1c3QgYmUgdG8gc2VuZCB0aGVtIGFzIHBhdGNoZXMgaW4gZW1haWw6CkBAIC0xODE0LDggKzE3NTksNyBAQAogdGhlaXIgcmVxdWlyZW1lbnRzIGZvciBzdWJtaXR0aW5nIHBhdGNoZXMuCiAKIFtbaW1wb3J0aW5nLXBhdGNoZXNdXQotSW1wb3J0aW5nIHBhdGNoZXMgdG8gYSBwcm9qZWN0Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBJbXBvcnRpbmcgcGF0Y2hlcyB0byBhIHByb2plY3QKIAogR2l0IGFsc28gcHJvdmlkZXMgYSB0b29sIGNhbGxlZCBsaW5rZ2l0OmdpdC1hbVsxXSAoYW0gc3RhbmRzIGZvcgogImFwcGx5IG1haWxib3giKSwgZm9yIGltcG9ydGluZyBzdWNoIGFuIGVtYWlsZWQgc2VyaWVzIG9mIHBhdGNoZXMuCkBAIC0xODQ3LDggKzE3OTEsNyBAQAogdGFrZW4gZnJvbSB0aGUgbWVzc2FnZSBjb250YWluaW5nIGVhY2ggcGF0Y2guCiAKIFtbcHVibGljLXJlcG9zaXRvcmllc11dCi1QdWJsaWMgR2l0IHJlcG9zaXRvcmllcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBQdWJsaWMgR2l0IHJlcG9zaXRvcmllcwogCiBBbm90aGVyIHdheSB0byBzdWJtaXQgY2hhbmdlcyB0byBhIHByb2plY3QgaXMgdG8gdGVsbCB0aGUgbWFpbnRhaW5lcgogb2YgdGhhdCBwcm9qZWN0IHRvIHB1bGwgdGhlIGNoYW5nZXMgZnJvbSB5b3VyIHJlcG9zaXRvcnkgdXNpbmcKQEAgLTE4ODgsMjEgKzE4MzEsMjIgQEAKIHdoZXJlIHRoZXJlIGlzIG9uZSBvdGhlciBkZXZlbG9wZXIgd2l0aCBhIHB1YmxpYyByZXBvc2l0b3J5LCBsb29rcwogbGlrZSB0aGlzOgogCi0gICAgICAgICAgICAgICAgICAgICAgICB5b3UgcHVzaAotICB5b3VyIHBlcnNvbmFsIHJlcG8gLS0tLS0tLS0tLS0tLS0tLS0tPiB5b3VyIHB1YmxpYyByZXBvCi0JXiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0JfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0JfCB5b3UgcHVsbCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHRoZXkgcHVsbAotCXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotCXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotICAgICAgICB8ICAgICAgICAgICAgICAgdGhleSBwdXNoICAgICAgICAgICAgIFYKLSAgdGhlaXIgcHVibGljIHJlcG8gPC0tLS0tLS0tLS0tLS0tLS0tLS0gdGhlaXIgcmVwbworLi4uLgorCQkgICAgICB5b3UgcHVzaAoreW91ciBwZXJzb25hbCByZXBvIC0tLS0tLS0tLS0tLS0tLS0tLT4geW91ciBwdWJsaWMgcmVwbworICAgICAgXiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgIHwgeW91IHB1bGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGV5IHB1bGwKKyAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICB8ICAgICAgICAgICAgICAgdGhleSBwdXNoICAgICAgICAgICAgIFYKK3RoZWlyIHB1YmxpYyByZXBvIDwtLS0tLS0tLS0tLS0tLS0tLS0tIHRoZWlyIHJlcG8KKy4uLi4KIAogV2UgZXhwbGFpbiBob3cgdG8gZG8gdGhpcyBpbiB0aGUgZm9sbG93aW5nIHNlY3Rpb25zLgogCiBbW3NldHRpbmctdXAtYS1wdWJsaWMtcmVwb3NpdG9yeV1dCi1TZXR0aW5nIHVwIGEgcHVibGljIHJlcG9zaXRvcnkKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorPT09PSBTZXR0aW5nIHVwIGEgcHVibGljIHJlcG9zaXRvcnkKIAogQXNzdW1lIHlvdXIgcGVyc29uYWwgcmVwb3NpdG9yeSBpcyBpbiB0aGUgZGlyZWN0b3J5IGB+L3Byb2pgLiAgV2UKIGZpcnN0IGNyZWF0ZSBhIG5ldyBjbG9uZSBvZiB0aGUgcmVwb3NpdG9yeSBhbmQgdGVsbCBgZ2l0IGRhZW1vbmAgdGhhdCBpdApAQCAtMTkyMiw4ICsxODY2LDcgQEAKIGNvbnZlbmllbnQuCiAKIFtbZXhwb3J0aW5nLXZpYS1naXRdXQotRXhwb3J0aW5nIGEgR2l0IHJlcG9zaXRvcnkgdmlhIHRoZSBHaXQgcHJvdG9jb2wKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cis9PT09IEV4cG9ydGluZyBhIEdpdCByZXBvc2l0b3J5IHZpYSB0aGUgR2l0IHByb3RvY29sCiAKIFRoaXMgaXMgdGhlIHByZWZlcnJlZCBtZXRob2QuCiAKQEAgLTE5NDQsOCArMTg4Nyw3IEBACiBleGFtcGxlcyBzZWN0aW9uLikKIAogW1tleHBvcnRpbmctdmlhLWh0dHBdXQotRXhwb3J0aW5nIGEgZ2l0IHJlcG9zaXRvcnkgdmlhIEhUVFAKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cis9PT09IEV4cG9ydGluZyBhIGdpdCByZXBvc2l0b3J5IHZpYSBIVFRQCiAKIFRoZSBHaXQgcHJvdG9jb2wgZ2l2ZXMgYmV0dGVyIHBlcmZvcm1hbmNlIGFuZCByZWxpYWJpbGl0eSwgYnV0IG9uIGEKIGhvc3Qgd2l0aCBhIHdlYiBzZXJ2ZXIgc2V0IHVwLCBIVFRQIGV4cG9ydHMgbWF5IGJlIHNpbXBsZXIgdG8gc2V0IHVwLgpAQCAtMTk3Nyw4ICsxOTE5LDcgQEAKIGFsbG93cyBwdXNoaW5nIG92ZXIgSFRUUC4pCiAKIFtbcHVzaGluZy1jaGFuZ2VzLXRvLWEtcHVibGljLXJlcG9zaXRvcnldXQotUHVzaGluZyBjaGFuZ2VzIHRvIGEgcHVibGljIHJlcG9zaXRvcnkKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cis9PT09IFB1c2hpbmcgY2hhbmdlcyB0byBhIHB1YmxpYyByZXBvc2l0b3J5CiAKIE5vdGUgdGhhdCB0aGUgdHdvIHRlY2huaXF1ZXMgb3V0bGluZWQgYWJvdmUgKGV4cG9ydGluZyB2aWEKIDw8ZXhwb3J0aW5nLXZpYS1odHRwLGh0dHA+PiBvciA8PGV4cG9ydGluZy12aWEtZ2l0LGdpdD4+KSBhbGxvdyBvdGhlcgpAQCAtMjAzNyw4ICsxOTc4LDcgQEAKIGxpbmtnaXQ6Z2l0LWNvbmZpZ1sxXSBmb3IgZGV0YWlscy4KIAogW1tmb3JjaW5nLXB1c2hdXQotV2hhdCB0byBkbyB3aGVuIGEgcHVzaCBmYWlscwotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorPT09PSBXaGF0IHRvIGRvIHdoZW4gYSBwdXNoIGZhaWxzCiAKIElmIGEgcHVzaCB3b3VsZCBub3QgcmVzdWx0IGluIGEgPDxmYXN0LWZvcndhcmRzLGZhc3QtZm9yd2FyZD4+IG9mIHRoZQogcmVtb3RlIGJyYW5jaCwgdGhlbiBpdCB3aWxsIGZhaWwgd2l0aCBhbiBlcnJvciBsaWtlOgpAQCAtMjA5Miw4ICsyMDMyLDcgQEAKIGxpbmtnaXQ6Z2l0Y3ZzLW1pZ3JhdGlvbls3XSBmb3IgbW9yZS4KIAogW1tzZXR0aW5nLXVwLWEtc2hhcmVkLXJlcG9zaXRvcnldXQotU2V0dGluZyB1cCBhIHNoYXJlZCByZXBvc2l0b3J5Ci1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKz09PT0gU2V0dGluZyB1cCBhIHNoYXJlZCByZXBvc2l0b3J5CiAKIEFub3RoZXIgd2F5IHRvIGNvbGxhYm9yYXRlIGlzIGJ5IHVzaW5nIGEgbW9kZWwgc2ltaWxhciB0byB0aGF0CiBjb21tb25seSB1c2VkIGluIENWUywgd2hlcmUgc2V2ZXJhbCBkZXZlbG9wZXJzIHdpdGggc3BlY2lhbCByaWdodHMKQEAgLTIxMjMsOCArMjA2Miw3IEBACiAJICAib3V0Ii4KIAogW1tzZXR0aW5nLXVwLWdpdHdlYl1dCi1BbGxvd2luZyB3ZWIgYnJvd3Npbmcgb2YgYSByZXBvc2l0b3J5Ci1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cis9PT09IEFsbG93aW5nIHdlYiBicm93c2luZyBvZiBhIHJlcG9zaXRvcnkKIAogVGhlIGdpdHdlYiBjZ2kgc2NyaXB0IHByb3ZpZGVzIHVzZXJzIGFuIGVhc3kgd2F5IHRvIGJyb3dzZSB5b3VyCiBwcm9qZWN0J3MgcmV2aXNpb25zLCBmaWxlIGNvbnRlbnRzIGFuZCBsb2dzIHdpdGhvdXQgaGF2aW5nIHRvIGluc3RhbGwKQEAgLTIxNDAsOCArMjA3OCw3IEBACiBpbnN0YWxsYXRpb24gd2l0aCBhIENHSSBvciBQZXJsIGNhcGFibGUgc2VydmVyLgogCiBbW2hvdy10by1nZXQtYS1naXQtcmVwb3NpdG9yeS13aXRoLW1pbmltYWwtaGlzdG9yeV1dCi1Ib3cgdG8gZ2V0IGEgR2l0IHJlcG9zaXRvcnkgd2l0aCBtaW5pbWFsIGhpc3RvcnkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorPT09IEhvdyB0byBnZXQgYSBHaXQgcmVwb3NpdG9yeSB3aXRoIG1pbmltYWwgaGlzdG9yeQogCiBBIDw8ZGVmX3NoYWxsb3dfY2xvbmUsc2hhbGxvdyBjbG9uZT4+LCB3aXRoIGl0cyB0cnVuY2F0ZWQKIGhpc3RvcnksIGlzIHVzZWZ1bCB3aGVuIG9uZSBpcyBpbnRlcmVzdGVkIG9ubHkgaW4gcmVjZW50IGhpc3RvcnkKQEAgLTIxNjAsMTIgKzIwOTcsMTAgQEAKIGEgcmVwb3NpdG9yeSB1bnN1aXRhYmxlIHRvIGJlIHVzZWQgaW4gbWVyZ2UgYmFzZWQgd29ya2Zsb3dzLgogCiBbW3NoYXJpbmctZGV2ZWxvcG1lbnQtZXhhbXBsZXNdXQotRXhhbXBsZXMKLS0tLS0tLS0tCis9PT0gRXhhbXBsZXMKIAogW1ttYWludGFpbmluZy10b3BpYy1icmFuY2hlc11dCi1NYWludGFpbmluZyB0b3BpYyBicmFuY2hlcyBmb3IgYSBMaW51eCBzdWJzeXN0ZW0gbWFpbnRhaW5lcgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKz09PT0gTWFpbnRhaW5pbmcgdG9waWMgYnJhbmNoZXMgZm9yIGEgTGludXggc3Vic3lzdGVtIG1haW50YWluZXIKIAogVGhpcyBkZXNjcmliZXMgaG93IFRvbnkgTHVjayB1c2VzIEdpdCBpbiBoaXMgcm9sZSBhcyBtYWludGFpbmVyIG9mIHRoZQogSUE2NCBhcmNoaXRlY3R1cmUgZm9yIHRoZSBMaW51eCBrZXJuZWwuCkBAIC0yMjExLDggKzIxNDYsOCBAQAogVGhlc2UgY2FuIGJlIGVhc2lseSBrZXB0IHVwIHRvIGRhdGUgdXNpbmcgbGlua2dpdDpnaXQtcHVsbFsxXS4KIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotJCBnaXQgY2hlY2tvdXQgdGVzdCAmJiBnaXQgcHVsbAotJCBnaXQgY2hlY2tvdXQgcmVsZWFzZSAmJiBnaXQgcHVsbAorJCBnaXQgc3dpdGNoIHRlc3QgJiYgZ2l0IHB1bGwKKyQgZ2l0IHN3aXRjaCByZWxlYXNlICYmIGdpdCBwdWxsCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIEltcG9ydGFudCBub3RlISAgSWYgeW91IGhhdmUgYW55IGxvY2FsIGNoYW5nZXMgaW4gdGhlc2UgYnJhbmNoZXMsIHRoZW4KQEAgLTIyNjQsNyArMjE5OSw3IEBACiAyKSBoZWxwIGZ1dHVyZSBidWcgaHVudGVycyB0aGF0IHVzZSBgZ2l0IGJpc2VjdGAgdG8gZmluZCBwcm9ibGVtcwogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0kIGdpdCBjaGVja291dCAtYiBzcGVlZC11cC1zcGlubG9ja3MgdjIuNi4zNQorJCBnaXQgc3dpdGNoIC1jIHNwZWVkLXVwLXNwaW5sb2NrcyB2Mi42LjM1CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIE5vdyB5b3UgYXBwbHkgdGhlIHBhdGNoKGVzKSwgcnVuIHNvbWUgdGVzdHMsIGFuZCBjb21taXQgdGhlIGNoYW5nZShzKS4gIElmCkBAIC0yMjc5LDcgKzIyMTQsNyBAQAogInRlc3QiIGJyYW5jaCBpbiBwcmVwYXJhdGlvbiB0byBtYWtlIGl0IHB1YmxpYzoKIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotJCBnaXQgY2hlY2tvdXQgdGVzdCAmJiBnaXQgbWVyZ2Ugc3BlZWQtdXAtc3BpbmxvY2tzCiskIGdpdCBzd2l0Y2ggdGVzdCAmJiBnaXQgbWVyZ2Ugc3BlZWQtdXAtc3BpbmxvY2tzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIEl0IGlzIHVubGlrZWx5IHRoYXQgeW91IHdvdWxkIGhhdmUgYW55IGNvbmZsaWN0cyBoZXJlIC4uLiBidXQgeW91IG1pZ2h0IGlmIHlvdQpAQCAtMjI5MSw3ICsyMjI2LDcgQEAKIG1lYW5zIHRoYXQgdGhlIHBhdGNoZXMgY2FuIGJlIG1vdmVkIGludG8gdGhlIGByZWxlYXNlYCB0cmVlIGluIGFueSBvcmRlci4KIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotJCBnaXQgY2hlY2tvdXQgcmVsZWFzZSAmJiBnaXQgbWVyZ2Ugc3BlZWQtdXAtc3BpbmxvY2tzCiskIGdpdCBzd2l0Y2ggcmVsZWFzZSAmJiBnaXQgbWVyZ2Ugc3BlZWQtdXAtc3BpbmxvY2tzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIEFmdGVyIGEgd2hpbGUsIHlvdSB3aWxsIGhhdmUgYSBudW1iZXIgb2YgYnJhbmNoZXMsIGFuZCBkZXNwaXRlIHRoZQpAQCAtMjQ2MSw4ICsyMzk2LDcgQEAKIAogCiBbW2NsZWFuaW5nLXVwLWhpc3RvcnldXQotUmV3cml0aW5nIGhpc3RvcnkgYW5kIG1haW50YWluaW5nIHBhdGNoIHNlcmllcwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorPT0gUmV3cml0aW5nIGhpc3RvcnkgYW5kIG1haW50YWluaW5nIHBhdGNoIHNlcmllcwogCiBOb3JtYWxseSBjb21taXRzIGFyZSBvbmx5IGFkZGVkIHRvIGEgcHJvamVjdCwgbmV2ZXIgdGFrZW4gYXdheSBvcgogcmVwbGFjZWQuICBHaXQgaXMgZGVzaWduZWQgd2l0aCB0aGlzIGFzc3VtcHRpb24sIGFuZCB2aW9sYXRpbmcgaXQgd2lsbApAQCAtMjQ3Miw4ICsyNDA2LDcgQEAKIGFzc3VtcHRpb24uCiAKIFtbcGF0Y2gtc2VyaWVzXV0KLUNyZWF0aW5nIHRoZSBwZXJmZWN0IHBhdGNoIHNlcmllcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis9PT0gQ3JlYXRpbmcgdGhlIHBlcmZlY3QgcGF0Y2ggc2VyaWVzCiAKIFN1cHBvc2UgeW91IGFyZSBhIGNvbnRyaWJ1dG9yIHRvIGEgbGFyZ2UgcHJvamVjdCwgYW5kIHlvdSB3YW50IHRvIGFkZCBhCiBjb21wbGljYXRlZCBmZWF0dXJlLCBhbmQgdG8gcHJlc2VudCBpdCB0byB0aGUgb3RoZXIgZGV2ZWxvcGVycyBpbiBhIHdheQpAQCAtMjUwNSwxNCArMjQzOCwxMyBAQAogeW91IGFyZSByZXdyaXRpbmcgaGlzdG9yeS4KIAogW1t1c2luZy1naXQtcmViYXNlXV0KLUtlZXBpbmcgYSBwYXRjaCBzZXJpZXMgdXAgdG8gZGF0ZSB1c2luZyBnaXQgcmViYXNlCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorPT09IEtlZXBpbmcgYSBwYXRjaCBzZXJpZXMgdXAgdG8gZGF0ZSB1c2luZyBnaXQgcmViYXNlCiAKIFN1cHBvc2UgdGhhdCB5b3UgY3JlYXRlIGEgYnJhbmNoIGBteXdvcmtgIG9uIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaAogYG9yaWdpbmAsIGFuZCBjcmVhdGUgc29tZSBjb21taXRzIG9uIHRvcCBvZiBpdDoKIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotJCBnaXQgY2hlY2tvdXQgLWIgbXl3b3JrIG9yaWdpbgorJCBnaXQgc3dpdGNoIC1jIG15d29yayBvcmlnaW4KICQgdmkgZmlsZS50eHQKICQgZ2l0IGNvbW1pdAogJCB2aSBvdGhlcmZpbGUudHh0CkBAIC0yNTUyLDcgKzI0ODQsNyBAQAogbGlua2dpdDpnaXQtcmViYXNlWzFdOgogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0kIGdpdCBjaGVja291dCBteXdvcmsKKyQgZ2l0IHN3aXRjaCBteXdvcmsKICQgZ2l0IHJlYmFzZSBvcmlnaW4KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApAQCAtMjU5Myw4ICsyNTI1LDcgQEAKIDw8cmVvcmRlcmluZy1wYXRjaC1zZXJpZXM+PiBmb3IgYWx0ZXJuYXRpdmVzLgogCiBbW3Jld3JpdGluZy1vbmUtY29tbWl0XV0KLVJld3JpdGluZyBhIHNpbmdsZSBjb21taXQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBSZXdyaXRpbmcgYSBzaW5nbGUgY29tbWl0CiAKIFdlIHNhdyBpbiA8PGZpeGluZy1hLW1pc3Rha2UtYnktcmV3cml0aW5nLWhpc3Rvcnk+PiB0aGF0IHlvdSBjYW4gcmVwbGFjZSB0aGUKIG1vc3QgcmVjZW50IGNvbW1pdCB1c2luZwpAQCAtMjYxMiw4ICsyNTQzLDcgQEAKIHVzZSA8PGludGVyYWN0aXZlLXJlYmFzZSxpbnRlcmFjdGl2ZSByZWJhc2UncyBgZWRpdGAgaW5zdHJ1Y3Rpb24+Pi4KIAogW1tyZW9yZGVyaW5nLXBhdGNoLXNlcmllc11dCi1SZW9yZGVyaW5nIG9yIHNlbGVjdGluZyBmcm9tIGEgcGF0Y2ggc2VyaWVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis9PT0gUmVvcmRlcmluZyBvciBzZWxlY3RpbmcgZnJvbSBhIHBhdGNoIHNlcmllcwogCiBTb21ldGltZXMgeW91IHdhbnQgdG8gZWRpdCBhIGNvbW1pdCBkZWVwZXIgaW4geW91ciBoaXN0b3J5LiAgT25lCiBhcHByb2FjaCBpcyB0byB1c2UgYGdpdCBmb3JtYXQtcGF0Y2hgIHRvIGNyZWF0ZSBhIHNlcmllcyBvZiBwYXRjaGVzCkBAIC0yNjMyLDggKzI1NjIsNyBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBbW2ludGVyYWN0aXZlLXJlYmFzZV1dCi1Vc2luZyBpbnRlcmFjdGl2ZSByZWJhc2VzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis9PT0gVXNpbmcgaW50ZXJhY3RpdmUgcmViYXNlcwogCiBZb3UgY2FuIGFsc28gZWRpdCBhIHBhdGNoIHNlcmllcyB3aXRoIGFuIGludGVyYWN0aXZlIHJlYmFzZS4gIFRoaXMgaXMKIHRoZSBzYW1lIGFzIDw8cmVvcmRlcmluZy1wYXRjaC1zZXJpZXMscmVvcmRlcmluZyBhIHBhdGNoIHNlcmllcyB1c2luZwpAQCAtMjY5MCwxNiArMjYxOSwxNCBAQAogc2VlIHRoZSAiSU5URVJBQ1RJVkUgTU9ERSIgc2VjdGlvbiBvZiBsaW5rZ2l0OmdpdC1yZWJhc2VbMV0uCiAKIFtbcGF0Y2gtc2VyaWVzLXRvb2xzXV0KLU90aGVyIHRvb2xzCi0tLS0tLS0tLS0tLQorPT09IE90aGVyIHRvb2xzCiAKIFRoZXJlIGFyZSBudW1lcm91cyBvdGhlciB0b29scywgc3VjaCBhcyBTdEdpdCwgd2hpY2ggZXhpc3QgZm9yIHRoZQogcHVycG9zZSBvZiBtYWludGFpbmluZyBhIHBhdGNoIHNlcmllcy4gIFRoZXNlIGFyZSBvdXRzaWRlIG9mIHRoZSBzY29wZSBvZgogdGhpcyBtYW51YWwuCiAKIFtbcHJvYmxlbXMtV2l0aC1yZXdyaXRpbmctaGlzdG9yeV1dCi1Qcm9ibGVtcyB3aXRoIHJld3JpdGluZyBoaXN0b3J5Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis9PT0gUHJvYmxlbXMgd2l0aCByZXdyaXRpbmcgaGlzdG9yeQogCiBUaGUgcHJpbWFyeSBwcm9ibGVtIHdpdGggcmV3cml0aW5nIHRoZSBoaXN0b3J5IG9mIGEgYnJhbmNoIGhhcyB0byBkbwogd2l0aCBtZXJnaW5nLiAgU3VwcG9zZSBzb21lYm9keSBmZXRjaGVzIHlvdXIgYnJhbmNoIGFuZCBtZXJnZXMgaXQgaW50bwpAQCAtMjc0Nyw4ICsyNjc0LDcgQEAKIHB1Ymxpc2hlZCBicmFuY2hlcyBzaG91bGQgbmV2ZXIgYmUgcmV3cml0dGVuLgogCiBbW2Jpc2VjdC1tZXJnZXNdXQotV2h5IGJpc2VjdGluZyBtZXJnZSBjb21taXRzIGNhbiBiZSBoYXJkZXIgdGhhbiBiaXNlY3RpbmcgbGluZWFyIGhpc3RvcnkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis9PT0gV2h5IGJpc2VjdGluZyBtZXJnZSBjb21taXRzIGNhbiBiZSBoYXJkZXIgdGhhbiBiaXNlY3RpbmcgbGluZWFyIGhpc3RvcnkKIAogVGhlIGxpbmtnaXQ6Z2l0LWJpc2VjdFsxXSBjb21tYW5kIGNvcnJlY3RseSBoYW5kbGVzIGhpc3RvcnkgdGhhdAogaW5jbHVkZXMgbWVyZ2UgY29tbWl0cy4gIEhvd2V2ZXIsIHdoZW4gdGhlIGNvbW1pdCB0aGF0IGl0IGZpbmRzIGlzIGEKQEAgLTI4MTMsMTIgKzI3MzksMTAgQEAKIHB1Ymxpc2hpbmcuCiAKIFtbYWR2YW5jZWQtYnJhbmNoLW1hbmFnZW1lbnRdXQotQWR2YW5jZWQgYnJhbmNoIG1hbmFnZW1lbnQKLT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9PSBBZHZhbmNlZCBicmFuY2ggbWFuYWdlbWVudAogCiBbW2ZldGNoaW5nLWluZGl2aWR1YWwtYnJhbmNoZXNdXQotRmV0Y2hpbmcgaW5kaXZpZHVhbCBicmFuY2hlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorPT09IEZldGNoaW5nIGluZGl2aWR1YWwgYnJhbmNoZXMKIAogSW5zdGVhZCBvZiB1c2luZyBsaW5rZ2l0OmdpdC1yZW1vdGVbMV0sIHlvdSBjYW4gYWxzbyBjaG9vc2UganVzdAogdG8gdXBkYXRlIG9uZSBicmFuY2ggYXQgYSB0aW1lLCBhbmQgdG8gc3RvcmUgaXQgbG9jYWxseSB1bmRlciBhbgpAQCAtMjg0Niw4ICsyNzcwLDcgQEAKIG1hc3RlciBicmFuY2guICBJbiBtb3JlIGRldGFpbDoKIAogW1tmZXRjaC1mYXN0LWZvcndhcmRzXV0KLWdpdCBmZXRjaCBhbmQgZmFzdC1mb3J3YXJkcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis9PT0gZ2l0IGZldGNoIGFuZCBmYXN0LWZvcndhcmRzCiAKIEluIHRoZSBwcmV2aW91cyBleGFtcGxlLCB3aGVuIHVwZGF0aW5nIGFuIGV4aXN0aW5nIGJyYW5jaCwgYGdpdCBmZXRjaGAKIGNoZWNrcyB0byBtYWtlIHN1cmUgdGhhdCB0aGUgbW9zdCByZWNlbnQgY29tbWl0IG9uIHRoZSByZW1vdGUKQEAgLTI4ODQsOCArMjgwNyw3IEBACiB0aGVtLgogCiBbW2ZvcmNpbmctZmV0Y2hdXQotRm9yY2luZyBnaXQgZmV0Y2ggdG8gZG8gbm9uLWZhc3QtZm9yd2FyZCB1cGRhdGVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBGb3JjaW5nIGdpdCBmZXRjaCB0byBkbyBub24tZmFzdC1mb3J3YXJkIHVwZGF0ZXMKIAogSWYgZ2l0IGZldGNoIGZhaWxzIGJlY2F1c2UgdGhlIG5ldyBoZWFkIG9mIGEgYnJhbmNoIGlzIG5vdCBhCiBkZXNjZW5kYW50IG9mIHRoZSBvbGQgaGVhZCwgeW91IG1heSBmb3JjZSB0aGUgdXBkYXRlIHdpdGg6CkBAIC0yOTA1LDggKzI4MjcsNyBAQAogbWF5IGJlIGxvc3QsIGFzIHdlIHNhdyBpbiB0aGUgcHJldmlvdXMgc2VjdGlvbi4KIAogW1tyZW1vdGUtYnJhbmNoLWNvbmZpZ3VyYXRpb25dXQotQ29uZmlndXJpbmcgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBDb25maWd1cmluZyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMKIAogV2Ugc2F3IGFib3ZlIHRoYXQgYG9yaWdpbmAgaXMganVzdCBhIHNob3J0Y3V0IHRvIHJlZmVyIHRvIHRoZQogcmVwb3NpdG9yeSB0aGF0IHlvdSBvcmlnaW5hbGx5IGNsb25lZCBmcm9tLiAgVGhpcyBpbmZvcm1hdGlvbiBpcwpAQCAtMjk1Nyw4ICsyODc4LDcgQEAKIAogCiBbW2dpdC1jb25jZXB0c11dCi1HaXQgY29uY2VwdHMKLT09PT09PT09PT09PQorPT0gR2l0IGNvbmNlcHRzCiAKIEdpdCBpcyBidWlsdCBvbiBhIHNtYWxsIG51bWJlciBvZiBzaW1wbGUgYnV0IHBvd2VyZnVsIGlkZWFzLiAgV2hpbGUgaXQKIGlzIHBvc3NpYmxlIHRvIGdldCB0aGluZ3MgZG9uZSB3aXRob3V0IHVuZGVyc3RhbmRpbmcgdGhlbSwgeW91IHdpbGwgZmluZApAQCAtMjk2OCw4ICsyODg4LDcgQEAKIGRhdGFiYXNlPj4gYW5kIHRoZSA8PGRlZl9pbmRleCxpbmRleD4+LgogCiBbW3RoZS1vYmplY3QtZGF0YWJhc2VdXQotVGhlIE9iamVjdCBEYXRhYmFzZQotLS0tLS0tLS0tLS0tLS0tLS0tLQorPT09IFRoZSBPYmplY3QgRGF0YWJhc2UKIAogCiBXZSBhbHJlYWR5IHNhdyBpbiA8PHVuZGVyc3RhbmRpbmctY29tbWl0cz4+IHRoYXQgYWxsIGNvbW1pdHMgYXJlIHN0b3JlZApAQCAtMzAxMyw4ICsyOTMyLDcgQEAKIFRoZSBvYmplY3QgdHlwZXMgaW4gc29tZSBtb3JlIGRldGFpbDoKIAogW1tjb21taXQtb2JqZWN0XV0KLUNvbW1pdCBPYmplY3QKLX5+fn5+fn5+fn5+fn4KKz09PT0gQ29tbWl0IE9iamVjdAogCiBUaGUgImNvbW1pdCIgb2JqZWN0IGxpbmtzIGEgcGh5c2ljYWwgc3RhdGUgb2YgYSB0cmVlIHdpdGggYSBkZXNjcmlwdGlvbgogb2YgaG93IHdlIGdvdCB0aGVyZSBhbmQgd2h5LiAgVXNlIHRoZSBgLS1wcmV0dHk9cmF3YCBvcHRpb24gdG8KQEAgLTMwNjYsOCArMjk4NCw3IEBACiB0YWtlbiBmcm9tIHRoZSBjb250ZW50IGN1cnJlbnRseSBzdG9yZWQgaW4gdGhlIGluZGV4LgogCiBbW3RyZWUtb2JqZWN0XV0KLVRyZWUgT2JqZWN0Ci1+fn5+fn5+fn5+fgorPT09PSBUcmVlIE9iamVjdAogCiBUaGUgZXZlci12ZXJzYXRpbGUgbGlua2dpdDpnaXQtc2hvd1sxXSBjb21tYW5kIGNhbiBhbHNvIGJlIHVzZWQgdG8KIGV4YW1pbmUgdHJlZSBvYmplY3RzLCBidXQgbGlua2dpdDpnaXQtbHMtdHJlZVsxXSB3aWxsIGdpdmUgeW91IG1vcmUKQEAgLTMxMDYsOCArMzAyMyw3IEBACiBhdHRlbnRpb24gdG8gdGhlIGV4ZWN1dGFibGUgYml0LgogCiBbW2Jsb2Itb2JqZWN0XV0KLUJsb2IgT2JqZWN0Ci1+fn5+fn5+fn5+fgorPT09PSBCbG9iIE9iamVjdAogCiBZb3UgY2FuIHVzZSBsaW5rZ2l0OmdpdC1zaG93WzFdIHRvIGV4YW1pbmUgdGhlIGNvbnRlbnRzIG9mIGEgYmxvYjsgdGFrZSwKIGZvciBleGFtcGxlLCB0aGUgYmxvYiBpbiB0aGUgZW50cnkgZm9yIGBDT1BZSU5HYCBmcm9tIHRoZSB0cmVlIGFib3ZlOgpAQCAtMzEzNiw4ICszMDUyLDcgQEAKIGN1cnJlbnRseSBjaGVja2VkIG91dC4KIAogW1t0cnVzdF1dCi1UcnVzdAotfn5+fn4KKz09PT0gVHJ1c3QKIAogSWYgeW91IHJlY2VpdmUgdGhlIFNIQS0xIG5hbWUgb2YgYSBibG9iIGZyb20gb25lIHNvdXJjZSwgYW5kIGl0cyBjb250ZW50cwogZnJvbSBhbm90aGVyIChwb3NzaWJseSB1bnRydXN0ZWQpIHNvdXJjZSwgeW91IGNhbiBzdGlsbCB0cnVzdCB0aGF0IHRob3NlCkBAIC0zMTY2LDggKzMwODEsNyBAQAogVG8gYXNzaXN0IGluIHRoaXMsIEdpdCBhbHNvIHByb3ZpZGVzIHRoZSB0YWcgb2JqZWN0Li4uCiAKIFtbdGFnLW9iamVjdF1dCi1UYWcgT2JqZWN0Ci1+fn5+fn5+fn5+Cis9PT09IFRhZyBPYmplY3QKIAogQSB0YWcgb2JqZWN0IGNvbnRhaW5zIGFuIG9iamVjdCwgb2JqZWN0IHR5cGUsIHRhZyBuYW1lLCB0aGUgbmFtZSBvZiB0aGUKIHBlcnNvbiAoInRhZ2dlciIpIHdobyBjcmVhdGVkIHRoZSB0YWcsIGFuZCBhIG1lc3NhZ2UsIHdoaWNoIG1heSBjb250YWluCkBAIC0zMTk2LDggKzMxMTAsNyBAQAogcmVmZXJlbmNlcyB3aG9zZSBuYW1lcyBiZWdpbiB3aXRoIGByZWZzL3RhZ3MvYCkuCiAKIFtbcGFjay1maWxlc11dCi1Ib3cgR2l0IHN0b3JlcyBvYmplY3RzIGVmZmljaWVudGx5OiBwYWNrIGZpbGVzCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cis9PT09IEhvdyBHaXQgc3RvcmVzIG9iamVjdHMgZWZmaWNpZW50bHk6IHBhY2sgZmlsZXMKIAogTmV3bHkgY3JlYXRlZCBvYmplY3RzIGFyZSBpbml0aWFsbHkgY3JlYXRlZCBpbiBhIGZpbGUgbmFtZWQgYWZ0ZXIgdGhlCiBvYmplY3QncyBTSEEtMSBoYXNoIChzdG9yZWQgaW4gYC5naXQvb2JqZWN0c2ApLgpAQCAtMzI1NSw4ICszMTY4LDcgQEAKIHlvdSwgc28gaXMgbm9ybWFsbHkgdGhlIG9ubHkgaGlnaC1sZXZlbCBjb21tYW5kIHlvdSBuZWVkLgogCiBbW2RhbmdsaW5nLW9iamVjdHNdXQotRGFuZ2xpbmcgb2JqZWN0cwotfn5+fn5+fn5+fn5+fn5+fgorPT09PSBEYW5nbGluZyBvYmplY3RzCiAKIFRoZSBsaW5rZ2l0OmdpdC1mc2NrWzFdIGNvbW1hbmQgd2lsbCBzb21ldGltZXMgY29tcGxhaW4gYWJvdXQgZGFuZ2xpbmcKIG9iamVjdHMuICBUaGV5IGFyZSBub3QgYSBwcm9ibGVtLgpAQCAtMzMzNiw4ICszMjQ4LDcgQEAKIGFjY2Vzc2VzIHRvIGEgcmVwb3NpdG9yeSBidXQgeW91IG1pZ2h0IHJlY2VpdmUgY29uZnVzaW5nIG9yIHNjYXJ5IG1lc3NhZ2VzLikKIAogW1tyZWNvdmVyaW5nLWZyb20tcmVwb3NpdG9yeS1jb3JydXB0aW9uXV0KLVJlY292ZXJpbmcgZnJvbSByZXBvc2l0b3J5IGNvcnJ1cHRpb24KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKz09PT0gUmVjb3ZlcmluZyBmcm9tIHJlcG9zaXRvcnkgY29ycnVwdGlvbgogCiBCeSBkZXNpZ24sIEdpdCB0cmVhdHMgZGF0YSB0cnVzdGVkIHRvIGl0IHdpdGggY2F1dGlvbi4gIEhvd2V2ZXIsIGV2ZW4gaW4KIHRoZSBhYnNlbmNlIG9mIGJ1Z3MgaW4gR2l0IGl0c2VsZiwgaXQgaXMgc3RpbGwgcG9zc2libGUgdGhhdCBoYXJkd2FyZSBvcgpAQCAtMzQ1NCw4ICszMzY1LDcgQEAKIGp1c3QgbWlzc2luZyBvbmUgcGFydGljdWxhciBibG9iIHZlcnNpb24uCiAKIFtbdGhlLWluZGV4XV0KLVRoZSBpbmRleAotLS0tLS0tLS0tCis9PT0gVGhlIGluZGV4CiAKIFRoZSBpbmRleCBpcyBhIGJpbmFyeSBmaWxlIChnZW5lcmFsbHkga2VwdCBpbiBgLmdpdC9pbmRleGApIGNvbnRhaW5pbmcgYQogc29ydGVkIGxpc3Qgb2YgcGF0aCBuYW1lcywgZWFjaCB3aXRoIHBlcm1pc3Npb25zIGFuZCB0aGUgU0hBLTEgb2YgYSBibG9iCkBAIC0zNTEzLDggKzM0MjMsNyBAQAogaW5mb3JtYXRpb24gYXMgbG9uZyBhcyB5b3UgaGF2ZSB0aGUgbmFtZSBvZiB0aGUgdHJlZSB0aGF0IGl0IGRlc2NyaWJlZC4KIAogW1tzdWJtb2R1bGVzXV0KLVN1Ym1vZHVsZXMKLT09PT09PT09PT0KKz09IFN1Ym1vZHVsZXMKIAogTGFyZ2UgcHJvamVjdHMgYXJlIG9mdGVuIGNvbXBvc2VkIG9mIHNtYWxsZXIsIHNlbGYtY29udGFpbmVkIG1vZHVsZXMuICBGb3IKIGV4YW1wbGUsIGFuIGVtYmVkZGVkIExpbnV4IGRpc3RyaWJ1dGlvbidzIHNvdXJjZSB0cmVlIHdvdWxkIGluY2x1ZGUgZXZlcnkKQEAgLTM2NjgsMTMgKzM1NzcsMTMgQEAKIG5ldyBjb21taXQ6CiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSQgZ2l0IGNoZWNrb3V0IG1hc3RlcgorJCBnaXQgc3dpdGNoIG1hc3RlcgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBvcgogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0kIGdpdCBjaGVja291dCAtYiBmaXgtdXAKKyQgZ2l0IHN3aXRjaCAtYyBmaXgtdXAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogdGhlbgpAQCAtMzcwMCw4ICszNjA5LDggQEAKIFlvdSBoYXZlIHRvIHJ1biBgZ2l0IHN1Ym1vZHVsZSB1cGRhdGVgIGFmdGVyIGBnaXQgcHVsbGAgaWYgeW91IHdhbnQgdG8gdXBkYXRlCiBzdWJtb2R1bGVzLCB0b28uCiAKLVBpdGZhbGxzIHdpdGggc3VibW9kdWxlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbW3BpdGZhbGxzLXdpdGgtc3VibW9kdWxlc11dCis9PT0gUGl0ZmFsbHMgd2l0aCBzdWJtb2R1bGVzCiAKIEFsd2F5cyBwdWJsaXNoIHRoZSBzdWJtb2R1bGUgY2hhbmdlIGJlZm9yZSBwdWJsaXNoaW5nIHRoZSBjaGFuZ2UgdG8gdGhlCiBzdXBlcnByb2plY3QgdGhhdCByZWZlcmVuY2VzIGl0LiBJZiB5b3UgZm9yZ2V0IHRvIHB1Ymxpc2ggdGhlIHN1Ym1vZHVsZSBjaGFuZ2UsCkBAIC0zNzcwLDggKzM2NzksNyBAQAogd2FybmluZyBhYm91dCBub3QgYmVpbmcgYWJsZSBzd2l0Y2ggZnJvbSBhIGRpcnR5IGJyYW5jaC4KIAogW1tsb3ctbGV2ZWwtb3BlcmF0aW9uc11dCi1Mb3ctbGV2ZWwgR2l0IG9wZXJhdGlvbnMKLT09PT09PT09PT09PT09PT09PT09PT09PQorPT0gTG93LWxldmVsIEdpdCBvcGVyYXRpb25zCiAKIE1hbnkgb2YgdGhlIGhpZ2hlci1sZXZlbCBjb21tYW5kcyB3ZXJlIG9yaWdpbmFsbHkgaW1wbGVtZW50ZWQgYXMgc2hlbGwKIHNjcmlwdHMgdXNpbmcgYSBzbWFsbGVyIGNvcmUgb2YgbG93LWxldmVsIEdpdCBjb21tYW5kcy4gIFRoZXNlIGNhbiBzdGlsbApAQCAtMzc3OSw4ICszNjg3LDcgQEAKIHVuZGVyc3RhbmQgaXRzIGlubmVyIHdvcmtpbmdzLgogCiBbW29iamVjdC1tYW5pcHVsYXRpb25dXQotT2JqZWN0IGFjY2VzcyBhbmQgbWFuaXB1bGF0aW9uCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBPYmplY3QgYWNjZXNzIGFuZCBtYW5pcHVsYXRpb24KIAogVGhlIGxpbmtnaXQ6Z2l0LWNhdC1maWxlWzFdIGNvbW1hbmQgY2FuIHNob3cgdGhlIGNvbnRlbnRzIG9mIGFueSBvYmplY3QsCiB0aG91Z2ggdGhlIGhpZ2hlci1sZXZlbCBsaW5rZ2l0OmdpdC1zaG93WzFdIGlzIHVzdWFsbHkgbW9yZSB1c2VmdWwuCkBAIC0zNzk3LDExICszNzA0LDEwIEBACiB1c2UgbGlua2dpdDpnaXQtdGFnWzFdIGZvciBib3RoLgogCiBbW3RoZS13b3JrZmxvd11dCi1UaGUgV29ya2Zsb3cKLS0tLS0tLS0tLS0tLQorPT09IFRoZSBXb3JrZmxvdwogCi1IaWdoLWxldmVsIG9wZXJhdGlvbnMgc3VjaCBhcyBsaW5rZ2l0OmdpdC1jb21taXRbMV0sCi1saW5rZ2l0OmdpdC1jaGVja291dFsxXSBhbmQgbGlua2dpdDpnaXQtcmVzZXRbMV0gd29yayBieSBtb3ZpbmcgZGF0YQorSGlnaC1sZXZlbCBvcGVyYXRpb25zIHN1Y2ggYXMgbGlua2dpdDpnaXQtY29tbWl0WzFdIGFuZAorbGlua2dpdDpnaXQtcmVzdG9yZVsxXSB3b3JrIGJ5IG1vdmluZyBkYXRhCiBiZXR3ZWVuIHRoZSB3b3JraW5nIHRyZWUsIHRoZSBpbmRleCwgYW5kIHRoZSBvYmplY3QgZGF0YWJhc2UuICBHaXQKIHByb3ZpZGVzIGxvdy1sZXZlbCBvcGVyYXRpb25zIHdoaWNoIHBlcmZvcm0gZWFjaCBvZiB0aGVzZSBzdGVwcwogaW5kaXZpZHVhbGx5LgpAQCAtMzgxMyw4ICszNzE5LDcgQEAKIGNvbWJpbmF0aW9uczoKIAogW1t3b3JraW5nLWRpcmVjdG9yeS10by1pbmRleF1dCi13b3JraW5nIGRpcmVjdG9yeSAtPiBpbmRleAotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKz09PT0gd29ya2luZyBkaXJlY3RvcnkgLT4gaW5kZXgKIAogVGhlIGxpbmtnaXQ6Z2l0LXVwZGF0ZS1pbmRleFsxXSBjb21tYW5kIHVwZGF0ZXMgdGhlIGluZGV4IHdpdGgKIGluZm9ybWF0aW9uIGZyb20gdGhlIHdvcmtpbmcgZGlyZWN0b3J5LiAgWW91IGdlbmVyYWxseSB1cGRhdGUgdGhlCkBAIC0zODUwLDggKzM3NTUsNyBAQAogbGlua2dpdDpnaXQtdXBkYXRlLWluZGV4WzFdLgogCiBbW2luZGV4LXRvLW9iamVjdC1kYXRhYmFzZV1dCi1pbmRleCAtPiBvYmplY3QgZGF0YWJhc2UKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorPT09PSBpbmRleCAtPiBvYmplY3QgZGF0YWJhc2UKIAogWW91IHdyaXRlIHlvdXIgY3VycmVudCBpbmRleCBmaWxlIHRvIGEgInRyZWUiIG9iamVjdCB3aXRoIHRoZSBwcm9ncmFtCiAKQEAgLTM4NjYsOCArMzc3MCw3IEBACiBvdGhlciBkaXJlY3Rpb246CiAKIFtbb2JqZWN0LWRhdGFiYXNlLXRvLWluZGV4XV0KLW9iamVjdCBkYXRhYmFzZSAtPiBpbmRleAotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cis9PT09IG9iamVjdCBkYXRhYmFzZSAtPiBpbmRleAogCiBZb3UgcmVhZCBhICJ0cmVlIiBmaWxlIGZyb20gdGhlIG9iamVjdCBkYXRhYmFzZSwgYW5kIHVzZSB0aGF0IHRvCiBwb3B1bGF0ZSAoYW5kIG92ZXJ3cml0ZS0tZG9uJ3QgZG8gdGhpcyBpZiB5b3VyIGluZGV4IGNvbnRhaW5zIGFueQpAQCAtMzg4Myw4ICszNzg2LDcgQEAKIGRpcmVjdG9yeSBjb250ZW50cyBoYXZlIG5vdCBiZWVuIG1vZGlmaWVkLgogCiBbW2luZGV4LXRvLXdvcmtpbmctZGlyZWN0b3J5XV0KLWluZGV4IC0+IHdvcmtpbmcgZGlyZWN0b3J5Ci1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorPT09PSBpbmRleCAtPiB3b3JraW5nIGRpcmVjdG9yeQogCiBZb3UgdXBkYXRlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgZnJvbSB0aGUgaW5kZXggYnkgImNoZWNraW5nIG91dCIKIGZpbGVzLiBUaGlzIGlzIG5vdCBhIHZlcnkgY29tbW9uIG9wZXJhdGlvbiwgc2luY2Ugbm9ybWFsbHkgeW91J2QganVzdApAQCAtMzkxMyw4ICszODE1LDcgQEAKIGZyb20gb25lIHJlcHJlc2VudGF0aW9uIHRvIHRoZSBvdGhlcjoKIAogW1t0eWluZy1pdC1hbGwtdG9nZXRoZXJdXQotVHlpbmcgaXQgYWxsIHRvZ2V0aGVyCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKz09PT0gVHlpbmcgaXQgYWxsIHRvZ2V0aGVyCiAKIFRvIGNvbW1pdCBhIHRyZWUgeW91IGhhdmUgaW5zdGFudGlhdGVkIHdpdGggYGdpdCB3cml0ZS10cmVlYCwgeW91J2QKIGNyZWF0ZSBhICJjb21taXQiIG9iamVjdCB0aGF0IHJlZmVycyB0byB0aGF0IHRyZWUgYW5kIHRoZSBoaXN0b3J5CkBAIC0zOTg4LDggKzM4ODksNyBAQAogCiAKIFtbZXhhbWluaW5nLXRoZS1kYXRhXV0KLUV4YW1pbmluZyB0aGUgZGF0YQotLS0tLS0tLS0tLS0tLS0tLS0tCis9PT0gRXhhbWluaW5nIHRoZSBkYXRhCiAKIFlvdSBjYW4gZXhhbWluZSB0aGUgZGF0YSByZXByZXNlbnRlZCBpbiB0aGUgb2JqZWN0IGRhdGFiYXNlIGFuZCB0aGUKIGluZGV4IHdpdGggdmFyaW91cyBoZWxwZXIgdG9vbHMuIEZvciBldmVyeSBvYmplY3QsIHlvdSBjYW4gdXNlCkBAIC00MDI0LDggKzM5MjQsNyBAQAogdG8gc2VlIHdoYXQgdGhlIHRvcCBjb21taXQgd2FzLgogCiBbW21lcmdpbmctbXVsdGlwbGUtdHJlZXNdXQotTWVyZ2luZyBtdWx0aXBsZSB0cmVlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorPT09IE1lcmdpbmcgbXVsdGlwbGUgdHJlZXMKIAogR2l0IGNhbiBoZWxwIHlvdSBwZXJmb3JtIGEgdGhyZWUtd2F5IG1lcmdlLCB3aGljaCBjYW4gaW4gdHVybiBiZQogdXNlZCBmb3IgYSBtYW55LXdheSBtZXJnZSBieSByZXBlYXRpbmcgdGhlIG1lcmdlIHByb2NlZHVyZSBzZXZlcmFsCkBAIC00MDc1LDggKzM5NzQsNyBAQAogCiAKIFtbbWVyZ2luZy1tdWx0aXBsZS10cmVlcy0yXV0KLU1lcmdpbmcgbXVsdGlwbGUgdHJlZXMsIGNvbnRpbnVlZAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis9PT0gTWVyZ2luZyBtdWx0aXBsZSB0cmVlcywgY29udGludWVkCiAKIFNhZGx5LCBtYW55IG1lcmdlcyBhcmVuJ3QgdHJpdmlhbC4gSWYgdGhlcmUgYXJlIGZpbGVzIHRoYXQgaGF2ZQogYmVlbiBhZGRlZCwgbW92ZWQgb3IgcmVtb3ZlZCwgb3IgaWYgYm90aCBicmFuY2hlcyBoYXZlIG1vZGlmaWVkIHRoZQpAQCAtNDE0NiwxNSArNDA0NCwxMyBAQAogYW5kIHRoYXQgaXMgd2hhdCBoaWdoZXIgbGV2ZWwgYGdpdCBtZXJnZSAtcyByZXNvbHZlYCBpcyBpbXBsZW1lbnRlZCB3aXRoLgogCiBbW2hhY2tpbmctZ2l0XV0KLUhhY2tpbmcgR2l0Ci09PT09PT09PT09PQorPT0gSGFja2luZyBHaXQKIAogVGhpcyBjaGFwdGVyIGNvdmVycyBpbnRlcm5hbCBkZXRhaWxzIG9mIHRoZSBHaXQgaW1wbGVtZW50YXRpb24gd2hpY2gKIHByb2JhYmx5IG9ubHkgR2l0IGRldmVsb3BlcnMgbmVlZCB0byB1bmRlcnN0YW5kLgogCiBbW29iamVjdC1kZXRhaWxzXV0KLU9iamVjdCBzdG9yYWdlIGZvcm1hdAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis9PT0gT2JqZWN0IHN0b3JhZ2UgZm9ybWF0CiAKIEFsbCBvYmplY3RzIGhhdmUgYSBzdGF0aWNhbGx5IGRldGVybWluZWQgInR5cGUiIHdoaWNoIGlkZW50aWZpZXMgdGhlCiBmb3JtYXQgb2YgdGhlIG9iamVjdCAoaS5lLiBob3cgaXQgaXMgdXNlZCwgYW5kIGhvdyBpdCBjYW4gcmVmZXIgdG8gb3RoZXIKQEAgLTQxODQsOCArNDA4MCw3IEBACiB0byBqdXN0IHZlcmlmeWluZyB0aGVpciBzdXBlcmZpY2lhbCBjb25zaXN0ZW5jeSB0aHJvdWdoIHRoZSBoYXNoKS4KIAogW1tiaXJkdmlldy1vbi10aGUtc291cmNlLWNvZGVdXQotQSBiaXJkcy1leWUgdmlldyBvZiBHaXQncyBzb3VyY2UgY29kZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorPT09IEEgYmlyZHMtZXllIHZpZXcgb2YgR2l0J3Mgc291cmNlIGNvZGUKIAogSXQgaXMgbm90IGFsd2F5cyBlYXN5IGZvciBuZXcgZGV2ZWxvcGVycyB0byBmaW5kIHRoZWlyIHdheSB0aHJvdWdoIEdpdCdzCiBzb3VyY2UgY29kZS4gIFRoaXMgc2VjdGlvbiBnaXZlcyB5b3UgYSBsaXR0bGUgZ3VpZGFuY2UgdG8gc2hvdyB3aGVyZSB0bwpAQCAtNDE5NCw3ICs0MDg5LDcgQEAKIEEgZ29vZCBwbGFjZSB0byBzdGFydCBpcyB3aXRoIHRoZSBjb250ZW50cyBvZiB0aGUgaW5pdGlhbCBjb21taXQsIHdpdGg6CiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSQgZ2l0IGNoZWNrb3V0IGU4M2M1MTYzCiskIGdpdCBzd2l0Y2ggLS1kZXRhY2ggZTgzYzUxNjMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogVGhlIGluaXRpYWwgcmV2aXNpb24gbGF5cyB0aGUgZm91bmRhdGlvbiBmb3IgYWxtb3N0IGV2ZXJ5dGhpbmcgR2l0IGhhcwpAQCAtNDM5NCwyNSArNDI4OSwyMiBAQAogaXRzZWxmIQogCiBbW2dsb3NzYXJ5XV0KLUdpdCBHbG9zc2FyeQotPT09PT09PT09PT09Cis9PSBHaXQgR2xvc3NhcnkKIAogW1tnaXQtZXhwbGFpbmVkXV0KLUdpdCBleHBsYWluZWQKLS0tLS0tLS0tLS0tLS0KKz09PSBHaXQgZXhwbGFpbmVkCiAKIGluY2x1ZGU6Omdsb3NzYXJ5LWNvbnRlbnQudHh0W10KIAogW1tnaXQtcXVpY2stc3RhcnRdXQotQXBwZW5kaXggQTogR2l0IFF1aWNrIFJlZmVyZW5jZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorW2FwcGVuZGl4XQorPT0gR2l0IFF1aWNrIFJlZmVyZW5jZQogCiBUaGlzIGlzIGEgcXVpY2sgc3VtbWFyeSBvZiB0aGUgbWFqb3IgY29tbWFuZHM7IHRoZSBwcmV2aW91cyBjaGFwdGVycwogZXhwbGFpbiBob3cgdGhlc2Ugd29yayBpbiBtb3JlIGRldGFpbC4KIAogW1txdWljay1jcmVhdGluZy1hLW5ldy1yZXBvc2l0b3J5XV0KLUNyZWF0aW5nIGEgbmV3IHJlcG9zaXRvcnkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBDcmVhdGluZyBhIG5ldyByZXBvc2l0b3J5CiAKIEZyb20gYSB0YXJiYWxsOgogCkBAIC00NDMzLDE0ICs0MzI1LDEzIEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBbW21hbmFnaW5nLWJyYW5jaGVzXV0KLU1hbmFnaW5nIGJyYW5jaGVzCi0tLS0tLS0tLS0tLS0tLS0tLQorPT09IE1hbmFnaW5nIGJyYW5jaGVzCiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0kIGdpdCBicmFuY2gJICAgICAjIGxpc3QgYWxsIGxvY2FsIGJyYW5jaGVzIGluIHRoaXMgcmVwbwotJCBnaXQgY2hlY2tvdXQgdGVzdCAgIyBzd2l0Y2ggd29ya2luZyBkaXJlY3RvcnkgdG8gYnJhbmNoICJ0ZXN0IgotJCBnaXQgYnJhbmNoIG5ldyAgICAgIyBjcmVhdGUgYnJhbmNoICJuZXciIHN0YXJ0aW5nIGF0IGN1cnJlbnQgSEVBRAotJCBnaXQgYnJhbmNoIC1kIG5ldyAgIyBkZWxldGUgYnJhbmNoICJuZXciCiskIGdpdCBicmFuY2gJCQkjIGxpc3QgYWxsIGxvY2FsIGJyYW5jaGVzIGluIHRoaXMgcmVwbworJCBnaXQgc3dpdGNoIHRlc3QJICAgICAgICAjIHN3aXRjaCB3b3JraW5nIGRpcmVjdG9yeSB0byBicmFuY2ggInRlc3QiCiskIGdpdCBicmFuY2ggbmV3CQkjIGNyZWF0ZSBicmFuY2ggIm5ldyIgc3RhcnRpbmcgYXQgY3VycmVudCBIRUFECiskIGdpdCBicmFuY2ggLWQgbmV3CQkjIGRlbGV0ZSBicmFuY2ggIm5ldyIKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIEluc3RlYWQgb2YgYmFzaW5nIGEgbmV3IGJyYW5jaCBvbiBjdXJyZW50IEhFQUQgKHRoZSBkZWZhdWx0KSwgdXNlOgpAQCAtNDQ1Niw3ICs0MzQ3LDcgQEAKIENyZWF0ZSBhbmQgc3dpdGNoIHRvIGEgbmV3IGJyYW5jaCBhdCB0aGUgc2FtZSB0aW1lOgogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotJCBnaXQgY2hlY2tvdXQgLWIgbmV3IHYyLjYuMTUKKyQgZ2l0IHN3aXRjaCAtYyBuZXcgdjIuNi4xNQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogVXBkYXRlIGFuZCBleGFtaW5lIGJyYW5jaGVzIGZyb20gdGhlIHJlcG9zaXRvcnkgeW91IGNsb25lZCBmcm9tOgpAQCAtNDQ2Nyw3ICs0MzU4LDcgQEAKICAgb3JpZ2luL21hc3RlcgogICBvcmlnaW4vbmV4dAogICAuLi4KLSQgZ2l0IGNoZWNrb3V0IC1iIG1hc3Rlcndvcmsgb3JpZ2luL21hc3RlcgorJCBnaXQgc3dpdGNoIC1jIG1hc3Rlcndvcmsgb3JpZ2luL21hc3RlcgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogRmV0Y2ggYSBicmFuY2ggZnJvbSBhIGRpZmZlcmVudCByZXBvc2l0b3J5LCBhbmQgZ2l2ZSBpdCBhIG5ldwpAQCAtNDQ5OCw4ICs0Mzg5LDcgQEAKIAogCiBbW2V4cGxvcmluZy1oaXN0b3J5XV0KLUV4cGxvcmluZyBoaXN0b3J5Ci0tLS0tLS0tLS0tLS0tLS0tLQorPT09IEV4cGxvcmluZyBoaXN0b3J5CiAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAkIGdpdGsJCQkgICAgIyB2aXN1YWxpemUgYW5kIGJyb3dzZSBoaXN0b3J5CkBAIC00NTM0LDggKzQ0MjQsNyBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogW1ttYWtpbmctY2hhbmdlc11dCi1NYWtpbmcgY2hhbmdlcwotLS0tLS0tLS0tLS0tLS0KKz09PSBNYWtpbmcgY2hhbmdlcwogCiBNYWtlIHN1cmUgR2l0IGtub3dzIHdobyB0byBibGFtZToKIApAQCAtNDU2NSw4ICs0NDU0LDcgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIFtbbWVyZ2luZ11dCi1NZXJnaW5nCi0tLS0tLS0tCis9PT0gTWVyZ2luZwogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogJCBnaXQgbWVyZ2UgdGVzdCAgICMgbWVyZ2UgYnJhbmNoICJ0ZXN0IiBpbnRvIHRoZSBjdXJyZW50IGJyYW5jaApAQCAtNDU3Niw4ICs0NDY0LDcgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIFtbc2hhcmluZy15b3VyLWNoYW5nZXNdXQotU2hhcmluZyB5b3VyIGNoYW5nZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis9PT0gU2hhcmluZyB5b3VyIGNoYW5nZXMKIAogSW1wb3J0aW5nIG9yIGV4cG9ydGluZyBwYXRjaGVzOgogCkBAIC00NjIyLDggKzQ1MDksNyBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogW1tyZXBvc2l0b3J5LW1haW50ZW5hbmNlXV0KLVJlcG9zaXRvcnkgbWFpbnRlbmFuY2UKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKz09PSBSZXBvc2l0b3J5IG1haW50ZW5hbmNlCiAKIENoZWNrIGZvciBjb3JydXB0aW9uOgogCkBAIC00NjM5LDEyICs0NTI1LDExIEBACiAKIAogW1t0b2RvXV0KLUFwcGVuZGl4IEI6IE5vdGVzIGFuZCB0b2RvIGxpc3QgZm9yIHRoaXMgbWFudWFsCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorW2FwcGVuZGl4XQorPT0gTm90ZXMgYW5kIHRvZG8gbGlzdCBmb3IgdGhpcyBtYW51YWwKIAogW1t0b2RvLWxpc3RdXQotVG9kbyBsaXN0Ci0tLS0tLS0tLS0KKz09PSBUb2RvIGxpc3QKIAogVGhpcyBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MuCiAKQEAgLTQ2ODksNSArNDU3NCw1IEBACiBBbHRlcm5hdGVzLCBjbG9uZSAtcmVmZXJlbmNlLCBldGMuCiAKIE1vcmUgb24gcmVjb3ZlcnkgZnJvbSByZXBvc2l0b3J5IGNvcnJ1cHRpb24uICBTZWU6Ci0JaHR0cDovL21hcmMuaW5mby8/bD1naXQmbT0xMTcyNjM4NjQ4MjA3OTkmdz0yCi0JaHR0cDovL21hcmMuaW5mby8/bD1naXQmbT0xMTcxNDc4NTU1MDM3OTgmdz0yCisJaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvZ2l0L1BpbmUuTE5YLjQuNjQuMDcwMjI3MjAzOTU0MC4xMjQ4NUB3b29keS5saW51eC1mb3VuZGF0aW9uLm9yZy8KKwlodHRwczovL2xvcmUua2VybmVsLm9yZy9naXQvUGluZS5MTlguNC42NC4wNzAyMTQxMDMzNDAwLjM2MDRAd29vZHkubGludXgtZm91bmRhdGlvbi5vcmcvCmRpZmYgLS1naXQgYS9HSVQtVkVSU0lPTi1HRU4gYi9HSVQtVkVSU0lPTi1HRU4KaW5kZXggNDkyZjM0OC4uNDFjMmQ3YyAxMDA3NTUKLS0tIGEvR0lULVZFUlNJT04tR0VOCisrKyBiL0dJVC1WRVJTSU9OLUdFTgpAQCAtMSw3ICsxLDcgQEAKICMhL2Jpbi9zaAogCiBHVkY9R0lULVZFUlNJT04tRklMRQotREVGX1ZFUj12Mi4yMC4yCitERUZfVkVSPXYyLjI2LjAtcmMxCiAKIExGPScKICcKZGlmZiAtLWdpdCBhL0lOU1RBTEwgYi9JTlNUQUxMCmluZGV4IGMzOTAwNmUuLjIyYzM2NGYgMTAwNjQ0Ci0tLSBhL0lOU1RBTEwKKysrIGIvSU5TVEFMTApAQCAtMTA5LDE1ICsxMDksMTUgQEAKIAogIC0gR2l0IGlzIHJlYXNvbmFibHkgc2VsZi1zdWZmaWNpZW50LCBidXQgZG9lcyBkZXBlbmQgb24gYSBmZXcgZXh0ZXJuYWwKICAgIHByb2dyYW1zIGFuZCBsaWJyYXJpZXMuICBHaXQgY2FuIGJlIHVzZWQgd2l0aG91dCBtb3N0IG9mIHRoZW0gYnkgYWRkaW5nCi0gICB0aGUgYXBwcm9yaWF0ZSAiTk9fPExJQlJBUlk+PVllc1BsZWFzZSIgdG8gdGhlIG1ha2UgY29tbWFuZCBsaW5lIG9yCisgICB0aGUgYXBwcm9wcmlhdGUgIk5PXzxMSUJSQVJZPj1ZZXNQbGVhc2UiIHRvIHRoZSBtYWtlIGNvbW1hbmQgbGluZSBvcgogICAgY29uZmlnLm1hayBmaWxlLgogCiAJLSAiemxpYiIsIHRoZSBjb21wcmVzc2lvbiBsaWJyYXJ5LiBHaXQgd29uJ3QgYnVpbGQgd2l0aG91dCBpdC4KIAogCS0gInNzaCIgaXMgdXNlZCB0byBwdXNoIGFuZCBwdWxsIG92ZXIgdGhlIG5ldC4KIAotCS0gQSBQT1NJWC1jb21wbGlhbnQgc2hlbGwgaXMgcmVxdWlyZWQgdG8gcnVuIG1hbnkgc2NyaXB0cyBuZWVkZWQKLQkgIGZvciBldmVyeWRheSB1c2UgKGUuZy4gImJpc2VjdCIsICJwdWxsIikuCisJLSBBIFBPU0lYLWNvbXBsaWFudCBzaGVsbCBpcyByZXF1aXJlZCB0byBydW4gc29tZSBzY3JpcHRzIG5lZWRlZAorCSAgZm9yIGV2ZXJ5ZGF5IHVzZSAoZS5nLiAiYmlzZWN0IiwgInJlcXVlc3QtcHVsbCIpLgogCiAJLSAiUGVybCIgdmVyc2lvbiA1Ljggb3IgbGF0ZXIgaXMgbmVlZGVkIHRvIHVzZSBzb21lIG9mIHRoZQogCSAgZmVhdHVyZXMgKGUuZy4gcHJlcGFyaW5nIGEgcGFydGlhbCBjb21taXQgdXNpbmcgImdpdCBhZGQgLWkvLXAiLApkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQppbmRleCAxYTQ0YzgxLi45ODA0YTA3IDEwMDY0NAotLS0gYS9NYWtlZmlsZQorKysgYi9NYWtlZmlsZQpAQCAtMzQsMTMgKzM0LDggQEAKICMgbGlicmFyeS4gU3VwcG9ydCBmb3IgdmVyc2lvbiAxIHdpbGwgbGlrZWx5IGJlIHJlbW92ZWQgaW4gc29tZSBmdXR1cmUKICMgcmVsZWFzZSBvZiBHaXQsIGFzIHVwc3RyZWFtIGhhcyBhbGwgYnV0IGFiYW5kb25lZCBpdC4KICMKLSMgV2hlbiB1c2luZyBVU0VfTElCUENSRTEsIGRlZmluZSBOT19MSUJQQ1JFMV9KSVQgaWYgdGhlIFBDUkUgdjEKLSMgbGlicmFyeSBpcyBjb21waWxlZCB3aXRob3V0IC0tZW5hYmxlLWppdC4gV2Ugd2lsbCBhdXRvLWRldGVjdAotIyB3aGV0aGVyIHRoZSB2ZXJzaW9uIG9mIHRoZSBQQ1JFIHYxIGxpYnJhcnkgaW4gdXNlIGhhcyBKSVQgc3VwcG9ydCBhdAotIyBhbGwsIGJ1dCB3ZSB1bmZvcnR1bmF0ZWx5IGNhbid0IGF1dG8tZGV0ZWN0IHdoZXRoZXIgSklUIHN1cHBvcnQKLSMgaGFzbid0IGJlZW4gY29tcGlsZWQgaW4gaW4gYW4gb3RoZXJ3aXNlIEpJVC1zdXBwb3J0aW5nIHZlcnNpb24uIElmCi0jIHlvdSBoYXZlIGxpbmstdGltZSBlcnJvcnMgYWJvdXQgYSBtaXNzaW5nIGBwY3JlX2ppdF9leGVjYCBkZWZpbmUKLSMgdGhpcywgb3IgcmVjb21waWxlIFBDUkUgdjEgd2l0aCAtLWVuYWJsZS1qaXQuCisjIFdoZW4gdXNpbmcgVVNFX0xJQlBDUkUxLCBkZWZpbmUgTk9fTElCUENSRTFfSklUIGlmIHlvdSB3YW50IHRvCisjIGRpc2FibGUgSklUIGV2ZW4gaWYgc3VwcG9ydGVkIGJ5IHlvdXIgbGlicmFyeS4KICMKICMgRGVmaW5lIExJQlBDUkVESVI9L2Zvby9iYXIgaWYgeW91ciBQQ1JFIGhlYWRlciBhbmQgbGlicmFyeSBmaWxlcyBhcmUKICMgaW4gL2Zvby9iYXIvaW5jbHVkZSBhbmQgL2Zvby9iYXIvbGliIGRpcmVjdG9yaWVzLiBXaGljaCB2ZXJzaW9uIG9mCkBAIC0xODYsNiArMTgxLDEyIEBACiAjIGluIG9uZSBjYWxsIHRvIHRoZSBwbGF0Zm9ybSdzIFNIQTFfVXBkYXRlKCkuIGUuZy4gQVBQTEVfQ09NTU9OX0NSWVBUTwogIyB3YW50cyAnU0hBMV9NQVhfQkxPQ0tfU0laRT0xMDI0TCoxMDI0TCoxMDI0TCcgZGVmaW5lZC4KICMKKyMgRGVmaW5lIEJMS19TSEEyNTYgdG8gdXNlIHRoZSBidWlsdC1pbiBTSEEtMjU2IHJvdXRpbmVzLgorIworIyBEZWZpbmUgR0NSWVBUX1NIQTI1NiB0byB1c2UgdGhlIFNIQS0yNTYgcm91dGluZXMgaW4gbGliZ2NyeXB0LgorIworIyBEZWZpbmUgT1BFTlNTTF9TSEEyNTYgdG8gdXNlIHRoZSBTSEEtMjU2IHJvdXRpbmVzIGluIE9wZW5TU0wuCisjCiAjIERlZmluZSBORUVEU19DUllQVE9fV0lUSF9TU0wgaWYgeW91IG5lZWQgLWxjcnlwdG8gd2hlbiB1c2luZyAtbHNzbCAoRGFyd2luKS4KICMKICMgRGVmaW5lIE5FRURTX1NTTF9XSVRIX0NSWVBUTyBpZiB5b3UgbmVlZCAtbHNzbCB3aGVuIHVzaW5nIC1sY3J5cHRvIChEYXJ3aW4pLgpAQCAtMjUzLDExICsyNTQsMTEgQEAKICMgRGVmaW5lIE9MRF9JQ09OViBpZiB5b3VyIGxpYnJhcnkgaGFzIGFuIG9sZCBpY29udigpLCB3aGVyZSB0aGUgc2Vjb25kCiAjIChpbnB1dCBidWZmZXIgcG9pbnRlcikgcGFyYW1ldGVyIGlzIGRlY2xhcmVkIHdpdGggdHlwZSAoY29uc3QgY2hhciAqKikuCiAjCi0jIERlZmluZSBOT19ERUZMQVRFX0JPVU5EIGlmIHlvdXIgemxpYiBkb2VzIG5vdCBoYXZlIGRlZmxhdGVCb3VuZC4KKyMgRGVmaW5lIElDT05WX09NSVRTX0JPTSBpZiB5b3VyIGljb252IGltcGxlbWVudGF0aW9uIGRvZXMgbm90IHdyaXRlIGEKKyMgYnl0ZS1vcmRlciBtYXJrIChCT00pIHdoZW4gd3JpdGluZyBVVEYtMTYgb3IgVVRGLTMyIGFuZCBhbHdheXMgd3JpdGVzIGluCisjIGJpZy1lbmRpYW4gZm9ybWF0LgogIwotIyBEZWZpbmUgTk9fUl9UT19HQ0NfTElOS0VSIGlmIHlvdXIgZ2NjIGRvZXMgbm90IGxpa2UgIi1SL3BhdGgvbGliIgotIyB0aGF0IHRlbGxzIHJ1bnRpbWUgcGF0aHMgdG8gZHluYW1pYyBsaWJyYXJpZXM7Ci0jICItV2wsLXJwYXRoPS9wYXRoL2xpYiIgaXMgdXNlZCBpbnN0ZWFkLgorIyBEZWZpbmUgTk9fREVGTEFURV9CT1VORCBpZiB5b3VyIHpsaWIgZG9lcyBub3QgaGF2ZSBkZWZsYXRlQm91bmQuCiAjCiAjIERlZmluZSBOT19OT1JFVFVSTiBpZiB1c2luZyBidWdneSB2ZXJzaW9ucyBvZiBnY2MgNC42KyBhbmQgcHJvZmlsZSBmZWVkYmFjaywKICMgYXMgdGhlIGNvbXBpbGVyIGNhbiBjcmFzaCAoaHR0cDovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD00OTI5OSkKQEAgLTQyNyw2ICs0MjgsMTEgQEAKICMKICMgRGVmaW5lIEhBVkVfR0VUREVMSU0gaWYgeW91ciBzeXN0ZW0gaGFzIHRoZSBnZXRkZWxpbSgpIGZ1bmN0aW9uLgogIworIyBEZWZpbmUgRklMRU5PX0lTX0FfTUFDUk8gaWYgZmlsZW5vKCkgaXMgYSBtYWNybywgbm90IGEgcmVhbCBmdW5jdGlvbi4KKyMKKyMgRGVmaW5lIE5FRURfQUNDRVNTX1JPT1RfSEFORExFUiBpZiBhY2Nlc3MoKSB1bmRlciByb290IG1heSBzdWNjZXNzIGZvciBYX09LCisjIGV2ZW4gaWYgZXhlY3V0aW9uIHBlcm1pc3Npb24gaXNuJ3QgZ3JhbnRlZCBmb3IgYW55IHVzZXIuCisjCiAjIERlZmluZSBQQUdFUl9FTlYgdG8gYSBTUCBzZXBhcmF0ZWQgVkFSPVZBTCBwYWlycyB0byBkZWZpbmUKICMgZGVmYXVsdCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYmUgcGFzc2VkIHdoZW4gYSBwYWdlciBpcyBzcGF3bmVkLCBlLmcuCiAjCkBAIC00NjcsMTEgKzQ3MywxNSBAQAogIwogIyBEZWZpbmUgREVWRUxPUEVSIHRvIGVuYWJsZSBtb3JlIGNvbXBpbGVyIHdhcm5pbmdzLiBDb21waWxlciB2ZXJzaW9uCiAjIGFuZCBmYW1pbHkgYXJlIGF1dG8gZGV0ZWN0ZWQsIGJ1dCBjb3VsZCBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nCi0jIENPTVBJTEVSX0ZFQVRVUkVTIChzZWUgY29uZmlnLm1hay5kZXYpCisjIENPTVBJTEVSX0ZFQVRVUkVTIChzZWUgY29uZmlnLm1hay5kZXYpLiBZb3UgY2FuIHN0aWxsIHNldAorIyBDRkxBR1M9Ii4uLiIgaW4gY29tYmluYXRpb24gd2l0aCBERVZFTE9QRVIgZW5hYmxlcywgd2hldGhlciB0aGF0J3MKKyMgZm9yIHR3ZWFraW5nIHNvbWV0aGluZyB1bnJlbGF0ZWQgKGUuZy4gb3B0aW1pemF0aW9uIGxldmVsKSwgb3IgZm9yCisjIHNlbGVjdGl2ZWx5IG92ZXJyaWRpbmcgc29tZXRoaW5nIERFVkVMT1BFUiBvciBvbmUgb2YgdGhlIERFVk9QVFMKKyMgKHNlZSBqdXN0IGJlbG93KSBicmluZ3MgaW4uCiAjCiAjIFdoZW4gREVWRUxPUEVSIGlzIHNldCwgREVWT1BUUyBjYW4gYmUgdXNlZCB0byBjb250cm9sIGNvbXBpbGVyCiAjIG9wdGlvbnMuICBUaGlzIHZhcmlhYmxlIGNvbnRhaW5zIGtleXdvcmRzIHNlcGFyYXRlZCBieQotIyB3aGl0ZXNwYWNlLiBUaGUgZm9sbG93aW5nIGtleXdvcmRzIGFyZSBhcmUgcmVjb2duaXplZDoKKyMgd2hpdGVzcGFjZS4gVGhlIGZvbGxvd2luZyBrZXl3b3JkcyBhcmUgcmVjb2duaXplZDoKICMKICMgICAgbm8tZXJyb3I6CiAjCkBAIC00OTQsMTcgKzUwNCw4IEBACiAJQCQoU0hFTExfUEFUSCkgLi9HSVQtVkVSU0lPTi1HRU4KIC1pbmNsdWRlIEdJVC1WRVJTSU9OLUZJTEUKIAotIyBDRkxBR1MgYW5kIExERkxBR1MgYXJlIGZvciB0aGUgdXNlcnMgdG8gb3ZlcnJpZGUgZnJvbSB0aGUgY29tbWFuZCBsaW5lLgotCi1DRkxBR1MgPSAtZyAtTzIgLVdhbGwKLUxERkxBR1MgPQotQUxMX0NGTEFHUyA9ICQoQ1BQRkxBR1MpICQoQ0ZMQUdTKQotQUxMX0xERkxBR1MgPSAkKExERkxBR1MpCi1TVFJJUCA/PSBzdHJpcAotCi0jIENyZWF0ZSBhcyBuZWNlc3NhcnksIHJlcGxhY2UgZXhpc3RpbmcsIG1ha2UgcmFubGliIHVubmVlZGVkLgotQVJGTEFHUyA9IHJjcwotCisjIFNldCBvdXIgZGVmYXVsdCBjb25maWd1cmF0aW9uLgorIwogIyBBbW9uZyB0aGUgdmFyaWFibGVzIGJlbG93LCB0aGVzZToKICMgICBnaXRleGVjZGlyCiAjICAgdGVtcGxhdGVfZGlyCkBAIC01NDksNiArNTUwLDcgQEAKIAogZXhwb3J0IHByZWZpeCBiaW5kaXIgc2hhcmVkaXIgc3lzY29uZmRpciBnaXR3ZWJkaXIgcGVybGxpYmRpciBsb2NhbGVkaXIKIAorIyBTZXQgb3VyIGRlZmF1bHQgcHJvZ3JhbXMKIENDID0gY2MKIEFSID0gYXIKIFJNID0gcm0gLWYKQEAgLTU2MSwyNSArNTYzLDE0IEBACiBYR0VUVEVYVCA9IHhnZXR0ZXh0CiBNU0dGTVQgPSBtc2dmbXQKIENVUkxfQ09ORklHID0gY3VybC1jb25maWcKLVBUSFJFQURfTElCUyA9IC1scHRocmVhZAotUFRIUkVBRF9DRkxBR1MgPQogR0NPViA9IGdjb3YKK1NUUklQID0gc3RyaXAKIFNQQVRDSCA9IHNwYXRjaAogCiBleHBvcnQgVENMX1BBVEggVENMVEtfUEFUSAogCi1TUEFSU0VfRkxBR1MgPQotU1BBVENIX0ZMQUdTID0gLS1hbGwtaW5jbHVkZXMgLS1wYXRjaCAuCi0KLQotCi0jIyMgLS0tIEVORCBDT05GSUdVUkFUSU9OIFNFQ1RJT04gLS0tCi0KLSMgVGhvc2UgbXVzdCBub3QgYmUgR05VLXNwZWNpZmljOyB0aGV5IGFyZSBzaGFyZWQgd2l0aCBwZXJsLyB3aGljaCBtYXkKLSMgYmUgYnVpbHQgYnkgYSBkaWZmZXJlbnQgY29tcGlsZXIuIChOb3RlIHRoYXQgdGhpcyBpcyBhbiBhcnRpZmFjdCBub3cKLSMgYnV0IGl0IHN0aWxsIG1pZ2h0IGJlIG5pY2UgdG8ga2VlcCB0aGF0IGRpc3RpbmN0aW9uLikKLUJBU0lDX0NGTEFHUyA9IC1JLgotQkFTSUNfTERGTEFHUyA9CisjIFNldCBvdXIgZGVmYXVsdCBMSUJTIHZhcmlhYmxlcworUFRIUkVBRF9MSUJTID0gLWxwdGhyZWFkCiAKICMgR3VhcmQgYWdhaW5zdCBlbnZpcm9ubWVudCB2YXJpYWJsZXMKIEJVSUxUSU5fT0JKUyA9CkBAIC01OTUsMTIgKzU4NiwxNCBAQAogTElCX09CSlMgPQogUFJPR1JBTV9PQkpTID0KIFBST0dSQU1TID0KK0VYQ0xVREVEX1BST0dSQU1TID0KIFNDUklQVF9QRVJMID0KIFNDUklQVF9QWVRIT04gPQogU0NSSVBUX1NIID0KIFNDUklQVF9MSUIgPQogVEVTVF9CVUlMVElOU19PQkpTID0KIFRFU1RfUFJPR1JBTVNfTkVFRF9YID0KK1RISVJEX1BBUlRZX1NPVVJDRVMgPQogCiAjIEhhdmluZyB0aGlzIHZhcmlhYmxlIGluIHlvdXIgZW52aXJvbm1lbnQgd291bGQgYnJlYWsgcGlwZWxpbmVzIGJlY2F1c2UKICMgeW91IGNhdXNlICJjZCIgdG8gZWNobyBpdHMgZGVzdGluYXRpb24gdG8gc3Rkb3V0LiAgSXQgY2FuIGFsc28gdGFrZQpAQCAtNjE2LDE5ICs2MDksMTQgQEAKIFNDUklQVF9TSCArPSBnaXQtbWVyZ2UtcmVzb2x2ZS5zaAogU0NSSVBUX1NIICs9IGdpdC1tZXJnZXRvb2wuc2gKIFNDUklQVF9TSCArPSBnaXQtcXVpbHRpbXBvcnQuc2gKLVNDUklQVF9TSCArPSBnaXQtbGVnYWN5LXJlYmFzZS5zaAotU0NSSVBUX1NIICs9IGdpdC1yZW1vdGUtdGVzdGdpdC5zaAorU0NSSVBUX1NIICs9IGdpdC1sZWdhY3ktc3Rhc2guc2gKIFNDUklQVF9TSCArPSBnaXQtcmVxdWVzdC1wdWxsLnNoCi1TQ1JJUFRfU0ggKz0gZ2l0LXN0YXNoLnNoCiBTQ1JJUFRfU0ggKz0gZ2l0LXN1Ym1vZHVsZS5zaAogU0NSSVBUX1NIICs9IGdpdC13ZWItLWJyb3dzZS5zaAogCiBTQ1JJUFRfTElCICs9IGdpdC1tZXJnZXRvb2wtLWxpYgogU0NSSVBUX0xJQiArPSBnaXQtcGFyc2UtcmVtb3RlCi1TQ1JJUFRfTElCICs9IGdpdC1yZWJhc2UtLWFtCi1TQ1JJUFRfTElCICs9IGdpdC1yZWJhc2UtLWNvbW1vbgogU0NSSVBUX0xJQiArPSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMKLVNDUklQVF9MSUIgKz0gZ2l0LXJlYmFzZS0tbWVyZ2UKIFNDUklQVF9MSUIgKz0gZ2l0LXNoLXNldHVwCiBTQ1JJUFRfTElCICs9IGdpdC1zaC1pMThuCiAKQEAgLTY0MiwxNyArNjMwLDExIEBACiAKIFNDUklQVF9QWVRIT04gKz0gZ2l0LXA0LnB5CiAKLU5PX0lOU1RBTEwgKz0gZ2l0LXJlbW90ZS10ZXN0Z2l0Ci0KICMgR2VuZXJhdGVkIGZpbGVzIGZvciBzY3JpcHRzCiBTQ1JJUFRfU0hfR0VOID0gJChwYXRzdWJzdCAlLnNoLCUsJChTQ1JJUFRfU0gpKQogU0NSSVBUX1BFUkxfR0VOID0gJChwYXRzdWJzdCAlLnBlcmwsJSwkKFNDUklQVF9QRVJMKSkKIFNDUklQVF9QWVRIT05fR0VOID0gJChwYXRzdWJzdCAlLnB5LCUsJChTQ1JJUFRfUFlUSE9OKSkKIAotU0NSSVBUX1NIX0lOUyA9ICQoZmlsdGVyLW91dCAkKE5PX0lOU1RBTEwpLCQoU0NSSVBUX1NIX0dFTikpCi1TQ1JJUFRfUEVSTF9JTlMgPSAkKGZpbHRlci1vdXQgJChOT19JTlNUQUxMKSwkKFNDUklQVF9QRVJMX0dFTikpCi1TQ1JJUFRfUFlUSE9OX0lOUyA9ICQoZmlsdGVyLW91dCAkKE5PX0lOU1RBTEwpLCQoU0NSSVBUX1BZVEhPTl9HRU4pKQotCiAjIEluZGl2aWR1YWwgcnVsZXMgdG8gYWxsb3cgZS5nLgogIyAibWFrZSAtQyAuLi8uLiBTQ1JJUFRfUEVSTD1jb250cmliL2Zvby9iYXIucGVybCBidWlsZC1wZXJsLXNjcmlwdCIKICMgZnJvbSBzdWJkaXJlY3RvcmllcyBsaWtlIGNvbnRyaWIvKi8KQEAgLTY2MiwxMSArNjQ0LDExIEBACiBidWlsZC1weXRob24tc2NyaXB0OiAkKFNDUklQVF9QWVRIT05fR0VOKQogCiAuUEhPTlk6IGluc3RhbGwtcGVybC1zY3JpcHQgaW5zdGFsbC1zaC1zY3JpcHQgaW5zdGFsbC1weXRob24tc2NyaXB0Ci1pbnN0YWxsLXNoLXNjcmlwdDogJChTQ1JJUFRfU0hfSU5TKQoraW5zdGFsbC1zaC1zY3JpcHQ6ICQoU0NSSVBUX1NIX0dFTikKIAkkKElOU1RBTEwpICReICckKERFU1RESVJfU1EpJChnaXRleGVjX2luc3RkaXJfU1EpJwotaW5zdGFsbC1wZXJsLXNjcmlwdDogJChTQ1JJUFRfUEVSTF9JTlMpCitpbnN0YWxsLXBlcmwtc2NyaXB0OiAkKFNDUklQVF9QRVJMX0dFTikKIAkkKElOU1RBTEwpICReICckKERFU1RESVJfU1EpJChnaXRleGVjX2luc3RkaXJfU1EpJwotaW5zdGFsbC1weXRob24tc2NyaXB0OiAkKFNDUklQVF9QWVRIT05fSU5TKQoraW5zdGFsbC1weXRob24tc2NyaXB0OiAkKFNDUklQVF9QWVRIT05fR0VOKQogCSQoSU5TVEFMTCkgJF4gJyQoREVTVERJUl9TUSkkKGdpdGV4ZWNfaW5zdGRpcl9TUSknCiAKIC5QSE9OWTogY2xlYW4tcGVybC1zY3JpcHQgY2xlYW4tc2gtc2NyaXB0IGNsZWFuLXB5dGhvbi1zY3JpcHQKQEAgLTY3NywxMyArNjU5LDE0IEBACiBjbGVhbi1weXRob24tc2NyaXB0OgogCSQoUk0pICQoU0NSSVBUX1BZVEhPTl9HRU4pCiAKLVNDUklQVFMgPSAkKFNDUklQVF9TSF9JTlMpIFwKLQkgICQoU0NSSVBUX1BFUkxfSU5TKSBcCi0JICAkKFNDUklQVF9QWVRIT05fSU5TKSBcCitTQ1JJUFRTID0gJChTQ1JJUFRfU0hfR0VOKSBcCisJICAkKFNDUklQVF9QRVJMX0dFTikgXAorCSAgJChTQ1JJUFRfUFlUSE9OX0dFTikgXAogCSAgZ2l0LWluc3Rhd2ViCiAKIEVUQUdTX1RBUkdFVCA9IFRBR1MKIAorRlVaWl9PQkpTICs9IGZ1enotY29tbWl0LWdyYXBoLm8KIEZVWlpfT0JKUyArPSBmdXp6LXBhY2staGVhZGVycy5vCiBGVVpaX09CSlMgKz0gZnV6ei1wYWNrLWlkeC5vCiAKQEAgLTcxNyw2ICs3MDAsNyBAQAogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3QtY3R5cGUubwogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3QtZGF0ZS5vCiBURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1kZWx0YS5vCitURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1kaXItaXRlcmF0b3IubwogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3QtZHJvcC1jYWNoZXMubwogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3QtZHVtcC1jYWNoZS10cmVlLm8KIFRFU1RfQlVJTFRJTlNfT0JKUyArPSB0ZXN0LWR1bXAtZnNtb25pdG9yLm8KQEAgLTcyNCwyMCArNzA4LDI3IEBACiBURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1kdW1wLXVudHJhY2tlZC1jYWNoZS5vCiBURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1leGFtcGxlLWRlY29yYXRlLm8KIFRFU1RfQlVJTFRJTlNfT0JKUyArPSB0ZXN0LWdlbnJhbmRvbS5vCitURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1nZW56ZXJvcy5vCitURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1oYXNoLm8KIFRFU1RfQlVJTFRJTlNfT0JKUyArPSB0ZXN0LWhhc2htYXAubworVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3QtaGFzaC1zcGVlZC5vCiBURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1pbmRleC12ZXJzaW9uLm8KIFRFU1RfQlVJTFRJTlNfT0JKUyArPSB0ZXN0LWpzb24td3JpdGVyLm8KIFRFU1RfQlVJTFRJTlNfT0JKUyArPSB0ZXN0LWxhenktaW5pdC1uYW1lLWhhc2gubwogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3QtbWF0Y2gtdHJlZXMubwogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3QtbWVyZ2Vzb3J0Lm8KIFRFU1RfQlVJTFRJTlNfT0JKUyArPSB0ZXN0LW1rdGVtcC5vCitURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1vaWRtYXAubwogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3Qtb25saW5lLWNwdXMubwogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3QtcGFyc2Utb3B0aW9ucy5vCitURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1wYXJzZS1wYXRoc3BlYy1maWxlLm8KIFRFU1RfQlVJTFRJTlNfT0JKUyArPSB0ZXN0LXBhdGgtdXRpbHMubwogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3QtcGt0LWxpbmUubwogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3QtcHJpby1xdWV1ZS5vCitURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1wcm9ncmVzcy5vCiBURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1yZWFjaC5vCiBURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1yZWFkLWNhY2hlLm8KK1RFU1RfQlVJTFRJTlNfT0JKUyArPSB0ZXN0LXJlYWQtZ3JhcGgubwogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3QtcmVhZC1taWR4Lm8KIFRFU1RfQlVJTFRJTlNfT0JKUyArPSB0ZXN0LXJlZi1zdG9yZS5vCiBURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1yZWdleC5vCkBAIC03NDUsMTUgKzczNiwxOSBAQAogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3QtcmV2aXNpb24td2Fsa2luZy5vCiBURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1ydW4tY29tbWFuZC5vCiBURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1zY3JhcC1jYWNoZS10cmVlLm8KK1RFU1RfQlVJTFRJTlNfT0JKUyArPSB0ZXN0LXNlcnZlLXYyLm8KIFRFU1RfQlVJTFRJTlNfT0JKUyArPSB0ZXN0LXNoYTEubwogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3Qtc2hhMS1hcnJheS5vCitURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1zaGEyNTYubwogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3Qtc2lnY2hhaW4ubwogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3Qtc3RyY21wLW9mZnNldC5vCiBURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1zdHJpbmctbGlzdC5vCiBURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC1zdWJtb2R1bGUtY29uZmlnLm8KIFRFU1RfQlVJTFRJTlNfT0JKUyArPSB0ZXN0LXN1Ym1vZHVsZS1uZXN0ZWQtcmVwby1jb25maWcubwogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3Qtc3VicHJvY2Vzcy5vCitURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC10cmFjZTIubwogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3QtdXJsbWF0Y2gtbm9ybWFsaXphdGlvbi5vCitURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC14bWwtZW5jb2RlLm8KIFRFU1RfQlVJTFRJTlNfT0JKUyArPSB0ZXN0LXdpbGRtYXRjaC5vCiBURVNUX0JVSUxUSU5TX09CSlMgKz0gdGVzdC13aW5kb3dzLW5hbWVkLXBpcGUubwogVEVTVF9CVUlMVElOU19PQkpTICs9IHRlc3Qtd3JpdGUtY2FjaGUubwpAQCAtNzc3LDkgKzc3MiwxMSBAQAogQlVJTFRfSU5TICs9IGdpdC1mc2NrLW9iamVjdHMkWAogQlVJTFRfSU5TICs9IGdpdC1pbml0JFgKIEJVSUxUX0lOUyArPSBnaXQtbWVyZ2Utc3VidHJlZSRYCitCVUlMVF9JTlMgKz0gZ2l0LXJlc3RvcmUkWAogQlVJTFRfSU5TICs9IGdpdC1zaG93JFgKIEJVSUxUX0lOUyArPSBnaXQtc3RhZ2UkWAogQlVJTFRfSU5TICs9IGdpdC1zdGF0dXMkWAorQlVJTFRfSU5TICs9IGdpdC1zd2l0Y2gkWAogQlVJTFRfSU5TICs9IGdpdC13aGF0Y2hhbmdlZCRYCiAKICMgd2hhdCAnYWxsJyB3aWxsIGJ1aWxkIGFuZCAnaW5zdGFsbCcgd2lsbCBpbnN0YWxsIGluIGdpdGV4ZWNkaXIsCkBAIC04MjAsMTMgKzgxNywxNiBAQAogCiBHRU5FUkFURURfSCArPSBjb21tYW5kLWxpc3QuaAogCi1MSUJfSCA9ICQoc2hlbGwgJChGSU5EKSAuIFwKK0xJQl9IIDo9ICQoc29ydCAkKHBhdHN1YnN0IC4vJSwlLCQoc2hlbGwgZ2l0IGxzLWZpbGVzICcqLmgnICc6IXQvJyAnOiFEb2N1bWVudGF0aW9uLycgMj4vZGV2L251bGwgfHwgXAorCSQoRklORCkgLiBcCiAJLW5hbWUgLmdpdCAtcHJ1bmUgLW8gXAogCS1uYW1lIHQgLXBydW5lIC1vIFwKIAktbmFtZSBEb2N1bWVudGF0aW9uIC1wcnVuZSAtbyBcCi0JLW5hbWUgJyouaCcgLXByaW50KQorCS1uYW1lICcqLmgnIC1wcmludCkpKQogCiBMSUJfT0JKUyArPSBhYnNwYXRoLm8KK0xJQl9PQkpTICs9IGFkZC1pbnRlcmFjdGl2ZS5vCitMSUJfT0JKUyArPSBhZGQtcGF0Y2gubwogTElCX09CSlMgKz0gYWR2aWNlLm8KIExJQl9PQkpTICs9IGFsaWFzLm8KIExJQl9PQkpTICs9IGFsbG9jLm8KQEAgLTg4NSw3ICs4ODUsNiBAQAogTElCX09CSlMgKz0gZXdhaC9ld2FoX3Jsdy5vCiBMSUJfT0JKUyArPSBleGVjLWNtZC5vCiBMSUJfT0JKUyArPSBmZXRjaC1uZWdvdGlhdG9yLm8KLUxJQl9PQkpTICs9IGZldGNoLW9iamVjdC5vCiBMSUJfT0JKUyArPSBmZXRjaC1wYWNrLm8KIExJQl9PQkpTICs9IGZzY2subwogTElCX09CSlMgKz0gZnNtb25pdG9yLm8KQEAgLTk0OSwxMiArOTQ4LDE0IEBACiBMSUJfT0JKUyArPSBwcmV0dHkubwogTElCX09CSlMgKz0gcHJpby1xdWV1ZS5vCiBMSUJfT0JKUyArPSBwcm9ncmVzcy5vCitMSUJfT0JKUyArPSBwcm9taXNvci1yZW1vdGUubwogTElCX09CSlMgKz0gcHJvbXB0Lm8KIExJQl9PQkpTICs9IHByb3RvY29sLm8KIExJQl9PQkpTICs9IHF1b3RlLm8KIExJQl9PQkpTICs9IHJhbmdlLWRpZmYubwogTElCX09CSlMgKz0gcmVhY2hhYmxlLm8KIExJQl9PQkpTICs9IHJlYWQtY2FjaGUubworTElCX09CSlMgKz0gcmViYXNlLm8KIExJQl9PQkpTICs9IHJlYmFzZS1pbnRlcmFjdGl2ZS5vCiBMSUJfT0JKUyArPSByZWZsb2ctd2Fsay5vCiBMSUJfT0JKUyArPSByZWZzLm8KQEAgLTk2Niw2ICs5NjcsNyBAQAogTElCX09CSlMgKz0gcmVmLWZpbHRlci5vCiBMSUJfT0JKUyArPSByZW1vdGUubwogTElCX09CSlMgKz0gcmVwbGFjZS1vYmplY3QubworTElCX09CSlMgKz0gcmVwby1zZXR0aW5ncy5vCiBMSUJfT0JKUyArPSByZXBvc2l0b3J5Lm8KIExJQl9PQkpTICs9IHJlcmVyZS5vCiBMSUJfT0JKUyArPSByZXNvbHZlLXVuZG8ubwpAQCAtOTg0LDYgKzk4Niw3IEBACiBMSUJfT0JKUyArPSBzaWRlYmFuZC5vCiBMSUJfT0JKUyArPSBzaWdjaGFpbi5vCiBMSUJfT0JKUyArPSBzcGxpdC1pbmRleC5vCitMSUJfT0JKUyArPSBzdGFibGUtcXNvcnQubwogTElCX09CSlMgKz0gc3RyYnVmLm8KIExJQl9PQkpTICs9IHN0cmVhbWluZy5vCiBMSUJfT0JKUyArPSBzdHJpbmctbGlzdC5vCkBAIC05OTYsNiArOTk5LDE3IEBACiBMSUJfT0JKUyArPSB0aHJlYWQtdXRpbHMubwogTElCX09CSlMgKz0gdG1wLW9iamRpci5vCiBMSUJfT0JKUyArPSB0cmFjZS5vCitMSUJfT0JKUyArPSB0cmFjZTIubworTElCX09CSlMgKz0gdHJhY2UyL3RyMl9jZmcubworTElCX09CSlMgKz0gdHJhY2UyL3RyMl9jbWRfbmFtZS5vCitMSUJfT0JKUyArPSB0cmFjZTIvdHIyX2RzdC5vCitMSUJfT0JKUyArPSB0cmFjZTIvdHIyX3NpZC5vCitMSUJfT0JKUyArPSB0cmFjZTIvdHIyX3N5c2Vudi5vCitMSUJfT0JKUyArPSB0cmFjZTIvdHIyX3RidWYubworTElCX09CSlMgKz0gdHJhY2UyL3RyMl90Z3RfZXZlbnQubworTElCX09CSlMgKz0gdHJhY2UyL3RyMl90Z3Rfbm9ybWFsLm8KK0xJQl9PQkpTICs9IHRyYWNlMi90cjJfdGd0X3BlcmYubworTElCX09CSlMgKz0gdHJhY2UyL3RyMl90bHMubwogTElCX09CSlMgKz0gdHJhaWxlci5vCiBMSUJfT0JKUyArPSB0cmFuc3BvcnQubwogTElCX09CSlMgKz0gdHJhbnNwb3J0LWhlbHBlci5vCkBAIC0xMDUzLDYgKzEwNjcsNyBAQAogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vZGlmZi10cmVlLm8KIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL2RpZmYubwogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vZGlmZnRvb2wubworQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vZW52LS1oZWxwZXIubwogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vZmFzdC1leHBvcnQubwogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vZmV0Y2gtcGFjay5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi9mZXRjaC5vCkBAIC0xMDk3LDcgKzExMTIsNiBAQAogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vcmFuZ2UtZGlmZi5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi9yZWFkLXRyZWUubwogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vcmViYXNlLm8KLUJVSUxUSU5fT0JKUyArPSBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUubwogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLm8KIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL3JlZmxvZy5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi9yZW1vdGUubwpAQCAtMTExMiwxMSArMTEyNiwxMiBAQAogQlVJTFRJTl9PQkpTICs9IGJ1aWx0aW4vcmV2ZXJ0Lm8KIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL3JtLm8KIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL3NlbmQtcGFjay5vCi1CVUlMVElOX09CSlMgKz0gYnVpbHRpbi9zZXJ2ZS5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi9zaG9ydGxvZy5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi9zaG93LWJyYW5jaC5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi9zaG93LWluZGV4Lm8KIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL3Nob3ctcmVmLm8KK0JVSUxUSU5fT0JKUyArPSBidWlsdGluL3NwYXJzZS1jaGVja291dC5vCitCVUlMVElOX09CSlMgKz0gYnVpbHRpbi9zdGFzaC5vCiBCVUlMVElOX09CSlMgKz0gYnVpbHRpbi9zdHJpcHNwYWNlLm8KIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLm8KIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL3N5bWJvbGljLXJlZi5vCkBAIC0xMTM1LDYgKzExNTAsMjAgQEAKIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL3dvcmt0cmVlLm8KIEJVSUxUSU5fT0JKUyArPSBidWlsdGluL3dyaXRlLXRyZWUubwogCisjIFRISVJEX1BBUlRZX1NPVVJDRVMgaXMgYSBsaXN0IG9mIHBhdHRlcm5zIGNvbXBhdGlibGUgd2l0aCB0aGUKKyMgJChmaWx0ZXIpIGFuZCAkKGZpbHRlci1vdXQpIGZhbWlseSBvZiBmdW5jdGlvbnMuIFRoZXkgc3BlY2lmeSBzb3VyY2UKKyMgZmlsZXMgd2hpY2ggYXJlIHRha2VuIGZyb20gc29tZSB0aGlyZC1wYXJ0eSBzb3VyY2Ugd2hlcmUgd2Ugd2FudCB0byBiZQorIyBsZXNzIHN0cmljdCBhYm91dCBpc3N1ZXMgc3VjaCBhcyBjb2Rpbmcgc3R5bGUgc28gd2UgZG9uJ3QgZGl2ZXJnZSBmcm9tCisjIHVwc3RyZWFtIHVubmVjZXNzYXJpbHkgKG1ha2luZyBtZXJnaW5nIGluIGZ1dHVyZSBjaGFuZ2VzIGVhc2llcikuCitUSElSRF9QQVJUWV9TT1VSQ0VTICs9IGNvbXBhdC9pbmV0X250b3AuYworVEhJUkRfUEFSVFlfU09VUkNFUyArPSBjb21wYXQvaW5ldF9wdG9uLmMKK1RISVJEX1BBUlRZX1NPVVJDRVMgKz0gY29tcGF0L25lZG1hbGxvYy8lCitUSElSRF9QQVJUWV9TT1VSQ0VTICs9IGNvbXBhdC9vYnN0YWNrLiUKK1RISVJEX1BBUlRZX1NPVVJDRVMgKz0gY29tcGF0L3BvbGwvJQorVEhJUkRfUEFSVFlfU09VUkNFUyArPSBjb21wYXQvcmVnZXgvJQorVEhJUkRfUEFSVFlfU09VUkNFUyArPSBzaGExY29sbGlzaW9uZGV0ZWN0aW9uLyUKK1RISVJEX1BBUlRZX1NPVVJDRVMgKz0gc2hhMWRjLyUKKwogR0lUTElCUyA9IGNvbW1vbi1tYWluLm8gJChMSUJfRklMRSkgJChYRElGRl9MSUIpCiBFWFRMSUJTID0KIApAQCAtMTE0NCw2ICsxMTczLDI5IEBACiBEQ19TSEExX1NVQk1PRFVMRSA9IGF1dG8KIGVuZGlmCiAKKyMgU2V0IENGTEFHUywgTERGTEFHUyBhbmQgb3RoZXIgKkZMQUdTIHZhcmlhYmxlcy4gVGhlc2UgbWlnaHQgYmUKKyMgdHdlYWtlZCBieSBjb25maWcuKiBiZWxvdyBhcyB3ZWxsIGFzIHRoZSBjb21tYW5kLWxpbmUsIGJvdGggb2YKKyMgd2hpY2gnbGwgb3ZlcnJpZGUgdGhlc2UgZGVmYXVsdHMuCitDRkxBR1MgPSAtZyAtTzIgLVdhbGwKK0xERkxBR1MgPQorQ0NfTERfRFlOUEFUSCA9IC1XbCwtcnBhdGgsCitCQVNJQ19DRkxBR1MgPSAtSS4KK0JBU0lDX0xERkxBR1MgPQorCisjIGxpYnJhcnkgZmxhZ3MKK0FSRkxBR1MgPSByY3MKK1BUSFJFQURfQ0ZMQUdTID0KKworIyBGb3IgdGhlICdzcGFyc2UnIHRhcmdldAorU1BBUlNFX0ZMQUdTID89CitTUF9FWFRSQV9GTEFHUyA9CisKKyMgRm9yIHRoZSAnY29jY2ljaGVjaycgdGFyZ2V0OyBzZXR0aW5nIFNQQVRDSF9CQVRDSF9TSVpFIGhpZ2hlciB3aWxsCisjIHVzdWFsbHkgcmVzdWx0IGluIGxlc3MgQ1BVIHVzYWdlIGF0IHRoZSBjb3N0IG9mIGhpZ2hlciBwZWFrIG1lbW9yeS4KKyMgU2V0dGluZyBpdCB0byAwIHdpbGwgZmVlZCBhbGwgZmlsZXMgaW4gYSBzaW5nbGUgc3BhdGNoIGludm9jYXRpb24uCitTUEFUQ0hfRkxBR1MgPSAtLWFsbC1pbmNsdWRlcyAtLXBhdGNoIC4KK1NQQVRDSF9CQVRDSF9TSVpFID0gMQorCiBpbmNsdWRlIGNvbmZpZy5tYWsudW5hbWUKIC1pbmNsdWRlIGNvbmZpZy5tYWsuYXV0b2dlbgogLWluY2x1ZGUgY29uZmlnLm1hawpAQCAtMTE1Miw2ICsxMjA0LDkgQEAKIGluY2x1ZGUgY29uZmlnLm1hay5kZXYKIGVuZGlmCiAKK0FMTF9DRkxBR1MgPSAkKERFVkVMT1BFUl9DRkxBR1MpICQoQ1BQRkxBR1MpICQoQ0ZMQUdTKQorQUxMX0xERkxBR1MgPSAkKExERkxBR1MpCisKIGNvbW1hIDo9ICwKIGVtcHR5IDo9CiBzcGFjZSA6PSAkKGVtcHR5KSAkKGVtcHR5KQpAQCAtMTE2MiwxMCArMTIxNywxNCBAQAogQkFTSUNfQ0ZMQUdTICs9IC1mbm8tb21pdC1mcmFtZS1wb2ludGVyCiBpZm5lcSAoJChmaWx0ZXIgdW5kZWZpbmVkLCQoU0FOSVRJWkVSUykpLCkKIEJBU0lDX0NGTEFHUyArPSAtRE5PX1VOQUxJR05FRF9MT0FEUworQkFTSUNfQ0ZMQUdTICs9IC1EU0hBMURDX0ZPUkNFX0FMSUdORURfQUNDRVNTCiBlbmRpZgogaWZuZXEgKCQoZmlsdGVyIGxlYWssJChTQU5JVElaRVJTKSksKQogQkFTSUNfQ0ZMQUdTICs9IC1EU1VQUFJFU1NfQU5OT1RBVEVEX0xFQUtTCiBlbmRpZgoraWZuZXEgKCQoZmlsdGVyIGFkZHJlc3MsJChTQU5JVElaRVJTKSksKQorTk9fUkVHRVggPSBOZWVkZWRGb3JBU0FOCitlbmRpZgogZW5kaWYKIAogaWZuZGVmIHN5c2NvbmZkaXIKQEAgLTEyMDMsNyArMTI2Miw3IEBACiAKIGlmZGVmIFNBTkVfVE9PTF9QQVRICiBTQU5FX1RPT0xfUEFUSF9TUSA9ICQoc3Vic3QgJywnXCcnLCQoU0FORV9UT09MX1BBVEgpKQotQlJPS0VOX1BBVEhfRklYID0gJ3N8XlwjIEBAQlJPS0VOX1BBVEhfRklYQEAkJHxnaXRfYnJva2VuX3BhdGhfZml4ICQoU0FORV9UT09MX1BBVEhfU1EpfCcKK0JST0tFTl9QQVRIX0ZJWCA9ICdzfF5cIyBAQEJST0tFTl9QQVRIX0ZJWEBAJCR8Z2l0X2Jyb2tlbl9wYXRoX2ZpeCAiJChTQU5FX1RPT0xfUEFUSF9TUSkifCcKIFBBVEggOj0gJChTQU5FX1RPT0xfUEFUSCk6JHtQQVRIfQogZWxzZQogQlJPS0VOX1BBVEhfRklYID0gJy9eXCMgQEBCUk9LRU5fUEFUSF9GSVhAQCQkL2QnCkBAIC0xMjUzLDE2ICsxMzEyLDYgQEAKIAlQVEhSRUFEX0xJQlMgPQogZW5kaWYKIAotaWZuZGVmIENDX0xEX0RZTlBBVEgKLQlpZmRlZiBOT19SX1RPX0dDQ19MSU5LRVIKLQkJIyBTb21lIGdjYyBkb2VzIG5vdCBhY2NlcHQgYW5kIHBhc3MgLVIgdG8gdGhlIGxpbmtlciB0byBzcGVjaWZ5Ci0JCSMgdGhlIHJ1bnRpbWUgZHluYW1pYyBsaWJyYXJ5IHBhdGguCi0JCUNDX0xEX0RZTlBBVEggPSAtV2wsLXJwYXRoLAotCWVsc2UKLQkJQ0NfTERfRFlOUEFUSCA9IC1SCi0JZW5kaWYKLWVuZGlmCi0KIGlmZGVmIE5PX0xJQkdFTl9ICiAJQ09NUEFUX0NGTEFHUyArPSAtRE5PX0xJQkdFTl9ICiAJQ09NUEFUX09CSlMgKz0gY29tcGF0L2Jhc2VuYW1lLm8KQEAgLTEzMDUsNiArMTM1NCw3IEBACiAJUkVNT1RFX0NVUkxfUFJJTUFSWSA9CiAJUkVNT1RFX0NVUkxfQUxJQVNFUyA9CiAJUkVNT1RFX0NVUkxfTkFNRVMgPQorCUVYQ0xVREVEX1BST0dSQU1TICs9IGdpdC1odHRwLWZldGNoIGdpdC1odHRwLXB1c2gKIGVsc2UKIAlpZmRlZiBDVVJMRElSCiAJCSMgVHJ5ICItV2wsLXJwYXRoPSQoQ1VSTERJUikvJChsaWIpIiBpbiBzdWNoIGEgY2FzZS4KQEAgLTEzMjksNyArMTM3OSwxMSBAQAogCWlmZXEgIiQoY3VybF9jaGVjaykiICIwNzA5MDgiCiAJCWlmbmRlZiBOT19FWFBBVAogCQkJUFJPR1JBTV9PQkpTICs9IGh0dHAtcHVzaC5vCisJCWVsc2UKKwkJCUVYQ0xVREVEX1BST0dSQU1TICs9IGdpdC1odHRwLXB1c2gKIAkJZW5kaWYKKwllbHNlCisJCUVYQ0xVREVEX1BST0dSQU1TICs9IGdpdC1odHRwLXB1c2gKIAllbmRpZgogCWN1cmxfY2hlY2sgOj0gJChzaGVsbCAoZWNobyAwNzIyMDA7ICQoQ1VSTF9DT05GSUcpIC0tdmVybnVtIHwgc2VkIC1lICcvXjcwW0JDXS9zL14vMC8nKSAyPi9kZXYvbnVsbCB8IHNvcnQgLXIgfCBzZWQgLW5lIDJwKQogCWlmZXEgIiQoY3VybF9jaGVjaykiICIwNzIyMDAiCkBAIC0xNDAxLDYgKzE0NTUsOSBAQAogCQlFWFRMSUJTICs9ICQoSUNPTlZfTElOSykgLWxpY29udgogCWVuZGlmCiBlbmRpZgoraWZkZWYgSUNPTlZfT01JVFNfQk9NCisJQkFTSUNfQ0ZMQUdTICs9IC1ESUNPTlZfT01JVFNfQk9NCitlbmRpZgogaWZkZWYgTkVFRFNfTElCR0VOCiAJRVhUTElCUyArPSAtbGdlbgogZW5kaWYKQEAgLTE1NzIsNyArMTYyOSwxMCBAQAogCUxJQl9PQkpTICs9IGNvbXBhdC9pbmV0X3B0b24ubwogCUJBU0lDX0NGTEFHUyArPSAtRE5PX0lORVRfUFRPTgogZW5kaWYKLWlmbmRlZiBOT19VTklYX1NPQ0tFVFMKK2lmZGVmIE5PX1VOSVhfU09DS0VUUworCUJBU0lDX0NGTEFHUyArPSAtRE5PX1VOSVhfU09DS0VUUworCUVYQ0xVREVEX1BST0dSQU1TICs9IGdpdC1jcmVkZW50aWFsLWNhY2hlIGdpdC1jcmVkZW50aWFsLWNhY2hlLS1kYWVtb24KK2Vsc2UKIAlMSUJfT0JKUyArPSB1bml4LXNvY2tldC5vCiAJUFJPR1JBTV9PQkpTICs9IGNyZWRlbnRpYWwtY2FjaGUubwogCVBST0dSQU1fT0JKUyArPSBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24ubwpAQCAtMTY0Niw2ICsxNzA2LDE5IEBACiBlbmRpZgogZW5kaWYKIAoraWZkZWYgT1BFTlNTTF9TSEEyNTYKKwlFWFRMSUJTICs9ICQoTElCXzRfQ1JZUFRPKQorCUJBU0lDX0NGTEFHUyArPSAtRFNIQTI1Nl9PUEVOU1NMCitlbHNlCitpZmRlZiBHQ1JZUFRfU0hBMjU2CisJQkFTSUNfQ0ZMQUdTICs9IC1EU0hBMjU2X0dDUllQVAorCUVYVExJQlMgKz0gLWxnY3J5cHQKK2Vsc2UKKwlMSUJfT0JKUyArPSBzaGEyNTYvYmxvY2svc2hhMjU2Lm8KKwlCQVNJQ19DRkxBR1MgKz0gLURTSEEyNTZfQkxLCitlbmRpZgorZW5kaWYKKwogaWZkZWYgU0hBMV9NQVhfQkxPQ0tfU0laRQogCUxJQl9PQkpTICs9IGNvbXBhdC9zaGExLWNodW5rZWQubwogCUJBU0lDX0NGTEFHUyArPSAtRFNIQTFfTUFYX0JMT0NLX1NJWkU9IiQoU0hBMV9NQVhfQkxPQ0tfU0laRSkiCkBAIC0xNjYzLDcgKzE3MzYsNiBAQAogZW5kaWYKIGlmZGVmIElOVEVSTkFMX1FTT1JUCiAJQ09NUEFUX0NGTEFHUyArPSAtRElOVEVSTkFMX1FTT1JUCi0JQ09NUEFUX09CSlMgKz0gY29tcGF0L3Fzb3J0Lm8KIGVuZGlmCiBpZmRlZiBIQVZFX0lTT19RU09SVF9TCiAJQ09NUEFUX0NGTEFHUyArPSAtREhBVkVfSVNPX1FTT1JUX1MKQEAgLTE3NzMsNiArMTg0NSwxNiBAQAogCUJBU0lDX0NGTEFHUyArPSAtREhBVkVfV1BHTVBUUgogZW5kaWYKIAoraWZkZWYgRklMRU5PX0lTX0FfTUFDUk8KKwlDT01QQVRfQ0ZMQUdTICs9IC1ERklMRU5PX0lTX0FfTUFDUk8KKwlDT01QQVRfT0JKUyArPSBjb21wYXQvZmlsZW5vLm8KK2VuZGlmCisKK2lmZGVmIE5FRURfQUNDRVNTX1JPT1RfSEFORExFUgorCUNPTVBBVF9DRkxBR1MgKz0gLURORUVEX0FDQ0VTU19ST09UX0hBTkRMRVIKKwlDT01QQVRfT0JKUyArPSBjb21wYXQvYWNjZXNzLm8KK2VuZGlmCisKIGlmZXEgKCQoVENMVEtfUEFUSCksKQogTk9fVENMVEsgPSBOb1RoYW5rcwogZW5kaWYKQEAgLTE4MTAsOCArMTg5Miw5IEBACiAJUVVJRVRfTVNHRk1UICAgPSBAZWNobyAnICAgJyBNU0dGTVQgJEA7CiAJUVVJRVRfR0NPViAgICAgPSBAZWNobyAnICAgJyBHQ09WICRAOwogCVFVSUVUX1NQICAgICAgID0gQGVjaG8gJyAgICcgU1AgJDw7Ci0JUVVJRVRfSERSICAgICAgPSBAZWNobyAnICAgJyBIRFIgJDw7CisJUVVJRVRfSERSICAgICAgPSBAZWNobyAnICAgJyBIRFIgJCg8OmhjYz1oKTsKIAlRVUlFVF9SQyAgICAgICA9IEBlY2hvICcgICAnIFJDICRAOworCVFVSUVUX1NQQVRDSCAgID0gQGVjaG8gJyAgICcgU1BBVENIICQ8OwogCVFVSUVUX1NVQkRJUjAgID0gK0BzdWJkaXI9CiAJUVVJRVRfU1VCRElSMSAgPSA7JChOT19TVUJESVIpIGVjaG8gJyAgICcgU1VCRElSICQkc3ViZGlyOyBcCiAJCQkgJChNQUtFKSAkKFBSSU5UX0RJUikgLUMgJCRzdWJkaXIKQEAgLTIwNzMsNyArMjE1Niw5IEBACiBjb21tYW5kLWxpc3QuaDogZ2VuZXJhdGUtY21kbGlzdC5zaCBjb21tYW5kLWxpc3QudHh0CiAKIGNvbW1hbmQtbGlzdC5oOiAkKHdpbGRjYXJkIERvY3VtZW50YXRpb24vZ2l0Ki50eHQpIERvY3VtZW50YXRpb24vKmNvbmZpZy50eHQgRG9jdW1lbnRhdGlvbi9jb25maWcvKi50eHQKLQkkKFFVSUVUX0dFTikkKFNIRUxMX1BBVEgpIC4vZ2VuZXJhdGUtY21kbGlzdC5zaCBjb21tYW5kLWxpc3QudHh0ID4kQCsgJiYgbXYgJEArICRACisJJChRVUlFVF9HRU4pJChTSEVMTF9QQVRIKSAuL2dlbmVyYXRlLWNtZGxpc3Quc2ggXAorCQkkKHBhdHN1YnN0ICUsLS1leGNsdWRlLXByb2dyYW0gJSwkKEVYQ0xVREVEX1BST0dSQU1TKSkgXAorCQljb21tYW5kLWxpc3QudHh0ID4kQCsgJiYgbXYgJEArICRACiAKIFNDUklQVF9ERUZJTkVTID0gJChTSEVMTF9QQVRIX1NRKTokKERJRkZfU1EpOiQoR0lUX1ZFUlNJT04pOlwKIAkkKGxvY2FsZWRpcl9TUSk6JChOT19DVVJMKTokKFVTRV9HRVRURVhUX1NDSEVNRSk6JChTQU5FX1RPT0xfUEFUSF9TUSk6XApAQCAtMjMyMSw3ICsyNDA2LDcgQEAKICMgc2hvdWxkIF9ub3RfIGJlIGluY2x1ZGVkIGhlcmUsIHNpbmNlIHRoZXkgYXJlIG5lY2Vzc2FyeSBldmVuIHdoZW4KICMgYnVpbGRpbmcgYW4gb2JqZWN0IGZvciB0aGUgZmlyc3QgdGltZS4KIAotJChPQkpFQ1RTKTogJChMSUJfSCkKKyQoT0JKRUNUUyk6ICQoTElCX0gpICQoR0VORVJBVEVEX0gpCiBlbmRpZgogCiBleGVjLWNtZC5zcCBleGVjLWNtZC5zIGV4ZWMtY21kLm86IEdJVC1QUkVGSVgKQEAgLTIzNDcsMTAgKzI0MzIsMTAgQEAKIGdldHRleHQuc3AgZ2V0dGV4dC5zIGdldHRleHQubzogRVhUUkFfQ1BQRkxBR1MgPSBcCiAJLURHSVRfTE9DQUxFX1BBVEg9JyIkKGxvY2FsZWRpcl9yZWxhdGl2ZV9TUSkiJwogCi1odHRwLXB1c2guc3AgaHR0cC5zcCBodHRwLXdhbGtlci5zcCByZW1vdGUtY3VybC5zcCBpbWFwLXNlbmQuc3A6IFNQQVJTRV9GTEFHUyArPSBcCitodHRwLXB1c2guc3AgaHR0cC5zcCBodHRwLXdhbGtlci5zcCByZW1vdGUtY3VybC5zcCBpbWFwLXNlbmQuc3A6IFNQX0VYVFJBX0ZMQUdTICs9IFwKIAktRENVUkxfRElTQUJMRV9UWVBFQ0hFQ0sKIAotcGFjay1yZXZpbmRleC5zcDogU1BBUlNFX0ZMQUdTICs9IC1Xbm8tbWVtY3B5LW1heC1jb3VudAorcGFjay1yZXZpbmRleC5zcDogU1BfRVhUUkFfRkxBR1MgKz0gLVduby1tZW1jcHktbWF4LWNvdW50CiAKIGlmZGVmIE5PX0VYUEFUCiBodHRwLXdhbGtlci5zcCBodHRwLXdhbGtlci5zIGh0dHAtd2Fsa2VyLm86IEVYVFJBX0NQUEZMQUdTID0gLUROT19FWFBBVApAQCAtMjM2NCw3ICsyNDQ5LDcgQEAKIGlmZGVmIFVTRV9ORURfQUxMT0NBVE9SCiBjb21wYXQvbmVkbWFsbG9jL25lZG1hbGxvYy5zcCBjb21wYXQvbmVkbWFsbG9jL25lZG1hbGxvYy5vOiBFWFRSQV9DUFBGTEFHUyA9IFwKIAktRE5ERUJVRyAtRFJFUExBQ0VfU1lTVEVNX0FMTE9DQVRPUgotY29tcGF0L25lZG1hbGxvYy9uZWRtYWxsb2Muc3A6IFNQQVJTRV9GTEFHUyArPSAtV25vLW5vbi1wb2ludGVyLW51bGwKK2NvbXBhdC9uZWRtYWxsb2MvbmVkbWFsbG9jLnNwOiBTUF9FWFRSQV9GTEFHUyArPSAtV25vLW5vbi1wb2ludGVyLW51bGwKIGVuZGlmCiAKIGdpdC0lJFg6ICUubyBHSVQtTERGTEFHUyAkKEdJVExJQlMpCkBAIC0yNDA2LDYgKzI0OTEsMTQgQEAKIAogZXhwb3J0IERFRkFVTFRfRURJVE9SIERFRkFVTFRfUEFHRVIKIAorRG9jdW1lbnRhdGlvbi9HSVQtRVhDTFVERUQtUFJPR1JBTVM6IEZPUkNFCisJQEVYQ0xVREVEPSdFWENMVURFRF9QUk9HUkFNUyA6PSAkKEVYQ0xVREVEX1BST0dSQU1TKSc7IFwKKwkgICAgaWYgdGVzdCB4IiQkRVhDTFVERUQiICE9IFwKKwkJeCJgY2F0IERvY3VtZW50YXRpb24vR0lULUVYQ0xVREVELVBST0dSQU1TIDI+L2Rldi9udWxsYCIgOyB0aGVuIFwKKwkJZWNobyA+JjIgIiAgICAqIG5ldyBkb2N1bWVudGF0aW9uIGZsYWdzIjsgXAorCQllY2hvICIkJEVYQ0xVREVEIiA+RG9jdW1lbnRhdGlvbi9HSVQtRVhDTFVERUQtUFJPR1JBTVM7IFwKKyAgICAgICAgICAgIGZpCisKIC5QSE9OWTogZG9jIG1hbiBtYW4tcGVybCBodG1sIGluZm8gcGRmCiBkb2M6IG1hbi1wZXJsCiAJJChNQUtFKSAtQyBEb2N1bWVudGF0aW9uIGFsbApAQCAtMjUyOCw2ICsyNjIxLDcgQEAKIAkJLW8gXCggLW5hbWUgJ3RyYXNoKicgLXR5cGUgZCAtcHJ1bmUgXCkgXAogCQktbyBcKCAtbmFtZSAnKi5baGNTXScgLXR5cGUgZiAtcHJpbnQgXCkgXAogCQktbyBcKCAtbmFtZSAnKi5zaCcgLXR5cGUgZiAtcHJpbnQgXCkgXAorCQl8IHNlZCAtZSAnc3xeXC4vfHwnIFwKIAkpCiAKICQoRVRBR1NfVEFSR0VUKTogRk9SQ0UKQEAgLTI2NDQsMTMgKzI3MzgsMTIgQEAKIHRlc3RfYmluZGlyX3Byb2dyYW1zIDo9ICQocGF0c3Vic3QgJSxiaW4td3JhcHBlcnMvJSwkKEJJTkRJUl9QUk9HUkFNU19ORUVEX1gpICQoQklORElSX1BST0dSQU1TX05PX1gpICQoVEVTVF9QUk9HUkFNU19ORUVEX1gpKQogCiBhbGw6OiAkKFRFU1RfUFJPR1JBTVMpICQodGVzdF9iaW5kaXJfcHJvZ3JhbXMpCi1hbGw6OiAkKE5PX0lOU1RBTEwpCiAKIGJpbi13cmFwcGVycy8lOiB3cmFwLWZvci1iaW4uc2gKIAlAbWtkaXIgLXAgYmluLXdyYXBwZXJzCiAJJChRVUlFVF9HRU4pc2VkIC1lICcxc3wjIS4qL3NofCMhJChTSEVMTF9QQVRIX1NRKXwnIFwKIAkgICAgIC1lICdzfEBAQlVJTERfRElSQEB8JChzaGVsbCBwd2QpfCcgXAotCSAgICAgLWUgJ3N8QEBQUk9HQEB8JChwYXRzdWJzdCB0ZXN0LSUsdC9oZWxwZXIvdGVzdC0lLCQoQEYpKXwnIDwgJDwgPiAkQCAmJiBcCisJICAgICAtZSAnc3xAQFBST0dAQHwkKHBhdHN1YnN0IHRlc3QtJSx0L2hlbHBlci90ZXN0LSUkKFgpLCQoQEYpKSQocGF0c3Vic3QgZ2l0JSwkKFgpLCQoZmlsdGVyICQoQEYpLCQoQklORElSX1BST0dSQU1TX05FRURfWCkpKXwnIDwgJDwgPiAkQCAmJiBcCiAJY2htb2QgK3ggJEAKIAogIyBHTlUgbWFrZSBzdXBwb3J0cyBleHBvcnRpbmcgYWxsIHZhcmlhYmxlcyBieSAiZXhwb3J0IiB3aXRob3V0IHBhcmFtZXRlcnMuCkBAIC0yNjg4LDE4ICsyNzgxLDI1IEBACiAKICQoU1BfT0JKKTogJS5zcDogJS5jIEdJVC1DRkxBR1MgRk9SQ0UKIAkkKFFVSUVUX1NQKWNnY2MgLW5vLWNvbXBpbGUgJChBTExfQ0ZMQUdTKSAkKEVYVFJBX0NQUEZMQUdTKSBcCi0JCSQoU1BBUlNFX0ZMQUdTKSAkPAorCQkkKFNQQVJTRV9GTEFHUykgJChTUF9FWFRSQV9GTEFHUykgJDwKIAogLlBIT05ZOiBzcGFyc2UgJChTUF9PQkopCiBzcGFyc2U6ICQoU1BfT0JKKQogCi1HRU5fSERSUyA6PSBjb21tYW5kLWxpc3QuaCB1bmljb2RlLXdpZHRoLmgKLUVYQ0VQVF9IRFJTIDo9ICQoR0VOX0hEUlMpIGNvbXBhdCUgeGRpZmYlCi1DSEtfSERSUyA9ICQoZmlsdGVyLW91dCAkKEVYQ0VQVF9IRFJTKSwkKHBhdHN1YnN0IC4vJSwlLCQoTElCX0gpKSkKK0VYQ0VQVF9IRFJTIDo9IGNvbW1hbmQtbGlzdC5oIHVuaWNvZGUtd2lkdGguaCBjb21wYXQvJSB4ZGlmZi8lCitpZm5kZWYgR0NSWVBUX1NIQTI1NgorCUVYQ0VQVF9IRFJTICs9IHNoYTI1Ni9nY3J5cHQuaAorZW5kaWYKK0NIS19IRFJTID0gJChmaWx0ZXItb3V0ICQoRVhDRVBUX0hEUlMpLCQoTElCX0gpKQogSENPID0gJChwYXRzdWJzdCAlLmgsJS5oY28sJChDSEtfSERSUykpCitIQ0MgPSAkKEhDTzpoY289aGNjKQogCi0kKEhDTyk6ICUuaGNvOiAlLmggRk9SQ0UKLQkkKFFVSUVUX0hEUikkKENDKSAtaW5jbHVkZSBnaXQtY29tcGF0LXV0aWwuaCAtSS4gLW8gL2Rldi9udWxsIC1jIC14YyAkPAorJS5oY2M6ICUuaAorCUBlY2hvICcjaW5jbHVkZSAiZ2l0LWNvbXBhdC11dGlsLmgiJyA+JEAKKwlAZWNobyAnI2luY2x1ZGUgIiQ8IicgPj4kQAorCiskKEhDTyk6ICUuaGNvOiAlLmhjYyBGT1JDRQorCSQoUVVJRVRfSERSKSQoQ0MpICQoQUxMX0NGTEFHUykgLW8gL2Rldi9udWxsIC1jIC14YyAkPAogCiAuUEhPTlk6IGhkci1jaGVjayAkKEhDTykKIGhkci1jaGVjazogJChIQ08pCkBAIC0yNzE4LDIxICsyODE4LDE5IEBACiAJCWV4aXQgMTsgXAogCWZpCiAKLUNfU09VUkNFUyA9ICQocGF0c3Vic3QgJS5vLCUuYywkKENfT0JKKSkKLWlmZGVmIERDX1NIQTFfU1VCTU9EVUxFCi1DT0NDSV9TT1VSQ0VTID0gJChmaWx0ZXItb3V0IHNoYTFjb2xsaXNpb25kZXRlY3Rpb24vJSwkKENfU09VUkNFUykpCi1lbHNlCi1DT0NDSV9TT1VSQ0VTID0gJChmaWx0ZXItb3V0IHNoYTFkYy8lLCQoQ19TT1VSQ0VTKSkKLWVuZGlmCitGT1VORF9DX1NPVVJDRVMgPSAkKGZpbHRlciAlLmMsJChzaGVsbCAkKEZJTkRfU09VUkNFX0ZJTEVTKSkpCitDT0NDSV9TT1VSQ0VTID0gJChmaWx0ZXItb3V0ICQoVEhJUkRfUEFSVFlfU09VUkNFUyksJChGT1VORF9DX1NPVVJDRVMpKQogCiAlLmNvY2NpLnBhdGNoOiAlLmNvY2NpICQoQ09DQ0lfU09VUkNFUykKLQlAZWNobyAnICAgICcgU1BBVENIICQ8OyBcCi0JcmV0PTA7IFwKLQlmb3IgZiBpbiAkKENPQ0NJX1NPVVJDRVMpOyBkbyBcCi0JCSQoU1BBVENIKSAtLXNwLWZpbGUgJDwgJCRmICQoU1BBVENIX0ZMQUdTKSB8fCBcCi0JCQl7IHJldD0kJD87IGJyZWFrOyB9OyBcCi0JZG9uZSA+JEArIDI+JEAubG9nOyBcCi0JaWYgdGVzdCAkJHJldCAhPSAwOyBcCisJJChRVUlFVF9TUEFUQ0gpIFwKKwlpZiB0ZXN0ICQoU1BBVENIX0JBVENIX1NJWkUpID0gMDsgdGhlbiBcCisJCWxpbWl0PTsgXAorCWVsc2UgXAorCQlsaW1pdD0nLW4gJChTUEFUQ0hfQkFUQ0hfU0laRSknOyBcCisJZmk7IFwKKwlpZiAhIGVjaG8gJChDT0NDSV9TT1VSQ0VTKSB8IHhhcmdzICQkbGltaXQgXAorCQkkKFNQQVRDSCkgLS1zcC1maWxlICQ8ICQoU1BBVENIX0ZMQUdTKSBcCisJCT4kQCsgMj4kQC5sb2c7IFwKIAl0aGVuIFwKIAkJY2F0ICRALmxvZzsgXAogCQlleGl0IDE7IFwKQEAgLTI3ODgsNiArMjg4NiwzMyBAQAogCSQoSU5TVEFMTCkgJChBTExfUFJPR1JBTVMpICckKERFU1RESVJfU1EpJChnaXRleGVjX2luc3RkaXJfU1EpJwogCSQoSU5TVEFMTCkgLW0gNjQ0ICQoU0NSSVBUX0xJQikgJyQoREVTVERJUl9TUSkkKGdpdGV4ZWNfaW5zdGRpcl9TUSknCiAJJChJTlNUQUxMKSAkKGluc3RhbGxfYmluZGlyX3Byb2dyYW1zKSAnJChERVNURElSX1NRKSQoYmluZGlyX1NRKScKK2lmZGVmIE1TVkMKKwkjIFdlIERPIE5PVCBpbnN0YWxsIHRoZSBpbmRpdmlkdWFsIGZvby5vLnBkYiBmaWxlcyBiZWNhdXNlIHRoZXkKKwkjIGhhdmUgYWxyZWFkeSBiZWVuIHJvbGxlZCB1cCBpbnRvIHRoZSBleGUncyBwZGIgZmlsZS4KKwkjIFdlIERPIE5PVCBoYXZlIHBkYiBmaWxlcyBmb3IgdGhlIGJ1aWx0aW4gY29tbWFuZHMgKGxpa2UgZ2l0LXN0YXR1cy5leGUpCisJIyBiZWNhdXNlIGl0IGlzIGp1c3QgYSBjb3B5L2hhcmRsaW5rIG9mIGdpdC5leGUsIHJhdGhlciB0aGFuIGEgdW5pcXVlIGJpbmFyeS4KKwkkKElOU1RBTEwpIGdpdC5wZGIgJyQoREVTVERJUl9TUSkkKGJpbmRpcl9TUSknCisJJChJTlNUQUxMKSBnaXQtc2hlbGwucGRiICckKERFU1RESVJfU1EpJChiaW5kaXJfU1EpJworCSQoSU5TVEFMTCkgZ2l0LXVwbG9hZC1wYWNrLnBkYiAnJChERVNURElSX1NRKSQoYmluZGlyX1NRKScKKwkkKElOU1RBTEwpIGdpdC1jcmVkZW50aWFsLXN0b3JlLnBkYiAnJChERVNURElSX1NRKSQoZ2l0ZXhlY19pbnN0ZGlyX1NRKScKKwkkKElOU1RBTEwpIGdpdC1kYWVtb24ucGRiICckKERFU1RESVJfU1EpJChnaXRleGVjX2luc3RkaXJfU1EpJworCSQoSU5TVEFMTCkgZ2l0LWZhc3QtaW1wb3J0LnBkYiAnJChERVNURElSX1NRKSQoZ2l0ZXhlY19pbnN0ZGlyX1NRKScKKwkkKElOU1RBTEwpIGdpdC1odHRwLWJhY2tlbmQucGRiICckKERFU1RESVJfU1EpJChnaXRleGVjX2luc3RkaXJfU1EpJworCSQoSU5TVEFMTCkgZ2l0LWh0dHAtZmV0Y2gucGRiICckKERFU1RESVJfU1EpJChnaXRleGVjX2luc3RkaXJfU1EpJworCSQoSU5TVEFMTCkgZ2l0LWh0dHAtcHVzaC5wZGIgJyQoREVTVERJUl9TUSkkKGdpdGV4ZWNfaW5zdGRpcl9TUSknCisJJChJTlNUQUxMKSBnaXQtaW1hcC1zZW5kLnBkYiAnJChERVNURElSX1NRKSQoZ2l0ZXhlY19pbnN0ZGlyX1NRKScKKwkkKElOU1RBTEwpIGdpdC1yZW1vdGUtaHR0cC5wZGIgJyQoREVTVERJUl9TUSkkKGdpdGV4ZWNfaW5zdGRpcl9TUSknCisJJChJTlNUQUxMKSBnaXQtcmVtb3RlLXRlc3Rzdm4ucGRiICckKERFU1RESVJfU1EpJChnaXRleGVjX2luc3RkaXJfU1EpJworCSQoSU5TVEFMTCkgZ2l0LXNoLWkxOG4tLWVudnN1YnN0LnBkYiAnJChERVNURElSX1NRKSQoZ2l0ZXhlY19pbnN0ZGlyX1NRKScKKwkkKElOU1RBTEwpIGdpdC1zaG93LWluZGV4LnBkYiAnJChERVNURElSX1NRKSQoZ2l0ZXhlY19pbnN0ZGlyX1NRKScKK2lmbmRlZiBERUJVRworCSQoSU5TVEFMTCkgJCh2Y3BrZ19yZWxfYmluKS8qLmRsbCAnJChERVNURElSX1NRKSQoYmluZGlyX1NRKScKKwkkKElOU1RBTEwpICQodmNwa2dfcmVsX2JpbikvKi5wZGIgJyQoREVTVERJUl9TUSkkKGJpbmRpcl9TUSknCitlbHNlCisJJChJTlNUQUxMKSAkKHZjcGtnX2RiZ19iaW4pLyouZGxsICckKERFU1RESVJfU1EpJChiaW5kaXJfU1EpJworCSQoSU5TVEFMTCkgJCh2Y3BrZ19kYmdfYmluKS8qLnBkYiAnJChERVNURElSX1NRKSQoYmluZGlyX1NRKScKK2VuZGlmCitlbmRpZgogCSQoTUFLRSkgLUMgdGVtcGxhdGVzIERFU1RESVI9JyQoREVTVERJUl9TUSknIGluc3RhbGwKIAkkKElOU1RBTEwpIC1kIC1tIDc1NSAnJChERVNURElSX1NRKSQobWVyZ2V0b29sc19pbnN0ZGlyX1NRKScKIAkkKElOU1RBTEwpIC1tIDY0NCBtZXJnZXRvb2xzLyogJyQoREVTVERJUl9TUSkkKG1lcmdldG9vbHNfaW5zdGRpcl9TUSknCkBAIC0yOTI2LDYgKzMwNTEsMjAgQEAKIAlAZmFsc2UKIC5QSE9OWTogcnBtCiAKK2lmbmVxICgkKElOQ0xVREVfRExMU19JTl9BUlRJRkFDVFMpLCkKK09USEVSX1BST0dSQU1TICs9ICQoc2hlbGwgZWNobyAqLmRsbCB0L2hlbHBlci8qLmRsbCkKK2VuZGlmCisKK2FydGlmYWN0cy10YXI6OiAkKEFMTF9QUk9HUkFNUykgJChTQ1JJUFRfTElCKSAkKEJVSUxUX0lOUykgJChPVEhFUl9QUk9HUkFNUykgXAorCQlHSVQtQlVJTEQtT1BUSU9OUyAkKFRFU1RfUFJPR1JBTVMpICQodGVzdF9iaW5kaXJfcHJvZ3JhbXMpIFwKKwkJJChNT0ZJTEVTKQorCSQoUVVJRVRfU1VCRElSMCl0ZW1wbGF0ZXMgJChRVUlFVF9TVUJESVIxKSBcCisJCVNIRUxMX1BBVEg9JyQoU0hFTExfUEFUSF9TUSknIFBFUkxfUEFUSD0nJChQRVJMX1BBVEhfU1EpJworCXRlc3QgLW4gIiQoQVJUSUZBQ1RTX0RJUkVDVE9SWSkiCisJbWtkaXIgLXAgIiQoQVJUSUZBQ1RTX0RJUkVDVE9SWSkiCisJJChUQVIpIGN6ZiAiJChBUlRJRkFDVFNfRElSRUNUT1JZKS9hcnRpZmFjdHMudGFyLmd6IiAkXiB0ZW1wbGF0ZXMvYmx0LworLlBIT05ZOiBhcnRpZmFjdHMtdGFyCisKIGh0bWxkb2NzID0gZ2l0LWh0bWxkb2NzLSQoR0lUX1ZFUlNJT04pCiBtYW5wYWdlcyA9IGdpdC1tYW5wYWdlcy0kKEdJVF9WRVJTSU9OKQogLlBIT05ZOiBkaXN0LWRvYyBkaXN0Y2xlYW4KQEAgLTI5NjcsMTUgKzMxMDYsMTcgQEAKIAkkKFJNKSAkKE9CSkVDVFMpCiAJJChSTSkgJChMSUJfRklMRSkgJChYRElGRl9MSUIpICQoVkNTU1ZOX0xJQikKIAkkKFJNKSAkKEFMTF9QUk9HUkFNUykgJChTQ1JJUFRfTElCKSAkKEJVSUxUX0lOUykgZ2l0JFgKLQkkKFJNKSAkKFRFU1RfUFJPR1JBTVMpICQoTk9fSU5TVEFMTCkKKwkkKFJNKSAkKFRFU1RfUFJPR1JBTVMpCiAJJChSTSkgJChGVVpaX1BST0dSQU1TKQorCSQoUk0pICQoSENDKQogCSQoUk0pIC1yIGJpbi13cmFwcGVycyAkKGRlcF9kaXJzKQogCSQoUk0pIC1yIHBvL2J1aWxkLwotCSQoUk0pICoucHljICoucHlvICovKi5weWMgKi8qLnB5byBjb21tYW5kLWxpc3QuaCAkKEVUQUdTX1RBUkdFVCkgdGFncyBjc2NvcGUqCisJJChSTSkgKi5weWMgKi5weW8gKi8qLnB5YyAqLyoucHlvICQoR0VORVJBVEVEX0gpICQoRVRBR1NfVEFSR0VUKSB0YWdzIGNzY29wZSoKIAkkKFJNKSAtciAkKEdJVF9UQVJOQU1FKSAuZG9jLXRtcC1kaXIKIAkkKFJNKSAkKEdJVF9UQVJOQU1FKS50YXIuZ3ogZ2l0LWNvcmVfJChHSVRfVkVSU0lPTiktKi50YXIuZ3oKIAkkKFJNKSAkKGh0bWxkb2NzKS50YXIuZ3ogJChtYW5wYWdlcykudGFyLmd6CiAJJChNQUtFKSAtQyBEb2N1bWVudGF0aW9uLyBjbGVhbgorCSQoUk0pIERvY3VtZW50YXRpb24vR0lULUVYQ0xVREVELVBST0dSQU1TCiBpZm5kZWYgTk9fUEVSTAogCSQoTUFLRSkgLUMgZ2l0d2ViIGNsZWFuCiAJJChSTSkgLXIgcGVybC9idWlsZC8KQEAgLTI5ODksNiArMzEzMCwxOSBAQAogCSQoUk0pIEdJVC1WRVJTSU9OLUZJTEUgR0lULUNGTEFHUyBHSVQtTERGTEFHUyBHSVQtQlVJTEQtT1BUSU9OUwogCSQoUk0pIEdJVC1VU0VSLUFHRU5UIEdJVC1QUkVGSVgKIAkkKFJNKSBHSVQtU0NSSVBULURFRklORVMgR0lULVBFUkwtREVGSU5FUyBHSVQtUEVSTC1IRUFERVIgR0lULVBZVEhPTi1WQVJTCitpZmRlZiBNU1ZDCisJJChSTSkgJChwYXRzdWJzdCAlLm8sJS5vLnBkYiwkKE9CSkVDVFMpKQorCSQoUk0pICQocGF0c3Vic3QgJS5leGUsJS5wZGIsJChPVEhFUl9QUk9HUkFNUykpCisJJChSTSkgJChwYXRzdWJzdCAlLmV4ZSwlLmlvYmosJChPVEhFUl9QUk9HUkFNUykpCisJJChSTSkgJChwYXRzdWJzdCAlLmV4ZSwlLmlwZGIsJChPVEhFUl9QUk9HUkFNUykpCisJJChSTSkgJChwYXRzdWJzdCAlLmV4ZSwlLnBkYiwkKFBST0dSQU1TKSkKKwkkKFJNKSAkKHBhdHN1YnN0ICUuZXhlLCUuaW9iaiwkKFBST0dSQU1TKSkKKwkkKFJNKSAkKHBhdHN1YnN0ICUuZXhlLCUuaXBkYiwkKFBST0dSQU1TKSkKKwkkKFJNKSAkKHBhdHN1YnN0ICUuZXhlLCUucGRiLCQoVEVTVF9QUk9HUkFNUykpCisJJChSTSkgJChwYXRzdWJzdCAlLmV4ZSwlLmlvYmosJChURVNUX1BST0dSQU1TKSkKKwkkKFJNKSAkKHBhdHN1YnN0ICUuZXhlLCUuaXBkYiwkKFRFU1RfUFJPR1JBTVMpKQorCSQoUk0pIGNvbXBhdC92Y2J1aWxkL01TVkMtREVGUy1HRU4KK2VuZGlmCiAKIC5QSE9OWTogYWxsIGluc3RhbGwgcHJvZmlsZS1jbGVhbiBjb2NjaWNsZWFuIGNsZWFuIHN0cmlwCiAuUEhPTlk6IHNoZWxsX2NvbXBhdGliaWxpdHlfdGVzdCBwbGVhc2Vfc2V0X1NIRUxMX1BBVEhfdG9fYV9tb3JlX21vZGVybl9zaGVsbApAQCAtMzAwNSwxMyArMzE1OSwxMyBAQAogLlBIT05ZOiBjaGVjay1kb2NzCiBjaGVjay1kb2NzOjoKIAkkKE1BS0UpIC1DIERvY3VtZW50YXRpb24gbGludC1kb2NzCi0JQChmb3IgdiBpbiAkKEFMTF9DT01NQU5EUyk7IFwKKwlAKGZvciB2IGluICQocGF0c3Vic3QgJSRYLCUsJChBTExfQ09NTUFORFMpKTsgXAogCWRvIFwKIAkJY2FzZSAiJCR2IiBpbiBcCiAJCWdpdC1tZXJnZS1vY3RvcHVzIHwgZ2l0LW1lcmdlLW91cnMgfCBnaXQtbWVyZ2UtcmVjdXJzaXZlIHwgXAogCQlnaXQtbWVyZ2UtcmVzb2x2ZSB8IGdpdC1tZXJnZS1zdWJ0cmVlIHwgXAogCQlnaXQtZnNjay1vYmplY3RzIHwgZ2l0LWluaXQtZGIgfCBcCi0JCWdpdC1yZW1vdGUtKiB8IGdpdC1zdGFnZSB8IFwKKwkJZ2l0LXJlbW90ZS0qIHwgZ2l0LXN0YWdlIHwgZ2l0LWxlZ2FjeS0qIHwgXAogCQlnaXQtPyotLT8qICkgY29udGludWUgOzsgXAogCQllc2FjIDsgXAogCQl0ZXN0IC1mICJEb2N1bWVudGF0aW9uLyQkdi50eHQiIHx8IFwKQEAgLTMwMjYsMTUgKzMxODAsMTYgQEAKIAkoIFwKIAkJc2VkIC1lICcxLC9eIyMjIGNvbW1hbmQgbGlzdC9kJyBcCiAJCSAgICAtZSAnL14jL2QnIFwKKwkJICAgIC1lICcvZ3VpZGUkJC9kJyBcCiAJCSAgICAtZSAncy9bIAldLiovLycgXAogCQkgICAgLWUgJ3MvXi9saXN0ZWQgLycgY29tbWFuZC1saXN0LnR4dDsgXAogCQkkKE1BS0UpIC1DIERvY3VtZW50YXRpb24gcHJpbnQtbWFuMSB8IFwKIAkJZ3JlcCAnXC50eHQkJCcgfCBcCi0JCXNlZCAtZSAnc3xEb2N1bWVudGF0aW9uL3xkb2N1bWVudGVkIHwnIFwKKwkJc2VkIC1lICdzfF58ZG9jdW1lbnRlZCB8JyBcCiAJCSAgICAtZSAncy9cLnR4dC8vJzsgXAogCSkgfCB3aGlsZSByZWFkIGhvdyBjbWQ7IFwKIAlkbyBcCi0JCWNhc2UgIiAkKEFMTF9DT01NQU5EUykgIiBpbiBcCisJCWNhc2UgIiAkKHBhdHN1YnN0ICUkWCwlLCQoQUxMX0NPTU1BTkRTKSAkKEVYQ0xVREVEX1BST0dSQU1TKSkgIiBpbiBcCiAJCSoiICQkY21kICIqKQk7OyBcCiAJCSopIGVjaG8gInJlbW92ZWQgYnV0ICQkaG93OiAkJGNtZCIgOzsgXAogCQllc2FjOyBcCkBAIC0zMDc3LDYgKzMyMzIsMTEgQEAKIAkkKE1BS0UpIENGTEFHUz0iJChDT1ZFUkFHRV9DRkxBR1MpIiBMREZMQUdTPSIkKENPVkVSQUdFX0xERkxBR1MpIiBcCiAJCURFRkFVTFRfVEVTVF9UQVJHRVQ9dGVzdCAtajEgdGVzdAogCitjb3ZlcmFnZS1wcm92ZTogY292ZXJhZ2UtY2xlYW4tcmVzdWx0cyBjb3ZlcmFnZS1jb21waWxlCisJJChNQUtFKSBDRkxBR1M9IiQoQ09WRVJBR0VfQ0ZMQUdTKSIgTERGTEFHUz0iJChDT1ZFUkFHRV9MREZMQUdTKSIgXAorCQlERUZBVUxUX1RFU1RfVEFSR0VUPXByb3ZlIEdJVF9QUk9WRV9PUFRTPSIkKEdJVF9QUk9WRV9PUFRTKSAtajEiIFwKKwkJLWoxIHRlc3QKKwogY292ZXJhZ2UtcmVwb3J0OgogCSQoUVVJRVRfR0NPVilmb3IgZGlyIGluICQob2JqZWN0X2RpcnMpOyBkbyBcCiAJCSQoR0NPVikgJChHQ09WRkxBR1MpIC0tb2JqZWN0LWRpcmVjdG9yeT0kJGRpciAkJGRpciouYyB8fCBleGl0OyBcCkBAIC0zMTAzLDcgKzMyNjMsNyBAQAogIyBBbiBleGFtcGxlIGNvbW1hbmQgdG8gYnVpbGQgYWdhaW5zdCBsaWJGdXp6ZXIgZnJvbSBMTFZNIDQuMC4wOgogIwogIyBtYWtlIENDPWNsYW5nIENYWD1jbGFuZysrIFwKLSMgICAgICBGVVpaX0NYWEZMQUdTPSItZnNhbml0aXplLWNvdmVyYWdlPXRyYWNlLXBjLWd1YXJkIC1mc2FuaXRpemU9YWRkcmVzcyIgXAorIyAgICAgIENGTEFHUz0iLWZzYW5pdGl6ZS1jb3ZlcmFnZT10cmFjZS1wYy1ndWFyZCAtZnNhbml0aXplPWFkZHJlc3MiIFwKICMgICAgICBMSUJfRlVaWklOR19FTkdJTkU9L3Vzci9saWIvbGx2bS00LjAvbGliL2xpYkZ1enplci5hIFwKICMgICAgICBmdXp6LWFsbAogIwpkaWZmIC0tZ2l0IGEvUkVBRE1FLm1kIGIvUkVBRE1FLm1kCmluZGV4IGY5MjBhNDIuLjlkNDU2NGMgMTAwNjQ0Ci0tLSBhL1JFQURNRS5tZAorKysgYi9SRUFETUUubWQKQEAgLTEsMyArMSw1IEBACitbIVtCdWlsZCBTdGF0dXNdKGh0dHBzOi8vZGV2LmF6dXJlLmNvbS9naXQvZ2l0L19hcGlzL2J1aWxkL3N0YXR1cy9naXQuZ2l0KV0oaHR0cHM6Ly9kZXYuYXp1cmUuY29tL2dpdC9naXQvX2J1aWxkL2xhdGVzdD9kZWZpbml0aW9uSWQ9MTEpCisKIEdpdCAtIGZhc3QsIHNjYWxhYmxlLCBkaXN0cmlidXRlZCByZXZpc2lvbiBjb250cm9sIHN5c3RlbQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKQEAgLTE3LDcgKzE5LDcgQEAKIAogU2VlIFtEb2N1bWVudGF0aW9uL2dpdHR1dG9yaWFsLnR4dF1bXSB0byBnZXQgc3RhcnRlZCwgdGhlbiBzZWUKIFtEb2N1bWVudGF0aW9uL2dpdGV2ZXJ5ZGF5LnR4dF1bXSBmb3IgYSB1c2VmdWwgbWluaW11bSBzZXQgb2YgY29tbWFuZHMsIGFuZAotRG9jdW1lbnRhdGlvbi9naXQtPGNvbW1hbmRuYW1lPi50eHQgZm9yIGRvY3VtZW50YXRpb24gb2YgZWFjaCBjb21tYW5kLgorYERvY3VtZW50YXRpb24vZ2l0LTxjb21tYW5kbmFtZT4udHh0YCBmb3IgZG9jdW1lbnRhdGlvbiBvZiBlYWNoIGNvbW1hbmQuCiBJZiBnaXQgaGFzIGJlZW4gY29ycmVjdGx5IGluc3RhbGxlZCwgdGhlbiB0aGUgdHV0b3JpYWwgY2FuIGFsc28gYmUKIHJlYWQgd2l0aCBgbWFuIGdpdHR1dG9yaWFsYCBvciBgZ2l0IGhlbHAgdHV0b3JpYWxgLCBhbmQgdGhlCiBkb2N1bWVudGF0aW9uIG9mIGVhY2ggY29tbWFuZCB3aXRoIGBtYW4gZ2l0LTxjb21tYW5kbmFtZT5gIG9yIGBnaXQgaGVscApAQCAtMzMsNyArMzUsNyBAQAogW0RvY3VtZW50YXRpb24vU3VibWl0dGluZ1BhdGNoZXNdW10gZm9yIGluc3RydWN0aW9ucyBvbiBwYXRjaCBzdWJtaXNzaW9uKS4KIFRvIHN1YnNjcmliZSB0byB0aGUgbGlzdCwgc2VuZCBhbiBlbWFpbCB3aXRoIGp1c3QgInN1YnNjcmliZSBnaXQiIGluCiB0aGUgYm9keSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnLiBUaGUgbWFpbGluZyBsaXN0IGFyY2hpdmVzIGFyZQotYXZhaWxhYmxlIGF0IDxodHRwczovL3B1YmxpYy1pbmJveC5vcmcvZ2l0Lz4sCithdmFpbGFibGUgYXQgPGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2dpdC8+LAogPGh0dHA6Ly9tYXJjLmluZm8vP2w9Z2l0PiBhbmQgb3RoZXIgYXJjaGl2YWwgc2l0ZXMuCiAKIElzc3VlcyB3aGljaCBhcmUgc2VjdXJpdHkgcmVsZXZhbnQgc2hvdWxkIGJlIGRpc2Nsb3NlZCBwcml2YXRlbHkgdG8KZGlmZiAtLWdpdCBhL1JlbE5vdGVzIGIvUmVsTm90ZXMKaW5kZXggYjZmZTZjNy4uMzcwMjY5ZCAxMjAwMDAKLS0tIGEvUmVsTm90ZXMKKysrIGIvUmVsTm90ZXMKQEAgLTEgKzEgQEAKLURvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yMC4yLnR4dApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK0RvY3VtZW50YXRpb24vUmVsTm90ZXMvMi4yNi4wLnR4dApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2FkZC1pbnRlcmFjdGl2ZS5jIGIvYWRkLWludGVyYWN0aXZlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGE5YmY4NQotLS0gL2Rldi9udWxsCisrKyBiL2FkZC1pbnRlcmFjdGl2ZS5jCkBAIC0wLDAgKzEsMTE3NiBAQAorI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiYWRkLWludGVyYWN0aXZlLmgiCisjaW5jbHVkZSAiY29sb3IuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJkaWZmY29yZS5oIgorI2luY2x1ZGUgInJldmlzaW9uLmgiCisjaW5jbHVkZSAicmVmcy5oIgorI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCisjaW5jbHVkZSAibG9ja2ZpbGUuaCIKKyNpbmNsdWRlICJkaXIuaCIKKyNpbmNsdWRlICJydW4tY29tbWFuZC5oIgorCitzdGF0aWMgdm9pZCBpbml0X2NvbG9yKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3QgYWRkX2lfc3RhdGUgKnMsCisJCSAgICAgICBjb25zdCBjaGFyICpzbG90X25hbWUsIGNoYXIgKmRzdCwKKwkJICAgICAgIGNvbnN0IGNoYXIgKmRlZmF1bHRfY29sb3IpCit7CisJY2hhciAqa2V5ID0geHN0cmZtdCgiY29sb3IuaW50ZXJhY3RpdmUuJXMiLCBzbG90X25hbWUpOworCWNvbnN0IGNoYXIgKnZhbHVlOworCisJaWYgKCFzLT51c2VfY29sb3IpCisJCWRzdFswXSA9ICdcMCc7CisJZWxzZSBpZiAocmVwb19jb25maWdfZ2V0X3ZhbHVlKHIsIGtleSwgJnZhbHVlKSB8fAorCQkgY29sb3JfcGFyc2UodmFsdWUsIGRzdCkpCisJCXN0cmxjcHkoZHN0LCBkZWZhdWx0X2NvbG9yLCBDT0xPUl9NQVhMRU4pOworCisJZnJlZShrZXkpOworfQorCit2b2lkIGluaXRfYWRkX2lfc3RhdGUoc3RydWN0IGFkZF9pX3N0YXRlICpzLCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcikKK3sKKwljb25zdCBjaGFyICp2YWx1ZTsKKworCXMtPnIgPSByOworCisJaWYgKHJlcG9fY29uZmlnX2dldF92YWx1ZShyLCAiY29sb3IuaW50ZXJhY3RpdmUiLCAmdmFsdWUpKQorCQlzLT51c2VfY29sb3IgPSAtMTsKKwllbHNlCisJCXMtPnVzZV9jb2xvciA9CisJCQlnaXRfY29uZmlnX2NvbG9yYm9vbCgiY29sb3IuaW50ZXJhY3RpdmUiLCB2YWx1ZSk7CisJcy0+dXNlX2NvbG9yID0gd2FudF9jb2xvcihzLT51c2VfY29sb3IpOworCisJaW5pdF9jb2xvcihyLCBzLCAiaGVhZGVyIiwgcy0+aGVhZGVyX2NvbG9yLCBHSVRfQ09MT1JfQk9MRCk7CisJaW5pdF9jb2xvcihyLCBzLCAiaGVscCIsIHMtPmhlbHBfY29sb3IsIEdJVF9DT0xPUl9CT0xEX1JFRCk7CisJaW5pdF9jb2xvcihyLCBzLCAicHJvbXB0Iiwgcy0+cHJvbXB0X2NvbG9yLCBHSVRfQ09MT1JfQk9MRF9CTFVFKTsKKwlpbml0X2NvbG9yKHIsIHMsICJlcnJvciIsIHMtPmVycm9yX2NvbG9yLCBHSVRfQ09MT1JfQk9MRF9SRUQpOworCWluaXRfY29sb3IociwgcywgInJlc2V0Iiwgcy0+cmVzZXRfY29sb3IsIEdJVF9DT0xPUl9SRVNFVCk7CisJaW5pdF9jb2xvcihyLCBzLCAiZnJhZ2luZm8iLCBzLT5mcmFnaW5mb19jb2xvciwKKwkJICAgZGlmZl9nZXRfY29sb3Iocy0+dXNlX2NvbG9yLCBESUZGX0ZSQUdJTkZPKSk7CisJaW5pdF9jb2xvcihyLCBzLCAiY29udGV4dCIsIHMtPmNvbnRleHRfY29sb3IsCisJCWRpZmZfZ2V0X2NvbG9yKHMtPnVzZV9jb2xvciwgRElGRl9DT05URVhUKSk7CisJaW5pdF9jb2xvcihyLCBzLCAib2xkIiwgcy0+ZmlsZV9vbGRfY29sb3IsCisJCWRpZmZfZ2V0X2NvbG9yKHMtPnVzZV9jb2xvciwgRElGRl9GSUxFX09MRCkpOworCWluaXRfY29sb3IociwgcywgIm5ldyIsIHMtPmZpbGVfbmV3X2NvbG9yLAorCQlkaWZmX2dldF9jb2xvcihzLT51c2VfY29sb3IsIERJRkZfRklMRV9ORVcpKTsKKworCUZSRUVfQU5EX05VTEwocy0+aW50ZXJhY3RpdmVfZGlmZl9maWx0ZXIpOworCWdpdF9jb25maWdfZ2V0X3N0cmluZygiaW50ZXJhY3RpdmUuZGlmZmZpbHRlciIsCisJCQkgICAgICAmcy0+aW50ZXJhY3RpdmVfZGlmZl9maWx0ZXIpOworCisJRlJFRV9BTkRfTlVMTChzLT5pbnRlcmFjdGl2ZV9kaWZmX2FsZ29yaXRobSk7CisJZ2l0X2NvbmZpZ19nZXRfc3RyaW5nKCJkaWZmLmFsZ29yaXRobSIsCisJCQkgICAgICAmcy0+aW50ZXJhY3RpdmVfZGlmZl9hbGdvcml0aG0pOworCisJZ2l0X2NvbmZpZ19nZXRfYm9vbCgiaW50ZXJhY3RpdmUuc2luZ2xla2V5IiwgJnMtPnVzZV9zaW5nbGVfa2V5KTsKK30KKwordm9pZCBjbGVhcl9hZGRfaV9zdGF0ZShzdHJ1Y3QgYWRkX2lfc3RhdGUgKnMpCit7CisJRlJFRV9BTkRfTlVMTChzLT5pbnRlcmFjdGl2ZV9kaWZmX2ZpbHRlcik7CisJRlJFRV9BTkRfTlVMTChzLT5pbnRlcmFjdGl2ZV9kaWZmX2FsZ29yaXRobSk7CisJbWVtc2V0KHMsIDAsIHNpemVvZigqcykpOworCXMtPnVzZV9jb2xvciA9IC0xOworfQorCisvKgorICogQSAicHJlZml4IGl0ZW0gbGlzdCIgaXMgYSBsaXN0IG9mIGl0ZW1zIHRoYXQgYXJlIGlkZW50aWZpZWQgYnkgYSBzdHJpbmcsIGFuZAorICogYSB1bmlxdWUgcHJlZml4IChpZiBhbnkpIGlzIGRldGVybWluZWQgZm9yIGVhY2ggaXRlbS4KKyAqCisgKiBJdCBpcyBpbXBsZW1lbnRlZCBpbiB0aGUgZm9ybSBvZiBhIHBhaXIgb2YgYHN0cmluZ19saXN0YHMsIHRoZSBmaXJzdCBvbmUKKyAqIGR1cGxpY2F0aW5nIHRoZSBzdHJpbmdzLCB3aXRoIHRoZSBgdXRpbGAgZmllbGQgcG9pbnRpbmcgYXQgYSBzdHJ1Y3R1cmUgd2hvc2UKKyAqIGZpcnN0IGZpZWxkIG11c3QgYmUgYHNpemVfdCBwcmVmaXhfbGVuZ3RoYC4KKyAqCisgKiBUaGF0IGBwcmVmaXhfbGVuZ3RoYCBmaWVsZCB3aWxsIGJlIGNvbXB1dGVkIGJ5IGBmaW5kX3VuaXF1ZV9wcmVmaXhlcygpYDsgSXQKKyAqIHdpbGwgYmUgc2V0IHRvIHplcm8gaWYgbm8gdmFsaWQsIHVuaXF1ZSBwcmVmaXggY291bGQgYmUgZm91bmQuCisgKgorICogVGhlIHNlY29uZCBgc3RyaW5nX2xpc3RgIGlzIGNhbGxlZCBgc29ydGVkYCBhbmQgZG9lcyBfbm90XyBkdXBsaWNhdGUgdGhlCisgKiBzdHJpbmdzIGJ1dCBzaW1wbHkgcmV1c2VzIHRoZSBmaXJzdCBvbmUncywgd2l0aCB0aGUgYHV0aWxgIGZpZWxkIHBvaW50aW5nIGF0CisgKiB0aGUgYHN0cmluZ19pdGVtX2xpc3RgIG9mIHRoZSBmaXJzdCBgc3RyaW5nX2xpc3RgLiBJdCAgd2lsbCBiZSBwb3B1bGF0ZWQgYW5kCisgKiBzb3J0ZWQgYnkgYGZpbmRfdW5pcXVlX3ByZWZpeGVzKClgLgorICovCitzdHJ1Y3QgcHJlZml4X2l0ZW1fbGlzdCB7CisJc3RydWN0IHN0cmluZ19saXN0IGl0ZW1zOworCXN0cnVjdCBzdHJpbmdfbGlzdCBzb3J0ZWQ7CisJaW50ICpzZWxlY3RlZDsgLyogZm9yIG11bHRpLXNlbGVjdGlvbnMgKi8KKwlzaXplX3QgbWluX2xlbmd0aCwgbWF4X2xlbmd0aDsKK307CisjZGVmaW5lIFBSRUZJWF9JVEVNX0xJU1RfSU5JVCBcCisJeyBTVFJJTkdfTElTVF9JTklUX0RVUCwgU1RSSU5HX0xJU1RfSU5JVF9OT0RVUCwgTlVMTCwgMSwgNCB9CisKK3N0YXRpYyB2b2lkIHByZWZpeF9pdGVtX2xpc3RfY2xlYXIoc3RydWN0IHByZWZpeF9pdGVtX2xpc3QgKmxpc3QpCit7CisJc3RyaW5nX2xpc3RfY2xlYXIoJmxpc3QtPml0ZW1zLCAxKTsKKwlzdHJpbmdfbGlzdF9jbGVhcigmbGlzdC0+c29ydGVkLCAwKTsKKwlGUkVFX0FORF9OVUxMKGxpc3QtPnNlbGVjdGVkKTsKK30KKworc3RhdGljIHZvaWQgZXh0ZW5kX3ByZWZpeF9sZW5ndGgoc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKnAsCisJCQkJIGNvbnN0IGNoYXIgKm90aGVyX3N0cmluZywgc2l6ZV90IG1heF9sZW5ndGgpCit7CisJc2l6ZV90ICpsZW4gPSBwLT51dGlsOworCisJaWYgKCEqbGVuIHx8IG1lbWNtcChwLT5zdHJpbmcsIG90aGVyX3N0cmluZywgKmxlbikpCisJCXJldHVybjsKKworCWZvciAoOzspIHsKKwkJY2hhciBjID0gcC0+c3RyaW5nWypsZW5dOworCisJCS8qCisJCSAqIElzIGBwYCBhIHN0cmljdCBwcmVmaXggb2YgYG90aGVyYD8gT3IgaGF2ZSB3ZSBleGhhdXN0ZWQgdGhlCisJCSAqIG1heGltYWwgbGVuZ3RoIG9mIHRoZSBwcmVmaXg/IE9yIGlzIHRoZSBjdXJyZW50IGNoYXJhY3RlciBhCisJCSAqIG11bHRpLWJ5dGUgVVRGLTggb25lPyBJZiBzbywgdGhlcmUgaXMgbm8gdmFsaWQsIHVuaXF1ZQorCQkgKiBwcmVmaXguCisJCSAqLworCQlpZiAoIWMgfHwgKysqbGVuID4gbWF4X2xlbmd0aCB8fCAhaXNhc2NpaShjKSkgeworCQkJKmxlbiA9IDA7CisJCQlicmVhazsKKwkJfQorCisJCWlmIChjICE9IG90aGVyX3N0cmluZ1sqbGVuIC0gMV0pCisJCQlicmVhazsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGZpbmRfdW5pcXVlX3ByZWZpeGVzKHN0cnVjdCBwcmVmaXhfaXRlbV9saXN0ICpsaXN0KQoreworCXNpemVfdCBpOworCisJaWYgKGxpc3QtPnNvcnRlZC5uciA9PSBsaXN0LT5pdGVtcy5ucikKKwkJcmV0dXJuOworCisJc3RyaW5nX2xpc3RfY2xlYXIoJmxpc3QtPnNvcnRlZCwgMCk7CisJLyogQXZvaWQgcmVhbGxvY2F0aW5nIGluY3JlbWVudGFsbHkgKi8KKwlsaXN0LT5zb3J0ZWQuaXRlbXMgPSB4bWFsbG9jKHN0X211bHQoc2l6ZW9mKCpsaXN0LT5zb3J0ZWQuaXRlbXMpLAorCQkJCQkgICAgIGxpc3QtPml0ZW1zLm5yKSk7CisJbGlzdC0+c29ydGVkLm5yID0gbGlzdC0+c29ydGVkLmFsbG9jID0gbGlzdC0+aXRlbXMubnI7CisKKwlmb3IgKGkgPSAwOyBpIDwgbGlzdC0+aXRlbXMubnI7IGkrKykgeworCQlsaXN0LT5zb3J0ZWQuaXRlbXNbaV0uc3RyaW5nID0gbGlzdC0+aXRlbXMuaXRlbXNbaV0uc3RyaW5nOworCQlsaXN0LT5zb3J0ZWQuaXRlbXNbaV0udXRpbCA9IGxpc3QtPml0ZW1zLml0ZW1zICsgaTsKKwl9CisKKwlzdHJpbmdfbGlzdF9zb3J0KCZsaXN0LT5zb3J0ZWQpOworCisJZm9yIChpID0gMDsgaSA8IGxpc3QtPnNvcnRlZC5ucjsgaSsrKSB7CisJCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICpzb3J0ZWRfaXRlbSA9IGxpc3QtPnNvcnRlZC5pdGVtcyArIGk7CisJCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtID0gc29ydGVkX2l0ZW0tPnV0aWw7CisJCXNpemVfdCAqbGVuID0gaXRlbS0+dXRpbDsKKworCQkqbGVuID0gMDsKKwkJd2hpbGUgKCpsZW4gPCBsaXN0LT5taW5fbGVuZ3RoKSB7CisJCQljaGFyIGMgPSBpdGVtLT5zdHJpbmdbKCpsZW4pKytdOworCisJCQlpZiAoIWMgfHwgIWlzYXNjaWkoYykpIHsKKwkJCQkqbGVuID0gMDsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCisJCWlmIChpID4gMCkKKwkJCWV4dGVuZF9wcmVmaXhfbGVuZ3RoKGl0ZW0sIHNvcnRlZF9pdGVtWy0xXS5zdHJpbmcsCisJCQkJCSAgICAgbGlzdC0+bWF4X2xlbmd0aCk7CisJCWlmIChpICsgMSA8IGxpc3QtPnNvcnRlZC5ucikKKwkJCWV4dGVuZF9wcmVmaXhfbGVuZ3RoKGl0ZW0sIHNvcnRlZF9pdGVtWzFdLnN0cmluZywKKwkJCQkJICAgICBsaXN0LT5tYXhfbGVuZ3RoKTsKKwl9Cit9CisKK3N0YXRpYyBzc2l6ZV90IGZpbmRfdW5pcXVlKGNvbnN0IGNoYXIgKnN0cmluZywgc3RydWN0IHByZWZpeF9pdGVtX2xpc3QgKmxpc3QpCit7CisJaW50IGluZGV4ID0gc3RyaW5nX2xpc3RfZmluZF9pbnNlcnRfaW5kZXgoJmxpc3QtPnNvcnRlZCwgc3RyaW5nLCAxKTsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKKworCWlmIChsaXN0LT5pdGVtcy5uciAhPSBsaXN0LT5zb3J0ZWQubnIpCisJCUJVRygicHJlZml4X2l0ZW1fbGlzdCBpbiBpbmNvbnNpc3RlbnQgc3RhdGUgKCUiUFJJdU1BWAorCQkgICAgIiB2cyAlIlBSSXVNQVgiKSIsCisJCSAgICAodWludG1heF90KWxpc3QtPml0ZW1zLm5yLCAodWludG1heF90KWxpc3QtPnNvcnRlZC5ucik7CisKKwlpZiAoaW5kZXggPCAwKQorCQlpdGVtID0gbGlzdC0+c29ydGVkLml0ZW1zWy0xIC0gaW5kZXhdLnV0aWw7CisJZWxzZSBpZiAoaW5kZXggPiAwICYmCisJCSBzdGFydHNfd2l0aChsaXN0LT5zb3J0ZWQuaXRlbXNbaW5kZXggLSAxXS5zdHJpbmcsIHN0cmluZykpCisJCXJldHVybiAtMTsKKwllbHNlIGlmIChpbmRleCArIDEgPCBsaXN0LT5zb3J0ZWQubnIgJiYKKwkJIHN0YXJ0c193aXRoKGxpc3QtPnNvcnRlZC5pdGVtc1tpbmRleCArIDFdLnN0cmluZywgc3RyaW5nKSkKKwkJcmV0dXJuIC0xOworCWVsc2UgaWYgKGluZGV4IDwgbGlzdC0+c29ydGVkLm5yKQorCQlpdGVtID0gbGlzdC0+c29ydGVkLml0ZW1zW2luZGV4XS51dGlsOworCWVsc2UKKwkJcmV0dXJuIC0xOworCXJldHVybiBpdGVtIC0gbGlzdC0+aXRlbXMuaXRlbXM7Cit9CisKK3N0cnVjdCBsaXN0X29wdGlvbnMgeworCWludCBjb2x1bW5zOworCWNvbnN0IGNoYXIgKmhlYWRlcjsKKwl2b2lkICgqcHJpbnRfaXRlbSkoaW50IGksIGludCBzZWxlY3RlZCwgc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW0sCisJCQkgICB2b2lkICpwcmludF9pdGVtX2RhdGEpOworCXZvaWQgKnByaW50X2l0ZW1fZGF0YTsKK307CisKK3N0YXRpYyB2b2lkIGxpc3Qoc3RydWN0IGFkZF9pX3N0YXRlICpzLCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QsIGludCAqc2VsZWN0ZWQsCisJCSBzdHJ1Y3QgbGlzdF9vcHRpb25zICpvcHRzKQoreworCWludCBpLCBsYXN0X2xmID0gMDsKKworCWlmICghbGlzdC0+bnIpCisJCXJldHVybjsKKworCWlmIChvcHRzLT5oZWFkZXIpCisJCWNvbG9yX2ZwcmludGZfbG4oc3Rkb3V0LCBzLT5oZWFkZXJfY29sb3IsCisJCQkJICIlcyIsIG9wdHMtPmhlYWRlcik7CisKKwlmb3IgKGkgPSAwOyBpIDwgbGlzdC0+bnI7IGkrKykgeworCQlvcHRzLT5wcmludF9pdGVtKGksIHNlbGVjdGVkID8gc2VsZWN0ZWRbaV0gOiAwLCBsaXN0LT5pdGVtcyArIGksCisJCQkJIG9wdHMtPnByaW50X2l0ZW1fZGF0YSk7CisKKwkJaWYgKChvcHRzLT5jb2x1bW5zKSAmJiAoKGkgKyAxKSAlIChvcHRzLT5jb2x1bW5zKSkpIHsKKwkJCXB1dGNoYXIoJ1x0Jyk7CisJCQlsYXN0X2xmID0gMDsKKwkJfQorCQllbHNlIHsKKwkJCXB1dGNoYXIoJ1xuJyk7CisJCQlsYXN0X2xmID0gMTsKKwkJfQorCX0KKworCWlmICghbGFzdF9sZikKKwkJcHV0Y2hhcignXG4nKTsKK30KK3N0cnVjdCBsaXN0X2FuZF9jaG9vc2Vfb3B0aW9ucyB7CisJc3RydWN0IGxpc3Rfb3B0aW9ucyBsaXN0X29wdHM7CisKKwljb25zdCBjaGFyICpwcm9tcHQ7CisJZW51bSB7CisJCVNJTkdMRVRPTiA9ICgxPDwwKSwKKwkJSU1NRURJQVRFID0gKDE8PDEpLAorCX0gZmxhZ3M7CisJdm9pZCAoKnByaW50X2hlbHApKHN0cnVjdCBhZGRfaV9zdGF0ZSAqcyk7Cit9OworCisjZGVmaW5lIExJU1RfQU5EX0NIT09TRV9FUlJPUiAoLTEpCisjZGVmaW5lIExJU1RfQU5EX0NIT09TRV9RVUlUICAoLTIpCisKKy8qCisgKiBSZXR1cm5zIHRoZSBzZWxlY3RlZCBpbmRleCBpbiBzaW5nbGV0b24gbW9kZSwgdGhlIG51bWJlciBvZiBzZWxlY3RlZCBpdGVtcworICogb3RoZXJ3aXNlLgorICoKKyAqIElmIGFuIGVycm9yIG9jY3VycmVkLCByZXR1cm5zIGBMSVNUX0FORF9DSE9PU0VfRVJST1JgLiBVcG9uIEVPRiwKKyAqIGBMSVNUX0FORF9DSE9PU0VfUVVJVGAgaXMgcmV0dXJuZWQuCisgKi8KK3N0YXRpYyBzc2l6ZV90IGxpc3RfYW5kX2Nob29zZShzdHJ1Y3QgYWRkX2lfc3RhdGUgKnMsCisJCQkgICAgICAgc3RydWN0IHByZWZpeF9pdGVtX2xpc3QgKml0ZW1zLAorCQkJICAgICAgIHN0cnVjdCBsaXN0X2FuZF9jaG9vc2Vfb3B0aW9ucyAqb3B0cykKK3sKKwlpbnQgc2luZ2xldG9uID0gb3B0cy0+ZmxhZ3MgJiBTSU5HTEVUT047CisJaW50IGltbWVkaWF0ZSA9IG9wdHMtPmZsYWdzICYgSU1NRURJQVRFOworCisJc3RydWN0IHN0cmJ1ZiBpbnB1dCA9IFNUUkJVRl9JTklUOworCXNzaXplX3QgcmVzID0gc2luZ2xldG9uID8gTElTVF9BTkRfQ0hPT1NFX0VSUk9SIDogMDsKKworCWlmICghc2luZ2xldG9uKSB7CisJCWZyZWUoaXRlbXMtPnNlbGVjdGVkKTsKKwkJQ0FMTE9DX0FSUkFZKGl0ZW1zLT5zZWxlY3RlZCwgaXRlbXMtPml0ZW1zLm5yKTsKKwl9CisKKwlpZiAoc2luZ2xldG9uICYmICFpbW1lZGlhdGUpCisJCUJVRygic2luZ2xldG9uIHJlcXVpcmVzIGltbWVkaWF0ZSIpOworCisJZmluZF91bmlxdWVfcHJlZml4ZXMoaXRlbXMpOworCisJZm9yICg7OykgeworCQljaGFyICpwOworCisJCXN0cmJ1Zl9yZXNldCgmaW5wdXQpOworCisJCWxpc3QocywgJml0ZW1zLT5pdGVtcywgaXRlbXMtPnNlbGVjdGVkLCAmb3B0cy0+bGlzdF9vcHRzKTsKKworCQljb2xvcl9mcHJpbnRmKHN0ZG91dCwgcy0+cHJvbXB0X2NvbG9yLCAiJXMiLCBvcHRzLT5wcm9tcHQpOworCQlmcHV0cyhzaW5nbGV0b24gPyAiPiAiIDogIj4+ICIsIHN0ZG91dCk7CisJCWZmbHVzaChzdGRvdXQpOworCisJCWlmIChzdHJidWZfZ2V0bGluZSgmaW5wdXQsIHN0ZGluKSA9PSBFT0YpIHsKKwkJCXB1dGNoYXIoJ1xuJyk7CisJCQlpZiAoaW1tZWRpYXRlKQorCQkJCXJlcyA9IExJU1RfQU5EX0NIT09TRV9RVUlUOworCQkJYnJlYWs7CisJCX0KKwkJc3RyYnVmX3RyaW0oJmlucHV0KTsKKworCQlpZiAoIWlucHV0LmxlbikKKwkJCWJyZWFrOworCisJCWlmICghc3RyY21wKGlucHV0LmJ1ZiwgIj8iKSkgeworCQkJb3B0cy0+cHJpbnRfaGVscChzKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJcCA9IGlucHV0LmJ1ZjsKKwkJZm9yICg7OykgeworCQkJc2l6ZV90IHNlcCA9IHN0cmNzcG4ocCwgIiBcdFxyXG4sIik7CisJCQlpbnQgY2hvb3NlID0gMTsKKwkJCS8qIGBmcm9tYCBpcyBpbmNsdXNpdmUsIGB0b2AgaXMgZXhjbHVzaXZlICovCisJCQlzc2l6ZV90IGZyb20gPSAtMSwgdG8gPSAtMTsKKworCQkJaWYgKCFzZXApIHsKKwkJCQlpZiAoISpwKQorCQkJCQlicmVhazsKKwkJCQlwKys7CisJCQkJY29udGludWU7CisJCQl9CisKKwkJCS8qIElucHV0IHRoYXQgYmVnaW5zIHdpdGggJy0nOyBkZS1zZWxlY3QgKi8KKwkJCWlmICgqcCA9PSAnLScpIHsKKwkJCQljaG9vc2UgPSAwOworCQkJCXArKzsKKwkJCQlzZXAtLTsKKwkJCX0KKworCQkJaWYgKHNlcCA9PSAxICYmICpwID09ICcqJykgeworCQkJCWZyb20gPSAwOworCQkJCXRvID0gaXRlbXMtPml0ZW1zLm5yOworCQkJfSBlbHNlIGlmIChpc2RpZ2l0KCpwKSkgeworCQkJCWNoYXIgKmVuZHA7CisJCQkJLyoKKwkJCQkgKiBBIHJhbmdlIGNhbiBiZSBzcGVjaWZpZWQgbGlrZSA1LTcgb3IgNS0uCisJCQkJICoKKwkJCQkgKiBOb3RlOiBgZnJvbWAgaXMgMC1iYXNlZCB3aGlsZSB0aGUgdXNlciBpbnB1dAorCQkJCSAqIGlzIDEtYmFzZWQsIGhlbmNlIHdlIGhhdmUgdG8gZGVjcmVtZW50IGJ5CisJCQkJICogb25lLiBXZSBkbyBub3QgaGF2ZSB0byBkZWNyZW1lbnQgYHRvYCBldmVuCisJCQkJICogaWYgaXQgaXMgMC1iYXNlZCBiZWNhdXNlIGl0IGlzIGFuIGV4Y2x1c2l2ZQorCQkJCSAqIGJvdW5kYXJ5LgorCQkJCSAqLworCQkJCWZyb20gPSBzdHJ0b3VsKHAsICZlbmRwLCAxMCkgLSAxOworCQkJCWlmIChlbmRwID09IHAgKyBzZXApCisJCQkJCXRvID0gZnJvbSArIDE7CisJCQkJZWxzZSBpZiAoKmVuZHAgPT0gJy0nKSB7CisJCQkJCWlmIChpc2RpZ2l0KCooKytlbmRwKSkpCisJCQkJCQl0byA9IHN0cnRvdWwoZW5kcCwgJmVuZHAsIDEwKTsKKwkJCQkJZWxzZQorCQkJCQkJdG8gPSBpdGVtcy0+aXRlbXMubnI7CisJCQkJCS8qIGV4dHJhIGNoYXJhY3RlcnMgYWZ0ZXIgdGhlIHJhbmdlPyAqLworCQkJCQlpZiAoZW5kcCAhPSBwICsgc2VwKQorCQkJCQkJZnJvbSA9IC0xOworCQkJCX0KKwkJCX0KKworCQkJaWYgKHBbc2VwXSkKKwkJCQlwW3NlcCsrXSA9ICdcMCc7CisJCQlpZiAoZnJvbSA8IDApIHsKKwkJCQlmcm9tID0gZmluZF91bmlxdWUocCwgaXRlbXMpOworCQkJCWlmIChmcm9tID49IDApCisJCQkJCXRvID0gZnJvbSArIDE7CisJCQl9CisKKwkJCWlmIChmcm9tIDwgMCB8fCBmcm9tID49IGl0ZW1zLT5pdGVtcy5uciB8fAorCQkJICAgIChzaW5nbGV0b24gJiYgZnJvbSArIDEgIT0gdG8pKSB7CisJCQkJY29sb3JfZnByaW50Zl9sbihzdGRvdXQsIHMtPmVycm9yX2NvbG9yLAorCQkJCQkJIF8oIkh1aCAoJXMpPyIpLCBwKTsKKwkJCQlicmVhazsKKwkJCX0gZWxzZSBpZiAoc2luZ2xldG9uKSB7CisJCQkJcmVzID0gZnJvbTsKKwkJCQlicmVhazsKKwkJCX0KKworCQkJaWYgKHRvID4gaXRlbXMtPml0ZW1zLm5yKQorCQkJCXRvID0gaXRlbXMtPml0ZW1zLm5yOworCisJCQlmb3IgKDsgZnJvbSA8IHRvOyBmcm9tKyspCisJCQkJaWYgKGl0ZW1zLT5zZWxlY3RlZFtmcm9tXSAhPSBjaG9vc2UpIHsKKwkJCQkJaXRlbXMtPnNlbGVjdGVkW2Zyb21dID0gY2hvb3NlOworCQkJCQlyZXMgKz0gY2hvb3NlID8gKzEgOiAtMTsKKwkJCQl9CisKKwkJCXAgKz0gc2VwOworCQl9CisKKwkJaWYgKChpbW1lZGlhdGUgJiYgcmVzICE9IExJU1RfQU5EX0NIT09TRV9FUlJPUikgfHwKKwkJICAgICFzdHJjbXAoaW5wdXQuYnVmLCAiKiIpKQorCQkJYnJlYWs7CisJfQorCisJc3RyYnVmX3JlbGVhc2UoJmlucHV0KTsKKwlyZXR1cm4gcmVzOworfQorCitzdHJ1Y3QgYWRkZGVsIHsKKwl1aW50bWF4X3QgYWRkLCBkZWw7CisJdW5zaWduZWQgc2VlbjoxLCB1bm1lcmdlZDoxLCBiaW5hcnk6MTsKK307CisKK3N0cnVjdCBmaWxlX2l0ZW0geworCXNpemVfdCBwcmVmaXhfbGVuZ3RoOworCXN0cnVjdCBhZGRkZWwgaW5kZXgsIHdvcmt0cmVlOworfTsKKworc3RhdGljIHZvaWQgYWRkX2ZpbGVfaXRlbShzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmZpbGVzLCBjb25zdCBjaGFyICpuYW1lKQoreworCXN0cnVjdCBmaWxlX2l0ZW0gKml0ZW0gPSB4Y2FsbG9jKHNpemVvZigqaXRlbSksIDEpOworCisJc3RyaW5nX2xpc3RfYXBwZW5kKGZpbGVzLCBuYW1lKS0+dXRpbCA9IGl0ZW07Cit9CisKK3N0cnVjdCBwYXRobmFtZV9lbnRyeSB7CisJc3RydWN0IGhhc2htYXBfZW50cnkgZW50OworCWNvbnN0IGNoYXIgKm5hbWU7CisJc3RydWN0IGZpbGVfaXRlbSAqaXRlbTsKK307CisKK3N0YXRpYyBpbnQgcGF0aG5hbWVfZW50cnlfY21wKGNvbnN0IHZvaWQgKnVudXNlZF9jbXBfZGF0YSwKKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICpoZTEsCisJCQkgICAgICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqaGUyLAorCQkJICAgICAgY29uc3Qgdm9pZCAqbmFtZSkKK3sKKwljb25zdCBzdHJ1Y3QgcGF0aG5hbWVfZW50cnkgKmUxID0KKwkJY29udGFpbmVyX29mKGhlMSwgY29uc3Qgc3RydWN0IHBhdGhuYW1lX2VudHJ5LCBlbnQpOworCWNvbnN0IHN0cnVjdCBwYXRobmFtZV9lbnRyeSAqZTIgPQorCQljb250YWluZXJfb2YoaGUyLCBjb25zdCBzdHJ1Y3QgcGF0aG5hbWVfZW50cnksIGVudCk7CisKKwlyZXR1cm4gc3RyY21wKGUxLT5uYW1lLCBuYW1lID8gKGNvbnN0IGNoYXIgKiluYW1lIDogZTItPm5hbWUpOworfQorCitzdHJ1Y3QgY29sbGVjdGlvbl9zdGF0dXMgeworCWVudW0geyBGUk9NX1dPUktUUkVFID0gMCwgRlJPTV9JTkRFWCA9IDEgfSBtb2RlOworCisJY29uc3QgY2hhciAqcmVmZXJlbmNlOworCisJdW5zaWduZWQgc2tpcF91bnNlZW46MTsKKwlzaXplX3QgdW5tZXJnZWRfY291bnQsIGJpbmFyeV9jb3VudDsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmZpbGVzOworCXN0cnVjdCBoYXNobWFwIGZpbGVfbWFwOworfTsKKworc3RhdGljIHZvaWQgY29sbGVjdF9jaGFuZ2VzX2NiKHN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCAqcSwKKwkJCSAgICAgICBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zLAorCQkJICAgICAgIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGNvbGxlY3Rpb25fc3RhdHVzICpzID0gZGF0YTsKKwlzdHJ1Y3QgZGlmZnN0YXRfdCBzdGF0ID0geyAwIH07CisJaW50IGk7CisKKwlpZiAoIXEtPm5yKQorCQlyZXR1cm47CisKKwljb21wdXRlX2RpZmZzdGF0KG9wdGlvbnMsICZzdGF0LCBxKTsKKworCWZvciAoaSA9IDA7IGkgPCBzdGF0Lm5yOyBpKyspIHsKKwkJY29uc3QgY2hhciAqbmFtZSA9IHN0YXQuZmlsZXNbaV0tPm5hbWU7CisJCWludCBoYXNoID0gc3RyaGFzaChuYW1lKTsKKwkJc3RydWN0IHBhdGhuYW1lX2VudHJ5ICplbnRyeTsKKwkJc3RydWN0IGZpbGVfaXRlbSAqZmlsZV9pdGVtOworCQlzdHJ1Y3QgYWRkZGVsICphZGRkZWwsICpvdGhlcl9hZGRkZWw7CisKKwkJZW50cnkgPSBoYXNobWFwX2dldF9lbnRyeV9mcm9tX2hhc2goJnMtPmZpbGVfbWFwLCBoYXNoLCBuYW1lLAorCQkJCQkJICAgIHN0cnVjdCBwYXRobmFtZV9lbnRyeSwgZW50KTsKKwkJaWYgKCFlbnRyeSkgeworCQkJaWYgKHMtPnNraXBfdW5zZWVuKQorCQkJCWNvbnRpbnVlOworCisJCQlhZGRfZmlsZV9pdGVtKHMtPmZpbGVzLCBuYW1lKTsKKworCQkJZW50cnkgPSB4Y2FsbG9jKHNpemVvZigqZW50cnkpLCAxKTsKKwkJCWhhc2htYXBfZW50cnlfaW5pdCgmZW50cnktPmVudCwgaGFzaCk7CisJCQllbnRyeS0+bmFtZSA9IHMtPmZpbGVzLT5pdGVtc1tzLT5maWxlcy0+bnIgLSAxXS5zdHJpbmc7CisJCQllbnRyeS0+aXRlbSA9IHMtPmZpbGVzLT5pdGVtc1tzLT5maWxlcy0+bnIgLSAxXS51dGlsOworCQkJaGFzaG1hcF9hZGQoJnMtPmZpbGVfbWFwLCAmZW50cnktPmVudCk7CisJCX0KKworCQlmaWxlX2l0ZW0gPSBlbnRyeS0+aXRlbTsKKwkJYWRkZGVsID0gcy0+bW9kZSA9PSBGUk9NX0lOREVYID8KKwkJCSZmaWxlX2l0ZW0tPmluZGV4IDogJmZpbGVfaXRlbS0+d29ya3RyZWU7CisJCW90aGVyX2FkZGRlbCA9IHMtPm1vZGUgPT0gRlJPTV9JTkRFWCA/CisJCQkmZmlsZV9pdGVtLT53b3JrdHJlZSA6ICZmaWxlX2l0ZW0tPmluZGV4OworCQlhZGRkZWwtPnNlZW4gPSAxOworCQlhZGRkZWwtPmFkZCA9IHN0YXQuZmlsZXNbaV0tPmFkZGVkOworCQlhZGRkZWwtPmRlbCA9IHN0YXQuZmlsZXNbaV0tPmRlbGV0ZWQ7CisJCWlmIChzdGF0LmZpbGVzW2ldLT5pc19iaW5hcnkpIHsKKwkJCWlmICghb3RoZXJfYWRkZGVsLT5iaW5hcnkpCisJCQkJcy0+YmluYXJ5X2NvdW50Kys7CisJCQlhZGRkZWwtPmJpbmFyeSA9IDE7CisJCX0KKwkJaWYgKHN0YXQuZmlsZXNbaV0tPmlzX3VubWVyZ2VkKSB7CisJCQlpZiAoIW90aGVyX2FkZGRlbC0+dW5tZXJnZWQpCisJCQkJcy0+dW5tZXJnZWRfY291bnQrKzsKKwkJCWFkZGRlbC0+dW5tZXJnZWQgPSAxOworCQl9CisJfQorCWZyZWVfZGlmZnN0YXRfaW5mbygmc3RhdCk7Cit9CisKK2VudW0gbW9kaWZpZWRfZmlsZXNfZmlsdGVyIHsKKwlOT19GSUxURVIgPSAwLAorCVdPUktUUkVFX09OTFkgPSAxLAorCUlOREVYX09OTFkgPSAyLAorfTsKKworc3RhdGljIGludCBnZXRfbW9kaWZpZWRfZmlsZXMoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgICAgICBlbnVtIG1vZGlmaWVkX2ZpbGVzX2ZpbHRlciBmaWx0ZXIsCisJCQkgICAgICBzdHJ1Y3QgcHJlZml4X2l0ZW1fbGlzdCAqZmlsZXMsCisJCQkgICAgICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBzLAorCQkJICAgICAgc2l6ZV90ICp1bm1lcmdlZF9jb3VudCwKKwkJCSAgICAgIHNpemVfdCAqYmluYXJ5X2NvdW50KQoreworCXN0cnVjdCBvYmplY3RfaWQgaGVhZF9vaWQ7CisJaW50IGlzX2luaXRpYWwgPSAhcmVzb2x2ZV9yZWZfdW5zYWZlKCJIRUFEIiwgUkVTT0xWRV9SRUZfUkVBRElORywKKwkJCQkJICAgICAmaGVhZF9vaWQsIE5VTEwpOworCXN0cnVjdCBjb2xsZWN0aW9uX3N0YXR1cyBzID0geyAwIH07CisJaW50IGk7CisKKwlpZiAoZGlzY2FyZF9pbmRleChyLT5pbmRleCkgPCAwIHx8CisJICAgIHJlcG9fcmVhZF9pbmRleF9wcmVsb2FkKHIsIHBzLCAwKSA8IDApCisJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgcmVhZCBpbmRleCIpKTsKKworCXByZWZpeF9pdGVtX2xpc3RfY2xlYXIoZmlsZXMpOworCXMuZmlsZXMgPSAmZmlsZXMtPml0ZW1zOworCWhhc2htYXBfaW5pdCgmcy5maWxlX21hcCwgcGF0aG5hbWVfZW50cnlfY21wLCBOVUxMLCAwKTsKKworCWZvciAoaSA9IDA7IGkgPCAyOyBpKyspIHsKKwkJc3RydWN0IHJldl9pbmZvIHJldjsKKwkJc3RydWN0IHNldHVwX3JldmlzaW9uX29wdCBvcHQgPSB7IDAgfTsKKworCQlpZiAoZmlsdGVyID09IElOREVYX09OTFkpCisJCQlzLm1vZGUgPSAoaSA9PSAwKSA/IEZST01fSU5ERVggOiBGUk9NX1dPUktUUkVFOworCQllbHNlCisJCQlzLm1vZGUgPSAoaSA9PSAwKSA/IEZST01fV09SS1RSRUUgOiBGUk9NX0lOREVYOworCQlzLnNraXBfdW5zZWVuID0gZmlsdGVyICYmIGk7CisKKwkJb3B0LmRlZiA9IGlzX2luaXRpYWwgPworCQkJZW1wdHlfdHJlZV9vaWRfaGV4KCkgOiBvaWRfdG9faGV4KCZoZWFkX29pZCk7CisKKwkJaW5pdF9yZXZpc2lvbnMoJnJldiwgTlVMTCk7CisJCXNldHVwX3JldmlzaW9ucygwLCBOVUxMLCAmcmV2LCAmb3B0KTsKKworCQlyZXYuZGlmZm9wdC5vdXRwdXRfZm9ybWF0ID0gRElGRl9GT1JNQVRfQ0FMTEJBQ0s7CisJCXJldi5kaWZmb3B0LmZvcm1hdF9jYWxsYmFjayA9IGNvbGxlY3RfY2hhbmdlc19jYjsKKwkJcmV2LmRpZmZvcHQuZm9ybWF0X2NhbGxiYWNrX2RhdGEgPSAmczsKKworCQlpZiAocHMpCisJCQljb3B5X3BhdGhzcGVjKCZyZXYucHJ1bmVfZGF0YSwgcHMpOworCisJCWlmIChzLm1vZGUgPT0gRlJPTV9JTkRFWCkKKwkJCXJ1bl9kaWZmX2luZGV4KCZyZXYsIDEpOworCQllbHNlIHsKKwkJCXJldi5kaWZmb3B0LmZsYWdzLmlnbm9yZV9kaXJ0eV9zdWJtb2R1bGVzID0gMTsKKwkJCXJ1bl9kaWZmX2ZpbGVzKCZyZXYsIDApOworCQl9CisKKwkJaWYgKHBzKQorCQkJY2xlYXJfcGF0aHNwZWMoJnJldi5wcnVuZV9kYXRhKTsKKwl9CisJaGFzaG1hcF9mcmVlX2VudHJpZXMoJnMuZmlsZV9tYXAsIHN0cnVjdCBwYXRobmFtZV9lbnRyeSwgZW50KTsKKwlpZiAodW5tZXJnZWRfY291bnQpCisJCSp1bm1lcmdlZF9jb3VudCA9IHMudW5tZXJnZWRfY291bnQ7CisJaWYgKGJpbmFyeV9jb3VudCkKKwkJKmJpbmFyeV9jb3VudCA9IHMuYmluYXJ5X2NvdW50OworCisJLyogV2hpbGUgdGhlIGRpZmZzIGFyZSBvcmRlcmVkIGFscmVhZHksIHdlIHJhbiAqdHdvKiBkaWZmcy4uLiAqLworCXN0cmluZ19saXN0X3NvcnQoJmZpbGVzLT5pdGVtcyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgcmVuZGVyX2FkZGRlbChzdHJ1Y3Qgc3RyYnVmICpidWYsCisJCQkJc3RydWN0IGFkZGRlbCAqYWQsIGNvbnN0IGNoYXIgKm5vX2NoYW5nZXMpCit7CisJaWYgKGFkLT5iaW5hcnkpCisJCXN0cmJ1Zl9hZGRzdHIoYnVmLCBfKCJiaW5hcnkiKSk7CisJZWxzZSBpZiAoYWQtPnNlZW4pCisJCXN0cmJ1Zl9hZGRmKGJ1ZiwgIislIlBSSXVNQVgiLy0lIlBSSXVNQVgsCisJCQkgICAgKHVpbnRtYXhfdClhZC0+YWRkLCAodWludG1heF90KWFkLT5kZWwpOworCWVsc2UKKwkJc3RyYnVmX2FkZHN0cihidWYsIG5vX2NoYW5nZXMpOworfQorCisvKiBmaWx0ZXJzIG91dCBwcmVmaXhlcyB3aGljaCBoYXZlIHNwZWNpYWwgbWVhbmluZyB0byBsaXN0X2FuZF9jaG9vc2UoKSAqLworc3RhdGljIGludCBpc192YWxpZF9wcmVmaXgoY29uc3QgY2hhciAqcHJlZml4LCBzaXplX3QgcHJlZml4X2xlbikKK3sKKwlyZXR1cm4gcHJlZml4X2xlbiAmJiBwcmVmaXggJiYKKwkJLyoKKwkJICogV2UgZXhwZWN0IGBwcmVmaXhgIHRvIGJlIE5VTCB0ZXJtaW5hdGVkLCB0aGVyZWZvcmUgdGhpcworCQkgKiBgc3RyY3NwbigpYCBjYWxsIGlzIG9rYXksIGV2ZW4gaWYgaXQgbWlnaHQgZG8gbXVjaCBtb3JlCisJCSAqIHdvcmsgdGhhbiBzdHJpY3RseSBuZWNlc3NhcnkuCisJCSAqLworCQlzdHJjc3BuKHByZWZpeCwgIiBcdFxyXG4sIikgPj0gcHJlZml4X2xlbiAmJgkvKiBzZXBhcmF0b3JzICovCisJCSpwcmVmaXggIT0gJy0nICYmCQkJCS8qIGRlc2VsZWN0aW9uICovCisJCSFpc2RpZ2l0KCpwcmVmaXgpICYmCQkJCS8qIHNlbGVjdGlvbiAqLworCQkocHJlZml4X2xlbiAhPSAxIHx8CisJCSAoKnByZWZpeCAhPSAnKicgJiYJCQkJLyogImFsbCIgd2lsZGNhcmQgKi8KKwkJICAqcHJlZml4ICE9ICc/JykpOwkJCQkvKiBwcm9tcHQgaGVscCAqLworfQorCitzdHJ1Y3QgcHJpbnRfZmlsZV9pdGVtX2RhdGEgeworCWNvbnN0IGNoYXIgKm1vZGlmaWVkX2ZtdCwgKmNvbG9yLCAqcmVzZXQ7CisJc3RydWN0IHN0cmJ1ZiBidWYsIG5hbWUsIGluZGV4LCB3b3JrdHJlZTsKKwl1bnNpZ25lZCBvbmx5X25hbWVzOjE7Cit9OworCitzdGF0aWMgdm9pZCBwcmludF9maWxlX2l0ZW0oaW50IGksIGludCBzZWxlY3RlZCwgc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW0sCisJCQkgICAgdm9pZCAqcHJpbnRfZmlsZV9pdGVtX2RhdGEpCit7CisJc3RydWN0IGZpbGVfaXRlbSAqYyA9IGl0ZW0tPnV0aWw7CisJc3RydWN0IHByaW50X2ZpbGVfaXRlbV9kYXRhICpkID0gcHJpbnRfZmlsZV9pdGVtX2RhdGE7CisJY29uc3QgY2hhciAqaGlnaGxpZ2h0ZWQgPSBOVUxMOworCisJc3RyYnVmX3Jlc2V0KCZkLT5pbmRleCk7CisJc3RyYnVmX3Jlc2V0KCZkLT53b3JrdHJlZSk7CisJc3RyYnVmX3Jlc2V0KCZkLT5idWYpOworCisJLyogRm9ybWF0IHRoZSBpdGVtIHdpdGggdGhlIHByZWZpeCBoaWdobGlnaHRlZC4gKi8KKwlpZiAoYy0+cHJlZml4X2xlbmd0aCA+IDAgJiYKKwkgICAgaXNfdmFsaWRfcHJlZml4KGl0ZW0tPnN0cmluZywgYy0+cHJlZml4X2xlbmd0aCkpIHsKKwkJc3RyYnVmX3Jlc2V0KCZkLT5uYW1lKTsKKwkJc3RyYnVmX2FkZGYoJmQtPm5hbWUsICIlcyUuKnMlcyVzIiwgZC0+Y29sb3IsCisJCQkgICAgKGludCljLT5wcmVmaXhfbGVuZ3RoLCBpdGVtLT5zdHJpbmcsIGQtPnJlc2V0LAorCQkJICAgIGl0ZW0tPnN0cmluZyArIGMtPnByZWZpeF9sZW5ndGgpOworCQloaWdobGlnaHRlZCA9IGQtPm5hbWUuYnVmOworCX0KKworCWlmIChkLT5vbmx5X25hbWVzKSB7CisJCXByaW50ZigiJWMlMmQ6ICVzIiwgc2VsZWN0ZWQgPyAnKicgOiAnICcsIGkgKyAxLAorCQkgICAgICAgaGlnaGxpZ2h0ZWQgPyBoaWdobGlnaHRlZCA6IGl0ZW0tPnN0cmluZyk7CisJCXJldHVybjsKKwl9CisKKwlyZW5kZXJfYWRkZGVsKCZkLT53b3JrdHJlZSwgJmMtPndvcmt0cmVlLCBfKCJub3RoaW5nIikpOworCXJlbmRlcl9hZGRkZWwoJmQtPmluZGV4LCAmYy0+aW5kZXgsIF8oInVuY2hhbmdlZCIpKTsKKworCXN0cmJ1Zl9hZGRmKCZkLT5idWYsIGQtPm1vZGlmaWVkX2ZtdCwgZC0+aW5kZXguYnVmLCBkLT53b3JrdHJlZS5idWYsCisJCSAgICBoaWdobGlnaHRlZCA/IGhpZ2hsaWdodGVkIDogaXRlbS0+c3RyaW5nKTsKKworCXByaW50ZigiJWMlMmQ6ICVzIiwgc2VsZWN0ZWQgPyAnKicgOiAnICcsIGkgKyAxLCBkLT5idWYuYnVmKTsKK30KKworc3RhdGljIGludCBydW5fc3RhdHVzKHN0cnVjdCBhZGRfaV9zdGF0ZSAqcywgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwcywKKwkJICAgICAgc3RydWN0IHByZWZpeF9pdGVtX2xpc3QgKmZpbGVzLAorCQkgICAgICBzdHJ1Y3QgbGlzdF9hbmRfY2hvb3NlX29wdGlvbnMgKm9wdHMpCit7CisJaWYgKGdldF9tb2RpZmllZF9maWxlcyhzLT5yLCBOT19GSUxURVIsIGZpbGVzLCBwcywgTlVMTCwgTlVMTCkgPCAwKQorCQlyZXR1cm4gLTE7CisKKwlsaXN0KHMsICZmaWxlcy0+aXRlbXMsIE5VTEwsICZvcHRzLT5saXN0X29wdHMpOworCXB1dGNoYXIoJ1xuJyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBydW5fdXBkYXRlKHN0cnVjdCBhZGRfaV9zdGF0ZSAqcywgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwcywKKwkJICAgICAgc3RydWN0IHByZWZpeF9pdGVtX2xpc3QgKmZpbGVzLAorCQkgICAgICBzdHJ1Y3QgbGlzdF9hbmRfY2hvb3NlX29wdGlvbnMgKm9wdHMpCit7CisJaW50IHJlcyA9IDAsIGZkOworCXNpemVfdCBjb3VudCwgaTsKKwlzdHJ1Y3QgbG9ja19maWxlIGluZGV4X2xvY2s7CisKKwlpZiAoZ2V0X21vZGlmaWVkX2ZpbGVzKHMtPnIsIFdPUktUUkVFX09OTFksIGZpbGVzLCBwcywgTlVMTCwgTlVMTCkgPCAwKQorCQlyZXR1cm4gLTE7CisKKwlpZiAoIWZpbGVzLT5pdGVtcy5ucikgeworCQlwdXRjaGFyKCdcbicpOworCQlyZXR1cm4gMDsKKwl9CisKKwlvcHRzLT5wcm9tcHQgPSBOXygiVXBkYXRlIik7CisJY291bnQgPSBsaXN0X2FuZF9jaG9vc2UocywgZmlsZXMsIG9wdHMpOworCWlmIChjb3VudCA8PSAwKSB7CisJCXB1dGNoYXIoJ1xuJyk7CisJCXJldHVybiAwOworCX0KKworCWZkID0gcmVwb19ob2xkX2xvY2tlZF9pbmRleChzLT5yLCAmaW5kZXhfbG9jaywgTE9DS19SRVBPUlRfT05fRVJST1IpOworCWlmIChmZCA8IDApIHsKKwkJcHV0Y2hhcignXG4nKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBmaWxlcy0+aXRlbXMubnI7IGkrKykgeworCQljb25zdCBjaGFyICpuYW1lID0gZmlsZXMtPml0ZW1zLml0ZW1zW2ldLnN0cmluZzsKKwkJaWYgKGZpbGVzLT5zZWxlY3RlZFtpXSAmJgorCQkgICAgYWRkX2ZpbGVfdG9faW5kZXgocy0+ci0+aW5kZXgsIG5hbWUsIDApIDwgMCkgeworCQkJcmVzID0gZXJyb3IoXygiY291bGQgbm90IHN0YWdlICclcyciKSwgbmFtZSk7CisJCQlicmVhazsKKwkJfQorCX0KKworCWlmICghcmVzICYmIHdyaXRlX2xvY2tlZF9pbmRleChzLT5yLT5pbmRleCwgJmluZGV4X2xvY2ssIENPTU1JVF9MT0NLKSA8IDApCisJCXJlcyA9IGVycm9yKF8oImNvdWxkIG5vdCB3cml0ZSBpbmRleCIpKTsKKworCWlmICghcmVzKQorCQlwcmludGYoUV8oInVwZGF0ZWQgJWQgcGF0aFxuIiwKKwkJCSAgInVwZGF0ZWQgJWQgcGF0aHNcbiIsIGNvdW50KSwgKGludCljb3VudCk7CisKKwlwdXRjaGFyKCdcbicpOworCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyB2b2lkIHJldmVydF9mcm9tX2RpZmYoc3RydWN0IGRpZmZfcXVldWVfc3RydWN0ICpxLAorCQkJICAgICBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQsIHZvaWQgKmRhdGEpCit7CisJaW50IGksIGFkZF9mbGFncyA9IEFERF9DQUNIRV9PS19UT19BREQgfCBBRERfQ0FDSEVfT0tfVE9fUkVQTEFDRTsKKworCWZvciAoaSA9IDA7IGkgPCBxLT5ucjsgaSsrKSB7CisJCXN0cnVjdCBkaWZmX2ZpbGVzcGVjICpvbmUgPSBxLT5xdWV1ZVtpXS0+b25lOworCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlOworCisJCWlmICghKG9uZS0+bW9kZSAmJiAhaXNfbnVsbF9vaWQoJm9uZS0+b2lkKSkpIHsKKwkJCXJlbW92ZV9maWxlX2Zyb21faW5kZXgob3B0LT5yZXBvLT5pbmRleCwgb25lLT5wYXRoKTsKKwkJCXByaW50ZihfKCJub3RlOiAlcyBpcyB1bnRyYWNrZWQgbm93LlxuIiksIG9uZS0+cGF0aCk7CisJCX0gZWxzZSB7CisJCQljZSA9IG1ha2VfY2FjaGVfZW50cnkob3B0LT5yZXBvLT5pbmRleCwgb25lLT5tb2RlLAorCQkJCQkgICAgICAmb25lLT5vaWQsIG9uZS0+cGF0aCwgMCwgMCk7CisJCQlpZiAoIWNlKQorCQkJCWRpZShfKCJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIiksCisJCQkJICAgIG9uZS0+cGF0aCk7CisJCQlhZGRfaW5kZXhfZW50cnkob3B0LT5yZXBvLT5pbmRleCwgY2UsIGFkZF9mbGFncyk7CisJCX0KKwl9Cit9CisKK3N0YXRpYyBpbnQgcnVuX3JldmVydChzdHJ1Y3QgYWRkX2lfc3RhdGUgKnMsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcHMsCisJCSAgICAgIHN0cnVjdCBwcmVmaXhfaXRlbV9saXN0ICpmaWxlcywKKwkJICAgICAgc3RydWN0IGxpc3RfYW5kX2Nob29zZV9vcHRpb25zICpvcHRzKQoreworCWludCByZXMgPSAwLCBmZDsKKwlzaXplX3QgY291bnQsIGksIGo7CisKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwlpbnQgaXNfaW5pdGlhbCA9ICFyZXNvbHZlX3JlZl91bnNhZmUoIkhFQUQiLCBSRVNPTFZFX1JFRl9SRUFESU5HLCAmb2lkLAorCQkJCQkgICAgIE5VTEwpOworCXN0cnVjdCBsb2NrX2ZpbGUgaW5kZXhfbG9jazsKKwljb25zdCBjaGFyICoqcGF0aHM7CisJc3RydWN0IHRyZWUgKnRyZWU7CisJc3RydWN0IGRpZmZfb3B0aW9ucyBkaWZmb3B0ID0geyBOVUxMIH07CisKKwlpZiAoZ2V0X21vZGlmaWVkX2ZpbGVzKHMtPnIsIElOREVYX09OTFksIGZpbGVzLCBwcywgTlVMTCwgTlVMTCkgPCAwKQorCQlyZXR1cm4gLTE7CisKKwlpZiAoIWZpbGVzLT5pdGVtcy5ucikgeworCQlwdXRjaGFyKCdcbicpOworCQlyZXR1cm4gMDsKKwl9CisKKwlvcHRzLT5wcm9tcHQgPSBOXygiUmV2ZXJ0Iik7CisJY291bnQgPSBsaXN0X2FuZF9jaG9vc2UocywgZmlsZXMsIG9wdHMpOworCWlmIChjb3VudCA8PSAwKQorCQlnb3RvIGZpbmlzaF9yZXZlcnQ7CisKKwlmZCA9IHJlcG9faG9sZF9sb2NrZWRfaW5kZXgocy0+ciwgJmluZGV4X2xvY2ssIExPQ0tfUkVQT1JUX09OX0VSUk9SKTsKKwlpZiAoZmQgPCAwKSB7CisJCXJlcyA9IC0xOworCQlnb3RvIGZpbmlzaF9yZXZlcnQ7CisJfQorCisJaWYgKGlzX2luaXRpYWwpCisJCW9pZGNweSgmb2lkLCBzLT5yLT5oYXNoX2FsZ28tPmVtcHR5X3RyZWUpOworCWVsc2UgeworCQl0cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdCgmb2lkKTsKKwkJaWYgKCF0cmVlKSB7CisJCQlyZXMgPSBlcnJvcihfKCJDb3VsZCBub3QgcGFyc2UgSEVBRF57dHJlZX0iKSk7CisJCQlnb3RvIGZpbmlzaF9yZXZlcnQ7CisJCX0KKwkJb2lkY3B5KCZvaWQsICZ0cmVlLT5vYmplY3Qub2lkKTsKKwl9CisKKwlBTExPQ19BUlJBWShwYXRocywgY291bnQgKyAxKTsKKwlmb3IgKGkgPSBqID0gMDsgaSA8IGZpbGVzLT5pdGVtcy5ucjsgaSsrKQorCQlpZiAoZmlsZXMtPnNlbGVjdGVkW2ldKQorCQkJcGF0aHNbaisrXSA9IGZpbGVzLT5pdGVtcy5pdGVtc1tpXS5zdHJpbmc7CisJcGF0aHNbal0gPSBOVUxMOworCisJcGFyc2VfcGF0aHNwZWMoJmRpZmZvcHQucGF0aHNwZWMsIDAsCisJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfRlVMTCB8IFBBVEhTUEVDX0xJVEVSQUxfUEFUSCwKKwkJICAgICAgIE5VTEwsIHBhdGhzKTsKKworCWRpZmZvcHQub3V0cHV0X2Zvcm1hdCA9IERJRkZfRk9STUFUX0NBTExCQUNLOworCWRpZmZvcHQuZm9ybWF0X2NhbGxiYWNrID0gcmV2ZXJ0X2Zyb21fZGlmZjsKKwlkaWZmb3B0LmZsYWdzLm92ZXJyaWRlX3N1Ym1vZHVsZV9jb25maWcgPSAxOworCWRpZmZvcHQucmVwbyA9IHMtPnI7CisKKwlpZiAoZG9fZGlmZl9jYWNoZSgmb2lkLCAmZGlmZm9wdCkpCisJCXJlcyA9IC0xOworCWVsc2UgeworCQlkaWZmY29yZV9zdGQoJmRpZmZvcHQpOworCQlkaWZmX2ZsdXNoKCZkaWZmb3B0KTsKKwl9CisJZnJlZShwYXRocyk7CisJY2xlYXJfcGF0aHNwZWMoJmRpZmZvcHQucGF0aHNwZWMpOworCisJaWYgKCFyZXMgJiYgd3JpdGVfbG9ja2VkX2luZGV4KHMtPnItPmluZGV4LCAmaW5kZXhfbG9jaywKKwkJCQkgICAgICAgQ09NTUlUX0xPQ0spIDwgMCkKKwkJcmVzID0gLTE7CisJZWxzZQorCQlyZXMgPSByZXBvX3JlZnJlc2hfYW5kX3dyaXRlX2luZGV4KHMtPnIsIFJFRlJFU0hfUVVJRVQsIDAsIDEsCisJCQkJCQkgICBOVUxMLCBOVUxMLCBOVUxMKTsKKworCWlmICghcmVzKQorCQlwcmludGYoUV8oInJldmVydGVkICVkIHBhdGhcbiIsCisJCQkgICJyZXZlcnRlZCAlZCBwYXRoc1xuIiwgY291bnQpLCAoaW50KWNvdW50KTsKKworZmluaXNoX3JldmVydDoKKwlwdXRjaGFyKCdcbicpOworCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X3VudHJhY2tlZF9maWxlcyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCSAgICAgICBzdHJ1Y3QgcHJlZml4X2l0ZW1fbGlzdCAqZmlsZXMsCisJCQkgICAgICAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwcykKK3sKKwlzdHJ1Y3QgZGlyX3N0cnVjdCBkaXIgPSB7IDAgfTsKKwlzaXplX3QgaTsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCisJaWYgKHJlcG9fcmVhZF9pbmRleChyKSA8IDApCisJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgcmVhZCBpbmRleCIpKTsKKworCXByZWZpeF9pdGVtX2xpc3RfY2xlYXIoZmlsZXMpOworCXNldHVwX3N0YW5kYXJkX2V4Y2x1ZGVzKCZkaXIpOworCWFkZF9wYXR0ZXJuX2xpc3QoJmRpciwgRVhDX0NNREwsICItLWV4Y2x1ZGUgb3B0aW9uIik7CisJZmlsbF9kaXJlY3RvcnkoJmRpciwgci0+aW5kZXgsIHBzKTsKKworCWZvciAoaSA9IDA7IGkgPCBkaXIubnI7IGkrKykgeworCQlzdHJ1Y3QgZGlyX2VudHJ5ICplbnQgPSBkaXIuZW50cmllc1tpXTsKKworCQlpZiAoaW5kZXhfbmFtZV9pc19vdGhlcihyLT5pbmRleCwgZW50LT5uYW1lLCBlbnQtPmxlbikpIHsKKwkJCXN0cmJ1Zl9yZXNldCgmYnVmKTsKKwkJCXN0cmJ1Zl9hZGQoJmJ1ZiwgZW50LT5uYW1lLCBlbnQtPmxlbik7CisJCQlhZGRfZmlsZV9pdGVtKCZmaWxlcy0+aXRlbXMsIGJ1Zi5idWYpOworCQl9CisJfQorCisJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcnVuX2FkZF91bnRyYWNrZWQoc3RydWN0IGFkZF9pX3N0YXRlICpzLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBzLAorCQkgICAgICBzdHJ1Y3QgcHJlZml4X2l0ZW1fbGlzdCAqZmlsZXMsCisJCSAgICAgIHN0cnVjdCBsaXN0X2FuZF9jaG9vc2Vfb3B0aW9ucyAqb3B0cykKK3sKKwlzdHJ1Y3QgcHJpbnRfZmlsZV9pdGVtX2RhdGEgKmQgPSBvcHRzLT5saXN0X29wdHMucHJpbnRfaXRlbV9kYXRhOworCWludCByZXMgPSAwLCBmZDsKKwlzaXplX3QgY291bnQsIGk7CisJc3RydWN0IGxvY2tfZmlsZSBpbmRleF9sb2NrOworCisJaWYgKGdldF91bnRyYWNrZWRfZmlsZXMocy0+ciwgZmlsZXMsIHBzKSA8IDApCisJCXJldHVybiAtMTsKKworCWlmICghZmlsZXMtPml0ZW1zLm5yKSB7CisJCXByaW50ZihfKCJObyB1bnRyYWNrZWQgZmlsZXMuXG4iKSk7CisJCWdvdG8gZmluaXNoX2FkZF91bnRyYWNrZWQ7CisJfQorCisJb3B0cy0+cHJvbXB0ID0gTl8oIkFkZCB1bnRyYWNrZWQiKTsKKwlkLT5vbmx5X25hbWVzID0gMTsKKwljb3VudCA9IGxpc3RfYW5kX2Nob29zZShzLCBmaWxlcywgb3B0cyk7CisJZC0+b25seV9uYW1lcyA9IDA7CisJaWYgKGNvdW50IDw9IDApCisJCWdvdG8gZmluaXNoX2FkZF91bnRyYWNrZWQ7CisKKwlmZCA9IHJlcG9faG9sZF9sb2NrZWRfaW5kZXgocy0+ciwgJmluZGV4X2xvY2ssIExPQ0tfUkVQT1JUX09OX0VSUk9SKTsKKwlpZiAoZmQgPCAwKSB7CisJCXJlcyA9IC0xOworCQlnb3RvIGZpbmlzaF9hZGRfdW50cmFja2VkOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBmaWxlcy0+aXRlbXMubnI7IGkrKykgeworCQljb25zdCBjaGFyICpuYW1lID0gZmlsZXMtPml0ZW1zLml0ZW1zW2ldLnN0cmluZzsKKwkJaWYgKGZpbGVzLT5zZWxlY3RlZFtpXSAmJgorCQkgICAgYWRkX2ZpbGVfdG9faW5kZXgocy0+ci0+aW5kZXgsIG5hbWUsIDApIDwgMCkgeworCQkJcmVzID0gZXJyb3IoXygiY291bGQgbm90IHN0YWdlICclcyciKSwgbmFtZSk7CisJCQlicmVhazsKKwkJfQorCX0KKworCWlmICghcmVzICYmCisJICAgIHdyaXRlX2xvY2tlZF9pbmRleChzLT5yLT5pbmRleCwgJmluZGV4X2xvY2ssIENPTU1JVF9MT0NLKSA8IDApCisJCXJlcyA9IGVycm9yKF8oImNvdWxkIG5vdCB3cml0ZSBpbmRleCIpKTsKKworCWlmICghcmVzKQorCQlwcmludGYoUV8oImFkZGVkICVkIHBhdGhcbiIsCisJCQkgICJhZGRlZCAlZCBwYXRoc1xuIiwgY291bnQpLCAoaW50KWNvdW50KTsKKworZmluaXNoX2FkZF91bnRyYWNrZWQ6CisJcHV0Y2hhcignXG4nKTsKKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMgaW50IHJ1bl9wYXRjaChzdHJ1Y3QgYWRkX2lfc3RhdGUgKnMsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcHMsCisJCSAgICAgc3RydWN0IHByZWZpeF9pdGVtX2xpc3QgKmZpbGVzLAorCQkgICAgIHN0cnVjdCBsaXN0X2FuZF9jaG9vc2Vfb3B0aW9ucyAqb3B0cykKK3sKKwlpbnQgcmVzID0gMDsKKwlzc2l6ZV90IGNvdW50LCBpLCBqOworCXNpemVfdCB1bm1lcmdlZF9jb3VudCA9IDAsIGJpbmFyeV9jb3VudCA9IDA7CisKKwlpZiAoZ2V0X21vZGlmaWVkX2ZpbGVzKHMtPnIsIFdPUktUUkVFX09OTFksIGZpbGVzLCBwcywKKwkJCSAgICAgICAmdW5tZXJnZWRfY291bnQsICZiaW5hcnlfY291bnQpIDwgMCkKKwkJcmV0dXJuIC0xOworCisJaWYgKHVubWVyZ2VkX2NvdW50IHx8IGJpbmFyeV9jb3VudCkgeworCQlmb3IgKGkgPSBqID0gMDsgaSA8IGZpbGVzLT5pdGVtcy5ucjsgaSsrKSB7CisJCQlzdHJ1Y3QgZmlsZV9pdGVtICppdGVtID0gZmlsZXMtPml0ZW1zLml0ZW1zW2ldLnV0aWw7CisKKwkJCWlmIChpdGVtLT5pbmRleC5iaW5hcnkgfHwgaXRlbS0+d29ya3RyZWUuYmluYXJ5KSB7CisJCQkJZnJlZShpdGVtKTsKKwkJCQlmcmVlKGZpbGVzLT5pdGVtcy5pdGVtc1tpXS5zdHJpbmcpOworCQkJfSBlbHNlIGlmIChpdGVtLT5pbmRleC51bm1lcmdlZCB8fAorCQkJCSBpdGVtLT53b3JrdHJlZS51bm1lcmdlZCkgeworCQkJCWNvbG9yX2ZwcmludGZfbG4oc3RkZXJyLCBzLT5lcnJvcl9jb2xvciwKKwkJCQkJCSBfKCJpZ25vcmluZyB1bm1lcmdlZDogJXMiKSwKKwkJCQkJCSBmaWxlcy0+aXRlbXMuaXRlbXNbaV0uc3RyaW5nKTsKKwkJCQlmcmVlKGl0ZW0pOworCQkJCWZyZWUoZmlsZXMtPml0ZW1zLml0ZW1zW2ldLnN0cmluZyk7CisJCQl9IGVsc2UKKwkJCQlmaWxlcy0+aXRlbXMuaXRlbXNbaisrXSA9IGZpbGVzLT5pdGVtcy5pdGVtc1tpXTsKKwkJfQorCQlmaWxlcy0+aXRlbXMubnIgPSBqOworCX0KKworCWlmICghZmlsZXMtPml0ZW1zLm5yKSB7CisJCWlmIChiaW5hcnlfY291bnQpCisJCQlmcHJpbnRmKHN0ZGVyciwgXygiT25seSBiaW5hcnkgZmlsZXMgY2hhbmdlZC5cbiIpKTsKKwkJZWxzZQorCQkJZnByaW50ZihzdGRlcnIsIF8oIk5vIGNoYW5nZXMuXG4iKSk7CisJCXJldHVybiAwOworCX0KKworCW9wdHMtPnByb21wdCA9IE5fKCJQYXRjaCB1cGRhdGUiKTsKKwljb3VudCA9IGxpc3RfYW5kX2Nob29zZShzLCBmaWxlcywgb3B0cyk7CisJaWYgKGNvdW50ID4gMCkgeworCQlzdHJ1Y3QgYXJndl9hcnJheSBhcmdzID0gQVJHVl9BUlJBWV9JTklUOworCQlzdHJ1Y3QgcGF0aHNwZWMgcHNfc2VsZWN0ZWQgPSB7IDAgfTsKKworCQlmb3IgKGkgPSAwOyBpIDwgZmlsZXMtPml0ZW1zLm5yOyBpKyspCisJCQlpZiAoZmlsZXMtPnNlbGVjdGVkW2ldKQorCQkJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywKKwkJCQkJCWZpbGVzLT5pdGVtcy5pdGVtc1tpXS5zdHJpbmcpOworCQlwYXJzZV9wYXRoc3BlYygmcHNfc2VsZWN0ZWQsCisJCQkgICAgICAgUEFUSFNQRUNfQUxMX01BR0lDICYgflBBVEhTUEVDX0xJVEVSQUwsCisJCQkgICAgICAgUEFUSFNQRUNfTElURVJBTF9QQVRILCAiIiwgYXJncy5hcmd2KTsKKwkJcmVzID0gcnVuX2FkZF9wKHMtPnIsIEFERF9QX0FERCwgTlVMTCwgJnBzX3NlbGVjdGVkKTsKKwkJYXJndl9hcnJheV9jbGVhcigmYXJncyk7CisJCWNsZWFyX3BhdGhzcGVjKCZwc19zZWxlY3RlZCk7CisJfQorCisJcmV0dXJuIHJlczsKK30KKworc3RhdGljIGludCBydW5fZGlmZihzdHJ1Y3QgYWRkX2lfc3RhdGUgKnMsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcHMsCisJCSAgICBzdHJ1Y3QgcHJlZml4X2l0ZW1fbGlzdCAqZmlsZXMsCisJCSAgICBzdHJ1Y3QgbGlzdF9hbmRfY2hvb3NlX29wdGlvbnMgKm9wdHMpCit7CisJaW50IHJlcyA9IDA7CisJc3NpemVfdCBjb3VudCwgaTsKKworCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCWludCBpc19pbml0aWFsID0gIXJlc29sdmVfcmVmX3Vuc2FmZSgiSEVBRCIsIFJFU09MVkVfUkVGX1JFQURJTkcsICZvaWQsCisJCQkJCSAgICAgTlVMTCk7CisJaWYgKGdldF9tb2RpZmllZF9maWxlcyhzLT5yLCBJTkRFWF9PTkxZLCBmaWxlcywgcHMsIE5VTEwsIE5VTEwpIDwgMCkKKwkJcmV0dXJuIC0xOworCisJaWYgKCFmaWxlcy0+aXRlbXMubnIpIHsKKwkJcHV0Y2hhcignXG4nKTsKKwkJcmV0dXJuIDA7CisJfQorCisJb3B0cy0+cHJvbXB0ID0gTl8oIlJldmlldyBkaWZmIik7CisJb3B0cy0+ZmxhZ3MgPSBJTU1FRElBVEU7CisJY291bnQgPSBsaXN0X2FuZF9jaG9vc2UocywgZmlsZXMsIG9wdHMpOworCW9wdHMtPmZsYWdzID0gMDsKKwlpZiAoY291bnQgPiAwKSB7CisJCXN0cnVjdCBhcmd2X2FycmF5IGFyZ3MgPSBBUkdWX0FSUkFZX0lOSVQ7CisKKwkJYXJndl9hcnJheV9wdXNobCgmYXJncywgImdpdCIsICJkaWZmIiwgIi1wIiwgIi0tY2FjaGVkIiwKKwkJCQkgb2lkX3RvX2hleCghaXNfaW5pdGlhbCA/ICZvaWQgOgorCQkJCQkgICAgcy0+ci0+aGFzaF9hbGdvLT5lbXB0eV90cmVlKSwKKwkJCQkgIi0tIiwgTlVMTCk7CisJCWZvciAoaSA9IDA7IGkgPCBmaWxlcy0+aXRlbXMubnI7IGkrKykKKwkJCWlmIChmaWxlcy0+c2VsZWN0ZWRbaV0pCisJCQkJYXJndl9hcnJheV9wdXNoKCZhcmdzLAorCQkJCQkJZmlsZXMtPml0ZW1zLml0ZW1zW2ldLnN0cmluZyk7CisJCXJlcyA9IHJ1bl9jb21tYW5kX3Zfb3B0KGFyZ3MuYXJndiwgMCk7CisJCWFyZ3ZfYXJyYXlfY2xlYXIoJmFyZ3MpOworCX0KKworCXB1dGNoYXIoJ1xuJyk7CisJcmV0dXJuIHJlczsKK30KKworc3RhdGljIGludCBydW5faGVscChzdHJ1Y3QgYWRkX2lfc3RhdGUgKnMsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqdW51c2VkX3BzLAorCQkgICAgc3RydWN0IHByZWZpeF9pdGVtX2xpc3QgKnVudXNlZF9maWxlcywKKwkJICAgIHN0cnVjdCBsaXN0X2FuZF9jaG9vc2Vfb3B0aW9ucyAqdW51c2VkX29wdHMpCit7CisJY29sb3JfZnByaW50Zl9sbihzdGRvdXQsIHMtPmhlbHBfY29sb3IsICJzdGF0dXMgICAgICAgIC0gJXMiLAorCQkJIF8oInNob3cgcGF0aHMgd2l0aCBjaGFuZ2VzIikpOworCWNvbG9yX2ZwcmludGZfbG4oc3Rkb3V0LCBzLT5oZWxwX2NvbG9yLCAidXBkYXRlICAgICAgICAtICVzIiwKKwkJCSBfKCJhZGQgd29ya2luZyB0cmVlIHN0YXRlIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXMiKSk7CisJY29sb3JfZnByaW50Zl9sbihzdGRvdXQsIHMtPmhlbHBfY29sb3IsICJyZXZlcnQgICAgICAgIC0gJXMiLAorCQkJIF8oInJldmVydCBzdGFnZWQgc2V0IG9mIGNoYW5nZXMgYmFjayB0byB0aGUgSEVBRCB2ZXJzaW9uIikpOworCWNvbG9yX2ZwcmludGZfbG4oc3Rkb3V0LCBzLT5oZWxwX2NvbG9yLCAicGF0Y2ggICAgICAgICAtICVzIiwKKwkJCSBfKCJwaWNrIGh1bmtzIGFuZCB1cGRhdGUgc2VsZWN0aXZlbHkiKSk7CisJY29sb3JfZnByaW50Zl9sbihzdGRvdXQsIHMtPmhlbHBfY29sb3IsICJkaWZmICAgICAgICAgIC0gJXMiLAorCQkJIF8oInZpZXcgZGlmZiBiZXR3ZWVuIEhFQUQgYW5kIGluZGV4IikpOworCWNvbG9yX2ZwcmludGZfbG4oc3Rkb3V0LCBzLT5oZWxwX2NvbG9yLCAiYWRkIHVudHJhY2tlZCAtICVzIiwKKwkJCSBfKCJhZGQgY29udGVudHMgb2YgdW50cmFja2VkIGZpbGVzIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXMiKSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2hvb3NlX3Byb21wdF9oZWxwKHN0cnVjdCBhZGRfaV9zdGF0ZSAqcykKK3sKKwljb2xvcl9mcHJpbnRmX2xuKHN0ZG91dCwgcy0+aGVscF9jb2xvciwgIiVzIiwKKwkJCSBfKCJQcm9tcHQgaGVscDoiKSk7CisJY29sb3JfZnByaW50Zl9sbihzdGRvdXQsIHMtPmhlbHBfY29sb3IsICIxICAgICAgICAgIC0gJXMiLAorCQkJIF8oInNlbGVjdCBhIHNpbmdsZSBpdGVtIikpOworCWNvbG9yX2ZwcmludGZfbG4oc3Rkb3V0LCBzLT5oZWxwX2NvbG9yLCAiMy01ICAgICAgICAtICVzIiwKKwkJCSBfKCJzZWxlY3QgYSByYW5nZSBvZiBpdGVtcyIpKTsKKwljb2xvcl9mcHJpbnRmX2xuKHN0ZG91dCwgcy0+aGVscF9jb2xvciwgIjItMyw2LTkgICAgLSAlcyIsCisJCQkgXygic2VsZWN0IG11bHRpcGxlIHJhbmdlcyIpKTsKKwljb2xvcl9mcHJpbnRmX2xuKHN0ZG91dCwgcy0+aGVscF9jb2xvciwgImZvbyAgICAgICAgLSAlcyIsCisJCQkgXygic2VsZWN0IGl0ZW0gYmFzZWQgb24gdW5pcXVlIHByZWZpeCIpKTsKKwljb2xvcl9mcHJpbnRmX2xuKHN0ZG91dCwgcy0+aGVscF9jb2xvciwgIi0uLi4gICAgICAgLSAlcyIsCisJCQkgXygidW5zZWxlY3Qgc3BlY2lmaWVkIGl0ZW1zIikpOworCWNvbG9yX2ZwcmludGZfbG4oc3Rkb3V0LCBzLT5oZWxwX2NvbG9yLCAiKiAgICAgICAgICAtICVzIiwKKwkJCSBfKCJjaG9vc2UgYWxsIGl0ZW1zIikpOworCWNvbG9yX2ZwcmludGZfbG4oc3Rkb3V0LCBzLT5oZWxwX2NvbG9yLCAiICAgICAgICAgICAtICVzIiwKKwkJCSBfKCIoZW1wdHkpIGZpbmlzaCBzZWxlY3RpbmciKSk7Cit9CisKK3R5cGVkZWYgaW50ICgqY29tbWFuZF90KShzdHJ1Y3QgYWRkX2lfc3RhdGUgKnMsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcHMsCisJCQkgc3RydWN0IHByZWZpeF9pdGVtX2xpc3QgKmZpbGVzLAorCQkJIHN0cnVjdCBsaXN0X2FuZF9jaG9vc2Vfb3B0aW9ucyAqb3B0cyk7CisKK3N0cnVjdCBjb21tYW5kX2l0ZW0geworCXNpemVfdCBwcmVmaXhfbGVuZ3RoOworCWNvbW1hbmRfdCBjb21tYW5kOworfTsKKworc3RydWN0IHByaW50X2NvbW1hbmRfaXRlbV9kYXRhIHsKKwljb25zdCBjaGFyICpjb2xvciwgKnJlc2V0OworfTsKKworc3RhdGljIHZvaWQgcHJpbnRfY29tbWFuZF9pdGVtKGludCBpLCBpbnQgc2VsZWN0ZWQsCisJCQkgICAgICAgc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW0sCisJCQkgICAgICAgdm9pZCAqcHJpbnRfY29tbWFuZF9pdGVtX2RhdGEpCit7CisJc3RydWN0IHByaW50X2NvbW1hbmRfaXRlbV9kYXRhICpkID0gcHJpbnRfY29tbWFuZF9pdGVtX2RhdGE7CisJc3RydWN0IGNvbW1hbmRfaXRlbSAqdXRpbCA9IGl0ZW0tPnV0aWw7CisKKwlpZiAoIXV0aWwtPnByZWZpeF9sZW5ndGggfHwKKwkgICAgIWlzX3ZhbGlkX3ByZWZpeChpdGVtLT5zdHJpbmcsIHV0aWwtPnByZWZpeF9sZW5ndGgpKQorCQlwcmludGYoIiAlMmQ6ICVzIiwgaSArIDEsIGl0ZW0tPnN0cmluZyk7CisJZWxzZQorCQlwcmludGYoIiAlMmQ6ICVzJS4qcyVzJXMiLCBpICsgMSwKKwkJICAgICAgIGQtPmNvbG9yLCAoaW50KXV0aWwtPnByZWZpeF9sZW5ndGgsIGl0ZW0tPnN0cmluZywKKwkJICAgICAgIGQtPnJlc2V0LCBpdGVtLT5zdHJpbmcgKyB1dGlsLT5wcmVmaXhfbGVuZ3RoKTsKK30KKworc3RhdGljIHZvaWQgY29tbWFuZF9wcm9tcHRfaGVscChzdHJ1Y3QgYWRkX2lfc3RhdGUgKnMpCit7CisJY29uc3QgY2hhciAqaGVscF9jb2xvciA9IHMtPmhlbHBfY29sb3I7CisJY29sb3JfZnByaW50Zl9sbihzdGRvdXQsIGhlbHBfY29sb3IsICIlcyIsIF8oIlByb21wdCBoZWxwOiIpKTsKKwljb2xvcl9mcHJpbnRmX2xuKHN0ZG91dCwgaGVscF9jb2xvciwgIjEgICAgICAgICAgLSAlcyIsCisJCQkgXygic2VsZWN0IGEgbnVtYmVyZWQgaXRlbSIpKTsKKwljb2xvcl9mcHJpbnRmX2xuKHN0ZG91dCwgaGVscF9jb2xvciwgImZvbyAgICAgICAgLSAlcyIsCisJCQkgXygic2VsZWN0IGl0ZW0gYmFzZWQgb24gdW5pcXVlIHByZWZpeCIpKTsKKwljb2xvcl9mcHJpbnRmX2xuKHN0ZG91dCwgaGVscF9jb2xvciwgIiAgICAgICAgICAgLSAlcyIsCisJCQkgXygiKGVtcHR5KSBzZWxlY3Qgbm90aGluZyIpKTsKK30KKworaW50IHJ1bl9hZGRfaShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwcykKK3sKKwlzdHJ1Y3QgYWRkX2lfc3RhdGUgcyA9IHsgTlVMTCB9OworCXN0cnVjdCBwcmludF9jb21tYW5kX2l0ZW1fZGF0YSBkYXRhID0geyAiWyIsICJdIiB9OworCXN0cnVjdCBsaXN0X2FuZF9jaG9vc2Vfb3B0aW9ucyBtYWluX2xvb3Bfb3B0cyA9IHsKKwkJeyA0LCBOXygiKioqIENvbW1hbmRzICoqKiIpLCBwcmludF9jb21tYW5kX2l0ZW0sICZkYXRhIH0sCisJCU5fKCJXaGF0IG5vdyIpLCBTSU5HTEVUT04gfCBJTU1FRElBVEUsIGNvbW1hbmRfcHJvbXB0X2hlbHAKKwl9OworCXN0cnVjdCB7CisJCWNvbnN0IGNoYXIgKnN0cmluZzsKKwkJY29tbWFuZF90IGNvbW1hbmQ7CisJfSBjb21tYW5kX2xpc3RbXSA9IHsKKwkJeyAic3RhdHVzIiwgcnVuX3N0YXR1cyB9LAorCQl7ICJ1cGRhdGUiLCBydW5fdXBkYXRlIH0sCisJCXsgInJldmVydCIsIHJ1bl9yZXZlcnQgfSwKKwkJeyAiYWRkIHVudHJhY2tlZCIsIHJ1bl9hZGRfdW50cmFja2VkIH0sCisJCXsgInBhdGNoIiwgcnVuX3BhdGNoIH0sCisJCXsgImRpZmYiLCBydW5fZGlmZiB9LAorCQl7ICJxdWl0IiwgTlVMTCB9LAorCQl7ICJoZWxwIiwgcnVuX2hlbHAgfSwKKwl9OworCXN0cnVjdCBwcmVmaXhfaXRlbV9saXN0IGNvbW1hbmRzID0gUFJFRklYX0lURU1fTElTVF9JTklUOworCisJc3RydWN0IHByaW50X2ZpbGVfaXRlbV9kYXRhIHByaW50X2ZpbGVfaXRlbV9kYXRhID0geworCQkiJTEycyAlMTJzICVzIiwgTlVMTCwgTlVMTCwKKwkJU1RSQlVGX0lOSVQsIFNUUkJVRl9JTklULCBTVFJCVUZfSU5JVCwgU1RSQlVGX0lOSVQKKwl9OworCXN0cnVjdCBsaXN0X2FuZF9jaG9vc2Vfb3B0aW9ucyBvcHRzID0geworCQl7IDAsIE5VTEwsIHByaW50X2ZpbGVfaXRlbSwgJnByaW50X2ZpbGVfaXRlbV9kYXRhIH0sCisJCU5VTEwsIDAsIGNob29zZV9wcm9tcHRfaGVscAorCX07CisJc3RydWN0IHN0cmJ1ZiBoZWFkZXIgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3QgcHJlZml4X2l0ZW1fbGlzdCBmaWxlcyA9IFBSRUZJWF9JVEVNX0xJU1RfSU5JVDsKKwlzc2l6ZV90IGk7CisJaW50IHJlcyA9IDA7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShjb21tYW5kX2xpc3QpOyBpKyspIHsKKwkJc3RydWN0IGNvbW1hbmRfaXRlbSAqdXRpbCA9IHhjYWxsb2Moc2l6ZW9mKCp1dGlsKSwgMSk7CisJCXV0aWwtPmNvbW1hbmQgPSBjb21tYW5kX2xpc3RbaV0uY29tbWFuZDsKKwkJc3RyaW5nX2xpc3RfYXBwZW5kKCZjb21tYW5kcy5pdGVtcywgY29tbWFuZF9saXN0W2ldLnN0cmluZykKKwkJCS0+dXRpbCA9IHV0aWw7CisJfQorCisJaW5pdF9hZGRfaV9zdGF0ZSgmcywgcik7CisKKwkvKgorCSAqIFdoZW4gY29sb3Igd2FzIGFza2VkIGZvciwgdXNlIHRoZSBwcm9tcHQgY29sb3IgZm9yCisJICogaGlnaGxpZ2h0aW5nLCBvdGhlcndpc2UgdXNlIHNxdWFyZSBicmFja2V0cy4KKwkgKi8KKwlpZiAocy51c2VfY29sb3IpIHsKKwkJZGF0YS5jb2xvciA9IHMucHJvbXB0X2NvbG9yOworCQlkYXRhLnJlc2V0ID0gcy5yZXNldF9jb2xvcjsKKwl9CisJcHJpbnRfZmlsZV9pdGVtX2RhdGEuY29sb3IgPSBkYXRhLmNvbG9yOworCXByaW50X2ZpbGVfaXRlbV9kYXRhLnJlc2V0ID0gZGF0YS5yZXNldDsKKworCXN0cmJ1Zl9hZGRzdHIoJmhlYWRlciwgIiAgICAgICIpOworCXN0cmJ1Zl9hZGRmKCZoZWFkZXIsIHByaW50X2ZpbGVfaXRlbV9kYXRhLm1vZGlmaWVkX2ZtdCwKKwkJICAgIF8oInN0YWdlZCIpLCBfKCJ1bnN0YWdlZCIpLCBfKCJwYXRoIikpOworCW9wdHMubGlzdF9vcHRzLmhlYWRlciA9IGhlYWRlci5idWY7CisKKwlpZiAoZGlzY2FyZF9pbmRleChyLT5pbmRleCkgPCAwIHx8CisJICAgIHJlcG9fcmVhZF9pbmRleChyKSA8IDAgfHwKKwkgICAgcmVwb19yZWZyZXNoX2FuZF93cml0ZV9pbmRleChyLCBSRUZSRVNIX1FVSUVULCAwLCAxLAorCQkJCQkgTlVMTCwgTlVMTCwgTlVMTCkgPCAwKQorCQl3YXJuaW5nKF8oImNvdWxkIG5vdCByZWZyZXNoIGluZGV4IikpOworCisJcmVzID0gcnVuX3N0YXR1cygmcywgcHMsICZmaWxlcywgJm9wdHMpOworCisJZm9yICg7OykgeworCQlzdHJ1Y3QgY29tbWFuZF9pdGVtICp1dGlsOworCisJCWkgPSBsaXN0X2FuZF9jaG9vc2UoJnMsICZjb21tYW5kcywgJm1haW5fbG9vcF9vcHRzKTsKKwkJaWYgKGkgPCAwIHx8IGkgPj0gY29tbWFuZHMuaXRlbXMubnIpCisJCQl1dGlsID0gTlVMTDsKKwkJZWxzZQorCQkJdXRpbCA9IGNvbW1hbmRzLml0ZW1zLml0ZW1zW2ldLnV0aWw7CisKKwkJaWYgKGkgPT0gTElTVF9BTkRfQ0hPT1NFX1FVSVQgfHwgKHV0aWwgJiYgIXV0aWwtPmNvbW1hbmQpKSB7CisJCQlwcmludGYoXygiQnllLlxuIikpOworCQkJcmVzID0gMDsKKwkJCWJyZWFrOworCQl9CisKKwkJaWYgKHV0aWwpCisJCQlyZXMgPSB1dGlsLT5jb21tYW5kKCZzLCBwcywgJmZpbGVzLCAmb3B0cyk7CisJfQorCisJcHJlZml4X2l0ZW1fbGlzdF9jbGVhcigmZmlsZXMpOworCXN0cmJ1Zl9yZWxlYXNlKCZwcmludF9maWxlX2l0ZW1fZGF0YS5idWYpOworCXN0cmJ1Zl9yZWxlYXNlKCZwcmludF9maWxlX2l0ZW1fZGF0YS5uYW1lKTsKKwlzdHJidWZfcmVsZWFzZSgmcHJpbnRfZmlsZV9pdGVtX2RhdGEuaW5kZXgpOworCXN0cmJ1Zl9yZWxlYXNlKCZwcmludF9maWxlX2l0ZW1fZGF0YS53b3JrdHJlZSk7CisJc3RyYnVmX3JlbGVhc2UoJmhlYWRlcik7CisJcHJlZml4X2l0ZW1fbGlzdF9jbGVhcigmY29tbWFuZHMpOworCWNsZWFyX2FkZF9pX3N0YXRlKCZzKTsKKworCXJldHVybiByZXM7Cit9CmRpZmYgLS1naXQgYS9hZGQtaW50ZXJhY3RpdmUuaCBiL2FkZC1pbnRlcmFjdGl2ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5M2YxMjUKLS0tIC9kZXYvbnVsbAorKysgYi9hZGQtaW50ZXJhY3RpdmUuaApAQCAtMCwwICsxLDQxIEBACisjaWZuZGVmIEFERF9JTlRFUkFDVElWRV9ICisjZGVmaW5lIEFERF9JTlRFUkFDVElWRV9ICisKKyNpbmNsdWRlICJjb2xvci5oIgorCitzdHJ1Y3QgYWRkX2lfc3RhdGUgeworCXN0cnVjdCByZXBvc2l0b3J5ICpyOworCWludCB1c2VfY29sb3I7CisJY2hhciBoZWFkZXJfY29sb3JbQ09MT1JfTUFYTEVOXTsKKwljaGFyIGhlbHBfY29sb3JbQ09MT1JfTUFYTEVOXTsKKwljaGFyIHByb21wdF9jb2xvcltDT0xPUl9NQVhMRU5dOworCWNoYXIgZXJyb3JfY29sb3JbQ09MT1JfTUFYTEVOXTsKKwljaGFyIHJlc2V0X2NvbG9yW0NPTE9SX01BWExFTl07CisJY2hhciBmcmFnaW5mb19jb2xvcltDT0xPUl9NQVhMRU5dOworCWNoYXIgY29udGV4dF9jb2xvcltDT0xPUl9NQVhMRU5dOworCWNoYXIgZmlsZV9vbGRfY29sb3JbQ09MT1JfTUFYTEVOXTsKKwljaGFyIGZpbGVfbmV3X2NvbG9yW0NPTE9SX01BWExFTl07CisKKwlpbnQgdXNlX3NpbmdsZV9rZXk7CisJY2hhciAqaW50ZXJhY3RpdmVfZGlmZl9maWx0ZXIsICppbnRlcmFjdGl2ZV9kaWZmX2FsZ29yaXRobTsKK307CisKK3ZvaWQgaW5pdF9hZGRfaV9zdGF0ZShzdHJ1Y3QgYWRkX2lfc3RhdGUgKnMsIHN0cnVjdCByZXBvc2l0b3J5ICpyKTsKK3ZvaWQgY2xlYXJfYWRkX2lfc3RhdGUoc3RydWN0IGFkZF9pX3N0YXRlICpzKTsKKworc3RydWN0IHJlcG9zaXRvcnk7CitzdHJ1Y3QgcGF0aHNwZWM7CitpbnQgcnVuX2FkZF9pKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBzKTsKKworZW51bSBhZGRfcF9tb2RlIHsKKwlBRERfUF9BREQsCisJQUREX1BfU1RBU0gsCisJQUREX1BfUkVTRVQsCisJQUREX1BfQ0hFQ0tPVVQsCisJQUREX1BfV09SS1RSRUUsCit9OworCitpbnQgcnVuX2FkZF9wKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBlbnVtIGFkZF9wX21vZGUgbW9kZSwKKwkgICAgICBjb25zdCBjaGFyICpyZXZpc2lvbiwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwcyk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvYWRkLXBhdGNoLmMgYi9hZGQtcGF0Y2guYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOGRhZmE4Ci0tLSAvZGV2L251bGwKKysrIGIvYWRkLXBhdGNoLmMKQEAgLTAsMCArMSwxNjgzIEBACisjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJhZGQtaW50ZXJhY3RpdmUuaCIKKyNpbmNsdWRlICJzdHJidWYuaCIKKyNpbmNsdWRlICJydW4tY29tbWFuZC5oIgorI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKKyNpbmNsdWRlICJwYXRoc3BlYy5oIgorI2luY2x1ZGUgImNvbG9yLmgiCisjaW5jbHVkZSAiZGlmZi5oIgorI2luY2x1ZGUgImNvbXBhdC90ZXJtaW5hbC5oIgorCitlbnVtIHByb21wdF9tb2RlX3R5cGUgeworCVBST01QVF9NT0RFX0NIQU5HRSA9IDAsIFBST01QVF9ERUxFVElPTiwgUFJPTVBUX0hVTkssCisJUFJPTVBUX01PREVfTUFYLCAvKiBtdXN0IGJlIGxhc3QgKi8KK307CisKK3N0cnVjdCBwYXRjaF9tb2RlIHsKKwkvKgorCSAqIFRoZSBtYWdpYyBjb25zdGFudCA0IGlzIGNob3NlbiBzdWNoIHRoYXQgYWxsIHBhdGNoIG1vZGVzCisJICogcHJvdmlkZSBlbm91Z2ggc3BhY2UgZm9yIHRocmVlIGNvbW1hbmQtbGluZSBhcmd1bWVudHMgZm9sbG93ZWQgYnkgYQorCSAqIHRyYWlsaW5nIGBOVUxMYC4KKwkgKi8KKwljb25zdCBjaGFyICpkaWZmX2NtZFs0XSwgKmFwcGx5X2FyZ3NbNF0sICphcHBseV9jaGVja19hcmdzWzRdOworCXVuc2lnbmVkIGlzX3JldmVyc2U6MSwgaW5kZXhfb25seToxLCBhcHBseV9mb3JfY2hlY2tvdXQ6MTsKKwljb25zdCBjaGFyICpwcm9tcHRfbW9kZVtQUk9NUFRfTU9ERV9NQVhdOworCWNvbnN0IGNoYXIgKmVkaXRfaHVua19oaW50LCAqaGVscF9wYXRjaF90ZXh0OworfTsKKworc3RhdGljIHN0cnVjdCBwYXRjaF9tb2RlIHBhdGNoX21vZGVfYWRkID0geworCS5kaWZmX2NtZCA9IHsgImRpZmYtZmlsZXMiLCBOVUxMIH0sCisJLmFwcGx5X2FyZ3MgPSB7ICItLWNhY2hlZCIsIE5VTEwgfSwKKwkuYXBwbHlfY2hlY2tfYXJncyA9IHsgIi0tY2FjaGVkIiwgTlVMTCB9LAorCS5wcm9tcHRfbW9kZSA9IHsKKwkJTl8oIlN0YWdlIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQlcyw/XT8gIiksCisJCU5fKCJTdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkJXMsP10/ICIpLAorCQlOXygiU3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQlcyw/XT8gIikKKwl9LAorCS5lZGl0X2h1bmtfaGludCA9IE5fKCJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgIgorCQkJICAgICAid2lsbCBpbW1lZGlhdGVseSBiZSBtYXJrZWQgZm9yIHN0YWdpbmcuIiksCisJLmhlbHBfcGF0Y2hfdGV4dCA9CisJCU5fKCJ5IC0gc3RhZ2UgdGhpcyBodW5rXG4iCisJCSAgICJuIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVua1xuIgorCQkgICAicSAtIHF1aXQ7IGRvIG5vdCBzdGFnZSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgIgorCQkJIm9uZXNcbiIKKwkJICAgImEgLSBzdGFnZSB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorCQkgICAiZCAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiAiCisJCQkidGhlIGZpbGVcbiIpCit9OworCitzdGF0aWMgc3RydWN0IHBhdGNoX21vZGUgcGF0Y2hfbW9kZV9zdGFzaCA9IHsKKwkuZGlmZl9jbWQgPSB7ICJkaWZmLWluZGV4IiwgIkhFQUQiLCBOVUxMIH0sCisJLmFwcGx5X2FyZ3MgPSB7ICItLWNhY2hlZCIsIE5VTEwgfSwKKwkuYXBwbHlfY2hlY2tfYXJncyA9IHsgIi0tY2FjaGVkIiwgTlVMTCB9LAorCS5wcm9tcHRfbW9kZSA9IHsKKwkJTl8oIlN0YXNoIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQlcyw/XT8gIiksCisJCU5fKCJTdGFzaCBkZWxldGlvbiBbeSxuLHEsYSxkJXMsP10/ICIpLAorCQlOXygiU3Rhc2ggdGhpcyBodW5rIFt5LG4scSxhLGQlcyw/XT8gIiksCisJfSwKKwkuZWRpdF9odW5rX2hpbnQgPSBOXygiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rICIKKwkJCSAgICAgIndpbGwgaW1tZWRpYXRlbHkgYmUgbWFya2VkIGZvciBzdGFzaGluZy4iKSwKKwkuaGVscF9wYXRjaF90ZXh0ID0KKwkJTl8oInkgLSBzdGFzaCB0aGlzIGh1bmtcbiIKKwkJICAgIm4gLSBkbyBub3Qgc3Rhc2ggdGhpcyBodW5rXG4iCisJCSAgICJxIC0gcXVpdDsgZG8gbm90IHN0YXNoIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyAiCisJCQkib25lc1xuIgorCQkgICAiYSAtIHN0YXNoIHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisJCSAgICJkIC0gZG8gbm90IHN0YXNoIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluICIKKwkJCSJ0aGUgZmlsZVxuIiksCit9OworCitzdGF0aWMgc3RydWN0IHBhdGNoX21vZGUgcGF0Y2hfbW9kZV9yZXNldF9oZWFkID0geworCS5kaWZmX2NtZCA9IHsgImRpZmYtaW5kZXgiLCAiLS1jYWNoZWQiLCBOVUxMIH0sCisJLmFwcGx5X2FyZ3MgPSB7ICItUiIsICItLWNhY2hlZCIsIE5VTEwgfSwKKwkuYXBwbHlfY2hlY2tfYXJncyA9IHsgIi1SIiwgIi0tY2FjaGVkIiwgTlVMTCB9LAorCS5pc19yZXZlcnNlID0gMSwKKwkuaW5kZXhfb25seSA9IDEsCisJLnByb21wdF9tb2RlID0geworCQlOXygiVW5zdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkJXMsP10/ICIpLAorCQlOXygiVW5zdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkJXMsP10/ICIpLAorCQlOXygiVW5zdGFnZSB0aGlzIGh1bmsgW3ksbixxLGEsZCVzLD9dPyAiKSwKKwl9LAorCS5lZGl0X2h1bmtfaGludCA9IE5fKCJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgIgorCQkJICAgICAid2lsbCBpbW1lZGlhdGVseSBiZSBtYXJrZWQgZm9yIHVuc3RhZ2luZy4iKSwKKwkuaGVscF9wYXRjaF90ZXh0ID0KKwkJTl8oInkgLSB1bnN0YWdlIHRoaXMgaHVua1xuIgorCQkgICAibiAtIGRvIG5vdCB1bnN0YWdlIHRoaXMgaHVua1xuIgorCQkgICAicSAtIHF1aXQ7IGRvIG5vdCB1bnN0YWdlIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyAiCisJCQkib25lc1xuIgorCQkgICAiYSAtIHVuc3RhZ2UgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKKwkJICAgImQgLSBkbyBub3QgdW5zdGFnZSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiAiCisJCQkidGhlIGZpbGVcbiIpLAorfTsKKworc3RhdGljIHN0cnVjdCBwYXRjaF9tb2RlIHBhdGNoX21vZGVfcmVzZXRfbm90aGVhZCA9IHsKKwkuZGlmZl9jbWQgPSB7ICJkaWZmLWluZGV4IiwgIi1SIiwgIi0tY2FjaGVkIiwgTlVMTCB9LAorCS5hcHBseV9hcmdzID0geyAiLS1jYWNoZWQiLCBOVUxMIH0sCisJLmFwcGx5X2NoZWNrX2FyZ3MgPSB7ICItLWNhY2hlZCIsIE5VTEwgfSwKKwkuaW5kZXhfb25seSA9IDEsCisJLnByb21wdF9tb2RlID0geworCQlOXygiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gaW5kZXggW3ksbixxLGEsZCVzLD9dPyAiKSwKKwkJTl8oIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IFt5LG4scSxhLGQlcyw/XT8gIiksCisJCU5fKCJBcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggW3ksbixxLGEsZCVzLD9dPyAiKSwKKwl9LAorCS5lZGl0X2h1bmtfaGludCA9IE5fKCJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgIgorCQkJICAgICAid2lsbCBpbW1lZGlhdGVseSBiZSBtYXJrZWQgZm9yIGFwcGx5aW5nLiIpLAorCS5oZWxwX3BhdGNoX3RleHQgPQorCQlOXygieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgorCQkgICAibiAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXhcbiIKKwkJICAgInEgLSBxdWl0OyBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nICIKKwkJCSJvbmVzXG4iCisJCSAgICJhIC0gYXBwbHkgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKKwkJICAgImQgLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gIgorCQkJInRoZSBmaWxlXG4iKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGF0Y2hfbW9kZSBwYXRjaF9tb2RlX2NoZWNrb3V0X2luZGV4ID0geworCS5kaWZmX2NtZCA9IHsgImRpZmYtZmlsZXMiLCBOVUxMIH0sCisJLmFwcGx5X2FyZ3MgPSB7ICItUiIsIE5VTEwgfSwKKwkuYXBwbHlfY2hlY2tfYXJncyA9IHsgIi1SIiwgTlVMTCB9LAorCS5pc19yZXZlcnNlID0gMSwKKwkucHJvbXB0X21vZGUgPSB7CisJCU5fKCJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiKSwKKwkJTl8oIkRpc2NhcmQgZGVsZXRpb24gZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIpLAorCQlOXygiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIpLAorCX0sCisJLmVkaXRfaHVua19oaW50ID0gTl8oIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayAiCisJCQkgICAgICJ3aWxsIGltbWVkaWF0ZWx5IGJlIG1hcmtlZCBmb3IgZGlzY2FyZGluZy4iKSwKKwkuaGVscF9wYXRjaF90ZXh0ID0KKwkJTl8oInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCisJCSAgICJuIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWVcbiIKKwkJICAgInEgLSBxdWl0OyBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgIgorCQkJIm9uZXNcbiIKKwkJICAgImEgLSBkaXNjYXJkIHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisJCSAgICJkIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gIgorCQkJInRoZSBmaWxlXG4iKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGF0Y2hfbW9kZSBwYXRjaF9tb2RlX2NoZWNrb3V0X2hlYWQgPSB7CisJLmRpZmZfY21kID0geyAiZGlmZi1pbmRleCIsIE5VTEwgfSwKKwkuYXBwbHlfZm9yX2NoZWNrb3V0ID0gMSwKKwkuYXBwbHlfY2hlY2tfYXJncyA9IHsgIi1SIiwgTlVMTCB9LAorCS5pc19yZXZlcnNlID0gMSwKKwkucHJvbXB0X21vZGUgPSB7CisJCU5fKCJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIiksCisJCU5fKCJEaXNjYXJkIGRlbGV0aW9uIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIiksCisJCU5fKCJEaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIpLAorCX0sCisJLmVkaXRfaHVua19oaW50ID0gTl8oIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayAiCisJCQkgICAgICJ3aWxsIGltbWVkaWF0ZWx5IGJlIG1hcmtlZCBmb3IgZGlzY2FyZGluZy4iKSwKKwkuaGVscF9wYXRjaF90ZXh0ID0KKwkJTl8oInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgorCQkgICAibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgorCQkgICAicSAtIHF1aXQ7IGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyAiCisJCQkib25lc1xuIgorCQkgICAiYSAtIGRpc2NhcmQgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKKwkJICAgImQgLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiAiCisJCQkidGhlIGZpbGVcbiIpLAorfTsKKworc3RhdGljIHN0cnVjdCBwYXRjaF9tb2RlIHBhdGNoX21vZGVfY2hlY2tvdXRfbm90aGVhZCA9IHsKKwkuZGlmZl9jbWQgPSB7ICJkaWZmLWluZGV4IiwgIi1SIiwgTlVMTCB9LAorCS5hcHBseV9mb3JfY2hlY2tvdXQgPSAxLAorCS5hcHBseV9jaGVja19hcmdzID0geyBOVUxMIH0sCisJLnByb21wdF9tb2RlID0geworCQlOXygiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIiksCisJCU5fKCJBcHBseSBkZWxldGlvbiB0byBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiKSwKKwkJTl8oIkFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiKSwKKwl9LAorCS5lZGl0X2h1bmtfaGludCA9IE5fKCJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgIgorCQkJICAgICAid2lsbCBpbW1lZGlhdGVseSBiZSBtYXJrZWQgZm9yIGFwcGx5aW5nLiIpLAorCS5oZWxwX3BhdGNoX3RleHQgPQorCQlOXygieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKKwkJICAgIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgorCQkgICAicSAtIHF1aXQ7IGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgIgorCQkJIm9uZXNcbiIKKwkJICAgImEgLSBhcHBseSB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorCQkgICAiZCAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiAiCisJCQkidGhlIGZpbGVcbiIpLAorfTsKKworc3RhdGljIHN0cnVjdCBwYXRjaF9tb2RlIHBhdGNoX21vZGVfd29ya3RyZWVfaGVhZCA9IHsKKwkuZGlmZl9jbWQgPSB7ICJkaWZmLWluZGV4IiwgTlVMTCB9LAorCS5hcHBseV9hcmdzID0geyAiLVIiLCBOVUxMIH0sCisJLmFwcGx5X2NoZWNrX2FyZ3MgPSB7ICItUiIsIE5VTEwgfSwKKwkuaXNfcmV2ZXJzZSA9IDEsCisJLnByb21wdF9tb2RlID0geworCQlOXygiRGlzY2FyZCBtb2RlIGNoYW5nZSBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIpLAorCQlOXygiRGlzY2FyZCBkZWxldGlvbiBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIpLAorCQlOXygiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiKSwKKwl9LAorCS5lZGl0X2h1bmtfaGludCA9IE5fKCJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgIgorCQkJICAgICAid2lsbCBpbW1lZGlhdGVseSBiZSBtYXJrZWQgZm9yIGRpc2NhcmRpbmcuIiksCisJLmhlbHBfcGF0Y2hfdGV4dCA9CisJCU5fKCJ5IC0gZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZVxuIgorCQkgICAibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCisJCSAgICJxIC0gcXVpdDsgZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nICIKKwkJCSJvbmVzXG4iCisJCSAgICJhIC0gZGlzY2FyZCB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorCQkgICAiZCAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluICIKKwkJCSJ0aGUgZmlsZVxuIiksCit9OworCitzdGF0aWMgc3RydWN0IHBhdGNoX21vZGUgcGF0Y2hfbW9kZV93b3JrdHJlZV9ub3RoZWFkID0geworCS5kaWZmX2NtZCA9IHsgImRpZmYtaW5kZXgiLCAiLVIiLCBOVUxMIH0sCisJLmFwcGx5X2FyZ3MgPSB7IE5VTEwgfSwKKwkuYXBwbHlfY2hlY2tfYXJncyA9IHsgTlVMTCB9LAorCS5wcm9tcHRfbW9kZSA9IHsKKwkJTl8oIkFwcGx5IG1vZGUgY2hhbmdlIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIpLAorCQlOXygiQXBwbHkgZGVsZXRpb24gdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIiksCisJCU5fKCJBcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIiksCisJfSwKKwkuZWRpdF9odW5rX2hpbnQgPSBOXygiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rICIKKwkJCSAgICAgIndpbGwgaW1tZWRpYXRlbHkgYmUgbWFya2VkIGZvciBhcHBseWluZy4iKSwKKwkuaGVscF9wYXRjaF90ZXh0ID0KKwkJTl8oInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gd29ya3RyZWVcbiIKKwkJICAgIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIHdvcmt0cmVlXG4iCisJCSAgICJxIC0gcXVpdDsgZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyAiCisJCQkib25lc1xuIgorCQkgICAiYSAtIGFwcGx5IHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisJCSAgICJkIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluICIKKwkJCSJ0aGUgZmlsZVxuIiksCit9OworCitzdHJ1Y3QgaHVua19oZWFkZXIgeworCXVuc2lnbmVkIGxvbmcgb2xkX29mZnNldCwgb2xkX2NvdW50LCBuZXdfb2Zmc2V0LCBuZXdfY291bnQ7CisJLyoKKwkgKiBTdGFydC9lbmQgb2Zmc2V0cyB0byB0aGUgZXh0cmEgdGV4dCBhZnRlciB0aGUgc2Vjb25kIGBAQGAgaW4gdGhlCisJICogaHVuayBoZWFkZXIsIGUuZy4gdGhlIGZ1bmN0aW9uIHNpZ25hdHVyZS4gVGhpcyBpcyBleHBlY3RlZCB0bworCSAqIGluY2x1ZGUgdGhlIG5ld2xpbmUuCisJICovCisJc2l6ZV90IGV4dHJhX3N0YXJ0LCBleHRyYV9lbmQsIGNvbG9yZWRfZXh0cmFfc3RhcnQsIGNvbG9yZWRfZXh0cmFfZW5kOworfTsKKworc3RydWN0IGh1bmsgeworCXNpemVfdCBzdGFydCwgZW5kLCBjb2xvcmVkX3N0YXJ0LCBjb2xvcmVkX2VuZCwgc3BsaXR0YWJsZV9pbnRvOworCXNzaXplX3QgZGVsdGE7CisJZW51bSB7IFVOREVDSURFRF9IVU5LID0gMCwgU0tJUF9IVU5LLCBVU0VfSFVOSyB9IHVzZTsKKwlzdHJ1Y3QgaHVua19oZWFkZXIgaGVhZGVyOworfTsKKworc3RydWN0IGFkZF9wX3N0YXRlIHsKKwlzdHJ1Y3QgYWRkX2lfc3RhdGUgczsKKwlzdHJ1Y3Qgc3RyYnVmIGFuc3dlciwgYnVmOworCisJLyogcGFyc2VkIGRpZmYgKi8KKwlzdHJ1Y3Qgc3RyYnVmIHBsYWluLCBjb2xvcmVkOworCXN0cnVjdCBmaWxlX2RpZmYgeworCQlzdHJ1Y3QgaHVuayBoZWFkOworCQlzdHJ1Y3QgaHVuayAqaHVuazsKKwkJc2l6ZV90IGh1bmtfbnIsIGh1bmtfYWxsb2M7CisJCXVuc2lnbmVkIGRlbGV0ZWQ6MSwgbW9kZV9jaGFuZ2U6MSxiaW5hcnk6MTsKKwl9ICpmaWxlX2RpZmY7CisJc2l6ZV90IGZpbGVfZGlmZl9ucjsKKworCS8qIHBhdGNoIG1vZGUgKi8KKwlzdHJ1Y3QgcGF0Y2hfbW9kZSAqbW9kZTsKKwljb25zdCBjaGFyICpyZXZpc2lvbjsKK307CisKK3N0YXRpYyB2b2lkIGVycihzdHJ1Y3QgYWRkX3Bfc3RhdGUgKnMsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXZhX2xpc3QgYXJnczsKKworCXZhX3N0YXJ0KGFyZ3MsIGZtdCk7CisJZnB1dHMocy0+cy5lcnJvcl9jb2xvciwgc3RkZXJyKTsKKwl2ZnByaW50ZihzdGRlcnIsIGZtdCwgYXJncyk7CisJZnB1dHMocy0+cy5yZXNldF9jb2xvciwgc3RkZXJyKTsKKwlmcHV0YygnXG4nLCBzdGRlcnIpOworCXZhX2VuZChhcmdzKTsKK30KKworc3RhdGljIHZvaWQgc2V0dXBfY2hpbGRfcHJvY2VzcyhzdHJ1Y3QgYWRkX3Bfc3RhdGUgKnMsCisJCQkJc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNwLCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwljb25zdCBjaGFyICphcmc7CisKKwl2YV9zdGFydChhcCwgY3ApOworCXdoaWxlICgoYXJnID0gdmFfYXJnKGFwLCBjb25zdCBjaGFyICopKSkKKwkJYXJndl9hcnJheV9wdXNoKCZjcC0+YXJncywgYXJnKTsKKwl2YV9lbmQoYXApOworCisJY3AtPmdpdF9jbWQgPSAxOworCWFyZ3ZfYXJyYXlfcHVzaGYoJmNwLT5lbnZfYXJyYXksCisJCQkgSU5ERVhfRU5WSVJPTk1FTlQgIj0lcyIsIHMtPnMuci0+aW5kZXhfZmlsZSk7Cit9CisKK3N0YXRpYyBpbnQgcGFyc2VfcmFuZ2UoY29uc3QgY2hhciAqKnAsCisJCSAgICAgICB1bnNpZ25lZCBsb25nICpvZmZzZXQsIHVuc2lnbmVkIGxvbmcgKmNvdW50KQoreworCWNoYXIgKnBlbmQ7CisKKwkqb2Zmc2V0ID0gc3RydG91bCgqcCwgJnBlbmQsIDEwKTsKKwlpZiAocGVuZCA9PSAqcCkKKwkJcmV0dXJuIC0xOworCWlmICgqcGVuZCAhPSAnLCcpIHsKKwkJKmNvdW50ID0gMTsKKwkJKnAgPSBwZW5kOworCQlyZXR1cm4gMDsKKwl9CisJKmNvdW50ID0gc3RydG91bChwZW5kICsgMSwgKGNoYXIgKiopcCwgMTApOworCXJldHVybiAqcCA9PSBwZW5kICsgMSA/IC0xIDogMDsKK30KKworc3RhdGljIGludCBwYXJzZV9odW5rX2hlYWRlcihzdHJ1Y3QgYWRkX3Bfc3RhdGUgKnMsIHN0cnVjdCBodW5rICpodW5rKQoreworCXN0cnVjdCBodW5rX2hlYWRlciAqaGVhZGVyID0gJmh1bmstPmhlYWRlcjsKKwljb25zdCBjaGFyICpsaW5lID0gcy0+cGxhaW4uYnVmICsgaHVuay0+c3RhcnQsICpwID0gbGluZTsKKwljaGFyICplb2wgPSBtZW1jaHIocCwgJ1xuJywgcy0+cGxhaW4ubGVuIC0gaHVuay0+c3RhcnQpOworCisJaWYgKCFlb2wpCisJCWVvbCA9IHMtPnBsYWluLmJ1ZiArIHMtPnBsYWluLmxlbjsKKworCWlmICghc2tpcF9wcmVmaXgocCwgIkBAIC0iLCAmcCkgfHwKKwkgICAgcGFyc2VfcmFuZ2UoJnAsICZoZWFkZXItPm9sZF9vZmZzZXQsICZoZWFkZXItPm9sZF9jb3VudCkgPCAwIHx8CisJICAgICFza2lwX3ByZWZpeChwLCAiICsiLCAmcCkgfHwKKwkgICAgcGFyc2VfcmFuZ2UoJnAsICZoZWFkZXItPm5ld19vZmZzZXQsICZoZWFkZXItPm5ld19jb3VudCkgPCAwIHx8CisJICAgICFza2lwX3ByZWZpeChwLCAiIEBAIiwgJnApKQorCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHBhcnNlIGh1bmsgaGVhZGVyICclLipzJyIpLAorCQkJICAgICAoaW50KShlb2wgLSBsaW5lKSwgbGluZSk7CisKKwlodW5rLT5zdGFydCA9IGVvbCAtIHMtPnBsYWluLmJ1ZiArICgqZW9sID09ICdcbicpOworCWhlYWRlci0+ZXh0cmFfc3RhcnQgPSBwIC0gcy0+cGxhaW4uYnVmOworCWhlYWRlci0+ZXh0cmFfZW5kID0gaHVuay0+c3RhcnQ7CisKKwlpZiAoIXMtPmNvbG9yZWQubGVuKSB7CisJCWhlYWRlci0+Y29sb3JlZF9leHRyYV9zdGFydCA9IGhlYWRlci0+Y29sb3JlZF9leHRyYV9lbmQgPSAwOworCQlyZXR1cm4gMDsKKwl9CisKKwkvKiBOb3cgZmluZCB0aGUgZXh0cmEgdGV4dCBpbiB0aGUgY29sb3JlZCBkaWZmICovCisJbGluZSA9IHMtPmNvbG9yZWQuYnVmICsgaHVuay0+Y29sb3JlZF9zdGFydDsKKwllb2wgPSBtZW1jaHIobGluZSwgJ1xuJywgcy0+Y29sb3JlZC5sZW4gLSBodW5rLT5jb2xvcmVkX3N0YXJ0KTsKKwlpZiAoIWVvbCkKKwkJZW9sID0gcy0+Y29sb3JlZC5idWYgKyBzLT5jb2xvcmVkLmxlbjsKKwlwID0gbWVtbWVtKGxpbmUsIGVvbCAtIGxpbmUsICJAQCAtIiwgNCk7CisJaWYgKCFwKQorCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHBhcnNlIGNvbG9yZWQgaHVuayBoZWFkZXIgJyUuKnMnIiksCisJCQkgICAgIChpbnQpKGVvbCAtIGxpbmUpLCBsaW5lKTsKKwlwID0gbWVtbWVtKHAgKyA0LCBlb2wgLSBwIC0gNCwgIiBAQCIsIDMpOworCWlmICghcCkKKwkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCBwYXJzZSBjb2xvcmVkIGh1bmsgaGVhZGVyICclLipzJyIpLAorCQkJICAgICAoaW50KShlb2wgLSBsaW5lKSwgbGluZSk7CisJaHVuay0+Y29sb3JlZF9zdGFydCA9IGVvbCAtIHMtPmNvbG9yZWQuYnVmICsgKCplb2wgPT0gJ1xuJyk7CisJaGVhZGVyLT5jb2xvcmVkX2V4dHJhX3N0YXJ0ID0gcCArIDMgLSBzLT5jb2xvcmVkLmJ1ZjsKKwloZWFkZXItPmNvbG9yZWRfZXh0cmFfZW5kID0gaHVuay0+Y29sb3JlZF9zdGFydDsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGlzX29jdGFsKGNvbnN0IGNoYXIgKnAsIHNpemVfdCBsZW4pCit7CisJaWYgKCFsZW4pCisJCXJldHVybiAwOworCisJd2hpbGUgKGxlbi0tKQorCQlpZiAoKnAgPCAnMCcgfHwgKihwKyspID4gJzcnKQorCQkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgcGFyc2VfZGlmZihzdHJ1Y3QgYWRkX3Bfc3RhdGUgKnMsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcHMpCit7CisJc3RydWN0IGFyZ3ZfYXJyYXkgYXJncyA9IEFSR1ZfQVJSQVlfSU5JVDsKKwljb25zdCBjaGFyICpkaWZmX2FsZ29yaXRobSA9IHMtPnMuaW50ZXJhY3RpdmVfZGlmZl9hbGdvcml0aG07CisJc3RydWN0IHN0cmJ1ZiAqcGxhaW4gPSAmcy0+cGxhaW4sICpjb2xvcmVkID0gTlVMTDsKKwlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcCA9IENISUxEX1BST0NFU1NfSU5JVDsKKwljaGFyICpwLCAqcGVuZCwgKmNvbG9yZWRfcCA9IE5VTEwsICpjb2xvcmVkX3BlbmQgPSBOVUxMLCBtYXJrZXIgPSAnXDAnOworCXNpemVfdCBmaWxlX2RpZmZfYWxsb2MgPSAwLCBpLCBjb2xvcl9hcmdfaW5kZXg7CisJc3RydWN0IGZpbGVfZGlmZiAqZmlsZV9kaWZmID0gTlVMTDsKKwlzdHJ1Y3QgaHVuayAqaHVuayA9IE5VTEw7CisJaW50IHJlczsKKworCWFyZ3ZfYXJyYXlfcHVzaHYoJmFyZ3MsIHMtPm1vZGUtPmRpZmZfY21kKTsKKwlpZiAoZGlmZl9hbGdvcml0aG0pCisJCWFyZ3ZfYXJyYXlfcHVzaGYoJmFyZ3MsICItLWRpZmYtYWxnb3JpdGhtPSVzIiwgZGlmZl9hbGdvcml0aG0pOworCWlmIChzLT5yZXZpc2lvbikgeworCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwkJYXJndl9hcnJheV9wdXNoKCZhcmdzLAorCQkJCS8qIGNvdWxkIGJlIG9uIGFuIHVuYm9ybiBicmFuY2ggKi8KKwkJCQkhc3RyY21wKCJIRUFEIiwgcy0+cmV2aXNpb24pICYmCisJCQkJZ2V0X29pZCgiSEVBRCIsICZvaWQpID8KKwkJCQllbXB0eV90cmVlX29pZF9oZXgoKSA6IHMtPnJldmlzaW9uKTsKKwl9CisJY29sb3JfYXJnX2luZGV4ID0gYXJncy5hcmdjOworCS8qIFVzZSBgLS1uby1jb2xvcmAgZXhwbGljaXRseSwganVzdCBpbiBjYXNlIGBkaWZmLmNvbG9yID0gYWx3YXlzYC4gKi8KKwlhcmd2X2FycmF5X3B1c2hsKCZhcmdzLCAiLS1uby1jb2xvciIsICItcCIsICItLSIsIE5VTEwpOworCWZvciAoaSA9IDA7IGkgPCBwcy0+bnI7IGkrKykKKwkJYXJndl9hcnJheV9wdXNoKCZhcmdzLCBwcy0+aXRlbXNbaV0ub3JpZ2luYWwpOworCisJc2V0dXBfY2hpbGRfcHJvY2VzcyhzLCAmY3AsIE5VTEwpOworCWNwLmFyZ3YgPSBhcmdzLmFyZ3Y7CisJcmVzID0gY2FwdHVyZV9jb21tYW5kKCZjcCwgcGxhaW4sIDApOworCWlmIChyZXMpIHsKKwkJYXJndl9hcnJheV9jbGVhcigmYXJncyk7CisJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgcGFyc2UgZGlmZiIpKTsKKwl9CisJaWYgKCFwbGFpbi0+bGVuKSB7CisJCWFyZ3ZfYXJyYXlfY2xlYXIoJmFyZ3MpOworCQlyZXR1cm4gMDsKKwl9CisJc3RyYnVmX2NvbXBsZXRlX2xpbmUocGxhaW4pOworCisJaWYgKHdhbnRfY29sb3JfZmQoMSwgLTEpKSB7CisJCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNvbG9yZWRfY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CisJCWNvbnN0IGNoYXIgKmRpZmZfZmlsdGVyID0gcy0+cy5pbnRlcmFjdGl2ZV9kaWZmX2ZpbHRlcjsKKworCQlzZXR1cF9jaGlsZF9wcm9jZXNzKHMsICZjb2xvcmVkX2NwLCBOVUxMKTsKKwkJeHNucHJpbnRmKChjaGFyICopYXJncy5hcmd2W2NvbG9yX2FyZ19pbmRleF0sIDgsICItLWNvbG9yIik7CisJCWNvbG9yZWRfY3AuYXJndiA9IGFyZ3MuYXJndjsKKwkJY29sb3JlZCA9ICZzLT5jb2xvcmVkOworCQlyZXMgPSBjYXB0dXJlX2NvbW1hbmQoJmNvbG9yZWRfY3AsIGNvbG9yZWQsIDApOworCQlhcmd2X2FycmF5X2NsZWFyKCZhcmdzKTsKKwkJaWYgKHJlcykKKwkJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgcGFyc2UgY29sb3JlZCBkaWZmIikpOworCisJCWlmIChkaWZmX2ZpbHRlcikgeworCQkJc3RydWN0IGNoaWxkX3Byb2Nlc3MgZmlsdGVyX2NwID0gQ0hJTERfUFJPQ0VTU19JTklUOworCisJCQlzZXR1cF9jaGlsZF9wcm9jZXNzKHMsICZmaWx0ZXJfY3AsCisJCQkJCSAgICBkaWZmX2ZpbHRlciwgTlVMTCk7CisJCQlmaWx0ZXJfY3AuZ2l0X2NtZCA9IDA7CisJCQlmaWx0ZXJfY3AudXNlX3NoZWxsID0gMTsKKwkJCXN0cmJ1Zl9yZXNldCgmcy0+YnVmKTsKKwkJCWlmIChwaXBlX2NvbW1hbmQoJmZpbHRlcl9jcCwKKwkJCQkJIGNvbG9yZWQtPmJ1ZiwgY29sb3JlZC0+bGVuLAorCQkJCQkgJnMtPmJ1ZiwgY29sb3JlZC0+bGVuLAorCQkJCQkgTlVMTCwgMCkgPCAwKQorCQkJCXJldHVybiBlcnJvcihfKCJmYWlsZWQgdG8gcnVuICclcyciKSwKKwkJCQkJICAgICBkaWZmX2ZpbHRlcik7CisJCQlzdHJidWZfc3dhcChjb2xvcmVkLCAmcy0+YnVmKTsKKwkJfQorCisJCXN0cmJ1Zl9jb21wbGV0ZV9saW5lKGNvbG9yZWQpOworCQljb2xvcmVkX3AgPSBjb2xvcmVkLT5idWY7CisJCWNvbG9yZWRfcGVuZCA9IGNvbG9yZWRfcCArIGNvbG9yZWQtPmxlbjsKKwl9CisJYXJndl9hcnJheV9jbGVhcigmYXJncyk7CisKKwkvKiBwYXJzZSBmaWxlcyBhbmQgaHVua3MgKi8KKwlwID0gcGxhaW4tPmJ1ZjsKKwlwZW5kID0gcCArIHBsYWluLT5sZW47CisJd2hpbGUgKHAgIT0gcGVuZCkgeworCQljaGFyICplb2wgPSBtZW1jaHIocCwgJ1xuJywgcGVuZCAtIHApOworCQljb25zdCBjaGFyICpkZWxldGVkID0gTlVMTCwgKm1vZGVfY2hhbmdlID0gTlVMTDsKKworCQlpZiAoIWVvbCkKKwkJCWVvbCA9IHBlbmQ7CisKKwkJaWYgKHN0YXJ0c193aXRoKHAsICJkaWZmICIpKSB7CisJCQlzLT5maWxlX2RpZmZfbnIrKzsKKwkJCUFMTE9DX0dST1cocy0+ZmlsZV9kaWZmLCBzLT5maWxlX2RpZmZfbnIsCisJCQkJICAgZmlsZV9kaWZmX2FsbG9jKTsKKwkJCWZpbGVfZGlmZiA9IHMtPmZpbGVfZGlmZiArIHMtPmZpbGVfZGlmZl9uciAtIDE7CisJCQltZW1zZXQoZmlsZV9kaWZmLCAwLCBzaXplb2YoKmZpbGVfZGlmZikpOworCQkJaHVuayA9ICZmaWxlX2RpZmYtPmhlYWQ7CisJCQlodW5rLT5zdGFydCA9IHAgLSBwbGFpbi0+YnVmOworCQkJaWYgKGNvbG9yZWRfcCkKKwkJCQlodW5rLT5jb2xvcmVkX3N0YXJ0ID0gY29sb3JlZF9wIC0gY29sb3JlZC0+YnVmOworCQkJbWFya2VyID0gJ1wwJzsKKwkJfSBlbHNlIGlmIChwID09IHBsYWluLT5idWYpCisJCQlCVUcoImRpZmYgc3RhcnRzIHdpdGggdW5leHBlY3RlZCBsaW5lOlxuIgorCQkJICAgICIlLipzXG4iLCAoaW50KShlb2wgLSBwKSwgcCk7CisJCWVsc2UgaWYgKGZpbGVfZGlmZi0+ZGVsZXRlZCkKKwkJCTsgLyoga2VlcCB0aGUgcmVzdCBvZiB0aGUgZmlsZSBpbiBhIHNpbmdsZSAiaHVuayIgKi8KKwkJZWxzZSBpZiAoc3RhcnRzX3dpdGgocCwgIkBAICIpIHx8CisJCQkgKGh1bmsgPT0gJmZpbGVfZGlmZi0+aGVhZCAmJgorCQkJICBza2lwX3ByZWZpeChwLCAiZGVsZXRlZCBmaWxlIiwgJmRlbGV0ZWQpKSkgeworCQkJaWYgKG1hcmtlciA9PSAnLScgfHwgbWFya2VyID09ICcrJykKKwkJCQkvKgorCQkJCSAqIFNob3VsZCBub3QgaGFwcGVuOyBwcmV2aW91cyBodW5rIGRpZCBub3QgZW5kCisJCQkJICogaW4gYSBjb250ZXh0IGxpbmU/IEhhbmRsZSBpdCBhbnl3YXkuCisJCQkJICovCisJCQkJaHVuay0+c3BsaXR0YWJsZV9pbnRvKys7CisKKwkJCWZpbGVfZGlmZi0+aHVua19ucisrOworCQkJQUxMT0NfR1JPVyhmaWxlX2RpZmYtPmh1bmssIGZpbGVfZGlmZi0+aHVua19uciwKKwkJCQkgICBmaWxlX2RpZmYtPmh1bmtfYWxsb2MpOworCQkJaHVuayA9IGZpbGVfZGlmZi0+aHVuayArIGZpbGVfZGlmZi0+aHVua19uciAtIDE7CisJCQltZW1zZXQoaHVuaywgMCwgc2l6ZW9mKCpodW5rKSk7CisKKwkJCWh1bmstPnN0YXJ0ID0gcCAtIHBsYWluLT5idWY7CisJCQlpZiAoY29sb3JlZCkKKwkJCQlodW5rLT5jb2xvcmVkX3N0YXJ0ID0gY29sb3JlZF9wIC0gY29sb3JlZC0+YnVmOworCisJCQlpZiAoZGVsZXRlZCkKKwkJCQlmaWxlX2RpZmYtPmRlbGV0ZWQgPSAxOworCQkJZWxzZSBpZiAocGFyc2VfaHVua19oZWFkZXIocywgaHVuaykgPCAwKQorCQkJCXJldHVybiAtMTsKKworCQkJLyoKKwkJCSAqIFN0YXJ0IGNvdW50aW5nIGludG8gaG93IG1hbnkgaHVua3MgdGhpcyBvbmUgY2FuIGJlCisJCQkgKiBzcGxpdAorCQkJICovCisJCQltYXJrZXIgPSAqcDsKKwkJfSBlbHNlIGlmIChodW5rID09ICZmaWxlX2RpZmYtPmhlYWQgJiYKKwkJCSAgIHNraXBfcHJlZml4KHAsICJvbGQgbW9kZSAiLCAmbW9kZV9jaGFuZ2UpICYmCisJCQkgICBpc19vY3RhbChtb2RlX2NoYW5nZSwgZW9sIC0gbW9kZV9jaGFuZ2UpKSB7CisJCQlpZiAoZmlsZV9kaWZmLT5tb2RlX2NoYW5nZSkKKwkJCQlCVUcoImRvdWJsZSBtb2RlIGNoYW5nZT9cblxuJS4qcyIsCisJCQkJICAgIChpbnQpKGVvbCAtIHBsYWluLT5idWYpLCBwbGFpbi0+YnVmKTsKKwkJCWlmIChmaWxlX2RpZmYtPmh1bmtfbnIrKykKKwkJCQlCVUcoIm1vZGUgY2hhbmdlIGluIHRoZSBtaWRkbGU/XG5cbiUuKnMiLAorCQkJCSAgICAoaW50KShlb2wgLSBwbGFpbi0+YnVmKSwgcGxhaW4tPmJ1Zik7CisKKwkJCS8qCisJCQkgKiBEbyAqbm90KiBjaGFuZ2UgYGh1bmtgOiB0aGUgbW9kZSBjaGFuZ2UgcHNldWRvLWh1bmsKKwkJCSAqIGlzIF9wYXJ0IG9mXyB0aGUgaGVhZGVyICJodW5rIi4KKwkJCSAqLworCQkJZmlsZV9kaWZmLT5tb2RlX2NoYW5nZSA9IDE7CisJCQlBTExPQ19HUk9XKGZpbGVfZGlmZi0+aHVuaywgZmlsZV9kaWZmLT5odW5rX25yLAorCQkJCSAgIGZpbGVfZGlmZi0+aHVua19hbGxvYyk7CisJCQltZW1zZXQoZmlsZV9kaWZmLT5odW5rLCAwLCBzaXplb2Yoc3RydWN0IGh1bmspKTsKKwkJCWZpbGVfZGlmZi0+aHVuay0+c3RhcnQgPSBwIC0gcGxhaW4tPmJ1ZjsKKwkJCWlmIChjb2xvcmVkX3ApCisJCQkJZmlsZV9kaWZmLT5odW5rLT5jb2xvcmVkX3N0YXJ0ID0KKwkJCQkJY29sb3JlZF9wIC0gY29sb3JlZC0+YnVmOworCQl9IGVsc2UgaWYgKGh1bmsgPT0gJmZpbGVfZGlmZi0+aGVhZCAmJgorCQkJICAgc2tpcF9wcmVmaXgocCwgIm5ldyBtb2RlICIsICZtb2RlX2NoYW5nZSkgJiYKKwkJCSAgIGlzX29jdGFsKG1vZGVfY2hhbmdlLCBlb2wgLSBtb2RlX2NoYW5nZSkpIHsKKworCQkJLyoKKwkJCSAqIEV4dGVuZCB0aGUgIm1vZGUgY2hhbmdlIiBwc2V1ZG8taHVuayB0byBpbmNsdWRlIGFsc28KKwkJCSAqIHRoZSAibmV3IG1vZGUiIGxpbmUuCisJCQkgKi8KKwkJCWlmICghZmlsZV9kaWZmLT5tb2RlX2NoYW5nZSkKKwkJCQlCVUcoIiduZXcgbW9kZScgd2l0aG91dCAnb2xkIG1vZGUnP1xuXG4lLipzIiwKKwkJCQkgICAgKGludCkoZW9sIC0gcGxhaW4tPmJ1ZiksIHBsYWluLT5idWYpOworCQkJaWYgKGZpbGVfZGlmZi0+aHVua19uciAhPSAxKQorCQkJCUJVRygibW9kZSBjaGFuZ2UgaW4gdGhlIG1pZGRsZT9cblxuJS4qcyIsCisJCQkJICAgIChpbnQpKGVvbCAtIHBsYWluLT5idWYpLCBwbGFpbi0+YnVmKTsKKwkJCWlmIChwIC0gcGxhaW4tPmJ1ZiAhPSBmaWxlX2RpZmYtPmh1bmstPmVuZCkKKwkJCQlCVUcoIiduZXcgbW9kZScgZG9lcyBub3QgaW1tZWRpYXRlbHkgZm9sbG93ICIKKwkJCQkgICAgIidvbGQgbW9kZSc/XG5cbiUuKnMiLAorCQkJCSAgICAoaW50KShlb2wgLSBwbGFpbi0+YnVmKSwgcGxhaW4tPmJ1Zik7CisJCX0gZWxzZSBpZiAoaHVuayA9PSAmZmlsZV9kaWZmLT5oZWFkICYmCisJCQkgICBzdGFydHNfd2l0aChwLCAiQmluYXJ5IGZpbGVzICIpKQorCQkJZmlsZV9kaWZmLT5iaW5hcnkgPSAxOworCisJCWlmIChmaWxlX2RpZmYtPmRlbGV0ZWQgJiYgZmlsZV9kaWZmLT5tb2RlX2NoYW5nZSkKKwkJCUJVRygiZGlmZiBjb250YWlucyBkZWxldGUgKmFuZCogYSBtb2RlIGNoYW5nZT8hP1xuJS4qcyIsCisJCQkgICAgKGludCkoZW9sIC0gKHBsYWluLT5idWYgKyBmaWxlX2RpZmYtPmhlYWQuc3RhcnQpKSwKKwkJCSAgICBwbGFpbi0+YnVmICsgZmlsZV9kaWZmLT5oZWFkLnN0YXJ0KTsKKworCQlpZiAoKG1hcmtlciA9PSAnLScgfHwgbWFya2VyID09ICcrJykgJiYgKnAgPT0gJyAnKQorCQkJaHVuay0+c3BsaXR0YWJsZV9pbnRvKys7CisJCWlmIChtYXJrZXIgJiYgKnAgIT0gJ1xcJykKKwkJCW1hcmtlciA9ICpwOworCisJCXAgPSBlb2wgPT0gcGVuZCA/IHBlbmQgOiBlb2wgKyAxOworCQlodW5rLT5lbmQgPSBwIC0gcGxhaW4tPmJ1ZjsKKworCQlpZiAoY29sb3JlZCkgeworCQkJY2hhciAqY29sb3JlZF9lb2wgPSBtZW1jaHIoY29sb3JlZF9wLCAnXG4nLAorCQkJCQkJICAgY29sb3JlZF9wZW5kIC0gY29sb3JlZF9wKTsKKwkJCWlmIChjb2xvcmVkX2VvbCkKKwkJCQljb2xvcmVkX3AgPSBjb2xvcmVkX2VvbCArIDE7CisJCQllbHNlIGlmIChwICE9IHBlbmQpCisJCQkJLyogY29sb3JlZCBzaG9ydGVyIHRoYW4gbm9uLWNvbG9yZWQ/ICovCisJCQkJZ290byBtaXNtYXRjaGVkX291dHB1dDsKKwkJCWVsc2UKKwkJCQljb2xvcmVkX3AgPSBjb2xvcmVkX3BlbmQ7CisKKwkJCWh1bmstPmNvbG9yZWRfZW5kID0gY29sb3JlZF9wIC0gY29sb3JlZC0+YnVmOworCQl9CisKKwkJaWYgKG1vZGVfY2hhbmdlKSB7CisJCQlpZiAoZmlsZV9kaWZmLT5odW5rX25yICE9IDEpCisJCQkJQlVHKCJtb2RlIGNoYW5nZSBpbiBodW5rICMlZD8/PyIsCisJCQkJICAgIChpbnQpZmlsZV9kaWZmLT5odW5rX25yKTsKKwkJCS8qIEFkanVzdCB0aGUgZW5kIG9mIHRoZSAibW9kZSBjaGFuZ2UiIHBzZXVkby1odW5rICovCisJCQlmaWxlX2RpZmYtPmh1bmstPmVuZCA9IGh1bmstPmVuZDsKKwkJCWlmIChjb2xvcmVkKQorCQkJCWZpbGVfZGlmZi0+aHVuay0+Y29sb3JlZF9lbmQgPSBodW5rLT5jb2xvcmVkX2VuZDsKKwkJfQorCX0KKworCWlmIChtYXJrZXIgPT0gJy0nIHx8IG1hcmtlciA9PSAnKycpCisJCS8qCisJCSAqIExhc3QgaHVuayBlbmRlZCBpbiBub24tY29udGV4dCBsaW5lIChpLmUuIGl0IGFwcGVuZGVkIGxpbmVzCisJCSAqIHRvIHRoZSBmaWxlLCBzbyB0aGVyZSBhcmUgbm8gdHJhaWxpbmcgY29udGV4dCBsaW5lcykuCisJCSAqLworCQlodW5rLT5zcGxpdHRhYmxlX2ludG8rKzsKKworCS8qIG5vbi1jb2xvcmVkIHNob3J0ZXIgdGhhbiBjb2xvcmVkPyAqLworCWlmIChjb2xvcmVkX3AgIT0gY29sb3JlZF9wZW5kKSB7CittaXNtYXRjaGVkX291dHB1dDoKKwkJZXJyb3IoXygibWlzbWF0Y2hlZCBvdXRwdXQgZnJvbSBpbnRlcmFjdGl2ZS5kaWZmRmlsdGVyIikpOworCQlhZHZpc2UoXygiWW91ciBmaWx0ZXIgbXVzdCBtYWludGFpbiBhIG9uZS10by1vbmUgY29ycmVzcG9uZGVuY2VcbiIKKwkJCSAiYmV0d2VlbiBpdHMgaW5wdXQgYW5kIG91dHB1dCBsaW5lcy4iKSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHNpemVfdCBmaW5kX25leHRfbGluZShzdHJ1Y3Qgc3RyYnVmICpzYiwgc2l6ZV90IG9mZnNldCkKK3sKKwljaGFyICplb2w7CisKKwlpZiAob2Zmc2V0ID49IHNiLT5sZW4pCisJCUJVRygibG9va2luZyBmb3IgbmV4dCBsaW5lIGJleW9uZCBidWZmZXIgKCVkID49ICVkKVxuJXMiLAorCQkgICAgKGludClvZmZzZXQsIChpbnQpc2ItPmxlbiwgc2ItPmJ1Zik7CisKKwllb2wgPSBtZW1jaHIoc2ItPmJ1ZiArIG9mZnNldCwgJ1xuJywgc2ItPmxlbiAtIG9mZnNldCk7CisJaWYgKCFlb2wpCisJCXJldHVybiBzYi0+bGVuOworCXJldHVybiBlb2wgLSBzYi0+YnVmICsgMTsKK30KKworc3RhdGljIHZvaWQgcmVuZGVyX2h1bmsoc3RydWN0IGFkZF9wX3N0YXRlICpzLCBzdHJ1Y3QgaHVuayAqaHVuaywKKwkJCXNzaXplX3QgZGVsdGEsIGludCBjb2xvcmVkLCBzdHJ1Y3Qgc3RyYnVmICpvdXQpCit7CisJc3RydWN0IGh1bmtfaGVhZGVyICpoZWFkZXIgPSAmaHVuay0+aGVhZGVyOworCisJaWYgKGh1bmstPmhlYWRlci5vbGRfb2Zmc2V0ICE9IDAgfHwgaHVuay0+aGVhZGVyLm5ld19vZmZzZXQgIT0gMCkgeworCQkvKgorCQkgKiBHZW5lcmF0ZSB0aGUgaHVuayBoZWFkZXIgZHluYW1pY2FsbHksIGV4Y2VwdCBmb3Igc3BlY2lhbAorCQkgKiBodW5rcyAoc3VjaCBhcyB0aGUgZGlmZiBoZWFkZXIpLgorCQkgKi8KKwkJY29uc3QgY2hhciAqcDsKKwkJc2l6ZV90IGxlbjsKKwkJdW5zaWduZWQgbG9uZyBvbGRfb2Zmc2V0ID0gaGVhZGVyLT5vbGRfb2Zmc2V0OworCQl1bnNpZ25lZCBsb25nIG5ld19vZmZzZXQgPSBoZWFkZXItPm5ld19vZmZzZXQ7CisKKwkJaWYgKCFjb2xvcmVkKSB7CisJCQlwID0gcy0+cGxhaW4uYnVmICsgaGVhZGVyLT5leHRyYV9zdGFydDsKKwkJCWxlbiA9IGhlYWRlci0+ZXh0cmFfZW5kIC0gaGVhZGVyLT5leHRyYV9zdGFydDsKKwkJfSBlbHNlIHsKKwkJCXN0cmJ1Zl9hZGRzdHIob3V0LCBzLT5zLmZyYWdpbmZvX2NvbG9yKTsKKwkJCXAgPSBzLT5jb2xvcmVkLmJ1ZiArIGhlYWRlci0+Y29sb3JlZF9leHRyYV9zdGFydDsKKwkJCWxlbiA9IGhlYWRlci0+Y29sb3JlZF9leHRyYV9lbmQKKwkJCQktIGhlYWRlci0+Y29sb3JlZF9leHRyYV9zdGFydDsKKwkJfQorCisJCWlmIChzLT5tb2RlLT5pc19yZXZlcnNlKQorCQkJb2xkX29mZnNldCAtPSBkZWx0YTsKKwkJZWxzZQorCQkJbmV3X29mZnNldCArPSBkZWx0YTsKKworCQlzdHJidWZfYWRkZihvdXQsICJAQCAtJWx1LCVsdSArJWx1LCVsdSBAQCIsCisJCQkgICAgb2xkX29mZnNldCwgaGVhZGVyLT5vbGRfY291bnQsCisJCQkgICAgbmV3X29mZnNldCwgaGVhZGVyLT5uZXdfY291bnQpOworCQlpZiAobGVuKQorCQkJc3RyYnVmX2FkZChvdXQsIHAsIGxlbik7CisJCWVsc2UgaWYgKGNvbG9yZWQpCisJCQlzdHJidWZfYWRkZihvdXQsICIlc1xuIiwgR0lUX0NPTE9SX1JFU0VUKTsKKwkJZWxzZQorCQkJc3RyYnVmX2FkZGNoKG91dCwgJ1xuJyk7CisJfQorCisJaWYgKGNvbG9yZWQpCisJCXN0cmJ1Zl9hZGQob3V0LCBzLT5jb2xvcmVkLmJ1ZiArIGh1bmstPmNvbG9yZWRfc3RhcnQsCisJCQkgICBodW5rLT5jb2xvcmVkX2VuZCAtIGh1bmstPmNvbG9yZWRfc3RhcnQpOworCWVsc2UKKwkJc3RyYnVmX2FkZChvdXQsIHMtPnBsYWluLmJ1ZiArIGh1bmstPnN0YXJ0LAorCQkJICAgaHVuay0+ZW5kIC0gaHVuay0+c3RhcnQpOworfQorCitzdGF0aWMgdm9pZCByZW5kZXJfZGlmZl9oZWFkZXIoc3RydWN0IGFkZF9wX3N0YXRlICpzLAorCQkJICAgICAgIHN0cnVjdCBmaWxlX2RpZmYgKmZpbGVfZGlmZiwgaW50IGNvbG9yZWQsCisJCQkgICAgICAgc3RydWN0IHN0cmJ1ZiAqb3V0KQoreworCS8qCisJICogSWYgdGhlcmUgd2FzIGEgbW9kZSBjaGFuZ2UsIHRoZSBmaXJzdCBodW5rIGlzIGEgcHNldWRvIGh1bmsgdGhhdAorCSAqIGNvcnJlc3BvbmRzIHRvIHRoZSBtb2RlIGxpbmUgaW4gdGhlIGhlYWRlci4gSWYgdGhlIHVzZXIgZGlkIG5vdCB3YW50CisJICogdG8gc3RhZ2UgdGhhdCAiaHVuayIsIHdlIGFjdHVhbGx5IGhhdmUgdG8gY3V0IGl0IG91dCBmcm9tIHRoZSBoZWFkZXIuCisJICovCisJaW50IHNraXBfbW9kZV9jaGFuZ2UgPQorCQlmaWxlX2RpZmYtPm1vZGVfY2hhbmdlICYmIGZpbGVfZGlmZi0+aHVuay0+dXNlICE9IFVTRV9IVU5LOworCXN0cnVjdCBodW5rICpoZWFkID0gJmZpbGVfZGlmZi0+aGVhZCwgKmZpcnN0ID0gZmlsZV9kaWZmLT5odW5rOworCisJaWYgKCFza2lwX21vZGVfY2hhbmdlKSB7CisJCXJlbmRlcl9odW5rKHMsIGhlYWQsIDAsIGNvbG9yZWQsIG91dCk7CisJCXJldHVybjsKKwl9CisKKwlpZiAoY29sb3JlZCkgeworCQljb25zdCBjaGFyICpwID0gcy0+Y29sb3JlZC5idWY7CisKKwkJc3RyYnVmX2FkZChvdXQsIHAgKyBoZWFkLT5jb2xvcmVkX3N0YXJ0LAorCQkJICAgIGZpcnN0LT5jb2xvcmVkX3N0YXJ0IC0gaGVhZC0+Y29sb3JlZF9zdGFydCk7CisJCXN0cmJ1Zl9hZGQob3V0LCBwICsgZmlyc3QtPmNvbG9yZWRfZW5kLAorCQkJICAgIGhlYWQtPmNvbG9yZWRfZW5kIC0gZmlyc3QtPmNvbG9yZWRfZW5kKTsKKwl9IGVsc2UgeworCQljb25zdCBjaGFyICpwID0gcy0+cGxhaW4uYnVmOworCisJCXN0cmJ1Zl9hZGQob3V0LCBwICsgaGVhZC0+c3RhcnQsIGZpcnN0LT5zdGFydCAtIGhlYWQtPnN0YXJ0KTsKKwkJc3RyYnVmX2FkZChvdXQsIHAgKyBmaXJzdC0+ZW5kLCBoZWFkLT5lbmQgLSBmaXJzdC0+ZW5kKTsKKwl9Cit9CisKKy8qIENvYWxlc2NlIGh1bmtzIGFnYWluIHRoYXQgd2VyZSBzcGxpdCAqLworc3RhdGljIGludCBtZXJnZV9odW5rcyhzdHJ1Y3QgYWRkX3Bfc3RhdGUgKnMsIHN0cnVjdCBmaWxlX2RpZmYgKmZpbGVfZGlmZiwKKwkJICAgICAgIHNpemVfdCAqaHVua19pbmRleCwgaW50IHVzZV9hbGwsIHN0cnVjdCBodW5rICptZXJnZWQpCit7CisJc2l6ZV90IGkgPSAqaHVua19pbmRleCwgZGVsdGE7CisJc3RydWN0IGh1bmsgKmh1bmsgPSBmaWxlX2RpZmYtPmh1bmsgKyBpOworCS8qIGBoZWFkZXJgIGNvcnJlc3BvbmRzIHRvIHRoZSBtZXJnZWQgaHVuayAqLworCXN0cnVjdCBodW5rX2hlYWRlciAqaGVhZGVyID0gJm1lcmdlZC0+aGVhZGVyLCAqbmV4dDsKKworCWlmICghdXNlX2FsbCAmJiBodW5rLT51c2UgIT0gVVNFX0hVTkspCisJCXJldHVybiAwOworCisJKm1lcmdlZCA9ICpodW5rOworCS8qIFdlIHNpbXBseSBza2lwIHRoZSBjb2xvcmVkIHBhcnQgKGlmIGFueSkgd2hlbiBtZXJnaW5nIGh1bmtzICovCisJbWVyZ2VkLT5jb2xvcmVkX3N0YXJ0ID0gbWVyZ2VkLT5jb2xvcmVkX2VuZCA9IDA7CisKKwlmb3IgKDsgaSArIDEgPCBmaWxlX2RpZmYtPmh1bmtfbnI7IGkrKykgeworCQlodW5rKys7CisJCW5leHQgPSAmaHVuay0+aGVhZGVyOworCisJCS8qCisJCSAqIFN0b3AgbWVyZ2luZyBodW5rcyB3aGVuOgorCQkgKgorCQkgKiAtIHRoZSBodW5rIGlzIG5vdCBzZWxlY3RlZCBmb3IgdXNlLCBvcgorCQkgKiAtIHRoZSBodW5rIGRvZXMgbm90IG92ZXJsYXAgd2l0aCB0aGUgYWxyZWFkeS1tZXJnZWQgaHVuayhzKQorCQkgKi8KKwkJaWYgKCghdXNlX2FsbCAmJiBodW5rLT51c2UgIT0gVVNFX0hVTkspIHx8CisJCSAgICBoZWFkZXItPm5ld19vZmZzZXQgPj0gbmV4dC0+bmV3X29mZnNldCArIG1lcmdlZC0+ZGVsdGEgfHwKKwkJICAgIGhlYWRlci0+bmV3X29mZnNldCArIGhlYWRlci0+bmV3X2NvdW50CisJCSAgICA8IG5leHQtPm5ld19vZmZzZXQgKyBtZXJnZWQtPmRlbHRhKQorCQkJYnJlYWs7CisKKwkJLyoKKwkJICogSWYgdGhlIGh1bmtzIHdlcmUgbm90IGVkaXRlZCwgYW5kIG92ZXJsYXAsIHdlIGNhbiBzaW1wbHkKKwkJICogZXh0ZW5kIHRoZSBsaW5lIHJhbmdlLgorCQkgKi8KKwkJaWYgKG1lcmdlZC0+c3RhcnQgPCBodW5rLT5zdGFydCAmJiBtZXJnZWQtPmVuZCA+IGh1bmstPnN0YXJ0KSB7CisJCQltZXJnZWQtPmVuZCA9IGh1bmstPmVuZDsKKwkJCW1lcmdlZC0+Y29sb3JlZF9lbmQgPSBodW5rLT5jb2xvcmVkX2VuZDsKKwkJCWRlbHRhID0gMDsKKwkJfSBlbHNlIHsKKwkJCWNvbnN0IGNoYXIgKnBsYWluID0gcy0+cGxhaW4uYnVmOworCQkJc2l6ZV90ICBvdmVybGFwcGluZ19saW5lX2NvdW50ID0gaGVhZGVyLT5uZXdfb2Zmc2V0CisJCQkJKyBoZWFkZXItPm5ld19jb3VudCAtIG1lcmdlZC0+ZGVsdGEKKwkJCQktIG5leHQtPm5ld19vZmZzZXQ7CisJCQlzaXplX3Qgb3ZlcmxhcF9lbmQgPSBodW5rLT5zdGFydDsKKwkJCXNpemVfdCBvdmVybGFwX3N0YXJ0ID0gb3ZlcmxhcF9lbmQ7CisJCQlzaXplX3Qgb3ZlcmxhcF9uZXh0LCBsZW4sIGo7CisKKwkJCS8qCisJCQkgKiBPbmUgb2YgdGhlIGh1bmtzIHdhcyBlZGl0ZWQ6IHRoZSBtb2RpZmllZCBodW5rIHdhcworCQkJICogYXBwZW5kZWQgdG8gdGhlIHN0cmJ1ZiBgcy0+cGxhaW5gLgorCQkJICoKKwkJCSAqIExldCdzIGVuc3VyZSB0aGF0IGF0IGxlYXN0IHRoZSBsYXN0IGNvbnRleHQgbGluZSBvZgorCQkJICogdGhlIGZpcnN0IGh1bmsgb3ZlcmxhcHMgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBsaW5lCisJCQkgKiBvZiB0aGUgc2Vjb25kIGh1bmssIGFuZCB0aGVuIG1lcmdlLgorCQkJICovCisJCQlmb3IgKGogPSAwOyBqIDwgb3ZlcmxhcHBpbmdfbGluZV9jb3VudDsgaisrKSB7CisJCQkJb3ZlcmxhcF9uZXh0ID0gZmluZF9uZXh0X2xpbmUoJnMtPnBsYWluLAorCQkJCQkJCSAgICAgIG92ZXJsYXBfZW5kKTsKKworCQkJCWlmIChvdmVybGFwX25leHQgPiBodW5rLT5lbmQpCisJCQkJCUJVRygiZmFpbGVkIHRvIGZpbmQgJWQgY29udGV4dCBsaW5lcyAiCisJCQkJCSAgICAiaW46XG4lLipzIiwKKwkJCQkJICAgIChpbnQpb3ZlcmxhcHBpbmdfbGluZV9jb3VudCwKKwkJCQkJICAgIChpbnQpKGh1bmstPmVuZCAtIGh1bmstPnN0YXJ0KSwKKwkJCQkJICAgIHBsYWluICsgaHVuay0+c3RhcnQpOworCisJCQkJaWYgKHBsYWluW292ZXJsYXBfZW5kXSAhPSAnICcpCisJCQkJCXJldHVybiBlcnJvcihfKCJleHBlY3RlZCBjb250ZXh0IGxpbmUgIgorCQkJCQkJICAgICAgICIjJWQgaW5cbiUuKnMiKSwKKwkJCQkJCSAgICAgKGludCkoaiArIDEpLAorCQkJCQkJICAgICAoaW50KShodW5rLT5lbmQKKwkJCQkJCQkgICAtIGh1bmstPnN0YXJ0KSwKKwkJCQkJCSAgICAgcGxhaW4gKyBodW5rLT5zdGFydCk7CisKKwkJCQlvdmVybGFwX3N0YXJ0ID0gb3ZlcmxhcF9lbmQ7CisJCQkJb3ZlcmxhcF9lbmQgPSBvdmVybGFwX25leHQ7CisJCQl9CisJCQlsZW4gPSBvdmVybGFwX2VuZCAtIG92ZXJsYXBfc3RhcnQ7CisKKwkJCWlmIChsZW4gPiBtZXJnZWQtPmVuZCAtIG1lcmdlZC0+c3RhcnQgfHwKKwkJCSAgICBtZW1jbXAocGxhaW4gKyBtZXJnZWQtPmVuZCAtIGxlbiwKKwkJCQkgICBwbGFpbiArIG92ZXJsYXBfc3RhcnQsIGxlbikpCisJCQkJcmV0dXJuIGVycm9yKF8oImh1bmtzIGRvIG5vdCBvdmVybGFwOlxuJS4qc1xuIgorCQkJCQkgICAgICAgIlx0ZG9lcyBub3QgZW5kIHdpdGg6XG4lLipzIiksCisJCQkJCSAgICAgKGludCkobWVyZ2VkLT5lbmQgLSBtZXJnZWQtPnN0YXJ0KSwKKwkJCQkJICAgICBwbGFpbiArIG1lcmdlZC0+c3RhcnQsCisJCQkJCSAgICAgKGludClsZW4sIHBsYWluICsgb3ZlcmxhcF9zdGFydCk7CisKKwkJCS8qCisJCQkgKiBTaW5jZSB0aGUgc3RhcnQtZW5kIHJhbmdlcyBhcmUgbm90IGFkamFjZW50LCB3ZQorCQkJICogY2Fubm90IHNpbXBseSB0YWtlIHRoZSB1bmlvbiBvZiB0aGUgcmFuZ2VzLiBUbworCQkJICogYWRkcmVzcyB0aGF0LCB3ZSB0ZW1wb3JhcmlseSBhcHBlbmQgdGhlIHVuaW9uIG9mIHRoZQorCQkJICogbGluZXMgdG8gdGhlIGBwbGFpbmAgc3RyYnVmLgorCQkJICovCisJCQlpZiAobWVyZ2VkLT5lbmQgIT0gcy0+cGxhaW4ubGVuKSB7CisJCQkJc2l6ZV90IHN0YXJ0ID0gcy0+cGxhaW4ubGVuOworCisJCQkJc3RyYnVmX2FkZCgmcy0+cGxhaW4sIHBsYWluICsgbWVyZ2VkLT5zdGFydCwKKwkJCQkJICAgbWVyZ2VkLT5lbmQgLSBtZXJnZWQtPnN0YXJ0KTsKKwkJCQlwbGFpbiA9IHMtPnBsYWluLmJ1ZjsKKwkJCQltZXJnZWQtPnN0YXJ0ID0gc3RhcnQ7CisJCQkJbWVyZ2VkLT5lbmQgPSBzLT5wbGFpbi5sZW47CisJCQl9CisKKwkJCXN0cmJ1Zl9hZGQoJnMtPnBsYWluLAorCQkJCSAgIHBsYWluICsgb3ZlcmxhcF9lbmQsCisJCQkJICAgaHVuay0+ZW5kIC0gb3ZlcmxhcF9lbmQpOworCQkJbWVyZ2VkLT5lbmQgPSBzLT5wbGFpbi5sZW47CisJCQltZXJnZWQtPnNwbGl0dGFibGVfaW50byArPSBodW5rLT5zcGxpdHRhYmxlX2ludG87CisJCQlkZWx0YSA9IG1lcmdlZC0+ZGVsdGE7CisJCQltZXJnZWQtPmRlbHRhICs9IGh1bmstPmRlbHRhOworCQl9CisKKwkJaGVhZGVyLT5vbGRfY291bnQgPSBuZXh0LT5vbGRfb2Zmc2V0ICsgbmV4dC0+b2xkX2NvdW50CisJCQktIGhlYWRlci0+b2xkX29mZnNldDsKKwkJaGVhZGVyLT5uZXdfY291bnQgPSBuZXh0LT5uZXdfb2Zmc2V0ICsgZGVsdGEKKwkJCSsgbmV4dC0+bmV3X2NvdW50IC0gaGVhZGVyLT5uZXdfb2Zmc2V0OworCX0KKworCWlmIChpID09ICpodW5rX2luZGV4KQorCQlyZXR1cm4gMDsKKworCSpodW5rX2luZGV4ID0gaTsKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHZvaWQgcmVhc3NlbWJsZV9wYXRjaChzdHJ1Y3QgYWRkX3Bfc3RhdGUgKnMsCisJCQkgICAgIHN0cnVjdCBmaWxlX2RpZmYgKmZpbGVfZGlmZiwgaW50IHVzZV9hbGwsCisJCQkgICAgIHN0cnVjdCBzdHJidWYgKm91dCkKK3sKKwlzdHJ1Y3QgaHVuayAqaHVuazsKKwlzaXplX3Qgc2F2ZV9sZW4gPSBzLT5wbGFpbi5sZW4sIGk7CisJc3NpemVfdCBkZWx0YSA9IDA7CisKKwlyZW5kZXJfZGlmZl9oZWFkZXIocywgZmlsZV9kaWZmLCAwLCBvdXQpOworCisJZm9yIChpID0gZmlsZV9kaWZmLT5tb2RlX2NoYW5nZTsgaSA8IGZpbGVfZGlmZi0+aHVua19ucjsgaSsrKSB7CisJCXN0cnVjdCBodW5rIG1lcmdlZCA9IHsgMCB9OworCisJCWh1bmsgPSBmaWxlX2RpZmYtPmh1bmsgKyBpOworCQlpZiAoIXVzZV9hbGwgJiYgaHVuay0+dXNlICE9IFVTRV9IVU5LKQorCQkJZGVsdGEgKz0gaHVuay0+aGVhZGVyLm9sZF9jb3VudAorCQkJCS0gaHVuay0+aGVhZGVyLm5ld19jb3VudDsKKwkJZWxzZSB7CisJCQkvKiBtZXJnZSBvdmVybGFwcGluZyBodW5rcyBpbnRvIGEgdGVtcG9yYXJ5IGh1bmsgKi8KKwkJCWlmIChtZXJnZV9odW5rcyhzLCBmaWxlX2RpZmYsICZpLCB1c2VfYWxsLCAmbWVyZ2VkKSkKKwkJCQlodW5rID0gJm1lcmdlZDsKKworCQkJcmVuZGVyX2h1bmsocywgaHVuaywgZGVsdGEsIDAsIG91dCk7CisKKwkJCS8qCisJCQkgKiBJbiBjYXNlIGBtZXJnZV9odW5rcygpYCB1c2VkIGBwbGFpbmAgYXMgYSBzY3JhdGNoCisJCQkgKiBwYWQgKHRoaXMgaGFwcGVucyB3aGVuIGFuIGVkaXRlZCBodW5rIGhhZCB0byBiZQorCQkJICogY29hbGVzY2VkIHdpdGggYW5vdGhlciBodW5rKS4KKwkJCSAqLworCQkJc3RyYnVmX3NldGxlbigmcy0+cGxhaW4sIHNhdmVfbGVuKTsKKworCQkJZGVsdGEgKz0gaHVuay0+ZGVsdGE7CisJCX0KKwl9Cit9CisKK3N0YXRpYyBpbnQgc3BsaXRfaHVuayhzdHJ1Y3QgYWRkX3Bfc3RhdGUgKnMsIHN0cnVjdCBmaWxlX2RpZmYgKmZpbGVfZGlmZiwKKwkJICAgICAgIHNpemVfdCBodW5rX2luZGV4KQoreworCWludCBjb2xvcmVkID0gISFzLT5jb2xvcmVkLmxlbiwgZmlyc3QgPSAxOworCXN0cnVjdCBodW5rICpodW5rID0gZmlsZV9kaWZmLT5odW5rICsgaHVua19pbmRleDsKKwlzaXplX3Qgc3BsaXR0YWJsZV9pbnRvOworCXNpemVfdCBlbmQsIGNvbG9yZWRfZW5kLCBjdXJyZW50LCBjb2xvcmVkX2N1cnJlbnQgPSAwLCBjb250ZXh0X2xpbmVfY291bnQ7CisJc3RydWN0IGh1bmtfaGVhZGVyIHJlbWFpbmluZywgKmhlYWRlcjsKKwljaGFyIG1hcmtlciwgY2g7CisKKwlpZiAoaHVua19pbmRleCA+PSBmaWxlX2RpZmYtPmh1bmtfbnIpCisJCUJVRygiaW52YWxpZCBodW5rIGluZGV4OiAlZCAobXVzdCBiZSA+PSAwIGFuZCA8ICVkKSIsCisJCSAgICAoaW50KWh1bmtfaW5kZXgsIChpbnQpZmlsZV9kaWZmLT5odW5rX25yKTsKKworCWlmIChodW5rLT5zcGxpdHRhYmxlX2ludG8gPCAyKQorCQlyZXR1cm4gMDsKKwlzcGxpdHRhYmxlX2ludG8gPSBodW5rLT5zcGxpdHRhYmxlX2ludG87CisKKwllbmQgPSBodW5rLT5lbmQ7CisJY29sb3JlZF9lbmQgPSBodW5rLT5jb2xvcmVkX2VuZDsKKworCXJlbWFpbmluZyA9IGh1bmstPmhlYWRlcjsKKworCWZpbGVfZGlmZi0+aHVua19uciArPSBzcGxpdHRhYmxlX2ludG8gLSAxOworCUFMTE9DX0dST1coZmlsZV9kaWZmLT5odW5rLCBmaWxlX2RpZmYtPmh1bmtfbnIsIGZpbGVfZGlmZi0+aHVua19hbGxvYyk7CisJaWYgKGh1bmtfaW5kZXggKyBzcGxpdHRhYmxlX2ludG8gPCBmaWxlX2RpZmYtPmh1bmtfbnIpCisJCW1lbW1vdmUoZmlsZV9kaWZmLT5odW5rICsgaHVua19pbmRleCArIHNwbGl0dGFibGVfaW50bywKKwkJCWZpbGVfZGlmZi0+aHVuayArIGh1bmtfaW5kZXggKyAxLAorCQkJKGZpbGVfZGlmZi0+aHVua19uciAtIGh1bmtfaW5kZXggLSBzcGxpdHRhYmxlX2ludG8pCisJCQkqIHNpemVvZigqaHVuaykpOworCWh1bmsgPSBmaWxlX2RpZmYtPmh1bmsgKyBodW5rX2luZGV4OworCWh1bmstPnNwbGl0dGFibGVfaW50byA9IDE7CisJbWVtc2V0KGh1bmsgKyAxLCAwLCAoc3BsaXR0YWJsZV9pbnRvIC0gMSkgKiBzaXplb2YoKmh1bmspKTsKKworCWhlYWRlciA9ICZodW5rLT5oZWFkZXI7CisJaGVhZGVyLT5vbGRfY291bnQgPSBoZWFkZXItPm5ld19jb3VudCA9IDA7CisKKwljdXJyZW50ID0gaHVuay0+c3RhcnQ7CisJaWYgKGNvbG9yZWQpCisJCWNvbG9yZWRfY3VycmVudCA9IGh1bmstPmNvbG9yZWRfc3RhcnQ7CisJbWFya2VyID0gJ1wwJzsKKwljb250ZXh0X2xpbmVfY291bnQgPSAwOworCisJd2hpbGUgKHNwbGl0dGFibGVfaW50byA+IDEpIHsKKwkJY2ggPSBzLT5wbGFpbi5idWZbY3VycmVudF07CisKKwkJaWYgKCFjaCkKKwkJCUJVRygiYnVmZmVyIG92ZXJydW4gd2hpbGUgc3BsaXR0aW5nIGh1bmtzIik7CisKKwkJLyoKKwkJICogSXMgdGhpcyB0aGUgZmlyc3QgY29udGV4dCBsaW5lIGFmdGVyIGEgY2hhaW4gb2YgKy8tIGxpbmVzPworCQkgKiBUaGVuIHJlY29yZCB0aGUgc3RhcnQgb2YgdGhlIG5leHQgc3BsaXQgaHVuay4KKwkJICovCisJCWlmICgobWFya2VyID09ICctJyB8fCBtYXJrZXIgPT0gJysnKSAmJiBjaCA9PSAnICcpIHsKKwkJCWZpcnN0ID0gMDsKKwkJCWh1bmtbMV0uc3RhcnQgPSBjdXJyZW50OworCQkJaWYgKGNvbG9yZWQpCisJCQkJaHVua1sxXS5jb2xvcmVkX3N0YXJ0ID0gY29sb3JlZF9jdXJyZW50OworCQkJY29udGV4dF9saW5lX2NvdW50ID0gMDsKKwkJfQorCisJCS8qCisJCSAqIFdhcyB0aGUgcHJldmlvdXMgbGluZSBhICsvLSBvbmU/IEFsdGVybmF0aXZlbHksIGlzIHRoaXMgdGhlCisJCSAqIGZpcnN0IGxpbmUgKGFuZCBub3QgYSArLy0gb25lKT8KKwkJICoKKwkJICogVGhlbiBqdXN0IGluY3JlbWVudCB0aGUgYXBwcm9wcmlhdGUgY291bnRlciBhbmQgY29udGludWUKKwkJICogd2l0aCB0aGUgbmV4dCBsaW5lLgorCQkgKi8KKwkJaWYgKG1hcmtlciAhPSAnICcgfHwgKGNoICE9ICctJyAmJiBjaCAhPSAnKycpKSB7CituZXh0X2h1bmtfbGluZToKKwkJCS8qIENvbW1lbnQgbGluZXMgYXJlIGF0dGFjaGVkIHRvIHRoZSBwcmV2aW91cyBsaW5lICovCisJCQlpZiAoY2ggPT0gJ1xcJykKKwkJCQljaCA9IG1hcmtlciA/IG1hcmtlciA6ICcgJzsKKworCQkJLyogY3VycmVudCBodW5rIG5vdCBkb25lIHlldCAqLworCQkJaWYgKGNoID09ICcgJykKKwkJCQljb250ZXh0X2xpbmVfY291bnQrKzsKKwkJCWVsc2UgaWYgKGNoID09ICctJykKKwkJCQloZWFkZXItPm9sZF9jb3VudCsrOworCQkJZWxzZSBpZiAoY2ggPT0gJysnKQorCQkJCWhlYWRlci0+bmV3X2NvdW50Kys7CisJCQllbHNlCisJCQkJQlVHKCJ1bmhhbmRsZWQgZGlmZiBtYXJrZXI6ICclYyciLCBjaCk7CisJCQltYXJrZXIgPSBjaDsKKwkJCWN1cnJlbnQgPSBmaW5kX25leHRfbGluZSgmcy0+cGxhaW4sIGN1cnJlbnQpOworCQkJaWYgKGNvbG9yZWQpCisJCQkJY29sb3JlZF9jdXJyZW50ID0KKwkJCQkJZmluZF9uZXh0X2xpbmUoJnMtPmNvbG9yZWQsCisJCQkJCQkgICAgICAgY29sb3JlZF9jdXJyZW50KTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJLyoKKwkJICogV2UgZ290IHVzIHRoZSBzdGFydCBvZiBhIG5ldyBodW5rIQorCQkgKgorCQkgKiBUaGlzIGlzIGEgY29udGV4dCBsaW5lLCBzbyBpdCBpcyBzaGFyZWQgd2l0aCB0aGUgcHJldmlvdXMKKwkJICogaHVuaywgaWYgYW55LgorCQkgKi8KKworCQlpZiAoZmlyc3QpIHsKKwkJCWlmIChoZWFkZXItPm9sZF9jb3VudCB8fCBoZWFkZXItPm5ld19jb3VudCkKKwkJCQlCVUcoImNvdW50cyBhcmUgb2ZmOiAlZC8lZCIsCisJCQkJICAgIChpbnQpaGVhZGVyLT5vbGRfY291bnQsCisJCQkJICAgIChpbnQpaGVhZGVyLT5uZXdfY291bnQpOworCisJCQloZWFkZXItPm9sZF9jb3VudCA9IGNvbnRleHRfbGluZV9jb3VudDsKKwkJCWhlYWRlci0+bmV3X2NvdW50ID0gY29udGV4dF9saW5lX2NvdW50OworCQkJY29udGV4dF9saW5lX2NvdW50ID0gMDsKKwkJCWZpcnN0ID0gMDsKKwkJCWdvdG8gbmV4dF9odW5rX2xpbmU7CisJCX0KKworCQlyZW1haW5pbmcub2xkX29mZnNldCArPSBoZWFkZXItPm9sZF9jb3VudDsKKwkJcmVtYWluaW5nLm9sZF9jb3VudCAtPSBoZWFkZXItPm9sZF9jb3VudDsKKwkJcmVtYWluaW5nLm5ld19vZmZzZXQgKz0gaGVhZGVyLT5uZXdfY291bnQ7CisJCXJlbWFpbmluZy5uZXdfY291bnQgLT0gaGVhZGVyLT5uZXdfY291bnQ7CisKKwkJLyogaW5pdGlhbGl6ZSBuZXh0IGh1bmsgaGVhZGVyJ3Mgb2Zmc2V0cyAqLworCQlodW5rWzFdLmhlYWRlci5vbGRfb2Zmc2V0ID0KKwkJCWhlYWRlci0+b2xkX29mZnNldCArIGhlYWRlci0+b2xkX2NvdW50OworCQlodW5rWzFdLmhlYWRlci5uZXdfb2Zmc2V0ID0KKwkJCWhlYWRlci0+bmV3X29mZnNldCArIGhlYWRlci0+bmV3X2NvdW50OworCisJCS8qIGFkZCBvbmUgc3BsaXQgaHVuayAqLworCQloZWFkZXItPm9sZF9jb3VudCArPSBjb250ZXh0X2xpbmVfY291bnQ7CisJCWhlYWRlci0+bmV3X2NvdW50ICs9IGNvbnRleHRfbGluZV9jb3VudDsKKworCQlodW5rLT5lbmQgPSBjdXJyZW50OworCQlpZiAoY29sb3JlZCkKKwkJCWh1bmstPmNvbG9yZWRfZW5kID0gY29sb3JlZF9jdXJyZW50OworCisJCWh1bmsrKzsKKwkJaHVuay0+c3BsaXR0YWJsZV9pbnRvID0gMTsKKwkJaHVuay0+dXNlID0gaHVua1stMV0udXNlOworCQloZWFkZXIgPSAmaHVuay0+aGVhZGVyOworCisJCWhlYWRlci0+b2xkX2NvdW50ID0gaGVhZGVyLT5uZXdfY291bnQgPSBjb250ZXh0X2xpbmVfY291bnQ7CisJCWNvbnRleHRfbGluZV9jb3VudCA9IDA7CisKKwkJc3BsaXR0YWJsZV9pbnRvLS07CisJCW1hcmtlciA9IGNoOworCX0KKworCS8qIGxhc3QgaHVuayBzaW1wbHkgZ2V0cyB0aGUgcmVzdCAqLworCWlmIChoZWFkZXItPm9sZF9vZmZzZXQgIT0gcmVtYWluaW5nLm9sZF9vZmZzZXQpCisJCUJVRygibWlzY291bnRlZCBvbGRfb2Zmc2V0OiAlbHUgIT0gJWx1IiwKKwkJICAgIGhlYWRlci0+b2xkX29mZnNldCwgcmVtYWluaW5nLm9sZF9vZmZzZXQpOworCWlmIChoZWFkZXItPm5ld19vZmZzZXQgIT0gcmVtYWluaW5nLm5ld19vZmZzZXQpCisJCUJVRygibWlzY291bnRlZCBuZXdfb2Zmc2V0OiAlbHUgIT0gJWx1IiwKKwkJICAgIGhlYWRlci0+bmV3X29mZnNldCwgcmVtYWluaW5nLm5ld19vZmZzZXQpOworCWhlYWRlci0+b2xkX2NvdW50ID0gcmVtYWluaW5nLm9sZF9jb3VudDsKKwloZWFkZXItPm5ld19jb3VudCA9IHJlbWFpbmluZy5uZXdfY291bnQ7CisJaHVuay0+ZW5kID0gZW5kOworCWlmIChjb2xvcmVkKQorCQlodW5rLT5jb2xvcmVkX2VuZCA9IGNvbG9yZWRfZW5kOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHJlY29sb3JfaHVuayhzdHJ1Y3QgYWRkX3Bfc3RhdGUgKnMsIHN0cnVjdCBodW5rICpodW5rKQoreworCWNvbnN0IGNoYXIgKnBsYWluID0gcy0+cGxhaW4uYnVmOworCXNpemVfdCBjdXJyZW50LCBlb2wsIG5leHQ7CisKKwlpZiAoIXMtPmNvbG9yZWQubGVuKQorCQlyZXR1cm47CisKKwlodW5rLT5jb2xvcmVkX3N0YXJ0ID0gcy0+Y29sb3JlZC5sZW47CisJZm9yIChjdXJyZW50ID0gaHVuay0+c3RhcnQ7IGN1cnJlbnQgPCBodW5rLT5lbmQ7ICkgeworCQlmb3IgKGVvbCA9IGN1cnJlbnQ7IGVvbCA8IGh1bmstPmVuZDsgZW9sKyspCisJCQlpZiAocGxhaW5bZW9sXSA9PSAnXG4nKQorCQkJCWJyZWFrOworCQluZXh0ID0gZW9sICsgKGVvbCA8IGh1bmstPmVuZCk7CisJCWlmIChlb2wgPiBjdXJyZW50ICYmIHBsYWluW2VvbCAtIDFdID09ICdccicpCisJCQllb2wtLTsKKworCQlzdHJidWZfYWRkc3RyKCZzLT5jb2xvcmVkLAorCQkJICAgICAgcGxhaW5bY3VycmVudF0gPT0gJy0nID8KKwkJCSAgICAgIHMtPnMuZmlsZV9vbGRfY29sb3IgOgorCQkJICAgICAgcGxhaW5bY3VycmVudF0gPT0gJysnID8KKwkJCSAgICAgIHMtPnMuZmlsZV9uZXdfY29sb3IgOgorCQkJICAgICAgcy0+cy5jb250ZXh0X2NvbG9yKTsKKwkJc3RyYnVmX2FkZCgmcy0+Y29sb3JlZCwgcGxhaW4gKyBjdXJyZW50LCBlb2wgLSBjdXJyZW50KTsKKwkJc3RyYnVmX2FkZHN0cigmcy0+Y29sb3JlZCwgR0lUX0NPTE9SX1JFU0VUKTsKKwkJaWYgKG5leHQgPiBlb2wpCisJCQlzdHJidWZfYWRkKCZzLT5jb2xvcmVkLCBwbGFpbiArIGVvbCwgbmV4dCAtIGVvbCk7CisJCWN1cnJlbnQgPSBuZXh0OworCX0KKwlodW5rLT5jb2xvcmVkX2VuZCA9IHMtPmNvbG9yZWQubGVuOworfQorCitzdGF0aWMgaW50IGVkaXRfaHVua19tYW51YWxseShzdHJ1Y3QgYWRkX3Bfc3RhdGUgKnMsIHN0cnVjdCBodW5rICpodW5rKQoreworCXNpemVfdCBpOworCisJc3RyYnVmX3Jlc2V0KCZzLT5idWYpOworCXN0cmJ1Zl9jb21tZW50ZWRfYWRkZigmcy0+YnVmLCBfKCJNYW51YWwgaHVuayBlZGl0IG1vZGUgLS0gc2VlIGJvdHRvbSBmb3IgIgorCQkJCSAgICAgICJhIHF1aWNrIGd1aWRlLlxuIikpOworCXJlbmRlcl9odW5rKHMsIGh1bmssIDAsIDAsICZzLT5idWYpOworCXN0cmJ1Zl9jb21tZW50ZWRfYWRkZigmcy0+YnVmLAorCQkJICAgICAgXygiLS0tXG4iCisJCQkJIlRvIHJlbW92ZSAnJWMnIGxpbmVzLCBtYWtlIHRoZW0gJyAnIGxpbmVzICIKKwkJCQkiKGNvbnRleHQpLlxuIgorCQkJCSJUbyByZW1vdmUgJyVjJyBsaW5lcywgZGVsZXRlIHRoZW0uXG4iCisJCQkJIkxpbmVzIHN0YXJ0aW5nIHdpdGggJWMgd2lsbCBiZSByZW1vdmVkLlxuIiksCisJCQkgICAgICBzLT5tb2RlLT5pc19yZXZlcnNlID8gJysnIDogJy0nLAorCQkJICAgICAgcy0+bW9kZS0+aXNfcmV2ZXJzZSA/ICctJyA6ICcrJywKKwkJCSAgICAgIGNvbW1lbnRfbGluZV9jaGFyKTsKKwlzdHJidWZfY29tbWVudGVkX2FkZGYoJnMtPmJ1ZiwgIiVzIiwgXyhzLT5tb2RlLT5lZGl0X2h1bmtfaGludCkpOworCS8qCisJICogVFJBTlNMQVRPUlM6ICdpdCcgcmVmZXJzIHRvIHRoZSBwYXRjaCBtZW50aW9uZWQgaW4gdGhlIHByZXZpb3VzCisJICogbWVzc2FnZXMuCisJICovCisJc3RyYnVmX2NvbW1lbnRlZF9hZGRmKCZzLT5idWYsCisJCQkgICAgICBfKCJJZiBpdCBkb2VzIG5vdCBhcHBseSBjbGVhbmx5LCB5b3Ugd2lsbCBiZSAiCisJCQkJImdpdmVuIGFuIG9wcG9ydHVuaXR5IHRvXG4iCisJCQkJImVkaXQgYWdhaW4uICBJZiBhbGwgbGluZXMgb2YgdGhlIGh1bmsgYXJlICIKKwkJCQkicmVtb3ZlZCwgdGhlbiB0aGUgZWRpdCBpc1xuIgorCQkJCSJhYm9ydGVkIGFuZCB0aGUgaHVuayBpcyBsZWZ0IHVuY2hhbmdlZC5cbiIpKTsKKworCWlmIChzdHJidWZfZWRpdF9pbnRlcmFjdGl2ZWx5KCZzLT5idWYsICJhZGRwLWh1bmstZWRpdC5kaWZmIiwgTlVMTCkgPCAwKQorCQlyZXR1cm4gLTE7CisKKwkvKiBzdHJpcCBvdXQgY29tbWVudGVkIGxpbmVzICovCisJaHVuay0+c3RhcnQgPSBzLT5wbGFpbi5sZW47CisJZm9yIChpID0gMDsgaSA8IHMtPmJ1Zi5sZW47ICkgeworCQlzaXplX3QgbmV4dCA9IGZpbmRfbmV4dF9saW5lKCZzLT5idWYsIGkpOworCisJCWlmIChzLT5idWYuYnVmW2ldICE9IGNvbW1lbnRfbGluZV9jaGFyKQorCQkJc3RyYnVmX2FkZCgmcy0+cGxhaW4sIHMtPmJ1Zi5idWYgKyBpLCBuZXh0IC0gaSk7CisJCWkgPSBuZXh0OworCX0KKworCWh1bmstPmVuZCA9IHMtPnBsYWluLmxlbjsKKwlpZiAoaHVuay0+ZW5kID09IGh1bmstPnN0YXJ0KQorCQkvKiBUaGUgdXNlciBhYm9ydGVkIGVkaXRpbmcgYnkgZGVsZXRpbmcgZXZlcnl0aGluZyAqLworCQlyZXR1cm4gMDsKKworCXJlY29sb3JfaHVuayhzLCBodW5rKTsKKworCS8qCisJICogSWYgdGhlIGh1bmsgaGVhZGVyIGlzIGludGFjdCwgcGFyc2UgaXQsIG90aGVyd2lzZSBzaW1wbHkgdXNlIHRoZQorCSAqIGh1bmsgaGVhZGVyIHByaW9yIHRvIGVkaXRpbmcgKHdoaWNoIHdpbGwgYWRqdXN0IGBodW5rLT5zdGFydGAgdG8KKwkgKiBza2lwIHRoZSBodW5rIGhlYWRlcikuCisJICovCisJaWYgKHMtPnBsYWluLmJ1ZltodW5rLT5zdGFydF0gPT0gJ0AnICYmCisJICAgIHBhcnNlX2h1bmtfaGVhZGVyKHMsIGh1bmspIDwgMCkKKwkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCBwYXJzZSBodW5rIGhlYWRlciIpKTsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgc3NpemVfdCByZWNvdW50X2VkaXRlZF9odW5rKHN0cnVjdCBhZGRfcF9zdGF0ZSAqcywgc3RydWN0IGh1bmsgKmh1bmssCisJCQkJICAgc2l6ZV90IG9yaWdfb2xkX2NvdW50LCBzaXplX3Qgb3JpZ19uZXdfY291bnQpCit7CisJc3RydWN0IGh1bmtfaGVhZGVyICpoZWFkZXIgPSAmaHVuay0+aGVhZGVyOworCXNpemVfdCBpOworCisJaGVhZGVyLT5vbGRfY291bnQgPSBoZWFkZXItPm5ld19jb3VudCA9IDA7CisJZm9yIChpID0gaHVuay0+c3RhcnQ7IGkgPCBodW5rLT5lbmQ7ICkgeworCQlzd2l0Y2ggKHMtPnBsYWluLmJ1ZltpXSkgeworCQljYXNlICctJzoKKwkJCWhlYWRlci0+b2xkX2NvdW50Kys7CisJCQlicmVhazsKKwkJY2FzZSAnKyc6CisJCQloZWFkZXItPm5ld19jb3VudCsrOworCQkJYnJlYWs7CisJCWNhc2UgJyAnOiBjYXNlICdccic6IGNhc2UgJ1xuJzoKKwkJCWhlYWRlci0+b2xkX2NvdW50Kys7CisJCQloZWFkZXItPm5ld19jb3VudCsrOworCQkJYnJlYWs7CisJCX0KKworCQlpID0gZmluZF9uZXh0X2xpbmUoJnMtPnBsYWluLCBpKTsKKwl9CisKKwlyZXR1cm4gb3JpZ19vbGRfY291bnQgLSBvcmlnX25ld19jb3VudAorCQktIGhlYWRlci0+b2xkX2NvdW50ICsgaGVhZGVyLT5uZXdfY291bnQ7Cit9CisKK3N0YXRpYyBpbnQgcnVuX2FwcGx5X2NoZWNrKHN0cnVjdCBhZGRfcF9zdGF0ZSAqcywKKwkJCSAgIHN0cnVjdCBmaWxlX2RpZmYgKmZpbGVfZGlmZikKK3sKKwlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcCA9IENISUxEX1BST0NFU1NfSU5JVDsKKworCXN0cmJ1Zl9yZXNldCgmcy0+YnVmKTsKKwlyZWFzc2VtYmxlX3BhdGNoKHMsIGZpbGVfZGlmZiwgMSwgJnMtPmJ1Zik7CisKKwlzZXR1cF9jaGlsZF9wcm9jZXNzKHMsICZjcCwKKwkJCSAgICAiYXBwbHkiLCAiLS1jaGVjayIsIE5VTEwpOworCWFyZ3ZfYXJyYXlfcHVzaHYoJmNwLmFyZ3MsIHMtPm1vZGUtPmFwcGx5X2NoZWNrX2FyZ3MpOworCWlmIChwaXBlX2NvbW1hbmQoJmNwLCBzLT5idWYuYnVmLCBzLT5idWYubGVuLCBOVUxMLCAwLCBOVUxMLCAwKSkKKwkJcmV0dXJuIGVycm9yKF8oIidnaXQgYXBwbHkgLS1jYWNoZWQnIGZhaWxlZCIpKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHJlYWRfc2luZ2xlX2NoYXJhY3RlcihzdHJ1Y3QgYWRkX3Bfc3RhdGUgKnMpCit7CisJaWYgKHMtPnMudXNlX3NpbmdsZV9rZXkpIHsKKwkJaW50IHJlcyA9IHJlYWRfa2V5X3dpdGhvdXRfZWNobygmcy0+YW5zd2VyKTsKKwkJcHJpbnRmKCIlc1xuIiwgcmVzID09IEVPRiA/ICIiIDogcy0+YW5zd2VyLmJ1Zik7CisJCXJldHVybiByZXM7CisJfQorCisJaWYgKHN0cmJ1Zl9nZXRsaW5lKCZzLT5hbnN3ZXIsIHN0ZGluKSA9PSBFT0YpCisJCXJldHVybiBFT0Y7CisJc3RyYnVmX3RyaW1fdHJhaWxpbmdfbmV3bGluZSgmcy0+YW5zd2VyKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9tcHRfeWVzbm8oc3RydWN0IGFkZF9wX3N0YXRlICpzLCBjb25zdCBjaGFyICpwcm9tcHQpCit7CisJZm9yICg7OykgeworCQljb2xvcl9mcHJpbnRmKHN0ZG91dCwgcy0+cy5wcm9tcHRfY29sb3IsICIlcyIsIF8ocHJvbXB0KSk7CisJCWZmbHVzaChzdGRvdXQpOworCQlpZiAocmVhZF9zaW5nbGVfY2hhcmFjdGVyKHMpID09IEVPRikKKwkJCXJldHVybiAtMTsKKwkJc3dpdGNoICh0b2xvd2VyKHMtPmFuc3dlci5idWZbMF0pKSB7CisJCWNhc2UgJ24nOiByZXR1cm4gMDsKKwkJY2FzZSAneSc6IHJldHVybiAxOworCQl9CisJfQorfQorCitzdGF0aWMgaW50IGVkaXRfaHVua19sb29wKHN0cnVjdCBhZGRfcF9zdGF0ZSAqcywKKwkJCSAgc3RydWN0IGZpbGVfZGlmZiAqZmlsZV9kaWZmLCBzdHJ1Y3QgaHVuayAqaHVuaykKK3sKKwlzaXplX3QgcGxhaW5fbGVuID0gcy0+cGxhaW4ubGVuLCBjb2xvcmVkX2xlbiA9IHMtPmNvbG9yZWQubGVuOworCXN0cnVjdCBodW5rIGJhY2t1cDsKKworCWJhY2t1cCA9ICpodW5rOworCisJZm9yICg7OykgeworCQlpbnQgcmVzID0gZWRpdF9odW5rX21hbnVhbGx5KHMsIGh1bmspOworCQlpZiAocmVzID09IDApIHsKKwkJCS8qIGFiYW5kb25kZWQgKi8KKwkJCSpodW5rID0gYmFja3VwOworCQkJcmV0dXJuIC0xOworCQl9CisKKwkJaWYgKHJlcyA+IDApIHsKKwkJCWh1bmstPmRlbHRhICs9CisJCQkJcmVjb3VudF9lZGl0ZWRfaHVuayhzLCBodW5rLAorCQkJCQkJICAgIGJhY2t1cC5oZWFkZXIub2xkX2NvdW50LAorCQkJCQkJICAgIGJhY2t1cC5oZWFkZXIubmV3X2NvdW50KTsKKwkJCWlmICghcnVuX2FwcGx5X2NoZWNrKHMsIGZpbGVfZGlmZikpCisJCQkJcmV0dXJuIDA7CisJCX0KKworCQkvKiBEcm9wIGVkaXRzICh0aGV5IHdlcmUgYXBwZW5kZWQgdG8gcy0+cGxhaW4pICovCisJCXN0cmJ1Zl9zZXRsZW4oJnMtPnBsYWluLCBwbGFpbl9sZW4pOworCQlzdHJidWZfc2V0bGVuKCZzLT5jb2xvcmVkLCBjb2xvcmVkX2xlbik7CisJCSpodW5rID0gYmFja3VwOworCisJCS8qCisJCSAqIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIFt5L25dCisJCSAqIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgdGhhdCBpbnB1dCBhdCB0aGlzIHBvaW50LgorCQkgKiBDb25zaWRlciB0cmFuc2xhdGluZyAoc2F5aW5nICJubyIgZGlzY2FyZHMhKSBhcworCQkgKiAoc2F5aW5nICJuIiBmb3IgIm5vIiBkaXNjYXJkcyEpIGlmIHRoZSB0cmFuc2xhdGlvbgorCQkgKiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KKwkJICovCisJCXJlcyA9IHByb21wdF95ZXNubyhzLCBfKCJZb3VyIGVkaXRlZCBodW5rIGRvZXMgbm90IGFwcGx5LiAiCisJCQkJCSJFZGl0IGFnYWluIChzYXlpbmcgXCJub1wiIGRpc2NhcmRzISkgIgorCQkJCQkiW3kvbl0/ICIpKTsKKwkJaWYgKHJlcyA8IDEpCisJCQlyZXR1cm4gLTE7CisJfQorfQorCitzdGF0aWMgaW50IGFwcGx5X2Zvcl9jaGVja291dChzdHJ1Y3QgYWRkX3Bfc3RhdGUgKnMsIHN0cnVjdCBzdHJidWYgKmRpZmYsCisJCQkgICAgICBpbnQgaXNfcmV2ZXJzZSkKK3sKKwljb25zdCBjaGFyICpyZXZlcnNlID0gaXNfcmV2ZXJzZSA/ICItUiIgOiBOVUxMOworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNoZWNrX2luZGV4ID0gQ0hJTERfUFJPQ0VTU19JTklUOworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNoZWNrX3dvcmt0cmVlID0gQ0hJTERfUFJPQ0VTU19JTklUOworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGFwcGx5X2luZGV4ID0gQ0hJTERfUFJPQ0VTU19JTklUOworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGFwcGx5X3dvcmt0cmVlID0gQ0hJTERfUFJPQ0VTU19JTklUOworCWludCBhcHBsaWVzX2luZGV4LCBhcHBsaWVzX3dvcmt0cmVlOworCisJc2V0dXBfY2hpbGRfcHJvY2VzcyhzLCAmY2hlY2tfaW5kZXgsCisJCQkgICAgImFwcGx5IiwgIi0tY2FjaGVkIiwgIi0tY2hlY2siLCByZXZlcnNlLCBOVUxMKTsKKwlhcHBsaWVzX2luZGV4ID0gIXBpcGVfY29tbWFuZCgmY2hlY2tfaW5kZXgsIGRpZmYtPmJ1ZiwgZGlmZi0+bGVuLAorCQkJCSAgICAgIE5VTEwsIDAsIE5VTEwsIDApOworCisJc2V0dXBfY2hpbGRfcHJvY2VzcyhzLCAmY2hlY2tfd29ya3RyZWUsCisJCQkgICAgImFwcGx5IiwgIi0tY2hlY2siLCByZXZlcnNlLCBOVUxMKTsKKwlhcHBsaWVzX3dvcmt0cmVlID0gIXBpcGVfY29tbWFuZCgmY2hlY2tfd29ya3RyZWUsIGRpZmYtPmJ1ZiwgZGlmZi0+bGVuLAorCQkJCQkgTlVMTCwgMCwgTlVMTCwgMCk7CisKKwlpZiAoYXBwbGllc193b3JrdHJlZSAmJiBhcHBsaWVzX2luZGV4KSB7CisJCXNldHVwX2NoaWxkX3Byb2Nlc3MocywgJmFwcGx5X2luZGV4LAorCQkJCSAgICAiYXBwbHkiLCAiLS1jYWNoZWQiLCByZXZlcnNlLCBOVUxMKTsKKwkJcGlwZV9jb21tYW5kKCZhcHBseV9pbmRleCwgZGlmZi0+YnVmLCBkaWZmLT5sZW4sCisJCQkgICAgIE5VTEwsIDAsIE5VTEwsIDApOworCisJCXNldHVwX2NoaWxkX3Byb2Nlc3MocywgJmFwcGx5X3dvcmt0cmVlLAorCQkJCSAgICAiYXBwbHkiLCByZXZlcnNlLCBOVUxMKTsKKwkJcGlwZV9jb21tYW5kKCZhcHBseV93b3JrdHJlZSwgZGlmZi0+YnVmLCBkaWZmLT5sZW4sCisJCQkgICAgIE5VTEwsIDAsIE5VTEwsIDApOworCisJCXJldHVybiAxOworCX0KKworCWlmICghYXBwbGllc19pbmRleCkgeworCQllcnIocywgXygiVGhlIHNlbGVjdGVkIGh1bmtzIGRvIG5vdCBhcHBseSB0byB0aGUgaW5kZXghIikpOworCQlpZiAocHJvbXB0X3llc25vKHMsIF8oIkFwcGx5IHRoZW0gdG8gdGhlIHdvcmt0cmVlICIKKwkJCQkJICAiYW55d2F5PyAiKSkgPiAwKSB7CisJCQlzZXR1cF9jaGlsZF9wcm9jZXNzKHMsICZhcHBseV93b3JrdHJlZSwKKwkJCQkJICAgICJhcHBseSIsIHJldmVyc2UsIE5VTEwpOworCQkJcmV0dXJuIHBpcGVfY29tbWFuZCgmYXBwbHlfd29ya3RyZWUsIGRpZmYtPmJ1ZiwKKwkJCQkJICAgIGRpZmYtPmxlbiwgTlVMTCwgMCwgTlVMTCwgMCk7CisJCX0KKwkJZXJyKHMsIF8oIk5vdGhpbmcgd2FzIGFwcGxpZWQuXG4iKSk7CisJfSBlbHNlCisJCS8qIEFzIGEgbGFzdCByZXNvcnQsIHNob3cgdGhlIGRpZmYgdG8gdGhlIHVzZXIgKi8KKwkJZndyaXRlKGRpZmYtPmJ1ZiwgZGlmZi0+bGVuLCAxLCBzdGRlcnIpOworCisJcmV0dXJuIDA7Cit9CisKKyNkZWZpbmUgU1VNTUFSWV9IRUFERVJfV0lEVEggMjAKKyNkZWZpbmUgU1VNTUFSWV9MSU5FX1dJRFRIIDgwCitzdGF0aWMgdm9pZCBzdW1tYXJpemVfaHVuayhzdHJ1Y3QgYWRkX3Bfc3RhdGUgKnMsIHN0cnVjdCBodW5rICpodW5rLAorCQkJICAgc3RydWN0IHN0cmJ1ZiAqb3V0KQoreworCXN0cnVjdCBodW5rX2hlYWRlciAqaGVhZGVyID0gJmh1bmstPmhlYWRlcjsKKwlzdHJ1Y3Qgc3RyYnVmICpwbGFpbiA9ICZzLT5wbGFpbjsKKwlzaXplX3QgbGVuID0gb3V0LT5sZW4sIGk7CisKKwlzdHJidWZfYWRkZihvdXQsICIgLSVsdSwlbHUgKyVsdSwlbHUgIiwKKwkJICAgIGhlYWRlci0+b2xkX29mZnNldCwgaGVhZGVyLT5vbGRfY291bnQsCisJCSAgICBoZWFkZXItPm5ld19vZmZzZXQsIGhlYWRlci0+bmV3X2NvdW50KTsKKwlpZiAob3V0LT5sZW4gLSBsZW4gPCBTVU1NQVJZX0hFQURFUl9XSURUSCkKKwkJc3RyYnVmX2FkZGNoYXJzKG91dCwgJyAnLAorCQkJCVNVTU1BUllfSEVBREVSX1dJRFRIICsgbGVuIC0gb3V0LT5sZW4pOworCWZvciAoaSA9IGh1bmstPnN0YXJ0OyBpIDwgaHVuay0+ZW5kOyBpID0gZmluZF9uZXh0X2xpbmUocGxhaW4sIGkpKQorCQlpZiAocGxhaW4tPmJ1ZltpXSAhPSAnICcpCisJCQlicmVhazsKKwlpZiAoaSA8IGh1bmstPmVuZCkKKwkJc3RyYnVmX2FkZChvdXQsIHBsYWluLT5idWYgKyBpLCBmaW5kX25leHRfbGluZShwbGFpbiwgaSkgLSBpKTsKKwlpZiAob3V0LT5sZW4gLSBsZW4gPiBTVU1NQVJZX0xJTkVfV0lEVEgpCisJCXN0cmJ1Zl9zZXRsZW4ob3V0LCBsZW4gKyBTVU1NQVJZX0xJTkVfV0lEVEgpOworCXN0cmJ1Zl9jb21wbGV0ZV9saW5lKG91dCk7Cit9CisKKyNkZWZpbmUgRElTUExBWV9IVU5LU19MSU5FUyAyMAorc3RhdGljIHNpemVfdCBkaXNwbGF5X2h1bmtzKHN0cnVjdCBhZGRfcF9zdGF0ZSAqcywKKwkJCSAgICBzdHJ1Y3QgZmlsZV9kaWZmICpmaWxlX2RpZmYsIHNpemVfdCBzdGFydF9pbmRleCkKK3sKKwlzaXplX3QgZW5kX2luZGV4ID0gc3RhcnRfaW5kZXggKyBESVNQTEFZX0hVTktTX0xJTkVTOworCisJaWYgKGVuZF9pbmRleCA+IGZpbGVfZGlmZi0+aHVua19ucikKKwkJZW5kX2luZGV4ID0gZmlsZV9kaWZmLT5odW5rX25yOworCisJd2hpbGUgKHN0YXJ0X2luZGV4IDwgZW5kX2luZGV4KSB7CisJCXN0cnVjdCBodW5rICpodW5rID0gZmlsZV9kaWZmLT5odW5rICsgc3RhcnRfaW5kZXgrKzsKKworCQlzdHJidWZfcmVzZXQoJnMtPmJ1Zik7CisJCXN0cmJ1Zl9hZGRmKCZzLT5idWYsICIlYyUyZDogIiwgaHVuay0+dXNlID09IFVTRV9IVU5LID8gJysnCisJCQkgICAgOiBodW5rLT51c2UgPT0gU0tJUF9IVU5LID8gJy0nIDogJyAnLAorCQkJICAgIChpbnQpc3RhcnRfaW5kZXgpOworCQlzdW1tYXJpemVfaHVuayhzLCBodW5rLCAmcy0+YnVmKTsKKwkJZnB1dHMocy0+YnVmLmJ1Ziwgc3Rkb3V0KTsKKwl9CisKKwlyZXR1cm4gZW5kX2luZGV4OworfQorCitzdGF0aWMgY29uc3QgY2hhciBoZWxwX3BhdGNoX3JlbWFpbmRlcltdID0KK05fKCJqIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIG5leHQgdW5kZWNpZGVkIGh1bmtcbiIKKyAgICJKIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIG5leHQgaHVua1xuIgorICAgImsgLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgcHJldmlvdXMgdW5kZWNpZGVkIGh1bmtcbiIKKyAgICJLIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIHByZXZpb3VzIGh1bmtcbiIKKyAgICJnIC0gc2VsZWN0IGEgaHVuayB0byBnbyB0b1xuIgorICAgIi8gLSBzZWFyY2ggZm9yIGEgaHVuayBtYXRjaGluZyB0aGUgZ2l2ZW4gcmVnZXhcbiIKKyAgICJzIC0gc3BsaXQgdGhlIGN1cnJlbnQgaHVuayBpbnRvIHNtYWxsZXIgaHVua3NcbiIKKyAgICJlIC0gbWFudWFsbHkgZWRpdCB0aGUgY3VycmVudCBodW5rXG4iCisgICAiPyAtIHByaW50IGhlbHBcbiIpOworCitzdGF0aWMgaW50IHBhdGNoX3VwZGF0ZV9maWxlKHN0cnVjdCBhZGRfcF9zdGF0ZSAqcywKKwkJCSAgICAgc3RydWN0IGZpbGVfZGlmZiAqZmlsZV9kaWZmKQoreworCXNpemVfdCBodW5rX2luZGV4ID0gMDsKKwlzc2l6ZV90IGksIHVuZGVjaWRlZF9wcmV2aW91cywgdW5kZWNpZGVkX25leHQ7CisJc3RydWN0IGh1bmsgKmh1bms7CisJY2hhciBjaDsKKwlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcCA9IENISUxEX1BST0NFU1NfSU5JVDsKKwlpbnQgY29sb3JlZCA9ICEhcy0+Y29sb3JlZC5sZW4sIHF1aXQgPSAwOworCWVudW0gcHJvbXB0X21vZGVfdHlwZSBwcm9tcHRfbW9kZV90eXBlOworCisJaWYgKCFmaWxlX2RpZmYtPmh1bmtfbnIpCisJCXJldHVybiAwOworCisJc3RyYnVmX3Jlc2V0KCZzLT5idWYpOworCXJlbmRlcl9kaWZmX2hlYWRlcihzLCBmaWxlX2RpZmYsIGNvbG9yZWQsICZzLT5idWYpOworCWZwdXRzKHMtPmJ1Zi5idWYsIHN0ZG91dCk7CisJZm9yICg7OykgeworCQlpZiAoaHVua19pbmRleCA+PSBmaWxlX2RpZmYtPmh1bmtfbnIpCisJCQlodW5rX2luZGV4ID0gMDsKKwkJaHVuayA9IGZpbGVfZGlmZi0+aHVuayArIGh1bmtfaW5kZXg7CisKKwkJdW5kZWNpZGVkX3ByZXZpb3VzID0gLTE7CisJCWZvciAoaSA9IGh1bmtfaW5kZXggLSAxOyBpID49IDA7IGktLSkKKwkJCWlmIChmaWxlX2RpZmYtPmh1bmtbaV0udXNlID09IFVOREVDSURFRF9IVU5LKSB7CisJCQkJdW5kZWNpZGVkX3ByZXZpb3VzID0gaTsKKwkJCQlicmVhazsKKwkJCX0KKworCQl1bmRlY2lkZWRfbmV4dCA9IC0xOworCQlmb3IgKGkgPSBodW5rX2luZGV4ICsgMTsgaSA8IGZpbGVfZGlmZi0+aHVua19ucjsgaSsrKQorCQkJaWYgKGZpbGVfZGlmZi0+aHVua1tpXS51c2UgPT0gVU5ERUNJREVEX0hVTkspIHsKKwkJCQl1bmRlY2lkZWRfbmV4dCA9IGk7CisJCQkJYnJlYWs7CisJCQl9CisKKwkJLyogRXZlcnl0aGluZyBkZWNpZGVkPyAqLworCQlpZiAodW5kZWNpZGVkX3ByZXZpb3VzIDwgMCAmJiB1bmRlY2lkZWRfbmV4dCA8IDAgJiYKKwkJICAgIGh1bmstPnVzZSAhPSBVTkRFQ0lERURfSFVOSykKKwkJCWJyZWFrOworCisJCXN0cmJ1Zl9yZXNldCgmcy0+YnVmKTsKKwkJcmVuZGVyX2h1bmsocywgaHVuaywgMCwgY29sb3JlZCwgJnMtPmJ1Zik7CisJCWZwdXRzKHMtPmJ1Zi5idWYsIHN0ZG91dCk7CisKKwkJc3RyYnVmX3Jlc2V0KCZzLT5idWYpOworCQlpZiAodW5kZWNpZGVkX3ByZXZpb3VzID49IDApCisJCQlzdHJidWZfYWRkc3RyKCZzLT5idWYsICIsayIpOworCQlpZiAoaHVua19pbmRleCkKKwkJCXN0cmJ1Zl9hZGRzdHIoJnMtPmJ1ZiwgIixLIik7CisJCWlmICh1bmRlY2lkZWRfbmV4dCA+PSAwKQorCQkJc3RyYnVmX2FkZHN0cigmcy0+YnVmLCAiLGoiKTsKKwkJaWYgKGh1bmtfaW5kZXggKyAxIDwgZmlsZV9kaWZmLT5odW5rX25yKQorCQkJc3RyYnVmX2FkZHN0cigmcy0+YnVmLCAiLEoiKTsKKwkJaWYgKGZpbGVfZGlmZi0+aHVua19uciA+IDEpCisJCQlzdHJidWZfYWRkc3RyKCZzLT5idWYsICIsZywvIik7CisJCWlmIChodW5rLT5zcGxpdHRhYmxlX2ludG8gPiAxKQorCQkJc3RyYnVmX2FkZHN0cigmcy0+YnVmLCAiLHMiKTsKKwkJaWYgKGh1bmtfaW5kZXggKyAxID4gZmlsZV9kaWZmLT5tb2RlX2NoYW5nZSAmJgorCQkgICAgIWZpbGVfZGlmZi0+ZGVsZXRlZCkKKwkJCXN0cmJ1Zl9hZGRzdHIoJnMtPmJ1ZiwgIixlIik7CisKKwkJaWYgKGZpbGVfZGlmZi0+ZGVsZXRlZCkKKwkJCXByb21wdF9tb2RlX3R5cGUgPSBQUk9NUFRfREVMRVRJT047CisJCWVsc2UgaWYgKGZpbGVfZGlmZi0+bW9kZV9jaGFuZ2UgJiYgIWh1bmtfaW5kZXgpCisJCQlwcm9tcHRfbW9kZV90eXBlID0gUFJPTVBUX01PREVfQ0hBTkdFOworCQllbHNlCisJCQlwcm9tcHRfbW9kZV90eXBlID0gUFJPTVBUX0hVTks7CisKKwkJY29sb3JfZnByaW50ZihzdGRvdXQsIHMtPnMucHJvbXB0X2NvbG9yLAorCQkJICAgICAgIiglIlBSSXVNQVgiLyUiUFJJdU1BWCIpICIsCisJCQkgICAgICAodWludG1heF90KWh1bmtfaW5kZXggKyAxLAorCQkJICAgICAgKHVpbnRtYXhfdClmaWxlX2RpZmYtPmh1bmtfbnIpOworCQljb2xvcl9mcHJpbnRmKHN0ZG91dCwgcy0+cy5wcm9tcHRfY29sb3IsCisJCQkgICAgICBfKHMtPm1vZGUtPnByb21wdF9tb2RlW3Byb21wdF9tb2RlX3R5cGVdKSwKKwkJCSAgICAgIHMtPmJ1Zi5idWYpOworCQlmZmx1c2goc3Rkb3V0KTsKKwkJaWYgKHJlYWRfc2luZ2xlX2NoYXJhY3RlcihzKSA9PSBFT0YpCisJCQlicmVhazsKKworCQlpZiAoIXMtPmFuc3dlci5sZW4pCisJCQljb250aW51ZTsKKwkJY2ggPSB0b2xvd2VyKHMtPmFuc3dlci5idWZbMF0pOworCQlpZiAoY2ggPT0gJ3knKSB7CisJCQlodW5rLT51c2UgPSBVU0VfSFVOSzsKK3NvZnRfaW5jcmVtZW50OgorCQkJaHVua19pbmRleCA9IHVuZGVjaWRlZF9uZXh0IDwgMCA/CisJCQkJZmlsZV9kaWZmLT5odW5rX25yIDogdW5kZWNpZGVkX25leHQ7CisJCX0gZWxzZSBpZiAoY2ggPT0gJ24nKSB7CisJCQlodW5rLT51c2UgPSBTS0lQX0hVTks7CisJCQlnb3RvIHNvZnRfaW5jcmVtZW50OworCQl9IGVsc2UgaWYgKGNoID09ICdhJykgeworCQkJZm9yICg7IGh1bmtfaW5kZXggPCBmaWxlX2RpZmYtPmh1bmtfbnI7IGh1bmtfaW5kZXgrKykgeworCQkJCWh1bmsgPSBmaWxlX2RpZmYtPmh1bmsgKyBodW5rX2luZGV4OworCQkJCWlmIChodW5rLT51c2UgPT0gVU5ERUNJREVEX0hVTkspCisJCQkJCWh1bmstPnVzZSA9IFVTRV9IVU5LOworCQkJfQorCQl9IGVsc2UgaWYgKGNoID09ICdkJyB8fCBjaCA9PSAncScpIHsKKwkJCWZvciAoOyBodW5rX2luZGV4IDwgZmlsZV9kaWZmLT5odW5rX25yOyBodW5rX2luZGV4KyspIHsKKwkJCQlodW5rID0gZmlsZV9kaWZmLT5odW5rICsgaHVua19pbmRleDsKKwkJCQlpZiAoaHVuay0+dXNlID09IFVOREVDSURFRF9IVU5LKQorCQkJCQlodW5rLT51c2UgPSBTS0lQX0hVTks7CisJCQl9CisJCQlpZiAoY2ggPT0gJ3EnKSB7CisJCQkJcXVpdCA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJCX0gZWxzZSBpZiAocy0+YW5zd2VyLmJ1ZlswXSA9PSAnSycpIHsKKwkJCWlmIChodW5rX2luZGV4KQorCQkJCWh1bmtfaW5kZXgtLTsKKwkJCWVsc2UKKwkJCQllcnIocywgXygiTm8gcHJldmlvdXMgaHVuayIpKTsKKwkJfSBlbHNlIGlmIChzLT5hbnN3ZXIuYnVmWzBdID09ICdKJykgeworCQkJaWYgKGh1bmtfaW5kZXggKyAxIDwgZmlsZV9kaWZmLT5odW5rX25yKQorCQkJCWh1bmtfaW5kZXgrKzsKKwkJCWVsc2UKKwkJCQllcnIocywgXygiTm8gbmV4dCBodW5rIikpOworCQl9IGVsc2UgaWYgKHMtPmFuc3dlci5idWZbMF0gPT0gJ2snKSB7CisJCQlpZiAodW5kZWNpZGVkX3ByZXZpb3VzID49IDApCisJCQkJaHVua19pbmRleCA9IHVuZGVjaWRlZF9wcmV2aW91czsKKwkJCWVsc2UKKwkJCQllcnIocywgXygiTm8gcHJldmlvdXMgaHVuayIpKTsKKwkJfSBlbHNlIGlmIChzLT5hbnN3ZXIuYnVmWzBdID09ICdqJykgeworCQkJaWYgKHVuZGVjaWRlZF9uZXh0ID49IDApCisJCQkJaHVua19pbmRleCA9IHVuZGVjaWRlZF9uZXh0OworCQkJZWxzZQorCQkJCWVycihzLCBfKCJObyBuZXh0IGh1bmsiKSk7CisJCX0gZWxzZSBpZiAocy0+YW5zd2VyLmJ1ZlswXSA9PSAnZycpIHsKKwkJCWNoYXIgKnBlbmQ7CisJCQl1bnNpZ25lZCBsb25nIHJlc3BvbnNlOworCisJCQlpZiAoZmlsZV9kaWZmLT5odW5rX25yIDwgMikgeworCQkJCWVycihzLCBfKCJObyBvdGhlciBodW5rcyB0byBnb3RvIikpOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJc3RyYnVmX3JlbW92ZSgmcy0+YW5zd2VyLCAwLCAxKTsKKwkJCXN0cmJ1Zl90cmltKCZzLT5hbnN3ZXIpOworCQkJaSA9IGh1bmtfaW5kZXggLSBESVNQTEFZX0hVTktTX0xJTkVTIC8gMjsKKwkJCWlmIChpIDwgZmlsZV9kaWZmLT5tb2RlX2NoYW5nZSkKKwkJCQlpID0gZmlsZV9kaWZmLT5tb2RlX2NoYW5nZTsKKwkJCXdoaWxlIChzLT5hbnN3ZXIubGVuID09IDApIHsKKwkJCQlpID0gZGlzcGxheV9odW5rcyhzLCBmaWxlX2RpZmYsIGkpOworCQkJCXByaW50ZigiJXMiLCBpIDwgZmlsZV9kaWZmLT5odW5rX25yID8KKwkJCQkgICAgICAgXygiZ28gdG8gd2hpY2ggaHVuayAoPHJldD4gdG8gc2VlICIKKwkJCQkJICJtb3JlKT8gIikgOiBfKCJnbyB0byB3aGljaCBodW5rPyAiKSk7CisJCQkJZmZsdXNoKHN0ZG91dCk7CisJCQkJaWYgKHN0cmJ1Zl9nZXRsaW5lKCZzLT5hbnN3ZXIsCisJCQkJCQkgICBzdGRpbikgPT0gRU9GKQorCQkJCQlicmVhazsKKwkJCQlzdHJidWZfdHJpbV90cmFpbGluZ19uZXdsaW5lKCZzLT5hbnN3ZXIpOworCQkJfQorCisJCQlzdHJidWZfdHJpbSgmcy0+YW5zd2VyKTsKKwkJCXJlc3BvbnNlID0gc3RydG91bChzLT5hbnN3ZXIuYnVmLCAmcGVuZCwgMTApOworCQkJaWYgKCpwZW5kIHx8IHBlbmQgPT0gcy0+YW5zd2VyLmJ1ZikKKwkJCQllcnIocywgXygiSW52YWxpZCBudW1iZXI6ICclcyciKSwKKwkJCQkgICAgcy0+YW5zd2VyLmJ1Zik7CisJCQllbHNlIGlmICgwIDwgcmVzcG9uc2UgJiYgcmVzcG9uc2UgPD0gZmlsZV9kaWZmLT5odW5rX25yKQorCQkJCWh1bmtfaW5kZXggPSByZXNwb25zZSAtIDE7CisJCQllbHNlCisJCQkJZXJyKHMsIFFfKCJTb3JyeSwgb25seSAlZCBodW5rIGF2YWlsYWJsZS4iLAorCQkJCQkgICJTb3JyeSwgb25seSAlZCBodW5rcyBhdmFpbGFibGUuIiwKKwkJCQkJICBmaWxlX2RpZmYtPmh1bmtfbnIpLAorCQkJCSAgICAoaW50KWZpbGVfZGlmZi0+aHVua19ucik7CisJCX0gZWxzZSBpZiAocy0+YW5zd2VyLmJ1ZlswXSA9PSAnLycpIHsKKwkJCXJlZ2V4X3QgcmVnZXg7CisJCQlpbnQgcmV0OworCisJCQlpZiAoZmlsZV9kaWZmLT5odW5rX25yIDwgMikgeworCQkJCWVycihzLCBfKCJObyBvdGhlciBodW5rcyB0byBzZWFyY2giKSk7CisJCQkJY29udGludWU7CisJCQl9CisJCQlzdHJidWZfcmVtb3ZlKCZzLT5hbnN3ZXIsIDAsIDEpOworCQkJc3RyYnVmX3RyaW1fdHJhaWxpbmdfbmV3bGluZSgmcy0+YW5zd2VyKTsKKwkJCWlmIChzLT5hbnN3ZXIubGVuID09IDApIHsKKwkJCQlwcmludGYoIiVzIiwgXygic2VhcmNoIGZvciByZWdleD8gIikpOworCQkJCWZmbHVzaChzdGRvdXQpOworCQkJCWlmIChzdHJidWZfZ2V0bGluZSgmcy0+YW5zd2VyLAorCQkJCQkJICAgc3RkaW4pID09IEVPRikKKwkJCQkJYnJlYWs7CisJCQkJc3RyYnVmX3RyaW1fdHJhaWxpbmdfbmV3bGluZSgmcy0+YW5zd2VyKTsKKwkJCQlpZiAocy0+YW5zd2VyLmxlbiA9PSAwKQorCQkJCQljb250aW51ZTsKKwkJCX0KKwkJCXJldCA9IHJlZ2NvbXAoJnJlZ2V4LCBzLT5hbnN3ZXIuYnVmLAorCQkJCSAgICAgIFJFR19FWFRFTkRFRCB8IFJFR19OT1NVQiB8IFJFR19ORVdMSU5FKTsKKwkJCWlmIChyZXQpIHsKKwkJCQljaGFyIGVycmJ1ZlsxMDI0XTsKKworCQkJCXJlZ2Vycm9yKHJldCwgJnJlZ2V4LCBlcnJidWYsIHNpemVvZihlcnJidWYpKTsKKwkJCQllcnIocywgXygiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzIiksCisJCQkJICAgIHMtPmFuc3dlci5idWYsIGVycmJ1Zik7CisJCQkJY29udGludWU7CisJCQl9CisJCQlpID0gaHVua19pbmRleDsKKwkJCWZvciAoOzspIHsKKwkJCQkvKiByZW5kZXIgdGhlIGh1bmsgaW50byBhIHNjcmF0Y2ggYnVmZmVyICovCisJCQkJcmVuZGVyX2h1bmsocywgZmlsZV9kaWZmLT5odW5rICsgaSwgMCwgMCwKKwkJCQkJICAgICZzLT5idWYpOworCQkJCWlmIChyZWdleGVjKCZyZWdleCwgcy0+YnVmLmJ1ZiwgMCwgTlVMTCwgMCkKKwkJCQkgICAgIT0gUkVHX05PTUFUQ0gpCisJCQkJCWJyZWFrOworCQkJCWkrKzsKKwkJCQlpZiAoaSA9PSBmaWxlX2RpZmYtPmh1bmtfbnIpCisJCQkJCWkgPSAwOworCQkJCWlmIChpICE9IGh1bmtfaW5kZXgpCisJCQkJCWNvbnRpbnVlOworCQkJCWVycihzLCBfKCJObyBodW5rIG1hdGNoZXMgdGhlIGdpdmVuIHBhdHRlcm4iKSk7CisJCQkJYnJlYWs7CisJCQl9CisJCQlodW5rX2luZGV4ID0gaTsKKwkJfSBlbHNlIGlmIChzLT5hbnN3ZXIuYnVmWzBdID09ICdzJykgeworCQkJc2l6ZV90IHNwbGl0dGFibGVfaW50byA9IGh1bmstPnNwbGl0dGFibGVfaW50bzsKKwkJCWlmIChzcGxpdHRhYmxlX2ludG8gPCAyKQorCQkJCWVycihzLCBfKCJTb3JyeSwgY2Fubm90IHNwbGl0IHRoaXMgaHVuayIpKTsKKwkJCWVsc2UgaWYgKCFzcGxpdF9odW5rKHMsIGZpbGVfZGlmZiwKKwkJCQkJICAgICBodW5rIC0gZmlsZV9kaWZmLT5odW5rKSkKKwkJCQljb2xvcl9mcHJpbnRmX2xuKHN0ZG91dCwgcy0+cy5oZWFkZXJfY29sb3IsCisJCQkJCQkgXygiU3BsaXQgaW50byAlZCBodW5rcy4iKSwKKwkJCQkJCSAoaW50KXNwbGl0dGFibGVfaW50byk7CisJCX0gZWxzZSBpZiAocy0+YW5zd2VyLmJ1ZlswXSA9PSAnZScpIHsKKwkJCWlmIChodW5rX2luZGV4ICsgMSA9PSBmaWxlX2RpZmYtPm1vZGVfY2hhbmdlKQorCQkJCWVycihzLCBfKCJTb3JyeSwgY2Fubm90IGVkaXQgdGhpcyBodW5rIikpOworCQkJZWxzZSBpZiAoZWRpdF9odW5rX2xvb3AocywgZmlsZV9kaWZmLCBodW5rKSA+PSAwKSB7CisJCQkJaHVuay0+dXNlID0gVVNFX0hVTks7CisJCQkJZ290byBzb2Z0X2luY3JlbWVudDsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCWNvbnN0IGNoYXIgKnAgPSBfKGhlbHBfcGF0Y2hfcmVtYWluZGVyKSwgKmVvbCA9IHA7CisKKwkJCWNvbG9yX2ZwcmludGYoc3Rkb3V0LCBzLT5zLmhlbHBfY29sb3IsICIlcyIsCisJCQkJICAgICAgXyhzLT5tb2RlLT5oZWxwX3BhdGNoX3RleHQpKTsKKworCQkJLyoKKwkJCSAqIFNob3cgb25seSB0aG9zZSBsaW5lcyBvZiB0aGUgcmVtYWluZGVyIHRoYXQgYXJlCisJCQkgKiBhY3R1YWxseSBhcHBsaWNhYmxlIHdpdGggdGhlIGN1cnJlbnQgaHVuay4KKwkJCSAqLworCQkJZm9yICg7ICpwOyBwID0gZW9sICsgKCplb2wgPT0gJ1xuJykpIHsKKwkJCQllb2wgPSBzdHJjaHJudWwocCwgJ1xuJyk7CisKKwkJCQkvKgorCQkJCSAqIGBzLT5idWZgIHN0aWxsIGNvbnRhaW5zIHRoZSBwYXJ0IG9mIHRoZQorCQkJCSAqIGNvbW1hbmRzIHNob3duIGluIHRoZSBwcm9tcHQgdGhhdCBhcmUgbm90CisJCQkJICogYWx3YXlzIGF2YWlsYWJsZS4KKwkJCQkgKi8KKwkJCQlpZiAoKnAgIT0gJz8nICYmICFzdHJjaHIocy0+YnVmLmJ1ZiwgKnApKQorCQkJCQljb250aW51ZTsKKworCQkJCWNvbG9yX2ZwcmludGZfbG4oc3Rkb3V0LCBzLT5zLmhlbHBfY29sb3IsCisJCQkJCQkgIiUuKnMiLCAoaW50KShlb2wgLSBwKSwgcCk7CisJCQl9CisJCX0KKwl9CisKKwkvKiBBbnkgaHVuayB0byBiZSB1c2VkPyAqLworCWZvciAoaSA9IDA7IGkgPCBmaWxlX2RpZmYtPmh1bmtfbnI7IGkrKykKKwkJaWYgKGZpbGVfZGlmZi0+aHVua1tpXS51c2UgPT0gVVNFX0hVTkspCisJCQlicmVhazsKKworCWlmIChpIDwgZmlsZV9kaWZmLT5odW5rX25yKSB7CisJCS8qIEF0IGxlYXN0IG9uZSBodW5rIHNlbGVjdGVkOiBhcHBseSAqLworCQlzdHJidWZfcmVzZXQoJnMtPmJ1Zik7CisJCXJlYXNzZW1ibGVfcGF0Y2gocywgZmlsZV9kaWZmLCAwLCAmcy0+YnVmKTsKKworCQlkaXNjYXJkX2luZGV4KHMtPnMuci0+aW5kZXgpOworCQlpZiAocy0+bW9kZS0+YXBwbHlfZm9yX2NoZWNrb3V0KQorCQkJYXBwbHlfZm9yX2NoZWNrb3V0KHMsICZzLT5idWYsCisJCQkJCSAgIHMtPm1vZGUtPmlzX3JldmVyc2UpOworCQllbHNlIHsKKwkJCXNldHVwX2NoaWxkX3Byb2Nlc3MocywgJmNwLCAiYXBwbHkiLCBOVUxMKTsKKwkJCWFyZ3ZfYXJyYXlfcHVzaHYoJmNwLmFyZ3MsIHMtPm1vZGUtPmFwcGx5X2FyZ3MpOworCQkJaWYgKHBpcGVfY29tbWFuZCgmY3AsIHMtPmJ1Zi5idWYsIHMtPmJ1Zi5sZW4sCisJCQkJCSBOVUxMLCAwLCBOVUxMLCAwKSkKKwkJCQllcnJvcihfKCInZ2l0IGFwcGx5JyBmYWlsZWQiKSk7CisJCX0KKwkJaWYgKCFyZXBvX3JlYWRfaW5kZXgocy0+cy5yKSkKKwkJCXJlcG9fcmVmcmVzaF9hbmRfd3JpdGVfaW5kZXgocy0+cy5yLCBSRUZSRVNIX1FVSUVULCAwLAorCQkJCQkJICAgICAxLCBOVUxMLCBOVUxMLCBOVUxMKTsKKwl9CisKKwlwdXRjaGFyKCdcbicpOworCXJldHVybiBxdWl0OworfQorCitpbnQgcnVuX2FkZF9wKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBlbnVtIGFkZF9wX21vZGUgbW9kZSwKKwkgICAgICBjb25zdCBjaGFyICpyZXZpc2lvbiwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwcykKK3sKKwlzdHJ1Y3QgYWRkX3Bfc3RhdGUgcyA9IHsKKwkJeyByIH0sIFNUUkJVRl9JTklULCBTVFJCVUZfSU5JVCwgU1RSQlVGX0lOSVQsIFNUUkJVRl9JTklUCisJfTsKKwlzaXplX3QgaSwgYmluYXJ5X2NvdW50ID0gMDsKKworCWluaXRfYWRkX2lfc3RhdGUoJnMucywgcik7CisKKwlpZiAobW9kZSA9PSBBRERfUF9TVEFTSCkKKwkJcy5tb2RlID0gJnBhdGNoX21vZGVfc3Rhc2g7CisJZWxzZSBpZiAobW9kZSA9PSBBRERfUF9SRVNFVCkgeworCQlpZiAoIXJldmlzaW9uIHx8ICFzdHJjbXAocmV2aXNpb24sICJIRUFEIikpCisJCQlzLm1vZGUgPSAmcGF0Y2hfbW9kZV9yZXNldF9oZWFkOworCQllbHNlCisJCQlzLm1vZGUgPSAmcGF0Y2hfbW9kZV9yZXNldF9ub3RoZWFkOworCX0gZWxzZSBpZiAobW9kZSA9PSBBRERfUF9DSEVDS09VVCkgeworCQlpZiAoIXJldmlzaW9uKQorCQkJcy5tb2RlID0gJnBhdGNoX21vZGVfY2hlY2tvdXRfaW5kZXg7CisJCWVsc2UgaWYgKCFzdHJjbXAocmV2aXNpb24sICJIRUFEIikpCisJCQlzLm1vZGUgPSAmcGF0Y2hfbW9kZV9jaGVja291dF9oZWFkOworCQllbHNlCisJCQlzLm1vZGUgPSAmcGF0Y2hfbW9kZV9jaGVja291dF9ub3RoZWFkOworCX0gZWxzZSBpZiAobW9kZSA9PSBBRERfUF9XT1JLVFJFRSkgeworCQlpZiAoIXJldmlzaW9uKQorCQkJcy5tb2RlID0gJnBhdGNoX21vZGVfY2hlY2tvdXRfaW5kZXg7CisJCWVsc2UgaWYgKCFzdHJjbXAocmV2aXNpb24sICJIRUFEIikpCisJCQlzLm1vZGUgPSAmcGF0Y2hfbW9kZV93b3JrdHJlZV9oZWFkOworCQllbHNlCisJCQlzLm1vZGUgPSAmcGF0Y2hfbW9kZV93b3JrdHJlZV9ub3RoZWFkOworCX0gZWxzZQorCQlzLm1vZGUgPSAmcGF0Y2hfbW9kZV9hZGQ7CisJcy5yZXZpc2lvbiA9IHJldmlzaW9uOworCisJaWYgKGRpc2NhcmRfaW5kZXgoci0+aW5kZXgpIDwgMCB8fCByZXBvX3JlYWRfaW5kZXgocikgPCAwIHx8CisJICAgICghcy5tb2RlLT5pbmRleF9vbmx5ICYmCisJICAgICByZXBvX3JlZnJlc2hfYW5kX3dyaXRlX2luZGV4KHIsIFJFRlJFU0hfUVVJRVQsIDAsIDEsCisJCQkJCSAgTlVMTCwgTlVMTCwgTlVMTCkgPCAwKSB8fAorCSAgICBwYXJzZV9kaWZmKCZzLCBwcykgPCAwKSB7CisJCXN0cmJ1Zl9yZWxlYXNlKCZzLnBsYWluKTsKKwkJc3RyYnVmX3JlbGVhc2UoJnMuY29sb3JlZCk7CisJCWNsZWFyX2FkZF9pX3N0YXRlKCZzLnMpOworCQlyZXR1cm4gLTE7CisJfQorCisJZm9yIChpID0gMDsgaSA8IHMuZmlsZV9kaWZmX25yOyBpKyspCisJCWlmIChzLmZpbGVfZGlmZltpXS5iaW5hcnkgJiYgIXMuZmlsZV9kaWZmW2ldLmh1bmtfbnIpCisJCQliaW5hcnlfY291bnQrKzsKKwkJZWxzZSBpZiAocGF0Y2hfdXBkYXRlX2ZpbGUoJnMsIHMuZmlsZV9kaWZmICsgaSkpCisJCQlicmVhazsKKworCWlmIChzLmZpbGVfZGlmZl9uciA9PSAwKQorCQlmcHJpbnRmKHN0ZGVyciwgXygiTm8gY2hhbmdlcy5cbiIpKTsKKwllbHNlIGlmIChiaW5hcnlfY291bnQgPT0gcy5maWxlX2RpZmZfbnIpCisJCWZwcmludGYoc3RkZXJyLCBfKCJPbmx5IGJpbmFyeSBmaWxlcyBjaGFuZ2VkLlxuIikpOworCisJc3RyYnVmX3JlbGVhc2UoJnMuYW5zd2VyKTsKKwlzdHJidWZfcmVsZWFzZSgmcy5idWYpOworCXN0cmJ1Zl9yZWxlYXNlKCZzLnBsYWluKTsKKwlzdHJidWZfcmVsZWFzZSgmcy5jb2xvcmVkKTsKKwljbGVhcl9hZGRfaV9zdGF0ZSgmcy5zKTsKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2FkdmljZS5jIGIvYWR2aWNlLmMKaW5kZXggNWYzNTY1Ni4uOTdmM2Y5OCAxMDA2NDQKLS0tIGEvYWR2aWNlLmMKKysrIGIvYWR2aWNlLmMKQEAgLTMsMTcgKzMsMjEgQEAKICNpbmNsdWRlICJjb2xvci5oIgogI2luY2x1ZGUgImhlbHAuaCIKIAoraW50IGFkdmljZV9mZXRjaF9zaG93X2ZvcmNlZF91cGRhdGVzID0gMTsKIGludCBhZHZpY2VfcHVzaF91cGRhdGVfcmVqZWN0ZWQgPSAxOwogaW50IGFkdmljZV9wdXNoX25vbl9mZl9jdXJyZW50ID0gMTsKIGludCBhZHZpY2VfcHVzaF9ub25fZmZfbWF0Y2hpbmcgPSAxOwogaW50IGFkdmljZV9wdXNoX2FscmVhZHlfZXhpc3RzID0gMTsKIGludCBhZHZpY2VfcHVzaF9mZXRjaF9maXJzdCA9IDE7CiBpbnQgYWR2aWNlX3B1c2hfbmVlZHNfZm9yY2UgPSAxOworaW50IGFkdmljZV9wdXNoX3VucXVhbGlmaWVkX3JlZl9uYW1lID0gMTsKIGludCBhZHZpY2Vfc3RhdHVzX2hpbnRzID0gMTsKIGludCBhZHZpY2Vfc3RhdHVzX3Vfb3B0aW9uID0gMTsKK2ludCBhZHZpY2Vfc3RhdHVzX2FoZWFkX2JlaGluZF93YXJuaW5nID0gMTsKIGludCBhZHZpY2VfY29tbWl0X2JlZm9yZV9tZXJnZSA9IDE7CiBpbnQgYWR2aWNlX3Jlc2V0X3F1aWV0X3dhcm5pbmcgPSAxOwogaW50IGFkdmljZV9yZXNvbHZlX2NvbmZsaWN0ID0gMTsKK2ludCBhZHZpY2Vfc2VxdWVuY2VyX2luX3VzZSA9IDE7CiBpbnQgYWR2aWNlX2ltcGxpY2l0X2lkZW50aXR5ID0gMTsKIGludCBhZHZpY2VfZGV0YWNoZWRfaGVhZCA9IDE7CiBpbnQgYWR2aWNlX3NldF91cHN0cmVhbV9mYWlsdXJlID0gMTsKQEAgLTI1LDYgKzI5LDEwIEBACiBpbnQgYWR2aWNlX3dhaXRpbmdfZm9yX2VkaXRvciA9IDE7CiBpbnQgYWR2aWNlX2dyYWZ0X2ZpbGVfZGVwcmVjYXRlZCA9IDE7CiBpbnQgYWR2aWNlX2NoZWNrb3V0X2FtYmlndW91c19yZW1vdGVfYnJhbmNoX25hbWUgPSAxOworaW50IGFkdmljZV9uZXN0ZWRfdGFnID0gMTsKK2ludCBhZHZpY2Vfc3VibW9kdWxlX2FsdGVybmF0ZV9lcnJvcl9zdHJhdGVneV9kaWUgPSAxOworaW50IGFkdmljZV9hZGRfaWdub3JlZF9maWxlID0gMTsKK2ludCBhZHZpY2VfYWRkX2VtcHR5X3BhdGhzcGVjID0gMTsKIAogc3RhdGljIGludCBhZHZpY2VfdXNlX2NvbG9yID0gLTE7CiBzdGF0aWMgY2hhciBhZHZpY2VfY29sb3JzW11bQ09MT1JfTUFYTEVOXSA9IHsKQEAgLTU3LDE3ICs2NSwyMSBAQAogCWNvbnN0IGNoYXIgKm5hbWU7CiAJaW50ICpwcmVmZXJlbmNlOwogfSBhZHZpY2VfY29uZmlnW10gPSB7CisJeyAiZmV0Y2hTaG93Rm9yY2VkVXBkYXRlcyIsICZhZHZpY2VfZmV0Y2hfc2hvd19mb3JjZWRfdXBkYXRlcyB9LAogCXsgInB1c2hVcGRhdGVSZWplY3RlZCIsICZhZHZpY2VfcHVzaF91cGRhdGVfcmVqZWN0ZWQgfSwKIAl7ICJwdXNoTm9uRkZDdXJyZW50IiwgJmFkdmljZV9wdXNoX25vbl9mZl9jdXJyZW50IH0sCiAJeyAicHVzaE5vbkZGTWF0Y2hpbmciLCAmYWR2aWNlX3B1c2hfbm9uX2ZmX21hdGNoaW5nIH0sCiAJeyAicHVzaEFscmVhZHlFeGlzdHMiLCAmYWR2aWNlX3B1c2hfYWxyZWFkeV9leGlzdHMgfSwKIAl7ICJwdXNoRmV0Y2hGaXJzdCIsICZhZHZpY2VfcHVzaF9mZXRjaF9maXJzdCB9LAogCXsgInB1c2hOZWVkc0ZvcmNlIiwgJmFkdmljZV9wdXNoX25lZWRzX2ZvcmNlIH0sCisJeyAicHVzaFVucXVhbGlmaWVkUmVmTmFtZSIsICZhZHZpY2VfcHVzaF91bnF1YWxpZmllZF9yZWZfbmFtZSB9LAogCXsgInN0YXR1c0hpbnRzIiwgJmFkdmljZV9zdGF0dXNfaGludHMgfSwKIAl7ICJzdGF0dXNVb3B0aW9uIiwgJmFkdmljZV9zdGF0dXNfdV9vcHRpb24gfSwKKwl7ICJzdGF0dXNBaGVhZEJlaGluZFdhcm5pbmciLCAmYWR2aWNlX3N0YXR1c19haGVhZF9iZWhpbmRfd2FybmluZyB9LAogCXsgImNvbW1pdEJlZm9yZU1lcmdlIiwgJmFkdmljZV9jb21taXRfYmVmb3JlX21lcmdlIH0sCiAJeyAicmVzZXRRdWlldCIsICZhZHZpY2VfcmVzZXRfcXVpZXRfd2FybmluZyB9LAogCXsgInJlc29sdmVDb25mbGljdCIsICZhZHZpY2VfcmVzb2x2ZV9jb25mbGljdCB9LAorCXsgInNlcXVlbmNlckluVXNlIiwgJmFkdmljZV9zZXF1ZW5jZXJfaW5fdXNlIH0sCiAJeyAiaW1wbGljaXRJZGVudGl0eSIsICZhZHZpY2VfaW1wbGljaXRfaWRlbnRpdHkgfSwKIAl7ICJkZXRhY2hlZEhlYWQiLCAmYWR2aWNlX2RldGFjaGVkX2hlYWQgfSwKIAl7ICJzZXR1cFN0cmVhbUZhaWx1cmUiLCAmYWR2aWNlX3NldF91cHN0cmVhbV9mYWlsdXJlIH0sCkBAIC03OSw2ICs5MSwxMCBAQAogCXsgIndhaXRpbmdGb3JFZGl0b3IiLCAmYWR2aWNlX3dhaXRpbmdfZm9yX2VkaXRvciB9LAogCXsgImdyYWZ0RmlsZURlcHJlY2F0ZWQiLCAmYWR2aWNlX2dyYWZ0X2ZpbGVfZGVwcmVjYXRlZCB9LAogCXsgImNoZWNrb3V0QW1iaWd1b3VzUmVtb3RlQnJhbmNoTmFtZSIsICZhZHZpY2VfY2hlY2tvdXRfYW1iaWd1b3VzX3JlbW90ZV9icmFuY2hfbmFtZSB9LAorCXsgIm5lc3RlZFRhZyIsICZhZHZpY2VfbmVzdGVkX3RhZyB9LAorCXsgInN1Ym1vZHVsZUFsdGVybmF0ZUVycm9yU3RyYXRlZ3lEaWUiLCAmYWR2aWNlX3N1Ym1vZHVsZV9hbHRlcm5hdGVfZXJyb3Jfc3RyYXRlZ3lfZGllIH0sCisJeyAiYWRkSWdub3JlZEZpbGUiLCAmYWR2aWNlX2FkZF9pZ25vcmVkX2ZpbGUgfSwKKwl7ICJhZGRFbXB0eVBhdGhzcGVjIiwgJmFkdmljZV9hZGRfZW1wdHlfcGF0aHNwZWMgfSwKIAogCS8qIG1ha2UgdGhpcyBhbiBhbGlhcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqLwogCXsgInB1c2hOb25GYXN0Rm9yd2FyZCIsICZhZHZpY2VfcHVzaF91cGRhdGVfcmVqZWN0ZWQgfQpAQCAtMTg5LDEzICsyMDUsMjIgQEAKIHZvaWQgZGV0YWNoX2FkdmljZShjb25zdCBjaGFyICpuZXdfbmFtZSkKIHsKIAljb25zdCBjaGFyICpmbXQgPQotCV8oIk5vdGU6IGNoZWNraW5nIG91dCAnJXMnLlxuXG4iCisJXygiTm90ZTogc3dpdGNoaW5nIHRvICclcycuXG4iCisJIlxuIgogCSJZb3UgYXJlIGluICdkZXRhY2hlZCBIRUFEJyBzdGF0ZS4gWW91IGNhbiBsb29rIGFyb3VuZCwgbWFrZSBleHBlcmltZW50YWxcbiIKIAkiY2hhbmdlcyBhbmQgY29tbWl0IHRoZW0sIGFuZCB5b3UgY2FuIGRpc2NhcmQgYW55IGNvbW1pdHMgeW91IG1ha2UgaW4gdGhpc1xuIgotCSJzdGF0ZSB3aXRob3V0IGltcGFjdGluZyBhbnkgYnJhbmNoZXMgYnkgcGVyZm9ybWluZyBhbm90aGVyIGNoZWNrb3V0LlxuXG4iCisJInN0YXRlIHdpdGhvdXQgaW1wYWN0aW5nIGFueSBicmFuY2hlcyBieSBzd2l0Y2hpbmcgYmFjayB0byBhIGJyYW5jaC5cbiIKKwkiXG4iCiAJIklmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggdG8gcmV0YWluIGNvbW1pdHMgeW91IGNyZWF0ZSwgeW91IG1heVxuIgotCSJkbyBzbyAobm93IG9yIGxhdGVyKSBieSB1c2luZyAtYiB3aXRoIHRoZSBjaGVja291dCBjb21tYW5kIGFnYWluLiBFeGFtcGxlOlxuXG4iCi0JIiAgZ2l0IGNoZWNrb3V0IC1iIDxuZXctYnJhbmNoLW5hbWU+XG5cbiIpOworCSJkbyBzbyAobm93IG9yIGxhdGVyKSBieSB1c2luZyAtYyB3aXRoIHRoZSBzd2l0Y2ggY29tbWFuZC4gRXhhbXBsZTpcbiIKKwkiXG4iCisJIiAgZ2l0IHN3aXRjaCAtYyA8bmV3LWJyYW5jaC1uYW1lPlxuIgorCSJcbiIKKwkiT3IgdW5kbyB0aGlzIG9wZXJhdGlvbiB3aXRoOlxuIgorCSJcbiIKKwkiICBnaXQgc3dpdGNoIC1cbiIKKwkiXG4iCisJIlR1cm4gb2ZmIHRoaXMgYWR2aWNlIGJ5IHNldHRpbmcgY29uZmlnIHZhcmlhYmxlIGFkdmljZS5kZXRhY2hlZEhlYWQgdG8gZmFsc2VcblxuIik7CiAKIAlmcHJpbnRmKHN0ZGVyciwgZm10LCBuZXdfbmFtZSk7CiB9CmRpZmYgLS1naXQgYS9hZHZpY2UuaCBiL2FkdmljZS5oCmluZGV4IDY5NmJmMGUuLjBlNmU1OGQgMTAwNjQ0Ci0tLSBhL2FkdmljZS5oCisrKyBiL2FkdmljZS5oCkBAIC0zLDE3ICszLDIxIEBACiAKICNpbmNsdWRlICJnaXQtY29tcGF0LXV0aWwuaCIKIAorZXh0ZXJuIGludCBhZHZpY2VfZmV0Y2hfc2hvd19mb3JjZWRfdXBkYXRlczsKIGV4dGVybiBpbnQgYWR2aWNlX3B1c2hfdXBkYXRlX3JlamVjdGVkOwogZXh0ZXJuIGludCBhZHZpY2VfcHVzaF9ub25fZmZfY3VycmVudDsKIGV4dGVybiBpbnQgYWR2aWNlX3B1c2hfbm9uX2ZmX21hdGNoaW5nOwogZXh0ZXJuIGludCBhZHZpY2VfcHVzaF9hbHJlYWR5X2V4aXN0czsKIGV4dGVybiBpbnQgYWR2aWNlX3B1c2hfZmV0Y2hfZmlyc3Q7CiBleHRlcm4gaW50IGFkdmljZV9wdXNoX25lZWRzX2ZvcmNlOworZXh0ZXJuIGludCBhZHZpY2VfcHVzaF91bnF1YWxpZmllZF9yZWZfbmFtZTsKIGV4dGVybiBpbnQgYWR2aWNlX3N0YXR1c19oaW50czsKIGV4dGVybiBpbnQgYWR2aWNlX3N0YXR1c191X29wdGlvbjsKK2V4dGVybiBpbnQgYWR2aWNlX3N0YXR1c19haGVhZF9iZWhpbmRfd2FybmluZzsKIGV4dGVybiBpbnQgYWR2aWNlX2NvbW1pdF9iZWZvcmVfbWVyZ2U7CiBleHRlcm4gaW50IGFkdmljZV9yZXNldF9xdWlldF93YXJuaW5nOwogZXh0ZXJuIGludCBhZHZpY2VfcmVzb2x2ZV9jb25mbGljdDsKK2V4dGVybiBpbnQgYWR2aWNlX3NlcXVlbmNlcl9pbl91c2U7CiBleHRlcm4gaW50IGFkdmljZV9pbXBsaWNpdF9pZGVudGl0eTsKIGV4dGVybiBpbnQgYWR2aWNlX2RldGFjaGVkX2hlYWQ7CiBleHRlcm4gaW50IGFkdmljZV9zZXRfdXBzdHJlYW1fZmFpbHVyZTsKQEAgLTI1LDEyICsyOSwxNiBAQAogZXh0ZXJuIGludCBhZHZpY2Vfd2FpdGluZ19mb3JfZWRpdG9yOwogZXh0ZXJuIGludCBhZHZpY2VfZ3JhZnRfZmlsZV9kZXByZWNhdGVkOwogZXh0ZXJuIGludCBhZHZpY2VfY2hlY2tvdXRfYW1iaWd1b3VzX3JlbW90ZV9icmFuY2hfbmFtZTsKK2V4dGVybiBpbnQgYWR2aWNlX25lc3RlZF90YWc7CitleHRlcm4gaW50IGFkdmljZV9zdWJtb2R1bGVfYWx0ZXJuYXRlX2Vycm9yX3N0cmF0ZWd5X2RpZTsKK2V4dGVybiBpbnQgYWR2aWNlX2FkZF9pZ25vcmVkX2ZpbGU7CitleHRlcm4gaW50IGFkdmljZV9hZGRfZW1wdHlfcGF0aHNwZWM7CiAKIGludCBnaXRfZGVmYXVsdF9hZHZpY2VfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUpOwogX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDEsIDIpKSkKIHZvaWQgYWR2aXNlKGNvbnN0IGNoYXIgKmFkdmljZSwgLi4uKTsKIGludCBlcnJvcl9yZXNvbHZlX2NvbmZsaWN0KGNvbnN0IGNoYXIgKm1lKTsKLWV4dGVybiB2b2lkIE5PUkVUVVJOIGRpZV9yZXNvbHZlX2NvbmZsaWN0KGNvbnN0IGNoYXIgKm1lKTsKK3ZvaWQgTk9SRVRVUk4gZGllX3Jlc29sdmVfY29uZmxpY3QoY29uc3QgY2hhciAqbWUpOwogdm9pZCBOT1JFVFVSTiBkaWVfY29uY2x1ZGVfbWVyZ2Uodm9pZCk7CiB2b2lkIGRldGFjaF9hZHZpY2UoY29uc3QgY2hhciAqbmV3X25hbWUpOwogCmRpZmYgLS1naXQgYS9hbGlhcy5jIGIvYWxpYXMuYwppbmRleCBhN2U0ZTU3Li5jNDcxNTM4IDEwMDY0NAotLS0gYS9hbGlhcy5jCisrKyBiL2FsaWFzLmMKQEAgLTQ3LDggKzQ3LDggQEAKICNkZWZpbmUgU1BMSVRfQ01ETElORV9CQURfRU5ESU5HIDEKICNkZWZpbmUgU1BMSVRfQ01ETElORV9VTkNMT1NFRF9RVU9URSAyCiBzdGF0aWMgY29uc3QgY2hhciAqc3BsaXRfY21kbGluZV9lcnJvcnNbXSA9IHsKLQkiY21kbGluZSBlbmRzIHdpdGggXFwiLAotCSJ1bmNsb3NlZCBxdW90ZSIKKwlOXygiY21kbGluZSBlbmRzIHdpdGggXFwiKSwKKwlOXygidW5jbG9zZWQgcXVvdGUiKQogfTsKIAogaW50IHNwbGl0X2NtZGxpbmUoY2hhciAqY21kbGluZSwgY29uc3QgY2hhciAqKiphcmd2KQpkaWZmIC0tZ2l0IGEvYWxsb2MuYyBiL2FsbG9jLmMKaW5kZXggZTdhYTgxYi4uMWM2NGM0ZCAxMDA2NDQKLS0tIGEvYWxsb2MuYworKysgYi9hbGxvYy5jCkBAIC05OSwxOCArOTksMjMgQEAKIAlyZXR1cm4gb2JqOwogfQogCi11bnNpZ25lZCBpbnQgYWxsb2NfY29tbWl0X2luZGV4KHN0cnVjdCByZXBvc2l0b3J5ICpyKQorc3RhdGljIHVuc2lnbmVkIGludCBhbGxvY19jb21taXRfaW5kZXgoc3RydWN0IHJlcG9zaXRvcnkgKnIpCiB7CiAJcmV0dXJuIHItPnBhcnNlZF9vYmplY3RzLT5jb21taXRfY291bnQrKzsKIH0KIAordm9pZCBpbml0X2NvbW1pdF9ub2RlKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3QgY29tbWl0ICpjKQoreworCWMtPm9iamVjdC50eXBlID0gT0JKX0NPTU1JVDsKKwljLT5pbmRleCA9IGFsbG9jX2NvbW1pdF9pbmRleChyKTsKKwljLT5ncmFwaF9wb3MgPSBDT01NSVRfTk9UX0ZST01fR1JBUEg7CisJYy0+Z2VuZXJhdGlvbiA9IEdFTkVSQVRJT05fTlVNQkVSX0lORklOSVRZOworfQorCiB2b2lkICphbGxvY19jb21taXRfbm9kZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcikKIHsKIAlzdHJ1Y3QgY29tbWl0ICpjID0gYWxsb2Nfbm9kZShyLT5wYXJzZWRfb2JqZWN0cy0+Y29tbWl0X3N0YXRlLCBzaXplb2Yoc3RydWN0IGNvbW1pdCkpOwotCWMtPm9iamVjdC50eXBlID0gT0JKX0NPTU1JVDsKLQljLT5pbmRleCA9IGFsbG9jX2NvbW1pdF9pbmRleChyKTsKLQljLT5ncmFwaF9wb3MgPSBDT01NSVRfTk9UX0ZST01fR1JBUEg7Ci0JYy0+Z2VuZXJhdGlvbiA9IEdFTkVSQVRJT05fTlVNQkVSX0lORklOSVRZOworCWluaXRfY29tbWl0X25vZGUociwgYyk7CiAJcmV0dXJuIGM7CiB9CiAKZGlmZiAtLWdpdCBhL2FsbG9jLmggYi9hbGxvYy5oCmluZGV4IGJhMzU2ZWQuLmVkMTA3MWMgMTAwNjQ0Ci0tLSBhL2FsbG9jLmgKKysrIGIvYWxsb2MuaApAQCAtOSwxMSArOSwxMSBAQAogCiB2b2lkICphbGxvY19ibG9iX25vZGUoc3RydWN0IHJlcG9zaXRvcnkgKnIpOwogdm9pZCAqYWxsb2NfdHJlZV9ub2RlKHN0cnVjdCByZXBvc2l0b3J5ICpyKTsKK3ZvaWQgaW5pdF9jb21taXRfbm9kZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IGNvbW1pdCAqYyk7CiB2b2lkICphbGxvY19jb21taXRfbm9kZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcik7CiB2b2lkICphbGxvY190YWdfbm9kZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcik7CiB2b2lkICphbGxvY19vYmplY3Rfbm9kZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcik7CiB2b2lkIGFsbG9jX3JlcG9ydChzdHJ1Y3QgcmVwb3NpdG9yeSAqcik7Ci11bnNpZ25lZCBpbnQgYWxsb2NfY29tbWl0X2luZGV4KHN0cnVjdCByZXBvc2l0b3J5ICpyKTsKIAogc3RydWN0IGFsbG9jX3N0YXRlICphbGxvY2F0ZV9hbGxvY19zdGF0ZSh2b2lkKTsKIHZvaWQgY2xlYXJfYWxsb2Nfc3RhdGUoc3RydWN0IGFsbG9jX3N0YXRlICpzKTsKZGlmZiAtLWdpdCBhL2FwcGx5LmMgYi9hcHBseS5jCmluZGV4IDAxNzkzZDYuLmJkYzAwOGYgMTAwNjQ0Ci0tLSBhL2FwcGx5LmMKKysrIGIvYXBwbHkuYwpAQCAtMjIsMTEgKzIyLDE3IEBACiAjaW5jbHVkZSAicmVyZXJlLmgiCiAjaW5jbHVkZSAiYXBwbHkuaCIKIAorc3RydWN0IGdpdGRpZmZfZGF0YSB7CisJc3RydWN0IHN0cmJ1ZiAqcm9vdDsKKwlpbnQgbGluZW5yOworCWludCBwX3ZhbHVlOworfTsKKwogc3RhdGljIHZvaWQgZ2l0X2FwcGx5X2NvbmZpZyh2b2lkKQogewogCWdpdF9jb25maWdfZ2V0X3N0cmluZ19jb25zdCgiYXBwbHkud2hpdGVzcGFjZSIsICZhcHBseV9kZWZhdWx0X3doaXRlc3BhY2UpOwogCWdpdF9jb25maWdfZ2V0X3N0cmluZ19jb25zdCgiYXBwbHkuaWdub3Jld2hpdGVzcGFjZSIsICZhcHBseV9kZWZhdWx0X2lnbm9yZXdoaXRlc3BhY2UpOwotCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKKwlnaXRfY29uZmlnKGdpdF94bWVyZ2VfY29uZmlnLCBOVUxMKTsKIH0KIAogc3RhdGljIGludCBwYXJzZV93aGl0ZXNwYWNlX29wdGlvbihzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBjb25zdCBjaGFyICpvcHRpb24pCkBAIC01Niw2ICs2MiwxMCBAQAogCQlzdGF0ZS0+d3NfZXJyb3JfYWN0aW9uID0gY29ycmVjdF93c19lcnJvcjsKIAkJcmV0dXJuIDA7CiAJfQorCS8qCisJICogUGxlYXNlIHVwZGF0ZSAkX19naXRfd2hpdGVzcGFjZWxpc3QgaW4gZ2l0LWNvbXBsZXRpb24uYmFzaAorCSAqIHdoZW4geW91IGFkZCBuZXcgb3B0aW9ucy4KKwkgKi8KIAlyZXR1cm4gZXJyb3IoXygidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciKSwgb3B0aW9uKTsKIH0KIApAQCAtMTk3LDQwICsyMDcsNiBAQAogI2RlZmluZSBCSU5BUllfREVMVEFfREVGTEFURUQJMQogI2RlZmluZSBCSU5BUllfTElURVJBTF9ERUZMQVRFRCAyCiAKLS8qCi0gKiBUaGlzIHJlcHJlc2VudHMgYSAicGF0Y2giIHRvIGEgZmlsZSwgYm90aCBtZXRhaW5mbyBjaGFuZ2VzCi0gKiBzdWNoIGFzIGNyZWF0aW9uL2RlbGV0aW9uLCBmaWxlbW9kZSBhbmQgY29udGVudCBjaGFuZ2VzIHJlcHJlc2VudGVkCi0gKiBhcyBhIHNlcmllcyBvZiBmcmFnbWVudHMuCi0gKi8KLXN0cnVjdCBwYXRjaCB7Ci0JY2hhciAqbmV3X25hbWUsICpvbGRfbmFtZSwgKmRlZl9uYW1lOwotCXVuc2lnbmVkIGludCBvbGRfbW9kZSwgbmV3X21vZGU7Ci0JaW50IGlzX25ldywgaXNfZGVsZXRlOwkvKiAtMSA9IHVua25vd24sIDAgPSBmYWxzZSwgMSA9IHRydWUgKi8KLQlpbnQgcmVqZWN0ZWQ7Ci0JdW5zaWduZWQgd3NfcnVsZTsKLQlpbnQgbGluZXNfYWRkZWQsIGxpbmVzX2RlbGV0ZWQ7Ci0JaW50IHNjb3JlOwotCWludCBleHRlbnNpb25fbGluZW5yOyAvKiBmaXJzdCBsaW5lIHNwZWNpZnlpbmcgZGVsZXRlL25ldy9yZW5hbWUvY29weSAqLwotCXVuc2lnbmVkIGludCBpc190b3BsZXZlbF9yZWxhdGl2ZToxOwotCXVuc2lnbmVkIGludCBpbmFjY3VyYXRlX2VvZjoxOwotCXVuc2lnbmVkIGludCBpc19iaW5hcnk6MTsKLQl1bnNpZ25lZCBpbnQgaXNfY29weToxOwotCXVuc2lnbmVkIGludCBpc19yZW5hbWU6MTsKLQl1bnNpZ25lZCBpbnQgcmVjb3VudDoxOwotCXVuc2lnbmVkIGludCBjb25mbGljdGVkX3RocmVld2F5OjE7Ci0JdW5zaWduZWQgaW50IGRpcmVjdF90b190aHJlZXdheToxOwotCXVuc2lnbmVkIGludCBjcmxmX2luX29sZDoxOwotCXN0cnVjdCBmcmFnbWVudCAqZnJhZ21lbnRzOwotCWNoYXIgKnJlc3VsdDsKLQlzaXplX3QgcmVzdWx0c2l6ZTsKLQljaGFyIG9sZF9vaWRfcHJlZml4W0dJVF9NQVhfSEVYU1ogKyAxXTsKLQljaGFyIG5ld19vaWRfcHJlZml4W0dJVF9NQVhfSEVYU1ogKyAxXTsKLQlzdHJ1Y3QgcGF0Y2ggKm5leHQ7Ci0KLQkvKiB0aHJlZS13YXkgZmFsbGJhY2sgcmVzdWx0ICovCi0Jc3RydWN0IG9iamVjdF9pZCB0aHJlZXdheV9zdGFnZVszXTsKLX07Ci0KIHN0YXRpYyB2b2lkIGZyZWVfZnJhZ21lbnRfbGlzdChzdHJ1Y3QgZnJhZ21lbnQgKmxpc3QpCiB7CiAJd2hpbGUgKGxpc3QpIHsKQEAgLTQ2NSw5ICs0NDEsOCBAQAogCXJldHVybiBuYW1lOwogfQogCi1zdGF0aWMgY2hhciAqZmluZF9uYW1lX2dudShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorc3RhdGljIGNoYXIgKmZpbmRfbmFtZV9nbnUoc3RydWN0IHN0cmJ1ZiAqcm9vdCwKIAkJCSAgIGNvbnN0IGNoYXIgKmxpbmUsCi0JCQkgICBjb25zdCBjaGFyICpkZWYsCiAJCQkgICBpbnQgcF92YWx1ZSkKIHsKIAlzdHJ1Y3Qgc3RyYnVmIG5hbWUgPSBTVFJCVUZfSU5JVDsKQEAgLTQ3NSw3ICs0NTAsNyBAQAogCiAJLyoKIAkgKiBQcm9wb3NlZCAibmV3LXN0eWxlIiBHTlUgcGF0Y2gvZGlmZiBmb3JtYXQ7IHNlZQotCSAqIGh0dHA6Ly9tYXJjLmluZm8vP2w9Z2l0Jm09MTEyOTI3MzE2NDA4NjkwJnc9MgorCSAqIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2dpdC83dmxsMHd2YjJhLmZzZkBhc3NpZ25lZC1ieS1kaGNwLmNveC5uZXQvCiAJICovCiAJaWYgKHVucXVvdGVfY19zdHlsZSgmbmFtZSwgbGluZSwgTlVMTCkpIHsKIAkJc3RyYnVmX3JlbGVhc2UoJm5hbWUpOwpAQCAtNDkyLDggKzQ2Nyw4IEBACiAJfQogCiAJc3RyYnVmX3JlbW92ZSgmbmFtZSwgMCwgY3AgLSBuYW1lLmJ1Zik7Ci0JaWYgKHN0YXRlLT5yb290LmxlbikKLQkJc3RyYnVmX2luc2VydCgmbmFtZSwgMCwgc3RhdGUtPnJvb3QuYnVmLCBzdGF0ZS0+cm9vdC5sZW4pOworCWlmIChyb290LT5sZW4pCisJCXN0cmJ1Zl9pbnNlcnQoJm5hbWUsIDAsIHJvb3QtPmJ1Ziwgcm9vdC0+bGVuKTsKIAlyZXR1cm4gc3F1YXNoX3NsYXNoKHN0cmJ1Zl9kZXRhY2goJm5hbWUsIE5VTEwpKTsKIH0KIApAQCAtNjU2LDcgKzYzMSw3IEBACiAJcmV0dXJuIGxpbmUgKyBsZW4gLSBlbmQ7CiB9CiAKLXN0YXRpYyBjaGFyICpmaW5kX25hbWVfY29tbW9uKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCitzdGF0aWMgY2hhciAqZmluZF9uYW1lX2NvbW1vbihzdHJ1Y3Qgc3RyYnVmICpyb290LAogCQkJICAgICAgY29uc3QgY2hhciAqbGluZSwKIAkJCSAgICAgIGNvbnN0IGNoYXIgKmRlZiwKIAkJCSAgICAgIGludCBwX3ZhbHVlLApAQCAtNjk5LDMwICs2NzQsMzAgQEAKIAkJCXJldHVybiBzcXVhc2hfc2xhc2goeHN0cmR1cChkZWYpKTsKIAl9CiAKLQlpZiAoc3RhdGUtPnJvb3QubGVuKSB7Ci0JCWNoYXIgKnJldCA9IHhzdHJmbXQoIiVzJS4qcyIsIHN0YXRlLT5yb290LmJ1ZiwgbGVuLCBzdGFydCk7CisJaWYgKHJvb3QtPmxlbikgeworCQljaGFyICpyZXQgPSB4c3RyZm10KCIlcyUuKnMiLCByb290LT5idWYsIGxlbiwgc3RhcnQpOwogCQlyZXR1cm4gc3F1YXNoX3NsYXNoKHJldCk7CiAJfQogCiAJcmV0dXJuIHNxdWFzaF9zbGFzaCh4bWVtZHVweihzdGFydCwgbGVuKSk7CiB9CiAKLXN0YXRpYyBjaGFyICpmaW5kX25hbWUoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKK3N0YXRpYyBjaGFyICpmaW5kX25hbWUoc3RydWN0IHN0cmJ1ZiAqcm9vdCwKIAkJICAgICAgIGNvbnN0IGNoYXIgKmxpbmUsCiAJCSAgICAgICBjaGFyICpkZWYsCiAJCSAgICAgICBpbnQgcF92YWx1ZSwKIAkJICAgICAgIGludCB0ZXJtaW5hdGUpCiB7CiAJaWYgKCpsaW5lID09ICciJykgewotCQljaGFyICpuYW1lID0gZmluZF9uYW1lX2dudShzdGF0ZSwgbGluZSwgZGVmLCBwX3ZhbHVlKTsKKwkJY2hhciAqbmFtZSA9IGZpbmRfbmFtZV9nbnUocm9vdCwgbGluZSwgcF92YWx1ZSk7CiAJCWlmIChuYW1lKQogCQkJcmV0dXJuIG5hbWU7CiAJfQogCi0JcmV0dXJuIGZpbmRfbmFtZV9jb21tb24oc3RhdGUsIGxpbmUsIGRlZiwgcF92YWx1ZSwgTlVMTCwgdGVybWluYXRlKTsKKwlyZXR1cm4gZmluZF9uYW1lX2NvbW1vbihyb290LCBsaW5lLCBkZWYsIHBfdmFsdWUsIE5VTEwsIHRlcm1pbmF0ZSk7CiB9CiAKLXN0YXRpYyBjaGFyICpmaW5kX25hbWVfdHJhZGl0aW9uYWwoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKK3N0YXRpYyBjaGFyICpmaW5kX25hbWVfdHJhZGl0aW9uYWwoc3RydWN0IHN0cmJ1ZiAqcm9vdCwKIAkJCQkgICBjb25zdCBjaGFyICpsaW5lLAogCQkJCSAgIGNoYXIgKmRlZiwKIAkJCQkgICBpbnQgcF92YWx1ZSkKQEAgLTczMSw3ICs3MDYsNyBAQAogCXNpemVfdCBkYXRlX2xlbjsKIAogCWlmICgqbGluZSA9PSAnIicpIHsKLQkJY2hhciAqbmFtZSA9IGZpbmRfbmFtZV9nbnUoc3RhdGUsIGxpbmUsIGRlZiwgcF92YWx1ZSk7CisJCWNoYXIgKm5hbWUgPSBmaW5kX25hbWVfZ251KHJvb3QsIGxpbmUsIHBfdmFsdWUpOwogCQlpZiAobmFtZSkKIAkJCXJldHVybiBuYW1lOwogCX0KQEAgLTczOSwxMCArNzE0LDEwIEBACiAJbGVuID0gc3RyY2hybnVsKGxpbmUsICdcbicpIC0gbGluZTsKIAlkYXRlX2xlbiA9IGRpZmZfdGltZXN0YW1wX2xlbihsaW5lLCBsZW4pOwogCWlmICghZGF0ZV9sZW4pCi0JCXJldHVybiBmaW5kX25hbWVfY29tbW9uKHN0YXRlLCBsaW5lLCBkZWYsIHBfdmFsdWUsIE5VTEwsIFRFUk1fVEFCKTsKKwkJcmV0dXJuIGZpbmRfbmFtZV9jb21tb24ocm9vdCwgbGluZSwgZGVmLCBwX3ZhbHVlLCBOVUxMLCBURVJNX1RBQik7CiAJbGVuIC09IGRhdGVfbGVuOwogCi0JcmV0dXJuIGZpbmRfbmFtZV9jb21tb24oc3RhdGUsIGxpbmUsIGRlZiwgcF92YWx1ZSwgbGluZSArIGxlbiwgMCk7CisJcmV0dXJuIGZpbmRfbmFtZV9jb21tb24ocm9vdCwgbGluZSwgZGVmLCBwX3ZhbHVlLCBsaW5lICsgbGVuLCAwKTsKIH0KIAogLyoKQEAgLTc1Niw3ICs3MzEsNyBAQAogCiAJaWYgKGlzX2Rldl9udWxsKG5hbWVsaW5lKSkKIAkJcmV0dXJuIC0xOwotCW5hbWUgPSBmaW5kX25hbWVfdHJhZGl0aW9uYWwoc3RhdGUsIG5hbWVsaW5lLCBOVUxMLCAwKTsKKwluYW1lID0gZmluZF9uYW1lX3RyYWRpdGlvbmFsKCZzdGF0ZS0+cm9vdCwgbmFtZWxpbmUsIE5VTEwsIDApOwogCWlmICghbmFtZSkKIAkJcmV0dXJuIC0xOwogCWNwID0gc3RyY2hyKG5hbWUsICcvJyk7CkBAIC04ODAsMTcgKzg1NSwxNyBAQAogCWlmIChpc19kZXZfbnVsbChmaXJzdCkpIHsKIAkJcGF0Y2gtPmlzX25ldyA9IDE7CiAJCXBhdGNoLT5pc19kZWxldGUgPSAwOwotCQluYW1lID0gZmluZF9uYW1lX3RyYWRpdGlvbmFsKHN0YXRlLCBzZWNvbmQsIE5VTEwsIHN0YXRlLT5wX3ZhbHVlKTsKKwkJbmFtZSA9IGZpbmRfbmFtZV90cmFkaXRpb25hbCgmc3RhdGUtPnJvb3QsIHNlY29uZCwgTlVMTCwgc3RhdGUtPnBfdmFsdWUpOwogCQlwYXRjaC0+bmV3X25hbWUgPSBuYW1lOwogCX0gZWxzZSBpZiAoaXNfZGV2X251bGwoc2Vjb25kKSkgewogCQlwYXRjaC0+aXNfbmV3ID0gMDsKIAkJcGF0Y2gtPmlzX2RlbGV0ZSA9IDE7Ci0JCW5hbWUgPSBmaW5kX25hbWVfdHJhZGl0aW9uYWwoc3RhdGUsIGZpcnN0LCBOVUxMLCBzdGF0ZS0+cF92YWx1ZSk7CisJCW5hbWUgPSBmaW5kX25hbWVfdHJhZGl0aW9uYWwoJnN0YXRlLT5yb290LCBmaXJzdCwgTlVMTCwgc3RhdGUtPnBfdmFsdWUpOwogCQlwYXRjaC0+b2xkX25hbWUgPSBuYW1lOwogCX0gZWxzZSB7CiAJCWNoYXIgKmZpcnN0X25hbWU7Ci0JCWZpcnN0X25hbWUgPSBmaW5kX25hbWVfdHJhZGl0aW9uYWwoc3RhdGUsIGZpcnN0LCBOVUxMLCBzdGF0ZS0+cF92YWx1ZSk7Ci0JCW5hbWUgPSBmaW5kX25hbWVfdHJhZGl0aW9uYWwoc3RhdGUsIHNlY29uZCwgZmlyc3RfbmFtZSwgc3RhdGUtPnBfdmFsdWUpOworCQlmaXJzdF9uYW1lID0gZmluZF9uYW1lX3RyYWRpdGlvbmFsKCZzdGF0ZS0+cm9vdCwgZmlyc3QsIE5VTEwsIHN0YXRlLT5wX3ZhbHVlKTsKKwkJbmFtZSA9IGZpbmRfbmFtZV90cmFkaXRpb25hbCgmc3RhdGUtPnJvb3QsIHNlY29uZCwgZmlyc3RfbmFtZSwgc3RhdGUtPnBfdmFsdWUpOwogCQlmcmVlKGZpcnN0X25hbWUpOwogCQlpZiAoaGFzX2Vwb2NoX3RpbWVzdGFtcChmaXJzdCkpIHsKIAkJCXBhdGNoLT5pc19uZXcgPSAxOwpAQCAtOTExLDcgKzg4Niw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZ2l0ZGlmZl9oZHJlbmQoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKK3N0YXRpYyBpbnQgZ2l0ZGlmZl9oZHJlbmQoc3RydWN0IGdpdGRpZmZfZGF0YSAqc3RhdGUsCiAJCQkgIGNvbnN0IGNoYXIgKmxpbmUsCiAJCQkgIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCiB7CkBAIC05MzAsMTQgKzkwNSwxNCBAQAogI2RlZmluZSBESUZGX09MRF9OQU1FIDAKICNkZWZpbmUgRElGRl9ORVdfTkFNRSAxCiAKLXN0YXRpYyBpbnQgZ2l0ZGlmZl92ZXJpZnlfbmFtZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorc3RhdGljIGludCBnaXRkaWZmX3ZlcmlmeV9uYW1lKHN0cnVjdCBnaXRkaWZmX2RhdGEgKnN0YXRlLAogCQkJICAgICAgIGNvbnN0IGNoYXIgKmxpbmUsCiAJCQkgICAgICAgaW50IGlzbnVsbCwKIAkJCSAgICAgICBjaGFyICoqbmFtZSwKIAkJCSAgICAgICBpbnQgc2lkZSkKIHsKIAlpZiAoISpuYW1lICYmICFpc251bGwpIHsKLQkJKm5hbWUgPSBmaW5kX25hbWUoc3RhdGUsIGxpbmUsIE5VTEwsIHN0YXRlLT5wX3ZhbHVlLCBURVJNX1RBQik7CisJCSpuYW1lID0gZmluZF9uYW1lKHN0YXRlLT5yb290LCBsaW5lLCBOVUxMLCBzdGF0ZS0+cF92YWx1ZSwgVEVSTV9UQUIpOwogCQlyZXR1cm4gMDsKIAl9CiAKQEAgLTk0Niw3ICs5MjEsNyBAQAogCQlpZiAoaXNudWxsKQogCQkJcmV0dXJuIGVycm9yKF8oImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsLCBnb3QgJXMgb24gbGluZSAlZCIpLAogCQkJCSAgICAgKm5hbWUsIHN0YXRlLT5saW5lbnIpOwotCQlhbm90aGVyID0gZmluZF9uYW1lKHN0YXRlLCBsaW5lLCBOVUxMLCBzdGF0ZS0+cF92YWx1ZSwgVEVSTV9UQUIpOworCQlhbm90aGVyID0gZmluZF9uYW1lKHN0YXRlLT5yb290LCBsaW5lLCBOVUxMLCBzdGF0ZS0+cF92YWx1ZSwgVEVSTV9UQUIpOwogCQlpZiAoIWFub3RoZXIgfHwgc3RyY21wKGFub3RoZXIsICpuYW1lKSkgewogCQkJZnJlZShhbm90aGVyKTsKIAkJCXJldHVybiBlcnJvcigoc2lkZSA9PSBESUZGX05FV19OQU1FKSA/CkBAIC05NjIsNyArOTM3LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBnaXRkaWZmX29sZG5hbWUoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKK3N0YXRpYyBpbnQgZ2l0ZGlmZl9vbGRuYW1lKHN0cnVjdCBnaXRkaWZmX2RhdGEgKnN0YXRlLAogCQkJICAgY29uc3QgY2hhciAqbGluZSwKIAkJCSAgIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCiB7CkBAIC05NzEsNyArOTQ2LDcgQEAKIAkJCQkgICBESUZGX09MRF9OQU1FKTsKIH0KIAotc3RhdGljIGludCBnaXRkaWZmX25ld25hbWUoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKK3N0YXRpYyBpbnQgZ2l0ZGlmZl9uZXduYW1lKHN0cnVjdCBnaXRkaWZmX2RhdGEgKnN0YXRlLAogCQkJICAgY29uc3QgY2hhciAqbGluZSwKIAkJCSAgIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCiB7CkBAIC05ODksMjEgKzk2NCwyMSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGdpdGRpZmZfb2xkbW9kZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorc3RhdGljIGludCBnaXRkaWZmX29sZG1vZGUoc3RydWN0IGdpdGRpZmZfZGF0YSAqc3RhdGUsCiAJCQkgICBjb25zdCBjaGFyICpsaW5lLAogCQkJICAgc3RydWN0IHBhdGNoICpwYXRjaCkKIHsKIAlyZXR1cm4gcGFyc2VfbW9kZV9saW5lKGxpbmUsIHN0YXRlLT5saW5lbnIsICZwYXRjaC0+b2xkX21vZGUpOwogfQogCi1zdGF0aWMgaW50IGdpdGRpZmZfbmV3bW9kZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorc3RhdGljIGludCBnaXRkaWZmX25ld21vZGUoc3RydWN0IGdpdGRpZmZfZGF0YSAqc3RhdGUsCiAJCQkgICBjb25zdCBjaGFyICpsaW5lLAogCQkJICAgc3RydWN0IHBhdGNoICpwYXRjaCkKIHsKIAlyZXR1cm4gcGFyc2VfbW9kZV9saW5lKGxpbmUsIHN0YXRlLT5saW5lbnIsICZwYXRjaC0+bmV3X21vZGUpOwogfQogCi1zdGF0aWMgaW50IGdpdGRpZmZfZGVsZXRlKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCitzdGF0aWMgaW50IGdpdGRpZmZfZGVsZXRlKHN0cnVjdCBnaXRkaWZmX2RhdGEgKnN0YXRlLAogCQkJICBjb25zdCBjaGFyICpsaW5lLAogCQkJICBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQogewpAQCAtMTAxMyw3ICs5ODgsNyBAQAogCXJldHVybiBnaXRkaWZmX29sZG1vZGUoc3RhdGUsIGxpbmUsIHBhdGNoKTsKIH0KIAotc3RhdGljIGludCBnaXRkaWZmX25ld2ZpbGUoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKK3N0YXRpYyBpbnQgZ2l0ZGlmZl9uZXdmaWxlKHN0cnVjdCBnaXRkaWZmX2RhdGEgKnN0YXRlLAogCQkJICAgY29uc3QgY2hhciAqbGluZSwKIAkJCSAgIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCiB7CkBAIC0xMDIzLDQ3ICs5OTgsNDcgQEAKIAlyZXR1cm4gZ2l0ZGlmZl9uZXdtb2RlKHN0YXRlLCBsaW5lLCBwYXRjaCk7CiB9CiAKLXN0YXRpYyBpbnQgZ2l0ZGlmZl9jb3B5c3JjKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCitzdGF0aWMgaW50IGdpdGRpZmZfY29weXNyYyhzdHJ1Y3QgZ2l0ZGlmZl9kYXRhICpzdGF0ZSwKIAkJCSAgIGNvbnN0IGNoYXIgKmxpbmUsCiAJCQkgICBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQogewogCXBhdGNoLT5pc19jb3B5ID0gMTsKIAlmcmVlKHBhdGNoLT5vbGRfbmFtZSk7Ci0JcGF0Y2gtPm9sZF9uYW1lID0gZmluZF9uYW1lKHN0YXRlLCBsaW5lLCBOVUxMLCBzdGF0ZS0+cF92YWx1ZSA/IHN0YXRlLT5wX3ZhbHVlIC0gMSA6IDAsIDApOworCXBhdGNoLT5vbGRfbmFtZSA9IGZpbmRfbmFtZShzdGF0ZS0+cm9vdCwgbGluZSwgTlVMTCwgc3RhdGUtPnBfdmFsdWUgPyBzdGF0ZS0+cF92YWx1ZSAtIDEgOiAwLCAwKTsKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBnaXRkaWZmX2NvcHlkc3Qoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKK3N0YXRpYyBpbnQgZ2l0ZGlmZl9jb3B5ZHN0KHN0cnVjdCBnaXRkaWZmX2RhdGEgKnN0YXRlLAogCQkJICAgY29uc3QgY2hhciAqbGluZSwKIAkJCSAgIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCiB7CiAJcGF0Y2gtPmlzX2NvcHkgPSAxOwogCWZyZWUocGF0Y2gtPm5ld19uYW1lKTsKLQlwYXRjaC0+bmV3X25hbWUgPSBmaW5kX25hbWUoc3RhdGUsIGxpbmUsIE5VTEwsIHN0YXRlLT5wX3ZhbHVlID8gc3RhdGUtPnBfdmFsdWUgLSAxIDogMCwgMCk7CisJcGF0Y2gtPm5ld19uYW1lID0gZmluZF9uYW1lKHN0YXRlLT5yb290LCBsaW5lLCBOVUxMLCBzdGF0ZS0+cF92YWx1ZSA/IHN0YXRlLT5wX3ZhbHVlIC0gMSA6IDAsIDApOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGdpdGRpZmZfcmVuYW1lc3JjKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCitzdGF0aWMgaW50IGdpdGRpZmZfcmVuYW1lc3JjKHN0cnVjdCBnaXRkaWZmX2RhdGEgKnN0YXRlLAogCQkJICAgICBjb25zdCBjaGFyICpsaW5lLAogCQkJICAgICBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQogewogCXBhdGNoLT5pc19yZW5hbWUgPSAxOwogCWZyZWUocGF0Y2gtPm9sZF9uYW1lKTsKLQlwYXRjaC0+b2xkX25hbWUgPSBmaW5kX25hbWUoc3RhdGUsIGxpbmUsIE5VTEwsIHN0YXRlLT5wX3ZhbHVlID8gc3RhdGUtPnBfdmFsdWUgLSAxIDogMCwgMCk7CisJcGF0Y2gtPm9sZF9uYW1lID0gZmluZF9uYW1lKHN0YXRlLT5yb290LCBsaW5lLCBOVUxMLCBzdGF0ZS0+cF92YWx1ZSA/IHN0YXRlLT5wX3ZhbHVlIC0gMSA6IDAsIDApOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGdpdGRpZmZfcmVuYW1lZHN0KHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCitzdGF0aWMgaW50IGdpdGRpZmZfcmVuYW1lZHN0KHN0cnVjdCBnaXRkaWZmX2RhdGEgKnN0YXRlLAogCQkJICAgICBjb25zdCBjaGFyICpsaW5lLAogCQkJICAgICBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQogewogCXBhdGNoLT5pc19yZW5hbWUgPSAxOwogCWZyZWUocGF0Y2gtPm5ld19uYW1lKTsKLQlwYXRjaC0+bmV3X25hbWUgPSBmaW5kX25hbWUoc3RhdGUsIGxpbmUsIE5VTEwsIHN0YXRlLT5wX3ZhbHVlID8gc3RhdGUtPnBfdmFsdWUgLSAxIDogMCwgMCk7CisJcGF0Y2gtPm5ld19uYW1lID0gZmluZF9uYW1lKHN0YXRlLT5yb290LCBsaW5lLCBOVUxMLCBzdGF0ZS0+cF92YWx1ZSA/IHN0YXRlLT5wX3ZhbHVlIC0gMSA6IDAsIDApOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGdpdGRpZmZfc2ltaWxhcml0eShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorc3RhdGljIGludCBnaXRkaWZmX3NpbWlsYXJpdHkoc3RydWN0IGdpdGRpZmZfZGF0YSAqc3RhdGUsCiAJCQkgICAgICBjb25zdCBjaGFyICpsaW5lLAogCQkJICAgICAgc3RydWN0IHBhdGNoICpwYXRjaCkKIHsKQEAgLTEwNzMsNyArMTA0OCw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZ2l0ZGlmZl9kaXNzaW1pbGFyaXR5KHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCitzdGF0aWMgaW50IGdpdGRpZmZfZGlzc2ltaWxhcml0eShzdHJ1Y3QgZ2l0ZGlmZl9kYXRhICpzdGF0ZSwKIAkJCQkgY29uc3QgY2hhciAqbGluZSwKIAkJCQkgc3RydWN0IHBhdGNoICpwYXRjaCkKIHsKQEAgLTEwODMsNyArMTA1OCw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZ2l0ZGlmZl9pbmRleChzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLAorc3RhdGljIGludCBnaXRkaWZmX2luZGV4KHN0cnVjdCBnaXRkaWZmX2RhdGEgKnN0YXRlLAogCQkJIGNvbnN0IGNoYXIgKmxpbmUsCiAJCQkgc3RydWN0IHBhdGNoICpwYXRjaCkKIHsKQEAgLTExMjMsNyArMTA5OCw3IEBACiAgKiBUaGlzIGlzIG5vcm1hbCBmb3IgYSBkaWZmIHRoYXQgZG9lc24ndCBjaGFuZ2UgYW55dGhpbmc6IHdlJ2xsIGZhbGwgdGhyb3VnaAogICogaW50byB0aGUgbmV4dCBkaWZmLiBUZWxsIHRoZSBwYXJzZXIgdG8gYnJlYWsgb3V0LgogICovCi1zdGF0aWMgaW50IGdpdGRpZmZfdW5yZWNvZ25pemVkKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCitzdGF0aWMgaW50IGdpdGRpZmZfdW5yZWNvZ25pemVkKHN0cnVjdCBnaXRkaWZmX2RhdGEgKnN0YXRlLAogCQkJCWNvbnN0IGNoYXIgKmxpbmUsCiAJCQkJc3RydWN0IHBhdGNoICpwYXRjaCkKIHsKQEAgLTExMzQsMTcgKzExMDksMTcgQEAKICAqIFNraXAgcF92YWx1ZSBsZWFkaW5nIGNvbXBvbmVudHMgZnJvbSAibGluZSI7IGFzIHdlIGRvIG5vdCBhY2NlcHQKICAqIGFic29sdXRlIHBhdGhzLCByZXR1cm4gTlVMTCBpbiB0aGF0IGNhc2UuCiAgKi8KLXN0YXRpYyBjb25zdCBjaGFyICpza2lwX3RyZWVfcHJlZml4KHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCitzdGF0aWMgY29uc3QgY2hhciAqc2tpcF90cmVlX3ByZWZpeChpbnQgcF92YWx1ZSwKIAkJCQkgICAgY29uc3QgY2hhciAqbGluZSwKIAkJCQkgICAgaW50IGxsZW4pCiB7CiAJaW50IG5zbGFzaDsKIAlpbnQgaTsKIAotCWlmICghc3RhdGUtPnBfdmFsdWUpCisJaWYgKCFwX3ZhbHVlKQogCQlyZXR1cm4gKGxsZW4gJiYgbGluZVswXSA9PSAnLycpID8gTlVMTCA6IGxpbmU7CiAKLQluc2xhc2ggPSBzdGF0ZS0+cF92YWx1ZTsKKwluc2xhc2ggPSBwX3ZhbHVlOwogCWZvciAoaSA9IDA7IGkgPCBsbGVuOyBpKyspIHsKIAkJaW50IGNoID0gbGluZVtpXTsKIAkJaWYgKGNoID09ICcvJyAmJiAtLW5zbGFzaCA8PSAwKQpAQCAtMTE2MSw3ICsxMTM2LDcgQEAKICAqIGNyZWF0aW9uIG9yIGRlbGV0aW9uIG9mIGFuIGVtcHR5IGZpbGUuICBJbiBhbnkgb2YgdGhlc2UgY2FzZXMsCiAgKiBib3RoIHNpZGVzIGFyZSB0aGUgc2FtZSBuYW1lIHVuZGVyIGEvIGFuZCBiLyByZXNwZWN0aXZlbHkuCiAgKi8KLXN0YXRpYyBjaGFyICpnaXRfaGVhZGVyX25hbWUoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwKK3N0YXRpYyBjaGFyICpnaXRfaGVhZGVyX25hbWUoaW50IHBfdmFsdWUsCiAJCQkgICAgIGNvbnN0IGNoYXIgKmxpbmUsCiAJCQkgICAgIGludCBsbGVuKQogewpAQCAtMTE4MSw3ICsxMTU2LDcgQEAKIAkJCWdvdG8gZnJlZV9hbmRfZmFpbDE7CiAKIAkJLyogc3RyaXAgdGhlIGEvYiBwcmVmaXggaW5jbHVkaW5nIHRyYWlsaW5nIHNsYXNoICovCi0JCWNwID0gc2tpcF90cmVlX3ByZWZpeChzdGF0ZSwgZmlyc3QuYnVmLCBmaXJzdC5sZW4pOworCQljcCA9IHNraXBfdHJlZV9wcmVmaXgocF92YWx1ZSwgZmlyc3QuYnVmLCBmaXJzdC5sZW4pOwogCQlpZiAoIWNwKQogCQkJZ290byBmcmVlX2FuZF9mYWlsMTsKIAkJc3RyYnVmX3JlbW92ZSgmZmlyc3QsIDAsIGNwIC0gZmlyc3QuYnVmKTsKQEAgLTExOTgsNyArMTE3Myw3IEBACiAJCWlmICgqc2Vjb25kID09ICciJykgewogCQkJaWYgKHVucXVvdGVfY19zdHlsZSgmc3AsIHNlY29uZCwgTlVMTCkpCiAJCQkJZ290byBmcmVlX2FuZF9mYWlsMTsKLQkJCWNwID0gc2tpcF90cmVlX3ByZWZpeChzdGF0ZSwgc3AuYnVmLCBzcC5sZW4pOworCQkJY3AgPSBza2lwX3RyZWVfcHJlZml4KHBfdmFsdWUsIHNwLmJ1Ziwgc3AubGVuKTsKIAkJCWlmICghY3ApCiAJCQkJZ290byBmcmVlX2FuZF9mYWlsMTsKIAkJCS8qIFRoZXkgbXVzdCBtYXRjaCwgb3RoZXJ3aXNlIGlnbm9yZSAqLwpAQCAtMTIwOSw3ICsxMTg0LDcgQEAKIAkJfQogCiAJCS8qIHVucXVvdGVkIHNlY29uZCAqLwotCQljcCA9IHNraXBfdHJlZV9wcmVmaXgoc3RhdGUsIHNlY29uZCwgbGluZSArIGxsZW4gLSBzZWNvbmQpOworCQljcCA9IHNraXBfdHJlZV9wcmVmaXgocF92YWx1ZSwgc2Vjb25kLCBsaW5lICsgbGxlbiAtIHNlY29uZCk7CiAJCWlmICghY3ApCiAJCQlnb3RvIGZyZWVfYW5kX2ZhaWwxOwogCQlpZiAobGluZSArIGxsZW4gLSBjcCAhPSBmaXJzdC5sZW4gfHwKQEAgLTEyMjQsNyArMTE5OSw3IEBACiAJfQogCiAJLyogdW5xdW90ZWQgZmlyc3QgbmFtZSAqLwotCW5hbWUgPSBza2lwX3RyZWVfcHJlZml4KHN0YXRlLCBsaW5lLCBsbGVuKTsKKwluYW1lID0gc2tpcF90cmVlX3ByZWZpeChwX3ZhbHVlLCBsaW5lLCBsbGVuKTsKIAlpZiAoIW5hbWUpCiAJCXJldHVybiBOVUxMOwogCkBAIC0xMjQwLDcgKzEyMTUsNyBAQAogCQkJaWYgKHVucXVvdGVfY19zdHlsZSgmc3AsIHNlY29uZCwgTlVMTCkpCiAJCQkJZ290byBmcmVlX2FuZF9mYWlsMjsKIAotCQkJbnAgPSBza2lwX3RyZWVfcHJlZml4KHN0YXRlLCBzcC5idWYsIHNwLmxlbik7CisJCQlucCA9IHNraXBfdHJlZV9wcmVmaXgocF92YWx1ZSwgc3AuYnVmLCBzcC5sZW4pOwogCQkJaWYgKCFucCkKIAkJCQlnb3RvIGZyZWVfYW5kX2ZhaWwyOwogCkBAIC0xMjg0LDcgKzEyNTksNyBAQAogCQkJICovCiAJCQlpZiAoIW5hbWVbbGVuICsgMV0pCiAJCQkJcmV0dXJuIE5VTEw7IC8qIG5vIHBvc3RpbWFnZSBuYW1lICovCi0JCQlzZWNvbmQgPSBza2lwX3RyZWVfcHJlZml4KHN0YXRlLCBuYW1lICsgbGVuICsgMSwKKwkJCXNlY29uZCA9IHNraXBfdHJlZV9wcmVmaXgocF92YWx1ZSwgbmFtZSArIGxlbiArIDEsCiAJCQkJCQkgIGxpbmVfbGVuIC0gKGxlbiArIDEpKTsKIAkJCWlmICghc2Vjb25kKQogCQkJCXJldHVybiBOVUxMOwpAQCAtMTI5OSwyNiArMTI3NCwyOCBAQAogCX0KIH0KIAotc3RhdGljIGludCBjaGVja19oZWFkZXJfbGluZShzdHJ1Y3QgYXBwbHlfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQorc3RhdGljIGludCBjaGVja19oZWFkZXJfbGluZShpbnQgbGluZW5yLCBzdHJ1Y3QgcGF0Y2ggKnBhdGNoKQogewogCWludCBleHRlbnNpb25zID0gKHBhdGNoLT5pc19kZWxldGUgPT0gMSkgKyAocGF0Y2gtPmlzX25ldyA9PSAxKSArCiAJCQkgKHBhdGNoLT5pc19yZW5hbWUgPT0gMSkgKyAocGF0Y2gtPmlzX2NvcHkgPT0gMSk7CiAJaWYgKGV4dGVuc2lvbnMgPiAxKQogCQlyZXR1cm4gZXJyb3IoXygiaW5jb25zaXN0ZW50IGhlYWRlciBsaW5lcyAlZCBhbmQgJWQiKSwKLQkJCSAgICAgcGF0Y2gtPmV4dGVuc2lvbl9saW5lbnIsIHN0YXRlLT5saW5lbnIpOworCQkJICAgICBwYXRjaC0+ZXh0ZW5zaW9uX2xpbmVuciwgbGluZW5yKTsKIAlpZiAoZXh0ZW5zaW9ucyAmJiAhcGF0Y2gtPmV4dGVuc2lvbl9saW5lbnIpCi0JCXBhdGNoLT5leHRlbnNpb25fbGluZW5yID0gc3RhdGUtPmxpbmVucjsKKwkJcGF0Y2gtPmV4dGVuc2lvbl9saW5lbnIgPSBsaW5lbnI7CiAJcmV0dXJuIDA7CiB9CiAKLS8qIFZlcmlmeSB0aGF0IHdlIHJlY29nbml6ZSB0aGUgbGluZXMgZm9sbG93aW5nIGEgZ2l0IGhlYWRlciAqLwotc3RhdGljIGludCBwYXJzZV9naXRfaGVhZGVyKHN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCi0JCQkgICAgY29uc3QgY2hhciAqbGluZSwKLQkJCSAgICBpbnQgbGVuLAotCQkJICAgIHVuc2lnbmVkIGludCBzaXplLAotCQkJICAgIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCitpbnQgcGFyc2VfZ2l0X2RpZmZfaGVhZGVyKHN0cnVjdCBzdHJidWYgKnJvb3QsCisJCQkgIGludCAqbGluZW5yLAorCQkJICBpbnQgcF92YWx1ZSwKKwkJCSAgY29uc3QgY2hhciAqbGluZSwKKwkJCSAgaW50IGxlbiwKKwkJCSAgdW5zaWduZWQgaW50IHNpemUsCisJCQkgIHN0cnVjdCBwYXRjaCAqcGF0Y2gpCiB7CiAJdW5zaWduZWQgbG9uZyBvZmZzZXQ7CisJc3RydWN0IGdpdGRpZmZfZGF0YSBwYXJzZV9oZHJfc3RhdGU7CiAKIAkvKiBBIGdpdCBkaWZmIGhhcyBleHBsaWNpdCBuZXcvZGVsZXRlIGluZm9ybWF0aW9uLCBzbyB3ZSBkb24ndCBndWVzcyAqLwogCXBhdGNoLT5pc19uZXcgPSAwOwpAQCAtMTMzMCwyMCArMTMwNywyNCBAQAogCSAqIG9yIHJlbW92aW5nIG9yIGFkZGluZyBlbXB0eSBmaWxlcyksIHNvIHdlIGdldAogCSAqIHRoZSBkZWZhdWx0IG5hbWUgZnJvbSB0aGUgaGVhZGVyLgogCSAqLwotCXBhdGNoLT5kZWZfbmFtZSA9IGdpdF9oZWFkZXJfbmFtZShzdGF0ZSwgbGluZSwgbGVuKTsKLQlpZiAocGF0Y2gtPmRlZl9uYW1lICYmIHN0YXRlLT5yb290LmxlbikgewotCQljaGFyICpzID0geHN0cmZtdCgiJXMlcyIsIHN0YXRlLT5yb290LmJ1ZiwgcGF0Y2gtPmRlZl9uYW1lKTsKKwlwYXRjaC0+ZGVmX25hbWUgPSBnaXRfaGVhZGVyX25hbWUocF92YWx1ZSwgbGluZSwgbGVuKTsKKwlpZiAocGF0Y2gtPmRlZl9uYW1lICYmIHJvb3QtPmxlbikgeworCQljaGFyICpzID0geHN0cmZtdCgiJXMlcyIsIHJvb3QtPmJ1ZiwgcGF0Y2gtPmRlZl9uYW1lKTsKIAkJZnJlZShwYXRjaC0+ZGVmX25hbWUpOwogCQlwYXRjaC0+ZGVmX25hbWUgPSBzOwogCX0KIAogCWxpbmUgKz0gbGVuOwogCXNpemUgLT0gbGVuOwotCXN0YXRlLT5saW5lbnIrKzsKLQlmb3IgKG9mZnNldCA9IGxlbiA7IHNpemUgPiAwIDsgb2Zmc2V0ICs9IGxlbiwgc2l6ZSAtPSBsZW4sIGxpbmUgKz0gbGVuLCBzdGF0ZS0+bGluZW5yKyspIHsKKwkoKmxpbmVucikrKzsKKwlwYXJzZV9oZHJfc3RhdGUucm9vdCA9IHJvb3Q7CisJcGFyc2VfaGRyX3N0YXRlLmxpbmVuciA9ICpsaW5lbnI7CisJcGFyc2VfaGRyX3N0YXRlLnBfdmFsdWUgPSBwX3ZhbHVlOworCisJZm9yIChvZmZzZXQgPSBsZW4gOyBzaXplID4gMCA7IG9mZnNldCArPSBsZW4sIHNpemUgLT0gbGVuLCBsaW5lICs9IGxlbiwgKCpsaW5lbnIpKyspIHsKIAkJc3RhdGljIGNvbnN0IHN0cnVjdCBvcGVudHJ5IHsKIAkJCWNvbnN0IGNoYXIgKnN0cjsKLQkJCWludCAoKmZuKShzdHJ1Y3QgYXBwbHlfc3RhdGUgKiwgY29uc3QgY2hhciAqLCBzdHJ1Y3QgcGF0Y2ggKik7CisJCQlpbnQgKCpmbikoc3RydWN0IGdpdGRpZmZfZGF0YSAqLCBjb25zdCBjaGFyICosIHN0cnVjdCBwYXRjaCAqKTsKIAkJfSBvcHRhYmxlW10gPSB7CiAJCQl7ICJAQCAtIiwgZ2l0ZGlmZl9oZHJlbmQgfSwKIAkJCXsgIi0tLSAiLCBnaXRkaWZmX29sZG5hbWUgfSwKQEAgLTEzNzQsMTcgKzEzNTUsMzggQEAKIAkJCWludCByZXM7CiAJCQlpZiAobGVuIDwgb3BsZW4gfHwgbWVtY21wKHAtPnN0ciwgbGluZSwgb3BsZW4pKQogCQkJCWNvbnRpbnVlOwotCQkJcmVzID0gcC0+Zm4oc3RhdGUsIGxpbmUgKyBvcGxlbiwgcGF0Y2gpOworCQkJcmVzID0gcC0+Zm4oJnBhcnNlX2hkcl9zdGF0ZSwgbGluZSArIG9wbGVuLCBwYXRjaCk7CiAJCQlpZiAocmVzIDwgMCkKIAkJCQlyZXR1cm4gLTE7Ci0JCQlpZiAoY2hlY2tfaGVhZGVyX2xpbmUoc3RhdGUsIHBhdGNoKSkKKwkJCWlmIChjaGVja19oZWFkZXJfbGluZSgqbGluZW5yLCBwYXRjaCkpCiAJCQkJcmV0dXJuIC0xOwogCQkJaWYgKHJlcyA+IDApCi0JCQkJcmV0dXJuIG9mZnNldDsKKwkJCQlnb3RvIGRvbmU7CiAJCQlicmVhazsKIAkJfQogCX0KIAorZG9uZToKKwlpZiAoIXBhdGNoLT5vbGRfbmFtZSAmJiAhcGF0Y2gtPm5ld19uYW1lKSB7CisJCWlmICghcGF0Y2gtPmRlZl9uYW1lKSB7CisJCQllcnJvcihRXygiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgIgorCQkJCSAiJWQgbGVhZGluZyBwYXRobmFtZSBjb21wb25lbnQgKGxpbmUgJWQpIiwKKwkJCQkgImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICIKKwkJCQkgIiVkIGxlYWRpbmcgcGF0aG5hbWUgY29tcG9uZW50cyAobGluZSAlZCkiLAorCQkJCSBwYXJzZV9oZHJfc3RhdGUucF92YWx1ZSksCisJCQkgICAgICBwYXJzZV9oZHJfc3RhdGUucF92YWx1ZSwgKmxpbmVucik7CisJCQlyZXR1cm4gLTEyODsKKwkJfQorCQlwYXRjaC0+b2xkX25hbWUgPSB4c3RyZHVwKHBhdGNoLT5kZWZfbmFtZSk7CisJCXBhdGNoLT5uZXdfbmFtZSA9IHhzdHJkdXAocGF0Y2gtPmRlZl9uYW1lKTsKKwl9CisJaWYgKCghcGF0Y2gtPm5ld19uYW1lICYmICFwYXRjaC0+aXNfZGVsZXRlKSB8fAorCSAgICAoIXBhdGNoLT5vbGRfbmFtZSAmJiAhcGF0Y2gtPmlzX25ldykpIHsKKwkJZXJyb3IoXygiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uICIKKwkJCSIobGluZSAlZCkiKSwgKmxpbmVucik7CisJCXJldHVybiAtMTI4OworCX0KKwlwYXRjaC0+aXNfdG9wbGV2ZWxfcmVsYXRpdmUgPSAxOwogCXJldHVybiBvZmZzZXQ7CiB9CiAKQEAgLTE1NTgsMzEgKzE1NjAsMTMgQEAKIAkJICogb3IgbW9kZSBjaGFuZ2UsIHNvIHdlIGhhbmRsZSB0aGF0IHNwZWNpYWxseQogCQkgKi8KIAkJaWYgKCFtZW1jbXAoImRpZmYgLS1naXQgIiwgbGluZSwgMTEpKSB7Ci0JCQlpbnQgZ2l0X2hkcl9sZW4gPSBwYXJzZV9naXRfaGVhZGVyKHN0YXRlLCBsaW5lLCBsZW4sIHNpemUsIHBhdGNoKTsKKwkJCWludCBnaXRfaGRyX2xlbiA9IHBhcnNlX2dpdF9kaWZmX2hlYWRlcigmc3RhdGUtPnJvb3QsICZzdGF0ZS0+bGluZW5yLAorCQkJCQkJCQlzdGF0ZS0+cF92YWx1ZSwgbGluZSwgbGVuLAorCQkJCQkJCQlzaXplLCBwYXRjaCk7CiAJCQlpZiAoZ2l0X2hkcl9sZW4gPCAwKQogCQkJCXJldHVybiAtMTI4OwogCQkJaWYgKGdpdF9oZHJfbGVuIDw9IGxlbikKIAkJCQljb250aW51ZTsKLQkJCWlmICghcGF0Y2gtPm9sZF9uYW1lICYmICFwYXRjaC0+bmV3X25hbWUpIHsKLQkJCQlpZiAoIXBhdGNoLT5kZWZfbmFtZSkgewotCQkJCQllcnJvcihRXygiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgIgotCQkJCQkJCSIlZCBsZWFkaW5nIHBhdGhuYW1lIGNvbXBvbmVudCAobGluZSAlZCkiLAotCQkJCQkJCSJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAiCi0JCQkJCQkJIiVkIGxlYWRpbmcgcGF0aG5hbWUgY29tcG9uZW50cyAobGluZSAlZCkiLAotCQkJCQkJCXN0YXRlLT5wX3ZhbHVlKSwKLQkJCQkJCSAgICAgc3RhdGUtPnBfdmFsdWUsIHN0YXRlLT5saW5lbnIpOwotCQkJCQlyZXR1cm4gLTEyODsKLQkJCQl9Ci0JCQkJcGF0Y2gtPm9sZF9uYW1lID0geHN0cmR1cChwYXRjaC0+ZGVmX25hbWUpOwotCQkJCXBhdGNoLT5uZXdfbmFtZSA9IHhzdHJkdXAocGF0Y2gtPmRlZl9uYW1lKTsKLQkJCX0KLQkJCWlmICgoIXBhdGNoLT5uZXdfbmFtZSAmJiAhcGF0Y2gtPmlzX2RlbGV0ZSkgfHwKLQkJCSAgICAoIXBhdGNoLT5vbGRfbmFtZSAmJiAhcGF0Y2gtPmlzX25ldykpIHsKLQkJCQllcnJvcihfKCJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gIgotCQkJCQkgICAgICIobGluZSAlZCkiKSwgc3RhdGUtPmxpbmVucik7Ci0JCQkJcmV0dXJuIC0xMjg7Ci0JCQl9Ci0JCQlwYXRjaC0+aXNfdG9wbGV2ZWxfcmVsYXRpdmUgPSAxOwogCQkJKmhkcnNpemUgPSBnaXRfaGRyX2xlbjsKIAkJCXJldHVybiBvZmZzZXQ7CiAJCX0KQEAgLTI2NzgsNiArMjY2MiwxNiBAQAogCWludCBiYWNrd2FyZHNfbG5vLCBmb3J3YXJkc19sbm8sIGN1cnJlbnRfbG5vOwogCiAJLyoKKwkgKiBXaGVuIHJ1bm5pbmcgd2l0aCAtLWFsbG93LW92ZXJsYXAsIGl0IGlzIHBvc3NpYmxlIHRoYXQgYSBodW5rIGlzCisJICogc2VlbiB0aGF0IHByZXRlbmRzIHRvIHN0YXJ0IGF0IHRoZSBiZWdpbm5pbmcgKGJ1dCBubyBsb25nZXIgZG9lcyksCisJICogYW5kIHRoYXQgKnN0aWxsKiBuZWVkcyB0byBtYXRjaCB0aGUgZW5kLiBTbyB0cnVzdCBgbWF0Y2hfZW5kYCBtb3JlCisJICogdGhhbiBgbWF0Y2hfYmVnaW5uaW5nYC4KKwkgKi8KKwlpZiAoc3RhdGUtPmFsbG93X292ZXJsYXAgJiYgbWF0Y2hfYmVnaW5uaW5nICYmIG1hdGNoX2VuZCAmJgorCSAgICBpbWctPm5yIC0gcHJlaW1hZ2UtPm5yICE9IDApCisJCW1hdGNoX2JlZ2lubmluZyA9IDA7CisKKwkvKgogCSAqIElmIG1hdGNoX2JlZ2lubmluZyBvciBtYXRjaF9lbmQgaXMgc3BlY2lmaWVkLCB0aGVyZSBpcyBubwogCSAqIHBvaW50IHN0YXJ0aW5nIGZyb20gYSB3cm9uZyBsaW5lIHRoYXQgd2lsbCBuZXZlciBtYXRjaCBhbmQKIAkgKiB3YW5kZXIgYXJvdW5kIGFuZCB3YWl0IGZvciBhIG1hdGNoIGF0IHRoZSBzcGVjaWZpZWQgZW5kLgpAQCAtMzE2Myw3ICszMTU3LDggQEAKIAkJICogU2VlIGlmIHRoZSBvbGQgb25lIG1hdGNoZXMgd2hhdCB0aGUgcGF0Y2gKIAkJICogYXBwbGllcyB0by4KIAkJICovCi0JCWhhc2hfb2JqZWN0X2ZpbGUoaW1nLT5idWYsIGltZy0+bGVuLCBibG9iX3R5cGUsICZvaWQpOworCQloYXNoX29iamVjdF9maWxlKHRoZV9oYXNoX2FsZ28sIGltZy0+YnVmLCBpbWctPmxlbiwgYmxvYl90eXBlLAorCQkJCSAmb2lkKTsKIAkJaWYgKHN0cmNtcChvaWRfdG9faGV4KCZvaWQpLCBwYXRjaC0+b2xkX29pZF9wcmVmaXgpKQogCQkJcmV0dXJuIGVycm9yKF8oInRoZSBwYXRjaCBhcHBsaWVzIHRvICclcycgKCVzKSwgIgogCQkJCSAgICAgICAid2hpY2ggZG9lcyBub3QgbWF0Y2ggdGhlICIKQEAgLTMxODMsNyArMzE3OCw3IEBACiAJCXJldHVybiAwOyAvKiBkZWxldGlvbiBwYXRjaCAqLwogCX0KIAotCWlmIChoYXNfc2hhMV9maWxlKG9pZC5oYXNoKSkgeworCWlmIChoYXNfb2JqZWN0X2ZpbGUoJm9pZCkpIHsKIAkJLyogV2UgYWxyZWFkeSBoYXZlIHRoZSBwb3N0aW1hZ2UgKi8KIAkJZW51bSBvYmplY3RfdHlwZSB0eXBlOwogCQl1bnNpZ25lZCBsb25nIHNpemU7CkBAIC0zMjA4LDcgKzMyMDMsOCBAQAogCQkJCSAgICAgbmFtZSk7CiAKIAkJLyogdmVyaWZ5IHRoYXQgdGhlIHJlc3VsdCBtYXRjaGVzICovCi0JCWhhc2hfb2JqZWN0X2ZpbGUoaW1nLT5idWYsIGltZy0+bGVuLCBibG9iX3R5cGUsICZvaWQpOworCQloYXNoX29iamVjdF9maWxlKHRoZV9oYXNoX2FsZ28sIGltZy0+YnVmLCBpbWctPmxlbiwgYmxvYl90eXBlLAorCQkJCSAmb2lkKTsKIAkJaWYgKHN0cmNtcChvaWRfdG9faGV4KCZvaWQpLCBwYXRjaC0+bmV3X29pZF9wcmVmaXgpKQogCQkJcmV0dXJuIGVycm9yKF8oImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIiksCiAJCQkJbmFtZSwgcGF0Y2gtPm5ld19vaWRfcHJlZml4LCBvaWRfdG9faGV4KCZvaWQpKTsKQEAgLTMzNTIsNyArMzM0OCw4IEBACiAKIAljb3N0YXRlLnJlZnJlc2hfY2FjaGUgPSAxOwogCWNvc3RhdGUuaXN0YXRlID0gaXN0YXRlOwotCWlmIChjaGVja291dF9lbnRyeShjZSwgJmNvc3RhdGUsIE5VTEwpIHx8IGxzdGF0KGNlLT5uYW1lLCBzdCkpCisJaWYgKGNoZWNrb3V0X2VudHJ5KGNlLCAmY29zdGF0ZSwgTlVMTCwgTlVMTCkgfHwKKwkgICAgbHN0YXQoY2UtPm5hbWUsIHN0KSkKIAkJcmV0dXJuIGVycm9yKF8oImNhbm5vdCBjaGVja291dCAlcyIpLCBjZS0+bmFtZSk7CiAJcmV0dXJuIDA7CiB9CkBAIC00MDE5LDcgKzQwMTYsNyBAQAogCQlyZXR1cm4gcmVhZF9pbmRleF9mcm9tKHN0YXRlLT5yZXBvLT5pbmRleCwgc3RhdGUtPmluZGV4X2ZpbGUsCiAJCQkJICAgICAgIGdldF9naXRfZGlyKCkpOwogCWVsc2UKLQkJcmV0dXJuIHJlYWRfaW5kZXgoc3RhdGUtPnJlcG8tPmluZGV4KTsKKwkJcmV0dXJuIHJlcG9fcmVhZF9pbmRleChzdGF0ZS0+cmVwbyk7CiB9CiAKIC8qIFRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gcmVhZCB0aGUgb2JqZWN0IG5hbWUgZnJvbSB0aGUgY3VycmVudCBpbmRleCAqLwpAQCAtNDE5OCw4ICs0MTk1LDggQEAKIAkJb2xkX25hbWUgPSBzbGFzaF9vbGQgKyAxOwogCQluZXdfbmFtZSA9IHNsYXNoX25ldyArIDE7CiAJfQotCS8qIHAtPm9sZF9uYW1lIHRocnUgb2xkX25hbWUgaXMgdGhlIGNvbW1vbiBwcmVmaXgsIGFuZCBvbGRfbmFtZSBhbmQgbmV3X25hbWUKLQkgKiB0aHJvdWdoIHRoZSBlbmQgb2YgbmFtZXMgYXJlIHJlbmFtZXMKKwkvKiBwLT5vbGRfbmFtZSB0aHJvdWdoIG9sZF9uYW1lIGlzIHRoZSBjb21tb24gcHJlZml4LCBhbmQgb2xkX25hbWUgYW5kCisJICogbmV3X25hbWUgdGhyb3VnaCB0aGUgZW5kIG9mIG5hbWVzIGFyZSByZW5hbWVzCiAJICovCiAJaWYgKG9sZF9uYW1lICE9IHAtPm9sZF9uYW1lKQogCQlwcmludGYoIiAlcyAlLipzeyVzID0+ICVzfSAoJWQlJSlcbiIsIHJlbmFtZWNvcHksCkBAIC00MzA2LDcgKzQzMDMsNyBAQAogCQkJCQkJICAgICAiY3JlYXRlZCBmaWxlICclcyciKSwKIAkJCQkJCSAgIHBhdGgpOwogCQkJfQotCQkJZmlsbF9zdGF0X2NhY2hlX2luZm8oY2UsICZzdCk7CisJCQlmaWxsX3N0YXRfY2FjaGVfaW5mbyhzdGF0ZS0+cmVwby0+aW5kZXgsIGNlLCAmc3QpOwogCQl9CiAJCWlmICh3cml0ZV9vYmplY3RfZmlsZShidWYsIHNpemUsIGJsb2JfdHlwZSwgJmNlLT5vaWQpIDwgMCkgewogCQkJZGlzY2FyZF9jYWNoZV9lbnRyeShjZSk7CkBAIC00NjU5LDYgKzQ2NTYsNyBAQAogCXN0cnVjdCBwYXRjaCAqbGlzdCA9IE5VTEwsICoqbGlzdHAgPSAmbGlzdDsKIAlpbnQgc2tpcHBlZF9wYXRjaCA9IDA7CiAJaW50IHJlcyA9IDA7CisJaW50IGZsdXNoX2F0dHJpYnV0ZXMgPSAwOwogCiAJc3RhdGUtPnBhdGNoX2lucHV0X2ZpbGUgPSBmaWxlbmFtZTsKIAlpZiAocmVhZF9wYXRjaF9maWxlKCZidWYsIGZkKSA8IDApCkBAIC00Njg2LDYgKzQ2ODQsMTQgQEAKIAkJCXBhdGNoX3N0YXRzKHN0YXRlLCBwYXRjaCk7CiAJCQkqbGlzdHAgPSBwYXRjaDsKIAkJCWxpc3RwID0gJnBhdGNoLT5uZXh0OworCisJCQlpZiAoKHBhdGNoLT5uZXdfbmFtZSAmJgorCQkJICAgICBlbmRzX3dpdGhfcGF0aF9jb21wb25lbnRzKHBhdGNoLT5uZXdfbmFtZSwKKwkJCQkJCSAgICAgICBHSVRBVFRSSUJVVEVTX0ZJTEUpKSB8fAorCQkJICAgIChwYXRjaC0+b2xkX25hbWUgJiYKKwkJCSAgICAgZW5kc193aXRoX3BhdGhfY29tcG9uZW50cyhwYXRjaC0+b2xkX25hbWUsCisJCQkJCQkgICAgICAgR0lUQVRUUklCVVRFU19GSUxFKSkpCisJCQkJZmx1c2hfYXR0cmlidXRlcyA9IDE7CiAJCX0KIAkJZWxzZSB7CiAJCQlpZiAoc3RhdGUtPmFwcGx5X3ZlcmJvc2l0eSA+IHZlcmJvc2l0eV9ub3JtYWwpCkBAIC00NzEyLDcgKzQ3MTgsOCBAQAogCQkJCQkJICBzdGF0ZS0+aW5kZXhfZmlsZSwKIAkJCQkJCSAgTE9DS19ESUVfT05fRVJST1IpOwogCQllbHNlCi0JCQlob2xkX2xvY2tlZF9pbmRleCgmc3RhdGUtPmxvY2tfZmlsZSwgTE9DS19ESUVfT05fRVJST1IpOworCQkJcmVwb19ob2xkX2xvY2tlZF9pbmRleChzdGF0ZS0+cmVwbywgJnN0YXRlLT5sb2NrX2ZpbGUsCisJCQkJCSAgICAgICBMT0NLX0RJRV9PTl9FUlJPUik7CiAJfQogCiAJaWYgKHN0YXRlLT5jaGVja19pbmRleCAmJiByZWFkX2FwcGx5X2NhY2hlKHN0YXRlKSA8IDApIHsKQEAgLTQ3NjEsNiArNDc2OCw4IEBACiAJaWYgKHN0YXRlLT5zdW1tYXJ5ICYmIHN0YXRlLT5hcHBseV92ZXJib3NpdHkgPiB2ZXJib3NpdHlfc2lsZW50KQogCQlzdW1tYXJ5X3BhdGNoX2xpc3QobGlzdCk7CiAKKwlpZiAoZmx1c2hfYXR0cmlidXRlcykKKwkJcmVzZXRfcGFyc2VkX2F0dHJpYnV0ZXMoKTsKIGVuZDoKIAlmcmVlX3BhdGNoX2xpc3QobGlzdCk7CiAJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CmRpZmYgLS1naXQgYS9hcHBseS5oIGIvYXBwbHkuaAppbmRleCA1OTQ4MzQ4Li5kYTNkOTVmIDEwMDY0NAotLS0gYS9hcHBseS5oCisrKyBiL2FwcGx5LmgKQEAgLTEsNiArMSw3IEBACiAjaWZuZGVmIEFQUExZX0gKICNkZWZpbmUgQVBQTFlfSAogCisjaW5jbHVkZSAiaGFzaC5oIgogI2luY2x1ZGUgImxvY2tmaWxlLmgiCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKIApAQCAtMTE3LDYgKzExOCw0MCBAQAogCWludCBhcHBsaWVkX2FmdGVyX2ZpeGluZ193czsKIH07CiAKKy8qCisgKiBUaGlzIHJlcHJlc2VudHMgYSAicGF0Y2giIHRvIGEgZmlsZSwgYm90aCBtZXRhaW5mbyBjaGFuZ2VzCisgKiBzdWNoIGFzIGNyZWF0aW9uL2RlbGV0aW9uLCBmaWxlbW9kZSBhbmQgY29udGVudCBjaGFuZ2VzIHJlcHJlc2VudGVkCisgKiBhcyBhIHNlcmllcyBvZiBmcmFnbWVudHMuCisgKi8KK3N0cnVjdCBwYXRjaCB7CisJY2hhciAqbmV3X25hbWUsICpvbGRfbmFtZSwgKmRlZl9uYW1lOworCXVuc2lnbmVkIGludCBvbGRfbW9kZSwgbmV3X21vZGU7CisJaW50IGlzX25ldywgaXNfZGVsZXRlOwkvKiAtMSA9IHVua25vd24sIDAgPSBmYWxzZSwgMSA9IHRydWUgKi8KKwlpbnQgcmVqZWN0ZWQ7CisJdW5zaWduZWQgd3NfcnVsZTsKKwlpbnQgbGluZXNfYWRkZWQsIGxpbmVzX2RlbGV0ZWQ7CisJaW50IHNjb3JlOworCWludCBleHRlbnNpb25fbGluZW5yOyAvKiBmaXJzdCBsaW5lIHNwZWNpZnlpbmcgZGVsZXRlL25ldy9yZW5hbWUvY29weSAqLworCXVuc2lnbmVkIGludCBpc190b3BsZXZlbF9yZWxhdGl2ZToxOworCXVuc2lnbmVkIGludCBpbmFjY3VyYXRlX2VvZjoxOworCXVuc2lnbmVkIGludCBpc19iaW5hcnk6MTsKKwl1bnNpZ25lZCBpbnQgaXNfY29weToxOworCXVuc2lnbmVkIGludCBpc19yZW5hbWU6MTsKKwl1bnNpZ25lZCBpbnQgcmVjb3VudDoxOworCXVuc2lnbmVkIGludCBjb25mbGljdGVkX3RocmVld2F5OjE7CisJdW5zaWduZWQgaW50IGRpcmVjdF90b190aHJlZXdheToxOworCXVuc2lnbmVkIGludCBjcmxmX2luX29sZDoxOworCXN0cnVjdCBmcmFnbWVudCAqZnJhZ21lbnRzOworCWNoYXIgKnJlc3VsdDsKKwlzaXplX3QgcmVzdWx0c2l6ZTsKKwljaGFyIG9sZF9vaWRfcHJlZml4W0dJVF9NQVhfSEVYU1ogKyAxXTsKKwljaGFyIG5ld19vaWRfcHJlZml4W0dJVF9NQVhfSEVYU1ogKyAxXTsKKwlzdHJ1Y3QgcGF0Y2ggKm5leHQ7CisKKwkvKiB0aHJlZS13YXkgZmFsbGJhY2sgcmVzdWx0ICovCisJc3RydWN0IG9iamVjdF9pZCB0aHJlZXdheV9zdGFnZVszXTsKK307CisKIGludCBhcHBseV9wYXJzZV9vcHRpb25zKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwKIAkJCXN0cnVjdCBhcHBseV9zdGF0ZSAqc3RhdGUsCiAJCQlpbnQgKmZvcmNlX2FwcGx5LCBpbnQgKm9wdGlvbnMsCkBAIC0xMjgsNiArMTYzLDIwIEBACiBpbnQgY2hlY2tfYXBwbHlfc3RhdGUoc3RydWN0IGFwcGx5X3N0YXRlICpzdGF0ZSwgaW50IGZvcmNlX2FwcGx5KTsKIAogLyoKKyAqIFBhcnNlIGEgZ2l0IGRpZmYgaGVhZGVyLCBzdGFydGluZyBhdCBsaW5lLiAgRmlsbHMgdGhlIHJlbGV2YW50CisgKiBtZXRhZGF0YSBpbmZvcm1hdGlvbiBpbiAnc3RydWN0IHBhdGNoJy4KKyAqCisgKiBSZXR1cm5zIC0xIG9uIGZhaWx1cmUsIHRoZSBsZW5ndGggb2YgdGhlIHBhcnNlZCBoZWFkZXIgb3RoZXJ3aXNlLgorICovCitpbnQgcGFyc2VfZ2l0X2RpZmZfaGVhZGVyKHN0cnVjdCBzdHJidWYgKnJvb3QsCisJCQkgIGludCAqbGluZW5yLAorCQkJICBpbnQgcF92YWx1ZSwKKwkJCSAgY29uc3QgY2hhciAqbGluZSwKKwkJCSAgaW50IGxlbiwKKwkJCSAgdW5zaWduZWQgaW50IHNpemUsCisJCQkgIHN0cnVjdCBwYXRjaCAqcGF0Y2gpOworCisvKgogICogU29tZSBhc3BlY3RzIG9mIHRoZSBhcHBseSBiZWhhdmlvciBhcmUgY29udHJvbGxlZCBieSB0aGUgZm9sbG93aW5nCiAgKiBiaXRzIGluIHRoZSAib3B0aW9ucyIgcGFyYW1ldGVyIHBhc3NlZCB0byBhcHBseV9hbGxfcGF0Y2hlcygpLgogICovCmRpZmYgLS1naXQgYS9hcmNoaXZlLXRhci5jIGIvYXJjaGl2ZS10YXIuYwppbmRleCBhNThlMWE4Li41YTc3NzAxIDEwMDY0NAotLS0gYS9hcmNoaXZlLXRhci5jCisrKyBiL2FyY2hpdmUtdGFyLmMKQEAgLTExMiw3ICsxMTIsNyBAQAogICogcXVldWVzIHVwIHdyaXRlcywgc28gdGhhdCBhbGwgb3VyIHdyaXRlKDIpIGNhbGxzIHdyaXRlIGV4YWN0bHkgb25lCiAgKiBmdWxsIGJsb2NrOyBwYWRzIHdyaXRlcyB0byBSRUNPUkRTSVpFCiAgKi8KLXN0YXRpYyBpbnQgc3RyZWFtX2Jsb2NrZWQoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQorc3RhdGljIGludCBzdHJlYW1fYmxvY2tlZChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCXN0cnVjdCBnaXRfaXN0cmVhbSAqc3Q7CiAJZW51bSBvYmplY3RfdHlwZSB0eXBlOwpAQCAtMTIwLDcgKzEyMCw3IEBACiAJY2hhciBidWZbQkxPQ0tTSVpFXTsKIAlzc2l6ZV90IHJlYWRsZW47CiAKLQlzdCA9IG9wZW5faXN0cmVhbShvaWQsICZ0eXBlLCAmc3osIE5VTEwpOworCXN0ID0gb3Blbl9pc3RyZWFtKHIsIG9pZCwgJnR5cGUsICZzeiwgTlVMTCk7CiAJaWYgKCFzdCkKIAkJcmV0dXJuIGVycm9yKF8oImNhbm5vdCBzdHJlYW0gYmxvYiAlcyIpLCBvaWRfdG9faGV4KG9pZCkpOwogCWZvciAoOzspIHsKQEAgLTE0MiwxOSArMTQyLDI1IEBACiAgKiBzdHJpbmcgYW5kIGFwcGVuZHMgaXQgdG8gYSBzdHJ1Y3Qgc3RyYnVmLgogICovCiBzdGF0aWMgdm9pZCBzdHJidWZfYXBwZW5kX2V4dF9oZWFkZXIoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKmtleXdvcmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqdmFsdWUsIHVuc2lnbmVkIGludCB2YWx1ZWxlbikKKwkJCQkgICAgIGNvbnN0IGNoYXIgKnZhbHVlLCBzaXplX3QgdmFsdWVsZW4pCiB7Ci0JaW50IGxlbiwgdG1wOworCXNpemVfdCBvcmlnX2xlbiA9IHNiLT5sZW47CisJc2l6ZV90IGxlbiwgdG1wOwogCiAJLyogIiV1ICVzPSVzXG4iICovCiAJbGVuID0gMSArIDEgKyBzdHJsZW4oa2V5d29yZCkgKyAxICsgdmFsdWVsZW4gKyAxOwotCWZvciAodG1wID0gbGVuOyB0bXAgPiA5OyB0bXAgLz0gMTApCisJZm9yICh0bXAgPSAxOyBsZW4gLyAxMCA+PSB0bXA7IHRtcCAqPSAxMCkKIAkJbGVuKys7CiAKIAlzdHJidWZfZ3JvdyhzYiwgbGVuKTsKLQlzdHJidWZfYWRkZihzYiwgIiV1ICVzPSIsIGxlbiwga2V5d29yZCk7CisJc3RyYnVmX2FkZGYoc2IsICIlIlBSSXVNQVgiICVzPSIsICh1aW50bWF4X3QpbGVuLCBrZXl3b3JkKTsKIAlzdHJidWZfYWRkKHNiLCB2YWx1ZSwgdmFsdWVsZW4pOwogCXN0cmJ1Zl9hZGRjaChzYiwgJ1xuJyk7CisKKwlpZiAobGVuICE9IHNiLT5sZW4gLSBvcmlnX2xlbikKKwkJQlVHKCJwYXggZXh0ZW5kZWQgaGVhZGVyIGxlbmd0aCBtaXNjYWxjdWxhdGVkIGFzICUiUFJJdU1BWAorCQkgICAgIiwgc2hvdWxkIGJlICUiUFJJdU1BWCwKKwkJICAgICh1aW50bWF4X3QpbGVuLCAodWludG1heF90KShzYi0+bGVuIC0gb3JpZ19sZW4pKTsKIH0KIAogLyoKQEAgLTMxOCw3ICszMjQsNyBAQAogCQlpZiAoYnVmZmVyKQogCQkJd3JpdGVfYmxvY2tlZChidWZmZXIsIHNpemUpOwogCQllbHNlCi0JCQllcnIgPSBzdHJlYW1fYmxvY2tlZChvaWQpOworCQkJZXJyID0gc3RyZWFtX2Jsb2NrZWQoYXJncy0+cmVwbywgb2lkKTsKIAl9CiAJZnJlZShidWZmZXIpOwogCXJldHVybiBlcnI7CkBAIC0zMjYsMTQgKzMzMiwxNSBAQAogCiBzdGF0aWMgdm9pZCB3cml0ZV9nbG9iYWxfZXh0ZW5kZWRfaGVhZGVyKHN0cnVjdCBhcmNoaXZlcl9hcmdzICphcmdzKQogewotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEgPSBhcmdzLT5jb21taXRfc2hhMTsKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQgPSBhcmdzLT5jb21taXRfb2lkOwogCXN0cnVjdCBzdHJidWYgZXh0X2hlYWRlciA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCB1c3Rhcl9oZWFkZXIgaGVhZGVyOwogCXVuc2lnbmVkIGludCBtb2RlOwogCi0JaWYgKHNoYTEpCisJaWYgKG9pZCkKIAkJc3RyYnVmX2FwcGVuZF9leHRfaGVhZGVyKCZleHRfaGVhZGVyLCAiY29tbWVudCIsCi0JCQkJCSBzaGExX3RvX2hleChzaGExKSwgNDApOworCQkJCQkgb2lkX3RvX2hleChvaWQpLAorCQkJCQkgdGhlX2hhc2hfYWxnby0+aGV4c3opOwogCWlmIChhcmdzLT50aW1lID4gVVNUQVJfTUFYX01USU1FKSB7CiAJCXN0cmJ1Zl9hcHBlbmRfZXh0X2hlYWRlcl91aW50KCZleHRfaGVhZGVyLCAibXRpbWUiLAogCQkJCQkgICAgICBhcmdzLT50aW1lKTsKZGlmZiAtLWdpdCBhL2FyY2hpdmUtemlwLmMgYi9hcmNoaXZlLXppcC5jCmluZGV4IDE1NWVlNGEuLmU5ZjQyNjIgMTAwNjQ0Ci0tLSBhL2FyY2hpdmUtemlwLmMKKysrIGIvYXJjaGl2ZS16aXAuYwpAQCAtMjQsNiArMjQsMTEgQEAKICNkZWZpbmUgWklQX1NUUkVBTQkoMSA8PCAgMykKICNkZWZpbmUgWklQX1VURjgJKDEgPDwgMTEpCiAKK2VudW0gemlwX21ldGhvZCB7CisJWklQX01FVEhPRF9TVE9SRSA9IDAsCisJWklQX01FVEhPRF9ERUZMQVRFID0gOAorfTsKKwogc3RydWN0IHppcF9sb2NhbF9oZWFkZXIgewogCXVuc2lnbmVkIGNoYXIgbWFnaWNbNF07CiAJdW5zaWduZWQgY2hhciB2ZXJzaW9uWzJdOwpAQCAtMjkxLDcgKzI5Niw3IEBACiAJdW5zaWduZWQgbG9uZyBhdHRyMjsKIAl1bnNpZ25lZCBsb25nIGNvbXByZXNzZWRfc2l6ZTsKIAl1bnNpZ25lZCBsb25nIGNyYzsKLQlpbnQgbWV0aG9kOworCWVudW0gemlwX21ldGhvZCBtZXRob2Q7CiAJdW5zaWduZWQgY2hhciAqb3V0OwogCXZvaWQgKmRlZmxhdGVkID0gTlVMTDsKIAl2b2lkICpidWZmZXI7CkBAIC0zMjAsNyArMzI1LDcgQEAKIAl9CiAKIAlpZiAoU19JU0RJUihtb2RlKSB8fCBTX0lTR0lUTElOSyhtb2RlKSkgewotCQltZXRob2QgPSAwOworCQltZXRob2QgPSBaSVBfTUVUSE9EX1NUT1JFOwogCQlhdHRyMiA9IDE2OwogCQlvdXQgPSBOVUxMOwogCQlzaXplID0gMDsKQEAgLTMzMCwxNyArMzM1LDE4IEBACiAJCWVudW0gb2JqZWN0X3R5cGUgdHlwZSA9IG9pZF9vYmplY3RfaW5mbyhhcmdzLT5yZXBvLCBvaWQsCiAJCQkJCQkJJnNpemUpOwogCi0JCW1ldGhvZCA9IDA7CisJCW1ldGhvZCA9IFpJUF9NRVRIT0RfU1RPUkU7CiAJCWF0dHIyID0gU19JU0xOSyhtb2RlKSA/ICgobW9kZSB8IDA3NzcpIDw8IDE2KSA6CiAJCQkobW9kZSAmIDAxMTEpID8gKChtb2RlKSA8PCAxNikgOiAwOwogCQlpZiAoU19JU0xOSyhtb2RlKSB8fCAobW9kZSAmIDAxMTEpKQogCQkJY3JlYXRvcl92ZXJzaW9uID0gMHgwMzE3OwogCQlpZiAoU19JU1JFRyhtb2RlKSAmJiBhcmdzLT5jb21wcmVzc2lvbl9sZXZlbCAhPSAwICYmIHNpemUgPiAwKQotCQkJbWV0aG9kID0gODsKKwkJCW1ldGhvZCA9IFpJUF9NRVRIT0RfREVGTEFURTsKIAogCQlpZiAoU19JU1JFRyhtb2RlKSAmJiB0eXBlID09IE9CSl9CTE9CICYmICFhcmdzLT5jb252ZXJ0ICYmCiAJCSAgICBzaXplID4gYmlnX2ZpbGVfdGhyZXNob2xkKSB7Ci0JCQlzdHJlYW0gPSBvcGVuX2lzdHJlYW0ob2lkLCAmdHlwZSwgJnNpemUsIE5VTEwpOworCQkJc3RyZWFtID0gb3Blbl9pc3RyZWFtKGFyZ3MtPnJlcG8sIG9pZCwgJnR5cGUsICZzaXplLAorCQkJCQkgICAgICBOVUxMKTsKIAkJCWlmICghc3RyZWFtKQogCQkJCXJldHVybiBlcnJvcihfKCJjYW5ub3Qgc3RyZWFtIGJsb2IgJXMiKSwKIAkJCQkJICAgICBvaWRfdG9faGV4KG9pZCkpOwpAQCAtMzU4LDcgKzM2NCw3IEBACiAJCQkJCQkgICAgYnVmZmVyLCBzaXplKTsKIAkJCW91dCA9IGJ1ZmZlcjsKIAkJfQotCQljb21wcmVzc2VkX3NpemUgPSAobWV0aG9kID09IDApID8gc2l6ZSA6IDA7CisJCWNvbXByZXNzZWRfc2l6ZSA9IChtZXRob2QgPT0gWklQX01FVEhPRF9TVE9SRSkgPyBzaXplIDogMDsKIAl9IGVsc2UgewogCQlyZXR1cm4gZXJyb3IoXygidW5zdXBwb3J0ZWQgZmlsZSBtb2RlOiAwJW8gKFNIQTE6ICVzKSIpLCBtb2RlLAogCQkJCW9pZF90b19oZXgob2lkKSk7CkBAIC0zNjcsMTMgKzM3MywxMyBAQAogCWlmIChjcmVhdG9yX3ZlcnNpb24gPiBtYXhfY3JlYXRvcl92ZXJzaW9uKQogCQltYXhfY3JlYXRvcl92ZXJzaW9uID0gY3JlYXRvcl92ZXJzaW9uOwogCi0JaWYgKGJ1ZmZlciAmJiBtZXRob2QgPT0gOCkgeworCWlmIChidWZmZXIgJiYgbWV0aG9kID09IFpJUF9NRVRIT0RfREVGTEFURSkgewogCQlvdXQgPSBkZWZsYXRlZCA9IHpsaWJfZGVmbGF0ZV9yYXcoYnVmZmVyLCBzaXplLAogCQkJCQkJICBhcmdzLT5jb21wcmVzc2lvbl9sZXZlbCwKIAkJCQkJCSAgJmNvbXByZXNzZWRfc2l6ZSk7CiAJCWlmICghb3V0IHx8IGNvbXByZXNzZWRfc2l6ZSA+PSBzaXplKSB7CiAJCQlvdXQgPSBidWZmZXI7Ci0JCQltZXRob2QgPSAwOworCQkJbWV0aG9kID0gWklQX01FVEhPRF9TVE9SRTsKIAkJCWNvbXByZXNzZWRfc2l6ZSA9IHNpemU7CiAJCX0KIAl9CkBAIC00MjAsNyArNDI2LDcgQEAKIAkJemlwX29mZnNldCArPSBaSVA2NF9FWFRSQV9TSVpFOwogCX0KIAotCWlmIChzdHJlYW0gJiYgbWV0aG9kID09IDApIHsKKwlpZiAoc3RyZWFtICYmIG1ldGhvZCA9PSBaSVBfTUVUSE9EX1NUT1JFKSB7CiAJCXVuc2lnbmVkIGNoYXIgYnVmW1NUUkVBTV9CVUZGRVJfU0laRV07CiAJCXNzaXplX3QgcmVhZGxlbjsKIApAQCAtNDQzLDcgKzQ0OSw3IEBACiAJCXppcF9vZmZzZXQgKz0gY29tcHJlc3NlZF9zaXplOwogCiAJCXdyaXRlX3ppcF9kYXRhX2Rlc2Moc2l6ZSwgY29tcHJlc3NlZF9zaXplLCBjcmMpOwotCX0gZWxzZSBpZiAoc3RyZWFtICYmIG1ldGhvZCA9PSA4KSB7CisJfSBlbHNlIGlmIChzdHJlYW0gJiYgbWV0aG9kID09IFpJUF9NRVRIT0RfREVGTEFURSkgewogCQl1bnNpZ25lZCBjaGFyIGJ1ZltTVFJFQU1fQlVGRkVSX1NJWkVdOwogCQlzc2l6ZV90IHJlYWRsZW47CiAJCWdpdF96c3RyZWFtIHpzdHJlYW07CkBAIC01NzcsNyArNTgzLDcgQEAKIAl3cml0ZV9vcl9kaWUoMSwgJmxvY2F0b3I2NCwgWklQNjRfRElSX1RSQUlMRVJfTE9DQVRPUl9TSVpFKTsKIH0KIAotc3RhdGljIHZvaWQgd3JpdGVfemlwX3RyYWlsZXIoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyB2b2lkIHdyaXRlX3ppcF90cmFpbGVyKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAlzdHJ1Y3QgemlwX2Rpcl90cmFpbGVyIHRyYWlsZXI7CiAJaW50IGNsYW1wZWQgPSAwOwpAQCAtNTkwLDMxICs1OTYsMzEgQEAKIAljb3B5X2xlMTZfY2xhbXAodHJhaWxlci5lbnRyaWVzLCB6aXBfZGlyX2VudHJpZXMsICZjbGFtcGVkKTsKIAljb3B5X2xlMzIodHJhaWxlci5zaXplLCB6aXBfZGlyLmxlbik7CiAJY29weV9sZTMyX2NsYW1wKHRyYWlsZXIub2Zmc2V0LCB6aXBfb2Zmc2V0LCAmY2xhbXBlZCk7Ci0JY29weV9sZTE2KHRyYWlsZXIuY29tbWVudF9sZW5ndGgsIHNoYTEgPyBHSVRfU0hBMV9IRVhTWiA6IDApOworCWNvcHlfbGUxNih0cmFpbGVyLmNvbW1lbnRfbGVuZ3RoLCBvaWQgPyB0aGVfaGFzaF9hbGdvLT5oZXhzeiA6IDApOwogCiAJd3JpdGVfb3JfZGllKDEsIHppcF9kaXIuYnVmLCB6aXBfZGlyLmxlbik7CiAJaWYgKGNsYW1wZWQpCiAJCXdyaXRlX3ppcDY0X3RyYWlsZXIoKTsKIAl3cml0ZV9vcl9kaWUoMSwgJnRyYWlsZXIsIFpJUF9ESVJfVFJBSUxFUl9TSVpFKTsKLQlpZiAoc2hhMSkKLQkJd3JpdGVfb3JfZGllKDEsIHNoYTFfdG9faGV4KHNoYTEpLCBHSVRfU0hBMV9IRVhTWik7CisJaWYgKG9pZCkKKwkJd3JpdGVfb3JfZGllKDEsIG9pZF90b19oZXgob2lkKSwgdGhlX2hhc2hfYWxnby0+aGV4c3opOwogfQogCiBzdGF0aWMgdm9pZCBkb3NfdGltZSh0aW1lc3RhbXBfdCAqdGltZXN0YW1wLCBpbnQgKmRvc19kYXRlLCBpbnQgKmRvc190aW1lKQogewogCXRpbWVfdCB0aW1lOwotCXN0cnVjdCB0bSAqdDsKKwlzdHJ1Y3QgdG0gdG07CiAKIAlpZiAoZGF0ZV9vdmVyZmxvd3MoKnRpbWVzdGFtcCkpCiAJCWRpZShfKCJ0aW1lc3RhbXAgdG9vIGxhcmdlIGZvciB0aGlzIHN5c3RlbTogJSJQUkl0aW1lKSwKIAkJICAgICp0aW1lc3RhbXApOwogCXRpbWUgPSAodGltZV90KSp0aW1lc3RhbXA7Ci0JdCA9IGxvY2FsdGltZSgmdGltZSk7CisJbG9jYWx0aW1lX3IoJnRpbWUsICZ0bSk7CiAJKnRpbWVzdGFtcCA9IHRpbWU7CiAKLQkqZG9zX2RhdGUgPSB0LT50bV9tZGF5ICsgKHQtPnRtX21vbiArIDEpICogMzIgKwotCSAgICAgICAgICAgICh0LT50bV95ZWFyICsgMTkwMCAtIDE5ODApICogNTEyOwotCSpkb3NfdGltZSA9IHQtPnRtX3NlYyAvIDIgKyB0LT50bV9taW4gKiAzMiArIHQtPnRtX2hvdXIgKiAyMDQ4OworCSpkb3NfZGF0ZSA9IHRtLnRtX21kYXkgKyAodG0udG1fbW9uICsgMSkgKiAzMiArCisJCSAgICAodG0udG1feWVhciArIDE5MDAgLSAxOTgwKSAqIDUxMjsKKwkqZG9zX3RpbWUgPSB0bS50bV9zZWMgLyAyICsgdG0udG1fbWluICogMzIgKyB0bS50bV9ob3VyICogMjA0ODsKIH0KIAogc3RhdGljIGludCBhcmNoaXZlX3ppcF9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqZGF0YSkKQEAgLTYzNSw3ICs2NDEsNyBAQAogCiAJZXJyID0gd3JpdGVfYXJjaGl2ZV9lbnRyaWVzKGFyZ3MsIHdyaXRlX3ppcF9lbnRyeSk7CiAJaWYgKCFlcnIpCi0JCXdyaXRlX3ppcF90cmFpbGVyKGFyZ3MtPmNvbW1pdF9zaGExKTsKKwkJd3JpdGVfemlwX3RyYWlsZXIoYXJncy0+Y29tbWl0X29pZCk7CiAKIAlzdHJidWZfcmVsZWFzZSgmemlwX2Rpcik7CiAKZGlmZiAtLWdpdCBhL2FyY2hpdmUuYyBiL2FyY2hpdmUuYwppbmRleCBmZDU1NmMyLi5hOGRhMGZjIDEwMDY0NAotLS0gYS9hcmNoaXZlLmMKKysrIGIvYXJjaGl2ZS5jCkBAIC0zNiw4ICszNiw4IEBACiB9CiAKIHN0YXRpYyB2b2lkIGZvcm1hdF9zdWJzdChjb25zdCBzdHJ1Y3QgY29tbWl0ICpjb21taXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqc3JjLCBzaXplX3QgbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzdHJidWYgKmJ1ZikKKwkJCSBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBsZW4sCisJCQkgc3RydWN0IHN0cmJ1ZiAqYnVmKQogewogCWNoYXIgKnRvX2ZyZWUgPSBOVUxMOwogCXN0cnVjdCBzdHJidWYgZm10ID0gU1RSQlVGX0lOSVQ7CkBAIC0yODUsNyArMjg1LDggQEAKIAkJZ2l0X2F0dHJfc2V0X2RpcmVjdGlvbihHSVRfQVRUUl9JTkRFWCk7CiAJfQogCi0JZXJyID0gcmVhZF90cmVlX3JlY3Vyc2l2ZShhcmdzLT50cmVlLCAiIiwgMCwgMCwgJmFyZ3MtPnBhdGhzcGVjLAorCWVyciA9IHJlYWRfdHJlZV9yZWN1cnNpdmUoYXJncy0+cmVwbywgYXJncy0+dHJlZSwgIiIsCisJCQkJICAwLCAwLCAmYXJncy0+cGF0aHNwZWMsCiAJCQkJICBxdWV1ZV9vcl93cml0ZV9hcmNoaXZlX2VudHJ5LAogCQkJCSAgJmNvbnRleHQpOwogCWlmIChlcnIgPT0gUkVBRF9UUkVFX1JFQ1VSU0lWRSkKQEAgLTM0Niw3ICszNDcsOCBAQAogCWN0eC5hcmdzID0gYXJnczsKIAlwYXJzZV9wYXRoc3BlYygmY3R4LnBhdGhzcGVjLCAwLCAwLCAiIiwgcGF0aHMpOwogCWN0eC5wYXRoc3BlYy5yZWN1cnNpdmUgPSAxOwotCXJldCA9IHJlYWRfdHJlZV9yZWN1cnNpdmUoYXJncy0+dHJlZSwgIiIsIDAsIDAsICZjdHgucGF0aHNwZWMsCisJcmV0ID0gcmVhZF90cmVlX3JlY3Vyc2l2ZShhcmdzLT5yZXBvLCBhcmdzLT50cmVlLCAiIiwKKwkJCQkgIDAsIDAsICZjdHgucGF0aHNwZWMsCiAJCQkJICByZWplY3RfZW50cnksICZjdHgpOwogCWNsZWFyX3BhdGhzcGVjKCZjdHgucGF0aHNwZWMpOwogCXJldHVybiByZXQgIT0gMDsKQEAgLTM3OCw3ICszODAsNyBAQAogCQlpbnQgcmVtb3RlKQogewogCWNvbnN0IGNoYXIgKm5hbWUgPSBhcmd2WzBdOwotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbW1pdF9zaGExOworCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmNvbW1pdF9vaWQ7CiAJdGltZV90IGFyY2hpdmVfdGltZTsKIAlzdHJ1Y3QgdHJlZSAqdHJlZTsKIAljb25zdCBzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CkBAIC0zOTEsNDAgKzM5Myw0MiBAQAogCQlpbnQgcmVmbmFtZWxlbiA9IGNvbG9uIC0gbmFtZTsKIAogCQlpZiAoIWR3aW1fcmVmKG5hbWUsIHJlZm5hbWVsZW4sICZvaWQsICZyZWYpKQotCQkJZGllKCJubyBzdWNoIHJlZjogJS4qcyIsIHJlZm5hbWVsZW4sIG5hbWUpOworCQkJZGllKF8oIm5vIHN1Y2ggcmVmOiAlLipzIiksIHJlZm5hbWVsZW4sIG5hbWUpOwogCQlmcmVlKHJlZik7CiAJfQogCiAJaWYgKGdldF9vaWQobmFtZSwgJm9pZCkpCi0JCWRpZSgiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUiKTsKKwkJZGllKF8oIm5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAlcyIpLCBuYW1lKTsKIAogCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShhcl9hcmdzLT5yZXBvLCAmb2lkLCAxKTsKIAlpZiAoY29tbWl0KSB7Ci0JCWNvbW1pdF9zaGExID0gY29tbWl0LT5vYmplY3Qub2lkLmhhc2g7CisJCWNvbW1pdF9vaWQgPSAmY29tbWl0LT5vYmplY3Qub2lkOwogCQlhcmNoaXZlX3RpbWUgPSBjb21taXQtPmRhdGU7CiAJfSBlbHNlIHsKLQkJY29tbWl0X3NoYTEgPSBOVUxMOworCQljb21taXRfb2lkID0gTlVMTDsKIAkJYXJjaGl2ZV90aW1lID0gdGltZShOVUxMKTsKIAl9CiAKIAl0cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdCgmb2lkKTsKIAlpZiAodHJlZSA9PSBOVUxMKQotCQlkaWUoIm5vdCBhIHRyZWUgb2JqZWN0Iik7CisJCWRpZShfKCJub3QgYSB0cmVlIG9iamVjdDogJXMiKSwgb2lkX3RvX2hleCgmb2lkKSk7CiAKIAlpZiAocHJlZml4KSB7CiAJCXN0cnVjdCBvYmplY3RfaWQgdHJlZV9vaWQ7Ci0JCXVuc2lnbmVkIGludCBtb2RlOworCQl1bnNpZ25lZCBzaG9ydCBtb2RlOwogCQlpbnQgZXJyOwogCi0JCWVyciA9IGdldF90cmVlX2VudHJ5KCZ0cmVlLT5vYmplY3Qub2lkLCBwcmVmaXgsICZ0cmVlX29pZCwKKwkJZXJyID0gZ2V0X3RyZWVfZW50cnkoYXJfYXJncy0+cmVwbywKKwkJCQkgICAgICZ0cmVlLT5vYmplY3Qub2lkLAorCQkJCSAgICAgcHJlZml4LCAmdHJlZV9vaWQsCiAJCQkJICAgICAmbW9kZSk7CiAJCWlmIChlcnIgfHwgIVNfSVNESVIobW9kZSkpCi0JCQlkaWUoImN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgaXMgdW50cmFja2VkIik7CisJCQlkaWUoXygiY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBpcyB1bnRyYWNrZWQiKSk7CiAKIAkJdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3QoJnRyZWVfb2lkKTsKIAl9CiAJYXJfYXJncy0+dHJlZSA9IHRyZWU7Ci0JYXJfYXJncy0+Y29tbWl0X3NoYTEgPSBjb21taXRfc2hhMTsKKwlhcl9hcmdzLT5jb21taXRfb2lkID0gY29tbWl0X29pZDsKIAlhcl9hcmdzLT5jb21taXQgPSBjb21taXQ7CiAJYXJfYXJncy0+dGltZSA9IGFyY2hpdmVfdGltZTsKIH0KZGlmZiAtLWdpdCBhL2FyY2hpdmUuaCBiL2FyY2hpdmUuaAppbmRleCAyMWFjMDEwLi5lNjBlM2RkIDEwMDY0NAotLS0gYS9hcmNoaXZlLmgKKysrIGIvYXJjaGl2ZS5oCkBAIC0xMSw3ICsxMSw3IEBACiAJY29uc3QgY2hhciAqYmFzZTsKIAlzaXplX3QgYmFzZWxlbjsKIAlzdHJ1Y3QgdHJlZSAqdHJlZTsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpjb21taXRfc2hhMTsKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpjb21taXRfb2lkOwogCWNvbnN0IHN0cnVjdCBjb21taXQgKmNvbW1pdDsKIAl0aW1lc3RhbXBfdCB0aW1lOwogCXN0cnVjdCBwYXRoc3BlYyBwYXRoc3BlYzsKQEAgLTIzLDkgKzIzLDkgQEAKIAogLyogbWFpbiBhcGkgKi8KIAotZXh0ZXJuIGludCB3cml0ZV9hcmNoaXZlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4LAotCQkJIHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAotCQkJIGNvbnN0IGNoYXIgKm5hbWVfaGludCwgaW50IHJlbW90ZSk7CitpbnQgd3JpdGVfYXJjaGl2ZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJICBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJICBjb25zdCBjaGFyICpuYW1lX2hpbnQsIGludCByZW1vdGUpOwogCiBjb25zdCBjaGFyICphcmNoaXZlX2Zvcm1hdF9mcm9tX2ZpbGVuYW1lKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKIApAQCAtMzksMjEgKzM5LDIxIEBACiAJdW5zaWduZWQgZmxhZ3M7CiAJdm9pZCAqZGF0YTsKIH07Ci1leHRlcm4gdm9pZCByZWdpc3Rlcl9hcmNoaXZlcihzdHJ1Y3QgYXJjaGl2ZXIgKik7Cit2b2lkIHJlZ2lzdGVyX2FyY2hpdmVyKHN0cnVjdCBhcmNoaXZlciAqKTsKIAotZXh0ZXJuIHZvaWQgaW5pdF90YXJfYXJjaGl2ZXIodm9pZCk7Ci1leHRlcm4gdm9pZCBpbml0X3ppcF9hcmNoaXZlcih2b2lkKTsKLWV4dGVybiB2b2lkIGluaXRfYXJjaGl2ZXJzKHZvaWQpOwordm9pZCBpbml0X3Rhcl9hcmNoaXZlcih2b2lkKTsKK3ZvaWQgaW5pdF96aXBfYXJjaGl2ZXIodm9pZCk7Cit2b2lkIGluaXRfYXJjaGl2ZXJzKHZvaWQpOwogCiB0eXBlZGVmIGludCAoKndyaXRlX2FyY2hpdmVfZW50cnlfZm5fdCkoc3RydWN0IGFyY2hpdmVyX2FyZ3MgKmFyZ3MsCiAJCQkJCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCQkJY29uc3QgY2hhciAqcGF0aCwgc2l6ZV90IHBhdGhsZW4sCiAJCQkJCXVuc2lnbmVkIGludCBtb2RlKTsKIAotZXh0ZXJuIGludCB3cml0ZV9hcmNoaXZlX2VudHJpZXMoc3RydWN0IGFyY2hpdmVyX2FyZ3MgKmFyZ3MsIHdyaXRlX2FyY2hpdmVfZW50cnlfZm5fdCB3cml0ZV9lbnRyeSk7Ci1leHRlcm4gdm9pZCAqb2JqZWN0X2ZpbGVfdG9fYXJjaGl2ZShjb25zdCBzdHJ1Y3QgYXJjaGl2ZXJfYXJncyAqYXJncywKLQkJCQkgICAgY29uc3QgY2hhciAqcGF0aCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAotCQkJCSAgICB1bnNpZ25lZCBpbnQgbW9kZSwgZW51bSBvYmplY3RfdHlwZSAqdHlwZSwKLQkJCQkgICAgdW5zaWduZWQgbG9uZyAqc2l6ZXApOworaW50IHdyaXRlX2FyY2hpdmVfZW50cmllcyhzdHJ1Y3QgYXJjaGl2ZXJfYXJncyAqYXJncywgd3JpdGVfYXJjaGl2ZV9lbnRyeV9mbl90IHdyaXRlX2VudHJ5KTsKK3ZvaWQgKm9iamVjdF9maWxlX3RvX2FyY2hpdmUoY29uc3Qgc3RydWN0IGFyY2hpdmVyX2FyZ3MgKmFyZ3MsCisJCQkgICAgIGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCSAgICAgdW5zaWduZWQgaW50IG1vZGUsIGVudW0gb2JqZWN0X3R5cGUgKnR5cGUsCisJCQkgICAgIHVuc2lnbmVkIGxvbmcgKnNpemVwKTsKIAogI2VuZGlmCS8qIEFSQ0hJVkVfSCAqLwpkaWZmIC0tZ2l0IGEvYXJndi1hcnJheS5jIGIvYXJndi1hcnJheS5jCmluZGV4IGYzNTJlYTkuLjYxZWY4YzAgMTAwNjQ0Ci0tLSBhL2FyZ3YtYXJyYXkuYworKysgYi9hcmd2LWFycmF5LmMKQEAgLTQ2LDcgKzQ2LDcgQEAKIAljb25zdCBjaGFyICphcmc7CiAKIAl2YV9zdGFydChhcCwgYXJyYXkpOwotCXdoaWxlKChhcmcgPSB2YV9hcmcoYXAsIGNvbnN0IGNoYXIgKikpKQorCXdoaWxlICgoYXJnID0gdmFfYXJnKGFwLCBjb25zdCBjaGFyICopKSkKIAkJYXJndl9hcnJheV9wdXNoKGFycmF5LCBhcmcpOwogCXZhX2VuZChhcCk7CiB9CmRpZmYgLS1naXQgYS9hcmd2LWFycmF5LmggYi9hcmd2LWFycmF5LmgKaW5kZXggYTM5YmE0My4uYTdkM2IxMCAxMDA2NDQKLS0tIGEvYXJndi1hcnJheS5oCisrKyBiL2FyZ3YtYXJyYXkuaApAQCAtMSw4ICsxLDMyIEBACiAjaWZuZGVmIEFSR1ZfQVJSQVlfSAogI2RlZmluZSBBUkdWX0FSUkFZX0gKIAorLyoqCisgKiBUaGUgYXJndi1hcnJheSBBUEkgYWxsb3dzIG9uZSB0byBkeW5hbWljYWxseSBidWlsZCBhbmQgc3RvcmUKKyAqIE5VTEwtdGVybWluYXRlZCBsaXN0cy4gIEFuIGFyZ3YtYXJyYXkgbWFpbnRhaW5zIHRoZSBpbnZhcmlhbnQgdGhhdCB0aGUKKyAqIGBhcmd2YCBtZW1iZXIgYWx3YXlzIHBvaW50cyB0byBhIG5vbi1OVUxMIGFycmF5LCBhbmQgdGhhdCB0aGUgYXJyYXkgaXMKKyAqIGFsd2F5cyBOVUxMLXRlcm1pbmF0ZWQgYXQgdGhlIGVsZW1lbnQgcG9pbnRlZCB0byBieSBgYXJndlthcmdjXWAuIFRoaXMKKyAqIG1ha2VzIHRoZSByZXN1bHQgc3VpdGFibGUgZm9yIHBhc3NpbmcgdG8gZnVuY3Rpb25zIGV4cGVjdGluZyB0byByZWNlaXZlCisgKiBhcmd2IGZyb20gbWFpbigpLgorICoKKyAqIFRoZSBzdHJpbmctbGlzdCBBUEkgKGRvY3VtZW50ZWQgaW4gc3RyaW5nLWxpc3QuaCkgaXMgc2ltaWxhciwgYnV0IGNhbm5vdCBiZQorICogdXNlZCBmb3IgdGhlc2UgcHVycG9zZXM7IGluc3RlYWQgb2Ygc3RvcmluZyBhIHN0cmFpZ2h0IHN0cmluZyBwb2ludGVyLAorICogaXQgY29udGFpbnMgYW4gaXRlbSBzdHJ1Y3R1cmUgd2l0aCBhIGB1dGlsYCBmaWVsZCB0aGF0IGlzIG5vdCBjb21wYXRpYmxlCisgKiB3aXRoIHRoZSB0cmFkaXRpb25hbCBhcmd2IGludGVyZmFjZS4KKyAqCisgKiBFYWNoIGBhcmd2X2FycmF5YCBtYW5hZ2VzIGl0cyBvd24gbWVtb3J5LiBBbnkgc3RyaW5ncyBwdXNoZWQgaW50byB0aGUKKyAqIGFycmF5IGFyZSBkdXBsaWNhdGVkLCBhbmQgYWxsIG1lbW9yeSBpcyBmcmVlZCBieSBhcmd2X2FycmF5X2NsZWFyKCkuCisgKi8KKwogZXh0ZXJuIGNvbnN0IGNoYXIgKmVtcHR5X2FyZ3ZbXTsKIAorLyoqCisgKiBBIHNpbmdsZSBhcnJheS4gVGhpcyBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgYnkgYXNzaWdubWVudCBmcm9tCisgKiBgQVJHVl9BUlJBWV9JTklUYCwgb3IgYnkgY2FsbGluZyBgYXJndl9hcnJheV9pbml0YC4gVGhlIGBhcmd2YAorICogbWVtYmVyIGNvbnRhaW5zIHRoZSBhY3R1YWwgYXJyYXk7IHRoZSBgYXJnY2AgbWVtYmVyIGNvbnRhaW5zIHRoZQorICogbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBhcnJheSwgbm90IGluY2x1ZGluZyB0aGUgdGVybWluYXRpbmcKKyAqIE5VTEwuCisgKi8KIHN0cnVjdCBhcmd2X2FycmF5IHsKIAljb25zdCBjaGFyICoqYXJndjsKIAlpbnQgYXJnYzsKQEAgLTExLDE3ICszNSw1NSBAQAogCiAjZGVmaW5lIEFSR1ZfQVJSQVlfSU5JVCB7IGVtcHR5X2FyZ3YsIDAsIDAgfQogCisvKioKKyAqIEluaXRpYWxpemUgYW4gYXJyYXkuIFRoaXMgaXMgbm8gZGlmZmVyZW50IHRoYW4gYXNzaWduaW5nIGZyb20KKyAqIGBBUkdWX0FSUkFZX0lOSVRgLgorICovCiB2b2lkIGFyZ3ZfYXJyYXlfaW5pdChzdHJ1Y3QgYXJndl9hcnJheSAqKTsKKworLyogUHVzaCBhIGNvcHkgb2YgYSBzdHJpbmcgb250byB0aGUgZW5kIG9mIHRoZSBhcnJheS4gKi8KIGNvbnN0IGNoYXIgKmFyZ3ZfYXJyYXlfcHVzaChzdHJ1Y3QgYXJndl9hcnJheSAqLCBjb25zdCBjaGFyICopOworCisvKioKKyAqIEZvcm1hdCBhIHN0cmluZyBhbmQgcHVzaCBpdCBvbnRvIHRoZSBlbmQgb2YgdGhlIGFycmF5LiBUaGlzIGlzIGEKKyAqIGNvbnZlbmllbmNlIHdyYXBwZXIgY29tYmluaW5nIGBzdHJidWZfYWRkZmAgYW5kIGBhcmd2X2FycmF5X3B1c2hgLgorICovCiBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwyLDMpKSkKIGNvbnN0IGNoYXIgKmFyZ3ZfYXJyYXlfcHVzaGYoc3RydWN0IGFyZ3ZfYXJyYXkgKiwgY29uc3QgY2hhciAqZm10LCAuLi4pOworCisvKioKKyAqIFB1c2ggYSBsaXN0IG9mIHN0cmluZ3Mgb250byB0aGUgZW5kIG9mIHRoZSBhcnJheS4gVGhlIGFyZ3VtZW50cworICogc2hvdWxkIGJlIGEgbGlzdCBvZiBgY29uc3QgY2hhciAqYCBzdHJpbmdzLCB0ZXJtaW5hdGVkIGJ5IGEgTlVMTAorICogYXJndW1lbnQuCisgKi8KIExBU1RfQVJHX01VU1RfQkVfTlVMTAogdm9pZCBhcmd2X2FycmF5X3B1c2hsKHN0cnVjdCBhcmd2X2FycmF5ICosIC4uLik7CisKKy8qIFB1c2ggYSBudWxsLXRlcm1pbmF0ZWQgYXJyYXkgb2Ygc3RyaW5ncyBvbnRvIHRoZSBlbmQgb2YgdGhlIGFycmF5LiAqLwogdm9pZCBhcmd2X2FycmF5X3B1c2h2KHN0cnVjdCBhcmd2X2FycmF5ICosIGNvbnN0IGNoYXIgKiopOworCisvKioKKyAqIFJlbW92ZSB0aGUgZmluYWwgZWxlbWVudCBmcm9tIHRoZSBhcnJheS4gSWYgdGhlcmUgYXJlIG5vCisgKiBlbGVtZW50cyBpbiB0aGUgYXJyYXksIGRvIG5vdGhpbmcuCisgKi8KIHZvaWQgYXJndl9hcnJheV9wb3Aoc3RydWN0IGFyZ3ZfYXJyYXkgKik7CisKIC8qIFNwbGl0cyBieSB3aGl0ZXNwYWNlOyBkb2VzIG5vdCBoYW5kbGUgcXVvdGVkIGFyZ3VtZW50cyEgKi8KIHZvaWQgYXJndl9hcnJheV9zcGxpdChzdHJ1Y3QgYXJndl9hcnJheSAqLCBjb25zdCBjaGFyICopOworCisvKioKKyAqIEZyZWUgYWxsIG1lbW9yeSBhc3NvY2lhdGVkIHdpdGggdGhlIGFycmF5IGFuZCByZXR1cm4gaXQgdG8gdGhlCisgKiBpbml0aWFsLCBlbXB0eSBzdGF0ZS4KKyAqLwogdm9pZCBhcmd2X2FycmF5X2NsZWFyKHN0cnVjdCBhcmd2X2FycmF5ICopOworCisvKioKKyAqIERpc2Nvbm5lY3QgdGhlIGBhcmd2YCBtZW1iZXIgZnJvbSB0aGUgYGFyZ3ZfYXJyYXlgIHN0cnVjdCBhbmQKKyAqIHJldHVybiBpdC4gVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZSBmb3IgZnJlZWluZyB0aGUgbWVtb3J5IHVzZWQKKyAqIGJ5IHRoZSBhcnJheSwgYW5kIGJ5IHRoZSBzdHJpbmdzIGl0IHJlZmVyZW5jZXMuIEFmdGVyIGRldGFjaGluZywKKyAqIHRoZSBgYXJndl9hcnJheWAgaXMgaW4gYSByZWluaXRpYWxpemVkIHN0YXRlIGFuZCBjYW4gYmUgcHVzaGVkCisgKiBpbnRvIGFnYWluLgorICovCiBjb25zdCBjaGFyICoqYXJndl9hcnJheV9kZXRhY2goc3RydWN0IGFyZ3ZfYXJyYXkgKik7CiAKICNlbmRpZiAvKiBBUkdWX0FSUkFZX0ggKi8KZGlmZiAtLWdpdCBhL2F0dHIuYyBiL2F0dHIuYwppbmRleCBlYWVjZTY2Li5hODI2YjJlIDEwMDY0NAotLS0gYS9hdHRyLmMKKysrIGIvYXR0ci5jCkBAIC0xLDEzICsxLDExIEBACiAvKgogICogSGFuZGxlIGdpdCBhdHRyaWJ1dGVzLiAgU2VlIGdpdGF0dHJpYnV0ZXMoNSkgZm9yIGEgZGVzY3JpcHRpb24gb2YKLSAqIHRoZSBmaWxlIHN5bnRheCwgYW5kIERvY3VtZW50YXRpb24vdGVjaG5pY2FsL2FwaS1naXRhdHRyaWJ1dGVzLnR4dAotICogZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIEFQSS4KKyAqIHRoZSBmaWxlIHN5bnRheCwgYW5kIGF0dHIuaCBmb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgQVBJLgogICoKICAqIE9uZSBiYXNpYyBkZXNpZ24gZGVjaXNpb24gaGVyZSBpcyB0aGF0IHdlIGFyZSBub3QgZ29pbmcgdG8gc3VwcG9ydAogICogYW4gaW5zYW5lbHkgbGFyZ2UgbnVtYmVyIG9mIGF0dHJpYnV0ZXMuCiAgKi8KIAotI2RlZmluZSBOT19USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImV4ZWMtY21kLmgiCkBAIC02Myw3ICs2MSw3IEBACiAKIC8qIFRoZSBjb250YWluZXIgZm9yIG9iamVjdHMgc3RvcmVkIGluICJzdHJ1Y3QgYXR0cl9oYXNobWFwIiAqLwogc3RydWN0IGF0dHJfaGFzaF9lbnRyeSB7Ci0Jc3RydWN0IGhhc2htYXBfZW50cnkgZW50OyAvKiBtdXN0IGJlIHRoZSBmaXJzdCBtZW1iZXIhICovCisJc3RydWN0IGhhc2htYXBfZW50cnkgZW50OwogCWNvbnN0IGNoYXIgKmtleTsgLyogdGhlIGtleTsgbWVtb3J5IHNob3VsZCBiZSBvd25lZCBieSB2YWx1ZSAqLwogCXNpemVfdCBrZXlsZW47IC8qIGxlbmd0aCBvZiB0aGUga2V5ICovCiAJdm9pZCAqdmFsdWU7IC8qIHRoZSBzdG9yZWQgdmFsdWUgKi8KQEAgLTcxLDEyICs2OSwxNCBAQAogCiAvKiBhdHRyX2hhc2htYXAgY29tcGFyaXNvbiBmdW5jdGlvbiAqLwogc3RhdGljIGludCBhdHRyX2hhc2hfZW50cnlfY21wKGNvbnN0IHZvaWQgKnVudXNlZF9jbXBfZGF0YSwKLQkJCSAgICAgICBjb25zdCB2b2lkICplbnRyeSwKLQkJCSAgICAgICBjb25zdCB2b2lkICplbnRyeV9vcl9rZXksCisJCQkgICAgICAgY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmVwdHIsCisJCQkgICAgICAgY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmVudHJ5X29yX2tleSwKIAkJCSAgICAgICBjb25zdCB2b2lkICp1bnVzZWRfa2V5ZGF0YSkKIHsKLQljb25zdCBzdHJ1Y3QgYXR0cl9oYXNoX2VudHJ5ICphID0gZW50cnk7Ci0JY29uc3Qgc3RydWN0IGF0dHJfaGFzaF9lbnRyeSAqYiA9IGVudHJ5X29yX2tleTsKKwljb25zdCBzdHJ1Y3QgYXR0cl9oYXNoX2VudHJ5ICphLCAqYjsKKworCWEgPSBjb250YWluZXJfb2YoZXB0ciwgY29uc3Qgc3RydWN0IGF0dHJfaGFzaF9lbnRyeSwgZW50KTsKKwliID0gY29udGFpbmVyX29mKGVudHJ5X29yX2tleSwgY29uc3Qgc3RydWN0IGF0dHJfaGFzaF9lbnRyeSwgZW50KTsKIAlyZXR1cm4gKGEtPmtleWxlbiAhPSBiLT5rZXlsZW4pIHx8IHN0cm5jbXAoYS0+a2V5LCBiLT5rZXksIGEtPmtleWxlbik7CiB9CiAKQEAgLTk5LDEwICs5OSwxMCBAQAogCWlmICghbWFwLT5tYXAudGFibGVzaXplKQogCQlhdHRyX2hhc2htYXBfaW5pdChtYXApOwogCi0JaGFzaG1hcF9lbnRyeV9pbml0KCZrLCBtZW1oYXNoKGtleSwga2V5bGVuKSk7CisJaGFzaG1hcF9lbnRyeV9pbml0KCZrLmVudCwgbWVtaGFzaChrZXksIGtleWxlbikpOwogCWsua2V5ID0ga2V5OwogCWsua2V5bGVuID0ga2V5bGVuOwotCWUgPSBoYXNobWFwX2dldCgmbWFwLT5tYXAsICZrLCBOVUxMKTsKKwllID0gaGFzaG1hcF9nZXRfZW50cnkoJm1hcC0+bWFwLCAmaywgZW50LCBOVUxMKTsKIAogCXJldHVybiBlID8gZS0+dmFsdWUgOiBOVUxMOwogfQpAQCAtMTE4LDEyICsxMTgsMTIgQEAKIAkJYXR0cl9oYXNobWFwX2luaXQobWFwKTsKIAogCWUgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgYXR0cl9oYXNoX2VudHJ5KSk7Ci0JaGFzaG1hcF9lbnRyeV9pbml0KGUsIG1lbWhhc2goa2V5LCBrZXlsZW4pKTsKKwloYXNobWFwX2VudHJ5X2luaXQoJmUtPmVudCwgbWVtaGFzaChrZXksIGtleWxlbikpOwogCWUtPmtleSA9IGtleTsKIAllLT5rZXlsZW4gPSBrZXlsZW47CiAJZS0+dmFsdWUgPSB2YWx1ZTsKIAotCWhhc2htYXBfYWRkKCZtYXAtPm1hcCwgZSk7CisJaGFzaG1hcF9hZGQoJm1hcC0+bWFwLCAmZS0+ZW50KTsKIH0KIAogc3RydWN0IGFsbF9hdHRyc19pdGVtIHsKQEAgLTE2MiwxMiArMTYyLDEyIEBACiAJaWYgKHNpemUgIT0gY2hlY2stPmFsbF9hdHRyc19ucikgewogCQlzdHJ1Y3QgYXR0cl9oYXNoX2VudHJ5ICplOwogCQlzdHJ1Y3QgaGFzaG1hcF9pdGVyIGl0ZXI7Ci0JCWhhc2htYXBfaXRlcl9pbml0KCZtYXAtPm1hcCwgJml0ZXIpOwogCiAJCVJFQUxMT0NfQVJSQVkoY2hlY2stPmFsbF9hdHRycywgc2l6ZSk7CiAJCWNoZWNrLT5hbGxfYXR0cnNfbnIgPSBzaXplOwogCi0JCXdoaWxlICgoZSA9IGhhc2htYXBfaXRlcl9uZXh0KCZpdGVyKSkpIHsKKwkJaGFzaG1hcF9mb3JfZWFjaF9lbnRyeSgmbWFwLT5tYXAsICZpdGVyLCBlLAorCQkJCQllbnQgLyogbWVtYmVyIG5hbWUgKi8pIHsKIAkJCWNvbnN0IHN0cnVjdCBnaXRfYXR0ciAqYSA9IGUtPnZhbHVlOwogCQkJY2hlY2stPmFsbF9hdHRyc1thLT5hdHRyX25yXS5hdHRyID0gYTsKIAkJfQpAQCAtMjYwLDcgKzI2MCw3IEBACiAJY29uc3QgY2hhciAqcGF0dGVybjsKIAlpbnQgcGF0dGVybmxlbjsKIAlpbnQgbm93aWxkY2FyZGxlbjsKLQl1bnNpZ25lZCBmbGFnczsJCS8qIEVYQ19GTEFHXyogKi8KKwl1bnNpZ25lZCBmbGFnczsJCS8qIFBBVFRFUk5fRkxBR18qICovCiB9OwogCiAvKgpAQCAtMzY2LDggKzM2Niw4IEBACiAJaWYgKHN0cmxlbihBVFRSSUJVVEVfTUFDUk9fUFJFRklYKSA8IG5hbWVsZW4gJiYKIAkgICAgc3RhcnRzX3dpdGgobmFtZSwgQVRUUklCVVRFX01BQ1JPX1BSRUZJWCkpIHsKIAkJaWYgKCFtYWNyb19vaykgewotCQkJZnByaW50ZihzdGRlcnIsICIlcyBub3QgYWxsb3dlZDogJXM6JWRcbiIsCi0JCQkJbmFtZSwgc3JjLCBsaW5lbm8pOworCQkJZnByaW50Zl9sbihzdGRlcnIsIF8oIiVzIG5vdCBhbGxvd2VkOiAlczolZCIpLAorCQkJCSAgIG5hbWUsIHNyYywgbGluZW5vKTsKIAkJCWdvdG8gZmFpbF9yZXR1cm47CiAJCX0KIAkJaXNfbWFjcm8gPSAxOwpAQCAtNDAxLDExICs0MDEsMTEgQEAKIAkJY2hhciAqcCA9IChjaGFyICopJihyZXMtPnN0YXRlW251bV9hdHRyXSk7CiAJCW1lbWNweShwLCBuYW1lLCBuYW1lbGVuKTsKIAkJcmVzLT51LnBhdC5wYXR0ZXJuID0gcDsKLQkJcGFyc2VfZXhjbHVkZV9wYXR0ZXJuKCZyZXMtPnUucGF0LnBhdHRlcm4sCisJCXBhcnNlX3BhdGhfcGF0dGVybigmcmVzLT51LnBhdC5wYXR0ZXJuLAogCQkJCSAgICAgICZyZXMtPnUucGF0LnBhdHRlcm5sZW4sCiAJCQkJICAgICAgJnJlcy0+dS5wYXQuZmxhZ3MsCiAJCQkJICAgICAgJnJlcy0+dS5wYXQubm93aWxkY2FyZGxlbik7Ci0JCWlmIChyZXMtPnUucGF0LmZsYWdzICYgRVhDX0ZMQUdfTkVHQVRJVkUpIHsKKwkJaWYgKHJlcy0+dS5wYXQuZmxhZ3MgJiBQQVRURVJOX0ZMQUdfTkVHQVRJVkUpIHsKIAkJCXdhcm5pbmcoXygiTmVnYXRpdmUgcGF0dGVybnMgYXJlIGlnbm9yZWQgaW4gZ2l0IGF0dHJpYnV0ZXNcbiIKIAkJCQkgICJVc2UgJ1xcIScgZm9yIGxpdGVyYWwgbGVhZGluZyBleGNsYW1hdGlvbi4iKSk7CiAJCQlnb3RvIGZhaWxfcmV0dXJuOwpAQCAtNDMyLDE0ICs0MzIsMTQgQEAKICAqIExpa2UgaW5mby9leGNsdWRlIGFuZCAuZ2l0aWdub3JlLCB0aGUgYXR0cmlidXRlIGluZm9ybWF0aW9uIGNhbgogICogY29tZSBmcm9tIG1hbnkgcGxhY2VzLgogICoKLSAqICgxKSAuZ2l0YXR0cmlidXRlIGZpbGUgb2YgdGhlIHNhbWUgZGlyZWN0b3J5OwotICogKDIpIC5naXRhdHRyaWJ1dGUgZmlsZSBvZiB0aGUgcGFyZW50IGRpcmVjdG9yeSBpZiAoMSkgZG9lcyBub3QgaGF2ZQorICogKDEpIC5naXRhdHRyaWJ1dGVzIGZpbGUgb2YgdGhlIHNhbWUgZGlyZWN0b3J5OworICogKDIpIC5naXRhdHRyaWJ1dGVzIGZpbGUgb2YgdGhlIHBhcmVudCBkaXJlY3RvcnkgaWYgKDEpIGRvZXMgbm90IGhhdmUKICAqICAgICAgYW55IG1hdGNoOyB0aGlzIGdvZXMgcmVjdXJzaXZlbHkgdXB3YXJkcywganVzdCBsaWtlIC5naXRpZ25vcmUuCiAgKiAoMykgJEdJVF9ESVIvaW5mby9hdHRyaWJ1dGVzLCB3aGljaCBvdmVycmlkZXMgYm90aCBvZiB0aGUgYWJvdmUuCiAgKgogICogSW4gdGhlIHNhbWUgZmlsZSwgbGF0ZXIgZW50cmllcyBvdmVycmlkZSB0aGUgZWFybGllciBtYXRjaCwgc28gaW4gdGhlCiAgKiBnbG9iYWwgbGlzdCwgd2Ugd291bGQgaGF2ZSBlbnRyaWVzIGZyb20gaW5mby9hdHRyaWJ1dGVzIHRoZSBlYXJsaWVzdAotICogKHJlYWRpbmcgdGhlIGZpbGUgZnJvbSB0b3AgdG8gYm90dG9tKSwgLmdpdGF0dHJpYnV0ZSBvZiB0aGUgcm9vdAorICogKHJlYWRpbmcgdGhlIGZpbGUgZnJvbSB0b3AgdG8gYm90dG9tKSwgLmdpdGF0dHJpYnV0ZXMgb2YgdGhlIHJvb3QKICAqIGRpcmVjdG9yeSAoYWdhaW4sIHJlYWRpbmcgdGhlIGZpbGUgZnJvbSB0b3AgdG8gYm90dG9tKSBkb3duIHRvIHRoZQogICogY3VycmVudCBkaXJlY3RvcnksIGFuZCB0aGVuIHNjYW4gdGhlIGxpc3QgYmFja3dhcmRzIHRvIGZpbmQgdGhlIGZpcnN0IG1hdGNoLgogICogVGhpcyBpcyBleGFjdGx5IHRoZSBzYW1lIGFzIHdoYXQgaXNfZXhjbHVkZWQoKSBkb2VzIGluIGRpci5jIHRvIGRlYWwgd2l0aApAQCAtOTAwLDcgKzkwMCw3IEBACiAJICogc2V0IG9mIGF0dHJpYnV0ZSBkZWZpbml0aW9ucywgZm9sbG93ZWQgYnkgdGhlIGNvbnRlbnRzCiAJICogb2YgJChwcmVmaXgpL2V0Yy9naXRhdHRyaWJ1dGVzIGFuZCBhIGZpbGUgc3BlY2lmaWVkIGJ5CiAJICogY29yZS5hdHRyaWJ1dGVzZmlsZS4gIFRoZW4sIGNvbnRlbnRzIGZyb20KLQkgKiAuZ2l0YXR0cmlidXRlIGZpbGVzIGZyb20gZGlyZWN0b3JpZXMgY2xvc2VyIHRvIHRoZQorCSAqIC5naXRhdHRyaWJ1dGVzIGZpbGVzIGZyb20gZGlyZWN0b3JpZXMgY2xvc2VyIHRvIHRoZQogCSAqIHJvb3QgdG8gdGhlIG9uZXMgaW4gZGVlcGVyIGRpcmVjdG9yaWVzIGFyZSBwdXNoZWQKIAkgKiB0byB0aGUgc3RhY2suICBGaW5hbGx5LCBhdCB0aGUgdmVyeSB0b3Agb2YgdGhlIHN0YWNrCiAJICogd2UgYWx3YXlzIGtlZXAgdGhlIGNvbnRlbnRzIG9mICRHSVRfRElSL2luZm8vYXR0cmlidXRlcy4KQEAgLTk5MiwxMCArOTkyLDEwIEBACiAJaW50IHByZWZpeCA9IHBhdC0+bm93aWxkY2FyZGxlbjsKIAlpbnQgaXNkaXIgPSAocGF0aGxlbiAmJiBwYXRobmFtZVtwYXRobGVuIC0gMV0gPT0gJy8nKTsKIAotCWlmICgocGF0LT5mbGFncyAmIEVYQ19GTEFHX01VU1RCRURJUikgJiYgIWlzZGlyKQorCWlmICgocGF0LT5mbGFncyAmIFBBVFRFUk5fRkxBR19NVVNUQkVESVIpICYmICFpc2RpcikKIAkJcmV0dXJuIDA7CiAKLQlpZiAocGF0LT5mbGFncyAmIEVYQ19GTEFHX05PRElSKSB7CisJaWYgKHBhdC0+ZmxhZ3MgJiBQQVRURVJOX0ZMQUdfTk9ESVIpIHsKIAkJcmV0dXJuIG1hdGNoX2Jhc2VuYW1lKHBhdGhuYW1lICsgYmFzZW5hbWVfb2Zmc2V0LAogCQkJCSAgICAgIHBhdGhsZW4gLSBiYXNlbmFtZV9vZmZzZXQgLSBpc2RpciwKIAkJCQkgICAgICBwYXR0ZXJuLCBwcmVmaXgsCkBAIC0xMDkyLDcgKzEwOTIsNyBAQAogCQkJICAgICAgIGNvbnN0IGNoYXIgKnBhdGgsCiAJCQkgICAgICAgc3RydWN0IGF0dHJfY2hlY2sgKmNoZWNrKQogewotCWludCBpLCBwYXRobGVuLCByZW0sIGRpcmxlbjsKKwlpbnQgcGF0aGxlbiwgcmVtLCBkaXJsZW47CiAJY29uc3QgY2hhciAqY3AsICpsYXN0X3NsYXNoID0gTlVMTDsKIAlpbnQgYmFzZW5hbWVfb2Zmc2V0OwogCkBAIC0xMTEzLDIwICsxMTEzLDYgQEAKIAlhbGxfYXR0cnNfaW5pdCgmZ19hdHRyX2hhc2htYXAsIGNoZWNrKTsKIAlkZXRlcm1pbmVfbWFjcm9zKGNoZWNrLT5hbGxfYXR0cnMsIGNoZWNrLT5zdGFjayk7CiAKLQlpZiAoY2hlY2stPm5yKSB7Ci0JCXJlbSA9IDA7Ci0JCWZvciAoaSA9IDA7IGkgPCBjaGVjay0+bnI7IGkrKykgewotCQkJaW50IG4gPSBjaGVjay0+aXRlbXNbaV0uYXR0ci0+YXR0cl9ucjsKLQkJCXN0cnVjdCBhbGxfYXR0cnNfaXRlbSAqaXRlbSA9ICZjaGVjay0+YWxsX2F0dHJzW25dOwotCQkJaWYgKGl0ZW0tPm1hY3JvKSB7Ci0JCQkJaXRlbS0+dmFsdWUgPSBBVFRSX19VTlNFVDsKLQkJCQlyZW0rKzsKLQkJCX0KLQkJfQotCQlpZiAocmVtID09IGNoZWNrLT5ucikKLQkJCXJldHVybjsKLQl9Ci0KIAlyZW0gPSBjaGVjay0+YWxsX2F0dHJzX25yOwogCWZpbGwocGF0aCwgcGF0aGxlbiwgYmFzZW5hbWVfb2Zmc2V0LCBjaGVjay0+c3RhY2ssIGNoZWNrLT5hbGxfYXR0cnMsIHJlbSk7CiB9CmRpZmYgLS1naXQgYS9hdHRyLmggYi9hdHRyLmgKaW5kZXggYjAzNzhiZi4uNDA0NTQ4ZiAxMDA2NDQKLS0tIGEvYXR0ci5oCisrKyBiL2F0dHIuaApAQCAtMSw5ICsxLDEyMSBAQAogI2lmbmRlZiBBVFRSX0gKICNkZWZpbmUgQVRUUl9ICiAKKy8qKgorICogZ2l0YXR0cmlidXRlcyBtZWNoYW5pc20gZ2l2ZXMgYSB1bmlmb3JtIHdheSB0byBhc3NvY2lhdGUgdmFyaW91cyBhdHRyaWJ1dGVzCisgKiB0byBzZXQgb2YgcGF0aHMuCisgKgorICoKKyAqIFF1ZXJ5aW5nIFNwZWNpZmljIEF0dHJpYnV0ZXMKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiAtIFByZXBhcmUgYHN0cnVjdCBhdHRyX2NoZWNrYCB1c2luZyBhdHRyX2NoZWNrX2luaXRsKCkgZnVuY3Rpb24sIGVudW1lcmF0aW5nCisgKiAgIHRoZSBuYW1lcyBvZiBhdHRyaWJ1dGVzIHdob3NlIHZhbHVlcyB5b3UgYXJlIGludGVyZXN0ZWQgaW4sIHRlcm1pbmF0ZWQgd2l0aAorICogICBhIE5VTEwgcG9pbnRlci4gIEFsdGVybmF0aXZlbHksIGFuIGVtcHR5IGBzdHJ1Y3QgYXR0cl9jaGVja2AgY2FuIGJlCisgKiAgIHByZXBhcmVkIGJ5IGNhbGxpbmcgYGF0dHJfY2hlY2tfYWxsb2MoKWAgZnVuY3Rpb24gYW5kIHRoZW4gYXR0cmlidXRlcyB5b3UKKyAqICAgd2FudCB0byBhc2sgYWJvdXQgY2FuIGJlIGFkZGVkIHRvIGl0IHdpdGggYGF0dHJfY2hlY2tfYXBwZW5kKClgIGZ1bmN0aW9uLgorICoKKyAqIC0gQ2FsbCBgZ2l0X2NoZWNrX2F0dHIoKWAgdG8gY2hlY2sgdGhlIGF0dHJpYnV0ZXMgZm9yIHRoZSBwYXRoLgorICoKKyAqIC0gSW5zcGVjdCBgYXR0cl9jaGVja2Agc3RydWN0dXJlIHRvIHNlZSBob3cgZWFjaCBvZiB0aGUgYXR0cmlidXRlIGluIHRoZQorICogICBhcnJheSBpcyBkZWZpbmVkIGZvciB0aGUgcGF0aC4KKyAqCisgKgorICogRXhhbXBsZQorICogLS0tLS0tLQorICoKKyAqIFRvIHNlZSBob3cgYXR0cmlidXRlcyAiY3JsZiIgYW5kICJpZGVudCIgYXJlIHNldCBmb3IgZGlmZmVyZW50IHBhdGhzLgorICoKKyAqIC0gUHJlcGFyZSBhIGBzdHJ1Y3QgYXR0cl9jaGVja2Agd2l0aCB0d28gZWxlbWVudHMgKGJlY2F1c2Ugd2UgYXJlIGNoZWNraW5nCisgKiAgIHR3byBhdHRyaWJ1dGVzKToKKyAqCisgKiAtLS0tLS0tLS0tLS0KKyAqIHN0YXRpYyBzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2s7CisgKiBzdGF0aWMgdm9pZCBzZXR1cF9jaGVjayh2b2lkKQorICogeworICogCWlmIChjaGVjaykKKyAqIAkJcmV0dXJuOyAvLyBhbHJlYWR5IGRvbmUKKyAqIGNoZWNrID0gYXR0cl9jaGVja19pbml0bCgiY3JsZiIsICJpZGVudCIsIE5VTEwpOworICogfQorICogLS0tLS0tLS0tLS0tCisgKgorICogLSBDYWxsIGBnaXRfY2hlY2tfYXR0cigpYCB3aXRoIHRoZSBwcmVwYXJlZCBgc3RydWN0IGF0dHJfY2hlY2tgOgorICoKKyAqIC0tLS0tLS0tLS0tLQorICogY29uc3QgY2hhciAqcGF0aDsKKyAqCisgKiBzZXR1cF9jaGVjaygpOworICogZ2l0X2NoZWNrX2F0dHIocGF0aCwgY2hlY2spOworICogLS0tLS0tLS0tLS0tCisgKgorICogLSBBY3Qgb24gYC52YWx1ZWAgbWVtYmVyIG9mIHRoZSByZXN1bHQsIGxlZnQgaW4gYGNoZWNrLT5pdGVtc1tdYDoKKyAqCisgKiAtLS0tLS0tLS0tLS0KKyAqIGNvbnN0IGNoYXIgKnZhbHVlID0gY2hlY2stPml0ZW1zWzBdLnZhbHVlOworICoKKyAqIGlmIChBVFRSX1RSVUUodmFsdWUpKSB7CisgKiBUaGUgYXR0cmlidXRlIGlzIFNldCwgYnkgbGlzdGluZyBvbmx5IHRoZSBuYW1lIG9mIHRoZQorICogYXR0cmlidXRlIGluIHRoZSBnaXRhdHRyaWJ1dGVzIGZpbGUgZm9yIHRoZSBwYXRoLgorICogfSBlbHNlIGlmIChBVFRSX0ZBTFNFKHZhbHVlKSkgeworICogVGhlIGF0dHJpYnV0ZSBpcyBVbnNldCwgYnkgbGlzdGluZyB0aGUgbmFtZSBvZiB0aGUKKyAqICAgICAgICAgYXR0cmlidXRlIHByZWZpeGVkIHdpdGggYSBkYXNoIC0gZm9yIHRoZSBwYXRoLgorICogfSBlbHNlIGlmIChBVFRSX1VOU0VUKHZhbHVlKSkgeworICogVGhlIGF0dHJpYnV0ZSBpcyBuZWl0aGVyIHNldCBub3IgdW5zZXQgZm9yIHRoZSBwYXRoLgorICogfSBlbHNlIGlmICghc3RyY21wKHZhbHVlLCAiaW5wdXQiKSkgeworICogSWYgbm9uZSBvZiBBVFRSX1RSVUUoKSwgQVRUUl9GQUxTRSgpLCBvciBBVFRSX1VOU0VUKCkgaXMKKyAqICAgICAgICAgdHJ1ZSwgdGhlIHZhbHVlIGlzIGEgc3RyaW5nIHNldCBpbiB0aGUgZ2l0YXR0cmlidXRlcworICogZmlsZSBmb3IgdGhlIHBhdGggYnkgc2F5aW5nICJhdHRyPXZhbHVlIi4KKyAqIH0gZWxzZSBpZiAoLi4uIG90aGVyIGNoZWNrIHVzaW5nIHZhbHVlIGFzIHN0cmluZyAuLi4pIHsKKyAqIC4uLgorICogfQorICogLS0tLS0tLS0tLS0tCisgKgorICogVG8gc2VlIGhvdyBhdHRyaWJ1dGVzIGluIGFyZ3ZbXSBhcmUgc2V0IGZvciBkaWZmZXJlbnQgcGF0aHMsIG9ubHkKKyAqIHRoZSBmaXJzdCBzdGVwIGluIHRoZSBhYm92ZSB3b3VsZCBiZSBkaWZmZXJlbnQuCisgKgorICogLS0tLS0tLS0tLS0tCisgKiBzdGF0aWMgc3RydWN0IGF0dHJfY2hlY2sgKmNoZWNrOworICogc3RhdGljIHZvaWQgc2V0dXBfY2hlY2soY29uc3QgY2hhciAqKmFyZ3YpCisgKiB7CisgKiAgICAgY2hlY2sgPSBhdHRyX2NoZWNrX2FsbG9jKCk7CisgKiAgICAgd2hpbGUgKCphcmd2KSB7CisgKiAgICAgICAgIHN0cnVjdCBnaXRfYXR0ciAqYXR0ciA9IGdpdF9hdHRyKCphcmd2KTsKKyAqICAgICAgICAgYXR0cl9jaGVja19hcHBlbmQoY2hlY2ssIGF0dHIpOworICogICAgICAgICBhcmd2Kys7CisgKiAgICAgfQorICogfQorICogLS0tLS0tLS0tLS0tCisgKgorICoKKyAqIFF1ZXJ5aW5nIEFsbCBBdHRyaWJ1dGVzCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIFRvIGdldCB0aGUgdmFsdWVzIG9mIGFsbCBhdHRyaWJ1dGVzIGFzc29jaWF0ZWQgd2l0aCBhIGZpbGU6CisgKgorICogLSBQcmVwYXJlIGFuIGVtcHR5IGBhdHRyX2NoZWNrYCBzdHJ1Y3R1cmUgYnkgY2FsbGluZyBgYXR0cl9jaGVja19hbGxvYygpYC4KKyAqCisgKiAtIENhbGwgYGdpdF9hbGxfYXR0cnMoKWAsIHdoaWNoIHBvcHVsYXRlcyB0aGUgYGF0dHJfY2hlY2tgIHdpdGggdGhlCisgKiBhdHRyaWJ1dGVzIGF0dGFjaGVkIHRvIHRoZSBwYXRoLgorICoKKyAqIC0gSXRlcmF0ZSBvdmVyIHRoZSBgYXR0cl9jaGVjay5pdGVtc1tdYCBhcnJheSB0byBleGFtaW5lIHRoZSBhdHRyaWJ1dGUKKyAqIG5hbWVzIGFuZCB2YWx1ZXMuIFRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgZGVzY3JpYmVkIGJ5IGFuCisgKiBgYXR0cl9jaGVjay5pdGVtc1tdYCBvYmplY3QgY2FuIGJlIHJldHJpZXZlZCB2aWEKKyAqIGBnaXRfYXR0cl9uYW1lKGNoZWNrLT5pdGVtc1tpXS5hdHRyKWAuIChQbGVhc2Ugbm90ZSB0aGF0IG5vIGl0ZW1zIHdpbGwgYmUKKyAqIHJldHVybmVkIGZvciB1bnNldCBhdHRyaWJ1dGVzLCBzbyBgQVRUUl9VTlNFVCgpYCB3aWxsIHJldHVybiBmYWxzZSBmb3IgYWxsCisgKiByZXR1cm5lZCBgYXR0cl9jaGVjay5pdGVtc1tdYCBvYmplY3RzLikKKyAqCisgKiAtIEZyZWUgdGhlIGBhdHRyX2NoZWNrYCBzdHJ1Y3QgYnkgY2FsbGluZyBgYXR0cl9jaGVja19mcmVlKClgLgorICovCisKIHN0cnVjdCBpbmRleF9zdGF0ZTsKIAotLyogQW4gYXR0cmlidXRlIGlzIGEgcG9pbnRlciB0byB0aGlzIG9wYXF1ZSBzdHJ1Y3R1cmUgKi8KKy8qKgorICogQW4gYXR0cmlidXRlIGlzIGFuIG9wYXF1ZSBvYmplY3QgdGhhdCBpcyBpZGVudGlmaWVkIGJ5IGl0cyBuYW1lLiBQYXNzIHRoZQorICogbmFtZSB0byBgZ2l0X2F0dHIoKWAgZnVuY3Rpb24gdG8gb2J0YWluIHRoZSBvYmplY3Qgb2YgdGhpcyB0eXBlLgorICogVGhlIGludGVybmFsIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgc3RydWN0dXJlIGlzIG9mIG5vIGludGVyZXN0IHRvIHRoZQorICogY2FsbGluZyBwcm9ncmFtcy4gVGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZSBjYW4gYmUgcmV0cmlldmVkIGJ5IGNhbGxpbmcKKyAqIGBnaXRfYXR0cl9uYW1lKClgLgorICovCiBzdHJ1Y3QgZ2l0X2F0dHI7CiAKIC8qIG9wYXF1ZSBzdHJ1Y3R1cmVzIHVzZWQgaW50ZXJuYWxseSBmb3IgYXR0cmlidXRlIGNvbGxlY3Rpb24gKi8KQEAgLTIxLDIxICsxMzMsMzYgQEAKIGV4dGVybiBjb25zdCBjaGFyIGdpdF9hdHRyX190cnVlW107CiBleHRlcm4gY29uc3QgY2hhciBnaXRfYXR0cl9fZmFsc2VbXTsKIAotLyogRm9yIHB1YmxpYyB0byBjaGVjayBnaXRfYXR0cl9jaGVjayByZXN1bHRzICovCisvKioKKyAqIEF0dHJpYnV0ZSBWYWx1ZXMKKyAqIC0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBBbiBhdHRyaWJ1dGUgZm9yIGEgcGF0aCBjYW4gYmUgaW4gb25lIG9mIGZvdXIgc3RhdGVzOiBTZXQsIFVuc2V0LCBVbnNwZWNpZmllZAorICogb3Igc2V0IHRvIGEgc3RyaW5nLCBhbmQgYC52YWx1ZWAgbWVtYmVyIG9mIGBzdHJ1Y3QgYXR0cl9jaGVja19pdGVtYCByZWNvcmRzCisgKiBpdC4gVGhlIHRocmVlIG1hY3JvcyBjaGVjayB0aGVzZSwgaWYgbm9uZSBvZiB0aGVtIHJldHVybnMgdHJ1ZSwgYC52YWx1ZWAKKyAqIG1lbWJlciBwb2ludHMgYXQgYSBzdHJpbmcgdmFsdWUgb2YgdGhlIGF0dHJpYnV0ZSBmb3IgdGhlIHBhdGguCisgKi8KKworLyogUmV0dXJucyB0cnVlIGlmIHRoZSBhdHRyaWJ1dGUgaXMgU2V0IGZvciB0aGUgcGF0aC4gKi8KICNkZWZpbmUgQVRUUl9UUlVFKHYpICgodikgPT0gZ2l0X2F0dHJfX3RydWUpCisKKy8qIFJldHVybnMgdHJ1ZSBpZiB0aGUgYXR0cmlidXRlIGlzIFVuc2V0IGZvciB0aGUgcGF0aC4gKi8KICNkZWZpbmUgQVRUUl9GQUxTRSh2KSAoKHYpID09IGdpdF9hdHRyX19mYWxzZSkKKworLyogUmV0dXJucyB0cnVlIGlmIHRoZSBhdHRyaWJ1dGUgaXMgVW5zcGVjaWZpZWQgZm9yIHRoZSBwYXRoLiAqLwogI2RlZmluZSBBVFRSX1VOU0VUKHYpICgodikgPT0gTlVMTCkKIAotLyoKLSAqIFNlbmQgb25lIG9yIG1vcmUgZ2l0X2F0dHJfY2hlY2sgdG8gZ2l0X2NoZWNrX2F0dHJzKCksIGFuZAotICogZWFjaCAndmFsdWUnIG1lbWJlciB0ZWxscyB3aGF0IGl0cyB2YWx1ZSBpcy4KLSAqIFVuc2V0IG9uZSBpcyByZXR1cm5lZCBhcyBOVUxMLgotICovCisvKiBUaGlzIHN0cnVjdHVyZSByZXByZXNlbnRzIG9uZSBhdHRyaWJ1dGUgYW5kIGl0cyB2YWx1ZS4gKi8KIHN0cnVjdCBhdHRyX2NoZWNrX2l0ZW0gewogCWNvbnN0IHN0cnVjdCBnaXRfYXR0ciAqYXR0cjsKIAljb25zdCBjaGFyICp2YWx1ZTsKIH07CiAKKy8qKgorICogVGhpcyBzdHJ1Y3R1cmUgcmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2YgYGF0dHJfY2hlY2tfaXRlbWAuIEl0IGlzIHBhc3NlZCB0bworICogYGdpdF9jaGVja19hdHRyKClgIGZ1bmN0aW9uLCBzcGVjaWZ5aW5nIHRoZSBhdHRyaWJ1dGVzIHRvIGNoZWNrLCBhbmQKKyAqIHJlY2VpdmVzIHRoZWlyIHZhbHVlcy4KKyAqLwogc3RydWN0IGF0dHJfY2hlY2sgewogCWludCBucjsKIAlpbnQgYWxsb2M7CmRpZmYgLS1naXQgYS9henVyZS1waXBlbGluZXMueW1sIGIvYXp1cmUtcGlwZWxpbmVzLnltbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzVjM2E0Ci0tLSAvZGV2L251bGwKKysrIGIvYXp1cmUtcGlwZWxpbmVzLnltbApAQCAtMCwwICsxLDU1OCBAQAordmFyaWFibGVzOgorICBBZ2VudC5Tb3VyY2UuR2l0LlNoYWxsb3dGZXRjaERlcHRoOiAxCisKK2pvYnM6CistIGpvYjogd2luZG93c19idWlsZAorICBkaXNwbGF5TmFtZTogV2luZG93cyBCdWlsZAorICBjb25kaXRpb246IHN1Y2NlZWRlZCgpCisgIHBvb2w6CisgICAgdm1JbWFnZTogd2luZG93cy1sYXRlc3QKKyAgdGltZW91dEluTWludXRlczogMjQwCisgIHN0ZXBzOgorICAtIHBvd2Vyc2hlbGw6IHwKKyAgICAgIGlmICgiJEdJVEZJTEVTSEFSRVBXRCIgLW5lICIiIC1hbmQgIiRHSVRGSUxFU0hBUkVQV0QiIC1uZSAiYCRgKGdpdGZpbGVzaGFyZS5wd2QpIikgeworICAgICAgICBuZXQgdXNlIHM6IFxcZ2l0ZmlsZXNoYXJlLmZpbGUuY29yZS53aW5kb3dzLm5ldFx0ZXN0LWNhY2hlICIkR0lURklMRVNIQVJFUFdEIiAvdXNlcjpBWlVSRVxnaXRmaWxlc2hhcmUgL3BlcnNpc3RlbnQ6bm8KKyAgICAgICAgY21kIC9jIG1rbGluayAvZCAiJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KVx0ZXN0LWNhY2hlIiBTOlwKKyAgICAgIH0KKyAgICBkaXNwbGF5TmFtZTogJ01vdW50IHRlc3QtY2FjaGUnCisgICAgZW52OgorICAgICAgR0lURklMRVNIQVJFUFdEOiAkKGdpdGZpbGVzaGFyZS5wd2QpCisgIC0gcG93ZXJzaGVsbDogfAorICAgICAgJHVybGJhc2UgPSAiaHR0cHM6Ly9kZXYuYXp1cmUuY29tL2dpdC1mb3Itd2luZG93cy9naXQvX2FwaXMvYnVpbGQvYnVpbGRzIgorICAgICAgJGlkID0gKChJbnZva2UtV2ViUmVxdWVzdCAtVXNlQmFzaWNQYXJzaW5nICIke3VybGJhc2V9P2RlZmluaXRpb25zPTIyJnN0YXR1c0ZpbHRlcj1jb21wbGV0ZWQmcmVzdWx0RmlsdGVyPXN1Y2NlZWRlZCZgJHRvcD0xIikuY29udGVudCB8IENvbnZlcnRGcm9tLUpTT04pLnZhbHVlWzBdLmlkCisgICAgICAkZG93bmxvYWRVcmwgPSAoKEludm9rZS1XZWJSZXF1ZXN0IC1Vc2VCYXNpY1BhcnNpbmcgIiR7dXJsYmFzZX0vJGlkL2FydGlmYWN0cyIpLmNvbnRlbnQgfCBDb252ZXJ0RnJvbS1KU09OKS52YWx1ZVsxXS5yZXNvdXJjZS5kb3dubG9hZFVybAorICAgICAgKE5ldy1PYmplY3QgTmV0LldlYkNsaWVudCkuRG93bmxvYWRGaWxlKCRkb3dubG9hZFVybCwiZ2l0LXNkay02NC1taW5pbWFsLnppcCIpCisgICAgICBFeHBhbmQtQXJjaGl2ZSBnaXQtc2RrLTY0LW1pbmltYWwuemlwIC1EZXN0aW5hdGlvblBhdGggLiAtRm9yY2UKKyAgICAgIFJlbW92ZS1JdGVtIGdpdC1zZGstNjQtbWluaW1hbC56aXAKKworICAgICAgIyBMZXQgR2l0IGlnbm9yZSB0aGUgU0RLIGFuZCB0aGUgdGVzdC1jYWNoZQorICAgICAgIi9naXQtc2RrLTY0LW1pbmltYWwvYG4vdGVzdC1jYWNoZS9gbiIgfCBPdXQtRmlsZSAtTm9OZXdMaW5lIC1FbmNvZGluZyBhc2NpaSAtQXBwZW5kICIkKEJ1aWxkLlNvdXJjZXNEaXJlY3RvcnkpXC5naXRcaW5mb1xleGNsdWRlIgorICAgIGRpc3BsYXlOYW1lOiAnRG93bmxvYWQgZ2l0LXNkay02NC1taW5pbWFsJworICAtIHBvd2Vyc2hlbGw6IHwKKyAgICAgICYgZ2l0LXNkay02NC1taW5pbWFsXHVzclxiaW5cYmFzaC5leGUgLWxjIEAiCisgICAgICAgIGNpL21ha2UtdGVzdC1hcnRpZmFjdHMuc2ggYXJ0aWZhY3RzCisgICAgICAiQAorICAgICAgaWYgKCEkPykgeyBleGl0KDEpIH0KKyAgICBkaXNwbGF5TmFtZTogQnVpbGQKKyAgICBlbnY6CisgICAgICBIT01FOiAkKEJ1aWxkLlNvdXJjZXNEaXJlY3RvcnkpCisgICAgICBNU1lTVEVNOiBNSU5HVzY0CisgICAgICBERVZFTE9QRVI6IDEKKyAgICAgIE5PX1BFUkw6IDEKKyAgLSB0YXNrOiBQdWJsaXNoUGlwZWxpbmVBcnRpZmFjdEAwCisgICAgZGlzcGxheU5hbWU6ICdQdWJsaXNoIFBpcGVsaW5lIEFydGlmYWN0OiB0ZXN0IGFydGlmYWN0cycKKyAgICBpbnB1dHM6CisgICAgICBhcnRpZmFjdE5hbWU6ICd3aW5kb3dzLWFydGlmYWN0cycKKyAgICAgIHRhcmdldFBhdGg6ICckKEJ1aWxkLlNvdXJjZXNEaXJlY3RvcnkpXGFydGlmYWN0cycKKyAgLSB0YXNrOiBQdWJsaXNoUGlwZWxpbmVBcnRpZmFjdEAwCisgICAgZGlzcGxheU5hbWU6ICdQdWJsaXNoIFBpcGVsaW5lIEFydGlmYWN0OiBnaXQtc2RrLTY0LW1pbmltYWwnCisgICAgaW5wdXRzOgorICAgICAgYXJ0aWZhY3ROYW1lOiAnZ2l0LXNkay02NC1taW5pbWFsJworICAgICAgdGFyZ2V0UGF0aDogJyQoQnVpbGQuU291cmNlc0RpcmVjdG9yeSlcZ2l0LXNkay02NC1taW5pbWFsJworICAtIHBvd2Vyc2hlbGw6IHwKKyAgICAgIGlmICgiJEdJVEZJTEVTSEFSRVBXRCIgLW5lICIiIC1hbmQgIiRHSVRGSUxFU0hBUkVQV0QiIC1uZSAiYCRgKGdpdGZpbGVzaGFyZS5wd2QpIikgeworICAgICAgICBjbWQgL2Mgcm1kaXIgIiQoQnVpbGQuU291cmNlc0RpcmVjdG9yeSlcdGVzdC1jYWNoZSIKKyAgICAgIH0KKyAgICBkaXNwbGF5TmFtZTogJ1VubW91bnQgdGVzdC1jYWNoZScKKyAgICBjb25kaXRpb246IHRydWUKKyAgICBlbnY6CisgICAgICBHSVRGSUxFU0hBUkVQV0Q6ICQoZ2l0ZmlsZXNoYXJlLnB3ZCkKKworLSBqb2I6IHdpbmRvd3NfdGVzdAorICBkaXNwbGF5TmFtZTogV2luZG93cyBUZXN0CisgIGRlcGVuZHNPbjogd2luZG93c19idWlsZAorICBjb25kaXRpb246IHN1Y2NlZWRlZCgpCisgIHBvb2w6CisgICAgdm1JbWFnZTogd2luZG93cy1sYXRlc3QKKyAgdGltZW91dEluTWludXRlczogMjQwCisgIHN0cmF0ZWd5OgorICAgIHBhcmFsbGVsOiAxMAorICBzdGVwczoKKyAgLSBwb3dlcnNoZWxsOiB8CisgICAgICBpZiAoIiRHSVRGSUxFU0hBUkVQV0QiIC1uZSAiIiAtYW5kICIkR0lURklMRVNIQVJFUFdEIiAtbmUgImAkYChnaXRmaWxlc2hhcmUucHdkKSIpIHsKKyAgICAgICAgbmV0IHVzZSBzOiBcXGdpdGZpbGVzaGFyZS5maWxlLmNvcmUud2luZG93cy5uZXRcdGVzdC1jYWNoZSAiJEdJVEZJTEVTSEFSRVBXRCIgL3VzZXI6QVpVUkVcZ2l0ZmlsZXNoYXJlIC9wZXJzaXN0ZW50Om5vCisgICAgICAgIGNtZCAvYyBta2xpbmsgL2QgIiQoQnVpbGQuU291cmNlc0RpcmVjdG9yeSlcdGVzdC1jYWNoZSIgUzpcCisgICAgICB9CisgICAgZGlzcGxheU5hbWU6ICdNb3VudCB0ZXN0LWNhY2hlJworICAgIGVudjoKKyAgICAgIEdJVEZJTEVTSEFSRVBXRDogJChnaXRmaWxlc2hhcmUucHdkKQorICAtIHRhc2s6IERvd25sb2FkUGlwZWxpbmVBcnRpZmFjdEAwCisgICAgZGlzcGxheU5hbWU6ICdEb3dubG9hZCBQaXBlbGluZSBBcnRpZmFjdDogdGVzdCBhcnRpZmFjdHMnCisgICAgaW5wdXRzOgorICAgICAgYXJ0aWZhY3ROYW1lOiAnd2luZG93cy1hcnRpZmFjdHMnCisgICAgICB0YXJnZXRQYXRoOiAnJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KScKKyAgLSB0YXNrOiBEb3dubG9hZFBpcGVsaW5lQXJ0aWZhY3RAMAorICAgIGRpc3BsYXlOYW1lOiAnRG93bmxvYWQgUGlwZWxpbmUgQXJ0aWZhY3Q6IGdpdC1zZGstNjQtbWluaW1hbCcKKyAgICBpbnB1dHM6CisgICAgICBhcnRpZmFjdE5hbWU6ICdnaXQtc2RrLTY0LW1pbmltYWwnCisgICAgICB0YXJnZXRQYXRoOiAnJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KVxnaXQtc2RrLTY0LW1pbmltYWwnCisgIC0gcG93ZXJzaGVsbDogfAorICAgICAgJiBnaXQtc2RrLTY0LW1pbmltYWxcdXNyXGJpblxiYXNoLmV4ZSAtbGMgQCIKKyAgICAgICAgdGVzdCAtZiBhcnRpZmFjdHMudGFyLmd6IHx8IHsKKyAgICAgICAgICBlY2hvIE5vIHRlc3QgYXJ0aWZhY3RzIGZvdW5kXDsgc2tpcHBpbmcgPiYyCisgICAgICAgICAgZXhpdCAwCisgICAgICAgIH0KKyAgICAgICAgdGFyIHhmIGFydGlmYWN0cy50YXIuZ3ogfHwgZXhpdCAxCisKKyAgICAgICAgIyBMZXQgR2l0IGlnbm9yZSB0aGUgU0RLIGFuZCB0aGUgdGVzdC1jYWNoZQorICAgICAgICBwcmludGYgJyVzXG4nIC9naXQtc2RrLTY0LW1pbmltYWwvIC90ZXN0LWNhY2hlLyA+Pi5naXQvaW5mby9leGNsdWRlCisKKyAgICAgICAgY2kvcnVuLXRlc3Qtc2xpY2Uuc2ggYCRTWVNURU1fSk9CUE9TSVRJT05JTlBIQVNFIGAkU1lTVEVNX1RPVEFMSk9CU0lOUEhBU0UgfHwgeworICAgICAgICAgIGNpL3ByaW50LXRlc3QtZmFpbHVyZXMuc2gKKyAgICAgICAgICBleGl0IDEKKyAgICAgICAgfQorICAgICAgIkAKKyAgICAgIGlmICghJD8pIHsgZXhpdCgxKSB9CisgICAgZGlzcGxheU5hbWU6ICdUZXN0IChwYXJhbGxlbCknCisgICAgZW52OgorICAgICAgSE9NRTogJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KQorICAgICAgTVNZU1RFTTogTUlOR1c2NAorICAgICAgTk9fU1ZOX1RFU1RTOiAxCisgICAgICBHSVRfVEVTVF9TS0lQX1JFQkFTRV9QOiAxCisgIC0gcG93ZXJzaGVsbDogfAorICAgICAgaWYgKCIkR0lURklMRVNIQVJFUFdEIiAtbmUgIiIgLWFuZCAiJEdJVEZJTEVTSEFSRVBXRCIgLW5lICJgJGAoZ2l0ZmlsZXNoYXJlLnB3ZCkiKSB7CisgICAgICAgIGNtZCAvYyBybWRpciAiJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KVx0ZXN0LWNhY2hlIgorICAgICAgfQorICAgIGRpc3BsYXlOYW1lOiAnVW5tb3VudCB0ZXN0LWNhY2hlJworICAgIGNvbmRpdGlvbjogdHJ1ZQorICAgIGVudjoKKyAgICAgIEdJVEZJTEVTSEFSRVBXRDogJChnaXRmaWxlc2hhcmUucHdkKQorICAtIHRhc2s6IFB1Ymxpc2hUZXN0UmVzdWx0c0AyCisgICAgZGlzcGxheU5hbWU6ICdQdWJsaXNoIFRlc3QgUmVzdWx0cyAqKi9URVNULSoueG1sJworICAgIGlucHV0czoKKyAgICAgIG1lcmdlVGVzdFJlc3VsdHM6IHRydWUKKyAgICAgIHRlc3RSdW5UaXRsZTogJ3dpbmRvd3MnCisgICAgICBwbGF0Zm9ybTogV2luZG93cworICAgICAgcHVibGlzaFJ1bkF0dGFjaG1lbnRzOiBmYWxzZQorICAgIGNvbmRpdGlvbjogc3VjY2VlZGVkT3JGYWlsZWQoKQorICAtIHRhc2s6IFB1Ymxpc2hCdWlsZEFydGlmYWN0c0AxCisgICAgZGlzcGxheU5hbWU6ICdQdWJsaXNoIHRyYXNoIGRpcmVjdG9yaWVzIG9mIGZhaWxlZCB0ZXN0cycKKyAgICBjb25kaXRpb246IGZhaWxlZCgpCisgICAgaW5wdXRzOgorICAgICAgUGF0aHRvUHVibGlzaDogdC9mYWlsZWQtdGVzdC1hcnRpZmFjdHMKKyAgICAgIEFydGlmYWN0TmFtZTogZmFpbGVkLXRlc3QtYXJ0aWZhY3RzCisKKy0gam9iOiB2c19idWlsZAorICBkaXNwbGF5TmFtZTogVmlzdWFsIFN0dWRpbyBCdWlsZAorICBjb25kaXRpb246IHN1Y2NlZWRlZCgpCisgIHBvb2w6CisgICAgdm1JbWFnZTogd2luZG93cy1sYXRlc3QKKyAgdGltZW91dEluTWludXRlczogMjQwCisgIHN0ZXBzOgorICAtIHBvd2Vyc2hlbGw6IHwKKyAgICAgIGlmICgiJEdJVEZJTEVTSEFSRVBXRCIgLW5lICIiIC1hbmQgIiRHSVRGSUxFU0hBUkVQV0QiIC1uZSAiYCRgKGdpdGZpbGVzaGFyZS5wd2QpIikgeworICAgICAgICBuZXQgdXNlIHM6IFxcZ2l0ZmlsZXNoYXJlLmZpbGUuY29yZS53aW5kb3dzLm5ldFx0ZXN0LWNhY2hlICIkR0lURklMRVNIQVJFUFdEIiAvdXNlcjpBWlVSRVxnaXRmaWxlc2hhcmUgL3BlcnNpc3RlbnQ6bm8KKyAgICAgICAgY21kIC9jIG1rbGluayAvZCAiJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KVx0ZXN0LWNhY2hlIiBTOlwKKyAgICAgIH0KKyAgICBkaXNwbGF5TmFtZTogJ01vdW50IHRlc3QtY2FjaGUnCisgICAgZW52OgorICAgICAgR0lURklMRVNIQVJFUFdEOiAkKGdpdGZpbGVzaGFyZS5wd2QpCisgIC0gcG93ZXJzaGVsbDogfAorICAgICAgJHVybGJhc2UgPSAiaHR0cHM6Ly9kZXYuYXp1cmUuY29tL2dpdC1mb3Itd2luZG93cy9naXQvX2FwaXMvYnVpbGQvYnVpbGRzIgorICAgICAgJGlkID0gKChJbnZva2UtV2ViUmVxdWVzdCAtVXNlQmFzaWNQYXJzaW5nICIke3VybGJhc2V9P2RlZmluaXRpb25zPTIyJnN0YXR1c0ZpbHRlcj1jb21wbGV0ZWQmcmVzdWx0RmlsdGVyPXN1Y2NlZWRlZCZgJHRvcD0xIikuY29udGVudCB8IENvbnZlcnRGcm9tLUpTT04pLnZhbHVlWzBdLmlkCisgICAgICAkZG93bmxvYWRVcmwgPSAoKEludm9rZS1XZWJSZXF1ZXN0IC1Vc2VCYXNpY1BhcnNpbmcgIiR7dXJsYmFzZX0vJGlkL2FydGlmYWN0cyIpLmNvbnRlbnQgfCBDb252ZXJ0RnJvbS1KU09OKS52YWx1ZVsxXS5yZXNvdXJjZS5kb3dubG9hZFVybAorICAgICAgKE5ldy1PYmplY3QgTmV0LldlYkNsaWVudCkuRG93bmxvYWRGaWxlKCRkb3dubG9hZFVybCwiZ2l0LXNkay02NC1taW5pbWFsLnppcCIpCisgICAgICBFeHBhbmQtQXJjaGl2ZSBnaXQtc2RrLTY0LW1pbmltYWwuemlwIC1EZXN0aW5hdGlvblBhdGggLiAtRm9yY2UKKyAgICAgIFJlbW92ZS1JdGVtIGdpdC1zZGstNjQtbWluaW1hbC56aXAKKworICAgICAgIyBMZXQgR2l0IGlnbm9yZSB0aGUgU0RLIGFuZCB0aGUgdGVzdC1jYWNoZQorICAgICAgIi9naXQtc2RrLTY0LW1pbmltYWwvYG4vdGVzdC1jYWNoZS9gbiIgfCBPdXQtRmlsZSAtTm9OZXdMaW5lIC1FbmNvZGluZyBhc2NpaSAtQXBwZW5kICIkKEJ1aWxkLlNvdXJjZXNEaXJlY3RvcnkpXC5naXRcaW5mb1xleGNsdWRlIgorICAgIGRpc3BsYXlOYW1lOiAnRG93bmxvYWQgZ2l0LXNkay02NC1taW5pbWFsJworICAtIHBvd2Vyc2hlbGw6IHwKKyAgICAgICYgZ2l0LXNkay02NC1taW5pbWFsXHVzclxiaW5cYmFzaC5leGUgLWxjIEAiCisgICAgICAgIG1ha2UgTkRFQlVHPTEgREVWRUxPUEVSPTEgdmN4cHJvagorICAgICAgIkAKKyAgICAgIGlmICghJD8pIHsgZXhpdCgxKSB9CisgICAgZGlzcGxheU5hbWU6IEdlbmVyYXRlIFZpc3VhbCBTdHVkaW8gU29sdXRpb24KKyAgICBlbnY6CisgICAgICBIT01FOiAkKEJ1aWxkLlNvdXJjZXNEaXJlY3RvcnkpCisgICAgICBNU1lTVEVNOiBNSU5HVzY0CisgICAgICBERVZFTE9QRVI6IDEKKyAgICAgIE5PX1BFUkw6IDEKKyAgICAgIEdJVF9DT05GSUdfUEFSQU1FVEVSUzogIid1c2VyLm5hbWU9Q0knICd1c2VyLmVtYWlsPWNpQGdpdCciCisgIC0gcG93ZXJzaGVsbDogfAorICAgICAgJHVybGJhc2UgPSAiaHR0cHM6Ly9kZXYuYXp1cmUuY29tL2dpdC9naXQvX2FwaXMvYnVpbGQvYnVpbGRzIgorICAgICAgJGlkID0gKChJbnZva2UtV2ViUmVxdWVzdCAtVXNlQmFzaWNQYXJzaW5nICIke3VybGJhc2V9P2RlZmluaXRpb25zPTkmc3RhdHVzRmlsdGVyPWNvbXBsZXRlZCZyZXN1bHRGaWx0ZXI9c3VjY2VlZGVkJmAkdG9wPTEiKS5jb250ZW50IHwgQ29udmVydEZyb20tSlNPTikudmFsdWVbMF0uaWQKKyAgICAgICRkb3dubG9hZFVybCA9ICgoSW52b2tlLVdlYlJlcXVlc3QgLVVzZUJhc2ljUGFyc2luZyAiJHt1cmxiYXNlfS8kaWQvYXJ0aWZhY3RzIikuY29udGVudCB8IENvbnZlcnRGcm9tLUpTT04pLnZhbHVlWzBdLnJlc291cmNlLmRvd25sb2FkVXJsCisgICAgICAoTmV3LU9iamVjdCBOZXQuV2ViQ2xpZW50KS5Eb3dubG9hZEZpbGUoJGRvd25sb2FkVXJsLCAiY29tcGF0LnppcCIpCisgICAgICBFeHBhbmQtQXJjaGl2ZSBjb21wYXQuemlwIC1EZXN0aW5hdGlvblBhdGggLiAtRm9yY2UKKyAgICAgIFJlbW92ZS1JdGVtIGNvbXBhdC56aXAKKyAgICBkaXNwbGF5TmFtZTogJ0Rvd25sb2FkIHZjcGtnIGFydGlmYWN0cycKKyAgLSB0YXNrOiBNU0J1aWxkQDEKKyAgICBpbnB1dHM6CisgICAgICBzb2x1dGlvbjogZ2l0LnNsbgorICAgICAgcGxhdGZvcm06IHg2NAorICAgICAgY29uZmlndXJhdGlvbjogUmVsZWFzZQorICAgICAgbWF4aW11bUNwdUNvdW50OiA0CisgICAgICBtc2J1aWxkQXJndW1lbnRzOiAvcDpQbGF0Zm9ybVRvb2xzZXQ9djE0MgorICAtIHBvd2Vyc2hlbGw6IHwKKyAgICAgICYgY29tcGF0XHZjYnVpbGRcdmNwa2dfY29weV9kbGxzLmJhdCByZWxlYXNlCisgICAgICBpZiAoISQ/KSB7IGV4aXQoMSkgfQorICAgICAgJiBnaXQtc2RrLTY0LW1pbmltYWxcdXNyXGJpblxiYXNoLmV4ZSAtbGMgQCIKKyAgICAgICAgbWtkaXIgLXAgYXJ0aWZhY3RzICYmCisgICAgICAgIGV2YWwgXCJgJChtYWtlIC1uIGFydGlmYWN0cy10YXIgSU5DTFVERV9ETExTX0lOX0FSVElGQUNUUz1ZZXNQbGVhc2UgQVJUSUZBQ1RTX0RJUkVDVE9SWT1hcnRpZmFjdHMgfCBncmVwIF50YXIpXCIKKyAgICAgICJACisgICAgICBpZiAoISQ/KSB7IGV4aXQoMSkgfQorICAgIGRpc3BsYXlOYW1lOiBCdW5kbGUgYXJ0aWZhY3QgdGFyCisgICAgZW52OgorICAgICAgSE9NRTogJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KQorICAgICAgTVNZU1RFTTogTUlOR1c2NAorICAgICAgREVWRUxPUEVSOiAxCisgICAgICBOT19QRVJMOiAxCisgICAgICBNU1ZDOiAxCisgICAgICBWQ1BLR19ST09UOiAkKEJ1aWxkLlNvdXJjZXNEaXJlY3RvcnkpXGNvbXBhdFx2Y2J1aWxkXHZjcGtnCisgIC0gcG93ZXJzaGVsbDogfAorICAgICAgJHRhZyA9IChJbnZva2UtV2ViUmVxdWVzdCAtVXNlQmFzaWNQYXJzaW5nICJodHRwczovL2dpdGZvcndpbmRvd3Mub3JnL2xhdGVzdC10YWcudHh0IikuY29udGVudAorICAgICAgJHZlcnNpb24gPSAoSW52b2tlLVdlYlJlcXVlc3QgLVVzZUJhc2ljUGFyc2luZyAiaHR0cHM6Ly9naXRmb3J3aW5kb3dzLm9yZy9sYXRlc3QtdmVyc2lvbi50eHQiKS5jb250ZW50CisgICAgICAkdXJsID0gImh0dHBzOi8vZ2l0aHViLmNvbS9naXQtZm9yLXdpbmRvd3MvZ2l0L3JlbGVhc2VzL2Rvd25sb2FkLyR7dGFnfS9Qb3J0YWJsZUdpdC0ke3ZlcnNpb259LTY0LWJpdC43ei5leGUiCisgICAgICAoTmV3LU9iamVjdCBOZXQuV2ViQ2xpZW50KS5Eb3dubG9hZEZpbGUoJHVybCwiUG9ydGFibGVHaXQuZXhlIikKKyAgICAgICYgLlxQb3J0YWJsZUdpdC5leGUgLXkgLW9hcnRpZmFjdHNcUG9ydGFibGVHaXQKKyAgICAgICMgV2FpdCB1bnRpbCBpdCBpcyB1bnBhY2tlZAorICAgICAgd2hpbGUgKC1ub3QgQChSZW1vdmUtSXRlbSAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSBQb3J0YWJsZUdpdC5leGU7ICQ/KSkgeyBzbGVlcCAxIH0KKyAgICBkaXNwbGF5TmFtZTogRG93bmxvYWQgJiBleHRyYWN0IHBvcnRhYmxlIEdpdAorICAtIHRhc2s6IFB1Ymxpc2hQaXBlbGluZUFydGlmYWN0QDAKKyAgICBkaXNwbGF5TmFtZTogJ1B1Ymxpc2ggUGlwZWxpbmUgQXJ0aWZhY3Q6IE1TVkMgdGVzdCBhcnRpZmFjdHMnCisgICAgaW5wdXRzOgorICAgICAgYXJ0aWZhY3ROYW1lOiAndnMtYXJ0aWZhY3RzJworICAgICAgdGFyZ2V0UGF0aDogJyQoQnVpbGQuU291cmNlc0RpcmVjdG9yeSlcYXJ0aWZhY3RzJworICAtIHBvd2Vyc2hlbGw6IHwKKyAgICAgIGlmICgiJEdJVEZJTEVTSEFSRVBXRCIgLW5lICIiIC1hbmQgIiRHSVRGSUxFU0hBUkVQV0QiIC1uZSAiYCRgKGdpdGZpbGVzaGFyZS5wd2QpIikgeworICAgICAgICBjbWQgL2Mgcm1kaXIgIiQoQnVpbGQuU291cmNlc0RpcmVjdG9yeSlcdGVzdC1jYWNoZSIKKyAgICAgIH0KKyAgICBkaXNwbGF5TmFtZTogJ1VubW91bnQgdGVzdC1jYWNoZScKKyAgICBjb25kaXRpb246IHRydWUKKyAgICBlbnY6CisgICAgICBHSVRGSUxFU0hBUkVQV0Q6ICQoZ2l0ZmlsZXNoYXJlLnB3ZCkKKworLSBqb2I6IHZzX3Rlc3QKKyAgZGlzcGxheU5hbWU6IFZpc3VhbCBTdHVkaW8gVGVzdAorICBkZXBlbmRzT246IHZzX2J1aWxkCisgIGNvbmRpdGlvbjogc3VjY2VlZGVkKCkKKyAgcG9vbDoKKyAgICB2bUltYWdlOiB3aW5kb3dzLWxhdGVzdAorICB0aW1lb3V0SW5NaW51dGVzOiAyNDAKKyAgc3RyYXRlZ3k6CisgICAgcGFyYWxsZWw6IDEwCisgIHN0ZXBzOgorICAtIHBvd2Vyc2hlbGw6IHwKKyAgICAgIGlmICgiJEdJVEZJTEVTSEFSRVBXRCIgLW5lICIiIC1hbmQgIiRHSVRGSUxFU0hBUkVQV0QiIC1uZSAiYCRgKGdpdGZpbGVzaGFyZS5wd2QpIikgeworICAgICAgICBuZXQgdXNlIHM6IFxcZ2l0ZmlsZXNoYXJlLmZpbGUuY29yZS53aW5kb3dzLm5ldFx0ZXN0LWNhY2hlICIkR0lURklMRVNIQVJFUFdEIiAvdXNlcjpBWlVSRVxnaXRmaWxlc2hhcmUgL3BlcnNpc3RlbnQ6bm8KKyAgICAgICAgY21kIC9jIG1rbGluayAvZCAiJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KVx0ZXN0LWNhY2hlIiBTOlwKKyAgICAgIH0KKyAgICBkaXNwbGF5TmFtZTogJ01vdW50IHRlc3QtY2FjaGUnCisgICAgZW52OgorICAgICAgR0lURklMRVNIQVJFUFdEOiAkKGdpdGZpbGVzaGFyZS5wd2QpCisgIC0gdGFzazogRG93bmxvYWRQaXBlbGluZUFydGlmYWN0QDAKKyAgICBkaXNwbGF5TmFtZTogJ0Rvd25sb2FkIFBpcGVsaW5lIEFydGlmYWN0OiBWUyB0ZXN0IGFydGlmYWN0cycKKyAgICBpbnB1dHM6CisgICAgICBhcnRpZmFjdE5hbWU6ICd2cy1hcnRpZmFjdHMnCisgICAgICB0YXJnZXRQYXRoOiAnJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KScKKyAgLSBwb3dlcnNoZWxsOiB8CisgICAgICAmIFBvcnRhYmxlR2l0XGdpdC1jbWQuZXhlIC0tY29tbWFuZD11c3JcYmluXGJhc2guZXhlIC1sYyBAIgorICAgICAgICB0ZXN0IC1mIGFydGlmYWN0cy50YXIuZ3ogfHwgeworICAgICAgICAgIGVjaG8gTm8gdGVzdCBhcnRpZmFjdHMgZm91bmRcOyBza2lwcGluZyA+JjIKKyAgICAgICAgICBleGl0IDAKKyAgICAgICAgfQorICAgICAgICB0YXIgeGYgYXJ0aWZhY3RzLnRhci5neiB8fCBleGl0IDEKKworICAgICAgICAjIExldCBHaXQgaWdub3JlIHRoZSBTREsgYW5kIHRoZSB0ZXN0LWNhY2hlCisgICAgICAgIHByaW50ZiAnJXNcbicgL1BvcnRhYmxlR2l0LyAvdGVzdC1jYWNoZS8gPj4uZ2l0L2luZm8vZXhjbHVkZQorCisgICAgICAgIGNkIHQgJiYKKyAgICAgICAgUEFUSD1cImAkUFdEL2hlbHBlcjpgJFBBVEhcIiAmJgorICAgICAgICB0ZXN0LXRvb2wuZXhlIHJ1bi1jb21tYW5kIHRlc3RzdWl0ZSAtLWpvYnM9MTAgLVYgLXggLS13cml0ZS1qdW5pdC14bWwgXAorICAgICAgICAgICAgICAgIGAkKHRlc3QtdG9vbC5leGUgcGF0aC11dGlscyBzbGljZS10ZXN0cyBcCisgICAgICAgICAgICAgICAgICAgICAgICBgJFNZU1RFTV9KT0JQT1NJVElPTklOUEhBU0UgYCRTWVNURU1fVE9UQUxKT0JTSU5QSEFTRSB0WzAtOV0qLnNoKQorICAgICAgIkAKKyAgICAgIGlmICghJD8pIHsgZXhpdCgxKSB9CisgICAgZGlzcGxheU5hbWU6ICdUZXN0IChwYXJhbGxlbCknCisgICAgZW52OgorICAgICAgSE9NRTogJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KQorICAgICAgTVNZU1RFTTogTUlOR1c2NAorICAgICAgTk9fU1ZOX1RFU1RTOiAxCisgICAgICBHSVRfVEVTVF9TS0lQX1JFQkFTRV9QOiAxCisgIC0gcG93ZXJzaGVsbDogfAorICAgICAgaWYgKCIkR0lURklMRVNIQVJFUFdEIiAtbmUgIiIgLWFuZCAiJEdJVEZJTEVTSEFSRVBXRCIgLW5lICJgJGAoZ2l0ZmlsZXNoYXJlLnB3ZCkiKSB7CisgICAgICAgIGNtZCAvYyBybWRpciAiJChCdWlsZC5Tb3VyY2VzRGlyZWN0b3J5KVx0ZXN0LWNhY2hlIgorICAgICAgfQorICAgIGRpc3BsYXlOYW1lOiAnVW5tb3VudCB0ZXN0LWNhY2hlJworICAgIGNvbmRpdGlvbjogdHJ1ZQorICAgIGVudjoKKyAgICAgIEdJVEZJTEVTSEFSRVBXRDogJChnaXRmaWxlc2hhcmUucHdkKQorICAtIHRhc2s6IFB1Ymxpc2hUZXN0UmVzdWx0c0AyCisgICAgZGlzcGxheU5hbWU6ICdQdWJsaXNoIFRlc3QgUmVzdWx0cyAqKi9URVNULSoueG1sJworICAgIGlucHV0czoKKyAgICAgIG1lcmdlVGVzdFJlc3VsdHM6IHRydWUKKyAgICAgIHRlc3RSdW5UaXRsZTogJ3ZzJworICAgICAgcGxhdGZvcm06IFdpbmRvd3MKKyAgICAgIHB1Ymxpc2hSdW5BdHRhY2htZW50czogZmFsc2UKKyAgICBjb25kaXRpb246IHN1Y2NlZWRlZE9yRmFpbGVkKCkKKyAgLSB0YXNrOiBQdWJsaXNoQnVpbGRBcnRpZmFjdHNAMQorICAgIGRpc3BsYXlOYW1lOiAnUHVibGlzaCB0cmFzaCBkaXJlY3RvcmllcyBvZiBmYWlsZWQgdGVzdHMnCisgICAgY29uZGl0aW9uOiBmYWlsZWQoKQorICAgIGlucHV0czoKKyAgICAgIFBhdGh0b1B1Ymxpc2g6IHQvZmFpbGVkLXRlc3QtYXJ0aWZhY3RzCisgICAgICBBcnRpZmFjdE5hbWU6IGZhaWxlZC12cy10ZXN0LWFydGlmYWN0cworCistIGpvYjogbGludXhfY2xhbmcKKyAgZGlzcGxheU5hbWU6IGxpbnV4LWNsYW5nCisgIGNvbmRpdGlvbjogc3VjY2VlZGVkKCkKKyAgcG9vbDoKKyAgICB2bUltYWdlOiB1YnVudHUtbGF0ZXN0CisgIHN0ZXBzOgorICAtIGJhc2g6IHwKKyAgICAgICB0ZXN0ICIkR0lURklMRVNIQVJFUFdEIiA9ICckKGdpdGZpbGVzaGFyZS5wd2QpJyB8fCBjaS9tb3VudC1maWxlc2hhcmUuc2ggLy9naXRmaWxlc2hhcmUuZmlsZS5jb3JlLndpbmRvd3MubmV0L3Rlc3QtY2FjaGUgZ2l0ZmlsZXNoYXJlICIkR0lURklMRVNIQVJFUFdEIiAiJEhPTUUvdGVzdC1jYWNoZSIgfHwgZXhpdCAxCisKKyAgICAgICBzdWRvIGFwdC1nZXQgdXBkYXRlICYmCisgICAgICAgc3VkbyBhcHQtZ2V0IC15IGluc3RhbGwgZ2l0IGdjYyBtYWtlIGxpYnNzbC1kZXYgbGliY3VybDQtb3BlbnNzbC1kZXYgbGliZXhwYXQtZGV2IHRjbCB0ayBnZXR0ZXh0IGdpdC1lbWFpbCB6bGliMWctZGV2IGFwYWNoZTItYmluICYmCisKKyAgICAgICBleHBvcnQgQ0M9Y2xhbmcgfHwgZXhpdCAxCisKKyAgICAgICBjaS9pbnN0YWxsLWRlcGVuZGVuY2llcy5zaCB8fCBleGl0IDEKKyAgICAgICBjaS9ydW4tYnVpbGQtYW5kLXRlc3RzLnNoIHx8IHsKKyAgICAgICAgICAgY2kvcHJpbnQtdGVzdC1mYWlsdXJlcy5zaAorICAgICAgICAgICBleGl0IDEKKyAgICAgICB9CisKKyAgICAgICB0ZXN0ICIkR0lURklMRVNIQVJFUFdEIiA9ICckKGdpdGZpbGVzaGFyZS5wd2QpJyB8fCBzdWRvIHVtb3VudCAiJEhPTUUvdGVzdC1jYWNoZSIgfHwgZXhpdCAxCisgICAgZGlzcGxheU5hbWU6ICdjaS9ydW4tYnVpbGQtYW5kLXRlc3RzLnNoJworICAgIGVudjoKKyAgICAgIEdJVEZJTEVTSEFSRVBXRDogJChnaXRmaWxlc2hhcmUucHdkKQorICAtIHRhc2s6IFB1Ymxpc2hUZXN0UmVzdWx0c0AyCisgICAgZGlzcGxheU5hbWU6ICdQdWJsaXNoIFRlc3QgUmVzdWx0cyAqKi9URVNULSoueG1sJworICAgIGlucHV0czoKKyAgICAgIG1lcmdlVGVzdFJlc3VsdHM6IHRydWUKKyAgICAgIHRlc3RSdW5UaXRsZTogJ2xpbnV4LWNsYW5nJworICAgICAgcGxhdGZvcm06IExpbnV4CisgICAgICBwdWJsaXNoUnVuQXR0YWNobWVudHM6IGZhbHNlCisgICAgY29uZGl0aW9uOiBzdWNjZWVkZWRPckZhaWxlZCgpCisgIC0gdGFzazogUHVibGlzaEJ1aWxkQXJ0aWZhY3RzQDEKKyAgICBkaXNwbGF5TmFtZTogJ1B1Ymxpc2ggdHJhc2ggZGlyZWN0b3JpZXMgb2YgZmFpbGVkIHRlc3RzJworICAgIGNvbmRpdGlvbjogZmFpbGVkKCkKKyAgICBpbnB1dHM6CisgICAgICBQYXRodG9QdWJsaXNoOiB0L2ZhaWxlZC10ZXN0LWFydGlmYWN0cworICAgICAgQXJ0aWZhY3ROYW1lOiBmYWlsZWQtdGVzdC1hcnRpZmFjdHMKKworLSBqb2I6IGxpbnV4X2djYworICBkaXNwbGF5TmFtZTogbGludXgtZ2NjCisgIGNvbmRpdGlvbjogc3VjY2VlZGVkKCkKKyAgcG9vbDoKKyAgICB2bUltYWdlOiB1YnVudHUtbGF0ZXN0CisgIHN0ZXBzOgorICAtIGJhc2g6IHwKKyAgICAgICB0ZXN0ICIkR0lURklMRVNIQVJFUFdEIiA9ICckKGdpdGZpbGVzaGFyZS5wd2QpJyB8fCBjaS9tb3VudC1maWxlc2hhcmUuc2ggLy9naXRmaWxlc2hhcmUuZmlsZS5jb3JlLndpbmRvd3MubmV0L3Rlc3QtY2FjaGUgZ2l0ZmlsZXNoYXJlICIkR0lURklMRVNIQVJFUFdEIiAiJEhPTUUvdGVzdC1jYWNoZSIgfHwgZXhpdCAxCisKKyAgICAgICBzdWRvIGFkZC1hcHQtcmVwb3NpdG9yeSBwcGE6dWJ1bnR1LXRvb2xjaGFpbi1yL3Rlc3QgJiYKKyAgICAgICBzdWRvIGFwdC1nZXQgdXBkYXRlICYmCisgICAgICAgc3VkbyBhcHQtZ2V0IC15IGluc3RhbGwgZ2l0IGdjYyBtYWtlIGxpYnNzbC1kZXYgbGliY3VybDQtb3BlbnNzbC1kZXYgbGliZXhwYXQtZGV2IHRjbCB0ayBnZXR0ZXh0IGdpdC1lbWFpbCB6bGliMWctZGV2IGFwYWNoZTIgbGFuZ3VhZ2UtcGFjay1pcyBnaXQtc3ZuIGdjYy04IHx8IGV4aXQgMQorCisgICAgICAgY2kvaW5zdGFsbC1kZXBlbmRlbmNpZXMuc2ggfHwgZXhpdCAxCisgICAgICAgY2kvcnVuLWJ1aWxkLWFuZC10ZXN0cy5zaCB8fCB7CisgICAgICAgICAgIGNpL3ByaW50LXRlc3QtZmFpbHVyZXMuc2gKKyAgICAgICAgICAgZXhpdCAxCisgICAgICAgfQorCisgICAgICAgdGVzdCAiJEdJVEZJTEVTSEFSRVBXRCIgPSAnJChnaXRmaWxlc2hhcmUucHdkKScgfHwgc3VkbyB1bW91bnQgIiRIT01FL3Rlc3QtY2FjaGUiIHx8IGV4aXQgMQorICAgIGRpc3BsYXlOYW1lOiAnY2kvcnVuLWJ1aWxkLWFuZC10ZXN0cy5zaCcKKyAgICBlbnY6CisgICAgICBHSVRGSUxFU0hBUkVQV0Q6ICQoZ2l0ZmlsZXNoYXJlLnB3ZCkKKyAgLSB0YXNrOiBQdWJsaXNoVGVzdFJlc3VsdHNAMgorICAgIGRpc3BsYXlOYW1lOiAnUHVibGlzaCBUZXN0IFJlc3VsdHMgKiovVEVTVC0qLnhtbCcKKyAgICBpbnB1dHM6CisgICAgICBtZXJnZVRlc3RSZXN1bHRzOiB0cnVlCisgICAgICB0ZXN0UnVuVGl0bGU6ICdsaW51eC1nY2MnCisgICAgICBwbGF0Zm9ybTogTGludXgKKyAgICAgIHB1Ymxpc2hSdW5BdHRhY2htZW50czogZmFsc2UKKyAgICBjb25kaXRpb246IHN1Y2NlZWRlZE9yRmFpbGVkKCkKKyAgLSB0YXNrOiBQdWJsaXNoQnVpbGRBcnRpZmFjdHNAMQorICAgIGRpc3BsYXlOYW1lOiAnUHVibGlzaCB0cmFzaCBkaXJlY3RvcmllcyBvZiBmYWlsZWQgdGVzdHMnCisgICAgY29uZGl0aW9uOiBmYWlsZWQoKQorICAgIGlucHV0czoKKyAgICAgIFBhdGh0b1B1Ymxpc2g6IHQvZmFpbGVkLXRlc3QtYXJ0aWZhY3RzCisgICAgICBBcnRpZmFjdE5hbWU6IGZhaWxlZC10ZXN0LWFydGlmYWN0cworCistIGpvYjogb3N4X2NsYW5nCisgIGRpc3BsYXlOYW1lOiBvc3gtY2xhbmcKKyAgY29uZGl0aW9uOiBzdWNjZWVkZWQoKQorICBwb29sOgorICAgIHZtSW1hZ2U6IG1hY09TLWxhdGVzdAorICBzdGVwczoKKyAgLSBiYXNoOiB8CisgICAgICAgdGVzdCAiJEdJVEZJTEVTSEFSRVBXRCIgPSAnJChnaXRmaWxlc2hhcmUucHdkKScgfHwgY2kvbW91bnQtZmlsZXNoYXJlLnNoIC8vZ2l0ZmlsZXNoYXJlLmZpbGUuY29yZS53aW5kb3dzLm5ldC90ZXN0LWNhY2hlIGdpdGZpbGVzaGFyZSAiJEdJVEZJTEVTSEFSRVBXRCIgIiRIT01FL3Rlc3QtY2FjaGUiIHx8IGV4aXQgMQorCisgICAgICAgZXhwb3J0IENDPWNsYW5nCisKKyAgICAgICBjaS9pbnN0YWxsLWRlcGVuZGVuY2llcy5zaCB8fCBleGl0IDEKKyAgICAgICBjaS9ydW4tYnVpbGQtYW5kLXRlc3RzLnNoIHx8IHsKKyAgICAgICAgICAgY2kvcHJpbnQtdGVzdC1mYWlsdXJlcy5zaAorICAgICAgICAgICBleGl0IDEKKyAgICAgICB9CisKKyAgICAgICB0ZXN0ICIkR0lURklMRVNIQVJFUFdEIiA9ICckKGdpdGZpbGVzaGFyZS5wd2QpJyB8fCB1bW91bnQgIiRIT01FL3Rlc3QtY2FjaGUiIHx8IGV4aXQgMQorICAgIGRpc3BsYXlOYW1lOiAnY2kvcnVuLWJ1aWxkLWFuZC10ZXN0cy5zaCcKKyAgICBlbnY6CisgICAgICBHSVRGSUxFU0hBUkVQV0Q6ICQoZ2l0ZmlsZXNoYXJlLnB3ZCkKKyAgLSB0YXNrOiBQdWJsaXNoVGVzdFJlc3VsdHNAMgorICAgIGRpc3BsYXlOYW1lOiAnUHVibGlzaCBUZXN0IFJlc3VsdHMgKiovVEVTVC0qLnhtbCcKKyAgICBpbnB1dHM6CisgICAgICBtZXJnZVRlc3RSZXN1bHRzOiB0cnVlCisgICAgICB0ZXN0UnVuVGl0bGU6ICdvc3gtY2xhbmcnCisgICAgICBwbGF0Zm9ybTogbWFjT1MKKyAgICAgIHB1Ymxpc2hSdW5BdHRhY2htZW50czogZmFsc2UKKyAgICBjb25kaXRpb246IHN1Y2NlZWRlZE9yRmFpbGVkKCkKKyAgLSB0YXNrOiBQdWJsaXNoQnVpbGRBcnRpZmFjdHNAMQorICAgIGRpc3BsYXlOYW1lOiAnUHVibGlzaCB0cmFzaCBkaXJlY3RvcmllcyBvZiBmYWlsZWQgdGVzdHMnCisgICAgY29uZGl0aW9uOiBmYWlsZWQoKQorICAgIGlucHV0czoKKyAgICAgIFBhdGh0b1B1Ymxpc2g6IHQvZmFpbGVkLXRlc3QtYXJ0aWZhY3RzCisgICAgICBBcnRpZmFjdE5hbWU6IGZhaWxlZC10ZXN0LWFydGlmYWN0cworCistIGpvYjogb3N4X2djYworICBkaXNwbGF5TmFtZTogb3N4LWdjYworICBjb25kaXRpb246IHN1Y2NlZWRlZCgpCisgIHBvb2w6CisgICAgdm1JbWFnZTogbWFjT1MtbGF0ZXN0CisgIHN0ZXBzOgorICAtIGJhc2g6IHwKKyAgICAgICB0ZXN0ICIkR0lURklMRVNIQVJFUFdEIiA9ICckKGdpdGZpbGVzaGFyZS5wd2QpJyB8fCBjaS9tb3VudC1maWxlc2hhcmUuc2ggLy9naXRmaWxlc2hhcmUuZmlsZS5jb3JlLndpbmRvd3MubmV0L3Rlc3QtY2FjaGUgZ2l0ZmlsZXNoYXJlICIkR0lURklMRVNIQVJFUFdEIiAiJEhPTUUvdGVzdC1jYWNoZSIgfHwgZXhpdCAxCisKKyAgICAgICBjaS9pbnN0YWxsLWRlcGVuZGVuY2llcy5zaCB8fCBleGl0IDEKKyAgICAgICBjaS9ydW4tYnVpbGQtYW5kLXRlc3RzLnNoIHx8IHsKKyAgICAgICAgICAgY2kvcHJpbnQtdGVzdC1mYWlsdXJlcy5zaAorICAgICAgICAgICBleGl0IDEKKyAgICAgICB9CisKKyAgICAgICB0ZXN0ICIkR0lURklMRVNIQVJFUFdEIiA9ICckKGdpdGZpbGVzaGFyZS5wd2QpJyB8fCB1bW91bnQgIiRIT01FL3Rlc3QtY2FjaGUiIHx8IGV4aXQgMQorICAgIGRpc3BsYXlOYW1lOiAnY2kvcnVuLWJ1aWxkLWFuZC10ZXN0cy5zaCcKKyAgICBlbnY6CisgICAgICBHSVRGSUxFU0hBUkVQV0Q6ICQoZ2l0ZmlsZXNoYXJlLnB3ZCkKKyAgLSB0YXNrOiBQdWJsaXNoVGVzdFJlc3VsdHNAMgorICAgIGRpc3BsYXlOYW1lOiAnUHVibGlzaCBUZXN0IFJlc3VsdHMgKiovVEVTVC0qLnhtbCcKKyAgICBpbnB1dHM6CisgICAgICBtZXJnZVRlc3RSZXN1bHRzOiB0cnVlCisgICAgICB0ZXN0UnVuVGl0bGU6ICdvc3gtZ2NjJworICAgICAgcGxhdGZvcm06IG1hY09TCisgICAgICBwdWJsaXNoUnVuQXR0YWNobWVudHM6IGZhbHNlCisgICAgY29uZGl0aW9uOiBzdWNjZWVkZWRPckZhaWxlZCgpCisgIC0gdGFzazogUHVibGlzaEJ1aWxkQXJ0aWZhY3RzQDEKKyAgICBkaXNwbGF5TmFtZTogJ1B1Ymxpc2ggdHJhc2ggZGlyZWN0b3JpZXMgb2YgZmFpbGVkIHRlc3RzJworICAgIGNvbmRpdGlvbjogZmFpbGVkKCkKKyAgICBpbnB1dHM6CisgICAgICBQYXRodG9QdWJsaXNoOiB0L2ZhaWxlZC10ZXN0LWFydGlmYWN0cworICAgICAgQXJ0aWZhY3ROYW1lOiBmYWlsZWQtdGVzdC1hcnRpZmFjdHMKKworLSBqb2I6IGdldHRleHRfcG9pc29uCisgIGRpc3BsYXlOYW1lOiBHRVRURVhUX1BPSVNPTgorICBjb25kaXRpb246IHN1Y2NlZWRlZCgpCisgIHBvb2w6CisgICAgdm1JbWFnZTogdWJ1bnR1LWxhdGVzdAorICBzdGVwczoKKyAgLSBiYXNoOiB8CisgICAgICAgdGVzdCAiJEdJVEZJTEVTSEFSRVBXRCIgPSAnJChnaXRmaWxlc2hhcmUucHdkKScgfHwgY2kvbW91bnQtZmlsZXNoYXJlLnNoIC8vZ2l0ZmlsZXNoYXJlLmZpbGUuY29yZS53aW5kb3dzLm5ldC90ZXN0LWNhY2hlIGdpdGZpbGVzaGFyZSAiJEdJVEZJTEVTSEFSRVBXRCIgIiRIT01FL3Rlc3QtY2FjaGUiIHx8IGV4aXQgMQorCisgICAgICAgc3VkbyBhcHQtZ2V0IHVwZGF0ZSAmJgorICAgICAgIHN1ZG8gYXB0LWdldCAteSBpbnN0YWxsIGdpdCBnY2MgbWFrZSBsaWJzc2wtZGV2IGxpYmN1cmw0LW9wZW5zc2wtZGV2IGxpYmV4cGF0LWRldiB0Y2wgdGsgZ2V0dGV4dCBnaXQtZW1haWwgemxpYjFnLWRldiAmJgorCisgICAgICAgZXhwb3J0IGpvYm5hbWU9R0VUVEVYVF9QT0lTT04gfHwgZXhpdCAxCisKKyAgICAgICBjaS9ydW4tYnVpbGQtYW5kLXRlc3RzLnNoIHx8IHsKKyAgICAgICAgICAgY2kvcHJpbnQtdGVzdC1mYWlsdXJlcy5zaAorICAgICAgICAgICBleGl0IDEKKyAgICAgICB9CisKKyAgICAgICB0ZXN0ICIkR0lURklMRVNIQVJFUFdEIiA9ICckKGdpdGZpbGVzaGFyZS5wd2QpJyB8fCBzdWRvIHVtb3VudCAiJEhPTUUvdGVzdC1jYWNoZSIgfHwgZXhpdCAxCisgICAgZGlzcGxheU5hbWU6ICdjaS9ydW4tYnVpbGQtYW5kLXRlc3RzLnNoJworICAgIGVudjoKKyAgICAgIEdJVEZJTEVTSEFSRVBXRDogJChnaXRmaWxlc2hhcmUucHdkKQorICAtIHRhc2s6IFB1Ymxpc2hUZXN0UmVzdWx0c0AyCisgICAgZGlzcGxheU5hbWU6ICdQdWJsaXNoIFRlc3QgUmVzdWx0cyAqKi9URVNULSoueG1sJworICAgIGlucHV0czoKKyAgICAgIG1lcmdlVGVzdFJlc3VsdHM6IHRydWUKKyAgICAgIHRlc3RSdW5UaXRsZTogJ2dldHRleHQtcG9pc29uJworICAgICAgcGxhdGZvcm06IExpbnV4CisgICAgICBwdWJsaXNoUnVuQXR0YWNobWVudHM6IGZhbHNlCisgICAgY29uZGl0aW9uOiBzdWNjZWVkZWRPckZhaWxlZCgpCisgIC0gdGFzazogUHVibGlzaEJ1aWxkQXJ0aWZhY3RzQDEKKyAgICBkaXNwbGF5TmFtZTogJ1B1Ymxpc2ggdHJhc2ggZGlyZWN0b3JpZXMgb2YgZmFpbGVkIHRlc3RzJworICAgIGNvbmRpdGlvbjogZmFpbGVkKCkKKyAgICBpbnB1dHM6CisgICAgICBQYXRodG9QdWJsaXNoOiB0L2ZhaWxlZC10ZXN0LWFydGlmYWN0cworICAgICAgQXJ0aWZhY3ROYW1lOiBmYWlsZWQtdGVzdC1hcnRpZmFjdHMKKworLSBqb2I6IGxpbnV4MzIKKyAgZGlzcGxheU5hbWU6IExpbnV4MzIKKyAgY29uZGl0aW9uOiBzdWNjZWVkZWQoKQorICBwb29sOgorICAgIHZtSW1hZ2U6IHVidW50dS1sYXRlc3QKKyAgc3RlcHM6CisgIC0gYmFzaDogfAorICAgICAgIHRlc3QgIiRHSVRGSUxFU0hBUkVQV0QiID0gJyQoZ2l0ZmlsZXNoYXJlLnB3ZCknIHx8IGNpL21vdW50LWZpbGVzaGFyZS5zaCAvL2dpdGZpbGVzaGFyZS5maWxlLmNvcmUud2luZG93cy5uZXQvdGVzdC1jYWNoZSBnaXRmaWxlc2hhcmUgIiRHSVRGSUxFU0hBUkVQV0QiICIkSE9NRS90ZXN0LWNhY2hlIiB8fCBleGl0IDEKKworICAgICAgIHJlcz0wCisgICAgICAgc3VkbyBBR0VOVF9PUz0iJEFHRU5UX09TIiBCVUlMRF9CVUlMRE5VTUJFUj0iJEJVSUxEX0JVSUxETlVNQkVSIiBCVUlMRF9SRVBPU0lUT1JZX1VSST0iJEJVSUxEX1JFUE9TSVRPUllfVVJJIiBCVUlMRF9TT1VSQ0VCUkFOQ0g9IiRCVUlMRF9TT1VSQ0VCUkFOQ0giIEJVSUxEX1NPVVJDRVZFUlNJT049IiRCVUlMRF9TT1VSQ0VWRVJTSU9OIiBTWVNURU1fUEhBU0VOQU1FPSIkU1lTVEVNX1BIQVNFTkFNRSIgU1lTVEVNX1RBU0tERUZJTklUSU9OU1VSST0iJFNZU1RFTV9UQVNLREVGSU5JVElPTlNVUkkiIFNZU1RFTV9URUFNUFJPSkVDVD0iJFNZU1RFTV9URUFNUFJPSkVDVCIgQ0M9JENDIE1BS0VGTEFHUz0iJE1BS0VGTEFHUyIgYmFzaCAtbHhjIGNpL3J1bi1saW51eDMyLWRvY2tlci5zaCB8fCByZXM9MQorCisgICAgICAgc3VkbyBjaG1vZCBhK3IgdC9vdXQvVEVTVC0qLnhtbAorICAgICAgIHRlc3QgISAtZCB0L2ZhaWxlZC10ZXN0LWFydGlmYWN0cyB8fCBzdWRvIGNobW9kIGErciB0L2ZhaWxlZC10ZXN0LWFydGlmYWN0cworCisgICAgICAgdGVzdCAiJEdJVEZJTEVTSEFSRVBXRCIgPSAnJChnaXRmaWxlc2hhcmUucHdkKScgfHwgc3VkbyB1bW91bnQgIiRIT01FL3Rlc3QtY2FjaGUiIHx8IHJlcz0xCisgICAgICAgZXhpdCAkcmVzCisgICAgZGlzcGxheU5hbWU6ICdjaS9ydW4tbGludXgzMi1kb2NrZXIuc2gnCisgICAgZW52OgorICAgICAgR0lURklMRVNIQVJFUFdEOiAkKGdpdGZpbGVzaGFyZS5wd2QpCisgIC0gdGFzazogUHVibGlzaFRlc3RSZXN1bHRzQDIKKyAgICBkaXNwbGF5TmFtZTogJ1B1Ymxpc2ggVGVzdCBSZXN1bHRzICoqL1RFU1QtKi54bWwnCisgICAgaW5wdXRzOgorICAgICAgbWVyZ2VUZXN0UmVzdWx0czogdHJ1ZQorICAgICAgdGVzdFJ1blRpdGxlOiAnbGludXgzMicKKyAgICAgIHBsYXRmb3JtOiBMaW51eAorICAgICAgcHVibGlzaFJ1bkF0dGFjaG1lbnRzOiBmYWxzZQorICAgIGNvbmRpdGlvbjogc3VjY2VlZGVkT3JGYWlsZWQoKQorICAtIHRhc2s6IFB1Ymxpc2hCdWlsZEFydGlmYWN0c0AxCisgICAgZGlzcGxheU5hbWU6ICdQdWJsaXNoIHRyYXNoIGRpcmVjdG9yaWVzIG9mIGZhaWxlZCB0ZXN0cycKKyAgICBjb25kaXRpb246IGZhaWxlZCgpCisgICAgaW5wdXRzOgorICAgICAgUGF0aHRvUHVibGlzaDogdC9mYWlsZWQtdGVzdC1hcnRpZmFjdHMKKyAgICAgIEFydGlmYWN0TmFtZTogZmFpbGVkLXRlc3QtYXJ0aWZhY3RzCisKKy0gam9iOiBzdGF0aWNfYW5hbHlzaXMKKyAgZGlzcGxheU5hbWU6IFN0YXRpY0FuYWx5c2lzCisgIGNvbmRpdGlvbjogc3VjY2VlZGVkKCkKKyAgcG9vbDoKKyAgICB2bUltYWdlOiB1YnVudHUtbGF0ZXN0CisgIHN0ZXBzOgorICAtIGJhc2g6IHwKKyAgICAgICB0ZXN0ICIkR0lURklMRVNIQVJFUFdEIiA9ICckKGdpdGZpbGVzaGFyZS5wd2QpJyB8fCBjaS9tb3VudC1maWxlc2hhcmUuc2ggLy9naXRmaWxlc2hhcmUuZmlsZS5jb3JlLndpbmRvd3MubmV0L3Rlc3QtY2FjaGUgZ2l0ZmlsZXNoYXJlICIkR0lURklMRVNIQVJFUFdEIiAiJEhPTUUvdGVzdC1jYWNoZSIgfHwgZXhpdCAxCisKKyAgICAgICBzdWRvIGFwdC1nZXQgdXBkYXRlICYmCisgICAgICAgc3VkbyBhcHQtZ2V0IGluc3RhbGwgLXkgY29jY2luZWxsZSBsaWJjdXJsNC1vcGVuc3NsLWRldiBsaWJzc2wtZGV2IGxpYmV4cGF0LWRldiBnZXR0ZXh0ICYmCisKKyAgICAgICBleHBvcnQgam9ibmFtZT1TdGF0aWNBbmFseXNpcyAmJgorCisgICAgICAgY2kvcnVuLXN0YXRpYy1hbmFseXNpcy5zaCB8fCBleGl0IDEKKworICAgICAgIHRlc3QgIiRHSVRGSUxFU0hBUkVQV0QiID0gJyQoZ2l0ZmlsZXNoYXJlLnB3ZCknIHx8IHN1ZG8gdW1vdW50ICIkSE9NRS90ZXN0LWNhY2hlIiB8fCBleGl0IDEKKyAgICBkaXNwbGF5TmFtZTogJ2NpL3J1bi1zdGF0aWMtYW5hbHlzaXMuc2gnCisgICAgZW52OgorICAgICAgR0lURklMRVNIQVJFUFdEOiAkKGdpdGZpbGVzaGFyZS5wd2QpCisKKy0gam9iOiBkb2N1bWVudGF0aW9uCisgIGRpc3BsYXlOYW1lOiBEb2N1bWVudGF0aW9uCisgIGNvbmRpdGlvbjogc3VjY2VlZGVkKCkKKyAgcG9vbDoKKyAgICB2bUltYWdlOiB1YnVudHUtbGF0ZXN0CisgIHN0ZXBzOgorICAtIGJhc2g6IHwKKyAgICAgICB0ZXN0ICIkR0lURklMRVNIQVJFUFdEIiA9ICckKGdpdGZpbGVzaGFyZS5wd2QpJyB8fCBjaS9tb3VudC1maWxlc2hhcmUuc2ggLy9naXRmaWxlc2hhcmUuZmlsZS5jb3JlLndpbmRvd3MubmV0L3Rlc3QtY2FjaGUgZ2l0ZmlsZXNoYXJlICIkR0lURklMRVNIQVJFUFdEIiAiJEhPTUUvdGVzdC1jYWNoZSIgfHwgZXhpdCAxCisKKyAgICAgICBzdWRvIGFwdC1nZXQgdXBkYXRlICYmCisgICAgICAgc3VkbyBhcHQtZ2V0IGluc3RhbGwgLXkgYXNjaWlkb2MgeG1sdG8gYXNjaWlkb2N0b3IgZG9jYm9vay14c2wtbnMgJiYKKworICAgICAgIGV4cG9ydCBBTFJFQURZX0hBVkVfQVNDSUlET0NUT1I9eWVzLiAmJgorICAgICAgIGV4cG9ydCBqb2JuYW1lPURvY3VtZW50YXRpb24gJiYKKworICAgICAgIGNpL3Rlc3QtZG9jdW1lbnRhdGlvbi5zaCB8fCBleGl0IDEKKworICAgICAgIHRlc3QgIiRHSVRGSUxFU0hBUkVQV0QiID0gJyQoZ2l0ZmlsZXNoYXJlLnB3ZCknIHx8IHN1ZG8gdW1vdW50ICIkSE9NRS90ZXN0LWNhY2hlIiB8fCBleGl0IDEKKyAgICBkaXNwbGF5TmFtZTogJ2NpL3Rlc3QtZG9jdW1lbnRhdGlvbi5zaCcKKyAgICBlbnY6CisgICAgICBHSVRGSUxFU0hBUkVQV0Q6ICQoZ2l0ZmlsZXNoYXJlLnB3ZCkKZGlmZiAtLWdpdCBhL2Jhbm5lZC5oIGIvYmFubmVkLmgKaW5kZXggMjhmNTkzNy4uNjBhMThkNCAxMDA2NDQKLS0tIGEvYmFubmVkLmgKKysrIGIvYmFubmVkLmgKQEAgLTE2LDYgKzE2LDggQEAKICNkZWZpbmUgc3RyY2F0KHgseSkgQkFOTkVEKHN0cmNhdCkKICN1bmRlZiBzdHJuY3B5CiAjZGVmaW5lIHN0cm5jcHkoeCx5LG4pIEJBTk5FRChzdHJuY3B5KQorI3VuZGVmIHN0cm5jYXQKKyNkZWZpbmUgc3RybmNhdCh4LHksbikgQkFOTkVEKHN0cm5jYXQpCiAKICN1bmRlZiBzcHJpbnRmCiAjdW5kZWYgdnNwcmludGYKQEAgLTI0LDcgKzI2LDcgQEAKICNkZWZpbmUgdnNwcmludGYoLi4uKSBCQU5ORUQodnNwcmludGYpCiAjZWxzZQogI2RlZmluZSBzcHJpbnRmKGJ1ZixmbXQsYXJnKSBCQU5ORUQoc3ByaW50ZikKLSNkZWZpbmUgdnNwcmludGYoYnVmLGZtdCxhcmcpIEJBTk5FRChzcHJpbnRmKQorI2RlZmluZSB2c3ByaW50ZihidWYsZm10LGFyZykgQkFOTkVEKHZzcHJpbnRmKQogI2VuZGlmCiAKICNlbmRpZiAvKiBCQU5ORURfSCAqLwpkaWZmIC0tZ2l0IGEvYmlzZWN0LmMgYi9iaXNlY3QuYwppbmRleCA0ODc2NzVjLi45MTU0ZjgxIDEwMDY0NAotLS0gYS9iaXNlY3QuYworKysgYi9iaXNlY3QuYwpAQCAtNTU4LDcgKzU1OCw4IEBACiAgKiBpcyBpbmNyZWFzZWQgYnkgb25lIGJldHdlZW4gZWFjaCBjYWxsLCBidXQgdGhhdCBzaG91bGQgbm90IG1hdHRlcgogICogZm9yIHRoaXMgYXBwbGljYXRpb24uCiAgKi8KLXN0YXRpYyB1bnNpZ25lZCBnZXRfcHJuKHVuc2lnbmVkIGNvdW50KSB7CitzdGF0aWMgdW5zaWduZWQgZ2V0X3Bybih1bnNpZ25lZCBjb3VudCkKK3sKIAljb3VudCA9IGNvdW50ICogMTEwMzUxNTI0NSArIDEyMzQ1OwogCXJldHVybiAoY291bnQvNjU1MzYpICUgUFJOX01PRFVMTzsKIH0KQEAgLTU3MSw3ICs1NzIsNyBAQAogewogCWZsb2F0IGQsIHggPSB2YWw7CiAKLQlpZiAodmFsID09IDApCisJaWYgKCF2YWwpCiAJCXJldHVybiAwOwogCiAJZG8gewpAQCAtNjI2LDE0ICs2MjcsMTUgQEAKIAlyZXR1cm4gc2tpcF9hd2F5KGxpc3QsIGNvdW50KTsKIH0KIAotc3RhdGljIHZvaWQgYmlzZWN0X3Jldl9zZXR1cChzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIGNvbnN0IGNoYXIgKnByZWZpeCwKK3N0YXRpYyB2b2lkIGJpc2VjdF9yZXZfc2V0dXAoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCByZXZfaW5mbyAqcmV2cywKKwkJCSAgICAgY29uc3QgY2hhciAqcHJlZml4LAogCQkJICAgICBjb25zdCBjaGFyICpiYWRfZm9ybWF0LCBjb25zdCBjaGFyICpnb29kX2Zvcm1hdCwKIAkJCSAgICAgaW50IHJlYWRfcGF0aHMpCiB7CiAJc3RydWN0IGFyZ3ZfYXJyYXkgcmV2X2FyZ3YgPSBBUkdWX0FSUkFZX0lOSVQ7CiAJaW50IGk7CiAKLQlyZXBvX2luaXRfcmV2aXNpb25zKHRoZV9yZXBvc2l0b3J5LCByZXZzLCBwcmVmaXgpOworCXJlcG9faW5pdF9yZXZpc2lvbnMociwgcmV2cywgcHJlZml4KTsKIAlyZXZzLT5hYmJyZXYgPSAwOwogCXJldnMtPmNvbW1pdF9mb3JtYXQgPSBDTUlUX0ZNVF9VTlNQRUNJRklFRDsKIApAQCAtNjU2LDE0ICs2NTgsMTQgQEAKIAlpZiAocHJlcGFyZV9yZXZpc2lvbl93YWxrKHJldnMpKQogCQlkaWUoInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIik7CiAJaWYgKHJldnMtPnRyZWVfb2JqZWN0cykKLQkJbWFya19lZGdlc191bmludGVyZXN0aW5nKHJldnMsIE5VTEwpOworCQltYXJrX2VkZ2VzX3VuaW50ZXJlc3RpbmcocmV2cywgTlVMTCwgMCk7CiB9CiAKLXN0YXRpYyB2b2lkIGV4aXRfaWZfc2tpcHBlZF9jb21taXRzKHN0cnVjdCBjb21taXRfbGlzdCAqdHJpZWQsCitzdGF0aWMgZW51bSBiaXNlY3RfZXJyb3IgZXJyb3JfaWZfc2tpcHBlZF9jb21taXRzKHN0cnVjdCBjb21taXRfbGlzdCAqdHJpZWQsCiAJCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmJhZCkKIHsKIAlpZiAoIXRyaWVkKQotCQlyZXR1cm47CisJCXJldHVybiBCSVNFQ1RfT0s7CiAKIAlwcmludGYoIlRoZXJlIGFyZSBvbmx5ICdza2lwJ3BlZCBjb21taXRzIGxlZnQgdG8gdGVzdC5cbiIKIAkgICAgICAgIlRoZSBmaXJzdCAlcyBjb21taXQgY291bGQgYmUgYW55IG9mOlxuIiwgdGVybV9iYWQpOwpAQCAtNjc0LDcgKzY3Niw4IEBACiAJaWYgKGJhZCkKIAkJcHJpbnRmKCIlc1xuIiwgb2lkX3RvX2hleChiYWQpKTsKIAlwcmludGYoXygiV2UgY2Fubm90IGJpc2VjdCBtb3JlIVxuIikpOwotCWV4aXQoMik7CisKKwlyZXR1cm4gQklTRUNUX09OTFlfU0tJUFBFRF9MRUZUOwogfQogCiBzdGF0aWMgaW50IGlzX2V4cGVjdGVkX3Jldihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCkBAIC03MDEsMTEgKzcwNCwxMiBAQAogCXJldHVybiByZXM7CiB9CiAKLXN0YXRpYyBpbnQgYmlzZWN0X2NoZWNrb3V0KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmJpc2VjdF9yZXYsIGludCBub19jaGVja291dCkKK3N0YXRpYyBlbnVtIGJpc2VjdF9lcnJvciBiaXNlY3RfY2hlY2tvdXQoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqYmlzZWN0X3JldiwgaW50IG5vX2NoZWNrb3V0KQogewogCWNoYXIgYmlzZWN0X3Jldl9oZXhbR0lUX01BWF9IRVhTWiArIDFdOworCWVudW0gYmlzZWN0X2Vycm9yIHJlcyA9IEJJU0VDVF9PSzsKIAotCW1lbWNweShiaXNlY3RfcmV2X2hleCwgb2lkX3RvX2hleChiaXNlY3RfcmV2KSwgR0lUX1NIQTFfSEVYU1ogKyAxKTsKKwltZW1jcHkoYmlzZWN0X3Jldl9oZXgsIG9pZF90b19oZXgoYmlzZWN0X3JldiksIHRoZV9oYXNoX2FsZ28tPmhleHN6ICsgMSk7CiAJdXBkYXRlX3JlZihOVUxMLCAiQklTRUNUX0VYUEVDVEVEX1JFViIsIGJpc2VjdF9yZXYsIE5VTEwsIDAsIFVQREFURV9SRUZTX0RJRV9PTl9FUlIpOwogCiAJYXJndl9jaGVja291dFsyXSA9IGJpc2VjdF9yZXZfaGV4OwpAQCAtNzEzLDM5ICs3MTcsNTEgQEAKIAkJdXBkYXRlX3JlZihOVUxMLCAiQklTRUNUX0hFQUQiLCBiaXNlY3RfcmV2LCBOVUxMLCAwLAogCQkJICAgVVBEQVRFX1JFRlNfRElFX09OX0VSUik7CiAJfSBlbHNlIHsKLQkJaW50IHJlczsKIAkJcmVzID0gcnVuX2NvbW1hbmRfdl9vcHQoYXJndl9jaGVja291dCwgUlVOX0dJVF9DTUQpOwogCQlpZiAocmVzKQotCQkJZXhpdChyZXMpOworCQkJLyoKKwkJCSAqIEVycm9ycyBpbiBgcnVuX2NvbW1hbmQoKWAgaXRzZWxmLCBzaWduYWxlZCBieSByZXMgPCAwLAorCQkJICogYW5kIGVycm9ycyBpbiB0aGUgY2hpbGQgcHJvY2Vzcywgc2lnbmFsZWQgYnkgcmVzID4gMAorCQkJICogY2FuIGJvdGggYmUgdHJlYXRlZCBhcyByZWd1bGFyIEJJU0VDVF9GQUlMVVJFICgtMSkuCisJCQkgKi8KKwkJCXJldHVybiAtYWJzKHJlcyk7CiAJfQogCiAJYXJndl9zaG93X2JyYW5jaFsxXSA9IGJpc2VjdF9yZXZfaGV4OwotCXJldHVybiBydW5fY29tbWFuZF92X29wdChhcmd2X3Nob3dfYnJhbmNoLCBSVU5fR0lUX0NNRCk7CisJcmVzID0gcnVuX2NvbW1hbmRfdl9vcHQoYXJndl9zaG93X2JyYW5jaCwgUlVOX0dJVF9DTUQpOworCS8qCisJICogRXJyb3JzIGluIGBydW5fY29tbWFuZCgpYCBpdHNlbGYsIHNpZ25hbGVkIGJ5IHJlcyA8IDAsCisJICogYW5kIGVycm9ycyBpbiB0aGUgY2hpbGQgcHJvY2Vzcywgc2lnbmFsZWQgYnkgcmVzID4gMAorCSAqIGNhbiBib3RoIGJlIHRyZWF0ZWQgYXMgcmVndWxhciBCSVNFQ1RfRkFJTFVSRSAoLTEpLgorCSAqLworCXJldHVybiAtYWJzKHJlcyk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgY29tbWl0ICpnZXRfY29tbWl0X3JlZmVyZW5jZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCitzdGF0aWMgc3RydWN0IGNvbW1pdCAqZ2V0X2NvbW1pdF9yZWZlcmVuY2Uoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJCSAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQlzdHJ1Y3QgY29tbWl0ICpyID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UodGhlX3JlcG9zaXRvcnksIG9pZCk7Ci0JaWYgKCFyKQorCXN0cnVjdCBjb21taXQgKmMgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShyLCBvaWQpOworCWlmICghYykKIAkJZGllKF8oIk5vdCBhIHZhbGlkIGNvbW1pdCBuYW1lICVzIiksIG9pZF90b19oZXgob2lkKSk7Ci0JcmV0dXJuIHI7CisJcmV0dXJuIGM7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgY29tbWl0ICoqZ2V0X2JhZF9hbmRfZ29vZF9jb21taXRzKGludCAqcmV2X25yKQorc3RhdGljIHN0cnVjdCBjb21taXQgKipnZXRfYmFkX2FuZF9nb29kX2NvbW1pdHMoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJCQlpbnQgKnJldl9ucikKIHsKIAlzdHJ1Y3QgY29tbWl0ICoqcmV2OwogCWludCBpLCBuID0gMDsKIAogCUFMTE9DX0FSUkFZKHJldiwgMSArIGdvb2RfcmV2cy5ucik7Ci0JcmV2W24rK10gPSBnZXRfY29tbWl0X3JlZmVyZW5jZShjdXJyZW50X2JhZF9vaWQpOworCXJldltuKytdID0gZ2V0X2NvbW1pdF9yZWZlcmVuY2UociwgY3VycmVudF9iYWRfb2lkKTsKIAlmb3IgKGkgPSAwOyBpIDwgZ29vZF9yZXZzLm5yOyBpKyspCi0JCXJldltuKytdID0gZ2V0X2NvbW1pdF9yZWZlcmVuY2UoZ29vZF9yZXZzLm9pZCArIGkpOworCQlyZXZbbisrXSA9IGdldF9jb21taXRfcmVmZXJlbmNlKHIsIGdvb2RfcmV2cy5vaWQgKyBpKTsKIAkqcmV2X25yID0gbjsKIAogCXJldHVybiByZXY7CiB9CiAKLXN0YXRpYyB2b2lkIGhhbmRsZV9iYWRfbWVyZ2VfYmFzZSh2b2lkKQorc3RhdGljIGVudW0gYmlzZWN0X2Vycm9yIGhhbmRsZV9iYWRfbWVyZ2VfYmFzZSh2b2lkKQogewogCWlmIChpc19leHBlY3RlZF9yZXYoY3VycmVudF9iYWRfb2lkKSkgewogCQljaGFyICpiYWRfaGV4ID0gb2lkX3RvX2hleChjdXJyZW50X2JhZF9vaWQpOwpAQCAtNzY2LDE0ICs3ODIsMTQgQEAKIAkJCQkiYmV0d2VlbiAlcyBhbmQgWyVzXS5cbiIpLAogCQkJCWJhZF9oZXgsIHRlcm1fYmFkLCB0ZXJtX2dvb2QsIGJhZF9oZXgsIGdvb2RfaGV4KTsKIAkJfQotCQlleGl0KDMpOworCQlyZXR1cm4gQklTRUNUX01FUkdFX0JBU0VfQ0hFQ0s7CiAJfQogCiAJZnByaW50ZihzdGRlcnIsIF8oIlNvbWUgJXMgcmV2cyBhcmUgbm90IGFuY2VzdG9ycyBvZiB0aGUgJXMgcmV2LlxuIgogCQkiZ2l0IGJpc2VjdCBjYW5ub3Qgd29yayBwcm9wZXJseSBpbiB0aGlzIGNhc2UuXG4iCiAJCSJNYXliZSB5b3UgbWlzdG9vayAlcyBhbmQgJXMgcmV2cz9cbiIpLAogCQl0ZXJtX2dvb2QsIHRlcm1fYmFkLCB0ZXJtX2dvb2QsIHRlcm1fYmFkKTsKLQlleGl0KDEpOworCXJldHVybiBCSVNFQ1RfRkFJTEVEOwogfQogCiBzdGF0aWMgdm9pZCBoYW5kbGVfc2tpcHBlZF9tZXJnZV9iYXNlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm1iKQpAQCAtNzk1LDEzICs4MTEsMTggQEAKICAqICJjaGVja19tZXJnZV9iYXNlcyIgY2hlY2tzIHRoYXQgbWVyZ2UgYmFzZXMgYXJlIG5vdCAiYmFkIiAob3IgIm5ldyIpLgogICoKICAqIC0gSWYgb25lIGlzICJiYWQiIChvciAibmV3IiksIGl0IG1lYW5zIHRoZSB1c2VyIGFzc3VtZWQgc29tZXRoaW5nIHdyb25nCi0gKiBhbmQgd2UgbXVzdCBleGl0IHdpdGggYSBub24gMCBlcnJvciBjb2RlLgorICogYW5kIHdlIG11c3QgcmV0dXJuIGVycm9yIHdpdGggYSBub24gMCBlcnJvciBjb2RlLgogICogLSBJZiBvbmUgaXMgImdvb2QiIChvciAib2xkIiksIHRoYXQncyBnb29kLCB3ZSBoYXZlIG5vdGhpbmcgdG8gZG8uCiAgKiAtIElmIG9uZSBpcyAic2tpcHBlZCIsIHdlIGNhbid0IGtub3cgYnV0IHdlIHNob3VsZCB3YXJuLgogICogLSBJZiB3ZSBkb24ndCBrbm93LCB3ZSBzaG91bGQgY2hlY2sgaXQgb3V0IGFuZCBhc2sgdGhlIHVzZXIgdG8gdGVzdC4KKyAqIC0gSWYgYSBtZXJnZSBiYXNlIG11c3QgYmUgdGVzdGVkLCBvbiBzdWNjZXNzIHJldHVybgorICogQklTRUNUX0lOVEVSTkFMX1NVQ0NFU1NfTUVSR0VfQkFTRSAoLTExKSBhIHNwZWNpYWwgY29uZGl0aW9uCisgKiBmb3IgZWFybHkgc3VjY2VzcywgdGhpcyB3aWxsIGJlIGNvbnZlcnRlZCBiYWNrIHRvIDAgaW4KKyAqIGNoZWNrX2dvb2RfYXJlX2FuY2VzdG9yc19vZl9iYWQoKS4KICAqLwotc3RhdGljIHZvaWQgY2hlY2tfbWVyZ2VfYmFzZXMoaW50IHJldl9uciwgc3RydWN0IGNvbW1pdCAqKnJldiwgaW50IG5vX2NoZWNrb3V0KQorc3RhdGljIGVudW0gYmlzZWN0X2Vycm9yIGNoZWNrX21lcmdlX2Jhc2VzKGludCByZXZfbnIsIHN0cnVjdCBjb21taXQgKipyZXYsIGludCBub19jaGVja291dCkKIHsKKwllbnVtIGJpc2VjdF9lcnJvciByZXMgPSBCSVNFQ1RfT0s7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpyZXN1bHQ7CiAKIAlyZXN1bHQgPSBnZXRfbWVyZ2VfYmFzZXNfbWFueShyZXZbMF0sIHJldl9uciAtIDEsIHJldiArIDEpOwpAQCAtODA5LDI2ICs4MzAsMzMgQEAKIAlmb3IgKDsgcmVzdWx0OyByZXN1bHQgPSByZXN1bHQtPm5leHQpIHsKIAkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqbWIgPSAmcmVzdWx0LT5pdGVtLT5vYmplY3Qub2lkOwogCQlpZiAob2lkZXEobWIsIGN1cnJlbnRfYmFkX29pZCkpIHsKLQkJCWhhbmRsZV9iYWRfbWVyZ2VfYmFzZSgpOworCQkJcmVzID0gaGFuZGxlX2JhZF9tZXJnZV9iYXNlKCk7CisJCQlicmVhazsKIAkJfSBlbHNlIGlmICgwIDw9IG9pZF9hcnJheV9sb29rdXAoJmdvb2RfcmV2cywgbWIpKSB7CiAJCQljb250aW51ZTsKIAkJfSBlbHNlIGlmICgwIDw9IG9pZF9hcnJheV9sb29rdXAoJnNraXBwZWRfcmV2cywgbWIpKSB7CiAJCQloYW5kbGVfc2tpcHBlZF9tZXJnZV9iYXNlKG1iKTsKIAkJfSBlbHNlIHsKIAkJCXByaW50ZihfKCJCaXNlY3Rpbmc6IGEgbWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZFxuIikpOwotCQkJZXhpdChiaXNlY3RfY2hlY2tvdXQobWIsIG5vX2NoZWNrb3V0KSk7CisJCQlyZXMgPSBiaXNlY3RfY2hlY2tvdXQobWIsIG5vX2NoZWNrb3V0KTsKKwkJCWlmICghcmVzKQorCQkJCS8qIGluZGljYXRlIGVhcmx5IHN1Y2Nlc3MgKi8KKwkJCQlyZXMgPSBCSVNFQ1RfSU5URVJOQUxfU1VDQ0VTU19NRVJHRV9CQVNFOworCQkJYnJlYWs7CiAJCX0KIAl9CiAKIAlmcmVlX2NvbW1pdF9saXN0KHJlc3VsdCk7CisJcmV0dXJuIHJlczsKIH0KIAotc3RhdGljIGludCBjaGVja19hbmNlc3RvcnMoaW50IHJldl9uciwgc3RydWN0IGNvbW1pdCAqKnJldiwgY29uc3QgY2hhciAqcHJlZml4KQorc3RhdGljIGludCBjaGVja19hbmNlc3RvcnMoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGludCByZXZfbnIsCisJCQkgICBzdHJ1Y3QgY29tbWl0ICoqcmV2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJc3RydWN0IHJldl9pbmZvIHJldnM7CiAJaW50IHJlczsKIAotCWJpc2VjdF9yZXZfc2V0dXAoJnJldnMsIHByZWZpeCwgIl4lcyIsICIlcyIsIDApOworCWJpc2VjdF9yZXZfc2V0dXAociwgJnJldnMsIHByZWZpeCwgIl4lcyIsICIlcyIsIDApOwogCiAJYmlzZWN0X2NvbW1vbigmcmV2cyk7CiAJcmVzID0gKHJldnMuY29tbWl0cyAhPSBOVUxMKTsKQEAgLTg0NSw2NiArODczLDc2IEBACiAgKgogICogSWYgdGhhdCdzIG5vdCB0aGUgY2FzZSwgd2UgbmVlZCB0byBjaGVjayB0aGUgbWVyZ2UgYmFzZXMuCiAgKiBJZiBhIG1lcmdlIGJhc2UgbXVzdCBiZSB0ZXN0ZWQgYnkgdGhlIHVzZXIsIGl0cyBzb3VyY2UgY29kZSB3aWxsIGJlCi0gKiBjaGVja2VkIG91dCB0byBiZSB0ZXN0ZWQgYnkgdGhlIHVzZXIgYW5kIHdlIHdpbGwgZXhpdC4KKyAqIGNoZWNrZWQgb3V0IHRvIGJlIHRlc3RlZCBieSB0aGUgdXNlciBhbmQgd2Ugd2lsbCByZXR1cm4uCiAgKi8KLXN0YXRpYyB2b2lkIGNoZWNrX2dvb2RfYXJlX2FuY2VzdG9yc19vZl9iYWQoY29uc3QgY2hhciAqcHJlZml4LCBpbnQgbm9fY2hlY2tvdXQpCisKK3N0YXRpYyBlbnVtIGJpc2VjdF9lcnJvciBjaGVja19nb29kX2FyZV9hbmNlc3RvcnNfb2ZfYmFkKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCQkgICAgY29uc3QgY2hhciAqcHJlZml4LAorCQkJCQkgICAgaW50IG5vX2NoZWNrb3V0KQogewotCWNoYXIgKmZpbGVuYW1lID0gZ2l0X3BhdGhkdXAoIkJJU0VDVF9BTkNFU1RPUlNfT0siKTsKKwljaGFyICpmaWxlbmFtZTsKIAlzdHJ1Y3Qgc3RhdCBzdDsKIAlpbnQgZmQsIHJldl9ucjsKKwllbnVtIGJpc2VjdF9lcnJvciByZXMgPSBCSVNFQ1RfT0s7CiAJc3RydWN0IGNvbW1pdCAqKnJldjsKIAogCWlmICghY3VycmVudF9iYWRfb2lkKQotCQlkaWUoXygiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiKSwgdGVybV9iYWQpOworCQlyZXR1cm4gZXJyb3IoXygiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiKSwgdGVybV9iYWQpOworCisJZmlsZW5hbWUgPSBnaXRfcGF0aGR1cCgiQklTRUNUX0FOQ0VTVE9SU19PSyIpOwogCiAJLyogQ2hlY2sgaWYgZmlsZSBCSVNFQ1RfQU5DRVNUT1JTX09LIGV4aXN0cy4gKi8KIAlpZiAoIXN0YXQoZmlsZW5hbWUsICZzdCkgJiYgU19JU1JFRyhzdC5zdF9tb2RlKSkKIAkJZ290byBkb25lOwogCiAJLyogQmlzZWN0aW5nIHdpdGggbm8gZ29vZCByZXYgaXMgb2suICovCi0JaWYgKGdvb2RfcmV2cy5uciA9PSAwKQorCWlmICghZ29vZF9yZXZzLm5yKQogCQlnb3RvIGRvbmU7CiAKIAkvKiBDaGVjayBpZiBhbGwgZ29vZCByZXZzIGFyZSBhbmNlc3RvciBvZiB0aGUgYmFkIHJldi4gKi8KLQlyZXYgPSBnZXRfYmFkX2FuZF9nb29kX2NvbW1pdHMoJnJldl9ucik7Ci0JaWYgKGNoZWNrX2FuY2VzdG9ycyhyZXZfbnIsIHJldiwgcHJlZml4KSkKLQkJY2hlY2tfbWVyZ2VfYmFzZXMocmV2X25yLCByZXYsIG5vX2NoZWNrb3V0KTsKKworCXJldiA9IGdldF9iYWRfYW5kX2dvb2RfY29tbWl0cyhyLCAmcmV2X25yKTsKKwlpZiAoY2hlY2tfYW5jZXN0b3JzKHIsIHJldl9uciwgcmV2LCBwcmVmaXgpKQorCQlyZXMgPSBjaGVja19tZXJnZV9iYXNlcyhyZXZfbnIsIHJldiwgbm9fY2hlY2tvdXQpOwogCWZyZWUocmV2KTsKIAotCS8qIENyZWF0ZSBmaWxlIEJJU0VDVF9BTkNFU1RPUlNfT0suICovCi0JZmQgPSBvcGVuKGZpbGVuYW1lLCBPX0NSRUFUIHwgT19UUlVOQyB8IE9fV1JPTkxZLCAwNjAwKTsKLQlpZiAoZmQgPCAwKQotCQl3YXJuaW5nX2Vycm5vKF8oImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIiksCi0JCQkgICAgICBmaWxlbmFtZSk7Ci0JZWxzZQotCQljbG9zZShmZCk7CisJaWYgKCFyZXMpIHsKKwkJLyogQ3JlYXRlIGZpbGUgQklTRUNUX0FOQ0VTVE9SU19PSy4gKi8KKwkJZmQgPSBvcGVuKGZpbGVuYW1lLCBPX0NSRUFUIHwgT19UUlVOQyB8IE9fV1JPTkxZLCAwNjAwKTsKKwkJaWYgKGZkIDwgMCkKKwkJCS8qCisJCQkgKiBCSVNFQ1RfQU5DRVNUT1JTX09LIGZpbGUgaXMgbm90IGFic29sdXRlbHkgbmVjZXNzYXJ5LAorCQkJICogdGhlIGJpc2VjdGlvbiBwcm9jZXNzIHdpbGwgY29udGludWUgYXQgdGhlIG5leHQKKwkJCSAqIGJpc2VjdGlvbiBzdGVwLgorCQkJICogU28sIGp1c3Qgc2lnbmFsIHdpdGggYSB3YXJuaW5nIHRoYXQgc29tZXRoaW5nCisJCQkgKiBtaWdodCBiZSB3cm9uZy4KKwkJCSAqLworCQkJd2FybmluZ19lcnJubyhfKCJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIpLAorCQkJCWZpbGVuYW1lKTsKKwkJZWxzZQorCQkJY2xvc2UoZmQpOworCX0KICBkb25lOgogCWZyZWUoZmlsZW5hbWUpOworCXJldHVybiByZXM7CiB9CiAKIC8qCiAgKiBUaGlzIGRvZXMgImdpdCBkaWZmLXRyZWUgLS1wcmV0dHkgQ09NTUlUIiB3aXRob3V0IG9uZSBmb3JrK2V4ZWMuCiAgKi8KLXN0YXRpYyB2b2lkIHNob3dfZGlmZl90cmVlKGNvbnN0IGNoYXIgKnByZWZpeCwgc3RydWN0IGNvbW1pdCAqY29tbWl0KQorc3RhdGljIHZvaWQgc2hvd19kaWZmX3RyZWUoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgICBjb25zdCBjaGFyICpwcmVmaXgsCisJCQkgICBzdHJ1Y3QgY29tbWl0ICpjb21taXQpCiB7CisJY29uc3QgY2hhciAqYXJndltdID0geworCQkiZGlmZi10cmVlIiwgIi0tcHJldHR5IiwgIi0tc3RhdCIsICItLXN1bW1hcnkiLCAiLS1jYyIsIE5VTEwKKwl9OwogCXN0cnVjdCByZXZfaW5mbyBvcHQ7CiAKLQkvKiBkaWZmLXRyZWUgaW5pdCAqLwotCXJlcG9faW5pdF9yZXZpc2lvbnModGhlX3JlcG9zaXRvcnksICZvcHQsIHByZWZpeCk7Ci0JZ2l0X2NvbmZpZyhnaXRfZGlmZl9iYXNpY19jb25maWcsIE5VTEwpOyAvKiBubyAiZGlmZiIgVUkgb3B0aW9ucyAqLwotCW9wdC5hYmJyZXYgPSAwOwotCW9wdC5kaWZmID0gMTsKKwlnaXRfY29uZmlnKGdpdF9kaWZmX3VpX2NvbmZpZywgTlVMTCk7CisJcmVwb19pbml0X3JldmlzaW9ucyhyLCAmb3B0LCBwcmVmaXgpOwogCi0JLyogVGhpcyBpcyB3aGF0ICItLXByZXR0eSIgZG9lcyAqLwotCW9wdC52ZXJib3NlX2hlYWRlciA9IDE7Ci0Jb3B0LnVzZV90ZXJtaW5hdG9yID0gMDsKLQlvcHQuY29tbWl0X2Zvcm1hdCA9IENNSVRfRk1UX0RFRkFVTFQ7Ci0KLQkvKiBkaWZmLXRyZWUgaW5pdCAqLwotCWlmICghb3B0LmRpZmZvcHQub3V0cHV0X2Zvcm1hdCkKLQkJb3B0LmRpZmZvcHQub3V0cHV0X2Zvcm1hdCA9IERJRkZfRk9STUFUX1JBVzsKLQotCXNldHVwX3JldmlzaW9ucygwLCBOVUxMLCAmb3B0LCBOVUxMKTsKKwlzZXR1cF9yZXZpc2lvbnMoQVJSQVlfU0laRShhcmd2KSAtIDEsIGFyZ3YsICZvcHQsIE5VTEwpOwogCWxvZ190cmVlX2NvbW1pdCgmb3B0LCBjb21taXQpOwogfQogCkBAIC05MzgsMTggKzk3NiwxOSBAQAogfQogCiAvKgotICogV2UgdXNlIHRoZSBjb252ZW50aW9uIHRoYXQgZXhpdGluZyB3aXRoIGFuIGV4aXQgY29kZSAxMCBtZWFucyB0aGF0CisgKiBXZSB1c2UgdGhlIGNvbnZlbnRpb24gdGhhdCByZXR1cm4gQklTRUNUX0lOVEVSTkFMX1NVQ0NFU1NfMVNUX0JBRF9GT1VORCAoLTEwKSBtZWFucwogICogdGhlIGJpc2VjdGlvbiBwcm9jZXNzIGZpbmlzaGVkIHN1Y2Nlc3NmdWxseS4KLSAqIEluIHRoaXMgY2FzZSB0aGUgY2FsbGluZyBzaGVsbCBzY3JpcHQgc2hvdWxkIGV4aXQgMC4KLSAqCisgKiBJbiB0aGlzIGNhc2UgdGhlIGNhbGxpbmcgZnVuY3Rpb24gb3IgY29tbWFuZCBzaG91bGQgbm90IHR1cm4gYQorICogQklTRUNUX0lOVEVSTkFMX1NVQ0NFU1NfMVNUX0JBRF9GT1VORCByZXR1cm4gY29kZSBpbnRvIGFuIGVycm9yIG9yIGEgbm9uIHplcm8gZXhpdCBjb2RlLgogICogSWYgbm9fY2hlY2tvdXQgaXMgbm9uLXplcm8sIHRoZSBiaXNlY3Rpb24gcHJvY2VzcyBkb2VzIG5vdAogICogY2hlY2tvdXQgdGhlIHRyaWFsIGNvbW1pdCBidXQgaW5zdGVhZCBzaW1wbHkgdXBkYXRlcyBCSVNFQ1RfSEVBRC4KICAqLwotaW50IGJpc2VjdF9uZXh0X2FsbChjb25zdCBjaGFyICpwcmVmaXgsIGludCBub19jaGVja291dCkKK2VudW0gYmlzZWN0X2Vycm9yIGJpc2VjdF9uZXh0X2FsbChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqcHJlZml4LCBpbnQgbm9fY2hlY2tvdXQpCiB7CiAJc3RydWN0IHJldl9pbmZvIHJldnM7CiAJc3RydWN0IGNvbW1pdF9saXN0ICp0cmllZDsKIAlpbnQgcmVhY2hlcyA9IDAsIGFsbCA9IDAsIG5yLCBzdGVwczsKKwllbnVtIGJpc2VjdF9lcnJvciByZXMgPSBCSVNFQ1RfT0s7CiAJc3RydWN0IG9iamVjdF9pZCAqYmlzZWN0X3JldjsKIAljaGFyICpzdGVwc19tc2c7CiAKQEAgLTk1Nyw5ICs5OTYsMTEgQEAKIAlpZiAocmVhZF9iaXNlY3RfcmVmcygpKQogCQlkaWUoXygicmVhZGluZyBiaXNlY3QgcmVmcyBmYWlsZWQiKSk7CiAKLQljaGVja19nb29kX2FyZV9hbmNlc3RvcnNfb2ZfYmFkKHByZWZpeCwgbm9fY2hlY2tvdXQpOworCXJlcyA9IGNoZWNrX2dvb2RfYXJlX2FuY2VzdG9yc19vZl9iYWQociwgcHJlZml4LCBub19jaGVja291dCk7CisJaWYgKHJlcykKKwkJcmV0dXJuIHJlczsKIAotCWJpc2VjdF9yZXZfc2V0dXAoJnJldnMsIHByZWZpeCwgIiVzIiwgIl4lcyIsIDEpOworCWJpc2VjdF9yZXZfc2V0dXAociwgJnJldnMsIHByZWZpeCwgIiVzIiwgIl4lcyIsIDEpOwogCXJldnMubGltaXRlZCA9IDE7CiAKIAliaXNlY3RfY29tbW9uKCZyZXZzKTsKQEAgLTk2OSwzMyArMTAxMCw0NSBAQAogCiAJaWYgKCFyZXZzLmNvbW1pdHMpIHsKIAkJLyoKLQkJICogV2Ugc2hvdWxkIGV4aXQgaGVyZSBvbmx5IGlmIHRoZSAiYmFkIgorCQkgKiBXZSBzaG91bGQgcmV0dXJuIGVycm9yIGhlcmUgb25seSBpZiB0aGUgImJhZCIKIAkJICogY29tbWl0IGlzIGFsc28gYSAic2tpcCIgY29tbWl0LgogCQkgKi8KLQkJZXhpdF9pZl9za2lwcGVkX2NvbW1pdHModHJpZWQsIE5VTEwpOwotCisJCXJlcyA9IGVycm9yX2lmX3NraXBwZWRfY29tbWl0cyh0cmllZCwgTlVMTCk7CisJCWlmIChyZXMgPCAwKQorCQkJcmV0dXJuIHJlczsKIAkJcHJpbnRmKF8oIiVzIHdhcyBib3RoICVzIGFuZCAlc1xuIiksCiAJCSAgICAgICBvaWRfdG9faGV4KGN1cnJlbnRfYmFkX29pZCksCiAJCSAgICAgICB0ZXJtX2dvb2QsCiAJCSAgICAgICB0ZXJtX2JhZCk7Ci0JCWV4aXQoMSk7CisKKwkJcmV0dXJuIEJJU0VDVF9GQUlMRUQ7CiAJfQogCiAJaWYgKCFhbGwpIHsKIAkJZnByaW50ZihzdGRlcnIsIF8oIk5vIHRlc3RhYmxlIGNvbW1pdCBmb3VuZC5cbiIKIAkJCSJNYXliZSB5b3Ugc3RhcnRlZCB3aXRoIGJhZCBwYXRoIHBhcmFtZXRlcnM/XG4iKSk7Ci0JCWV4aXQoNCk7CisKKwkJcmV0dXJuIEJJU0VDVF9OT19URVNUQUJMRV9DT01NSVQ7CiAJfQogCiAJYmlzZWN0X3JldiA9ICZyZXZzLmNvbW1pdHMtPml0ZW0tPm9iamVjdC5vaWQ7CiAKIAlpZiAob2lkZXEoYmlzZWN0X3JldiwgY3VycmVudF9iYWRfb2lkKSkgewotCQlleGl0X2lmX3NraXBwZWRfY29tbWl0cyh0cmllZCwgY3VycmVudF9iYWRfb2lkKTsKKwkJcmVzID0gZXJyb3JfaWZfc2tpcHBlZF9jb21taXRzKHRyaWVkLCBjdXJyZW50X2JhZF9vaWQpOworCQlpZiAocmVzKQorCQkJcmV0dXJuIHJlczsKIAkJcHJpbnRmKCIlcyBpcyB0aGUgZmlyc3QgJXMgY29tbWl0XG4iLCBvaWRfdG9faGV4KGJpc2VjdF9yZXYpLAogCQkJdGVybV9iYWQpOwotCQlzaG93X2RpZmZfdHJlZShwcmVmaXgsIHJldnMuY29tbWl0cy0+aXRlbSk7Ci0JCS8qIFRoaXMgbWVhbnMgdGhlIGJpc2VjdGlvbiBwcm9jZXNzIHN1Y2NlZWRlZC4gKi8KLQkJZXhpdCgxMCk7CisKKwkJc2hvd19kaWZmX3RyZWUociwgcHJlZml4LCByZXZzLmNvbW1pdHMtPml0ZW0pOworCQkvKgorCQkgKiBUaGlzIG1lYW5zIHRoZSBiaXNlY3Rpb24gcHJvY2VzcyBzdWNjZWVkZWQuCisJCSAqIFVzaW5nIEJJU0VDVF9JTlRFUk5BTF9TVUNDRVNTXzFTVF9CQURfRk9VTkQgKC0xMCkKKwkJICogc28gdGhhdCB0aGUgY2FsbCBjaGFpbiBjYW4gc2ltcGx5IGNoZWNrCisJCSAqIGZvciBuZWdhdGl2ZSByZXR1cm4gdmFsdWVzIGZvciBlYXJseSByZXR1cm5zIHVwCisJCSAqIHVudGlsIHRoZSBjbWRfYmlzZWN0X19oZWxwZXIoKSBjYWxsZXIuCisJCSAqLworCQlyZXR1cm4gQklTRUNUX0lOVEVSTkFMX1NVQ0NFU1NfMVNUX0JBRF9GT1VORDsKIAl9CiAKIAluciA9IGFsbCAtIHJlYWNoZXMgLSAxOwpkaWZmIC0tZ2l0IGEvYmlzZWN0LmggYi9iaXNlY3QuaAppbmRleCAzNGRmMjA5Li44YmFkOGQ4IDEwMDY0NAotLS0gYS9iaXNlY3QuaAorKysgYi9iaXNlY3QuaApAQCAtMiw2ICsyLDcgQEAKICNkZWZpbmUgQklTRUNUX0gKIAogc3RydWN0IGNvbW1pdF9saXN0Oworc3RydWN0IHJlcG9zaXRvcnk7CiAKIC8qCiAgKiBGaW5kIGJpc2VjdGlvbi4gSWYgc29tZXRoaW5nIGlzIGZvdW5kLCBgcmVhY2hlc2Agd2lsbCBiZSB0aGUgbnVtYmVyIG9mCkBAIC0xMCwxNCArMTEsMTQgQEAKICAqIE90aGVyd2lzZSwgaXQgd2lsbCBiZSBlaXRoZXIgYWxsIG5vbi1TQU1FVFJFRSBjb21taXRzIG9yIHRoZSBzaW5nbGUKICAqIGJlc3QgY29tbWl0LCBhcyBjaG9zZW4gYnkgYGZpbmRfYWxsYC4KICAqLwotZXh0ZXJuIHZvaWQgZmluZF9iaXNlY3Rpb24oc3RydWN0IGNvbW1pdF9saXN0ICoqbGlzdCwgaW50ICpyZWFjaGVzLCBpbnQgKmFsbCwKLQkJCSAgIGludCBmaW5kX2FsbCk7Cit2b2lkIGZpbmRfYmlzZWN0aW9uKHN0cnVjdCBjb21taXRfbGlzdCAqKmxpc3QsIGludCAqcmVhY2hlcywgaW50ICphbGwsCisJCSAgICBpbnQgZmluZF9hbGwpOwogCi1leHRlcm4gc3RydWN0IGNvbW1pdF9saXN0ICpmaWx0ZXJfc2tpcHBlZChzdHJ1Y3QgY29tbWl0X2xpc3QgKmxpc3QsCi0JCQkJCSAgc3RydWN0IGNvbW1pdF9saXN0ICoqdHJpZWQsCi0JCQkJCSAgaW50IHNob3dfYWxsLAotCQkJCQkgIGludCAqY291bnQsCi0JCQkJCSAgaW50ICpza2lwcGVkX2ZpcnN0KTsKK3N0cnVjdCBjb21taXRfbGlzdCAqZmlsdGVyX3NraXBwZWQoc3RydWN0IGNvbW1pdF9saXN0ICpsaXN0LAorCQkJCSAgIHN0cnVjdCBjb21taXRfbGlzdCAqKnRyaWVkLAorCQkJCSAgIGludCBzaG93X2FsbCwKKwkJCQkgICBpbnQgKmNvdW50LAorCQkJCSAgIGludCAqc2tpcHBlZF9maXJzdCk7CiAKICNkZWZpbmUgQklTRUNUX1NIT1dfQUxMCQkoMTw8MCkKICNkZWZpbmUgUkVWX0xJU1RfUVVJRVQJCSgxPDwxKQpAQCAtMzAsMTIgKzMxLDQxIEBACiAJY29uc3QgY2hhciAqaGVhZGVyX3ByZWZpeDsKIH07CiAKLWV4dGVybiBpbnQgYmlzZWN0X25leHRfYWxsKGNvbnN0IGNoYXIgKnByZWZpeCwgaW50IG5vX2NoZWNrb3V0KTsKKy8qCisgKiBlbnVtIGJpc2VjdF9lcnJvciByZXByZXNlbnRzIHRoZSBmb2xsb3dpbmcgcmV0dXJuIGNvZGVzOgorICogQklTRUNUX09LOiBzdWNjZXNzIGNvZGUuIEludGVybmFsbHksIGl0IG1lYW5zIHRoYXQgbmV4dAorICogY29tbWl0IGhhcyBiZWVuIGZvdW5kIChhbmQgcG9zc2libHkgY2hlY2tlZCBvdXQpIGFuZCBpdAorICogc2hvdWxkIGJlIHRlc3RlZC4KKyAqIEJJU0VDVF9GQUlMRUQgZXJyb3IgY29kZTogZGVmYXVsdCBlcnJvciBjb2RlLgorICogQklTRUNUX09OTFlfU0tJUFBFRF9MRUZUIGVycm9yIGNvZGU6IG9ubHkgc2tpcHBlZAorICogY29tbWl0cyBsZWZ0IHRvIGJlIHRlc3RlZC4KKyAqIEJJU0VDVF9NRVJHRV9CQVNFX0NIRUNLIGVycm9yIGNvZGU6IG1lcmdlIGJhc2UgY2hlY2sgZmFpbGVkLgorICogQklTRUNUX05PX1RFU1RBQkxFX0NPTU1JVCBlcnJvciBjb2RlOiBubyB0ZXN0YWJsZSBjb21taXQgZm91bmQuCisgKiBCSVNFQ1RfSU5URVJOQUxfU1VDQ0VTU18xU1RfQkFEX0ZPVU5EIGVhcmx5IHN1Y2Nlc3MgY29kZToKKyAqIGZpcnN0IHRlcm1fYmFkIGNvbW1pdCBmb3VuZC4KKyAqIEJJU0VDVF9JTlRFUk5BTF9TVUNDRVNTX01FUkdFX0JBU0UgZWFybHkgc3VjY2VzcworICogY29kZTogZm91bmQgbWVyZ2UgYmFzZSB0aGF0IHNob3VsZCBiZSB0ZXN0ZWQuCisgKiBFYXJseSBzdWNjZXNzIGNvZGVzIEJJU0VDVF9JTlRFUk5BTF9TVUNDRVNTXzFTVF9CQURfRk9VTkQgYW5kCisgKiBCSVNFQ1RfSU5URVJOQUxfU1VDQ0VTU19NRVJHRV9CQVNFIHNob3VsZCBiZSBvbmx5IGludGVybmFsIGNvZGVzLgorICovCitlbnVtIGJpc2VjdF9lcnJvciB7CisJQklTRUNUX09LID0gMCwKKwlCSVNFQ1RfRkFJTEVEID0gLTEsCisJQklTRUNUX09OTFlfU0tJUFBFRF9MRUZUID0gLTIsCisJQklTRUNUX01FUkdFX0JBU0VfQ0hFQ0sgPSAtMywKKwlCSVNFQ1RfTk9fVEVTVEFCTEVfQ09NTUlUID0gLTQsCisJQklTRUNUX0lOVEVSTkFMX1NVQ0NFU1NfMVNUX0JBRF9GT1VORCA9IC0xMCwKKwlCSVNFQ1RfSU5URVJOQUxfU1VDQ0VTU19NRVJHRV9CQVNFID0gLTExCit9OwogCi1leHRlcm4gaW50IGVzdGltYXRlX2Jpc2VjdF9zdGVwcyhpbnQgYWxsKTsKK2VudW0gYmlzZWN0X2Vycm9yIGJpc2VjdF9uZXh0X2FsbChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJICAgIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJICAgIGludCBub19jaGVja291dCk7CiAKLWV4dGVybiB2b2lkIHJlYWRfYmlzZWN0X3Rlcm1zKGNvbnN0IGNoYXIgKipiYWQsIGNvbnN0IGNoYXIgKipnb29kKTsKK2ludCBlc3RpbWF0ZV9iaXNlY3Rfc3RlcHMoaW50IGFsbCk7CiAKLWV4dGVybiBpbnQgYmlzZWN0X2NsZWFuX3N0YXRlKHZvaWQpOwordm9pZCByZWFkX2Jpc2VjdF90ZXJtcyhjb25zdCBjaGFyICoqYmFkLCBjb25zdCBjaGFyICoqZ29vZCk7CisKK2ludCBiaXNlY3RfY2xlYW5fc3RhdGUodm9pZCk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYmxhbWUuYyBiL2JsYW1lLmMKaW5kZXggZDg0YzkzNy4uMjk3NzBlNSAxMDA2NDQKLS0tIGEvYmxhbWUuYworKysgYi9ibGFtZS5jCkBAIC05OSw5ICs5OSw5IEBACiAJZm9yIChwYXJlbnRzID0gd29ya190cmVlLT5wYXJlbnRzOyBwYXJlbnRzOyBwYXJlbnRzID0gcGFyZW50cy0+bmV4dCkgewogCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpjb21taXRfb2lkID0gJnBhcmVudHMtPml0ZW0tPm9iamVjdC5vaWQ7CiAJCXN0cnVjdCBvYmplY3RfaWQgYmxvYl9vaWQ7Ci0JCXVuc2lnbmVkIG1vZGU7CisJCXVuc2lnbmVkIHNob3J0IG1vZGU7CiAKLQkJaWYgKCFnZXRfdHJlZV9lbnRyeShjb21taXRfb2lkLCBwYXRoLCAmYmxvYl9vaWQsICZtb2RlKSAmJgorCQlpZiAoIWdldF90cmVlX2VudHJ5KHIsIGNvbW1pdF9vaWQsIHBhdGgsICZibG9iX29pZCwgJm1vZGUpICYmCiAJCSAgICBvaWRfb2JqZWN0X2luZm8ociwgJmJsb2Jfb2lkLCBOVUxMKSA9PSBPQkpfQkxPQikKIAkJCXJldHVybjsKIAl9CkBAIC0xMTYsMzUgKzExNiwzOCBAQAogCQlkaWUoIm5vIHN1Y2ggcGF0aCAnJXMnIGluIEhFQUQiLCBwYXRoKTsKIH0KIAotc3RhdGljIHN0cnVjdCBjb21taXRfbGlzdCAqKmFwcGVuZF9wYXJlbnQoc3RydWN0IGNvbW1pdF9saXN0ICoqdGFpbCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQorc3RhdGljIHN0cnVjdCBjb21taXRfbGlzdCAqKmFwcGVuZF9wYXJlbnQoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJCSAgc3RydWN0IGNvbW1pdF9saXN0ICoqdGFpbCwKKwkJCQkJICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7CiAJc3RydWN0IGNvbW1pdCAqcGFyZW50OwogCi0JcGFyZW50ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UodGhlX3JlcG9zaXRvcnksIG9pZCk7CisJcGFyZW50ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uociwgb2lkKTsKIAlpZiAoIXBhcmVudCkKIAkJZGllKCJubyBzdWNoIGNvbW1pdCAlcyIsIG9pZF90b19oZXgob2lkKSk7CiAJcmV0dXJuICZjb21taXRfbGlzdF9pbnNlcnQocGFyZW50LCB0YWlsKS0+bmV4dDsKIH0KIAotc3RhdGljIHZvaWQgYXBwZW5kX21lcmdlX3BhcmVudHMoc3RydWN0IGNvbW1pdF9saXN0ICoqdGFpbCkKK3N0YXRpYyB2b2lkIGFwcGVuZF9tZXJnZV9wYXJlbnRzKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSBzdHJ1Y3QgY29tbWl0X2xpc3QgKip0YWlsKQogewogCWludCBtZXJnZV9oZWFkOwogCXN0cnVjdCBzdHJidWYgbGluZSA9IFNUUkJVRl9JTklUOwogCi0JbWVyZ2VfaGVhZCA9IG9wZW4oZ2l0X3BhdGhfbWVyZ2VfaGVhZCh0aGVfcmVwb3NpdG9yeSksIE9fUkRPTkxZKTsKKwltZXJnZV9oZWFkID0gb3BlbihnaXRfcGF0aF9tZXJnZV9oZWFkKHIpLCBPX1JET05MWSk7CiAJaWYgKG1lcmdlX2hlYWQgPCAwKSB7CiAJCWlmIChlcnJubyA9PSBFTk9FTlQpCiAJCQlyZXR1cm47CiAJCWRpZSgiY2Fubm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyIsCi0JCSAgICBnaXRfcGF0aF9tZXJnZV9oZWFkKHRoZV9yZXBvc2l0b3J5KSk7CisJCSAgICBnaXRfcGF0aF9tZXJnZV9oZWFkKHIpKTsKIAl9CiAKIAl3aGlsZSAoIXN0cmJ1Zl9nZXR3aG9sZWxpbmVfZmQoJmxpbmUsIG1lcmdlX2hlYWQsICdcbicpKSB7CiAJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwotCQlpZiAobGluZS5sZW4gPCBHSVRfU0hBMV9IRVhTWiB8fCBnZXRfb2lkX2hleChsaW5lLmJ1ZiwgJm9pZCkpCisJCWlmIChnZXRfb2lkX2hleChsaW5lLmJ1ZiwgJm9pZCkpCiAJCQlkaWUoInVua25vd24gbGluZSBpbiAnJXMnOiAlcyIsCi0JCQkgICAgZ2l0X3BhdGhfbWVyZ2VfaGVhZCh0aGVfcmVwb3NpdG9yeSksIGxpbmUuYnVmKTsKLQkJdGFpbCA9IGFwcGVuZF9wYXJlbnQodGFpbCwgJm9pZCk7CisJCQkgICAgZ2l0X3BhdGhfbWVyZ2VfaGVhZChyKSwgbGluZS5idWYpOworCQl0YWlsID0gYXBwZW5kX3BhcmVudChyLCB0YWlsLCAmb2lkKTsKIAl9CiAJY2xvc2UobWVyZ2VfaGVhZCk7CiAJc3RyYnVmX3JlbGVhc2UoJmxpbmUpOwpAQCAtMTU1LDExICsxNTgsMTMgQEAKICAqIHdhbnQgdG8gdHJhbnNmZXIgb3duZXJzaGlwIG9mIHRoZSBidWZmZXIgdG8gdGhlIGNvbW1pdCAoc28gd2UKICAqIG11c3QgdXNlIGRldGFjaCkuCiAgKi8KLXN0YXRpYyB2b2lkIHNldF9jb21taXRfYnVmZmVyX2Zyb21fc3RyYnVmKHN0cnVjdCBjb21taXQgKmMsIHN0cnVjdCBzdHJidWYgKnNiKQorc3RhdGljIHZvaWQgc2V0X2NvbW1pdF9idWZmZXJfZnJvbV9zdHJidWYoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJCSAgc3RydWN0IGNvbW1pdCAqYywKKwkJCQkJICBzdHJ1Y3Qgc3RyYnVmICpzYikKIHsKIAlzaXplX3QgbGVuOwogCXZvaWQgKmJ1ZiA9IHN0cmJ1Zl9kZXRhY2goc2IsICZsZW4pOwotCXNldF9jb21taXRfYnVmZmVyKHRoZV9yZXBvc2l0b3J5LCBjLCBidWYsIGxlbik7CisJc2V0X2NvbW1pdF9idWZmZXIociwgYywgYnVmLCBsZW4pOwogfQogCiAvKgpAQCAtMTgzLDkgKzE4OCw5IEBACiAJdW5zaWduZWQgbW9kZTsKIAlzdHJ1Y3Qgc3RyYnVmIG1zZyA9IFNUUkJVRl9JTklUOwogCi0JcmVhZF9pbmRleChyLT5pbmRleCk7CisJcmVwb19yZWFkX2luZGV4KHIpOwogCXRpbWUoJm5vdyk7Ci0JY29tbWl0ID0gYWxsb2NfY29tbWl0X25vZGUodGhlX3JlcG9zaXRvcnkpOworCWNvbW1pdCA9IGFsbG9jX2NvbW1pdF9ub2RlKHIpOwogCWNvbW1pdC0+b2JqZWN0LnBhcnNlZCA9IDE7CiAJY29tbWl0LT5kYXRlID0gbm93OwogCXBhcmVudF90YWlsID0gJmNvbW1pdC0+cGFyZW50czsKQEAgLTE5MywxMyArMTk4LDE0IEBACiAJaWYgKCFyZXNvbHZlX3JlZl91bnNhZmUoIkhFQUQiLCBSRVNPTFZFX1JFRl9SRUFESU5HLCAmaGVhZF9vaWQsIE5VTEwpKQogCQlkaWUoIm5vIHN1Y2ggcmVmOiBIRUFEIik7CiAKLQlwYXJlbnRfdGFpbCA9IGFwcGVuZF9wYXJlbnQocGFyZW50X3RhaWwsICZoZWFkX29pZCk7Ci0JYXBwZW5kX21lcmdlX3BhcmVudHMocGFyZW50X3RhaWwpOworCXBhcmVudF90YWlsID0gYXBwZW5kX3BhcmVudChyLCBwYXJlbnRfdGFpbCwgJmhlYWRfb2lkKTsKKwlhcHBlbmRfbWVyZ2VfcGFyZW50cyhyLCBwYXJlbnRfdGFpbCk7CiAJdmVyaWZ5X3dvcmtpbmdfdHJlZV9wYXRoKHIsIGNvbW1pdCwgcGF0aCk7CiAKIAlvcmlnaW4gPSBtYWtlX29yaWdpbihjb21taXQsIHBhdGgpOwogCi0JaWRlbnQgPSBmbXRfaWRlbnQoIk5vdCBDb21taXR0ZWQgWWV0IiwgIm5vdC5jb21taXR0ZWQueWV0IiwgTlVMTCwgMCk7CisJaWRlbnQgPSBmbXRfaWRlbnQoIk5vdCBDb21taXR0ZWQgWWV0IiwgIm5vdC5jb21taXR0ZWQueWV0IiwKKwkJCVdBTlRfQkxBTktfSURFTlQsIE5VTEwsIDApOwogCXN0cmJ1Zl9hZGRzdHIoJm1zZywgInRyZWUgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMFxuIik7CiAJZm9yIChwYXJlbnQgPSBjb21taXQtPnBhcmVudHM7IHBhcmVudDsgcGFyZW50ID0gcGFyZW50LT5uZXh0KQogCQlzdHJidWZfYWRkZigmbXNnLCAicGFyZW50ICVzXG4iLApAQCAtMjExLDcgKzIxNyw3IEBACiAJCSAgICBpZGVudCwgaWRlbnQsIHBhdGgsCiAJCSAgICAoIWNvbnRlbnRzX2Zyb20gPyBwYXRoIDoKIAkJICAgICAoIXN0cmNtcChjb250ZW50c19mcm9tLCAiLSIpID8gInN0YW5kYXJkIGlucHV0IiA6IGNvbnRlbnRzX2Zyb20pKSk7Ci0Jc2V0X2NvbW1pdF9idWZmZXJfZnJvbV9zdHJidWYoY29tbWl0LCAmbXNnKTsKKwlzZXRfY29tbWl0X2J1ZmZlcl9mcm9tX3N0cmJ1ZihyLCBjb21taXQsICZtc2cpOwogCiAJaWYgKCFjb250ZW50c19mcm9tIHx8IHN0cmNtcCgiLSIsIGNvbnRlbnRzX2Zyb20pKSB7CiAJCXN0cnVjdCBzdGF0IHN0OwpAQCAtMjY1LDcgKzI3MSw3IEBACiAJICogd2FudCB0byBydW4gImRpZmYtaW5kZXggLS1jYWNoZWQiLgogCSAqLwogCWRpc2NhcmRfaW5kZXgoci0+aW5kZXgpOwotCXJlYWRfaW5kZXgoci0+aW5kZXgpOworCXJlcG9fcmVhZF9pbmRleChyKTsKIAogCWxlbiA9IHN0cmxlbihwYXRoKTsKIAlpZiAoIW1vZGUpIHsKQEAgLTMwNSwxMiArMzExLDcxMCBAQAogCXJldHVybiB4ZGlfZGlmZihmaWxlX2EsIGZpbGVfYiwgJnhwcCwgJnhlY2ZnLCAmZWNiKTsKIH0KIAorc3RhdGljIGNvbnN0IGNoYXIgKmdldF9uZXh0X2xpbmUoY29uc3QgY2hhciAqc3RhcnQsIGNvbnN0IGNoYXIgKmVuZCkKK3sKKwljb25zdCBjaGFyICpubCA9IG1lbWNocihzdGFydCwgJ1xuJywgZW5kIC0gc3RhcnQpOworCisJcmV0dXJuIG5sID8gbmwgKyAxIDogZW5kOworfQorCitzdGF0aWMgaW50IGZpbmRfbGluZV9zdGFydHMoaW50ICoqbGluZV9zdGFydHMsIGNvbnN0IGNoYXIgKmJ1ZiwKKwkJCSAgICB1bnNpZ25lZCBsb25nIGxlbikKK3sKKwljb25zdCBjaGFyICplbmQgPSBidWYgKyBsZW47CisJY29uc3QgY2hhciAqcDsKKwlpbnQgKmxpbmVubzsKKwlpbnQgbnVtID0gMDsKKworCWZvciAocCA9IGJ1ZjsgcCA8IGVuZDsgcCA9IGdldF9uZXh0X2xpbmUocCwgZW5kKSkKKwkJbnVtKys7CisKKwlBTExPQ19BUlJBWSgqbGluZV9zdGFydHMsIG51bSArIDEpOworCWxpbmVubyA9ICpsaW5lX3N0YXJ0czsKKworCWZvciAocCA9IGJ1ZjsgcCA8IGVuZDsgcCA9IGdldF9uZXh0X2xpbmUocCwgZW5kKSkKKwkJKmxpbmVubysrID0gcCAtIGJ1ZjsKKworCSpsaW5lbm8gPSBsZW47CisKKwlyZXR1cm4gbnVtOworfQorCitzdHJ1Y3QgZmluZ2VycHJpbnRfZW50cnk7CisKKy8qIEEgZmluZ2VycHJpbnQgaXMgaW50ZW5kZWQgdG8gbG9vc2VseSByZXByZXNlbnQgYSBzdHJpbmcsIHN1Y2ggdGhhdCB0d28KKyAqIGZpbmdlcnByaW50cyBjYW4gYmUgcXVpY2tseSBjb21wYXJlZCB0byBnaXZlIGFuIGluZGljYXRpb24gb2YgdGhlIHNpbWlsYXJpdHkKKyAqIG9mIHRoZSBzdHJpbmdzIHRoYXQgdGhleSByZXByZXNlbnQuCisgKgorICogQSBmaW5nZXJwcmludCBpcyByZXByZXNlbnRlZCBhcyBhIG11bHRpc2V0IG9mIHRoZSBsb3dlci1jYXNlZCBieXRlIHBhaXJzIGluCisgKiB0aGUgc3RyaW5nIHRoYXQgaXQgcmVwcmVzZW50cy4gV2hpdGVzcGFjZSBpcyBhZGRlZCBhdCBlYWNoIGVuZCBvZiB0aGUKKyAqIHN0cmluZy4gV2hpdGVzcGFjZSBwYWlycyBhcmUgaWdub3JlZC4gV2hpdGVzcGFjZSBpcyBjb252ZXJ0ZWQgdG8gJ1wwJy4KKyAqIEZvciBleGFtcGxlLCB0aGUgc3RyaW5nICJEYXJ0aCAgIFJhZGFyIiB3aWxsIGJlIGNvbnZlcnRlZCB0byB0aGUgZm9sbG93aW5nCisgKiBmaW5nZXJwcmludDoKKyAqIHsiXDBkIiwgImRhIiwgImRhIiwgImFyIiwgImFyIiwgInJ0IiwgInRoIiwgImhcMCIsICJcMHIiLCAicmEiLCAiYWQiLCAiclwwIn0KKyAqCisgKiBUaGUgc2ltaWxhcml0eSBiZXR3ZWVuIHR3byBmaW5nZXJwcmludHMgaXMgdGhlIHNpemUgb2YgdGhlIGludGVyc2VjdGlvbiBvZgorICogdGhlaXIgbXVsdGlzZXRzLCBpbmNsdWRpbmcgcmVwZWF0ZWQgZWxlbWVudHMuIFNlZSBmaW5nZXJwcmludF9zaW1pbGFyaXR5IGZvcgorICogZXhhbXBsZXMuCisgKgorICogRm9yIGVhc2Ugb2YgaW1wbGVtZW50YXRpb24sIHRoZSBmaW5nZXJwcmludCBpcyBpbXBsZW1lbnRlZCBhcyBhIG1hcAorICogb2YgYnl0ZSBwYWlycyB0byB0aGUgY291bnQgb2YgdGhhdCBieXRlIHBhaXIgaW4gdGhlIHN0cmluZywgaW5zdGVhZCBvZgorICogYWxsb3dpbmcgcmVwZWF0ZWQgZWxlbWVudHMgaW4gYSBzZXQuCisgKi8KK3N0cnVjdCBmaW5nZXJwcmludCB7CisJc3RydWN0IGhhc2htYXAgbWFwOworCS8qIEFzIHdlIGtub3cgdGhlIG1heGltdW0gbnVtYmVyIG9mIGVudHJpZXMgaW4gYWR2YW5jZSwgaXQncworCSAqIGNvbnZlbmllbnQgdG8gc3RvcmUgdGhlIGVudHJpZXMgaW4gYSBzaW5nbGUgYXJyYXkgaW5zdGVhZCBvZiBoYXZpbmcKKwkgKiB0aGUgaGFzaG1hcCBtYW5hZ2UgdGhlIG1lbW9yeS4KKwkgKi8KKwlzdHJ1Y3QgZmluZ2VycHJpbnRfZW50cnkgKmVudHJpZXM7Cit9OworCisvKiBBIGJ5dGUgcGFpciBpbiBhIGZpbmdlcnByaW50LiBTdG9yZXMgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgYnl0ZSBwYWlyCisgKiBvY2N1cnMgaW4gdGhlIHN0cmluZyB0aGF0IHRoZSBmaW5nZXJwcmludCByZXByZXNlbnRzLgorICovCitzdHJ1Y3QgZmluZ2VycHJpbnRfZW50cnkgeworCS8qIFRoZSBoYXNobWFwIGVudHJ5IC0gdGhlIGhhc2ggcmVwcmVzZW50cyB0aGUgYnl0ZSBwYWlyIGluIGl0cworCSAqIGVudGlyZXR5IHNvIHdlIGRvbid0IG5lZWQgdG8gc3RvcmUgdGhlIGJ5dGUgcGFpciBzZXBhcmF0ZWx5LgorCSAqLworCXN0cnVjdCBoYXNobWFwX2VudHJ5IGVudHJ5OworCS8qIFRoZSBudW1iZXIgb2YgdGltZXMgdGhlIGJ5dGUgcGFpciBvY2N1cnMgaW4gdGhlIHN0cmluZyB0aGF0IHRoZQorCSAqIGZpbmdlcnByaW50IHJlcHJlc2VudHMuCisJICovCisJaW50IGNvdW50OworfTsKKworLyogU2VlIGBzdHJ1Y3QgZmluZ2VycHJpbnRgIGZvciBhbiBleHBsYW5hdGlvbiBvZiB3aGF0IGEgZmluZ2VycHJpbnQgaXMuCisgKiBccGFyYW0gcmVzdWx0IHRoZSBmaW5nZXJwcmludCBvZiB0aGUgc3RyaW5nIGlzIHN0b3JlZCBoZXJlLiBUaGlzIG11c3QgYmUKKyAqIAkJIGZyZWVkIGxhdGVyIHVzaW5nIGZyZWVfZmluZ2VycHJpbnQuCisgKiBccGFyYW0gbGluZV9iZWdpbiB0aGUgc3RhcnQgb2YgdGhlIHN0cmluZworICogXHBhcmFtIGxpbmVfZW5kIHRoZSBlbmQgb2YgdGhlIHN0cmluZworICovCitzdGF0aWMgdm9pZCBnZXRfZmluZ2VycHJpbnQoc3RydWN0IGZpbmdlcnByaW50ICpyZXN1bHQsCisJCQkgICAgY29uc3QgY2hhciAqbGluZV9iZWdpbiwKKwkJCSAgICBjb25zdCBjaGFyICpsaW5lX2VuZCkKK3sKKwl1bnNpZ25lZCBpbnQgaGFzaCwgYzAgPSAwLCBjMTsKKwljb25zdCBjaGFyICpwOworCWludCBtYXhfbWFwX2VudHJ5X2NvdW50ID0gMSArIGxpbmVfZW5kIC0gbGluZV9iZWdpbjsKKwlzdHJ1Y3QgZmluZ2VycHJpbnRfZW50cnkgKmVudHJ5ID0geGNhbGxvYyhtYXhfbWFwX2VudHJ5X2NvdW50LAorCQlzaXplb2Yoc3RydWN0IGZpbmdlcnByaW50X2VudHJ5KSk7CisJc3RydWN0IGZpbmdlcnByaW50X2VudHJ5ICpmb3VuZF9lbnRyeTsKKworCWhhc2htYXBfaW5pdCgmcmVzdWx0LT5tYXAsIE5VTEwsIE5VTEwsIG1heF9tYXBfZW50cnlfY291bnQpOworCXJlc3VsdC0+ZW50cmllcyA9IGVudHJ5OworCWZvciAocCA9IGxpbmVfYmVnaW47IHAgPD0gbGluZV9lbmQ7ICsrcCwgYzAgPSBjMSkgeworCQkvKiBBbHdheXMgdGVybWluYXRlIHRoZSBzdHJpbmcgd2l0aCB3aGl0ZXNwYWNlLgorCQkgKiBOb3JtYWxpc2Ugd2hpdGVzcGFjZSB0byAwLCBhbmQgbm9ybWFsaXNlIGxldHRlcnMgdG8KKwkJICogbG93ZXIgY2FzZS4gVGhpcyB3b24ndCB3b3JrIGZvciBtdWx0aWJ5dGUgY2hhcmFjdGVycyBidXQgYXQKKwkJICogd29yc3Qgd2lsbCBtYXRjaCBzb21lIHVucmVsYXRlZCBjaGFyYWN0ZXJzLgorCQkgKi8KKwkJaWYgKChwID09IGxpbmVfZW5kKSB8fCBpc3NwYWNlKCpwKSkKKwkJCWMxID0gMDsKKwkJZWxzZQorCQkJYzEgPSB0b2xvd2VyKCpwKTsKKwkJaGFzaCA9IGMwIHwgKGMxIDw8IDgpOworCQkvKiBJZ25vcmUgd2hpdGVzcGFjZSBwYWlycyAqLworCQlpZiAoaGFzaCA9PSAwKQorCQkJY29udGludWU7CisJCWhhc2htYXBfZW50cnlfaW5pdCgmZW50cnktPmVudHJ5LCBoYXNoKTsKKworCQlmb3VuZF9lbnRyeSA9IGhhc2htYXBfZ2V0X2VudHJ5KCZyZXN1bHQtPm1hcCwgZW50cnksCisJCQkJCQkvKiBtZW1iZXIgbmFtZSAqLyBlbnRyeSwgTlVMTCk7CisJCWlmIChmb3VuZF9lbnRyeSkgeworCQkJZm91bmRfZW50cnktPmNvdW50ICs9IDE7CisJCX0gZWxzZSB7CisJCQllbnRyeS0+Y291bnQgPSAxOworCQkJaGFzaG1hcF9hZGQoJnJlc3VsdC0+bWFwLCAmZW50cnktPmVudHJ5KTsKKwkJCSsrZW50cnk7CisJCX0KKwl9Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfZmluZ2VycHJpbnQoc3RydWN0IGZpbmdlcnByaW50ICpmKQoreworCWhhc2htYXBfZnJlZSgmZi0+bWFwKTsKKwlmcmVlKGYtPmVudHJpZXMpOworfQorCisvKiBDYWxjdWxhdGVzIHRoZSBzaW1pbGFyaXR5IGJldHdlZW4gdHdvIGZpbmdlcnByaW50cyBhcyB0aGUgc2l6ZSBvZiB0aGUKKyAqIGludGVyc2VjdGlvbiBvZiB0aGVpciBtdWx0aXNldHMsIGluY2x1ZGluZyByZXBlYXRlZCBlbGVtZW50cy4gU2VlCisgKiBgc3RydWN0IGZpbmdlcnByaW50YCBmb3IgYW4gZXhwbGFuYXRpb24gb2YgdGhlIGZpbmdlcnByaW50IHJlcHJlc2VudGF0aW9uLgorICogVGhlIHNpbWlsYXJpdHkgYmV0d2VlbiAiY2F0IG1hdCIgYW5kICJmYXRoZXIgcmF0aGVyIiBpcyAyIGJlY2F1c2UgImF0IiBpcworICogcHJlc2VudCB0d2ljZSBpbiBib3RoIHN0cmluZ3Mgd2hpbGUgdGhlIHNpbWlsYXJpdHkgYmV0d2VlbiAidGltIiBhbmQgIm1pdCIKKyAqIGlzIDAuCisgKi8KK3N0YXRpYyBpbnQgZmluZ2VycHJpbnRfc2ltaWxhcml0eShzdHJ1Y3QgZmluZ2VycHJpbnQgKmEsIHN0cnVjdCBmaW5nZXJwcmludCAqYikKK3sKKwlpbnQgaW50ZXJzZWN0aW9uID0gMDsKKwlzdHJ1Y3QgaGFzaG1hcF9pdGVyIGl0ZXI7CisJY29uc3Qgc3RydWN0IGZpbmdlcnByaW50X2VudHJ5ICplbnRyeV9hLCAqZW50cnlfYjsKKworCWhhc2htYXBfZm9yX2VhY2hfZW50cnkoJmItPm1hcCwgJml0ZXIsIGVudHJ5X2IsCisJCQkJZW50cnkgLyogbWVtYmVyIG5hbWUgKi8pIHsKKwkJZW50cnlfYSA9IGhhc2htYXBfZ2V0X2VudHJ5KCZhLT5tYXAsIGVudHJ5X2IsIGVudHJ5LCBOVUxMKTsKKwkJaWYgKGVudHJ5X2EpIHsKKwkJCWludGVyc2VjdGlvbiArPSBlbnRyeV9hLT5jb3VudCA8IGVudHJ5X2ItPmNvdW50ID8KKwkJCQkJZW50cnlfYS0+Y291bnQgOiBlbnRyeV9iLT5jb3VudDsKKwkJfQorCX0KKwlyZXR1cm4gaW50ZXJzZWN0aW9uOworfQorCisvKiBTdWJ0cmFjdHMgYnl0ZS1wYWlyIGVsZW1lbnRzIGluIEIgZnJvbSBBLCBtb2RpZnlpbmcgQSBpbiBwbGFjZS4KKyAqLworc3RhdGljIHZvaWQgZmluZ2VycHJpbnRfc3VidHJhY3Qoc3RydWN0IGZpbmdlcnByaW50ICphLCBzdHJ1Y3QgZmluZ2VycHJpbnQgKmIpCit7CisJc3RydWN0IGhhc2htYXBfaXRlciBpdGVyOworCXN0cnVjdCBmaW5nZXJwcmludF9lbnRyeSAqZW50cnlfYTsKKwljb25zdCBzdHJ1Y3QgZmluZ2VycHJpbnRfZW50cnkgKmVudHJ5X2I7CisKKwloYXNobWFwX2l0ZXJfaW5pdCgmYi0+bWFwLCAmaXRlcik7CisKKwloYXNobWFwX2Zvcl9lYWNoX2VudHJ5KCZiLT5tYXAsICZpdGVyLCBlbnRyeV9iLAorCQkJCWVudHJ5IC8qIG1lbWJlciBuYW1lICovKSB7CisJCWVudHJ5X2EgPSBoYXNobWFwX2dldF9lbnRyeSgmYS0+bWFwLCBlbnRyeV9iLCBlbnRyeSwgTlVMTCk7CisJCWlmIChlbnRyeV9hKSB7CisJCQlpZiAoZW50cnlfYS0+Y291bnQgPD0gZW50cnlfYi0+Y291bnQpCisJCQkJaGFzaG1hcF9yZW1vdmUoJmEtPm1hcCwgJmVudHJ5X2ItPmVudHJ5LCBOVUxMKTsKKwkJCWVsc2UKKwkJCQllbnRyeV9hLT5jb3VudCAtPSBlbnRyeV9iLT5jb3VudDsKKwkJfQorCX0KK30KKworLyogQ2FsY3VsYXRlIGZpbmdlcnByaW50cyBmb3IgYSBzZXJpZXMgb2YgbGluZXMuCisgKiBQdXRzIHRoZSBmaW5nZXJwcmludHMgaW4gdGhlIGZpbmdlcnByaW50cyBhcnJheSwgd2hpY2ggbXVzdCBoYXZlIGJlZW4KKyAqIHByZWFsbG9jYXRlZCB0byBhbGxvdyBzdG9yaW5nIGxpbmVfY291bnQgZWxlbWVudHMuCisgKi8KK3N0YXRpYyB2b2lkIGdldF9saW5lX2ZpbmdlcnByaW50cyhzdHJ1Y3QgZmluZ2VycHJpbnQgKmZpbmdlcnByaW50cywKKwkJCQkgIGNvbnN0IGNoYXIgKmNvbnRlbnQsIGNvbnN0IGludCAqbGluZV9zdGFydHMsCisJCQkJICBsb25nIGZpcnN0X2xpbmUsIGxvbmcgbGluZV9jb3VudCkKK3sKKwlpbnQgaTsKKwljb25zdCBjaGFyICpsaW5lc3RhcnQsICpsaW5lZW5kOworCisJbGluZV9zdGFydHMgKz0gZmlyc3RfbGluZTsKKwlmb3IgKGkgPSAwOyBpIDwgbGluZV9jb3VudDsgKytpKSB7CisJCWxpbmVzdGFydCA9IGNvbnRlbnQgKyBsaW5lX3N0YXJ0c1tpXTsKKwkJbGluZWVuZCA9IGNvbnRlbnQgKyBsaW5lX3N0YXJ0c1tpICsgMV07CisJCWdldF9maW5nZXJwcmludChmaW5nZXJwcmludHMgKyBpLCBsaW5lc3RhcnQsIGxpbmVlbmQpOworCX0KK30KKworc3RhdGljIHZvaWQgZnJlZV9saW5lX2ZpbmdlcnByaW50cyhzdHJ1Y3QgZmluZ2VycHJpbnQgKmZpbmdlcnByaW50cywKKwkJCQkgICBpbnQgbnJfZmluZ2VycHJpbnRzKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG5yX2ZpbmdlcnByaW50czsgaSsrKQorCQlmcmVlX2ZpbmdlcnByaW50KCZmaW5nZXJwcmludHNbaV0pOworfQorCisvKiBUaGlzIGNvbnRhaW5zIHRoZSBkYXRhIG5lY2Vzc2FyeSB0byBsaW5lYXJseSBtYXAgYSBsaW5lIG51bWJlciBpbiBvbmUgaGFsZgorICogb2YgYSBkaWZmIGNodW5rIHRvIHRoZSBsaW5lIGluIHRoZSBvdGhlciBoYWxmIG9mIHRoZSBkaWZmIGNodW5rIHRoYXQgaXMKKyAqIGNsb3Nlc3QgaW4gdGVybXMgb2YgaXRzIHBvc2l0aW9uIGFzIGEgZnJhY3Rpb24gb2YgdGhlIGxlbmd0aCBvZiB0aGUgY2h1bmsuCisgKi8KK3N0cnVjdCBsaW5lX251bWJlcl9tYXBwaW5nIHsKKwlpbnQgZGVzdGluYXRpb25fc3RhcnQsIGRlc3RpbmF0aW9uX2xlbmd0aCwKKwkJc291cmNlX3N0YXJ0LCBzb3VyY2VfbGVuZ3RoOworfTsKKworLyogR2l2ZW4gYSBsaW5lIG51bWJlciBpbiBvbmUgcmFuZ2UsIG9mZnNldCBhbmQgc2NhbGUgaXQgdG8gbWFwIGl0IG9udG8gdGhlCisgKiBvdGhlciByYW5nZS4KKyAqIEVzc2VudGlhbGx5IHRoaXMgbWFwcGluZyBpcyBhIHNpbXBsZSBsaW5lYXIgZXF1YXRpb24gYnV0IHRoZSBjYWxjdWxhdGlvbiBpcworICogbW9yZSBjb21wbGljYXRlZCB0byBhbGxvdyBwZXJmb3JtaW5nIGl0IHdpdGggaW50ZWdlciBvcGVyYXRpb25zLgorICogQW5vdGhlciBjb21wbGljYXRpb24gaXMgdGhhdCBpZiBhIGxpbmUgY291bGQgbWFwIG9udG8gbWFueSBsaW5lcyBpbiB0aGUKKyAqIGRlc3RpbmF0aW9uIHJhbmdlIHRoZW4gd2Ugd2FudCB0byBjaG9vc2UgdGhlIGxpbmUgYXQgdGhlIGNlbnRlciBvZiB0aG9zZQorICogcG9zc2liaWxpdGllcy4KKyAqIEV4YW1wbGU6IGlmIHRoZSBjaHVuayBpcyAyIGxpbmVzIGxvbmcgaW4gQSBhbmQgMTAgbGluZXMgbG9uZyBpbiBCIHRoZW4gdGhlCisgKiBmaXJzdCA1IGxpbmVzIGluIEIgd2lsbCBtYXAgb250byB0aGUgZmlyc3QgbGluZSBpbiB0aGUgQSBjaHVuaywgd2hpbGUgdGhlCisgKiBsYXN0IDUgbGluZXMgd2lsbCBhbGwgbWFwIG9udG8gdGhlIHNlY29uZCBsaW5lIGluIHRoZSBBIGNodW5rLgorICogRXhhbXBsZTogaWYgdGhlIGNodW5rIGlzIDEwIGxpbmVzIGxvbmcgaW4gQSBhbmQgMiBsaW5lcyBsb25nIGluIEIgdGhlbiBsaW5lCisgKiAwIGluIEIgd2lsbCBtYXAgb250byBsaW5lIDIgaW4gQSwgYW5kIGxpbmUgMSBpbiBCIHdpbGwgbWFwIG9udG8gbGluZSA3IGluIEEuCisgKi8KK3N0YXRpYyBpbnQgbWFwX2xpbmVfbnVtYmVyKGludCBsaW5lX251bWJlciwKKwljb25zdCBzdHJ1Y3QgbGluZV9udW1iZXJfbWFwcGluZyAqbWFwcGluZykKK3sKKwlyZXR1cm4gKChsaW5lX251bWJlciAtIG1hcHBpbmctPnNvdXJjZV9zdGFydCkgKiAyICsgMSkgKgorCSAgICAgICBtYXBwaW5nLT5kZXN0aW5hdGlvbl9sZW5ndGggLworCSAgICAgICAobWFwcGluZy0+c291cmNlX2xlbmd0aCAqIDIpICsKKwkgICAgICAgbWFwcGluZy0+ZGVzdGluYXRpb25fc3RhcnQ7Cit9CisKKy8qIEdldCBhIHBvaW50ZXIgdG8gdGhlIGVsZW1lbnQgc3RvcmluZyB0aGUgc2ltaWxhcml0eSBiZXR3ZWVuIGEgbGluZSBpbiBBCisgKiBhbmQgYSBsaW5lIGluIEIuCisgKgorICogVGhlIHNpbWlsYXJpdGllcyBhcmUgc3RvcmVkIGluIGEgMi1kaW1lbnNpb25hbCBhcnJheS4gRWFjaCAicm93IiBpbiB0aGUKKyAqIGFycmF5IGNvbnRhaW5zIHRoZSBzaW1pbGFyaXRpZXMgZm9yIGEgbGluZSBpbiBCLiBUaGUgc2ltaWxhcml0aWVzIHN0b3JlZCBpbgorICogYSByb3cgYXJlIHRoZSBzaW1pbGFyaXRpZXMgYmV0d2VlbiB0aGUgbGluZSBpbiBCIGFuZCB0aGUgbmVhcmJ5IGxpbmVzIGluIEEuCisgKiBUbyBrZWVwIHRoZSBsZW5ndGggb2YgZWFjaCByb3cgdGhlIHNhbWUsIGl0IGlzIHBhZGRlZCBvdXQgd2l0aCB2YWx1ZXMgb2YgLTEKKyAqIHdoZXJlIHRoZSBzZWFyY2ggcmFuZ2UgZXh0ZW5kcyBiZXlvbmQgdGhlIGxpbmVzIGluIEEuCisgKiBGb3IgZXhhbXBsZSwgaWYgbWF4X3NlYXJjaF9kaXN0YW5jZV9hIGlzIDIgYW5kIHRoZSB0d28gc2lkZXMgb2YgYSBkaWZmIGNodW5rCisgKiBsb29rIGxpa2UgdGhpczoKKyAqIGEgfCBtCisgKiBiIHwgbgorICogYyB8IG8KKyAqIGQgfCBwCisgKiBlIHwgcQorICogVGhlbiB0aGUgc2ltaWxhcml0eSBhcnJheSB3aWxsIGNvbnRhaW46CisgKiBbLTEsIC0xLCBhbSwgYm0sIGNtLAorICogIC0xLCBhbiwgYm4sIGNuLCBkbiwKKyAqICBhbywgYm8sIGNvLCBkbywgZW8sCisgKiAgYnAsIGNwLCBkcCwgZXAsIC0xLAorICogIGNxLCBkcSwgZXEsIC0xLCAtMV0KKyAqIFdoZXJlIHNpbWlsYXJpdGllcyBhcmUgZGVub3RlZCBlaXRoZXIgYnkgLTEgZm9yIGludmFsaWQsIG9yIHRoZQorICogY29uY2F0ZW5hdGlvbiBvZiB0aGUgdHdvIGxpbmVzIGluIHRoZSBkaWZmIGJlaW5nIGNvbXBhcmVkLgorICoKKyAqIFxwYXJhbSBzaW1pbGFyaXRpZXMgYXJyYXkgb2Ygc2ltaWxhcml0aWVzIGJldHdlZW4gbGluZXMgaW4gQSBhbmQgQgorICogXHBhcmFtIGxpbmVfYSB0aGUgaW5kZXggb2YgdGhlIGxpbmUgaW4gQSwgaW4gdGhlIHNhbWUgZnJhbWUgb2YgcmVmZXJlbmNlIGFzCisgKgljbG9zZXN0X2xpbmVfYS4KKyAqIFxwYXJhbSBsb2NhbF9saW5lX2IgdGhlIGluZGV4IG9mIHRoZSBsaW5lIGluIEIsIHJlbGF0aXZlIHRvIHRoZSBmaXJzdCBsaW5lCisgKgkJICAgICAgIGluIEIgdGhhdCBzaW1pbGFyaXRpZXMgcmVwcmVzZW50cy4KKyAqIFxwYXJhbSBjbG9zZXN0X2xpbmVfYSB0aGUgaW5kZXggb2YgdGhlIGxpbmUgaW4gQSB0aGF0IGlzIGRlZW1lZCB0byBiZQorICoJCQkgY2xvc2VzdCB0byBsb2NhbF9saW5lX2IuIFRoaXMgbXVzdCBiZSBpbiB0aGUgc2FtZQorICoJCQkgZnJhbWUgb2YgcmVmZXJlbmNlIGFzIGxpbmVfYS4gVGhpcyB2YWx1ZSBkZWZpbmVzCisgKgkJCSB3aGVyZSBzaW1pbGFyaXRpZXMgaXMgY2VudGVyZWQgZm9yIHRoZSBsaW5lIGluIEIuCisgKiBccGFyYW0gbWF4X3NlYXJjaF9kaXN0YW5jZV9hIG1heGltdW0gZGlzdGFuY2UgaW4gbGluZXMgZnJvbSB0aGUgY2xvc2VzdCBsaW5lCisgKiAJCQkJaW4gQSBmb3Igb3RoZXIgbGluZXMgaW4gQSBmb3Igd2hpY2gKKyAqIAkJCQlzaW1pbGFyaXRpZXMgbWF5IGJlIGNhbGN1bGF0ZWQuCisgKi8KK3N0YXRpYyBpbnQgKmdldF9zaW1pbGFyaXR5KGludCAqc2ltaWxhcml0aWVzLAorCQkJICAgaW50IGxpbmVfYSwgaW50IGxvY2FsX2xpbmVfYiwKKwkJCSAgIGludCBjbG9zZXN0X2xpbmVfYSwgaW50IG1heF9zZWFyY2hfZGlzdGFuY2VfYSkKK3sKKwlhc3NlcnQoYWJzKGxpbmVfYSAtIGNsb3Nlc3RfbGluZV9hKSA8PQorCSAgICAgICBtYXhfc2VhcmNoX2Rpc3RhbmNlX2EpOworCXJldHVybiBzaW1pbGFyaXRpZXMgKyBsaW5lX2EgLSBjbG9zZXN0X2xpbmVfYSArCisJICAgICAgIG1heF9zZWFyY2hfZGlzdGFuY2VfYSArCisJICAgICAgIGxvY2FsX2xpbmVfYiAqIChtYXhfc2VhcmNoX2Rpc3RhbmNlX2EgKiAyICsgMSk7Cit9CisKKyNkZWZpbmUgQ0VSVEFJTl9OT1RISU5HX01BVENIRVMgLTIKKyNkZWZpbmUgQ0VSVEFJTlRZX05PVF9DQUxDVUxBVEVEIC0xCisKKy8qIEdpdmVuIGEgbGluZSBpbiBCLCBmaXJzdCBjYWxjdWxhdGUgaXRzIHNpbWlsYXJpdGllcyB3aXRoIG5lYXJieSBsaW5lcyBpbiBBCisgKiBpZiBub3QgYWxyZWFkeSBjYWxjdWxhdGVkLCB0aGVuIGlkZW50aWZ5IHRoZSBtb3N0IHNpbWlsYXIgYW5kIHNlY29uZCBtb3N0CisgKiBzaW1pbGFyIGxpbmVzLiBUaGUgImNlcnRhaW50eSIgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aG9zZSB0d28KKyAqIHNpbWlsYXJpdGllcy4KKyAqCisgKiBccGFyYW0gc3RhcnRfYSB0aGUgaW5kZXggb2YgdGhlIGZpcnN0IGxpbmUgb2YgdGhlIGNodW5rIGluIEEKKyAqIFxwYXJhbSBsZW5ndGhfYSB0aGUgbGVuZ3RoIGluIGxpbmVzIG9mIHRoZSBjaHVuayBpbiBBCisgKiBccGFyYW0gbG9jYWxfbGluZV9iIHRoZSBpbmRleCBvZiB0aGUgbGluZSBpbiBCLCByZWxhdGl2ZSB0byB0aGUgZmlyc3QgbGluZQorICogCQkgICAgICAgaW4gdGhlIGNodW5rLgorICogXHBhcmFtIGZpbmdlcnByaW50c19hIGFycmF5IG9mIGZpbmdlcnByaW50cyBmb3IgdGhlIGNodW5rIGluIEEKKyAqIFxwYXJhbSBmaW5nZXJwcmludHNfYiBhcnJheSBvZiBmaW5nZXJwcmludHMgZm9yIHRoZSBjaHVuayBpbiBCCisgKiBccGFyYW0gc2ltaWxhcml0aWVzIDItZGltZW5zaW9uYWwgYXJyYXkgb2Ygc2ltaWxhcml0aWVzIGJldHdlZW4gbGluZXMgaW4gQQorICogCQkgICAgICAgYW5kIEIuIFNlZSBnZXRfc2ltaWxhcml0eSgpIGZvciBtb3JlIGRldGFpbHMuCisgKiBccGFyYW0gY2VydGFpbnRpZXMgYXJyYXkgb2YgdmFsdWVzIGluZGljYXRpbmcgaG93IHN0cm9uZ2x5IGEgbGluZSBpbiBCIGlzCisgKiAJCSAgICAgIG1hdGNoZWQgd2l0aCBzb21lIGxpbmUgaW4gQS4KKyAqIFxwYXJhbSBzZWNvbmRfYmVzdF9yZXN1bHQgYXJyYXkgb2YgYWJzb2x1dGUgaW5kaWNlcyBpbiBBIGZvciB0aGUgc2Vjb25kCisgKiAJCQkgICAgIGNsb3Nlc3QgbWF0Y2ggb2YgYSBsaW5lIGluIEIuCisgKiBccGFyYW0gcmVzdWx0IGFycmF5IG9mIGFic29sdXRlIGluZGljZXMgaW4gQSBmb3IgdGhlIGNsb3Nlc3QgbWF0Y2ggb2YgYSBsaW5lCisgKiAJCSBpbiBCLgorICogXHBhcmFtIG1heF9zZWFyY2hfZGlzdGFuY2VfYSBtYXhpbXVtIGRpc3RhbmNlIGluIGxpbmVzIGZyb20gdGhlIGNsb3Nlc3QgbGluZQorICogCQkJCWluIEEgZm9yIG90aGVyIGxpbmVzIGluIEEgZm9yIHdoaWNoCisgKiAJCQkJc2ltaWxhcml0aWVzIG1heSBiZSBjYWxjdWxhdGVkLgorICogXHBhcmFtIG1hcF9saW5lX251bWJlcl9pbl9iX3RvX2EgcGFyYW1ldGVyIHRvIG1hcF9saW5lX251bWJlcigpLgorICovCitzdGF0aWMgdm9pZCBmaW5kX2Jlc3RfbGluZV9tYXRjaGVzKAorCWludCBzdGFydF9hLAorCWludCBsZW5ndGhfYSwKKwlpbnQgc3RhcnRfYiwKKwlpbnQgbG9jYWxfbGluZV9iLAorCXN0cnVjdCBmaW5nZXJwcmludCAqZmluZ2VycHJpbnRzX2EsCisJc3RydWN0IGZpbmdlcnByaW50ICpmaW5nZXJwcmludHNfYiwKKwlpbnQgKnNpbWlsYXJpdGllcywKKwlpbnQgKmNlcnRhaW50aWVzLAorCWludCAqc2Vjb25kX2Jlc3RfcmVzdWx0LAorCWludCAqcmVzdWx0LAorCWNvbnN0IGludCBtYXhfc2VhcmNoX2Rpc3RhbmNlX2EsCisJY29uc3Qgc3RydWN0IGxpbmVfbnVtYmVyX21hcHBpbmcgKm1hcF9saW5lX251bWJlcl9pbl9iX3RvX2EpCit7CisKKwlpbnQgaSwgc2VhcmNoX3N0YXJ0LCBzZWFyY2hfZW5kLCBjbG9zZXN0X2xvY2FsX2xpbmVfYSwgKnNpbWlsYXJpdHksCisJCWJlc3Rfc2ltaWxhcml0eSA9IDAsIHNlY29uZF9iZXN0X3NpbWlsYXJpdHkgPSAwLAorCQliZXN0X3NpbWlsYXJpdHlfaW5kZXggPSAwLCBzZWNvbmRfYmVzdF9zaW1pbGFyaXR5X2luZGV4ID0gMDsKKworCS8qIGNlcnRhaW50eSBoYXMgYWxyZWFkeSBiZWVuIGNhbGN1bGF0ZWQgc28gbm8gbmVlZCB0byByZWRvIHRoZSB3b3JrICovCisJaWYgKGNlcnRhaW50aWVzW2xvY2FsX2xpbmVfYl0gIT0gQ0VSVEFJTlRZX05PVF9DQUxDVUxBVEVEKQorCQlyZXR1cm47CisKKwljbG9zZXN0X2xvY2FsX2xpbmVfYSA9IG1hcF9saW5lX251bWJlcigKKwkJbG9jYWxfbGluZV9iICsgc3RhcnRfYiwgbWFwX2xpbmVfbnVtYmVyX2luX2JfdG9fYSkgLSBzdGFydF9hOworCisJc2VhcmNoX3N0YXJ0ID0gY2xvc2VzdF9sb2NhbF9saW5lX2EgLSBtYXhfc2VhcmNoX2Rpc3RhbmNlX2E7CisJaWYgKHNlYXJjaF9zdGFydCA8IDApCisJCXNlYXJjaF9zdGFydCA9IDA7CisKKwlzZWFyY2hfZW5kID0gY2xvc2VzdF9sb2NhbF9saW5lX2EgKyBtYXhfc2VhcmNoX2Rpc3RhbmNlX2EgKyAxOworCWlmIChzZWFyY2hfZW5kID4gbGVuZ3RoX2EpCisJCXNlYXJjaF9lbmQgPSBsZW5ndGhfYTsKKworCWZvciAoaSA9IHNlYXJjaF9zdGFydDsgaSA8IHNlYXJjaF9lbmQ7ICsraSkgeworCQlzaW1pbGFyaXR5ID0gZ2V0X3NpbWlsYXJpdHkoc2ltaWxhcml0aWVzLAorCQkJCQkgICAgaSwgbG9jYWxfbGluZV9iLAorCQkJCQkgICAgY2xvc2VzdF9sb2NhbF9saW5lX2EsCisJCQkJCSAgICBtYXhfc2VhcmNoX2Rpc3RhbmNlX2EpOworCQlpZiAoKnNpbWlsYXJpdHkgPT0gLTEpIHsKKwkJCS8qIFRoaXMgdmFsdWUgd2lsbCBuZXZlciBleGNlZWQgMTAgYnV0IGFzc2VydCBqdXN0IGluCisJCQkgKiBjYXNlCisJCQkgKi8KKwkJCWFzc2VydChhYnMoaSAtIGNsb3Nlc3RfbG9jYWxfbGluZV9hKSA8IDEwMDApOworCQkJLyogc2NhbGUgdGhlIHNpbWlsYXJpdHkgYnkgKDEwMDAgLSBkaXN0YW5jZSBmcm9tCisJCQkgKiBjbG9zZXN0IGxpbmUpIHRvIGFjdCBhcyBhIHRpZSBicmVhayBiZXR3ZWVuIGxpbmVzCisJCQkgKiB0aGF0IG90aGVyd2lzZSBhcmUgZXF1YWxseSBzaW1pbGFyLgorCQkJICovCisJCQkqc2ltaWxhcml0eSA9IGZpbmdlcnByaW50X3NpbWlsYXJpdHkoCisJCQkJZmluZ2VycHJpbnRzX2IgKyBsb2NhbF9saW5lX2IsCisJCQkJZmluZ2VycHJpbnRzX2EgKyBpKSAqCisJCQkJKDEwMDAgLSBhYnMoaSAtIGNsb3Nlc3RfbG9jYWxfbGluZV9hKSk7CisJCX0KKwkJaWYgKCpzaW1pbGFyaXR5ID4gYmVzdF9zaW1pbGFyaXR5KSB7CisJCQlzZWNvbmRfYmVzdF9zaW1pbGFyaXR5ID0gYmVzdF9zaW1pbGFyaXR5OworCQkJc2Vjb25kX2Jlc3Rfc2ltaWxhcml0eV9pbmRleCA9IGJlc3Rfc2ltaWxhcml0eV9pbmRleDsKKwkJCWJlc3Rfc2ltaWxhcml0eSA9ICpzaW1pbGFyaXR5OworCQkJYmVzdF9zaW1pbGFyaXR5X2luZGV4ID0gaTsKKwkJfSBlbHNlIGlmICgqc2ltaWxhcml0eSA+IHNlY29uZF9iZXN0X3NpbWlsYXJpdHkpIHsKKwkJCXNlY29uZF9iZXN0X3NpbWlsYXJpdHkgPSAqc2ltaWxhcml0eTsKKwkJCXNlY29uZF9iZXN0X3NpbWlsYXJpdHlfaW5kZXggPSBpOworCQl9CisJfQorCisJaWYgKGJlc3Rfc2ltaWxhcml0eSA9PSAwKSB7CisJCS8qIHRoaXMgbGluZSBkZWZpbml0ZWx5IGRvZXNuJ3QgbWF0Y2ggd2l0aCBhbnl0aGluZy4gTWFyayBpdAorCQkgKiB3aXRoIHRoaXMgc3BlY2lhbCB2YWx1ZSBzbyBpdCBkb2Vzbid0IGdldCBpbnZhbGlkYXRlZCBhbmQKKwkJICogd29uJ3QgYmUgcmVjYWxjdWxhdGVkLgorCQkgKi8KKwkJY2VydGFpbnRpZXNbbG9jYWxfbGluZV9iXSA9IENFUlRBSU5fTk9USElOR19NQVRDSEVTOworCQlyZXN1bHRbbG9jYWxfbGluZV9iXSA9IC0xOworCX0gZWxzZSB7CisJCS8qIENhbGN1bGF0ZSB0aGUgY2VydGFpbnR5IHdpdGggd2hpY2ggdGhpcyBsaW5lIG1hdGNoZXMuCisJCSAqIElmIHRoZSBsaW5lIG1hdGNoZXMgd2VsbCB3aXRoIHR3byBsaW5lcyB0aGVuIHRoYXQgcmVkdWNlcworCQkgKiB0aGUgY2VydGFpbnR5LiBIb3dldmVyIHdlIHN0aWxsIHdhbnQgdG8gcHJpb3JpdGlzZSBtYXRjaGluZworCQkgKiBhIGxpbmUgdGhhdCBtYXRjaGVzIHZlcnkgd2VsbCB3aXRoIHR3byBsaW5lcyBvdmVyIG1hdGNoaW5nIGEKKwkJICogbGluZSB0aGF0IG1hdGNoZXMgcG9vcmx5IHdpdGggb25lIGxpbmUsIGhlbmNlIGRvdWJsaW5nCisJCSAqIGJlc3Rfc2ltaWxhcml0eS4KKwkJICogVGhpcyBtZWFucyB0aGF0IGlmIHdlIGhhdmUKKwkJICogbGluZSBYIHRoYXQgbWF0Y2hlcyBvbmx5IG9uZSBsaW5lIHdpdGggYSBzY29yZSBvZiAzLAorCQkgKiBsaW5lIFkgdGhhdCBtYXRjaGVzIHR3byBsaW5lcyBlcXVhbGx5IHdpdGggYSBzY29yZSBvZiA1LAorCQkgKiBhbmQgbGluZSBaIHRoYXQgbWF0Y2hlcyBvbmx5IG9uZSBsaW5lIHdpdGggYSBzY29yZSBvciAyLAorCQkgKiB0aGVuIHRoZSBsaW5lcyBpbiBvcmRlciBvZiBjZXJ0YWludHkgYXJlIFgsIFksIFouCisJCSAqLworCQljZXJ0YWludGllc1tsb2NhbF9saW5lX2JdID0gYmVzdF9zaW1pbGFyaXR5ICogMiAtCisJCQlzZWNvbmRfYmVzdF9zaW1pbGFyaXR5OworCisJCS8qIFdlIGtlZXAgYm90aCB0aGUgYmVzdCBhbmQgc2Vjb25kIGJlc3QgcmVzdWx0cyB0byBhbGxvdyB1cyB0bworCQkgKiBjaGVjayBhdCBhIGxhdGVyIHN0YWdlIG9mIHRoZSBtYXRjaGluZyBwcm9jZXNzIHdoZXRoZXIgdGhlCisJCSAqIHJlc3VsdCBuZWVkcyB0byBiZSBpbnZhbGlkYXRlZC4KKwkJICovCisJCXJlc3VsdFtsb2NhbF9saW5lX2JdID0gc3RhcnRfYSArIGJlc3Rfc2ltaWxhcml0eV9pbmRleDsKKwkJc2Vjb25kX2Jlc3RfcmVzdWx0W2xvY2FsX2xpbmVfYl0gPQorCQkJc3RhcnRfYSArIHNlY29uZF9iZXN0X3NpbWlsYXJpdHlfaW5kZXg7CisJfQorfQorCisvKgorICogVGhpcyBmaW5kcyB0aGUgbGluZSB0aGF0IHdlIGNhbiBtYXRjaCB3aXRoIHRoZSBtb3N0IGNvbmZpZGVuY2UsIGFuZAorICogdXNlcyBpdCBhcyBhIHBhcnRpdGlvbi4gSXQgdGhlbiBjYWxscyBpdHNlbGYgb24gdGhlIGxpbmVzIG9uIGVpdGhlciBzaWRlIG9mCisgKiB0aGF0IHBhcnRpdGlvbi4gSW4gdGhpcyB3YXkgd2UgYXZvaWQgbGluZXMgYXBwZWFyaW5nIG91dCBvZiBvcmRlciwgYW5kCisgKiByZXRhaW4gYSBzZW5zaWJsZSBsaW5lIG9yZGVyaW5nLgorICogXHBhcmFtIHN0YXJ0X2EgaW5kZXggb2YgdGhlIGZpcnN0IGxpbmUgaW4gQSB3aXRoIHdoaWNoIGxpbmVzIGluIEIgbWF5IGJlCisgKiAJCSAgY29tcGFyZWQuCisgKiBccGFyYW0gc3RhcnRfYiBpbmRleCBvZiB0aGUgZmlyc3QgbGluZSBpbiBCIGZvciB3aGljaCBtYXRjaGluZyBzaG91bGQgYmUKKyAqIAkJICBkb25lLgorICogXHBhcmFtIGxlbmd0aF9hIG51bWJlciBvZiBsaW5lcyBpbiBBIHdpdGggd2hpY2ggbGluZXMgaW4gQiBtYXkgYmUgY29tcGFyZWQuCisgKiBccGFyYW0gbGVuZ3RoX2IgbnVtYmVyIG9mIGxpbmVzIGluIEIgZm9yIHdoaWNoIG1hdGNoaW5nIHNob3VsZCBiZSBkb25lLgorICogXHBhcmFtIGZpbmdlcnByaW50c19hIG11dGFibGUgYXJyYXkgb2YgZmluZ2VycHJpbnRzIGluIEEuIFRoZSBmaXJzdCBlbGVtZW50CisgKiAJCQkgY29ycmVzcG9uZHMgdG8gdGhlIGxpbmUgYXQgc3RhcnRfYS4KKyAqIFxwYXJhbSBmaW5nZXJwcmludHNfYiBhcnJheSBvZiBmaW5nZXJwcmludHMgaW4gQi4gVGhlIGZpcnN0IGVsZW1lbnQKKyAqIAkJCSBjb3JyZXNwb25kcyB0byB0aGUgbGluZSBhdCBzdGFydF9iLgorICogXHBhcmFtIHNpbWlsYXJpdGllcyAyLWRpbWVuc2lvbmFsIGFycmF5IG9mIHNpbWlsYXJpdGllcyBiZXR3ZWVuIGxpbmVzIGluIEEKKyAqIAkJICAgICAgIGFuZCBCLiBTZWUgZ2V0X3NpbWlsYXJpdHkoKSBmb3IgbW9yZSBkZXRhaWxzLgorICogXHBhcmFtIGNlcnRhaW50aWVzIGFycmF5IG9mIHZhbHVlcyBpbmRpY2F0aW5nIGhvdyBzdHJvbmdseSBhIGxpbmUgaW4gQiBpcworICogCQkgICAgICBtYXRjaGVkIHdpdGggc29tZSBsaW5lIGluIEEuCisgKiBccGFyYW0gc2Vjb25kX2Jlc3RfcmVzdWx0IGFycmF5IG9mIGFic29sdXRlIGluZGljZXMgaW4gQSBmb3IgdGhlIHNlY29uZAorICogCQkJICAgICBjbG9zZXN0IG1hdGNoIG9mIGEgbGluZSBpbiBCLgorICogXHBhcmFtIHJlc3VsdCBhcnJheSBvZiBhYnNvbHV0ZSBpbmRpY2VzIGluIEEgZm9yIHRoZSBjbG9zZXN0IG1hdGNoIG9mIGEgbGluZQorICogCQkgaW4gQi4KKyAqIFxwYXJhbSBtYXhfc2VhcmNoX2Rpc3RhbmNlX2EgbWF4aW11bSBkaXN0YW5jZSBpbiBsaW5lcyBmcm9tIHRoZSBjbG9zZXN0IGxpbmUKKyAqIAkJCSAgICAgIGluIEEgZm9yIG90aGVyIGxpbmVzIGluIEEgZm9yIHdoaWNoCisgKiAJCQkgICAgICBzaW1pbGFyaXRpZXMgbWF5IGJlIGNhbGN1bGF0ZWQuCisgKiBccGFyYW0gbWF4X3NlYXJjaF9kaXN0YW5jZV9iIGFuIHVwcGVyIGJvdW5kIG9uIHRoZSBncmVhdGVzdCBwb3NzaWJsZQorICogCQkJICAgICAgZGlzdGFuY2UgYmV0d2VlbiBsaW5lcyBpbiBCIHN1Y2ggdGhhdCB0aGV5IHdpbGwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90aCBiZSBjb21wYXJlZCB3aXRoIHRoZSBzYW1lIGxpbmUgaW4gQQorICogCQkJICAgICAgYWNjb3JkaW5nIHRvIG1heF9zZWFyY2hfZGlzdGFuY2VfYS4KKyAqIFxwYXJhbSBtYXBfbGluZV9udW1iZXJfaW5fYl90b19hIHBhcmFtZXRlciB0byBtYXBfbGluZV9udW1iZXIoKS4KKyAqLworc3RhdGljIHZvaWQgZnV6enlfZmluZF9tYXRjaGluZ19saW5lc19yZWN1cnNlKAorCWludCBzdGFydF9hLCBpbnQgc3RhcnRfYiwKKwlpbnQgbGVuZ3RoX2EsIGludCBsZW5ndGhfYiwKKwlzdHJ1Y3QgZmluZ2VycHJpbnQgKmZpbmdlcnByaW50c19hLAorCXN0cnVjdCBmaW5nZXJwcmludCAqZmluZ2VycHJpbnRzX2IsCisJaW50ICpzaW1pbGFyaXRpZXMsCisJaW50ICpjZXJ0YWludGllcywKKwlpbnQgKnNlY29uZF9iZXN0X3Jlc3VsdCwKKwlpbnQgKnJlc3VsdCwKKwlpbnQgbWF4X3NlYXJjaF9kaXN0YW5jZV9hLAorCWludCBtYXhfc2VhcmNoX2Rpc3RhbmNlX2IsCisJY29uc3Qgc3RydWN0IGxpbmVfbnVtYmVyX21hcHBpbmcgKm1hcF9saW5lX251bWJlcl9pbl9iX3RvX2EpCit7CisJaW50IGksIGludmFsaWRhdGVfbWluLCBpbnZhbGlkYXRlX21heCwgb2Zmc2V0X2IsCisJCXNlY29uZF9oYWxmX3N0YXJ0X2EsIHNlY29uZF9oYWxmX3N0YXJ0X2IsCisJCXNlY29uZF9oYWxmX2xlbmd0aF9hLCBzZWNvbmRfaGFsZl9sZW5ndGhfYiwKKwkJbW9zdF9jZXJ0YWluX2xpbmVfYSwgbW9zdF9jZXJ0YWluX2xvY2FsX2xpbmVfYiA9IC0xLAorCQltb3N0X2NlcnRhaW5fbGluZV9jZXJ0YWludHkgPSAtMSwKKwkJY2xvc2VzdF9sb2NhbF9saW5lX2E7CisKKwlmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoX2I7ICsraSkgeworCQlmaW5kX2Jlc3RfbGluZV9tYXRjaGVzKHN0YXJ0X2EsCisJCQkJICAgICAgIGxlbmd0aF9hLAorCQkJCSAgICAgICBzdGFydF9iLAorCQkJCSAgICAgICBpLAorCQkJCSAgICAgICBmaW5nZXJwcmludHNfYSwKKwkJCQkgICAgICAgZmluZ2VycHJpbnRzX2IsCisJCQkJICAgICAgIHNpbWlsYXJpdGllcywKKwkJCQkgICAgICAgY2VydGFpbnRpZXMsCisJCQkJICAgICAgIHNlY29uZF9iZXN0X3Jlc3VsdCwKKwkJCQkgICAgICAgcmVzdWx0LAorCQkJCSAgICAgICBtYXhfc2VhcmNoX2Rpc3RhbmNlX2EsCisJCQkJICAgICAgIG1hcF9saW5lX251bWJlcl9pbl9iX3RvX2EpOworCisJCWlmIChjZXJ0YWludGllc1tpXSA+IG1vc3RfY2VydGFpbl9saW5lX2NlcnRhaW50eSkgeworCQkJbW9zdF9jZXJ0YWluX2xpbmVfY2VydGFpbnR5ID0gY2VydGFpbnRpZXNbaV07CisJCQltb3N0X2NlcnRhaW5fbG9jYWxfbGluZV9iID0gaTsKKwkJfQorCX0KKworCS8qIE5vIG1hdGNoZXMuICovCisJaWYgKG1vc3RfY2VydGFpbl9sb2NhbF9saW5lX2IgPT0gLTEpCisJCXJldHVybjsKKworCW1vc3RfY2VydGFpbl9saW5lX2EgPSByZXN1bHRbbW9zdF9jZXJ0YWluX2xvY2FsX2xpbmVfYl07CisKKwkvKgorCSAqIFN1YnRyYWN0IHRoZSBtb3N0IGNlcnRhaW4gbGluZSdzIGZpbmdlcnByaW50IGluIEIgZnJvbSB0aGUgbWF0Y2hlZAorCSAqIGZpbmdlcnByaW50IGluIEEuIFRoaXMgbWVhbnMgdGhhdCBvdGhlciBsaW5lcyBpbiBCIGNhbid0IGFsc28gbWF0Y2gKKwkgKiB0aGUgc2FtZSBwYXJ0cyBvZiB0aGUgbGluZSBpbiBBLgorCSAqLworCWZpbmdlcnByaW50X3N1YnRyYWN0KGZpbmdlcnByaW50c19hICsgbW9zdF9jZXJ0YWluX2xpbmVfYSAtIHN0YXJ0X2EsCisJCQkgICAgIGZpbmdlcnByaW50c19iICsgbW9zdF9jZXJ0YWluX2xvY2FsX2xpbmVfYik7CisKKwkvKiBJbnZhbGlkYXRlIHJlc3VsdHMgdGhhdCBtYXkgYmUgYWZmZWN0ZWQgYnkgdGhlIGNob2ljZSBvZiBtb3N0CisJICogY2VydGFpbiBsaW5lLgorCSAqLworCWludmFsaWRhdGVfbWluID0gbW9zdF9jZXJ0YWluX2xvY2FsX2xpbmVfYiAtIG1heF9zZWFyY2hfZGlzdGFuY2VfYjsKKwlpbnZhbGlkYXRlX21heCA9IG1vc3RfY2VydGFpbl9sb2NhbF9saW5lX2IgKyBtYXhfc2VhcmNoX2Rpc3RhbmNlX2IgKyAxOworCWlmIChpbnZhbGlkYXRlX21pbiA8IDApCisJCWludmFsaWRhdGVfbWluID0gMDsKKwlpZiAoaW52YWxpZGF0ZV9tYXggPiBsZW5ndGhfYikKKwkJaW52YWxpZGF0ZV9tYXggPSBsZW5ndGhfYjsKKworCS8qIEFzIHRoZSBmaW5nZXJwcmludCBpbiBBIGhhcyBjaGFuZ2VkLCBkaXNjYXJkIHByZXZpb3VzbHkgY2FsY3VsYXRlZAorCSAqIHNpbWlsYXJpdHkgdmFsdWVzIHdpdGggdGhhdCBmaW5nZXJwcmludC4KKwkgKi8KKwlmb3IgKGkgPSBpbnZhbGlkYXRlX21pbjsgaSA8IGludmFsaWRhdGVfbWF4OyArK2kpIHsKKwkJY2xvc2VzdF9sb2NhbF9saW5lX2EgPSBtYXBfbGluZV9udW1iZXIoCisJCQlpICsgc3RhcnRfYiwgbWFwX2xpbmVfbnVtYmVyX2luX2JfdG9fYSkgLSBzdGFydF9hOworCisJCS8qIENoZWNrIHRoYXQgdGhlIGxpbmVzIGluIEEgYW5kIEIgYXJlIGNsb3NlIGVub3VnaCB0aGF0IHRoZXJlCisJCSAqIGlzIGEgc2ltaWxhcml0eSB2YWx1ZSBmb3IgdGhlbS4KKwkJICovCisJCWlmIChhYnMobW9zdF9jZXJ0YWluX2xpbmVfYSAtIHN0YXJ0X2EgLSBjbG9zZXN0X2xvY2FsX2xpbmVfYSkgPgorCQkJbWF4X3NlYXJjaF9kaXN0YW5jZV9hKSB7CisJCQljb250aW51ZTsKKwkJfQorCisJCSpnZXRfc2ltaWxhcml0eShzaW1pbGFyaXRpZXMsIG1vc3RfY2VydGFpbl9saW5lX2EgLSBzdGFydF9hLAorCQkJCWksIGNsb3Nlc3RfbG9jYWxfbGluZV9hLAorCQkJCW1heF9zZWFyY2hfZGlzdGFuY2VfYSkgPSAtMTsKKwl9CisKKwkvKiBNb3JlIGludmFsaWRhdGluZyBvZiByZXN1bHRzIHRoYXQgbWF5IGJlIGFmZmVjdGVkIGJ5IHRoZSBjaG9pY2Ugb2YKKwkgKiBtb3N0IGNlcnRhaW4gbGluZS4KKwkgKiBEaXNjYXJkIHRoZSBtYXRjaGVzIGZvciBsaW5lcyBpbiBCIHRoYXQgYXJlIGN1cnJlbnRseSBtYXRjaGVkIHdpdGggYQorCSAqIGxpbmUgaW4gQSBzdWNoIHRoYXQgdGhlaXIgb3JkZXJpbmcgY29udHJhZGljdHMgdGhlIG9yZGVyaW5nIGltcG9zZWQKKwkgKiBieSB0aGUgY2hvaWNlIG9mIG1vc3QgY2VydGFpbiBsaW5lLgorCSAqLworCWZvciAoaSA9IG1vc3RfY2VydGFpbl9sb2NhbF9saW5lX2IgLSAxOyBpID49IGludmFsaWRhdGVfbWluOyAtLWkpIHsKKwkJLyogSW4gdGhpcyBsb29wIHdlIGRpc2NhcmQgcmVzdWx0cyBmb3IgbGluZXMgaW4gQiB0aGF0IGFyZQorCQkgKiBiZWZvcmUgbW9zdC1jZXJ0YWluLWxpbmUtQiBidXQgYXJlIG1hdGNoZWQgd2l0aCBhIGxpbmUgaW4gQQorCQkgKiB0aGF0IGlzIGFmdGVyIG1vc3QtY2VydGFpbi1saW5lLUEuCisJCSAqLworCQlpZiAoY2VydGFpbnRpZXNbaV0gPj0gMCAmJgorCQkgICAgKHJlc3VsdFtpXSA+PSBtb3N0X2NlcnRhaW5fbGluZV9hIHx8CisJCSAgICAgc2Vjb25kX2Jlc3RfcmVzdWx0W2ldID49IG1vc3RfY2VydGFpbl9saW5lX2EpKSB7CisJCQljZXJ0YWludGllc1tpXSA9IENFUlRBSU5UWV9OT1RfQ0FMQ1VMQVRFRDsKKwkJfQorCX0KKwlmb3IgKGkgPSBtb3N0X2NlcnRhaW5fbG9jYWxfbGluZV9iICsgMTsgaSA8IGludmFsaWRhdGVfbWF4OyArK2kpIHsKKwkJLyogSW4gdGhpcyBsb29wIHdlIGRpc2NhcmQgcmVzdWx0cyBmb3IgbGluZXMgaW4gQiB0aGF0IGFyZQorCQkgKiBhZnRlciBtb3N0LWNlcnRhaW4tbGluZS1CIGJ1dCBhcmUgbWF0Y2hlZCB3aXRoIGEgbGluZSBpbiBBCisJCSAqIHRoYXQgaXMgYmVmb3JlIG1vc3QtY2VydGFpbi1saW5lLUEuCisJCSAqLworCQlpZiAoY2VydGFpbnRpZXNbaV0gPj0gMCAmJgorCQkgICAgKHJlc3VsdFtpXSA8PSBtb3N0X2NlcnRhaW5fbGluZV9hIHx8CisJCSAgICAgc2Vjb25kX2Jlc3RfcmVzdWx0W2ldIDw9IG1vc3RfY2VydGFpbl9saW5lX2EpKSB7CisJCQljZXJ0YWludGllc1tpXSA9IENFUlRBSU5UWV9OT1RfQ0FMQ1VMQVRFRDsKKwkJfQorCX0KKworCS8qIFJlcGVhdCB0aGUgbWF0Y2hpbmcgcHJvY2VzcyBmb3IgbGluZXMgYmVmb3JlIHRoZSBtb3N0IGNlcnRhaW4gbGluZS4KKwkgKi8KKwlpZiAobW9zdF9jZXJ0YWluX2xvY2FsX2xpbmVfYiA+IDApIHsKKwkJZnV6enlfZmluZF9tYXRjaGluZ19saW5lc19yZWN1cnNlKAorCQkJc3RhcnRfYSwgc3RhcnRfYiwKKwkJCW1vc3RfY2VydGFpbl9saW5lX2EgKyAxIC0gc3RhcnRfYSwKKwkJCW1vc3RfY2VydGFpbl9sb2NhbF9saW5lX2IsCisJCQlmaW5nZXJwcmludHNfYSwgZmluZ2VycHJpbnRzX2IsIHNpbWlsYXJpdGllcywKKwkJCWNlcnRhaW50aWVzLCBzZWNvbmRfYmVzdF9yZXN1bHQsIHJlc3VsdCwKKwkJCW1heF9zZWFyY2hfZGlzdGFuY2VfYSwKKwkJCW1heF9zZWFyY2hfZGlzdGFuY2VfYiwKKwkJCW1hcF9saW5lX251bWJlcl9pbl9iX3RvX2EpOworCX0KKwkvKiBSZXBlYXQgdGhlIG1hdGNoaW5nIHByb2Nlc3MgZm9yIGxpbmVzIGFmdGVyIHRoZSBtb3N0IGNlcnRhaW4gbGluZS4KKwkgKi8KKwlpZiAobW9zdF9jZXJ0YWluX2xvY2FsX2xpbmVfYiArIDEgPCBsZW5ndGhfYikgeworCQlzZWNvbmRfaGFsZl9zdGFydF9hID0gbW9zdF9jZXJ0YWluX2xpbmVfYTsKKwkJb2Zmc2V0X2IgPSBtb3N0X2NlcnRhaW5fbG9jYWxfbGluZV9iICsgMTsKKwkJc2Vjb25kX2hhbGZfc3RhcnRfYiA9IHN0YXJ0X2IgKyBvZmZzZXRfYjsKKwkJc2Vjb25kX2hhbGZfbGVuZ3RoX2EgPQorCQkJbGVuZ3RoX2EgKyBzdGFydF9hIC0gc2Vjb25kX2hhbGZfc3RhcnRfYTsKKwkJc2Vjb25kX2hhbGZfbGVuZ3RoX2IgPQorCQkJbGVuZ3RoX2IgKyBzdGFydF9iIC0gc2Vjb25kX2hhbGZfc3RhcnRfYjsKKwkJZnV6enlfZmluZF9tYXRjaGluZ19saW5lc19yZWN1cnNlKAorCQkJc2Vjb25kX2hhbGZfc3RhcnRfYSwgc2Vjb25kX2hhbGZfc3RhcnRfYiwKKwkJCXNlY29uZF9oYWxmX2xlbmd0aF9hLCBzZWNvbmRfaGFsZl9sZW5ndGhfYiwKKwkJCWZpbmdlcnByaW50c19hICsgc2Vjb25kX2hhbGZfc3RhcnRfYSAtIHN0YXJ0X2EsCisJCQlmaW5nZXJwcmludHNfYiArIG9mZnNldF9iLAorCQkJc2ltaWxhcml0aWVzICsKKwkJCQlvZmZzZXRfYiAqIChtYXhfc2VhcmNoX2Rpc3RhbmNlX2EgKiAyICsgMSksCisJCQljZXJ0YWludGllcyArIG9mZnNldF9iLAorCQkJc2Vjb25kX2Jlc3RfcmVzdWx0ICsgb2Zmc2V0X2IsIHJlc3VsdCArIG9mZnNldF9iLAorCQkJbWF4X3NlYXJjaF9kaXN0YW5jZV9hLAorCQkJbWF4X3NlYXJjaF9kaXN0YW5jZV9iLAorCQkJbWFwX2xpbmVfbnVtYmVyX2luX2JfdG9fYSk7CisJfQorfQorCisvKiBGaW5kIHRoZSBsaW5lcyBpbiB0aGUgcGFyZW50IGxpbmUgcmFuZ2UgdGhhdCBtb3N0IGNsb3NlbHkgbWF0Y2ggdGhlIGxpbmVzIGluCisgKiB0aGUgdGFyZ2V0IGxpbmUgcmFuZ2UuIFRoaXMgaXMgYWNjb21wbGlzaGVkIGJ5IG1hdGNoaW5nIGZpbmdlcnByaW50cyBpbiBlYWNoCisgKiBibGFtZV9vcmlnaW4sIGFuZCBjaG9vc2luZyB0aGUgYmVzdCBtYXRjaGVzIHRoYXQgcHJlc2VydmUgdGhlIGxpbmUgb3JkZXJpbmcuCisgKiBTZWUgc3RydWN0IGZpbmdlcnByaW50IGZvciBkZXRhaWxzIG9mIGZpbmdlcnByaW50IG1hdGNoaW5nLCBhbmQKKyAqIGZ1enp5X2ZpbmRfbWF0Y2hpbmdfbGluZXNfcmVjdXJzZSBmb3IgZGV0YWlscyBvZiBwcmVzZXJ2aW5nIGxpbmUgb3JkZXJpbmcuCisgKgorICogVGhlIHBlcmZvcm1hbmNlIGlzIGJlbGlldmVkIHRvIGJlIE8obiBsb2cgbikgaW4gdGhlIHR5cGljYWwgY2FzZSBhbmQgTyhuXjIpCisgKiBpbiBhIHBhdGhvbG9naWNhbCBjYXNlLCB3aGVyZSBuIGlzIHRoZSBudW1iZXIgb2YgbGluZXMgaW4gdGhlIHRhcmdldCByYW5nZS4KKyAqLworc3RhdGljIGludCAqZnV6enlfZmluZF9tYXRjaGluZ19saW5lcyhzdHJ1Y3QgYmxhbWVfb3JpZ2luICpwYXJlbnQsCisJCQkJICAgICAgc3RydWN0IGJsYW1lX29yaWdpbiAqdGFyZ2V0LAorCQkJCSAgICAgIGludCB0bG5vLCBpbnQgcGFyZW50X3Nsbm8sIGludCBzYW1lLAorCQkJCSAgICAgIGludCBwYXJlbnRfbGVuKQoreworCS8qIFdlIHVzZSB0aGUgdGVybWlub2xvZ3kgIkEiIGZvciB0aGUgbGVmdCBoYW5kIHNpZGUgb2YgdGhlIGRpZmYgQUtBCisJICogcGFyZW50LCBhbmQgIkIiIGZvciB0aGUgcmlnaHQgaGFuZCBzaWRlIG9mIHRoZSBkaWZmIEFLQSB0YXJnZXQuICovCisJaW50IHN0YXJ0X2EgPSBwYXJlbnRfc2xubzsKKwlpbnQgbGVuZ3RoX2EgPSBwYXJlbnRfbGVuOworCWludCBzdGFydF9iID0gdGxubzsKKwlpbnQgbGVuZ3RoX2IgPSBzYW1lIC0gdGxubzsKKworCXN0cnVjdCBsaW5lX251bWJlcl9tYXBwaW5nIG1hcF9saW5lX251bWJlcl9pbl9iX3RvX2EgPSB7CisJCXN0YXJ0X2EsIGxlbmd0aF9hLCBzdGFydF9iLCBsZW5ndGhfYgorCX07CisKKwlzdHJ1Y3QgZmluZ2VycHJpbnQgKmZpbmdlcnByaW50c19hID0gcGFyZW50LT5maW5nZXJwcmludHM7CisJc3RydWN0IGZpbmdlcnByaW50ICpmaW5nZXJwcmludHNfYiA9IHRhcmdldC0+ZmluZ2VycHJpbnRzOworCisJaW50IGksICpyZXN1bHQsICpzZWNvbmRfYmVzdF9yZXN1bHQsCisJCSpjZXJ0YWludGllcywgKnNpbWlsYXJpdGllcywgc2ltaWxhcml0eV9jb3VudDsKKworCS8qCisJICogbWF4X3NlYXJjaF9kaXN0YW5jZV9hIG1lYW5zIHRoYXQgZ2l2ZW4gYSBsaW5lIGluIEIsIGNvbXBhcmUgaXQgdG8KKwkgKiB0aGUgbGluZSBpbiBBIHRoYXQgaXMgY2xvc2VzdCB0byBpdHMgcG9zaXRpb24sIGFuZCB0aGUgbGluZXMgaW4gQQorCSAqIHRoYXQgYXJlIG5vIGdyZWF0ZXIgdGhhbiBtYXhfc2VhcmNoX2Rpc3RhbmNlX2EgbGluZXMgYXdheSBmcm9tIHRoZQorCSAqIGNsb3Nlc3QgbGluZSBpbiBBLgorCSAqCisJICogbWF4X3NlYXJjaF9kaXN0YW5jZV9iIGlzIGFuIHVwcGVyIGJvdW5kIG9uIHRoZSBncmVhdGVzdCBwb3NzaWJsZQorCSAqIGRpc3RhbmNlIGJldHdlZW4gbGluZXMgaW4gQiBzdWNoIHRoYXQgdGhleSB3aWxsIGJvdGggYmUgY29tcGFyZWQKKwkgKiB3aXRoIHRoZSBzYW1lIGxpbmUgaW4gQSBhY2NvcmRpbmcgdG8gbWF4X3NlYXJjaF9kaXN0YW5jZV9hLgorCSAqLworCWludCBtYXhfc2VhcmNoX2Rpc3RhbmNlX2EgPSAxMCwgbWF4X3NlYXJjaF9kaXN0YW5jZV9iOworCisJaWYgKGxlbmd0aF9hIDw9IDApCisJCXJldHVybiBOVUxMOworCisJaWYgKG1heF9zZWFyY2hfZGlzdGFuY2VfYSA+PSBsZW5ndGhfYSkKKwkJbWF4X3NlYXJjaF9kaXN0YW5jZV9hID0gbGVuZ3RoX2EgPyBsZW5ndGhfYSAtIDEgOiAwOworCisJbWF4X3NlYXJjaF9kaXN0YW5jZV9iID0gKCgyICogbWF4X3NlYXJjaF9kaXN0YW5jZV9hICsgMSkgKiBsZW5ndGhfYgorCQkJCSAtIDEpIC8gbGVuZ3RoX2E7CisKKwlyZXN1bHQgPSB4Y2FsbG9jKHNpemVvZihpbnQpLCBsZW5ndGhfYik7CisJc2Vjb25kX2Jlc3RfcmVzdWx0ID0geGNhbGxvYyhzaXplb2YoaW50KSwgbGVuZ3RoX2IpOworCWNlcnRhaW50aWVzID0geGNhbGxvYyhzaXplb2YoaW50KSwgbGVuZ3RoX2IpOworCisJLyogU2VlIGdldF9zaW1pbGFyaXR5KCkgZm9yIGRldGFpbHMgb2Ygc2ltaWxhcml0aWVzLiAqLworCXNpbWlsYXJpdHlfY291bnQgPSBsZW5ndGhfYiAqIChtYXhfc2VhcmNoX2Rpc3RhbmNlX2EgKiAyICsgMSk7CisJc2ltaWxhcml0aWVzID0geGNhbGxvYyhzaXplb2YoaW50KSwgc2ltaWxhcml0eV9jb3VudCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoX2I7ICsraSkgeworCQlyZXN1bHRbaV0gPSAtMTsKKwkJc2Vjb25kX2Jlc3RfcmVzdWx0W2ldID0gLTE7CisJCWNlcnRhaW50aWVzW2ldID0gQ0VSVEFJTlRZX05PVF9DQUxDVUxBVEVEOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBzaW1pbGFyaXR5X2NvdW50OyArK2kpCisJCXNpbWlsYXJpdGllc1tpXSA9IC0xOworCisJZnV6enlfZmluZF9tYXRjaGluZ19saW5lc19yZWN1cnNlKHN0YXJ0X2EsIHN0YXJ0X2IsCisJCQkJCSAgbGVuZ3RoX2EsIGxlbmd0aF9iLAorCQkJCQkgIGZpbmdlcnByaW50c19hICsgc3RhcnRfYSwKKwkJCQkJICBmaW5nZXJwcmludHNfYiArIHN0YXJ0X2IsCisJCQkJCSAgc2ltaWxhcml0aWVzLAorCQkJCQkgIGNlcnRhaW50aWVzLAorCQkJCQkgIHNlY29uZF9iZXN0X3Jlc3VsdCwKKwkJCQkJICByZXN1bHQsCisJCQkJCSAgbWF4X3NlYXJjaF9kaXN0YW5jZV9hLAorCQkJCQkgIG1heF9zZWFyY2hfZGlzdGFuY2VfYiwKKwkJCQkJICAmbWFwX2xpbmVfbnVtYmVyX2luX2JfdG9fYSk7CisKKwlmcmVlKHNpbWlsYXJpdGllcyk7CisJZnJlZShjZXJ0YWludGllcyk7CisJZnJlZShzZWNvbmRfYmVzdF9yZXN1bHQpOworCisJcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIHZvaWQgZmlsbF9vcmlnaW5fZmluZ2VycHJpbnRzKHN0cnVjdCBibGFtZV9vcmlnaW4gKm8pCit7CisJaW50ICpsaW5lX3N0YXJ0czsKKworCWlmIChvLT5maW5nZXJwcmludHMpCisJCXJldHVybjsKKwlvLT5udW1fbGluZXMgPSBmaW5kX2xpbmVfc3RhcnRzKCZsaW5lX3N0YXJ0cywgby0+ZmlsZS5wdHIsCisJCQkJCW8tPmZpbGUuc2l6ZSk7CisJby0+ZmluZ2VycHJpbnRzID0geGNhbGxvYyhzaXplb2Yoc3RydWN0IGZpbmdlcnByaW50KSwgby0+bnVtX2xpbmVzKTsKKwlnZXRfbGluZV9maW5nZXJwcmludHMoby0+ZmluZ2VycHJpbnRzLCBvLT5maWxlLnB0ciwgbGluZV9zdGFydHMsCisJCQkgICAgICAwLCBvLT5udW1fbGluZXMpOworCWZyZWUobGluZV9zdGFydHMpOworfQorCitzdGF0aWMgdm9pZCBkcm9wX29yaWdpbl9maW5nZXJwcmludHMoc3RydWN0IGJsYW1lX29yaWdpbiAqbykKK3sKKwlpZiAoby0+ZmluZ2VycHJpbnRzKSB7CisJCWZyZWVfbGluZV9maW5nZXJwcmludHMoby0+ZmluZ2VycHJpbnRzLCBvLT5udW1fbGluZXMpOworCQlvLT5udW1fbGluZXMgPSAwOworCQlGUkVFX0FORF9OVUxMKG8tPmZpbmdlcnByaW50cyk7CisJfQorfQorCiAvKgogICogR2l2ZW4gYW4gb3JpZ2luLCBwcmVwYXJlIG1tZmlsZV90IHN0cnVjdHVyZSB0byBiZSB1c2VkIGJ5IHRoZQogICogZGlmZiBtYWNoaW5lcnkKICAqLwogc3RhdGljIHZvaWQgZmlsbF9vcmlnaW5fYmxvYihzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQsCi0JCQkgICAgIHN0cnVjdCBibGFtZV9vcmlnaW4gKm8sIG1tZmlsZV90ICpmaWxlLCBpbnQgKm51bV9yZWFkX2Jsb2IpCisJCQkgICAgIHN0cnVjdCBibGFtZV9vcmlnaW4gKm8sIG1tZmlsZV90ICpmaWxlLAorCQkJICAgICBpbnQgKm51bV9yZWFkX2Jsb2IsIGludCBmaWxsX2ZpbmdlcnByaW50cykKIHsKIAlpZiAoIW8tPmZpbGUucHRyKSB7CiAJCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKQEAgLTMzNCwxMSArMTAzOCwxNCBAQAogCX0KIAllbHNlCiAJCSpmaWxlID0gby0+ZmlsZTsKKwlpZiAoZmlsbF9maW5nZXJwcmludHMpCisJCWZpbGxfb3JpZ2luX2ZpbmdlcnByaW50cyhvKTsKIH0KIAogc3RhdGljIHZvaWQgZHJvcF9vcmlnaW5fYmxvYihzdHJ1Y3QgYmxhbWVfb3JpZ2luICpvKQogewogCUZSRUVfQU5EX05VTEwoby0+ZmlsZS5wdHIpOworCWRyb3Bfb3JpZ2luX2ZpbmdlcnByaW50cyhvKTsKIH0KIAogLyoKQEAgLTQ3NCw3ICsxMTgxLDkgQEAKIAogCWZvciAoZW50ID0gc2ItPmVudDsgZW50ICYmIChuZXh0ID0gZW50LT5uZXh0KTsgZW50ID0gbmV4dCkgewogCQlpZiAoZW50LT5zdXNwZWN0ID09IG5leHQtPnN1c3BlY3QgJiYKLQkJICAgIGVudC0+c19sbm8gKyBlbnQtPm51bV9saW5lcyA9PSBuZXh0LT5zX2xubykgeworCQkgICAgZW50LT5zX2xubyArIGVudC0+bnVtX2xpbmVzID09IG5leHQtPnNfbG5vICYmCisJCSAgICBlbnQtPmlnbm9yZWQgPT0gbmV4dC0+aWdub3JlZCAmJgorCQkgICAgZW50LT51bmJsYW1hYmxlID09IG5leHQtPnVuYmxhbWFibGUpIHsKIAkJCWVudC0+bnVtX2xpbmVzICs9IG5leHQtPm51bV9saW5lczsKIAkJCWVudC0+bmV4dCA9IG5leHQtPm5leHQ7CiAJCQlibGFtZV9vcmlnaW5fZGVjcmVmKG5leHQtPnN1c3BlY3QpOwpAQCAtNTI2LDcgKzEyMzUsNyBAQAogewogCWlmICghaXNfbnVsbF9vaWQoJm9yaWdpbi0+YmxvYl9vaWQpKQogCQlyZXR1cm4gMDsKLQlpZiAoZ2V0X3RyZWVfZW50cnkoJm9yaWdpbi0+Y29tbWl0LT5vYmplY3Qub2lkLCBvcmlnaW4tPnBhdGgsICZvcmlnaW4tPmJsb2Jfb2lkLCAmb3JpZ2luLT5tb2RlKSkKKwlpZiAoZ2V0X3RyZWVfZW50cnkociwgJm9yaWdpbi0+Y29tbWl0LT5vYmplY3Qub2lkLCBvcmlnaW4tPnBhdGgsICZvcmlnaW4tPmJsb2Jfb2lkLCAmb3JpZ2luLT5tb2RlKSkKIAkJZ290byBlcnJvcl9vdXQ7CiAJaWYgKG9pZF9vYmplY3RfaW5mbyhyLCAmb3JpZ2luLT5ibG9iX29pZCwgTlVMTCkgIT0gT0JKX0JMT0IpCiAJCWdvdG8gZXJyb3Jfb3V0OwpAQCAtNzI0LDggKzE0MzMsMTQgQEAKIAkJCSAgc3RydWN0IGJsYW1lX29yaWdpbiAqcGFyZW50KQogewogCWludCBjaHVua19lbmRfbG5vOworCWludCBpOwogCW1lbXNldChzcGxpdCwgMCwgc2l6ZW9mKHN0cnVjdCBibGFtZV9lbnRyeSBbM10pKTsKIAorCWZvciAoaSA9IDA7IGkgPCAzOyBpKyspIHsKKwkJc3BsaXRbaV0uaWdub3JlZCA9IGUtPmlnbm9yZWQ7CisJCXNwbGl0W2ldLnVuYmxhbWFibGUgPSBlLT51bmJsYW1hYmxlOworCX0KKwogCWlmIChlLT5zX2xubyA8IHRsbm8pIHsKIAkJLyogdGhlcmUgaXMgYSBwcmUtY2h1bmsgcGFydCBub3QgYmxhbWVkIG9uIHBhcmVudCAqLwogCQlzcGxpdFswXS5zdXNwZWN0ID0gYmxhbWVfb3JpZ2luX2luY3JlZihlLT5zdXNwZWN0KTsKQEAgLTgzNCw2ICsxNTQ5LDE2NCBAQAogfQogCiAvKgorICogU3BsaXRzIGEgYmxhbWUgZW50cnkgaW50byB0d28gZW50cmllcyBhdCAnbGVuJyBsaW5lcy4gIFRoZSBvcmlnaW5hbCAnZScKKyAqIGNvbnNpc3RzIG9mIGxlbiBsaW5lcywgaS5lLiBbZS0+bG5vLCBlLT5sbm8gKyBsZW4pLCBhbmQgdGhlIHNlY29uZCBwYXJ0LAorICogd2hpY2ggaXMgcmV0dXJuZWQsIGNvbnNpc3RzIG9mIHRoZSByZW1haW5kZXI6IFtlLT5sbm8gKyBsZW4sIGUtPmxubyArCisgKiBlLT5udW1fbGluZXMpLiAgVGhlIGNhbGxlciBuZWVkcyB0byBzb3J0IG91dCB0aGUgcmVmZXJlbmNlIGNvdW50aW5nIGZvciB0aGUKKyAqIG5ldyBlbnRyeSdzIHN1c3BlY3QuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYmxhbWVfZW50cnkgKnNwbGl0X2JsYW1lX2F0KHN0cnVjdCBibGFtZV9lbnRyeSAqZSwgaW50IGxlbiwKKwkJCQkJICBzdHJ1Y3QgYmxhbWVfb3JpZ2luICpuZXdfc3VzcGVjdCkKK3sKKwlzdHJ1Y3QgYmxhbWVfZW50cnkgKm4gPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgYmxhbWVfZW50cnkpKTsKKworCW4tPnN1c3BlY3QgPSBuZXdfc3VzcGVjdDsKKwluLT5pZ25vcmVkID0gZS0+aWdub3JlZDsKKwluLT51bmJsYW1hYmxlID0gZS0+dW5ibGFtYWJsZTsKKwluLT5sbm8gPSBlLT5sbm8gKyBsZW47CisJbi0+c19sbm8gPSBlLT5zX2xubyArIGxlbjsKKwluLT5udW1fbGluZXMgPSBlLT5udW1fbGluZXMgLSBsZW47CisJZS0+bnVtX2xpbmVzID0gbGVuOworCWUtPnNjb3JlID0gMDsKKwlyZXR1cm4gbjsKK30KKworc3RydWN0IGJsYW1lX2xpbmVfdHJhY2tlciB7CisJaW50IGlzX3BhcmVudDsKKwlpbnQgc19sbm87Cit9OworCitzdGF0aWMgaW50IGFyZV9saW5lc19hZGphY2VudChzdHJ1Y3QgYmxhbWVfbGluZV90cmFja2VyICpmaXJzdCwKKwkJCSAgICAgIHN0cnVjdCBibGFtZV9saW5lX3RyYWNrZXIgKnNlY29uZCkKK3sKKwlyZXR1cm4gZmlyc3QtPmlzX3BhcmVudCA9PSBzZWNvbmQtPmlzX3BhcmVudCAmJgorCSAgICAgICBmaXJzdC0+c19sbm8gKyAxID09IHNlY29uZC0+c19sbm87Cit9CisKK3N0YXRpYyBpbnQgc2Nhbl9wYXJlbnRfcmFuZ2Uoc3RydWN0IGZpbmdlcnByaW50ICpwX2ZwcywKKwkJCSAgICAgc3RydWN0IGZpbmdlcnByaW50ICp0X2ZwcywgaW50IHRfaWR4LAorCQkJICAgICBpbnQgZnJvbSwgaW50IG5yX2xpbmVzKQoreworCWludCBzaW0sIHBfaWR4OworCSNkZWZpbmUgRklOR0VSUFJJTlRfRklMRV9USFJFU0hPTEQJMTAKKwlpbnQgYmVzdF9zaW1fdmFsID0gRklOR0VSUFJJTlRfRklMRV9USFJFU0hPTEQ7CisJaW50IGJlc3Rfc2ltX2lkeCA9IC0xOworCisJZm9yIChwX2lkeCA9IGZyb207IHBfaWR4IDwgZnJvbSArIG5yX2xpbmVzOyBwX2lkeCsrKSB7CisJCXNpbSA9IGZpbmdlcnByaW50X3NpbWlsYXJpdHkoJnRfZnBzW3RfaWR4XSwgJnBfZnBzW3BfaWR4XSk7CisJCWlmIChzaW0gPCBiZXN0X3NpbV92YWwpCisJCQljb250aW51ZTsKKwkJLyogQnJlYWsgdGllcyB3aXRoIHRoZSBjbG9zZXN0LXRvLXRhcmdldCBsaW5lIG51bWJlciAqLworCQlpZiAoc2ltID09IGJlc3Rfc2ltX3ZhbCAmJiBiZXN0X3NpbV9pZHggIT0gLTEgJiYKKwkJICAgIGFicyhiZXN0X3NpbV9pZHggLSB0X2lkeCkgPCBhYnMocF9pZHggLSB0X2lkeCkpCisJCQljb250aW51ZTsKKwkJYmVzdF9zaW1fdmFsID0gc2ltOworCQliZXN0X3NpbV9pZHggPSBwX2lkeDsKKwl9CisJcmV0dXJuIGJlc3Rfc2ltX2lkeDsKK30KKworLyoKKyAqIFRoZSBmaXJzdCBwYXNzIGNoZWNrcyB0aGUgYmxhbWUgZW50cnkgKGZyb20gdGhlIHRhcmdldCkgYWdhaW5zdCB0aGUgcGFyZW50J3MKKyAqIGRpZmYgY2h1bmsuICBJZiB0aGF0IGZhaWxzIGZvciBhIGxpbmUsIHRoZSBzZWNvbmQgcGFzcyB0cmllcyB0byBtYXRjaCB0aGF0CisgKiBsaW5lIHRvIGFueSBwYXJ0IG9mIHBhcmVudCBmaWxlLiAgVGhhdCBjYXRjaGVzIGNhc2VzIHdoZXJlIGEgY2hhbmdlIHdhcworICogYnJva2VuIGludG8gdHdvIGNodW5rcyBieSAnY29udGV4dC4nCisgKi8KK3N0YXRpYyB2b2lkIGd1ZXNzX2xpbmVfYmxhbWVzKHN0cnVjdCBibGFtZV9vcmlnaW4gKnBhcmVudCwKKwkJCSAgICAgIHN0cnVjdCBibGFtZV9vcmlnaW4gKnRhcmdldCwKKwkJCSAgICAgIGludCB0bG5vLCBpbnQgb2Zmc2V0LCBpbnQgc2FtZSwgaW50IHBhcmVudF9sZW4sCisJCQkgICAgICBzdHJ1Y3QgYmxhbWVfbGluZV90cmFja2VyICpsaW5lX2JsYW1lcykKK3sKKwlpbnQgaSwgYmVzdF9pZHgsIHRhcmdldF9pZHg7CisJaW50IHBhcmVudF9zbG5vID0gdGxubyArIG9mZnNldDsKKwlpbnQgKmZ1enp5X21hdGNoZXM7CisKKwlmdXp6eV9tYXRjaGVzID0gZnV6enlfZmluZF9tYXRjaGluZ19saW5lcyhwYXJlbnQsIHRhcmdldCwKKwkJCQkJCSAgdGxubywgcGFyZW50X3Nsbm8sIHNhbWUsCisJCQkJCQkgIHBhcmVudF9sZW4pOworCWZvciAoaSA9IDA7IGkgPCBzYW1lIC0gdGxubzsgaSsrKSB7CisJCXRhcmdldF9pZHggPSB0bG5vICsgaTsKKwkJaWYgKGZ1enp5X21hdGNoZXMgJiYgZnV6enlfbWF0Y2hlc1tpXSA+PSAwKSB7CisJCQliZXN0X2lkeCA9IGZ1enp5X21hdGNoZXNbaV07CisJCX0gZWxzZSB7CisJCQliZXN0X2lkeCA9IHNjYW5fcGFyZW50X3JhbmdlKHBhcmVudC0+ZmluZ2VycHJpbnRzLAorCQkJCQkJICAgICB0YXJnZXQtPmZpbmdlcnByaW50cywKKwkJCQkJCSAgICAgdGFyZ2V0X2lkeCwgMCwKKwkJCQkJCSAgICAgcGFyZW50LT5udW1fbGluZXMpOworCQl9CisJCWlmIChiZXN0X2lkeCA+PSAwKSB7CisJCQlsaW5lX2JsYW1lc1tpXS5pc19wYXJlbnQgPSAxOworCQkJbGluZV9ibGFtZXNbaV0uc19sbm8gPSBiZXN0X2lkeDsKKwkJfSBlbHNlIHsKKwkJCWxpbmVfYmxhbWVzW2ldLmlzX3BhcmVudCA9IDA7CisJCQlsaW5lX2JsYW1lc1tpXS5zX2xubyA9IHRhcmdldF9pZHg7CisJCX0KKwl9CisJZnJlZShmdXp6eV9tYXRjaGVzKTsKK30KKworLyoKKyAqIFRoaXMgZGVjaWRlcyB3aGljaCBwYXJ0cyBvZiBhIGJsYW1lIGVudHJ5IGdvIHRvIHRoZSBwYXJlbnQgKGFkZGVkIHRvIHRoZQorICogaWdub3JlZHAgbGlzdCkgYW5kIHdoaWNoIHN0YXkgd2l0aCB0aGUgdGFyZ2V0IChhZGRlZCB0byB0aGUgZGlmZnAgbGlzdCkuICBUaGUKKyAqIGFjdHVhbCBkZWNpc2lvbiB3YXMgbWFkZSBpbiBhIHNlcGFyYXRlIGhldXJpc3RpYyBmdW5jdGlvbiwgYW5kIHRob3NlIGFuc3dlcnMKKyAqIGZvciB0aGUgbGluZXMgaW4gJ2UnIGFyZSBpbiBsaW5lX2JsYW1lcy4gIFRoaXMgY29uc3VtZXMgZSwgZXNzZW50aWFsbHkKKyAqIHB1dHRpbmcgaXQgb24gYSBsaXN0LgorICoKKyAqIE5vdGUgdGhhdCB0aGUgYmxhbWUgZW50cmllcyBvbiB0aGUgaWdub3JlZHAgbGlzdCBhcmUgbm90IG5lY2Vzc2FyaWx5IHNvcnRlZAorICogd2l0aCByZXNwZWN0IHRvIHRoZSBwYXJlbnQncyBsaW5lIG51bWJlcnMgeWV0LgorICovCitzdGF0aWMgdm9pZCBpZ25vcmVfYmxhbWVfZW50cnkoc3RydWN0IGJsYW1lX2VudHJ5ICplLAorCQkJICAgICAgIHN0cnVjdCBibGFtZV9vcmlnaW4gKnBhcmVudCwKKwkJCSAgICAgICBzdHJ1Y3QgYmxhbWVfZW50cnkgKipkaWZmcCwKKwkJCSAgICAgICBzdHJ1Y3QgYmxhbWVfZW50cnkgKippZ25vcmVkcCwKKwkJCSAgICAgICBzdHJ1Y3QgYmxhbWVfbGluZV90cmFja2VyICpsaW5lX2JsYW1lcykKK3sKKwlpbnQgZW50cnlfbGVuLCBucl9saW5lcywgaTsKKworCS8qCisJICogV2UgY2FydmUgbmV3IGVudHJpZXMgb2ZmIHRoZSBmcm9udCBvZiBlLiAgRWFjaCBlbnRyeSBjb21lcyBmcm9tIGEKKwkgKiBjb250aWd1b3VzIGNodW5rIG9mIGxpbmVzOiBhZGphY2VudCBsaW5lcyBmcm9tIHRoZSBzYW1lIG9yaWdpbgorCSAqIChlaXRoZXIgdGhlIHBhcmVudCBvciB0aGUgdGFyZ2V0KS4KKwkgKi8KKwllbnRyeV9sZW4gPSAxOworCW5yX2xpbmVzID0gZS0+bnVtX2xpbmVzOwkvKiBlIGNoYW5nZXMgaW4gdGhlIGxvb3AgKi8KKwlmb3IgKGkgPSAwOyBpIDwgbnJfbGluZXM7IGkrKykgeworCQlzdHJ1Y3QgYmxhbWVfZW50cnkgKm5leHQgPSBOVUxMOworCisJCS8qCisJCSAqIFdlIGFyZSBvZnRlbiBhZGphY2VudCB0byB0aGUgbmV4dCBsaW5lIC0gb25seSBzcGxpdCB0aGUgYmxhbWUKKwkJICogZW50cnkgd2hlbiB3ZSBoYXZlIHRvLgorCQkgKi8KKwkJaWYgKGkgKyAxIDwgbnJfbGluZXMpIHsKKwkJCWlmIChhcmVfbGluZXNfYWRqYWNlbnQoJmxpbmVfYmxhbWVzW2ldLAorCQkJCQkgICAgICAgJmxpbmVfYmxhbWVzW2kgKyAxXSkpIHsKKwkJCQllbnRyeV9sZW4rKzsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCW5leHQgPSBzcGxpdF9ibGFtZV9hdChlLCBlbnRyeV9sZW4sCisJCQkJCSAgICAgIGJsYW1lX29yaWdpbl9pbmNyZWYoZS0+c3VzcGVjdCkpOworCQl9CisJCWlmIChsaW5lX2JsYW1lc1tpXS5pc19wYXJlbnQpIHsKKwkJCWUtPmlnbm9yZWQgPSAxOworCQkJYmxhbWVfb3JpZ2luX2RlY3JlZihlLT5zdXNwZWN0KTsKKwkJCWUtPnN1c3BlY3QgPSBibGFtZV9vcmlnaW5faW5jcmVmKHBhcmVudCk7CisJCQllLT5zX2xubyA9IGxpbmVfYmxhbWVzW2kgLSBlbnRyeV9sZW4gKyAxXS5zX2xubzsKKwkJCWUtPm5leHQgPSAqaWdub3JlZHA7CisJCQkqaWdub3JlZHAgPSBlOworCQl9IGVsc2UgeworCQkJZS0+dW5ibGFtYWJsZSA9IDE7CisJCQkvKiBlLT5zX2xubyBpcyBhbHJlYWR5IGluIHRoZSB0YXJnZXQncyBhZGRyZXNzIHNwYWNlLiAqLworCQkJZS0+bmV4dCA9ICpkaWZmcDsKKwkJCSpkaWZmcCA9IGU7CisJCX0KKwkJYXNzZXJ0KGUtPm51bV9saW5lcyA9PSBlbnRyeV9sZW4pOworCQllID0gbmV4dDsKKwkJZW50cnlfbGVuID0gMTsKKwl9CisJYXNzZXJ0KCFlKTsKK30KKworLyoKICAqIFByb2Nlc3Mgb25lIGh1bmsgZnJvbSB0aGUgcGF0Y2ggYmV0d2VlbiB0aGUgY3VycmVudCBzdXNwZWN0IGZvcgogICogYmxhbWVfZW50cnkgZSBhbmQgaXRzIHBhcmVudC4gIFRoaXMgZmlyc3QgYmxhbWVzIGFueSB1bmZpbmlzaGVkCiAgKiBlbnRyaWVzIGJlZm9yZSB0aGUgY2h1bmsgKHdoaWNoIGlzIHdoZXJlIHRhcmdldCBhbmQgcGFyZW50IHN0YXJ0CkBAIC04NDIsMTMgKzE3MTUsMjAgQEAKICAqIC1DIG9wdGlvbnMgbWF5IGxlYWQgdG8gb3ZlcmxhcHBpbmcvZHVwbGljYXRlIHNvdXJjZSBsaW5lIG51bWJlcgogICogcmFuZ2VzLCBhbGwgd2UgY2FuIHJlbHkgb24gZnJvbSBzb3J0aW5nL21lcmdpbmcgaXMgdGhlIG9yZGVyIG9mIHRoZQogICogZmlyc3Qgc3VzcGVjdCBsaW5lIG51bWJlci4KKyAqCisgKiB0bG5vOiBsaW5lIG51bWJlciBpbiB0aGUgdGFyZ2V0IHdoZXJlIHRoaXMgY2h1bmsgYmVnaW5zCisgKiBzYW1lOiBsaW5lIG51bWJlciBpbiB0aGUgdGFyZ2V0IHdoZXJlIHRoaXMgY2h1bmsgZW5kcworICogb2Zmc2V0OiBhZGQgdG8gdGxubyB0byBnZXQgdGhlIGNodW5rIHN0YXJ0aW5nIHBvaW50IGluIHRoZSBwYXJlbnQKKyAqIHBhcmVudF9sZW46IG51bWJlciBvZiBsaW5lcyBpbiB0aGUgcGFyZW50IGNodW5rCiAgKi8KIHN0YXRpYyB2b2lkIGJsYW1lX2NodW5rKHN0cnVjdCBibGFtZV9lbnRyeSAqKipkc3RxLCBzdHJ1Y3QgYmxhbWVfZW50cnkgKioqc3JjcSwKLQkJCWludCB0bG5vLCBpbnQgb2Zmc2V0LCBpbnQgc2FtZSwKLQkJCXN0cnVjdCBibGFtZV9vcmlnaW4gKnBhcmVudCkKKwkJCWludCB0bG5vLCBpbnQgb2Zmc2V0LCBpbnQgc2FtZSwgaW50IHBhcmVudF9sZW4sCisJCQlzdHJ1Y3QgYmxhbWVfb3JpZ2luICpwYXJlbnQsCisJCQlzdHJ1Y3QgYmxhbWVfb3JpZ2luICp0YXJnZXQsIGludCBpZ25vcmVfZGlmZnMpCiB7CiAJc3RydWN0IGJsYW1lX2VudHJ5ICplID0gKipzcmNxOwotCXN0cnVjdCBibGFtZV9lbnRyeSAqc2FtZXAgPSBOVUxMLCAqZGlmZnAgPSBOVUxMOworCXN0cnVjdCBibGFtZV9lbnRyeSAqc2FtZXAgPSBOVUxMLCAqZGlmZnAgPSBOVUxMLCAqaWdub3JlZHAgPSBOVUxMOworCXN0cnVjdCBibGFtZV9saW5lX3RyYWNrZXIgKmxpbmVfYmxhbWVzID0gTlVMTDsKIAogCXdoaWxlIChlICYmIGUtPnNfbG5vIDwgdGxubykgewogCQlzdHJ1Y3QgYmxhbWVfZW50cnkgKm5leHQgPSBlLT5uZXh0OwpAQCAtODU5LDE0ICsxNzM5LDkgQEAKIAkJICovCiAJCWlmIChlLT5zX2xubyArIGUtPm51bV9saW5lcyA+IHRsbm8pIHsKIAkJCS8qIE1vdmUgc2Vjb25kIGhhbGYgdG8gYSBuZXcgcmVjb3JkICovCi0JCQlpbnQgbGVuID0gdGxubyAtIGUtPnNfbG5vOwotCQkJc3RydWN0IGJsYW1lX2VudHJ5ICpuID0geGNhbGxvYygxLCBzaXplb2YgKHN0cnVjdCBibGFtZV9lbnRyeSkpOwotCQkJbi0+c3VzcGVjdCA9IGUtPnN1c3BlY3Q7Ci0JCQluLT5sbm8gPSBlLT5sbm8gKyBsZW47Ci0JCQluLT5zX2xubyA9IGUtPnNfbG5vICsgbGVuOwotCQkJbi0+bnVtX2xpbmVzID0gZS0+bnVtX2xpbmVzIC0gbGVuOwotCQkJZS0+bnVtX2xpbmVzID0gbGVuOwotCQkJZS0+c2NvcmUgPSAwOworCQkJc3RydWN0IGJsYW1lX2VudHJ5ICpuOworCisJCQluID0gc3BsaXRfYmxhbWVfYXQoZSwgdGxubyAtIGUtPnNfbG5vLCBlLT5zdXNwZWN0KTsKIAkJCS8qIFB1c2ggbmV3IHJlY29yZCB0byBkaWZmcCAqLwogCQkJbi0+bmV4dCA9IGRpZmZwOwogCQkJZGlmZnAgPSBuOwpAQCAtOTAyLDYgKzE3NzcsMTQgQEAKIAkgKi8KIAlzYW1lcCA9IE5VTEw7CiAJZGlmZnAgPSBOVUxMOworCisJaWYgKGlnbm9yZV9kaWZmcyAmJiBzYW1lIC0gdGxubyA+IDApIHsKKwkJbGluZV9ibGFtZXMgPSB4Y2FsbG9jKHNpemVvZihzdHJ1Y3QgYmxhbWVfbGluZV90cmFja2VyKSwKKwkJCQkgICAgICBzYW1lIC0gdGxubyk7CisJCWd1ZXNzX2xpbmVfYmxhbWVzKHBhcmVudCwgdGFyZ2V0LCB0bG5vLCBvZmZzZXQsIHNhbWUsCisJCQkJICBwYXJlbnRfbGVuLCBsaW5lX2JsYW1lcyk7CisJfQorCiAJd2hpbGUgKGUgJiYgZS0+c19sbm8gPCBzYW1lKSB7CiAJCXN0cnVjdCBibGFtZV9lbnRyeSAqbmV4dCA9IGUtPm5leHQ7CiAKQEAgLTkxMywyMiArMTc5NiwzNyBAQAogCQkJICogTW92ZSBzZWNvbmQgaGFsZiB0byBhIG5ldyByZWNvcmQgdG8gYmUKIAkJCSAqIHByb2Nlc3NlZCBieSBsYXRlciBjaHVua3MKIAkJCSAqLwotCQkJaW50IGxlbiA9IHNhbWUgLSBlLT5zX2xubzsKLQkJCXN0cnVjdCBibGFtZV9lbnRyeSAqbiA9IHhjYWxsb2MoMSwgc2l6ZW9mIChzdHJ1Y3QgYmxhbWVfZW50cnkpKTsKLQkJCW4tPnN1c3BlY3QgPSBibGFtZV9vcmlnaW5faW5jcmVmKGUtPnN1c3BlY3QpOwotCQkJbi0+bG5vID0gZS0+bG5vICsgbGVuOwotCQkJbi0+c19sbm8gPSBlLT5zX2xubyArIGxlbjsKLQkJCW4tPm51bV9saW5lcyA9IGUtPm51bV9saW5lcyAtIGxlbjsKLQkJCWUtPm51bV9saW5lcyA9IGxlbjsKLQkJCWUtPnNjb3JlID0gMDsKKwkJCXN0cnVjdCBibGFtZV9lbnRyeSAqbjsKKworCQkJbiA9IHNwbGl0X2JsYW1lX2F0KGUsIHNhbWUgLSBlLT5zX2xubywKKwkJCQkJICAgYmxhbWVfb3JpZ2luX2luY3JlZihlLT5zdXNwZWN0KSk7CiAJCQkvKiBQdXNoIG5ldyByZWNvcmQgdG8gc2FtZXAgKi8KIAkJCW4tPm5leHQgPSBzYW1lcDsKIAkJCXNhbWVwID0gbjsKIAkJfQotCQllLT5uZXh0ID0gZGlmZnA7Ci0JCWRpZmZwID0gZTsKKwkJaWYgKGlnbm9yZV9kaWZmcykgeworCQkJaWdub3JlX2JsYW1lX2VudHJ5KGUsIHBhcmVudCwgJmRpZmZwLCAmaWdub3JlZHAsCisJCQkJCSAgIGxpbmVfYmxhbWVzICsgZS0+c19sbm8gLSB0bG5vKTsKKwkJfSBlbHNlIHsKKwkJCWUtPm5leHQgPSBkaWZmcDsKKwkJCWRpZmZwID0gZTsKKwkJfQogCQllID0gbmV4dDsKIAl9CisJZnJlZShsaW5lX2JsYW1lcyk7CisJaWYgKGlnbm9yZWRwKSB7CisJCS8qCisJCSAqIE5vdGUgaWdub3JlZHAgaXMgbm90IHNvcnRlZCB5ZXQsIGFuZCB0aHVzIG5laXRoZXIgaXMgZHN0cS4KKwkJICogVGhhdCBsaXN0IG11c3QgYmUgc29ydGVkIGJlZm9yZSB3ZSBxdWV1ZV9ibGFtZXMoKS4gIFdlIGRlZmVyCisJCSAqIHNvcnRpbmcgdW50aWwgYWZ0ZXIgYWxsIGRpZmYgaHVua3MgYXJlIHByb2Nlc3NlZCwgc28gdGhhdAorCQkgKiBndWVzc19saW5lX2JsYW1lcygpIGNhbiBwaWNrICphbnkqIGxpbmUgaW4gdGhlIHBhcmVudC4gIFRoZQorCQkgKiBzbGlnaHQgZHJhd2JhY2sgaXMgdGhhdCB3ZSBlbmQgdXAgc29ydGluZyBhbGwgYmxhbWUgZW50cmllcworCQkgKiBwYXNzZWQgdG8gdGhlIHBhcmVudCwgaW5jbHVkaW5nIHRob3NlIHRoYXQgYXJlIHVucmVsYXRlZCB0bworCQkgKiBjaGFuZ2VzIG1hZGUgYnkgdGhlIGlnbm9yZWQgY29tbWl0LgorCQkgKi8KKwkJKipkc3RxID0gcmV2ZXJzZV9ibGFtZShpZ25vcmVkcCwgKipkc3RxKTsKKwkJKmRzdHEgPSAmaWdub3JlZHAtPm5leHQ7CisJfQogCSoqc3JjcSA9IHJldmVyc2VfYmxhbWUoZGlmZnAsIHJldmVyc2VfYmxhbWUoc2FtZXAsIGUpKTsKIAkvKiBNb3ZlIGFjcm9zcyBlbGVtZW50cyB0aGF0IGFyZSBpbiB0aGUgdW5ibGFtYWJsZSBwb3J0aW9uICovCiAJaWYgKGRpZmZwKQpAQCAtOTM3LDcgKzE4MzUsOSBAQAogCiBzdHJ1Y3QgYmxhbWVfY2h1bmtfY2JfZGF0YSB7CiAJc3RydWN0IGJsYW1lX29yaWdpbiAqcGFyZW50OworCXN0cnVjdCBibGFtZV9vcmlnaW4gKnRhcmdldDsKIAlsb25nIG9mZnNldDsKKwlpbnQgaWdub3JlX2RpZmZzOwogCXN0cnVjdCBibGFtZV9lbnRyeSAqKmRzdHE7CiAJc3RydWN0IGJsYW1lX2VudHJ5ICoqc3JjcTsKIH07CkBAIC05NTAsNyArMTg1MCw4IEBACiAJaWYgKHN0YXJ0X2EgLSBzdGFydF9iICE9IGQtPm9mZnNldCkKIAkJZGllKCJpbnRlcm5hbCBlcnJvciBpbiBibGFtZTo6YmxhbWVfY2h1bmtfY2IiKTsKIAlibGFtZV9jaHVuaygmZC0+ZHN0cSwgJmQtPnNyY3EsIHN0YXJ0X2IsIHN0YXJ0X2EgLSBzdGFydF9iLAotCQkgICAgc3RhcnRfYiArIGNvdW50X2IsIGQtPnBhcmVudCk7CisJCSAgICBzdGFydF9iICsgY291bnRfYiwgY291bnRfYSwgZC0+cGFyZW50LCBkLT50YXJnZXQsCisJCSAgICBkLT5pZ25vcmVfZGlmZnMpOwogCWQtPm9mZnNldCA9IHN0YXJ0X2EgKyBjb3VudF9hIC0gKHN0YXJ0X2IgKyBjb3VudF9iKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTk2Miw3ICsxODYzLDcgQEAKICAqLwogc3RhdGljIHZvaWQgcGFzc19ibGFtZV90b19wYXJlbnQoc3RydWN0IGJsYW1lX3Njb3JlYm9hcmQgKnNiLAogCQkJCSBzdHJ1Y3QgYmxhbWVfb3JpZ2luICp0YXJnZXQsCi0JCQkJIHN0cnVjdCBibGFtZV9vcmlnaW4gKnBhcmVudCkKKwkJCQkgc3RydWN0IGJsYW1lX29yaWdpbiAqcGFyZW50LCBpbnQgaWdub3JlX2RpZmZzKQogewogCW1tZmlsZV90IGZpbGVfcCwgZmlsZV9vOwogCXN0cnVjdCBibGFtZV9jaHVua19jYl9kYXRhIGQ7CkBAIC05NzIsMTEgKzE4NzMsMTUgQEAKIAkJcmV0dXJuOyAvKiBub3RoaW5nIHJlbWFpbnMgZm9yIHRoaXMgdGFyZ2V0ICovCiAKIAlkLnBhcmVudCA9IHBhcmVudDsKKwlkLnRhcmdldCA9IHRhcmdldDsKIAlkLm9mZnNldCA9IDA7CisJZC5pZ25vcmVfZGlmZnMgPSBpZ25vcmVfZGlmZnM7CiAJZC5kc3RxID0gJm5ld2Rlc3Q7IGQuc3JjcSA9ICZ0YXJnZXQtPnN1c3BlY3RzOwogCi0JZmlsbF9vcmlnaW5fYmxvYigmc2ItPnJldnMtPmRpZmZvcHQsIHBhcmVudCwgJmZpbGVfcCwgJnNiLT5udW1fcmVhZF9ibG9iKTsKLQlmaWxsX29yaWdpbl9ibG9iKCZzYi0+cmV2cy0+ZGlmZm9wdCwgdGFyZ2V0LCAmZmlsZV9vLCAmc2ItPm51bV9yZWFkX2Jsb2IpOworCWZpbGxfb3JpZ2luX2Jsb2IoJnNiLT5yZXZzLT5kaWZmb3B0LCBwYXJlbnQsICZmaWxlX3AsCisJCQkgJnNiLT5udW1fcmVhZF9ibG9iLCBpZ25vcmVfZGlmZnMpOworCWZpbGxfb3JpZ2luX2Jsb2IoJnNiLT5yZXZzLT5kaWZmb3B0LCB0YXJnZXQsICZmaWxlX28sCisJCQkgJnNiLT5udW1fcmVhZF9ibG9iLCBpZ25vcmVfZGlmZnMpOwogCXNiLT5udW1fZ2V0X3BhdGNoKys7CiAKIAlpZiAoZGlmZl9odW5rcygmZmlsZV9wLCAmZmlsZV9vLCBibGFtZV9jaHVua19jYiwgJmQsIHNiLT54ZGxfb3B0cykpCkBAIC05ODQsOCArMTg4OSwxMyBAQAogCQkgICAgb2lkX3RvX2hleCgmcGFyZW50LT5jb21taXQtPm9iamVjdC5vaWQpLAogCQkgICAgb2lkX3RvX2hleCgmdGFyZ2V0LT5jb21taXQtPm9iamVjdC5vaWQpKTsKIAkvKiBUaGUgcmVzdCBhcmUgdGhlIHNhbWUgYXMgdGhlIHBhcmVudCAqLwotCWJsYW1lX2NodW5rKCZkLmRzdHEsICZkLnNyY3EsIElOVF9NQVgsIGQub2Zmc2V0LCBJTlRfTUFYLCBwYXJlbnQpOworCWJsYW1lX2NodW5rKCZkLmRzdHEsICZkLnNyY3EsIElOVF9NQVgsIGQub2Zmc2V0LCBJTlRfTUFYLCAwLAorCQkgICAgcGFyZW50LCB0YXJnZXQsIDApOwogCSpkLmRzdHEgPSBOVUxMOworCWlmIChpZ25vcmVfZGlmZnMpCisJCW5ld2Rlc3QgPSBsbGlzdF9tZXJnZXNvcnQobmV3ZGVzdCwgZ2V0X25leHRfYmxhbWUsCisJCQkJCSAgc2V0X25leHRfYmxhbWUsCisJCQkJCSAgY29tcGFyZV9ibGFtZV9zdXNwZWN0KTsKIAlxdWV1ZV9ibGFtZXMoc2IsIHBhcmVudCwgbmV3ZGVzdCk7CiAKIAlyZXR1cm47CkBAIC0xMTgyLDcgKzIwOTIsOCBAQAogCWlmICghdW5ibGFtZWQpCiAJCXJldHVybjsgLyogbm90aGluZyByZW1haW5zIGZvciB0aGlzIHRhcmdldCAqLwogCi0JZmlsbF9vcmlnaW5fYmxvYigmc2ItPnJldnMtPmRpZmZvcHQsIHBhcmVudCwgJmZpbGVfcCwgJnNiLT5udW1fcmVhZF9ibG9iKTsKKwlmaWxsX29yaWdpbl9ibG9iKCZzYi0+cmV2cy0+ZGlmZm9wdCwgcGFyZW50LCAmZmlsZV9wLAorCQkJICZzYi0+bnVtX3JlYWRfYmxvYiwgMCk7CiAJaWYgKCFmaWxlX3AucHRyKQogCQlyZXR1cm47CiAKQEAgLTEzMTEsNyArMjIyMiw4IEBACiAJCQlub3JpZ2luID0gZ2V0X29yaWdpbihwYXJlbnQsIHAtPm9uZS0+cGF0aCk7CiAJCQlvaWRjcHkoJm5vcmlnaW4tPmJsb2Jfb2lkLCAmcC0+b25lLT5vaWQpOwogCQkJbm9yaWdpbi0+bW9kZSA9IHAtPm9uZS0+bW9kZTsKLQkJCWZpbGxfb3JpZ2luX2Jsb2IoJnNiLT5yZXZzLT5kaWZmb3B0LCBub3JpZ2luLCAmZmlsZV9wLCAmc2ItPm51bV9yZWFkX2Jsb2IpOworCQkJZmlsbF9vcmlnaW5fYmxvYigmc2ItPnJldnMtPmRpZmZvcHQsIG5vcmlnaW4sICZmaWxlX3AsCisJCQkJCSAmc2ItPm51bV9yZWFkX2Jsb2IsIDApOwogCQkJaWYgKCFmaWxlX3AucHRyKQogCQkJCWNvbnRpbnVlOwogCkBAIC0xNDg5LDEyICsyNDAxLDM1IEBACiAJCQlibGFtZV9vcmlnaW5faW5jcmVmKHBvcmlnaW4pOwogCQkJb3JpZ2luLT5wcmV2aW91cyA9IHBvcmlnaW47CiAJCX0KLQkJcGFzc19ibGFtZV90b19wYXJlbnQoc2IsIG9yaWdpbiwgcG9yaWdpbik7CisJCXBhc3NfYmxhbWVfdG9fcGFyZW50KHNiLCBvcmlnaW4sIHBvcmlnaW4sIDApOwogCQlpZiAoIW9yaWdpbi0+c3VzcGVjdHMpCiAJCQlnb3RvIGZpbmlzaDsKIAl9CiAKIAkvKgorCSAqIFBhc3MgcmVtYWluaW5nIHN1c3BlY3RzIGZvciBpZ25vcmVkIGNvbW1pdHMgdG8gdGhlaXIgcGFyZW50cy4KKwkgKi8KKwlpZiAob2lkc2V0X2NvbnRhaW5zKCZzYi0+aWdub3JlX2xpc3QsICZjb21taXQtPm9iamVjdC5vaWQpKSB7CisJCWZvciAoaSA9IDAsIHNnID0gZmlyc3Rfc2NhcGVnb2F0KHJldnMsIGNvbW1pdCwgc2ItPnJldmVyc2UpOworCQkgICAgIGkgPCBudW1fc2cgJiYgc2c7CisJCSAgICAgc2cgPSBzZy0+bmV4dCwgaSsrKSB7CisJCQlzdHJ1Y3QgYmxhbWVfb3JpZ2luICpwb3JpZ2luID0gc2dfb3JpZ2luW2ldOworCisJCQlpZiAoIXBvcmlnaW4pCisJCQkJY29udGludWU7CisJCQlwYXNzX2JsYW1lX3RvX3BhcmVudChzYiwgb3JpZ2luLCBwb3JpZ2luLCAxKTsKKwkJCS8qCisJCQkgKiBQcmVlbXB0aXZlbHkgZHJvcCBwb3JpZ2luIHNvIHdlIGNhbiByZWZyZXNoIHRoZQorCQkJICogZmluZ2VycHJpbnRzIGlmIHdlIHVzZSB0aGUgcGFyZW50IGFnYWluLCB3aGljaCBjYW4KKwkJCSAqIG9jY3VyIGlmIHlvdSBpZ25vcmUgYmFjay10by1iYWNrIGNvbW1pdHMuCisJCQkgKi8KKwkJCWRyb3Bfb3JpZ2luX2Jsb2IocG9yaWdpbik7CisJCQlpZiAoIW9yaWdpbi0+c3VzcGVjdHMpCisJCQkJZ290byBmaW5pc2g7CisJCX0KKwl9CisKKwkvKgogCSAqIE9wdGlvbmFsbHkgZmluZCBtb3ZlcyBpbiBwYXJlbnRzJyBmaWxlcy4KIAkgKi8KIAlpZiAob3B0ICYgUElDS0FYRV9CTEFNRV9NT1ZFKSB7CkBAIC0xNTU2LDcgKzI0OTEsOCBAQAogCX0KIAlmb3IgKGkgPSAwOyBpIDwgbnVtX3NnOyBpKyspIHsKIAkJaWYgKHNnX29yaWdpbltpXSkgewotCQkJZHJvcF9vcmlnaW5fYmxvYihzZ19vcmlnaW5baV0pOworCQkJaWYgKCFzZ19vcmlnaW5baV0tPnN1c3BlY3RzKQorCQkJCWRyb3Bfb3JpZ2luX2Jsb2Ioc2dfb3JpZ2luW2ldKTsKIAkJCWJsYW1lX29yaWdpbl9kZWNyZWYoc2dfb3JpZ2luW2ldKTsKIAkJfQogCX0KQEAgLTE2MzMsMzcgKzI1NjksMTQgQEAKIAl9CiB9CiAKLXN0YXRpYyBjb25zdCBjaGFyICpnZXRfbmV4dF9saW5lKGNvbnN0IGNoYXIgKnN0YXJ0LCBjb25zdCBjaGFyICplbmQpCi17Ci0JY29uc3QgY2hhciAqbmwgPSBtZW1jaHIoc3RhcnQsICdcbicsIGVuZCAtIHN0YXJ0KTsKLQlyZXR1cm4gbmwgPyBubCArIDEgOiBlbmQ7Ci19Ci0KIC8qCiAgKiBUbyBhbGxvdyBxdWljayBhY2Nlc3MgdG8gdGhlIGNvbnRlbnRzIG9mIG50aCBsaW5lIGluIHRoZQogICogZmluYWwgaW1hZ2UsIHByZXBhcmUgYW4gaW5kZXggaW4gdGhlIHNjb3JlYm9hcmQuCiAgKi8KIHN0YXRpYyBpbnQgcHJlcGFyZV9saW5lcyhzdHJ1Y3QgYmxhbWVfc2NvcmVib2FyZCAqc2IpCiB7Ci0JY29uc3QgY2hhciAqYnVmID0gc2ItPmZpbmFsX2J1ZjsKLQl1bnNpZ25lZCBsb25nIGxlbiA9IHNiLT5maW5hbF9idWZfc2l6ZTsKLQljb25zdCBjaGFyICplbmQgPSBidWYgKyBsZW47Ci0JY29uc3QgY2hhciAqcDsKLQlpbnQgKmxpbmVubzsKLQlpbnQgbnVtID0gMDsKLQotCWZvciAocCA9IGJ1ZjsgcCA8IGVuZDsgcCA9IGdldF9uZXh0X2xpbmUocCwgZW5kKSkKLQkJbnVtKys7Ci0KLQlBTExPQ19BUlJBWShzYi0+bGluZW5vLCBudW0gKyAxKTsKLQlsaW5lbm8gPSBzYi0+bGluZW5vOwotCi0JZm9yIChwID0gYnVmOyBwIDwgZW5kOyBwID0gZ2V0X25leHRfbGluZShwLCBlbmQpKQotCQkqbGluZW5vKysgPSBwIC0gYnVmOwotCi0JKmxpbmVubyA9IGxlbjsKLQotCXNiLT5udW1fbGluZXMgPSBudW07CisJc2ItPm51bV9saW5lcyA9IGZpbmRfbGluZV9zdGFydHMoJnNiLT5saW5lbm8sIHNiLT5maW5hbF9idWYsCisJCQkJCSBzYi0+ZmluYWxfYnVmX3NpemUpOwogCXJldHVybiBzYi0+bnVtX2xpbmVzOwogfQogCkBAIC0xNjc4LDcgKzI1OTEsNyBAQAogCQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSByZXZzLT5wZW5kaW5nLm9iamVjdHNbaV0uaXRlbTsKIAkJaWYgKG9iai0+ZmxhZ3MgJiBVTklOVEVSRVNUSU5HKQogCQkJY29udGludWU7Ci0JCW9iaiA9IGRlcmVmX3RhZyh0aGVfcmVwb3NpdG9yeSwgb2JqLCBOVUxMLCAwKTsKKwkJb2JqID0gZGVyZWZfdGFnKHJldnMtPnJlcG8sIG9iaiwgTlVMTCwgMCk7CiAJCWlmIChvYmotPnR5cGUgIT0gT0JKX0NPTU1JVCkKIAkJCWRpZSgiTm9uIGNvbW1pdCAlcz8iLCByZXZzLT5wZW5kaW5nLm9iamVjdHNbaV0ubmFtZSk7CiAJCWlmIChmb3VuZCkKQEAgLTE3MDksMTQgKzI2MjIsMTQgQEAKIAogCS8qIElzIHRoYXQgc29sZSByZXYgYSBjb21taXR0aXNoPyAqLwogCW9iaiA9IHJldnMtPnBlbmRpbmcub2JqZWN0c1swXS5pdGVtOwotCW9iaiA9IGRlcmVmX3RhZyh0aGVfcmVwb3NpdG9yeSwgb2JqLCBOVUxMLCAwKTsKKwlvYmogPSBkZXJlZl90YWcocmV2cy0+cmVwbywgb2JqLCBOVUxMLCAwKTsKIAlpZiAob2JqLT50eXBlICE9IE9CSl9DT01NSVQpCiAJCXJldHVybiBOVUxMOwogCiAJLyogRG8gd2UgaGF2ZSBIRUFEPyAqLwogCWlmICghcmVzb2x2ZV9yZWZfdW5zYWZlKCJIRUFEIiwgUkVTT0xWRV9SRUZfUkVBRElORywgJmhlYWRfb2lkLCBOVUxMKSkKIAkJcmV0dXJuIE5VTEw7Ci0JaGVhZF9jb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkodGhlX3JlcG9zaXRvcnksCisJaGVhZF9jb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkocmV2cy0+cmVwbywKIAkJCQkJCSAgICAgJmhlYWRfb2lkLCAxKTsKIAlpZiAoIWhlYWRfY29tbWl0KQogCQlyZXR1cm4gTlVMTDsKQEAgLTE3NDUsNyArMjY1OCw3IEBACiAJCXN0cnVjdCBvYmplY3QgKm9iaiA9IHJldnMtPnBlbmRpbmcub2JqZWN0c1tpXS5pdGVtOwogCQlpZiAoIShvYmotPmZsYWdzICYgVU5JTlRFUkVTVElORykpCiAJCQljb250aW51ZTsKLQkJb2JqID0gZGVyZWZfdGFnKHRoZV9yZXBvc2l0b3J5LCBvYmosIE5VTEwsIDApOworCQlvYmogPSBkZXJlZl90YWcocmV2cy0+cmVwbywgb2JqLCBOVUxMLCAwKTsKIAkJaWYgKG9iai0+dHlwZSAhPSBPQkpfQ09NTUlUKQogCQkJZGllKCJOb24gY29tbWl0ICVzPyIsIHJldnMtPnBlbmRpbmcub2JqZWN0c1tpXS5uYW1lKTsKIAkJaWYgKGZvdW5kKQpkaWZmIC0tZ2l0IGEvYmxhbWUuaCBiL2JsYW1lLmgKaW5kZXggYmUzYTg5NS4uMDg5YjE4MSAxMDA2NDQKLS0tIGEvYmxhbWUuaAorKysgYi9ibGFtZS5oCkBAIC0xNiw2ICsxNiw4IEBACiAjZGVmaW5lIEJMQU1FX0RFRkFVTFRfTU9WRV9TQ09SRQkyMAogI2RlZmluZSBCTEFNRV9ERUZBVUxUX0NPUFlfU0NPUkUJNDAKIAorc3RydWN0IGZpbmdlcnByaW50OworCiAvKgogICogT25lIGJsb2IgaW4gYSBjb21taXQgdGhhdCBpcyBiZWluZyBzdXNwZWN0ZWQKICAqLwpAQCAtNTEsOCArNTMsMTAgQEAKIAkgKi8KIAlzdHJ1Y3QgYmxhbWVfZW50cnkgKnN1c3BlY3RzOwogCW1tZmlsZV90IGZpbGU7CisJaW50IG51bV9saW5lczsKKwlzdHJ1Y3QgZmluZ2VycHJpbnQgKmZpbmdlcnByaW50czsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIGJsb2Jfb2lkOwotCXVuc2lnbmVkIG1vZGU7CisJdW5zaWduZWQgc2hvcnQgbW9kZTsKIAkvKiBndWlsdHkgZ2V0cyBzZXQgd2hlbiBzaGlwcGluZyBhbnkgc3VzcGVjdHMgdG8gdGhlIGZpbmFsCiAJICogYmxhbWUgbGlzdCBpbnN0ZWFkIG9mIG90aGVyIGNvbW1pdHMKIAkgKi8KQEAgLTkyLDYgKzk2LDggQEAKIAkgKiBzY2FubmluZyB0aGUgbGluZXMgb3ZlciBhbmQgb3Zlci4KIAkgKi8KIAl1bnNpZ25lZCBzY29yZTsKKwlpbnQgaWdub3JlZDsKKwlpbnQgdW5ibGFtYWJsZTsKIH07CiAKIC8qCkBAIC0xMTcsNiArMTIzLDggQEAKIAkvKiBsaW5rZWQgbGlzdCBvZiBibGFtZXMgKi8KIAlzdHJ1Y3QgYmxhbWVfZW50cnkgKmVudDsKIAorCXN0cnVjdCBvaWRzZXQgaWdub3JlX2xpc3Q7CisKIAkvKiBsb29rLXVwIGEgbGluZSBpbiB0aGUgZmluYWwgYnVmZmVyICovCiAJaW50IG51bV9saW5lczsKIAlpbnQgKmxpbmVubzsKQEAgLTE3Nyw2ICsxODUsNiBAQAogCQkJCQlsb25nIHN0YXJ0LCBsb25nIGVuZCwKIAkJCQkJc3RydWN0IGJsYW1lX29yaWdpbiAqbyk7CiAKLWV4dGVybiBzdHJ1Y3QgYmxhbWVfb3JpZ2luICpnZXRfYmxhbWVfc3VzcGVjdHMoc3RydWN0IGNvbW1pdCAqY29tbWl0KTsKK3N0cnVjdCBibGFtZV9vcmlnaW4gKmdldF9ibGFtZV9zdXNwZWN0cyhzdHJ1Y3QgY29tbWl0ICpjb21taXQpOwogCiAjZW5kaWYgLyogQkxBTUVfSCAqLwpkaWZmIC0tZ2l0IGEvYmxvYi5jIGIvYmxvYi5jCmluZGV4IDM0MmJkYmIuLjM2ZjlhYmQgMTAwNjQ0Ci0tLSBhL2Jsb2IuYworKysgYi9ibG9iLmMKQEAgLTcsMTAgKzcsOSBAQAogCiBzdHJ1Y3QgYmxvYiAqbG9va3VwX2Jsb2Ioc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSBsb29rdXBfb2JqZWN0KHIsIG9pZC0+aGFzaCk7CisJc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX29iamVjdChyLCBvaWQpOwogCWlmICghb2JqKQotCQlyZXR1cm4gY3JlYXRlX29iamVjdChyLCBvaWQtPmhhc2gsCi0JCQkJICAgICBhbGxvY19ibG9iX25vZGUocikpOworCQlyZXR1cm4gY3JlYXRlX29iamVjdChyLCBvaWQsIGFsbG9jX2Jsb2Jfbm9kZShyKSk7CiAJcmV0dXJuIG9iamVjdF9hc190eXBlKHIsIG9iaiwgT0JKX0JMT0IsIDApOwogfQogCmRpZmYgLS1naXQgYS9icmFuY2guYyBiL2JyYW5jaC5jCmluZGV4IDc3NmY1NWYuLjU3OTQ5NDcgMTAwNjQ0Ci0tLSBhL2JyYW5jaC5jCisrKyBiL2JyYW5jaC5jCkBAIC01LDYgKzUsNyBAQAogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJyZWZzcGVjLmgiCiAjaW5jbHVkZSAicmVtb3RlLmgiCisjaW5jbHVkZSAic2VxdWVuY2VyLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAid29ya3RyZWUuaCIKIApAQCAtMjQyLDcgKzI0Myw4IEBACiAid2lsbCB0cmFjayBpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LCB5b3UgbWF5IHdhbnQgdG8gdXNlXG4iCiAiXCJnaXQgcHVzaCAtdVwiIHRvIHNldCB0aGUgdXBzdHJlYW0gY29uZmlnIGFzIHlvdSBwdXNoLiIpOwogCi12b2lkIGNyZWF0ZV9icmFuY2goY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqc3RhcnRfbmFtZSwKK3ZvaWQgY3JlYXRlX2JyYW5jaChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJICAgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqc3RhcnRfbmFtZSwKIAkJICAgaW50IGZvcmNlLCBpbnQgY2xvYmJlcl9oZWFkX29rLCBpbnQgcmVmbG9nLAogCQkgICBpbnQgcXVpZXQsIGVudW0gYnJhbmNoX3RyYWNrIHRyYWNrKQogewpAQCAtMjY3LDcgKzI2OSw3IEBACiAJfQogCiAJcmVhbF9yZWYgPSBOVUxMOwotCWlmIChnZXRfb2lkKHN0YXJ0X25hbWUsICZvaWQpKSB7CisJaWYgKGdldF9vaWRfbWIoc3RhcnRfbmFtZSwgJm9pZCkpIHsKIAkJaWYgKGV4cGxpY2l0X3RyYWNraW5nKSB7CiAJCQlpZiAoYWR2aWNlX3NldF91cHN0cmVhbV9mYWlsdXJlKSB7CiAJCQkJZXJyb3IoXyh1cHN0cmVhbV9taXNzaW5nKSwgc3RhcnRfbmFtZSk7CkBAIC0zMDAsNyArMzAyLDcgQEAKIAkJYnJlYWs7CiAJfQogCi0JaWYgKChjb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZSh0aGVfcmVwb3NpdG9yeSwgJm9pZCkpID09IE5VTEwpCisJaWYgKChjb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShyLCAmb2lkKSkgPT0gTlVMTCkKIAkJZGllKF8oIk5vdCBhIHZhbGlkIGJyYW5jaCBwb2ludDogJyVzJy4iKSwgc3RhcnRfbmFtZSk7CiAJb2lkY3B5KCZvaWQsICZjb21taXQtPm9iamVjdC5vaWQpOwogCkBAIC0zMzYsMTUgKzMzOCwxOSBAQAogCWZyZWUocmVhbF9yZWYpOwogfQogCi12b2lkIHJlbW92ZV9icmFuY2hfc3RhdGUodm9pZCkKK3ZvaWQgcmVtb3ZlX21lcmdlX2JyYW5jaF9zdGF0ZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcikKIHsKLQl1bmxpbmsoZ2l0X3BhdGhfY2hlcnJ5X3BpY2tfaGVhZCh0aGVfcmVwb3NpdG9yeSkpOwotCXVubGluayhnaXRfcGF0aF9yZXZlcnRfaGVhZCh0aGVfcmVwb3NpdG9yeSkpOwotCXVubGluayhnaXRfcGF0aF9tZXJnZV9oZWFkKHRoZV9yZXBvc2l0b3J5KSk7Ci0JdW5saW5rKGdpdF9wYXRoX21lcmdlX3JyKHRoZV9yZXBvc2l0b3J5KSk7Ci0JdW5saW5rKGdpdF9wYXRoX21lcmdlX21zZyh0aGVfcmVwb3NpdG9yeSkpOwotCXVubGluayhnaXRfcGF0aF9tZXJnZV9tb2RlKHRoZV9yZXBvc2l0b3J5KSk7Ci0JdW5saW5rKGdpdF9wYXRoX3NxdWFzaF9tc2codGhlX3JlcG9zaXRvcnkpKTsKKwl1bmxpbmsoZ2l0X3BhdGhfbWVyZ2VfaGVhZChyKSk7CisJdW5saW5rKGdpdF9wYXRoX21lcmdlX3JyKHIpKTsKKwl1bmxpbmsoZ2l0X3BhdGhfbWVyZ2VfbXNnKHIpKTsKKwl1bmxpbmsoZ2l0X3BhdGhfbWVyZ2VfbW9kZShyKSk7Cit9CisKK3ZvaWQgcmVtb3ZlX2JyYW5jaF9zdGF0ZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgaW50IHZlcmJvc2UpCit7CisJc2VxdWVuY2VyX3Bvc3RfY29tbWl0X2NsZWFudXAociwgdmVyYm9zZSk7CisJdW5saW5rKGdpdF9wYXRoX3NxdWFzaF9tc2cocikpOworCXJlbW92ZV9tZXJnZV9icmFuY2hfc3RhdGUocik7CiB9CiAKIHZvaWQgZGllX2lmX2NoZWNrZWRfb3V0KGNvbnN0IGNoYXIgKmJyYW5jaCwgaW50IGlnbm9yZV9jdXJyZW50X3dvcmt0cmVlKQpkaWZmIC0tZ2l0IGEvYnJhbmNoLmggYi9icmFuY2guaAppbmRleCA1Y2FjZTQ1Li5kZjBiZTYxIDEwMDY0NAotLS0gYS9icmFuY2guaAorKysgYi9icmFuY2guaApAQCAtMSw2ICsxLDcgQEAKICNpZm5kZWYgQlJBTkNIX0gKICNkZWZpbmUgQlJBTkNIX0gKIAorc3RydWN0IHJlcG9zaXRvcnk7CiBzdHJ1Y3Qgc3RyYnVmOwogCiBlbnVtIGJyYW5jaF90cmFjayB7CkBAIC0xOSw2ICsyMCw4IEBACiAvKgogICogQ3JlYXRlcyBhIG5ldyBicmFuY2gsIHdoZXJlOgogICoKKyAqICAgLSByIGlzIHRoZSByZXBvc2l0b3J5IHRvIGFkZCBhIGJyYW5jaCB0bworICoKICAqICAgLSBuYW1lIGlzIHRoZSBuZXcgYnJhbmNoIG5hbWUKICAqCiAgKiAgIC0gc3RhcnRfbmFtZSBpcyB0aGUgbmFtZSBvZiB0aGUgZXhpc3RpbmcgYnJhbmNoIHRoYXQgdGhlIG5ldyBicmFuY2ggc2hvdWxkCkBAIC0zNyw3ICs0MCw4IEBACiAgKiAgICAgdGhhdCBzdGFydF9uYW1lIGlzIGEgdHJhY2tpbmcgYnJhbmNoIGZvciAoaWYgYW55KS4KICAqCiAgKi8KLXZvaWQgY3JlYXRlX2JyYW5jaChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpzdGFydF9uYW1lLAordm9pZCBjcmVhdGVfYnJhbmNoKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkgICBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpzdGFydF9uYW1lLAogCQkgICBpbnQgZm9yY2UsIGludCBjbG9iYmVyX2hlYWRfb2ssCiAJCSAgIGludCByZWZsb2csIGludCBxdWlldCwgZW51bSBicmFuY2hfdHJhY2sgdHJhY2spOwogCkBAIC00Niw3ICs1MCw3IEBACiAgKiBSZXR1cm4gMSBpZiB0aGUgbmFtZWQgYnJhbmNoIGFscmVhZHkgZXhpc3RzOyByZXR1cm4gMCBvdGhlcndpc2UuCiAgKiBGaWxsIHJlZiB3aXRoIHRoZSBmdWxsIHJlZm5hbWUgZm9yIHRoZSBicmFuY2guCiAgKi8KLWV4dGVybiBpbnQgdmFsaWRhdGVfYnJhbmNobmFtZShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3RyYnVmICpyZWYpOworaW50IHZhbGlkYXRlX2JyYW5jaG5hbWUoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHN0cmJ1ZiAqcmVmKTsKIAogLyoKICAqIENoZWNrIGlmIGEgYnJhbmNoICduYW1lJyBjYW4gYmUgY3JlYXRlZCBhcyBhIG5ldyBicmFuY2g7IGRpZSBvdGhlcndpc2UuCkBAIC01NCwxMyArNTgsMTkgQEAKICAqIFJldHVybiAxIGlmIHRoZSBuYW1lZCBicmFuY2ggYWxyZWFkeSBleGlzdHM7IHJldHVybiAwIG90aGVyd2lzZS4KICAqIEZpbGwgcmVmIHdpdGggdGhlIGZ1bGwgcmVmbmFtZSBmb3IgdGhlIGJyYW5jaC4KICAqLwotZXh0ZXJuIGludCB2YWxpZGF0ZV9uZXdfYnJhbmNobmFtZShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3RyYnVmICpyZWYsIGludCBmb3JjZSk7CitpbnQgdmFsaWRhdGVfbmV3X2JyYW5jaG5hbWUoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHN0cmJ1ZiAqcmVmLCBpbnQgZm9yY2UpOworCisvKgorICogUmVtb3ZlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBtZXJnZSBzdGF0ZSBvbiB0aGUgY3VycmVudAorICogYnJhbmNoLiAoRS5nLiwgTUVSR0VfSEVBRCkKKyAqLwordm9pZCByZW1vdmVfbWVyZ2VfYnJhbmNoX3N0YXRlKHN0cnVjdCByZXBvc2l0b3J5ICpyKTsKIAogLyoKICAqIFJlbW92ZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3RhdGUgb2Ygd29ya2luZyBvbiB0aGUgY3VycmVudAogICogYnJhbmNoLiAoRS5nLiwgTUVSR0VfSEVBRCkKICAqLwotdm9pZCByZW1vdmVfYnJhbmNoX3N0YXRlKHZvaWQpOwordm9pZCByZW1vdmVfYnJhbmNoX3N0YXRlKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBpbnQgdmVyYm9zZSk7CiAKIC8qCiAgKiBDb25maWd1cmUgbG9jYWwgYnJhbmNoICJsb2NhbCIgYXMgZG93bnN0cmVhbSB0byBicmFuY2ggInJlbW90ZSIKQEAgLTY4LDI2ICs3OCwyNiBAQAogICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MuCiAgKi8KICNkZWZpbmUgQlJBTkNIX0NPTkZJR19WRVJCT1NFIDAxCi1leHRlcm4gaW50IGluc3RhbGxfYnJhbmNoX2NvbmZpZyhpbnQgZmxhZywgY29uc3QgY2hhciAqbG9jYWwsIGNvbnN0IGNoYXIgKm9yaWdpbiwgY29uc3QgY2hhciAqcmVtb3RlKTsKK2ludCBpbnN0YWxsX2JyYW5jaF9jb25maWcoaW50IGZsYWcsIGNvbnN0IGNoYXIgKmxvY2FsLCBjb25zdCBjaGFyICpvcmlnaW4sIGNvbnN0IGNoYXIgKnJlbW90ZSk7CiAKIC8qCiAgKiBSZWFkIGJyYW5jaCBkZXNjcmlwdGlvbgogICovCi1leHRlcm4gaW50IHJlYWRfYnJhbmNoX2Rlc2Moc3RydWN0IHN0cmJ1ZiAqLCBjb25zdCBjaGFyICpicmFuY2hfbmFtZSk7CitpbnQgcmVhZF9icmFuY2hfZGVzYyhzdHJ1Y3Qgc3RyYnVmICosIGNvbnN0IGNoYXIgKmJyYW5jaF9uYW1lKTsKIAogLyoKICAqIENoZWNrIGlmIGEgYnJhbmNoIGlzIGNoZWNrZWQgb3V0IGluIHRoZSBtYWluIHdvcmt0cmVlIG9yIGFueSBsaW5rZWQKICAqIHdvcmt0cmVlIGFuZCBkaWUgKHdpdGggYSBtZXNzYWdlIGRlc2NyaWJpbmcgaXRzIGNoZWNrb3V0IGxvY2F0aW9uKSBpZgogICogaXQgaXMuCiAgKi8KLWV4dGVybiB2b2lkIGRpZV9pZl9jaGVja2VkX291dChjb25zdCBjaGFyICpicmFuY2gsIGludCBpZ25vcmVfY3VycmVudF93b3JrdHJlZSk7Cit2b2lkIGRpZV9pZl9jaGVja2VkX291dChjb25zdCBjaGFyICpicmFuY2gsIGludCBpZ25vcmVfY3VycmVudF93b3JrdHJlZSk7CiAKIC8qCiAgKiBVcGRhdGUgYWxsIHBlci13b3JrdHJlZSBIRUFEcyBwb2ludGluZyBhdCB0aGUgb2xkIHJlZiB0byBwb2ludCB0aGUgbmV3IHJlZi4KICAqIFRoaXMgd2lsbCBiZSB1c2VkIHdoZW4gcmVuYW1pbmcgYSBicmFuY2guIFJldHVybnMgMCBpZiBzdWNjZXNzZnVsLCBub24temVybwogICogb3RoZXJ3aXNlLgogICovCi1leHRlcm4gaW50IHJlcGxhY2VfZWFjaF93b3JrdHJlZV9oZWFkX3N5bXJlZihjb25zdCBjaGFyICpvbGRyZWYsIGNvbnN0IGNoYXIgKm5ld3JlZiwKLQkJCQkJICAgICBjb25zdCBjaGFyICpsb2dtc2cpOworaW50IHJlcGxhY2VfZWFjaF93b3JrdHJlZV9oZWFkX3N5bXJlZihjb25zdCBjaGFyICpvbGRyZWYsIGNvbnN0IGNoYXIgKm5ld3JlZiwKKwkJCQkgICAgICBjb25zdCBjaGFyICpsb2dtc2cpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2J1aWx0aW4uaCBiL2J1aWx0aW4uaAppbmRleCA2NTM4OTMyLi4yYjI1YTgwIDEwMDY0NAotLS0gYS9idWlsdGluLmgKKysrIGIvYnVpbHRpbi5oCkBAIC0xMDIsNyArMTAyLDcgQEAKICNkZWZpbmUgUFJVTkVfUEFDS0VEX0RSWV9SVU4gMDEKICNkZWZpbmUgUFJVTkVfUEFDS0VEX1ZFUkJPU0UgMDIKIAotZXh0ZXJuIHZvaWQgcHJ1bmVfcGFja2VkX29iamVjdHMoaW50KTsKK3ZvaWQgcHJ1bmVfcGFja2VkX29iamVjdHMoaW50KTsKIAogc3RydWN0IGZtdF9tZXJnZV9tc2dfb3B0cyB7CiAJdW5zaWduZWQgYWRkX3RpdGxlOjEsCkBAIC0xMTAsOCArMTEwLDggQEAKIAlpbnQgc2hvcnRsb2dfbGVuOwogfTsKIAotZXh0ZXJuIGludCBmbXRfbWVyZ2VfbXNnKHN0cnVjdCBzdHJidWYgKmluLCBzdHJ1Y3Qgc3RyYnVmICpvdXQsCi0JCQkgc3RydWN0IGZtdF9tZXJnZV9tc2dfb3B0cyAqKTsKK2ludCBmbXRfbWVyZ2VfbXNnKHN0cnVjdCBzdHJidWYgKmluLCBzdHJ1Y3Qgc3RyYnVmICpvdXQsCisJCSAgc3RydWN0IGZtdF9tZXJnZV9tc2dfb3B0cyAqKTsKIAogLyoqCiAgKiBJZiBhIGJ1aWx0LWluIGhhcyBERUxBWV9QQUdFUl9DT05GSUcgc2V0LCB0aGUgYnVpbHQtaW4gc2hvdWxkIGNhbGwgdGhpcyBlYXJseQpAQCAtMTIzLDEzMSArMTIzLDEzNSBAQAogICogWW91IHNob3VsZCBtb3N0IGxpa2VseSB1c2UgYSBkZWZhdWx0IG9mIDAgb3IgMS4gIlB1bnQiICgtMSkgY291bGQgYmUgdXNlZnVsCiAgKiB0byBiZSBhYmxlIHRvIGZhbGwgYmFjayB0byBzb21lIGhpc3RvcmljYWwgY29tcGF0aWJpbGl0eSBuYW1lLgogICovCi1leHRlcm4gdm9pZCBzZXR1cF9hdXRvX3BhZ2VyKGNvbnN0IGNoYXIgKmNtZCwgaW50IGRlZik7Cit2b2lkIHNldHVwX2F1dG9fcGFnZXIoY29uc3QgY2hhciAqY21kLCBpbnQgZGVmKTsKIAotZXh0ZXJuIGludCBpc19idWlsdGluKGNvbnN0IGNoYXIgKnMpOworaW50IGlzX2J1aWx0aW4oY29uc3QgY2hhciAqcyk7CiAKLWV4dGVybiBpbnQgY21kX2FkZChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9hbShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9hbm5vdGF0ZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9hcHBseShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9hcmNoaXZlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX2Jpc2VjdF9faGVscGVyKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX2JsYW1lKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX2JyYW5jaChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9idW5kbGUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfY2F0X2ZpbGUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfY2hlY2tvdXQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfY2hlY2tvdXRfaW5kZXgoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfY2hlY2tfYXR0cihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9jaGVja19pZ25vcmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfY2hlY2tfbWFpbG1hcChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9jaGVja19yZWZfZm9ybWF0KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX2NoZXJyeShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9jaGVycnlfcGljayhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9jbG9uZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9jbGVhbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9jb2x1bW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfY29tbWl0KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX2NvbW1pdF9ncmFwaChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9jb21taXRfdHJlZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9jb25maWcoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfY291bnRfb2JqZWN0cyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9jcmVkZW50aWFsKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX2Rlc2NyaWJlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX2RpZmZfZmlsZXMoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfZGlmZl9pbmRleChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9kaWZmKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX2RpZmZfdHJlZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9kaWZmdG9vbChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9mYXN0X2V4cG9ydChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9mZXRjaChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9mZXRjaF9wYWNrKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX2ZtdF9tZXJnZV9tc2coaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfZm9yX2VhY2hfcmVmKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX2Zvcm1hdF9wYXRjaChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9mc2NrKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX2djKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX2dldF90YXJfY29tbWl0X2lkKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX2dyZXAoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfaGFzaF9vYmplY3QoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfaGVscChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9pbmRleF9wYWNrKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX2luaXRfZGIoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfaW50ZXJwcmV0X3RyYWlsZXJzKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX2xvZyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9sb2dfcmVmbG9nKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX2xzX2ZpbGVzKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX2xzX3RyZWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfbHNfcmVtb3RlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX21haWxpbmZvKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX21haWxzcGxpdChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9tZXJnZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9tZXJnZV9iYXNlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX21lcmdlX2luZGV4KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX21lcmdlX291cnMoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfbWVyZ2VfZmlsZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9tZXJnZV9yZWN1cnNpdmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfbWVyZ2VfdHJlZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9ta3RhZyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9ta3RyZWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfbXVsdGlfcGFja19pbmRleChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9tdihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9uYW1lX3JldihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9ub3RlcyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9wYWNrX29iamVjdHMoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfcGFja19yZWR1bmRhbnQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfcGF0Y2hfaWQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfcHJ1bmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfcHJ1bmVfcGFja2VkKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3B1bGwoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfcHVzaChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9yYW5nZV9kaWZmKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3JlYWRfdHJlZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9yZWJhc2UoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfcmViYXNlX19pbnRlcmFjdGl2ZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9yZWNlaXZlX3BhY2soaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfcmVmbG9nKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3JlbW90ZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9yZW1vdGVfZXh0KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3JlbW90ZV9mZChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9yZXBhY2soaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfcmVyZXJlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3Jlc2V0KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3Jldl9saXN0KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3Jldl9wYXJzZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9yZXZlcnQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfcm0oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfc2VuZF9wYWNrKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3NlcnZlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3Nob3J0bG9nKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3Nob3coaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfc2hvd19icmFuY2goaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfc2hvd19pbmRleChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9zdGF0dXMoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfc3RyaXBzcGFjZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9zdWJtb2R1bGVfX2hlbHBlcihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF9zeW1ib2xpY19yZWYoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfdGFnKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3Rhcl90cmVlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3VucGFja19maWxlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3VucGFja19vYmplY3RzKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3VwZGF0ZV9pbmRleChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF91cGRhdGVfcmVmKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3VwZGF0ZV9zZXJ2ZXJfaW5mbyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF91cGxvYWRfYXJjaGl2ZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF91cGxvYWRfYXJjaGl2ZV93cml0ZXIoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfdXBsb2FkX3BhY2soaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfdmFyKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3ZlcmlmeV9jb21taXQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfdmVyaWZ5X3RhZyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci1leHRlcm4gaW50IGNtZF92ZXJzaW9uKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3doYXRjaGFuZ2VkKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3dvcmt0cmVlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3dyaXRlX3RyZWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfdmVyaWZ5X3BhY2soaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfc2hvd19yZWYoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBjbWRfcGFja19yZWZzKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgY21kX3JlcGxhY2UoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9hZGQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9hbShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2Fubm90YXRlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfYXBwbHkoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9hcmNoaXZlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfYmlzZWN0X19oZWxwZXIoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9ibGFtZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2JyYW5jaChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2J1bmRsZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2NhdF9maWxlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfY2hlY2tvdXQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9jaGVja291dF9pbmRleChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2NoZWNrX2F0dHIoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9jaGVja19pZ25vcmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9jaGVja19tYWlsbWFwKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfY2hlY2tfcmVmX2Zvcm1hdChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2NoZXJyeShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2NoZXJyeV9waWNrKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfY2xvbmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9jbGVhbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2NvbHVtbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2NvbW1pdChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2NvbW1pdF9ncmFwaChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2NvbW1pdF90cmVlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfY29uZmlnKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfY291bnRfb2JqZWN0cyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2NyZWRlbnRpYWwoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9kZXNjcmliZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2RpZmZfZmlsZXMoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9kaWZmX2luZGV4KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfZGlmZihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2RpZmZfdHJlZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2RpZmZ0b29sKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfZW52X19oZWxwZXIoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9mYXN0X2V4cG9ydChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2ZldGNoKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfZmV0Y2hfcGFjayhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2ZtdF9tZXJnZV9tc2coaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9mb3JfZWFjaF9yZWYoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9mb3JtYXRfcGF0Y2goaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9mc2NrKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfZ2MoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9nZXRfdGFyX2NvbW1pdF9pZChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2dyZXAoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9oYXNoX29iamVjdChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2hlbHAoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9pbmRleF9wYWNrKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfaW5pdF9kYihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2ludGVycHJldF90cmFpbGVycyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2xvZyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2xvZ19yZWZsb2coaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9sc19maWxlcyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX2xzX3RyZWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9sc19yZW1vdGUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9tYWlsaW5mbyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX21haWxzcGxpdChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX21lcmdlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfbWVyZ2VfYmFzZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX21lcmdlX2luZGV4KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfbWVyZ2Vfb3VycyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX21lcmdlX2ZpbGUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9tZXJnZV9yZWN1cnNpdmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9tZXJnZV90cmVlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfbWt0YWcoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9ta3RyZWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9tdWx0aV9wYWNrX2luZGV4KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfbXYoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9uYW1lX3JldihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX25vdGVzKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfcGFja19vYmplY3RzKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfcGFja19yZWR1bmRhbnQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9wYXRjaF9pZChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX3BydW5lKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfcHJ1bmVfcGFja2VkKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfcHVsbChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX3B1c2goaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9yYW5nZV9kaWZmKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfcmVhZF90cmVlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfcmViYXNlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfcmViYXNlX19pbnRlcmFjdGl2ZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX3JlY2VpdmVfcGFjayhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX3JlZmxvZyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX3JlbW90ZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX3JlbW90ZV9leHQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9yZW1vdGVfZmQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9yZXBhY2soaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9yZXJlcmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9yZXNldChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX3Jlc3RvcmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9yZXZfbGlzdChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX3Jldl9wYXJzZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX3JldmVydChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX3JtKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfc2VuZF9wYWNrKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfc2hvcnRsb2coaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9zaG93KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfc2hvd19icmFuY2goaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9zaG93X2luZGV4KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfc3BhcnNlX2NoZWNrb3V0KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfc3RhdHVzKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfc3Rhc2goaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9zdHJpcHNwYWNlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfc3VibW9kdWxlX19oZWxwZXIoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9zd2l0Y2goaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9zeW1ib2xpY19yZWYoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF90YWcoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF90YXJfdHJlZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX3VucGFja19maWxlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfdW5wYWNrX29iamVjdHMoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF91cGRhdGVfaW5kZXgoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF91cGRhdGVfcmVmKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfdXBkYXRlX3NlcnZlcl9pbmZvKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfdXBsb2FkX2FyY2hpdmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF91cGxvYWRfYXJjaGl2ZV93cml0ZXIoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF91cGxvYWRfcGFjayhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX3ZhcihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX3ZlcmlmeV9jb21taXQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF92ZXJpZnlfdGFnKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfdmVyc2lvbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX3doYXRjaGFuZ2VkKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfd29ya3RyZWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF93cml0ZV90cmVlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBjbWRfdmVyaWZ5X3BhY2soaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IGNtZF9zaG93X3JlZihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX3BhY2tfcmVmcyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCk7CitpbnQgY21kX3JlcGxhY2UoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2J1aWx0aW4vYWRkLmMgYi9idWlsdGluL2FkZC5jCmluZGV4IGY2NWMxNzIuLjE4YTA4ODEgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vYWRkLmMKKysrIGIvYnVpbHRpbi9hZGQuYwpAQCAtMyw2ICszLDcgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTGludXMgVG9ydmFsZHMKICAqLworI2RlZmluZSBVU0VfVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJidWlsdGluLmgiCkBAIC0xOSw2ICsyMCw3IEBACiAjaW5jbHVkZSAiYnVsay1jaGVja2luLmgiCiAjaW5jbHVkZSAiYXJndi1hcnJheS5oIgogI2luY2x1ZGUgInN1Ym1vZHVsZS5oIgorI2luY2x1ZGUgImFkZC1pbnRlcmFjdGl2ZS5oIgogCiBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGJ1aWx0aW5fYWRkX3VzYWdlW10gPSB7CiAJTl8oImdpdCBhZGQgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIiksCkBAIC0yNyw2ICsyOSw5IEBACiBzdGF0aWMgaW50IHBhdGNoX2ludGVyYWN0aXZlLCBhZGRfaW50ZXJhY3RpdmUsIGVkaXRfaW50ZXJhY3RpdmU7CiBzdGF0aWMgaW50IHRha2Vfd29ya3RyZWVfY2hhbmdlczsKIHN0YXRpYyBpbnQgYWRkX3Jlbm9ybWFsaXplOworc3RhdGljIGludCBwYXRoc3BlY19maWxlX251bDsKK3N0YXRpYyBjb25zdCBjaGFyICpwYXRoc3BlY19mcm9tX2ZpbGU7CitzdGF0aWMgaW50IGxlZ2FjeV9zdGFzaF9wOyAvKiBzdXBwb3J0IGZvciB0aGUgc2NyaXB0ZWQgYGdpdCBzdGFzaGAgKi8KIAogc3RydWN0IHVwZGF0ZV9jYWxsYmFja19kYXRhIHsKIAlpbnQgZmxhZ3M7CkBAIC0xMzcsNyArMTQyLDcgQEAKIAkJCWNvbnRpbnVlOyAvKiBkbyBub3QgdG91Y2ggbm9uIGJsb2JzICovCiAJCWlmIChwYXRoc3BlYyAmJiAhY2VfcGF0aF9tYXRjaCgmdGhlX2luZGV4LCBjZSwgcGF0aHNwZWMsIE5VTEwpKQogCQkJY29udGludWU7Ci0JCXJldHZhbCB8PSBhZGRfZmlsZV90b19jYWNoZShjZS0+bmFtZSwgZmxhZ3MgfCBIQVNIX1JFTk9STUFMSVpFKTsKKwkJcmV0dmFsIHw9IGFkZF9maWxlX3RvX2NhY2hlKGNlLT5uYW1lLCBmbGFncyB8IEFERF9DQUNIRV9SRU5PUk1BTElaRSk7CiAJfQogCiAJcmV0dXJuIHJldHZhbDsKQEAgLTE3Niw3ICsxODEsNyBAQAogCQkJZGllKF8oInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiKSwKIAkJCSAgICBwYXRoc3BlYy0+aXRlbXNbaV0ubWF0Y2gpOwogCX0KLSAgICAgICAgZnJlZShzZWVuKTsKKwlmcmVlKHNlZW4pOwogfQogCiBpbnQgcnVuX2FkZF9pbnRlcmFjdGl2ZShjb25zdCBjaGFyICpyZXZpc2lvbiwgY29uc3QgY2hhciAqcGF0Y2hfbW9kZSwKQEAgLTE4NCw2ICsxODksMzQgQEAKIHsKIAlpbnQgc3RhdHVzLCBpOwogCXN0cnVjdCBhcmd2X2FycmF5IGFyZ3YgPSBBUkdWX0FSUkFZX0lOSVQ7CisJaW50IHVzZV9idWlsdGluX2FkZF9pID0KKwkJZ2l0X2Vudl9ib29sKCJHSVRfVEVTVF9BRERfSV9VU0VfQlVJTFRJTiIsIC0xKTsKKworCWlmICh1c2VfYnVpbHRpbl9hZGRfaSA8IDApCisJCWdpdF9jb25maWdfZ2V0X2Jvb2woImFkZC5pbnRlcmFjdGl2ZS51c2VidWlsdGluIiwKKwkJCQkgICAgJnVzZV9idWlsdGluX2FkZF9pKTsKKworCWlmICh1c2VfYnVpbHRpbl9hZGRfaSA9PSAxKSB7CisJCWVudW0gYWRkX3BfbW9kZSBtb2RlOworCisJCWlmICghcGF0Y2hfbW9kZSkKKwkJCXJldHVybiAhIXJ1bl9hZGRfaSh0aGVfcmVwb3NpdG9yeSwgcGF0aHNwZWMpOworCisJCWlmICghc3RyY21wKHBhdGNoX21vZGUsICItLXBhdGNoIikpCisJCQltb2RlID0gQUREX1BfQUREOworCQllbHNlIGlmICghc3RyY21wKHBhdGNoX21vZGUsICItLXBhdGNoPXN0YXNoIikpCisJCQltb2RlID0gQUREX1BfU1RBU0g7CisJCWVsc2UgaWYgKCFzdHJjbXAocGF0Y2hfbW9kZSwgIi0tcGF0Y2g9cmVzZXQiKSkKKwkJCW1vZGUgPSBBRERfUF9SRVNFVDsKKwkJZWxzZSBpZiAoIXN0cmNtcChwYXRjaF9tb2RlLCAiLS1wYXRjaD1jaGVja291dCIpKQorCQkJbW9kZSA9IEFERF9QX0NIRUNLT1VUOworCQllbHNlIGlmICghc3RyY21wKHBhdGNoX21vZGUsICItLXBhdGNoPXdvcmt0cmVlIikpCisJCQltb2RlID0gQUREX1BfV09SS1RSRUU7CisJCWVsc2UKKwkJCWRpZSgiJyVzJyBub3Qgc3VwcG9ydGVkIiwgcGF0Y2hfbW9kZSk7CisKKwkJcmV0dXJuICEhcnVuX2FkZF9wKHRoZV9yZXBvc2l0b3J5LCBtb2RlLCByZXZpc2lvbiwgcGF0aHNwZWMpOworCX0KIAogCWFyZ3ZfYXJyYXlfcHVzaCgmYXJndiwgImFkZC0taW50ZXJhY3RpdmUiKTsKIAlpZiAocGF0Y2hfbW9kZSkKQEAgLTIzOSw3ICsyNzIsNyBAQAogCXJldi5kaWZmb3B0Lm91dHB1dF9mb3JtYXQgPSBESUZGX0ZPUk1BVF9QQVRDSDsKIAlyZXYuZGlmZm9wdC51c2VfY29sb3IgPSAwOwogCXJldi5kaWZmb3B0LmZsYWdzLmlnbm9yZV9kaXJ0eV9zdWJtb2R1bGVzID0gMTsKLQlvdXQgPSBvcGVuKGZpbGUsIE9fQ1JFQVQgfCBPX1dST05MWSwgMDY2Nik7CisJb3V0ID0gb3BlbihmaWxlLCBPX0NSRUFUIHwgT19XUk9OTFkgfCBPX1RSVU5DLCAwNjY2KTsKIAlpZiAob3V0IDwgMCkKIAkJZGllKF8oIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmcuIiksIGZpbGUpOwogCXJldi5kaWZmb3B0LmZpbGUgPSB4ZmRvcGVuKG91dCwgInciKTsKQEAgLTMwOCw2ICszNDEsMTAgQEAKIAkJICAgTl8oIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIikpLAogCU9QVF9ISURERU5fQk9PTCgwLCAid2Fybi1lbWJlZGRlZC1yZXBvIiwgJndhcm5fb25fZW1iZWRkZWRfcmVwbywKIAkJCU5fKCJ3YXJuIHdoZW4gYWRkaW5nIGFuIGVtYmVkZGVkIHJlcG9zaXRvcnkiKSksCisJT1BUX0hJRERFTl9CT09MKDAsICJsZWdhY3ktc3Rhc2gtcCIsICZsZWdhY3lfc3Rhc2hfcCwKKwkJCU5fKCJiYWNrZW5kIGZvciBgZ2l0IHN0YXNoIC1wYCIpKSwKKwlPUFRfUEFUSFNQRUNfRlJPTV9GSUxFKCZwYXRoc3BlY19mcm9tX2ZpbGUpLAorCU9QVF9QQVRIU1BFQ19GSUxFX05VTCgmcGF0aHNwZWNfZmlsZV9udWwpLAogCU9QVF9FTkQoKSwKIH07CiAKQEAgLTMxOCw2ICszNTUsNyBAQAogCQlpZ25vcmVfYWRkX2Vycm9ycyA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKIAkJcmV0dXJuIDA7CiAJfQorCiAJcmV0dXJuIGdpdF9kZWZhdWx0X2NvbmZpZyh2YXIsIHZhbHVlLCBjYik7CiB9CiAKQEAgLTM2OCwxNiArNDA2LDIwIEBACiAJCWZwcmludGYoc3RkZXJyLCBfKGlnbm9yZV9lcnJvcikpOwogCQlmb3IgKGkgPSAwOyBpIDwgZGlyLT5pZ25vcmVkX25yOyBpKyspCiAJCQlmcHJpbnRmKHN0ZGVyciwgIiVzXG4iLCBkaXItPmlnbm9yZWRbaV0tPm5hbWUpOwotCQlmcHJpbnRmKHN0ZGVyciwgXygiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIpKTsKKwkJaWYgKGFkdmljZV9hZGRfaWdub3JlZF9maWxlKQorCQkJYWR2aXNlKF8oIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIHRoZW0uXG4iCisJCQkJIlR1cm4gdGhpcyBtZXNzYWdlIG9mZiBieSBydW5uaW5nXG4iCisJCQkJIlwiZ2l0IGNvbmZpZyBhZHZpY2UuYWRkSWdub3JlZEZpbGUgZmFsc2VcIiIpKTsKIAkJZXhpdF9zdGF0dXMgPSAxOwogCX0KIAogCWZvciAoaSA9IDA7IGkgPCBkaXItPm5yOyBpKyspIHsKLQkJY2hlY2tfZW1iZWRkZWRfcmVwbyhkaXItPmVudHJpZXNbaV0tPm5hbWUpOwogCQlpZiAoYWRkX2ZpbGVfdG9faW5kZXgoJnRoZV9pbmRleCwgZGlyLT5lbnRyaWVzW2ldLT5uYW1lLCBmbGFncykpIHsKIAkJCWlmICghaWdub3JlX2FkZF9lcnJvcnMpCiAJCQkJZGllKF8oImFkZGluZyBmaWxlcyBmYWlsZWQiKSk7CiAJCQlleGl0X3N0YXR1cyA9IDE7CisJCX0gZWxzZSB7CisJCQljaGVja19lbWJlZGRlZF9yZXBvKGRpci0+ZW50cmllc1tpXS0+bmFtZSk7CiAJCX0KIAl9CiAJcmV0dXJuIGV4aXRfc3RhdHVzOwpAQCAtNDAwLDExICs0NDIsMjggQEAKIAkJCSAgYnVpbHRpbl9hZGRfdXNhZ2UsIFBBUlNFX09QVF9LRUVQX0FSR1YwKTsKIAlpZiAocGF0Y2hfaW50ZXJhY3RpdmUpCiAJCWFkZF9pbnRlcmFjdGl2ZSA9IDE7Ci0JaWYgKGFkZF9pbnRlcmFjdGl2ZSkKKwlpZiAoYWRkX2ludGVyYWN0aXZlKSB7CisJCWlmIChwYXRoc3BlY19mcm9tX2ZpbGUpCisJCQlkaWUoXygiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIikpOwogCQlleGl0KGludGVyYWN0aXZlX2FkZChhcmdjIC0gMSwgYXJndiArIDEsIHByZWZpeCwgcGF0Y2hfaW50ZXJhY3RpdmUpKTsKKwl9CisJaWYgKGxlZ2FjeV9zdGFzaF9wKSB7CisJCXN0cnVjdCBwYXRoc3BlYyBwYXRoc3BlYzsKIAotCWlmIChlZGl0X2ludGVyYWN0aXZlKQorCQlwYXJzZV9wYXRoc3BlYygmcGF0aHNwZWMsIDAsCisJCQlQQVRIU1BFQ19QUkVGRVJfRlVMTCB8CisJCQlQQVRIU1BFQ19TWU1MSU5LX0xFQURJTkdfUEFUSCB8CisJCQlQQVRIU1BFQ19QUkVGSVhfT1JJR0lOLAorCQkJcHJlZml4LCBhcmd2KTsKKworCQlyZXR1cm4gcnVuX2FkZF9pbnRlcmFjdGl2ZShOVUxMLCAiLS1wYXRjaD1zdGFzaCIsICZwYXRoc3BlYyk7CisJfQorCisJaWYgKGVkaXRfaW50ZXJhY3RpdmUpIHsKKwkJaWYgKHBhdGhzcGVjX2Zyb21fZmlsZSkKKwkJCWRpZShfKCItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWVkaXQiKSk7CiAJCXJldHVybihlZGl0X3BhdGNoKGFyZ2MsIGFyZ3YsIHByZWZpeCkpOworCX0KIAlhcmdjLS07CiAJYXJndisrOwogCkBAIC00MTYsMTAgKzQ3NSw2IEBACiAJaWYgKGFkZHJlbW92ZSAmJiB0YWtlX3dvcmt0cmVlX2NoYW5nZXMpCiAJCWRpZShfKCItQSBhbmQgLXUgYXJlIG11dHVhbGx5IGluY29tcGF0aWJsZSIpKTsKIAotCWlmICghdGFrZV93b3JrdHJlZV9jaGFuZ2VzICYmIGFkZHJlbW92ZV9leHBsaWNpdCA8IDAgJiYgYXJnYykKLQkJLyogVHVybiAiZ2l0IGFkZCBwYXRoc3BlYy4uLiIgdG8gImdpdCBhZGQgLUEgcGF0aHNwZWMuLi4iICovCi0JCWFkZHJlbW92ZSA9IDE7Ci0KIAlpZiAoIXNob3dfb25seSAmJiBpZ25vcmVfbWlzc2luZykKIAkJZGllKF8oIk9wdGlvbiAtLWlnbm9yZS1taXNzaW5nIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWRyeS1ydW4iKSk7CiAKQEAgLTQzMiwxOSArNDg3LDYgQEAKIAogCWhvbGRfbG9ja2VkX2luZGV4KCZsb2NrX2ZpbGUsIExPQ0tfRElFX09OX0VSUk9SKTsKIAotCWZsYWdzID0gKCh2ZXJib3NlID8gQUREX0NBQ0hFX1ZFUkJPU0UgOiAwKSB8Ci0JCSAoc2hvd19vbmx5ID8gQUREX0NBQ0hFX1BSRVRFTkQgOiAwKSB8Ci0JCSAoaW50ZW50X3RvX2FkZCA/IEFERF9DQUNIRV9JTlRFTlQgOiAwKSB8Ci0JCSAoaWdub3JlX2FkZF9lcnJvcnMgPyBBRERfQ0FDSEVfSUdOT1JFX0VSUk9SUyA6IDApIHwKLQkJICghKGFkZHJlbW92ZSB8fCB0YWtlX3dvcmt0cmVlX2NoYW5nZXMpCi0JCSAgPyBBRERfQ0FDSEVfSUdOT1JFX1JFTU9WQUwgOiAwKSk7Ci0KLQlpZiAocmVxdWlyZV9wYXRoc3BlYyAmJiBhcmdjID09IDApIHsKLQkJZnByaW50ZihzdGRlcnIsIF8oIk5vdGhpbmcgc3BlY2lmaWVkLCBub3RoaW5nIGFkZGVkLlxuIikpOwotCQlmcHJpbnRmKHN0ZGVyciwgXygiTWF5YmUgeW91IHdhbnRlZCB0byBzYXkgJ2dpdCBhZGQgLic/XG4iKSk7Ci0JCXJldHVybiAwOwotCX0KLQogCS8qCiAJICogQ2hlY2sgdGhlICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIiBibG9jawogCSAqIGJlbG93IGJlZm9yZSBlbmFibGluZyBuZXcgbWFnaWMuCkBAIC00NTQsNiArNDk2LDM4IEBACiAJCSAgICAgICBQQVRIU1BFQ19TWU1MSU5LX0xFQURJTkdfUEFUSCwKIAkJICAgICAgIHByZWZpeCwgYXJndik7CiAKKwlpZiAocGF0aHNwZWNfZnJvbV9maWxlKSB7CisJCWlmIChwYXRoc3BlYy5ucikKKwkJCWRpZShfKCItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCBwYXRoc3BlYyBhcmd1bWVudHMiKSk7CisKKwkJcGFyc2VfcGF0aHNwZWNfZmlsZSgmcGF0aHNwZWMsIFBBVEhTUEVDX0FUVFIsCisJCQkJICAgIFBBVEhTUEVDX1BSRUZFUl9GVUxMIHwKKwkJCQkgICAgUEFUSFNQRUNfU1lNTElOS19MRUFESU5HX1BBVEgsCisJCQkJICAgIHByZWZpeCwgcGF0aHNwZWNfZnJvbV9maWxlLCBwYXRoc3BlY19maWxlX251bCk7CisJfSBlbHNlIGlmIChwYXRoc3BlY19maWxlX251bCkgeworCQlkaWUoXygiLS1wYXRoc3BlYy1maWxlLW51bCByZXF1aXJlcyAtLXBhdGhzcGVjLWZyb20tZmlsZSIpKTsKKwl9CisKKwlpZiAocmVxdWlyZV9wYXRoc3BlYyAmJiBwYXRoc3BlYy5uciA9PSAwKSB7CisJCWZwcmludGYoc3RkZXJyLCBfKCJOb3RoaW5nIHNwZWNpZmllZCwgbm90aGluZyBhZGRlZC5cbiIpKTsKKwkJaWYgKGFkdmljZV9hZGRfZW1wdHlfcGF0aHNwZWMpCisJCQlhZHZpc2UoIF8oIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgorCQkJCSJUdXJuIHRoaXMgbWVzc2FnZSBvZmYgYnkgcnVubmluZ1xuIgorCQkJCSJcImdpdCBjb25maWcgYWR2aWNlLmFkZEVtcHR5UGF0aHNwZWMgZmFsc2VcIiIpKTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKCF0YWtlX3dvcmt0cmVlX2NoYW5nZXMgJiYgYWRkcmVtb3ZlX2V4cGxpY2l0IDwgMCAmJiBwYXRoc3BlYy5ucikKKwkJLyogVHVybiAiZ2l0IGFkZCBwYXRoc3BlYy4uLiIgdG8gImdpdCBhZGQgLUEgcGF0aHNwZWMuLi4iICovCisJCWFkZHJlbW92ZSA9IDE7CisKKwlmbGFncyA9ICgodmVyYm9zZSA/IEFERF9DQUNIRV9WRVJCT1NFIDogMCkgfAorCQkgKHNob3dfb25seSA/IEFERF9DQUNIRV9QUkVURU5EIDogMCkgfAorCQkgKGludGVudF90b19hZGQgPyBBRERfQ0FDSEVfSU5URU5UIDogMCkgfAorCQkgKGlnbm9yZV9hZGRfZXJyb3JzID8gQUREX0NBQ0hFX0lHTk9SRV9FUlJPUlMgOiAwKSB8CisJCSAoIShhZGRyZW1vdmUgfHwgdGFrZV93b3JrdHJlZV9jaGFuZ2VzKQorCQkgID8gQUREX0NBQ0hFX0lHTk9SRV9SRU1PVkFMIDogMCkpOworCiAJaWYgKHJlYWRfY2FjaGVfcHJlbG9hZCgmcGF0aHNwZWMpIDwgMCkKIAkJZGllKF8oImluZGV4IGZpbGUgY29ycnVwdCIpKTsKIApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9hbS5jIGIvYnVpbHRpbi9hbS5jCmluZGV4IDhmMjdmMzMuLmUzZGZkOTMgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vYW0uYworKysgYi9idWlsdGluL2FtLmMKQEAgLTMsNiArMyw3IEBACiAgKgogICogQmFzZWQgb24gZ2l0LWFtLnNoIGJ5IEp1bmlvIEMgSGFtYW5vLgogICovCisjZGVmaW5lIFVTRV9USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImJ1aWx0aW4uaCIKQEAgLTIzLDcgKzI0LDYgQEAKICNpbmNsdWRlICJzZXF1ZW5jZXIuaCIKICNpbmNsdWRlICJyZXZpc2lvbi5oIgogI2luY2x1ZGUgIm1lcmdlLXJlY3Vyc2l2ZS5oIgotI2luY2x1ZGUgInJldmlzaW9uLmgiCiAjaW5jbHVkZSAibG9nLXRyZWUuaCIKICNpbmNsdWRlICJub3Rlcy11dGlscy5oIgogI2luY2x1ZGUgInJlcmVyZS5oIgpAQCAtMzUsMjIgKzM1LDYgQEAKICNpbmNsdWRlICJyZXBvc2l0b3J5LmgiCiAKIC8qKgotICogUmV0dXJucyAxIGlmIHRoZSBmaWxlIGlzIGVtcHR5IG9yIGRvZXMgbm90IGV4aXN0LCAwIG90aGVyd2lzZS4KLSAqLwotc3RhdGljIGludCBpc19lbXB0eV9maWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQotewotCXN0cnVjdCBzdGF0IHN0OwotCi0JaWYgKHN0YXQoZmlsZW5hbWUsICZzdCkgPCAwKSB7Ci0JCWlmIChlcnJubyA9PSBFTk9FTlQpCi0JCQlyZXR1cm4gMTsKLQkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCBzdGF0ICVzIiksIGZpbGVuYW1lKTsKLQl9Ci0KLQlyZXR1cm4gIXN0LnN0X3NpemU7Ci19Ci0KLS8qKgogICogUmV0dXJucyB0aGUgbGVuZ3RoIG9mIHRoZSBmaXJzdCBsaW5lIG9mIG1zZy4KICAqLwogc3RhdGljIGludCBsaW5lbGVuKGNvbnN0IGNoYXIgKm1zZykKQEAgLTk3LDYgKzgxLDExIEBACiAJU0lHTk9GRl9FWFBMSUNJVCAvKiAtLXNpZ25vZmYgd2FzIHNldCBvbiB0aGUgY29tbWFuZC1saW5lICovCiB9OwogCitlbnVtIHNob3dfcGF0Y2hfdHlwZSB7CisJU0hPV19QQVRDSF9SQVcgPSAwLAorCVNIT1dfUEFUQ0hfRElGRiA9IDEsCit9OworCiBzdHJ1Y3QgYW1fc3RhdGUgewogCS8qIHN0YXRlIGRpcmVjdG9yeSBwYXRoICovCiAJY2hhciAqZGlyOwpAQCAtNDY4LDYgKzQ1Nyw3IEBACiAKIAljcC5pbiA9IHhvcGVuKGFtX3BhdGgoc3RhdGUsICJyZXdyaXR0ZW4iKSwgT19SRE9OTFkpOwogCWNwLnN0ZG91dF90b19zdGRlcnIgPSAxOworCWNwLnRyYWNlMl9ob29rX25hbWUgPSAicG9zdC1yZXdyaXRlIjsKIAogCXJldCA9IHJ1bl9jb21tYW5kKCZjcCk7CiAKQEAgLTUwMCwyMyArNDkwLDI0IEBACiAKIAl3aGlsZSAoIXN0cmJ1Zl9nZXRsaW5lX2xmKCZzYiwgZnApKSB7CiAJCXN0cnVjdCBvYmplY3RfaWQgZnJvbV9vYmosIHRvX29iajsKKwkJY29uc3QgY2hhciAqcDsKIAotCQlpZiAoc2IubGVuICE9IEdJVF9TSEExX0hFWFNaICogMiArIDEpIHsKKwkJaWYgKHNiLmxlbiAhPSB0aGVfaGFzaF9hbGdvLT5oZXhzeiAqIDIgKyAxKSB7CiAJCQlyZXQgPSBlcnJvcihpbnZhbGlkX2xpbmUsIHNiLmJ1Zik7CiAJCQlnb3RvIGZpbmlzaDsKIAkJfQogCi0JCWlmIChnZXRfb2lkX2hleChzYi5idWYsICZmcm9tX29iaikpIHsKKwkJaWYgKHBhcnNlX29pZF9oZXgoc2IuYnVmLCAmZnJvbV9vYmosICZwKSkgewogCQkJcmV0ID0gZXJyb3IoaW52YWxpZF9saW5lLCBzYi5idWYpOwogCQkJZ290byBmaW5pc2g7CiAJCX0KIAotCQlpZiAoc2IuYnVmW0dJVF9TSEExX0hFWFNaXSAhPSAnICcpIHsKKwkJaWYgKCpwICE9ICcgJykgewogCQkJcmV0ID0gZXJyb3IoaW52YWxpZF9saW5lLCBzYi5idWYpOwogCQkJZ290byBmaW5pc2g7CiAJCX0KIAotCQlpZiAoZ2V0X29pZF9oZXgoc2IuYnVmICsgR0lUX1NIQTFfSEVYU1ogKyAxLCAmdG9fb2JqKSkgeworCQlpZiAoZ2V0X29pZF9oZXgocCArIDEsICZ0b19vYmopKSB7CiAJCQlyZXQgPSBlcnJvcihpbnZhbGlkX2xpbmUsIHNiLmJ1Zik7CiAJCQlnb3RvIGZpbmlzaDsKIAkJfQpAQCAtNTI3LDcgKzUxOCw3IEBACiAJfQogCiBmaW5pc2g6Ci0JZmluaXNoX2NvcHlfbm90ZXNfZm9yX3Jld3JpdGUoYywgbXNnKTsKKwlmaW5pc2hfY29weV9ub3Rlc19mb3JfcmV3cml0ZSh0aGVfcmVwb3NpdG9yeSwgYywgbXNnKTsKIAlmY2xvc2UoZnApOwogCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiAJcmV0dXJuIHJldDsKQEAgLTEwODUsMTkgKzEwNzYsNiBAQAogfQogCiAvKioKLSAqIFJlZnJlc2ggYW5kIHdyaXRlIGluZGV4LgotICovCi1zdGF0aWMgdm9pZCByZWZyZXNoX2FuZF93cml0ZV9jYWNoZSh2b2lkKQotewotCXN0cnVjdCBsb2NrX2ZpbGUgbG9ja19maWxlID0gTE9DS19JTklUOwotCi0JaG9sZF9sb2NrZWRfaW5kZXgoJmxvY2tfZmlsZSwgTE9DS19ESUVfT05fRVJST1IpOwotCXJlZnJlc2hfY2FjaGUoUkVGUkVTSF9RVUlFVCk7Ci0JaWYgKHdyaXRlX2xvY2tlZF9pbmRleCgmdGhlX2luZGV4LCAmbG9ja19maWxlLCBDT01NSVRfTE9DSykpCi0JCWRpZShfKCJ1bmFibGUgdG8gd3JpdGUgaW5kZXggZmlsZSIpKTsKLX0KLQotLyoqCiAgKiBEaWVzIHdpdGggYSB1c2VyLWZyaWVuZGx5IG1lc3NhZ2Ugb24gaG93IHRvIHByb2NlZWQgYWZ0ZXIgcmVzb2x2aW5nIHRoZQogICogcHJvYmxlbS4gVGhpcyBtZXNzYWdlIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggc3RhdGUtPnJlc29sdmVtc2cuCiAgKi8KQEAgLTEyMjAsNyArMTE5OCw3IEBACiAJCWdvdG8gZmluaXNoOwogCX0KIAotCWlmIChpc19lbXB0eV9maWxlKGFtX3BhdGgoc3RhdGUsICJwYXRjaCIpKSkgeworCWlmIChpc19lbXB0eV9vcl9taXNzaW5nX2ZpbGUoYW1fcGF0aChzdGF0ZSwgInBhdGNoIikpKSB7CiAJCXByaW50Zl9sbihfKCJQYXRjaCBpcyBlbXB0eS4iKSk7CiAJCWRpZV91c2VyX3Jlc29sdmUoc3RhdGUpOwogCX0KQEAgLTEyODUsNyArMTI2Myw5IEBACiAJYnVmZmVyID0gbG9nbXNnX3JlZW5jb2RlKGNvbW1pdCwgTlVMTCwgZ2V0X2NvbW1pdF9vdXRwdXRfZW5jb2RpbmcoKSk7CiAKIAlpZGVudF9saW5lID0gZmluZF9jb21taXRfaGVhZGVyKGJ1ZmZlciwgImF1dGhvciIsICZpZGVudF9sZW4pOwotCisJaWYgKCFpZGVudF9saW5lKQorCQlkaWUoXygibWlzc2luZyBhdXRob3IgbGluZSBpbiBjb21taXQgJXMiKSwKKwkJICAgICAgb2lkX3RvX2hleCgmY29tbWl0LT5vYmplY3Qub2lkKSk7CiAJaWYgKHNwbGl0X2lkZW50X2xpbmUoJmlkLCBpZGVudF9saW5lLCBpZGVudF9sZW4pIDwgMCkKIAkJZGllKF8oImludmFsaWQgaWRlbnQgbGluZTogJS4qcyIpLCAoaW50KWlkZW50X2xlbiwgaWRlbnRfbGluZSk7CiAKQEAgLTEzNTIsOSArMTMzMiwxMCBAQAogCXN0cnVjdCByZXZfaW5mbyByZXZfaW5mbzsKIAlGSUxFICpmcDsKIAotCWlmICghZ2V0X29pZF90cmVlKCJIRUFEIiwgJmhlYWQpKQotCQl0cmVlID0gbG9va3VwX3RyZWUodGhlX3JlcG9zaXRvcnksICZoZWFkKTsKLQllbHNlCisJaWYgKCFnZXRfb2lkKCJIRUFEIiwgJmhlYWQpKSB7CisJCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IGxvb2t1cF9jb21taXRfb3JfZGllKCZoZWFkLCAiSEVBRCIpOworCQl0cmVlID0gZ2V0X2NvbW1pdF90cmVlKGNvbW1pdCk7CisJfSBlbHNlCiAJCXRyZWUgPSBsb29rdXBfdHJlZSh0aGVfcmVwb3NpdG9yeSwKIAkJCQkgICB0aGVfcmVwb3NpdG9yeS0+aGFzaF9hbGdvLT5lbXB0eV90cmVlKTsKIApAQCAtMTUxNSwxMSArMTQ5NiwxMSBAQAogCQkgKiByZXZpZXcgdGhlbSB3aXRoIGV4dHJhIGNhcmUgdG8gc3BvdCBtaXNtZXJnZXMuCiAJCSAqLwogCQlzdHJ1Y3QgcmV2X2luZm8gcmV2X2luZm87Ci0JCWNvbnN0IGNoYXIgKmRpZmZfZmlsdGVyX3N0ciA9ICItLWRpZmYtZmlsdGVyPUFNIjsKIAogCQlyZXBvX2luaXRfcmV2aXNpb25zKHRoZV9yZXBvc2l0b3J5LCAmcmV2X2luZm8sIE5VTEwpOwogCQlyZXZfaW5mby5kaWZmb3B0Lm91dHB1dF9mb3JtYXQgPSBESUZGX0ZPUk1BVF9OQU1FX1NUQVRVUzsKLQkJZGlmZl9vcHRfcGFyc2UoJnJldl9pbmZvLmRpZmZvcHQsICZkaWZmX2ZpbHRlcl9zdHIsIDEsIHJldl9pbmZvLnByZWZpeCk7CisJCXJldl9pbmZvLmRpZmZvcHQuZmlsdGVyIHw9IGRpZmZfZmlsdGVyX2JpdCgnQScpOworCQlyZXZfaW5mby5kaWZmb3B0LmZpbHRlciB8PSBkaWZmX2ZpbHRlcl9iaXQoJ00nKTsKIAkJYWRkX3BlbmRpbmdfb2lkKCZyZXZfaW5mbywgIkhFQUQiLCAmb3VyX3RyZWUsIDApOwogCQlkaWZmX3NldHVwX2RvbmUoJnJldl9pbmZvLmRpZmZvcHQpOwogCQlydW5fZGlmZl9pbmRleCgmcmV2X2luZm8sIDEpOwpAQCAtMTU0NSwxMiArMTUyNiwxMiBAQAogCSAqIGNoYW5nZXMuCiAJICovCiAKLQlpbml0X21lcmdlX29wdGlvbnMoJm8pOworCWluaXRfbWVyZ2Vfb3B0aW9ucygmbywgdGhlX3JlcG9zaXRvcnkpOwogCiAJby5icmFuY2gxID0gIkhFQUQiOwogCXRoZWlyX3RyZWVfbmFtZSA9IHhzdHJmbXQoIiUuKnMiLCBsaW5lbGVuKHN0YXRlLT5tc2cpLCBzdGF0ZS0+bXNnKTsKIAlvLmJyYW5jaDIgPSB0aGVpcl90cmVlX25hbWU7Ci0Jby5kZXRlY3RfZGlyZWN0b3J5X3JlbmFtZXMgPSAwOworCW8uZGV0ZWN0X2RpcmVjdG9yeV9yZW5hbWVzID0gTUVSR0VfRElSRUNUT1JZX1JFTkFNRVNfTk9ORTsKIAogCWlmIChzdGF0ZS0+cXVpZXQpCiAJCW8udmVyYm9zaXR5ID0gMDsKQEAgLTE1OTQsNiArMTU3NSw3IEBACiAJfQogCiAJYXV0aG9yID0gZm10X2lkZW50KHN0YXRlLT5hdXRob3JfbmFtZSwgc3RhdGUtPmF1dGhvcl9lbWFpbCwKKwkJV0FOVF9BVVRIT1JfSURFTlQsCiAJCQlzdGF0ZS0+aWdub3JlX2RhdGUgPyBOVUxMIDogc3RhdGUtPmF1dGhvcl9kYXRlLAogCQkJSURFTlRfU1RSSUNUKTsKIApAQCAtMTY1NSwxMSArMTYzNyw4IEBACiB7CiAJYXNzZXJ0KHN0YXRlLT5tc2cpOwogCi0JaWYgKCFpc2F0dHkoMCkpCi0JCWRpZShfKCJjYW5ub3QgYmUgaW50ZXJhY3RpdmUgd2l0aG91dCBzdGRpbiBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4iKSk7Ci0KIAlmb3IgKDs7KSB7Ci0JCWNvbnN0IGNoYXIgKnJlcGx5OworCQljaGFyIHJlcGx5WzY0XTsKIAogCQlwdXRzKF8oIkNvbW1pdCBCb2R5IGlzOiIpKTsKIAkJcHV0cygiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iKTsKQEAgLTE2NzEsMTEgKzE2NTAsMTEgQEAKIAkJICogaW4geW91ciB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoCiAJCSAqIGlucHV0IGF0IHRoaXMgcG9pbnQuCiAJCSAqLwotCQlyZXBseSA9IGdpdF9wcm9tcHQoXygiQXBwbHk/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGw6ICIpLCBQUk9NUFRfRUNITyk7CisJCXByaW50ZihfKCJBcHBseT8gW3ldZXMvW25dby9bZV1kaXQvW3ZdaWV3IHBhdGNoL1thXWNjZXB0IGFsbDogIikpOworCQlpZiAoIWZnZXRzKHJlcGx5LCBzaXplb2YocmVwbHkpLCBzdGRpbikpCisJCQlkaWUoInVuYWJsZSB0byByZWFkIGZyb20gc3RkaW47IGFib3J0aW5nIik7CiAKLQkJaWYgKCFyZXBseSkgewotCQkJY29udGludWU7Ci0JCX0gZWxzZSBpZiAoKnJlcGx5ID09ICd5JyB8fCAqcmVwbHkgPT0gJ1knKSB7CisJCWlmICgqcmVwbHkgPT0gJ3knIHx8ICpyZXBseSA9PSAnWScpIHsKIAkJCXJldHVybiAwOwogCQl9IGVsc2UgaWYgKCpyZXBseSA9PSAnYScgfHwgKnJlcGx5ID09ICdBJykgewogCQkJc3RhdGUtPmludGVyYWN0aXZlID0gMDsKQEAgLTE3MTcsOSArMTY5NiwxMCBAQAogCiAJdW5saW5rKGFtX3BhdGgoc3RhdGUsICJkaXJ0eWluZGV4IikpOwogCi0JcmVmcmVzaF9hbmRfd3JpdGVfY2FjaGUoKTsKKwlpZiAocmVmcmVzaF9hbmRfd3JpdGVfY2FjaGUoUkVGUkVTSF9RVUlFVCwgMCwgMCkgPCAwKQorCQlkaWUoXygidW5hYmxlIHRvIHdyaXRlIGluZGV4IGZpbGUiKSk7CiAKLQlpZiAoaW5kZXhfaGFzX2NoYW5nZXMoJnRoZV9pbmRleCwgTlVMTCwgJnNiKSkgeworCWlmIChyZXBvX2luZGV4X2hhc19jaGFuZ2VzKHRoZV9yZXBvc2l0b3J5LCBOVUxMLCAmc2IpKSB7CiAJCXdyaXRlX3N0YXRlX2Jvb2woc3RhdGUsICJkaXJ0eWluZGV4IiwgMSk7CiAJCWRpZShfKCJEaXJ0eSBpbmRleDogY2Fubm90IGFwcGx5IHBhdGNoZXMgKGRpcnR5OiAlcykiKSwgc2IuYnVmKTsKIAl9CkBAIC0xNzc3LDcgKzE3NTcsNyBAQAogCQkJICogdGhlIHJlc3VsdCBtYXkgaGF2ZSBwcm9kdWNlZCB0aGUgc2FtZSB0cmVlIGFzIG91cnMuCiAJCQkgKi8KIAkJCWlmICghYXBwbHlfc3RhdHVzICYmCi0JCQkgICAgIWluZGV4X2hhc19jaGFuZ2VzKCZ0aGVfaW5kZXgsIE5VTEwsIE5VTEwpKSB7CisJCQkgICAgIXJlcG9faW5kZXhfaGFzX2NoYW5nZXModGhlX3JlcG9zaXRvcnksIE5VTEwsIE5VTEwpKSB7CiAJCQkJc2F5KHN0YXRlLCBzdGRvdXQsIF8oIk5vIGNoYW5nZXMgLS0gUGF0Y2ggYWxyZWFkeSBhcHBsaWVkLiIpKTsKIAkJCQlnb3RvIG5leHQ7CiAJCQl9CkBAIC0xNzg4LDcgKzE3NjgsNyBAQAogCQkJCWxpbmVsZW4oc3RhdGUtPm1zZyksIHN0YXRlLT5tc2cpOwogCiAJCQlpZiAoYWR2aWNlX2Ftd29ya2RpcikKLQkJCQlhZHZpc2UoXygiVXNlICdnaXQgYW0gLS1zaG93LWN1cnJlbnQtcGF0Y2gnIHRvIHNlZSB0aGUgZmFpbGVkIHBhdGNoIikpOworCQkJCWFkdmlzZShfKCJVc2UgJ2dpdCBhbSAtLXNob3ctY3VycmVudC1wYXRjaD1kaWZmJyB0byBzZWUgdGhlIGZhaWxlZCBwYXRjaCIpKTsKIAogCQkJZGllX3VzZXJfcmVzb2x2ZShzdGF0ZSk7CiAJCX0KQEAgLTE4MDMsNyArMTc4Myw3IEBACiAJCXJlc3VtZSA9IDA7CiAJfQogCi0JaWYgKCFpc19lbXB0eV9maWxlKGFtX3BhdGgoc3RhdGUsICJyZXdyaXR0ZW4iKSkpIHsKKwlpZiAoIWlzX2VtcHR5X29yX21pc3NpbmdfZmlsZShhbV9wYXRoKHN0YXRlLCAicmV3cml0dGVuIikpKSB7CiAJCWFzc2VydChzdGF0ZS0+cmViYXNpbmcpOwogCQljb3B5X25vdGVzX2Zvcl9yZWJhc2Uoc3RhdGUpOwogCQlydW5fcG9zdF9yZXdyaXRlX2hvb2soc3RhdGUpOwpAQCAtMTgxNSw3ICsxNzk1LDcgQEAKIAkgKi8KIAlpZiAoIXN0YXRlLT5yZWJhc2luZykgewogCQlhbV9kZXN0cm95KHN0YXRlKTsKLQkJY2xvc2VfYWxsX3BhY2tzKHRoZV9yZXBvc2l0b3J5LT5vYmplY3RzKTsKKwkJY2xvc2Vfb2JqZWN0X3N0b3JlKHRoZV9yZXBvc2l0b3J5LT5vYmplY3RzKTsKIAkJcnVuX2NvbW1hbmRfdl9vcHQoYXJndl9nY19hdXRvLCBSVU5fR0lUX0NNRCk7CiAJfQogfQpAQCAtMTgzMSw3ICsxODExLDcgQEAKIAogCXNheShzdGF0ZSwgc3Rkb3V0LCBfKCJBcHBseWluZzogJS4qcyIpLCBsaW5lbGVuKHN0YXRlLT5tc2cpLCBzdGF0ZS0+bXNnKTsKIAotCWlmICghaW5kZXhfaGFzX2NoYW5nZXMoJnRoZV9pbmRleCwgTlVMTCwgTlVMTCkpIHsKKwlpZiAoIXJlcG9faW5kZXhfaGFzX2NoYW5nZXModGhlX3JlcG9zaXRvcnksIE5VTEwsIE5VTEwpKSB7CiAJCXByaW50Zl9sbihfKCJObyBjaGFuZ2VzIC0gZGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz9cbiIKIAkJCSJJZiB0aGVyZSBpcyBub3RoaW5nIGxlZnQgdG8gc3RhZ2UsIGNoYW5jZXMgYXJlIHRoYXQgc29tZXRoaW5nIGVsc2VcbiIKIAkJCSJhbHJlYWR5IGludHJvZHVjZWQgdGhlIHNhbWUgY2hhbmdlczsgeW91IG1pZ2h0IHdhbnQgdG8gc2tpcCB0aGlzIHBhdGNoLiIpKTsKQEAgLTE5NzAsNyArMTk1MCw3IEBACiAJaWYgKG1lcmdlX3RyZWUocmVtb3RlX3RyZWUpKQogCQlyZXR1cm4gLTE7CiAKLQlyZW1vdmVfYnJhbmNoX3N0YXRlKCk7CisJcmVtb3ZlX2JyYW5jaF9zdGF0ZSh0aGVfcmVwb3NpdG9yeSwgMCk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTE5ODEsNyArMTk2MSw3IEBACiBzdGF0aWMgdm9pZCBhbV9yZXJlcmVfY2xlYXIodm9pZCkKIHsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgbWVyZ2VfcnIgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKLQlyZXJlcmVfY2xlYXIoJm1lcmdlX3JyKTsKKwlyZXJlcmVfY2xlYXIodGhlX3JlcG9zaXRvcnksICZtZXJnZV9ycik7CiAJc3RyaW5nX2xpc3RfY2xlYXIoJm1lcmdlX3JyLCAxKTsKIH0KIApAQCAtMjAwMCw2ICsxOTgwLDE1IEBACiAJaWYgKGNsZWFuX2luZGV4KCZoZWFkLCAmaGVhZCkpCiAJCWRpZShfKCJmYWlsZWQgdG8gY2xlYW4gaW5kZXgiKSk7CiAKKwlpZiAoc3RhdGUtPnJlYmFzaW5nKSB7CisJCUZJTEUgKmZwID0geGZvcGVuKGFtX3BhdGgoc3RhdGUsICJyZXdyaXR0ZW4iKSwgImEiKTsKKworCQlhc3NlcnQoIWlzX251bGxfb2lkKCZzdGF0ZS0+b3JpZ19jb21taXQpKTsKKwkJZnByaW50ZihmcCwgIiVzICIsIG9pZF90b19oZXgoJnN0YXRlLT5vcmlnX2NvbW1pdCkpOworCQlmcHJpbnRmKGZwLCAiJXNcbiIsIG9pZF90b19oZXgoJmhlYWQpKTsKKwkJZmNsb3NlKGZwKTsKKwl9CisKIAlhbV9uZXh0KHN0YXRlKTsKIAlhbV9sb2FkKHN0YXRlKTsKIAlhbV9ydW4oc3RhdGUsIDApOwpAQCAtMjA3Nyw3ICsyMDY2LDcgQEAKIAlhbV9kZXN0cm95KHN0YXRlKTsKIH0KIAotc3RhdGljIGludCBzaG93X3BhdGNoKHN0cnVjdCBhbV9zdGF0ZSAqc3RhdGUpCitzdGF0aWMgaW50IHNob3dfcGF0Y2goc3RydWN0IGFtX3N0YXRlICpzdGF0ZSwgZW51bSBzaG93X3BhdGNoX3R5cGUgc3ViX21vZGUpCiB7CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCWNvbnN0IGNoYXIgKnBhdGNoX3BhdGg7CkBAIC0yMDk0LDcgKzIwODMsMTcgQEAKIAkJcmV0dXJuIHJldDsKIAl9CiAKLQlwYXRjaF9wYXRoID0gYW1fcGF0aChzdGF0ZSwgbXNnbnVtKHN0YXRlKSk7CisJc3dpdGNoIChzdWJfbW9kZSkgeworCWNhc2UgU0hPV19QQVRDSF9SQVc6CisJCXBhdGNoX3BhdGggPSBhbV9wYXRoKHN0YXRlLCBtc2dudW0oc3RhdGUpKTsKKwkJYnJlYWs7CisJY2FzZSBTSE9XX1BBVENIX0RJRkY6CisJCXBhdGNoX3BhdGggPSBhbV9wYXRoKHN0YXRlLCAicGF0Y2giKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJQlVHKCJpbnZhbGlkIG1vZGUgZm9yIC0tc2hvdy1jdXJyZW50LXBhdGNoIik7CisJfQorCiAJbGVuID0gc3RyYnVmX3JlYWRfZmlsZSgmc2IsIHBhdGNoX3BhdGgsIDApOwogCWlmIChsZW4gPCAwKQogCQlkaWVfZXJybm8oXygiZmFpbGVkIHRvIHJlYWQgJyVzJyIpLCBwYXRjaF9wYXRoKTsKQEAgLTIxMjUsMTIgKzIxMjQsMTYgQEAKIAkJKm9wdF92YWx1ZSA9IFBBVENIX0ZPUk1BVF9IRzsKIAllbHNlIGlmICghc3RyY21wKGFyZywgIm1ib3hyZCIpKQogCQkqb3B0X3ZhbHVlID0gUEFUQ0hfRk9STUFUX01CT1hSRDsKKwkvKgorCSAqIFBsZWFzZSB1cGRhdGUgJF9fZ2l0X3BhdGNoZm9ybWF0IGluIGdpdC1jb21wbGV0aW9uLmJhc2gKKwkgKiB3aGVuIHlvdSBhZGQgbmV3IG9wdGlvbnMKKwkgKi8KIAllbHNlCiAJCXJldHVybiBlcnJvcihfKCJJbnZhbGlkIHZhbHVlIGZvciAtLXBhdGNoLWZvcm1hdDogJXMiKSwgYXJnKTsKIAlyZXR1cm4gMDsKIH0KIAotZW51bSByZXN1bWVfbW9kZSB7CitlbnVtIHJlc3VtZV90eXBlIHsKIAlSRVNVTUVfRkFMU0UgPSAwLAogCVJFU1VNRV9BUFBMWSwKIAlSRVNVTUVfUkVTT0xWRUQsCkBAIC0yMTQwLDYgKzIxNDMsNDUgQEAKIAlSRVNVTUVfU0hPV19QQVRDSAogfTsKIAorc3RydWN0IHJlc3VtZV9tb2RlIHsKKwllbnVtIHJlc3VtZV90eXBlIG1vZGU7CisJZW51bSBzaG93X3BhdGNoX3R5cGUgc3ViX21vZGU7Cit9OworCitzdGF0aWMgaW50IHBhcnNlX29wdF9zaG93X2N1cnJlbnRfcGF0Y2goY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LCBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlpbnQgKm9wdF92YWx1ZSA9IG9wdC0+dmFsdWU7CisJc3RydWN0IHJlc3VtZV9tb2RlICpyZXN1bWUgPSBjb250YWluZXJfb2Yob3B0X3ZhbHVlLCBzdHJ1Y3QgcmVzdW1lX21vZGUsIG1vZGUpOworCisJLyoKKwkgKiBQbGVhc2UgdXBkYXRlICRfX2dpdF9zaG93Y3VycmVudHBhdGNoIGluIGdpdC1jb21wbGV0aW9uLmJhc2gKKwkgKiB3aGVuIHlvdSBhZGQgbmV3IG9wdGlvbnMKKwkgKi8KKwljb25zdCBjaGFyICp2YWxpZF9tb2Rlc1tdID0geworCQlbU0hPV19QQVRDSF9ESUZGXSA9ICJkaWZmIiwKKwkJW1NIT1dfUEFUQ0hfUkFXXSA9ICJyYXciCisJfTsKKwlpbnQgbmV3X3ZhbHVlID0gU0hPV19QQVRDSF9SQVc7CisKKwlpZiAoYXJnKSB7CisJCWZvciAobmV3X3ZhbHVlID0gMDsgbmV3X3ZhbHVlIDwgQVJSQVlfU0laRSh2YWxpZF9tb2Rlcyk7IG5ld192YWx1ZSsrKSB7CisJCQlpZiAoIXN0cmNtcChhcmcsIHZhbGlkX21vZGVzW25ld192YWx1ZV0pKQorCQkJCWJyZWFrOworCQl9CisJCWlmIChuZXdfdmFsdWUgPj0gQVJSQVlfU0laRSh2YWxpZF9tb2RlcykpCisJCQlyZXR1cm4gZXJyb3IoXygiSW52YWxpZCB2YWx1ZSBmb3IgLS1zaG93LWN1cnJlbnQtcGF0Y2g6ICVzIiksIGFyZyk7CisJfQorCisJaWYgKHJlc3VtZS0+bW9kZSA9PSBSRVNVTUVfU0hPV19QQVRDSCAmJiBuZXdfdmFsdWUgIT0gcmVzdW1lLT5zdWJfbW9kZSkKKwkJcmV0dXJuIGVycm9yKF8oIi0tc2hvdy1jdXJyZW50LXBhdGNoPSVzIGlzIGluY29tcGF0aWJsZSB3aXRoICIKKwkJCSAgICAgICAiLS1zaG93LWN1cnJlbnQtcGF0Y2g9JXMiKSwKKwkJCSAgICAgYXJnLCB2YWxpZF9tb2Rlc1tyZXN1bWUtPnN1Yl9tb2RlXSk7CisKKwlyZXN1bWUtPm1vZGUgPSBSRVNVTUVfU0hPV19QQVRDSDsKKwlyZXN1bWUtPnN1Yl9tb2RlID0gbmV3X3ZhbHVlOworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IGdpdF9hbV9jb25maWcoY29uc3QgY2hhciAqaywgY29uc3QgY2hhciAqdiwgdm9pZCAqY2IpCiB7CiAJaW50IHN0YXR1czsKQEAgLTIxNTcsNyArMjE5OSw3IEBACiAJaW50IGJpbmFyeSA9IC0xOwogCWludCBrZWVwX2NyID0gLTE7CiAJaW50IHBhdGNoX2Zvcm1hdCA9IFBBVENIX0ZPUk1BVF9VTktOT1dOOwotCWVudW0gcmVzdW1lX21vZGUgcmVzdW1lID0gUkVTVU1FX0ZBTFNFOworCXN0cnVjdCByZXN1bWVfbW9kZSByZXN1bWUgPSB7IC5tb2RlID0gUkVTVU1FX0ZBTFNFIH07CiAJaW50IGluX3Byb2dyZXNzOwogCWludCByZXQgPSAwOwogCkBAIC0yMjI2LDI0ICsyMjY4LDI2IEBACiAJCQlQQVJTRV9PUFRfTk9BUkcpLAogCQlPUFRfU1RSSU5HKDAsICJyZXNvbHZlbXNnIiwgJnN0YXRlLnJlc29sdmVtc2csIE5VTEwsCiAJCQlOXygib3ZlcnJpZGUgZXJyb3IgbWVzc2FnZSB3aGVuIHBhdGNoIGZhaWx1cmUgb2NjdXJzIikpLAotCQlPUFRfQ01ETU9ERSgwLCAiY29udGludWUiLCAmcmVzdW1lLAorCQlPUFRfQ01ETU9ERSgwLCAiY29udGludWUiLCAmcmVzdW1lLm1vZGUsCiAJCQlOXygiY29udGludWUgYXBwbHlpbmcgcGF0Y2hlcyBhZnRlciByZXNvbHZpbmcgYSBjb25mbGljdCIpLAogCQkJUkVTVU1FX1JFU09MVkVEKSwKLQkJT1BUX0NNRE1PREUoJ3InLCAicmVzb2x2ZWQiLCAmcmVzdW1lLAorCQlPUFRfQ01ETU9ERSgncicsICJyZXNvbHZlZCIsICZyZXN1bWUubW9kZSwKIAkJCU5fKCJzeW5vbnltcyBmb3IgLS1jb250aW51ZSIpLAogCQkJUkVTVU1FX1JFU09MVkVEKSwKLQkJT1BUX0NNRE1PREUoMCwgInNraXAiLCAmcmVzdW1lLAorCQlPUFRfQ01ETU9ERSgwLCAic2tpcCIsICZyZXN1bWUubW9kZSwKIAkJCU5fKCJza2lwIHRoZSBjdXJyZW50IHBhdGNoIiksCiAJCQlSRVNVTUVfU0tJUCksCi0JCU9QVF9DTURNT0RFKDAsICJhYm9ydCIsICZyZXN1bWUsCisJCU9QVF9DTURNT0RFKDAsICJhYm9ydCIsICZyZXN1bWUubW9kZSwKIAkJCU5fKCJyZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIGFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24uIiksCiAJCQlSRVNVTUVfQUJPUlQpLAotCQlPUFRfQ01ETU9ERSgwLCAicXVpdCIsICZyZXN1bWUsCisJCU9QVF9DTURNT0RFKDAsICJxdWl0IiwgJnJlc3VtZS5tb2RlLAogCQkJTl8oImFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24gYnV0IGtlZXAgSEVBRCB3aGVyZSBpdCBpcy4iKSwKIAkJCVJFU1VNRV9RVUlUKSwKLQkJT1BUX0NNRE1PREUoMCwgInNob3ctY3VycmVudC1wYXRjaCIsICZyZXN1bWUsCi0JCQlOXygic2hvdyB0aGUgcGF0Y2ggYmVpbmcgYXBwbGllZC4iKSwKLQkJCVJFU1VNRV9TSE9XX1BBVENIKSwKKwkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJzaG93LWN1cnJlbnQtcGF0Y2giLCAmcmVzdW1lLm1vZGUsCisJCSAgIihkaWZmfHJhdykiLAorCQkgIE5fKCJzaG93IHRoZSBwYXRjaCBiZWluZyBhcHBsaWVkIiksCisJCSAgUEFSU0VfT1BUX0NNRE1PREUgfCBQQVJTRV9PUFRfT1BUQVJHIHwgUEFSU0VfT1BUX05PTkVHIHwgUEFSU0VfT1BUX0xJVEVSQUxfQVJHSEVMUCwKKwkJICBwYXJzZV9vcHRfc2hvd19jdXJyZW50X3BhdGNoLCBSRVNVTUVfU0hPV19QQVRDSCB9LAogCQlPUFRfQk9PTCgwLCAiY29tbWl0dGVyLWRhdGUtaXMtYXV0aG9yLWRhdGUiLAogCQkJJnN0YXRlLmNvbW1pdHRlcl9kYXRlX2lzX2F1dGhvcl9kYXRlLAogCQkJTl8oImxpZSBhYm91dCBjb21taXR0ZXIgZGF0ZSIpKSwKQEAgLTIyNzgsNyArMjMyMiw3IEBACiAJLyogRW5zdXJlIGEgdmFsaWQgY29tbWl0dGVyIGlkZW50IGNhbiBiZSBjb25zdHJ1Y3RlZCAqLwogCWdpdF9jb21taXR0ZXJfaW5mbyhJREVOVF9TVFJJQ1QpOwogCi0JaWYgKHJlYWRfaW5kZXhfcHJlbG9hZCgmdGhlX2luZGV4LCBOVUxMLCAwKSA8IDApCisJaWYgKHJlcG9fcmVhZF9pbmRleF9wcmVsb2FkKHRoZV9yZXBvc2l0b3J5LCBOVUxMLCAwKSA8IDApCiAJCWRpZShfKCJmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiKSk7CiAKIAlpZiAoaW5fcHJvZ3Jlc3MpIHsKQEAgLTIyOTMsMTIgKzIzMzcsMTIgQEAKIAkJICogICAgaW50ZW5kIHRvIGZlZWQgdXMgYSBwYXRjaCBidXQgd2FudGVkIHRvIGNvbnRpbnVlCiAJCSAqICAgIHVuYXR0ZW5kZWQuCiAJCSAqLwotCQlpZiAoYXJnYyB8fCAocmVzdW1lID09IFJFU1VNRV9GQUxTRSAmJiAhaXNhdHR5KDApKSkKKwkJaWYgKGFyZ2MgfHwgKHJlc3VtZS5tb2RlID09IFJFU1VNRV9GQUxTRSAmJiAhaXNhdHR5KDApKSkKIAkJCWRpZShfKCJwcmV2aW91cyByZWJhc2UgZGlyZWN0b3J5ICVzIHN0aWxsIGV4aXN0cyBidXQgbWJveCBnaXZlbi4iKSwKIAkJCQlzdGF0ZS5kaXIpOwogCi0JCWlmIChyZXN1bWUgPT0gUkVTVU1FX0ZBTFNFKQotCQkJcmVzdW1lID0gUkVTVU1FX0FQUExZOworCQlpZiAocmVzdW1lLm1vZGUgPT0gUkVTVU1FX0ZBTFNFKQorCQkJcmVzdW1lLm1vZGUgPSBSRVNVTUVfQVBQTFk7CiAKIAkJaWYgKHN0YXRlLnNpZ25vZmYgPT0gU0lHTk9GRl9FWFBMSUNJVCkKIAkJCWFtX2FwcGVuZF9zaWdub2ZmKCZzdGF0ZSk7CkBAIC0yMzEyLDcgKzIzNTYsNyBAQAogCQkgKiBzdHJheSBkaXJlY3Rvcmllcy4KIAkJICovCiAJCWlmIChmaWxlX2V4aXN0cyhzdGF0ZS5kaXIpICYmICFzdGF0ZS5yZWJhc2luZykgewotCQkJaWYgKHJlc3VtZSA9PSBSRVNVTUVfQUJPUlQgfHwgcmVzdW1lID09IFJFU1VNRV9RVUlUKSB7CisJCQlpZiAocmVzdW1lLm1vZGUgPT0gUkVTVU1FX0FCT1JUIHx8IHJlc3VtZS5tb2RlID09IFJFU1VNRV9RVUlUKSB7CiAJCQkJYW1fZGVzdHJveSgmc3RhdGUpOwogCQkJCWFtX3N0YXRlX3JlbGVhc2UoJnN0YXRlKTsKIAkJCQlyZXR1cm4gMDsKQEAgLTIzMjMsNyArMjM2Nyw3IEBACiAJCQkJc3RhdGUuZGlyKTsKIAkJfQogCi0JCWlmIChyZXN1bWUpCisJCWlmIChyZXN1bWUubW9kZSkKIAkJCWRpZShfKCJSZXNvbHZlIG9wZXJhdGlvbiBub3QgaW4gcHJvZ3Jlc3MsIHdlIGFyZSBub3QgcmVzdW1pbmcuIikpOwogCiAJCWZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKQEAgLTIzMzMsMTIgKzIzNzcsMTUgQEAKIAkJCQlhcmd2X2FycmF5X3B1c2goJnBhdGhzLCBta3BhdGgoIiVzLyVzIiwgcHJlZml4LCBhcmd2W2ldKSk7CiAJCX0KIAorCQlpZiAoc3RhdGUuaW50ZXJhY3RpdmUgJiYgIXBhdGhzLmFyZ2MpCisJCQlkaWUoXygiaW50ZXJhY3RpdmUgbW9kZSByZXF1aXJlcyBwYXRjaGVzIG9uIHRoZSBjb21tYW5kIGxpbmUiKSk7CisKIAkJYW1fc2V0dXAoJnN0YXRlLCBwYXRjaF9mb3JtYXQsIHBhdGhzLmFyZ3YsIGtlZXBfY3IpOwogCiAJCWFyZ3ZfYXJyYXlfY2xlYXIoJnBhdGhzKTsKIAl9CiAKLQlzd2l0Y2ggKHJlc3VtZSkgeworCXN3aXRjaCAocmVzdW1lLm1vZGUpIHsKIAljYXNlIFJFU1VNRV9GQUxTRToKIAkJYW1fcnVuKCZzdGF0ZSwgMCk7CiAJCWJyZWFrOwpAQCAtMjM1OSw3ICsyNDA2LDcgQEAKIAkJYW1fZGVzdHJveSgmc3RhdGUpOwogCQlicmVhazsKIAljYXNlIFJFU1VNRV9TSE9XX1BBVENIOgotCQlyZXQgPSBzaG93X3BhdGNoKCZzdGF0ZSk7CisJCXJldCA9IHNob3dfcGF0Y2goJnN0YXRlLCByZXN1bWUuc3ViX21vZGUpOwogCQlicmVhazsKIAlkZWZhdWx0OgogCQlCVUcoImludmFsaWQgcmVzdW1lIHZhbHVlIik7CmRpZmYgLS1naXQgYS9idWlsdGluL2FyY2hpdmUuYyBiL2J1aWx0aW4vYXJjaGl2ZS5jCmluZGV4IGQyNDU1MjMuLjQ1ZDExNjYgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vYXJjaGl2ZS5jCisrKyBiL2J1aWx0aW4vYXJjaGl2ZS5jCkBAIC0yNywxMCArMjcsMTAgQEAKIAkJCSAgICAgICBjb25zdCBjaGFyICpyZW1vdGUsIGNvbnN0IGNoYXIgKmV4ZWMsCiAJCQkgICAgICAgY29uc3QgY2hhciAqbmFtZV9oaW50KQogewotCWNoYXIgKmJ1ZjsKIAlpbnQgZmRbMl0sIGksIHJ2OwogCXN0cnVjdCB0cmFuc3BvcnQgKnRyYW5zcG9ydDsKIAlzdHJ1Y3QgcmVtb3RlICpfcmVtb3RlOworCXN0cnVjdCBwYWNrZXRfcmVhZGVyIHJlYWRlcjsKIAogCV9yZW1vdGUgPSByZW1vdGVfZ2V0KHJlbW90ZSk7CiAJaWYgKCFfcmVtb3RlLT51cmxbMF0pCkBAIC01MywxOCArNTMsMTkgQEAKIAkJcGFja2V0X3dyaXRlX2ZtdChmZFsxXSwgImFyZ3VtZW50ICVzXG4iLCBhcmd2W2ldKTsKIAlwYWNrZXRfZmx1c2goZmRbMV0pOwogCi0JYnVmID0gcGFja2V0X3JlYWRfbGluZShmZFswXSwgTlVMTCk7Ci0JaWYgKCFidWYpCisJcGFja2V0X3JlYWRlcl9pbml0KCZyZWFkZXIsIGZkWzBdLCBOVUxMLCAwLAorCQkJICAgUEFDS0VUX1JFQURfQ0hPTVBfTkVXTElORSB8CisJCQkgICBQQUNLRVRfUkVBRF9ESUVfT05fRVJSX1BBQ0tFVCk7CisKKwlpZiAocGFja2V0X3JlYWRlcl9yZWFkKCZyZWFkZXIpICE9IFBBQ0tFVF9SRUFEX05PUk1BTCkKIAkJZGllKF8oImdpdCBhcmNoaXZlOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgYSBmbHVzaCBwYWNrZXQiKSk7Ci0JaWYgKHN0cmNtcChidWYsICJBQ0siKSkgewotCQlpZiAoc3RhcnRzX3dpdGgoYnVmLCAiTkFDSyAiKSkKLQkJCWRpZShfKCJnaXQgYXJjaGl2ZTogTkFDSyAlcyIpLCBidWYgKyA1KTsKLQkJaWYgKHN0YXJ0c193aXRoKGJ1ZiwgIkVSUiAiKSkKLQkJCWRpZShfKCJyZW1vdGUgZXJyb3I6ICVzIiksIGJ1ZiArIDQpOworCWlmIChzdHJjbXAocmVhZGVyLmxpbmUsICJBQ0siKSkgeworCQlpZiAoc3RhcnRzX3dpdGgocmVhZGVyLmxpbmUsICJOQUNLICIpKQorCQkJZGllKF8oImdpdCBhcmNoaXZlOiBOQUNLICVzIiksIHJlYWRlci5saW5lICsgNSk7CiAJCWRpZShfKCJnaXQgYXJjaGl2ZTogcHJvdG9jb2wgZXJyb3IiKSk7CiAJfQogCi0JaWYgKHBhY2tldF9yZWFkX2xpbmUoZmRbMF0sIE5VTEwpKQorCWlmIChwYWNrZXRfcmVhZGVyX3JlYWQoJnJlYWRlcikgIT0gUEFDS0VUX1JFQURfRkxVU0gpCiAJCWRpZShfKCJnaXQgYXJjaGl2ZTogZXhwZWN0ZWQgYSBmbHVzaCIpKTsKIAogCS8qIE5vdywgc3RhcnQgcmVhZGluZyBmcm9tIGZkWzBdIGFuZCBzcGl0IGl0IG91dCB0byBzdGRvdXQgKi8KZGlmZiAtLWdpdCBhL2J1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYyBiL2J1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYwppbmRleCA0YjVmYWRjLi5jMWM0MGI1IDEwMDY0NAotLS0gYS9idWlsdGluL2Jpc2VjdC0taGVscGVyLmMKKysrIGIvYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jCkBAIC0zLDE4ICszLDU4IEBACiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogI2luY2x1ZGUgImJpc2VjdC5oIgogI2luY2x1ZGUgInJlZnMuaCIKKyNpbmNsdWRlICJkaXIuaCIKKyNpbmNsdWRlICJhcmd2LWFycmF5LmgiCisjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKKyNpbmNsdWRlICJwcm9tcHQuaCIKKyNpbmNsdWRlICJxdW90ZS5oIgogCiBzdGF0aWMgR0lUX1BBVEhfRlVOQyhnaXRfcGF0aF9iaXNlY3RfdGVybXMsICJCSVNFQ1RfVEVSTVMiKQogc3RhdGljIEdJVF9QQVRIX0ZVTkMoZ2l0X3BhdGhfYmlzZWN0X2V4cGVjdGVkX3JldiwgIkJJU0VDVF9FWFBFQ1RFRF9SRVYiKQogc3RhdGljIEdJVF9QQVRIX0ZVTkMoZ2l0X3BhdGhfYmlzZWN0X2FuY2VzdG9yc19vaywgIkJJU0VDVF9BTkNFU1RPUlNfT0siKQorc3RhdGljIEdJVF9QQVRIX0ZVTkMoZ2l0X3BhdGhfYmlzZWN0X3N0YXJ0LCAiQklTRUNUX1NUQVJUIikKK3N0YXRpYyBHSVRfUEFUSF9GVU5DKGdpdF9wYXRoX2Jpc2VjdF9oZWFkLCAiQklTRUNUX0hFQUQiKQorc3RhdGljIEdJVF9QQVRIX0ZVTkMoZ2l0X3BhdGhfYmlzZWN0X2xvZywgIkJJU0VDVF9MT0ciKQorc3RhdGljIEdJVF9QQVRIX0ZVTkMoZ2l0X3BhdGhfaGVhZF9uYW1lLCAiaGVhZC1uYW1lIikKK3N0YXRpYyBHSVRfUEFUSF9GVU5DKGdpdF9wYXRoX2Jpc2VjdF9uYW1lcywgIkJJU0VDVF9OQU1FUyIpCiAKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZ2l0X2Jpc2VjdF9oZWxwZXJfdXNhZ2VbXSA9IHsKIAlOXygiZ2l0IGJpc2VjdC0taGVscGVyIC0tbmV4dC1hbGwgWy0tbm8tY2hlY2tvdXRdIiksCiAJTl8oImdpdCBiaXNlY3QtLWhlbHBlciAtLXdyaXRlLXRlcm1zIDxiYWRfdGVybT4gPGdvb2RfdGVybT4iKSwKIAlOXygiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNsZWFuLXN0YXRlIiksCisJTl8oImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1yZXNldCBbPGNvbW1pdD5dIiksCisJTl8oImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC13cml0ZSBbLS1uby1sb2ddIDxzdGF0ZT4gPHJldmlzaW9uPiA8Z29vZF90ZXJtPiA8YmFkX3Rlcm0+IiksCisJTl8oImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1jaGVjay1hbmQtc2V0LXRlcm1zIDxjb21tYW5kPiA8Z29vZF90ZXJtPiA8YmFkX3Rlcm0+IiksCisJTl8oImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1uZXh0LWNoZWNrIDxnb29kX3Rlcm0+IDxiYWRfdGVybT4gWzx0ZXJtPl0iKSwKKwlOXygiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXRlcm1zIFstLXRlcm0tZ29vZCB8IC0tdGVybS1vbGQgfCAtLXRlcm0tYmFkIHwgLS10ZXJtLW5ld10iKSwKKwlOXygiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXN0YXJ0IFstLXRlcm0te29sZCxnb29kfT08dGVybT4gLS10ZXJtLXtuZXcsYmFkfT08dGVybT5dIgorCQkJCQkgICAgICJbLS1uby1jaGVja291dF0gWzxiYWQ+IFs8Z29vZD4uLi5dXSBbLS1dIFs8cGF0aHM+Li4uXSIpLAogCU5VTEwKIH07CiAKK3N0cnVjdCBiaXNlY3RfdGVybXMgeworCWNoYXIgKnRlcm1fZ29vZDsKKwljaGFyICp0ZXJtX2JhZDsKK307CisKK3N0YXRpYyB2b2lkIGZyZWVfdGVybXMoc3RydWN0IGJpc2VjdF90ZXJtcyAqdGVybXMpCit7CisJRlJFRV9BTkRfTlVMTCh0ZXJtcy0+dGVybV9nb29kKTsKKwlGUkVFX0FORF9OVUxMKHRlcm1zLT50ZXJtX2JhZCk7Cit9CisKK3N0YXRpYyB2b2lkIHNldF90ZXJtcyhzdHJ1Y3QgYmlzZWN0X3Rlcm1zICp0ZXJtcywgY29uc3QgY2hhciAqYmFkLAorCQkgICAgICBjb25zdCBjaGFyICpnb29kKQoreworCWZyZWUoKHZvaWQgKil0ZXJtcy0+dGVybV9nb29kKTsKKwl0ZXJtcy0+dGVybV9nb29kID0geHN0cmR1cChnb29kKTsKKwlmcmVlKCh2b2lkICopdGVybXMtPnRlcm1fYmFkKTsKKwl0ZXJtcy0+dGVybV9iYWQgPSB4c3RyZHVwKGJhZCk7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyIHZvY2FiX2JhZFtdID0gImJhZHxuZXciOworc3RhdGljIGNvbnN0IGNoYXIgdm9jYWJfZ29vZFtdID0gImdvb2R8b2xkIjsKKwogLyoKICAqIENoZWNrIHdoZXRoZXIgdGhlIHN0cmluZyBgdGVybWAgYmVsb25ncyB0byB0aGUgc2V0IG9mIHN0cmluZ3MKICAqIGluY2x1ZGVkIGluIHRoZSB2YXJpYWJsZSBhcmd1bWVudHMuCkBAIC0xMDYsMTUgKzE0Niw0ODggQEAKIAl9CiB9CiAKK3N0YXRpYyBpbnQgYmlzZWN0X3Jlc2V0KGNvbnN0IGNoYXIgKmNvbW1pdCkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGJyYW5jaCA9IFNUUkJVRl9JTklUOworCisJaWYgKCFjb21taXQpIHsKKwkJaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUoJmJyYW5jaCwgZ2l0X3BhdGhfYmlzZWN0X3N0YXJ0KCksIDApIDwgMSkgeworCQkJcHJpbnRmKF8oIldlIGFyZSBub3QgYmlzZWN0aW5nLlxuIikpOworCQkJcmV0dXJuIDA7CisJCX0KKwkJc3RyYnVmX3J0cmltKCZicmFuY2gpOworCX0gZWxzZSB7CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCisJCWlmIChnZXRfb2lkX2NvbW1pdChjb21taXQsICZvaWQpKQorCQkJcmV0dXJuIGVycm9yKF8oIiclcycgaXMgbm90IGEgdmFsaWQgY29tbWl0IiksIGNvbW1pdCk7CisJCXN0cmJ1Zl9hZGRzdHIoJmJyYW5jaCwgY29tbWl0KTsKKwl9CisKKwlpZiAoIWZpbGVfZXhpc3RzKGdpdF9wYXRoX2Jpc2VjdF9oZWFkKCkpKSB7CisJCXN0cnVjdCBhcmd2X2FycmF5IGFyZ3YgPSBBUkdWX0FSUkFZX0lOSVQ7CisKKwkJYXJndl9hcnJheV9wdXNobCgmYXJndiwgImNoZWNrb3V0IiwgYnJhbmNoLmJ1ZiwgIi0tIiwgTlVMTCk7CisJCWlmIChydW5fY29tbWFuZF92X29wdChhcmd2LmFyZ3YsIFJVTl9HSVRfQ01EKSkgeworCQkJZXJyb3IoXygiY291bGQgbm90IGNoZWNrIG91dCBvcmlnaW5hbCIKKwkJCQkiIEhFQUQgJyVzJy4gVHJ5ICdnaXQgYmlzZWN0IgorCQkJCSIgcmVzZXQgPGNvbW1pdD4nLiIpLCBicmFuY2guYnVmKTsKKwkJCXN0cmJ1Zl9yZWxlYXNlKCZicmFuY2gpOworCQkJYXJndl9hcnJheV9jbGVhcigmYXJndik7CisJCQlyZXR1cm4gLTE7CisJCX0KKwkJYXJndl9hcnJheV9jbGVhcigmYXJndik7CisJfQorCisJc3RyYnVmX3JlbGVhc2UoJmJyYW5jaCk7CisJcmV0dXJuIGJpc2VjdF9jbGVhbl9zdGF0ZSgpOworfQorCitzdGF0aWMgdm9pZCBsb2dfY29tbWl0KEZJTEUgKmZwLCBjaGFyICpmbXQsIGNvbnN0IGNoYXIgKnN0YXRlLAorCQkgICAgICAgc3RydWN0IGNvbW1pdCAqY29tbWl0KQoreworCXN0cnVjdCBwcmV0dHlfcHJpbnRfY29udGV4dCBwcCA9IHswfTsKKwlzdHJ1Y3Qgc3RyYnVmIGNvbW1pdF9tc2cgPSBTVFJCVUZfSU5JVDsKKwljaGFyICpsYWJlbCA9IHhzdHJmbXQoZm10LCBzdGF0ZSk7CisKKwlmb3JtYXRfY29tbWl0X21lc3NhZ2UoY29tbWl0LCAiJXMiLCAmY29tbWl0X21zZywgJnBwKTsKKworCWZwcmludGYoZnAsICIjICVzOiBbJXNdICVzXG4iLCBsYWJlbCwgb2lkX3RvX2hleCgmY29tbWl0LT5vYmplY3Qub2lkKSwKKwkJY29tbWl0X21zZy5idWYpOworCisJc3RyYnVmX3JlbGVhc2UoJmNvbW1pdF9tc2cpOworCWZyZWUobGFiZWwpOworfQorCitzdGF0aWMgaW50IGJpc2VjdF93cml0ZShjb25zdCBjaGFyICpzdGF0ZSwgY29uc3QgY2hhciAqcmV2LAorCQkJY29uc3Qgc3RydWN0IGJpc2VjdF90ZXJtcyAqdGVybXMsIGludCBub2xvZykKK3sKKwlzdHJ1Y3Qgc3RyYnVmIHRhZyA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKKwlGSUxFICpmcCA9IE5VTEw7CisJaW50IHJlcyA9IDA7CisKKwlpZiAoIXN0cmNtcChzdGF0ZSwgdGVybXMtPnRlcm1fYmFkKSkgeworCQlzdHJidWZfYWRkZigmdGFnLCAicmVmcy9iaXNlY3QvJXMiLCBzdGF0ZSk7CisJfSBlbHNlIGlmIChvbmVfb2Yoc3RhdGUsIHRlcm1zLT50ZXJtX2dvb2QsICJza2lwIiwgTlVMTCkpIHsKKwkJc3RyYnVmX2FkZGYoJnRhZywgInJlZnMvYmlzZWN0LyVzLSVzIiwgc3RhdGUsIHJldik7CisJfSBlbHNlIHsKKwkJcmVzID0gZXJyb3IoXygiQmFkIGJpc2VjdF93cml0ZSBhcmd1bWVudDogJXMiKSwgc3RhdGUpOworCQlnb3RvIGZpbmlzaDsKKwl9CisKKwlpZiAoZ2V0X29pZChyZXYsICZvaWQpKSB7CisJCXJlcyA9IGVycm9yKF8oImNvdWxkbid0IGdldCB0aGUgb2lkIG9mIHRoZSByZXYgJyVzJyIpLCByZXYpOworCQlnb3RvIGZpbmlzaDsKKwl9CisKKwlpZiAodXBkYXRlX3JlZihOVUxMLCB0YWcuYnVmLCAmb2lkLCBOVUxMLCAwLAorCQkgICAgICAgVVBEQVRFX1JFRlNfTVNHX09OX0VSUikpIHsKKwkJcmVzID0gLTE7CisJCWdvdG8gZmluaXNoOworCX0KKworCWZwID0gZm9wZW4oZ2l0X3BhdGhfYmlzZWN0X2xvZygpLCAiYSIpOworCWlmICghZnApIHsKKwkJcmVzID0gZXJyb3JfZXJybm8oXygiY291bGRuJ3Qgb3BlbiB0aGUgZmlsZSAnJXMnIiksIGdpdF9wYXRoX2Jpc2VjdF9sb2coKSk7CisJCWdvdG8gZmluaXNoOworCX0KKworCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHRoZV9yZXBvc2l0b3J5LCAmb2lkKTsKKwlsb2dfY29tbWl0KGZwLCAiJXMiLCBzdGF0ZSwgY29tbWl0KTsKKworCWlmICghbm9sb2cpCisJCWZwcmludGYoZnAsICJnaXQgYmlzZWN0ICVzICVzXG4iLCBzdGF0ZSwgcmV2KTsKKworZmluaXNoOgorCWlmIChmcCkKKwkJZmNsb3NlKGZwKTsKKwlzdHJidWZfcmVsZWFzZSgmdGFnKTsKKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMgaW50IGNoZWNrX2FuZF9zZXRfdGVybXMoc3RydWN0IGJpc2VjdF90ZXJtcyAqdGVybXMsIGNvbnN0IGNoYXIgKmNtZCkKK3sKKwlpbnQgaGFzX3Rlcm1fZmlsZSA9ICFpc19lbXB0eV9vcl9taXNzaW5nX2ZpbGUoZ2l0X3BhdGhfYmlzZWN0X3Rlcm1zKCkpOworCisJaWYgKG9uZV9vZihjbWQsICJza2lwIiwgInN0YXJ0IiwgInRlcm1zIiwgTlVMTCkpCisJCXJldHVybiAwOworCisJaWYgKGhhc190ZXJtX2ZpbGUgJiYgc3RyY21wKGNtZCwgdGVybXMtPnRlcm1fYmFkKSAmJgorCSAgICBzdHJjbXAoY21kLCB0ZXJtcy0+dGVybV9nb29kKSkKKwkJcmV0dXJuIGVycm9yKF8oIkludmFsaWQgY29tbWFuZDogeW91J3JlIGN1cnJlbnRseSBpbiBhICIKKwkJCQkiJXMvJXMgYmlzZWN0IiksIHRlcm1zLT50ZXJtX2JhZCwKKwkJCQl0ZXJtcy0+dGVybV9nb29kKTsKKworCWlmICghaGFzX3Rlcm1fZmlsZSkgeworCQlpZiAob25lX29mKGNtZCwgImJhZCIsICJnb29kIiwgTlVMTCkpIHsKKwkJCXNldF90ZXJtcyh0ZXJtcywgImJhZCIsICJnb29kIik7CisJCQlyZXR1cm4gd3JpdGVfdGVybXModGVybXMtPnRlcm1fYmFkLCB0ZXJtcy0+dGVybV9nb29kKTsKKwkJfQorCQlpZiAob25lX29mKGNtZCwgIm5ldyIsICJvbGQiLCBOVUxMKSkgeworCQkJc2V0X3Rlcm1zKHRlcm1zLCAibmV3IiwgIm9sZCIpOworCQkJcmV0dXJuIHdyaXRlX3Rlcm1zKHRlcm1zLT50ZXJtX2JhZCwgdGVybXMtPnRlcm1fZ29vZCk7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBtYXJrX2dvb2QoY29uc3QgY2hhciAqcmVmbmFtZSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkgICAgIGludCBmbGFnLCB2b2lkICpjYl9kYXRhKQoreworCWludCAqbV9nb29kID0gKGludCAqKWNiX2RhdGE7CisJKm1fZ29vZCA9IDA7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyIG5lZWRfYmFkX2FuZF9nb29kX3JldmlzaW9uX3dhcm5pbmdbXSA9CisJTl8oIllvdSBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICVzIGFuZCAlcyByZXZpc2lvbi5cbiIKKwkgICAiWW91IGNhbiB1c2UgXCJnaXQgYmlzZWN0ICVzXCIgYW5kIFwiZ2l0IGJpc2VjdCAlc1wiIGZvciB0aGF0LiIpOworCitzdGF0aWMgY29uc3QgY2hhciBuZWVkX2Jpc2VjdF9zdGFydF93YXJuaW5nW10gPQorCU5fKCJZb3UgbmVlZCB0byBzdGFydCBieSBcImdpdCBiaXNlY3Qgc3RhcnRcIi5cbiIKKwkgICAiWW91IHRoZW4gbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSAlcyBhbmQgJXMgcmV2aXNpb24uXG4iCisJICAgIllvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCAlc1wiIGFuZCBcImdpdCBiaXNlY3QgJXNcIiBmb3IgdGhhdC4iKTsKKworc3RhdGljIGludCBkZWNpZGVfbmV4dChjb25zdCBzdHJ1Y3QgYmlzZWN0X3Rlcm1zICp0ZXJtcywKKwkJICAgICAgIGNvbnN0IGNoYXIgKmN1cnJlbnRfdGVybSwgaW50IG1pc3NpbmdfZ29vZCwKKwkJICAgICAgIGludCBtaXNzaW5nX2JhZCkKK3sKKwlpZiAoIW1pc3NpbmdfZ29vZCAmJiAhbWlzc2luZ19iYWQpCisJCXJldHVybiAwOworCWlmICghY3VycmVudF90ZXJtKQorCQlyZXR1cm4gLTE7CisKKwlpZiAobWlzc2luZ19nb29kICYmICFtaXNzaW5nX2JhZCAmJgorCSAgICAhc3RyY21wKGN1cnJlbnRfdGVybSwgdGVybXMtPnRlcm1fZ29vZCkpIHsKKwkJY2hhciAqeWVzbm87CisJCS8qCisJCSAqIGhhdmUgYmFkIChvciBuZXcpIGJ1dCBub3QgZ29vZCAob3Igb2xkKS4gV2UgY291bGQgYmlzZWN0CisJCSAqIGFsdGhvdWdoIHRoaXMgaXMgbGVzcyBvcHRpbXVtLgorCQkgKi8KKwkJd2FybmluZyhfKCJiaXNlY3Rpbmcgb25seSB3aXRoIGEgJXMgY29tbWl0IiksIHRlcm1zLT50ZXJtX2JhZCk7CisJCWlmICghaXNhdHR5KDApKQorCQkJcmV0dXJuIDA7CisJCS8qCisJCSAqIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbWV0gYW5kIFtuXSBpbiB5b3VyCisJCSAqIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKKwkJICogYXQgdGhpcyBwb2ludC4KKwkJICovCisJCXllc25vID0gZ2l0X3Byb21wdChfKCJBcmUgeW91IHN1cmUgW1kvbl0/ICIpLCBQUk9NUFRfRUNITyk7CisJCWlmIChzdGFydHNfd2l0aCh5ZXNubywgIk4iKSB8fCBzdGFydHNfd2l0aCh5ZXNubywgIm4iKSkKKwkJCXJldHVybiAtMTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKCFpc19lbXB0eV9vcl9taXNzaW5nX2ZpbGUoZ2l0X3BhdGhfYmlzZWN0X3N0YXJ0KCkpKQorCQlyZXR1cm4gZXJyb3IoXyhuZWVkX2JhZF9hbmRfZ29vZF9yZXZpc2lvbl93YXJuaW5nKSwKKwkJCSAgICAgdm9jYWJfYmFkLCB2b2NhYl9nb29kLCB2b2NhYl9iYWQsIHZvY2FiX2dvb2QpOworCWVsc2UKKwkJcmV0dXJuIGVycm9yKF8obmVlZF9iaXNlY3Rfc3RhcnRfd2FybmluZyksCisJCQkgICAgIHZvY2FiX2dvb2QsIHZvY2FiX2JhZCwgdm9jYWJfZ29vZCwgdm9jYWJfYmFkKTsKK30KKworc3RhdGljIGludCBiaXNlY3RfbmV4dF9jaGVjayhjb25zdCBzdHJ1Y3QgYmlzZWN0X3Rlcm1zICp0ZXJtcywKKwkJCSAgICAgY29uc3QgY2hhciAqY3VycmVudF90ZXJtKQoreworCWludCBtaXNzaW5nX2dvb2QgPSAxLCBtaXNzaW5nX2JhZCA9IDE7CisJY2hhciAqYmFkX3JlZiA9IHhzdHJmbXQoInJlZnMvYmlzZWN0LyVzIiwgdGVybXMtPnRlcm1fYmFkKTsKKwljaGFyICpnb29kX2dsb2IgPSB4c3RyZm10KCIlcy0qIiwgdGVybXMtPnRlcm1fZ29vZCk7CisKKwlpZiAocmVmX2V4aXN0cyhiYWRfcmVmKSkKKwkJbWlzc2luZ19iYWQgPSAwOworCisJZm9yX2VhY2hfZ2xvYl9yZWZfaW4obWFya19nb29kLCBnb29kX2dsb2IsICJyZWZzL2Jpc2VjdC8iLAorCQkJICAgICAodm9pZCAqKSAmbWlzc2luZ19nb29kKTsKKworCWZyZWUoZ29vZF9nbG9iKTsKKwlmcmVlKGJhZF9yZWYpOworCisJcmV0dXJuIGRlY2lkZV9uZXh0KHRlcm1zLCBjdXJyZW50X3Rlcm0sIG1pc3NpbmdfZ29vZCwgbWlzc2luZ19iYWQpOworfQorCitzdGF0aWMgaW50IGdldF90ZXJtcyhzdHJ1Y3QgYmlzZWN0X3Rlcm1zICp0ZXJtcykKK3sKKwlzdHJ1Y3Qgc3RyYnVmIHN0ciA9IFNUUkJVRl9JTklUOworCUZJTEUgKmZwID0gTlVMTDsKKwlpbnQgcmVzID0gMDsKKworCWZwID0gZm9wZW4oZ2l0X3BhdGhfYmlzZWN0X3Rlcm1zKCksICJyIik7CisJaWYgKCFmcCkgeworCQlyZXMgPSAtMTsKKwkJZ290byBmaW5pc2g7CisJfQorCisJZnJlZV90ZXJtcyh0ZXJtcyk7CisJc3RyYnVmX2dldGxpbmVfbGYoJnN0ciwgZnApOworCXRlcm1zLT50ZXJtX2JhZCA9IHN0cmJ1Zl9kZXRhY2goJnN0ciwgTlVMTCk7CisJc3RyYnVmX2dldGxpbmVfbGYoJnN0ciwgZnApOworCXRlcm1zLT50ZXJtX2dvb2QgPSBzdHJidWZfZGV0YWNoKCZzdHIsIE5VTEwpOworCitmaW5pc2g6CisJaWYgKGZwKQorCQlmY2xvc2UoZnApOworCXN0cmJ1Zl9yZWxlYXNlKCZzdHIpOworCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyBpbnQgYmlzZWN0X3Rlcm1zKHN0cnVjdCBiaXNlY3RfdGVybXMgKnRlcm1zLCBjb25zdCBjaGFyICpvcHRpb24pCit7CisJaWYgKGdldF90ZXJtcyh0ZXJtcykpCisJCXJldHVybiBlcnJvcihfKCJubyB0ZXJtcyBkZWZpbmVkIikpOworCisJaWYgKG9wdGlvbiA9PSBOVUxMKSB7CisJCXByaW50ZihfKCJZb3VyIGN1cnJlbnQgdGVybXMgYXJlICVzIGZvciB0aGUgb2xkIHN0YXRlXG4iCisJCQkgImFuZCAlcyBmb3IgdGhlIG5ldyBzdGF0ZS5cbiIpLAorCQkgICAgICAgdGVybXMtPnRlcm1fZ29vZCwgdGVybXMtPnRlcm1fYmFkKTsKKwkJcmV0dXJuIDA7CisJfQorCWlmIChvbmVfb2Yob3B0aW9uLCAiLS10ZXJtLWdvb2QiLCAiLS10ZXJtLW9sZCIsIE5VTEwpKQorCQlwcmludGYoIiVzXG4iLCB0ZXJtcy0+dGVybV9nb29kKTsKKwllbHNlIGlmIChvbmVfb2Yob3B0aW9uLCAiLS10ZXJtLWJhZCIsICItLXRlcm0tbmV3IiwgTlVMTCkpCisJCXByaW50ZigiJXNcbiIsIHRlcm1zLT50ZXJtX2JhZCk7CisJZWxzZQorCQlyZXR1cm4gZXJyb3IoXygiaW52YWxpZCBhcmd1bWVudCAlcyBmb3IgJ2dpdCBiaXNlY3QgdGVybXMnLlxuIgorCQkJICAgICAgICJTdXBwb3J0ZWQgb3B0aW9ucyBhcmU6ICIKKwkJCSAgICAgICAiLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCBhbmQgIgorCQkJICAgICAgICItLXRlcm0tYmFkfC0tdGVybS1uZXcuIiksIG9wdGlvbik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBiaXNlY3RfYXBwZW5kX2xvZ19xdW90ZWQoY29uc3QgY2hhciAqKmFyZ3YpCit7CisJaW50IHJlcyA9IDA7CisJRklMRSAqZnAgPSBmb3BlbihnaXRfcGF0aF9iaXNlY3RfbG9nKCksICJhIik7CisJc3RydWN0IHN0cmJ1ZiBvcmlnX2FyZ3MgPSBTVFJCVUZfSU5JVDsKKworCWlmICghZnApCisJCXJldHVybiAtMTsKKworCWlmIChmcHJpbnRmKGZwLCAiZ2l0IGJpc2VjdCBzdGFydCIpIDwgMSkgeworCQlyZXMgPSAtMTsKKwkJZ290byBmaW5pc2g7CisJfQorCisJc3FfcXVvdGVfYXJndigmb3JpZ19hcmdzLCBhcmd2KTsKKwlpZiAoZnByaW50ZihmcCwgIiVzXG4iLCBvcmlnX2FyZ3MuYnVmKSA8IDEpCisJCXJlcyA9IC0xOworCitmaW5pc2g6CisJZmNsb3NlKGZwKTsKKwlzdHJidWZfcmVsZWFzZSgmb3JpZ19hcmdzKTsKKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMgaW50IGJpc2VjdF9zdGFydChzdHJ1Y3QgYmlzZWN0X3Rlcm1zICp0ZXJtcywgaW50IG5vX2NoZWNrb3V0LAorCQkJY29uc3QgY2hhciAqKmFyZ3YsIGludCBhcmdjKQoreworCWludCBpLCBoYXNfZG91YmxlX2Rhc2ggPSAwLCBtdXN0X3dyaXRlX3Rlcm1zID0gMCwgYmFkX3NlZW4gPSAwOworCWludCBmbGFncywgcGF0aHNwZWNfcG9zLCByZXMgPSAwOworCXN0cnVjdCBzdHJpbmdfbGlzdCByZXZzID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CisJc3RydWN0IHN0cmluZ19saXN0IHN0YXRlcyA9IFNUUklOR19MSVNUX0lOSVRfRFVQOworCXN0cnVjdCBzdHJidWYgc3RhcnRfaGVhZCA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdHJidWYgYmlzZWN0X25hbWVzID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IG9iamVjdF9pZCBoZWFkX29pZDsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwljb25zdCBjaGFyICpoZWFkOworCisJaWYgKGlzX2JhcmVfcmVwb3NpdG9yeSgpKQorCQlub19jaGVja291dCA9IDE7CisKKwkvKgorCSAqIENoZWNrIGZvciBvbmUgYmFkIGFuZCB0aGVuIHNvbWUgZ29vZCByZXZpc2lvbnMKKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgYXJnYzsgaSsrKSB7CisJCWlmICghc3RyY21wKGFyZ3ZbaV0sICItLSIpKSB7CisJCQloYXNfZG91YmxlX2Rhc2ggPSAxOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgYXJnYzsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKmFyZyA9IGFyZ3ZbaV07CisJCWlmICghc3RyY21wKGFyZ3ZbaV0sICItLSIpKSB7CisJCQlicmVhazsKKwkJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tbm8tY2hlY2tvdXQiKSkgeworCQkJbm9fY2hlY2tvdXQgPSAxOworCQl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS10ZXJtLWdvb2QiKSB8fAorCQkJICFzdHJjbXAoYXJnLCAiLS10ZXJtLW9sZCIpKSB7CisJCQltdXN0X3dyaXRlX3Rlcm1zID0gMTsKKwkJCWZyZWUoKHZvaWQgKikgdGVybXMtPnRlcm1fZ29vZCk7CisJCQl0ZXJtcy0+dGVybV9nb29kID0geHN0cmR1cChhcmd2WysraV0pOworCQl9IGVsc2UgaWYgKHNraXBfcHJlZml4KGFyZywgIi0tdGVybS1nb29kPSIsICZhcmcpIHx8CisJCQkgICBza2lwX3ByZWZpeChhcmcsICItLXRlcm0tb2xkPSIsICZhcmcpKSB7CisJCQltdXN0X3dyaXRlX3Rlcm1zID0gMTsKKwkJCWZyZWUoKHZvaWQgKikgdGVybXMtPnRlcm1fZ29vZCk7CisJCQl0ZXJtcy0+dGVybV9nb29kID0geHN0cmR1cChhcmcpOworCQl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS10ZXJtLWJhZCIpIHx8CisJCQkgIXN0cmNtcChhcmcsICItLXRlcm0tbmV3IikpIHsKKwkJCW11c3Rfd3JpdGVfdGVybXMgPSAxOworCQkJZnJlZSgodm9pZCAqKSB0ZXJtcy0+dGVybV9iYWQpOworCQkJdGVybXMtPnRlcm1fYmFkID0geHN0cmR1cChhcmd2WysraV0pOworCQl9IGVsc2UgaWYgKHNraXBfcHJlZml4KGFyZywgIi0tdGVybS1iYWQ9IiwgJmFyZykgfHwKKwkJCSAgIHNraXBfcHJlZml4KGFyZywgIi0tdGVybS1uZXc9IiwgJmFyZykpIHsKKwkJCW11c3Rfd3JpdGVfdGVybXMgPSAxOworCQkJZnJlZSgodm9pZCAqKSB0ZXJtcy0+dGVybV9iYWQpOworCQkJdGVybXMtPnRlcm1fYmFkID0geHN0cmR1cChhcmcpOworCQl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tIikgJiYKKwkJCSAhb25lX29mKGFyZywgIi0tdGVybS1nb29kIiwgIi0tdGVybS1iYWQiLCBOVUxMKSkgeworCQkJcmV0dXJuIGVycm9yKF8oInVucmVjb2duaXplZCBvcHRpb246ICclcyciKSwgYXJnKTsKKwkJfSBlbHNlIHsKKwkJCWNoYXIgKmNvbW1pdF9pZCA9IHhzdHJmbXQoIiVzXntjb21taXR9IiwgYXJnKTsKKwkJCWlmIChnZXRfb2lkKGNvbW1pdF9pZCwgJm9pZCkgJiYgaGFzX2RvdWJsZV9kYXNoKQorCQkJCWRpZShfKCInJXMnIGRvZXMgbm90IGFwcGVhciB0byBiZSBhIHZhbGlkICIKKwkJCQkgICAgICAicmV2aXNpb24iKSwgYXJnKTsKKworCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZyZXZzLCBvaWRfdG9faGV4KCZvaWQpKTsKKwkJCWZyZWUoY29tbWl0X2lkKTsKKwkJfQorCX0KKwlwYXRoc3BlY19wb3MgPSBpOworCisJLyoKKwkgKiBUaGUgdXNlciByYW4gImdpdCBiaXNlY3Qgc3RhcnQgPHNoYTE+IDxzaGExPiIsIGhlbmNlIGRpZCBub3QKKwkgKiBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIHRlcm1zLCBidXQgd2UgYXJlIGFscmVhZHkgc3RhcnRpbmcgdG8KKwkgKiBzZXQgcmVmZXJlbmNlcyBuYW1lZCB3aXRoIHRoZSBkZWZhdWx0IHRlcm1zLCBhbmQgd29uJ3QgYmUgYWJsZQorCSAqIHRvIGNoYW5nZSBhZnRlcndhcmRzLgorCSAqLworCWlmIChyZXZzLm5yKQorCQltdXN0X3dyaXRlX3Rlcm1zID0gMTsKKwlmb3IgKGkgPSAwOyBpIDwgcmV2cy5ucjsgaSsrKSB7CisJCWlmIChiYWRfc2VlbikgeworCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZzdGF0ZXMsIHRlcm1zLT50ZXJtX2dvb2QpOworCQl9IGVsc2UgeworCQkJYmFkX3NlZW4gPSAxOworCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZzdGF0ZXMsIHRlcm1zLT50ZXJtX2JhZCk7CisJCX0KKwl9CisKKwkvKgorCSAqIFZlcmlmeSBIRUFECisJICovCisJaGVhZCA9IHJlc29sdmVfcmVmX3Vuc2FmZSgiSEVBRCIsIDAsICZoZWFkX29pZCwgJmZsYWdzKTsKKwlpZiAoIWhlYWQpCisJCWlmIChnZXRfb2lkKCJIRUFEIiwgJmhlYWRfb2lkKSkKKwkJCXJldHVybiBlcnJvcihfKCJiYWQgSEVBRCAtIEkgbmVlZCBhIEhFQUQiKSk7CisKKwkvKgorCSAqIENoZWNrIGlmIHdlIGFyZSBiaXNlY3RpbmcKKwkgKi8KKwlpZiAoIWlzX2VtcHR5X29yX21pc3NpbmdfZmlsZShnaXRfcGF0aF9iaXNlY3Rfc3RhcnQoKSkpIHsKKwkJLyogUmVzZXQgdG8gdGhlIHJldiBmcm9tIHdoZXJlIHdlIHN0YXJ0ZWQgKi8KKwkJc3RyYnVmX3JlYWRfZmlsZSgmc3RhcnRfaGVhZCwgZ2l0X3BhdGhfYmlzZWN0X3N0YXJ0KCksIDApOworCQlzdHJidWZfdHJpbSgmc3RhcnRfaGVhZCk7CisJCWlmICghbm9fY2hlY2tvdXQpIHsKKwkJCXN0cnVjdCBhcmd2X2FycmF5IGFyZ3YgPSBBUkdWX0FSUkFZX0lOSVQ7CisKKwkJCWFyZ3ZfYXJyYXlfcHVzaGwoJmFyZ3YsICJjaGVja291dCIsIHN0YXJ0X2hlYWQuYnVmLAorCQkJCQkgIi0tIiwgTlVMTCk7CisJCQlpZiAocnVuX2NvbW1hbmRfdl9vcHQoYXJndi5hcmd2LCBSVU5fR0lUX0NNRCkpIHsKKwkJCQlyZXMgPSBlcnJvcihfKCJjaGVja2luZyBvdXQgJyVzJyBmYWlsZWQuIgorCQkJCQkJICIgVHJ5ICdnaXQgYmlzZWN0IHN0YXJ0ICIKKwkJCQkJCSAiPHZhbGlkLWJyYW5jaD4nLiIpLAorCQkJCQkgICAgICAgc3RhcnRfaGVhZC5idWYpOworCQkJCWdvdG8gZmluaXNoOworCQkJfQorCQl9CisJfSBlbHNlIHsKKwkJLyogR2V0IHRoZSByZXYgZnJvbSB3aGVyZSB3ZSBzdGFydC4gKi8KKwkJaWYgKCFnZXRfb2lkKGhlYWQsICZoZWFkX29pZCkgJiYKKwkJICAgICFzdGFydHNfd2l0aChoZWFkLCAicmVmcy9oZWFkcy8iKSkgeworCQkJc3RyYnVmX3Jlc2V0KCZzdGFydF9oZWFkKTsKKwkJCXN0cmJ1Zl9hZGRzdHIoJnN0YXJ0X2hlYWQsIG9pZF90b19oZXgoJmhlYWRfb2lkKSk7CisJCX0gZWxzZSBpZiAoIWdldF9vaWQoaGVhZCwgJmhlYWRfb2lkKSAmJgorCQkJICAgc2tpcF9wcmVmaXgoaGVhZCwgInJlZnMvaGVhZHMvIiwgJmhlYWQpKSB7CisJCQkvKgorCQkJICogVGhpcyBlcnJvciBtZXNzYWdlIHNob3VsZCBvbmx5IGJlIHRyaWdnZXJlZCBieQorCQkJICogY29naXRvIHVzYWdlLCBhbmQgY29naXRvIHVzZXJzIHNob3VsZCB1bmRlcnN0YW5kCisJCQkgKiBpdCByZWxhdGVzIHRvIGNnLXNlZWsuCisJCQkgKi8KKwkJCWlmICghaXNfZW1wdHlfb3JfbWlzc2luZ19maWxlKGdpdF9wYXRoX2hlYWRfbmFtZSgpKSkKKwkJCQlyZXR1cm4gZXJyb3IoXygid29uJ3QgYmlzZWN0IG9uIGNnLXNlZWsnZWQgdHJlZSIpKTsKKwkJCXN0cmJ1Zl9hZGRzdHIoJnN0YXJ0X2hlYWQsIGhlYWQpOworCQl9IGVsc2UgeworCQkJcmV0dXJuIGVycm9yKF8oImJhZCBIRUFEIC0gc3RyYW5nZSBzeW1ib2xpYyByZWYiKSk7CisJCX0KKwl9CisKKwkvKgorCSAqIEdldCByaWQgb2YgYW55IG9sZCBiaXNlY3Qgc3RhdGUuCisJICovCisJaWYgKGJpc2VjdF9jbGVhbl9zdGF0ZSgpKQorCQlyZXR1cm4gLTE7CisKKwkvKgorCSAqIEluIGNhc2Ugb2YgbWlzdGFrZW4gcmV2cyBvciBjaGVja291dCBlcnJvciwgb3Igc2lnbmFscyByZWNlaXZlZCwKKwkgKiAiYmlzZWN0X2F1dG9fbmV4dCIgYmVsb3cgbWF5IGV4aXQgb3IgbWlzYmVoYXZlLgorCSAqIFdlIGhhdmUgdG8gdHJhcCB0aGlzIHRvIGJlIGFibGUgdG8gY2xlYW4gdXAgdXNpbmcKKwkgKiAiYmlzZWN0X2NsZWFuX3N0YXRlIi4KKwkgKi8KKworCS8qCisJICogV3JpdGUgbmV3IHN0YXJ0IHN0YXRlCisJICovCisJd3JpdGVfZmlsZShnaXRfcGF0aF9iaXNlY3Rfc3RhcnQoKSwgIiVzXG4iLCBzdGFydF9oZWFkLmJ1Zik7CisKKwlpZiAobm9fY2hlY2tvdXQpIHsKKwkJaWYgKGdldF9vaWQoc3RhcnRfaGVhZC5idWYsICZvaWQpIDwgMCkgeworCQkJcmVzID0gZXJyb3IoXygiaW52YWxpZCByZWY6ICclcyciKSwgc3RhcnRfaGVhZC5idWYpOworCQkJZ290byBmaW5pc2g7CisJCX0KKwkJaWYgKHVwZGF0ZV9yZWYoTlVMTCwgIkJJU0VDVF9IRUFEIiwgJm9pZCwgTlVMTCwgMCwKKwkJCSAgICAgICBVUERBVEVfUkVGU19NU0dfT05fRVJSKSkgeworCQkJcmVzID0gLTE7CisJCQlnb3RvIGZpbmlzaDsKKwkJfQorCX0KKworCWlmIChwYXRoc3BlY19wb3MgPCBhcmdjIC0gMSkKKwkJc3FfcXVvdGVfYXJndigmYmlzZWN0X25hbWVzLCBhcmd2ICsgcGF0aHNwZWNfcG9zKTsKKwl3cml0ZV9maWxlKGdpdF9wYXRoX2Jpc2VjdF9uYW1lcygpLCAiJXNcbiIsIGJpc2VjdF9uYW1lcy5idWYpOworCisJZm9yIChpID0gMDsgaSA8IHN0YXRlcy5ucjsgaSsrKQorCQlpZiAoYmlzZWN0X3dyaXRlKHN0YXRlcy5pdGVtc1tpXS5zdHJpbmcsCisJCQkJIHJldnMuaXRlbXNbaV0uc3RyaW5nLCB0ZXJtcywgMSkpIHsKKwkJCXJlcyA9IC0xOworCQkJZ290byBmaW5pc2g7CisJCX0KKworCWlmIChtdXN0X3dyaXRlX3Rlcm1zICYmIHdyaXRlX3Rlcm1zKHRlcm1zLT50ZXJtX2JhZCwKKwkJCQkJICAgIHRlcm1zLT50ZXJtX2dvb2QpKSB7CisJCXJlcyA9IC0xOworCQlnb3RvIGZpbmlzaDsKKwl9CisKKwlyZXMgPSBiaXNlY3RfYXBwZW5kX2xvZ19xdW90ZWQoYXJndik7CisJaWYgKHJlcykKKwkJcmVzID0gLTE7CisKK2ZpbmlzaDoKKwlzdHJpbmdfbGlzdF9jbGVhcigmcmV2cywgMCk7CisJc3RyaW5nX2xpc3RfY2xlYXIoJnN0YXRlcywgMCk7CisJc3RyYnVmX3JlbGVhc2UoJnN0YXJ0X2hlYWQpOworCXN0cmJ1Zl9yZWxlYXNlKCZiaXNlY3RfbmFtZXMpOworCXJldHVybiByZXM7Cit9CisKIGludCBjbWRfYmlzZWN0X19oZWxwZXIoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJZW51bSB7CiAJCU5FWFRfQUxMID0gMSwKIAkJV1JJVEVfVEVSTVMsCiAJCUJJU0VDVF9DTEVBTl9TVEFURSwKLQkJQ0hFQ0tfRVhQRUNURURfUkVWUworCQlDSEVDS19FWFBFQ1RFRF9SRVZTLAorCQlCSVNFQ1RfUkVTRVQsCisJCUJJU0VDVF9XUklURSwKKwkJQ0hFQ0tfQU5EX1NFVF9URVJNUywKKwkJQklTRUNUX05FWFRfQ0hFQ0ssCisJCUJJU0VDVF9URVJNUywKKwkJQklTRUNUX1NUQVJUCiAJfSBjbWRtb2RlID0gMDsKLQlpbnQgbm9fY2hlY2tvdXQgPSAwOworCWludCBub19jaGVja291dCA9IDAsIHJlcyA9IDAsIG5vbG9nID0gMDsKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKIAkJT1BUX0NNRE1PREUoMCwgIm5leHQtYWxsIiwgJmNtZG1vZGUsCiAJCQkgTl8oInBlcmZvcm0gJ2dpdCBiaXNlY3QgbmV4dCciKSwgTkVYVF9BTEwpLApAQCAtMTI0LDIwICs2MzcsMzcgQEAKIAkJCSBOXygiY2xlYW51cCB0aGUgYmlzZWN0aW9uIHN0YXRlIiksIEJJU0VDVF9DTEVBTl9TVEFURSksCiAJCU9QVF9DTURNT0RFKDAsICJjaGVjay1leHBlY3RlZC1yZXZzIiwgJmNtZG1vZGUsCiAJCQkgTl8oImNoZWNrIGZvciBleHBlY3RlZCByZXZzIiksIENIRUNLX0VYUEVDVEVEX1JFVlMpLAorCQlPUFRfQ01ETU9ERSgwLCAiYmlzZWN0LXJlc2V0IiwgJmNtZG1vZGUsCisJCQkgTl8oInJlc2V0IHRoZSBiaXNlY3Rpb24gc3RhdGUiKSwgQklTRUNUX1JFU0VUKSwKKwkJT1BUX0NNRE1PREUoMCwgImJpc2VjdC13cml0ZSIsICZjbWRtb2RlLAorCQkJIE5fKCJ3cml0ZSBvdXQgdGhlIGJpc2VjdGlvbiBzdGF0ZSBpbiBCSVNFQ1RfTE9HIiksIEJJU0VDVF9XUklURSksCisJCU9QVF9DTURNT0RFKDAsICJjaGVjay1hbmQtc2V0LXRlcm1zIiwgJmNtZG1vZGUsCisJCQkgTl8oImNoZWNrIGFuZCBzZXQgdGVybXMgaW4gYSBiaXNlY3Rpb24gc3RhdGUiKSwgQ0hFQ0tfQU5EX1NFVF9URVJNUyksCisJCU9QVF9DTURNT0RFKDAsICJiaXNlY3QtbmV4dC1jaGVjayIsICZjbWRtb2RlLAorCQkJIE5fKCJjaGVjayB3aGV0aGVyIGJhZCBvciBnb29kIHRlcm1zIGV4aXN0IiksIEJJU0VDVF9ORVhUX0NIRUNLKSwKKwkJT1BUX0NNRE1PREUoMCwgImJpc2VjdC10ZXJtcyIsICZjbWRtb2RlLAorCQkJIE5fKCJwcmludCBvdXQgdGhlIGJpc2VjdCB0ZXJtcyIpLCBCSVNFQ1RfVEVSTVMpLAorCQlPUFRfQ01ETU9ERSgwLCAiYmlzZWN0LXN0YXJ0IiwgJmNtZG1vZGUsCisJCQkgTl8oInN0YXJ0IHRoZSBiaXNlY3Qgc2Vzc2lvbiIpLCBCSVNFQ1RfU1RBUlQpLAogCQlPUFRfQk9PTCgwLCAibm8tY2hlY2tvdXQiLCAmbm9fY2hlY2tvdXQsCiAJCQkgTl8oInVwZGF0ZSBCSVNFQ1RfSEVBRCBpbnN0ZWFkIG9mIGNoZWNraW5nIG91dCB0aGUgY3VycmVudCBjb21taXQiKSksCisJCU9QVF9CT09MKDAsICJuby1sb2ciLCAmbm9sb2csCisJCQkgTl8oIm5vIGxvZyBmb3IgQklTRUNUX1dSSVRFIikpLAogCQlPUFRfRU5EKCkKIAl9OworCXN0cnVjdCBiaXNlY3RfdGVybXMgdGVybXMgPSB7IC50ZXJtX2dvb2QgPSBOVUxMLCAudGVybV9iYWQgPSBOVUxMIH07CiAKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIG9wdGlvbnMsCi0JCQkgICAgIGdpdF9iaXNlY3RfaGVscGVyX3VzYWdlLCAwKTsKKwkJCSAgICAgZ2l0X2Jpc2VjdF9oZWxwZXJfdXNhZ2UsCisJCQkgICAgIFBBUlNFX09QVF9LRUVQX0RBU0hEQVNIIHwgUEFSU0VfT1BUX0tFRVBfVU5LTk9XTik7CiAKIAlpZiAoIWNtZG1vZGUpCiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhnaXRfYmlzZWN0X2hlbHBlcl91c2FnZSwgb3B0aW9ucyk7CiAKIAlzd2l0Y2ggKGNtZG1vZGUpIHsKIAljYXNlIE5FWFRfQUxMOgotCQlyZXR1cm4gYmlzZWN0X25leHRfYWxsKHByZWZpeCwgbm9fY2hlY2tvdXQpOworCQlyZXMgPSBiaXNlY3RfbmV4dF9hbGwodGhlX3JlcG9zaXRvcnksIHByZWZpeCwgbm9fY2hlY2tvdXQpOworCQlicmVhazsKIAljYXNlIFdSSVRFX1RFUk1TOgogCQlpZiAoYXJnYyAhPSAyKQogCQkJcmV0dXJuIGVycm9yKF8oIi0td3JpdGUtdGVybXMgcmVxdWlyZXMgdHdvIGFyZ3VtZW50cyIpKTsKQEAgLTE0OSw4ICs2NzksNDggQEAKIAljYXNlIENIRUNLX0VYUEVDVEVEX1JFVlM6CiAJCWNoZWNrX2V4cGVjdGVkX3JldnMoYXJndiwgYXJnYyk7CiAJCXJldHVybiAwOworCWNhc2UgQklTRUNUX1JFU0VUOgorCQlpZiAoYXJnYyA+IDEpCisJCQlyZXR1cm4gZXJyb3IoXygiLS1iaXNlY3QtcmVzZXQgcmVxdWlyZXMgZWl0aGVyIG5vIGFyZ3VtZW50IG9yIGEgY29tbWl0IikpOworCQlyZXR1cm4gISFiaXNlY3RfcmVzZXQoYXJnYyA/IGFyZ3ZbMF0gOiBOVUxMKTsKKwljYXNlIEJJU0VDVF9XUklURToKKwkJaWYgKGFyZ2MgIT0gNCAmJiBhcmdjICE9IDUpCisJCQlyZXR1cm4gZXJyb3IoXygiLS1iaXNlY3Qtd3JpdGUgcmVxdWlyZXMgZWl0aGVyIDQgb3IgNSBhcmd1bWVudHMiKSk7CisJCXNldF90ZXJtcygmdGVybXMsIGFyZ3ZbM10sIGFyZ3ZbMl0pOworCQlyZXMgPSBiaXNlY3Rfd3JpdGUoYXJndlswXSwgYXJndlsxXSwgJnRlcm1zLCBub2xvZyk7CisJCWJyZWFrOworCWNhc2UgQ0hFQ0tfQU5EX1NFVF9URVJNUzoKKwkJaWYgKGFyZ2MgIT0gMykKKwkJCXJldHVybiBlcnJvcihfKCItLWNoZWNrLWFuZC1zZXQtdGVybXMgcmVxdWlyZXMgMyBhcmd1bWVudHMiKSk7CisJCXNldF90ZXJtcygmdGVybXMsIGFyZ3ZbMl0sIGFyZ3ZbMV0pOworCQlyZXMgPSBjaGVja19hbmRfc2V0X3Rlcm1zKCZ0ZXJtcywgYXJndlswXSk7CisJCWJyZWFrOworCWNhc2UgQklTRUNUX05FWFRfQ0hFQ0s6CisJCWlmIChhcmdjICE9IDIgJiYgYXJnYyAhPSAzKQorCQkJcmV0dXJuIGVycm9yKF8oIi0tYmlzZWN0LW5leHQtY2hlY2sgcmVxdWlyZXMgMiBvciAzIGFyZ3VtZW50cyIpKTsKKwkJc2V0X3Rlcm1zKCZ0ZXJtcywgYXJndlsxXSwgYXJndlswXSk7CisJCXJlcyA9IGJpc2VjdF9uZXh0X2NoZWNrKCZ0ZXJtcywgYXJnYyA9PSAzID8gYXJndlsyXSA6IE5VTEwpOworCQlicmVhazsKKwljYXNlIEJJU0VDVF9URVJNUzoKKwkJaWYgKGFyZ2MgPiAxKQorCQkJcmV0dXJuIGVycm9yKF8oIi0tYmlzZWN0LXRlcm1zIHJlcXVpcmVzIDAgb3IgMSBhcmd1bWVudCIpKTsKKwkJcmVzID0gYmlzZWN0X3Rlcm1zKCZ0ZXJtcywgYXJnYyA9PSAxID8gYXJndlswXSA6IE5VTEwpOworCQlicmVhazsKKwljYXNlIEJJU0VDVF9TVEFSVDoKKwkJc2V0X3Rlcm1zKCZ0ZXJtcywgImJhZCIsICJnb29kIik7CisJCXJlcyA9IGJpc2VjdF9zdGFydCgmdGVybXMsIG5vX2NoZWNrb3V0LCBhcmd2LCBhcmdjKTsKKwkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJcmV0dXJuIGVycm9yKCJCVUc6IHVua25vd24gc3ViY29tbWFuZCAnJWQnIiwgY21kbW9kZSk7CiAJfQotCXJldHVybiAwOworCWZyZWVfdGVybXMoJnRlcm1zKTsKKworCS8qCisJICogSGFuZGxlIGVhcmx5IHN1Y2Nlc3MKKwkgKiBGcm9tIGNoZWNrX21lcmdlX2Jhc2VzID4gY2hlY2tfZ29vZF9hcmVfYW5jZXN0b3JzX29mX2JhZCA+IGJpc2VjdF9uZXh0X2FsbAorCSAqLworCWlmIChyZXMgPT0gQklTRUNUX0lOVEVSTkFMX1NVQ0NFU1NfTUVSR0VfQkFTRSkKKwkJcmVzID0gQklTRUNUX09LOworCisJcmV0dXJuIGFicyhyZXMpOwogfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9ibGFtZS5jIGIvYnVpbHRpbi9ibGFtZS5jCmluZGV4IDZkNzk4ZjkuLmJmMWNlY2QgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vYmxhbWUuYworKysgYi9idWlsdGluL2JsYW1lLmMKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJwcm9ncmVzcy5oIgogI2luY2x1ZGUgIm9iamVjdC1zdG9yZS5oIgogI2luY2x1ZGUgImJsYW1lLmgiCi0jaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKKyNpbmNsdWRlICJyZWZzLmgiCiAKIHN0YXRpYyBjaGFyIGJsYW1lX3VzYWdlW10gPSBOXygiZ2l0IGJsYW1lIFs8b3B0aW9ucz5dIFs8cmV2LW9wdHM+XSBbPHJldj5dIFstLV0gPGZpbGU+Iik7CiAKQEAgLTUyLDE0ICs1MiwxNyBAQAogc3RhdGljIGludCBzaG93X3Byb2dyZXNzOwogc3RhdGljIGNoYXIgcmVwZWF0ZWRfbWV0YV9jb2xvcltDT0xPUl9NQVhMRU5dOwogc3RhdGljIGludCBjb2xvcmluZ19tb2RlOworc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBpZ25vcmVfcmV2c19maWxlX2xpc3QgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOworc3RhdGljIGludCBtYXJrX3VuYmxhbWFibGVfbGluZXM7CitzdGF0aWMgaW50IG1hcmtfaWdub3JlZF9saW5lczsKIAogc3RhdGljIHN0cnVjdCBkYXRlX21vZGUgYmxhbWVfZGF0ZV9tb2RlID0geyBEQVRFX0lTTzg2MDEgfTsKIHN0YXRpYyBzaXplX3QgYmxhbWVfZGF0ZV93aWR0aDsKIAogc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBtYWlsbWFwID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKIAotI2lmbmRlZiBERUJVRwotI2RlZmluZSBERUJVRyAwCisjaWZuZGVmIERFQlVHX0JMQU1FCisjZGVmaW5lIERFQlVHX0JMQU1FIDAKICNlbmRpZgogCiBzdGF0aWMgdW5zaWduZWQgYmxhbWVfbW92ZV9zY29yZTsKQEAgLTMxNiwxOCArMzE5LDE4IEBACiAJcmV0dXJuIHRpbWVfYnVmLmJ1ZjsKIH0KIAotI2RlZmluZSBPVVRQVVRfQU5OT1RBVEVfQ09NUEFUCTAwMQotI2RlZmluZSBPVVRQVVRfTE9OR19PQkpFQ1RfTkFNRQkwMDIKLSNkZWZpbmUgT1VUUFVUX1JBV19USU1FU1RBTVAJMDA0Ci0jZGVmaW5lIE9VVFBVVF9QT1JDRUxBSU4JMDEwCi0jZGVmaW5lIE9VVFBVVF9TSE9XX05BTUUJMDIwCi0jZGVmaW5lIE9VVFBVVF9TSE9XX05VTUJFUgkwNDAKLSNkZWZpbmUgT1VUUFVUX1NIT1dfU0NPUkUJMDEwMAotI2RlZmluZSBPVVRQVVRfTk9fQVVUSE9SCTAyMDAKLSNkZWZpbmUgT1VUUFVUX1NIT1dfRU1BSUwJMDQwMAotI2RlZmluZSBPVVRQVVRfTElORV9QT1JDRUxBSU4JMDEwMDAKLSNkZWZpbmUgT1VUUFVUX0NPTE9SX0xJTkUJMDIwMDAKLSNkZWZpbmUgT1VUUFVUX1NIT1dfQUdFX1dJVEhfQ09MT1IJMDQwMDAKKyNkZWZpbmUgT1VUUFVUX0FOTk9UQVRFX0NPTVBBVCAgICAgICgxVTw8MCkKKyNkZWZpbmUgT1VUUFVUX0xPTkdfT0JKRUNUX05BTUUgICAgICgxVTw8MSkKKyNkZWZpbmUgT1VUUFVUX1JBV19USU1FU1RBTVAgICAgICAgICgxVTw8MikKKyNkZWZpbmUgT1VUUFVUX1BPUkNFTEFJTiAgICAgICAgICAgICgxVTw8MykKKyNkZWZpbmUgT1VUUFVUX1NIT1dfTkFNRSAgICAgICAgICAgICgxVTw8NCkKKyNkZWZpbmUgT1VUUFVUX1NIT1dfTlVNQkVSICAgICAgICAgICgxVTw8NSkKKyNkZWZpbmUgT1VUUFVUX1NIT1dfU0NPUkUgICAgICAgICAgICgxVTw8NikKKyNkZWZpbmUgT1VUUFVUX05PX0FVVEhPUiAgICAgICAgICAgICgxVTw8NykKKyNkZWZpbmUgT1VUUFVUX1NIT1dfRU1BSUwgICAgICAgICAgICgxVTw8OCkKKyNkZWZpbmUgT1VUUFVUX0xJTkVfUE9SQ0VMQUlOICAgICAgICgxVTw8OSkKKyNkZWZpbmUgT1VUUFVUX0NPTE9SX0xJTkUgICAgICAgICAgICgxVTw8MTApCisjZGVmaW5lIE9VVFBVVF9TSE9XX0FHRV9XSVRIX0NPTE9SICAoMVU8PDExKQogCiBzdGF0aWMgdm9pZCBlbWl0X3BvcmNlbGFpbl9kZXRhaWxzKHN0cnVjdCBibGFtZV9vcmlnaW4gKnN1c3BlY3QsIGludCByZXBlYXQpCiB7CkBAIC00NTYsNyArNDU5LDcgQEAKIAogCWZvciAoY250ID0gMDsgY250IDwgZW50LT5udW1fbGluZXM7IGNudCsrKSB7CiAJCWNoYXIgY2g7Ci0JCWludCBsZW5ndGggPSAob3B0ICYgT1VUUFVUX0xPTkdfT0JKRUNUX05BTUUpID8gR0lUX1NIQTFfSEVYU1ogOiBhYmJyZXY7CisJCWludCBsZW5ndGggPSAob3B0ICYgT1VUUFVUX0xPTkdfT0JKRUNUX05BTUUpID8gdGhlX2hhc2hfYWxnby0+aGV4c3ogOiBhYmJyZXY7CiAKIAkJaWYgKG9wdCAmIE9VVFBVVF9DT0xPUl9MSU5FKSB7CiAJCQlpZiAoY250ID4gMCkgewpAQCAtNDc5LDYgKzQ4MiwxNCBAQAogCQkJfQogCQl9CiAKKwkJaWYgKG1hcmtfdW5ibGFtYWJsZV9saW5lcyAmJiBlbnQtPnVuYmxhbWFibGUpIHsKKwkJCWxlbmd0aC0tOworCQkJcHV0Y2hhcignKicpOworCQl9CisJCWlmIChtYXJrX2lnbm9yZWRfbGluZXMgJiYgZW50LT5pZ25vcmVkKSB7CisJCQlsZW5ndGgtLTsKKwkJCXB1dGNoYXIoJz8nKTsKKwkJfQogCQlwcmludGYoIiUuKnMiLCBsZW5ndGgsIGhleCk7CiAJCWlmIChvcHQgJiBPVVRQVVRfQU5OT1RBVEVfQ09NUEFUKSB7CiAJCQljb25zdCBjaGFyICpuYW1lOwpAQCAtNjk1LDYgKzcwNiwyNCBAQAogCQlwYXJzZV9kYXRlX2Zvcm1hdCh2YWx1ZSwgJmJsYW1lX2RhdGVfbW9kZSk7CiAJCXJldHVybiAwOwogCX0KKwlpZiAoIXN0cmNtcCh2YXIsICJibGFtZS5pZ25vcmVyZXZzZmlsZSIpKSB7CisJCWNvbnN0IGNoYXIgKnN0cjsKKwkJaW50IHJldDsKKworCQlyZXQgPSBnaXRfY29uZmlnX3BhdGhuYW1lKCZzdHIsIHZhciwgdmFsdWUpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwkJc3RyaW5nX2xpc3RfaW5zZXJ0KCZpZ25vcmVfcmV2c19maWxlX2xpc3QsIHN0cik7CisJCXJldHVybiAwOworCX0KKwlpZiAoIXN0cmNtcCh2YXIsICJibGFtZS5tYXJrdW5ibGFtYWJsZWxpbmVzIikpIHsKKwkJbWFya191bmJsYW1hYmxlX2xpbmVzID0gZ2l0X2NvbmZpZ19ib29sKHZhciwgdmFsdWUpOworCQlyZXR1cm4gMDsKKwl9CisJaWYgKCFzdHJjbXAodmFyLCAiYmxhbWUubWFya2lnbm9yZWRsaW5lcyIpKSB7CisJCW1hcmtfaWdub3JlZF9saW5lcyA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKKwkJcmV0dXJuIDA7CisJfQogCWlmICghc3RyY21wKHZhciwgImNvbG9yLmJsYW1lLnJlcGVhdGVkbGluZXMiKSkgewogCQlpZiAoY29sb3JfcGFyc2VfbWVtKHZhbHVlLCBzdHJsZW4odmFsdWUpLCByZXBlYXRlZF9tZXRhX2NvbG9yKSkKIAkJCXdhcm5pbmcoXygiaW52YWxpZCBjb2xvciAnJXMnIGluIGNvbG9yLmJsYW1lLnJlcGVhdGVkTGluZXMiKSwKQEAgLTc3NCw2ICs4MDMsMjcgQEAKIAlyZXR1cm4gT0JKX05PTkUgPCBvaWRfb2JqZWN0X2luZm8odGhlX3JlcG9zaXRvcnksICZvaWQsIE5VTEwpOwogfQogCitzdGF0aWMgdm9pZCBidWlsZF9pZ25vcmVsaXN0KHN0cnVjdCBibGFtZV9zY29yZWJvYXJkICpzYiwKKwkJCSAgICAgc3RydWN0IHN0cmluZ19saXN0ICppZ25vcmVfcmV2c19maWxlX2xpc3QsCisJCQkgICAgIHN0cnVjdCBzdHJpbmdfbGlzdCAqaWdub3JlX3Jldl9saXN0KQoreworCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCisJb2lkc2V0X2luaXQoJnNiLT5pZ25vcmVfbGlzdCwgMCk7CisJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShpLCBpZ25vcmVfcmV2c19maWxlX2xpc3QpIHsKKwkJaWYgKCFzdHJjbXAoaS0+c3RyaW5nLCAiIikpCisJCQlvaWRzZXRfY2xlYXIoJnNiLT5pZ25vcmVfbGlzdCk7CisJCWVsc2UKKwkJCW9pZHNldF9wYXJzZV9maWxlKCZzYi0+aWdub3JlX2xpc3QsIGktPnN0cmluZyk7CisJfQorCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaSwgaWdub3JlX3Jldl9saXN0KSB7CisJCWlmIChnZXRfb2lkX2NvbW1pdHRpc2goaS0+c3RyaW5nLCAmb2lkKSkKKwkJCWRpZShfKCJjYW5ub3QgZmluZCByZXZpc2lvbiAlcyB0byBpZ25vcmUiKSwgaS0+c3RyaW5nKTsKKwkJb2lkc2V0X2luc2VydCgmc2ItPmlnbm9yZV9saXN0LCAmb2lkKTsKKwl9Cit9CisKIGludCBjbWRfYmxhbWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJc3RydWN0IHJldl9pbmZvIHJldnM7CkBAIC03ODUsNiArODM1LDcgQEAKIAlzdHJ1Y3QgcHJvZ3Jlc3NfaW5mbyBwaSA9IHsgTlVMTCwgMCB9OwogCiAJc3RydWN0IHN0cmluZ19saXN0IHJhbmdlX2xpc3QgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOworCXN0cnVjdCBzdHJpbmdfbGlzdCBpZ25vcmVfcmV2X2xpc3QgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogCWludCBvdXRwdXRfb3B0aW9uID0gMCwgb3B0ID0gMDsKIAlpbnQgc2hvd19zdGF0cyA9IDA7CiAJY29uc3QgY2hhciAqcmV2c19maWxlID0gTlVMTDsKQEAgLTgwNiwxNiArODU3LDEwIEBACiAJCU9QVF9CSVQoJ3MnLCBOVUxMLCAmb3V0cHV0X29wdGlvbiwgTl8oIlN1cHByZXNzIGF1dGhvciBuYW1lIGFuZCB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiKSwgT1VUUFVUX05PX0FVVEhPUiksCiAJCU9QVF9CSVQoJ2UnLCAic2hvdy1lbWFpbCIsICZvdXRwdXRfb3B0aW9uLCBOXygiU2hvdyBhdXRob3IgZW1haWwgaW5zdGVhZCBvZiBuYW1lIChEZWZhdWx0OiBvZmYpIiksIE9VVFBVVF9TSE9XX0VNQUlMKSwKIAkJT1BUX0JJVCgndycsIE5VTEwsICZ4ZGxfb3B0cywgTl8oIklnbm9yZSB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzIiksIFhERl9JR05PUkVfV0hJVEVTUEFDRSksCisJCU9QVF9TVFJJTkdfTElTVCgwLCAiaWdub3JlLXJldiIsICZpZ25vcmVfcmV2X2xpc3QsIE5fKCJyZXYiKSwgTl8oIklnbm9yZSA8cmV2PiB3aGVuIGJsYW1pbmciKSksCisJCU9QVF9TVFJJTkdfTElTVCgwLCAiaWdub3JlLXJldnMtZmlsZSIsICZpZ25vcmVfcmV2c19maWxlX2xpc3QsIE5fKCJmaWxlIiksIE5fKCJJZ25vcmUgcmV2aXNpb25zIGZyb20gPGZpbGU+IikpLAogCQlPUFRfQklUKDAsICJjb2xvci1saW5lcyIsICZvdXRwdXRfb3B0aW9uLCBOXygiY29sb3IgcmVkdW5kYW50IG1ldGFkYXRhIGZyb20gcHJldmlvdXMgbGluZSBkaWZmZXJlbnRseSIpLCBPVVRQVVRfQ09MT1JfTElORSksCiAJCU9QVF9CSVQoMCwgImNvbG9yLWJ5LWFnZSIsICZvdXRwdXRfb3B0aW9uLCBOXygiY29sb3IgbGluZXMgYnkgYWdlIiksIE9VVFBVVF9TSE9XX0FHRV9XSVRIX0NPTE9SKSwKLQotCQkvKgotCQkgKiBUaGUgZm9sbG93aW5nIHR3byBvcHRpb25zIGFyZSBwYXJzZWQgYnkgcGFyc2VfcmV2aXNpb25fb3B0KCkKLQkJICogYW5kIGFyZSBvbmx5IGluY2x1ZGVkIGhlcmUgdG8gZ2V0IGluY2x1ZGVkIGluIHRoZSAiLWgiCi0JCSAqIG91dHB1dDoKLQkJICovCi0JCXsgT1BUSU9OX0xPV0xFVkVMX0NBTExCQUNLLCAwLCAiaW5kZW50LWhldXJpc3RpYyIsIE5VTEwsIE5VTEwsIE5fKCJVc2UgYW4gZXhwZXJpbWVudGFsIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIiksIFBBUlNFX09QVF9OT0FSRywgcGFyc2Vfb3B0X3Vua25vd25fY2IgfSwKLQogCQlPUFRfQklUKDAsICJtaW5pbWFsIiwgJnhkbF9vcHRzLCBOXygiU3BlbmQgZXh0cmEgY3ljbGVzIHRvIGZpbmQgYmV0dGVyIG1hdGNoIiksIFhERl9ORUVEX01JTklNQUwpLAogCQlPUFRfU1RSSU5HKCdTJywgTlVMTCwgJnJldnNfZmlsZSwgTl8oImZpbGUiKSwgTl8oIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIpKSwKIAkJT1BUX1NUUklORygwLCAiY29udGVudHMiLCAmY29udGVudHNfZnJvbSwgTl8oImZpbGUiKSwgTl8oIlVzZSA8ZmlsZT4ncyBjb250ZW50cyBhcyB0aGUgZmluYWwgaW1hZ2UiKSksCkBAIC04MzEsNiArODc2LDcgQEAKIAlzdHJ1Y3QgcmFuZ2Vfc2V0IHJhbmdlczsKIAl1bnNpZ25lZCBpbnQgcmFuZ2VfaTsKIAlsb25nIGFuY2hvcjsKKwljb25zdCBpbnQgaGV4c3ogPSB0aGVfaGFzaF9hbGdvLT5oZXhzejsKIAogCXNldHVwX2RlZmF1bHRfY29sb3JfYnlfYWdlKCk7CiAJZ2l0X2NvbmZpZyhnaXRfYmxhbWVfY29uZmlnLCAmb3V0cHV0X29wdGlvbik7CkBAIC04NzcsMTEgKzkyMywxMSBAQAogCX0gZWxzZSBpZiAoc2hvd19wcm9ncmVzcyA8IDApCiAJCXNob3dfcHJvZ3Jlc3MgPSBpc2F0dHkoMik7CiAKLQlpZiAoMCA8IGFiYnJldiAmJiBhYmJyZXYgPCBHSVRfU0hBMV9IRVhTWikKKwlpZiAoMCA8IGFiYnJldiAmJiBhYmJyZXYgPCBoZXhzeikKIAkJLyogb25lIG1vcmUgYWJicmV2IGxlbmd0aCBpcyBuZWVkZWQgZm9yIHRoZSBib3VuZGFyeSBjb21taXQgKi8KIAkJYWJicmV2Kys7CiAJZWxzZSBpZiAoIWFiYnJldikKLQkJYWJicmV2ID0gR0lUX1NIQTFfSEVYU1o7CisJCWFiYnJldiA9IGhleHN6OwogCiAJaWYgKHJldnNfZmlsZSAmJiByZWFkX2FuY2VzdHJ5KHJldnNfZmlsZSkpCiAJCWRpZV9lcnJubygicmVhZGluZyBncmFmdCBmaWxlICclcycgZmFpbGVkIiwgcmV2c19maWxlKTsKQEAgLTkyNSw2ICs5NzEsMTAgQEAKIAkJICovCiAJCWJsYW1lX2RhdGVfd2lkdGggPSB1dGY4X3N0cndpZHRoKF8oIjQgeWVhcnMsIDExIG1vbnRocyBhZ28iKSkgKyAxOyAvKiBhZGQgdGhlIG51bGwgKi8KIAkJYnJlYWs7CisJY2FzZSBEQVRFX0hVTUFOOgorCQkvKiBJZiB0aGUgeWVhciBpcyBzaG93biwgbm8gdGltZSBpcyBzaG93biAqLworCQlibGFtZV9kYXRlX3dpZHRoID0gc2l6ZW9mKCJUaHUgT2N0IDE5IDE2OjAwIik7CisJCWJyZWFrOwogCWNhc2UgREFURV9OT1JNQUw6CiAJCWJsYW1lX2RhdGVfd2lkdGggPSBzaXplb2YoIlRodSBPY3QgMTkgMTY6MDA6MDQgMjAwNiAtMDcwMCIpOwogCQlicmVhazsKQEAgLTk4OSwxMiArMTAzOSwyNyBAQAogCiAJcmV2cy5kaXNhYmxlX3N0ZGluID0gMTsKIAlzZXR1cF9yZXZpc2lvbnMoYXJnYywgYXJndiwgJnJldnMsIE5VTEwpOworCWlmICghcmV2cy5wZW5kaW5nLm5yICYmIGlzX2JhcmVfcmVwb3NpdG9yeSgpKSB7CisJCXN0cnVjdCBjb21taXQgKmhlYWRfY29tbWl0OworCQlzdHJ1Y3Qgb2JqZWN0X2lkIGhlYWRfb2lkOworCisJCWlmICghcmVzb2x2ZV9yZWZfdW5zYWZlKCJIRUFEIiwgUkVTT0xWRV9SRUZfUkVBRElORywKKwkJCQkJJmhlYWRfb2lkLCBOVUxMKSB8fAorCQkgICAgIShoZWFkX2NvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShyZXZzLnJlcG8sCisJCQkJCQkJICAgICAmaGVhZF9vaWQsIDEpKSkKKwkJCWRpZSgibm8gc3VjaCByZWY6IEhFQUQiKTsKKworCQlhZGRfcGVuZGluZ19vYmplY3QoJnJldnMsICZoZWFkX2NvbW1pdC0+b2JqZWN0LCAiSEVBRCIpOworCX0KIAogCWluaXRfc2NvcmVib2FyZCgmc2IpOwogCXNiLnJldnMgPSAmcmV2czsKIAlzYi5jb250ZW50c19mcm9tID0gY29udGVudHNfZnJvbTsKIAlzYi5yZXZlcnNlID0gcmV2ZXJzZTsKIAlzYi5yZXBvID0gdGhlX3JlcG9zaXRvcnk7CisJYnVpbGRfaWdub3JlbGlzdCgmc2IsICZpZ25vcmVfcmV2c19maWxlX2xpc3QsICZpZ25vcmVfcmV2X2xpc3QpOworCXN0cmluZ19saXN0X2NsZWFyKCZpZ25vcmVfcmV2c19maWxlX2xpc3QsIDApOworCXN0cmluZ19saXN0X2NsZWFyKCZpZ25vcmVfcmV2X2xpc3QsIDApOwogCXNldHVwX3Njb3JlYm9hcmQoJnNiLCBwYXRoLCAmbyk7CiAJbG5vID0gc2IubnVtX2xpbmVzOwogCkBAIC0xMDA3LDcgKzEwNzIsOCBAQAogCQlsb25nIGJvdHRvbSwgdG9wOwogCQlpZiAocGFyc2VfcmFuZ2VfYXJnKHJhbmdlX2xpc3QuaXRlbXNbcmFuZ2VfaV0uc3RyaW5nLAogCQkJCSAgICBudGhfbGluZV9jYiwgJnNiLCBsbm8sIGFuY2hvciwKLQkJCQkgICAgJmJvdHRvbSwgJnRvcCwgc2IucGF0aCwgJnRoZV9pbmRleCkpCisJCQkJICAgICZib3R0b20sICZ0b3AsIHNiLnBhdGgsCisJCQkJICAgIHRoZV9yZXBvc2l0b3J5LT5pbmRleCkpCiAJCQl1c2FnZShibGFtZV91c2FnZSk7CiAJCWlmICgoIWxubyAmJiAodG9wIHx8IGJvdHRvbSkpIHx8IGxubyA8IGJvdHRvbSkKIAkJCWRpZShRXygiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZSIsCkBAIC0xMDQ0LDcgKzExMTAsNyBAQAogCWlmIChibGFtZV9jb3B5X3Njb3JlKQogCQlzYi5jb3B5X3Njb3JlID0gYmxhbWVfY29weV9zY29yZTsKIAotCXNiLmRlYnVnID0gREVCVUc7CisJc2IuZGVidWcgPSBERUJVR19CTEFNRTsKIAlzYi5vbl9zYW5pdHlfZmFpbCA9ICZzYW5pdHlfY2hlY2tfb25fZmFpbDsKIAogCXNiLnNob3dfcm9vdCA9IHNob3dfcm9vdDsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vYnJhbmNoLmMgYi9idWlsdGluL2JyYW5jaC5jCmluZGV4IDBjNTVmN2YuLmQ4Mjk3ZjggMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vYnJhbmNoLmMKKysrIGIvYnVpbHRpbi9icmFuY2guYwpAQCAtNDcsNiArNDcsNyBAQAogCUdJVF9DT0xPUl9OT1JNQUwsICAgICAgIC8qIExPQ0FMICovCiAJR0lUX0NPTE9SX0dSRUVOLCAgICAgICAgLyogQ1VSUkVOVCAqLwogCUdJVF9DT0xPUl9CTFVFLCAgICAgICAgIC8qIFVQU1RSRUFNICovCisJR0lUX0NPTE9SX0NZQU4sICAgICAgICAgLyogV09SS1RSRUUgKi8KIH07CiBlbnVtIGNvbG9yX2JyYW5jaCB7CiAJQlJBTkNIX0NPTE9SX1JFU0VUID0gMCwKQEAgLTU0LDcgKzU1LDggQEAKIAlCUkFOQ0hfQ09MT1JfUkVNT1RFID0gMiwKIAlCUkFOQ0hfQ09MT1JfTE9DQUwgPSAzLAogCUJSQU5DSF9DT0xPUl9DVVJSRU5UID0gNCwKLQlCUkFOQ0hfQ09MT1JfVVBTVFJFQU0gPSA1CisJQlJBTkNIX0NPTE9SX1VQU1RSRUFNID0gNSwKKwlCUkFOQ0hfQ09MT1JfV09SS1RSRUUgPSA2CiB9OwogCiBzdGF0aWMgY29uc3QgY2hhciAqY29sb3JfYnJhbmNoX3Nsb3RzW10gPSB7CkBAIC02NCw2ICs2Niw3IEBACiAJW0JSQU5DSF9DT0xPUl9MT0NBTF0JPSAibG9jYWwiLAogCVtCUkFOQ0hfQ09MT1JfQ1VSUkVOVF0JPSAiY3VycmVudCIsCiAJW0JSQU5DSF9DT0xPUl9VUFNUUkVBTV0gPSAidXBzdHJlYW0iLAorCVtCUkFOQ0hfQ09MT1JfV09SS1RSRUVdID0gIndvcmt0cmVlIiwKIH07CiAKIHN0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3Qgb3V0cHV0ID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CkBAIC0zNDIsOSArMzQ1LDEwIEBACiAJc3RydWN0IHN0cmJ1ZiBsb2NhbCA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJidWYgcmVtb3RlID0gU1RSQlVGX0lOSVQ7CiAKLQlzdHJidWZfYWRkZigmbG9jYWwsICIlJShpZiklJShIRUFEKSUlKHRoZW4pKiAlcyUlKGVsc2UpICAlcyUlKGVuZCkiLAotCQkgICAgYnJhbmNoX2dldF9jb2xvcihCUkFOQ0hfQ09MT1JfQ1VSUkVOVCksCi0JCSAgICBicmFuY2hfZ2V0X2NvbG9yKEJSQU5DSF9DT0xPUl9MT0NBTCkpOworCXN0cmJ1Zl9hZGRmKCZsb2NhbCwgIiUlKGlmKSUlKEhFQUQpJSUodGhlbikqICVzJSUoZWxzZSklJShpZiklJSh3b3JrdHJlZXBhdGgpJSUodGhlbikrICVzJSUoZWxzZSkgICVzJSUoZW5kKSUlKGVuZCkiLAorCQkJYnJhbmNoX2dldF9jb2xvcihCUkFOQ0hfQ09MT1JfQ1VSUkVOVCksCisJCQlicmFuY2hfZ2V0X2NvbG9yKEJSQU5DSF9DT0xPUl9XT1JLVFJFRSksCisJCQlicmFuY2hfZ2V0X2NvbG9yKEJSQU5DSF9DT0xPUl9MT0NBTCkpOwogCXN0cmJ1Zl9hZGRmKCZyZW1vdGUsICIgICVzIiwKIAkJICAgIGJyYW5jaF9nZXRfY29sb3IoQlJBTkNIX0NPTE9SX1JFTU9URSkpOwogCkBAIC0zNjMsOSArMzY3LDEzIEBACiAJCXN0cmJ1Zl9hZGRmKCZsb2NhbCwgIiAlcyAiLCBvYm5hbWUuYnVmKTsKIAogCQlpZiAoZmlsdGVyLT52ZXJib3NlID4gMSkKKwkJeworCQkJc3RyYnVmX2FkZGYoJmxvY2FsLCAiJSUoaWY6bm90ZXF1YWxzPSopJSUoSEVBRCklJSh0aGVuKSUlKGlmKSUlKHdvcmt0cmVlcGF0aCklJSh0aGVuKSglcyUlKHdvcmt0cmVlcGF0aCklcykgJSUoZW5kKSUlKGVuZCkiLAorCQkJCSAgICBicmFuY2hfZ2V0X2NvbG9yKEJSQU5DSF9DT0xPUl9XT1JLVFJFRSksIGJyYW5jaF9nZXRfY29sb3IoQlJBTkNIX0NPTE9SX1JFU0VUKSk7CiAJCQlzdHJidWZfYWRkZigmbG9jYWwsICIlJShpZiklJSh1cHN0cmVhbSklJSh0aGVuKVslcyUlKHVwc3RyZWFtOnNob3J0KSVzJSUoaWYpJSUodXBzdHJlYW06dHJhY2spIgogCQkJCSAgICAiJSUodGhlbik6ICUlKHVwc3RyZWFtOnRyYWNrLG5vYnJhY2tldCklJShlbmQpXSAlJShlbmQpJSUoY29udGVudHM6c3ViamVjdCkiLAogCQkJCSAgICBicmFuY2hfZ2V0X2NvbG9yKEJSQU5DSF9DT0xPUl9VUFNUUkVBTSksIGJyYW5jaF9nZXRfY29sb3IoQlJBTkNIX0NPTE9SX1JFU0VUKSk7CisJCX0KIAkJZWxzZQogCQkJc3RyYnVmX2FkZGYoJmxvY2FsLCAiJSUoaWYpJSUodXBzdHJlYW06dHJhY2spJSUodGhlbiklJSh1cHN0cmVhbTp0cmFjaykgJSUoZW5kKSUlKGNvbnRlbnRzOnN1YmplY3QpIik7CiAKQEAgLTQ0Myw2ICs0NTEsMjEgQEAKIAlmcmVlKHRvX2ZyZWUpOwogfQogCitzdGF0aWMgdm9pZCBwcmludF9jdXJyZW50X2JyYW5jaF9uYW1lKHZvaWQpCit7CisJaW50IGZsYWdzOworCWNvbnN0IGNoYXIgKnJlZm5hbWUgPSByZXNvbHZlX3JlZl91bnNhZmUoIkhFQUQiLCAwLCBOVUxMLCAmZmxhZ3MpOworCWNvbnN0IGNoYXIgKnNob3J0bmFtZTsKKwlpZiAoIXJlZm5hbWUpCisJCWRpZShfKCJjb3VsZCBub3QgcmVzb2x2ZSBIRUFEIikpOworCWVsc2UgaWYgKCEoZmxhZ3MgJiBSRUZfSVNTWU1SRUYpKQorCQlyZXR1cm47CisJZWxzZSBpZiAoc2tpcF9wcmVmaXgocmVmbmFtZSwgInJlZnMvaGVhZHMvIiwgJnNob3J0bmFtZSkpCisJCXB1dHMoc2hvcnRuYW1lKTsKKwllbHNlCisJCWRpZShfKCJIRUFEICglcykgcG9pbnRzIG91dHNpZGUgb2YgcmVmcy9oZWFkcy8iKSwgcmVmbmFtZSk7Cit9CisKIHN0YXRpYyB2b2lkIHJlamVjdF9yZWJhc2Vfb3JfYmlzZWN0X2JyYW5jaChjb25zdCBjaGFyICp0YXJnZXQpCiB7CiAJc3RydWN0IHdvcmt0cmVlICoqd29ya3RyZWVzID0gZ2V0X3dvcmt0cmVlcygwKTsKQEAgLTU4MSw2ICs2MDQsNyBAQAogaW50IGNtZF9icmFuY2goaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJaW50IGRlbGV0ZSA9IDAsIHJlbmFtZSA9IDAsIGNvcHkgPSAwLCBmb3JjZSA9IDAsIGxpc3QgPSAwOworCWludCBzaG93X2N1cnJlbnQgPSAwOwogCWludCByZWZsb2cgPSAwLCBlZGl0X2Rlc2NyaXB0aW9uID0gMDsKIAlpbnQgcXVpZXQgPSAwLCB1bnNldF91cHN0cmVhbSA9IDA7CiAJY29uc3QgY2hhciAqbmV3X3Vwc3RyZWFtID0gTlVMTDsKQEAgLTYwMCw3ICs2MjQsNyBAQAogCQlPUFRfU0VUX0lOVF9GKDAsICJzZXQtdXBzdHJlYW0iLCAmdHJhY2ssIE5fKCJkbyBub3QgdXNlIiksCiAJCQlCUkFOQ0hfVFJBQ0tfT1ZFUlJJREUsIFBBUlNFX09QVF9ISURERU4pLAogCQlPUFRfU1RSSU5HKCd1JywgInNldC11cHN0cmVhbS10byIsICZuZXdfdXBzdHJlYW0sIE5fKCJ1cHN0cmVhbSIpLCBOXygiY2hhbmdlIHRoZSB1cHN0cmVhbSBpbmZvIikpLAotCQlPUFRfQk9PTCgwLCAidW5zZXQtdXBzdHJlYW0iLCAmdW5zZXRfdXBzdHJlYW0sIE5fKCJVbnNldCB0aGUgdXBzdHJlYW0gaW5mbyIpKSwKKwkJT1BUX0JPT0woMCwgInVuc2V0LXVwc3RyZWFtIiwgJnVuc2V0X3Vwc3RyZWFtLCBOXygidW5zZXQgdGhlIHVwc3RyZWFtIGluZm8iKSksCiAJCU9QVF9fQ09MT1IoJmJyYW5jaF91c2VfY29sb3IsIE5fKCJ1c2UgY29sb3JlZCBvdXRwdXQiKSksCiAJCU9QVF9TRVRfSU5UKCdyJywgInJlbW90ZXMiLCAgICAgJmZpbHRlci5raW5kLCBOXygiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIpLAogCQkJRklMVEVSX1JFRlNfUkVNT1RFUyksCkBAIC02MjAsNiArNjQ0LDcgQEAKIAkJT1BUX0JJVCgnYycsICJjb3B5IiwgJmNvcHksIE5fKCJjb3B5IGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIiksIDEpLAogCQlPUFRfQklUKCdDJywgTlVMTCwgJmNvcHksIE5fKCJjb3B5IGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiKSwgMiksCiAJCU9QVF9CT09MKCdsJywgImxpc3QiLCAmbGlzdCwgTl8oImxpc3QgYnJhbmNoIG5hbWVzIikpLAorCQlPUFRfQk9PTCgwLCAic2hvdy1jdXJyZW50IiwgJnNob3dfY3VycmVudCwgTl8oInNob3cgY3VycmVudCBicmFuY2ggbmFtZSIpKSwKIAkJT1BUX0JPT0woMCwgImNyZWF0ZS1yZWZsb2ciLCAmcmVmbG9nLCBOXygiY3JlYXRlIHRoZSBicmFuY2gncyByZWZsb2ciKSksCiAJCU9QVF9CT09MKDAsICJlZGl0LWRlc2NyaXB0aW9uIiwgJmVkaXRfZGVzY3JpcHRpb24sCiAJCQkgTl8oImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIikpLApAQCAtNjI3LDggKzY1Miw3IEBACiAJCU9QVF9NRVJHRUQoJmZpbHRlciwgTl8oInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBhcmUgbWVyZ2VkIikpLAogCQlPUFRfTk9fTUVSR0VEKCZmaWx0ZXIsIE5fKCJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG5vdCBtZXJnZWQiKSksCiAJCU9QVF9DT0xVTU4oMCwgImNvbHVtbiIsICZjb2xvcHRzLCBOXygibGlzdCBicmFuY2hlcyBpbiBjb2x1bW5zIikpLAotCQlPUFRfQ0FMTEJBQ0soMCAsICJzb3J0Iiwgc29ydGluZ190YWlsLCBOXygia2V5IiksCi0JCQkgICAgIE5fKCJmaWVsZCBuYW1lIHRvIHNvcnQgb24iKSwgJnBhcnNlX29wdF9yZWZfc29ydGluZyksCisJCU9QVF9SRUZfU09SVChzb3J0aW5nX3RhaWwpLAogCQl7CiAJCQlPUFRJT05fQ0FMTEJBQ0ssIDAsICJwb2ludHMtYXQiLCAmZmlsdGVyLnBvaW50c19hdCwgTl8oIm9iamVjdCIpLAogCQkJTl8oInByaW50IG9ubHkgYnJhbmNoZXMgb2YgdGhlIG9iamVjdCIpLCAwLCBwYXJzZV9vcHRfb2JqZWN0X25hbWUKQEAgLTY2MiwxNCArNjg2LDE1IEBACiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBvcHRpb25zLCBidWlsdGluX2JyYW5jaF91c2FnZSwKIAkJCSAgICAgMCk7CiAKLQlpZiAoIWRlbGV0ZSAmJiAhcmVuYW1lICYmICFjb3B5ICYmICFlZGl0X2Rlc2NyaXB0aW9uICYmICFuZXdfdXBzdHJlYW0gJiYgIXVuc2V0X3Vwc3RyZWFtICYmIGFyZ2MgPT0gMCkKKwlpZiAoIWRlbGV0ZSAmJiAhcmVuYW1lICYmICFjb3B5ICYmICFlZGl0X2Rlc2NyaXB0aW9uICYmICFuZXdfdXBzdHJlYW0gJiYKKwkgICAgIXNob3dfY3VycmVudCAmJiAhdW5zZXRfdXBzdHJlYW0gJiYgYXJnYyA9PSAwKQogCQlsaXN0ID0gMTsKIAogCWlmIChmaWx0ZXIud2l0aF9jb21taXQgfHwgZmlsdGVyLm1lcmdlICE9IFJFRl9GSUxURVJfTUVSR0VEX05PTkUgfHwgZmlsdGVyLnBvaW50c19hdC5uciB8fAogCSAgICBmaWx0ZXIubm9fY29tbWl0KQogCQlsaXN0ID0gMTsKIAotCWlmICghIWRlbGV0ZSArICEhcmVuYW1lICsgISFjb3B5ICsgISFuZXdfdXBzdHJlYW0gKworCWlmICghIWRlbGV0ZSArICEhcmVuYW1lICsgISFjb3B5ICsgISFuZXdfdXBzdHJlYW0gKyAhIXNob3dfY3VycmVudCArCiAJICAgIGxpc3QgKyB1bnNldF91cHN0cmVhbSA+IDEpCiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhidWlsdGluX2JyYW5jaF91c2FnZSwgb3B0aW9ucyk7CiAKQEAgLTY5Nyw2ICs3MjIsOSBAQAogCQlpZiAoIWFyZ2MpCiAJCQlkaWUoXygiYnJhbmNoIG5hbWUgcmVxdWlyZWQiKSk7CiAJCXJldHVybiBkZWxldGVfYnJhbmNoZXMoYXJnYywgYXJndiwgZGVsZXRlID4gMSwgZmlsdGVyLmtpbmQsIHF1aWV0KTsKKwl9IGVsc2UgaWYgKHNob3dfY3VycmVudCkgeworCQlwcmludF9jdXJyZW50X2JyYW5jaF9uYW1lKCk7CisJCXJldHVybiAwOwogCX0gZWxzZSBpZiAobGlzdCkgewogCQkvKiAgZ2l0IGJyYW5jaCAtLWxvY2FsIGFsc28gc2hvd3MgSEVBRCB3aGVuIGl0IGlzIGRldGFjaGVkICovCiAJCWlmICgoZmlsdGVyLmtpbmQgJiBGSUxURVJfUkVGU19CUkFOQ0hFUykgJiYgZmlsdGVyLmRldGFjaGVkKQpAQCAtNzgzLDcgKzgxMSw4IEBACiAJCSAqIGNyZWF0ZV9icmFuY2ggdGFrZXMgY2FyZSBvZiBzZXR0aW5nIHVwIHRoZSB0cmFja2luZwogCQkgKiBpbmZvIGFuZCBtYWtpbmcgc3VyZSBuZXdfdXBzdHJlYW0gaXMgY29ycmVjdAogCQkgKi8KLQkJY3JlYXRlX2JyYW5jaChicmFuY2gtPm5hbWUsIG5ld191cHN0cmVhbSwgMCwgMCwgMCwgcXVpZXQsIEJSQU5DSF9UUkFDS19PVkVSUklERSk7CisJCWNyZWF0ZV9icmFuY2godGhlX3JlcG9zaXRvcnksIGJyYW5jaC0+bmFtZSwgbmV3X3Vwc3RyZWFtLAorCQkJICAgICAgMCwgMCwgMCwgcXVpZXQsIEJSQU5DSF9UUkFDS19PVkVSUklERSk7CiAJfSBlbHNlIGlmICh1bnNldF91cHN0cmVhbSkgewogCQlzdHJ1Y3QgYnJhbmNoICpicmFuY2ggPSBicmFuY2hfZ2V0KGFyZ3ZbMF0pOwogCQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwpAQCAtODA5LDEyICs4MzgsMTQgQEAKIAkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAJfSBlbHNlIGlmIChhcmdjID4gMCAmJiBhcmdjIDw9IDIpIHsKIAkJaWYgKGZpbHRlci5raW5kICE9IEZJTFRFUl9SRUZTX0JSQU5DSEVTKQotCQkJZGllKF8oIi1hIGFuZCAtciBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgbWFrZSBzZW5zZSB3aXRoIGEgYnJhbmNoIG5hbWUiKSk7CisJCQlkaWUoXygiVGhlIC1hLCBhbmQgLXIsIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCB0YWtlIGEgYnJhbmNoIG5hbWUuXG4iCisJCQkJICAiRGlkIHlvdSBtZWFuIHRvIHVzZTogLWF8LXIgLS1saXN0IDxwYXR0ZXJuPj8iKSk7CiAKIAkJaWYgKHRyYWNrID09IEJSQU5DSF9UUkFDS19PVkVSUklERSkKIAkJCWRpZShfKCJ0aGUgJy0tc2V0LXVwc3RyZWFtJyBvcHRpb24gaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gUGxlYXNlIHVzZSAnLS10cmFjaycgb3IgJy0tc2V0LXVwc3RyZWFtLXRvJyBpbnN0ZWFkLiIpKTsKIAotCQljcmVhdGVfYnJhbmNoKGFyZ3ZbMF0sIChhcmdjID09IDIpID8gYXJndlsxXSA6IGhlYWQsCisJCWNyZWF0ZV9icmFuY2godGhlX3JlcG9zaXRvcnksCisJCQkgICAgICBhcmd2WzBdLCAoYXJnYyA9PSAyKSA/IGFyZ3ZbMV0gOiBoZWFkLAogCQkJICAgICAgZm9yY2UsIDAsIHJlZmxvZywgcXVpZXQsIHRyYWNrKTsKIAogCX0gZWxzZQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9idW5kbGUuYyBiL2J1aWx0aW4vYnVuZGxlLmMKaW5kZXggZDBkZTU5Yi4uZjA0OWQyNyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9idW5kbGUuYworKysgYi9idWlsdGluL2J1bmRsZS5jCkBAIC0xLDQgKzEsNiBAQAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKKyNpbmNsdWRlICJhcmd2LWFycmF5LmgiCisjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAiYnVuZGxlLmgiCiAKQEAgLTksNTkgKzExLDE4NCBAQAogICogYnVuZGxlIHN1cHBvcnRpbmcgImZldGNoIiwgInB1bGwiLCBhbmQgImxzLXJlbW90ZSIuCiAgKi8KIAotc3RhdGljIGNvbnN0IGNoYXIgYnVpbHRpbl9idW5kbGVfdXNhZ2VbXSA9Ci0gICJnaXQgYnVuZGxlIGNyZWF0ZSA8ZmlsZT4gPGdpdC1yZXYtbGlzdCBhcmdzPlxuIgotICAiICAgb3I6IGdpdCBidW5kbGUgdmVyaWZ5IDxmaWxlPlxuIgotICAiICAgb3I6IGdpdCBidW5kbGUgbGlzdC1oZWFkcyA8ZmlsZT4gWzxyZWZuYW1lPi4uLl1cbiIKLSAgIiAgIG9yOiBnaXQgYnVuZGxlIHVuYnVuZGxlIDxmaWxlPiBbPHJlZm5hbWU+Li4uXSI7CitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGJ1aWx0aW5fYnVuZGxlX3VzYWdlW10gPSB7CisgIE5fKCJnaXQgYnVuZGxlIGNyZWF0ZSBbPG9wdGlvbnM+XSA8ZmlsZT4gPGdpdC1yZXYtbGlzdCBhcmdzPiIpLAorICBOXygiZ2l0IGJ1bmRsZSB2ZXJpZnkgWzxvcHRpb25zPl0gPGZpbGU+IiksCisgIE5fKCJnaXQgYnVuZGxlIGxpc3QtaGVhZHMgPGZpbGU+IFs8cmVmbmFtZT4uLi5dIiksCisgIE5fKCJnaXQgYnVuZGxlIHVuYnVuZGxlIDxmaWxlPiBbPHJlZm5hbWU+Li4uXSIpLAorICBOVUxMCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGJ1aWx0aW5fYnVuZGxlX2NyZWF0ZV91c2FnZVtdID0geworICBOXygiZ2l0IGJ1bmRsZSBjcmVhdGUgWzxvcHRpb25zPl0gPGZpbGU+IDxnaXQtcmV2LWxpc3QgYXJncz4iKSwKKyAgTlVMTAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBidWlsdGluX2J1bmRsZV92ZXJpZnlfdXNhZ2VbXSA9IHsKKyAgTl8oImdpdCBidW5kbGUgdmVyaWZ5IFs8b3B0aW9ucz5dIDxmaWxlPiIpLAorICBOVUxMCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGJ1aWx0aW5fYnVuZGxlX2xpc3RfaGVhZHNfdXNhZ2VbXSA9IHsKKyAgTl8oImdpdCBidW5kbGUgbGlzdC1oZWFkcyA8ZmlsZT4gWzxyZWZuYW1lPi4uLl0iKSwKKyAgTlVMTAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBidWlsdGluX2J1bmRsZV91bmJ1bmRsZV91c2FnZVtdID0geworICBOXygiZ2l0IGJ1bmRsZSB1bmJ1bmRsZSA8ZmlsZT4gWzxyZWZuYW1lPi4uLl0iKSwKKyAgTlVMTAorfTsKKworc3RhdGljIGludCB2ZXJib3NlOworCitzdGF0aWMgaW50IHBhcnNlX29wdGlvbnNfY21kX2J1bmRsZShpbnQgYXJnYywKKwkJY29uc3QgY2hhciAqKmFyZ3YsCisJCWNvbnN0IGNoYXIqIHByZWZpeCwKKwkJY29uc3QgY2hhciAqIGNvbnN0IHVzYWdlc3RyW10sCisJCWNvbnN0IHN0cnVjdCBvcHRpb24gb3B0aW9uc1tdLAorCQljb25zdCBjaGFyICoqYnVuZGxlX2ZpbGUpIHsKKwlpbnQgbmV3YXJnYzsKKwluZXdhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBOVUxMLCBvcHRpb25zLCB1c2FnZXN0ciwKKwkJCSAgICAgUEFSU0VfT1BUX1NUT1BfQVRfTk9OX09QVElPTik7CisJaWYgKGFyZ2MgPCAxKQorCQl1c2FnZV93aXRoX29wdGlvbnModXNhZ2VzdHIsIG9wdGlvbnMpOworCSpidW5kbGVfZmlsZSA9IHByZWZpeF9maWxlbmFtZShwcmVmaXgsIGFyZ3ZbMF0pOworCXJldHVybiBuZXdhcmdjOworfQorCitzdGF0aWMgaW50IGNtZF9idW5kbGVfY3JlYXRlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KSB7CisJaW50IGFsbF9wcm9ncmVzc19pbXBsaWVkID0gMDsKKwlpbnQgcHJvZ3Jlc3MgPSBpc2F0dHkoU1RERVJSX0ZJTEVOTyk7CisJc3RydWN0IGFyZ3ZfYXJyYXkgcGFja19vcHRzOworCisJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CisJCU9QVF9TRVRfSU5UKCdxJywgInF1aWV0IiwgJnByb2dyZXNzLAorCQkJICAgIE5fKCJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIpLCAwKSwKKwkJT1BUX1NFVF9JTlQoMCwgInByb2dyZXNzIiwgJnByb2dyZXNzLAorCQkJICAgIE5fKCJzaG93IHByb2dyZXNzIG1ldGVyIiksIDEpLAorCQlPUFRfU0VUX0lOVCgwLCAiYWxsLXByb2dyZXNzIiwgJnByb2dyZXNzLAorCQkJICAgIE5fKCJzaG93IHByb2dyZXNzIG1ldGVyIGR1cmluZyBvYmplY3Qgd3JpdGluZyBwaGFzZSIpLCAyKSwKKwkJT1BUX0JPT0woMCwgImFsbC1wcm9ncmVzcy1pbXBsaWVkIiwKKwkJCSAmYWxsX3Byb2dyZXNzX2ltcGxpZWQsCisJCQkgTl8oInNpbWlsYXIgdG8gLS1hbGwtcHJvZ3Jlc3Mgd2hlbiBwcm9ncmVzcyBtZXRlciBpcyBzaG93biIpKSwKKwkJT1BUX0VORCgpCisJfTsKKwljb25zdCBjaGFyKiBidW5kbGVfZmlsZTsKKworCWFyZ2MgPSBwYXJzZV9vcHRpb25zX2NtZF9idW5kbGUoYXJnYywgYXJndiwgcHJlZml4LAorCQkJYnVpbHRpbl9idW5kbGVfY3JlYXRlX3VzYWdlLCBvcHRpb25zLCAmYnVuZGxlX2ZpbGUpOworCS8qIGJ1bmRsZSBpbnRlcm5hbHMgdXNlIGFyZ3ZbMV0gYXMgZnVydGhlciBwYXJhbWV0ZXJzICovCisKKwlhcmd2X2FycmF5X2luaXQoJnBhY2tfb3B0cyk7CisJaWYgKHByb2dyZXNzID09IDApCisJCWFyZ3ZfYXJyYXlfcHVzaCgmcGFja19vcHRzLCAiLS1xdWlldCIpOworCWVsc2UgaWYgKHByb2dyZXNzID09IDEpCisJCWFyZ3ZfYXJyYXlfcHVzaCgmcGFja19vcHRzLCAiLS1wcm9ncmVzcyIpOworCWVsc2UgaWYgKHByb2dyZXNzID09IDIpCisJCWFyZ3ZfYXJyYXlfcHVzaCgmcGFja19vcHRzLCAiLS1hbGwtcHJvZ3Jlc3MiKTsKKwlpZiAocHJvZ3Jlc3MgJiYgYWxsX3Byb2dyZXNzX2ltcGxpZWQpCisJCWFyZ3ZfYXJyYXlfcHVzaCgmcGFja19vcHRzLCAiLS1hbGwtcHJvZ3Jlc3MtaW1wbGllZCIpOworCisJaWYgKCFzdGFydHVwX2luZm8tPmhhdmVfcmVwb3NpdG9yeSkKKwkJZGllKF8oIk5lZWQgYSByZXBvc2l0b3J5IHRvIGNyZWF0ZSBhIGJ1bmRsZS4iKSk7CisJcmV0dXJuICEhY3JlYXRlX2J1bmRsZSh0aGVfcmVwb3NpdG9yeSwgYnVuZGxlX2ZpbGUsIGFyZ2MsIGFyZ3YsICZwYWNrX29wdHMpOworfQorCitzdGF0aWMgaW50IGNtZF9idW5kbGVfdmVyaWZ5KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KSB7CisJc3RydWN0IGJ1bmRsZV9oZWFkZXIgaGVhZGVyOworCWludCBidW5kbGVfZmQgPSAtMTsKKwlpbnQgcXVpZXQgPSAwOworCisJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CisJCU9QVF9CT09MKCdxJywgInF1aWV0IiwgJnF1aWV0LAorCQkJICAgIE5fKCJkbyBub3Qgc2hvdyBidW5kbGUgZGV0YWlscyIpKSwKKwkJT1BUX0VORCgpCisJfTsKKwljb25zdCBjaGFyKiBidW5kbGVfZmlsZTsKKworCWFyZ2MgPSBwYXJzZV9vcHRpb25zX2NtZF9idW5kbGUoYXJnYywgYXJndiwgcHJlZml4LAorCQkJYnVpbHRpbl9idW5kbGVfdmVyaWZ5X3VzYWdlLCBvcHRpb25zLCAmYnVuZGxlX2ZpbGUpOworCS8qIGJ1bmRsZSBpbnRlcm5hbHMgdXNlIGFyZ3ZbMV0gYXMgZnVydGhlciBwYXJhbWV0ZXJzICovCisKKwltZW1zZXQoJmhlYWRlciwgMCwgc2l6ZW9mKGhlYWRlcikpOworCWlmICgoYnVuZGxlX2ZkID0gcmVhZF9idW5kbGVfaGVhZGVyKGJ1bmRsZV9maWxlLCAmaGVhZGVyKSkgPCAwKQorCQlyZXR1cm4gMTsKKwljbG9zZShidW5kbGVfZmQpOworCWlmICh2ZXJpZnlfYnVuZGxlKHRoZV9yZXBvc2l0b3J5LCAmaGVhZGVyLCAhcXVpZXQpKQorCQlyZXR1cm4gMTsKKwlmcHJpbnRmKHN0ZGVyciwgXygiJXMgaXMgb2theVxuIiksIGJ1bmRsZV9maWxlKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjbWRfYnVuZGxlX2xpc3RfaGVhZHMoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpIHsKKwlzdHJ1Y3QgYnVuZGxlX2hlYWRlciBoZWFkZXI7CisJaW50IGJ1bmRsZV9mZCA9IC0xOworCisJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CisJCU9QVF9FTkQoKQorCX07CisJY29uc3QgY2hhciogYnVuZGxlX2ZpbGU7CisKKwlhcmdjID0gcGFyc2Vfb3B0aW9uc19jbWRfYnVuZGxlKGFyZ2MsIGFyZ3YsIHByZWZpeCwKKwkJCWJ1aWx0aW5fYnVuZGxlX2xpc3RfaGVhZHNfdXNhZ2UsIG9wdGlvbnMsICZidW5kbGVfZmlsZSk7CisJLyogYnVuZGxlIGludGVybmFscyB1c2UgYXJndlsxXSBhcyBmdXJ0aGVyIHBhcmFtZXRlcnMgKi8KKworCW1lbXNldCgmaGVhZGVyLCAwLCBzaXplb2YoaGVhZGVyKSk7CisJaWYgKChidW5kbGVfZmQgPSByZWFkX2J1bmRsZV9oZWFkZXIoYnVuZGxlX2ZpbGUsICZoZWFkZXIpKSA8IDApCisJCXJldHVybiAxOworCWNsb3NlKGJ1bmRsZV9mZCk7CisJcmV0dXJuICEhbGlzdF9idW5kbGVfcmVmcygmaGVhZGVyLCBhcmdjLCBhcmd2KTsKK30KKworc3RhdGljIGludCBjbWRfYnVuZGxlX3VuYnVuZGxlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KSB7CisJc3RydWN0IGJ1bmRsZV9oZWFkZXIgaGVhZGVyOworCWludCBidW5kbGVfZmQgPSAtMTsKKworCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0geworCQlPUFRfRU5EKCkKKwl9OworCWNvbnN0IGNoYXIqIGJ1bmRsZV9maWxlOworCisJYXJnYyA9IHBhcnNlX29wdGlvbnNfY21kX2J1bmRsZShhcmdjLCBhcmd2LCBwcmVmaXgsCisJCQlidWlsdGluX2J1bmRsZV91bmJ1bmRsZV91c2FnZSwgb3B0aW9ucywgJmJ1bmRsZV9maWxlKTsKKwkvKiBidW5kbGUgaW50ZXJuYWxzIHVzZSBhcmd2WzFdIGFzIGZ1cnRoZXIgcGFyYW1ldGVycyAqLworCisJbWVtc2V0KCZoZWFkZXIsIDAsIHNpemVvZihoZWFkZXIpKTsKKwlpZiAoKGJ1bmRsZV9mZCA9IHJlYWRfYnVuZGxlX2hlYWRlcihidW5kbGVfZmlsZSwgJmhlYWRlcikpIDwgMCkKKwkJcmV0dXJuIDE7CisJaWYgKCFzdGFydHVwX2luZm8tPmhhdmVfcmVwb3NpdG9yeSkKKwkJZGllKF8oIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIpKTsKKwlyZXR1cm4gISF1bmJ1bmRsZSh0aGVfcmVwb3NpdG9yeSwgJmhlYWRlciwgYnVuZGxlX2ZkLCAwKSB8fAorCQlsaXN0X2J1bmRsZV9yZWZzKCZoZWFkZXIsIGFyZ2MsIGFyZ3YpOworfQogCiBpbnQgY21kX2J1bmRsZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKLQlzdHJ1Y3QgYnVuZGxlX2hlYWRlciBoZWFkZXI7Ci0JY29uc3QgY2hhciAqY21kLCAqYnVuZGxlX2ZpbGU7Ci0JaW50IGJ1bmRsZV9mZCA9IC0xOworCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0geworCQlPUFRfX1ZFUkJPU0UoJnZlcmJvc2UsIE5fKCJiZSB2ZXJib3NlOyBtdXN0IGJlIHBsYWNlZCBiZWZvcmUgYSBzdWJjb21tYW5kIikpLAorCQlPUFRfRU5EKCkKKwl9OworCWludCByZXN1bHQ7CiAKLQlpZiAoYXJnYyA8IDMpCi0JCXVzYWdlKGJ1aWx0aW5fYnVuZGxlX3VzYWdlKTsKKwlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIG9wdGlvbnMsIGJ1aWx0aW5fYnVuZGxlX3VzYWdlLAorCQlQQVJTRV9PUFRfU1RPUF9BVF9OT05fT1BUSU9OKTsKIAotCWNtZCA9IGFyZ3ZbMV07Ci0JYnVuZGxlX2ZpbGUgPSBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBhcmd2WzJdKTsKLQlhcmdjIC09IDI7Ci0JYXJndiArPSAyOworCXBhY2tldF90cmFjZV9pZGVudGl0eSgiYnVuZGxlIik7CiAKLQltZW1zZXQoJmhlYWRlciwgMCwgc2l6ZW9mKGhlYWRlcikpOwotCWlmIChzdHJjbXAoY21kLCAiY3JlYXRlIikgJiYgKGJ1bmRsZV9mZCA9Ci0JCQkJcmVhZF9idW5kbGVfaGVhZGVyKGJ1bmRsZV9maWxlLCAmaGVhZGVyKSkgPCAwKQotCQlyZXR1cm4gMTsKKwlpZiAoYXJnYyA8IDIpCisJCXVzYWdlX3dpdGhfb3B0aW9ucyhidWlsdGluX2J1bmRsZV91c2FnZSwgb3B0aW9ucyk7CiAKLQlpZiAoIXN0cmNtcChjbWQsICJ2ZXJpZnkiKSkgewotCQljbG9zZShidW5kbGVfZmQpOwotCQlpZiAoYXJnYyAhPSAxKSB7Ci0JCQl1c2FnZShidWlsdGluX2J1bmRsZV91c2FnZSk7Ci0JCQlyZXR1cm4gMTsKLQkJfQotCQlpZiAodmVyaWZ5X2J1bmRsZSgmaGVhZGVyLCAxKSkKLQkJCXJldHVybiAxOwotCQlmcHJpbnRmKHN0ZGVyciwgXygiJXMgaXMgb2theVxuIiksIGJ1bmRsZV9maWxlKTsKLQkJcmV0dXJuIDA7CisJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzBdLCAiY3JlYXRlIikpCisJCXJlc3VsdCA9IGNtZF9idW5kbGVfY3JlYXRlKGFyZ2MsIGFyZ3YsIHByZWZpeCk7CisJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzBdLCAidmVyaWZ5IikpCisJCXJlc3VsdCA9IGNtZF9idW5kbGVfdmVyaWZ5KGFyZ2MsIGFyZ3YsIHByZWZpeCk7CisJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzBdLCAibGlzdC1oZWFkcyIpKQorCQlyZXN1bHQgPSBjbWRfYnVuZGxlX2xpc3RfaGVhZHMoYXJnYywgYXJndiwgcHJlZml4KTsKKwllbHNlIGlmICghc3RyY21wKGFyZ3ZbMF0sICJ1bmJ1bmRsZSIpKQorCQlyZXN1bHQgPSBjbWRfYnVuZGxlX3VuYnVuZGxlKGFyZ2MsIGFyZ3YsIHByZWZpeCk7CisJZWxzZSB7CisJCWVycm9yKF8oIlVua25vd24gc3ViY29tbWFuZDogJXMiKSwgYXJndlswXSk7CisJCXVzYWdlX3dpdGhfb3B0aW9ucyhidWlsdGluX2J1bmRsZV91c2FnZSwgb3B0aW9ucyk7CiAJfQotCWlmICghc3RyY21wKGNtZCwgImxpc3QtaGVhZHMiKSkgewotCQljbG9zZShidW5kbGVfZmQpOwotCQlyZXR1cm4gISFsaXN0X2J1bmRsZV9yZWZzKCZoZWFkZXIsIGFyZ2MsIGFyZ3YpOwotCX0KLQlpZiAoIXN0cmNtcChjbWQsICJjcmVhdGUiKSkgewotCQlpZiAoYXJnYyA8IDIpIHsKLQkJCXVzYWdlKGJ1aWx0aW5fYnVuZGxlX3VzYWdlKTsKLQkJCXJldHVybiAxOwotCQl9Ci0JCWlmICghc3RhcnR1cF9pbmZvLT5oYXZlX3JlcG9zaXRvcnkpCi0JCQlkaWUoXygiTmVlZCBhIHJlcG9zaXRvcnkgdG8gY3JlYXRlIGEgYnVuZGxlLiIpKTsKLQkJcmV0dXJuICEhY3JlYXRlX2J1bmRsZSgmaGVhZGVyLCBidW5kbGVfZmlsZSwgYXJnYywgYXJndik7Ci0JfSBlbHNlIGlmICghc3RyY21wKGNtZCwgInVuYnVuZGxlIikpIHsKLQkJaWYgKCFzdGFydHVwX2luZm8tPmhhdmVfcmVwb3NpdG9yeSkKLQkJCWRpZShfKCJOZWVkIGEgcmVwb3NpdG9yeSB0byB1bmJ1bmRsZS4iKSk7Ci0JCXJldHVybiAhIXVuYnVuZGxlKCZoZWFkZXIsIGJ1bmRsZV9mZCwgMCkgfHwKLQkJCWxpc3RfYnVuZGxlX3JlZnMoJmhlYWRlciwgYXJnYywgYXJndik7Ci0JfSBlbHNlCi0JCXVzYWdlKGJ1aWx0aW5fYnVuZGxlX3VzYWdlKTsKKwlyZXR1cm4gcmVzdWx0ID8gMSA6IDA7CiB9CmRpZmYgLS1naXQgYS9idWlsdGluL2NhdC1maWxlLmMgYi9idWlsdGluL2NhdC1maWxlLmMKaW5kZXggMmNhNTZmZC4uMjcyZjlmYyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jYXQtZmlsZS5jCisrKyBiL2J1aWx0aW4vY2F0LWZpbGUuYwpAQCAtMyw2ICszLDcgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIExpbnVzIFRvcnZhbGRzLCAyMDA1CiAgKi8KKyNkZWZpbmUgVVNFX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgpAQCAtMTQsNiArMTUsNyBAQAogI2luY2x1ZGUgInNoYTEtYXJyYXkuaCIKICNpbmNsdWRlICJwYWNrZmlsZS5oIgogI2luY2x1ZGUgIm9iamVjdC1zdG9yZS5oIgorI2luY2x1ZGUgInByb21pc29yLXJlbW90ZS5oIgogCiBzdHJ1Y3QgYmF0Y2hfb3B0aW9ucyB7CiAJaW50IGVuYWJsZWQ7CkBAIC03Myw3ICs3NSw4IEBACiAJaWYgKHVua25vd25fdHlwZSkKIAkJZmxhZ3MgfD0gT0JKRUNUX0lORk9fQUxMT1dfVU5LTk9XTl9UWVBFOwogCi0JaWYgKGdldF9vaWRfd2l0aF9jb250ZXh0KG9ial9uYW1lLCBHRVRfT0lEX1JFQ09SRF9QQVRILAorCWlmIChnZXRfb2lkX3dpdGhfY29udGV4dCh0aGVfcmVwb3NpdG9yeSwgb2JqX25hbWUsCisJCQkJIEdFVF9PSURfUkVDT1JEX1BBVEgsCiAJCQkJICZvaWQsICZvYmpfY29udGV4dCkpCiAJCWRpZSgiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiLCBvYmpfbmFtZSk7CiAKQEAgLTE3MCw3ICsxNzMsOCBAQAogCQkJICogZmFsbC1iYWNrIHRvIHRoZSB1c3VhbCBjYXNlLgogCQkJICovCiAJCX0KLQkJYnVmID0gcmVhZF9vYmplY3Rfd2l0aF9yZWZlcmVuY2UoJm9pZCwgZXhwX3R5cGUsICZzaXplLCBOVUxMKTsKKwkJYnVmID0gcmVhZF9vYmplY3Rfd2l0aF9yZWZlcmVuY2UodGhlX3JlcG9zaXRvcnksCisJCQkJCQkgJm9pZCwgZXhwX3R5cGUsICZzaXplLCBOVUxMKTsKIAkJYnJlYWs7CiAKIAlkZWZhdWx0OgpAQCAtMjA5LDE0ICsyMTMsMTQgQEAKIAogCS8qCiAJICogQWZ0ZXIgYSBtYXJrX3F1ZXJ5IHJ1biwgdGhpcyBvYmplY3RfaW5mbyBpcyBzZXQgdXAgdG8gYmUKLQkgKiBwYXNzZWQgdG8gc2hhMV9vYmplY3RfaW5mb19leHRlbmRlZC4gSXQgd2lsbCBwb2ludCB0byB0aGUgZGF0YQorCSAqIHBhc3NlZCB0byBvaWRfb2JqZWN0X2luZm9fZXh0ZW5kZWQuIEl0IHdpbGwgcG9pbnQgdG8gdGhlIGRhdGEKIAkgKiBlbGVtZW50cyBhYm92ZSwgc28geW91IGNhbiByZXRyaWV2ZSB0aGUgcmVzcG9uc2UgZnJvbSB0aGVyZS4KIAkgKi8KIAlzdHJ1Y3Qgb2JqZWN0X2luZm8gaW5mbzsKIAogCS8qCiAJICogVGhpcyBmbGFnIHdpbGwgYmUgdHJ1ZSBpZiB0aGUgcmVxdWVzdGVkIGJhdGNoIGZvcm1hdCBhbmQgb3B0aW9ucwotCSAqIGRvbid0IHJlcXVpcmUgdXMgdG8gY2FsbCBzaGExX29iamVjdF9pbmZvLCB3aGljaCBjYW4gdGhlbiBiZQorCSAqIGRvbid0IHJlcXVpcmUgdXMgdG8gY2FsbCBvaWRfb2JqZWN0X2luZm8sIHdoaWNoIGNhbiB0aGVuIGJlCiAJICogb3B0aW1pemVkIG91dC4KIAkgKi8KIAl1bnNpZ25lZCBza2lwX29iamVjdF9pbmZvIDogMTsKQEAgLTI1OCw3ICsyNjIsNyBAQAogCQkJc3RyYnVmX2FkZHN0cihzYiwgZGF0YS0+cmVzdCk7CiAJfSBlbHNlIGlmIChpc19hdG9tKCJkZWx0YWJhc2UiLCBhdG9tLCBsZW4pKSB7CiAJCWlmIChkYXRhLT5tYXJrX3F1ZXJ5KQotCQkJZGF0YS0+aW5mby5kZWx0YV9iYXNlX3NoYTEgPSBkYXRhLT5kZWx0YV9iYXNlX29pZC5oYXNoOworCQkJZGF0YS0+aW5mby5kZWx0YV9iYXNlX29pZCA9ICZkYXRhLT5kZWx0YV9iYXNlX29pZDsKIAkJZWxzZQogCQkJc3RyYnVmX2FkZHN0cihzYiwKIAkJCQkgICAgICBvaWRfdG9faGV4KCZkYXRhLT5kZWx0YV9iYXNlX29pZCkpOwpAQCAtMzgwLDE0ICszODQsMTggQEAKIHsKIAlzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgY3R4OwogCWludCBmbGFncyA9IG9wdC0+Zm9sbG93X3N5bWxpbmtzID8gR0VUX09JRF9GT0xMT1dfU1lNTElOS1MgOiAwOwotCWVudW0gZm9sbG93X3N5bWxpbmtzX3Jlc3VsdCByZXN1bHQ7CisJZW51bSBnZXRfb2lkX3Jlc3VsdCByZXN1bHQ7CiAKLQlyZXN1bHQgPSBnZXRfb2lkX3dpdGhfY29udGV4dChvYmpfbmFtZSwgZmxhZ3MsICZkYXRhLT5vaWQsICZjdHgpOworCXJlc3VsdCA9IGdldF9vaWRfd2l0aF9jb250ZXh0KHRoZV9yZXBvc2l0b3J5LCBvYmpfbmFtZSwKKwkJCQkgICAgICBmbGFncywgJmRhdGEtPm9pZCwgJmN0eCk7CiAJaWYgKHJlc3VsdCAhPSBGT1VORCkgewogCQlzd2l0Y2ggKHJlc3VsdCkgewogCQljYXNlIE1JU1NJTkdfT0JKRUNUOgogCQkJcHJpbnRmKCIlcyBtaXNzaW5nXG4iLCBvYmpfbmFtZSk7CiAJCQlicmVhazsKKwkJY2FzZSBTSE9SVF9OQU1FX0FNQklHVU9VUzoKKwkJCXByaW50ZigiJXMgYW1iaWd1b3VzXG4iLCBvYmpfbmFtZSk7CisJCQlicmVhazsKIAkJY2FzZSBEQU5HTElOR19TWU1MSU5LOgogCQkJcHJpbnRmKCJkYW5nbGluZyAlIlBSSXVNQVgiXG4lc1xuIiwKIAkJCSAgICAgICAodWludG1heF90KXN0cmxlbihvYmpfbmFtZSksIG9ial9uYW1lKTsKQEAgLTQ5MCw3ICs0OTgsNyBAQAogCiAJLyoKIAkgKiBFeHBhbmQgb25jZSB3aXRoIG91ciBzcGVjaWFsIG1hcmtfcXVlcnkgZmxhZywgd2hpY2ggd2lsbCBwcmltZSB0aGUKLQkgKiBvYmplY3RfaW5mbyB0byBiZSBoYW5kZWQgdG8gc2hhMV9vYmplY3RfaW5mb19leHRlbmRlZCBmb3IgZWFjaAorCSAqIG9iamVjdF9pbmZvIHRvIGJlIGhhbmRlZCB0byBvaWRfb2JqZWN0X2luZm9fZXh0ZW5kZWQgZm9yIGVhY2gKIAkgKiBvYmplY3QuCiAJICovCiAJbWVtc2V0KCZkYXRhLCAwLCBzaXplb2YoZGF0YSkpOwpAQCAtNTE3LDggKzUyNSw4IEBACiAJaWYgKG9wdC0+YWxsX29iamVjdHMpIHsKIAkJc3RydWN0IG9iamVjdF9jYl9kYXRhIGNiOwogCi0JCWlmIChyZXBvc2l0b3J5X2Zvcm1hdF9wYXJ0aWFsX2Nsb25lKQotCQkJd2FybmluZygiVGhpcyByZXBvc2l0b3J5IGhhcyBleHRlbnNpb25zLnBhcnRpYWxDbG9uZSBzZXQuIFNvbWUgb2JqZWN0cyBtYXkgbm90IGJlIGxvYWRlZC4iKTsKKwkJaWYgKGhhc19wcm9taXNvcl9yZW1vdGUoKSkKKwkJCXdhcm5pbmcoIlRoaXMgcmVwb3NpdG9yeSB1c2VzIHByb21pc29yIHJlbW90ZXMuIFNvbWUgb2JqZWN0cyBtYXkgbm90IGJlIGxvYWRlZC4iKTsKIAogCQljYi5vcHQgPSBvcHQ7CiAJCWNiLmV4cGFuZCA9ICZkYXRhOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jaGVjay1hdHRyLmMgYi9idWlsdGluL2NoZWNrLWF0dHIuYwppbmRleCAzMGEyZjg0Li5kZDgzMzk3IDEwMDY0NAotLS0gYS9idWlsdGluL2NoZWNrLWF0dHIuYworKysgYi9idWlsdGluL2NoZWNrLWF0dHIuYwpAQCAtMSwzICsxLDQgQEAKKyNkZWZpbmUgVVNFX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgImNvbmZpZy5oIgpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jaGVjay1pZ25vcmUuYyBiL2J1aWx0aW4vY2hlY2staWdub3JlLmMKaW5kZXggZWM5YTk1OS4uZWE1ZDBhZSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jaGVjay1pZ25vcmUuYworKysgYi9idWlsdGluL2NoZWNrLWlnbm9yZS5jCkBAIC0xLDMgKzEsNCBAQAorI2RlZmluZSBVU0VfVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC0zMSwxOSArMzIsMTkgQEAKIAlPUFRfRU5EKCkKIH07CiAKLXN0YXRpYyB2b2lkIG91dHB1dF9leGNsdWRlKGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBleGNsdWRlICpleGNsdWRlKQorc3RhdGljIHZvaWQgb3V0cHV0X3BhdHRlcm4oY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHBhdGhfcGF0dGVybiAqcGF0dGVybikKIHsKLQljaGFyICpiYW5nICA9IChleGNsdWRlICYmIGV4Y2x1ZGUtPmZsYWdzICYgRVhDX0ZMQUdfTkVHQVRJVkUpICA/ICIhIiA6ICIiOwotCWNoYXIgKnNsYXNoID0gKGV4Y2x1ZGUgJiYgZXhjbHVkZS0+ZmxhZ3MgJiBFWENfRkxBR19NVVNUQkVESVIpID8gIi8iIDogIiI7CisJY2hhciAqYmFuZyAgPSAocGF0dGVybiAmJiBwYXR0ZXJuLT5mbGFncyAmIFBBVFRFUk5fRkxBR19ORUdBVElWRSkgID8gIiEiIDogIiI7CisJY2hhciAqc2xhc2ggPSAocGF0dGVybiAmJiBwYXR0ZXJuLT5mbGFncyAmIFBBVFRFUk5fRkxBR19NVVNUQkVESVIpID8gIi8iIDogIiI7CiAJaWYgKCFudWxfdGVybV9saW5lKSB7CiAJCWlmICghdmVyYm9zZSkgewogCQkJd3JpdGVfbmFtZV9xdW90ZWQocGF0aCwgc3Rkb3V0LCAnXG4nKTsKIAkJfSBlbHNlIHsKLQkJCWlmIChleGNsdWRlKSB7Ci0JCQkJcXVvdGVfY19zdHlsZShleGNsdWRlLT5lbC0+c3JjLCBOVUxMLCBzdGRvdXQsIDApOworCQkJaWYgKHBhdHRlcm4pIHsKKwkJCQlxdW90ZV9jX3N0eWxlKHBhdHRlcm4tPnBsLT5zcmMsIE5VTEwsIHN0ZG91dCwgMCk7CiAJCQkJcHJpbnRmKCI6JWQ6JXMlcyVzXHQiLAotCQkJCSAgICAgICBleGNsdWRlLT5zcmNwb3MsCi0JCQkJICAgICAgIGJhbmcsIGV4Y2x1ZGUtPnBhdHRlcm4sIHNsYXNoKTsKKwkJCQkgICAgICAgcGF0dGVybi0+c3JjcG9zLAorCQkJCSAgICAgICBiYW5nLCBwYXR0ZXJuLT5wYXR0ZXJuLCBzbGFzaCk7CiAJCQl9CiAJCQllbHNlIHsKIAkJCQlwcmludGYoIjo6XHQiKTsKQEAgLTU1LDExICs1NiwxMSBAQAogCQlpZiAoIXZlcmJvc2UpIHsKIAkJCXByaW50ZigiJXMlYyIsIHBhdGgsICdcMCcpOwogCQl9IGVsc2UgewotCQkJaWYgKGV4Y2x1ZGUpCisJCQlpZiAocGF0dGVybikKIAkJCQlwcmludGYoIiVzJWMlZCVjJXMlcyVzJWMlcyVjIiwKLQkJCQkgICAgICAgZXhjbHVkZS0+ZWwtPnNyYywgJ1wwJywKLQkJCQkgICAgICAgZXhjbHVkZS0+c3JjcG9zLCAnXDAnLAotCQkJCSAgICAgICBiYW5nLCBleGNsdWRlLT5wYXR0ZXJuLCBzbGFzaCwgJ1wwJywKKwkJCQkgICAgICAgcGF0dGVybi0+cGwtPnNyYywgJ1wwJywKKwkJCQkgICAgICAgcGF0dGVybi0+c3JjcG9zLCAnXDAnLAorCQkJCSAgICAgICBiYW5nLCBwYXR0ZXJuLT5wYXR0ZXJuLCBzbGFzaCwgJ1wwJywKIAkJCQkgICAgICAgcGF0aCwgJ1wwJyk7CiAJCQllbHNlCiAJCQkJcHJpbnRmKCIlYyVjJWMlcyVjIiwgJ1wwJywgJ1wwJywgJ1wwJywgcGF0aCwgJ1wwJyk7CkBAIC03Myw3ICs3NCw3IEBACiAJY29uc3QgY2hhciAqZnVsbF9wYXRoOwogCWNoYXIgKnNlZW47CiAJaW50IG51bV9pZ25vcmVkID0gMCwgaTsKLQlzdHJ1Y3QgZXhjbHVkZSAqZXhjbHVkZTsKKwlzdHJ1Y3QgcGF0aF9wYXR0ZXJuICpwYXR0ZXJuOwogCXN0cnVjdCBwYXRoc3BlYyBwYXRoc3BlYzsKIAogCWlmICghYXJnYykgewpAQCAtMTAyLDE1ICsxMDMsMTggQEAKIAlzZWVuID0gZmluZF9wYXRoc3BlY3NfbWF0Y2hpbmdfYWdhaW5zdF9pbmRleCgmcGF0aHNwZWMsICZ0aGVfaW5kZXgpOwogCWZvciAoaSA9IDA7IGkgPCBwYXRoc3BlYy5ucjsgaSsrKSB7CiAJCWZ1bGxfcGF0aCA9IHBhdGhzcGVjLml0ZW1zW2ldLm1hdGNoOwotCQlleGNsdWRlID0gTlVMTDsKKwkJcGF0dGVybiA9IE5VTEw7CiAJCWlmICghc2VlbltpXSkgewogCQkJaW50IGR0eXBlID0gRFRfVU5LTk9XTjsKLQkJCWV4Y2x1ZGUgPSBsYXN0X2V4Y2x1ZGVfbWF0Y2hpbmcoZGlyLCAmdGhlX2luZGV4LAorCQkJcGF0dGVybiA9IGxhc3RfbWF0Y2hpbmdfcGF0dGVybihkaXIsICZ0aGVfaW5kZXgsCiAJCQkJCQkJZnVsbF9wYXRoLCAmZHR5cGUpOworCQkJaWYgKCF2ZXJib3NlICYmIHBhdHRlcm4gJiYKKwkJCSAgICBwYXR0ZXJuLT5mbGFncyAmIFBBVFRFUk5fRkxBR19ORUdBVElWRSkKKwkJCQlwYXR0ZXJuID0gTlVMTDsKIAkJfQotCQlpZiAoIXF1aWV0ICYmIChleGNsdWRlIHx8IHNob3dfbm9uX21hdGNoaW5nKSkKLQkJCW91dHB1dF9leGNsdWRlKHBhdGhzcGVjLml0ZW1zW2ldLm9yaWdpbmFsLCBleGNsdWRlKTsKLQkJaWYgKGV4Y2x1ZGUpCisJCWlmICghcXVpZXQgJiYgKHBhdHRlcm4gfHwgc2hvd19ub25fbWF0Y2hpbmcpKQorCQkJb3V0cHV0X3BhdHRlcm4ocGF0aHNwZWMuaXRlbXNbaV0ub3JpZ2luYWwsIHBhdHRlcm4pOworCQlpZiAocGF0dGVybikKIAkJCW51bV9pZ25vcmVkKys7CiAJfQogCWZyZWUoc2Vlbik7CmRpZmYgLS1naXQgYS9idWlsdGluL2NoZWNrb3V0LWluZGV4LmMgYi9idWlsdGluL2NoZWNrb3V0LWluZGV4LmMKaW5kZXggZWI3NDc3NC4uMWFjMWNjMiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jaGVja291dC1pbmRleC5jCisrKyBiL2J1aWx0aW4vY2hlY2tvdXQtaW5kZXguYwpAQCAtNCw2ICs0LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNSBMaW51cyBUb3J2YWxkcwogICoKICAqLworI2RlZmluZSBVU0VfVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImxvY2tmaWxlLmgiCkBAIC02Nyw3ICs2OCw4IEBACiAJCQljb250aW51ZTsKIAkJZGlkX2NoZWNrb3V0ID0gMTsKIAkJaWYgKGNoZWNrb3V0X2VudHJ5KGNlLCAmc3RhdGUsCi0JCSAgICB0b190ZW1wZmlsZSA/IHRvcGF0aFtjZV9zdGFnZShjZSldIDogTlVMTCkgPCAwKQorCQkJCSAgIHRvX3RlbXBmaWxlID8gdG9wYXRoW2NlX3N0YWdlKGNlKV0gOiBOVUxMLAorCQkJCSAgIE5VTEwpIDwgMCkKIAkJCWVycnMrKzsKIAl9CiAKQEAgLTExMSw3ICsxMTMsOCBAQAogCQkJCXdyaXRlX3RlbXBmaWxlX3JlY29yZChsYXN0X2NlLT5uYW1lLCBwcmVmaXgpOwogCQl9CiAJCWlmIChjaGVja291dF9lbnRyeShjZSwgJnN0YXRlLAotCQkgICAgdG9fdGVtcGZpbGUgPyB0b3BhdGhbY2Vfc3RhZ2UoY2UpXSA6IE5VTEwpIDwgMCkKKwkJCQkgICB0b190ZW1wZmlsZSA/IHRvcGF0aFtjZV9zdGFnZShjZSldIDogTlVMTCwKKwkJCQkgICBOVUxMKSA8IDApCiAJCQllcnJzKys7CiAJCWxhc3RfY2UgPSBjZTsKIAl9CmRpZmYgLS1naXQgYS9idWlsdGluL2NoZWNrb3V0LmMgYi9idWlsdGluL2NoZWNrb3V0LmMKaW5kZXggYWNkYWZjNi4uZDY3NzM4MSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jaGVja291dC5jCisrKyBiL2J1aWx0aW4vY2hlY2tvdXQuYwpAQCAtMSwzMSArMSwzMSBAQAorI2RlZmluZSBVU0VfVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgotI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgImFkdmljZS5oIgorI2luY2x1ZGUgImJsb2IuaCIKKyNpbmNsdWRlICJicmFuY2guaCIKKyNpbmNsdWRlICJjYWNoZS10cmVlLmgiCiAjaW5jbHVkZSAiY2hlY2tvdXQuaCIKKyNpbmNsdWRlICJjb21taXQuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJkaWZmLmgiCisjaW5jbHVkZSAiZGlyLmgiCisjaW5jbHVkZSAibGwtbWVyZ2UuaCIKICNpbmNsdWRlICJsb2NrZmlsZS5oIgorI2luY2x1ZGUgIm1lcmdlLXJlY3Vyc2l2ZS5oIgorI2luY2x1ZGUgIm9iamVjdC1zdG9yZS5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKICNpbmNsdWRlICJyZWZzLmgiCi0jaW5jbHVkZSAib2JqZWN0LXN0b3JlLmgiCi0jaW5jbHVkZSAiY29tbWl0LmgiCisjaW5jbHVkZSAicmVtb3RlLmgiCisjaW5jbHVkZSAicmVzb2x2ZS11bmRvLmgiCisjaW5jbHVkZSAicmV2aXNpb24uaCIKKyNpbmNsdWRlICJydW4tY29tbWFuZC5oIgorI2luY2x1ZGUgInN1Ym1vZHVsZS5oIgorI2luY2x1ZGUgInN1Ym1vZHVsZS1jb25maWcuaCIKICNpbmNsdWRlICJ0cmVlLmgiCiAjaW5jbHVkZSAidHJlZS13YWxrLmgiCi0jaW5jbHVkZSAiY2FjaGUtdHJlZS5oIgogI2luY2x1ZGUgInVucGFjay10cmVlcy5oIgotI2luY2x1ZGUgImRpci5oIgotI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCi0jaW5jbHVkZSAibWVyZ2UtcmVjdXJzaXZlLmgiCi0jaW5jbHVkZSAiYnJhbmNoLmgiCi0jaW5jbHVkZSAiZGlmZi5oIgotI2luY2x1ZGUgInJldmlzaW9uLmgiCi0jaW5jbHVkZSAicmVtb3RlLmgiCi0jaW5jbHVkZSAiYmxvYi5oIgorI2luY2x1ZGUgInd0LXN0YXR1cy5oIgogI2luY2x1ZGUgInhkaWZmLWludGVyZmFjZS5oIgotI2luY2x1ZGUgImxsLW1lcmdlLmgiCi0jaW5jbHVkZSAicmVzb2x2ZS11bmRvLmgiCi0jaW5jbHVkZSAic3VibW9kdWxlLWNvbmZpZy5oIgotI2luY2x1ZGUgInN1Ym1vZHVsZS5oIgotI2luY2x1ZGUgImFkdmljZS5oIgotCi1zdGF0aWMgaW50IGNoZWNrb3V0X29wdGltaXplX25ld19icmFuY2g7CiAKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgY2hlY2tvdXRfdXNhZ2VbXSA9IHsKIAlOXygiZ2l0IGNoZWNrb3V0IFs8b3B0aW9ucz5dIDxicmFuY2g+IiksCkBAIC0zMywyMSArMzMsNDUgQEAKIAlOVUxMLAogfTsKIAorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzd2l0Y2hfYnJhbmNoX3VzYWdlW10gPSB7CisJTl8oImdpdCBzd2l0Y2ggWzxvcHRpb25zPl0gWzxicmFuY2g+XSIpLAorCU5VTEwsCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHJlc3RvcmVfdXNhZ2VbXSA9IHsKKwlOXygiZ2l0IHJlc3RvcmUgWzxvcHRpb25zPl0gWy0tc291cmNlPTxicmFuY2g+XSA8ZmlsZT4uLi4iKSwKKwlOVUxMLAorfTsKKwogc3RydWN0IGNoZWNrb3V0X29wdHMgewogCWludCBwYXRjaF9tb2RlOwogCWludCBxdWlldDsKIAlpbnQgbWVyZ2U7CiAJaW50IGZvcmNlOwogCWludCBmb3JjZV9kZXRhY2g7CisJaW50IGltcGxpY2l0X2RldGFjaDsKIAlpbnQgd3JpdGVvdXRfc3RhZ2U7CiAJaW50IG92ZXJ3cml0ZV9pZ25vcmU7CiAJaW50IGlnbm9yZV9za2lwd29ya3RyZWU7CiAJaW50IGlnbm9yZV9vdGhlcl93b3JrdHJlZXM7CiAJaW50IHNob3dfcHJvZ3Jlc3M7Ci0JLyoKLQkgKiBJZiBuZXcgY2hlY2tvdXQgb3B0aW9ucyBhcmUgYWRkZWQsIHNraXBfbWVyZ2Vfd29ya2luZ190cmVlCi0JICogc2hvdWxkIGJlIHVwZGF0ZWQgYWNjb3JkaW5nbHkuCi0JICovCisJaW50IGNvdW50X2NoZWNrb3V0X3BhdGhzOworCWludCBvdmVybGF5X21vZGU7CisJaW50IGR3aW1fbmV3X2xvY2FsX2JyYW5jaDsKKwlpbnQgZGlzY2FyZF9jaGFuZ2VzOworCWludCBhY2NlcHRfcmVmOworCWludCBhY2NlcHRfcGF0aHNwZWM7CisJaW50IHN3aXRjaF9icmFuY2hfZG9pbmdfbm90aGluZ19pc19vazsKKwlpbnQgb25seV9tZXJnZV9vbl9zd2l0Y2hpbmdfYnJhbmNoZXM7CisJaW50IGNhbl9zd2l0Y2hfd2hlbl9pbl9wcm9ncmVzczsKKwlpbnQgb3JwaGFuX2Zyb21fZW1wdHlfdHJlZTsKKwlpbnQgZW1wdHlfcGF0aHNwZWNfb2s7CisJaW50IGNoZWNrb3V0X2luZGV4OworCWludCBjaGVja291dF93b3JrdHJlZTsKKwljb25zdCBjaGFyICppZ25vcmVfdW5tZXJnZWRfb3B0OworCWludCBpZ25vcmVfdW5tZXJnZWQ7CisJaW50IHBhdGhzcGVjX2ZpbGVfbnVsOworCWNvbnN0IGNoYXIgKnBhdGhzcGVjX2Zyb21fZmlsZTsKIAogCWNvbnN0IGNoYXIgKm5ld19icmFuY2g7CiAJY29uc3QgY2hhciAqbmV3X2JyYW5jaF9mb3JjZTsKQEAgLTU1LDEwICs3OSwxMiBAQAogCWludCBuZXdfYnJhbmNoX2xvZzsKIAllbnVtIGJyYW5jaF90cmFjayB0cmFjazsKIAlzdHJ1Y3QgZGlmZl9vcHRpb25zIGRpZmZfb3B0aW9uczsKKwljaGFyICpjb25mbGljdF9zdHlsZTsKIAogCWludCBicmFuY2hfZXhpc3RzOwogCWNvbnN0IGNoYXIgKnByZWZpeDsKIAlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CisJY29uc3QgY2hhciAqZnJvbV90cmVlaXNoOwogCXN0cnVjdCB0cmVlICpzb3VyY2VfdHJlZTsKIH07CiAKQEAgLTEwMiw2ICsxMjgsNyBAQAogCWlmIChwb3MgPj0gMCkgewogCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKm9sZCA9IGFjdGl2ZV9jYWNoZVtwb3NdOwogCQlpZiAoY2UtPmNlX21vZGUgPT0gb2xkLT5jZV9tb2RlICYmCisJCSAgICAhY2VfaW50ZW50X3RvX2FkZChvbGQpICYmCiAJCSAgICBvaWRlcSgmY2UtPm9pZCwgJm9sZC0+b2lkKSkgewogCQkJb2xkLT5jZV9mbGFncyB8PSBDRV9VUERBVEU7CiAJCQlkaXNjYXJkX2NhY2hlX2VudHJ5KGNlKTsKQEAgLTExNSw3ICsxNDIsOCBAQAogCiBzdGF0aWMgaW50IHJlYWRfdHJlZV9zb21lKHN0cnVjdCB0cmVlICp0cmVlLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogewotCXJlYWRfdHJlZV9yZWN1cnNpdmUodHJlZSwgIiIsIDAsIDAsIHBhdGhzcGVjLCB1cGRhdGVfc29tZSwgTlVMTCk7CisJcmVhZF90cmVlX3JlY3Vyc2l2ZSh0aGVfcmVwb3NpdG9yeSwgdHJlZSwgIiIsIDAsIDAsCisJCQkgICAgcGF0aHNwZWMsIHVwZGF0ZV9zb21lLCBOVUxMKTsKIAogCS8qIHVwZGF0ZSB0aGUgaW5kZXggd2l0aCB0aGUgZ2l2ZW4gdHJlZSdzIGluZm8KIAkgKiBmb3IgYWxsIGFyZ3MsIGV4cGFuZGluZyB3aWxkY2FyZHMsIGFuZCBleGl0CkBAIC0xMzIsNyArMTYwLDggQEAKIAlyZXR1cm4gcG9zOwogfQogCi1zdGF0aWMgaW50IGNoZWNrX3N0YWdlKGludCBzdGFnZSwgY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwgaW50IHBvcykKK3N0YXRpYyBpbnQgY2hlY2tfc3RhZ2UoaW50IHN0YWdlLCBjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLCBpbnQgcG9zLAorCQkgICAgICAgaW50IG92ZXJsYXlfbW9kZSkKIHsKIAl3aGlsZSAocG9zIDwgYWN0aXZlX25yICYmCiAJICAgICAgICFzdHJjbXAoYWN0aXZlX2NhY2hlW3Bvc10tPm5hbWUsIGNlLT5uYW1lKSkgewpAQCAtMTQwLDYgKzE2OSw4IEBACiAJCQlyZXR1cm4gMDsKIAkJcG9zKys7CiAJfQorCWlmICghb3ZlcmxheV9tb2RlKQorCQlyZXR1cm4gMDsKIAlpZiAoc3RhZ2UgPT0gMikKIAkJcmV0dXJuIGVycm9yKF8oInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG91ciB2ZXJzaW9uIiksIGNlLT5uYW1lKTsKIAllbHNlCkBAIC0xNjUsMjEgKzE5NiwyNyBAQAogfQogCiBzdGF0aWMgaW50IGNoZWNrb3V0X3N0YWdlKGludCBzdGFnZSwgY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwgaW50IHBvcywKLQkJCSAgY29uc3Qgc3RydWN0IGNoZWNrb3V0ICpzdGF0ZSkKKwkJCSAgY29uc3Qgc3RydWN0IGNoZWNrb3V0ICpzdGF0ZSwgaW50ICpucl9jaGVja291dHMsCisJCQkgIGludCBvdmVybGF5X21vZGUpCiB7CiAJd2hpbGUgKHBvcyA8IGFjdGl2ZV9uciAmJgogCSAgICAgICAhc3RyY21wKGFjdGl2ZV9jYWNoZVtwb3NdLT5uYW1lLCBjZS0+bmFtZSkpIHsKIAkJaWYgKGNlX3N0YWdlKGFjdGl2ZV9jYWNoZVtwb3NdKSA9PSBzdGFnZSkKLQkJCXJldHVybiBjaGVja291dF9lbnRyeShhY3RpdmVfY2FjaGVbcG9zXSwgc3RhdGUsIE5VTEwpOworCQkJcmV0dXJuIGNoZWNrb3V0X2VudHJ5KGFjdGl2ZV9jYWNoZVtwb3NdLCBzdGF0ZSwKKwkJCQkJICAgICAgTlVMTCwgbnJfY2hlY2tvdXRzKTsKIAkJcG9zKys7CiAJfQorCWlmICghb3ZlcmxheV9tb2RlKSB7CisJCXVubGlua19lbnRyeShjZSk7CisJCXJldHVybiAwOworCX0KIAlpZiAoc3RhZ2UgPT0gMikKIAkJcmV0dXJuIGVycm9yKF8oInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG91ciB2ZXJzaW9uIiksIGNlLT5uYW1lKTsKIAllbHNlCiAJCXJldHVybiBlcnJvcihfKCJwYXRoICclcycgZG9lcyBub3QgaGF2ZSB0aGVpciB2ZXJzaW9uIiksIGNlLT5uYW1lKTsKIH0KIAotc3RhdGljIGludCBjaGVja291dF9tZXJnZWQoaW50IHBvcywgY29uc3Qgc3RydWN0IGNoZWNrb3V0ICpzdGF0ZSkKK3N0YXRpYyBpbnQgY2hlY2tvdXRfbWVyZ2VkKGludCBwb3MsIGNvbnN0IHN0cnVjdCBjaGVja291dCAqc3RhdGUsIGludCAqbnJfY2hlY2tvdXRzKQogewogCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBhY3RpdmVfY2FjaGVbcG9zXTsKIAljb25zdCBjaGFyICpwYXRoID0gY2UtPm5hbWU7CkBAIC0yNDIsMjEgKzI3OSwxMzQgQEAKIAljZSA9IG1ha2VfdHJhbnNpZW50X2NhY2hlX2VudHJ5KG1vZGUsICZvaWQsIHBhdGgsIDIpOwogCWlmICghY2UpCiAJCWRpZShfKCJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIiksIHBhdGgpOwotCXN0YXR1cyA9IGNoZWNrb3V0X2VudHJ5KGNlLCBzdGF0ZSwgTlVMTCk7CisJc3RhdHVzID0gY2hlY2tvdXRfZW50cnkoY2UsIHN0YXRlLCBOVUxMLCBucl9jaGVja291dHMpOwogCWRpc2NhcmRfY2FjaGVfZW50cnkoY2UpOwogCXJldHVybiBzdGF0dXM7CiB9CiAKK3N0YXRpYyB2b2lkIG1hcmtfY2VfZm9yX2NoZWNrb3V0X292ZXJsYXkoc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwKKwkJCQkJIGNoYXIgKnBzX21hdGNoZWQsCisJCQkJCSBjb25zdCBzdHJ1Y3QgY2hlY2tvdXRfb3B0cyAqb3B0cykKK3sKKwljZS0+Y2VfZmxhZ3MgJj0gfkNFX01BVENIRUQ7CisJaWYgKCFvcHRzLT5pZ25vcmVfc2tpcHdvcmt0cmVlICYmIGNlX3NraXBfd29ya3RyZWUoY2UpKQorCQlyZXR1cm47CisJaWYgKG9wdHMtPnNvdXJjZV90cmVlICYmICEoY2UtPmNlX2ZsYWdzICYgQ0VfVVBEQVRFKSkKKwkJLyoKKwkJICogImdpdCBjaGVja291dCB0cmVlLWlzaCAtLSBwYXRoIiwgYnV0IHRoaXMgZW50cnkKKwkJICogaXMgaW4gdGhlIG9yaWdpbmFsIGluZGV4IGJ1dCBpcyBub3QgaW4gdHJlZS1pc2gKKwkJICogb3IgZG9lcyBub3QgbWF0Y2ggdGhlIHBhdGhzcGVjOyBpdCB3aWxsIG5vdCBiZQorCQkgKiBjaGVja2VkIG91dCB0byB0aGUgd29ya2luZyB0cmVlLiAgV2Ugd2lsbCBub3QgZG8KKwkJICogYW55dGhpbmcgdG8gdGhpcyBlbnRyeSBhdCBhbGwuCisJCSAqLworCQlyZXR1cm47CisJLyoKKwkgKiBFaXRoZXIgdGhpcyBlbnRyeSBjYW1lIGZyb20gdGhlIHRyZWUtaXNoIHdlIGFyZQorCSAqIGNoZWNraW5nIHRoZSBwYXRocyBvdXQgb2YsIG9yIHdlIGFyZSBjaGVja2luZyBvdXQKKwkgKiBvZiB0aGUgaW5kZXguCisJICoKKwkgKiBJZiBpdCBjb21lcyBmcm9tIHRoZSB0cmVlLWlzaCwgd2UgYWxyZWFkeSBrbm93IGl0CisJICogbWF0Y2hlcyB0aGUgcGF0aHNwZWMgYW5kIGNvdWxkIGp1c3Qgc3RhbXAKKwkgKiBDRV9NQVRDSEVEIHRvIGl0IGZyb20gdXBkYXRlX3NvbWUoKS4gQnV0IHdlIHN0aWxsCisJICogbmVlZCBwc19tYXRjaGVkIGFuZCByZWFkX3RyZWVfcmVjdXJzaXZlIChhbmQKKwkgKiBldmVudHVhbGx5IHRyZWVfZW50cnlfaW50ZXJlc3RpbmcpIGNhbm5vdCBmaWxsCisJICogcHNfbWF0Y2hlZCB5ZXQuIE9uY2UgaXQgY2FuLCB3ZSBjYW4gYXZvaWQgY2FsbGluZworCSAqIG1hdGNoX3BhdGhzcGVjKCkgZm9yIF9hbGxfIGVudHJpZXMgd2hlbgorCSAqIG9wdHMtPnNvdXJjZV90cmVlICE9IE5VTEwuCisJICovCisJaWYgKGNlX3BhdGhfbWF0Y2goJnRoZV9pbmRleCwgY2UsICZvcHRzLT5wYXRoc3BlYywgcHNfbWF0Y2hlZCkpCisJCWNlLT5jZV9mbGFncyB8PSBDRV9NQVRDSEVEOworfQorCitzdGF0aWMgdm9pZCBtYXJrX2NlX2Zvcl9jaGVja291dF9ub19vdmVybGF5KHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsCisJCQkJCSAgICBjaGFyICpwc19tYXRjaGVkLAorCQkJCQkgICAgY29uc3Qgc3RydWN0IGNoZWNrb3V0X29wdHMgKm9wdHMpCit7CisJY2UtPmNlX2ZsYWdzICY9IH5DRV9NQVRDSEVEOworCWlmICghb3B0cy0+aWdub3JlX3NraXB3b3JrdHJlZSAmJiBjZV9za2lwX3dvcmt0cmVlKGNlKSkKKwkJcmV0dXJuOworCWlmIChjZV9wYXRoX21hdGNoKCZ0aGVfaW5kZXgsIGNlLCAmb3B0cy0+cGF0aHNwZWMsIHBzX21hdGNoZWQpKSB7CisJCWNlLT5jZV9mbGFncyB8PSBDRV9NQVRDSEVEOworCQlpZiAob3B0cy0+c291cmNlX3RyZWUgJiYgIShjZS0+Y2VfZmxhZ3MgJiBDRV9VUERBVEUpKQorCQkJLyoKKwkJCSAqIEluIG92ZXJsYXkgbW9kZSwgYnV0IHRoZSBwYXRoIGlzIG5vdCBpbgorCQkJICogdHJlZS1pc2gsIHdoaWNoIG1lYW5zIHdlIHNob3VsZCByZW1vdmUgaXQKKwkJCSAqIGZyb20gdGhlIGluZGV4IGFuZCB0aGUgd29ya2luZyB0cmVlLgorCQkJICovCisJCQljZS0+Y2VfZmxhZ3MgfD0gQ0VfUkVNT1ZFIHwgQ0VfV1RfUkVNT1ZFOworCX0KK30KKworc3RhdGljIGludCBjaGVja291dF93b3JrdHJlZShjb25zdCBzdHJ1Y3QgY2hlY2tvdXRfb3B0cyAqb3B0cykKK3sKKwlzdHJ1Y3QgY2hlY2tvdXQgc3RhdGUgPSBDSEVDS09VVF9JTklUOworCWludCBucl9jaGVja291dHMgPSAwLCBucl91bm1lcmdlZCA9IDA7CisJaW50IGVycnMgPSAwOworCWludCBwb3M7CisKKwlzdGF0ZS5mb3JjZSA9IDE7CisJc3RhdGUucmVmcmVzaF9jYWNoZSA9IDE7CisJc3RhdGUuaXN0YXRlID0gJnRoZV9pbmRleDsKKworCWVuYWJsZV9kZWxheWVkX2NoZWNrb3V0KCZzdGF0ZSk7CisJZm9yIChwb3MgPSAwOyBwb3MgPCBhY3RpdmVfbnI7IHBvcysrKSB7CisJCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBhY3RpdmVfY2FjaGVbcG9zXTsKKwkJaWYgKGNlLT5jZV9mbGFncyAmIENFX01BVENIRUQpIHsKKwkJCWlmICghY2Vfc3RhZ2UoY2UpKSB7CisJCQkJZXJycyB8PSBjaGVja291dF9lbnRyeShjZSwgJnN0YXRlLAorCQkJCQkJICAgICAgIE5VTEwsICZucl9jaGVja291dHMpOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJaWYgKG9wdHMtPndyaXRlb3V0X3N0YWdlKQorCQkJCWVycnMgfD0gY2hlY2tvdXRfc3RhZ2Uob3B0cy0+d3JpdGVvdXRfc3RhZ2UsCisJCQkJCQkgICAgICAgY2UsIHBvcywKKwkJCQkJCSAgICAgICAmc3RhdGUsCisJCQkJCQkgICAgICAgJm5yX2NoZWNrb3V0cywgb3B0cy0+b3ZlcmxheV9tb2RlKTsKKwkJCWVsc2UgaWYgKG9wdHMtPm1lcmdlKQorCQkJCWVycnMgfD0gY2hlY2tvdXRfbWVyZ2VkKHBvcywgJnN0YXRlLAorCQkJCQkJCSZucl91bm1lcmdlZCk7CisJCQlwb3MgPSBza2lwX3NhbWVfbmFtZShjZSwgcG9zKSAtIDE7CisJCX0KKwl9CisJcmVtb3ZlX21hcmtlZF9jYWNoZV9lbnRyaWVzKCZ0aGVfaW5kZXgsIDEpOworCXJlbW92ZV9zY2hlZHVsZWRfZGlycygpOworCWVycnMgfD0gZmluaXNoX2RlbGF5ZWRfY2hlY2tvdXQoJnN0YXRlLCAmbnJfY2hlY2tvdXRzKTsKKworCWlmIChvcHRzLT5jb3VudF9jaGVja291dF9wYXRocykgeworCQlpZiAobnJfdW5tZXJnZWQpCisJCQlmcHJpbnRmX2xuKHN0ZGVyciwgUV8oIlJlY3JlYXRlZCAlZCBtZXJnZSBjb25mbGljdCIsCisJCQkJCSAgICAgICJSZWNyZWF0ZWQgJWQgbWVyZ2UgY29uZmxpY3RzIiwKKwkJCQkJICAgICAgbnJfdW5tZXJnZWQpLAorCQkJCSAgIG5yX3VubWVyZ2VkKTsKKwkJaWYgKG9wdHMtPnNvdXJjZV90cmVlKQorCQkJZnByaW50Zl9sbihzdGRlcnIsIFFfKCJVcGRhdGVkICVkIHBhdGggZnJvbSAlcyIsCisJCQkJCSAgICAgICJVcGRhdGVkICVkIHBhdGhzIGZyb20gJXMiLAorCQkJCQkgICAgICBucl9jaGVja291dHMpLAorCQkJCSAgIG5yX2NoZWNrb3V0cywKKwkJCQkgICBmaW5kX3VuaXF1ZV9hYmJyZXYoJm9wdHMtPnNvdXJjZV90cmVlLT5vYmplY3Qub2lkLAorCQkJCQkJICAgICAgREVGQVVMVF9BQkJSRVYpKTsKKwkJZWxzZSBpZiAoIW5yX3VubWVyZ2VkIHx8IG5yX2NoZWNrb3V0cykKKwkJCWZwcmludGZfbG4oc3RkZXJyLCBRXygiVXBkYXRlZCAlZCBwYXRoIGZyb20gdGhlIGluZGV4IiwKKwkJCQkJICAgICAgIlVwZGF0ZWQgJWQgcGF0aHMgZnJvbSB0aGUgaW5kZXgiLAorCQkJCQkgICAgICBucl9jaGVja291dHMpLAorCQkJCSAgIG5yX2NoZWNrb3V0cyk7CisJfQorCisJcmV0dXJuIGVycnM7Cit9CisKIHN0YXRpYyBpbnQgY2hlY2tvdXRfcGF0aHMoY29uc3Qgc3RydWN0IGNoZWNrb3V0X29wdHMgKm9wdHMsCiAJCQkgIGNvbnN0IGNoYXIgKnJldmlzaW9uKQogewogCWludCBwb3M7Ci0Jc3RydWN0IGNoZWNrb3V0IHN0YXRlID0gQ0hFQ0tPVVRfSU5JVDsKIAlzdGF0aWMgY2hhciAqcHNfbWF0Y2hlZDsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIHJldjsKIAlzdHJ1Y3QgY29tbWl0ICpoZWFkOwogCWludCBlcnJzID0gMDsKIAlzdHJ1Y3QgbG9ja19maWxlIGxvY2tfZmlsZSA9IExPQ0tfSU5JVDsKKwlpbnQgY2hlY2tvdXRfaW5kZXg7CisKKwl0cmFjZTJfY21kX21vZGUob3B0cy0+cGF0Y2hfbW9kZSA/ICJwYXRjaCIgOiAicGF0aCIpOwogCiAJaWYgKG9wdHMtPnRyYWNrICE9IEJSQU5DSF9UUkFDS19VTlNQRUNJRklFRCkKIAkJZGllKF8oIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIpLCAiLS10cmFjayIpOwpAQCAtMjY0LDggKzQxNCw5IEBACiAJaWYgKG9wdHMtPm5ld19icmFuY2hfbG9nKQogCQlkaWUoXygiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHVwZGF0aW5nIHBhdGhzIiksICItbCIpOwogCi0JaWYgKG9wdHMtPmZvcmNlICYmIG9wdHMtPnBhdGNoX21vZGUpCi0JCWRpZShfKCInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggdXBkYXRpbmcgcGF0aHMiKSwgIi1mIik7CisJaWYgKG9wdHMtPmlnbm9yZV91bm1lcmdlZCAmJiBvcHRzLT5wYXRjaF9tb2RlKQorCQlkaWUoXygiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHVwZGF0aW5nIHBhdGhzIiksCisJCSAgICBvcHRzLT5pZ25vcmVfdW5tZXJnZWRfb3B0KTsKIAogCWlmIChvcHRzLT5mb3JjZV9kZXRhY2gpCiAJCWRpZShfKCInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggdXBkYXRpbmcgcGF0aHMiKSwgIi0tZGV0YWNoIik7CkBAIC0yNzMsMTggKzQyNCw0OCBAQAogCWlmIChvcHRzLT5tZXJnZSAmJiBvcHRzLT5wYXRjaF9tb2RlKQogCQlkaWUoXygiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIiksICItLW1lcmdlIiwgIi0tcGF0Y2giKTsKIAotCWlmIChvcHRzLT5mb3JjZSAmJiBvcHRzLT5tZXJnZSkKLQkJZGllKF8oIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIpLCAiLWYiLCAiLW0iKTsKKwlpZiAob3B0cy0+aWdub3JlX3VubWVyZ2VkICYmIG9wdHMtPm1lcmdlKQorCQlkaWUoXygiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIiksCisJCSAgICBvcHRzLT5pZ25vcmVfdW5tZXJnZWRfb3B0LCAiLW0iKTsKIAogCWlmIChvcHRzLT5uZXdfYnJhbmNoKQogCQlkaWUoXygiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuIiksCiAJCSAgICBvcHRzLT5uZXdfYnJhbmNoKTsKIAotCWlmIChvcHRzLT5wYXRjaF9tb2RlKQotCQlyZXR1cm4gcnVuX2FkZF9pbnRlcmFjdGl2ZShyZXZpc2lvbiwgIi0tcGF0Y2g9Y2hlY2tvdXQiLAotCQkJCQkgICAmb3B0cy0+cGF0aHNwZWMpOworCWlmICghb3B0cy0+Y2hlY2tvdXRfd29ya3RyZWUgJiYgIW9wdHMtPmNoZWNrb3V0X2luZGV4KQorCQlkaWUoXygibmVpdGhlciAnJXMnIG9yICclcycgaXMgc3BlY2lmaWVkIiksCisJCSAgICAiLS1zdGFnZWQiLCAiLS13b3JrdHJlZSIpOwogCi0JaG9sZF9sb2NrZWRfaW5kZXgoJmxvY2tfZmlsZSwgTE9DS19ESUVfT05fRVJST1IpOworCWlmICghb3B0cy0+Y2hlY2tvdXRfd29ya3RyZWUgJiYgIW9wdHMtPmZyb21fdHJlZWlzaCkKKwkJZGllKF8oIiclcycgbXVzdCBiZSB1c2VkIHdoZW4gJyVzJyBpcyBub3Qgc3BlY2lmaWVkIiksCisJCSAgICAiLS13b3JrdHJlZSIsICItLXNvdXJjZSIpOworCisJaWYgKG9wdHMtPmNoZWNrb3V0X2luZGV4ICYmICFvcHRzLT5jaGVja291dF93b3JrdHJlZSAmJgorCSAgICBvcHRzLT53cml0ZW91dF9zdGFnZSkKKwkJZGllKF8oIiclcycgb3IgJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIiksCisJCSAgICAiLS1vdXJzIiwgIi0tdGhlaXJzIiwgIi0tc3RhZ2VkIik7CisKKwlpZiAob3B0cy0+Y2hlY2tvdXRfaW5kZXggJiYgIW9wdHMtPmNoZWNrb3V0X3dvcmt0cmVlICYmCisJICAgIG9wdHMtPm1lcmdlKQorCQlkaWUoXygiJyVzJyBvciAnJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiKSwKKwkJICAgICItLW1lcmdlIiwgIi0tY29uZmxpY3QiLCAiLS1zdGFnZWQiKTsKKworCWlmIChvcHRzLT5wYXRjaF9tb2RlKSB7CisJCWNvbnN0IGNoYXIgKnBhdGNoX21vZGU7CisKKwkJaWYgKG9wdHMtPmNoZWNrb3V0X2luZGV4ICYmIG9wdHMtPmNoZWNrb3V0X3dvcmt0cmVlKQorCQkJcGF0Y2hfbW9kZSA9ICItLXBhdGNoPWNoZWNrb3V0IjsKKwkJZWxzZSBpZiAob3B0cy0+Y2hlY2tvdXRfaW5kZXggJiYgIW9wdHMtPmNoZWNrb3V0X3dvcmt0cmVlKQorCQkJcGF0Y2hfbW9kZSA9ICItLXBhdGNoPXJlc2V0IjsKKwkJZWxzZSBpZiAoIW9wdHMtPmNoZWNrb3V0X2luZGV4ICYmIG9wdHMtPmNoZWNrb3V0X3dvcmt0cmVlKQorCQkJcGF0Y2hfbW9kZSA9ICItLXBhdGNoPXdvcmt0cmVlIjsKKwkJZWxzZQorCQkJQlVHKCJlaXRoZXIgZmxhZyBtdXN0IGhhdmUgYmVlbiBzZXQsIHdvcmt0cmVlPSVkLCBpbmRleD0lZCIsCisJCQkgICAgb3B0cy0+Y2hlY2tvdXRfd29ya3RyZWUsIG9wdHMtPmNoZWNrb3V0X2luZGV4KTsKKwkJcmV0dXJuIHJ1bl9hZGRfaW50ZXJhY3RpdmUocmV2aXNpb24sIHBhdGNoX21vZGUsICZvcHRzLT5wYXRoc3BlYyk7CisJfQorCisJcmVwb19ob2xkX2xvY2tlZF9pbmRleCh0aGVfcmVwb3NpdG9yeSwgJmxvY2tfZmlsZSwgTE9DS19ESUVfT05fRVJST1IpOwogCWlmIChyZWFkX2NhY2hlX3ByZWxvYWQoJm9wdHMtPnBhdGhzcGVjKSA8IDApCiAJCXJldHVybiBlcnJvcihfKCJpbmRleCBmaWxlIGNvcnJ1cHQiKSk7CiAKQEAgLTI5NywzOSArNDc4LDE3IEBACiAJICogTWFrZSBzdXJlIGFsbCBwYXRoc3BlY3MgcGFydGljaXBhdGVkIGluIGxvY2F0aW5nIHRoZSBwYXRocwogCSAqIHRvIGJlIGNoZWNrZWQgb3V0LgogCSAqLwotCWZvciAocG9zID0gMDsgcG9zIDwgYWN0aXZlX25yOyBwb3MrKykgewotCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gYWN0aXZlX2NhY2hlW3Bvc107Ci0JCWNlLT5jZV9mbGFncyAmPSB+Q0VfTUFUQ0hFRDsKLQkJaWYgKCFvcHRzLT5pZ25vcmVfc2tpcHdvcmt0cmVlICYmIGNlX3NraXBfd29ya3RyZWUoY2UpKQotCQkJY29udGludWU7Ci0JCWlmIChvcHRzLT5zb3VyY2VfdHJlZSAmJiAhKGNlLT5jZV9mbGFncyAmIENFX1VQREFURSkpCi0JCQkvKgotCQkJICogImdpdCBjaGVja291dCB0cmVlLWlzaCAtLSBwYXRoIiwgYnV0IHRoaXMgZW50cnkKLQkJCSAqIGlzIGluIHRoZSBvcmlnaW5hbCBpbmRleDsgaXQgd2lsbCBub3QgYmUgY2hlY2tlZAotCQkJICogb3V0IHRvIHRoZSB3b3JraW5nIHRyZWUgYW5kIGl0IGRvZXMgbm90IG1hdHRlcgotCQkJICogaWYgcGF0aHNwZWMgbWF0Y2hlZCB0aGlzIGVudHJ5LiAgV2Ugd2lsbCBub3QgZG8KLQkJCSAqIGFueXRoaW5nIHRvIHRoaXMgZW50cnkgYXQgYWxsLgotCQkJICovCi0JCQljb250aW51ZTsKLQkJLyoKLQkJICogRWl0aGVyIHRoaXMgZW50cnkgY2FtZSBmcm9tIHRoZSB0cmVlLWlzaCB3ZSBhcmUKLQkJICogY2hlY2tpbmcgdGhlIHBhdGhzIG91dCBvZiwgb3Igd2UgYXJlIGNoZWNraW5nIG91dAotCQkgKiBvZiB0aGUgaW5kZXguCi0JCSAqCi0JCSAqIElmIGl0IGNvbWVzIGZyb20gdGhlIHRyZWUtaXNoLCB3ZSBhbHJlYWR5IGtub3cgaXQKLQkJICogbWF0Y2hlcyB0aGUgcGF0aHNwZWMgYW5kIGNvdWxkIGp1c3Qgc3RhbXAKLQkJICogQ0VfTUFUQ0hFRCB0byBpdCBmcm9tIHVwZGF0ZV9zb21lKCkuIEJ1dCB3ZSBzdGlsbAotCQkgKiBuZWVkIHBzX21hdGNoZWQgYW5kIHJlYWRfdHJlZV9yZWN1cnNpdmUgKGFuZAotCQkgKiBldmVudHVhbGx5IHRyZWVfZW50cnlfaW50ZXJlc3RpbmcpIGNhbm5vdCBmaWxsCi0JCSAqIHBzX21hdGNoZWQgeWV0LiBPbmNlIGl0IGNhbiwgd2UgY2FuIGF2b2lkIGNhbGxpbmcKLQkJICogbWF0Y2hfcGF0aHNwZWMoKSBmb3IgX2FsbF8gZW50cmllcyB3aGVuCi0JCSAqIG9wdHMtPnNvdXJjZV90cmVlICE9IE5VTEwuCi0JCSAqLwotCQlpZiAoY2VfcGF0aF9tYXRjaCgmdGhlX2luZGV4LCBjZSwgJm9wdHMtPnBhdGhzcGVjLCBwc19tYXRjaGVkKSkKLQkJCWNlLT5jZV9mbGFncyB8PSBDRV9NQVRDSEVEOwotCX0KKwlmb3IgKHBvcyA9IDA7IHBvcyA8IGFjdGl2ZV9ucjsgcG9zKyspCisJCWlmIChvcHRzLT5vdmVybGF5X21vZGUpCisJCQltYXJrX2NlX2Zvcl9jaGVja291dF9vdmVybGF5KGFjdGl2ZV9jYWNoZVtwb3NdLAorCQkJCQkJICAgICBwc19tYXRjaGVkLAorCQkJCQkJICAgICBvcHRzKTsKKwkJZWxzZQorCQkJbWFya19jZV9mb3JfY2hlY2tvdXRfbm9fb3ZlcmxheShhY3RpdmVfY2FjaGVbcG9zXSwKKwkJCQkJCQlwc19tYXRjaGVkLAorCQkJCQkJCW9wdHMpOwogCi0JaWYgKHJlcG9ydF9wYXRoX2Vycm9yKHBzX21hdGNoZWQsICZvcHRzLT5wYXRoc3BlYywgb3B0cy0+cHJlZml4KSkgeworCWlmIChyZXBvcnRfcGF0aF9lcnJvcihwc19tYXRjaGVkLCAmb3B0cy0+cGF0aHNwZWMpKSB7CiAJCWZyZWUocHNfbWF0Y2hlZCk7CiAJCXJldHVybiAxOwogCX0KQEAgLTM0NSwxMCArNTA0LDExIEBACiAJCWlmIChjZS0+Y2VfZmxhZ3MgJiBDRV9NQVRDSEVEKSB7CiAJCQlpZiAoIWNlX3N0YWdlKGNlKSkKIAkJCQljb250aW51ZTsKLQkJCWlmIChvcHRzLT5mb3JjZSkgewotCQkJCXdhcm5pbmcoXygicGF0aCAnJXMnIGlzIHVubWVyZ2VkIiksIGNlLT5uYW1lKTsKKwkJCWlmIChvcHRzLT5pZ25vcmVfdW5tZXJnZWQpIHsKKwkJCQlpZiAoIW9wdHMtPnF1aWV0KQorCQkJCQl3YXJuaW5nKF8oInBhdGggJyVzJyBpcyB1bm1lcmdlZCIpLCBjZS0+bmFtZSk7CiAJCQl9IGVsc2UgaWYgKG9wdHMtPndyaXRlb3V0X3N0YWdlKSB7Ci0JCQkJZXJycyB8PSBjaGVja19zdGFnZShvcHRzLT53cml0ZW91dF9zdGFnZSwgY2UsIHBvcyk7CisJCQkJZXJycyB8PSBjaGVja19zdGFnZShvcHRzLT53cml0ZW91dF9zdGFnZSwgY2UsIHBvcywgb3B0cy0+b3ZlcmxheV9tb2RlKTsKIAkJCX0gZWxzZSBpZiAob3B0cy0+bWVyZ2UpIHsKIAkJCQllcnJzIHw9IGNoZWNrX3N0YWdlcygoMTw8MikgfCAoMTw8MyksIGNlLCBwb3MpOwogCQkJfSBlbHNlIHsKQEAgLTM2MiwyOSArNTIyLDMyIEBACiAJCXJldHVybiAxOwogCiAJLyogTm93IHdlIGFyZSBjb21taXR0ZWQgdG8gY2hlY2sgdGhlbSBvdXQgKi8KLQlzdGF0ZS5mb3JjZSA9IDE7Ci0Jc3RhdGUucmVmcmVzaF9jYWNoZSA9IDE7Ci0Jc3RhdGUuaXN0YXRlID0gJnRoZV9pbmRleDsKKwlpZiAob3B0cy0+Y2hlY2tvdXRfd29ya3RyZWUpCisJCWVycnMgfD0gY2hlY2tvdXRfd29ya3RyZWUob3B0cyk7CisJZWxzZQorCQlyZW1vdmVfbWFya2VkX2NhY2hlX2VudHJpZXMoJnRoZV9pbmRleCwgMSk7CiAKLQllbmFibGVfZGVsYXllZF9jaGVja291dCgmc3RhdGUpOwotCWZvciAocG9zID0gMDsgcG9zIDwgYWN0aXZlX25yOyBwb3MrKykgewotCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gYWN0aXZlX2NhY2hlW3Bvc107Ci0JCWlmIChjZS0+Y2VfZmxhZ3MgJiBDRV9NQVRDSEVEKSB7Ci0JCQlpZiAoIWNlX3N0YWdlKGNlKSkgewotCQkJCWVycnMgfD0gY2hlY2tvdXRfZW50cnkoY2UsICZzdGF0ZSwgTlVMTCk7Ci0JCQkJY29udGludWU7Ci0JCQl9Ci0JCQlpZiAob3B0cy0+d3JpdGVvdXRfc3RhZ2UpCi0JCQkJZXJycyB8PSBjaGVja291dF9zdGFnZShvcHRzLT53cml0ZW91dF9zdGFnZSwgY2UsIHBvcywgJnN0YXRlKTsKLQkJCWVsc2UgaWYgKG9wdHMtPm1lcmdlKQotCQkJCWVycnMgfD0gY2hlY2tvdXRfbWVyZ2VkKHBvcywgJnN0YXRlKTsKLQkJCXBvcyA9IHNraXBfc2FtZV9uYW1lKGNlLCBwb3MpIC0gMTsKLQkJfQorCS8qCisJICogQWxsb3cgdXBkYXRpbmcgdGhlIGluZGV4IHdoZW4gY2hlY2tpbmcgb3V0IGZyb20gdGhlIGluZGV4LgorCSAqIFRoaXMgaXMgdG8gc2F2ZSBuZXcgc3RhdCBpbmZvLgorCSAqLworCWlmIChvcHRzLT5jaGVja291dF93b3JrdHJlZSAmJiAhb3B0cy0+Y2hlY2tvdXRfaW5kZXggJiYgIW9wdHMtPnNvdXJjZV90cmVlKQorCQljaGVja291dF9pbmRleCA9IDE7CisJZWxzZQorCQljaGVja291dF9pbmRleCA9IG9wdHMtPmNoZWNrb3V0X2luZGV4OworCisJaWYgKGNoZWNrb3V0X2luZGV4KSB7CisJCWlmICh3cml0ZV9sb2NrZWRfaW5kZXgoJnRoZV9pbmRleCwgJmxvY2tfZmlsZSwgQ09NTUlUX0xPQ0spKQorCQkJZGllKF8oInVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIpKTsKKwl9IGVsc2UgeworCQkvKgorCQkgKiBORUVEU1dPUks6IGlmIC0td29ya3RyZWUgaXMgbm90IHNwZWNpZmllZCwgd2UKKwkJICogc2hvdWxkIHNhdmUgc3RhdCBpbmZvIG9mIGNoZWNrZWQgb3V0IGZpbGVzIGluIHRoZQorCQkgKiBpbmRleCB0byBhdm9pZCB0aGUgbmV4dCAocG90ZW50aWFsbHkgY29zdGx5KQorCQkgKiByZWZyZXNoLiBCdXQgaXQncyBhIGJpdCB0cmlja2VyIHRvIGRvLi4uCisJCSAqLworCQlyb2xsYmFja19sb2NrX2ZpbGUoJmxvY2tfZmlsZSk7CiAJfQotCWVycnMgfD0gZmluaXNoX2RlbGF5ZWRfY2hlY2tvdXQoJnN0YXRlKTsKLQotCWlmICh3cml0ZV9sb2NrZWRfaW5kZXgoJnRoZV9pbmRleCwgJmxvY2tfZmlsZSwgQ09NTUlUX0xPQ0spKQotCQlkaWUoXygidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIikpOwogCiAJcmVhZF9yZWZfZnVsbCgiSEVBRCIsIDAsICZyZXYsIE5VTEwpOwogCWhlYWQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkodGhlX3JlcG9zaXRvcnksICZyZXYsIDEpOwpAQCAtNDc5LDk5ICs2NDIsNiBAQAogCWJyYW5jaC0+cGF0aCA9IHN0cmJ1Zl9kZXRhY2goJmJ1ZiwgTlVMTCk7CiB9CiAKLS8qCi0gKiBTa2lwIG1lcmdpbmcgdGhlIHRyZWVzLCB1cGRhdGluZyB0aGUgaW5kZXggYW5kIHdvcmtpbmcgZGlyZWN0b3J5IGlmIGFuZAotICogb25seSBpZiB3ZSBhcmUgY3JlYXRpbmcgYSBuZXcgYnJhbmNoIHZpYSAiZ2l0IGNoZWNrb3V0IC1iIDxuZXdfYnJhbmNoPi4iCi0gKi8KLXN0YXRpYyBpbnQgc2tpcF9tZXJnZV93b3JraW5nX3RyZWUoY29uc3Qgc3RydWN0IGNoZWNrb3V0X29wdHMgKm9wdHMsCi0JY29uc3Qgc3RydWN0IGJyYW5jaF9pbmZvICpvbGRfYnJhbmNoX2luZm8sCi0JY29uc3Qgc3RydWN0IGJyYW5jaF9pbmZvICpuZXdfYnJhbmNoX2luZm8pCi17Ci0JLyoKLQkgKiBEbyB0aGUgbWVyZ2UgaWYgc3BhcnNlIGNoZWNrb3V0IGlzIG9uIGFuZCB0aGUgdXNlciBoYXMgbm90IG9wdGVkIGluCi0JICogdG8gdGhlIG9wdGltaXplZCBiZWhhdmlvcgotCSAqLwotCWlmIChjb3JlX2FwcGx5X3NwYXJzZV9jaGVja291dCAmJiAhY2hlY2tvdXRfb3B0aW1pemVfbmV3X2JyYW5jaCkKLQkJcmV0dXJuIDA7Ci0KLQkvKgotCSAqIFdlIG11c3QgZG8gdGhlIG1lcmdlIGlmIHdlIGFyZSBhY3R1YWxseSBtb3ZpbmcgdG8gYSBuZXcgY29tbWl0LgotCSAqLwotCWlmICghb2xkX2JyYW5jaF9pbmZvLT5jb21taXQgfHwgIW5ld19icmFuY2hfaW5mby0+Y29tbWl0IHx8Ci0JCSFvaWRlcSgmb2xkX2JyYW5jaF9pbmZvLT5jb21taXQtPm9iamVjdC5vaWQsCi0JCSAgICAgICAmbmV3X2JyYW5jaF9pbmZvLT5jb21taXQtPm9iamVjdC5vaWQpKQotCQlyZXR1cm4gMDsKLQotCS8qCi0JICogb3B0cy0+cGF0Y2hfbW9kZSBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyBzbyBpcwotCSAqIG5vdCB0ZXN0ZWQgaGVyZQotCSAqLwotCi0JLyoKLQkgKiBvcHRzLT5xdWlldCBvbmx5IGltcGFjdHMgb3V0cHV0IHNvIGRvZXNuJ3QgcmVxdWlyZSBhIG1lcmdlCi0JICovCi0KLQkvKgotCSAqIEhvbm9yIHRoZSBleHBsaWNpdCByZXF1ZXN0IGZvciBhIHRocmVlLXdheSBtZXJnZSBvciB0byB0aHJvdyBhd2F5Ci0JICogbG9jYWwgY2hhbmdlcwotCSAqLwotCWlmIChvcHRzLT5tZXJnZSB8fCBvcHRzLT5mb3JjZSkKLQkJcmV0dXJuIDA7Ci0KLQkvKgotCSAqIC0tZGV0YWNoIGlzIGRvY3VtZW50ZWQgYXMgInVwZGF0aW5nIHRoZSBpbmRleCBhbmQgdGhlIGZpbGVzIGluIHRoZQotCSAqIHdvcmtpbmcgdHJlZSIgYnV0IHRoaXMgb3B0aW1pemF0aW9uIHNraXBzIHRob3NlIHN0ZXBzIHNvIGZhbGwgdGhyb3VnaAotCSAqIHRvIHRoZSByZWd1bGFyIGNvZGUgcGF0aC4KLQkgKi8KLQlpZiAob3B0cy0+Zm9yY2VfZGV0YWNoKQotCQlyZXR1cm4gMDsKLQotCS8qCi0JICogb3B0cy0+d3JpdGVvdXRfc3RhZ2UgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMgc28gaXMKLQkgKiBub3QgdGVzdGVkIGhlcmUKLQkgKi8KLQotCS8qCi0JICogSG9ub3IgdGhlIGV4cGxpY2l0IGlnbm9yZSByZXF1ZXN0cwotCSAqLwotCWlmICghb3B0cy0+b3ZlcndyaXRlX2lnbm9yZSB8fCBvcHRzLT5pZ25vcmVfc2tpcHdvcmt0cmVlIHx8Ci0JCW9wdHMtPmlnbm9yZV9vdGhlcl93b3JrdHJlZXMpCi0JCXJldHVybiAwOwotCi0JLyoKLQkgKiBvcHRzLT5zaG93X3Byb2dyZXNzIG9ubHkgaW1wYWN0cyBvdXRwdXQgc28gZG9lc24ndCByZXF1aXJlIGEgbWVyZ2UKLQkgKi8KLQotCS8qCi0JICogSWYgd2UgYXJlbid0IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCBhbnkgY2hhbmdlcyBvciB1cGRhdGVzIHdpbGwKLQkgKiBoYXBwZW4gaW4gdGhlIGV4aXN0aW5nIGJyYW5jaC4gIFNpbmNlIHRoYXQgY291bGQgb25seSBiZSB1cGRhdGluZwotCSAqIHRoZSBpbmRleCBhbmQgd29ya2luZyBkaXJlY3RvcnksIHdlIGRvbid0IHdhbnQgdG8gc2tpcCB0aG9zZSBzdGVwcwotCSAqIG9yIHdlJ3ZlIGRlZmVhdGVkIGFueSBwdXJwb3NlIGluIHJ1bm5pbmcgdGhlIGNvbW1hbmQuCi0JICovCi0JaWYgKCFvcHRzLT5uZXdfYnJhbmNoKQotCQlyZXR1cm4gMDsKLQotCS8qCi0JICogbmV3X2JyYW5jaF9mb3JjZSBpcyBkZWZpbmVkIHRvICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgotCSAqIHNvIG5lZWRzIHRvIGdvIHRocm91Z2ggdGhlIG1lcmdlIHRvIGRvIHRoZSByZXNldAotCSAqLwotCWlmIChvcHRzLT5uZXdfYnJhbmNoX2ZvcmNlKQotCQlyZXR1cm4gMDsKLQotCS8qCi0JICogQSBuZXcgb3JwaGFuZWQgYnJhbmNoIHJlcXVyaXJlcyB0aGUgaW5kZXggYW5kIHRoZSB3b3JraW5nIHRyZWUgdG8gYmUKLQkgKiBhZGp1c3RlZCB0byA8c3RhcnRfcG9pbnQ+Ci0JICovCi0JaWYgKG9wdHMtPm5ld19vcnBoYW5fYnJhbmNoKQotCQlyZXR1cm4gMDsKLQotCS8qCi0JICogUmVtYWluaW5nIHZhcmlhYmxlcyBhcmUgbm90IGNoZWNrb3V0IG9wdGlvbnMgYnV0IHVzZWQgdG8gdHJhY2sgc3RhdGUKLQkgKi8KLQotCXJldHVybiAxOwotfQotCiBzdGF0aWMgaW50IG1lcmdlX3dvcmtpbmdfdHJlZShjb25zdCBzdHJ1Y3QgY2hlY2tvdXRfb3B0cyAqb3B0cywKIAkJCSAgICAgIHN0cnVjdCBicmFuY2hfaW5mbyAqb2xkX2JyYW5jaF9pbmZvLAogCQkJICAgICAgc3RydWN0IGJyYW5jaF9pbmZvICpuZXdfYnJhbmNoX2luZm8sCkBAIC01NzksMTUgKzY0OSwyMSBAQAogewogCWludCByZXQ7CiAJc3RydWN0IGxvY2tfZmlsZSBsb2NrX2ZpbGUgPSBMT0NLX0lOSVQ7CisJc3RydWN0IHRyZWUgKm5ld190cmVlOwogCiAJaG9sZF9sb2NrZWRfaW5kZXgoJmxvY2tfZmlsZSwgTE9DS19ESUVfT05fRVJST1IpOwogCWlmIChyZWFkX2NhY2hlX3ByZWxvYWQoTlVMTCkgPCAwKQogCQlyZXR1cm4gZXJyb3IoXygiaW5kZXggZmlsZSBjb3JydXB0IikpOwogCiAJcmVzb2x2ZV91bmRvX2NsZWFyKCk7Ci0JaWYgKG9wdHMtPmZvcmNlKSB7Ci0JCXJldCA9IHJlc2V0X3RyZWUoZ2V0X2NvbW1pdF90cmVlKG5ld19icmFuY2hfaW5mby0+Y29tbWl0KSwKLQkJCQkgb3B0cywgMSwgd3JpdGVvdXRfZXJyb3IpOworCWlmIChvcHRzLT5uZXdfb3JwaGFuX2JyYW5jaCAmJiBvcHRzLT5vcnBoYW5fZnJvbV9lbXB0eV90cmVlKSB7CisJCWlmIChuZXdfYnJhbmNoX2luZm8tPmNvbW1pdCkKKwkJCUJVRygiJ3N3aXRjaCAtLW9ycGhhbicgc2hvdWxkIG5ldmVyIGFjY2VwdCBhIGNvbW1pdCBhcyBzdGFydGluZyBwb2ludCIpOworCQluZXdfdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3QodGhlX2hhc2hfYWxnby0+ZW1wdHlfdHJlZSk7CisJfSBlbHNlCisJCW5ld190cmVlID0gZ2V0X2NvbW1pdF90cmVlKG5ld19icmFuY2hfaW5mby0+Y29tbWl0KTsKKwlpZiAob3B0cy0+ZGlzY2FyZF9jaGFuZ2VzKSB7CisJCXJldCA9IHJlc2V0X3RyZWUobmV3X3RyZWUsIG9wdHMsIDEsIHdyaXRlb3V0X2Vycm9yKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CiAJfSBlbHNlIHsKQEAgLTYxMyw3ICs2ODksNyBAQAogCQl0b3B0cy5pbml0aWFsX2NoZWNrb3V0ID0gaXNfY2FjaGVfdW5ib3JuKCk7CiAJCXRvcHRzLnVwZGF0ZSA9IDE7CiAJCXRvcHRzLm1lcmdlID0gMTsKLQkJdG9wdHMuZ2VudGx5ID0gb3B0cy0+bWVyZ2UgJiYgb2xkX2JyYW5jaF9pbmZvLT5jb21taXQ7CisJCXRvcHRzLnF1aWV0ID0gb3B0cy0+bWVyZ2UgJiYgb2xkX2JyYW5jaF9pbmZvLT5jb21taXQ7CiAJCXRvcHRzLnZlcmJvc2VfdXBkYXRlID0gb3B0cy0+c2hvd19wcm9ncmVzczsKIAkJdG9wdHMuZm4gPSB0d293YXlfbWVyZ2U7CiAJCWlmIChvcHRzLT5vdmVyd3JpdGVfaWdub3JlKSB7CkBAIC02MjUsNyArNzAxLDggQEAKIAkJCQkJICAgJm9sZF9icmFuY2hfaW5mby0+Y29tbWl0LT5vYmplY3Qub2lkIDoKIAkJCQkJICAgdGhlX2hhc2hfYWxnby0+ZW1wdHlfdHJlZSk7CiAJCWluaXRfdHJlZV9kZXNjKCZ0cmVlc1swXSwgdHJlZS0+YnVmZmVyLCB0cmVlLT5zaXplKTsKLQkJdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3QoJm5ld19icmFuY2hfaW5mby0+Y29tbWl0LT5vYmplY3Qub2lkKTsKKwkJcGFyc2VfdHJlZShuZXdfdHJlZSk7CisJCXRyZWUgPSBuZXdfdHJlZTsKIAkJaW5pdF90cmVlX2Rlc2MoJnRyZWVzWzFdLCB0cmVlLT5idWZmZXIsIHRyZWUtPnNpemUpOwogCiAJCXJldCA9IHVucGFja190cmVlcygyLCB0cmVlcywgJnRvcHRzKTsKQEAgLTYzNiw5ICs3MTMsMTIgQEAKIAkJCSAqIGdpdmUgdXAgb3IgZG8gYSByZWFsIG1lcmdlLCBkZXBlbmRpbmcgb24KIAkJCSAqIHdoZXRoZXIgdGhlIG1lcmdlIGZsYWcgd2FzIHVzZWQuCiAJCQkgKi8KLQkJCXN0cnVjdCB0cmVlICpyZXN1bHQ7CiAJCQlzdHJ1Y3QgdHJlZSAqd29yazsKKwkJCXN0cnVjdCB0cmVlICpvbGRfdHJlZTsKIAkJCXN0cnVjdCBtZXJnZV9vcHRpb25zIG87CisJCQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CisJCQlzdHJ1Y3Qgc3RyYnVmIG9sZF9jb21taXRfc2hvcnRuYW1lID0gU1RSQlVGX0lOSVQ7CisKIAkJCWlmICghb3B0cy0+bWVyZ2UpCiAJCQkJcmV0dXJuIDE7CiAKQEAgLTY0OCw2ICs3MjgsMTIgQEAKIAkJCSAqLwogCQkJaWYgKCFvbGRfYnJhbmNoX2luZm8tPmNvbW1pdCkKIAkJCQlyZXR1cm4gMTsKKwkJCW9sZF90cmVlID0gZ2V0X2NvbW1pdF90cmVlKG9sZF9icmFuY2hfaW5mby0+Y29tbWl0KTsKKworCQkJaWYgKHJlcG9faW5kZXhfaGFzX2NoYW5nZXModGhlX3JlcG9zaXRvcnksIG9sZF90cmVlLCAmc2IpKQorCQkJCWRpZShfKCJjYW5ub3QgY29udGludWUgd2l0aCBzdGFnZWQgY2hhbmdlcyBpbiAiCisJCQkJICAgICAgInRoZSBmb2xsb3dpbmcgZmlsZXM6XG4lcyIpLCBzYi5idWYpOworCQkJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIAogCQkJLyogRG8gbW9yZSByZWFsIG1lcmdlICovCiAKQEAgLTY3MCwyOSArNzU2LDM1IEBACiAJCQkgKiBhIHBhaW47IHBsdW1iIGluIGFuIG9wdGlvbiB0byBzZXQKIAkJCSAqIG8ucmVub3JtYWxpemU/CiAJCQkgKi8KLQkJCWluaXRfbWVyZ2Vfb3B0aW9ucygmbyk7CisJCQlpbml0X21lcmdlX29wdGlvbnMoJm8sIHRoZV9yZXBvc2l0b3J5KTsKIAkJCW8udmVyYm9zaXR5ID0gMDsKLQkJCXdvcmsgPSB3cml0ZV90cmVlX2Zyb21fbWVtb3J5KCZvKTsKKwkJCXdvcmsgPSB3cml0ZV9pbl9jb3JlX2luZGV4X2FzX3RyZWUodGhlX3JlcG9zaXRvcnkpOwogCi0JCQlyZXQgPSByZXNldF90cmVlKGdldF9jb21taXRfdHJlZShuZXdfYnJhbmNoX2luZm8tPmNvbW1pdCksCisJCQlyZXQgPSByZXNldF90cmVlKG5ld190cmVlLAogCQkJCQkgb3B0cywgMSwKIAkJCQkJIHdyaXRlb3V0X2Vycm9yKTsKIAkJCWlmIChyZXQpCiAJCQkJcmV0dXJuIHJldDsKIAkJCW8uYW5jZXN0b3IgPSBvbGRfYnJhbmNoX2luZm8tPm5hbWU7CisJCQlpZiAob2xkX2JyYW5jaF9pbmZvLT5uYW1lID09IE5VTEwpIHsKKwkJCQlzdHJidWZfYWRkX3VuaXF1ZV9hYmJyZXYoJm9sZF9jb21taXRfc2hvcnRuYW1lLAorCQkJCQkJCSAmb2xkX2JyYW5jaF9pbmZvLT5jb21taXQtPm9iamVjdC5vaWQsCisJCQkJCQkJIERFRkFVTFRfQUJCUkVWKTsKKwkJCQlvLmFuY2VzdG9yID0gb2xkX2NvbW1pdF9zaG9ydG5hbWUuYnVmOworCQkJfQogCQkJby5icmFuY2gxID0gbmV3X2JyYW5jaF9pbmZvLT5uYW1lOwogCQkJby5icmFuY2gyID0gImxvY2FsIjsKIAkJCXJldCA9IG1lcmdlX3RyZWVzKCZvLAotCQkJCQkgIGdldF9jb21taXRfdHJlZShuZXdfYnJhbmNoX2luZm8tPmNvbW1pdCksCisJCQkJCSAgbmV3X3RyZWUsCiAJCQkJCSAgd29yaywKLQkJCQkJICBnZXRfY29tbWl0X3RyZWUob2xkX2JyYW5jaF9pbmZvLT5jb21taXQpLAotCQkJCQkgICZyZXN1bHQpOworCQkJCQkgIG9sZF90cmVlKTsKIAkJCWlmIChyZXQgPCAwKQogCQkJCWV4aXQoMTI4KTsKLQkJCXJldCA9IHJlc2V0X3RyZWUoZ2V0X2NvbW1pdF90cmVlKG5ld19icmFuY2hfaW5mby0+Y29tbWl0KSwKKwkJCXJldCA9IHJlc2V0X3RyZWUobmV3X3RyZWUsCiAJCQkJCSBvcHRzLCAwLAogCQkJCQkgd3JpdGVvdXRfZXJyb3IpOwogCQkJc3RyYnVmX3JlbGVhc2UoJm8ub2J1Zik7CisJCQlzdHJidWZfcmVsZWFzZSgmb2xkX2NvbW1pdF9zaG9ydG5hbWUpOwogCQkJaWYgKHJldCkKIAkJCQlyZXR1cm4gcmV0OwogCQl9CkBAIC03MDcsNyArNzk5LDcgQEAKIAlpZiAod3JpdGVfbG9ja2VkX2luZGV4KCZ0aGVfaW5kZXgsICZsb2NrX2ZpbGUsIENPTU1JVF9MT0NLKSkKIAkJZGllKF8oInVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIpKTsKIAotCWlmICghb3B0cy0+Zm9yY2UgJiYgIW9wdHMtPnF1aWV0KQorCWlmICghb3B0cy0+ZGlzY2FyZF9jaGFuZ2VzICYmICFvcHRzLT5xdWlldCAmJiBuZXdfYnJhbmNoX2luZm8tPmNvbW1pdCkKIAkJc2hvd19sb2NhbF9jaGFuZ2VzKCZuZXdfYnJhbmNoX2luZm8tPmNvbW1pdC0+b2JqZWN0LCAmb3B0cy0+ZGlmZl9vcHRpb25zKTsKIAogCXJldHVybiAwOwpAQCAtNzUzLDcgKzg0NSw4IEBACiAJCQlmcmVlKHJlZm5hbWUpOwogCQl9CiAJCWVsc2UKLQkJCWNyZWF0ZV9icmFuY2gob3B0cy0+bmV3X2JyYW5jaCwgbmV3X2JyYW5jaF9pbmZvLT5uYW1lLAorCQkJY3JlYXRlX2JyYW5jaCh0aGVfcmVwb3NpdG9yeSwKKwkJCQkgICAgICBvcHRzLT5uZXdfYnJhbmNoLCBuZXdfYnJhbmNoX2luZm8tPm5hbWUsCiAJCQkJICAgICAgb3B0cy0+bmV3X2JyYW5jaF9mb3JjZSA/IDEgOiAwLAogCQkJCSAgICAgIG9wdHMtPm5ld19icmFuY2hfZm9yY2UgPyAxIDogMCwKIAkJCQkgICAgICBvcHRzLT5uZXdfYnJhbmNoX2xvZywKQEAgLTc3Miw3ICs4NjUsNyBAQAogCQlzdHJidWZfYWRkZigmbXNnLCAiY2hlY2tvdXQ6IG1vdmluZyBmcm9tICVzIHRvICVzIiwKIAkJCW9sZF9kZXNjID8gb2xkX2Rlc2MgOiAiKGludmFsaWQpIiwgbmV3X2JyYW5jaF9pbmZvLT5uYW1lKTsKIAllbHNlCi0JCXN0cmJ1Zl9pbnNlcnQoJm1zZywgMCwgcmVmbG9nX21zZywgc3RybGVuKHJlZmxvZ19tc2cpKTsKKwkJc3RyYnVmX2luc2VydHN0cigmbXNnLCAwLCByZWZsb2dfbXNnKTsKIAogCWlmICghc3RyY21wKG5ld19icmFuY2hfaW5mby0+bmFtZSwgIkhFQUQiKSAmJiAhbmV3X2JyYW5jaF9pbmZvLT5wYXRoICYmICFvcHRzLT5mb3JjZV9kZXRhY2gpIHsKIAkJLyogTm90aGluZyB0byBkby4gKi8KQEAgLTgxMSw3ICs5MDQsNyBAQAogCQkJCWRlbGV0ZV9yZWZsb2cob2xkX2JyYW5jaF9pbmZvLT5wYXRoKTsKIAkJfQogCX0KLQlyZW1vdmVfYnJhbmNoX3N0YXRlKCk7CisJcmVtb3ZlX2JyYW5jaF9zdGF0ZSh0aGVfcmVwb3NpdG9yeSwgIW9wdHMtPnF1aWV0KTsKIAlzdHJidWZfcmVsZWFzZSgmbXNnKTsKIAlpZiAoIW9wdHMtPnF1aWV0ICYmCiAJICAgIChuZXdfYnJhbmNoX2luZm8tPnBhdGggfHwgKCFvcHRzLT5mb3JjZV9kZXRhY2ggJiYgIXN0cmNtcChuZXdfYnJhbmNoX2luZm8tPm5hbWUsICJIRUFEIikpKSkKQEAgLTkwNyw3ICsxMDAwLDEwIEBACiAJYWRkX3BlbmRpbmdfb2JqZWN0KCZyZXZzLCBvYmplY3QsIG9pZF90b19oZXgoJm9iamVjdC0+b2lkKSk7CiAKIAlmb3JfZWFjaF9yZWYoYWRkX3BlbmRpbmdfdW5pbnRlcmVzdGluZ19yZWYsICZyZXZzKTsKLQlhZGRfcGVuZGluZ19vaWQoJnJldnMsICJIRUFEIiwgJm5ld19jb21taXQtPm9iamVjdC5vaWQsIFVOSU5URVJFU1RJTkcpOworCWlmIChuZXdfY29tbWl0KQorCQlhZGRfcGVuZGluZ19vaWQoJnJldnMsICJIRUFEIiwKKwkJCQkmbmV3X2NvbW1pdC0+b2JqZWN0Lm9pZCwKKwkJCQlVTklOVEVSRVNUSU5HKTsKIAogCWlmIChwcmVwYXJlX3JldmlzaW9uX3dhbGsoJnJldnMpKQogCQlkaWUoXygiaW50ZXJuYWwgZXJyb3IgaW4gcmV2aXNpb24gd2FsayIpKTsKQEAgLTkyOCw2ICsxMDI0LDEwIEBACiAJdm9pZCAqcGF0aF90b19mcmVlOwogCXN0cnVjdCBvYmplY3RfaWQgcmV2OwogCWludCBmbGFnLCB3cml0ZW91dF9lcnJvciA9IDA7CisJaW50IGRvX21lcmdlID0gMTsKKworCXRyYWNlMl9jbWRfbW9kZSgiYnJhbmNoIik7CisKIAltZW1zZXQoJm9sZF9icmFuY2hfaW5mbywgMCwgc2l6ZW9mKG9sZF9icmFuY2hfaW5mbykpOwogCW9sZF9icmFuY2hfaW5mby5wYXRoID0gcGF0aF90b19mcmVlID0gcmVzb2x2ZV9yZWZkdXAoIkhFQUQiLCAwLCAmcmV2LCAmZmxhZyk7CiAJaWYgKG9sZF9icmFuY2hfaW5mby5wYXRoKQpAQCAtOTM4LDIyICsxMDM4LDI2IEBACiAJaWYgKG9sZF9icmFuY2hfaW5mby5wYXRoKQogCQlza2lwX3ByZWZpeChvbGRfYnJhbmNoX2luZm8ucGF0aCwgInJlZnMvaGVhZHMvIiwgJm9sZF9icmFuY2hfaW5mby5uYW1lKTsKIAorCWlmIChvcHRzLT5uZXdfb3JwaGFuX2JyYW5jaCAmJiBvcHRzLT5vcnBoYW5fZnJvbV9lbXB0eV90cmVlKSB7CisJCWlmIChuZXdfYnJhbmNoX2luZm8tPm5hbWUpCisJCQlCVUcoIidzd2l0Y2ggLS1vcnBoYW4nIHNob3VsZCBuZXZlciBhY2NlcHQgYSBjb21taXQgYXMgc3RhcnRpbmcgcG9pbnQiKTsKKwkJbmV3X2JyYW5jaF9pbmZvLT5jb21taXQgPSBOVUxMOworCQluZXdfYnJhbmNoX2luZm8tPm5hbWUgPSAiKGVtcHR5KSI7CisJCWRvX21lcmdlID0gMTsKKwl9CisKIAlpZiAoIW5ld19icmFuY2hfaW5mby0+bmFtZSkgewogCQluZXdfYnJhbmNoX2luZm8tPm5hbWUgPSAiSEVBRCI7CiAJCW5ld19icmFuY2hfaW5mby0+Y29tbWl0ID0gb2xkX2JyYW5jaF9pbmZvLmNvbW1pdDsKIAkJaWYgKCFuZXdfYnJhbmNoX2luZm8tPmNvbW1pdCkKIAkJCWRpZShfKCJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIikpOwogCQlwYXJzZV9jb21taXRfb3JfZGllKG5ld19icmFuY2hfaW5mby0+Y29tbWl0KTsKKworCQlpZiAob3B0cy0+b25seV9tZXJnZV9vbl9zd2l0Y2hpbmdfYnJhbmNoZXMpCisJCQlkb19tZXJnZSA9IDA7CiAJfQogCi0JLyogb3B0aW1pemUgdGhlICJjaGVja291dCAtYiA8bmV3X2JyYW5jaD4gcGF0aCAqLwotCWlmIChza2lwX21lcmdlX3dvcmtpbmdfdHJlZShvcHRzLCAmb2xkX2JyYW5jaF9pbmZvLCBuZXdfYnJhbmNoX2luZm8pKSB7Ci0JCWlmICghY2hlY2tvdXRfb3B0aW1pemVfbmV3X2JyYW5jaCAmJiAhb3B0cy0+cXVpZXQpIHsKLQkJCWlmIChyZWFkX2NhY2hlX3ByZWxvYWQoTlVMTCkgPCAwKQotCQkJCXJldHVybiBlcnJvcihfKCJpbmRleCBmaWxlIGNvcnJ1cHQiKSk7Ci0JCQlzaG93X2xvY2FsX2NoYW5nZXMoJm5ld19icmFuY2hfaW5mby0+Y29tbWl0LT5vYmplY3QsICZvcHRzLT5kaWZmX29wdGlvbnMpOwotCQl9Ci0JfSBlbHNlIHsKKwlpZiAoZG9fbWVyZ2UpIHsKIAkJcmV0ID0gbWVyZ2Vfd29ya2luZ190cmVlKG9wdHMsICZvbGRfYnJhbmNoX2luZm8sIG5ld19icmFuY2hfaW5mbywgJndyaXRlb3V0X2Vycm9yKTsKIAkJaWYgKHJldCkgewogCQkJZnJlZShwYXRoX3RvX2ZyZWUpOwpAQCAtOTczLDExICsxMDc3LDYgQEAKIAogc3RhdGljIGludCBnaXRfY2hlY2tvdXRfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKQogewotCWlmICghc3RyY21wKHZhciwgImNoZWNrb3V0Lm9wdGltaXplbmV3YnJhbmNoIikpIHsKLQkJY2hlY2tvdXRfb3B0aW1pemVfbmV3X2JyYW5jaCA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKLQkJcmV0dXJuIDA7Ci0JfQotCiAJaWYgKCFzdHJjbXAodmFyLCAiZGlmZi5pZ25vcmVzdWJtb2R1bGVzIikpIHsKIAkJc3RydWN0IGNoZWNrb3V0X29wdHMgKm9wdHMgPSBjYjsKIAkJaGFuZGxlX2lnbm9yZV9zdWJtb2R1bGVzX2FyZygmb3B0cy0+ZGlmZl9vcHRpb25zLCB2YWx1ZSk7CkBAIC05OTAsMTcgKzEwODksNzQgQEAKIAlyZXR1cm4gZ2l0X3htZXJnZV9jb25maWcodmFyLCB2YWx1ZSwgTlVMTCk7CiB9CiAKK3N0YXRpYyB2b2lkIHNldHVwX25ld19icmFuY2hfaW5mb19hbmRfc291cmNlX3RyZWUoCisJc3RydWN0IGJyYW5jaF9pbmZvICpuZXdfYnJhbmNoX2luZm8sCisJc3RydWN0IGNoZWNrb3V0X29wdHMgKm9wdHMsCisJc3RydWN0IG9iamVjdF9pZCAqcmV2LAorCWNvbnN0IGNoYXIgKmFyZykKK3sKKwlzdHJ1Y3QgdHJlZSAqKnNvdXJjZV90cmVlID0gJm9wdHMtPnNvdXJjZV90cmVlOworCXN0cnVjdCBvYmplY3RfaWQgYnJhbmNoX3JldjsKKworCW5ld19icmFuY2hfaW5mby0+bmFtZSA9IGFyZzsKKwlzZXR1cF9icmFuY2hfcGF0aChuZXdfYnJhbmNoX2luZm8pOworCisJaWYgKCFjaGVja19yZWZuYW1lX2Zvcm1hdChuZXdfYnJhbmNoX2luZm8tPnBhdGgsIDApICYmCisJICAgICFyZWFkX3JlZihuZXdfYnJhbmNoX2luZm8tPnBhdGgsICZicmFuY2hfcmV2KSkKKwkJb2lkY3B5KHJldiwgJmJyYW5jaF9yZXYpOworCWVsc2UKKwkJbmV3X2JyYW5jaF9pbmZvLT5wYXRoID0gTlVMTDsgLyogbm90IGFuIGV4aXN0aW5nIGJyYW5jaCAqLworCisJbmV3X2JyYW5jaF9pbmZvLT5jb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkodGhlX3JlcG9zaXRvcnksIHJldiwgMSk7CisJaWYgKCFuZXdfYnJhbmNoX2luZm8tPmNvbW1pdCkgeworCQkvKiBub3QgYSBjb21taXQgKi8KKwkJKnNvdXJjZV90cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdChyZXYpOworCX0gZWxzZSB7CisJCXBhcnNlX2NvbW1pdF9vcl9kaWUobmV3X2JyYW5jaF9pbmZvLT5jb21taXQpOworCQkqc291cmNlX3RyZWUgPSBnZXRfY29tbWl0X3RyZWUobmV3X2JyYW5jaF9pbmZvLT5jb21taXQpOworCX0KK30KKworc3RhdGljIGNvbnN0IGNoYXIgKnBhcnNlX3JlbW90ZV9icmFuY2goY29uc3QgY2hhciAqYXJnLAorCQkJCSAgICAgICBzdHJ1Y3Qgb2JqZWN0X2lkICpyZXYsCisJCQkJICAgICAgIGludCBjb3VsZF9iZV9jaGVja291dF9wYXRocykKK3sKKwlpbnQgbnVtX21hdGNoZXMgPSAwOworCWNvbnN0IGNoYXIgKnJlbW90ZSA9IHVuaXF1ZV90cmFja2luZ19uYW1lKGFyZywgcmV2LCAmbnVtX21hdGNoZXMpOworCisJaWYgKHJlbW90ZSAmJiBjb3VsZF9iZV9jaGVja291dF9wYXRocykgeworCQlkaWUoXygiJyVzJyBjb3VsZCBiZSBib3RoIGEgbG9jYWwgZmlsZSBhbmQgYSB0cmFja2luZyBicmFuY2guXG4iCisJCQkiUGxlYXNlIHVzZSAtLSAoYW5kIG9wdGlvbmFsbHkgLS1uby1ndWVzcykgdG8gZGlzYW1iaWd1YXRlIiksCisJCSAgICBhcmcpOworCX0KKworCWlmICghcmVtb3RlICYmIG51bV9tYXRjaGVzID4gMSkgeworCSAgICBpZiAoYWR2aWNlX2NoZWNrb3V0X2FtYmlndW91c19yZW1vdGVfYnJhbmNoX25hbWUpIHsKKwkJICAgIGFkdmlzZShfKCJJZiB5b3UgbWVhbnQgdG8gY2hlY2sgb3V0IGEgcmVtb3RlIHRyYWNraW5nIGJyYW5jaCBvbiwgZS5nLiAnb3JpZ2luJyxcbiIKKwkJCSAgICAgInlvdSBjYW4gZG8gc28gYnkgZnVsbHkgcXVhbGlmeWluZyB0aGUgbmFtZSB3aXRoIHRoZSAtLXRyYWNrIG9wdGlvbjpcbiIKKwkJCSAgICAgIlxuIgorCQkJICAgICAiICAgIGdpdCBjaGVja291dCAtLXRyYWNrIG9yaWdpbi88bmFtZT5cbiIKKwkJCSAgICAgIlxuIgorCQkJICAgICAiSWYgeW91J2QgbGlrZSB0byBhbHdheXMgaGF2ZSBjaGVja291dHMgb2YgYW4gYW1iaWd1b3VzIDxuYW1lPiBwcmVmZXJcbiIKKwkJCSAgICAgIm9uZSByZW1vdGUsIGUuZy4gdGhlICdvcmlnaW4nIHJlbW90ZSwgY29uc2lkZXIgc2V0dGluZ1xuIgorCQkJICAgICAiY2hlY2tvdXQuZGVmYXVsdFJlbW90ZT1vcmlnaW4gaW4geW91ciBjb25maWcuIikpOworCSAgICB9CisKKwkgICAgZGllKF8oIiclcycgbWF0Y2hlZCBtdWx0aXBsZSAoJWQpIHJlbW90ZSB0cmFja2luZyBicmFuY2hlcyIpLAorCQlhcmcsIG51bV9tYXRjaGVzKTsKKwl9CisKKwlyZXR1cm4gcmVtb3RlOworfQorCiBzdGF0aWMgaW50IHBhcnNlX2JyYW5jaG5hbWVfYXJnKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwKIAkJCQlpbnQgZHdpbV9uZXdfbG9jYWxfYnJhbmNoX29rLAogCQkJCXN0cnVjdCBicmFuY2hfaW5mbyAqbmV3X2JyYW5jaF9pbmZvLAogCQkJCXN0cnVjdCBjaGVja291dF9vcHRzICpvcHRzLAotCQkJCXN0cnVjdCBvYmplY3RfaWQgKnJldiwKLQkJCQlpbnQgKmR3aW1fcmVtb3Rlc19tYXRjaGVkKQorCQkJCXN0cnVjdCBvYmplY3RfaWQgKnJldikKIHsKLQlzdHJ1Y3QgdHJlZSAqKnNvdXJjZV90cmVlID0gJm9wdHMtPnNvdXJjZV90cmVlOwogCWNvbnN0IGNoYXIgKipuZXdfYnJhbmNoID0gJm9wdHMtPm5ld19icmFuY2g7CiAJaW50IGFyZ2NvdW50ID0gMDsKLQlzdHJ1Y3Qgb2JqZWN0X2lkIGJyYW5jaF9yZXY7CiAJY29uc3QgY2hhciAqYXJnOwogCWludCBkYXNoX2Rhc2hfcG9zOwogCWludCBoYXNfZGFzaF9kYXNoID0gMDsKQEAgLTEwNTAsMTAgKzEyMDYsMTYgQEAKIAlpZiAoIWFyZ2MpCiAJCXJldHVybiAwOwogCisJaWYgKCFvcHRzLT5hY2NlcHRfcGF0aHNwZWMpIHsKKwkJaWYgKGFyZ2MgPiAxKQorCQkJZGllKF8oIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCIpKTsKKwkJaGFzX2Rhc2hfZGFzaCA9IDE7IC8qIGhlbHBzIGRpc2FtYmlndWF0ZSAqLworCX0KKwogCWFyZyA9IGFyZ3ZbMF07CiAJZGFzaF9kYXNoX3BvcyA9IC0xOwogCWZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKLQkJaWYgKCFzdHJjbXAoYXJndltpXSwgIi0tIikpIHsKKwkJaWYgKG9wdHMtPmFjY2VwdF9wYXRoc3BlYyAmJiAhc3RyY21wKGFyZ3ZbaV0sICItLSIpKSB7CiAJCQlkYXNoX2Rhc2hfcG9zID0gaTsKIAkJCWJyZWFrOwogCQl9CkBAIC0xMDY0LDYgKzEyMjYsNyBAQAogCQloYXNfZGFzaF9kYXNoID0gMTsgLyogY2FzZSAoMykgb3IgKDEpICovCiAJZWxzZSBpZiAoZGFzaF9kYXNoX3BvcyA+PSAyKQogCQlkaWUoXygib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iKSwgZGFzaF9kYXNoX3Bvcyk7CisJb3B0cy0+Y291bnRfY2hlY2tvdXRfcGF0aHMgPSAhb3B0cy0+cXVpZXQgJiYgIWhhc19kYXNoX2Rhc2g7CiAKIAlpZiAoIXN0cmNtcChhcmcsICItIikpCiAJCWFyZyA9ICJAey0xfSI7CkBAIC0xMDc5LDIwICsxMjQyLDI0IEBACiAJCSAqLwogCQlpbnQgcmVjb3Zlcl93aXRoX2R3aW0gPSBkd2ltX25ld19sb2NhbF9icmFuY2hfb2s7CiAKLQkJaWYgKCFoYXNfZGFzaF9kYXNoICYmCi0JCSAgICAoY2hlY2tfZmlsZW5hbWUob3B0cy0+cHJlZml4LCBhcmcpIHx8ICFub193aWxkY2FyZChhcmcpKSkKKwkJaW50IGNvdWxkX2JlX2NoZWNrb3V0X3BhdGhzID0gIWhhc19kYXNoX2Rhc2ggJiYKKwkJCWNoZWNrX2ZpbGVuYW1lKG9wdHMtPnByZWZpeCwgYXJnKTsKKworCQlpZiAoIWhhc19kYXNoX2Rhc2ggJiYgIW5vX3dpbGRjYXJkKGFyZykpCiAJCQlyZWNvdmVyX3dpdGhfZHdpbSA9IDA7CisKIAkJLyoKLQkJICogQWNjZXB0ICJnaXQgY2hlY2tvdXQgZm9vIiBhbmQgImdpdCBjaGVja291dCBmb28gLS0iCi0JCSAqIGFzIGNhbmRpZGF0ZXMgZm9yIGR3aW0uCisJCSAqIEFjY2VwdCAiZ2l0IGNoZWNrb3V0IGZvbyIsICJnaXQgY2hlY2tvdXQgZm9vIC0tIgorCQkgKiBhbmQgImdpdCBzd2l0Y2ggZm9vIiBhcyBjYW5kaWRhdGVzIGZvciBkd2ltLgogCQkgKi8KIAkJaWYgKCEoYXJnYyA9PSAxICYmICFoYXNfZGFzaF9kYXNoKSAmJgotCQkgICAgIShhcmdjID09IDIgJiYgaGFzX2Rhc2hfZGFzaCkpCisJCSAgICAhKGFyZ2MgPT0gMiAmJiBoYXNfZGFzaF9kYXNoKSAmJgorCQkgICAgb3B0cy0+YWNjZXB0X3BhdGhzcGVjKQogCQkJcmVjb3Zlcl93aXRoX2R3aW0gPSAwOwogCiAJCWlmIChyZWNvdmVyX3dpdGhfZHdpbSkgewotCQkJY29uc3QgY2hhciAqcmVtb3RlID0gdW5pcXVlX3RyYWNraW5nX25hbWUoYXJnLCByZXYsCi0JCQkJCQkJCSAgZHdpbV9yZW1vdGVzX21hdGNoZWQpOworCQkJY29uc3QgY2hhciAqcmVtb3RlID0gcGFyc2VfcmVtb3RlX2JyYW5jaChhcmcsIHJldiwKKwkJCQkJCQkJIGNvdWxkX2JlX2NoZWNrb3V0X3BhdGhzKTsKIAkJCWlmIChyZW1vdGUpIHsKIAkJCQkqbmV3X2JyYW5jaCA9IGFyZzsKIAkJCQlhcmcgPSByZW1vdGU7CkBAIC0xMTE0LDI2ICsxMjgxLDExIEBACiAJYXJndisrOwogCWFyZ2MtLTsKIAotCW5ld19icmFuY2hfaW5mby0+bmFtZSA9IGFyZzsKLQlzZXR1cF9icmFuY2hfcGF0aChuZXdfYnJhbmNoX2luZm8pOworCXNldHVwX25ld19icmFuY2hfaW5mb19hbmRfc291cmNlX3RyZWUobmV3X2JyYW5jaF9pbmZvLCBvcHRzLCByZXYsIGFyZyk7CiAKLQlpZiAoIWNoZWNrX3JlZm5hbWVfZm9ybWF0KG5ld19icmFuY2hfaW5mby0+cGF0aCwgMCkgJiYKLQkgICAgIXJlYWRfcmVmKG5ld19icmFuY2hfaW5mby0+cGF0aCwgJmJyYW5jaF9yZXYpKQotCQlvaWRjcHkocmV2LCAmYnJhbmNoX3Jldik7Ci0JZWxzZQotCQluZXdfYnJhbmNoX2luZm8tPnBhdGggPSBOVUxMOyAvKiBub3QgYW4gZXhpc3RpbmcgYnJhbmNoICovCi0KLQluZXdfYnJhbmNoX2luZm8tPmNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseSh0aGVfcmVwb3NpdG9yeSwgcmV2LCAxKTsKLQlpZiAoIW5ld19icmFuY2hfaW5mby0+Y29tbWl0KSB7Ci0JCS8qIG5vdCBhIGNvbW1pdCAqLwotCQkqc291cmNlX3RyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KHJldik7Ci0JfSBlbHNlIHsKLQkJcGFyc2VfY29tbWl0X29yX2RpZShuZXdfYnJhbmNoX2luZm8tPmNvbW1pdCk7Ci0JCSpzb3VyY2VfdHJlZSA9IGdldF9jb21taXRfdHJlZShuZXdfYnJhbmNoX2luZm8tPmNvbW1pdCk7Ci0JfQotCi0JaWYgKCEqc291cmNlX3RyZWUpICAgICAgICAgICAgICAgICAgIC8qIGNhc2UgKDEpOiB3YW50IGEgdHJlZSAqLworCWlmICghb3B0cy0+c291cmNlX3RyZWUpICAgICAgICAgICAgICAgICAgIC8qIGNhc2UgKDEpOiB3YW50IGEgdHJlZSAqLwogCQlkaWUoXygicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIiksIGFyZyk7CisKIAlpZiAoIWhhc19kYXNoX2Rhc2gpIHsJLyogY2FzZSAoMykuKGQpIC0+ICgxKSAqLwogCQkvKgogCQkgKiBEbyBub3QgY29tcGxhaW4gdGhlIG1vc3QgY29tbW9uIGNhc2UKQEAgLTExNDMsNyArMTI5NSw3IEBACiAJCSAqLwogCQlpZiAoYXJnYykKIAkJCXZlcmlmeV9ub25fZmlsZW5hbWUob3B0cy0+cHJlZml4LCBhcmcpOwotCX0gZWxzZSB7CisJfSBlbHNlIGlmIChvcHRzLT5hY2NlcHRfcGF0aHNwZWMpIHsKIAkJYXJnY291bnQrKzsKIAkJYXJndisrOwogCQlhcmdjLS07CkBAIC0xMTU3LDYgKzEzMDksOCBAQAogCWludCBzdGF0dXM7CiAJc3RydWN0IHN0cmJ1ZiBicmFuY2hfcmVmID0gU1RSQlVGX0lOSVQ7CiAKKwl0cmFjZTJfY21kX21vZGUoInVuYm9ybiIpOworCiAJaWYgKCFvcHRzLT5uZXdfYnJhbmNoKQogCQlkaWUoXygiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIpKTsKIAlzdHJidWZfYWRkZigmYnJhbmNoX3JlZiwgInJlZnMvaGVhZHMvJXMiLCBvcHRzLT5uZXdfYnJhbmNoKTsKQEAgLTExNjgsNiArMTMyMiw2MCBAQAogCXJldHVybiBzdGF0dXM7CiB9CiAKK3N0YXRpYyB2b2lkIGRpZV9leHBlY3RpbmdfYV9icmFuY2goY29uc3Qgc3RydWN0IGJyYW5jaF9pbmZvICpicmFuY2hfaW5mbykKK3sKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwljaGFyICp0b19mcmVlOworCisJaWYgKGR3aW1fcmVmKGJyYW5jaF9pbmZvLT5uYW1lLCBzdHJsZW4oYnJhbmNoX2luZm8tPm5hbWUpLCAmb2lkLCAmdG9fZnJlZSkgPT0gMSkgeworCQljb25zdCBjaGFyICpyZWYgPSB0b19mcmVlOworCisJCWlmIChza2lwX3ByZWZpeChyZWYsICJyZWZzL3RhZ3MvIiwgJnJlZikpCisJCQlkaWUoXygiYSBicmFuY2ggaXMgZXhwZWN0ZWQsIGdvdCB0YWcgJyVzJyIpLCByZWYpOworCQlpZiAoc2tpcF9wcmVmaXgocmVmLCAicmVmcy9yZW1vdGVzLyIsICZyZWYpKQorCQkJZGllKF8oImEgYnJhbmNoIGlzIGV4cGVjdGVkLCBnb3QgcmVtb3RlIGJyYW5jaCAnJXMnIiksIHJlZik7CisJCWRpZShfKCJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290ICclcyciKSwgcmVmKTsKKwl9CisJaWYgKGJyYW5jaF9pbmZvLT5jb21taXQpCisJCWRpZShfKCJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IGNvbW1pdCAnJXMnIiksIGJyYW5jaF9pbmZvLT5uYW1lKTsKKwkvKgorCSAqIFRoaXMgY2FzZSBzaG91bGQgbmV2ZXIgaGFwcGVuIGJlY2F1c2Ugd2UgYWxyZWFkeSBkaWUoKSBvbgorCSAqIG5vbi1jb21taXQsIGJ1dCBqdXN0IGluIGNhc2UuCisJICovCisJZGllKF8oImEgYnJhbmNoIGlzIGV4cGVjdGVkLCBnb3QgJyVzJyIpLCBicmFuY2hfaW5mby0+bmFtZSk7Cit9CisKK3N0YXRpYyB2b2lkIGRpZV9pZl9zb21lX29wZXJhdGlvbl9pbl9wcm9ncmVzcyh2b2lkKQoreworCXN0cnVjdCB3dF9zdGF0dXNfc3RhdGUgc3RhdGU7CisKKwltZW1zZXQoJnN0YXRlLCAwLCBzaXplb2Yoc3RhdGUpKTsKKwl3dF9zdGF0dXNfZ2V0X3N0YXRlKHRoZV9yZXBvc2l0b3J5LCAmc3RhdGUsIDApOworCisJaWYgKHN0YXRlLm1lcmdlX2luX3Byb2dyZXNzKQorCQlkaWUoXygiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgbWVyZ2luZ1xuIgorCQkgICAgICAiQ29uc2lkZXIgXCJnaXQgbWVyZ2UgLS1xdWl0XCIgIgorCQkgICAgICAib3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIikpOworCWlmIChzdGF0ZS5hbV9pbl9wcm9ncmVzcykKKwkJZGllKF8oImNhbm5vdCBzd2l0Y2ggYnJhbmNoIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvblxuIgorCQkgICAgICAiQ29uc2lkZXIgXCJnaXQgYW0gLS1xdWl0XCIgIgorCQkgICAgICAib3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIikpOworCWlmIChzdGF0ZS5yZWJhc2VfaW50ZXJhY3RpdmVfaW5fcHJvZ3Jlc3MgfHwgc3RhdGUucmViYXNlX2luX3Byb2dyZXNzKQorCQlkaWUoXygiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgcmViYXNpbmdcbiIKKwkJICAgICAgIkNvbnNpZGVyIFwiZ2l0IHJlYmFzZSAtLXF1aXRcIiAiCisJCSAgICAgICJvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iKSk7CisJaWYgKHN0YXRlLmNoZXJyeV9waWNrX2luX3Byb2dyZXNzKQorCQlkaWUoXygiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgY2hlcnJ5LXBpY2tpbmdcbiIKKwkJICAgICAgIkNvbnNpZGVyIFwiZ2l0IGNoZXJyeS1waWNrIC0tcXVpdFwiICIKKwkJICAgICAgIm9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIpKTsKKwlpZiAoc3RhdGUucmV2ZXJ0X2luX3Byb2dyZXNzKQorCQlkaWUoXygiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgcmV2ZXJ0aW5nXG4iCisJCSAgICAgICJDb25zaWRlciBcImdpdCByZXZlcnQgLS1xdWl0XCIgIgorCQkgICAgICAib3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIikpOworCWlmIChzdGF0ZS5iaXNlY3RfaW5fcHJvZ3Jlc3MpCisJCXdhcm5pbmcoXygieW91IGFyZSBzd2l0Y2hpbmcgYnJhbmNoIHdoaWxlIGJpc2VjdGluZyIpKTsKK30KKwogc3RhdGljIGludCBjaGVja291dF9icmFuY2goc3RydWN0IGNoZWNrb3V0X29wdHMgKm9wdHMsCiAJCQkgICBzdHJ1Y3QgYnJhbmNoX2luZm8gKm5ld19icmFuY2hfaW5mbykKIHsKQEAgLTExNzgsNiArMTM4NiwxMCBAQAogCQlkaWUoXygiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIpLAogCQkgICAgIi0tcGF0Y2giKTsKIAorCWlmIChvcHRzLT5vdmVybGF5X21vZGUgIT0gLTEpCisJCWRpZShfKCInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIiksCisJCSAgICAiLS1bbm9dLW92ZXJsYXkiKTsKKwogCWlmIChvcHRzLT53cml0ZW91dF9zdGFnZSkKIAkJZGllKF8oIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiKSwKIAkJICAgICItLW91cnMvLS10aGVpcnMiKTsKQEAgLTExODUsNiArMTM5Nyw5IEBACiAJaWYgKG9wdHMtPmZvcmNlICYmIG9wdHMtPm1lcmdlKQogCQlkaWUoXygiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciKSwgIi1mIiwgIi1tIik7CiAKKwlpZiAob3B0cy0+ZGlzY2FyZF9jaGFuZ2VzICYmIG9wdHMtPm1lcmdlKQorCQlkaWUoXygiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciKSwgIi0tZGlzY2FyZC1jaGFuZ2VzIiwgIi0tbWVyZ2UiKTsKKwogCWlmIChvcHRzLT5mb3JjZV9kZXRhY2ggJiYgb3B0cy0+bmV3X2JyYW5jaCkKIAkJZGllKF8oIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIiksCiAJCSAgICAiLS1kZXRhY2giLCAiLWIvLUIvLS1vcnBoYW4iKTsKQEAgLTExOTIsNiArMTQwNyw4IEBACiAJaWYgKG9wdHMtPm5ld19vcnBoYW5fYnJhbmNoKSB7CiAJCWlmIChvcHRzLT50cmFjayAhPSBCUkFOQ0hfVFJBQ0tfVU5TUEVDSUZJRUQpCiAJCQlkaWUoXygiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciKSwgIi0tb3JwaGFuIiwgIi10Iik7CisJCWlmIChvcHRzLT5vcnBoYW5fZnJvbV9lbXB0eV90cmVlICYmIG5ld19icmFuY2hfaW5mby0+bmFtZSkKKwkJCWRpZShfKCInJXMnIGNhbm5vdCB0YWtlIDxzdGFydC1wb2ludD4iKSwgIi0tb3JwaGFuIik7CiAJfSBlbHNlIGlmIChvcHRzLT5mb3JjZV9kZXRhY2gpIHsKIAkJaWYgKG9wdHMtPnRyYWNrICE9IEJSQU5DSF9UUkFDS19VTlNQRUNJRklFRCkKIAkJCWRpZShfKCInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJyVzJyIpLCAiLS1kZXRhY2giLCAiLXQiKTsKQEAgLTEyMDIsNiArMTQxOSwyMyBAQAogCQlkaWUoXygiQ2Fubm90IHN3aXRjaCBicmFuY2ggdG8gYSBub24tY29tbWl0ICclcyciKSwKIAkJICAgIG5ld19icmFuY2hfaW5mby0+bmFtZSk7CiAKKwlpZiAoIW9wdHMtPnN3aXRjaF9icmFuY2hfZG9pbmdfbm90aGluZ19pc19vayAmJgorCSAgICAhbmV3X2JyYW5jaF9pbmZvLT5uYW1lICYmCisJICAgICFvcHRzLT5uZXdfYnJhbmNoICYmCisJICAgICFvcHRzLT5mb3JjZV9kZXRhY2gpCisJCWRpZShfKCJtaXNzaW5nIGJyYW5jaCBvciBjb21taXQgYXJndW1lbnQiKSk7CisKKwlpZiAoIW9wdHMtPmltcGxpY2l0X2RldGFjaCAmJgorCSAgICAhb3B0cy0+Zm9yY2VfZGV0YWNoICYmCisJICAgICFvcHRzLT5uZXdfYnJhbmNoICYmCisJICAgICFvcHRzLT5uZXdfYnJhbmNoX2ZvcmNlICYmCisJICAgIG5ld19icmFuY2hfaW5mby0+bmFtZSAmJgorCSAgICAhbmV3X2JyYW5jaF9pbmZvLT5wYXRoKQorCQlkaWVfZXhwZWN0aW5nX2FfYnJhbmNoKG5ld19icmFuY2hfaW5mbyk7CisKKwlpZiAoIW9wdHMtPmNhbl9zd2l0Y2hfd2hlbl9pbl9wcm9ncmVzcykKKwkJZGllX2lmX3NvbWVfb3BlcmF0aW9uX2luX3Byb2dyZXNzKCk7CisKIAlpZiAobmV3X2JyYW5jaF9pbmZvLT5wYXRoICYmICFvcHRzLT5mb3JjZV9kZXRhY2ggJiYgIW9wdHMtPm5ld19icmFuY2ggJiYKIAkgICAgIW9wdHMtPmlnbm9yZV9vdGhlcl93b3JrdHJlZXMpIHsKIAkJaW50IGZsYWc7CkBAIC0xMjIzLDkzICsxNDU3LDE0OSBAQAogCXJldHVybiBzd2l0Y2hfYnJhbmNoZXMob3B0cywgbmV3X2JyYW5jaF9pbmZvKTsKIH0KIAotaW50IGNtZF9jaGVja291dChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3N0YXRpYyBzdHJ1Y3Qgb3B0aW9uICphZGRfY29tbW9uX29wdGlvbnMoc3RydWN0IGNoZWNrb3V0X29wdHMgKm9wdHMsCisJCQkJCSBzdHJ1Y3Qgb3B0aW9uICpwcmV2b3B0cykKIHsKLQlzdHJ1Y3QgY2hlY2tvdXRfb3B0cyBvcHRzOwotCXN0cnVjdCBicmFuY2hfaW5mbyBuZXdfYnJhbmNoX2luZm87Ci0JY2hhciAqY29uZmxpY3Rfc3R5bGUgPSBOVUxMOwotCWludCBkd2ltX25ld19sb2NhbF9icmFuY2ggPSAxOwotCWludCBkd2ltX3JlbW90ZXNfbWF0Y2hlZCA9IDA7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7Ci0JCU9QVF9fUVVJRVQoJm9wdHMucXVpZXQsIE5fKCJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciKSksCi0JCU9QVF9TVFJJTkcoJ2InLCBOVUxMLCAmb3B0cy5uZXdfYnJhbmNoLCBOXygiYnJhbmNoIiksCi0JCQkgICBOXygiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giKSksCi0JCU9QVF9TVFJJTkcoJ0InLCBOVUxMLCAmb3B0cy5uZXdfYnJhbmNoX2ZvcmNlLCBOXygiYnJhbmNoIiksCi0JCQkgICBOXygiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIpKSwKLQkJT1BUX0JPT0woJ2wnLCBOVUxMLCAmb3B0cy5uZXdfYnJhbmNoX2xvZywgTl8oImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giKSksCi0JCU9QVF9CT09MKDAsICJkZXRhY2giLCAmb3B0cy5mb3JjZV9kZXRhY2gsIE5fKCJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiKSksCi0JCU9QVF9TRVRfSU5UKCd0JywgInRyYWNrIiwgICZvcHRzLnRyYWNrLCBOXygic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giKSwKLQkJCUJSQU5DSF9UUkFDS19FWFBMSUNJVCksCi0JCU9QVF9TVFJJTkcoMCwgIm9ycGhhbiIsICZvcHRzLm5ld19vcnBoYW5fYnJhbmNoLCBOXygibmV3LWJyYW5jaCIpLCBOXygibmV3IHVucGFyZW50ZWQgYnJhbmNoIikpLAotCQlPUFRfU0VUX0lOVF9GKCcyJywgIm91cnMiLCAmb3B0cy53cml0ZW91dF9zdGFnZSwKLQkJCSAgICAgIE5fKCJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiKSwKLQkJCSAgICAgIDIsIFBBUlNFX09QVF9OT05FRyksCi0JCU9QVF9TRVRfSU5UX0YoJzMnLCAidGhlaXJzIiwgJm9wdHMud3JpdGVvdXRfc3RhZ2UsCi0JCQkgICAgICBOXygiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiKSwKLQkJCSAgICAgIDMsIFBBUlNFX09QVF9OT05FRyksCi0JCU9QVF9fRk9SQ0UoJm9wdHMuZm9yY2UsIE5fKCJmb3JjZSBjaGVja291dCAodGhyb3cgYXdheSBsb2NhbCBtb2RpZmljYXRpb25zKSIpLAotCQkJICAgUEFSU0VfT1BUX05PQ09NUExFVEUpLAotCQlPUFRfQk9PTCgnbScsICJtZXJnZSIsICZvcHRzLm1lcmdlLCBOXygicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giKSksCi0JCU9QVF9CT09MX0YoMCwgIm92ZXJ3cml0ZS1pZ25vcmUiLCAmb3B0cy5vdmVyd3JpdGVfaWdub3JlLAotCQkJICAgTl8oInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIpLAotCQkJICAgUEFSU0VfT1BUX05PQ09NUExFVEUpLAotCQlPUFRfU1RSSU5HKDAsICJjb25mbGljdCIsICZjb25mbGljdF9zdHlsZSwgTl8oInN0eWxlIiksCi0JCQkgICBOXygiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIpKSwKLQkJT1BUX0JPT0woJ3AnLCAicGF0Y2giLCAmb3B0cy5wYXRjaF9tb2RlLCBOXygic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiKSksCi0JCU9QVF9CT09MKDAsICJpZ25vcmUtc2tpcC13b3JrdHJlZS1iaXRzIiwgJm9wdHMuaWdub3JlX3NraXB3b3JrdHJlZSwKLQkJCSBOXygiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IikpLAotCQlPUFRfSElEREVOX0JPT0woMCwgImd1ZXNzIiwgJmR3aW1fbmV3X2xvY2FsX2JyYW5jaCwKLQkJCQlOXygic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgPG5vLXN1Y2gtYnJhbmNoPiciKSksCi0JCU9QVF9CT09MKDAsICJpZ25vcmUtb3RoZXItd29ya3RyZWVzIiwgJm9wdHMuaWdub3JlX290aGVyX3dvcmt0cmVlcywKLQkJCSBOXygiZG8gbm90IGNoZWNrIGlmIGFub3RoZXIgd29ya3RyZWUgaXMgaG9sZGluZyB0aGUgZ2l2ZW4gcmVmIikpLAorCQlPUFRfX1FVSUVUKCZvcHRzLT5xdWlldCwgTl8oInN1cHByZXNzIHByb2dyZXNzIHJlcG9ydGluZyIpKSwKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJyZWN1cnNlLXN1Ym1vZHVsZXMiLCBOVUxMLAogCQkJICAgICJjaGVja291dCIsICJjb250cm9sIHJlY3Vyc2l2ZSB1cGRhdGluZyBvZiBzdWJtb2R1bGVzIiwKIAkJCSAgICBQQVJTRV9PUFRfT1BUQVJHLCBvcHRpb25fcGFyc2VfcmVjdXJzZV9zdWJtb2R1bGVzX3dvcmt0cmVlX3VwZGF0ZXIgfSwKLQkJT1BUX0JPT0woMCwgInByb2dyZXNzIiwgJm9wdHMuc2hvd19wcm9ncmVzcywgTl8oImZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIpKSwKLQkJT1BUX0VORCgpLAorCQlPUFRfQk9PTCgwLCAicHJvZ3Jlc3MiLCAmb3B0cy0+c2hvd19wcm9ncmVzcywgTl8oImZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIpKSwKKwkJT1BUX0JPT0woJ20nLCAibWVyZ2UiLCAmb3B0cy0+bWVyZ2UsIE5fKCJwZXJmb3JtIGEgMy13YXkgbWVyZ2Ugd2l0aCB0aGUgbmV3IGJyYW5jaCIpKSwKKwkJT1BUX1NUUklORygwLCAiY29uZmxpY3QiLCAmb3B0cy0+Y29uZmxpY3Rfc3R5bGUsIE5fKCJzdHlsZSIpLAorCQkJICAgTl8oImNvbmZsaWN0IHN0eWxlIChtZXJnZSBvciBkaWZmMykiKSksCisJCU9QVF9FTkQoKQogCX07CisJc3RydWN0IG9wdGlvbiAqbmV3b3B0cyA9IHBhcnNlX29wdGlvbnNfY29uY2F0KHByZXZvcHRzLCBvcHRpb25zKTsKKwlmcmVlKHByZXZvcHRzKTsKKwlyZXR1cm4gbmV3b3B0czsKK30KIAotCW1lbXNldCgmb3B0cywgMCwgc2l6ZW9mKG9wdHMpKTsKK3N0YXRpYyBzdHJ1Y3Qgb3B0aW9uICphZGRfY29tbW9uX3N3aXRjaF9icmFuY2hfb3B0aW9ucygKKwlzdHJ1Y3QgY2hlY2tvdXRfb3B0cyAqb3B0cywgc3RydWN0IG9wdGlvbiAqcHJldm9wdHMpCit7CisJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CisJCU9QVF9CT09MKCdkJywgImRldGFjaCIsICZvcHRzLT5mb3JjZV9kZXRhY2gsIE5fKCJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiKSksCisJCU9QVF9TRVRfSU5UKCd0JywgInRyYWNrIiwgICZvcHRzLT50cmFjaywgTl8oInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIiksCisJCQlCUkFOQ0hfVFJBQ0tfRVhQTElDSVQpLAorCQlPUFRfX0ZPUkNFKCZvcHRzLT5mb3JjZSwgTl8oImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIiksCisJCQkgICBQQVJTRV9PUFRfTk9DT01QTEVURSksCisJCU9QVF9TVFJJTkcoMCwgIm9ycGhhbiIsICZvcHRzLT5uZXdfb3JwaGFuX2JyYW5jaCwgTl8oIm5ldy1icmFuY2giKSwgTl8oIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIpKSwKKwkJT1BUX0JPT0xfRigwLCAib3ZlcndyaXRlLWlnbm9yZSIsICZvcHRzLT5vdmVyd3JpdGVfaWdub3JlLAorCQkJICAgTl8oInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIpLAorCQkJICAgUEFSU0VfT1BUX05PQ09NUExFVEUpLAorCQlPUFRfQk9PTCgwLCAiaWdub3JlLW90aGVyLXdvcmt0cmVlcyIsICZvcHRzLT5pZ25vcmVfb3RoZXJfd29ya3RyZWVzLAorCQkJIE5fKCJkbyBub3QgY2hlY2sgaWYgYW5vdGhlciB3b3JrdHJlZSBpcyBob2xkaW5nIHRoZSBnaXZlbiByZWYiKSksCisJCU9QVF9FTkQoKQorCX07CisJc3RydWN0IG9wdGlvbiAqbmV3b3B0cyA9IHBhcnNlX29wdGlvbnNfY29uY2F0KHByZXZvcHRzLCBvcHRpb25zKTsKKwlmcmVlKHByZXZvcHRzKTsKKwlyZXR1cm4gbmV3b3B0czsKK30KKworc3RhdGljIHN0cnVjdCBvcHRpb24gKmFkZF9jaGVja291dF9wYXRoX29wdGlvbnMoc3RydWN0IGNoZWNrb3V0X29wdHMgKm9wdHMsCisJCQkJCQlzdHJ1Y3Qgb3B0aW9uICpwcmV2b3B0cykKK3sKKwlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKKwkJT1BUX1NFVF9JTlRfRignMicsICJvdXJzIiwgJm9wdHMtPndyaXRlb3V0X3N0YWdlLAorCQkJICAgICAgTl8oImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIpLAorCQkJICAgICAgMiwgUEFSU0VfT1BUX05PTkVHKSwKKwkJT1BUX1NFVF9JTlRfRignMycsICJ0aGVpcnMiLCAmb3B0cy0+d3JpdGVvdXRfc3RhZ2UsCisJCQkgICAgICBOXygiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiKSwKKwkJCSAgICAgIDMsIFBBUlNFX09QVF9OT05FRyksCisJCU9QVF9CT09MKCdwJywgInBhdGNoIiwgJm9wdHMtPnBhdGNoX21vZGUsIE5fKCJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIpKSwKKwkJT1BUX0JPT0woMCwgImlnbm9yZS1za2lwLXdvcmt0cmVlLWJpdHMiLCAmb3B0cy0+aWdub3JlX3NraXB3b3JrdHJlZSwKKwkJCSBOXygiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IikpLAorCQlPUFRfUEFUSFNQRUNfRlJPTV9GSUxFKCZvcHRzLT5wYXRoc3BlY19mcm9tX2ZpbGUpLAorCQlPUFRfUEFUSFNQRUNfRklMRV9OVUwoJm9wdHMtPnBhdGhzcGVjX2ZpbGVfbnVsKSwKKwkJT1BUX0VORCgpCisJfTsKKwlzdHJ1Y3Qgb3B0aW9uICpuZXdvcHRzID0gcGFyc2Vfb3B0aW9uc19jb25jYXQocHJldm9wdHMsIG9wdGlvbnMpOworCWZyZWUocHJldm9wdHMpOworCXJldHVybiBuZXdvcHRzOworfQorCitzdGF0aWMgaW50IGNoZWNrb3V0X21haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgsCisJCQkgc3RydWN0IGNoZWNrb3V0X29wdHMgKm9wdHMsIHN0cnVjdCBvcHRpb24gKm9wdGlvbnMsCisJCQkgY29uc3QgY2hhciAqIGNvbnN0IHVzYWdlc3RyW10pCit7CisJc3RydWN0IGJyYW5jaF9pbmZvIG5ld19icmFuY2hfaW5mbzsKKwlpbnQgcGFyc2VvcHRfZmxhZ3MgPSAwOworCiAJbWVtc2V0KCZuZXdfYnJhbmNoX2luZm8sIDAsIHNpemVvZihuZXdfYnJhbmNoX2luZm8pKTsKLQlvcHRzLm92ZXJ3cml0ZV9pZ25vcmUgPSAxOwotCW9wdHMucHJlZml4ID0gcHJlZml4OwotCW9wdHMuc2hvd19wcm9ncmVzcyA9IC0xOworCW9wdHMtPm92ZXJ3cml0ZV9pZ25vcmUgPSAxOworCW9wdHMtPnByZWZpeCA9IHByZWZpeDsKKwlvcHRzLT5zaG93X3Byb2dyZXNzID0gLTE7CiAKLQlnaXRfY29uZmlnKGdpdF9jaGVja291dF9jb25maWcsICZvcHRzKTsKKwlnaXRfY29uZmlnKGdpdF9jaGVja291dF9jb25maWcsIG9wdHMpOwogCi0Jb3B0cy50cmFjayA9IEJSQU5DSF9UUkFDS19VTlNQRUNJRklFRDsKKwlvcHRzLT50cmFjayA9IEJSQU5DSF9UUkFDS19VTlNQRUNJRklFRDsKIAotCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0aW9ucywgY2hlY2tvdXRfdXNhZ2UsCi0JCQkgICAgIFBBUlNFX09QVF9LRUVQX0RBU0hEQVNIKTsKKwlpZiAoIW9wdHMtPmFjY2VwdF9wYXRoc3BlYyAmJiAhb3B0cy0+YWNjZXB0X3JlZikKKwkJQlVHKCJtYWtlIHVwIHlvdXIgbWluZCwgeW91IG5lZWQgdG8gdGFrZSBfc29tZXRoaW5nXyIpOworCWlmIChvcHRzLT5hY2NlcHRfcGF0aHNwZWMgJiYgb3B0cy0+YWNjZXB0X3JlZikKKwkJcGFyc2VvcHRfZmxhZ3MgPSBQQVJTRV9PUFRfS0VFUF9EQVNIREFTSDsKIAotCWlmIChvcHRzLnNob3dfcHJvZ3Jlc3MgPCAwKSB7Ci0JCWlmIChvcHRzLnF1aWV0KQotCQkJb3B0cy5zaG93X3Byb2dyZXNzID0gMDsKKwlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIG9wdGlvbnMsCisJCQkgICAgIHVzYWdlc3RyLCBwYXJzZW9wdF9mbGFncyk7CisKKwlpZiAob3B0cy0+c2hvd19wcm9ncmVzcyA8IDApIHsKKwkJaWYgKG9wdHMtPnF1aWV0KQorCQkJb3B0cy0+c2hvd19wcm9ncmVzcyA9IDA7CiAJCWVsc2UKLQkJCW9wdHMuc2hvd19wcm9ncmVzcyA9IGlzYXR0eSgyKTsKKwkJCW9wdHMtPnNob3dfcHJvZ3Jlc3MgPSBpc2F0dHkoMik7CiAJfQogCi0JaWYgKGNvbmZsaWN0X3N0eWxlKSB7Ci0JCW9wdHMubWVyZ2UgPSAxOyAvKiBpbXBsaWVkICovCi0JCWdpdF94bWVyZ2VfY29uZmlnKCJtZXJnZS5jb25mbGljdHN0eWxlIiwgY29uZmxpY3Rfc3R5bGUsIE5VTEwpOworCWlmIChvcHRzLT5jb25mbGljdF9zdHlsZSkgeworCQlvcHRzLT5tZXJnZSA9IDE7IC8qIGltcGxpZWQgKi8KKwkJZ2l0X3htZXJnZV9jb25maWcoIm1lcmdlLmNvbmZsaWN0c3R5bGUiLCBvcHRzLT5jb25mbGljdF9zdHlsZSwgTlVMTCk7CisJfQorCWlmIChvcHRzLT5mb3JjZSkgeworCQlvcHRzLT5kaXNjYXJkX2NoYW5nZXMgPSAxOworCQlvcHRzLT5pZ25vcmVfdW5tZXJnZWRfb3B0ID0gIi0tZm9yY2UiOworCQlvcHRzLT5pZ25vcmVfdW5tZXJnZWQgPSAxOwogCX0KIAotCWlmICgoISFvcHRzLm5ld19icmFuY2ggKyAhIW9wdHMubmV3X2JyYW5jaF9mb3JjZSArICEhb3B0cy5uZXdfb3JwaGFuX2JyYW5jaCkgPiAxKQorCWlmICgoISFvcHRzLT5uZXdfYnJhbmNoICsgISFvcHRzLT5uZXdfYnJhbmNoX2ZvcmNlICsgISFvcHRzLT5uZXdfb3JwaGFuX2JyYW5jaCkgPiAxKQogCQlkaWUoXygiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIikpOwogCisJaWYgKG9wdHMtPm92ZXJsYXlfbW9kZSA9PSAxICYmIG9wdHMtPnBhdGNoX21vZGUpCisJCWRpZShfKCItcCBhbmQgLS1vdmVybGF5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiKSk7CisKKwlpZiAob3B0cy0+Y2hlY2tvdXRfaW5kZXggPj0gMCB8fCBvcHRzLT5jaGVja291dF93b3JrdHJlZSA+PSAwKSB7CisJCWlmIChvcHRzLT5jaGVja291dF9pbmRleCA8IDApCisJCQlvcHRzLT5jaGVja291dF9pbmRleCA9IDA7CisJCWlmIChvcHRzLT5jaGVja291dF93b3JrdHJlZSA8IDApCisJCQlvcHRzLT5jaGVja291dF93b3JrdHJlZSA9IDA7CisJfSBlbHNlIHsKKwkJaWYgKG9wdHMtPmNoZWNrb3V0X2luZGV4IDwgMCkKKwkJCW9wdHMtPmNoZWNrb3V0X2luZGV4ID0gLW9wdHMtPmNoZWNrb3V0X2luZGV4IC0gMTsKKwkJaWYgKG9wdHMtPmNoZWNrb3V0X3dvcmt0cmVlIDwgMCkKKwkJCW9wdHMtPmNoZWNrb3V0X3dvcmt0cmVlID0gLW9wdHMtPmNoZWNrb3V0X3dvcmt0cmVlIC0gMTsKKwl9CisJaWYgKG9wdHMtPmNoZWNrb3V0X2luZGV4IDwgMCB8fCBvcHRzLT5jaGVja291dF93b3JrdHJlZSA8IDApCisJCUJVRygidGhlc2UgZmxhZ3Mgc2hvdWxkIGJlIG5vbi1uZWdhdGl2ZSBieSBub3ciKTsKKwkvKgorCSAqIGNvbnZlbmllbnQgc2hvcnRjdXQ6ICJnaXQgcmVzdG9yZSAtLXN0YWdlZCIgZXF1YWxzCisJICogImdpdCByZXN0b3JlIC0tc3RhZ2VkIC0tc291cmNlIEhFQUQiCisJICovCisJaWYgKCFvcHRzLT5mcm9tX3RyZWVpc2ggJiYgb3B0cy0+Y2hlY2tvdXRfaW5kZXggJiYgIW9wdHMtPmNoZWNrb3V0X3dvcmt0cmVlKQorCQlvcHRzLT5mcm9tX3RyZWVpc2ggPSAiSEVBRCI7CisKIAkvKgogCSAqIEZyb20gaGVyZSBvbiwgbmV3X2JyYW5jaCB3aWxsIGNvbnRhaW4gdGhlIGJyYW5jaCB0byBiZSBjaGVja2VkIG91dCwKIAkgKiBhbmQgbmV3X2JyYW5jaF9mb3JjZSBhbmQgbmV3X29ycGhhbl9icmFuY2ggd2lsbCB0ZWxsIHVzIHdoaWNoIG9uZSBvZgogCSAqIC1iLy1CLy0tb3JwaGFuIGlzIGJlaW5nIHVzZWQuCiAJICovCi0JaWYgKG9wdHMubmV3X2JyYW5jaF9mb3JjZSkKLQkJb3B0cy5uZXdfYnJhbmNoID0gb3B0cy5uZXdfYnJhbmNoX2ZvcmNlOworCWlmIChvcHRzLT5uZXdfYnJhbmNoX2ZvcmNlKQorCQlvcHRzLT5uZXdfYnJhbmNoID0gb3B0cy0+bmV3X2JyYW5jaF9mb3JjZTsKIAotCWlmIChvcHRzLm5ld19vcnBoYW5fYnJhbmNoKQotCQlvcHRzLm5ld19icmFuY2ggPSBvcHRzLm5ld19vcnBoYW5fYnJhbmNoOworCWlmIChvcHRzLT5uZXdfb3JwaGFuX2JyYW5jaCkKKwkJb3B0cy0+bmV3X2JyYW5jaCA9IG9wdHMtPm5ld19vcnBoYW5fYnJhbmNoOwogCiAJLyogLS10cmFjayB3aXRob3V0IC1iLy1CLy0tb3JwaGFuIHNob3VsZCBEV0lNICovCi0JaWYgKG9wdHMudHJhY2sgIT0gQlJBTkNIX1RSQUNLX1VOU1BFQ0lGSUVEICYmICFvcHRzLm5ld19icmFuY2gpIHsKKwlpZiAob3B0cy0+dHJhY2sgIT0gQlJBTkNIX1RSQUNLX1VOU1BFQ0lGSUVEICYmICFvcHRzLT5uZXdfYnJhbmNoKSB7CiAJCWNvbnN0IGNoYXIgKmFyZ3YwID0gYXJndlswXTsKIAkJaWYgKCFhcmdjIHx8ICFzdHJjbXAoYXJndjAsICItLSIpKQogCQkJZGllKF8oIi0tdHJhY2sgbmVlZHMgYSBicmFuY2ggbmFtZSIpKTsKQEAgLTEzMTgsNyArMTYwOCw3IEBACiAJCWFyZ3YwID0gc3RyY2hyKGFyZ3YwLCAnLycpOwogCQlpZiAoIWFyZ3YwIHx8ICFhcmd2MFsxXSkKIAkJCWRpZShfKCJtaXNzaW5nIGJyYW5jaCBuYW1lOyB0cnkgLWIiKSk7Ci0JCW9wdHMubmV3X2JyYW5jaCA9IGFyZ3YwICsgMTsKKwkJb3B0cy0+bmV3X2JyYW5jaCA9IGFyZ3YwICsgMTsKIAl9CiAKIAkvKgpAQCAtMTMzNCw3NyArMTYyNCwyMTkgQEAKIAkgKiBpbmNsdWRpbmcgImxhc3QgYnJhbmNoIiBzeW50YXggYW5kIERXSU0tZXJ5IGZvciBuYW1lcyBvZgogCSAqIHJlbW90ZSBicmFuY2hlcywgZXJyb3Jpbmcgb3V0IGZvciBpbnZhbGlkIG9yIGFtYmlndW91cyBjYXNlcy4KIAkgKi8KLQlpZiAoYXJnYykgeworCWlmIChhcmdjICYmIG9wdHMtPmFjY2VwdF9yZWYpIHsKIAkJc3RydWN0IG9iamVjdF9pZCByZXY7CiAJCWludCBkd2ltX29rID0KLQkJCSFvcHRzLnBhdGNoX21vZGUgJiYKLQkJCWR3aW1fbmV3X2xvY2FsX2JyYW5jaCAmJgotCQkJb3B0cy50cmFjayA9PSBCUkFOQ0hfVFJBQ0tfVU5TUEVDSUZJRUQgJiYKLQkJCSFvcHRzLm5ld19icmFuY2g7CisJCQkhb3B0cy0+cGF0Y2hfbW9kZSAmJgorCQkJb3B0cy0+ZHdpbV9uZXdfbG9jYWxfYnJhbmNoICYmCisJCQlvcHRzLT50cmFjayA9PSBCUkFOQ0hfVFJBQ0tfVU5TUEVDSUZJRUQgJiYKKwkJCSFvcHRzLT5uZXdfYnJhbmNoOwogCQlpbnQgbiA9IHBhcnNlX2JyYW5jaG5hbWVfYXJnKGFyZ2MsIGFyZ3YsIGR3aW1fb2ssCi0JCQkJCSAgICAgJm5ld19icmFuY2hfaW5mbywgJm9wdHMsICZyZXYsCi0JCQkJCSAgICAgJmR3aW1fcmVtb3Rlc19tYXRjaGVkKTsKKwkJCQkJICAgICAmbmV3X2JyYW5jaF9pbmZvLCBvcHRzLCAmcmV2KTsKIAkJYXJndiArPSBuOwogCQlhcmdjIC09IG47CisJfSBlbHNlIGlmICghb3B0cy0+YWNjZXB0X3JlZiAmJiBvcHRzLT5mcm9tX3RyZWVpc2gpIHsKKwkJc3RydWN0IG9iamVjdF9pZCByZXY7CisKKwkJaWYgKGdldF9vaWRfbWIob3B0cy0+ZnJvbV90cmVlaXNoLCAmcmV2KSkKKwkJCWRpZShfKCJjb3VsZCBub3QgcmVzb2x2ZSAlcyIpLCBvcHRzLT5mcm9tX3RyZWVpc2gpOworCisJCXNldHVwX25ld19icmFuY2hfaW5mb19hbmRfc291cmNlX3RyZWUoJm5ld19icmFuY2hfaW5mbywKKwkJCQkJCSAgICAgIG9wdHMsICZyZXYsCisJCQkJCQkgICAgICBvcHRzLT5mcm9tX3RyZWVpc2gpOworCisJCWlmICghb3B0cy0+c291cmNlX3RyZWUpCisJCQlkaWUoXygicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIiksIG9wdHMtPmZyb21fdHJlZWlzaCk7CiAJfQogCiAJaWYgKGFyZ2MpIHsKLQkJcGFyc2VfcGF0aHNwZWMoJm9wdHMucGF0aHNwZWMsIDAsCi0JCQkgICAgICAgb3B0cy5wYXRjaF9tb2RlID8gUEFUSFNQRUNfUFJFRklYX09SSUdJTiA6IDAsCisJCXBhcnNlX3BhdGhzcGVjKCZvcHRzLT5wYXRoc3BlYywgMCwKKwkJCSAgICAgICBvcHRzLT5wYXRjaF9tb2RlID8gUEFUSFNQRUNfUFJFRklYX09SSUdJTiA6IDAsCiAJCQkgICAgICAgcHJlZml4LCBhcmd2KTsKIAotCQlpZiAoIW9wdHMucGF0aHNwZWMubnIpCisJCWlmICghb3B0cy0+cGF0aHNwZWMubnIpCiAJCQlkaWUoXygiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iKSk7CiAKIAkJLyoKIAkJICogVHJ5IHRvIGdpdmUgbW9yZSBoZWxwZnVsIHN1Z2dlc3Rpb24uCiAJCSAqIG5ld19icmFuY2ggJiYgYXJnYyA+IDEgd2lsbCBiZSBjYXVnaHQgbGF0ZXIuCiAJCSAqLwotCQlpZiAob3B0cy5uZXdfYnJhbmNoICYmIGFyZ2MgPT0gMSkKKwkJaWYgKG9wdHMtPm5ld19icmFuY2ggJiYgYXJnYyA9PSAxKQogCQkJZGllKF8oIiclcycgaXMgbm90IGEgY29tbWl0IGFuZCBhIGJyYW5jaCAnJXMnIGNhbm5vdCBiZSBjcmVhdGVkIGZyb20gaXQiKSwKLQkJCQlhcmd2WzBdLCBvcHRzLm5ld19icmFuY2gpOworCQkJCWFyZ3ZbMF0sIG9wdHMtPm5ld19icmFuY2gpOwogCi0JCWlmIChvcHRzLmZvcmNlX2RldGFjaCkKKwkJaWYgKG9wdHMtPmZvcmNlX2RldGFjaCkKIAkJCWRpZShfKCJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50ICclcyciKSwKIAkJCSAgICBhcmd2WzBdKTsKLQotCQlpZiAoMSA8ICEhb3B0cy53cml0ZW91dF9zdGFnZSArICEhb3B0cy5mb3JjZSArICEhb3B0cy5tZXJnZSkKLQkJCWRpZShfKCJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKLQkJCSAgICAgICJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIpKTsKIAl9CiAKLQlpZiAob3B0cy5uZXdfYnJhbmNoKSB7CisJaWYgKG9wdHMtPnBhdGhzcGVjX2Zyb21fZmlsZSkgeworCQlpZiAob3B0cy0+cGF0aHNwZWMubnIpCisJCQlkaWUoXygiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggcGF0aHNwZWMgYXJndW1lbnRzIikpOworCisJCWlmIChvcHRzLT5mb3JjZV9kZXRhY2gpCisJCQlkaWUoXygiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1kZXRhY2giKSk7CisKKwkJaWYgKG9wdHMtPnBhdGNoX21vZGUpCisJCQlkaWUoXygiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1wYXRjaCIpKTsKKworCQlwYXJzZV9wYXRoc3BlY19maWxlKCZvcHRzLT5wYXRoc3BlYywgMCwKKwkJCQkgICAgMCwKKwkJCQkgICAgcHJlZml4LCBvcHRzLT5wYXRoc3BlY19mcm9tX2ZpbGUsIG9wdHMtPnBhdGhzcGVjX2ZpbGVfbnVsKTsKKwl9IGVsc2UgaWYgKG9wdHMtPnBhdGhzcGVjX2ZpbGVfbnVsKSB7CisJCWRpZShfKCItLXBhdGhzcGVjLWZpbGUtbnVsIHJlcXVpcmVzIC0tcGF0aHNwZWMtZnJvbS1maWxlIikpOworCX0KKworCWlmIChvcHRzLT5wYXRoc3BlYy5ucikgeworCQlpZiAoMSA8ICEhb3B0cy0+d3JpdGVvdXRfc3RhZ2UgKyAhIW9wdHMtPmZvcmNlICsgISFvcHRzLT5tZXJnZSkKKwkJCWRpZShfKCJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKKwkJCSAgICAgICJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIpKTsKKwl9IGVsc2UgeworCQlpZiAob3B0cy0+YWNjZXB0X3BhdGhzcGVjICYmICFvcHRzLT5lbXB0eV9wYXRoc3BlY19vayAmJgorCQkgICAgIW9wdHMtPnBhdGNoX21vZGUpCS8qIHBhdGNoIG1vZGUgaXMgc3BlY2lhbCAqLworCQkJZGllKF8oInlvdSBtdXN0IHNwZWNpZnkgcGF0aChzKSB0byByZXN0b3JlIikpOworCX0KKworCWlmIChvcHRzLT5uZXdfYnJhbmNoKSB7CiAJCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAKLQkJaWYgKG9wdHMubmV3X2JyYW5jaF9mb3JjZSkKLQkJCW9wdHMuYnJhbmNoX2V4aXN0cyA9IHZhbGlkYXRlX2JyYW5jaG5hbWUob3B0cy5uZXdfYnJhbmNoLCAmYnVmKTsKKwkJaWYgKG9wdHMtPm5ld19icmFuY2hfZm9yY2UpCisJCQlvcHRzLT5icmFuY2hfZXhpc3RzID0gdmFsaWRhdGVfYnJhbmNobmFtZShvcHRzLT5uZXdfYnJhbmNoLCAmYnVmKTsKIAkJZWxzZQotCQkJb3B0cy5icmFuY2hfZXhpc3RzID0KLQkJCQl2YWxpZGF0ZV9uZXdfYnJhbmNobmFtZShvcHRzLm5ld19icmFuY2gsICZidWYsIDApOworCQkJb3B0cy0+YnJhbmNoX2V4aXN0cyA9CisJCQkJdmFsaWRhdGVfbmV3X2JyYW5jaG5hbWUob3B0cy0+bmV3X2JyYW5jaCwgJmJ1ZiwgMCk7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCX0KIAogCVVOTEVBSyhvcHRzKTsKLQlpZiAob3B0cy5wYXRjaF9tb2RlIHx8IG9wdHMucGF0aHNwZWMubnIpIHsKLQkJaW50IHJldCA9IGNoZWNrb3V0X3BhdGhzKCZvcHRzLCBuZXdfYnJhbmNoX2luZm8ubmFtZSk7Ci0JCWlmIChyZXQgJiYgZHdpbV9yZW1vdGVzX21hdGNoZWQgPiAxICYmCi0JCSAgICBhZHZpY2VfY2hlY2tvdXRfYW1iaWd1b3VzX3JlbW90ZV9icmFuY2hfbmFtZSkKLQkJCWFkdmlzZShfKCInJXMnIG1hdGNoZWQgbW9yZSB0aGFuIG9uZSByZW1vdGUgdHJhY2tpbmcgYnJhbmNoLlxuIgotCQkJCSAiV2UgZm91bmQgJWQgcmVtb3RlcyB3aXRoIGEgcmVmZXJlbmNlIHRoYXQgbWF0Y2hlZC4gU28gd2UgZmVsbCBiYWNrXG4iCi0JCQkJICJvbiB0cnlpbmcgdG8gcmVzb2x2ZSB0aGUgYXJndW1lbnQgYXMgYSBwYXRoLCBidXQgZmFpbGVkIHRoZXJlIHRvbyFcbiIKLQkJCQkgIlxuIgotCQkJCSAiSWYgeW91IG1lYW50IHRvIGNoZWNrIG91dCBhIHJlbW90ZSB0cmFja2luZyBicmFuY2ggb24sIGUuZy4gJ29yaWdpbicsXG4iCi0JCQkJICJ5b3UgY2FuIGRvIHNvIGJ5IGZ1bGx5IHF1YWxpZnlpbmcgdGhlIG5hbWUgd2l0aCB0aGUgLS10cmFjayBvcHRpb246XG4iCi0JCQkJICJcbiIKLQkJCQkgIiAgICBnaXQgY2hlY2tvdXQgLS10cmFjayBvcmlnaW4vPG5hbWU+XG4iCi0JCQkJICJcbiIKLQkJCQkgIklmIHlvdSdkIGxpa2UgdG8gYWx3YXlzIGhhdmUgY2hlY2tvdXRzIG9mIGFuIGFtYmlndW91cyA8bmFtZT4gcHJlZmVyXG4iCi0JCQkJICJvbmUgcmVtb3RlLCBlLmcuIHRoZSAnb3JpZ2luJyByZW1vdGUsIGNvbnNpZGVyIHNldHRpbmdcbiIKLQkJCQkgImNoZWNrb3V0LmRlZmF1bHRSZW1vdGU9b3JpZ2luIGluIHlvdXIgY29uZmlnLiIpLAotCQkJICAgICAgIGFyZ3ZbMF0sCi0JCQkgICAgICAgZHdpbV9yZW1vdGVzX21hdGNoZWQpOwotCQlyZXR1cm4gcmV0OwotCX0gZWxzZSB7Ci0JCXJldHVybiBjaGVja291dF9icmFuY2goJm9wdHMsICZuZXdfYnJhbmNoX2luZm8pOworCWlmIChvcHRzLT5wYXRjaF9tb2RlIHx8IG9wdHMtPnBhdGhzcGVjLm5yKQorCQlyZXR1cm4gY2hlY2tvdXRfcGF0aHMob3B0cywgbmV3X2JyYW5jaF9pbmZvLm5hbWUpOworCWVsc2UKKwkJcmV0dXJuIGNoZWNrb3V0X2JyYW5jaChvcHRzLCAmbmV3X2JyYW5jaF9pbmZvKTsKK30KKworaW50IGNtZF9jaGVja291dChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwlzdHJ1Y3QgY2hlY2tvdXRfb3B0cyBvcHRzOworCXN0cnVjdCBvcHRpb24gKm9wdGlvbnM7CisJc3RydWN0IG9wdGlvbiBjaGVja291dF9vcHRpb25zW10gPSB7CisJCU9QVF9TVFJJTkcoJ2InLCBOVUxMLCAmb3B0cy5uZXdfYnJhbmNoLCBOXygiYnJhbmNoIiksCisJCQkgICBOXygiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giKSksCisJCU9QVF9TVFJJTkcoJ0InLCBOVUxMLCAmb3B0cy5uZXdfYnJhbmNoX2ZvcmNlLCBOXygiYnJhbmNoIiksCisJCQkgICBOXygiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIpKSwKKwkJT1BUX0JPT0woJ2wnLCBOVUxMLCAmb3B0cy5uZXdfYnJhbmNoX2xvZywgTl8oImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giKSksCisJCU9QVF9CT09MKDAsICJndWVzcyIsICZvcHRzLmR3aW1fbmV3X2xvY2FsX2JyYW5jaCwKKwkJCSBOXygic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgPG5vLXN1Y2gtYnJhbmNoPicgKGRlZmF1bHQpIikpLAorCQlPUFRfQk9PTCgwLCAib3ZlcmxheSIsICZvcHRzLm92ZXJsYXlfbW9kZSwgTl8oInVzZSBvdmVybGF5IG1vZGUgKGRlZmF1bHQpIikpLAorCQlPUFRfRU5EKCkKKwl9OworCWludCByZXQ7CisKKwltZW1zZXQoJm9wdHMsIDAsIHNpemVvZihvcHRzKSk7CisJb3B0cy5kd2ltX25ld19sb2NhbF9icmFuY2ggPSAxOworCW9wdHMuc3dpdGNoX2JyYW5jaF9kb2luZ19ub3RoaW5nX2lzX29rID0gMTsKKwlvcHRzLm9ubHlfbWVyZ2Vfb25fc3dpdGNoaW5nX2JyYW5jaGVzID0gMDsKKwlvcHRzLmFjY2VwdF9yZWYgPSAxOworCW9wdHMuYWNjZXB0X3BhdGhzcGVjID0gMTsKKwlvcHRzLmltcGxpY2l0X2RldGFjaCA9IDE7CisJb3B0cy5jYW5fc3dpdGNoX3doZW5faW5fcHJvZ3Jlc3MgPSAxOworCW9wdHMub3JwaGFuX2Zyb21fZW1wdHlfdHJlZSA9IDA7CisJb3B0cy5lbXB0eV9wYXRoc3BlY19vayA9IDE7CisJb3B0cy5vdmVybGF5X21vZGUgPSAtMTsKKwlvcHRzLmNoZWNrb3V0X2luZGV4ID0gLTI7ICAgIC8qIGRlZmF1bHQgb24gKi8KKwlvcHRzLmNoZWNrb3V0X3dvcmt0cmVlID0gLTI7IC8qIGRlZmF1bHQgb24gKi8KKworCWlmIChhcmdjID09IDMgJiYgIXN0cmNtcChhcmd2WzFdLCAiLWIiKSkgeworCQkvKgorCQkgKiBVc2VyIHJhbiAnZ2l0IGNoZWNrb3V0IC1iIDxicmFuY2g+JyBhbmQgZXhwZWN0cworCQkgKiB0aGUgc2FtZSBiZWhhdmlvciBhcyAnZ2l0IHN3aXRjaCAtYyA8YnJhbmNoPicuCisJCSAqLworCQlvcHRzLnN3aXRjaF9icmFuY2hfZG9pbmdfbm90aGluZ19pc19vayA9IDA7CisJCW9wdHMub25seV9tZXJnZV9vbl9zd2l0Y2hpbmdfYnJhbmNoZXMgPSAxOwogCX0KKworCW9wdGlvbnMgPSBwYXJzZV9vcHRpb25zX2R1cChjaGVja291dF9vcHRpb25zKTsKKwlvcHRpb25zID0gYWRkX2NvbW1vbl9vcHRpb25zKCZvcHRzLCBvcHRpb25zKTsKKwlvcHRpb25zID0gYWRkX2NvbW1vbl9zd2l0Y2hfYnJhbmNoX29wdGlvbnMoJm9wdHMsIG9wdGlvbnMpOworCW9wdGlvbnMgPSBhZGRfY2hlY2tvdXRfcGF0aF9vcHRpb25zKCZvcHRzLCBvcHRpb25zKTsKKworCXJldCA9IGNoZWNrb3V0X21haW4oYXJnYywgYXJndiwgcHJlZml4LCAmb3B0cywKKwkJCSAgICBvcHRpb25zLCBjaGVja291dF91c2FnZSk7CisJRlJFRV9BTkRfTlVMTChvcHRpb25zKTsKKwlyZXR1cm4gcmV0OworfQorCitpbnQgY21kX3N3aXRjaChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwlzdHJ1Y3QgY2hlY2tvdXRfb3B0cyBvcHRzOworCXN0cnVjdCBvcHRpb24gKm9wdGlvbnMgPSBOVUxMOworCXN0cnVjdCBvcHRpb24gc3dpdGNoX29wdGlvbnNbXSA9IHsKKwkJT1BUX1NUUklORygnYycsICJjcmVhdGUiLCAmb3B0cy5uZXdfYnJhbmNoLCBOXygiYnJhbmNoIiksCisJCQkgICBOXygiY3JlYXRlIGFuZCBzd2l0Y2ggdG8gYSBuZXcgYnJhbmNoIikpLAorCQlPUFRfU1RSSU5HKCdDJywgImZvcmNlLWNyZWF0ZSIsICZvcHRzLm5ld19icmFuY2hfZm9yY2UsIE5fKCJicmFuY2giKSwKKwkJCSAgIE5fKCJjcmVhdGUvcmVzZXQgYW5kIHN3aXRjaCB0byBhIGJyYW5jaCIpKSwKKwkJT1BUX0JPT0woMCwgImd1ZXNzIiwgJm9wdHMuZHdpbV9uZXdfbG9jYWxfYnJhbmNoLAorCQkJIE5fKCJzZWNvbmQgZ3Vlc3MgJ2dpdCBzd2l0Y2ggPG5vLXN1Y2gtYnJhbmNoPiciKSksCisJCU9QVF9CT09MKDAsICJkaXNjYXJkLWNoYW5nZXMiLCAmb3B0cy5kaXNjYXJkX2NoYW5nZXMsCisJCQkgTl8oInRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucyIpKSwKKwkJT1BUX0VORCgpCisJfTsKKwlpbnQgcmV0OworCisJbWVtc2V0KCZvcHRzLCAwLCBzaXplb2Yob3B0cykpOworCW9wdHMuZHdpbV9uZXdfbG9jYWxfYnJhbmNoID0gMTsKKwlvcHRzLmFjY2VwdF9yZWYgPSAxOworCW9wdHMuYWNjZXB0X3BhdGhzcGVjID0gMDsKKwlvcHRzLnN3aXRjaF9icmFuY2hfZG9pbmdfbm90aGluZ19pc19vayA9IDA7CisJb3B0cy5vbmx5X21lcmdlX29uX3N3aXRjaGluZ19icmFuY2hlcyA9IDE7CisJb3B0cy5pbXBsaWNpdF9kZXRhY2ggPSAwOworCW9wdHMuY2FuX3N3aXRjaF93aGVuX2luX3Byb2dyZXNzID0gMDsKKwlvcHRzLm9ycGhhbl9mcm9tX2VtcHR5X3RyZWUgPSAxOworCW9wdHMub3ZlcmxheV9tb2RlID0gLTE7CisKKwlvcHRpb25zID0gcGFyc2Vfb3B0aW9uc19kdXAoc3dpdGNoX29wdGlvbnMpOworCW9wdGlvbnMgPSBhZGRfY29tbW9uX29wdGlvbnMoJm9wdHMsIG9wdGlvbnMpOworCW9wdGlvbnMgPSBhZGRfY29tbW9uX3N3aXRjaF9icmFuY2hfb3B0aW9ucygmb3B0cywgb3B0aW9ucyk7CisKKwlyZXQgPSBjaGVja291dF9tYWluKGFyZ2MsIGFyZ3YsIHByZWZpeCwgJm9wdHMsCisJCQkgICAgb3B0aW9ucywgc3dpdGNoX2JyYW5jaF91c2FnZSk7CisJRlJFRV9BTkRfTlVMTChvcHRpb25zKTsKKwlyZXR1cm4gcmV0OworfQorCitpbnQgY21kX3Jlc3RvcmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJc3RydWN0IGNoZWNrb3V0X29wdHMgb3B0czsKKwlzdHJ1Y3Qgb3B0aW9uICpvcHRpb25zOworCXN0cnVjdCBvcHRpb24gcmVzdG9yZV9vcHRpb25zW10gPSB7CisJCU9QVF9TVFJJTkcoJ3MnLCAic291cmNlIiwgJm9wdHMuZnJvbV90cmVlaXNoLCAiPHRyZWUtaXNoPiIsCisJCQkgICBOXygid2hpY2ggdHJlZS1pc2ggdG8gY2hlY2tvdXQgZnJvbSIpKSwKKwkJT1BUX0JPT0woJ1MnLCAic3RhZ2VkIiwgJm9wdHMuY2hlY2tvdXRfaW5kZXgsCisJCQkgICBOXygicmVzdG9yZSB0aGUgaW5kZXgiKSksCisJCU9QVF9CT09MKCdXJywgIndvcmt0cmVlIiwgJm9wdHMuY2hlY2tvdXRfd29ya3RyZWUsCisJCQkgICBOXygicmVzdG9yZSB0aGUgd29ya2luZyB0cmVlIChkZWZhdWx0KSIpKSwKKwkJT1BUX0JPT0woMCwgImlnbm9yZS11bm1lcmdlZCIsICZvcHRzLmlnbm9yZV91bm1lcmdlZCwKKwkJCSBOXygiaWdub3JlIHVubWVyZ2VkIGVudHJpZXMiKSksCisJCU9QVF9CT09MKDAsICJvdmVybGF5IiwgJm9wdHMub3ZlcmxheV9tb2RlLCBOXygidXNlIG92ZXJsYXkgbW9kZSIpKSwKKwkJT1BUX0VORCgpCisJfTsKKwlpbnQgcmV0OworCisJbWVtc2V0KCZvcHRzLCAwLCBzaXplb2Yob3B0cykpOworCW9wdHMuYWNjZXB0X3JlZiA9IDA7CisJb3B0cy5hY2NlcHRfcGF0aHNwZWMgPSAxOworCW9wdHMuZW1wdHlfcGF0aHNwZWNfb2sgPSAwOworCW9wdHMub3ZlcmxheV9tb2RlID0gMDsKKwlvcHRzLmNoZWNrb3V0X2luZGV4ID0gLTE7ICAgIC8qIGRlZmF1bHQgb2ZmICovCisJb3B0cy5jaGVja291dF93b3JrdHJlZSA9IC0yOyAvKiBkZWZhdWx0IG9uICovCisJb3B0cy5pZ25vcmVfdW5tZXJnZWRfb3B0ID0gIi0taWdub3JlLXVubWVyZ2VkIjsKKworCW9wdGlvbnMgPSBwYXJzZV9vcHRpb25zX2R1cChyZXN0b3JlX29wdGlvbnMpOworCW9wdGlvbnMgPSBhZGRfY29tbW9uX29wdGlvbnMoJm9wdHMsIG9wdGlvbnMpOworCW9wdGlvbnMgPSBhZGRfY2hlY2tvdXRfcGF0aF9vcHRpb25zKCZvcHRzLCBvcHRpb25zKTsKKworCXJldCA9IGNoZWNrb3V0X21haW4oYXJnYywgYXJndiwgcHJlZml4LCAmb3B0cywKKwkJCSAgICBvcHRpb25zLCByZXN0b3JlX3VzYWdlKTsKKwlGUkVFX0FORF9OVUxMKG9wdGlvbnMpOworCXJldHVybiByZXQ7CiB9CmRpZmYgLS1naXQgYS9idWlsdGluL2NsZWFuLmMgYi9idWlsdGluL2NsZWFuLmMKaW5kZXggYmJjZGViMi4uNWFiZjA4NyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jbGVhbi5jCisrKyBiL2J1aWx0aW4vY2xlYW4uYwpAQCAtNiw2ICs2LDcgQEAKICAqIEJhc2VkIG9uIGdpdC1jbGVhbi5zaCBieSBQYXZlbCBSb3NraW4KICAqLwogCisjZGVmaW5lIFVTRV9USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJjb25maWcuaCIKQEAgLTMzLDYgKzM0LDcgQEAKIHN0YXRpYyBjb25zdCBjaGFyICptc2dfc2tpcF9naXRfZGlyID0gTl8oIlNraXBwaW5nIHJlcG9zaXRvcnkgJXNcbiIpOwogc3RhdGljIGNvbnN0IGNoYXIgKm1zZ193b3VsZF9za2lwX2dpdF9kaXIgPSBOXygiV291bGQgc2tpcCByZXBvc2l0b3J5ICVzXG4iKTsKIHN0YXRpYyBjb25zdCBjaGFyICptc2dfd2Fybl9yZW1vdmVfZmFpbGVkID0gTl8oImZhaWxlZCB0byByZW1vdmUgJXMiKTsKK3N0YXRpYyBjb25zdCBjaGFyICptc2dfd2Fybl9sc3RhdF9mYWlsZWQgPSBOXygiY291bGQgbm90IGxzdGF0ICVzXG4iKTsKIAogZW51bSBjb2xvcl9jbGVhbiB7CiAJQ0xFQU5fQ09MT1JfUkVTRVQgPSAwLApAQCAtMTU2LDcgKzE1OCw4IEBACiAKIAkqZGlyX2dvbmUgPSAxOwogCi0JaWYgKChmb3JjZV9mbGFnICYgUkVNT1ZFX0RJUl9LRUVQX05FU1RFRF9HSVQpICYmIGlzX25vbmJhcmVfcmVwb3NpdG9yeV9kaXIocGF0aCkpIHsKKwlpZiAoKGZvcmNlX2ZsYWcgJiBSRU1PVkVfRElSX0tFRVBfTkVTVEVEX0dJVCkgJiYKKwkgICAgaXNfbm9uYmFyZV9yZXBvc2l0b3J5X2RpcihwYXRoKSkgewogCQlpZiAoIXF1aWV0KSB7CiAJCQlxdW90ZV9wYXRoX3JlbGF0aXZlKHBhdGgtPmJ1ZiwgcHJlZml4LCAmcXVvdGVkKTsKIAkJCXByaW50ZihkcnlfcnVuID8gIF8obXNnX3dvdWxkX3NraXBfZ2l0X2RpcikgOiBfKG1zZ19za2lwX2dpdF9kaXIpLApAQCAtMTkzLDcgKzE5Niw3IEBACiAJCXN0cmJ1Zl9zZXRsZW4ocGF0aCwgbGVuKTsKIAkJc3RyYnVmX2FkZHN0cihwYXRoLCBlLT5kX25hbWUpOwogCQlpZiAobHN0YXQocGF0aC0+YnVmLCAmc3QpKQotCQkJOyAvKiBmYWxsIHRocnUgKi8KKwkJCXdhcm5pbmdfZXJybm8oXyhtc2dfd2Fybl9sc3RhdF9mYWlsZWQpLCBwYXRoLT5idWYpOwogCQllbHNlIGlmIChTX0lTRElSKHN0LnN0X21vZGUpKSB7CiAJCQlpZiAocmVtb3ZlX2RpcnMocGF0aCwgcHJlZml4LCBmb3JjZV9mbGFnLCBkcnlfcnVuLCBxdWlldCwgJmdvbmUpKQogCQkJCXJldCA9IDE7CkBAIC02NDYsNyArNjQ5LDcgQEAKIAlzdHJ1Y3Qgc3RyYnVmIGNvbmZpcm0gPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmICoqaWdub3JlX2xpc3Q7CiAJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07Ci0Jc3RydWN0IGV4Y2x1ZGVfbGlzdCAqZWw7CisJc3RydWN0IHBhdHRlcm5fbGlzdCAqcGw7CiAJaW50IGNoYW5nZWQgPSAtMSwgaTsKIAogCWZvciAoOzspIHsKQEAgLTY2OSw3ICs2NzIsNyBAQAogCQkJYnJlYWs7CiAKIAkJbWVtc2V0KCZkaXIsIDAsIHNpemVvZihkaXIpKTsKLQkJZWwgPSBhZGRfZXhjbHVkZV9saXN0KCZkaXIsIEVYQ19DTURMLCAibWFudWFsIGV4Y2x1ZGUiKTsKKwkJcGwgPSBhZGRfcGF0dGVybl9saXN0KCZkaXIsIEVYQ19DTURMLCAibWFudWFsIGV4Y2x1ZGUiKTsKIAkJaWdub3JlX2xpc3QgPSBzdHJidWZfc3BsaXRfbWF4KCZjb25maXJtLCAnICcsIDApOwogCiAJCWZvciAoaSA9IDA7IGlnbm9yZV9saXN0W2ldOyBpKyspIHsKQEAgLTY3Nyw3ICs2ODAsNyBAQAogCQkJaWYgKCFpZ25vcmVfbGlzdFtpXS0+bGVuKQogCQkJCWNvbnRpbnVlOwogCi0JCQlhZGRfZXhjbHVkZShpZ25vcmVfbGlzdFtpXS0+YnVmLCAiIiwgMCwgZWwsIC0oaSsxKSk7CisJCQlhZGRfcGF0dGVybihpZ25vcmVfbGlzdFtpXS0+YnVmLCAiIiwgMCwgcGwsIC0oaSsxKSk7CiAJCX0KIAogCQljaGFuZ2VkID0gMDsKQEAgLTg5OSw3ICs5MDIsNyBAQAogCXN0cnVjdCBwYXRoc3BlYyBwYXRoc3BlYzsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJpbmdfbGlzdCBleGNsdWRlX2xpc3QgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwotCXN0cnVjdCBleGNsdWRlX2xpc3QgKmVsOworCXN0cnVjdCBwYXR0ZXJuX2xpc3QgKnBsOwogCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOwogCWNvbnN0IGNoYXIgKnFuYW1lOwogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewpAQCAtOTQ0LDkgKzk0NywxOSBAQAogCiAJaWYgKGZvcmNlID4gMSkKIAkJcm1fZmxhZ3MgPSAwOworCWVsc2UKKwkJZGlyLmZsYWdzIHw9IERJUl9TS0lQX05FU1RFRF9HSVQ7CiAKIAlkaXIuZmxhZ3MgfD0gRElSX1NIT1dfT1RIRVJfRElSRUNUT1JJRVM7CiAKKwlpZiAoYXJnYykgeworCQkvKgorCQkgKiBSZW1haW5pbmcgYXJncyBpbXBsaWVzIHBhdGhzcGVjcyBzcGVjaWZpZWQsIGFuZCB3ZSBzaG91bGQKKwkJICogcmVjdXJzZSB3aXRoaW4gdGhvc2UuCisJCSAqLworCQlyZW1vdmVfZGlyZWN0b3JpZXMgPSAxOworCX0KKwogCWlmIChyZW1vdmVfZGlyZWN0b3JpZXMpCiAJCWRpci5mbGFncyB8PSBESVJfU0hPV19JR05PUkVEX1RPTyB8IERJUl9LRUVQX1VOVFJBQ0tFRF9DT05URU5UUzsKIApAQCAtOTU2LDkgKzk2OSw5IEBACiAJaWYgKCFpZ25vcmVkKQogCQlzZXR1cF9zdGFuZGFyZF9leGNsdWRlcygmZGlyKTsKIAotCWVsID0gYWRkX2V4Y2x1ZGVfbGlzdCgmZGlyLCBFWENfQ01ETCwgIi0tZXhjbHVkZSBvcHRpb24iKTsKKwlwbCA9IGFkZF9wYXR0ZXJuX2xpc3QoJmRpciwgRVhDX0NNREwsICItLWV4Y2x1ZGUgb3B0aW9uIik7CiAJZm9yIChpID0gMDsgaSA8IGV4Y2x1ZGVfbGlzdC5ucjsgaSsrKQotCQlhZGRfZXhjbHVkZShleGNsdWRlX2xpc3QuaXRlbXNbaV0uc3RyaW5nLCAiIiwgMCwgZWwsIC0oaSsxKSk7CisJCWFkZF9wYXR0ZXJuKGV4Y2x1ZGVfbGlzdC5pdGVtc1tpXS5zdHJpbmcsICIiLCAwLCBwbCwgLShpKzEpKTsKIAogCXBhcnNlX3BhdGhzcGVjKCZwYXRoc3BlYywgMCwKIAkJICAgICAgIFBBVEhTUEVDX1BSRUZFUl9DV0QsCkBAIC0xMDA1LDYgKzEwMTgsNyBAQAogCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgJmRlbF9saXN0KSB7CiAJCXN0cnVjdCBzdGF0IHN0OwogCisJCXN0cmJ1Zl9yZXNldCgmYWJzX3BhdGgpOwogCQlpZiAocHJlZml4KQogCQkJc3RyYnVmX2FkZHN0cigmYWJzX3BhdGgsIHByZWZpeCk7CiAKQEAgLTEwMzgsNyArMTA1Miw2IEBACiAJCQkJcHJpbnRmKGRyeV9ydW4gPyBfKG1zZ193b3VsZF9yZW1vdmUpIDogXyhtc2dfcmVtb3ZlKSwgcW5hbWUpOwogCQkJfQogCQl9Ci0JCXN0cmJ1Zl9yZXNldCgmYWJzX3BhdGgpOwogCX0KIAogCXN0cmJ1Zl9yZWxlYXNlKCZhYnNfcGF0aCk7CmRpZmYgLS1naXQgYS9idWlsdGluL2Nsb25lLmMgYi9idWlsdGluL2Nsb25lLmMKaW5kZXggNWQzMWJlYS4uMWFkMjZmNCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jbG9uZS5jCisrKyBiL2J1aWx0aW4vY2xvbmUuYwpAQCAtOCw2ICs4LDcgQEAKICAqIENsb25lIGEgcmVwb3NpdG9yeSBpbnRvIGEgZGlmZmVyZW50IGRpcmVjdG9yeSB0aGF0IGRvZXMgbm90IHlldCBleGlzdC4KICAqLwogCisjZGVmaW5lIFVTRV9USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAibG9ja2ZpbGUuaCIKQEAgLTIyLDYgKzIzLDggQEAKICNpbmNsdWRlICJ0cmFuc3BvcnQuaCIKICNpbmNsdWRlICJzdHJidWYuaCIKICNpbmNsdWRlICJkaXIuaCIKKyNpbmNsdWRlICJkaXItaXRlcmF0b3IuaCIKKyNpbmNsdWRlICJpdGVyYXRvci5oIgogI2luY2x1ZGUgInNpZ2NoYWluLmgiCiAjaW5jbHVkZSAiYnJhbmNoLmgiCiAjaW5jbHVkZSAicmVtb3RlLmgiCkBAIC0yOSw3ICszMiw2IEBACiAjaW5jbHVkZSAiY29ubmVjdGVkLmgiCiAjaW5jbHVkZSAicGFja2ZpbGUuaCIKICNpbmNsdWRlICJsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaCIKLSNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKIAogLyoKICAqIE92ZXJhbGwgRklYTUVzOgpAQCAtNTcsNiArNTksNyBAQAogc3RhdGljIGNoYXIgKm9wdGlvbl91cGxvYWRfcGFjayA9ICJnaXQtdXBsb2FkLXBhY2siOwogc3RhdGljIGludCBvcHRpb25fdmVyYm9zaXR5Owogc3RhdGljIGludCBvcHRpb25fcHJvZ3Jlc3MgPSAtMTsKK3N0YXRpYyBpbnQgb3B0aW9uX3NwYXJzZV9jaGVja291dDsKIHN0YXRpYyBlbnVtIHRyYW5zcG9ydF9mYW1pbHkgZmFtaWx5Owogc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBvcHRpb25fY29uZmlnID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKIHN0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3Qgb3B0aW9uX3JlcXVpcmVkX3JlZmVyZW5jZSA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CkBAIC02NSw2ICs2OCw4IEBACiBzdGF0aWMgaW50IG1heF9qb2JzID0gLTE7CiBzdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IG9wdGlvbl9yZWN1cnNlX3N1Ym1vZHVsZXMgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogc3RhdGljIHN0cnVjdCBsaXN0X29iamVjdHNfZmlsdGVyX29wdGlvbnMgZmlsdGVyX29wdGlvbnM7CitzdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IHNlcnZlcl9vcHRpb25zID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKK3N0YXRpYyBpbnQgb3B0aW9uX3JlbW90ZV9zdWJtb2R1bGVzOwogCiBzdGF0aWMgaW50IHJlY3Vyc2Vfc3VibW9kdWxlc19jYihjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCiAJCQkJIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQpAQCAtOTcsMTAgKzEwMiw3IEBACiAJCSAgICBOXygiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiKSksCiAJT1BUX0JPT0woJ3MnLCAic2hhcmVkIiwgJm9wdGlvbl9zaGFyZWQsCiAJCSAgICBOXygic2V0dXAgYXMgc2hhcmVkIHJlcG9zaXRvcnkiKSksCi0JeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJyZWN1cnNpdmUiLCAmb3B0aW9uX3JlY3Vyc2Vfc3VibW9kdWxlcywKLQkgIE5fKCJwYXRoc3BlYyIpLCBOXygiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIpLAotCSAgUEFSU0VfT1BUX09QVEFSRyB8IFBBUlNFX09QVF9ISURERU4sIHJlY3Vyc2Vfc3VibW9kdWxlc19jYiwKLQkgIChpbnRwdHJfdCkiLiIgfSwKKwlPUFRfQUxJQVMoMCwgInJlY3Vyc2l2ZSIsICJyZWN1cnNlLXN1Ym1vZHVsZXMiKSwKIAl7IE9QVElPTl9DQUxMQkFDSywgMCwgInJlY3Vyc2Utc3VibW9kdWxlcyIsICZvcHRpb25fcmVjdXJzZV9zdWJtb2R1bGVzLAogCSAgTl8oInBhdGhzcGVjIiksIE5fKCJpbml0aWFsaXplIHN1Ym1vZHVsZXMgaW4gdGhlIGNsb25lIiksCiAJICBQQVJTRV9PUFRfT1BUQVJHLCByZWN1cnNlX3N1Ym1vZHVsZXNfY2IsIChpbnRwdHJfdCkiLiIgfSwKQEAgLTEzNiwxMSArMTM4LDE3IEBACiAJCSAgIE5fKCJzZXBhcmF0ZSBnaXQgZGlyIGZyb20gd29ya2luZyB0cmVlIikpLAogCU9QVF9TVFJJTkdfTElTVCgnYycsICJjb25maWciLCAmb3B0aW9uX2NvbmZpZywgTl8oImtleT12YWx1ZSIpLAogCQkJTl8oInNldCBjb25maWcgaW5zaWRlIHRoZSBuZXcgcmVwb3NpdG9yeSIpKSwKKwlPUFRfU1RSSU5HX0xJU1QoMCwgInNlcnZlci1vcHRpb24iLCAmc2VydmVyX29wdGlvbnMsCisJCQlOXygic2VydmVyLXNwZWNpZmljIiksIE5fKCJvcHRpb24gdG8gdHJhbnNtaXQiKSksCiAJT1BUX1NFVF9JTlQoJzQnLCAiaXB2NCIsICZmYW1pbHksIE5fKCJ1c2UgSVB2NCBhZGRyZXNzZXMgb25seSIpLAogCQkJVFJBTlNQT1JUX0ZBTUlMWV9JUFY0KSwKIAlPUFRfU0VUX0lOVCgnNicsICJpcHY2IiwgJmZhbWlseSwgTl8oInVzZSBJUHY2IGFkZHJlc3NlcyBvbmx5IiksCiAJCQlUUkFOU1BPUlRfRkFNSUxZX0lQVjYpLAogCU9QVF9QQVJTRV9MSVNUX09CSkVDVFNfRklMVEVSKCZmaWx0ZXJfb3B0aW9ucyksCisJT1BUX0JPT0woMCwgInJlbW90ZS1zdWJtb2R1bGVzIiwgJm9wdGlvbl9yZW1vdGVfc3VibW9kdWxlcywKKwkJICAgIE5fKCJhbnkgY2xvbmVkIHN1Ym1vZHVsZXMgd2lsbCB1c2UgdGhlaXIgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIpKSwKKwlPUFRfQk9PTCgwLCAic3BhcnNlIiwgJm9wdGlvbl9zcGFyc2VfY2hlY2tvdXQsCisJCSAgICBOXygiaW5pdGlhbGl6ZSBzcGFyc2UtY2hlY2tvdXQgZmlsZSB0byBpbmNsdWRlIG9ubHkgZmlsZXMgYXQgcm9vdCIpKSwKIAlPUFRfRU5EKCkKIH07CiAKQEAgLTM1Myw4ICszNjEsNyBAQAogCQkJICAgICBhZGRfb25lX3JlZmVyZW5jZSwgJnJlcXVpcmVkKTsKIH0KIAotc3RhdGljIHZvaWQgY29weV9hbHRlcm5hdGVzKHN0cnVjdCBzdHJidWYgKnNyYywgc3RydWN0IHN0cmJ1ZiAqZHN0LAotCQkJICAgIGNvbnN0IGNoYXIgKnNyY19yZXBvKQorc3RhdGljIHZvaWQgY29weV9hbHRlcm5hdGVzKHN0cnVjdCBzdHJidWYgKnNyYywgY29uc3QgY2hhciAqc3JjX3JlcG8pCiB7CiAJLyoKIAkgKiBSZWFkIGZyb20gdGhlIHNvdXJjZSBvYmplY3RzL2luZm8vYWx0ZXJuYXRlcyBmaWxlCkBAIC0zOTEsNTggKzM5OCw2MyBAQAogCWZjbG9zZShpbik7CiB9CiAKLXN0YXRpYyB2b2lkIGNvcHlfb3JfbGlua19kaXJlY3Rvcnkoc3RydWN0IHN0cmJ1ZiAqc3JjLCBzdHJ1Y3Qgc3RyYnVmICpkZXN0LAotCQkJCSAgIGNvbnN0IGNoYXIgKnNyY19yZXBvLCBpbnQgc3JjX2Jhc2VsZW4pCitzdGF0aWMgdm9pZCBta2Rpcl9pZl9taXNzaW5nKGNvbnN0IGNoYXIgKnBhdGhuYW1lLCBtb2RlX3QgbW9kZSkKIHsKLQlzdHJ1Y3QgZGlyZW50ICpkZTsKLQlzdHJ1Y3Qgc3RhdCBidWY7CisJc3RydWN0IHN0YXQgc3Q7CisKKwlpZiAoIW1rZGlyKHBhdGhuYW1lLCBtb2RlKSkKKwkJcmV0dXJuOworCisJaWYgKGVycm5vICE9IEVFWElTVCkKKwkJZGllX2Vycm5vKF8oImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciKSwgcGF0aG5hbWUpOworCWVsc2UgaWYgKHN0YXQocGF0aG5hbWUsICZzdCkpCisJCWRpZV9lcnJubyhfKCJmYWlsZWQgdG8gc3RhdCAnJXMnIiksIHBhdGhuYW1lKTsKKwllbHNlIGlmICghU19JU0RJUihzdC5zdF9tb2RlKSkKKwkJZGllKF8oIiVzIGV4aXN0cyBhbmQgaXMgbm90IGEgZGlyZWN0b3J5IiksIHBhdGhuYW1lKTsKK30KKworc3RhdGljIHZvaWQgY29weV9vcl9saW5rX2RpcmVjdG9yeShzdHJ1Y3Qgc3RyYnVmICpzcmMsIHN0cnVjdCBzdHJidWYgKmRlc3QsCisJCQkJICAgY29uc3QgY2hhciAqc3JjX3JlcG8pCit7CiAJaW50IHNyY19sZW4sIGRlc3RfbGVuOwotCURJUiAqZGlyOworCXN0cnVjdCBkaXJfaXRlcmF0b3IgKml0ZXI7CisJaW50IGl0ZXJfc3RhdHVzOworCXVuc2lnbmVkIGludCBmbGFnczsKIAotCWRpciA9IG9wZW5kaXIoc3JjLT5idWYpOwotCWlmICghZGlyKQotCQlkaWVfZXJybm8oXygiZmFpbGVkIHRvIG9wZW4gJyVzJyIpLCBzcmMtPmJ1Zik7CisJbWtkaXJfaWZfbWlzc2luZyhkZXN0LT5idWYsIDA3NzcpOwogCi0JaWYgKG1rZGlyKGRlc3QtPmJ1ZiwgMDc3NykpIHsKLQkJaWYgKGVycm5vICE9IEVFWElTVCkKLQkJCWRpZV9lcnJubyhfKCJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIiksIGRlc3QtPmJ1Zik7Ci0JCWVsc2UgaWYgKHN0YXQoZGVzdC0+YnVmLCAmYnVmKSkKLQkJCWRpZV9lcnJubyhfKCJmYWlsZWQgdG8gc3RhdCAnJXMnIiksIGRlc3QtPmJ1Zik7Ci0JCWVsc2UgaWYgKCFTX0lTRElSKGJ1Zi5zdF9tb2RlKSkKLQkJCWRpZShfKCIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIpLCBkZXN0LT5idWYpOwotCX0KKwlmbGFncyA9IERJUl9JVEVSQVRPUl9QRURBTlRJQyB8IERJUl9JVEVSQVRPUl9GT0xMT1dfU1lNTElOS1M7CisJaXRlciA9IGRpcl9pdGVyYXRvcl9iZWdpbihzcmMtPmJ1ZiwgZmxhZ3MpOworCisJaWYgKCFpdGVyKQorCQlkaWVfZXJybm8oXygiZmFpbGVkIHRvIHN0YXJ0IGl0ZXJhdG9yIG92ZXIgJyVzJyIpLCBzcmMtPmJ1Zik7CiAKIAlzdHJidWZfYWRkY2goc3JjLCAnLycpOwogCXNyY19sZW4gPSBzcmMtPmxlbjsKIAlzdHJidWZfYWRkY2goZGVzdCwgJy8nKTsKIAlkZXN0X2xlbiA9IGRlc3QtPmxlbjsKIAotCXdoaWxlICgoZGUgPSByZWFkZGlyKGRpcikpICE9IE5VTEwpIHsKKwl3aGlsZSAoKGl0ZXJfc3RhdHVzID0gZGlyX2l0ZXJhdG9yX2FkdmFuY2UoaXRlcikpID09IElURVJfT0spIHsKIAkJc3RyYnVmX3NldGxlbihzcmMsIHNyY19sZW4pOwotCQlzdHJidWZfYWRkc3RyKHNyYywgZGUtPmRfbmFtZSk7CisJCXN0cmJ1Zl9hZGRzdHIoc3JjLCBpdGVyLT5yZWxhdGl2ZV9wYXRoKTsKIAkJc3RyYnVmX3NldGxlbihkZXN0LCBkZXN0X2xlbik7Ci0JCXN0cmJ1Zl9hZGRzdHIoZGVzdCwgZGUtPmRfbmFtZSk7Ci0JCWlmIChzdGF0KHNyYy0+YnVmLCAmYnVmKSkgewotCQkJd2FybmluZyAoXygiZmFpbGVkIHRvIHN0YXQgJXNcbiIpLCBzcmMtPmJ1Zik7Ci0JCQljb250aW51ZTsKLQkJfQotCQlpZiAoU19JU0RJUihidWYuc3RfbW9kZSkpIHsKLQkJCWlmIChkZS0+ZF9uYW1lWzBdICE9ICcuJykKLQkJCQljb3B5X29yX2xpbmtfZGlyZWN0b3J5KHNyYywgZGVzdCwKLQkJCQkJCSAgICAgICBzcmNfcmVwbywgc3JjX2Jhc2VsZW4pOworCQlzdHJidWZfYWRkc3RyKGRlc3QsIGl0ZXItPnJlbGF0aXZlX3BhdGgpOworCisJCWlmIChTX0lTRElSKGl0ZXItPnN0LnN0X21vZGUpKSB7CisJCQlta2Rpcl9pZl9taXNzaW5nKGRlc3QtPmJ1ZiwgMDc3Nyk7CiAJCQljb250aW51ZTsKIAkJfQogCiAJCS8qIEZpbGVzIHRoYXQgY2Fubm90IGJlIGNvcGllZCBiaXQtZm9yLWJpdC4uLiAqLwotCQlpZiAoIXN0cmNtcChzcmMtPmJ1ZiArIHNyY19iYXNlbGVuLCAiL2luZm8vYWx0ZXJuYXRlcyIpKSB7Ci0JCQljb3B5X2FsdGVybmF0ZXMoc3JjLCBkZXN0LCBzcmNfcmVwbyk7CisJCWlmICghZnNwYXRoY21wKGl0ZXItPnJlbGF0aXZlX3BhdGgsICJpbmZvL2FsdGVybmF0ZXMiKSkgeworCQkJY29weV9hbHRlcm5hdGVzKHNyYywgc3JjX3JlcG8pOwogCQkJY29udGludWU7CiAJCX0KIAogCQlpZiAodW5saW5rKGRlc3QtPmJ1ZikgJiYgZXJybm8gIT0gRU5PRU5UKQogCQkJZGllX2Vycm5vKF8oImZhaWxlZCB0byB1bmxpbmsgJyVzJyIpLCBkZXN0LT5idWYpOwogCQlpZiAoIW9wdGlvbl9ub19oYXJkbGlua3MpIHsKLQkJCWlmICghbGluayhzcmMtPmJ1ZiwgZGVzdC0+YnVmKSkKKwkJCWlmICghbGluayhyZWFsX3BhdGgoc3JjLT5idWYpLCBkZXN0LT5idWYpKQogCQkJCWNvbnRpbnVlOwogCQkJaWYgKG9wdGlvbl9sb2NhbCA+IDApCiAJCQkJZGllX2Vycm5vKF8oImZhaWxlZCB0byBjcmVhdGUgbGluayAnJXMnIiksIGRlc3QtPmJ1Zik7CkBAIC00NTEsNyArNDYzLDExIEBACiAJCWlmIChjb3B5X2ZpbGVfd2l0aF90aW1lKGRlc3QtPmJ1Ziwgc3JjLT5idWYsIDA2NjYpKQogCQkJZGllX2Vycm5vKF8oImZhaWxlZCB0byBjb3B5IGZpbGUgdG8gJyVzJyIpLCBkZXN0LT5idWYpOwogCX0KLQljbG9zZWRpcihkaXIpOworCisJaWYgKGl0ZXJfc3RhdHVzICE9IElURVJfRE9ORSkgeworCQlzdHJidWZfc2V0bGVuKHNyYywgc3JjX2xlbik7CisJCWRpZShfKCJmYWlsZWQgdG8gaXRlcmF0ZSBvdmVyICclcyciKSwgc3JjLT5idWYpOworCX0KIH0KIAogc3RhdGljIHZvaWQgY2xvbmVfbG9jYWwoY29uc3QgY2hhciAqc3JjX3JlcG8sIGNvbnN0IGNoYXIgKmRlc3RfcmVwbykKQEAgLTQ2OSw3ICs0ODUsNyBAQAogCQlnZXRfY29tbW9uX2RpcigmZGVzdCwgZGVzdF9yZXBvKTsKIAkJc3RyYnVmX2FkZHN0cigmc3JjLCAiL29iamVjdHMiKTsKIAkJc3RyYnVmX2FkZHN0cigmZGVzdCwgIi9vYmplY3RzIik7Ci0JCWNvcHlfb3JfbGlua19kaXJlY3RvcnkoJnNyYywgJmRlc3QsIHNyY19yZXBvLCBzcmMubGVuKTsKKwkJY29weV9vcl9saW5rX2RpcmVjdG9yeSgmc3JjLCAmZGVzdCwgc3JjX3JlcG8pOwogCQlzdHJidWZfcmVsZWFzZSgmc3JjKTsKIAkJc3RyYnVmX3JlbGVhc2UoJmRlc3QpOwogCX0KQEAgLTQ5MSw3ICs1MDcsNyBAQAogc3RhdGljIGNvbnN0IGNoYXIganVua19sZWF2ZV9yZXBvX21zZ1tdID0KIE5fKCJDbG9uZSBzdWNjZWVkZWQsIGJ1dCBjaGVja291dCBmYWlsZWQuXG4iCiAgICAiWW91IGNhbiBpbnNwZWN0IHdoYXQgd2FzIGNoZWNrZWQgb3V0IHdpdGggJ2dpdCBzdGF0dXMnXG4iCi0gICAiYW5kIHJldHJ5IHRoZSBjaGVja291dCB3aXRoICdnaXQgY2hlY2tvdXQgLWYgSEVBRCdcbiIpOworICAgImFuZCByZXRyeSB3aXRoICdnaXQgcmVzdG9yZSAtLXNvdXJjZT1IRUFEIDovJ1xuIik7CiAKIHN0YXRpYyB2b2lkIHJlbW92ZV9qdW5rKHZvaWQpCiB7CkBAIC01NDgsNyArNTY0LDcgQEAKIH0KIAogc3RhdGljIHN0cnVjdCByZWYgKndhbnRlZF9wZWVyX3JlZnMoY29uc3Qgc3RydWN0IHJlZiAqcmVmcywKLQkJc3RydWN0IHJlZnNwZWNfaXRlbSAqcmVmc3BlYykKKwkJc3RydWN0IHJlZnNwZWMgKnJlZnNwZWMpCiB7CiAJc3RydWN0IHJlZiAqaGVhZCA9IGNvcHlfcmVmKGZpbmRfcmVmX2J5X25hbWUocmVmcywgIkhFQUQiKSk7CiAJc3RydWN0IHJlZiAqbG9jYWxfcmVmcyA9IGhlYWQ7CkBAIC01NjksMTMgKzU4NSwxOSBAQAogCQkJd2FybmluZyhfKCJDb3VsZCBub3QgZmluZCByZW1vdGUgYnJhbmNoICVzIHRvIGNsb25lLiIpLAogCQkJCW9wdGlvbl9icmFuY2gpOwogCQllbHNlIHsKLQkJCWdldF9mZXRjaF9tYXAocmVtb3RlX2hlYWQsIHJlZnNwZWMsICZ0YWlsLCAwKTsKKwkJCWludCBpOworCQkJZm9yIChpID0gMDsgaSA8IHJlZnNwZWMtPm5yOyBpKyspCisJCQkJZ2V0X2ZldGNoX21hcChyZW1vdGVfaGVhZCwgJnJlZnNwZWMtPml0ZW1zW2ldLAorCQkJCQkgICAgICAmdGFpbCwgMCk7CiAKIAkJCS8qIGlmIC0tYnJhbmNoPXRhZywgcHVsbCB0aGUgcmVxdWVzdGVkIHRhZyBleHBsaWNpdGx5ICovCiAJCQlnZXRfZmV0Y2hfbWFwKHJlbW90ZV9oZWFkLCB0YWdfcmVmc3BlYywgJnRhaWwsIDApOwogCQl9Ci0JfSBlbHNlCi0JCWdldF9mZXRjaF9tYXAocmVmcywgcmVmc3BlYywgJnRhaWwsIDApOworCX0gZWxzZSB7CisJCWludCBpOworCQlmb3IgKGkgPSAwOyBpIDwgcmVmc3BlYy0+bnI7IGkrKykKKwkJCWdldF9mZXRjaF9tYXAocmVmcywgJnJlZnNwZWMtPml0ZW1zW2ldLCAmdGFpbCwgMCk7CisJfQogCiAJaWYgKCFvcHRpb25fbWlycm9yICYmICFvcHRpb25fc2luZ2xlX2JyYW5jaCAmJiAhb3B0aW9uX25vX3RhZ3MpCiAJCWdldF9mZXRjaF9tYXAocmVmcywgdGFnX3JlZnNwZWMsICZ0YWlsLCAwKTsKQEAgLTY1MCw3ICs2NzIsOCBAQAogCQkJICAgICAgIGNvbnN0IGNoYXIgKmJyYW5jaF90b3AsCiAJCQkgICAgICAgY29uc3QgY2hhciAqbXNnLAogCQkJICAgICAgIHN0cnVjdCB0cmFuc3BvcnQgKnRyYW5zcG9ydCwKLQkJCSAgICAgICBpbnQgY2hlY2tfY29ubmVjdGl2aXR5KQorCQkJICAgICAgIGludCBjaGVja19jb25uZWN0aXZpdHksCisJCQkgICAgICAgaW50IGNoZWNrX3JlZnNfYXJlX3Byb21pc29yX29iamVjdHNfb25seSkKIHsKIAljb25zdCBzdHJ1Y3QgcmVmICpybSA9IG1hcHBlZF9yZWZzOwogCkBAIC02NTksNiArNjgyLDggQEAKIAogCQlvcHQudHJhbnNwb3J0ID0gdHJhbnNwb3J0OwogCQlvcHQucHJvZ3Jlc3MgPSB0cmFuc3BvcnQtPnByb2dyZXNzOworCQlvcHQuY2hlY2tfcmVmc19hcmVfcHJvbWlzb3Jfb2JqZWN0c19vbmx5ID0KKwkJCSEhY2hlY2tfcmVmc19hcmVfcHJvbWlzb3Jfb2JqZWN0c19vbmx5OwogCiAJCWlmIChjaGVja19jb25uZWN0ZWQoaXRlcmF0ZV9yZWZfbWFwLCAmcm0sICZvcHQpKQogCQkJZGllKF8oInJlbW90ZSBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzIikpOwpAQCAtNzEyLDYgKzczNywyNyBAQAogCX0KIH0KIAorc3RhdGljIGludCBnaXRfc3BhcnNlX2NoZWNrb3V0X2luaXQoY29uc3QgY2hhciAqcmVwbykKK3sKKwlzdHJ1Y3QgYXJndl9hcnJheSBhcmd2ID0gQVJHVl9BUlJBWV9JTklUOworCWludCByZXN1bHQgPSAwOworCWFyZ3ZfYXJyYXlfcHVzaGwoJmFyZ3YsICItQyIsIHJlcG8sICJzcGFyc2UtY2hlY2tvdXQiLCAiaW5pdCIsIE5VTEwpOworCisJLyoKKwkgKiBXZSBtdXN0IGFwcGx5IHRoZSBzZXR0aW5nIGluIHRoZSBjdXJyZW50IHByb2Nlc3MKKwkgKiBmb3IgdGhlIGxhdGVyIGNoZWNrb3V0IHRvIHVzZSB0aGUgc3BhcnNlLWNoZWNrb3V0IGZpbGUuCisJICovCisJY29yZV9hcHBseV9zcGFyc2VfY2hlY2tvdXQgPSAxOworCisJaWYgKHJ1bl9jb21tYW5kX3Zfb3B0KGFyZ3YuYXJndiwgUlVOX0dJVF9DTUQpKSB7CisJCWVycm9yKF8oImZhaWxlZCB0byBpbml0aWFsaXplIHNwYXJzZS1jaGVja291dCIpKTsKKwkJcmVzdWx0ID0gMTsKKwl9CisKKwlhcmd2X2FycmF5X2NsZWFyKCZhcmd2KTsKKwlyZXR1cm4gcmVzdWx0OworfQorCiBzdGF0aWMgaW50IGNoZWNrb3V0KGludCBzdWJtb2R1bGVfcHJvZ3Jlc3MpCiB7CiAJc3RydWN0IG9iamVjdF9pZCBvaWQ7CkBAIC03NjMsNyArODA5LDcgQEAKIAlpZiAod3JpdGVfbG9ja2VkX2luZGV4KCZ0aGVfaW5kZXgsICZsb2NrX2ZpbGUsIENPTU1JVF9MT0NLKSkKIAkJZGllKF8oInVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIpKTsKIAotCWVyciB8PSBydW5faG9va19sZShOVUxMLCAicG9zdC1jaGVja291dCIsIHNoYTFfdG9faGV4KG51bGxfc2hhMSksCisJZXJyIHw9IHJ1bl9ob29rX2xlKE5VTEwsICJwb3N0LWNoZWNrb3V0Iiwgb2lkX3RvX2hleCgmbnVsbF9vaWQpLAogCQkJICAgb2lkX3RvX2hleCgmb2lkKSwgIjEiLCBOVUxMKTsKIAogCWlmICghZXJyICYmIChvcHRpb25fcmVjdXJzZV9zdWJtb2R1bGVzLm5yID4gMCkpIHsKQEAgLTc4Miw2ICs4MjgsMTYgQEAKIAkJaWYgKG9wdGlvbl92ZXJib3NpdHkgPCAwKQogCQkJYXJndl9hcnJheV9wdXNoKCZhcmdzLCAiLS1xdWlldCIpOwogCisJCWlmIChvcHRpb25fcmVtb3RlX3N1Ym1vZHVsZXMpIHsKKwkJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgIi0tcmVtb3RlIik7CisJCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsICItLW5vLWZldGNoIik7CisJCX0KKworCQlpZiAob3B0aW9uX3NpbmdsZV9icmFuY2ggPj0gMCkKKwkJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgb3B0aW9uX3NpbmdsZV9icmFuY2ggPworCQkJCQkgICAgICAgIi0tc2luZ2xlLWJyYW5jaCIgOgorCQkJCQkgICAgICAgIi0tbm8tc2luZ2xlLWJyYW5jaCIpOworCiAJCWVyciA9IHJ1bl9jb21tYW5kX3Zfb3B0KGFyZ3MuYXJndiwgUlVOX0dJVF9DTUQpOwogCQlhcmd2X2FycmF5X2NsZWFyKCZhcmdzKTsKIAl9CkBAIC04NzMsNyArOTI5LDcgQEAKIAlmcmVlKGFsdGVybmF0ZXMpOwogfQogCi1zdGF0aWMgaW50IGRpcl9leGlzdHMoY29uc3QgY2hhciAqcGF0aCkKK3N0YXRpYyBpbnQgcGF0aF9leGlzdHMoY29uc3QgY2hhciAqcGF0aCkKIHsKIAlzdHJ1Y3Qgc3RhdCBzYjsKIAlyZXR1cm4gIXN0YXQocGF0aCwgJnNiKTsKQEAgLTg5MCw3ICs5NDYsOCBAQAogCWNvbnN0IHN0cnVjdCByZWYgKm91cl9oZWFkX3BvaW50c19hdDsKIAlzdHJ1Y3QgcmVmICptYXBwZWRfcmVmczsKIAljb25zdCBzdHJ1Y3QgcmVmICpyZWY7Ci0Jc3RydWN0IHN0cmJ1ZiBrZXkgPSBTVFJCVUZfSU5JVCwgdmFsdWUgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIGtleSA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdHJidWYgZGVmYXVsdF9yZWZzcGVjID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0cmJ1ZiBicmFuY2hfdG9wID0gU1RSQlVGX0lOSVQsIHJlZmxvZ19tc2cgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3QgdHJhbnNwb3J0ICp0cmFuc3BvcnQgPSBOVUxMOwogCWNvbnN0IGNoYXIgKnNyY19yZWZfcHJlZml4ID0gInJlZnMvaGVhZHMvIjsKQEAgLTg5OCwxMSArOTU1LDggQEAKIAlpbnQgZXJyID0gMCwgY29tcGxldGVfcmVmc19iZWZvcmVfZmV0Y2ggPSAxOwogCWludCBzdWJtb2R1bGVfcHJvZ3Jlc3M7CiAKLQlzdHJ1Y3QgcmVmc3BlYyBycyA9IFJFRlNQRUNfSU5JVF9GRVRDSDsKIAlzdHJ1Y3QgYXJndl9hcnJheSByZWZfcHJlZml4ZXMgPSBBUkdWX0FSUkFZX0lOSVQ7CiAKLQlmZXRjaF9pZl9taXNzaW5nID0gMDsKLQogCXBhY2tldF90cmFjZV9pZGVudGl0eSgiY2xvbmUiKTsKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIGJ1aWx0aW5fY2xvbmVfb3B0aW9ucywKIAkJCSAgICAgYnVpbHRpbl9jbG9uZV91c2FnZSwgMCk7CkBAIC05NTUsNyArMTAwOSw3IEBACiAJCWRpciA9IGd1ZXNzX2Rpcl9uYW1lKHJlcG9fbmFtZSwgaXNfYnVuZGxlLCBvcHRpb25fYmFyZSk7CiAJc3RyaXBfdHJhaWxpbmdfc2xhc2hlcyhkaXIpOwogCi0JZGVzdF9leGlzdHMgPSBkaXJfZXhpc3RzKGRpcik7CisJZGVzdF9leGlzdHMgPSBwYXRoX2V4aXN0cyhkaXIpOwogCWlmIChkZXN0X2V4aXN0cyAmJiAhaXNfZW1wdHlfZGlyKGRpcikpCiAJCWRpZShfKCJkZXN0aW5hdGlvbiBwYXRoICclcycgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCAiCiAJCQkiYW4gZW1wdHkgZGlyZWN0b3J5LiIpLCBkaXIpOwpAQCAtOTY2LDcgKzEwMjAsNyBAQAogCQl3b3JrX3RyZWUgPSBOVUxMOwogCWVsc2UgewogCQl3b3JrX3RyZWUgPSBnZXRlbnYoIkdJVF9XT1JLX1RSRUUiKTsKLQkJaWYgKHdvcmtfdHJlZSAmJiBkaXJfZXhpc3RzKHdvcmtfdHJlZSkpCisJCWlmICh3b3JrX3RyZWUgJiYgcGF0aF9leGlzdHMod29ya190cmVlKSkKIAkJCWRpZShfKCJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iKSwgd29ya190cmVlKTsKIAl9CiAKQEAgLTk5NCw3ICsxMDQ4LDcgQEAKIAl9CiAKIAlpZiAocmVhbF9naXRfZGlyKSB7Ci0JCWlmIChkaXJfZXhpc3RzKHJlYWxfZ2l0X2RpcikpCisJCWlmIChwYXRoX2V4aXN0cyhyZWFsX2dpdF9kaXIpKQogCQkJanVua19naXRfZGlyX2ZsYWdzIHw9IFJFTU9WRV9ESVJfS0VFUF9UT1BMRVZFTDsKIAkJanVua19naXRfZGlyID0gcmVhbF9naXRfZGlyOwogCX0gZWxzZSB7CkBAIC0xMDY3LDcgKzExMjEsNiBAQAogCQlzdHJidWZfYWRkZigmYnJhbmNoX3RvcCwgInJlZnMvcmVtb3Rlcy8lcy8iLCBvcHRpb25fb3JpZ2luKTsKIAl9CiAKLQlzdHJidWZfYWRkZigmdmFsdWUsICIrJXMqOiVzKiIsIHNyY19yZWZfcHJlZml4LCBicmFuY2hfdG9wLmJ1Zik7CiAJc3RyYnVmX2FkZGYoJmtleSwgInJlbW90ZS4lcy51cmwiLCBvcHRpb25fb3JpZ2luKTsKIAlnaXRfY29uZmlnX3NldChrZXkuYnVmLCByZXBvKTsKIAlzdHJidWZfcmVzZXQoJmtleSk7CkBAIC0xMDgxLDExICsxMTM0LDE1IEBACiAJaWYgKG9wdGlvbl9yZXF1aXJlZF9yZWZlcmVuY2UubnIgfHwgb3B0aW9uX29wdGlvbmFsX3JlZmVyZW5jZS5ucikKIAkJc2V0dXBfcmVmZXJlbmNlKCk7CiAKLQlyZWZzcGVjX2FwcGVuZCgmcnMsIHZhbHVlLmJ1Zik7Ci0KLQlzdHJidWZfcmVzZXQoJnZhbHVlKTsKKwlpZiAob3B0aW9uX3NwYXJzZV9jaGVja291dCAmJiBnaXRfc3BhcnNlX2NoZWNrb3V0X2luaXQoZGlyKSkKKwkJcmV0dXJuIDE7CiAKIAlyZW1vdGUgPSByZW1vdGVfZ2V0KG9wdGlvbl9vcmlnaW4pOworCisJc3RyYnVmX2FkZGYoJmRlZmF1bHRfcmVmc3BlYywgIislcyo6JXMqIiwgc3JjX3JlZl9wcmVmaXgsCisJCSAgICBicmFuY2hfdG9wLmJ1Zik7CisJcmVmc3BlY19hcHBlbmQoJnJlbW90ZS0+ZmV0Y2gsIGRlZmF1bHRfcmVmc3BlYy5idWYpOworCiAJdHJhbnNwb3J0ID0gdHJhbnNwb3J0X2dldChyZW1vdGUsIHJlbW90ZS0+dXJsWzBdKTsKIAl0cmFuc3BvcnRfc2V0X3ZlcmJvc2l0eSh0cmFuc3BvcnQsIG9wdGlvbl92ZXJib3NpdHksIG9wdGlvbl9wcm9ncmVzcyk7CiAJdHJhbnNwb3J0LT5mYW1pbHkgPSBmYW1pbHk7CkBAIC0xMTI5LDkgKzExODYsMTQgQEAKIAkJdHJhbnNwb3J0X3NldF9vcHRpb24odHJhbnNwb3J0LCBUUkFOU19PUFRfVVBMT0FEUEFDSywKIAkJCQkgICAgIG9wdGlvbl91cGxvYWRfcGFjayk7CiAKKwlpZiAoc2VydmVyX29wdGlvbnMubnIpCisJCXRyYW5zcG9ydC0+c2VydmVyX29wdGlvbnMgPSAmc2VydmVyX29wdGlvbnM7CisKIAlpZiAoZmlsdGVyX29wdGlvbnMuY2hvaWNlKSB7CisJCWNvbnN0IGNoYXIgKnNwZWMgPQorCQkJZXhwYW5kX2xpc3Rfb2JqZWN0c19maWx0ZXJfc3BlYygmZmlsdGVyX29wdGlvbnMpOwogCQl0cmFuc3BvcnRfc2V0X29wdGlvbih0cmFuc3BvcnQsIFRSQU5TX09QVF9MSVNUX09CSkVDVFNfRklMVEVSLAotCQkJCSAgICAgZmlsdGVyX29wdGlvbnMuZmlsdGVyX3NwZWMpOworCQkJCSAgICAgc3BlYyk7CiAJCXRyYW5zcG9ydF9zZXRfb3B0aW9uKHRyYW5zcG9ydCwgVFJBTlNfT1BUX0ZST01fUFJPTUlTT1IsICIxIik7CiAJfQogCkBAIC0xMTQwLDcgKzEyMDIsNyBAQAogCiAKIAlhcmd2X2FycmF5X3B1c2goJnJlZl9wcmVmaXhlcywgIkhFQUQiKTsKLQlyZWZzcGVjX3JlZl9wcmVmaXhlcygmcnMsICZyZWZfcHJlZml4ZXMpOworCXJlZnNwZWNfcmVmX3ByZWZpeGVzKCZyZW1vdGUtPmZldGNoLCAmcmVmX3ByZWZpeGVzKTsKIAlpZiAob3B0aW9uX2JyYW5jaCkKIAkJZXhwYW5kX3JlZl9wcmVmaXgoJnJlZl9wcmVmaXhlcywgb3B0aW9uX2JyYW5jaCk7CiAJaWYgKCFvcHRpb25fbm9fdGFncykKQEAgLTExNDksNyArMTIxMSw3IEBACiAJcmVmcyA9IHRyYW5zcG9ydF9nZXRfcmVtb3RlX3JlZnModHJhbnNwb3J0LCAmcmVmX3ByZWZpeGVzKTsKIAogCWlmIChyZWZzKSB7Ci0JCW1hcHBlZF9yZWZzID0gd2FudGVkX3BlZXJfcmVmcyhyZWZzLCAmcnMuaXRlbXNbMF0pOworCQltYXBwZWRfcmVmcyA9IHdhbnRlZF9wZWVyX3JlZnMocmVmcywgJnJlbW90ZS0+ZmV0Y2gpOwogCQkvKgogCQkgKiB0cmFuc3BvcnRfZ2V0X3JlbW90ZV9yZWZzKCkgbWF5IHJldHVybiByZWZzIHdpdGggbnVsbCBzaGEtMQogCQkgKiBpbiBtYXBwZWRfcmVmcyAoc2VlIHN0cnVjdCB0cmFuc3BvcnQtPmdldF9yZWZzX2xpc3QKQEAgLTEyMDQsNyArMTI2Niw3IEBACiAJCQlyZW1vdGVfaGVhZF9wb2ludHNfYXQsICZicmFuY2hfdG9wKTsKIAogCWlmIChmaWx0ZXJfb3B0aW9ucy5jaG9pY2UpCi0JCXBhcnRpYWxfY2xvbmVfcmVnaXN0ZXIoIm9yaWdpbiIsICZmaWx0ZXJfb3B0aW9ucyk7CisJCXBhcnRpYWxfY2xvbmVfcmVnaXN0ZXIob3B0aW9uX29yaWdpbiwgJmZpbHRlcl9vcHRpb25zKTsKIAogCWlmIChpc19sb2NhbCkKIAkJY2xvbmVfbG9jYWwocGF0aCwgZ2l0X2Rpcik7CkBAIC0xMjEzLDcgKzEyNzUsNyBAQAogCiAJdXBkYXRlX3JlbW90ZV9yZWZzKHJlZnMsIG1hcHBlZF9yZWZzLCByZW1vdGVfaGVhZF9wb2ludHNfYXQsCiAJCQkgICBicmFuY2hfdG9wLmJ1ZiwgcmVmbG9nX21zZy5idWYsIHRyYW5zcG9ydCwKLQkJCSAgICFpc19sb2NhbCk7CisJCQkgICAhaXNfbG9jYWwsIGZpbHRlcl9vcHRpb25zLmNob2ljZSk7CiAKIAl1cGRhdGVfaGVhZChvdXJfaGVhZF9wb2ludHNfYXQsIHJlbW90ZV9oZWFkLCByZWZsb2dfbXNnLmJ1Zik7CiAKQEAgLTEyMjksMjEgKzEyOTEsMTkgQEAKIAl0cmFuc3BvcnRfZGlzY29ubmVjdCh0cmFuc3BvcnQpOwogCiAJaWYgKG9wdGlvbl9kaXNzb2NpYXRlKSB7Ci0JCWNsb3NlX2FsbF9wYWNrcyh0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cyk7CisJCWNsb3NlX29iamVjdF9zdG9yZSh0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cyk7CiAJCWRpc3NvY2lhdGVfZnJvbV9yZWZlcmVuY2VzKCk7CiAJfQogCiAJanVua19tb2RlID0gSlVOS19MRUFWRV9SRVBPOwotCWZldGNoX2lmX21pc3NpbmcgPSAxOwogCWVyciA9IGNoZWNrb3V0KHN1Ym1vZHVsZV9wcm9ncmVzcyk7CiAKIAlzdHJidWZfcmVsZWFzZSgmcmVmbG9nX21zZyk7CiAJc3RyYnVmX3JlbGVhc2UoJmJyYW5jaF90b3ApOwogCXN0cmJ1Zl9yZWxlYXNlKCZrZXkpOwotCXN0cmJ1Zl9yZWxlYXNlKCZ2YWx1ZSk7CisJc3RyYnVmX3JlbGVhc2UoJmRlZmF1bHRfcmVmc3BlYyk7CiAJanVua19tb2RlID0gSlVOS19MRUFWRV9BTEw7CiAKLQlyZWZzcGVjX2NsZWFyKCZycyk7CiAJYXJndl9hcnJheV9jbGVhcigmcmVmX3ByZWZpeGVzKTsKIAlyZXR1cm4gZXJyOwogfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jb2x1bW4uYyBiL2J1aWx0aW4vY29sdW1uLmMKaW5kZXggNTIyOGNjZi4uZTgxNWUxNCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jb2x1bW4uYworKysgYi9idWlsdGluL2NvbHVtbi5jCkBAIC00Myw3ICs0Myw3IEBACiAKIAltZW1zZXQoJmNvcHRzLCAwLCBzaXplb2YoY29wdHMpKTsKIAljb3B0cy5wYWRkaW5nID0gMTsKLQlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCAiIiwgb3B0aW9ucywgYnVpbHRpbl9jb2x1bW5fdXNhZ2UsIDApOworCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0aW9ucywgYnVpbHRpbl9jb2x1bW5fdXNhZ2UsIDApOwogCWlmIChhcmdjKQogCQl1c2FnZV93aXRoX29wdGlvbnMoYnVpbHRpbl9jb2x1bW5fdXNhZ2UsIG9wdGlvbnMpOwogCWlmIChyZWFsX2NvbW1hbmQgfHwgY29tbWFuZCkgewpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jb21taXQtZ3JhcGguYyBiL2J1aWx0aW4vY29tbWl0LWdyYXBoLmMKaW5kZXggYzAyYTNmMS4uNGE3MGIzMyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jb21taXQtZ3JhcGguYworKysgYi9idWlsdGluL2NvbW1pdC1ncmFwaC5jCkBAIC01LDI3ICs1LDIxIEBACiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogI2luY2x1ZGUgInJlcG9zaXRvcnkuaCIKICNpbmNsdWRlICJjb21taXQtZ3JhcGguaCIKKyNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKIAogc3RhdGljIGNoYXIgY29uc3QgKiBjb25zdCBidWlsdGluX2NvbW1pdF9ncmFwaF91c2FnZVtdID0gewotCU5fKCJnaXQgY29tbWl0LWdyYXBoIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIiksCi0JTl8oImdpdCBjb21taXQtZ3JhcGggcmVhZCBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIpLAotCU5fKCJnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIpLAotCU5fKCJnaXQgY29tbWl0LWdyYXBoIHdyaXRlIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIFstLWFwcGVuZF0gWy0tcmVhY2hhYmxlfC0tc3RkaW4tcGFja3N8LS1zdGRpbi1jb21taXRzXSIpLAorCU5fKCJnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSBbLS1zaGFsbG93XSBbLS1bbm8tXXByb2dyZXNzXSIpLAorCU5fKCJnaXQgY29tbWl0LWdyYXBoIHdyaXRlIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIFstLWFwcGVuZHwtLXNwbGl0XSBbLS1yZWFjaGFibGV8LS1zdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIFstLVtuby1dcHJvZ3Jlc3NdIDxzcGxpdCBvcHRpb25zPiIpLAogCU5VTEwKIH07CiAKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYnVpbHRpbl9jb21taXRfZ3JhcGhfdmVyaWZ5X3VzYWdlW10gPSB7Ci0JTl8oImdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IFstLW9iamVjdC1kaXIgPG9iamRpcj5dIiksCi0JTlVMTAotfTsKLQotc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBidWlsdGluX2NvbW1pdF9ncmFwaF9yZWFkX3VzYWdlW10gPSB7Ci0JTl8oImdpdCBjb21taXQtZ3JhcGggcmVhZCBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIpLAorCU5fKCJnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSBbLS1zaGFsbG93XSBbLS1bbm8tXXByb2dyZXNzXSIpLAogCU5VTEwKIH07CiAKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYnVpbHRpbl9jb21taXRfZ3JhcGhfd3JpdGVfdXNhZ2VbXSA9IHsKLQlOXygiZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSBbLS1hcHBlbmRdIFstLXJlYWNoYWJsZXwtLXN0ZGluLXBhY2tzfC0tc3RkaW4tY29tbWl0c10iKSwKKwlOXygiZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSBbLS1hcHBlbmR8LS1zcGxpdF0gWy0tcmVhY2hhYmxlfC0tc3RkaW4tcGFja3N8LS1zdGRpbi1jb21taXRzXSBbLS1bbm8tXXByb2dyZXNzXSA8c3BsaXQgb3B0aW9ucz4iKSwKIAlOVUxMCiB9OwogCkBAIC0zNSw5NyArMjksOTYgQEAKIAlpbnQgc3RkaW5fcGFja3M7CiAJaW50IHN0ZGluX2NvbW1pdHM7CiAJaW50IGFwcGVuZDsKKwlpbnQgc3BsaXQ7CisJaW50IHNoYWxsb3c7CisJaW50IHByb2dyZXNzOwogfSBvcHRzOwogCitzdGF0aWMgc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKmZpbmRfb2RiKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCQkgY29uc3QgY2hhciAqb2JqX2RpcikKK3sKKwlzdHJ1Y3Qgb2JqZWN0X2RpcmVjdG9yeSAqb2RiOworCWNoYXIgKm9ial9kaXJfcmVhbCA9IHJlYWxfcGF0aGR1cChvYmpfZGlyLCAxKTsKKworCXByZXBhcmVfYWx0X29kYihyKTsKKwlmb3IgKG9kYiA9IHItPm9iamVjdHMtPm9kYjsgb2RiOyBvZGIgPSBvZGItPm5leHQpIHsKKwkJaWYgKCFzdHJjbXAob2JqX2Rpcl9yZWFsLCByZWFsX3BhdGgob2RiLT5wYXRoKSkpCisJCQlicmVhazsKKwl9CisKKwlmcmVlKG9ial9kaXJfcmVhbCk7CisKKwlpZiAoIW9kYikKKwkJZGllKF8oImNvdWxkIG5vdCBmaW5kIG9iamVjdCBkaXJlY3RvcnkgbWF0Y2hpbmcgJXMiKSwgb2JqX2Rpcik7CisJcmV0dXJuIG9kYjsKK30KIAogc3RhdGljIGludCBncmFwaF92ZXJpZnkoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQogewogCXN0cnVjdCBjb21taXRfZ3JhcGggKmdyYXBoID0gTlVMTDsKKwlzdHJ1Y3Qgb2JqZWN0X2RpcmVjdG9yeSAqb2RiID0gTlVMTDsKIAljaGFyICpncmFwaF9uYW1lOworCWludCBvcGVuX29rOworCWludCBmZDsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlpbnQgZmxhZ3MgPSAwOwogCiAJc3RhdGljIHN0cnVjdCBvcHRpb24gYnVpbHRpbl9jb21taXRfZ3JhcGhfdmVyaWZ5X29wdGlvbnNbXSA9IHsKIAkJT1BUX1NUUklORygwLCAib2JqZWN0LWRpciIsICZvcHRzLm9ial9kaXIsCiAJCQkgICBOXygiZGlyIiksCiAJCQkgICBOXygiVGhlIG9iamVjdCBkaXJlY3RvcnkgdG8gc3RvcmUgdGhlIGdyYXBoIikpLAorCQlPUFRfQk9PTCgwLCAic2hhbGxvdyIsICZvcHRzLnNoYWxsb3csCisJCQkgTl8oImlmIHRoZSBjb21taXQtZ3JhcGggaXMgc3BsaXQsIG9ubHkgdmVyaWZ5IHRoZSB0aXAgZmlsZSIpKSwKKwkJT1BUX0JPT0woMCwgInByb2dyZXNzIiwgJm9wdHMucHJvZ3Jlc3MsIE5fKCJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciKSksCiAJCU9QVF9FTkQoKSwKIAl9OwogCisJdHJhY2UyX2NtZF9tb2RlKCJ2ZXJpZnkiKTsKKworCW9wdHMucHJvZ3Jlc3MgPSBpc2F0dHkoMik7CiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgTlVMTCwKIAkJCSAgICAgYnVpbHRpbl9jb21taXRfZ3JhcGhfdmVyaWZ5X29wdGlvbnMsCiAJCQkgICAgIGJ1aWx0aW5fY29tbWl0X2dyYXBoX3ZlcmlmeV91c2FnZSwgMCk7CiAKIAlpZiAoIW9wdHMub2JqX2RpcikKIAkJb3B0cy5vYmpfZGlyID0gZ2V0X29iamVjdF9kaXJlY3RvcnkoKTsKKwlpZiAob3B0cy5zaGFsbG93KQorCQlmbGFncyB8PSBDT01NSVRfR1JBUEhfVkVSSUZZX1NIQUxMT1c7CisJaWYgKG9wdHMucHJvZ3Jlc3MpCisJCWZsYWdzIHw9IENPTU1JVF9HUkFQSF9XUklURV9QUk9HUkVTUzsKIAotCWdyYXBoX25hbWUgPSBnZXRfY29tbWl0X2dyYXBoX2ZpbGVuYW1lKG9wdHMub2JqX2Rpcik7Ci0JZ3JhcGggPSBsb2FkX2NvbW1pdF9ncmFwaF9vbmUoZ3JhcGhfbmFtZSk7Ci0JRlJFRV9BTkRfTlVMTChncmFwaF9uYW1lKTsKLQotCWlmICghZ3JhcGgpCi0JCXJldHVybiAwOwotCi0JVU5MRUFLKGdyYXBoKTsKLQlyZXR1cm4gdmVyaWZ5X2NvbW1pdF9ncmFwaCh0aGVfcmVwb3NpdG9yeSwgZ3JhcGgpOwotfQotCi1zdGF0aWMgaW50IGdyYXBoX3JlYWQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQotewotCXN0cnVjdCBjb21taXRfZ3JhcGggKmdyYXBoID0gTlVMTDsKLQljaGFyICpncmFwaF9uYW1lOwotCi0Jc3RhdGljIHN0cnVjdCBvcHRpb24gYnVpbHRpbl9jb21taXRfZ3JhcGhfcmVhZF9vcHRpb25zW10gPSB7Ci0JCU9QVF9TVFJJTkcoMCwgIm9iamVjdC1kaXIiLCAmb3B0cy5vYmpfZGlyLAotCQkJTl8oImRpciIpLAotCQkJTl8oIlRoZSBvYmplY3QgZGlyZWN0b3J5IHRvIHN0b3JlIHRoZSBncmFwaCIpKSwKLQkJT1BUX0VORCgpLAotCX07Ci0KLQlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBOVUxMLAotCQkJICAgICBidWlsdGluX2NvbW1pdF9ncmFwaF9yZWFkX29wdGlvbnMsCi0JCQkgICAgIGJ1aWx0aW5fY29tbWl0X2dyYXBoX3JlYWRfdXNhZ2UsIDApOwotCi0JaWYgKCFvcHRzLm9ial9kaXIpCi0JCW9wdHMub2JqX2RpciA9IGdldF9vYmplY3RfZGlyZWN0b3J5KCk7Ci0KLQlncmFwaF9uYW1lID0gZ2V0X2NvbW1pdF9ncmFwaF9maWxlbmFtZShvcHRzLm9ial9kaXIpOwotCWdyYXBoID0gbG9hZF9jb21taXRfZ3JhcGhfb25lKGdyYXBoX25hbWUpOwotCi0JaWYgKCFncmFwaCkKLQkJZGllKCJncmFwaCBmaWxlICVzIGRvZXMgbm90IGV4aXN0IiwgZ3JhcGhfbmFtZSk7CisJb2RiID0gZmluZF9vZGIodGhlX3JlcG9zaXRvcnksIG9wdHMub2JqX2Rpcik7CisJZ3JhcGhfbmFtZSA9IGdldF9jb21taXRfZ3JhcGhfZmlsZW5hbWUob2RiKTsKKwlvcGVuX29rID0gb3Blbl9jb21taXRfZ3JhcGgoZ3JhcGhfbmFtZSwgJmZkLCAmc3QpOworCWlmICghb3Blbl9vayAmJiBlcnJubyAhPSBFTk9FTlQpCisJCWRpZV9lcnJubyhfKCJDb3VsZCBub3Qgb3BlbiBjb21taXQtZ3JhcGggJyVzJyIpLCBncmFwaF9uYW1lKTsKIAogCUZSRUVfQU5EX05VTEwoZ3JhcGhfbmFtZSk7CiAKLQlwcmludGYoImhlYWRlcjogJTA4eCAlZCAlZCAlZCAlZFxuIiwKLQkJbnRvaGwoKih1aW50MzJfdCopZ3JhcGgtPmRhdGEpLAotCQkqKHVuc2lnbmVkIGNoYXIqKShncmFwaC0+ZGF0YSArIDQpLAotCQkqKHVuc2lnbmVkIGNoYXIqKShncmFwaC0+ZGF0YSArIDUpLAotCQkqKHVuc2lnbmVkIGNoYXIqKShncmFwaC0+ZGF0YSArIDYpLAotCQkqKHVuc2lnbmVkIGNoYXIqKShncmFwaC0+ZGF0YSArIDcpKTsKLQlwcmludGYoIm51bV9jb21taXRzOiAldVxuIiwgZ3JhcGgtPm51bV9jb21taXRzKTsKLQlwcmludGYoImNodW5rczoiKTsKKwlpZiAob3Blbl9vaykKKwkJZ3JhcGggPSBsb2FkX2NvbW1pdF9ncmFwaF9vbmVfZmRfc3QoZmQsICZzdCwgb2RiKTsKKwllbHNlCisJCWdyYXBoID0gcmVhZF9jb21taXRfZ3JhcGhfb25lKHRoZV9yZXBvc2l0b3J5LCBvZGIpOwogCi0JaWYgKGdyYXBoLT5jaHVua19vaWRfZmFub3V0KQotCQlwcmludGYoIiBvaWRfZmFub3V0Iik7Ci0JaWYgKGdyYXBoLT5jaHVua19vaWRfbG9va3VwKQotCQlwcmludGYoIiBvaWRfbG9va3VwIik7Ci0JaWYgKGdyYXBoLT5jaHVua19jb21taXRfZGF0YSkKLQkJcHJpbnRmKCIgY29tbWl0X21ldGFkYXRhIik7Ci0JaWYgKGdyYXBoLT5jaHVua19sYXJnZV9lZGdlcykKLQkJcHJpbnRmKCIgbGFyZ2VfZWRnZXMiKTsKLQlwcmludGYoIlxuIik7CisJLyogUmV0dXJuIGZhaWx1cmUgaWYgb3Blbl9vayBwcmVkaWN0ZWQgc3VjY2VzcyAqLworCWlmICghZ3JhcGgpCisJCXJldHVybiAhIW9wZW5fb2s7CiAKIAlVTkxFQUsoZ3JhcGgpOwotCi0JcmV0dXJuIDA7CisJcmV0dXJuIHZlcmlmeV9jb21taXRfZ3JhcGgodGhlX3JlcG9zaXRvcnksIGdyYXBoLCBmbGFncyk7CiB9CiAKIGV4dGVybiBpbnQgcmVhZF9yZXBsYWNlX3JlZnM7CitzdGF0aWMgc3RydWN0IHNwbGl0X2NvbW1pdF9ncmFwaF9vcHRzIHNwbGl0X29wdHM7CiAKIHN0YXRpYyBpbnQgZ3JhcGhfd3JpdGUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQogewogCXN0cnVjdCBzdHJpbmdfbGlzdCAqcGFja19pbmRleGVzID0gTlVMTDsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmNvbW1pdF9oZXggPSBOVUxMOworCXN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICpvZGIgPSBOVUxMOwogCXN0cnVjdCBzdHJpbmdfbGlzdCBsaW5lczsKKwlpbnQgcmVzdWx0ID0gMDsKKwllbnVtIGNvbW1pdF9ncmFwaF93cml0ZV9mbGFncyBmbGFncyA9IDA7CiAKIAlzdGF0aWMgc3RydWN0IG9wdGlvbiBidWlsdGluX2NvbW1pdF9ncmFwaF93cml0ZV9vcHRpb25zW10gPSB7CiAJCU9QVF9TVFJJTkcoMCwgIm9iamVjdC1kaXIiLCAmb3B0cy5vYmpfZGlyLApAQCAtMTM5LDkgKzEzMiwyNSBAQAogCQkJTl8oInN0YXJ0IHdhbGsgYXQgY29tbWl0cyBsaXN0ZWQgYnkgc3RkaW4iKSksCiAJCU9QVF9CT09MKDAsICJhcHBlbmQiLCAmb3B0cy5hcHBlbmQsCiAJCQlOXygiaW5jbHVkZSBhbGwgY29tbWl0cyBhbHJlYWR5IGluIHRoZSBjb21taXQtZ3JhcGggZmlsZSIpKSwKKwkJT1BUX0JPT0woMCwgInByb2dyZXNzIiwgJm9wdHMucHJvZ3Jlc3MsIE5fKCJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciKSksCisJCU9QVF9CT09MKDAsICJzcGxpdCIsICZvcHRzLnNwbGl0LAorCQkJTl8oImFsbG93IHdyaXRpbmcgYW4gaW5jcmVtZW50YWwgY29tbWl0LWdyYXBoIGZpbGUiKSksCisJCU9QVF9JTlRFR0VSKDAsICJtYXgtY29tbWl0cyIsICZzcGxpdF9vcHRzLm1heF9jb21taXRzLAorCQkJTl8oIm1heGltdW0gbnVtYmVyIG9mIGNvbW1pdHMgaW4gYSBub24tYmFzZSBzcGxpdCBjb21taXQtZ3JhcGgiKSksCisJCU9QVF9JTlRFR0VSKDAsICJzaXplLW11bHRpcGxlIiwgJnNwbGl0X29wdHMuc2l6ZV9tdWx0aXBsZSwKKwkJCU5fKCJtYXhpbXVtIHJhdGlvIGJldHdlZW4gdHdvIGxldmVscyBvZiBhIHNwbGl0IGNvbW1pdC1ncmFwaCIpKSwKKwkJT1BUX0VYUElSWV9EQVRFKDAsICJleHBpcmUtdGltZSIsICZzcGxpdF9vcHRzLmV4cGlyZV90aW1lLAorCQkJTl8oIm1heGltdW0gbnVtYmVyIG9mIGNvbW1pdHMgaW4gYSBub24tYmFzZSBzcGxpdCBjb21taXQtZ3JhcGgiKSksCiAJCU9QVF9FTkQoKSwKIAl9OwogCisJb3B0cy5wcm9ncmVzcyA9IGlzYXR0eSgyKTsKKwlzcGxpdF9vcHRzLnNpemVfbXVsdGlwbGUgPSAyOworCXNwbGl0X29wdHMubWF4X2NvbW1pdHMgPSAwOworCXNwbGl0X29wdHMuZXhwaXJlX3RpbWUgPSAwOworCisJdHJhY2UyX2NtZF9tb2RlKCJ3cml0ZSIpOworCiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgTlVMTCwKIAkJCSAgICAgYnVpbHRpbl9jb21taXRfZ3JhcGhfd3JpdGVfb3B0aW9ucywKIAkJCSAgICAgYnVpbHRpbl9jb21taXRfZ3JhcGhfd3JpdGVfdXNhZ2UsIDApOwpAQCAtMTUwLDExICsxNTksMTkgQEAKIAkJZGllKF8oInVzZSBhdCBtb3N0IG9uZSBvZiAtLXJlYWNoYWJsZSwgLS1zdGRpbi1jb21taXRzLCBvciAtLXN0ZGluLXBhY2tzIikpOwogCWlmICghb3B0cy5vYmpfZGlyKQogCQlvcHRzLm9ial9kaXIgPSBnZXRfb2JqZWN0X2RpcmVjdG9yeSgpOworCWlmIChvcHRzLmFwcGVuZCkKKwkJZmxhZ3MgfD0gQ09NTUlUX0dSQVBIX1dSSVRFX0FQUEVORDsKKwlpZiAob3B0cy5zcGxpdCkKKwkJZmxhZ3MgfD0gQ09NTUlUX0dSQVBIX1dSSVRFX1NQTElUOworCWlmIChvcHRzLnByb2dyZXNzKQorCQlmbGFncyB8PSBDT01NSVRfR1JBUEhfV1JJVEVfUFJPR1JFU1M7CiAKIAlyZWFkX3JlcGxhY2VfcmVmcyA9IDA7CisJb2RiID0gZmluZF9vZGIodGhlX3JlcG9zaXRvcnksIG9wdHMub2JqX2Rpcik7CiAKIAlpZiAob3B0cy5yZWFjaGFibGUpIHsKLQkJd3JpdGVfY29tbWl0X2dyYXBoX3JlYWNoYWJsZShvcHRzLm9ial9kaXIsIG9wdHMuYXBwZW5kLCAxKTsKKwkJaWYgKHdyaXRlX2NvbW1pdF9ncmFwaF9yZWFjaGFibGUob2RiLCBmbGFncywgJnNwbGl0X29wdHMpKQorCQkJcmV0dXJuIDE7CiAJCXJldHVybiAwOwogCX0KIApAQCAtMTY3LDIwICsxODQsMjMgQEAKIAogCQlpZiAob3B0cy5zdGRpbl9wYWNrcykKIAkJCXBhY2tfaW5kZXhlcyA9ICZsaW5lczsKLQkJaWYgKG9wdHMuc3RkaW5fY29tbWl0cykKKwkJaWYgKG9wdHMuc3RkaW5fY29tbWl0cykgewogCQkJY29tbWl0X2hleCA9ICZsaW5lczsKKwkJCWZsYWdzIHw9IENPTU1JVF9HUkFQSF9XUklURV9DSEVDS19PSURTOworCQl9CiAKIAkJVU5MRUFLKGJ1Zik7CiAJfQogCi0Jd3JpdGVfY29tbWl0X2dyYXBoKG9wdHMub2JqX2RpciwKLQkJCSAgIHBhY2tfaW5kZXhlcywKLQkJCSAgIGNvbW1pdF9oZXgsCi0JCQkgICBvcHRzLmFwcGVuZCwKLQkJCSAgIDEpOworCWlmICh3cml0ZV9jb21taXRfZ3JhcGgob2RiLAorCQkJICAgICAgIHBhY2tfaW5kZXhlcywKKwkJCSAgICAgICBjb21taXRfaGV4LAorCQkJICAgICAgIGZsYWdzLAorCQkJICAgICAgICZzcGxpdF9vcHRzKSkKKwkJcmVzdWx0ID0gMTsKIAogCVVOTEVBSyhsaW5lcyk7Ci0JcmV0dXJuIDA7CisJcmV0dXJuIHJlc3VsdDsKIH0KIAogaW50IGNtZF9jb21taXRfZ3JhcGgoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCkBAIC0yMDIsOSArMjIyLDkgQEAKIAkJCSAgICAgYnVpbHRpbl9jb21taXRfZ3JhcGhfdXNhZ2UsCiAJCQkgICAgIFBBUlNFX09QVF9TVE9QX0FUX05PTl9PUFRJT04pOwogCisJc2F2ZV9jb21taXRfYnVmZmVyID0gMDsKKwogCWlmIChhcmdjID4gMCkgewotCQlpZiAoIXN0cmNtcChhcmd2WzBdLCAicmVhZCIpKQotCQkJcmV0dXJuIGdyYXBoX3JlYWQoYXJnYywgYXJndik7CiAJCWlmICghc3RyY21wKGFyZ3ZbMF0sICJ2ZXJpZnkiKSkKIAkJCXJldHVybiBncmFwaF92ZXJpZnkoYXJnYywgYXJndik7CiAJCWlmICghc3RyY21wKGFyZ3ZbMF0sICJ3cml0ZSIpKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9jb21taXQtdHJlZS5jIGIvYnVpbHRpbi9jb21taXQtdHJlZS5jCmluZGV4IDllYzM2YTguLmI4NjZkODMgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vY29tbWl0LXRyZWUuYworKysgYi9idWlsdGluL2NvbW1pdC10cmVlLmMKQEAgLTEyLDggKzEyLDEzIEBACiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgInV0ZjguaCIKICNpbmNsdWRlICJncGctaW50ZXJmYWNlLmgiCisjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogCi1zdGF0aWMgY29uc3QgY2hhciBjb21taXRfdHJlZV91c2FnZVtdID0gImdpdCBjb21taXQtdHJlZSBbKC1wIDxzaGExPikuLi5dIFstU1s8a2V5aWQ+XV0gWy1tIDxtZXNzYWdlPl0gWy1GIDxmaWxlPl0gPHNoYTE+IjsKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgY29tbWl0X3RyZWVfdXNhZ2VbXSA9IHsKKwlOXygiZ2l0IGNvbW1pdC10cmVlIFsoLXAgPHBhcmVudD4pLi4uXSBbLVNbPGtleWlkPl1dIFsoLW0gPG1lc3NhZ2U+KS4uLl0gIgorCQkiWygtRiA8ZmlsZT4pLi4uXSA8dHJlZT4iKSwKKwlOVUxMCit9OwogCiBzdGF0aWMgY29uc3QgY2hhciAqc2lnbl9jb21taXQ7CiAKQEAgLTIzLDcgKzI4LDcgQEAKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudHM7CiAJZm9yIChwYXJlbnRzID0gKnBhcmVudHNfcDsgcGFyZW50czsgcGFyZW50cyA9IHBhcmVudHMtPm5leHQpIHsKIAkJaWYgKHBhcmVudHMtPml0ZW0gPT0gcGFyZW50KSB7Ci0JCQllcnJvcigiZHVwbGljYXRlIHBhcmVudCAlcyBpZ25vcmVkIiwgb2lkX3RvX2hleChvaWQpKTsKKwkJCWVycm9yKF8oImR1cGxpY2F0ZSBwYXJlbnQgJXMgaWdub3JlZCIpLCBvaWRfdG9faGV4KG9pZCkpOwogCQkJcmV0dXJuOwogCQl9CiAJCXBhcmVudHNfcCA9ICZwYXJlbnRzLT5uZXh0OwpAQCAtMzksODUgKzQ0LDEwMCBAQAogCXJldHVybiBnaXRfZGVmYXVsdF9jb25maWcodmFyLCB2YWx1ZSwgY2IpOwogfQogCitzdGF0aWMgaW50IHBhcnNlX3BhcmVudF9hcmdfY2FsbGJhY2soY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCQljb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwlzdHJ1Y3QgY29tbWl0X2xpc3QgKipwYXJlbnRzID0gb3B0LT52YWx1ZTsKKworCUJVR19PTl9PUFRfTkVHX05PQVJHKHVuc2V0LCBhcmcpOworCisJaWYgKGdldF9vaWRfY29tbWl0KGFyZywgJm9pZCkpCisJCWRpZShfKCJub3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIpLCBhcmcpOworCisJYXNzZXJ0X29pZF90eXBlKCZvaWQsIE9CSl9DT01NSVQpOworCW5ld19wYXJlbnQobG9va3VwX2NvbW1pdCh0aGVfcmVwb3NpdG9yeSwgJm9pZCksIHBhcmVudHMpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHBhcnNlX21lc3NhZ2VfYXJnX2NhbGxiYWNrKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCit7CisJc3RydWN0IHN0cmJ1ZiAqYnVmID0gb3B0LT52YWx1ZTsKKworCUJVR19PTl9PUFRfTkVHX05PQVJHKHVuc2V0LCBhcmcpOworCisJaWYgKGJ1Zi0+bGVuKQorCQlzdHJidWZfYWRkY2goYnVmLCAnXG4nKTsKKwlzdHJidWZfYWRkc3RyKGJ1ZiwgYXJnKTsKKwlzdHJidWZfY29tcGxldGVfbGluZShidWYpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcGFyc2VfZmlsZV9hcmdfY2FsbGJhY2soY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCQljb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlpbnQgZmQ7CisJc3RydWN0IHN0cmJ1ZiAqYnVmID0gb3B0LT52YWx1ZTsKKworCUJVR19PTl9PUFRfTkVHX05PQVJHKHVuc2V0LCBhcmcpOworCisJaWYgKGJ1Zi0+bGVuKQorCQlzdHJidWZfYWRkY2goYnVmLCAnXG4nKTsKKwlpZiAoIXN0cmNtcChhcmcsICItIikpCisJCWZkID0gMDsKKwllbHNlIHsKKwkJZmQgPSBvcGVuKGFyZywgT19SRE9OTFkpOworCQlpZiAoZmQgPCAwKQorCQkJZGllX2Vycm5vKF8oImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIG9wZW4gJyVzJyIpLCBhcmcpOworCX0KKwlpZiAoc3RyYnVmX3JlYWQoYnVmLCBmZCwgMCkgPCAwKQorCQlkaWVfZXJybm8oXygiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gcmVhZCAnJXMnIiksIGFyZyk7CisJaWYgKGZkICYmIGNsb3NlKGZkKSkKKwkJZGllX2Vycm5vKF8oImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIGNsb3NlICclcyciKSwgYXJnKTsKKworCXJldHVybiAwOworfQorCiBpbnQgY21kX2NvbW1pdF90cmVlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewotCWludCBpLCBnb3RfdHJlZSA9IDA7CisJc3RhdGljIHN0cnVjdCBzdHJidWYgYnVmZmVyID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzID0gTlVMTDsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIHRyZWVfb2lkOwogCXN0cnVjdCBvYmplY3RfaWQgY29tbWl0X29pZDsKLQlzdHJ1Y3Qgc3RyYnVmIGJ1ZmZlciA9IFNUUkJVRl9JTklUOworCisJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CisJCXsgT1BUSU9OX0NBTExCQUNLLCAncCcsIE5VTEwsICZwYXJlbnRzLCBOXygicGFyZW50IiksCisJCQlOXygiaWQgb2YgYSBwYXJlbnQgY29tbWl0IG9iamVjdCIpLCBQQVJTRV9PUFRfTk9ORUcsCisJCQlwYXJzZV9wYXJlbnRfYXJnX2NhbGxiYWNrIH0sCisJCXsgT1BUSU9OX0NBTExCQUNLLCAnbScsIE5VTEwsICZidWZmZXIsIE5fKCJtZXNzYWdlIiksCisJCQlOXygiY29tbWl0IG1lc3NhZ2UiKSwgUEFSU0VfT1BUX05PTkVHLAorCQkJcGFyc2VfbWVzc2FnZV9hcmdfY2FsbGJhY2sgfSwKKwkJeyBPUFRJT05fQ0FMTEJBQ0ssICdGJywgTlVMTCwgJmJ1ZmZlciwgTl8oImZpbGUiKSwKKwkJCU5fKCJyZWFkIGNvbW1pdCBsb2cgbWVzc2FnZSBmcm9tIGZpbGUiKSwgUEFSU0VfT1BUX05PTkVHLAorCQkJcGFyc2VfZmlsZV9hcmdfY2FsbGJhY2sgfSwKKwkJeyBPUFRJT05fU1RSSU5HLCAnUycsICJncGctc2lnbiIsICZzaWduX2NvbW1pdCwgTl8oImtleS1pZCIpLAorCQkJTl8oIkdQRyBzaWduIGNvbW1pdCIpLCBQQVJTRV9PUFRfT1BUQVJHLCBOVUxMLCAoaW50cHRyX3QpICIiIH0sCisJCU9QVF9FTkQoKQorCX07CiAKIAlnaXRfY29uZmlnKGNvbW1pdF90cmVlX2NvbmZpZywgTlVMTCk7CiAKIAlpZiAoYXJnYyA8IDIgfHwgIXN0cmNtcChhcmd2WzFdLCAiLWgiKSkKLQkJdXNhZ2UoY29tbWl0X3RyZWVfdXNhZ2UpOworCQl1c2FnZV93aXRoX29wdGlvbnMoY29tbWl0X3RyZWVfdXNhZ2UsIG9wdGlvbnMpOwogCi0JZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKykgewotCQljb25zdCBjaGFyICphcmcgPSBhcmd2W2ldOwotCQlpZiAoIXN0cmNtcChhcmcsICItcCIpKSB7Ci0JCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKLQkJCWlmIChhcmdjIDw9ICsraSkKLQkJCQl1c2FnZShjb21taXRfdHJlZV91c2FnZSk7Ci0JCQlpZiAoZ2V0X29pZF9jb21taXQoYXJndltpXSwgJm9pZCkpCi0JCQkJZGllKCJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIsIGFyZ3ZbaV0pOwotCQkJYXNzZXJ0X29pZF90eXBlKCZvaWQsIE9CSl9DT01NSVQpOwotCQkJbmV3X3BhcmVudChsb29rdXBfY29tbWl0KHRoZV9yZXBvc2l0b3J5LCAmb2lkKSwKLQkJCQkJCSAmcGFyZW50cyk7Ci0JCQljb250aW51ZTsKLQkJfQorCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0aW9ucywgY29tbWl0X3RyZWVfdXNhZ2UsIDApOwogCi0JCWlmIChza2lwX3ByZWZpeChhcmcsICItUyIsICZzaWduX2NvbW1pdCkpCi0JCQljb250aW51ZTsKKwlpZiAoYXJnYyAhPSAxKQorCQlkaWUoXygibXVzdCBnaXZlIGV4YWN0bHkgb25lIHRyZWUiKSk7CiAKLQkJaWYgKCFzdHJjbXAoYXJnLCAiLS1uby1ncGctc2lnbiIpKSB7Ci0JCQlzaWduX2NvbW1pdCA9IE5VTEw7Ci0JCQljb250aW51ZTsKLQkJfQotCi0JCWlmICghc3RyY21wKGFyZywgIi1tIikpIHsKLQkJCWlmIChhcmdjIDw9ICsraSkKLQkJCQl1c2FnZShjb21taXRfdHJlZV91c2FnZSk7Ci0JCQlpZiAoYnVmZmVyLmxlbikKLQkJCQlzdHJidWZfYWRkY2goJmJ1ZmZlciwgJ1xuJyk7Ci0JCQlzdHJidWZfYWRkc3RyKCZidWZmZXIsIGFyZ3ZbaV0pOwotCQkJc3RyYnVmX2NvbXBsZXRlX2xpbmUoJmJ1ZmZlcik7Ci0JCQljb250aW51ZTsKLQkJfQotCi0JCWlmICghc3RyY21wKGFyZywgIi1GIikpIHsKLQkJCWludCBmZDsKLQotCQkJaWYgKGFyZ2MgPD0gKytpKQotCQkJCXVzYWdlKGNvbW1pdF90cmVlX3VzYWdlKTsKLQkJCWlmIChidWZmZXIubGVuKQotCQkJCXN0cmJ1Zl9hZGRjaCgmYnVmZmVyLCAnXG4nKTsKLQkJCWlmICghc3RyY21wKGFyZ3ZbaV0sICItIikpCi0JCQkJZmQgPSAwOwotCQkJZWxzZSB7Ci0JCQkJZmQgPSBvcGVuKGFyZ3ZbaV0sIE9fUkRPTkxZKTsKLQkJCQlpZiAoZmQgPCAwKQotCQkJCQlkaWVfZXJybm8oImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIG9wZW4gJyVzJyIsCi0JCQkJCQkgIGFyZ3ZbaV0pOwotCQkJfQotCQkJaWYgKHN0cmJ1Zl9yZWFkKCZidWZmZXIsIGZkLCAwKSA8IDApCi0JCQkJZGllX2Vycm5vKCJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byByZWFkICclcyciLAotCQkJCQkgIGFyZ3ZbaV0pOwotCQkJaWYgKGZkICYmIGNsb3NlKGZkKSkKLQkJCQlkaWVfZXJybm8oImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIGNsb3NlICclcyciLAotCQkJCQkgIGFyZ3ZbaV0pOwotCQkJY29udGludWU7Ci0JCX0KLQotCQlpZiAoZ2V0X29pZF90cmVlKGFyZywgJnRyZWVfb2lkKSkKLQkJCWRpZSgiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiLCBhcmcpOwotCQlpZiAoZ290X3RyZWUpCi0JCQlkaWUoIkNhbm5vdCBnaXZlIG1vcmUgdGhhbiBvbmUgdHJlZXMiKTsKLQkJZ290X3RyZWUgPSAxOwotCX0KKwlpZiAoZ2V0X29pZF90cmVlKGFyZ3ZbMF0sICZ0cmVlX29pZCkpCisJCWRpZShfKCJub3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIpLCBhcmd2WzBdKTsKIAogCWlmICghYnVmZmVyLmxlbikgewogCQlpZiAoc3RyYnVmX3JlYWQoJmJ1ZmZlciwgMCwgMCkgPCAwKQotCQkJZGllX2Vycm5vKCJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byByZWFkIik7CisJCQlkaWVfZXJybm8oXygiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gcmVhZCIpKTsKIAl9CiAKIAlpZiAoY29tbWl0X3RyZWUoYnVmZmVyLmJ1ZiwgYnVmZmVyLmxlbiwgJnRyZWVfb2lkLCBwYXJlbnRzLCAmY29tbWl0X29pZCwKZGlmZiAtLWdpdCBhL2J1aWx0aW4vY29tbWl0LmMgYi9idWlsdGluL2NvbW1pdC5jCmluZGV4IGMwMjFiMTEuLjdiYTMzYTMgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vY29tbWl0LmMKKysrIGIvYnVpbHRpbi9jb21taXQuYwpAQCAtNSw2ICs1LDcgQEAKICAqIEJhc2VkIG9uIGdpdC1jb21taXQuc2ggYnkgSnVuaW8gQyBIYW1hbm8gYW5kIExpbnVzIFRvcnZhbGRzCiAgKi8KIAorI2RlZmluZSBVU0VfVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJsb2NrZmlsZS5oIgpAQCAtNTksMTUgKzYwLDE4IEBACiAiXG4iKTsKIAogc3RhdGljIGNvbnN0IGNoYXIgZW1wdHlfY2hlcnJ5X3BpY2tfYWR2aWNlX3NpbmdsZVtdID0KLU5fKCJPdGhlcndpc2UsIHBsZWFzZSB1c2UgJ2dpdCByZXNldCdcbiIpOworTl8oIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IGNoZXJyeS1waWNrIC0tc2tpcCdcbiIpOwogCiBzdGF0aWMgY29uc3QgY2hhciBlbXB0eV9jaGVycnlfcGlja19hZHZpY2VfbXVsdGlbXSA9Ci1OXygiSWYgeW91IHdpc2ggdG8gc2tpcCB0aGlzIGNvbW1pdCwgdXNlOlxuIgorTl8oImFuZCB0aGVuIHVzZTpcbiIKICJcbiIKLSIgICAgZ2l0IHJlc2V0XG4iCisiICAgIGdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXG4iCiAiXG4iCi0iVGhlbiBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgd2lsbCByZXN1bWUgY2hlcnJ5LXBpY2tpbmdcbiIKLSJ0aGUgcmVtYWluaW5nIGNvbW1pdHMuXG4iKTsKKyJ0byByZXN1bWUgY2hlcnJ5LXBpY2tpbmcgdGhlIHJlbWFpbmluZyBjb21taXRzLlxuIgorIklmIHlvdSB3aXNoIHRvIHNraXAgdGhpcyBjb21taXQsIHVzZTpcbiIKKyJcbiIKKyIgICAgZ2l0IGNoZXJyeS1waWNrIC0tc2tpcFxuIgorIlxuIik7CiAKIHN0YXRpYyBjb25zdCBjaGFyICpjb2xvcl9zdGF0dXNfc2xvdHNbXSA9IHsKIAlbV1RfU1RBVFVTX0hFQURFUl0JICA9ICJoZWFkZXIiLApAQCAtMTAzLDkgKzEwNyw5IEBACiBzdGF0aWMgaW50IGVkaXRfZmxhZyA9IC0xOyAvKiB1bnNwZWNpZmllZCAqLwogc3RhdGljIGludCBxdWlldCwgdmVyYm9zZSwgbm9fdmVyaWZ5LCBhbGxvd19lbXB0eSwgZHJ5X3J1biwgcmVuZXdfYXV0aG9yc2hpcDsKIHN0YXRpYyBpbnQgY29uZmlnX2NvbW1pdF92ZXJib3NlID0gLTE7IC8qIHVuc3BlY2lmaWVkICovCi1zdGF0aWMgaW50IG5vX3Bvc3RfcmV3cml0ZSwgYWxsb3dfZW1wdHlfbWVzc2FnZTsKK3N0YXRpYyBpbnQgbm9fcG9zdF9yZXdyaXRlLCBhbGxvd19lbXB0eV9tZXNzYWdlLCBwYXRoc3BlY19maWxlX251bDsKIHN0YXRpYyBjaGFyICp1bnRyYWNrZWRfZmlsZXNfYXJnLCAqZm9yY2VfZGF0ZSwgKmlnbm9yZV9zdWJtb2R1bGVfYXJnLCAqaWdub3JlZF9hcmc7Ci1zdGF0aWMgY2hhciAqc2lnbl9jb21taXQ7CitzdGF0aWMgY2hhciAqc2lnbl9jb21taXQsICpwYXRoc3BlY19mcm9tX2ZpbGU7CiAKIC8qCiAgKiBUaGUgZGVmYXVsdCBjb21taXQgbWVzc2FnZSBjbGVhbnVwIG1vZGUgd2lsbCByZW1vdmUgdGhlIGxpbmVzCkBAIC0xODgsNyArMTkyLDcgQEAKIAogc3RhdGljIHZvaWQgc3RhdHVzX2luaXRfY29uZmlnKHN0cnVjdCB3dF9zdGF0dXMgKnMsIGNvbmZpZ19mbl90IGZuKQogewotCXd0X3N0YXR1c19wcmVwYXJlKHMpOworCXd0X3N0YXR1c19wcmVwYXJlKHRoZV9yZXBvc2l0b3J5LCBzKTsKIAlpbml0X2RpZmZfdWlfZGVmYXVsdHMoKTsKIAlnaXRfY29uZmlnKGZuLCBzKTsKIAlkZXRlcm1pbmVfd2hlbmNlKHMpOwpAQCAtMjM0LDcgKzIzOCw3IEBACiAgKiBhbmQgcmV0dXJuIHRoZSBwYXRocyB0aGF0IG1hdGNoIHRoZSBnaXZlbiBwYXR0ZXJuIGluIGxpc3QuCiAgKi8KIHN0YXRpYyBpbnQgbGlzdF9wYXRocyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QsIGNvbnN0IGNoYXIgKndpdGhfdHJlZSwKLQkJICAgICAgY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdHRlcm4pCisJCSAgICAgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0dGVybikKIHsKIAlpbnQgaSwgcmV0OwogCWNoYXIgKm07CkBAIC0yNjMsNyArMjY3LDcgQEAKIAkJCWl0ZW0tPnV0aWwgPSBpdGVtOyAvKiBiZXR0ZXIgYSB2YWxpZCBwb2ludGVyIHRoYW4gYSBmYWtlIG9uZSAqLwogCX0KIAotCXJldCA9IHJlcG9ydF9wYXRoX2Vycm9yKG0sIHBhdHRlcm4sIHByZWZpeCk7CisJcmV0ID0gcmVwb3J0X3BhdGhfZXJyb3IobSwgcGF0dGVybik7CiAJZnJlZShtKTsKIAlyZXR1cm4gcmV0OwogfQpAQCAtMzM5LDExICszNDMsMzEgQEAKIAkJICAgICAgIFBBVEhTUEVDX1BSRUZFUl9GVUxMLAogCQkgICAgICAgcHJlZml4LCBhcmd2KTsKIAorCWlmIChwYXRoc3BlY19mcm9tX2ZpbGUpIHsKKwkJaWYgKGludGVyYWN0aXZlKQorCQkJZGllKF8oIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0taW50ZXJhY3RpdmUvLS1wYXRjaCIpKTsKKworCQlpZiAoYWxsKQorCQkJZGllKF8oIi0tcGF0aHNwZWMtZnJvbS1maWxlIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZSIpKTsKKworCQlpZiAocGF0aHNwZWMubnIpCisJCQlkaWUoXygiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggcGF0aHNwZWMgYXJndW1lbnRzIikpOworCisJCXBhcnNlX3BhdGhzcGVjX2ZpbGUoJnBhdGhzcGVjLCAwLAorCQkJCSAgICBQQVRIU1BFQ19QUkVGRVJfRlVMTCwKKwkJCQkgICAgcHJlZml4LCBwYXRoc3BlY19mcm9tX2ZpbGUsIHBhdGhzcGVjX2ZpbGVfbnVsKTsKKwl9IGVsc2UgaWYgKHBhdGhzcGVjX2ZpbGVfbnVsKSB7CisJCWRpZShfKCItLXBhdGhzcGVjLWZpbGUtbnVsIHJlcXVpcmVzIC0tcGF0aHNwZWMtZnJvbS1maWxlIikpOworCX0KKworCWlmICghcGF0aHNwZWMubnIgJiYgKGFsc28gfHwgKG9ubHkgJiYgIWFtZW5kICYmICFhbGxvd19lbXB0eSkpKQorCQlkaWUoXygiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIikpOworCiAJaWYgKHJlYWRfY2FjaGVfcHJlbG9hZCgmcGF0aHNwZWMpIDwgMCkKIAkJZGllKF8oImluZGV4IGZpbGUgY29ycnVwdCIpKTsKIAogCWlmIChpbnRlcmFjdGl2ZSkgewotCQljaGFyICpvbGRfaW5kZXhfZW52ID0gTlVMTDsKKwkJY2hhciAqb2xkX2luZGV4X2VudiA9IE5VTEwsICpvbGRfcmVwb19pbmRleF9maWxlOwogCQlob2xkX2xvY2tlZF9pbmRleCgmaW5kZXhfbG9jaywgTE9DS19ESUVfT05fRVJST1IpOwogCiAJCXJlZnJlc2hfY2FjaGVfb3JfZGllKHJlZnJlc2hfZmxhZ3MpOwpAQCAtMzUxLDE2ICszNzUsMjEgQEAKIAkJaWYgKHdyaXRlX2xvY2tlZF9pbmRleCgmdGhlX2luZGV4LCAmaW5kZXhfbG9jaywgMCkpCiAJCQlkaWUoXygidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgaW5kZXgiKSk7CiAKLQkJb2xkX2luZGV4X2VudiA9IGdldGVudihJTkRFWF9FTlZJUk9OTUVOVCk7Ci0JCXNldGVudihJTkRFWF9FTlZJUk9OTUVOVCwgZ2V0X2xvY2tfZmlsZV9wYXRoKCZpbmRleF9sb2NrKSwgMSk7CisJCW9sZF9yZXBvX2luZGV4X2ZpbGUgPSB0aGVfcmVwb3NpdG9yeS0+aW5kZXhfZmlsZTsKKwkJdGhlX3JlcG9zaXRvcnktPmluZGV4X2ZpbGUgPQorCQkJKGNoYXIgKilnZXRfbG9ja19maWxlX3BhdGgoJmluZGV4X2xvY2spOworCQlvbGRfaW5kZXhfZW52ID0geHN0cmR1cF9vcl9udWxsKGdldGVudihJTkRFWF9FTlZJUk9OTUVOVCkpOworCQlzZXRlbnYoSU5ERVhfRU5WSVJPTk1FTlQsIHRoZV9yZXBvc2l0b3J5LT5pbmRleF9maWxlLCAxKTsKIAogCQlpZiAoaW50ZXJhY3RpdmVfYWRkKGFyZ2MsIGFyZ3YsIHByZWZpeCwgcGF0Y2hfaW50ZXJhY3RpdmUpICE9IDApCiAJCQlkaWUoXygiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIpKTsKIAorCQl0aGVfcmVwb3NpdG9yeS0+aW5kZXhfZmlsZSA9IG9sZF9yZXBvX2luZGV4X2ZpbGU7CiAJCWlmIChvbGRfaW5kZXhfZW52ICYmICpvbGRfaW5kZXhfZW52KQogCQkJc2V0ZW52KElOREVYX0VOVklST05NRU5ULCBvbGRfaW5kZXhfZW52LCAxKTsKIAkJZWxzZQogCQkJdW5zZXRlbnYoSU5ERVhfRU5WSVJPTk1FTlQpOworCQlGUkVFX0FORF9OVUxMKG9sZF9pbmRleF9lbnYpOwogCiAJCWRpc2NhcmRfY2FjaGUoKTsKIAkJcmVhZF9jYWNoZV9mcm9tKGdldF9sb2NrX2ZpbGVfcGF0aCgmaW5kZXhfbG9jaykpOwpAQCAtNDUyLDcgKzQ4MSw3IEBACiAJCQlkaWUoXygiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIikpOwogCX0KIAotCWlmIChsaXN0X3BhdGhzKCZwYXJ0aWFsLCAhY3VycmVudF9oZWFkID8gTlVMTCA6ICJIRUFEIiwgcHJlZml4LCAmcGF0aHNwZWMpKQorCWlmIChsaXN0X3BhdGhzKCZwYXJ0aWFsLCAhY3VycmVudF9oZWFkID8gTlVMTCA6ICJIRUFEIiwgJnBhdGhzcGVjKSkKIAkJZXhpdCgxKTsKIAogCWRpc2NhcmRfY2FjaGUoKTsKQEAgLTUwNSw3ICs1MzQsNyBAQAogCXMtPm5vd2FybiA9IG5vd2FybjsKIAlzLT5pc19pbml0aWFsID0gZ2V0X29pZChzLT5yZWZlcmVuY2UsICZvaWQpID8gMSA6IDA7CiAJaWYgKCFzLT5pc19pbml0aWFsKQotCQloYXNoY3B5KHMtPnNoYTFfY29tbWl0LCBvaWQuaGFzaCk7CisJCW9pZGNweSgmcy0+b2lkX2NvbW1pdCwgJm9pZCk7CiAJcy0+c3RhdHVzX2Zvcm1hdCA9IHN0YXR1c19mb3JtYXQ7CiAJcy0+aWdub3JlX3N1Ym1vZHVsZV9hcmcgPSBpZ25vcmVfc3VibW9kdWxlX2FyZzsKIApAQCAtNTMyLDcgKzU2MSw3IEBACiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAlpZiAoaGFjaykKIAkJc3RyYnVmX2FkZGNoKCZidWYsIGhhY2spOwotCXN0cmJ1Zl9hZGRmKCZidWYsICIlLipzIiwgKGludCkoZSAtIHMpLCBzKTsKKwlzdHJidWZfYWRkKCZidWYsIHMsIGUgLSBzKTsKIAlzZXRlbnYodmFyLCBidWYuYnVmLCAxKTsKIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIH0KQEAgLTYwNyw3ICs2MzYsOCBAQAogCQlzZXRfaWRlbnRfdmFyKCZkYXRlLCBzdHJidWZfZGV0YWNoKCZkYXRlX2J1ZiwgTlVMTCkpOwogCX0KIAotCXN0cmJ1Zl9hZGRzdHIoYXV0aG9yX2lkZW50LCBmbXRfaWRlbnQobmFtZSwgZW1haWwsIGRhdGUsIElERU5UX1NUUklDVCkpOworCXN0cmJ1Zl9hZGRzdHIoYXV0aG9yX2lkZW50LCBmbXRfaWRlbnQobmFtZSwgZW1haWwsIFdBTlRfQVVUSE9SX0lERU5ULCBkYXRlLAorCQkJCUlERU5UX1NUUklDVCkpOwogCWFzc2VydF9zcGxpdF9pZGVudCgmYXV0aG9yLCBhdXRob3JfaWRlbnQpOwogCWV4cG9ydF9vbmUoIkdJVF9BVVRIT1JfTkFNRSIsIGF1dGhvci5uYW1lX2JlZ2luLCBhdXRob3IubmFtZV9lbmQsIDApOwogCWV4cG9ydF9vbmUoIkdJVF9BVVRIT1JfRU1BSUwiLCBhdXRob3IubWFpbF9iZWdpbiwgYXV0aG9yLm1haWxfZW5kLCAwKTsKQEAgLTY2NSw2ICs2OTUsNyBAQAogCWNvbnN0IGNoYXIgKmhvb2tfYXJnMiA9IE5VTEw7CiAJaW50IGNsZWFuX21lc3NhZ2VfY29udGVudHMgPSAoY2xlYW51cF9tb2RlICE9IENPTU1JVF9NU0dfQ0xFQU5VUF9OT05FKTsKIAlpbnQgb2xkX2Rpc3BsYXlfY29tbWVudF9wcmVmaXg7CisJaW50IG1lcmdlX2NvbnRhaW5zX3NjaXNzb3JzID0gMDsKIAogCS8qIFRoaXMgY2hlY2tzIGFuZCBiYXJmcyBpZiBhdXRob3IgaXMgYmFkbHkgc3BlY2lmaWVkICovCiAJZGV0ZXJtaW5lX2F1dGhvcl9pbmZvKGF1dGhvcl9pZGVudCk7CkBAIC03MjUsNiArNzU2LDggQEAKIAkJCXN0cmJ1Zl9hZGRidWYoJnNiLCAmbWVzc2FnZSk7CiAJCWhvb2tfYXJnMSA9ICJtZXNzYWdlIjsKIAl9IGVsc2UgaWYgKCFzdGF0KGdpdF9wYXRoX21lcmdlX21zZyh0aGVfcmVwb3NpdG9yeSksICZzdGF0YnVmKSkgeworCQlzaXplX3QgbWVyZ2VfbXNnX3N0YXJ0OworCiAJCS8qCiAJCSAqIHByZXBlbmQgU1FVQVNIX01TRyBoZXJlIGlmIGl0IGV4aXN0cyBhbmQgYQogCQkgKiAibWVyZ2UgLS1zcXVhc2giIHdhcyBvcmlnaW5hbGx5IHBlcmZvcm1lZApAQCAtNzM1LDggKzc2OCwxNiBAQAogCQkJaG9va19hcmcxID0gInNxdWFzaCI7CiAJCX0gZWxzZQogCQkJaG9va19hcmcxID0gIm1lcmdlIjsKKworCQltZXJnZV9tc2dfc3RhcnQgPSBzYi5sZW47CiAJCWlmIChzdHJidWZfcmVhZF9maWxlKCZzYiwgZ2l0X3BhdGhfbWVyZ2VfbXNnKHRoZV9yZXBvc2l0b3J5KSwgMCkgPCAwKQogCQkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCByZWFkIE1FUkdFX01TRyIpKTsKKworCQlpZiAoY2xlYW51cF9tb2RlID09IENPTU1JVF9NU0dfQ0xFQU5VUF9TQ0lTU09SUyAmJgorCQkgICAgd3Rfc3RhdHVzX2xvY2F0ZV9lbmQoc2IuYnVmICsgbWVyZ2VfbXNnX3N0YXJ0LAorCQkJCQkgc2IubGVuIC0gbWVyZ2VfbXNnX3N0YXJ0KSA8CisJCQkJc2IubGVuIC0gbWVyZ2VfbXNnX3N0YXJ0KQorCQkJbWVyZ2VfY29udGFpbnNfc2Npc3NvcnMgPSAxOwogCX0gZWxzZSBpZiAoIXN0YXQoZ2l0X3BhdGhfc3F1YXNoX21zZyh0aGVfcmVwb3NpdG9yeSksICZzdGF0YnVmKSkgewogCQlpZiAoc3RyYnVmX3JlYWRfZmlsZSgmc2IsIGdpdF9wYXRoX3NxdWFzaF9tc2codGhlX3JlcG9zaXRvcnkpLCAwKSA8IDApCiAJCQlkaWVfZXJybm8oXygiY291bGQgbm90IHJlYWQgU1FVQVNIX01TRyIpKTsKQEAgLTgwNCw3ICs4NDUsOCBAQAogCQlzdHJ1Y3QgaWRlbnRfc3BsaXQgY2ksIGFpOwogCiAJCWlmICh3aGVuY2UgIT0gRlJPTV9DT01NSVQpIHsKLQkJCWlmIChjbGVhbnVwX21vZGUgPT0gQ09NTUlUX01TR19DTEVBTlVQX1NDSVNTT1JTKQorCQkJaWYgKGNsZWFudXBfbW9kZSA9PSBDT01NSVRfTVNHX0NMRUFOVVBfU0NJU1NPUlMgJiYKKwkJCQkhbWVyZ2VfY29udGFpbnNfc2Npc3NvcnMpCiAJCQkJd3Rfc3RhdHVzX2FkZF9jdXRfbGluZShzLT5mcCk7CiAJCQlzdGF0dXNfcHJpbnRmX2xuKHMsIEdJVF9DT0xPUl9OT1JNQUwsCiAJCQkgICAgd2hlbmNlID09IEZST01fTUVSR0UKQEAgLTgyOSwxMCArODcxLDEwIEBACiAJCQkJXygiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiIKIAkJCQkgICIgTGluZXMgc3RhcnRpbmdcbndpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQsIGFuZCBhbiBlbXB0eSIKIAkJCQkgICIgbWVzc2FnZSBhYm9ydHMgdGhlIGNvbW1pdC5cbiIpLCBjb21tZW50X2xpbmVfY2hhcik7Ci0JCWVsc2UgaWYgKGNsZWFudXBfbW9kZSA9PSBDT01NSVRfTVNHX0NMRUFOVVBfU0NJU1NPUlMgJiYKLQkJCSB3aGVuY2UgPT0gRlJPTV9DT01NSVQpCi0JCQl3dF9zdGF0dXNfYWRkX2N1dF9saW5lKHMtPmZwKTsKLQkJZWxzZSAvKiBDT01NSVRfTVNHX0NMRUFOVVBfU1BBQ0UsIHRoYXQgaXMuICovCisJCWVsc2UgaWYgKGNsZWFudXBfbW9kZSA9PSBDT01NSVRfTVNHX0NMRUFOVVBfU0NJU1NPUlMpIHsKKwkJCWlmICh3aGVuY2UgPT0gRlJPTV9DT01NSVQgJiYgIW1lcmdlX2NvbnRhaW5zX3NjaXNzb3JzKQorCQkJCXd0X3N0YXR1c19hZGRfY3V0X2xpbmUocy0+ZnApOworCQl9IGVsc2UgLyogQ09NTUlUX01TR19DTEVBTlVQX1NQQUNFLCB0aGF0IGlzLiAqLwogCQkJc3RhdHVzX3ByaW50ZihzLCBHSVRfQ09MT1JfTk9STUFMLAogCQkJCV8oIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4iCiAJCQkJICAiIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC05MTEsNyArOTUzLDggQEAKIAkJCWlmIChpZ25vcmVfc3VibW9kdWxlX2FyZyAmJgogCQkJICAgICFzdHJjbXAoaWdub3JlX3N1Ym1vZHVsZV9hcmcsICJhbGwiKSkKIAkJCQlmbGFncy5pZ25vcmVfc3VibW9kdWxlcyA9IDE7Ci0JCQljb21taXR0YWJsZSA9IGluZGV4X2RpZmZlcnNfZnJvbShwYXJlbnQsICZmbGFncywgMSk7CisJCQljb21taXR0YWJsZSA9IGluZGV4X2RpZmZlcnNfZnJvbSh0aGVfcmVwb3NpdG9yeSwKKwkJCQkJCQkgcGFyZW50LCAmZmxhZ3MsIDEpOwogCQl9CiAJfQogCXN0cmJ1Zl9yZWxlYXNlKCZjb21taXR0ZXJfaWRlbnQpOwpAQCAtOTI1LDYgKzk2OCw3IEBACiAJICovCiAJaWYgKCFjb21taXR0YWJsZSAmJiB3aGVuY2UgIT0gRlJPTV9NRVJHRSAmJiAhYWxsb3dfZW1wdHkgJiYKIAkgICAgIShhbWVuZCAmJiBpc19hX21lcmdlKGN1cnJlbnRfaGVhZCkpKSB7CisJCXMtPmhpbnRzID0gYWR2aWNlX3N0YXR1c19oaW50czsKIAkJcy0+ZGlzcGxheV9jb21tZW50X3ByZWZpeCA9IG9sZF9kaXNwbGF5X2NvbW1lbnRfcHJlZml4OwogCQlydW5fc3RhdHVzKHN0ZG91dCwgaW5kZXhfZmlsZSwgcHJlZml4LCAwLCBzKTsKIAkJaWYgKGFtZW5kKQpAQCAtMTAzNSw2ICsxMDc5LDEwIEBACiAJCXMtPnNob3dfdW50cmFja2VkX2ZpbGVzID0gU0hPV19OT1JNQUxfVU5UUkFDS0VEX0ZJTEVTOwogCWVsc2UgaWYgKCFzdHJjbXAodW50cmFja2VkX2ZpbGVzX2FyZywgImFsbCIpKQogCQlzLT5zaG93X3VudHJhY2tlZF9maWxlcyA9IFNIT1dfQUxMX1VOVFJBQ0tFRF9GSUxFUzsKKwkvKgorCSAqIFBsZWFzZSB1cGRhdGUgJF9fZ2l0X3VudHJhY2tlZF9maWxlX21vZGVzIGluCisJICogZ2l0LWNvbXBsZXRpb24uYmFzaCB3aGVuIHlvdSBhZGQgbmV3IG9wdGlvbnMKKwkgKi8KIAllbHNlCiAJCWRpZShfKCJJbnZhbGlkIHVudHJhY2tlZCBmaWxlcyBtb2RlICclcyciKSwgdW50cmFja2VkX2ZpbGVzX2FyZyk7CiB9CkBAIC0xMDU4LDkgKzExMDYsMTEgQEAKIHN0YXRpYyBzdHJ1Y3Qgc3RhdHVzX2RlZmVycmVkX2NvbmZpZyB7CiAJZW51bSB3dF9zdGF0dXNfZm9ybWF0IHN0YXR1c19mb3JtYXQ7CiAJaW50IHNob3dfYnJhbmNoOworCWVudW0gYWhlYWRfYmVoaW5kX2ZsYWdzIGFoZWFkX2JlaGluZDsKIH0gc3RhdHVzX2RlZmVycmVkX2NvbmZpZyA9IHsKIAlTVEFUVVNfRk9STUFUX1VOU1BFQ0lGSUVELAotCS0xIC8qIHVuc3BlY2lmaWVkICovCisJLTEsIC8qIHVuc3BlY2lmaWVkICovCisJQUhFQURfQkVISU5EX1VOU1BFQ0lGSUVELAogfTsKIAogc3RhdGljIHZvaWQgZmluYWxpemVfZGVmZXJyZWRfY29uZmlnKHN0cnVjdCB3dF9zdGF0dXMgKnMpCkBAIC0xMDg3LDYgKzExMzcsMTcgQEAKIAlpZiAocy0+c2hvd19icmFuY2ggPCAwKQogCQlzLT5zaG93X2JyYW5jaCA9IDA7CiAKKwkvKgorCSAqIElmIHRoZSB1c2VyIGRpZCBub3QgZ2l2ZSBhICItLVtub10tYWhlYWQtYmVoaW5kIiBjb21tYW5kCisJICogbGluZSBhcmd1bWVudCAqQU5EKiB3ZSB3aWxsIHByaW50IGluIGEgaHVtYW4tcmVhZGFibGUgZm9ybWF0CisJICogKHNob3J0LCBsb25nIGV0Yy4pIHRoZW4gd2UgaW5oZXJpdCBmcm9tIHRoZSBzdGF0dXMuYWhlYWRiZWhpbmQKKwkgKiBjb25maWcgc2V0dGluZy4gIEluIGFsbCBvdGhlciBjYXNlcyAoYW5kIHBvcmNlbGFpbiBWWzEyXSBmb3JtYXRzCisJICogaW4gcGFydGljdWxhciksIHdlIGluaGVyaXQgX0ZVTEwgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgorCSAqLworCWlmICh1c2VfZGVmZXJyZWRfY29uZmlnICYmCisJICAgIHMtPmFoZWFkX2JlaGluZF9mbGFncyA9PSBBSEVBRF9CRUhJTkRfVU5TUEVDSUZJRUQpCisJCXMtPmFoZWFkX2JlaGluZF9mbGFncyA9IHN0YXR1c19kZWZlcnJlZF9jb25maWcuYWhlYWRfYmVoaW5kOworCiAJaWYgKHMtPmFoZWFkX2JlaGluZF9mbGFncyA9PSBBSEVBRF9CRUhJTkRfVU5TUEVDSUZJRUQpCiAJCXMtPmFoZWFkX2JlaGluZF9mbGFncyA9IEFIRUFEX0JFSElORF9GVUxMOwogfQpAQCAtMTE2MiwyNyArMTIyMywxMyBAQAogCiAJaWYgKGFsc28gKyBvbmx5ICsgYWxsICsgaW50ZXJhY3RpdmUgPiAxKQogCQlkaWUoXygiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIikpOwotCWlmIChhcmdjID09IDAgJiYgKGFsc28gfHwgKG9ubHkgJiYgIWFtZW5kICYmICFhbGxvd19lbXB0eSkpKQotCQlkaWUoXygiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIikpOwotCWlmICghY2xlYW51cF9hcmcgfHwgIXN0cmNtcChjbGVhbnVwX2FyZywgImRlZmF1bHQiKSkKLQkJY2xlYW51cF9tb2RlID0gdXNlX2VkaXRvciA/IENPTU1JVF9NU0dfQ0xFQU5VUF9BTEwgOgotCQkJCQkgICAgQ09NTUlUX01TR19DTEVBTlVQX1NQQUNFOwotCWVsc2UgaWYgKCFzdHJjbXAoY2xlYW51cF9hcmcsICJ2ZXJiYXRpbSIpKQotCQljbGVhbnVwX21vZGUgPSBDT01NSVRfTVNHX0NMRUFOVVBfTk9ORTsKLQllbHNlIGlmICghc3RyY21wKGNsZWFudXBfYXJnLCAid2hpdGVzcGFjZSIpKQotCQljbGVhbnVwX21vZGUgPSBDT01NSVRfTVNHX0NMRUFOVVBfU1BBQ0U7Ci0JZWxzZSBpZiAoIXN0cmNtcChjbGVhbnVwX2FyZywgInN0cmlwIikpCi0JCWNsZWFudXBfbW9kZSA9IENPTU1JVF9NU0dfQ0xFQU5VUF9BTEw7Ci0JZWxzZSBpZiAoIXN0cmNtcChjbGVhbnVwX2FyZywgInNjaXNzb3JzIikpCi0JCWNsZWFudXBfbW9kZSA9IHVzZV9lZGl0b3IgPyBDT01NSVRfTVNHX0NMRUFOVVBfU0NJU1NPUlMgOgotCQkJCQkgICAgQ09NTUlUX01TR19DTEVBTlVQX1NQQUNFOwotCWVsc2UKLQkJZGllKF8oIkludmFsaWQgY2xlYW51cCBtb2RlICVzIiksIGNsZWFudXBfYXJnKTsKKwljbGVhbnVwX21vZGUgPSBnZXRfY2xlYW51cF9tb2RlKGNsZWFudXBfYXJnLCB1c2VfZWRpdG9yKTsKIAogCWhhbmRsZV91bnRyYWNrZWRfZmlsZXNfYXJnKHMpOwogCiAJaWYgKGFsbCAmJiBhcmdjID4gMCkKLQkJZGllKF8oIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iKSk7CisJCWRpZShfKCJwYXRocyAnJXMgLi4uJyB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UiKSwKKwkJICAgIGFyZ3ZbMF0pOwogCiAJaWYgKHN0YXR1c19mb3JtYXQgIT0gU1RBVFVTX0ZPUk1BVF9OT05FKQogCQlkcnlfcnVuID0gMTsKQEAgLTEyMzgsNiArMTI4NSwxMCBAQAogCQlzdGF0dXNfZGVmZXJyZWRfY29uZmlnLnNob3dfYnJhbmNoID0gZ2l0X2NvbmZpZ19ib29sKGssIHYpOwogCQlyZXR1cm4gMDsKIAl9CisJaWYgKCFzdHJjbXAoaywgInN0YXR1cy5haGVhZGJlaGluZCIpKSB7CisJCXN0YXR1c19kZWZlcnJlZF9jb25maWcuYWhlYWRfYmVoaW5kID0gZ2l0X2NvbmZpZ19ib29sKGssIHYpOworCQlyZXR1cm4gMDsKKwl9CiAJaWYgKCFzdHJjbXAoaywgInN0YXR1cy5zaG93c3Rhc2giKSkgewogCQlzLT5zaG93X3N0YXNoID0gZ2l0X2NvbmZpZ19ib29sKGssIHYpOwogCQlyZXR1cm4gMDsKQEAgLTEzNjYsNyArMTQxNyw3IEBACiAJaWYgKHN0YXR1c19mb3JtYXQgIT0gU1RBVFVTX0ZPUk1BVF9QT1JDRUxBSU4gJiYKIAkgICAgc3RhdHVzX2Zvcm1hdCAhPSBTVEFUVVNfRk9STUFUX1BPUkNFTEFJTl9WMikKIAkJcHJvZ3Jlc3NfZmxhZyA9IFJFRlJFU0hfUFJPR1JFU1M7Ci0JcmVhZF9pbmRleCgmdGhlX2luZGV4KTsKKwlyZXBvX3JlYWRfaW5kZXgodGhlX3JlcG9zaXRvcnkpOwogCXJlZnJlc2hfaW5kZXgoJnRoZV9pbmRleCwKIAkJICAgICAgUkVGUkVTSF9RVUlFVHxSRUZSRVNIX1VOTUVSR0VEfHByb2dyZXNzX2ZsYWcsCiAJCSAgICAgICZzLnBhdGhzcGVjLCBOVUxMLCBOVUxMKTsKQEAgLTEzNzgsNyArMTQyOSw3IEBACiAKIAlzLmlzX2luaXRpYWwgPSBnZXRfb2lkKHMucmVmZXJlbmNlLCAmb2lkKSA/IDEgOiAwOwogCWlmICghcy5pc19pbml0aWFsKQotCQloYXNoY3B5KHMuc2hhMV9jb21taXQsIG9pZC5oYXNoKTsKKwkJb2lkY3B5KCZzLm9pZF9jb21taXQsICZvaWQpOwogCiAJcy5pZ25vcmVfc3VibW9kdWxlX2FyZyA9IGlnbm9yZV9zdWJtb2R1bGVfYXJnOwogCXMuc3RhdHVzX2Zvcm1hdCA9IHN0YXR1c19mb3JtYXQ7CkBAIC0xMzk1LDcgKzE0NDYsNyBAQAogCXd0X3N0YXR1c19jb2xsZWN0KCZzKTsKIAogCWlmICgwIDw9IGZkKQotCQl1cGRhdGVfaW5kZXhfaWZfYWJsZSgmdGhlX2luZGV4LCAmaW5kZXhfbG9jayk7CisJCXJlcG9fdXBkYXRlX2luZGV4X2lmX2FibGUodGhlX3JlcG9zaXRvcnksICZpbmRleF9sb2NrKTsKIAogCWlmIChzLnJlbGF0aXZlX3BhdGhzKQogCQlzLnByZWZpeCA9IHByZWZpeDsKQEAgLTE0MzUsMjggKzE0ODYsNiBAQAogCXJldHVybiBnaXRfc3RhdHVzX2NvbmZpZyhrLCB2LCBzKTsKIH0KIAotaW50IHJ1bl9jb21taXRfaG9vayhpbnQgZWRpdG9yX2lzX3VzZWQsIGNvbnN0IGNoYXIgKmluZGV4X2ZpbGUsIGNvbnN0IGNoYXIgKm5hbWUsIC4uLikKLXsKLQlzdHJ1Y3QgYXJndl9hcnJheSBob29rX2VudiA9IEFSR1ZfQVJSQVlfSU5JVDsKLQl2YV9saXN0IGFyZ3M7Ci0JaW50IHJldDsKLQotCWFyZ3ZfYXJyYXlfcHVzaGYoJmhvb2tfZW52LCAiR0lUX0lOREVYX0ZJTEU9JXMiLCBpbmRleF9maWxlKTsKLQotCS8qCi0JICogTGV0IHRoZSBob29rIGtub3cgdGhhdCBubyBlZGl0b3Igd2lsbCBiZSBsYXVuY2hlZC4KLQkgKi8KLQlpZiAoIWVkaXRvcl9pc191c2VkKQotCQlhcmd2X2FycmF5X3B1c2goJmhvb2tfZW52LCAiR0lUX0VESVRPUj06Iik7Ci0KLQl2YV9zdGFydChhcmdzLCBuYW1lKTsKLQlyZXQgPSBydW5faG9va192ZShob29rX2Vudi5hcmd2LG5hbWUsIGFyZ3MpOwotCXZhX2VuZChhcmdzKTsKLQlhcmd2X2FycmF5X2NsZWFyKCZob29rX2Vudik7Ci0KLQlyZXR1cm4gcmV0OwotfQotCiBpbnQgY21kX2NvbW1pdChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKIAljb25zdCBjaGFyICphcmd2X2djX2F1dG9bXSA9IHsiZ2MiLCAiLS1hdXRvIiwgTlVMTH07CkBAIC0xNDc4LDcgKzE1MDcsNyBAQAogCQlPUFRfQk9PTCgncycsICJzaWdub2ZmIiwgJnNpZ25vZmYsIE5fKCJhZGQgU2lnbmVkLW9mZi1ieToiKSksCiAJCU9QVF9GSUxFTkFNRSgndCcsICJ0ZW1wbGF0ZSIsICZ0ZW1wbGF0ZV9maWxlLCBOXygidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIikpLAogCQlPUFRfQk9PTCgnZScsICJlZGl0IiwgJmVkaXRfZmxhZywgTl8oImZvcmNlIGVkaXQgb2YgY29tbWl0IikpLAotCQlPUFRfU1RSSU5HKDAsICJjbGVhbnVwIiwgJmNsZWFudXBfYXJnLCBOXygiZGVmYXVsdCIpLCBOXygiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIpKSwKKwkJT1BUX0NMRUFOVVAoJmNsZWFudXBfYXJnKSwKIAkJT1BUX0JPT0woMCwgInN0YXR1cyIsICZpbmNsdWRlX3N0YXR1cywgTl8oImluY2x1ZGUgc3RhdHVzIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIikpLAogCQl7IE9QVElPTl9TVFJJTkcsICdTJywgImdwZy1zaWduIiwgJnNpZ25fY29tbWl0LCBOXygia2V5LWlkIiksCiAJCSAgTl8oIkdQRyBzaWduIGNvbW1pdCIpLCBQQVJTRV9PUFRfT1BUQVJHLCBOVUxMLCAoaW50cHRyX3QpICIiIH0sCkBAIC0xNTA3LDYgKzE1MzYsOCBAQAogCQlPUFRfQk9PTCgwLCAiYW1lbmQiLCAmYW1lbmQsIE5fKCJhbWVuZCBwcmV2aW91cyBjb21taXQiKSksCiAJCU9QVF9CT09MKDAsICJuby1wb3N0LXJld3JpdGUiLCAmbm9fcG9zdF9yZXdyaXRlLCBOXygiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIikpLAogCQl7IE9QVElPTl9TVFJJTkcsICd1JywgInVudHJhY2tlZC1maWxlcyIsICZ1bnRyYWNrZWRfZmlsZXNfYXJnLCBOXygibW9kZSIpLCBOXygic2hvdyB1bnRyYWNrZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiBhbGwsIG5vcm1hbCwgbm8uIChEZWZhdWx0OiBhbGwpIiksIFBBUlNFX09QVF9PUFRBUkcsIE5VTEwsIChpbnRwdHJfdCkiYWxsIiB9LAorCQlPUFRfUEFUSFNQRUNfRlJPTV9GSUxFKCZwYXRoc3BlY19mcm9tX2ZpbGUpLAorCQlPUFRfUEFUSFNQRUNfRklMRV9OVUwoJnBhdGhzcGVjX2ZpbGVfbnVsKSwKIAkJLyogZW5kIGNvbW1pdCBjb250ZW50cyBvcHRpb25zICovCiAKIAkJT1BUX0hJRERFTl9CT09MKDAsICJhbGxvdy1lbXB0eSIsICZhbGxvd19lbXB0eSwKQEAgLTE2MTQsMTEgKzE2NDUsNyBAQAogCQlkaWUoXygiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIiksIHN0cmVycm9yKHNhdmVkX2Vycm5vKSk7CiAJfQogCi0JaWYgKHZlcmJvc2UgfHwgLyogVHJ1bmNhdGUgdGhlIG1lc3NhZ2UganVzdCBiZWZvcmUgdGhlIGRpZmYsIGlmIGFueS4gKi8KLQkgICAgY2xlYW51cF9tb2RlID09IENPTU1JVF9NU0dfQ0xFQU5VUF9TQ0lTU09SUykKLQkJc3RyYnVmX3NldGxlbigmc2IsIHd0X3N0YXR1c19sb2NhdGVfZW5kKHNiLmJ1Ziwgc2IubGVuKSk7Ci0JaWYgKGNsZWFudXBfbW9kZSAhPSBDT01NSVRfTVNHX0NMRUFOVVBfTk9ORSkKLQkJc3RyYnVmX3N0cmlwc3BhY2UoJnNiLCBjbGVhbnVwX21vZGUgPT0gQ09NTUlUX01TR19DTEVBTlVQX0FMTCk7CisJY2xlYW51cF9tZXNzYWdlKCZzYiwgY2xlYW51cF9tb2RlLCB2ZXJib3NlKTsKIAogCWlmIChtZXNzYWdlX2lzX2VtcHR5KCZzYiwgY2xlYW51cF9tb2RlKSAmJiAhYWxsb3dfZW1wdHlfbWVzc2FnZSkgewogCQlyb2xsYmFja19pbmRleF9maWxlcygpOwpAQCAtMTY1NCw4ICsxNjgxLDcgQEAKIAkJZGllKCIlcyIsIGVyci5idWYpOwogCX0KIAotCXVubGluayhnaXRfcGF0aF9jaGVycnlfcGlja19oZWFkKHRoZV9yZXBvc2l0b3J5KSk7Ci0JdW5saW5rKGdpdF9wYXRoX3JldmVydF9oZWFkKHRoZV9yZXBvc2l0b3J5KSk7CisJc2VxdWVuY2VyX3Bvc3RfY29tbWl0X2NsZWFudXAodGhlX3JlcG9zaXRvcnksIDApOwogCXVubGluayhnaXRfcGF0aF9tZXJnZV9oZWFkKHRoZV9yZXBvc2l0b3J5KSk7CiAJdW5saW5rKGdpdF9wYXRoX21lcmdlX21zZyh0aGVfcmVwb3NpdG9yeSkpOwogCXVubGluayhnaXRfcGF0aF9tZXJnZV9tb2RlKHRoZV9yZXBvc2l0b3J5KSk7CkBAIC0xNjY0LDE2ICsxNjkwLDE3IEBACiAJaWYgKGNvbW1pdF9pbmRleF9maWxlcygpKQogCQlkaWUoXygicmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLCBidXQgdW5hYmxlIHRvIHdyaXRlXG4iCiAJCSAgICAgICJuZXdfaW5kZXggZmlsZS4gQ2hlY2sgdGhhdCBkaXNrIGlzIG5vdCBmdWxsIGFuZCBxdW90YSBpc1xuIgotCQkgICAgICAibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXNldCBIRUFEXCIgdG8gcmVjb3Zlci4iKSk7CisJCSAgICAgICJub3QgZXhjZWVkZWQsIGFuZCB0aGVuIFwiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgOi9cIiB0byByZWNvdmVyLiIpKTsKIAotCWlmIChnaXRfZW52X2Jvb2woR0lUX1RFU1RfQ09NTUlUX0dSQVBILCAwKSkKLQkJd3JpdGVfY29tbWl0X2dyYXBoX3JlYWNoYWJsZShnZXRfb2JqZWN0X2RpcmVjdG9yeSgpLCAwLCAwKTsKKwlpZiAoZ2l0X2Vudl9ib29sKEdJVF9URVNUX0NPTU1JVF9HUkFQSCwgMCkgJiYKKwkgICAgd3JpdGVfY29tbWl0X2dyYXBoX3JlYWNoYWJsZSh0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cy0+b2RiLCAwLCBOVUxMKSkKKwkJcmV0dXJuIDE7CiAKIAlyZXBvX3JlcmVyZSh0aGVfcmVwb3NpdG9yeSwgMCk7CiAJcnVuX2NvbW1hbmRfdl9vcHQoYXJndl9nY19hdXRvLCBSVU5fR0lUX0NNRCk7CiAJcnVuX2NvbW1pdF9ob29rKHVzZV9lZGl0b3IsIGdldF9pbmRleF9maWxlKCksICJwb3N0LWNvbW1pdCIsIE5VTEwpOwogCWlmIChhbWVuZCAmJiAhbm9fcG9zdF9yZXdyaXRlKSB7Ci0JCWNvbW1pdF9wb3N0X3Jld3JpdGUoY3VycmVudF9oZWFkLCAmb2lkKTsKKwkJY29tbWl0X3Bvc3RfcmV3cml0ZSh0aGVfcmVwb3NpdG9yeSwgY3VycmVudF9oZWFkLCAmb2lkKTsKIAl9CiAJaWYgKCFxdWlldCkgewogCQl1bnNpZ25lZCBpbnQgZmxhZ3MgPSAwOwpAQCAtMTY4Miw3ICsxNzA5LDggQEAKIAkJCWZsYWdzIHw9IFNVTU1BUllfSU5JVElBTF9DT01NSVQ7CiAJCWlmIChhdXRob3JfZGF0ZV9pc19pbnRlcmVzdGluZygpKQogCQkJZmxhZ3MgfD0gU1VNTUFSWV9TSE9XX0FVVEhPUl9EQVRFOwotCQlwcmludF9jb21taXRfc3VtbWFyeShwcmVmaXgsICZvaWQsIGZsYWdzKTsKKwkJcHJpbnRfY29tbWl0X3N1bW1hcnkodGhlX3JlcG9zaXRvcnksIHByZWZpeCwKKwkJCQkgICAgICZvaWQsIGZsYWdzKTsKIAl9CiAKIAlVTkxFQUsoZXJyKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vY29uZmlnLmMgYi9idWlsdGluL2NvbmZpZy5jCmluZGV4IDg0Mzg1ZWYuLmVlNGFlZjYgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vY29uZmlnLmMKKysrIGIvYnVpbHRpbi9jb25maWcuYwpAQCAtMjksMTAgKzI5LDExIEBACiBzdGF0aWMgc3RydWN0IGdpdF9jb25maWdfc291cmNlIGdpdmVuX2NvbmZpZ19zb3VyY2U7CiBzdGF0aWMgaW50IGFjdGlvbnMsIHR5cGU7CiBzdGF0aWMgY2hhciAqZGVmYXVsdF92YWx1ZTsKLXN0YXRpYyBpbnQgZW5kX251bGw7CitzdGF0aWMgaW50IGVuZF9udWw7CiBzdGF0aWMgaW50IHJlc3BlY3RfaW5jbHVkZXNfb3B0ID0gLTE7CiBzdGF0aWMgc3RydWN0IGNvbmZpZ19vcHRpb25zIGNvbmZpZ19vcHRpb25zOwogc3RhdGljIGludCBzaG93X29yaWdpbjsKK3N0YXRpYyBpbnQgc2hvd19zY29wZTsKIAogI2RlZmluZSBBQ1RJT05fR0VUICgxPDwwKQogI2RlZmluZSBBQ1RJT05fR0VUX0FMTCAoMTw8MSkKQEAgLTE1MSwxMCArMTUyLDExIEBACiAJT1BUX0NBTExCQUNLX1ZBTFVFKDAsICJwYXRoIiwgJnR5cGUsIE5fKCJ2YWx1ZSBpcyBhIHBhdGggKGZpbGUgb3IgZGlyZWN0b3J5IG5hbWUpIiksIFRZUEVfUEFUSCksCiAJT1BUX0NBTExCQUNLX1ZBTFVFKDAsICJleHBpcnktZGF0ZSIsICZ0eXBlLCBOXygidmFsdWUgaXMgYW4gZXhwaXJ5IGRhdGUiKSwgVFlQRV9FWFBJUllfREFURSksCiAJT1BUX0dST1VQKE5fKCJPdGhlciIpKSwKLQlPUFRfQk9PTCgneicsICJudWxsIiwgJmVuZF9udWxsLCBOXygidGVybWluYXRlIHZhbHVlcyB3aXRoIE5VTCBieXRlIikpLAorCU9QVF9CT09MKCd6JywgIm51bGwiLCAmZW5kX251bCwgTl8oInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIpKSwKIAlPUFRfQk9PTCgwLCAibmFtZS1vbmx5IiwgJm9taXRfdmFsdWVzLCBOXygic2hvdyB2YXJpYWJsZSBuYW1lcyBvbmx5IikpLAogCU9QVF9CT09MKDAsICJpbmNsdWRlcyIsICZyZXNwZWN0X2luY2x1ZGVzX29wdCwgTl8oInJlc3BlY3QgaW5jbHVkZSBkaXJlY3RpdmVzIG9uIGxvb2t1cCIpKSwKIAlPUFRfQk9PTCgwLCAic2hvdy1vcmlnaW4iLCAmc2hvd19vcmlnaW4sIE5fKCJzaG93IG9yaWdpbiBvZiBjb25maWcgKGZpbGUsIHN0YW5kYXJkIGlucHV0LCBibG9iLCBjb21tYW5kIGxpbmUpIikpLAorCU9QVF9CT09MKDAsICJzaG93LXNjb3BlIiwgJnNob3dfc2NvcGUsIE5fKCJzaG93IHNjb3BlIG9mIGNvbmZpZyAod29ya3RyZWUsIGxvY2FsLCBnbG9iYWwsIHN5c3RlbSwgY29tbWFuZCkiKSksCiAJT1BUX1NUUklORygwLCAiZGVmYXVsdCIsICZkZWZhdWx0X3ZhbHVlLCBOXygidmFsdWUiKSwgTl8oIndpdGggLS1nZXQsIHVzZSBkZWZhdWx0IHZhbHVlIHdoZW4gbWlzc2luZyBlbnRyeSIpKSwKIAlPUFRfRU5EKCksCiB9OwpAQCAtMTY0LDcgKzE2Niw4IEBACiAJdXNhZ2Vfd2l0aF9vcHRpb25zKGJ1aWx0aW5fY29uZmlnX3VzYWdlLCBidWlsdGluX2NvbmZpZ19vcHRpb25zKTsKIH0KIAotc3RhdGljIHZvaWQgY2hlY2tfYXJnYyhpbnQgYXJnYywgaW50IG1pbiwgaW50IG1heCkgeworc3RhdGljIHZvaWQgY2hlY2tfYXJnYyhpbnQgYXJnYywgaW50IG1pbiwgaW50IG1heCkKK3sKIAlpZiAoYXJnYyA+PSBtaW4gJiYgYXJnYyA8PSBtYXgpCiAJCXJldHVybjsKIAlpZiAobWluID09IG1heCkKQEAgLTE3NywyMiArMTgwLDM0IEBACiAKIHN0YXRpYyB2b2lkIHNob3dfY29uZmlnX29yaWdpbihzdHJ1Y3Qgc3RyYnVmICpidWYpCiB7Ci0JY29uc3QgY2hhciB0ZXJtID0gZW5kX251bGwgPyAnXDAnIDogJ1x0JzsKKwljb25zdCBjaGFyIHRlcm0gPSBlbmRfbnVsID8gJ1wwJyA6ICdcdCc7CiAKIAlzdHJidWZfYWRkc3RyKGJ1ZiwgY3VycmVudF9jb25maWdfb3JpZ2luX3R5cGUoKSk7CiAJc3RyYnVmX2FkZGNoKGJ1ZiwgJzonKTsKLQlpZiAoZW5kX251bGwpCisJaWYgKGVuZF9udWwpCiAJCXN0cmJ1Zl9hZGRzdHIoYnVmLCBjdXJyZW50X2NvbmZpZ19uYW1lKCkpOwogCWVsc2UKIAkJcXVvdGVfY19zdHlsZShjdXJyZW50X2NvbmZpZ19uYW1lKCksIGJ1ZiwgTlVMTCwgMCk7CiAJc3RyYnVmX2FkZGNoKGJ1ZiwgdGVybSk7CiB9CiAKK3N0YXRpYyB2b2lkIHNob3dfY29uZmlnX3Njb3BlKHN0cnVjdCBzdHJidWYgKmJ1ZikKK3sKKwljb25zdCBjaGFyIHRlcm0gPSBlbmRfbnVsID8gJ1wwJyA6ICdcdCc7CisJY29uc3QgY2hhciAqc2NvcGUgPSBjb25maWdfc2NvcGVfbmFtZShjdXJyZW50X2NvbmZpZ19zY29wZSgpKTsKKworCXN0cmJ1Zl9hZGRzdHIoYnVmLCBOXyhzY29wZSkpOworCXN0cmJ1Zl9hZGRjaChidWYsIHRlcm0pOworfQorCiBzdGF0aWMgaW50IHNob3dfYWxsX2NvbmZpZyhjb25zdCBjaGFyICprZXlfLCBjb25zdCBjaGFyICp2YWx1ZV8sIHZvaWQgKmNiKQogewotCWlmIChzaG93X29yaWdpbikgeworCWlmIChzaG93X29yaWdpbiB8fCBzaG93X3Njb3BlKSB7CiAJCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7Ci0JCXNob3dfY29uZmlnX29yaWdpbigmYnVmKTsKKwkJaWYgKHNob3dfc2NvcGUpCisJCQlzaG93X2NvbmZpZ19zY29wZSgmYnVmKTsKKwkJaWYgKHNob3dfb3JpZ2luKQorCQkJc2hvd19jb25maWdfb3JpZ2luKCZidWYpOwogCQkvKiBVc2UgZndyaXRlIGFzICJidWYiIGNhbiBjb250YWluIFwwJ3MgaWYgImVuZF9udWxsIiBpcyBzZXQuICovCiAJCWZ3cml0ZShidWYuYnVmLCAxLCBidWYubGVuLCBzdGRvdXQpOwogCQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKQEAgLTIxMiw2ICsyMjcsOCBAQAogCiBzdGF0aWMgaW50IGZvcm1hdF9jb25maWcoc3RydWN0IHN0cmJ1ZiAqYnVmLCBjb25zdCBjaGFyICprZXlfLCBjb25zdCBjaGFyICp2YWx1ZV8pCiB7CisJaWYgKHNob3dfc2NvcGUpCisJCXNob3dfY29uZmlnX3Njb3BlKGJ1Zik7CiAJaWYgKHNob3dfb3JpZ2luKQogCQlzaG93X2NvbmZpZ19vcmlnaW4oYnVmKTsKIAlpZiAoc2hvd19rZXlzKQpAQCAtNTk4LDcgKzYxNSw3IEBACiAJaW50IG5vbmdpdCA9ICFzdGFydHVwX2luZm8tPmhhdmVfcmVwb3NpdG9yeTsKIAljaGFyICp2YWx1ZTsKIAotCWdpdmVuX2NvbmZpZ19zb3VyY2UuZmlsZSA9IGdldGVudihDT05GSUdfRU5WSVJPTk1FTlQpOworCWdpdmVuX2NvbmZpZ19zb3VyY2UuZmlsZSA9IHhzdHJkdXBfb3JfbnVsbChnZXRlbnYoQ09ORklHX0VOVklST05NRU5UKSk7CiAKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIGJ1aWx0aW5fY29uZmlnX29wdGlvbnMsCiAJCQkgICAgIGJ1aWx0aW5fY29uZmlnX3VzYWdlLApAQCAtNjIxLDYgKzYzOCw3IEBACiAJCQkhc3RyY21wKGdpdmVuX2NvbmZpZ19zb3VyY2UuZmlsZSwgIi0iKSkgewogCQlnaXZlbl9jb25maWdfc291cmNlLmZpbGUgPSBOVUxMOwogCQlnaXZlbl9jb25maWdfc291cmNlLnVzZV9zdGRpbiA9IDE7CisJCWdpdmVuX2NvbmZpZ19zb3VyY2Uuc2NvcGUgPSBDT05GSUdfU0NPUEVfQ09NTUFORDsKIAl9CiAKIAlpZiAodXNlX2dsb2JhbF9jb25maWcpIHsKQEAgLTYzNiw2ICs2NTQsOCBAQAogCQkJICovCiAJCQlkaWUoXygiJEhPTUUgbm90IHNldCIpKTsKIAorCQlnaXZlbl9jb25maWdfc291cmNlLnNjb3BlID0gQ09ORklHX1NDT1BFX0dMT0JBTDsKKwogCQlpZiAoYWNjZXNzX29yX3dhcm4odXNlcl9jb25maWcsIFJfT0ssIDApICYmCiAJCSAgICB4ZGdfY29uZmlnICYmICFhY2Nlc3Nfb3Jfd2Fybih4ZGdfY29uZmlnLCBSX09LLCAwKSkgewogCQkJZ2l2ZW5fY29uZmlnX3NvdXJjZS5maWxlID0geGRnX2NvbmZpZzsKQEAgLTY0NSwxMSArNjY1LDEzIEBACiAJCQlmcmVlKHhkZ19jb25maWcpOwogCQl9CiAJfQotCWVsc2UgaWYgKHVzZV9zeXN0ZW1fY29uZmlnKQorCWVsc2UgaWYgKHVzZV9zeXN0ZW1fY29uZmlnKSB7CiAJCWdpdmVuX2NvbmZpZ19zb3VyY2UuZmlsZSA9IGdpdF9ldGNfZ2l0Y29uZmlnKCk7Ci0JZWxzZSBpZiAodXNlX2xvY2FsX2NvbmZpZykKKwkJZ2l2ZW5fY29uZmlnX3NvdXJjZS5zY29wZSA9IENPTkZJR19TQ09QRV9TWVNURU07CisJfSBlbHNlIGlmICh1c2VfbG9jYWxfY29uZmlnKSB7CiAJCWdpdmVuX2NvbmZpZ19zb3VyY2UuZmlsZSA9IGdpdF9wYXRoZHVwKCJjb25maWciKTsKLQllbHNlIGlmICh1c2Vfd29ya3RyZWVfY29uZmlnKSB7CisJCWdpdmVuX2NvbmZpZ19zb3VyY2Uuc2NvcGUgPSBDT05GSUdfU0NPUEVfTE9DQUw7CisJfSBlbHNlIGlmICh1c2Vfd29ya3RyZWVfY29uZmlnKSB7CiAJCXN0cnVjdCB3b3JrdHJlZSAqKndvcmt0cmVlcyA9IGdldF93b3JrdHJlZXMoMCk7CiAJCWlmIChyZXBvc2l0b3J5X2Zvcm1hdF93b3JrdHJlZV9jb25maWcpCiAJCQlnaXZlbl9jb25maWdfc291cmNlLmZpbGUgPSBnaXRfcGF0aGR1cCgiY29uZmlnLndvcmt0cmVlIik7CkBAIC02NjEsMTMgKzY4MywxOCBAQAogCQkJICAgICAgInNlY3Rpb24gaW4gXCJnaXQgaGVscCB3b3JrdHJlZVwiIGZvciBkZXRhaWxzIikpOwogCQllbHNlCiAJCQlnaXZlbl9jb25maWdfc291cmNlLmZpbGUgPSBnaXRfcGF0aGR1cCgiY29uZmlnIik7CisJCWdpdmVuX2NvbmZpZ19zb3VyY2Uuc2NvcGUgPSBDT05GSUdfU0NPUEVfTE9DQUw7CiAJCWZyZWVfd29ya3RyZWVzKHdvcmt0cmVlcyk7CiAJfSBlbHNlIGlmIChnaXZlbl9jb25maWdfc291cmNlLmZpbGUpIHsKIAkJaWYgKCFpc19hYnNvbHV0ZV9wYXRoKGdpdmVuX2NvbmZpZ19zb3VyY2UuZmlsZSkgJiYgcHJlZml4KQogCQkJZ2l2ZW5fY29uZmlnX3NvdXJjZS5maWxlID0KIAkJCQlwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBnaXZlbl9jb25maWdfc291cmNlLmZpbGUpOworCQlnaXZlbl9jb25maWdfc291cmNlLnNjb3BlID0gQ09ORklHX1NDT1BFX0NPTU1BTkQ7CisJfSBlbHNlIGlmIChnaXZlbl9jb25maWdfc291cmNlLmJsb2IpIHsKKwkJZ2l2ZW5fY29uZmlnX3NvdXJjZS5zY29wZSA9IENPTkZJR19TQ09QRV9DT01NQU5EOwogCX0KIAorCiAJaWYgKHJlc3BlY3RfaW5jbHVkZXNfb3B0ID09IC0xKQogCQljb25maWdfb3B0aW9ucy5yZXNwZWN0X2luY2x1ZGVzID0gIWdpdmVuX2NvbmZpZ19zb3VyY2UuZmlsZTsKIAllbHNlCkBAIC02NzcsNyArNzA0LDcgQEAKIAkJY29uZmlnX29wdGlvbnMuZ2l0X2RpciA9IGdldF9naXRfZGlyKCk7CiAJfQogCi0JaWYgKGVuZF9udWxsKSB7CisJaWYgKGVuZF9udWwpIHsKIAkJdGVybSA9ICdcMCc7CiAJCWRlbGltID0gJ1xuJzsKIAkJa2V5X2RlbGltID0gJ1xuJzsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vY291bnQtb2JqZWN0cy5jIGIvYnVpbHRpbi9jb3VudC1vYmplY3RzLmMKaW5kZXggYTdjYWQwNS4uM2ZhZTQ3NCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9jb3VudC1vYmplY3RzLmMKKysrIGIvYnVpbHRpbi9jb3VudC1vYmplY3RzLmMKQEAgLTc4LDEwICs3OCwxMCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHByaW50X2FsdGVybmF0ZShzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqYWx0LCB2b2lkICpkYXRhKQorc3RhdGljIGludCBwcmludF9hbHRlcm5hdGUoc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKm9kYiwgdm9pZCAqZGF0YSkKIHsKIAlwcmludGYoImFsdGVybmF0ZTogIik7Ci0JcXVvdGVfY19zdHlsZShhbHQtPnBhdGgsIE5VTEwsIHN0ZG91dCwgMCk7CisJcXVvdGVfY19zdHlsZShvZGItPnBhdGgsIE5VTEwsIHN0ZG91dCwgMCk7CiAJcHV0Y2hhcignXG4nKTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vZGVzY3JpYmUuYyBiL2J1aWx0aW4vZGVzY3JpYmUuYwppbmRleCBjYzExODQ0Li40MjBmNGM2IDEwMDY0NAotLS0gYS9idWlsdGluL2Rlc2NyaWJlLmMKKysrIGIvYnVpbHRpbi9kZXNjcmliZS5jCkBAIC0xLDMgKzEsNCBAQAorI2RlZmluZSBVU0VfVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJsb2NrZmlsZS5oIgpAQCAtMTQsNyArMTUsNiBAQAogI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgogI2luY2x1ZGUgIm9iamVjdC1zdG9yZS5oIgotI2luY2x1ZGUgInJldmlzaW9uLmgiCiAjaW5jbHVkZSAibGlzdC1vYmplY3RzLmgiCiAjaW5jbHVkZSAiY29tbWl0LXNsYWIuaCIKIApAQCAtNjMsMTkgKzYzLDIyIEBACiB9OwogCiBzdGF0aWMgaW50IGNvbW1pdF9uYW1lX25lcShjb25zdCB2b2lkICp1bnVzZWRfY21wX2RhdGEsCi0JCQkgICBjb25zdCB2b2lkICplbnRyeSwKLQkJCSAgIGNvbnN0IHZvaWQgKmVudHJ5X29yX2tleSwKKwkJCSAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplcHRyLAorCQkJICAgY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmVudHJ5X29yX2tleSwKIAkJCSAgIGNvbnN0IHZvaWQgKnBlZWxlZCkKIHsKLQljb25zdCBzdHJ1Y3QgY29tbWl0X25hbWUgKmNuMSA9IGVudHJ5OwotCWNvbnN0IHN0cnVjdCBjb21taXRfbmFtZSAqY24yID0gZW50cnlfb3Jfa2V5OworCWNvbnN0IHN0cnVjdCBjb21taXRfbmFtZSAqY24xLCAqY24yOworCisJY24xID0gY29udGFpbmVyX29mKGVwdHIsIGNvbnN0IHN0cnVjdCBjb21taXRfbmFtZSwgZW50cnkpOworCWNuMiA9IGNvbnRhaW5lcl9vZihlbnRyeV9vcl9rZXksIGNvbnN0IHN0cnVjdCBjb21taXRfbmFtZSwgZW50cnkpOwogCiAJcmV0dXJuICFvaWRlcSgmY24xLT5wZWVsZWQsIHBlZWxlZCA/IHBlZWxlZCA6ICZjbjItPnBlZWxlZCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IGNvbW1pdF9uYW1lICpmaW5kX2NvbW1pdF9uYW1lKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKnBlZWxlZCkKIHsKLQlyZXR1cm4gaGFzaG1hcF9nZXRfZnJvbV9oYXNoKCZuYW1lcywgc2hhMWhhc2gocGVlbGVkLT5oYXNoKSwgcGVlbGVkLT5oYXNoKTsKKwlyZXR1cm4gaGFzaG1hcF9nZXRfZW50cnlfZnJvbV9oYXNoKCZuYW1lcywgb2lkaGFzaChwZWVsZWQpLCBwZWVsZWQsCisJCQkJCQlzdHJ1Y3QgY29tbWl0X25hbWUsIGVudHJ5KTsKIH0KIAogc3RhdGljIGludCByZXBsYWNlX25hbWUoc3RydWN0IGNvbW1pdF9uYW1lICplLApAQCAtMTIyLDggKzEyNSw4IEBACiAJCWlmICghZSkgewogCQkJZSA9IHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBjb21taXRfbmFtZSkpOwogCQkJb2lkY3B5KCZlLT5wZWVsZWQsIHBlZWxlZCk7Ci0JCQloYXNobWFwX2VudHJ5X2luaXQoZSwgc2hhMWhhc2gocGVlbGVkLT5oYXNoKSk7Ci0JCQloYXNobWFwX2FkZCgmbmFtZXMsIGUpOworCQkJaGFzaG1hcF9lbnRyeV9pbml0KCZlLT5lbnRyeSwgb2lkaGFzaChwZWVsZWQpKTsKKwkJCWhhc2htYXBfYWRkKCZuYW1lcywgJmUtPmVudHJ5KTsKIAkJCWUtPnBhdGggPSBOVUxMOwogCQl9CiAJCWUtPnRhZyA9IHRhZzsKQEAgLTMxMiw3ICszMTUsNyBAQAogCQkgKi8KIAkJYXBwZW5kX25hbWUobiwgZHN0KTsKIAkJaWYgKGxvbmdmb3JtYXQpCi0JCQlhcHBlbmRfc3VmZml4KDAsIG4tPnRhZyA/ICZuLT50YWctPnRhZ2dlZC0+b2lkIDogb2lkLCBkc3QpOworCQkJYXBwZW5kX3N1ZmZpeCgwLCBuLT50YWcgPyBnZXRfdGFnZ2VkX29pZChuLT50YWcpIDogb2lkLCBkc3QpOwogCQlpZiAoc3VmZml4KQogCQkJc3RyYnVmX2FkZHN0cihkc3QsIHN1ZmZpeCk7CiAJCXJldHVybjsKQEAgLTMyOSw4ICszMzIsOCBAQAogCQlzdHJ1Y3QgY29tbWl0X25hbWUgKm47CiAKIAkJaW5pdF9jb21taXRfbmFtZXMoJmNvbW1pdF9uYW1lcyk7Ci0JCW4gPSBoYXNobWFwX2l0ZXJfZmlyc3QoJm5hbWVzLCAmaXRlcik7Ci0JCWZvciAoOyBuOyBuID0gaGFzaG1hcF9pdGVyX25leHQoJml0ZXIpKSB7CisJCWhhc2htYXBfZm9yX2VhY2hfZW50cnkoJm5hbWVzLCAmaXRlciwgbiwKKwkJCQkJZW50cnkgLyogbWVtYmVyIG5hbWUgKi8pIHsKIAkJCWMgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkodGhlX3JlcG9zaXRvcnksCiAJCQkJCQkJICAgJm4tPnBlZWxlZCwgMSk7CiAJCQlpZiAoYykKQEAgLTM3MywxMSArMzc2LDI1IEBACiAJCQlpZiAoIShjLT5vYmplY3QuZmxhZ3MgJiB0LT5mbGFnX3dpdGhpbikpCiAJCQkJdC0+ZGVwdGgrKzsKIAkJfQorCQkvKiBTdG9wIGlmIGxhc3QgcmVtYWluaW5nIHBhdGggYWxyZWFkeSBjb3ZlcmVkIGJ5IGJlc3QgY2FuZGlkYXRlKHMpICovCiAJCWlmIChhbm5vdGF0ZWRfY250ICYmICFsaXN0KSB7Ci0JCQlpZiAoZGVidWcpCi0JCQkJZnByaW50ZihzdGRlcnIsIF8oImZpbmlzaGVkIHNlYXJjaCBhdCAlc1xuIiksCi0JCQkJCW9pZF90b19oZXgoJmMtPm9iamVjdC5vaWQpKTsKLQkJCWJyZWFrOworCQkJaW50IGJlc3RfZGVwdGggPSBJTlRfTUFYOworCQkJdW5zaWduZWQgYmVzdF93aXRoaW4gPSAwOworCQkJZm9yIChjdXJfbWF0Y2ggPSAwOyBjdXJfbWF0Y2ggPCBtYXRjaF9jbnQ7IGN1cl9tYXRjaCsrKSB7CisJCQkJc3RydWN0IHBvc3NpYmxlX3RhZyAqdCA9ICZhbGxfbWF0Y2hlc1tjdXJfbWF0Y2hdOworCQkJCWlmICh0LT5kZXB0aCA8IGJlc3RfZGVwdGgpIHsKKwkJCQkJYmVzdF9kZXB0aCA9IHQtPmRlcHRoOworCQkJCQliZXN0X3dpdGhpbiA9IHQtPmZsYWdfd2l0aGluOworCQkJCX0gZWxzZSBpZiAodC0+ZGVwdGggPT0gYmVzdF9kZXB0aCkgeworCQkJCQliZXN0X3dpdGhpbiB8PSB0LT5mbGFnX3dpdGhpbjsKKwkJCQl9CisJCQl9CisJCQlpZiAoKGMtPm9iamVjdC5mbGFncyAmIGJlc3Rfd2l0aGluKSA9PSBiZXN0X3dpdGhpbikgeworCQkJCWlmIChkZWJ1ZykKKwkJCQkJZnByaW50ZihzdGRlcnIsIF8oImZpbmlzaGVkIHNlYXJjaCBhdCAlc1xuIiksCisJCQkJCQlvaWRfdG9faGV4KCZjLT5vYmplY3Qub2lkKSk7CisJCQkJYnJlYWs7CisJCQl9CiAJCX0KIAkJd2hpbGUgKHBhcmVudHMpIHsKIAkJCXN0cnVjdCBjb21taXQgKnAgPSBwYXJlbnRzLT5pdGVtOwpAQCAtNjI5LDEyICs2NDYsMTMgQEAKIAkJCXN0cnVjdCBhcmd2X2FycmF5IGFyZ3MgPSBBUkdWX0FSUkFZX0lOSVQ7CiAJCQlpbnQgZmQsIHJlc3VsdDsKIAorCQkJc2V0dXBfd29ya190cmVlKCk7CiAJCQlyZWFkX2NhY2hlKCk7CiAJCQlyZWZyZXNoX2luZGV4KCZ0aGVfaW5kZXgsIFJFRlJFU0hfUVVJRVR8UkVGUkVTSF9VTk1FUkdFRCwKIAkJCQkgICAgICBOVUxMLCBOVUxMLCBOVUxMKTsKIAkJCWZkID0gaG9sZF9sb2NrZWRfaW5kZXgoJmluZGV4X2xvY2ssIDApOwogCQkJaWYgKDAgPD0gZmQpCi0JCQkJdXBkYXRlX2luZGV4X2lmX2FibGUoJnRoZV9pbmRleCwgJmluZGV4X2xvY2spOworCQkJCXJlcG9fdXBkYXRlX2luZGV4X2lmX2FibGUodGhlX3JlcG9zaXRvcnksICZpbmRleF9sb2NrKTsKIAogCQkJcmVwb19pbml0X3JldmlzaW9ucyh0aGVfcmVwb3NpdG9yeSwgJnJldnMsIHByZWZpeCk7CiAJCQlhcmd2X2FycmF5X3B1c2h2KCZhcmdzLCBkaWZmX2luZGV4X2FyZ3MpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9kaWZmLWZpbGVzLmMgYi9idWlsdGluL2RpZmYtZmlsZXMuYwppbmRleCA0OGNmY2I5Li44NmFlNDc0IDEwMDY0NAotLS0gYS9idWlsdGluL2RpZmYtZmlsZXMuYworKysgYi9idWlsdGluL2RpZmYtZmlsZXMuYwpAQCAtMyw2ICszLDcgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIExpbnVzIFRvcnZhbGRzLCAyMDA1CiAgKi8KKyNkZWZpbmUgVVNFX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiZGlmZi5oIgpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9kaWZmLWluZGV4LmMgYi9idWlsdGluL2RpZmYtaW5kZXguYwppbmRleCBmY2NjZDFmLi45M2VjNjQyIDEwMDY0NAotLS0gYS9idWlsdGluL2RpZmYtaW5kZXguYworKysgYi9idWlsdGluL2RpZmYtaW5kZXguYwpAQCAtMSwzICsxLDQgQEAKKyNkZWZpbmUgVVNFX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiZGlmZi5oIgpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9kaWZmLXRyZWUuYyBiL2J1aWx0aW4vZGlmZi10cmVlLmMKaW5kZXggZWY5OTYxMi4uY2I5ZWE3OSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9kaWZmLXRyZWUuYworKysgYi9idWlsdGluL2RpZmYtdHJlZS5jCkBAIC0xLDMgKzEsNCBAQAorI2RlZmluZSBVU0VfVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJkaWZmLmgiCkBAIC04Miw5ICs4MywxMyBAQAogfQogCiBzdGF0aWMgY29uc3QgY2hhciBkaWZmX3RyZWVfdXNhZ2VbXSA9Ci0iZ2l0IGRpZmYtdHJlZSBbLS1zdGRpbl0gWy1tXSBbLWNdIFstLWNjXSBbLXNdIFstdl0gWy0tcHJldHR5XSBbLXRdIFstcl0gWy0tcm9vdF0gIgorImdpdCBkaWZmLXRyZWUgWy0tc3RkaW5dIFstbV0gWy1jIHwgLS1jY10gWy1zXSBbLXZdIFstLXByZXR0eV0gWy10XSBbLXJdIFstLXJvb3RdICIKICJbPGNvbW1vbi1kaWZmLW9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8dHJlZS1pc2g+XSBbPHBhdGg+Li4uXVxuIgogIiAgLXIgICAgICAgICAgICBkaWZmIHJlY3Vyc2l2ZWx5XG4iCisiICAtYyAgICAgICAgICAgIHNob3cgY29tYmluZWQgZGlmZiBmb3IgbWVyZ2UgY29tbWl0c1xuIgorIiAgLS1jYyAgICAgICAgICBzaG93IGNvbWJpbmVkIGRpZmYgZm9yIG1lcmdlIGNvbW1pdHMgcmVtb3ZpbmcgdW5pbnRlcmVzdGluZyBodW5rc1xuIgorIiAgLS1jb21iaW5lZC1hbGwtcGF0aHNcbiIKKyIgICAgICAgICAgICAgICAgc2hvdyBuYW1lIG9mIGZpbGUgaW4gYWxsIHBhcmVudHMgZm9yIGNvbWJpbmVkIGRpZmZzXG4iCiAiICAtLXJvb3QgICAgICAgIGluY2x1ZGUgdGhlIGluaXRpYWwgY29tbWl0IGFzIGRpZmYgYWdhaW5zdCAvZGV2L251bGxcbiIKIENPTU1PTl9ESUZGX09QVElPTlNfSEVMUDsKIApAQCAtMTY1LDcgKzE3MCw3IEBACiAKIAkJaWYgKG9wdC0+ZGlmZm9wdC5kZXRlY3RfcmVuYW1lKSB7CiAJCQlpZiAoIXRoZV9pbmRleC5jYWNoZSkKLQkJCQlyZWFkX2luZGV4KCZ0aGVfaW5kZXgpOworCQkJCXJlcG9fcmVhZF9pbmRleCh0aGVfcmVwb3NpdG9yeSk7CiAJCQlvcHQtPmRpZmZvcHQuc2V0dXAgfD0gRElGRl9TRVRVUF9VU0VfU0laRV9DQUNIRTsKIAkJfQogCQl3aGlsZSAoZmdldHMobGluZSwgc2l6ZW9mKGxpbmUpLCBzdGRpbikpIHsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZGlmZi5jIGIvYnVpbHRpbi9kaWZmLmMKaW5kZXggZjAzOTNiYi4uNDJhYzgwMyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9kaWZmLmMKKysrIGIvYnVpbHRpbi9kaWZmLmMKQEAgLTMsNiArMyw3IEBACiAgKgogICogQ29weXJpZ2h0IChjKSAyMDA2IEp1bmlvIEMgSGFtYW5vCiAgKi8KKyNkZWZpbmUgVVNFX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAibG9ja2ZpbGUuaCIKQEAgLTEwMiw3ICsxMDMsNyBAQAogCQkJICAgICAgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LAogCQkJICAgICAgc3RydWN0IG9iamVjdF9hcnJheV9lbnRyeSAqKmJsb2IpCiB7Ci0JdW5zaWduZWQgbW9kZSA9IGNhbm9uX21vZGUoU19JRlJFRyB8IDA2NDQpOworCWNvbnN0IHVuc2lnbmVkIG1vZGUgPSBjYW5vbl9tb2RlKFNfSUZSRUcgfCAwNjQ0KTsKIAogCWlmIChhcmdjID4gMSkKIAkJdXNhZ2UoYnVpbHRpbl9kaWZmX3VzYWdlKTsKQEAgLTIxMiw3ICsyMTMsNyBAQAogCWRpc2NhcmRfY2FjaGUoKTsKIAlyZWFkX2NhY2hlKCk7CiAJcmVmcmVzaF9jYWNoZShSRUZSRVNIX1FVSUVUfFJFRlJFU0hfVU5NRVJHRUQpOwotCXVwZGF0ZV9pbmRleF9pZl9hYmxlKCZ0aGVfaW5kZXgsICZsb2NrX2ZpbGUpOworCXJlcG9fdXBkYXRlX2luZGV4X2lmX2FibGUodGhlX3JlcG9zaXRvcnksICZsb2NrX2ZpbGUpOwogfQogCiBzdGF0aWMgaW50IGJ1aWx0aW5fZGlmZl9maWxlcyhzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKQEAgLTMyMCwzOCArMzIxLDI0IEBACiAKIAlyZXBvX2luaXRfcmV2aXNpb25zKHRoZV9yZXBvc2l0b3J5LCAmcmV2LCBwcmVmaXgpOwogCi0JaWYgKG5vX2luZGV4ICYmIGFyZ2MgIT0gaSArIDIpIHsKLQkJaWYgKG5vX2luZGV4ID09IERJRkZfTk9fSU5ERVhfSU1QTElDSVQpIHsKLQkJCS8qCi0JCQkgKiBUaGVyZSB3YXMgbm8gLS1uby1pbmRleCBhbmQgdGhlcmUgd2VyZSBub3QgdHdvCi0JCQkgKiBwYXRocy4gSXQgaXMgcG9zc2libGUgdGhhdCB0aGUgdXNlciBpbnRlbmRlZAotCQkJICogdG8gZG8gYW4gaW5zaWRlLXJlcG9zaXRvcnkgb3BlcmF0aW9uLgotCQkJICovCi0JCQlmcHJpbnRmKHN0ZGVyciwgIk5vdCBhIGdpdCByZXBvc2l0b3J5XG4iKTsKLQkJCWZwcmludGYoc3RkZXJyLAotCQkJCSJUbyBjb21wYXJlIHR3byBwYXRocyBvdXRzaWRlIGEgd29ya2luZyB0cmVlOlxuIik7Ci0JCX0KLQkJLyogR2l2ZSB0aGUgdXNhZ2UgbWVzc2FnZSBmb3Igbm9uLXJlcG9zaXRvcnkgdXNhZ2UgYW5kIGV4aXQuICovCi0JCXVzYWdlZigiZ2l0IGRpZmYgJXMgPHBhdGg+IDxwYXRoPiIsCi0JCSAgICAgICBub19pbmRleCA9PSBESUZGX05PX0lOREVYX0VYUExJQ0lUID8KLQkJICAgICAgICItLW5vLWluZGV4IiA6ICJbLS1uby1pbmRleF0iKTsKLQotCX0KLQlpZiAobm9faW5kZXgpCi0JCS8qIElmIHRoaXMgaXMgYSBuby1pbmRleCBkaWZmLCBqdXN0IHJ1biBpdCBhbmQgZXhpdCB0aGVyZS4gKi8KLQkJZGlmZl9ub19pbmRleCh0aGVfcmVwb3NpdG9yeSwgJnJldiwgYXJnYywgYXJndik7Ci0KLQkvKiBPdGhlcndpc2UsIHdlIGFyZSBkb2luZyB0aGUgdXN1YWwgImdpdCIgZGlmZiAqLwotCXJldi5kaWZmb3B0LnNraXBfc3RhdF91bm1hdGNoID0gISFkaWZmX2F1dG9fcmVmcmVzaF9pbmRleDsKLQotCS8qIFNjYWxlIHRvIHJlYWwgdGVybWluYWwgc2l6ZSBhbmQgcmVzcGVjdCBzdGF0R3JhcGhXaWR0aCBjb25maWcgKi8KKwkvKiBTZXQgdXAgZGVmYXVsdHMgdGhhdCB3aWxsIGFwcGx5IHRvIGJvdGggbm8taW5kZXggYW5kIHJlZ3VsYXIgZGlmZnMuICovCiAJcmV2LmRpZmZvcHQuc3RhdF93aWR0aCA9IC0xOwogCXJldi5kaWZmb3B0LnN0YXRfZ3JhcGhfd2lkdGggPSAtMTsKLQotCS8qIERlZmF1bHQgdG8gbGV0IGV4dGVybmFsIGFuZCB0ZXh0Y29udiBiZSB1c2VkICovCiAJcmV2LmRpZmZvcHQuZmxhZ3MuYWxsb3dfZXh0ZXJuYWwgPSAxOwogCXJldi5kaWZmb3B0LmZsYWdzLmFsbG93X3RleHRjb252ID0gMTsKIAorCS8qIElmIHRoaXMgaXMgYSBuby1pbmRleCBkaWZmLCBqdXN0IHJ1biBpdCBhbmQgZXhpdCB0aGVyZS4gKi8KKwlpZiAobm9faW5kZXgpCisJCWV4aXQoZGlmZl9ub19pbmRleCgmcmV2LCBub19pbmRleCA9PSBESUZGX05PX0lOREVYX0lNUExJQ0lULAorCQkJCSAgIGFyZ2MsIGFyZ3YpKTsKKworCisJLyoKKwkgKiBPdGhlcndpc2UsIHdlIGFyZSBkb2luZyB0aGUgdXN1YWwgImdpdCIgZGlmZjsgc2V0IHVwIGFueQorCSAqIGZ1cnRoZXIgZGVmYXVsdHMgdGhhdCBhcHBseSB0byByZWd1bGFyIGRpZmZzLgorCSAqLworCXJldi5kaWZmb3B0LnNraXBfc3RhdF91bm1hdGNoID0gISFkaWZmX2F1dG9fcmVmcmVzaF9pbmRleDsKKwogCS8qCiAJICogRGVmYXVsdCB0byBpbnRlbnQtdG8tYWRkIGVudHJpZXMgaW52aXNpYmxlIGluIHRoZQogCSAqIGluZGV4LiBUaGlzIG1ha2VzIHRoZW0gc2hvdyB1cCBhcyBuZXcgZmlsZXMgaW4gZGlmZi1maWxlcwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9kaWZmdG9vbC5jIGIvYnVpbHRpbi9kaWZmdG9vbC5jCmluZGV4IDU0NGIwZTguLmMyODBlNjggMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vZGlmZnRvb2wuYworKysgYi9idWlsdGluL2RpZmZ0b29sLmMKQEAgLTExLDYgKzExLDcgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSm9oYW5uZXMgU2NoaW5kZWxpbgogICovCisjZGVmaW5lIFVTRV9USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImJ1aWx0aW4uaCIKQEAgLTIzLDcgKzI0LDYgQEAKICNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKICNpbmNsdWRlICJkaXIuaCIKIAotc3RhdGljIGNoYXIgKmRpZmZfZ3VpX3Rvb2w7CiBzdGF0aWMgaW50IHRydXN0X2V4aXRfY29kZTsKIAogc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IGJ1aWx0aW5fZGlmZnRvb2xfdXNhZ2VbXSA9IHsKQEAgLTMzLDExICszMyw2IEBACiAKIHN0YXRpYyBpbnQgZGlmZnRvb2xfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKQogewotCWlmICghc3RyY21wKHZhciwgImRpZmYuZ3VpdG9vbCIpKSB7Ci0JCWRpZmZfZ3VpX3Rvb2wgPSB4c3RyZHVwKHZhbHVlKTsKLQkJcmV0dXJuIDA7Ci0JfQotCiAJaWYgKCFzdHJjbXAodmFyLCAiZGlmZnRvb2wudHJ1c3RleGl0Y29kZSIpKSB7CiAJCXRydXN0X2V4aXRfY29kZSA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKIAkJcmV0dXJuIDA7CkBAIC02NCwxNCArNTksMTIgQEAKIAkqbW9kZTIgPSAoaW50KXN0cnRvbChwICsgMSwgJnAsIDgpOwogCWlmICgqcCAhPSAnICcpCiAJCXJldHVybiBlcnJvcigiZXhwZWN0ZWQgJyAnLCBnb3QgJyVjJyIsICpwKTsKLQlpZiAoZ2V0X29pZF9oZXgoKytwLCBvaWQxKSkKLQkJcmV0dXJuIGVycm9yKCJleHBlY3RlZCBvYmplY3QgSUQsIGdvdCAnJXMnIiwgcCArIDEpOwotCXAgKz0gR0lUX1NIQTFfSEVYU1o7CisJaWYgKHBhcnNlX29pZF9oZXgoKytwLCBvaWQxLCAoY29uc3QgY2hhciAqKikmcCkpCisJCXJldHVybiBlcnJvcigiZXhwZWN0ZWQgb2JqZWN0IElELCBnb3QgJyVzJyIsIHApOwogCWlmICgqcCAhPSAnICcpCiAJCXJldHVybiBlcnJvcigiZXhwZWN0ZWQgJyAnLCBnb3QgJyVjJyIsICpwKTsKLQlpZiAoZ2V0X29pZF9oZXgoKytwLCBvaWQyKSkKLQkJcmV0dXJuIGVycm9yKCJleHBlY3RlZCBvYmplY3QgSUQsIGdvdCAnJXMnIiwgcCArIDEpOwotCXAgKz0gR0lUX1NIQTFfSEVYU1o7CisJaWYgKHBhcnNlX29pZF9oZXgoKytwLCBvaWQyLCAoY29uc3QgY2hhciAqKikmcCkpCisJCXJldHVybiBlcnJvcigiZXhwZWN0ZWQgb2JqZWN0IElELCBnb3QgJyVzJyIsIHApOwogCWlmICgqcCAhPSAnICcpCiAJCXJldHVybiBlcnJvcigiZXhwZWN0ZWQgJyAnLCBnb3QgJyVjJyIsICpwKTsKIAkqc3RhdHVzID0gKisrcDsKQEAgLTEzMiwxMiArMTI1LDE1IEBACiB9OwogCiBzdGF0aWMgaW50IHdvcmtpbmdfdHJlZV9lbnRyeV9jbXAoY29uc3Qgdm9pZCAqdW51c2VkX2NtcF9kYXRhLAotCQkJCSAgY29uc3Qgdm9pZCAqZW50cnksCi0JCQkJICBjb25zdCB2b2lkICplbnRyeV9vcl9rZXksCisJCQkJICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZXB0ciwKKwkJCQkgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeV9vcl9rZXksCiAJCQkJICBjb25zdCB2b2lkICp1bnVzZWRfa2V5ZGF0YSkKIHsKLQljb25zdCBzdHJ1Y3Qgd29ya2luZ190cmVlX2VudHJ5ICphID0gZW50cnk7Ci0JY29uc3Qgc3RydWN0IHdvcmtpbmdfdHJlZV9lbnRyeSAqYiA9IGVudHJ5X29yX2tleTsKKwljb25zdCBzdHJ1Y3Qgd29ya2luZ190cmVlX2VudHJ5ICphLCAqYjsKKworCWEgPSBjb250YWluZXJfb2YoZXB0ciwgY29uc3Qgc3RydWN0IHdvcmtpbmdfdHJlZV9lbnRyeSwgZW50cnkpOworCWIgPSBjb250YWluZXJfb2YoZW50cnlfb3Jfa2V5LCBjb25zdCBzdHJ1Y3Qgd29ya2luZ190cmVlX2VudHJ5LCBlbnRyeSk7CisKIAlyZXR1cm4gc3RyY21wKGEtPnBhdGgsIGItPnBhdGgpOwogfQogCkBAIC0xNTIsMTIgKzE0OCwxNCBAQAogfTsKIAogc3RhdGljIGludCBwYWlyX2NtcChjb25zdCB2b2lkICp1bnVzZWRfY21wX2RhdGEsCi0JCSAgICBjb25zdCB2b2lkICplbnRyeSwKLQkJICAgIGNvbnN0IHZvaWQgKmVudHJ5X29yX2tleSwKKwkJICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplcHRyLAorCQkgICAgY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmVudHJ5X29yX2tleSwKIAkJICAgIGNvbnN0IHZvaWQgKnVudXNlZF9rZXlkYXRhKQogewotCWNvbnN0IHN0cnVjdCBwYWlyX2VudHJ5ICphID0gZW50cnk7Ci0JY29uc3Qgc3RydWN0IHBhaXJfZW50cnkgKmIgPSBlbnRyeV9vcl9rZXk7CisJY29uc3Qgc3RydWN0IHBhaXJfZW50cnkgKmEsICpiOworCisJYSA9IGNvbnRhaW5lcl9vZihlcHRyLCBjb25zdCBzdHJ1Y3QgcGFpcl9lbnRyeSwgZW50cnkpOworCWIgPSBjb250YWluZXJfb2YoZW50cnlfb3Jfa2V5LCBjb25zdCBzdHJ1Y3QgcGFpcl9lbnRyeSwgZW50cnkpOwogCiAJcmV0dXJuIHN0cmNtcChhLT5wYXRoLCBiLT5wYXRoKTsKIH0KQEAgLTE2OCwxNCArMTY2LDE0IEBACiAJc3RydWN0IHBhaXJfZW50cnkgKmUsICpleGlzdGluZzsKIAogCUZMRVhfQUxMT0NfU1RSKGUsIHBhdGgsIHBhdGgpOwotCWhhc2htYXBfZW50cnlfaW5pdChlLCBzdHJoYXNoKHBhdGgpKTsKLQlleGlzdGluZyA9IGhhc2htYXBfZ2V0KG1hcCwgZSwgTlVMTCk7CisJaGFzaG1hcF9lbnRyeV9pbml0KCZlLT5lbnRyeSwgc3RyaGFzaChwYXRoKSk7CisJZXhpc3RpbmcgPSBoYXNobWFwX2dldF9lbnRyeShtYXAsIGUsIGVudHJ5LCBOVUxMKTsKIAlpZiAoZXhpc3RpbmcpIHsKIAkJZnJlZShlKTsKIAkJZSA9IGV4aXN0aW5nOwogCX0gZWxzZSB7CiAJCWUtPmxlZnRbMF0gPSBlLT5yaWdodFswXSA9ICdcMCc7Ci0JCWhhc2htYXBfYWRkKG1hcCwgZSk7CisJCWhhc2htYXBfYWRkKG1hcCwgJmUtPmVudHJ5KTsKIAl9CiAJc3RybGNweShpc19yaWdodCA/IGUtPnJpZ2h0IDogZS0+bGVmdCwgY29udGVudCwgUEFUSF9NQVgpOwogfQpAQCAtMTg2LDEyICsxODQsMTQgQEAKIH07CiAKIHN0YXRpYyBpbnQgcGF0aF9lbnRyeV9jbXAoY29uc3Qgdm9pZCAqdW51c2VkX2NtcF9kYXRhLAotCQkJICBjb25zdCB2b2lkICplbnRyeSwKLQkJCSAgY29uc3Qgdm9pZCAqZW50cnlfb3Jfa2V5LAorCQkJICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZXB0ciwKKwkJCSAgY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmVudHJ5X29yX2tleSwKIAkJCSAgY29uc3Qgdm9pZCAqa2V5KQogewotCWNvbnN0IHN0cnVjdCBwYXRoX2VudHJ5ICphID0gZW50cnk7Ci0JY29uc3Qgc3RydWN0IHBhdGhfZW50cnkgKmIgPSBlbnRyeV9vcl9rZXk7CisJY29uc3Qgc3RydWN0IHBhdGhfZW50cnkgKmEsICpiOworCisJYSA9IGNvbnRhaW5lcl9vZihlcHRyLCBjb25zdCBzdHJ1Y3QgcGF0aF9lbnRyeSwgZW50cnkpOworCWIgPSBjb250YWluZXJfb2YoZW50cnlfb3Jfa2V5LCBjb25zdCBzdHJ1Y3QgcGF0aF9lbnRyeSwgZW50cnkpOwogCiAJcmV0dXJuIHN0cmNtcChhLT5wYXRoLCBrZXkgPyBrZXkgOiBiLT5wYXRoKTsKIH0KQEAgLTI0MSw4ICsyNDEsOCBAQAogCXdoaWxlICghc3RyYnVmX2dldGxpbmVfbnVsKCZidWYsIGZwKSkgewogCQlzdHJ1Y3QgcGF0aF9lbnRyeSAqZW50cnk7CiAJCUZMRVhfQUxMT0NfU1RSKGVudHJ5LCBwYXRoLCBidWYuYnVmKTsKLQkJaGFzaG1hcF9lbnRyeV9pbml0KGVudHJ5LCBzdHJoYXNoKGJ1Zi5idWYpKTsKLQkJaGFzaG1hcF9hZGQocmVzdWx0LCBlbnRyeSk7CisJCWhhc2htYXBfZW50cnlfaW5pdCgmZW50cnktPmVudHJ5LCBzdHJoYXNoKGJ1Zi5idWYpKTsKKwkJaGFzaG1hcF9hZGQocmVzdWx0LCAmZW50cnktPmVudHJ5KTsKIAl9CiAJZmNsb3NlKGZwKTsKIAlpZiAoZmluaXNoX2NvbW1hbmQoJmRpZmZfZmlsZXMpKQpAQCAtMzIzLDcgKzMyMyw3IEBACiAJaW50IHJldDsKIAogCWNlID0gbWFrZV90cmFuc2llbnRfY2FjaGVfZW50cnkobW9kZSwgb2lkLCBwYXRoLCAwKTsKLQlyZXQgPSBjaGVja291dF9lbnRyeShjZSwgc3RhdGUsIE5VTEwpOworCXJldCA9IGNoZWNrb3V0X2VudHJ5KGNlLCBzdGF0ZSwgTlVMTCwgTlVMTCk7CiAKIAlkaXNjYXJkX2NhY2hlX2VudHJ5KGNlKTsKIAlyZXR1cm4gcmV0OwpAQCAtNDY4LDEyICs0NjgsMTMgQEAKIAogCQkJLyogQXZvaWQgZHVwbGljYXRlIHdvcmtpbmdfdHJlZSBlbnRyaWVzICovCiAJCQlGTEVYX0FMTE9DX1NUUihlbnRyeSwgcGF0aCwgZHN0X3BhdGgpOwotCQkJaGFzaG1hcF9lbnRyeV9pbml0KGVudHJ5LCBzdHJoYXNoKGRzdF9wYXRoKSk7Ci0JCQlpZiAoaGFzaG1hcF9nZXQoJndvcmtpbmdfdHJlZV9kdXBzLCBlbnRyeSwgTlVMTCkpIHsKKwkJCWhhc2htYXBfZW50cnlfaW5pdCgmZW50cnktPmVudHJ5LCBzdHJoYXNoKGRzdF9wYXRoKSk7CisJCQlpZiAoaGFzaG1hcF9nZXQoJndvcmtpbmdfdHJlZV9kdXBzLCAmZW50cnktPmVudHJ5LAorCQkJCQlOVUxMKSkgewogCQkJCWZyZWUoZW50cnkpOwogCQkJCWNvbnRpbnVlOwogCQkJfQotCQkJaGFzaG1hcF9hZGQoJndvcmtpbmdfdHJlZV9kdXBzLCBlbnRyeSk7CisJCQloYXNobWFwX2FkZCgmd29ya2luZ190cmVlX2R1cHMsICZlbnRyeS0+ZW50cnkpOwogCiAJCQlpZiAoIXVzZV93dF9maWxlKHdvcmtkaXIsIGRzdF9wYXRoLCAmcm9pZCkpIHsKIAkJCQlpZiAoY2hlY2tvdXRfcGF0aChybW9kZSwgJnJvaWQsIGRzdF9wYXRoLApAQCAtNTM3LDggKzUzOCw4IEBACiAJICogdGVtcG9yYXJ5IGZpbGUgdG8gYm90aCB0aGUgbGVmdCBhbmQgcmlnaHQgZGlyZWN0b3JpZXMgdG8gc2hvdyB0aGUKIAkgKiBjaGFuZ2UgaW4gdGhlIHJlY29yZGVkIFNIQTEgZm9yIHRoZSBzdWJtb2R1bGUuCiAJICovCi0JaGFzaG1hcF9pdGVyX2luaXQoJnN1Ym1vZHVsZXMsICZpdGVyKTsKLQl3aGlsZSAoKGVudHJ5ID0gaGFzaG1hcF9pdGVyX25leHQoJml0ZXIpKSkgeworCWhhc2htYXBfZm9yX2VhY2hfZW50cnkoJnN1Ym1vZHVsZXMsICZpdGVyLCBlbnRyeSwKKwkJCQllbnRyeSAvKiBtZW1iZXIgbmFtZSAqLykgewogCQlpZiAoKmVudHJ5LT5sZWZ0KSB7CiAJCQlhZGRfcGF0aCgmbGRpciwgbGRpcl9sZW4sIGVudHJ5LT5wYXRoKTsKIAkJCWVuc3VyZV9sZWFkaW5nX2RpcmVjdG9yaWVzKGxkaXIuYnVmKTsKQEAgLTU1Niw4ICs1NTcsOCBAQAogCSAqIHNob3dzIG9ubHkgdGhlIGxpbmsgaXRzZWxmLCBub3QgdGhlIGNvbnRlbnRzIG9mIHRoZSBsaW5rIHRhcmdldC4KIAkgKiBUaGlzIGxvb3AgcmVwbGljYXRlcyB0aGF0IGJlaGF2aW9yLgogCSAqLwotCWhhc2htYXBfaXRlcl9pbml0KCZzeW1saW5rczIsICZpdGVyKTsKLQl3aGlsZSAoKGVudHJ5ID0gaGFzaG1hcF9pdGVyX25leHQoJml0ZXIpKSkgeworCWhhc2htYXBfZm9yX2VhY2hfZW50cnkoJnN5bWxpbmtzMiwgJml0ZXIsIGVudHJ5LAorCQkJCWVudHJ5IC8qIG1lbWJlciBuYW1lICovKSB7CiAJCWlmICgqZW50cnktPmxlZnQpIHsKIAkJCWFkZF9wYXRoKCZsZGlyLCBsZGlyX2xlbiwgZW50cnktPnBhdGgpOwogCQkJZW5zdXJlX2xlYWRpbmdfZGlyZWN0b3JpZXMobGRpci5idWYpOwpAQCAtNjg5LDcgKzY5MCw3IEBACiBpbnQgY21kX2RpZmZ0b29sKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCWludCB1c2VfZ3VpX3Rvb2wgPSAwLCBkaXJfZGlmZiA9IDAsIHByb21wdCA9IC0xLCBzeW1saW5rcyA9IDAsCi0JICAgIHRvb2xfaGVscCA9IDA7CisJICAgIHRvb2xfaGVscCA9IDAsIG5vX2luZGV4ID0gMDsKIAlzdGF0aWMgY2hhciAqZGlmZnRvb2xfY21kID0gTlVMTCwgKmV4dGNtZCA9IE5VTEw7CiAJc3RydWN0IG9wdGlvbiBidWlsdGluX2RpZmZ0b29sX29wdGlvbnNbXSA9IHsKIAkJT1BUX0JPT0woJ2cnLCAiZ3VpIiwgJnVzZV9ndWlfdG9vbCwKQEAgLTcxMyw2ICs3MTQsNyBAQAogCQkJICAgICJ0b29sIHJldHVybnMgYSBub24gLSB6ZXJvIGV4aXQgY29kZSIpKSwKIAkJT1BUX1NUUklORygneCcsICJleHRjbWQiLCAmZXh0Y21kLCBOXygiY29tbWFuZCIpLAogCQkJICAgTl8oInNwZWNpZnkgYSBjdXN0b20gY29tbWFuZCBmb3Igdmlld2luZyBkaWZmcyIpKSwKKwkJT1BUX0FSR1VNRU5UKCJuby1pbmRleCIsICZub19pbmRleCwgTl8oInBhc3NlZCB0byBgZGlmZmAiKSksCiAJCU9QVF9FTkQoKQogCX07CiAKQEAgLTcyNiwxMiArNzI4LDIxIEBACiAJaWYgKHRvb2xfaGVscCkKIAkJcmV0dXJuIHByaW50X3Rvb2xfaGVscCgpOwogCi0JLyogTkVFRFNXT1JLOiBvbmNlIHdlIG5vIGxvbmdlciBzcGF3biBhbnl0aGluZywgcmVtb3ZlIHRoaXMgKi8KLQlzZXRlbnYoR0lUX0RJUl9FTlZJUk9OTUVOVCwgYWJzb2x1dGVfcGF0aChnZXRfZ2l0X2RpcigpKSwgMSk7Ci0Jc2V0ZW52KEdJVF9XT1JLX1RSRUVfRU5WSVJPTk1FTlQsIGFic29sdXRlX3BhdGgoZ2V0X2dpdF93b3JrX3RyZWUoKSksIDEpOworCWlmICghbm9faW5kZXggJiYgIXN0YXJ0dXBfaW5mby0+aGF2ZV9yZXBvc2l0b3J5KQorCQlkaWUoXygiZGlmZnRvb2wgcmVxdWlyZXMgd29ya3RyZWUgb3IgLS1uby1pbmRleCIpKTsKIAotCWlmICh1c2VfZ3VpX3Rvb2wgJiYgZGlmZl9ndWlfdG9vbCAmJiAqZGlmZl9ndWlfdG9vbCkKLQkJc2V0ZW52KCJHSVRfRElGRl9UT09MIiwgZGlmZl9ndWlfdG9vbCwgMSk7CisJaWYgKCFub19pbmRleCl7CisJCXNldHVwX3dvcmtfdHJlZSgpOworCQlzZXRlbnYoR0lUX0RJUl9FTlZJUk9OTUVOVCwgYWJzb2x1dGVfcGF0aChnZXRfZ2l0X2RpcigpKSwgMSk7CisJCXNldGVudihHSVRfV09SS19UUkVFX0VOVklST05NRU5ULCBhYnNvbHV0ZV9wYXRoKGdldF9naXRfd29ya190cmVlKCkpLCAxKTsKKwl9IGVsc2UgaWYgKGRpcl9kaWZmKQorCQlkaWUoXygiLS1kaXItZGlmZiBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW5vLWluZGV4IikpOworCisJaWYgKHVzZV9ndWlfdG9vbCArICEhZGlmZnRvb2xfY21kICsgISFleHRjbWQgPiAxKQorCQlkaWUoXygiLS1ndWksIC0tdG9vbCBhbmQgLS1leHRjbWQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIpKTsKKworCWlmICh1c2VfZ3VpX3Rvb2wpCisJCXNldGVudigiR0lUX01FUkdFVE9PTF9HVUkiLCAidHJ1ZSIsIDEpOwogCWVsc2UgaWYgKGRpZmZ0b29sX2NtZCkgewogCQlpZiAoKmRpZmZ0b29sX2NtZCkKIAkJCXNldGVudigiR0lUX0RJRkZfVE9PTCIsIGRpZmZ0b29sX2NtZCwgMSk7CmRpZmYgLS1naXQgYS9idWlsdGluL2Vudi0taGVscGVyLmMgYi9idWlsdGluL2Vudi0taGVscGVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjNjMjE0ZgotLS0gL2Rldi9udWxsCisrKyBiL2J1aWx0aW4vZW52LS1oZWxwZXIuYwpAQCAtMCwwICsxLDk1IEBACisjaW5jbHVkZSAiYnVpbHRpbi5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKKworc3RhdGljIGNoYXIgY29uc3QgKiBjb25zdCBlbnZfX2hlbHBlcl91c2FnZVtdID0geworCU5fKCJnaXQgZW52LS1oZWxwZXIgLS10eXBlPVtib29sfHVsb25nXSA8b3B0aW9ucz4gPGVudi12YXI+IiksCisJTlVMTAorfTsKKworc3RhdGljIGVudW0geworCUVOVl9IRUxQRVJfVFlQRV9CT09MID0gMSwKKwlFTlZfSEVMUEVSX1RZUEVfVUxPTkcKK30gY21kbW9kZSA9IDA7CisKK3N0YXRpYyBpbnQgb3B0aW9uX3BhcnNlX3R5cGUoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LCBjb25zdCBjaGFyICphcmcsCisJCQkgICAgIGludCB1bnNldCkKK3sKKwlpZiAoIXN0cmNtcChhcmcsICJib29sIikpCisJCWNtZG1vZGUgPSBFTlZfSEVMUEVSX1RZUEVfQk9PTDsKKwllbHNlIGlmICghc3RyY21wKGFyZywgInVsb25nIikpCisJCWNtZG1vZGUgPSBFTlZfSEVMUEVSX1RZUEVfVUxPTkc7CisJZWxzZQorCQlkaWUoXygidW5yZWNvZ25pemVkIC0tdHlwZSBhcmd1bWVudCwgJXMiKSwgYXJnKTsKKworCXJldHVybiAwOworfQorCitpbnQgY21kX2Vudl9faGVscGVyKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQoreworCWludCBleGl0X2NvZGUgPSAwOworCWNvbnN0IGNoYXIgKmVudl92YXJpYWJsZSA9IE5VTEw7CisJY29uc3QgY2hhciAqZW52X2RlZmF1bHQgPSBOVUxMOworCWludCByZXQ7CisJaW50IHJldF9pbnQsIGRlZmF1bHRfaW50OworCXVuc2lnbmVkIGxvbmcgcmV0X3Vsb25nLCBkZWZhdWx0X3Vsb25nOworCXN0cnVjdCBvcHRpb24gb3B0c1tdID0geworCQlPUFRfQ0FMTEJBQ0tfRigwLCAidHlwZSIsICZjbWRtb2RlLCBOXygidHlwZSIpLAorCQkJICAgICAgIE5fKCJ2YWx1ZSBpcyBnaXZlbiB0aGlzIHR5cGUiKSwgUEFSU0VfT1BUX05PTkVHLAorCQkJICAgICAgIG9wdGlvbl9wYXJzZV90eXBlKSwKKwkJT1BUX1NUUklORygwLCAiZGVmYXVsdCIsICZlbnZfZGVmYXVsdCwgTl8oInZhbHVlIiksCisJCQkgICBOXygiZGVmYXVsdCBmb3IgZ2l0X2Vudl8qKC4uLikgdG8gZmFsbCBiYWNrIG9uIikpLAorCQlPUFRfQk9PTCgwLCAiZXhpdC1jb2RlIiwgJmV4aXRfY29kZSwKKwkJCSBOXygiYmUgcXVpZXQgb25seSB1c2UgZ2l0X2Vudl8qKCkgdmFsdWUgYXMgZXhpdCBjb2RlIikpLAorCQlPUFRfRU5EKCksCisJfTsKKworCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0cywgZW52X19oZWxwZXJfdXNhZ2UsCisJCQkgICAgIFBBUlNFX09QVF9LRUVQX1VOS05PV04pOworCWlmIChlbnZfZGVmYXVsdCAmJiAhKmVudl9kZWZhdWx0KQorCQl1c2FnZV93aXRoX29wdGlvbnMoZW52X19oZWxwZXJfdXNhZ2UsIG9wdHMpOworCWlmICghY21kbW9kZSkKKwkJdXNhZ2Vfd2l0aF9vcHRpb25zKGVudl9faGVscGVyX3VzYWdlLCBvcHRzKTsKKwlpZiAoYXJnYyAhPSAxKQorCQl1c2FnZV93aXRoX29wdGlvbnMoZW52X19oZWxwZXJfdXNhZ2UsIG9wdHMpOworCWVudl92YXJpYWJsZSA9IGFyZ3ZbMF07CisKKwlzd2l0Y2ggKGNtZG1vZGUpIHsKKwljYXNlIEVOVl9IRUxQRVJfVFlQRV9CT09MOgorCQlpZiAoZW52X2RlZmF1bHQpIHsKKwkJCWRlZmF1bHRfaW50ID0gZ2l0X3BhcnNlX21heWJlX2Jvb2woZW52X2RlZmF1bHQpOworCQkJaWYgKGRlZmF1bHRfaW50ID09IC0xKSB7CisJCQkJZXJyb3IoXygib3B0aW9uIGAtLWRlZmF1bHQnIGV4cGVjdHMgYSBib29sZWFuIHZhbHVlIHdpdGggYC0tdHlwZT1ib29sYCwgbm90IGAlc2AiKSwKKwkJCQkgICAgICBlbnZfZGVmYXVsdCk7CisJCQkJdXNhZ2Vfd2l0aF9vcHRpb25zKGVudl9faGVscGVyX3VzYWdlLCBvcHRzKTsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCWRlZmF1bHRfaW50ID0gMDsKKwkJfQorCQlyZXRfaW50ID0gZ2l0X2Vudl9ib29sKGVudl92YXJpYWJsZSwgZGVmYXVsdF9pbnQpOworCQlpZiAoIWV4aXRfY29kZSkKKwkJCXB1dHMocmV0X2ludCA/ICJ0cnVlIiA6ICJmYWxzZSIpOworCQlyZXQgPSByZXRfaW50OworCQlicmVhazsKKwljYXNlIEVOVl9IRUxQRVJfVFlQRV9VTE9ORzoKKwkJaWYgKGVudl9kZWZhdWx0KSB7CisJCQlpZiAoIWdpdF9wYXJzZV91bG9uZyhlbnZfZGVmYXVsdCwgJmRlZmF1bHRfdWxvbmcpKSB7CisJCQkJZXJyb3IoXygib3B0aW9uIGAtLWRlZmF1bHQnIGV4cGVjdHMgYW4gdW5zaWduZWQgbG9uZyB2YWx1ZSB3aXRoIGAtLXR5cGU9dWxvbmdgLCBub3QgYCVzYCIpLAorCQkJCSAgICAgIGVudl9kZWZhdWx0KTsKKwkJCQl1c2FnZV93aXRoX29wdGlvbnMoZW52X19oZWxwZXJfdXNhZ2UsIG9wdHMpOworCQkJfQorCQl9IGVsc2UgeworCQkJZGVmYXVsdF91bG9uZyA9IDA7CisJCX0KKwkJcmV0X3Vsb25nID0gZ2l0X2Vudl91bG9uZyhlbnZfdmFyaWFibGUsIGRlZmF1bHRfdWxvbmcpOworCQlpZiAoIWV4aXRfY29kZSkKKwkJCXByaW50ZigiJWx1XG4iLCByZXRfdWxvbmcpOworCQlyZXQgPSByZXRfdWxvbmc7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCUJVRygidW5rbm93biA8dHlwZT4gdmFsdWUiKTsKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuICFyZXQ7Cit9CmRpZmYgLS1naXQgYS9idWlsdGluL2Zhc3QtZXhwb3J0LmMgYi9idWlsdGluL2Zhc3QtZXhwb3J0LmMKaW5kZXggNTc5MGYwZC4uODU4NjgxNiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9mYXN0LWV4cG9ydC5jCisrKyBiL2J1aWx0aW4vZmFzdC1leHBvcnQuYwpAQCAtMzEsMTMgKzMxLDE4IEBACiB9OwogCiBzdGF0aWMgaW50IHByb2dyZXNzOwotc3RhdGljIGVudW0geyBBQk9SVCwgVkVSQkFUSU0sIFdBUk4sIFdBUk5fU1RSSVAsIFNUUklQIH0gc2lnbmVkX3RhZ19tb2RlID0gQUJPUlQ7Ci1zdGF0aWMgZW51bSB7IEVSUk9SLCBEUk9QLCBSRVdSSVRFIH0gdGFnX29mX2ZpbHRlcmVkX21vZGUgPSBFUlJPUjsKK3N0YXRpYyBlbnVtIHsgU0lHTkVEX1RBR19BQk9SVCwgVkVSQkFUSU0sIFdBUk4sIFdBUk5fU1RSSVAsIFNUUklQIH0gc2lnbmVkX3RhZ19tb2RlID0gU0lHTkVEX1RBR19BQk9SVDsKK3N0YXRpYyBlbnVtIHsgVEFHX0ZJTFRFUklOR19BQk9SVCwgRFJPUCwgUkVXUklURSB9IHRhZ19vZl9maWx0ZXJlZF9tb2RlID0gVEFHX0ZJTFRFUklOR19BQk9SVDsKK3N0YXRpYyBlbnVtIHsgUkVFTkNPREVfQUJPUlQsIFJFRU5DT0RFX1lFUywgUkVFTkNPREVfTk8gfSByZWVuY29kZV9tb2RlID0gUkVFTkNPREVfQUJPUlQ7CiBzdGF0aWMgaW50IGZha2VfbWlzc2luZ190YWdnZXI7CiBzdGF0aWMgaW50IHVzZV9kb25lX2ZlYXR1cmU7CiBzdGF0aWMgaW50IG5vX2RhdGE7CiBzdGF0aWMgaW50IGZ1bGxfdHJlZTsKK3N0YXRpYyBpbnQgcmVmZXJlbmNlX2V4Y2x1ZGVkX2NvbW1pdHM7CitzdGF0aWMgaW50IHNob3dfb3JpZ2luYWxfaWRzOworc3RhdGljIGludCBtYXJrX3RhZ3M7CiBzdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IGV4dHJhX3JlZnMgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOworc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCB0YWdfcmVmcyA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiBzdGF0aWMgc3RydWN0IHJlZnNwZWMgcmVmc3BlY3MgPSBSRUZTUEVDX0lOSVRfRkVUQ0g7CiBzdGF0aWMgaW50IGFub255bWl6ZTsKIHN0YXRpYyBzdHJ1Y3QgcmV2aXNpb25fc291cmNlcyByZXZpc2lvbl9zb3VyY2VzOwpAQCAtNDYsNyArNTEsNyBAQAogCQkJCSAgICAgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCiB7CiAJaWYgKHVuc2V0IHx8ICFzdHJjbXAoYXJnLCAiYWJvcnQiKSkKLQkJc2lnbmVkX3RhZ19tb2RlID0gQUJPUlQ7CisJCXNpZ25lZF90YWdfbW9kZSA9IFNJR05FRF9UQUdfQUJPUlQ7CiAJZWxzZSBpZiAoIXN0cmNtcChhcmcsICJ2ZXJiYXRpbSIpIHx8ICFzdHJjbXAoYXJnLCAiaWdub3JlIikpCiAJCXNpZ25lZF90YWdfbW9kZSA9IFZFUkJBVElNOwogCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAid2FybiIpKQpAQCAtNjQsNyArNjksNyBAQAogCQkJCQkgIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQogewogCWlmICh1bnNldCB8fCAhc3RyY21wKGFyZywgImFib3J0IikpCi0JCXRhZ19vZl9maWx0ZXJlZF9tb2RlID0gRVJST1I7CisJCXRhZ19vZl9maWx0ZXJlZF9tb2RlID0gVEFHX0ZJTFRFUklOR19BQk9SVDsKIAllbHNlIGlmICghc3RyY21wKGFyZywgImRyb3AiKSkKIAkJdGFnX29mX2ZpbHRlcmVkX21vZGUgPSBEUk9QOwogCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAicmV3cml0ZSIpKQpAQCAtNzQsNiArNzksMzEgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBwYXJzZV9vcHRfcmVlbmNvZGVfbW9kZShjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJCQkJICAgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCit7CisJaWYgKHVuc2V0KSB7CisJCXJlZW5jb2RlX21vZGUgPSBSRUVOQ09ERV9BQk9SVDsKKwkJcmV0dXJuIDA7CisJfQorCisJc3dpdGNoIChnaXRfcGFyc2VfbWF5YmVfYm9vbChhcmcpKSB7CisJY2FzZSAwOgorCQlyZWVuY29kZV9tb2RlID0gUkVFTkNPREVfTk87CisJCWJyZWFrOworCWNhc2UgMToKKwkJcmVlbmNvZGVfbW9kZSA9IFJFRU5DT0RFX1lFUzsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJaWYgKCFzdHJjYXNlY21wKGFyZywgImFib3J0IikpCisJCQlyZWVuY29kZV9tb2RlID0gUkVFTkNPREVfQUJPUlQ7CisJCWVsc2UKKwkJCXJldHVybiBlcnJvcigiVW5rbm93biByZWVuY29kaW5nIG1vZGU6ICVzIiwgYXJnKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIHN0cnVjdCBkZWNvcmF0aW9uIGlkbnVtczsKIHN0YXRpYyB1aW50MzJfdCBsYXN0X2lkbnVtOwogCkBAIC05NywxMCArMTI3LDE1IEBACiB9OwogCiBzdGF0aWMgaW50IGFub255bWl6ZWRfZW50cnlfY21wKGNvbnN0IHZvaWQgKnVudXNlZF9jbXBfZGF0YSwKLQkJCQljb25zdCB2b2lkICp2YSwgY29uc3Qgdm9pZCAqdmIsCisJCQkJY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmVwdHIsCisJCQkJY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmVudHJ5X29yX2tleSwKIAkJCQljb25zdCB2b2lkICp1bnVzZWRfa2V5ZGF0YSkKIHsKLQljb25zdCBzdHJ1Y3QgYW5vbnltaXplZF9lbnRyeSAqYSA9IHZhLCAqYiA9IHZiOworCWNvbnN0IHN0cnVjdCBhbm9ueW1pemVkX2VudHJ5ICphLCAqYjsKKworCWEgPSBjb250YWluZXJfb2YoZXB0ciwgY29uc3Qgc3RydWN0IGFub255bWl6ZWRfZW50cnksIGhhc2gpOworCWIgPSBjb250YWluZXJfb2YoZW50cnlfb3Jfa2V5LCBjb25zdCBzdHJ1Y3QgYW5vbnltaXplZF9lbnRyeSwgaGFzaCk7CisKIAlyZXR1cm4gYS0+b3JpZ19sZW4gIT0gYi0+b3JpZ19sZW4gfHwKIAkJbWVtY21wKGEtPm9yaWcsIGItPm9yaWcsIGEtPm9yaWdfbGVuKTsKIH0KQEAgLTExOSwxMCArMTU0LDEwIEBACiAJaWYgKCFtYXAtPmNtcGZuKQogCQloYXNobWFwX2luaXQobWFwLCBhbm9ueW1pemVkX2VudHJ5X2NtcCwgTlVMTCwgMCk7CiAKLQloYXNobWFwX2VudHJ5X2luaXQoJmtleSwgbWVtaGFzaChvcmlnLCAqbGVuKSk7CisJaGFzaG1hcF9lbnRyeV9pbml0KCZrZXkuaGFzaCwgbWVtaGFzaChvcmlnLCAqbGVuKSk7CiAJa2V5Lm9yaWcgPSBvcmlnOwogCWtleS5vcmlnX2xlbiA9ICpsZW47Ci0JcmV0ID0gaGFzaG1hcF9nZXQobWFwLCAma2V5LCBOVUxMKTsKKwlyZXQgPSBoYXNobWFwX2dldF9lbnRyeShtYXAsICZrZXksIGhhc2gsIE5VTEwpOwogCiAJaWYgKCFyZXQpIHsKIAkJcmV0ID0geG1hbGxvYyhzaXplb2YoKnJldCkpOwpAQCAtMTMxLDcgKzE2Niw3IEBACiAJCXJldC0+b3JpZ19sZW4gPSAqbGVuOwogCQlyZXQtPmFub24gPSBnZW5lcmF0ZShvcmlnLCBsZW4pOwogCQlyZXQtPmFub25fbGVuID0gKmxlbjsKLQkJaGFzaG1hcF9wdXQobWFwLCByZXQpOworCQloYXNobWFwX3B1dChtYXAsICZyZXQtPmhhc2gpOwogCX0KIAogCSpsZW4gPSByZXQtPmFub25fbGVuOwpAQCAtMTg3LDYgKzIyMiwyMiBAQAogCXJldHVybiBwdHJfdG9fbWFyayhkZWNvcmF0aW9uKTsKIH0KIAorc3RhdGljIHN0cnVjdCBjb21taXQgKnJld3JpdGVfY29tbWl0KHN0cnVjdCBjb21taXQgKnApCit7CisJZm9yICg7OykgeworCQlpZiAocC0+cGFyZW50cyAmJiBwLT5wYXJlbnRzLT5uZXh0KQorCQkJYnJlYWs7CisJCWlmIChwLT5vYmplY3QuZmxhZ3MgJiBVTklOVEVSRVNUSU5HKQorCQkJYnJlYWs7CisJCWlmICghKHAtPm9iamVjdC5mbGFncyAmIFRSRUVTQU1FKSkKKwkJCWJyZWFrOworCQlpZiAoIXAtPnBhcmVudHMpCisJCQlyZXR1cm4gTlVMTDsKKwkJcCA9IHAtPnBhcmVudHMtPml0ZW07CisJfQorCXJldHVybiBwOworfQorCiBzdGF0aWMgdm9pZCBzaG93X3Byb2dyZXNzKHZvaWQpCiB7CiAJc3RhdGljIGludCBjb3VudGVyID0gMDsKQEAgLTIzMCw3ICsyODEsNyBAQAogCWlmIChpc19udWxsX29pZChvaWQpKQogCQlyZXR1cm47CiAKLQlvYmplY3QgPSBsb29rdXBfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCBvaWQtPmhhc2gpOworCW9iamVjdCA9IGxvb2t1cF9vYmplY3QodGhlX3JlcG9zaXRvcnksIG9pZCk7CiAJaWYgKG9iamVjdCAmJiBvYmplY3QtPmZsYWdzICYgU0hPV04pCiAJCXJldHVybjsKIApAQCAtMjQyLDggKzI5Myw5IEBACiAJCWJ1ZiA9IHJlYWRfb2JqZWN0X2ZpbGUob2lkLCAmdHlwZSwgJnNpemUpOwogCQlpZiAoIWJ1ZikKIAkJCWRpZSgiY291bGQgbm90IHJlYWQgYmxvYiAlcyIsIG9pZF90b19oZXgob2lkKSk7Ci0JCWlmIChjaGVja19vYmplY3Rfc2lnbmF0dXJlKG9pZCwgYnVmLCBzaXplLCB0eXBlX25hbWUodHlwZSkpIDwgMCkKLQkJCWRpZSgic2hhMSBtaXNtYXRjaCBpbiBibG9iICVzIiwgb2lkX3RvX2hleChvaWQpKTsKKwkJaWYgKGNoZWNrX29iamVjdF9zaWduYXR1cmUodGhlX3JlcG9zaXRvcnksIG9pZCwgYnVmLCBzaXplLAorCQkJCQkgICB0eXBlX25hbWUodHlwZSkpIDwgMCkKKwkJCWRpZSgib2lkIG1pc21hdGNoIGluIGJsb2IgJXMiLCBvaWRfdG9faGV4KG9pZCkpOwogCQlvYmplY3QgPSBwYXJzZV9vYmplY3RfYnVmZmVyKHRoZV9yZXBvc2l0b3J5LCBvaWQsIHR5cGUsCiAJCQkJCSAgICAgc2l6ZSwgYnVmLCAmZWF0ZW4pOwogCX0KQEAgLTI1Myw3ICszMDUsMTAgQEAKIAogCW1hcmtfbmV4dF9vYmplY3Qob2JqZWN0KTsKIAotCXByaW50ZigiYmxvYlxubWFyayA6JSJQUkl1MzIiXG5kYXRhICUiUFJJdU1BWCJcbiIsIGxhc3RfaWRudW0sICh1aW50bWF4X3Qpc2l6ZSk7CisJcHJpbnRmKCJibG9iXG5tYXJrIDolIlBSSXUzMiJcbiIsIGxhc3RfaWRudW0pOworCWlmIChzaG93X29yaWdpbmFsX2lkcykKKwkJcHJpbnRmKCJvcmlnaW5hbC1vaWQgJXNcbiIsIG9pZF90b19oZXgob2lkKSk7CisJcHJpbnRmKCJkYXRhICUiUFJJdU1BWCJcbiIsICh1aW50bWF4X3Qpc2l6ZSk7CiAJaWYgKHNpemUgJiYgZndyaXRlKGJ1Ziwgc2l6ZSwgMSwgc3Rkb3V0KSAhPSAxKQogCQlkaWVfZXJybm8oImNvdWxkIG5vdCB3cml0ZSBibG9iICclcyciLCBvaWRfdG9faGV4KG9pZCkpOwogCXByaW50ZigiXG4iKTsKQEAgLTMzMCwxNyArMzg1LDE4IEBACiAKIHN0YXRpYyB2b2lkICpnZW5lcmF0ZV9mYWtlX29pZChjb25zdCB2b2lkICpvbGQsIHNpemVfdCAqbGVuKQogewotCXN0YXRpYyB1aW50MzJfdCBjb3VudGVyID0gMTsgLyogYXZvaWQgbnVsbCBzaGExICovCi0JdW5zaWduZWQgY2hhciAqb3V0ID0geGNhbGxvYyhHSVRfU0hBMV9SQVdTWiwgMSk7Ci0JcHV0X2JlMzIob3V0ICsgR0lUX1NIQTFfUkFXU1ogLSA0LCBjb3VudGVyKyspOworCXN0YXRpYyB1aW50MzJfdCBjb3VudGVyID0gMTsgLyogYXZvaWQgbnVsbCBvaWQgKi8KKwljb25zdCB1bnNpZ25lZCBoYXNoc3ogPSB0aGVfaGFzaF9hbGdvLT5yYXdzejsKKwl1bnNpZ25lZCBjaGFyICpvdXQgPSB4Y2FsbG9jKGhhc2hzeiwgMSk7CisJcHV0X2JlMzIob3V0ICsgaGFzaHN6IC0gNCwgY291bnRlcisrKTsKIAlyZXR1cm4gb3V0OwogfQogCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqYW5vbnltaXplX3NoYTEoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQorc3RhdGljIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmFub255bWl6ZV9vaWQoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewotCXN0YXRpYyBzdHJ1Y3QgaGFzaG1hcCBzaGExczsKLQlzaXplX3QgbGVuID0gR0lUX1NIQTFfUkFXU1o7Ci0JcmV0dXJuIGFub255bWl6ZV9tZW0oJnNoYTFzLCBnZW5lcmF0ZV9mYWtlX29pZCwgb2lkLCAmbGVuKTsKKwlzdGF0aWMgc3RydWN0IGhhc2htYXAgb2JqczsKKwlzaXplX3QgbGVuID0gdGhlX2hhc2hfYWxnby0+cmF3c3o7CisJcmV0dXJuIGFub255bWl6ZV9tZW0oJm9ianMsIGdlbmVyYXRlX2Zha2Vfb2lkLCBvaWQsICZsZW4pOwogfQogCiBzdGF0aWMgdm9pZCBzaG93X2ZpbGVtb2RpZnkoc3RydWN0IGRpZmZfcXVldWVfc3RydWN0ICpxLApAQCAtMzk5LDEyICs0NTUsMTIgQEAKIAkJCSAqLwogCQkJaWYgKG5vX2RhdGEgfHwgU19JU0dJVExJTksoc3BlYy0+bW9kZSkpCiAJCQkJcHJpbnRmKCJNICUwNm8gJXMgIiwgc3BlYy0+bW9kZSwKLQkJCQkgICAgICAgc2hhMV90b19oZXgoYW5vbnltaXplID8KLQkJCQkJCSAgIGFub255bWl6ZV9zaGExKCZzcGVjLT5vaWQpIDoKLQkJCQkJCSAgIHNwZWMtPm9pZC5oYXNoKSk7CisJCQkJICAgICAgIG9pZF90b19oZXgoYW5vbnltaXplID8KKwkJCQkJCSAgYW5vbnltaXplX29pZCgmc3BlYy0+b2lkKSA6CisJCQkJCQkgICZzcGVjLT5vaWQpKTsKIAkJCWVsc2UgewogCQkJCXN0cnVjdCBvYmplY3QgKm9iamVjdCA9IGxvb2t1cF9vYmplY3QodGhlX3JlcG9zaXRvcnksCi0JCQkJCQkJCSAgICAgIHNwZWMtPm9pZC5oYXNoKTsKKwkJCQkJCQkJICAgICAgJnNwZWMtPm9pZCk7CiAJCQkJcHJpbnRmKCJNICUwNm8gOiVkICIsIHNwZWMtPm1vZGUsCiAJCQkJICAgICAgIGdldF9vYmplY3RfbWFyayhvYmplY3QpKTsKIAkJCX0KQEAgLTQzMCw3ICs0ODYsNyBAQAogCWJvbCA9IG1lbW1lbShiZWdpbiwgZW5kID8gZW5kIC0gYmVnaW4gOiBzdHJsZW4oYmVnaW4pLAogCQkgICAgIG5lZWRsZSwgc3RybGVuKG5lZWRsZSkpOwogCWlmICghYm9sKQotCQlyZXR1cm4gZ2l0X2NvbW1pdF9lbmNvZGluZzsKKwkJcmV0dXJuIE5VTEw7CiAJYm9sICs9IHN0cmxlbihuZWVkbGUpOwogCWVvbCA9IHN0cmNocm51bChib2wsICdcbicpOwogCSplb2wgPSAnXDAnOwpAQCAtNTc5LDcgKzYzNSw4IEBACiAJCW1lc3NhZ2UgKz0gMjsKIAogCWlmIChjb21taXQtPnBhcmVudHMgJiYKLQkgICAgZ2V0X29iamVjdF9tYXJrKCZjb21taXQtPnBhcmVudHMtPml0ZW0tPm9iamVjdCkgIT0gMCAmJgorCSAgICAoZ2V0X29iamVjdF9tYXJrKCZjb21taXQtPnBhcmVudHMtPml0ZW0tPm9iamVjdCkgIT0gMCB8fAorCSAgICAgcmVmZXJlbmNlX2V4Y2x1ZGVkX2NvbW1pdHMpICYmCiAJICAgICFmdWxsX3RyZWUpIHsKIAkJcGFyc2VfY29tbWl0X29yX2RpZShjb21taXQtPnBhcmVudHMtPml0ZW0pOwogCQlkaWZmX3RyZWVfb2lkKGdldF9jb21taXRfdHJlZV9vaWQoY29tbWl0LT5wYXJlbnRzLT5pdGVtKSwKQEAgLTU5NSw2ICs2NTIsMTMgQEAKIAkJCWV4cG9ydF9ibG9iKCZkaWZmX3F1ZXVlZF9kaWZmLnF1ZXVlW2ldLT50d28tPm9pZCk7CiAKIAlyZWZuYW1lID0gKnJldmlzaW9uX3NvdXJjZXNfYXQoJnJldmlzaW9uX3NvdXJjZXMsIGNvbW1pdCk7CisJLyoKKwkgKiBGSVhNRTogc3RyaW5nX2xpc3RfcmVtb3ZlKCkgYmVsb3cgZm9yIGVhY2ggcmVmIGlzIG92ZXJhbGwKKwkgKiBPKE5eMikuICBDb21wYXJlZCB0byBhIGhpc3Rvcnkgd2FsayBhbmQgZGlmZmluZyB0cmVlcywgdGhpcyBpcworCSAqIGp1c3QgbG9zdCBpbiB0aGUgbm9pc2UgaW4gcHJhY3RpY2UuICBIb3dldmVyLCB0aGVvcmV0aWNhbGx5IGEKKwkgKiByZXBvIG1heSBoYXZlIGVub3VnaCByZWZzIGZvciB0aGlzIHRvIGJlY29tZSBzbG93LgorCSAqLworCXN0cmluZ19saXN0X3JlbW92ZSgmZXh0cmFfcmVmcywgcmVmbmFtZSwgMCk7CiAJaWYgKGFub255bWl6ZSkgewogCQlyZWZuYW1lID0gYW5vbnltaXplX3JlZm5hbWUocmVmbmFtZSk7CiAJCWFub255bWl6ZV9pZGVudF9saW5lKCZjb21taXR0ZXIsICZjb21taXR0ZXJfZW5kKTsKQEAgLTYwMiwxNiArNjY2LDMyIEBACiAJfQogCiAJbWFya19uZXh0X29iamVjdCgmY29tbWl0LT5vYmplY3QpOwotCWlmIChhbm9ueW1pemUpCisJaWYgKGFub255bWl6ZSkgewogCQlyZWVuY29kZWQgPSBhbm9ueW1pemVfY29tbWl0X21lc3NhZ2UobWVzc2FnZSk7Ci0JZWxzZSBpZiAoIWlzX2VuY29kaW5nX3V0ZjgoZW5jb2RpbmcpKQotCQlyZWVuY29kZWQgPSByZWVuY29kZV9zdHJpbmcobWVzc2FnZSwgIlVURi04IiwgZW5jb2RpbmcpOworCX0gZWxzZSBpZiAoZW5jb2RpbmcpIHsKKwkJc3dpdGNoKHJlZW5jb2RlX21vZGUpIHsKKwkJY2FzZSBSRUVOQ09ERV9ZRVM6CisJCQlyZWVuY29kZWQgPSByZWVuY29kZV9zdHJpbmcobWVzc2FnZSwgIlVURi04IiwgZW5jb2RpbmcpOworCQkJYnJlYWs7CisJCWNhc2UgUkVFTkNPREVfTk86CisJCQlicmVhazsKKwkJY2FzZSBSRUVOQ09ERV9BQk9SVDoKKwkJCWRpZSgiRW5jb3VudGVyZWQgY29tbWl0LXNwZWNpZmljIGVuY29kaW5nICVzIGluIGNvbW1pdCAiCisJCQkgICAgIiVzOyB1c2UgLS1yZWVuY29kZT1beWVzfG5vXSB0byBoYW5kbGUgaXQiLAorCQkJICAgIGVuY29kaW5nLCBvaWRfdG9faGV4KCZjb21taXQtPm9iamVjdC5vaWQpKTsKKwkJfQorCX0KIAlpZiAoIWNvbW1pdC0+cGFyZW50cykKIAkJcHJpbnRmKCJyZXNldCAlc1xuIiwgcmVmbmFtZSk7Ci0JcHJpbnRmKCJjb21taXQgJXNcbm1hcmsgOiUiUFJJdTMyIlxuJS4qc1xuJS4qc1xuZGF0YSAldVxuJXMiLAotCSAgICAgICByZWZuYW1lLCBsYXN0X2lkbnVtLAorCXByaW50ZigiY29tbWl0ICVzXG5tYXJrIDolIlBSSXUzMiJcbiIsIHJlZm5hbWUsIGxhc3RfaWRudW0pOworCWlmIChzaG93X29yaWdpbmFsX2lkcykKKwkJcHJpbnRmKCJvcmlnaW5hbC1vaWQgJXNcbiIsIG9pZF90b19oZXgoJmNvbW1pdC0+b2JqZWN0Lm9pZCkpOworCXByaW50ZigiJS4qc1xuJS4qc1xuIiwKIAkgICAgICAgKGludCkoYXV0aG9yX2VuZCAtIGF1dGhvciksIGF1dGhvciwKLQkgICAgICAgKGludCkoY29tbWl0dGVyX2VuZCAtIGNvbW1pdHRlciksIGNvbW1pdHRlciwKKwkgICAgICAgKGludCkoY29tbWl0dGVyX2VuZCAtIGNvbW1pdHRlciksIGNvbW1pdHRlcik7CisJaWYgKCFyZWVuY29kZWQgJiYgZW5jb2RpbmcpCisJCXByaW50ZigiZW5jb2RpbmcgJXNcbiIsIGVuY29kaW5nKTsKKwlwcmludGYoImRhdGEgJXVcbiVzIiwKIAkgICAgICAgKHVuc2lnbmVkKShyZWVuY29kZWQKIAkJCSAgPyBzdHJsZW4ocmVlbmNvZGVkKSA6IG1lc3NhZ2UKIAkJCSAgPyBzdHJsZW4obWVzc2FnZSkgOiAwKSwKQEAgLTYyMCwxMyArNzAwLDIxIEBACiAJdW51c2VfY29tbWl0X2J1ZmZlcihjb21taXQsIGNvbW1pdF9idWZmZXIpOwogCiAJZm9yIChpID0gMCwgcCA9IGNvbW1pdC0+cGFyZW50czsgcDsgcCA9IHAtPm5leHQpIHsKLQkJaW50IG1hcmsgPSBnZXRfb2JqZWN0X21hcmsoJnAtPml0ZW0tPm9iamVjdCk7Ci0JCWlmICghbWFyaykKKwkJc3RydWN0IG9iamVjdCAqb2JqID0gJnAtPml0ZW0tPm9iamVjdDsKKwkJaW50IG1hcmsgPSBnZXRfb2JqZWN0X21hcmsob2JqKTsKKworCQlpZiAoIW1hcmsgJiYgIXJlZmVyZW5jZV9leGNsdWRlZF9jb21taXRzKQogCQkJY29udGludWU7CiAJCWlmIChpID09IDApCi0JCQlwcmludGYoImZyb20gOiVkXG4iLCBtYXJrKTsKKwkJCXByaW50ZigiZnJvbSAiKTsKIAkJZWxzZQotCQkJcHJpbnRmKCJtZXJnZSA6JWRcbiIsIG1hcmspOworCQkJcHJpbnRmKCJtZXJnZSAiKTsKKwkJaWYgKG1hcmspCisJCQlwcmludGYoIjolZFxuIiwgbWFyayk7CisJCWVsc2UKKwkJCXByaW50ZigiJXNcbiIsIG9pZF90b19oZXgoYW5vbnltaXplID8KKwkJCQkJCSAgYW5vbnltaXplX29pZCgmb2JqLT5vaWQpIDoKKwkJCQkJCSAgJm9iai0+b2lkKSk7CiAJCWkrKzsKIAl9CiAKQEAgLTcyNyw3ICs4MTUsNyBAQAogCQkJCQkgICAgICAgIlxuLS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS1cbiIpOwogCQlpZiAoc2lnbmF0dXJlKQogCQkJc3dpdGNoKHNpZ25lZF90YWdfbW9kZSkgewotCQkJY2FzZSBBQk9SVDoKKwkJCWNhc2UgU0lHTkVEX1RBR19BQk9SVDoKIAkJCQlkaWUoImVuY291bnRlcmVkIHNpZ25lZCB0YWcgJXM7IHVzZSAiCiAJCQkJICAgICItLXNpZ25lZC10YWdzPTxtb2RlPiB0byBoYW5kbGUgaXQiLAogCQkJCSAgICBvaWRfdG9faGV4KCZ0YWctPm9iamVjdC5vaWQpKTsKQEAgLTc1Miw3ICs4NDAsNyBAQAogCXRhZ2dlZF9tYXJrID0gZ2V0X29iamVjdF9tYXJrKHRhZ2dlZCk7CiAJaWYgKCF0YWdnZWRfbWFyaykgewogCQlzd2l0Y2godGFnX29mX2ZpbHRlcmVkX21vZGUpIHsKLQkJY2FzZSBBQk9SVDoKKwkJY2FzZSBUQUdfRklMVEVSSU5HX0FCT1JUOgogCQkJZGllKCJ0YWcgJXMgdGFncyB1bmV4cG9ydGVkIG9iamVjdDsgdXNlICIKIAkJCSAgICAiLS10YWctb2YtZmlsdGVyZWQtb2JqZWN0PTxtb2RlPiB0byBoYW5kbGUgaXQiLAogCQkJICAgIG9pZF90b19oZXgoJnRhZy0+b2JqZWN0Lm9pZCkpOwpAQCAtNzYxLDMyICs4NDksNDIgQEAKIAkJCWZyZWUoYnVmKTsKIAkJCXJldHVybjsKIAkJY2FzZSBSRVdSSVRFOgotCQkJaWYgKHRhZ2dlZC0+dHlwZSAhPSBPQkpfQ09NTUlUKSB7Ci0JCQkJZGllKCJ0YWcgJXMgdGFncyB1bmV4cG9ydGVkICVzISIsCi0JCQkJICAgIG9pZF90b19oZXgoJnRhZy0+b2JqZWN0Lm9pZCksCi0JCQkJICAgIHR5cGVfbmFtZSh0YWdnZWQtPnR5cGUpKTsKKwkJCWlmICh0YWdnZWQtPnR5cGUgPT0gT0JKX1RBRyAmJiAhbWFya190YWdzKSB7CisJCQkJZGllKF8oIkVycm9yOiBDYW5ub3QgZXhwb3J0IG5lc3RlZCB0YWdzIHVubGVzcyAtLW1hcmstdGFncyBpcyBzcGVjaWZpZWQuIikpOworCQkJfSBlbHNlIGlmICh0YWdnZWQtPnR5cGUgPT0gT0JKX0NPTU1JVCkgeworCQkJCXAgPSByZXdyaXRlX2NvbW1pdCgoc3RydWN0IGNvbW1pdCAqKXRhZ2dlZCk7CisJCQkJaWYgKCFwKSB7CisJCQkJCXByaW50ZigicmVzZXQgJXNcbmZyb20gJXNcblxuIiwKKwkJCQkJICAgICAgIG5hbWUsIG9pZF90b19oZXgoJm51bGxfb2lkKSk7CisJCQkJCWZyZWUoYnVmKTsKKwkJCQkJcmV0dXJuOworCQkJCX0KKwkJCQl0YWdnZWRfbWFyayA9IGdldF9vYmplY3RfbWFyaygmcC0+b2JqZWN0KTsKKwkJCX0gZWxzZSB7CisJCQkJLyogdGFnZ2VkLT50eXBlIGlzIGVpdGhlciBPQkpfQkxPQiBvciBPQkpfVEFHICovCisJCQkJdGFnZ2VkX21hcmsgPSBnZXRfb2JqZWN0X21hcmsodGFnZ2VkKTsKIAkJCX0KLQkJCXAgPSAoc3RydWN0IGNvbW1pdCAqKXRhZ2dlZDsKLQkJCWZvciAoOzspIHsKLQkJCQlpZiAocC0+cGFyZW50cyAmJiBwLT5wYXJlbnRzLT5uZXh0KQotCQkJCQlicmVhazsKLQkJCQlpZiAocC0+b2JqZWN0LmZsYWdzICYgVU5JTlRFUkVTVElORykKLQkJCQkJYnJlYWs7Ci0JCQkJaWYgKCEocC0+b2JqZWN0LmZsYWdzICYgVFJFRVNBTUUpKQotCQkJCQlicmVhazsKLQkJCQlpZiAoIXAtPnBhcmVudHMpCi0JCQkJCWRpZSgiY2FuJ3QgZmluZCByZXBsYWNlbWVudCBjb21taXQgZm9yIHRhZyAlcyIsCi0JCQkJCSAgICAgb2lkX3RvX2hleCgmdGFnLT5vYmplY3Qub2lkKSk7Ci0JCQkJcCA9IHAtPnBhcmVudHMtPml0ZW07Ci0JCQl9Ci0JCQl0YWdnZWRfbWFyayA9IGdldF9vYmplY3RfbWFyaygmcC0+b2JqZWN0KTsKIAkJfQogCX0KIAotCWlmIChzdGFydHNfd2l0aChuYW1lLCAicmVmcy90YWdzLyIpKQotCQluYW1lICs9IDEwOwotCXByaW50ZigidGFnICVzXG5mcm9tIDolZFxuJS4qcyVzZGF0YSAlZFxuJS4qc1xuIiwKLQkgICAgICAgbmFtZSwgdGFnZ2VkX21hcmssCisJaWYgKHRhZ2dlZC0+dHlwZSA9PSBPQkpfVEFHKSB7CisJCXByaW50ZigicmVzZXQgJXNcbmZyb20gJXNcblxuIiwKKwkJICAgICAgIG5hbWUsIG9pZF90b19oZXgoJm51bGxfb2lkKSk7CisJfQorCXNraXBfcHJlZml4KG5hbWUsICJyZWZzL3RhZ3MvIiwgJm5hbWUpOworCXByaW50ZigidGFnICVzXG4iLCBuYW1lKTsKKwlpZiAobWFya190YWdzKSB7CisJCW1hcmtfbmV4dF9vYmplY3QoJnRhZy0+b2JqZWN0KTsKKwkJcHJpbnRmKCJtYXJrIDolIlBSSXUzMiJcbiIsIGxhc3RfaWRudW0pOworCX0KKwlpZiAodGFnZ2VkX21hcmspCisJCXByaW50ZigiZnJvbSA6JWRcbiIsIHRhZ2dlZF9tYXJrKTsKKwllbHNlCisJCXByaW50ZigiZnJvbSAlc1xuIiwgb2lkX3RvX2hleCgmdGFnZ2VkLT5vaWQpKTsKKworCWlmIChzaG93X29yaWdpbmFsX2lkcykKKwkJcHJpbnRmKCJvcmlnaW5hbC1vaWQgJXNcbiIsIG9pZF90b19oZXgoJnRhZy0+b2JqZWN0Lm9pZCkpOworCXByaW50ZigiJS4qcyVzZGF0YSAlZFxuJS4qc1xuIiwKIAkgICAgICAgKGludCkodGFnZ2VyX2VuZCAtIHRhZ2dlciksIHRhZ2dlciwKIAkgICAgICAgdGFnZ2VyID09IHRhZ2dlcl9lbmQgPyAiIiA6ICJcbiIsCiAJICAgICAgIChpbnQpbWVzc2FnZV9zaXplLCAoaW50KW1lc3NhZ2Vfc2l6ZSwgbWVzc2FnZSA/IG1lc3NhZ2UgOiAiIik7CkBAIC04MDQsNyArOTAyLDcgQEAKIAkJLyogaGFuZGxlIG5lc3RlZCB0YWdzICovCiAJCXdoaWxlICh0YWcgJiYgdGFnLT5vYmplY3QudHlwZSA9PSBPQkpfVEFHKSB7CiAJCQlwYXJzZV9vYmplY3QodGhlX3JlcG9zaXRvcnksICZ0YWctPm9iamVjdC5vaWQpOwotCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZleHRyYV9yZWZzLCBmdWxsX25hbWUpLT51dGlsID0gdGFnOworCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZ0YWdfcmVmcywgZnVsbF9uYW1lKS0+dXRpbCA9IHRhZzsKIAkJCXRhZyA9IChzdHJ1Y3QgdGFnICopdGFnLT50YWdnZWQ7CiAJCX0KIAkJaWYgKCF0YWcpCkBAIC04NjMsMjUgKzk2MSwzMCBAQAogCQl9CiAKIAkJLyoKLQkJICogVGhpcyByZWYgd2lsbCBub3QgYmUgdXBkYXRlZCB0aHJvdWdoIGEgY29tbWl0LCBsZXRzIG1ha2UKLQkJICogc3VyZSBpdCBnZXRzIHByb3Blcmx5IHVwZGF0ZWQgZXZlbnR1YWxseS4KKwkJICogTWFrZSBzdXJlIHRoaXMgcmVmIGdldHMgcHJvcGVybHkgdXBkYXRlZCBldmVudHVhbGx5LCB3aGV0aGVyCisJCSAqIHRocm91Z2ggYSBjb21taXQgb3IgbWFudWFsbHkgYXQgdGhlIGVuZC4KIAkJICovCi0JCWlmICgqcmV2aXNpb25fc291cmNlc19hdCgmcmV2aXNpb25fc291cmNlcywgY29tbWl0KSB8fAotCQkgICAgY29tbWl0LT5vYmplY3QuZmxhZ3MgJiBTSE9XTikKKwkJaWYgKGUtPml0ZW0tPnR5cGUgIT0gT0JKX1RBRykKIAkJCXN0cmluZ19saXN0X2FwcGVuZCgmZXh0cmFfcmVmcywgZnVsbF9uYW1lKS0+dXRpbCA9IGNvbW1pdDsKKwogCQlpZiAoISpyZXZpc2lvbl9zb3VyY2VzX2F0KCZyZXZpc2lvbl9zb3VyY2VzLCBjb21taXQpKQogCQkJKnJldmlzaW9uX3NvdXJjZXNfYXQoJnJldmlzaW9uX3NvdXJjZXMsIGNvbW1pdCkgPSBmdWxsX25hbWU7CiAJfQorCisJc3RyaW5nX2xpc3Rfc29ydCgmZXh0cmFfcmVmcyk7CisJc3RyaW5nX2xpc3RfcmVtb3ZlX2R1cGxpY2F0ZXMoJmV4dHJhX3JlZnMsIDApOwogfQogCi1zdGF0aWMgdm9pZCBoYW5kbGVfdGFnc19hbmRfZHVwbGljYXRlcyh2b2lkKQorc3RhdGljIHZvaWQgaGFuZGxlX3RhZ3NfYW5kX2R1cGxpY2F0ZXMoc3RydWN0IHN0cmluZ19saXN0ICpleHRyYXMpCiB7CiAJc3RydWN0IGNvbW1pdCAqY29tbWl0OwogCWludCBpOwogCi0JZm9yIChpID0gZXh0cmFfcmVmcy5uciAtIDE7IGkgPj0gMDsgaS0tKSB7Ci0JCWNvbnN0IGNoYXIgKm5hbWUgPSBleHRyYV9yZWZzLml0ZW1zW2ldLnN0cmluZzsKLQkJc3RydWN0IG9iamVjdCAqb2JqZWN0ID0gZXh0cmFfcmVmcy5pdGVtc1tpXS51dGlsOworCWZvciAoaSA9IGV4dHJhcy0+bnIgLSAxOyBpID49IDA7IGktLSkgeworCQljb25zdCBjaGFyICpuYW1lID0gZXh0cmFzLT5pdGVtc1tpXS5zdHJpbmc7CisJCXN0cnVjdCBvYmplY3QgKm9iamVjdCA9IGV4dHJhcy0+aXRlbXNbaV0udXRpbDsKKwkJaW50IG1hcms7CisKIAkJc3dpdGNoIChvYmplY3QtPnR5cGUpIHsKIAkJY2FzZSBPQkpfVEFHOgogCQkJaGFuZGxlX3RhZyhuYW1lLCAoc3RydWN0IHRhZyAqKW9iamVjdCk7CkBAIC04OTAsOSArOTkzLDQ1IEBACiAJCQlpZiAoYW5vbnltaXplKQogCQkJCW5hbWUgPSBhbm9ueW1pemVfcmVmbmFtZShuYW1lKTsKIAkJCS8qIGNyZWF0ZSByZWZzIHBvaW50aW5nIHRvIGFscmVhZHkgc2VlbiBjb21taXRzICovCi0JCQljb21taXQgPSAoc3RydWN0IGNvbW1pdCAqKW9iamVjdDsKLQkJCXByaW50ZigicmVzZXQgJXNcbmZyb20gOiVkXG5cbiIsIG5hbWUsCi0JCQkgICAgICAgZ2V0X29iamVjdF9tYXJrKCZjb21taXQtPm9iamVjdCkpOworCQkJY29tbWl0ID0gcmV3cml0ZV9jb21taXQoKHN0cnVjdCBjb21taXQgKilvYmplY3QpOworCQkJaWYgKCFjb21taXQpIHsKKwkJCQkvKgorCQkJCSAqIE5laXRoZXIgdGhpcyBvYmplY3Qgbm9yIGFueSBvZiBpdHMKKwkJCQkgKiBhbmNlc3RvcnMgdG91Y2ggYW55IHJlbGV2YW50IHBhdGhzLCBzbworCQkJCSAqIGl0IGhhcyBiZWVuIGZpbHRlcmVkIHRvIG5vdGhpbmcuICBEZWxldGUKKwkJCQkgKiBpdC4KKwkJCQkgKi8KKwkJCQlwcmludGYoInJlc2V0ICVzXG5mcm9tICVzXG5cbiIsCisJCQkJICAgICAgIG5hbWUsIG9pZF90b19oZXgoJm51bGxfb2lkKSk7CisJCQkJY29udGludWU7CisJCQl9CisKKwkJCW1hcmsgPSBnZXRfb2JqZWN0X21hcmsoJmNvbW1pdC0+b2JqZWN0KTsKKwkJCWlmICghbWFyaykgeworCQkJCS8qCisJCQkJICogR2V0dGluZyBoZXJlIG1lYW5zIHdlIGhhdmUgYSBjb21taXQgd2hpY2gKKwkJCQkgKiB3YXMgZXhjbHVkZWQgYnkgYSBuZWdhdGl2ZSByZWZzcGVjIChlLmcuCisJCQkJICogZmFzdC1leHBvcnQgXm1hc3RlciBtYXN0ZXIpLiAgSWYgd2UgYXJlCisJCQkJICogcmVmZXJlbmNpbmcgZXhjbHVkZWQgY29tbWl0cywgc2V0IHRoZSByZWYKKwkJCQkgKiB0byB0aGUgZXhhY3QgY29tbWl0LiAgT3RoZXJ3aXNlLCB0aGUgdXNlcgorCQkJCSAqIHdhbnRzIHRoZSBicmFuY2ggZXhwb3J0ZWQgYnV0IGV2ZXJ5IGNvbW1pdAorCQkJCSAqIGluIGl0cyBoaXN0b3J5IHRvIGJlIGRlbGV0ZWQsIHdoaWNoIGJhc2ljYWxseQorCQkJCSAqIGp1c3QgbWVhbnMgZGVsZXRpb24gb2YgdGhlIHJlZi4KKwkJCQkgKi8KKwkJCQlpZiAoIXJlZmVyZW5jZV9leGNsdWRlZF9jb21taXRzKSB7CisJCQkJCS8qIGRlbGV0ZSB0aGUgcmVmICovCisJCQkJCXByaW50ZigicmVzZXQgJXNcbmZyb20gJXNcblxuIiwKKwkJCQkJICAgICAgIG5hbWUsIG9pZF90b19oZXgoJm51bGxfb2lkKSk7CisJCQkJCWNvbnRpbnVlOworCQkJCX0KKwkJCQkvKiBzZXQgcmVmIHRvIGNvbW1pdCB1c2luZyBvaWQsIG5vdCBtYXJrICovCisJCQkJcHJpbnRmKCJyZXNldCAlc1xuZnJvbSAlc1xuXG4iLCBuYW1lLAorCQkJCSAgICAgICBvaWRfdG9faGV4KCZjb21taXQtPm9iamVjdC5vaWQpKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKworCQkJcHJpbnRmKCJyZXNldCAlc1xuZnJvbSA6JWRcblxuIiwgbmFtZSwgbWFyaworCQkJICAgICAgICk7CiAJCQlzaG93X3Byb2dyZXNzKCk7CiAJCQlicmVhazsKIAkJfQpAQCAtOTI5LDExICsxMDY4LDE2IEBACiAJCWVycm9yKCJVbmFibGUgdG8gd3JpdGUgbWFya3MgZmlsZSAlcy4iLCBmaWxlKTsKIH0KIAotc3RhdGljIHZvaWQgaW1wb3J0X21hcmtzKGNoYXIgKmlucHV0X2ZpbGUpCitzdGF0aWMgdm9pZCBpbXBvcnRfbWFya3MoY2hhciAqaW5wdXRfZmlsZSwgaW50IGNoZWNrX2V4aXN0cykKIHsKIAljaGFyIGxpbmVbNTEyXTsKLQlGSUxFICpmID0geGZvcGVuKGlucHV0X2ZpbGUsICJyIik7CisJRklMRSAqZjsKKwlzdHJ1Y3Qgc3RhdCBzYjsKIAorCWlmIChjaGVja19leGlzdHMgJiYgc3RhdChpbnB1dF9maWxlLCAmc2IpKQorCQlyZXR1cm47CisKKwlmID0geGZvcGVuKGlucHV0X2ZpbGUsICJyIik7CiAJd2hpbGUgKGZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgZikpIHsKIAkJdWludDMyX3QgbWFyazsKIAkJY2hhciAqbGluZV9lbmQsICptYXJrX2VuZDsKQEAgLTk4OCw3ICsxMTMyLDcgQEAKIAkJCWNvbnRpbnVlOwogCiAJCXByaW50ZigicmVzZXQgJXNcbmZyb20gJXNcblxuIiwKLQkJCQlyZWZzcGVjLT5kc3QsIHNoYTFfdG9faGV4KG51bGxfc2hhMSkpOworCQkJCXJlZnNwZWMtPmRzdCwgb2lkX3RvX2hleCgmbnVsbF9vaWQpKTsKIAl9CiB9CiAKQEAgLTk5Nyw3ICsxMTQxLDkgQEAKIAlzdHJ1Y3QgcmV2X2luZm8gcmV2czsKIAlzdHJ1Y3Qgb2JqZWN0X2FycmF5IGNvbW1pdHMgPSBPQkpFQ1RfQVJSQVlfSU5JVDsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7Ci0JY2hhciAqZXhwb3J0X2ZpbGVuYW1lID0gTlVMTCwgKmltcG9ydF9maWxlbmFtZSA9IE5VTEw7CisJY2hhciAqZXhwb3J0X2ZpbGVuYW1lID0gTlVMTCwKKwkgICAgICppbXBvcnRfZmlsZW5hbWUgPSBOVUxMLAorCSAgICAgKmltcG9ydF9maWxlbmFtZV9pZl9leGlzdHMgPSBOVUxMOwogCXVpbnQzMl90IGxhc3RpbXBvcnRpZDsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgcmVmc3BlY3NfbGlzdCA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiAJc3RydWN0IHN0cmluZ19saXN0IHBhdGhzX29mX2NoYW5nZWRfb2JqZWN0cyA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwpAQCAtMTAxMCwxMCArMTE1NiwxNyBAQAogCQlPUFRfQ0FMTEJBQ0soMCwgInRhZy1vZi1maWx0ZXJlZC1vYmplY3QiLCAmdGFnX29mX2ZpbHRlcmVkX21vZGUsIE5fKCJtb2RlIiksCiAJCQkgICAgIE5fKCJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIiksCiAJCQkgICAgIHBhcnNlX29wdF90YWdfb2ZfZmlsdGVyZWRfbW9kZSksCisJCU9QVF9DQUxMQkFDSygwLCAicmVlbmNvZGUiLCAmcmVlbmNvZGVfbW9kZSwgTl8oIm1vZGUiKSwKKwkJCSAgICAgTl8oInNlbGVjdCBoYW5kbGluZyBvZiBjb21taXQgbWVzc2FnZXMgaW4gYW4gYWx0ZXJuYXRlIGVuY29kaW5nIiksCisJCQkgICAgIHBhcnNlX29wdF9yZWVuY29kZV9tb2RlKSwKIAkJT1BUX1NUUklORygwLCAiZXhwb3J0LW1hcmtzIiwgJmV4cG9ydF9maWxlbmFtZSwgTl8oImZpbGUiKSwKIAkJCSAgICAgTl8oIkR1bXAgbWFya3MgdG8gdGhpcyBmaWxlIikpLAogCQlPUFRfU1RSSU5HKDAsICJpbXBvcnQtbWFya3MiLCAmaW1wb3J0X2ZpbGVuYW1lLCBOXygiZmlsZSIpLAogCQkJICAgICBOXygiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIikpLAorCQlPUFRfU1RSSU5HKDAsICJpbXBvcnQtbWFya3MtaWYtZXhpc3RzIiwKKwkJCSAgICAgJmltcG9ydF9maWxlbmFtZV9pZl9leGlzdHMsCisJCQkgICAgIE5fKCJmaWxlIiksCisJCQkgICAgIE5fKCJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUgaWYgaXQgZXhpc3RzIikpLAogCQlPUFRfQk9PTCgwLCAiZmFrZS1taXNzaW5nLXRhZ2dlciIsICZmYWtlX21pc3NpbmdfdGFnZ2VyLAogCQkJIE5fKCJGYWtlIGEgdGFnZ2VyIHdoZW4gdGFncyBsYWNrIG9uZSIpKSwKIAkJT1BUX0JPT0woMCwgImZ1bGwtdHJlZSIsICZmdWxsX3RyZWUsCkBAIC0xMDI0LDYgKzExNzcsMTMgQEAKIAkJT1BUX1NUUklOR19MSVNUKDAsICJyZWZzcGVjIiwgJnJlZnNwZWNzX2xpc3QsIE5fKCJyZWZzcGVjIiksCiAJCQkgICAgIE5fKCJBcHBseSByZWZzcGVjIHRvIGV4cG9ydGVkIHJlZnMiKSksCiAJCU9QVF9CT09MKDAsICJhbm9ueW1pemUiLCAmYW5vbnltaXplLCBOXygiYW5vbnltaXplIG91dHB1dCIpKSwKKwkJT1BUX0JPT0woMCwgInJlZmVyZW5jZS1leGNsdWRlZC1wYXJlbnRzIiwKKwkJCSAmcmVmZXJlbmNlX2V4Y2x1ZGVkX2NvbW1pdHMsIE5fKCJSZWZlcmVuY2UgcGFyZW50cyB3aGljaCBhcmUgbm90IGluIGZhc3QtZXhwb3J0IHN0cmVhbSBieSBvYmplY3QgaWQiKSksCisJCU9QVF9CT09MKDAsICJzaG93LW9yaWdpbmFsLWlkcyIsICZzaG93X29yaWdpbmFsX2lkcywKKwkJCSAgICBOXygiU2hvdyBvcmlnaW5hbCBvYmplY3QgaWRzIG9mIGJsb2JzL2NvbW1pdHMiKSksCisJCU9QVF9CT09MKDAsICJtYXJrLXRhZ3MiLCAmbWFya190YWdzLAorCQkJICAgIE5fKCJMYWJlbCB0YWdzIHdpdGggbWFyayBpZHMiKSksCisKIAkJT1BUX0VORCgpCiAJfTsKIApAQCAtMTA1Niw4ICsxMjE2LDEyIEBACiAJaWYgKHVzZV9kb25lX2ZlYXR1cmUpCiAJCXByaW50ZigiZmVhdHVyZSBkb25lXG4iKTsKIAorCWlmIChpbXBvcnRfZmlsZW5hbWUgJiYgaW1wb3J0X2ZpbGVuYW1lX2lmX2V4aXN0cykKKwkJZGllKF8oIkNhbm5vdCBwYXNzIGJvdGggLS1pbXBvcnQtbWFya3MgYW5kIC0taW1wb3J0LW1hcmtzLWlmLWV4aXN0cyIpKTsKIAlpZiAoaW1wb3J0X2ZpbGVuYW1lKQotCQlpbXBvcnRfbWFya3MoaW1wb3J0X2ZpbGVuYW1lKTsKKwkJaW1wb3J0X21hcmtzKGltcG9ydF9maWxlbmFtZSwgMCk7CisJZWxzZSBpZiAoaW1wb3J0X2ZpbGVuYW1lX2lmX2V4aXN0cykKKwkJaW1wb3J0X21hcmtzKGltcG9ydF9maWxlbmFtZV9pZl9leGlzdHMsIDEpOwogCWxhc3RpbXBvcnRpZCA9IGxhc3RfaWRudW07CiAKIAlpZiAoaW1wb3J0X2ZpbGVuYW1lICYmIHJldnMucHJ1bmVfZGF0YS5ucikKQEAgLTEwODAsNyArMTI0NCw4IEBACiAJCX0KIAl9CiAKLQloYW5kbGVfdGFnc19hbmRfZHVwbGljYXRlcygpOworCWhhbmRsZV90YWdzX2FuZF9kdXBsaWNhdGVzKCZleHRyYV9yZWZzKTsKKwloYW5kbGVfdGFnc19hbmRfZHVwbGljYXRlcygmdGFnX3JlZnMpOwogCWhhbmRsZV9kZWxldGVzKCk7CiAKIAlpZiAoZXhwb3J0X2ZpbGVuYW1lICYmIGxhc3RpbXBvcnRpZCAhPSBsYXN0X2lkbnVtKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9mZXRjaC1wYWNrLmMgYi9idWlsdGluL2ZldGNoLXBhY2suYwppbmRleCA2M2U2OWE1Li5kYzE0ODVjIDEwMDY0NAotLS0gYS9idWlsdGluL2ZldGNoLXBhY2suYworKysgYi9idWlsdGluL2ZldGNoLXBhY2suYwpAQCAtNTUsNiArNTUsNyBAQAogCXN0cnVjdCBvaWRfYXJyYXkgc2hhbGxvdyA9IE9JRF9BUlJBWV9JTklUOwogCXN0cnVjdCBzdHJpbmdfbGlzdCBkZWVwZW5fbm90ID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CiAJc3RydWN0IHBhY2tldF9yZWFkZXIgcmVhZGVyOworCWVudW0gcHJvdG9jb2xfdmVyc2lvbiB2ZXJzaW9uOwogCiAJZmV0Y2hfaWZfbWlzc2luZyA9IDA7CiAKQEAgLTIxNywxMSArMjE4LDE0IEBACiAKIAlwYWNrZXRfcmVhZGVyX2luaXQoJnJlYWRlciwgZmRbMF0sIE5VTEwsIDAsCiAJCQkgICBQQUNLRVRfUkVBRF9DSE9NUF9ORVdMSU5FIHwKLQkJCSAgIFBBQ0tFVF9SRUFEX0dFTlRMRV9PTl9FT0YpOworCQkJICAgUEFDS0VUX1JFQURfR0VOVExFX09OX0VPRiB8CisJCQkgICBQQUNLRVRfUkVBRF9ESUVfT05fRVJSX1BBQ0tFVCk7CiAKLQlzd2l0Y2ggKGRpc2NvdmVyX3ZlcnNpb24oJnJlYWRlcikpIHsKKwl2ZXJzaW9uID0gZGlzY292ZXJfdmVyc2lvbigmcmVhZGVyKTsKKwlzd2l0Y2ggKHZlcnNpb24pIHsKIAljYXNlIHByb3RvY29sX3YyOgotCQlkaWUoInN1cHBvcnQgZm9yIHByb3RvY29sIHYyIG5vdCBpbXBsZW1lbnRlZCB5ZXQiKTsKKwkJZ2V0X3JlbW90ZV9yZWZzKGZkWzFdLCAmcmVhZGVyLCAmcmVmLCAwLCBOVUxMLCBOVUxMKTsKKwkJYnJlYWs7CiAJY2FzZSBwcm90b2NvbF92MToKIAljYXNlIHByb3RvY29sX3YwOgogCQlnZXRfcmVtb3RlX2hlYWRzKCZyZWFkZXIsICZyZWYsIDAsIE5VTEwsICZzaGFsbG93KTsKQEAgLTIzMCw4ICsyMzQsOCBAQAogCQlCVUcoInVua25vd24gcHJvdG9jb2wgdmVyc2lvbiIpOwogCX0KIAotCXJlZiA9IGZldGNoX3BhY2soJmFyZ3MsIGZkLCBjb25uLCByZWYsIGRlc3QsIHNvdWdodCwgbnJfc291Z2h0LAotCQkJICZzaGFsbG93LCBwYWNrX2xvY2tmaWxlX3B0ciwgcHJvdG9jb2xfdjApOworCXJlZiA9IGZldGNoX3BhY2soJmFyZ3MsIGZkLCByZWYsIHNvdWdodCwgbnJfc291Z2h0LAorCQkJICZzaGFsbG93LCBwYWNrX2xvY2tmaWxlX3B0ciwgdmVyc2lvbik7CiAJaWYgKHBhY2tfbG9ja2ZpbGUpIHsKIAkJcHJpbnRmKCJsb2NrICVzXG4iLCBwYWNrX2xvY2tmaWxlKTsKIAkJZmZsdXNoKHN0ZG91dCk7CmRpZmYgLS1naXQgYS9idWlsdGluL2ZldGNoLmMgYi9idWlsdGluL2ZldGNoLmMKaW5kZXggZTAxNDAzMi4uYmY2YmFiOCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9mZXRjaC5jCisrKyBiL2J1aWx0aW4vZmV0Y2guYwpAQCAtNyw2ICs3LDcgQEAKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAicmVmc3BlYy5oIgogI2luY2x1ZGUgIm9iamVjdC1zdG9yZS5oIgorI2luY2x1ZGUgIm9pZHNldC5oIgogI2luY2x1ZGUgImNvbW1pdC5oIgogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgpAQCAtMjMsNiArMjQsMTEgQEAKICNpbmNsdWRlICJwYWNrZmlsZS5oIgogI2luY2x1ZGUgImxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oIgogI2luY2x1ZGUgImNvbW1pdC1yZWFjaC5oIgorI2luY2x1ZGUgImJyYW5jaC5oIgorI2luY2x1ZGUgInByb21pc29yLXJlbW90ZS5oIgorI2luY2x1ZGUgImNvbW1pdC1ncmFwaC5oIgorCisjZGVmaW5lIEZPUkNFRF9VUERBVEVTX0RFTEFZX1dBUk5JTkdfSU5fTVMgKDEwICogMTAwMCkKIAogc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBidWlsdGluX2ZldGNoX3VzYWdlW10gPSB7CiAJTl8oImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIpLApAQCAtMzksNiArNDUsOCBAQAogfTsKIAogc3RhdGljIGludCBmZXRjaF9wcnVuZV9jb25maWcgPSAtMTsgLyogdW5zcGVjaWZpZWQgKi8KK3N0YXRpYyBpbnQgZmV0Y2hfc2hvd19mb3JjZWRfdXBkYXRlcyA9IDE7CitzdGF0aWMgdWludDY0X3QgZm9yY2VkX3VwZGF0ZXNfbXMgPSAwOwogc3RhdGljIGludCBwcnVuZSA9IC0xOyAvKiB1bnNwZWNpZmllZCAqLwogI2RlZmluZSBQUlVORV9CWV9ERUZBVUxUIDAgLyogZG8gd2UgcHJ1bmUgYnkgZGVmYXVsdD8gKi8KIApAQCAtNDYsMTAgKzU0LDEzIEBACiBzdGF0aWMgaW50IHBydW5lX3RhZ3MgPSAtMTsgLyogdW5zcGVjaWZpZWQgKi8KICNkZWZpbmUgUFJVTkVfVEFHU19CWV9ERUZBVUxUIDAgLyogZG8gd2UgcHJ1bmUgdGFncyBieSBkZWZhdWx0PyAqLwogCi1zdGF0aWMgaW50IGFsbCwgYXBwZW5kLCBkcnlfcnVuLCBmb3JjZSwga2VlcCwgbXVsdGlwbGUsIHVwZGF0ZV9oZWFkX29rLCB2ZXJib3NpdHksIGRlZXBlbl9yZWxhdGl2ZTsKK3N0YXRpYyBpbnQgYWxsLCBhcHBlbmQsIGRyeV9ydW4sIGZvcmNlLCBrZWVwLCBtdWx0aXBsZSwgdXBkYXRlX2hlYWRfb2s7CitzdGF0aWMgaW50IHZlcmJvc2l0eSwgZGVlcGVuX3JlbGF0aXZlLCBzZXRfdXBzdHJlYW07CiBzdGF0aWMgaW50IHByb2dyZXNzID0gLTE7CitzdGF0aWMgaW50IGVuYWJsZV9hdXRvX2djID0gMTsKIHN0YXRpYyBpbnQgdGFncyA9IFRBR1NfREVGQVVMVCwgdW5zaGFsbG93LCB1cGRhdGVfc2hhbGxvdywgZGVlcGVuOwotc3RhdGljIGludCBtYXhfY2hpbGRyZW4gPSAxOworc3RhdGljIGludCBtYXhfam9icyA9IC0xLCBzdWJtb2R1bGVfZmV0Y2hfam9ic19jb25maWcgPSAtMTsKK3N0YXRpYyBpbnQgZmV0Y2hfcGFyYWxsZWxfY29uZmlnID0gMTsKIHN0YXRpYyBlbnVtIHRyYW5zcG9ydF9mYW1pbHkgZmFtaWx5Owogc3RhdGljIGNvbnN0IGNoYXIgKmRlcHRoOwogc3RhdGljIGNvbnN0IGNoYXIgKmRlZXBlbl9zaW5jZTsKQEAgLTY2LDYgKzc3LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zIGZpbHRlcl9vcHRpb25zOwogc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBzZXJ2ZXJfb3B0aW9ucyA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwogc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBuZWdvdGlhdGlvbl90aXAgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOworc3RhdGljIGludCBmZXRjaF93cml0ZV9jb21taXRfZ3JhcGggPSAtMTsKIAogc3RhdGljIGludCBnaXRfZmV0Y2hfY29uZmlnKGNvbnN0IGNoYXIgKmssIGNvbnN0IGNoYXIgKnYsIHZvaWQgKmNiKQogewpAQCAtNzksNiArOTEsMTEgQEAKIAkJcmV0dXJuIDA7CiAJfQogCisJaWYgKCFzdHJjbXAoaywgImZldGNoLnNob3dmb3JjZWR1cGRhdGVzIikpIHsKKwkJZmV0Y2hfc2hvd19mb3JjZWRfdXBkYXRlcyA9IGdpdF9jb25maWdfYm9vbChrLCB2KTsKKwkJcmV0dXJuIDA7CisJfQorCiAJaWYgKCFzdHJjbXAoaywgInN1Ym1vZHVsZS5yZWN1cnNlIikpIHsKIAkJaW50IHIgPSBnaXRfY29uZmlnX2Jvb2woaywgdikgPwogCQkJUkVDVVJTRV9TVUJNT0RVTEVTX09OIDogUkVDVVJTRV9TVUJNT0RVTEVTX09GRjsKQEAgLTg2LDEzICsxMDMsMjAgQEAKIAl9CiAKIAlpZiAoIXN0cmNtcChrLCAic3VibW9kdWxlLmZldGNoam9icyIpKSB7Ci0JCW1heF9jaGlsZHJlbiA9IHBhcnNlX3N1Ym1vZHVsZV9mZXRjaGpvYnMoaywgdik7CisJCXN1Ym1vZHVsZV9mZXRjaF9qb2JzX2NvbmZpZyA9IHBhcnNlX3N1Ym1vZHVsZV9mZXRjaGpvYnMoaywgdik7CiAJCXJldHVybiAwOwogCX0gZWxzZSBpZiAoIXN0cmNtcChrLCAiZmV0Y2gucmVjdXJzZXN1Ym1vZHVsZXMiKSkgewogCQlyZWN1cnNlX3N1Ym1vZHVsZXMgPSBwYXJzZV9mZXRjaF9yZWN1cnNlX3N1Ym1vZHVsZXNfYXJnKGssIHYpOwogCQlyZXR1cm4gMDsKIAl9CiAKKwlpZiAoIXN0cmNtcChrLCAiZmV0Y2gucGFyYWxsZWwiKSkgeworCQlmZXRjaF9wYXJhbGxlbF9jb25maWcgPSBnaXRfY29uZmlnX2ludChrLCB2KTsKKwkJaWYgKGZldGNoX3BhcmFsbGVsX2NvbmZpZyA8IDApCisJCQlkaWUoXygiZmV0Y2gucGFyYWxsZWwgY2Fubm90IGJlIG5lZ2F0aXZlIikpOworCQlyZXR1cm4gMDsKKwl9CisKIAlyZXR1cm4gZ2l0X2RlZmF1bHRfY29uZmlnKGssIHYsIGNiKTsKIH0KIApAQCAtMTEzLDYgKzEzNyw4IEBACiAJT1BUX19WRVJCT1NJVFkoJnZlcmJvc2l0eSksCiAJT1BUX0JPT0woMCwgImFsbCIsICZhbGwsCiAJCSBOXygiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIpKSwKKwlPUFRfQk9PTCgwLCAic2V0LXVwc3RyZWFtIiwgJnNldF91cHN0cmVhbSwKKwkJIE5fKCJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL2ZldGNoIikpLAogCU9QVF9CT09MKCdhJywgImFwcGVuZCIsICZhcHBlbmQsCiAJCSBOXygiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIikpLAogCU9QVF9TVFJJTkcoMCwgInVwbG9hZC1wYWNrIiwgJnVwbG9hZF9wYWNrLCBOXygicGF0aCIpLApAQCAtMTI0LDcgKzE1MCw3IEBACiAJCSAgICBOXygiZmV0Y2ggYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyIpLCBUQUdTX1NFVCksCiAJT1BUX1NFVF9JTlQoJ24nLCBOVUxMLCAmdGFncywKIAkJICAgIE5fKCJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiKSwgVEFHU19VTlNFVCksCi0JT1BUX0lOVEVHRVIoJ2onLCAiam9icyIsICZtYXhfY2hpbGRyZW4sCisJT1BUX0lOVEVHRVIoJ2onLCAiam9icyIsICZtYXhfam9icywKIAkJICAgIE5fKCJudW1iZXIgb2Ygc3VibW9kdWxlcyBmZXRjaGVkIGluIHBhcmFsbGVsIikpLAogCU9QVF9CT09MKCdwJywgInBydW5lIiwgJnBydW5lLAogCQkgTl8oInBydW5lIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyBubyBsb25nZXIgb24gcmVtb3RlIikpLApAQCAtMTY5LDYgKzE5NSwxMiBAQAogCU9QVF9TVFJJTkdfTElTVCgwLCAibmVnb3RpYXRpb24tdGlwIiwgJm5lZ290aWF0aW9uX3RpcCwgTl8oInJldmlzaW9uIiksCiAJCQlOXygicmVwb3J0IHRoYXQgd2UgaGF2ZSBvbmx5IG9iamVjdHMgcmVhY2hhYmxlIGZyb20gdGhpcyBvYmplY3QiKSksCiAJT1BUX1BBUlNFX0xJU1RfT0JKRUNUU19GSUxURVIoJmZpbHRlcl9vcHRpb25zKSwKKwlPUFRfQk9PTCgwLCAiYXV0by1nYyIsICZlbmFibGVfYXV0b19nYywKKwkJIE5fKCJydW4gJ2djIC0tYXV0bycgYWZ0ZXIgZmV0Y2hpbmciKSksCisJT1BUX0JPT0woMCwgInNob3ctZm9yY2VkLXVwZGF0ZXMiLCAmZmV0Y2hfc2hvd19mb3JjZWRfdXBkYXRlcywKKwkJIE5fKCJjaGVjayBmb3IgZm9yY2VkLXVwZGF0ZXMgb24gYWxsIHVwZGF0ZWQgYnJhbmNoZXMiKSksCisJT1BUX0JPT0woMCwgIndyaXRlLWNvbW1pdC1ncmFwaCIsICZmZXRjaF93cml0ZV9jb21taXRfZ3JhcGgsCisJCSBOXygid3JpdGUgdGhlIGNvbW1pdC1ncmFwaCBhZnRlciBmZXRjaGluZyIpKSwKIAlPUFRfRU5EKCkKIH07CiAKQEAgLTIyNSwzMSArMjU3LDMxIEBACiAJfQogfQogCi1zdGF0aWMgaW50IHdpbGxfZmV0Y2goc3RydWN0IHJlZiAqKmhlYWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCitzdGF0aWMgdm9pZCBjcmVhdGVfZmV0Y2hfb2lkc2V0KHN0cnVjdCByZWYgKipoZWFkLCBzdHJ1Y3Qgb2lkc2V0ICpvdXQpCiB7CiAJc3RydWN0IHJlZiAqcm0gPSAqaGVhZDsKIAl3aGlsZSAocm0pIHsKLQkJaWYgKGhhc2hlcShybS0+b2xkX29pZC5oYXNoLCBzaGExKSkKLQkJCXJldHVybiAxOworCQlvaWRzZXRfaW5zZXJ0KG91dCwgJnJtLT5vbGRfb2lkKTsKIAkJcm0gPSBybS0+bmV4dDsKIAl9Ci0JcmV0dXJuIDA7CiB9CiAKIHN0cnVjdCByZWZuYW1lX2hhc2hfZW50cnkgewotCXN0cnVjdCBoYXNobWFwX2VudHJ5IGVudDsgLyogbXVzdCBiZSB0aGUgZmlyc3QgbWVtYmVyICovCisJc3RydWN0IGhhc2htYXBfZW50cnkgZW50OwogCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCWludCBpZ25vcmU7CiAJY2hhciByZWZuYW1lW0ZMRVhfQVJSQVldOwogfTsKIAogc3RhdGljIGludCByZWZuYW1lX2hhc2hfZW50cnlfY21wKGNvbnN0IHZvaWQgKmhhc2htYXBfY21wX2ZuX2RhdGEsCi0JCQkJICBjb25zdCB2b2lkICplMV8sCi0JCQkJICBjb25zdCB2b2lkICplMl8sCisJCQkJICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZXB0ciwKKwkJCQkgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeV9vcl9rZXksCiAJCQkJICBjb25zdCB2b2lkICprZXlkYXRhKQogewotCWNvbnN0IHN0cnVjdCByZWZuYW1lX2hhc2hfZW50cnkgKmUxID0gZTFfOwotCWNvbnN0IHN0cnVjdCByZWZuYW1lX2hhc2hfZW50cnkgKmUyID0gZTJfOworCWNvbnN0IHN0cnVjdCByZWZuYW1lX2hhc2hfZW50cnkgKmUxLCAqZTI7CiAKKwllMSA9IGNvbnRhaW5lcl9vZihlcHRyLCBjb25zdCBzdHJ1Y3QgcmVmbmFtZV9oYXNoX2VudHJ5LCBlbnQpOworCWUyID0gY29udGFpbmVyX29mKGVudHJ5X29yX2tleSwgY29uc3Qgc3RydWN0IHJlZm5hbWVfaGFzaF9lbnRyeSwgZW50KTsKIAlyZXR1cm4gc3RyY21wKGUxLT5yZWZuYW1lLCBrZXlkYXRhID8ga2V5ZGF0YSA6IGUyLT5yZWZuYW1lKTsKIH0KIApAQCAtMjYxLDkgKzI5Myw5IEBACiAJc2l6ZV90IGxlbiA9IHN0cmxlbihyZWZuYW1lKTsKIAogCUZMRVhfQUxMT0NfTUVNKGVudCwgcmVmbmFtZSwgcmVmbmFtZSwgbGVuKTsKLQloYXNobWFwX2VudHJ5X2luaXQoZW50LCBzdHJoYXNoKHJlZm5hbWUpKTsKKwloYXNobWFwX2VudHJ5X2luaXQoJmVudC0+ZW50LCBzdHJoYXNoKHJlZm5hbWUpKTsKIAlvaWRjcHkoJmVudC0+b2lkLCBvaWQpOwotCWhhc2htYXBfYWRkKG1hcCwgZW50KTsKKwloYXNobWFwX2FkZChtYXAsICZlbnQtPmVudCk7CiAJcmV0dXJuIGVudDsKIH0KIApAQCAtMjg3LDE5ICszMTksMjcgQEAKIAlyZXR1cm4gISFoYXNobWFwX2dldF9mcm9tX2hhc2gobWFwLCBzdHJoYXNoKHJlZm5hbWUpLCByZWZuYW1lKTsKIH0KIAorc3RhdGljIHZvaWQgY2xlYXJfaXRlbShzdHJ1Y3QgcmVmbmFtZV9oYXNoX2VudHJ5ICppdGVtKQoreworCWl0ZW0tPmlnbm9yZSA9IDE7Cit9CisKIHN0YXRpYyB2b2lkIGZpbmRfbm9uX2xvY2FsX3RhZ3MoY29uc3Qgc3RydWN0IHJlZiAqcmVmcywKIAkJCQlzdHJ1Y3QgcmVmICoqaGVhZCwKIAkJCQlzdHJ1Y3QgcmVmICoqKnRhaWwpCiB7CiAJc3RydWN0IGhhc2htYXAgZXhpc3RpbmdfcmVmczsKIAlzdHJ1Y3QgaGFzaG1hcCByZW1vdGVfcmVmczsKKwlzdHJ1Y3Qgb2lkc2V0IGZldGNoX29pZHMgPSBPSURTRVRfSU5JVDsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgcmVtb3RlX3JlZnNfbGlzdCA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiAJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKnJlbW90ZV9yZWZfaXRlbTsKIAljb25zdCBzdHJ1Y3QgcmVmICpyZWY7CiAJc3RydWN0IHJlZm5hbWVfaGFzaF9lbnRyeSAqaXRlbSA9IE5VTEw7CisJY29uc3QgaW50IHF1aWNrX2ZsYWdzID0gT0JKRUNUX0lORk9fUVVJQ0sgfCBPQkpFQ1RfSU5GT19TS0lQX0ZFVENIX09CSkVDVDsKIAogCXJlZm5hbWVfaGFzaF9pbml0KCZleGlzdGluZ19yZWZzKTsKIAlyZWZuYW1lX2hhc2hfaW5pdCgmcmVtb3RlX3JlZnMpOworCWNyZWF0ZV9mZXRjaF9vaWRzZXQoaGVhZCwgJmZldGNoX29pZHMpOwogCiAJZm9yX2VhY2hfcmVmKGFkZF9vbmVfcmVmbmFtZSwgJmV4aXN0aW5nX3JlZnMpOwogCWZvciAocmVmID0gcmVmczsgcmVmOyByZWYgPSByZWYtPm5leHQpIHsKQEAgLTMxNCwxMyArMzU0LDExIEBACiAJCSAqLwogCQlpZiAoZW5kc193aXRoKHJlZi0+bmFtZSwgIl57fSIpKSB7CiAJCQlpZiAoaXRlbSAmJgotCQkJICAgICFoYXNfb2JqZWN0X2ZpbGVfd2l0aF9mbGFncygmcmVmLT5vbGRfb2lkLAotCQkJCQkJCU9CSkVDVF9JTkZPX1FVSUNLKSAmJgotCQkJICAgICF3aWxsX2ZldGNoKGhlYWQsIHJlZi0+b2xkX29pZC5oYXNoKSAmJgotCQkJICAgICFoYXNfc2hhMV9maWxlX3dpdGhfZmxhZ3MoaXRlbS0+b2lkLmhhc2gsCi0JCQkJCQkgICAgICBPQkpFQ1RfSU5GT19RVUlDSykgJiYKLQkJCSAgICAhd2lsbF9mZXRjaChoZWFkLCBpdGVtLT5vaWQuaGFzaCkpCi0JCQkJb2lkY2xyKCZpdGVtLT5vaWQpOworCQkJICAgICFoYXNfb2JqZWN0X2ZpbGVfd2l0aF9mbGFncygmcmVmLT5vbGRfb2lkLCBxdWlja19mbGFncykgJiYKKwkJCSAgICAhb2lkc2V0X2NvbnRhaW5zKCZmZXRjaF9vaWRzLCAmcmVmLT5vbGRfb2lkKSAmJgorCQkJICAgICFoYXNfb2JqZWN0X2ZpbGVfd2l0aF9mbGFncygmaXRlbS0+b2lkLCBxdWlja19mbGFncykgJiYKKwkJCSAgICAhb2lkc2V0X2NvbnRhaW5zKCZmZXRjaF9vaWRzLCAmaXRlbS0+b2lkKSkKKwkJCQljbGVhcl9pdGVtKGl0ZW0pOwogCQkJaXRlbSA9IE5VTEw7CiAJCQljb250aW51ZTsKIAkJfQpAQCAtMzMyLDkgKzM3MCw5IEBACiAJCSAqIGZldGNoLgogCQkgKi8KIAkJaWYgKGl0ZW0gJiYKLQkJICAgICFoYXNfc2hhMV9maWxlX3dpdGhfZmxhZ3MoaXRlbS0+b2lkLmhhc2gsIE9CSkVDVF9JTkZPX1FVSUNLKSAmJgotCQkgICAgIXdpbGxfZmV0Y2goaGVhZCwgaXRlbS0+b2lkLmhhc2gpKQotCQkJb2lkY2xyKCZpdGVtLT5vaWQpOworCQkgICAgIWhhc19vYmplY3RfZmlsZV93aXRoX2ZsYWdzKCZpdGVtLT5vaWQsIHF1aWNrX2ZsYWdzKSAmJgorCQkgICAgIW9pZHNldF9jb250YWlucygmZmV0Y2hfb2lkcywgJml0ZW0tPm9pZCkpCisJCQljbGVhcl9pdGVtKGl0ZW0pOwogCiAJCWl0ZW0gPSBOVUxMOwogCkBAIC0zNDYsMTYgKzM4NCwxNiBAQAogCQlpdGVtID0gcmVmbmFtZV9oYXNoX2FkZCgmcmVtb3RlX3JlZnMsIHJlZi0+bmFtZSwgJnJlZi0+b2xkX29pZCk7CiAJCXN0cmluZ19saXN0X2luc2VydCgmcmVtb3RlX3JlZnNfbGlzdCwgcmVmLT5uYW1lKTsKIAl9Ci0JaGFzaG1hcF9mcmVlKCZleGlzdGluZ19yZWZzLCAxKTsKKwloYXNobWFwX2ZyZWVfZW50cmllcygmZXhpc3RpbmdfcmVmcywgc3RydWN0IHJlZm5hbWVfaGFzaF9lbnRyeSwgZW50KTsKIAogCS8qCiAJICogV2UgbWF5IGhhdmUgYSBmaW5hbCBsaWdodHdlaWdodCB0YWcgdGhhdCBuZWVkcyB0byBiZQogCSAqIGNoZWNrZWQgdG8gc2VlIGlmIGl0IG5lZWRzIGZldGNoaW5nLgogCSAqLwogCWlmIChpdGVtICYmCi0JICAgICFoYXNfc2hhMV9maWxlX3dpdGhfZmxhZ3MoaXRlbS0+b2lkLmhhc2gsIE9CSkVDVF9JTkZPX1FVSUNLKSAmJgotCSAgICAhd2lsbF9mZXRjaChoZWFkLCBpdGVtLT5vaWQuaGFzaCkpCi0JCW9pZGNscigmaXRlbS0+b2lkKTsKKwkgICAgIWhhc19vYmplY3RfZmlsZV93aXRoX2ZsYWdzKCZpdGVtLT5vaWQsIHF1aWNrX2ZsYWdzKSAmJgorCSAgICAhb2lkc2V0X2NvbnRhaW5zKCZmZXRjaF9vaWRzLCAmaXRlbS0+b2lkKSkKKwkJY2xlYXJfaXRlbShpdGVtKTsKIAogCS8qCiAJICogRm9yIGFsbCB0aGUgdGFncyBpbiB0aGUgcmVtb3RlX3JlZnNfbGlzdCwKQEAgLTM2MywyMiArNDAxLDI3IEBACiAJICovCiAJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShyZW1vdGVfcmVmX2l0ZW0sICZyZW1vdGVfcmVmc19saXN0KSB7CiAJCWNvbnN0IGNoYXIgKnJlZm5hbWUgPSByZW1vdGVfcmVmX2l0ZW0tPnN0cmluZzsKKwkJc3RydWN0IHJlZiAqcm07CisJCXVuc2lnbmVkIGludCBoYXNoID0gc3RyaGFzaChyZWZuYW1lKTsKIAotCQlpdGVtID0gaGFzaG1hcF9nZXRfZnJvbV9oYXNoKCZyZW1vdGVfcmVmcywgc3RyaGFzaChyZWZuYW1lKSwgcmVmbmFtZSk7CisJCWl0ZW0gPSBoYXNobWFwX2dldF9lbnRyeV9mcm9tX2hhc2goJnJlbW90ZV9yZWZzLCBoYXNoLCByZWZuYW1lLAorCQkJCQlzdHJ1Y3QgcmVmbmFtZV9oYXNoX2VudHJ5LCBlbnQpOwogCQlpZiAoIWl0ZW0pCiAJCQlCVUcoInVuc2VlbiByZW1vdGUgcmVmPyIpOwogCiAJCS8qIFVubGVzcyB3ZSBoYXZlIGFscmVhZHkgZGVjaWRlZCB0byBpZ25vcmUgdGhpcyBpdGVtLi4uICovCi0JCWlmICghaXNfbnVsbF9vaWQoJml0ZW0tPm9pZCkpIHsKLQkJCXN0cnVjdCByZWYgKnJtID0gYWxsb2NfcmVmKGl0ZW0tPnJlZm5hbWUpOwotCQkJcm0tPnBlZXJfcmVmID0gYWxsb2NfcmVmKGl0ZW0tPnJlZm5hbWUpOwotCQkJb2lkY3B5KCZybS0+b2xkX29pZCwgJml0ZW0tPm9pZCk7Ci0JCQkqKnRhaWwgPSBybTsKLQkJCSp0YWlsID0gJnJtLT5uZXh0OwotCQl9CisJCWlmIChpdGVtLT5pZ25vcmUpCisJCQljb250aW51ZTsKKworCQlybSA9IGFsbG9jX3JlZihpdGVtLT5yZWZuYW1lKTsKKwkJcm0tPnBlZXJfcmVmID0gYWxsb2NfcmVmKGl0ZW0tPnJlZm5hbWUpOworCQlvaWRjcHkoJnJtLT5vbGRfb2lkLCAmaXRlbS0+b2lkKTsKKwkJKip0YWlsID0gcm07CisJCSp0YWlsID0gJnJtLT5uZXh0OwogCX0KLQloYXNobWFwX2ZyZWUoJnJlbW90ZV9yZWZzLCAxKTsKKwloYXNobWFwX2ZyZWVfZW50cmllcygmcmVtb3RlX3JlZnMsIHN0cnVjdCByZWZuYW1lX2hhc2hfZW50cnksIGVudCk7CiAJc3RyaW5nX2xpc3RfY2xlYXIoJnJlbW90ZV9yZWZzX2xpc3QsIDApOworCW9pZHNldF9jbGVhcigmZmV0Y2hfb2lkcyk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgcmVmICpnZXRfcmVmX21hcChzdHJ1Y3QgcmVtb3RlICpyZW1vdGUsCkBAIC00OTUsMTcgKzUzOCwxOCBAQAogCQlpZiAocm0tPnBlZXJfcmVmKSB7CiAJCQljb25zdCBjaGFyICpyZWZuYW1lID0gcm0tPnBlZXJfcmVmLT5uYW1lOwogCQkJc3RydWN0IHJlZm5hbWVfaGFzaF9lbnRyeSAqcGVlcl9pdGVtOworCQkJdW5zaWduZWQgaW50IGhhc2ggPSBzdHJoYXNoKHJlZm5hbWUpOwogCi0JCQlwZWVyX2l0ZW0gPSBoYXNobWFwX2dldF9mcm9tX2hhc2goJmV4aXN0aW5nX3JlZnMsCi0JCQkJCQkJICBzdHJoYXNoKHJlZm5hbWUpLAotCQkJCQkJCSAgcmVmbmFtZSk7CisJCQlwZWVyX2l0ZW0gPSBoYXNobWFwX2dldF9lbnRyeV9mcm9tX2hhc2goJmV4aXN0aW5nX3JlZnMsCisJCQkJCQloYXNoLCByZWZuYW1lLAorCQkJCQkJc3RydWN0IHJlZm5hbWVfaGFzaF9lbnRyeSwgZW50KTsKIAkJCWlmIChwZWVyX2l0ZW0pIHsKIAkJCQlzdHJ1Y3Qgb2JqZWN0X2lkICpvbGRfb2lkID0gJnBlZXJfaXRlbS0+b2lkOwogCQkJCW9pZGNweSgmcm0tPnBlZXJfcmVmLT5vbGRfb2lkLCBvbGRfb2lkKTsKIAkJCX0KIAkJfQogCX0KLQloYXNobWFwX2ZyZWUoJmV4aXN0aW5nX3JlZnMsIDEpOworCWhhc2htYXBfZnJlZV9lbnRyaWVzKCZleGlzdGluZ19yZWZzLCBzdHJ1Y3QgcmVmbmFtZV9oYXNoX2VudHJ5LCBlbnQpOwogCiAJcmV0dXJuIHJlZl9tYXA7CiB9CkBAIC02MjksOSArNjczLDE0IEBACiAJCQkgICAgY29uc3QgY2hhciAqbmVlZGxlLAogCQkJICAgIGNvbnN0IGNoYXIgKnBsYWNlaG9sZGVyKQogewotCWNvbnN0IGNoYXIgKnAgPSBzdHJzdHIoaGF5c3RhY2stPmJ1ZiwgbmVlZGxlKTsKKwljb25zdCBjaGFyICpwID0gTlVMTDsKIAlpbnQgcGxlbiwgbmxlbjsKIAorCW5sZW4gPSBzdHJsZW4obmVlZGxlKTsKKwlpZiAoZW5kc193aXRoKGhheXN0YWNrLT5idWYsIG5lZWRsZSkpCisJCXAgPSBoYXlzdGFjay0+YnVmICsgaGF5c3RhY2stPmxlbiAtIG5sZW47CisJZWxzZQorCQlwID0gc3Ryc3RyKGhheXN0YWNrLT5idWYsIG5lZWRsZSk7CiAJaWYgKCFwKQogCQlyZXR1cm4gMDsKIApAQCAtNjM5LDcgKzY4OCw2IEBACiAJCXJldHVybiAwOwogCiAJcGxlbiA9IHN0cmxlbihwKTsKLQlubGVuID0gc3RybGVuKG5lZWRsZSk7CiAJaWYgKHBsZW4gPiBubGVuICYmIHBbbmxlbl0gIT0gJy8nKQogCQlyZXR1cm4gMDsKIApAQCAtNjk2LDYgKzc0NCw3IEBACiAJZW51bSBvYmplY3RfdHlwZSB0eXBlOwogCXN0cnVjdCBicmFuY2ggKmN1cnJlbnRfYnJhbmNoID0gYnJhbmNoX2dldChOVUxMKTsKIAljb25zdCBjaGFyICpwcmV0dHlfcmVmID0gcHJldHRpZnlfcmVmbmFtZShyZWYtPm5hbWUpOworCWludCBmYXN0X2ZvcndhcmQgPSAwOwogCiAJdHlwZSA9IG9pZF9vYmplY3RfaW5mbyh0aGVfcmVwb3NpdG9yeSwgJnJlZi0+bmV3X29pZCwgTlVMTCk7CiAJaWYgKHR5cGUgPCAwKQpAQCAtNzYzLDkgKzgxMiw2IEBACiAJCQl3aGF0ID0gXygiW25ldyByZWZdIik7CiAJCX0KIAotCQlpZiAoKHJlY3Vyc2Vfc3VibW9kdWxlcyAhPSBSRUNVUlNFX1NVQk1PRFVMRVNfT0ZGKSAmJgotCQkgICAgKHJlY3Vyc2Vfc3VibW9kdWxlcyAhPSBSRUNVUlNFX1NVQk1PRFVMRVNfT04pKQotCQkJY2hlY2tfZm9yX25ld19zdWJtb2R1bGVfY29tbWl0cygmcmVmLT5uZXdfb2lkKTsKIAkJciA9IHNfdXBkYXRlX3JlZihtc2csIHJlZiwgMCk7CiAJCWZvcm1hdF9kaXNwbGF5KGRpc3BsYXksIHIgPyAnIScgOiAnKicsIHdoYXQsCiAJCQkgICAgICAgciA/IF8oInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIikgOiBOVUxMLApAQCAtNzczLDE1ICs4MTksMjEgQEAKIAkJcmV0dXJuIHI7CiAJfQogCi0JaWYgKGluX21lcmdlX2Jhc2VzKGN1cnJlbnQsIHVwZGF0ZWQpKSB7CisJaWYgKGZldGNoX3Nob3dfZm9yY2VkX3VwZGF0ZXMpIHsKKwkJdWludDY0X3QgdF9iZWZvcmUgPSBnZXRuYW5vdGltZSgpOworCQlmYXN0X2ZvcndhcmQgPSBpbl9tZXJnZV9iYXNlcyhjdXJyZW50LCB1cGRhdGVkKTsKKwkJZm9yY2VkX3VwZGF0ZXNfbXMgKz0gKGdldG5hbm90aW1lKCkgLSB0X2JlZm9yZSkgLyAxMDAwMDAwOworCX0gZWxzZSB7CisJCWZhc3RfZm9yd2FyZCA9IDE7CisJfQorCisJaWYgKGZhc3RfZm9yd2FyZCkgewogCQlzdHJ1Y3Qgc3RyYnVmIHF1aWNrcmVmID0gU1RSQlVGX0lOSVQ7CiAJCWludCByOworCiAJCXN0cmJ1Zl9hZGRfdW5pcXVlX2FiYnJldigmcXVpY2tyZWYsICZjdXJyZW50LT5vYmplY3Qub2lkLCBERUZBVUxUX0FCQlJFVik7CiAJCXN0cmJ1Zl9hZGRzdHIoJnF1aWNrcmVmLCAiLi4iKTsKIAkJc3RyYnVmX2FkZF91bmlxdWVfYWJicmV2KCZxdWlja3JlZiwgJnJlZi0+bmV3X29pZCwgREVGQVVMVF9BQkJSRVYpOwotCQlpZiAoKHJlY3Vyc2Vfc3VibW9kdWxlcyAhPSBSRUNVUlNFX1NVQk1PRFVMRVNfT0ZGKSAmJgotCQkgICAgKHJlY3Vyc2Vfc3VibW9kdWxlcyAhPSBSRUNVUlNFX1NVQk1PRFVMRVNfT04pKQotCQkJY2hlY2tfZm9yX25ld19zdWJtb2R1bGVfY29tbWl0cygmcmVmLT5uZXdfb2lkKTsKIAkJciA9IHNfdXBkYXRlX3JlZigiZmFzdC1mb3J3YXJkIiwgcmVmLCAxKTsKIAkJZm9ybWF0X2Rpc3BsYXkoZGlzcGxheSwgciA/ICchJyA6ICcgJywgcXVpY2tyZWYuYnVmLAogCQkJICAgICAgIHIgPyBfKCJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIpIDogTlVMTCwKQEAgLTc5NCw5ICs4NDYsNiBAQAogCQlzdHJidWZfYWRkX3VuaXF1ZV9hYmJyZXYoJnF1aWNrcmVmLCAmY3VycmVudC0+b2JqZWN0Lm9pZCwgREVGQVVMVF9BQkJSRVYpOwogCQlzdHJidWZfYWRkc3RyKCZxdWlja3JlZiwgIi4uLiIpOwogCQlzdHJidWZfYWRkX3VuaXF1ZV9hYmJyZXYoJnF1aWNrcmVmLCAmcmVmLT5uZXdfb2lkLCBERUZBVUxUX0FCQlJFVik7Ci0JCWlmICgocmVjdXJzZV9zdWJtb2R1bGVzICE9IFJFQ1VSU0VfU1VCTU9EVUxFU19PRkYpICYmCi0JCSAgICAocmVjdXJzZV9zdWJtb2R1bGVzICE9IFJFQ1VSU0VfU1VCTU9EVUxFU19PTikpCi0JCQljaGVja19mb3JfbmV3X3N1Ym1vZHVsZV9jb21taXRzKCZyZWYtPm5ld19vaWQpOwogCQlyID0gc191cGRhdGVfcmVmKCJmb3JjZWQtdXBkYXRlIiwgcmVmLCAxKTsKIAkJZm9ybWF0X2Rpc3BsYXkoZGlzcGxheSwgciA/ICchJyA6ICcrJywgcXVpY2tyZWYuYnVmLAogCQkJICAgICAgIHIgPyBfKCJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIpIDogXygiZm9yY2VkIHVwZGF0ZSIpLApAQCAtODI0LDYgKzg3MywxNSBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgY29uc3QgY2hhciB3YXJuX3Nob3dfZm9yY2VkX3VwZGF0ZXNbXSA9CitOXygiRmV0Y2ggbm9ybWFsbHkgaW5kaWNhdGVzIHdoaWNoIGJyYW5jaGVzIGhhZCBhIGZvcmNlZCB1cGRhdGUsXG4iCisgICAiYnV0IHRoYXQgY2hlY2sgaGFzIGJlZW4gZGlzYWJsZWQuIFRvIHJlLWVuYWJsZSwgdXNlICctLXNob3ctZm9yY2VkLXVwZGF0ZXMnXG4iCisgICAiZmxhZyBvciBydW4gJ2dpdCBjb25maWcgZmV0Y2guc2hvd0ZvcmNlZFVwZGF0ZXMgdHJ1ZScuIik7CitzdGF0aWMgY29uc3QgY2hhciB3YXJuX3RpbWVfc2hvd19mb3JjZWRfdXBkYXRlc1tdID0KK05fKCJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBjaGVjayBmb3JjZWQgdXBkYXRlcy4gWW91IGNhbiB1c2VcbiIKKyAgICInLS1uby1zaG93LWZvcmNlZC11cGRhdGVzJyBvciBydW4gJ2dpdCBjb25maWcgZmV0Y2guc2hvd0ZvcmNlZFVwZGF0ZXMgZmFsc2UnXG4iCisgICAiIHRvIGF2b2lkIHRoaXMgY2hlY2suXG4iKTsKKwogc3RhdGljIGludCBzdG9yZV91cGRhdGVkX3JlZnMoY29uc3QgY2hhciAqcmF3X3VybCwgY29uc3QgY2hhciAqcmVtb3RlX25hbWUsCiAJCQkgICAgICBpbnQgY29ubmVjdGl2aXR5X2NoZWNrZWQsIHN0cnVjdCByZWYgKnJlZl9tYXApCiB7CkBAIC04NDgsOCArOTA2LDE3IEBACiAJCXVybCA9IHhzdHJkdXAoImZvcmVpZ24iKTsKIAogCWlmICghY29ubmVjdGl2aXR5X2NoZWNrZWQpIHsKKwkJc3RydWN0IGNoZWNrX2Nvbm5lY3RlZF9vcHRpb25zIG9wdCA9IENIRUNLX0NPTk5FQ1RFRF9JTklUOworCisJCWlmIChmaWx0ZXJfb3B0aW9ucy5jaG9pY2UpCisJCQkvKgorCQkJICogU2luY2UgYSBmaWx0ZXIgaXMgc3BlY2lmaWVkLCBvYmplY3RzIGluZGlyZWN0bHkKKwkJCSAqIHJlZmVyZW5jZWQgYnkgcmVmcyBhcmUgYWxsb3dlZCB0byBiZSBhYnNlbnQuCisJCQkgKi8KKwkJCW9wdC5jaGVja19yZWZzX2FyZV9wcm9taXNvcl9vYmplY3RzX29ubHkgPSAxOworCiAJCXJtID0gcmVmX21hcDsKLQkJaWYgKGNoZWNrX2Nvbm5lY3RlZChpdGVyYXRlX3JlZl9tYXAsICZybSwgTlVMTCkpIHsKKwkJaWYgKGNoZWNrX2Nvbm5lY3RlZChpdGVyYXRlX3JlZl9tYXAsICZybSwgJm9wdCkpIHsKIAkJCXJjID0gZXJyb3IoXygiJXMgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0c1xuIiksIHVybCk7CiAJCQlnb3RvIGFib3J0OwogCQl9CkBAIC04OTIsMjMgKzk1OSwxOSBAQAogCQkJCXJlZi0+Zm9yY2UgPSBybS0+cGVlcl9yZWYtPmZvcmNlOwogCQkJfQogCisJCQlpZiAocmVjdXJzZV9zdWJtb2R1bGVzICE9IFJFQ1VSU0VfU1VCTU9EVUxFU19PRkYpCisJCQkJY2hlY2tfZm9yX25ld19zdWJtb2R1bGVfY29tbWl0cygmcm0tPm9sZF9vaWQpOwogCiAJCQlpZiAoIXN0cmNtcChybS0+bmFtZSwgIkhFQUQiKSkgewogCQkJCWtpbmQgPSAiIjsKIAkJCQl3aGF0ID0gIiI7CiAJCQl9Ci0JCQllbHNlIGlmIChzdGFydHNfd2l0aChybS0+bmFtZSwgInJlZnMvaGVhZHMvIikpIHsKKwkJCWVsc2UgaWYgKHNraXBfcHJlZml4KHJtLT5uYW1lLCAicmVmcy9oZWFkcy8iLCAmd2hhdCkpCiAJCQkJa2luZCA9ICJicmFuY2giOwotCQkJCXdoYXQgPSBybS0+bmFtZSArIDExOwotCQkJfQotCQkJZWxzZSBpZiAoc3RhcnRzX3dpdGgocm0tPm5hbWUsICJyZWZzL3RhZ3MvIikpIHsKKwkJCWVsc2UgaWYgKHNraXBfcHJlZml4KHJtLT5uYW1lLCAicmVmcy90YWdzLyIsICZ3aGF0KSkKIAkJCQlraW5kID0gInRhZyI7Ci0JCQkJd2hhdCA9IHJtLT5uYW1lICsgMTA7Ci0JCQl9Ci0JCQllbHNlIGlmIChzdGFydHNfd2l0aChybS0+bmFtZSwgInJlZnMvcmVtb3Rlcy8iKSkgeworCQkJZWxzZSBpZiAoc2tpcF9wcmVmaXgocm0tPm5hbWUsICJyZWZzL3JlbW90ZXMvIiwgJndoYXQpKQogCQkJCWtpbmQgPSAicmVtb3RlLXRyYWNraW5nIGJyYW5jaCI7Ci0JCQkJd2hhdCA9IHJtLT5uYW1lICsgMTM7Ci0JCQl9CiAJCQllbHNlIHsKIAkJCQlraW5kID0gIiI7CiAJCQkJd2hhdCA9IHJtLT5uYW1lOwpAQCAtOTc1LDYgKzEwMzgsMTUgQEAKIAkJICAgICAgIiAnZ2l0IHJlbW90ZSBwcnVuZSAlcycgdG8gcmVtb3ZlIGFueSBvbGQsIGNvbmZsaWN0aW5nICIKIAkJICAgICAgImJyYW5jaGVzIiksIHJlbW90ZV9uYW1lKTsKIAorCWlmIChhZHZpY2VfZmV0Y2hfc2hvd19mb3JjZWRfdXBkYXRlcykgeworCQlpZiAoIWZldGNoX3Nob3dfZm9yY2VkX3VwZGF0ZXMpIHsKKwkJCXdhcm5pbmcoXyh3YXJuX3Nob3dfZm9yY2VkX3VwZGF0ZXMpKTsKKwkJfSBlbHNlIGlmIChmb3JjZWRfdXBkYXRlc19tcyA+IEZPUkNFRF9VUERBVEVTX0RFTEFZX1dBUk5JTkdfSU5fTVMpIHsKKwkJCXdhcm5pbmcoXyh3YXJuX3RpbWVfc2hvd19mb3JjZWRfdXBkYXRlcyksCisJCQkJZm9yY2VkX3VwZGF0ZXNfbXMgLyAxMDAwLjApOworCQl9CisJfQorCiAgYWJvcnQ6CiAJc3RyYnVmX3JlbGVhc2UoJm5vdGUpOwogCWZyZWUodXJsKTsKQEAgLTEwMDgsNyArMTA4MCw4IEBACiAJICogd2UgbmVlZCBhbGwgZGlyZWN0IHRhcmdldHMgdG8gZXhpc3QuCiAJICovCiAJZm9yIChyID0gcm07IHI7IHIgPSByLT5uZXh0KSB7Ci0JCWlmICghaGFzX29iamVjdF9maWxlKCZyLT5vbGRfb2lkKSkKKwkJaWYgKCFoYXNfb2JqZWN0X2ZpbGVfd2l0aF9mbGFncygmci0+b2xkX29pZCwKKwkJCQkJCU9CSkVDVF9JTkZPX1NLSVBfRkVUQ0hfT0JKRUNUKSkKIAkJCXJldHVybiAtMTsKIAl9CiAKQEAgLTEwMTksOCArMTA5MiwxMSBAQAogc3RhdGljIGludCBmZXRjaF9yZWZzKHN0cnVjdCB0cmFuc3BvcnQgKnRyYW5zcG9ydCwgc3RydWN0IHJlZiAqcmVmX21hcCkKIHsKIAlpbnQgcmV0ID0gY2hlY2tfZXhpc3RfYW5kX2Nvbm5lY3RlZChyZWZfbWFwKTsKLQlpZiAocmV0KQorCWlmIChyZXQpIHsKKwkJdHJhY2UyX3JlZ2lvbl9lbnRlcigiZmV0Y2giLCAiZmV0Y2hfcmVmcyIsIHRoZV9yZXBvc2l0b3J5KTsKIAkJcmV0ID0gdHJhbnNwb3J0X2ZldGNoX3JlZnModHJhbnNwb3J0LCByZWZfbWFwKTsKKwkJdHJhY2UyX3JlZ2lvbl9sZWF2ZSgiZmV0Y2giLCAiZmV0Y2hfcmVmcyIsIHRoZV9yZXBvc2l0b3J5KTsKKwl9CiAJaWYgKCFyZXQpCiAJCS8qCiAJCSAqIEtlZXAgdGhlIG5ldyBwYWNrJ3MgIi5rZWVwIiBmaWxlIGFyb3VuZCB0byBhbGxvdyB0aGUgY2FsbGVyCkBAIC0xMDM2LDExICsxMTEyLDE0IEBACiB7CiAJaW50IGNvbm5lY3Rpdml0eV9jaGVja2VkID0gdHJhbnNwb3J0LT5zbWFydF9vcHRpb25zCiAJCT8gdHJhbnNwb3J0LT5zbWFydF9vcHRpb25zLT5jb25uZWN0aXZpdHlfY2hlY2tlZCA6IDA7Ci0JaW50IHJldCA9IHN0b3JlX3VwZGF0ZWRfcmVmcyh0cmFuc3BvcnQtPnVybCwKLQkJCQkgICAgIHRyYW5zcG9ydC0+cmVtb3RlLT5uYW1lLAotCQkJCSAgICAgY29ubmVjdGl2aXR5X2NoZWNrZWQsCi0JCQkJICAgICByZWZfbWFwKTsKKwlpbnQgcmV0OworCXRyYWNlMl9yZWdpb25fZW50ZXIoImZldGNoIiwgImNvbnN1bWVfcmVmcyIsIHRoZV9yZXBvc2l0b3J5KTsKKwlyZXQgPSBzdG9yZV91cGRhdGVkX3JlZnModHJhbnNwb3J0LT51cmwsCisJCQkJIHRyYW5zcG9ydC0+cmVtb3RlLT5uYW1lLAorCQkJCSBjb25uZWN0aXZpdHlfY2hlY2tlZCwKKwkJCQkgcmVmX21hcCk7CiAJdHJhbnNwb3J0X3VubG9ja19wYWNrKHRyYW5zcG9ydCk7CisJdHJhY2UyX3JlZ2lvbl9sZWF2ZSgiZmV0Y2giLCAiY29uc3VtZV9yZWZzIiwgdGhlX3JlcG9zaXRvcnkpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTExNzIsNiArMTI1MSw3IEBACiBzdGF0aWMgc3RydWN0IHRyYW5zcG9ydCAqcHJlcGFyZV90cmFuc3BvcnQoc3RydWN0IHJlbW90ZSAqcmVtb3RlLCBpbnQgZGVlcGVuKQogewogCXN0cnVjdCB0cmFuc3BvcnQgKnRyYW5zcG9ydDsKKwogCXRyYW5zcG9ydCA9IHRyYW5zcG9ydF9nZXQocmVtb3RlLCBOVUxMKTsKIAl0cmFuc3BvcnRfc2V0X3ZlcmJvc2l0eSh0cmFuc3BvcnQsIHZlcmJvc2l0eSwgcHJvZ3Jlc3MpOwogCXRyYW5zcG9ydC0+ZmFtaWx5ID0gZmFtaWx5OwpAQCAtMTE5MSw4ICsxMjcxLDkgQEAKIAlpZiAodXBkYXRlX3NoYWxsb3cpCiAJCXNldF9vcHRpb24odHJhbnNwb3J0LCBUUkFOU19PUFRfVVBEQVRFX1NIQUxMT1csICJ5ZXMiKTsKIAlpZiAoZmlsdGVyX29wdGlvbnMuY2hvaWNlKSB7Ci0JCXNldF9vcHRpb24odHJhbnNwb3J0LCBUUkFOU19PUFRfTElTVF9PQkpFQ1RTX0ZJTFRFUiwKLQkJCSAgIGZpbHRlcl9vcHRpb25zLmZpbHRlcl9zcGVjKTsKKwkJY29uc3QgY2hhciAqc3BlYyA9CisJCQlleHBhbmRfbGlzdF9vYmplY3RzX2ZpbHRlcl9zcGVjKCZmaWx0ZXJfb3B0aW9ucyk7CisJCXNldF9vcHRpb24odHJhbnNwb3J0LCBUUkFOU19PUFRfTElTVF9PQkpFQ1RTX0ZJTFRFUiwgc3BlYyk7CiAJCXNldF9vcHRpb24odHJhbnNwb3J0LCBUUkFOU19PUFRfRlJPTV9QUk9NSVNPUiwgIjEiKTsKIAl9CiAJaWYgKG5lZ290aWF0aW9uX3RpcC5ucikgewpAQCAtMTI4Myw5ICsxMzY0LDExIEBACiAJCQlhcmd2X2FycmF5X3B1c2goJnJlZl9wcmVmaXhlcywgInJlZnMvdGFncy8iKTsKIAl9CiAKLQlpZiAobXVzdF9saXN0X3JlZnMpCisJaWYgKG11c3RfbGlzdF9yZWZzKSB7CisJCXRyYWNlMl9yZWdpb25fZW50ZXIoImZldGNoIiwgInJlbW90ZV9yZWZzIiwgdGhlX3JlcG9zaXRvcnkpOwogCQlyZW1vdGVfcmVmcyA9IHRyYW5zcG9ydF9nZXRfcmVtb3RlX3JlZnModHJhbnNwb3J0LCAmcmVmX3ByZWZpeGVzKTsKLQllbHNlCisJCXRyYWNlMl9yZWdpb25fbGVhdmUoImZldGNoIiwgInJlbW90ZV9yZWZzIiwgdGhlX3JlcG9zaXRvcnkpOworCX0gZWxzZQogCQlyZW1vdGVfcmVmcyA9IE5VTEw7CiAKIAlhcmd2X2FycmF5X2NsZWFyKCZyZWZfcHJlZml4ZXMpOwpAQCAtMTMxNiw2ICsxMzk5LDUxIEBACiAJCXJldGNvZGUgPSAxOwogCQlnb3RvIGNsZWFudXA7CiAJfQorCisJaWYgKHNldF91cHN0cmVhbSkgeworCQlzdHJ1Y3QgYnJhbmNoICpicmFuY2ggPSBicmFuY2hfZ2V0KCJIRUFEIik7CisJCXN0cnVjdCByZWYgKnJtOworCQlzdHJ1Y3QgcmVmICpzb3VyY2VfcmVmID0gTlVMTDsKKworCQkvKgorCQkgKiBXZSdyZSBzZXR0aW5nIHRoZSB1cHN0cmVhbSBjb25maWd1cmF0aW9uIGZvciB0aGUKKwkJICogY3VycmVudCBicmFuY2guIFRoZSByZWxldmFudCB1cHN0cmVhbSBpcyB0aGUKKwkJICogZmV0Y2hlZCBicmFuY2ggdGhhdCBpcyBtZWFudCB0byBiZSBtZXJnZWQgd2l0aCB0aGUKKwkJICogY3VycmVudCBvbmUsIGkuZS4gdGhlIG9uZSBmZXRjaGVkIHRvIEZFVENIX0hFQUQuCisJCSAqCisJCSAqIFdoZW4gdGhlcmUgYXJlIHNldmVyYWwgc3VjaCBicmFuY2hlcywgY29uc2lkZXIgdGhlCisJCSAqIHJlcXVlc3QgYW1iaWd1b3VzIGFuZCBlcnIgb24gdGhlIHNhZmUgc2lkZSBieSBkb2luZworCQkgKiBub3RoaW5nIGFuZCBqdXN0IGVtaXQgYSB3YXJuaW5nLgorCQkgKi8KKwkJZm9yIChybSA9IHJlZl9tYXA7IHJtOyBybSA9IHJtLT5uZXh0KSB7CisJCQlpZiAoIXJtLT5wZWVyX3JlZikgeworCQkJCWlmIChzb3VyY2VfcmVmKSB7CisJCQkJCXdhcm5pbmcoXygibXVsdGlwbGUgYnJhbmNoZXMgZGV0ZWN0ZWQsIGluY29tcGF0aWJsZSB3aXRoIC0tc2V0LXVwc3RyZWFtIikpOworCQkJCQlnb3RvIHNraXA7CisJCQkJfSBlbHNlIHsKKwkJCQkJc291cmNlX3JlZiA9IHJtOworCQkJCX0KKwkJCX0KKwkJfQorCQlpZiAoc291cmNlX3JlZikgeworCQkJaWYgKCFzdHJjbXAoc291cmNlX3JlZi0+bmFtZSwgIkhFQUQiKSB8fAorCQkJICAgIHN0YXJ0c193aXRoKHNvdXJjZV9yZWYtPm5hbWUsICJyZWZzL2hlYWRzLyIpKQorCQkJCWluc3RhbGxfYnJhbmNoX2NvbmZpZygwLAorCQkJCQkJICAgICAgYnJhbmNoLT5uYW1lLAorCQkJCQkJICAgICAgdHJhbnNwb3J0LT5yZW1vdGUtPm5hbWUsCisJCQkJCQkgICAgICBzb3VyY2VfcmVmLT5uYW1lKTsKKwkJCWVsc2UgaWYgKHN0YXJ0c193aXRoKHNvdXJjZV9yZWYtPm5hbWUsICJyZWZzL3JlbW90ZXMvIikpCisJCQkJd2FybmluZyhfKCJub3Qgc2V0dGluZyB1cHN0cmVhbSBmb3IgYSByZW1vdGUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIpKTsKKwkJCWVsc2UgaWYgKHN0YXJ0c193aXRoKHNvdXJjZV9yZWYtPm5hbWUsICJyZWZzL3RhZ3MvIikpCisJCQkJd2FybmluZyhfKCJub3Qgc2V0dGluZyB1cHN0cmVhbSBmb3IgYSByZW1vdGUgdGFnIikpOworCQkJZWxzZQorCQkJCXdhcm5pbmcoXygidW5rbm93biBicmFuY2ggdHlwZSIpKTsKKwkJfSBlbHNlIHsKKwkJCXdhcm5pbmcoXygibm8gc291cmNlIGJyYW5jaCBmb3VuZC5cbiIKKwkJCQkieW91IG5lZWQgdG8gc3BlY2lmeSBleGFjdGx5IG9uZSBicmFuY2ggd2l0aCB0aGUgLS1zZXQtdXBzdHJlYW0gb3B0aW9uLiIpKTsKKwkJfQorCX0KKyBza2lwOgogCWZyZWVfcmVmcyhyZWZfbWFwKTsKIAogCS8qIGlmIG5laXRoZXIgLS1uby10YWdzIG5vciAtLXRhZ3Mgd2FzIHNwZWNpZmllZCwgZG8gYXV0b21hdGVkIHRhZwpAQCAtMTQxMiw3ICsxNTQwLDYyIEBACiAKIH0KIAotc3RhdGljIGludCBmZXRjaF9tdWx0aXBsZShzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QpCisvKiBGZXRjaCBtdWx0aXBsZSByZW1vdGVzIGluIHBhcmFsbGVsICovCisKK3N0cnVjdCBwYXJhbGxlbF9mZXRjaF9zdGF0ZSB7CisJY29uc3QgY2hhciAqKmFyZ3Y7CisJc3RydWN0IHN0cmluZ19saXN0ICpyZW1vdGVzOworCWludCBuZXh0LCByZXN1bHQ7Cit9OworCitzdGF0aWMgaW50IGZldGNoX25leHRfcmVtb3RlKHN0cnVjdCBjaGlsZF9wcm9jZXNzICpjcCwgc3RydWN0IHN0cmJ1ZiAqb3V0LAorCQkJICAgICB2b2lkICpjYiwgdm9pZCAqKnRhc2tfY2IpCit7CisJc3RydWN0IHBhcmFsbGVsX2ZldGNoX3N0YXRlICpzdGF0ZSA9IGNiOworCWNoYXIgKnJlbW90ZTsKKworCWlmIChzdGF0ZS0+bmV4dCA8IDAgfHwgc3RhdGUtPm5leHQgPj0gc3RhdGUtPnJlbW90ZXMtPm5yKQorCQlyZXR1cm4gMDsKKworCXJlbW90ZSA9IHN0YXRlLT5yZW1vdGVzLT5pdGVtc1tzdGF0ZS0+bmV4dCsrXS5zdHJpbmc7CisJKnRhc2tfY2IgPSByZW1vdGU7CisKKwlhcmd2X2FycmF5X3B1c2h2KCZjcC0+YXJncywgc3RhdGUtPmFyZ3YpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY3AtPmFyZ3MsIHJlbW90ZSk7CisJY3AtPmdpdF9jbWQgPSAxOworCisJaWYgKHZlcmJvc2l0eSA+PSAwKQorCQlwcmludGYoXygiRmV0Y2hpbmcgJXNcbiIpLCByZW1vdGUpOworCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgZmV0Y2hfZmFpbGVkX3RvX3N0YXJ0KHN0cnVjdCBzdHJidWYgKm91dCwgdm9pZCAqY2IsIHZvaWQgKnRhc2tfY2IpCit7CisJc3RydWN0IHBhcmFsbGVsX2ZldGNoX3N0YXRlICpzdGF0ZSA9IGNiOworCWNvbnN0IGNoYXIgKnJlbW90ZSA9IHRhc2tfY2I7CisKKwlzdGF0ZS0+cmVzdWx0ID0gZXJyb3IoXygiQ291bGQgbm90IGZldGNoICVzIiksIHJlbW90ZSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBmZXRjaF9maW5pc2hlZChpbnQgcmVzdWx0LCBzdHJ1Y3Qgc3RyYnVmICpvdXQsCisJCQkgIHZvaWQgKmNiLCB2b2lkICp0YXNrX2NiKQoreworCXN0cnVjdCBwYXJhbGxlbF9mZXRjaF9zdGF0ZSAqc3RhdGUgPSBjYjsKKwljb25zdCBjaGFyICpyZW1vdGUgPSB0YXNrX2NiOworCisJaWYgKHJlc3VsdCkgeworCQlzdHJidWZfYWRkZihvdXQsIF8oImNvdWxkIG5vdCBmZXRjaCAnJXMnIChleGl0IGNvZGU6ICVkKVxuIiksCisJCQkgICAgcmVtb3RlLCByZXN1bHQpOworCQlzdGF0ZS0+cmVzdWx0ID0gLTE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZmV0Y2hfbXVsdGlwbGUoc3RydWN0IHN0cmluZ19saXN0ICpsaXN0LCBpbnQgbWF4X2NoaWxkcmVuKQogewogCWludCBpLCByZXN1bHQgPSAwOwogCXN0cnVjdCBhcmd2X2FycmF5IGFyZ3YgPSBBUkdWX0FSUkFZX0lOSVQ7CkBAIC0xNDIzLDIzICsxNjA2LDM4IEBACiAJCQlyZXR1cm4gZXJyY29kZTsKIAl9CiAKLQlhcmd2X2FycmF5X3B1c2hsKCZhcmd2LCAiZmV0Y2giLCAiLS1hcHBlbmQiLCBOVUxMKTsKKwlhcmd2X2FycmF5X3B1c2hsKCZhcmd2LCAiZmV0Y2giLCAiLS1hcHBlbmQiLCAiLS1uby1hdXRvLWdjIiwKKwkJCSItLW5vLXdyaXRlLWNvbW1pdC1ncmFwaCIsIE5VTEwpOwogCWFkZF9vcHRpb25zX3RvX2FyZ3YoJmFyZ3YpOwogCi0JZm9yIChpID0gMDsgaSA8IGxpc3QtPm5yOyBpKyspIHsKLQkJY29uc3QgY2hhciAqbmFtZSA9IGxpc3QtPml0ZW1zW2ldLnN0cmluZzsKLQkJYXJndl9hcnJheV9wdXNoKCZhcmd2LCBuYW1lKTsKLQkJaWYgKHZlcmJvc2l0eSA+PSAwKQotCQkJcHJpbnRmKF8oIkZldGNoaW5nICVzXG4iKSwgbmFtZSk7Ci0JCWlmIChydW5fY29tbWFuZF92X29wdChhcmd2LmFyZ3YsIFJVTl9HSVRfQ01EKSkgewotCQkJZXJyb3IoXygiQ291bGQgbm90IGZldGNoICVzIiksIG5hbWUpOwotCQkJcmVzdWx0ID0gMTsKKwlpZiAobWF4X2NoaWxkcmVuICE9IDEgJiYgbGlzdC0+bnIgIT0gMSkgeworCQlzdHJ1Y3QgcGFyYWxsZWxfZmV0Y2hfc3RhdGUgc3RhdGUgPSB7IGFyZ3YuYXJndiwgbGlzdCwgMCwgMCB9OworCisJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJndiwgIi0tZW5kLW9mLW9wdGlvbnMiKTsKKwkJcmVzdWx0ID0gcnVuX3Byb2Nlc3Nlc19wYXJhbGxlbF90cjIobWF4X2NoaWxkcmVuLAorCQkJCQkJICAgICZmZXRjaF9uZXh0X3JlbW90ZSwKKwkJCQkJCSAgICAmZmV0Y2hfZmFpbGVkX3RvX3N0YXJ0LAorCQkJCQkJICAgICZmZXRjaF9maW5pc2hlZCwKKwkJCQkJCSAgICAmc3RhdGUsCisJCQkJCQkgICAgImZldGNoIiwgInBhcmFsbGVsL2ZldGNoIik7CisKKwkJaWYgKCFyZXN1bHQpCisJCQlyZXN1bHQgPSBzdGF0ZS5yZXN1bHQ7CisJfSBlbHNlCisJCWZvciAoaSA9IDA7IGkgPCBsaXN0LT5ucjsgaSsrKSB7CisJCQljb25zdCBjaGFyICpuYW1lID0gbGlzdC0+aXRlbXNbaV0uc3RyaW5nOworCQkJYXJndl9hcnJheV9wdXNoKCZhcmd2LCBuYW1lKTsKKwkJCWlmICh2ZXJib3NpdHkgPj0gMCkKKwkJCQlwcmludGYoXygiRmV0Y2hpbmcgJXNcbiIpLCBuYW1lKTsKKwkJCWlmIChydW5fY29tbWFuZF92X29wdChhcmd2LmFyZ3YsIFJVTl9HSVRfQ01EKSkgeworCQkJCWVycm9yKF8oIkNvdWxkIG5vdCBmZXRjaCAlcyIpLCBuYW1lKTsKKwkJCQlyZXN1bHQgPSAxOworCQkJfQorCQkJYXJndl9hcnJheV9wb3AoJmFyZ3YpOwogCQl9Ci0JCWFyZ3ZfYXJyYXlfcG9wKCZhcmd2KTsKLQl9CiAKIAlhcmd2X2FycmF5X2NsZWFyKCZhcmd2KTsKLQlyZXR1cm4gcmVzdWx0OworCXJldHVybiAhIXJlc3VsdDsKIH0KIAogLyoKQEAgLTE0NTksMzYgKzE2NTcsMjcgQEAKIAkgKiBJZiBubyBwcmlvciBwYXJ0aWFsIGNsb25lL2ZldGNoIGFuZCB0aGUgY3VycmVudCBmZXRjaCBESUQgTk9UCiAJICogcmVxdWVzdCBhIHBhcnRpYWwtZmV0Y2gsIGRvIGEgbm9ybWFsIGZldGNoLgogCSAqLwotCWlmICghcmVwb3NpdG9yeV9mb3JtYXRfcGFydGlhbF9jbG9uZSAmJiAhZmlsdGVyX29wdGlvbnMuY2hvaWNlKQorCWlmICghaGFzX3Byb21pc29yX3JlbW90ZSgpICYmICFmaWx0ZXJfb3B0aW9ucy5jaG9pY2UpCiAJCXJldHVybjsKIAogCS8qCi0JICogSWYgdGhpcyBpcyB0aGUgRklSU1QgcGFydGlhbC1mZXRjaCByZXF1ZXN0LCB3ZSBlbmFibGUgcGFydGlhbAotCSAqIG9uIHRoaXMgcmVwbyBhbmQgcmVtZW1iZXIgdGhlIGdpdmVuIGZpbHRlci1zcGVjIGFzIHRoZSBkZWZhdWx0Ci0JICogZm9yIHN1YnNlcXVlbnQgZmV0Y2hlcyB0byB0aGlzIHJlbW90ZS4KKwkgKiBJZiB0aGlzIGlzIGEgcGFydGlhbC1mZXRjaCByZXF1ZXN0LCB3ZSBlbmFibGUgcGFydGlhbCBvbgorCSAqIHRoaXMgcmVwbyBpZiBub3QgYWxyZWFkeSBlbmFibGVkIGFuZCByZW1lbWJlciB0aGUgZ2l2ZW4KKwkgKiBmaWx0ZXItc3BlYyBhcyB0aGUgZGVmYXVsdCBmb3Igc3Vic2VxdWVudCBmZXRjaGVzIHRvIHRoaXMKKwkgKiByZW1vdGUuCiAJICovCi0JaWYgKCFyZXBvc2l0b3J5X2Zvcm1hdF9wYXJ0aWFsX2Nsb25lICYmIGZpbHRlcl9vcHRpb25zLmNob2ljZSkgeworCWlmIChmaWx0ZXJfb3B0aW9ucy5jaG9pY2UpIHsKIAkJcGFydGlhbF9jbG9uZV9yZWdpc3RlcihyZW1vdGUtPm5hbWUsICZmaWx0ZXJfb3B0aW9ucyk7CiAJCXJldHVybjsKIAl9CiAKIAkvKgotCSAqIFdlIGFyZSBjdXJyZW50bHkgbGltaXRlZCB0byBvbmx5IE9ORSBwcm9taXNvciByZW1vdGUgYW5kIG9ubHkKLQkgKiBhbGxvdyBwYXJ0aWFsLWZldGNoZXMgZnJvbSB0aGUgcHJvbWlzb3IgcmVtb3RlLgotCSAqLwotCWlmIChzdHJjbXAocmVtb3RlLT5uYW1lLCByZXBvc2l0b3J5X2Zvcm1hdF9wYXJ0aWFsX2Nsb25lKSkgewotCQlpZiAoZmlsdGVyX29wdGlvbnMuY2hvaWNlKQotCQkJZGllKF8oIi0tZmlsdGVyIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB0aGUgcmVtb3RlIGNvbmZpZ3VyZWQgaW4gY29yZS5wYXJ0aWFsQ2xvbmUiKSk7Ci0JCXJldHVybjsKLQl9Ci0KLQkvKgogCSAqIERvIGEgcGFydGlhbC1mZXRjaCBmcm9tIHRoZSBwcm9taXNvciByZW1vdGUgdXNpbmcgZWl0aGVyIHRoZQogCSAqIGV4cGxpY2l0bHkgZ2l2ZW4gZmlsdGVyLXNwZWMgb3IgaW5oZXJpdCB0aGUgZmlsdGVyLXNwZWMgZnJvbQogCSAqIHRoZSBjb25maWcuCiAJICovCiAJaWYgKCFmaWx0ZXJfb3B0aW9ucy5jaG9pY2UpCi0JCXBhcnRpYWxfY2xvbmVfZ2V0X2RlZmF1bHRfZmlsdGVyX3NwZWMoJmZpbHRlcl9vcHRpb25zKTsKKwkJcGFydGlhbF9jbG9uZV9nZXRfZGVmYXVsdF9maWx0ZXJfc3BlYygmZmlsdGVyX29wdGlvbnMsIHJlbW90ZS0+bmFtZSk7CiAJcmV0dXJuOwogfQogCkBAIC0xNTU0LDcgKzE3NDMsOSBAQAogCiAJc2lnY2hhaW5fcHVzaF9jb21tb24odW5sb2NrX3BhY2tfb25fc2lnbmFsKTsKIAlhdGV4aXQodW5sb2NrX3BhY2spOworCXNpZ2NoYWluX3B1c2goU0lHUElQRSwgU0lHX0lHTik7CiAJZXhpdF9jb2RlID0gZG9fZmV0Y2goZ3RyYW5zcG9ydCwgJnJzKTsKKwlzaWdjaGFpbl9wb3AoU0lHUElQRSk7CiAJcmVmc3BlY19jbGVhcigmcnMpOwogCXRyYW5zcG9ydF9kaXNjb25uZWN0KGd0cmFuc3BvcnQpOwogCWd0cmFuc3BvcnQgPSBOVUxMOwpAQCAtMTU3MiwxNCArMTc2MywxMyBAQAogCiAJcGFja2V0X3RyYWNlX2lkZW50aXR5KCJmZXRjaCIpOwogCi0JZmV0Y2hfaWZfbWlzc2luZyA9IDA7Ci0KIAkvKiBSZWNvcmQgdGhlIGNvbW1hbmQgbGluZSBmb3IgdGhlIHJlZmxvZyAqLwogCXN0cmJ1Zl9hZGRzdHIoJmRlZmF1bHRfcmxhLCAiZmV0Y2giKTsKIAlmb3IgKGkgPSAxOyBpIDwgYXJnYzsgaSsrKQogCQlzdHJidWZfYWRkZigmZGVmYXVsdF9ybGEsICIgJXMiLCBhcmd2W2ldKTsKIAotCWZldGNoX2NvbmZpZ19mcm9tX2dpdG1vZHVsZXMoJm1heF9jaGlsZHJlbiwgJnJlY3Vyc2Vfc3VibW9kdWxlcyk7CisJZmV0Y2hfY29uZmlnX2Zyb21fZ2l0bW9kdWxlcygmc3VibW9kdWxlX2ZldGNoX2pvYnNfY29uZmlnLAorCQkJCSAgICAgJnJlY3Vyc2Vfc3VibW9kdWxlcyk7CiAJZ2l0X2NvbmZpZyhnaXRfZmV0Y2hfY29uZmlnLCBOVUxMKTsKIAogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwKQEAgLTE2MDcsNyArMTc5Nyw3IEBACiAJaWYgKGRlcHRoIHx8IGRlZXBlbl9zaW5jZSB8fCBkZWVwZW5fbm90Lm5yKQogCQlkZWVwZW4gPSAxOwogCi0JaWYgKGZpbHRlcl9vcHRpb25zLmNob2ljZSAmJiAhcmVwb3NpdG9yeV9mb3JtYXRfcGFydGlhbF9jbG9uZSkKKwlpZiAoZmlsdGVyX29wdGlvbnMuY2hvaWNlICYmICFoYXNfcHJvbWlzb3JfcmVtb3RlKCkpCiAJCWRpZSgiLS1maWx0ZXIgY2FuIG9ubHkgYmUgdXNlZCB3aGVuIGV4dGVuc2lvbnMucGFydGlhbENsb25lIGlzIHNldCIpOwogCiAJaWYgKGFsbCkgewpAQCAtMTY0MSwxOCArMTgzMSwzMSBAQAogCX0KIAogCWlmIChyZW1vdGUpIHsKLQkJaWYgKGZpbHRlcl9vcHRpb25zLmNob2ljZSB8fCByZXBvc2l0b3J5X2Zvcm1hdF9wYXJ0aWFsX2Nsb25lKQorCQlpZiAoZmlsdGVyX29wdGlvbnMuY2hvaWNlIHx8IGhhc19wcm9taXNvcl9yZW1vdGUoKSkKIAkJCWZldGNoX29uZV9zZXR1cF9wYXJ0aWFsKHJlbW90ZSk7CiAJCXJlc3VsdCA9IGZldGNoX29uZShyZW1vdGUsIGFyZ2MsIGFyZ3YsIHBydW5lX3RhZ3Nfb2spOwogCX0gZWxzZSB7CisJCWludCBtYXhfY2hpbGRyZW4gPSBtYXhfam9iczsKKwogCQlpZiAoZmlsdGVyX29wdGlvbnMuY2hvaWNlKQotCQkJZGllKF8oIi0tZmlsdGVyIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB0aGUgcmVtb3RlIGNvbmZpZ3VyZWQgaW4gY29yZS5wYXJ0aWFsQ2xvbmUiKSk7CisJCQlkaWUoXygiLS1maWx0ZXIgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHRoZSByZW1vdGUgIgorCQkJICAgICAgImNvbmZpZ3VyZWQgaW4gZXh0ZW5zaW9ucy5wYXJ0aWFsY2xvbmUiKSk7CisKKwkJaWYgKG1heF9jaGlsZHJlbiA8IDApCisJCQltYXhfY2hpbGRyZW4gPSBmZXRjaF9wYXJhbGxlbF9jb25maWc7CisKIAkJLyogVE9ETyBzaG91bGQgdGhpcyBhbHNvIGRpZSBpZiB3ZSBoYXZlIGEgcHJldmlvdXMgcGFydGlhbC1jbG9uZT8gKi8KLQkJcmVzdWx0ID0gZmV0Y2hfbXVsdGlwbGUoJmxpc3QpOworCQlyZXN1bHQgPSBmZXRjaF9tdWx0aXBsZSgmbGlzdCwgbWF4X2NoaWxkcmVuKTsKIAl9CiAKIAlpZiAoIXJlc3VsdCAmJiAocmVjdXJzZV9zdWJtb2R1bGVzICE9IFJFQ1VSU0VfU1VCTU9EVUxFU19PRkYpKSB7CiAJCXN0cnVjdCBhcmd2X2FycmF5IG9wdGlvbnMgPSBBUkdWX0FSUkFZX0lOSVQ7CisJCWludCBtYXhfY2hpbGRyZW4gPSBtYXhfam9iczsKKworCQlpZiAobWF4X2NoaWxkcmVuIDwgMCkKKwkJCW1heF9jaGlsZHJlbiA9IHN1Ym1vZHVsZV9mZXRjaF9qb2JzX2NvbmZpZzsKKwkJaWYgKG1heF9jaGlsZHJlbiA8IDApCisJCQltYXhfY2hpbGRyZW4gPSBmZXRjaF9wYXJhbGxlbF9jb25maWc7CiAKIAkJYWRkX29wdGlvbnNfdG9fYXJndigmb3B0aW9ucyk7CiAJCXJlc3VsdCA9IGZldGNoX3BvcHVsYXRlZF9zdWJtb2R1bGVzKHRoZV9yZXBvc2l0b3J5LApAQCAtMTY2NywxMyArMTg3MCwyOSBAQAogCiAJc3RyaW5nX2xpc3RfY2xlYXIoJmxpc3QsIDApOwogCi0JY2xvc2VfYWxsX3BhY2tzKHRoZV9yZXBvc2l0b3J5LT5vYmplY3RzKTsKKwlwcmVwYXJlX3JlcG9fc2V0dGluZ3ModGhlX3JlcG9zaXRvcnkpOworCWlmIChmZXRjaF93cml0ZV9jb21taXRfZ3JhcGggPiAwIHx8CisJICAgIChmZXRjaF93cml0ZV9jb21taXRfZ3JhcGggPCAwICYmCisJICAgICB0aGVfcmVwb3NpdG9yeS0+c2V0dGluZ3MuZmV0Y2hfd3JpdGVfY29tbWl0X2dyYXBoKSkgeworCQlpbnQgY29tbWl0X2dyYXBoX2ZsYWdzID0gQ09NTUlUX0dSQVBIX1dSSVRFX1NQTElUOwogCi0JYXJndl9hcnJheV9wdXNobCgmYXJndl9nY19hdXRvLCAiZ2MiLCAiLS1hdXRvIiwgTlVMTCk7Ci0JaWYgKHZlcmJvc2l0eSA8IDApCi0JCWFyZ3ZfYXJyYXlfcHVzaCgmYXJndl9nY19hdXRvLCAiLS1xdWlldCIpOwotCXJ1bl9jb21tYW5kX3Zfb3B0KGFyZ3ZfZ2NfYXV0by5hcmd2LCBSVU5fR0lUX0NNRCk7Ci0JYXJndl9hcnJheV9jbGVhcigmYXJndl9nY19hdXRvKTsKKwkJaWYgKHByb2dyZXNzKQorCQkJY29tbWl0X2dyYXBoX2ZsYWdzIHw9IENPTU1JVF9HUkFQSF9XUklURV9QUk9HUkVTUzsKKworCQl3cml0ZV9jb21taXRfZ3JhcGhfcmVhY2hhYmxlKHRoZV9yZXBvc2l0b3J5LT5vYmplY3RzLT5vZGIsCisJCQkJCSAgICAgY29tbWl0X2dyYXBoX2ZsYWdzLAorCQkJCQkgICAgIE5VTEwpOworCX0KKworCWNsb3NlX29iamVjdF9zdG9yZSh0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cyk7CisKKwlpZiAoZW5hYmxlX2F1dG9fZ2MpIHsKKwkJYXJndl9hcnJheV9wdXNobCgmYXJndl9nY19hdXRvLCAiZ2MiLCAiLS1hdXRvIiwgTlVMTCk7CisJCWlmICh2ZXJib3NpdHkgPCAwKQorCQkJYXJndl9hcnJheV9wdXNoKCZhcmd2X2djX2F1dG8sICItLXF1aWV0Iik7CisJCXJ1bl9jb21tYW5kX3Zfb3B0KGFyZ3ZfZ2NfYXV0by5hcmd2LCBSVU5fR0lUX0NNRCk7CisJCWFyZ3ZfYXJyYXlfY2xlYXIoJmFyZ3ZfZ2NfYXV0byk7CisJfQogCiAJcmV0dXJuIHJlc3VsdDsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vZm10LW1lcmdlLW1zZy5jIGIvYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmMKaW5kZXggYTQ2MTU1OC4uNzM2ZjY2NiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmMKKysrIGIvYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmMKQEAgLTEwNiw3ICsxMDYsNyBAQAogCWludCBpLCBsZW4gPSBzdHJsZW4obGluZSk7CiAJc3RydWN0IG9yaWdpbl9kYXRhICpvcmlnaW5fZGF0YTsKIAljaGFyICpzcmM7Ci0JY29uc3QgY2hhciAqb3JpZ2luOworCWNvbnN0IGNoYXIgKm9yaWdpbiwgKnRhZ19uYW1lOwogCXN0cnVjdCBzcmNfZGF0YSAqc3JjX2RhdGE7CiAJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CiAJaW50IHB1bGxpbmdfaGVhZCA9IDA7CkBAIC0xNjIsMTQgKzE2MiwxMyBAQAogCWlmIChwdWxsaW5nX2hlYWQpIHsKIAkJb3JpZ2luID0gc3JjOwogCQlzcmNfZGF0YS0+aGVhZF9zdGF0dXMgfD0gMTsKLQl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGxpbmUsICJicmFuY2ggIikpIHsKKwl9IGVsc2UgaWYgKHNraXBfcHJlZml4KGxpbmUsICJicmFuY2ggIiwgJm9yaWdpbikpIHsKIAkJb3JpZ2luX2RhdGEtPmlzX2xvY2FsX2JyYW5jaCA9IDE7Ci0JCW9yaWdpbiA9IGxpbmUgKyA3OwogCQlzdHJpbmdfbGlzdF9hcHBlbmQoJnNyY19kYXRhLT5icmFuY2gsIG9yaWdpbik7CiAJCXNyY19kYXRhLT5oZWFkX3N0YXR1cyB8PSAyOwotCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgobGluZSwgInRhZyAiKSkgeworCX0gZWxzZSBpZiAoc2tpcF9wcmVmaXgobGluZSwgInRhZyAiLCAmdGFnX25hbWUpKSB7CiAJCW9yaWdpbiA9IGxpbmU7Ci0JCXN0cmluZ19saXN0X2FwcGVuZCgmc3JjX2RhdGEtPnRhZywgb3JpZ2luICsgNCk7CisJCXN0cmluZ19saXN0X2FwcGVuZCgmc3JjX2RhdGEtPnRhZywgdGFnX25hbWUpOwogCQlzcmNfZGF0YS0+aGVhZF9zdGF0dXMgfD0gMjsKIAl9IGVsc2UgaWYgKHNraXBfcHJlZml4KGxpbmUsICJyZW1vdGUtdHJhY2tpbmcgYnJhbmNoICIsICZvcmlnaW4pKSB7CiAJCXN0cmluZ19saXN0X2FwcGVuZCgmc3JjX2RhdGEtPnJfYnJhbmNoLCBvcmlnaW4pOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9mb3ItZWFjaC1yZWYuYyBiL2J1aWx0aW4vZm9yLWVhY2gtcmVmLmMKaW5kZXggZTkzMWJlOS4uNDY1MTUzZSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9mb3ItZWFjaC1yZWYuYworKysgYi9idWlsdGluL2Zvci1lYWNoLXJlZi5jCkBAIC0zNyw4ICszNyw3IEBACiAJCU9QVF9JTlRFR0VSKCAwICwgImNvdW50IiwgJm1heGNvdW50LCBOXygic2hvdyBvbmx5IDxuPiBtYXRjaGVkIHJlZnMiKSksCiAJCU9QVF9TVFJJTkcoICAwICwgImZvcm1hdCIsICZmb3JtYXQuZm9ybWF0LCBOXygiZm9ybWF0IiksIE5fKCJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IikpLAogCQlPUFRfX0NPTE9SKCZmb3JtYXQudXNlX2NvbG9yLCBOXygicmVzcGVjdCBmb3JtYXQgY29sb3JzIikpLAotCQlPUFRfQ0FMTEJBQ0soMCAsICJzb3J0Iiwgc29ydGluZ190YWlsLCBOXygia2V5IiksCi0JCQkgICAgTl8oImZpZWxkIG5hbWUgdG8gc29ydCBvbiIpLCAmcGFyc2Vfb3B0X3JlZl9zb3J0aW5nKSwKKwkJT1BUX1JFRl9TT1JUKHNvcnRpbmdfdGFpbCksCiAJCU9QVF9DQUxMQkFDSygwLCAicG9pbnRzLWF0IiwgJmZpbHRlci5wb2ludHNfYXQsCiAJCQkgICAgIE5fKCJvYmplY3QiKSwgTl8oInByaW50IG9ubHkgcmVmcyB3aGljaCBwb2ludHMgYXQgdGhlIGdpdmVuIG9iamVjdCIpLAogCQkJICAgICBwYXJzZV9vcHRfb2JqZWN0X25hbWUpLApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9mc2NrLmMgYi9idWlsdGluL2ZzY2suYwppbmRleCAzYzNlMGYwLi44ZDEzNzk0IDEwMDY0NAotLS0gYS9idWlsdGluL2ZzY2suYworKysgYi9idWlsdGluL2ZzY2suYwpAQCAtMSwzICsxLDQgQEAKKyNkZWZpbmUgVVNFX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgInJlcG9zaXRvcnkuaCIKQEAgLTQ5LDM0ICs1MCwyMiBAQAogI2RlZmluZSBFUlJPUl9SRUZTIDAxMAogI2RlZmluZSBFUlJPUl9DT01NSVRfR1JBUEggMDIwCiAKLXN0YXRpYyBjb25zdCBjaGFyICpkZXNjcmliZV9vYmplY3Qoc3RydWN0IG9iamVjdCAqb2JqKQorc3RhdGljIGNvbnN0IGNoYXIgKmRlc2NyaWJlX29iamVjdChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0Jc3RhdGljIHN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7Ci0JY2hhciAqbmFtZSA9IG5hbWVfb2JqZWN0cyA/Ci0JCWxvb2t1cF9kZWNvcmF0aW9uKGZzY2tfd2Fsa19vcHRpb25zLm9iamVjdF9uYW1lcywgb2JqKSA6IE5VTEw7Ci0KLQlzdHJidWZfcmVzZXQoJmJ1Zik7Ci0Jc3RyYnVmX2FkZHN0cigmYnVmLCBvaWRfdG9faGV4KCZvYmotPm9pZCkpOwotCWlmIChuYW1lKQotCQlzdHJidWZfYWRkZigmYnVmLCAiICglcykiLCBuYW1lKTsKLQotCXJldHVybiBidWYuYnVmOworCXJldHVybiBmc2NrX2Rlc2NyaWJlX29iamVjdCgmZnNja193YWxrX29wdGlvbnMsIG9pZCk7CiB9CiAKLXN0YXRpYyBjb25zdCBjaGFyICpwcmludGFibGVfdHlwZShzdHJ1Y3Qgb2JqZWN0ICpvYmopCitzdGF0aWMgY29uc3QgY2hhciAqcHJpbnRhYmxlX3R5cGUoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJCSAgZW51bSBvYmplY3RfdHlwZSB0eXBlKQogewogCWNvbnN0IGNoYXIgKnJldDsKIAotCWlmIChvYmotPnR5cGUgPT0gT0JKX05PTkUpIHsKLQkJZW51bSBvYmplY3RfdHlwZSB0eXBlID0gb2lkX29iamVjdF9pbmZvKHRoZV9yZXBvc2l0b3J5LAotCQkJCQkJCSZvYmotPm9pZCwgTlVMTCk7Ci0JCWlmICh0eXBlID4gMCkKLQkJCW9iamVjdF9hc190eXBlKHRoZV9yZXBvc2l0b3J5LCBvYmosIHR5cGUsIDApOwotCX0KKwlpZiAodHlwZSA9PSBPQkpfTk9ORSkKKwkJdHlwZSA9IG9pZF9vYmplY3RfaW5mbyh0aGVfcmVwb3NpdG9yeSwgb2lkLCBOVUxMKTsKIAotCXJldCA9IHR5cGVfbmFtZShvYmotPnR5cGUpOworCXJldCA9IHR5cGVfbmFtZSh0eXBlKTsKIAlpZiAoIXJldCkKLQkJcmV0ID0gInVua25vd24iOworCQlyZXQgPSBfKCJ1bmtub3duIik7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtMTA0LDI1ICs5MywzOCBAQAogCXJldHVybiBnaXRfZGVmYXVsdF9jb25maWcodmFyLCB2YWx1ZSwgY2IpOwogfQogCi1zdGF0aWMgdm9pZCBvYmpyZXBvcnQoc3RydWN0IG9iamVjdCAqb2JqLCBjb25zdCBjaGFyICptc2dfdHlwZSwKLQkJCWNvbnN0IGNoYXIgKmVycikKLXsKLQlmcHJpbnRmKHN0ZGVyciwgIiVzIGluICVzICVzOiAlc1xuIiwKLQkJbXNnX3R5cGUsIHByaW50YWJsZV90eXBlKG9iaiksIGRlc2NyaWJlX29iamVjdChvYmopLCBlcnIpOwotfQotCiBzdGF0aWMgaW50IG9iamVycm9yKHN0cnVjdCBvYmplY3QgKm9iaiwgY29uc3QgY2hhciAqZXJyKQogewogCWVycm9yc19mb3VuZCB8PSBFUlJPUl9PQkpFQ1Q7Ci0Jb2JqcmVwb3J0KG9iaiwgImVycm9yIiwgZXJyKTsKKwkvKiBUUkFOU0xBVE9SUzogZS5nLiBlcnJvciBpbiB0cmVlIDAxYmZkYTogPG1vcmUgZXhwbGFuYXRpb24+ICovCisJZnByaW50Zl9sbihzdGRlcnIsIF8oImVycm9yIGluICVzICVzOiAlcyIpLAorCQkgICBwcmludGFibGVfdHlwZSgmb2JqLT5vaWQsIG9iai0+dHlwZSksCisJCSAgIGRlc2NyaWJlX29iamVjdCgmb2JqLT5vaWQpLCBlcnIpOwogCXJldHVybiAtMTsKIH0KIAogc3RhdGljIGludCBmc2NrX2Vycm9yX2Z1bmMoc3RydWN0IGZzY2tfb3B0aW9ucyAqbywKLQlzdHJ1Y3Qgb2JqZWN0ICpvYmosIGludCB0eXBlLCBjb25zdCBjaGFyICptZXNzYWdlKQorCQkJICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJICAgZW51bSBvYmplY3RfdHlwZSBvYmplY3RfdHlwZSwKKwkJCSAgIGludCBtc2dfdHlwZSwgY29uc3QgY2hhciAqbWVzc2FnZSkKIHsKLQlvYmpyZXBvcnQob2JqLCAodHlwZSA9PSBGU0NLX1dBUk4pID8gIndhcm5pbmciIDogImVycm9yIiwgbWVzc2FnZSk7Ci0JcmV0dXJuICh0eXBlID09IEZTQ0tfV0FSTikgPyAwIDogMTsKKwlzd2l0Y2ggKG1zZ190eXBlKSB7CisJY2FzZSBGU0NLX1dBUk46CisJCS8qIFRSQU5TTEFUT1JTOiBlLmcuIHdhcm5pbmcgaW4gdHJlZSAwMWJmZGE6IDxtb3JlIGV4cGxhbmF0aW9uPiAqLworCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygid2FybmluZyBpbiAlcyAlczogJXMiKSwKKwkJCSAgIHByaW50YWJsZV90eXBlKG9pZCwgb2JqZWN0X3R5cGUpLAorCQkJICAgZGVzY3JpYmVfb2JqZWN0KG9pZCksIG1lc3NhZ2UpOworCQlyZXR1cm4gMDsKKwljYXNlIEZTQ0tfRVJST1I6CisJCS8qIFRSQU5TTEFUT1JTOiBlLmcuIGVycm9yIGluIHRyZWUgMDFiZmRhOiA8bW9yZSBleHBsYW5hdGlvbj4gKi8KKwkJZnByaW50Zl9sbihzdGRlcnIsIF8oImVycm9yIGluICVzICVzOiAlcyIpLAorCQkJICAgcHJpbnRhYmxlX3R5cGUob2lkLCBvYmplY3RfdHlwZSksCisJCQkgICBkZXNjcmliZV9vYmplY3Qob2lkKSwgbWVzc2FnZSk7CisJCXJldHVybiAxOworCWRlZmF1bHQ6CisJCUJVRygiJWQgKEZTQ0tfSUdOT1JFPykgc2hvdWxkIG5ldmVyIHRyaWdnZXIgdGhpcyBjYWxsYmFjayIsCisJCSAgICBtc2dfdHlwZSk7CisJfQogfQogCiBzdGF0aWMgc3RydWN0IG9iamVjdF9hcnJheSBwZW5kaW5nOwpAQCAtMTM4LDE3ICsxNDAsMTkgQEAKIAkgKi8KIAlpZiAoIW9iaikgewogCQkvKiAuLi4gdGhlc2UgcmVmZXJlbmNlcyB0byBwYXJlbnQtPmZsZCBhcmUgc2FmZSBoZXJlICovCi0JCXByaW50ZigiYnJva2VuIGxpbmsgZnJvbSAlN3MgJXNcbiIsCi0JCQkgICBwcmludGFibGVfdHlwZShwYXJlbnQpLCBkZXNjcmliZV9vYmplY3QocGFyZW50KSk7Ci0JCXByaW50ZigiYnJva2VuIGxpbmsgZnJvbSAlN3MgJXNcbiIsCi0JCQkgICAodHlwZSA9PSBPQkpfQU5ZID8gInVua25vd24iIDogdHlwZV9uYW1lKHR5cGUpKSwgInVua25vd24iKTsKKwkJcHJpbnRmX2xuKF8oImJyb2tlbiBsaW5rIGZyb20gJTdzICVzIiksCisJCQkgIHByaW50YWJsZV90eXBlKCZwYXJlbnQtPm9pZCwgcGFyZW50LT50eXBlKSwKKwkJCSAgZGVzY3JpYmVfb2JqZWN0KCZwYXJlbnQtPm9pZCkpOworCQlwcmludGZfbG4oXygiYnJva2VuIGxpbmsgZnJvbSAlN3MgJXMiKSwKKwkJCSAgKHR5cGUgPT0gT0JKX0FOWSA/IF8oInVua25vd24iKSA6IHR5cGVfbmFtZSh0eXBlKSksCisJCQkgIF8oInVua25vd24iKSk7CiAJCWVycm9yc19mb3VuZCB8PSBFUlJPUl9SRUFDSEFCTEU7CiAJCXJldHVybiAxOwogCX0KIAogCWlmICh0eXBlICE9IE9CSl9BTlkgJiYgb2JqLT50eXBlICE9IHR5cGUpCiAJCS8qIC4uLiBhbmQgdGhlIHJlZmVyZW5jZSB0byBwYXJlbnQgaXMgc2FmZSBoZXJlICovCi0JCW9iamVycm9yKHBhcmVudCwgIndyb25nIG9iamVjdCB0eXBlIGluIGxpbmsiKTsKKwkJb2JqZXJyb3IocGFyZW50LCBfKCJ3cm9uZyBvYmplY3QgdHlwZSBpbiBsaW5rIikpOwogCiAJaWYgKG9iai0+ZmxhZ3MgJiBSRUFDSEFCTEUpCiAJCXJldHVybiAwOwpAQCAtMTY0LDEwICsxNjgsMTIgQEAKIAogCWlmICghKG9iai0+ZmxhZ3MgJiBIQVNfT0JKKSkgewogCQlpZiAocGFyZW50ICYmICFoYXNfb2JqZWN0X2ZpbGUoJm9iai0+b2lkKSkgewotCQkJcHJpbnRmKCJicm9rZW4gbGluayBmcm9tICU3cyAlc1xuIiwKLQkJCQkgcHJpbnRhYmxlX3R5cGUocGFyZW50KSwgZGVzY3JpYmVfb2JqZWN0KHBhcmVudCkpOwotCQkJcHJpbnRmKCIgICAgICAgICAgICAgIHRvICU3cyAlc1xuIiwKLQkJCQkgcHJpbnRhYmxlX3R5cGUob2JqKSwgZGVzY3JpYmVfb2JqZWN0KG9iaikpOworCQkJcHJpbnRmX2xuKF8oImJyb2tlbiBsaW5rIGZyb20gJTdzICVzXG4iCisJCQkJICAgICIgICAgICAgICAgICAgIHRvICU3cyAlcyIpLAorCQkJCSAgcHJpbnRhYmxlX3R5cGUoJnBhcmVudC0+b2lkLCBwYXJlbnQtPnR5cGUpLAorCQkJCSAgZGVzY3JpYmVfb2JqZWN0KCZwYXJlbnQtPm9pZCksCisJCQkJICBwcmludGFibGVfdHlwZSgmb2JqLT5vaWQsIG9iai0+dHlwZSksCisJCQkJICBkZXNjcmliZV9vYmplY3QoJm9iai0+b2lkKSk7CiAJCQllcnJvcnNfZm91bmQgfD0gRVJST1JfUkVBQ0hBQkxFOwogCQl9CiAJCXJldHVybiAxOwpAQCAtMjE2LDYgKzIyMiw0OCBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgdm9pZCBtYXJrX3VucmVhY2hhYmxlX3JlZmVyZW50cyhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCit7CisJc3RydWN0IGZzY2tfb3B0aW9ucyBvcHRpb25zID0gRlNDS19PUFRJT05TX0RFRkFVTFQ7CisJc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgb2lkKTsKKworCWlmICghb2JqIHx8ICEob2JqLT5mbGFncyAmIEhBU19PQkopKQorCQlyZXR1cm47IC8qIG5vdCBwYXJ0IG9mIG91ciBvcmlnaW5hbCBzZXQgKi8KKwlpZiAob2JqLT5mbGFncyAmIFJFQUNIQUJMRSkKKwkJcmV0dXJuOyAvKiByZWFjaGFibGUgb2JqZWN0cyBhbHJlYWR5IHRyYXZlcnNlZCAqLworCisJLyoKKwkgKiBBdm9pZCBwYXNzaW5nIE9CSl9OT05FIHRvIGZzY2tfd2Fsaywgd2hpY2ggd2lsbCBwYXJzZSB0aGUgb2JqZWN0CisJICogKGFuZCB3ZSB3YW50IHRvIGF2b2lkIHBhcnNpbmcgYmxvYnMpLgorCSAqLworCWlmIChvYmotPnR5cGUgPT0gT0JKX05PTkUpIHsKKwkJZW51bSBvYmplY3RfdHlwZSB0eXBlID0gb2lkX29iamVjdF9pbmZvKHRoZV9yZXBvc2l0b3J5LAorCQkJCQkJCSZvYmotPm9pZCwgTlVMTCk7CisJCWlmICh0eXBlID4gMCkKKwkJCW9iamVjdF9hc190eXBlKHRoZV9yZXBvc2l0b3J5LCBvYmosIHR5cGUsIDApOworCX0KKworCW9wdGlvbnMud2FsayA9IG1hcmtfdXNlZDsKKwlmc2NrX3dhbGsob2JqLCBOVUxMLCAmb3B0aW9ucyk7Cit9CisKK3N0YXRpYyBpbnQgbWFya19sb29zZV91bnJlYWNoYWJsZV9yZWZlcmVudHMoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJCQkgICAgY29uc3QgY2hhciAqcGF0aCwKKwkJCQkJICAgIHZvaWQgKmRhdGEpCit7CisJbWFya191bnJlYWNoYWJsZV9yZWZlcmVudHMob2lkKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBtYXJrX3BhY2tlZF91bnJlYWNoYWJsZV9yZWZlcmVudHMoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJCQkgICAgIHN0cnVjdCBwYWNrZWRfZ2l0ICpwYWNrLAorCQkJCQkgICAgIHVpbnQzMl90IHBvcywKKwkJCQkJICAgICB2b2lkICpkYXRhKQoreworCW1hcmtfdW5yZWFjaGFibGVfcmVmZXJlbnRzKG9pZCk7CisJcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBDaGVjayBhIHNpbmdsZSByZWFjaGFibGUgb2JqZWN0CiAgKi8KQEAgLTIzMSw4ICsyNzksOSBAQAogCQkJcmV0dXJuOwogCQlpZiAoaGFzX29iamVjdF9wYWNrKCZvYmotPm9pZCkpCiAJCQlyZXR1cm47IC8qIGl0IGlzIGluIHBhY2sgLSBmb3JnZXQgYWJvdXQgaXQgKi8KLQkJcHJpbnRmKCJtaXNzaW5nICVzICVzXG4iLCBwcmludGFibGVfdHlwZShvYmopLAotCQkJZGVzY3JpYmVfb2JqZWN0KG9iaikpOworCQlwcmludGZfbG4oXygibWlzc2luZyAlcyAlcyIpLAorCQkJICBwcmludGFibGVfdHlwZSgmb2JqLT5vaWQsIG9iai0+dHlwZSksCisJCQkgIGRlc2NyaWJlX29iamVjdCgmb2JqLT5vaWQpKTsKIAkJZXJyb3JzX2ZvdW5kIHw9IEVSUk9SX1JFQUNIQUJMRTsKIAkJcmV0dXJuOwogCX0KQEAgLTI1Nyw4ICszMDYsOSBAQAogCSAqIHNpbmNlIHRoaXMgaXMgc29tZXRoaW5nIHRoYXQgaXMgcHJ1bmFibGUuCiAJICovCiAJaWYgKHNob3dfdW5yZWFjaGFibGUpIHsKLQkJcHJpbnRmKCJ1bnJlYWNoYWJsZSAlcyAlc1xuIiwgcHJpbnRhYmxlX3R5cGUob2JqKSwKLQkJCWRlc2NyaWJlX29iamVjdChvYmopKTsKKwkJcHJpbnRmX2xuKF8oInVucmVhY2hhYmxlICVzICVzIiksCisJCQkgIHByaW50YWJsZV90eXBlKCZvYmotPm9pZCwgb2JqLT50eXBlKSwKKwkJCSAgZGVzY3JpYmVfb2JqZWN0KCZvYmotPm9pZCkpOwogCQlyZXR1cm47CiAJfQogCkBAIC0yNzYsMjcgKzMyNiwyOCBAQAogCSAqLwogCWlmICghKG9iai0+ZmxhZ3MgJiBVU0VEKSkgewogCQlpZiAoc2hvd19kYW5nbGluZykKLQkJCXByaW50ZigiZGFuZ2xpbmcgJXMgJXNcbiIsIHByaW50YWJsZV90eXBlKG9iaiksCi0JCQkgICAgICAgZGVzY3JpYmVfb2JqZWN0KG9iaikpOworCQkJcHJpbnRmX2xuKF8oImRhbmdsaW5nICVzICVzIiksCisJCQkJICBwcmludGFibGVfdHlwZSgmb2JqLT5vaWQsIG9iai0+dHlwZSksCisJCQkJICBkZXNjcmliZV9vYmplY3QoJm9iai0+b2lkKSk7CiAJCWlmICh3cml0ZV9sb3N0X2FuZF9mb3VuZCkgewogCQkJY2hhciAqZmlsZW5hbWUgPSBnaXRfcGF0aGR1cCgibG9zdC1mb3VuZC8lcy8lcyIsCiAJCQkJb2JqLT50eXBlID09IE9CSl9DT01NSVQgPyAiY29tbWl0IiA6ICJvdGhlciIsCi0JCQkJZGVzY3JpYmVfb2JqZWN0KG9iaikpOworCQkJCWRlc2NyaWJlX29iamVjdCgmb2JqLT5vaWQpKTsKIAkJCUZJTEUgKmY7CiAKIAkJCWlmIChzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzX2NvbnN0KGZpbGVuYW1lKSkgewotCQkJCWVycm9yKCJDb3VsZCBub3QgY3JlYXRlIGxvc3QtZm91bmQiKTsKKwkJCQllcnJvcihfKCJjb3VsZCBub3QgY3JlYXRlIGxvc3QtZm91bmQiKSk7CiAJCQkJZnJlZShmaWxlbmFtZSk7CiAJCQkJcmV0dXJuOwogCQkJfQogCQkJZiA9IHhmb3BlbihmaWxlbmFtZSwgInciKTsKIAkJCWlmIChvYmotPnR5cGUgPT0gT0JKX0JMT0IpIHsKIAkJCQlpZiAoc3RyZWFtX2Jsb2JfdG9fZmQoZmlsZW5vKGYpLCAmb2JqLT5vaWQsIE5VTEwsIDEpKQotCQkJCQlkaWVfZXJybm8oIkNvdWxkIG5vdCB3cml0ZSAnJXMnIiwgZmlsZW5hbWUpOworCQkJCQlkaWVfZXJybm8oXygiY291bGQgbm90IHdyaXRlICclcyciKSwgZmlsZW5hbWUpOwogCQkJfSBlbHNlCi0JCQkJZnByaW50ZihmLCAiJXNcbiIsIGRlc2NyaWJlX29iamVjdChvYmopKTsKKwkJCQlmcHJpbnRmKGYsICIlc1xuIiwgZGVzY3JpYmVfb2JqZWN0KCZvYmotPm9pZCkpOwogCQkJaWYgKGZjbG9zZShmKSkKLQkJCQlkaWVfZXJybm8oIkNvdWxkIG5vdCBmaW5pc2ggJyVzJyIsCisJCQkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCBmaW5pc2ggJyVzJyIpLAogCQkJCQkgIGZpbGVuYW1lKTsKIAkJCWZyZWUoZmlsZW5hbWUpOwogCQl9CkBAIC0zMTMsNyArMzY0LDcgQEAKIHN0YXRpYyB2b2lkIGNoZWNrX29iamVjdChzdHJ1Y3Qgb2JqZWN0ICpvYmopCiB7CiAJaWYgKHZlcmJvc2UpCi0JCWZwcmludGYoc3RkZXJyLCAiQ2hlY2tpbmcgJXNcbiIsIGRlc2NyaWJlX29iamVjdChvYmopKTsKKwkJZnByaW50Zl9sbihzdGRlcnIsIF8oIkNoZWNraW5nICVzIiksIGRlc2NyaWJlX29iamVjdCgmb2JqLT5vaWQpKTsKIAogCWlmIChvYmotPmZsYWdzICYgUkVBQ0hBQkxFKQogCQljaGVja19yZWFjaGFibGVfb2JqZWN0KG9iaik7CkBAIC0zMjgsMTAgKzM3OSwzMCBAQAogCS8qIFRyYXZlcnNlIHRoZSBwZW5kaW5nIHJlYWNoYWJsZSBvYmplY3RzICovCiAJdHJhdmVyc2VfcmVhY2hhYmxlKCk7CiAKKwkvKgorCSAqIFdpdGggLS1jb25uZWN0aXZpdHktb25seSwgd2Ugd29uJ3QgaGF2ZSBhY3R1YWxseSBvcGVuZWQgYW5kIG1hcmtlZAorCSAqIHVucmVhY2hhYmxlIG9iamVjdHMgd2l0aCBVU0VELiBEbyB0aGF0IG5vdyB0byBtYWtlIC0tZGFuZ2xpbmcsIGV0YworCSAqIGFjY3VyYXRlLgorCSAqLworCWlmIChjb25uZWN0aXZpdHlfb25seSAmJiAoc2hvd19kYW5nbGluZyB8fCB3cml0ZV9sb3N0X2FuZF9mb3VuZCkpIHsKKwkJLyoKKwkJICogRXZlbiB0aG91Z2ggd2UgYWxyZWFkeSBoYXZlIGEgInN0cnVjdCBvYmplY3QiIGZvciBlYWNoIG9mCisJCSAqIHRoZXNlIGluIG1lbW9yeSwgd2UgbXVzdCBub3QgaXRlcmF0ZSBvdmVyIHRoZSBpbnRlcm5hbAorCQkgKiBvYmplY3QgaGFzaCBhcyB3ZSBkbyBiZWxvdy4gT3VyIGxvb3Agd291bGQgcG90ZW50aWFsbHkKKwkJICogcmVzaXplIHRoZSBoYXNoLCBtYWtpbmcgb3VyIGl0ZXJhdGlvbiBpbnZhbGlkLgorCQkgKgorCQkgKiBJbnN0ZWFkLCB3ZSdsbCBqdXN0IGdvIGJhY2sgdG8gdGhlIHNvdXJjZSBsaXN0IG9mIG9iamVjdHMsCisJCSAqIGFuZCBpZ25vcmUgYW55IHRoYXQgd2VyZW4ndCBwcmVzZW50IGluIG91ciBlYXJsaWVyCisJCSAqIHRyYXZlcnNhbC4KKwkJICovCisJCWZvcl9lYWNoX2xvb3NlX29iamVjdChtYXJrX2xvb3NlX3VucmVhY2hhYmxlX3JlZmVyZW50cywgTlVMTCwgMCk7CisJCWZvcl9lYWNoX3BhY2tlZF9vYmplY3QobWFya19wYWNrZWRfdW5yZWFjaGFibGVfcmVmZXJlbnRzLCBOVUxMLCAwKTsKKwl9CisKIAkvKiBMb29rIHVwIGFsbCB0aGUgcmVxdWlyZW1lbnRzLCB3YXJuIGFib3V0IG1pc3Npbmcgb2JqZWN0cy4uICovCiAJbWF4ID0gZ2V0X21heF9vYmplY3RfaW5kZXgoKTsKIAlpZiAodmVyYm9zZSkKLQkJZnByaW50ZihzdGRlcnIsICJDaGVja2luZyBjb25uZWN0aXZpdHkgKCVkIG9iamVjdHMpXG4iLCBtYXgpOworCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygiQ2hlY2tpbmcgY29ubmVjdGl2aXR5ICglZCBvYmplY3RzKSIpLCBtYXgpOwogCiAJZm9yIChpID0gMDsgaSA8IG1heDsgaSsrKSB7CiAJCXN0cnVjdCBvYmplY3QgKm9iaiA9IGdldF9pbmRleGVkX29iamVjdChpKTsKQEAgLTM1MCwxMSArNDIxLDEyIEBACiAJb2JqLT5mbGFncyB8PSBTRUVOOwogCiAJaWYgKHZlcmJvc2UpCi0JCWZwcmludGYoc3RkZXJyLCAiQ2hlY2tpbmcgJXMgJXNcbiIsCi0JCQlwcmludGFibGVfdHlwZShvYmopLCBkZXNjcmliZV9vYmplY3Qob2JqKSk7CisJCWZwcmludGZfbG4oc3RkZXJyLCBfKCJDaGVja2luZyAlcyAlcyIpLAorCQkJICAgcHJpbnRhYmxlX3R5cGUoJm9iai0+b2lkLCBvYmotPnR5cGUpLAorCQkJICAgZGVzY3JpYmVfb2JqZWN0KCZvYmotPm9pZCkpOwogCiAJaWYgKGZzY2tfd2FsayhvYmosIE5VTEwsICZmc2NrX29ial9vcHRpb25zKSkKLQkJb2JqZXJyb3Iob2JqLCAiYnJva2VuIGxpbmtzIik7CisJCW9iamVycm9yKG9iaiwgXygiYnJva2VuIGxpbmtzIikpOwogCWVyciA9IGZzY2tfb2JqZWN0KG9iaiwgYnVmZmVyLCBzaXplLCAmZnNja19vYmpfb3B0aW9ucyk7CiAJaWYgKGVycikKIAkJZ290byBvdXQ7CkBAIC0zNjMsMTcgKzQzNSwxOSBAQAogCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSAoc3RydWN0IGNvbW1pdCAqKSBvYmo7CiAKIAkJaWYgKCFjb21taXQtPnBhcmVudHMgJiYgc2hvd19yb290KQotCQkJcHJpbnRmKCJyb290ICVzXG4iLCBkZXNjcmliZV9vYmplY3QoJmNvbW1pdC0+b2JqZWN0KSk7CisJCQlwcmludGZfbG4oXygicm9vdCAlcyIpLAorCQkJCSAgZGVzY3JpYmVfb2JqZWN0KCZjb21taXQtPm9iamVjdC5vaWQpKTsKIAl9CiAKIAlpZiAob2JqLT50eXBlID09IE9CSl9UQUcpIHsKIAkJc3RydWN0IHRhZyAqdGFnID0gKHN0cnVjdCB0YWcgKikgb2JqOwogCiAJCWlmIChzaG93X3RhZ3MgJiYgdGFnLT50YWdnZWQpIHsKLQkJCXByaW50ZigidGFnZ2VkICVzICVzIiwgcHJpbnRhYmxlX3R5cGUodGFnLT50YWdnZWQpLAotCQkJCWRlc2NyaWJlX29iamVjdCh0YWctPnRhZ2dlZCkpOwotCQkJcHJpbnRmKCIgKCVzKSBpbiAlc1xuIiwgdGFnLT50YWcsCi0JCQkJZGVzY3JpYmVfb2JqZWN0KCZ0YWctPm9iamVjdCkpOworCQkJcHJpbnRmX2xuKF8oInRhZ2dlZCAlcyAlcyAoJXMpIGluICVzIiksCisJCQkJICBwcmludGFibGVfdHlwZSgmdGFnLT50YWdnZWQtPm9pZCwgdGFnLT50YWdnZWQtPnR5cGUpLAorCQkJCSAgZGVzY3JpYmVfb2JqZWN0KCZ0YWctPnRhZ2dlZC0+b2lkKSwKKwkJCQkgIHRhZy0+dGFnLAorCQkJCSAgZGVzY3JpYmVfb2JqZWN0KCZ0YWctPm9iamVjdC5vaWQpKTsKIAkJfQogCX0KIApAQCAtMzgxLDcgKzQ1NSw4IEBACiAJaWYgKG9iai0+dHlwZSA9PSBPQkpfVFJFRSkKIAkJZnJlZV90cmVlX2J1ZmZlcigoc3RydWN0IHRyZWUgKilvYmopOwogCWlmIChvYmotPnR5cGUgPT0gT0JKX0NPTU1JVCkKLQkJZnJlZV9jb21taXRfYnVmZmVyKChzdHJ1Y3QgY29tbWl0ICopb2JqKTsKKwkJZnJlZV9jb21taXRfYnVmZmVyKHRoZV9yZXBvc2l0b3J5LT5wYXJzZWRfb2JqZWN0cywKKwkJCQkgICAoc3RydWN0IGNvbW1pdCAqKW9iaik7CiAJcmV0dXJuIGVycjsKIH0KIApAQCAtMzk3LDcgKzQ3Miw4IEBACiAJCQkJICBlYXRlbik7CiAJaWYgKCFvYmopIHsKIAkJZXJyb3JzX2ZvdW5kIHw9IEVSUk9SX09CSkVDVDsKLQkJcmV0dXJuIGVycm9yKCIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZyIsIG9pZF90b19oZXgob2lkKSk7CisJCXJldHVybiBlcnJvcihfKCIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZyIpLAorCQkJICAgICBvaWRfdG9faGV4KG9pZCkpOwogCX0KIAlvYmotPmZsYWdzICY9IH4oUkVBQ0hBQkxFIHwgU0VFTik7CiAJb2JqLT5mbGFncyB8PSBIQVNfT0JKOwpAQCAtNDEyLDE2ICs0ODgsMTcgQEAKIAlzdHJ1Y3Qgb2JqZWN0ICpvYmo7CiAKIAlpZiAoIWlzX251bGxfb2lkKG9pZCkpIHsKLQkJb2JqID0gbG9va3VwX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgb2lkLT5oYXNoKTsKKwkJb2JqID0gbG9va3VwX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgb2lkKTsKIAkJaWYgKG9iaiAmJiAob2JqLT5mbGFncyAmIEhBU19PQkopKSB7Ci0JCQlpZiAodGltZXN0YW1wICYmIG5hbWVfb2JqZWN0cykKLQkJCQlhZGRfZGVjb3JhdGlvbihmc2NrX3dhbGtfb3B0aW9ucy5vYmplY3RfbmFtZXMsCi0JCQkJCW9iaiwKLQkJCQkJeHN0cmZtdCgiJXNAeyUiUFJJdGltZSJ9IiwgcmVmbmFtZSwgdGltZXN0YW1wKSk7CisJCQlpZiAodGltZXN0YW1wKQorCQkJCWZzY2tfcHV0X29iamVjdF9uYW1lKCZmc2NrX3dhbGtfb3B0aW9ucywgb2lkLAorCQkJCQkJICAgICAiJXNAeyUiUFJJdGltZSJ9IiwKKwkJCQkJCSAgICAgcmVmbmFtZSwgdGltZXN0YW1wKTsKIAkJCW9iai0+ZmxhZ3MgfD0gVVNFRDsKIAkJCW1hcmtfb2JqZWN0X3JlYWNoYWJsZShvYmopOwogCQl9IGVsc2UgaWYgKCFpc19wcm9taXNvcl9vYmplY3Qob2lkKSkgewotCQkJZXJyb3IoIiVzOiBpbnZhbGlkIHJlZmxvZyBlbnRyeSAlcyIsIHJlZm5hbWUsIG9pZF90b19oZXgob2lkKSk7CisJCQllcnJvcihfKCIlczogaW52YWxpZCByZWZsb2cgZW50cnkgJXMiKSwKKwkJCSAgICAgIHJlZm5hbWUsIG9pZF90b19oZXgob2lkKSk7CiAJCQllcnJvcnNfZm91bmQgfD0gRVJST1JfUkVBQ0hBQkxFOwogCQl9CiAJfQpAQCAtNDM0LDggKzUxMSw4IEBACiAJY29uc3QgY2hhciAqcmVmbmFtZSA9IGNiX2RhdGE7CiAKIAlpZiAodmVyYm9zZSkKLQkJZnByaW50ZihzdGRlcnIsICJDaGVja2luZyByZWZsb2cgJXMtPiVzXG4iLAotCQkJb2lkX3RvX2hleChvb2lkKSwgb2lkX3RvX2hleChub2lkKSk7CisJCWZwcmludGZfbG4oc3RkZXJyLCBfKCJDaGVja2luZyByZWZsb2cgJXMtPiVzIiksCisJCQkgICBvaWRfdG9faGV4KG9vaWQpLCBvaWRfdG9faGV4KG5vaWQpKTsKIAogCWZzY2tfaGFuZGxlX3JlZmxvZ19vaWQocmVmbmFtZSwgb29pZCwgMCk7CiAJZnNja19oYW5kbGVfcmVmbG9nX29pZChyZWZuYW1lLCBub2lkLCB0aW1lc3RhbXApOwpAQCAtNDY4LDIwICs1NDUsMjAgQEAKIAkJCSBkZWZhdWx0X3JlZnMrKzsKIAkJCSByZXR1cm4gMDsKIAkJfQotCQllcnJvcigiJXM6IGludmFsaWQgc2hhMSBwb2ludGVyICVzIiwgcmVmbmFtZSwgb2lkX3RvX2hleChvaWQpKTsKKwkJZXJyb3IoXygiJXM6IGludmFsaWQgc2hhMSBwb2ludGVyICVzIiksCisJCSAgICAgIHJlZm5hbWUsIG9pZF90b19oZXgob2lkKSk7CiAJCWVycm9yc19mb3VuZCB8PSBFUlJPUl9SRUFDSEFCTEU7CiAJCS8qIFdlJ2xsIGNvbnRpbnVlIHdpdGggdGhlIHJlc3QgZGVzcGl0ZSB0aGUgZXJyb3IuLiAqLwogCQlyZXR1cm4gMDsKIAl9CiAJaWYgKG9iai0+dHlwZSAhPSBPQkpfQ09NTUlUICYmIGlzX2JyYW5jaChyZWZuYW1lKSkgewotCQllcnJvcigiJXM6IG5vdCBhIGNvbW1pdCIsIHJlZm5hbWUpOworCQllcnJvcihfKCIlczogbm90IGEgY29tbWl0IiksIHJlZm5hbWUpOwogCQllcnJvcnNfZm91bmQgfD0gRVJST1JfUkVGUzsKIAl9CiAJZGVmYXVsdF9yZWZzKys7CiAJb2JqLT5mbGFncyB8PSBVU0VEOwotCWlmIChuYW1lX29iamVjdHMpCi0JCWFkZF9kZWNvcmF0aW9uKGZzY2tfd2Fsa19vcHRpb25zLm9iamVjdF9uYW1lcywKLQkJCW9iaiwgeHN0cmR1cChyZWZuYW1lKSk7CisJZnNja19wdXRfb2JqZWN0X25hbWUoJmZzY2tfd2Fsa19vcHRpb25zLAorCQkJICAgICBvaWQsICIlcyIsIHJlZm5hbWUpOwogCW1hcmtfb2JqZWN0X3JlYWNoYWJsZShvYmopOwogCiAJcmV0dXJuIDA7CkBAIC01MjksNyArNjA2LDcgQEAKIAkgKiAic2hvd191bnJlYWNoYWJsZSIgZmxhZy4KIAkgKi8KIAlpZiAoIWRlZmF1bHRfcmVmcykgewotCQlmcHJpbnRmKHN0ZGVyciwgIm5vdGljZTogTm8gZGVmYXVsdCByZWZlcmVuY2VzXG4iKTsKKwkJZnByaW50Zl9sbihzdGRlcnIsIF8oIm5vdGljZTogTm8gZGVmYXVsdCByZWZlcmVuY2VzIikpOwogCQlzaG93X3VucmVhY2hhYmxlID0gMDsKIAl9CiB9CkBAIC01NDQsNyArNjIxLDcgQEAKIAogCWlmIChyZWFkX2xvb3NlX29iamVjdChwYXRoLCBvaWQsICZ0eXBlLCAmc2l6ZSwgJmNvbnRlbnRzKSA8IDApIHsKIAkJZXJyb3JzX2ZvdW5kIHw9IEVSUk9SX09CSkVDVDsKLQkJZXJyb3IoIiVzOiBvYmplY3QgY29ycnVwdCBvciBtaXNzaW5nOiAlcyIsCisJCWVycm9yKF8oIiVzOiBvYmplY3QgY29ycnVwdCBvciBtaXNzaW5nOiAlcyIpLAogCQkgICAgICBvaWRfdG9faGV4KG9pZCksIHBhdGgpOwogCQlyZXR1cm4gMDsgLyoga2VlcCBjaGVja2luZyBvdGhlciBvYmplY3RzICovCiAJfQpAQCAtNTU3LDcgKzYzNCw3IEBACiAKIAlpZiAoIW9iaikgewogCQllcnJvcnNfZm91bmQgfD0gRVJST1JfT0JKRUNUOwotCQllcnJvcigiJXM6IG9iamVjdCBjb3VsZCBub3QgYmUgcGFyc2VkOiAlcyIsCisJCWVycm9yKF8oIiVzOiBvYmplY3QgY291bGQgbm90IGJlIHBhcnNlZDogJXMiKSwKIAkJICAgICAgb2lkX3RvX2hleChvaWQpLCBwYXRoKTsKIAkJaWYgKCFlYXRlbikKIAkJCWZyZWUoY29udGVudHMpOwpAQCAtNTc3LDcgKzY1NCw3IEBACiBzdGF0aWMgaW50IGZzY2tfY3J1ZnQoY29uc3QgY2hhciAqYmFzZW5hbWUsIGNvbnN0IGNoYXIgKnBhdGgsIHZvaWQgKmRhdGEpCiB7CiAJaWYgKCFzdGFydHNfd2l0aChiYXNlbmFtZSwgInRtcF9vYmpfIikpCi0JCWZwcmludGYoc3RkZXJyLCAiYmFkIHNoYTEgZmlsZTogJXNcbiIsIHBhdGgpOworCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygiYmFkIHNoYTEgZmlsZTogJXMiKSwgcGF0aCk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTU5Miw3ICs2NjksNyBAQAogCXN0cnVjdCBwcm9ncmVzcyAqcHJvZ3Jlc3MgPSBOVUxMOwogCiAJaWYgKHZlcmJvc2UpCi0JCWZwcmludGYoc3RkZXJyLCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yeVxuIik7CisJCWZwcmludGZfbG4oc3RkZXJyLCBfKCJDaGVja2luZyBvYmplY3QgZGlyZWN0b3J5IikpOwogCiAJaWYgKHNob3dfcHJvZ3Jlc3MpCiAJCXByb2dyZXNzID0gc3RhcnRfcHJvZ3Jlc3MoXygiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yaWVzIiksIDI1Nik7CkBAIC02MTAsMjkgKzY4NywzMCBAQAogCWludCBudWxsX2lzX2Vycm9yID0gMDsKIAogCWlmICh2ZXJib3NlKQotCQlmcHJpbnRmKHN0ZGVyciwgIkNoZWNraW5nICVzIGxpbmtcbiIsIGhlYWRfcmVmX25hbWUpOworCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygiQ2hlY2tpbmcgJXMgbGluayIpLCBoZWFkX3JlZl9uYW1lKTsKIAogCSpoZWFkX3BvaW50c19hdCA9IHJlc29sdmVfcmVmX3Vuc2FmZShoZWFkX3JlZl9uYW1lLCAwLCBoZWFkX29pZCwgTlVMTCk7CiAJaWYgKCEqaGVhZF9wb2ludHNfYXQpIHsKIAkJZXJyb3JzX2ZvdW5kIHw9IEVSUk9SX1JFRlM7Ci0JCXJldHVybiBlcnJvcigiSW52YWxpZCAlcyIsIGhlYWRfcmVmX25hbWUpOworCQlyZXR1cm4gZXJyb3IoXygiaW52YWxpZCAlcyIpLCBoZWFkX3JlZl9uYW1lKTsKIAl9CiAJaWYgKCFzdHJjbXAoKmhlYWRfcG9pbnRzX2F0LCBoZWFkX3JlZl9uYW1lKSkKIAkJLyogZGV0YWNoZWQgSEVBRCAqLwogCQludWxsX2lzX2Vycm9yID0gMTsKIAllbHNlIGlmICghc3RhcnRzX3dpdGgoKmhlYWRfcG9pbnRzX2F0LCAicmVmcy9oZWFkcy8iKSkgewogCQllcnJvcnNfZm91bmQgfD0gRVJST1JfUkVGUzsKLQkJcmV0dXJuIGVycm9yKCIlcyBwb2ludHMgdG8gc29tZXRoaW5nIHN0cmFuZ2UgKCVzKSIsCisJCXJldHVybiBlcnJvcihfKCIlcyBwb2ludHMgdG8gc29tZXRoaW5nIHN0cmFuZ2UgKCVzKSIpLAogCQkJICAgICBoZWFkX3JlZl9uYW1lLCAqaGVhZF9wb2ludHNfYXQpOwogCX0KIAlpZiAoaXNfbnVsbF9vaWQoaGVhZF9vaWQpKSB7CiAJCWlmIChudWxsX2lzX2Vycm9yKSB7CiAJCQllcnJvcnNfZm91bmQgfD0gRVJST1JfUkVGUzsKLQkJCXJldHVybiBlcnJvcigiJXM6IGRldGFjaGVkIEhFQUQgcG9pbnRzIGF0IG5vdGhpbmciLAorCQkJcmV0dXJuIGVycm9yKF8oIiVzOiBkZXRhY2hlZCBIRUFEIHBvaW50cyBhdCBub3RoaW5nIiksCiAJCQkJICAgICBoZWFkX3JlZl9uYW1lKTsKIAkJfQotCQlmcHJpbnRmKHN0ZGVyciwgIm5vdGljZTogJXMgcG9pbnRzIHRvIGFuIHVuYm9ybiBicmFuY2ggKCVzKVxuIiwKLQkJCWhlYWRfcmVmX25hbWUsICpoZWFkX3BvaW50c19hdCArIDExKTsKKwkJZnByaW50Zl9sbihzdGRlcnIsCisJCQkgICBfKCJub3RpY2U6ICVzIHBvaW50cyB0byBhbiB1bmJvcm4gYnJhbmNoICglcykiKSwKKwkJCSAgIGhlYWRfcmVmX25hbWUsICpoZWFkX3BvaW50c19hdCArIDExKTsKIAl9CiAJcmV0dXJuIDA7CiB9CkBAIC02NDMsMjMgKzcyMSwyMSBAQAogCWludCBlcnIgPSAwOwogCiAJaWYgKHZlcmJvc2UpCi0JCWZwcmludGYoc3RkZXJyLCAiQ2hlY2tpbmcgY2FjaGUgdHJlZVxuIik7CisJCWZwcmludGZfbG4oc3RkZXJyLCBfKCJDaGVja2luZyBjYWNoZSB0cmVlIikpOwogCiAJaWYgKDAgPD0gaXQtPmVudHJ5X2NvdW50KSB7CiAJCXN0cnVjdCBvYmplY3QgKm9iaiA9IHBhcnNlX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgJml0LT5vaWQpOwogCQlpZiAoIW9iaikgewotCQkJZXJyb3IoIiVzOiBpbnZhbGlkIHNoYTEgcG9pbnRlciBpbiBjYWNoZS10cmVlIiwKKwkJCWVycm9yKF8oIiVzOiBpbnZhbGlkIHNoYTEgcG9pbnRlciBpbiBjYWNoZS10cmVlIiksCiAJCQkgICAgICBvaWRfdG9faGV4KCZpdC0+b2lkKSk7CiAJCQllcnJvcnNfZm91bmQgfD0gRVJST1JfUkVGUzsKIAkJCXJldHVybiAxOwogCQl9CiAJCW9iai0+ZmxhZ3MgfD0gVVNFRDsKLQkJaWYgKG5hbWVfb2JqZWN0cykKLQkJCWFkZF9kZWNvcmF0aW9uKGZzY2tfd2Fsa19vcHRpb25zLm9iamVjdF9uYW1lcywKLQkJCQlvYmosIHhzdHJkdXAoIjoiKSk7CisJCWZzY2tfcHV0X29iamVjdF9uYW1lKCZmc2NrX3dhbGtfb3B0aW9ucywgJml0LT5vaWQsICI6Iik7CiAJCW1hcmtfb2JqZWN0X3JlYWNoYWJsZShvYmopOwogCQlpZiAob2JqLT50eXBlICE9IE9CSl9UUkVFKQotCQkJZXJyIHw9IG9iamVycm9yKG9iaiwgIm5vbi10cmVlIGluIGNhY2hlLXRyZWUiKTsKKwkJCWVyciB8PSBvYmplcnJvcihvYmosIF8oIm5vbi10cmVlIGluIGNhY2hlLXRyZWUiKSk7CiAJfQogCWZvciAoaSA9IDA7IGkgPCBpdC0+c3VidHJlZV9ucjsgaSsrKQogCQllcnIgfD0gZnNja19jYWNoZV90cmVlKGl0LT5kb3duW2ldLT5jYWNoZV90cmVlKTsKQEAgLTY2OCw3ICs3NDQsNyBAQAogCiBzdGF0aWMgdm9pZCBtYXJrX29iamVjdF9mb3JfY29ubmVjdGl2aXR5KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSBsb29rdXBfdW5rbm93bl9vYmplY3Qob2lkLT5oYXNoKTsKKwlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSBsb29rdXBfdW5rbm93bl9vYmplY3Qob2lkKTsKIAlvYmotPmZsYWdzIHw9IEhBU19PQko7CiB9CiAKQEAgLTcxNSw3ICs3OTEsNyBAQAogaW50IGNtZF9mc2NrKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCWludCBpOwotCXN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICphbHQ7CisJc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKm9kYjsKIAogCS8qIGZzY2sga25vd3MgaG93IHRvIGhhbmRsZSBtaXNzaW5nIHByb21pc29yIG9iamVjdHMgKi8KIAlmZXRjaF9pZl9taXNzaW5nID0gMDsKQEAgLTc0Miw4ICs4MTgsNyBAQAogCX0KIAogCWlmIChuYW1lX29iamVjdHMpCi0JCWZzY2tfd2Fsa19vcHRpb25zLm9iamVjdF9uYW1lcyA9Ci0JCQl4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgZGVjb3JhdGlvbikpOworCQlmc2NrX2VuYWJsZV9vYmplY3RfbmFtZXMoJmZzY2tfd2Fsa19vcHRpb25zKTsKIAogCWdpdF9jb25maWcoZnNja19jb25maWcsIE5VTEwpOwogCkBAIC03NTEsMTQgKzgyNiw5IEBACiAJCWZvcl9lYWNoX2xvb3NlX29iamVjdChtYXJrX2xvb3NlX2Zvcl9jb25uZWN0aXZpdHksIE5VTEwsIDApOwogCQlmb3JfZWFjaF9wYWNrZWRfb2JqZWN0KG1hcmtfcGFja2VkX2Zvcl9jb25uZWN0aXZpdHksIE5VTEwsIDApOwogCX0gZWxzZSB7Ci0JCXN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICphbHRfb2RiX2xpc3Q7Ci0KLQkJZnNja19vYmplY3RfZGlyKGdldF9vYmplY3RfZGlyZWN0b3J5KCkpOwotCiAJCXByZXBhcmVfYWx0X29kYih0aGVfcmVwb3NpdG9yeSk7Ci0JCWFsdF9vZGJfbGlzdCA9IHRoZV9yZXBvc2l0b3J5LT5vYmplY3RzLT5hbHRfb2RiX2xpc3Q7Ci0JCWZvciAoYWx0ID0gYWx0X29kYl9saXN0OyBhbHQ7IGFsdCA9IGFsdC0+bmV4dCkKLQkJCWZzY2tfb2JqZWN0X2RpcihhbHQtPnBhdGgpOworCQlmb3IgKG9kYiA9IHRoZV9yZXBvc2l0b3J5LT5vYmplY3RzLT5vZGI7IG9kYjsgb2RiID0gb2RiLT5uZXh0KQorCQkJZnNja19vYmplY3RfZGlyKG9kYi0+cGF0aCk7CiAKIAkJaWYgKGNoZWNrX2Z1bGwpIHsKIAkJCXN0cnVjdCBwYWNrZWRfZ2l0ICpwOwpAQCAtNzc4LDcgKzg0OCw4IEBACiAJCQlmb3IgKHAgPSBnZXRfYWxsX3BhY2tzKHRoZV9yZXBvc2l0b3J5KTsgcDsKIAkJCSAgICAgcCA9IHAtPm5leHQpIHsKIAkJCQkvKiB2ZXJpZnkgZ2l2ZXMgZXJyb3IgbWVzc2FnZXMgaXRzZWxmICovCi0JCQkJaWYgKHZlcmlmeV9wYWNrKHAsIGZzY2tfb2JqX2J1ZmZlciwKKwkJCQlpZiAodmVyaWZ5X3BhY2sodGhlX3JlcG9zaXRvcnksCisJCQkJCQlwLCBmc2NrX29ial9idWZmZXIsCiAJCQkJCQlwcm9ncmVzcywgY291bnQpKQogCQkJCQllcnJvcnNfZm91bmQgfD0gRVJST1JfUEFDSzsKIAkJCQljb3VudCArPSBwLT5udW1fb2JqZWN0czsKQEAgLTc5NSwyNCArODY2LDIzIEBACiAJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQlpZiAoIWdldF9vaWQoYXJnLCAmb2lkKSkgewogCQkJc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX29iamVjdCh0aGVfcmVwb3NpdG9yeSwKLQkJCQkJCQkgICBvaWQuaGFzaCk7CisJCQkJCQkJICAgJm9pZCk7CiAKIAkJCWlmICghb2JqIHx8ICEob2JqLT5mbGFncyAmIEhBU19PQkopKSB7CiAJCQkJaWYgKGlzX3Byb21pc29yX29iamVjdCgmb2lkKSkKIAkJCQkJY29udGludWU7Ci0JCQkJZXJyb3IoIiVzOiBvYmplY3QgbWlzc2luZyIsIG9pZF90b19oZXgoJm9pZCkpOworCQkJCWVycm9yKF8oIiVzOiBvYmplY3QgbWlzc2luZyIpLCBvaWRfdG9faGV4KCZvaWQpKTsKIAkJCQllcnJvcnNfZm91bmQgfD0gRVJST1JfT0JKRUNUOwogCQkJCWNvbnRpbnVlOwogCQkJfQogCiAJCQlvYmotPmZsYWdzIHw9IFVTRUQ7Ci0JCQlpZiAobmFtZV9vYmplY3RzKQotCQkJCWFkZF9kZWNvcmF0aW9uKGZzY2tfd2Fsa19vcHRpb25zLm9iamVjdF9uYW1lcywKLQkJCQkJb2JqLCB4c3RyZHVwKGFyZykpOworCQkJZnNja19wdXRfb2JqZWN0X25hbWUoJmZzY2tfd2Fsa19vcHRpb25zLCAmb2lkLAorCQkJCQkgICAgICIlcyIsIGFyZyk7CiAJCQltYXJrX29iamVjdF9yZWFjaGFibGUob2JqKTsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCWVycm9yKCJpbnZhbGlkIHBhcmFtZXRlcjogZXhwZWN0ZWQgc2hhMSwgZ290ICclcyciLCBhcmcpOworCQllcnJvcihfKCJpbnZhbGlkIHBhcmFtZXRlcjogZXhwZWN0ZWQgc2hhMSwgZ290ICclcyciKSwgYXJnKTsKIAkJZXJyb3JzX2ZvdW5kIHw9IEVSUk9SX09CSkVDVDsKIAl9CiAKQEAgLTg0NCwxMCArOTE0LDggQEAKIAkJCQljb250aW51ZTsKIAkJCW9iaiA9ICZibG9iLT5vYmplY3Q7CiAJCQlvYmotPmZsYWdzIHw9IFVTRUQ7Ci0JCQlpZiAobmFtZV9vYmplY3RzKQotCQkJCWFkZF9kZWNvcmF0aW9uKGZzY2tfd2Fsa19vcHRpb25zLm9iamVjdF9uYW1lcywKLQkJCQkJb2JqLAotCQkJCQl4c3RyZm10KCI6JXMiLCBhY3RpdmVfY2FjaGVbaV0tPm5hbWUpKTsKKwkJCWZzY2tfcHV0X29iamVjdF9uYW1lKCZmc2NrX3dhbGtfb3B0aW9ucywgJm9iai0+b2lkLAorCQkJCQkgICAgICI6JXMiLCBhY3RpdmVfY2FjaGVbaV0tPm5hbWUpOwogCQkJbWFya19vYmplY3RfcmVhY2hhYmxlKG9iaik7CiAJCX0KIAkJaWYgKGFjdGl2ZV9jYWNoZV90cmVlKQpAQCAtODYwLDE1ICs5MjgsMTMgQEAKIAkJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY29tbWl0X2dyYXBoX3ZlcmlmeSA9IENISUxEX1BST0NFU1NfSU5JVDsKIAkJY29uc3QgY2hhciAqdmVyaWZ5X2FyZ3ZbXSA9IHsgImNvbW1pdC1ncmFwaCIsICJ2ZXJpZnkiLCBOVUxMLCBOVUxMLCBOVUxMIH07CiAKLQkJY29tbWl0X2dyYXBoX3ZlcmlmeS5hcmd2ID0gdmVyaWZ5X2FyZ3Y7Ci0JCWNvbW1pdF9ncmFwaF92ZXJpZnkuZ2l0X2NtZCA9IDE7Ci0JCWlmIChydW5fY29tbWFuZCgmY29tbWl0X2dyYXBoX3ZlcmlmeSkpCi0JCQllcnJvcnNfZm91bmQgfD0gRVJST1JfQ09NTUlUX0dSQVBIOwotCiAJCXByZXBhcmVfYWx0X29kYih0aGVfcmVwb3NpdG9yeSk7Ci0JCWZvciAoYWx0ID0gIHRoZV9yZXBvc2l0b3J5LT5vYmplY3RzLT5hbHRfb2RiX2xpc3Q7IGFsdDsgYWx0ID0gYWx0LT5uZXh0KSB7CisJCWZvciAob2RiID0gdGhlX3JlcG9zaXRvcnktPm9iamVjdHMtPm9kYjsgb2RiOyBvZGIgPSBvZGItPm5leHQpIHsKKwkJCWNoaWxkX3Byb2Nlc3NfaW5pdCgmY29tbWl0X2dyYXBoX3ZlcmlmeSk7CisJCQljb21taXRfZ3JhcGhfdmVyaWZ5LmFyZ3YgPSB2ZXJpZnlfYXJndjsKKwkJCWNvbW1pdF9ncmFwaF92ZXJpZnkuZ2l0X2NtZCA9IDE7CiAJCQl2ZXJpZnlfYXJndlsyXSA9ICItLW9iamVjdC1kaXIiOwotCQkJdmVyaWZ5X2FyZ3ZbM10gPSBhbHQtPnBhdGg7CisJCQl2ZXJpZnlfYXJndlszXSA9IG9kYi0+cGF0aDsKIAkJCWlmIChydW5fY29tbWFuZCgmY29tbWl0X2dyYXBoX3ZlcmlmeSkpCiAJCQkJZXJyb3JzX2ZvdW5kIHw9IEVSUk9SX0NPTU1JVF9HUkFQSDsKIAkJfQpAQCAtODc4LDE1ICs5NDQsMTMgQEAKIAkJc3RydWN0IGNoaWxkX3Byb2Nlc3MgbWlkeF92ZXJpZnkgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CiAJCWNvbnN0IGNoYXIgKm1pZHhfYXJndltdID0geyAibXVsdGktcGFjay1pbmRleCIsICJ2ZXJpZnkiLCBOVUxMLCBOVUxMLCBOVUxMIH07CiAKLQkJbWlkeF92ZXJpZnkuYXJndiA9IG1pZHhfYXJndjsKLQkJbWlkeF92ZXJpZnkuZ2l0X2NtZCA9IDE7Ci0JCWlmIChydW5fY29tbWFuZCgmbWlkeF92ZXJpZnkpKQotCQkJZXJyb3JzX2ZvdW5kIHw9IEVSUk9SX0NPTU1JVF9HUkFQSDsKLQogCQlwcmVwYXJlX2FsdF9vZGIodGhlX3JlcG9zaXRvcnkpOwotCQlmb3IgKGFsdCA9ICB0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cy0+YWx0X29kYl9saXN0OyBhbHQ7IGFsdCA9IGFsdC0+bmV4dCkgeworCQlmb3IgKG9kYiA9IHRoZV9yZXBvc2l0b3J5LT5vYmplY3RzLT5vZGI7IG9kYjsgb2RiID0gb2RiLT5uZXh0KSB7CisJCQljaGlsZF9wcm9jZXNzX2luaXQoJm1pZHhfdmVyaWZ5KTsKKwkJCW1pZHhfdmVyaWZ5LmFyZ3YgPSBtaWR4X2FyZ3Y7CisJCQltaWR4X3ZlcmlmeS5naXRfY21kID0gMTsKIAkJCW1pZHhfYXJndlsyXSA9ICItLW9iamVjdC1kaXIiOwotCQkJbWlkeF9hcmd2WzNdID0gYWx0LT5wYXRoOworCQkJbWlkeF9hcmd2WzNdID0gb2RiLT5wYXRoOwogCQkJaWYgKHJ1bl9jb21tYW5kKCZtaWR4X3ZlcmlmeSkpCiAJCQkJZXJyb3JzX2ZvdW5kIHw9IEVSUk9SX0NPTU1JVF9HUkFQSDsKIAkJfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9nYy5jIGIvYnVpbHRpbi9nYy5jCmluZGV4IDg3MWE1NmYuLjhlMGI5Y2YgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vZ2MuYworKysgYi9idWlsdGluL2djLmMKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJwYWNrLW9iamVjdHMuaCIKICNpbmNsdWRlICJibG9iLmgiCiAjaW5jbHVkZSAidHJlZS5oIgorI2luY2x1ZGUgInByb21pc29yLXJlbW90ZS5oIgogCiAjZGVmaW5lIEZBSUxFRF9SVU4gImZhaWxlZCB0byBydW4gJXMiCiAKQEAgLTQxLDcgKzQyLDYgQEAKIHN0YXRpYyBpbnQgYWdncmVzc2l2ZV93aW5kb3cgPSAyNTA7CiBzdGF0aWMgaW50IGdjX2F1dG9fdGhyZXNob2xkID0gNjcwMDsKIHN0YXRpYyBpbnQgZ2NfYXV0b19wYWNrX2xpbWl0ID0gNTA7Ci1zdGF0aWMgaW50IGdjX3dyaXRlX2NvbW1pdF9ncmFwaDsKIHN0YXRpYyBpbnQgZGV0YWNoX2F1dG8gPSAxOwogc3RhdGljIHRpbWVzdGFtcF90IGdjX2xvZ19leHBpcmVfdGltZTsKIHN0YXRpYyBjb25zdCBjaGFyICpnY19sb2dfZXhwaXJlID0gIjEuZGF5LmFnbyI7CkBAIC0xMTYsNiArMTE2LDE5IEBACiAJcmFpc2Uoc2lnbm8pOwogfQogCitzdGF0aWMgaW50IGdjX2NvbmZpZ19pc190aW1lc3RhbXBfbmV2ZXIoY29uc3QgY2hhciAqdmFyKQoreworCWNvbnN0IGNoYXIgKnZhbHVlOworCXRpbWVzdGFtcF90IGV4cGlyZTsKKworCWlmICghZ2l0X2NvbmZpZ19nZXRfdmFsdWUodmFyLCAmdmFsdWUpICYmIHZhbHVlKSB7CisJCWlmIChwYXJzZV9leHBpcnlfZGF0ZSh2YWx1ZSwgJmV4cGlyZSkpCisJCQlkaWUoXygiZmFpbGVkIHRvIHBhcnNlICclcycgdmFsdWUgJyVzJyIpLCB2YXIsIHZhbHVlKTsKKwkJcmV0dXJuIGV4cGlyZSA9PSAwOworCX0KKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIHZvaWQgZ2NfY29uZmlnKHZvaWQpCiB7CiAJY29uc3QgY2hhciAqdmFsdWU7CkBAIC0xMjcsMTEgKzE0MCwxNCBAQAogCQkJcGFja19yZWZzID0gZ2l0X2NvbmZpZ19ib29sKCJnYy5wYWNrcmVmcyIsIHZhbHVlKTsKIAl9CiAKKwlpZiAoZ2NfY29uZmlnX2lzX3RpbWVzdGFtcF9uZXZlcigiZ2MucmVmbG9nZXhwaXJlIikgJiYKKwkgICAgZ2NfY29uZmlnX2lzX3RpbWVzdGFtcF9uZXZlcigiZ2MucmVmbG9nZXhwaXJldW5yZWFjaGFibGUiKSkKKwkJcHJ1bmVfcmVmbG9ncyA9IDA7CisKIAlnaXRfY29uZmlnX2dldF9pbnQoImdjLmFnZ3Jlc3NpdmV3aW5kb3ciLCAmYWdncmVzc2l2ZV93aW5kb3cpOwogCWdpdF9jb25maWdfZ2V0X2ludCgiZ2MuYWdncmVzc2l2ZWRlcHRoIiwgJmFnZ3Jlc3NpdmVfZGVwdGgpOwogCWdpdF9jb25maWdfZ2V0X2ludCgiZ2MuYXV0byIsICZnY19hdXRvX3RocmVzaG9sZCk7CiAJZ2l0X2NvbmZpZ19nZXRfaW50KCJnYy5hdXRvcGFja2xpbWl0IiwgJmdjX2F1dG9fcGFja19saW1pdCk7Ci0JZ2l0X2NvbmZpZ19nZXRfYm9vbCgiZ2Mud3JpdGVjb21taXRncmFwaCIsICZnY193cml0ZV9jb21taXRfZ3JhcGgpOwogCWdpdF9jb25maWdfZ2V0X2Jvb2woImdjLmF1dG9kZXRhY2giLCAmZGV0YWNoX2F1dG8pOwogCWdpdF9jb25maWdfZ2V0X2V4cGlyeSgiZ2MucHJ1bmVleHBpcmUiLCAmcHJ1bmVfZXhwaXJlKTsKIAlnaXRfY29uZmlnX2dldF9leHBpcnkoImdjLndvcmt0cmVlcHJ1bmVleHBpcmUiLCAmcHJ1bmVfd29ya3RyZWVzX2V4cGlyZSk7CkBAIC0xNTYsOSArMTcyLDcgQEAKIAlpbnQgYXV0b190aHJlc2hvbGQ7CiAJaW50IG51bV9sb29zZSA9IDA7CiAJaW50IG5lZWRlZCA9IDA7Ci0KLQlpZiAoZ2NfYXV0b190aHJlc2hvbGQgPD0gMCkKLQkJcmV0dXJuIDA7CisJY29uc3QgdW5zaWduZWQgaGV4c3pfbG9vc2UgPSB0aGVfaGFzaF9hbGdvLT5oZXhzeiAtIDI7CiAKIAlkaXIgPSBvcGVuZGlyKGdpdF9wYXRoKCJvYmplY3RzLzE3IikpOwogCWlmICghZGlyKQpAQCAtMTY2LDggKzE4MCw4IEBACiAKIAlhdXRvX3RocmVzaG9sZCA9IERJVl9ST1VORF9VUChnY19hdXRvX3RocmVzaG9sZCwgMjU2KTsKIAl3aGlsZSAoKGVudCA9IHJlYWRkaXIoZGlyKSkgIT0gTlVMTCkgewotCQlpZiAoc3Ryc3BuKGVudC0+ZF9uYW1lLCAiMDEyMzQ1Njc4OWFiY2RlZiIpICE9IDM4IHx8Ci0JCSAgICBlbnQtPmRfbmFtZVszOF0gIT0gJ1wwJykKKwkJaWYgKHN0cnNwbihlbnQtPmRfbmFtZSwgIjAxMjM0NTY3ODlhYmNkZWYiKSAhPSBoZXhzel9sb29zZSB8fAorCQkgICAgZW50LT5kX25hbWVbaGV4c3pfbG9vc2VdICE9ICdcMCcpCiAJCQljb250aW51ZTsKIAkJaWYgKCsrbnVtX2xvb3NlID4gYXV0b190aHJlc2hvbGQpIHsKIAkJCW5lZWRlZCA9IDE7CkBAIC0zMTcsNyArMzMxLDcgQEAKIAogc3RhdGljIHZvaWQgYWRkX3JlcGFja19pbmNyZW1lbnRhbF9vcHRpb24odm9pZCkKIHsKLSAgICAgICBhcmd2X2FycmF5X3B1c2goJnJlcGFjaywgIi0tbm8td3JpdGUtYml0bWFwLWluZGV4Iik7CisJYXJndl9hcnJheV9wdXNoKCZyZXBhY2ssICItLW5vLXdyaXRlLWJpdG1hcC1pbmRleCIpOwogfQogCiBzdGF0aWMgaW50IG5lZWRfdG9fZ2Modm9pZCkKQEAgLTQ0NCw3ICs0NTgsNyBAQAogLyoKICAqIFJldHVybnMgMCBpZiB0aGVyZSB3YXMgbm8gcHJldmlvdXMgZXJyb3IgYW5kIGdjIGNhbiBwcm9jZWVkLCAxIGlmCiAgKiBnYyBzaG91bGQgbm90IHByb2NlZWQgZHVlIHRvIGFuIGVycm9yIGluIHRoZSBsYXN0IHJ1bi4gUHJpbnRzIGEKLSAqIG1lc3NhZ2UgYW5kIHJldHVybnMgLTEgaWYgYW4gZXJyb3Igb2NjdXJlZCB3aGlsZSByZWFkaW5nIGdjLmxvZworICogbWVzc2FnZSBhbmQgcmV0dXJucyAtMSBpZiBhbiBlcnJvciBvY2N1cnJlZCB3aGlsZSByZWFkaW5nIGdjLmxvZwogICovCiBzdGF0aWMgaW50IHJlcG9ydF9sYXN0X2djX2Vycm9yKHZvaWQpCiB7CkBAIC00OTEsMTQgKzUwNSwyMCBAQAogCiBzdGF0aWMgdm9pZCBnY19iZWZvcmVfcmVwYWNrKHZvaWQpCiB7CisJLyoKKwkgKiBXZSBtYXkgYmUgY2FsbGVkIHR3aWNlLCBhcyBib3RoIHRoZSBwcmUtIGFuZAorCSAqIHBvc3QtZGFlbW9uaXplZCBwaGFzZXMgd2lsbCBjYWxsIHVzLCBidXQgcnVubmluZyB0aGVzZQorCSAqIGNvbW1hbmRzIG1vcmUgdGhhbiBvbmNlIGlzIHBvaW50bGVzcyBhbmQgd2FzdGVmdWwuCisJICovCisJc3RhdGljIGludCBkb25lID0gMDsKKwlpZiAoZG9uZSsrKQorCQlyZXR1cm47CisKIAlpZiAocGFja19yZWZzICYmIHJ1bl9jb21tYW5kX3Zfb3B0KHBhY2tfcmVmc19jbWQuYXJndiwgUlVOX0dJVF9DTUQpKQogCQlkaWUoRkFJTEVEX1JVTiwgcGFja19yZWZzX2NtZC5hcmd2WzBdKTsKIAogCWlmIChwcnVuZV9yZWZsb2dzICYmIHJ1bl9jb21tYW5kX3Zfb3B0KHJlZmxvZy5hcmd2LCBSVU5fR0lUX0NNRCkpCiAJCWRpZShGQUlMRURfUlVOLCByZWZsb2cuYXJndlswXSk7Ci0KLQlwYWNrX3JlZnMgPSAwOwotCXBydW5lX3JlZmxvZ3MgPSAwOwogfQogCiBpbnQgY21kX2djKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQpAQCAtNTgxLDcgKzYwMSw3IEBACiAJCWlmIChkZXRhY2hfYXV0bykgewogCQkJaW50IHJldCA9IHJlcG9ydF9sYXN0X2djX2Vycm9yKCk7CiAJCQlpZiAocmV0IDwgMCkKLQkJCQkvKiBhbiBJL08gZXJyb3Igb2NjdXJlZCwgYWxyZWFkeSByZXBvcnRlZCAqLworCQkJCS8qIGFuIEkvTyBlcnJvciBvY2N1cnJlZCwgYWxyZWFkeSByZXBvcnRlZCAqLwogCQkJCWV4aXQoMTI4KTsKIAkJCWlmIChyZXQgPT0gMSkKIAkJCQkvKiBMYXN0IGdjIC0tYXV0byBmYWlsZWQuIFNraXAgdGhpcyBvbmUuICovCkBAIC02MzIsNyArNjUyLDcgQEAKIAlnY19iZWZvcmVfcmVwYWNrKCk7CiAKIAlpZiAoIXJlcG9zaXRvcnlfZm9ybWF0X3ByZWNpb3VzX29iamVjdHMpIHsKLQkJY2xvc2VfYWxsX3BhY2tzKHRoZV9yZXBvc2l0b3J5LT5vYmplY3RzKTsKKwkJY2xvc2Vfb2JqZWN0X3N0b3JlKHRoZV9yZXBvc2l0b3J5LT5vYmplY3RzKTsKIAkJaWYgKHJ1bl9jb21tYW5kX3Zfb3B0KHJlcGFjay5hcmd2LCBSVU5fR0lUX0NNRCkpCiAJCQlkaWUoRkFJTEVEX1JVTiwgcmVwYWNrLmFyZ3ZbMF0pOwogCkBAIC02NDAsNyArNjYwLDcgQEAKIAkJCWFyZ3ZfYXJyYXlfcHVzaCgmcHJ1bmUsIHBydW5lX2V4cGlyZSk7CiAJCQlpZiAocXVpZXQpCiAJCQkJYXJndl9hcnJheV9wdXNoKCZwcnVuZSwgIi0tbm8tcHJvZ3Jlc3MiKTsKLQkJCWlmIChyZXBvc2l0b3J5X2Zvcm1hdF9wYXJ0aWFsX2Nsb25lKQorCQkJaWYgKGhhc19wcm9taXNvcl9yZW1vdGUoKSkKIAkJCQlhcmd2X2FycmF5X3B1c2goJnBydW5lLAogCQkJCQkJIi0tZXhjbHVkZS1wcm9taXNvci1vYmplY3RzIik7CiAJCQlpZiAocnVuX2NvbW1hbmRfdl9vcHQocHJ1bmUuYXJndiwgUlVOX0dJVF9DTUQpKQpAQCAtNjU5LDEyICs2NzksMTYgQEAKIAogCXJlcG9ydF9nYXJiYWdlID0gcmVwb3J0X3BhY2tfZ2FyYmFnZTsKIAlyZXByZXBhcmVfcGFja2VkX2dpdCh0aGVfcmVwb3NpdG9yeSk7Ci0JaWYgKHBhY2tfZ2FyYmFnZS5uciA+IDApCisJaWYgKHBhY2tfZ2FyYmFnZS5uciA+IDApIHsKKwkJY2xvc2Vfb2JqZWN0X3N0b3JlKHRoZV9yZXBvc2l0b3J5LT5vYmplY3RzKTsKIAkJY2xlYW5fcGFja19nYXJiYWdlKCk7CisJfQogCi0JaWYgKGdjX3dyaXRlX2NvbW1pdF9ncmFwaCkKLQkJd3JpdGVfY29tbWl0X2dyYXBoX3JlYWNoYWJsZShnZXRfb2JqZWN0X2RpcmVjdG9yeSgpLCAwLAotCQkJCQkgICAgICFxdWlldCAmJiAhZGFlbW9uaXplZCk7CisJcHJlcGFyZV9yZXBvX3NldHRpbmdzKHRoZV9yZXBvc2l0b3J5KTsKKwlpZiAodGhlX3JlcG9zaXRvcnktPnNldHRpbmdzLmdjX3dyaXRlX2NvbW1pdF9ncmFwaCA9PSAxKQorCQl3cml0ZV9jb21taXRfZ3JhcGhfcmVhY2hhYmxlKHRoZV9yZXBvc2l0b3J5LT5vYmplY3RzLT5vZGIsCisJCQkJCSAgICAgIXF1aWV0ICYmICFkYWVtb25pemVkID8gQ09NTUlUX0dSQVBIX1dSSVRFX1BST0dSRVNTIDogMCwKKwkJCQkJICAgICBOVUxMKTsKIAogCWlmIChhdXRvX2djICYmIHRvb19tYW55X2xvb3NlX29iamVjdHMoKSkKIAkJd2FybmluZyhfKCJUaGVyZSBhcmUgdG9vIG1hbnkgdW5yZWFjaGFibGUgbG9vc2Ugb2JqZWN0czsgIgpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9nZXQtdGFyLWNvbW1pdC1pZC5jIGIvYnVpbHRpbi9nZXQtdGFyLWNvbW1pdC1pZC5jCmluZGV4IDI3MDZmY2YuLjQ5MWFmOTIgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vZ2V0LXRhci1jb21taXQtaWQuYworKysgYi9idWlsdGluL2dldC10YXItY29tbWl0LWlkLmMKQEAgLTIxLDYgKzIxLDggQEAKIAljaGFyICpjb250ZW50ID0gYnVmZmVyICsgUkVDT1JEU0laRTsKIAljb25zdCBjaGFyICpjb21tZW50OwogCXNzaXplX3QgbjsKKwlsb25nIGxlbjsKKwljaGFyICplbmQ7CiAKIAlpZiAoYXJnYyAhPSAxKQogCQl1c2FnZShidWlsdGluX2dldF90YXJfY29tbWl0X2lkX3VzYWdlKTsKQEAgLTMyLDEwICszNCwxOCBAQAogCQlkaWVfZXJybm8oImdpdCBnZXQtdGFyLWNvbW1pdC1pZDogRU9GIGJlZm9yZSByZWFkaW5nIHRhciBoZWFkZXIiKTsKIAlpZiAoaGVhZGVyLT50eXBlZmxhZ1swXSAhPSAnZycpCiAJCXJldHVybiAxOwotCWlmICghc2tpcF9wcmVmaXgoY29udGVudCwgIjUyIGNvbW1lbnQ9IiwgJmNvbW1lbnQpKQorCisJbGVuID0gc3RydG9sKGNvbnRlbnQsICZlbmQsIDEwKTsKKwlpZiAoZXJybm8gPT0gRVJBTkdFIHx8IGVuZCA9PSBjb250ZW50IHx8IGxlbiA8IDApCisJCXJldHVybiAxOworCWlmICghc2tpcF9wcmVmaXgoZW5kLCAiIGNvbW1lbnQ9IiwgJmNvbW1lbnQpKQorCQlyZXR1cm4gMTsKKwlsZW4gLT0gY29tbWVudCAtIGNvbnRlbnQ7CisJaWYgKGxlbiA8IDEgfHwgIShsZW4gJSAyKSB8fAorCSAgICBoYXNoX2FsZ29fYnlfbGVuZ3RoKChsZW4gLSAxKSAvIDIpID09IEdJVF9IQVNIX1VOS05PV04pCiAJCXJldHVybiAxOwogCi0JaWYgKHdyaXRlX2luX2Z1bGwoMSwgY29tbWVudCwgNDEpIDwgMCkKKwlpZiAod3JpdGVfaW5fZnVsbCgxLCBjb21tZW50LCBsZW4pIDwgMCkKIAkJZGllX2Vycm5vKCJnaXQgZ2V0LXRhci1jb21taXQtaWQ6IHdyaXRlIGVycm9yIik7CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vZ3JlcC5jIGIvYnVpbHRpbi9ncmVwLmMKaW5kZXggNzFkZjUyYS4uOTllMjY4NSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9ncmVwLmMKKysrIGIvYnVpbHRpbi9ncmVwLmMKQEAgLTMsNiArMyw3IEBACiAgKgogICogQ29weXJpZ2h0IChjKSAyMDA2IEp1bmlvIEMgSGFtYW5vCiAgKi8KKyNkZWZpbmUgVVNFX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAicmVwb3NpdG9yeS5oIgogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtMjMsNiArMjQsNyBAQAogI2luY2x1ZGUgInN1Ym1vZHVsZS5oIgogI2luY2x1ZGUgInN1Ym1vZHVsZS1jb25maWcuaCIKICNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKKyNpbmNsdWRlICJwYWNrZmlsZS5oIgogCiBzdGF0aWMgY2hhciBjb25zdCAqIGNvbnN0IGdyZXBfdXNhZ2VbXSA9IHsKIAlOXygiZ2l0IGdyZXAgWzxvcHRpb25zPl0gWy1lXSA8cGF0dGVybj4gWzxyZXY+Li4uXSBbWy0tXSA8cGF0aD4uLi5dIiksCkBAIC0zMSw3ICszMyw2IEBACiAKIHN0YXRpYyBpbnQgcmVjdXJzZV9zdWJtb2R1bGVzOwogCi0jZGVmaW5lIEdSRVBfTlVNX1RIUkVBRFNfREVGQVVMVCA4CiBzdGF0aWMgaW50IG51bV90aHJlYWRzOwogCiBzdGF0aWMgcHRocmVhZF90ICp0aHJlYWRzOwpAQCAtOTAsOCArOTEsMTEgQEAKIAogc3RhdGljIGludCBza2lwX2ZpcnN0X2xpbmU7CiAKLXN0YXRpYyB2b2lkIGFkZF93b3JrKHN0cnVjdCBncmVwX29wdCAqb3B0LCBjb25zdCBzdHJ1Y3QgZ3JlcF9zb3VyY2UgKmdzKQorc3RhdGljIHZvaWQgYWRkX3dvcmsoc3RydWN0IGdyZXBfb3B0ICpvcHQsIHN0cnVjdCBncmVwX3NvdXJjZSAqZ3MpCiB7CisJaWYgKG9wdC0+YmluYXJ5ICE9IEdSRVBfQklOQVJZX1RFWFQpCisJCWdyZXBfc291cmNlX2xvYWRfZHJpdmVyKGdzLCBvcHQtPnJlcG8tPmluZGV4KTsKKwogCWdyZXBfbG9jaygpOwogCiAJd2hpbGUgKCh0b2RvX2VuZCsxKSAlIEFSUkFZX1NJWkUodG9kbykgPT0gdG9kb19kb25lKSB7CkBAIC05OSw5ICsxMDMsNiBAQAogCX0KIAogCXRvZG9bdG9kb19lbmRdLnNvdXJjZSA9ICpnczsKLQlpZiAob3B0LT5iaW5hcnkgIT0gR1JFUF9CSU5BUllfVEVYVCkKLQkJZ3JlcF9zb3VyY2VfbG9hZF9kcml2ZXIoJnRvZG9bdG9kb19lbmRdLnNvdXJjZSwKLQkJCQkJb3B0LT5yZXBvLT5pbmRleCk7CiAJdG9kb1t0b2RvX2VuZF0uZG9uZSA9IDA7CiAJc3RyYnVmX3Jlc2V0KCZ0b2RvW3RvZG9fZW5kXS5vdXQpOwogCXRvZG9fZW5kID0gKHRvZG9fZW5kICsgMSkgJSBBUlJBWV9TSVpFKHRvZG8pOwpAQCAtMTk5LDEyICsyMDAsMTIgQEAKIAlpbnQgaTsKIAogCXB0aHJlYWRfbXV0ZXhfaW5pdCgmZ3JlcF9tdXRleCwgTlVMTCk7Ci0JcHRocmVhZF9tdXRleF9pbml0KCZncmVwX3JlYWRfbXV0ZXgsIE5VTEwpOwogCXB0aHJlYWRfbXV0ZXhfaW5pdCgmZ3JlcF9hdHRyX211dGV4LCBOVUxMKTsKIAlwdGhyZWFkX2NvbmRfaW5pdCgmY29uZF9hZGQsIE5VTEwpOwogCXB0aHJlYWRfY29uZF9pbml0KCZjb25kX3dyaXRlLCBOVUxMKTsKIAlwdGhyZWFkX2NvbmRfaW5pdCgmY29uZF9yZXN1bHQsIE5VTEwpOwogCWdyZXBfdXNlX2xvY2tzID0gMTsKKwllbmFibGVfb2JqX3JlYWRfbG9jaygpOwogCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodG9kbyk7IGkrKykgewogCQlzdHJidWZfaW5pdCgmdG9kb1tpXS5vdXQsIDApOwpAQCAtMjU2LDEyICsyNTcsMTIgQEAKIAlmcmVlKHRocmVhZHMpOwogCiAJcHRocmVhZF9tdXRleF9kZXN0cm95KCZncmVwX211dGV4KTsKLQlwdGhyZWFkX211dGV4X2Rlc3Ryb3koJmdyZXBfcmVhZF9tdXRleCk7CiAJcHRocmVhZF9tdXRleF9kZXN0cm95KCZncmVwX2F0dHJfbXV0ZXgpOwogCXB0aHJlYWRfY29uZF9kZXN0cm95KCZjb25kX2FkZCk7CiAJcHRocmVhZF9jb25kX2Rlc3Ryb3koJmNvbmRfd3JpdGUpOwogCXB0aHJlYWRfY29uZF9kZXN0cm95KCZjb25kX3Jlc3VsdCk7CiAJZ3JlcF91c2VfbG9ja3MgPSAwOworCWRpc2FibGVfb2JqX3JlYWRfbG9jaygpOwogCiAJcmV0dXJuIGhpdDsKIH0KQEAgLTI5NCwxNiArMjk1LDYgQEAKIAlyZXR1cm4gc3Q7CiB9CiAKLXN0YXRpYyB2b2lkICpsb2NrX2FuZF9yZWFkX29pZF9maWxlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgZW51bSBvYmplY3RfdHlwZSAqdHlwZSwgdW5zaWduZWQgbG9uZyAqc2l6ZSkKLXsKLQl2b2lkICpkYXRhOwotCi0JZ3JlcF9yZWFkX2xvY2soKTsKLQlkYXRhID0gcmVhZF9vYmplY3RfZmlsZShvaWQsIHR5cGUsIHNpemUpOwotCWdyZXBfcmVhZF91bmxvY2soKTsKLQlyZXR1cm4gZGF0YTsKLX0KLQogc3RhdGljIGludCBncmVwX29pZChzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAogCQkgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgdHJlZV9uYW1lX2xlbiwKIAkJICAgICBjb25zdCBjaGFyICpwYXRoKQpAQCAtMzkzLDM5ICszODQsNDEgQEAKIAkJZXhpdChzdGF0dXMpOwogfQogCi1zdGF0aWMgaW50IGdyZXBfY2FjaGUoc3RydWN0IGdyZXBfb3B0ICpvcHQsIHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorc3RhdGljIGludCBncmVwX2NhY2hlKHN0cnVjdCBncmVwX29wdCAqb3B0LAogCQkgICAgICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLCBpbnQgY2FjaGVkKTsKIHN0YXRpYyBpbnQgZ3JlcF90cmVlKHN0cnVjdCBncmVwX29wdCAqb3B0LCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAogCQkgICAgIHN0cnVjdCB0cmVlX2Rlc2MgKnRyZWUsIHN0cnVjdCBzdHJidWYgKmJhc2UsIGludCB0bl9sZW4sCi0JCSAgICAgaW50IGNoZWNrX2F0dHIsIHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvKTsKKwkJICAgICBpbnQgY2hlY2tfYXR0cik7CiAKLXN0YXRpYyBpbnQgZ3JlcF9zdWJtb2R1bGUoc3RydWN0IGdyZXBfb3B0ICpvcHQsIHN0cnVjdCByZXBvc2l0b3J5ICpzdXBlcnByb2plY3QsCitzdGF0aWMgaW50IGdyZXBfc3VibW9kdWxlKHN0cnVjdCBncmVwX29wdCAqb3B0LAogCQkJICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAogCQkJICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCi0JCQkgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCBjaGFyICpwYXRoKQorCQkJICBjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqcGF0aCwgaW50IGNhY2hlZCkKIHsKLQlzdHJ1Y3QgcmVwb3NpdG9yeSBzdWJtb2R1bGU7CisJc3RydWN0IHJlcG9zaXRvcnkgc3VicmVwbzsKKwlzdHJ1Y3QgcmVwb3NpdG9yeSAqc3VwZXJwcm9qZWN0ID0gb3B0LT5yZXBvOworCWNvbnN0IHN0cnVjdCBzdWJtb2R1bGUgKnN1YjsKKwlzdHJ1Y3QgZ3JlcF9vcHQgc3Vib3B0OwogCWludCBoaXQ7CiAKKwlzdWIgPSBzdWJtb2R1bGVfZnJvbV9wYXRoKHN1cGVycHJvamVjdCwgJm51bGxfb2lkLCBwYXRoKTsKKworCWlmICghaXNfc3VibW9kdWxlX2FjdGl2ZShzdXBlcnByb2plY3QsIHBhdGgpKQorCQlyZXR1cm4gMDsKKworCWlmIChyZXBvX3N1Ym1vZHVsZV9pbml0KCZzdWJyZXBvLCBzdXBlcnByb2plY3QsIHN1YikpCisJCXJldHVybiAwOworCiAJLyoKLQkgKiBORUVEU1dPUks6IHN1Ym1vZHVsZXMgZnVuY3Rpb25zIG5lZWQgdG8gYmUgcHJvdGVjdGVkIGJlY2F1c2UgdGhleQotCSAqIGFjY2VzcyB0aGUgb2JqZWN0IHN0b3JlIHZpYSBjb25maWdfZnJvbV9naXRtb2R1bGVzKCk6IHRoZSBsYXR0ZXIKLQkgKiB1c2VzIGdldF9vaWQoKSB3aGljaCwgZm9yIG5vdywgcmVsaWVzIG9uIHRoZSBnbG9iYWwgdGhlX3JlcG9zaXRvcnkKLQkgKiBvYmplY3QuCisJICogTkVFRFNXT1JLOiByZXBvX3JlYWRfZ2l0bW9kdWxlcygpIG1pZ2h0IGNhbGwKKwkgKiBhZGRfdG9fYWx0ZXJuYXRlc19tZW1vcnkoKSB2aWEgY29uZmlnX2Zyb21fZ2l0bW9kdWxlcygpLiBUaGlzCisJICogb3BlcmF0aW9uIGNhdXNlcyBhIHJhY2UgY29uZGl0aW9uIHdpdGggY29uY3VycmVudCBvYmplY3QgcmVhZGluZ3MKKwkgKiBwZXJmb3JtZWQgYnkgdGhlIHdvcmtlciB0aHJlYWRzLiBUaGF0J3Mgd2h5IHdlIG5lZWQgb2JqX3JlYWRfbG9jaygpCisJICogaGVyZS4gSXQgc2hvdWxkIGJlIHJlbW92ZWQgb25jZSBpdCdzIG5vIGxvbmdlciBuZWNlc3NhcnkgdG8gYWRkIHRoZQorCSAqIHN1YnJlcG8ncyBvZGJzIHRvIHRoZSBpbi1tZW1vcnkgYWx0ZXJuYXRlcyBsaXN0LgogCSAqLwotCWdyZXBfcmVhZF9sb2NrKCk7Ci0KLQlpZiAoIWlzX3N1Ym1vZHVsZV9hY3RpdmUoc3VwZXJwcm9qZWN0LCBwYXRoKSkgewotCQlncmVwX3JlYWRfdW5sb2NrKCk7Ci0JCXJldHVybiAwOwotCX0KLQotCWlmIChyZXBvX3N1Ym1vZHVsZV9pbml0KCZzdWJtb2R1bGUsIHN1cGVycHJvamVjdCwgcGF0aCkpIHsKLQkJZ3JlcF9yZWFkX3VubG9jaygpOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQlyZXBvX3JlYWRfZ2l0bW9kdWxlcygmc3VibW9kdWxlKTsKKwlvYmpfcmVhZF9sb2NrKCk7CisJcmVwb19yZWFkX2dpdG1vZHVsZXMoJnN1YnJlcG8sIDApOwogCiAJLyoKIAkgKiBORUVEU1dPUks6IFRoaXMgYWRkcyB0aGUgc3VibW9kdWxlJ3Mgb2JqZWN0IGRpcmVjdG9yeSB0byB0aGUgbGlzdCBvZgpAQCAtNDM3LDggKzQzMCwxMSBAQAogCSAqIHN0b3JlIGlzIG5vIGxvbmdlciBnbG9iYWwgYW5kIGluc3RlYWQgaXMgYSBtZW1iZXIgb2YgdGhlIHJlcG9zaXRvcnkKIAkgKiBvYmplY3QuCiAJICovCi0JYWRkX3RvX2FsdGVybmF0ZXNfbWVtb3J5KHN1Ym1vZHVsZS5vYmplY3RzLT5vYmplY3RkaXIpOwotCWdyZXBfcmVhZF91bmxvY2soKTsKKwlhZGRfdG9fYWx0ZXJuYXRlc19tZW1vcnkoc3VicmVwby5vYmplY3RzLT5vZGItPnBhdGgpOworCW9ial9yZWFkX3VubG9jaygpOworCisJbWVtY3B5KCZzdWJvcHQsIG9wdCwgc2l6ZW9mKHN1Ym9wdCkpOworCXN1Ym9wdC5yZXBvID0gJnN1YnJlcG87CiAKIAlpZiAob2lkKSB7CiAJCXN0cnVjdCBvYmplY3QgKm9iamVjdDsKQEAgLTQ0NywxMyArNDQzLDEyIEBACiAJCXVuc2lnbmVkIGxvbmcgc2l6ZTsKIAkJc3RydWN0IHN0cmJ1ZiBiYXNlID0gU1RSQlVGX0lOSVQ7CiAKKwkJb2JqX3JlYWRfbG9jaygpOwogCQlvYmplY3QgPSBwYXJzZV9vYmplY3Rfb3JfZGllKG9pZCwgb2lkX3RvX2hleChvaWQpKTsKLQotCQlncmVwX3JlYWRfbG9jaygpOwotCQlkYXRhID0gcmVhZF9vYmplY3Rfd2l0aF9yZWZlcmVuY2UoJm9iamVjdC0+b2lkLCB0cmVlX3R5cGUsCisJCW9ial9yZWFkX3VubG9jaygpOworCQlkYXRhID0gcmVhZF9vYmplY3Rfd2l0aF9yZWZlcmVuY2UoJnN1YnJlcG8sCisJCQkJCQkgICZvYmplY3QtPm9pZCwgdHJlZV90eXBlLAogCQkJCQkJICAmc2l6ZSwgTlVMTCk7Ci0JCWdyZXBfcmVhZF91bmxvY2soKTsKLQogCQlpZiAoIWRhdGEpCiAJCQlkaWUoXygidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIiksIG9pZF90b19oZXgoJm9iamVjdC0+b2lkKSk7CiAKQEAgLTQ2MSwyMSArNDU2LDIyIEBACiAJCXN0cmJ1Zl9hZGRjaCgmYmFzZSwgJy8nKTsKIAogCQlpbml0X3RyZWVfZGVzYygmdHJlZSwgZGF0YSwgc2l6ZSk7Ci0JCWhpdCA9IGdyZXBfdHJlZShvcHQsIHBhdGhzcGVjLCAmdHJlZSwgJmJhc2UsIGJhc2UubGVuLAotCQkJCW9iamVjdC0+dHlwZSA9PSBPQkpfQ09NTUlULCAmc3VibW9kdWxlKTsKKwkJaGl0ID0gZ3JlcF90cmVlKCZzdWJvcHQsIHBhdGhzcGVjLCAmdHJlZSwgJmJhc2UsIGJhc2UubGVuLAorCQkJCW9iamVjdC0+dHlwZSA9PSBPQkpfQ09NTUlUKTsKIAkJc3RyYnVmX3JlbGVhc2UoJmJhc2UpOwogCQlmcmVlKGRhdGEpOwogCX0gZWxzZSB7Ci0JCWhpdCA9IGdyZXBfY2FjaGUob3B0LCAmc3VibW9kdWxlLCBwYXRoc3BlYywgMSk7CisJCWhpdCA9IGdyZXBfY2FjaGUoJnN1Ym9wdCwgcGF0aHNwZWMsIGNhY2hlZCk7CiAJfQogCi0JcmVwb19jbGVhcigmc3VibW9kdWxlKTsKKwlyZXBvX2NsZWFyKCZzdWJyZXBvKTsKIAlyZXR1cm4gaGl0OwogfQogCi1zdGF0aWMgaW50IGdyZXBfY2FjaGUoc3RydWN0IGdyZXBfb3B0ICpvcHQsIHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorc3RhdGljIGludCBncmVwX2NhY2hlKHN0cnVjdCBncmVwX29wdCAqb3B0LAogCQkgICAgICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLCBpbnQgY2FjaGVkKQogeworCXN0cnVjdCByZXBvc2l0b3J5ICpyZXBvID0gb3B0LT5yZXBvOwogCWludCBoaXQgPSAwOwogCWludCBucjsKIAlzdHJ1Y3Qgc3RyYnVmIG5hbWUgPSBTVFJCVUZfSU5JVDsKQEAgLTUxMyw3ICs1MDksOCBAQAogCQkJfQogCQl9IGVsc2UgaWYgKHJlY3Vyc2Vfc3VibW9kdWxlcyAmJiBTX0lTR0lUTElOSyhjZS0+Y2VfbW9kZSkgJiYKIAkJCSAgIHN1Ym1vZHVsZV9wYXRoX21hdGNoKHJlcG8tPmluZGV4LCBwYXRoc3BlYywgbmFtZS5idWYsIE5VTEwpKSB7Ci0JCQloaXQgfD0gZ3JlcF9zdWJtb2R1bGUob3B0LCByZXBvLCBwYXRoc3BlYywgTlVMTCwgY2UtPm5hbWUsIGNlLT5uYW1lKTsKKwkJCWhpdCB8PSBncmVwX3N1Ym1vZHVsZShvcHQsIHBhdGhzcGVjLCBOVUxMLCBjZS0+bmFtZSwKKwkJCQkJICAgICAgY2UtPm5hbWUsIGNhY2hlZCk7CiAJCX0gZWxzZSB7CiAJCQljb250aW51ZTsKIAkJfQpAQCAtNTM1LDggKzUzMiw5IEBACiAKIHN0YXRpYyBpbnQgZ3JlcF90cmVlKHN0cnVjdCBncmVwX29wdCAqb3B0LCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAogCQkgICAgIHN0cnVjdCB0cmVlX2Rlc2MgKnRyZWUsIHN0cnVjdCBzdHJidWYgKmJhc2UsIGludCB0bl9sZW4sCi0JCSAgICAgaW50IGNoZWNrX2F0dHIsIHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvKQorCQkgICAgIGludCBjaGVja19hdHRyKQogeworCXN0cnVjdCByZXBvc2l0b3J5ICpyZXBvID0gb3B0LT5yZXBvOwogCWludCBoaXQgPSAwOwogCWVudW0gaW50ZXJlc3RpbmcgbWF0Y2ggPSBlbnRyeV9ub3RfaW50ZXJlc3Rpbmc7CiAJc3RydWN0IG5hbWVfZW50cnkgZW50cnk7CkBAIC01NTMsNyArNTUxLDggQEAKIAogCQlpZiAobWF0Y2ggIT0gYWxsX2VudHJpZXNfaW50ZXJlc3RpbmcpIHsKIAkJCXN0cmJ1Zl9hZGRzdHIoJm5hbWUsIGJhc2UtPmJ1ZiArIHRuX2xlbik7Ci0JCQltYXRjaCA9IHRyZWVfZW50cnlfaW50ZXJlc3RpbmcoJmVudHJ5LCAmbmFtZSwKKwkJCW1hdGNoID0gdHJlZV9lbnRyeV9pbnRlcmVzdGluZyhyZXBvLT5pbmRleCwKKwkJCQkJCSAgICAgICAmZW50cnksICZuYW1lLAogCQkJCQkJICAgICAgIDAsIHBhdGhzcGVjKTsKIAkJCXN0cmJ1Zl9zZXRsZW4oJm5hbWUsIG5hbWVfYmFzZV9sZW4pOwogCkBAIC01NjYsNyArNTY1LDcgQEAKIAkJc3RyYnVmX2FkZChiYXNlLCBlbnRyeS5wYXRoLCB0ZV9sZW4pOwogCiAJCWlmIChTX0lTUkVHKGVudHJ5Lm1vZGUpKSB7Ci0JCQloaXQgfD0gZ3JlcF9vaWQob3B0LCBlbnRyeS5vaWQsIGJhc2UtPmJ1ZiwgdG5fbGVuLAorCQkJaGl0IHw9IGdyZXBfb2lkKG9wdCwgJmVudHJ5Lm9pZCwgYmFzZS0+YnVmLCB0bl9sZW4sCiAJCQkJCSBjaGVja19hdHRyID8gYmFzZS0+YnVmICsgdG5fbGVuIDogTlVMTCk7CiAJCX0gZWxzZSBpZiAoU19JU0RJUihlbnRyeS5tb2RlKSkgewogCQkJZW51bSBvYmplY3RfdHlwZSB0eXBlOwpAQCAtNTc0LDE5ICs1NzMsMjAgQEAKIAkJCXZvaWQgKmRhdGE7CiAJCQl1bnNpZ25lZCBsb25nIHNpemU7CiAKLQkJCWRhdGEgPSBsb2NrX2FuZF9yZWFkX29pZF9maWxlKGVudHJ5Lm9pZCwgJnR5cGUsICZzaXplKTsKKwkJCWRhdGEgPSByZWFkX29iamVjdF9maWxlKCZlbnRyeS5vaWQsICZ0eXBlLCAmc2l6ZSk7CiAJCQlpZiAoIWRhdGEpCiAJCQkJZGllKF8oInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIpLAotCQkJCSAgICBvaWRfdG9faGV4KGVudHJ5Lm9pZCkpOworCQkJCSAgICBvaWRfdG9faGV4KCZlbnRyeS5vaWQpKTsKIAogCQkJc3RyYnVmX2FkZGNoKGJhc2UsICcvJyk7CiAJCQlpbml0X3RyZWVfZGVzYygmc3ViLCBkYXRhLCBzaXplKTsKIAkJCWhpdCB8PSBncmVwX3RyZWUob3B0LCBwYXRoc3BlYywgJnN1YiwgYmFzZSwgdG5fbGVuLAotCQkJCQkgY2hlY2tfYXR0ciwgcmVwbyk7CisJCQkJCSBjaGVja19hdHRyKTsKIAkJCWZyZWUoZGF0YSk7CiAJCX0gZWxzZSBpZiAocmVjdXJzZV9zdWJtb2R1bGVzICYmIFNfSVNHSVRMSU5LKGVudHJ5Lm1vZGUpKSB7Ci0JCQloaXQgfD0gZ3JlcF9zdWJtb2R1bGUob3B0LCByZXBvLCBwYXRoc3BlYywgZW50cnkub2lkLAotCQkJCQkgICAgICBiYXNlLT5idWYsIGJhc2UtPmJ1ZiArIHRuX2xlbik7CisJCQloaXQgfD0gZ3JlcF9zdWJtb2R1bGUob3B0LCBwYXRoc3BlYywgJmVudHJ5Lm9pZCwKKwkJCQkJICAgICAgYmFzZS0+YnVmLCBiYXNlLT5idWYgKyB0bl9sZW4sCisJCQkJCSAgICAgIDEpOyAvKiBpZ25vcmVkICovCiAJCX0KIAogCQlzdHJidWZfc2V0bGVuKGJhc2UsIG9sZF9iYXNlbGVuKTsKQEAgLTYxMSwxMSArNjExLDkgQEAKIAkJc3RydWN0IHN0cmJ1ZiBiYXNlOwogCQlpbnQgaGl0LCBsZW47CiAKLQkJZ3JlcF9yZWFkX2xvY2soKTsKLQkJZGF0YSA9IHJlYWRfb2JqZWN0X3dpdGhfcmVmZXJlbmNlKCZvYmotPm9pZCwgdHJlZV90eXBlLAorCQlkYXRhID0gcmVhZF9vYmplY3Rfd2l0aF9yZWZlcmVuY2Uob3B0LT5yZXBvLAorCQkJCQkJICAmb2JqLT5vaWQsIHRyZWVfdHlwZSwKIAkJCQkJCSAgJnNpemUsIE5VTEwpOwotCQlncmVwX3JlYWRfdW5sb2NrKCk7Ci0KIAkJaWYgKCFkYXRhKQogCQkJZGllKF8oInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIpLCBvaWRfdG9faGV4KCZvYmotPm9pZCkpOwogCkBAIC02MjcsNyArNjI1LDcgQEAKIAkJfQogCQlpbml0X3RyZWVfZGVzYygmdHJlZSwgZGF0YSwgc2l6ZSk7CiAJCWhpdCA9IGdyZXBfdHJlZShvcHQsIHBhdGhzcGVjLCAmdHJlZSwgJmJhc2UsIGJhc2UubGVuLAotCQkJCW9iai0+dHlwZSA9PSBPQkpfQ09NTUlULCB0aGVfcmVwb3NpdG9yeSk7CisJCQkJb2JqLT50eXBlID09IE9CSl9DT01NSVQpOwogCQlzdHJidWZfcmVsZWFzZSgmYmFzZSk7CiAJCWZyZWUoZGF0YSk7CiAJCXJldHVybiBoaXQ7CkBAIC02NDQsMTMgKzY0MiwxOCBAQAogCiAJZm9yIChpID0gMDsgaSA8IG5yOyBpKyspIHsKIAkJc3RydWN0IG9iamVjdCAqcmVhbF9vYmo7Ci0JCXJlYWxfb2JqID0gZGVyZWZfdGFnKHRoZV9yZXBvc2l0b3J5LCBsaXN0LT5vYmplY3RzW2ldLml0ZW0sCisKKwkJb2JqX3JlYWRfbG9jaygpOworCQlyZWFsX29iaiA9IGRlcmVmX3RhZyhvcHQtPnJlcG8sIGxpc3QtPm9iamVjdHNbaV0uaXRlbSwKIAkJCQkgICAgIE5VTEwsIDApOworCQlvYmpfcmVhZF91bmxvY2soKTsKIAogCQkvKiBsb2FkIHRoZSBnaXRtb2R1bGVzIGZpbGUgZm9yIHRoaXMgcmV2ICovCiAJCWlmIChyZWN1cnNlX3N1Ym1vZHVsZXMpIHsKLQkJCXN1Ym1vZHVsZV9mcmVlKHRoZV9yZXBvc2l0b3J5KTsKKwkJCXN1Ym1vZHVsZV9mcmVlKG9wdC0+cmVwbyk7CisJCQlvYmpfcmVhZF9sb2NrKCk7CiAJCQlnaXRtb2R1bGVzX2NvbmZpZ19vaWQoJnJlYWxfb2JqLT5vaWQpOworCQkJb2JqX3JlYWRfdW5sb2NrKCk7CiAJCX0KIAkJaWYgKGdyZXBfb2JqZWN0KG9wdCwgcGF0aHNwZWMsIHJlYWxfb2JqLCBsaXN0LT5vYmplY3RzW2ldLm5hbWUsCiAJCQkJbGlzdC0+b2JqZWN0c1tpXS5wYXRoKSkgewpAQCAtNjc0LDkgKzY3Nyw5IEBACiAJaWYgKGV4Y19zdGQpCiAJCXNldHVwX3N0YW5kYXJkX2V4Y2x1ZGVzKCZkaXIpOwogCi0JZmlsbF9kaXJlY3RvcnkoJmRpciwgJnRoZV9pbmRleCwgcGF0aHNwZWMpOworCWZpbGxfZGlyZWN0b3J5KCZkaXIsIG9wdC0+cmVwby0+aW5kZXgsIHBhdGhzcGVjKTsKIAlmb3IgKGkgPSAwOyBpIDwgZGlyLm5yOyBpKyspIHsKLQkJaWYgKCFkaXJfcGF0aF9tYXRjaCgmdGhlX2luZGV4LCBkaXIuZW50cmllc1tpXSwgcGF0aHNwZWMsIDAsIE5VTEwpKQorCQlpZiAoIWRpcl9wYXRoX21hdGNoKG9wdC0+cmVwby0+aW5kZXgsIGRpci5lbnRyaWVzW2ldLCBwYXRoc3BlYywgMCwgTlVMTCkpCiAJCQljb250aW51ZTsKIAkJaGl0IHw9IGdyZXBfZmlsZShvcHQsIGRpci5lbnRyaWVzW2ldLT5uYW1lKTsKIAkJaWYgKGhpdCAmJiBvcHQtPnN0YXR1c19vbmx5KQpAQCAtOTQzLDYgKzk0Niw5IEBACiAJCQkvKiBkaWUgdGhlIHNhbWUgd2F5IGFzIGlmIHdlIGRpZCBpdCBhdCB0aGUgYmVnaW5uaW5nICovCiAJCQlzZXR1cF9naXRfZGlyZWN0b3J5KCk7CiAJfQorCS8qIElnbm9yZSAtLXJlY3Vyc2Utc3VibW9kdWxlcyBpZiAtLW5vLWluZGV4IGlzIGdpdmVuIG9yIGltcGxpZWQgKi8KKwlpZiAoIXVzZV9pbmRleCkKKwkJcmVjdXJzZV9zdWJtb2R1bGVzID0gMDsKIAogCS8qCiAJICogc2tpcCBhIC0tIHNlcGFyYXRvcjsgd2Uga25vdyBpdCBjYW5ub3QgYmUKQEAgLTEwMTQsNyArMTAyMCw4IEBACiAJCQlicmVhazsKIAkJfQogCi0JCWlmIChnZXRfb2lkX3dpdGhfY29udGV4dChhcmcsIEdFVF9PSURfUkVDT1JEX1BBVEgsCisJCWlmIChnZXRfb2lkX3dpdGhfY29udGV4dCh0aGVfcmVwb3NpdG9yeSwgYXJnLAorCQkJCQkgR0VUX09JRF9SRUNPUkRfUEFUSCwKIAkJCQkJICZvaWQsICZvYykpIHsKIAkJCWlmIChzZWVuX2Rhc2hkYXNoKQogCQkJCWRpZShfKCJ1bmFibGUgdG8gcmVzb2x2ZSByZXZpc2lvbjogJXMiKSwgYXJnKTsKQEAgLTEwNDYsNyArMTA1MywxMCBAQAogCXBhdGhzcGVjLnJlY3Vyc2l2ZSA9IDE7CiAJcGF0aHNwZWMucmVjdXJzZV9zdWJtb2R1bGVzID0gISFyZWN1cnNlX3N1Ym1vZHVsZXM7CiAKLQlpZiAobGlzdC5uciB8fCBjYWNoZWQgfHwgc2hvd19pbl9wYWdlcikgeworCWlmIChyZWN1cnNlX3N1Ym1vZHVsZXMgJiYgdW50cmFja2VkKQorCQlkaWUoXygiLS11bnRyYWNrZWQgbm90IHN1cHBvcnRlZCB3aXRoIC0tcmVjdXJzZS1zdWJtb2R1bGVzIikpOworCisJaWYgKHNob3dfaW5fcGFnZXIpIHsKIAkJaWYgKG51bV90aHJlYWRzID4gMSkKIAkJCXdhcm5pbmcoXygiaW52YWxpZCBvcHRpb24gY29tYmluYXRpb24sIGlnbm9yaW5nIC0tdGhyZWFkcyIpKTsKIAkJbnVtX3RocmVhZHMgPSAxOwpAQCAtMTA1Niw3ICsxMDY2LDcgQEAKIAl9IGVsc2UgaWYgKG51bV90aHJlYWRzIDwgMCkKIAkJZGllKF8oImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiKSwgbnVtX3RocmVhZHMpOwogCWVsc2UgaWYgKG51bV90aHJlYWRzID09IDApCi0JCW51bV90aHJlYWRzID0gSEFWRV9USFJFQURTID8gR1JFUF9OVU1fVEhSRUFEU19ERUZBVUxUIDogMTsKKwkJbnVtX3RocmVhZHMgPSBIQVZFX1RIUkVBRFMgPyBvbmxpbmVfY3B1cygpIDogMTsKIAogCWlmIChudW1fdGhyZWFkcyA+IDEpIHsKIAkJaWYgKCFIQVZFX1RIUkVBRFMpCkBAIC0xMDY1LDYgKzEwNzUsMTcgQEAKIAkJICAgICYmIChvcHQucHJlX2NvbnRleHQgfHwgb3B0LnBvc3RfY29udGV4dCB8fAogCQkJb3B0LmZpbGVfYnJlYWsgfHwgb3B0LmZ1bmNib2R5KSkKIAkJCXNraXBfZmlyc3RfbGluZSA9IDE7CisKKwkJLyoKKwkJICogUHJlLXJlYWQgZ2l0bW9kdWxlcyAoaWYgbm90IHJlYWQgYWxyZWFkeSkgYW5kIGZvcmNlIGVhZ2VyCisJCSAqIGluaXRpYWxpemF0aW9uIG9mIHBhY2tlZF9naXQgdG8gcHJldmVudCByYWN5IGxhenkKKwkJICogcmVhZGluZy9pbml0aWFsaXphdGlvbiBvbmNlIHdvcmtlciB0aHJlYWRzIGFyZSBzdGFydGVkLgorCQkgKi8KKwkJaWYgKHJlY3Vyc2Vfc3VibW9kdWxlcykKKwkJCXJlcG9fcmVhZF9naXRtb2R1bGVzKHRoZV9yZXBvc2l0b3J5LCAxKTsKKwkJaWYgKHN0YXJ0dXBfaW5mby0+aGF2ZV9yZXBvc2l0b3J5KQorCQkJKHZvaWQpZ2V0X3BhY2tlZF9naXQodGhlX3JlcG9zaXRvcnkpOworCiAJCXN0YXJ0X3RocmVhZHMoJm9wdCk7CiAJfSBlbHNlIHsKIAkJLyoKQEAgLTEwOTQsMTQgKzExMTUsMTEgQEAKIAkJCXN0cmJ1Zl9hZGRmKCZidWYsICIrLyVzJXMiLAogCQkJCQlzdHJjbXAoImxlc3MiLCBwYWdlcikgPyAiIiA6ICIqIiwKIAkJCQkJb3B0LnBhdHRlcm5fbGlzdC0+cGF0dGVybik7Ci0JCQlzdHJpbmdfbGlzdF9hcHBlbmQoJnBhdGhfbGlzdCwgYnVmLmJ1Zik7Ci0JCQlzdHJidWZfZGV0YWNoKCZidWYsIE5VTEwpOworCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZwYXRoX2xpc3QsCisJCQkJCSAgIHN0cmJ1Zl9kZXRhY2goJmJ1ZiwgTlVMTCkpOwogCQl9CiAJfQogCi0JaWYgKHJlY3Vyc2Vfc3VibW9kdWxlcyAmJiAoIXVzZV9pbmRleCB8fCB1bnRyYWNrZWQpKQotCQlkaWUoXygib3B0aW9uIG5vdCBzdXBwb3J0ZWQgd2l0aCAtLXJlY3Vyc2Utc3VibW9kdWxlcyIpKTsKLQogCWlmICghc2hvd19pbl9wYWdlciAmJiAhb3B0LnN0YXR1c19vbmx5KQogCQlzZXR1cF9wYWdlcigpOwogCkBAIC0xMTE3LDcgKzExMzUsNyBAQAogCQlpZiAoIWNhY2hlZCkKIAkJCXNldHVwX3dvcmtfdHJlZSgpOwogCi0JCWhpdCA9IGdyZXBfY2FjaGUoJm9wdCwgdGhlX3JlcG9zaXRvcnksICZwYXRoc3BlYywgY2FjaGVkKTsKKwkJaGl0ID0gZ3JlcF9jYWNoZSgmb3B0LCAmcGF0aHNwZWMsIGNhY2hlZCk7CiAJfSBlbHNlIHsKIAkJaWYgKGNhY2hlZCkKIAkJCWRpZShfKCJib3RoIC0tY2FjaGVkIGFuZCB0cmVlcyBhcmUgZ2l2ZW4iKSk7CkBAIC0xMTMxLDUgKzExNDksNiBAQAogCQlydW5fcGFnZXIoJm9wdCwgcHJlZml4KTsKIAljbGVhcl9wYXRoc3BlYygmcGF0aHNwZWMpOwogCWZyZWVfZ3JlcF9wYXR0ZXJucygmb3B0KTsKKwlncmVwX2Rlc3Ryb3koKTsKIAlyZXR1cm4gIWhpdDsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vaGFzaC1vYmplY3QuYyBiL2J1aWx0aW4vaGFzaC1vYmplY3QuYwppbmRleCBkNmYwNmVhLi42NDBlZjRkIDEwMDY0NAotLS0gYS9idWlsdGluL2hhc2gtb2JqZWN0LmMKKysrIGIvYnVpbHRpbi9oYXNoLW9iamVjdC5jCkBAIC00MCw3ICs0MCw4IEBACiAJaWYgKGZzdGF0KGZkLCAmc3QpIDwgMCB8fAogCSAgICAobGl0ZXJhbGx5CiAJICAgICA/IGhhc2hfbGl0ZXJhbGx5KCZvaWQsIGZkLCB0eXBlLCBmbGFncykKLQkgICAgIDogaW5kZXhfZmQoJnRoZV9pbmRleCwgJm9pZCwgZmQsICZzdCwgdHlwZV9mcm9tX3N0cmluZyh0eXBlKSwgcGF0aCwgZmxhZ3MpKSkKKwkgICAgIDogaW5kZXhfZmQodGhlX3JlcG9zaXRvcnktPmluZGV4LCAmb2lkLCBmZCwgJnN0LAorCQkJdHlwZV9mcm9tX3N0cmluZyh0eXBlKSwgcGF0aCwgZmxhZ3MpKSkKIAkJZGllKChmbGFncyAmIEhBU0hfV1JJVEVfT0JKRUNUKQogCQkgICAgPyAiVW5hYmxlIHRvIGFkZCAlcyB0byBkYXRhYmFzZSIKIAkJICAgIDogIlVuYWJsZSB0byBoYXNoICVzIiwgcGF0aCk7CkBAIC0xMDcsNyArMTA4LDcgQEAKIAlpbnQgaTsKIAljb25zdCBjaGFyICplcnJzdHIgPSBOVUxMOwogCi0JYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgTlVMTCwgaGFzaF9vYmplY3Rfb3B0aW9ucywKKwlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIGhhc2hfb2JqZWN0X29wdGlvbnMsCiAJCQkgICAgIGhhc2hfb2JqZWN0X3VzYWdlLCAwKTsKIAogCWlmIChmbGFncyAmIEhBU0hfV1JJVEVfT0JKRUNUKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9oZWxwLmMgYi9idWlsdGluL2hlbHAuYwppbmRleCA3NzM5YTVjLi5lNTU5MGQ3IDEwMDY0NAotLS0gYS9idWlsdGluL2hlbHAuYworKysgYi9idWlsdGluL2hlbHAuYwpAQCAtNzAsNiArNzAsMTAgQEAKIAkJcmV0dXJuIEhFTFBfRk9STUFUX0lORk87CiAJaWYgKCFzdHJjbXAoZm9ybWF0LCAid2ViIikgfHwgIXN0cmNtcChmb3JtYXQsICJodG1sIikpCiAJCXJldHVybiBIRUxQX0ZPUk1BVF9XRUI7CisJLyoKKwkgKiBQbGVhc2UgdXBkYXRlIF9naXRfY29uZmlnKCkgaW4gZ2l0LWNvbXBsZXRpb24uYmFzaCB3aGVuIHlvdQorCSAqIGFkZCBuZXcgaGVscCBmb3JtYXRzLgorCSAqLwogCWRpZShfKCJ1bnJlY29nbml6ZWQgaGVscCBmb3JtYXQgJyVzJyIpLCBmb3JtYXQpOwogfQogCmRpZmYgLS1naXQgYS9idWlsdGluL2luZGV4LXBhY2suYyBiL2J1aWx0aW4vaW5kZXgtcGFjay5jCmluZGV4IGFjMWY0ZWEuLmQ5NjdkMTggMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vaW5kZXgtcGFjay5jCisrKyBiL2J1aWx0aW4vaW5kZXgtcGFjay5jCkBAIC0xNCw2ICsxNCw3IEBACiAjaW5jbHVkZSAidGhyZWFkLXV0aWxzLmgiCiAjaW5jbHVkZSAicGFja2ZpbGUuaCIKICNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKKyNpbmNsdWRlICJwcm9taXNvci1yZW1vdGUuaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgaW5kZXhfcGFja191c2FnZVtdID0KICJnaXQgaW5kZXgtcGFjayBbLXZdIFstbyA8aW5kZXgtZmlsZT5dIFstLWtlZXAgfCAtLWtlZXA9PG1zZz5dIFstLXZlcmlmeV0gWy0tc3RyaWN0XSAoPHBhY2stZmlsZT4gfCAtLXN0ZGluIFstLWZpeC10aGluXSBbPHBhY2stZmlsZT5dKSI7CkBAIC0yMTksOCArMjIwLDE2IEBACiAJdW5zaWduZWQgaSwgbWF4LCBmb3JlaWduX25yID0gMDsKIAogCW1heCA9IGdldF9tYXhfb2JqZWN0X2luZGV4KCk7Ci0JZm9yIChpID0gMDsgaSA8IG1heDsgaSsrKQorCisJaWYgKHZlcmJvc2UpCisJCXByb2dyZXNzID0gc3RhcnRfZGVsYXllZF9wcm9ncmVzcyhfKCJDaGVja2luZyBvYmplY3RzIiksIG1heCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbWF4OyBpKyspIHsKIAkJZm9yZWlnbl9uciArPSBjaGVja19vYmplY3QoZ2V0X2luZGV4ZWRfb2JqZWN0KGkpKTsKKwkJZGlzcGxheV9wcm9ncmVzcyhwcm9ncmVzcywgaSArIDEpOworCX0KKworCXN0b3BfcHJvZ3Jlc3MoJnByb2dyZXNzKTsKIAlyZXR1cm4gZm9yZWlnbl9ucjsKIH0KIApAQCAtNzQ4LDcgKzc1Nyw4IEBACiAKIAltZW1zZXQoJmRhdGEsIDAsIHNpemVvZihkYXRhKSk7CiAJZGF0YS5lbnRyeSA9IGVudHJ5OwotCWRhdGEuc3QgPSBvcGVuX2lzdHJlYW0oJmVudHJ5LT5pZHgub2lkLCAmdHlwZSwgJnNpemUsIE5VTEwpOworCWRhdGEuc3QgPSBvcGVuX2lzdHJlYW0odGhlX3JlcG9zaXRvcnksICZlbnRyeS0+aWR4Lm9pZCwgJnR5cGUsICZzaXplLAorCQkJICAgICAgIE5VTEwpOwogCWlmICghZGF0YS5zdCkKIAkJcmV0dXJuIC0xOwogCWlmIChzaXplICE9IGVudHJ5LT5zaXplIHx8IHR5cGUgIT0gZW50cnktPnR5cGUpCkBAIC03NzIsNyArNzgyLDcgQEAKIAlpZiAoc3RhcnR1cF9pbmZvLT5oYXZlX3JlcG9zaXRvcnkpIHsKIAkJcmVhZF9sb2NrKCk7CiAJCWNvbGxpc2lvbl90ZXN0X25lZWRlZCA9Ci0JCQloYXNfc2hhMV9maWxlX3dpdGhfZmxhZ3Mob2lkLT5oYXNoLCBPQkpFQ1RfSU5GT19RVUlDSyk7CisJCQloYXNfb2JqZWN0X2ZpbGVfd2l0aF9mbGFncyhvaWQsIE9CSkVDVF9JTkZPX1FVSUNLKTsKIAkJcmVhZF91bmxvY2soKTsKIAl9CiAKQEAgLTkzOSw3ICs5NDksNyBAQAogCWZyZWUoZGVsdGFfZGF0YSk7CiAJaWYgKCFyZXN1bHQtPmRhdGEpCiAJCWJhZF9vYmplY3QoZGVsdGFfb2JqLT5pZHgub2Zmc2V0LCBfKCJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiKSk7Ci0JaGFzaF9vYmplY3RfZmlsZShyZXN1bHQtPmRhdGEsIHJlc3VsdC0+c2l6ZSwKKwloYXNoX29iamVjdF9maWxlKHRoZV9oYXNoX2FsZ28sIHJlc3VsdC0+ZGF0YSwgcmVzdWx0LT5zaXplLAogCQkJIHR5cGVfbmFtZShkZWx0YV9vYmotPnJlYWxfdHlwZSksICZkZWx0YV9vYmotPmlkeC5vaWQpOwogCXNoYTFfb2JqZWN0KHJlc3VsdC0+ZGF0YSwgTlVMTCwgcmVzdWx0LT5zaXplLCBkZWx0YV9vYmotPnJlYWxfdHlwZSwKIAkJICAgICZkZWx0YV9vYmotPmlkeC5vaWQpOwpAQCAtOTk0LDcgKzEwMDQsOSBAQAogCiAJCWlmICghY29tcGFyZV9hbmRfc3dhcF90eXBlKCZjaGlsZC0+cmVhbF90eXBlLCBPQkpfUkVGX0RFTFRBLAogCQkJCQkgICBiYXNlLT5vYmotPnJlYWxfdHlwZSkpCi0JCQlCVUcoImNoaWxkLT5yZWFsX3R5cGUgIT0gT0JKX1JFRl9ERUxUQSIpOworCQkJZGllKCJSRUZfREVMVEEgYXQgb2Zmc2V0ICUiUFJJdU1BWCIgYWxyZWFkeSByZXNvbHZlZCAoZHVwbGljYXRlIGJhc2UgJXM/KSIsCisJCQkgICAgKHVpbnRtYXhfdCljaGlsZC0+aWR4Lm9mZnNldCwKKwkJCSAgICBvaWRfdG9faGV4KCZiYXNlLT5vYmotPmlkeC5vaWQpKTsKIAogCQlyZXNvbHZlX2RlbHRhKGNoaWxkLCBiYXNlLCByZXN1bHQpOwogCQlpZiAoYmFzZS0+cmVmX2ZpcnN0ID09IGJhc2UtPnJlZl9sYXN0ICYmIGJhc2UtPm9mc19sYXN0ID09IC0xKQpAQCAtMTM0Myw2ICsxMzU1LDI1IEBACiAJCXNvcnRlZF9ieV9wb3NbaV0gPSAmcmVmX2RlbHRhc1tpXTsKIAlRU09SVChzb3J0ZWRfYnlfcG9zLCBucl9yZWZfZGVsdGFzLCBkZWx0YV9wb3NfY29tcGFyZSk7CiAKKwlpZiAoaGFzX3Byb21pc29yX3JlbW90ZSgpKSB7CisJCS8qCisJCSAqIFByZWZldGNoIHRoZSBkZWx0YSBiYXNlcy4KKwkJICovCisJCXN0cnVjdCBvaWRfYXJyYXkgdG9fZmV0Y2ggPSBPSURfQVJSQVlfSU5JVDsKKwkJZm9yIChpID0gMDsgaSA8IG5yX3JlZl9kZWx0YXM7IGkrKykgeworCQkJc3RydWN0IHJlZl9kZWx0YV9lbnRyeSAqZCA9IHNvcnRlZF9ieV9wb3NbaV07CisJCQlpZiAoIW9pZF9vYmplY3RfaW5mb19leHRlbmRlZCh0aGVfcmVwb3NpdG9yeSwgJmQtPm9pZCwKKwkJCQkJCSAgICAgIE5VTEwsCisJCQkJCQkgICAgICBPQkpFQ1RfSU5GT19GT1JfUFJFRkVUQ0gpKQorCQkJCWNvbnRpbnVlOworCQkJb2lkX2FycmF5X2FwcGVuZCgmdG9fZmV0Y2gsICZkLT5vaWQpOworCQl9CisJCWlmICh0b19mZXRjaC5ucikKKwkJCXByb21pc29yX3JlbW90ZV9nZXRfZGlyZWN0KHRoZV9yZXBvc2l0b3J5LAorCQkJCQkJICAgdG9fZmV0Y2gub2lkLCB0b19mZXRjaC5ucik7CisJCW9pZF9hcnJheV9jbGVhcigmdG9fZmV0Y2gpOworCX0KKwogCWZvciAoaSA9IDA7IGkgPCBucl9yZWZfZGVsdGFzOyBpKyspIHsKIAkJc3RydWN0IHJlZl9kZWx0YV9lbnRyeSAqZCA9IHNvcnRlZF9ieV9wb3NbaV07CiAJCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKQEAgLTEzNTUsOCArMTM4Niw5IEBACiAJCWlmICghYmFzZV9vYmotPmRhdGEpCiAJCQljb250aW51ZTsKIAotCQlpZiAoY2hlY2tfb2JqZWN0X3NpZ25hdHVyZSgmZC0+b2lkLCBiYXNlX29iai0+ZGF0YSwKLQkJCQliYXNlX29iai0+c2l6ZSwgdHlwZV9uYW1lKHR5cGUpKSkKKwkJaWYgKGNoZWNrX29iamVjdF9zaWduYXR1cmUodGhlX3JlcG9zaXRvcnksICZkLT5vaWQsCisJCQkJCSAgIGJhc2Vfb2JqLT5kYXRhLCBiYXNlX29iai0+c2l6ZSwKKwkJCQkJICAgdHlwZV9uYW1lKHR5cGUpKSkKIAkJCWRpZShfKCJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIpLCBvaWRfdG9faGV4KCZkLT5vaWQpKTsKIAkJYmFzZV9vYmotPm9iaiA9IGFwcGVuZF9vYmpfdG9fcGFjayhmLCBkLT5vaWQuaGFzaCwKIAkJCQkJYmFzZV9vYmotPmRhdGEsIGJhc2Vfb2JqLT5zaXplLCB0eXBlKTsKQEAgLTE0NjIsMTEgKzE0OTQsMTEgQEAKIAl9CiAKIAlpZiAoIWZyb21fc3RkaW4pIHsKLQkJcHJpbnRmKCIlc1xuIiwgc2hhMV90b19oZXgoaGFzaCkpOworCQlwcmludGYoIiVzXG4iLCBoYXNoX3RvX2hleChoYXNoKSk7CiAJfSBlbHNlIHsKIAkJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAotCQlzdHJidWZfYWRkZigmYnVmLCAiJXNcdCVzXG4iLCByZXBvcnQsIHNoYTFfdG9faGV4KGhhc2gpKTsKKwkJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzXHQlc1xuIiwgcmVwb3J0LCBoYXNoX3RvX2hleChoYXNoKSk7CiAJCXdyaXRlX29yX2RpZSgxLCBidWYuYnVmLCBidWYubGVuKTsKIAkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAKQEAgLTE2NDIsOCArMTY3NCwxMCBAQAogCWludCByZXBvcnRfZW5kX29mX2lucHV0ID0gMDsKIAogCS8qCi0JICogaW5kZXgtcGFjayBuZXZlciBuZWVkcyB0byBmZXRjaCBtaXNzaW5nIG9iamVjdHMsIHNpbmNlIGl0IG9ubHkKLQkgKiBhY2Nlc3NlcyB0aGUgcmVwbyB0byBkbyBoYXNoIGNvbGxpc2lvbiBjaGVja3MKKwkgKiBpbmRleC1wYWNrIG5ldmVyIG5lZWRzIHRvIGZldGNoIG1pc3Npbmcgb2JqZWN0cyBleGNlcHQgd2hlbgorCSAqIFJFRl9ERUxUQSBiYXNlcyBhcmUgbWlzc2luZyAod2hpY2ggYXJlIGV4cGxpY2l0bHkgaGFuZGxlZCkuIEl0IG9ubHkKKwkgKiBhY2Nlc3NlcyB0aGUgcmVwbyB0byBkbyBoYXNoIGNvbGxpc2lvbiBjaGVja3MgYW5kIHRvIGNoZWNrIHdoaWNoCisJICogUkVGX0RFTFRBIGJhc2VzIG5lZWQgdG8gYmUgZmV0Y2hlZC4KIAkgKi8KIAlmZXRjaF9pZl9taXNzaW5nID0gMDsKIApkaWZmIC0tZ2l0IGEvYnVpbHRpbi9pbml0LWRiLmMgYi9idWlsdGluL2luaXQtZGIuYwppbmRleCA0MWZhZmZkLi45NDRlYzc3IDEwMDY0NAotLS0gYS9idWlsdGluL2luaXQtZGIuYworKysgYi9idWlsdGluL2luaXQtZGIuYwpAQCAtOTYsNyArOTYsNyBAQAogCXN0cnVjdCBzdHJidWYgcGF0aCA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJidWYgdGVtcGxhdGVfcGF0aCA9IFNUUkJVRl9JTklUOwogCXNpemVfdCB0ZW1wbGF0ZV9sZW47Ci0Jc3RydWN0IHJlcG9zaXRvcnlfZm9ybWF0IHRlbXBsYXRlX2Zvcm1hdDsKKwlzdHJ1Y3QgcmVwb3NpdG9yeV9mb3JtYXQgdGVtcGxhdGVfZm9ybWF0ID0gUkVQT1NJVE9SWV9GT1JNQVRfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIGVyciA9IFNUUkJVRl9JTklUOwogCURJUiAqZGlyOwogCWNoYXIgKnRvX2ZyZWUgPSBOVUxMOwpAQCAtMTQ4LDYgKzE0OCw3IEBACiAJZnJlZSh0b19mcmVlKTsKIAlzdHJidWZfcmVsZWFzZSgmcGF0aCk7CiAJc3RyYnVmX3JlbGVhc2UoJnRlbXBsYXRlX3BhdGgpOworCWNsZWFyX3JlcG9zaXRvcnlfZm9ybWF0KCZ0ZW1wbGF0ZV9mb3JtYXQpOwogfQogCiBzdGF0aWMgaW50IGdpdF9pbml0X2RiX2NvbmZpZyhjb25zdCBjaGFyICprLCBjb25zdCBjaGFyICp2LCB2b2lkICpjYikKQEAgLTE1NSw2ICsxNTYsOSBAQAogCWlmICghc3RyY21wKGssICJpbml0LnRlbXBsYXRlZGlyIikpCiAJCXJldHVybiBnaXRfY29uZmlnX3BhdGhuYW1lKCZpbml0X2RiX3RlbXBsYXRlX2Rpciwgaywgdik7CiAKKwlpZiAoc3RhcnRzX3dpdGgoaywgImNvcmUuIikpCisJCXJldHVybiBwbGF0Zm9ybV9jb3JlX2NvbmZpZyhrLCB2LCBjYik7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTg1LDYgKzE4OSw3IEBACiAJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKIAogCS8qIEp1c3QgbG9vayBmb3IgYGluaXQudGVtcGxhdGVkaXJgICovCisJaW5pdF9kYl90ZW1wbGF0ZV9kaXIgPSBOVUxMOyAvKiByZS1zZXQgaW4gY2FzZSBpdCB3YXMgc2V0IGJlZm9yZSAqLwogCWdpdF9jb25maWcoZ2l0X2luaXRfZGJfY29uZmlnLCBOVUxMKTsKIAogCS8qCkBAIC0zNjEsNiArMzY2LDkgQEAKIAl9CiAJc3RhcnR1cF9pbmZvLT5oYXZlX3JlcG9zaXRvcnkgPSAxOwogCisJLyogSnVzdCBsb29rIGZvciBgY29yZS5oaWRlZG90ZmlsZXNgICovCisJZ2l0X2NvbmZpZyhnaXRfaW5pdF9kYl9jb25maWcsIE5VTEwpOworCiAJc2FmZV9jcmVhdGVfZGlyKGdpdF9kaXIsIDApOwogCiAJaW5pdF9pc19iYXJlX3JlcG9zaXRvcnkgPSBpc19iYXJlX3JlcG9zaXRvcnkoKTsKQEAgLTQ5NCw2ICs1MDIsOSBAQAogCWlmIChyZWFsX2dpdF9kaXIgJiYgIWlzX2Fic29sdXRlX3BhdGgocmVhbF9naXRfZGlyKSkKIAkJcmVhbF9naXRfZGlyID0gcmVhbF9wYXRoZHVwKHJlYWxfZ2l0X2RpciwgMSk7CiAKKwlpZiAodGVtcGxhdGVfZGlyICYmICp0ZW1wbGF0ZV9kaXIgJiYgIWlzX2Fic29sdXRlX3BhdGgodGVtcGxhdGVfZGlyKSkKKwkJdGVtcGxhdGVfZGlyID0gYWJzb2x1dGVfcGF0aGR1cCh0ZW1wbGF0ZV9kaXIpOworCiAJaWYgKGFyZ2MgPT0gMSkgewogCQlpbnQgbWtkaXJfdHJpZWQgPSAwOwogCXJldHJ5OgpAQCAtNTQyLDggKzU1Myw4IEBACiAJICogR0lUX1dPUktfVFJFRSBtYWtlcyBzZW5zZSBvbmx5IGluIGNvbmp1bmN0aW9uIHdpdGggR0lUX0RJUgogCSAqIHdpdGhvdXQgLS1iYXJlLiAgQ2F0Y2ggdGhlIGVycm9yIGVhcmx5LgogCSAqLwotCWdpdF9kaXIgPSBnZXRlbnYoR0lUX0RJUl9FTlZJUk9OTUVOVCk7Ci0Jd29ya190cmVlID0gZ2V0ZW52KEdJVF9XT1JLX1RSRUVfRU5WSVJPTk1FTlQpOworCWdpdF9kaXIgPSB4c3RyZHVwX29yX251bGwoZ2V0ZW52KEdJVF9ESVJfRU5WSVJPTk1FTlQpKTsKKwl3b3JrX3RyZWUgPSB4c3RyZHVwX29yX251bGwoZ2V0ZW52KEdJVF9XT1JLX1RSRUVfRU5WSVJPTk1FTlQpKTsKIAlpZiAoKCFnaXRfZGlyIHx8IGlzX2JhcmVfcmVwb3NpdG9yeV9jZmcgPT0gMSkgJiYgd29ya190cmVlKQogCQlkaWUoXygiJXMgKG9yIC0td29yay10cmVlPTxkaXJlY3Rvcnk+KSBub3QgYWxsb3dlZCB3aXRob3V0ICIKIAkJCSAgInNwZWNpZnlpbmcgJXMgKG9yIC0tZ2l0LWRpcj08ZGlyZWN0b3J5PikiKSwKQEAgLTU4Miw2ICs1OTMsOCBAQAogCX0KIAogCVVOTEVBSyhyZWFsX2dpdF9kaXIpOworCVVOTEVBSyhnaXRfZGlyKTsKKwlVTkxFQUsod29ya190cmVlKTsKIAogCWZsYWdzIHw9IElOSVRfREJfRVhJU1RfT0s7CiAJcmV0dXJuIGluaXRfZGIoZ2l0X2RpciwgcmVhbF9naXRfZGlyLCB0ZW1wbGF0ZV9kaXIsIGZsYWdzKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmMgYi9idWlsdGluL2ludGVycHJldC10cmFpbGVycy5jCmluZGV4IDhhZTQwZGUuLmYxMDFkMDkgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmMKKysrIGIvYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgogI2luY2x1ZGUgInRyYWlsZXIuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBnaXRfaW50ZXJwcmV0X3RyYWlsZXJzX3VzYWdlW10gPSB7CiAJTl8oImdpdCBpbnRlcnByZXQtdHJhaWxlcnMgWy0taW4tcGxhY2VdIFstLXRyaW0tZW1wdHldIFsoLS10cmFpbGVyIDx0b2tlbj5bKD18Oik8dmFsdWU+XSkuLi5dIFs8ZmlsZT4uLi5dIiksCkBAIC0xMTIsNiArMTEzLDggQEAKIAkJT1BUX0VORCgpCiAJfTsKIAorCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKKwogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0aW9ucywKIAkJCSAgICAgZ2l0X2ludGVycHJldF90cmFpbGVyc191c2FnZSwgMCk7CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vbG9nLmMgYi9idWlsdGluL2xvZy5jCmluZGV4IGU4ZTUxMDYuLjgzYTRhNjEgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vbG9nLmMKKysrIGIvYnVpbHRpbi9sb2cuYwpAQCAtNCw2ICs0LDcgQEAKICAqIChDKSBDb3B5cmlnaHQgMjAwNiBMaW51cyBUb3J2YWxkcwogICoJCSAyMDA2IEp1bmlvIEhhbWFubwogICovCisjZGVmaW5lIFVTRV9USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInJlZnMuaCIKQEAgLTM2LDYgKzM3LDcgQEAKICNpbmNsdWRlICJyYW5nZS1kaWZmLmgiCiAKICNkZWZpbmUgTUFJTF9ERUZBVUxUX1dSQVAgNzIKKyNkZWZpbmUgQ09WRVJfRlJPTV9BVVRPX01BWF9TVUJKRUNUX0xFTiAxMDAKIAogLyogU2V0IGEgZGVmYXVsdCBkYXRlLXRpbWUgZm9ybWF0IGZvciBnaXQgbG9nICgibG9nLmRhdGUiIGNvbmZpZyB2YXJpYWJsZSkgKi8KIHN0YXRpYyBjb25zdCBjaGFyICpkZWZhdWx0X2RhdGVfbW9kZSA9IE5VTEw7CkBAIC00Niw3ICs0OCw3IEBACiBzdGF0aWMgaW50IGRlZmF1bHRfc2hvd19zaWduYXR1cmU7CiBzdGF0aWMgaW50IGRlY29yYXRpb25fc3R5bGU7CiBzdGF0aWMgaW50IGRlY29yYXRpb25fZ2l2ZW47Ci1zdGF0aWMgaW50IHVzZV9tYWlsbWFwX2NvbmZpZzsKK3N0YXRpYyBpbnQgdXNlX21haWxtYXBfY29uZmlnID0gMTsKIHN0YXRpYyBjb25zdCBjaGFyICpmbXRfcGF0Y2hfc3ViamVjdF9wcmVmaXggPSAiUEFUQ0giOwogc3RhdGljIGNvbnN0IGNoYXIgKmZtdF9wcmV0dHk7CiAKQEAgLTYyLDkgKzY0LDE0IEBACiAJc3RydWN0IHN0cmluZ19saXN0IGFyZ3M7CiB9OwogCitzdGF0aWMgaW50IHNlc3Npb25faXNfaW50ZXJhY3RpdmUodm9pZCkKK3sKKwlyZXR1cm4gaXNhdHR5KDEpIHx8IHBhZ2VyX2luX3VzZSgpOworfQorCiBzdGF0aWMgaW50IGF1dG9fZGVjb3JhdGlvbl9zdHlsZSh2b2lkKQogewotCXJldHVybiAoaXNhdHR5KDEpIHx8IHBhZ2VyX2luX3VzZSgpKSA/IERFQ09SQVRFX1NIT1JUX1JFRlMgOiAwOworCXJldHVybiBzZXNzaW9uX2lzX2ludGVyYWN0aXZlKCkgPyBERUNPUkFURV9TSE9SVF9SRUZTIDogMDsKIH0KIAogc3RhdGljIGludCBwYXJzZV9kZWNvcmF0aW9uX3N0eWxlKGNvbnN0IGNoYXIgKnZhbHVlKQpAQCAtODMsNiArOTAsMTAgQEAKIAkJcmV0dXJuIERFQ09SQVRFX1NIT1JUX1JFRlM7CiAJZWxzZSBpZiAoIXN0cmNtcCh2YWx1ZSwgImF1dG8iKSkKIAkJcmV0dXJuIGF1dG9fZGVjb3JhdGlvbl9zdHlsZSgpOworCS8qCisJICogUGxlYXNlIHVwZGF0ZSBfZ2l0X2xvZygpIGluIGdpdC1jb21wbGV0aW9uLmJhc2ggd2hlbiB5b3UKKwkgKiBhZGQgbmV3IGRlY29yYXRpb24gc3R5bGVzLgorCSAqLwogCXJldHVybiAtMTsKIH0KIApAQCAtMTUwLDcgKzE2MSw3IEBACiAJCQkgc3RydWN0IHJldl9pbmZvICpyZXYsIHN0cnVjdCBzZXR1cF9yZXZpc2lvbl9vcHQgKm9wdCkKIHsKIAlzdHJ1Y3QgdXNlcmZvcm1hdF93YW50IHc7Ci0JaW50IHF1aWV0ID0gMCwgc291cmNlID0gMCwgbWFpbG1hcCA9IDA7CisJaW50IHF1aWV0ID0gMCwgc291cmNlID0gMCwgbWFpbG1hcDsKIAlzdGF0aWMgc3RydWN0IGxpbmVfb3B0X2NhbGxiYWNrX2RhdGEgbGluZV9jYiA9IHtOVUxMLCBOVUxMLCBTVFJJTkdfTElTVF9JTklUX0RVUH07CiAJc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBkZWNvcmF0ZV9yZWZzX2V4Y2x1ZGUgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogCXN0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgZGVjb3JhdGVfcmVmc19pbmNsdWRlID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKQEAgLTE5NywxMyArMjA4LDEzIEBACiAJaWYgKCFyZXYtPnNob3dfbm90ZXNfZ2l2ZW4gJiYgKCFyZXYtPnByZXR0eV9naXZlbiB8fCB3Lm5vdGVzKSkKIAkJcmV2LT5zaG93X25vdGVzID0gMTsKIAlpZiAocmV2LT5zaG93X25vdGVzKQotCQlpbml0X2Rpc3BsYXlfbm90ZXMoJnJldi0+bm90ZXNfb3B0KTsKKwkJbG9hZF9kaXNwbGF5X25vdGVzKCZyZXYtPm5vdGVzX29wdCk7CiAKIAlpZiAoKHJldi0+ZGlmZm9wdC5waWNrYXhlX29wdHMgJiBESUZGX1BJQ0tBWEVfS0lORFNfTUFTSykgfHwKIAkgICAgcmV2LT5kaWZmb3B0LmZpbHRlciB8fCByZXYtPmRpZmZvcHQuZmxhZ3MuZm9sbG93X3JlbmFtZXMpCiAJCXJldi0+YWx3YXlzX3Nob3dfaGVhZGVyID0gMDsKIAotCWlmIChzb3VyY2UpIHsKKwlpZiAoc291cmNlIHx8IHcuc291cmNlKSB7CiAJCWluaXRfcmV2aXNpb25fc291cmNlcygmcmV2aXNpb25fc291cmNlcyk7CiAJCXJldi0+c291cmNlcyA9ICZyZXZpc2lvbl9zb3VyY2VzOwogCX0KQEAgLTI0Niw3ICsyNTcsNyBAQAogICogVGhpcyBnaXZlcyBhIHJvdWdoIGVzdGltYXRlIGZvciBob3cgbWFueSBjb21taXRzIHdlCiAgKiB3aWxsIHByaW50IG91dCBpbiB0aGUgbGlzdC4KICAqLwotc3RhdGljIGludCBlc3RpbWF0ZV9jb21taXRfY291bnQoc3RydWN0IHJldl9pbmZvICpyZXYsIHN0cnVjdCBjb21taXRfbGlzdCAqbGlzdCkKK3N0YXRpYyBpbnQgZXN0aW1hdGVfY29tbWl0X2NvdW50KHN0cnVjdCBjb21taXRfbGlzdCAqbGlzdCkKIHsKIAlpbnQgbiA9IDA7CiAKQEAgLTI4NCw3ICsyOTUsNyBAQAogCQlzd2l0Y2ggKHNpbXBsaWZ5X2NvbW1pdChyZXZzLCBjb21taXQpKSB7CiAJCWNhc2UgY29tbWl0X3Nob3c6CiAJCQlpZiAoc2hvd19oZWFkZXIpIHsKLQkJCQlpbnQgbiA9IGVzdGltYXRlX2NvbW1pdF9jb3VudChyZXZzLCBsaXN0KTsKKwkJCQlpbnQgbiA9IGVzdGltYXRlX2NvbW1pdF9jb3VudChsaXN0KTsKIAkJCQlzaG93X2Vhcmx5X2hlYWRlcihyZXZzLCAiaW5jb21wbGV0ZSIsIG4pOwogCQkJCXNob3dfaGVhZGVyID0gMDsKIAkJCX0KQEAgLTMyOCw3ICszMzksNyBAQAogCXNob3dfZWFybHlfb3V0cHV0ID0gbG9nX3Nob3dfZWFybHk7CiB9CiAKLXN0YXRpYyB2b2lkIHNldHVwX2Vhcmx5X291dHB1dChzdHJ1Y3QgcmV2X2luZm8gKnJldikKK3N0YXRpYyB2b2lkIHNldHVwX2Vhcmx5X291dHB1dCh2b2lkKQogewogCXN0cnVjdCBzaWdhY3Rpb24gc2E7CiAKQEAgLTM1OSw3ICszNzAsNyBAQAogCiBzdGF0aWMgdm9pZCBmaW5pc2hfZWFybHlfb3V0cHV0KHN0cnVjdCByZXZfaW5mbyAqcmV2KQogewotCWludCBuID0gZXN0aW1hdGVfY29tbWl0X2NvdW50KHJldiwgcmV2LT5jb21taXRzKTsKKwlpbnQgbiA9IGVzdGltYXRlX2NvbW1pdF9jb3VudChyZXYtPmNvbW1pdHMpOwogCXNpZ25hbChTSUdBTFJNLCBTSUdfSUdOKTsKIAlzaG93X2Vhcmx5X2hlYWRlcihyZXYsICJkb25lIiwgbik7CiB9CkBAIC0zNzEsNyArMzgyLDcgQEAKIAlpbnQgc2F2ZWRfZGNjdGMgPSAwLCBjbG9zZV9maWxlID0gcmV2LT5kaWZmb3B0LmNsb3NlX2ZpbGU7CiAKIAlpZiAocmV2LT5lYXJseV9vdXRwdXQpCi0JCXNldHVwX2Vhcmx5X291dHB1dChyZXYpOworCQlzZXR1cF9lYXJseV9vdXRwdXQoKTsKIAogCWlmIChwcmVwYXJlX3JldmlzaW9uX3dhbGsocmV2KSkKIAkJZGllKF8oInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIikpOwpAQCAtMzk3LDcgKzQwOCw4IEBACiAJCQkgKiBXZSBtYXkgc2hvdyBhIGdpdmVuIGNvbW1pdCBtdWx0aXBsZSB0aW1lcyB3aGVuCiAJCQkgKiB3YWxraW5nIHRoZSByZWZsb2dzLgogCQkJICovCi0JCQlmcmVlX2NvbW1pdF9idWZmZXIoY29tbWl0KTsKKwkJCWZyZWVfY29tbWl0X2J1ZmZlcih0aGVfcmVwb3NpdG9yeS0+cGFyc2VkX29iamVjdHMsCisJCQkJCSAgIGNvbW1pdCk7CiAJCQlmcmVlX2NvbW1pdF9saXN0KGNvbW1pdC0+cGFyZW50cyk7CiAJCQljb21taXQtPnBhcmVudHMgPSBOVUxMOwogCQl9CkBAIC00ODQsNyArNDk2LDcgQEAKIAlyZXR1cm4gY21kX2xvZ193YWxrKCZyZXYpOwogfQogCi1zdGF0aWMgdm9pZCBzaG93X3RhZ2dlcihjaGFyICpidWYsIGludCBsZW4sIHN0cnVjdCByZXZfaW5mbyAqcmV2KQorc3RhdGljIHZvaWQgc2hvd190YWdnZXIoY29uc3QgY2hhciAqYnVmLCBzdHJ1Y3QgcmV2X2luZm8gKnJldikKIHsKIAlzdHJ1Y3Qgc3RyYnVmIG91dCA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBwcmV0dHlfcHJpbnRfY29udGV4dCBwcCA9IHswfTsKQEAgLTUwOCw5ICs1MjAsMTAgQEAKIAkgICAgIXJldi0+ZGlmZm9wdC5mbGFncy5hbGxvd190ZXh0Y29udikKIAkJcmV0dXJuIHN0cmVhbV9ibG9iX3RvX2ZkKDEsIG9pZCwgTlVMTCwgMCk7CiAKLQlpZiAoZ2V0X29pZF93aXRoX2NvbnRleHQob2JqX25hbWUsIEdFVF9PSURfUkVDT1JEX1BBVEgsCisJaWYgKGdldF9vaWRfd2l0aF9jb250ZXh0KHRoZV9yZXBvc2l0b3J5LCBvYmpfbmFtZSwKKwkJCQkgR0VUX09JRF9SRUNPUkRfUEFUSCwKIAkJCQkgJm9pZGMsICZvYmpfY29udGV4dCkpCi0JCWRpZShfKCJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIpLCBvYmpfbmFtZSk7CisJCWRpZShfKCJub3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIpLCBvYmpfbmFtZSk7CiAJaWYgKCFvYmpfY29udGV4dC5wYXRoIHx8CiAJICAgICF0ZXh0Y29udl9vYmplY3QodGhlX3JlcG9zaXRvcnksIG9ial9jb250ZXh0LnBhdGgsCiAJCQkgICAgIG9ial9jb250ZXh0Lm1vZGUsICZvaWRjLCAxLCAmYnVmLCAmc2l6ZSkpIHsKQEAgLTUzNCwxNiArNTQ3LDE2IEBACiAJaW50IG9mZnNldCA9IDA7CiAKIAlpZiAoIWJ1ZikKLQkJcmV0dXJuIGVycm9yKF8oIkNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIpLCBvaWRfdG9faGV4KG9pZCkpOworCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHJlYWQgb2JqZWN0ICVzIiksIG9pZF90b19oZXgob2lkKSk7CiAKIAlhc3NlcnQodHlwZSA9PSBPQkpfVEFHKTsKIAl3aGlsZSAob2Zmc2V0IDwgc2l6ZSAmJiBidWZbb2Zmc2V0XSAhPSAnXG4nKSB7CiAJCWludCBuZXdfb2Zmc2V0ID0gb2Zmc2V0ICsgMTsKKwkJY29uc3QgY2hhciAqaWRlbnQ7CiAJCXdoaWxlIChuZXdfb2Zmc2V0IDwgc2l6ZSAmJiBidWZbbmV3X29mZnNldCsrXSAhPSAnXG4nKQogCQkJOyAvKiBkbyBub3RoaW5nICovCi0JCWlmIChzdGFydHNfd2l0aChidWYgKyBvZmZzZXQsICJ0YWdnZXIgIikpCi0JCQlzaG93X3RhZ2dlcihidWYgKyBvZmZzZXQgKyA3LAotCQkJCSAgICBuZXdfb2Zmc2V0IC0gb2Zmc2V0IC0gNywgcmV2KTsKKwkJaWYgKHNraXBfcHJlZml4KGJ1ZiArIG9mZnNldCwgInRhZ2dlciAiLCAmaWRlbnQpKQorCQkJc2hvd190YWdnZXIoaWRlbnQsIHJldik7CiAJCW9mZnNldCA9IG5ld19vZmZzZXQ7CiAJfQogCkBAIC02MTUsNiArNjI4LDcgQEAKIAkJCWJyZWFrOwogCQljYXNlIE9CSl9UQUc6IHsKIAkJCXN0cnVjdCB0YWcgKnQgPSAoc3RydWN0IHRhZyAqKW87CisJCQlzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQgPSBnZXRfdGFnZ2VkX29pZCh0KTsKIAogCQkJaWYgKHJldi5zaG93bl9vbmUpCiAJCQkJcHV0Y2hhcignXG4nKTsKQEAgLTYyNiwxMCArNjQwLDEwIEBACiAJCQlyZXYuc2hvd25fb25lID0gMTsKIAkJCWlmIChyZXQpCiAJCQkJYnJlYWs7Ci0JCQlvID0gcGFyc2Vfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCAmdC0+dGFnZ2VkLT5vaWQpOworCQkJbyA9IHBhcnNlX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgb2lkKTsKIAkJCWlmICghbykKLQkJCQlyZXQgPSBlcnJvcihfKCJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiKSwKLQkJCQkJICAgIG9pZF90b19oZXgoJnQtPnRhZ2dlZC0+b2lkKSk7CisJCQkJcmV0ID0gZXJyb3IoXygiY291bGQgbm90IHJlYWQgb2JqZWN0ICVzIiksCisJCQkJCSAgICBvaWRfdG9faGV4KG9pZCkpOwogCQkJb2JqZWN0c1tpXS5pdGVtID0gbzsKIAkJCWktLTsKIAkJCWJyZWFrOwpAQCAtNjQxLDggKzY1NSw5IEBACiAJCQkJCWRpZmZfZ2V0X2NvbG9yX29wdCgmcmV2LmRpZmZvcHQsIERJRkZfQ09NTUlUKSwKIAkJCQkJbmFtZSwKIAkJCQkJZGlmZl9nZXRfY29sb3Jfb3B0KCZyZXYuZGlmZm9wdCwgRElGRl9SRVNFVCkpOwotCQkJcmVhZF90cmVlX3JlY3Vyc2l2ZSgoc3RydWN0IHRyZWUgKilvLCAiIiwgMCwgMCwgJm1hdGNoX2FsbCwKLQkJCQkJc2hvd190cmVlX29iamVjdCwgcmV2LmRpZmZvcHQuZmlsZSk7CisJCQlyZWFkX3RyZWVfcmVjdXJzaXZlKHRoZV9yZXBvc2l0b3J5LCAoc3RydWN0IHRyZWUgKilvLCAiIiwKKwkJCQkJICAgIDAsIDAsICZtYXRjaF9hbGwsIHNob3dfdHJlZV9vYmplY3QsCisJCQkJCSAgICByZXYuZGlmZm9wdC5maWxlKTsKIAkJCXJldi5zaG93bl9vbmUgPSAxOwogCQkJYnJlYWs7CiAJCWNhc2UgT0JKX0NPTU1JVDoKQEAgLTY1Miw3ICs2NjcsNyBAQAogCQkJcmV0ID0gY21kX2xvZ193YWxrKCZyZXYpOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6Ci0JCQlyZXQgPSBlcnJvcihfKCJVbmtub3duIHR5cGU6ICVkIiksIG8tPnR5cGUpOworCQkJcmV0ID0gZXJyb3IoXygidW5rbm93biB0eXBlOiAlZCIpLCBvLT50eXBlKTsKIAkJfQogCX0KIAlmcmVlKG9iamVjdHMpOwpAQCAtNzUxLDI0ICs3NjYsNTQgQEAKIAlpdGVtLT5zdHJpbmdbbGVuXSA9ICdcMCc7CiB9CiAKLSNkZWZpbmUgVEhSRUFEX1NIQUxMT1cgMQotI2RlZmluZSBUSFJFQURfREVFUCAyCi1zdGF0aWMgaW50IHRocmVhZDsKLXN0YXRpYyBpbnQgZG9fc2lnbm9mZjsKLXN0YXRpYyBpbnQgYmFzZV9hdXRvOwotc3RhdGljIGNoYXIgKmZyb207Ci1zdGF0aWMgY29uc3QgY2hhciAqc2lnbmF0dXJlID0gZ2l0X3ZlcnNpb25fc3RyaW5nOwotc3RhdGljIGNvbnN0IGNoYXIgKnNpZ25hdHVyZV9maWxlOwotc3RhdGljIGludCBjb25maWdfY292ZXJfbGV0dGVyOwotc3RhdGljIGNvbnN0IGNoYXIgKmNvbmZpZ19vdXRwdXRfZGlyZWN0b3J5OwotCi1lbnVtIHsKK2VudW0gY292ZXJfc2V0dGluZyB7CiAJQ09WRVJfVU5TRVQsCiAJQ09WRVJfT0ZGLAogCUNPVkVSX09OLAogCUNPVkVSX0FVVE8KIH07CiAKK2VudW0gdGhyZWFkX2xldmVsIHsKKwlUSFJFQURfVU5TRVQsCisJVEhSRUFEX1NIQUxMT1csCisJVEhSRUFEX0RFRVAKK307CisKK2VudW0gY292ZXJfZnJvbV9kZXNjcmlwdGlvbiB7CisJQ09WRVJfRlJPTV9OT05FLAorCUNPVkVSX0ZST01fTUVTU0FHRSwKKwlDT1ZFUl9GUk9NX1NVQkpFQ1QsCisJQ09WRVJfRlJPTV9BVVRPCit9OworCitzdGF0aWMgZW51bSB0aHJlYWRfbGV2ZWwgdGhyZWFkOworc3RhdGljIGludCBkb19zaWdub2ZmOworc3RhdGljIGludCBiYXNlX2F1dG87CitzdGF0aWMgY2hhciAqZnJvbTsKK3N0YXRpYyBjb25zdCBjaGFyICpzaWduYXR1cmUgPSBnaXRfdmVyc2lvbl9zdHJpbmc7CitzdGF0aWMgY29uc3QgY2hhciAqc2lnbmF0dXJlX2ZpbGU7CitzdGF0aWMgZW51bSBjb3Zlcl9zZXR0aW5nIGNvbmZpZ19jb3Zlcl9sZXR0ZXI7CitzdGF0aWMgY29uc3QgY2hhciAqY29uZmlnX291dHB1dF9kaXJlY3Rvcnk7CitzdGF0aWMgZW51bSBjb3Zlcl9mcm9tX2Rlc2NyaXB0aW9uIGNvdmVyX2Zyb21fZGVzY3JpcHRpb25fbW9kZSA9IENPVkVSX0ZST01fTUVTU0FHRTsKK3N0YXRpYyBpbnQgc2hvd19ub3RlczsKK3N0YXRpYyBzdHJ1Y3QgZGlzcGxheV9ub3Rlc19vcHQgbm90ZXNfb3B0OworCitzdGF0aWMgZW51bSBjb3Zlcl9mcm9tX2Rlc2NyaXB0aW9uIHBhcnNlX2NvdmVyX2Zyb21fZGVzY3JpcHRpb24oY29uc3QgY2hhciAqYXJnKQoreworCWlmICghYXJnIHx8ICFzdHJjbXAoYXJnLCAiZGVmYXVsdCIpKQorCQlyZXR1cm4gQ09WRVJfRlJPTV9NRVNTQUdFOworCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAibm9uZSIpKQorCQlyZXR1cm4gQ09WRVJfRlJPTV9OT05FOworCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAibWVzc2FnZSIpKQorCQlyZXR1cm4gQ09WRVJfRlJPTV9NRVNTQUdFOworCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAic3ViamVjdCIpKQorCQlyZXR1cm4gQ09WRVJfRlJPTV9TVUJKRUNUOworCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiYXV0byIpKQorCQlyZXR1cm4gQ09WRVJfRlJPTV9BVVRPOworCWVsc2UKKwkJZGllKF8oIiVzOiBpbnZhbGlkIGNvdmVyIGZyb20gZGVzY3JpcHRpb24gbW9kZSIpLCBhcmcpOworfQorCiBzdGF0aWMgaW50IGdpdF9mb3JtYXRfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKQogewogCWlmICghc3RyY21wKHZhciwgImZvcm1hdC5oZWFkZXJzIikpIHsKQEAgLTgyMCw3ICs4NjUsNyBAQAogCQkJdGhyZWFkID0gVEhSRUFEX1NIQUxMT1c7CiAJCQlyZXR1cm4gMDsKIAkJfQotCQl0aHJlYWQgPSBnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSkgJiYgVEhSRUFEX1NIQUxMT1c7CisJCXRocmVhZCA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKSA/IFRIUkVBRF9TSEFMTE9XIDogVEhSRUFEX1VOU0VUOwogCQlyZXR1cm4gMDsKIAl9CiAJaWYgKCFzdHJjbXAodmFyLCAiZm9ybWF0LnNpZ25vZmYiKSkgewpAQCAtODU2LDYgKzkwMSwyMCBAQAogCQkJZnJvbSA9IE5VTEw7CiAJCXJldHVybiAwOwogCX0KKwlpZiAoIXN0cmNtcCh2YXIsICJmb3JtYXQubm90ZXMiKSkgeworCQlpbnQgYiA9IGdpdF9wYXJzZV9tYXliZV9ib29sKHZhbHVlKTsKKwkJaWYgKGIgPCAwKQorCQkJZW5hYmxlX3JlZl9kaXNwbGF5X25vdGVzKCZub3Rlc19vcHQsICZzaG93X25vdGVzLCB2YWx1ZSk7CisJCWVsc2UgaWYgKGIpCisJCQllbmFibGVfZGVmYXVsdF9kaXNwbGF5X25vdGVzKCZub3Rlc19vcHQsICZzaG93X25vdGVzKTsKKwkJZWxzZQorCQkJZGlzYWJsZV9kaXNwbGF5X25vdGVzKCZub3Rlc19vcHQsICZzaG93X25vdGVzKTsKKwkJcmV0dXJuIDA7CisJfQorCWlmICghc3RyY21wKHZhciwgImZvcm1hdC5jb3ZlcmZyb21kZXNjcmlwdGlvbiIpKSB7CisJCWNvdmVyX2Zyb21fZGVzY3JpcHRpb25fbW9kZSA9IHBhcnNlX2NvdmVyX2Zyb21fZGVzY3JpcHRpb24odmFsdWUpOworCQlyZXR1cm4gMDsKKwl9CiAKIAlyZXR1cm4gZ2l0X2xvZ19jb25maWcodmFyLCB2YWx1ZSwgY2IpOwogfQpAQCAtODkwLDcgKzk0OSw3IEBACiAJCXByaW50ZigiJXNcbiIsIGZpbGVuYW1lLmJ1ZiArIG91dGRpcl9vZmZzZXQpOwogCiAJaWYgKChyZXYtPmRpZmZvcHQuZmlsZSA9IGZvcGVuKGZpbGVuYW1lLmJ1ZiwgInciKSkgPT0gTlVMTCkgewotCQllcnJvcl9lcnJubyhfKCJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIiksIGZpbGVuYW1lLmJ1Zik7CisJCWVycm9yX2Vycm5vKF8oImNhbm5vdCBvcGVuIHBhdGNoIGZpbGUgJXMiKSwgZmlsZW5hbWUuYnVmKTsKIAkJc3RyYnVmX3JlbGVhc2UoJmZpbGVuYW1lKTsKIAkJcmV0dXJuIC0xOwogCX0KQEAgLTkwNyw3ICs5NjYsNyBAQAogCXVuc2lnbmVkIGZsYWdzMSwgZmxhZ3MyOwogCiAJaWYgKHJldi0+cGVuZGluZy5uciAhPSAyKQotCQlkaWUoXygiTmVlZCBleGFjdGx5IG9uZSByYW5nZS4iKSk7CisJCWRpZShfKCJuZWVkIGV4YWN0bHkgb25lIHJhbmdlIikpOwogCiAJbzEgPSByZXYtPnBlbmRpbmcub2JqZWN0c1swXS5pdGVtOwogCW8yID0gcmV2LT5wZW5kaW5nLm9iamVjdHNbMV0uaXRlbTsKQEAgLTkxNyw3ICs5NzYsNyBAQAogCWMyID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UodGhlX3JlcG9zaXRvcnksICZvMi0+b2lkKTsKIAogCWlmICgoZmxhZ3MxICYgVU5JTlRFUkVTVElORykgPT0gKGZsYWdzMiAmIFVOSU5URVJFU1RJTkcpKQotCQlkaWUoXygiTm90IGEgcmFuZ2UuIikpOworCQlkaWUoXygibm90IGEgcmFuZ2UiKSk7CiAKIAlpbml0X3BhdGNoX2lkcyh0aGVfcmVwb3NpdG9yeSwgaWRzKTsKIApAQCAtOTYyLDIwICsxMDIxLDYgQEAKIAlwdXRjKCdcbicsIGZpbGUpOwogfQogCi1zdGF0aWMgdm9pZCBhZGRfYnJhbmNoX2Rlc2NyaXB0aW9uKHN0cnVjdCBzdHJidWYgKmJ1ZiwgY29uc3QgY2hhciAqYnJhbmNoX25hbWUpCi17Ci0Jc3RydWN0IHN0cmJ1ZiBkZXNjID0gU1RSQlVGX0lOSVQ7Ci0JaWYgKCFicmFuY2hfbmFtZSB8fCAhKmJyYW5jaF9uYW1lKQotCQlyZXR1cm47Ci0JcmVhZF9icmFuY2hfZGVzYygmZGVzYywgYnJhbmNoX25hbWUpOwotCWlmIChkZXNjLmxlbikgewotCQlzdHJidWZfYWRkY2goYnVmLCAnXG4nKTsKLQkJc3RyYnVmX2FkZGJ1ZihidWYsICZkZXNjKTsKLQkJc3RyYnVmX2FkZGNoKGJ1ZiwgJ1xuJyk7Ci0JfQotCXN0cmJ1Zl9yZWxlYXNlKCZkZXNjKTsKLX0KLQogc3RhdGljIGNoYXIgKmZpbmRfYnJhbmNoX25hbWUoc3RydWN0IHJldl9pbmZvICpyZXYpCiB7CiAJaW50IGksIHBvc2l0aXZlID0gLTE7CkBAIC0xMDIyLDYgKzEwNjcsNjMgQEAKIAlmcHJpbnRmKHJldi0+ZGlmZm9wdC5maWxlLCAiXG4iKTsKIH0KIAorc3RhdGljIHZvaWQgcHJlcGFyZV9jb3Zlcl90ZXh0KHN0cnVjdCBwcmV0dHlfcHJpbnRfY29udGV4dCAqcHAsCisJCQkgICAgICAgY29uc3QgY2hhciAqYnJhbmNoX25hbWUsCisJCQkgICAgICAgc3RydWN0IHN0cmJ1ZiAqc2IsCisJCQkgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsCisJCQkgICAgICAgaW50IG5lZWRfOGJpdF9jdGUpCit7CisJY29uc3QgY2hhciAqc3ViamVjdCA9ICIqKiogU1VCSkVDVCBIRVJFICoqKiI7CisJY29uc3QgY2hhciAqYm9keSA9ICIqKiogQkxVUkIgSEVSRSAqKioiOworCXN0cnVjdCBzdHJidWYgZGVzY3JpcHRpb25fc2IgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIHN1YmplY3Rfc2IgPSBTVFJCVUZfSU5JVDsKKworCWlmIChjb3Zlcl9mcm9tX2Rlc2NyaXB0aW9uX21vZGUgPT0gQ09WRVJfRlJPTV9OT05FKQorCQlnb3RvIGRvX3BwOworCisJaWYgKGJyYW5jaF9uYW1lICYmICpicmFuY2hfbmFtZSkKKwkJcmVhZF9icmFuY2hfZGVzYygmZGVzY3JpcHRpb25fc2IsIGJyYW5jaF9uYW1lKTsKKwlpZiAoIWRlc2NyaXB0aW9uX3NiLmxlbikKKwkJZ290byBkb19wcDsKKworCWlmIChjb3Zlcl9mcm9tX2Rlc2NyaXB0aW9uX21vZGUgPT0gQ09WRVJfRlJPTV9TVUJKRUNUIHx8CisJCQljb3Zlcl9mcm9tX2Rlc2NyaXB0aW9uX21vZGUgPT0gQ09WRVJfRlJPTV9BVVRPKQorCQlib2R5ID0gZm9ybWF0X3N1YmplY3QoJnN1YmplY3Rfc2IsIGRlc2NyaXB0aW9uX3NiLmJ1ZiwgIiAiKTsKKworCWlmIChjb3Zlcl9mcm9tX2Rlc2NyaXB0aW9uX21vZGUgPT0gQ09WRVJfRlJPTV9NRVNTQUdFIHx8CisJCQkoY292ZXJfZnJvbV9kZXNjcmlwdGlvbl9tb2RlID09IENPVkVSX0ZST01fQVVUTyAmJgorCQkJIHN1YmplY3Rfc2IubGVuID4gQ09WRVJfRlJPTV9BVVRPX01BWF9TVUJKRUNUX0xFTikpCisJCWJvZHkgPSBkZXNjcmlwdGlvbl9zYi5idWY7CisJZWxzZQorCQlzdWJqZWN0ID0gc3ViamVjdF9zYi5idWY7CisKK2RvX3BwOgorCXBwX3RpdGxlX2xpbmUocHAsICZzdWJqZWN0LCBzYiwgZW5jb2RpbmcsIG5lZWRfOGJpdF9jdGUpOworCXBwX3JlbWFpbmRlcihwcCwgJmJvZHksIHNiLCAwKTsKKworCXN0cmJ1Zl9yZWxlYXNlKCZkZXNjcmlwdGlvbl9zYik7CisJc3RyYnVmX3JlbGVhc2UoJnN1YmplY3Rfc2IpOworfQorCitzdGF0aWMgaW50IGdldF9ub3Rlc19yZWZzKHN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtLCB2b2lkICphcmcpCit7CisJYXJndl9hcnJheV9wdXNoZihhcmcsICItLW5vdGVzPSVzIiwgaXRlbS0+c3RyaW5nKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgZ2V0X25vdGVzX2FyZ3Moc3RydWN0IGFyZ3ZfYXJyYXkgKmFyZywgc3RydWN0IHJldl9pbmZvICpyZXYpCit7CisJaWYgKCFyZXYtPnNob3dfbm90ZXMpIHsKKwkJYXJndl9hcnJheV9wdXNoKGFyZywgIi0tbm8tbm90ZXMiKTsKKwl9IGVsc2UgaWYgKHJldi0+bm90ZXNfb3B0LnVzZV9kZWZhdWx0X25vdGVzID4gMCB8fAorCQkgICAocmV2LT5ub3Rlc19vcHQudXNlX2RlZmF1bHRfbm90ZXMgPT0gLTEgJiYKKwkJICAgICFyZXYtPm5vdGVzX29wdC5leHRyYV9ub3Rlc19yZWZzLm5yKSkgeworCQlhcmd2X2FycmF5X3B1c2goYXJnLCAiLS1ub3RlcyIpOworCX0gZWxzZSB7CisJCWZvcl9lYWNoX3N0cmluZ19saXN0KCZyZXYtPm5vdGVzX29wdC5leHRyYV9ub3Rlc19yZWZzLCBnZXRfbm90ZXNfcmVmcywgYXJnKTsKKwl9Cit9CisKIHN0YXRpYyB2b2lkIG1ha2VfY292ZXJfbGV0dGVyKHN0cnVjdCByZXZfaW5mbyAqcmV2LCBpbnQgdXNlX3N0ZG91dCwKIAkJCSAgICAgIHN0cnVjdCBjb21taXQgKm9yaWdpbiwKIAkJCSAgICAgIGludCBuciwgc3RydWN0IGNvbW1pdCAqKmxpc3QsCkBAIC0xMDI5LDggKzExMzEsNiBAQAogCQkJICAgICAgaW50IHF1aWV0KQogewogCWNvbnN0IGNoYXIgKmNvbW1pdHRlcjsKLQljb25zdCBjaGFyICpib2R5ID0gIioqKiBTVUJKRUNUIEhFUkUgKioqXG5cbioqKiBCTFVSQiBIRVJFICoqKlxuIjsKLQljb25zdCBjaGFyICptc2c7CiAJc3RydWN0IHNob3J0bG9nIGxvZzsKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJaW50IGk7CkBAIC0xMDQwLDEzICsxMTQwLDEzIEBACiAJc3RydWN0IGNvbW1pdCAqaGVhZCA9IGxpc3RbMF07CiAKIAlpZiAoIWNtaXRfZm10X2lzX21haWwocmV2LT5jb21taXRfZm9ybWF0KSkKLQkJZGllKF8oIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiKSk7CisJCWRpZShfKCJjb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IikpOwogCiAJY29tbWl0dGVyID0gZ2l0X2NvbW1pdHRlcl9pbmZvKDApOwogCiAJaWYgKCF1c2Vfc3Rkb3V0ICYmCiAJICAgIG9wZW5fbmV4dF9maWxlKE5VTEwsIHJldi0+bnVtYmVyZWRfZmlsZXMgPyBOVUxMIDogImNvdmVyLWxldHRlciIsIHJldiwgcXVpZXQpKQotCQlyZXR1cm47CisJCWRpZShfKCJmYWlsZWQgdG8gY3JlYXRlIGNvdmVyLWxldHRlciBmaWxlIikpOwogCiAJbG9nX3dyaXRlX2VtYWlsX2hlYWRlcnMocmV2LCBoZWFkLCAmcHAuYWZ0ZXJfc3ViamVjdCwgJm5lZWRfOGJpdF9jdGUsIDApOwogCkBAIC0xMDYwLDE1ICsxMTYwLDEyIEBACiAJaWYgKCFicmFuY2hfbmFtZSkKIAkJYnJhbmNoX25hbWUgPSBmaW5kX2JyYW5jaF9uYW1lKHJldik7CiAKLQltc2cgPSBib2R5OwogCXBwLmZtdCA9IENNSVRfRk1UX0VNQUlMOwogCXBwLmRhdGVfbW9kZS50eXBlID0gREFURV9SRkMyODIyOwogCXBwLnJldiA9IHJldjsKIAlwcC5wcmludF9lbWFpbF9zdWJqZWN0ID0gMTsKIAlwcF91c2VyX2luZm8oJnBwLCBOVUxMLCAmc2IsIGNvbW1pdHRlciwgZW5jb2RpbmcpOwotCXBwX3RpdGxlX2xpbmUoJnBwLCAmbXNnLCAmc2IsIGVuY29kaW5nLCBuZWVkXzhiaXRfY3RlKTsKLQlwcF9yZW1haW5kZXIoJnBwLCAmbXNnLCAmc2IsIDApOwotCWFkZF9icmFuY2hfZGVzY3JpcHRpb24oJnNiLCBicmFuY2hfbmFtZSk7CisJcHJlcGFyZV9jb3Zlcl90ZXh0KCZwcCwgYnJhbmNoX25hbWUsICZzYiwgZW5jb2RpbmcsIG5lZWRfOGJpdF9jdGUpOwogCWZwcmludGYocmV2LT5kaWZmb3B0LmZpbGUsICIlc1xuIiwgc2IuYnVmKTsKIAogCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CkBAIC0xMDk5LDEzICsxMTk2LDE2IEBACiAJCSAqIGNhbiBiZSBhZGRlZCBsYXRlciBpZiBkZWVtZWQgZGVzaXJhYmxlLgogCQkgKi8KIAkJc3RydWN0IGRpZmZfb3B0aW9ucyBvcHRzOworCQlzdHJ1Y3QgYXJndl9hcnJheSBvdGhlcl9hcmcgPSBBUkdWX0FSUkFZX0lOSVQ7CiAJCWRpZmZfc2V0dXAoJm9wdHMpOwogCQlvcHRzLmZpbGUgPSByZXYtPmRpZmZvcHQuZmlsZTsKIAkJb3B0cy51c2VfY29sb3IgPSByZXYtPmRpZmZvcHQudXNlX2NvbG9yOwogCQlkaWZmX3NldHVwX2RvbmUoJm9wdHMpOwogCQlmcHJpbnRmX2xuKHJldi0+ZGlmZm9wdC5maWxlLCAiJXMiLCByZXYtPnJkaWZmX3RpdGxlKTsKKwkJZ2V0X25vdGVzX2FyZ3MoJm90aGVyX2FyZywgcmV2KTsKIAkJc2hvd19yYW5nZV9kaWZmKHJldi0+cmRpZmYxLCByZXYtPnJkaWZmMiwKLQkJCQlyZXYtPmNyZWF0aW9uX2ZhY3RvciwgMSwgJm9wdHMpOworCQkJCXJldi0+Y3JlYXRpb25fZmFjdG9yLCAxLCAmb3B0cywgJm90aGVyX2FyZyk7CisJCWFyZ3ZfYXJyYXlfY2xlYXIoJm90aGVyX2FyZyk7CiAJfQogfQogCkBAIC0xMjEwLDIwICsxMzEwLDI0IEBACiAJY29uc3QgY2hhciAqKmRpciA9IChjb25zdCBjaGFyICoqKW9wdC0+dmFsdWU7CiAJQlVHX09OX09QVF9ORUcodW5zZXQpOwogCWlmICgqZGlyKQotCQlkaWUoXygiVHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iKSk7CisJCWRpZShfKCJ0d28gb3V0cHV0IGRpcmVjdG9yaWVzPyIpKTsKIAkqZGlyID0gYXJnOwogCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IHRocmVhZF9jYWxsYmFjayhjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQogewotCWludCAqdGhyZWFkID0gKGludCAqKW9wdC0+dmFsdWU7CisJZW51bSB0aHJlYWRfbGV2ZWwgKnRocmVhZCA9IChlbnVtIHRocmVhZF9sZXZlbCAqKW9wdC0+dmFsdWU7CiAJaWYgKHVuc2V0KQotCQkqdGhyZWFkID0gMDsKKwkJKnRocmVhZCA9IFRIUkVBRF9VTlNFVDsKIAllbHNlIGlmICghYXJnIHx8ICFzdHJjbXAoYXJnLCAic2hhbGxvdyIpKQogCQkqdGhyZWFkID0gVEhSRUFEX1NIQUxMT1c7CiAJZWxzZSBpZiAoIXN0cmNtcChhcmcsICJkZWVwIikpCiAJCSp0aHJlYWQgPSBUSFJFQURfREVFUDsKKwkvKgorCSAqIFBsZWFzZSB1cGRhdGUgX2dpdF9mb3JtYXRwYXRjaCgpIGluIGdpdC1jb21wbGV0aW9uLmJhc2gKKwkgKiB3aGVuIHlvdSBhZGQgbmV3IG9wdGlvbnMuCisJICovCiAJZWxzZQogCQlyZXR1cm4gMTsKIAlyZXR1cm4gMDsKQEAgLTEyNjIsNyArMTM2Niw3IEBACiAJCXN0cmluZ19saXN0X2NsZWFyKCZleHRyYV90bywgMCk7CiAJCXN0cmluZ19saXN0X2NsZWFyKCZleHRyYV9jYywgMCk7CiAJfSBlbHNlIHsKLQkgICAgYWRkX2hlYWRlcihhcmcpOworCQlhZGRfaGVhZGVyKGFyZyk7CiAJfQogCXJldHVybiAwOwogfQpAQCAtMTMxNyw4ICsxNDIxLDggQEAKIAlpZiAoYmFzZV9jb21taXQgJiYgc3RyY21wKGJhc2VfY29tbWl0LCAiYXV0byIpKSB7CiAJCWJhc2UgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9ieV9uYW1lKGJhc2VfY29tbWl0KTsKIAkJaWYgKCFiYXNlKQotCQkJZGllKF8oIlVua25vd24gY29tbWl0ICVzIiksIGJhc2VfY29tbWl0KTsKLQl9IGVsc2UgaWYgKChiYXNlX2NvbW1pdCAmJiAhc3RyY21wKGJhc2VfY29tbWl0LCAiYXV0byIpKSB8fCBiYXNlX2F1dG8pIHsKKwkJCWRpZShfKCJ1bmtub3duIGNvbW1pdCAlcyIpLCBiYXNlX2NvbW1pdCk7CisJfSBlbHNlIGlmICgoYmFzZV9jb21taXQgJiYgIXN0cmNtcChiYXNlX2NvbW1pdCwgImF1dG8iKSkpIHsKIAkJc3RydWN0IGJyYW5jaCAqY3Vycl9icmFuY2ggPSBicmFuY2hfZ2V0KE5VTEwpOwogCQljb25zdCBjaGFyICp1cHN0cmVhbSA9IGJyYW5jaF9nZXRfdXBzdHJlYW0oY3Vycl9icmFuY2gsIE5VTEwpOwogCQlpZiAodXBzdHJlYW0pIHsKQEAgLTEzMjcsMTggKzE0MzEsMTggQEAKIAkJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCiAJCQlpZiAoZ2V0X29pZCh1cHN0cmVhbSwgJm9pZCkpCi0JCQkJZGllKF8oIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIiksIHVwc3RyZWFtKTsKKwkJCQlkaWUoXygiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZiIpLCB1cHN0cmVhbSk7CiAJCQljb21taXQgPSBsb29rdXBfY29tbWl0X29yX2RpZSgmb2lkLCAidXBzdHJlYW0gYmFzZSIpOwogCQkJYmFzZV9saXN0ID0gZ2V0X21lcmdlX2Jhc2VzX21hbnkoY29tbWl0LCB0b3RhbCwgbGlzdCk7CiAJCQkvKiBUaGVyZSBzaG91bGQgYmUgb25lIGFuZCBvbmx5IG9uZSBtZXJnZSBiYXNlLiAqLwogCQkJaWYgKCFiYXNlX2xpc3QgfHwgYmFzZV9saXN0LT5uZXh0KQotCQkJCWRpZShfKCJDb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlLiIpKTsKKwkJCQlkaWUoXygiY291bGQgbm90IGZpbmQgZXhhY3QgbWVyZ2UgYmFzZSIpKTsKIAkJCWJhc2UgPSBiYXNlX2xpc3QtPml0ZW07CiAJCQlmcmVlX2NvbW1pdF9saXN0KGJhc2VfbGlzdCk7CiAJCX0gZWxzZSB7Ci0JCQlkaWUoXygiRmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCisJCQlkaWUoXygiZmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCiAJCQkgICAgICAicGxlYXNlIHVzZSBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIHRvIHRyYWNrIGEgcmVtb3RlIGJyYW5jaC5cbiIKLQkJCSAgICAgICJPciB5b3UgY291bGQgc3BlY2lmeSBiYXNlIGNvbW1pdCBieSAtLWJhc2U9PGJhc2UtY29tbWl0LWlkPiBtYW51YWxseS4iKSk7CisJCQkgICAgICAiT3IgeW91IGNvdWxkIHNwZWNpZnkgYmFzZSBjb21taXQgYnkgLS1iYXNlPTxiYXNlLWNvbW1pdC1pZD4gbWFudWFsbHkiKSk7CiAJCX0KIAl9CiAKQEAgLTEzNTYsNyArMTQ2MCw3IEBACiAJCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKm1lcmdlX2Jhc2U7CiAJCQltZXJnZV9iYXNlID0gZ2V0X21lcmdlX2Jhc2VzKHJldlsyICogaV0sIHJldlsyICogaSArIDFdKTsKIAkJCWlmICghbWVyZ2VfYmFzZSB8fCBtZXJnZV9iYXNlLT5uZXh0KQotCQkJCWRpZShfKCJGYWlsZWQgdG8gZmluZCBleGFjdCBtZXJnZSBiYXNlIikpOworCQkJCWRpZShfKCJmYWlsZWQgdG8gZmluZCBleGFjdCBtZXJnZSBiYXNlIikpOwogCiAJCQlyZXZbaV0gPSBtZXJnZV9iYXNlLT5pdGVtOwogCQl9CkBAIC0xNDIzLDcgKzE1MjcsNyBAQAogCQlzdHJ1Y3Qgb2JqZWN0X2lkICpwYXRjaF9pZDsKIAkJaWYgKCpjb21taXRfYmFzZV9hdCgmY29tbWl0X2Jhc2UsIGNvbW1pdCkpCiAJCQljb250aW51ZTsKLQkJaWYgKGNvbW1pdF9wYXRjaF9pZChjb21taXQsICZkaWZmb3B0LCAmb2lkLCAwKSkKKwkJaWYgKGNvbW1pdF9wYXRjaF9pZChjb21taXQsICZkaWZmb3B0LCAmb2lkLCAwLCAxKSkKIAkJCWRpZShfKCJjYW5ub3QgZ2V0IHBhdGNoIGlkIikpOwogCQlBTExPQ19HUk9XKGJhc2VzLT5wYXRjaF9pZCwgYmFzZXMtPm5yX3BhdGNoX2lkICsgMSwgYmFzZXMtPmFsbG9jX3BhdGNoX2lkKTsKIAkJcGF0Y2hfaWQgPSBiYXNlcy0+cGF0Y2hfaWQgKyBiYXNlcy0+bnJfcGF0Y2hfaWQ7CkBAIC0xNTA2LDYgKzE2MTAsNyBAQAogCWludCB1c2VfcGF0Y2hfZm9ybWF0ID0gMDsKIAlpbnQgcXVpZXQgPSAwOwogCWludCByZXJvbGxfY291bnQgPSAtMTsKKwljaGFyICpjb3Zlcl9mcm9tX2Rlc2NyaXB0aW9uX2FyZyA9IE5VTEw7CiAJY2hhciAqYnJhbmNoX25hbWUgPSBOVUxMOwogCWNoYXIgKmJhc2VfY29tbWl0ID0gTlVMTDsKIAlzdHJ1Y3QgYmFzZV90cmVlX2luZm8gYmFzZXM7CkBAIC0xNTQyLDYgKzE2NDcsOSBAQAogCQl7IE9QVElPTl9DQUxMQkFDSywgMCwgInJmYyIsICZyZXYsIE5VTEwsCiAJCQkgICAgTl8oIlVzZSBbUkZDIFBBVENIXSBpbnN0ZWFkIG9mIFtQQVRDSF0iKSwKIAkJCSAgICBQQVJTRV9PUFRfTk9BUkcgfCBQQVJTRV9PUFRfTk9ORUcsIHJmY19jYWxsYmFjayB9LAorCQlPUFRfU1RSSU5HKDAsICJjb3Zlci1mcm9tLWRlc2NyaXB0aW9uIiwgJmNvdmVyX2Zyb21fZGVzY3JpcHRpb25fYXJnLAorCQkJICAgIE5fKCJjb3Zlci1mcm9tLWRlc2NyaXB0aW9uLW1vZGUiKSwKKwkJCSAgICBOXygiZ2VuZXJhdGUgcGFydHMgb2YgYSBjb3ZlciBsZXR0ZXIgYmFzZWQgb24gYSBicmFuY2gncyBkZXNjcmlwdGlvbiIpKSwKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJzdWJqZWN0LXByZWZpeCIsICZyZXYsIE5fKCJwcmVmaXgiKSwKIAkJCSAgICBOXygiVXNlIFs8cHJlZml4Pl0gaW5zdGVhZCBvZiBbUEFUQ0hdIiksCiAJCQkgICAgUEFSU0VfT1BUX05PTkVHLCBzdWJqZWN0X3ByZWZpeF9jYWxsYmFjayB9LApAQCAtMTYwNSw4ICsxNzEzLDExIEBACiAJZXh0cmFfdG8uc3RyZHVwX3N0cmluZ3MgPSAxOwogCWV4dHJhX2NjLnN0cmR1cF9zdHJpbmdzID0gMTsKIAlpbml0X2xvZ19kZWZhdWx0cygpOworCWluaXRfZGlzcGxheV9ub3Rlcygmbm90ZXNfb3B0KTsKIAlnaXRfY29uZmlnKGdpdF9mb3JtYXRfY29uZmlnLCBOVUxMKTsKIAlyZXBvX2luaXRfcmV2aXNpb25zKHRoZV9yZXBvc2l0b3J5LCAmcmV2LCBwcmVmaXgpOworCXJldi5zaG93X25vdGVzID0gc2hvd19ub3RlczsKKwltZW1jcHkoJnJldi5ub3Rlc19vcHQsICZub3Rlc19vcHQsIHNpemVvZihub3Rlc19vcHQpKTsKIAlyZXYuY29tbWl0X2Zvcm1hdCA9IENNSVRfRk1UX0VNQUlMOwogCXJldi5leHBhbmRfdGFic19pbl9sb2dfZGVmYXVsdCA9IDA7CiAJcmV2LnZlcmJvc2VfaGVhZGVyID0gMTsKQEAgLTE2MTgsNiArMTcyOSw5IEBACiAJc19yX29wdC5kZWYgPSAiSEVBRCI7CiAJc19yX29wdC5yZXZhcmdfb3B0ID0gUkVWQVJHX0NPTU1JVFRJU0g7CiAKKwlpZiAoYmFzZV9hdXRvKQorCQliYXNlX2NvbW1pdCA9ICJhdXRvIjsKKwogCWlmIChkZWZhdWx0X2F0dGFjaCkgewogCQlyZXYubWltZV9ib3VuZGFyeSA9IGRlZmF1bHRfYXR0YWNoOwogCQlyZXYubm9faW5saW5lID0gMTsKQEAgLTE2MzMsNiArMTc0Nyw5IEBACiAJCQkgICAgIFBBUlNFX09QVF9LRUVQX0FSR1YwIHwgUEFSU0VfT1BUX0tFRVBfVU5LTk9XTiB8CiAJCQkgICAgIFBBUlNFX09QVF9LRUVQX0RBU0hEQVNIKTsKIAorCWlmIChjb3Zlcl9mcm9tX2Rlc2NyaXB0aW9uX2FyZykKKwkJY292ZXJfZnJvbV9kZXNjcmlwdGlvbl9tb2RlID0gcGFyc2VfY292ZXJfZnJvbV9kZXNjcmlwdGlvbihjb3Zlcl9mcm9tX2Rlc2NyaXB0aW9uX2FyZyk7CisKIAlpZiAoMCA8IHJlcm9sbF9jb3VudCkgewogCQlzdHJ1Y3Qgc3RyYnVmIHNwcmVmaXggPSBTVFJCVUZfSU5JVDsKIAkJc3RyYnVmX2FkZGYoJnNwcmVmaXgsICIlcyB2JWQiLApAQCAtMTcxOSw3ICsxODM2LDcgQEAKIAkJcmV2LmRpZmZvcHQuZmxhZ3MuYmluYXJ5ID0gMTsKIAogCWlmIChyZXYuc2hvd19ub3RlcykKLQkJaW5pdF9kaXNwbGF5X25vdGVzKCZyZXYubm90ZXNfb3B0KTsKKwkJbG9hZF9kaXNwbGF5X25vdGVzKCZyZXYubm90ZXNfb3B0KTsKIAogCWlmICghb3V0cHV0X2RpcmVjdG9yeSAmJiAhdXNlX3N0ZG91dCkKIAkJb3V0cHV0X2RpcmVjdG9yeSA9IGNvbmZpZ19vdXRwdXRfZGlyZWN0b3J5OwpAQCAtMTczMCwxMiArMTg0NywyOCBAQAogCQlzZXR1cF9wYWdlcigpOwogCiAJaWYgKG91dHB1dF9kaXJlY3RvcnkpIHsKKwkJaW50IHNhdmVkOwogCQlpZiAocmV2LmRpZmZvcHQudXNlX2NvbG9yICE9IEdJVF9DT0xPUl9BTFdBWVMpCiAJCQlyZXYuZGlmZm9wdC51c2VfY29sb3IgPSBHSVRfQ09MT1JfTkVWRVI7CiAJCWlmICh1c2Vfc3Rkb3V0KQogCQkJZGllKF8oInN0YW5kYXJkIG91dHB1dCwgb3IgZGlyZWN0b3J5LCB3aGljaCBvbmU/IikpOworCQkvKgorCQkgKiBXZSBjb25zaWRlciA8b3V0ZGlyPiBhcyAnb3V0c2lkZSBvZiBnaXRkaXInLCB0aGVyZWZvcmUgYXZvaWQKKwkJICogYXBwbHlpbmcgYWRqdXN0X3NoYXJlZF9wZXJtIGluIHMtYy1sLWQuCisJCSAqLworCQlzYXZlZCA9IGdldF9zaGFyZWRfcmVwb3NpdG9yeSgpOworCQlzZXRfc2hhcmVkX3JlcG9zaXRvcnkoMCk7CisJCXN3aXRjaCAoc2FmZV9jcmVhdGVfbGVhZGluZ19kaXJlY3Rvcmllc19jb25zdChvdXRwdXRfZGlyZWN0b3J5KSkgeworCQljYXNlIFNDTERfT0s6CisJCWNhc2UgU0NMRF9FWElTVFM6CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWRpZShfKCJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgIgorCQkJICAgICAgIm9mICclcyciKSwgb3V0cHV0X2RpcmVjdG9yeSk7CisJCX0KKwkJc2V0X3NoYXJlZF9yZXBvc2l0b3J5KHNhdmVkKTsKIAkJaWYgKG1rZGlyKG91dHB1dF9kaXJlY3RvcnksIDA3NzcpIDwgMCAmJiBlcnJubyAhPSBFRVhJU1QpCi0JCQlkaWVfZXJybm8oXygiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIpLAorCQkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciKSwKIAkJCQkgIG91dHB1dF9kaXJlY3RvcnkpOwogCX0KIApAQCAtMTg2Miw3ICsxOTk1LDcgQEAKIAl9CiAKIAltZW1zZXQoJmJhc2VzLCAwLCBzaXplb2YoYmFzZXMpKTsKLQlpZiAoYmFzZV9jb21taXQgfHwgYmFzZV9hdXRvKSB7CisJaWYgKGJhc2VfY29tbWl0KSB7CiAJCXN0cnVjdCBjb21taXQgKmJhc2UgPSBnZXRfYmFzZV9jb21taXQoYmFzZV9jb21taXQsIGxpc3QsIG5yKTsKIAkJcmVzZXRfcmV2aXNpb25fd2FsaygpOwogCQljbGVhcl9vYmplY3RfZmxhZ3MoVU5JTlRFUkVTVElORyk7CkBAIC0xOTM3LDkgKzIwNzAsMTAgQEAKIAogCQlpZiAoIXVzZV9zdGRvdXQgJiYKIAkJICAgIG9wZW5fbmV4dF9maWxlKHJldi5udW1iZXJlZF9maWxlcyA/IE5VTEwgOiBjb21taXQsIE5VTEwsICZyZXYsIHF1aWV0KSkKLQkJCWRpZShfKCJGYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBmaWxlcyIpKTsKKwkJCWRpZShfKCJmYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBmaWxlcyIpKTsKIAkJc2hvd24gPSBsb2dfdHJlZV9jb21taXQoJnJldiwgY29tbWl0KTsKLQkJZnJlZV9jb21taXRfYnVmZmVyKGNvbW1pdCk7CisJCWZyZWVfY29tbWl0X2J1ZmZlcih0aGVfcmVwb3NpdG9yeS0+cGFyc2VkX29iamVjdHMsCisJCQkJICAgY29tbWl0KTsKIAogCQkvKiBXZSBwdXQgb25lIGV4dHJhIGJsYW5rIGxpbmUgYmV0d2VlbiBmb3JtYXR0ZWQKIAkJICogcGF0Y2hlcyBhbmQgdGhpcyBmbGFnIGlzIHVzZWQgYnkgbG9nLXRyZWUgY29kZQpAQCAtMjA2MCw5ICsyMTk0LDkgQEAKIAlyZXZzLm1heF9wYXJlbnRzID0gMTsKIAogCWlmIChhZGRfcGVuZGluZ19jb21taXQoaGVhZCwgJnJldnMsIDApKQotCQlkaWUoXygiVW5rbm93biBjb21taXQgJXMiKSwgaGVhZCk7CisJCWRpZShfKCJ1bmtub3duIGNvbW1pdCAlcyIpLCBoZWFkKTsKIAlpZiAoYWRkX3BlbmRpbmdfY29tbWl0KHVwc3RyZWFtLCAmcmV2cywgVU5JTlRFUkVTVElORykpCi0JCWRpZShfKCJVbmtub3duIGNvbW1pdCAlcyIpLCB1cHN0cmVhbSk7CisJCWRpZShfKCJ1bmtub3duIGNvbW1pdCAlcyIpLCB1cHN0cmVhbSk7CiAKIAkvKiBEb24ndCBzYXkgYW55dGhpbmcgaWYgaGVhZCBhbmQgdXBzdHJlYW0gYXJlIHRoZSBzYW1lLiAqLwogCWlmIChyZXZzLnBlbmRpbmcubnIgPT0gMikgewpAQCAtMjA3NCw3ICsyMjA4LDcgQEAKIAlnZXRfcGF0Y2hfaWRzKCZyZXZzLCAmaWRzKTsKIAogCWlmIChsaW1pdCAmJiBhZGRfcGVuZGluZ19jb21taXQobGltaXQsICZyZXZzLCBVTklOVEVSRVNUSU5HKSkKLQkJZGllKF8oIlVua25vd24gY29tbWl0ICVzIiksIGxpbWl0KTsKKwkJZGllKF8oInVua25vd24gY29tbWl0ICVzIiksIGxpbWl0KTsKIAogCS8qIHJldmVyc2UgdGhlIGxpc3Qgb2YgY29tbWl0cyAqLwogCWlmIChwcmVwYXJlX3JldmlzaW9uX3dhbGsoJnJldnMpKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9scy1maWxlcy5jIGIvYnVpbHRpbi9scy1maWxlcy5jCmluZGV4IGM3MGE5YzcuLmYwNjlhMDIgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vbHMtZmlsZXMuYworKysgYi9idWlsdGluL2xzLWZpbGVzLmMKQEAgLTUsNyArNSw2IEBACiAgKgogICogQ29weXJpZ2h0IChDKSBMaW51cyBUb3J2YWxkcywgMjAwNQogICovCi0jZGVmaW5lIE5PX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAicmVwb3NpdG9yeS5oIgogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtMTEzLDExICsxMTIsMTEgQEAKIAlpZiAoZGVidWdfbW9kZSkgewogCQljb25zdCBzdHJ1Y3Qgc3RhdF9kYXRhICpzZCA9ICZjZS0+Y2Vfc3RhdF9kYXRhOwogCi0JCXByaW50ZigiICBjdGltZTogJWQ6JWRcbiIsIHNkLT5zZF9jdGltZS5zZWMsIHNkLT5zZF9jdGltZS5uc2VjKTsKLQkJcHJpbnRmKCIgIG10aW1lOiAlZDolZFxuIiwgc2QtPnNkX210aW1lLnNlYywgc2QtPnNkX210aW1lLm5zZWMpOwotCQlwcmludGYoIiAgZGV2OiAlZFx0aW5vOiAlZFxuIiwgc2QtPnNkX2Rldiwgc2QtPnNkX2lubyk7Ci0JCXByaW50ZigiICB1aWQ6ICVkXHRnaWQ6ICVkXG4iLCBzZC0+c2RfdWlkLCBzZC0+c2RfZ2lkKTsKLQkJcHJpbnRmKCIgIHNpemU6ICVkXHRmbGFnczogJXhcbiIsIHNkLT5zZF9zaXplLCBjZS0+Y2VfZmxhZ3MpOworCQlwcmludGYoIiAgY3RpbWU6ICV1OiV1XG4iLCBzZC0+c2RfY3RpbWUuc2VjLCBzZC0+c2RfY3RpbWUubnNlYyk7CisJCXByaW50ZigiICBtdGltZTogJXU6JXVcbiIsIHNkLT5zZF9tdGltZS5zZWMsIHNkLT5zZF9tdGltZS5uc2VjKTsKKwkJcHJpbnRmKCIgIGRldjogJXVcdGlubzogJXVcbiIsIHNkLT5zZF9kZXYsIHNkLT5zZF9pbm8pOworCQlwcmludGYoIiAgdWlkOiAldVx0Z2lkOiAldVxuIiwgc2QtPnNkX3VpZCwgc2QtPnNkX2dpZCk7CisJCXByaW50ZigiICBzaXplOiAldVx0ZmxhZ3M6ICV4XG4iLCBzZC0+c2Rfc2l6ZSwgY2UtPmNlX2ZsYWdzKTsKIAl9CiB9CiAKQEAgLTIwNiwxNyArMjA1LDE5IEBACiBzdGF0aWMgdm9pZCBzaG93X3N1Ym1vZHVsZShzdHJ1Y3QgcmVwb3NpdG9yeSAqc3VwZXJwcm9qZWN0LAogCQkJICAgc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwgY29uc3QgY2hhciAqcGF0aCkKIHsKLQlzdHJ1Y3QgcmVwb3NpdG9yeSBzdWJtb2R1bGU7CisJc3RydWN0IHJlcG9zaXRvcnkgc3VicmVwbzsKKwljb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWIgPSBzdWJtb2R1bGVfZnJvbV9wYXRoKHN1cGVycHJvamVjdCwKKwkJCQkJCQkgICZudWxsX29pZCwgcGF0aCk7CiAKLQlpZiAocmVwb19zdWJtb2R1bGVfaW5pdCgmc3VibW9kdWxlLCBzdXBlcnByb2plY3QsIHBhdGgpKQorCWlmIChyZXBvX3N1Ym1vZHVsZV9pbml0KCZzdWJyZXBvLCBzdXBlcnByb2plY3QsIHN1YikpCiAJCXJldHVybjsKIAotCWlmIChyZXBvX3JlYWRfaW5kZXgoJnN1Ym1vZHVsZSkgPCAwKQorCWlmIChyZXBvX3JlYWRfaW5kZXgoJnN1YnJlcG8pIDwgMCkKIAkJZGllKCJpbmRleCBmaWxlIGNvcnJ1cHQiKTsKIAotCXNob3dfZmlsZXMoJnN1Ym1vZHVsZSwgZGlyKTsKKwlzaG93X2ZpbGVzKCZzdWJyZXBvLCBkaXIpOwogCi0JcmVwb19jbGVhcigmc3VibW9kdWxlKTsKKwlyZXBvX2NsZWFyKCZzdWJyZXBvKTsKIH0KIAogc3RhdGljIHZvaWQgc2hvd19jZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKQEAgLTM3Miw3ICszNzMsNyBAQAogCWZpcnN0ID0gcG9zOwogCWxhc3QgPSBpc3RhdGUtPmNhY2hlX25yOwogCXdoaWxlIChsYXN0ID4gZmlyc3QpIHsKLQkJaW50IG5leHQgPSAobGFzdCArIGZpcnN0KSA+PiAxOworCQlpbnQgbmV4dCA9IGZpcnN0ICsgKChsYXN0IC0gZmlyc3QpID4+IDEpOwogCQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gaXN0YXRlLT5jYWNoZVtuZXh0XTsKIAkJaWYgKCFzdHJuY21wKGNlLT5uYW1lLCBwcmVmaXgsIHByZWZpeGxlbikpIHsKIAkJCWZpcnN0ID0gbmV4dCsxOwpAQCAtNDQxLDcgKzQ0Miw3IEBACiAJCQkgICAgICAgUEFUSFNQRUNfUFJFRkVSX0NXRCwgcHJlZml4LCBtYXRjaGJ1Zik7CiAJfSBlbHNlCiAJCW1lbXNldCgmcGF0aHNwZWMsIDAsIHNpemVvZihwYXRoc3BlYykpOwotCWlmIChyZWFkX3RyZWUodHJlZSwgMSwgJnBhdGhzcGVjLCBpc3RhdGUpKQorCWlmIChyZWFkX3RyZWUodGhlX3JlcG9zaXRvcnksIHRyZWUsIDEsICZwYXRoc3BlYywgaXN0YXRlKSkKIAkJZGllKCJ1bmFibGUgdG8gcmVhZCB0cmVlIGVudHJpZXMgJXMiLCB0cmVlX25hbWUpOwogCiAJZm9yIChpID0gMDsgaSA8IGlzdGF0ZS0+Y2FjaGVfbnI7IGkrKykgewpAQCAtNDkxLDcgKzQ5Miw3IEBACiAJQlVHX09OX09QVF9ORUcodW5zZXQpOwogCiAJZXhjX2dpdmVuID0gMTsKLQlhZGRfZXhjbHVkZXNfZnJvbV9maWxlKGRpciwgYXJnKTsKKwlhZGRfcGF0dGVybnNfZnJvbV9maWxlKGRpciwgYXJnKTsKIAogCXJldHVybiAwOwogfQpAQCAtNTE1LDcgKzUxNiw3IEBACiAJaW50IHJlcXVpcmVfd29ya190cmVlID0gMCwgc2hvd190YWcgPSAwLCBpOwogCWNvbnN0IGNoYXIgKm1heF9wcmVmaXg7CiAJc3RydWN0IGRpcl9zdHJ1Y3QgZGlyOwotCXN0cnVjdCBleGNsdWRlX2xpc3QgKmVsOworCXN0cnVjdCBwYXR0ZXJuX2xpc3QgKnBsOwogCXN0cnVjdCBzdHJpbmdfbGlzdCBleGNsdWRlX2xpc3QgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogCXN0cnVjdCBvcHRpb24gYnVpbHRpbl9sc19maWxlc19vcHRpb25zW10gPSB7CiAJCS8qIFRoaW5rIHR3aWNlIGJlZm9yZSBhZGRpbmcgIi0tbnVsIiBzeW5vbnltIHRvIHRoaXMgKi8KQEAgLTU5Myw5ICs1OTQsOSBAQAogCiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBidWlsdGluX2xzX2ZpbGVzX29wdGlvbnMsCiAJCQlsc19maWxlc191c2FnZSwgMCk7Ci0JZWwgPSBhZGRfZXhjbHVkZV9saXN0KCZkaXIsIEVYQ19DTURMLCAiLS1leGNsdWRlIG9wdGlvbiIpOworCXBsID0gYWRkX3BhdHRlcm5fbGlzdCgmZGlyLCBFWENfQ01ETCwgIi0tZXhjbHVkZSBvcHRpb24iKTsKIAlmb3IgKGkgPSAwOyBpIDwgZXhjbHVkZV9saXN0Lm5yOyBpKyspIHsKLQkJYWRkX2V4Y2x1ZGUoZXhjbHVkZV9saXN0Lml0ZW1zW2ldLnN0cmluZywgIiIsIDAsIGVsLCAtLWV4Y2x1ZGVfYXJncyk7CisJCWFkZF9wYXR0ZXJuKGV4Y2x1ZGVfbGlzdC5pdGVtc1tpXS5zdHJpbmcsICIiLCAwLCBwbCwgLS1leGNsdWRlX2FyZ3MpOwogCX0KIAlpZiAoc2hvd190YWcgfHwgc2hvd192YWxpZF9iaXQgfHwgc2hvd19mc21vbml0b3JfYml0KSB7CiAJCXRhZ19jYWNoZWQgPSAiSCAiOwpAQCAtNjc5LDcgKzY4MCw3IEBACiAKIAlpZiAocHNfbWF0Y2hlZCkgewogCQlpbnQgYmFkOwotCQliYWQgPSByZXBvcnRfcGF0aF9lcnJvcihwc19tYXRjaGVkLCAmcGF0aHNwZWMsIHByZWZpeCk7CisJCWJhZCA9IHJlcG9ydF9wYXRoX2Vycm9yKHBzX21hdGNoZWQsICZwYXRoc3BlYyk7CiAJCWlmIChiYWQpCiAJCQlmcHJpbnRmKHN0ZGVyciwgIkRpZCB5b3UgZm9yZ2V0IHRvICdnaXQgYWRkJz9cbiIpOwogCmRpZmYgLS1naXQgYS9idWlsdGluL2xzLXJlbW90ZS5jIGIvYnVpbHRpbi9scy1yZW1vdGUuYwppbmRleCAxZDdmMWY1Li42ZWY1MTk1IDEwMDY0NAotLS0gYS9idWlsdGluL2xzLXJlbW90ZS5jCisrKyBiL2J1aWx0aW4vbHMtcmVtb3RlLmMKQEAgLTY3LDggKzY3LDcgQEAKIAkJT1BUX0JJVCgwLCAicmVmcyIsICZmbGFncywgTl8oImRvIG5vdCBzaG93IHBlZWxlZCB0YWdzIiksIFJFRl9OT1JNQUwpLAogCQlPUFRfQk9PTCgwLCAiZ2V0LXVybCIsICZnZXRfdXJsLAogCQkJIE5fKCJ0YWtlIHVybC48YmFzZT4uaW5zdGVhZE9mIGludG8gYWNjb3VudCIpKSwKLQkJT1BUX0NBTExCQUNLKDAgLCAic29ydCIsIHNvcnRpbmdfdGFpbCwgTl8oImtleSIpLAotCQkJICAgICBOXygiZmllbGQgbmFtZSB0byBzb3J0IG9uIiksICZwYXJzZV9vcHRfcmVmX3NvcnRpbmcpLAorCQlPUFRfUkVGX1NPUlQoc29ydGluZ190YWlsKSwKIAkJT1BUX1NFVF9JTlRfRigwLCAiZXhpdC1jb2RlIiwgJnN0YXR1cywKIAkJCSAgICAgIE5fKCJleGl0IHdpdGggZXhpdCBjb2RlIDIgaWYgbm8gbWF0Y2hpbmcgcmVmcyBhcmUgZm91bmQiKSwKIAkJCSAgICAgIDIsIFBBUlNFX09QVF9OT0NPTVBMRVRFKSwKZGlmZiAtLWdpdCBhL2J1aWx0aW4vbHMtdHJlZS5jIGIvYnVpbHRpbi9scy10cmVlLmMKaW5kZXggN2Q1ODFkNi4uN2NhZDNmMiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9scy10cmVlLmMKKysrIGIvYnVpbHRpbi9scy10cmVlLmMKQEAgLTE4NSw1ICsxODUsNiBAQAogCXRyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KCZvaWQpOwogCWlmICghdHJlZSkKIAkJZGllKCJub3QgYSB0cmVlIG9iamVjdCIpOwotCXJldHVybiAhIXJlYWRfdHJlZV9yZWN1cnNpdmUodHJlZSwgIiIsIDAsIDAsICZwYXRoc3BlYywgc2hvd190cmVlLCBOVUxMKTsKKwlyZXR1cm4gISFyZWFkX3RyZWVfcmVjdXJzaXZlKHRoZV9yZXBvc2l0b3J5LCB0cmVlLCAiIiwgMCwgMCwKKwkJCQkgICAgICZwYXRoc3BlYywgc2hvd190cmVlLCBOVUxMKTsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vbWVyZ2UtaW5kZXguYyBiL2J1aWx0aW4vbWVyZ2UtaW5kZXguYwppbmRleCBjOTk0NDNiLi4zOGVhNmFkIDEwMDY0NAotLS0gYS9idWlsdGluL21lcmdlLWluZGV4LmMKKysrIGIvYnVpbHRpbi9tZXJnZS1pbmRleC5jCkBAIC0xLDMgKzEsNCBAQAorI2RlZmluZSBVU0VfVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vbWVyZ2Utb3Vycy5jIGIvYnVpbHRpbi9tZXJnZS1vdXJzLmMKaW5kZXggYzg0YzZlMC4uNDU5NDUwNyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9tZXJnZS1vdXJzLmMKKysrIGIvYnVpbHRpbi9tZXJnZS1vdXJzLmMKQEAgLTcsNiArNyw3IEBACiAgKgogICogUHJldGVuZCB3ZSByZXNvbHZlZCB0aGUgaGVhZHMsIGJ1dCBkZWNsYXJlIG91ciB0cmVlIHRydW1wcyBldmVyeWJvZHkgZWxzZS4KICAqLworI2RlZmluZSBVU0VfVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiZ2l0LWNvbXBhdC11dGlsLmgiCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgImRpZmYuaCIKQEAgLTI2LDcgKzI3LDcgQEAKIAkgKi8KIAlpZiAocmVhZF9jYWNoZSgpIDwgMCkKIAkJZGllX2Vycm5vKCJyZWFkX2NhY2hlIGZhaWxlZCIpOwotCWlmIChpbmRleF9kaWZmZXJzX2Zyb20oIkhFQUQiLCBOVUxMLCAwKSkKKwlpZiAoaW5kZXhfZGlmZmVyc19mcm9tKHRoZV9yZXBvc2l0b3J5LCAiSEVBRCIsIE5VTEwsIDApKQogCQlleGl0KDIpOwogCWV4aXQoMCk7CiB9CmRpZmYgLS1naXQgYS9idWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jIGIvYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYwppbmRleCA5YjJmNzA3Li5hNGJmZDhmIDEwMDY0NAotLS0gYS9idWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jCisrKyBiL2J1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmMKQEAgLTEsMyArMSw0IEBACisjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAidGFnLmgiCkBAIC03LDE2ICs4LDE2IEBACiBzdGF0aWMgY29uc3QgY2hhciBidWlsdGluX21lcmdlX3JlY3Vyc2l2ZV91c2FnZVtdID0KIAkiZ2l0ICVzIDxiYXNlPi4uLiAtLSA8aGVhZD4gPHJlbW90ZT4gLi4uIjsKIAotc3RhdGljIGNvbnN0IGNoYXIgKmJldHRlcl9icmFuY2hfbmFtZShjb25zdCBjaGFyICpicmFuY2gpCitzdGF0aWMgY2hhciAqYmV0dGVyX2JyYW5jaF9uYW1lKGNvbnN0IGNoYXIgKmJyYW5jaCkKIHsKIAlzdGF0aWMgY2hhciBnaXRoZWFkX2Vudls4ICsgR0lUX01BWF9IRVhTWiArIDFdOwogCWNoYXIgKm5hbWU7CiAKIAlpZiAoc3RybGVuKGJyYW5jaCkgIT0gdGhlX2hhc2hfYWxnby0+aGV4c3opCi0JCXJldHVybiBicmFuY2g7CisJCXJldHVybiB4c3RyZHVwKGJyYW5jaCk7CiAJeHNucHJpbnRmKGdpdGhlYWRfZW52LCBzaXplb2YoZ2l0aGVhZF9lbnYpLCAiR0lUSEVBRF8lcyIsIGJyYW5jaCk7CiAJbmFtZSA9IGdldGVudihnaXRoZWFkX2Vudik7Ci0JcmV0dXJuIG5hbWUgPyBuYW1lIDogYnJhbmNoOworCXJldHVybiB4c3RyZHVwKG5hbWUgPyBuYW1lIDogYnJhbmNoKTsKIH0KIAogaW50IGNtZF9tZXJnZV9yZWN1cnNpdmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCkBAIC0yNiw5ICsyNywxMCBAQAogCWludCBpLCBmYWlsZWQ7CiAJc3RydWN0IG9iamVjdF9pZCBoMSwgaDI7CiAJc3RydWN0IG1lcmdlX29wdGlvbnMgbzsKKwljaGFyICpiZXR0ZXIxLCAqYmV0dGVyMjsKIAlzdHJ1Y3QgY29tbWl0ICpyZXN1bHQ7CiAKLQlpbml0X21lcmdlX29wdGlvbnMoJm8pOworCWluaXRfbWVyZ2Vfb3B0aW9ucygmbywgdGhlX3JlcG9zaXRvcnkpOwogCWlmIChhcmd2WzBdICYmIGVuZHNfd2l0aChhcmd2WzBdLCAiLXN1YnRyZWUiKSkKIAkJby5zdWJ0cmVlX3NoaWZ0ID0gIiI7CiAKQEAgLTYyLDYgKzY0LDkgQEAKIAlpZiAoYXJnYyAtIGkgIT0gMykgLyogIi0tIiAiPGhlYWQ+IiAiPHJlbW90ZT4iICovCiAJCWRpZShfKCJub3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIikpOwogCisJaWYgKHJlcG9fcmVhZF9pbmRleF91bm1lcmdlZCh0aGVfcmVwb3NpdG9yeSkpCisJCWRpZV9yZXNvbHZlX2NvbmZsaWN0KCJtZXJnZSIpOworCiAJby5icmFuY2gxID0gYXJndlsrK2ldOwogCW8uYnJhbmNoMiA9IGFyZ3ZbKytpXTsKIApAQCAtNzAsMTMgKzc1LDE3IEBACiAJaWYgKGdldF9vaWQoby5icmFuY2gyLCAmaDIpKQogCQlkaWUoXygiY291bGQgbm90IHJlc29sdmUgcmVmICclcyciKSwgby5icmFuY2gyKTsKIAotCW8uYnJhbmNoMSA9IGJldHRlcl9icmFuY2hfbmFtZShvLmJyYW5jaDEpOwotCW8uYnJhbmNoMiA9IGJldHRlcl9icmFuY2hfbmFtZShvLmJyYW5jaDIpOworCW8uYnJhbmNoMSA9IGJldHRlcjEgPSBiZXR0ZXJfYnJhbmNoX25hbWUoby5icmFuY2gxKTsKKwlvLmJyYW5jaDIgPSBiZXR0ZXIyID0gYmV0dGVyX2JyYW5jaF9uYW1lKG8uYnJhbmNoMik7CiAKIAlpZiAoby52ZXJib3NpdHkgPj0gMykKIAkJcHJpbnRmKF8oIk1lcmdpbmcgJXMgd2l0aCAlc1xuIiksIG8uYnJhbmNoMSwgby5icmFuY2gyKTsKIAogCWZhaWxlZCA9IG1lcmdlX3JlY3Vyc2l2ZV9nZW5lcmljKCZvLCAmaDEsICZoMiwgYmFzZXNfY291bnQsIGJhc2VzLCAmcmVzdWx0KTsKKworCWZyZWUoYmV0dGVyMSk7CisJZnJlZShiZXR0ZXIyKTsKKwogCWlmIChmYWlsZWQgPCAwKQogCQlyZXR1cm4gMTI4OyAvKiBkaWUoKSBlcnJvciBjb2RlICovCiAJcmV0dXJuIGZhaWxlZDsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vbWVyZ2UtdHJlZS5jIGIvYnVpbHRpbi9tZXJnZS10cmVlLmMKaW5kZXggNzBmNmZjOS4uZTcyNzE0YSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9tZXJnZS10cmVlLmMKKysrIGIvYnVpbHRpbi9tZXJnZS10cmVlLmMKQEAgLTEsMyArMSw0IEBACisjZGVmaW5lIFVTRV9USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAidHJlZS13YWxrLmgiCiAjaW5jbHVkZSAieGRpZmYtaW50ZXJmYWNlLmgiCkBAIC03Niw3ICs3Nyw4IEBACiAJdGhlaXIgPSBOVUxMOwogCWlmIChlbnRyeSkKIAkJdGhlaXIgPSBlbnRyeS0+YmxvYjsKLQlyZXR1cm4gbWVyZ2VfYmxvYnMoJnRoZV9pbmRleCwgcGF0aCwgYmFzZSwgb3VyLCB0aGVpciwgc2l6ZSk7CisJcmV0dXJuIG1lcmdlX2Jsb2JzKHRoZV9yZXBvc2l0b3J5LT5pbmRleCwgcGF0aCwKKwkJCSAgIGJhc2UsIG91ciwgdGhlaXIsIHNpemUpOwogfQogCiBzdGF0aWMgdm9pZCAqb3JpZ2luKHN0cnVjdCBtZXJnZV9saXN0ICplbnRyeSwgdW5zaWduZWQgbG9uZyAqc2l6ZSkKQEAgLTE1NCwxNSArMTU2LDE1IEBACiAvKiBBbiBlbXB0eSBlbnRyeSBuZXZlciBjb21wYXJlcyBzYW1lLCBub3QgZXZlbiB0byBhbm90aGVyIGVtcHR5IGVudHJ5ICovCiBzdGF0aWMgaW50IHNhbWVfZW50cnkoc3RydWN0IG5hbWVfZW50cnkgKmEsIHN0cnVjdCBuYW1lX2VudHJ5ICpiKQogewotCXJldHVybglhLT5vaWQgJiYKLQkJYi0+b2lkICYmCi0JCW9pZGVxKGEtPm9pZCwgYi0+b2lkKSAmJgorCXJldHVybgkhaXNfbnVsbF9vaWQoJmEtPm9pZCkgJiYKKwkJIWlzX251bGxfb2lkKCZiLT5vaWQpICYmCisJCW9pZGVxKCZhLT5vaWQsICZiLT5vaWQpICYmCiAJCWEtPm1vZGUgPT0gYi0+bW9kZTsKIH0KIAogc3RhdGljIGludCBib3RoX2VtcHR5KHN0cnVjdCBuYW1lX2VudHJ5ICphLCBzdHJ1Y3QgbmFtZV9lbnRyeSAqYikKIHsKLQlyZXR1cm4gIShhLT5vaWQgfHwgYi0+b2lkKTsKKwlyZXR1cm4gaXNfbnVsbF9vaWQoJmEtPm9pZCkgJiYgaXNfbnVsbF9vaWQoJmItPm9pZCk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgbWVyZ2VfbGlzdCAqY3JlYXRlX2VudHJ5KHVuc2lnbmVkIHN0YWdlLCB1bnNpZ25lZCBtb2RlLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKnBhdGgpCkBAIC0xNzgsOCArMTgwLDkgQEAKIAogc3RhdGljIGNoYXIgKnRyYXZlcnNlX3BhdGgoY29uc3Qgc3RydWN0IHRyYXZlcnNlX2luZm8gKmluZm8sIGNvbnN0IHN0cnVjdCBuYW1lX2VudHJ5ICpuKQogewotCWNoYXIgKnBhdGggPSB4bWFsbG9jeih0cmF2ZXJzZV9wYXRoX2xlbihpbmZvLCBuKSk7Ci0JcmV0dXJuIG1ha2VfdHJhdmVyc2VfcGF0aChwYXRoLCBpbmZvLCBuKTsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCXN0cmJ1Zl9tYWtlX3RyYXZlcnNlX3BhdGgoJmJ1ZiwgaW5mbywgbi0+cGF0aCwgbi0+cGF0aGxlbik7CisJcmV0dXJuIHN0cmJ1Zl9kZXRhY2goJmJ1ZiwgTlVMTCk7CiB9CiAKIHN0YXRpYyB2b2lkIHJlc29sdmUoY29uc3Qgc3RydWN0IHRyYXZlcnNlX2luZm8gKmluZm8sIHN0cnVjdCBuYW1lX2VudHJ5ICpvdXJzLCBzdHJ1Y3QgbmFtZV9lbnRyeSAqcmVzdWx0KQpAQCAtMTkyLDggKzE5NSw4IEBACiAJCXJldHVybjsKIAogCXBhdGggPSB0cmF2ZXJzZV9wYXRoKGluZm8sIHJlc3VsdCk7Ci0Jb3JpZyA9IGNyZWF0ZV9lbnRyeSgyLCBvdXJzLT5tb2RlLCBvdXJzLT5vaWQsIHBhdGgpOwotCWZpbmFsID0gY3JlYXRlX2VudHJ5KDAsIHJlc3VsdC0+bW9kZSwgcmVzdWx0LT5vaWQsIHBhdGgpOworCW9yaWcgPSBjcmVhdGVfZW50cnkoMiwgb3Vycy0+bW9kZSwgJm91cnMtPm9pZCwgcGF0aCk7CisJZmluYWwgPSBjcmVhdGVfZW50cnkoMCwgcmVzdWx0LT5tb2RlLCAmcmVzdWx0LT5vaWQsIHBhdGgpOwogCiAJZmluYWwtPmxpbmsgPSBvcmlnOwogCkBAIC0yMDMsNiArMjA2LDcgQEAKIHN0YXRpYyB2b2lkIHVucmVzb2x2ZWRfZGlyZWN0b3J5KGNvbnN0IHN0cnVjdCB0cmF2ZXJzZV9pbmZvICppbmZvLAogCQkJCSBzdHJ1Y3QgbmFtZV9lbnRyeSBuWzNdKQogeworCXN0cnVjdCByZXBvc2l0b3J5ICpyID0gdGhlX3JlcG9zaXRvcnk7CiAJY2hhciAqbmV3YmFzZTsKIAlzdHJ1Y3QgbmFtZV9lbnRyeSAqcDsKIAlzdHJ1Y3QgdHJlZV9kZXNjIHRbM107CkBAIC0yMTcsMTAgKzIyMSwxMCBAQAogCiAJbmV3YmFzZSA9IHRyYXZlcnNlX3BhdGgoaW5mbywgcCk7CiAKLSNkZWZpbmUgRU5UUllfT0lEKGUpICgoKGUpLT5tb2RlICYmIFNfSVNESVIoKGUpLT5tb2RlKSkgPyAoZSktPm9pZCA6IE5VTEwpCi0JYnVmMCA9IGZpbGxfdHJlZV9kZXNjcmlwdG9yKHQgKyAwLCBFTlRSWV9PSUQobiArIDApKTsKLQlidWYxID0gZmlsbF90cmVlX2Rlc2NyaXB0b3IodCArIDEsIEVOVFJZX09JRChuICsgMSkpOwotCWJ1ZjIgPSBmaWxsX3RyZWVfZGVzY3JpcHRvcih0ICsgMiwgRU5UUllfT0lEKG4gKyAyKSk7CisjZGVmaW5lIEVOVFJZX09JRChlKSAoKChlKS0+bW9kZSAmJiBTX0lTRElSKChlKS0+bW9kZSkpID8gJihlKS0+b2lkIDogTlVMTCkKKwlidWYwID0gZmlsbF90cmVlX2Rlc2NyaXB0b3IociwgdCArIDAsIEVOVFJZX09JRChuICsgMCkpOworCWJ1ZjEgPSBmaWxsX3RyZWVfZGVzY3JpcHRvcihyLCB0ICsgMSwgRU5UUllfT0lEKG4gKyAxKSk7CisJYnVmMiA9IGZpbGxfdHJlZV9kZXNjcmlwdG9yKHIsIHQgKyAyLCBFTlRSWV9PSUQobiArIDIpKTsKICN1bmRlZiBFTlRSWV9PSUQKIAogCW1lcmdlX3RyZWVzKHQsIG5ld2Jhc2UpOwpAQCAtMjQzLDcgKzI0Nyw3IEBACiAJCXBhdGggPSBlbnRyeS0+cGF0aDsKIAllbHNlCiAJCXBhdGggPSB0cmF2ZXJzZV9wYXRoKGluZm8sIG4pOwotCWxpbmsgPSBjcmVhdGVfZW50cnkoc3RhZ2UsIG4tPm1vZGUsIG4tPm9pZCwgcGF0aCk7CisJbGluayA9IGNyZWF0ZV9lbnRyeShzdGFnZSwgbi0+bW9kZSwgJm4tPm9pZCwgcGF0aCk7CiAJbGluay0+bGluayA9IGVudHJ5OwogCXJldHVybiBsaW5rOwogfQpAQCAtMzE4LDcgKzMyMiw3IEBACiAJfQogCiAJaWYgKHNhbWVfZW50cnkoZW50cnkrMCwgZW50cnkrMSkpIHsKLQkJaWYgKGVudHJ5WzJdLm9pZCAmJiAhU19JU0RJUihlbnRyeVsyXS5tb2RlKSkgeworCQlpZiAoIWlzX251bGxfb2lkKCZlbnRyeVsyXS5vaWQpICYmICFTX0lTRElSKGVudHJ5WzJdLm1vZGUpKSB7CiAJCQkvKiBXZSBkaWQgbm90IHRvdWNoLCB0aGV5IG1vZGlmaWVkIC0tIHRha2UgdGhlaXJzICovCiAJCQlyZXNvbHZlKGluZm8sIGVudHJ5KzEsIGVudHJ5KzIpOwogCQkJcmV0dXJuIG1hc2s7CkBAIC0zNDYsMTcgKzM1MCwxOSBAQAogCiAJc2V0dXBfdHJhdmVyc2VfaW5mbygmaW5mbywgYmFzZSk7CiAJaW5mby5mbiA9IHRocmVld2F5X2NhbGxiYWNrOwotCXRyYXZlcnNlX3RyZWVzKDMsIHQsICZpbmZvKTsKKwl0cmF2ZXJzZV90cmVlcygmdGhlX2luZGV4LCAzLCB0LCAmaW5mbyk7CiB9CiAKLXN0YXRpYyB2b2lkICpnZXRfdHJlZV9kZXNjcmlwdG9yKHN0cnVjdCB0cmVlX2Rlc2MgKmRlc2MsIGNvbnN0IGNoYXIgKnJldikKK3N0YXRpYyB2b2lkICpnZXRfdHJlZV9kZXNjcmlwdG9yKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSBzdHJ1Y3QgdHJlZV9kZXNjICpkZXNjLAorCQkJCSBjb25zdCBjaGFyICpyZXYpCiB7CiAJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJdm9pZCAqYnVmOwogCi0JaWYgKGdldF9vaWQocmV2LCAmb2lkKSkKKwlpZiAocmVwb19nZXRfb2lkKHIsIHJldiwgJm9pZCkpCiAJCWRpZSgidW5rbm93biByZXYgJXMiLCByZXYpOwotCWJ1ZiA9IGZpbGxfdHJlZV9kZXNjcmlwdG9yKGRlc2MsICZvaWQpOworCWJ1ZiA9IGZpbGxfdHJlZV9kZXNjcmlwdG9yKHIsIGRlc2MsICZvaWQpOwogCWlmICghYnVmKQogCQlkaWUoIiVzIGlzIG5vdCBhIHRyZWUiLCByZXYpOwogCXJldHVybiBidWY7CkBAIC0zNjQsMTUgKzM3MCwxNiBAQAogCiBpbnQgY21kX21lcmdlX3RyZWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CisJc3RydWN0IHJlcG9zaXRvcnkgKnIgPSB0aGVfcmVwb3NpdG9yeTsKIAlzdHJ1Y3QgdHJlZV9kZXNjIHRbM107CiAJdm9pZCAqYnVmMSwgKmJ1ZjIsICpidWYzOwogCiAJaWYgKGFyZ2MgIT0gNCkKIAkJdXNhZ2UobWVyZ2VfdHJlZV91c2FnZSk7CiAKLQlidWYxID0gZ2V0X3RyZWVfZGVzY3JpcHRvcih0KzAsIGFyZ3ZbMV0pOwotCWJ1ZjIgPSBnZXRfdHJlZV9kZXNjcmlwdG9yKHQrMSwgYXJndlsyXSk7Ci0JYnVmMyA9IGdldF90cmVlX2Rlc2NyaXB0b3IodCsyLCBhcmd2WzNdKTsKKwlidWYxID0gZ2V0X3RyZWVfZGVzY3JpcHRvcihyLCB0KzAsIGFyZ3ZbMV0pOworCWJ1ZjIgPSBnZXRfdHJlZV9kZXNjcmlwdG9yKHIsIHQrMSwgYXJndlsyXSk7CisJYnVmMyA9IGdldF90cmVlX2Rlc2NyaXB0b3IociwgdCsyLCBhcmd2WzNdKTsKIAltZXJnZV90cmVlcyh0LCAiIik7CiAJZnJlZShidWYxKTsKIAlmcmVlKGJ1ZjIpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9tZXJnZS5jIGIvYnVpbHRpbi9tZXJnZS5jCmluZGV4IGMzYzk3NmQuLmQxMjdkMjIgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vbWVyZ2UuYworKysgYi9idWlsdGluL21lcmdlLmMKQEAgLTYsNiArNiw3IEBACiAgKiBCYXNlZCBvbiBnaXQtbWVyZ2Uuc2ggYnkgSnVuaW8gQyBIYW1hbm8uCiAgKi8KIAorI2RlZmluZSBVU0VfVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCkBAIC0zNiw3ICszNyw5IEBACiAjaW5jbHVkZSAicGFja2ZpbGUuaCIKICNpbmNsdWRlICJ0YWcuaCIKICNpbmNsdWRlICJhbGlhcy5oIgorI2luY2x1ZGUgImJyYW5jaC5oIgogI2luY2x1ZGUgImNvbW1pdC1yZWFjaC5oIgorI2luY2x1ZGUgInd0LXN0YXR1cy5oIgogCiAjZGVmaW5lIERFRkFVTFRfVFdPSEVBRCAoMTw8MCkKICNkZWZpbmUgREVGQVVMVF9PQ1RPUFVTICgxPDwxKQpAQCAtNTYsOSArNTksMTAgQEAKIH07CiAKIHN0YXRpYyBpbnQgc2hvd19kaWZmc3RhdCA9IDEsIHNob3J0bG9nX2xlbiA9IC0xLCBzcXVhc2g7Ci1zdGF0aWMgaW50IG9wdGlvbl9jb21taXQgPSAxOworc3RhdGljIGludCBvcHRpb25fY29tbWl0ID0gLTE7CiBzdGF0aWMgaW50IG9wdGlvbl9lZGl0ID0gLTE7CiBzdGF0aWMgaW50IGFsbG93X3RyaXZpYWwgPSAxLCBoYXZlX21lc3NhZ2UsIHZlcmlmeV9zaWduYXR1cmVzOworc3RhdGljIGludCBjaGVja190cnVzdF9sZXZlbCA9IDE7CiBzdGF0aWMgaW50IG92ZXJ3cml0ZV9pZ25vcmUgPSAxOwogc3RhdGljIHN0cnVjdCBzdHJidWYgbWVyZ2VfbXNnID0gU1RSQlVGX0lOSVQ7CiBzdGF0aWMgc3RydWN0IHN0cmF0ZWd5ICoqdXNlX3N0cmF0ZWdpZXM7CkBAIC03MSwxMyArNzUsMTQgQEAKIHN0YXRpYyBpbnQgdmVyYm9zaXR5Owogc3RhdGljIGludCBhbGxvd19yZXJlcmVfYXV0bzsKIHN0YXRpYyBpbnQgYWJvcnRfY3VycmVudF9tZXJnZTsKK3N0YXRpYyBpbnQgcXVpdF9jdXJyZW50X21lcmdlOwogc3RhdGljIGludCBjb250aW51ZV9jdXJyZW50X21lcmdlOwogc3RhdGljIGludCBhbGxvd191bnJlbGF0ZWRfaGlzdG9yaWVzOwogc3RhdGljIGludCBzaG93X3Byb2dyZXNzID0gLTE7CiBzdGF0aWMgaW50IGRlZmF1bHRfdG9fdXBzdHJlYW0gPSAxOwogc3RhdGljIGludCBzaWdub2ZmOwogc3RhdGljIGNvbnN0IGNoYXIgKnNpZ25fY29tbWl0Owotc3RhdGljIGludCB2ZXJpZnlfbXNnID0gMTsKK3N0YXRpYyBpbnQgbm9fdmVyaWZ5OwogCiBzdGF0aWMgc3RydWN0IHN0cmF0ZWd5IGFsbF9zdHJhdGVneVtdID0gewogCXsgInJlY3Vyc2l2ZSIsICBERUZBVUxUX1RXT0hFQUQgfCBOT19UUklWSUFMIH0sCkBAIC05Nyw2ICsxMDIsOSBAQAogCiBzdGF0aWMgZW51bSBmZl90eXBlIGZhc3RfZm9yd2FyZCA9IEZGX0FMTE9XOwogCitzdGF0aWMgY29uc3QgY2hhciAqY2xlYW51cF9hcmc7CitzdGF0aWMgZW51bSBjb21taXRfbXNnX2NsZWFudXBfbW9kZSBjbGVhbnVwX21vZGU7CisKIHN0YXRpYyBpbnQgb3B0aW9uX3BhcnNlX21lc3NhZ2UoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAogCQkJCWNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQogewpAQCAtMTEyLDEyICsxMjAsMTUgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBvcHRpb25fcmVhZF9tZXNzYWdlKHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKmN0eCwKLQkJCSAgICAgICBjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGludCB1bnNldCkKK3N0YXRpYyBlbnVtIHBhcnNlX29wdF9yZXN1bHQgb3B0aW9uX3JlYWRfbWVzc2FnZShzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90ICpjdHgsCisJCQkJCQkgY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCQkJCQkJIGNvbnN0IGNoYXIgKmFyZ19ub3RfdXNlZCwKKwkJCQkJCSBpbnQgdW5zZXQpCiB7CiAJc3RydWN0IHN0cmJ1ZiAqYnVmID0gb3B0LT52YWx1ZTsKIAljb25zdCBjaGFyICphcmc7CiAKKwlCVUdfT05fT1BUX0FSRyhhcmdfbm90X3VzZWQpOwogCWlmICh1bnNldCkKIAkJQlVHKCItRiBjYW5ub3QgYmUgbmVnYXRlZCIpOwogCkBAIC0xMjgsNyArMTM5LDcgQEAKIAkJY3R4LT5hcmdjLS07CiAJCWFyZyA9ICorK2N0eC0+YXJndjsKIAl9IGVsc2UKLQkJcmV0dXJuIG9wdGVycm9yKG9wdCwgInJlcXVpcmVzIGEgdmFsdWUiLCAwKTsKKwkJcmV0dXJuIGVycm9yKF8oIm9wdGlvbiBgJXMnIHJlcXVpcmVzIGEgdmFsdWUiKSwgb3B0LT5sb25nX25hbWUpOwogCiAJaWYgKGJ1Zi0+bGVuKQogCQlzdHJidWZfYWRkY2goYnVmLCAnXG4nKTsKQEAgLTI0NSw2ICsyNTYsNyBAQAogCQlOXygicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIikpLAogCU9QVF9CT09MKCdlJywgImVkaXQiLCAmb3B0aW9uX2VkaXQsCiAJCU5fKCJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciKSksCisJT1BUX0NMRUFOVVAoJmNsZWFudXBfYXJnKSwKIAlPUFRfU0VUX0lOVCgwLCAiZmYiLCAmZmFzdF9mb3J3YXJkLCBOXygiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIpLCBGRl9BTExPVyksCiAJT1BUX1NFVF9JTlRfRigwLCAiZmYtb25seSIsICZmYXN0X2ZvcndhcmQsCiAJCSAgICAgIE5fKCJhYm9ydCBpZiBmYXN0LWZvcndhcmQgaXMgbm90IHBvc3NpYmxlIiksCkBAIC0yNjEsMTAgKzI3MywxMiBAQAogCQlvcHRpb25fcGFyc2VfbWVzc2FnZSksCiAJeyBPUFRJT05fTE9XTEVWRUxfQ0FMTEJBQ0ssICdGJywgImZpbGUiLCAmbWVyZ2VfbXNnLCBOXygicGF0aCIpLAogCQlOXygicmVhZCBtZXNzYWdlIGZyb20gZmlsZSIpLCBQQVJTRV9PUFRfTk9ORUcsCi0JCShwYXJzZV9vcHRfY2IgKikgb3B0aW9uX3JlYWRfbWVzc2FnZSB9LAorCQlOVUxMLCAwLCBvcHRpb25fcmVhZF9tZXNzYWdlIH0sCiAJT1BUX19WRVJCT1NJVFkoJnZlcmJvc2l0eSksCiAJT1BUX0JPT0woMCwgImFib3J0IiwgJmFib3J0X2N1cnJlbnRfbWVyZ2UsCiAJCU5fKCJhYm9ydCB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIpKSwKKwlPUFRfQk9PTCgwLCAicXVpdCIsICZxdWl0X2N1cnJlbnRfbWVyZ2UsCisJCU5fKCItLWFib3J0IGJ1dCBsZWF2ZSBpbmRleCBhbmQgd29ya2luZyB0cmVlIGFsb25lIikpLAogCU9QVF9CT09MKDAsICJjb250aW51ZSIsICZjb250aW51ZV9jdXJyZW50X21lcmdlLAogCQlOXygiY29udGludWUgdGhlIGN1cnJlbnQgaW4tcHJvZ3Jlc3MgbWVyZ2UiKSksCiAJT1BUX0JPT0woMCwgImFsbG93LXVucmVsYXRlZC1oaXN0b3JpZXMiLCAmYWxsb3dfdW5yZWxhdGVkX2hpc3RvcmllcywKQEAgLTI3NCwxOCArMjg4LDEwIEBACiAJICBOXygiR1BHIHNpZ24gY29tbWl0IiksIFBBUlNFX09QVF9PUFRBUkcsIE5VTEwsIChpbnRwdHJfdCkgIiIgfSwKIAlPUFRfQk9PTCgwLCAib3ZlcndyaXRlLWlnbm9yZSIsICZvdmVyd3JpdGVfaWdub3JlLCBOXygidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIikpLAogCU9QVF9CT09MKDAsICJzaWdub2ZmIiwgJnNpZ25vZmYsIE5fKCJhZGQgU2lnbmVkLW9mZi1ieToiKSksCi0JT1BUX0JPT0woMCwgInZlcmlmeSIsICZ2ZXJpZnlfbXNnLCBOXygidmVyaWZ5IGNvbW1pdC1tc2cgaG9vayIpKSwKKwlPUFRfQk9PTCgwLCAibm8tdmVyaWZ5IiwgJm5vX3ZlcmlmeSwgTl8oImJ5cGFzcyBwcmUtbWVyZ2UtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIikpLAogCU9QVF9FTkQoKQogfTsKIAotLyogQ2xlYW5zIHVwIG1ldGFkYXRhIHRoYXQgaXMgdW5pbnRlcmVzdGluZyBhZnRlciBhIHN1Y2NlZWRlZCBtZXJnZS4gKi8KLXN0YXRpYyB2b2lkIGRyb3Bfc2F2ZSh2b2lkKQotewotCXVubGluayhnaXRfcGF0aF9tZXJnZV9oZWFkKHRoZV9yZXBvc2l0b3J5KSk7Ci0JdW5saW5rKGdpdF9wYXRoX21lcmdlX21zZyh0aGVfcmVwb3NpdG9yeSkpOwotCXVubGluayhnaXRfcGF0aF9tZXJnZV9tb2RlKHRoZV9yZXBvc2l0b3J5KSk7Ci19Ci0KIHN0YXRpYyBpbnQgc2F2ZV9zdGF0ZShzdHJ1Y3Qgb2JqZWN0X2lkICpzdGFzaCkKIHsKIAlpbnQgbGVuOwpAQCAtMzc5LDcgKzM4NSw3IEBACiB7CiAJaWYgKHZlcmJvc2l0eSA+PSAwKQogCQlwcmludGYoIiVzJXNcbiIsIHNxdWFzaCA/IF8oIiAobm90aGluZyB0byBzcXVhc2gpIikgOiAiIiwgbXNnKTsKLQlkcm9wX3NhdmUoKTsKKwlyZW1vdmVfbWVyZ2VfYnJhbmNoX3N0YXRlKHRoZV9yZXBvc2l0b3J5KTsKIH0KIAogc3RhdGljIHZvaWQgc3F1YXNoX21lc3NhZ2Uoc3RydWN0IGNvbW1pdCAqY29tbWl0LCBzdHJ1Y3QgY29tbWl0X2xpc3QgKnJlbW90ZWhlYWRzKQpAQCAtNDQ4LDcgKzQ1NCw3IEBACiAJCQkgKiBXZSBpZ25vcmUgZXJyb3JzIGluICdnYyAtLWF1dG8nLCBzaW5jZSB0aGUKIAkJCSAqIHVzZXIgc2hvdWxkIHNlZSB0aGVtLgogCQkJICovCi0JCQljbG9zZV9hbGxfcGFja3ModGhlX3JlcG9zaXRvcnktPm9iamVjdHMpOworCQkJY2xvc2Vfb2JqZWN0X3N0b3JlKHRoZV9yZXBvc2l0b3J5LT5vYmplY3RzKTsKIAkJCXJ1bl9jb21tYW5kX3Zfb3B0KGFyZ3ZfZ2NfYXV0bywgUlVOX0dJVF9DTUQpOwogCQl9CiAJfQpAQCAtNTc4LDcgKzU4NCw3IEBACiAJYXJnYyA9IHNwbGl0X2NtZGxpbmUoYm1vLCAmYXJndik7CiAJaWYgKGFyZ2MgPCAwKQogCQlkaWUoXygiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIpLCBicmFuY2gsCi0JCSAgICBzcGxpdF9jbWRsaW5lX3N0cmVycm9yKGFyZ2MpKTsKKwkJICAgIF8oc3BsaXRfY21kbGluZV9zdHJlcnJvcihhcmdjKSkpOwogCVJFQUxMT0NfQVJSQVkoYXJndiwgYXJnYyArIDIpOwogCU1PVkVfQVJSQVkoYXJndiArIDEsIGFyZ3YsIGFyZ2MgKyAxKTsKIAlhcmdjKys7CkBAIC02MDgsNiArNjE0LDggQEAKIAkJcmV0dXJuIGdpdF9jb25maWdfc3RyaW5nKCZwdWxsX3R3b2hlYWQsIGssIHYpOwogCWVsc2UgaWYgKCFzdHJjbXAoaywgInB1bGwub2N0b3B1cyIpKQogCQlyZXR1cm4gZ2l0X2NvbmZpZ19zdHJpbmcoJnB1bGxfb2N0b3B1cywgaywgdik7CisJZWxzZSBpZiAoIXN0cmNtcChrLCAiY29tbWl0LmNsZWFudXAiKSkKKwkJcmV0dXJuIGdpdF9jb25maWdfc3RyaW5nKCZjbGVhbnVwX2FyZywgaywgdik7CiAJZWxzZSBpZiAoIXN0cmNtcChrLCAibWVyZ2UucmVub3JtYWxpemUiKSkKIAkJb3B0aW9uX3Jlbm9ybWFsaXplID0gZ2l0X2NvbmZpZ19ib29sKGssIHYpOwogCWVsc2UgaWYgKCFzdHJjbXAoaywgIm1lcmdlLmZmIikpIHsKQEAgLTYyNCw2ICs2MzIsOCBAQAogCX0gZWxzZSBpZiAoIXN0cmNtcChrLCAiY29tbWl0LmdwZ3NpZ24iKSkgewogCQlzaWduX2NvbW1pdCA9IGdpdF9jb25maWdfYm9vbChrLCB2KSA/ICIiIDogTlVMTDsKIAkJcmV0dXJuIDA7CisJfSBlbHNlIGlmICghc3RyY21wKGssICJncGcubWludHJ1c3RsZXZlbCIpKSB7CisJCWNoZWNrX3RydXN0X2xldmVsID0gMDsKIAl9CiAKIAlzdGF0dXMgPSBmbXRfbWVyZ2VfbXNnX2NvbmZpZyhrLCB2LCBjYik7CkBAIC02ODEsMTYgKzY5MSwxMyBAQAogCQkJICAgICAgc3RydWN0IGNvbW1pdF9saXN0ICpyZW1vdGVoZWFkcywKIAkJCSAgICAgIHN0cnVjdCBjb21taXQgKmhlYWQpCiB7Ci0Jc3RydWN0IGxvY2tfZmlsZSBsb2NrID0gTE9DS19JTklUOwogCWNvbnN0IGNoYXIgKmhlYWRfYXJnID0gIkhFQUQiOwogCi0JaG9sZF9sb2NrZWRfaW5kZXgoJmxvY2ssIExPQ0tfRElFX09OX0VSUk9SKTsKLQlyZWZyZXNoX2NhY2hlKFJFRlJFU0hfUVVJRVQpOwotCWlmICh3cml0ZV9sb2NrZWRfaW5kZXgoJnRoZV9pbmRleCwgJmxvY2ssCi0JCQkgICAgICAgQ09NTUlUX0xPQ0sgfCBTS0lQX0lGX1VOQ0hBTkdFRCkpCisJaWYgKHJlZnJlc2hfYW5kX3dyaXRlX2NhY2hlKFJFRlJFU0hfUVVJRVQsIFNLSVBfSUZfVU5DSEFOR0VELCAwKSA8IDApCiAJCXJldHVybiBlcnJvcihfKCJVbmFibGUgdG8gd3JpdGUgaW5kZXguIikpOwogCiAJaWYgKCFzdHJjbXAoc3RyYXRlZ3ksICJyZWN1cnNpdmUiKSB8fCAhc3RyY21wKHN0cmF0ZWd5LCAic3VidHJlZSIpKSB7CisJCXN0cnVjdCBsb2NrX2ZpbGUgbG9jayA9IExPQ0tfSU5JVDsKIAkJaW50IGNsZWFuLCB4OwogCQlzdHJ1Y3QgY29tbWl0ICpyZXN1bHQ7CiAJCXN0cnVjdCBjb21taXRfbGlzdCAqcmV2ZXJzZWQgPSBOVUxMOwpAQCAtNzAyLDcgKzcwOSw3IEBACiAJCQlyZXR1cm4gMjsKIAkJfQogCi0JCWluaXRfbWVyZ2Vfb3B0aW9ucygmbyk7CisJCWluaXRfbWVyZ2Vfb3B0aW9ucygmbywgdGhlX3JlcG9zaXRvcnkpOwogCQlpZiAoIXN0cmNtcChzdHJhdGVneSwgInN1YnRyZWUiKSkKIAkJCW8uc3VidHJlZV9zaGlmdCA9ICIiOwogCkBAIC03OTYsMjAgKzgwMyw0NSBAQAogc3RhdGljIGNvbnN0IGNoYXIgbWVyZ2VfZWRpdG9yX2NvbW1lbnRbXSA9CiBOXygiUGxlYXNlIGVudGVyIGEgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB3aHkgdGhpcyBtZXJnZSBpcyBuZWNlc3NhcnksXG4iCiAgICAiZXNwZWNpYWxseSBpZiBpdCBtZXJnZXMgYW4gdXBkYXRlZCB1cHN0cmVhbSBpbnRvIGEgdG9waWMgYnJhbmNoLlxuIgotICAgIlxuIgotICAgIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQsIGFuZCBhbiBlbXB0eSBtZXNzYWdlIGFib3J0c1xuIgorICAgIlxuIik7CisKK3N0YXRpYyBjb25zdCBjaGFyIHNjaXNzb3JzX2VkaXRvcl9jb21tZW50W10gPQorTl8oIkFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iKTsKKworc3RhdGljIGNvbnN0IGNoYXIgbm9fc2Npc3NvcnNfZWRpdG9yX2NvbW1lbnRbXSA9CitOXygiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzXG4iCiAgICAidGhlIGNvbW1pdC5cbiIpOwogCiBzdGF0aWMgdm9pZCB3cml0ZV9tZXJnZV9oZWFkcyhzdHJ1Y3QgY29tbWl0X2xpc3QgKik7CiBzdGF0aWMgdm9pZCBwcmVwYXJlX3RvX2NvbW1pdChzdHJ1Y3QgY29tbWl0X2xpc3QgKnJlbW90ZWhlYWRzKQogewogCXN0cnVjdCBzdHJidWYgbXNnID0gU1RSQlVGX0lOSVQ7CisJY29uc3QgY2hhciAqaW5kZXhfZmlsZSA9IGdldF9pbmRleF9maWxlKCk7CisKKwlpZiAoIW5vX3ZlcmlmeSAmJiBydW5fY29tbWl0X2hvb2soMCA8IG9wdGlvbl9lZGl0LCBpbmRleF9maWxlLCAicHJlLW1lcmdlLWNvbW1pdCIsIE5VTEwpKQorCQlhYm9ydF9jb21taXQocmVtb3RlaGVhZHMsIE5VTEwpOworCS8qCisJICogUmUtcmVhZCB0aGUgaW5kZXggYXMgcHJlLW1lcmdlLWNvbW1pdCBob29rIGNvdWxkIGhhdmUgdXBkYXRlZCBpdCwKKwkgKiBhbmQgd3JpdGUgaXQgb3V0IGFzIGEgdHJlZS4gIFdlIG11c3QgZG8gdGhpcyBiZWZvcmUgd2UgaW52b2tlCisJICogdGhlIGVkaXRvciBhbmQgYWZ0ZXIgd2UgaW52b2tlIHJ1bl9zdGF0dXMgYWJvdmUuCisJICovCisJaWYgKGZpbmRfaG9vaygicHJlLW1lcmdlLWNvbW1pdCIpKQorCQlkaXNjYXJkX2NhY2hlKCk7CisJcmVhZF9jYWNoZV9mcm9tKGluZGV4X2ZpbGUpOwogCXN0cmJ1Zl9hZGRidWYoJm1zZywgJm1lcmdlX21zZyk7Ci0Jc3RyYnVmX2FkZGNoKCZtc2csICdcbicpOwogCWlmIChzcXVhc2gpCiAJCUJVRygidGhlIGNvbnRyb2wgbXVzdCBub3QgcmVhY2ggaGVyZSB1bmRlciAtLXNxdWFzaCIpOwotCWlmICgwIDwgb3B0aW9uX2VkaXQpCi0JCXN0cmJ1Zl9jb21tZW50ZWRfYWRkZigmbXNnLCBfKG1lcmdlX2VkaXRvcl9jb21tZW50KSwgY29tbWVudF9saW5lX2NoYXIpOworCWlmICgwIDwgb3B0aW9uX2VkaXQpIHsKKwkJc3RyYnVmX2FkZGNoKCZtc2csICdcbicpOworCQlpZiAoY2xlYW51cF9tb2RlID09IENPTU1JVF9NU0dfQ0xFQU5VUF9TQ0lTU09SUykgeworCQkJd3Rfc3RhdHVzX2FwcGVuZF9jdXRfbGluZSgmbXNnKTsKKwkJCXN0cmJ1Zl9jb21tZW50ZWRfYWRkZigmbXNnLCAiXG4iKTsKKwkJfQorCQlzdHJidWZfY29tbWVudGVkX2FkZGYoJm1zZywgXyhtZXJnZV9lZGl0b3JfY29tbWVudCkpOworCQlzdHJidWZfY29tbWVudGVkX2FkZGYoJm1zZywgXyhjbGVhbnVwX21vZGUgPT0gQ09NTUlUX01TR19DTEVBTlVQX1NDSVNTT1JTID8KKwkJCXNjaXNzb3JzX2VkaXRvcl9jb21tZW50IDoKKwkJCW5vX3NjaXNzb3JzX2VkaXRvcl9jb21tZW50KSwgY29tbWVudF9saW5lX2NoYXIpOworCX0KIAlpZiAoc2lnbm9mZikKIAkJYXBwZW5kX3NpZ25vZmYoJm1zZywgaWdub3JlX25vbl90cmFpbGVyKG1zZy5idWYsIG1zZy5sZW4pLCAwKTsKIAl3cml0ZV9tZXJnZV9oZWFkcyhyZW1vdGVoZWFkcyk7CkBAIC04MjIsMTMgKzg1NCwxMyBAQAogCQkJYWJvcnRfY29tbWl0KHJlbW90ZWhlYWRzLCBOVUxMKTsKIAl9CiAKLQlpZiAodmVyaWZ5X21zZyAmJiBydW5fY29tbWl0X2hvb2soMCA8IG9wdGlvbl9lZGl0LCBnZXRfaW5kZXhfZmlsZSgpLAorCWlmICghbm9fdmVyaWZ5ICYmIHJ1bl9jb21taXRfaG9vaygwIDwgb3B0aW9uX2VkaXQsIGdldF9pbmRleF9maWxlKCksCiAJCQkJCSAgImNvbW1pdC1tc2ciLAogCQkJCQkgIGdpdF9wYXRoX21lcmdlX21zZyh0aGVfcmVwb3NpdG9yeSksIE5VTEwpKQogCQlhYm9ydF9jb21taXQocmVtb3RlaGVhZHMsIE5VTEwpOwogCiAJcmVhZF9tZXJnZV9tc2coJm1zZyk7Ci0Jc3RyYnVmX3N0cmlwc3BhY2UoJm1zZywgMCA8IG9wdGlvbl9lZGl0KTsKKwljbGVhbnVwX21lc3NhZ2UoJm1zZywgY2xlYW51cF9tb2RlLCAwKTsKIAlpZiAoIW1zZy5sZW4pCiAJCWFib3J0X2NvbW1pdChyZW1vdGVoZWFkcywgXygiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIikpOwogCXN0cmJ1Zl9yZWxlYXNlKCZtZXJnZV9tc2cpOwpAQCAtODQwLDEyICs4NzIsOCBAQAogewogCXN0cnVjdCBvYmplY3RfaWQgcmVzdWx0X3RyZWUsIHJlc3VsdF9jb21taXQ7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzLCAqKnBwdHIgPSAmcGFyZW50czsKLQlzdHJ1Y3QgbG9ja19maWxlIGxvY2sgPSBMT0NLX0lOSVQ7CiAKLQlob2xkX2xvY2tlZF9pbmRleCgmbG9jaywgTE9DS19ESUVfT05fRVJST1IpOwotCXJlZnJlc2hfY2FjaGUoUkVGUkVTSF9RVUlFVCk7Ci0JaWYgKHdyaXRlX2xvY2tlZF9pbmRleCgmdGhlX2luZGV4LCAmbG9jaywKLQkJCSAgICAgICBDT01NSVRfTE9DSyB8IFNLSVBfSUZfVU5DSEFOR0VEKSkKKwlpZiAocmVmcmVzaF9hbmRfd3JpdGVfY2FjaGUoUkVGUkVTSF9RVUlFVCwgU0tJUF9JRl9VTkNIQU5HRUQsIDApIDwgMCkKIAkJcmV0dXJuIGVycm9yKF8oIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iKSk7CiAKIAl3cml0ZV90cmVlX3RyaXZpYWwoJnJlc3VsdF90cmVlKTsKQEAgLTg1Nyw3ICs4ODUsNyBAQAogCQkJJnJlc3VsdF9jb21taXQsIE5VTEwsIHNpZ25fY29tbWl0KSkKIAkJZGllKF8oImZhaWxlZCB0byB3cml0ZSBjb21taXQgb2JqZWN0IikpOwogCWZpbmlzaChoZWFkLCByZW1vdGVoZWFkcywgJnJlc3VsdF9jb21taXQsICJJbi1pbmRleCBtZXJnZSIpOwotCWRyb3Bfc2F2ZSgpOworCXJlbW92ZV9tZXJnZV9icmFuY2hfc3RhdGUodGhlX3JlcG9zaXRvcnkpOwogCXJldHVybiAwOwogfQogCkBAIC04NzIsMTEgKzkwMCwxMSBAQAogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IG9iamVjdF9pZCByZXN1bHRfY29tbWl0OwogCisJd3JpdGVfdHJlZV90cml2aWFsKHJlc3VsdF90cmVlKTsKIAlmcmVlX2NvbW1pdF9saXN0KGNvbW1vbik7CiAJcGFyZW50cyA9IHJlbW90ZWhlYWRzOwogCWlmICghaGVhZF9zdWJzdW1lZCB8fCBmYXN0X2ZvcndhcmQgPT0gRkZfTk8pCiAJCWNvbW1pdF9saXN0X2luc2VydChoZWFkLCAmcGFyZW50cyk7Ci0Jc3RyYnVmX2FkZGNoKCZtZXJnZV9tc2csICdcbicpOwogCXByZXBhcmVfdG9fY29tbWl0KHJlbW90ZWhlYWRzKTsKIAlpZiAoY29tbWl0X3RyZWUobWVyZ2VfbXNnLmJ1ZiwgbWVyZ2VfbXNnLmxlbiwgcmVzdWx0X3RyZWUsIHBhcmVudHMsCiAJCQkmcmVzdWx0X2NvbW1pdCwgTlVMTCwgc2lnbl9jb21taXQpKQpAQCAtODg0LDcgKzkxMiw3IEBACiAJc3RyYnVmX2FkZGYoJmJ1ZiwgIk1lcmdlIG1hZGUgYnkgdGhlICclcycgc3RyYXRlZ3kuIiwgd3Rfc3RyYXRlZ3kpOwogCWZpbmlzaChoZWFkLCByZW1vdGVoZWFkcywgJnJlc3VsdF9jb21taXQsIGJ1Zi5idWYpOwogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwotCWRyb3Bfc2F2ZSgpOworCXJlbW92ZV9tZXJnZV9icmFuY2hfc3RhdGUodGhlX3JlcG9zaXRvcnkpOwogCXJldHVybiAwOwogfQogCkBAIC04OTcsNyArOTI1LDE1IEBACiAJZmlsZW5hbWUgPSBnaXRfcGF0aF9tZXJnZV9tc2codGhlX3JlcG9zaXRvcnkpOwogCWZwID0geGZvcGVuKGZpbGVuYW1lLCAiYSIpOwogCi0JYXBwZW5kX2NvbmZsaWN0c19oaW50KCZtc2didWYpOworCS8qCisJICogV2UgY2FuJ3QgdXNlIGNsZWFudXBfbW9kZSBiZWNhdXNlIGlmIHdlJ3JlIG5vdCB1c2luZyB0aGUgZWRpdG9yLAorCSAqIGdldF9jbGVhbnVwX21vZGUgd2lsbCByZXR1cm4gQ09NTUlUX01TR19DTEVBTlVQX1NQQUNFIGluc3RlYWQsIGV2ZW4KKwkgKiB0aG91Z2ggdGhlIG1lc3NhZ2UgaXMgbWVhbnQgdG8gYmUgcHJvY2Vzc2VkIGxhdGVyIGJ5IGdpdC1jb21taXQuCisJICogVGh1cywgd2Ugd2lsbCBnZXQgdGhlIGNsZWFudXAgbW9kZSB3aGljaCBpcyByZXR1cm5lZCB3aGVuIHdlIF9hcmVfCisJICogdXNpbmcgYW4gZWRpdG9yLgorCSAqLworCWFwcGVuZF9jb25mbGljdHNfaGludCgmdGhlX2luZGV4LCAmbXNnYnVmLAorCQkJICAgICAgZ2V0X2NsZWFudXBfbW9kZShjbGVhbnVwX2FyZywgMSkpOwogCWZwdXRzKG1zZ2J1Zi5idWYsIGZwKTsKIAlzdHJidWZfcmVsZWFzZSgmbXNnYnVmKTsKIAlmY2xvc2UoZnApOwpAQCAtMTI1OCw2ICsxMjk0LDE2IEBACiAJCWdvdG8gZG9uZTsKIAl9CiAKKwlpZiAocXVpdF9jdXJyZW50X21lcmdlKSB7CisJCWlmIChvcmlnX2FyZ2MgIT0gMikKKwkJCXVzYWdlX21zZ19vcHQoXygiLS1xdWl0IGV4cGVjdHMgbm8gYXJndW1lbnRzIiksCisJCQkJICAgICAgYnVpbHRpbl9tZXJnZV91c2FnZSwKKwkJCQkgICAgICBidWlsdGluX21lcmdlX29wdGlvbnMpOworCisJCXJlbW92ZV9tZXJnZV9icmFuY2hfc3RhdGUodGhlX3JlcG9zaXRvcnkpOworCQlnb3RvIGRvbmU7CisJfQorCiAJaWYgKGNvbnRpbnVlX2N1cnJlbnRfbWVyZ2UpIHsKIAkJaW50IG5hcmdjID0gMTsKIAkJY29uc3QgY2hhciAqbmFyZ3ZbXSA9IHsiY29tbWl0IiwgTlVMTH07CkBAIC0xMjk3LDE1ICsxMzQzLDMwIEBACiAJfQogCXJlc29sdmVfdW5kb19jbGVhcigpOwogCisJaWYgKG9wdGlvbl9lZGl0IDwgMCkKKwkJb3B0aW9uX2VkaXQgPSBkZWZhdWx0X2VkaXRfb3B0aW9uKCk7CisKKwljbGVhbnVwX21vZGUgPSBnZXRfY2xlYW51cF9tb2RlKGNsZWFudXBfYXJnLCAwIDwgb3B0aW9uX2VkaXQpOworCiAJaWYgKHZlcmJvc2l0eSA8IDApCiAJCXNob3dfZGlmZnN0YXQgPSAwOwogCiAJaWYgKHNxdWFzaCkgewogCQlpZiAoZmFzdF9mb3J3YXJkID09IEZGX05PKQogCQkJZGllKF8oIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tbm8tZmYuIikpOworCQlpZiAob3B0aW9uX2NvbW1pdCA+IDApCisJCQlkaWUoXygiWW91IGNhbm5vdCBjb21iaW5lIC0tc3F1YXNoIHdpdGggLS1jb21taXQuIikpOworCQkvKgorCQkgKiBzcXVhc2ggY2FuIG5vdyBzaWxlbnRseSBkaXNhYmxlIG9wdGlvbl9jb21taXQgLSB0aGlzIGlzIG5vdAorCQkgKiBhIHByb2JsZW0gYXMgaXQgaXMgb25seSBvdmVycmlkaW5nIHRoZSBkZWZhdWx0LCBub3QgYSB1c2VyCisJCSAqIHN1cHBsaWVkIG9wdGlvbi4KKwkJICovCiAJCW9wdGlvbl9jb21taXQgPSAwOwogCX0KIAorCWlmIChvcHRpb25fY29tbWl0IDwgMCkKKwkJb3B0aW9uX2NvbW1pdCA9IDE7CisKIAlpZiAoIWFyZ2MpIHsKIAkJaWYgKGRlZmF1bHRfdG9fdXBzdHJlYW0pCiAJCQlhcmdjID0gc2V0dXBfd2l0aF91cHN0cmVhbSgmYXJndik7CkBAIC0xMzM5LDcgKzE0MDAsOCBAQAogCQkJZGllKF8oIkNhbiBtZXJnZSBvbmx5IGV4YWN0bHkgb25lIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQiKSk7CiAKIAkJaWYgKHZlcmlmeV9zaWduYXR1cmVzKQotCQkJdmVyaWZ5X21lcmdlX3NpZ25hdHVyZShyZW1vdGVoZWFkcy0+aXRlbSwgdmVyYm9zaXR5KTsKKwkJCXZlcmlmeV9tZXJnZV9zaWduYXR1cmUocmVtb3RlaGVhZHMtPml0ZW0sIHZlcmJvc2l0eSwKKwkJCQkJICAgICAgIGNoZWNrX3RydXN0X2xldmVsKTsKIAogCQlyZW1vdGVfaGVhZF9vaWQgPSAmcmVtb3RlaGVhZHMtPml0ZW0tPm9iamVjdC5vaWQ7CiAJCXJlYWRfZW1wdHkocmVtb3RlX2hlYWRfb2lkLCAwKTsKQEAgLTEzNjIsNyArMTQyNCw4IEBACiAKIAlpZiAodmVyaWZ5X3NpZ25hdHVyZXMpIHsKIAkJZm9yIChwID0gcmVtb3RlaGVhZHM7IHA7IHAgPSBwLT5uZXh0KSB7Ci0JCQl2ZXJpZnlfbWVyZ2Vfc2lnbmF0dXJlKHAtPml0ZW0sIHZlcmJvc2l0eSk7CisJCQl2ZXJpZnlfbWVyZ2Vfc2lnbmF0dXJlKHAtPml0ZW0sIHZlcmJvc2l0eSwKKwkJCQkJICAgICAgIGNoZWNrX3RydXN0X2xldmVsKTsKIAkJfQogCX0KIApAQCAtMTM4Miw5ICsxNDQ1LDYgQEAKIAkJCWZhc3RfZm9yd2FyZCA9IEZGX05POwogCX0KIAotCWlmIChvcHRpb25fZWRpdCA8IDApCi0JCW9wdGlvbl9lZGl0ID0gZGVmYXVsdF9lZGl0X29wdGlvbigpOwotCiAJaWYgKCF1c2Vfc3RyYXRlZ2llcykgewogCQlpZiAoIXJlbW90ZWhlYWRzKQogCQkJOyAvKiBhbHJlYWR5IHVwLXRvLWRhdGUgKi8KQEAgLTE0NjIsNyArMTUyMiw3IEBACiAJCX0KIAogCQlmaW5pc2goaGVhZF9jb21taXQsIHJlbW90ZWhlYWRzLCAmY29tbWl0LT5vYmplY3Qub2lkLCBtc2cuYnVmKTsKLQkJZHJvcF9zYXZlKCk7CisJCXJlbW92ZV9tZXJnZV9icmFuY2hfc3RhdGUodGhlX3JlcG9zaXRvcnkpOwogCQlnb3RvIGRvbmU7CiAJfSBlbHNlIGlmICghcmVtb3RlaGVhZHMtPm5leHQgJiYgY29tbW9uLT5uZXh0KQogCQk7CkBAIC0xNTM3LDggKzE1OTcsOCBAQAogCSAgICBzYXZlX3N0YXRlKCZzdGFzaCkpCiAJCW9pZGNscigmc3Rhc2gpOwogCi0JZm9yIChpID0gMDsgaSA8IHVzZV9zdHJhdGVnaWVzX25yOyBpKyspIHsKLQkJaW50IHJldDsKKwlmb3IgKGkgPSAwOyAhbWVyZ2Vfd2FzX29rICYmIGkgPCB1c2Vfc3RyYXRlZ2llc19ucjsgaSsrKSB7CisJCWludCByZXQsIGNudDsKIAkJaWYgKGkpIHsKIAkJCXByaW50ZihfKCJSZXdpbmRpbmcgdGhlIHRyZWUgdG8gcHJpc3RpbmUuLi5cbiIpKTsKIAkJCXJlc3RvcmVfc3RhdGUoJmhlYWRfY29tbWl0LT5vYmplY3Qub2lkLCAmc3Rhc2gpOwpAQCAtMTU1NSw0MCArMTYxNSwyNiBAQAogCQlyZXQgPSB0cnlfbWVyZ2Vfc3RyYXRlZ3kodXNlX3N0cmF0ZWdpZXNbaV0tPm5hbWUsCiAJCQkJCSBjb21tb24sIHJlbW90ZWhlYWRzLAogCQkJCQkgaGVhZF9jb21taXQpOwotCQlpZiAoIW9wdGlvbl9jb21taXQgJiYgIXJldCkgewotCQkJbWVyZ2Vfd2FzX29rID0gMTsKLQkJCS8qCi0JCQkgKiBUaGlzIGlzIG5lY2Vzc2FyeSBoZXJlIGp1c3QgdG8gYXZvaWQgd3JpdGluZwotCQkJICogdGhlIHRyZWUsIGJ1dCBsYXRlciB3ZSB3aWxsICpub3QqIGV4aXQgd2l0aAotCQkJICogc3RhdHVzIGNvZGUgMSBiZWNhdXNlIG1lcmdlX3dhc19vayBpcyBzZXQuCi0JCQkgKi8KLQkJCXJldCA9IDE7Ci0JCX0KLQotCQlpZiAocmV0KSB7Ci0JCQkvKgotCQkJICogVGhlIGJhY2tlbmQgZXhpdHMgd2l0aCAxIHdoZW4gY29uZmxpY3RzIGFyZQotCQkJICogbGVmdCB0byBiZSByZXNvbHZlZCwgd2l0aCAyIHdoZW4gaXQgZG9lcyBub3QKLQkJCSAqIGhhbmRsZSB0aGUgZ2l2ZW4gbWVyZ2UgYXQgYWxsLgotCQkJICovCi0JCQlpZiAocmV0ID09IDEpIHsKLQkJCQlpbnQgY250ID0gZXZhbHVhdGVfcmVzdWx0KCk7Ci0KLQkJCQlpZiAoYmVzdF9jbnQgPD0gMCB8fCBjbnQgPD0gYmVzdF9jbnQpIHsKLQkJCQkJYmVzdF9zdHJhdGVneSA9IHVzZV9zdHJhdGVnaWVzW2ldLT5uYW1lOwotCQkJCQliZXN0X2NudCA9IGNudDsKKwkJLyoKKwkJICogVGhlIGJhY2tlbmQgZXhpdHMgd2l0aCAxIHdoZW4gY29uZmxpY3RzIGFyZQorCQkgKiBsZWZ0IHRvIGJlIHJlc29sdmVkLCB3aXRoIDIgd2hlbiBpdCBkb2VzIG5vdAorCQkgKiBoYW5kbGUgdGhlIGdpdmVuIG1lcmdlIGF0IGFsbC4KKwkJICovCisJCWlmIChyZXQgPCAyKSB7CisJCQlpZiAoIXJldCkgeworCQkJCWlmIChvcHRpb25fY29tbWl0KSB7CisJCQkJCS8qIEF1dG9tZXJnZSBzdWNjZWVkZWQuICovCisJCQkJCWF1dG9tZXJnZV93YXNfb2sgPSAxOworCQkJCQlicmVhazsKIAkJCQl9CisJCQkJbWVyZ2Vfd2FzX29rID0gMTsKIAkJCX0KLQkJCWlmIChtZXJnZV93YXNfb2spCi0JCQkJYnJlYWs7Ci0JCQllbHNlCi0JCQkJY29udGludWU7CisJCQljbnQgPSBldmFsdWF0ZV9yZXN1bHQoKTsKKwkJCWlmIChiZXN0X2NudCA8PSAwIHx8IGNudCA8PSBiZXN0X2NudCkgeworCQkJCWJlc3Rfc3RyYXRlZ3kgPSB1c2Vfc3RyYXRlZ2llc1tpXS0+bmFtZTsKKwkJCQliZXN0X2NudCA9IGNudDsKKwkJCX0KIAkJfQotCi0JCS8qIEF1dG9tZXJnZSBzdWNjZWVkZWQuICovCi0JCXdyaXRlX3RyZWVfdHJpdmlhbCgmcmVzdWx0X3RyZWUpOwotCQlhdXRvbWVyZ2Vfd2FzX29rID0gMTsKLQkJYnJlYWs7CiAJfQogCiAJLyoKZGlmZiAtLWdpdCBhL2J1aWx0aW4vbWt0YWcuYyBiL2J1aWx0aW4vbWt0YWcuYwppbmRleCA2ZmI3ZGM4Li40OTgyZDNhIDEwMDY0NAotLS0gYS9idWlsdGluL21rdGFnLmMKKysrIGIvYnVpbHRpbi9ta3RhZy5jCkBAIC0yOSw4ICsyOSwxMSBAQAogCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKnJlcGwgPSBsb29rdXBfcmVwbGFjZV9vYmplY3QodGhlX3JlcG9zaXRvcnksIG9pZCk7CiAKIAlpZiAoYnVmZmVyKSB7Ci0JCWlmICh0eXBlID09IHR5cGVfZnJvbV9zdHJpbmcoZXhwZWN0ZWRfdHlwZSkpCi0JCQlyZXQgPSBjaGVja19vYmplY3Rfc2lnbmF0dXJlKHJlcGwsIGJ1ZmZlciwgc2l6ZSwgZXhwZWN0ZWRfdHlwZSk7CisJCWlmICh0eXBlID09IHR5cGVfZnJvbV9zdHJpbmcoZXhwZWN0ZWRfdHlwZSkpIHsKKwkJCXJldCA9IGNoZWNrX29iamVjdF9zaWduYXR1cmUodGhlX3JlcG9zaXRvcnksIHJlcGwsCisJCQkJCQkgICAgIGJ1ZmZlciwgc2l6ZSwKKwkJCQkJCSAgICAgZXhwZWN0ZWRfdHlwZSk7CisJCX0KIAkJZnJlZShidWZmZXIpOwogCX0KIAlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9ta3RyZWUuYyBiL2J1aWx0aW4vbWt0cmVlLmMKaW5kZXggOTRlODJiOC4uODkxOTkxYiAxMDA2NDQKLS0tIGEvYnVpbHRpbi9ta3RyZWUuYworKysgYi9idWlsdGluL21rdHJlZS5jCkBAIC02Nyw3ICs2Nyw3IEBACiAJTlVMTAogfTsKIAotc3RhdGljIHZvaWQgbWt0cmVlX2xpbmUoY2hhciAqYnVmLCBzaXplX3QgbGVuLCBpbnQgbnVsX3Rlcm1fbGluZSwgaW50IGFsbG93X21pc3NpbmcpCitzdGF0aWMgdm9pZCBta3RyZWVfbGluZShjaGFyICpidWYsIGludCBudWxfdGVybV9saW5lLCBpbnQgYWxsb3dfbWlzc2luZykKIHsKIAljaGFyICpwdHIsICpudHI7CiAJY29uc3QgY2hhciAqcDsKQEAgLTE3Miw3ICsxNzIsNyBAQAogCQkJCQlicmVhazsKIAkJCQlkaWUoImlucHV0IGZvcm1hdCBlcnJvcjogKGJsYW5rIGxpbmUgb25seSB2YWxpZCBpbiBiYXRjaCBtb2RlKSIpOwogCQkJfQotCQkJbWt0cmVlX2xpbmUoc2IuYnVmLCBzYi5sZW4sIG51bF90ZXJtX2xpbmUsIGFsbG93X21pc3NpbmcpOworCQkJbWt0cmVlX2xpbmUoc2IuYnVmLCBudWxfdGVybV9saW5lLCBhbGxvd19taXNzaW5nKTsKIAkJfQogCQlpZiAoaXNfYmF0Y2hfbW9kZSAmJiBnb3RfZW9mICYmIHVzZWQgPCAxKSB7CiAJCQkvKgpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmMgYi9idWlsdGluL211bHRpLXBhY2staW5kZXguYwppbmRleCBmY2E3MGY4Li41YmY4OGNkIDEwMDY0NAotLS0gYS9idWlsdGluL211bHRpLXBhY2staW5kZXguYworKysgYi9idWlsdGluL211bHRpLXBhY2staW5kZXguYwpAQCAtMywzMyArMyw0NCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKICNpbmNsdWRlICJtaWR4LmgiCisjaW5jbHVkZSAidHJhY2UyLmgiCiAKIHN0YXRpYyBjaGFyIGNvbnN0ICogY29uc3QgYnVpbHRpbl9tdWx0aV9wYWNrX2luZGV4X3VzYWdlW10gPSB7Ci0JTl8oImdpdCBtdWx0aS1wYWNrLWluZGV4IFstLW9iamVjdC1kaXI9PGRpcj5dICh3cml0ZXx2ZXJpZnkpIiksCisJTl8oImdpdCBtdWx0aS1wYWNrLWluZGV4IFs8b3B0aW9ucz5dICh3cml0ZXx2ZXJpZnl8ZXhwaXJlfHJlcGFjayAtLWJhdGNoLXNpemU9PHNpemU+KSIpLAogCU5VTEwKIH07CiAKIHN0YXRpYyBzdHJ1Y3Qgb3B0c19tdWx0aV9wYWNrX2luZGV4IHsKIAljb25zdCBjaGFyICpvYmplY3RfZGlyOworCXVuc2lnbmVkIGxvbmcgYmF0Y2hfc2l6ZTsKKwlpbnQgcHJvZ3Jlc3M7CiB9IG9wdHM7CiAKIGludCBjbWRfbXVsdGlfcGFja19pbmRleChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsCiAJCQkgY29uc3QgY2hhciAqcHJlZml4KQogeworCXVuc2lnbmVkIGZsYWdzID0gMDsKKwogCXN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIGJ1aWx0aW5fbXVsdGlfcGFja19pbmRleF9vcHRpb25zW10gPSB7CiAJCU9QVF9GSUxFTkFNRSgwLCAib2JqZWN0LWRpciIsICZvcHRzLm9iamVjdF9kaXIsCiAJCSAgTl8oIm9iamVjdCBkaXJlY3RvcnkgY29udGFpbmluZyBzZXQgb2YgcGFja2ZpbGUgYW5kIHBhY2staW5kZXggcGFpcnMiKSksCisJCU9QVF9CT09MKDAsICJwcm9ncmVzcyIsICZvcHRzLnByb2dyZXNzLCBOXygiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIikpLAorCQlPUFRfTUFHTklUVURFKDAsICJiYXRjaC1zaXplIiwgJm9wdHMuYmF0Y2hfc2l6ZSwKKwkJICBOXygiZHVyaW5nIHJlcGFjaywgY29sbGVjdCBwYWNrLWZpbGVzIG9mIHNtYWxsZXIgc2l6ZSBpbnRvIGEgYmF0Y2ggdGhhdCBpcyBsYXJnZXIgdGhhbiB0aGlzIHNpemUiKSksCiAJCU9QVF9FTkQoKSwKIAl9OwogCiAJZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOwogCisJb3B0cy5wcm9ncmVzcyA9IGlzYXR0eSgyKTsKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsCiAJCQkgICAgIGJ1aWx0aW5fbXVsdGlfcGFja19pbmRleF9vcHRpb25zLAogCQkJICAgICBidWlsdGluX211bHRpX3BhY2tfaW5kZXhfdXNhZ2UsIDApOwogCiAJaWYgKCFvcHRzLm9iamVjdF9kaXIpCiAJCW9wdHMub2JqZWN0X2RpciA9IGdldF9vYmplY3RfZGlyZWN0b3J5KCk7CisJaWYgKG9wdHMucHJvZ3Jlc3MpCisJCWZsYWdzIHw9IE1JRFhfUFJPR1JFU1M7CiAKIAlpZiAoYXJnYyA9PSAwKQogCQl1c2FnZV93aXRoX29wdGlvbnMoYnVpbHRpbl9tdWx0aV9wYWNrX2luZGV4X3VzYWdlLApAQCAtNDAsMTAgKzUxLDIwIEBACiAJCXJldHVybiAxOwogCX0KIAotCWlmICghc3RyY21wKGFyZ3ZbMF0sICJ3cml0ZSIpKQotCQlyZXR1cm4gd3JpdGVfbWlkeF9maWxlKG9wdHMub2JqZWN0X2Rpcik7Ci0JaWYgKCFzdHJjbXAoYXJndlswXSwgInZlcmlmeSIpKQotCQlyZXR1cm4gdmVyaWZ5X21pZHhfZmlsZShvcHRzLm9iamVjdF9kaXIpOworCXRyYWNlMl9jbWRfbW9kZShhcmd2WzBdKTsKIAotCWRpZShfKCJ1bnJlY29nbml6ZWQgdmVyYjogJXMiKSwgYXJndlswXSk7CisJaWYgKCFzdHJjbXAoYXJndlswXSwgInJlcGFjayIpKQorCQlyZXR1cm4gbWlkeF9yZXBhY2sodGhlX3JlcG9zaXRvcnksIG9wdHMub2JqZWN0X2RpciwKKwkJCShzaXplX3Qpb3B0cy5iYXRjaF9zaXplLCBmbGFncyk7CisJaWYgKG9wdHMuYmF0Y2hfc2l6ZSkKKwkJZGllKF8oIi0tYmF0Y2gtc2l6ZSBvcHRpb24gaXMgb25seSBmb3IgJ3JlcGFjaycgc3ViY29tbWFuZCIpKTsKKworCWlmICghc3RyY21wKGFyZ3ZbMF0sICJ3cml0ZSIpKQorCQlyZXR1cm4gd3JpdGVfbWlkeF9maWxlKG9wdHMub2JqZWN0X2RpciwgZmxhZ3MpOworCWlmICghc3RyY21wKGFyZ3ZbMF0sICJ2ZXJpZnkiKSkKKwkJcmV0dXJuIHZlcmlmeV9taWR4X2ZpbGUodGhlX3JlcG9zaXRvcnksIG9wdHMub2JqZWN0X2RpciwgZmxhZ3MpOworCWlmICghc3RyY21wKGFyZ3ZbMF0sICJleHBpcmUiKSkKKwkJcmV0dXJuIGV4cGlyZV9taWR4X3BhY2tzKHRoZV9yZXBvc2l0b3J5LCBvcHRzLm9iamVjdF9kaXIsIGZsYWdzKTsKKworCWRpZShfKCJ1bnJlY29nbml6ZWQgc3ViY29tbWFuZDogJXMiKSwgYXJndlswXSk7CiB9CmRpZmYgLS1naXQgYS9idWlsdGluL212LmMgYi9idWlsdGluL212LmMKaW5kZXggODBiYjk2Ny4uYmUxNWJhNyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9tdi5jCisrKyBiL2J1aWx0aW4vbXYuYwpAQCAtMyw2ICszLDcgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgSm9oYW5uZXMgU2NoaW5kZWxpbgogICovCisjZGVmaW5lIFVTRV9USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAicGF0aHNwZWMuaCIKZGlmZiAtLWdpdCBhL2J1aWx0aW4vbmFtZS1yZXYuYyBiL2J1aWx0aW4vbmFtZS1yZXYuYwppbmRleCBmMWNiNDVjLi5hOWRjZDI1IDEwMDY0NAotLS0gYS9idWlsdGluL25hbWUtcmV2LmMKKysrIGIvYnVpbHRpbi9uYW1lLXJldi5jCkBAIC02LDIwICs2LDI1IEBACiAjaW5jbHVkZSAidGFnLmgiCiAjaW5jbHVkZSAicmVmcy5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKKyNpbmNsdWRlICJwcmlvLXF1ZXVlLmgiCiAjaW5jbHVkZSAic2hhMS1sb29rdXAuaCIKICNpbmNsdWRlICJjb21taXQtc2xhYi5oIgogCi0jZGVmaW5lIENVVE9GRl9EQVRFX1NMT1AgODY0MDAgLyogb25lIGRheSAqLworLyoKKyAqIE9uZSBkYXkuICBTZWUgdGhlICduYW1lIGEgcmV2IHNob3J0bHkgYWZ0ZXIgZXBvY2gnIHRlc3QgaW4gdDYxMjAgd2hlbgorICogY2hhbmdpbmcgdGhpcyB2YWx1ZQorICovCisjZGVmaW5lIENVVE9GRl9EQVRFX1NMT1AgODY0MDAKIAotdHlwZWRlZiBzdHJ1Y3QgcmV2X25hbWUgewotCWNvbnN0IGNoYXIgKnRpcF9uYW1lOworc3RydWN0IHJldl9uYW1lIHsKKwljaGFyICp0aXBfbmFtZTsKIAl0aW1lc3RhbXBfdCB0YWdnZXJkYXRlOwogCWludCBnZW5lcmF0aW9uOwogCWludCBkaXN0YW5jZTsKIAlpbnQgZnJvbV90YWc7Ci19IHJldl9uYW1lOworfTsKIAotZGVmaW5lX2NvbW1pdF9zbGFiKGNvbW1pdF9yZXZfbmFtZSwgc3RydWN0IHJldl9uYW1lICopOworZGVmaW5lX2NvbW1pdF9zbGFiKGNvbW1pdF9yZXZfbmFtZSwgc3RydWN0IHJldl9uYW1lKTsKIAogc3RhdGljIHRpbWVzdGFtcF90IGN1dG9mZiA9IFRJTUVfTUFYOwogc3RhdGljIHN0cnVjdCBjb21taXRfcmV2X25hbWUgcmV2X25hbWVzOwpAQCAtMjcsMjIgKzMyLDIwIEBACiAvKiBIb3cgbWFueSBnZW5lcmF0aW9ucyBhcmUgbWF4aW1hbGx5IHByZWZlcnJlZCBvdmVyIF9vbmVfIG1lcmdlIHRyYXZlcnNhbD8gKi8KICNkZWZpbmUgTUVSR0VfVFJBVkVSU0FMX1dFSUdIVCA2NTUzNQogCi1zdGF0aWMgc3RydWN0IHJldl9uYW1lICpnZXRfY29tbWl0X3Jldl9uYW1lKHN0cnVjdCBjb21taXQgKmNvbW1pdCkKK3N0YXRpYyBpbnQgaXNfdmFsaWRfcmV2X25hbWUoY29uc3Qgc3RydWN0IHJldl9uYW1lICpuYW1lKQogewotCXN0cnVjdCByZXZfbmFtZSAqKnNsb3QgPSBjb21taXRfcmV2X25hbWVfcGVlaygmcmV2X25hbWVzLCBjb21taXQpOwotCi0JcmV0dXJuIHNsb3QgPyAqc2xvdCA6IE5VTEw7CisJcmV0dXJuIG5hbWUgJiYgKG5hbWUtPmdlbmVyYXRpb24gfHwgbmFtZS0+dGlwX25hbWUpOwogfQogCi1zdGF0aWMgdm9pZCBzZXRfY29tbWl0X3Jldl9uYW1lKHN0cnVjdCBjb21taXQgKmNvbW1pdCwgc3RydWN0IHJldl9uYW1lICpuYW1lKQorc3RhdGljIHN0cnVjdCByZXZfbmFtZSAqZ2V0X2NvbW1pdF9yZXZfbmFtZShjb25zdCBzdHJ1Y3QgY29tbWl0ICpjb21taXQpCiB7Ci0JKmNvbW1pdF9yZXZfbmFtZV9hdCgmcmV2X25hbWVzLCBjb21taXQpID0gbmFtZTsKKwlzdHJ1Y3QgcmV2X25hbWUgKm5hbWUgPSBjb21taXRfcmV2X25hbWVfcGVlaygmcmV2X25hbWVzLCBjb21taXQpOworCisJcmV0dXJuIGlzX3ZhbGlkX3Jldl9uYW1lKG5hbWUpID8gbmFtZSA6IE5VTEw7CiB9CiAKIHN0YXRpYyBpbnQgaXNfYmV0dGVyX25hbWUoc3RydWN0IHJldl9uYW1lICpuYW1lLAotCQkJICBjb25zdCBjaGFyICp0aXBfbmFtZSwKIAkJCSAgdGltZXN0YW1wX3QgdGFnZ2VyZGF0ZSwKLQkJCSAgaW50IGdlbmVyYXRpb24sCiAJCQkgIGludCBkaXN0YW5jZSwKIAkJCSAgaW50IGZyb21fdGFnKQogewpAQCAtNzcsNjkgKzgwLDEzNSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBuYW1lX3JldihzdHJ1Y3QgY29tbWl0ICpjb21taXQsCi0JCWNvbnN0IGNoYXIgKnRpcF9uYW1lLCB0aW1lc3RhbXBfdCB0YWdnZXJkYXRlLAotCQlpbnQgZ2VuZXJhdGlvbiwgaW50IGRpc3RhbmNlLCBpbnQgZnJvbV90YWcsCi0JCWludCBkZXJlZikKK3N0YXRpYyBzdHJ1Y3QgcmV2X25hbWUgKmNyZWF0ZV9vcl91cGRhdGVfbmFtZShzdHJ1Y3QgY29tbWl0ICpjb21taXQsCisJCQkJCSAgICAgIHRpbWVzdGFtcF90IHRhZ2dlcmRhdGUsCisJCQkJCSAgICAgIGludCBnZW5lcmF0aW9uLCBpbnQgZGlzdGFuY2UsCisJCQkJCSAgICAgIGludCBmcm9tX3RhZykKIHsKLQlzdHJ1Y3QgcmV2X25hbWUgKm5hbWUgPSBnZXRfY29tbWl0X3Jldl9uYW1lKGNvbW1pdCk7Ci0Jc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzOwotCWludCBwYXJlbnRfbnVtYmVyID0gMTsKLQljaGFyICp0b19mcmVlID0gTlVMTDsKKwlzdHJ1Y3QgcmV2X25hbWUgKm5hbWUgPSBjb21taXRfcmV2X25hbWVfYXQoJnJldl9uYW1lcywgY29tbWl0KTsKIAotCXBhcnNlX2NvbW1pdChjb21taXQpOworCWlmIChpc192YWxpZF9yZXZfbmFtZShuYW1lKSkgeworCQlpZiAoIWlzX2JldHRlcl9uYW1lKG5hbWUsIHRhZ2dlcmRhdGUsIGRpc3RhbmNlLCBmcm9tX3RhZykpCisJCQlyZXR1cm4gTlVMTDsKIAotCWlmIChjb21taXQtPmRhdGUgPCBjdXRvZmYpCi0JCXJldHVybjsKLQotCWlmIChkZXJlZikgewotCQl0aXBfbmFtZSA9IHRvX2ZyZWUgPSB4c3RyZm10KCIlc14wIiwgdGlwX25hbWUpOwotCi0JCWlmIChnZW5lcmF0aW9uKQotCQkJZGllKCJnZW5lcmF0aW9uOiAlZCwgYnV0IGRlcmVmPyIsIGdlbmVyYXRpb24pOworCQkvKgorCQkgKiBUaGlzIHN0cmluZyBtaWdodCBzdGlsbCBiZSBzaGFyZWQgd2l0aCBhbmNlc3RvcnMKKwkJICogKGdlbmVyYXRpb24gPiAwKS4gIFdlIGNhbiByZWxlYXNlIGl0IGhlcmUgcmVnYXJkbGVzcywKKwkJICogYmVjYXVzZSB0aGUgbmV3IG5hbWUgdGhhdCBoYXMganVzdCB3b24gd2lsbCBiZSBiZXR0ZXIKKwkJICogZm9yIHRoZW0gYXMgd2VsbCwgc28gbmFtZV9yZXYoKSB3aWxsIHJlcGxhY2UgdGhlc2UKKwkJICogc3RhbGUgcG9pbnRlcnMgd2hlbiBpdCBwcm9jZXNzZXMgdGhlIHBhcmVudHMuCisJCSAqLworCQlpZiAoIW5hbWUtPmdlbmVyYXRpb24pCisJCQlmcmVlKG5hbWUtPnRpcF9uYW1lKTsKIAl9CiAKLQlpZiAobmFtZSA9PSBOVUxMKSB7Ci0JCW5hbWUgPSB4bWFsbG9jKHNpemVvZihyZXZfbmFtZSkpOwotCQlzZXRfY29tbWl0X3Jldl9uYW1lKGNvbW1pdCwgbmFtZSk7Ci0JCWdvdG8gY29weV9kYXRhOwotCX0gZWxzZSBpZiAoaXNfYmV0dGVyX25hbWUobmFtZSwgdGlwX25hbWUsIHRhZ2dlcmRhdGUsCi0JCQkJICBnZW5lcmF0aW9uLCBkaXN0YW5jZSwgZnJvbV90YWcpKSB7Ci1jb3B5X2RhdGE6Ci0JCW5hbWUtPnRpcF9uYW1lID0gdGlwX25hbWU7Ci0JCW5hbWUtPnRhZ2dlcmRhdGUgPSB0YWdnZXJkYXRlOwotCQluYW1lLT5nZW5lcmF0aW9uID0gZ2VuZXJhdGlvbjsKLQkJbmFtZS0+ZGlzdGFuY2UgPSBkaXN0YW5jZTsKLQkJbmFtZS0+ZnJvbV90YWcgPSBmcm9tX3RhZzsKKwluYW1lLT50YWdnZXJkYXRlID0gdGFnZ2VyZGF0ZTsKKwluYW1lLT5nZW5lcmF0aW9uID0gZ2VuZXJhdGlvbjsKKwluYW1lLT5kaXN0YW5jZSA9IGRpc3RhbmNlOworCW5hbWUtPmZyb21fdGFnID0gZnJvbV90YWc7CisKKwlyZXR1cm4gbmFtZTsKK30KKworc3RhdGljIGNoYXIgKmdldF9wYXJlbnRfbmFtZShjb25zdCBzdHJ1Y3QgcmV2X25hbWUgKm5hbWUsIGludCBwYXJlbnRfbnVtYmVyKQoreworCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKwlzaXplX3QgbGVuOworCisJc3RyaXBfc3VmZml4KG5hbWUtPnRpcF9uYW1lLCAiXjAiLCAmbGVuKTsKKwlpZiAobmFtZS0+Z2VuZXJhdGlvbiA+IDApIHsKKwkJc3RyYnVmX2dyb3coJnNiLCBsZW4gKworCQkJICAgIDEgKyBkZWNpbWFsX3dpZHRoKG5hbWUtPmdlbmVyYXRpb24pICsKKwkJCSAgICAxICsgZGVjaW1hbF93aWR0aChwYXJlbnRfbnVtYmVyKSk7CisJCXN0cmJ1Zl9hZGRmKCZzYiwgIiUuKnN+JWReJWQiLCAoaW50KWxlbiwgbmFtZS0+dGlwX25hbWUsCisJCQkgICAgbmFtZS0+Z2VuZXJhdGlvbiwgcGFyZW50X251bWJlcik7CiAJfSBlbHNlIHsKLQkJZnJlZSh0b19mcmVlKTsKKwkJc3RyYnVmX2dyb3coJnNiLCBsZW4gKworCQkJICAgIDEgKyBkZWNpbWFsX3dpZHRoKHBhcmVudF9udW1iZXIpKTsKKwkJc3RyYnVmX2FkZGYoJnNiLCAiJS4qc14lZCIsIChpbnQpbGVuLCBuYW1lLT50aXBfbmFtZSwKKwkJCSAgICBwYXJlbnRfbnVtYmVyKTsKKwl9CisJcmV0dXJuIHN0cmJ1Zl9kZXRhY2goJnNiLCBOVUxMKTsKK30KKworc3RhdGljIHZvaWQgbmFtZV9yZXYoc3RydWN0IGNvbW1pdCAqc3RhcnRfY29tbWl0LAorCQljb25zdCBjaGFyICp0aXBfbmFtZSwgdGltZXN0YW1wX3QgdGFnZ2VyZGF0ZSwKKwkJaW50IGZyb21fdGFnLCBpbnQgZGVyZWYpCit7CisJc3RydWN0IHByaW9fcXVldWUgcXVldWU7CisJc3RydWN0IGNvbW1pdCAqY29tbWl0OworCXN0cnVjdCBjb21taXQgKipwYXJlbnRzX3RvX3F1ZXVlID0gTlVMTDsKKwlzaXplX3QgcGFyZW50c190b19xdWV1ZV9uciwgcGFyZW50c190b19xdWV1ZV9hbGxvYyA9IDA7CisJc3RydWN0IHJldl9uYW1lICpzdGFydF9uYW1lOworCisJcGFyc2VfY29tbWl0KHN0YXJ0X2NvbW1pdCk7CisJaWYgKHN0YXJ0X2NvbW1pdC0+ZGF0ZSA8IGN1dG9mZikKIAkJcmV0dXJuOwotCX0KIAotCWZvciAocGFyZW50cyA9IGNvbW1pdC0+cGFyZW50czsKLQkJCXBhcmVudHM7Ci0JCQlwYXJlbnRzID0gcGFyZW50cy0+bmV4dCwgcGFyZW50X251bWJlcisrKSB7Ci0JCWlmIChwYXJlbnRfbnVtYmVyID4gMSkgewotCQkJc2l6ZV90IGxlbjsKLQkJCWNoYXIgKm5ld19uYW1lOworCXN0YXJ0X25hbWUgPSBjcmVhdGVfb3JfdXBkYXRlX25hbWUoc3RhcnRfY29tbWl0LCB0YWdnZXJkYXRlLCAwLCAwLAorCQkJCQkgICBmcm9tX3RhZyk7CisJaWYgKCFzdGFydF9uYW1lKQorCQlyZXR1cm47CisJaWYgKGRlcmVmKQorCQlzdGFydF9uYW1lLT50aXBfbmFtZSA9IHhzdHJmbXQoIiVzXjAiLCB0aXBfbmFtZSk7CisJZWxzZQorCQlzdGFydF9uYW1lLT50aXBfbmFtZSA9IHhzdHJkdXAodGlwX25hbWUpOwogCi0JCQlzdHJpcF9zdWZmaXgodGlwX25hbWUsICJeMCIsICZsZW4pOwotCQkJaWYgKGdlbmVyYXRpb24gPiAwKQotCQkJCW5ld19uYW1lID0geHN0cmZtdCgiJS4qc34lZF4lZCIsIChpbnQpbGVuLCB0aXBfbmFtZSwKLQkJCQkJCSAgIGdlbmVyYXRpb24sIHBhcmVudF9udW1iZXIpOwotCQkJZWxzZQotCQkJCW5ld19uYW1lID0geHN0cmZtdCgiJS4qc14lZCIsIChpbnQpbGVuLCB0aXBfbmFtZSwKLQkJCQkJCSAgIHBhcmVudF9udW1iZXIpOworCW1lbXNldCgmcXVldWUsIDAsIHNpemVvZihxdWV1ZSkpOyAvKiBVc2UgdGhlIHByaW9fcXVldWUgYXMgTElGTyAqLworCXByaW9fcXVldWVfcHV0KCZxdWV1ZSwgc3RhcnRfY29tbWl0KTsKIAotCQkJbmFtZV9yZXYocGFyZW50cy0+aXRlbSwgbmV3X25hbWUsIHRhZ2dlcmRhdGUsIDAsCi0JCQkJIGRpc3RhbmNlICsgTUVSR0VfVFJBVkVSU0FMX1dFSUdIVCwKLQkJCQkgZnJvbV90YWcsIDApOwotCQl9IGVsc2UgewotCQkJbmFtZV9yZXYocGFyZW50cy0+aXRlbSwgdGlwX25hbWUsIHRhZ2dlcmRhdGUsCi0JCQkJIGdlbmVyYXRpb24gKyAxLCBkaXN0YW5jZSArIDEsCi0JCQkJIGZyb21fdGFnLCAwKTsKKwl3aGlsZSAoKGNvbW1pdCA9IHByaW9fcXVldWVfZ2V0KCZxdWV1ZSkpKSB7CisJCXN0cnVjdCByZXZfbmFtZSAqbmFtZSA9IGdldF9jb21taXRfcmV2X25hbWUoY29tbWl0KTsKKwkJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzOworCQlpbnQgcGFyZW50X251bWJlciA9IDE7CisKKwkJcGFyZW50c190b19xdWV1ZV9uciA9IDA7CisKKwkJZm9yIChwYXJlbnRzID0gY29tbWl0LT5wYXJlbnRzOworCQkJCXBhcmVudHM7CisJCQkJcGFyZW50cyA9IHBhcmVudHMtPm5leHQsIHBhcmVudF9udW1iZXIrKykgeworCQkJc3RydWN0IGNvbW1pdCAqcGFyZW50ID0gcGFyZW50cy0+aXRlbTsKKwkJCXN0cnVjdCByZXZfbmFtZSAqcGFyZW50X25hbWU7CisJCQlpbnQgZ2VuZXJhdGlvbiwgZGlzdGFuY2U7CisKKwkJCXBhcnNlX2NvbW1pdChwYXJlbnQpOworCQkJaWYgKHBhcmVudC0+ZGF0ZSA8IGN1dG9mZikKKwkJCQljb250aW51ZTsKKworCQkJaWYgKHBhcmVudF9udW1iZXIgPiAxKSB7CisJCQkJZ2VuZXJhdGlvbiA9IDA7CisJCQkJZGlzdGFuY2UgPSBuYW1lLT5kaXN0YW5jZSArIE1FUkdFX1RSQVZFUlNBTF9XRUlHSFQ7CisJCQl9IGVsc2UgeworCQkJCWdlbmVyYXRpb24gPSBuYW1lLT5nZW5lcmF0aW9uICsgMTsKKwkJCQlkaXN0YW5jZSA9IG5hbWUtPmRpc3RhbmNlICsgMTsKKwkJCX0KKworCQkJcGFyZW50X25hbWUgPSBjcmVhdGVfb3JfdXBkYXRlX25hbWUocGFyZW50LCB0YWdnZXJkYXRlLAorCQkJCQkJCSAgICBnZW5lcmF0aW9uLAorCQkJCQkJCSAgICBkaXN0YW5jZSwgZnJvbV90YWcpOworCQkJaWYgKHBhcmVudF9uYW1lKSB7CisJCQkJaWYgKHBhcmVudF9udW1iZXIgPiAxKQorCQkJCQlwYXJlbnRfbmFtZS0+dGlwX25hbWUgPQorCQkJCQkJZ2V0X3BhcmVudF9uYW1lKG5hbWUsCisJCQkJCQkJCXBhcmVudF9udW1iZXIpOworCQkJCWVsc2UKKwkJCQkJcGFyZW50X25hbWUtPnRpcF9uYW1lID0gbmFtZS0+dGlwX25hbWU7CisJCQkJQUxMT0NfR1JPVyhwYXJlbnRzX3RvX3F1ZXVlLAorCQkJCQkgICBwYXJlbnRzX3RvX3F1ZXVlX25yICsgMSwKKwkJCQkJICAgcGFyZW50c190b19xdWV1ZV9hbGxvYyk7CisJCQkJcGFyZW50c190b19xdWV1ZVtwYXJlbnRzX3RvX3F1ZXVlX25yXSA9IHBhcmVudDsKKwkJCQlwYXJlbnRzX3RvX3F1ZXVlX25yKys7CisJCQl9CiAJCX0KKworCQkvKiBUaGUgZmlyc3QgcGFyZW50IG11c3QgY29tZSBvdXQgZmlyc3QgZnJvbSB0aGUgcHJpb19xdWV1ZSAqLworCQl3aGlsZSAocGFyZW50c190b19xdWV1ZV9ucikKKwkJCXByaW9fcXVldWVfcHV0KCZxdWV1ZSwKKwkJCQkgICAgICAgcGFyZW50c190b19xdWV1ZVstLXBhcmVudHNfdG9fcXVldWVfbnJdKTsKIAl9CisKKwljbGVhcl9wcmlvX3F1ZXVlKCZxdWV1ZSk7CisJZnJlZShwYXJlbnRzX3RvX3F1ZXVlKTsKIH0KIAogc3RhdGljIGludCBzdWJwYXRoX21hdGNoZXMoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqZmlsdGVyKQpAQCAtMTYwLDEwICsyMjksMTAgQEAKIHsKIAlpZiAoc2hvcnRlbl91bmFtYmlndW91cykKIAkJcmVmbmFtZSA9IHNob3J0ZW5fdW5hbWJpZ3VvdXNfcmVmKHJlZm5hbWUsIDApOwotCWVsc2UgaWYgKHN0YXJ0c193aXRoKHJlZm5hbWUsICJyZWZzL2hlYWRzLyIpKQotCQlyZWZuYW1lID0gcmVmbmFtZSArIDExOwotCWVsc2UgaWYgKHN0YXJ0c193aXRoKHJlZm5hbWUsICJyZWZzLyIpKQotCQlyZWZuYW1lID0gcmVmbmFtZSArIDU7CisJZWxzZSBpZiAoc2tpcF9wcmVmaXgocmVmbmFtZSwgInJlZnMvaGVhZHMvIiwgJnJlZm5hbWUpKQorCQk7IC8qIHJlZm5hbWUgYWxyZWFkeSBhZHZhbmNlZCAqLworCWVsc2UKKwkJc2tpcF9wcmVmaXgocmVmbmFtZSwgInJlZnMvIiwgJnJlZm5hbWUpOwogCXJldHVybiByZWZuYW1lOwogfQogCkBAIC0xNzgsNiArMjQ3LDEwIEBACiAJc3RydWN0IHRpcF90YWJsZV9lbnRyeSB7CiAJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQljb25zdCBjaGFyICpyZWZuYW1lOworCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CisJCXRpbWVzdGFtcF90IHRhZ2dlcmRhdGU7CisJCXVuc2lnbmVkIGludCBmcm9tX3RhZzoxOworCQl1bnNpZ25lZCBpbnQgZGVyZWY6MTsKIAl9ICp0YWJsZTsKIAlpbnQgbnI7CiAJaW50IGFsbG9jOwpAQCAtMTg1LDEzICsyNTgsMTggQEAKIH0gdGlwX3RhYmxlOwogCiBzdGF0aWMgdm9pZCBhZGRfdG9fdGlwX3RhYmxlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY29uc3QgY2hhciAqcmVmbmFtZSwKLQkJCSAgICAgaW50IHNob3J0ZW5fdW5hbWJpZ3VvdXMpCisJCQkgICAgIGludCBzaG9ydGVuX3VuYW1iaWd1b3VzLCBzdHJ1Y3QgY29tbWl0ICpjb21taXQsCisJCQkgICAgIHRpbWVzdGFtcF90IHRhZ2dlcmRhdGUsIGludCBmcm9tX3RhZywgaW50IGRlcmVmKQogewogCXJlZm5hbWUgPSBuYW1lX3JlZl9hYmJyZXYocmVmbmFtZSwgc2hvcnRlbl91bmFtYmlndW91cyk7CiAKIAlBTExPQ19HUk9XKHRpcF90YWJsZS50YWJsZSwgdGlwX3RhYmxlLm5yICsgMSwgdGlwX3RhYmxlLmFsbG9jKTsKIAlvaWRjcHkoJnRpcF90YWJsZS50YWJsZVt0aXBfdGFibGUubnJdLm9pZCwgb2lkKTsKIAl0aXBfdGFibGUudGFibGVbdGlwX3RhYmxlLm5yXS5yZWZuYW1lID0geHN0cmR1cChyZWZuYW1lKTsKKwl0aXBfdGFibGUudGFibGVbdGlwX3RhYmxlLm5yXS5jb21taXQgPSBjb21taXQ7CisJdGlwX3RhYmxlLnRhYmxlW3RpcF90YWJsZS5ucl0udGFnZ2VyZGF0ZSA9IHRhZ2dlcmRhdGU7CisJdGlwX3RhYmxlLnRhYmxlW3RpcF90YWJsZS5ucl0uZnJvbV90YWcgPSBmcm9tX3RhZzsKKwl0aXBfdGFibGUudGFibGVbdGlwX3RhYmxlLm5yXS5kZXJlZiA9IGRlcmVmOwogCXRpcF90YWJsZS5ucisrOwogCXRpcF90YWJsZS5zb3J0ZWQgPSAwOwogfQpAQCAtMjAyLDEyICsyODAsMzAgQEAKIAlyZXR1cm4gb2lkY21wKCZhLT5vaWQsICZiLT5vaWQpOwogfQogCitzdGF0aWMgaW50IGNtcF9ieV90YWdfYW5kX2FnZShjb25zdCB2b2lkICphXywgY29uc3Qgdm9pZCAqYl8pCit7CisJY29uc3Qgc3RydWN0IHRpcF90YWJsZV9lbnRyeSAqYSA9IGFfLCAqYiA9IGJfOworCWludCBjbXA7CisKKwkvKiBQcmVmZXIgdGFncy4gKi8KKwljbXAgPSBiLT5mcm9tX3RhZyAtIGEtPmZyb21fdGFnOworCWlmIChjbXApCisJCXJldHVybiBjbXA7CisKKwkvKiBPbGRlciBpcyBiZXR0ZXIuICovCisJaWYgKGEtPnRhZ2dlcmRhdGUgPCBiLT50YWdnZXJkYXRlKQorCQlyZXR1cm4gLTE7CisJcmV0dXJuIGEtPnRhZ2dlcmRhdGUgIT0gYi0+dGFnZ2VyZGF0ZTsKK30KKwogc3RhdGljIGludCBuYW1lX3JlZihjb25zdCBjaGFyICpwYXRoLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBmbGFncywgdm9pZCAqY2JfZGF0YSkKIHsKIAlzdHJ1Y3Qgb2JqZWN0ICpvID0gcGFyc2Vfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCBvaWQpOwogCXN0cnVjdCBuYW1lX3JlZl9kYXRhICpkYXRhID0gY2JfZGF0YTsKIAlpbnQgY2FuX2FiYnJldmlhdGVfb3V0cHV0ID0gZGF0YS0+dGFnc19vbmx5ICYmIGRhdGEtPm5hbWVfb25seTsKIAlpbnQgZGVyZWYgPSAwOworCWludCBmcm9tX3RhZyA9IDA7CisJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gTlVMTDsKIAl0aW1lc3RhbXBfdCB0YWdnZXJkYXRlID0gVElNRV9NQVg7CiAKIAlpZiAoZGF0YS0+dGFnc19vbmx5ICYmICFzdGFydHNfd2l0aChwYXRoLCAicmVmcy90YWdzLyIpKQpAQCAtMjU2LDggKzM1Miw2IEBACiAJCQlyZXR1cm4gMDsKIAl9CiAKLQlhZGRfdG9fdGlwX3RhYmxlKG9pZCwgcGF0aCwgY2FuX2FiYnJldmlhdGVfb3V0cHV0KTsKLQogCXdoaWxlIChvICYmIG8tPnR5cGUgPT0gT0JKX1RBRykgewogCQlzdHJ1Y3QgdGFnICp0ID0gKHN0cnVjdCB0YWcgKikgbzsKIAkJaWYgKCF0LT50YWdnZWQpCkBAIC0yNjcsMTggKzM2MSwzNSBAQAogCQl0YWdnZXJkYXRlID0gdC0+ZGF0ZTsKIAl9CiAJaWYgKG8gJiYgby0+dHlwZSA9PSBPQkpfQ09NTUlUKSB7Ci0JCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IChzdHJ1Y3QgY29tbWl0ICopbzsKLQkJaW50IGZyb21fdGFnID0gc3RhcnRzX3dpdGgocGF0aCwgInJlZnMvdGFncy8iKTsKLQorCQljb21taXQgPSAoc3RydWN0IGNvbW1pdCAqKW87CisJCWZyb21fdGFnID0gc3RhcnRzX3dpdGgocGF0aCwgInJlZnMvdGFncy8iKTsKIAkJaWYgKHRhZ2dlcmRhdGUgPT0gVElNRV9NQVgpCi0JCQl0YWdnZXJkYXRlID0gKChzdHJ1Y3QgY29tbWl0ICopbyktPmRhdGU7Ci0JCXBhdGggPSBuYW1lX3JlZl9hYmJyZXYocGF0aCwgY2FuX2FiYnJldmlhdGVfb3V0cHV0KTsKLQkJbmFtZV9yZXYoY29tbWl0LCB4c3RyZHVwKHBhdGgpLCB0YWdnZXJkYXRlLCAwLCAwLAotCQkJIGZyb21fdGFnLCBkZXJlZik7CisJCQl0YWdnZXJkYXRlID0gY29tbWl0LT5kYXRlOwogCX0KKworCWFkZF90b190aXBfdGFibGUob2lkLCBwYXRoLCBjYW5fYWJicmV2aWF0ZV9vdXRwdXQsIGNvbW1pdCwgdGFnZ2VyZGF0ZSwKKwkJCSBmcm9tX3RhZywgZGVyZWYpOwogCXJldHVybiAwOwogfQogCitzdGF0aWMgdm9pZCBuYW1lX3RpcHModm9pZCkKK3sKKwlpbnQgaTsKKworCS8qCisJICogVHJ5IHRvIHNldCBiZXR0ZXIgbmFtZXMgZmlyc3QsIHNvIHRoYXQgd29yc2Ugb25lcyBzcHJlYWQKKwkgKiBsZXNzLgorCSAqLworCVFTT1JUKHRpcF90YWJsZS50YWJsZSwgdGlwX3RhYmxlLm5yLCBjbXBfYnlfdGFnX2FuZF9hZ2UpOworCWZvciAoaSA9IDA7IGkgPCB0aXBfdGFibGUubnI7IGkrKykgeworCQlzdHJ1Y3QgdGlwX3RhYmxlX2VudHJ5ICplID0gJnRpcF90YWJsZS50YWJsZVtpXTsKKwkJaWYgKGUtPmNvbW1pdCkgeworCQkJbmFtZV9yZXYoZS0+Y29tbWl0LCBlLT5yZWZuYW1lLCBlLT50YWdnZXJkYXRlLAorCQkJCSBlLT5mcm9tX3RhZywgZS0+ZGVyZWYpOworCQl9CisJfQorfQorCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqbnRoX3RpcF90YWJsZV9lbnQoc2l6ZV90IGl4LCB2b2lkICp0YWJsZV8pCiB7CiAJc3RydWN0IHRpcF90YWJsZV9lbnRyeSAqdGFibGUgPSB0YWJsZV87CkBAIC0zMDgsMTEgKzQxOSwxMSBAQAogc3RhdGljIGNvbnN0IGNoYXIgKmdldF9yZXZfbmFtZShjb25zdCBzdHJ1Y3Qgb2JqZWN0ICpvLCBzdHJ1Y3Qgc3RyYnVmICpidWYpCiB7CiAJc3RydWN0IHJldl9uYW1lICpuOwotCXN0cnVjdCBjb21taXQgKmM7CisJY29uc3Qgc3RydWN0IGNvbW1pdCAqYzsKIAogCWlmIChvLT50eXBlICE9IE9CSl9DT01NSVQpCiAJCXJldHVybiBnZXRfZXhhY3RfcmVmX21hdGNoKG8pOwotCWMgPSAoc3RydWN0IGNvbW1pdCAqKSBvOworCWMgPSAoY29uc3Qgc3RydWN0IGNvbW1pdCAqKSBvOwogCW4gPSBnZXRfY29tbWl0X3Jldl9uYW1lKGMpOwogCWlmICghbikKIAkJcmV0dXJuIE5VTEw7CkBAIC0zMjAsMTEgKzQzMSwxMCBAQAogCWlmICghbi0+Z2VuZXJhdGlvbikKIAkJcmV0dXJuIG4tPnRpcF9uYW1lOwogCWVsc2UgewotCQlpbnQgbGVuID0gc3RybGVuKG4tPnRpcF9uYW1lKTsKLQkJaWYgKGxlbiA+IDIgJiYgIXN0cmNtcChuLT50aXBfbmFtZSArIGxlbiAtIDIsICJeMCIpKQotCQkJbGVuIC09IDI7CiAJCXN0cmJ1Zl9yZXNldChidWYpOwotCQlzdHJidWZfYWRkZihidWYsICIlLipzfiVkIiwgbGVuLCBuLT50aXBfbmFtZSwgbi0+Z2VuZXJhdGlvbik7CisJCXN0cmJ1Zl9hZGRzdHIoYnVmLCBuLT50aXBfbmFtZSk7CisJCXN0cmJ1Zl9zdHJpcF9zdWZmaXgoYnVmLCAiXjAiKTsKKwkJc3RyYnVmX2FkZGYoYnVmLCAifiVkIiwgbi0+Z2VuZXJhdGlvbik7CiAJCXJldHVybiBidWYtPmJ1ZjsKIAl9CiB9CkBAIC0zNjEsMjYgKzQ3MSwyNyBAQAogc3RhdGljIHZvaWQgbmFtZV9yZXZfbGluZShjaGFyICpwLCBzdHJ1Y3QgbmFtZV9yZWZfZGF0YSAqZGF0YSkKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwotCWludCBmb3J0eSA9IDA7CisJaW50IGNvdW50ZXIgPSAwOwogCWNoYXIgKnBfc3RhcnQ7CisJY29uc3QgdW5zaWduZWQgaGV4c3ogPSB0aGVfaGFzaF9hbGdvLT5oZXhzejsKKwogCWZvciAocF9zdGFydCA9IHA7ICpwOyBwKyspIHsKICNkZWZpbmUgaXNoZXgoeCkgKGlzZGlnaXQoKHgpKSB8fCAoKHgpID49ICdhJyAmJiAoeCkgPD0gJ2YnKSkKIAkJaWYgKCFpc2hleCgqcCkpCi0JCQlmb3J0eSA9IDA7Ci0JCWVsc2UgaWYgKCsrZm9ydHkgPT0gR0lUX1NIQTFfSEVYU1ogJiYKKwkJCWNvdW50ZXIgPSAwOworCQllbHNlIGlmICgrK2NvdW50ZXIgPT0gaGV4c3ogJiYKIAkJCSAhaXNoZXgoKihwKzEpKSkgewogCQkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJCQljb25zdCBjaGFyICpuYW1lID0gTlVMTDsKIAkJCWNoYXIgYyA9ICoocCsxKTsKIAkJCWludCBwX2xlbiA9IHAgLSBwX3N0YXJ0ICsgMTsKIAotCQkJZm9ydHkgPSAwOworCQkJY291bnRlciA9IDA7CiAKIAkJCSoocCsxKSA9IDA7Ci0JCQlpZiAoIWdldF9vaWQocCAtIChHSVRfU0hBMV9IRVhTWiAtIDEpLCAmb2lkKSkgeworCQkJaWYgKCFnZXRfb2lkKHAgLSAoaGV4c3ogLSAxKSwgJm9pZCkpIHsKIAkJCQlzdHJ1Y3Qgb2JqZWN0ICpvID0KLQkJCQkJbG9va3VwX29iamVjdCh0aGVfcmVwb3NpdG9yeSwKLQkJCQkJCSAgICAgIG9pZC5oYXNoKTsKKwkJCQkJbG9va3VwX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgJm9pZCk7CiAJCQkJaWYgKG8pCiAJCQkJCW5hbWUgPSBnZXRfcmV2X25hbWUobywgJmJ1Zik7CiAJCQl9CkBAIC0zOTAsNyArNTAxLDcgQEAKIAkJCQljb250aW51ZTsKIAogCQkJaWYgKGRhdGEtPm5hbWVfb25seSkKLQkJCQlwcmludGYoIiUuKnMlcyIsIHBfbGVuIC0gR0lUX1NIQTFfSEVYU1osIHBfc3RhcnQsIG5hbWUpOworCQkJCXByaW50ZigiJS4qcyVzIiwgcF9sZW4gLSBoZXhzeiwgcF9zdGFydCwgbmFtZSk7CiAJCQllbHNlCiAJCQkJcHJpbnRmKCIlLipzICglcykiLCBwX2xlbiwgcF9zdGFydCwgbmFtZSk7CiAJCQlwX3N0YXJ0ID0gcCArIDE7CkBAIC00ODMsOSArNTk0LDE1IEBACiAJCWFkZF9vYmplY3RfYXJyYXkob2JqZWN0LCAqYXJndiwgJnJldnMpOwogCX0KIAotCWlmIChjdXRvZmYpCi0JCWN1dG9mZiA9IGN1dG9mZiAtIENVVE9GRl9EQVRFX1NMT1A7CisJaWYgKGN1dG9mZikgeworCQkvKiBjaGVjayBmb3IgdW5kZWZsb3cgKi8KKwkJaWYgKGN1dG9mZiA+IFRJTUVfTUlOICsgQ1VUT0ZGX0RBVEVfU0xPUCkKKwkJCWN1dG9mZiA9IGN1dG9mZiAtIENVVE9GRl9EQVRFX1NMT1A7CisJCWVsc2UKKwkJCWN1dG9mZiA9IFRJTUVfTUlOOworCX0KIAlmb3JfZWFjaF9yZWYobmFtZV9yZWYsICZkYXRhKTsKKwluYW1lX3RpcHMoKTsKIAogCWlmICh0cmFuc2Zvcm1fc3RkaW4pIHsKIAkJY2hhciBidWZmZXJbMjA0OF07CmRpZmYgLS1naXQgYS9idWlsdGluL25vdGVzLmMgYi9idWlsdGluL25vdGVzLmMKaW5kZXggYzc4YjdhMC4uMzVlNDY4ZSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9ub3Rlcy5jCisrKyBiL2J1aWx0aW4vbm90ZXMuYwpAQCAtMzMwLDEwICszMzAsMTAgQEAKIAl9CiAKIAlpZiAoIXJld3JpdGVfY21kKSB7Ci0JCWNvbW1pdF9ub3Rlcyh0LCBtc2cpOworCQljb21taXRfbm90ZXModGhlX3JlcG9zaXRvcnksIHQsIG1zZyk7CiAJCWZyZWVfbm90ZXModCk7CiAJfSBlbHNlIHsKLQkJZmluaXNoX2NvcHlfbm90ZXNfZm9yX3Jld3JpdGUoYywgbXNnKTsKKwkJZmluaXNoX2NvcHlfbm90ZXNfZm9yX3Jld3JpdGUodGhlX3JlcG9zaXRvcnksIGMsIG1zZyk7CiAJfQogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCXJldHVybiByZXQ7CkBAIC00NjksMTIgKzQ2OSwxNCBAQAogCQl3cml0ZV9ub3RlX2RhdGEoJmQsICZuZXdfbm90ZSk7CiAJCWlmIChhZGRfbm90ZSh0LCAmb2JqZWN0LCAmbmV3X25vdGUsIGNvbWJpbmVfbm90ZXNfb3ZlcndyaXRlKSkKIAkJCUJVRygiY29tYmluZV9ub3Rlc19vdmVyd3JpdGUgZmFpbGVkIik7Ci0JCWNvbW1pdF9ub3Rlcyh0LCAiTm90ZXMgYWRkZWQgYnkgJ2dpdCBub3RlcyBhZGQnIik7CisJCWNvbW1pdF9ub3Rlcyh0aGVfcmVwb3NpdG9yeSwgdCwKKwkJCSAgICAgIk5vdGVzIGFkZGVkIGJ5ICdnaXQgbm90ZXMgYWRkJyIpOwogCX0gZWxzZSB7CiAJCWZwcmludGYoc3RkZXJyLCBfKCJSZW1vdmluZyBub3RlIGZvciBvYmplY3QgJXNcbiIpLAogCQkJb2lkX3RvX2hleCgmb2JqZWN0KSk7CiAJCXJlbW92ZV9ub3RlKHQsIG9iamVjdC5oYXNoKTsKLQkJY29tbWl0X25vdGVzKHQsICJOb3RlcyByZW1vdmVkIGJ5ICdnaXQgbm90ZXMgYWRkJyIpOworCQljb21taXRfbm90ZXModGhlX3JlcG9zaXRvcnksIHQsCisJCQkgICAgICJOb3RlcyByZW1vdmVkIGJ5ICdnaXQgbm90ZXMgYWRkJyIpOwogCX0KIAogCWZyZWVfbm90ZV9kYXRhKCZkKTsKQEAgLTUxMSw3ICs1MTMsNyBAQAogCQl9CiAJfQogCi0JaWYgKGFyZ2MgPCAyKSB7CisJaWYgKGFyZ2MgPCAxKSB7CiAJCWVycm9yKF8oInRvbyBmZXcgcGFyYW1ldGVycyIpKTsKIAkJdXNhZ2Vfd2l0aF9vcHRpb25zKGdpdF9ub3Rlc19jb3B5X3VzYWdlLCBvcHRpb25zKTsKIAl9CkBAIC01NTIsNyArNTU0LDggQEAKIAogCWlmIChhZGRfbm90ZSh0LCAmb2JqZWN0LCBmcm9tX25vdGUsIGNvbWJpbmVfbm90ZXNfb3ZlcndyaXRlKSkKIAkJQlVHKCJjb21iaW5lX25vdGVzX292ZXJ3cml0ZSBmYWlsZWQiKTsKLQljb21taXRfbm90ZXModCwgIk5vdGVzIGFkZGVkIGJ5ICdnaXQgbm90ZXMgY29weSciKTsKKwljb21taXRfbm90ZXModGhlX3JlcG9zaXRvcnksIHQsCisJCSAgICAgIk5vdGVzIGFkZGVkIGJ5ICdnaXQgbm90ZXMgY29weSciKTsKIG91dDoKIAlmcmVlX25vdGVzKHQpOwogCXJldHVybiByZXR2YWw7CkBAIC02MTksNyArNjIyLDcgQEAKIAogCQlzdHJidWZfZ3JvdygmZC5idWYsIHNpemUgKyAxKTsKIAkJaWYgKGQuYnVmLmxlbiAmJiBwcmV2X2J1ZiAmJiBzaXplKQotCQkJc3RyYnVmX2luc2VydCgmZC5idWYsIDAsICJcbiIsIDEpOworCQkJc3RyYnVmX2luc2VydHN0cigmZC5idWYsIDAsICJcbiIpOwogCQlpZiAocHJldl9idWYgJiYgc2l6ZSkKIAkJCXN0cmJ1Zl9pbnNlcnQoJmQuYnVmLCAwLCBwcmV2X2J1Ziwgc2l6ZSk7CiAJCWZyZWUocHJldl9idWYpOwpAQCAtNjM2LDcgKzYzOSw3IEBACiAJCXJlbW92ZV9ub3RlKHQsIG9iamVjdC5oYXNoKTsKIAkJbG9nbXNnID0geHN0cmZtdCgiTm90ZXMgcmVtb3ZlZCBieSAnZ2l0IG5vdGVzICVzJyIsIGFyZ3ZbMF0pOwogCX0KLQljb21taXRfbm90ZXModCwgbG9nbXNnKTsKKwljb21taXRfbm90ZXModGhlX3JlcG9zaXRvcnksIHQsIGxvZ21zZyk7CiAKIAlmcmVlKGxvZ21zZyk7CiAJZnJlZV9ub3RlX2RhdGEoJmQpOwpAQCAtNzQyLDcgKzc0NSw3IEBACiAJbWVtc2V0KCZwcmV0dHlfY3R4LCAwLCBzaXplb2YocHJldHR5X2N0eCkpOwogCWZvcm1hdF9jb21taXRfbWVzc2FnZShwYXJ0aWFsLCAiJXMiLCAmbXNnLCAmcHJldHR5X2N0eCk7CiAJc3RyYnVmX3RyaW0oJm1zZyk7Ci0Jc3RyYnVmX2luc2VydCgmbXNnLCAwLCAibm90ZXM6ICIsIDcpOworCXN0cmJ1Zl9pbnNlcnRzdHIoJm1zZywgMCwgIm5vdGVzOiAiKTsKIAl1cGRhdGVfcmVmKG1zZy5idWYsIG8tPmxvY2FsX3JlZiwgJm9pZCwKIAkJICAgaXNfbnVsbF9vaWQoJnBhcmVudF9vaWQpID8gTlVMTCA6ICZwYXJlbnRfb2lkLAogCQkgICAwLCBVUERBVEVfUkVGU19ESUVfT05fRVJSKTsKQEAgLTgxMyw3ICs4MTYsNyBAQAogCQl1c2FnZV93aXRoX29wdGlvbnMoZ2l0X25vdGVzX21lcmdlX3VzYWdlLCBvcHRpb25zKTsKIAl9CiAKLQlpbml0X25vdGVzX21lcmdlX29wdGlvbnMoJm8pOworCWluaXRfbm90ZXNfbWVyZ2Vfb3B0aW9ucyh0aGVfcmVwb3NpdG9yeSwgJm8pOwogCW8udmVyYm9zaXR5ID0gdmVyYm9zaXR5ICsgTk9URVNfTUVSR0VfVkVSQk9TSVRZX0RFRkFVTFQ7CiAKIAlpZiAoZG9fYWJvcnQpCkBAIC05MzcsNyArOTQwLDggQEAKIAkJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIAl9CiAJaWYgKCFyZXR2YWwpCi0JCWNvbW1pdF9ub3Rlcyh0LCAiTm90ZXMgcmVtb3ZlZCBieSAnZ2l0IG5vdGVzIHJlbW92ZSciKTsKKwkJY29tbWl0X25vdGVzKHRoZV9yZXBvc2l0b3J5LCB0LAorCQkJICAgICAiTm90ZXMgcmVtb3ZlZCBieSAnZ2l0IG5vdGVzIHJlbW92ZSciKTsKIAlmcmVlX25vdGVzKHQpOwogCXJldHVybiByZXR2YWw7CiB9CkBAIC05NjUsNyArOTY5LDggQEAKIAlwcnVuZV9ub3Rlcyh0LCAodmVyYm9zZSA/IE5PVEVTX1BSVU5FX1ZFUkJPU0UgOiAwKSB8CiAJCShzaG93X29ubHkgPyBOT1RFU19QUlVORV9WRVJCT1NFfE5PVEVTX1BSVU5FX0RSWVJVTiA6IDApICk7CiAJaWYgKCFzaG93X29ubHkpCi0JCWNvbW1pdF9ub3Rlcyh0LCAiTm90ZXMgcmVtb3ZlZCBieSAnZ2l0IG5vdGVzIHBydW5lJyIpOworCQljb21taXRfbm90ZXModGhlX3JlcG9zaXRvcnksIHQsCisJCQkgICAgICJOb3RlcyByZW1vdmVkIGJ5ICdnaXQgbm90ZXMgcHJ1bmUnIik7CiAJZnJlZV9ub3Rlcyh0KTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vcGFjay1vYmplY3RzLmMgYi9idWlsdGluL3BhY2stb2JqZWN0cy5jCmluZGV4IDQxMWFlZmQuLjAyYWE2ZWUgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcGFjay1vYmplY3RzLmMKKysrIGIvYnVpbHRpbi9wYWNrLW9iamVjdHMuYwpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIm9iamVjdC1zdG9yZS5oIgogI2luY2x1ZGUgImRpci5oIgogI2luY2x1ZGUgIm1pZHguaCIKKyNpbmNsdWRlICJ0cmFjZTIuaCIKIAogI2RlZmluZSBJTl9QQUNLKG9iaikgb2VfaW5fcGFjaygmdG9fcGFjaywgb2JqKQogI2RlZmluZSBTSVpFKG9iaikgb2Vfc2l6ZSgmdG9fcGFjaywgb2JqKQpAQCAtODQsMTggKzg1LDI0IEBACiBzdGF0aWMgaW50IGRlcHRoID0gNTA7CiBzdGF0aWMgaW50IGRlbHRhX3NlYXJjaF90aHJlYWRzOwogc3RhdGljIGludCBwYWNrX3RvX3N0ZG91dDsKK3N0YXRpYyBpbnQgc3BhcnNlOwogc3RhdGljIGludCB0aGluOwogc3RhdGljIGludCBudW1fcHJlZmVycmVkX2Jhc2U7CiBzdGF0aWMgc3RydWN0IHByb2dyZXNzICpwcm9ncmVzc19zdGF0ZTsKIAogc3RhdGljIHN0cnVjdCBwYWNrZWRfZ2l0ICpyZXVzZV9wYWNrZmlsZTsKIHN0YXRpYyB1aW50MzJfdCByZXVzZV9wYWNrZmlsZV9vYmplY3RzOwotc3RhdGljIG9mZl90IHJldXNlX3BhY2tmaWxlX29mZnNldDsKK3N0YXRpYyBzdHJ1Y3QgYml0bWFwICpyZXVzZV9wYWNrZmlsZV9iaXRtYXA7CiAKIHN0YXRpYyBpbnQgdXNlX2JpdG1hcF9pbmRleF9kZWZhdWx0ID0gMTsKIHN0YXRpYyBpbnQgdXNlX2JpdG1hcF9pbmRleCA9IC0xOwotc3RhdGljIGludCB3cml0ZV9iaXRtYXBfaW5kZXg7Ci1zdGF0aWMgdWludDE2X3Qgd3JpdGVfYml0bWFwX29wdGlvbnM7CitzdGF0aWMgaW50IGFsbG93X3BhY2tfcmV1c2UgPSAxOworc3RhdGljIGVudW0geworCVdSSVRFX0JJVE1BUF9GQUxTRSA9IDAsCisJV1JJVEVfQklUTUFQX1FVSUVULAorCVdSSVRFX0JJVE1BUF9UUlVFLAorfSB3cml0ZV9iaXRtYXBfaW5kZXg7CitzdGF0aWMgdWludDE2X3Qgd3JpdGVfYml0bWFwX29wdGlvbnMgPSBCSVRNQVBfT1BUX0hBU0hfQ0FDSEU7CiAKIHN0YXRpYyBpbnQgZXhjbHVkZV9wcm9taXNvcl9vYmplY3RzOwogCkBAIC0xNTcsNyArMTY0LDcgQEAKIAlkZWx0YV9idWYgPSBkaWZmX2RlbHRhKGJhc2VfYnVmLCBiYXNlX3NpemUsCiAJCQkgICAgICAgYnVmLCBzaXplLCAmZGVsdGFfc2l6ZSwgMCk7CiAJLyoKLQkgKiBXZSBzdWNjZXNmdWxseSBjb21wdXRlZCB0aGlzIGRlbHRhIG9uY2UgYnV0IGRyb3BwZWQgaXQgZm9yCisJICogV2Ugc3VjY2Vzc2Z1bGx5IGNvbXB1dGVkIHRoaXMgZGVsdGEgb25jZSBidXQgZHJvcHBlZCBpdCBmb3IKIAkgKiBtZW1vcnkgcmVhc29ucy4gU29tZXRoaW5nIGlzIHZlcnkgd3JvbmcgaWYgdGhpcyB0aW1lIHdlCiAJICogcmVjb21wdXRlIGFuZCBjcmVhdGUgYSBkaWZmZXJlbnQgZGVsdGEuCiAJICovCkBAIC0yOTcsNyArMzA0LDggQEAKIAlpZiAoIXVzYWJsZV9kZWx0YSkgewogCQlpZiAob2VfdHlwZShlbnRyeSkgPT0gT0JKX0JMT0IgJiYKIAkJICAgIG9lX3NpemVfZ3JlYXRlcl90aGFuKCZ0b19wYWNrLCBlbnRyeSwgYmlnX2ZpbGVfdGhyZXNob2xkKSAmJgotCQkgICAgKHN0ID0gb3Blbl9pc3RyZWFtKCZlbnRyeS0+aWR4Lm9pZCwgJnR5cGUsICZzaXplLCBOVUxMKSkgIT0gTlVMTCkKKwkJICAgIChzdCA9IG9wZW5faXN0cmVhbSh0aGVfcmVwb3NpdG9yeSwgJmVudHJ5LT5pZHgub2lkLCAmdHlwZSwKKwkJCQkgICAgICAgJnNpemUsIE5VTEwpKSAhPSBOVUxMKQogCQkJYnVmID0gTlVMTDsKIAkJZWxzZSB7CiAJCQlidWYgPSByZWFkX29iamVjdF9maWxlKCZlbnRyeS0+aWR4Lm9pZCwgJnR5cGUsICZzaXplKTsKQEAgLTYwNCwxMiArNjEyLDEyIEBACiAJCSAgICAgICB2b2lkICpjYl9kYXRhKQogewogCXN0cnVjdCBvYmplY3RfaWQgcGVlbGVkOwotCXN0cnVjdCBvYmplY3RfZW50cnkgKmVudHJ5ID0gcGFja2xpc3RfZmluZCgmdG9fcGFjaywgb2lkLT5oYXNoLCBOVUxMKTsKKwlzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICplbnRyeSA9IHBhY2tsaXN0X2ZpbmQoJnRvX3BhY2ssIG9pZCk7CiAKIAlpZiAoZW50cnkpCiAJCWVudHJ5LT50YWdnZWQgPSAxOwogCWlmICghcGVlbF9yZWYocGF0aCwgJnBlZWxlZCkpIHsKLQkJZW50cnkgPSBwYWNrbGlzdF9maW5kKCZ0b19wYWNrLCBwZWVsZWQuaGFzaCwgTlVMTCk7CisJCWVudHJ5ID0gcGFja2xpc3RfZmluZCgmdG9fcGFjaywgJnBlZWxlZCk7CiAJCWlmIChlbnRyeSkKIAkJCWVudHJ5LT50YWdnZWQgPSAxOwogCX0KQEAgLTc3OCw1NyArNzg2LDE4NiBAQAogCXJldHVybiB3bzsKIH0KIAotc3RhdGljIG9mZl90IHdyaXRlX3JldXNlZF9wYWNrKHN0cnVjdCBoYXNoZmlsZSAqZikKKworLyoKKyAqIEEgcmV1c2VkIHNldCBvZiBvYmplY3RzLiBBbGwgb2JqZWN0cyBpbiBhIGNodW5rIGhhdmUgdGhlIHNhbWUKKyAqIHJlbGF0aXZlIHBvc2l0aW9uIGluIHRoZSBvcmlnaW5hbCBwYWNrZmlsZSBhbmQgdGhlIGdlbmVyYXRlZAorICogcGFja2ZpbGUuCisgKi8KKworc3RhdGljIHN0cnVjdCByZXVzZWRfY2h1bmsgeworCS8qIFRoZSBvZmZzZXQgb2YgdGhlIGZpcnN0IG9iamVjdCBvZiB0aGlzIGNodW5rIGluIHRoZSBvcmlnaW5hbAorCSAqIHBhY2tmaWxlLiAqLworCW9mZl90IG9yaWdpbmFsOworCS8qIFRoZSBvZmZzZXQgb2YgdGhlIGZpcnN0IG9iamVjdCBvZiB0aGlzIGNodW5rIGluIHRoZSBnZW5lcmF0ZWQKKwkgKiBwYWNrZmlsZSBtaW51cyAib3JpZ2luYWwiLiAqLworCW9mZl90IGRpZmZlcmVuY2U7Cit9ICpyZXVzZWRfY2h1bmtzOworc3RhdGljIGludCByZXVzZWRfY2h1bmtzX25yOworc3RhdGljIGludCByZXVzZWRfY2h1bmtzX2FsbG9jOworCitzdGF0aWMgdm9pZCByZWNvcmRfcmV1c2VkX29iamVjdChvZmZfdCB3aGVyZSwgb2ZmX3Qgb2Zmc2V0KQogewotCXVuc2lnbmVkIGNoYXIgYnVmZmVyWzgxOTJdOwotCW9mZl90IHRvX3dyaXRlLCB0b3RhbDsKLQlpbnQgZmQ7CisJaWYgKHJldXNlZF9jaHVua3NfbnIgJiYgcmV1c2VkX2NodW5rc1tyZXVzZWRfY2h1bmtzX25yLTFdLmRpZmZlcmVuY2UgPT0gb2Zmc2V0KQorCQlyZXR1cm47CiAKLQlpZiAoIWlzX3BhY2tfdmFsaWQocmV1c2VfcGFja2ZpbGUpKQotCQlkaWUoXygicGFja2ZpbGUgaXMgaW52YWxpZDogJXMiKSwgcmV1c2VfcGFja2ZpbGUtPnBhY2tfbmFtZSk7CisJQUxMT0NfR1JPVyhyZXVzZWRfY2h1bmtzLCByZXVzZWRfY2h1bmtzX25yICsgMSwKKwkJICAgcmV1c2VkX2NodW5rc19hbGxvYyk7CisJcmV1c2VkX2NodW5rc1tyZXVzZWRfY2h1bmtzX25yXS5vcmlnaW5hbCA9IHdoZXJlOworCXJldXNlZF9jaHVua3NbcmV1c2VkX2NodW5rc19ucl0uZGlmZmVyZW5jZSA9IG9mZnNldDsKKwlyZXVzZWRfY2h1bmtzX25yKys7Cit9CiAKLQlmZCA9IGdpdF9vcGVuKHJldXNlX3BhY2tmaWxlLT5wYWNrX25hbWUpOwotCWlmIChmZCA8IDApCi0JCWRpZV9lcnJubyhfKCJ1bmFibGUgdG8gb3BlbiBwYWNrZmlsZSBmb3IgcmV1c2U6ICVzIiksCi0JCQkgIHJldXNlX3BhY2tmaWxlLT5wYWNrX25hbWUpOwotCi0JaWYgKGxzZWVrKGZkLCBzaXplb2Yoc3RydWN0IHBhY2tfaGVhZGVyKSwgU0VFS19TRVQpID09IC0xKQotCQlkaWVfZXJybm8oXygidW5hYmxlIHRvIHNlZWsgaW4gcmV1c2VkIHBhY2tmaWxlIikpOwotCi0JaWYgKHJldXNlX3BhY2tmaWxlX29mZnNldCA8IDApCi0JCXJldXNlX3BhY2tmaWxlX29mZnNldCA9IHJldXNlX3BhY2tmaWxlLT5wYWNrX3NpemUgLSB0aGVfaGFzaF9hbGdvLT5yYXdzejsKLQotCXRvdGFsID0gdG9fd3JpdGUgPSByZXVzZV9wYWNrZmlsZV9vZmZzZXQgLSBzaXplb2Yoc3RydWN0IHBhY2tfaGVhZGVyKTsKLQotCXdoaWxlICh0b193cml0ZSkgewotCQlpbnQgcmVhZF9wYWNrID0geHJlYWQoZmQsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlcikpOwotCi0JCWlmIChyZWFkX3BhY2sgPD0gMCkKLQkJCWRpZV9lcnJubyhfKCJ1bmFibGUgdG8gcmVhZCBmcm9tIHJldXNlZCBwYWNrZmlsZSIpKTsKLQotCQlpZiAocmVhZF9wYWNrID4gdG9fd3JpdGUpCi0JCQlyZWFkX3BhY2sgPSB0b193cml0ZTsKLQotCQloYXNod3JpdGUoZiwgYnVmZmVyLCByZWFkX3BhY2spOwotCQl0b193cml0ZSAtPSByZWFkX3BhY2s7Ci0KLQkJLyoKLQkJICogV2UgZG9uJ3Qga25vdyB0aGUgYWN0dWFsIG51bWJlciBvZiBvYmplY3RzIHdyaXR0ZW4sCi0JCSAqIG9ubHkgaG93IG1hbnkgYnl0ZXMgd3JpdHRlbiwgaG93IG1hbnkgYnl0ZXMgdG90YWwsIGFuZAotCQkgKiBob3cgbWFueSBvYmplY3RzIHRvdGFsLiBTbyB3ZSBjYW4gZmFrZSBpdCBieSBwcmV0ZW5kaW5nIGFsbAotCQkgKiBvYmplY3RzIHdlIGFyZSB3cml0aW5nIGFyZSB0aGUgc2FtZSBzaXplLiBUaGlzIGdpdmVzIHVzIGEKLQkJICogc21vb3RoIHByb2dyZXNzIG1ldGVyLCBhbmQgYXQgdGhlIGVuZCBpdCBtYXRjaGVzIHRoZSB0cnVlCi0JCSAqIGFuc3dlci4KLQkJICovCi0JCXdyaXR0ZW4gPSByZXVzZV9wYWNrZmlsZV9vYmplY3RzICoKLQkJCQkoKChkb3VibGUpKHRvdGFsIC0gdG9fd3JpdGUpKSAvIHRvdGFsKTsKLQkJZGlzcGxheV9wcm9ncmVzcyhwcm9ncmVzc19zdGF0ZSwgd3JpdHRlbik7CisvKgorICogQmluYXJ5IHNlYXJjaCB0byBmaW5kIHRoZSBjaHVuayB0aGF0ICJ3aGVyZSIgaXMgaW4uIE5vdGUKKyAqIHRoYXQgd2UncmUgbm90IGxvb2tpbmcgZm9yIGFuIGV4YWN0IG1hdGNoLCBqdXN0IHRoZSBmaXJzdAorICogY2h1bmsgdGhhdCBjb250YWlucyBpdCAod2hpY2ggaW1wbGljaXRseSBlbmRzIGF0IHRoZSBzdGFydAorICogb2YgdGhlIG5leHQgY2h1bmsuCisgKi8KK3N0YXRpYyBvZmZfdCBmaW5kX3JldXNlZF9vZmZzZXQob2ZmX3Qgd2hlcmUpCit7CisJaW50IGxvID0gMCwgaGkgPSByZXVzZWRfY2h1bmtzX25yOworCXdoaWxlIChsbyA8IGhpKSB7CisJCWludCBtaSA9IGxvICsgKChoaSAtIGxvKSAvIDIpOworCQlpZiAod2hlcmUgPT0gcmV1c2VkX2NodW5rc1ttaV0ub3JpZ2luYWwpCisJCQlyZXR1cm4gcmV1c2VkX2NodW5rc1ttaV0uZGlmZmVyZW5jZTsKKwkJaWYgKHdoZXJlIDwgcmV1c2VkX2NodW5rc1ttaV0ub3JpZ2luYWwpCisJCQloaSA9IG1pOworCQllbHNlCisJCQlsbyA9IG1pICsgMTsKIAl9CiAKLQljbG9zZShmZCk7Ci0Jd3JpdHRlbiA9IHJldXNlX3BhY2tmaWxlX29iamVjdHM7Ci0JZGlzcGxheV9wcm9ncmVzcyhwcm9ncmVzc19zdGF0ZSwgd3JpdHRlbik7Ci0JcmV0dXJuIHJldXNlX3BhY2tmaWxlX29mZnNldCAtIHNpemVvZihzdHJ1Y3QgcGFja19oZWFkZXIpOworCS8qCisJICogVGhlIGZpcnN0IGNodW5rIHN0YXJ0cyBhdCB6ZXJvLCBzbyB3ZSBjYW4ndCBoYXZlIGdvbmUgYmVsb3cKKwkgKiB0aGVyZS4KKwkgKi8KKwlhc3NlcnQobG8pOworCXJldHVybiByZXVzZWRfY2h1bmtzW2xvLTFdLmRpZmZlcmVuY2U7Cit9CisKK3N0YXRpYyB2b2lkIHdyaXRlX3JldXNlZF9wYWNrX29uZShzaXplX3QgcG9zLCBzdHJ1Y3QgaGFzaGZpbGUgKm91dCwKKwkJCQkgIHN0cnVjdCBwYWNrX3dpbmRvdyAqKndfY3VycykKK3sKKwlvZmZfdCBvZmZzZXQsIG5leHQsIGN1cjsKKwllbnVtIG9iamVjdF90eXBlIHR5cGU7CisJdW5zaWduZWQgbG9uZyBzaXplOworCisJb2Zmc2V0ID0gcmV1c2VfcGFja2ZpbGUtPnJldmluZGV4W3Bvc10ub2Zmc2V0OworCW5leHQgPSByZXVzZV9wYWNrZmlsZS0+cmV2aW5kZXhbcG9zICsgMV0ub2Zmc2V0OworCisJcmVjb3JkX3JldXNlZF9vYmplY3Qob2Zmc2V0LCBvZmZzZXQgLSBoYXNoZmlsZV90b3RhbChvdXQpKTsKKworCWN1ciA9IG9mZnNldDsKKwl0eXBlID0gdW5wYWNrX29iamVjdF9oZWFkZXIocmV1c2VfcGFja2ZpbGUsIHdfY3VycywgJmN1ciwgJnNpemUpOworCWFzc2VydCh0eXBlID49IDApOworCisJaWYgKHR5cGUgPT0gT0JKX09GU19ERUxUQSkgeworCQlvZmZfdCBiYXNlX29mZnNldDsKKwkJb2ZmX3QgZml4dXA7CisKKwkJdW5zaWduZWQgY2hhciBoZWFkZXJbTUFYX1BBQ0tfT0JKRUNUX0hFQURFUl07CisJCXVuc2lnbmVkIGxlbjsKKworCQliYXNlX29mZnNldCA9IGdldF9kZWx0YV9iYXNlKHJldXNlX3BhY2tmaWxlLCB3X2N1cnMsICZjdXIsIHR5cGUsIG9mZnNldCk7CisJCWFzc2VydChiYXNlX29mZnNldCAhPSAwKTsKKworCQkvKiBDb252ZXJ0IHRvIFJFRl9ERUxUQSBpZiB3ZSBtdXN0Li4uICovCisJCWlmICghYWxsb3dfb2ZzX2RlbHRhKSB7CisJCQlpbnQgYmFzZV9wb3MgPSBmaW5kX3JldmluZGV4X3Bvc2l0aW9uKHJldXNlX3BhY2tmaWxlLCBiYXNlX29mZnNldCk7CisJCQlzdHJ1Y3Qgb2JqZWN0X2lkIGJhc2Vfb2lkOworCisJCQludGhfcGFja2VkX29iamVjdF9pZCgmYmFzZV9vaWQsIHJldXNlX3BhY2tmaWxlLAorCQkJCQkgICAgIHJldXNlX3BhY2tmaWxlLT5yZXZpbmRleFtiYXNlX3Bvc10ubnIpOworCisJCQlsZW4gPSBlbmNvZGVfaW5fcGFja19vYmplY3RfaGVhZGVyKGhlYWRlciwgc2l6ZW9mKGhlYWRlciksCisJCQkJCQkJICAgT0JKX1JFRl9ERUxUQSwgc2l6ZSk7CisJCQloYXNod3JpdGUob3V0LCBoZWFkZXIsIGxlbik7CisJCQloYXNod3JpdGUob3V0LCBiYXNlX29pZC5oYXNoLCAyMCk7CisJCQljb3B5X3BhY2tfZGF0YShvdXQsIHJldXNlX3BhY2tmaWxlLCB3X2N1cnMsIGN1ciwgbmV4dCAtIGN1cik7CisJCQlyZXR1cm47CisJCX0KKworCQkvKiBPdGhlcndpc2Ugc2VlIGlmIHdlIG5lZWQgdG8gcmV3cml0ZSB0aGUgb2Zmc2V0Li4uICovCisJCWZpeHVwID0gZmluZF9yZXVzZWRfb2Zmc2V0KG9mZnNldCkgLQorCQkJZmluZF9yZXVzZWRfb2Zmc2V0KGJhc2Vfb2Zmc2V0KTsKKwkJaWYgKGZpeHVwKSB7CisJCQl1bnNpZ25lZCBjaGFyIG9mc19oZWFkZXJbMTBdOworCQkJdW5zaWduZWQgaSwgb2ZzX2xlbjsKKwkJCW9mZl90IG9mcyA9IG9mZnNldCAtIGJhc2Vfb2Zmc2V0IC0gZml4dXA7CisKKwkJCWxlbiA9IGVuY29kZV9pbl9wYWNrX29iamVjdF9oZWFkZXIoaGVhZGVyLCBzaXplb2YoaGVhZGVyKSwKKwkJCQkJCQkgICBPQkpfT0ZTX0RFTFRBLCBzaXplKTsKKworCQkJaSA9IHNpemVvZihvZnNfaGVhZGVyKSAtIDE7CisJCQlvZnNfaGVhZGVyW2ldID0gb2ZzICYgMTI3OworCQkJd2hpbGUgKG9mcyA+Pj0gNykKKwkJCQlvZnNfaGVhZGVyWy0taV0gPSAxMjggfCAoLS1vZnMgJiAxMjcpOworCisJCQlvZnNfbGVuID0gc2l6ZW9mKG9mc19oZWFkZXIpIC0gaTsKKworCQkJaGFzaHdyaXRlKG91dCwgaGVhZGVyLCBsZW4pOworCQkJaGFzaHdyaXRlKG91dCwgb2ZzX2hlYWRlciArIHNpemVvZihvZnNfaGVhZGVyKSAtIG9mc19sZW4sIG9mc19sZW4pOworCQkJY29weV9wYWNrX2RhdGEob3V0LCByZXVzZV9wYWNrZmlsZSwgd19jdXJzLCBjdXIsIG5leHQgLSBjdXIpOworCQkJcmV0dXJuOworCQl9CisKKwkJLyogLi4ub3RoZXJ3aXNlIHdlIGhhdmUgbm8gZml4dXAsIGFuZCBjYW4gd3JpdGUgaXQgdmVyYmF0aW0gKi8KKwl9CisKKwljb3B5X3BhY2tfZGF0YShvdXQsIHJldXNlX3BhY2tmaWxlLCB3X2N1cnMsIG9mZnNldCwgbmV4dCAtIG9mZnNldCk7Cit9CisKK3N0YXRpYyBzaXplX3Qgd3JpdGVfcmV1c2VkX3BhY2tfdmVyYmF0aW0oc3RydWN0IGhhc2hmaWxlICpvdXQsCisJCQkJCSBzdHJ1Y3QgcGFja193aW5kb3cgKip3X2N1cnMpCit7CisJc2l6ZV90IHBvcyA9IDA7CisKKwl3aGlsZSAocG9zIDwgcmV1c2VfcGFja2ZpbGVfYml0bWFwLT53b3JkX2FsbG9jICYmCisJCQlyZXVzZV9wYWNrZmlsZV9iaXRtYXAtPndvcmRzW3Bvc10gPT0gKGV3b3JkX3QpfjApCisJCXBvcysrOworCisJaWYgKHBvcykgeworCQlvZmZfdCB0b193cml0ZTsKKworCQl3cml0dGVuID0gKHBvcyAqIEJJVFNfSU5fRVdPUkQpOworCQl0b193cml0ZSA9IHJldXNlX3BhY2tmaWxlLT5yZXZpbmRleFt3cml0dGVuXS5vZmZzZXQKKwkJCS0gc2l6ZW9mKHN0cnVjdCBwYWNrX2hlYWRlcik7CisKKwkJLyogV2UncmUgcmVjb3JkaW5nIG9uZSBjaHVuaywgbm90IG9uZSBvYmplY3QuICovCisJCXJlY29yZF9yZXVzZWRfb2JqZWN0KHNpemVvZihzdHJ1Y3QgcGFja19oZWFkZXIpLCAwKTsKKwkJaGFzaGZsdXNoKG91dCk7CisJCWNvcHlfcGFja19kYXRhKG91dCwgcmV1c2VfcGFja2ZpbGUsIHdfY3VycywKKwkJCXNpemVvZihzdHJ1Y3QgcGFja19oZWFkZXIpLCB0b193cml0ZSk7CisKKwkJZGlzcGxheV9wcm9ncmVzcyhwcm9ncmVzc19zdGF0ZSwgd3JpdHRlbik7CisJfQorCXJldHVybiBwb3M7Cit9CisKK3N0YXRpYyB2b2lkIHdyaXRlX3JldXNlZF9wYWNrKHN0cnVjdCBoYXNoZmlsZSAqZikKK3sKKwlzaXplX3QgaSA9IDA7CisJdWludDMyX3Qgb2Zmc2V0OworCXN0cnVjdCBwYWNrX3dpbmRvdyAqd19jdXJzID0gTlVMTDsKKworCWlmIChhbGxvd19vZnNfZGVsdGEpCisJCWkgPSB3cml0ZV9yZXVzZWRfcGFja192ZXJiYXRpbShmLCAmd19jdXJzKTsKKworCWZvciAoOyBpIDwgcmV1c2VfcGFja2ZpbGVfYml0bWFwLT53b3JkX2FsbG9jOyArK2kpIHsKKwkJZXdvcmRfdCB3b3JkID0gcmV1c2VfcGFja2ZpbGVfYml0bWFwLT53b3Jkc1tpXTsKKwkJc2l6ZV90IHBvcyA9IChpICogQklUU19JTl9FV09SRCk7CisKKwkJZm9yIChvZmZzZXQgPSAwOyBvZmZzZXQgPCBCSVRTX0lOX0VXT1JEOyArK29mZnNldCkgeworCQkJaWYgKCh3b3JkID4+IG9mZnNldCkgPT0gMCkKKwkJCQlicmVhazsKKworCQkJb2Zmc2V0ICs9IGV3YWhfYml0X2N0ejY0KHdvcmQgPj4gb2Zmc2V0KTsKKwkJCXdyaXRlX3JldXNlZF9wYWNrX29uZShwb3MgKyBvZmZzZXQsIGYsICZ3X2N1cnMpOworCQkJZGlzcGxheV9wcm9ncmVzcyhwcm9ncmVzc19zdGF0ZSwgKyt3cml0dGVuKTsKKwkJfQorCX0KKworCXVudXNlX3BhY2soJndfY3Vycyk7CiB9CiAKIHN0YXRpYyBjb25zdCBjaGFyIG5vX3NwbGl0X3dhcm5pbmdbXSA9IE5fKApAQCAtODYxLDExICs5OTgsOSBAQAogCQlvZmZzZXQgPSB3cml0ZV9wYWNrX2hlYWRlcihmLCBucl9yZW1haW5pbmcpOwogCiAJCWlmIChyZXVzZV9wYWNrZmlsZSkgewotCQkJb2ZmX3QgcGFja2ZpbGVfc2l6ZTsKIAkJCWFzc2VydChwYWNrX3RvX3N0ZG91dCk7Ci0KLQkJCXBhY2tmaWxlX3NpemUgPSB3cml0ZV9yZXVzZWRfcGFjayhmKTsKLQkJCW9mZnNldCArPSBwYWNrZmlsZV9zaXplOworCQkJd3JpdGVfcmV1c2VkX3BhY2soZik7CisJCQlvZmZzZXQgPSBoYXNoZmlsZV90b3RhbChmKTsKIAkJfQogCiAJCW5yX3dyaXR0ZW4gPSAwOwpAQCAtODkwLDcgKzEwMjUsOCBAQAogCQkJCQkJIG5yX3dyaXR0ZW4sIG9pZC5oYXNoLCBvZmZzZXQpOwogCQkJY2xvc2UoZmQpOwogCQkJaWYgKHdyaXRlX2JpdG1hcF9pbmRleCkgewotCQkJCXdhcm5pbmcoXyhub19zcGxpdF93YXJuaW5nKSk7CisJCQkJaWYgKHdyaXRlX2JpdG1hcF9pbmRleCAhPSBXUklURV9CSVRNQVBfUVVJRVQpCisJCQkJCXdhcm5pbmcoXyhub19zcGxpdF93YXJuaW5nKSk7CiAJCQkJd3JpdGVfYml0bWFwX2luZGV4ID0gMDsKIAkJCX0KIAkJfQpAQCAtOTYyLDYgKzEwOTgsOCBAQAogCWlmICh3cml0dGVuICE9IG5yX3Jlc3VsdCkKIAkJZGllKF8oIndyb3RlICUiUFJJdTMyIiBvYmplY3RzIHdoaWxlIGV4cGVjdGluZyAlIlBSSXUzMiksCiAJCSAgICB3cml0dGVuLCBucl9yZXN1bHQpOworCXRyYWNlMl9kYXRhX2ludG1heCgicGFjay1vYmplY3RzIiwgdGhlX3JlcG9zaXRvcnksCisJCQkgICAid3JpdGVfcGFja19maWxlL3dyb3RlIiwgbnJfcmVzdWx0KTsKIH0KIAogc3RhdGljIGludCBub190cnlfZGVsdGEoY29uc3QgY2hhciAqcGF0aCkKQEAgLTk3MCw3ICsxMTA4LDcgQEAKIAogCWlmICghY2hlY2spCiAJCWNoZWNrID0gYXR0cl9jaGVja19pbml0bCgiZGVsdGEiLCBOVUxMKTsKLQlnaXRfY2hlY2tfYXR0cigmdGhlX2luZGV4LCBwYXRoLCBjaGVjayk7CisJZ2l0X2NoZWNrX2F0dHIodGhlX3JlcG9zaXRvcnktPmluZGV4LCBwYXRoLCBjaGVjayk7CiAJaWYgKEFUVFJfRkFMU0UoY2hlY2stPml0ZW1zWzBdLnZhbHVlKSkKIAkJcmV0dXJuIDE7CiAJcmV0dXJuIDA7CkBAIC05ODcsMTIgKzExMjUsMTUgQEAKICAqIGZldyBsaW5lcyBsYXRlciB3aGVuIHdlIHdhbnQgdG8gYWRkIHRoZSBuZXcgZW50cnkuCiAgKi8KIHN0YXRpYyBpbnQgaGF2ZV9kdXBsaWNhdGVfZW50cnkoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAotCQkJCWludCBleGNsdWRlLAotCQkJCXVpbnQzMl90ICppbmRleF9wb3MpCisJCQkJaW50IGV4Y2x1ZGUpCiB7CiAJc3RydWN0IG9iamVjdF9lbnRyeSAqZW50cnk7CiAKLQllbnRyeSA9IHBhY2tsaXN0X2ZpbmQoJnRvX3BhY2ssIG9pZC0+aGFzaCwgaW5kZXhfcG9zKTsKKwlpZiAocmV1c2VfcGFja2ZpbGVfYml0bWFwICYmCisJICAgIGJpdG1hcF93YWxrX2NvbnRhaW5zKGJpdG1hcF9naXQsIHJldXNlX3BhY2tmaWxlX2JpdG1hcCwgb2lkKSkKKwkJcmV0dXJuIDE7CisKKwllbnRyeSA9IHBhY2tsaXN0X2ZpbmQoJnRvX3BhY2ssIG9pZCk7CiAJaWYgKCFlbnRyeSkKIAkJcmV0dXJuIDA7CiAKQEAgLTEwNzYsNyArMTIxNyw3IEBACiAKIAlmb3IgKG0gPSBnZXRfbXVsdGlfcGFja19pbmRleCh0aGVfcmVwb3NpdG9yeSk7IG07IG0gPSBtLT5uZXh0KSB7CiAJCXN0cnVjdCBwYWNrX2VudHJ5IGU7Ci0JCWlmIChmaWxsX21pZHhfZW50cnkob2lkLCAmZSwgbSkpIHsKKwkJaWYgKGZpbGxfbWlkeF9lbnRyeSh0aGVfcmVwb3NpdG9yeSwgb2lkLCAmZSwgbSkpIHsKIAkJCXN0cnVjdCBwYWNrZWRfZ2l0ICpwID0gZS5wOwogCQkJb2ZmX3Qgb2Zmc2V0OwogCkBAIC0xMTMyLDEzICsxMjczLDEyIEBACiAJCQkJdWludDMyX3QgaGFzaCwKIAkJCQlpbnQgZXhjbHVkZSwKIAkJCQlpbnQgbm9fdHJ5X2RlbHRhLAotCQkJCXVpbnQzMl90IGluZGV4X3BvcywKIAkJCQlzdHJ1Y3QgcGFja2VkX2dpdCAqZm91bmRfcGFjaywKIAkJCQlvZmZfdCBmb3VuZF9vZmZzZXQpCiB7CiAJc3RydWN0IG9iamVjdF9lbnRyeSAqZW50cnk7CiAKLQllbnRyeSA9IHBhY2tsaXN0X2FsbG9jKCZ0b19wYWNrLCBvaWQtPmhhc2gsIGluZGV4X3Bvcyk7CisJZW50cnkgPSBwYWNrbGlzdF9hbGxvYygmdG9fcGFjaywgb2lkKTsKIAllbnRyeS0+aGFzaCA9IGhhc2g7CiAJb2Vfc2V0X3R5cGUoZW50cnksIHR5cGUpOwogCWlmIChleGNsdWRlKQpAQCAtMTE2MiwxNyArMTMwMiwxNyBAQAogewogCXN0cnVjdCBwYWNrZWRfZ2l0ICpmb3VuZF9wYWNrID0gTlVMTDsKIAlvZmZfdCBmb3VuZF9vZmZzZXQgPSAwOwotCXVpbnQzMl90IGluZGV4X3BvczsKIAogCWRpc3BsYXlfcHJvZ3Jlc3MocHJvZ3Jlc3Nfc3RhdGUsICsrbnJfc2Vlbik7CiAKLQlpZiAoaGF2ZV9kdXBsaWNhdGVfZW50cnkob2lkLCBleGNsdWRlLCAmaW5kZXhfcG9zKSkKKwlpZiAoaGF2ZV9kdXBsaWNhdGVfZW50cnkob2lkLCBleGNsdWRlKSkKIAkJcmV0dXJuIDA7CiAKIAlpZiAoIXdhbnRfb2JqZWN0X2luX3BhY2sob2lkLCBleGNsdWRlLCAmZm91bmRfcGFjaywgJmZvdW5kX29mZnNldCkpIHsKIAkJLyogVGhlIHBhY2sgaXMgbWlzc2luZyBhbiBvYmplY3QsIHNvIGl0IHdpbGwgbm90IGhhdmUgY2xvc3VyZSAqLwogCQlpZiAod3JpdGVfYml0bWFwX2luZGV4KSB7Ci0JCQl3YXJuaW5nKF8obm9fY2xvc3VyZV93YXJuaW5nKSk7CisJCQlpZiAod3JpdGVfYml0bWFwX2luZGV4ICE9IFdSSVRFX0JJVE1BUF9RVUlFVCkKKwkJCQl3YXJuaW5nKF8obm9fY2xvc3VyZV93YXJuaW5nKSk7CiAJCQl3cml0ZV9iaXRtYXBfaW5kZXggPSAwOwogCQl9CiAJCXJldHVybiAwOwpAQCAtMTE4MCw3ICsxMzIwLDcgQEAKIAogCWNyZWF0ZV9vYmplY3RfZW50cnkob2lkLCB0eXBlLCBwYWNrX25hbWVfaGFzaChuYW1lKSwKIAkJCSAgICBleGNsdWRlLCBuYW1lICYmIG5vX3RyeV9kZWx0YShuYW1lKSwKLQkJCSAgICBpbmRleF9wb3MsIGZvdW5kX3BhY2ssIGZvdW5kX29mZnNldCk7CisJCQkgICAgZm91bmRfcGFjaywgZm91bmRfb2Zmc2V0KTsKIAlyZXR1cm4gMTsKIH0KIApAQCAtMTE4OSwxNyArMTMyOSwxNSBAQAogCQkJCQlpbnQgZmxhZ3MsIHVpbnQzMl90IG5hbWVfaGFzaCwKIAkJCQkJc3RydWN0IHBhY2tlZF9naXQgKnBhY2ssIG9mZl90IG9mZnNldCkKIHsKLQl1aW50MzJfdCBpbmRleF9wb3M7Ci0KIAlkaXNwbGF5X3Byb2dyZXNzKHByb2dyZXNzX3N0YXRlLCArK25yX3NlZW4pOwogCi0JaWYgKGhhdmVfZHVwbGljYXRlX2VudHJ5KG9pZCwgMCwgJmluZGV4X3BvcykpCisJaWYgKGhhdmVfZHVwbGljYXRlX2VudHJ5KG9pZCwgMCkpCiAJCXJldHVybiAwOwogCiAJaWYgKCF3YW50X29iamVjdF9pbl9wYWNrKG9pZCwgMCwgJnBhY2ssICZvZmZzZXQpKQogCQlyZXR1cm4gMDsKIAotCWNyZWF0ZV9vYmplY3RfZW50cnkob2lkLCB0eXBlLCBuYW1lX2hhc2gsIDAsIDAsIGluZGV4X3BvcywgcGFjaywgb2Zmc2V0KTsKKwljcmVhdGVfb2JqZWN0X2VudHJ5KG9pZCwgdHlwZSwgbmFtZV9oYXNoLCAwLCAwLCBwYWNrLCBvZmZzZXQpOwogCXJldHVybiAxOwogfQogCkBAIC0xMzM0LDcgKzE0NzIsNyBAQAogCQlpZiAoY21wIDwgMCkKIAkJCXJldHVybjsKIAkJaWYgKG5hbWVbY21wbGVuXSAhPSAnLycpIHsKLQkJCWFkZF9vYmplY3RfZW50cnkoZW50cnkub2lkLAorCQkJYWRkX29iamVjdF9lbnRyeSgmZW50cnkub2lkLAogCQkJCQkgb2JqZWN0X3R5cGUoZW50cnkubW9kZSksCiAJCQkJCSBmdWxsbmFtZSwgMSk7CiAJCQlyZXR1cm47CkBAIC0xMzQ1LDcgKzE0ODMsNyBAQAogCQkJY29uc3QgY2hhciAqZG93biA9IG5hbWUrY21wbGVuKzE7CiAJCQlpbnQgZG93bmxlbiA9IG5hbWVfY21wX2xlbihkb3duKTsKIAotCQkJdHJlZSA9IHBiYXNlX3RyZWVfZ2V0KGVudHJ5Lm9pZCk7CisJCQl0cmVlID0gcGJhc2VfdHJlZV9nZXQoJmVudHJ5Lm9pZCk7CiAJCQlpZiAoIXRyZWUpCiAJCQkJcmV0dXJuOwogCQkJaW5pdF90cmVlX2Rlc2MoJnN1YiwgdHJlZS0+dHJlZV9kYXRhLCB0cmVlLT50cmVlX3NpemUpOwpAQCAtMTQyNCw3ICsxNTYyLDggQEAKIAlpZiAod2luZG93IDw9IG51bV9wcmVmZXJyZWRfYmFzZSsrKQogCQlyZXR1cm47CiAKLQlkYXRhID0gcmVhZF9vYmplY3Rfd2l0aF9yZWZlcmVuY2Uob2lkLCB0cmVlX3R5cGUsICZzaXplLCAmdHJlZV9vaWQpOworCWRhdGEgPSByZWFkX29iamVjdF93aXRoX3JlZmVyZW5jZSh0aGVfcmVwb3NpdG9yeSwgb2lkLAorCQkJCQkgIHRyZWVfdHlwZSwgJnNpemUsICZ0cmVlX29pZCk7CiAJaWYgKCFkYXRhKQogCQlyZXR1cm47CiAKQEAgLTE0ODAsMjAgKzE2MTksMTcgQEAKICAqIGRlbHRpZnkgb3RoZXIgb2JqZWN0cyBhZ2FpbnN0LCBpbiBvcmRlciB0byBhdm9pZAogICogY2lyY3VsYXIgZGVsdGFzLgogICovCi1zdGF0aWMgaW50IGNhbl9yZXVzZV9kZWx0YShjb25zdCB1bnNpZ25lZCBjaGFyICpiYXNlX3NoYTEsCitzdGF0aWMgaW50IGNhbl9yZXVzZV9kZWx0YShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpiYXNlX29pZCwKIAkJCSAgIHN0cnVjdCBvYmplY3RfZW50cnkgKmRlbHRhLAogCQkJICAgc3RydWN0IG9iamVjdF9lbnRyeSAqKmJhc2Vfb3V0KQogewogCXN0cnVjdCBvYmplY3RfZW50cnkgKmJhc2U7CiAKLQlpZiAoIWJhc2Vfc2hhMSkKLQkJcmV0dXJuIDA7Ci0KIAkvKgogCSAqIEZpcnN0IHNlZSBpZiB3ZSdyZSBhbHJlYWR5IHNlbmRpbmcgdGhlIGJhc2UgKG9yIGl0J3MgZXhwbGljaXRseSBpbgogCSAqIG91ciAiZXhjbHVkZWQiIGxpc3QpLgogCSAqLwotCWJhc2UgPSBwYWNrbGlzdF9maW5kKCZ0b19wYWNrLCBiYXNlX3NoYTEsIE5VTEwpOworCWJhc2UgPSBwYWNrbGlzdF9maW5kKCZ0b19wYWNrLCBiYXNlX29pZCk7CiAJaWYgKGJhc2UpIHsKIAkJaWYgKCFpbl9zYW1lX2lzbGFuZCgmZGVsdGEtPmlkeC5vaWQsICZiYXNlLT5pZHgub2lkKSkKIAkJCXJldHVybiAwOwpAQCAtMTUwNiwxMSArMTY0Miw5IEBACiAJICogZXZlbiBpZiBpdCB3YXMgYnVyaWVkIHRvbyBkZWVwIGluIGhpc3RvcnkgdG8gbWFrZSBpdCBpbnRvIHRoZQogCSAqIHBhY2tpbmcgbGlzdC4KIAkgKi8KLQlpZiAodGhpbiAmJiBiaXRtYXBfaGFzX3NoYTFfaW5fdW5pbnRlcmVzdGluZyhiaXRtYXBfZ2l0LCBiYXNlX3NoYTEpKSB7CisJaWYgKHRoaW4gJiYgYml0bWFwX2hhc19vaWRfaW5fdW5pbnRlcmVzdGluZyhiaXRtYXBfZ2l0LCBiYXNlX29pZCkpIHsKIAkJaWYgKHVzZV9kZWx0YV9pc2xhbmRzKSB7Ci0JCQlzdHJ1Y3Qgb2JqZWN0X2lkIGJhc2Vfb2lkOwotCQkJaGFzaGNweShiYXNlX29pZC5oYXNoLCBiYXNlX3NoYTEpOwotCQkJaWYgKCFpbl9zYW1lX2lzbGFuZCgmZGVsdGEtPmlkeC5vaWQsICZiYXNlX29pZCkpCisJCQlpZiAoIWluX3NhbWVfaXNsYW5kKCZkZWx0YS0+aWR4Lm9pZCwgYmFzZV9vaWQpKQogCQkJCXJldHVybiAwOwogCQl9CiAJCSpiYXNlX291dCA9IE5VTEw7CkBAIC0xNTI3LDcgKzE2NjEsOCBAQAogCWlmIChJTl9QQUNLKGVudHJ5KSkgewogCQlzdHJ1Y3QgcGFja2VkX2dpdCAqcCA9IElOX1BBQ0soZW50cnkpOwogCQlzdHJ1Y3QgcGFja193aW5kb3cgKndfY3VycyA9IE5VTEw7Ci0JCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmJhc2VfcmVmID0gTlVMTDsKKwkJaW50IGhhdmVfYmFzZSA9IDA7CisJCXN0cnVjdCBvYmplY3RfaWQgYmFzZV9yZWY7CiAJCXN0cnVjdCBvYmplY3RfZW50cnkgKmJhc2VfZW50cnk7CiAJCXVuc2lnbmVkIGxvbmcgdXNlZCwgdXNlZF8wOwogCQl1bnNpZ25lZCBsb25nIGF2YWlsOwpAQCAtMTU2OCw5ICsxNzAzLDEzIEBACiAJCQl1bnVzZV9wYWNrKCZ3X2N1cnMpOwogCQkJcmV0dXJuOwogCQljYXNlIE9CSl9SRUZfREVMVEE6Ci0JCQlpZiAocmV1c2VfZGVsdGEgJiYgIWVudHJ5LT5wcmVmZXJyZWRfYmFzZSkKLQkJCQliYXNlX3JlZiA9IHVzZV9wYWNrKHAsICZ3X2N1cnMsCi0JCQkJCQllbnRyeS0+aW5fcGFja19vZmZzZXQgKyB1c2VkLCBOVUxMKTsKKwkJCWlmIChyZXVzZV9kZWx0YSAmJiAhZW50cnktPnByZWZlcnJlZF9iYXNlKSB7CisJCQkJb2lkcmVhZCgmYmFzZV9yZWYsCisJCQkJCXVzZV9wYWNrKHAsICZ3X2N1cnMsCisJCQkJCQkgZW50cnktPmluX3BhY2tfb2Zmc2V0ICsgdXNlZCwKKwkJCQkJCSBOVUxMKSk7CisJCQkJaGF2ZV9iYXNlID0gMTsKKwkJCX0KIAkJCWVudHJ5LT5pbl9wYWNrX2hlYWRlcl9zaXplID0gdXNlZCArIHRoZV9oYXNoX2FsZ28tPnJhd3N6OwogCQkJYnJlYWs7CiAJCWNhc2UgT0JKX09GU19ERUxUQToKQEAgLTE2MDAsMTMgKzE3MzksMTUgQEAKIAkJCQlyZXZpZHggPSBmaW5kX3BhY2tfcmV2aW5kZXgocCwgb2ZzKTsKIAkJCQlpZiAoIXJldmlkeCkKIAkJCQkJZ290byBnaXZlX3VwOwotCQkJCWJhc2VfcmVmID0gbnRoX3BhY2tlZF9vYmplY3Rfc2hhMShwLCByZXZpZHgtPm5yKTsKKwkJCQlpZiAoIW50aF9wYWNrZWRfb2JqZWN0X2lkKCZiYXNlX3JlZiwgcCwgcmV2aWR4LT5ucikpCisJCQkJCWhhdmVfYmFzZSA9IDE7CiAJCQl9CiAJCQllbnRyeS0+aW5fcGFja19oZWFkZXJfc2l6ZSA9IHVzZWQgKyB1c2VkXzA7CiAJCQlicmVhazsKIAkJfQogCi0JCWlmIChjYW5fcmV1c2VfZGVsdGEoYmFzZV9yZWYsIGVudHJ5LCAmYmFzZV9lbnRyeSkpIHsKKwkJaWYgKGhhdmVfYmFzZSAmJgorCQkgICAgY2FuX3JldXNlX2RlbHRhKCZiYXNlX3JlZiwgZW50cnksICZiYXNlX2VudHJ5KSkgewogCQkJb2Vfc2V0X3R5cGUoZW50cnksIGVudHJ5LT5pbl9wYWNrX3R5cGUpOwogCQkJU0VUX1NJWkUoZW50cnksIGluX3BhY2tfc2l6ZSk7IC8qIGRlbHRhIHNpemUgKi8KIAkJCVNFVF9ERUxUQV9TSVpFKGVudHJ5LCBpbl9wYWNrX3NpemUpOwpAQCAtMTYxNiw3ICsxNzU3LDcgQEAKIAkJCQllbnRyeS0+ZGVsdGFfc2libGluZ19pZHggPSBiYXNlX2VudHJ5LT5kZWx0YV9jaGlsZF9pZHg7CiAJCQkJU0VUX0RFTFRBX0NISUxEKGJhc2VfZW50cnksIGVudHJ5KTsKIAkJCX0gZWxzZSB7Ci0JCQkJU0VUX0RFTFRBX0VYVChlbnRyeSwgYmFzZV9yZWYpOworCQkJCVNFVF9ERUxUQV9FWFQoZW50cnksICZiYXNlX3JlZik7CiAJCQl9CiAKIAkJCXVudXNlX3BhY2soJndfY3Vycyk7CkBAIC0xNjQyLDcgKzE3ODMsNyBAQAogCiAJCS8qCiAJCSAqIE5vIGNob2ljZSBidXQgdG8gZmFsbCBiYWNrIHRvIHRoZSByZWN1cnNpdmUgZGVsdGEgd2FsawotCQkgKiB3aXRoIHNoYTFfb2JqZWN0X2luZm8oKSB0byBmaW5kIGFib3V0IHRoZSBvYmplY3QgdHlwZQorCQkgKiB3aXRoIG9pZF9vYmplY3RfaW5mbygpIHRvIGZpbmQgYWJvdXQgdGhlIG9iamVjdCB0eXBlCiAJCSAqIGF0IHRoaXMgcG9pbnQuLi4KIAkJICovCiAJCWdpdmVfdXA6CkBAIC0xNzE4LDcgKzE4NTksNyBAQAogCWlmIChwYWNrZWRfb2JqZWN0X2luZm8odGhlX3JlcG9zaXRvcnksIElOX1BBQ0soZW50cnkpLCBlbnRyeS0+aW5fcGFja19vZmZzZXQsICZvaSkgPCAwKSB7CiAJCS8qCiAJCSAqIFdlIGZhaWxlZCB0byBnZXQgdGhlIGluZm8gZnJvbSB0aGlzIHBhY2sgZm9yIHNvbWUgcmVhc29uOwotCQkgKiBmYWxsIGJhY2sgdG8gc2hhMV9vYmplY3RfaW5mbywgd2hpY2ggbWF5IGZpbmQgYW5vdGhlciBjb3B5LgorCQkgKiBmYWxsIGJhY2sgdG8gb2lkX29iamVjdF9pbmZvLCB3aGljaCBtYXkgZmluZCBhbm90aGVyIGNvcHkuCiAJCSAqIEFuZCBpZiB0aGF0IGZhaWxzLCB0aGUgZXJyb3Igd2lsbCBiZSByZWNvcmRlZCBpbiBvZV90eXBlKGVudHJ5KQogCQkgKiBhbmQgZGVhbHQgd2l0aCBpbiBwcmVwYXJlX3BhY2soKS4KIAkJICovCkBAIC0xOTAxLDEwICsyMDQyLDEwIEBACiB7CiAJY29uc3Qgc3RydWN0IG9iamVjdF9lbnRyeSAqYSA9ICooc3RydWN0IG9iamVjdF9lbnRyeSAqKilfYTsKIAljb25zdCBzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICpiID0gKihzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICoqKV9iOwotCWVudW0gb2JqZWN0X3R5cGUgYV90eXBlID0gb2VfdHlwZShhKTsKLQllbnVtIG9iamVjdF90eXBlIGJfdHlwZSA9IG9lX3R5cGUoYik7Ci0JdW5zaWduZWQgbG9uZyBhX3NpemUgPSBTSVpFKGEpOwotCXVuc2lnbmVkIGxvbmcgYl9zaXplID0gU0laRShiKTsKKwljb25zdCBlbnVtIG9iamVjdF90eXBlIGFfdHlwZSA9IG9lX3R5cGUoYSk7CisJY29uc3QgZW51bSBvYmplY3RfdHlwZSBiX3R5cGUgPSBvZV90eXBlKGIpOworCWNvbnN0IHVuc2lnbmVkIGxvbmcgYV9zaXplID0gU0laRShhKTsKKwljb25zdCB1bnNpZ25lZCBsb25nIGJfc2l6ZSA9IFNJWkUoYik7CiAKIAlpZiAoYV90eXBlID4gYl90eXBlKQogCQlyZXR1cm4gLTE7CkBAIC0xOTE5LDcgKzIwNjAsNyBAQAogCWlmIChhLT5wcmVmZXJyZWRfYmFzZSA8IGItPnByZWZlcnJlZF9iYXNlKQogCQlyZXR1cm4gMTsKIAlpZiAodXNlX2RlbHRhX2lzbGFuZHMpIHsKLQkJaW50IGlzbGFuZF9jbXAgPSBpc2xhbmRfZGVsdGFfY21wKCZhLT5pZHgub2lkLCAmYi0+aWR4Lm9pZCk7CisJCWNvbnN0IGludCBpc2xhbmRfY21wID0gaXNsYW5kX2RlbHRhX2NtcCgmYS0+aWR4Lm9pZCwgJmItPmlkeC5vaWQpOwogCQlpZiAoaXNsYW5kX2NtcCkKIAkJCXJldHVybiBpc2xhbmRfY21wOwogCX0KQEAgLTE5NTMsMTEgKzIwOTQsNiBAQAogCXJldHVybiAwOwogfQogCi0vKiBQcm90ZWN0IGFjY2VzcyB0byBvYmplY3QgZGF0YWJhc2UgKi8KLXN0YXRpYyBwdGhyZWFkX211dGV4X3QgcmVhZF9tdXRleDsKLSNkZWZpbmUgcmVhZF9sb2NrKCkJCXB0aHJlYWRfbXV0ZXhfbG9jaygmcmVhZF9tdXRleCkKLSNkZWZpbmUgcmVhZF91bmxvY2soKQkJcHRocmVhZF9tdXRleF91bmxvY2soJnJlYWRfbXV0ZXgpCi0KIC8qIFByb3RlY3QgZGVsdGFfY2FjaGVfc2l6ZSAqLwogc3RhdGljIHB0aHJlYWRfbXV0ZXhfdCBjYWNoZV9tdXRleDsKICNkZWZpbmUgY2FjaGVfbG9jaygpCQlwdGhyZWFkX211dGV4X2xvY2soJmNhY2hlX211dGV4KQpAQCAtMTk5MywxMSArMjEyOSwxMSBAQAogCXVuc2lnbmVkIGxvbmcgdXNlZCwgYXZhaWwsIHNpemU7CiAKIAlpZiAoZS0+dHlwZV8gIT0gT0JKX09GU19ERUxUQSAmJiBlLT50eXBlXyAhPSBPQkpfUkVGX0RFTFRBKSB7Ci0JCXJlYWRfbG9jaygpOworCQlwYWNraW5nX2RhdGFfbG9jaygmdG9fcGFjayk7CiAJCWlmIChvaWRfb2JqZWN0X2luZm8odGhlX3JlcG9zaXRvcnksICZlLT5pZHgub2lkLCAmc2l6ZSkgPCAwKQogCQkJZGllKF8oInVuYWJsZSB0byBnZXQgc2l6ZSBvZiAlcyIpLAogCQkJICAgIG9pZF90b19oZXgoJmUtPmlkeC5vaWQpKTsKLQkJcmVhZF91bmxvY2soKTsKKwkJcGFja2luZ19kYXRhX3VubG9jaygmdG9fcGFjayk7CiAJCXJldHVybiBzaXplOwogCX0KIApAQCAtMjAwNSw3ICsyMTQxLDcgQEAKIAlpZiAoIXApCiAJCUJVRygid2hlbiBlLT50eXBlIGlzIGEgZGVsdGEsIGl0IG11c3QgYmVsb25nIHRvIGEgcGFjayIpOwogCi0JcmVhZF9sb2NrKCk7CisJcGFja2luZ19kYXRhX2xvY2soJnRvX3BhY2spOwogCXdfY3VycyA9IE5VTEw7CiAJYnVmID0gdXNlX3BhY2socCwgJndfY3VycywgZS0+aW5fcGFja19vZmZzZXQsICZhdmFpbCk7CiAJdXNlZCA9IHVucGFja19vYmplY3RfaGVhZGVyX2J1ZmZlcihidWYsIGF2YWlsLCAmdHlwZSwgJnNpemUpOwpAQCAtMjAxNCw3ICsyMTUwLDcgQEAKIAkJICAgIG9pZF90b19oZXgoJmUtPmlkeC5vaWQpKTsKIAogCXVudXNlX3BhY2soJndfY3Vycyk7Ci0JcmVhZF91bmxvY2soKTsKKwlwYWNraW5nX2RhdGFfdW5sb2NrKCZ0b19wYWNrKTsKIAlyZXR1cm4gc2l6ZTsKIH0KIApAQCAtMjA3Niw5ICsyMjEyLDkgQEAKIAogCS8qIExvYWQgZGF0YSBpZiBub3QgYWxyZWFkeSBkb25lICovCiAJaWYgKCF0cmctPmRhdGEpIHsKLQkJcmVhZF9sb2NrKCk7CisJCXBhY2tpbmdfZGF0YV9sb2NrKCZ0b19wYWNrKTsKIAkJdHJnLT5kYXRhID0gcmVhZF9vYmplY3RfZmlsZSgmdHJnX2VudHJ5LT5pZHgub2lkLCAmdHlwZSwgJnN6KTsKLQkJcmVhZF91bmxvY2soKTsKKwkJcGFja2luZ19kYXRhX3VubG9jaygmdG9fcGFjayk7CiAJCWlmICghdHJnLT5kYXRhKQogCQkJZGllKF8oIm9iamVjdCAlcyBjYW5ub3QgYmUgcmVhZCIpLAogCQkJICAgIG9pZF90b19oZXgoJnRyZ19lbnRyeS0+aWR4Lm9pZCkpOwpAQCAtMjA4OSw5ICsyMjI1LDkgQEAKIAkJKm1lbV91c2FnZSArPSBzejsKIAl9CiAJaWYgKCFzcmMtPmRhdGEpIHsKLQkJcmVhZF9sb2NrKCk7CisJCXBhY2tpbmdfZGF0YV9sb2NrKCZ0b19wYWNrKTsKIAkJc3JjLT5kYXRhID0gcmVhZF9vYmplY3RfZmlsZSgmc3JjX2VudHJ5LT5pZHgub2lkLCAmdHlwZSwgJnN6KTsKLQkJcmVhZF91bmxvY2soKTsKKwkJcGFja2luZ19kYXRhX3VubG9jaygmdG9fcGFjayk7CiAJCWlmICghc3JjLT5kYXRhKSB7CiAJCQlpZiAoc3JjX2VudHJ5LT5wcmVmZXJyZWRfYmFzZSkgewogCQkJCXN0YXRpYyBpbnQgd2FybmVkID0gMDsKQEAgLTIxNzEsNyArMjMwNyw3IEBACiAJc3RydWN0IG9iamVjdF9lbnRyeSAqY2hpbGQgPSBERUxUQV9DSElMRChtZSk7CiAJdW5zaWduZWQgaW50IG0gPSBuOwogCXdoaWxlIChjaGlsZCkgewotCQl1bnNpZ25lZCBpbnQgYyA9IGNoZWNrX2RlbHRhX2xpbWl0KGNoaWxkLCBuICsgMSk7CisJCWNvbnN0IHVuc2lnbmVkIGludCBjID0gY2hlY2tfZGVsdGFfbGltaXQoY2hpbGQsIG4gKyAxKTsKIAkJaWYgKG0gPCBjKQogCQkJbSA9IGM7CiAJCWNoaWxkID0gREVMVEFfU0lCTElORyhjaGlsZCk7CkBAIC0yMjI2LDcgKzIzNjIsNyBAQAogCQl3aGlsZSAod2luZG93X21lbW9yeV9saW1pdCAmJgogCQkgICAgICAgbWVtX3VzYWdlID4gd2luZG93X21lbW9yeV9saW1pdCAmJgogCQkgICAgICAgY291bnQgPiAxKSB7Ci0JCQl1aW50MzJfdCB0YWlsID0gKGlkeCArIHdpbmRvdyAtIGNvdW50KSAlIHdpbmRvdzsKKwkJCWNvbnN0IHVpbnQzMl90IHRhaWwgPSAoaWR4ICsgd2luZG93IC0gY291bnQpICUgd2luZG93OwogCQkJbWVtX3VzYWdlIC09IGZyZWVfdW5wYWNrZWQoYXJyYXkgKyB0YWlsKTsKIAkJCWNvdW50LS07CiAJCX0KQEAgLTIzMzUsMTUgKzI0NzEsNiBAQAogCWZyZWUoYXJyYXkpOwogfQogCi1zdGF0aWMgdm9pZCB0cnlfdG9fZnJlZV9mcm9tX3RocmVhZHMoc2l6ZV90IHNpemUpCi17Ci0JcmVhZF9sb2NrKCk7Ci0JcmVsZWFzZV9wYWNrX21lbW9yeShzaXplKTsKLQlyZWFkX3VubG9jaygpOwotfQotCi1zdGF0aWMgdHJ5X3RvX2ZyZWVfdCBvbGRfdHJ5X3RvX2ZyZWVfcm91dGluZTsKLQogLyoKICAqIFRoZSBtYWluIG9iamVjdCBsaXN0IGlzIHNwbGl0IGludG8gc21hbGxlciBsaXN0cywgZWFjaCBpcyBoYW5kZWQgdG8KICAqIG9uZSB3b3JrZXIuCkBAIC0yMzgxLDE4ICsyNTA4LDE0IEBACiAgKi8KIHN0YXRpYyB2b2lkIGluaXRfdGhyZWFkZWRfc2VhcmNoKHZvaWQpCiB7Ci0JaW5pdF9yZWN1cnNpdmVfbXV0ZXgoJnJlYWRfbXV0ZXgpOwogCXB0aHJlYWRfbXV0ZXhfaW5pdCgmY2FjaGVfbXV0ZXgsIE5VTEwpOwogCXB0aHJlYWRfbXV0ZXhfaW5pdCgmcHJvZ3Jlc3NfbXV0ZXgsIE5VTEwpOwogCXB0aHJlYWRfY29uZF9pbml0KCZwcm9ncmVzc19jb25kLCBOVUxMKTsKLQlvbGRfdHJ5X3RvX2ZyZWVfcm91dGluZSA9IHNldF90cnlfdG9fZnJlZV9yb3V0aW5lKHRyeV90b19mcmVlX2Zyb21fdGhyZWFkcyk7CiB9CiAKIHN0YXRpYyB2b2lkIGNsZWFudXBfdGhyZWFkZWRfc2VhcmNoKHZvaWQpCiB7Ci0Jc2V0X3RyeV90b19mcmVlX3JvdXRpbmUob2xkX3RyeV90b19mcmVlX3JvdXRpbmUpOwogCXB0aHJlYWRfY29uZF9kZXN0cm95KCZwcm9ncmVzc19jb25kKTsKLQlwdGhyZWFkX211dGV4X2Rlc3Ryb3koJnJlYWRfbXV0ZXgpOwogCXB0aHJlYWRfbXV0ZXhfZGVzdHJveSgmY2FjaGVfbXV0ZXgpOwogCXB0aHJlYWRfbXV0ZXhfZGVzdHJveSgmcHJvZ3Jlc3NfbXV0ZXgpOwogfQpAQCAtMjU2Myw2ICsyNjg2LDEzIEBACiAJZnJlZShwKTsKIH0KIAorc3RhdGljIGludCBvYmpfaXNfcGFja2VkKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKK3sKKwlyZXR1cm4gcGFja2xpc3RfZmluZCgmdG9fcGFjaywgb2lkKSB8fAorCQkocmV1c2VfcGFja2ZpbGVfYml0bWFwICYmCisJCSBiaXRtYXBfd2Fsa19jb250YWlucyhiaXRtYXBfZ2l0LCByZXVzZV9wYWNrZmlsZV9iaXRtYXAsIG9pZCkpOworfQorCiBzdGF0aWMgdm9pZCBhZGRfdGFnX2NoYWluKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAlzdHJ1Y3QgdGFnICp0YWc7CkBAIC0yNTc0LDcgKzI3MDQsNyBAQAogCSAqIGl0IHdhcyBpbmNsdWRlZCB2aWEgYml0bWFwcywgd2Ugd291bGQgbm90IGhhdmUgcGFyc2VkIGl0CiAJICogcHJldmlvdXNseSkuCiAJICovCi0JaWYgKHBhY2tsaXN0X2ZpbmQoJnRvX3BhY2ssIG9pZC0+aGFzaCwgTlVMTCkpCisJaWYgKG9ial9pc19wYWNrZWQob2lkKSkKIAkJcmV0dXJuOwogCiAJdGFnID0gbG9va3VwX3RhZyh0aGVfcmVwb3NpdG9yeSwgb2lkKTsKQEAgLTI1OTgsNyArMjcyOCw3IEBACiAKIAlpZiAoc3RhcnRzX3dpdGgocGF0aCwgInJlZnMvdGFncy8iKSAmJiAvKiBpcyBhIHRhZz8gKi8KIAkgICAgIXBlZWxfcmVmKHBhdGgsICZwZWVsZWQpICAgICYmIC8qIHBlZWxhYmxlPyAqLwotCSAgICBwYWNrbGlzdF9maW5kKCZ0b19wYWNrLCBwZWVsZWQuaGFzaCwgTlVMTCkpICAgICAgLyogb2JqZWN0IHBhY2tlZD8gKi8KKwkgICAgb2JqX2lzX3BhY2tlZCgmcGVlbGVkKSkgLyogb2JqZWN0IHBhY2tlZD8gKi8KIAkJYWRkX3RhZ19jaGFpbihvaWQpOwogCXJldHVybiAwOwogfQpAQCAtMjYxMCw3ICsyNzQwLDcgQEAKIAl1bnNpZ25lZCBuOwogCiAJaWYgKHVzZV9kZWx0YV9pc2xhbmRzKQotCQlyZXNvbHZlX3RyZWVfaXNsYW5kcyhwcm9ncmVzcywgJnRvX3BhY2spOworCQlyZXNvbHZlX3RyZWVfaXNsYW5kcyh0aGVfcmVwb3NpdG9yeSwgcHJvZ3Jlc3MsICZ0b19wYWNrKTsKIAogCWdldF9vYmplY3RfZGV0YWlscygpOwogCkBAIC0yNjY2LDYgKzI3OTYsNyBAQAogCiAJaWYgKG5yX2RlbHRhcyAmJiBuID4gMSkgewogCQl1bnNpZ25lZCBucl9kb25lID0gMDsKKwogCQlpZiAocHJvZ3Jlc3MpCiAJCQlwcm9ncmVzc19zdGF0ZSA9IHN0YXJ0X3Byb2dyZXNzKF8oIkNvbXByZXNzaW5nIG9iamVjdHMiKSwKIAkJCQkJCQlucl9kZWx0YXMpOwpAQCAtMjcxMCw2ICsyODQxLDEwIEBACiAJCXVzZV9iaXRtYXBfaW5kZXhfZGVmYXVsdCA9IGdpdF9jb25maWdfYm9vbChrLCB2KTsKIAkJcmV0dXJuIDA7CiAJfQorCWlmICghc3RyY21wKGssICJwYWNrLmFsbG93cGFja3JldXNlIikpIHsKKwkJYWxsb3dfcGFja19yZXVzZSA9IGdpdF9jb25maWdfYm9vbChrLCB2KTsKKwkJcmV0dXJuIDA7CisJfQogCWlmICghc3RyY21wKGssICJwYWNrLnRocmVhZHMiKSkgewogCQlkZWx0YV9zZWFyY2hfdGhyZWFkcyA9IGdpdF9jb25maWdfaW50KGssIHYpOwogCQlpZiAoZGVsdGFfc2VhcmNoX3RocmVhZHMgPCAwKQpAQCAtMjc5NCw3ICsyOTI5LDcgQEAKIAkJZm9yIChwID0gc3RyY2hyKG5hbWUsICcvJyk7IHA7IHAgPSBzdHJjaHIocCArIDEsICcvJykpCiAJCQlkZXB0aCsrOwogCi0JCWVudCA9IHBhY2tsaXN0X2ZpbmQoJnRvX3BhY2ssIG9iai0+b2lkLmhhc2gsIE5VTEwpOworCQllbnQgPSBwYWNrbGlzdF9maW5kKCZ0b19wYWNrLCAmb2JqLT5vaWQpOwogCQlpZiAoZW50ICYmIGRlcHRoID4gb2VfdHJlZV9kZXB0aCgmdG9fcGFjaywgZW50KSkKIAkJCW9lX3NldF90cmVlX2RlcHRoKCZ0b19wYWNrLCBlbnQsIGRlcHRoKTsKIAl9CkBAIC0yODk4LDcgKzMwMzMsNyBAQAogCQlyZXR1cm4gb2lkY21wKCZhLT5vYmplY3QtPm9pZCwgJmItPm9iamVjdC0+b2lkKTsKIH0KIAotc3RhdGljIHZvaWQgYWRkX29iamVjdHNfaW5fdW5wYWNrZWRfcGFja3Moc3RydWN0IHJldl9pbmZvICpyZXZzKQorc3RhdGljIHZvaWQgYWRkX29iamVjdHNfaW5fdW5wYWNrZWRfcGFja3Modm9pZCkKIHsKIAlzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKIAlzdHJ1Y3QgaW5fcGFjayBpbl9wYWNrOwpAQCAtMjkyMCw4ICszMDU1LDggQEAKIAkJCSAgIGluX3BhY2suYWxsb2MpOwogCiAJCWZvciAoaSA9IDA7IGkgPCBwLT5udW1fb2JqZWN0czsgaSsrKSB7Ci0JCQludGhfcGFja2VkX29iamVjdF9vaWQoJm9pZCwgcCwgaSk7Ci0JCQlvID0gbG9va3VwX3Vua25vd25fb2JqZWN0KG9pZC5oYXNoKTsKKwkJCW50aF9wYWNrZWRfb2JqZWN0X2lkKCZvaWQsIHAsIGkpOworCQkJbyA9IGxvb2t1cF91bmtub3duX29iamVjdCgmb2lkKTsKIAkJCWlmICghKG8tPmZsYWdzICYgT0JKRUNUX0FEREVEKSkKIAkJCQltYXJrX2luX3BhY2tfb2JqZWN0KG8sIHAsICZpbl9wYWNrKTsKIAkJCW8tPmZsYWdzIHw9IE9CSkVDVF9BRERFRDsKQEAgLTMwMTAsNyArMzE0NSw3IEBACiAJcmV0dXJuIDE7CiB9CiAKLXN0YXRpYyB2b2lkIGxvb3Nlbl91bnVzZWRfcGFja2VkX29iamVjdHMoc3RydWN0IHJldl9pbmZvICpyZXZzKQorc3RhdGljIHZvaWQgbG9vc2VuX3VudXNlZF9wYWNrZWRfb2JqZWN0cyh2b2lkKQogewogCXN0cnVjdCBwYWNrZWRfZ2l0ICpwOwogCXVpbnQzMl90IGk7CkBAIC0zMDI0LDggKzMxNTksOCBAQAogCQkJZGllKF8oImNhbm5vdCBvcGVuIHBhY2sgaW5kZXgiKSk7CiAKIAkJZm9yIChpID0gMDsgaSA8IHAtPm51bV9vYmplY3RzOyBpKyspIHsKLQkJCW50aF9wYWNrZWRfb2JqZWN0X29pZCgmb2lkLCBwLCBpKTsKLQkJCWlmICghcGFja2xpc3RfZmluZCgmdG9fcGFjaywgb2lkLmhhc2gsIE5VTEwpICYmCisJCQludGhfcGFja2VkX29iamVjdF9pZCgmb2lkLCBwLCBpKTsKKwkJCWlmICghcGFja2xpc3RfZmluZCgmdG9fcGFjaywgJm9pZCkgJiYKIAkJCSAgICAhaGFzX3NoYTFfcGFja19rZXB0X29yX25vbmxvY2FsKCZvaWQpICYmCiAJCQkgICAgIWxvb3NlbmVkX29iamVjdF9jYW5fYmVfZGlzY2FyZGVkKCZvaWQsIHAtPm10aW1lKSkKIAkJCQlpZiAoZm9yY2Vfb2JqZWN0X2xvb3NlKCZvaWQsIHAtPm10aW1lKSkKQEAgLTMwNDEsOCArMzE3Niw4IEBACiAgKi8KIHN0YXRpYyBpbnQgcGFja19vcHRpb25zX2FsbG93X3JldXNlKHZvaWQpCiB7Ci0JcmV0dXJuIHBhY2tfdG9fc3Rkb3V0ICYmCi0JICAgICAgIGFsbG93X29mc19kZWx0YSAmJgorCXJldHVybiBhbGxvd19wYWNrX3JldXNlICYmCisJICAgICAgIHBhY2tfdG9fc3Rkb3V0ICYmCiAJICAgICAgICFpZ25vcmVfcGFja2VkX2tlZXBfb25fZGlzayAmJgogCSAgICAgICAhaWdub3JlX3BhY2tlZF9rZWVwX2luX2NvcmUgJiYKIAkgICAgICAgKCFsb2NhbCB8fCAhaGF2ZV9ub25fbG9jYWxfcGFja3MpICYmCkBAIC0zMDUxLDcgKzMxODYsNyBAQAogCiBzdGF0aWMgaW50IGdldF9vYmplY3RfbGlzdF9mcm9tX2JpdG1hcChzdHJ1Y3QgcmV2X2luZm8gKnJldnMpCiB7Ci0JaWYgKCEoYml0bWFwX2dpdCA9IHByZXBhcmVfYml0bWFwX3dhbGsocmV2cykpKQorCWlmICghKGJpdG1hcF9naXQgPSBwcmVwYXJlX2JpdG1hcF93YWxrKHJldnMsICZmaWx0ZXJfb3B0aW9ucykpKQogCQlyZXR1cm4gLTE7CiAKIAlpZiAocGFja19vcHRpb25zX2FsbG93X3JldXNlKCkgJiYKQEAgLTMwNTksMTMgKzMxOTQsMTQgQEAKIAkJCWJpdG1hcF9naXQsCiAJCQkmcmV1c2VfcGFja2ZpbGUsCiAJCQkmcmV1c2VfcGFja2ZpbGVfb2JqZWN0cywKLQkJCSZyZXVzZV9wYWNrZmlsZV9vZmZzZXQpKSB7CisJCQkmcmV1c2VfcGFja2ZpbGVfYml0bWFwKSkgewogCQlhc3NlcnQocmV1c2VfcGFja2ZpbGVfb2JqZWN0cyk7CiAJCW5yX3Jlc3VsdCArPSByZXVzZV9wYWNrZmlsZV9vYmplY3RzOwogCQlkaXNwbGF5X3Byb2dyZXNzKHByb2dyZXNzX3N0YXRlLCBucl9yZXN1bHQpOwogCX0KIAotCXRyYXZlcnNlX2JpdG1hcF9jb21taXRfbGlzdChiaXRtYXBfZ2l0LCAmYWRkX29iamVjdF9lbnRyeV9mcm9tX2JpdG1hcCk7CisJdHJhdmVyc2VfYml0bWFwX2NvbW1pdF9saXN0KGJpdG1hcF9naXQsIHJldnMsCisJCQkJICAgICZhZGRfb2JqZWN0X2VudHJ5X2Zyb21fYml0bWFwKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMzA4NCwxNCArMzIyMCwxNiBAQAogc3RhdGljIHZvaWQgZ2V0X29iamVjdF9saXN0KGludCBhYywgY29uc3QgY2hhciAqKmF2KQogewogCXN0cnVjdCByZXZfaW5mbyByZXZzOworCXN0cnVjdCBzZXR1cF9yZXZpc2lvbl9vcHQgc19yX29wdCA9IHsKKwkJLmFsbG93X2V4Y2x1ZGVfcHJvbWlzb3Jfb2JqZWN0cyA9IDEsCisJfTsKIAljaGFyIGxpbmVbMTAwMF07CiAJaW50IGZsYWdzID0gMDsKIAlpbnQgc2F2ZV93YXJuaW5nOwogCiAJcmVwb19pbml0X3JldmlzaW9ucyh0aGVfcmVwb3NpdG9yeSwgJnJldnMsIE5VTEwpOwogCXNhdmVfY29tbWl0X2J1ZmZlciA9IDA7Ci0JcmV2cy5hbGxvd19leGNsdWRlX3Byb21pc29yX29iamVjdHNfb3B0ID0gMTsKLQlzZXR1cF9yZXZpc2lvbnMoYWMsIGF2LCAmcmV2cywgTlVMTCk7CisJc2V0dXBfcmV2aXNpb25zKGFjLCBhdiwgJnJldnMsICZzX3Jfb3B0KTsKIAogCS8qIG1ha2Ugc3VyZSBzaGFsbG93cyBhcmUgcmVhZCAqLwogCWlzX3JlcG9zaXRvcnlfc2hhbGxvdyh0aGVfcmVwb3NpdG9yeSk7CkBAIC0zMTMxLDExICszMjY5LDExIEBACiAJCXJldHVybjsKIAogCWlmICh1c2VfZGVsdGFfaXNsYW5kcykKLQkJbG9hZF9kZWx0YV9pc2xhbmRzKCk7CisJCWxvYWRfZGVsdGFfaXNsYW5kcyh0aGVfcmVwb3NpdG9yeSwgcHJvZ3Jlc3MpOwogCiAJaWYgKHByZXBhcmVfcmV2aXNpb25fd2FsaygmcmV2cykpCiAJCWRpZShfKCJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIpKTsKLQltYXJrX2VkZ2VzX3VuaW50ZXJlc3RpbmcoJnJldnMsIHNob3dfZWRnZSk7CisJbWFya19lZGdlc191bmludGVyZXN0aW5nKCZyZXZzLCBzaG93X2VkZ2UsIHNwYXJzZSk7CiAKIAlpZiAoIWZuX3Nob3dfb2JqZWN0KQogCQlmbl9zaG93X29iamVjdCA9IHNob3dfb2JqZWN0OwpAQCAtMzE1NSwxMSArMzI5MywxMSBAQAogCX0KIAogCWlmIChrZWVwX3VucmVhY2hhYmxlKQotCQlhZGRfb2JqZWN0c19pbl91bnBhY2tlZF9wYWNrcygmcmV2cyk7CisJCWFkZF9vYmplY3RzX2luX3VucGFja2VkX3BhY2tzKCk7CiAJaWYgKHBhY2tfbG9vc2VfdW5yZWFjaGFibGUpCiAJCWFkZF91bnJlYWNoYWJsZV9sb29zZV9vYmplY3RzKCk7CiAJaWYgKHVucGFja191bnJlYWNoYWJsZSkKLQkJbG9vc2VuX3VudXNlZF9wYWNrZWRfb2JqZWN0cygmcmV2cyk7CisJCWxvb3Nlbl91bnVzZWRfcGFja2VkX29iamVjdHMoKTsKIAogCW9pZF9hcnJheV9jbGVhcigmcmVjZW50X29iamVjdHMpOwogfQpAQCAtMzI5Miw2ICszNDMwLDggQEAKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJ1bnBhY2stdW5yZWFjaGFibGUiLCBOVUxMLCBOXygidGltZSIpLAogCQkgIE5fKCJ1bnBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyBuZXdlciB0aGFuIDx0aW1lPiIpLAogCQkgIFBBUlNFX09QVF9PUFRBUkcsIG9wdGlvbl9wYXJzZV91bnBhY2tfdW5yZWFjaGFibGUgfSwKKwkJT1BUX0JPT0woMCwgInNwYXJzZSIsICZzcGFyc2UsCisJCQkgTl8oInVzZSB0aGUgc3BhcnNlIHJlYWNoYWJpbGl0eSBhbGdvcml0aG0iKSksCiAJCU9QVF9CT09MKDAsICJ0aGluIiwgJnRoaW4sCiAJCQkgTl8oImNyZWF0ZSB0aGluIHBhY2tzIikpLAogCQlPUFRfQk9PTCgwLCAic2hhbGxvdyIsICZzaGFsbG93LApAQCAtMzMwNiw4ICszNDQ2LDEzIEBACiAJCQkgICAgTl8oImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIiksIDApLAogCQlPUFRfQk9PTCgwLCAidXNlLWJpdG1hcC1pbmRleCIsICZ1c2VfYml0bWFwX2luZGV4LAogCQkJIE5fKCJ1c2UgYSBiaXRtYXAgaW5kZXggaWYgYXZhaWxhYmxlIHRvIHNwZWVkIHVwIGNvdW50aW5nIG9iamVjdHMiKSksCi0JCU9QVF9CT09MKDAsICJ3cml0ZS1iaXRtYXAtaW5kZXgiLCAmd3JpdGVfYml0bWFwX2luZGV4LAotCQkJIE5fKCJ3cml0ZSBhIGJpdG1hcCBpbmRleCB0b2dldGhlciB3aXRoIHRoZSBwYWNrIGluZGV4IikpLAorCQlPUFRfU0VUX0lOVCgwLCAid3JpdGUtYml0bWFwLWluZGV4IiwgJndyaXRlX2JpdG1hcF9pbmRleCwKKwkJCSAgICBOXygid3JpdGUgYSBiaXRtYXAgaW5kZXggdG9nZXRoZXIgd2l0aCB0aGUgcGFjayBpbmRleCIpLAorCQkJICAgIFdSSVRFX0JJVE1BUF9UUlVFKSwKKwkJT1BUX1NFVF9JTlRfRigwLCAid3JpdGUtYml0bWFwLWluZGV4LXF1aWV0IiwKKwkJCSAgICAgICZ3cml0ZV9iaXRtYXBfaW5kZXgsCisJCQkgICAgICBOXygid3JpdGUgYSBiaXRtYXAgaW5kZXggaWYgcG9zc2libGUiKSwKKwkJCSAgICAgIFdSSVRFX0JJVE1BUF9RVUlFVCwgUEFSU0VfT1BUX0hJRERFTiksCiAJCU9QVF9QQVJTRV9MSVNUX09CSkVDVFNfRklMVEVSKCZmaWx0ZXJfb3B0aW9ucyksCiAJCXsgT1BUSU9OX0NBTExCQUNLLCAwLCAibWlzc2luZyIsIE5VTEwsIE5fKCJhY3Rpb24iKSwKIAkJICBOXygiaGFuZGxpbmcgZm9yIG1pc3Npbmcgb2JqZWN0cyIpLCBQQVJTRV9PUFRfTk9ORUcsCkBAIC0zMzI0LDYgKzM0NjksMTEgQEAKIAogCXJlYWRfcmVwbGFjZV9yZWZzID0gMDsKIAorCXNwYXJzZSA9IGdpdF9lbnZfYm9vbCgiR0lUX1RFU1RfUEFDS19TUEFSU0UiLCAwKTsKKwlwcmVwYXJlX3JlcG9fc2V0dGluZ3ModGhlX3JlcG9zaXRvcnkpOworCWlmICghc3BhcnNlICYmIHRoZV9yZXBvc2l0b3J5LT5zZXR0aW5ncy5wYWNrX3VzZV9zcGFyc2UgIT0gLTEpCisJCXNwYXJzZSA9IHRoZV9yZXBvc2l0b3J5LT5zZXR0aW5ncy5wYWNrX3VzZV9zcGFyc2U7CisKIAlyZXNldF9wYWNrX2lkeF9vcHRpb24oJnBhY2tfaWR4X29wdHMpOwogCWdpdF9jb25maWcoZ2l0X3BhY2tfY29uZmlnLCBOVUxMKTsKIApAQCAtMzQxNSw3ICszNTY1LDYgQEAKIAlpZiAoZmlsdGVyX29wdGlvbnMuY2hvaWNlKSB7CiAJCWlmICghcGFja190b19zdGRvdXQpCiAJCQlkaWUoXygiY2Fubm90IHVzZSAtLWZpbHRlciB3aXRob3V0IC0tc3Rkb3V0IikpOwotCQl1c2VfYml0bWFwX2luZGV4ID0gMDsKIAl9CiAKIAkvKgpAQCAtMzQ3MCw3ICszNjE5LDkgQEAKIAkJfQogCX0KIAotCXByZXBhcmVfcGFja2luZ19kYXRhKCZ0b19wYWNrKTsKKwl0cmFjZTJfcmVnaW9uX2VudGVyKCJwYWNrLW9iamVjdHMiLCAiZW51bWVyYXRlLW9iamVjdHMiLAorCQkJICAgIHRoZV9yZXBvc2l0b3J5KTsKKwlwcmVwYXJlX3BhY2tpbmdfZGF0YSh0aGVfcmVwb3NpdG9yeSwgJnRvX3BhY2spOwogCiAJaWYgKHByb2dyZXNzKQogCQlwcm9ncmVzc19zdGF0ZSA9IHN0YXJ0X3Byb2dyZXNzKF8oIkVudW1lcmF0aW5nIG9iamVjdHMiKSwgMCk7CkBAIC0zNDg0LDE2ICszNjM1LDI5IEBACiAJaWYgKGluY2x1ZGVfdGFnICYmIG5yX3Jlc3VsdCkKIAkJZm9yX2VhY2hfcmVmKGFkZF9yZWZfdGFnLCBOVUxMKTsKIAlzdG9wX3Byb2dyZXNzKCZwcm9ncmVzc19zdGF0ZSk7CisJdHJhY2UyX3JlZ2lvbl9sZWF2ZSgicGFjay1vYmplY3RzIiwgImVudW1lcmF0ZS1vYmplY3RzIiwKKwkJCSAgICB0aGVfcmVwb3NpdG9yeSk7CiAKIAlpZiAobm9uX2VtcHR5ICYmICFucl9yZXN1bHQpCiAJCXJldHVybiAwOwotCWlmIChucl9yZXN1bHQpCisJaWYgKG5yX3Jlc3VsdCkgeworCQl0cmFjZTJfcmVnaW9uX2VudGVyKCJwYWNrLW9iamVjdHMiLCAicHJlcGFyZS1wYWNrIiwKKwkJCQkgICAgdGhlX3JlcG9zaXRvcnkpOwogCQlwcmVwYXJlX3BhY2sod2luZG93LCBkZXB0aCk7CisJCXRyYWNlMl9yZWdpb25fbGVhdmUoInBhY2stb2JqZWN0cyIsICJwcmVwYXJlLXBhY2siLAorCQkJCSAgICB0aGVfcmVwb3NpdG9yeSk7CisJfQorCisJdHJhY2UyX3JlZ2lvbl9lbnRlcigicGFjay1vYmplY3RzIiwgIndyaXRlLXBhY2stZmlsZSIsIHRoZV9yZXBvc2l0b3J5KTsKIAl3cml0ZV9wYWNrX2ZpbGUoKTsKKwl0cmFjZTJfcmVnaW9uX2xlYXZlKCJwYWNrLW9iamVjdHMiLCAid3JpdGUtcGFjay1maWxlIiwgdGhlX3JlcG9zaXRvcnkpOworCiAJaWYgKHByb2dyZXNzKQogCQlmcHJpbnRmX2xuKHN0ZGVyciwKIAkJCSAgIF8oIlRvdGFsICUiUFJJdTMyIiAoZGVsdGEgJSJQUkl1MzIiKSwiCi0JCQkgICAgICIgcmV1c2VkICUiUFJJdTMyIiAoZGVsdGEgJSJQUkl1MzIiKSIpLAotCQkJICAgd3JpdHRlbiwgd3JpdHRlbl9kZWx0YSwgcmV1c2VkLCByZXVzZWRfZGVsdGEpOworCQkJICAgICAiIHJldXNlZCAlIlBSSXUzMiIgKGRlbHRhICUiUFJJdTMyIiksIgorCQkJICAgICAiIHBhY2stcmV1c2VkICUiUFJJdTMyKSwKKwkJCSAgIHdyaXR0ZW4sIHdyaXR0ZW5fZGVsdGEsIHJldXNlZCwgcmV1c2VkX2RlbHRhLAorCQkJICAgcmV1c2VfcGFja2ZpbGVfb2JqZWN0cyk7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9idWlsdGluL3BhY2stcmVkdW5kYW50LmMgYi9idWlsdGluL3BhY2stcmVkdW5kYW50LmMKaW5kZXggY2Y5YTlhYS4uMTc4ZTM0MCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9wYWNrLXJlZHVuZGFudC5jCisrKyBiL2J1aWx0aW4vcGFjay1yZWR1bmRhbnQuYwpAQCAtMzIsMTQgKzMyLDEwIEBACiAJc3RydWN0IHBhY2tfbGlzdCAqbmV4dDsKIAlzdHJ1Y3QgcGFja2VkX2dpdCAqcGFjazsKIAlzdHJ1Y3QgbGxpc3QgKnVuaXF1ZV9vYmplY3RzOwotCXN0cnVjdCBsbGlzdCAqYWxsX29iamVjdHM7CisJc3RydWN0IGxsaXN0ICpyZW1haW5pbmdfb2JqZWN0czsKKwlzaXplX3QgYWxsX29iamVjdHNfc2l6ZTsKIH0gKmxvY2FsX3BhY2tzID0gTlVMTCwgKmFsdG9kYl9wYWNrcyA9IE5VTEw7CiAKLXN0cnVjdCBwbGwgewotCXN0cnVjdCBwbGwgKm5leHQ7Ci0Jc3RydWN0IHBhY2tfbGlzdCAqcGw7Ci19OwotCiBzdGF0aWMgc3RydWN0IGxsaXN0X2l0ZW0gKmZyZWVfbm9kZXM7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBsbGlzdF9pdGVtX3B1dChzdHJ1Y3QgbGxpc3RfaXRlbSAqaXRlbSkKQEAgLTYzLDE1ICs1OSw2IEBACiAJcmV0dXJuIG5ld19pdGVtOwogfQogCi1zdGF0aWMgdm9pZCBsbGlzdF9mcmVlKHN0cnVjdCBsbGlzdCAqbGlzdCkKLXsKLQl3aGlsZSAoKGxpc3QtPmJhY2sgPSBsaXN0LT5mcm9udCkpIHsKLQkJbGlzdC0+ZnJvbnQgPSBsaXN0LT5mcm9udC0+bmV4dDsKLQkJbGxpc3RfaXRlbV9wdXQobGlzdC0+YmFjayk7Ci0JfQotCWZyZWUobGlzdCk7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgdm9pZCBsbGlzdF9pbml0KHN0cnVjdCBsbGlzdCAqKmxpc3QpCiB7CiAJKmxpc3QgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgbGxpc3QpKTsKQEAgLTE2Niw3ICsxNTMsNyBAQAogCWwgPSAoaGludCA9PSBOVUxMKSA/IGxpc3QtPmZyb250IDogaGludDsKIAlwcmV2ID0gTlVMTDsKIAl3aGlsZSAobCkgewotCQlpbnQgY21wID0gb2lkY21wKGwtPm9pZCwgb2lkKTsKKwkJY29uc3QgaW50IGNtcCA9IG9pZGNtcChsLT5vaWQsIG9pZCk7CiAJCWlmIChjbXAgPiAwKSAvKiBub3QgaW4gbGlzdCwgc2luY2Ugc29ydGVkICovCiAJCQlyZXR1cm4gcHJldjsKIAkJaWYgKCFjbXApIHsgLyogZm91bmQgKi8KQEAgLTI1NCw2ICsyNDEsMTEgQEAKIAlzdHJ1Y3QgbGxpc3RfaXRlbSAqcDFfaGludCA9IE5VTEwsICpwMl9oaW50ID0gTlVMTDsKIAljb25zdCB1bnNpZ25lZCBpbnQgaGFzaHN6ID0gdGhlX2hhc2hfYWxnby0+cmF3c3o7CiAKKwlpZiAoIXAxLT51bmlxdWVfb2JqZWN0cykKKwkJcDEtPnVuaXF1ZV9vYmplY3RzID0gbGxpc3RfY29weShwMS0+cmVtYWluaW5nX29iamVjdHMpOworCWlmICghcDItPnVuaXF1ZV9vYmplY3RzKQorCQlwMi0+dW5pcXVlX29iamVjdHMgPSBsbGlzdF9jb3B5KHAyLT5yZW1haW5pbmdfb2JqZWN0cyk7CisKIAlwMV9iYXNlID0gcDEtPnBhY2stPmluZGV4X2RhdGE7CiAJcDJfYmFzZSA9IHAyLT5wYWNrLT5pbmRleF9kYXRhOwogCXAxX2Jhc2UgKz0gMjU2ICogNCArICgocDEtPnBhY2stPmluZGV4X3ZlcnNpb24gPCAyKSA/IDQgOiA4KTsKQEAgLTI2NCw3ICsyNTYsNyBAQAogCXdoaWxlIChwMV9vZmYgPCBwMS0+cGFjay0+bnVtX29iamVjdHMgKiBwMV9zdGVwICYmCiAJICAgICAgIHAyX29mZiA8IHAyLT5wYWNrLT5udW1fb2JqZWN0cyAqIHAyX3N0ZXApCiAJewotCQlpbnQgY21wID0gaGFzaGNtcChwMV9iYXNlICsgcDFfb2ZmLCBwMl9iYXNlICsgcDJfb2ZmKTsKKwkJY29uc3QgaW50IGNtcCA9IGhhc2hjbXAocDFfYmFzZSArIHAxX29mZiwgcDJfYmFzZSArIHAyX29mZik7CiAJCS8qIGNtcCB+IHAxIC0gcDIgKi8KIAkJaWYgKGNtcCA9PSAwKSB7CiAJCQlwMV9oaW50ID0gbGxpc3Rfc29ydGVkX3JlbW92ZShwMS0+dW5pcXVlX29iamVjdHMsCkBAIC0yODUsNzggKzI3Nyw2IEBACiAJfQogfQogCi1zdGF0aWMgdm9pZCBwbGxfZnJlZShzdHJ1Y3QgcGxsICpsKQotewotCXN0cnVjdCBwbGwgKm9sZDsKLQlzdHJ1Y3QgcGFja19saXN0ICpvcGw7Ci0KLQl3aGlsZSAobCkgewotCQlvbGQgPSBsOwotCQl3aGlsZSAobC0+cGwpIHsKLQkJCW9wbCA9IGwtPnBsOwotCQkJbC0+cGwgPSBvcGwtPm5leHQ7Ci0JCQlmcmVlKG9wbCk7Ci0JCX0KLQkJbCA9IGwtPm5leHQ7Ci0JCWZyZWUob2xkKTsKLQl9Ci19Ci0KLS8qIGFsbCB0aGUgcGVybXV0YXRpb25zIGhhdmUgdG8gYmUgZnJlZSgpZCBhdCB0aGUgc2FtZSB0aW1lLAotICogc2luY2UgdGhleSByZWZlciB0byBlYWNoIG90aGVyCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgcGxsICogZ2V0X3Blcm11dGF0aW9ucyhzdHJ1Y3QgcGFja19saXN0ICpsaXN0LCBpbnQgbikKLXsKLQlzdHJ1Y3QgcGxsICpzdWJzZXQsICpyZXQgPSBOVUxMLCAqbmV3X3BsbCA9IE5VTEw7Ci0KLQlpZiAobGlzdCA9PSBOVUxMIHx8IHBhY2tfbGlzdF9zaXplKGxpc3QpIDwgbiB8fCBuID09IDApCi0JCXJldHVybiBOVUxMOwotCi0JaWYgKG4gPT0gMSkgewotCQl3aGlsZSAobGlzdCkgewotCQkJbmV3X3BsbCA9IHhtYWxsb2Moc2l6ZW9mKCpuZXdfcGxsKSk7Ci0JCQluZXdfcGxsLT5wbCA9IE5VTEw7Ci0JCQlwYWNrX2xpc3RfaW5zZXJ0KCZuZXdfcGxsLT5wbCwgbGlzdCk7Ci0JCQluZXdfcGxsLT5uZXh0ID0gcmV0OwotCQkJcmV0ID0gbmV3X3BsbDsKLQkJCWxpc3QgPSBsaXN0LT5uZXh0OwotCQl9Ci0JCXJldHVybiByZXQ7Ci0JfQotCi0Jd2hpbGUgKGxpc3QtPm5leHQpIHsKLQkJc3Vic2V0ID0gZ2V0X3Blcm11dGF0aW9ucyhsaXN0LT5uZXh0LCBuIC0gMSk7Ci0JCXdoaWxlIChzdWJzZXQpIHsKLQkJCW5ld19wbGwgPSB4bWFsbG9jKHNpemVvZigqbmV3X3BsbCkpOwotCQkJbmV3X3BsbC0+cGwgPSBzdWJzZXQtPnBsOwotCQkJcGFja19saXN0X2luc2VydCgmbmV3X3BsbC0+cGwsIGxpc3QpOwotCQkJbmV3X3BsbC0+bmV4dCA9IHJldDsKLQkJCXJldCA9IG5ld19wbGw7Ci0JCQlzdWJzZXQgPSBzdWJzZXQtPm5leHQ7Ci0JCX0KLQkJbGlzdCA9IGxpc3QtPm5leHQ7Ci0JfQotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbnQgaXNfc3VwZXJzZXQoc3RydWN0IHBhY2tfbGlzdCAqcGwsIHN0cnVjdCBsbGlzdCAqbGlzdCkKLXsKLQlzdHJ1Y3QgbGxpc3QgKmRpZmY7Ci0KLQlkaWZmID0gbGxpc3RfY29weShsaXN0KTsKLQotCXdoaWxlIChwbCkgewotCQlsbGlzdF9zb3J0ZWRfZGlmZmVyZW5jZV9pbnBsYWNlKGRpZmYsIHBsLT5hbGxfb2JqZWN0cyk7Ci0JCWlmIChkaWZmLT5zaXplID09IDApIHsgLyogd2UncmUgZG9uZSAqLwotCQkJbGxpc3RfZnJlZShkaWZmKTsKLQkJCXJldHVybiAxOwotCQl9Ci0JCXBsID0gcGwtPm5leHQ7Ci0JfQotCWxsaXN0X2ZyZWUoZGlmZik7Ci0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBzaXplX3Qgc2l6ZW9mX3VuaW9uKHN0cnVjdCBwYWNrZWRfZ2l0ICpwMSwgc3RydWN0IHBhY2tlZF9naXQgKnAyKQogewogCXNpemVfdCByZXQgPSAwOwpAQCAtNDIxLDE0ICszNDEsNTggQEAKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgaW50IGNtcF9yZW1haW5pbmdfb2JqZWN0cyhjb25zdCB2b2lkICphLCBjb25zdCB2b2lkICpiKQoreworCXN0cnVjdCBwYWNrX2xpc3QgKnBsX2EgPSAqKChzdHJ1Y3QgcGFja19saXN0ICoqKWEpOworCXN0cnVjdCBwYWNrX2xpc3QgKnBsX2IgPSAqKChzdHJ1Y3QgcGFja19saXN0ICoqKWIpOworCisJaWYgKHBsX2EtPnJlbWFpbmluZ19vYmplY3RzLT5zaXplID09IHBsX2ItPnJlbWFpbmluZ19vYmplY3RzLT5zaXplKSB7CisJCS8qIGhhdmUgdGhlIHNhbWUgcmVtYWluaW5nX29iamVjdHMsIGJpZyBwYWNrIGZpcnN0ICovCisJCWlmIChwbF9hLT5hbGxfb2JqZWN0c19zaXplID09IHBsX2ItPmFsbF9vYmplY3RzX3NpemUpCisJCQlyZXR1cm4gMDsKKwkJZWxzZSBpZiAocGxfYS0+YWxsX29iamVjdHNfc2l6ZSA8IHBsX2ItPmFsbF9vYmplY3RzX3NpemUpCisJCQlyZXR1cm4gMTsKKwkJZWxzZQorCQkJcmV0dXJuIC0xOworCX0gZWxzZSBpZiAocGxfYS0+cmVtYWluaW5nX29iamVjdHMtPnNpemUgPCBwbF9iLT5yZW1haW5pbmdfb2JqZWN0cy0+c2l6ZSkgeworCQkvKiBzb3J0IGJ5IHJlbWFpbmluZyBvYmplY3RzLCBtb3JlIG9iamVjdHMgZmlyc3QgKi8KKwkJcmV0dXJuIDE7CisJfSBlbHNlIHsKKwkJcmV0dXJuIC0xOworCX0KK30KKworLyogU29ydCBwYWNrX2xpc3QsIGdyZWF0ZXIgc2l6ZSBvZiByZW1haW5pbmdfb2JqZWN0cyBmaXJzdCAqLworc3RhdGljIHZvaWQgc29ydF9wYWNrX2xpc3Qoc3RydWN0IHBhY2tfbGlzdCAqKnBsKQoreworCXN0cnVjdCBwYWNrX2xpc3QgKiphcnksICpwOworCWludCBpOworCXNpemVfdCBuID0gcGFja19saXN0X3NpemUoKnBsKTsKKworCWlmIChuIDwgMikKKwkJcmV0dXJuOworCisJLyogcHJlcGFyZSBhbiBhcnJheSBvZiBwYWNrZWRfbGlzdCBmb3IgZWFzaWVyIHNvcnRpbmcgKi8KKwlhcnkgPSB4Y2FsbG9jKG4sIHNpemVvZihzdHJ1Y3QgcGFja19saXN0ICopKTsKKwlmb3IgKG4gPSAwLCBwID0gKnBsOyBwOyBwID0gcC0+bmV4dCkKKwkJYXJ5W24rK10gPSBwOworCisJUVNPUlQoYXJ5LCBuLCBjbXBfcmVtYWluaW5nX29iamVjdHMpOworCisJLyogbGluayB0aGVtIGJhY2sgYWdhaW4gKi8KKwlmb3IgKGkgPSAwOyBpIDwgbiAtIDE7IGkrKykKKwkJYXJ5W2ldLT5uZXh0ID0gYXJ5W2kgKyAxXTsKKwlhcnlbbiAtIDFdLT5uZXh0ID0gTlVMTDsKKwkqcGwgPSBhcnlbMF07CisKKwlmcmVlKGFyeSk7Cit9CisKKwogc3RhdGljIHZvaWQgbWluaW1pemUoc3RydWN0IHBhY2tfbGlzdCAqKm1pbikKIHsKLQlzdHJ1Y3QgcGFja19saXN0ICpwbCwgKnVuaXF1ZSA9IE5VTEwsCi0JCSpub25fdW5pcXVlID0gTlVMTCwgKm1pbl9wZXJtID0gTlVMTDsKLQlzdHJ1Y3QgcGxsICpwZXJtLCAqcGVybV9hbGwsICpwZXJtX29rID0gTlVMTCwgKm5ld19wZXJtOwotCXN0cnVjdCBsbGlzdCAqbWlzc2luZzsKLQlvZmZfdCBtaW5fcGVybV9zaXplID0gMCwgcGVybV9zaXplOwotCWludCBuOworCXN0cnVjdCBwYWNrX2xpc3QgKnBsLCAqdW5pcXVlID0gTlVMTCwgKm5vbl91bmlxdWUgPSBOVUxMOworCXN0cnVjdCBsbGlzdCAqbWlzc2luZywgKnVuaXF1ZV9wYWNrX29iamVjdHM7CiAKIAlwbCA9IGxvY2FsX3BhY2tzOwogCXdoaWxlIChwbCkgewpAQCAtNDQyLDUzICs0MDYsNDEgQEAKIAltaXNzaW5nID0gbGxpc3RfY29weShhbGxfb2JqZWN0cyk7CiAJcGwgPSB1bmlxdWU7CiAJd2hpbGUgKHBsKSB7Ci0JCWxsaXN0X3NvcnRlZF9kaWZmZXJlbmNlX2lucGxhY2UobWlzc2luZywgcGwtPmFsbF9vYmplY3RzKTsKKwkJbGxpc3Rfc29ydGVkX2RpZmZlcmVuY2VfaW5wbGFjZShtaXNzaW5nLCBwbC0+cmVtYWluaW5nX29iamVjdHMpOwogCQlwbCA9IHBsLT5uZXh0OwogCX0KIAorCSptaW4gPSB1bmlxdWU7CisKIAkvKiByZXR1cm4gaWYgdGhlcmUgYXJlIG5vIG9iamVjdHMgbWlzc2luZyBmcm9tIHRoZSB1bmlxdWUgc2V0ICovCiAJaWYgKG1pc3NpbmctPnNpemUgPT0gMCkgewotCQkqbWluID0gdW5pcXVlOwogCQlmcmVlKG1pc3NpbmcpOwogCQlyZXR1cm47CiAJfQogCi0JLyogZmluZCB0aGUgcGVybXV0YXRpb25zIHdoaWNoIGNvbnRhaW4gYWxsIG1pc3Npbmcgb2JqZWN0cyAqLwotCWZvciAobiA9IDE7IG4gPD0gcGFja19saXN0X3NpemUobm9uX3VuaXF1ZSkgJiYgIXBlcm1fb2s7IG4rKykgewotCQlwZXJtX2FsbCA9IHBlcm0gPSBnZXRfcGVybXV0YXRpb25zKG5vbl91bmlxdWUsIG4pOwotCQl3aGlsZSAocGVybSkgewotCQkJaWYgKGlzX3N1cGVyc2V0KHBlcm0tPnBsLCBtaXNzaW5nKSkgewotCQkJCW5ld19wZXJtID0geG1hbGxvYyhzaXplb2Yoc3RydWN0IHBsbCkpOwotCQkJCW1lbWNweShuZXdfcGVybSwgcGVybSwgc2l6ZW9mKHN0cnVjdCBwbGwpKTsKLQkJCQluZXdfcGVybS0+bmV4dCA9IHBlcm1fb2s7Ci0JCQkJcGVybV9vayA9IG5ld19wZXJtOwotCQkJfQotCQkJcGVybSA9IHBlcm0tPm5leHQ7Ci0JCX0KLQkJaWYgKHBlcm1fb2spCi0JCQlicmVhazsKLQkJcGxsX2ZyZWUocGVybV9hbGwpOwotCX0KLQlpZiAocGVybV9vayA9PSBOVUxMKQotCQlkaWUoIkludGVybmFsIGVycm9yOiBObyBjb21wbGV0ZSBzZXRzIGZvdW5kISIpOworCXVuaXF1ZV9wYWNrX29iamVjdHMgPSBsbGlzdF9jb3B5KGFsbF9vYmplY3RzKTsKKwlsbGlzdF9zb3J0ZWRfZGlmZmVyZW5jZV9pbnBsYWNlKHVuaXF1ZV9wYWNrX29iamVjdHMsIG1pc3NpbmcpOwogCi0JLyogZmluZCB0aGUgcGVybXV0YXRpb24gd2l0aCB0aGUgc21hbGxlc3Qgc2l6ZSAqLwotCXBlcm0gPSBwZXJtX29rOwotCXdoaWxlIChwZXJtKSB7Ci0JCXBlcm1fc2l6ZSA9IHBhY2tfc2V0X2J5dGVjb3VudChwZXJtLT5wbCk7Ci0JCWlmICghbWluX3Blcm1fc2l6ZSB8fCBtaW5fcGVybV9zaXplID4gcGVybV9zaXplKSB7Ci0JCQltaW5fcGVybV9zaXplID0gcGVybV9zaXplOwotCQkJbWluX3Blcm0gPSBwZXJtLT5wbDsKLQkJfQotCQlwZXJtID0gcGVybS0+bmV4dDsKLQl9Ci0JKm1pbiA9IG1pbl9wZXJtOwotCS8qIGFkZCB0aGUgdW5pcXVlIHBhY2tzIHRvIHRoZSBsaXN0ICovCi0JcGwgPSB1bmlxdWU7CisJLyogcmVtb3ZlIHVuaXF1ZSBwYWNrIG9iamVjdHMgZnJvbSB0aGUgbm9uX3VuaXF1ZSBwYWNrcyAqLworCXBsID0gbm9uX3VuaXF1ZTsKIAl3aGlsZSAocGwpIHsKLQkJcGFja19saXN0X2luc2VydChtaW4sIHBsKTsKKwkJbGxpc3Rfc29ydGVkX2RpZmZlcmVuY2VfaW5wbGFjZShwbC0+cmVtYWluaW5nX29iamVjdHMsIHVuaXF1ZV9wYWNrX29iamVjdHMpOwogCQlwbCA9IHBsLT5uZXh0OwogCX0KKworCXdoaWxlIChub25fdW5pcXVlKSB7CisJCS8qIHNvcnQgdGhlIG5vbl91bmlxdWUgcGFja3MsIGdyZWF0ZXIgc2l6ZSBvZiByZW1haW5pbmdfb2JqZWN0cyBmaXJzdCAqLworCQlzb3J0X3BhY2tfbGlzdCgmbm9uX3VuaXF1ZSk7CisJCWlmIChub25fdW5pcXVlLT5yZW1haW5pbmdfb2JqZWN0cy0+c2l6ZSA9PSAwKQorCQkJYnJlYWs7CisKKwkJcGFja19saXN0X2luc2VydChtaW4sIG5vbl91bmlxdWUpOworCisJCWZvciAocGwgPSBub25fdW5pcXVlLT5uZXh0OyBwbCAmJiBwbC0+cmVtYWluaW5nX29iamVjdHMtPnNpemUgPiAwOyAgcGwgPSBwbC0+bmV4dCkKKwkJCWxsaXN0X3NvcnRlZF9kaWZmZXJlbmNlX2lucGxhY2UocGwtPnJlbWFpbmluZ19vYmplY3RzLCBub25fdW5pcXVlLT5yZW1haW5pbmdfb2JqZWN0cyk7CisKKwkJbm9uX3VuaXF1ZSA9IG5vbl91bmlxdWUtPm5leHQ7CisJfQogfQogCiBzdGF0aWMgdm9pZCBsb2FkX2FsbF9vYmplY3RzKHZvaWQpCkBAIC01MDAsNyArNDUyLDcgQEAKIAogCXdoaWxlIChwbCkgewogCQloaW50ID0gTlVMTDsKLQkJbCA9IHBsLT5hbGxfb2JqZWN0cy0+ZnJvbnQ7CisJCWwgPSBwbC0+cmVtYWluaW5nX29iamVjdHMtPmZyb250OwogCQl3aGlsZSAobCkgewogCQkJaGludCA9IGxsaXN0X2luc2VydF9zb3J0ZWRfdW5pcXVlKGFsbF9vYmplY3RzLAogCQkJCQkJCSAgbC0+b2lkLCBoaW50KTsKQEAgLTUxMSw3ICs0NjMsNyBAQAogCS8qIHJlbW92ZSBvYmplY3RzIHByZXNlbnQgaW4gcmVtb3RlIHBhY2tzICovCiAJcGwgPSBhbHRvZGJfcGFja3M7CiAJd2hpbGUgKHBsKSB7Ci0JCWxsaXN0X3NvcnRlZF9kaWZmZXJlbmNlX2lucGxhY2UoYWxsX29iamVjdHMsIHBsLT5hbGxfb2JqZWN0cyk7CisJCWxsaXN0X3NvcnRlZF9kaWZmZXJlbmNlX2lucGxhY2UoYWxsX29iamVjdHMsIHBsLT5yZW1haW5pbmdfb2JqZWN0cyk7CiAJCXBsID0gcGwtPm5leHQ7CiAJfQogfQpAQCAtNTM2LDExICs0ODgsMTAgQEAKIAl3aGlsZSAoYWx0KSB7CiAJCWxvY2FsID0gbG9jYWxfcGFja3M7CiAJCXdoaWxlIChsb2NhbCkgewotCQkJbGxpc3Rfc29ydGVkX2RpZmZlcmVuY2VfaW5wbGFjZShsb2NhbC0+dW5pcXVlX29iamVjdHMsCi0JCQkJCQkJYWx0LT5hbGxfb2JqZWN0cyk7CisJCQlsbGlzdF9zb3J0ZWRfZGlmZmVyZW5jZV9pbnBsYWNlKGxvY2FsLT5yZW1haW5pbmdfb2JqZWN0cywKKwkJCQkJCQlhbHQtPnJlbWFpbmluZ19vYmplY3RzKTsKIAkJCWxvY2FsID0gbG9jYWwtPm5leHQ7CiAJCX0KLQkJbGxpc3Rfc29ydGVkX2RpZmZlcmVuY2VfaW5wbGFjZShhbGxfb2JqZWN0cywgYWx0LT5hbGxfb2JqZWN0cyk7CiAJCWFsdCA9IGFsdC0+bmV4dDsKIAl9CiB9CkBAIC01NTUsNyArNTA2LDcgQEAKIAkJcmV0dXJuIE5VTEw7CiAKIAlsLnBhY2sgPSBwOwotCWxsaXN0X2luaXQoJmwuYWxsX29iamVjdHMpOworCWxsaXN0X2luaXQoJmwucmVtYWluaW5nX29iamVjdHMpOwogCiAJaWYgKG9wZW5fcGFja19pbmRleChwKSkKIAkJcmV0dXJuIE5VTEw7CkBAIC01NjQsMTEgKzUxNSwxMSBAQAogCWJhc2UgKz0gMjU2ICogNCArICgocC0+aW5kZXhfdmVyc2lvbiA8IDIpID8gNCA6IDgpOwogCXN0ZXAgPSB0aGVfaGFzaF9hbGdvLT5yYXdzeiArICgocC0+aW5kZXhfdmVyc2lvbiA8IDIpID8gNCA6IDApOwogCXdoaWxlIChvZmYgPCBwLT5udW1fb2JqZWN0cyAqIHN0ZXApIHsKLQkJbGxpc3RfaW5zZXJ0X2JhY2sobC5hbGxfb2JqZWN0cywgKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKikoYmFzZSArIG9mZikpOworCQlsbGlzdF9pbnNlcnRfYmFjayhsLnJlbWFpbmluZ19vYmplY3RzLCAoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqKShiYXNlICsgb2ZmKSk7CiAJCW9mZiArPSBzdGVwOwogCX0KLQkvKiB0aGlzIGxpc3Qgd2lsbCBiZSBwcnVuZWQgaW4gY21wX3R3b19wYWNrcyBsYXRlciAqLwotCWwudW5pcXVlX29iamVjdHMgPSBsbGlzdF9jb3B5KGwuYWxsX29iamVjdHMpOworCWwuYWxsX29iamVjdHNfc2l6ZSA9IGwucmVtYWluaW5nX29iamVjdHMtPnNpemU7CisJbC51bmlxdWVfb2JqZWN0cyA9IE5VTEw7CiAJaWYgKHAtPnBhY2tfbG9jYWwpCiAJCXJldHVybiBwYWNrX2xpc3RfaW5zZXJ0KCZsb2NhbF9wYWNrcywgJmwpOwogCWVsc2UKQEAgLTYwMyw3ICs1NTQsNyBAQAogaW50IGNtZF9wYWNrX3JlZHVuZGFudChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKIAlpbnQgaTsKLQlzdHJ1Y3QgcGFja19saXN0ICptaW4sICpyZWQsICpwbDsKKwlzdHJ1Y3QgcGFja19saXN0ICptaW4gPSBOVUxMLCAqcmVkLCAqcGw7CiAJc3RydWN0IGxsaXN0ICppZ25vcmU7CiAJc3RydWN0IG9iamVjdF9pZCAqb2lkOwogCWNoYXIgYnVmW0dJVF9NQVhfSEVYU1ogKyAyXTsgLyogaGV4IGhhc2ggKyBcbiArIFwwICovCkBAIC02NDYsNyArNTk3LDYgQEAKIAogCWxvYWRfYWxsX29iamVjdHMoKTsKIAotCWNtcF9sb2NhbF9wYWNrcygpOwogCWlmIChhbHRfb2RiKQogCQlzY2FuX2FsdF9vZGJfcGFja3MoKTsKIApAQCAtNjYzLDEwICs2MTMsMTIgQEAKIAlsbGlzdF9zb3J0ZWRfZGlmZmVyZW5jZV9pbnBsYWNlKGFsbF9vYmplY3RzLCBpZ25vcmUpOwogCXBsID0gbG9jYWxfcGFja3M7CiAJd2hpbGUgKHBsKSB7Ci0JCWxsaXN0X3NvcnRlZF9kaWZmZXJlbmNlX2lucGxhY2UocGwtPnVuaXF1ZV9vYmplY3RzLCBpZ25vcmUpOworCQlsbGlzdF9zb3J0ZWRfZGlmZmVyZW5jZV9pbnBsYWNlKHBsLT5yZW1haW5pbmdfb2JqZWN0cywgaWdub3JlKTsKIAkJcGwgPSBwbC0+bmV4dDsKIAl9CiAKKwljbXBfbG9jYWxfcGFja3MoKTsKKwogCW1pbmltaXplKCZtaW4pOwogCiAJaWYgKHZlcmJvc2UpIHsKQEAgLTY4OSw3ICs2NDEsNyBAQAogCXBsID0gcmVkID0gcGFja19saXN0X2RpZmZlcmVuY2UobG9jYWxfcGFja3MsIG1pbik7CiAJd2hpbGUgKHBsKSB7CiAJCXByaW50ZigiJXNcbiVzXG4iLAotCQkgICAgICAgc2hhMV9wYWNrX2luZGV4X25hbWUocGwtPnBhY2stPnNoYTEpLAorCQkgICAgICAgc2hhMV9wYWNrX2luZGV4X25hbWUocGwtPnBhY2stPmhhc2gpLAogCQkgICAgICAgcGwtPnBhY2stPnBhY2tfbmFtZSk7CiAJCXBsID0gcGwtPm5leHQ7CiAJfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9wYWNrLXJlZnMuYyBiL2J1aWx0aW4vcGFjay1yZWZzLmMKaW5kZXggZjMzNTM1Ni4uY2ZiZDVjMyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9wYWNrLXJlZnMuYworKysgYi9idWlsdGluL3BhY2stcmVmcy5jCkBAIC0xLDQgKzEsNSBAQAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKKyNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCiAjaW5jbHVkZSAicmVmcy5oIgogI2luY2x1ZGUgInJlcG9zaXRvcnkuaCIKQEAgLTE2LDYgKzE3LDcgQEAKIAkJT1BUX0JJVCgwLCAicHJ1bmUiLCAmZmxhZ3MsIE5fKCJwcnVuZSBsb29zZSByZWZzIChkZWZhdWx0KSIpLCBQQUNLX1JFRlNfUFJVTkUpLAogCQlPUFRfRU5EKCksCiAJfTsKKwlnaXRfY29uZmlnKGdpdF9kZWZhdWx0X2NvbmZpZywgTlVMTCk7CiAJaWYgKHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBvcHRzLCBwYWNrX3JlZnNfdXNhZ2UsIDApKQogCQl1c2FnZV93aXRoX29wdGlvbnMocGFja19yZWZzX3VzYWdlLCBvcHRzKTsKIAlyZXR1cm4gcmVmc19wYWNrX3JlZnMoZ2V0X21haW5fcmVmX3N0b3JlKHRoZV9yZXBvc2l0b3J5KSwgZmxhZ3MpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9wYXRjaC1pZC5jIGIvYnVpbHRpbi9wYXRjaC1pZC5jCmluZGV4IDk3MGQwZDMuLjgyMmZmZmYgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcGF0Y2gtaWQuYworKysgYi9idWlsdGluL3BhdGNoLWlkLmMKQEAgLTEsMTUgKzEsMTIgQEAKKyNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJkaWZmLmgiCiAKIHN0YXRpYyB2b2lkIGZsdXNoX2N1cnJlbnRfaWQoaW50IHBhdGNobGVuLCBzdHJ1Y3Qgb2JqZWN0X2lkICppZCwgc3RydWN0IG9iamVjdF9pZCAqcmVzdWx0KQogewotCWNoYXIgbmFtZVs1MF07Ci0KLQlpZiAoIXBhdGNobGVuKQotCQlyZXR1cm47Ci0KLQltZW1jcHkobmFtZSwgb2lkX3RvX2hleChpZCksIEdJVF9TSEExX0hFWFNaICsgMSk7Ci0JcHJpbnRmKCIlcyAlc1xuIiwgb2lkX3RvX2hleChyZXN1bHQpLCBuYW1lKTsKKwlpZiAocGF0Y2hsZW4pCisJCXByaW50ZigiJXMgJXNcbiIsIG9pZF90b19oZXgocmVzdWx0KSwgb2lkX3RvX2hleChpZCkpOwogfQogCiBzdGF0aWMgaW50IHJlbW92ZV9zcGFjZShjaGFyICpsaW5lKQpAQCAtNTQsMzAgKzUxLDE0IEBACiAJcmV0dXJuIDE7CiB9CiAKLXN0YXRpYyB2b2lkIGZsdXNoX29uZV9odW5rKHN0cnVjdCBvYmplY3RfaWQgKnJlc3VsdCwgZ2l0X1NIQV9DVFggKmN0eCkKLXsKLQl1bnNpZ25lZCBjaGFyIGhhc2hbR0lUX01BWF9SQVdTWl07Ci0JdW5zaWduZWQgc2hvcnQgY2FycnkgPSAwOwotCWludCBpOwotCi0JZ2l0X1NIQTFfRmluYWwoaGFzaCwgY3R4KTsKLQlnaXRfU0hBMV9Jbml0KGN0eCk7Ci0JLyogMjAtYnl0ZSBzdW0sIHdpdGggY2FycnkgKi8KLQlmb3IgKGkgPSAwOyBpIDwgR0lUX1NIQTFfUkFXU1o7ICsraSkgewotCQljYXJyeSArPSByZXN1bHQtPmhhc2hbaV0gKyBoYXNoW2ldOwotCQlyZXN1bHQtPmhhc2hbaV0gPSBjYXJyeTsKLQkJY2FycnkgPj49IDg7Ci0JfQotfQotCiBzdGF0aWMgaW50IGdldF9vbmVfcGF0Y2hpZChzdHJ1Y3Qgb2JqZWN0X2lkICpuZXh0X29pZCwgc3RydWN0IG9iamVjdF9pZCAqcmVzdWx0LAogCQkJICAgc3RydWN0IHN0cmJ1ZiAqbGluZV9idWYsIGludCBzdGFibGUpCiB7CiAJaW50IHBhdGNobGVuID0gMCwgZm91bmRfbmV4dCA9IDA7CiAJaW50IGJlZm9yZSA9IC0xLCBhZnRlciA9IC0xOwotCWdpdF9TSEFfQ1RYIGN0eDsKKwlnaXRfaGFzaF9jdHggY3R4OwogCi0JZ2l0X1NIQTFfSW5pdCgmY3R4KTsKKwl0aGVfaGFzaF9hbGdvLT5pbml0X2ZuKCZjdHgpOwogCW9pZGNscihyZXN1bHQpOwogCiAJd2hpbGUgKHN0cmJ1Zl9nZXR3aG9sZWxpbmUobGluZV9idWYsIHN0ZGluLCAnXG4nKSAhPSBFT0YpIHsKQEAgLTEzNyw3ICsxMTgsNyBAQAogCQkvKiBDb21wdXRlIHRoZSBzaGEgd2l0aG91dCB3aGl0ZXNwYWNlICovCiAJCWxlbiA9IHJlbW92ZV9zcGFjZShsaW5lKTsKIAkJcGF0Y2hsZW4gKz0gbGVuOwotCQlnaXRfU0hBMV9VcGRhdGUoJmN0eCwgbGluZSwgbGVuKTsKKwkJdGhlX2hhc2hfYWxnby0+dXBkYXRlX2ZuKCZjdHgsIGxpbmUsIGxlbik7CiAJfQogCiAJaWYgKCFmb3VuZF9uZXh0KQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9wcnVuZS1wYWNrZWQuYyBiL2J1aWx0aW4vcHJ1bmUtcGFja2VkLmMKaW5kZXggYTllN2I1NS4uNDhjNWU3OCAxMDA2NDQKLS0tIGEvYnVpbHRpbi9wcnVuZS1wYWNrZWQuYworKysgYi9idWlsdGluL3BydW5lLXBhY2tlZC5jCkBAIC02Myw2ICs2MywxMSBAQAogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgcHJ1bmVfcGFja2VkX29wdGlvbnMsCiAJCQkgICAgIHBydW5lX3BhY2tlZF91c2FnZSwgMCk7CiAKKwlpZiAoYXJnYyA+IDApCisJCXVzYWdlX21zZ19vcHQoXygidG9vIG1hbnkgYXJndW1lbnRzIiksCisJCQkgICAgICBwcnVuZV9wYWNrZWRfdXNhZ2UsCisJCQkgICAgICBwcnVuZV9wYWNrZWRfb3B0aW9ucyk7CisKIAlwcnVuZV9wYWNrZWRfb2JqZWN0cyhvcHRzKTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2J1aWx0aW4vcHJ1bmUuYyBiL2J1aWx0aW4vcHJ1bmUuYwppbmRleCBlNDI2NTNiLi4yYjc2ODcyIDEwMDY0NAotLS0gYS9idWlsdGluL3BydW5lLmMKKysrIGIvYnVpbHRpbi9wcnVuZS5jCkBAIC0zMSwxNiArMzEsMzkgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgcGVyZm9ybV9yZWFjaGFiaWxpdHlfdHJhdmVyc2FsKHN0cnVjdCByZXZfaW5mbyAqcmV2cykKK3sKKwlzdGF0aWMgaW50IGluaXRpYWxpemVkOworCXN0cnVjdCBwcm9ncmVzcyAqcHJvZ3Jlc3MgPSBOVUxMOworCisJaWYgKGluaXRpYWxpemVkKQorCQlyZXR1cm47CisKKwlpZiAoc2hvd19wcm9ncmVzcykKKwkJcHJvZ3Jlc3MgPSBzdGFydF9kZWxheWVkX3Byb2dyZXNzKF8oIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIpLCAwKTsKKwltYXJrX3JlYWNoYWJsZV9vYmplY3RzKHJldnMsIDEsIGV4cGlyZSwgcHJvZ3Jlc3MpOworCXN0b3BfcHJvZ3Jlc3MoJnByb2dyZXNzKTsKKwlpbml0aWFsaXplZCA9IDE7Cit9CisKK3N0YXRpYyBpbnQgaXNfb2JqZWN0X3JlYWNoYWJsZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkgICAgICAgc3RydWN0IHJldl9pbmZvICpyZXZzKQoreworCXN0cnVjdCBvYmplY3QgKm9iajsKKworCXBlcmZvcm1fcmVhY2hhYmlsaXR5X3RyYXZlcnNhbChyZXZzKTsKKworCW9iaiA9IGxvb2t1cF9vYmplY3QodGhlX3JlcG9zaXRvcnksIG9pZCk7CisJcmV0dXJuIG9iaiAmJiAob2JqLT5mbGFncyAmIFNFRU4pOworfQorCiBzdGF0aWMgaW50IHBydW5lX29iamVjdChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKmZ1bGxwYXRoLAogCQkJdm9pZCAqZGF0YSkKIHsKKwlzdHJ1Y3QgcmV2X2luZm8gKnJldnMgPSBkYXRhOwogCXN0cnVjdCBzdGF0IHN0OwogCi0JLyoKLQkgKiBEbyB3ZSBrbm93IGFib3V0IHRoaXMgb2JqZWN0PwotCSAqIEl0IG11c3QgaGF2ZSBiZWVuIHJlYWNoYWJsZQotCSAqLwotCWlmIChsb29rdXBfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCBvaWQtPmhhc2gpKQorCWlmIChpc19vYmplY3RfcmVhY2hhYmxlKG9pZCwgcmV2cykpCiAJCXJldHVybiAwOwogCiAJaWYgKGxzdGF0KGZ1bGxwYXRoLCAmc3QpKSB7CkBAIC0xMDIsNyArMTI1LDYgQEAKIGludCBjbWRfcHJ1bmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJc3RydWN0IHJldl9pbmZvIHJldnM7Ci0Jc3RydWN0IHByb2dyZXNzICpwcm9ncmVzcyA9IE5VTEw7CiAJaW50IGV4Y2x1ZGVfcHJvbWlzb3Jfb2JqZWN0cyA9IDA7CiAJY29uc3Qgc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CiAJCU9QVF9fRFJZX1JVTigmc2hvd19vbmx5LCBOXygiZG8gbm90IHJlbW92ZSwgc2hvdyBvbmx5IikpLApAQCAtMTIwLDcgKzE0Miw2IEBACiAJc2F2ZV9jb21taXRfYnVmZmVyID0gMDsKIAlyZWFkX3JlcGxhY2VfcmVmcyA9IDA7CiAJcmVmX3BhcmFub2lhID0gMTsKLQlyZXZzLmFsbG93X2V4Y2x1ZGVfcHJvbWlzb3Jfb2JqZWN0c19vcHQgPSAxOwogCXJlcG9faW5pdF9yZXZpc2lvbnModGhlX3JlcG9zaXRvcnksICZyZXZzLCBwcmVmaXgpOwogCiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBvcHRpb25zLCBwcnVuZV91c2FnZSwgMCk7CkBAIC0xNDMsMTcgKzE2NCwxMyBAQAogCiAJaWYgKHNob3dfcHJvZ3Jlc3MgPT0gLTEpCiAJCXNob3dfcHJvZ3Jlc3MgPSBpc2F0dHkoMik7Ci0JaWYgKHNob3dfcHJvZ3Jlc3MpCi0JCXByb2dyZXNzID0gc3RhcnRfZGVsYXllZF9wcm9ncmVzcyhfKCJDaGVja2luZyBjb25uZWN0aXZpdHkiKSwgMCk7CiAJaWYgKGV4Y2x1ZGVfcHJvbWlzb3Jfb2JqZWN0cykgewogCQlmZXRjaF9pZl9taXNzaW5nID0gMDsKIAkJcmV2cy5leGNsdWRlX3Byb21pc29yX29iamVjdHMgPSAxOwogCX0KIAotCW1hcmtfcmVhY2hhYmxlX29iamVjdHMoJnJldnMsIDEsIGV4cGlyZSwgcHJvZ3Jlc3MpOwotCXN0b3BfcHJvZ3Jlc3MoJnByb2dyZXNzKTsKIAlmb3JfZWFjaF9sb29zZV9maWxlX2luX29iamRpcihnZXRfb2JqZWN0X2RpcmVjdG9yeSgpLCBwcnVuZV9vYmplY3QsCi0JCQkJICAgICAgcHJ1bmVfY3J1ZnQsIHBydW5lX3N1YmRpciwgTlVMTCk7CisJCQkJICAgICAgcHJ1bmVfY3J1ZnQsIHBydW5lX3N1YmRpciwgJnJldnMpOwogCiAJcHJ1bmVfcGFja2VkX29iamVjdHMoc2hvd19vbmx5ID8gUFJVTkVfUEFDS0VEX0RSWV9SVU4gOiAwKTsKIAlyZW1vdmVfdGVtcG9yYXJ5X2ZpbGVzKGdldF9vYmplY3RfZGlyZWN0b3J5KCkpOwpAQCAtMTYxLDggKzE3OCwxMCBAQAogCXJlbW92ZV90ZW1wb3JhcnlfZmlsZXMocyk7CiAJZnJlZShzKTsKIAotCWlmIChpc19yZXBvc2l0b3J5X3NoYWxsb3codGhlX3JlcG9zaXRvcnkpKQorCWlmIChpc19yZXBvc2l0b3J5X3NoYWxsb3codGhlX3JlcG9zaXRvcnkpKSB7CisJCXBlcmZvcm1fcmVhY2hhYmlsaXR5X3RyYXZlcnNhbCgmcmV2cyk7CiAJCXBydW5lX3NoYWxsb3coc2hvd19vbmx5ID8gUFJVTkVfU0hPV19PTkxZIDogMCk7CisJfQogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9idWlsdGluL3B1bGwuYyBiL2J1aWx0aW4vcHVsbC5jCmluZGV4IDFiOTA2MjIuLjNlNjI0ZDEgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcHVsbC5jCisrKyBiL2J1aWx0aW4vcHVsbC5jCkBAIC01LDYgKzUsNyBAQAogICoKICAqIEZldGNoIG9uZSBvciBtb3JlIHJlbW90ZSByZWZzIGFuZCBtZXJnZSBpdC90aGVtIGludG8gdGhlIGN1cnJlbnQgSEVBRC4KICAqLworI2RlZmluZSBVU0VfVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJidWlsdGluLmgiCkBAIC0xNCw2ICsxNSw3IEBACiAjaW5jbHVkZSAic2hhMS1hcnJheS5oIgogI2luY2x1ZGUgInJlbW90ZS5oIgogI2luY2x1ZGUgImRpci5oIgorI2luY2x1ZGUgInJlYmFzZS5oIgogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJyZWZzcGVjLmgiCiAjaW5jbHVkZSAicmV2aXNpb24uaCIKQEAgLTIzLDE1ICsyNSw3IEBACiAjaW5jbHVkZSAibG9ja2ZpbGUuaCIKICNpbmNsdWRlICJ3dC1zdGF0dXMuaCIKICNpbmNsdWRlICJjb21taXQtcmVhY2guaCIKLQotZW51bSByZWJhc2VfdHlwZSB7Ci0JUkVCQVNFX0lOVkFMSUQgPSAtMSwKLQlSRUJBU0VfRkFMU0UgPSAwLAotCVJFQkFTRV9UUlVFLAotCVJFQkFTRV9QUkVTRVJWRSwKLQlSRUJBU0VfTUVSR0VTLAotCVJFQkFTRV9JTlRFUkFDVElWRQotfTsKKyNpbmNsdWRlICJzZXF1ZW5jZXIuaCIKIAogLyoqCiAgKiBQYXJzZXMgdGhlIHZhbHVlIG9mIC0tcmViYXNlLiBJZiB2YWx1ZSBpcyBhIGZhbHNlIHZhbHVlLCByZXR1cm5zCkBAIC00MywxOCArMzcsOSBAQAogc3RhdGljIGVudW0gcmViYXNlX3R5cGUgcGFyc2VfY29uZmlnX3JlYmFzZShjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnZhbHVlLAogCQlpbnQgZmF0YWwpCiB7Ci0JaW50IHYgPSBnaXRfcGFyc2VfbWF5YmVfYm9vbCh2YWx1ZSk7Ci0KLQlpZiAoIXYpCi0JCXJldHVybiBSRUJBU0VfRkFMU0U7Ci0JZWxzZSBpZiAodiA+IDApCi0JCXJldHVybiBSRUJBU0VfVFJVRTsKLQllbHNlIGlmICghc3RyY21wKHZhbHVlLCAicHJlc2VydmUiKSB8fCAhc3RyY21wKHZhbHVlLCAicCIpKQotCQlyZXR1cm4gUkVCQVNFX1BSRVNFUlZFOwotCWVsc2UgaWYgKCFzdHJjbXAodmFsdWUsICJtZXJnZXMiKSB8fCAhc3RyY21wKHZhbHVlLCAibSIpKQotCQlyZXR1cm4gUkVCQVNFX01FUkdFUzsKLQllbHNlIGlmICghc3RyY21wKHZhbHVlLCAiaW50ZXJhY3RpdmUiKSB8fCAhc3RyY21wKHZhbHVlLCAiaSIpKQotCQlyZXR1cm4gUkVCQVNFX0lOVEVSQUNUSVZFOworCWVudW0gcmViYXNlX3R5cGUgdiA9IHJlYmFzZV9wYXJzZV92YWx1ZSh2YWx1ZSk7CisJaWYgKHYgIT0gUkVCQVNFX0lOVkFMSUQpCisJCXJldHVybiB2OwogCiAJaWYgKGZhdGFsKQogCQlkaWUoXygiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIiksIGtleSwgdmFsdWUpOwpAQCAtOTYsMTAgKzgxLDEyIEBACiBzdGF0aWMgY2hhciAqb3B0X3NxdWFzaDsKIHN0YXRpYyBjaGFyICpvcHRfY29tbWl0Owogc3RhdGljIGNoYXIgKm9wdF9lZGl0Oworc3RhdGljIGNoYXIgKmNsZWFudXBfYXJnOwogc3RhdGljIGNoYXIgKm9wdF9mZjsKIHN0YXRpYyBjaGFyICpvcHRfdmVyaWZ5X3NpZ25hdHVyZXM7CiBzdGF0aWMgaW50IG9wdF9hdXRvc3Rhc2ggPSAtMTsKIHN0YXRpYyBpbnQgY29uZmlnX2F1dG9zdGFzaDsKK3N0YXRpYyBpbnQgY2hlY2tfdHJ1c3RfbGV2ZWwgPSAxOwogc3RhdGljIHN0cnVjdCBhcmd2X2FycmF5IG9wdF9zdHJhdGVnaWVzID0gQVJHVl9BUlJBWV9JTklUOwogc3RhdGljIHN0cnVjdCBhcmd2X2FycmF5IG9wdF9zdHJhdGVneV9vcHRzID0gQVJHVl9BUlJBWV9JTklUOwogc3RhdGljIGNoYXIgKm9wdF9ncGdfc2lnbjsKQEAgLTEyMSw2ICsxMDgsOCBAQAogc3RhdGljIGNoYXIgKm9wdF9yZWZtYXA7CiBzdGF0aWMgY2hhciAqb3B0X2lwdjQ7CiBzdGF0aWMgY2hhciAqb3B0X2lwdjY7CitzdGF0aWMgaW50IG9wdF9zaG93X2ZvcmNlZF91cGRhdGVzID0gLTE7CitzdGF0aWMgY2hhciAqc2V0X3Vwc3RyZWFtOwogCiBzdGF0aWMgc3RydWN0IG9wdGlvbiBwdWxsX29wdGlvbnNbXSA9IHsKIAkvKiBTaGFyZWQgb3B0aW9ucyAqLwpAQCAtMTYzLDYgKzE1Miw3IEBACiAJT1BUX1BBU1NUSFJVKDAsICJlZGl0IiwgJm9wdF9lZGl0LCBOVUxMLAogCQlOXygiZWRpdCBtZXNzYWdlIGJlZm9yZSBjb21taXR0aW5nIiksCiAJCVBBUlNFX09QVF9OT0FSRyksCisJT1BUX0NMRUFOVVAoJmNsZWFudXBfYXJnKSwKIAlPUFRfUEFTU1RIUlUoMCwgImZmIiwgJm9wdF9mZiwgTlVMTCwKIAkJTl8oImFsbG93IGZhc3QtZm9yd2FyZCIpLAogCQlQQVJTRV9PUFRfTk9BUkcpLApAQCAtMjMyLDYgKzIyMiwxMSBAQAogCU9QVF9QQVNTVEhSVSgnNicsICAiaXB2NiIsICZvcHRfaXB2NiwgTlVMTCwKIAkJTl8oInVzZSBJUHY2IGFkZHJlc3NlcyBvbmx5IiksCiAJCVBBUlNFX09QVF9OT0FSRyksCisJT1BUX0JPT0woMCwgInNob3ctZm9yY2VkLXVwZGF0ZXMiLCAmb3B0X3Nob3dfZm9yY2VkX3VwZGF0ZXMsCisJCSBOXygiY2hlY2sgZm9yIGZvcmNlZC11cGRhdGVzIG9uIGFsbCB1cGRhdGVkIGJyYW5jaGVzIikpLAorCU9QVF9QQVNTVEhSVSgwLCAic2V0LXVwc3RyZWFtIiwgJnNldF91cHN0cmVhbSwgTlVMTCwKKwkJTl8oInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvZmV0Y2giKSwKKwkJUEFSU0VfT1BUX05PQVJHKSwKIAogCU9QVF9FTkQoKQogfTsKQEAgLTM0MCw2ICszMzUsOCBAQAogICovCiBzdGF0aWMgaW50IGdpdF9wdWxsX2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpjYikKIHsKKwlpbnQgc3RhdHVzOworCiAJaWYgKCFzdHJjbXAodmFyLCAicmViYXNlLmF1dG9zdGFzaCIpKSB7CiAJCWNvbmZpZ19hdXRvc3Rhc2ggPSBnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSk7CiAJCXJldHVybiAwOwpAQCAtMzQ3LDcgKzM0NCwxNCBAQAogCQlyZWN1cnNlX3N1Ym1vZHVsZXMgPSBnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSkgPwogCQkJUkVDVVJTRV9TVUJNT0RVTEVTX09OIDogUkVDVVJTRV9TVUJNT0RVTEVTX09GRjsKIAkJcmV0dXJuIDA7CisJfSBlbHNlIGlmICghc3RyY21wKHZhciwgImdwZy5taW50cnVzdGxldmVsIikpIHsKKwkJY2hlY2tfdHJ1c3RfbGV2ZWwgPSAwOwogCX0KKworCXN0YXR1cyA9IGdpdF9ncGdfY29uZmlnKHZhciwgdmFsdWUsIGNiKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOworCiAJcmV0dXJuIGdpdF9kZWZhdWx0X2NvbmZpZyh2YXIsIHZhbHVlLCBjYik7CiB9CiAKQEAgLTM2NCw5ICszNjgsMTAgQEAKIAogCWZwID0geGZvcGVuKGZpbGVuYW1lLCAiciIpOwogCXdoaWxlIChzdHJidWZfZ2V0bGluZV9sZigmc2IsIGZwKSAhPSBFT0YpIHsKLQkJaWYgKGdldF9vaWRfaGV4KHNiLmJ1ZiwgJm9pZCkpCi0JCQljb250aW51ZTsgIC8qIGludmFsaWQgbGluZTogZG9lcyBub3Qgc3RhcnQgd2l0aCBTSEExICovCi0JCWlmIChzdGFydHNfd2l0aChzYi5idWYgKyBHSVRfU0hBMV9IRVhTWiwgIlx0bm90LWZvci1tZXJnZVx0IikpCisJCWNvbnN0IGNoYXIgKnA7CisJCWlmIChwYXJzZV9vaWRfaGV4KHNiLmJ1ZiwgJm9pZCwgJnApKQorCQkJY29udGludWU7ICAvKiBpbnZhbGlkIGxpbmU6IGRvZXMgbm90IHN0YXJ0IHdpdGggb2JqZWN0IElEICovCisJCWlmIChzdGFydHNfd2l0aChwLCAiXHRub3QtZm9yLW1lcmdlXHQiKSkKIAkJCWNvbnRpbnVlOyAgLyogcmVmIGlzIG5vdC1mb3ItbWVyZ2UgKi8KIAkJb2lkX2FycmF5X2FwcGVuZChtZXJnZV9oZWFkcywgJm9pZCk7CiAJfQpAQCAtNTQwLDYgKzU0NSwxMiBAQAogCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsIG9wdF9pcHY0KTsKIAlpZiAob3B0X2lwdjYpCiAJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgb3B0X2lwdjYpOworCWlmIChvcHRfc2hvd19mb3JjZWRfdXBkYXRlcyA+IDApCisJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgIi0tc2hvdy1mb3JjZWQtdXBkYXRlcyIpOworCWVsc2UgaWYgKG9wdF9zaG93X2ZvcmNlZF91cGRhdGVzID09IDApCisJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgIi0tbm8tc2hvdy1mb3JjZWQtdXBkYXRlcyIpOworCWlmIChzZXRfdXBzdHJlYW0pCisJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgc2V0X3Vwc3RyZWFtKTsKIAogCWlmIChyZXBvKSB7CiAJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgcmVwbyk7CkBAIC01NjUsNyArNTc2LDggQEAKIAkJCWRpZShfKCJ1bmFibGUgdG8gYWNjZXNzIGNvbW1pdCAlcyIpLAogCQkJICAgIG9pZF90b19oZXgobWVyZ2VfaGVhZCkpOwogCi0JCXZlcmlmeV9tZXJnZV9zaWduYXR1cmUoY29tbWl0LCBvcHRfdmVyYm9zaXR5KTsKKwkJdmVyaWZ5X21lcmdlX3NpZ25hdHVyZShjb21taXQsIG9wdF92ZXJib3NpdHksCisJCQkJICAgICAgIGNoZWNrX3RydXN0X2xldmVsKTsKIAl9CiAKIAkvKgpAQCAtNjM5LDYgKzY1MSw4IEBACiAJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgb3B0X2NvbW1pdCk7CiAJaWYgKG9wdF9lZGl0KQogCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsIG9wdF9lZGl0KTsKKwlpZiAoY2xlYW51cF9hcmcpCisJCWFyZ3ZfYXJyYXlfcHVzaGYoJmFyZ3MsICItLWNsZWFudXA9JXMiLCBjbGVhbnVwX2FyZyk7CiAJaWYgKG9wdF9mZikKIAkJYXJndl9hcnJheV9wdXNoKCZhcmdzLCBvcHRfZmYpOwogCWlmIChvcHRfdmVyaWZ5X3NpZ25hdHVyZXMpCkBAIC03NTUsNyArNzY5LDcgQEAKIAljcC5ub19zdGRlcnIgPSAxOwogCWNwLmdpdF9jbWQgPSAxOwogCi0JcmV0ID0gY2FwdHVyZV9jb21tYW5kKCZjcCwgJnNiLCBHSVRfU0hBMV9IRVhTWik7CisJcmV0ID0gY2FwdHVyZV9jb21tYW5kKCZjcCwgJnNiLCBHSVRfTUFYX0hFWFNaKTsKIAlpZiAocmV0KQogCQlnb3RvIGNsZWFudXA7CiAKQEAgLTgwMCw3ICs4MTQsNyBAQAogfQogCiAvKioKLSAqIEdpdmVuIHRoZSBjdXJyZW50IEhFQUQgU0hBMSwgdGhlIG1lcmdlIGhlYWQgcmV0dXJuZWQgZnJvbSBnaXQtZmV0Y2ggYW5kIHRoZQorICogR2l2ZW4gdGhlIGN1cnJlbnQgSEVBRCBvaWQsIHRoZSBtZXJnZSBoZWFkIHJldHVybmVkIGZyb20gZ2l0LWZldGNoIGFuZCB0aGUKICAqIGZvcmsgcG9pbnQgY2FsY3VsYXRlZCBieSBnZXRfcmViYXNlX2ZvcmtfcG9pbnQoKSwgcnVucyBnaXQtcmViYXNlIHdpdGggdGhlCiAgKiBhcHByb3ByaWF0ZSBhcmd1bWVudHMgYW5kIHJldHVybnMgaXRzIGV4aXQgc3RhdHVzLgogICovCkBAIC04NzAsNiArODg0LDEzIEBACiAKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIHB1bGxfb3B0aW9ucywgcHVsbF91c2FnZSwgMCk7CiAKKwlpZiAoY2xlYW51cF9hcmcpCisJCS8qCisJCSAqIHRoaXMgb25seSBjaGVja3MgdGhlIHZhbGlkaXR5IG9mIGNsZWFudXBfYXJnOyB3ZSBkb24ndCBuZWVkCisJCSAqIGEgdmFsaWQgdmFsdWUgZm9yIHVzZV9lZGl0b3IKKwkJICovCisJCWdldF9jbGVhbnVwX21vZGUoY2xlYW51cF9hcmcsIDApOworCiAJcGFyc2VfcmVwb19yZWZzcGVjcyhhcmdjLCBhcmd2LCAmcmVwbywgJnJlZnNwZWNzKTsKIAogCWlmICghb3B0X2ZmKQpAQCAtODk5LDcgKzkyMCw4IEBACiAJCQlkaWUoXygiVXBkYXRpbmcgYW4gdW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4LiIpKTsKIAogCQlpZiAoIWF1dG9zdGFzaCkKLQkJCXJlcXVpcmVfY2xlYW5fd29ya190cmVlKE5fKCJwdWxsIHdpdGggcmViYXNlIiksCisJCQlyZXF1aXJlX2NsZWFuX3dvcmtfdHJlZSh0aGVfcmVwb3NpdG9yeSwKKwkJCQlOXygicHVsbCB3aXRoIHJlYmFzZSIpLAogCQkJCV8oInBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iKSwgMSwgMCk7CiAKIAkJaWYgKGdldF9yZWJhc2VfZm9ya19wb2ludCgmcmViYXNlX2ZvcmtfcG9pbnQsIHJlcG8sICpyZWZzcGVjcykpCmRpZmYgLS1naXQgYS9idWlsdGluL3B1c2guYyBiL2J1aWx0aW4vcHVzaC5jCmluZGV4IDhiYjhhMDguLjZkYmYwZjAgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcHVzaC5jCisrKyBiL2J1aWx0aW4vcHVzaC5jCkBAIC02NCw2ICs2NCw3IEBACiBzdGF0aWMgY29uc3QgY2hhciAqbWFwX3JlZnNwZWMoY29uc3QgY2hhciAqcmVmLAogCQkJICAgICAgIHN0cnVjdCByZW1vdGUgKnJlbW90ZSwgc3RydWN0IHJlZiAqbG9jYWxfcmVmcykKIHsKKwljb25zdCBjaGFyICpicmFuY2hfbmFtZTsKIAlzdHJ1Y3QgcmVmICptYXRjaGVkID0gTlVMTDsKIAogCS8qIERvZXMgInJlZiIgdW5pcXVlbHkgbmFtZSBvdXIgcmVmPyAqLwpAQCAtODQsOCArODUsOCBAQAogCX0KIAogCWlmIChwdXNoX2RlZmF1bHQgPT0gUFVTSF9ERUZBVUxUX1VQU1RSRUFNICYmCi0JICAgIHN0YXJ0c193aXRoKG1hdGNoZWQtPm5hbWUsICJyZWZzL2hlYWRzLyIpKSB7Ci0JCXN0cnVjdCBicmFuY2ggKmJyYW5jaCA9IGJyYW5jaF9nZXQobWF0Y2hlZC0+bmFtZSArIDExKTsKKwkgICAgc2tpcF9wcmVmaXgobWF0Y2hlZC0+bmFtZSwgInJlZnMvaGVhZHMvIiwgJmJyYW5jaF9uYW1lKSkgeworCQlzdHJ1Y3QgYnJhbmNoICpicmFuY2ggPSBicmFuY2hfZ2V0KGJyYW5jaF9uYW1lKTsKIAkJaWYgKGJyYW5jaC0+bWVyZ2VfbnIgPT0gMSAmJiBicmFuY2gtPm1lcmdlWzBdLT5zcmMpIHsKIAkJCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJCQlzdHJidWZfYWRkZigmYnVmLCAiJXM6JXMiLApAQCAtMTQzLDcgKzE0NCw5IEBACiAJcmV0dXJuIHJlbW90ZS0+dXJsX25yOwogfQogCi1zdGF0aWMgTk9SRVRVUk4gaW50IGRpZV9wdXNoX3NpbXBsZShzdHJ1Y3QgYnJhbmNoICpicmFuY2gsIHN0cnVjdCByZW1vdGUgKnJlbW90ZSkgeworc3RhdGljIE5PUkVUVVJOIHZvaWQgZGllX3B1c2hfc2ltcGxlKHN0cnVjdCBicmFuY2ggKmJyYW5jaCwKKwkJCQkgICAgIHN0cnVjdCByZW1vdGUgKnJlbW90ZSkKK3sKIAkvKgogCSAqIFRoZXJlJ3Mgbm8gcG9pbnQgaW4gdXNpbmcgc2hvcnRlbl91bmFtYmlndW91c19yZWYgaGVyZSwKIAkgKiBhcyB0aGUgYW1iaWd1aXR5IHdvdWxkIGJlIG9uIHRoZSByZW1vdGUgc2lkZSwgbm90IHdoYXQKQEAgLTM1NSw3ICszNTgsMTAgQEAKIAogCWlmICh2ZXJib3NpdHkgPiAwKQogCQlmcHJpbnRmKHN0ZGVyciwgXygiUHVzaGluZyB0byAlc1xuIiksIHRyYW5zcG9ydC0+dXJsKTsKLQllcnIgPSB0cmFuc3BvcnRfcHVzaCh0cmFuc3BvcnQsIHJzLCBmbGFncywgJnJlamVjdF9yZWFzb25zKTsKKwl0cmFjZTJfcmVnaW9uX2VudGVyKCJwdXNoIiwgInRyYW5zcG9ydF9wdXNoIiwgdGhlX3JlcG9zaXRvcnkpOworCWVyciA9IHRyYW5zcG9ydF9wdXNoKHRoZV9yZXBvc2l0b3J5LCB0cmFuc3BvcnQsCisJCQkgICAgIHJzLCBmbGFncywgJnJlamVjdF9yZWFzb25zKTsKKwl0cmFjZTJfcmVnaW9uX2xlYXZlKCJwdXNoIiwgInRyYW5zcG9ydF9wdXNoIiwgdGhlX3JlcG9zaXRvcnkpOwogCWlmIChlcnIgIT0gMCkgewogCQlmcHJpbnRmKHN0ZGVyciwgIiVzIiwgcHVzaF9nZXRfY29sb3IoUFVTSF9DT0xPUl9FUlJPUikpOwogCQllcnJvcihfKCJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIpLCB0cmFuc3BvcnQtPnVybCk7CkBAIC0zODIsMzAgKzM4OCwxNCBAQAogfQogCiBzdGF0aWMgaW50IGRvX3B1c2goY29uc3QgY2hhciAqcmVwbywgaW50IGZsYWdzLAotCQkgICBjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnB1c2hfb3B0aW9ucykKKwkJICAgY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpwdXNoX29wdGlvbnMsCisJCSAgIHN0cnVjdCByZW1vdGUgKnJlbW90ZSkKIHsKIAlpbnQgaSwgZXJyczsKLQlzdHJ1Y3QgcmVtb3RlICpyZW1vdGUgPSBwdXNocmVtb3RlX2dldChyZXBvKTsKIAljb25zdCBjaGFyICoqdXJsOwogCWludCB1cmxfbnI7CiAJc3RydWN0IHJlZnNwZWMgKnB1c2hfcmVmc3BlYyA9ICZyczsKIAotCWlmICghcmVtb3RlKSB7Ci0JCWlmIChyZXBvKQotCQkJZGllKF8oImJhZCByZXBvc2l0b3J5ICclcyciKSwgcmVwbyk7Ci0JCWRpZShfKCJObyBjb25maWd1cmVkIHB1c2ggZGVzdGluYXRpb24uXG4iCi0JCSAgICAiRWl0aGVyIHNwZWNpZnkgdGhlIFVSTCBmcm9tIHRoZSBjb21tYW5kLWxpbmUgb3IgY29uZmlndXJlIGEgcmVtb3RlIHJlcG9zaXRvcnkgdXNpbmdcbiIKLQkJICAgICJcbiIKLQkJICAgICIgICAgZ2l0IHJlbW90ZSBhZGQgPG5hbWU+IDx1cmw+XG4iCi0JCSAgICAiXG4iCi0JCSAgICAiYW5kIHRoZW4gcHVzaCB1c2luZyB0aGUgcmVtb3RlIG5hbWVcbiIKLQkJICAgICJcbiIKLQkJICAgICIgICAgZ2l0IHB1c2ggPG5hbWU+XG4iKSk7Ci0JfQotCi0JaWYgKHJlbW90ZS0+bWlycm9yKQotCQlmbGFncyB8PSAoVFJBTlNQT1JUX1BVU0hfTUlSUk9SfFRSQU5TUE9SVF9QVVNIX0ZPUkNFKTsKLQogCWlmIChwdXNoX29wdGlvbnMtPm5yKQogCQlmbGFncyB8PSBUUkFOU1BPUlRfUFVTSF9PUFRJT05TOwogCkBAIC01NDUsNiArNTM1LDcgQEAKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgcHVzaF9vcHRpb25zX2NtZGxpbmUgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnB1c2hfb3B0aW9uczsKIAljb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKKwlzdHJ1Y3QgcmVtb3RlICpyZW1vdGU7CiAKIAlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKIAkJT1BUX19WRVJCT1NJVFkoJnZlcmJvc2l0eSksCkBAIC01OTksMjAgKzU5MCw2IEBACiAJCWRpZShfKCItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIpKTsKIAlpZiAoZGVsZXRlcmVmcyAmJiBhcmdjIDwgMikKIAkJZGllKF8oIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIikpOwotCWlmIChmbGFncyAmIFRSQU5TUE9SVF9QVVNIX0FMTCkgewotCQlpZiAodGFncykKLQkJCWRpZShfKCItLWFsbCBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiKSk7Ci0JCWlmIChhcmdjID49IDIpCi0JCQlkaWUoXygiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIpKTsKLQl9Ci0JaWYgKGZsYWdzICYgVFJBTlNQT1JUX1BVU0hfTUlSUk9SKSB7Ci0JCWlmICh0YWdzKQotCQkJZGllKF8oIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIpKTsKLQkJaWYgKGFyZ2MgPj0gMikKLQkJCWRpZShfKCItLW1pcnJvciBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIikpOwotCX0KLQlpZiAoKGZsYWdzICYgVFJBTlNQT1JUX1BVU0hfQUxMKSAmJiAoZmxhZ3MgJiBUUkFOU1BPUlRfUFVTSF9NSVJST1IpKQotCQlkaWUoXygiLS1hbGwgYW5kIC0tbWlycm9yIGFyZSBpbmNvbXBhdGlibGUiKSk7CiAKIAlpZiAocmVjdXJzZV9zdWJtb2R1bGVzID09IFJFQ1VSU0VfU1VCTU9EVUxFU19DSEVDSykKIAkJZmxhZ3MgfD0gVFJBTlNQT1JUX1JFQ1VSU0VfU1VCTU9EVUxFU19DSEVDSzsKQEAgLTYyOSwxMSArNjA2LDQzIEBACiAJCXNldF9yZWZzcGVjcyhhcmd2ICsgMSwgYXJnYyAtIDEsIHJlcG8pOwogCX0KIAorCXJlbW90ZSA9IHB1c2hyZW1vdGVfZ2V0KHJlcG8pOworCWlmICghcmVtb3RlKSB7CisJCWlmIChyZXBvKQorCQkJZGllKF8oImJhZCByZXBvc2l0b3J5ICclcyciKSwgcmVwbyk7CisJCWRpZShfKCJObyBjb25maWd1cmVkIHB1c2ggZGVzdGluYXRpb24uXG4iCisJCSAgICAiRWl0aGVyIHNwZWNpZnkgdGhlIFVSTCBmcm9tIHRoZSBjb21tYW5kLWxpbmUgb3IgY29uZmlndXJlIGEgcmVtb3RlIHJlcG9zaXRvcnkgdXNpbmdcbiIKKwkJICAgICJcbiIKKwkJICAgICIgICAgZ2l0IHJlbW90ZSBhZGQgPG5hbWU+IDx1cmw+XG4iCisJCSAgICAiXG4iCisJCSAgICAiYW5kIHRoZW4gcHVzaCB1c2luZyB0aGUgcmVtb3RlIG5hbWVcbiIKKwkJICAgICJcbiIKKwkJICAgICIgICAgZ2l0IHB1c2ggPG5hbWU+XG4iKSk7CisJfQorCisJaWYgKHJlbW90ZS0+bWlycm9yKQorCQlmbGFncyB8PSAoVFJBTlNQT1JUX1BVU0hfTUlSUk9SfFRSQU5TUE9SVF9QVVNIX0ZPUkNFKTsKKworCWlmIChmbGFncyAmIFRSQU5TUE9SVF9QVVNIX0FMTCkgeworCQlpZiAodGFncykKKwkJCWRpZShfKCItLWFsbCBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiKSk7CisJCWlmIChhcmdjID49IDIpCisJCQlkaWUoXygiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIpKTsKKwl9CisJaWYgKGZsYWdzICYgVFJBTlNQT1JUX1BVU0hfTUlSUk9SKSB7CisJCWlmICh0YWdzKQorCQkJZGllKF8oIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIpKTsKKwkJaWYgKGFyZ2MgPj0gMikKKwkJCWRpZShfKCItLW1pcnJvciBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIikpOworCX0KKwlpZiAoKGZsYWdzICYgVFJBTlNQT1JUX1BVU0hfQUxMKSAmJiAoZmxhZ3MgJiBUUkFOU1BPUlRfUFVTSF9NSVJST1IpKQorCQlkaWUoXygiLS1hbGwgYW5kIC0tbWlycm9yIGFyZSBpbmNvbXBhdGlibGUiKSk7CisKIAlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sIHB1c2hfb3B0aW9ucykKIAkJaWYgKHN0cmNocihpdGVtLT5zdHJpbmcsICdcbicpKQogCQkJZGllKF8oInB1c2ggb3B0aW9ucyBtdXN0IG5vdCBoYXZlIG5ldyBsaW5lIGNoYXJhY3RlcnMiKSk7CiAKLQlyYyA9IGRvX3B1c2gocmVwbywgZmxhZ3MsIHB1c2hfb3B0aW9ucyk7CisJcmMgPSBkb19wdXNoKHJlcG8sIGZsYWdzLCBwdXNoX29wdGlvbnMsIHJlbW90ZSk7CiAJc3RyaW5nX2xpc3RfY2xlYXIoJnB1c2hfb3B0aW9uc19jbWRsaW5lLCAwKTsKIAlzdHJpbmdfbGlzdF9jbGVhcigmcHVzaF9vcHRpb25zX2NvbmZpZywgMCk7CiAJaWYgKHJjID09IC0xKQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yYW5nZS1kaWZmLmMgYi9idWlsdGluL3JhbmdlLWRpZmYuYwppbmRleCBmMDFhMGJlLi5kOGE0NjcwIDEwMDY0NAotLS0gYS9idWlsdGluL3JhbmdlLWRpZmYuYworKysgYi9idWlsdGluL3JhbmdlLWRpZmYuYwpAQCAtMTUsNDMgKzE1LDMyIEBACiB7CiAJaW50IGNyZWF0aW9uX2ZhY3RvciA9IFJBTkdFX0RJRkZfQ1JFQVRJT05fRkFDVE9SX0RFRkFVTFQ7CiAJc3RydWN0IGRpZmZfb3B0aW9ucyBkaWZmb3B0ID0geyBOVUxMIH07CisJc3RydWN0IGFyZ3ZfYXJyYXkgb3RoZXJfYXJnID0gQVJHVl9BUlJBWV9JTklUOwogCWludCBzaW1wbGVfY29sb3IgPSAtMTsKLQlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKKwlzdHJ1Y3Qgb3B0aW9uIHJhbmdlX2RpZmZfb3B0aW9uc1tdID0gewogCQlPUFRfSU5URUdFUigwLCAiY3JlYXRpb24tZmFjdG9yIiwgJmNyZWF0aW9uX2ZhY3RvciwKIAkJCSAgICBOXygiUGVyY2VudGFnZSBieSB3aGljaCBjcmVhdGlvbiBpcyB3ZWlnaHRlZCIpKSwKIAkJT1BUX0JPT0woMCwgIm5vLWR1YWwtY29sb3IiLCAmc2ltcGxlX2NvbG9yLAogCQkJICAgIE5fKCJ1c2Ugc2ltcGxlIGRpZmYgY29sb3JzIikpLAorCQlPUFRfUEFTU1RIUlVfQVJHVigwLCAibm90ZXMiLCAmb3RoZXJfYXJnLAorCQkJCSAgTl8oIm5vdGVzIiksIE5fKCJwYXNzZWQgdG8gJ2dpdCBsb2cnIiksCisJCQkJICBQQVJTRV9PUFRfT1BUQVJHKSwKIAkJT1BUX0VORCgpCiAJfTsKLQlpbnQgaSwgaiwgcmVzID0gMDsKKwlzdHJ1Y3Qgb3B0aW9uICpvcHRpb25zOworCWludCByZXMgPSAwOwogCXN0cnVjdCBzdHJidWYgcmFuZ2UxID0gU1RSQlVGX0lOSVQsIHJhbmdlMiA9IFNUUkJVRl9JTklUOwogCiAJZ2l0X2NvbmZpZyhnaXRfZGlmZl91aV9jb25maWcsIE5VTEwpOwogCiAJcmVwb19kaWZmX3NldHVwKHRoZV9yZXBvc2l0b3J5LCAmZGlmZm9wdCk7CiAKLQlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBOVUxMLCBvcHRpb25zLAotCQkJICAgICBidWlsdGluX3JhbmdlX2RpZmZfdXNhZ2UsIFBBUlNFX09QVF9LRUVQX1VOS05PV04gfAotCQkJICAgICBQQVJTRV9PUFRfS0VFUF9EQVNIREFTSCB8IFBBUlNFX09QVF9LRUVQX0FSR1YwKTsKLQotCWZvciAoaSA9IGogPSAxOyBpIDwgYXJnYyAmJiBzdHJjbXAoIi0tIiwgYXJndltpXSk7ICkgewotCQlpbnQgYyA9IGRpZmZfb3B0X3BhcnNlKCZkaWZmb3B0LCBhcmd2ICsgaSwgYXJnYyAtIGksIHByZWZpeCk7Ci0KLQkJaWYgKCFjKQotCQkJYXJndltqKytdID0gYXJndltpKytdOwotCQllbHNlCi0JCQlpICs9IGM7Ci0JfQotCXdoaWxlIChpIDwgYXJnYykKLQkJYXJndltqKytdID0gYXJndltpKytdOwotCWFyZ2MgPSBqOwotCWRpZmZfc2V0dXBfZG9uZSgmZGlmZm9wdCk7Ci0KLQkvKiBNYWtlIHN1cmUgdGhhdCB0aGVyZSBhcmUgbm8gdW5wYXJzZWQgb3B0aW9ucyAqLwotCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIE5VTEwsCi0JCQkgICAgIG9wdGlvbnMgKyBBUlJBWV9TSVpFKG9wdGlvbnMpIC0gMSwgLyogT1BUX0VORCAqLworCW9wdGlvbnMgPSBwYXJzZV9vcHRpb25zX2NvbmNhdChyYW5nZV9kaWZmX29wdGlvbnMsIGRpZmZvcHQucGFyc2VvcHRzKTsKKwlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIG9wdGlvbnMsCiAJCQkgICAgIGJ1aWx0aW5fcmFuZ2VfZGlmZl91c2FnZSwgMCk7CiAKKwlkaWZmX3NldHVwX2RvbmUoJmRpZmZvcHQpOworCiAJLyogZm9yY2UgY29sb3Igd2hlbiAtLWR1YWwtY29sb3Igd2FzIHVzZWQgKi8KIAlpZiAoIXNpbXBsZV9jb2xvcikKIAkJZGlmZm9wdC51c2VfY29sb3IgPSAxOwpAQCAtOTAsMTAgKzc5LDEyIEBACiAJCWVycm9yKF8oIm5lZWQgdHdvIGNvbW1pdCByYW5nZXMiKSk7CiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhidWlsdGluX3JhbmdlX2RpZmZfdXNhZ2UsIG9wdGlvbnMpOwogCX0KKwlGUkVFX0FORF9OVUxMKG9wdGlvbnMpOwogCiAJcmVzID0gc2hvd19yYW5nZV9kaWZmKHJhbmdlMS5idWYsIHJhbmdlMi5idWYsIGNyZWF0aW9uX2ZhY3RvciwKLQkJCSAgICAgIHNpbXBsZV9jb2xvciA8IDEsICZkaWZmb3B0KTsKKwkJCSAgICAgIHNpbXBsZV9jb2xvciA8IDEsICZkaWZmb3B0LCAmb3RoZXJfYXJnKTsKIAorCWFyZ3ZfYXJyYXlfY2xlYXIoJm90aGVyX2FyZyk7CiAJc3RyYnVmX3JlbGVhc2UoJnJhbmdlMSk7CiAJc3RyYnVmX3JlbGVhc2UoJnJhbmdlMik7CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVhZC10cmVlLmMgYi9idWlsdGluL3JlYWQtdHJlZS5jCmluZGV4IDE4M2VlOGMuLmFmNzQyNGIgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmVhZC10cmVlLmMKKysrIGIvYnVpbHRpbi9yZWFkLXRyZWUuYwpAQCAtNCw2ICs0LDcgQEAKICAqIENvcHlyaWdodCAoQykgTGludXMgVG9ydmFsZHMsIDIwMDUKICAqLwogCisjZGVmaW5lIFVTRV9USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImxvY2tmaWxlLmgiCkBAIC0xMTAsNyArMTExLDcgQEAKIAlyZXR1cm4gZ2l0X2RlZmF1bHRfY29uZmlnKHZhciwgdmFsdWUsIGNiKTsKIH0KIAotaW50IGNtZF9yZWFkX3RyZWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICp1bnVzZWRfcHJlZml4KQoraW50IGNtZF9yZWFkX3RyZWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpjbWRfcHJlZml4KQogewogCWludCBpLCBzdGFnZSA9IDA7CiAJc3RydWN0IG9iamVjdF9pZCBvaWQ7CkBAIC0xNTMsNiArMTU0LDcgQEAKIAkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJyZWN1cnNlLXN1Ym1vZHVsZXMiLCBOVUxMLAogCQkJICAgICJjaGVja291dCIsICJjb250cm9sIHJlY3Vyc2l2ZSB1cGRhdGluZyBvZiBzdWJtb2R1bGVzIiwKIAkJCSAgICBQQVJTRV9PUFRfT1BUQVJHLCBvcHRpb25fcGFyc2VfcmVjdXJzZV9zdWJtb2R1bGVzX3dvcmt0cmVlX3VwZGF0ZXIgfSwKKwkJT1BUX19RVUlFVCgmb3B0cy5xdWlldCwgTl8oInN1cHByZXNzIGZlZWRiYWNrIG1lc3NhZ2VzIikpLAogCQlPUFRfRU5EKCkKIAl9OwogCkBAIC0xNjMsNyArMTY1LDcgQEAKIAogCWdpdF9jb25maWcoZ2l0X3JlYWRfdHJlZV9jb25maWcsIE5VTEwpOwogCi0JYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgdW51c2VkX3ByZWZpeCwgcmVhZF90cmVlX29wdGlvbnMsCisJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgY21kX3ByZWZpeCwgcmVhZF90cmVlX29wdGlvbnMsCiAJCQkgICAgIHJlYWRfdHJlZV91c2FnZSwgMCk7CiAKIAlob2xkX2xvY2tlZF9pbmRleCgmbG9ja19maWxlLCBMT0NLX0RJRV9PTl9FUlJPUik7CkBAIC0xODMsNyArMTg1LDcgQEAKIAogCWlmIChvcHRzLnJlc2V0IHx8IG9wdHMubWVyZ2UgfHwgb3B0cy5wcmVmaXgpIHsKIAkJaWYgKHJlYWRfY2FjaGVfdW5tZXJnZWQoKSAmJiAob3B0cy5wcmVmaXggfHwgb3B0cy5tZXJnZSkpCi0JCQlkaWUoIllvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0Iik7CisJCQlkaWUoXygiWW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiKSk7CiAJCXN0YWdlID0gb3B0cy5tZXJnZSA9IDE7CiAJfQogCXJlc29sdmVfdW5kb19jbGVhcigpOwpAQCAtMjU4LDcgKzI2MCw5IEBACiAJICogd2hhdCBjYW1lIGZyb20gdGhlIHRyZWUuCiAJICovCiAJaWYgKG5yX3RyZWVzID09IDEgJiYgIW9wdHMucHJlZml4KQotCQlwcmltZV9jYWNoZV90cmVlKCZ0aGVfaW5kZXgsIHRyZWVzWzBdKTsKKwkJcHJpbWVfY2FjaGVfdHJlZSh0aGVfcmVwb3NpdG9yeSwKKwkJCQkgdGhlX3JlcG9zaXRvcnktPmluZGV4LAorCQkJCSB0cmVlc1swXSk7CiAKIAlpZiAod3JpdGVfbG9ja2VkX2luZGV4KCZ0aGVfaW5kZXgsICZsb2NrX2ZpbGUsIENPTU1JVF9MT0NLKSkKIAkJZGllKCJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jIGIvYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEyYWI2OGUuLjAwMDAwMDAKLS0tIGEvYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyNzEgKzAsMCBAQAotI2luY2x1ZGUgImJ1aWx0aW4uaCIKLSNpbmNsdWRlICJjYWNoZS5oIgotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKLSNpbmNsdWRlICJzZXF1ZW5jZXIuaCIKLSNpbmNsdWRlICJyZWJhc2UtaW50ZXJhY3RpdmUuaCIKLSNpbmNsdWRlICJhcmd2LWFycmF5LmgiCi0jaW5jbHVkZSAicmVmcy5oIgotI2luY2x1ZGUgInJlcmVyZS5oIgotI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCi0KLXN0YXRpYyBHSVRfUEFUSF9GVU5DKHBhdGhfc3RhdGVfZGlyLCAicmViYXNlLW1lcmdlLyIpCi1zdGF0aWMgR0lUX1BBVEhfRlVOQyhwYXRoX3NxdWFzaF9vbnRvLCAicmViYXNlLW1lcmdlL3NxdWFzaC1vbnRvIikKLXN0YXRpYyBHSVRfUEFUSF9GVU5DKHBhdGhfaW50ZXJhY3RpdmUsICJyZWJhc2UtbWVyZ2UvaW50ZXJhY3RpdmUiKQotCi1zdGF0aWMgaW50IGdldF9yZXZpc2lvbl9yYW5nZXMoY29uc3QgY2hhciAqdXBzdHJlYW0sIGNvbnN0IGNoYXIgKm9udG8sCi0JCQkgICAgICAgY29uc3QgY2hhciAqKmhlYWRfaGFzaCwKLQkJCSAgICAgICBjaGFyICoqcmV2aXNpb25zLCBjaGFyICoqc2hvcnRyZXZpc2lvbnMpCi17Ci0JY29uc3QgY2hhciAqYmFzZV9yZXYgPSB1cHN0cmVhbSA/IHVwc3RyZWFtIDogb250bywgKnNob3J0aGVhZDsKLQlzdHJ1Y3Qgb2JqZWN0X2lkIG9yaWdfaGVhZDsKLQotCWlmIChnZXRfb2lkKCJIRUFEIiwgJm9yaWdfaGVhZCkpCi0JCXJldHVybiBlcnJvcihfKCJubyBIRUFEPyIpKTsKLQotCSpoZWFkX2hhc2ggPSBmaW5kX3VuaXF1ZV9hYmJyZXYoJm9yaWdfaGVhZCwgR0lUX01BWF9IRVhTWik7Ci0JKnJldmlzaW9ucyA9IHhzdHJmbXQoIiVzLi4uJXMiLCBiYXNlX3JldiwgKmhlYWRfaGFzaCk7Ci0KLQlzaG9ydGhlYWQgPSBmaW5kX3VuaXF1ZV9hYmJyZXYoJm9yaWdfaGVhZCwgREVGQVVMVF9BQkJSRVYpOwotCi0JaWYgKHVwc3RyZWFtKSB7Ci0JCWNvbnN0IGNoYXIgKnNob3J0cmV2OwotCQlzdHJ1Y3Qgb2JqZWN0X2lkIHJldl9vaWQ7Ci0KLQkJZ2V0X29pZChiYXNlX3JldiwgJnJldl9vaWQpOwotCQlzaG9ydHJldiA9IGZpbmRfdW5pcXVlX2FiYnJldigmcmV2X29pZCwgREVGQVVMVF9BQkJSRVYpOwotCi0JCSpzaG9ydHJldmlzaW9ucyA9IHhzdHJmbXQoIiVzLi4lcyIsIHNob3J0cmV2LCBzaG9ydGhlYWQpOwotCX0gZWxzZQotCQkqc2hvcnRyZXZpc2lvbnMgPSB4c3RyZHVwKHNob3J0aGVhZCk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBpbml0X2Jhc2ljX3N0YXRlKHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cywgY29uc3QgY2hhciAqaGVhZF9uYW1lLAotCQkJICAgIGNvbnN0IGNoYXIgKm9udG8sIGNvbnN0IGNoYXIgKm9yaWdfaGVhZCkKLXsKLQlGSUxFICppbnRlcmFjdGl2ZTsKLQotCWlmICghaXNfZGlyZWN0b3J5KHBhdGhfc3RhdGVfZGlyKCkpICYmIG1rZGlyX2luX2dpdGRpcihwYXRoX3N0YXRlX2RpcigpKSkKLQkJcmV0dXJuIGVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICVzIiksIHBhdGhfc3RhdGVfZGlyKCkpOwotCi0JZGVsZXRlX3JlZmxvZygiUkVCQVNFX0hFQUQiKTsKLQotCWludGVyYWN0aXZlID0gZm9wZW4ocGF0aF9pbnRlcmFjdGl2ZSgpLCAidyIpOwotCWlmICghaW50ZXJhY3RpdmUpCi0JCXJldHVybiBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIpKTsKLQlmY2xvc2UoaW50ZXJhY3RpdmUpOwotCi0JcmV0dXJuIHdyaXRlX2Jhc2ljX3N0YXRlKG9wdHMsIGhlYWRfbmFtZSwgb250bywgb3JpZ19oZWFkKTsKLX0KLQotc3RhdGljIGludCBkb19pbnRlcmFjdGl2ZV9yZWJhc2Uoc3RydWN0IHJlcGxheV9vcHRzICpvcHRzLCB1bnNpZ25lZCBmbGFncywKLQkJCQkgY29uc3QgY2hhciAqc3dpdGNoX3RvLCBjb25zdCBjaGFyICp1cHN0cmVhbSwKLQkJCQkgY29uc3QgY2hhciAqb250bywgY29uc3QgY2hhciAqb250b19uYW1lLAotCQkJCSBjb25zdCBjaGFyICpzcXVhc2hfb250bywgY29uc3QgY2hhciAqaGVhZF9uYW1lLAotCQkJCSBjb25zdCBjaGFyICpyZXN0cmljdF9yZXZpc2lvbiwgY2hhciAqcmF3X3N0cmF0ZWdpZXMsCi0JCQkJIGNvbnN0IGNoYXIgKmNtZCwgdW5zaWduZWQgYXV0b3NxdWFzaCkKLXsKLQlpbnQgcmV0OwotCWNvbnN0IGNoYXIgKmhlYWRfaGFzaCA9IE5VTEw7Ci0JY2hhciAqcmV2aXNpb25zID0gTlVMTCwgKnNob3J0cmV2aXNpb25zID0gTlVMTDsKLQlzdHJ1Y3QgYXJndl9hcnJheSBtYWtlX3NjcmlwdF9hcmdzID0gQVJHVl9BUlJBWV9JTklUOwotCUZJTEUgKnRvZG9fbGlzdDsKLQotCWlmIChwcmVwYXJlX2JyYW5jaF90b19iZV9yZWJhc2VkKG9wdHMsIHN3aXRjaF90bykpCi0JCXJldHVybiAtMTsKLQotCWlmIChnZXRfcmV2aXNpb25fcmFuZ2VzKHVwc3RyZWFtLCBvbnRvLCAmaGVhZF9oYXNoLAotCQkJCSZyZXZpc2lvbnMsICZzaG9ydHJldmlzaW9ucykpCi0JCXJldHVybiAtMTsKLQotCWlmIChyYXdfc3RyYXRlZ2llcykKLQkJcGFyc2Vfc3RyYXRlZ3lfb3B0cyhvcHRzLCByYXdfc3RyYXRlZ2llcyk7Ci0KLQlpZiAoaW5pdF9iYXNpY19zdGF0ZShvcHRzLCBoZWFkX25hbWUsIG9udG8sIGhlYWRfaGFzaCkpIHsKLQkJZnJlZShyZXZpc2lvbnMpOwotCQlmcmVlKHNob3J0cmV2aXNpb25zKTsKLQotCQlyZXR1cm4gLTE7Ci0JfQotCi0JaWYgKCF1cHN0cmVhbSAmJiBzcXVhc2hfb250bykKLQkJd3JpdGVfZmlsZShwYXRoX3NxdWFzaF9vbnRvKCksICIlc1xuIiwgc3F1YXNoX29udG8pOwotCi0JdG9kb19saXN0ID0gZm9wZW4ocmViYXNlX3BhdGhfdG9kbygpLCAidyIpOwotCWlmICghdG9kb19saXN0KSB7Ci0JCWZyZWUocmV2aXNpb25zKTsKLQkJZnJlZShzaG9ydHJldmlzaW9ucyk7Ci0KLQkJcmV0dXJuIGVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCBvcGVuICVzIiksIHJlYmFzZV9wYXRoX3RvZG8oKSk7Ci0JfQotCi0JYXJndl9hcnJheV9wdXNobCgmbWFrZV9zY3JpcHRfYXJncywgIiIsIHJldmlzaW9ucywgTlVMTCk7Ci0JaWYgKHJlc3RyaWN0X3JldmlzaW9uKQotCQlhcmd2X2FycmF5X3B1c2goJm1ha2Vfc2NyaXB0X2FyZ3MsIHJlc3RyaWN0X3JldmlzaW9uKTsKLQotCXJldCA9IHNlcXVlbmNlcl9tYWtlX3NjcmlwdCh0b2RvX2xpc3QsCi0JCQkJICAgIG1ha2Vfc2NyaXB0X2FyZ3MuYXJnYywgbWFrZV9zY3JpcHRfYXJncy5hcmd2LAotCQkJCSAgICBmbGFncyk7Ci0JZmNsb3NlKHRvZG9fbGlzdCk7Ci0KLQlpZiAocmV0KQotCQllcnJvcihfKCJjb3VsZCBub3QgZ2VuZXJhdGUgdG9kbyBsaXN0IikpOwotCWVsc2UgewotCQlkaXNjYXJkX2NhY2hlKCk7Ci0JCXJldCA9IGNvbXBsZXRlX2FjdGlvbihvcHRzLCBmbGFncywgc2hvcnRyZXZpc2lvbnMsIG9udG9fbmFtZSwgb250bywKLQkJCQkgICAgICBoZWFkX2hhc2gsIGNtZCwgYXV0b3NxdWFzaCk7Ci0JfQotCi0JZnJlZShyZXZpc2lvbnMpOwotCWZyZWUoc2hvcnRyZXZpc2lvbnMpOwotCWFyZ3ZfYXJyYXlfY2xlYXIoJm1ha2Vfc2NyaXB0X2FyZ3MpOwotCi0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBidWlsdGluX3JlYmFzZV9pbnRlcmFjdGl2ZV91c2FnZVtdID0gewotCU5fKCJnaXQgcmViYXNlLS1pbnRlcmFjdGl2ZSBbPG9wdGlvbnM+XSIpLAotCU5VTEwKLX07Ci0KLWludCBjbWRfcmViYXNlX19pbnRlcmFjdGl2ZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKLXsKLQlzdHJ1Y3QgcmVwbGF5X29wdHMgb3B0cyA9IFJFUExBWV9PUFRTX0lOSVQ7Ci0JdW5zaWduZWQgZmxhZ3MgPSAwLCBrZWVwX2VtcHR5ID0gMCwgcmViYXNlX21lcmdlcyA9IDAsIGF1dG9zcXVhc2ggPSAwOwotCWludCBhYmJyZXZpYXRlX2NvbW1hbmRzID0gMCwgcmViYXNlX2NvdXNpbnMgPSAtMSwgcmV0ID0gMDsKLQljb25zdCBjaGFyICpvbnRvID0gTlVMTCwgKm9udG9fbmFtZSA9IE5VTEwsICpyZXN0cmljdF9yZXZpc2lvbiA9IE5VTEwsCi0JCSpzcXVhc2hfb250byA9IE5VTEwsICp1cHN0cmVhbSA9IE5VTEwsICpoZWFkX25hbWUgPSBOVUxMLAotCQkqc3dpdGNoX3RvID0gTlVMTCwgKmNtZCA9IE5VTEw7Ci0JY2hhciAqcmF3X3N0cmF0ZWdpZXMgPSBOVUxMOwotCWVudW0gewotCQlOT05FID0gMCwgQ09OVElOVUUsIFNLSVAsIEVESVRfVE9ETywgU0hPV19DVVJSRU5UX1BBVENILAotCQlTSE9SVEVOX09JRFMsIEVYUEFORF9PSURTLCBDSEVDS19UT0RPX0xJU1QsIFJFQVJSQU5HRV9TUVVBU0gsIEFERF9FWEVDCi0JfSBjb21tYW5kID0gMDsKLQlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKLQkJT1BUX0JPT0woMCwgImZmIiwgJm9wdHMuYWxsb3dfZmYsIE5fKCJhbGxvdyBmYXN0LWZvcndhcmQiKSksCi0JCU9QVF9CT09MKDAsICJrZWVwLWVtcHR5IiwgJmtlZXBfZW1wdHksIE5fKCJrZWVwIGVtcHR5IGNvbW1pdHMiKSksCi0JCU9QVF9CT09MKDAsICJhbGxvdy1lbXB0eS1tZXNzYWdlIiwgJm9wdHMuYWxsb3dfZW1wdHlfbWVzc2FnZSwKLQkJCSBOXygiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIikpLAotCQlPUFRfQk9PTCgwLCAicmViYXNlLW1lcmdlcyIsICZyZWJhc2VfbWVyZ2VzLCBOXygicmViYXNlIG1lcmdlIGNvbW1pdHMiKSksCi0JCU9QVF9CT09MKDAsICJyZWJhc2UtY291c2lucyIsICZyZWJhc2VfY291c2lucywKLQkJCSBOXygia2VlcCBvcmlnaW5hbCBicmFuY2ggcG9pbnRzIG9mIGNvdXNpbnMiKSksCi0JCU9QVF9CT09MKDAsICJhdXRvc3F1YXNoIiwgJmF1dG9zcXVhc2gsCi0JCQkgTl8oIm1vdmUgY29tbWl0cyB0aGF0IGJlZ2luIHdpdGggc3F1YXNoIS9maXh1cCEiKSksCi0JCU9QVF9CT09MKDAsICJzaWdub2ZmIiwgJm9wdHMuc2lnbm9mZiwgTl8oInNpZ24gY29tbWl0cyIpKSwKLQkJT1BUX19WRVJCT1NFKCZvcHRzLnZlcmJvc2UsIE5fKCJiZSB2ZXJib3NlIikpLAotCQlPUFRfQ01ETU9ERSgwLCAiY29udGludWUiLCAmY29tbWFuZCwgTl8oImNvbnRpbnVlIHJlYmFzZSIpLAotCQkJICAgIENPTlRJTlVFKSwKLQkJT1BUX0NNRE1PREUoMCwgInNraXAiLCAmY29tbWFuZCwgTl8oInNraXAgY29tbWl0IiksIFNLSVApLAotCQlPUFRfQ01ETU9ERSgwLCAiZWRpdC10b2RvIiwgJmNvbW1hbmQsIE5fKCJlZGl0IHRoZSB0b2RvIGxpc3QiKSwKLQkJCSAgICBFRElUX1RPRE8pLAotCQlPUFRfQ01ETU9ERSgwLCAic2hvdy1jdXJyZW50LXBhdGNoIiwgJmNvbW1hbmQsIE5fKCJzaG93IHRoZSBjdXJyZW50IHBhdGNoIiksCi0JCQkgICAgU0hPV19DVVJSRU5UX1BBVENIKSwKLQkJT1BUX0NNRE1PREUoMCwgInNob3J0ZW4taWRzIiwgJmNvbW1hbmQsCi0JCQlOXygic2hvcnRlbiBjb21taXQgaWRzIGluIHRoZSB0b2RvIGxpc3QiKSwgU0hPUlRFTl9PSURTKSwKLQkJT1BUX0NNRE1PREUoMCwgImV4cGFuZC1pZHMiLCAmY29tbWFuZCwKLQkJCU5fKCJleHBhbmQgY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IiksIEVYUEFORF9PSURTKSwKLQkJT1BUX0NNRE1PREUoMCwgImNoZWNrLXRvZG8tbGlzdCIsICZjb21tYW5kLAotCQkJTl8oImNoZWNrIHRoZSB0b2RvIGxpc3QiKSwgQ0hFQ0tfVE9ET19MSVNUKSwKLQkJT1BUX0NNRE1PREUoMCwgInJlYXJyYW5nZS1zcXVhc2giLCAmY29tbWFuZCwKLQkJCU5fKCJyZWFycmFuZ2UgZml4dXAvc3F1YXNoIGxpbmVzIiksIFJFQVJSQU5HRV9TUVVBU0gpLAotCQlPUFRfQ01ETU9ERSgwLCAiYWRkLWV4ZWMtY29tbWFuZHMiLCAmY29tbWFuZCwKLQkJCU5fKCJpbnNlcnQgZXhlYyBjb21tYW5kcyBpbiB0b2RvIGxpc3QiKSwgQUREX0VYRUMpLAotCQlPUFRfU1RSSU5HKDAsICJvbnRvIiwgJm9udG8sIE5fKCJvbnRvIiksIE5fKCJvbnRvIikpLAotCQlPUFRfU1RSSU5HKDAsICJyZXN0cmljdC1yZXZpc2lvbiIsICZyZXN0cmljdF9yZXZpc2lvbiwKLQkJCSAgIE5fKCJyZXN0cmljdC1yZXZpc2lvbiIpLCBOXygicmVzdHJpY3QgcmV2aXNpb24iKSksCi0JCU9QVF9TVFJJTkcoMCwgInNxdWFzaC1vbnRvIiwgJnNxdWFzaF9vbnRvLCBOXygic3F1YXNoLW9udG8iKSwKLQkJCSAgIE5fKCJzcXVhc2ggb250byIpKSwKLQkJT1BUX1NUUklORygwLCAidXBzdHJlYW0iLCAmdXBzdHJlYW0sIE5fKCJ1cHN0cmVhbSIpLAotCQkJICAgTl8oInRoZSB1cHN0cmVhbSBjb21taXQiKSksCi0JCU9QVF9TVFJJTkcoMCwgImhlYWQtbmFtZSIsICZoZWFkX25hbWUsIE5fKCJoZWFkLW5hbWUiKSwgTl8oImhlYWQgbmFtZSIpKSwKLQkJeyBPUFRJT05fU1RSSU5HLCAnUycsICJncGctc2lnbiIsICZvcHRzLmdwZ19zaWduLCBOXygia2V5LWlkIiksCi0JCQlOXygiR1BHLXNpZ24gY29tbWl0cyIpLAotCQkJUEFSU0VfT1BUX09QVEFSRywgTlVMTCwgKGludHB0cl90KSAiIiB9LAotCQlPUFRfU1RSSU5HKDAsICJzdHJhdGVneSIsICZvcHRzLnN0cmF0ZWd5LCBOXygic3RyYXRlZ3kiKSwKLQkJCSAgIE5fKCJyZWJhc2Ugc3RyYXRlZ3kiKSksCi0JCU9QVF9TVFJJTkcoMCwgInN0cmF0ZWd5LW9wdHMiLCAmcmF3X3N0cmF0ZWdpZXMsIE5fKCJzdHJhdGVneS1vcHRzIiksCi0JCQkgICBOXygic3RyYXRlZ3kgb3B0aW9ucyIpKSwKLQkJT1BUX1NUUklORygwLCAic3dpdGNoLXRvIiwgJnN3aXRjaF90bywgTl8oInN3aXRjaC10byIpLAotCQkJICAgTl8oInRoZSBicmFuY2ggb3IgY29tbWl0IHRvIGNoZWNrb3V0IikpLAotCQlPUFRfU1RSSU5HKDAsICJvbnRvLW5hbWUiLCAmb250b19uYW1lLCBOXygib250by1uYW1lIiksIE5fKCJvbnRvIG5hbWUiKSksCi0JCU9QVF9TVFJJTkcoMCwgImNtZCIsICZjbWQsIE5fKCJjbWQiKSwgTl8oInRoZSBjb21tYW5kIHRvIHJ1biIpKSwKLQkJT1BUX1JFUkVSRV9BVVRPVVBEQVRFKCZvcHRzLmFsbG93X3JlcmVyZV9hdXRvKSwKLQkJT1BUX0VORCgpCi0JfTsKLQotCXNlcXVlbmNlcl9pbml0X2NvbmZpZygmb3B0cyk7Ci0JZ2l0X2NvbmZpZ19nZXRfYm9vbCgicmViYXNlLmFiYnJldmlhdGVjb21tYW5kcyIsICZhYmJyZXZpYXRlX2NvbW1hbmRzKTsKLQotCW9wdHMuYWN0aW9uID0gUkVQTEFZX0lOVEVSQUNUSVZFX1JFQkFTRTsKLQlvcHRzLmFsbG93X2ZmID0gMTsKLQlvcHRzLmFsbG93X2VtcHR5ID0gMTsKLQotCWlmIChhcmdjID09IDEpCi0JCXVzYWdlX3dpdGhfb3B0aW9ucyhidWlsdGluX3JlYmFzZV9pbnRlcmFjdGl2ZV91c2FnZSwgb3B0aW9ucyk7Ci0KLQlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBOVUxMLCBvcHRpb25zLAotCQkJYnVpbHRpbl9yZWJhc2VfaW50ZXJhY3RpdmVfdXNhZ2UsIFBBUlNFX09QVF9LRUVQX0FSR1YwKTsKLQotCW9wdHMuZ3BnX3NpZ24gPSB4c3RyZHVwX29yX251bGwob3B0cy5ncGdfc2lnbik7Ci0KLQlmbGFncyB8PSBrZWVwX2VtcHR5ID8gVE9ET19MSVNUX0tFRVBfRU1QVFkgOiAwOwotCWZsYWdzIHw9IGFiYnJldmlhdGVfY29tbWFuZHMgPyBUT0RPX0xJU1RfQUJCUkVWSUFURV9DTURTIDogMDsKLQlmbGFncyB8PSByZWJhc2VfbWVyZ2VzID8gVE9ET19MSVNUX1JFQkFTRV9NRVJHRVMgOiAwOwotCWZsYWdzIHw9IHJlYmFzZV9jb3VzaW5zID4gMCA/IFRPRE9fTElTVF9SRUJBU0VfQ09VU0lOUyA6IDA7Ci0JZmxhZ3MgfD0gY29tbWFuZCA9PSBTSE9SVEVOX09JRFMgPyBUT0RPX0xJU1RfU0hPUlRFTl9JRFMgOiAwOwotCi0JaWYgKHJlYmFzZV9jb3VzaW5zID49IDAgJiYgIXJlYmFzZV9tZXJnZXMpCi0JCXdhcm5pbmcoXygiLS1bbm8tXXJlYmFzZS1jb3VzaW5zIGhhcyBubyBlZmZlY3Qgd2l0aG91dCAiCi0JCQkgICItLXJlYmFzZS1tZXJnZXMiKSk7Ci0KLQlzd2l0Y2ggKGNvbW1hbmQpIHsKLQljYXNlIE5PTkU6Ci0JCWlmICghb250byAmJiAhdXBzdHJlYW0pCi0JCQlkaWUoXygiYSBiYXNlIGNvbW1pdCBtdXN0IGJlIHByb3ZpZGVkIHdpdGggLS11cHN0cmVhbSBvciAtLW9udG8iKSk7Ci0KLQkJcmV0ID0gZG9faW50ZXJhY3RpdmVfcmViYXNlKCZvcHRzLCBmbGFncywgc3dpdGNoX3RvLCB1cHN0cmVhbSwgb250bywKLQkJCQkJICAgIG9udG9fbmFtZSwgc3F1YXNoX29udG8sIGhlYWRfbmFtZSwgcmVzdHJpY3RfcmV2aXNpb24sCi0JCQkJCSAgICByYXdfc3RyYXRlZ2llcywgY21kLCBhdXRvc3F1YXNoKTsKLQkJYnJlYWs7Ci0JY2FzZSBTS0lQOiB7Ci0JCXN0cnVjdCBzdHJpbmdfbGlzdCBtZXJnZV9yciA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwotCi0JCXJlcmVyZV9jbGVhcigmbWVyZ2VfcnIpOwotCQkvKiBmYWxsdGhyb3VnaCAqLwotCWNhc2UgQ09OVElOVUU6Ci0JCXJldCA9IHNlcXVlbmNlcl9jb250aW51ZSgmb3B0cyk7Ci0JCWJyZWFrOwotCX0KLQljYXNlIEVESVRfVE9ETzoKLQkJcmV0ID0gZWRpdF90b2RvX2xpc3QoZmxhZ3MpOwotCQlicmVhazsKLQljYXNlIFNIT1dfQ1VSUkVOVF9QQVRDSDogewotCQlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjbWQgPSBDSElMRF9QUk9DRVNTX0lOSVQ7Ci0KLQkJY21kLmdpdF9jbWQgPSAxOwotCQlhcmd2X2FycmF5X3B1c2hsKCZjbWQuYXJncywgInNob3ciLCAiUkVCQVNFX0hFQUQiLCAiLS0iLCBOVUxMKTsKLQkJcmV0ID0gcnVuX2NvbW1hbmQoJmNtZCk7Ci0KLQkJYnJlYWs7Ci0JfQotCWNhc2UgU0hPUlRFTl9PSURTOgotCWNhc2UgRVhQQU5EX09JRFM6Ci0JCXJldCA9IHRyYW5zZm9ybV90b2RvcyhmbGFncyk7Ci0JCWJyZWFrOwotCWNhc2UgQ0hFQ0tfVE9ET19MSVNUOgotCQlyZXQgPSBjaGVja190b2RvX2xpc3QoKTsKLQkJYnJlYWs7Ci0JY2FzZSBSRUFSUkFOR0VfU1FVQVNIOgotCQlyZXQgPSByZWFycmFuZ2Vfc3F1YXNoKCk7Ci0JCWJyZWFrOwotCWNhc2UgQUREX0VYRUM6Ci0JCXJldCA9IHNlcXVlbmNlcl9hZGRfZXhlY19jb21tYW5kcyhjbWQpOwotCQlicmVhazsKLQlkZWZhdWx0OgotCQlCVUcoImludmFsaWQgY29tbWFuZCAnJWQnIiwgY29tbWFuZCk7Ci0JfQotCi0JcmV0dXJuICEhcmV0OwotfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yZWJhc2UuYyBiL2J1aWx0aW4vcmViYXNlLmMKaW5kZXggYjVjOTllYy4uY2I3YWVhZSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9yZWJhc2UuYworKysgYi9idWlsdGluL3JlYmFzZS5jCkBAIC00LDYgKzQsNyBAQAogICogQ29weXJpZ2h0IChjKSAyMDE4IFByYXRpayBLYXJraQogICovCiAKKyNkZWZpbmUgVVNFX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgogI2luY2x1ZGUgImV4ZWMtY21kLmgiCkBAIC0yNCw1MiArMjUsNDEgQEAKICNpbmNsdWRlICJjb21taXQtcmVhY2guaCIKICNpbmNsdWRlICJyZXJlcmUuaCIKICNpbmNsdWRlICJicmFuY2guaCIKKyNpbmNsdWRlICJzZXF1ZW5jZXIuaCIKKyNpbmNsdWRlICJyZWJhc2UtaW50ZXJhY3RpdmUuaCIKIAogc3RhdGljIGNoYXIgY29uc3QgKiBjb25zdCBidWlsdGluX3JlYmFzZV91c2FnZVtdID0gewotCU5fKCJnaXQgcmViYXNlIFstaV0gW29wdGlvbnNdIFstLWV4ZWMgPGNtZD5dIFstLW9udG8gPG5ld2Jhc2U+XSAiCi0JCSJbPHVwc3RyZWFtPl0gWzxicmFuY2g+XSIpLAorCU5fKCJnaXQgcmViYXNlIFstaV0gW29wdGlvbnNdIFstLWV4ZWMgPGNtZD5dICIKKwkJIlstLW9udG8gPG5ld2Jhc2U+IHwgLS1rZWVwLWJhc2VdIFs8dXBzdHJlYW0+IFs8YnJhbmNoPl1dIiksCiAJTl8oImdpdCByZWJhc2UgWy1pXSBbb3B0aW9uc10gWy0tZXhlYyA8Y21kPl0gWy0tb250byA8bmV3YmFzZT5dICIKIAkJIi0tcm9vdCBbPGJyYW5jaD5dIiksCiAJTl8oImdpdCByZWJhc2UgLS1jb250aW51ZSB8IC0tYWJvcnQgfCAtLXNraXAgfCAtLWVkaXQtdG9kbyIpLAogCU5VTEwKIH07CiAKK3N0YXRpYyBHSVRfUEFUSF9GVU5DKHBhdGhfc3F1YXNoX29udG8sICJyZWJhc2UtbWVyZ2Uvc3F1YXNoLW9udG8iKQorc3RhdGljIEdJVF9QQVRIX0ZVTkMocGF0aF9pbnRlcmFjdGl2ZSwgInJlYmFzZS1tZXJnZS9pbnRlcmFjdGl2ZSIpCiBzdGF0aWMgR0lUX1BBVEhfRlVOQyhhcHBseV9kaXIsICJyZWJhc2UtYXBwbHkiKQogc3RhdGljIEdJVF9QQVRIX0ZVTkMobWVyZ2VfZGlyLCAicmViYXNlLW1lcmdlIikKIAogZW51bSByZWJhc2VfdHlwZSB7CiAJUkVCQVNFX1VOU1BFQ0lGSUVEID0gLTEsCi0JUkVCQVNFX0FNLAorCVJFQkFTRV9BUFBMWSwKIAlSRUJBU0VfTUVSR0UsCi0JUkVCQVNFX0lOVEVSQUNUSVZFLAogCVJFQkFTRV9QUkVTRVJWRV9NRVJHRVMKIH07CiAKLXN0YXRpYyBpbnQgdXNlX2J1aWx0aW5fcmViYXNlKHZvaWQpCi17Ci0Jc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7Ci0Jc3RydWN0IHN0cmJ1ZiBvdXQgPSBTVFJCVUZfSU5JVDsKLQlpbnQgcmV0LCBlbnYgPSBnaXRfZW52X2Jvb2woIkdJVF9URVNUX1JFQkFTRV9VU0VfQlVJTFRJTiIsIC0xKTsKLQotCWlmIChlbnYgIT0gLTEpCi0JCXJldHVybiBlbnY7Ci0KLQlhcmd2X2FycmF5X3B1c2hsKCZjcC5hcmdzLAotCQkJICJjb25maWciLCAiLS1ib29sIiwgInJlYmFzZS51c2VidWlsdGluIiwgTlVMTCk7Ci0JY3AuZ2l0X2NtZCA9IDE7Ci0JaWYgKGNhcHR1cmVfY29tbWFuZCgmY3AsICZvdXQsIDYpKSB7Ci0JCXN0cmJ1Zl9yZWxlYXNlKCZvdXQpOwotCQlyZXR1cm4gMTsKLQl9Ci0KLQlzdHJidWZfdHJpbSgmb3V0KTsKLQlyZXQgPSAhc3RyY21wKCJ0cnVlIiwgb3V0LmJ1Zik7Ci0Jc3RyYnVmX3JlbGVhc2UoJm91dCk7Ci0JcmV0dXJuIHJldDsKLX0KK2VudW0gZW1wdHlfdHlwZSB7CisJRU1QVFlfVU5TUEVDSUZJRUQgPSAtMSwKKwlFTVBUWV9EUk9QLAorCUVNUFRZX0tFRVAsCisJRU1QVFlfQVNLCit9OwogCiBzdHJ1Y3QgcmViYXNlX29wdGlvbnMgewogCWVudW0gcmViYXNlX3R5cGUgdHlwZTsKKwllbnVtIGVtcHR5X3R5cGUgZW1wdHk7CisJY29uc3QgY2hhciAqZGVmYXVsdF9iYWNrZW5kOwogCWNvbnN0IGNoYXIgKnN0YXRlX2RpcjsKIAlzdHJ1Y3QgY29tbWl0ICp1cHN0cmVhbTsKIAljb25zdCBjaGFyICp1cHN0cmVhbV9uYW1lOwpAQCAtODAsNyArNzAsNyBAQAogCWNvbnN0IGNoYXIgKm9udG9fbmFtZTsKIAljb25zdCBjaGFyICpyZXZpc2lvbnM7CiAJY29uc3QgY2hhciAqc3dpdGNoX3RvOwotCWludCByb290OworCWludCByb290LCByb290X3dpdGhfb250bzsKIAlzdHJ1Y3Qgb2JqZWN0X2lkICpzcXVhc2hfb250bzsKIAlzdHJ1Y3QgY29tbWl0ICpyZXN0cmljdF9yZXZpc2lvbjsKIAlpbnQgZG9udF9maW5pc2hfcmViYXNlOwpAQCAtOTUsNyArODUsNiBAQAogCWNvbnN0IGNoYXIgKmFjdGlvbjsKIAlpbnQgc2lnbm9mZjsKIAlpbnQgYWxsb3dfcmVyZXJlX2F1dG91cGRhdGU7Ci0JaW50IGtlZXBfZW1wdHk7CiAJaW50IGF1dG9zcXVhc2g7CiAJY2hhciAqZ3BnX3NpZ25fb3B0OwogCWludCBhdXRvc3Rhc2g7CkBAIC0xMDQsMjcgKzkzLDQ3OSBAQAogCWludCByZWJhc2VfbWVyZ2VzLCByZWJhc2VfY291c2luczsKIAljaGFyICpzdHJhdGVneSwgKnN0cmF0ZWd5X29wdHM7CiAJc3RydWN0IHN0cmJ1ZiBnaXRfZm9ybWF0X3BhdGNoX29wdDsKKwlpbnQgcmVzY2hlZHVsZV9mYWlsZWRfZXhlYzsKKwlpbnQgdXNlX2xlZ2FjeV9yZWJhc2U7CiB9OwogCi1zdGF0aWMgaW50IGlzX2ludGVyYWN0aXZlKHN0cnVjdCByZWJhc2Vfb3B0aW9ucyAqb3B0cykKKyNkZWZpbmUgUkVCQVNFX09QVElPTlNfSU5JVCB7CQkJICAJXAorCQkudHlwZSA9IFJFQkFTRV9VTlNQRUNJRklFRCwJICAJXAorCQkuZW1wdHkgPSBFTVBUWV9VTlNQRUNJRklFRCwJICAJXAorCQkuZGVmYXVsdF9iYWNrZW5kID0gIm1lcmdlIiwJICAJXAorCQkuZmxhZ3MgPSBSRUJBU0VfTk9fUVVJRVQsIAkJXAorCQkuZ2l0X2FtX29wdHMgPSBBUkdWX0FSUkFZX0lOSVQsCQlcCisJCS5naXRfZm9ybWF0X3BhdGNoX29wdCA9IFNUUkJVRl9JTklUCVwKKwl9CisKK3N0YXRpYyBzdHJ1Y3QgcmVwbGF5X29wdHMgZ2V0X3JlcGxheV9vcHRzKGNvbnN0IHN0cnVjdCByZWJhc2Vfb3B0aW9ucyAqb3B0cykKIHsKLQlyZXR1cm4gb3B0cy0+dHlwZSA9PSBSRUJBU0VfSU5URVJBQ1RJVkUgfHwKKwlzdHJ1Y3QgcmVwbGF5X29wdHMgcmVwbGF5ID0gUkVQTEFZX09QVFNfSU5JVDsKKworCXJlcGxheS5hY3Rpb24gPSBSRVBMQVlfSU5URVJBQ1RJVkVfUkVCQVNFOworCXNlcXVlbmNlcl9pbml0X2NvbmZpZygmcmVwbGF5KTsKKworCXJlcGxheS5zaWdub2ZmID0gb3B0cy0+c2lnbm9mZjsKKwlyZXBsYXkuYWxsb3dfZmYgPSAhKG9wdHMtPmZsYWdzICYgUkVCQVNFX0ZPUkNFKTsKKwlpZiAob3B0cy0+YWxsb3dfcmVyZXJlX2F1dG91cGRhdGUpCisJCXJlcGxheS5hbGxvd19yZXJlcmVfYXV0byA9IG9wdHMtPmFsbG93X3JlcmVyZV9hdXRvdXBkYXRlOworCXJlcGxheS5hbGxvd19lbXB0eSA9IDE7CisJcmVwbGF5LmFsbG93X2VtcHR5X21lc3NhZ2UgPSBvcHRzLT5hbGxvd19lbXB0eV9tZXNzYWdlOworCXJlcGxheS5kcm9wX3JlZHVuZGFudF9jb21taXRzID0gKG9wdHMtPmVtcHR5ID09IEVNUFRZX0RST1ApOworCXJlcGxheS5rZWVwX3JlZHVuZGFudF9jb21taXRzID0gKG9wdHMtPmVtcHR5ID09IEVNUFRZX0tFRVApOworCXJlcGxheS5xdWlldCA9ICEob3B0cy0+ZmxhZ3MgJiBSRUJBU0VfTk9fUVVJRVQpOworCXJlcGxheS52ZXJib3NlID0gb3B0cy0+ZmxhZ3MgJiBSRUJBU0VfVkVSQk9TRTsKKwlyZXBsYXkucmVzY2hlZHVsZV9mYWlsZWRfZXhlYyA9IG9wdHMtPnJlc2NoZWR1bGVfZmFpbGVkX2V4ZWM7CisJcmVwbGF5LmdwZ19zaWduID0geHN0cmR1cF9vcl9udWxsKG9wdHMtPmdwZ19zaWduX29wdCk7CisJcmVwbGF5LnN0cmF0ZWd5ID0gb3B0cy0+c3RyYXRlZ3k7CisJaWYgKG9wdHMtPnN0cmF0ZWd5X29wdHMpCisJCXBhcnNlX3N0cmF0ZWd5X29wdHMoJnJlcGxheSwgb3B0cy0+c3RyYXRlZ3lfb3B0cyk7CisKKwlpZiAob3B0cy0+c3F1YXNoX29udG8pIHsKKwkJb2lkY3B5KCZyZXBsYXkuc3F1YXNoX29udG8sIG9wdHMtPnNxdWFzaF9vbnRvKTsKKwkJcmVwbGF5LmhhdmVfc3F1YXNoX29udG8gPSAxOworCX0KKworCXJldHVybiByZXBsYXk7Cit9CisKK2VudW0gYWN0aW9uIHsKKwlBQ1RJT05fTk9ORSA9IDAsCisJQUNUSU9OX0NPTlRJTlVFLAorCUFDVElPTl9TS0lQLAorCUFDVElPTl9BQk9SVCwKKwlBQ1RJT05fUVVJVCwKKwlBQ1RJT05fRURJVF9UT0RPLAorCUFDVElPTl9TSE9XX0NVUlJFTlRfUEFUQ0gsCisJQUNUSU9OX1NIT1JURU5fT0lEUywKKwlBQ1RJT05fRVhQQU5EX09JRFMsCisJQUNUSU9OX0NIRUNLX1RPRE9fTElTVCwKKwlBQ1RJT05fUkVBUlJBTkdFX1NRVUFTSCwKKwlBQ1RJT05fQUREX0VYRUMKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICphY3Rpb25fbmFtZXNbXSA9IHsgInVuZGVmaW5lZCIsCisJCQkJICAgICAgImNvbnRpbnVlIiwKKwkJCQkgICAgICAic2tpcCIsCisJCQkJICAgICAgImFib3J0IiwKKwkJCQkgICAgICAicXVpdCIsCisJCQkJICAgICAgImVkaXRfdG9kbyIsCisJCQkJICAgICAgInNob3dfY3VycmVudF9wYXRjaCIgfTsKKworc3RhdGljIGludCBhZGRfZXhlY19jb21tYW5kcyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmNvbW1hbmRzKQoreworCWNvbnN0IGNoYXIgKnRvZG9fZmlsZSA9IHJlYmFzZV9wYXRoX3RvZG8oKTsKKwlzdHJ1Y3QgdG9kb19saXN0IHRvZG9fbGlzdCA9IFRPRE9fTElTVF9JTklUOworCWludCByZXM7CisKKwlpZiAoc3RyYnVmX3JlYWRfZmlsZSgmdG9kb19saXN0LmJ1ZiwgdG9kb19maWxlLCAwKSA8IDApCisJCXJldHVybiBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3QgcmVhZCAnJXMnLiIpLCB0b2RvX2ZpbGUpOworCisJaWYgKHRvZG9fbGlzdF9wYXJzZV9pbnNuX2J1ZmZlcih0aGVfcmVwb3NpdG9yeSwgdG9kb19saXN0LmJ1Zi5idWYsCisJCQkJCSZ0b2RvX2xpc3QpKSB7CisJCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOworCQlyZXR1cm4gZXJyb3IoXygidW51c2FibGUgdG9kbyBsaXN0OiAnJXMnIiksIHRvZG9fZmlsZSk7CisJfQorCisJdG9kb19saXN0X2FkZF9leGVjX2NvbW1hbmRzKCZ0b2RvX2xpc3QsIGNvbW1hbmRzKTsKKwlyZXMgPSB0b2RvX2xpc3Rfd3JpdGVfdG9fZmlsZSh0aGVfcmVwb3NpdG9yeSwgJnRvZG9fbGlzdCwKKwkJCQkgICAgICB0b2RvX2ZpbGUsIE5VTEwsIE5VTEwsIC0xLCAwKTsKKwl0b2RvX2xpc3RfcmVsZWFzZSgmdG9kb19saXN0KTsKKworCWlmIChyZXMpCisJCXJldHVybiBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3Qgd3JpdGUgJyVzJy4iKSwgdG9kb19maWxlKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCByZWFycmFuZ2Vfc3F1YXNoX2luX3RvZG9fZmlsZSh2b2lkKQoreworCWNvbnN0IGNoYXIgKnRvZG9fZmlsZSA9IHJlYmFzZV9wYXRoX3RvZG8oKTsKKwlzdHJ1Y3QgdG9kb19saXN0IHRvZG9fbGlzdCA9IFRPRE9fTElTVF9JTklUOworCWludCByZXMgPSAwOworCisJaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUoJnRvZG9fbGlzdC5idWYsIHRvZG9fZmlsZSwgMCkgPCAwKQorCQlyZXR1cm4gZXJyb3JfZXJybm8oXygiY291bGQgbm90IHJlYWQgJyVzJy4iKSwgdG9kb19maWxlKTsKKwlpZiAodG9kb19saXN0X3BhcnNlX2luc25fYnVmZmVyKHRoZV9yZXBvc2l0b3J5LCB0b2RvX2xpc3QuYnVmLmJ1ZiwKKwkJCQkJJnRvZG9fbGlzdCkpIHsKKwkJdG9kb19saXN0X3JlbGVhc2UoJnRvZG9fbGlzdCk7CisJCXJldHVybiBlcnJvcihfKCJ1bnVzYWJsZSB0b2RvIGxpc3Q6ICclcyciKSwgdG9kb19maWxlKTsKKwl9CisKKwlyZXMgPSB0b2RvX2xpc3RfcmVhcnJhbmdlX3NxdWFzaCgmdG9kb19saXN0KTsKKwlpZiAoIXJlcykKKwkJcmVzID0gdG9kb19saXN0X3dyaXRlX3RvX2ZpbGUodGhlX3JlcG9zaXRvcnksICZ0b2RvX2xpc3QsCisJCQkJCSAgICAgIHRvZG9fZmlsZSwgTlVMTCwgTlVMTCwgLTEsIDApOworCisJdG9kb19saXN0X3JlbGVhc2UoJnRvZG9fbGlzdCk7CisKKwlpZiAocmVzKQorCQlyZXR1cm4gZXJyb3JfZXJybm8oXygiY291bGQgbm90IHdyaXRlICclcycuIiksIHRvZG9fZmlsZSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdHJhbnNmb3JtX3RvZG9fZmlsZSh1bnNpZ25lZCBmbGFncykKK3sKKwljb25zdCBjaGFyICp0b2RvX2ZpbGUgPSByZWJhc2VfcGF0aF90b2RvKCk7CisJc3RydWN0IHRvZG9fbGlzdCB0b2RvX2xpc3QgPSBUT0RPX0xJU1RfSU5JVDsKKwlpbnQgcmVzOworCisJaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUoJnRvZG9fbGlzdC5idWYsIHRvZG9fZmlsZSwgMCkgPCAwKQorCQlyZXR1cm4gZXJyb3JfZXJybm8oXygiY291bGQgbm90IHJlYWQgJyVzJy4iKSwgdG9kb19maWxlKTsKKworCWlmICh0b2RvX2xpc3RfcGFyc2VfaW5zbl9idWZmZXIodGhlX3JlcG9zaXRvcnksIHRvZG9fbGlzdC5idWYuYnVmLAorCQkJCQkmdG9kb19saXN0KSkgeworCQl0b2RvX2xpc3RfcmVsZWFzZSgmdG9kb19saXN0KTsKKwkJcmV0dXJuIGVycm9yKF8oInVudXNhYmxlIHRvZG8gbGlzdDogJyVzJyIpLCB0b2RvX2ZpbGUpOworCX0KKworCXJlcyA9IHRvZG9fbGlzdF93cml0ZV90b19maWxlKHRoZV9yZXBvc2l0b3J5LCAmdG9kb19saXN0LCB0b2RvX2ZpbGUsCisJCQkJICAgICAgTlVMTCwgTlVMTCwgLTEsIGZsYWdzKTsKKwl0b2RvX2xpc3RfcmVsZWFzZSgmdG9kb19saXN0KTsKKworCWlmIChyZXMpCisJCXJldHVybiBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3Qgd3JpdGUgJyVzJy4iKSwgdG9kb19maWxlKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBlZGl0X3RvZG9fZmlsZSh1bnNpZ25lZCBmbGFncykKK3sKKwljb25zdCBjaGFyICp0b2RvX2ZpbGUgPSByZWJhc2VfcGF0aF90b2RvKCk7CisJc3RydWN0IHRvZG9fbGlzdCB0b2RvX2xpc3QgPSBUT0RPX0xJU1RfSU5JVCwKKwkJbmV3X3RvZG8gPSBUT0RPX0xJU1RfSU5JVDsKKwlpbnQgcmVzID0gMDsKKworCWlmIChzdHJidWZfcmVhZF9maWxlKCZ0b2RvX2xpc3QuYnVmLCB0b2RvX2ZpbGUsIDApIDwgMCkKKwkJcmV0dXJuIGVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCByZWFkICclcycuIiksIHRvZG9fZmlsZSk7CisKKwlzdHJidWZfc3RyaXBzcGFjZSgmdG9kb19saXN0LmJ1ZiwgMSk7CisJcmVzID0gZWRpdF90b2RvX2xpc3QodGhlX3JlcG9zaXRvcnksICZ0b2RvX2xpc3QsICZuZXdfdG9kbywgTlVMTCwgTlVMTCwgZmxhZ3MpOworCWlmICghcmVzICYmIHRvZG9fbGlzdF93cml0ZV90b19maWxlKHRoZV9yZXBvc2l0b3J5LCAmbmV3X3RvZG8sIHRvZG9fZmlsZSwKKwkJCQkJICAgIE5VTEwsIE5VTEwsIC0xLCBmbGFncyAmIH4oVE9ET19MSVNUX1NIT1JURU5fSURTKSkpCisJCXJlcyA9IGVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCB3cml0ZSAnJXMnIiksIHRvZG9fZmlsZSk7CisKKwl0b2RvX2xpc3RfcmVsZWFzZSgmdG9kb19saXN0KTsKKwl0b2RvX2xpc3RfcmVsZWFzZSgmbmV3X3RvZG8pOworCisJcmV0dXJuIHJlczsKK30KKworc3RhdGljIGludCBnZXRfcmV2aXNpb25fcmFuZ2VzKHN0cnVjdCBjb21taXQgKnVwc3RyZWFtLCBzdHJ1Y3QgY29tbWl0ICpvbnRvLAorCQkJICAgICAgIHN0cnVjdCBvYmplY3RfaWQgKm9yaWdfaGVhZCwgY29uc3QgY2hhciAqKmhlYWRfaGFzaCwKKwkJCSAgICAgICBjaGFyICoqcmV2aXNpb25zLCBjaGFyICoqc2hvcnRyZXZpc2lvbnMpCit7CisJc3RydWN0IGNvbW1pdCAqYmFzZV9yZXYgPSB1cHN0cmVhbSA/IHVwc3RyZWFtIDogb250bzsKKwljb25zdCBjaGFyICpzaG9ydGhlYWQ7CisKKwkqaGVhZF9oYXNoID0gZmluZF91bmlxdWVfYWJicmV2KG9yaWdfaGVhZCwgR0lUX01BWF9IRVhTWik7CisJKnJldmlzaW9ucyA9IHhzdHJmbXQoIiVzLi4uJXMiLCBvaWRfdG9faGV4KCZiYXNlX3Jldi0+b2JqZWN0Lm9pZCksCisJCQkJCQkgICAqaGVhZF9oYXNoKTsKKworCXNob3J0aGVhZCA9IGZpbmRfdW5pcXVlX2FiYnJldihvcmlnX2hlYWQsIERFRkFVTFRfQUJCUkVWKTsKKworCWlmICh1cHN0cmVhbSkgeworCQljb25zdCBjaGFyICpzaG9ydHJldjsKKworCQlzaG9ydHJldiA9IGZpbmRfdW5pcXVlX2FiYnJldigmYmFzZV9yZXYtPm9iamVjdC5vaWQsCisJCQkJCSAgICAgIERFRkFVTFRfQUJCUkVWKTsKKworCQkqc2hvcnRyZXZpc2lvbnMgPSB4c3RyZm10KCIlcy4uJXMiLCBzaG9ydHJldiwgc2hvcnRoZWFkKTsKKwl9IGVsc2UKKwkJKnNob3J0cmV2aXNpb25zID0geHN0cmR1cChzaG9ydGhlYWQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaW5pdF9iYXNpY19zdGF0ZShzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMsIGNvbnN0IGNoYXIgKmhlYWRfbmFtZSwKKwkJCSAgICBzdHJ1Y3QgY29tbWl0ICpvbnRvLCBjb25zdCBjaGFyICpvcmlnX2hlYWQpCit7CisJRklMRSAqaW50ZXJhY3RpdmU7CisKKwlpZiAoIWlzX2RpcmVjdG9yeShtZXJnZV9kaXIoKSkgJiYgbWtkaXJfaW5fZ2l0ZGlyKG1lcmdlX2RpcigpKSkKKwkJcmV0dXJuIGVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICVzIiksIG1lcmdlX2RpcigpKTsKKworCWRlbGV0ZV9yZWZsb2coIlJFQkFTRV9IRUFEIik7CisKKwlpbnRlcmFjdGl2ZSA9IGZvcGVuKHBhdGhfaW50ZXJhY3RpdmUoKSwgInciKTsKKwlpZiAoIWludGVyYWN0aXZlKQorCQlyZXR1cm4gZXJyb3JfZXJybm8oXygiY291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiKSk7CisJZmNsb3NlKGludGVyYWN0aXZlKTsKKworCXJldHVybiB3cml0ZV9iYXNpY19zdGF0ZShvcHRzLCBoZWFkX25hbWUsIG9udG8sIG9yaWdfaGVhZCk7Cit9CisKK3N0YXRpYyB2b2lkIHNwbGl0X2V4ZWNfY29tbWFuZHMoY29uc3QgY2hhciAqY21kLCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmNvbW1hbmRzKQoreworCWlmIChjbWQgJiYgKmNtZCkgeworCQlzdHJpbmdfbGlzdF9zcGxpdChjb21tYW5kcywgY21kLCAnXG4nLCAtMSk7CisKKwkJLyogcmViYXNlLmMgYWRkcyBhIG5ldyBsaW5lIHRvIGNtZCBhZnRlciBldmVyeSBjb21tYW5kLAorCQkgKiBzbyBoZXJlIHRoZSBsYXN0IGNvbW1hbmQgaXMgYWx3YXlzIGVtcHR5ICovCisJCXN0cmluZ19saXN0X3JlbW92ZV9lbXB0eV9pdGVtcyhjb21tYW5kcywgMCk7CisJfQorfQorCitzdGF0aWMgaW50IGRvX2ludGVyYWN0aXZlX3JlYmFzZShzdHJ1Y3QgcmViYXNlX29wdGlvbnMgKm9wdHMsIHVuc2lnbmVkIGZsYWdzKQoreworCWludCByZXQ7CisJY29uc3QgY2hhciAqaGVhZF9oYXNoID0gTlVMTDsKKwljaGFyICpyZXZpc2lvbnMgPSBOVUxMLCAqc2hvcnRyZXZpc2lvbnMgPSBOVUxMOworCXN0cnVjdCBhcmd2X2FycmF5IG1ha2Vfc2NyaXB0X2FyZ3MgPSBBUkdWX0FSUkFZX0lOSVQ7CisJc3RydWN0IHRvZG9fbGlzdCB0b2RvX2xpc3QgPSBUT0RPX0xJU1RfSU5JVDsKKwlzdHJ1Y3QgcmVwbGF5X29wdHMgcmVwbGF5ID0gZ2V0X3JlcGxheV9vcHRzKG9wdHMpOworCXN0cnVjdCBzdHJpbmdfbGlzdCBjb21tYW5kcyA9IFNUUklOR19MSVNUX0lOSVRfRFVQOworCisJaWYgKGdldF9yZXZpc2lvbl9yYW5nZXMob3B0cy0+dXBzdHJlYW0sIG9wdHMtPm9udG8sICZvcHRzLT5vcmlnX2hlYWQsCisJCQkJJmhlYWRfaGFzaCwgJnJldmlzaW9ucywgJnNob3J0cmV2aXNpb25zKSkKKwkJcmV0dXJuIC0xOworCisJaWYgKGluaXRfYmFzaWNfc3RhdGUoJnJlcGxheSwKKwkJCSAgICAgb3B0cy0+aGVhZF9uYW1lID8gb3B0cy0+aGVhZF9uYW1lIDogImRldGFjaGVkIEhFQUQiLAorCQkJICAgICBvcHRzLT5vbnRvLCBoZWFkX2hhc2gpKSB7CisJCWZyZWUocmV2aXNpb25zKTsKKwkJZnJlZShzaG9ydHJldmlzaW9ucyk7CisKKwkJcmV0dXJuIC0xOworCX0KKworCWlmICghb3B0cy0+dXBzdHJlYW0gJiYgb3B0cy0+c3F1YXNoX29udG8pCisJCXdyaXRlX2ZpbGUocGF0aF9zcXVhc2hfb250bygpLCAiJXNcbiIsCisJCQkgICBvaWRfdG9faGV4KG9wdHMtPnNxdWFzaF9vbnRvKSk7CisKKwlhcmd2X2FycmF5X3B1c2hsKCZtYWtlX3NjcmlwdF9hcmdzLCAiIiwgcmV2aXNpb25zLCBOVUxMKTsKKwlpZiAob3B0cy0+cmVzdHJpY3RfcmV2aXNpb24pCisJCWFyZ3ZfYXJyYXlfcHVzaGYoJm1ha2Vfc2NyaXB0X2FyZ3MsICJeJXMiLAorCQkJCSBvaWRfdG9faGV4KCZvcHRzLT5yZXN0cmljdF9yZXZpc2lvbi0+b2JqZWN0Lm9pZCkpOworCisJcmV0ID0gc2VxdWVuY2VyX21ha2Vfc2NyaXB0KHRoZV9yZXBvc2l0b3J5LCAmdG9kb19saXN0LmJ1ZiwKKwkJCQkgICAgbWFrZV9zY3JpcHRfYXJncy5hcmdjLCBtYWtlX3NjcmlwdF9hcmdzLmFyZ3YsCisJCQkJICAgIGZsYWdzKTsKKworCWlmIChyZXQpCisJCWVycm9yKF8oImNvdWxkIG5vdCBnZW5lcmF0ZSB0b2RvIGxpc3QiKSk7CisJZWxzZSB7CisJCWRpc2NhcmRfY2FjaGUoKTsKKwkJaWYgKHRvZG9fbGlzdF9wYXJzZV9pbnNuX2J1ZmZlcih0aGVfcmVwb3NpdG9yeSwgdG9kb19saXN0LmJ1Zi5idWYsCisJCQkJCQkmdG9kb19saXN0KSkKKwkJCUJVRygidW51c2FibGUgdG9kbyBsaXN0Iik7CisKKwkJc3BsaXRfZXhlY19jb21tYW5kcyhvcHRzLT5jbWQsICZjb21tYW5kcyk7CisJCXJldCA9IGNvbXBsZXRlX2FjdGlvbih0aGVfcmVwb3NpdG9yeSwgJnJlcGxheSwgZmxhZ3MsCisJCQlzaG9ydHJldmlzaW9ucywgb3B0cy0+b250b19uYW1lLCBvcHRzLT5vbnRvLCBoZWFkX2hhc2gsCisJCQkmY29tbWFuZHMsIG9wdHMtPmF1dG9zcXVhc2gsICZ0b2RvX2xpc3QpOworCX0KKworCXN0cmluZ19saXN0X2NsZWFyKCZjb21tYW5kcywgMCk7CisJZnJlZShyZXZpc2lvbnMpOworCWZyZWUoc2hvcnRyZXZpc2lvbnMpOworCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOworCWFyZ3ZfYXJyYXlfY2xlYXIoJm1ha2Vfc2NyaXB0X2FyZ3MpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBydW5fc2VxdWVuY2VyX3JlYmFzZShzdHJ1Y3QgcmViYXNlX29wdGlvbnMgKm9wdHMsCisJCQkJICBlbnVtIGFjdGlvbiBjb21tYW5kKQoreworCXVuc2lnbmVkIGZsYWdzID0gMDsKKwlpbnQgYWJicmV2aWF0ZV9jb21tYW5kcyA9IDAsIHJldCA9IDA7CisKKwlnaXRfY29uZmlnX2dldF9ib29sKCJyZWJhc2UuYWJicmV2aWF0ZWNvbW1hbmRzIiwgJmFiYnJldmlhdGVfY29tbWFuZHMpOworCisJZmxhZ3MgfD0gYWJicmV2aWF0ZV9jb21tYW5kcyA/IFRPRE9fTElTVF9BQkJSRVZJQVRFX0NNRFMgOiAwOworCWZsYWdzIHw9IG9wdHMtPnJlYmFzZV9tZXJnZXMgPyBUT0RPX0xJU1RfUkVCQVNFX01FUkdFUyA6IDA7CisJZmxhZ3MgfD0gb3B0cy0+cmViYXNlX2NvdXNpbnMgPiAwID8gVE9ET19MSVNUX1JFQkFTRV9DT1VTSU5TIDogMDsKKwlmbGFncyB8PSBvcHRzLT5yb290X3dpdGhfb250byA/IFRPRE9fTElTVF9ST09UX1dJVEhfT05UTyA6IDA7CisJZmxhZ3MgfD0gY29tbWFuZCA9PSBBQ1RJT05fU0hPUlRFTl9PSURTID8gVE9ET19MSVNUX1NIT1JURU5fSURTIDogMDsKKworCXN3aXRjaCAoY29tbWFuZCkgeworCWNhc2UgQUNUSU9OX05PTkU6IHsKKwkJaWYgKCFvcHRzLT5vbnRvICYmICFvcHRzLT51cHN0cmVhbSkKKwkJCWRpZShfKCJhIGJhc2UgY29tbWl0IG11c3QgYmUgcHJvdmlkZWQgd2l0aCAtLXVwc3RyZWFtIG9yIC0tb250byIpKTsKKworCQlyZXQgPSBkb19pbnRlcmFjdGl2ZV9yZWJhc2Uob3B0cywgZmxhZ3MpOworCQlicmVhazsKKwl9CisJY2FzZSBBQ1RJT05fU0tJUDogeworCQlzdHJ1Y3Qgc3RyaW5nX2xpc3QgbWVyZ2VfcnIgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKKworCQlyZXJlcmVfY2xlYXIodGhlX3JlcG9zaXRvcnksICZtZXJnZV9ycik7CisJfQorCQkvKiBmYWxsdGhyb3VnaCAqLworCWNhc2UgQUNUSU9OX0NPTlRJTlVFOiB7CisJCXN0cnVjdCByZXBsYXlfb3B0cyByZXBsYXlfb3B0cyA9IGdldF9yZXBsYXlfb3B0cyhvcHRzKTsKKworCQlyZXQgPSBzZXF1ZW5jZXJfY29udGludWUodGhlX3JlcG9zaXRvcnksICZyZXBsYXlfb3B0cyk7CisJCWJyZWFrOworCX0KKwljYXNlIEFDVElPTl9FRElUX1RPRE86CisJCXJldCA9IGVkaXRfdG9kb19maWxlKGZsYWdzKTsKKwkJYnJlYWs7CisJY2FzZSBBQ1RJT05fU0hPV19DVVJSRU5UX1BBVENIOiB7CisJCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNtZCA9IENISUxEX1BST0NFU1NfSU5JVDsKKworCQljbWQuZ2l0X2NtZCA9IDE7CisJCWFyZ3ZfYXJyYXlfcHVzaGwoJmNtZC5hcmdzLCAic2hvdyIsICJSRUJBU0VfSEVBRCIsICItLSIsIE5VTEwpOworCQlyZXQgPSBydW5fY29tbWFuZCgmY21kKTsKKworCQlicmVhazsKKwl9CisJY2FzZSBBQ1RJT05fU0hPUlRFTl9PSURTOgorCWNhc2UgQUNUSU9OX0VYUEFORF9PSURTOgorCQlyZXQgPSB0cmFuc2Zvcm1fdG9kb19maWxlKGZsYWdzKTsKKwkJYnJlYWs7CisJY2FzZSBBQ1RJT05fQ0hFQ0tfVE9ET19MSVNUOgorCQlyZXQgPSBjaGVja190b2RvX2xpc3RfZnJvbV9maWxlKHRoZV9yZXBvc2l0b3J5KTsKKwkJYnJlYWs7CisJY2FzZSBBQ1RJT05fUkVBUlJBTkdFX1NRVUFTSDoKKwkJcmV0ID0gcmVhcnJhbmdlX3NxdWFzaF9pbl90b2RvX2ZpbGUoKTsKKwkJYnJlYWs7CisJY2FzZSBBQ1RJT05fQUREX0VYRUM6IHsKKwkJc3RydWN0IHN0cmluZ19saXN0IGNvbW1hbmRzID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CisKKwkJc3BsaXRfZXhlY19jb21tYW5kcyhvcHRzLT5jbWQsICZjb21tYW5kcyk7CisJCXJldCA9IGFkZF9leGVjX2NvbW1hbmRzKCZjb21tYW5kcyk7CisJCXN0cmluZ19saXN0X2NsZWFyKCZjb21tYW5kcywgMCk7CisJCWJyZWFrOworCX0KKwlkZWZhdWx0OgorCQlCVUcoImludmFsaWQgY29tbWFuZCAnJWQnIiwgY29tbWFuZCk7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBwYXJzZV9vcHRfa2VlcF9lbXB0eShjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGNvbnN0IGNoYXIgKmFyZywKKwkJCQlpbnQgdW5zZXQpCit7CisJc3RydWN0IHJlYmFzZV9vcHRpb25zICpvcHRzID0gb3B0LT52YWx1ZTsKKworCUJVR19PTl9PUFRfQVJHKGFyZyk7CisKKwkvKgorCSAqIElmIHdlIGV2ZXIgd2FudCB0byByZW1hcCAtLWtlZXAtZW1wdHkgdG8gLS1lbXB0eT1rZWVwLCBpbnNlcnQ6CisJICogCW9wdHMtPmVtcHR5ID0gdW5zZXQgPyBFTVBUWV9VTlNQRUNJRklFRCA6IEVNUFRZX0tFRVA7CisJICovCisJb3B0cy0+dHlwZSA9IFJFQkFTRV9NRVJHRTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBidWlsdGluX3JlYmFzZV9pbnRlcmFjdGl2ZV91c2FnZVtdID0geworCU5fKCJnaXQgcmViYXNlLS1pbnRlcmFjdGl2ZSBbPG9wdGlvbnM+XSIpLAorCU5VTEwKK307CisKK2ludCBjbWRfcmViYXNlX19pbnRlcmFjdGl2ZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwlzdHJ1Y3QgcmViYXNlX29wdGlvbnMgb3B0cyA9IFJFQkFTRV9PUFRJT05TX0lOSVQ7CisJc3RydWN0IG9iamVjdF9pZCBzcXVhc2hfb250byA9IG51bGxfb2lkOworCWVudW0gYWN0aW9uIGNvbW1hbmQgPSBBQ1RJT05fTk9ORTsKKwlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKKwkJT1BUX05FR0JJVCgwLCAiZmYiLCAmb3B0cy5mbGFncywgTl8oImFsbG93IGZhc3QtZm9yd2FyZCIpLAorCQkJICAgUkVCQVNFX0ZPUkNFKSwKKwkJeyBPUFRJT05fQ0FMTEJBQ0ssICdrJywgImtlZXAtZW1wdHkiLCAmb3B0aW9ucywgTlVMTCwKKwkJCU5fKCIoREVQUkVDQVRFRCkga2VlcCBlbXB0eSBjb21taXRzIiksCisJCQlQQVJTRV9PUFRfTk9BUkcgfCBQQVJTRV9PUFRfSElEREVOLAorCQkJcGFyc2Vfb3B0X2tlZXBfZW1wdHkgfSwKKwkJT1BUX0JPT0xfRigwLCAiYWxsb3ctZW1wdHktbWVzc2FnZSIsICZvcHRzLmFsbG93X2VtcHR5X21lc3NhZ2UsCisJCQkgICBOXygiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIiksCisJCQkgICBQQVJTRV9PUFRfSElEREVOKSwKKwkJT1BUX0JPT0woMCwgInJlYmFzZS1tZXJnZXMiLCAmb3B0cy5yZWJhc2VfbWVyZ2VzLCBOXygicmViYXNlIG1lcmdlIGNvbW1pdHMiKSksCisJCU9QVF9CT09MKDAsICJyZWJhc2UtY291c2lucyIsICZvcHRzLnJlYmFzZV9jb3VzaW5zLAorCQkJIE5fKCJrZWVwIG9yaWdpbmFsIGJyYW5jaCBwb2ludHMgb2YgY291c2lucyIpKSwKKwkJT1BUX0JPT0woMCwgImF1dG9zcXVhc2giLCAmb3B0cy5hdXRvc3F1YXNoLAorCQkJIE5fKCJtb3ZlIGNvbW1pdHMgdGhhdCBiZWdpbiB3aXRoIHNxdWFzaCEvZml4dXAhIikpLAorCQlPUFRfQk9PTCgwLCAic2lnbm9mZiIsICZvcHRzLnNpZ25vZmYsIE5fKCJzaWduIGNvbW1pdHMiKSksCisJCU9QVF9CSVQoJ3YnLCAidmVyYm9zZSIsICZvcHRzLmZsYWdzLAorCQkJTl8oImRpc3BsYXkgYSBkaWZmc3RhdCBvZiB3aGF0IGNoYW5nZWQgdXBzdHJlYW0iKSwKKwkJCVJFQkFTRV9OT19RVUlFVCB8IFJFQkFTRV9WRVJCT1NFIHwgUkVCQVNFX0RJRkZTVEFUKSwKKwkJT1BUX0NNRE1PREUoMCwgImNvbnRpbnVlIiwgJmNvbW1hbmQsIE5fKCJjb250aW51ZSByZWJhc2UiKSwKKwkJCSAgICBBQ1RJT05fQ09OVElOVUUpLAorCQlPUFRfQ01ETU9ERSgwLCAic2tpcCIsICZjb21tYW5kLCBOXygic2tpcCBjb21taXQiKSwgQUNUSU9OX1NLSVApLAorCQlPUFRfQ01ETU9ERSgwLCAiZWRpdC10b2RvIiwgJmNvbW1hbmQsIE5fKCJlZGl0IHRoZSB0b2RvIGxpc3QiKSwKKwkJCSAgICBBQ1RJT05fRURJVF9UT0RPKSwKKwkJT1BUX0NNRE1PREUoMCwgInNob3ctY3VycmVudC1wYXRjaCIsICZjb21tYW5kLCBOXygic2hvdyB0aGUgY3VycmVudCBwYXRjaCIpLAorCQkJICAgIEFDVElPTl9TSE9XX0NVUlJFTlRfUEFUQ0gpLAorCQlPUFRfQ01ETU9ERSgwLCAic2hvcnRlbi1pZHMiLCAmY29tbWFuZCwKKwkJCU5fKCJzaG9ydGVuIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIpLCBBQ1RJT05fU0hPUlRFTl9PSURTKSwKKwkJT1BUX0NNRE1PREUoMCwgImV4cGFuZC1pZHMiLCAmY29tbWFuZCwKKwkJCU5fKCJleHBhbmQgY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IiksIEFDVElPTl9FWFBBTkRfT0lEUyksCisJCU9QVF9DTURNT0RFKDAsICJjaGVjay10b2RvLWxpc3QiLCAmY29tbWFuZCwKKwkJCU5fKCJjaGVjayB0aGUgdG9kbyBsaXN0IiksIEFDVElPTl9DSEVDS19UT0RPX0xJU1QpLAorCQlPUFRfQ01ETU9ERSgwLCAicmVhcnJhbmdlLXNxdWFzaCIsICZjb21tYW5kLAorCQkJTl8oInJlYXJyYW5nZSBmaXh1cC9zcXVhc2ggbGluZXMiKSwgQUNUSU9OX1JFQVJSQU5HRV9TUVVBU0gpLAorCQlPUFRfQ01ETU9ERSgwLCAiYWRkLWV4ZWMtY29tbWFuZHMiLCAmY29tbWFuZCwKKwkJCU5fKCJpbnNlcnQgZXhlYyBjb21tYW5kcyBpbiB0b2RvIGxpc3QiKSwgQUNUSU9OX0FERF9FWEVDKSwKKwkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJvbnRvIiwgJm9wdHMub250bywgTl8oIm9udG8iKSwgTl8oIm9udG8iKSwKKwkJICBQQVJTRV9PUFRfTk9ORUcsIHBhcnNlX29wdF9jb21taXQsIDAgfSwKKwkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJyZXN0cmljdC1yZXZpc2lvbiIsICZvcHRzLnJlc3RyaWN0X3JldmlzaW9uLAorCQkgIE5fKCJyZXN0cmljdC1yZXZpc2lvbiIpLCBOXygicmVzdHJpY3QgcmV2aXNpb24iKSwKKwkJICBQQVJTRV9PUFRfTk9ORUcsIHBhcnNlX29wdF9jb21taXQsIDAgfSwKKwkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJzcXVhc2gtb250byIsICZzcXVhc2hfb250bywgTl8oInNxdWFzaC1vbnRvIiksCisJCSAgTl8oInNxdWFzaCBvbnRvIiksIFBBUlNFX09QVF9OT05FRywgcGFyc2Vfb3B0X29iamVjdF9pZCwgMCB9LAorCQl7IE9QVElPTl9DQUxMQkFDSywgMCwgInVwc3RyZWFtIiwgJm9wdHMudXBzdHJlYW0sIE5fKCJ1cHN0cmVhbSIpLAorCQkgIE5fKCJ0aGUgdXBzdHJlYW0gY29tbWl0IiksIFBBUlNFX09QVF9OT05FRywgcGFyc2Vfb3B0X2NvbW1pdCwKKwkJICAwIH0sCisJCU9QVF9TVFJJTkcoMCwgImhlYWQtbmFtZSIsICZvcHRzLmhlYWRfbmFtZSwgTl8oImhlYWQtbmFtZSIpLCBOXygiaGVhZCBuYW1lIikpLAorCQl7IE9QVElPTl9TVFJJTkcsICdTJywgImdwZy1zaWduIiwgJm9wdHMuZ3BnX3NpZ25fb3B0LCBOXygia2V5LWlkIiksCisJCQlOXygiR1BHLXNpZ24gY29tbWl0cyIpLAorCQkJUEFSU0VfT1BUX09QVEFSRywgTlVMTCwgKGludHB0cl90KSAiIiB9LAorCQlPUFRfU1RSSU5HKDAsICJzdHJhdGVneSIsICZvcHRzLnN0cmF0ZWd5LCBOXygic3RyYXRlZ3kiKSwKKwkJCSAgIE5fKCJyZWJhc2Ugc3RyYXRlZ3kiKSksCisJCU9QVF9TVFJJTkcoMCwgInN0cmF0ZWd5LW9wdHMiLCAmb3B0cy5zdHJhdGVneV9vcHRzLCBOXygic3RyYXRlZ3ktb3B0cyIpLAorCQkJICAgTl8oInN0cmF0ZWd5IG9wdGlvbnMiKSksCisJCU9QVF9TVFJJTkcoMCwgInN3aXRjaC10byIsICZvcHRzLnN3aXRjaF90bywgTl8oInN3aXRjaC10byIpLAorCQkJICAgTl8oInRoZSBicmFuY2ggb3IgY29tbWl0IHRvIGNoZWNrb3V0IikpLAorCQlPUFRfU1RSSU5HKDAsICJvbnRvLW5hbWUiLCAmb3B0cy5vbnRvX25hbWUsIE5fKCJvbnRvLW5hbWUiKSwgTl8oIm9udG8gbmFtZSIpKSwKKwkJT1BUX1NUUklORygwLCAiY21kIiwgJm9wdHMuY21kLCBOXygiY21kIiksIE5fKCJ0aGUgY29tbWFuZCB0byBydW4iKSksCisJCU9QVF9SRVJFUkVfQVVUT1VQREFURSgmb3B0cy5hbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSksCisJCU9QVF9CT09MKDAsICJyZXNjaGVkdWxlLWZhaWxlZC1leGVjIiwgJm9wdHMucmVzY2hlZHVsZV9mYWlsZWRfZXhlYywKKwkJCSBOXygiYXV0b21hdGljYWxseSByZS1zY2hlZHVsZSBhbnkgYGV4ZWNgIHRoYXQgZmFpbHMiKSksCisJCU9QVF9FTkQoKQorCX07CisKKwlvcHRzLnJlYmFzZV9jb3VzaW5zID0gLTE7CisKKwlpZiAoYXJnYyA9PSAxKQorCQl1c2FnZV93aXRoX29wdGlvbnMoYnVpbHRpbl9yZWJhc2VfaW50ZXJhY3RpdmVfdXNhZ2UsIG9wdGlvbnMpOworCisJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBvcHRpb25zLAorCQkJYnVpbHRpbl9yZWJhc2VfaW50ZXJhY3RpdmVfdXNhZ2UsIFBBUlNFX09QVF9LRUVQX0FSR1YwKTsKKworCWlmICghaXNfbnVsbF9vaWQoJnNxdWFzaF9vbnRvKSkKKwkJb3B0cy5zcXVhc2hfb250byA9ICZzcXVhc2hfb250bzsKKworCWlmIChvcHRzLnJlYmFzZV9jb3VzaW5zID49IDAgJiYgIW9wdHMucmViYXNlX21lcmdlcykKKwkJd2FybmluZyhfKCItLVtuby1dcmViYXNlLWNvdXNpbnMgaGFzIG5vIGVmZmVjdCB3aXRob3V0ICIKKwkJCSAgIi0tcmViYXNlLW1lcmdlcyIpKTsKKworCXJldHVybiAhIXJ1bl9zZXF1ZW5jZXJfcmViYXNlKCZvcHRzLCBjb21tYW5kKTsKK30KKworc3RhdGljIGludCBpc19tZXJnZShzdHJ1Y3QgcmViYXNlX29wdGlvbnMgKm9wdHMpCit7CisJcmV0dXJuIG9wdHMtPnR5cGUgPT0gUkVCQVNFX01FUkdFIHx8CiAJCW9wdHMtPnR5cGUgPT0gUkVCQVNFX1BSRVNFUlZFX01FUkdFUzsKIH0KIAotc3RhdGljIHZvaWQgaW1wbHlfaW50ZXJhY3RpdmUoc3RydWN0IHJlYmFzZV9vcHRpb25zICpvcHRzLCBjb25zdCBjaGFyICpvcHRpb24pCitzdGF0aWMgdm9pZCBpbXBseV9tZXJnZShzdHJ1Y3QgcmViYXNlX29wdGlvbnMgKm9wdHMsIGNvbnN0IGNoYXIgKm9wdGlvbikKIHsKIAlzd2l0Y2ggKG9wdHMtPnR5cGUpIHsKLQljYXNlIFJFQkFTRV9BTToKKwljYXNlIFJFQkFTRV9BUFBMWToKIAkJZGllKF8oIiVzIHJlcXVpcmVzIGFuIGludGVyYWN0aXZlIHJlYmFzZSIpLCBvcHRpb24pOwogCQlicmVhazsKLQljYXNlIFJFQkFTRV9JTlRFUkFDVElWRToKKwljYXNlIFJFQkFTRV9NRVJHRToKIAljYXNlIFJFQkFTRV9QUkVTRVJWRV9NRVJHRVM6CiAJCWJyZWFrOwotCWNhc2UgUkVCQVNFX01FUkdFOgotCQkvKiB3ZSBzaWxlbnRseSAqdXBncmFkZSogLS1tZXJnZSB0byAtLWludGVyYWN0aXZlIGlmIG5lZWRlZCAqLwogCWRlZmF1bHQ6Ci0JCW9wdHMtPnR5cGUgPSBSRUJBU0VfSU5URVJBQ1RJVkU7IC8qIGltcGxpZWQgKi8KKwkJb3B0cy0+dHlwZSA9IFJFQkFTRV9NRVJHRTsgLyogaW1wbGllZCAqLwogCQlicmVhazsKIAl9CiB9CkBAIC0xODUsMTAgKzYyNiw3IEBACiAJaWYgKGdldF9vaWQoYnVmLmJ1ZiwgJm9wdHMtPm9yaWdfaGVhZCkpCiAJCXJldHVybiBlcnJvcihfKCJpbnZhbGlkIG9yaWctaGVhZDogJyVzJyIpLCBidWYuYnVmKTsKIAotCXN0cmJ1Zl9yZXNldCgmYnVmKTsKLQlpZiAocmVhZF9vbmUoc3RhdGVfZGlyX3BhdGgoInF1aWV0Iiwgb3B0cyksICZidWYpKQotCQlyZXR1cm4gLTE7Ci0JaWYgKGJ1Zi5sZW4pCisJaWYgKGZpbGVfZXhpc3RzKHN0YXRlX2Rpcl9wYXRoKCJxdWlldCIsIG9wdHMpKSkKIAkJb3B0cy0+ZmxhZ3MgJj0gflJFQkFTRV9OT19RVUlFVDsKIAllbHNlCiAJCW9wdHMtPmZsYWdzIHw9IFJFQkFTRV9OT19RVUlFVDsKQEAgLTIwNywxNCArNjQ1LDEzIEBACiAJCQkgICAgJmJ1ZikpCiAJCQlyZXR1cm4gLTE7CiAJCWlmICghc3RyY21wKGJ1Zi5idWYsICItLXJlcmVyZS1hdXRvdXBkYXRlIikpCi0JCQlvcHRzLT5hbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSA9IDE7CisJCQlvcHRzLT5hbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSA9IFJFUkVSRV9BVVRPVVBEQVRFOwogCQllbHNlIGlmICghc3RyY21wKGJ1Zi5idWYsICItLW5vLXJlcmVyZS1hdXRvdXBkYXRlIikpCi0JCQlvcHRzLT5hbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSA9IDA7CisJCQlvcHRzLT5hbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSA9IFJFUkVSRV9OT0FVVE9VUERBVEU7CiAJCWVsc2UKIAkJCXdhcm5pbmcoXygiaWdub3JpbmcgaW52YWxpZCBhbGxvd19yZXJlcmVfYXV0b3VwZGF0ZTogIgogCQkJCSAgIiclcyciKSwgYnVmLmJ1Zik7Ci0JfSBlbHNlCi0JCW9wdHMtPmFsbG93X3JlcmVyZV9hdXRvdXBkYXRlID0gLTE7CisJfQogCiAJaWYgKGZpbGVfZXhpc3RzKHN0YXRlX2Rpcl9wYXRoKCJncGdfc2lnbl9vcHQiLCBvcHRzKSkpIHsKIAkJc3RyYnVmX3Jlc2V0KCZidWYpOwpAQCAtMjQ2LDYgKzY4MywzOCBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IHJlYmFzZV93cml0ZV9iYXNpY19zdGF0ZShzdHJ1Y3QgcmViYXNlX29wdGlvbnMgKm9wdHMpCit7CisJd3JpdGVfZmlsZShzdGF0ZV9kaXJfcGF0aCgiaGVhZC1uYW1lIiwgb3B0cyksICIlcyIsCisJCSAgIG9wdHMtPmhlYWRfbmFtZSA/IG9wdHMtPmhlYWRfbmFtZSA6ICJkZXRhY2hlZCBIRUFEIik7CisJd3JpdGVfZmlsZShzdGF0ZV9kaXJfcGF0aCgib250byIsIG9wdHMpLCAiJXMiLAorCQkgICBvcHRzLT5vbnRvID8gb2lkX3RvX2hleCgmb3B0cy0+b250by0+b2JqZWN0Lm9pZCkgOiAiIik7CisJd3JpdGVfZmlsZShzdGF0ZV9kaXJfcGF0aCgib3JpZy1oZWFkIiwgb3B0cyksICIlcyIsCisJCSAgIG9pZF90b19oZXgoJm9wdHMtPm9yaWdfaGVhZCkpOworCWlmICghKG9wdHMtPmZsYWdzICYgUkVCQVNFX05PX1FVSUVUKSkKKwkJd3JpdGVfZmlsZShzdGF0ZV9kaXJfcGF0aCgicXVpZXQiLCBvcHRzKSwgIiVzIiwgIiIpOworCWlmIChvcHRzLT5mbGFncyAmIFJFQkFTRV9WRVJCT1NFKQorCQl3cml0ZV9maWxlKHN0YXRlX2Rpcl9wYXRoKCJ2ZXJib3NlIiwgb3B0cyksICIlcyIsICIiKTsKKwlpZiAob3B0cy0+c3RyYXRlZ3kpCisJCXdyaXRlX2ZpbGUoc3RhdGVfZGlyX3BhdGgoInN0cmF0ZWd5Iiwgb3B0cyksICIlcyIsCisJCQkgICBvcHRzLT5zdHJhdGVneSk7CisJaWYgKG9wdHMtPnN0cmF0ZWd5X29wdHMpCisJCXdyaXRlX2ZpbGUoc3RhdGVfZGlyX3BhdGgoInN0cmF0ZWd5X29wdHMiLCBvcHRzKSwgIiVzIiwKKwkJCSAgIG9wdHMtPnN0cmF0ZWd5X29wdHMpOworCWlmIChvcHRzLT5hbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSA+IDApCisJCXdyaXRlX2ZpbGUoc3RhdGVfZGlyX3BhdGgoImFsbG93X3JlcmVyZV9hdXRvdXBkYXRlIiwgb3B0cyksCisJCQkgICAiLSVzLXJlcmVyZS1hdXRvdXBkYXRlIiwKKwkJCSAgIG9wdHMtPmFsbG93X3JlcmVyZV9hdXRvdXBkYXRlID09IFJFUkVSRV9BVVRPVVBEQVRFID8KKwkJCQkiIiA6ICItbm8iKTsKKwlpZiAob3B0cy0+Z3BnX3NpZ25fb3B0KQorCQl3cml0ZV9maWxlKHN0YXRlX2Rpcl9wYXRoKCJncGdfc2lnbl9vcHQiLCBvcHRzKSwgIiVzIiwKKwkJCSAgIG9wdHMtPmdwZ19zaWduX29wdCk7CisJaWYgKG9wdHMtPnNpZ25vZmYpCisJCXdyaXRlX2ZpbGUoc3RhdGVfZGlyX3BhdGgoInNpZ25vZmYiLCBvcHRzKSwgIi0tc2lnbm9mZiIpOworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgYXBwbHlfYXV0b3N0YXNoKHN0cnVjdCByZWJhc2Vfb3B0aW9ucyAqb3B0cykKIHsKIAljb25zdCBjaGFyICpwYXRoID0gc3RhdGVfZGlyX3BhdGgoImF1dG9zdGFzaCIsIG9wdHMpOwpAQCAtMjk1LDIwICs3NjQsMzAgQEAKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGRpciA9IFNUUkJVRl9JTklUOwogCWNvbnN0IGNoYXIgKmFyZ3ZfZ2NfYXV0b1tdID0geyAiZ2MiLCAiLS1hdXRvIiwgTlVMTCB9OworCWludCByZXQgPSAwOwogCiAJZGVsZXRlX3JlZihOVUxMLCAiUkVCQVNFX0hFQUQiLCBOVUxMLCBSRUZfTk9fREVSRUYpOwogCWFwcGx5X2F1dG9zdGFzaChvcHRzKTsKLQljbG9zZV9hbGxfcGFja3ModGhlX3JlcG9zaXRvcnktPm9iamVjdHMpOworCWNsb3NlX29iamVjdF9zdG9yZSh0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cyk7CiAJLyoKIAkgKiBXZSBpZ25vcmUgZXJyb3JzIGluICdnYyAtLWF1dG8nLCBzaW5jZSB0aGUKIAkgKiB1c2VyIHNob3VsZCBzZWUgdGhlbS4KIAkgKi8KIAlydW5fY29tbWFuZF92X29wdChhcmd2X2djX2F1dG8sIFJVTl9HSVRfQ01EKTsKLQlzdHJidWZfYWRkc3RyKCZkaXIsIG9wdHMtPnN0YXRlX2Rpcik7Ci0JcmVtb3ZlX2Rpcl9yZWN1cnNpdmVseSgmZGlyLCAwKTsKLQlzdHJidWZfcmVsZWFzZSgmZGlyKTsKKwlpZiAob3B0cy0+dHlwZSA9PSBSRUJBU0VfTUVSR0UpIHsKKwkJc3RydWN0IHJlcGxheV9vcHRzIHJlcGxheSA9IFJFUExBWV9PUFRTX0lOSVQ7CiAKLQlyZXR1cm4gMDsKKwkJcmVwbGF5LmFjdGlvbiA9IFJFUExBWV9JTlRFUkFDVElWRV9SRUJBU0U7CisJCXJldCA9IHNlcXVlbmNlcl9yZW1vdmVfc3RhdGUoJnJlcGxheSk7CisJfSBlbHNlIHsKKwkJc3RyYnVmX2FkZHN0cigmZGlyLCBvcHRzLT5zdGF0ZV9kaXIpOworCQlpZiAocmVtb3ZlX2Rpcl9yZWN1cnNpdmVseSgmZGlyLCAwKSkKKwkJCXJldCA9IGVycm9yKF8oImNvdWxkIG5vdCByZW1vdmUgJyVzJyIpLAorCQkJCSAgICBvcHRzLT5zdGF0ZV9kaXIpOworCQlzdHJidWZfcmVsZWFzZSgmZGlyKTsKKwl9CisKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgc3RydWN0IGNvbW1pdCAqcGVlbF9jb21taXR0aXNoKGNvbnN0IGNoYXIgKm5hbWUpCkBAIC0zMzMsNiArODEyLDE2NiBAQAogCX0KIH0KIAorI2RlZmluZSBHSVRfUkVGTE9HX0FDVElPTl9FTlZJUk9OTUVOVCAiR0lUX1JFRkxPR19BQ1RJT04iCisKKyNkZWZpbmUgUkVTRVRfSEVBRF9ERVRBQ0ggKDE8PDApCisjZGVmaW5lIFJFU0VUX0hFQURfSEFSRCAoMTw8MSkKKyNkZWZpbmUgUkVTRVRfSEVBRF9SVU5fUE9TVF9DSEVDS09VVF9IT09LICgxPDwyKQorI2RlZmluZSBSRVNFVF9IRUFEX1JFRlNfT05MWSAoMTw8MykKKyNkZWZpbmUgUkVTRVRfT1JJR19IRUFEICgxPDw0KQorCitzdGF0aWMgaW50IHJlc2V0X2hlYWQoc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjb25zdCBjaGFyICphY3Rpb24sCisJCSAgICAgIGNvbnN0IGNoYXIgKnN3aXRjaF90b19icmFuY2gsIHVuc2lnbmVkIGZsYWdzLAorCQkgICAgICBjb25zdCBjaGFyICpyZWZsb2dfb3JpZ19oZWFkLCBjb25zdCBjaGFyICpyZWZsb2dfaGVhZCkKK3sKKwl1bnNpZ25lZCBkZXRhY2hfaGVhZCA9IGZsYWdzICYgUkVTRVRfSEVBRF9ERVRBQ0g7CisJdW5zaWduZWQgcmVzZXRfaGFyZCA9IGZsYWdzICYgUkVTRVRfSEVBRF9IQVJEOworCXVuc2lnbmVkIHJ1bl9ob29rID0gZmxhZ3MgJiBSRVNFVF9IRUFEX1JVTl9QT1NUX0NIRUNLT1VUX0hPT0s7CisJdW5zaWduZWQgcmVmc19vbmx5ID0gZmxhZ3MgJiBSRVNFVF9IRUFEX1JFRlNfT05MWTsKKwl1bnNpZ25lZCB1cGRhdGVfb3JpZ19oZWFkID0gZmxhZ3MgJiBSRVNFVF9PUklHX0hFQUQ7CisJc3RydWN0IG9iamVjdF9pZCBoZWFkX29pZDsKKwlzdHJ1Y3QgdHJlZV9kZXNjIGRlc2NbMl0gPSB7IHsgTlVMTCB9LCB7IE5VTEwgfSB9OworCXN0cnVjdCBsb2NrX2ZpbGUgbG9jayA9IExPQ0tfSU5JVDsKKwlzdHJ1Y3QgdW5wYWNrX3RyZWVzX29wdGlvbnMgdW5wYWNrX3RyZWVfb3B0czsKKwlzdHJ1Y3QgdHJlZSAqdHJlZTsKKwljb25zdCBjaGFyICpyZWZsb2dfYWN0aW9uOworCXN0cnVjdCBzdHJidWYgbXNnID0gU1RSQlVGX0lOSVQ7CisJc2l6ZV90IHByZWZpeF9sZW47CisJc3RydWN0IG9iamVjdF9pZCAqb3JpZyA9IE5VTEwsIG9pZF9vcmlnLAorCQkqb2xkX29yaWcgPSBOVUxMLCBvaWRfb2xkX29yaWc7CisJaW50IHJldCA9IDAsIG5yID0gMDsKKworCWlmIChzd2l0Y2hfdG9fYnJhbmNoICYmICFzdGFydHNfd2l0aChzd2l0Y2hfdG9fYnJhbmNoLCAicmVmcy8iKSkKKwkJQlVHKCJOb3QgYSBmdWxseSBxdWFsaWZpZWQgYnJhbmNoOiAnJXMnIiwgc3dpdGNoX3RvX2JyYW5jaCk7CisKKwlpZiAoIXJlZnNfb25seSAmJiBob2xkX2xvY2tlZF9pbmRleCgmbG9jaywgTE9DS19SRVBPUlRfT05fRVJST1IpIDwgMCkgeworCQlyZXQgPSAtMTsKKwkJZ290byBsZWF2ZV9yZXNldF9oZWFkOworCX0KKworCWlmICgoIW9pZCB8fCAhcmVzZXRfaGFyZCkgJiYgZ2V0X29pZCgiSEVBRCIsICZoZWFkX29pZCkpIHsKKwkJcmV0ID0gZXJyb3IoXygiY291bGQgbm90IGRldGVybWluZSBIRUFEIHJldmlzaW9uIikpOworCQlnb3RvIGxlYXZlX3Jlc2V0X2hlYWQ7CisJfQorCisJaWYgKCFvaWQpCisJCW9pZCA9ICZoZWFkX29pZDsKKworCWlmIChyZWZzX29ubHkpCisJCWdvdG8gcmVzZXRfaGVhZF9yZWZzOworCisJbWVtc2V0KCZ1bnBhY2tfdHJlZV9vcHRzLCAwLCBzaXplb2YodW5wYWNrX3RyZWVfb3B0cykpOworCXNldHVwX3VucGFja190cmVlc19wb3JjZWxhaW4oJnVucGFja190cmVlX29wdHMsIGFjdGlvbik7CisJdW5wYWNrX3RyZWVfb3B0cy5oZWFkX2lkeCA9IDE7CisJdW5wYWNrX3RyZWVfb3B0cy5zcmNfaW5kZXggPSB0aGVfcmVwb3NpdG9yeS0+aW5kZXg7CisJdW5wYWNrX3RyZWVfb3B0cy5kc3RfaW5kZXggPSB0aGVfcmVwb3NpdG9yeS0+aW5kZXg7CisJdW5wYWNrX3RyZWVfb3B0cy5mbiA9IHJlc2V0X2hhcmQgPyBvbmV3YXlfbWVyZ2UgOiB0d293YXlfbWVyZ2U7CisJdW5wYWNrX3RyZWVfb3B0cy51cGRhdGUgPSAxOworCXVucGFja190cmVlX29wdHMubWVyZ2UgPSAxOworCWlmICghZGV0YWNoX2hlYWQpCisJCXVucGFja190cmVlX29wdHMucmVzZXQgPSAxOworCisJaWYgKHJlcG9fcmVhZF9pbmRleF91bm1lcmdlZCh0aGVfcmVwb3NpdG9yeSkgPCAwKSB7CisJCXJldCA9IGVycm9yKF8oImNvdWxkIG5vdCByZWFkIGluZGV4IikpOworCQlnb3RvIGxlYXZlX3Jlc2V0X2hlYWQ7CisJfQorCisJaWYgKCFyZXNldF9oYXJkICYmICFmaWxsX3RyZWVfZGVzY3JpcHRvcih0aGVfcmVwb3NpdG9yeSwgJmRlc2NbbnIrK10sICZoZWFkX29pZCkpIHsKKwkJcmV0ID0gZXJyb3IoXygiZmFpbGVkIHRvIGZpbmQgdHJlZSBvZiAlcyIpLAorCQkJICAgIG9pZF90b19oZXgoJmhlYWRfb2lkKSk7CisJCWdvdG8gbGVhdmVfcmVzZXRfaGVhZDsKKwl9CisKKwlpZiAoIWZpbGxfdHJlZV9kZXNjcmlwdG9yKHRoZV9yZXBvc2l0b3J5LCAmZGVzY1tucisrXSwgb2lkKSkgeworCQlyZXQgPSBlcnJvcihfKCJmYWlsZWQgdG8gZmluZCB0cmVlIG9mICVzIiksIG9pZF90b19oZXgob2lkKSk7CisJCWdvdG8gbGVhdmVfcmVzZXRfaGVhZDsKKwl9CisKKwlpZiAodW5wYWNrX3RyZWVzKG5yLCBkZXNjLCAmdW5wYWNrX3RyZWVfb3B0cykpIHsKKwkJcmV0ID0gLTE7CisJCWdvdG8gbGVhdmVfcmVzZXRfaGVhZDsKKwl9CisKKwl0cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdChvaWQpOworCXByaW1lX2NhY2hlX3RyZWUodGhlX3JlcG9zaXRvcnksIHRoZV9yZXBvc2l0b3J5LT5pbmRleCwgdHJlZSk7CisKKwlpZiAod3JpdGVfbG9ja2VkX2luZGV4KHRoZV9yZXBvc2l0b3J5LT5pbmRleCwgJmxvY2ssIENPTU1JVF9MT0NLKSA8IDApIHsKKwkJcmV0ID0gZXJyb3IoXygiY291bGQgbm90IHdyaXRlIGluZGV4IikpOworCQlnb3RvIGxlYXZlX3Jlc2V0X2hlYWQ7CisJfQorCityZXNldF9oZWFkX3JlZnM6CisJcmVmbG9nX2FjdGlvbiA9IGdldGVudihHSVRfUkVGTE9HX0FDVElPTl9FTlZJUk9OTUVOVCk7CisJc3RyYnVmX2FkZGYoJm1zZywgIiVzOiAiLCByZWZsb2dfYWN0aW9uID8gcmVmbG9nX2FjdGlvbiA6ICJyZWJhc2UiKTsKKwlwcmVmaXhfbGVuID0gbXNnLmxlbjsKKworCWlmICh1cGRhdGVfb3JpZ19oZWFkKSB7CisJCWlmICghZ2V0X29pZCgiT1JJR19IRUFEIiwgJm9pZF9vbGRfb3JpZykpCisJCQlvbGRfb3JpZyA9ICZvaWRfb2xkX29yaWc7CisJCWlmICghZ2V0X29pZCgiSEVBRCIsICZvaWRfb3JpZykpIHsKKwkJCW9yaWcgPSAmb2lkX29yaWc7CisJCQlpZiAoIXJlZmxvZ19vcmlnX2hlYWQpIHsKKwkJCQlzdHJidWZfYWRkc3RyKCZtc2csICJ1cGRhdGluZyBPUklHX0hFQUQiKTsKKwkJCQlyZWZsb2dfb3JpZ19oZWFkID0gbXNnLmJ1ZjsKKwkJCX0KKwkJCXVwZGF0ZV9yZWYocmVmbG9nX29yaWdfaGVhZCwgIk9SSUdfSEVBRCIsIG9yaWcsCisJCQkJICAgb2xkX29yaWcsIDAsIFVQREFURV9SRUZTX01TR19PTl9FUlIpOworCQl9IGVsc2UgaWYgKG9sZF9vcmlnKQorCQkJZGVsZXRlX3JlZihOVUxMLCAiT1JJR19IRUFEIiwgb2xkX29yaWcsIDApOworCX0KKworCWlmICghcmVmbG9nX2hlYWQpIHsKKwkJc3RyYnVmX3NldGxlbigmbXNnLCBwcmVmaXhfbGVuKTsKKwkJc3RyYnVmX2FkZHN0cigmbXNnLCAidXBkYXRpbmcgSEVBRCIpOworCQlyZWZsb2dfaGVhZCA9IG1zZy5idWY7CisJfQorCWlmICghc3dpdGNoX3RvX2JyYW5jaCkKKwkJcmV0ID0gdXBkYXRlX3JlZihyZWZsb2dfaGVhZCwgIkhFQUQiLCBvaWQsIG9yaWcsCisJCQkJIGRldGFjaF9oZWFkID8gUkVGX05PX0RFUkVGIDogMCwKKwkJCQkgVVBEQVRFX1JFRlNfTVNHX09OX0VSUik7CisJZWxzZSB7CisJCXJldCA9IHVwZGF0ZV9yZWYocmVmbG9nX2hlYWQsIHN3aXRjaF90b19icmFuY2gsIG9pZCwKKwkJCQkgTlVMTCwgMCwgVVBEQVRFX1JFRlNfTVNHX09OX0VSUik7CisJCWlmICghcmV0KQorCQkJcmV0ID0gY3JlYXRlX3N5bXJlZigiSEVBRCIsIHN3aXRjaF90b19icmFuY2gsCisJCQkJCSAgICByZWZsb2dfaGVhZCk7CisJfQorCWlmIChydW5faG9vaykKKwkJcnVuX2hvb2tfbGUoTlVMTCwgInBvc3QtY2hlY2tvdXQiLAorCQkJICAgIG9pZF90b19oZXgob3JpZyA/IG9yaWcgOiAmbnVsbF9vaWQpLAorCQkJICAgIG9pZF90b19oZXgob2lkKSwgIjEiLCBOVUxMKTsKKworbGVhdmVfcmVzZXRfaGVhZDoKKwlzdHJidWZfcmVsZWFzZSgmbXNnKTsKKwlyb2xsYmFja19sb2NrX2ZpbGUoJmxvY2spOworCXdoaWxlIChucikKKwkJZnJlZSgodm9pZCAqKWRlc2NbLS1ucl0uYnVmZmVyKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IG1vdmVfdG9fb3JpZ2luYWxfYnJhbmNoKHN0cnVjdCByZWJhc2Vfb3B0aW9ucyAqb3B0cykKK3sKKwlzdHJ1Y3Qgc3RyYnVmIG9yaWdfaGVhZF9yZWZsb2cgPSBTVFJCVUZfSU5JVCwgaGVhZF9yZWZsb2cgPSBTVFJCVUZfSU5JVDsKKwlpbnQgcmV0OworCisJaWYgKCFvcHRzLT5oZWFkX25hbWUpCisJCXJldHVybiAwOyAvKiBub3RoaW5nIHRvIG1vdmUgYmFjayB0byAqLworCisJaWYgKCFvcHRzLT5vbnRvKQorCQlCVUcoIm1vdmVfdG9fb3JpZ2luYWxfYnJhbmNoIHdpdGhvdXQgb250byIpOworCisJc3RyYnVmX2FkZGYoJm9yaWdfaGVhZF9yZWZsb2csICJyZWJhc2UgZmluaXNoZWQ6ICVzIG9udG8gJXMiLAorCQkgICAgb3B0cy0+aGVhZF9uYW1lLCBvaWRfdG9faGV4KCZvcHRzLT5vbnRvLT5vYmplY3Qub2lkKSk7CisJc3RyYnVmX2FkZGYoJmhlYWRfcmVmbG9nLCAicmViYXNlIGZpbmlzaGVkOiByZXR1cm5pbmcgdG8gJXMiLAorCQkgICAgb3B0cy0+aGVhZF9uYW1lKTsKKwlyZXQgPSByZXNldF9oZWFkKE5VTEwsICIiLCBvcHRzLT5oZWFkX25hbWUsIFJFU0VUX0hFQURfUkVGU19PTkxZLAorCQkJIG9yaWdfaGVhZF9yZWZsb2cuYnVmLCBoZWFkX3JlZmxvZy5idWYpOworCisJc3RyYnVmX3JlbGVhc2UoJm9yaWdfaGVhZF9yZWZsb2cpOworCXN0cmJ1Zl9yZWxlYXNlKCZoZWFkX3JlZmxvZyk7CisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIGNvbnN0IGNoYXIgKnJlc29sdmVtc2cgPQogTl8oIlJlc29sdmUgYWxsIGNvbmZsaWN0cyBtYW51YWxseSwgbWFyayB0aGVtIGFzIHJlc29sdmVkIHdpdGhcbiIKICJcImdpdCBhZGQvcm0gPGNvbmZsaWN0ZWRfZmlsZXM+XCIsIHRoZW4gcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIuXG4iCkBAIC0zNDAsODMgKzk3OSwxNTQgQEAKICJUbyBhYm9ydCBhbmQgZ2V0IGJhY2sgdG8gdGhlIHN0YXRlIGJlZm9yZSBcImdpdCByZWJhc2VcIiwgcnVuICIKICJcImdpdCByZWJhc2UgLS1hYm9ydFwiLiIpOwogCi1zdGF0aWMgaW50IHJ1bl9zcGVjaWZpY19yZWJhc2Uoc3RydWN0IHJlYmFzZV9vcHRpb25zICpvcHRzKQorc3RhdGljIGludCBydW5fYW0oc3RydWN0IHJlYmFzZV9vcHRpb25zICpvcHRzKQoreworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGFtID0gQ0hJTERfUFJPQ0VTU19JTklUOworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGZvcm1hdF9wYXRjaCA9IENISUxEX1BST0NFU1NfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIHJldmlzaW9ucyA9IFNUUkJVRl9JTklUOworCWludCBzdGF0dXM7CisJY2hhciAqcmViYXNlZF9wYXRjaGVzOworCisJYW0uZ2l0X2NtZCA9IDE7CisJYXJndl9hcnJheV9wdXNoKCZhbS5hcmdzLCAiYW0iKTsKKworCWlmIChvcHRzLT5hY3Rpb24gJiYgIXN0cmNtcCgiY29udGludWUiLCBvcHRzLT5hY3Rpb24pKSB7CisJCWFyZ3ZfYXJyYXlfcHVzaCgmYW0uYXJncywgIi0tcmVzb2x2ZWQiKTsKKwkJYXJndl9hcnJheV9wdXNoZigmYW0uYXJncywgIi0tcmVzb2x2ZW1zZz0lcyIsIHJlc29sdmVtc2cpOworCQlpZiAob3B0cy0+Z3BnX3NpZ25fb3B0KQorCQkJYXJndl9hcnJheV9wdXNoKCZhbS5hcmdzLCBvcHRzLT5ncGdfc2lnbl9vcHQpOworCQlzdGF0dXMgPSBydW5fY29tbWFuZCgmYW0pOworCQlpZiAoc3RhdHVzKQorCQkJcmV0dXJuIHN0YXR1czsKKworCQlyZXR1cm4gbW92ZV90b19vcmlnaW5hbF9icmFuY2gob3B0cyk7CisJfQorCWlmIChvcHRzLT5hY3Rpb24gJiYgIXN0cmNtcCgic2tpcCIsIG9wdHMtPmFjdGlvbikpIHsKKwkJYXJndl9hcnJheV9wdXNoKCZhbS5hcmdzLCAiLS1za2lwIik7CisJCWFyZ3ZfYXJyYXlfcHVzaGYoJmFtLmFyZ3MsICItLXJlc29sdmVtc2c9JXMiLCByZXNvbHZlbXNnKTsKKwkJc3RhdHVzID0gcnVuX2NvbW1hbmQoJmFtKTsKKwkJaWYgKHN0YXR1cykKKwkJCXJldHVybiBzdGF0dXM7CisKKwkJcmV0dXJuIG1vdmVfdG9fb3JpZ2luYWxfYnJhbmNoKG9wdHMpOworCX0KKwlpZiAob3B0cy0+YWN0aW9uICYmICFzdHJjbXAoInNob3ctY3VycmVudC1wYXRjaCIsIG9wdHMtPmFjdGlvbikpIHsKKwkJYXJndl9hcnJheV9wdXNoKCZhbS5hcmdzLCAiLS1zaG93LWN1cnJlbnQtcGF0Y2giKTsKKwkJcmV0dXJuIHJ1bl9jb21tYW5kKCZhbSk7CisJfQorCisJc3RyYnVmX2FkZGYoJnJldmlzaW9ucywgIiVzLi4uJXMiLAorCQkgICAgb2lkX3RvX2hleChvcHRzLT5yb290ID8KKwkJCSAgICAgICAvKiB0aGlzIGlzIG5vdyBlcXVpdmFsZW50IHRvICFvcHRzLT51cHN0cmVhbSAqLworCQkJICAgICAgICZvcHRzLT5vbnRvLT5vYmplY3Qub2lkIDoKKwkJCSAgICAgICAmb3B0cy0+dXBzdHJlYW0tPm9iamVjdC5vaWQpLAorCQkgICAgb2lkX3RvX2hleCgmb3B0cy0+b3JpZ19oZWFkKSk7CisKKwlyZWJhc2VkX3BhdGNoZXMgPSB4c3RyZHVwKGdpdF9wYXRoKCJyZWJhc2VkLXBhdGNoZXMiKSk7CisJZm9ybWF0X3BhdGNoLm91dCA9IG9wZW4ocmViYXNlZF9wYXRjaGVzLAorCQkJCU9fV1JPTkxZIHwgT19DUkVBVCB8IE9fVFJVTkMsIDA2NjYpOworCWlmIChmb3JtYXRfcGF0Y2gub3V0IDwgMCkgeworCQlzdGF0dXMgPSBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIiksCisJCQkJICAgICByZWJhc2VkX3BhdGNoZXMpOworCQlmcmVlKHJlYmFzZWRfcGF0Y2hlcyk7CisJCWFyZ3ZfYXJyYXlfY2xlYXIoJmFtLmFyZ3MpOworCQlyZXR1cm4gc3RhdHVzOworCX0KKworCWZvcm1hdF9wYXRjaC5naXRfY21kID0gMTsKKwlhcmd2X2FycmF5X3B1c2hsKCZmb3JtYXRfcGF0Y2guYXJncywgImZvcm1hdC1wYXRjaCIsICItayIsICItLXN0ZG91dCIsCisJCQkgIi0tZnVsbC1pbmRleCIsICItLWNoZXJyeS1waWNrIiwgIi0tcmlnaHQtb25seSIsCisJCQkgIi0tc3JjLXByZWZpeD1hLyIsICItLWRzdC1wcmVmaXg9Yi8iLCAiLS1uby1yZW5hbWVzIiwKKwkJCSAiLS1uby1jb3Zlci1sZXR0ZXIiLCAiLS1wcmV0dHk9bWJveHJkIiwgIi0tdG9wby1vcmRlciIsCisJCQkgIi0tbm8tYmFzZSIsIE5VTEwpOworCWlmIChvcHRzLT5naXRfZm9ybWF0X3BhdGNoX29wdC5sZW4pCisJCWFyZ3ZfYXJyYXlfc3BsaXQoJmZvcm1hdF9wYXRjaC5hcmdzLAorCQkJCSBvcHRzLT5naXRfZm9ybWF0X3BhdGNoX29wdC5idWYpOworCWFyZ3ZfYXJyYXlfcHVzaCgmZm9ybWF0X3BhdGNoLmFyZ3MsIHJldmlzaW9ucy5idWYpOworCWlmIChvcHRzLT5yZXN0cmljdF9yZXZpc2lvbikKKwkJYXJndl9hcnJheV9wdXNoZigmZm9ybWF0X3BhdGNoLmFyZ3MsICJeJXMiLAorCQkJCSBvaWRfdG9faGV4KCZvcHRzLT5yZXN0cmljdF9yZXZpc2lvbi0+b2JqZWN0Lm9pZCkpOworCisJc3RhdHVzID0gcnVuX2NvbW1hbmQoJmZvcm1hdF9wYXRjaCk7CisJaWYgKHN0YXR1cykgeworCQl1bmxpbmsocmViYXNlZF9wYXRjaGVzKTsKKwkJZnJlZShyZWJhc2VkX3BhdGNoZXMpOworCQlhcmd2X2FycmF5X2NsZWFyKCZhbS5hcmdzKTsKKworCQlyZXNldF9oZWFkKCZvcHRzLT5vcmlnX2hlYWQsICJjaGVja291dCIsIG9wdHMtPmhlYWRfbmFtZSwgMCwKKwkJCSAgICJIRUFEIiwgTlVMTCk7CisJCWVycm9yKF8oIlxuZ2l0IGVuY291bnRlcmVkIGFuIGVycm9yIHdoaWxlIHByZXBhcmluZyB0aGUgIgorCQkJInBhdGNoZXMgdG8gcmVwbGF5XG4iCisJCQkidGhlc2UgcmV2aXNpb25zOlxuIgorCQkJIlxuICAgICVzXG5cbiIKKwkJCSJBcyBhIHJlc3VsdCwgZ2l0IGNhbm5vdCByZWJhc2UgdGhlbS4iKSwKKwkJICAgICAgb3B0cy0+cmV2aXNpb25zKTsKKworCQlzdHJidWZfcmVsZWFzZSgmcmV2aXNpb25zKTsKKwkJcmV0dXJuIHN0YXR1czsKKwl9CisJc3RyYnVmX3JlbGVhc2UoJnJldmlzaW9ucyk7CisKKwlhbS5pbiA9IG9wZW4ocmViYXNlZF9wYXRjaGVzLCBPX1JET05MWSk7CisJaWYgKGFtLmluIDwgMCkgeworCQlzdGF0dXMgPSBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIiksCisJCQkJICAgICByZWJhc2VkX3BhdGNoZXMpOworCQlmcmVlKHJlYmFzZWRfcGF0Y2hlcyk7CisJCWFyZ3ZfYXJyYXlfY2xlYXIoJmFtLmFyZ3MpOworCQlyZXR1cm4gc3RhdHVzOworCX0KKworCWFyZ3ZfYXJyYXlfcHVzaHYoJmFtLmFyZ3MsIG9wdHMtPmdpdF9hbV9vcHRzLmFyZ3YpOworCWFyZ3ZfYXJyYXlfcHVzaCgmYW0uYXJncywgIi0tcmViYXNpbmciKTsKKwlhcmd2X2FycmF5X3B1c2hmKCZhbS5hcmdzLCAiLS1yZXNvbHZlbXNnPSVzIiwgcmVzb2x2ZW1zZyk7CisJYXJndl9hcnJheV9wdXNoKCZhbS5hcmdzLCAiLS1wYXRjaC1mb3JtYXQ9bWJveHJkIik7CisJaWYgKG9wdHMtPmFsbG93X3JlcmVyZV9hdXRvdXBkYXRlID09IFJFUkVSRV9BVVRPVVBEQVRFKQorCQlhcmd2X2FycmF5X3B1c2goJmFtLmFyZ3MsICItLXJlcmVyZS1hdXRvdXBkYXRlIik7CisJZWxzZSBpZiAob3B0cy0+YWxsb3dfcmVyZXJlX2F1dG91cGRhdGUgPT0gUkVSRVJFX05PQVVUT1VQREFURSkKKwkJYXJndl9hcnJheV9wdXNoKCZhbS5hcmdzLCAiLS1uby1yZXJlcmUtYXV0b3VwZGF0ZSIpOworCWlmIChvcHRzLT5ncGdfc2lnbl9vcHQpCisJCWFyZ3ZfYXJyYXlfcHVzaCgmYW0uYXJncywgb3B0cy0+Z3BnX3NpZ25fb3B0KTsKKwlzdGF0dXMgPSBydW5fY29tbWFuZCgmYW0pOworCXVubGluayhyZWJhc2VkX3BhdGNoZXMpOworCWZyZWUocmViYXNlZF9wYXRjaGVzKTsKKworCWlmICghc3RhdHVzKSB7CisJCXJldHVybiBtb3ZlX3RvX29yaWdpbmFsX2JyYW5jaChvcHRzKTsKKwl9CisKKwlpZiAoaXNfZGlyZWN0b3J5KG9wdHMtPnN0YXRlX2RpcikpCisJCXJlYmFzZV93cml0ZV9iYXNpY19zdGF0ZShvcHRzKTsKKworCXJldHVybiBzdGF0dXM7Cit9CisKK3N0YXRpYyBpbnQgcnVuX3NwZWNpZmljX3JlYmFzZShzdHJ1Y3QgcmViYXNlX29wdGlvbnMgKm9wdHMsIGVudW0gYWN0aW9uIGFjdGlvbikKIHsKIAljb25zdCBjaGFyICphcmd2W10gPSB7IE5VTEwsIE5VTEwgfTsKIAlzdHJ1Y3Qgc3RyYnVmIHNjcmlwdF9zbmlwcGV0ID0gU1RSQlVGX0lOSVQsIGJ1ZiA9IFNUUkJVRl9JTklUOwogCWludCBzdGF0dXM7CiAJY29uc3QgY2hhciAqYmFja2VuZCwgKmJhY2tlbmRfZnVuYzsKIAotCWlmIChvcHRzLT50eXBlID09IFJFQkFTRV9JTlRFUkFDVElWRSkgewotCQkvKiBSdW4gYnVpbHRpbiBpbnRlcmFjdGl2ZSByZWJhc2UgKi8KLQkJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY2hpbGQgPSBDSElMRF9QUk9DRVNTX0lOSVQ7Ci0KLQkJYXJndl9hcnJheV9wdXNoZigmY2hpbGQuZW52X2FycmF5LCAiR0lUX0NIRVJSWV9QSUNLX0hFTFA9JXMiLAotCQkJCSByZXNvbHZlbXNnKTsKKwlpZiAob3B0cy0+dHlwZSA9PSBSRUJBU0VfTUVSR0UpIHsKKwkJLyogUnVuIHNlcXVlbmNlci1iYXNlZCByZWJhc2UgKi8KKwkJc2V0ZW52KCJHSVRfQ0hFUlJZX1BJQ0tfSEVMUCIsIHJlc29sdmVtc2csIDEpOwogCQlpZiAoIShvcHRzLT5mbGFncyAmIFJFQkFTRV9JTlRFUkFDVElWRV9FWFBMSUNJVCkpIHsKLQkJCWFyZ3ZfYXJyYXlfcHVzaCgmY2hpbGQuZW52X2FycmF5LCAiR0lUX0VESVRPUj06Iik7CisJCQlzZXRlbnYoIkdJVF9TRVFVRU5DRV9FRElUT1IiLCAiOiIsIDEpOwogCQkJb3B0cy0+YXV0b3NxdWFzaCA9IDA7CiAJCX0KKwkJaWYgKG9wdHMtPmdwZ19zaWduX29wdCkgeworCQkJLyogcmVtb3ZlIHRoZSBsZWFkaW5nICItUyIgKi8KKwkJCWNoYXIgKnRtcCA9IHhzdHJkdXAob3B0cy0+Z3BnX3NpZ25fb3B0ICsgMik7CisJCQlmcmVlKG9wdHMtPmdwZ19zaWduX29wdCk7CisJCQlvcHRzLT5ncGdfc2lnbl9vcHQgPSB0bXA7CisJCX0KIAotCQljaGlsZC5naXRfY21kID0gMTsKLQkJYXJndl9hcnJheV9wdXNoKCZjaGlsZC5hcmdzLCAicmViYXNlLS1pbnRlcmFjdGl2ZSIpOworCQlzdGF0dXMgPSBydW5fc2VxdWVuY2VyX3JlYmFzZShvcHRzLCBhY3Rpb24pOworCQlnb3RvIGZpbmlzaGVkX3JlYmFzZTsKKwl9CiAKLQkJaWYgKG9wdHMtPmFjdGlvbikKLQkJCWFyZ3ZfYXJyYXlfcHVzaGYoJmNoaWxkLmFyZ3MsICItLSVzIiwgb3B0cy0+YWN0aW9uKTsKLQkJaWYgKG9wdHMtPmtlZXBfZW1wdHkpCi0JCQlhcmd2X2FycmF5X3B1c2goJmNoaWxkLmFyZ3MsICItLWtlZXAtZW1wdHkiKTsKLQkJaWYgKG9wdHMtPnJlYmFzZV9tZXJnZXMpCi0JCQlhcmd2X2FycmF5X3B1c2goJmNoaWxkLmFyZ3MsICItLXJlYmFzZS1tZXJnZXMiKTsKLQkJaWYgKG9wdHMtPnJlYmFzZV9jb3VzaW5zKQotCQkJYXJndl9hcnJheV9wdXNoKCZjaGlsZC5hcmdzLCAiLS1yZWJhc2UtY291c2lucyIpOwotCQlpZiAob3B0cy0+YXV0b3NxdWFzaCkKLQkJCWFyZ3ZfYXJyYXlfcHVzaCgmY2hpbGQuYXJncywgIi0tYXV0b3NxdWFzaCIpOwotCQlpZiAob3B0cy0+ZmxhZ3MgJiBSRUJBU0VfVkVSQk9TRSkKLQkJCWFyZ3ZfYXJyYXlfcHVzaCgmY2hpbGQuYXJncywgIi0tdmVyYm9zZSIpOwotCQlpZiAob3B0cy0+ZmxhZ3MgJiBSRUJBU0VfRk9SQ0UpCi0JCQlhcmd2X2FycmF5X3B1c2goJmNoaWxkLmFyZ3MsICItLW5vLWZmIik7Ci0JCWlmIChvcHRzLT5yZXN0cmljdF9yZXZpc2lvbikKLQkJCWFyZ3ZfYXJyYXlfcHVzaGYoJmNoaWxkLmFyZ3MsCi0JCQkJCSAiLS1yZXN0cmljdC1yZXZpc2lvbj1eJXMiLAotCQkJCQkgb2lkX3RvX2hleCgmb3B0cy0+cmVzdHJpY3RfcmV2aXNpb24tPm9iamVjdC5vaWQpKTsKLQkJaWYgKG9wdHMtPnVwc3RyZWFtKQotCQkJYXJndl9hcnJheV9wdXNoZigmY2hpbGQuYXJncywgIi0tdXBzdHJlYW09JXMiLAotCQkJCQkgb2lkX3RvX2hleCgmb3B0cy0+dXBzdHJlYW0tPm9iamVjdC5vaWQpKTsKLQkJaWYgKG9wdHMtPm9udG8pCi0JCQlhcmd2X2FycmF5X3B1c2hmKCZjaGlsZC5hcmdzLCAiLS1vbnRvPSVzIiwKLQkJCQkJIG9pZF90b19oZXgoJm9wdHMtPm9udG8tPm9iamVjdC5vaWQpKTsKLQkJaWYgKG9wdHMtPnNxdWFzaF9vbnRvKQotCQkJYXJndl9hcnJheV9wdXNoZigmY2hpbGQuYXJncywgIi0tc3F1YXNoLW9udG89JXMiLAotCQkJCQkgb2lkX3RvX2hleChvcHRzLT5zcXVhc2hfb250bykpOwotCQlpZiAob3B0cy0+b250b19uYW1lKQotCQkJYXJndl9hcnJheV9wdXNoZigmY2hpbGQuYXJncywgIi0tb250by1uYW1lPSVzIiwKLQkJCQkJIG9wdHMtPm9udG9fbmFtZSk7Ci0JCWFyZ3ZfYXJyYXlfcHVzaGYoJmNoaWxkLmFyZ3MsICItLWhlYWQtbmFtZT0lcyIsCi0JCQkJIG9wdHMtPmhlYWRfbmFtZSA/Ci0JCQkJIG9wdHMtPmhlYWRfbmFtZSA6ICJkZXRhY2hlZCBIRUFEIik7Ci0JCWlmIChvcHRzLT5zdHJhdGVneSkKLQkJCWFyZ3ZfYXJyYXlfcHVzaGYoJmNoaWxkLmFyZ3MsICItLXN0cmF0ZWd5PSVzIiwKLQkJCQkJIG9wdHMtPnN0cmF0ZWd5KTsKLQkJaWYgKG9wdHMtPnN0cmF0ZWd5X29wdHMpCi0JCQlhcmd2X2FycmF5X3B1c2hmKCZjaGlsZC5hcmdzLCAiLS1zdHJhdGVneS1vcHRzPSVzIiwKLQkJCQkJIG9wdHMtPnN0cmF0ZWd5X29wdHMpOwotCQlpZiAob3B0cy0+c3dpdGNoX3RvKQotCQkJYXJndl9hcnJheV9wdXNoZigmY2hpbGQuYXJncywgIi0tc3dpdGNoLXRvPSVzIiwKLQkJCQkJIG9wdHMtPnN3aXRjaF90byk7Ci0JCWlmIChvcHRzLT5jbWQpCi0JCQlhcmd2X2FycmF5X3B1c2hmKCZjaGlsZC5hcmdzLCAiLS1jbWQ9JXMiLCBvcHRzLT5jbWQpOwotCQlpZiAob3B0cy0+YWxsb3dfZW1wdHlfbWVzc2FnZSkKLQkJCWFyZ3ZfYXJyYXlfcHVzaCgmY2hpbGQuYXJncywgIi0tYWxsb3ctZW1wdHktbWVzc2FnZSIpOwotCQlpZiAob3B0cy0+YWxsb3dfcmVyZXJlX2F1dG91cGRhdGUgPiAwKQotCQkJYXJndl9hcnJheV9wdXNoKCZjaGlsZC5hcmdzLCAiLS1yZXJlcmUtYXV0b3VwZGF0ZSIpOwotCQllbHNlIGlmIChvcHRzLT5hbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSA9PSAwKQotCQkJYXJndl9hcnJheV9wdXNoKCZjaGlsZC5hcmdzLCAiLS1uby1yZXJlcmUtYXV0b3VwZGF0ZSIpOwotCQlpZiAob3B0cy0+Z3BnX3NpZ25fb3B0KQotCQkJYXJndl9hcnJheV9wdXNoKCZjaGlsZC5hcmdzLCBvcHRzLT5ncGdfc2lnbl9vcHQpOwotCQlpZiAob3B0cy0+c2lnbm9mZikKLQkJCWFyZ3ZfYXJyYXlfcHVzaCgmY2hpbGQuYXJncywgIi0tc2lnbm9mZiIpOwotCi0JCXN0YXR1cyA9IHJ1bl9jb21tYW5kKCZjaGlsZCk7CisJaWYgKG9wdHMtPnR5cGUgPT0gUkVCQVNFX0FQUExZKSB7CisJCXN0YXR1cyA9IHJ1bl9hbShvcHRzKTsKIAkJZ290byBmaW5pc2hlZF9yZWJhc2U7CiAJfQogCkBAIC00MzUsOCArMTE0NSw2IEBACiAJYWRkX3Zhcigmc2NyaXB0X3NuaXBwZXQsICJyZXZpc2lvbnMiLCBvcHRzLT5yZXZpc2lvbnMpOwogCWFkZF92YXIoJnNjcmlwdF9zbmlwcGV0LCAicmVzdHJpY3RfcmV2aXNpb24iLCBvcHRzLT5yZXN0cmljdF9yZXZpc2lvbiA/CiAJCW9pZF90b19oZXgoJm9wdHMtPnJlc3RyaWN0X3JldmlzaW9uLT5vYmplY3Qub2lkKSA6IE5VTEwpOwotCWFkZF92YXIoJnNjcmlwdF9zbmlwcGV0LCAiR0lUX1FVSUVUIiwKLQkJb3B0cy0+ZmxhZ3MgJiBSRUJBU0VfTk9fUVVJRVQgPyAiIiA6ICJ0Iik7CiAJc3FfcXVvdGVfYXJndl9wcmV0dHkoJmJ1Ziwgb3B0cy0+Z2l0X2FtX29wdHMuYXJndik7CiAJYWRkX3Zhcigmc2NyaXB0X3NuaXBwZXQsICJnaXRfYW1fb3B0IiwgYnVmLmJ1Zik7CiAJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CkBAIC00NTEsMTAgKzExNTksOSBAQAogCWFkZF92YXIoJnNjcmlwdF9zbmlwcGV0LCAiYWN0aW9uIiwgb3B0cy0+YWN0aW9uID8gb3B0cy0+YWN0aW9uIDogIiIpOwogCWFkZF92YXIoJnNjcmlwdF9zbmlwcGV0LCAic2lnbm9mZiIsIG9wdHMtPnNpZ25vZmYgPyAiLS1zaWdub2ZmIiA6ICIiKTsKIAlhZGRfdmFyKCZzY3JpcHRfc25pcHBldCwgImFsbG93X3JlcmVyZV9hdXRvdXBkYXRlIiwKLQkJb3B0cy0+YWxsb3dfcmVyZXJlX2F1dG91cGRhdGUgPCAwID8gIiIgOgogCQlvcHRzLT5hbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSA/Ci0JCSItLXJlcmVyZS1hdXRvdXBkYXRlIiA6ICItLW5vLXJlcmVyZS1hdXRvdXBkYXRlIik7Ci0JYWRkX3Zhcigmc2NyaXB0X3NuaXBwZXQsICJrZWVwX2VtcHR5Iiwgb3B0cy0+a2VlcF9lbXB0eSA/ICJ5ZXMiIDogIiIpOworCQkJb3B0cy0+YWxsb3dfcmVyZXJlX2F1dG91cGRhdGUgPT0gUkVSRVJFX0FVVE9VUERBVEUgPworCQkJIi0tcmVyZXJlLWF1dG91cGRhdGUiIDogIi0tbm8tcmVyZXJlLWF1dG91cGRhdGUiIDogIiIpOwogCWFkZF92YXIoJnNjcmlwdF9zbmlwcGV0LCAiYXV0b3NxdWFzaCIsIG9wdHMtPmF1dG9zcXVhc2ggPyAidCIgOiAiIik7CiAJYWRkX3Zhcigmc2NyaXB0X3NuaXBwZXQsICJncGdfc2lnbl9vcHQiLCBvcHRzLT5ncGdfc2lnbl9vcHQpOwogCWFkZF92YXIoJnNjcmlwdF9zbmlwcGV0LCAiY21kIiwgb3B0cy0+Y21kKTsKQEAgLTQ3MiwyMiArMTE3OSwxNCBAQAogCWFkZF92YXIoJnNjcmlwdF9zbmlwcGV0LCAiZ2l0X2Zvcm1hdF9wYXRjaF9vcHQiLAogCQlvcHRzLT5naXRfZm9ybWF0X3BhdGNoX29wdC5idWYpOwogCi0JaWYgKGlzX2ludGVyYWN0aXZlKG9wdHMpICYmCisJaWYgKGlzX21lcmdlKG9wdHMpICYmCiAJICAgICEob3B0cy0+ZmxhZ3MgJiBSRUJBU0VfSU5URVJBQ1RJVkVfRVhQTElDSVQpKSB7CiAJCXN0cmJ1Zl9hZGRzdHIoJnNjcmlwdF9zbmlwcGV0LAotCQkJICAgICAgIkdJVF9FRElUT1I9OjsgZXhwb3J0IEdJVF9FRElUT1I7ICIpOworCQkJICAgICAgIkdJVF9TRVFVRU5DRV9FRElUT1I9OjsgZXhwb3J0IEdJVF9TRVFVRU5DRV9FRElUT1I7ICIpOwogCQlvcHRzLT5hdXRvc3F1YXNoID0gMDsKIAl9CiAKIAlzd2l0Y2ggKG9wdHMtPnR5cGUpIHsKLQljYXNlIFJFQkFTRV9BTToKLQkJYmFja2VuZCA9ICJnaXQtcmViYXNlLS1hbSI7Ci0JCWJhY2tlbmRfZnVuYyA9ICJnaXRfcmViYXNlX19hbSI7Ci0JCWJyZWFrOwotCWNhc2UgUkVCQVNFX01FUkdFOgotCQliYWNrZW5kID0gImdpdC1yZWJhc2UtLW1lcmdlIjsKLQkJYmFja2VuZF9mdW5jID0gImdpdF9yZWJhc2VfX21lcmdlIjsKLQkJYnJlYWs7CiAJY2FzZSBSRUJBU0VfUFJFU0VSVkVfTUVSR0VTOgogCQliYWNrZW5kID0gImdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcyI7CiAJCWJhY2tlbmRfZnVuYyA9ICJnaXRfcmViYXNlX19wcmVzZXJ2ZV9tZXJnZXMiOwpAQCAtNDk4LDE2ICsxMTk3LDE1IEBACiAJfQogCiAJc3RyYnVmX2FkZGYoJnNjcmlwdF9zbmlwcGV0LAotCQkgICAgIi4gZ2l0LXNoLXNldHVwICYmIC4gZ2l0LXJlYmFzZS0tY29tbW9uICYmIgotCQkgICAgIiAuICVzICYmICVzIiwgYmFja2VuZCwgYmFja2VuZF9mdW5jKTsKKwkJICAgICIuIGdpdC1zaC1zZXR1cCAmJiAuICVzICYmICVzIiwgYmFja2VuZCwgYmFja2VuZF9mdW5jKTsKIAlhcmd2WzBdID0gc2NyaXB0X3NuaXBwZXQuYnVmOwogCiAJc3RhdHVzID0gcnVuX2NvbW1hbmRfdl9vcHQoYXJndiwgUlVOX1VTSU5HX1NIRUxMKTsKIGZpbmlzaGVkX3JlYmFzZToKIAlpZiAob3B0cy0+ZG9udF9maW5pc2hfcmViYXNlKQogCQk7IC8qIGRvIG5vdGhpbmcgKi8KLQllbHNlIGlmIChvcHRzLT50eXBlID09IFJFQkFTRV9JTlRFUkFDVElWRSkKLQkJOyAvKiBpbnRlcmFjdGl2ZSByZWJhc2UgY2xlYW5zIHVwIGFmdGVyIGl0c2VsZiAqLworCWVsc2UgaWYgKG9wdHMtPnR5cGUgPT0gUkVCQVNFX01FUkdFKQorCQk7IC8qIG1lcmdlIGJhY2tlbmQgY2xlYW5zIHVwIGFmdGVyIGl0c2VsZiAqLwogCWVsc2UgaWYgKHN0YXR1cyA9PSAwKSB7CiAJCWlmICghZmlsZV9leGlzdHMoc3RhdGVfZGlyX3BhdGgoInN0b3BwZWQtc2hhIiwgb3B0cykpKQogCQkJZmluaXNoX3JlYmFzZShvcHRzKTsKQEAgLTUyNiwxMjUgKzEyMjQsNiBAQAogCXJldHVybiBzdGF0dXMgPyAtMSA6IDA7CiB9CiAKLSNkZWZpbmUgR0lUX1JFRkxPR19BQ1RJT05fRU5WSVJPTk1FTlQgIkdJVF9SRUZMT0dfQUNUSU9OIgotCi0jZGVmaW5lIFJFU0VUX0hFQURfREVUQUNIICgxPDwwKQotI2RlZmluZSBSRVNFVF9IRUFEX0hBUkQgKDE8PDEpCi0KLXN0YXRpYyBpbnQgcmVzZXRfaGVhZChzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKmFjdGlvbiwKLQkJICAgICAgY29uc3QgY2hhciAqc3dpdGNoX3RvX2JyYW5jaCwgdW5zaWduZWQgZmxhZ3MsCi0JCSAgICAgIGNvbnN0IGNoYXIgKnJlZmxvZ19vcmlnX2hlYWQsIGNvbnN0IGNoYXIgKnJlZmxvZ19oZWFkKQotewotCXVuc2lnbmVkIGRldGFjaF9oZWFkID0gZmxhZ3MgJiBSRVNFVF9IRUFEX0RFVEFDSDsKLQl1bnNpZ25lZCByZXNldF9oYXJkID0gZmxhZ3MgJiBSRVNFVF9IRUFEX0hBUkQ7Ci0Jc3RydWN0IG9iamVjdF9pZCBoZWFkX29pZDsKLQlzdHJ1Y3QgdHJlZV9kZXNjIGRlc2NbMl0gPSB7IHsgTlVMTCB9LCB7IE5VTEwgfSB9OwotCXN0cnVjdCBsb2NrX2ZpbGUgbG9jayA9IExPQ0tfSU5JVDsKLQlzdHJ1Y3QgdW5wYWNrX3RyZWVzX29wdGlvbnMgdW5wYWNrX3RyZWVfb3B0czsKLQlzdHJ1Y3QgdHJlZSAqdHJlZTsKLQljb25zdCBjaGFyICpyZWZsb2dfYWN0aW9uOwotCXN0cnVjdCBzdHJidWYgbXNnID0gU1RSQlVGX0lOSVQ7Ci0Jc2l6ZV90IHByZWZpeF9sZW47Ci0Jc3RydWN0IG9iamVjdF9pZCAqb3JpZyA9IE5VTEwsIG9pZF9vcmlnLAotCQkqb2xkX29yaWcgPSBOVUxMLCBvaWRfb2xkX29yaWc7Ci0JaW50IHJldCA9IDAsIG5yID0gMDsKLQotCWlmIChzd2l0Y2hfdG9fYnJhbmNoICYmICFzdGFydHNfd2l0aChzd2l0Y2hfdG9fYnJhbmNoLCAicmVmcy8iKSkKLQkJQlVHKCJOb3QgYSBmdWxseSBxdWFsaWZpZWQgYnJhbmNoOiAnJXMnIiwgc3dpdGNoX3RvX2JyYW5jaCk7Ci0KLQlpZiAoaG9sZF9sb2NrZWRfaW5kZXgoJmxvY2ssIExPQ0tfUkVQT1JUX09OX0VSUk9SKSA8IDApIHsKLQkJcmV0ID0gLTE7Ci0JCWdvdG8gbGVhdmVfcmVzZXRfaGVhZDsKLQl9Ci0KLQlpZiAoKCFvaWQgfHwgIXJlc2V0X2hhcmQpICYmIGdldF9vaWQoIkhFQUQiLCAmaGVhZF9vaWQpKSB7Ci0JCXJldCA9IGVycm9yKF8oImNvdWxkIG5vdCBkZXRlcm1pbmUgSEVBRCByZXZpc2lvbiIpKTsKLQkJZ290byBsZWF2ZV9yZXNldF9oZWFkOwotCX0KLQotCWlmICghb2lkKQotCQlvaWQgPSAmaGVhZF9vaWQ7Ci0KLQltZW1zZXQoJnVucGFja190cmVlX29wdHMsIDAsIHNpemVvZih1bnBhY2tfdHJlZV9vcHRzKSk7Ci0Jc2V0dXBfdW5wYWNrX3RyZWVzX3BvcmNlbGFpbigmdW5wYWNrX3RyZWVfb3B0cywgYWN0aW9uKTsKLQl1bnBhY2tfdHJlZV9vcHRzLmhlYWRfaWR4ID0gMTsKLQl1bnBhY2tfdHJlZV9vcHRzLnNyY19pbmRleCA9IHRoZV9yZXBvc2l0b3J5LT5pbmRleDsKLQl1bnBhY2tfdHJlZV9vcHRzLmRzdF9pbmRleCA9IHRoZV9yZXBvc2l0b3J5LT5pbmRleDsKLQl1bnBhY2tfdHJlZV9vcHRzLmZuID0gcmVzZXRfaGFyZCA/IG9uZXdheV9tZXJnZSA6IHR3b3dheV9tZXJnZTsKLQl1bnBhY2tfdHJlZV9vcHRzLnVwZGF0ZSA9IDE7Ci0JdW5wYWNrX3RyZWVfb3B0cy5tZXJnZSA9IDE7Ci0JaWYgKCFkZXRhY2hfaGVhZCkKLQkJdW5wYWNrX3RyZWVfb3B0cy5yZXNldCA9IDE7Ci0KLQlpZiAocmVhZF9pbmRleF91bm1lcmdlZCh0aGVfcmVwb3NpdG9yeS0+aW5kZXgpIDwgMCkgewotCQlyZXQgPSBlcnJvcihfKCJjb3VsZCBub3QgcmVhZCBpbmRleCIpKTsKLQkJZ290byBsZWF2ZV9yZXNldF9oZWFkOwotCX0KLQotCWlmICghcmVzZXRfaGFyZCAmJiAhZmlsbF90cmVlX2Rlc2NyaXB0b3IoJmRlc2NbbnIrK10sICZoZWFkX29pZCkpIHsKLQkJcmV0ID0gZXJyb3IoXygiZmFpbGVkIHRvIGZpbmQgdHJlZSBvZiAlcyIpLAotCQkJICAgIG9pZF90b19oZXgoJmhlYWRfb2lkKSk7Ci0JCWdvdG8gbGVhdmVfcmVzZXRfaGVhZDsKLQl9Ci0KLQlpZiAoIWZpbGxfdHJlZV9kZXNjcmlwdG9yKCZkZXNjW25yKytdLCBvaWQpKSB7Ci0JCXJldCA9IGVycm9yKF8oImZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMiKSwgb2lkX3RvX2hleChvaWQpKTsKLQkJZ290byBsZWF2ZV9yZXNldF9oZWFkOwotCX0KLQotCWlmICh1bnBhY2tfdHJlZXMobnIsIGRlc2MsICZ1bnBhY2tfdHJlZV9vcHRzKSkgewotCQlyZXQgPSAtMTsKLQkJZ290byBsZWF2ZV9yZXNldF9oZWFkOwotCX0KLQotCXRyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KG9pZCk7Ci0JcHJpbWVfY2FjaGVfdHJlZSh0aGVfcmVwb3NpdG9yeS0+aW5kZXgsIHRyZWUpOwotCi0JaWYgKHdyaXRlX2xvY2tlZF9pbmRleCh0aGVfcmVwb3NpdG9yeS0+aW5kZXgsICZsb2NrLCBDT01NSVRfTE9DSykgPCAwKSB7Ci0JCXJldCA9IGVycm9yKF8oImNvdWxkIG5vdCB3cml0ZSBpbmRleCIpKTsKLQkJZ290byBsZWF2ZV9yZXNldF9oZWFkOwotCX0KLQotCXJlZmxvZ19hY3Rpb24gPSBnZXRlbnYoR0lUX1JFRkxPR19BQ1RJT05fRU5WSVJPTk1FTlQpOwotCXN0cmJ1Zl9hZGRmKCZtc2csICIlczogIiwgcmVmbG9nX2FjdGlvbiA/IHJlZmxvZ19hY3Rpb24gOiAicmViYXNlIik7Ci0JcHJlZml4X2xlbiA9IG1zZy5sZW47Ci0KLQlpZiAoIWdldF9vaWQoIk9SSUdfSEVBRCIsICZvaWRfb2xkX29yaWcpKQotCQlvbGRfb3JpZyA9ICZvaWRfb2xkX29yaWc7Ci0JaWYgKCFnZXRfb2lkKCJIRUFEIiwgJm9pZF9vcmlnKSkgewotCQlvcmlnID0gJm9pZF9vcmlnOwotCQlpZiAoIXJlZmxvZ19vcmlnX2hlYWQpIHsKLQkJCXN0cmJ1Zl9hZGRzdHIoJm1zZywgInVwZGF0aW5nIE9SSUdfSEVBRCIpOwotCQkJcmVmbG9nX29yaWdfaGVhZCA9IG1zZy5idWY7Ci0JCX0KLQkJdXBkYXRlX3JlZihyZWZsb2dfb3JpZ19oZWFkLCAiT1JJR19IRUFEIiwgb3JpZywgb2xkX29yaWcsIDAsCi0JCQkgICBVUERBVEVfUkVGU19NU0dfT05fRVJSKTsKLQl9IGVsc2UgaWYgKG9sZF9vcmlnKQotCQlkZWxldGVfcmVmKE5VTEwsICJPUklHX0hFQUQiLCBvbGRfb3JpZywgMCk7Ci0JaWYgKCFyZWZsb2dfaGVhZCkgewotCQlzdHJidWZfc2V0bGVuKCZtc2csIHByZWZpeF9sZW4pOwotCQlzdHJidWZfYWRkc3RyKCZtc2csICJ1cGRhdGluZyBIRUFEIik7Ci0JCXJlZmxvZ19oZWFkID0gbXNnLmJ1ZjsKLQl9Ci0JaWYgKCFzd2l0Y2hfdG9fYnJhbmNoKQotCQlyZXQgPSB1cGRhdGVfcmVmKHJlZmxvZ19oZWFkLCAiSEVBRCIsIG9pZCwgb3JpZywKLQkJCQkgZGV0YWNoX2hlYWQgPyBSRUZfTk9fREVSRUYgOiAwLAotCQkJCSBVUERBVEVfUkVGU19NU0dfT05fRVJSKTsKLQllbHNlIHsKLQkJcmV0ID0gY3JlYXRlX3N5bXJlZigiSEVBRCIsIHN3aXRjaF90b19icmFuY2gsIG1zZy5idWYpOwotCQlpZiAoIXJldCkKLQkJCXJldCA9IHVwZGF0ZV9yZWYocmVmbG9nX2hlYWQsICJIRUFEIiwgb2lkLCBOVUxMLCAwLAotCQkJCQkgVVBEQVRFX1JFRlNfTVNHX09OX0VSUik7Ci0JfQotCi1sZWF2ZV9yZXNldF9oZWFkOgotCXN0cmJ1Zl9yZWxlYXNlKCZtc2cpOwotCXJvbGxiYWNrX2xvY2tfZmlsZSgmbG9jayk7Ci0Jd2hpbGUgKG5yKQotCQlmcmVlKCh2b2lkICopZGVzY1stLW5yXS5idWZmZXIpOwotCXJldHVybiByZXQ7Ci19Ci0KIHN0YXRpYyBpbnQgcmViYXNlX2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpkYXRhKQogewogCXN0cnVjdCByZWJhc2Vfb3B0aW9ucyAqb3B0cyA9IGRhdGE7CkBAIC02NTMsNyArMTIzMiw3IEBACiAJCWlmIChnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSkpCiAJCQlvcHRzLT5mbGFncyB8PSBSRUJBU0VfRElGRlNUQVQ7CiAJCWVsc2UKLQkJCW9wdHMtPmZsYWdzICY9ICFSRUJBU0VfRElGRlNUQVQ7CisJCQlvcHRzLT5mbGFncyAmPSB+UkVCQVNFX0RJRkZTVEFUOwogCQlyZXR1cm4gMDsKIAl9CiAKQEAgLTY3NCw2ICsxMjUzLDIwIEBACiAJCXJldHVybiAwOwogCX0KIAorCWlmICghc3RyY21wKHZhciwgInJlYmFzZS5yZXNjaGVkdWxlZmFpbGVkZXhlYyIpKSB7CisJCW9wdHMtPnJlc2NoZWR1bGVfZmFpbGVkX2V4ZWMgPSBnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSk7CisJCXJldHVybiAwOworCX0KKworCWlmICghc3RyY21wKHZhciwgInJlYmFzZS51c2VidWlsdGluIikpIHsKKwkJb3B0cy0+dXNlX2xlZ2FjeV9yZWJhc2UgPSAhZ2l0X2NvbmZpZ19ib29sKHZhciwgdmFsdWUpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoIXN0cmNtcCh2YXIsICJyZWJhc2UuYmFja2VuZCIpKSB7CisJCXJldHVybiBnaXRfY29uZmlnX3N0cmluZygmb3B0cy0+ZGVmYXVsdF9iYWNrZW5kLCB2YXIsIHZhbHVlKTsKKwl9CisKIAlyZXR1cm4gZ2l0X2RlZmF1bHRfY29uZmlnKHZhciwgdmFsdWUsIGRhdGEpOwogfQogCkBAIC02OTUsMjggKzEyODgsNjAgQEAKIAlyZXR1cm4gMTsKIH0KIAotc3RhdGljIGludCBjYW5fZmFzdF9mb3J3YXJkKHN0cnVjdCBjb21taXQgKm9udG8sIHN0cnVjdCBvYmplY3RfaWQgKmhlYWRfb2lkLAotCQkJICAgIHN0cnVjdCBvYmplY3RfaWQgKm1lcmdlX2Jhc2UpCitzdGF0aWMgaW50IGNhbl9mYXN0X2ZvcndhcmQoc3RydWN0IGNvbW1pdCAqb250bywgc3RydWN0IGNvbW1pdCAqdXBzdHJlYW0sCisJCQkgICAgc3RydWN0IGNvbW1pdCAqcmVzdHJpY3RfcmV2aXNpb24sCisJCQkgICAgc3RydWN0IG9iamVjdF9pZCAqaGVhZF9vaWQsIHN0cnVjdCBvYmplY3RfaWQgKm1lcmdlX2Jhc2UpCiB7CiAJc3RydWN0IGNvbW1pdCAqaGVhZCA9IGxvb2t1cF9jb21taXQodGhlX3JlcG9zaXRvcnksIGhlYWRfb2lkKTsKLQlzdHJ1Y3QgY29tbWl0X2xpc3QgKm1lcmdlX2Jhc2VzOwotCWludCByZXM7CisJc3RydWN0IGNvbW1pdF9saXN0ICptZXJnZV9iYXNlcyA9IE5VTEw7CisJaW50IHJlcyA9IDA7CiAKIAlpZiAoIWhlYWQpCi0JCXJldHVybiAwOworCQlnb3RvIGRvbmU7CiAKIAltZXJnZV9iYXNlcyA9IGdldF9tZXJnZV9iYXNlcyhvbnRvLCBoZWFkKTsKLQlpZiAobWVyZ2VfYmFzZXMgJiYgIW1lcmdlX2Jhc2VzLT5uZXh0KSB7Ci0JCW9pZGNweShtZXJnZV9iYXNlLCAmbWVyZ2VfYmFzZXMtPml0ZW0tPm9iamVjdC5vaWQpOwotCQlyZXMgPSBvaWRlcShtZXJnZV9iYXNlLCAmb250by0+b2JqZWN0Lm9pZCk7Ci0JfSBlbHNlIHsKKwlpZiAoIW1lcmdlX2Jhc2VzIHx8IG1lcmdlX2Jhc2VzLT5uZXh0KSB7CiAJCW9pZGNweShtZXJnZV9iYXNlLCAmbnVsbF9vaWQpOwotCQlyZXMgPSAwOworCQlnb3RvIGRvbmU7CiAJfQorCisJb2lkY3B5KG1lcmdlX2Jhc2UsICZtZXJnZV9iYXNlcy0+aXRlbS0+b2JqZWN0Lm9pZCk7CisJaWYgKCFvaWRlcShtZXJnZV9iYXNlLCAmb250by0+b2JqZWN0Lm9pZCkpCisJCWdvdG8gZG9uZTsKKworCWlmIChyZXN0cmljdF9yZXZpc2lvbiAmJiAhb2lkZXEoJnJlc3RyaWN0X3JldmlzaW9uLT5vYmplY3Qub2lkLCBtZXJnZV9iYXNlKSkKKwkJZ290byBkb25lOworCisJaWYgKCF1cHN0cmVhbSkKKwkJZ290byBkb25lOworCisJZnJlZV9jb21taXRfbGlzdChtZXJnZV9iYXNlcyk7CisJbWVyZ2VfYmFzZXMgPSBnZXRfbWVyZ2VfYmFzZXModXBzdHJlYW0sIGhlYWQpOworCWlmICghbWVyZ2VfYmFzZXMgfHwgbWVyZ2VfYmFzZXMtPm5leHQpCisJCWdvdG8gZG9uZTsKKworCWlmICghb2lkZXEoJm9udG8tPm9iamVjdC5vaWQsICZtZXJnZV9iYXNlcy0+aXRlbS0+b2JqZWN0Lm9pZCkpCisJCWdvdG8gZG9uZTsKKworCXJlcyA9IDE7CisKK2RvbmU6CiAJZnJlZV9jb21taXRfbGlzdChtZXJnZV9iYXNlcyk7CiAJcmV0dXJuIHJlcyAmJiBpc19saW5lYXJfaGlzdG9yeShvbnRvLCBoZWFkKTsKIH0KIAorc3RhdGljIGludCBwYXJzZV9vcHRfYW0oY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LCBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3QgcmViYXNlX29wdGlvbnMgKm9wdHMgPSBvcHQtPnZhbHVlOworCisJQlVHX09OX09QVF9ORUcodW5zZXQpOworCUJVR19PTl9PUFRfQVJHKGFyZyk7CisKKwlvcHRzLT50eXBlID0gUkVCQVNFX0FQUExZOworCisJcmV0dXJuIDA7Cit9CisKIC8qIC1pIGZvbGxvd2VkIGJ5IC1tIGlzIHN0aWxsIC1pICovCiBzdGF0aWMgaW50IHBhcnNlX29wdF9tZXJnZShjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQogewpAQCAtNzI1LDcgKzEzNTAsNyBAQAogCUJVR19PTl9PUFRfTkVHKHVuc2V0KTsKIAlCVUdfT05fT1BUX0FSRyhhcmcpOwogCi0JaWYgKCFpc19pbnRlcmFjdGl2ZShvcHRzKSkKKwlpZiAoIWlzX21lcmdlKG9wdHMpKQogCQlvcHRzLT50eXBlID0gUkVCQVNFX01FUkdFOwogCiAJcmV0dXJuIDA7CkBAIC03NDAsMTIgKzEzNjUsMzUgQEAKIAlCVUdfT05fT1BUX05FRyh1bnNldCk7CiAJQlVHX09OX09QVF9BUkcoYXJnKTsKIAotCW9wdHMtPnR5cGUgPSBSRUJBU0VfSU5URVJBQ1RJVkU7CisJb3B0cy0+dHlwZSA9IFJFQkFTRV9NRVJHRTsKIAlvcHRzLT5mbGFncyB8PSBSRUJBU0VfSU5URVJBQ1RJVkVfRVhQTElDSVQ7CiAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGVudW0gZW1wdHlfdHlwZSBwYXJzZV9lbXB0eV92YWx1ZShjb25zdCBjaGFyICp2YWx1ZSkKK3sKKwlpZiAoIXN0cmNhc2VjbXAodmFsdWUsICJkcm9wIikpCisJCXJldHVybiBFTVBUWV9EUk9QOworCWVsc2UgaWYgKCFzdHJjYXNlY21wKHZhbHVlLCAia2VlcCIpKQorCQlyZXR1cm4gRU1QVFlfS0VFUDsKKwllbHNlIGlmICghc3RyY2FzZWNtcCh2YWx1ZSwgImFzayIpKQorCQlyZXR1cm4gRU1QVFlfQVNLOworCisJZGllKF8oInVucmVjb2duaXplZCBlbXB0eSB0eXBlICclcyc7IHZhbGlkIHZhbHVlcyBhcmUgXCJkcm9wXCIsIFwia2VlcFwiLCBhbmQgXCJhc2tcIi4iKSwgdmFsdWUpOworfQorCitzdGF0aWMgaW50IHBhcnNlX29wdF9lbXB0eShjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQoreworCXN0cnVjdCByZWJhc2Vfb3B0aW9ucyAqb3B0aW9ucyA9IG9wdC0+dmFsdWU7CisJZW51bSBlbXB0eV90eXBlIHZhbHVlID0gcGFyc2VfZW1wdHlfdmFsdWUoYXJnKTsKKworCUJVR19PTl9PUFRfTkVHKHVuc2V0KTsKKworCW9wdGlvbnMtPmVtcHR5ID0gdmFsdWU7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyB2b2lkIE5PUkVUVVJOIGVycm9yX29uX21pc3NpbmdfZGVmYXVsdF91cHN0cmVhbSh2b2lkKQogewogCXN0cnVjdCBicmFuY2ggKmN1cnJlbnRfYnJhbmNoID0gYnJhbmNoX2dldChOVUxMKTsKQEAgLTc4MSw0NCArMTQyOSw0MyBAQAogCWNvbnN0IGNoYXIgKmVudjsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCi0JaWYgKCFpc19pbnRlcmFjdGl2ZShvcHRpb25zKSkKKwlpZiAoIWlzX21lcmdlKG9wdGlvbnMpKQogCQlyZXR1cm47CiAKIAllbnYgPSBnZXRlbnYoR0lUX1JFRkxPR19BQ1RJT05fRU5WSVJPTk1FTlQpOwogCWlmIChlbnYgJiYgc3RyY21wKCJyZWJhc2UiLCBlbnYpKQogCQlyZXR1cm47IC8qIG9ubHkgb3ZlcnJpZGUgaXQgaWYgaXQgaXMgInJlYmFzZSIgKi8KIAotCXN0cmJ1Zl9hZGRmKCZidWYsICJyZWJhc2UgLWkgKCVzKSIsIG9wdGlvbnMtPmFjdGlvbik7CisJc3RyYnVmX2FkZGYoJmJ1ZiwgInJlYmFzZSAoJXMpIiwgb3B0aW9ucy0+YWN0aW9uKTsKIAlzZXRlbnYoR0lUX1JFRkxPR19BQ1RJT05fRU5WSVJPTk1FTlQsIGJ1Zi5idWYsIDEpOwogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogfQogCitzdGF0aWMgaW50IGNoZWNrX2V4ZWNfY21kKGNvbnN0IGNoYXIgKmNtZCkKK3sKKwlpZiAoc3RyY2hyKGNtZCwgJ1xuJykpCisJCXJldHVybiBlcnJvcihfKCJleGVjIGNvbW1hbmRzIGNhbm5vdCBjb250YWluIG5ld2xpbmVzIikpOworCisJLyogRG9lcyB0aGUgY29tbWFuZCBjb25zaXN0IHB1cmVseSBvZiB3aGl0ZXNwYWNlPyAqLworCWlmICghY21kW3N0cnNwbihjbWQsICIgXHRcclxmXHYiKV0pCisJCXJldHVybiBlcnJvcihfKCJlbXB0eSBleGVjIGNvbW1hbmQiKSk7CisKKwlyZXR1cm4gMDsKK30KKworCiBpbnQgY21kX3JlYmFzZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKLQlzdHJ1Y3QgcmViYXNlX29wdGlvbnMgb3B0aW9ucyA9IHsKLQkJLnR5cGUgPSBSRUJBU0VfVU5TUEVDSUZJRUQsCi0JCS5mbGFncyA9IFJFQkFTRV9OT19RVUlFVCwKLQkJLmdpdF9hbV9vcHRzID0gQVJHVl9BUlJBWV9JTklULAotCQkuYWxsb3dfcmVyZXJlX2F1dG91cGRhdGUgID0gLTEsCi0JCS5hbGxvd19lbXB0eV9tZXNzYWdlID0gMSwKLQkJLmdpdF9mb3JtYXRfcGF0Y2hfb3B0ID0gU1RSQlVGX0lOSVQsCi0JfTsKKwlzdHJ1Y3QgcmViYXNlX29wdGlvbnMgb3B0aW9ucyA9IFJFQkFTRV9PUFRJT05TX0lOSVQ7CiAJY29uc3QgY2hhciAqYnJhbmNoX25hbWU7CiAJaW50IHJldCwgZmxhZ3MsIHRvdGFsX2FyZ2MsIGluX3Byb2dyZXNzID0gMDsKKwlpbnQga2VlcF9iYXNlID0gMDsKIAlpbnQgb2tfdG9fc2tpcF9wcmVfcmViYXNlID0gMDsKIAlzdHJ1Y3Qgc3RyYnVmIG1zZyA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJidWYgcmV2aXNpb25zID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG1lcmdlX2Jhc2U7Ci0JZW51bSB7Ci0JCU5PX0FDVElPTiwKLQkJQUNUSU9OX0NPTlRJTlVFLAotCQlBQ1RJT05fU0tJUCwKLQkJQUNUSU9OX0FCT1JULAotCQlBQ1RJT05fUVVJVCwKLQkJQUNUSU9OX0VESVRfVE9ETywKLQkJQUNUSU9OX1NIT1dfQ1VSUkVOVF9QQVRDSCwKLQl9IGFjdGlvbiA9IE5PX0FDVElPTjsKKwllbnVtIGFjdGlvbiBhY3Rpb24gPSBBQ1RJT05fTk9ORTsKIAljb25zdCBjaGFyICpncGdfc2lnbiA9IE5VTEw7CiAJc3RydWN0IHN0cmluZ19saXN0IGV4ZWMgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogCWNvbnN0IGNoYXIgKnJlYmFzZV9tZXJnZXMgPSBOVUxMOwpAQCAtODI2LDE1ICsxNDczLDE5IEBACiAJc3RydWN0IHN0cmluZ19saXN0IHN0cmF0ZWd5X29wdGlvbnMgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogCXN0cnVjdCBvYmplY3RfaWQgc3F1YXNoX29udG87CiAJY2hhciAqc3F1YXNoX29udG9fbmFtZSA9IE5VTEw7CisJaW50IHJlc2NoZWR1bGVfZmFpbGVkX2V4ZWMgPSAtMTsKKwlpbnQgYWxsb3dfcHJlZW1wdGl2ZV9mZiA9IDE7CiAJc3RydWN0IG9wdGlvbiBidWlsdGluX3JlYmFzZV9vcHRpb25zW10gPSB7CiAJCU9QVF9TVFJJTkcoMCwgIm9udG8iLCAmb3B0aW9ucy5vbnRvX25hbWUsCiAJCQkgICBOXygicmV2aXNpb24iKSwKIAkJCSAgIE5fKCJyZWJhc2Ugb250byBnaXZlbiBicmFuY2ggaW5zdGVhZCBvZiB1cHN0cmVhbSIpKSwKKwkJT1BUX0JPT0woMCwgImtlZXAtYmFzZSIsICZrZWVwX2Jhc2UsCisJCQkgTl8oInVzZSB0aGUgbWVyZ2UtYmFzZSBvZiB1cHN0cmVhbSBhbmQgYnJhbmNoIGFzIHRoZSBjdXJyZW50IGJhc2UiKSksCiAJCU9QVF9CT09MKDAsICJuby12ZXJpZnkiLCAmb2tfdG9fc2tpcF9wcmVfcmViYXNlLAogCQkJIE5fKCJhbGxvdyBwcmUtcmViYXNlIGhvb2sgdG8gcnVuIikpLAogCQlPUFRfTkVHQklUKCdxJywgInF1aWV0IiwgJm9wdGlvbnMuZmxhZ3MsCiAJCQkgICBOXygiYmUgcXVpZXQuIGltcGxpZXMgLS1uby1zdGF0IiksCi0JCQkgICBSRUJBU0VfTk9fUVVJRVR8IFJFQkFTRV9WRVJCT1NFIHwgUkVCQVNFX0RJRkZTVEFUKSwKKwkJCSAgIFJFQkFTRV9OT19RVUlFVCB8IFJFQkFTRV9WRVJCT1NFIHwgUkVCQVNFX0RJRkZTVEFUKSwKIAkJT1BUX0JJVCgndicsICJ2ZXJib3NlIiwgJm9wdGlvbnMuZmxhZ3MsCiAJCQlOXygiZGlzcGxheSBhIGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbSIpLAogCQkJUkVCQVNFX05PX1FVSUVUIHwgUkVCQVNFX1ZFUkJPU0UgfCBSRUJBU0VfRElGRlNUQVQpLApAQCAtODc1LDYgKzE1MjYsMTAgQEAKIAkJT1BUX0NNRE1PREUoMCwgInNob3ctY3VycmVudC1wYXRjaCIsICZhY3Rpb24sCiAJCQkgICAgTl8oInNob3cgdGhlIHBhdGNoIGZpbGUgYmVpbmcgYXBwbGllZCBvciBtZXJnZWQiKSwKIAkJCSAgICBBQ1RJT05fU0hPV19DVVJSRU5UX1BBVENIKSwKKwkJeyBPUFRJT05fQ0FMTEJBQ0ssIDAsICJhcHBseSIsICZvcHRpb25zLCBOVUxMLAorCQkJTl8oInVzZSBhcHBseSBzdHJhdGVnaWVzIHRvIHJlYmFzZSIpLAorCQkJUEFSU0VfT1BUX05PQVJHIHwgUEFSU0VfT1BUX05PTkVHLAorCQkJcGFyc2Vfb3B0X2FtIH0sCiAJCXsgT1BUSU9OX0NBTExCQUNLLCAnbScsICJtZXJnZSIsICZvcHRpb25zLCBOVUxMLAogCQkJTl8oInVzZSBtZXJnaW5nIHN0cmF0ZWdpZXMgdG8gcmViYXNlIiksCiAJCQlQQVJTRV9PUFRfTk9BUkcgfCBQQVJTRV9PUFRfTk9ORUcsCkBAIC04ODMsMTUgKzE1MzgsMTggQEAKIAkJCU5fKCJsZXQgdGhlIHVzZXIgZWRpdCB0aGUgbGlzdCBvZiBjb21taXRzIHRvIHJlYmFzZSIpLAogCQkJUEFSU0VfT1BUX05PQVJHIHwgUEFSU0VfT1BUX05PTkVHLAogCQkJcGFyc2Vfb3B0X2ludGVyYWN0aXZlIH0sCi0JCU9QVF9TRVRfSU5UKCdwJywgInByZXNlcnZlLW1lcmdlcyIsICZvcHRpb25zLnR5cGUsCi0JCQkgICAgTl8oInRyeSB0byByZWNyZWF0ZSBtZXJnZXMgaW5zdGVhZCBvZiBpZ25vcmluZyAiCi0JCQkgICAgICAgInRoZW0iKSwgUkVCQVNFX1BSRVNFUlZFX01FUkdFUyksCi0JCU9QVF9CT09MKDAsICJyZXJlcmUtYXV0b3VwZGF0ZSIsCi0JCQkgJm9wdGlvbnMuYWxsb3dfcmVyZXJlX2F1dG91cGRhdGUsCi0JCQkgTl8oImFsbG93IHJlcmVyZSB0byB1cGRhdGUgaW5kZXggd2l0aCByZXNvbHZlZCAiCi0JCQkgICAgImNvbmZsaWN0IikpLAotCQlPUFRfQk9PTCgnaycsICJrZWVwLWVtcHR5IiwgJm9wdGlvbnMua2VlcF9lbXB0eSwKLQkJCSBOXygicHJlc2VydmUgZW1wdHkgY29tbWl0cyBkdXJpbmcgcmViYXNlIikpLAorCQlPUFRfU0VUX0lOVF9GKCdwJywgInByZXNlcnZlLW1lcmdlcyIsICZvcHRpb25zLnR5cGUsCisJCQkgICAgICBOXygiKERFUFJFQ0FURUQpIHRyeSB0byByZWNyZWF0ZSBtZXJnZXMgaW5zdGVhZCBvZiAiCisJCQkJICJpZ25vcmluZyB0aGVtIiksCisJCQkgICAgICBSRUJBU0VfUFJFU0VSVkVfTUVSR0VTLCBQQVJTRV9PUFRfSElEREVOKSwKKwkJT1BUX1JFUkVSRV9BVVRPVVBEQVRFKCZvcHRpb25zLmFsbG93X3JlcmVyZV9hdXRvdXBkYXRlKSwKKwkJT1BUX0NBTExCQUNLX0YoMCwgImVtcHR5IiwgJm9wdGlvbnMsIE5fKCJ7ZHJvcCxrZWVwLGFza30iKSwKKwkJCSAgICAgICBOXygiaG93IHRvIGhhbmRsZSBjb21taXRzIHRoYXQgYmVjb21lIGVtcHR5IiksCisJCQkgICAgICAgUEFSU0VfT1BUX05PTkVHLCBwYXJzZV9vcHRfZW1wdHkpLAorCQl7IE9QVElPTl9DQUxMQkFDSywgJ2snLCAia2VlcC1lbXB0eSIsICZvcHRpb25zLCBOVUxMLAorCQkJTl8oIihERVBSRUNBVEVEKSBrZWVwIGVtcHR5IGNvbW1pdHMiKSwKKwkJCVBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9ISURERU4sCisJCQlwYXJzZV9vcHRfa2VlcF9lbXB0eSB9LAogCQlPUFRfQk9PTCgwLCAiYXV0b3NxdWFzaCIsICZvcHRpb25zLmF1dG9zcXVhc2gsCiAJCQkgTl8oIm1vdmUgY29tbWl0cyB0aGF0IGJlZ2luIHdpdGggIgogCQkJICAgICJzcXVhc2ghL2ZpeHVwISB1bmRlciAtaSIpKSwKQEAgLTkwMyw5ICsxNTYxLDEwIEBACiAJCU9QVF9TVFJJTkdfTElTVCgneCcsICJleGVjIiwgJmV4ZWMsIE5fKCJleGVjIiksCiAJCQkJTl8oImFkZCBleGVjIGxpbmVzIGFmdGVyIGVhY2ggY29tbWl0IG9mIHRoZSAiCiAJCQkJICAgImVkaXRhYmxlIGxpc3QiKSksCi0JCU9QVF9CT09MKDAsICJhbGxvdy1lbXB0eS1tZXNzYWdlIiwKLQkJCSAmb3B0aW9ucy5hbGxvd19lbXB0eV9tZXNzYWdlLAotCQkJIE5fKCJhbGxvdyByZWJhc2luZyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiKSksCisJCU9QVF9CT09MX0YoMCwgImFsbG93LWVtcHR5LW1lc3NhZ2UiLAorCQkJICAgJm9wdGlvbnMuYWxsb3dfZW1wdHlfbWVzc2FnZSwKKwkJCSAgIE5fKCJhbGxvdyByZWJhc2luZyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiKSwKKwkJCSAgIFBBUlNFX09QVF9ISURERU4pLAogCQl7T1BUSU9OX1NUUklORywgJ3InLCAicmViYXNlLW1lcmdlcyIsICZyZWJhc2VfbWVyZ2VzLAogCQkJTl8oIm1vZGUiKSwKIAkJCU5fKCJ0cnkgdG8gcmViYXNlIG1lcmdlcyBpbnN0ZWFkIG9mIHNraXBwaW5nIHRoZW0iKSwKQEAgLTkyMCw0MyArMTU3OSwzMiBAQAogCQkJCSAgICJzdHJhdGVneSIpKSwKIAkJT1BUX0JPT0woMCwgInJvb3QiLCAmb3B0aW9ucy5yb290LAogCQkJIE5fKCJyZWJhc2UgYWxsIHJlYWNoYWJsZSBjb21taXRzIHVwIHRvIHRoZSByb290KHMpIikpLAorCQlPUFRfQk9PTCgwLCAicmVzY2hlZHVsZS1mYWlsZWQtZXhlYyIsCisJCQkgJnJlc2NoZWR1bGVfZmFpbGVkX2V4ZWMsCisJCQkgTl8oImF1dG9tYXRpY2FsbHkgcmUtc2NoZWR1bGUgYW55IGBleGVjYCB0aGF0IGZhaWxzIikpLAogCQlPUFRfRU5EKCksCiAJfTsKIAlpbnQgaTsKIAotCS8qCi0JICogTkVFRFNXT1JLOiBPbmNlIHRoZSBidWlsdGluIHJlYmFzZSBoYXMgYmVlbiB0ZXN0ZWQgZW5vdWdoCi0JICogYW5kIGdpdC1sZWdhY3ktcmViYXNlLnNoIGlzIHJldGlyZWQgdG8gY29udHJpYi8sIHRoaXMgcHJlYW1ibGUKLQkgKiBjYW4gYmUgcmVtb3ZlZC4KLQkgKi8KLQotCWlmICghdXNlX2J1aWx0aW5fcmViYXNlKCkpIHsKLQkJY29uc3QgY2hhciAqcGF0aCA9IG1rcGF0aCgiJXMvZ2l0LWxlZ2FjeS1yZWJhc2UiLAotCQkJCQkgIGdpdF9leGVjX3BhdGgoKSk7Ci0KLQkJaWYgKHNhbmVfZXhlY3ZwKHBhdGgsIChjaGFyICoqKWFyZ3YpIDwgMCkKLQkJCWRpZV9lcnJubyhfKCJjb3VsZCBub3QgZXhlYyAlcyIpLCBwYXRoKTsKLQkJZWxzZQotCQkJQlVHKCJzYW5lX2V4ZWN2cCgpIHJldHVybmVkPz8/Iik7Ci0JfQotCiAJaWYgKGFyZ2MgPT0gMiAmJiAhc3RyY21wKGFyZ3ZbMV0sICItaCIpKQogCQl1c2FnZV93aXRoX29wdGlvbnMoYnVpbHRpbl9yZWJhc2VfdXNhZ2UsCiAJCQkJICAgYnVpbHRpbl9yZWJhc2Vfb3B0aW9ucyk7CiAKLQlwcmVmaXggPSBzZXR1cF9naXRfZGlyZWN0b3J5KCk7Ci0JdHJhY2VfcmVwb19zZXR1cChwcmVmaXgpOwotCXNldHVwX3dvcmtfdHJlZSgpOwotCisJb3B0aW9ucy5hbGxvd19lbXB0eV9tZXNzYWdlID0gMTsKIAlnaXRfY29uZmlnKHJlYmFzZV9jb25maWcsICZvcHRpb25zKTsKIAorCWlmIChvcHRpb25zLnVzZV9sZWdhY3lfcmViYXNlIHx8CisJICAgICFnaXRfZW52X2Jvb2woIkdJVF9URVNUX1JFQkFTRV9VU0VfQlVJTFRJTiIsIC0xKSkKKwkJd2FybmluZyhfKCJ0aGUgcmViYXNlLnVzZUJ1aWx0aW4gc3VwcG9ydCBoYXMgYmVlbiByZW1vdmVkIVxuIgorCQkJICAiU2VlIGl0cyBlbnRyeSBpbiAnZ2l0IGhlbHAgY29uZmlnJyBmb3IgZGV0YWlscy4iKSk7CisKIAlzdHJidWZfcmVzZXQoJmJ1Zik7CiAJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzL2FwcGx5aW5nIiwgYXBwbHlfZGlyKCkpOwogCWlmKGZpbGVfZXhpc3RzKGJ1Zi5idWYpKQogCQlkaWUoXygiSXQgbG9va3MgbGlrZSAnZ2l0IGFtJyBpcyBpbiBwcm9ncmVzcy4gQ2Fubm90IHJlYmFzZS4iKSk7CiAKIAlpZiAoaXNfZGlyZWN0b3J5KGFwcGx5X2RpcigpKSkgewotCQlvcHRpb25zLnR5cGUgPSBSRUJBU0VfQU07CisJCW9wdGlvbnMudHlwZSA9IFJFQkFTRV9BUFBMWTsKIAkJb3B0aW9ucy5zdGF0ZV9kaXIgPSBhcHBseV9kaXIoKTsKIAl9IGVsc2UgaWYgKGlzX2RpcmVjdG9yeShtZXJnZV9kaXIoKSkpIHsKIAkJc3RyYnVmX3Jlc2V0KCZidWYpOwpAQCAtOTY4LDcgKzE2MTYsNyBAQAogCQkJc3RyYnVmX3Jlc2V0KCZidWYpOwogCQkJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzL2ludGVyYWN0aXZlIiwgbWVyZ2VfZGlyKCkpOwogCQkJaWYoZmlsZV9leGlzdHMoYnVmLmJ1ZikpIHsKLQkJCQlvcHRpb25zLnR5cGUgPSBSRUJBU0VfSU5URVJBQ1RJVkU7CisJCQkJb3B0aW9ucy50eXBlID0gUkVCQVNFX01FUkdFOwogCQkJCW9wdGlvbnMuZmxhZ3MgfD0gUkVCQVNFX0lOVEVSQUNUSVZFX0VYUExJQ0lUOwogCQkJfSBlbHNlCiAJCQkJb3B0aW9ucy50eXBlID0gUkVCQVNFX01FUkdFOwpAQCAtOTg0LDcgKzE2MzIsNyBAQAogCQkJICAgICBidWlsdGluX3JlYmFzZV9vcHRpb25zLAogCQkJICAgICBidWlsdGluX3JlYmFzZV91c2FnZSwgMCk7CiAKLQlpZiAoYWN0aW9uICE9IE5PX0FDVElPTiAmJiB0b3RhbF9hcmdjICE9IDIpIHsKKwlpZiAoYWN0aW9uICE9IEFDVElPTl9OT05FICYmIHRvdGFsX2FyZ2MgIT0gMikgewogCQl1c2FnZV93aXRoX29wdGlvbnMoYnVpbHRpbl9yZWJhc2VfdXNhZ2UsCiAJCQkJICAgYnVpbHRpbl9yZWJhc2Vfb3B0aW9ucyk7CiAJfQpAQCAtOTkzLDE0ICsxNjQxLDM0IEBACiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhidWlsdGluX3JlYmFzZV91c2FnZSwKIAkJCQkgICBidWlsdGluX3JlYmFzZV9vcHRpb25zKTsKIAotCWlmIChhY3Rpb24gIT0gTk9fQUNUSU9OICYmICFpbl9wcm9ncmVzcykKKwlpZiAob3B0aW9ucy50eXBlID09IFJFQkFTRV9QUkVTRVJWRV9NRVJHRVMpCisJCXdhcm5pbmcoXygiZ2l0IHJlYmFzZSAtLXByZXNlcnZlLW1lcmdlcyBpcyBkZXByZWNhdGVkLiAiCisJCQkgICJVc2UgLS1yZWJhc2UtbWVyZ2VzIGluc3RlYWQuIikpOworCisJaWYgKGtlZXBfYmFzZSkgeworCQlpZiAob3B0aW9ucy5vbnRvX25hbWUpCisJCQlkaWUoXygiY2Fubm90IGNvbWJpbmUgJy0ta2VlcC1iYXNlJyB3aXRoICctLW9udG8nIikpOworCQlpZiAob3B0aW9ucy5yb290KQorCQkJZGllKF8oImNhbm5vdCBjb21iaW5lICctLWtlZXAtYmFzZScgd2l0aCAnLS1yb290JyIpKTsKKwl9CisKKwlpZiAoYWN0aW9uICE9IEFDVElPTl9OT05FICYmICFpbl9wcm9ncmVzcykKIAkJZGllKF8oIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iKSk7CiAJc2V0ZW52KEdJVF9SRUZMT0dfQUNUSU9OX0VOVklST05NRU5ULCAicmViYXNlIiwgMCk7CiAKLQlpZiAoYWN0aW9uID09IEFDVElPTl9FRElUX1RPRE8gJiYgIWlzX2ludGVyYWN0aXZlKCZvcHRpb25zKSkKKwlpZiAoYWN0aW9uID09IEFDVElPTl9FRElUX1RPRE8gJiYgIWlzX21lcmdlKCZvcHRpb25zKSkKIAkJZGllKF8oIlRoZSAtLWVkaXQtdG9kbyBhY3Rpb24gY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgIgogCQkgICAgICAiaW50ZXJhY3RpdmUgcmViYXNlLiIpKTsKIAorCWlmICh0cmFjZTJfaXNfZW5hYmxlZCgpKSB7CisJCWlmIChpc19tZXJnZSgmb3B0aW9ucykpCisJCQl0cmFjZTJfY21kX21vZGUoImludGVyYWN0aXZlIik7CisJCWVsc2UgaWYgKGV4ZWMubnIpCisJCQl0cmFjZTJfY21kX21vZGUoImludGVyYWN0aXZlLWV4ZWMiKTsKKwkJZWxzZQorCQkJdHJhY2UyX2NtZF9tb2RlKGFjdGlvbl9uYW1lc1thY3Rpb25dKTsKKwl9CisKIAlzd2l0Y2ggKGFjdGlvbikgewogCWNhc2UgQUNUSU9OX0NPTlRJTlVFOiB7CiAJCXN0cnVjdCBvYmplY3RfaWQgaGVhZDsKQEAgLTEwMTUsMTYgKzE2ODMsMTUgQEAKIAkJCWRpZShfKCJDYW5ub3QgcmVhZCBIRUFEIikpOwogCiAJCWZkID0gaG9sZF9sb2NrZWRfaW5kZXgoJmxvY2tfZmlsZSwgMCk7Ci0JCWlmIChyZWFkX2luZGV4KHRoZV9yZXBvc2l0b3J5LT5pbmRleCkgPCAwKQorCQlpZiAocmVwb19yZWFkX2luZGV4KHRoZV9yZXBvc2l0b3J5KSA8IDApCiAJCQlkaWUoXygiY291bGQgbm90IHJlYWQgaW5kZXgiKSk7CiAJCXJlZnJlc2hfaW5kZXgodGhlX3JlcG9zaXRvcnktPmluZGV4LCBSRUZSRVNIX1FVSUVULCBOVUxMLCBOVUxMLAogCQkJICAgICAgTlVMTCk7CiAJCWlmICgwIDw9IGZkKQotCQkJdXBkYXRlX2luZGV4X2lmX2FibGUodGhlX3JlcG9zaXRvcnktPmluZGV4LAotCQkJCQkgICAgICZsb2NrX2ZpbGUpOworCQkJcmVwb191cGRhdGVfaW5kZXhfaWZfYWJsZSh0aGVfcmVwb3NpdG9yeSwgJmxvY2tfZmlsZSk7CiAJCXJvbGxiYWNrX2xvY2tfZmlsZSgmbG9ja19maWxlKTsKIAotCQlpZiAoaGFzX3Vuc3RhZ2VkX2NoYW5nZXMoMSkpIHsKKwkJaWYgKGhhc191bnN0YWdlZF9jaGFuZ2VzKHRoZV9yZXBvc2l0b3J5LCAxKSkgewogCQkJcHV0cyhfKCJZb3UgbXVzdCBlZGl0IGFsbCBtZXJnZSBjb25mbGljdHMgYW5kIHRoZW5cbiIKIAkJCSAgICAgICAibWFyayB0aGVtIGFzIHJlc29sdmVkIHVzaW5nIGdpdCBhZGQiKSk7CiAJCQlleGl0KDEpOwpAQCAtMTAzOSwxMyArMTcwNiwxMyBAQAogCQlvcHRpb25zLmFjdGlvbiA9ICJza2lwIjsKIAkJc2V0X3JlZmxvZ19hY3Rpb24oJm9wdGlvbnMpOwogCi0JCXJlcmVyZV9jbGVhcigmbWVyZ2VfcnIpOworCQlyZXJlcmVfY2xlYXIodGhlX3JlcG9zaXRvcnksICZtZXJnZV9ycik7CiAJCXN0cmluZ19saXN0X2NsZWFyKCZtZXJnZV9yciwgMSk7CiAKIAkJaWYgKHJlc2V0X2hlYWQoTlVMTCwgInJlc2V0IiwgTlVMTCwgUkVTRVRfSEVBRF9IQVJELAogCQkJICAgICAgIE5VTEwsIE5VTEwpIDwgMCkKIAkJCWRpZShfKCJjb3VsZCBub3QgZGlzY2FyZCB3b3JrdHJlZSBjaGFuZ2VzIikpOwotCQlyZW1vdmVfYnJhbmNoX3N0YXRlKCk7CisJCXJlbW92ZV9icmFuY2hfc3RhdGUodGhlX3JlcG9zaXRvcnksIDApOwogCQlpZiAocmVhZF9iYXNpY19zdGF0ZSgmb3B0aW9ucykpCiAJCQlleGl0KDEpOwogCQlnb3RvIHJ1bl9yZWJhc2U7CkBAIC0xMDU1LDcgKzE3MjIsNyBAQAogCQlvcHRpb25zLmFjdGlvbiA9ICJhYm9ydCI7CiAJCXNldF9yZWZsb2dfYWN0aW9uKCZvcHRpb25zKTsKIAotCQlyZXJlcmVfY2xlYXIoJm1lcmdlX3JyKTsKKwkJcmVyZXJlX2NsZWFyKHRoZV9yZXBvc2l0b3J5LCAmbWVyZ2VfcnIpOwogCQlzdHJpbmdfbGlzdF9jbGVhcigmbWVyZ2VfcnIsIDEpOwogCiAJCWlmIChyZWFkX2Jhc2ljX3N0YXRlKCZvcHRpb25zKSkKQEAgLTEwNjUsMTYgKzE3MzIsMjQgQEAKIAkJCSAgICAgICBOVUxMLCBOVUxMKSA8IDApCiAJCQlkaWUoXygiY291bGQgbm90IG1vdmUgYmFjayB0byAlcyIpLAogCQkJICAgIG9pZF90b19oZXgoJm9wdGlvbnMub3JpZ19oZWFkKSk7Ci0JCXJlbW92ZV9icmFuY2hfc3RhdGUoKTsKLQkJcmV0ID0gZmluaXNoX3JlYmFzZSgmb3B0aW9ucyk7CisJCXJlbW92ZV9icmFuY2hfc3RhdGUodGhlX3JlcG9zaXRvcnksIDApOworCQlyZXQgPSAhIWZpbmlzaF9yZWJhc2UoJm9wdGlvbnMpOwogCQlnb3RvIGNsZWFudXA7CiAJfQogCWNhc2UgQUNUSU9OX1FVSVQ6IHsKLQkJc3RyYnVmX3Jlc2V0KCZidWYpOwotCQlzdHJidWZfYWRkc3RyKCZidWYsIG9wdGlvbnMuc3RhdGVfZGlyKTsKLQkJcmV0ID0gISFyZW1vdmVfZGlyX3JlY3Vyc2l2ZWx5KCZidWYsIDApOwotCQlpZiAocmV0KQotCQkJZGllKF8oImNvdWxkIG5vdCByZW1vdmUgJyVzJyIpLCBvcHRpb25zLnN0YXRlX2Rpcik7CisJCWlmIChvcHRpb25zLnR5cGUgPT0gUkVCQVNFX01FUkdFKSB7CisJCQlzdHJ1Y3QgcmVwbGF5X29wdHMgcmVwbGF5ID0gUkVQTEFZX09QVFNfSU5JVDsKKworCQkJcmVwbGF5LmFjdGlvbiA9IFJFUExBWV9JTlRFUkFDVElWRV9SRUJBU0U7CisJCQlyZXQgPSAhIXNlcXVlbmNlcl9yZW1vdmVfc3RhdGUoJnJlcGxheSk7CisJCX0gZWxzZSB7CisJCQlzdHJidWZfcmVzZXQoJmJ1Zik7CisJCQlzdHJidWZfYWRkc3RyKCZidWYsIG9wdGlvbnMuc3RhdGVfZGlyKTsKKwkJCXJldCA9ICEhcmVtb3ZlX2Rpcl9yZWN1cnNpdmVseSgmYnVmLCAwKTsKKwkJCWlmIChyZXQpCisJCQkJZXJyb3IoXygiY291bGQgbm90IHJlbW92ZSAnJXMnIiksCisJCQkJICAgICAgIG9wdGlvbnMuc3RhdGVfZGlyKTsKKwkJfQogCQlnb3RvIGNsZWFudXA7CiAJfQogCWNhc2UgQUNUSU9OX0VESVRfVE9ETzoKQEAgLTEwODUsNyArMTc2MCw3IEBACiAJCW9wdGlvbnMuYWN0aW9uID0gInNob3ctY3VycmVudC1wYXRjaCI7CiAJCW9wdGlvbnMuZG9udF9maW5pc2hfcmViYXNlID0gMTsKIAkJZ290byBydW5fcmViYXNlOwotCWNhc2UgTk9fQUNUSU9OOgorCWNhc2UgQUNUSU9OX05PTkU6CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCUJVRygiYWN0aW9uOiAlZCIsIGFjdGlvbik7CkBAIC0xMTExLDEzICsxNzg2LDIwIEBACiAJCSAgICBzdGF0ZV9kaXJfYmFzZSwgY21kX2xpdmVfcmViYXNlLCBidWYuYnVmKTsKIAl9CiAKKwlpZiAoKG9wdGlvbnMuZmxhZ3MgJiBSRUJBU0VfSU5URVJBQ1RJVkVfRVhQTElDSVQpIHx8CisJICAgIChhY3Rpb24gIT0gQUNUSU9OX05PTkUpIHx8CisJICAgIChleGVjLm5yID4gMCkgfHwKKwkgICAgb3B0aW9ucy5hdXRvc3F1YXNoKSB7CisJCWFsbG93X3ByZWVtcHRpdmVfZmYgPSAwOworCX0KKwogCWZvciAoaSA9IDA7IGkgPCBvcHRpb25zLmdpdF9hbV9vcHRzLmFyZ2M7IGkrKykgewogCQljb25zdCBjaGFyICpvcHRpb24gPSBvcHRpb25zLmdpdF9hbV9vcHRzLmFyZ3ZbaV0sICpwOwogCQlpZiAoIXN0cmNtcChvcHRpb24sICItLWNvbW1pdHRlci1kYXRlLWlzLWF1dGhvci1kYXRlIikgfHwKIAkJICAgICFzdHJjbXAob3B0aW9uLCAiLS1pZ25vcmUtZGF0ZSIpIHx8CiAJCSAgICAhc3RyY21wKG9wdGlvbiwgIi0td2hpdGVzcGFjZT1maXgiKSB8fAogCQkgICAgIXN0cmNtcChvcHRpb24sICItLXdoaXRlc3BhY2U9c3RyaXAiKSkKLQkJCW9wdGlvbnMuZmxhZ3MgfD0gUkVCQVNFX0ZPUkNFOworCQkJYWxsb3dfcHJlZW1wdGl2ZV9mZiA9IDA7CiAJCWVsc2UgaWYgKHNraXBfcHJlZml4KG9wdGlvbiwgIi1DIiwgJnApKSB7CiAJCQl3aGlsZSAoKnApCiAJCQkJaWYgKCFpc2RpZ2l0KCoocCsrKSkpCkBAIC0xMTMwLDExICsxODEyLDE1IEBACiAJCX0KIAl9CiAKKwlmb3IgKGkgPSAwOyBpIDwgZXhlYy5ucjsgaSsrKQorCQlpZiAoY2hlY2tfZXhlY19jbWQoZXhlYy5pdGVtc1tpXS5zdHJpbmcpKQorCQkJZXhpdCgxKTsKKwogCWlmICghKG9wdGlvbnMuZmxhZ3MgJiBSRUJBU0VfTk9fUVVJRVQpKQogCQlhcmd2X2FycmF5X3B1c2goJm9wdGlvbnMuZ2l0X2FtX29wdHMsICItcSIpOwogCi0JaWYgKG9wdGlvbnMua2VlcF9lbXB0eSkKLQkJaW1wbHlfaW50ZXJhY3RpdmUoJm9wdGlvbnMsICItLWtlZXAtZW1wdHkiKTsKKwlpZiAob3B0aW9ucy5lbXB0eSAhPSBFTVBUWV9VTlNQRUNJRklFRCkKKwkJaW1wbHlfbWVyZ2UoJm9wdGlvbnMsICItLWVtcHR5Iik7CiAKIAlpZiAoZ3BnX3NpZ24pIHsKIAkJZnJlZShvcHRpb25zLmdwZ19zaWduX29wdCk7CkBAIC0xMTQ0LDcgKzE4MzAsNyBAQAogCWlmIChleGVjLm5yKSB7CiAJCWludCBpOwogCi0JCWltcGx5X2ludGVyYWN0aXZlKCZvcHRpb25zLCAiLS1leGVjIik7CisJCWltcGx5X21lcmdlKCZvcHRpb25zLCAiLS1leGVjIik7CiAKIAkJc3RyYnVmX3Jlc2V0KCZidWYpOwogCQlmb3IgKGkgPSAwOyBpIDwgZXhlYy5ucjsgaSsrKQpAQCAtMTE2MCw3ICsxODQ2LDcgQEAKIAkJZWxzZSBpZiAoc3RyY21wKCJuby1yZWJhc2UtY291c2lucyIsIHJlYmFzZV9tZXJnZXMpKQogCQkJZGllKF8oIlVua25vd24gbW9kZTogJXMiKSwgcmViYXNlX21lcmdlcyk7CiAJCW9wdGlvbnMucmViYXNlX21lcmdlcyA9IDE7Ci0JCWltcGx5X2ludGVyYWN0aXZlKCZvcHRpb25zLCAiLS1yZWJhc2UtbWVyZ2VzIik7CisJCWltcGx5X21lcmdlKCZvcHRpb25zLCAiLS1yZWJhc2UtbWVyZ2VzIik7CiAJfQogCiAJaWYgKHN0cmF0ZWd5X29wdGlvbnMubnIpIHsKQEAgLTExNzksMTAgKzE4NjUsOSBAQAogCWlmIChvcHRpb25zLnN0cmF0ZWd5KSB7CiAJCW9wdGlvbnMuc3RyYXRlZ3kgPSB4c3RyZHVwKG9wdGlvbnMuc3RyYXRlZ3kpOwogCQlzd2l0Y2ggKG9wdGlvbnMudHlwZSkgewotCQljYXNlIFJFQkFTRV9BTToKKwkJY2FzZSBSRUJBU0VfQVBQTFk6CiAJCQlkaWUoXygiLS1zdHJhdGVneSByZXF1aXJlcyAtLW1lcmdlIG9yIC0taW50ZXJhY3RpdmUiKSk7CiAJCWNhc2UgUkVCQVNFX01FUkdFOgotCQljYXNlIFJFQkFTRV9JTlRFUkFDVElWRToKIAkJY2FzZSBSRUJBU0VfUFJFU0VSVkVfTUVSR0VTOgogCQkJLyogY29tcGF0aWJsZSAqLwogCQkJYnJlYWs7CkBAIC0xMTk0LDQ1ICsxODc5LDY2IEBACiAJCX0KIAl9CiAKKwlpZiAob3B0aW9ucy50eXBlID09IFJFQkFTRV9NRVJHRSkKKwkJaW1wbHlfbWVyZ2UoJm9wdGlvbnMsICItLW1lcmdlIik7CisKIAlpZiAob3B0aW9ucy5yb290ICYmICFvcHRpb25zLm9udG9fbmFtZSkKLQkJaW1wbHlfaW50ZXJhY3RpdmUoJm9wdGlvbnMsICItLXJvb3Qgd2l0aG91dCAtLW9udG8iKTsKKwkJaW1wbHlfbWVyZ2UoJm9wdGlvbnMsICItLXJvb3Qgd2l0aG91dCAtLW9udG8iKTsKIAogCWlmIChpc2F0dHkoMikgJiYgb3B0aW9ucy5mbGFncyAmIFJFQkFTRV9OT19RVUlFVCkKIAkJc3RyYnVmX2FkZHN0cigmb3B0aW9ucy5naXRfZm9ybWF0X3BhdGNoX29wdCwgIiAtLXByb2dyZXNzIik7CiAKLQlzd2l0Y2ggKG9wdGlvbnMudHlwZSkgewotCWNhc2UgUkVCQVNFX01FUkdFOgotCWNhc2UgUkVCQVNFX0lOVEVSQUNUSVZFOgotCWNhc2UgUkVCQVNFX1BSRVNFUlZFX01FUkdFUzoKLQkJb3B0aW9ucy5zdGF0ZV9kaXIgPSBtZXJnZV9kaXIoKTsKLQkJYnJlYWs7Ci0JY2FzZSBSRUJBU0VfQU06Ci0JCW9wdGlvbnMuc3RhdGVfZGlyID0gYXBwbHlfZGlyKCk7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCS8qIHRoZSBkZWZhdWx0IHJlYmFzZSBiYWNrZW5kIGlzIGAtLWFtYCAqLwotCQlvcHRpb25zLnR5cGUgPSBSRUJBU0VfQU07Ci0JCW9wdGlvbnMuc3RhdGVfZGlyID0gYXBwbHlfZGlyKCk7Ci0JCWJyZWFrOwotCX0KLQotCWlmIChvcHRpb25zLmdpdF9hbV9vcHRzLmFyZ2MpIHsKLQkJLyogYWxsIGFtIG9wdGlvbnMgZXhjZXB0IC1xIGFyZSBjb21wYXRpYmxlIG9ubHkgd2l0aCAtLWFtICovCisJaWYgKG9wdGlvbnMuZ2l0X2FtX29wdHMuYXJnYyB8fCBvcHRpb25zLnR5cGUgPT0gUkVCQVNFX0FQUExZKSB7CisJCS8qIGFsbCBhbSBvcHRpb25zIGV4Y2VwdCAtcSBhcmUgY29tcGF0aWJsZSBvbmx5IHdpdGggLS1hcHBseSAqLwogCQlmb3IgKGkgPSBvcHRpb25zLmdpdF9hbV9vcHRzLmFyZ2MgLSAxOyBpID49IDA7IGktLSkKIAkJCWlmIChzdHJjbXAob3B0aW9ucy5naXRfYW1fb3B0cy5hcmd2W2ldLCAiLXEiKSkKIAkJCQlicmVhazsKIAotCQlpZiAoaXNfaW50ZXJhY3RpdmUoJm9wdGlvbnMpICYmIGkgPj0gMCkKLQkJCWRpZShfKCJlcnJvcjogY2Fubm90IGNvbWJpbmUgaW50ZXJhY3RpdmUgb3B0aW9ucyAiCi0JCQkgICAgICAiKC0taW50ZXJhY3RpdmUsIC0tZXhlYywgLS1yZWJhc2UtbWVyZ2VzLCAiCi0JCQkgICAgICAiLS1wcmVzZXJ2ZS1tZXJnZXMsIC0ta2VlcC1lbXB0eSwgLS1yb290ICsgIgotCQkJICAgICAgIi0tb250bykgd2l0aCBhbSBvcHRpb25zICglcykiKSwgYnVmLmJ1Zik7Ci0JCWlmIChvcHRpb25zLnR5cGUgPT0gUkVCQVNFX01FUkdFICYmIGkgPj0gMCkKLQkJCWRpZShfKCJlcnJvcjogY2Fubm90IGNvbWJpbmUgbWVyZ2Ugb3B0aW9ucyAoLS1tZXJnZSwgIgotCQkJICAgICAgIi0tc3RyYXRlZ3ksIC0tc3RyYXRlZ3ktb3B0aW9uKSB3aXRoIGFtIG9wdGlvbnMgIgotCQkJICAgICAgIiglcykiKSwgYnVmLmJ1Zik7CisJCWlmIChpID49IDApIHsKKwkJCWlmIChpc19tZXJnZSgmb3B0aW9ucykpCisJCQkJZGllKF8oImNhbm5vdCBjb21iaW5lIGFwcGx5IG9wdGlvbnMgd2l0aCAiCisJCQkJICAgICAgIm1lcmdlIG9wdGlvbnMiKSk7CisJCQllbHNlCisJCQkJb3B0aW9ucy50eXBlID0gUkVCQVNFX0FQUExZOworCQl9CiAJfQogCisJaWYgKG9wdGlvbnMudHlwZSA9PSBSRUJBU0VfVU5TUEVDSUZJRUQpIHsKKwkJaWYgKCFzdHJjbXAob3B0aW9ucy5kZWZhdWx0X2JhY2tlbmQsICJtZXJnZSIpKQorCQkJaW1wbHlfbWVyZ2UoJm9wdGlvbnMsICItLW1lcmdlIik7CisJCWVsc2UgaWYgKCFzdHJjbXAob3B0aW9ucy5kZWZhdWx0X2JhY2tlbmQsICJhcHBseSIpKQorCQkJb3B0aW9ucy50eXBlID0gUkVCQVNFX0FQUExZOworCQllbHNlCisJCQlkaWUoXygiVW5rbm93biByZWJhc2UgYmFja2VuZDogJXMiKSwKKwkJCSAgICBvcHRpb25zLmRlZmF1bHRfYmFja2VuZCk7CisJfQorCisJc3dpdGNoIChvcHRpb25zLnR5cGUpIHsKKwljYXNlIFJFQkFTRV9NRVJHRToKKwljYXNlIFJFQkFTRV9QUkVTRVJWRV9NRVJHRVM6CisJCW9wdGlvbnMuc3RhdGVfZGlyID0gbWVyZ2VfZGlyKCk7CisJCWJyZWFrOworCWNhc2UgUkVCQVNFX0FQUExZOgorCQlvcHRpb25zLnN0YXRlX2RpciA9IGFwcGx5X2RpcigpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlCVUcoIm9wdGlvbnMudHlwZSB3YXMganVzdCBzZXQgYWJvdmU7IHNob3VsZCBiZSB1bnJlYWNoYWJsZS4iKTsKKwl9CisKKwlpZiAob3B0aW9ucy5lbXB0eSA9PSBFTVBUWV9VTlNQRUNJRklFRCkgeworCQlpZiAob3B0aW9ucy5mbGFncyAmIFJFQkFTRV9JTlRFUkFDVElWRV9FWFBMSUNJVCkKKwkJCW9wdGlvbnMuZW1wdHkgPSBFTVBUWV9BU0s7CisJCWVsc2UgaWYgKGV4ZWMubnIgPiAwKQorCQkJb3B0aW9ucy5lbXB0eSA9IEVNUFRZX0tFRVA7CisJCWVsc2UKKwkJCW9wdGlvbnMuZW1wdHkgPSBFTVBUWV9EUk9QOworCX0KKwlpZiAocmVzY2hlZHVsZV9mYWlsZWRfZXhlYyA+IDAgJiYgIWlzX21lcmdlKCZvcHRpb25zKSkKKwkJZGllKF8oIi0tcmVzY2hlZHVsZS1mYWlsZWQtZXhlYyByZXF1aXJlcyAiCisJCSAgICAgICItLWV4ZWMgb3IgLS1pbnRlcmFjdGl2ZSIpKTsKKwlpZiAocmVzY2hlZHVsZV9mYWlsZWRfZXhlYyA+PSAwKQorCQlvcHRpb25zLnJlc2NoZWR1bGVfZmFpbGVkX2V4ZWMgPSByZXNjaGVkdWxlX2ZhaWxlZF9leGVjOworCiAJaWYgKG9wdGlvbnMuc2lnbm9mZikgewogCQlpZiAob3B0aW9ucy50eXBlID09IFJFQkFTRV9QUkVTRVJWRV9NRVJHRVMpCiAJCQlkaWUoImNhbm5vdCBjb21iaW5lICctLXNpZ25vZmYnIHdpdGggIgpAQCAtMTI0MSwyMyArMTk0NywxOSBAQAogCQlvcHRpb25zLmZsYWdzIHw9IFJFQkFTRV9GT1JDRTsKIAl9CiAKLQlpZiAob3B0aW9ucy50eXBlID09IFJFQkFTRV9QUkVTRVJWRV9NRVJHRVMpCisJaWYgKG9wdGlvbnMudHlwZSA9PSBSRUJBU0VfUFJFU0VSVkVfTUVSR0VTKSB7CiAJCS8qCiAJCSAqIE5vdGU6IGluY29tcGF0aWJpbGl0eSB3aXRoIC0tc2lnbm9mZiBoYW5kbGVkIGluIHNpZ25vZmYgYmxvY2sgYWJvdmUKIAkJICogTm90ZTogaW5jb21wYXRpYmlsaXR5IHdpdGggLS1pbnRlcmFjdGl2ZSBpcyBqdXN0IGEgc3Ryb25nIHdhcm5pbmc7CiAJCSAqICAgICAgIGdpdC1yZWJhc2UudHh0IGNhdmVhdHMgd2l0aCAidW5sZXNzIHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZyIKIAkJICovCiAJCWlmIChvcHRpb25zLnJlYmFzZV9tZXJnZXMpCi0JCQlkaWUoXygiZXJyb3I6IGNhbm5vdCBjb21iaW5lICctLXByZXNlcnZlLW1lcmdlcycgd2l0aCAiCisJCQlkaWUoXygiY2Fubm90IGNvbWJpbmUgJy0tcHJlc2VydmUtbWVyZ2VzJyB3aXRoICIKIAkJCSAgICAgICInLS1yZWJhc2UtbWVyZ2VzJyIpKTsKIAotCWlmIChvcHRpb25zLnJlYmFzZV9tZXJnZXMpIHsKLQkJaWYgKHN0cmF0ZWd5X29wdGlvbnMubnIpCi0JCQlkaWUoXygiZXJyb3I6IGNhbm5vdCBjb21iaW5lICctLXJlYmFzZS1tZXJnZXMnIHdpdGggIgotCQkJICAgICAgIictLXN0cmF0ZWd5LW9wdGlvbiciKSk7Ci0JCWlmIChvcHRpb25zLnN0cmF0ZWd5KQotCQkJZGllKF8oImVycm9yOiBjYW5ub3QgY29tYmluZSAnLS1yZWJhc2UtbWVyZ2VzJyB3aXRoICIKLQkJCSAgICAgICInLS1zdHJhdGVneSciKSk7CisJCWlmIChvcHRpb25zLnJlc2NoZWR1bGVfZmFpbGVkX2V4ZWMpCisJCQlkaWUoXygiZXJyb3I6IGNhbm5vdCBjb21iaW5lICctLXByZXNlcnZlLW1lcmdlcycgd2l0aCAiCisJCQkgICAgICAiJy0tcmVzY2hlZHVsZS1mYWlsZWQtZXhlYyciKSk7CiAJfQogCiAJaWYgKCFvcHRpb25zLnJvb3QpIHsKQEAgLTEyOTAsNyArMTk5Miw5IEBACiAJCQlvcHRpb25zLnNxdWFzaF9vbnRvID0gJnNxdWFzaF9vbnRvOwogCQkJb3B0aW9ucy5vbnRvX25hbWUgPSBzcXVhc2hfb250b19uYW1lID0KIAkJCQl4c3RyZHVwKG9pZF90b19oZXgoJnNxdWFzaF9vbnRvKSk7Ci0JCX0KKwkJfSBlbHNlCisJCQlvcHRpb25zLnJvb3Rfd2l0aF9vbnRvID0gMTsKKwogCQlvcHRpb25zLnVwc3RyZWFtX25hbWUgPSBOVUxMOwogCQlvcHRpb25zLnVwc3RyZWFtID0gTlVMTDsKIAkJaWYgKGFyZ2MgPiAxKQpAQCAtMTMwMCwxMiArMjAwNCwyMiBAQAogCX0KIAogCS8qIE1ha2Ugc3VyZSB0aGUgYnJhbmNoIHRvIHJlYmFzZSBvbnRvIGlzIHZhbGlkLiAqLwotCWlmICghb3B0aW9ucy5vbnRvX25hbWUpCisJaWYgKGtlZXBfYmFzZSkgeworCQlzdHJidWZfcmVzZXQoJmJ1Zik7CisJCXN0cmJ1Zl9hZGRzdHIoJmJ1Ziwgb3B0aW9ucy51cHN0cmVhbV9uYW1lKTsKKwkJc3RyYnVmX2FkZHN0cigmYnVmLCAiLi4uIik7CisJCW9wdGlvbnMub250b19uYW1lID0geHN0cmR1cChidWYuYnVmKTsKKwl9IGVsc2UgaWYgKCFvcHRpb25zLm9udG9fbmFtZSkKIAkJb3B0aW9ucy5vbnRvX25hbWUgPSBvcHRpb25zLnVwc3RyZWFtX25hbWU7CiAJaWYgKHN0cnN0cihvcHRpb25zLm9udG9fbmFtZSwgIi4uLiIpKSB7Ci0JCWlmIChnZXRfb2lkX21iKG9wdGlvbnMub250b19uYW1lLCAmbWVyZ2VfYmFzZSkgPCAwKQotCQkJZGllKF8oIiclcyc6IG5lZWQgZXhhY3RseSBvbmUgbWVyZ2UgYmFzZSIpLAotCQkJICAgIG9wdGlvbnMub250b19uYW1lKTsKKwkJaWYgKGdldF9vaWRfbWIob3B0aW9ucy5vbnRvX25hbWUsICZtZXJnZV9iYXNlKSA8IDApIHsKKwkJCWlmIChrZWVwX2Jhc2UpCisJCQkJZGllKF8oIiclcyc6IG5lZWQgZXhhY3RseSBvbmUgbWVyZ2UgYmFzZSB3aXRoIGJyYW5jaCIpLAorCQkJCSAgICBvcHRpb25zLnVwc3RyZWFtX25hbWUpOworCQkJZWxzZQorCQkJCWRpZShfKCInJXMnOiBuZWVkIGV4YWN0bHkgb25lIG1lcmdlIGJhc2UiKSwKKwkJCQkgICAgb3B0aW9ucy5vbnRvX25hbWUpOworCQl9CiAJCW9wdGlvbnMub250byA9IGxvb2t1cF9jb21taXRfb3JfZGllKCZtZXJnZV9iYXNlLAogCQkJCQkJICAgIG9wdGlvbnMub250b19uYW1lKTsKIAl9IGVsc2UgewpAQCAtMTMzMCwxMCArMjA0NCwxMSBAQAogCQkvKiBJcyBpdCBhIGxvY2FsIGJyYW5jaD8gKi8KIAkJc3RyYnVmX3Jlc2V0KCZidWYpOwogCQlzdHJidWZfYWRkZigmYnVmLCAicmVmcy9oZWFkcy8lcyIsIGJyYW5jaF9uYW1lKTsKLQkJaWYgKCFyZWFkX3JlZihidWYuYnVmLCAmb3B0aW9ucy5vcmlnX2hlYWQpKQorCQlpZiAoIXJlYWRfcmVmKGJ1Zi5idWYsICZvcHRpb25zLm9yaWdfaGVhZCkpIHsKKwkJCWRpZV9pZl9jaGVja2VkX291dChidWYuYnVmLCAxKTsKIAkJCW9wdGlvbnMuaGVhZF9uYW1lID0geHN0cmR1cChidWYuYnVmKTsKIAkJLyogSWYgbm90IGlzIGl0IGEgdmFsaWQgcmVmIChicmFuY2ggb3IgY29tbWl0KT8gKi8KLQkJZWxzZSBpZiAoIWdldF9vaWQoYnJhbmNoX25hbWUsICZvcHRpb25zLm9yaWdfaGVhZCkpCisJCX0gZWxzZSBpZiAoIWdldF9vaWQoYnJhbmNoX25hbWUsICZvcHRpb25zLm9yaWdfaGVhZCkpCiAJCQlvcHRpb25zLmhlYWRfbmFtZSA9IE5VTEw7CiAJCWVsc2UKIAkJCWRpZShfKCJmYXRhbDogbm8gc3VjaCBicmFuY2gvY29tbWl0ICclcyciKSwKQEAgLTEzNTEsOCArMjA2Niw3IEBACiAJCQkJYnJhbmNoX25hbWUgPSBvcHRpb25zLmhlYWRfbmFtZTsKIAogCQl9IGVsc2UgewotCQkJZnJlZShvcHRpb25zLmhlYWRfbmFtZSk7Ci0JCQlvcHRpb25zLmhlYWRfbmFtZSA9IE5VTEw7CisJCQlGUkVFX0FORF9OVUxMKG9wdGlvbnMuaGVhZF9uYW1lKTsKIAkJCWJyYW5jaF9uYW1lID0gIkhFQUQiOwogCQl9CiAJCWlmIChnZXRfb2lkKCJIRUFEIiwgJm9wdGlvbnMub3JpZ19oZWFkKSkKQEAgLTEzNjgsNyArMjA4Miw3IEBACiAJCQlnZXRfZm9ya19wb2ludChvcHRpb25zLnVwc3RyZWFtX25hbWUsIGhlYWQpOwogCX0KIAotCWlmIChyZWFkX2luZGV4KHRoZV9yZXBvc2l0b3J5LT5pbmRleCkgPCAwKQorCWlmIChyZXBvX3JlYWRfaW5kZXgodGhlX3JlcG9zaXRvcnkpIDwgMCkKIAkJZGllKF8oImNvdWxkIG5vdCByZWFkIGluZGV4IikpOwogCiAJaWYgKG9wdGlvbnMuYXV0b3N0YXNoKSB7CkBAIC0xMzc4LDE3ICsyMDkyLDE1IEBACiAJCWZkID0gaG9sZF9sb2NrZWRfaW5kZXgoJmxvY2tfZmlsZSwgMCk7CiAJCXJlZnJlc2hfY2FjaGUoUkVGUkVTSF9RVUlFVCk7CiAJCWlmICgwIDw9IGZkKQotCQkJdXBkYXRlX2luZGV4X2lmX2FibGUoJnRoZV9pbmRleCwgJmxvY2tfZmlsZSk7CisJCQlyZXBvX3VwZGF0ZV9pbmRleF9pZl9hYmxlKHRoZV9yZXBvc2l0b3J5LCAmbG9ja19maWxlKTsKIAkJcm9sbGJhY2tfbG9ja19maWxlKCZsb2NrX2ZpbGUpOwogCi0JCWlmIChoYXNfdW5zdGFnZWRfY2hhbmdlcygxKSB8fCBoYXNfdW5jb21taXR0ZWRfY2hhbmdlcygxKSkgeworCQlpZiAoaGFzX3Vuc3RhZ2VkX2NoYW5nZXModGhlX3JlcG9zaXRvcnksIDEpIHx8CisJCSAgICBoYXNfdW5jb21taXR0ZWRfY2hhbmdlcyh0aGVfcmVwb3NpdG9yeSwgMSkpIHsKIAkJCWNvbnN0IGNoYXIgKmF1dG9zdGFzaCA9CiAJCQkJc3RhdGVfZGlyX3BhdGgoImF1dG9zdGFzaCIsICZvcHRpb25zKTsKIAkJCXN0cnVjdCBjaGlsZF9wcm9jZXNzIHN0YXNoID0gQ0hJTERfUFJPQ0VTU19JTklUOwogCQkJc3RydWN0IG9iamVjdF9pZCBvaWQ7Ci0JCQlzdHJ1Y3QgY29tbWl0ICpoZWFkID0KLQkJCQlsb29rdXBfY29tbWl0X3JlZmVyZW5jZSh0aGVfcmVwb3NpdG9yeSwKLQkJCQkJCQkmb3B0aW9ucy5vcmlnX2hlYWQpOwogCiAJCQlhcmd2X2FycmF5X3B1c2hsKCZzdGFzaC5hcmdzLAogCQkJCQkgInN0YXNoIiwgImNyZWF0ZSIsICJhdXRvc3Rhc2giLCBOVUxMKTsKQEAgLTE0MDksMjUgKzIxMjEsMTcgQEAKIAkJCQkgICAgb3B0aW9ucy5zdGF0ZV9kaXIpOwogCQkJd3JpdGVfZmlsZShhdXRvc3Rhc2gsICIlcyIsIG9pZF90b19oZXgoJm9pZCkpOwogCQkJcHJpbnRmKF8oIkNyZWF0ZWQgYXV0b3N0YXNoOiAlc1xuIiksIGJ1Zi5idWYpOwotCQkJaWYgKHJlc2V0X2hlYWQoJmhlYWQtPm9iamVjdC5vaWQsICJyZXNldCAtLWhhcmQiLAorCQkJaWYgKHJlc2V0X2hlYWQoTlVMTCwgInJlc2V0IC0taGFyZCIsCiAJCQkJICAgICAgIE5VTEwsIFJFU0VUX0hFQURfSEFSRCwgTlVMTCwgTlVMTCkgPCAwKQogCQkJCWRpZShfKCJjb3VsZCBub3QgcmVzZXQgLS1oYXJkIikpOwotCQkJcHJpbnRmKF8oIkhFQUQgaXMgbm93IGF0ICVzIiksCi0JCQkgICAgICAgZmluZF91bmlxdWVfYWJicmV2KCZoZWFkLT5vYmplY3Qub2lkLAotCQkJCQkJICBERUZBVUxUX0FCQlJFVikpOwotCQkJc3RyYnVmX3Jlc2V0KCZidWYpOwotCQkJcHBfY29tbWl0X2Vhc3koQ01JVF9GTVRfT05FTElORSwgaGVhZCwgJmJ1Zik7Ci0JCQlpZiAoYnVmLmxlbiA+IDApCi0JCQkJcHJpbnRmKCIgJXMiLCBidWYuYnVmKTsKLQkJCXB1dGNoYXIoJ1xuJyk7CiAKIAkJCWlmIChkaXNjYXJkX2luZGV4KHRoZV9yZXBvc2l0b3J5LT5pbmRleCkgPCAwIHx8Ci0JCQkJcmVhZF9pbmRleCh0aGVfcmVwb3NpdG9yeS0+aW5kZXgpIDwgMCkKKwkJCQlyZXBvX3JlYWRfaW5kZXgodGhlX3JlcG9zaXRvcnkpIDwgMCkKIAkJCQlkaWUoXygiY291bGQgbm90IHJlYWQgaW5kZXgiKSk7CiAJCX0KIAl9CiAKLQlpZiAocmVxdWlyZV9jbGVhbl93b3JrX3RyZWUoInJlYmFzZSIsCisJaWYgKHJlcXVpcmVfY2xlYW5fd29ya190cmVlKHRoZV9yZXBvc2l0b3J5LCAicmViYXNlIiwKIAkJCQkgICAgXygiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIpLCAxLCAxKSkgewogCQlyZXQgPSAxOwogCQlnb3RvIGNsZWFudXA7CkBAIC0xNDQwLDMyICsyMTQ0LDI3IEBACiAKIAkvKgogCSAqIENoZWNrIGlmIHdlIGFyZSBhbHJlYWR5IGJhc2VkIG9uIG9udG8gd2l0aCBsaW5lYXIgaGlzdG9yeSwKLQkgKiBidXQgdGhpcyBzaG91bGQgYmUgZG9uZSBvbmx5IHdoZW4gdXBzdHJlYW0gYW5kIG9udG8gYXJlIHRoZSBzYW1lCi0JICogYW5kIGlmIHRoaXMgaXMgbm90IGFuIGludGVyYWN0aXZlIHJlYmFzZS4KKwkgKiBpbiB3aGljaCBjYXNlIHdlIGNvdWxkIGZhc3QtZm9yd2FyZCB3aXRob3V0IHJlcGxhY2luZyB0aGUgY29tbWl0cworCSAqIHdpdGggbmV3IGNvbW1pdHMgcmVjcmVhdGVkIGJ5IHJlcGxheWluZyB0aGVpciBjaGFuZ2VzLgorCSAqCisJICogTm90ZSB0aGF0IGNhbl9mYXN0X2ZvcndhcmQoKSBpbml0aWFsaXplcyBtZXJnZV9iYXNlLCBzbyB3ZSBoYXZlIHRvCisJICogY2FsbCBpdCBiZWZvcmUgY2hlY2tpbmcgYWxsb3dfcHJlZW1wdGl2ZV9mZi4KIAkgKi8KLQlpZiAoY2FuX2Zhc3RfZm9yd2FyZChvcHRpb25zLm9udG8sICZvcHRpb25zLm9yaWdfaGVhZCwgJm1lcmdlX2Jhc2UpICYmCi0JICAgICFpc19pbnRlcmFjdGl2ZSgmb3B0aW9ucykgJiYgIW9wdGlvbnMucmVzdHJpY3RfcmV2aXNpb24gJiYKLQkgICAgb3B0aW9ucy51cHN0cmVhbSAmJgotCSAgICAhb2lkY21wKCZvcHRpb25zLnVwc3RyZWFtLT5vYmplY3Qub2lkLCAmb3B0aW9ucy5vbnRvLT5vYmplY3Qub2lkKSkgeworCWlmIChjYW5fZmFzdF9mb3J3YXJkKG9wdGlvbnMub250bywgb3B0aW9ucy51cHN0cmVhbSwgb3B0aW9ucy5yZXN0cmljdF9yZXZpc2lvbiwKKwkJICAgICZvcHRpb25zLm9yaWdfaGVhZCwgJm1lcmdlX2Jhc2UpICYmCisJICAgIGFsbG93X3ByZWVtcHRpdmVfZmYpIHsKIAkJaW50IGZsYWc7CiAKIAkJaWYgKCEob3B0aW9ucy5mbGFncyAmIFJFQkFTRV9GT1JDRSkpIHsKIAkJCS8qIExhemlseSBzd2l0Y2ggdG8gdGhlIHRhcmdldCBicmFuY2ggaWYgbmVlZGVkLi4uICovCiAJCQlpZiAob3B0aW9ucy5zd2l0Y2hfdG8pIHsKLQkJCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKLQotCQkJCWlmIChnZXRfb2lkKG9wdGlvbnMuc3dpdGNoX3RvLCAmb2lkKSA8IDApIHsKLQkJCQkJcmV0ID0gISFlcnJvcihfKCJjb3VsZCBub3QgcGFyc2UgJyVzJyIpLAotCQkJCQkJICAgICAgb3B0aW9ucy5zd2l0Y2hfdG8pOwotCQkJCQlnb3RvIGNsZWFudXA7Ci0JCQkJfQotCiAJCQkJc3RyYnVmX3Jlc2V0KCZidWYpOwogCQkJCXN0cmJ1Zl9hZGRmKCZidWYsICIlczogY2hlY2tvdXQgJXMiLAogCQkJCQkgICAgZ2V0ZW52KEdJVF9SRUZMT0dfQUNUSU9OX0VOVklST05NRU5UKSwKIAkJCQkJICAgIG9wdGlvbnMuc3dpdGNoX3RvKTsKLQkJCQlpZiAocmVzZXRfaGVhZCgmb2lkLCAiY2hlY2tvdXQiLAotCQkJCQkgICAgICAgb3B0aW9ucy5oZWFkX25hbWUsIDAsCisJCQkJaWYgKHJlc2V0X2hlYWQoJm9wdGlvbnMub3JpZ19oZWFkLCAiY2hlY2tvdXQiLAorCQkJCQkgICAgICAgb3B0aW9ucy5oZWFkX25hbWUsCisJCQkJCSAgICAgICBSRVNFVF9IRUFEX1JVTl9QT1NUX0NIRUNLT1VUX0hPT0ssCiAJCQkJCSAgICAgICBOVUxMLCBidWYuYnVmKSA8IDApIHsKIAkJCQkJcmV0ID0gISFlcnJvcihfKCJjb3VsZCBub3Qgc3dpdGNoIHRvICIKIAkJCQkJCQkiJXMiKSwKQEAgLTE1MjgsNyArMjIyNyw3IEBACiAJCWRpZmZfZmx1c2goJm9wdHMpOwogCX0KIAotCWlmIChpc19pbnRlcmFjdGl2ZSgmb3B0aW9ucykpCisJaWYgKGlzX21lcmdlKCZvcHRpb25zKSkKIAkJZ290byBydW5fcmViYXNlOwogCiAJLyogRGV0YWNoIEhFQUQgYW5kIHJlc2V0IHRoZSB0cmVlICovCkBAIC0xNTM5LDcgKzIyMzgsOSBAQAogCXN0cmJ1Zl9hZGRmKCZtc2csICIlczogY2hlY2tvdXQgJXMiLAogCQkgICAgZ2V0ZW52KEdJVF9SRUZMT0dfQUNUSU9OX0VOVklST05NRU5UKSwgb3B0aW9ucy5vbnRvX25hbWUpOwogCWlmIChyZXNldF9oZWFkKCZvcHRpb25zLm9udG8tPm9iamVjdC5vaWQsICJjaGVja291dCIsIE5VTEwsCi0JCSAgICAgICBSRVNFVF9IRUFEX0RFVEFDSCwgTlVMTCwgbXNnLmJ1ZikpCisJCSAgICAgICBSRVNFVF9IRUFEX0RFVEFDSCB8IFJFU0VUX09SSUdfSEVBRCB8CisJCSAgICAgICBSRVNFVF9IRUFEX1JVTl9QT1NUX0NIRUNLT1VUX0hPT0ssCisJCSAgICAgICBOVUxMLCBtc2cuYnVmKSkKIAkJZGllKF8oIkNvdWxkIG5vdCBkZXRhY2ggSEVBRCIpKTsKIAlzdHJidWZfcmVsZWFzZSgmbXNnKTsKIApAQCAtMTU0OCwxNCArMjI0OSwxNCBAQAogCSAqIHdlIGp1c3QgZmFzdC1mb3J3YXJkZWQuCiAJICovCiAJc3RyYnVmX3Jlc2V0KCZtc2cpOwotCWlmICghb2lkY21wKCZtZXJnZV9iYXNlLCAmb3B0aW9ucy5vcmlnX2hlYWQpKSB7CisJaWYgKG9pZGVxKCZtZXJnZV9iYXNlLCAmb3B0aW9ucy5vcmlnX2hlYWQpKSB7CiAJCXByaW50ZihfKCJGYXN0LWZvcndhcmRlZCAlcyB0byAlcy5cbiIpLAogCQkJYnJhbmNoX25hbWUsIG9wdGlvbnMub250b19uYW1lKTsKIAkJc3RyYnVmX2FkZGYoJm1zZywgInJlYmFzZSBmaW5pc2hlZDogJXMgb250byAlcyIsCiAJCQlvcHRpb25zLmhlYWRfbmFtZSA/IG9wdGlvbnMuaGVhZF9uYW1lIDogImRldGFjaGVkIEhFQUQiLAogCQkJb2lkX3RvX2hleCgmb3B0aW9ucy5vbnRvLT5vYmplY3Qub2lkKSk7Ci0JCXJlc2V0X2hlYWQoTlVMTCwgIkZhc3QtZm9yd2FyZGVkIiwgb3B0aW9ucy5oZWFkX25hbWUsIDAsCi0JCQkgICAiSEVBRCIsIG1zZy5idWYpOworCQlyZXNldF9oZWFkKE5VTEwsICJGYXN0LWZvcndhcmRlZCIsIG9wdGlvbnMuaGVhZF9uYW1lLAorCQkJICAgUkVTRVRfSEVBRF9SRUZTX09OTFksICJIRUFEIiwgbXNnLmJ1Zik7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZtc2cpOwogCQlyZXQgPSAhIWZpbmlzaF9yZWJhc2UoJm9wdGlvbnMpOwogCQlnb3RvIGNsZWFudXA7CkBAIC0xNTcxLDkgKzIyNzIsMTAgQEAKIAlvcHRpb25zLnJldmlzaW9ucyA9IHJldmlzaW9ucy5idWY7CiAKIHJ1bl9yZWJhc2U6Ci0JcmV0ID0gISFydW5fc3BlY2lmaWNfcmViYXNlKCZvcHRpb25zKTsKKwlyZXQgPSAhIXJ1bl9zcGVjaWZpY19yZWJhc2UoJm9wdGlvbnMsIGFjdGlvbik7CiAKIGNsZWFudXA6CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAJc3RyYnVmX3JlbGVhc2UoJnJldmlzaW9ucyk7CiAJZnJlZShvcHRpb25zLmhlYWRfbmFtZSk7CiAJZnJlZShvcHRpb25zLmdwZ19zaWduX29wdCk7CmRpZmYgLS1naXQgYS9idWlsdGluL3JlY2VpdmUtcGFjay5jIGIvYnVpbHRpbi9yZWNlaXZlLXBhY2suYwppbmRleCAzMzE4N2JkLi4yY2MxOGJiIDEwMDY0NAotLS0gYS9idWlsdGluL3JlY2VpdmUtcGFjay5jCisrKyBiL2J1aWx0aW4vcmVjZWl2ZS1wYWNrLmMKQEAgLTEyLDcgKzEyLDYgQEAKICNpbmNsdWRlICJvYmplY3QuaCIKICNpbmNsdWRlICJyZW1vdGUuaCIKICNpbmNsdWRlICJjb25uZWN0LmgiCi0jaW5jbHVkZSAidHJhbnNwb3J0LmgiCiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKICNpbmNsdWRlICJzaGExLWFycmF5LmgiCiAjaW5jbHVkZSAiY29ubmVjdGVkLmgiCkBAIC0yOCw2ICsyNyw3IEBACiAjaW5jbHVkZSAib2JqZWN0LXN0b3JlLmgiCiAjaW5jbHVkZSAicHJvdG9jb2wuaCIKICNpbmNsdWRlICJjb21taXQtcmVhY2guaCIKKyNpbmNsdWRlICJ3b3JrdHJlZS5oIgogCiBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHJlY2VpdmVfcGFja191c2FnZVtdID0gewogCU5fKCJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIpLApAQCAtNDE4LDI0ICs0MTgsMjIgQEAKIAlyZXR1cm4gMDsKIH0KIAotI2RlZmluZSBITUFDX0JMT0NLX1NJWkUgNjQKLQotc3RhdGljIHZvaWQgaG1hY19zaGExKHVuc2lnbmVkIGNoYXIgKm91dCwKK3N0YXRpYyB2b2lkIGhtYWModW5zaWduZWQgY2hhciAqb3V0LAogCQkgICAgICBjb25zdCBjaGFyICprZXlfaW4sIHNpemVfdCBrZXlfbGVuLAogCQkgICAgICBjb25zdCBjaGFyICp0ZXh0LCBzaXplX3QgdGV4dF9sZW4pCiB7Ci0JdW5zaWduZWQgY2hhciBrZXlbSE1BQ19CTE9DS19TSVpFXTsKLQl1bnNpZ25lZCBjaGFyIGtfaXBhZFtITUFDX0JMT0NLX1NJWkVdOwotCXVuc2lnbmVkIGNoYXIga19vcGFkW0hNQUNfQkxPQ0tfU0laRV07CisJdW5zaWduZWQgY2hhciBrZXlbR0lUX01BWF9CTEtTWl07CisJdW5zaWduZWQgY2hhciBrX2lwYWRbR0lUX01BWF9CTEtTWl07CisJdW5zaWduZWQgY2hhciBrX29wYWRbR0lUX01BWF9CTEtTWl07CiAJaW50IGk7Ci0JZ2l0X1NIQV9DVFggY3R4OworCWdpdF9oYXNoX2N0eCBjdHg7CiAKIAkvKiBSRkMgMjEwNCAyLiAoMSkgKi8KLQltZW1zZXQoa2V5LCAnXDAnLCBITUFDX0JMT0NLX1NJWkUpOwotCWlmIChITUFDX0JMT0NLX1NJWkUgPCBrZXlfbGVuKSB7Ci0JCWdpdF9TSEExX0luaXQoJmN0eCk7Ci0JCWdpdF9TSEExX1VwZGF0ZSgmY3R4LCBrZXlfaW4sIGtleV9sZW4pOwotCQlnaXRfU0hBMV9GaW5hbChrZXksICZjdHgpOworCW1lbXNldChrZXksICdcMCcsIEdJVF9NQVhfQkxLU1opOworCWlmICh0aGVfaGFzaF9hbGdvLT5ibGtzeiA8IGtleV9sZW4pIHsKKwkJdGhlX2hhc2hfYWxnby0+aW5pdF9mbigmY3R4KTsKKwkJdGhlX2hhc2hfYWxnby0+dXBkYXRlX2ZuKCZjdHgsIGtleV9pbiwga2V5X2xlbik7CisJCXRoZV9oYXNoX2FsZ28tPmZpbmFsX2ZuKGtleSwgJmN0eCk7CiAJfSBlbHNlIHsKIAkJbWVtY3B5KGtleSwga2V5X2luLCBrZXlfbGVuKTsKIAl9CkBAIC00NDcsMjkgKzQ0NSwyOSBAQAogCX0KIAogCS8qIFJGQyAyMTA0IDIuICgzKSAmICg0KSAqLwotCWdpdF9TSEExX0luaXQoJmN0eCk7Ci0JZ2l0X1NIQTFfVXBkYXRlKCZjdHgsIGtfaXBhZCwgc2l6ZW9mKGtfaXBhZCkpOwotCWdpdF9TSEExX1VwZGF0ZSgmY3R4LCB0ZXh0LCB0ZXh0X2xlbik7Ci0JZ2l0X1NIQTFfRmluYWwob3V0LCAmY3R4KTsKKwl0aGVfaGFzaF9hbGdvLT5pbml0X2ZuKCZjdHgpOworCXRoZV9oYXNoX2FsZ28tPnVwZGF0ZV9mbigmY3R4LCBrX2lwYWQsIHNpemVvZihrX2lwYWQpKTsKKwl0aGVfaGFzaF9hbGdvLT51cGRhdGVfZm4oJmN0eCwgdGV4dCwgdGV4dF9sZW4pOworCXRoZV9oYXNoX2FsZ28tPmZpbmFsX2ZuKG91dCwgJmN0eCk7CiAKIAkvKiBSRkMgMjEwNCAyLiAoNikgJiAoNykgKi8KLQlnaXRfU0hBMV9Jbml0KCZjdHgpOwotCWdpdF9TSEExX1VwZGF0ZSgmY3R4LCBrX29wYWQsIHNpemVvZihrX29wYWQpKTsKLQlnaXRfU0hBMV9VcGRhdGUoJmN0eCwgb3V0LCBHSVRfU0hBMV9SQVdTWik7Ci0JZ2l0X1NIQTFfRmluYWwob3V0LCAmY3R4KTsKKwl0aGVfaGFzaF9hbGdvLT5pbml0X2ZuKCZjdHgpOworCXRoZV9oYXNoX2FsZ28tPnVwZGF0ZV9mbigmY3R4LCBrX29wYWQsIHNpemVvZihrX29wYWQpKTsKKwl0aGVfaGFzaF9hbGdvLT51cGRhdGVfZm4oJmN0eCwgb3V0LCB0aGVfaGFzaF9hbGdvLT5yYXdzeik7CisJdGhlX2hhc2hfYWxnby0+ZmluYWxfZm4ob3V0LCAmY3R4KTsKIH0KIAogc3RhdGljIGNoYXIgKnByZXBhcmVfcHVzaF9jZXJ0X25vbmNlKGNvbnN0IGNoYXIgKnBhdGgsIHRpbWVzdGFtcF90IHN0YW1wKQogewogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7Ci0JdW5zaWduZWQgY2hhciBzaGExW0dJVF9TSEExX1JBV1NaXTsKKwl1bnNpZ25lZCBjaGFyIGhhc2hbR0lUX01BWF9SQVdTWl07CiAKIAlzdHJidWZfYWRkZigmYnVmLCAiJXM6JSJQUkl0aW1lLCBwYXRoLCBzdGFtcCk7Ci0JaG1hY19zaGExKHNoYTEsIGJ1Zi5idWYsIGJ1Zi5sZW4sIGNlcnRfbm9uY2Vfc2VlZCwgc3RybGVuKGNlcnRfbm9uY2Vfc2VlZCkpOworCWhtYWMoaGFzaCwgYnVmLmJ1ZiwgYnVmLmxlbiwgY2VydF9ub25jZV9zZWVkLCBzdHJsZW4oY2VydF9ub25jZV9zZWVkKSk7CiAJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAKIAkvKiBSRkMgMjEwNCA1LiBITUFDLVNIQTEtODAgKi8KLQlzdHJidWZfYWRkZigmYnVmLCAiJSJQUkl0aW1lIi0lLipzIiwgc3RhbXAsIEdJVF9TSEExX0hFWFNaLCBzaGExX3RvX2hleChzaGExKSk7CisJc3RyYnVmX2FkZGYoJmJ1ZiwgIiUiUFJJdGltZSItJS4qcyIsIHN0YW1wLCAoaW50KXRoZV9oYXNoX2FsZ28tPmhleHN6LCBoYXNoX3RvX2hleChoYXNoKSk7CiAJcmV0dXJuIHN0cmJ1Zl9kZXRhY2goJmJ1ZiwgTlVMTCk7CiB9CiAKQEAgLTY5NCw2ICs2OTIsOCBAQAogCXByb2MuYXJndiA9IGFyZ3Y7CiAJcHJvYy5pbiA9IC0xOwogCXByb2Muc3Rkb3V0X3RvX3N0ZGVyciA9IDE7CisJcHJvYy50cmFjZTJfaG9va19uYW1lID0gaG9va19uYW1lOworCiAJaWYgKGZlZWRfc3RhdGUtPnB1c2hfb3B0aW9ucykgewogCQlpbnQgaTsKIAkJZm9yIChpID0gMDsgaSA8IGZlZWRfc3RhdGUtPnB1c2hfb3B0aW9ucy0+bnI7IGkrKykKQEAgLTgwNyw2ICs4MDcsNyBAQAogCXByb2Muc3Rkb3V0X3RvX3N0ZGVyciA9IDE7CiAJcHJvYy5lcnIgPSB1c2Vfc2lkZWJhbmQgPyAtMSA6IDA7CiAJcHJvYy5hcmd2ID0gYXJndjsKKwlwcm9jLnRyYWNlMl9ob29rX25hbWUgPSAidXBkYXRlIjsKIAogCWNvZGUgPSBzdGFydF9jb21tYW5kKCZwcm9jKTsKIAlpZiAoY29kZSkKQEAgLTgxNiwxNiArODE3LDYgQEAKIAlyZXR1cm4gZmluaXNoX2NvbW1hbmQoJnByb2MpOwogfQogCi1zdGF0aWMgaW50IGlzX3JlZl9jaGVja2VkX291dChjb25zdCBjaGFyICpyZWYpCi17Ci0JaWYgKGlzX2JhcmVfcmVwb3NpdG9yeSgpKQotCQlyZXR1cm4gMDsKLQotCWlmICghaGVhZF9uYW1lKQotCQlyZXR1cm4gMDsKLQlyZXR1cm4gIXN0cmNtcChoZWFkX25hbWUsIHJlZik7Ci19Ci0KIHN0YXRpYyBjaGFyICpyZWZ1c2VfdW5jb25maWd1cmVkX2RlbnlfbXNnID0KIAlOXygiQnkgZGVmYXVsdCwgdXBkYXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGluIGEgbm9uLWJhcmUgcmVwb3NpdG9yeVxuIgogCSAgICJpcyBkZW5pZWQsIGJlY2F1c2UgaXQgd2lsbCBtYWtlIHRoZSBpbmRleCBhbmQgd29yayB0cmVlIGluY29uc2lzdGVudFxuIgpAQCAtOTY4LDcgKzk1OSw3IEBACiAJaWYgKHJ1bl9jb21tYW5kKCZjaGlsZCkpCiAJCXJldHVybiAiV29ya2luZyBkaXJlY3RvcnkgaGFzIHN0YWdlZCBjaGFuZ2VzIjsKIAotCXJlYWRfdHJlZVszXSA9IHNoYTFfdG9faGV4KHNoYTEpOworCXJlYWRfdHJlZVszXSA9IGhhc2hfdG9faGV4KHNoYTEpOwogCWNoaWxkX3Byb2Nlc3NfaW5pdCgmY2hpbGQpOwogCWNoaWxkLmFyZ3YgPSByZWFkX3RyZWU7CiAJY2hpbGQuZW52ID0gZW52LT5hcmd2OwpAQCAtOTg1LDI4ICs5NzYsMzggQEAKIAogc3RhdGljIGNvbnN0IGNoYXIgKnB1c2hfdG9fY2hlY2tvdXRfaG9vayA9ICJwdXNoLXRvLWNoZWNrb3V0IjsKIAotc3RhdGljIGNvbnN0IGNoYXIgKnB1c2hfdG9fY2hlY2tvdXQodW5zaWduZWQgY2hhciAqc2hhMSwKK3N0YXRpYyBjb25zdCBjaGFyICpwdXNoX3RvX2NoZWNrb3V0KHVuc2lnbmVkIGNoYXIgKmhhc2gsCiAJCQkJICAgIHN0cnVjdCBhcmd2X2FycmF5ICplbnYsCiAJCQkJICAgIGNvbnN0IGNoYXIgKndvcmtfdHJlZSkKIHsKIAlhcmd2X2FycmF5X3B1c2hmKGVudiwgIkdJVF9XT1JLX1RSRUU9JXMiLCBhYnNvbHV0ZV9wYXRoKHdvcmtfdHJlZSkpOwogCWlmIChydW5faG9va19sZShlbnYtPmFyZ3YsIHB1c2hfdG9fY2hlY2tvdXRfaG9vaywKLQkJCXNoYTFfdG9faGV4KHNoYTEpLCBOVUxMKSkKKwkJCWhhc2hfdG9faGV4KGhhc2gpLCBOVUxMKSkKIAkJcmV0dXJuICJwdXNoLXRvLWNoZWNrb3V0IGhvb2sgZGVjbGluZWQiOwogCWVsc2UKIAkJcmV0dXJuIE5VTEw7CiB9CiAKLXN0YXRpYyBjb25zdCBjaGFyICp1cGRhdGVfd29ya3RyZWUodW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyBjb25zdCBjaGFyICp1cGRhdGVfd29ya3RyZWUodW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3Qgc3RydWN0IHdvcmt0cmVlICp3b3JrdHJlZSkKIHsKLQljb25zdCBjaGFyICpyZXR2YWw7Ci0JY29uc3QgY2hhciAqd29ya190cmVlID0gZ2l0X3dvcmtfdHJlZV9jZmcgPyBnaXRfd29ya190cmVlX2NmZyA6ICIuLiI7CisJY29uc3QgY2hhciAqcmV0dmFsLCAqd29ya190cmVlLCAqZ2l0X2RpciA9IE5VTEw7CiAJc3RydWN0IGFyZ3ZfYXJyYXkgZW52ID0gQVJHVl9BUlJBWV9JTklUOwogCisJaWYgKHdvcmt0cmVlICYmIHdvcmt0cmVlLT5wYXRoKQorCQl3b3JrX3RyZWUgPSB3b3JrdHJlZS0+cGF0aDsKKwllbHNlIGlmIChnaXRfd29ya190cmVlX2NmZykKKwkJd29ya190cmVlID0gZ2l0X3dvcmtfdHJlZV9jZmc7CisJZWxzZQorCQl3b3JrX3RyZWUgPSAiLi4iOworCiAJaWYgKGlzX2JhcmVfcmVwb3NpdG9yeSgpKQogCQlyZXR1cm4gImRlbnlDdXJyZW50QnJhbmNoID0gdXBkYXRlSW5zdGVhZCBuZWVkcyBhIHdvcmt0cmVlIjsKKwlpZiAod29ya3RyZWUpCisJCWdpdF9kaXIgPSBnZXRfd29ya3RyZWVfZ2l0X2Rpcih3b3JrdHJlZSk7CisJaWYgKCFnaXRfZGlyKQorCQlnaXRfZGlyID0gZ2V0X2dpdF9kaXIoKTsKIAotCWFyZ3ZfYXJyYXlfcHVzaGYoJmVudiwgIkdJVF9ESVI9JXMiLCBhYnNvbHV0ZV9wYXRoKGdldF9naXRfZGlyKCkpKTsKKwlhcmd2X2FycmF5X3B1c2hmKCZlbnYsICJHSVRfRElSPSVzIiwgYWJzb2x1dGVfcGF0aChnaXRfZGlyKSk7CiAKIAlpZiAoIWZpbmRfaG9vayhwdXNoX3RvX2NoZWNrb3V0X2hvb2spKQogCQlyZXR2YWwgPSBwdXNoX3RvX2RlcGxveShzaGExLCAmZW52LCB3b3JrX3RyZWUpOwpAQCAtMTAyNiw2ICsxMDI3LDcgQEAKIAlzdHJ1Y3Qgb2JqZWN0X2lkICpvbGRfb2lkID0gJmNtZC0+b2xkX29pZDsKIAlzdHJ1Y3Qgb2JqZWN0X2lkICpuZXdfb2lkID0gJmNtZC0+bmV3X29pZDsKIAlpbnQgZG9fdXBkYXRlX3dvcmt0cmVlID0gMDsKKwljb25zdCBzdHJ1Y3Qgd29ya3RyZWUgKndvcmt0cmVlID0gaXNfYmFyZV9yZXBvc2l0b3J5KCkgPyBOVUxMIDogZmluZF9zaGFyZWRfc3ltcmVmKCJIRUFEIiwgbmFtZSk7CiAKIAkvKiBvbmx5IHJlZnMvLi4uIGFyZSBhbGxvd2VkICovCiAJaWYgKCFzdGFydHNfd2l0aChuYW1lLCAicmVmcy8iKSB8fCBjaGVja19yZWZuYW1lX2Zvcm1hdChuYW1lICsgNSwgMCkpIHsKQEAgLTEwMzcsNyArMTAzOSw3IEBACiAJZnJlZShuYW1lc3BhY2VkX25hbWUpOwogCW5hbWVzcGFjZWRfbmFtZSA9IHN0cmJ1Zl9kZXRhY2goJm5hbWVzcGFjZWRfbmFtZV9idWYsIE5VTEwpOwogCi0JaWYgKGlzX3JlZl9jaGVja2VkX291dChuYW1lc3BhY2VkX25hbWUpKSB7CisJaWYgKHdvcmt0cmVlKSB7CiAJCXN3aXRjaCAoZGVueV9jdXJyZW50X2JyYW5jaCkgewogCQljYXNlIERFTllfSUdOT1JFOgogCQkJYnJlYWs7CkBAIC0xMDY5LDcgKzEwNzEsNyBAQAogCQkJcmV0dXJuICJkZWxldGlvbiBwcm9oaWJpdGVkIjsKIAkJfQogCi0JCWlmIChoZWFkX25hbWUgJiYgIXN0cmNtcChuYW1lc3BhY2VkX25hbWUsIGhlYWRfbmFtZSkpIHsKKwkJaWYgKHdvcmt0cmVlIHx8IChoZWFkX25hbWUgJiYgIXN0cmNtcChuYW1lc3BhY2VkX25hbWUsIGhlYWRfbmFtZSkpKSB7CiAJCQlzd2l0Y2ggKGRlbnlfZGVsZXRlX2N1cnJlbnQpIHsKIAkJCWNhc2UgREVOWV9JR05PUkU6CiAJCQkJYnJlYWs7CkBAIC0xMTE4LDcgKzExMjAsNyBAQAogCX0KIAogCWlmIChkb191cGRhdGVfd29ya3RyZWUpIHsKLQkJcmV0ID0gdXBkYXRlX3dvcmt0cmVlKG5ld19vaWQtPmhhc2gpOworCQlyZXQgPSB1cGRhdGVfd29ya3RyZWUobmV3X29pZC0+aGFzaCwgZmluZF9zaGFyZWRfc3ltcmVmKCJIRUFEIiwgbmFtZSkpOwogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKIAl9CkBAIC0xMTkwLDYgKzExOTIsNyBAQAogCXByb2Mubm9fc3RkaW4gPSAxOwogCXByb2Muc3Rkb3V0X3RvX3N0ZGVyciA9IDE7CiAJcHJvYy5lcnIgPSB1c2Vfc2lkZWJhbmQgPyAtMSA6IDA7CisJcHJvYy50cmFjZTJfaG9va19uYW1lID0gInBvc3QtdXBkYXRlIjsKIAogCWlmICghc3RhcnRfY29tbWFuZCgmcHJvYykpIHsKIAkJaWYgKHVzZV9zaWRlYmFuZCkKQEAgLTExOTgsMTcgKzEyMDEsMTIgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIGNoZWNrX2FsaWFzZWRfdXBkYXRlKHN0cnVjdCBjb21tYW5kICpjbWQsIHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCkKK3N0YXRpYyB2b2lkIGNoZWNrX2FsaWFzZWRfdXBkYXRlX2ludGVybmFsKHN0cnVjdCBjb21tYW5kICpjbWQsCisJCQkJCSAgc3RydWN0IHN0cmluZ19saXN0ICpsaXN0LAorCQkJCQkgIGNvbnN0IGNoYXIgKmRzdF9uYW1lLCBpbnQgZmxhZykKIHsKLQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwotCWNvbnN0IGNoYXIgKmRzdF9uYW1lOwogCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOwogCXN0cnVjdCBjb21tYW5kICpkc3RfY21kOwotCWludCBmbGFnOwotCi0Jc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzJXMiLCBnZXRfZ2l0X25hbWVzcGFjZSgpLCBjbWQtPnJlZl9uYW1lKTsKLQlkc3RfbmFtZSA9IHJlc29sdmVfcmVmX3Vuc2FmZShidWYuYnVmLCAwLCBOVUxMLCAmZmxhZyk7Ci0Jc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAKIAlpZiAoIShmbGFnICYgUkVGX0lTU1lNUkVGKSkKIAkJcmV0dXJuOwpAQCAtMTI0Nyw2ICsxMjQ1LDE4IEBACiAJCSJpbmNvbnNpc3RlbnQgYWxpYXNlZCB1cGRhdGUiOwogfQogCitzdGF0aWMgdm9pZCBjaGVja19hbGlhc2VkX3VwZGF0ZShzdHJ1Y3QgY29tbWFuZCAqY21kLCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QpCit7CisJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKKwljb25zdCBjaGFyICpkc3RfbmFtZTsKKwlpbnQgZmxhZzsKKworCXN0cmJ1Zl9hZGRmKCZidWYsICIlcyVzIiwgZ2V0X2dpdF9uYW1lc3BhY2UoKSwgY21kLT5yZWZfbmFtZSk7CisJZHN0X25hbWUgPSByZXNvbHZlX3JlZl91bnNhZmUoYnVmLmJ1ZiwgMCwgTlVMTCwgJmZsYWcpOworCWNoZWNrX2FsaWFzZWRfdXBkYXRlX2ludGVybmFsKGNtZCwgbGlzdCwgZHN0X25hbWUsIGZsYWcpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOworfQorCiBzdGF0aWMgdm9pZCBjaGVja19hbGlhc2VkX3VwZGF0ZXMoc3RydWN0IGNvbW1hbmQgKmNvbW1hbmRzKQogewogCXN0cnVjdCBjb21tYW5kICpjbWQ7CkBAIC0xNTY5LDMwICsxNTc5LDI5IEBACiAJfQogfQogCi1zdGF0aWMgc3RydWN0IGNvbW1hbmQgKnJlYWRfaGVhZF9pbmZvKHN0cnVjdCBvaWRfYXJyYXkgKnNoYWxsb3cpCitzdGF0aWMgc3RydWN0IGNvbW1hbmQgKnJlYWRfaGVhZF9pbmZvKHN0cnVjdCBwYWNrZXRfcmVhZGVyICpyZWFkZXIsCisJCQkJICAgICAgc3RydWN0IG9pZF9hcnJheSAqc2hhbGxvdykKIHsKIAlzdHJ1Y3QgY29tbWFuZCAqY29tbWFuZHMgPSBOVUxMOwogCXN0cnVjdCBjb21tYW5kICoqcCA9ICZjb21tYW5kczsKIAlmb3IgKDs7KSB7Ci0JCWNoYXIgKmxpbmU7Ci0JCWludCBsZW4sIGxpbmVsZW47CisJCWludCBsaW5lbGVuOwogCi0JCWxpbmUgPSBwYWNrZXRfcmVhZF9saW5lKDAsICZsZW4pOwotCQlpZiAoIWxpbmUpCisJCWlmIChwYWNrZXRfcmVhZGVyX3JlYWQocmVhZGVyKSAhPSBQQUNLRVRfUkVBRF9OT1JNQUwpCiAJCQlicmVhazsKIAotCQlpZiAobGVuID4gOCAmJiBzdGFydHNfd2l0aChsaW5lLCAic2hhbGxvdyAiKSkgeworCQlpZiAocmVhZGVyLT5wa3RsZW4gPiA4ICYmIHN0YXJ0c193aXRoKHJlYWRlci0+bGluZSwgInNoYWxsb3cgIikpIHsKIAkJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwotCQkJaWYgKGdldF9vaWRfaGV4KGxpbmUgKyA4LCAmb2lkKSkKKwkJCWlmIChnZXRfb2lkX2hleChyZWFkZXItPmxpbmUgKyA4LCAmb2lkKSkKIAkJCQlkaWUoInByb3RvY29sIGVycm9yOiBleHBlY3RlZCBzaGFsbG93IHNoYSwgZ290ICclcyciLAotCQkJCSAgICBsaW5lICsgOCk7CisJCQkJICAgIHJlYWRlci0+bGluZSArIDgpOwogCQkJb2lkX2FycmF5X2FwcGVuZChzaGFsbG93LCAmb2lkKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJbGluZWxlbiA9IHN0cmxlbihsaW5lKTsKLQkJaWYgKGxpbmVsZW4gPCBsZW4pIHsKLQkJCWNvbnN0IGNoYXIgKmZlYXR1cmVfbGlzdCA9IGxpbmUgKyBsaW5lbGVuICsgMTsKKwkJbGluZWxlbiA9IHN0cmxlbihyZWFkZXItPmxpbmUpOworCQlpZiAobGluZWxlbiA8IHJlYWRlci0+cGt0bGVuKSB7CisJCQljb25zdCBjaGFyICpmZWF0dXJlX2xpc3QgPSByZWFkZXItPmxpbmUgKyBsaW5lbGVuICsgMTsKIAkJCWlmIChwYXJzZV9mZWF0dXJlX3JlcXVlc3QoZmVhdHVyZV9saXN0LCAicmVwb3J0LXN0YXR1cyIpKQogCQkJCXJlcG9ydF9zdGF0dXMgPSAxOwogCQkJaWYgKHBhcnNlX2ZlYXR1cmVfcmVxdWVzdChmZWF0dXJlX2xpc3QsICJzaWRlLWJhbmQtNjRrIikpCkBAIC0xNjA3LDI4ICsxNjE2LDMyIEBACiAJCQkJdXNlX3B1c2hfb3B0aW9ucyA9IDE7CiAJCX0KIAotCQlpZiAoIXN0cmNtcChsaW5lLCAicHVzaC1jZXJ0IikpIHsKKwkJaWYgKCFzdHJjbXAocmVhZGVyLT5saW5lLCAicHVzaC1jZXJ0IikpIHsKIAkJCWludCB0cnVlX2ZsdXNoID0gMDsKLQkJCWNoYXIgY2VydGJ1ZlsxMDI0XTsKKwkJCWludCBzYXZlZF9vcHRpb25zID0gcmVhZGVyLT5vcHRpb25zOworCQkJcmVhZGVyLT5vcHRpb25zICY9IH5QQUNLRVRfUkVBRF9DSE9NUF9ORVdMSU5FOwogCiAJCQlmb3IgKDs7KSB7Ci0JCQkJbGVuID0gcGFja2V0X3JlYWQoMCwgTlVMTCwgTlVMTCwKLQkJCQkJCSAgY2VydGJ1Ziwgc2l6ZW9mKGNlcnRidWYpLCAwKTsKLQkJCQlpZiAoIWxlbikgeworCQkJCXBhY2tldF9yZWFkZXJfcmVhZChyZWFkZXIpOworCQkJCWlmIChyZWFkZXItPnN0YXR1cyA9PSBQQUNLRVRfUkVBRF9GTFVTSCkgewogCQkJCQl0cnVlX2ZsdXNoID0gMTsKIAkJCQkJYnJlYWs7CiAJCQkJfQotCQkJCWlmICghc3RyY21wKGNlcnRidWYsICJwdXNoLWNlcnQtZW5kXG4iKSkKKwkJCQlpZiAocmVhZGVyLT5zdGF0dXMgIT0gUEFDS0VUX1JFQURfTk9STUFMKSB7CisJCQkJCWRpZSgicHJvdG9jb2wgZXJyb3I6IGdvdCBhbiB1bmV4cGVjdGVkIHBhY2tldCIpOworCQkJCX0KKwkJCQlpZiAoIXN0cmNtcChyZWFkZXItPmxpbmUsICJwdXNoLWNlcnQtZW5kXG4iKSkKIAkJCQkJYnJlYWs7IC8qIGVuZCBvZiBjZXJ0ICovCi0JCQkJc3RyYnVmX2FkZHN0cigmcHVzaF9jZXJ0LCBjZXJ0YnVmKTsKKwkJCQlzdHJidWZfYWRkc3RyKCZwdXNoX2NlcnQsIHJlYWRlci0+bGluZSk7CiAJCQl9CisJCQlyZWFkZXItPm9wdGlvbnMgPSBzYXZlZF9vcHRpb25zOwogCiAJCQlpZiAodHJ1ZV9mbHVzaCkKIAkJCQlicmVhazsKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJcCA9IHF1ZXVlX2NvbW1hbmQocCwgbGluZSwgbGluZWxlbik7CisJCXAgPSBxdWV1ZV9jb21tYW5kKHAsIHJlYWRlci0+bGluZSwgbGluZWxlbik7CiAJfQogCiAJaWYgKHB1c2hfY2VydC5sZW4pCkBAIC0xNjM3LDE4ICsxNjUwLDE0IEBACiAJcmV0dXJuIGNvbW1hbmRzOwogfQogCi1zdGF0aWMgdm9pZCByZWFkX3B1c2hfb3B0aW9ucyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKm9wdGlvbnMpCitzdGF0aWMgdm9pZCByZWFkX3B1c2hfb3B0aW9ucyhzdHJ1Y3QgcGFja2V0X3JlYWRlciAqcmVhZGVyLAorCQkJICAgICAgc3RydWN0IHN0cmluZ19saXN0ICpvcHRpb25zKQogewogCXdoaWxlICgxKSB7Ci0JCWNoYXIgKmxpbmU7Ci0JCWludCBsZW47Ci0KLQkJbGluZSA9IHBhY2tldF9yZWFkX2xpbmUoMCwgJmxlbik7Ci0KLQkJaWYgKCFsaW5lKQorCQlpZiAocGFja2V0X3JlYWRlcl9yZWFkKHJlYWRlcikgIT0gUEFDS0VUX1JFQURfTk9STUFMKQogCQkJYnJlYWs7CiAKLQkJc3RyaW5nX2xpc3RfYXBwZW5kKG9wdGlvbnMsIGxpbmUpOworCQlzdHJpbmdfbGlzdF9hcHBlbmQob3B0aW9ucywgcmVhZGVyLT5saW5lKTsKIAl9CiB9CiAKQEAgLTE3OTksOCArMTgwOCw3IEBACiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIHZvaWQgcHJlcGFyZV9zaGFsbG93X3VwZGF0ZShzdHJ1Y3QgY29tbWFuZCAqY29tbWFuZHMsCi0JCQkJICAgc3RydWN0IHNoYWxsb3dfaW5mbyAqc2kpCitzdGF0aWMgdm9pZCBwcmVwYXJlX3NoYWxsb3dfdXBkYXRlKHN0cnVjdCBzaGFsbG93X2luZm8gKnNpKQogewogCWludCBpLCBqLCBrLCBiaXRtYXBfc2l6ZSA9IERJVl9ST1VORF9VUChzaS0+cmVmLT5uciwgMzIpOwogCkBAIC0xODY2LDcgKzE4NzQsNyBAQAogCXNpLT5yZWYgPSByZWY7CiAKIAlpZiAoc2hhbGxvd191cGRhdGUpIHsKLQkJcHJlcGFyZV9zaGFsbG93X3VwZGF0ZShjb21tYW5kcywgc2kpOworCQlwcmVwYXJlX3NoYWxsb3dfdXBkYXRlKHNpKTsKIAkJcmV0dXJuOwogCX0KIApAQCAtMTkyNCw2ICsxOTMyLDcgQEAKIAlzdHJ1Y3Qgb2lkX2FycmF5IHNoYWxsb3cgPSBPSURfQVJSQVlfSU5JVDsKIAlzdHJ1Y3Qgb2lkX2FycmF5IHJlZiA9IE9JRF9BUlJBWV9JTklUOwogCXN0cnVjdCBzaGFsbG93X2luZm8gc2k7CisJc3RydWN0IHBhY2tldF9yZWFkZXIgcmVhZGVyOwogCiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CiAJCU9QVF9fUVVJRVQoJnF1aWV0LCBOXygicXVpZXQiKSksCkBAIC0xOTg2LDEyICsxOTk1LDE2IEBACiAJaWYgKGFkdmVydGlzZV9yZWZzKQogCQlyZXR1cm4gMDsKIAotCWlmICgoY29tbWFuZHMgPSByZWFkX2hlYWRfaW5mbygmc2hhbGxvdykpICE9IE5VTEwpIHsKKwlwYWNrZXRfcmVhZGVyX2luaXQoJnJlYWRlciwgMCwgTlVMTCwgMCwKKwkJCSAgIFBBQ0tFVF9SRUFEX0NIT01QX05FV0xJTkUgfAorCQkJICAgUEFDS0VUX1JFQURfRElFX09OX0VSUl9QQUNLRVQpOworCisJaWYgKChjb21tYW5kcyA9IHJlYWRfaGVhZF9pbmZvKCZyZWFkZXIsICZzaGFsbG93KSkgIT0gTlVMTCkgewogCQljb25zdCBjaGFyICp1bnBhY2tfc3RhdHVzID0gTlVMTDsKIAkJc3RydWN0IHN0cmluZ19saXN0IHB1c2hfb3B0aW9ucyA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwogCiAJCWlmICh1c2VfcHVzaF9vcHRpb25zKQotCQkJcmVhZF9wdXNoX29wdGlvbnMoJnB1c2hfb3B0aW9ucyk7CisJCQlyZWFkX3B1c2hfb3B0aW9ucygmcmVhZGVyLCAmcHVzaF9vcHRpb25zKTsKIAkJaWYgKCFjaGVja19jZXJ0X3B1c2hfb3B0aW9ucygmcHVzaF9vcHRpb25zKSkgewogCQkJc3RydWN0IGNvbW1hbmQgKmNtZDsKIAkJCWZvciAoY21kID0gY29tbWFuZHM7IGNtZDsgY21kID0gY21kLT5uZXh0KQpAQCAtMjAyOCw3ICsyMDQxLDcgQEAKIAkJCXByb2MuZ2l0X2NtZCA9IDE7CiAJCQlwcm9jLmFyZ3YgPSBhcmd2X2djX2F1dG87CiAKLQkJCWNsb3NlX2FsbF9wYWNrcyh0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cyk7CisJCQljbG9zZV9vYmplY3Rfc3RvcmUodGhlX3JlcG9zaXRvcnktPm9iamVjdHMpOwogCQkJaWYgKCFzdGFydF9jb21tYW5kKCZwcm9jKSkgewogCQkJCWlmICh1c2Vfc2lkZWJhbmQpCiAJCQkJCWNvcHlfdG9fc2lkZWJhbmQocHJvYy5lcnIsIC0xLCBOVUxMKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVmbG9nLmMgYi9idWlsdGluL3JlZmxvZy5jCmluZGV4IDdhODVlNGIuLjgxZGZkNTYgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmVmbG9nLmMKKysrIGIvYnVpbHRpbi9yZWZsb2cuYwpAQCAtMTQsMTEgKzE0LDE1IEBACiAKIC8qIE5FRURTV09SSzogc3dpdGNoIHRvIHVzaW5nIHBhcnNlX29wdGlvbnMgKi8KIHN0YXRpYyBjb25zdCBjaGFyIHJlZmxvZ19leHBpcmVfdXNhZ2VbXSA9Ci0iZ2l0IHJlZmxvZyBleHBpcmUgWy0tZXhwaXJlPTx0aW1lPl0gWy0tZXhwaXJlLXVucmVhY2hhYmxlPTx0aW1lPl0gWy0tcmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1zdGFsZS1maXhdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gWy0tYWxsXSA8cmVmcz4uLi4iOworTl8oImdpdCByZWZsb2cgZXhwaXJlIFstLWV4cGlyZT08dGltZT5dICIKKyAgICJbLS1leHBpcmUtdW5yZWFjaGFibGU9PHRpbWU+XSAiCisgICAiWy0tcmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1zdGFsZS1maXhdIFstLWRyeS1ydW4gfCAtbl0gIgorICAgIlstLXZlcmJvc2VdIFstLWFsbF0gPHJlZnM+Li4uIik7CiBzdGF0aWMgY29uc3QgY2hhciByZWZsb2dfZGVsZXRlX3VzYWdlW10gPQotImdpdCByZWZsb2cgZGVsZXRlIFstLXJld3JpdGVdIFstLXVwZGF0ZXJlZl0gWy0tZHJ5LXJ1biB8IC1uXSBbLS12ZXJib3NlXSA8cmVmcz4uLi4iOworTl8oImdpdCByZWZsb2cgZGVsZXRlIFstLXJld3JpdGVdIFstLXVwZGF0ZXJlZl0gIgorICAgIlstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gPHJlZnM+Li4uIik7CiBzdGF0aWMgY29uc3QgY2hhciByZWZsb2dfZXhpc3RzX3VzYWdlW10gPQotImdpdCByZWZsb2cgZXhpc3RzIDxyZWY+IjsKK05fKCJnaXQgcmVmbG9nIGV4aXN0cyA8cmVmPiIpOwogCiBzdGF0aWMgdGltZXN0YW1wX3QgZGVmYXVsdF9yZWZsb2dfZXhwaXJlOwogc3RhdGljIHRpbWVzdGFtcF90IGRlZmF1bHRfcmVmbG9nX2V4cGlyZV91bnJlYWNoYWJsZTsKQEAgLTkwLDggKzk0LDggQEAKIAlpbml0X3RyZWVfZGVzYygmZGVzYywgdHJlZS0+YnVmZmVyLCB0cmVlLT5zaXplKTsKIAljb21wbGV0ZSA9IDE7CiAJd2hpbGUgKHRyZWVfZW50cnkoJmRlc2MsICZlbnRyeSkpIHsKLQkJaWYgKCFoYXNfc2hhMV9maWxlKGVudHJ5Lm9pZC0+aGFzaCkgfHwKLQkJICAgIChTX0lTRElSKGVudHJ5Lm1vZGUpICYmICF0cmVlX2lzX2NvbXBsZXRlKGVudHJ5Lm9pZCkpKSB7CisJCWlmICghaGFzX29iamVjdF9maWxlKCZlbnRyeS5vaWQpIHx8CisJCSAgICAoU19JU0RJUihlbnRyeS5tb2RlKSAmJiAhdHJlZV9pc19jb21wbGV0ZSgmZW50cnkub2lkKSkpIHsKIAkJCXRyZWUtPm9iamVjdC5mbGFncyB8PSBJTkNPTVBMRVRFOwogCQkJY29tcGxldGUgPSAwOwogCQl9CkBAIC01NTYsMTUgKzU2MCwxNiBAQAogCiAJZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKykgewogCQljb25zdCBjaGFyICphcmcgPSBhcmd2W2ldOworCiAJCWlmICghc3RyY21wKGFyZywgIi0tZHJ5LXJ1biIpIHx8ICFzdHJjbXAoYXJnLCAiLW4iKSkKIAkJCWZsYWdzIHw9IEVYUElSRV9SRUZMT0dTX0RSWV9SVU47Ci0JCWVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi0tZXhwaXJlPSIpKSB7Ci0JCQlpZiAocGFyc2VfZXhwaXJ5X2RhdGUoYXJnICsgOSwgJmNiLmNtZC5leHBpcmVfdG90YWwpKQorCQllbHNlIGlmIChza2lwX3ByZWZpeChhcmcsICItLWV4cGlyZT0iLCAmYXJnKSkgeworCQkJaWYgKHBhcnNlX2V4cGlyeV9kYXRlKGFyZywgJmNiLmNtZC5leHBpcmVfdG90YWwpKQogCQkJCWRpZShfKCInJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIpLCBhcmcpOwogCQkJZXhwbGljaXRfZXhwaXJ5IHw9IEVYUElSRV9UT1RBTDsKIAkJfQotCQllbHNlIGlmIChzdGFydHNfd2l0aChhcmcsICItLWV4cGlyZS11bnJlYWNoYWJsZT0iKSkgewotCQkJaWYgKHBhcnNlX2V4cGlyeV9kYXRlKGFyZyArIDIxLCAmY2IuY21kLmV4cGlyZV91bnJlYWNoYWJsZSkpCisJCWVsc2UgaWYgKHNraXBfcHJlZml4KGFyZywgIi0tZXhwaXJlLXVucmVhY2hhYmxlPSIsICZhcmcpKSB7CisJCQlpZiAocGFyc2VfZXhwaXJ5X2RhdGUoYXJnLCAmY2IuY21kLmV4cGlyZV91bnJlYWNoYWJsZSkpCiAJCQkJZGllKF8oIiclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIiksIGFyZyk7CiAJCQlleHBsaWNpdF9leHBpcnkgfD0gRVhQSVJFX1VOUkVBQ0g7CiAJCX0KQEAgLTU4NSw3ICs1OTAsNyBAQAogCQkJYnJlYWs7CiAJCX0KIAkJZWxzZSBpZiAoYXJnWzBdID09ICctJykKLQkJCXVzYWdlKHJlZmxvZ19leHBpcmVfdXNhZ2UpOworCQkJdXNhZ2UoXyhyZWZsb2dfZXhwaXJlX3VzYWdlKSk7CiAJCWVsc2UKIAkJCWJyZWFrOwogCX0KQEAgLTU5OCw3ICs2MDMsNyBAQAogCWlmIChjYi5jbWQuc3RhbGVmaXgpIHsKIAkJcmVwb19pbml0X3JldmlzaW9ucyh0aGVfcmVwb3NpdG9yeSwgJmNiLmNtZC5yZXZzLCBwcmVmaXgpOwogCQlpZiAoZmxhZ3MgJiBFWFBJUkVfUkVGTE9HU19WRVJCT1NFKQotCQkJcHJpbnRmKCJNYXJraW5nIHJlYWNoYWJsZSBvYmplY3RzLi4uIik7CisJCQlwcmludGYoXygiTWFya2luZyByZWFjaGFibGUgb2JqZWN0cy4uLiIpKTsKIAkJbWFya19yZWFjaGFibGVfb2JqZWN0cygmY2IuY21kLnJldnMsIDAsIDAsIE5VTEwpOwogCQlpZiAoZmxhZ3MgJiBFWFBJUkVfUkVGTE9HU19WRVJCT1NFKQogCQkJcHV0Y2hhcignXG4nKTsKQEAgLTYzNiw3ICs2NDEsNyBAQAogCQljaGFyICpyZWY7CiAJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQlpZiAoIWR3aW1fbG9nKGFyZ3ZbaV0sIHN0cmxlbihhcmd2W2ldKSwgJm9pZCwgJnJlZikpIHsKLQkJCXN0YXR1cyB8PSBlcnJvcigiJXMgcG9pbnRzIG5vd2hlcmUhIiwgYXJndltpXSk7CisJCQlzdGF0dXMgfD0gZXJyb3IoXygiJXMgcG9pbnRzIG5vd2hlcmUhIiksIGFyZ3ZbaV0pOwogCQkJY29udGludWU7CiAJCX0KIAkJc2V0X3JlZmxvZ19leHBpcnlfcGFyYW0oJmNiLmNtZCwgZXhwbGljaXRfZXhwaXJ5LCByZWYpOwpAQCAtNjgyLDEzICs2ODcsMTMgQEAKIAkJCWJyZWFrOwogCQl9CiAJCWVsc2UgaWYgKGFyZ1swXSA9PSAnLScpCi0JCQl1c2FnZShyZWZsb2dfZGVsZXRlX3VzYWdlKTsKKwkJCXVzYWdlKF8ocmVmbG9nX2RlbGV0ZV91c2FnZSkpOwogCQllbHNlCiAJCQlicmVhazsKIAl9CiAKIAlpZiAoYXJnYyAtIGkgPCAxKQotCQlyZXR1cm4gZXJyb3IoIk5vdGhpbmcgdG8gZGVsZXRlPyIpOworCQlyZXR1cm4gZXJyb3IoXygibm8gcmVmbG9nIHNwZWNpZmllZCB0byBkZWxldGUiKSk7CiAKIAlmb3IgKCA7IGkgPCBhcmdjOyBpKyspIHsKIAkJY29uc3QgY2hhciAqc3BlYyA9IHN0cnN0cihhcmd2W2ldLCAiQHsiKTsKQEAgLTY5NywxMiArNzAyLDEyIEBACiAJCWludCByZWNubzsKIAogCQlpZiAoIXNwZWMpIHsKLQkJCXN0YXR1cyB8PSBlcnJvcigiTm90IGEgcmVmbG9nOiAlcyIsIGFyZ3ZbaV0pOworCQkJc3RhdHVzIHw9IGVycm9yKF8oIm5vdCBhIHJlZmxvZzogJXMiKSwgYXJndltpXSk7CiAJCQljb250aW51ZTsKIAkJfQogCiAJCWlmICghZHdpbV9sb2coYXJndltpXSwgc3BlYyAtIGFyZ3ZbaV0sICZvaWQsICZyZWYpKSB7Ci0JCQlzdGF0dXMgfD0gZXJyb3IoIm5vIHJlZmxvZyBmb3IgJyVzJyIsIGFyZ3ZbaV0pOworCQkJc3RhdHVzIHw9IGVycm9yKF8oIm5vIHJlZmxvZyBmb3IgJyVzJyIpLCBhcmd2W2ldKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKQEAgLTczNyw3ICs3NDIsNyBAQAogCQkJYnJlYWs7CiAJCX0KIAkJZWxzZSBpZiAoYXJnWzBdID09ICctJykKLQkJCXVzYWdlKHJlZmxvZ19leGlzdHNfdXNhZ2UpOworCQkJdXNhZ2UoXyhyZWZsb2dfZXhpc3RzX3VzYWdlKSk7CiAJCWVsc2UKIAkJCWJyZWFrOwogCX0KQEAgLTc0NSwxMCArNzUwLDEwIEBACiAJc3RhcnQgPSBpOwogCiAJaWYgKGFyZ2MgLSBzdGFydCAhPSAxKQotCQl1c2FnZShyZWZsb2dfZXhpc3RzX3VzYWdlKTsKKwkJdXNhZ2UoXyhyZWZsb2dfZXhpc3RzX3VzYWdlKSk7CiAKIAlpZiAoY2hlY2tfcmVmbmFtZV9mb3JtYXQoYXJndltzdGFydF0sIFJFRk5BTUVfQUxMT1dfT05FTEVWRUwpKQotCQlkaWUoImludmFsaWQgcmVmIGZvcm1hdDogJXMiLCBhcmd2W3N0YXJ0XSk7CisJCWRpZShfKCJpbnZhbGlkIHJlZiBmb3JtYXQ6ICVzIiksIGFyZ3Zbc3RhcnRdKTsKIAlyZXR1cm4gIXJlZmxvZ19leGlzdHMoYXJndltzdGFydF0pOwogfQogCkBAIC03NTcsMTIgKzc2MiwxMiBAQAogICovCiAKIHN0YXRpYyBjb25zdCBjaGFyIHJlZmxvZ191c2FnZVtdID0KLSJnaXQgcmVmbG9nIFsgc2hvdyB8IGV4cGlyZSB8IGRlbGV0ZSB8IGV4aXN0cyBdIjsKK05fKCJnaXQgcmVmbG9nIFsgc2hvdyB8IGV4cGlyZSB8IGRlbGV0ZSB8IGV4aXN0cyBdIik7CiAKIGludCBjbWRfcmVmbG9nKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCWlmIChhcmdjID4gMSAmJiAhc3RyY21wKGFyZ3ZbMV0sICItaCIpKQotCQl1c2FnZShyZWZsb2dfdXNhZ2UpOworCQl1c2FnZShfKHJlZmxvZ191c2FnZSkpOwogCiAJLyogV2l0aCBubyBjb21tYW5kLCB3ZSBkZWZhdWx0IHRvIHNob3dpbmcgaXQuICovCiAJaWYgKGFyZ2MgPCAyIHx8ICphcmd2WzFdID09ICctJykKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVtb3RlLmMgYi9idWlsdGluL3JlbW90ZS5jCmluZGV4IGY3ZWRmN2YuLjU1NWQ0YzggMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmVtb3RlLmMKKysrIGIvYnVpbHRpbi9yZW1vdGUuYwpAQCAtNiw2ICs2LDcgQEAKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgogI2luY2x1ZGUgInN0cmJ1Zi5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCisjaW5jbHVkZSAicmViYXNlLmgiCiAjaW5jbHVkZSAicmVmcy5oIgogI2luY2x1ZGUgInJlZnNwZWMuaCIKICNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKQEAgLTI0OCw5ICsyNDksOCBAQAogc3RydWN0IGJyYW5jaF9pbmZvIHsKIAljaGFyICpyZW1vdGVfbmFtZTsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgbWVyZ2U7Ci0JZW51bSB7Ci0JCU5PX1JFQkFTRSwgTk9STUFMX1JFQkFTRSwgSU5URVJBQ1RJVkVfUkVCQVNFLCBSRUJBU0VfTUVSR0VTCi0JfSByZWJhc2U7CisJZW51bSByZWJhc2VfdHlwZSByZWJhc2U7CisJY2hhciAqcHVzaF9yZW1vdGVfbmFtZTsKIH07CiAKIHN0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgYnJhbmNoX2xpc3QgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwpAQCAtMjY0LDU5ICsyNjQsNjkgQEAKIAogc3RhdGljIGludCBjb25maWdfcmVhZF9icmFuY2hlcyhjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpjYikKIHsKLQlpZiAoc3RhcnRzX3dpdGgoa2V5LCAiYnJhbmNoLiIpKSB7Ci0JCWNvbnN0IGNoYXIgKm9yaWdfa2V5ID0ga2V5OwotCQljaGFyICpuYW1lOwotCQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKLQkJc3RydWN0IGJyYW5jaF9pbmZvICppbmZvOwotCQllbnVtIHsgUkVNT1RFLCBNRVJHRSwgUkVCQVNFIH0gdHlwZTsKLQkJc2l6ZV90IGtleV9sZW47CisJY29uc3QgY2hhciAqb3JpZ19rZXkgPSBrZXk7CisJY2hhciAqbmFtZTsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKKwlzdHJ1Y3QgYnJhbmNoX2luZm8gKmluZm87CisJZW51bSB7IFJFTU9URSwgTUVSR0UsIFJFQkFTRSwgUFVTSF9SRU1PVEUgfSB0eXBlOworCXNpemVfdCBrZXlfbGVuOwogCi0JCWtleSArPSA3OwotCQlpZiAoc3RyaXBfc3VmZml4KGtleSwgIi5yZW1vdGUiLCAma2V5X2xlbikpIHsKLQkJCW5hbWUgPSB4bWVtZHVweihrZXksIGtleV9sZW4pOwotCQkJdHlwZSA9IFJFTU9URTsKLQkJfSBlbHNlIGlmIChzdHJpcF9zdWZmaXgoa2V5LCAiLm1lcmdlIiwgJmtleV9sZW4pKSB7Ci0JCQluYW1lID0geG1lbWR1cHooa2V5LCBrZXlfbGVuKTsKLQkJCXR5cGUgPSBNRVJHRTsKLQkJfSBlbHNlIGlmIChzdHJpcF9zdWZmaXgoa2V5LCAiLnJlYmFzZSIsICZrZXlfbGVuKSkgewotCQkJbmFtZSA9IHhtZW1kdXB6KGtleSwga2V5X2xlbik7Ci0JCQl0eXBlID0gUkVCQVNFOwotCQl9IGVsc2UKLQkJCXJldHVybiAwOworCWlmICghc3RhcnRzX3dpdGgoa2V5LCAiYnJhbmNoLiIpKQorCQlyZXR1cm4gMDsKIAotCQlpdGVtID0gc3RyaW5nX2xpc3RfaW5zZXJ0KCZicmFuY2hfbGlzdCwgbmFtZSk7CisJa2V5ICs9IHN0cmxlbigiYnJhbmNoLiIpOworCWlmIChzdHJpcF9zdWZmaXgoa2V5LCAiLnJlbW90ZSIsICZrZXlfbGVuKSkKKwkJdHlwZSA9IFJFTU9URTsKKwllbHNlIGlmIChzdHJpcF9zdWZmaXgoa2V5LCAiLm1lcmdlIiwgJmtleV9sZW4pKQorCQl0eXBlID0gTUVSR0U7CisJZWxzZSBpZiAoc3RyaXBfc3VmZml4KGtleSwgIi5yZWJhc2UiLCAma2V5X2xlbikpCisJCXR5cGUgPSBSRUJBU0U7CisJZWxzZSBpZiAoc3RyaXBfc3VmZml4KGtleSwgIi5wdXNocmVtb3RlIiwgJmtleV9sZW4pKQorCQl0eXBlID0gUFVTSF9SRU1PVEU7CisJZWxzZQorCQlyZXR1cm4gMDsKKwluYW1lID0geG1lbWR1cHooa2V5LCBrZXlfbGVuKTsKIAotCQlpZiAoIWl0ZW0tPnV0aWwpCi0JCQlpdGVtLT51dGlsID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGJyYW5jaF9pbmZvKSk7Ci0JCWluZm8gPSBpdGVtLT51dGlsOwotCQlpZiAodHlwZSA9PSBSRU1PVEUpIHsKLQkJCWlmIChpbmZvLT5yZW1vdGVfbmFtZSkKLQkJCQl3YXJuaW5nKF8oIm1vcmUgdGhhbiBvbmUgJXMiKSwgb3JpZ19rZXkpOwotCQkJaW5mby0+cmVtb3RlX25hbWUgPSB4c3RyZHVwKHZhbHVlKTsKLQkJfSBlbHNlIGlmICh0eXBlID09IE1FUkdFKSB7Ci0JCQljaGFyICpzcGFjZSA9IHN0cmNocih2YWx1ZSwgJyAnKTsKLQkJCXZhbHVlID0gYWJicmV2X2JyYW5jaCh2YWx1ZSk7Ci0JCQl3aGlsZSAoc3BhY2UpIHsKLQkJCQljaGFyICptZXJnZTsKLQkJCQltZXJnZSA9IHhzdHJuZHVwKHZhbHVlLCBzcGFjZSAtIHZhbHVlKTsKLQkJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmluZm8tPm1lcmdlLCBtZXJnZSk7Ci0JCQkJdmFsdWUgPSBhYmJyZXZfYnJhbmNoKHNwYWNlICsgMSk7Ci0JCQkJc3BhY2UgPSBzdHJjaHIodmFsdWUsICcgJyk7Ci0JCQl9Ci0JCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmluZm8tPm1lcmdlLCB4c3RyZHVwKHZhbHVlKSk7Ci0JCX0gZWxzZSB7Ci0JCQlpbnQgdiA9IGdpdF9wYXJzZV9tYXliZV9ib29sKHZhbHVlKTsKLQkJCWlmICh2ID49IDApCi0JCQkJaW5mby0+cmViYXNlID0gdjsKLQkJCWVsc2UgaWYgKCFzdHJjbXAodmFsdWUsICJwcmVzZXJ2ZSIpKQotCQkJCWluZm8tPnJlYmFzZSA9IE5PUk1BTF9SRUJBU0U7Ci0JCQllbHNlIGlmICghc3RyY21wKHZhbHVlLCAibWVyZ2VzIikpCi0JCQkJaW5mby0+cmViYXNlID0gUkVCQVNFX01FUkdFUzsKLQkJCWVsc2UgaWYgKCFzdHJjbXAodmFsdWUsICJpbnRlcmFjdGl2ZSIpKQotCQkJCWluZm8tPnJlYmFzZSA9IElOVEVSQUNUSVZFX1JFQkFTRTsKKwlpdGVtID0gc3RyaW5nX2xpc3RfaW5zZXJ0KCZicmFuY2hfbGlzdCwgbmFtZSk7CisKKwlpZiAoIWl0ZW0tPnV0aWwpCisJCWl0ZW0tPnV0aWwgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgYnJhbmNoX2luZm8pKTsKKwlpbmZvID0gaXRlbS0+dXRpbDsKKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIFJFTU9URToKKwkJaWYgKGluZm8tPnJlbW90ZV9uYW1lKQorCQkJd2FybmluZyhfKCJtb3JlIHRoYW4gb25lICVzIiksIG9yaWdfa2V5KTsKKwkJaW5mby0+cmVtb3RlX25hbWUgPSB4c3RyZHVwKHZhbHVlKTsKKwkJYnJlYWs7CisJY2FzZSBNRVJHRTogeworCQljaGFyICpzcGFjZSA9IHN0cmNocih2YWx1ZSwgJyAnKTsKKwkJdmFsdWUgPSBhYmJyZXZfYnJhbmNoKHZhbHVlKTsKKwkJd2hpbGUgKHNwYWNlKSB7CisJCQljaGFyICptZXJnZTsKKwkJCW1lcmdlID0geHN0cm5kdXAodmFsdWUsIHNwYWNlIC0gdmFsdWUpOworCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZpbmZvLT5tZXJnZSwgbWVyZ2UpOworCQkJdmFsdWUgPSBhYmJyZXZfYnJhbmNoKHNwYWNlICsgMSk7CisJCQlzcGFjZSA9IHN0cmNocih2YWx1ZSwgJyAnKTsKIAkJfQorCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmluZm8tPm1lcmdlLCB4c3RyZHVwKHZhbHVlKSk7CisJCWJyZWFrOwogCX0KKwljYXNlIFJFQkFTRToKKwkJLyoKKwkJICogQ29uc2lkZXIgaW52YWxpZCB2YWx1ZXMgYXMgZmFsc2UgYW5kIGNoZWNrIHRoZQorCQkgKiB0cnV0aCB2YWx1ZSB3aXRoID49IFJFQkFTRV9UUlVFLgorCQkgKi8KKwkJaW5mby0+cmViYXNlID0gcmViYXNlX3BhcnNlX3ZhbHVlKHZhbHVlKTsKKwkJYnJlYWs7CisJY2FzZSBQVVNIX1JFTU9URToKKwkJaWYgKGluZm8tPnB1c2hfcmVtb3RlX25hbWUpCisJCQl3YXJuaW5nKF8oIm1vcmUgdGhhbiBvbmUgJXMiKSwgb3JpZ19rZXkpOworCQlpbmZvLT5wdXNoX3JlbW90ZV9uYW1lID0geHN0cmR1cCh2YWx1ZSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCUJVRygidW5leHBlY3RlZCB0eXBlPSVkIiwgdHlwZSk7CisJfQorCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTYwNSw2ICs2MTUsNTYgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RydWN0IHB1c2hfZGVmYXVsdF9pbmZvCit7CisJY29uc3QgY2hhciAqb2xkX25hbWU7CisJZW51bSBjb25maWdfc2NvcGUgc2NvcGU7CisJc3RydWN0IHN0cmJ1ZiBvcmlnaW47CisJaW50IGxpbmVucjsKK307CisKK3N0YXRpYyBpbnQgY29uZmlnX3JlYWRfcHVzaF9kZWZhdWx0KGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqdmFsdWUsCisJdm9pZCAqY2IpCit7CisJc3RydWN0IHB1c2hfZGVmYXVsdF9pbmZvKiBpbmZvID0gY2I7CisJaWYgKHN0cmNtcChrZXksICJyZW1vdGUucHVzaGRlZmF1bHQiKSB8fAorCSAgICAhdmFsdWUgfHwgc3RyY21wKHZhbHVlLCBpbmZvLT5vbGRfbmFtZSkpCisJCXJldHVybiAwOworCisJaW5mby0+c2NvcGUgPSBjdXJyZW50X2NvbmZpZ19zY29wZSgpOworCXN0cmJ1Zl9yZXNldCgmaW5mby0+b3JpZ2luKTsKKwlzdHJidWZfYWRkc3RyKCZpbmZvLT5vcmlnaW4sIGN1cnJlbnRfY29uZmlnX25hbWUoKSk7CisJaW5mby0+bGluZW5yID0gY3VycmVudF9jb25maWdfbGluZSgpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGhhbmRsZV9wdXNoX2RlZmF1bHQoY29uc3QgY2hhciogb2xkX25hbWUsIGNvbnN0IGNoYXIqIG5ld19uYW1lKQoreworCXN0cnVjdCBwdXNoX2RlZmF1bHRfaW5mbyBwdXNoX2RlZmF1bHQgPSB7CisJCW9sZF9uYW1lLCBDT05GSUdfU0NPUEVfVU5LTk9XTiwgU1RSQlVGX0lOSVQsIC0xIH07CisJZ2l0X2NvbmZpZyhjb25maWdfcmVhZF9wdXNoX2RlZmF1bHQsICZwdXNoX2RlZmF1bHQpOworCWlmIChwdXNoX2RlZmF1bHQuc2NvcGUgPj0gQ09ORklHX1NDT1BFX0NPTU1BTkQpCisJCTsgLyogcGFzcyAqLworCWVsc2UgaWYgKHB1c2hfZGVmYXVsdC5zY29wZSA+PSBDT05GSUdfU0NPUEVfTE9DQUwpIHsKKwkJaW50IHJlc3VsdCA9IGdpdF9jb25maWdfc2V0X2dlbnRseSgicmVtb3RlLnB1c2hEZWZhdWx0IiwKKwkJCQkJCSAgIG5ld19uYW1lKTsKKwkJaWYgKG5ld19uYW1lICYmIHJlc3VsdCAmJiByZXN1bHQgIT0gQ09ORklHX05PVEhJTkdfU0VUKQorCQkJZGllKF8oImNvdWxkIG5vdCBzZXQgJyVzJyIpLCAicmVtb3RlLnB1c2hEZWZhdWx0Iik7CisJCWVsc2UgaWYgKCFuZXdfbmFtZSAmJiByZXN1bHQgJiYgcmVzdWx0ICE9IENPTkZJR19OT1RISU5HX1NFVCkKKwkJCWRpZShfKCJjb3VsZCBub3QgdW5zZXQgJyVzJyIpLCAicmVtb3RlLnB1c2hEZWZhdWx0Iik7CisJfSBlbHNlIGlmIChwdXNoX2RlZmF1bHQuc2NvcGUgPj0gQ09ORklHX1NDT1BFX1NZU1RFTSkgeworCQkvKiB3YXJuICovCisJCXdhcm5pbmcoXygiVGhlICVzIGNvbmZpZ3VyYXRpb24gcmVtb3RlLnB1c2hEZWZhdWx0IGluOlxuIgorCQkJICAiXHQlczolZFxuIgorCQkJICAibm93IG5hbWVzIHRoZSBub24tZXhpc3RlbnQgcmVtb3RlICclcyciKSwKKwkJCWNvbmZpZ19zY29wZV9uYW1lKHB1c2hfZGVmYXVsdC5zY29wZSksCisJCQlwdXNoX2RlZmF1bHQub3JpZ2luLmJ1ZiwgcHVzaF9kZWZhdWx0LmxpbmVuciwKKwkJCW9sZF9uYW1lKTsKKwl9Cit9CisKKwogc3RhdGljIGludCBtdihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCiB7CiAJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CkBAIC02ODAsNiArNzQwLDExIEBACiAJCQlzdHJidWZfYWRkZigmYnVmLCAiYnJhbmNoLiVzLnJlbW90ZSIsIGl0ZW0tPnN0cmluZyk7CiAJCQlnaXRfY29uZmlnX3NldChidWYuYnVmLCByZW5hbWUubmV3X25hbWUpOwogCQl9CisJCWlmIChpbmZvLT5wdXNoX3JlbW90ZV9uYW1lICYmICFzdHJjbXAoaW5mby0+cHVzaF9yZW1vdGVfbmFtZSwgcmVuYW1lLm9sZF9uYW1lKSkgeworCQkJc3RyYnVmX3Jlc2V0KCZidWYpOworCQkJc3RyYnVmX2FkZGYoJmJ1ZiwgImJyYW5jaC4lcy5wdXNocmVtb3RlIiwgaXRlbS0+c3RyaW5nKTsKKwkJCWdpdF9jb25maWdfc2V0KGJ1Zi5idWYsIHJlbmFtZS5uZXdfbmFtZSk7CisJCX0KIAl9CiAKIAlpZiAoIXJlZnNwZWNfdXBkYXRlZCkKQEAgLTY5Myw5ICs3NTgsOCBAQAogCWZvciAoaSA9IDA7IGkgPCByZW1vdGVfYnJhbmNoZXMubnI7IGkrKykgewogCQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbSA9IHJlbW90ZV9icmFuY2hlcy5pdGVtcyArIGk7CiAJCWludCBmbGFnID0gMDsKLQkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAKLQkJcmVhZF9yZWZfZnVsbChpdGVtLT5zdHJpbmcsIFJFU09MVkVfUkVGX1JFQURJTkcsICZvaWQsICZmbGFnKTsKKwkJcmVhZF9yZWZfZnVsbChpdGVtLT5zdHJpbmcsIFJFU09MVkVfUkVGX1JFQURJTkcsIE5VTEwsICZmbGFnKTsKIAkJaWYgKCEoZmxhZyAmIFJFRl9JU1NZTVJFRikpCiAJCQljb250aW51ZTsKIAkJaWYgKGRlbGV0ZV9yZWYoTlVMTCwgaXRlbS0+c3RyaW5nLCBOVUxMLCBSRUZfTk9fREVSRUYpKQpAQCAtNzM2LDYgKzgwMCw5IEBACiAJCQlkaWUoXygiY3JlYXRpbmcgJyVzJyBmYWlsZWQiKSwgYnVmLmJ1Zik7CiAJfQogCXN0cmluZ19saXN0X2NsZWFyKCZyZW1vdGVfYnJhbmNoZXMsIDEpOworCisJaGFuZGxlX3B1c2hfZGVmYXVsdChyZW5hbWUub2xkX25hbWUsIHJlbmFtZS5uZXdfbmFtZSk7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtNzgyLDYgKzg0OSwxMyBAQAogCQkJCQlkaWUoXygiY291bGQgbm90IHVuc2V0ICclcyciKSwgYnVmLmJ1Zik7CiAJCQl9CiAJCX0KKwkJaWYgKGluZm8tPnB1c2hfcmVtb3RlX25hbWUgJiYgIXN0cmNtcChpbmZvLT5wdXNoX3JlbW90ZV9uYW1lLCByZW1vdGUtPm5hbWUpKSB7CisJCQlzdHJidWZfcmVzZXQoJmJ1Zik7CisJCQlzdHJidWZfYWRkZigmYnVmLCAiYnJhbmNoLiVzLnB1c2hyZW1vdGUiLCBpdGVtLT5zdHJpbmcpOworCQkJcmVzdWx0ID0gZ2l0X2NvbmZpZ19zZXRfZ2VudGx5KGJ1Zi5idWYsIE5VTEwpOworCQkJaWYgKHJlc3VsdCAmJiByZXN1bHQgIT0gQ09ORklHX05PVEhJTkdfU0VUKQorCQkJCWRpZShfKCJjb3VsZCBub3QgdW5zZXQgJyVzJyIpLCBidWYuYnVmKTsKKwkJfQogCX0KIAogCS8qCkBAIC04MTQsNiArODg4LDggQEAKIAkJc3RyYnVmX2FkZGYoJmJ1ZiwgInJlbW90ZS4lcyIsIHJlbW90ZS0+bmFtZSk7CiAJCWlmIChnaXRfY29uZmlnX3JlbmFtZV9zZWN0aW9uKGJ1Zi5idWYsIE5VTEwpIDwgMSkKIAkJCXJldHVybiBlcnJvcihfKCJDb3VsZCBub3QgcmVtb3ZlIGNvbmZpZyBzZWN0aW9uICclcyciKSwgYnVmLmJ1Zik7CisKKwkJaGFuZGxlX3B1c2hfZGVmYXVsdChyZW1vdGUtPm5hbWUsIE5VTEwpOwogCX0KIAogCXJldHVybiByZXN1bHQ7CkBAIC05NDQsNyArMTAyMCw3IEBACiAJCXJldHVybiAwOwogCWlmICgobiA9IHN0cmxlbihicmFuY2hfaXRlbS0+c3RyaW5nKSkgPiBzaG93X2luZm8tPndpZHRoKQogCQlzaG93X2luZm8tPndpZHRoID0gbjsKLQlpZiAoYnJhbmNoX2luZm8tPnJlYmFzZSkKKwlpZiAoYnJhbmNoX2luZm8tPnJlYmFzZSA+PSBSRUJBU0VfVFJVRSkKIAkJc2hvd19pbmZvLT5hbnlfcmViYXNlID0gMTsKIAogCWl0ZW0gPSBzdHJpbmdfbGlzdF9pbnNlcnQoc2hvd19pbmZvLT5saXN0LCBicmFuY2hfaXRlbS0+c3RyaW5nKTsKQEAgLTk2MSwxNiArMTAzNywxNiBAQAogCWludCB3aWR0aCA9IHNob3dfaW5mby0+d2lkdGggKyA0OwogCWludCBpOwogCi0JaWYgKGJyYW5jaF9pbmZvLT5yZWJhc2UgJiYgYnJhbmNoX2luZm8tPm1lcmdlLm5yID4gMSkgeworCWlmIChicmFuY2hfaW5mby0+cmViYXNlID49IFJFQkFTRV9UUlVFICYmIGJyYW5jaF9pbmZvLT5tZXJnZS5uciA+IDEpIHsKIAkJZXJyb3IoXygiaW52YWxpZCBicmFuY2guJXMubWVyZ2U7IGNhbm5vdCByZWJhc2Ugb250byA+IDEgYnJhbmNoIiksCiAJCQlpdGVtLT5zdHJpbmcpOwogCQlyZXR1cm4gMDsKIAl9CiAKIAlwcmludGYoIiAgICAlLSpzICIsIHNob3dfaW5mby0+d2lkdGgsIGl0ZW0tPnN0cmluZyk7Ci0JaWYgKGJyYW5jaF9pbmZvLT5yZWJhc2UpIHsKKwlpZiAoYnJhbmNoX2luZm8tPnJlYmFzZSA+PSBSRUJBU0VfVFJVRSkgewogCQljb25zdCBjaGFyICptc2c7Ci0JCWlmIChicmFuY2hfaW5mby0+cmViYXNlID09IElOVEVSQUNUSVZFX1JFQkFTRSkKKwkJaWYgKGJyYW5jaF9pbmZvLT5yZWJhc2UgPT0gUkVCQVNFX0lOVEVSQUNUSVZFKQogCQkJbXNnID0gXygicmViYXNlcyBpbnRlcmFjdGl2ZWx5IG9udG8gcmVtb3RlICVzIik7CiAJCWVsc2UgaWYgKGJyYW5jaF9pbmZvLT5yZWJhc2UgPT0gUkVCQVNFX01FUkdFUykKIAkJCW1zZyA9IF8oInJlYmFzZXMgaW50ZXJhY3RpdmVseSAod2l0aCBtZXJnZXMpIG9udG8gIgpAQCAtMTQwNyw3ICsxNDgzLDcgQEAKIAlyZXR1cm4gcmV0dmFsOwogfQogCi1zdGF0aWMgaW50IHJlbW92ZV9hbGxfZmV0Y2hfcmVmc3BlY3MoY29uc3QgY2hhciAqcmVtb3RlLCBjb25zdCBjaGFyICprZXkpCitzdGF0aWMgaW50IHJlbW92ZV9hbGxfZmV0Y2hfcmVmc3BlY3MoY29uc3QgY2hhciAqa2V5KQogewogCXJldHVybiBnaXRfY29uZmlnX3NldF9tdWx0aXZhcl9nZW50bHkoa2V5LCBOVUxMLCBOVUxMLCAxKTsKIH0KQEAgLTE0MzcsNyArMTUxMyw3IEBACiAJaWYgKCFyZW1vdGVfaXNfY29uZmlndXJlZChyZW1vdGUsIDEpKQogCQlkaWUoXygiTm8gc3VjaCByZW1vdGUgJyVzJyIpLCByZW1vdGVuYW1lKTsKIAotCWlmICghYWRkX21vZGUgJiYgcmVtb3ZlX2FsbF9mZXRjaF9yZWZzcGVjcyhyZW1vdGVuYW1lLCBrZXkuYnVmKSkgeworCWlmICghYWRkX21vZGUgJiYgcmVtb3ZlX2FsbF9mZXRjaF9yZWZzcGVjcyhrZXkuYnVmKSkgewogCQlzdHJidWZfcmVsZWFzZSgma2V5KTsKIAkJcmV0dXJuIDE7CiAJfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yZXBhY2suYyBiL2J1aWx0aW4vcmVwYWNrLmMKaW5kZXggNDU1ODM2OC4uMDc4MTc2MyAxMDA2NDQKLS0tIGEvYnVpbHRpbi9yZXBhY2suYworKysgYi9idWlsdGluL3JlcGFjay5jCkBAIC0xMSwxMCArMTEsMTEgQEAKICNpbmNsdWRlICJtaWR4LmgiCiAjaW5jbHVkZSAicGFja2ZpbGUuaCIKICNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKKyNpbmNsdWRlICJwcm9taXNvci1yZW1vdGUuaCIKIAogc3RhdGljIGludCBkZWx0YV9iYXNlX29mZnNldCA9IDE7CiBzdGF0aWMgaW50IHBhY2tfa2VwdF9vYmplY3RzID0gLTE7Ci1zdGF0aWMgaW50IHdyaXRlX2JpdG1hcHM7CitzdGF0aWMgaW50IHdyaXRlX2JpdG1hcHMgPSAtMTsKIHN0YXRpYyBpbnQgdXNlX2RlbHRhX2lzbGFuZHM7CiBzdGF0aWMgY2hhciAqcGFja2RpciwgKnBhY2t0bXA7CiAKQEAgLTEyOSwxOSArMTMwLDkgQEAKIAogc3RhdGljIHZvaWQgcmVtb3ZlX3JlZHVuZGFudF9wYWNrKGNvbnN0IGNoYXIgKmRpcl9uYW1lLCBjb25zdCBjaGFyICpiYXNlX25hbWUpCiB7Ci0JY29uc3QgY2hhciAqZXh0c1tdID0geyIucGFjayIsICIuaWR4IiwgIi5rZWVwIiwgIi5iaXRtYXAiLCAiLnByb21pc29yIn07Ci0JaW50IGk7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQlzaXplX3QgcGxlbjsKLQotCXN0cmJ1Zl9hZGRmKCZidWYsICIlcy8lcyIsIGRpcl9uYW1lLCBiYXNlX25hbWUpOwotCXBsZW4gPSBidWYubGVuOwotCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoZXh0cyk7IGkrKykgewotCQlzdHJidWZfc2V0bGVuKCZidWYsIHBsZW4pOwotCQlzdHJidWZfYWRkc3RyKCZidWYsIGV4dHNbaV0pOwotCQl1bmxpbmsoYnVmLmJ1Zik7Ci0JfQorCXN0cmJ1Zl9hZGRmKCZidWYsICIlcy8lcy5wYWNrIiwgZGlyX25hbWUsIGJhc2VfbmFtZSk7CisJdW5saW5rX3BhY2tfcGF0aChidWYuYnVmLCAxKTsKIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIH0KIApAQCAtMTk3LDEwICsxODgsMTAgQEAKIAogCWlmIChjbWQtPmluID09IC0xKSB7CiAJCWlmIChzdGFydF9jb21tYW5kKGNtZCkpCi0JCQlkaWUoIkNvdWxkIG5vdCBzdGFydCBwYWNrLW9iamVjdHMgdG8gcmVwYWNrIHByb21pc29yIG9iamVjdHMiKTsKKwkJCWRpZShfKCJjb3VsZCBub3Qgc3RhcnQgcGFjay1vYmplY3RzIHRvIHJlcGFjayBwcm9taXNvciBvYmplY3RzIikpOwogCX0KIAotCXh3cml0ZShjbWQtPmluLCBvaWRfdG9faGV4KG9pZCksIEdJVF9TSEExX0hFWFNaKTsKKwl4d3JpdGUoY21kLT5pbiwgb2lkX3RvX2hleChvaWQpLCB0aGVfaGFzaF9hbGdvLT5oZXhzeik7CiAJeHdyaXRlKGNtZC0+aW4sICJcbiIsIDEpOwogCXJldHVybiAwOwogfQpAQCAtMjM2LDI0ICsyMjcsMzEgQEAKIAkJY2hhciAqcHJvbWlzb3JfbmFtZTsKIAkJaW50IGZkOwogCQlpZiAobGluZS5sZW4gIT0gdGhlX2hhc2hfYWxnby0+aGV4c3opCi0JCQlkaWUoInJlcGFjazogRXhwZWN0aW5nIGZ1bGwgaGV4IG9iamVjdCBJRCBsaW5lcyBvbmx5IGZyb20gcGFjay1vYmplY3RzLiIpOworCQkJZGllKF8oInJlcGFjazogRXhwZWN0aW5nIGZ1bGwgaGV4IG9iamVjdCBJRCBsaW5lcyBvbmx5IGZyb20gcGFjay1vYmplY3RzLiIpKTsKIAkJc3RyaW5nX2xpc3RfYXBwZW5kKG5hbWVzLCBsaW5lLmJ1Zik7CiAKIAkJLyoKIAkJICogcGFjay1vYmplY3RzIGNyZWF0ZXMgdGhlIC5wYWNrIGFuZCAuaWR4IGZpbGVzLCBidXQgbm90IHRoZQogCQkgKiAucHJvbWlzb3IgZmlsZS4gQ3JlYXRlIHRoZSAucHJvbWlzb3IgZmlsZSwgd2hpY2ggaXMgZW1wdHkuCisJCSAqCisJCSAqIE5FRURTV09SSzogZmV0Y2gtcGFjayBzb21ldGltZXMgZ2VuZXJhdGVzIG5vbi1lbXB0eQorCQkgKiAucHJvbWlzb3IgZmlsZXMgY29udGFpbmluZyB0aGUgcmVmIG5hbWVzIGFuZCBhc3NvY2lhdGVkCisJCSAqIGhhc2hlcyBhdCB0aGUgcG9pbnQgb2YgZ2VuZXJhdGlvbiBvZiB0aGUgY29ycmVzcG9uZGluZworCQkgKiBwYWNrZmlsZSwgYnV0IHRoaXMgd291bGQgbm90IHByZXNlcnZlIHRoZWlyIGNvbnRlbnRzLiBNYXliZQorCQkgKiBjb25jYXRlbmF0ZSB0aGUgY29udGVudHMgb2YgYWxsIC5wcm9taXNvciBmaWxlcyBpbnN0ZWFkIG9mCisJCSAqIGp1c3QgY3JlYXRpbmcgYSBuZXcgZW1wdHkgZmlsZS4KIAkJICovCiAJCXByb21pc29yX25hbWUgPSBta3BhdGhkdXAoIiVzLSVzLnByb21pc29yIiwgcGFja3RtcCwKIAkJCQkJICBsaW5lLmJ1Zik7CiAJCWZkID0gb3Blbihwcm9taXNvcl9uYW1lLCBPX0NSRUFUfE9fRVhDTHxPX1dST05MWSwgMDYwMCk7CiAJCWlmIChmZCA8IDApCi0JCQlkaWVfZXJybm8oInVuYWJsZSB0byBjcmVhdGUgJyVzJyIsIHByb21pc29yX25hbWUpOworCQkJZGllX2Vycm5vKF8oInVuYWJsZSB0byBjcmVhdGUgJyVzJyIpLCBwcm9taXNvcl9uYW1lKTsKIAkJY2xvc2UoZmQpOwogCQlmcmVlKHByb21pc29yX25hbWUpOwogCX0KIAlmY2xvc2Uob3V0KTsKIAlpZiAoZmluaXNoX2NvbW1hbmQoJmNtZCkpCi0JCWRpZSgiQ291bGQgbm90IGZpbmlzaCBwYWNrLW9iamVjdHMgdG8gcmVwYWNrIHByb21pc29yIG9iamVjdHMiKTsKKwkJZGllKF8oImNvdWxkIG5vdCBmaW5pc2ggcGFjay1vYmplY3RzIHRvIHJlcGFjayBwcm9taXNvciBvYmplY3RzIikpOwogfQogCiAjZGVmaW5lIEFMTF9JTlRPX09ORSAxCkBAIC0zNDMsOCArMzQxLDEzIEBACiAJICAgICh1bnBhY2tfdW5yZWFjaGFibGUgfHwgKHBhY2tfZXZlcnl0aGluZyAmIExPT1NFTl9VTlJFQUNIQUJMRSkpKQogCQlkaWUoXygiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIikpOwogCisJaWYgKHdyaXRlX2JpdG1hcHMgPCAwKSB7CisJCWlmICghKHBhY2tfZXZlcnl0aGluZyAmIEFMTF9JTlRPX09ORSkgfHwKKwkJICAgICFpc19iYXJlX3JlcG9zaXRvcnkoKSkKKwkJCXdyaXRlX2JpdG1hcHMgPSAwOworCX0KIAlpZiAocGFja19rZXB0X29iamVjdHMgPCAwKQotCQlwYWNrX2tlcHRfb2JqZWN0cyA9IHdyaXRlX2JpdG1hcHM7CisJCXBhY2tfa2VwdF9vYmplY3RzID0gd3JpdGVfYml0bWFwcyA+IDA7CiAKIAlpZiAod3JpdGVfYml0bWFwcyAmJiAhKHBhY2tfZXZlcnl0aGluZyAmIEFMTF9JTlRPX09ORSkpCiAJCWRpZShfKGluY3JlbWVudGFsX2JpdG1hcF9jb25mbGljdF9lcnJvcikpOwpAQCAtMzY2LDEwICszNjksMTIgQEAKIAlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLCAiLS1hbGwiKTsKIAlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLCAiLS1yZWZsb2ciKTsKIAlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLCAiLS1pbmRleGVkLW9iamVjdHMiKTsKLQlpZiAocmVwb3NpdG9yeV9mb3JtYXRfcGFydGlhbF9jbG9uZSkKKwlpZiAoaGFzX3Byb21pc29yX3JlbW90ZSgpKQogCQlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLCAiLS1leGNsdWRlLXByb21pc29yLW9iamVjdHMiKTsKLQlpZiAod3JpdGVfYml0bWFwcykKKwlpZiAod3JpdGVfYml0bWFwcyA+IDApCiAJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kLmFyZ3MsICItLXdyaXRlLWJpdG1hcC1pbmRleCIpOworCWVsc2UgaWYgKHdyaXRlX2JpdG1hcHMgPCAwKQorCQlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLCAiLS13cml0ZS1iaXRtYXAtaW5kZXgtcXVpZXQiKTsKIAlpZiAodXNlX2RlbHRhX2lzbGFuZHMpCiAJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kLmFyZ3MsICItLWRlbHRhLWlzbGFuZHMiKTsKIApAQCAtNDA4LDcgKzQxMyw3IEBACiAJb3V0ID0geGZkb3BlbihjbWQub3V0LCAiciIpOwogCXdoaWxlIChzdHJidWZfZ2V0bGluZV9sZigmbGluZSwgb3V0KSAhPSBFT0YpIHsKIAkJaWYgKGxpbmUubGVuICE9IHRoZV9oYXNoX2FsZ28tPmhleHN6KQotCQkJZGllKCJyZXBhY2s6IEV4cGVjdGluZyBmdWxsIGhleCBvYmplY3QgSUQgbGluZXMgb25seSBmcm9tIHBhY2stb2JqZWN0cy4iKTsKKwkJCWRpZShfKCJyZXBhY2s6IEV4cGVjdGluZyBmdWxsIGhleCBvYmplY3QgSUQgbGluZXMgb25seSBmcm9tIHBhY2stb2JqZWN0cy4iKSk7CiAJCXN0cmluZ19saXN0X2FwcGVuZCgmbmFtZXMsIGxpbmUuYnVmKTsKIAl9CiAJZmNsb3NlKG91dCk7CkBAIC00MTcsNyArNDIyLDkgQEAKIAkJcmV0dXJuIHJldDsKIAogCWlmICghbmFtZXMubnIgJiYgIXBvX2FyZ3MucXVpZXQpCi0JCXByaW50ZigiTm90aGluZyBuZXcgdG8gcGFjay5cbiIpOworCQlwcmludGZfbG4oXygiTm90aGluZyBuZXcgdG8gcGFjay4iKSk7CisKKwljbG9zZV9vYmplY3Rfc3RvcmUodGhlX3JlcG9zaXRvcnktPm9iamVjdHMpOwogCiAJLyoKIAkgKiBPayB3ZSBoYXZlIHByZXBhcmVkIGFsbCBuZXcgcGFja2ZpbGVzLgpAQCAtNDc2LDEzICs0ODMsMTMgQEAKIAkJaWYgKHJvbGxiYWNrX2ZhaWx1cmUubnIpIHsKIAkJCWludCBpOwogCQkJZnByaW50ZihzdGRlcnIsCi0JCQkJIldBUk5JTkc6IFNvbWUgcGFja3MgaW4gdXNlIGhhdmUgYmVlbiByZW5hbWVkIGJ5XG4iCi0JCQkJIldBUk5JTkc6IHByZWZpeGluZyBvbGQtIHRvIHRoZWlyIG5hbWUsIGluIG9yZGVyIHRvXG4iCi0JCQkJIldBUk5JTkc6IHJlcGxhY2UgdGhlbSB3aXRoIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGVcbiIKLQkJCQkiV0FSTklORzogZmlsZS4gIEJ1dCB0aGUgb3BlcmF0aW9uIGZhaWxlZCwgYW5kIHRoZVxuIgotCQkJCSJXQVJOSU5HOiBhdHRlbXB0IHRvIHJlbmFtZSB0aGVtIGJhY2sgdG8gdGhlaXJcbiIKLQkJCQkiV0FSTklORzogb3JpZ2luYWwgbmFtZXMgYWxzbyBmYWlsZWQuXG4iCi0JCQkJIldBUk5JTkc6IFBsZWFzZSByZW5hbWUgdGhlbSBpbiAlcyBtYW51YWxseTpcbiIsIHBhY2tkaXIpOworCQkJCV8oIldBUk5JTkc6IFNvbWUgcGFja3MgaW4gdXNlIGhhdmUgYmVlbiByZW5hbWVkIGJ5XG4iCisJCQkJICAiV0FSTklORzogcHJlZml4aW5nIG9sZC0gdG8gdGhlaXIgbmFtZSwgaW4gb3JkZXIgdG9cbiIKKwkJCQkgICJXQVJOSU5HOiByZXBsYWNlIHRoZW0gd2l0aCB0aGUgbmV3IHZlcnNpb24gb2YgdGhlXG4iCisJCQkJICAiV0FSTklORzogZmlsZS4gIEJ1dCB0aGUgb3BlcmF0aW9uIGZhaWxlZCwgYW5kIHRoZVxuIgorCQkJCSAgIldBUk5JTkc6IGF0dGVtcHQgdG8gcmVuYW1lIHRoZW0gYmFjayB0byB0aGVpclxuIgorCQkJCSAgIldBUk5JTkc6IG9yaWdpbmFsIG5hbWVzIGFsc28gZmFpbGVkLlxuIgorCQkJCSAgIldBUk5JTkc6IFBsZWFzZSByZW5hbWUgdGhlbSBpbiAlcyBtYW51YWxseTpcbiIpLCBwYWNrZGlyKTsKIAkJCWZvciAoaSA9IDA7IGkgPCByb2xsYmFja19mYWlsdXJlLm5yOyBpKyspCiAJCQkJZnByaW50ZihzdGRlcnIsICJXQVJOSU5HOiAgIG9sZC0lcyAtPiAlc1xuIiwKIAkJCQkJcm9sbGJhY2tfZmFpbHVyZS5pdGVtc1tpXS5zdHJpbmcsCkBAIC01NjIsNyArNTY5LDcgQEAKIAlyZW1vdmVfdGVtcG9yYXJ5X2ZpbGVzKCk7CiAKIAlpZiAoZ2l0X2Vudl9ib29sKEdJVF9URVNUX01VTFRJX1BBQ0tfSU5ERVgsIDApKQotCQl3cml0ZV9taWR4X2ZpbGUoZ2V0X29iamVjdF9kaXJlY3RvcnkoKSk7CisJCXdyaXRlX21pZHhfZmlsZShnZXRfb2JqZWN0X2RpcmVjdG9yeSgpLCAwKTsKIAogCXN0cmluZ19saXN0X2NsZWFyKCZuYW1lcywgMCk7CiAJc3RyaW5nX2xpc3RfY2xlYXIoJnJvbGxiYWNrLCAwKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmVwbGFjZS5jIGIvYnVpbHRpbi9yZXBsYWNlLmMKaW5kZXggYWZmY2RmYi4uYjM2ZDE3YSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9yZXBsYWNlLmMKKysrIGIvYnVpbHRpbi9yZXBsYWNlLmMKQEAgLTgyLDYgKzgyLDEwIEBACiAJCWRhdGEuZm9ybWF0ID0gUkVQTEFDRV9GT1JNQVRfTUVESVVNOwogCWVsc2UgaWYgKCFzdHJjbXAoZm9ybWF0LCAibG9uZyIpKQogCQlkYXRhLmZvcm1hdCA9IFJFUExBQ0VfRk9STUFUX0xPTkc7CisJLyoKKwkgKiBQbGVhc2UgdXBkYXRlIF9naXRfcmVwbGFjZSgpIGluIGdpdC1jb21wbGV0aW9uLmJhc2ggd2hlbgorCSAqIHlvdSBhZGQgbmV3IGZvcm1hdAorCSAqLwogCWVsc2UKIAkJcmV0dXJuIGVycm9yKF8oImludmFsaWQgcmVwbGFjZSBmb3JtYXQgJyVzJ1xuIgogCQkJICAgICAgICJ2YWxpZCBmb3JtYXRzIGFyZSAnc2hvcnQnLCAnbWVkaXVtJyBhbmQgJ2xvbmcnIiksCkBAIC0yNjgsNyArMjcyLDcgQEAKIAkJCXJldHVybiBlcnJvcihfKCJ1bmFibGUgdG8gc3Bhd24gbWt0cmVlIikpOwogCQl9CiAKLQkJaWYgKHN0cmJ1Zl9yZWFkKCZyZXN1bHQsIGNtZC5vdXQsIDQxKSA8IDApIHsKKwkJaWYgKHN0cmJ1Zl9yZWFkKCZyZXN1bHQsIGNtZC5vdXQsIHRoZV9oYXNoX2FsZ28tPmhleHN6ICsgMSkgPCAwKSB7CiAJCQllcnJvcl9lcnJubyhfKCJ1bmFibGUgdG8gcmVhZCBmcm9tIG1rdHJlZSIpKTsKIAkJCWNsb3NlKGZkKTsKIAkJCWNsb3NlKGNtZC5vdXQpOwpAQCAtMjk1LDcgKzI5OSw3IEBACiAJCQljbG9zZShmZCk7CiAJCQlyZXR1cm4gLTE7CiAJCX0KLQkJaWYgKGluZGV4X2ZkKCZ0aGVfaW5kZXgsIG9pZCwgZmQsICZzdCwgdHlwZSwgTlVMTCwgZmxhZ3MpIDwgMCkKKwkJaWYgKGluZGV4X2ZkKHRoZV9yZXBvc2l0b3J5LT5pbmRleCwgb2lkLCBmZCwgJnN0LCB0eXBlLCBOVUxMLCBmbGFncykgPCAwKQogCQkJcmV0dXJuIGVycm9yKF8oInVuYWJsZSB0byB3cml0ZSBvYmplY3QgdG8gZGF0YWJhc2UiKSk7CiAJCS8qIGluZGV4X2ZkIGNsb3NlKClzIGZkIGZvciB1cyAqLwogCX0KQEAgLTM1NCwyOCArMzU4LDMyIEBACiAJc3RydWN0IHN0cmJ1ZiBuZXdfcGFyZW50cyA9IFNUUkJVRl9JTklUOwogCWNvbnN0IGNoYXIgKnBhcmVudF9zdGFydCwgKnBhcmVudF9lbmQ7CiAJaW50IGk7CisJY29uc3QgdW5zaWduZWQgaGV4c3ogPSB0aGVfaGFzaF9hbGdvLT5oZXhzejsKIAogCS8qIGZpbmQgZXhpc3RpbmcgcGFyZW50cyAqLwogCXBhcmVudF9zdGFydCA9IGJ1Zi0+YnVmOwotCXBhcmVudF9zdGFydCArPSBHSVRfU0hBMV9IRVhTWiArIDY7IC8qICJ0cmVlICIgKyAiaGV4IHNoYTEiICsgIlxuIiAqLworCXBhcmVudF9zdGFydCArPSBoZXhzeiArIDY7IC8qICJ0cmVlICIgKyAiaGV4IHNoYTEiICsgIlxuIiAqLwogCXBhcmVudF9lbmQgPSBwYXJlbnRfc3RhcnQ7CiAKIAl3aGlsZSAoc3RhcnRzX3dpdGgocGFyZW50X2VuZCwgInBhcmVudCAiKSkKLQkJcGFyZW50X2VuZCArPSA0ODsgLyogInBhcmVudCAiICsgImhleCBzaGExIiArICJcbiIgKi8KKwkJcGFyZW50X2VuZCArPSBoZXhzeiArIDg7IC8qICJwYXJlbnQgIiArICJoZXggc2hhMSIgKyAiXG4iICovCiAKIAkvKiBwcmVwYXJlIG5ldyBwYXJlbnRzICovCiAJZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykgewogCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwkJc3RydWN0IGNvbW1pdCAqY29tbWl0OworCiAJCWlmIChnZXRfb2lkKGFyZ3ZbaV0sICZvaWQpIDwgMCkgewogCQkJc3RyYnVmX3JlbGVhc2UoJm5ld19wYXJlbnRzKTsKIAkJCXJldHVybiBlcnJvcihfKCJub3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJyIpLAogCQkJCSAgICAgYXJndltpXSk7CiAJCX0KLQkJaWYgKCFsb29rdXBfY29tbWl0X3JlZmVyZW5jZSh0aGVfcmVwb3NpdG9yeSwgJm9pZCkpIHsKKwkJY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UodGhlX3JlcG9zaXRvcnksICZvaWQpOworCQlpZiAoIWNvbW1pdCkgewogCQkJc3RyYnVmX3JlbGVhc2UoJm5ld19wYXJlbnRzKTsKLQkJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgcGFyc2UgJXMiKSwgYXJndltpXSk7CisJCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHBhcnNlICVzIGFzIGEgY29tbWl0IiksIGFyZ3ZbaV0pOwogCQl9Ci0JCXN0cmJ1Zl9hZGRmKCZuZXdfcGFyZW50cywgInBhcmVudCAlc1xuIiwgb2lkX3RvX2hleCgmb2lkKSk7CisJCXN0cmJ1Zl9hZGRmKCZuZXdfcGFyZW50cywgInBhcmVudCAlc1xuIiwgb2lkX3RvX2hleCgmY29tbWl0LT5vYmplY3Qub2lkKSk7CiAJfQogCiAJLyogcmVwbGFjZSBleGlzdGluZyBwYXJlbnRzIHdpdGggbmV3IG9uZXMgKi8KQEAgLTQwMSw3ICs0MDksOCBAQAogCXN0cnVjdCB0YWcgKnRhZzsKIAlpbnQgaTsKIAotCWhhc2hfb2JqZWN0X2ZpbGUoZXh0cmEtPnZhbHVlLCBleHRyYS0+bGVuLCB0eXBlX25hbWUoT0JKX1RBRyksICZ0YWdfb2lkKTsKKwloYXNoX29iamVjdF9maWxlKHRoZV9oYXNoX2FsZ28sIGV4dHJhLT52YWx1ZSwgZXh0cmEtPmxlbiwKKwkJCSB0eXBlX25hbWUoT0JKX1RBRyksICZ0YWdfb2lkKTsKIAl0YWcgPSBsb29rdXBfdGFnKHRoZV9yZXBvc2l0b3J5LCAmdGFnX29pZCk7CiAJaWYgKCF0YWcpCiAJCXJldHVybiBlcnJvcihfKCJiYWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciKSwgcmVmKTsKQEAgLTQxNCw3ICs0MjMsNyBAQAogCQlpZiAoZ2V0X29pZChtZXJnZXRhZ19kYXRhLT5hcmd2W2ldLCAmb2lkKSA8IDApCiAJCQlyZXR1cm4gZXJyb3IoXygibm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcyciKSwKIAkJCQkgICAgIG1lcmdldGFnX2RhdGEtPmFyZ3ZbaV0pOwotCQlpZiAob2lkZXEoJnRhZy0+dGFnZ2VkLT5vaWQsICZvaWQpKQorCQlpZiAob2lkZXEoZ2V0X3RhZ2dlZF9vaWQodGFnKSwgJm9pZCkpCiAJCQlyZXR1cm4gMDsgLyogZm91bmQgKi8KIAl9CiAKQEAgLTQ3NCwxNSArNDgzLDE4IEBACiAKIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAotCWlmIChvaWRlcSgmb2xkX29pZCwgJm5ld19vaWQpKSB7CisJaWYgKG9pZGVxKCZjb21taXQtPm9iamVjdC5vaWQsICZuZXdfb2lkKSkgewogCQlpZiAoZ2VudGxlKSB7Ci0JCQl3YXJuaW5nKF8oImdyYWZ0IGZvciAnJXMnIHVubmVjZXNzYXJ5IiksIG9pZF90b19oZXgoJm9sZF9vaWQpKTsKKwkJCXdhcm5pbmcoXygiZ3JhZnQgZm9yICclcycgdW5uZWNlc3NhcnkiKSwKKwkJCQlvaWRfdG9faGV4KCZjb21taXQtPm9iamVjdC5vaWQpKTsKIAkJCXJldHVybiAwOwogCQl9Ci0JCXJldHVybiBlcnJvcihfKCJuZXcgY29tbWl0IGlzIHRoZSBzYW1lIGFzIHRoZSBvbGQgb25lOiAnJXMnIiksIG9pZF90b19oZXgoJm9sZF9vaWQpKTsKKwkJcmV0dXJuIGVycm9yKF8oIm5ldyBjb21taXQgaXMgdGhlIHNhbWUgYXMgdGhlIG9sZCBvbmU6ICclcyciKSwKKwkJCSAgICAgb2lkX3RvX2hleCgmY29tbWl0LT5vYmplY3Qub2lkKSk7CiAJfQogCi0JcmV0dXJuIHJlcGxhY2Vfb2JqZWN0X29pZChvbGRfcmVmLCAmb2xkX29pZCwgInJlcGxhY2VtZW50IiwgJm5ld19vaWQsIGZvcmNlKTsKKwlyZXR1cm4gcmVwbGFjZV9vYmplY3Rfb2lkKG9sZF9yZWYsICZjb21taXQtPm9iamVjdC5vaWQsCisJCQkJICAicmVwbGFjZW1lbnQiLCAmbmV3X29pZCwgZm9yY2UpOwogfQogCiBzdGF0aWMgaW50IGNvbnZlcnRfZ3JhZnRfZmlsZShpbnQgZm9yY2UpCmRpZmYgLS1naXQgYS9idWlsdGluL3JlcmVyZS5jIGIvYnVpbHRpbi9yZXJlcmUuYwppbmRleCBkNzhlZWFlLi5mZDNiZTE3IDEwMDY0NAotLS0gYS9idWlsdGluL3JlcmVyZS5jCisrKyBiL2J1aWx0aW4vcmVyZXJlLmMKQEAgLTgzLDExICs4MywxMiBAQAogCX0KIAogCWlmICghc3RyY21wKGFyZ3ZbMF0sICJjbGVhciIpKSB7Ci0JCXJlcmVyZV9jbGVhcigmbWVyZ2VfcnIpOworCQlyZXJlcmVfY2xlYXIodGhlX3JlcG9zaXRvcnksICZtZXJnZV9ycik7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZ3ZbMF0sICJnYyIpKQotCQlyZXJlcmVfZ2MoJm1lcmdlX3JyKTsKKwkJcmVyZXJlX2djKHRoZV9yZXBvc2l0b3J5LCAmbWVyZ2VfcnIpOwogCWVsc2UgaWYgKCFzdHJjbXAoYXJndlswXSwgInN0YXR1cyIpKSB7Ci0JCWlmIChzZXR1cF9yZXJlcmUoJm1lcmdlX3JyLCBmbGFncyB8IFJFUkVSRV9SRUFET05MWSkgPCAwKQorCQlpZiAoc2V0dXBfcmVyZXJlKHRoZV9yZXBvc2l0b3J5LCAmbWVyZ2VfcnIsCisJCQkJIGZsYWdzIHwgUkVSRVJFX1JFQURPTkxZKSA8IDApCiAJCQlyZXR1cm4gMDsKIAkJZm9yIChpID0gMDsgaSA8IG1lcmdlX3JyLm5yOyBpKyspCiAJCQlwcmludGYoIiVzXG4iLCBtZXJnZV9yci5pdGVtc1tpXS5zdHJpbmcpOwpAQCAtMTAyLDcgKzEwMyw4IEBACiAJCQkJbWVyZ2VfcnIuaXRlbXNbaV0udXRpbCA9IE5VTEw7CiAJCX0KIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJndlswXSwgImRpZmYiKSkgewotCQlpZiAoc2V0dXBfcmVyZXJlKCZtZXJnZV9yciwgZmxhZ3MgfCBSRVJFUkVfUkVBRE9OTFkpIDwgMCkKKwkJaWYgKHNldHVwX3JlcmVyZSh0aGVfcmVwb3NpdG9yeSwgJm1lcmdlX3JyLAorCQkJCSBmbGFncyB8IFJFUkVSRV9SRUFET05MWSkgPCAwKQogCQkJcmV0dXJuIDA7CiAJCWZvciAoaSA9IDA7IGkgPCBtZXJnZV9yci5ucjsgaSsrKSB7CiAJCQljb25zdCBjaGFyICpwYXRoID0gbWVyZ2VfcnIuaXRlbXNbaV0uc3RyaW5nOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9yZXNldC5jIGIvYnVpbHRpbi9yZXNldC5jCmluZGV4IDU4MTY2OTYuLjE4MjI4YzMgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmVzZXQuYworKysgYi9idWlsdGluL3Jlc2V0LmMKQEAgLTcsNiArNyw3IEBACiAgKgogICogQ29weXJpZ2h0IChjKSAyMDA1LCAyMDA2IExpbnVzIFRvcnZhbGRzIGFuZCBKdW5pbyBDIEhhbWFubwogICovCisjZGVmaW5lIFVTRV9USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAibG9ja2ZpbGUuaCIKQEAgLTI5LDggKzMwLDkgQEAKIAogc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBnaXRfcmVzZXRfdXNhZ2VbXSA9IHsKIAlOXygiZ2l0IHJlc2V0IFstLW1peGVkIHwgLS1zb2Z0IHwgLS1oYXJkIHwgLS1tZXJnZSB8IC0ta2VlcF0gWy1xXSBbPGNvbW1pdD5dIiksCi0JTl8oImdpdCByZXNldCBbLXFdIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRocz4uLi4iKSwKLQlOXygiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIiksCisJTl8oImdpdCByZXNldCBbLXFdIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRoc3BlYz4uLi4iKSwKKwlOXygiZ2l0IHJlc2V0IFstcV0gWy0tcGF0aHNwZWMtZnJvbS1maWxlIFstLXBhdGhzcGVjLWZpbGUtbnVsXV0gWzx0cmVlLWlzaD5dIiksCisJTl8oImdpdCByZXNldCAtLXBhdGNoIFs8dHJlZS1pc2g+XSBbLS1dIFs8cGF0aHNwZWM+Li4uXSIpLAogCU5VTEwKIH07CiAKQEAgLTc4LDEzICs4MCwxMyBAQAogCQlzdHJ1Y3Qgb2JqZWN0X2lkIGhlYWRfb2lkOwogCQlpZiAoZ2V0X29pZCgiSEVBRCIsICZoZWFkX29pZCkpCiAJCQlyZXR1cm4gZXJyb3IoXygiWW91IGRvIG5vdCBoYXZlIGEgdmFsaWQgSEVBRC4iKSk7Ci0JCWlmICghZmlsbF90cmVlX2Rlc2NyaXB0b3IoZGVzYyArIG5yLCAmaGVhZF9vaWQpKQorCQlpZiAoIWZpbGxfdHJlZV9kZXNjcmlwdG9yKHRoZV9yZXBvc2l0b3J5LCBkZXNjICsgbnIsICZoZWFkX29pZCkpCiAJCQlyZXR1cm4gZXJyb3IoXygiRmFpbGVkIHRvIGZpbmQgdHJlZSBvZiBIRUFELiIpKTsKIAkJbnIrKzsKIAkJb3B0cy5mbiA9IHR3b3dheV9tZXJnZTsKIAl9CiAKLQlpZiAoIWZpbGxfdHJlZV9kZXNjcmlwdG9yKGRlc2MgKyBuciwgb2lkKSkgeworCWlmICghZmlsbF90cmVlX2Rlc2NyaXB0b3IodGhlX3JlcG9zaXRvcnksIGRlc2MgKyBuciwgb2lkKSkgewogCQllcnJvcihfKCJGYWlsZWQgdG8gZmluZCB0cmVlIG9mICVzLiIpLCBvaWRfdG9faGV4KG9pZCkpOwogCQlnb3RvIG91dDsKIAl9CkBAIC05NSw3ICs5Nyw3IEBACiAKIAlpZiAocmVzZXRfdHlwZSA9PSBNSVhFRCB8fCByZXNldF90eXBlID09IEhBUkQpIHsKIAkJdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3Qob2lkKTsKLQkJcHJpbWVfY2FjaGVfdHJlZSgmdGhlX2luZGV4LCB0cmVlKTsKKwkJcHJpbWVfY2FjaGVfdHJlZSh0aGVfcmVwb3NpdG9yeSwgdGhlX3JlcG9zaXRvcnktPmluZGV4LCB0cmVlKTsKIAl9CiAKIAlyZXQgPSAwOwpAQCAtMjgzLDggKzI4NSw4IEBACiBpbnQgY21kX3Jlc2V0KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCWludCByZXNldF90eXBlID0gTk9ORSwgdXBkYXRlX3JlZl9zdGF0dXMgPSAwLCBxdWlldCA9IDA7Ci0JaW50IHBhdGNoX21vZGUgPSAwLCB1bmJvcm47Ci0JY29uc3QgY2hhciAqcmV2OworCWludCBwYXRjaF9tb2RlID0gMCwgcGF0aHNwZWNfZmlsZV9udWwgPSAwLCB1bmJvcm47CisJY29uc3QgY2hhciAqcmV2LCAqcGF0aHNwZWNfZnJvbV9maWxlID0gTlVMTDsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlzdHJ1Y3QgcGF0aHNwZWMgcGF0aHNwZWM7CiAJaW50IGludGVudF90b19hZGQgPSAwOwpAQCAtMzA1LDYgKzMwNyw4IEBACiAJCU9QVF9CT09MKCdwJywgInBhdGNoIiwgJnBhdGNoX21vZGUsIE5fKCJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIpKSwKIAkJT1BUX0JPT0woJ04nLCAiaW50ZW50LXRvLWFkZCIsICZpbnRlbnRfdG9fYWRkLAogCQkJCU5fKCJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHJlbW92ZWQgcGF0aHMgd2lsbCBiZSBhZGRlZCBsYXRlciIpKSwKKwkJT1BUX1BBVEhTUEVDX0ZST01fRklMRSgmcGF0aHNwZWNfZnJvbV9maWxlKSwKKwkJT1BUX1BBVEhTUEVDX0ZJTEVfTlVMKCZwYXRoc3BlY19maWxlX251bCksCiAJCU9QVF9FTkQoKQogCX07CiAKQEAgLTMxNSwxMSArMzE5LDI1IEBACiAJCQkJCQlQQVJTRV9PUFRfS0VFUF9EQVNIREFTSCk7CiAJcGFyc2VfYXJncygmcGF0aHNwZWMsIGFyZ3YsIHByZWZpeCwgcGF0Y2hfbW9kZSwgJnJldik7CiAKKwlpZiAocGF0aHNwZWNfZnJvbV9maWxlKSB7CisJCWlmIChwYXRjaF9tb2RlKQorCQkJZGllKF8oIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tcGF0Y2giKSk7CisKKwkJaWYgKHBhdGhzcGVjLm5yKQorCQkJZGllKF8oIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIHBhdGhzcGVjIGFyZ3VtZW50cyIpKTsKKworCQlwYXJzZV9wYXRoc3BlY19maWxlKCZwYXRoc3BlYywgMCwKKwkJCQkgICAgUEFUSFNQRUNfUFJFRkVSX0ZVTEwsCisJCQkJICAgIHByZWZpeCwgcGF0aHNwZWNfZnJvbV9maWxlLCBwYXRoc3BlY19maWxlX251bCk7CisJfSBlbHNlIGlmIChwYXRoc3BlY19maWxlX251bCkgeworCQlkaWUoXygiLS1wYXRoc3BlYy1maWxlLW51bCByZXF1aXJlcyAtLXBhdGhzcGVjLWZyb20tZmlsZSIpKTsKKwl9CisKIAl1bmJvcm4gPSAhc3RyY21wKHJldiwgIkhFQUQiKSAmJiBnZXRfb2lkKCJIRUFEIiwgJm9pZCk7CiAJaWYgKHVuYm9ybikgewogCQkvKiByZXNldCBvbiB1bmJvcm4gYnJhbmNoOiB0cmVhdCBhcyByZXNldCB0byBlbXB0eSB0cmVlICovCiAJCW9pZGNweSgmb2lkLCB0aGVfaGFzaF9hbGdvLT5lbXB0eV90cmVlKTsKLQl9IGVsc2UgaWYgKCFwYXRoc3BlYy5ucikgeworCX0gZWxzZSBpZiAoIXBhdGhzcGVjLm5yICYmICFwYXRjaF9tb2RlKSB7CiAJCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKIAkJaWYgKGdldF9vaWRfY29tbWl0dGlzaChyZXYsICZvaWQpKQogCQkJZGllKF8oIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZXZpc2lvbi4iKSwgcmV2KTsKQEAgLTM0MCw2ICszNTgsNyBAQAogCWlmIChwYXRjaF9tb2RlKSB7CiAJCWlmIChyZXNldF90eXBlICE9IE5PTkUpCiAJCQlkaWUoXygiLS1wYXRjaCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLXtoYXJkLG1peGVkLHNvZnR9IikpOworCQl0cmFjZTJfY21kX21vZGUoInBhdGNoLWludGVyYWN0aXZlIik7CiAJCXJldHVybiBydW5fYWRkX2ludGVyYWN0aXZlKHJldiwgIi0tcGF0Y2g9cmVzZXQiLCAmcGF0aHNwZWMpOwogCX0KIApAQCAtMzU2LDYgKzM3NSwxMSBAQAogCWlmIChyZXNldF90eXBlID09IE5PTkUpCiAJCXJlc2V0X3R5cGUgPSBNSVhFRDsgLyogYnkgZGVmYXVsdCAqLwogCisJaWYgKHBhdGhzcGVjLm5yKQorCQl0cmFjZTJfY21kX21vZGUoInBhdGgiKTsKKwllbHNlCisJCXRyYWNlMl9jbWRfbW9kZShyZXNldF90eXBlX25hbWVzW3Jlc2V0X3R5cGVdKTsKKwogCWlmIChyZXNldF90eXBlICE9IFNPRlQgJiYgKHJlc2V0X3R5cGUgIT0gTUlYRUQgfHwgZ2V0X2dpdF93b3JrX3RyZWUoKSkpCiAJCXNldHVwX3dvcmtfdHJlZSgpOwogCkBAIC0zNzksNiArNDAzLDcgQEAKIAkJCWludCBmbGFncyA9IHF1aWV0ID8gUkVGUkVTSF9RVUlFVCA6IFJFRlJFU0hfSU5fUE9SQ0VMQUlOOwogCQkJaWYgKHJlYWRfZnJvbV90cmVlKCZwYXRoc3BlYywgJm9pZCwgaW50ZW50X3RvX2FkZCkpCiAJCQkJcmV0dXJuIDE7CisJCQl0aGVfaW5kZXgudXBkYXRlZF9za2lwd29ya3RyZWUgPSAxOwogCQkJaWYgKCFxdWlldCAmJiBnZXRfZ2l0X3dvcmtfdHJlZSgpKSB7CiAJCQkJdWludDY0X3QgdF9iZWdpbiwgdF9kZWx0YV9pbl9tczsKIApAQCAtNDEzLDcgKzQzOCw3IEBACiAJCQlwcmludF9uZXdfaGVhZF9saW5lKGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHRoZV9yZXBvc2l0b3J5LCAmb2lkKSk7CiAJfQogCWlmICghcGF0aHNwZWMubnIpCi0JCXJlbW92ZV9icmFuY2hfc3RhdGUoKTsKKwkJcmVtb3ZlX2JyYW5jaF9zdGF0ZSh0aGVfcmVwb3NpdG9yeSwgMCk7CiAKIAlyZXR1cm4gdXBkYXRlX3JlZl9zdGF0dXM7CiB9CmRpZmYgLS1naXQgYS9idWlsdGluL3Jldi1saXN0LmMgYi9idWlsdGluL3Jldi1saXN0LmMKaW5kZXggMjg4MGVkMy4uZjUyMDExMSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9yZXYtbGlzdC5jCisrKyBiL2J1aWx0aW4vcmV2LWxpc3QuYwpAQCAtMTgsNyArMTgsNiBAQAogI2luY2x1ZGUgInJlZmxvZy13YWxrLmgiCiAjaW5jbHVkZSAib2lkc2V0LmgiCiAjaW5jbHVkZSAicGFja2ZpbGUuaCIKLSNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKIAogc3RhdGljIGNvbnN0IGNoYXIgcmV2X2xpc3RfdXNhZ2VbXSA9CiAiZ2l0IHJldi1saXN0IFtPUFRJT05dIDxjb21taXQtaWQ+Li4uIFsgLS0gcGF0aHMuLi4gXVxuIgpAQCAtNDksNiArNDgsNyBAQAogIiAgICAtLW9iamVjdHMgfCAtLW9iamVjdHMtZWRnZVxuIgogIiAgICAtLXVucGFja2VkXG4iCiAiICAgIC0taGVhZGVyIHwgLS1wcmV0dHlcbiIKKyIgICAgLS1bbm8tXW9iamVjdC1uYW1lc1xuIgogIiAgICAtLWFiYnJldj08bj4gfCAtLW5vLWFiYnJldlxuIgogIiAgICAtLWFiYnJldi1jb21taXRcbiIKICIgICAgLS1sZWZ0LXJpZ2h0XG4iCkBAIC03NSw5ICs3NSwxMiBAQAogfTsKIHN0YXRpYyBlbnVtIG1pc3NpbmdfYWN0aW9uIGFyZ19taXNzaW5nX2FjdGlvbjsKIAorLyogZGlzcGxheSBvbmx5IHRoZSBvaWQgb2YgZWFjaCBvYmplY3QgZW5jb3VudGVyZWQgKi8KK3N0YXRpYyBpbnQgYXJnX3Nob3dfb2JqZWN0X25hbWVzID0gMTsKKwogI2RlZmluZSBERUZBVUxUX09JRFNFVF9TSVpFICAgICAoMTYqMTAyNCkKIAotc3RhdGljIHZvaWQgZmluaXNoX2NvbW1pdChzdHJ1Y3QgY29tbWl0ICpjb21taXQsIHZvaWQgKmRhdGEpOworc3RhdGljIHZvaWQgZmluaXNoX2NvbW1pdChzdHJ1Y3QgY29tbWl0ICpjb21taXQpOwogc3RhdGljIHZvaWQgc2hvd19jb21taXQoc3RydWN0IGNvbW1pdCAqY29tbWl0LCB2b2lkICpkYXRhKQogewogCXN0cnVjdCByZXZfbGlzdF9pbmZvICppbmZvID0gZGF0YTsKQEAgLTg2LDcgKzg5LDcgQEAKIAlkaXNwbGF5X3Byb2dyZXNzKHByb2dyZXNzLCArK3Byb2dyZXNzX2NvdW50ZXIpOwogCiAJaWYgKGluZm8tPmZsYWdzICYgUkVWX0xJU1RfUVVJRVQpIHsKLQkJZmluaXNoX2NvbW1pdChjb21taXQsIGRhdGEpOworCQlmaW5pc2hfY29tbWl0KGNvbW1pdCk7CiAJCXJldHVybjsKIAl9CiAKQEAgLTk5LDcgKzEwMiw3IEBACiAJCQlyZXZzLT5jb3VudF9sZWZ0Kys7CiAJCWVsc2UKIAkJCXJldnMtPmNvdW50X3JpZ2h0Kys7Ci0JCWZpbmlzaF9jb21taXQoY29tbWl0LCBkYXRhKTsKKwkJZmluaXNoX2NvbW1pdChjb21taXQpOwogCQlyZXR1cm47CiAJfQogCkBAIC0xODgsMTYgKzE5MSwxNyBAQAogCQkJcHV0Y2hhcignXG4nKTsKIAl9CiAJbWF5YmVfZmx1c2hfb3JfZGllKHN0ZG91dCwgInN0ZG91dCIpOwotCWZpbmlzaF9jb21taXQoY29tbWl0LCBkYXRhKTsKKwlmaW5pc2hfY29tbWl0KGNvbW1pdCk7CiB9CiAKLXN0YXRpYyB2b2lkIGZpbmlzaF9jb21taXQoc3RydWN0IGNvbW1pdCAqY29tbWl0LCB2b2lkICpkYXRhKQorc3RhdGljIHZvaWQgZmluaXNoX2NvbW1pdChzdHJ1Y3QgY29tbWl0ICpjb21taXQpCiB7CiAJaWYgKGNvbW1pdC0+cGFyZW50cykgewogCQlmcmVlX2NvbW1pdF9saXN0KGNvbW1pdC0+cGFyZW50cyk7CiAJCWNvbW1pdC0+cGFyZW50cyA9IE5VTEw7CiAJfQotCWZyZWVfY29tbWl0X2J1ZmZlcihjb21taXQpOworCWZyZWVfY29tbWl0X2J1ZmZlcih0aGVfcmVwb3NpdG9yeS0+cGFyc2VkX29iamVjdHMsCisJCQkgICBjb21taXQpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgZmluaXNoX29iamVjdF9fbWEoc3RydWN0IG9iamVjdCAqb2JqKQpAQCAtMjM3LDcgKzI0MSw3IEBACiBzdGF0aWMgaW50IGZpbmlzaF9vYmplY3Qoc3RydWN0IG9iamVjdCAqb2JqLCBjb25zdCBjaGFyICpuYW1lLCB2b2lkICpjYl9kYXRhKQogewogCXN0cnVjdCByZXZfbGlzdF9pbmZvICppbmZvID0gY2JfZGF0YTsKLQlpZiAoIWhhc19vYmplY3RfZmlsZSgmb2JqLT5vaWQpKSB7CisJaWYgKG9pZF9vYmplY3RfaW5mb19leHRlbmRlZCh0aGVfcmVwb3NpdG9yeSwgJm9iai0+b2lkLCBOVUxMLCAwKSA8IDApIHsKIAkJZmluaXNoX29iamVjdF9fbWEob2JqKTsKIAkJcmV0dXJuIDE7CiAJfQpAQCAtMjQ5LDEyICsyNTMsMzAgQEAKIHN0YXRpYyB2b2lkIHNob3dfb2JqZWN0KHN0cnVjdCBvYmplY3QgKm9iaiwgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqY2JfZGF0YSkKIHsKIAlzdHJ1Y3QgcmV2X2xpc3RfaW5mbyAqaW5mbyA9IGNiX2RhdGE7CisJc3RydWN0IHJldl9pbmZvICpyZXZzID0gaW5mby0+cmV2czsKKwogCWlmIChmaW5pc2hfb2JqZWN0KG9iaiwgbmFtZSwgY2JfZGF0YSkpCiAJCXJldHVybjsKIAlkaXNwbGF5X3Byb2dyZXNzKHByb2dyZXNzLCArK3Byb2dyZXNzX2NvdW50ZXIpOwogCWlmIChpbmZvLT5mbGFncyAmIFJFVl9MSVNUX1FVSUVUKQogCQlyZXR1cm47Ci0Jc2hvd19vYmplY3Rfd2l0aF9uYW1lKHN0ZG91dCwgb2JqLCBuYW1lKTsKKworCWlmIChyZXZzLT5jb3VudCkgeworCQkvKgorCQkgKiBUaGUgb2JqZWN0IGNvdW50IGlzIGFsd2F5cyBhY2N1bXVsYXRlZCBpbiB0aGUgLmNvdW50X3JpZ2h0CisJCSAqIGZpZWxkIGZvciB0cmF2ZXJzYWwgdGhhdCBpcyBub3QgYSBsZWZ0LXJpZ2h0IHRyYXZlcnNhbCwKKwkJICogYW5kIGNtZF9yZXZfbGlzdCgpIG1hZGUgc3VyZSB0aGF0IGEgLmNvdW50IHJlcXVlc3QgdGhhdAorCQkgKiB3YW50cyB0byBjb3VudCBub24tY29tbWl0IG9iamVjdHMsIHdoaWNoIGlzIGhhbmRsZWQgYnkKKwkJICogdGhlIHNob3dfb2JqZWN0KCkgY2FsbGJhY2ssIGRvZXMgbm90IGFzayBmb3IgLmxlZnRfcmlnaHQuCisJCSAqLworCQlyZXZzLT5jb3VudF9yaWdodCsrOworCQlyZXR1cm47CisJfQorCisJaWYgKGFyZ19zaG93X29iamVjdF9uYW1lcykKKwkJc2hvd19vYmplY3Rfd2l0aF9uYW1lKHN0ZG91dCwgb2JqLCBuYW1lKTsKKwllbHNlCisJCXByaW50ZigiJXNcbiIsIG9pZF90b19oZXgoJm9iai0+b2lkKSk7CiB9CiAKIHN0YXRpYyB2b2lkIHNob3dfZWRnZShzdHJ1Y3QgY29tbWl0ICpjb21taXQpCkBAIC0zNTcsMTAgKzM3OSw4NiBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IHRyeV9iaXRtYXBfY291bnQoc3RydWN0IHJldl9pbmZvICpyZXZzLAorCQkJICAgIHN0cnVjdCBsaXN0X29iamVjdHNfZmlsdGVyX29wdGlvbnMgKmZpbHRlcikKK3sKKwl1aW50MzJfdCBjb21taXRfY291bnQgPSAwLAorCQkgdGFnX2NvdW50ID0gMCwKKwkJIHRyZWVfY291bnQgPSAwLAorCQkgYmxvYl9jb3VudCA9IDA7CisJaW50IG1heF9jb3VudDsKKwlzdHJ1Y3QgYml0bWFwX2luZGV4ICpiaXRtYXBfZ2l0OworCisJLyogVGhpcyBmdW5jdGlvbiBvbmx5IGhhbmRsZXMgY291bnRpbmcsIG5vdCBnZW5lcmFsIHRyYXZlcnNhbC4gKi8KKwlpZiAoIXJldnMtPmNvdW50KQorCQlyZXR1cm4gLTE7CisKKwkvKgorCSAqIEEgYml0bWFwIHJlc3VsdCBjYW4ndCBrbm93IGxlZnQvcmlnaHQsIGV0YywgYmVjYXVzZSB3ZSBkb24ndAorCSAqIGFjdHVhbGx5IHRyYXZlcnNlLgorCSAqLworCWlmIChyZXZzLT5sZWZ0X3JpZ2h0IHx8IHJldnMtPmNoZXJyeV9tYXJrKQorCQlyZXR1cm4gLTE7CisKKwkvKgorCSAqIElmIHdlJ3JlIGNvdW50aW5nIHJlYWNoYWJsZSBvYmplY3RzLCB3ZSBjYW4ndCBoYW5kbGUgYSBtYXggY291bnQgb2YKKwkgKiBjb21taXRzIHRvIHRyYXZlcnNlLCBzaW5jZSB3ZSBkb24ndCBrbm93IHdoaWNoIG9iamVjdHMgZ28gd2l0aCB3aGljaAorCSAqIGNvbW1pdC4KKwkgKi8KKwlpZiAocmV2cy0+bWF4X2NvdW50ID49IDAgJiYKKwkgICAgKHJldnMtPnRhZ19vYmplY3RzIHx8IHJldnMtPnRyZWVfb2JqZWN0cyB8fCByZXZzLT5ibG9iX29iamVjdHMpKQorCQlyZXR1cm4gLTE7CisKKwkvKgorCSAqIFRoaXMgbXVzdCBiZSBzYXZlZCBiZWZvcmUgZG9pbmcgYW55IHdhbGtpbmcsIHNpbmNlIHRoZSByZXZpc2lvbgorCSAqIG1hY2hpbmVyeSB3aWxsIGNvdW50IGl0IGRvd24gdG8gemVybyB3aGlsZSB0cmF2ZXJzaW5nLgorCSAqLworCW1heF9jb3VudCA9IHJldnMtPm1heF9jb3VudDsKKworCWJpdG1hcF9naXQgPSBwcmVwYXJlX2JpdG1hcF93YWxrKHJldnMsIGZpbHRlcik7CisJaWYgKCFiaXRtYXBfZ2l0KQorCQlyZXR1cm4gLTE7CisKKwljb3VudF9iaXRtYXBfY29tbWl0X2xpc3QoYml0bWFwX2dpdCwgJmNvbW1pdF9jb3VudCwKKwkJCQkgcmV2cy0+dHJlZV9vYmplY3RzID8gJnRyZWVfY291bnQgOiBOVUxMLAorCQkJCSByZXZzLT5ibG9iX29iamVjdHMgPyAmYmxvYl9jb3VudCA6IE5VTEwsCisJCQkJIHJldnMtPnRhZ19vYmplY3RzID8gJnRhZ19jb3VudCA6IE5VTEwpOworCWlmIChtYXhfY291bnQgPj0gMCAmJiBtYXhfY291bnQgPCBjb21taXRfY291bnQpCisJCWNvbW1pdF9jb3VudCA9IG1heF9jb3VudDsKKworCXByaW50ZigiJWRcbiIsIGNvbW1pdF9jb3VudCArIHRyZWVfY291bnQgKyBibG9iX2NvdW50ICsgdGFnX2NvdW50KTsKKwlmcmVlX2JpdG1hcF9pbmRleChiaXRtYXBfZ2l0KTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0cnlfYml0bWFwX3RyYXZlcnNhbChzdHJ1Y3QgcmV2X2luZm8gKnJldnMsCisJCQkJc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyAqZmlsdGVyKQoreworCXN0cnVjdCBiaXRtYXBfaW5kZXggKmJpdG1hcF9naXQ7CisKKwkvKgorCSAqIFdlIGNhbid0IHVzZSBhIGJpdG1hcCByZXN1bHQgd2l0aCBhIHRyYXZlcnNhbCBsaW1pdCwgc2luY2UgdGhlIHNldAorCSAqIG9mIGNvbW1pdHMgd2UnZCBnZXQgd291bGQgYmUgZXNzZW50aWFsbHkgcmFuZG9tLgorCSAqLworCWlmIChyZXZzLT5tYXhfY291bnQgPj0gMCkKKwkJcmV0dXJuIC0xOworCisJYml0bWFwX2dpdCA9IHByZXBhcmVfYml0bWFwX3dhbGsocmV2cywgZmlsdGVyKTsKKwlpZiAoIWJpdG1hcF9naXQpCisJCXJldHVybiAtMTsKKworCXRyYXZlcnNlX2JpdG1hcF9jb21taXRfbGlzdChiaXRtYXBfZ2l0LCByZXZzLCAmc2hvd19vYmplY3RfZmFzdCk7CisJZnJlZV9iaXRtYXBfaW5kZXgoYml0bWFwX2dpdCk7CisJcmV0dXJuIDA7Cit9CisKIGludCBjbWRfcmV2X2xpc3QoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJc3RydWN0IHJldl9pbmZvIHJldnM7CiAJc3RydWN0IHJldl9saXN0X2luZm8gaW5mbzsKKwlzdHJ1Y3Qgc2V0dXBfcmV2aXNpb25fb3B0IHNfcl9vcHQgPSB7CisJCS5hbGxvd19leGNsdWRlX3Byb21pc29yX29iamVjdHMgPSAxLAorCX07CiAJaW50IGk7CiAJaW50IGJpc2VjdF9saXN0ID0gMDsKIAlpbnQgYmlzZWN0X3Nob3dfdmFycyA9IDA7CkBAIC0zNzQsOSArNDcyLDcgQEAKIAlnaXRfY29uZmlnKGdpdF9kZWZhdWx0X2NvbmZpZywgTlVMTCk7CiAJcmVwb19pbml0X3JldmlzaW9ucyh0aGVfcmVwb3NpdG9yeSwgJnJldnMsIHByZWZpeCk7CiAJcmV2cy5hYmJyZXYgPSBERUZBVUxUX0FCQlJFVjsKLQlyZXZzLmFsbG93X2V4Y2x1ZGVfcHJvbWlzb3Jfb2JqZWN0c19vcHQgPSAxOwogCXJldnMuY29tbWl0X2Zvcm1hdCA9IENNSVRfRk1UX1VOU1BFQ0lGSUVEOwotCXJldnMuZG9fbm90X2RpZV9vbl9taXNzaW5nX3RyZWUgPSAxOwogCiAJLyoKIAkgKiBTY2FuIHRoZSBhcmd1bWVudCBsaXN0IGJlZm9yZSBpbnZva2luZyBzZXR1cF9yZXZpc2lvbnMoKSwgc28gdGhhdCB3ZQpAQCAtNDA2LDcgKzUwMiwxMCBAQAogCQl9CiAJfQogCi0JYXJnYyA9IHNldHVwX3JldmlzaW9ucyhhcmdjLCBhcmd2LCAmcmV2cywgTlVMTCk7CisJaWYgKGFyZ19taXNzaW5nX2FjdGlvbikKKwkJcmV2cy5kb19ub3RfZGllX29uX21pc3NpbmdfdHJlZSA9IDE7CisKKwlhcmdjID0gc2V0dXBfcmV2aXNpb25zKGFyZ2MsIGFyZ3YsICZyZXZzLCAmc19yX29wdCk7CiAKIAltZW1zZXQoJmluZm8sIDAsIHNpemVvZihpbmZvKSk7CiAJaW5mby5yZXZzID0gJnJldnM7CkBAIC00NTksMTAgKzU1OCw2IEBACiAJCQlwYXJzZV9saXN0X29iamVjdHNfZmlsdGVyKCZmaWx0ZXJfb3B0aW9ucywgYXJnKTsKIAkJCWlmIChmaWx0ZXJfb3B0aW9ucy5jaG9pY2UgJiYgIXJldnMuYmxvYl9vYmplY3RzKQogCQkJCWRpZShfKCJvYmplY3QgZmlsdGVyaW5nIHJlcXVpcmVzIC0tb2JqZWN0cyIpKTsKLQkJCWlmIChmaWx0ZXJfb3B0aW9ucy5jaG9pY2UgPT0gTE9GQ19TUEFSU0VfT0lEICYmCi0JCQkgICAgIWZpbHRlcl9vcHRpb25zLnNwYXJzZV9vaWRfdmFsdWUpCi0JCQkJZGllKF8oImludmFsaWQgc3BhcnNlIHZhbHVlICclcyciKSwKLQkJCQkgICAgZmlsdGVyX29wdGlvbnMuZmlsdGVyX3NwZWMpOwogCQkJY29udGludWU7CiAJCX0KIAkJaWYgKCFzdHJjbXAoYXJnLCAoIi0tbm8tIiBDTF9BUkdfX0ZJTFRFUikpKSB7CkBAIC00NzksNiArNTc0LDE2IEBACiAJCWlmIChza2lwX3ByZWZpeChhcmcsICItLW1pc3Npbmc9IiwgJmFyZykpCiAJCQljb250aW51ZTsgLyogYWxyZWFkeSBoYW5kbGVkIGFib3ZlICovCiAKKwkJaWYgKCFzdHJjbXAoYXJnLCAoIi0tbm8tb2JqZWN0LW5hbWVzIikpKSB7CisJCQlhcmdfc2hvd19vYmplY3RfbmFtZXMgPSAwOworCQkJY29udGludWU7CisJCX0KKworCQlpZiAoIXN0cmNtcChhcmcsICgiLS1vYmplY3QtbmFtZXMiKSkpIHsKKwkJCWFyZ19zaG93X29iamVjdF9uYW1lcyA9IDE7CisJCQljb250aW51ZTsKKwkJfQorCiAJCXVzYWdlKHJldl9saXN0X3VzYWdlKTsKIAogCX0KQEAgLTUwNCw4ICs2MDksMTAgQEAKIAlpZiAocmV2cy5zaG93X25vdGVzKQogCQlkaWUoXygicmV2LWxpc3QgZG9lcyBub3Qgc3VwcG9ydCBkaXNwbGF5IG9mIG5vdGVzIikpOwogCi0JaWYgKGZpbHRlcl9vcHRpb25zLmNob2ljZSAmJiB1c2VfYml0bWFwX2luZGV4KQotCQlkaWUoXygiY2Fubm90IGNvbWJpbmUgLS11c2UtYml0bWFwLWluZGV4IHdpdGggb2JqZWN0IGZpbHRlcmluZyIpKTsKKwlpZiAocmV2cy5jb3VudCAmJgorCSAgICAocmV2cy50YWdfb2JqZWN0cyB8fCByZXZzLnRyZWVfb2JqZWN0cyB8fCByZXZzLmJsb2Jfb2JqZWN0cykgJiYKKwkgICAgKHJldnMubGVmdF9yaWdodCB8fCByZXZzLmNoZXJyeV9tYXJrKSkKKwkJZGllKF8oIm1hcmtlZCBjb3VudGluZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW9iamVjdHMiKSk7CiAKIAlzYXZlX2NvbW1pdF9idWZmZXIgPSAocmV2cy52ZXJib3NlX2hlYWRlciB8fAogCQkJICAgICAgcmV2cy5ncmVwX2ZpbHRlci5wYXR0ZXJuX2xpc3QgfHwKQEAgLTUxNiwzNCArNjIzLDE3IEBACiAJaWYgKHNob3dfcHJvZ3Jlc3MpCiAJCXByb2dyZXNzID0gc3RhcnRfZGVsYXllZF9wcm9ncmVzcyhzaG93X3Byb2dyZXNzLCAwKTsKIAotCWlmICh1c2VfYml0bWFwX2luZGV4ICYmICFyZXZzLnBydW5lKSB7Ci0JCWlmIChyZXZzLmNvdW50ICYmICFyZXZzLmxlZnRfcmlnaHQgJiYgIXJldnMuY2hlcnJ5X21hcmspIHsKLQkJCXVpbnQzMl90IGNvbW1pdF9jb3VudDsKLQkJCWludCBtYXhfY291bnQgPSByZXZzLm1heF9jb3VudDsKLQkJCXN0cnVjdCBiaXRtYXBfaW5kZXggKmJpdG1hcF9naXQ7Ci0JCQlpZiAoKGJpdG1hcF9naXQgPSBwcmVwYXJlX2JpdG1hcF93YWxrKCZyZXZzKSkpIHsKLQkJCQljb3VudF9iaXRtYXBfY29tbWl0X2xpc3QoYml0bWFwX2dpdCwgJmNvbW1pdF9jb3VudCwgTlVMTCwgTlVMTCwgTlVMTCk7Ci0JCQkJaWYgKG1heF9jb3VudCA+PSAwICYmIG1heF9jb3VudCA8IGNvbW1pdF9jb3VudCkKLQkJCQkJY29tbWl0X2NvdW50ID0gbWF4X2NvdW50OwotCQkJCXByaW50ZigiJWRcbiIsIGNvbW1pdF9jb3VudCk7Ci0JCQkJZnJlZV9iaXRtYXBfaW5kZXgoYml0bWFwX2dpdCk7Ci0JCQkJcmV0dXJuIDA7Ci0JCQl9Ci0JCX0gZWxzZSBpZiAocmV2cy5tYXhfY291bnQgPCAwICYmCi0JCQkgICByZXZzLnRhZ19vYmplY3RzICYmIHJldnMudHJlZV9vYmplY3RzICYmIHJldnMuYmxvYl9vYmplY3RzKSB7Ci0JCQlzdHJ1Y3QgYml0bWFwX2luZGV4ICpiaXRtYXBfZ2l0OwotCQkJaWYgKChiaXRtYXBfZ2l0ID0gcHJlcGFyZV9iaXRtYXBfd2FsaygmcmV2cykpKSB7Ci0JCQkJdHJhdmVyc2VfYml0bWFwX2NvbW1pdF9saXN0KGJpdG1hcF9naXQsICZzaG93X29iamVjdF9mYXN0KTsKLQkJCQlmcmVlX2JpdG1hcF9pbmRleChiaXRtYXBfZ2l0KTsKLQkJCQlyZXR1cm4gMDsKLQkJCX0KLQkJfQorCWlmICh1c2VfYml0bWFwX2luZGV4KSB7CisJCWlmICghdHJ5X2JpdG1hcF9jb3VudCgmcmV2cywgJmZpbHRlcl9vcHRpb25zKSkKKwkJCXJldHVybiAwOworCQlpZiAoIXRyeV9iaXRtYXBfdHJhdmVyc2FsKCZyZXZzLCAmZmlsdGVyX29wdGlvbnMpKQorCQkJcmV0dXJuIDA7CiAJfQogCiAJaWYgKHByZXBhcmVfcmV2aXNpb25fd2FsaygmcmV2cykpCiAJCWRpZSgicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiKTsKIAlpZiAocmV2cy50cmVlX29iamVjdHMpCi0JCW1hcmtfZWRnZXNfdW5pbnRlcmVzdGluZygmcmV2cywgc2hvd19lZGdlKTsKKwkJbWFya19lZGdlc191bmludGVyZXN0aW5nKCZyZXZzLCBzaG93X2VkZ2UsIDApOwogCiAJaWYgKGJpc2VjdF9saXN0KSB7CiAJCWludCByZWFjaGVzLCBhbGw7CmRpZmYgLS1naXQgYS9idWlsdGluL3Jldi1wYXJzZS5jIGIvYnVpbHRpbi9yZXYtcGFyc2UuYwppbmRleCAxMGQ0ZGFiLi43YTAwZGE4IDEwMDY0NAotLS0gYS9idWlsdGluL3Jldi1wYXJzZS5jCisrKyBiL2J1aWx0aW4vcmV2LXBhcnNlLmMKQEAgLTMsNiArMyw3IEBACiAgKgogICogQ29weXJpZ2h0IChDKSBMaW51cyBUb3J2YWxkcywgMjAwNQogICovCisjZGVmaW5lIFVTRV9USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImNvbW1pdC5oIgpAQCAtNTkyLDYgKzU5Myw3IEBACiAJY29uc3QgY2hhciAqbmFtZSA9IE5VTEw7CiAJc3RydWN0IG9iamVjdF9jb250ZXh0IHVudXNlZDsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCWNvbnN0IGludCBoZXhzeiA9IHRoZV9oYXNoX2FsZ28tPmhleHN6OwogCiAJaWYgKGFyZ2MgPiAxICYmICFzdHJjbXAoIi0tcGFyc2VvcHQiLCBhcmd2WzFdKSkKIAkJcmV0dXJuIGNtZF9wYXJzZW9wdChhcmdjIC0gMSwgYXJndiArIDEsIHByZWZpeCk7CkBAIC03MjksOCArNzMxLDggQEAKIAkJCQlhYmJyZXYgPSBzdHJ0b3VsKGFyZywgTlVMTCwgMTApOwogCQkJCWlmIChhYmJyZXYgPCBNSU5JTVVNX0FCQlJFVikKIAkJCQkJYWJicmV2ID0gTUlOSU1VTV9BQkJSRVY7Ci0JCQkJZWxzZSBpZiAoNDAgPD0gYWJicmV2KQotCQkJCQlhYmJyZXYgPSA0MDsKKwkJCQllbHNlIGlmIChoZXhzeiA8PSBhYmJyZXYpCisJCQkJCWFiYnJldiA9IGhleHN6OwogCQkJCWNvbnRpbnVlOwogCQkJfQogCQkJaWYgKCFzdHJjbXAoYXJnLCAiLS1zcSIpKSB7CkBAIC04MDEsNiArODAzLDggQEAKIAkJCQljb25zdCBjaGFyICp3b3JrX3RyZWUgPSBnZXRfZ2l0X3dvcmtfdHJlZSgpOwogCQkJCWlmICh3b3JrX3RyZWUpCiAJCQkJCXB1dHMod29ya190cmVlKTsKKwkJCQllbHNlCisJCQkJCWRpZSgidGhpcyBvcGVyYXRpb24gbXVzdCBiZSBydW4gaW4gYSB3b3JrIHRyZWUiKTsKIAkJCQljb250aW51ZTsKIAkJCX0KIAkJCWlmICghc3RyY21wKGFyZywgIi0tc2hvdy1zdXBlcnByb2plY3Qtd29ya2luZy10cmVlIikpIHsKQEAgLTkxNyw2ICs5MjEsMTcgQEAKIAkJCQlzaG93X2RhdGVzdHJpbmcoIi0tbWluLWFnZT0iLCBhcmcpOwogCQkJCWNvbnRpbnVlOwogCQkJfQorCQkJaWYgKG9wdF93aXRoX3ZhbHVlKGFyZywgIi0tc2hvdy1vYmplY3QtZm9ybWF0IiwgJmFyZykpIHsKKwkJCQljb25zdCBjaGFyICp2YWwgPSBhcmcgPyBhcmcgOiAic3RvcmFnZSI7CisKKwkJCQlpZiAoc3RyY21wKHZhbCwgInN0b3JhZ2UiKSAmJgorCQkJCSAgICBzdHJjbXAodmFsLCAiaW5wdXQiKSAmJgorCQkJCSAgICBzdHJjbXAodmFsLCAib3V0cHV0IikpCisJCQkJCWRpZSgidW5rbm93biBtb2RlIGZvciAtLXNob3ctb2JqZWN0LWZvcm1hdDogJXMiLAorCQkJCQkgICAgYXJnKTsKKwkJCQlwdXRzKHRoZV9oYXNoX2FsZ28tPm5hbWUpOworCQkJCWNvbnRpbnVlOworCQkJfQogCQkJaWYgKHNob3dfZmxhZyhhcmcpICYmIHZlcmlmeSkKIAkJCQlkaWVfbm9fc2luZ2xlX3JldihxdWlldCk7CiAJCQljb250aW51ZTsKQEAgLTkzMyw3ICs5NDgsOCBAQAogCQkJbmFtZSsrOwogCQkJdHlwZSA9IFJFVkVSU0VEOwogCQl9Ci0JCWlmICghZ2V0X29pZF93aXRoX2NvbnRleHQobmFtZSwgZmxhZ3MsICZvaWQsICZ1bnVzZWQpKSB7CisJCWlmICghZ2V0X29pZF93aXRoX2NvbnRleHQodGhlX3JlcG9zaXRvcnksIG5hbWUsCisJCQkJCSAgZmxhZ3MsICZvaWQsICZ1bnVzZWQpKSB7CiAJCQlpZiAodmVyaWZ5KQogCQkJCXJldnNfY291bnQrKzsKIAkJCWVsc2UKZGlmZiAtLWdpdCBhL2J1aWx0aW4vcmV2ZXJ0LmMgYi9idWlsdGluL3JldmVydC5jCmluZGV4IGM5MzM5M2MuLmY2MWNjNWQgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vcmV2ZXJ0LmMKKysrIGIvYnVpbHRpbi9yZXZlcnQuYwpAQCAtNjksNyArNjksOCBAQAogCiAJcmVwbGF5LT5tYWlubGluZSA9IHN0cnRvbChhcmcsICZlbmQsIDEwKTsKIAlpZiAoKmVuZCB8fCByZXBsYXktPm1haW5saW5lIDw9IDApCi0JCXJldHVybiBvcHRlcnJvcihvcHQsICJleHBlY3RzIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiB6ZXJvIiwgMCk7CisJCXJldHVybiBlcnJvcihfKCJvcHRpb24gYCVzJyBleHBlY3RzIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiB6ZXJvIiksCisJCQkgICAgIG9wdC0+bG9uZ19uYW1lKTsKIAogCXJldHVybiAwOwogfQpAQCAtOTUsMTEgKzk2LDE0IEBACiB7CiAJY29uc3QgY2hhciAqIGNvbnN0ICogdXNhZ2Vfc3RyID0gcmV2ZXJ0X29yX2NoZXJyeV9waWNrX3VzYWdlKG9wdHMpOwogCWNvbnN0IGNoYXIgKm1lID0gYWN0aW9uX25hbWUob3B0cyk7CisJY29uc3QgY2hhciAqY2xlYW51cF9hcmcgPSBOVUxMOwogCWludCBjbWQgPSAwOwogCXN0cnVjdCBvcHRpb24gYmFzZV9vcHRpb25zW10gPSB7CiAJCU9QVF9DTURNT0RFKDAsICJxdWl0IiwgJmNtZCwgTl8oImVuZCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiKSwgJ3EnKSwKIAkJT1BUX0NNRE1PREUoMCwgImNvbnRpbnVlIiwgJmNtZCwgTl8oInJlc3VtZSByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiKSwgJ2MnKSwKIAkJT1BUX0NNRE1PREUoMCwgImFib3J0IiwgJmNtZCwgTl8oImNhbmNlbCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiKSwgJ2EnKSwKKwkJT1BUX0NNRE1PREUoMCwgInNraXAiLCAmY21kLCBOXygic2tpcCBjdXJyZW50IGNvbW1pdCBhbmQgY29udGludWUiKSwgJ3MnKSwKKwkJT1BUX0NMRUFOVVAoJmNsZWFudXBfYXJnKSwKIAkJT1BUX0JPT0woJ24nLCAibm8tY29tbWl0IiwgJm9wdHMtPm5vX2NvbW1pdCwgTl8oImRvbid0IGF1dG9tYXRpY2FsbHkgY29tbWl0IikpLAogCQlPUFRfQk9PTCgnZScsICJlZGl0IiwgJm9wdHMtPmVkaXQsIE5fKCJlZGl0IHRoZSBjb21taXQgbWVzc2FnZSIpKSwKIAkJT1BUX05PT1BfTk9BUkcoJ3InLCBOVUxMKSwKQEAgLTEzNiw2ICsxNDAsMTEgQEAKIAlpZiAob3B0cy0+a2VlcF9yZWR1bmRhbnRfY29tbWl0cykKIAkJb3B0cy0+YWxsb3dfZW1wdHkgPSAxOwogCisJaWYgKGNsZWFudXBfYXJnKSB7CisJCW9wdHMtPmRlZmF1bHRfbXNnX2NsZWFudXAgPSBnZXRfY2xlYW51cF9tb2RlKGNsZWFudXBfYXJnLCAxKTsKKwkJb3B0cy0+ZXhwbGljaXRfY2xlYW51cCA9IDE7CisJfQorCiAJLyogQ2hlY2sgZm9yIGluY29tcGF0aWJsZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzICovCiAJaWYgKGNtZCkgewogCQljaGFyICp0aGlzX29wZXJhdGlvbjsKQEAgLTE0Myw2ICsxNTIsOCBAQAogCQkJdGhpc19vcGVyYXRpb24gPSAiLS1xdWl0IjsKIAkJZWxzZSBpZiAoY21kID09ICdjJykKIAkJCXRoaXNfb3BlcmF0aW9uID0gIi0tY29udGludWUiOworCQllbHNlIGlmIChjbWQgPT0gJ3MnKQorCQkJdGhpc19vcGVyYXRpb24gPSAiLS1za2lwIjsKIAkJZWxzZSB7CiAJCQlhc3NlcnQoY21kID09ICdhJyk7CiAJCQl0aGlzX29wZXJhdGlvbiA9ICItLWFib3J0IjsKQEAgLTE5NSwxNCArMjA2LDE2IEBACiAJaWYgKGNtZCA9PSAncScpIHsKIAkJaW50IHJldCA9IHNlcXVlbmNlcl9yZW1vdmVfc3RhdGUob3B0cyk7CiAJCWlmICghcmV0KQotCQkJcmVtb3ZlX2JyYW5jaF9zdGF0ZSgpOworCQkJcmVtb3ZlX2JyYW5jaF9zdGF0ZSh0aGVfcmVwb3NpdG9yeSwgMCk7CiAJCXJldHVybiByZXQ7CiAJfQogCWlmIChjbWQgPT0gJ2MnKQotCQlyZXR1cm4gc2VxdWVuY2VyX2NvbnRpbnVlKG9wdHMpOworCQlyZXR1cm4gc2VxdWVuY2VyX2NvbnRpbnVlKHRoZV9yZXBvc2l0b3J5LCBvcHRzKTsKIAlpZiAoY21kID09ICdhJykKLQkJcmV0dXJuIHNlcXVlbmNlcl9yb2xsYmFjayhvcHRzKTsKLQlyZXR1cm4gc2VxdWVuY2VyX3BpY2tfcmV2aXNpb25zKG9wdHMpOworCQlyZXR1cm4gc2VxdWVuY2VyX3JvbGxiYWNrKHRoZV9yZXBvc2l0b3J5LCBvcHRzKTsKKwlpZiAoY21kID09ICdzJykKKwkJcmV0dXJuIHNlcXVlbmNlcl9za2lwKHRoZV9yZXBvc2l0b3J5LCBvcHRzKTsKKwlyZXR1cm4gc2VxdWVuY2VyX3BpY2tfcmV2aXNpb25zKHRoZV9yZXBvc2l0b3J5LCBvcHRzKTsKIH0KIAogaW50IGNtZF9yZXZlcnQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCmRpZmYgLS1naXQgYS9idWlsdGluL3JtLmMgYi9idWlsdGluL3JtLmMKaW5kZXggMTcwODZkMy4uNDg1ODYzMSAxMDA2NDQKLS0tIGEvYnVpbHRpbi9ybS5jCisrKyBiL2J1aWx0aW4vcm0uYwpAQCAtMyw2ICszLDcgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIExpbnVzIFRvcnZhbGRzIDIwMDYKICAqLworI2RlZmluZSBVU0VfVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImxvY2tmaWxlLmgiCkBAIC02MCw3ICs2MSw3IEBACiAJfQogfQogCi1zdGF0aWMgdm9pZCBzdWJtb2R1bGVzX2Fic29yYl9naXRkaXJfaWZfbmVlZGVkKGNvbnN0IGNoYXIgKnByZWZpeCkKK3N0YXRpYyB2b2lkIHN1Ym1vZHVsZXNfYWJzb3JiX2dpdGRpcl9pZl9uZWVkZWQodm9pZCkKIHsKIAlpbnQgaTsKIAlmb3IgKGkgPSAwOyBpIDwgbGlzdC5ucjsgaSsrKSB7CkBAIC04Miw3ICs4Myw3IEBACiAJCQljb250aW51ZTsKIAogCQlpZiAoIXN1Ym1vZHVsZV91c2VzX2dpdGZpbGUobmFtZSkpCi0JCQlhYnNvcmJfZ2l0X2Rpcl9pbnRvX3N1cGVycHJvamVjdChwcmVmaXgsIG5hbWUsCisJCQlhYnNvcmJfZ2l0X2Rpcl9pbnRvX3N1cGVycHJvamVjdChuYW1lLAogCQkJCUFCU09SQl9HSVRESVJfUkVDVVJTRV9TVUJNT0RVTEVTKTsKIAl9CiB9CkBAIC0xMDksNyArMTEwLDcgQEAKIAkJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKIAkJY29uc3QgY2hhciAqbmFtZSA9IGxpc3QuZW50cnlbaV0ubmFtZTsKIAkJc3RydWN0IG9iamVjdF9pZCBvaWQ7Ci0JCXVuc2lnbmVkIG1vZGU7CisJCXVuc2lnbmVkIHNob3J0IG1vZGU7CiAJCWludCBsb2NhbF9jaGFuZ2VzID0gMDsKIAkJaW50IHN0YWdlZF9jaGFuZ2VzID0gMDsKIApAQCAtMTc4LDcgKzE3OSw3IEBACiAJCSAqIHdheSBhcyBjaGFuZ2VkIGZyb20gdGhlIEhFQUQuCiAJCSAqLwogCQlpZiAobm9faGVhZAotCQkgICAgIHx8IGdldF90cmVlX2VudHJ5KGhlYWQsIG5hbWUsICZvaWQsICZtb2RlKQorCQkgICAgIHx8IGdldF90cmVlX2VudHJ5KHRoZV9yZXBvc2l0b3J5LCBoZWFkLCBuYW1lLCAmb2lkLCAmbW9kZSkKIAkJICAgICB8fCBjZS0+Y2VfbW9kZSAhPSBjcmVhdGVfY2VfbW9kZShtb2RlKQogCQkgICAgIHx8ICFvaWRlcSgmY2UtPm9pZCwgJm9pZCkpCiAJCQlzdGFnZWRfY2hhbmdlcyA9IDE7CkBAIC0yMzQsNyArMjM1LDggQEAKIH0KIAogc3RhdGljIGludCBzaG93X29ubHkgPSAwLCBmb3JjZSA9IDAsIGluZGV4X29ubHkgPSAwLCByZWN1cnNpdmUgPSAwLCBxdWlldCA9IDA7Ci1zdGF0aWMgaW50IGlnbm9yZV91bm1hdGNoID0gMDsKK3N0YXRpYyBpbnQgaWdub3JlX3VubWF0Y2ggPSAwLCBwYXRoc3BlY19maWxlX251bDsKK3N0YXRpYyBjaGFyICpwYXRoc3BlY19mcm9tX2ZpbGU7CiAKIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIGJ1aWx0aW5fcm1fb3B0aW9uc1tdID0gewogCU9QVF9fRFJZX1JVTigmc2hvd19vbmx5LCBOXygiZHJ5IHJ1biIpKSwKQEAgLTI0NCw2ICsyNDYsOCBAQAogCU9QVF9CT09MKCdyJywgTlVMTCwgICAgICAgICAgICAgJnJlY3Vyc2l2ZSwgIE5fKCJhbGxvdyByZWN1cnNpdmUgcmVtb3ZhbCIpKSwKIAlPUFRfQk9PTCggMCAsICJpZ25vcmUtdW5tYXRjaCIsICZpZ25vcmVfdW5tYXRjaCwKIAkJCQlOXygiZXhpdCB3aXRoIGEgemVybyBzdGF0dXMgZXZlbiBpZiBub3RoaW5nIG1hdGNoZWQiKSksCisJT1BUX1BBVEhTUEVDX0ZST01fRklMRSgmcGF0aHNwZWNfZnJvbV9maWxlKSwKKwlPUFRfUEFUSFNQRUNfRklMRV9OVUwoJnBhdGhzcGVjX2ZpbGVfbnVsKSwKIAlPUFRfRU5EKCksCiB9OwogCkBAIC0yNTgsOCArMjYyLDI0IEBACiAKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIGJ1aWx0aW5fcm1fb3B0aW9ucywKIAkJCSAgICAgYnVpbHRpbl9ybV91c2FnZSwgMCk7Ci0JaWYgKCFhcmdjKQotCQl1c2FnZV93aXRoX29wdGlvbnMoYnVpbHRpbl9ybV91c2FnZSwgYnVpbHRpbl9ybV9vcHRpb25zKTsKKworCXBhcnNlX3BhdGhzcGVjKCZwYXRoc3BlYywgMCwKKwkJICAgICAgIFBBVEhTUEVDX1BSRUZFUl9DV0QsCisJCSAgICAgICBwcmVmaXgsIGFyZ3YpOworCisJaWYgKHBhdGhzcGVjX2Zyb21fZmlsZSkgeworCQlpZiAocGF0aHNwZWMubnIpCisJCQlkaWUoXygiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggcGF0aHNwZWMgYXJndW1lbnRzIikpOworCisJCXBhcnNlX3BhdGhzcGVjX2ZpbGUoJnBhdGhzcGVjLCAwLAorCQkJCSAgICBQQVRIU1BFQ19QUkVGRVJfQ1dELAorCQkJCSAgICBwcmVmaXgsIHBhdGhzcGVjX2Zyb21fZmlsZSwgcGF0aHNwZWNfZmlsZV9udWwpOworCX0gZWxzZSBpZiAocGF0aHNwZWNfZmlsZV9udWwpIHsKKwkJZGllKF8oIi0tcGF0aHNwZWMtZmlsZS1udWwgcmVxdWlyZXMgLS1wYXRoc3BlYy1mcm9tLWZpbGUiKSk7CisJfQorCisJaWYgKCFwYXRoc3BlYy5ucikKKwkJZGllKF8oIk5vIHBhdGhzcGVjIHdhcyBnaXZlbi4gV2hpY2ggZmlsZXMgc2hvdWxkIEkgcmVtb3ZlPyIpKTsKIAogCWlmICghaW5kZXhfb25seSkKIAkJc2V0dXBfd29ya190cmVlKCk7CkBAIC0yNjksMTAgKzI4OSw3IEBACiAJaWYgKHJlYWRfY2FjaGUoKSA8IDApCiAJCWRpZShfKCJpbmRleCBmaWxlIGNvcnJ1cHQiKSk7CiAKLQlwYXJzZV9wYXRoc3BlYygmcGF0aHNwZWMsIDAsCi0JCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfQ1dELAotCQkgICAgICAgcHJlZml4LCBhcmd2KTsKLQlyZWZyZXNoX2luZGV4KCZ0aGVfaW5kZXgsIFJFRlJFU0hfUVVJRVQsICZwYXRoc3BlYywgTlVMTCwgTlVMTCk7CisJcmVmcmVzaF9pbmRleCgmdGhlX2luZGV4LCBSRUZSRVNIX1FVSUVUfFJFRlJFU0hfVU5NRVJHRUQsICZwYXRoc3BlYywgTlVMTCwgTlVMTCk7CiAKIAlzZWVuID0geGNhbGxvYyhwYXRoc3BlYy5uciwgMSk7CiAKQEAgLTMxMiw3ICszMjksNyBAQAogCX0KIAogCWlmICghaW5kZXhfb25seSkKLQkJc3VibW9kdWxlc19hYnNvcmJfZ2l0ZGlyX2lmX25lZWRlZChwcmVmaXgpOworCQlzdWJtb2R1bGVzX2Fic29yYl9naXRkaXJfaWZfbmVlZGVkKCk7CiAKIAkvKgogCSAqIElmIG5vdCBmb3JjZWQsIHRoZSBmaWxlLCB0aGUgaW5kZXggYW5kIHRoZSBIRUFEIChpZiBleGlzdHMpCmRpZmYgLS1naXQgYS9idWlsdGluL3NlbmQtcGFjay5jIGIvYnVpbHRpbi9zZW5kLXBhY2suYwppbmRleCA4ZTNjNzQ5Li4wOThlYmYyIDEwMDY0NAotLS0gYS9idWlsdGluL3NlbmQtcGFjay5jCisrKyBiL2J1aWx0aW4vc2VuZC1wYWNrLmMKQEAgLTI1MCw3ICsyNTAsOCBAQAogCiAJcGFja2V0X3JlYWRlcl9pbml0KCZyZWFkZXIsIGZkWzBdLCBOVUxMLCAwLAogCQkJICAgUEFDS0VUX1JFQURfQ0hPTVBfTkVXTElORSB8Ci0JCQkgICBQQUNLRVRfUkVBRF9HRU5UTEVfT05fRU9GKTsKKwkJCSAgIFBBQ0tFVF9SRUFEX0dFTlRMRV9PTl9FT0YgfAorCQkJICAgUEFDS0VUX1JFQURfRElFX09OX0VSUl9QQUNLRVQpOwogCiAJc3dpdGNoIChkaXNjb3Zlcl92ZXJzaW9uKCZyZWFkZXIpKSB7CiAJY2FzZSBwcm90b2NvbF92MjoKZGlmZiAtLWdpdCBhL2J1aWx0aW4vc2hvdy1icmFuY2guYyBiL2J1aWx0aW4vc2hvdy1icmFuY2guYwppbmRleCA5MzRlNTE0Li44YzkwY2JiIDEwMDY0NAotLS0gYS9idWlsdGluL3Nob3ctYnJhbmNoLmMKKysrIGIvYnVpbHRpbi9zaG93LWJyYW5jaC5jCkBAIC01MTQsNyArNTE0LDYgQEAKIAogc3RhdGljIGludCBzaG93X2luZGVwZW5kZW50KHN0cnVjdCBjb21taXQgKipyZXYsCiAJCQkgICAgaW50IG51bV9yZXYsCi0JCQkgICAgY2hhciAqKnJlZl9uYW1lLAogCQkJICAgIHVuc2lnbmVkIGludCAqcmV2X21hc2spCiB7CiAJaW50IGk7CkBAIC01MzcsNyArNTM2LDcgQEAKIAkJYXBwZW5kX3JlZihhdiwgJnJldmtleSwgMCk7CiAJCXJldHVybjsKIAl9Ci0JaWYgKHN0cmNocihhdiwgJyonKSB8fCBzdHJjaHIoYXYsICc/JykgfHwgc3RyY2hyKGF2LCAnWycpKSB7CisJaWYgKHN0cnBicmsoYXYsICIqP1siKSkgewogCQkvKiBnbG9iIHN0eWxlIG1hdGNoICovCiAJCWludCBzYXZlZF9tYXRjaGVzID0gcmVmX25hbWVfY250OwogCkBAIC03NTMsNyArNzUyLDggQEAKIAkJCQkvKiBBaCwgdGhhdCBpcyBhIGRhdGUgc3BlYy4uLiAqLwogCQkJCXRpbWVzdGFtcF90IGF0OwogCQkJCWF0ID0gYXBwcm94aWRhdGUocmVmbG9nX2Jhc2UpOwotCQkJCXJlYWRfcmVmX2F0KHJlZiwgZmxhZ3MsIGF0LCAtMSwgJm9pZCwgTlVMTCwKKwkJCQlyZWFkX3JlZl9hdChnZXRfbWFpbl9yZWZfc3RvcmUodGhlX3JlcG9zaXRvcnkpLAorCQkJCQkgICAgcmVmLCBmbGFncywgYXQsIC0xLCAmb2lkLCBOVUxMLAogCQkJCQkgICAgTlVMTCwgTlVMTCwgJmJhc2UpOwogCQkJfQogCQl9CkBAIC03NjUsNyArNzY1LDggQEAKIAkJCXRpbWVzdGFtcF90IHRpbWVzdGFtcDsKIAkJCWludCB0ejsKIAotCQkJaWYgKHJlYWRfcmVmX2F0KHJlZiwgZmxhZ3MsIDAsIGJhc2UgKyBpLCAmb2lkLCAmbG9nbXNnLAorCQkJaWYgKHJlYWRfcmVmX2F0KGdldF9tYWluX3JlZl9zdG9yZSh0aGVfcmVwb3NpdG9yeSksCisJCQkJCXJlZiwgZmxhZ3MsIDAsIGJhc2UgKyBpLCAmb2lkLCAmbG9nbXNnLAogCQkJCQkmdGltZXN0YW1wLCAmdHosIE5VTEwpKSB7CiAJCQkJcmVmbG9nID0gaTsKIAkJCQlicmVhazsKQEAgLTg2MCw3ICs4NjEsNyBAQAogCQlyZXR1cm4gc2hvd19tZXJnZV9iYXNlKHNlZW4sIG51bV9yZXYpOwogCiAJaWYgKGluZGVwZW5kZW50KQotCQlyZXR1cm4gc2hvd19pbmRlcGVuZGVudChyZXYsIG51bV9yZXYsIHJlZl9uYW1lLCByZXZfbWFzayk7CisJCXJldHVybiBzaG93X2luZGVwZW5kZW50KHJldiwgbnVtX3JldiwgcmV2X21hc2spOwogCiAJLyogU2hvdyBsaXN0OyAtLW1vcmU9LTEgbWVhbnMgbGlzdC1vbmx5ICovCiAJaWYgKDEgPCBudW1fcmV2IHx8IGV4dHJhIDwgMCkgewpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9zaG93LWluZGV4LmMgYi9idWlsdGluL3Nob3ctaW5kZXguYwppbmRleCBhNmU2Nzg4Li4wODI2ZjZhIDEwMDY0NAotLS0gYS9idWlsdGluL3Nob3ctaW5kZXguYworKysgYi9idWlsdGluL3Nob3ctaW5kZXguYwpAQCAtMTEsNiArMTEsNyBAQAogCXVuc2lnbmVkIG5yOwogCXVuc2lnbmVkIGludCB2ZXJzaW9uOwogCXN0YXRpYyB1bnNpZ25lZCBpbnQgdG9wX2luZGV4WzI1Nl07CisJY29uc3QgdW5zaWduZWQgaGFzaHN6ID0gdGhlX2hhc2hfYWxnby0+cmF3c3o7CiAKIAlpZiAoYXJnYyAhPSAxKQogCQl1c2FnZShzaG93X2luZGV4X3VzYWdlKTsKQEAgLTM2LDIzICszNywyMyBAQAogCX0KIAlpZiAodmVyc2lvbiA9PSAxKSB7CiAJCWZvciAoaSA9IDA7IGkgPCBucjsgaSsrKSB7Ci0JCQl1bnNpZ25lZCBpbnQgb2Zmc2V0LCBlbnRyeVs2XTsKKwkJCXVuc2lnbmVkIGludCBvZmZzZXQsIGVudHJ5WyhHSVRfTUFYX1JBV1NaICsgNCkgLyBzaXplb2YodW5zaWduZWQgaW50KV07CiAKLQkJCWlmIChmcmVhZChlbnRyeSwgNCArIDIwLCAxLCBzdGRpbikgIT0gMSkKKwkJCWlmIChmcmVhZChlbnRyeSwgNCArIGhhc2hzeiwgMSwgc3RkaW4pICE9IDEpCiAJCQkJZGllKCJ1bmFibGUgdG8gcmVhZCBlbnRyeSAldS8ldSIsIGksIG5yKTsKIAkJCW9mZnNldCA9IG50b2hsKGVudHJ5WzBdKTsKLQkJCXByaW50ZigiJXUgJXNcbiIsIG9mZnNldCwgc2hhMV90b19oZXgoKHZvaWQgKikoZW50cnkrMSkpKTsKKwkJCXByaW50ZigiJXUgJXNcbiIsIG9mZnNldCwgaGFzaF90b19oZXgoKHZvaWQgKikoZW50cnkrMSkpKTsKIAkJfQogCX0gZWxzZSB7CiAJCXVuc2lnbmVkIG9mZjY0X25yID0gMDsKIAkJc3RydWN0IHsKLQkJCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAkJCXVpbnQzMl90IGNyYzsKIAkJCXVpbnQzMl90IG9mZjsKIAkJfSAqZW50cmllczsKIAkJQUxMT0NfQVJSQVkoZW50cmllcywgbnIpOwogCQlmb3IgKGkgPSAwOyBpIDwgbnI7IGkrKykKLQkJCWlmIChmcmVhZChlbnRyaWVzW2ldLnNoYTEsIDIwLCAxLCBzdGRpbikgIT0gMSkKKwkJCWlmIChmcmVhZChlbnRyaWVzW2ldLm9pZC5oYXNoLCBoYXNoc3osIDEsIHN0ZGluKSAhPSAxKQogCQkJCWRpZSgidW5hYmxlIHRvIHJlYWQgc2hhMSAldS8ldSIsIGksIG5yKTsKIAkJZm9yIChpID0gMDsgaSA8IG5yOyBpKyspCiAJCQlpZiAoZnJlYWQoJmVudHJpZXNbaV0uY3JjLCA0LCAxLCBzdGRpbikgIT0gMSkKQEAgLTc3LDcgKzc4LDcgQEAKIAkJCX0KIAkJCXByaW50ZigiJSIgUFJJdU1BWCAiICVzICglMDgiUFJJeDMyIilcbiIsCiAJCQkgICAgICAgKHVpbnRtYXhfdCkgb2Zmc2V0LAotCQkJICAgICAgIHNoYTFfdG9faGV4KGVudHJpZXNbaV0uc2hhMSksCisJCQkgICAgICAgb2lkX3RvX2hleCgmZW50cmllc1tpXS5vaWQpLAogCQkJICAgICAgIG50b2hsKGVudHJpZXNbaV0uY3JjKSk7CiAJCX0KIAkJZnJlZShlbnRyaWVzKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vc2hvdy1yZWYuYyBiL2J1aWx0aW4vc2hvdy1yZWYuYwppbmRleCBlZDg4OGZmLi42NDU2ZGE3IDEwMDY0NAotLS0gYS9idWlsdGluL3Nob3ctcmVmLmMKKysrIGIvYnVpbHRpbi9zaG93LXJlZi5jCkBAIC0xLDUgKzEsNiBAQAogI2luY2x1ZGUgImJ1aWx0aW4uaCIKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKICNpbmNsdWRlICJvYmplY3QuaCIKQEAgLTIzLDcgKzI0LDcgQEAKIAljb25zdCBjaGFyICpoZXg7CiAJc3RydWN0IG9iamVjdF9pZCBwZWVsZWQ7CiAKLQlpZiAoIWhhc19zaGExX2ZpbGUob2lkLT5oYXNoKSkKKwlpZiAoIWhhc19vYmplY3RfZmlsZShvaWQpKQogCQlkaWUoImdpdCBzaG93LXJlZjogYmFkIHJlZiAlcyAoJXMpIiwgcmVmbmFtZSwKIAkJICAgIG9pZF90b19oZXgob2lkKSk7CiAKQEAgLTE4Miw2ICsxODMsOCBAQAogCiBpbnQgY21kX3Nob3dfcmVmKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogeworCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKKwogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgc2hvd19yZWZfb3B0aW9ucywKIAkJCSAgICAgc2hvd19yZWZfdXNhZ2UsIDApOwogCmRpZmYgLS1naXQgYS9idWlsdGluL3NwYXJzZS1jaGVja291dC5jIGIvYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDBkYTRiCi0tLSAvZGV2L251bGwKKysrIGIvYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYwpAQCAtMCwwICsxLDYzMSBAQAorI2luY2x1ZGUgImJ1aWx0aW4uaCIKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJkaXIuaCIKKyNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCisjaW5jbHVkZSAicGF0aHNwZWMuaCIKKyNpbmNsdWRlICJyZXBvc2l0b3J5LmgiCisjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKKyNpbmNsdWRlICJzdHJidWYuaCIKKyNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgorI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY2FjaGUtdHJlZS5oIgorI2luY2x1ZGUgImxvY2tmaWxlLmgiCisjaW5jbHVkZSAicmVzb2x2ZS11bmRvLmgiCisjaW5jbHVkZSAidW5wYWNrLXRyZWVzLmgiCisjaW5jbHVkZSAid3Qtc3RhdHVzLmgiCisjaW5jbHVkZSAicXVvdGUuaCIKKworc3RhdGljIGNvbnN0IGNoYXIgKmVtcHR5X2Jhc2UgPSAiIjsKKworc3RhdGljIGNoYXIgY29uc3QgKiBjb25zdCBidWlsdGluX3NwYXJzZV9jaGVja291dF91c2FnZVtdID0geworCU5fKCJnaXQgc3BhcnNlLWNoZWNrb3V0IChpbml0fGxpc3R8c2V0fGFkZHxkaXNhYmxlKSA8b3B0aW9ucz4iKSwKKwlOVUxMCit9OworCitzdGF0aWMgY2hhciAqZ2V0X3NwYXJzZV9jaGVja291dF9maWxlbmFtZSh2b2lkKQoreworCXJldHVybiBnaXRfcGF0aGR1cCgiaW5mby9zcGFyc2UtY2hlY2tvdXQiKTsKK30KKworc3RhdGljIHZvaWQgd3JpdGVfcGF0dGVybnNfdG9fZmlsZShGSUxFICpmcCwgc3RydWN0IHBhdHRlcm5fbGlzdCAqcGwpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgcGwtPm5yOyBpKyspIHsKKwkJc3RydWN0IHBhdGhfcGF0dGVybiAqcCA9IHBsLT5wYXR0ZXJuc1tpXTsKKworCQlpZiAocC0+ZmxhZ3MgJiBQQVRURVJOX0ZMQUdfTkVHQVRJVkUpCisJCQlmcHJpbnRmKGZwLCAiISIpOworCisJCWZwcmludGYoZnAsICIlcyIsIHAtPnBhdHRlcm4pOworCisJCWlmIChwLT5mbGFncyAmIFBBVFRFUk5fRkxBR19NVVNUQkVESVIpCisJCQlmcHJpbnRmKGZwLCAiLyIpOworCisJCWZwcmludGYoZnAsICJcbiIpOworCX0KK30KKworc3RhdGljIGludCBzcGFyc2VfY2hlY2tvdXRfbGlzdChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IHBhdHRlcm5fbGlzdCBwbDsKKwljaGFyICpzcGFyc2VfZmlsZW5hbWU7CisJaW50IHJlczsKKworCW1lbXNldCgmcGwsIDAsIHNpemVvZihwbCkpOworCisJcGwudXNlX2NvbmVfcGF0dGVybnMgPSBjb3JlX3NwYXJzZV9jaGVja291dF9jb25lOworCisJc3BhcnNlX2ZpbGVuYW1lID0gZ2V0X3NwYXJzZV9jaGVja291dF9maWxlbmFtZSgpOworCXJlcyA9IGFkZF9wYXR0ZXJuc19mcm9tX2ZpbGVfdG9fbGlzdChzcGFyc2VfZmlsZW5hbWUsICIiLCAwLCAmcGwsIE5VTEwpOworCWZyZWUoc3BhcnNlX2ZpbGVuYW1lKTsKKworCWlmIChyZXMgPCAwKSB7CisJCXdhcm5pbmcoXygidGhpcyB3b3JrdHJlZSBpcyBub3Qgc3BhcnNlIChzcGFyc2UtY2hlY2tvdXQgZmlsZSBtYXkgbm90IGV4aXN0KSIpKTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKHBsLnVzZV9jb25lX3BhdHRlcm5zKSB7CisJCWludCBpOworCQlzdHJ1Y3QgcGF0dGVybl9lbnRyeSAqcGU7CisJCXN0cnVjdCBoYXNobWFwX2l0ZXIgaXRlcjsKKwkJc3RydWN0IHN0cmluZ19saXN0IHNsID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CisKKwkJaGFzaG1hcF9mb3JfZWFjaF9lbnRyeSgmcGwucmVjdXJzaXZlX2hhc2htYXAsICZpdGVyLCBwZSwgZW50KSB7CisJCQkvKiBwZS0+cGF0dGVybiBzdGFydHMgd2l0aCAiLyIsIHNraXAgaXQgKi8KKwkJCXN0cmluZ19saXN0X2luc2VydCgmc2wsIHBlLT5wYXR0ZXJuICsgMSk7CisJCX0KKworCQlzdHJpbmdfbGlzdF9zb3J0KCZzbCk7CisKKwkJZm9yIChpID0gMDsgaSA8IHNsLm5yOyBpKyspIHsKKwkJCXF1b3RlX2Nfc3R5bGUoc2wuaXRlbXNbaV0uc3RyaW5nLCBOVUxMLCBzdGRvdXQsIDApOworCQkJcHJpbnRmKCJcbiIpOworCQl9CisKKwkJcmV0dXJuIDA7CisJfQorCisJd3JpdGVfcGF0dGVybnNfdG9fZmlsZShzdGRvdXQsICZwbCk7CisJY2xlYXJfcGF0dGVybl9saXN0KCZwbCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB1cGRhdGVfd29ya2luZ19kaXJlY3Rvcnkoc3RydWN0IHBhdHRlcm5fbGlzdCAqcGwpCit7CisJaW50IHJlc3VsdCA9IDA7CisJc3RydWN0IHVucGFja190cmVlc19vcHRpb25zIG87CisJc3RydWN0IGxvY2tfZmlsZSBsb2NrX2ZpbGUgPSBMT0NLX0lOSVQ7CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CisJc3RydWN0IHRyZWUgKnRyZWU7CisJc3RydWN0IHRyZWVfZGVzYyB0OworCXN0cnVjdCByZXBvc2l0b3J5ICpyID0gdGhlX3JlcG9zaXRvcnk7CisKKwlpZiAocmVwb19yZWFkX2luZGV4X3VubWVyZ2VkKHIpKQorCQlkaWUoXygieW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiKSk7CisKKwlpZiAoZ2V0X29pZCgiSEVBRCIsICZvaWQpKQorCQlyZXR1cm4gMDsKKworCXRyZWUgPSBwYXJzZV90cmVlX2luZGlyZWN0KCZvaWQpOworCXBhcnNlX3RyZWUodHJlZSk7CisJaW5pdF90cmVlX2Rlc2MoJnQsIHRyZWUtPmJ1ZmZlciwgdHJlZS0+c2l6ZSk7CisKKwltZW1zZXQoJm8sIDAsIHNpemVvZihvKSk7CisJby52ZXJib3NlX3VwZGF0ZSA9IGlzYXR0eSgyKTsKKwlvLm1lcmdlID0gMTsKKwlvLnVwZGF0ZSA9IDE7CisJby5mbiA9IG9uZXdheV9tZXJnZTsKKwlvLmhlYWRfaWR4ID0gLTE7CisJby5zcmNfaW5kZXggPSByLT5pbmRleDsKKwlvLmRzdF9pbmRleCA9IHItPmluZGV4OworCW8uc2tpcF9zcGFyc2VfY2hlY2tvdXQgPSAwOworCW8ucGwgPSBwbDsKKwlvLmtlZXBfcGF0dGVybl9saXN0ID0gISFwbDsKKworCXJlc29sdmVfdW5kb19jbGVhcl9pbmRleChyLT5pbmRleCk7CisJc2V0dXBfd29ya190cmVlKCk7CisKKwljYWNoZV90cmVlX2ZyZWUoJnItPmluZGV4LT5jYWNoZV90cmVlKTsKKworCXJlcG9faG9sZF9sb2NrZWRfaW5kZXgociwgJmxvY2tfZmlsZSwgTE9DS19ESUVfT05fRVJST1IpOworCisJY29yZV9hcHBseV9zcGFyc2VfY2hlY2tvdXQgPSAxOworCXJlc3VsdCA9IHVucGFja190cmVlcygxLCAmdCwgJm8pOworCisJaWYgKCFyZXN1bHQpIHsKKwkJcHJpbWVfY2FjaGVfdHJlZShyLCByLT5pbmRleCwgdHJlZSk7CisJCXdyaXRlX2xvY2tlZF9pbmRleChyLT5pbmRleCwgJmxvY2tfZmlsZSwgQ09NTUlUX0xPQ0spOworCX0gZWxzZQorCQlyb2xsYmFja19sb2NrX2ZpbGUoJmxvY2tfZmlsZSk7CisKKwlyZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgY2hhciAqZXNjYXBlZF9wYXR0ZXJuKGNoYXIgKnBhdHRlcm4pCit7CisJY2hhciAqcCA9IHBhdHRlcm47CisJc3RydWN0IHN0cmJ1ZiBmaW5hbCA9IFNUUkJVRl9JTklUOworCisJd2hpbGUgKCpwKSB7CisJCWlmIChpc19nbG9iX3NwZWNpYWwoKnApKQorCQkJc3RyYnVmX2FkZGNoKCZmaW5hbCwgJ1xcJyk7CisKKwkJc3RyYnVmX2FkZGNoKCZmaW5hbCwgKnApOworCQlwKys7CisJfQorCisJcmV0dXJuIHN0cmJ1Zl9kZXRhY2goJmZpbmFsLCBOVUxMKTsKK30KKworc3RhdGljIHZvaWQgd3JpdGVfY29uZV90b19maWxlKEZJTEUgKmZwLCBzdHJ1Y3QgcGF0dGVybl9saXN0ICpwbCkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgcGF0dGVybl9lbnRyeSAqcGU7CisJc3RydWN0IGhhc2htYXBfaXRlciBpdGVyOworCXN0cnVjdCBzdHJpbmdfbGlzdCBzbCA9IFNUUklOR19MSVNUX0lOSVRfRFVQOworCXN0cnVjdCBzdHJidWYgcGFyZW50X3BhdHRlcm4gPSBTVFJCVUZfSU5JVDsKKworCWhhc2htYXBfZm9yX2VhY2hfZW50cnkoJnBsLT5wYXJlbnRfaGFzaG1hcCwgJml0ZXIsIHBlLCBlbnQpIHsKKwkJaWYgKGhhc2htYXBfZ2V0X2VudHJ5KCZwbC0+cmVjdXJzaXZlX2hhc2htYXAsIHBlLCBlbnQsIE5VTEwpKQorCQkJY29udGludWU7CisKKwkJaWYgKCFoYXNobWFwX2NvbnRhaW5zX3BhcmVudCgmcGwtPnJlY3Vyc2l2ZV9oYXNobWFwLAorCQkJCQkgICAgIHBlLT5wYXR0ZXJuLAorCQkJCQkgICAgICZwYXJlbnRfcGF0dGVybikpCisJCQlzdHJpbmdfbGlzdF9pbnNlcnQoJnNsLCBwZS0+cGF0dGVybik7CisJfQorCisJc3RyaW5nX2xpc3Rfc29ydCgmc2wpOworCXN0cmluZ19saXN0X3JlbW92ZV9kdXBsaWNhdGVzKCZzbCwgMCk7CisKKwlmcHJpbnRmKGZwLCAiLypcbiEvKi9cbiIpOworCisJZm9yIChpID0gMDsgaSA8IHNsLm5yOyBpKyspIHsKKwkJY2hhciAqcGF0dGVybiA9IGVzY2FwZWRfcGF0dGVybihzbC5pdGVtc1tpXS5zdHJpbmcpOworCisJCWlmIChzdHJsZW4ocGF0dGVybikpCisJCQlmcHJpbnRmKGZwLCAiJXMvXG4hJXMvKi9cbiIsIHBhdHRlcm4sIHBhdHRlcm4pOworCQlmcmVlKHBhdHRlcm4pOworCX0KKworCXN0cmluZ19saXN0X2NsZWFyKCZzbCwgMCk7CisKKwloYXNobWFwX2Zvcl9lYWNoX2VudHJ5KCZwbC0+cmVjdXJzaXZlX2hhc2htYXAsICZpdGVyLCBwZSwgZW50KSB7CisJCWlmICghaGFzaG1hcF9jb250YWluc19wYXJlbnQoJnBsLT5yZWN1cnNpdmVfaGFzaG1hcCwKKwkJCQkJICAgICBwZS0+cGF0dGVybiwKKwkJCQkJICAgICAmcGFyZW50X3BhdHRlcm4pKQorCQkJc3RyaW5nX2xpc3RfaW5zZXJ0KCZzbCwgcGUtPnBhdHRlcm4pOworCX0KKworCXN0cmJ1Zl9yZWxlYXNlKCZwYXJlbnRfcGF0dGVybik7CisKKwlzdHJpbmdfbGlzdF9zb3J0KCZzbCk7CisJc3RyaW5nX2xpc3RfcmVtb3ZlX2R1cGxpY2F0ZXMoJnNsLCAwKTsKKworCWZvciAoaSA9IDA7IGkgPCBzbC5ucjsgaSsrKSB7CisJCWNoYXIgKnBhdHRlcm4gPSBlc2NhcGVkX3BhdHRlcm4oc2wuaXRlbXNbaV0uc3RyaW5nKTsKKwkJZnByaW50ZihmcCwgIiVzL1xuIiwgcGF0dGVybik7CisJCWZyZWUocGF0dGVybik7CisJfQorfQorCitzdGF0aWMgaW50IHdyaXRlX3BhdHRlcm5zX2FuZF91cGRhdGUoc3RydWN0IHBhdHRlcm5fbGlzdCAqcGwpCit7CisJY2hhciAqc3BhcnNlX2ZpbGVuYW1lOworCUZJTEUgKmZwOworCWludCBmZDsKKwlzdHJ1Y3QgbG9ja19maWxlIGxrID0gTE9DS19JTklUOworCWludCByZXN1bHQ7CisKKwlzcGFyc2VfZmlsZW5hbWUgPSBnZXRfc3BhcnNlX2NoZWNrb3V0X2ZpbGVuYW1lKCk7CisKKwlpZiAoc2FmZV9jcmVhdGVfbGVhZGluZ19kaXJlY3RvcmllcyhzcGFyc2VfZmlsZW5hbWUpKQorCQlkaWUoXygiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgZm9yIHNwYXJzZS1jaGVja291dCBmaWxlIikpOworCisJZmQgPSBob2xkX2xvY2tfZmlsZV9mb3JfdXBkYXRlKCZsaywgc3BhcnNlX2ZpbGVuYW1lLAorCQkJCSAgICAgIExPQ0tfRElFX09OX0VSUk9SKTsKKworCXJlc3VsdCA9IHVwZGF0ZV93b3JraW5nX2RpcmVjdG9yeShwbCk7CisJaWYgKHJlc3VsdCkgeworCQlyb2xsYmFja19sb2NrX2ZpbGUoJmxrKTsKKwkJZnJlZShzcGFyc2VfZmlsZW5hbWUpOworCQljbGVhcl9wYXR0ZXJuX2xpc3QocGwpOworCQl1cGRhdGVfd29ya2luZ19kaXJlY3RvcnkoTlVMTCk7CisJCXJldHVybiByZXN1bHQ7CisJfQorCisJZnAgPSB4ZmRvcGVuKGZkLCAidyIpOworCisJaWYgKGNvcmVfc3BhcnNlX2NoZWNrb3V0X2NvbmUpCisJCXdyaXRlX2NvbmVfdG9fZmlsZShmcCwgcGwpOworCWVsc2UKKwkJd3JpdGVfcGF0dGVybnNfdG9fZmlsZShmcCwgcGwpOworCisJZmZsdXNoKGZwKTsKKwljb21taXRfbG9ja19maWxlKCZsayk7CisKKwlmcmVlKHNwYXJzZV9maWxlbmFtZSk7CisJY2xlYXJfcGF0dGVybl9saXN0KHBsKTsKKworCXJldHVybiAwOworfQorCitlbnVtIHNwYXJzZV9jaGVja291dF9tb2RlIHsKKwlNT0RFX05PX1BBVFRFUk5TID0gMCwKKwlNT0RFX0FMTF9QQVRURVJOUyA9IDEsCisJTU9ERV9DT05FX1BBVFRFUk5TID0gMiwKK307CisKK3N0YXRpYyBpbnQgc2V0X2NvbmZpZyhlbnVtIHNwYXJzZV9jaGVja291dF9tb2RlIG1vZGUpCit7CisJY29uc3QgY2hhciAqY29uZmlnX3BhdGg7CisKKwlpZiAoZ2l0X2NvbmZpZ19zZXRfZ2VudGx5KCJleHRlbnNpb25zLndvcmt0cmVlQ29uZmlnIiwgInRydWUiKSkgeworCQllcnJvcihfKCJmYWlsZWQgdG8gc2V0IGV4dGVuc2lvbnMud29ya3RyZWVDb25maWcgc2V0dGluZyIpKTsKKwkJcmV0dXJuIDE7CisJfQorCisJY29uZmlnX3BhdGggPSBnaXRfcGF0aCgiY29uZmlnLndvcmt0cmVlIik7CisJZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZV9nZW50bHkoY29uZmlnX3BhdGgsCisJCQkJICAgICAgImNvcmUuc3BhcnNlQ2hlY2tvdXQiLAorCQkJCSAgICAgIG1vZGUgPyAidHJ1ZSIgOiBOVUxMKTsKKworCWdpdF9jb25maWdfc2V0X2luX2ZpbGVfZ2VudGx5KGNvbmZpZ19wYXRoLAorCQkJCSAgICAgICJjb3JlLnNwYXJzZUNoZWNrb3V0Q29uZSIsCisJCQkJICAgICAgbW9kZSA9PSBNT0RFX0NPTkVfUEFUVEVSTlMgPyAidHJ1ZSIgOiBOVUxMKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgY2hhciBjb25zdCAqIGNvbnN0IGJ1aWx0aW5fc3BhcnNlX2NoZWNrb3V0X2luaXRfdXNhZ2VbXSA9IHsKKwlOXygiZ2l0IHNwYXJzZS1jaGVja291dCBpbml0IFstLWNvbmVdIiksCisJTlVMTAorfTsKKworc3RhdGljIHN0cnVjdCBzcGFyc2VfY2hlY2tvdXRfaW5pdF9vcHRzIHsKKwlpbnQgY29uZV9tb2RlOworfSBpbml0X29wdHM7CisKK3N0YXRpYyBpbnQgc3BhcnNlX2NoZWNrb3V0X2luaXQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCXN0cnVjdCBwYXR0ZXJuX2xpc3QgcGw7CisJY2hhciAqc3BhcnNlX2ZpbGVuYW1lOworCWludCByZXM7CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CisJaW50IG1vZGU7CisJc3RydWN0IHN0cmJ1ZiBwYXR0ZXJuID0gU1RSQlVGX0lOSVQ7CisKKwlzdGF0aWMgc3RydWN0IG9wdGlvbiBidWlsdGluX3NwYXJzZV9jaGVja291dF9pbml0X29wdGlvbnNbXSA9IHsKKwkJT1BUX0JPT0woMCwgImNvbmUiLCAmaW5pdF9vcHRzLmNvbmVfbW9kZSwKKwkJCSBOXygiaW5pdGlhbGl6ZSB0aGUgc3BhcnNlLWNoZWNrb3V0IGluIGNvbmUgbW9kZSIpKSwKKwkJT1BUX0VORCgpLAorCX07CisKKwlyZXBvX3JlYWRfaW5kZXgodGhlX3JlcG9zaXRvcnkpOworCXJlcXVpcmVfY2xlYW5fd29ya190cmVlKHRoZV9yZXBvc2l0b3J5LAorCQkJCU5fKCJpbml0aWFsaXplIHNwYXJzZS1jaGVja291dCIpLCBOVUxMLCAxLCAwKTsKKworCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIE5VTEwsCisJCQkgICAgIGJ1aWx0aW5fc3BhcnNlX2NoZWNrb3V0X2luaXRfb3B0aW9ucywKKwkJCSAgICAgYnVpbHRpbl9zcGFyc2VfY2hlY2tvdXRfaW5pdF91c2FnZSwgMCk7CisKKwlpZiAoaW5pdF9vcHRzLmNvbmVfbW9kZSkgeworCQltb2RlID0gTU9ERV9DT05FX1BBVFRFUk5TOworCQljb3JlX3NwYXJzZV9jaGVja291dF9jb25lID0gMTsKKwl9IGVsc2UKKwkJbW9kZSA9IE1PREVfQUxMX1BBVFRFUk5TOworCisJaWYgKHNldF9jb25maWcobW9kZSkpCisJCXJldHVybiAxOworCisJbWVtc2V0KCZwbCwgMCwgc2l6ZW9mKHBsKSk7CisKKwlzcGFyc2VfZmlsZW5hbWUgPSBnZXRfc3BhcnNlX2NoZWNrb3V0X2ZpbGVuYW1lKCk7CisJcmVzID0gYWRkX3BhdHRlcm5zX2Zyb21fZmlsZV90b19saXN0KHNwYXJzZV9maWxlbmFtZSwgIiIsIDAsICZwbCwgTlVMTCk7CisKKwkvKiBJZiB3ZSBhbHJlYWR5IGhhdmUgYSBzcGFyc2UtY2hlY2tvdXQgZmlsZSwgdXNlIGl0LiAqLworCWlmIChyZXMgPj0gMCkgeworCQlmcmVlKHNwYXJzZV9maWxlbmFtZSk7CisJCWNvcmVfYXBwbHlfc3BhcnNlX2NoZWNrb3V0ID0gMTsKKwkJcmV0dXJuIHVwZGF0ZV93b3JraW5nX2RpcmVjdG9yeShOVUxMKTsKKwl9CisKKwlpZiAoZ2V0X29pZCgiSEVBRCIsICZvaWQpKSB7CisJCUZJTEUgKmZwOworCisJCS8qIGFzc3VtZSB3ZSBhcmUgaW4gYSBmcmVzaCByZXBvLCBidXQgdXBkYXRlIHRoZSBzcGFyc2UtY2hlY2tvdXQgZmlsZSAqLworCQlmcCA9IHhmb3BlbihzcGFyc2VfZmlsZW5hbWUsICJ3Iik7CisJCWlmICghZnApCisJCQlkaWUoXygiZmFpbGVkIHRvIG9wZW4gJyVzJyIpLCBzcGFyc2VfZmlsZW5hbWUpOworCisJCWZyZWUoc3BhcnNlX2ZpbGVuYW1lKTsKKwkJZnByaW50ZihmcCwgIi8qXG4hLyovXG4iKTsKKwkJZmNsb3NlKGZwKTsKKwkJcmV0dXJuIDA7CisJfQorCisJc3RyYnVmX2FkZHN0cigmcGF0dGVybiwgIi8qIik7CisJYWRkX3BhdHRlcm4oc3RyYnVmX2RldGFjaCgmcGF0dGVybiwgTlVMTCksIGVtcHR5X2Jhc2UsIDAsICZwbCwgMCk7CisJc3RyYnVmX2FkZHN0cigmcGF0dGVybiwgIiEvKi8iKTsKKwlhZGRfcGF0dGVybihzdHJidWZfZGV0YWNoKCZwYXR0ZXJuLCBOVUxMKSwgZW1wdHlfYmFzZSwgMCwgJnBsLCAwKTsKKworCXJldHVybiB3cml0ZV9wYXR0ZXJuc19hbmRfdXBkYXRlKCZwbCk7Cit9CisKK3N0YXRpYyB2b2lkIGluc2VydF9yZWN1cnNpdmVfcGF0dGVybihzdHJ1Y3QgcGF0dGVybl9saXN0ICpwbCwgc3RydWN0IHN0cmJ1ZiAqcGF0aCkKK3sKKwlzdHJ1Y3QgcGF0dGVybl9lbnRyeSAqZSA9IHhtYWxsb2Moc2l6ZW9mKCplKSk7CisJZS0+cGF0dGVybmxlbiA9IHBhdGgtPmxlbjsKKwllLT5wYXR0ZXJuID0gc3RyYnVmX2RldGFjaChwYXRoLCBOVUxMKTsKKwloYXNobWFwX2VudHJ5X2luaXQoJmUtPmVudCwKKwkJCSAgIGlnbm9yZV9jYXNlID8KKwkJCSAgIHN0cmloYXNoKGUtPnBhdHRlcm4pIDoKKwkJCSAgIHN0cmhhc2goZS0+cGF0dGVybikpOworCisJaGFzaG1hcF9hZGQoJnBsLT5yZWN1cnNpdmVfaGFzaG1hcCwgJmUtPmVudCk7CisKKwl3aGlsZSAoZS0+cGF0dGVybmxlbikgeworCQljaGFyICpzbGFzaCA9IHN0cnJjaHIoZS0+cGF0dGVybiwgJy8nKTsKKwkJY2hhciAqb2xkcGF0dGVybiA9IGUtPnBhdHRlcm47CisJCXNpemVfdCBuZXdsZW47CisKKwkJaWYgKHNsYXNoID09IGUtPnBhdHRlcm4pCisJCQlicmVhazsKKworCQluZXdsZW4gPSBzbGFzaCAtIGUtPnBhdHRlcm47CisJCWUgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgcGF0dGVybl9lbnRyeSkpOworCQllLT5wYXR0ZXJubGVuID0gbmV3bGVuOworCQllLT5wYXR0ZXJuID0geHN0cm5kdXAob2xkcGF0dGVybiwgbmV3bGVuKTsKKwkJaGFzaG1hcF9lbnRyeV9pbml0KCZlLT5lbnQsCisJCQkJICAgaWdub3JlX2Nhc2UgPworCQkJCSAgIHN0cmloYXNoKGUtPnBhdHRlcm4pIDoKKwkJCQkgICBzdHJoYXNoKGUtPnBhdHRlcm4pKTsKKworCQlpZiAoIWhhc2htYXBfZ2V0X2VudHJ5KCZwbC0+cGFyZW50X2hhc2htYXAsIGUsIGVudCwgTlVMTCkpCisJCQloYXNobWFwX2FkZCgmcGwtPnBhcmVudF9oYXNobWFwLCAmZS0+ZW50KTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHN0cmJ1Zl90b19jb25lX3BhdHRlcm4oc3RydWN0IHN0cmJ1ZiAqbGluZSwgc3RydWN0IHBhdHRlcm5fbGlzdCAqcGwpCit7CisJc3RyYnVmX3RyaW0obGluZSk7CisKKwlzdHJidWZfdHJpbV90cmFpbGluZ19kaXJfc2VwKGxpbmUpOworCisJaWYgKHN0cmJ1Zl9ub3JtYWxpemVfcGF0aChsaW5lKSkKKwkJZGllKF8oImNvdWxkIG5vdCBub3JtYWxpemUgcGF0aCAlcyIpLCBsaW5lLT5idWYpOworCisJaWYgKCFsaW5lLT5sZW4pCisJCXJldHVybjsKKworCWlmIChsaW5lLT5idWZbMF0gIT0gJy8nKQorCQlzdHJidWZfaW5zZXJ0c3RyKGxpbmUsIDAsICIvIik7CisKKwlpbnNlcnRfcmVjdXJzaXZlX3BhdHRlcm4ocGwsIGxpbmUpOworfQorCitzdGF0aWMgY2hhciBjb25zdCAqIGNvbnN0IGJ1aWx0aW5fc3BhcnNlX2NoZWNrb3V0X3NldF91c2FnZVtdID0geworCU5fKCJnaXQgc3BhcnNlLWNoZWNrb3V0IChzZXR8YWRkKSAoLS1zdGRpbiB8IDxwYXR0ZXJucz4pIiksCisJTlVMTAorfTsKKworc3RhdGljIHN0cnVjdCBzcGFyc2VfY2hlY2tvdXRfc2V0X29wdHMgeworCWludCB1c2Vfc3RkaW47Cit9IHNldF9vcHRzOworCitzdGF0aWMgdm9pZCBhZGRfcGF0dGVybnNfZnJvbV9pbnB1dChzdHJ1Y3QgcGF0dGVybl9saXN0ICpwbCwKKwkJCQkgICAgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCWludCBpOworCWlmIChjb3JlX3NwYXJzZV9jaGVja291dF9jb25lKSB7CisJCXN0cnVjdCBzdHJidWYgbGluZSA9IFNUUkJVRl9JTklUOworCisJCWhhc2htYXBfaW5pdCgmcGwtPnJlY3Vyc2l2ZV9oYXNobWFwLCBwbF9oYXNobWFwX2NtcCwgTlVMTCwgMCk7CisJCWhhc2htYXBfaW5pdCgmcGwtPnBhcmVudF9oYXNobWFwLCBwbF9oYXNobWFwX2NtcCwgTlVMTCwgMCk7CisJCXBsLT51c2VfY29uZV9wYXR0ZXJucyA9IDE7CisKKwkJaWYgKHNldF9vcHRzLnVzZV9zdGRpbikgeworCQkJc3RydWN0IHN0cmJ1ZiB1bnF1b3RlZCA9IFNUUkJVRl9JTklUOworCQkJd2hpbGUgKCFzdHJidWZfZ2V0bGluZSgmbGluZSwgc3RkaW4pKSB7CisJCQkJaWYgKGxpbmUuYnVmWzBdID09ICciJykgeworCQkJCQlzdHJidWZfcmVzZXQoJnVucXVvdGVkKTsKKwkJCQkJaWYgKHVucXVvdGVfY19zdHlsZSgmdW5xdW90ZWQsIGxpbmUuYnVmLCBOVUxMKSkKKwkJCQkJCWRpZShfKCJ1bmFibGUgdG8gdW5xdW90ZSBDLXN0eWxlIHN0cmluZyAnJXMnIiksCisJCQkJCQlsaW5lLmJ1Zik7CisKKwkJCQkJc3RyYnVmX3N3YXAoJnVucXVvdGVkLCAmbGluZSk7CisJCQkJfQorCisJCQkJc3RyYnVmX3RvX2NvbmVfcGF0dGVybigmbGluZSwgcGwpOworCQkJfQorCisJCQlzdHJidWZfcmVsZWFzZSgmdW5xdW90ZWQpOworCQl9IGVsc2UgeworCQkJZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykgeworCQkJCXN0cmJ1Zl9zZXRsZW4oJmxpbmUsIDApOworCQkJCXN0cmJ1Zl9hZGRzdHIoJmxpbmUsIGFyZ3ZbaV0pOworCQkJCXN0cmJ1Zl90b19jb25lX3BhdHRlcm4oJmxpbmUsIHBsKTsKKwkJCX0KKwkJfQorCX0gZWxzZSB7CisJCWlmIChzZXRfb3B0cy51c2Vfc3RkaW4pIHsKKwkJCXN0cnVjdCBzdHJidWYgbGluZSA9IFNUUkJVRl9JTklUOworCisJCQl3aGlsZSAoIXN0cmJ1Zl9nZXRsaW5lKCZsaW5lLCBzdGRpbikpIHsKKwkJCQlzaXplX3QgbGVuOworCQkJCWNoYXIgKmJ1ZiA9IHN0cmJ1Zl9kZXRhY2goJmxpbmUsICZsZW4pOworCQkJCWFkZF9wYXR0ZXJuKGJ1ZiwgZW1wdHlfYmFzZSwgMCwgcGwsIDApOworCQkJfQorCQl9IGVsc2UgeworCQkJZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykKKwkJCQlhZGRfcGF0dGVybihhcmd2W2ldLCBlbXB0eV9iYXNlLCAwLCBwbCwgMCk7CisJCX0KKwl9Cit9CisKK2VudW0gbW9kaWZ5X3R5cGUgeworCVJFUExBQ0UsCisJQURELAorfTsKKworc3RhdGljIHZvaWQgYWRkX3BhdHRlcm5zX2NvbmVfbW9kZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsCisJCQkJICAgc3RydWN0IHBhdHRlcm5fbGlzdCAqcGwpCit7CisJc3RydWN0IHN0cmJ1ZiBidWZmZXIgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3QgcGF0dGVybl9lbnRyeSAqcGU7CisJc3RydWN0IGhhc2htYXBfaXRlciBpdGVyOworCXN0cnVjdCBwYXR0ZXJuX2xpc3QgZXhpc3Rpbmc7CisJY2hhciAqc3BhcnNlX2ZpbGVuYW1lID0gZ2V0X3NwYXJzZV9jaGVja291dF9maWxlbmFtZSgpOworCisJYWRkX3BhdHRlcm5zX2Zyb21faW5wdXQocGwsIGFyZ2MsIGFyZ3YpOworCisJbWVtc2V0KCZleGlzdGluZywgMCwgc2l6ZW9mKGV4aXN0aW5nKSk7CisJZXhpc3RpbmcudXNlX2NvbmVfcGF0dGVybnMgPSBjb3JlX3NwYXJzZV9jaGVja291dF9jb25lOworCisJaWYgKGFkZF9wYXR0ZXJuc19mcm9tX2ZpbGVfdG9fbGlzdChzcGFyc2VfZmlsZW5hbWUsICIiLCAwLAorCQkJCQkgICAmZXhpc3RpbmcsIE5VTEwpKQorCQlkaWUoXygidW5hYmxlIHRvIGxvYWQgZXhpc3Rpbmcgc3BhcnNlLWNoZWNrb3V0IHBhdHRlcm5zIikpOworCWZyZWUoc3BhcnNlX2ZpbGVuYW1lKTsKKworCWhhc2htYXBfZm9yX2VhY2hfZW50cnkoJmV4aXN0aW5nLnJlY3Vyc2l2ZV9oYXNobWFwLCAmaXRlciwgcGUsIGVudCkgeworCQlpZiAoIWhhc2htYXBfY29udGFpbnNfcGFyZW50KCZwbC0+cmVjdXJzaXZlX2hhc2htYXAsCisJCQkJCXBlLT5wYXR0ZXJuLCAmYnVmZmVyKSB8fAorCQkgICAgIWhhc2htYXBfY29udGFpbnNfcGFyZW50KCZwbC0+cGFyZW50X2hhc2htYXAsCisJCQkJCXBlLT5wYXR0ZXJuLCAmYnVmZmVyKSkgeworCQkJc3RyYnVmX3Jlc2V0KCZidWZmZXIpOworCQkJc3RyYnVmX2FkZHN0cigmYnVmZmVyLCBwZS0+cGF0dGVybik7CisJCQlpbnNlcnRfcmVjdXJzaXZlX3BhdHRlcm4ocGwsICZidWZmZXIpOworCQl9CisJfQorCisJY2xlYXJfcGF0dGVybl9saXN0KCZleGlzdGluZyk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1ZmZlcik7Cit9CisKK3N0YXRpYyB2b2lkIGFkZF9wYXR0ZXJuc19saXRlcmFsKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwKKwkJCQkgc3RydWN0IHBhdHRlcm5fbGlzdCAqcGwpCit7CisJY2hhciAqc3BhcnNlX2ZpbGVuYW1lID0gZ2V0X3NwYXJzZV9jaGVja291dF9maWxlbmFtZSgpOworCWlmIChhZGRfcGF0dGVybnNfZnJvbV9maWxlX3RvX2xpc3Qoc3BhcnNlX2ZpbGVuYW1lLCAiIiwgMCwKKwkJCQkJICAgcGwsIE5VTEwpKQorCQlkaWUoXygidW5hYmxlIHRvIGxvYWQgZXhpc3Rpbmcgc3BhcnNlLWNoZWNrb3V0IHBhdHRlcm5zIikpOworCWZyZWUoc3BhcnNlX2ZpbGVuYW1lKTsKKwlhZGRfcGF0dGVybnNfZnJvbV9pbnB1dChwbCwgYXJnYywgYXJndik7Cit9CisKK3N0YXRpYyBpbnQgbW9kaWZ5X3BhdHRlcm5fbGlzdChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGVudW0gbW9kaWZ5X3R5cGUgbSkKK3sKKwlpbnQgcmVzdWx0OworCWludCBjaGFuZ2VkX2NvbmZpZyA9IDA7CisJc3RydWN0IHBhdHRlcm5fbGlzdCBwbDsKKwltZW1zZXQoJnBsLCAwLCBzaXplb2YocGwpKTsKKworCXN3aXRjaCAobSkgeworCWNhc2UgQUREOgorCQlpZiAoY29yZV9zcGFyc2VfY2hlY2tvdXRfY29uZSkKKwkJCWFkZF9wYXR0ZXJuc19jb25lX21vZGUoYXJnYywgYXJndiwgJnBsKTsKKwkJZWxzZQorCQkJYWRkX3BhdHRlcm5zX2xpdGVyYWwoYXJnYywgYXJndiwgJnBsKTsKKwkJYnJlYWs7CisKKwljYXNlIFJFUExBQ0U6CisJCWFkZF9wYXR0ZXJuc19mcm9tX2lucHV0KCZwbCwgYXJnYywgYXJndik7CisJCWJyZWFrOworCX0KKworCWlmICghY29yZV9hcHBseV9zcGFyc2VfY2hlY2tvdXQpIHsKKwkJc2V0X2NvbmZpZyhNT0RFX0FMTF9QQVRURVJOUyk7CisJCWNvcmVfYXBwbHlfc3BhcnNlX2NoZWNrb3V0ID0gMTsKKwkJY2hhbmdlZF9jb25maWcgPSAxOworCX0KKworCXJlc3VsdCA9IHdyaXRlX3BhdHRlcm5zX2FuZF91cGRhdGUoJnBsKTsKKworCWlmIChyZXN1bHQgJiYgY2hhbmdlZF9jb25maWcpCisJCXNldF9jb25maWcoTU9ERV9OT19QQVRURVJOUyk7CisKKwljbGVhcl9wYXR0ZXJuX2xpc3QoJnBsKTsKKwlyZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgaW50IHNwYXJzZV9jaGVja291dF9zZXQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgsCisJCQkgICAgICAgZW51bSBtb2RpZnlfdHlwZSBtKQoreworCXN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIGJ1aWx0aW5fc3BhcnNlX2NoZWNrb3V0X3NldF9vcHRpb25zW10gPSB7CisJCU9QVF9CT09MKDAsICJzdGRpbiIsICZzZXRfb3B0cy51c2Vfc3RkaW4sCisJCQkgTl8oInJlYWQgcGF0dGVybnMgZnJvbSBzdGFuZGFyZCBpbiIpKSwKKwkJT1BUX0VORCgpLAorCX07CisKKwlyZXBvX3JlYWRfaW5kZXgodGhlX3JlcG9zaXRvcnkpOworCXJlcXVpcmVfY2xlYW5fd29ya190cmVlKHRoZV9yZXBvc2l0b3J5LAorCQkJCU5fKCJzZXQgc3BhcnNlLWNoZWNrb3V0IHBhdHRlcm5zIiksIE5VTEwsIDEsIDApOworCisJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LAorCQkJICAgICBidWlsdGluX3NwYXJzZV9jaGVja291dF9zZXRfb3B0aW9ucywKKwkJCSAgICAgYnVpbHRpbl9zcGFyc2VfY2hlY2tvdXRfc2V0X3VzYWdlLAorCQkJICAgICBQQVJTRV9PUFRfS0VFUF9VTktOT1dOKTsKKworCXJldHVybiBtb2RpZnlfcGF0dGVybl9saXN0KGFyZ2MsIGFyZ3YsIG0pOworfQorCitzdGF0aWMgaW50IHNwYXJzZV9jaGVja291dF9kaXNhYmxlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgcGF0dGVybl9saXN0IHBsOworCXN0cnVjdCBzdHJidWYgbWF0Y2hfYWxsID0gU1RSQlVGX0lOSVQ7CisKKwlyZXBvX3JlYWRfaW5kZXgodGhlX3JlcG9zaXRvcnkpOworCXJlcXVpcmVfY2xlYW5fd29ya190cmVlKHRoZV9yZXBvc2l0b3J5LAorCQkJCU5fKCJkaXNhYmxlIHNwYXJzZS1jaGVja291dCIpLCBOVUxMLCAxLCAwKTsKKworCW1lbXNldCgmcGwsIDAsIHNpemVvZihwbCkpOworCWhhc2htYXBfaW5pdCgmcGwucmVjdXJzaXZlX2hhc2htYXAsIHBsX2hhc2htYXBfY21wLCBOVUxMLCAwKTsKKwloYXNobWFwX2luaXQoJnBsLnBhcmVudF9oYXNobWFwLCBwbF9oYXNobWFwX2NtcCwgTlVMTCwgMCk7CisJcGwudXNlX2NvbmVfcGF0dGVybnMgPSAwOworCWNvcmVfYXBwbHlfc3BhcnNlX2NoZWNrb3V0ID0gMTsKKworCXN0cmJ1Zl9hZGRzdHIoJm1hdGNoX2FsbCwgIi8qIik7CisJYWRkX3BhdHRlcm4oc3RyYnVmX2RldGFjaCgmbWF0Y2hfYWxsLCBOVUxMKSwgZW1wdHlfYmFzZSwgMCwgJnBsLCAwKTsKKworCWlmICh1cGRhdGVfd29ya2luZ19kaXJlY3RvcnkoJnBsKSkKKwkJZGllKF8oImVycm9yIHdoaWxlIHJlZnJlc2hpbmcgd29ya2luZyBkaXJlY3RvcnkiKSk7CisKKwljbGVhcl9wYXR0ZXJuX2xpc3QoJnBsKTsKKwlyZXR1cm4gc2V0X2NvbmZpZyhNT0RFX05PX1BBVFRFUk5TKTsKK30KKworaW50IGNtZF9zcGFyc2VfY2hlY2tvdXQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJc3RhdGljIHN0cnVjdCBvcHRpb24gYnVpbHRpbl9zcGFyc2VfY2hlY2tvdXRfb3B0aW9uc1tdID0geworCQlPUFRfRU5EKCksCisJfTsKKworCWlmIChhcmdjID09IDIgJiYgIXN0cmNtcChhcmd2WzFdLCAiLWgiKSkKKwkJdXNhZ2Vfd2l0aF9vcHRpb25zKGJ1aWx0aW5fc3BhcnNlX2NoZWNrb3V0X3VzYWdlLAorCQkJCSAgIGJ1aWx0aW5fc3BhcnNlX2NoZWNrb3V0X29wdGlvbnMpOworCisJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LAorCQkJICAgICBidWlsdGluX3NwYXJzZV9jaGVja291dF9vcHRpb25zLAorCQkJICAgICBidWlsdGluX3NwYXJzZV9jaGVja291dF91c2FnZSwKKwkJCSAgICAgUEFSU0VfT1BUX1NUT1BfQVRfTk9OX09QVElPTik7CisKKwlnaXRfY29uZmlnKGdpdF9kZWZhdWx0X2NvbmZpZywgTlVMTCk7CisKKwlpZiAoYXJnYyA+IDApIHsKKwkJaWYgKCFzdHJjbXAoYXJndlswXSwgImxpc3QiKSkKKwkJCXJldHVybiBzcGFyc2VfY2hlY2tvdXRfbGlzdChhcmdjLCBhcmd2KTsKKwkJaWYgKCFzdHJjbXAoYXJndlswXSwgImluaXQiKSkKKwkJCXJldHVybiBzcGFyc2VfY2hlY2tvdXRfaW5pdChhcmdjLCBhcmd2KTsKKwkJaWYgKCFzdHJjbXAoYXJndlswXSwgInNldCIpKQorCQkJcmV0dXJuIHNwYXJzZV9jaGVja291dF9zZXQoYXJnYywgYXJndiwgcHJlZml4LCBSRVBMQUNFKTsKKwkJaWYgKCFzdHJjbXAoYXJndlswXSwgImFkZCIpKQorCQkJcmV0dXJuIHNwYXJzZV9jaGVja291dF9zZXQoYXJnYywgYXJndiwgcHJlZml4LCBBREQpOworCQlpZiAoIXN0cmNtcChhcmd2WzBdLCAiZGlzYWJsZSIpKQorCQkJcmV0dXJuIHNwYXJzZV9jaGVja291dF9kaXNhYmxlKGFyZ2MsIGFyZ3YpOworCX0KKworCXVzYWdlX3dpdGhfb3B0aW9ucyhidWlsdGluX3NwYXJzZV9jaGVja291dF91c2FnZSwKKwkJCSAgIGJ1aWx0aW5fc3BhcnNlX2NoZWNrb3V0X29wdGlvbnMpOworfQpkaWZmIC0tZ2l0IGEvYnVpbHRpbi9zdGFzaC5jIGIvYnVpbHRpbi9zdGFzaC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4YWY2Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9idWlsdGluL3N0YXNoLmMKQEAgLTAsMCArMSwxNjUwIEBACisjZGVmaW5lIFVTRV9USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKKyNpbmNsdWRlICJidWlsdGluLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgorI2luY2x1ZGUgInJlZnMuaCIKKyNpbmNsdWRlICJsb2NrZmlsZS5oIgorI2luY2x1ZGUgImNhY2hlLXRyZWUuaCIKKyNpbmNsdWRlICJ1bnBhY2stdHJlZXMuaCIKKyNpbmNsdWRlICJtZXJnZS1yZWN1cnNpdmUuaCIKKyNpbmNsdWRlICJhcmd2LWFycmF5LmgiCisjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKKyNpbmNsdWRlICJkaXIuaCIKKyNpbmNsdWRlICJyZXJlcmUuaCIKKyNpbmNsdWRlICJyZXZpc2lvbi5oIgorI2luY2x1ZGUgImxvZy10cmVlLmgiCisjaW5jbHVkZSAiZGlmZmNvcmUuaCIKKyNpbmNsdWRlICJleGVjLWNtZC5oIgorCisjZGVmaW5lIElOQ0xVREVfQUxMX0ZJTEVTIDIKKworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBnaXRfc3Rhc2hfdXNhZ2VbXSA9IHsKKwlOXygiZ2l0IHN0YXNoIGxpc3QgWzxvcHRpb25zPl0iKSwKKwlOXygiZ2l0IHN0YXNoIHNob3cgWzxvcHRpb25zPl0gWzxzdGFzaD5dIiksCisJTl8oImdpdCBzdGFzaCBkcm9wIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iKSwKKwlOXygiZ2l0IHN0YXNoICggcG9wIHwgYXBwbHkgKSBbLS1pbmRleF0gWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIpLAorCU5fKCJnaXQgc3Rhc2ggYnJhbmNoIDxicmFuY2huYW1lPiBbPHN0YXNoPl0iKSwKKwlOXygiZ2l0IHN0YXNoIGNsZWFyIiksCisJTl8oImdpdCBzdGFzaCBbcHVzaCBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKwkgICAiICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFstbXwtLW1lc3NhZ2UgPG1lc3NhZ2U+XVxuIgorCSAgICIgICAgICAgICAgWy0tcGF0aHNwZWMtZnJvbS1maWxlPTxmaWxlPiBbLS1wYXRoc3BlYy1maWxlLW51bF1dXG4iCisJICAgIiAgICAgICAgICBbLS1dIFs8cGF0aHNwZWM+Li4uXV0iKSwKKwlOXygiZ2l0IHN0YXNoIHNhdmUgWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisJICAgIiAgICAgICAgICBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbPG1lc3NhZ2U+XSIpLAorCU5VTEwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZ2l0X3N0YXNoX2xpc3RfdXNhZ2VbXSA9IHsKKwlOXygiZ2l0IHN0YXNoIGxpc3QgWzxvcHRpb25zPl0iKSwKKwlOVUxMCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGdpdF9zdGFzaF9zaG93X3VzYWdlW10gPSB7CisJTl8oImdpdCBzdGFzaCBzaG93IFs8b3B0aW9ucz5dIFs8c3Rhc2g+XSIpLAorCU5VTEwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZ2l0X3N0YXNoX2Ryb3BfdXNhZ2VbXSA9IHsKKwlOXygiZ2l0IHN0YXNoIGRyb3AgWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIpLAorCU5VTEwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZ2l0X3N0YXNoX3BvcF91c2FnZVtdID0geworCU5fKCJnaXQgc3Rhc2ggcG9wIFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIiksCisJTlVMTAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBnaXRfc3Rhc2hfYXBwbHlfdXNhZ2VbXSA9IHsKKwlOXygiZ2l0IHN0YXNoIGFwcGx5IFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIiksCisJTlVMTAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBnaXRfc3Rhc2hfYnJhbmNoX3VzYWdlW10gPSB7CisJTl8oImdpdCBzdGFzaCBicmFuY2ggPGJyYW5jaG5hbWU+IFs8c3Rhc2g+XSIpLAorCU5VTEwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZ2l0X3N0YXNoX2NsZWFyX3VzYWdlW10gPSB7CisJTl8oImdpdCBzdGFzaCBjbGVhciIpLAorCU5VTEwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZ2l0X3N0YXNoX3N0b3JlX3VzYWdlW10gPSB7CisJTl8oImdpdCBzdGFzaCBzdG9yZSBbLW18LS1tZXNzYWdlIDxtZXNzYWdlPl0gWy1xfC0tcXVpZXRdIDxjb21taXQ+IiksCisJTlVMTAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBnaXRfc3Rhc2hfcHVzaF91c2FnZVtdID0geworCU5fKCJnaXQgc3Rhc2ggW3B1c2ggWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisJICAgIiAgICAgICAgICBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbLW18LS1tZXNzYWdlIDxtZXNzYWdlPl1cbiIKKwkgICAiICAgICAgICAgIFstLV0gWzxwYXRoc3BlYz4uLi5dXSIpLAorCU5VTEwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZ2l0X3N0YXNoX3NhdmVfdXNhZ2VbXSA9IHsKKwlOXygiZ2l0IHN0YXNoIHNhdmUgWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisJICAgIiAgICAgICAgICBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbPG1lc3NhZ2U+XSIpLAorCU5VTEwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICpyZWZfc3Rhc2ggPSAicmVmcy9zdGFzaCI7CitzdGF0aWMgc3RydWN0IHN0cmJ1ZiBzdGFzaF9pbmRleF9wYXRoID0gU1RSQlVGX0lOSVQ7CisKKy8qCisgKiB3X2NvbW1pdCBpcyBzZXQgdG8gdGhlIGNvbW1pdCBjb250YWluaW5nIHRoZSB3b3JraW5nIHRyZWUKKyAqIGJfY29tbWl0IGlzIHNldCB0byB0aGUgYmFzZSBjb21taXQKKyAqIGlfY29tbWl0IGlzIHNldCB0byB0aGUgY29tbWl0IGNvbnRhaW5pbmcgdGhlIGluZGV4IHRyZWUKKyAqIHVfY29tbWl0IGlzIHNldCB0byB0aGUgY29tbWl0IGNvbnRhaW5pbmcgdGhlIHVudHJhY2tlZCBmaWxlcyB0cmVlCisgKiB3X3RyZWUgaXMgc2V0IHRvIHRoZSB3b3JraW5nIHRyZWUKKyAqIGJfdHJlZSBpcyBzZXQgdG8gdGhlIGJhc2UgdHJlZQorICogaV90cmVlIGlzIHNldCB0byB0aGUgaW5kZXggdHJlZQorICogdV90cmVlIGlzIHNldCB0byB0aGUgdW50cmFja2VkIGZpbGVzIHRyZWUKKyAqLworc3RydWN0IHN0YXNoX2luZm8geworCXN0cnVjdCBvYmplY3RfaWQgd19jb21taXQ7CisJc3RydWN0IG9iamVjdF9pZCBiX2NvbW1pdDsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIGlfY29tbWl0OworCXN0cnVjdCBvYmplY3RfaWQgdV9jb21taXQ7CisJc3RydWN0IG9iamVjdF9pZCB3X3RyZWU7CisJc3RydWN0IG9iamVjdF9pZCBiX3RyZWU7CisJc3RydWN0IG9iamVjdF9pZCBpX3RyZWU7CisJc3RydWN0IG9iamVjdF9pZCB1X3RyZWU7CisJc3RydWN0IHN0cmJ1ZiByZXZpc2lvbjsKKwlpbnQgaXNfc3Rhc2hfcmVmOworCWludCBoYXNfdTsKK307CisKK3N0YXRpYyB2b2lkIGZyZWVfc3Rhc2hfaW5mbyhzdHJ1Y3Qgc3Rhc2hfaW5mbyAqaW5mbykKK3sKKwlzdHJidWZfcmVsZWFzZSgmaW5mby0+cmV2aXNpb24pOworfQorCitzdGF0aWMgdm9pZCBhc3NlcnRfc3Rhc2hfbGlrZShzdHJ1Y3Qgc3Rhc2hfaW5mbyAqaW5mbywgY29uc3QgY2hhciAqcmV2aXNpb24pCit7CisJaWYgKGdldF9vaWRmKCZpbmZvLT5iX2NvbW1pdCwgIiVzXjEiLCByZXZpc2lvbikgfHwKKwkgICAgZ2V0X29pZGYoJmluZm8tPndfdHJlZSwgIiVzOiIsIHJldmlzaW9uKSB8fAorCSAgICBnZXRfb2lkZigmaW5mby0+Yl90cmVlLCAiJXNeMToiLCByZXZpc2lvbikgfHwKKwkgICAgZ2V0X29pZGYoJmluZm8tPmlfdHJlZSwgIiVzXjI6IiwgcmV2aXNpb24pKQorCQlkaWUoXygiJyVzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIpLCByZXZpc2lvbik7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X3N0YXNoX2luZm8oc3RydWN0IHN0YXNoX2luZm8gKmluZm8sIGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKK3sKKwlpbnQgcmV0OworCWNoYXIgKmVuZF9vZl9yZXY7CisJY2hhciAqZXhwYW5kZWRfcmVmOworCWNvbnN0IGNoYXIgKnJldmlzaW9uOworCWNvbnN0IGNoYXIgKmNvbW1pdCA9IE5VTEw7CisJc3RydWN0IG9iamVjdF9pZCBkdW1teTsKKwlzdHJ1Y3Qgc3RyYnVmIHN5bWJvbGljID0gU1RSQlVGX0lOSVQ7CisKKwlpZiAoYXJnYyA+IDEpIHsKKwkJaW50IGk7CisJCXN0cnVjdCBzdHJidWYgcmVmc19tc2cgPSBTVFJCVUZfSU5JVDsKKworCQlmb3IgKGkgPSAwOyBpIDwgYXJnYzsgaSsrKQorCQkJc3RyYnVmX2FkZGYoJnJlZnNfbXNnLCAiICclcyciLCBhcmd2W2ldKTsKKworCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygiVG9vIG1hbnkgcmV2aXNpb25zIHNwZWNpZmllZDolcyIpLAorCQkJICAgcmVmc19tc2cuYnVmKTsKKwkJc3RyYnVmX3JlbGVhc2UoJnJlZnNfbXNnKTsKKworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGFyZ2MgPT0gMSkKKwkJY29tbWl0ID0gYXJndlswXTsKKworCXN0cmJ1Zl9pbml0KCZpbmZvLT5yZXZpc2lvbiwgMCk7CisJaWYgKCFjb21taXQpIHsKKwkJaWYgKCFyZWZfZXhpc3RzKHJlZl9zdGFzaCkpIHsKKwkJCWZyZWVfc3Rhc2hfaW5mbyhpbmZvKTsKKwkJCWZwcmludGZfbG4oc3RkZXJyLCBfKCJObyBzdGFzaCBlbnRyaWVzIGZvdW5kLiIpKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCisJCXN0cmJ1Zl9hZGRmKCZpbmZvLT5yZXZpc2lvbiwgIiVzQHswfSIsIHJlZl9zdGFzaCk7CisJfSBlbHNlIGlmIChzdHJzcG4oY29tbWl0LCAiMDEyMzQ1Njc4OSIpID09IHN0cmxlbihjb21taXQpKSB7CisJCXN0cmJ1Zl9hZGRmKCZpbmZvLT5yZXZpc2lvbiwgIiVzQHslc30iLCByZWZfc3Rhc2gsIGNvbW1pdCk7CisJfSBlbHNlIHsKKwkJc3RyYnVmX2FkZHN0cigmaW5mby0+cmV2aXNpb24sIGNvbW1pdCk7CisJfQorCisJcmV2aXNpb24gPSBpbmZvLT5yZXZpc2lvbi5idWY7CisKKwlpZiAoZ2V0X29pZChyZXZpc2lvbiwgJmluZm8tPndfY29tbWl0KSkgeworCQllcnJvcihfKCIlcyBpcyBub3QgYSB2YWxpZCByZWZlcmVuY2UiKSwgcmV2aXNpb24pOworCQlmcmVlX3N0YXNoX2luZm8oaW5mbyk7CisJCXJldHVybiAtMTsKKwl9CisKKwlhc3NlcnRfc3Rhc2hfbGlrZShpbmZvLCByZXZpc2lvbik7CisKKwlpbmZvLT5oYXNfdSA9ICFnZXRfb2lkZigmaW5mby0+dV90cmVlLCAiJXNeMzoiLCByZXZpc2lvbik7CisKKwllbmRfb2ZfcmV2ID0gc3RyY2hybnVsKHJldmlzaW9uLCAnQCcpOworCXN0cmJ1Zl9hZGQoJnN5bWJvbGljLCByZXZpc2lvbiwgZW5kX29mX3JldiAtIHJldmlzaW9uKTsKKworCXJldCA9IGR3aW1fcmVmKHN5bWJvbGljLmJ1Ziwgc3ltYm9saWMubGVuLCAmZHVtbXksICZleHBhbmRlZF9yZWYpOworCXN0cmJ1Zl9yZWxlYXNlKCZzeW1ib2xpYyk7CisJc3dpdGNoIChyZXQpIHsKKwljYXNlIDA6IC8qIE5vdCBmb3VuZCwgYnV0IHZhbGlkIHJlZiAqLworCQlpbmZvLT5pc19zdGFzaF9yZWYgPSAwOworCQlicmVhazsKKwljYXNlIDE6CisJCWluZm8tPmlzX3N0YXNoX3JlZiA9ICFzdHJjbXAoZXhwYW5kZWRfcmVmLCByZWZfc3Rhc2gpOworCQlicmVhazsKKwlkZWZhdWx0OiAvKiBJbnZhbGlkIG9yIGFtYmlndW91cyAqLworCQlmcmVlX3N0YXNoX2luZm8oaW5mbyk7CisJfQorCisJZnJlZShleHBhbmRlZF9yZWYpOworCXJldHVybiAhKHJldCA9PSAwIHx8IHJldCA9PSAxKTsKK30KKworc3RhdGljIGludCBkb19jbGVhcl9zdGFzaCh2b2lkKQoreworCXN0cnVjdCBvYmplY3RfaWQgb2JqOworCWlmIChnZXRfb2lkKHJlZl9zdGFzaCwgJm9iaikpCisJCXJldHVybiAwOworCisJcmV0dXJuIGRlbGV0ZV9yZWYoTlVMTCwgcmVmX3N0YXNoLCAmb2JqLCAwKTsKK30KKworc3RhdGljIGludCBjbGVhcl9zdGFzaChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKKwkJT1BUX0VORCgpCisJfTsKKworCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0aW9ucywKKwkJCSAgICAgZ2l0X3N0YXNoX2NsZWFyX3VzYWdlLAorCQkJICAgICBQQVJTRV9PUFRfU1RPUF9BVF9OT05fT1BUSU9OKTsKKworCWlmIChhcmdjKQorCQlyZXR1cm4gZXJyb3IoXygiZ2l0IHN0YXNoIGNsZWFyIHdpdGggcGFyYW1ldGVycyBpcyAiCisJCQkgICAgICAgInVuaW1wbGVtZW50ZWQiKSk7CisKKwlyZXR1cm4gZG9fY2xlYXJfc3Rhc2goKTsKK30KKworc3RhdGljIGludCByZXNldF90cmVlKHN0cnVjdCBvYmplY3RfaWQgKmlfdHJlZSwgaW50IHVwZGF0ZSwgaW50IHJlc2V0KQoreworCWludCBucl90cmVlcyA9IDE7CisJc3RydWN0IHVucGFja190cmVlc19vcHRpb25zIG9wdHM7CisJc3RydWN0IHRyZWVfZGVzYyB0W01BWF9VTlBBQ0tfVFJFRVNdOworCXN0cnVjdCB0cmVlICp0cmVlOworCXN0cnVjdCBsb2NrX2ZpbGUgbG9ja19maWxlID0gTE9DS19JTklUOworCisJcmVhZF9jYWNoZV9wcmVsb2FkKE5VTEwpOworCWlmIChyZWZyZXNoX2NhY2hlKFJFRlJFU0hfUVVJRVQpKQorCQlyZXR1cm4gLTE7CisKKwlob2xkX2xvY2tlZF9pbmRleCgmbG9ja19maWxlLCBMT0NLX0RJRV9PTl9FUlJPUik7CisKKwltZW1zZXQoJm9wdHMsIDAsIHNpemVvZihvcHRzKSk7CisKKwl0cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdChpX3RyZWUpOworCWlmIChwYXJzZV90cmVlKHRyZWUpKQorCQlyZXR1cm4gLTE7CisKKwlpbml0X3RyZWVfZGVzYyh0LCB0cmVlLT5idWZmZXIsIHRyZWUtPnNpemUpOworCisJb3B0cy5oZWFkX2lkeCA9IDE7CisJb3B0cy5zcmNfaW5kZXggPSAmdGhlX2luZGV4OworCW9wdHMuZHN0X2luZGV4ID0gJnRoZV9pbmRleDsKKwlvcHRzLm1lcmdlID0gMTsKKwlvcHRzLnJlc2V0ID0gcmVzZXQ7CisJb3B0cy51cGRhdGUgPSB1cGRhdGU7CisJb3B0cy5mbiA9IG9uZXdheV9tZXJnZTsKKworCWlmICh1bnBhY2tfdHJlZXMobnJfdHJlZXMsIHQsICZvcHRzKSkKKwkJcmV0dXJuIC0xOworCisJaWYgKHdyaXRlX2xvY2tlZF9pbmRleCgmdGhlX2luZGV4LCAmbG9ja19maWxlLCBDT01NSVRfTE9DSykpCisJCXJldHVybiBlcnJvcihfKCJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiKSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkaWZmX3RyZWVfYmluYXJ5KHN0cnVjdCBzdHJidWYgKm91dCwgc3RydWN0IG9iamVjdF9pZCAqd19jb21taXQpCit7CisJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CisJY29uc3QgY2hhciAqd19jb21taXRfaGV4ID0gb2lkX3RvX2hleCh3X2NvbW1pdCk7CisKKwkvKgorCSAqIERpZmYtdHJlZSB3b3VsZCBub3QgYmUgdmVyeSBoYXJkIHRvIHJlcGxhY2Ugd2l0aCBhIG5hdGl2ZSBmdW5jdGlvbiwKKwkgKiBob3dldmVyIGl0IHNob3VsZCBiZSBkb25lIHRvZ2V0aGVyIHdpdGggYXBwbHlfY2FjaGVkLgorCSAqLworCWNwLmdpdF9jbWQgPSAxOworCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwLmFyZ3MsICJkaWZmLXRyZWUiLCAiLS1iaW5hcnkiLCBOVUxMKTsKKwlhcmd2X2FycmF5X3B1c2hmKCZjcC5hcmdzLCAiJXNeMl4uLiVzXjIiLCB3X2NvbW1pdF9oZXgsIHdfY29tbWl0X2hleCk7CisKKwlyZXR1cm4gcGlwZV9jb21tYW5kKCZjcCwgTlVMTCwgMCwgb3V0LCAwLCBOVUxMLCAwKTsKK30KKworc3RhdGljIGludCBhcHBseV9jYWNoZWQoc3RydWN0IHN0cmJ1ZiAqb3V0KQoreworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOworCisJLyoKKwkgKiBBcHBseSBjdXJyZW50bHkgb25seSByZWFkcyBlaXRoZXIgZnJvbSBzdGRpbiBvciBhIGZpbGUsIHRodXMKKwkgKiBhcHBseV9hbGxfcGF0Y2hlcyB3b3VsZCBoYXZlIHRvIGJlIHVwZGF0ZWQgdG8gb3B0aW9uYWxseSB0YWtlIGEKKwkgKiBidWZmZXIuCisJICovCisJY3AuZ2l0X2NtZCA9IDE7CisJYXJndl9hcnJheV9wdXNobCgmY3AuYXJncywgImFwcGx5IiwgIi0tY2FjaGVkIiwgTlVMTCk7CisJcmV0dXJuIHBpcGVfY29tbWFuZCgmY3AsIG91dC0+YnVmLCBvdXQtPmxlbiwgTlVMTCwgMCwgTlVMTCwgMCk7Cit9CisKK3N0YXRpYyBpbnQgcmVzZXRfaGVhZCh2b2lkKQoreworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOworCisJLyoKKwkgKiBSZXNldCBpcyBvdmVyYWxsIHF1aXRlIHNpbXBsZSwgaG93ZXZlciB0aGVyZSBpcyBubyBjdXJyZW50IHB1YmxpYworCSAqIEFQSSBmb3IgcmVzZXR0aW5nLgorCSAqLworCWNwLmdpdF9jbWQgPSAxOworCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgInJlc2V0Iik7CisKKwlyZXR1cm4gcnVuX2NvbW1hbmQoJmNwKTsKK30KKworc3RhdGljIHZvaWQgYWRkX2RpZmZfdG9fYnVmKHN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCAqcSwKKwkJCSAgICBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zLAorCQkJICAgIHZvaWQgKmRhdGEpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgcS0+bnI7IGkrKykgeworCQlzdHJidWZfYWRkc3RyKGRhdGEsIHEtPnF1ZXVlW2ldLT5vbmUtPnBhdGgpOworCisJCS8qIE5VTC10ZXJtaW5hdGU6IHdpbGwgYmUgZmVkIHRvIHVwZGF0ZS1pbmRleCAteiAqLworCQlzdHJidWZfYWRkY2goZGF0YSwgJ1wwJyk7CisJfQorfQorCitzdGF0aWMgaW50IGdldF9uZXdseV9zdGFnZWQoc3RydWN0IHN0cmJ1ZiAqb3V0LCBzdHJ1Y3Qgb2JqZWN0X2lkICpjX3RyZWUpCit7CisJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CisJY29uc3QgY2hhciAqY190cmVlX2hleCA9IG9pZF90b19oZXgoY190cmVlKTsKKworCS8qCisJICogZGlmZi1pbmRleCBpcyB2ZXJ5IHNpbWlsYXIgdG8gZGlmZi10cmVlIGFib3ZlLCBhbmQgc2hvdWxkIGJlCisJICogY29udmVydGVkIHRvZ2V0aGVyIHdpdGggdXBkYXRlX2luZGV4LgorCSAqLworCWNwLmdpdF9jbWQgPSAxOworCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwLmFyZ3MsICJkaWZmLWluZGV4IiwgIi0tY2FjaGVkIiwgIi0tbmFtZS1vbmx5IiwKKwkJCSAiLS1kaWZmLWZpbHRlcj1BIiwgTlVMTCk7CisJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCBjX3RyZWVfaGV4KTsKKwlyZXR1cm4gcGlwZV9jb21tYW5kKCZjcCwgTlVMTCwgMCwgb3V0LCAwLCBOVUxMLCAwKTsKK30KKworc3RhdGljIGludCB1cGRhdGVfaW5kZXgoc3RydWN0IHN0cmJ1ZiAqb3V0KQoreworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOworCisJLyoKKwkgKiBVcGRhdGUtaW5kZXggaXMgdmVyeSBjb21wbGljYXRlZCBhbmQgbWF5IG5lZWQgdG8gaGF2ZSBhIHB1YmxpYworCSAqIGZ1bmN0aW9uIGV4cG9zZWQgaW4gb3JkZXIgdG8gcmVtb3ZlIHRoaXMgZm9ya2luZy4KKwkgKi8KKwljcC5naXRfY21kID0gMTsKKwlhcmd2X2FycmF5X3B1c2hsKCZjcC5hcmdzLCAidXBkYXRlLWluZGV4IiwgIi0tYWRkIiwgIi0tc3RkaW4iLCBOVUxMKTsKKwlyZXR1cm4gcGlwZV9jb21tYW5kKCZjcCwgb3V0LT5idWYsIG91dC0+bGVuLCBOVUxMLCAwLCBOVUxMLCAwKTsKK30KKworc3RhdGljIGludCByZXN0b3JlX3VudHJhY2tlZChzdHJ1Y3Qgb2JqZWN0X2lkICp1X3RyZWUpCit7CisJaW50IHJlczsKKwlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcCA9IENISUxEX1BST0NFU1NfSU5JVDsKKworCS8qCisJICogV2UgbmVlZCB0byBydW4gcmVzdG9yZSBmaWxlcyBmcm9tIGEgZ2l2ZW4gaW5kZXgsIGJ1dCB3aXRob3V0CisJICogYWZmZWN0aW5nIHRoZSBjdXJyZW50IGluZGV4LCBzbyB3ZSB1c2UgR0lUX0lOREVYX0ZJTEUgd2l0aAorCSAqIHJ1bl9jb21tYW5kIHRvIGZvcmsgcHJvY2Vzc2VzIHRoYXQgd2lsbCBub3QgaW50ZXJmZXJlLgorCSAqLworCWNwLmdpdF9jbWQgPSAxOworCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgInJlYWQtdHJlZSIpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgb2lkX3RvX2hleCh1X3RyZWUpKTsKKwlhcmd2X2FycmF5X3B1c2hmKCZjcC5lbnZfYXJyYXksICJHSVRfSU5ERVhfRklMRT0lcyIsCisJCQkgc3Rhc2hfaW5kZXhfcGF0aC5idWYpOworCWlmIChydW5fY29tbWFuZCgmY3ApKSB7CisJCXJlbW92ZV9wYXRoKHN0YXNoX2luZGV4X3BhdGguYnVmKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWNoaWxkX3Byb2Nlc3NfaW5pdCgmY3ApOworCWNwLmdpdF9jbWQgPSAxOworCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwLmFyZ3MsICJjaGVja291dC1pbmRleCIsICItLWFsbCIsIE5VTEwpOworCWFyZ3ZfYXJyYXlfcHVzaGYoJmNwLmVudl9hcnJheSwgIkdJVF9JTkRFWF9GSUxFPSVzIiwKKwkJCSBzdGFzaF9pbmRleF9wYXRoLmJ1Zik7CisKKwlyZXMgPSBydW5fY29tbWFuZCgmY3ApOworCXJlbW92ZV9wYXRoKHN0YXNoX2luZGV4X3BhdGguYnVmKTsKKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMgaW50IGRvX2FwcGx5X3N0YXNoKGNvbnN0IGNoYXIgKnByZWZpeCwgc3RydWN0IHN0YXNoX2luZm8gKmluZm8sCisJCQkgIGludCBpbmRleCwgaW50IHF1aWV0KQoreworCWludCByZXQ7CisJaW50IGhhc19pbmRleCA9IGluZGV4OworCXN0cnVjdCBtZXJnZV9vcHRpb25zIG87CisJc3RydWN0IG9iamVjdF9pZCBjX3RyZWU7CisJc3RydWN0IG9iamVjdF9pZCBpbmRleF90cmVlOworCXN0cnVjdCBjb21taXQgKnJlc3VsdDsKKwljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpiYXNlc1sxXTsKKworCXJlYWRfY2FjaGVfcHJlbG9hZChOVUxMKTsKKwlpZiAocmVmcmVzaF9hbmRfd3JpdGVfY2FjaGUoUkVGUkVTSF9RVUlFVCwgMCwgMCkpCisJCXJldHVybiAtMTsKKworCWlmICh3cml0ZV9jYWNoZV9hc190cmVlKCZjX3RyZWUsIDAsIE5VTEwpKQorCQlyZXR1cm4gZXJyb3IoXygiY2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIikpOworCisJaWYgKGluZGV4KSB7CisJCWlmIChvaWRlcSgmaW5mby0+Yl90cmVlLCAmaW5mby0+aV90cmVlKSB8fAorCQkgICAgb2lkZXEoJmNfdHJlZSwgJmluZm8tPmlfdHJlZSkpIHsKKwkJCWhhc19pbmRleCA9IDA7CisJCX0gZWxzZSB7CisJCQlzdHJ1Y3Qgc3RyYnVmIG91dCA9IFNUUkJVRl9JTklUOworCisJCQlpZiAoZGlmZl90cmVlX2JpbmFyeSgmb3V0LCAmaW5mby0+d19jb21taXQpKSB7CisJCQkJc3RyYnVmX3JlbGVhc2UoJm91dCk7CisJCQkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCBnZW5lcmF0ZSBkaWZmICVzXiEuIiksCisJCQkJCSAgICAgb2lkX3RvX2hleCgmaW5mby0+d19jb21taXQpKTsKKwkJCX0KKworCQkJcmV0ID0gYXBwbHlfY2FjaGVkKCZvdXQpOworCQkJc3RyYnVmX3JlbGVhc2UoJm91dCk7CisJCQlpZiAocmV0KQorCQkJCXJldHVybiBlcnJvcihfKCJjb25mbGljdHMgaW4gaW5kZXguIgorCQkJCQkgICAgICAgIlRyeSB3aXRob3V0IC0taW5kZXguIikpOworCisJCQlkaXNjYXJkX2NhY2hlKCk7CisJCQlyZWFkX2NhY2hlKCk7CisJCQlpZiAod3JpdGVfY2FjaGVfYXNfdHJlZSgmaW5kZXhfdHJlZSwgMCwgTlVMTCkpCisJCQkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiKSk7CisKKwkJCXJlc2V0X2hlYWQoKTsKKwkJCWRpc2NhcmRfY2FjaGUoKTsKKwkJCXJlYWRfY2FjaGUoKTsKKwkJfQorCX0KKworCWlmIChpbmZvLT5oYXNfdSAmJiByZXN0b3JlX3VudHJhY2tlZCgmaW5mby0+dV90cmVlKSkKKwkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIikpOworCisJaW5pdF9tZXJnZV9vcHRpb25zKCZvLCB0aGVfcmVwb3NpdG9yeSk7CisKKwlvLmJyYW5jaDEgPSAiVXBkYXRlZCB1cHN0cmVhbSI7CisJby5icmFuY2gyID0gIlN0YXNoZWQgY2hhbmdlcyI7CisKKwlpZiAob2lkZXEoJmluZm8tPmJfdHJlZSwgJmNfdHJlZSkpCisJCW8uYnJhbmNoMSA9ICJWZXJzaW9uIHN0YXNoIHdhcyBiYXNlZCBvbiI7CisKKwlpZiAocXVpZXQpCisJCW8udmVyYm9zaXR5ID0gMDsKKworCWlmIChvLnZlcmJvc2l0eSA+PSAzKQorCQlwcmludGZfbG4oXygiTWVyZ2luZyAlcyB3aXRoICVzIiksIG8uYnJhbmNoMSwgby5icmFuY2gyKTsKKworCWJhc2VzWzBdID0gJmluZm8tPmJfdHJlZTsKKworCXJldCA9IG1lcmdlX3JlY3Vyc2l2ZV9nZW5lcmljKCZvLCAmY190cmVlLCAmaW5mby0+d190cmVlLCAxLCBiYXNlcywKKwkJCQkgICAgICAmcmVzdWx0KTsKKwlpZiAocmV0KSB7CisJCXJlcmVyZSgwKTsKKworCQlpZiAoaW5kZXgpCisJCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIikpOworCisJCXJldHVybiByZXQ7CisJfQorCisJaWYgKGhhc19pbmRleCkgeworCQlpZiAocmVzZXRfdHJlZSgmaW5kZXhfdHJlZSwgMCwgMCkpCisJCQlyZXR1cm4gLTE7CisJfSBlbHNlIHsKKwkJc3RydWN0IHN0cmJ1ZiBvdXQgPSBTVFJCVUZfSU5JVDsKKworCQlpZiAoZ2V0X25ld2x5X3N0YWdlZCgmb3V0LCAmY190cmVlKSkgeworCQkJc3RyYnVmX3JlbGVhc2UoJm91dCk7CisJCQlyZXR1cm4gLTE7CisJCX0KKworCQlpZiAocmVzZXRfdHJlZSgmY190cmVlLCAwLCAxKSkgeworCQkJc3RyYnVmX3JlbGVhc2UoJm91dCk7CisJCQlyZXR1cm4gLTE7CisJCX0KKworCQlyZXQgPSB1cGRhdGVfaW5kZXgoJm91dCk7CisJCXN0cmJ1Zl9yZWxlYXNlKCZvdXQpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIC0xOworCisJCS8qIHJlYWQgYmFjayB0aGUgcmVzdWx0IG9mIHVwZGF0ZV9pbmRleCgpIGJhY2sgZnJvbSB0aGUgZGlzayAqLworCQlkaXNjYXJkX2NhY2hlKCk7CisJCXJlYWRfY2FjaGUoKTsKKwl9CisKKwlpZiAoIXF1aWV0KSB7CisJCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOworCisJCS8qCisJCSAqIFN0YXR1cyBpcyBxdWl0ZSBzaW1wbGUgYW5kIGNvdWxkIGJlIHJlcGxhY2VkIHdpdGggY2FsbHMgdG8KKwkJICogd3Rfc3RhdHVzIGluIHRoZSBmdXR1cmUsIGJ1dCBpdCBhZGRzIGNvbXBsZXhpdGllcyB3aGljaCBtYXkKKwkJICogcmVxdWlyZSBtb3JlIHRlc3RzLgorCQkgKi8KKwkJY3AuZ2l0X2NtZCA9IDE7CisJCWNwLmRpciA9IHByZWZpeDsKKwkJYXJndl9hcnJheV9wdXNoZigmY3AuZW52X2FycmF5LCBHSVRfV09SS19UUkVFX0VOVklST05NRU5UIj0lcyIsCisJCQkJIGFic29sdXRlX3BhdGgoZ2V0X2dpdF93b3JrX3RyZWUoKSkpOworCQlhcmd2X2FycmF5X3B1c2hmKCZjcC5lbnZfYXJyYXksIEdJVF9ESVJfRU5WSVJPTk1FTlQiPSVzIiwKKwkJCQkgYWJzb2x1dGVfcGF0aChnZXRfZ2l0X2RpcigpKSk7CisJCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgInN0YXR1cyIpOworCQlydW5fY29tbWFuZCgmY3ApOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFwcGx5X3N0YXNoKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQoreworCWludCByZXQ7CisJaW50IHF1aWV0ID0gMDsKKwlpbnQgaW5kZXggPSAwOworCXN0cnVjdCBzdGFzaF9pbmZvIGluZm87CisJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CisJCU9QVF9fUVVJRVQoJnF1aWV0LCBOXygiYmUgcXVpZXQsIG9ubHkgcmVwb3J0IGVycm9ycyIpKSwKKwkJT1BUX0JPT0woMCwgImluZGV4IiwgJmluZGV4LAorCQkJIE5fKCJhdHRlbXB0IHRvIHJlY3JlYXRlIHRoZSBpbmRleCIpKSwKKwkJT1BUX0VORCgpCisJfTsKKworCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0aW9ucywKKwkJCSAgICAgZ2l0X3N0YXNoX2FwcGx5X3VzYWdlLCAwKTsKKworCWlmIChnZXRfc3Rhc2hfaW5mbygmaW5mbywgYXJnYywgYXJndikpCisJCXJldHVybiAtMTsKKworCXJldCA9IGRvX2FwcGx5X3N0YXNoKHByZWZpeCwgJmluZm8sIGluZGV4LCBxdWlldCk7CisJZnJlZV9zdGFzaF9pbmZvKCZpbmZvKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGRvX2Ryb3Bfc3Rhc2goc3RydWN0IHN0YXNoX2luZm8gKmluZm8sIGludCBxdWlldCkKK3sKKwlpbnQgcmV0OworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwX3JlZmxvZyA9IENISUxEX1BST0NFU1NfSU5JVDsKKwlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcCA9IENISUxEX1BST0NFU1NfSU5JVDsKKworCS8qCisJICogcmVmbG9nIGRvZXMgbm90IHByb3ZpZGUgYSBzaW1wbGUgZnVuY3Rpb24gZm9yIGRlbGV0aW5nIHJlZnMuIE9uZSB3aWxsCisJICogbmVlZCB0byBiZSBhZGRlZCB0byBhdm9pZCBpbXBsZW1lbnRpbmcgdG9vIG11Y2ggcmVmbG9nIGNvZGUgaGVyZQorCSAqLworCisJY3BfcmVmbG9nLmdpdF9jbWQgPSAxOworCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwX3JlZmxvZy5hcmdzLCAicmVmbG9nIiwgImRlbGV0ZSIsICItLXVwZGF0ZXJlZiIsCisJCQkgIi0tcmV3cml0ZSIsIE5VTEwpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY3BfcmVmbG9nLmFyZ3MsIGluZm8tPnJldmlzaW9uLmJ1Zik7CisJcmV0ID0gcnVuX2NvbW1hbmQoJmNwX3JlZmxvZyk7CisJaWYgKCFyZXQpIHsKKwkJaWYgKCFxdWlldCkKKwkJCXByaW50Zl9sbihfKCJEcm9wcGVkICVzICglcykiKSwgaW5mby0+cmV2aXNpb24uYnVmLAorCQkJCSAgb2lkX3RvX2hleCgmaW5mby0+d19jb21taXQpKTsKKwl9IGVsc2UgeworCQlyZXR1cm4gZXJyb3IoXygiJXM6IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IiksCisJCQkgICAgIGluZm8tPnJldmlzaW9uLmJ1Zik7CisJfQorCisJLyoKKwkgKiBUaGlzIGNvdWxkIGVhc2lseSBiZSByZXBsYWNlZCBieSBnZXRfb2lkLCBidXQgY3VycmVudGx5IGl0IHdpbGwgdGhyb3cKKwkgKiBhIGZhdGFsIGVycm9yIHdoZW4gYSByZWZsb2cgaXMgZW1wdHksIHdoaWNoIHdlIGNhbiBub3QgcmVjb3ZlciBmcm9tLgorCSAqLworCWNwLmdpdF9jbWQgPSAxOworCS8qIEV2ZW4gdGhvdWdoIC0tcXVpZXQgaXMgc3BlY2lmaWVkLCByZXYtcGFyc2Ugc3RpbGwgb3V0cHV0cyB0aGUgaGFzaCAqLworCWNwLm5vX3N0ZG91dCA9IDE7CisJYXJndl9hcnJheV9wdXNobCgmY3AuYXJncywgInJldi1wYXJzZSIsICItLXZlcmlmeSIsICItLXF1aWV0IiwgTlVMTCk7CisJYXJndl9hcnJheV9wdXNoZigmY3AuYXJncywgIiVzQHswfSIsIHJlZl9zdGFzaCk7CisJcmV0ID0gcnVuX2NvbW1hbmQoJmNwKTsKKworCS8qIGRvX2NsZWFyX3N0YXNoIGlmIHdlIGp1c3QgZHJvcHBlZCB0aGUgbGFzdCBzdGFzaCBlbnRyeSAqLworCWlmIChyZXQpCisJCWRvX2NsZWFyX3N0YXNoKCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgYXNzZXJ0X3N0YXNoX3JlZihzdHJ1Y3Qgc3Rhc2hfaW5mbyAqaW5mbykKK3sKKwlpZiAoIWluZm8tPmlzX3N0YXNoX3JlZikgeworCQllcnJvcihfKCInJXMnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIpLCBpbmZvLT5yZXZpc2lvbi5idWYpOworCQlmcmVlX3N0YXNoX2luZm8oaW5mbyk7CisJCWV4aXQoMSk7CisJfQorfQorCitzdGF0aWMgaW50IGRyb3Bfc3Rhc2goaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJaW50IHJldDsKKwlpbnQgcXVpZXQgPSAwOworCXN0cnVjdCBzdGFzaF9pbmZvIGluZm87CisJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CisJCU9QVF9fUVVJRVQoJnF1aWV0LCBOXygiYmUgcXVpZXQsIG9ubHkgcmVwb3J0IGVycm9ycyIpKSwKKwkJT1BUX0VORCgpCisJfTsKKworCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0aW9ucywKKwkJCSAgICAgZ2l0X3N0YXNoX2Ryb3BfdXNhZ2UsIDApOworCisJaWYgKGdldF9zdGFzaF9pbmZvKCZpbmZvLCBhcmdjLCBhcmd2KSkKKwkJcmV0dXJuIC0xOworCisJYXNzZXJ0X3N0YXNoX3JlZigmaW5mbyk7CisKKwlyZXQgPSBkb19kcm9wX3N0YXNoKCZpbmZvLCBxdWlldCk7CisJZnJlZV9zdGFzaF9pbmZvKCZpbmZvKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHBvcF9zdGFzaChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwlpbnQgcmV0OworCWludCBpbmRleCA9IDA7CisJaW50IHF1aWV0ID0gMDsKKwlzdHJ1Y3Qgc3Rhc2hfaW5mbyBpbmZvOworCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0geworCQlPUFRfX1FVSUVUKCZxdWlldCwgTl8oImJlIHF1aWV0LCBvbmx5IHJlcG9ydCBlcnJvcnMiKSksCisJCU9QVF9CT09MKDAsICJpbmRleCIsICZpbmRleCwKKwkJCSBOXygiYXR0ZW1wdCB0byByZWNyZWF0ZSB0aGUgaW5kZXgiKSksCisJCU9QVF9FTkQoKQorCX07CisKKwlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIG9wdGlvbnMsCisJCQkgICAgIGdpdF9zdGFzaF9wb3BfdXNhZ2UsIDApOworCisJaWYgKGdldF9zdGFzaF9pbmZvKCZpbmZvLCBhcmdjLCBhcmd2KSkKKwkJcmV0dXJuIC0xOworCisJYXNzZXJ0X3N0YXNoX3JlZigmaW5mbyk7CisJaWYgKChyZXQgPSBkb19hcHBseV9zdGFzaChwcmVmaXgsICZpbmZvLCBpbmRleCwgcXVpZXQpKSkKKwkJcHJpbnRmX2xuKF8oIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgIgorCQkJICAgICJ5b3UgbmVlZCBpdCBhZ2Fpbi4iKSk7CisJZWxzZQorCQlyZXQgPSBkb19kcm9wX3N0YXNoKCZpbmZvLCBxdWlldCk7CisKKwlmcmVlX3N0YXNoX2luZm8oJmluZm8pOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYnJhbmNoX3N0YXNoKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQoreworCWludCByZXQ7CisJY29uc3QgY2hhciAqYnJhbmNoID0gTlVMTDsKKwlzdHJ1Y3Qgc3Rhc2hfaW5mbyBpbmZvOworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOworCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0geworCQlPUFRfRU5EKCkKKwl9OworCisJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBvcHRpb25zLAorCQkJICAgICBnaXRfc3Rhc2hfYnJhbmNoX3VzYWdlLCAwKTsKKworCWlmICghYXJnYykgeworCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIikpOworCQlyZXR1cm4gLTE7CisJfQorCisJYnJhbmNoID0gYXJndlswXTsKKworCWlmIChnZXRfc3Rhc2hfaW5mbygmaW5mbywgYXJnYyAtIDEsIGFyZ3YgKyAxKSkKKwkJcmV0dXJuIC0xOworCisJY3AuZ2l0X2NtZCA9IDE7CisJYXJndl9hcnJheV9wdXNobCgmY3AuYXJncywgImNoZWNrb3V0IiwgIi1iIiwgTlVMTCk7CisJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCBicmFuY2gpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgb2lkX3RvX2hleCgmaW5mby5iX2NvbW1pdCkpOworCXJldCA9IHJ1bl9jb21tYW5kKCZjcCk7CisJaWYgKCFyZXQpCisJCXJldCA9IGRvX2FwcGx5X3N0YXNoKHByZWZpeCwgJmluZm8sIDEsIDApOworCWlmICghcmV0ICYmIGluZm8uaXNfc3Rhc2hfcmVmKQorCQlyZXQgPSBkb19kcm9wX3N0YXNoKCZpbmZvLCAwKTsKKworCWZyZWVfc3Rhc2hfaW5mbygmaW5mbyk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGxpc3Rfc3Rhc2goaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CisJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CisJCU9QVF9FTkQoKQorCX07CisKKwlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIG9wdGlvbnMsCisJCQkgICAgIGdpdF9zdGFzaF9saXN0X3VzYWdlLAorCQkJICAgICBQQVJTRV9PUFRfS0VFUF9VTktOT1dOKTsKKworCWlmICghcmVmX2V4aXN0cyhyZWZfc3Rhc2gpKQorCQlyZXR1cm4gMDsKKworCWNwLmdpdF9jbWQgPSAxOworCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwLmFyZ3MsICJsb2ciLCAiLS1mb3JtYXQ9JWdkOiAlZ3MiLCAiLWciLAorCQkJICItLWZpcnN0LXBhcmVudCIsICItbSIsIE5VTEwpOworCWFyZ3ZfYXJyYXlfcHVzaHYoJmNwLmFyZ3MsIGFyZ3YpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgcmVmX3N0YXNoKTsKKwlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsICItLSIpOworCXJldHVybiBydW5fY29tbWFuZCgmY3ApOworfQorCitzdGF0aWMgaW50IHNob3dfc3RhdCA9IDE7CitzdGF0aWMgaW50IHNob3dfcGF0Y2g7CisKK3N0YXRpYyBpbnQgZ2l0X3N0YXNoX2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpjYikKK3sKKwlpZiAoIXN0cmNtcCh2YXIsICJzdGFzaC5zaG93c3RhdCIpKSB7CisJCXNob3dfc3RhdCA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKKwkJcmV0dXJuIDA7CisJfQorCWlmICghc3RyY21wKHZhciwgInN0YXNoLnNob3dwYXRjaCIpKSB7CisJCXNob3dfcGF0Y2ggPSBnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSk7CisJCXJldHVybiAwOworCX0KKwlyZXR1cm4gZ2l0X2RlZmF1bHRfY29uZmlnKHZhciwgdmFsdWUsIGNiKTsKK30KKworc3RhdGljIGludCBzaG93X3N0YXNoKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQoreworCWludCBpOworCWludCByZXQgPSAwOworCXN0cnVjdCBzdGFzaF9pbmZvIGluZm87CisJc3RydWN0IHJldl9pbmZvIHJldjsKKwlzdHJ1Y3QgYXJndl9hcnJheSBzdGFzaF9hcmdzID0gQVJHVl9BUlJBWV9JTklUOworCXN0cnVjdCBhcmd2X2FycmF5IHJldmlzaW9uX2FyZ3MgPSBBUkdWX0FSUkFZX0lOSVQ7CisJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CisJCU9QVF9FTkQoKQorCX07CisKKwlpbml0X2RpZmZfdWlfZGVmYXVsdHMoKTsKKwlnaXRfY29uZmlnKGdpdF9kaWZmX3VpX2NvbmZpZywgTlVMTCk7CisJaW5pdF9yZXZpc2lvbnMoJnJldiwgcHJlZml4KTsKKworCWFyZ3ZfYXJyYXlfcHVzaCgmcmV2aXNpb25fYXJncywgYXJndlswXSk7CisJZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKykgeworCQlpZiAoYXJndltpXVswXSAhPSAnLScpCisJCQlhcmd2X2FycmF5X3B1c2goJnN0YXNoX2FyZ3MsIGFyZ3ZbaV0pOworCQllbHNlCisJCQlhcmd2X2FycmF5X3B1c2goJnJldmlzaW9uX2FyZ3MsIGFyZ3ZbaV0pOworCX0KKworCXJldCA9IGdldF9zdGFzaF9pbmZvKCZpbmZvLCBzdGFzaF9hcmdzLmFyZ2MsIHN0YXNoX2FyZ3MuYXJndik7CisJYXJndl9hcnJheV9jbGVhcigmc3Rhc2hfYXJncyk7CisJaWYgKHJldCkKKwkJcmV0dXJuIC0xOworCisJLyoKKwkgKiBUaGUgY29uZmlnIHNldHRpbmdzIGFyZSBhcHBsaWVkIG9ubHkgaWYgdGhlcmUgYXJlIG5vdCBwYXNzZWQKKwkgKiBhbnkgb3B0aW9ucy4KKwkgKi8KKwlpZiAocmV2aXNpb25fYXJncy5hcmdjID09IDEpIHsKKwkJZ2l0X2NvbmZpZyhnaXRfc3Rhc2hfY29uZmlnLCBOVUxMKTsKKwkJaWYgKHNob3dfc3RhdCkKKwkJCXJldi5kaWZmb3B0Lm91dHB1dF9mb3JtYXQgPSBESUZGX0ZPUk1BVF9ESUZGU1RBVDsKKworCQlpZiAoc2hvd19wYXRjaCkKKwkJCXJldi5kaWZmb3B0Lm91dHB1dF9mb3JtYXQgfD0gRElGRl9GT1JNQVRfUEFUQ0g7CisKKwkJaWYgKCFzaG93X3N0YXQgJiYgIXNob3dfcGF0Y2gpIHsKKwkJCWZyZWVfc3Rhc2hfaW5mbygmaW5mbyk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCWFyZ2MgPSBzZXR1cF9yZXZpc2lvbnMocmV2aXNpb25fYXJncy5hcmdjLCByZXZpc2lvbl9hcmdzLmFyZ3YsICZyZXYsIE5VTEwpOworCWlmIChhcmdjID4gMSkgeworCQlmcmVlX3N0YXNoX2luZm8oJmluZm8pOworCQl1c2FnZV93aXRoX29wdGlvbnMoZ2l0X3N0YXNoX3Nob3dfdXNhZ2UsIG9wdGlvbnMpOworCX0KKwlpZiAoIXJldi5kaWZmb3B0Lm91dHB1dF9mb3JtYXQpIHsKKwkJcmV2LmRpZmZvcHQub3V0cHV0X2Zvcm1hdCA9IERJRkZfRk9STUFUX1BBVENIOworCQlkaWZmX3NldHVwX2RvbmUoJnJldi5kaWZmb3B0KTsKKwl9CisKKwlyZXYuZGlmZm9wdC5mbGFncy5yZWN1cnNpdmUgPSAxOworCXNldHVwX2RpZmZfcGFnZXIoJnJldi5kaWZmb3B0KTsKKwlkaWZmX3RyZWVfb2lkKCZpbmZvLmJfY29tbWl0LCAmaW5mby53X2NvbW1pdCwgIiIsICZyZXYuZGlmZm9wdCk7CisJbG9nX3RyZWVfZGlmZl9mbHVzaCgmcmV2KTsKKworCWZyZWVfc3Rhc2hfaW5mbygmaW5mbyk7CisJcmV0dXJuIGRpZmZfcmVzdWx0X2NvZGUoJnJldi5kaWZmb3B0LCAwKTsKK30KKworc3RhdGljIGludCBkb19zdG9yZV9zdGFzaChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICp3X2NvbW1pdCwgY29uc3QgY2hhciAqc3Rhc2hfbXNnLAorCQkJICBpbnQgcXVpZXQpCit7CisJaWYgKCFzdGFzaF9tc2cpCisJCXN0YXNoX21zZyA9ICJDcmVhdGVkIHZpYSBcImdpdCBzdGFzaCBzdG9yZVwiLiI7CisKKwlpZiAodXBkYXRlX3JlZihzdGFzaF9tc2csIHJlZl9zdGFzaCwgd19jb21taXQsIE5VTEwsCisJCSAgICAgICBSRUZfRk9SQ0VfQ1JFQVRFX1JFRkxPRywKKwkJICAgICAgIHF1aWV0ID8gVVBEQVRFX1JFRlNfUVVJRVRfT05fRVJSIDoKKwkJICAgICAgIFVQREFURV9SRUZTX01TR19PTl9FUlIpKSB7CisJCWlmICghcXVpZXQpIHsKKwkJCWZwcmludGZfbG4oc3RkZXJyLCBfKCJDYW5ub3QgdXBkYXRlICVzIHdpdGggJXMiKSwKKwkJCQkgICByZWZfc3Rhc2gsIG9pZF90b19oZXgod19jb21taXQpKTsKKwkJfQorCQlyZXR1cm4gLTE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc3RvcmVfc3Rhc2goaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJaW50IHF1aWV0ID0gMDsKKwljb25zdCBjaGFyICpzdGFzaF9tc2cgPSBOVUxMOworCXN0cnVjdCBvYmplY3RfaWQgb2JqOworCXN0cnVjdCBvYmplY3RfY29udGV4dCBkdW1teTsKKwlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKKwkJT1BUX19RVUlFVCgmcXVpZXQsIE5fKCJiZSBxdWlldCIpKSwKKwkJT1BUX1NUUklORygnbScsICJtZXNzYWdlIiwgJnN0YXNoX21zZywgIm1lc3NhZ2UiLAorCQkJICAgTl8oInN0YXNoIG1lc3NhZ2UiKSksCisJCU9QVF9FTkQoKQorCX07CisKKwlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIG9wdGlvbnMsCisJCQkgICAgIGdpdF9zdGFzaF9zdG9yZV91c2FnZSwKKwkJCSAgICAgUEFSU0VfT1BUX0tFRVBfVU5LTk9XTik7CisKKwlpZiAoYXJnYyAhPSAxKSB7CisJCWlmICghcXVpZXQpCisJCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygiXCJnaXQgc3Rhc2ggc3RvcmVcIiByZXF1aXJlcyBvbmUgIgorCQkJCQkgICAgICI8Y29tbWl0PiBhcmd1bWVudCIpKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmIChnZXRfb2lkX3dpdGhfY29udGV4dCh0aGVfcmVwb3NpdG9yeSwKKwkJCQkgYXJndlswXSwgcXVpZXQgPyBHRVRfT0lEX1FVSUVUTFkgOiAwLCAmb2JqLAorCQkJCSAmZHVtbXkpKSB7CisJCWlmICghcXVpZXQpCisJCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygiQ2Fubm90IHVwZGF0ZSAlcyB3aXRoICVzIiksCisJCQkJCSAgICAgcmVmX3N0YXNoLCBhcmd2WzBdKTsKKwkJcmV0dXJuIC0xOworCX0KKworCXJldHVybiBkb19zdG9yZV9zdGFzaCgmb2JqLCBzdGFzaF9tc2csIHF1aWV0KTsKK30KKworc3RhdGljIHZvaWQgYWRkX3BhdGhzcGVjcyhzdHJ1Y3QgYXJndl9hcnJheSAqYXJncywKKwkJCSAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwcykgeworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IHBzLT5ucjsgaSsrKQorCQlhcmd2X2FycmF5X3B1c2goYXJncywgcHMtPml0ZW1zW2ldLm9yaWdpbmFsKTsKK30KKworLyoKKyAqIGB1bnRyYWNrZWRfZmlsZXNgIHdpbGwgYmUgZmlsbGVkIHdpdGggdGhlIG5hbWVzIG9mIHVudHJhY2tlZCBmaWxlcy4KKyAqIFRoZSByZXR1cm4gdmFsdWUgaXM6CisgKgorICogPSAwIGlmIHRoZXJlIGFyZSBub3QgYW55IHVudHJhY2tlZCBmaWxlcworICogPiAwIGlmIHRoZXJlIGFyZSB1bnRyYWNrZWQgZmlsZXMKKyAqLworc3RhdGljIGludCBnZXRfdW50cmFja2VkX2ZpbGVzKGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcHMsIGludCBpbmNsdWRlX3VudHJhY2tlZCwKKwkJCSAgICAgICBzdHJ1Y3Qgc3RyYnVmICp1bnRyYWNrZWRfZmlsZXMpCit7CisJaW50IGk7CisJaW50IG1heF9sZW47CisJaW50IGZvdW5kID0gMDsKKwljaGFyICpzZWVuOworCXN0cnVjdCBkaXJfc3RydWN0IGRpcjsKKworCW1lbXNldCgmZGlyLCAwLCBzaXplb2YoZGlyKSk7CisJaWYgKGluY2x1ZGVfdW50cmFja2VkICE9IElOQ0xVREVfQUxMX0ZJTEVTKQorCQlzZXR1cF9zdGFuZGFyZF9leGNsdWRlcygmZGlyKTsKKworCXNlZW4gPSB4Y2FsbG9jKHBzLT5uciwgMSk7CisKKwltYXhfbGVuID0gZmlsbF9kaXJlY3RvcnkoJmRpciwgdGhlX3JlcG9zaXRvcnktPmluZGV4LCBwcyk7CisJZm9yIChpID0gMDsgaSA8IGRpci5ucjsgaSsrKSB7CisJCXN0cnVjdCBkaXJfZW50cnkgKmVudCA9IGRpci5lbnRyaWVzW2ldOworCQlpZiAoZGlyX3BhdGhfbWF0Y2goJnRoZV9pbmRleCwgZW50LCBwcywgbWF4X2xlbiwgc2VlbikpIHsKKwkJCWZvdW5kKys7CisJCQlzdHJidWZfYWRkc3RyKHVudHJhY2tlZF9maWxlcywgZW50LT5uYW1lKTsKKwkJCS8qIE5VTC10ZXJtaW5hdGU6IHdpbGwgYmUgZmVkIHRvIHVwZGF0ZS1pbmRleCAteiAqLworCQkJc3RyYnVmX2FkZGNoKHVudHJhY2tlZF9maWxlcywgJ1wwJyk7CisJCX0KKwkJZnJlZShlbnQpOworCX0KKworCWZyZWUoc2Vlbik7CisJZnJlZShkaXIuZW50cmllcyk7CisJZnJlZShkaXIuaWdub3JlZCk7CisJY2xlYXJfZGlyZWN0b3J5KCZkaXIpOworCXJldHVybiBmb3VuZDsKK30KKworLyoKKyAqIFRoZSByZXR1cm4gdmFsdWUgb2YgYGNoZWNrX2NoYW5nZXNfdHJhY2tlZF9maWxlcygpYCBjYW4gYmU6CisgKgorICogPCAwIGlmIHRoZXJlIHdhcyBhbiBlcnJvcgorICogPSAwIGlmIHRoZXJlIGFyZSBubyBjaGFuZ2VzLgorICogPiAwIGlmIHRoZXJlIGFyZSBjaGFuZ2VzLgorICovCitzdGF0aWMgaW50IGNoZWNrX2NoYW5nZXNfdHJhY2tlZF9maWxlcyhjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBzKQoreworCWludCByZXN1bHQ7CisJc3RydWN0IHJldl9pbmZvIHJldjsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIGR1bW15OworCWludCByZXQgPSAwOworCisJLyogTm8gaW5pdGlhbCBjb21taXQuICovCisJaWYgKGdldF9vaWQoIkhFQUQiLCAmZHVtbXkpKQorCQlyZXR1cm4gLTE7CisKKwlpZiAocmVhZF9jYWNoZSgpIDwgMCkKKwkJcmV0dXJuIC0xOworCisJaW5pdF9yZXZpc2lvbnMoJnJldiwgTlVMTCk7CisJY29weV9wYXRoc3BlYygmcmV2LnBydW5lX2RhdGEsIHBzKTsKKworCXJldi5kaWZmb3B0LmZsYWdzLnF1aWNrID0gMTsKKwlyZXYuZGlmZm9wdC5mbGFncy5pZ25vcmVfc3VibW9kdWxlcyA9IDE7CisJcmV2LmFiYnJldiA9IDA7CisKKwlhZGRfaGVhZF90b19wZW5kaW5nKCZyZXYpOworCWRpZmZfc2V0dXBfZG9uZSgmcmV2LmRpZmZvcHQpOworCisJcmVzdWx0ID0gcnVuX2RpZmZfaW5kZXgoJnJldiwgMSk7CisJaWYgKGRpZmZfcmVzdWx0X2NvZGUoJnJldi5kaWZmb3B0LCByZXN1bHQpKSB7CisJCXJldCA9IDE7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlvYmplY3RfYXJyYXlfY2xlYXIoJnJldi5wZW5kaW5nKTsKKwlyZXN1bHQgPSBydW5fZGlmZl9maWxlcygmcmV2LCAwKTsKKwlpZiAoZGlmZl9yZXN1bHRfY29kZSgmcmV2LmRpZmZvcHQsIHJlc3VsdCkpIHsKKwkJcmV0ID0gMTsKKwkJZ290byBkb25lOworCX0KKworZG9uZToKKwljbGVhcl9wYXRoc3BlYygmcmV2LnBydW5lX2RhdGEpOworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBUaGUgZnVuY3Rpb24gd2lsbCBmaWxsIGB1bnRyYWNrZWRfZmlsZXNgIHdpdGggdGhlIG5hbWVzIG9mIHVudHJhY2tlZCBmaWxlcworICogSXQgd2lsbCByZXR1cm4gMSBpZiB0aGVyZSB3ZXJlIGFueSBjaGFuZ2VzIGFuZCAwIGlmIHRoZXJlIHdlcmUgbm90LgorICovCitzdGF0aWMgaW50IGNoZWNrX2NoYW5nZXMoY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwcywgaW50IGluY2x1ZGVfdW50cmFja2VkLAorCQkJIHN0cnVjdCBzdHJidWYgKnVudHJhY2tlZF9maWxlcykKK3sKKwlpbnQgcmV0ID0gMDsKKwlpZiAoY2hlY2tfY2hhbmdlc190cmFja2VkX2ZpbGVzKHBzKSkKKwkJcmV0ID0gMTsKKworCWlmIChpbmNsdWRlX3VudHJhY2tlZCAmJiBnZXRfdW50cmFja2VkX2ZpbGVzKHBzLCBpbmNsdWRlX3VudHJhY2tlZCwKKwkJCQkJCSAgICAgdW50cmFja2VkX2ZpbGVzKSkKKwkJcmV0ID0gMTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgc2F2ZV91bnRyYWNrZWRfZmlsZXMoc3RydWN0IHN0YXNoX2luZm8gKmluZm8sIHN0cnVjdCBzdHJidWYgKm1zZywKKwkJCQlzdHJ1Y3Qgc3RyYnVmIGZpbGVzKQoreworCWludCByZXQgPSAwOworCXN0cnVjdCBzdHJidWYgdW50cmFja2VkX21zZyA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwX3VwZF9pbmRleCA9IENISUxEX1BST0NFU1NfSU5JVDsKKwlzdHJ1Y3QgaW5kZXhfc3RhdGUgaXN0YXRlID0geyBOVUxMIH07CisKKwljcF91cGRfaW5kZXguZ2l0X2NtZCA9IDE7CisJYXJndl9hcnJheV9wdXNobCgmY3BfdXBkX2luZGV4LmFyZ3MsICJ1cGRhdGUtaW5kZXgiLCAiLXoiLCAiLS1hZGQiLAorCQkJICItLXJlbW92ZSIsICItLXN0ZGluIiwgTlVMTCk7CisJYXJndl9hcnJheV9wdXNoZigmY3BfdXBkX2luZGV4LmVudl9hcnJheSwgIkdJVF9JTkRFWF9GSUxFPSVzIiwKKwkJCSBzdGFzaF9pbmRleF9wYXRoLmJ1Zik7CisKKwlzdHJidWZfYWRkZigmdW50cmFja2VkX21zZywgInVudHJhY2tlZCBmaWxlcyBvbiAlc1xuIiwgbXNnLT5idWYpOworCWlmIChwaXBlX2NvbW1hbmQoJmNwX3VwZF9pbmRleCwgZmlsZXMuYnVmLCBmaWxlcy5sZW4sIE5VTEwsIDAsCisJCQkgTlVMTCwgMCkpIHsKKwkJcmV0ID0gLTE7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlpZiAod3JpdGVfaW5kZXhfYXNfdHJlZSgmaW5mby0+dV90cmVlLCAmaXN0YXRlLCBzdGFzaF9pbmRleF9wYXRoLmJ1ZiwgMCwKKwkJCQlOVUxMKSkgeworCQlyZXQgPSAtMTsKKwkJZ290byBkb25lOworCX0KKworCWlmIChjb21taXRfdHJlZSh1bnRyYWNrZWRfbXNnLmJ1ZiwgdW50cmFja2VkX21zZy5sZW4sCisJCQkmaW5mby0+dV90cmVlLCBOVUxMLCAmaW5mby0+dV9jb21taXQsIE5VTEwsIE5VTEwpKSB7CisJCXJldCA9IC0xOworCQlnb3RvIGRvbmU7CisJfQorCitkb25lOgorCWRpc2NhcmRfaW5kZXgoJmlzdGF0ZSk7CisJc3RyYnVmX3JlbGVhc2UoJnVudHJhY2tlZF9tc2cpOworCXJlbW92ZV9wYXRoKHN0YXNoX2luZGV4X3BhdGguYnVmKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHN0YXNoX3BhdGNoKHN0cnVjdCBzdGFzaF9pbmZvICppbmZvLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBzLAorCQkgICAgICAgc3RydWN0IHN0cmJ1ZiAqb3V0X3BhdGNoLCBpbnQgcXVpZXQpCit7CisJaW50IHJldCA9IDA7CisJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3BfcmVhZF90cmVlID0gQ0hJTERfUFJPQ0VTU19JTklUOworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwX2RpZmZfdHJlZSA9IENISUxEX1BST0NFU1NfSU5JVDsKKwlzdHJ1Y3QgaW5kZXhfc3RhdGUgaXN0YXRlID0geyBOVUxMIH07CisJY2hhciAqb2xkX2luZGV4X2VudiA9IE5VTEwsICpvbGRfcmVwb19pbmRleF9maWxlOworCisJcmVtb3ZlX3BhdGgoc3Rhc2hfaW5kZXhfcGF0aC5idWYpOworCisJY3BfcmVhZF90cmVlLmdpdF9jbWQgPSAxOworCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwX3JlYWRfdHJlZS5hcmdzLCAicmVhZC10cmVlIiwgIkhFQUQiLCBOVUxMKTsKKwlhcmd2X2FycmF5X3B1c2hmKCZjcF9yZWFkX3RyZWUuZW52X2FycmF5LCAiR0lUX0lOREVYX0ZJTEU9JXMiLAorCQkJIHN0YXNoX2luZGV4X3BhdGguYnVmKTsKKwlpZiAocnVuX2NvbW1hbmQoJmNwX3JlYWRfdHJlZSkpIHsKKwkJcmV0ID0gLTE7CisJCWdvdG8gZG9uZTsKKwl9CisKKwkvKiBGaW5kIG91dCB3aGF0IHRoZSB1c2VyIHdhbnRzLiAqLworCW9sZF9yZXBvX2luZGV4X2ZpbGUgPSB0aGVfcmVwb3NpdG9yeS0+aW5kZXhfZmlsZTsKKwl0aGVfcmVwb3NpdG9yeS0+aW5kZXhfZmlsZSA9IHN0YXNoX2luZGV4X3BhdGguYnVmOworCW9sZF9pbmRleF9lbnYgPSB4c3RyZHVwX29yX251bGwoZ2V0ZW52KElOREVYX0VOVklST05NRU5UKSk7CisJc2V0ZW52KElOREVYX0VOVklST05NRU5ULCB0aGVfcmVwb3NpdG9yeS0+aW5kZXhfZmlsZSwgMSk7CisKKwlyZXQgPSBydW5fYWRkX2ludGVyYWN0aXZlKE5VTEwsICItLXBhdGNoPXN0YXNoIiwgcHMpOworCisJdGhlX3JlcG9zaXRvcnktPmluZGV4X2ZpbGUgPSBvbGRfcmVwb19pbmRleF9maWxlOworCWlmIChvbGRfaW5kZXhfZW52ICYmICpvbGRfaW5kZXhfZW52KQorCQlzZXRlbnYoSU5ERVhfRU5WSVJPTk1FTlQsIG9sZF9pbmRleF9lbnYsIDEpOworCWVsc2UKKwkJdW5zZXRlbnYoSU5ERVhfRU5WSVJPTk1FTlQpOworCUZSRUVfQU5EX05VTEwob2xkX2luZGV4X2Vudik7CisKKwkvKiBTdGF0ZSBvZiB0aGUgd29ya2luZyB0cmVlLiAqLworCWlmICh3cml0ZV9pbmRleF9hc190cmVlKCZpbmZvLT53X3RyZWUsICZpc3RhdGUsIHN0YXNoX2luZGV4X3BhdGguYnVmLCAwLAorCQkJCU5VTEwpKSB7CisJCXJldCA9IC0xOworCQlnb3RvIGRvbmU7CisJfQorCisJY3BfZGlmZl90cmVlLmdpdF9jbWQgPSAxOworCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwX2RpZmZfdHJlZS5hcmdzLCAiZGlmZi10cmVlIiwgIi1wIiwgIkhFQUQiLAorCQkJIG9pZF90b19oZXgoJmluZm8tPndfdHJlZSksICItLSIsIE5VTEwpOworCWlmIChwaXBlX2NvbW1hbmQoJmNwX2RpZmZfdHJlZSwgTlVMTCwgMCwgb3V0X3BhdGNoLCAwLCBOVUxMLCAwKSkgeworCQlyZXQgPSAtMTsKKwkJZ290byBkb25lOworCX0KKworCWlmICghb3V0X3BhdGNoLT5sZW4pIHsKKwkJaWYgKCFxdWlldCkKKwkJCWZwcmludGZfbG4oc3RkZXJyLCBfKCJObyBjaGFuZ2VzIHNlbGVjdGVkIikpOworCQlyZXQgPSAxOworCX0KKworZG9uZToKKwlkaXNjYXJkX2luZGV4KCZpc3RhdGUpOworCXJlbW92ZV9wYXRoKHN0YXNoX2luZGV4X3BhdGguYnVmKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHN0YXNoX3dvcmtpbmdfdHJlZShzdHJ1Y3Qgc3Rhc2hfaW5mbyAqaW5mbywgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwcykKK3sKKwlpbnQgcmV0ID0gMDsKKwlzdHJ1Y3QgcmV2X2luZm8gcmV2OworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwX3VwZF9pbmRleCA9IENISUxEX1BST0NFU1NfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIGRpZmZfb3V0cHV0ID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IGluZGV4X3N0YXRlIGlzdGF0ZSA9IHsgTlVMTCB9OworCisJaW5pdF9yZXZpc2lvbnMoJnJldiwgTlVMTCk7CisJY29weV9wYXRoc3BlYygmcmV2LnBydW5lX2RhdGEsIHBzKTsKKworCXNldF9hbHRlcm5hdGVfaW5kZXhfb3V0cHV0KHN0YXNoX2luZGV4X3BhdGguYnVmKTsKKwlpZiAocmVzZXRfdHJlZSgmaW5mby0+aV90cmVlLCAwLCAwKSkgeworCQlyZXQgPSAtMTsKKwkJZ290byBkb25lOworCX0KKwlzZXRfYWx0ZXJuYXRlX2luZGV4X291dHB1dChOVUxMKTsKKworCXJldi5kaWZmb3B0Lm91dHB1dF9mb3JtYXQgPSBESUZGX0ZPUk1BVF9DQUxMQkFDSzsKKwlyZXYuZGlmZm9wdC5mb3JtYXRfY2FsbGJhY2sgPSBhZGRfZGlmZl90b19idWY7CisJcmV2LmRpZmZvcHQuZm9ybWF0X2NhbGxiYWNrX2RhdGEgPSAmZGlmZl9vdXRwdXQ7CisKKwlpZiAocmVhZF9jYWNoZV9wcmVsb2FkKCZyZXYuZGlmZm9wdC5wYXRoc3BlYykgPCAwKSB7CisJCXJldCA9IC0xOworCQlnb3RvIGRvbmU7CisJfQorCisJYWRkX3BlbmRpbmdfb2JqZWN0KCZyZXYsIHBhcnNlX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgJmluZm8tPmJfY29tbWl0KSwKKwkJCSAgICIiKTsKKwlpZiAocnVuX2RpZmZfaW5kZXgoJnJldiwgMCkpIHsKKwkJcmV0ID0gLTE7CisJCWdvdG8gZG9uZTsKKwl9CisKKwljcF91cGRfaW5kZXguZ2l0X2NtZCA9IDE7CisJYXJndl9hcnJheV9wdXNobCgmY3BfdXBkX2luZGV4LmFyZ3MsICJ1cGRhdGUtaW5kZXgiLAorCQkJICItLWlnbm9yZS1za2lwLXdvcmt0cmVlLWVudHJpZXMiLAorCQkJICIteiIsICItLWFkZCIsICItLXJlbW92ZSIsICItLXN0ZGluIiwgTlVMTCk7CisJYXJndl9hcnJheV9wdXNoZigmY3BfdXBkX2luZGV4LmVudl9hcnJheSwgIkdJVF9JTkRFWF9GSUxFPSVzIiwKKwkJCSBzdGFzaF9pbmRleF9wYXRoLmJ1Zik7CisKKwlpZiAocGlwZV9jb21tYW5kKCZjcF91cGRfaW5kZXgsIGRpZmZfb3V0cHV0LmJ1ZiwgZGlmZl9vdXRwdXQubGVuLAorCQkJIE5VTEwsIDAsIE5VTEwsIDApKSB7CisJCXJldCA9IC0xOworCQlnb3RvIGRvbmU7CisJfQorCisJaWYgKHdyaXRlX2luZGV4X2FzX3RyZWUoJmluZm8tPndfdHJlZSwgJmlzdGF0ZSwgc3Rhc2hfaW5kZXhfcGF0aC5idWYsIDAsCisJCQkJTlVMTCkpIHsKKwkJcmV0ID0gLTE7CisJCWdvdG8gZG9uZTsKKwl9CisKK2RvbmU6CisJZGlzY2FyZF9pbmRleCgmaXN0YXRlKTsKKwlVTkxFQUsocmV2KTsKKwlvYmplY3RfYXJyYXlfY2xlYXIoJnJldi5wZW5kaW5nKTsKKwljbGVhcl9wYXRoc3BlYygmcmV2LnBydW5lX2RhdGEpOworCXN0cmJ1Zl9yZWxlYXNlKCZkaWZmX291dHB1dCk7CisJcmVtb3ZlX3BhdGgoc3Rhc2hfaW5kZXhfcGF0aC5idWYpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgZG9fY3JlYXRlX3N0YXNoKGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcHMsIHN0cnVjdCBzdHJidWYgKnN0YXNoX21zZ19idWYsCisJCQkgICBpbnQgaW5jbHVkZV91bnRyYWNrZWQsIGludCBwYXRjaF9tb2RlLAorCQkJICAgc3RydWN0IHN0YXNoX2luZm8gKmluZm8sIHN0cnVjdCBzdHJidWYgKnBhdGNoLAorCQkJICAgaW50IHF1aWV0KQoreworCWludCByZXQgPSAwOworCWludCBmbGFncyA9IDA7CisJaW50IHVudHJhY2tlZF9jb21taXRfb3B0aW9uID0gMDsKKwljb25zdCBjaGFyICpoZWFkX3Nob3J0X3NoYTEgPSBOVUxMOworCWNvbnN0IGNoYXIgKmJyYW5jaF9yZWYgPSBOVUxMOworCWNvbnN0IGNoYXIgKmJyYW5jaF9uYW1lID0gIihubyBicmFuY2gpIjsKKwlzdHJ1Y3QgY29tbWl0ICpoZWFkX2NvbW1pdCA9IE5VTEw7CisJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzID0gTlVMTDsKKwlzdHJ1Y3Qgc3RyYnVmIG1zZyA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdHJidWYgY29tbWl0X3RyZWVfbGFiZWwgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIHVudHJhY2tlZF9maWxlcyA9IFNUUkJVRl9JTklUOworCisJcHJlcGFyZV9mYWxsYmFja19pZGVudCgiZ2l0IHN0YXNoIiwgImdpdEBzdGFzaCIpOworCisJcmVhZF9jYWNoZV9wcmVsb2FkKE5VTEwpOworCWlmIChyZWZyZXNoX2FuZF93cml0ZV9jYWNoZShSRUZSRVNIX1FVSUVULCAwLCAwKSA8IDApIHsKKwkJcmV0ID0gLTE7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlpZiAoZ2V0X29pZCgiSEVBRCIsICZpbmZvLT5iX2NvbW1pdCkpIHsKKwkJaWYgKCFxdWlldCkKKwkJCWZwcmludGZfbG4oc3RkZXJyLCBfKCJZb3UgZG8gbm90IGhhdmUgIgorCQkJCQkgICAgICJ0aGUgaW5pdGlhbCBjb21taXQgeWV0IikpOworCQlyZXQgPSAtMTsKKwkJZ290byBkb25lOworCX0gZWxzZSB7CisJCWhlYWRfY29tbWl0ID0gbG9va3VwX2NvbW1pdCh0aGVfcmVwb3NpdG9yeSwgJmluZm8tPmJfY29tbWl0KTsKKwl9CisKKwlpZiAoIWNoZWNrX2NoYW5nZXMocHMsIGluY2x1ZGVfdW50cmFja2VkLCAmdW50cmFja2VkX2ZpbGVzKSkgeworCQlyZXQgPSAxOworCQlnb3RvIGRvbmU7CisJfQorCisJYnJhbmNoX3JlZiA9IHJlc29sdmVfcmVmX3Vuc2FmZSgiSEVBRCIsIDAsIE5VTEwsICZmbGFncyk7CisJaWYgKGZsYWdzICYgUkVGX0lTU1lNUkVGKQorCQlicmFuY2hfbmFtZSA9IHN0cnJjaHIoYnJhbmNoX3JlZiwgJy8nKSArIDE7CisJaGVhZF9zaG9ydF9zaGExID0gZmluZF91bmlxdWVfYWJicmV2KCZoZWFkX2NvbW1pdC0+b2JqZWN0Lm9pZCwKKwkJCQkJICAgICBERUZBVUxUX0FCQlJFVik7CisJc3RyYnVmX2FkZGYoJm1zZywgIiVzOiAlcyAiLCBicmFuY2hfbmFtZSwgaGVhZF9zaG9ydF9zaGExKTsKKwlwcF9jb21taXRfZWFzeShDTUlUX0ZNVF9PTkVMSU5FLCBoZWFkX2NvbW1pdCwgJm1zZyk7CisKKwlzdHJidWZfYWRkZigmY29tbWl0X3RyZWVfbGFiZWwsICJpbmRleCBvbiAlc1xuIiwgbXNnLmJ1Zik7CisJY29tbWl0X2xpc3RfaW5zZXJ0KGhlYWRfY29tbWl0LCAmcGFyZW50cyk7CisJaWYgKHdyaXRlX2NhY2hlX2FzX3RyZWUoJmluZm8tPmlfdHJlZSwgMCwgTlVMTCkgfHwKKwkgICAgY29tbWl0X3RyZWUoY29tbWl0X3RyZWVfbGFiZWwuYnVmLCBjb21taXRfdHJlZV9sYWJlbC5sZW4sCisJCQkmaW5mby0+aV90cmVlLCBwYXJlbnRzLCAmaW5mby0+aV9jb21taXQsIE5VTEwsIE5VTEwpKSB7CisJCWlmICghcXVpZXQpCisJCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgIgorCQkJCQkgICAgICJpbmRleCBzdGF0ZSIpKTsKKwkJcmV0ID0gLTE7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlpZiAoaW5jbHVkZV91bnRyYWNrZWQpIHsKKwkJaWYgKHNhdmVfdW50cmFja2VkX2ZpbGVzKGluZm8sICZtc2csIHVudHJhY2tlZF9maWxlcykpIHsKKwkJCWlmICghcXVpZXQpCisJCQkJZnByaW50Zl9sbihzdGRlcnIsIF8oIkNhbm5vdCBzYXZlICIKKwkJCQkJCSAgICAgInRoZSB1bnRyYWNrZWQgZmlsZXMiKSk7CisJCQlyZXQgPSAtMTsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCQl1bnRyYWNrZWRfY29tbWl0X29wdGlvbiA9IDE7CisJfQorCWlmIChwYXRjaF9tb2RlKSB7CisJCXJldCA9IHN0YXNoX3BhdGNoKGluZm8sIHBzLCBwYXRjaCwgcXVpZXQpOworCQlpZiAocmV0IDwgMCkgeworCQkJaWYgKCFxdWlldCkKKwkJCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgIgorCQkJCQkJICAgICAid29ya3RyZWUgc3RhdGUiKSk7CisJCQlnb3RvIGRvbmU7CisJCX0gZWxzZSBpZiAocmV0ID4gMCkgeworCQkJZ290byBkb25lOworCQl9CisJfSBlbHNlIHsKKwkJaWYgKHN0YXNoX3dvcmtpbmdfdHJlZShpbmZvLCBwcykpIHsKKwkJCWlmICghcXVpZXQpCisJCQkJZnByaW50Zl9sbihzdGRlcnIsIF8oIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50ICIKKwkJCQkJCSAgICAgIndvcmt0cmVlIHN0YXRlIikpOworCQkJcmV0ID0gLTE7CisJCQlnb3RvIGRvbmU7CisJCX0KKwl9CisKKwlpZiAoIXN0YXNoX21zZ19idWYtPmxlbikKKwkJc3RyYnVmX2FkZGYoc3Rhc2hfbXNnX2J1ZiwgIldJUCBvbiAlcyIsIG1zZy5idWYpOworCWVsc2UKKwkJc3RyYnVmX2luc2VydGYoc3Rhc2hfbXNnX2J1ZiwgMCwgIk9uICVzOiAiLCBicmFuY2hfbmFtZSk7CisKKwkvKgorCSAqIGBwYXJlbnRzYCB3aWxsIGJlIGVtcHR5IGFmdGVyIGNhbGxpbmcgYGNvbW1pdF90cmVlKClgLCBzbyB0aGVyZSBpcworCSAqIG5vIG5lZWQgdG8gY2FsbCBgZnJlZV9jb21taXRfbGlzdCgpYAorCSAqLworCXBhcmVudHMgPSBOVUxMOworCWlmICh1bnRyYWNrZWRfY29tbWl0X29wdGlvbikKKwkJY29tbWl0X2xpc3RfaW5zZXJ0KGxvb2t1cF9jb21taXQodGhlX3JlcG9zaXRvcnksCisJCQkJCQkgJmluZm8tPnVfY29tbWl0KSwKKwkJCQkgICAmcGFyZW50cyk7CisJY29tbWl0X2xpc3RfaW5zZXJ0KGxvb2t1cF9jb21taXQodGhlX3JlcG9zaXRvcnksICZpbmZvLT5pX2NvbW1pdCksCisJCQkgICAmcGFyZW50cyk7CisJY29tbWl0X2xpc3RfaW5zZXJ0KGhlYWRfY29tbWl0LCAmcGFyZW50cyk7CisKKwlpZiAoY29tbWl0X3RyZWUoc3Rhc2hfbXNnX2J1Zi0+YnVmLCBzdGFzaF9tc2dfYnVmLT5sZW4sICZpbmZvLT53X3RyZWUsCisJCQlwYXJlbnRzLCAmaW5mby0+d19jb21taXQsIE5VTEwsIE5VTEwpKSB7CisJCWlmICghcXVpZXQpCisJCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygiQ2Fubm90IHJlY29yZCAiCisJCQkJCSAgICAgIndvcmtpbmcgdHJlZSBzdGF0ZSIpKTsKKwkJcmV0ID0gLTE7CisJCWdvdG8gZG9uZTsKKwl9CisKK2RvbmU6CisJc3RyYnVmX3JlbGVhc2UoJmNvbW1pdF90cmVlX2xhYmVsKTsKKwlzdHJidWZfcmVsZWFzZSgmbXNnKTsKKwlzdHJidWZfcmVsZWFzZSgmdW50cmFja2VkX2ZpbGVzKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGNyZWF0ZV9zdGFzaChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwlpbnQgcmV0ID0gMDsKKwlzdHJ1Y3Qgc3RyYnVmIHN0YXNoX21zZ19idWYgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3Rhc2hfaW5mbyBpbmZvOworCXN0cnVjdCBwYXRoc3BlYyBwczsKKworCS8qIFN0YXJ0aW5nIHdpdGggYXJndlsxXSwgc2luY2UgYXJndlswXSBpcyAiY3JlYXRlIiAqLworCXN0cmJ1Zl9qb2luX2FyZ3YoJnN0YXNoX21zZ19idWYsIGFyZ2MgLSAxLCArK2FyZ3YsICcgJyk7CisKKwltZW1zZXQoJnBzLCAwLCBzaXplb2YocHMpKTsKKwlpZiAoIWNoZWNrX2NoYW5nZXNfdHJhY2tlZF9maWxlcygmcHMpKQorCQlyZXR1cm4gMDsKKworCXJldCA9IGRvX2NyZWF0ZV9zdGFzaCgmcHMsICZzdGFzaF9tc2dfYnVmLCAwLCAwLCAmaW5mbywKKwkJCSAgICAgIE5VTEwsIDApOworCWlmICghcmV0KQorCQlwcmludGZfbG4oIiVzIiwgb2lkX3RvX2hleCgmaW5mby53X2NvbW1pdCkpOworCisJc3RyYnVmX3JlbGVhc2UoJnN0YXNoX21zZ19idWYpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgZG9fcHVzaF9zdGFzaChjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBzLCBjb25zdCBjaGFyICpzdGFzaF9tc2csIGludCBxdWlldCwKKwkJCSBpbnQga2VlcF9pbmRleCwgaW50IHBhdGNoX21vZGUsIGludCBpbmNsdWRlX3VudHJhY2tlZCkKK3sKKwlpbnQgcmV0ID0gMDsKKwlzdHJ1Y3Qgc3Rhc2hfaW5mbyBpbmZvOworCXN0cnVjdCBzdHJidWYgcGF0Y2ggPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIHN0YXNoX21zZ19idWYgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIHVudHJhY2tlZF9maWxlcyA9IFNUUkJVRl9JTklUOworCisJaWYgKHBhdGNoX21vZGUgJiYga2VlcF9pbmRleCA9PSAtMSkKKwkJa2VlcF9pbmRleCA9IDE7CisKKwlpZiAocGF0Y2hfbW9kZSAmJiBpbmNsdWRlX3VudHJhY2tlZCkgeworCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygiQ2FuJ3QgdXNlIC0tcGF0Y2ggYW5kIC0taW5jbHVkZS11bnRyYWNrZWQiCisJCQkJICAgICAiIG9yIC0tYWxsIGF0IHRoZSBzYW1lIHRpbWUiKSk7CisJCXJldCA9IC0xOworCQlnb3RvIGRvbmU7CisJfQorCisJcmVhZF9jYWNoZV9wcmVsb2FkKE5VTEwpOworCWlmICghaW5jbHVkZV91bnRyYWNrZWQgJiYgcHMtPm5yKSB7CisJCWludCBpOworCQljaGFyICpwc19tYXRjaGVkID0geGNhbGxvYyhwcy0+bnIsIDEpOworCisJCWZvciAoaSA9IDA7IGkgPCBhY3RpdmVfbnI7IGkrKykKKwkJCWNlX3BhdGhfbWF0Y2goJnRoZV9pbmRleCwgYWN0aXZlX2NhY2hlW2ldLCBwcywKKwkJCQkgICAgICBwc19tYXRjaGVkKTsKKworCQlpZiAocmVwb3J0X3BhdGhfZXJyb3IocHNfbWF0Y2hlZCwgcHMpKSB7CisJCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygiRGlkIHlvdSBmb3JnZXQgdG8gJ2dpdCBhZGQnPyIpKTsKKwkJCXJldCA9IC0xOworCQkJZnJlZShwc19tYXRjaGVkKTsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCQlmcmVlKHBzX21hdGNoZWQpOworCX0KKworCWlmIChyZWZyZXNoX2FuZF93cml0ZV9jYWNoZShSRUZSRVNIX1FVSUVULCAwLCAwKSkgeworCQlyZXQgPSAtMTsKKwkJZ290byBkb25lOworCX0KKworCWlmICghY2hlY2tfY2hhbmdlcyhwcywgaW5jbHVkZV91bnRyYWNrZWQsICZ1bnRyYWNrZWRfZmlsZXMpKSB7CisJCWlmICghcXVpZXQpCisJCQlwcmludGZfbG4oXygiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIikpOworCQlnb3RvIGRvbmU7CisJfQorCisJaWYgKCFyZWZsb2dfZXhpc3RzKHJlZl9zdGFzaCkgJiYgZG9fY2xlYXJfc3Rhc2goKSkgeworCQlyZXQgPSAtMTsKKwkJaWYgKCFxdWlldCkKKwkJCWZwcmludGZfbG4oc3RkZXJyLCBfKCJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIpKTsKKwkJZ290byBkb25lOworCX0KKworCWlmIChzdGFzaF9tc2cpCisJCXN0cmJ1Zl9hZGRzdHIoJnN0YXNoX21zZ19idWYsIHN0YXNoX21zZyk7CisJaWYgKGRvX2NyZWF0ZV9zdGFzaChwcywgJnN0YXNoX21zZ19idWYsIGluY2x1ZGVfdW50cmFja2VkLCBwYXRjaF9tb2RlLAorCQkJICAgICZpbmZvLCAmcGF0Y2gsIHF1aWV0KSkgeworCQlyZXQgPSAtMTsKKwkJZ290byBkb25lOworCX0KKworCWlmIChkb19zdG9yZV9zdGFzaCgmaW5mby53X2NvbW1pdCwgc3Rhc2hfbXNnX2J1Zi5idWYsIDEpKSB7CisJCXJldCA9IC0xOworCQlpZiAoIXF1aWV0KQorCQkJZnByaW50Zl9sbihzdGRlcnIsIF8oIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHN0YXR1cyIpKTsKKwkJZ290byBkb25lOworCX0KKworCWlmICghcXVpZXQpCisJCXByaW50Zl9sbihfKCJTYXZlZCB3b3JraW5nIGRpcmVjdG9yeSBhbmQgaW5kZXggc3RhdGUgJXMiKSwKKwkJCSAgc3Rhc2hfbXNnX2J1Zi5idWYpOworCisJaWYgKCFwYXRjaF9tb2RlKSB7CisJCWlmIChpbmNsdWRlX3VudHJhY2tlZCAmJiAhcHMtPm5yKSB7CisJCQlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcCA9IENISUxEX1BST0NFU1NfSU5JVDsKKworCQkJY3AuZ2l0X2NtZCA9IDE7CisJCQlhcmd2X2FycmF5X3B1c2hsKCZjcC5hcmdzLCAiY2xlYW4iLCAiLS1mb3JjZSIsCisJCQkJCSAiLS1xdWlldCIsICItZCIsIE5VTEwpOworCQkJaWYgKGluY2x1ZGVfdW50cmFja2VkID09IElOQ0xVREVfQUxMX0ZJTEVTKQorCQkJCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgIi14Iik7CisJCQlpZiAocnVuX2NvbW1hbmQoJmNwKSkgeworCQkJCXJldCA9IC0xOworCQkJCWdvdG8gZG9uZTsKKwkJCX0KKwkJfQorCQlkaXNjYXJkX2NhY2hlKCk7CisJCWlmIChwcy0+bnIpIHsKKwkJCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwX2FkZCA9IENISUxEX1BST0NFU1NfSU5JVDsKKwkJCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwX2RpZmYgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CisJCQlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcF9hcHBseSA9IENISUxEX1BST0NFU1NfSU5JVDsKKwkJCXN0cnVjdCBzdHJidWYgb3V0ID0gU1RSQlVGX0lOSVQ7CisKKwkJCWNwX2FkZC5naXRfY21kID0gMTsKKwkJCWFyZ3ZfYXJyYXlfcHVzaCgmY3BfYWRkLmFyZ3MsICJhZGQiKTsKKwkJCWlmICghaW5jbHVkZV91bnRyYWNrZWQpCisJCQkJYXJndl9hcnJheV9wdXNoKCZjcF9hZGQuYXJncywgIi11Iik7CisJCQlpZiAoaW5jbHVkZV91bnRyYWNrZWQgPT0gSU5DTFVERV9BTExfRklMRVMpCisJCQkJYXJndl9hcnJheV9wdXNoKCZjcF9hZGQuYXJncywgIi0tZm9yY2UiKTsKKwkJCWFyZ3ZfYXJyYXlfcHVzaCgmY3BfYWRkLmFyZ3MsICItLSIpOworCQkJYWRkX3BhdGhzcGVjcygmY3BfYWRkLmFyZ3MsIHBzKTsKKwkJCWlmIChydW5fY29tbWFuZCgmY3BfYWRkKSkgeworCQkJCXJldCA9IC0xOworCQkJCWdvdG8gZG9uZTsKKwkJCX0KKworCQkJY3BfZGlmZi5naXRfY21kID0gMTsKKwkJCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwX2RpZmYuYXJncywgImRpZmYtaW5kZXgiLCAiLXAiLAorCQkJCQkgIi0tY2FjaGVkIiwgIi0tYmluYXJ5IiwgIkhFQUQiLCAiLS0iLAorCQkJCQkgTlVMTCk7CisJCQlhZGRfcGF0aHNwZWNzKCZjcF9kaWZmLmFyZ3MsIHBzKTsKKwkJCWlmIChwaXBlX2NvbW1hbmQoJmNwX2RpZmYsIE5VTEwsIDAsICZvdXQsIDAsIE5VTEwsIDApKSB7CisJCQkJcmV0ID0gLTE7CisJCQkJZ290byBkb25lOworCQkJfQorCisJCQljcF9hcHBseS5naXRfY21kID0gMTsKKwkJCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwX2FwcGx5LmFyZ3MsICJhcHBseSIsICItLWluZGV4IiwKKwkJCQkJICItUiIsIE5VTEwpOworCQkJaWYgKHBpcGVfY29tbWFuZCgmY3BfYXBwbHksIG91dC5idWYsIG91dC5sZW4sIE5VTEwsIDAsCisJCQkJCSBOVUxMLCAwKSkgeworCQkJCXJldCA9IC0xOworCQkJCWdvdG8gZG9uZTsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOworCQkJY3AuZ2l0X2NtZCA9IDE7CisJCQlhcmd2X2FycmF5X3B1c2hsKCZjcC5hcmdzLCAicmVzZXQiLCAiLS1oYXJkIiwgIi1xIiwKKwkJCQkJICItLW5vLXJlY3Vyc2Utc3VibW9kdWxlcyIsIE5VTEwpOworCQkJaWYgKHJ1bl9jb21tYW5kKCZjcCkpIHsKKwkJCQlyZXQgPSAtMTsKKwkJCQlnb3RvIGRvbmU7CisJCQl9CisJCX0KKworCQlpZiAoa2VlcF9pbmRleCA9PSAxICYmICFpc19udWxsX29pZCgmaW5mby5pX3RyZWUpKSB7CisJCQlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcCA9IENISUxEX1BST0NFU1NfSU5JVDsKKworCQkJY3AuZ2l0X2NtZCA9IDE7CisJCQlhcmd2X2FycmF5X3B1c2hsKCZjcC5hcmdzLCAiY2hlY2tvdXQiLCAiLS1uby1vdmVybGF5IiwKKwkJCQkJIG9pZF90b19oZXgoJmluZm8uaV90cmVlKSwgIi0tIiwgTlVMTCk7CisJCQlpZiAoIXBzLT5ucikKKwkJCQlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsICI6LyIpOworCQkJZWxzZQorCQkJCWFkZF9wYXRoc3BlY3MoJmNwLmFyZ3MsIHBzKTsKKwkJCWlmIChydW5fY29tbWFuZCgmY3ApKSB7CisJCQkJcmV0ID0gLTE7CisJCQkJZ290byBkb25lOworCQkJfQorCQl9CisJCWdvdG8gZG9uZTsKKwl9IGVsc2UgeworCQlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcCA9IENISUxEX1BST0NFU1NfSU5JVDsKKworCQljcC5naXRfY21kID0gMTsKKwkJYXJndl9hcnJheV9wdXNobCgmY3AuYXJncywgImFwcGx5IiwgIi1SIiwgTlVMTCk7CisKKwkJaWYgKHBpcGVfY29tbWFuZCgmY3AsIHBhdGNoLmJ1ZiwgcGF0Y2gubGVuLCBOVUxMLCAwLCBOVUxMLCAwKSkgeworCQkJaWYgKCFxdWlldCkKKwkJCQlmcHJpbnRmX2xuKHN0ZGVyciwgXygiQ2Fubm90IHJlbW92ZSAiCisJCQkJCQkgICAgICJ3b3JrdHJlZSBjaGFuZ2VzIikpOworCQkJcmV0ID0gLTE7CisJCQlnb3RvIGRvbmU7CisJCX0KKworCQlpZiAoa2VlcF9pbmRleCA8IDEpIHsKKwkJCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOworCisJCQljcC5naXRfY21kID0gMTsKKwkJCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwLmFyZ3MsICJyZXNldCIsICItcSIsICItLSIsIE5VTEwpOworCQkJYWRkX3BhdGhzcGVjcygmY3AuYXJncywgcHMpOworCQkJaWYgKHJ1bl9jb21tYW5kKCZjcCkpIHsKKwkJCQlyZXQgPSAtMTsKKwkJCQlnb3RvIGRvbmU7CisJCQl9CisJCX0KKwkJZ290byBkb25lOworCX0KKworZG9uZToKKwlzdHJidWZfcmVsZWFzZSgmc3Rhc2hfbXNnX2J1Zik7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBwdXNoX3N0YXNoKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4LAorCQkgICAgICBpbnQgcHVzaF9hc3N1bWVkKQoreworCWludCBmb3JjZV9hc3N1bWUgPSAwOworCWludCBrZWVwX2luZGV4ID0gLTE7CisJaW50IHBhdGNoX21vZGUgPSAwOworCWludCBpbmNsdWRlX3VudHJhY2tlZCA9IDA7CisJaW50IHF1aWV0ID0gMDsKKwlpbnQgcGF0aHNwZWNfZmlsZV9udWwgPSAwOworCWNvbnN0IGNoYXIgKnN0YXNoX21zZyA9IE5VTEw7CisJY29uc3QgY2hhciAqcGF0aHNwZWNfZnJvbV9maWxlID0gTlVMTDsKKwlzdHJ1Y3QgcGF0aHNwZWMgcHM7CisJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CisJCU9QVF9CT09MKCdrJywgImtlZXAtaW5kZXgiLCAma2VlcF9pbmRleCwKKwkJCSBOXygia2VlcCBpbmRleCIpKSwKKwkJT1BUX0JPT0woJ3AnLCAicGF0Y2giLCAmcGF0Y2hfbW9kZSwKKwkJCSBOXygic3Rhc2ggaW4gcGF0Y2ggbW9kZSIpKSwKKwkJT1BUX19RVUlFVCgmcXVpZXQsIE5fKCJxdWlldCBtb2RlIikpLAorCQlPUFRfQk9PTCgndScsICJpbmNsdWRlLXVudHJhY2tlZCIsICZpbmNsdWRlX3VudHJhY2tlZCwKKwkJCSBOXygiaW5jbHVkZSB1bnRyYWNrZWQgZmlsZXMgaW4gc3Rhc2giKSksCisJCU9QVF9TRVRfSU5UKCdhJywgImFsbCIsICZpbmNsdWRlX3VudHJhY2tlZCwKKwkJCSAgICBOXygiaW5jbHVkZSBpZ25vcmUgZmlsZXMiKSwgMiksCisJCU9QVF9TVFJJTkcoJ20nLCAibWVzc2FnZSIsICZzdGFzaF9tc2csIE5fKCJtZXNzYWdlIiksCisJCQkgICBOXygic3Rhc2ggbWVzc2FnZSIpKSwKKwkJT1BUX1BBVEhTUEVDX0ZST01fRklMRSgmcGF0aHNwZWNfZnJvbV9maWxlKSwKKwkJT1BUX1BBVEhTUEVDX0ZJTEVfTlVMKCZwYXRoc3BlY19maWxlX251bCksCisJCU9QVF9FTkQoKQorCX07CisKKwlpZiAoYXJnYykgeworCQlmb3JjZV9hc3N1bWUgPSAhc3RyY21wKGFyZ3ZbMF0sICItcCIpOworCQlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIG9wdGlvbnMsCisJCQkJICAgICBnaXRfc3Rhc2hfcHVzaF91c2FnZSwKKwkJCQkgICAgIFBBUlNFX09QVF9LRUVQX0RBU0hEQVNIKTsKKwl9CisKKwlpZiAoYXJnYykgeworCQlpZiAoIXN0cmNtcChhcmd2WzBdLCAiLS0iKSkgeworCQkJYXJnYy0tOworCQkJYXJndisrOworCQl9IGVsc2UgaWYgKHB1c2hfYXNzdW1lZCAmJiAhZm9yY2VfYXNzdW1lKSB7CisJCQlkaWUoInN1YmNvbW1hbmQgd2Fzbid0IHNwZWNpZmllZDsgJ3B1c2gnIGNhbid0IGJlIGFzc3VtZWQgZHVlIHRvIHVuZXhwZWN0ZWQgdG9rZW4gJyVzJyIsCisJCQkgICAgYXJndlswXSk7CisJCX0KKwl9CisKKwlwYXJzZV9wYXRoc3BlYygmcHMsIDAsIFBBVEhTUEVDX1BSRUZFUl9GVUxMIHwgUEFUSFNQRUNfUFJFRklYX09SSUdJTiwKKwkJICAgICAgIHByZWZpeCwgYXJndik7CisKKwlpZiAocGF0aHNwZWNfZnJvbV9maWxlKSB7CisJCWlmIChwYXRjaF9tb2RlKQorCQkJZGllKF8oIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tcGF0Y2giKSk7CisKKwkJaWYgKHBzLm5yKQorCQkJZGllKF8oIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIHBhdGhzcGVjIGFyZ3VtZW50cyIpKTsKKworCQlwYXJzZV9wYXRoc3BlY19maWxlKCZwcywgMCwKKwkJCQkgICAgUEFUSFNQRUNfUFJFRkVSX0ZVTEwgfCBQQVRIU1BFQ19QUkVGSVhfT1JJR0lOLAorCQkJCSAgICBwcmVmaXgsIHBhdGhzcGVjX2Zyb21fZmlsZSwgcGF0aHNwZWNfZmlsZV9udWwpOworCX0gZWxzZSBpZiAocGF0aHNwZWNfZmlsZV9udWwpIHsKKwkJZGllKF8oIi0tcGF0aHNwZWMtZmlsZS1udWwgcmVxdWlyZXMgLS1wYXRoc3BlYy1mcm9tLWZpbGUiKSk7CisJfQorCisJcmV0dXJuIGRvX3B1c2hfc3Rhc2goJnBzLCBzdGFzaF9tc2csIHF1aWV0LCBrZWVwX2luZGV4LCBwYXRjaF9tb2RlLAorCQkJICAgICBpbmNsdWRlX3VudHJhY2tlZCk7Cit9CisKK3N0YXRpYyBpbnQgc2F2ZV9zdGFzaChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwlpbnQga2VlcF9pbmRleCA9IC0xOworCWludCBwYXRjaF9tb2RlID0gMDsKKwlpbnQgaW5jbHVkZV91bnRyYWNrZWQgPSAwOworCWludCBxdWlldCA9IDA7CisJaW50IHJldCA9IDA7CisJY29uc3QgY2hhciAqc3Rhc2hfbXNnID0gTlVMTDsKKwlzdHJ1Y3QgcGF0aHNwZWMgcHM7CisJc3RydWN0IHN0cmJ1ZiBzdGFzaF9tc2dfYnVmID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CisJCU9QVF9CT09MKCdrJywgImtlZXAtaW5kZXgiLCAma2VlcF9pbmRleCwKKwkJCSBOXygia2VlcCBpbmRleCIpKSwKKwkJT1BUX0JPT0woJ3AnLCAicGF0Y2giLCAmcGF0Y2hfbW9kZSwKKwkJCSBOXygic3Rhc2ggaW4gcGF0Y2ggbW9kZSIpKSwKKwkJT1BUX19RVUlFVCgmcXVpZXQsIE5fKCJxdWlldCBtb2RlIikpLAorCQlPUFRfQk9PTCgndScsICJpbmNsdWRlLXVudHJhY2tlZCIsICZpbmNsdWRlX3VudHJhY2tlZCwKKwkJCSBOXygiaW5jbHVkZSB1bnRyYWNrZWQgZmlsZXMgaW4gc3Rhc2giKSksCisJCU9QVF9TRVRfSU5UKCdhJywgImFsbCIsICZpbmNsdWRlX3VudHJhY2tlZCwKKwkJCSAgICBOXygiaW5jbHVkZSBpZ25vcmUgZmlsZXMiKSwgMiksCisJCU9QVF9TVFJJTkcoJ20nLCAibWVzc2FnZSIsICZzdGFzaF9tc2csICJtZXNzYWdlIiwKKwkJCSAgIE5fKCJzdGFzaCBtZXNzYWdlIikpLAorCQlPUFRfRU5EKCkKKwl9OworCisJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBvcHRpb25zLAorCQkJICAgICBnaXRfc3Rhc2hfc2F2ZV91c2FnZSwKKwkJCSAgICAgUEFSU0VfT1BUX0tFRVBfREFTSERBU0gpOworCisJaWYgKGFyZ2MpCisJCXN0YXNoX21zZyA9IHN0cmJ1Zl9qb2luX2FyZ3YoJnN0YXNoX21zZ19idWYsIGFyZ2MsIGFyZ3YsICcgJyk7CisKKwltZW1zZXQoJnBzLCAwLCBzaXplb2YocHMpKTsKKwlyZXQgPSBkb19wdXNoX3N0YXNoKCZwcywgc3Rhc2hfbXNnLCBxdWlldCwga2VlcF9pbmRleCwKKwkJCSAgICBwYXRjaF9tb2RlLCBpbmNsdWRlX3VudHJhY2tlZCk7CisKKwlzdHJidWZfcmVsZWFzZSgmc3Rhc2hfbXNnX2J1Zik7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCB1c2VfYnVpbHRpbl9zdGFzaCh2b2lkKQoreworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOworCXN0cnVjdCBzdHJidWYgb3V0ID0gU1RSQlVGX0lOSVQ7CisJaW50IHJldCwgZW52ID0gZ2l0X2Vudl9ib29sKCJHSVRfVEVTVF9TVEFTSF9VU0VfQlVJTFRJTiIsIC0xKTsKKworCWlmIChlbnYgIT0gLTEpCisJCXJldHVybiBlbnY7CisKKwlhcmd2X2FycmF5X3B1c2hsKCZjcC5hcmdzLAorCQkJICJjb25maWciLCAiLS1ib29sIiwgInN0YXNoLnVzZWJ1aWx0aW4iLCBOVUxMKTsKKwljcC5naXRfY21kID0gMTsKKwlpZiAoY2FwdHVyZV9jb21tYW5kKCZjcCwgJm91dCwgNikpIHsKKwkJc3RyYnVmX3JlbGVhc2UoJm91dCk7CisJCXJldHVybiAxOworCX0KKworCXN0cmJ1Zl90cmltKCZvdXQpOworCXJldCA9ICFzdHJjbXAoInRydWUiLCBvdXQuYnVmKTsKKwlzdHJidWZfcmVsZWFzZSgmb3V0KTsKKwlyZXR1cm4gcmV0OworfQorCitpbnQgY21kX3N0YXNoKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQoreworCXBpZF90IHBpZCA9IGdldHBpZCgpOworCWNvbnN0IGNoYXIgKmluZGV4X2ZpbGU7CisJc3RydWN0IGFyZ3ZfYXJyYXkgYXJncyA9IEFSR1ZfQVJSQVlfSU5JVDsKKworCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0geworCQlPUFRfRU5EKCkKKwl9OworCisJaWYgKCF1c2VfYnVpbHRpbl9zdGFzaCgpKSB7CisJCWNvbnN0IGNoYXIgKnBhdGggPSBta3BhdGgoIiVzL2dpdC1sZWdhY3ktc3Rhc2giLAorCQkJCQkgIGdpdF9leGVjX3BhdGgoKSk7CisKKwkJaWYgKHNhbmVfZXhlY3ZwKHBhdGgsIChjaGFyICoqKWFyZ3YpIDwgMCkKKwkJCWRpZV9lcnJubyhfKCJjb3VsZCBub3QgZXhlYyAlcyIpLCBwYXRoKTsKKwkJZWxzZQorCQkJQlVHKCJzYW5lX2V4ZWN2cCgpIHJldHVybmVkPz8/Iik7CisJfQorCisJcHJlZml4ID0gc2V0dXBfZ2l0X2RpcmVjdG9yeSgpOworCXRyYWNlX3JlcG9fc2V0dXAocHJlZml4KTsKKwlzZXR1cF93b3JrX3RyZWUoKTsKKworCWdpdF9jb25maWcoZ2l0X2RpZmZfYmFzaWNfY29uZmlnLCBOVUxMKTsKKworCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHByZWZpeCwgb3B0aW9ucywgZ2l0X3N0YXNoX3VzYWdlLAorCQkJICAgICBQQVJTRV9PUFRfS0VFUF9VTktOT1dOIHwgUEFSU0VfT1BUX0tFRVBfREFTSERBU0gpOworCisJaW5kZXhfZmlsZSA9IGdldF9pbmRleF9maWxlKCk7CisJc3RyYnVmX2FkZGYoJnN0YXNoX2luZGV4X3BhdGgsICIlcy5zdGFzaC4lIiBQUkl1TUFYLCBpbmRleF9maWxlLAorCQkgICAgKHVpbnRtYXhfdClwaWQpOworCisJaWYgKCFhcmdjKQorCQlyZXR1cm4gISFwdXNoX3N0YXNoKDAsIE5VTEwsIHByZWZpeCwgMCk7CisJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzBdLCAiYXBwbHkiKSkKKwkJcmV0dXJuICEhYXBwbHlfc3Rhc2goYXJnYywgYXJndiwgcHJlZml4KTsKKwllbHNlIGlmICghc3RyY21wKGFyZ3ZbMF0sICJjbGVhciIpKQorCQlyZXR1cm4gISFjbGVhcl9zdGFzaChhcmdjLCBhcmd2LCBwcmVmaXgpOworCWVsc2UgaWYgKCFzdHJjbXAoYXJndlswXSwgImRyb3AiKSkKKwkJcmV0dXJuICEhZHJvcF9zdGFzaChhcmdjLCBhcmd2LCBwcmVmaXgpOworCWVsc2UgaWYgKCFzdHJjbXAoYXJndlswXSwgInBvcCIpKQorCQlyZXR1cm4gISFwb3Bfc3Rhc2goYXJnYywgYXJndiwgcHJlZml4KTsKKwllbHNlIGlmICghc3RyY21wKGFyZ3ZbMF0sICJicmFuY2giKSkKKwkJcmV0dXJuICEhYnJhbmNoX3N0YXNoKGFyZ2MsIGFyZ3YsIHByZWZpeCk7CisJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzBdLCAibGlzdCIpKQorCQlyZXR1cm4gISFsaXN0X3N0YXNoKGFyZ2MsIGFyZ3YsIHByZWZpeCk7CisJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzBdLCAic2hvdyIpKQorCQlyZXR1cm4gISFzaG93X3N0YXNoKGFyZ2MsIGFyZ3YsIHByZWZpeCk7CisJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzBdLCAic3RvcmUiKSkKKwkJcmV0dXJuICEhc3RvcmVfc3Rhc2goYXJnYywgYXJndiwgcHJlZml4KTsKKwllbHNlIGlmICghc3RyY21wKGFyZ3ZbMF0sICJjcmVhdGUiKSkKKwkJcmV0dXJuICEhY3JlYXRlX3N0YXNoKGFyZ2MsIGFyZ3YsIHByZWZpeCk7CisJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzBdLCAicHVzaCIpKQorCQlyZXR1cm4gISFwdXNoX3N0YXNoKGFyZ2MsIGFyZ3YsIHByZWZpeCwgMCk7CisJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzBdLCAic2F2ZSIpKQorCQlyZXR1cm4gISFzYXZlX3N0YXNoKGFyZ2MsIGFyZ3YsIHByZWZpeCk7CisJZWxzZSBpZiAoKmFyZ3ZbMF0gIT0gJy0nKQorCQl1c2FnZV9tc2dfb3B0KHhzdHJmbXQoXygidW5rbm93biBzdWJjb21tYW5kOiAlcyIpLCBhcmd2WzBdKSwKKwkJCSAgICAgIGdpdF9zdGFzaF91c2FnZSwgb3B0aW9ucyk7CisKKwkvKiBBc3N1bWUgJ3N0YXNoIHB1c2gnICovCisJYXJndl9hcnJheV9wdXNoKCZhcmdzLCAicHVzaCIpOworCWFyZ3ZfYXJyYXlfcHVzaHYoJmFyZ3MsIGFyZ3YpOworCXJldHVybiAhIXB1c2hfc3Rhc2goYXJncy5hcmdjLCBhcmdzLmFyZ3YsIHByZWZpeCwgMSk7Cit9CmRpZmYgLS1naXQgYS9idWlsdGluL3N0cmlwc3BhY2UuYyBiL2J1aWx0aW4vc3RyaXBzcGFjZS5jCmluZGV4IGJkZjAzMjguLmJlMzNlYjggMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vc3RyaXBzcGFjZS5jCisrKyBiL2J1aWx0aW4vc3RyaXBzcGFjZS5jCkBAIC0zMCw2ICszMCw3IEBACiB7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAllbnVtIHN0cmlwc3BhY2VfbW9kZSBtb2RlID0gU1RSSVBfREVGQVVMVDsKKwlpbnQgbm9uZ2l0OwogCiAJY29uc3Qgc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CiAJCU9QVF9DTURNT0RFKCdzJywgInN0cmlwLWNvbW1lbnRzIiwgJm1vZGUsCkBAIC00Niw3ICs0Nyw3IEBACiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhzdHJpcHNwYWNlX3VzYWdlLCBvcHRpb25zKTsKIAogCWlmIChtb2RlID09IFNUUklQX0NPTU1FTlRTIHx8IG1vZGUgPT0gQ09NTUVOVF9MSU5FUykgewotCQlzZXR1cF9naXRfZGlyZWN0b3J5X2dlbnRseShOVUxMKTsKKwkJc2V0dXBfZ2l0X2RpcmVjdG9yeV9nZW50bHkoJm5vbmdpdCk7CiAJCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYyBiL2J1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYwppbmRleCBmMjZiZGFjLi44NmE2MDhlIDEwMDY0NAotLS0gYS9idWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmMKKysrIGIvYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jCkBAIC0xLDMgKzEsNCBAQAorI2RlZmluZSBVU0VfVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgInJlcG9zaXRvcnkuaCIKICNpbmNsdWRlICJjYWNoZS5oIgpAQCAtMTksNiArMjAsNyBAQAogI2luY2x1ZGUgImRpZmYuaCIKICNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKICNpbmNsdWRlICJkaXIuaCIKKyNpbmNsdWRlICJhZHZpY2UuaCIKIAogI2RlZmluZSBPUFRfUVVJRVQgKDEgPDwgMCkKICNkZWZpbmUgT1BUX0NBQ0hFRCAoMSA8PCAxKQpAQCAtMzQ4LDcgKzM1MCw3IEBACiAJCQlpKys7CiAJfQogCi0JaWYgKHBzX21hdGNoZWQgJiYgcmVwb3J0X3BhdGhfZXJyb3IocHNfbWF0Y2hlZCwgcGF0aHNwZWMsIHByZWZpeCkpCisJaWYgKHBzX21hdGNoZWQgJiYgcmVwb3J0X3BhdGhfZXJyb3IocHNfbWF0Y2hlZCwgcGF0aHNwZWMpKQogCQlyZXN1bHQgPSAtMTsKIAogCWZyZWUocHNfbWF0Y2hlZCk7CkBAIC00MjQsNyArNDI2LDcgQEAKIAkJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGxpc3QuZW50cmllc1tpXTsKIAogCQlpZiAoY2Vfc3RhZ2UoY2UpKQotCQkJcHJpbnRmKCIlMDZvICVzIFVcdCIsIGNlLT5jZV9tb2RlLCBzaGExX3RvX2hleChudWxsX3NoYTEpKTsKKwkJCXByaW50ZigiJTA2byAlcyBVXHQiLCBjZS0+Y2VfbW9kZSwgb2lkX3RvX2hleCgmbnVsbF9vaWQpKTsKIAkJZWxzZQogCQkJcHJpbnRmKCIlMDZvICVzICVkXHQiLCBjZS0+Y2VfbW9kZSwKIAkJCSAgICAgICBvaWRfdG9faGV4KCZjZS0+b2lkKSwgY2Vfc3RhZ2UoY2UpKTsKQEAgLTU0MCw2ICs1NDIsNyBAQAogCQlpZiAoaW5mby0+cXVpZXQpCiAJCQlhcmd2X2FycmF5X3B1c2goJmNwci5hcmdzLCAiLS1xdWlldCIpOwogCisJCWFyZ3ZfYXJyYXlfcHVzaCgmY3ByLmFyZ3MsICItLSIpOwogCQlhcmd2X2FycmF5X3B1c2h2KCZjcHIuYXJncywgaW5mby0+YXJndik7CiAKIAkJaWYgKHJ1bl9jb21tYW5kKCZjcHIpKQpAQCAtNTY2LDEyICs1NjksMTIgQEAKIAl9OwogCiAJY29uc3QgY2hhciAqY29uc3QgZ2l0X3N1Ym1vZHVsZV9oZWxwZXJfdXNhZ2VbXSA9IHsKLQkJTl8oImdpdCBzdWJtb2R1bGUtLWhlbHBlciBmb3JlYWNoIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIDxjb21tYW5kPiIpLAorCQlOXygiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGZvcmVhY2ggWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWy0tXSA8Y29tbWFuZD4iKSwKIAkJTlVMTAogCX07CiAKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIG1vZHVsZV9mb3JlYWNoX29wdGlvbnMsCi0JCQkgICAgIGdpdF9zdWJtb2R1bGVfaGVscGVyX3VzYWdlLCBQQVJTRV9PUFRfS0VFUF9VTktOT1dOKTsKKwkJCSAgICAgZ2l0X3N1Ym1vZHVsZV9oZWxwZXJfdXNhZ2UsIDApOwogCiAJaWYgKG1vZHVsZV9saXN0X2NvbXB1dGUoMCwgTlVMTCwgcHJlZml4LCAmcGF0aHNwZWMsICZsaXN0KSA8IDApCiAJCXJldHVybiAxOwpAQCAtNzA5LDcgKzcxMiw3IEBACiAJfTsKIAogCWNvbnN0IGNoYXIgKmNvbnN0IGdpdF9zdWJtb2R1bGVfaGVscGVyX3VzYWdlW10gPSB7Ci0JCU5fKCJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPHBhdGg+XSIpLAorCQlOXygiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzxvcHRpb25zPl0gWzxwYXRoPl0iKSwKIAkJTlVMTAogCX07CiAKQEAgLTc3OSw2ICs3ODIsOCBAQAogCXN0cnVjdCBhcmd2X2FycmF5IGRpZmZfZmlsZXNfYXJncyA9IEFSR1ZfQVJSQVlfSU5JVDsKIAlzdHJ1Y3QgcmV2X2luZm8gcmV2OwogCWludCBkaWZmX2ZpbGVzX3Jlc3VsdDsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCWNvbnN0IGNoYXIgKmdpdF9kaXI7CiAKIAlpZiAoIXN1Ym1vZHVsZV9mcm9tX3BhdGgodGhlX3JlcG9zaXRvcnksICZudWxsX29pZCwgcGF0aCkpCiAJCWRpZShfKCJubyBzdWJtb2R1bGUgbWFwcGluZyBmb3VuZCBpbiAuZ2l0bW9kdWxlcyBmb3IgcGF0aCAnJXMnIiksCkBAIC03OTEsMTcgKzc5NiwyNiBAQAogCQlnb3RvIGNsZWFudXA7CiAJfQogCi0JaWYgKCFpc19zdWJtb2R1bGVfYWN0aXZlKHRoZV9yZXBvc2l0b3J5LCBwYXRoKSkgeworCXN0cmJ1Zl9hZGRmKCZidWYsICIlcy8uZ2l0IiwgcGF0aCk7CisJZ2l0X2RpciA9IHJlYWRfZ2l0ZmlsZShidWYuYnVmKTsKKwlpZiAoIWdpdF9kaXIpCisJCWdpdF9kaXIgPSBidWYuYnVmOworCisJaWYgKCFpc19zdWJtb2R1bGVfYWN0aXZlKHRoZV9yZXBvc2l0b3J5LCBwYXRoKSB8fAorCSAgICAhaXNfZ2l0X2RpcmVjdG9yeShnaXRfZGlyKSkgewogCQlwcmludF9zdGF0dXMoZmxhZ3MsICctJywgcGF0aCwgY2Vfb2lkLCBkaXNwbGF5cGF0aCk7CisJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCQlnb3RvIGNsZWFudXA7CiAJfQorCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCiAJYXJndl9hcnJheV9wdXNobCgmZGlmZl9maWxlc19hcmdzLCAiZGlmZi1maWxlcyIsCiAJCQkgIi0taWdub3JlLXN1Ym1vZHVsZXM9ZGlydHkiLCAiLS1xdWlldCIsICItLSIsCiAJCQkgcGF0aCwgTlVMTCk7CiAKIAlnaXRfY29uZmlnKGdpdF9kaWZmX2Jhc2ljX2NvbmZpZywgTlVMTCk7Ci0JcmVwb19pbml0X3JldmlzaW9ucyh0aGVfcmVwb3NpdG9yeSwgJnJldiwgcHJlZml4KTsKKworCXJlcG9faW5pdF9yZXZpc2lvbnModGhlX3JlcG9zaXRvcnksICZyZXYsIE5VTEwpOwogCXJldi5hYmJyZXYgPSAwOwogCWRpZmZfZmlsZXNfYXJncy5hcmdjID0gc2V0dXBfcmV2aXNpb25zKGRpZmZfZmlsZXNfYXJncy5hcmdjLAogCQkJCQkgICAgICAgZGlmZl9maWxlc19hcmdzLmFyZ3YsCkBAIC0xMTMyLDYgKzExNDYsOCBAQAogCQlpZiAoIShmbGFncyAmIE9QVF9RVUlFVCkpCiAJCQlwcmludGYoZm9ybWF0LCBkaXNwbGF5cGF0aCk7CiAKKwkJc3VibW9kdWxlX3Vuc2V0X2NvcmVfd29ya3RyZWUoc3ViKTsKKwogCQlzdHJidWZfcmVsZWFzZSgmc2Jfcm0pOwogCX0KIApAQCAtMTIxOSw3ICsxMjM1LDcgQEAKIAogc3RhdGljIGludCBjbG9uZV9zdWJtb2R1bGUoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqZ2l0ZGlyLCBjb25zdCBjaGFyICp1cmwsCiAJCQkgICBjb25zdCBjaGFyICpkZXB0aCwgc3RydWN0IHN0cmluZ19saXN0ICpyZWZlcmVuY2UsIGludCBkaXNzb2NpYXRlLAotCQkJICAgaW50IHF1aWV0LCBpbnQgcHJvZ3Jlc3MpCisJCQkgICBpbnQgcXVpZXQsIGludCBwcm9ncmVzcywgaW50IHNpbmdsZV9icmFuY2gpCiB7CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CiAKQEAgLTEyNDEsNiArMTI1NywxMCBAQAogCQlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsICItLWRpc3NvY2lhdGUiKTsKIAlpZiAoZ2l0ZGlyICYmICpnaXRkaXIpCiAJCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwLmFyZ3MsICItLXNlcGFyYXRlLWdpdC1kaXIiLCBnaXRkaXIsIE5VTEwpOworCWlmIChzaW5nbGVfYnJhbmNoID49IDApCisJCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgc2luZ2xlX2JyYW5jaCA/CisJCQkJCSAgIi0tc2luZ2xlLWJyYW5jaCIgOgorCQkJCQkgICItLW5vLXNpbmdsZS1icmFuY2giKTsKIAogCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgIi0tIik7CiAJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCB1cmwpOwpAQCAtMTI2NSwyMCArMTI4NSwyOCBAQAogI2RlZmluZSBTVUJNT0RVTEVfQUxURVJOQVRFX1NFVFVQX0lOSVQgeyBOVUxMLCBcCiAJU1VCTU9EVUxFX0FMVEVSTkFURV9FUlJPUl9JR05PUkUsIE5VTEwgfQogCitzdGF0aWMgY29uc3QgY2hhciBhbHRlcm5hdGVfZXJyb3JfYWR2aWNlW10gPSBOXygKKyJBbiBhbHRlcm5hdGUgY29tcHV0ZWQgZnJvbSBhIHN1cGVycHJvamVjdCdzIGFsdGVybmF0ZSBpcyBpbnZhbGlkLlxuIgorIlRvIGFsbG93IEdpdCB0byBjbG9uZSB3aXRob3V0IGFuIGFsdGVybmF0ZSBpbiBzdWNoIGEgY2FzZSwgc2V0XG4iCisic3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgdG8gJ2luZm8nIG9yLCBlcXVpdmFsZW50bHksIGNsb25lIHdpdGhcbiIKKyInLS1yZWZlcmVuY2UtaWYtYWJsZScgaW5zdGVhZCBvZiAnLS1yZWZlcmVuY2UnLiIKKyk7CisKIHN0YXRpYyBpbnQgYWRkX3Bvc3NpYmxlX3JlZmVyZW5jZV9mcm9tX3N1cGVycHJvamVjdCgKLQkJc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgKmFsdCwgdm9pZCAqc2FzX2NiKQorCQlzdHJ1Y3Qgb2JqZWN0X2RpcmVjdG9yeSAqb2RiLCB2b2lkICpzYXNfY2IpCiB7CiAJc3RydWN0IHN1Ym1vZHVsZV9hbHRlcm5hdGVfc2V0dXAgKnNhcyA9IHNhc19jYjsKKwlzaXplX3QgbGVuOwogCiAJLyoKIAkgKiBJZiB0aGUgYWx0ZXJuYXRlIG9iamVjdCBzdG9yZSBpcyBhbm90aGVyIHJlcG9zaXRvcnksIHRyeSB0aGUKIAkgKiBzdGFuZGFyZCBsYXlvdXQgd2l0aCAuZ2l0Lyhtb2R1bGVzLzxuYW1lPikrL29iamVjdHMKIAkgKi8KLQlpZiAoZW5kc193aXRoKGFsdC0+cGF0aCwgIi9vYmplY3RzIikpIHsKKwlpZiAoc3RyaXBfc3VmZml4KG9kYi0+cGF0aCwgIi9vYmplY3RzIiwgJmxlbikpIHsKIAkJY2hhciAqc21fYWx0ZXJuYXRlOwogCQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJCXN0cnVjdCBzdHJidWYgZXJyID0gU1RSQlVGX0lOSVQ7Ci0JCXN0cmJ1Zl9hZGQoJnNiLCBhbHQtPnBhdGgsIHN0cmxlbihhbHQtPnBhdGgpIC0gc3RybGVuKCJvYmplY3RzIikpOworCQlzdHJidWZfYWRkKCZzYiwgb2RiLT5wYXRoLCBsZW4pOwogCiAJCS8qCiAJCSAqIFdlIG5lZWQgdG8gZW5kIHRoZSBuZXcgcGF0aCB3aXRoICcvJyB0byBtYXJrIGl0IGFzIGEgZGlyLApAQCAtMTI4Niw3ICsxMzE0LDcgQEAKIAkJICogYXMgdGhlIGxhc3QgcGFydCBvZiBhIG1pc3Npbmcgc3VibW9kdWxlIHJlZmVyZW5jZSB3b3VsZAogCQkgKiBiZSB0YWtlbiBhcyBhIGZpbGUgbmFtZS4KIAkJICovCi0JCXN0cmJ1Zl9hZGRmKCZzYiwgIm1vZHVsZXMvJXMvIiwgc2FzLT5zdWJtb2R1bGVfbmFtZSk7CisJCXN0cmJ1Zl9hZGRmKCZzYiwgIi9tb2R1bGVzLyVzLyIsIHNhcy0+c3VibW9kdWxlX25hbWUpOwogCiAJCXNtX2FsdGVybmF0ZSA9IGNvbXB1dGVfYWx0ZXJuYXRlX3BhdGgoc2IuYnVmLCAmZXJyKTsKIAkJaWYgKHNtX2FsdGVybmF0ZSkgewpAQCAtMTI5NSwxMCArMTMyMywxMiBAQAogCQl9IGVsc2UgewogCQkJc3dpdGNoIChzYXMtPmVycm9yX21vZGUpIHsKIAkJCWNhc2UgU1VCTU9EVUxFX0FMVEVSTkFURV9FUlJPUl9ESUU6CisJCQkJaWYgKGFkdmljZV9zdWJtb2R1bGVfYWx0ZXJuYXRlX2Vycm9yX3N0cmF0ZWd5X2RpZSkKKwkJCQkJYWR2aXNlKF8oYWx0ZXJuYXRlX2Vycm9yX2FkdmljZSkpOwogCQkJCWRpZShfKCJzdWJtb2R1bGUgJyVzJyBjYW5ub3QgYWRkIGFsdGVybmF0ZTogJXMiKSwKIAkJCQkgICAgc2FzLT5zdWJtb2R1bGVfbmFtZSwgZXJyLmJ1Zik7CiAJCQljYXNlIFNVQk1PRFVMRV9BTFRFUk5BVEVfRVJST1JfSU5GTzoKLQkJCQlmcHJpbnRmKHN0ZGVyciwgXygic3VibW9kdWxlICclcycgY2Fubm90IGFkZCBhbHRlcm5hdGU6ICVzIiksCisJCQkJZnByaW50Zl9sbihzdGRlcnIsIF8oInN1Ym1vZHVsZSAnJXMnIGNhbm5vdCBhZGQgYWx0ZXJuYXRlOiAlcyIpLAogCQkJCQlzYXMtPnN1Ym1vZHVsZV9uYW1lLCBlcnIuYnVmKTsKIAkJCWNhc2UgU1VCTU9EVUxFX0FMVEVSTkFURV9FUlJPUl9JR05PUkU6CiAJCQkJOyAvKiBub3RoaW5nICovCkBAIC0xMzU3LDYgKzEzODcsNyBAQAogCXN0cnVjdCBzdHJpbmdfbGlzdCByZWZlcmVuY2UgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOwogCWludCBkaXNzb2NpYXRlID0gMCwgcmVxdWlyZV9pbml0ID0gMDsKIAljaGFyICpzbV9hbHRlcm5hdGUgPSBOVUxMLCAqZXJyb3Jfc3RyYXRlZ3kgPSBOVUxMOworCWludCBzaW5nbGVfYnJhbmNoID0gLTE7CiAKIAlzdHJ1Y3Qgb3B0aW9uIG1vZHVsZV9jbG9uZV9vcHRpb25zW10gPSB7CiAJCU9QVF9TVFJJTkcoMCwgInByZWZpeCIsICZwcmVmaXgsCkBAIC0xMzg0LDEyICsxNDE1LDE1IEBACiAJCQkgICBOXygiZm9yY2UgY2xvbmluZyBwcm9ncmVzcyIpKSwKIAkJT1BUX0JPT0woMCwgInJlcXVpcmUtaW5pdCIsICZyZXF1aXJlX2luaXQsCiAJCQkgICBOXygiZGlzYWxsb3cgY2xvbmluZyBpbnRvIG5vbi1lbXB0eSBkaXJlY3RvcnkiKSksCisJCU9QVF9CT09MKDAsICJzaW5nbGUtYnJhbmNoIiwgJnNpbmdsZV9icmFuY2gsCisJCQkgTl8oImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIpKSwKIAkJT1BUX0VORCgpCiAJfTsKIAogCWNvbnN0IGNoYXIgKmNvbnN0IGdpdF9zdWJtb2R1bGVfaGVscGVyX3VzYWdlW10gPSB7CiAJCU5fKCJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWy0tcXVpZXRdICIKIAkJICAgIlstLXJlZmVyZW5jZSA8cmVwb3NpdG9yeT5dIFstLW5hbWUgPG5hbWU+XSBbLS1kZXB0aCA8ZGVwdGg+XSAiCisJCSAgICJbLS1zaW5nbGUtYnJhbmNoXSAiCiAJCSAgICItLXVybCA8dXJsPiAtLXBhdGggPHBhdGg+IiksCiAJCU5VTEwKIAl9OwpAQCAtMTQyMiw3ICsxNDU2LDcgQEAKIAkJcHJlcGFyZV9wb3NzaWJsZV9hbHRlcm5hdGVzKG5hbWUsICZyZWZlcmVuY2UpOwogCiAJCWlmIChjbG9uZV9zdWJtb2R1bGUocGF0aCwgc21fZ2l0ZGlyLCB1cmwsIGRlcHRoLCAmcmVmZXJlbmNlLCBkaXNzb2NpYXRlLAotCQkJCSAgICBxdWlldCwgcHJvZ3Jlc3MpKQorCQkJCSAgICBxdWlldCwgcHJvZ3Jlc3MsIHNpbmdsZV9icmFuY2gpKQogCQkJZGllKF8oImNsb25lIG9mICclcycgaW50byBzdWJtb2R1bGUgcGF0aCAnJXMnIGZhaWxlZCIpLAogCQkJICAgIHVybCwgcGF0aCk7CiAJfSBlbHNlIHsKQEAgLTE1NDYsNiArMTU4MCw3IEBACiAJY29uc3QgY2hhciAqZGVwdGg7CiAJY29uc3QgY2hhciAqcmVjdXJzaXZlX3ByZWZpeDsKIAljb25zdCBjaGFyICpwcmVmaXg7CisJaW50IHNpbmdsZV9icmFuY2g7CiAKIAkvKiB0byBiZSBjb25zdW1lZCBieSBnaXQtc3VibW9kdWxlLnNoICovCiAJc3RydWN0IHVwZGF0ZV9jbG9uZV9kYXRhICp1cGRhdGVfY2xvbmU7CkBAIC0xNTYwLDEwICsxNTk1LDE0IEBACiAKIAlpbnQgbWF4X2pvYnM7CiB9OwotI2RlZmluZSBTVUJNT0RVTEVfVVBEQVRFX0NMT05FX0lOSVQgezAsIE1PRFVMRV9MSVNUX0lOSVQsIDAsIFwKLQlTVUJNT0RVTEVfVVBEQVRFX1NUUkFURUdZX0lOSVQsIDAsIDAsIC0xLCBTVFJJTkdfTElTVF9JTklUX0RVUCwgMCwgMCwgXAotCU5VTEwsIE5VTEwsIE5VTEwsIFwKLQlOVUxMLCAwLCAwLCAwLCBOVUxMLCAwLCAwLCAwfQorI2RlZmluZSBTVUJNT0RVTEVfVVBEQVRFX0NMT05FX0lOSVQgeyBcCisJLmxpc3QgPSBNT0RVTEVfTElTVF9JTklULCBcCisJLnVwZGF0ZSA9IFNVQk1PRFVMRV9VUERBVEVfU1RSQVRFR1lfSU5JVCwgXAorCS5yZWNvbW1lbmRfc2hhbGxvdyA9IC0xLCBcCisJLnJlZmVyZW5jZXMgPSBTVFJJTkdfTElTVF9JTklUX0RVUCwgXAorCS5zaW5nbGVfYnJhbmNoID0gLTEsIFwKKwkubWF4X2pvYnMgPSAxLCBcCit9CiAKIAogc3RhdGljIHZvaWQgbmV4dF9zdWJtb2R1bGVfd2Fybl9taXNzaW5nKHN0cnVjdCBzdWJtb2R1bGVfdXBkYXRlX2Nsb25lICpzdWMsCkBAIC0xNzAyLDYgKzE3NDEsMTAgQEAKIAkJYXJndl9hcnJheV9wdXNoKCZjaGlsZC0+YXJncywgIi0tZGlzc29jaWF0ZSIpOwogCWlmIChzdWMtPmRlcHRoKQogCQlhcmd2X2FycmF5X3B1c2goJmNoaWxkLT5hcmdzLCBzdWMtPmRlcHRoKTsKKwlpZiAoc3VjLT5zaW5nbGVfYnJhbmNoID49IDApCisJCWFyZ3ZfYXJyYXlfcHVzaCgmY2hpbGQtPmFyZ3MsIHN1Yy0+c2luZ2xlX2JyYW5jaCA/CisJCQkJCSAgICAgICItLXNpbmdsZS1icmFuY2giIDoKKwkJCQkJICAgICAgIi0tbm8tc2luZ2xlLWJyYW5jaCIpOwogCiBjbGVhbnVwOgogCXN0cmJ1Zl9yZXNldCgmZGlzcGxheXBhdGhfc2IpOwpAQCAtMTgyNiwxMSArMTg2OSwxMCBAQAogewogCWludCBpOwogCi0JcnVuX3Byb2Nlc3Nlc19wYXJhbGxlbChzdWMtPm1heF9qb2JzLAotCQkJICAgICAgIHVwZGF0ZV9jbG9uZV9nZXRfbmV4dF90YXNrLAotCQkJICAgICAgIHVwZGF0ZV9jbG9uZV9zdGFydF9mYWlsdXJlLAotCQkJICAgICAgIHVwZGF0ZV9jbG9uZV90YXNrX2ZpbmlzaGVkLAotCQkJICAgICAgIHN1Yyk7CisJcnVuX3Byb2Nlc3Nlc19wYXJhbGxlbF90cjIoc3VjLT5tYXhfam9icywgdXBkYXRlX2Nsb25lX2dldF9uZXh0X3Rhc2ssCisJCQkJICAgdXBkYXRlX2Nsb25lX3N0YXJ0X2ZhaWx1cmUsCisJCQkJICAgdXBkYXRlX2Nsb25lX3Rhc2tfZmluaXNoZWQsIHN1YywgInN1Ym1vZHVsZSIsCisJCQkJICAgInBhcmFsbGVsL3VwZGF0ZSIpOwogCiAJLyoKIAkgKiBXZSBzYXZlZCB0aGUgb3V0cHV0IGFuZCBwdXQgaXQgb3V0IGFsbCBhdCBvbmNlIG5vdy4KQEAgLTE4ODIsMTEgKzE5MjQsMTMgQEAKIAkJCSAgICBOXygiZm9yY2UgY2xvbmluZyBwcm9ncmVzcyIpKSwKIAkJT1BUX0JPT0woMCwgInJlcXVpcmUtaW5pdCIsICZzdWMucmVxdWlyZV9pbml0LAogCQkJICAgTl8oImRpc2FsbG93IGNsb25pbmcgaW50byBub24tZW1wdHkgZGlyZWN0b3J5IikpLAorCQlPUFRfQk9PTCgwLCAic2luZ2xlLWJyYW5jaCIsICZzdWMuc2luZ2xlX2JyYW5jaCwKKwkJCSBOXygiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIikpLAogCQlPUFRfRU5EKCkKIAl9OwogCiAJY29uc3QgY2hhciAqY29uc3QgZ2l0X3N1Ym1vZHVsZV9oZWxwZXJfdXNhZ2VbXSA9IHsKLQkJTl8oImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iKSwKKwkJTl8oImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGUtY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iKSwKIAkJTlVMTAogCX07CiAJc3VjLnByZWZpeCA9IHByZWZpeDsKQEAgLTIwNjEsNyArMjEwNSw3IEBACiAJc3RydWN0IHJlcG9zaXRvcnkgc3VicmVwbzsKIAogCWlmIChhcmdjICE9IDIpCi0JCUJVRygic3VibW9kdWxlLS1oZWxwZXIgY29ubmVjdC1naXRkaXItd29ya2luZ3RyZWUgPG5hbWU+IDxwYXRoPiIpOworCQlCVUcoInN1Ym1vZHVsZS0taGVscGVyIGVuc3VyZS1jb3JlLXdvcmt0cmVlIDxwYXRoPiIpOwogCiAJcGF0aCA9IGFyZ3ZbMV07CiAKQEAgLTIwNjksNyArMjExMyw3IEBACiAJaWYgKCFzdWIpCiAJCUJVRygiV2UgY291bGQgZ2V0IHRoZSBzdWJtb2R1bGUgaGFuZGxlIGJlZm9yZT8iKTsKIAotCWlmIChyZXBvX3N1Ym1vZHVsZV9pbml0KCZzdWJyZXBvLCB0aGVfcmVwb3NpdG9yeSwgcGF0aCkpCisJaWYgKHJlcG9fc3VibW9kdWxlX2luaXQoJnN1YnJlcG8sIHRoZV9yZXBvc2l0b3J5LCBzdWIpKQogCQlkaWUoXygiY291bGQgbm90IGdldCBhIHJlcG9zaXRvcnkgaGFuZGxlIGZvciBzdWJtb2R1bGUgJyVzJyIpLCBwYXRoKTsKIAogCWlmICghcmVwb19jb25maWdfZ2V0X3N0cmluZygmc3VicmVwbywgImNvcmUud29ya3RyZWUiLCAmY3cpKSB7CkBAIC0yMTA5LDcgKzIxNTMsNyBAQAogCX07CiAKIAljb25zdCBjaGFyICpjb25zdCBnaXRfc3VibW9kdWxlX2hlbHBlcl91c2FnZVtdID0gewotCQlOXygiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGVtYmVkLWdpdC1kaXIgWzxwYXRoPi4uLl0iKSwKKwkJTl8oImdpdCBzdWJtb2R1bGUtLWhlbHBlciBhYnNvcmItZ2l0LWRpcnMgWzxvcHRpb25zPl0gWzxwYXRoPi4uLl0iKSwKIAkJTlVMTAogCX07CiAKQEAgLTIxMjAsOCArMjE2NCw3IEBACiAJCXJldHVybiAxOwogCiAJZm9yIChpID0gMDsgaSA8IGxpc3QubnI7IGkrKykKLQkJYWJzb3JiX2dpdF9kaXJfaW50b19zdXBlcnByb2plY3QocHJlZml4LAotCQkJCWxpc3QuZW50cmllc1tpXS0+bmFtZSwgZmxhZ3MpOworCQlhYnNvcmJfZ2l0X2Rpcl9pbnRvX3N1cGVycHJvamVjdChsaXN0LmVudHJpZXNbaV0tPm5hbWUsIGZsYWdzKTsKIAogCXJldHVybiAwOwogfQpAQCAtMjE2MCwxNyArMjIwMywyMiBAQAogc3RhdGljIGludCBtb2R1bGVfY29uZmlnKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4KQogewogCWVudW0gewotCQlDSEVDS19XUklURUFCTEUgPSAxCisJCUNIRUNLX1dSSVRFQUJMRSA9IDEsCisJCURPX1VOU0VUID0gMgogCX0gY29tbWFuZCA9IDA7CiAKIAlzdHJ1Y3Qgb3B0aW9uIG1vZHVsZV9jb25maWdfb3B0aW9uc1tdID0gewogCQlPUFRfQ01ETU9ERSgwLCAiY2hlY2std3JpdGVhYmxlIiwgJmNvbW1hbmQsCiAJCQkgICAgTl8oImNoZWNrIGlmIGl0IGlzIHNhZmUgdG8gd3JpdGUgdG8gdGhlIC5naXRtb2R1bGVzIGZpbGUiKSwKIAkJCSAgICBDSEVDS19XUklURUFCTEUpLAorCQlPUFRfQ01ETU9ERSgwLCAidW5zZXQiLCAmY29tbWFuZCwKKwkJCSAgICBOXygidW5zZXQgdGhlIGNvbmZpZyBpbiB0aGUgLmdpdG1vZHVsZXMgZmlsZSIpLAorCQkJICAgIERPX1VOU0VUKSwKIAkJT1BUX0VORCgpCiAJfTsKIAljb25zdCBjaGFyICpjb25zdCBnaXRfc3VibW9kdWxlX2hlbHBlcl91c2FnZVtdID0gewotCQlOXygiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyBuYW1lIFt2YWx1ZV0iKSwKKwkJTl8oImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgPG5hbWU+IFs8dmFsdWU+XSIpLAorCQlOXygiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLXVuc2V0IDxuYW1lPiIpLAogCQlOXygiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLWNoZWNrLXdyaXRlYWJsZSIpLAogCQlOVUxMCiAJfTsKQEAgLTIxODIsMTUgKzIyMzAsMTcgQEAKIAkJcmV0dXJuIGlzX3dyaXRpbmdfZ2l0bW9kdWxlc19vaygpID8gMCA6IC0xOwogCiAJLyogRXF1aXZhbGVudCB0byBBQ1RJT05fR0VUIGluIGJ1aWx0aW4vY29uZmlnLmMgKi8KLQlpZiAoYXJnYyA9PSAyKQorCWlmIChhcmdjID09IDIgJiYgY29tbWFuZCAhPSBET19VTlNFVCkKIAkJcmV0dXJuIHByaW50X2NvbmZpZ19mcm9tX2dpdG1vZHVsZXModGhlX3JlcG9zaXRvcnksIGFyZ3ZbMV0pOwogCiAJLyogRXF1aXZhbGVudCB0byBBQ1RJT05fU0VUIGluIGJ1aWx0aW4vY29uZmlnLmMgKi8KLQlpZiAoYXJnYyA9PSAzKSB7CisJaWYgKGFyZ2MgPT0gMyB8fCAoYXJnYyA9PSAyICYmIGNvbW1hbmQgPT0gRE9fVU5TRVQpKSB7CisJCWNvbnN0IGNoYXIgKnZhbHVlID0gKGFyZ2MgPT0gMykgPyBhcmd2WzJdIDogTlVMTDsKKwogCQlpZiAoIWlzX3dyaXRpbmdfZ2l0bW9kdWxlc19vaygpKQogCQkJZGllKF8oInBsZWFzZSBtYWtlIHN1cmUgdGhhdCB0aGUgLmdpdG1vZHVsZXMgZmlsZSBpcyBpbiB0aGUgd29ya2luZyB0cmVlIikpOwogCi0JCXJldHVybiBjb25maWdfc2V0X2luX2dpdG1vZHVsZXNfZmlsZV9nZW50bHkoYXJndlsxXSwgYXJndlsyXSk7CisJCXJldHVybiBjb25maWdfc2V0X2luX2dpdG1vZHVsZXNfZmlsZV9nZW50bHkoYXJndlsxXSwgdmFsdWUpOwogCX0KIAogCXVzYWdlX3dpdGhfb3B0aW9ucyhnaXRfc3VibW9kdWxlX2hlbHBlcl91c2FnZSwgbW9kdWxlX2NvbmZpZ19vcHRpb25zKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vdGFnLmMgYi9idWlsdGluL3RhZy5jCmluZGV4IDAyZjZiZDEuLmUwYTRjMjUgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vdGFnLmMKKysrIGIvYnVpbHRpbi90YWcuYwpAQCAtMjIsMTYgKzIyLDE4IEBACiAjaW5jbHVkZSAicmVmLWZpbHRlci5oIgogCiBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGdpdF90YWdfdXNhZ2VbXSA9IHsKLQlOXygiZ2l0IHRhZyBbLWEgfCAtcyB8IC11IDxrZXktaWQ+XSBbLWZdIFstbSA8bXNnPiB8IC1GIDxmaWxlPl0gPHRhZ25hbWU+IFs8aGVhZD5dIiksCisJTl8oImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT5dXG4iCisJCSJcdFx0PHRhZ25hbWU+IFs8aGVhZD5dIiksCiAJTl8oImdpdCB0YWcgLWQgPHRhZ25hbWU+Li4uIiksCi0JTl8oImdpdCB0YWcgLWwgWy1uWzxudW0+XV0gWy0tY29udGFpbnMgPGNvbW1pdD5dIFstLW5vLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1wb2ludHMtYXQgPG9iamVjdD5dIgotCQkiXG5cdFx0Wy0tZm9ybWF0PTxmb3JtYXQ+XSBbLS1bbm8tXW1lcmdlZCBbPGNvbW1pdD5dXSBbPHBhdHRlcm4+Li4uXSIpLAorCU5fKCJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1uby1jb250YWlucyA8Y29tbWl0Pl0gWy0tcG9pbnRzLWF0IDxvYmplY3Q+XVxuIgorCQkiXHRcdFstLWZvcm1hdD08Zm9ybWF0Pl0gWy0tW25vLV1tZXJnZWQgWzxjb21taXQ+XV0gWzxwYXR0ZXJuPi4uLl0iKSwKIAlOXygiZ2l0IHRhZyAtdiBbLS1mb3JtYXQ9PGZvcm1hdD5dIDx0YWduYW1lPi4uLiIpLAogCU5VTEwKIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgY29sb3B0czsKIHN0YXRpYyBpbnQgZm9yY2Vfc2lnbl9hbm5vdGF0ZTsKK3N0YXRpYyBpbnQgY29uZmlnX3NpZ25fdGFnID0gLTE7IC8qIHVuc3BlY2lmaWVkICovCiAKIHN0YXRpYyBpbnQgbGlzdF90YWdzKHN0cnVjdCByZWZfZmlsdGVyICpmaWx0ZXIsIHN0cnVjdCByZWZfc29ydGluZyAqc29ydGluZywKIAkJICAgICBzdHJ1Y3QgcmVmX2Zvcm1hdCAqZm9ybWF0KQpAQCAtMTQzLDYgKzE0NSwxMSBAQAogCWludCBzdGF0dXM7CiAJc3RydWN0IHJlZl9zb3J0aW5nICoqc29ydGluZ190YWlsID0gKHN0cnVjdCByZWZfc29ydGluZyAqKiljYjsKIAorCWlmICghc3RyY21wKHZhciwgInRhZy5ncGdzaWduIikpIHsKKwkJY29uZmlnX3NpZ25fdGFnID0gZ2l0X2NvbmZpZ19ib29sKHZhciwgdmFsdWUpOworCQlyZXR1cm4gMDsKKwl9CisKIAlpZiAoIXN0cmNtcCh2YXIsICJ0YWcuc29ydCIpKSB7CiAJCWlmICghdmFsdWUpCiAJCQlyZXR1cm4gY29uZmlnX2Vycm9yX25vbmJvb2wodmFyKTsKQEAgLTIwNSw3ICsyMTIsMTQgQEAKIAl9IGNsZWFudXBfbW9kZTsKIH07CiAKLXN0YXRpYyB2b2lkIGNyZWF0ZV90YWcoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2JqZWN0LCBjb25zdCBjaGFyICp0YWcsCitzdGF0aWMgY29uc3QgY2hhciBtZXNzYWdlX2FkdmljZV9uZXN0ZWRfdGFnW10gPQorCU5fKCJZb3UgaGF2ZSBjcmVhdGVkIGEgbmVzdGVkIHRhZy4gVGhlIG9iamVjdCByZWZlcnJlZCB0byBieSB5b3VyIG5ldyB0YWcgaXNcbiIKKwkgICAiYWxyZWFkeSBhIHRhZy4gSWYgeW91IG1lYW50IHRvIHRhZyB0aGUgb2JqZWN0IHRoYXQgaXQgcG9pbnRzIHRvLCB1c2U6XG4iCisJICAgIlxuIgorCSAgICJcdGdpdCB0YWcgLWYgJXMgJXNee30iKTsKKworc3RhdGljIHZvaWQgY3JlYXRlX3RhZyhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvYmplY3QsIGNvbnN0IGNoYXIgKm9iamVjdF9yZWYsCisJCSAgICAgICBjb25zdCBjaGFyICp0YWcsCiAJCSAgICAgICBzdHJ1Y3Qgc3RyYnVmICpidWYsIHN0cnVjdCBjcmVhdGVfdGFnX29wdGlvbnMgKm9wdCwKIAkJICAgICAgIHN0cnVjdCBvYmplY3RfaWQgKnByZXYsIHN0cnVjdCBvYmplY3RfaWQgKnJlc3VsdCkKIHsKQEAgLTIxNSw3ICsyMjksMTAgQEAKIAogCXR5cGUgPSBvaWRfb2JqZWN0X2luZm8odGhlX3JlcG9zaXRvcnksIG9iamVjdCwgTlVMTCk7CiAJaWYgKHR5cGUgPD0gT0JKX05PTkUpCi0JICAgIGRpZShfKCJiYWQgb2JqZWN0IHR5cGUuIikpOworCQlkaWUoXygiYmFkIG9iamVjdCB0eXBlLiIpKTsKKworCWlmICh0eXBlID09IE9CSl9UQUcgJiYgYWR2aWNlX25lc3RlZF90YWcpCisJCWFkdmlzZShfKG1lc3NhZ2VfYWR2aWNlX25lc3RlZF90YWcpLCB0YWcsIG9iamVjdF9yZWYpOwogCiAJc3RyYnVmX2FkZGYoJmhlYWRlciwKIAkJICAgICJvYmplY3QgJXNcbiIKQEAgLTM5Nyw4ICs0MTQsNyBAQAogCQlPUFRfRklMRU5BTUUoJ0YnLCAiZmlsZSIsICZtc2dmaWxlLCBOXygicmVhZCBtZXNzYWdlIGZyb20gZmlsZSIpKSwKIAkJT1BUX0JPT0woJ2UnLCAiZWRpdCIsICZlZGl0X2ZsYWcsIE5fKCJmb3JjZSBlZGl0IG9mIHRhZyBtZXNzYWdlIikpLAogCQlPUFRfQk9PTCgncycsICJzaWduIiwgJm9wdC5zaWduLCBOXygiYW5ub3RhdGVkIGFuZCBHUEctc2lnbmVkIHRhZyIpKSwKLQkJT1BUX1NUUklORygwLCAiY2xlYW51cCIsICZjbGVhbnVwX2FyZywgTl8oIm1vZGUiKSwKLQkJCU5fKCJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIikpLAorCQlPUFRfQ0xFQU5VUCgmY2xlYW51cF9hcmcpLAogCQlPUFRfU1RSSU5HKCd1JywgImxvY2FsLXVzZXIiLCAma2V5aWQsIE5fKCJrZXktaWQiKSwKIAkJCQkJTl8oInVzZSBhbm90aGVyIGtleSB0byBzaWduIHRoZSB0YWciKSksCiAJCU9QVF9fRk9SQ0UoJmZvcmNlLCBOXygicmVwbGFjZSB0aGUgdGFnIGlmIGV4aXN0cyIpLCAwKSwKQEAgLTQxMiw4ICs0MjgsNyBAQAogCQlPUFRfV0lUSE9VVCgmZmlsdGVyLm5vX2NvbW1pdCwgTl8oInByaW50IG9ubHkgdGFncyB0aGF0IGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIpKSwKIAkJT1BUX01FUkdFRCgmZmlsdGVyLCBOXygicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG1lcmdlZCIpKSwKIAkJT1BUX05PX01FUkdFRCgmZmlsdGVyLCBOXygicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG5vdCBtZXJnZWQiKSksCi0JCU9QVF9DQUxMQkFDSygwICwgInNvcnQiLCBzb3J0aW5nX3RhaWwsIE5fKCJrZXkiKSwKLQkJCSAgICAgTl8oImZpZWxkIG5hbWUgdG8gc29ydCBvbiIpLCAmcGFyc2Vfb3B0X3JlZl9zb3J0aW5nKSwKKwkJT1BUX1JFRl9TT1JUKHNvcnRpbmdfdGFpbCksCiAJCXsKIAkJCU9QVElPTl9DQUxMQkFDSywgMCwgInBvaW50cy1hdCIsICZmaWx0ZXIucG9pbnRzX2F0LCBOXygib2JqZWN0IiksCiAJCQlOXygicHJpbnQgb25seSB0YWdzIG9mIHRoZSBvYmplY3QiKSwgUEFSU0VfT1BUX0xBU1RBUkdfREVGQVVMVCwKQEAgLTQzMywxNSArNDQ4LDEwIEBACiAJbWVtc2V0KCZvcHQsIDAsIHNpemVvZihvcHQpKTsKIAltZW1zZXQoJmZpbHRlciwgMCwgc2l6ZW9mKGZpbHRlcikpOwogCWZpbHRlci5saW5lcyA9IC0xOworCW9wdC5zaWduID0gLTE7CiAKIAlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBwcmVmaXgsIG9wdGlvbnMsIGdpdF90YWdfdXNhZ2UsIDApOwogCi0JaWYgKGtleWlkKSB7Ci0JCW9wdC5zaWduID0gMTsKLQkJc2V0X3NpZ25pbmdfa2V5KGtleWlkKTsKLQl9Ci0JY3JlYXRlX3RhZ19vYmplY3QgPSAob3B0LnNpZ24gfHwgYW5ub3RhdGUgfHwgbXNnLmdpdmVuIHx8IG1zZ2ZpbGUpOwotCiAJaWYgKCFjbWRtb2RlKSB7CiAJCWlmIChhcmdjID09IDApCiAJCQljbWRtb2RlID0gJ2wnOwpAQCAtNDU0LDYgKzQ2NCwxNSBAQAogCWlmIChjbWRtb2RlID09ICdsJykKIAkJc2V0dXBfYXV0b19wYWdlcigidGFnIiwgMSk7CiAKKwlpZiAob3B0LnNpZ24gPT0gLTEpCisJCW9wdC5zaWduID0gY21kbW9kZSA/IDAgOiBjb25maWdfc2lnbl90YWcgPiAwOworCisJaWYgKGtleWlkKSB7CisJCW9wdC5zaWduID0gMTsKKwkJc2V0X3NpZ25pbmdfa2V5KGtleWlkKTsKKwl9CisJY3JlYXRlX3RhZ19vYmplY3QgPSAob3B0LnNpZ24gfHwgYW5ub3RhdGUgfHwgbXNnLmdpdmVuIHx8IG1zZ2ZpbGUpOworCiAJaWYgKChjcmVhdGVfdGFnX29iamVjdCB8fCBmb3JjZSkgJiYgKGNtZG1vZGUgIT0gMCkpCiAJCXVzYWdlX3dpdGhfb3B0aW9ucyhnaXRfdGFnX3VzYWdlLCBvcHRpb25zKTsKIApAQCAtNTUwLDcgKzU2OSw3IEBACiAJaWYgKGNyZWF0ZV90YWdfb2JqZWN0KSB7CiAJCWlmIChmb3JjZV9zaWduX2Fubm90YXRlICYmICFhbm5vdGF0ZSkKIAkJCW9wdC5zaWduID0gMTsKLQkJY3JlYXRlX3RhZygmb2JqZWN0LCB0YWcsICZidWYsICZvcHQsICZwcmV2LCAmb2JqZWN0KTsKKwkJY3JlYXRlX3RhZygmb2JqZWN0LCBvYmplY3RfcmVmLCB0YWcsICZidWYsICZvcHQsICZwcmV2LCAmb2JqZWN0KTsKIAl9CiAKIAl0cmFuc2FjdGlvbiA9IHJlZl90cmFuc2FjdGlvbl9iZWdpbigmZXJyKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vdW5wYWNrLW9iamVjdHMuYyBiL2J1aWx0aW4vdW5wYWNrLW9iamVjdHMuYwppbmRleCA4MDQ3ODgwLi5kZDRhNzVlIDEwMDY0NAotLS0gYS9idWlsdGluL3VucGFjay1vYmplY3RzLmMKKysrIGIvYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jCkBAIC0yNCw2ICsyNCw3IEBACiBzdGF0aWMgb2ZmX3QgbWF4X2lucHV0X3NpemU7CiBzdGF0aWMgZ2l0X2hhc2hfY3R4IGN0eDsKIHN0YXRpYyBzdHJ1Y3QgZnNja19vcHRpb25zIGZzY2tfb3B0aW9ucyA9IEZTQ0tfT1BUSU9OU19TVFJJQ1Q7CitzdGF0aWMgc3RydWN0IHByb2dyZXNzICpwcm9ncmVzczsKIAogLyoKICAqIFdoZW4gcnVubmluZyB1bmRlciAtLXN0cmljdCBtb2RlLCBvYmplY3RzIHdob3NlIHJlYWNoYWJpbGl0eSBhcmUKQEAgLTkyLDYgKzkzLDcgQEAKIAljb25zdW1lZF9ieXRlcyArPSBieXRlczsKIAlpZiAobWF4X2lucHV0X3NpemUgJiYgY29uc3VtZWRfYnl0ZXMgPiBtYXhfaW5wdXRfc2l6ZSkKIAkJZGllKF8oInBhY2sgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgc2l6ZSIpKTsKKwlkaXNwbGF5X3Rocm91Z2hwdXQocHJvZ3Jlc3MsIGNvbnN1bWVkX2J5dGVzKTsKIH0KIAogc3RhdGljIHZvaWQgKmdldF9kYXRhKHVuc2lnbmVkIGxvbmcgc2l6ZSkKQEAgLTI2Myw3ICsyNjUsOCBAQAogCX0gZWxzZSB7CiAJCXN0cnVjdCBvYmplY3QgKm9iajsKIAkJaW50IGVhdGVuOwotCQloYXNoX29iamVjdF9maWxlKGJ1Ziwgc2l6ZSwgdHlwZV9uYW1lKHR5cGUpLCAmb2JqX2xpc3RbbnJdLm9pZCk7CisJCWhhc2hfb2JqZWN0X2ZpbGUodGhlX2hhc2hfYWxnbywgYnVmLCBzaXplLCB0eXBlX25hbWUodHlwZSksCisJCQkJICZvYmpfbGlzdFtucl0ub2lkKTsKIAkJYWRkZWRfb2JqZWN0KG5yLCB0eXBlLCBidWYsIHNpemUpOwogCQlvYmogPSBwYXJzZV9vYmplY3RfYnVmZmVyKHRoZV9yZXBvc2l0b3J5LCAmb2JqX2xpc3RbbnJdLm9pZCwKIAkJCQkJICB0eXBlLCBzaXplLCBidWYsCkBAIC0zMzIsNyArMzM1LDcgQEAKIHsKIAlzdHJ1Y3Qgb2JqZWN0ICpvYmo7CiAJc3RydWN0IG9ial9idWZmZXIgKm9ial9idWZmZXI7Ci0Jb2JqID0gbG9va3VwX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgYmFzZS0+aGFzaCk7CisJb2JqID0gbG9va3VwX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgYmFzZSk7CiAJaWYgKCFvYmopCiAJCXJldHVybiAwOwogCW9ial9idWZmZXIgPSBsb29rdXBfb2JqZWN0X2J1ZmZlcihvYmopOwpAQCAtNDg0LDcgKzQ4Nyw2IEBACiBzdGF0aWMgdm9pZCB1bnBhY2tfYWxsKHZvaWQpCiB7CiAJaW50IGk7Ci0Jc3RydWN0IHByb2dyZXNzICpwcm9ncmVzcyA9IE5VTEw7CiAJc3RydWN0IHBhY2tfaGVhZGVyICpoZHIgPSBmaWxsKHNpemVvZihzdHJ1Y3QgcGFja19oZWFkZXIpKTsKIAogCW5yX29iamVjdHMgPSBudG9obChoZHItPmhkcl9lbnRyaWVzKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW4vdXBkYXRlLWluZGV4LmMgYi9idWlsdGluL3VwZGF0ZS1pbmRleC5jCmluZGV4IGUxOWRhNzcuLmQ1MjdiOGYgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vdXBkYXRlLWluZGV4LmMKKysrIGIvYnVpbHRpbi91cGRhdGUtaW5kZXguYwpAQCAtMyw2ICszLDcgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIExpbnVzIFRvcnZhbGRzLCAyMDA1CiAgKi8KKyNkZWZpbmUgVVNFX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAibG9ja2ZpbGUuaCIKQEAgLTM0LDYgKzM1LDcgQEAKIHN0YXRpYyBpbnQgbWFya192YWxpZF9vbmx5Owogc3RhdGljIGludCBtYXJrX3NraXBfd29ya3RyZWVfb25seTsKIHN0YXRpYyBpbnQgbWFya19mc21vbml0b3Jfb25seTsKK3N0YXRpYyBpbnQgaWdub3JlX3NraXBfd29ya3RyZWVfZW50cmllczsKICNkZWZpbmUgTUFSS19GTEFHIDEKICNkZWZpbmUgVU5NQVJLX0ZMQUcgMgogc3RhdGljIHN0cnVjdCBzdHJidWYgbXRpbWVfZGlyID0gU1RSQlVGX0lOSVQ7CkBAIC0yNzksNyArMjgxLDcgQEAKIAltZW1jcHkoY2UtPm5hbWUsIHBhdGgsIGxlbik7CiAJY2UtPmNlX2ZsYWdzID0gY3JlYXRlX2NlX2ZsYWdzKDApOwogCWNlLT5jZV9uYW1lbGVuID0gbGVuOwotCWZpbGxfc3RhdF9jYWNoZV9pbmZvKGNlLCBzdCk7CisJZmlsbF9zdGF0X2NhY2hlX2luZm8oJnRoZV9pbmRleCwgY2UsIHN0KTsKIAljZS0+Y2VfbW9kZSA9IGNlX21vZGVfZnJvbV9zdGF0KG9sZCwgc3QtPnN0X21vZGUpOwogCiAJaWYgKGluZGV4X3BhdGgoJnRoZV9pbmRleCwgJmNlLT5vaWQsIHBhdGgsIHN0LApAQCAtMzgwLDcgKzM4Miw4IEBACiAJCSAqIHNvIHVwZGF0aW5nIGl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UuCiAJCSAqIE9uIHRoZSBvdGhlciBoYW5kLCByZW1vdmluZyBpdCBmcm9tIGluZGV4IHNob3VsZCB3b3JrCiAJCSAqLwotCQlpZiAoYWxsb3dfcmVtb3ZlICYmIHJlbW92ZV9maWxlX2Zyb21fY2FjaGUocGF0aCkpCisJCWlmICghaWdub3JlX3NraXBfd29ya3RyZWVfZW50cmllcyAmJiBhbGxvd19yZW1vdmUgJiYKKwkJICAgIHJlbW92ZV9maWxlX2Zyb21fY2FjaGUocGF0aCkpCiAJCQlyZXR1cm4gZXJyb3IoIiVzOiBjYW5ub3QgcmVtb3ZlIGZyb20gdGhlIGluZGV4IiwgcGF0aCk7CiAJCXJldHVybiAwOwogCX0KQEAgLTU5NiwxMSArNTk5LDExIEBACiAJCQkJCXN0cnVjdCBvYmplY3RfaWQgKmVudCwgY29uc3QgY2hhciAqcGF0aCwKIAkJCQkJaW50IG5hbWVsZW4sIGludCBzdGFnZSkKIHsKLQl1bnNpZ25lZCBtb2RlOworCXVuc2lnbmVkIHNob3J0IG1vZGU7CiAJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKIAotCWlmIChnZXRfdHJlZV9lbnRyeShlbnQsIHBhdGgsICZvaWQsICZtb2RlKSkgeworCWlmIChnZXRfdHJlZV9lbnRyeSh0aGVfcmVwb3NpdG9yeSwgZW50LCBwYXRoLCAmb2lkLCAmbW9kZSkpIHsKIAkJaWYgKHdoaWNoKQogCQkJZXJyb3IoIiVzOiBub3QgaW4gJXMgYnJhbmNoLiIsIHBhdGgsIHdoaWNoKTsKIAkJcmV0dXJuIE5VTEw7CkBAIC03MjMsNyArNzI2LDcgQEAKIH0KIAogc3RhdGljIGludCBkb19yZXVwZGF0ZShpbnQgYWMsIGNvbnN0IGNoYXIgKiphdiwKLQkJICAgICAgIGNvbnN0IGNoYXIgKnByZWZpeCwgaW50IHByZWZpeF9sZW5ndGgpCisJCSAgICAgICBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJLyogUmVhZCBIRUFEIGFuZCBydW4gdXBkYXRlLWluZGV4IG9uIHBhdGhzIHRoYXQgYXJlCiAJICogbWVyZ2VkIGFuZCBhbHJlYWR5IGRpZmZlcmVudCBiZXR3ZWVuIGluZGV4IGFuZCBIRUFELgpAQCAtODQ3LDE0ICs4NTAsMTYgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBjYWNoZWluZm9fY2FsbGJhY2soc3RydWN0IHBhcnNlX29wdF9jdHhfdCAqY3R4LAotCQkJCWNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwgaW50IHVuc2V0KQorc3RhdGljIGVudW0gcGFyc2Vfb3B0X3Jlc3VsdCBjYWNoZWluZm9fY2FsbGJhY2soCisJc3RydWN0IHBhcnNlX29wdF9jdHhfdCAqY3R4LCBjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCiB7CiAJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJdW5zaWduZWQgaW50IG1vZGU7CiAJY29uc3QgY2hhciAqcGF0aDsKIAogCUJVR19PTl9PUFRfTkVHKHVuc2V0KTsKKwlCVUdfT05fT1BUX0FSRyhhcmcpOwogCiAJaWYgKCFwYXJzZV9uZXdfc3R5bGVfY2FjaGVpbmZvKGN0eC0+YXJndlsxXSwgJm1vZGUsICZvaWQsICZwYXRoKSkgewogCQlpZiAoYWRkX2NhY2hlaW5mbyhtb2RlLCAmb2lkLCBwYXRoLCAwKSkKQEAgLTg3MywxMiArODc4LDE0IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgc3RkaW5fY2FjaGVpbmZvX2NhbGxiYWNrKHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKmN0eCwKLQkJCSAgICAgIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwgaW50IHVuc2V0KQorc3RhdGljIGVudW0gcGFyc2Vfb3B0X3Jlc3VsdCBzdGRpbl9jYWNoZWluZm9fY2FsbGJhY2soCisJc3RydWN0IHBhcnNlX29wdF9jdHhfdCAqY3R4LCBjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCiB7CiAJaW50ICpudWxfdGVybV9saW5lID0gb3B0LT52YWx1ZTsKIAogCUJVR19PTl9PUFRfTkVHKHVuc2V0KTsKKwlCVUdfT05fT1BUX0FSRyhhcmcpOwogCiAJaWYgKGN0eC0+YXJnYyAhPSAxKQogCQlyZXR1cm4gZXJyb3IoIm9wdGlvbiAnJXMnIG11c3QgYmUgdGhlIGxhc3QgYXJndW1lbnQiLCBvcHQtPmxvbmdfbmFtZSk7CkBAIC04ODcsMTIgKzg5NCwxNCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHN0ZGluX2NhbGxiYWNrKHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKmN0eCwKLQkJCQljb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGludCB1bnNldCkKK3N0YXRpYyBlbnVtIHBhcnNlX29wdF9yZXN1bHQgc3RkaW5fY2FsbGJhY2soCisJc3RydWN0IHBhcnNlX29wdF9jdHhfdCAqY3R4LCBjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCiB7CiAJaW50ICpyZWFkX2Zyb21fc3RkaW4gPSBvcHQtPnZhbHVlOwogCiAJQlVHX09OX09QVF9ORUcodW5zZXQpOworCUJVR19PTl9PUFRfQVJHKGFyZyk7CiAKIAlpZiAoY3R4LT5hcmdjICE9IDEpCiAJCXJldHVybiBlcnJvcigib3B0aW9uICclcycgbXVzdCBiZSB0aGUgbGFzdCBhcmd1bWVudCIsIG9wdC0+bG9uZ19uYW1lKTsKQEAgLTkwMCwxMyArOTA5LDE1IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgdW5yZXNvbHZlX2NhbGxiYWNrKHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKmN0eCwKLQkJCQljb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGludCB1bnNldCkKK3N0YXRpYyBlbnVtIHBhcnNlX29wdF9yZXN1bHQgdW5yZXNvbHZlX2NhbGxiYWNrKAorCXN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKmN0eCwgY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCWNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQogewogCWludCAqaGFzX2Vycm9ycyA9IG9wdC0+dmFsdWU7CiAJY29uc3QgY2hhciAqcHJlZml4ID0gc3RhcnR1cF9pbmZvLT5wcmVmaXg7CiAKIAlCVUdfT05fT1BUX05FRyh1bnNldCk7CisJQlVHX09OX09QVF9BUkcoYXJnKTsKIAogCS8qIGNvbnN1bWUgcmVtYWluaW5nIGFyZ3VtZW50cy4gKi8KIAkqaGFzX2Vycm9ycyA9IGRvX3VucmVzb2x2ZShjdHgtPmFyZ2MsIGN0eC0+YXJndiwKQEAgLTkxOSwxOCArOTMwLDE5IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcmV1cGRhdGVfY2FsbGJhY2soc3RydWN0IHBhcnNlX29wdF9jdHhfdCAqY3R4LAotCQkJCWNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwgaW50IHVuc2V0KQorc3RhdGljIGVudW0gcGFyc2Vfb3B0X3Jlc3VsdCByZXVwZGF0ZV9jYWxsYmFjaygKKwlzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90ICpjdHgsIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwljb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKIHsKIAlpbnQgKmhhc19lcnJvcnMgPSBvcHQtPnZhbHVlOwogCWNvbnN0IGNoYXIgKnByZWZpeCA9IHN0YXJ0dXBfaW5mby0+cHJlZml4OwogCiAJQlVHX09OX09QVF9ORUcodW5zZXQpOworCUJVR19PTl9PUFRfQVJHKGFyZyk7CiAKIAkvKiBjb25zdW1lIHJlbWFpbmluZyBhcmd1bWVudHMuICovCiAJc2V0dXBfd29ya190cmVlKCk7Ci0JKmhhc19lcnJvcnMgPSBkb19yZXVwZGF0ZShjdHgtPmFyZ2MsIGN0eC0+YXJndiwKLQkJCQlwcmVmaXgsIHByZWZpeCA/IHN0cmxlbihwcmVmaXgpIDogMCk7CisJKmhhc19lcnJvcnMgPSBkb19yZXVwZGF0ZShjdHgtPmFyZ2MsIGN0eC0+YXJndiwgcHJlZml4KTsKIAlpZiAoKmhhc19lcnJvcnMpCiAJCWFjdGl2ZV9jYWNoZV9jaGFuZ2VkID0gMDsKIApAQCAtOTU2LDYgKzk2OCw3IEBACiAJc3RydWN0IHBhcnNlX29wdF9jdHhfdCBjdHg7CiAJc3RyYnVmX2dldGxpbmVfZm4gZ2V0bGluZV9mbjsKIAlpbnQgcGFyc2VvcHRfc3RhdGUgPSBQQVJTRV9PUFRfVU5LTk9XTjsKKwlzdHJ1Y3QgcmVwb3NpdG9yeSAqciA9IHRoZV9yZXBvc2l0b3J5OwogCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gewogCQlPUFRfQklUKCdxJywgTlVMTCwgJnJlZnJlc2hfYXJncy5mbGFncywKIAkJCU5fKCJjb250aW51ZSByZWZyZXNoIGV2ZW4gd2hlbiBpbmRleCBuZWVkcyB1cGRhdGUiKSwKQEAgLTk4NSw3ICs5OTgsOCBAQAogCQkJTl8oImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIpLAogCQkJUEFSU0VfT1BUX05PQVJHIHwgLyogZGlzYWxsb3cgLS1jYWNoZWluZm89PG1vZGU+IGZvcm0gKi8KIAkJCVBBUlNFX09QVF9OT05FRyB8IFBBUlNFX09QVF9MSVRFUkFMX0FSR0hFTFAsCi0JCQkocGFyc2Vfb3B0X2NiICopIGNhY2hlaW5mb19jYWxsYmFja30sCisJCQlOVUxMLCAwLAorCQkJY2FjaGVpbmZvX2NhbGxiYWNrfSwKIAkJe09QVElPTl9DQUxMQkFDSywgMCwgImNobW9kIiwgJnNldF9leGVjdXRhYmxlX2JpdCwgIigrfC0peCIsCiAJCQlOXygib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiKSwKIAkJCVBBUlNFX09QVF9OT05FRywKQEAgLTEwMDIsNiArMTAxNiw4IEBACiAJCXtPUFRJT05fU0VUX0lOVCwgMCwgIm5vLXNraXAtd29ya3RyZWUiLCAmbWFya19za2lwX3dvcmt0cmVlX29ubHksIE5VTEwsCiAJCQlOXygiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiKSwKIAkJCVBBUlNFX09QVF9OT0FSRyB8IFBBUlNFX09QVF9OT05FRywgTlVMTCwgVU5NQVJLX0ZMQUd9LAorCQlPUFRfQk9PTCgwLCAiaWdub3JlLXNraXAtd29ya3RyZWUtZW50cmllcyIsICZpZ25vcmVfc2tpcF93b3JrdHJlZV9lbnRyaWVzLAorCQkJIE5fKCJkbyBub3QgdG91Y2ggaW5kZXgtb25seSBlbnRyaWVzIikpLAogCQlPUFRfU0VUX0lOVCgwLCAiaW5mby1vbmx5IiwgJmluZm9fb25seSwKIAkJCU5fKCJhZGQgdG8gaW5kZXggb25seTsgZG8gbm90IGFkZCBjb250ZW50IHRvIG9iamVjdCBkYXRhYmFzZSIpLCAxKSwKIAkJT1BUX1NFVF9JTlQoMCwgImZvcmNlLXJlbW92ZSIsICZmb3JjZV9yZW1vdmUsCkBAIC0xMDExLDE5ICsxMDI3LDE5IEBACiAJCXtPUFRJT05fTE9XTEVWRUxfQ0FMTEJBQ0ssIDAsICJzdGRpbiIsICZyZWFkX2Zyb21fc3RkaW4sIE5VTEwsCiAJCQlOXygicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIpLAogCQkJUEFSU0VfT1BUX05PTkVHIHwgUEFSU0VfT1BUX05PQVJHLAotCQkJKHBhcnNlX29wdF9jYiAqKSBzdGRpbl9jYWxsYmFja30sCisJCQlOVUxMLCAwLCBzdGRpbl9jYWxsYmFja30sCiAJCXtPUFRJT05fTE9XTEVWRUxfQ0FMTEJBQ0ssIDAsICJpbmRleC1pbmZvIiwgJm51bF90ZXJtX2xpbmUsIE5VTEwsCiAJCQlOXygiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiKSwKIAkJCVBBUlNFX09QVF9OT05FRyB8IFBBUlNFX09QVF9OT0FSRywKLQkJCShwYXJzZV9vcHRfY2IgKikgc3RkaW5fY2FjaGVpbmZvX2NhbGxiYWNrfSwKKwkJCU5VTEwsIDAsIHN0ZGluX2NhY2hlaW5mb19jYWxsYmFja30sCiAJCXtPUFRJT05fTE9XTEVWRUxfQ0FMTEJBQ0ssIDAsICJ1bnJlc29sdmUiLCAmaGFzX2Vycm9ycywgTlVMTCwKIAkJCU5fKCJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiKSwKIAkJCVBBUlNFX09QVF9OT05FRyB8IFBBUlNFX09QVF9OT0FSRywKLQkJCShwYXJzZV9vcHRfY2IgKikgdW5yZXNvbHZlX2NhbGxiYWNrfSwKKwkJCU5VTEwsIDAsIHVucmVzb2x2ZV9jYWxsYmFja30sCiAJCXtPUFRJT05fTE9XTEVWRUxfQ0FMTEJBQ0ssICdnJywgImFnYWluIiwgJmhhc19lcnJvcnMsIE5VTEwsCiAJCQlOXygib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiKSwKIAkJCVBBUlNFX09QVF9OT05FRyB8IFBBUlNFX09QVF9OT0FSRywKLQkJCShwYXJzZV9vcHRfY2IgKikgcmV1cGRhdGVfY2FsbGJhY2t9LAorCQkJTlVMTCwgMCwgcmV1cGRhdGVfY2FsbGJhY2t9LAogCQlPUFRfQklUKDAsICJpZ25vcmUtbWlzc2luZyIsICZyZWZyZXNoX2FyZ3MuZmxhZ3MsCiAJCQlOXygiaWdub3JlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIpLAogCQkJUkVGUkVTSF9JR05PUkVfTUlTU0lORyksCkBAIC0xMDcwLDYgKzEwODYsOCBAQAogCWlmIChlbnRyaWVzIDwgMCkKIAkJZGllKCJjYWNoZSBjb3JydXB0ZWQiKTsKIAorCXRoZV9pbmRleC51cGRhdGVkX3NraXB3b3JrdHJlZSA9IDE7CisKIAkvKgogCSAqIEN1c3RvbSBjb3B5IG9mIHBhcnNlX29wdGlvbnMoKSBiZWNhdXNlIHdlIHdhbnQgdG8gaGFuZGxlCiAJICogZmlsZW5hbWUgYXJndW1lbnRzIGFzIHRoZXkgY29tZS4KQEAgLTExNjcsMTEgKzExODUsMTIgQEAKIAkJcmVtb3ZlX3NwbGl0X2luZGV4KCZ0aGVfaW5kZXgpOwogCX0KIAorCXByZXBhcmVfcmVwb19zZXR0aW5ncyhyKTsKIAlzd2l0Y2ggKHVudHJhY2tlZF9jYWNoZSkgewogCWNhc2UgVUNfVU5TUEVDSUZJRUQ6CiAJCWJyZWFrOwogCWNhc2UgVUNfRElTQUJMRToKLQkJaWYgKGdpdF9jb25maWdfZ2V0X3VudHJhY2tlZF9jYWNoZSgpID09IDEpCisJCWlmIChyLT5zZXR0aW5ncy5jb3JlX3VudHJhY2tlZF9jYWNoZSA9PSBVTlRSQUNLRURfQ0FDSEVfV1JJVEUpCiAJCQl3YXJuaW5nKF8oImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIHRydWU7ICIKIAkJCQkgICJyZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgogCQkJCSAgImRpc2FibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIpKTsKQEAgLTExODMsNyArMTIwMiw3IEBACiAJCXJldHVybiAhdGVzdF9pZl91bnRyYWNrZWRfY2FjaGVfaXNfc3VwcG9ydGVkKCk7CiAJY2FzZSBVQ19FTkFCTEU6CiAJY2FzZSBVQ19GT1JDRToKLQkJaWYgKGdpdF9jb25maWdfZ2V0X3VudHJhY2tlZF9jYWNoZSgpID09IDApCisJCWlmIChyLT5zZXR0aW5ncy5jb3JlX3VudHJhY2tlZF9jYWNoZSA9PSBVTlRSQUNLRURfQ0FDSEVfUkVNT1ZFKQogCQkJd2FybmluZyhfKCJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byBmYWxzZTsgIgogCQkJCSAgInJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCiAJCQkJICAiZW5hYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiKSk7CmRpZmYgLS1naXQgYS9idWlsdGluL3VwbG9hZC1wYWNrLmMgYi9idWlsdGluL3VwbG9hZC1wYWNrLmMKaW5kZXggNDJkYzRkYS4uNmRhOGZhMiAxMDA2NDQKLS0tIGEvYnVpbHRpbi91cGxvYWQtcGFjay5jCisrKyBiL2J1aWx0aW4vdXBsb2FkLXBhY2suYwpAQCAtMzMsNyArMzMsNyBAQAogCXBhY2tldF90cmFjZV9pZGVudGl0eSgidXBsb2FkLXBhY2siKTsKIAlyZWFkX3JlcGxhY2VfcmVmcyA9IDA7CiAKLQlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCBOVUxMLCBvcHRpb25zLCB1cGxvYWRfcGFja191c2FnZSwgMCk7CisJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBvcHRpb25zLCB1cGxvYWRfcGFja191c2FnZSwgMCk7CiAKIAlpZiAoYXJnYyAhPSAxKQogCQl1c2FnZV93aXRoX29wdGlvbnModXBsb2FkX3BhY2tfdXNhZ2UsIG9wdGlvbnMpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbi92ZXJpZnktY29tbWl0LmMgYi9idWlsdGluL3ZlcmlmeS1jb21taXQuYwppbmRleCA3NzcyYzA3Li40MGM2OWEwIDEwMDY0NAotLS0gYS9idWlsdGluL3ZlcmlmeS1jb21taXQuYworKysgYi9idWlsdGluL3ZlcmlmeS1jb21taXQuYwpAQCAtMTIsNyArMTIsNiBAQAogI2luY2x1ZGUgInJlcG9zaXRvcnkuaCIKICNpbmNsdWRlICJjb21taXQuaCIKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgotI2luY2x1ZGUgPHNpZ25hbC5oPgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKICNpbmNsdWRlICJncGctaW50ZXJmYWNlLmgiCiAKQEAgLTIxLDE1ICsyMCwxNCBAQAogCQlOVUxMCiB9OwogCi1zdGF0aWMgaW50IHJ1bl9ncGdfdmVyaWZ5KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY29uc3QgY2hhciAqYnVmLCB1bnNpZ25lZCBsb25nIHNpemUsIHVuc2lnbmVkIGZsYWdzKQorc3RhdGljIGludCBydW5fZ3BnX3ZlcmlmeShzdHJ1Y3QgY29tbWl0ICpjb21taXQsIHVuc2lnbmVkIGZsYWdzKQogewogCXN0cnVjdCBzaWduYXR1cmVfY2hlY2sgc2lnbmF0dXJlX2NoZWNrOwogCWludCByZXQ7CiAKIAltZW1zZXQoJnNpZ25hdHVyZV9jaGVjaywgMCwgc2l6ZW9mKHNpZ25hdHVyZV9jaGVjaykpOwogCi0JcmV0ID0gY2hlY2tfY29tbWl0X3NpZ25hdHVyZShsb29rdXBfY29tbWl0KHRoZV9yZXBvc2l0b3J5LCBvaWQpLAotCQkJCSAgICAgJnNpZ25hdHVyZV9jaGVjayk7CisJcmV0ID0gY2hlY2tfY29tbWl0X3NpZ25hdHVyZShjb21taXQsICZzaWduYXR1cmVfY2hlY2spOwogCXByaW50X3NpZ25hdHVyZV9idWZmZXIoJnNpZ25hdHVyZV9jaGVjaywgZmxhZ3MpOwogCiAJc2lnbmF0dXJlX2NoZWNrX2NsZWFyKCZzaWduYXR1cmVfY2hlY2spOwpAQCAtMzgsMjYgKzM2LDIwIEBACiAKIHN0YXRpYyBpbnQgdmVyaWZ5X2NvbW1pdChjb25zdCBjaGFyICpuYW1lLCB1bnNpZ25lZCBmbGFncykKIHsKLQllbnVtIG9iamVjdF90eXBlIHR5cGU7CiAJc3RydWN0IG9iamVjdF9pZCBvaWQ7Ci0JY2hhciAqYnVmOwotCXVuc2lnbmVkIGxvbmcgc2l6ZTsKLQlpbnQgcmV0OworCXN0cnVjdCBvYmplY3QgKm9iajsKIAogCWlmIChnZXRfb2lkKG5hbWUsICZvaWQpKQogCQlyZXR1cm4gZXJyb3IoImNvbW1pdCAnJXMnIG5vdCBmb3VuZC4iLCBuYW1lKTsKIAotCWJ1ZiA9IHJlYWRfb2JqZWN0X2ZpbGUoJm9pZCwgJnR5cGUsICZzaXplKTsKLQlpZiAoIWJ1ZikKKwlvYmogPSBwYXJzZV9vYmplY3QodGhlX3JlcG9zaXRvcnksICZvaWQpOworCWlmICghb2JqKQogCQlyZXR1cm4gZXJyb3IoIiVzOiB1bmFibGUgdG8gcmVhZCBmaWxlLiIsIG5hbWUpOwotCWlmICh0eXBlICE9IE9CSl9DT01NSVQpCisJaWYgKG9iai0+dHlwZSAhPSBPQkpfQ09NTUlUKQogCQlyZXR1cm4gZXJyb3IoIiVzOiBjYW5ub3QgdmVyaWZ5IGEgbm9uLWNvbW1pdCBvYmplY3Qgb2YgdHlwZSAlcy4iLAotCQkJCW5hbWUsIHR5cGVfbmFtZSh0eXBlKSk7CisJCQkJbmFtZSwgdHlwZV9uYW1lKG9iai0+dHlwZSkpOwogCi0JcmV0ID0gcnVuX2dwZ192ZXJpZnkoJm9pZCwgYnVmLCBzaXplLCBmbGFncyk7Ci0KLQlmcmVlKGJ1Zik7Ci0JcmV0dXJuIHJldDsKKwlyZXR1cm4gcnVuX2dwZ192ZXJpZnkoKHN0cnVjdCBjb21taXQgKilvYmosIGZsYWdzKTsKIH0KIAogc3RhdGljIGludCBnaXRfdmVyaWZ5X2NvbW1pdF9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpCmRpZmYgLS1naXQgYS9idWlsdGluL3ZlcmlmeS10YWcuYyBiL2J1aWx0aW4vdmVyaWZ5LXRhZy5jCmluZGV4IDZmYTA0YjcuLmY0NTEzNmEgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vdmVyaWZ5LXRhZy5jCisrKyBiL2J1aWx0aW4vdmVyaWZ5LXRhZy5jCkBAIC0xMCw3ICsxMCw2IEBACiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgInRhZy5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCi0jaW5jbHVkZSA8c2lnbmFsLmg+CiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogI2luY2x1ZGUgImdwZy1pbnRlcmZhY2UuaCIKICNpbmNsdWRlICJyZWYtZmlsdGVyLmgiCmRpZmYgLS1naXQgYS9idWlsdGluL3dvcmt0cmVlLmMgYi9idWlsdGluL3dvcmt0cmVlLmMKaW5kZXggNWU4NDAyNi4uMjRmMjI4MCAxMDA2NDQKLS0tIGEvYnVpbHRpbi93b3JrdHJlZS5jCisrKyBiL2J1aWx0aW4vd29ya3RyZWUuYwpAQCAtOSw3ICs5LDcgQEAKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKICNpbmNsdWRlICJzaWdjaGFpbi5oIgotI2luY2x1ZGUgInJlZnMuaCIKKyNpbmNsdWRlICJzdWJtb2R1bGUuaCIKICNpbmNsdWRlICJ1dGY4LmgiCiAjaW5jbHVkZSAid29ya3RyZWUuaCIKIApAQCAtMjM0LDE0ICsyMzQsNyBAQAogCQlkaWUoXygiJyVzJyBhbHJlYWR5IGV4aXN0cyIpLCBwYXRoKTsKIAogCXdvcmt0cmVlcyA9IGdldF93b3JrdHJlZXMoMCk7Ci0JLyoKLQkgKiBmaW5kX3dvcmt0cmVlKCkncyBzdWZmaXggbWF0Y2hpbmcgbWF5IHVuZGVzaXJhYmx5IGZpbmQgdGhlIG1haW4KLQkgKiByYXRoZXIgdGhhbiBhIGxpbmtlZCB3b3JrdHJlZSAoZm9yIGluc3RhbmNlLCB3aGVuIHRoZSBiYXNlbmFtZXMKLQkgKiBvZiB0aGUgbWFpbiB3b3JrdHJlZSBhbmQgdGhlIG9uZSBiZWluZyBjcmVhdGVkIGFyZSB0aGUgc2FtZSkuCi0JICogV2UncmUgb25seSBpbnRlcmVzdGVkIGluIGxpbmtlZCB3b3JrdHJlZXMsIHNvIHNraXAgdGhlIG1haW4KLQkgKiB3b3JrdHJlZSB3aXRoICsxLgotCSAqLwotCXd0ID0gZmluZF93b3JrdHJlZSh3b3JrdHJlZXMgKyAxLCBOVUxMLCBwYXRoKTsKKwl3dCA9IGZpbmRfd29ya3RyZWVfYnlfcGF0aCh3b3JrdHJlZXMsIHBhdGgpOwogCWlmICghd3QpCiAJCWdvdG8gZG9uZTsKIApAQCAtMjY3LDEzICsyNjAsMTQgQEAKIAlzdHJ1Y3Qgc3RyYnVmIHNiX2dpdCA9IFNUUkJVRl9JTklULCBzYl9yZXBvID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwogCWNvbnN0IGNoYXIgKm5hbWU7Ci0Jc3RydWN0IHN0YXQgc3Q7CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CiAJc3RydWN0IGFyZ3ZfYXJyYXkgY2hpbGRfZW52ID0gQVJHVl9BUlJBWV9JTklUOwotCWludCBjb3VudGVyID0gMCwgbGVuLCByZXQ7CisJdW5zaWduZWQgaW50IGNvdW50ZXIgPSAwOworCWludCBsZW4sIHJldDsKIAlzdHJ1Y3Qgc3RyYnVmIHN5bXJlZiA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IE5VTEw7CiAJaW50IGlzX2JyYW5jaCA9IDA7CisJc3RydWN0IHN0cmJ1ZiBzYl9uYW1lID0gU1RSQlVGX0lOSVQ7CiAKIAl2YWxpZGF0ZV93b3JrdHJlZV9hZGQocGF0aCwgb3B0cyk7CiAKQEAgLTI4OSwxMyArMjgzLDIzIEBACiAJCWRpZShfKCJpbnZhbGlkIHJlZmVyZW5jZTogJXMiKSwgcmVmbmFtZSk7CiAKIAluYW1lID0gd29ya3RyZWVfYmFzZW5hbWUocGF0aCwgJmxlbik7Ci0JZ2l0X3BhdGhfYnVmKCZzYl9yZXBvLCAid29ya3RyZWVzLyUuKnMiLCAoaW50KShwYXRoICsgbGVuIC0gbmFtZSksIG5hbWUpOworCXN0cmJ1Zl9hZGQoJnNiLCBuYW1lLCBwYXRoICsgbGVuIC0gbmFtZSk7CisJc2FuaXRpemVfcmVmbmFtZV9jb21wb25lbnQoc2IuYnVmLCAmc2JfbmFtZSk7CisJaWYgKCFzYl9uYW1lLmxlbikKKwkJQlVHKCJIb3cgY29tZSAnJXMnIGJlY29tZXMgZW1wdHkgYWZ0ZXIgc2FuaXRpemF0aW9uPyIsIHNiLmJ1Zik7CisJc3RyYnVmX3Jlc2V0KCZzYik7CisJbmFtZSA9IHNiX25hbWUuYnVmOworCWdpdF9wYXRoX2J1Zigmc2JfcmVwbywgIndvcmt0cmVlcy8lcyIsIG5hbWUpOwogCWxlbiA9IHNiX3JlcG8ubGVuOwogCWlmIChzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzX2NvbnN0KHNiX3JlcG8uYnVmKSkKIAkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAnJXMnIiksCiAJCQkgIHNiX3JlcG8uYnVmKTsKLQl3aGlsZSAoIXN0YXQoc2JfcmVwby5idWYsICZzdCkpIHsKKworCXdoaWxlIChta2RpcihzYl9yZXBvLmJ1ZiwgMDc3NykpIHsKIAkJY291bnRlcisrOworCQlpZiAoKGVycm5vICE9IEVFWElTVCkgfHwgIWNvdW50ZXIgLyogb3ZlcmZsb3cgKi8pCisJCQlkaWVfZXJybm8oXygiY291bGQgbm90IGNyZWF0ZSBkaXJlY3Rvcnkgb2YgJyVzJyIpLAorCQkJCSAgc2JfcmVwby5idWYpOwogCQlzdHJidWZfc2V0bGVuKCZzYl9yZXBvLCBsZW4pOwogCQlzdHJidWZfYWRkZigmc2JfcmVwbywgIiVkIiwgY291bnRlcik7CiAJfQpAQCAtMzA1LDggKzMwOSw2IEBACiAJYXRleGl0KHJlbW92ZV9qdW5rKTsKIAlzaWdjaGFpbl9wdXNoX2NvbW1vbihyZW1vdmVfanVua19vbl9zaWduYWwpOwogCi0JaWYgKG1rZGlyKHNiX3JlcG8uYnVmLCAwNzc3KSkKLQkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IG9mICclcyciKSwgc2JfcmVwby5idWYpOwogCWp1bmtfZ2l0X2RpciA9IHhzdHJkdXAoc2JfcmVwby5idWYpOwogCWlzX2p1bmsgPSAxOwogCkBAIC0zNDAsNyArMzQyLDcgQEAKIAkgKi8KIAlzdHJidWZfcmVzZXQoJnNiKTsKIAlzdHJidWZfYWRkZigmc2IsICIlcy9IRUFEIiwgc2JfcmVwby5idWYpOwotCXdyaXRlX2ZpbGUoc2IuYnVmLCAiJXMiLCBzaGExX3RvX2hleChudWxsX3NoYTEpKTsKKwl3cml0ZV9maWxlKHNiLmJ1ZiwgIiVzIiwgb2lkX3RvX2hleCgmbnVsbF9vaWQpKTsKIAlzdHJidWZfcmVzZXQoJnNiKTsKIAlzdHJidWZfYWRkZigmc2IsICIlcy9jb21tb25kaXIiLCBzYl9yZXBvLmJ1Zik7CiAJd3JpdGVfZmlsZShzYi5idWYsICIuLi8uLiIpOwpAQCAtMzY3LDcgKzM2OSw3IEBACiAJaWYgKG9wdHMtPmNoZWNrb3V0KSB7CiAJCWNwLmFyZ3YgPSBOVUxMOwogCQlhcmd2X2FycmF5X2NsZWFyKCZjcC5hcmdzKTsKLQkJYXJndl9hcnJheV9wdXNobCgmY3AuYXJncywgInJlc2V0IiwgIi0taGFyZCIsIE5VTEwpOworCQlhcmd2X2FycmF5X3B1c2hsKCZjcC5hcmdzLCAicmVzZXQiLCAiLS1oYXJkIiwgIi0tbm8tcmVjdXJzZS1zdWJtb2R1bGVzIiwgTlVMTCk7CiAJCWlmIChvcHRzLT5xdWlldCkKIAkJCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgIi0tcXVpZXQiKTsKIAkJY3AuZW52ID0gY2hpbGRfZW52LmFyZ3Y7CkBAIC00MDEsNiArNDAzLDcgQEAKIAkJCWNwLmRpciA9IHBhdGg7CiAJCQljcC5lbnYgPSBlbnY7CiAJCQljcC5hcmd2ID0gTlVMTDsKKwkJCWNwLnRyYWNlMl9ob29rX25hbWUgPSAicG9zdC1jaGVja291dCI7CiAJCQlhcmd2X2FycmF5X3B1c2hsKCZjcC5hcmdzLCBhYnNvbHV0ZV9wYXRoKGhvb2spLAogCQkJCQkgb2lkX3RvX2hleCgmbnVsbF9vaWQpLAogCQkJCQkgb2lkX3RvX2hleCgmY29tbWl0LT5vYmplY3Qub2lkKSwKQEAgLTQxNCw2ICs0MTcsNyBAQAogCXN0cmJ1Zl9yZWxlYXNlKCZzeW1yZWYpOwogCXN0cmJ1Zl9yZWxlYXNlKCZzYl9yZXBvKTsKIAlzdHJidWZfcmVsZWFzZSgmc2JfZ2l0KTsKKwlzdHJidWZfcmVsZWFzZSgmc2JfbmFtZSk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtNzI0LDIwICs3MjgsMzYgQEAKIHN0YXRpYyB2b2lkIHZhbGlkYXRlX25vX3N1Ym1vZHVsZXMoY29uc3Qgc3RydWN0IHdvcmt0cmVlICp3dCkKIHsKIAlzdHJ1Y3QgaW5kZXhfc3RhdGUgaXN0YXRlID0geyBOVUxMIH07CisJc3RydWN0IHN0cmJ1ZiBwYXRoID0gU1RSQlVGX0lOSVQ7CiAJaW50IGksIGZvdW5kX3N1Ym1vZHVsZXMgPSAwOwogCi0JaWYgKHJlYWRfaW5kZXhfZnJvbSgmaXN0YXRlLCB3b3JrdHJlZV9naXRfcGF0aCh3dCwgImluZGV4IiksCi0JCQkgICAgZ2V0X3dvcmt0cmVlX2dpdF9kaXIod3QpKSA+IDApIHsKKwlpZiAoaXNfZGlyZWN0b3J5KHdvcmt0cmVlX2dpdF9wYXRoKHd0LCAibW9kdWxlcyIpKSkgeworCQkvKgorCQkgKiBUaGVyZSBjb3VsZCBiZSBmYWxzZSBwb3NpdGl2ZXMsIGUuZy4gdGhlICJtb2R1bGVzIgorCQkgKiBkaXJlY3RvcnkgZXhpc3RzIGJ1dCBpcyBlbXB0eS4gQnV0IGl0J3MgYSByYXJlIGNhc2UgYW5kCisJCSAqIHRoaXMgc2ltcGxlciBjaGVjayBpcyBwcm9iYWJseSBnb29kIGVub3VnaCBmb3Igbm93LgorCQkgKi8KKwkJZm91bmRfc3VibW9kdWxlcyA9IDE7CisJfSBlbHNlIGlmIChyZWFkX2luZGV4X2Zyb20oJmlzdGF0ZSwgd29ya3RyZWVfZ2l0X3BhdGgod3QsICJpbmRleCIpLAorCQkJCSAgIGdldF93b3JrdHJlZV9naXRfZGlyKHd0KSkgPiAwKSB7CiAJCWZvciAoaSA9IDA7IGkgPCBpc3RhdGUuY2FjaGVfbnI7IGkrKykgewogCQkJc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGlzdGF0ZS5jYWNoZVtpXTsKKwkJCWludCBlcnI7CiAKLQkJCWlmIChTX0lTR0lUTElOSyhjZS0+Y2VfbW9kZSkpIHsKLQkJCQlmb3VuZF9zdWJtb2R1bGVzID0gMTsKLQkJCQlicmVhazsKLQkJCX0KKwkJCWlmICghU19JU0dJVExJTksoY2UtPmNlX21vZGUpKQorCQkJCWNvbnRpbnVlOworCisJCQlzdHJidWZfcmVzZXQoJnBhdGgpOworCQkJc3RyYnVmX2FkZGYoJnBhdGgsICIlcy8lcyIsIHd0LT5wYXRoLCBjZS0+bmFtZSk7CisJCQlpZiAoIWlzX3N1Ym1vZHVsZV9wb3B1bGF0ZWRfZ2VudGx5KHBhdGguYnVmLCAmZXJyKSkKKwkJCQljb250aW51ZTsKKworCQkJZm91bmRfc3VibW9kdWxlcyA9IDE7CisJCQlicmVhazsKIAkJfQogCX0KIAlkaXNjYXJkX2luZGV4KCZpc3RhdGUpOworCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoKTsKIAogCWlmIChmb3VuZF9zdWJtb2R1bGVzKQogCQlkaWUoXygid29ya2luZyB0cmVlcyBjb250YWluaW5nIHN1Ym1vZHVsZXMgY2Fubm90IGJlIG1vdmVkIG9yIHJlbW92ZWQiKSk7CkBAIC04NTIsNyArODcyLDcgQEAKIAkJCSAgb3JpZ2luYWxfcGF0aCk7CiAJcmV0ID0geHJlYWQoY3Aub3V0LCBidWYsIHNpemVvZihidWYpKTsKIAlpZiAocmV0KQotCQlkaWUoXygiJyVzJyBpcyBkaXJ0eSwgdXNlIC0tZm9yY2UgdG8gZGVsZXRlIGl0IiksCisJCWRpZShfKCInJXMnIGNvbnRhaW5zIG1vZGlmaWVkIG9yIHVudHJhY2tlZCBmaWxlcywgdXNlIC0tZm9yY2UgdG8gZGVsZXRlIGl0IiksCiAJCSAgICBvcmlnaW5hbF9wYXRoKTsKIAljbG9zZShjcC5vdXQpOwogCXJldCA9IGZpbmlzaF9jb21tYW5kKCZjcCk7CmRpZmYgLS1naXQgYS9idWlsdGluL3dyaXRlLXRyZWUuYyBiL2J1aWx0aW4vd3JpdGUtdHJlZS5jCmluZGV4IGNkY2JmODIuLjQ1ZDYxNzAgMTAwNjQ0Ci0tLSBhL2J1aWx0aW4vd3JpdGUtdHJlZS5jCisrKyBiL2J1aWx0aW4vd3JpdGUtdHJlZS5jCkBAIC0zLDYgKzMsNyBAQAogICoKICAqIENvcHlyaWdodCAoQykgTGludXMgVG9ydmFsZHMsIDIwMDUKICAqLworI2RlZmluZSBVU0VfVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiYnVpbHRpbi5oIgogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC0xNSwxNiArMTYsMTYgQEAKIAlOVUxMCiB9OwogCi1pbnQgY21kX3dyaXRlX3RyZWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICp1bnVzZWRfcHJlZml4KQoraW50IGNtZF93cml0ZV90cmVlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqY21kX3ByZWZpeCkKIHsKIAlpbnQgZmxhZ3MgPSAwLCByZXQ7Ci0JY29uc3QgY2hhciAqcHJlZml4ID0gTlVMTDsKKwljb25zdCBjaGFyICp0cmVlX3ByZWZpeCA9IE5VTEw7CiAJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJY29uc3QgY2hhciAqbWUgPSAiZ2l0LXdyaXRlLXRyZWUiOwogCXN0cnVjdCBvcHRpb24gd3JpdGVfdHJlZV9vcHRpb25zW10gPSB7CiAJCU9QVF9CSVQoMCwgIm1pc3Npbmctb2siLCAmZmxhZ3MsIE5fKCJhbGxvdyBtaXNzaW5nIG9iamVjdHMiKSwKIAkJCVdSSVRFX1RSRUVfTUlTU0lOR19PSyksCi0JCU9QVF9TVFJJTkcoMCwgInByZWZpeCIsICZwcmVmaXgsIE5fKCI8cHJlZml4Pi8iKSwKKwkJT1BUX1NUUklORygwLCAicHJlZml4IiwgJnRyZWVfcHJlZml4LCBOXygiPHByZWZpeD4vIiksCiAJCQkgICBOXygid3JpdGUgdHJlZSBvYmplY3QgZm9yIGEgc3ViZGlyZWN0b3J5IDxwcmVmaXg+IikpLAogCQl7IE9QVElPTl9CSVQsIDAsICJpZ25vcmUtY2FjaGUtdHJlZSIsICZmbGFncywgTlVMTCwKIAkJICBOXygib25seSB1c2VmdWwgZm9yIGRlYnVnZ2luZyIpLApAQCAtMzQsMTAgKzM1LDEwIEBACiAJfTsKIAogCWdpdF9jb25maWcoZ2l0X2RlZmF1bHRfY29uZmlnLCBOVUxMKTsKLQlhcmdjID0gcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCB1bnVzZWRfcHJlZml4LCB3cml0ZV90cmVlX29wdGlvbnMsCisJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgY21kX3ByZWZpeCwgd3JpdGVfdHJlZV9vcHRpb25zLAogCQkJICAgICB3cml0ZV90cmVlX3VzYWdlLCAwKTsKIAotCXJldCA9IHdyaXRlX2NhY2hlX2FzX3RyZWUoJm9pZCwgZmxhZ3MsIHByZWZpeCk7CisJcmV0ID0gd3JpdGVfY2FjaGVfYXNfdHJlZSgmb2lkLCBmbGFncywgdHJlZV9wcmVmaXgpOwogCXN3aXRjaCAocmV0KSB7CiAJY2FzZSAwOgogCQlwcmludGYoIiVzXG4iLCBvaWRfdG9faGV4KCZvaWQpKTsKQEAgLTQ5LDcgKzUwLDcgQEAKIAkJZGllKCIlczogZXJyb3IgYnVpbGRpbmcgdHJlZXMiLCBtZSk7CiAJCWJyZWFrOwogCWNhc2UgV1JJVEVfVFJFRV9QUkVGSVhfRVJST1I6Ci0JCWRpZSgiJXM6IHByZWZpeCAlcyBub3QgZm91bmQiLCBtZSwgcHJlZml4KTsKKwkJZGllKCIlczogcHJlZml4ICVzIG5vdCBmb3VuZCIsIG1lLCB0cmVlX3ByZWZpeCk7CiAJCWJyZWFrOwogCX0KIAlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvYnVsay1jaGVja2luLmMgYi9idWxrLWNoZWNraW4uYwppbmRleCA0MDllY2I1Li41ODNhYWNiIDEwMDY0NAotLS0gYS9idWxrLWNoZWNraW4uYworKysgYi9idWxrLWNoZWNraW4uYwpAQCAtNjcsNyArNjcsNyBAQAogCWludCBpOwogCiAJLyogVGhlIG9iamVjdCBtYXkgYWxyZWFkeSBleGlzdCBpbiB0aGUgcmVwb3NpdG9yeSAqLwotCWlmIChoYXNfc2hhMV9maWxlKG9pZC0+aGFzaCkpCisJaWYgKGhhc19vYmplY3RfZmlsZShvaWQpKQogCQlyZXR1cm4gMTsKIAogCS8qIE1pZ2h0IHdhbnQgdG8ga2VlcCB0aGUgbGlzdCBzb3J0ZWQgKi8KQEAgLTE5Nyw3ICsxOTcsNyBAQAogCWdpdF9oYXNoX2N0eCBjdHg7CiAJdW5zaWduZWQgY2hhciBvYnVmWzE2Mzg0XTsKIAl1bnNpZ25lZCBoZWFkZXJfbGVuOwotCXN0cnVjdCBoYXNoZmlsZV9jaGVja3BvaW50IGNoZWNrcG9pbnQ7CisJc3RydWN0IGhhc2hmaWxlX2NoZWNrcG9pbnQgY2hlY2twb2ludCA9IHswfTsKIAlzdHJ1Y3QgcGFja19pZHhfZW50cnkgKmlkeCA9IE5VTEw7CiAKIAlzZWVrYmFjayA9IGxzZWVrKGZkLCAwLCBTRUVLX0NVUik7CmRpZmYgLS1naXQgYS9idWxrLWNoZWNraW4uaCBiL2J1bGstY2hlY2tpbi5oCmluZGV4IGY0MzhmOTMuLmIyNmYzZGMgMTAwNjQ0Ci0tLSBhL2J1bGstY2hlY2tpbi5oCisrKyBiL2J1bGstY2hlY2tpbi5oCkBAIC02LDExICs2LDExIEBACiAKICNpbmNsdWRlICJjYWNoZS5oIgogCi1leHRlcm4gaW50IGluZGV4X2J1bGtfY2hlY2tpbihzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCi0JCQkgICAgICBpbnQgZmQsIHNpemVfdCBzaXplLCBlbnVtIG9iamVjdF90eXBlIHR5cGUsCi0JCQkgICAgICBjb25zdCBjaGFyICpwYXRoLCB1bnNpZ25lZCBmbGFncyk7CitpbnQgaW5kZXhfYnVsa19jaGVja2luKHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJICAgICAgIGludCBmZCwgc2l6ZV90IHNpemUsIGVudW0gb2JqZWN0X3R5cGUgdHlwZSwKKwkJICAgICAgIGNvbnN0IGNoYXIgKnBhdGgsIHVuc2lnbmVkIGZsYWdzKTsKIAotZXh0ZXJuIHZvaWQgcGx1Z19idWxrX2NoZWNraW4odm9pZCk7Ci1leHRlcm4gdm9pZCB1bnBsdWdfYnVsa19jaGVja2luKHZvaWQpOwordm9pZCBwbHVnX2J1bGtfY2hlY2tpbih2b2lkKTsKK3ZvaWQgdW5wbHVnX2J1bGtfY2hlY2tpbih2b2lkKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9idW5kbGUuYyBiL2J1bmRsZS5jCmluZGV4IDg4YzNlMTYuLjk5NDM5ZTAgMTAwNjQ0Ci0tLSBhL2J1bmRsZS5jCisrKyBiL2J1bmRsZS5jCkBAIC0xMjcsNyArMTI3LDkgQEAKIC8qIFJlbWVtYmVyIHRvIHVwZGF0ZSBvYmplY3QgZmxhZyBhbGxvY2F0aW9uIGluIG9iamVjdC5oICovCiAjZGVmaW5lIFBSRVJFUV9NQVJLICgxdTw8MTYpCiAKLWludCB2ZXJpZnlfYnVuZGxlKHN0cnVjdCBidW5kbGVfaGVhZGVyICpoZWFkZXIsIGludCB2ZXJib3NlKQoraW50IHZlcmlmeV9idW5kbGUoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCSAgc3RydWN0IGJ1bmRsZV9oZWFkZXIgKmhlYWRlciwKKwkJICBpbnQgdmVyYm9zZSkKIHsKIAkvKgogCSAqIERvIGZhc3QgY2hlY2ssIHRoZW4gaWYgYW55IHByZXJlcXMgYXJlIG1pc3NpbmcgdGhlbiBnbyBsaW5lIGJ5IGxpbmUKQEAgLTE0MCwxMCArMTQyLDEzIEBACiAJaW50IGksIHJldCA9IDAsIHJlcV9ucjsKIAljb25zdCBjaGFyICptZXNzYWdlID0gXygiUmVwb3NpdG9yeSBsYWNrcyB0aGVzZSBwcmVyZXF1aXNpdGUgY29tbWl0czoiKTsKIAotCXJlcG9faW5pdF9yZXZpc2lvbnModGhlX3JlcG9zaXRvcnksICZyZXZzLCBOVUxMKTsKKwlpZiAoIXIgfHwgIXItPm9iamVjdHMgfHwgIXItPm9iamVjdHMtPm9kYikKKwkJcmV0dXJuIGVycm9yKF8oIm5lZWQgYSByZXBvc2l0b3J5IHRvIHZlcmlmeSBhIGJ1bmRsZSIpKTsKKworCXJlcG9faW5pdF9yZXZpc2lvbnMociwgJnJldnMsIE5VTEwpOwogCWZvciAoaSA9IDA7IGkgPCBwLT5ucjsgaSsrKSB7CiAJCXN0cnVjdCByZWZfbGlzdF9lbnRyeSAqZSA9IHAtPmxpc3QgKyBpOwotCQlzdHJ1Y3Qgb2JqZWN0ICpvID0gcGFyc2Vfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCAmZS0+b2lkKTsKKwkJc3RydWN0IG9iamVjdCAqbyA9IHBhcnNlX29iamVjdChyLCAmZS0+b2lkKTsKIAkJaWYgKG8pIHsKIAkJCW8tPmZsYWdzIHw9IFBSRVJFUV9NQVJLOwogCQkJYWRkX3BlbmRpbmdfb2JqZWN0KCZyZXZzLCBvLCBlLT5uYW1lKTsKQEAgLTE2OCw3ICsxNzMsNyBAQAogCiAJZm9yIChpID0gMDsgaSA8IHAtPm5yOyBpKyspIHsKIAkJc3RydWN0IHJlZl9saXN0X2VudHJ5ICplID0gcC0+bGlzdCArIGk7Ci0JCXN0cnVjdCBvYmplY3QgKm8gPSBwYXJzZV9vYmplY3QodGhlX3JlcG9zaXRvcnksICZlLT5vaWQpOworCQlzdHJ1Y3Qgb2JqZWN0ICpvID0gcGFyc2Vfb2JqZWN0KHIsICZlLT5vaWQpOwogCQlhc3NlcnQobyk7IC8qIG90aGVyd2lzZSB3ZSdkIGhhdmUgcmV0dXJuZWQgZWFybHkgKi8KIAkJaWYgKG8tPmZsYWdzICYgU0hPV04pCiAJCQljb250aW51ZTsKQEAgLTE4MCw3ICsxODUsNyBAQAogCS8qIENsZWFuIHVwIG9iamVjdHMgdXNlZCwgYXMgdGhleSB3aWxsIGJlIHJldXNlZC4gKi8KIAlmb3IgKGkgPSAwOyBpIDwgcC0+bnI7IGkrKykgewogCQlzdHJ1Y3QgcmVmX2xpc3RfZW50cnkgKmUgPSBwLT5saXN0ICsgaTsKLQkJY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHRoZV9yZXBvc2l0b3J5LCAmZS0+b2lkLCAxKTsKKwkJY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHIsICZlLT5vaWQsIDEpOwogCQlpZiAoY29tbWl0KQogCQkJY2xlYXJfY29tbWl0X21hcmtzKGNvbW1pdCwgQUxMX1JFVl9GTEFHUyk7CiAJfQpAQCAtMjQ0LDE1ICsyNDksMTYgQEAKIAogCiAvKiBXcml0ZSB0aGUgcGFjayBkYXRhIHRvIGJ1bmRsZV9mZCAqLwotc3RhdGljIGludCB3cml0ZV9wYWNrX2RhdGEoaW50IGJ1bmRsZV9mZCwgc3RydWN0IHJldl9pbmZvICpyZXZzKQorc3RhdGljIGludCB3cml0ZV9wYWNrX2RhdGEoaW50IGJ1bmRsZV9mZCwgc3RydWN0IHJldl9pbmZvICpyZXZzLCBzdHJ1Y3QgYXJndl9hcnJheSAqcGFja19vcHRpb25zKQogewogCXN0cnVjdCBjaGlsZF9wcm9jZXNzIHBhY2tfb2JqZWN0cyA9IENISUxEX1BST0NFU1NfSU5JVDsKIAlpbnQgaTsKIAogCWFyZ3ZfYXJyYXlfcHVzaGwoJnBhY2tfb2JqZWN0cy5hcmdzLAotCQkJICJwYWNrLW9iamVjdHMiLCAiLS1hbGwtcHJvZ3Jlc3MtaW1wbGllZCIsCisJCQkgInBhY2stb2JqZWN0cyIsCiAJCQkgIi0tc3Rkb3V0IiwgIi0tdGhpbiIsICItLWRlbHRhLWJhc2Utb2Zmc2V0IiwKIAkJCSBOVUxMKTsKKwlhcmd2X2FycmF5X3B1c2h2KCZwYWNrX29iamVjdHMuYXJncywgcGFja19vcHRpb25zLT5hcmd2KTsKIAlwYWNrX29iamVjdHMuaW4gPSAtMTsKIAlwYWNrX29iamVjdHMub3V0ID0gYnVuZGxlX2ZkOwogCXBhY2tfb2JqZWN0cy5naXRfY21kID0gMTsKQEAgLTI3Nyw3ICsyODMsNyBAQAogCQlzdHJ1Y3Qgb2JqZWN0ICpvYmplY3QgPSByZXZzLT5wZW5kaW5nLm9iamVjdHNbaV0uaXRlbTsKIAkJaWYgKG9iamVjdC0+ZmxhZ3MgJiBVTklOVEVSRVNUSU5HKQogCQkJd3JpdGVfb3JfZGllKHBhY2tfb2JqZWN0cy5pbiwgIl4iLCAxKTsKLQkJd3JpdGVfb3JfZGllKHBhY2tfb2JqZWN0cy5pbiwgb2lkX3RvX2hleCgmb2JqZWN0LT5vaWQpLCBHSVRfU0hBMV9IRVhTWik7CisJCXdyaXRlX29yX2RpZShwYWNrX29iamVjdHMuaW4sIG9pZF90b19oZXgoJm9iamVjdC0+b2lkKSwgdGhlX2hhc2hfYWxnby0+aGV4c3opOwogCQl3cml0ZV9vcl9kaWUocGFja19vYmplY3RzLmluLCAiXG4iLCAxKTsKIAl9CiAJY2xvc2UocGFja19vYmplY3RzLmluKTsKQEAgLTM4OSw4ICszOTUsNyBAQAogCQkJICogaW4gdGVybXMgb2YgYSB0YWcgKGUuZy4gdjIuMCBmcm9tIHRoZSByYW5nZQogCQkJICogInYxLjAuLnYyLjAiKT8KIAkJCSAqLwotCQkJc3RydWN0IGNvbW1pdCAqb25lID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UodGhlX3JlcG9zaXRvcnksCi0JCQkJCQkJCSAgICAgJm9pZCk7CisJCQlzdHJ1Y3QgY29tbWl0ICpvbmUgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShyZXZzLT5yZXBvLCAmb2lkKTsKIAkJCXN0cnVjdCBvYmplY3QgKm9iajsKIAogCQkJaWYgKGUtPml0ZW0gPT0gJihvbmUtPm9iamVjdCkpIHsKQEAgLTQxMCw3ICs0MTUsNyBAQAogCQl9CiAKIAkJcmVmX2NvdW50Kys7Ci0JCXdyaXRlX29yX2RpZShidW5kbGVfZmQsIG9pZF90b19oZXgoJmUtPml0ZW0tPm9pZCksIDQwKTsKKwkJd3JpdGVfb3JfZGllKGJ1bmRsZV9mZCwgb2lkX3RvX2hleCgmZS0+aXRlbS0+b2lkKSwgdGhlX2hhc2hfYWxnby0+aGV4c3opOwogCQl3cml0ZV9vcl9kaWUoYnVuZGxlX2ZkLCAiICIsIDEpOwogCQl3cml0ZV9vcl9kaWUoYnVuZGxlX2ZkLCBkaXNwbGF5X3JlZiwgc3RybGVuKGRpc3BsYXlfcmVmKSk7CiAJCXdyaXRlX29yX2RpZShidW5kbGVfZmQsICJcbiIsIDEpOwpAQCAtNDIzLDggKzQyOCw4IEBACiAJcmV0dXJuIHJlZl9jb3VudDsKIH0KIAotaW50IGNyZWF0ZV9idW5kbGUoc3RydWN0IGJ1bmRsZV9oZWFkZXIgKmhlYWRlciwgY29uc3QgY2hhciAqcGF0aCwKLQkJICBpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCitpbnQgY3JlYXRlX2J1bmRsZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqcGF0aCwKKwkJICBpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIHN0cnVjdCBhcmd2X2FycmF5ICpwYWNrX29wdGlvbnMpCiB7CiAJc3RydWN0IGxvY2tfZmlsZSBsb2NrID0gTE9DS19JTklUOwogCWludCBidW5kbGVfZmQgPSAtMTsKQEAgLTQ0NCw3ICs0NDksNyBAQAogCiAJLyogaW5pdCByZXZzIHRvIGxpc3Qgb2JqZWN0cyBmb3IgcGFjay1vYmplY3RzIGxhdGVyICovCiAJc2F2ZV9jb21taXRfYnVmZmVyID0gMDsKLQlyZXBvX2luaXRfcmV2aXNpb25zKHRoZV9yZXBvc2l0b3J5LCAmcmV2cywgTlVMTCk7CisJcmVwb19pbml0X3JldmlzaW9ucyhyLCAmcmV2cywgTlVMTCk7CiAKIAkvKiB3cml0ZSBwcmVyZXF1aXNpdGVzICovCiAJaWYgKGNvbXB1dGVfYW5kX3dyaXRlX3ByZXJlcXVpc2l0ZXMoYnVuZGxlX2ZkLCAmcmV2cywgYXJnYywgYXJndikpCkBAIC00NjYsNyArNDcxLDcgQEAKIAkJZ290byBlcnI7CiAKIAkvKiB3cml0ZSBwYWNrICovCi0JaWYgKHdyaXRlX3BhY2tfZGF0YShidW5kbGVfZmQsICZyZXZzKSkKKwlpZiAod3JpdGVfcGFja19kYXRhKGJ1bmRsZV9mZCwgJnJldnMsIHBhY2tfb3B0aW9ucykpCiAJCWdvdG8gZXJyOwogCiAJaWYgKCFidW5kbGVfdG9fc3Rkb3V0KSB7CkBAIC00NzksNyArNDg0LDggQEAKIAlyZXR1cm4gLTE7CiB9CiAKLWludCB1bmJ1bmRsZShzdHJ1Y3QgYnVuZGxlX2hlYWRlciAqaGVhZGVyLCBpbnQgYnVuZGxlX2ZkLCBpbnQgZmxhZ3MpCitpbnQgdW5idW5kbGUoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBidW5kbGVfaGVhZGVyICpoZWFkZXIsCisJICAgICBpbnQgYnVuZGxlX2ZkLCBpbnQgZmxhZ3MpCiB7CiAJY29uc3QgY2hhciAqYXJndl9pbmRleF9wYWNrW10gPSB7ImluZGV4LXBhY2siLAogCQkJCQkgIi0tZml4LXRoaW4iLCAiLS1zdGRpbiIsIE5VTEwsIE5VTEx9OwpAQCAtNDg4LDcgKzQ5NCw3IEBACiAJaWYgKGZsYWdzICYgQlVORExFX1ZFUkJPU0UpCiAJCWFyZ3ZfaW5kZXhfcGFja1szXSA9ICItdiI7CiAKLQlpZiAodmVyaWZ5X2J1bmRsZShoZWFkZXIsIDApKQorCWlmICh2ZXJpZnlfYnVuZGxlKHIsIGhlYWRlciwgMCkpCiAJCXJldHVybiAtMTsKIAlpcC5hcmd2ID0gYXJndl9pbmRleF9wYWNrOwogCWlwLmluID0gYnVuZGxlX2ZkOwpkaWZmIC0tZ2l0IGEvYnVuZGxlLmggYi9idW5kbGUuaAppbmRleCBlOWE0Y2I2Li5jZWFiMGM3IDEwMDY0NAotLS0gYS9idW5kbGUuaAorKysgYi9idW5kbGUuaApAQCAtMSw2ICsxLDcgQEAKICNpZm5kZWYgQlVORExFX0gKICNkZWZpbmUgQlVORExFX0gKIAorI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKICNpbmNsdWRlICJjYWNoZS5oIgogCiBzdHJ1Y3QgcmVmX2xpc3QgewpAQCAtMTgsMTEgKzE5LDEyIEBACiAKIGludCBpc19idW5kbGUoY29uc3QgY2hhciAqcGF0aCwgaW50IHF1aWV0KTsKIGludCByZWFkX2J1bmRsZV9oZWFkZXIoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IGJ1bmRsZV9oZWFkZXIgKmhlYWRlcik7Ci1pbnQgY3JlYXRlX2J1bmRsZShzdHJ1Y3QgYnVuZGxlX2hlYWRlciAqaGVhZGVyLCBjb25zdCBjaGFyICpwYXRoLAotCQlpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOwotaW50IHZlcmlmeV9idW5kbGUoc3RydWN0IGJ1bmRsZV9oZWFkZXIgKmhlYWRlciwgaW50IHZlcmJvc2UpOworaW50IGNyZWF0ZV9idW5kbGUoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IGNoYXIgKnBhdGgsCisJCSAgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBzdHJ1Y3QgYXJndl9hcnJheSAqcGFja19vcHRpb25zKTsKK2ludCB2ZXJpZnlfYnVuZGxlKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3QgYnVuZGxlX2hlYWRlciAqaGVhZGVyLCBpbnQgdmVyYm9zZSk7CiAjZGVmaW5lIEJVTkRMRV9WRVJCT1NFIDEKLWludCB1bmJ1bmRsZShzdHJ1Y3QgYnVuZGxlX2hlYWRlciAqaGVhZGVyLCBpbnQgYnVuZGxlX2ZkLCBpbnQgZmxhZ3MpOworaW50IHVuYnVuZGxlKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3QgYnVuZGxlX2hlYWRlciAqaGVhZGVyLAorCSAgICAgaW50IGJ1bmRsZV9mZCwgaW50IGZsYWdzKTsKIGludCBsaXN0X2J1bmRsZV9yZWZzKHN0cnVjdCBidW5kbGVfaGVhZGVyICpoZWFkZXIsCiAJCWludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiAKZGlmZiAtLWdpdCBhL2NhY2hlLXRyZWUuYyBiL2NhY2hlLXRyZWUuYwppbmRleCA5ZDQ1NGQyLi5hNTM3YTgwIDEwMDY0NAotLS0gYS9jYWNoZS10cmVlLmMKKysrIGIvY2FjaGUtdHJlZS5jCkBAIC01LDkgKzUsMTAgQEAKICNpbmNsdWRlICJjYWNoZS10cmVlLmgiCiAjaW5jbHVkZSAib2JqZWN0LXN0b3JlLmgiCiAjaW5jbHVkZSAicmVwbGFjZS1vYmplY3QuaCIKKyNpbmNsdWRlICJwcm9taXNvci1yZW1vdGUuaCIKIAotI2lmbmRlZiBERUJVRwotI2RlZmluZSBERUJVRyAwCisjaWZuZGVmIERFQlVHX0NBQ0hFX1RSRUUKKyNkZWZpbmUgREVCVUdfQ0FDSEVfVFJFRSAwCiAjZW5kaWYKIAogc3RydWN0IGNhY2hlX3RyZWUgKmNhY2hlX3RyZWUodm9pZCkKQEAgLTExMSw3ICsxMTIsNyBAQAogCWludCBuYW1lbGVuOwogCXN0cnVjdCBjYWNoZV90cmVlX3N1YiAqZG93bjsKIAotI2lmIERFQlVHCisjaWYgREVCVUdfQ0FDSEVfVFJFRQogCWZwcmludGYoc3RkZXJyLCAiY2FjaGUtdHJlZSBpbnZhbGlkYXRlIDwlcz5cbiIsIHBhdGgpOwogI2VuZGlmCiAKQEAgLTIyNSw3ICsyMjYsNyBAQAogCWludCBpOwogCWlmICghaXQpCiAJCXJldHVybiAwOwotCWlmIChpdC0+ZW50cnlfY291bnQgPCAwIHx8ICFoYXNfc2hhMV9maWxlKGl0LT5vaWQuaGFzaCkpCisJaWYgKGl0LT5lbnRyeV9jb3VudCA8IDAgfHwgIWhhc19vYmplY3RfZmlsZSgmaXQtPm9pZCkpCiAJCXJldHVybiAwOwogCWZvciAoaSA9IDA7IGkgPCBpdC0+c3VidHJlZV9ucjsgaSsrKSB7CiAJCWlmICghY2FjaGVfdHJlZV9mdWxseV92YWxpZChpdC0+ZG93bltpXS0+Y2FjaGVfdHJlZSkpCkBAIC0yNTMsNyArMjU0LDcgQEAKIAogCSpza2lwX2NvdW50ID0gMDsKIAotCWlmICgwIDw9IGl0LT5lbnRyeV9jb3VudCAmJiBoYXNfc2hhMV9maWxlKGl0LT5vaWQuaGFzaCkpCisJaWYgKDAgPD0gaXQtPmVudHJ5X2NvdW50ICYmIGhhc19vYmplY3RfZmlsZSgmaXQtPm9pZCkpCiAJCXJldHVybiBpdC0+ZW50cnlfY291bnQ7CiAKIAkvKgpAQCAtMzU3LDcgKzM1OCw3IEBACiAJCX0KIAogCQljZV9taXNzaW5nX29rID0gbW9kZSA9PSBTX0lGR0lUTElOSyB8fCBtaXNzaW5nX29rIHx8Ci0JCQkocmVwb3NpdG9yeV9mb3JtYXRfcGFydGlhbF9jbG9uZSAmJgorCQkJKGhhc19wcm9taXNvcl9yZW1vdGUoKSAmJgogCQkJIGNlX3NraXBfd29ya3RyZWUoY2UpKTsKIAkJaWYgKGlzX251bGxfb2lkKG9pZCkgfHwKIAkJICAgICghY2VfbWlzc2luZ19vayAmJiAhaGFzX29iamVjdF9maWxlKG9pZCkpKSB7CkBAIC0zOTgsNyArMzk5LDcgQEAKIAkJc3RyYnVmX2FkZGYoJmJ1ZmZlciwgIiVvICUuKnMlYyIsIG1vZGUsIGVudGxlbiwgcGF0aCArIGJhc2VsZW4sICdcMCcpOwogCQlzdHJidWZfYWRkKCZidWZmZXIsIG9pZC0+aGFzaCwgdGhlX2hhc2hfYWxnby0+cmF3c3opOwogCi0jaWYgREVCVUcKKyNpZiBERUJVR19DQUNIRV9UUkVFCiAJCWZwcmludGYoc3RkZXJyLCAiY2FjaGUtdHJlZSB1cGRhdGUtb25lICVvICUuKnNcbiIsCiAJCQltb2RlLCBlbnRsZW4sIHBhdGggKyBiYXNlbGVuKTsKICNlbmRpZgpAQCAtNDA2LDEzICs0MDcsMTUgQEAKIAogCWlmIChyZXBhaXIpIHsKIAkJc3RydWN0IG9iamVjdF9pZCBvaWQ7Ci0JCWhhc2hfb2JqZWN0X2ZpbGUoYnVmZmVyLmJ1ZiwgYnVmZmVyLmxlbiwgdHJlZV90eXBlLCAmb2lkKTsKLQkJaWYgKGhhc19vYmplY3RfZmlsZSgmb2lkKSkKKwkJaGFzaF9vYmplY3RfZmlsZSh0aGVfaGFzaF9hbGdvLCBidWZmZXIuYnVmLCBidWZmZXIubGVuLAorCQkJCSB0cmVlX3R5cGUsICZvaWQpOworCQlpZiAoaGFzX29iamVjdF9maWxlX3dpdGhfZmxhZ3MoJm9pZCwgT0JKRUNUX0lORk9fU0tJUF9GRVRDSF9PQkpFQ1QpKQogCQkJb2lkY3B5KCZpdC0+b2lkLCAmb2lkKTsKIAkJZWxzZQogCQkJdG9faW52YWxpZGF0ZSA9IDE7CiAJfSBlbHNlIGlmIChkcnlydW4pIHsKLQkJaGFzaF9vYmplY3RfZmlsZShidWZmZXIuYnVmLCBidWZmZXIubGVuLCB0cmVlX3R5cGUsICZpdC0+b2lkKTsKKwkJaGFzaF9vYmplY3RfZmlsZSh0aGVfaGFzaF9hbGdvLCBidWZmZXIuYnVmLCBidWZmZXIubGVuLAorCQkJCSB0cmVlX3R5cGUsICZpdC0+b2lkKTsKIAl9IGVsc2UgaWYgKHdyaXRlX29iamVjdF9maWxlKGJ1ZmZlci5idWYsIGJ1ZmZlci5sZW4sIHRyZWVfdHlwZSwKIAkJCQkgICAgICZpdC0+b2lkKSkgewogCQlzdHJidWZfcmVsZWFzZSgmYnVmZmVyKTsKQEAgLTQyMSw3ICs0MjQsNyBAQAogCiAJc3RyYnVmX3JlbGVhc2UoJmJ1ZmZlcik7CiAJaXQtPmVudHJ5X2NvdW50ID0gdG9faW52YWxpZGF0ZSA/IC0xIDogaSAtICpza2lwX2NvdW50OwotI2lmIERFQlVHCisjaWYgREVCVUdfQ0FDSEVfVFJFRQogCWZwcmludGYoc3RkZXJyLCAiY2FjaGUtdHJlZSB1cGRhdGUtb25lICglZCBlbnQsICVkIHN1YnRyZWUpICVzXG4iLAogCQlpdC0+ZW50cnlfY291bnQsIGl0LT5zdWJ0cmVlX25yLAogCQlvaWRfdG9faGV4KCZpdC0+b2lkKSk7CkBAIC00NDgsNyArNDUxLDcgQEAKIH0KIAogc3RhdGljIHZvaWQgd3JpdGVfb25lKHN0cnVjdCBzdHJidWYgKmJ1ZmZlciwgc3RydWN0IGNhY2hlX3RyZWUgKml0LAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnBhdGgsIGludCBwYXRobGVuKQorCQkgICAgICBjb25zdCBjaGFyICpwYXRoLCBpbnQgcGF0aGxlbikKIHsKIAlpbnQgaTsKIApAQCAtNDYyLDcgKzQ2NSw3IEBACiAJc3RyYnVmX2FkZChidWZmZXIsIHBhdGgsIHBhdGhsZW4pOwogCXN0cmJ1Zl9hZGRmKGJ1ZmZlciwgIiVjJWQgJWRcbiIsIDAsIGl0LT5lbnRyeV9jb3VudCwgaXQtPnN1YnRyZWVfbnIpOwogCi0jaWYgREVCVUcKKyNpZiBERUJVR19DQUNIRV9UUkVFCiAJaWYgKDAgPD0gaXQtPmVudHJ5X2NvdW50KQogCQlmcHJpbnRmKHN0ZGVyciwgImNhY2hlLXRyZWUgPCUuKnM+ICglZCBlbnQsICVkIHN1YnRyZWUpICVzXG4iLAogCQkJcGF0aGxlbiwgcGF0aCwgaXQtPmVudHJ5X2NvdW50LCBpdC0+c3VidHJlZV9uciwKQEAgLTUzNiw3ICs1MzksNyBAQAogCQlzaXplIC09IHJhd3N6OwogCX0KIAotI2lmIERFQlVHCisjaWYgREVCVUdfQ0FDSEVfVFJFRQogCWlmICgwIDw9IGl0LT5lbnRyeV9jb3VudCkKIAkJZnByaW50ZihzdGRlcnIsICJjYWNoZS10cmVlIDwlcz4gKCVkIGVudCwgJWQgc3VidHJlZSkgJXNcbiIsCiAJCQkqYnVmZmVyLCBpdC0+ZW50cnlfY291bnQsIHN1YnRyZWVfbnIsCkBAIC02MDgsMTEgKzYxMSw2NiBAQAogCXJldHVybiBpdDsKIH0KIAorc3RhdGljIGludCB3cml0ZV9pbmRleF9hc190cmVlX2ludGVybmFsKHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCQkJc3RydWN0IGluZGV4X3N0YXRlICppbmRleF9zdGF0ZSwKKwkJCQkJaW50IGNhY2hlX3RyZWVfdmFsaWQsCisJCQkJCWludCBmbGFncywKKwkJCQkJY29uc3QgY2hhciAqcHJlZml4KQoreworCWlmIChmbGFncyAmIFdSSVRFX1RSRUVfSUdOT1JFX0NBQ0hFX1RSRUUpIHsKKwkJY2FjaGVfdHJlZV9mcmVlKCZpbmRleF9zdGF0ZS0+Y2FjaGVfdHJlZSk7CisJCWNhY2hlX3RyZWVfdmFsaWQgPSAwOworCX0KKworCWlmICghaW5kZXhfc3RhdGUtPmNhY2hlX3RyZWUpCisJCWluZGV4X3N0YXRlLT5jYWNoZV90cmVlID0gY2FjaGVfdHJlZSgpOworCisJaWYgKCFjYWNoZV90cmVlX3ZhbGlkICYmIGNhY2hlX3RyZWVfdXBkYXRlKGluZGV4X3N0YXRlLCBmbGFncykgPCAwKQorCQlyZXR1cm4gV1JJVEVfVFJFRV9VTk1FUkdFRF9JTkRFWDsKKworCWlmIChwcmVmaXgpIHsKKwkJc3RydWN0IGNhY2hlX3RyZWUgKnN1YnRyZWU7CisJCXN1YnRyZWUgPSBjYWNoZV90cmVlX2ZpbmQoaW5kZXhfc3RhdGUtPmNhY2hlX3RyZWUsIHByZWZpeCk7CisJCWlmICghc3VidHJlZSkKKwkJCXJldHVybiBXUklURV9UUkVFX1BSRUZJWF9FUlJPUjsKKwkJb2lkY3B5KG9pZCwgJnN1YnRyZWUtPm9pZCk7CisJfQorCWVsc2UKKwkJb2lkY3B5KG9pZCwgJmluZGV4X3N0YXRlLT5jYWNoZV90cmVlLT5vaWQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCB0cmVlKiB3cml0ZV9pbl9jb3JlX2luZGV4X2FzX3RyZWUoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8pIHsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG87CisJaW50IHdhc192YWxpZCwgcmV0OworCisJc3RydWN0IGluZGV4X3N0YXRlICppbmRleF9zdGF0ZQk9IHJlcG8tPmluZGV4OworCXdhc192YWxpZCA9IGluZGV4X3N0YXRlLT5jYWNoZV90cmVlICYmCisJCSAgICBjYWNoZV90cmVlX2Z1bGx5X3ZhbGlkKGluZGV4X3N0YXRlLT5jYWNoZV90cmVlKTsKKworCXJldCA9IHdyaXRlX2luZGV4X2FzX3RyZWVfaW50ZXJuYWwoJm8sIGluZGV4X3N0YXRlLCB3YXNfdmFsaWQsIDAsIE5VTEwpOworCWlmIChyZXQgPT0gV1JJVEVfVFJFRV9VTk1FUkdFRF9JTkRFWCkgeworCQlpbnQgaTsKKwkJZnByaW50ZihzdGRlcnIsICJCVUc6IFRoZXJlIGFyZSB1bm1lcmdlZCBpbmRleCBlbnRyaWVzOlxuIik7CisJCWZvciAoaSA9IDA7IGkgPCBpbmRleF9zdGF0ZS0+Y2FjaGVfbnI7IGkrKykgeworCQkJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGluZGV4X3N0YXRlLT5jYWNoZVtpXTsKKwkJCWlmIChjZV9zdGFnZShjZSkpCisJCQkJZnByaW50ZihzdGRlcnIsICJCVUc6ICVkICUuKnNcbiIsIGNlX3N0YWdlKGNlKSwKKwkJCQkJKGludCljZV9uYW1lbGVuKGNlKSwgY2UtPm5hbWUpOworCQl9CisJCUJVRygidW5tZXJnZWQgaW5kZXggZW50cmllcyB3aGVuIHdyaXRpbmcgaW5tZW1vcnkgaW5kZXgiKTsKKwl9CisKKwlyZXR1cm4gbG9va3VwX3RyZWUocmVwbywgJmluZGV4X3N0YXRlLT5jYWNoZV90cmVlLT5vaWQpOworfQorCisKIGludCB3cml0ZV9pbmRleF9hc190cmVlKHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgc3RydWN0IGluZGV4X3N0YXRlICppbmRleF9zdGF0ZSwgY29uc3QgY2hhciAqaW5kZXhfcGF0aCwgaW50IGZsYWdzLCBjb25zdCBjaGFyICpwcmVmaXgpCiB7CiAJaW50IGVudHJpZXMsIHdhc192YWxpZDsKIAlzdHJ1Y3QgbG9ja19maWxlIGxvY2tfZmlsZSA9IExPQ0tfSU5JVDsKLQlpbnQgcmV0ID0gMDsKKwlpbnQgcmV0OwogCiAJaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZSgmbG9ja19maWxlLCBpbmRleF9wYXRoLCBMT0NLX0RJRV9PTl9FUlJPUik7CiAKQEAgLTYyMSwxOCArNjc5LDE0IEBACiAJCXJldCA9IFdSSVRFX1RSRUVfVU5SRUFEQUJMRV9JTkRFWDsKIAkJZ290byBvdXQ7CiAJfQotCWlmIChmbGFncyAmIFdSSVRFX1RSRUVfSUdOT1JFX0NBQ0hFX1RSRUUpCi0JCWNhY2hlX3RyZWVfZnJlZSgmaW5kZXhfc3RhdGUtPmNhY2hlX3RyZWUpOwogCi0JaWYgKCFpbmRleF9zdGF0ZS0+Y2FjaGVfdHJlZSkKLQkJaW5kZXhfc3RhdGUtPmNhY2hlX3RyZWUgPSBjYWNoZV90cmVlKCk7CisJd2FzX3ZhbGlkID0gIShmbGFncyAmIFdSSVRFX1RSRUVfSUdOT1JFX0NBQ0hFX1RSRUUpICYmCisJCSAgICBpbmRleF9zdGF0ZS0+Y2FjaGVfdHJlZSAmJgorCQkgICAgY2FjaGVfdHJlZV9mdWxseV92YWxpZChpbmRleF9zdGF0ZS0+Y2FjaGVfdHJlZSk7CiAKLQl3YXNfdmFsaWQgPSBjYWNoZV90cmVlX2Z1bGx5X3ZhbGlkKGluZGV4X3N0YXRlLT5jYWNoZV90cmVlKTsKLQlpZiAoIXdhc192YWxpZCkgewotCQlpZiAoY2FjaGVfdHJlZV91cGRhdGUoaW5kZXhfc3RhdGUsIGZsYWdzKSA8IDApIHsKLQkJCXJldCA9IFdSSVRFX1RSRUVfVU5NRVJHRURfSU5ERVg7Ci0JCQlnb3RvIG91dDsKLQkJfQorCXJldCA9IHdyaXRlX2luZGV4X2FzX3RyZWVfaW50ZXJuYWwob2lkLCBpbmRleF9zdGF0ZSwgd2FzX3ZhbGlkLCBmbGFncywKKwkJCQkJICAgcHJlZml4KTsKKwlpZiAoIXJldCAmJiAhd2FzX3ZhbGlkKSB7CiAJCXdyaXRlX2xvY2tlZF9pbmRleChpbmRleF9zdGF0ZSwgJmxvY2tfZmlsZSwgQ09NTUlUX0xPQ0spOwogCQkvKiBOb3QgYmVpbmcgYWJsZSB0byB3cml0ZSBpcyBmaW5lIC0tIHdlIGFyZSBvbmx5IGludGVyZXN0ZWQKIAkJICogaW4gdXBkYXRpbmcgdGhlIGNhY2hlLXRyZWUgcGFydCwgYW5kIGlmIHRoZSBuZXh0IGNhbGxlcgpAQCAtNjQyLDI0ICs2OTYsMTQgQEAKIAkJICovCiAJfQogCi0JaWYgKHByZWZpeCkgewotCQlzdHJ1Y3QgY2FjaGVfdHJlZSAqc3VidHJlZTsKLQkJc3VidHJlZSA9IGNhY2hlX3RyZWVfZmluZChpbmRleF9zdGF0ZS0+Y2FjaGVfdHJlZSwgcHJlZml4KTsKLQkJaWYgKCFzdWJ0cmVlKSB7Ci0JCQlyZXQgPSBXUklURV9UUkVFX1BSRUZJWF9FUlJPUjsKLQkJCWdvdG8gb3V0OwotCQl9Ci0JCW9pZGNweShvaWQsICZzdWJ0cmVlLT5vaWQpOwotCX0KLQllbHNlCi0JCW9pZGNweShvaWQsICZpbmRleF9zdGF0ZS0+Y2FjaGVfdHJlZS0+b2lkKTsKLQogb3V0OgogCXJvbGxiYWNrX2xvY2tfZmlsZSgmbG9ja19maWxlKTsKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgdm9pZCBwcmltZV9jYWNoZV90cmVlX3JlYyhzdHJ1Y3QgY2FjaGVfdHJlZSAqaXQsIHN0cnVjdCB0cmVlICp0cmVlKQorc3RhdGljIHZvaWQgcHJpbWVfY2FjaGVfdHJlZV9yZWMoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJIHN0cnVjdCBjYWNoZV90cmVlICppdCwKKwkJCQkgc3RydWN0IHRyZWUgKnRyZWUpCiB7CiAJc3RydWN0IHRyZWVfZGVzYyBkZXNjOwogCXN0cnVjdCBuYW1lX2VudHJ5IGVudHJ5OwpAQCAtNjczLDI0ICs3MTcsMjUgQEAKIAkJCWNudCsrOwogCQllbHNlIHsKIAkJCXN0cnVjdCBjYWNoZV90cmVlX3N1YiAqc3ViOwotCQkJc3RydWN0IHRyZWUgKnN1YnRyZWUgPSBsb29rdXBfdHJlZSh0aGVfcmVwb3NpdG9yeSwKLQkJCQkJCQkgICBlbnRyeS5vaWQpOworCQkJc3RydWN0IHRyZWUgKnN1YnRyZWUgPSBsb29rdXBfdHJlZShyLCAmZW50cnkub2lkKTsKIAkJCWlmICghc3VidHJlZS0+b2JqZWN0LnBhcnNlZCkKIAkJCQlwYXJzZV90cmVlKHN1YnRyZWUpOwogCQkJc3ViID0gY2FjaGVfdHJlZV9zdWIoaXQsIGVudHJ5LnBhdGgpOwogCQkJc3ViLT5jYWNoZV90cmVlID0gY2FjaGVfdHJlZSgpOwotCQkJcHJpbWVfY2FjaGVfdHJlZV9yZWMoc3ViLT5jYWNoZV90cmVlLCBzdWJ0cmVlKTsKKwkJCXByaW1lX2NhY2hlX3RyZWVfcmVjKHIsIHN1Yi0+Y2FjaGVfdHJlZSwgc3VidHJlZSk7CiAJCQljbnQgKz0gc3ViLT5jYWNoZV90cmVlLT5lbnRyeV9jb3VudDsKIAkJfQogCX0KIAlpdC0+ZW50cnlfY291bnQgPSBjbnQ7CiB9CiAKLXZvaWQgcHJpbWVfY2FjaGVfdHJlZShzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgc3RydWN0IHRyZWUgKnRyZWUpCit2b2lkIHByaW1lX2NhY2hlX3RyZWUoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCSAgICAgIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkgICAgICBzdHJ1Y3QgdHJlZSAqdHJlZSkKIHsKIAljYWNoZV90cmVlX2ZyZWUoJmlzdGF0ZS0+Y2FjaGVfdHJlZSk7CiAJaXN0YXRlLT5jYWNoZV90cmVlID0gY2FjaGVfdHJlZSgpOwotCXByaW1lX2NhY2hlX3RyZWVfcmVjKGlzdGF0ZS0+Y2FjaGVfdHJlZSwgdHJlZSk7CisJcHJpbWVfY2FjaGVfdHJlZV9yZWMociwgaXN0YXRlLT5jYWNoZV90cmVlLCB0cmVlKTsKIAlpc3RhdGUtPmNhY2hlX2NoYW5nZWQgfD0gQ0FDSEVfVFJFRV9DSEFOR0VEOwogfQogCkBAIC03MTAsNyArNzU1LDcgQEAKIAlpZiAoIWluZm8tPnByZXYpCiAJCXJldHVybiByb290OwogCW91cl9wYXJlbnQgPSBmaW5kX2NhY2hlX3RyZWVfZnJvbV90cmF2ZXJzYWwocm9vdCwgaW5mby0+cHJldik7Ci0JcmV0dXJuIGNhY2hlX3RyZWVfZmluZChvdXJfcGFyZW50LCBpbmZvLT5uYW1lLnBhdGgpOworCXJldHVybiBjYWNoZV90cmVlX2ZpbmQob3VyX3BhcmVudCwgaW5mby0+bmFtZSk7CiB9CiAKIGludCBjYWNoZV90cmVlX21hdGNoZXNfdHJhdmVyc2FsKHN0cnVjdCBjYWNoZV90cmVlICpyb290LApAQCAtNzIxLDEyICs3NjYsMTMgQEAKIAogCWl0ID0gZmluZF9jYWNoZV90cmVlX2Zyb21fdHJhdmVyc2FsKHJvb3QsIGluZm8pOwogCWl0ID0gY2FjaGVfdHJlZV9maW5kKGl0LCBlbnQtPnBhdGgpOwotCWlmIChpdCAmJiBpdC0+ZW50cnlfY291bnQgPiAwICYmIG9pZGVxKGVudC0+b2lkLCAmaXQtPm9pZCkpCisJaWYgKGl0ICYmIGl0LT5lbnRyeV9jb3VudCA+IDAgJiYgb2lkZXEoJmVudC0+b2lkLCAmaXQtPm9pZCkpCiAJCXJldHVybiBpdC0+ZW50cnlfY291bnQ7CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIHZlcmlmeV9vbmUoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCitzdGF0aWMgdm9pZCB2ZXJpZnlfb25lKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkgICAgICAgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCiAJCSAgICAgICBzdHJ1Y3QgY2FjaGVfdHJlZSAqaXQsCiAJCSAgICAgICBzdHJ1Y3Qgc3RyYnVmICpwYXRoKQogewpAQCAtNzM2LDEzICs3ODIsMTMgQEAKIAogCWZvciAoaSA9IDA7IGkgPCBpdC0+c3VidHJlZV9ucjsgaSsrKSB7CiAJCXN0cmJ1Zl9hZGRmKHBhdGgsICIlcy8iLCBpdC0+ZG93bltpXS0+bmFtZSk7Ci0JCXZlcmlmeV9vbmUoaXN0YXRlLCBpdC0+ZG93bltpXS0+Y2FjaGVfdHJlZSwgcGF0aCk7CisJCXZlcmlmeV9vbmUociwgaXN0YXRlLCBpdC0+ZG93bltpXS0+Y2FjaGVfdHJlZSwgcGF0aCk7CiAJCXN0cmJ1Zl9zZXRsZW4ocGF0aCwgbGVuKTsKIAl9CiAKIAlpZiAoaXQtPmVudHJ5X2NvdW50IDwgMCB8fAogCSAgICAvKiBubyB2ZXJpZmljYXRpb24gb24gdGVzdHMgKHQ3MDAzKSB0aGF0IHJlcGxhY2UgdHJlZXMgKi8KLQkgICAgbG9va3VwX3JlcGxhY2Vfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCAmaXQtPm9pZCkgIT0gJml0LT5vaWQpCisJICAgIGxvb2t1cF9yZXBsYWNlX29iamVjdChyLCAmaXQtPm9pZCkgIT0gJml0LT5vaWQpCiAJCXJldHVybjsKIAogCWlmIChwYXRoLT5sZW4pIHsKQEAgLTc4Miw5ICs4MjgsMTAgQEAKIAkJCWkrKzsKIAkJfQogCQlzdHJidWZfYWRkZigmdHJlZV9idWYsICIlbyAlLipzJWMiLCBtb2RlLCBlbnRsZW4sIG5hbWUsICdcMCcpOwotCQlzdHJidWZfYWRkKCZ0cmVlX2J1Ziwgb2lkLT5oYXNoLCB0aGVfaGFzaF9hbGdvLT5yYXdzeik7CisJCXN0cmJ1Zl9hZGQoJnRyZWVfYnVmLCBvaWQtPmhhc2gsIHItPmhhc2hfYWxnby0+cmF3c3opOwogCX0KLQloYXNoX29iamVjdF9maWxlKHRyZWVfYnVmLmJ1ZiwgdHJlZV9idWYubGVuLCB0cmVlX3R5cGUsICZuZXdfb2lkKTsKKwloYXNoX29iamVjdF9maWxlKHItPmhhc2hfYWxnbywgdHJlZV9idWYuYnVmLCB0cmVlX2J1Zi5sZW4sIHRyZWVfdHlwZSwKKwkJCSAmbmV3X29pZCk7CiAJaWYgKCFvaWRlcSgmbmV3X29pZCwgJml0LT5vaWQpKQogCQlCVUcoImNhY2hlLXRyZWUgZm9yIHBhdGggJS4qcyBkb2VzIG5vdCBtYXRjaC4gIgogCQkgICAgIkV4cGVjdGVkICVzIGdvdCAlcyIsIGxlbiwgcGF0aC0+YnVmLApAQCAtNzkzLDEyICs4NDAsMTIgQEAKIAlzdHJidWZfcmVsZWFzZSgmdHJlZV9idWYpOwogfQogCi12b2lkIGNhY2hlX3RyZWVfdmVyaWZ5KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKQordm9pZCBjYWNoZV90cmVlX3ZlcmlmeShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpCiB7CiAJc3RydWN0IHN0cmJ1ZiBwYXRoID0gU1RSQlVGX0lOSVQ7CiAKIAlpZiAoIWlzdGF0ZS0+Y2FjaGVfdHJlZSkKIAkJcmV0dXJuOwotCXZlcmlmeV9vbmUoaXN0YXRlLCBpc3RhdGUtPmNhY2hlX3RyZWUsICZwYXRoKTsKKwl2ZXJpZnlfb25lKHIsIGlzdGF0ZSwgaXN0YXRlLT5jYWNoZV90cmVlLCAmcGF0aCk7CiAJc3RyYnVmX3JlbGVhc2UoJnBhdGgpOwogfQpkaWZmIC0tZ2l0IGEvY2FjaGUtdHJlZS5oIGIvY2FjaGUtdHJlZS5oCmluZGV4IDBhYjY3ODQuLjYzOWJmYTUgMTAwNjQ0Ci0tLSBhL2NhY2hlLXRyZWUuaAorKysgYi9jYWNoZS10cmVlLmgKQEAgLTMyLDkgKzMyLDkgQEAKIAogaW50IGNhY2hlX3RyZWVfZnVsbHlfdmFsaWQoc3RydWN0IGNhY2hlX3RyZWUgKik7CiBpbnQgY2FjaGVfdHJlZV91cGRhdGUoc3RydWN0IGluZGV4X3N0YXRlICosIGludCk7Ci12b2lkIGNhY2hlX3RyZWVfdmVyaWZ5KHN0cnVjdCBpbmRleF9zdGF0ZSAqKTsKK3ZvaWQgY2FjaGVfdHJlZV92ZXJpZnkoc3RydWN0IHJlcG9zaXRvcnkgKiwgc3RydWN0IGluZGV4X3N0YXRlICopOwogCi0vKiBiaXRtYXNrcyB0byB3cml0ZV9jYWNoZV9hc190cmVlIGZsYWdzICovCisvKiBiaXRtYXNrcyB0byB3cml0ZV9pbmRleF9hc190cmVlIGZsYWdzICovCiAjZGVmaW5lIFdSSVRFX1RSRUVfTUlTU0lOR19PSyAxCiAjZGVmaW5lIFdSSVRFX1RSRUVfSUdOT1JFX0NBQ0hFX1RSRUUgMgogI2RlZmluZSBXUklURV9UUkVFX0RSWV9SVU4gNApAQCAtNDYsMTIgKzQ2LDEzIEBACiAjZGVmaW5lIFdSSVRFX1RSRUVfVU5NRVJHRURfSU5ERVggKC0yKQogI2RlZmluZSBXUklURV9UUkVFX1BSRUZJWF9FUlJPUiAoLTMpCiAKK3N0cnVjdCB0cmVlKiB3cml0ZV9pbl9jb3JlX2luZGV4X2FzX3RyZWUoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8pOwogaW50IHdyaXRlX2luZGV4X2FzX3RyZWUoc3RydWN0IG9iamVjdF9pZCAqb2lkLCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmluZGV4X3N0YXRlLCBjb25zdCBjaGFyICppbmRleF9wYXRoLCBpbnQgZmxhZ3MsIGNvbnN0IGNoYXIgKnByZWZpeCk7Ci12b2lkIHByaW1lX2NhY2hlX3RyZWUoc3RydWN0IGluZGV4X3N0YXRlICosIHN0cnVjdCB0cmVlICopOwordm9pZCBwcmltZV9jYWNoZV90cmVlKHN0cnVjdCByZXBvc2l0b3J5ICosIHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBzdHJ1Y3QgdHJlZSAqKTsKIAogaW50IGNhY2hlX3RyZWVfbWF0Y2hlc190cmF2ZXJzYWwoc3RydWN0IGNhY2hlX3RyZWUgKiwgc3RydWN0IG5hbWVfZW50cnkgKmVudCwgc3RydWN0IHRyYXZlcnNlX2luZm8gKmluZm8pOwogCi0jaWZuZGVmIE5PX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUworI2lmZGVmIFVTRV9USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKIHN0YXRpYyBpbmxpbmUgaW50IHdyaXRlX2NhY2hlX2FzX3RyZWUoc3RydWN0IG9iamVjdF9pZCAqb2lkLCBpbnQgZmxhZ3MsIGNvbnN0IGNoYXIgKnByZWZpeCkKIHsKIAlyZXR1cm4gd3JpdGVfaW5kZXhfYXNfdHJlZShvaWQsICZ0aGVfaW5kZXgsIGdldF9pbmRleF9maWxlKCksIGZsYWdzLCBwcmVmaXgpOwpkaWZmIC0tZ2l0IGEvY2FjaGUuaCBiL2NhY2hlLmgKaW5kZXggY2EzNmI0NC4uMzdjODk5YiAxMDA2NDQKLS0tIGEvY2FjaGUuaAorKysgYi9jYWNoZS5oCkBAIC05LDYgKzksNyBAQAogI2luY2x1ZGUgImdldHRleHQuaCIKICNpbmNsdWRlICJjb252ZXJ0LmgiCiAjaW5jbHVkZSAidHJhY2UuaCIKKyNpbmNsdWRlICJ0cmFjZTIuaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgogI2luY2x1ZGUgInBhY2stcmV2aW5kZXguaCIKICNpbmNsdWRlICJoYXNoLmgiCkBAIC00MiwyMCArNDMsNiBAQAogaW50IGdpdF9kZWZsYXRlKGdpdF96c3RyZWFtICosIGludCBmbHVzaCk7CiB1bnNpZ25lZCBsb25nIGdpdF9kZWZsYXRlX2JvdW5kKGdpdF96c3RyZWFtICosIHVuc2lnbmVkIGxvbmcpOwogCi0vKiBUaGUgbGVuZ3RoIGluIGJ5dGVzIGFuZCBpbiBoZXggZGlnaXRzIG9mIGFuIG9iamVjdCBuYW1lIChTSEEtMSB2YWx1ZSkuICovCi0jZGVmaW5lIEdJVF9TSEExX1JBV1NaIDIwCi0jZGVmaW5lIEdJVF9TSEExX0hFWFNaICgyICogR0lUX1NIQTFfUkFXU1opCi0KLS8qIFRoZSBsZW5ndGggaW4gYnl0ZSBhbmQgaW4gaGV4IGRpZ2l0cyBvZiB0aGUgbGFyZ2VzdCBwb3NzaWJsZSBoYXNoIHZhbHVlLiAqLwotI2RlZmluZSBHSVRfTUFYX1JBV1NaIEdJVF9TSEExX1JBV1NaCi0jZGVmaW5lIEdJVF9NQVhfSEVYU1ogR0lUX1NIQTFfSEVYU1oKLQotc3RydWN0IG9iamVjdF9pZCB7Ci0JdW5zaWduZWQgY2hhciBoYXNoW0dJVF9NQVhfUkFXU1pdOwotfTsKLQotI2RlZmluZSB0aGVfaGFzaF9hbGdvIHRoZV9yZXBvc2l0b3J5LT5oYXNoX2FsZ28KLQogI2lmIGRlZmluZWQoRFRfVU5LTk9XTikgJiYgIWRlZmluZWQoTk9fRF9UWVBFX0lOX0RJUkVOVCkKICNkZWZpbmUgRFRZUEUoZGUpCSgoZGUpLT5kX3R5cGUpCiAjZWxzZQpAQCAtMzE3LDYgKzMwNCw3IEBACiAKIHN0cnVjdCBzcGxpdF9pbmRleDsKIHN0cnVjdCB1bnRyYWNrZWRfY2FjaGU7CitzdHJ1Y3QgcHJvZ3Jlc3M7CiAKIHN0cnVjdCBpbmRleF9zdGF0ZSB7CiAJc3RydWN0IGNhY2hlX2VudHJ5ICoqY2FjaGU7CkBAIC0zMjgsMjMgKzMxNiwyNSBAQAogCXN0cnVjdCBjYWNoZV90aW1lIHRpbWVzdGFtcDsKIAl1bnNpZ25lZCBuYW1lX2hhc2hfaW5pdGlhbGl6ZWQgOiAxLAogCQkgaW5pdGlhbGl6ZWQgOiAxLAotCQkgZHJvcF9jYWNoZV90cmVlIDogMTsKKwkJIGRyb3BfY2FjaGVfdHJlZSA6IDEsCisJCSB1cGRhdGVkX3dvcmtkaXIgOiAxLAorCQkgdXBkYXRlZF9za2lwd29ya3RyZWUgOiAxLAorCQkgZnNtb25pdG9yX2hhc19ydW5fb25jZSA6IDE7CiAJc3RydWN0IGhhc2htYXAgbmFtZV9oYXNoOwogCXN0cnVjdCBoYXNobWFwIGRpcl9oYXNoOwogCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCXN0cnVjdCB1bnRyYWNrZWRfY2FjaGUgKnVudHJhY2tlZDsKLQl1aW50NjRfdCBmc21vbml0b3JfbGFzdF91cGRhdGU7CisJY2hhciAqZnNtb25pdG9yX2xhc3RfdXBkYXRlOwogCXN0cnVjdCBld2FoX2JpdG1hcCAqZnNtb25pdG9yX2RpcnR5OwogCXN0cnVjdCBtZW1fcG9vbCAqY2VfbWVtX3Bvb2w7CisJc3RydWN0IHByb2dyZXNzICpwcm9ncmVzczsKIH07CiAKLWV4dGVybiBzdHJ1Y3QgaW5kZXhfc3RhdGUgdGhlX2luZGV4OwotCiAvKiBOYW1lIGhhc2hpbmcgKi8KLWV4dGVybiBpbnQgdGVzdF9sYXp5X2luaXRfbmFtZV9oYXNoKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBpbnQgdHJ5X3RocmVhZGVkKTsKLWV4dGVybiB2b2lkIGFkZF9uYW1lX2hhc2goc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UpOwotZXh0ZXJuIHZvaWQgcmVtb3ZlX25hbWVfaGFzaChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSk7Ci1leHRlcm4gdm9pZCBmcmVlX25hbWVfaGFzaChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSk7CitpbnQgdGVzdF9sYXp5X2luaXRfbmFtZV9oYXNoKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBpbnQgdHJ5X3RocmVhZGVkKTsKK3ZvaWQgYWRkX25hbWVfaGFzaChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSk7Cit2b2lkIHJlbW92ZV9uYW1lX2hhc2goc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UpOwordm9pZCBmcmVlX25hbWVfaGFzaChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSk7CiAKIAogLyogQ2FjaGUgZW50cnkgY3JlYXRpb24gYW5kIGNsZWFudXAgKi8KQEAgLTQwMSwxOCArMzkxLDIwIEBACiAgKi8KIHZvaWQgdmFsaWRhdGVfY2FjaGVfZW50cmllcyhjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSk7CiAKLSNpZm5kZWYgTk9fVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCisjaWZkZWYgVVNFX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUworZXh0ZXJuIHN0cnVjdCBpbmRleF9zdGF0ZSB0aGVfaW5kZXg7CisKICNkZWZpbmUgYWN0aXZlX2NhY2hlICh0aGVfaW5kZXguY2FjaGUpCiAjZGVmaW5lIGFjdGl2ZV9uciAodGhlX2luZGV4LmNhY2hlX25yKQogI2RlZmluZSBhY3RpdmVfYWxsb2MgKHRoZV9pbmRleC5jYWNoZV9hbGxvYykKICNkZWZpbmUgYWN0aXZlX2NhY2hlX2NoYW5nZWQgKHRoZV9pbmRleC5jYWNoZV9jaGFuZ2VkKQogI2RlZmluZSBhY3RpdmVfY2FjaGVfdHJlZSAodGhlX2luZGV4LmNhY2hlX3RyZWUpCiAKLSNkZWZpbmUgcmVhZF9jYWNoZSgpIHJlYWRfaW5kZXgoJnRoZV9pbmRleCkKKyNkZWZpbmUgcmVhZF9jYWNoZSgpIHJlcG9fcmVhZF9pbmRleCh0aGVfcmVwb3NpdG9yeSkKICNkZWZpbmUgcmVhZF9jYWNoZV9mcm9tKHBhdGgpIHJlYWRfaW5kZXhfZnJvbSgmdGhlX2luZGV4LCAocGF0aCksIChnZXRfZ2l0X2RpcigpKSkKLSNkZWZpbmUgcmVhZF9jYWNoZV9wcmVsb2FkKHBhdGhzcGVjKSByZWFkX2luZGV4X3ByZWxvYWQoJnRoZV9pbmRleCwgKHBhdGhzcGVjKSwgMCkKKyNkZWZpbmUgcmVhZF9jYWNoZV9wcmVsb2FkKHBhdGhzcGVjKSByZXBvX3JlYWRfaW5kZXhfcHJlbG9hZCh0aGVfcmVwb3NpdG9yeSwgKHBhdGhzcGVjKSwgMCkKICNkZWZpbmUgaXNfY2FjaGVfdW5ib3JuKCkgaXNfaW5kZXhfdW5ib3JuKCZ0aGVfaW5kZXgpCi0jZGVmaW5lIHJlYWRfY2FjaGVfdW5tZXJnZWQoKSByZWFkX2luZGV4X3VubWVyZ2VkKCZ0aGVfaW5kZXgpCisjZGVmaW5lIHJlYWRfY2FjaGVfdW5tZXJnZWQoKSByZXBvX3JlYWRfaW5kZXhfdW5tZXJnZWQodGhlX3JlcG9zaXRvcnkpCiAjZGVmaW5lIGRpc2NhcmRfY2FjaGUoKSBkaXNjYXJkX2luZGV4KCZ0aGVfaW5kZXgpCiAjZGVmaW5lIHVubWVyZ2VkX2NhY2hlKCkgdW5tZXJnZWRfaW5kZXgoJnRoZV9pbmRleCkKICNkZWZpbmUgY2FjaGVfbmFtZV9wb3MobmFtZSwgbmFtZWxlbikgaW5kZXhfbmFtZV9wb3MoJnRoZV9pbmRleCwobmFtZSksKG5hbWVsZW4pKQpAQCAtNDI0LDYgKzQxNiw3IEBACiAjZGVmaW5lIGFkZF9maWxlX3RvX2NhY2hlKHBhdGgsIGZsYWdzKSBhZGRfZmlsZV90b19pbmRleCgmdGhlX2luZGV4LCAocGF0aCksIChmbGFncykpCiAjZGVmaW5lIGNobW9kX2NhY2hlX2VudHJ5KGNlLCBmbGlwKSBjaG1vZF9pbmRleF9lbnRyeSgmdGhlX2luZGV4LCAoY2UpLCAoZmxpcCkpCiAjZGVmaW5lIHJlZnJlc2hfY2FjaGUoZmxhZ3MpIHJlZnJlc2hfaW5kZXgoJnRoZV9pbmRleCwgKGZsYWdzKSwgTlVMTCwgTlVMTCwgTlVMTCkKKyNkZWZpbmUgcmVmcmVzaF9hbmRfd3JpdGVfY2FjaGUocmVmcmVzaF9mbGFncywgd3JpdGVfZmxhZ3MsIGdlbnRsZSkgcmVwb19yZWZyZXNoX2FuZF93cml0ZV9pbmRleCh0aGVfcmVwb3NpdG9yeSwgKHJlZnJlc2hfZmxhZ3MpLCAod3JpdGVfZmxhZ3MpLCAoZ2VudGxlKSwgTlVMTCwgTlVMTCwgTlVMTCkKICNkZWZpbmUgY2VfbWF0Y2hfc3RhdChjZSwgc3QsIG9wdGlvbnMpIGllX21hdGNoX3N0YXQoJnRoZV9pbmRleCwgKGNlKSwgKHN0KSwgKG9wdGlvbnMpKQogI2RlZmluZSBjZV9tb2RpZmllZChjZSwgc3QsIG9wdGlvbnMpIGllX21vZGlmaWVkKCZ0aGVfaW5kZXgsIChjZSksIChzdCksIChvcHRpb25zKSkKICNkZWZpbmUgY2FjaGVfZGlyX2V4aXN0cyhuYW1lLCBuYW1lbGVuKSBpbmRleF9kaXJfZXhpc3RzKCZ0aGVfaW5kZXgsIChuYW1lKSwgKG5hbWVsZW4pKQpAQCAtNDMzLDYgKzQyNiw3IEBACiAjZGVmaW5lIHVubWVyZ2VfY2FjaGVfZW50cnlfYXQoYXQpIHVubWVyZ2VfaW5kZXhfZW50cnlfYXQoJnRoZV9pbmRleCwgYXQpCiAjZGVmaW5lIHVubWVyZ2VfY2FjaGUocGF0aHNwZWMpIHVubWVyZ2VfaW5kZXgoJnRoZV9pbmRleCwgcGF0aHNwZWMpCiAjZGVmaW5lIHJlYWRfYmxvYl9kYXRhX2Zyb21fY2FjaGUocGF0aCwgc3opIHJlYWRfYmxvYl9kYXRhX2Zyb21faW5kZXgoJnRoZV9pbmRleCwgKHBhdGgpLCAoc3opKQorI2RlZmluZSBob2xkX2xvY2tlZF9pbmRleChsb2NrX2ZpbGUsIGZsYWdzKSByZXBvX2hvbGRfbG9ja2VkX2luZGV4KHRoZV9yZXBvc2l0b3J5LCAobG9ja19maWxlKSwgKGZsYWdzKSkKICNlbmRpZgogCiAjZGVmaW5lIFRZUEVfQklUUyAzCkBAIC01MzEsNyArNTI1LDcgQEAKICAqLwogZXh0ZXJuIGNvbnN0IGNoYXIgKiBjb25zdCBsb2NhbF9yZXBvX2VudltdOwogCi1leHRlcm4gdm9pZCBzZXR1cF9naXRfZW52KGNvbnN0IGNoYXIgKmdpdF9kaXIpOwordm9pZCBzZXR1cF9naXRfZW52KGNvbnN0IGNoYXIgKmdpdF9kaXIpOwogCiAvKgogICogUmV0dXJucyB0cnVlIGlmZiB3ZSBoYXZlIGEgY29uZmlndXJlZCBnaXQgcmVwb3NpdG9yeSAoZWl0aGVyIHZpYQpAQCAtNTQwLDI5ICs1MzQsMjkgQEAKIGludCBoYXZlX2dpdF9kaXIodm9pZCk7CiAKIGV4dGVybiBpbnQgaXNfYmFyZV9yZXBvc2l0b3J5X2NmZzsKLWV4dGVybiBpbnQgaXNfYmFyZV9yZXBvc2l0b3J5KHZvaWQpOwotZXh0ZXJuIGludCBpc19pbnNpZGVfZ2l0X2Rpcih2b2lkKTsKK2ludCBpc19iYXJlX3JlcG9zaXRvcnkodm9pZCk7CitpbnQgaXNfaW5zaWRlX2dpdF9kaXIodm9pZCk7CiBleHRlcm4gY2hhciAqZ2l0X3dvcmtfdHJlZV9jZmc7Ci1leHRlcm4gaW50IGlzX2luc2lkZV93b3JrX3RyZWUodm9pZCk7Ci1leHRlcm4gY29uc3QgY2hhciAqZ2V0X2dpdF9kaXIodm9pZCk7Ci1leHRlcm4gY29uc3QgY2hhciAqZ2V0X2dpdF9jb21tb25fZGlyKHZvaWQpOwotZXh0ZXJuIGNoYXIgKmdldF9vYmplY3RfZGlyZWN0b3J5KHZvaWQpOwotZXh0ZXJuIGNoYXIgKmdldF9pbmRleF9maWxlKHZvaWQpOwotZXh0ZXJuIGNoYXIgKmdldF9ncmFmdF9maWxlKHN0cnVjdCByZXBvc2l0b3J5ICpyKTsKLWV4dGVybiB2b2lkIHNldF9naXRfZGlyKGNvbnN0IGNoYXIgKnBhdGgpOwotZXh0ZXJuIGludCBnZXRfY29tbW9uX2Rpcl9ub2VudihzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqZ2l0ZGlyKTsKLWV4dGVybiBpbnQgZ2V0X2NvbW1vbl9kaXIoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKmdpdGRpcik7Ci1leHRlcm4gY29uc3QgY2hhciAqZ2V0X2dpdF9uYW1lc3BhY2Uodm9pZCk7Ci1leHRlcm4gY29uc3QgY2hhciAqc3RyaXBfbmFtZXNwYWNlKGNvbnN0IGNoYXIgKm5hbWVzcGFjZWRfcmVmKTsKLWV4dGVybiBjb25zdCBjaGFyICpnZXRfc3VwZXJfcHJlZml4KHZvaWQpOwotZXh0ZXJuIGNvbnN0IGNoYXIgKmdldF9naXRfd29ya190cmVlKHZvaWQpOworaW50IGlzX2luc2lkZV93b3JrX3RyZWUodm9pZCk7Citjb25zdCBjaGFyICpnZXRfZ2l0X2Rpcih2b2lkKTsKK2NvbnN0IGNoYXIgKmdldF9naXRfY29tbW9uX2Rpcih2b2lkKTsKK2NoYXIgKmdldF9vYmplY3RfZGlyZWN0b3J5KHZvaWQpOworY2hhciAqZ2V0X2luZGV4X2ZpbGUodm9pZCk7CitjaGFyICpnZXRfZ3JhZnRfZmlsZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcik7Cit2b2lkIHNldF9naXRfZGlyKGNvbnN0IGNoYXIgKnBhdGgpOworaW50IGdldF9jb21tb25fZGlyX25vZW52KHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpnaXRkaXIpOworaW50IGdldF9jb21tb25fZGlyKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpnaXRkaXIpOworY29uc3QgY2hhciAqZ2V0X2dpdF9uYW1lc3BhY2Uodm9pZCk7Citjb25zdCBjaGFyICpzdHJpcF9uYW1lc3BhY2UoY29uc3QgY2hhciAqbmFtZXNwYWNlZF9yZWYpOworY29uc3QgY2hhciAqZ2V0X3N1cGVyX3ByZWZpeCh2b2lkKTsKK2NvbnN0IGNoYXIgKmdldF9naXRfd29ya190cmVlKHZvaWQpOwogCiAvKgogICogUmV0dXJuIHRydWUgaWYgdGhlIGdpdmVuIHBhdGggaXMgYSBnaXQgZGlyZWN0b3J5OyBub3RlIHRoYXQgdGhpcyBfanVzdF8KICAqIGxvb2tzIGF0IHRoZSBkaXJlY3RvcnkgaXRzZWxmLiBJZiB5b3Ugd2FudCB0byBrbm93IHdoZXRoZXIgImZvby8uZ2l0IgogICogaXMgYSByZXBvc2l0b3J5LCB5b3UgbXVzdCBmZWVkIHRoYXQgcGF0aCwgbm90IGp1c3QgImZvbyIuCiAgKi8KLWV4dGVybiBpbnQgaXNfZ2l0X2RpcmVjdG9yeShjb25zdCBjaGFyICpwYXRoKTsKK2ludCBpc19naXRfZGlyZWN0b3J5KGNvbnN0IGNoYXIgKnBhdGgpOwogCiAvKgogICogUmV0dXJuIDEgaWYgdGhlIGdpdmVuIHBhdGggaXMgdGhlIHJvb3Qgb2YgYSBnaXQgcmVwb3NpdG9yeSBvcgpAQCAtNTc0LDcgKzU2OCw3IEBACiAgKiBhcyB3ZSB1c3VhbGx5IGNvbnNpZGVyIHN1Yi1yZXBvcyBwcmVjaW91cywgYW5kIHdvdWxkIHByZWZlciB0byBlcnIgb24gdGhlCiAgKiBzaWRlIG9mIG5vdCBkaXNydXB0aW5nIG9yIGRlbGV0aW5nIHRoZW0uCiAgKi8KLWV4dGVybiBpbnQgaXNfbm9uYmFyZV9yZXBvc2l0b3J5X2RpcihzdHJ1Y3Qgc3RyYnVmICpwYXRoKTsKK2ludCBpc19ub25iYXJlX3JlcG9zaXRvcnlfZGlyKHN0cnVjdCBzdHJidWYgKnBhdGgpOwogCiAjZGVmaW5lIFJFQURfR0lURklMRV9FUlJfU1RBVF9GQUlMRUQgMQogI2RlZmluZSBSRUFEX0dJVEZJTEVfRVJSX05PVF9BX0ZJTEUgMgpAQCAtNTg0LDE3ICs1NzgsMTcgQEAKICNkZWZpbmUgUkVBRF9HSVRGSUxFX0VSUl9OT19QQVRIIDYKICNkZWZpbmUgUkVBRF9HSVRGSUxFX0VSUl9OT1RfQV9SRVBPIDcKICNkZWZpbmUgUkVBRF9HSVRGSUxFX0VSUl9UT09fTEFSR0UgOAotZXh0ZXJuIHZvaWQgcmVhZF9naXRmaWxlX2Vycm9yX2RpZShpbnQgZXJyb3JfY29kZSwgY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqZGlyKTsKLWV4dGVybiBjb25zdCBjaGFyICpyZWFkX2dpdGZpbGVfZ2VudGx5KGNvbnN0IGNoYXIgKnBhdGgsIGludCAqcmV0dXJuX2Vycm9yX2NvZGUpOwordm9pZCByZWFkX2dpdGZpbGVfZXJyb3JfZGllKGludCBlcnJvcl9jb2RlLCBjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpkaXIpOworY29uc3QgY2hhciAqcmVhZF9naXRmaWxlX2dlbnRseShjb25zdCBjaGFyICpwYXRoLCBpbnQgKnJldHVybl9lcnJvcl9jb2RlKTsKICNkZWZpbmUgcmVhZF9naXRmaWxlKHBhdGgpIHJlYWRfZ2l0ZmlsZV9nZW50bHkoKHBhdGgpLCBOVUxMKQotZXh0ZXJuIGNvbnN0IGNoYXIgKnJlc29sdmVfZ2l0ZGlyX2dlbnRseShjb25zdCBjaGFyICpzdXNwZWN0LCBpbnQgKnJldHVybl9lcnJvcl9jb2RlKTsKK2NvbnN0IGNoYXIgKnJlc29sdmVfZ2l0ZGlyX2dlbnRseShjb25zdCBjaGFyICpzdXNwZWN0LCBpbnQgKnJldHVybl9lcnJvcl9jb2RlKTsKICNkZWZpbmUgcmVzb2x2ZV9naXRkaXIocGF0aCkgcmVzb2x2ZV9naXRkaXJfZ2VudGx5KChwYXRoKSwgTlVMTCkKIAotZXh0ZXJuIHZvaWQgc2V0X2dpdF93b3JrX3RyZWUoY29uc3QgY2hhciAqdHJlZSk7Cit2b2lkIHNldF9naXRfd29ya190cmVlKGNvbnN0IGNoYXIgKnRyZWUpOwogCiAjZGVmaW5lIEFMVEVSTkFURV9EQl9FTlZJUk9OTUVOVCAiR0lUX0FMVEVSTkFURV9PQkpFQ1RfRElSRUNUT1JJRVMiCiAKLWV4dGVybiB2b2lkIHNldHVwX3dvcmtfdHJlZSh2b2lkKTsKK3ZvaWQgc2V0dXBfd29ya190cmVlKHZvaWQpOwogLyoKICAqIEZpbmQgdGhlIGNvbW1vbmRpciBhbmQgZ2l0ZGlyIG9mIHRoZSByZXBvc2l0b3J5IHRoYXQgY29udGFpbnMgdGhlIGN1cnJlbnQKICAqIHdvcmtpbmcgZGlyZWN0b3J5LCB3aXRob3V0IGNoYW5naW5nIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBvciBvdGhlciBnbG9iYWwKQEAgLTYwMywxMiArNTk3LDEyIEBACiAgKiBib3RoIGhhdmUgdGhlIHNhbWUgcmVzdWx0IGFwcGVuZGVkIHRvIHRoZSBidWZmZXIuICBUaGUgcmV0dXJuIHZhbHVlIGlzCiAgKiBlaXRoZXIgMCB1cG9uIHN1Y2Nlc3MgYW5kIG5vbi16ZXJvIGlmIG5vIHJlcG9zaXRvcnkgd2FzIGZvdW5kLgogICovCi1leHRlcm4gaW50IGRpc2NvdmVyX2dpdF9kaXJlY3Rvcnkoc3RydWN0IHN0cmJ1ZiAqY29tbW9uZGlyLAotCQkJCSAgc3RydWN0IHN0cmJ1ZiAqZ2l0ZGlyKTsKLWV4dGVybiBjb25zdCBjaGFyICpzZXR1cF9naXRfZGlyZWN0b3J5X2dlbnRseShpbnQgKik7Ci1leHRlcm4gY29uc3QgY2hhciAqc2V0dXBfZ2l0X2RpcmVjdG9yeSh2b2lkKTsKLWV4dGVybiBjaGFyICpwcmVmaXhfcGF0aChjb25zdCBjaGFyICpwcmVmaXgsIGludCBsZW4sIGNvbnN0IGNoYXIgKnBhdGgpOwotZXh0ZXJuIGNoYXIgKnByZWZpeF9wYXRoX2dlbnRseShjb25zdCBjaGFyICpwcmVmaXgsIGludCBsZW4sIGludCAqcmVtYWluaW5nLCBjb25zdCBjaGFyICpwYXRoKTsKK2ludCBkaXNjb3Zlcl9naXRfZGlyZWN0b3J5KHN0cnVjdCBzdHJidWYgKmNvbW1vbmRpciwKKwkJCSAgIHN0cnVjdCBzdHJidWYgKmdpdGRpcik7Citjb25zdCBjaGFyICpzZXR1cF9naXRfZGlyZWN0b3J5X2dlbnRseShpbnQgKik7Citjb25zdCBjaGFyICpzZXR1cF9naXRfZGlyZWN0b3J5KHZvaWQpOworY2hhciAqcHJlZml4X3BhdGgoY29uc3QgY2hhciAqcHJlZml4LCBpbnQgbGVuLCBjb25zdCBjaGFyICpwYXRoKTsKK2NoYXIgKnByZWZpeF9wYXRoX2dlbnRseShjb25zdCBjaGFyICpwcmVmaXgsIGludCBsZW4sIGludCAqcmVtYWluaW5nLCBjb25zdCBjaGFyICpwYXRoKTsKIAogLyoKICAqIENvbmNhdGVuYXRlICJwcmVmaXgiIChpZiBsZW4gaXMgbm9uLXplcm8pIGFuZCAicGF0aCIsIHdpdGggbm8KQEAgLTYyMCwzMCArNjE0LDY2IEBACiAgKiBUaGUgcmV0dXJuIHZhbHVlIGlzIGFsd2F5cyBhIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcgKGV2ZW4gaWYgdGhlCiAgKiBwcmVmaXggd2FzIGVtcHR5KS4KICAqLwotZXh0ZXJuIGNoYXIgKnByZWZpeF9maWxlbmFtZShjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKnBhdGgpOworY2hhciAqcHJlZml4X2ZpbGVuYW1lKGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqcGF0aCk7CiAKLWV4dGVybiBpbnQgY2hlY2tfZmlsZW5hbWUoY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICpuYW1lKTsKLWV4dGVybiB2b2lkIHZlcmlmeV9maWxlbmFtZShjb25zdCBjaGFyICpwcmVmaXgsCi0JCQkgICAgY29uc3QgY2hhciAqbmFtZSwKLQkJCSAgICBpbnQgZGlhZ25vc2VfbWlzc3BlbHRfcmV2KTsKLWV4dGVybiB2b2lkIHZlcmlmeV9ub25fZmlsZW5hbWUoY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICpuYW1lKTsKLWV4dGVybiBpbnQgcGF0aF9pbnNpZGVfcmVwbyhjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKnBhdGgpOworaW50IGNoZWNrX2ZpbGVuYW1lKGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqbmFtZSk7Cit2b2lkIHZlcmlmeV9maWxlbmFtZShjb25zdCBjaGFyICpwcmVmaXgsCisJCSAgICAgY29uc3QgY2hhciAqbmFtZSwKKwkJICAgICBpbnQgZGlhZ25vc2VfbWlzc3BlbHRfcmV2KTsKK3ZvaWQgdmVyaWZ5X25vbl9maWxlbmFtZShjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKm5hbWUpOworaW50IHBhdGhfaW5zaWRlX3JlcG8oY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICpwYXRoKTsKIAogI2RlZmluZSBJTklUX0RCX1FVSUVUIDB4MDAwMQogI2RlZmluZSBJTklUX0RCX0VYSVNUX09LIDB4MDAwMgogCi1leHRlcm4gaW50IGluaXRfZGIoY29uc3QgY2hhciAqZ2l0X2RpciwgY29uc3QgY2hhciAqcmVhbF9naXRfZGlyLAotCQkgICBjb25zdCBjaGFyICp0ZW1wbGF0ZV9kaXIsIHVuc2lnbmVkIGludCBmbGFncyk7CitpbnQgaW5pdF9kYihjb25zdCBjaGFyICpnaXRfZGlyLCBjb25zdCBjaGFyICpyZWFsX2dpdF9kaXIsCisJICAgIGNvbnN0IGNoYXIgKnRlbXBsYXRlX2RpciwgdW5zaWduZWQgaW50IGZsYWdzKTsKIAotZXh0ZXJuIHZvaWQgc2FuaXRpemVfc3RkZmRzKHZvaWQpOwotZXh0ZXJuIGludCBkYWVtb25pemUodm9pZCk7Cit2b2lkIHNhbml0aXplX3N0ZGZkcyh2b2lkKTsKK2ludCBkYWVtb25pemUodm9pZCk7CiAKICNkZWZpbmUgYWxsb2NfbnIoeCkgKCgoeCkrMTYpKjMvMikKIAotLyoKLSAqIFJlYWxsb2MgdGhlIGJ1ZmZlciBwb2ludGVkIGF0IGJ5IHZhcmlhYmxlICd4JyBzbyB0aGF0IGl0IGNhbiBob2xkCi0gKiBhdCBsZWFzdCAnbnInIGVudHJpZXM7IHRoZSBudW1iZXIgb2YgZW50cmllcyBjdXJyZW50bHkgYWxsb2NhdGVkCi0gKiBpcyAnYWxsb2MnLCB1c2luZyB0aGUgc3RhbmRhcmQgZ3Jvd2luZyBmYWN0b3IgYWxsb2NfbnIoKSBtYWNyby4KKy8qKgorICogRHluYW1pY2FsbHkgZ3Jvd2luZyBhbiBhcnJheSB1c2luZyByZWFsbG9jKCkgaXMgZXJyb3IgcHJvbmUgYW5kIGJvcmluZy4KKyAqCisgKiBEZWZpbmUgeW91ciBhcnJheSB3aXRoOgorICoKKyAqIC0gYSBwb2ludGVyIChgaXRlbWApIHRoYXQgcG9pbnRzIGF0IHRoZSBhcnJheSwgaW5pdGlhbGl6ZWQgdG8gYE5VTExgCisgKiAgIChhbHRob3VnaCBwbGVhc2UgbmFtZSB0aGUgdmFyaWFibGUgYmFzZWQgb24gaXRzIGNvbnRlbnRzLCBub3Qgb24gaXRzCisgKiAgIHR5cGUpOworICoKKyAqIC0gYW4gaW50ZWdlciB2YXJpYWJsZSAoYGFsbG9jYCkgdGhhdCBrZWVwcyB0cmFjayBvZiBob3cgYmlnIHRoZSBjdXJyZW50CisgKiAgIGFsbG9jYXRpb24gaXMsIGluaXRpYWxpemVkIHRvIGAwYDsKKyAqCisgKiAtIGFub3RoZXIgaW50ZWdlciB2YXJpYWJsZSAoYG5yYCkgdG8ga2VlcCB0cmFjayBvZiBob3cgbWFueSBlbGVtZW50cyB0aGUKKyAqICAgYXJyYXkgY3VycmVudGx5IGhhcywgaW5pdGlhbGl6ZWQgdG8gYDBgLgorICoKKyAqIFRoZW4gYmVmb3JlIGFkZGluZyBgbmB0aCBlbGVtZW50IHRvIHRoZSBpdGVtLCBjYWxsIGBBTExPQ19HUk9XKGl0ZW0sIG4sCisgKiBhbGxvYylgLiAgVGhpcyBlbnN1cmVzIHRoYXQgdGhlIGFycmF5IGNhbiBob2xkIGF0IGxlYXN0IGBuYCBlbGVtZW50cyBieQorICogY2FsbGluZyBgcmVhbGxvYygzKWAgYW5kIGFkanVzdGluZyBgYWxsb2NgIHZhcmlhYmxlLgorICoKKyAqIC0tLS0tLS0tLS0tLQorICogc29tZXR5cGUgKml0ZW07CisgKiBzaXplX3QgbnI7CisgKiBzaXplX3QgYWxsb2MKKyAqCisgKiBmb3IgKGkgPSAwOyBpIDwgbnI7IGkrKykKKyAqIAlpZiAod2UgbGlrZSBpdGVtW2ldIGFscmVhZHkpCisgKiAJCXJldHVybjsKKyAqCisgKiAvLyB3ZSBkaWQgbm90IGxpa2UgYW55IGV4aXN0aW5nIG9uZSwgc28gYWRkIG9uZQorICogQUxMT0NfR1JPVyhpdGVtLCBuciArIDEsIGFsbG9jKTsKKyAqIGl0ZW1bbnIrK10gPSB2YWx1ZSB5b3UgbGlrZTsKKyAqIC0tLS0tLS0tLS0tLQorICoKKyAqIFlvdSBhcmUgcmVzcG9uc2libGUgZm9yIHVwZGF0aW5nIHRoZSBgbnJgIHZhcmlhYmxlLgorICoKKyAqIElmIHlvdSBuZWVkIHRvIHNwZWNpZnkgdGhlIG51bWJlciBvZiBlbGVtZW50cyB0byBhbGxvY2F0ZSBleHBsaWNpdGx5CisgKiB0aGVuIHVzZSB0aGUgbWFjcm8gYFJFQUxMT0NfQVJSQVkoaXRlbSwgYWxsb2MpYCBpbnN0ZWFkIG9mIGBBTExPQ19HUk9XYC4KKyAqCisgKiBDb25zaWRlciB1c2luZyBBTExPQ19HUk9XX0JZIGluc3RlYWQgb2YgQUxMT0NfR1JPVyBhcyBpdCBoYXMgc29tZQorICogYWRkZWQgbmljZXRpZXMuCiAgKgogICogRE8gTk9UIFVTRSBhbnkgZXhwcmVzc2lvbiB3aXRoIHNpZGUtZWZmZWN0IGZvciAneCcsICducicsIG9yICdhbGxvYycuCiAgKi8KQEAgLTY1OCwyMSArNjg4LDM1IEBACiAJCX0gXAogCX0gd2hpbGUgKDApCiAKKy8qCisgKiBTaW1pbGFyIHRvIEFMTE9DX0dST1cgYnV0IGhhbmRsZXMgdXBkYXRpbmcgb2YgdGhlIG5yIHZhbHVlIGFuZAorICogemVyb2luZyB0aGUgYnl0ZXMgb2YgdGhlIG5ld2x5LWdyb3duIGFycmF5IGVsZW1lbnRzLgorICoKKyAqIERPIE5PVCBVU0UgYW55IGV4cHJlc3Npb24gd2l0aCBzaWRlLWVmZmVjdCBmb3IgYW55IG9mIHRoZQorICogYXJndW1lbnRzLgorICovCisjZGVmaW5lIEFMTE9DX0dST1dfQlkoeCwgbnIsIGluY3JlYXNlLCBhbGxvYykgXAorCWRvIHsgXAorCQlpZiAoaW5jcmVhc2UpIHsgXAorCQkJc2l6ZV90IG5ld19uciA9IG5yICsgKGluY3JlYXNlKTsgXAorCQkJaWYgKG5ld19uciA8IG5yKSBcCisJCQkJQlVHKCJuZWdhdGl2ZSBncm93dGggaW4gQUxMT0NfR1JPV19CWSIpOyBcCisJCQlBTExPQ19HUk9XKHgsIG5ld19uciwgYWxsb2MpOyBcCisJCQltZW1zZXQoKHgpICsgbnIsIDAsIHNpemVvZigqKHgpKSAqIChpbmNyZWFzZSkpOyBcCisJCQluciA9IG5ld19ucjsgXAorCQl9IFwKKwl9IHdoaWxlICgwKQorCiAvKiBJbml0aWFsaXplIGFuZCB1c2UgdGhlIGNhY2hlIGluZm9ybWF0aW9uICovCiBzdHJ1Y3QgbG9ja19maWxlOwotZXh0ZXJuIGludCByZWFkX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqKTsKLWV4dGVybiB2b2lkIHByZWxvYWRfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICppbmRleCwKLQkJCSAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKLQkJCSAgdW5zaWduZWQgaW50IHJlZnJlc2hfZmxhZ3MpOwotZXh0ZXJuIGludCByZWFkX2luZGV4X3ByZWxvYWQoc3RydWN0IGluZGV4X3N0YXRlICosCi0JCQkgICAgICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAotCQkJICAgICAgdW5zaWduZWQgaW50IHJlZnJlc2hfZmxhZ3MpOwotZXh0ZXJuIGludCBkb19yZWFkX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBjb25zdCBjaGFyICpwYXRoLAotCQkJIGludCBtdXN0X2V4aXN0KTsgLyogZm9yIHRlc3R0aW5nIG9ubHkhICovCi1leHRlcm4gaW50IHJlYWRfaW5kZXhfZnJvbShzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgY29uc3QgY2hhciAqcGF0aCwKLQkJCSAgIGNvbnN0IGNoYXIgKmdpdGRpcik7Ci1leHRlcm4gaW50IGlzX2luZGV4X3VuYm9ybihzdHJ1Y3QgaW5kZXhfc3RhdGUgKik7Ci1leHRlcm4gaW50IHJlYWRfaW5kZXhfdW5tZXJnZWQoc3RydWN0IGluZGV4X3N0YXRlICopOwordm9pZCBwcmVsb2FkX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaW5kZXgsCisJCSAgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCisJCSAgIHVuc2lnbmVkIGludCByZWZyZXNoX2ZsYWdzKTsKK2ludCBkb19yZWFkX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBjb25zdCBjaGFyICpwYXRoLAorCQkgIGludCBtdXN0X2V4aXN0KTsgLyogZm9yIHRlc3R0aW5nIG9ubHkhICovCitpbnQgcmVhZF9pbmRleF9mcm9tKHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBjb25zdCBjaGFyICpwYXRoLAorCQkgICAgY29uc3QgY2hhciAqZ2l0ZGlyKTsKK2ludCBpc19pbmRleF91bmJvcm4oc3RydWN0IGluZGV4X3N0YXRlICopOwogCiAvKiBGb3IgdXNlIHdpdGggYHdyaXRlX2xvY2tlZF9pbmRleCgpYC4gKi8KICNkZWZpbmUgQ09NTUlUX0xPQ0sJCSgxIDw8IDApCkBAIC02OTcsMTEgKzc0MSwxMSBAQAogICogSWYgYFNLSVBfSUZfVU5DSEFOR0VEYCBpcyBnaXZlbiBhbmQgdGhlIGluZGV4IGlzIHVuY2hhbmdlZCwgbm90aGluZwogICogaXMgd3JpdHRlbiAoYW5kIHRoZSBsb2NrIGlzIHJvbGxlZCBiYWNrIGlmIGBDT01NSVRfTE9DS2AgaXMgZ2l2ZW4pLgogICovCi1leHRlcm4gaW50IHdyaXRlX2xvY2tlZF9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgc3RydWN0IGxvY2tfZmlsZSAqbG9jaywgdW5zaWduZWQgZmxhZ3MpOworaW50IHdyaXRlX2xvY2tlZF9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgc3RydWN0IGxvY2tfZmlsZSAqbG9jaywgdW5zaWduZWQgZmxhZ3MpOwogCi1leHRlcm4gaW50IGRpc2NhcmRfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICopOwotZXh0ZXJuIHZvaWQgbW92ZV9pbmRleF9leHRlbnNpb25zKHN0cnVjdCBpbmRleF9zdGF0ZSAqZHN0LCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKnNyYyk7Ci1leHRlcm4gaW50IHVubWVyZ2VkX2luZGV4KGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqKTsKK2ludCBkaXNjYXJkX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqKTsKK3ZvaWQgbW92ZV9pbmRleF9leHRlbnNpb25zKHN0cnVjdCBpbmRleF9zdGF0ZSAqZHN0LCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKnNyYyk7CitpbnQgdW5tZXJnZWRfaW5kZXgoY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICopOwogCiAvKioKICAqIFJldHVybnMgMSBpZiBpc3RhdGUgZGlmZmVycyBmcm9tIHRyZWUsIDAgb3RoZXJ3aXNlLiAgSWYgdHJlZSBpcyBOVUxMLApAQCAtNzEwLDE1ICs3NTQsMTUgQEAKICAqIHByb3ZpZGVkLCB0aGUgc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YgZmlsZXMgdGhhdCBkaWZmZXIgd2lsbCBiZSBhcHBlbmRlZAogICogdG8gaXQuCiAgKi8KLWV4dGVybiBpbnQgaW5kZXhfaGFzX2NoYW5nZXMoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCi0JCQkgICAgIHN0cnVjdCB0cmVlICp0cmVlLAotCQkJICAgICBzdHJ1Y3Qgc3RyYnVmICpzYik7CitpbnQgcmVwb19pbmRleF9oYXNfY2hhbmdlcyhzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCSAgIHN0cnVjdCB0cmVlICp0cmVlLAorCQkJICAgc3RydWN0IHN0cmJ1ZiAqc2IpOwogCi1leHRlcm4gaW50IHZlcmlmeV9wYXRoKGNvbnN0IGNoYXIgKnBhdGgsIHVuc2lnbmVkIG1vZGUpOwotZXh0ZXJuIGludCBzdHJjbXBfb2Zmc2V0KGNvbnN0IGNoYXIgKnMxLCBjb25zdCBjaGFyICpzMiwgc2l6ZV90ICpmaXJzdF9jaGFuZ2UpOwotZXh0ZXJuIGludCBpbmRleF9kaXJfZXhpc3RzKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbik7Ci1leHRlcm4gdm9pZCBhZGp1c3RfZGlybmFtZV9jYXNlKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBjaGFyICpuYW1lKTsKLWV4dGVybiBzdHJ1Y3QgY2FjaGVfZW50cnkgKmluZGV4X2ZpbGVfZXhpc3RzKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwgaW50IGlnbmNhc2UpOworaW50IHZlcmlmeV9wYXRoKGNvbnN0IGNoYXIgKnBhdGgsIHVuc2lnbmVkIG1vZGUpOworaW50IHN0cmNtcF9vZmZzZXQoY29uc3QgY2hhciAqczEsIGNvbnN0IGNoYXIgKnMyLCBzaXplX3QgKmZpcnN0X2NoYW5nZSk7CitpbnQgaW5kZXhfZGlyX2V4aXN0cyhzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4pOwordm9pZCBhZGp1c3RfZGlybmFtZV9jYXNlKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBjaGFyICpuYW1lKTsKK3N0cnVjdCBjYWNoZV9lbnRyeSAqaW5kZXhfZmlsZV9leGlzdHMoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLCBpbnQgaWduY2FzZSk7CiAKIC8qCiAgKiBTZWFyY2hlcyBmb3IgYW4gZW50cnkgZGVmaW5lZCBieSBuYW1lIGFuZCBuYW1lbGVuIGluIHRoZSBnaXZlbiBpbmRleC4KQEAgLTczNyw3ICs3ODEsMjAgQEAKICAqIGluZGV4X25hbWVfcG9zKCZpbmRleCwgImYiLCAxKSAtPiAtMwogICogaW5kZXhfbmFtZV9wb3MoJmluZGV4LCAiZyIsIDEpIC0+IC01CiAgKi8KLWV4dGVybiBpbnQgaW5kZXhfbmFtZV9wb3MoY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICosIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuKTsKK2ludCBpbmRleF9uYW1lX3Bvcyhjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4pOworCisvKgorICogU29tZSBmdW5jdGlvbnMgcmV0dXJuIHRoZSBuZWdhdGl2ZSBjb21wbGVtZW50IG9mIGFuIGluc2VydCBwb3NpdGlvbiB3aGVuIGEKKyAqIHByZWNpc2UgbWF0Y2ggd2FzIG5vdCBmb3VuZCBidXQgYSBwb3NpdGlvbiB3YXMgZm91bmQgd2hlcmUgdGhlIGVudHJ5IHdvdWxkCisgKiBuZWVkIHRvIGJlIGluc2VydGVkLiBUaGlzIGhlbHBlciBwcm90ZWN0cyB0aGF0IGxvZ2ljIGZyb20gYW55IGludGVnZXIKKyAqIHVuZGVyZmxvdy4KKyAqLworc3RhdGljIGlubGluZSBpbnQgaW5kZXhfcG9zX3RvX2luc2VydF9wb3ModWludG1heF90IHBvcykKK3sKKwlpZiAocG9zID4gSU5UX01BWCkKKwkJZGllKCJvdmVyZmxvdzogLTEgLSAlIlBSSXVNQVgsIHBvcyk7CisJcmV0dXJuIC0xIC0gKGludClwb3M7Cit9CiAKICNkZWZpbmUgQUREX0NBQ0hFX09LX1RPX0FERCAxCQkvKiBPayB0byBhZGQgKi8KICNkZWZpbmUgQUREX0NBQ0hFX09LX1RPX1JFUExBQ0UgMgkvKiBPayB0byByZXBsYWNlIGZpbGUvZGlyZWN0b3J5ICovCkBAIC03NDUsMTQgKzgwMiwxNSBAQAogI2RlZmluZSBBRERfQ0FDSEVfSlVTVF9BUFBFTkQgOAkJLyogQXBwZW5kIG9ubHk7IHRyZWUuYzo6cmVhZF90cmVlKCkgKi8KICNkZWZpbmUgQUREX0NBQ0hFX05FV19PTkxZIDE2CQkvKiBEbyBub3QgcmVwbGFjZSBleGlzdGluZyBvbmVzICovCiAjZGVmaW5lIEFERF9DQUNIRV9LRUVQX0NBQ0hFX1RSRUUgMzIJLyogRG8gbm90IGludmFsaWRhdGUgY2FjaGUtdHJlZSAqLwotZXh0ZXJuIGludCBhZGRfaW5kZXhfZW50cnkoc3RydWN0IGluZGV4X3N0YXRlICosIHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsIGludCBvcHRpb24pOwotZXh0ZXJuIHZvaWQgcmVuYW1lX2luZGV4X2VudHJ5X2F0KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBpbnQgcG9zLCBjb25zdCBjaGFyICpuZXdfbmFtZSk7CisjZGVmaW5lIEFERF9DQUNIRV9SRU5PUk1BTElaRSA2NCAgICAgICAgLyogUGFzcyBhbG9uZyBIQVNIX1JFTk9STUFMSVpFICovCitpbnQgYWRkX2luZGV4X2VudHJ5KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLCBpbnQgb3B0aW9uKTsKK3ZvaWQgcmVuYW1lX2luZGV4X2VudHJ5X2F0KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBpbnQgcG9zLCBjb25zdCBjaGFyICpuZXdfbmFtZSk7CiAKIC8qIFJlbW92ZSBlbnRyeSwgcmV0dXJuIHRydWUgaWYgdGhlcmUgYXJlIG1vcmUgZW50cmllcyB0byBnby4gKi8KLWV4dGVybiBpbnQgcmVtb3ZlX2luZGV4X2VudHJ5X2F0KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBpbnQgcG9zKTsKK2ludCByZW1vdmVfaW5kZXhfZW50cnlfYXQoc3RydWN0IGluZGV4X3N0YXRlICosIGludCBwb3MpOwogCi1leHRlcm4gdm9pZCByZW1vdmVfbWFya2VkX2NhY2hlX2VudHJpZXMoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpOwotZXh0ZXJuIGludCByZW1vdmVfZmlsZV9mcm9tX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBjb25zdCBjaGFyICpwYXRoKTsKK3ZvaWQgcmVtb3ZlX21hcmtlZF9jYWNoZV9lbnRyaWVzKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBpbnQgaW52YWxpZGF0ZSk7CitpbnQgcmVtb3ZlX2ZpbGVfZnJvbV9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgY29uc3QgY2hhciAqcGF0aCk7CiAjZGVmaW5lIEFERF9DQUNIRV9WRVJCT1NFIDEKICNkZWZpbmUgQUREX0NBQ0hFX1BSRVRFTkQgMgogI2RlZmluZSBBRERfQ0FDSEVfSUdOT1JFX0VSUk9SUwk0CkBAIC03NjcsMTQgKzgyNSwxNCBAQAogICogdGhlIGxhdHRlciB3aWxsIGRvIG5lY2Vzc2FyeSBsc3RhdCgyKSBpbnRlcm5hbGx5IGJlZm9yZQogICogY2FsbGluZyB0aGUgZm9ybWVyLgogICovCi1leHRlcm4gaW50IGFkZF90b19pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQgKiwgaW50IGZsYWdzKTsKLWV4dGVybiBpbnQgYWRkX2ZpbGVfdG9faW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICosIGNvbnN0IGNoYXIgKnBhdGgsIGludCBmbGFncyk7CitpbnQgYWRkX3RvX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqLCBpbnQgZmxhZ3MpOworaW50IGFkZF9maWxlX3RvX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBjb25zdCBjaGFyICpwYXRoLCBpbnQgZmxhZ3MpOwogCi1leHRlcm4gaW50IGNobW9kX2luZGV4X2VudHJ5KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLCBjaGFyIGZsaXApOwotZXh0ZXJuIGludCBjZV9zYW1lX25hbWUoY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICphLCBjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmIpOwotZXh0ZXJuIHZvaWQgc2V0X29iamVjdF9uYW1lX2Zvcl9pbnRlbnRfdG9fYWRkX2VudHJ5KHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UpOwotZXh0ZXJuIGludCBpbmRleF9uYW1lX2lzX290aGVyKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBjb25zdCBjaGFyICosIGludCk7Ci1leHRlcm4gdm9pZCAqcmVhZF9ibG9iX2RhdGFfZnJvbV9pbmRleChjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgY29uc3QgY2hhciAqLCB1bnNpZ25lZCBsb25nICopOworaW50IGNobW9kX2luZGV4X2VudHJ5KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLCBjaGFyIGZsaXApOworaW50IGNlX3NhbWVfbmFtZShjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmEsIGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqYik7Cit2b2lkIHNldF9vYmplY3RfbmFtZV9mb3JfaW50ZW50X3RvX2FkZF9lbnRyeShzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlKTsKK2ludCBpbmRleF9uYW1lX2lzX290aGVyKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBjb25zdCBjaGFyICosIGludCk7Cit2b2lkICpyZWFkX2Jsb2JfZGF0YV9mcm9tX2luZGV4KGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBjb25zdCBjaGFyICosIHVuc2lnbmVkIGxvbmcgKik7CiAKIC8qIGRvIHN0YXQgY29tcGFyaXNvbiBldmVuIGlmIENFX1ZBTElEIGlzIHRydWUgKi8KICNkZWZpbmUgQ0VfTUFUQ0hfSUdOT1JFX1ZBTElECQkwMQpAQCAtNzg4LDIyICs4NDYsMjIgQEAKICNkZWZpbmUgQ0VfTUFUQ0hfUkVGUkVTSAkJMHgxMAogLyogZG9uJ3QgcmVmcmVzaF9mc21vbml0b3Igc3RhdGUgb3IgZG8gc3RhdCBjb21wYXJpc29uIGV2ZW4gaWYgQ0VfRlNNT05JVE9SX1ZBTElEIGlzIHRydWUgKi8KICNkZWZpbmUgQ0VfTUFUQ0hfSUdOT1JFX0ZTTU9OSVRPUiAwWDIwCi1leHRlcm4gaW50IGlzX3JhY3lfdGltZXN0YW1wKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAotCQkJICAgICBjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlKTsKLWV4dGVybiBpbnQgaWVfbWF0Y2hfc3RhdChzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICosIHN0cnVjdCBzdGF0ICosIHVuc2lnbmVkIGludCk7Ci1leHRlcm4gaW50IGllX21vZGlmaWVkKHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKiwgc3RydWN0IHN0YXQgKiwgdW5zaWduZWQgaW50KTsKK2ludCBpc19yYWN5X3RpbWVzdGFtcChjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJICAgICAgY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSk7CitpbnQgaWVfbWF0Y2hfc3RhdChzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICosIHN0cnVjdCBzdGF0ICosIHVuc2lnbmVkIGludCk7CitpbnQgaWVfbW9kaWZpZWQoc3RydWN0IGluZGV4X3N0YXRlICosIGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqLCBzdHJ1Y3Qgc3RhdCAqLCB1bnNpZ25lZCBpbnQpOwogCiAjZGVmaW5lIEhBU0hfV1JJVEVfT0JKRUNUIDEKICNkZWZpbmUgSEFTSF9GT1JNQVRfQ0hFQ0sgMgogI2RlZmluZSBIQVNIX1JFTk9STUFMSVpFICA0Ci1leHRlcm4gaW50IGluZGV4X2ZkKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBmZCwgc3RydWN0IHN0YXQgKnN0LCBlbnVtIG9iamVjdF90eXBlIHR5cGUsIGNvbnN0IGNoYXIgKnBhdGgsIHVuc2lnbmVkIGZsYWdzKTsKLWV4dGVybiBpbnQgaW5kZXhfcGF0aChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqc3QsIHVuc2lnbmVkIGZsYWdzKTsKK2ludCBpbmRleF9mZChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBpbnQgZmQsIHN0cnVjdCBzdGF0ICpzdCwgZW51bSBvYmplY3RfdHlwZSB0eXBlLCBjb25zdCBjaGFyICpwYXRoLCB1bnNpZ25lZCBmbGFncyk7CitpbnQgaW5kZXhfcGF0aChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqc3QsIHVuc2lnbmVkIGZsYWdzKTsKIAogLyoKICAqIFJlY29yZCB0byBzZCB0aGUgZGF0YSBmcm9tIHN0IHRoYXQgd2UgdXNlIHRvIGNoZWNrIHdoZXRoZXIgYSBmaWxlCiAgKiBtaWdodCBoYXZlIGNoYW5nZWQuCiAgKi8KLWV4dGVybiB2b2lkIGZpbGxfc3RhdF9kYXRhKHN0cnVjdCBzdGF0X2RhdGEgKnNkLCBzdHJ1Y3Qgc3RhdCAqc3QpOwordm9pZCBmaWxsX3N0YXRfZGF0YShzdHJ1Y3Qgc3RhdF9kYXRhICpzZCwgc3RydWN0IHN0YXQgKnN0KTsKIAogLyoKICAqIFJldHVybiAwIGlmIHN0IGlzIGNvbnNpc3RlbnQgd2l0aCBhIGZpbGUgbm90IGhhdmluZyBiZWVuIGNoYW5nZWQKQEAgLTgxMSwxMSArODY5LDExIEBACiAgKiBjb21iaW5hdGlvbiBvZiBNVElNRV9DSEFOR0VELCBDVElNRV9DSEFOR0VELCBPV05FUl9DSEFOR0VELAogICogSU5PREVfQ0hBTkdFRCwgYW5kIERBVEFfQ0hBTkdFRC4KICAqLwotZXh0ZXJuIGludCBtYXRjaF9zdGF0X2RhdGEoY29uc3Qgc3RydWN0IHN0YXRfZGF0YSAqc2QsIHN0cnVjdCBzdGF0ICpzdCk7Ci1leHRlcm4gaW50IG1hdGNoX3N0YXRfZGF0YV9yYWN5KGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAotCQkJCWNvbnN0IHN0cnVjdCBzdGF0X2RhdGEgKnNkLCBzdHJ1Y3Qgc3RhdCAqc3QpOworaW50IG1hdGNoX3N0YXRfZGF0YShjb25zdCBzdHJ1Y3Qgc3RhdF9kYXRhICpzZCwgc3RydWN0IHN0YXQgKnN0KTsKK2ludCBtYXRjaF9zdGF0X2RhdGFfcmFjeShjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJCSBjb25zdCBzdHJ1Y3Qgc3RhdF9kYXRhICpzZCwgc3RydWN0IHN0YXQgKnN0KTsKIAotZXh0ZXJuIHZvaWQgZmlsbF9zdGF0X2NhY2hlX2luZm8oc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwgc3RydWN0IHN0YXQgKnN0KTsKK3ZvaWQgZmlsbF9zdGF0X2NhY2hlX2luZm8oc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsIHN0cnVjdCBzdGF0ICpzdCk7CiAKICNkZWZpbmUgUkVGUkVTSF9SRUFMTFkJCTB4MDAwMQkvKiBpZ25vcmVfdmFsaWQgKi8KICNkZWZpbmUgUkVGUkVTSF9VTk1FUkdFRAkweDAwMDIJLyogYWxsb3cgdW5tZXJnZWQgKi8KQEAgLTgyNCwxNyArODgyLDI3IEBACiAjZGVmaW5lIFJFRlJFU0hfSUdOT1JFX1NVQk1PRFVMRVMJMHgwMDEwCS8qIGlnbm9yZSBzdWJtb2R1bGVzICovCiAjZGVmaW5lIFJFRlJFU0hfSU5fUE9SQ0VMQUlOCTB4MDAyMAkvKiB1c2VyIGZyaWVuZGx5IG91dHB1dCwgbm90ICJuZWVkcyB1cGRhdGUiICovCiAjZGVmaW5lIFJFRlJFU0hfUFJPR1JFU1MJMHgwMDQwICAvKiBzaG93IHByb2dyZXNzIGJhciBpZiBzdGRlcnIgaXMgdHR5ICovCi1leHRlcm4gaW50IHJlZnJlc2hfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICosIHVuc2lnbmVkIGludCBmbGFncywgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywgY2hhciAqc2VlbiwgY29uc3QgY2hhciAqaGVhZGVyX21zZyk7Ci1leHRlcm4gc3RydWN0IGNhY2hlX2VudHJ5ICpyZWZyZXNoX2NhY2hlX2VudHJ5KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBzdHJ1Y3QgY2FjaGVfZW50cnkgKiwgdW5zaWduZWQgaW50KTsKLQoraW50IHJlZnJlc2hfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICosIHVuc2lnbmVkIGludCBmbGFncywgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywgY2hhciAqc2VlbiwgY29uc3QgY2hhciAqaGVhZGVyX21zZyk7CiAvKgotICogT3Bwb3J0dW5pc3RpY2FsbHkgdXBkYXRlIHRoZSBpbmRleCBidXQgZG8gbm90IGNvbXBsYWluIGlmIHdlIGNhbid0LgotICogVGhlIGxvY2tmaWxlIGlzIGFsd2F5cyBjb21taXR0ZWQgb3Igcm9sbGVkIGJhY2suCisgKiBSZWZyZXNoIHRoZSBpbmRleCBhbmQgd3JpdGUgaXQgdG8gZGlzay4KKyAqCisgKiAncmVmcmVzaF9mbGFncycgaXMgcGFzc2VkIGRpcmVjdGx5IHRvICdyZWZyZXNoX2luZGV4KCknLCB3aGlsZQorICogJ0NPTU1JVF9MT0NLIHwgd3JpdGVfZmxhZ3MnIGlzIHBhc3NlZCB0byAnd3JpdGVfbG9ja2VkX2luZGV4KCknLCBzbworICogdGhlIGxvY2tmaWxlIGlzIGFsd2F5cyBlaXRoZXIgY29tbWl0dGVkIG9yIHJvbGxlZCBiYWNrLgorICoKKyAqIElmICdnZW50bGUnIGlzIHBhc3NlZCwgZXJyb3JzIGxvY2tpbmcgdGhlIGluZGV4IGFyZSBpZ25vcmVkLgorICoKKyAqIFJldHVybiAxIGlmIHJlZnJlc2hpbmcgdGhlIGluZGV4IHJldHVybnMgYW4gZXJyb3IsIC0xIGlmIHdyaXRpbmcKKyAqIHRoZSBpbmRleCB0byBkaXNrIGZhaWxzLCAwIG9uIHN1Y2Nlc3MuCisgKgorICogTm90ZSB0aGF0IGlmIHJlZnJlc2hpbmcgdGhlIGluZGV4IHJldHVybnMgYW4gZXJyb3IsIHdlIHN0aWxsIHdyaXRlCisgKiBvdXQgdGhlIGluZGV4ICh1bmxlc3MgbG9ja2luZyBmYWlscykuCiAgKi8KLWV4dGVybiB2b2lkIHVwZGF0ZV9pbmRleF9pZl9hYmxlKHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBzdHJ1Y3QgbG9ja19maWxlICopOworaW50IHJlcG9fcmVmcmVzaF9hbmRfd3JpdGVfaW5kZXgoc3RydWN0IHJlcG9zaXRvcnkqLCB1bnNpZ25lZCBpbnQgcmVmcmVzaF9mbGFncywgdW5zaWduZWQgaW50IHdyaXRlX2ZsYWdzLCBpbnQgZ2VudGxlLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKiwgY2hhciAqc2VlbiwgY29uc3QgY2hhciAqaGVhZGVyX21zZyk7CiAKLWV4dGVybiBpbnQgaG9sZF9sb2NrZWRfaW5kZXgoc3RydWN0IGxvY2tfZmlsZSAqLCBpbnQpOwotZXh0ZXJuIHZvaWQgc2V0X2FsdGVybmF0ZV9pbmRleF9vdXRwdXQoY29uc3QgY2hhciAqKTsKK3N0cnVjdCBjYWNoZV9lbnRyeSAqcmVmcmVzaF9jYWNoZV9lbnRyeShzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgc3RydWN0IGNhY2hlX2VudHJ5ICosIHVuc2lnbmVkIGludCk7CisKK3ZvaWQgc2V0X2FsdGVybmF0ZV9pbmRleF9vdXRwdXQoY29uc3QgY2hhciAqKTsKIAogZXh0ZXJuIGludCB2ZXJpZnlfaW5kZXhfY2hlY2tzdW07CiBleHRlcm4gaW50IHZlcmlmeV9jZV9vcmRlcjsKQEAgLTg4NSwxMiArOTUzLDE0IEBACiAKIGV4dGVybiBpbnQgZnN5bmNfb2JqZWN0X2ZpbGVzOwogZXh0ZXJuIGludCBjb3JlX3ByZWxvYWRfaW5kZXg7Ci1leHRlcm4gaW50IGNvcmVfYXBwbHlfc3BhcnNlX2NoZWNrb3V0OwogZXh0ZXJuIGludCBwcmVjb21wb3NlZF91bmljb2RlOwogZXh0ZXJuIGludCBwcm90ZWN0X2hmczsKIGV4dGVybiBpbnQgcHJvdGVjdF9udGZzOwogZXh0ZXJuIGNvbnN0IGNoYXIgKmNvcmVfZnNtb25pdG9yOwogCitleHRlcm4gaW50IGNvcmVfYXBwbHlfc3BhcnNlX2NoZWNrb3V0OworZXh0ZXJuIGludCBjb3JlX3NwYXJzZV9jaGVja291dF9jb25lOworCiAvKgogICogSW5jbHVkZSBicm9rZW4gcmVmcyBpbiBhbGwgcmVmIGl0ZXJhdGlvbnMsIHdoaWNoIHdpbGwKICAqIGdlbmVyYWxseSBjaG9rZSBkYW5nZXJvdXMgb3BlcmF0aW9ucyByYXRoZXIgdGhhbiBsZXR0aW5nCkBAIC05NTcsMTAgKzEwMjcsMTIgQEAKICNkZWZpbmUgR0lUX1JFUE9fVkVSU0lPTiAwCiAjZGVmaW5lIEdJVF9SRVBPX1ZFUlNJT05fUkVBRCAxCiBleHRlcm4gaW50IHJlcG9zaXRvcnlfZm9ybWF0X3ByZWNpb3VzX29iamVjdHM7Ci1leHRlcm4gY2hhciAqcmVwb3NpdG9yeV9mb3JtYXRfcGFydGlhbF9jbG9uZTsKLWV4dGVybiBjb25zdCBjaGFyICpjb3JlX3BhcnRpYWxfY2xvbmVfZmlsdGVyX2RlZmF1bHQ7CiBleHRlcm4gaW50IHJlcG9zaXRvcnlfZm9ybWF0X3dvcmt0cmVlX2NvbmZpZzsKIAorLyoKKyAqIFlvdSBfaGF2ZV8gdG8gaW5pdGlhbGl6ZSBhIGBzdHJ1Y3QgcmVwb3NpdG9yeV9mb3JtYXRgIHVzaW5nCisgKiBgPSBSRVBPU0lUT1JZX0ZPUk1BVF9JTklUYCBiZWZvcmUgY2FsbGluZyBgcmVhZF9yZXBvc2l0b3J5X2Zvcm1hdCgpYC4KKyAqLwogc3RydWN0IHJlcG9zaXRvcnlfZm9ybWF0IHsKIAlpbnQgdmVyc2lvbjsKIAlpbnQgcHJlY2lvdXNfb2JqZWN0czsKQEAgLTk3MywxNCArMTA0NSwzNSBAQAogfTsKIAogLyoKKyAqIEFsd2F5cyB1c2UgdGhpcyB0byBpbml0aWFsaXplIGEgYHN0cnVjdCByZXBvc2l0b3J5X2Zvcm1hdGAKKyAqIHRvIGEgd2VsbC1kZWZpbmVkLCBkZWZhdWx0IHN0YXRlIGJlZm9yZSBjYWxsaW5nCisgKiBgcmVhZF9yZXBvc2l0b3J5KClgLgorICovCisjZGVmaW5lIFJFUE9TSVRPUllfRk9STUFUX0lOSVQgXAoreyBcCisJLnZlcnNpb24gPSAtMSwgXAorCS5pc19iYXJlID0gLTEsIFwKKwkuaGFzaF9hbGdvID0gR0lUX0hBU0hfU0hBMSwgXAorCS51bmtub3duX2V4dGVuc2lvbnMgPSBTVFJJTkdfTElTVF9JTklUX0RVUCwgXAorfQorCisvKgogICogUmVhZCB0aGUgcmVwb3NpdG9yeSBmb3JtYXQgY2hhcmFjdGVyaXN0aWNzIGZyb20gdGhlIGNvbmZpZyBmaWxlICJwYXRoIiBpbnRvCi0gKiAiZm9ybWF0IiBzdHJ1Y3QuIFJldHVybnMgdGhlIG51bWVyaWMgdmVyc2lvbi4gT24gZXJyb3IsIC0xIGlzIHJldHVybmVkLAotICogZm9ybWF0LT52ZXJzaW9uIGlzIHNldCB0byAtMSwgYW5kIGFsbCBvdGhlciBmaWVsZHMgaW4gdGhlIHN0cnVjdCBhcmUKLSAqIHVuZGVmaW5lZC4KKyAqICJmb3JtYXQiIHN0cnVjdC4gUmV0dXJucyB0aGUgbnVtZXJpYyB2ZXJzaW9uLiBPbiBlcnJvciwgb3IgaWYgbm8gdmVyc2lvbiBpcworICogZm91bmQgaW4gdGhlIGNvbmZpZ3VyYXRpb24sIC0xIGlzIHJldHVybmVkLCBmb3JtYXQtPnZlcnNpb24gaXMgc2V0IHRvIC0xLAorICogYW5kIGFsbCBvdGhlciBmaWVsZHMgaW4gdGhlIHN0cnVjdCBhcmUgc2V0IHRvIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24KKyAqIChSRVBPU0lUT1JZX0ZPUk1BVF9JTklUKS4gQWx3YXlzIGluaXRpYWxpemUgdGhlIHN0cnVjdCB1c2luZworICogUkVQT1NJVE9SWV9GT1JNQVRfSU5JVCBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLgogICovCiBpbnQgcmVhZF9yZXBvc2l0b3J5X2Zvcm1hdChzdHJ1Y3QgcmVwb3NpdG9yeV9mb3JtYXQgKmZvcm1hdCwgY29uc3QgY2hhciAqcGF0aCk7CiAKIC8qCisgKiBGcmVlIHRoZSBtZW1vcnkgaGVsZCBvbnRvIGJ5IGBmb3JtYXRgLCBidXQgbm90IHRoZSBzdHJ1Y3QgaXRzZWxmLgorICogKE5vIG5lZWQgdG8gdXNlIHRoaXMgYWZ0ZXIgYHJlYWRfcmVwb3NpdG9yeV9mb3JtYXQoKWAgZmFpbHMuKQorICovCit2b2lkIGNsZWFyX3JlcG9zaXRvcnlfZm9ybWF0KHN0cnVjdCByZXBvc2l0b3J5X2Zvcm1hdCAqZm9ybWF0KTsKKworLyoKICAqIFZlcmlmeSB0aGF0IHRoZSByZXBvc2l0b3J5IGRlc2NyaWJlZCBieSByZXBvc2l0b3J5X2Zvcm1hdCBpcyBzb21ldGhpbmcgd2UKICAqIGNhbiByZWFkLiBJZiBpdCBpcywgcmV0dXJuIDAuIE90aGVyd2lzZSwgcmV0dXJuIC0xLCBhbmQgImVyciIgd2lsbCBkZXNjcmliZQogICogYW55IGVycm9ycyBlbmNvdW50ZXJlZC4KQEAgLTk5NCw3ICsxMDg3LDcgQEAKICAqIHNldF9naXRfZGlyKCkgYmVmb3JlIGNhbGxpbmcgdGhpcywgYW5kIHVzZSBpdCBvbmx5IGZvciAiYXJlIHdlIGluIGEgdmFsaWQKICAqIHJlcG8/Ii4KICAqLwotZXh0ZXJuIHZvaWQgY2hlY2tfcmVwb3NpdG9yeV9mb3JtYXQodm9pZCk7Cit2b2lkIGNoZWNrX3JlcG9zaXRvcnlfZm9ybWF0KHZvaWQpOwogCiAjZGVmaW5lIE1USU1FX0NIQU5HRUQJMHgwMDAxCiAjZGVmaW5lIENUSU1FX0NIQU5HRUQJMHgwMDAyCkBAIC0xMDE5LDI1ICsxMTEyLDIyIEBACiAgKiBOb3RlIHRoYXQgd2hpbGUgdGhpcyB2ZXJzaW9uIGF2b2lkcyB0aGUgc3RhdGljIGJ1ZmZlciwgaXQgaXMgbm90IGZ1bGx5CiAgKiByZWVudHJhbnQsIGFzIGl0IGNhbGxzIGludG8gb3RoZXIgbm9uLXJlZW50cmFudCBnaXQgY29kZS4KICAqLwotZXh0ZXJuIGNvbnN0IGNoYXIgKmZpbmRfdW5pcXVlX2FiYnJldihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBsZW4pOwotZXh0ZXJuIGludCBmaW5kX3VuaXF1ZV9hYmJyZXZfcihjaGFyICpoZXgsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgaW50IGxlbik7Citjb25zdCBjaGFyICpyZXBvX2ZpbmRfdW5pcXVlX2FiYnJldihzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBpbnQgbGVuKTsKKyNkZWZpbmUgZmluZF91bmlxdWVfYWJicmV2KG9pZCwgbGVuKSByZXBvX2ZpbmRfdW5pcXVlX2FiYnJldih0aGVfcmVwb3NpdG9yeSwgb2lkLCBsZW4pCitpbnQgcmVwb19maW5kX3VuaXF1ZV9hYmJyZXZfcihzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY2hhciAqaGV4LCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBsZW4pOworI2RlZmluZSBmaW5kX3VuaXF1ZV9hYmJyZXZfcihoZXgsIG9pZCwgbGVuKSByZXBvX2ZpbmRfdW5pcXVlX2FiYnJldl9yKHRoZV9yZXBvc2l0b3J5LCBoZXgsIG9pZCwgbGVuKQogCi1leHRlcm4gY29uc3QgdW5zaWduZWQgY2hhciBudWxsX3NoYTFbR0lUX01BWF9SQVdTWl07CiBleHRlcm4gY29uc3Qgc3RydWN0IG9iamVjdF9pZCBudWxsX29pZDsKIAogc3RhdGljIGlubGluZSBpbnQgaGFzaGNtcChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGEyKQogewogCS8qCi0JICogVGhpcyBpcyBhIHRlbXBvcmFyeSBvcHRpbWl6YXRpb24gaGFjay4gQnkgYXNzZXJ0aW5nIHRoZSBzaXplIGhlcmUsCi0JICogd2UgbGV0IHRoZSBjb21waWxlciBrbm93IHRoYXQgaXQncyBhbHdheXMgZ29pbmcgdG8gYmUgMjAsIHdoaWNoIGxldHMKLQkgKiBpdCB0dXJuIHRoaXMgZml4ZWQtc2l6ZSBtZW1jbXAgaW50byBhIGZldyBpbmxpbmUgaW5zdHJ1Y3Rpb25zLgotCSAqCi0JICogVGhpcyB3aWxsIG5lZWQgdG8gYmUgZXh0ZW5kZWQgb3IgcmlwcGVkIG91dCB3aGVuIHdlIGxlYXJuIGFib3V0Ci0JICogaGFzaGVzIG9mIGRpZmZlcmVudCBzaXplcy4KKwkgKiBUZWFjaCB0aGUgY29tcGlsZXIgdGhhdCB0aGVyZSBhcmUgb25seSB0d28gcG9zc2liaWxpdGllcyBvZiBoYXNoIHNpemUKKwkgKiBoZXJlLCBzbyB0aGF0IGl0IGNhbiBvcHRpbWl6ZSBmb3IgdGhpcyBjYXNlIGFzIG11Y2ggYXMgcG9zc2libGUuCiAJICovCi0JaWYgKHRoZV9oYXNoX2FsZ28tPnJhd3N6ICE9IDIwKQotCQlCVUcoImhhc2ggc2l6ZSBub3QgeWV0IHN1cHBvcnRlZCBieSBoYXNoY21wIik7Ci0JcmV0dXJuIG1lbWNtcChzaGExLCBzaGEyLCB0aGVfaGFzaF9hbGdvLT5yYXdzeik7CisJaWYgKHRoZV9oYXNoX2FsZ28tPnJhd3N6ID09IEdJVF9NQVhfUkFXU1opCisJCXJldHVybiBtZW1jbXAoc2hhMSwgc2hhMiwgR0lUX01BWF9SQVdTWik7CisJcmV0dXJuIG1lbWNtcChzaGExLCBzaGEyLCBHSVRfU0hBMV9SQVdTWik7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IG9pZGNtcChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQxLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQyKQpAQCAtMTA0Nyw3ICsxMTM3LDEzIEBACiAKIHN0YXRpYyBpbmxpbmUgaW50IGhhc2hlcShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGEyKQogewotCXJldHVybiAhaGFzaGNtcChzaGExLCBzaGEyKTsKKwkvKgorCSAqIFdlIHdyaXRlIHRoaXMgaGVyZSBpbnN0ZWFkIG9mIGRlZmVycmluZyB0byBoYXNoY21wIHNvIHRoYXQgdGhlCisJICogY29tcGlsZXIgY2FuIHByb3Blcmx5IGlubGluZSBpdCBhbmQgYXZvaWQgY2FsbGluZyBtZW1jbXAuCisJICovCisJaWYgKHRoZV9oYXNoX2FsZ28tPnJhd3N6ID09IEdJVF9NQVhfUkFXU1opCisJCXJldHVybiAhbWVtY21wKHNoYTEsIHNoYTIsIEdJVF9NQVhfUkFXU1opOworCXJldHVybiAhbWVtY21wKHNoYTEsIHNoYTIsIEdJVF9TSEExX1JBV1NaKTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgb2lkZXEoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkMSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkMikKQEAgLTEwNTUsMTQgKzExNTEsOSBAQAogCXJldHVybiBoYXNoZXEob2lkMS0+aGFzaCwgb2lkMi0+aGFzaCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IGlzX251bGxfc2hhMShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQotewotCXJldHVybiBoYXNoZXEoc2hhMSwgbnVsbF9zaGExKTsKLX0KLQogc3RhdGljIGlubGluZSBpbnQgaXNfbnVsbF9vaWQoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewotCXJldHVybiBoYXNoZXEob2lkLT5oYXNoLCBudWxsX3NoYTEpOworCXJldHVybiBvaWRlcShvaWQsICZudWxsX29pZCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBoYXNoY3B5KHVuc2lnbmVkIGNoYXIgKnNoYV9kc3QsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYV9zcmMpCkBAIC0xMDcyLDcgKzExNjMsNyBAQAogCiBzdGF0aWMgaW5saW5lIHZvaWQgb2lkY3B5KHN0cnVjdCBvYmplY3RfaWQgKmRzdCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqc3JjKQogewotCWhhc2hjcHkoZHN0LT5oYXNoLCBzcmMtPmhhc2gpOworCW1lbWNweShkc3QtPmhhc2gsIHNyYy0+aGFzaCwgR0lUX01BWF9SQVdTWik7CiB9CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IG9iamVjdF9pZCAqb2lkZHVwKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKnNyYykKQEAgLTEyMTQsNyArMTMwNSw3IEBACiBpbnQgcmFjZXByb29mX2NyZWF0ZV9maWxlKGNvbnN0IGNoYXIgKnBhdGgsIGNyZWF0ZV9maWxlX2ZuIGZuLCB2b2lkICpjYik7CiAKIGludCBta2Rpcl9pbl9naXRkaXIoY29uc3QgY2hhciAqcGF0aCk7Ci1leHRlcm4gY2hhciAqZXhwYW5kX3VzZXJfcGF0aChjb25zdCBjaGFyICpwYXRoLCBpbnQgcmVhbF9ob21lKTsKK2NoYXIgKmV4cGFuZF91c2VyX3BhdGgoY29uc3QgY2hhciAqcGF0aCwgaW50IHJlYWxfaG9tZSk7CiBjb25zdCBjaGFyICplbnRlcl9yZXBvKGNvbnN0IGNoYXIgKnBhdGgsIGludCBzdHJpY3QpOwogc3RhdGljIGlubGluZSBpbnQgaXNfYWJzb2x1dGVfcGF0aChjb25zdCBjaGFyICpwYXRoKQogewpAQCAtMTI1OCwyNiArMTM0OSwyNyBAQAogICogIiRYREdfQ09ORklHX0hPTUUvZ2l0LyRmaWxlbmFtZSIgaWYgJFhER19DT05GSUdfSE9NRSBpcyBub24tZW1wdHksIG90aGVyd2lzZQogICogIiRIT01FLy5jb25maWcvZ2l0LyRmaWxlbmFtZSIuIFJldHVybiBOVUxMIHVwb24gZXJyb3IuCiAgKi8KLWV4dGVybiBjaGFyICp4ZGdfY29uZmlnX2hvbWUoY29uc3QgY2hhciAqZmlsZW5hbWUpOworY2hhciAqeGRnX2NvbmZpZ19ob21lKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKIAogLyoqCiAgKiBSZXR1cm4gYSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggdGhlIGV2YWx1YXRpb24gb2YKICAqICIkWERHX0NBQ0hFX0hPTUUvZ2l0LyRmaWxlbmFtZSIgaWYgJFhER19DQUNIRV9IT01FIGlzIG5vbi1lbXB0eSwgb3RoZXJ3aXNlCiAgKiAiJEhPTUUvLmNhY2hlL2dpdC8kZmlsZW5hbWUiLiBSZXR1cm4gTlVMTCB1cG9uIGVycm9yLgogICovCi1leHRlcm4gY2hhciAqeGRnX2NhY2hlX2hvbWUoY29uc3QgY2hhciAqZmlsZW5hbWUpOworY2hhciAqeGRnX2NhY2hlX2hvbWUoY29uc3QgY2hhciAqZmlsZW5hbWUpOwogCi1leHRlcm4gaW50IGdpdF9vcGVuX2Nsb2V4ZWMoY29uc3QgY2hhciAqbmFtZSwgaW50IGZsYWdzKTsKK2ludCBnaXRfb3Blbl9jbG9leGVjKGNvbnN0IGNoYXIgKm5hbWUsIGludCBmbGFncyk7CiAjZGVmaW5lIGdpdF9vcGVuKG5hbWUpIGdpdF9vcGVuX2Nsb2V4ZWMobmFtZSwgT19SRE9OTFkpCi1leHRlcm4gaW50IHVucGFja19zaGExX2hlYWRlcihnaXRfenN0cmVhbSAqc3RyZWFtLCB1bnNpZ25lZCBjaGFyICptYXAsIHVuc2lnbmVkIGxvbmcgbWFwc2l6ZSwgdm9pZCAqYnVmZmVyLCB1bnNpZ25lZCBsb25nIGJ1ZnNpeik7Ci1leHRlcm4gaW50IHBhcnNlX3NoYTFfaGVhZGVyKGNvbnN0IGNoYXIgKmhkciwgdW5zaWduZWQgbG9uZyAqc2l6ZXApOworaW50IHVucGFja19sb29zZV9oZWFkZXIoZ2l0X3pzdHJlYW0gKnN0cmVhbSwgdW5zaWduZWQgY2hhciAqbWFwLCB1bnNpZ25lZCBsb25nIG1hcHNpemUsIHZvaWQgKmJ1ZmZlciwgdW5zaWduZWQgbG9uZyBidWZzaXopOworaW50IHBhcnNlX2xvb3NlX2hlYWRlcihjb25zdCBjaGFyICpoZHIsIHVuc2lnbmVkIGxvbmcgKnNpemVwKTsKIAotZXh0ZXJuIGludCBjaGVja19vYmplY3Rfc2lnbmF0dXJlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgdm9pZCAqYnVmLCB1bnNpZ25lZCBsb25nIHNpemUsIGNvbnN0IGNoYXIgKnR5cGUpOworaW50IGNoZWNrX29iamVjdF9zaWduYXR1cmUoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCSAgIHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyBzaXplLCBjb25zdCBjaGFyICp0eXBlKTsKIAotZXh0ZXJuIGludCBmaW5hbGl6ZV9vYmplY3RfZmlsZShjb25zdCBjaGFyICp0bXBmaWxlLCBjb25zdCBjaGFyICpmaWxlbmFtZSk7CitpbnQgZmluYWxpemVfb2JqZWN0X2ZpbGUoY29uc3QgY2hhciAqdG1wZmlsZSwgY29uc3QgY2hhciAqZmlsZW5hbWUpOwogCiAvKiBIZWxwZXIgdG8gY2hlY2sgYW5kICJ0b3VjaCIgYSBmaWxlICovCi1leHRlcm4gaW50IGNoZWNrX2FuZF9mcmVzaGVuX2ZpbGUoY29uc3QgY2hhciAqZm4sIGludCBmcmVzaGVuKTsKK2ludCBjaGVja19hbmRfZnJlc2hlbl9maWxlKGNvbnN0IGNoYXIgKmZuLCBpbnQgZnJlc2hlbik7CiAKIGV4dGVybiBjb25zdCBzaWduZWQgY2hhciBoZXh2YWxfdGFibGVbMjU2XTsKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGhleHZhbCh1bnNpZ25lZCBjaGFyIGMpCkBAIC0xMzAzLDcgKzEzOTUsNyBAQAogI2RlZmluZSBGQUxMQkFDS19ERUZBVUxUX0FCQlJFViA3CiAKIHN0cnVjdCBvYmplY3RfY29udGV4dCB7Ci0JdW5zaWduZWQgbW9kZTsKKwl1bnNpZ25lZCBzaG9ydCBtb2RlOwogCS8qCiAJICogc3ltbGlua19wYXRoIGlzIG9ubHkgdXNlZCBieSBnZXRfdHJlZV9lbnRyeV9mb2xsb3dfc3ltbGlua3MsCiAJICogYW5kIG9ubHkgZm9yIHN5bWxpbmtzIHRoYXQgcG9pbnQgb3V0c2lkZSB0aGUgcmVwb3NpdG9yeS4KQEAgLTEzMzIsMjAgKzE0MjQsNTIgQEAKIAlHRVRfT0lEX1RSRUUgfCBHRVRfT0lEX1RSRUVJU0ggfCBcCiAJR0VUX09JRF9CTE9CKQogCi1leHRlcm4gaW50IGdldF9vaWQoY29uc3QgY2hhciAqc3RyLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOwotZXh0ZXJuIGludCBnZXRfb2lkX2NvbW1pdChjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7Ci1leHRlcm4gaW50IGdldF9vaWRfY29tbWl0dGlzaChjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7Ci1leHRlcm4gaW50IGdldF9vaWRfdHJlZShjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7Ci1leHRlcm4gaW50IGdldF9vaWRfdHJlZWlzaChjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7Ci1leHRlcm4gaW50IGdldF9vaWRfYmxvYihjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7Ci1leHRlcm4gdm9pZCBtYXliZV9kaWVfb25fbWlzc3BlbHRfb2JqZWN0X25hbWUoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgZ2V0X29pZF93aXRoX2NvbnRleHQoY29uc3QgY2hhciAqc3RyLCB1bnNpZ25lZCBmbGFncywgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgKm9jKTsKK2VudW0gZ2V0X29pZF9yZXN1bHQgeworCUZPVU5EID0gMCwKKwlNSVNTSU5HX09CSkVDVCA9IC0xLCAvKiBUaGUgcmVxdWVzdGVkIG9iamVjdCBpcyBtaXNzaW5nICovCisJU0hPUlRfTkFNRV9BTUJJR1VPVVMgPSAtMiwKKwkvKiBUaGUgZm9sbG93aW5nIG9ubHkgYXBwbHkgd2hlbiBzeW1saW5rcyBhcmUgZm9sbG93ZWQgKi8KKwlEQU5HTElOR19TWU1MSU5LID0gLTQsIC8qCisJCQkJKiBUaGUgaW5pdGlhbCBzeW1saW5rIGlzIHRoZXJlLCBidXQKKwkJCQkqICh0cmFuc2l0aXZlbHkpIHBvaW50cyB0byBhIG1pc3NpbmcKKwkJCQkqIGluLXRyZWUgZmlsZQorCQkJCSovCisJU1lNTElOS19MT09QID0gLTUsCisJTk9UX0RJUiA9IC02LCAvKgorCQkgICAgICAgKiBTb21ld2hlcmUgYWxvbmcgdGhlIHN5bWxpbmsgY2hhaW4sIGEgcGF0aCBpcworCQkgICAgICAgKiByZXF1ZXN0ZWQgd2hpY2ggY29udGFpbnMgYSBmaWxlIGFzIGEKKwkJICAgICAgICogbm9uLWZpbmFsIGVsZW1lbnQuCisJCSAgICAgICAqLworfTsKIAoraW50IHJlcG9fZ2V0X29pZChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqc3RyLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOworaW50IGdldF9vaWRmKHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY29uc3QgY2hhciAqZm10LCAuLi4pOworaW50IHJlcG9fZ2V0X29pZF9jb21taXQoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IGNoYXIgKnN0ciwgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKK2ludCByZXBvX2dldF9vaWRfY29tbWl0dGlzaChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqc3RyLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOworaW50IHJlcG9fZ2V0X29pZF90cmVlKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CitpbnQgcmVwb19nZXRfb2lkX3RyZWVpc2goc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IGNoYXIgKnN0ciwgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKK2ludCByZXBvX2dldF9vaWRfYmxvYihzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqc3RyLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOworaW50IHJlcG9fZ2V0X29pZF9tYihzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqc3RyLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOwordm9pZCBtYXliZV9kaWVfb25fbWlzc3BlbHRfb2JqZWN0X25hbWUoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkJICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkJICAgICAgIGNvbnN0IGNoYXIgKnByZWZpeCk7CitlbnVtIGdldF9vaWRfcmVzdWx0IGdldF9vaWRfd2l0aF9jb250ZXh0KHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLCBjb25zdCBjaGFyICpzdHIsCisJCQkJCSB1bnNpZ25lZCBmbGFncywgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJCQkgc3RydWN0IG9iamVjdF9jb250ZXh0ICpvYyk7CisKKyNkZWZpbmUgZ2V0X29pZChzdHIsIG9pZCkJCXJlcG9fZ2V0X29pZCh0aGVfcmVwb3NpdG9yeSwgc3RyLCBvaWQpCisjZGVmaW5lIGdldF9vaWRfY29tbWl0KHN0ciwgb2lkKQlyZXBvX2dldF9vaWRfY29tbWl0KHRoZV9yZXBvc2l0b3J5LCBzdHIsIG9pZCkKKyNkZWZpbmUgZ2V0X29pZF9jb21taXR0aXNoKHN0ciwgb2lkKQlyZXBvX2dldF9vaWRfY29tbWl0dGlzaCh0aGVfcmVwb3NpdG9yeSwgc3RyLCBvaWQpCisjZGVmaW5lIGdldF9vaWRfdHJlZShzdHIsIG9pZCkJCXJlcG9fZ2V0X29pZF90cmVlKHRoZV9yZXBvc2l0b3J5LCBzdHIsIG9pZCkKKyNkZWZpbmUgZ2V0X29pZF90cmVlaXNoKHN0ciwgb2lkKQlyZXBvX2dldF9vaWRfdHJlZWlzaCh0aGVfcmVwb3NpdG9yeSwgc3RyLCBvaWQpCisjZGVmaW5lIGdldF9vaWRfYmxvYihzdHIsIG9pZCkJCXJlcG9fZ2V0X29pZF9ibG9iKHRoZV9yZXBvc2l0b3J5LCBzdHIsIG9pZCkKKyNkZWZpbmUgZ2V0X29pZF9tYihzdHIsIG9pZCkgCQlyZXBvX2dldF9vaWRfbWIodGhlX3JlcG9zaXRvcnksIHN0ciwgb2lkKQogCiB0eXBlZGVmIGludCBlYWNoX2FiYnJldl9mbihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHZvaWQgKik7Ci1leHRlcm4gaW50IGZvcl9lYWNoX2FiYnJldihjb25zdCBjaGFyICpwcmVmaXgsIGVhY2hfYWJicmV2X2ZuLCB2b2lkICopOworaW50IHJlcG9fZm9yX2VhY2hfYWJicmV2KHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBjaGFyICpwcmVmaXgsIGVhY2hfYWJicmV2X2ZuLCB2b2lkICopOworI2RlZmluZSBmb3JfZWFjaF9hYmJyZXYocHJlZml4LCBmbiwgZGF0YSkgcmVwb19mb3JfZWFjaF9hYmJyZXYodGhlX3JlcG9zaXRvcnksIHByZWZpeCwgZm4sIGRhdGEpCiAKLWV4dGVybiBpbnQgc2V0X2Rpc2FtYmlndWF0ZV9oaW50X2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlKTsKK2ludCBzZXRfZGlzYW1iaWd1YXRlX2hpbnRfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUpOwogCiAvKgogICogVHJ5IHRvIHJlYWQgYSBTSEExIGluIGhleGFkZWNpbWFsIGZvcm1hdCBmcm9tIHRoZSA0MCBjaGFyYWN0ZXJzCkBAIC0xMzU0LDMxICsxNDc4LDM0IEBACiAgKiBpbnB1dCwgc28gaXQgaXMgc2FmZSB0byBwYXNzIHRoaXMgZnVuY3Rpb24gYW4gYXJiaXRyYXJ5CiAgKiBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nLgogICovCi1leHRlcm4gaW50IGdldF9zaGExX2hleChjb25zdCBjaGFyICpoZXgsIHVuc2lnbmVkIGNoYXIgKnNoYTEpOwotZXh0ZXJuIGludCBnZXRfb2lkX2hleChjb25zdCBjaGFyICpoZXgsIHN0cnVjdCBvYmplY3RfaWQgKnNoYTEpOworaW50IGdldF9zaGExX2hleChjb25zdCBjaGFyICpoZXgsIHVuc2lnbmVkIGNoYXIgKnNoYTEpOworaW50IGdldF9vaWRfaGV4KGNvbnN0IGNoYXIgKmhleCwgc3RydWN0IG9iamVjdF9pZCAqc2hhMSk7CiAKIC8qCiAgKiBSZWFkIGBsZW5gIHBhaXJzIG9mIGhleGFkZWNpbWFsIGRpZ2l0cyBmcm9tIGBoZXhgIGFuZCB3cml0ZSB0aGUKICAqIHZhbHVlcyB0byBgYmluYXJ5YCBhcyBgbGVuYCBieXRlcy4gUmV0dXJuIDAgb24gc3VjY2Vzcywgb3IgLTEgaWYKICAqIHRoZSBpbnB1dCBkb2VzIG5vdCBjb25zaXN0IG9mIGhleCBkaWdpdHMpLgogICovCi1leHRlcm4gaW50IGhleF90b19ieXRlcyh1bnNpZ25lZCBjaGFyICpiaW5hcnksIGNvbnN0IGNoYXIgKmhleCwgc2l6ZV90IGxlbik7CitpbnQgaGV4X3RvX2J5dGVzKHVuc2lnbmVkIGNoYXIgKmJpbmFyeSwgY29uc3QgY2hhciAqaGV4LCBzaXplX3QgbGVuKTsKIAogLyoKLSAqIENvbnZlcnQgYSBiaW5hcnkgc2hhMSB0byBpdHMgaGV4IGVxdWl2YWxlbnQuIFRoZSBgX3JgIHZhcmlhbnQgaXMgcmVlbnRyYW50LAorICogQ29udmVydCBhIGJpbmFyeSBoYXNoIGluICJ1bnNpZ25lZCBjaGFyIFtdIiBvciBhbiBvYmplY3QgbmFtZSBpbgorICogInN0cnVjdCBvYmplY3RfaWQgKiIgdG8gaXRzIGhleCBlcXVpdmFsZW50LiBUaGUgYF9yYCB2YXJpYW50IGlzIHJlZW50cmFudCwKICAqIGFuZCB3cml0ZXMgdGhlIE5VTC10ZXJtaW5hdGVkIG91dHB1dCB0byB0aGUgYnVmZmVyIGBvdXRgLCB3aGljaCBtdXN0IGJlIGF0Ci0gKiBsZWFzdCBgR0lUX1NIQTFfSEVYU1ogKyAxYCBieXRlcywgYW5kIHJldHVybnMgYSBwb2ludGVyIHRvIG91dCBmb3IKKyAqIGxlYXN0IGBHSVRfTUFYX0hFWFNaICsgMWAgYnl0ZXMsIGFuZCByZXR1cm5zIGEgcG9pbnRlciB0byBvdXQgZm9yCiAgKiBjb252ZW5pZW5jZS4KICAqCiAgKiBUaGUgbm9uLWBfcmAgdmFyaWFudCByZXR1cm5zIGEgc3RhdGljIGJ1ZmZlciwgYnV0IHVzZXMgYSByaW5nIG9mIDQKICAqIGJ1ZmZlcnMsIG1ha2luZyBpdCBzYWZlIHRvIG1ha2UgbXVsdGlwbGUgY2FsbHMgZm9yIGEgc2luZ2xlIHN0YXRlbWVudCwgbGlrZToKICAqCi0gKiAgIHByaW50ZigiJXMgLT4gJXMiLCBzaGExX3RvX2hleChvbmUpLCBzaGExX3RvX2hleCh0d28pKTsKKyAqICAgcHJpbnRmKCIlcyAtPiAlcyIsIGhhc2hfdG9faGV4KG9uZSksIGhhc2hfdG9faGV4KHR3bykpOworICogICBwcmludGYoIiVzIC0+ICVzIiwgb2lkX3RvX2hleChvbmUpLCBvaWRfdG9faGV4KHR3bykpOwogICovCi1leHRlcm4gY2hhciAqc2hhMV90b19oZXhfcihjaGFyICpvdXQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOwotZXh0ZXJuIGNoYXIgKm9pZF90b19oZXhfcihjaGFyICpvdXQsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7Ci1leHRlcm4gY2hhciAqc2hhMV90b19oZXgoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7CS8qIHN0YXRpYyBidWZmZXIgcmVzdWx0ISAqLwotZXh0ZXJuIGNoYXIgKm9pZF90b19oZXgoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsJLyogc2FtZSBzdGF0aWMgYnVmZmVyIGFzIHNoYTFfdG9faGV4ICovCitjaGFyICpoYXNoX3RvX2hleF9hbGdvcF9yKGNoYXIgKmJ1ZmZlciwgY29uc3QgdW5zaWduZWQgY2hhciAqaGFzaCwgY29uc3Qgc3RydWN0IGdpdF9oYXNoX2FsZ28gKik7CitjaGFyICpvaWRfdG9faGV4X3IoY2hhciAqb3V0LCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOworY2hhciAqaGFzaF90b19oZXhfYWxnb3AoY29uc3QgdW5zaWduZWQgY2hhciAqaGFzaCwgY29uc3Qgc3RydWN0IGdpdF9oYXNoX2FsZ28gKik7CS8qIHN0YXRpYyBidWZmZXIgcmVzdWx0ISAqLworY2hhciAqaGFzaF90b19oZXgoY29uc3QgdW5zaWduZWQgY2hhciAqaGFzaCk7CQkJCQkJLyogc2FtZSBzdGF0aWMgYnVmZmVyICovCitjaGFyICpvaWRfdG9faGV4KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CQkJCQkJLyogc2FtZSBzdGF0aWMgYnVmZmVyICovCiAKIC8qCiAgKiBQYXJzZSBhIDQwLWNoYXJhY3RlciBoZXhhZGVjaW1hbCBvYmplY3QgSUQgc3RhcnRpbmcgZnJvbSBoZXgsIHVwZGF0aW5nIHRoZQpAQCAtMTM4Nyw3ICsxNTE0LDcgQEAKICAqIG90aGVyIGludmFsaWQgY2hhcmFjdGVyLiAgZW5kIGlzIG9ubHkgdXBkYXRlZCBvbiBzdWNjZXNzOyBvdGhlcndpc2UsIGl0IGlzCiAgKiB1bm1vZGlmaWVkLgogICovCi1leHRlcm4gaW50IHBhcnNlX29pZF9oZXgoY29uc3QgY2hhciAqaGV4LCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKiplbmQpOworaW50IHBhcnNlX29pZF9oZXgoY29uc3QgY2hhciAqaGV4LCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKiplbmQpOwogCiAvKgogICogVGhpcyByZWFkcyBzaG9ydC1oYW5kIHN5bnRheCB0aGF0IG5vdCBvbmx5IGV2YWx1YXRlcyB0byBhIGNvbW1pdApAQCAtMTQxOCwyNyArMTU0NSwzNSBAQAogI2RlZmluZSBJTlRFUlBSRVRfQlJBTkNIX0xPQ0FMICgxPDwwKQogI2RlZmluZSBJTlRFUlBSRVRfQlJBTkNIX1JFTU9URSAoMTw8MSkKICNkZWZpbmUgSU5URVJQUkVUX0JSQU5DSF9IRUFEICgxPDwyKQotZXh0ZXJuIGludCBpbnRlcnByZXRfYnJhbmNoX25hbWUoY29uc3QgY2hhciAqc3RyLCBpbnQgbGVuLCBzdHJ1Y3Qgc3RyYnVmICosCi0JCQkJIHVuc2lnbmVkIGFsbG93ZWQpOwotZXh0ZXJuIGludCBnZXRfb2lkX21iKGNvbnN0IGNoYXIgKnN0ciwgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKK2ludCByZXBvX2ludGVycHJldF9icmFuY2hfbmFtZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCSAgICAgICBjb25zdCBjaGFyICpzdHIsIGludCBsZW4sCisJCQkgICAgICAgc3RydWN0IHN0cmJ1ZiAqYnVmLAorCQkJICAgICAgIHVuc2lnbmVkIGFsbG93ZWQpOworI2RlZmluZSBpbnRlcnByZXRfYnJhbmNoX25hbWUoc3RyLCBsZW4sIGJ1ZiwgYWxsb3dlZCkgXAorCXJlcG9faW50ZXJwcmV0X2JyYW5jaF9uYW1lKHRoZV9yZXBvc2l0b3J5LCBzdHIsIGxlbiwgYnVmLCBhbGxvd2VkKQogCi1leHRlcm4gaW50IHZhbGlkYXRlX2hlYWRyZWYoY29uc3QgY2hhciAqcmVmKTsKK2ludCB2YWxpZGF0ZV9oZWFkcmVmKGNvbnN0IGNoYXIgKnJlZik7CiAKLWV4dGVybiBpbnQgYmFzZV9uYW1lX2NvbXBhcmUoY29uc3QgY2hhciAqbmFtZTEsIGludCBsZW4xLCBpbnQgbW9kZTEsIGNvbnN0IGNoYXIgKm5hbWUyLCBpbnQgbGVuMiwgaW50IG1vZGUyKTsKLWV4dGVybiBpbnQgZGZfbmFtZV9jb21wYXJlKGNvbnN0IGNoYXIgKm5hbWUxLCBpbnQgbGVuMSwgaW50IG1vZGUxLCBjb25zdCBjaGFyICpuYW1lMiwgaW50IGxlbjIsIGludCBtb2RlMik7Ci1leHRlcm4gaW50IG5hbWVfY29tcGFyZShjb25zdCBjaGFyICpuYW1lMSwgc2l6ZV90IGxlbjEsIGNvbnN0IGNoYXIgKm5hbWUyLCBzaXplX3QgbGVuMik7Ci1leHRlcm4gaW50IGNhY2hlX25hbWVfc3RhZ2VfY29tcGFyZShjb25zdCBjaGFyICpuYW1lMSwgaW50IGxlbjEsIGludCBzdGFnZTEsIGNvbnN0IGNoYXIgKm5hbWUyLCBpbnQgbGVuMiwgaW50IHN0YWdlMik7CitpbnQgYmFzZV9uYW1lX2NvbXBhcmUoY29uc3QgY2hhciAqbmFtZTEsIGludCBsZW4xLCBpbnQgbW9kZTEsIGNvbnN0IGNoYXIgKm5hbWUyLCBpbnQgbGVuMiwgaW50IG1vZGUyKTsKK2ludCBkZl9uYW1lX2NvbXBhcmUoY29uc3QgY2hhciAqbmFtZTEsIGludCBsZW4xLCBpbnQgbW9kZTEsIGNvbnN0IGNoYXIgKm5hbWUyLCBpbnQgbGVuMiwgaW50IG1vZGUyKTsKK2ludCBuYW1lX2NvbXBhcmUoY29uc3QgY2hhciAqbmFtZTEsIHNpemVfdCBsZW4xLCBjb25zdCBjaGFyICpuYW1lMiwgc2l6ZV90IGxlbjIpOworaW50IGNhY2hlX25hbWVfc3RhZ2VfY29tcGFyZShjb25zdCBjaGFyICpuYW1lMSwgaW50IGxlbjEsIGludCBzdGFnZTEsIGNvbnN0IGNoYXIgKm5hbWUyLCBpbnQgbGVuMiwgaW50IHN0YWdlMik7CiAKLWV4dGVybiB2b2lkICpyZWFkX29iamVjdF93aXRoX3JlZmVyZW5jZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCi0JCQkJCWNvbnN0IGNoYXIgKnJlcXVpcmVkX3R5cGUsCi0JCQkJCXVuc2lnbmVkIGxvbmcgKnNpemUsCi0JCQkJCXN0cnVjdCBvYmplY3RfaWQgKm9pZF9yZXQpOwordm9pZCAqcmVhZF9vYmplY3Rfd2l0aF9yZWZlcmVuY2Uoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCQkgY29uc3QgY2hhciAqcmVxdWlyZWRfdHlwZSwKKwkJCQkgdW5zaWduZWQgbG9uZyAqc2l6ZSwKKwkJCQkgc3RydWN0IG9iamVjdF9pZCAqb2lkX3JldCk7CiAKLWV4dGVybiBzdHJ1Y3Qgb2JqZWN0ICpwZWVsX3RvX3R5cGUoY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4sCi0JCQkJICAgc3RydWN0IG9iamVjdCAqbywgZW51bSBvYmplY3RfdHlwZSk7CitzdHJ1Y3Qgb2JqZWN0ICpyZXBvX3BlZWxfdG9fdHlwZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkgY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4sCisJCQkJIHN0cnVjdCBvYmplY3QgKm8sIGVudW0gb2JqZWN0X3R5cGUpOworI2RlZmluZSBwZWVsX3RvX3R5cGUobmFtZSwgbmFtZWxlbiwgb2JqLCB0eXBlKSBcCisJcmVwb19wZWVsX3RvX3R5cGUodGhlX3JlcG9zaXRvcnksIG5hbWUsIG5hbWVsZW4sIG9iaiwgdHlwZSkKIAogZW51bSBkYXRlX21vZGVfdHlwZSB7CiAJREFURV9OT1JNQUwgPSAwLAorCURBVEVfSFVNQU4sCiAJREFURV9SRUxBVElWRSwKIAlEQVRFX1NIT1JULAogCURBVEVfSVNPODYwMSwKQEAgLTE0NjQsNyArMTU5OSw4IEBACiBzdHJ1Y3QgZGF0ZV9tb2RlICpkYXRlX21vZGVfZnJvbV90eXBlKGVudW0gZGF0ZV9tb2RlX3R5cGUgdHlwZSk7CiAKIGNvbnN0IGNoYXIgKnNob3dfZGF0ZSh0aW1lc3RhbXBfdCB0aW1lLCBpbnQgdGltZXpvbmUsIGNvbnN0IHN0cnVjdCBkYXRlX21vZGUgKm1vZGUpOwotdm9pZCBzaG93X2RhdGVfcmVsYXRpdmUodGltZXN0YW1wX3QgdGltZSwgaW50IHR6LCBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqbm93LAordm9pZCBzaG93X2RhdGVfcmVsYXRpdmUodGltZXN0YW1wX3QgdGltZSwgc3RydWN0IHN0cmJ1ZiAqdGltZWJ1Zik7Cit2b2lkIHNob3dfZGF0ZV9odW1hbih0aW1lc3RhbXBfdCB0aW1lLCBpbnQgdHosIGNvbnN0IHN0cnVjdCB0aW1ldmFsICpub3csCiAJCQlzdHJ1Y3Qgc3RyYnVmICp0aW1lYnVmKTsKIGludCBwYXJzZV9kYXRlKGNvbnN0IGNoYXIgKmRhdGUsIHN0cnVjdCBzdHJidWYgKm91dCk7CiBpbnQgcGFyc2VfZGF0ZV9iYXNpYyhjb25zdCBjaGFyICpkYXRlLCB0aW1lc3RhbXBfdCAqdGltZXN0YW1wLCBpbnQgKm9mZnNldCk7CkBAIC0xNDcyLDI1ICsxNjA4LDM4IEBACiB2b2lkIGRhdGVzdGFtcChzdHJ1Y3Qgc3RyYnVmICpvdXQpOwogI2RlZmluZSBhcHByb3hpZGF0ZShzKSBhcHByb3hpZGF0ZV9jYXJlZnVsKChzKSwgTlVMTCkKIHRpbWVzdGFtcF90IGFwcHJveGlkYXRlX2NhcmVmdWwoY29uc3QgY2hhciAqLCBpbnQgKik7Ci10aW1lc3RhbXBfdCBhcHByb3hpZGF0ZV9yZWxhdGl2ZShjb25zdCBjaGFyICpkYXRlLCBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqbm93KTsKK3RpbWVzdGFtcF90IGFwcHJveGlkYXRlX3JlbGF0aXZlKGNvbnN0IGNoYXIgKmRhdGUpOwogdm9pZCBwYXJzZV9kYXRlX2Zvcm1hdChjb25zdCBjaGFyICpmb3JtYXQsIHN0cnVjdCBkYXRlX21vZGUgKm1vZGUpOwogaW50IGRhdGVfb3ZlcmZsb3dzKHRpbWVzdGFtcF90IGRhdGUpOwogCiAjZGVmaW5lIElERU5UX1NUUklDVAkgICAgICAgMQogI2RlZmluZSBJREVOVF9OT19EQVRFCSAgICAgICAyCiAjZGVmaW5lIElERU5UX05PX05BTUUJICAgICAgIDQKLWV4dGVybiBjb25zdCBjaGFyICpnaXRfYXV0aG9yX2luZm8oaW50KTsKLWV4dGVybiBjb25zdCBjaGFyICpnaXRfY29tbWl0dGVyX2luZm8oaW50KTsKLWV4dGVybiBjb25zdCBjaGFyICpmbXRfaWRlbnQoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqZW1haWwsIGNvbnN0IGNoYXIgKmRhdGVfc3RyLCBpbnQpOwotZXh0ZXJuIGNvbnN0IGNoYXIgKmZtdF9uYW1lKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmVtYWlsKTsKLWV4dGVybiBjb25zdCBjaGFyICppZGVudF9kZWZhdWx0X25hbWUodm9pZCk7Ci1leHRlcm4gY29uc3QgY2hhciAqaWRlbnRfZGVmYXVsdF9lbWFpbCh2b2lkKTsKLWV4dGVybiBjb25zdCBjaGFyICpnaXRfZWRpdG9yKHZvaWQpOwotZXh0ZXJuIGNvbnN0IGNoYXIgKmdpdF9zZXF1ZW5jZV9lZGl0b3Iodm9pZCk7Ci1leHRlcm4gY29uc3QgY2hhciAqZ2l0X3BhZ2VyKGludCBzdGRvdXRfaXNfdHR5KTsKLWV4dGVybiBpbnQgaXNfdGVybWluYWxfZHVtYih2b2lkKTsKLWV4dGVybiBpbnQgZ2l0X2lkZW50X2NvbmZpZyhjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgdm9pZCAqKTsKLWV4dGVybiB2b2lkIHJlc2V0X2lkZW50X2RhdGUodm9pZCk7CisKK2VudW0gd2FudF9pZGVudCB7CisJV0FOVF9CTEFOS19JREVOVCwKKwlXQU5UX0FVVEhPUl9JREVOVCwKKwlXQU5UX0NPTU1JVFRFUl9JREVOVAorfTsKKworY29uc3QgY2hhciAqZ2l0X2F1dGhvcl9pbmZvKGludCk7Citjb25zdCBjaGFyICpnaXRfY29tbWl0dGVyX2luZm8oaW50KTsKK2NvbnN0IGNoYXIgKmZtdF9pZGVudChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICplbWFpbCwKKwkJICAgICAgZW51bSB3YW50X2lkZW50IHdob3NlX2lkZW50LAorCQkgICAgICBjb25zdCBjaGFyICpkYXRlX3N0ciwgaW50KTsKK2NvbnN0IGNoYXIgKmZtdF9uYW1lKGVudW0gd2FudF9pZGVudCk7Citjb25zdCBjaGFyICppZGVudF9kZWZhdWx0X25hbWUodm9pZCk7Citjb25zdCBjaGFyICppZGVudF9kZWZhdWx0X2VtYWlsKHZvaWQpOworY29uc3QgY2hhciAqZ2l0X2VkaXRvcih2b2lkKTsKK2NvbnN0IGNoYXIgKmdpdF9zZXF1ZW5jZV9lZGl0b3Iodm9pZCk7Citjb25zdCBjaGFyICpnaXRfcGFnZXIoaW50IHN0ZG91dF9pc190dHkpOworaW50IGlzX3Rlcm1pbmFsX2R1bWIodm9pZCk7CitpbnQgZ2l0X2lkZW50X2NvbmZpZyhjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgdm9pZCAqKTsKKy8qCisgKiBQcmVwYXJlIGFuIGlkZW50IHRvIGZhbGwgYmFjayBvbiBpZiB0aGUgdXNlciBkaWRuJ3QgY29uZmlndXJlIGl0LgorICovCit2b2lkIHByZXBhcmVfZmFsbGJhY2tfaWRlbnQoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqZW1haWwpOwordm9pZCByZXNldF9pZGVudF9kYXRlKHZvaWQpOwogCiBzdHJ1Y3QgaWRlbnRfc3BsaXQgewogCWNvbnN0IGNoYXIgKm5hbWVfYmVnaW47CkBAIC0xNTA2LDcgKzE2NTUsNyBAQAogICogU2lnbmFscyBhbiBzdWNjZXNzIHdpdGggMCwgYnV0IHRpbWUgcGFydCBvZiB0aGUgcmVzdWx0IG1heSBiZSBOVUxMCiAgKiBpZiB0aGUgaW5wdXQgbGFja3MgdGltZXN0YW1wIGFuZCB6b25lCiAgKi8KLWV4dGVybiBpbnQgc3BsaXRfaWRlbnRfbGluZShzdHJ1Y3QgaWRlbnRfc3BsaXQgKiwgY29uc3QgY2hhciAqLCBpbnQpOworaW50IHNwbGl0X2lkZW50X2xpbmUoc3RydWN0IGlkZW50X3NwbGl0ICosIGNvbnN0IGNoYXIgKiwgaW50KTsKIAogLyoKICAqIExpa2Ugc2hvd19kYXRlLCBidXQgcHVsbCB0aGUgdGltZXN0YW1wIGFuZCB0eiBwYXJhbWV0ZXJzIGZyb20KQEAgLTE1MjMsNyArMTY3Miw3IEBACiAgKiBCZWNhdXNlIHRoZXJlIGFyZSB0d28gZmllbGRzLCB3ZSBtdXN0IGNob29zZSBvbmUgYXMgdGhlIHByaW1hcnkga2V5OyB3ZQogICogY3VycmVudGx5IGFyYml0cmFyaWx5IHBpY2sgdGhlIGVtYWlsLgogICovCi1leHRlcm4gaW50IGlkZW50X2NtcChjb25zdCBzdHJ1Y3QgaWRlbnRfc3BsaXQgKiwgY29uc3Qgc3RydWN0IGlkZW50X3NwbGl0ICopOworaW50IGlkZW50X2NtcChjb25zdCBzdHJ1Y3QgaWRlbnRfc3BsaXQgKiwgY29uc3Qgc3RydWN0IGlkZW50X3NwbGl0ICopOwogCiBzdHJ1Y3QgY2hlY2tvdXQgewogCXN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlOwpAQCAtMTUzOSw5ICsxNjg4LDE0IEBACiAjZGVmaW5lIENIRUNLT1VUX0lOSVQgeyBOVUxMLCAiIiB9CiAKICNkZWZpbmUgVEVNUE9SQVJZX0ZJTEVOQU1FX0xFTkdUSCAyNQotZXh0ZXJuIGludCBjaGVja291dF9lbnRyeShzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLCBjb25zdCBzdHJ1Y3QgY2hlY2tvdXQgKnN0YXRlLCBjaGFyICp0b3BhdGgpOwotZXh0ZXJuIHZvaWQgZW5hYmxlX2RlbGF5ZWRfY2hlY2tvdXQoc3RydWN0IGNoZWNrb3V0ICpzdGF0ZSk7Ci1leHRlcm4gaW50IGZpbmlzaF9kZWxheWVkX2NoZWNrb3V0KHN0cnVjdCBjaGVja291dCAqc3RhdGUpOworaW50IGNoZWNrb3V0X2VudHJ5KHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsIGNvbnN0IHN0cnVjdCBjaGVja291dCAqc3RhdGUsIGNoYXIgKnRvcGF0aCwgaW50ICpucl9jaGVja291dHMpOwordm9pZCBlbmFibGVfZGVsYXllZF9jaGVja291dChzdHJ1Y3QgY2hlY2tvdXQgKnN0YXRlKTsKK2ludCBmaW5pc2hfZGVsYXllZF9jaGVja291dChzdHJ1Y3QgY2hlY2tvdXQgKnN0YXRlLCBpbnQgKm5yX2NoZWNrb3V0cyk7CisvKgorICogVW5saW5rIHRoZSBsYXN0IGNvbXBvbmVudCBhbmQgc2NoZWR1bGUgdGhlIGxlYWRpbmcgZGlyZWN0b3JpZXMgZm9yCisgKiByZW1vdmFsLCBzdWNoIHRoYXQgZW1wdHkgZGlyZWN0b3JpZXMgZ2V0IHJlbW92ZWQuCisgKi8KK3ZvaWQgdW5saW5rX2VudHJ5KGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UpOwogCiBzdHJ1Y3QgY2FjaGVfZGVmIHsKIAlzdHJ1Y3Qgc3RyYnVmIHBhdGg7CkBAIC0xNTU1LDEyICsxNzA5LDEyIEBACiAJc3RyYnVmX3JlbGVhc2UoJmNhY2hlLT5wYXRoKTsKIH0KIAotZXh0ZXJuIGludCBoYXNfc3ltbGlua19sZWFkaW5nX3BhdGgoY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbik7Ci1leHRlcm4gaW50IHRocmVhZGVkX2hhc19zeW1saW5rX2xlYWRpbmdfcGF0aChzdHJ1Y3QgY2FjaGVfZGVmICosIGNvbnN0IGNoYXIgKiwgaW50KTsKLWV4dGVybiBpbnQgY2hlY2tfbGVhZGluZ19wYXRoKGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4pOwotZXh0ZXJuIGludCBoYXNfZGlyc19vbmx5X3BhdGgoY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbiwgaW50IHByZWZpeF9sZW4pOwotZXh0ZXJuIHZvaWQgc2NoZWR1bGVfZGlyX2Zvcl9yZW1vdmFsKGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4pOwotZXh0ZXJuIHZvaWQgcmVtb3ZlX3NjaGVkdWxlZF9kaXJzKHZvaWQpOworaW50IGhhc19zeW1saW5rX2xlYWRpbmdfcGF0aChjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuKTsKK2ludCB0aHJlYWRlZF9oYXNfc3ltbGlua19sZWFkaW5nX3BhdGgoc3RydWN0IGNhY2hlX2RlZiAqLCBjb25zdCBjaGFyICosIGludCk7CitpbnQgY2hlY2tfbGVhZGluZ19wYXRoKGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4pOworaW50IGhhc19kaXJzX29ubHlfcGF0aChjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuLCBpbnQgcHJlZml4X2xlbik7Cit2b2lkIHNjaGVkdWxlX2Rpcl9mb3JfcmVtb3ZhbChjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuKTsKK3ZvaWQgcmVtb3ZlX3NjaGVkdWxlZF9kaXJzKHZvaWQpOwogCiBzdHJ1Y3QgcGFja193aW5kb3cgewogCXN0cnVjdCBwYWNrX3dpbmRvdyAqbmV4dDsKQEAgLTE1ODIsMTcgKzE3MzYsMTcgQEAKICAqIHVzdWFsICJYWFhYWFgiIHRyYWlsZXIsIGFuZCB0aGUgcmVzdWx0aW5nIGZpbGVuYW1lIGlzIHdyaXR0ZW4gaW50byB0aGUKICAqICJ0ZW1wbGF0ZSIgYnVmZmVyLiBSZXR1cm5zIHRoZSBvcGVuIGRlc2NyaXB0b3IuCiAgKi8KLWV4dGVybiBpbnQgb2RiX21rc3RlbXAoc3RydWN0IHN0cmJ1ZiAqdGVtcF9maWxlbmFtZSwgY29uc3QgY2hhciAqcGF0dGVybik7CitpbnQgb2RiX21rc3RlbXAoc3RydWN0IHN0cmJ1ZiAqdGVtcF9maWxlbmFtZSwgY29uc3QgY2hhciAqcGF0dGVybik7CiAKIC8qCiAgKiBDcmVhdGUgYSBwYWNrIC5rZWVwIGZpbGUgbmFtZWQgIm5hbWUiICh3aGljaCBzaG91bGQgZ2VuZXJhbGx5IGJlIHRoZSBvdXRwdXQKICAqIG9mIG9kYl9wYWNrX25hbWUpLiBSZXR1cm5zIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW5lZCBmb3Igd3JpdGluZywgb3IgLTEgb24KICAqIGVycm9yLgogICovCi1leHRlcm4gaW50IG9kYl9wYWNrX2tlZXAoY29uc3QgY2hhciAqbmFtZSk7CitpbnQgb2RiX3BhY2tfa2VlcChjb25zdCBjaGFyICpuYW1lKTsKIAogLyoKLSAqIFNldCB0aGlzIHRvIDAgdG8gcHJldmVudCBzaGExX29iamVjdF9pbmZvX2V4dGVuZGVkKCkgZnJvbSBmZXRjaGluZyBtaXNzaW5nCisgKiBTZXQgdGhpcyB0byAwIHRvIHByZXZlbnQgb2lkX29iamVjdF9pbmZvX2V4dGVuZGVkKCkgZnJvbSBmZXRjaGluZyBtaXNzaW5nCiAgKiBibG9icy4gVGhpcyBoYXMgYSBkaWZmZXJlbmNlIG9ubHkgaWYgZXh0ZW5zaW9ucy5wYXJ0aWFsQ2xvbmUgaXMgc2V0LgogICoKICAqIEl0cyBkZWZhdWx0IHZhbHVlIGlzIDEuCkBAIC0xNjAwLDEwICsxNzU0LDEwIEBACiBleHRlcm4gaW50IGZldGNoX2lmX21pc3Npbmc7CiAKIC8qIER1bWIgc2VydmVycyBzdXBwb3J0ICovCi1leHRlcm4gaW50IHVwZGF0ZV9zZXJ2ZXJfaW5mbyhpbnQpOworaW50IHVwZGF0ZV9zZXJ2ZXJfaW5mbyhpbnQpOwogCi1leHRlcm4gY29uc3QgY2hhciAqZ2V0X2xvZ19vdXRwdXRfZW5jb2Rpbmcodm9pZCk7Ci1leHRlcm4gY29uc3QgY2hhciAqZ2V0X2NvbW1pdF9vdXRwdXRfZW5jb2Rpbmcodm9pZCk7Citjb25zdCBjaGFyICpnZXRfbG9nX291dHB1dF9lbmNvZGluZyh2b2lkKTsKK2NvbnN0IGNoYXIgKmdldF9jb21taXRfb3V0cHV0X2VuY29kaW5nKHZvaWQpOwogCiAvKgogICogVGhpcyBpcyBhIGhhY2sgZm9yIHRlc3QgcHJvZ3JhbXMgbGlrZSB0ZXN0LWR1bXAtdW50cmFja2VkLWNhY2hlIHRvCkBAIC0xNjEyLDggKzE3NjYsOCBAQAogICovCiBleHRlcm4gaW50IGlnbm9yZV91bnRyYWNrZWRfY2FjaGVfY29uZmlnOwogCi1leHRlcm4gaW50IGNvbW1pdHRlcl9pZGVudF9zdWZmaWNpZW50bHlfZ2l2ZW4odm9pZCk7Ci1leHRlcm4gaW50IGF1dGhvcl9pZGVudF9zdWZmaWNpZW50bHlfZ2l2ZW4odm9pZCk7CitpbnQgY29tbWl0dGVyX2lkZW50X3N1ZmZpY2llbnRseV9naXZlbih2b2lkKTsKK2ludCBhdXRob3JfaWRlbnRfc3VmZmljaWVudGx5X2dpdmVuKHZvaWQpOwogCiBleHRlcm4gY29uc3QgY2hhciAqZ2l0X2NvbW1pdF9lbmNvZGluZzsKIGV4dGVybiBjb25zdCBjaGFyICpnaXRfbG9nX291dHB1dF9lbmNvZGluZzsKQEAgLTE2MjEsMjIgKzE3NzUsMjIgQEAKIGV4dGVybiBjb25zdCBjaGFyICpnaXRfbWFpbG1hcF9ibG9iOwogCiAvKiBJTyBoZWxwZXIgZnVuY3Rpb25zICovCi1leHRlcm4gdm9pZCBtYXliZV9mbHVzaF9vcl9kaWUoRklMRSAqLCBjb25zdCBjaGFyICopOwordm9pZCBtYXliZV9mbHVzaF9vcl9kaWUoRklMRSAqLCBjb25zdCBjaGFyICopOwogX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSkKLWV4dGVybiB2b2lkIGZwcmludGZfb3JfZGllKEZJTEUgKiwgY29uc3QgY2hhciAqZm10LCAuLi4pOwordm9pZCBmcHJpbnRmX29yX2RpZShGSUxFICosIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKIAogI2RlZmluZSBDT1BZX1JFQURfRVJST1IgKC0yKQogI2RlZmluZSBDT1BZX1dSSVRFX0VSUk9SICgtMykKLWV4dGVybiBpbnQgY29weV9mZChpbnQgaWZkLCBpbnQgb2ZkKTsKLWV4dGVybiBpbnQgY29weV9maWxlKGNvbnN0IGNoYXIgKmRzdCwgY29uc3QgY2hhciAqc3JjLCBpbnQgbW9kZSk7Ci1leHRlcm4gaW50IGNvcHlfZmlsZV93aXRoX3RpbWUoY29uc3QgY2hhciAqZHN0LCBjb25zdCBjaGFyICpzcmMsIGludCBtb2RlKTsKK2ludCBjb3B5X2ZkKGludCBpZmQsIGludCBvZmQpOworaW50IGNvcHlfZmlsZShjb25zdCBjaGFyICpkc3QsIGNvbnN0IGNoYXIgKnNyYywgaW50IG1vZGUpOworaW50IGNvcHlfZmlsZV93aXRoX3RpbWUoY29uc3QgY2hhciAqZHN0LCBjb25zdCBjaGFyICpzcmMsIGludCBtb2RlKTsKIAotZXh0ZXJuIHZvaWQgd3JpdGVfb3JfZGllKGludCBmZCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgY291bnQpOwotZXh0ZXJuIHZvaWQgZnN5bmNfb3JfZGllKGludCBmZCwgY29uc3QgY2hhciAqKTsKK3ZvaWQgd3JpdGVfb3JfZGllKGludCBmZCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgY291bnQpOwordm9pZCBmc3luY19vcl9kaWUoaW50IGZkLCBjb25zdCBjaGFyICopOwogCi1leHRlcm4gc3NpemVfdCByZWFkX2luX2Z1bGwoaW50IGZkLCB2b2lkICpidWYsIHNpemVfdCBjb3VudCk7Ci1leHRlcm4gc3NpemVfdCB3cml0ZV9pbl9mdWxsKGludCBmZCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgY291bnQpOwotZXh0ZXJuIHNzaXplX3QgcHJlYWRfaW5fZnVsbChpbnQgZmQsIHZvaWQgKmJ1Ziwgc2l6ZV90IGNvdW50LCBvZmZfdCBvZmZzZXQpOworc3NpemVfdCByZWFkX2luX2Z1bGwoaW50IGZkLCB2b2lkICpidWYsIHNpemVfdCBjb3VudCk7Citzc2l6ZV90IHdyaXRlX2luX2Z1bGwoaW50IGZkLCBjb25zdCB2b2lkICpidWYsIHNpemVfdCBjb3VudCk7Citzc2l6ZV90IHByZWFkX2luX2Z1bGwoaW50IGZkLCB2b2lkICpidWYsIHNpemVfdCBjb3VudCwgb2ZmX3Qgb2Zmc2V0KTsKIAogc3RhdGljIGlubGluZSBzc2l6ZV90IHdyaXRlX3N0cl9pbl9mdWxsKGludCBmZCwgY29uc3QgY2hhciAqc3RyKQogewpAQCAtMTY0Nyw3ICsxODAxLDcgQEAKICAqIE9wZW4gKGFuZCB0cnVuY2F0ZSkgdGhlIGZpbGUgYXQgcGF0aCwgd3JpdGUgdGhlIGNvbnRlbnRzIG9mIGJ1ZiB0byBpdCwKICAqIGFuZCBjbG9zZSBpdC4gRGllcyBpZiBhbnkgZXJyb3JzIGFyZSBlbmNvdW50ZXJlZC4KICAqLwotZXh0ZXJuIHZvaWQgd3JpdGVfZmlsZV9idWYoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKTsKK3ZvaWQgd3JpdGVfZmlsZV9idWYoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKTsKIAogLyoqCiAgKiBMaWtlIHdyaXRlX2ZpbGVfYnVmKCksIGJ1dCBmb3JtYXQgdGhlIGNvbnRlbnRzIGludG8gYSBidWZmZXIgZmlyc3QuCkBAIC0xNjU3LDE2ICsxODExLDE3IEBACiAgKiAgIHdyaXRlX2ZpbGUocGF0aCwgImNvdW50ZXI6ICVkIiwgY3RyKTsKICAqLwogX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSkKLWV4dGVybiB2b2lkIHdyaXRlX2ZpbGUoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqZm10LCAuLi4pOwordm9pZCB3cml0ZV9maWxlKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKIAogLyogcGFnZXIuYyAqLwotZXh0ZXJuIHZvaWQgc2V0dXBfcGFnZXIodm9pZCk7Ci1leHRlcm4gaW50IHBhZ2VyX2luX3VzZSh2b2lkKTsKK3ZvaWQgc2V0dXBfcGFnZXIodm9pZCk7CitpbnQgcGFnZXJfaW5fdXNlKHZvaWQpOwogZXh0ZXJuIGludCBwYWdlcl91c2VfY29sb3I7Ci1leHRlcm4gaW50IHRlcm1fY29sdW1ucyh2b2lkKTsKLWV4dGVybiBpbnQgZGVjaW1hbF93aWR0aCh1aW50bWF4X3QpOwotZXh0ZXJuIGludCBjaGVja19wYWdlcl9jb25maWcoY29uc3QgY2hhciAqY21kKTsKLWV4dGVybiB2b2lkIHByZXBhcmVfcGFnZXJfYXJncyhzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqLCBjb25zdCBjaGFyICpwYWdlcik7CitpbnQgdGVybV9jb2x1bW5zKHZvaWQpOwordm9pZCB0ZXJtX2NsZWFyX2xpbmUodm9pZCk7CitpbnQgZGVjaW1hbF93aWR0aCh1aW50bWF4X3QpOworaW50IGNoZWNrX3BhZ2VyX2NvbmZpZyhjb25zdCBjaGFyICpjbWQpOwordm9pZCBwcmVwYXJlX3BhZ2VyX2FyZ3Moc3RydWN0IGNoaWxkX3Byb2Nlc3MgKiwgY29uc3QgY2hhciAqcGFnZXIpOwogCiBleHRlcm4gY29uc3QgY2hhciAqZWRpdG9yX3Byb2dyYW07CiBleHRlcm4gY29uc3QgY2hhciAqYXNrcGFzc19wcm9ncmFtOwpAQCAtMTY5MCw4ICsxODQ1LDggQEAKIGV4dGVybiBpbnQgZGlmZl9hdXRvX3JlZnJlc2hfaW5kZXg7CiAKIC8qIG1hdGNoLXRyZWVzLmMgKi8KLXZvaWQgc2hpZnRfdHJlZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICosIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKiwgc3RydWN0IG9iamVjdF9pZCAqLCBpbnQpOwotdm9pZCBzaGlmdF90cmVlX2J5KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKiwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqLCBzdHJ1Y3Qgb2JqZWN0X2lkICosIGNvbnN0IGNoYXIgKik7Cit2b2lkIHNoaWZ0X3RyZWUoc3RydWN0IHJlcG9zaXRvcnkgKiwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICosIHN0cnVjdCBvYmplY3RfaWQgKiwgaW50KTsKK3ZvaWQgc2hpZnRfdHJlZV9ieShzdHJ1Y3QgcmVwb3NpdG9yeSAqLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICosIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKiwgc3RydWN0IG9iamVjdF9pZCAqLCBjb25zdCBjaGFyICopOwogCiAvKgogICogd2hpdGVzcGFjZSBydWxlcy4KQEAgLTE3MTAsMTMgKzE4NjUsMTMgQEAKIC8qIEFsbCBXU18qIC0tIHdoZW4gZXh0ZW5kZWQsIGFkYXB0IGRpZmYuYyBlbWl0X3N5bWJvbCAqLwogI2RlZmluZSBXU19SVUxFX01BU0sgICAgICAgICAgIDA3Nzc3CiBleHRlcm4gdW5zaWduZWQgd2hpdGVzcGFjZV9ydWxlX2NmZzsKLWV4dGVybiB1bnNpZ25lZCB3aGl0ZXNwYWNlX3J1bGUoc3RydWN0IGluZGV4X3N0YXRlICosIGNvbnN0IGNoYXIgKik7Ci1leHRlcm4gdW5zaWduZWQgcGFyc2Vfd2hpdGVzcGFjZV9ydWxlKGNvbnN0IGNoYXIgKik7Ci1leHRlcm4gdW5zaWduZWQgd3NfY2hlY2soY29uc3QgY2hhciAqbGluZSwgaW50IGxlbiwgdW5zaWduZWQgd3NfcnVsZSk7Ci1leHRlcm4gdm9pZCB3c19jaGVja19lbWl0KGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4sIHVuc2lnbmVkIHdzX3J1bGUsIEZJTEUgKnN0cmVhbSwgY29uc3QgY2hhciAqc2V0LCBjb25zdCBjaGFyICpyZXNldCwgY29uc3QgY2hhciAqd3MpOwotZXh0ZXJuIGNoYXIgKndoaXRlc3BhY2VfZXJyb3Jfc3RyaW5nKHVuc2lnbmVkIHdzKTsKLWV4dGVybiB2b2lkIHdzX2ZpeF9jb3B5KHN0cnVjdCBzdHJidWYgKiwgY29uc3QgY2hhciAqLCBpbnQsIHVuc2lnbmVkLCBpbnQgKik7Ci1leHRlcm4gaW50IHdzX2JsYW5rX2xpbmUoY29uc3QgY2hhciAqbGluZSwgaW50IGxlbiwgdW5zaWduZWQgd3NfcnVsZSk7Cit1bnNpZ25lZCB3aGl0ZXNwYWNlX3J1bGUoc3RydWN0IGluZGV4X3N0YXRlICosIGNvbnN0IGNoYXIgKik7Cit1bnNpZ25lZCBwYXJzZV93aGl0ZXNwYWNlX3J1bGUoY29uc3QgY2hhciAqKTsKK3Vuc2lnbmVkIHdzX2NoZWNrKGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4sIHVuc2lnbmVkIHdzX3J1bGUpOwordm9pZCB3c19jaGVja19lbWl0KGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4sIHVuc2lnbmVkIHdzX3J1bGUsIEZJTEUgKnN0cmVhbSwgY29uc3QgY2hhciAqc2V0LCBjb25zdCBjaGFyICpyZXNldCwgY29uc3QgY2hhciAqd3MpOworY2hhciAqd2hpdGVzcGFjZV9lcnJvcl9zdHJpbmcodW5zaWduZWQgd3MpOwordm9pZCB3c19maXhfY29weShzdHJ1Y3Qgc3RyYnVmICosIGNvbnN0IGNoYXIgKiwgaW50LCB1bnNpZ25lZCwgaW50ICopOworaW50IHdzX2JsYW5rX2xpbmUoY29uc3QgY2hhciAqbGluZSwgaW50IGxlbiwgdW5zaWduZWQgd3NfcnVsZSk7CiAjZGVmaW5lIHdzX3RhYl93aWR0aChydWxlKSAgICAgKChydWxlKSAmIFdTX1RBQl9XSURUSF9NQVNLKQogCiAvKiBscy1maWxlcyAqLwpAQCAtMTc4Niw2ICsxOTQxLDkgQEAKICAqIFNob3VsZCB3ZSBwcmludCBhbiBlbGxpcHNpcyBhZnRlciBhbiBhYmJyZXZpYXRlZCBTSEEtMSB2YWx1ZQogICogd2hlbiBkb2luZyBkaWZmLXJhdyBvdXRwdXQgb3IgaW5kaWNhdGluZyBhIGRldGFjaGVkIEhFQUQ/CiAgKi8KLWV4dGVybiBpbnQgcHJpbnRfc2hhMV9lbGxpcHNpcyh2b2lkKTsKK2ludCBwcmludF9zaGExX2VsbGlwc2lzKHZvaWQpOworCisvKiBSZXR1cm4gMSBpZiB0aGUgZmlsZSBpcyBlbXB0eSBvciBkb2VzIG5vdCBleGlzdHMsIDAgb3RoZXJ3aXNlLiAqLworaW50IGlzX2VtcHR5X29yX21pc3NpbmdfZmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSk7CiAKICNlbmRpZiAvKiBDQUNIRV9IICovCmRpZmYgLS1naXQgYS9jaGVjay1yYWN5LmMgYi9jaGVjay1yYWN5LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI0YjY1NDIuLjAwMDAwMDAKLS0tIGEvY2hlY2stcmFjeS5jCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotI2luY2x1ZGUgImNhY2hlLmgiCi0KLWludCBtYWluKGludCBhYywgY2hhciAqKmF2KQotewotCWludCBpOwotCWludCBkaXJ0eSwgY2xlYW4sIHJhY3k7Ci0KLQlkaXJ0eSA9IGNsZWFuID0gcmFjeSA9IDA7Ci0JcmVhZF9jYWNoZSgpOwotCWZvciAoaSA9IDA7IGkgPCBhY3RpdmVfbnI7IGkrKykgewotCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gYWN0aXZlX2NhY2hlW2ldOwotCQlzdHJ1Y3Qgc3RhdCBzdDsKLQotCQlpZiAobHN0YXQoY2UtPm5hbWUsICZzdCkpIHsKLQkJCWVycm9yX2Vycm5vKCJsc3RhdCglcykiLCBjZS0+bmFtZSk7Ci0JCQljb250aW51ZTsKLQkJfQotCi0JCWlmIChjZV9tYXRjaF9zdGF0KGNlLCAmc3QsIDApKQotCQkJZGlydHkrKzsKLQkJZWxzZSBpZiAoY2VfbWF0Y2hfc3RhdChjZSwgJnN0LCBDRV9NQVRDSF9SQUNZX0lTX0RJUlRZKSkKLQkJCXJhY3krKzsKLQkJZWxzZQotCQkJY2xlYW4rKzsKLQl9Ci0JcHJpbnRmKCJkaXJ0eSAlZCwgY2xlYW4gJWQsIHJhY3kgJWRcbiIsIGRpcnR5LCBjbGVhbiwgcmFjeSk7Ci0JcmV0dXJuIDA7Ci19CmRpZmYgLS1naXQgYS9jaGVja291dC5oIGIvY2hlY2tvdXQuaAppbmRleCA2YjIwNzMzLi4xMTUyMTMzIDEwMDY0NAotLS0gYS9jaGVja291dC5oCisrKyBiL2NoZWNrb3V0LmgKQEAgLTgsOCArOCw4IEBACiAgKiB0cmFja2luZyBicmFuY2guICBSZXR1cm4gdGhlIG5hbWUgb2YgdGhlIHJlbW90ZSBpZiBzdWNoIGEgYnJhbmNoCiAgKiBleGlzdHMsIE5VTEwgb3RoZXJ3aXNlLgogICovCi1leHRlcm4gY29uc3QgY2hhciAqdW5pcXVlX3RyYWNraW5nX25hbWUoY29uc3QgY2hhciAqbmFtZSwKLQkJCQkJc3RydWN0IG9iamVjdF9pZCAqb2lkLAotCQkJCQlpbnQgKmR3aW1fcmVtb3Rlc19tYXRjaGVkKTsKK2NvbnN0IGNoYXIgKnVuaXF1ZV90cmFja2luZ19uYW1lKGNvbnN0IGNoYXIgKm5hbWUsCisJCQkJIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCQkgaW50ICpkd2ltX3JlbW90ZXNfbWF0Y2hlZCk7CiAKICNlbmRpZiAvKiBDSEVDS09VVF9IICovCmRpZmYgLS1naXQgYS9jaS9pbnN0YWxsLWRlcGVuZGVuY2llcy5zaCBiL2NpL2luc3RhbGwtZGVwZW5kZW5jaWVzLnNoCmluZGV4IDA2YzM1NDYuLjQ5N2ZkMzIgMTAwNzU1Ci0tLSBhL2NpL2luc3RhbGwtZGVwZW5kZW5jaWVzLnNoCisrKyBiL2NpL2luc3RhbGwtZGVwZW5kZW5jaWVzLnNoCkBAIC0zLDcgKzMsNyBAQAogIyBJbnN0YWxsIGRlcGVuZGVuY2llcyByZXF1aXJlZCB0byBidWlsZCBhbmQgdGVzdCBHaXQgb24gTGludXggYW5kIG1hY09TCiAjCiAKLS4gJHswJS8qfS9saWItdHJhdmlzY2kuc2gKKy4gJHswJS8qfS9saWIuc2gKIAogUDRXSEVOQ0U9aHR0cDovL2ZpbGVob3N0LnBlcmZvcmNlLmNvbS9wZXJmb3JjZS9yJExJTlVYX1A0X1ZFUlNJT04KIExGU1dIRU5DRT1odHRwczovL2dpdGh1Yi5jb20vZ2l0aHViL2dpdC1sZnMvcmVsZWFzZXMvZG93bmxvYWQvdiRMSU5VWF9HSVRfTEZTX1ZFUlNJT04KQEAgLTEyLDcgKzEyLDcgQEAKIGxpbnV4LWNsYW5nfGxpbnV4LWdjYykKIAlzdWRvIGFwdC1hZGQtcmVwb3NpdG9yeSAteSAicHBhOnVidW50dS10b29sY2hhaW4tci90ZXN0IgogCXN1ZG8gYXB0LWdldCAtcSB1cGRhdGUKLQlzdWRvIGFwdC1nZXQgLXEgLXkgaW5zdGFsbCBsYW5ndWFnZS1wYWNrLWlzIGdpdC1zdm4gYXBhY2hlMgorCXN1ZG8gYXB0LWdldCAtcSAteSBpbnN0YWxsIGxhbmd1YWdlLXBhY2staXMgbGlic3ZuLXBlcmwgYXBhY2hlMgogCWNhc2UgIiRqb2JuYW1lIiBpbgogCWxpbnV4LWdjYykKIAkJc3VkbyBhcHQtZ2V0IC1xIC15IGluc3RhbGwgZ2NjLTgKQEAgLTM0LDIwICszNCwzOSBAQAogCXBvcGQKIAk7Owogb3N4LWNsYW5nfG9zeC1nY2MpCi0JYnJldyB1cGRhdGUgLS1xdWlldAorCWV4cG9ydCBIT01FQlJFV19OT19BVVRPX1VQREFURT0xIEhPTUVCUkVXX05PX0lOU1RBTExfQ0xFQU5VUD0xCiAJIyBVbmNvbW1lbnQgdGhpcyBpZiB5b3Ugd2FudCB0byBydW4gcGVyZiB0ZXN0czoKIAkjIGJyZXcgaW5zdGFsbCBnbnUtdGltZQotCWJyZXcgaW5zdGFsbCBnaXQtbGZzIGdldHRleHQKKwl0ZXN0IC16ICIkQlJFV19JTlNUQUxMX1BBQ0tBR0VTIiB8fAorCWJyZXcgaW5zdGFsbCAkQlJFV19JTlNUQUxMX1BBQ0tBR0VTCiAJYnJldyBsaW5rIC0tZm9yY2UgZ2V0dGV4dAorCWJyZXcgY2FzayBpbnN0YWxsIC0tbm8tcXVhcmFudGluZSBwZXJmb3JjZSB8fCB7CisJCSMgVXBkYXRlIHRoZSBkZWZpbml0aW9ucyBhbmQgdHJ5IGFnYWluCisJCWNhc2tfcmVwbz0iJChicmV3IC0tcmVwb3NpdG9yeSkiL0xpYnJhcnkvVGFwcy9ob21lYnJldy9ob21lYnJldy1jYXNrICYmCisJCWdpdCAtQyAiJGNhc2tfcmVwbyIgcHVsbCAtLW5vLXN0YXQgJiYKKwkJYnJldyBjYXNrIGluc3RhbGwgLS1uby1xdWFyYW50aW5lIHBlcmZvcmNlCisJfSB8fAogCWJyZXcgaW5zdGFsbCBjYXNrcm9vbS9jYXNrL3BlcmZvcmNlCisJY2FzZSAiJGpvYm5hbWUiIGluCisJb3N4LWdjYykKKwkJYnJldyBpbnN0YWxsIGdjY0A5CisJCSMgSnVzdCBpbiBjYXNlIHRoZSBpbWFnZSBpcyB1cGRhdGVkIHRvIGNvbnRhaW4gZ2NjQDkKKwkJIyBwcmUtaW5zdGFsbGVkIGJ1dCBub3QgbGlua2VkLgorCQlicmV3IGxpbmsgZ2NjQDkKKwkJOzsKKwllc2FjCiAJOzsKIFN0YXRpY0FuYWx5c2lzKQogCXN1ZG8gYXB0LWdldCAtcSB1cGRhdGUKLQlzdWRvIGFwdC1nZXQgLXEgLXkgaW5zdGFsbCBjb2NjaW5lbGxlCisJc3VkbyBhcHQtZ2V0IC1xIC15IGluc3RhbGwgY29jY2luZWxsZSBsaWJjdXJsNC1vcGVuc3NsLWRldiBsaWJzc2wtZGV2IFwKKwkJbGliZXhwYXQtZGV2IGdldHRleHQKIAk7OwogRG9jdW1lbnRhdGlvbikKIAlzdWRvIGFwdC1nZXQgLXEgdXBkYXRlCi0Jc3VkbyBhcHQtZ2V0IC1xIC15IGluc3RhbGwgYXNjaWlkb2MgeG1sdG8KKwlzdWRvIGFwdC1nZXQgLXEgLXkgaW5zdGFsbCBhc2NpaWRvYyB4bWx0byBkb2Nib29rLXhzbC1ucworCisJdGVzdCAtbiAiJEFMUkVBRFlfSEFWRV9BU0NJSURPQ1RPUiIgfHwKKwlnZW0gaW5zdGFsbCAtLXZlcnNpb24gMS41LjggYXNjaWlkb2N0b3IKIAk7OwogZXNhYwogCmRpZmYgLS1naXQgYS9jaS9saWItdHJhdmlzY2kuc2ggYi9jaS9saWItdHJhdmlzY2kuc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDY5ZGZmNGQuLjAwMDAwMDAKLS0tIGEvY2kvbGliLXRyYXZpc2NpLnNoCisrKyAvZGV2L251bGwKQEAgLTEsMTI5ICswLDAgQEAKLSMgTGlicmFyeSBvZiBmdW5jdGlvbnMgc2hhcmVkIGJ5IGFsbCBDSSBzY3JpcHRzCi0KLXNraXBfYnJhbmNoX3RpcF93aXRoX3RhZyAoKSB7Ci0JIyBTb21ldGltZXMsIGEgYnJhbmNoIGlzIHB1c2hlZCBhdCB0aGUgc2FtZSB0aW1lIHRoZSB0YWcgdGhhdCBwb2ludHMKLQkjIGF0IHRoZSBzYW1lIGNvbW1pdCBhcyB0aGUgdGlwIG9mIHRoZSBicmFuY2ggaXMgcHVzaGVkLCBhbmQgYnVpbGRpbmcKLQkjIGJvdGggYXQgdGhlIHNhbWUgdGltZSBpcyBhIHdhc3RlLgotCSMKLQkjIFRyYXZpcyBnaXZlcyBhIHRhZ25hbWUgZS5nLiB2Mi4xNC4wIGluICRUUkFWSVNfQlJBTkNIIHdoZW4KLQkjIHRoZSBidWlsZCBpcyB0cmlnZ2VyZWQgYnkgYSBwdXNoIHRvIGEgdGFnLiAgTGV0J3Mgc2VlIGlmCi0JIyAkVFJBVklTX0JSQU5DSCBpcyBleGFjdGx5IGF0IGEgdGFnLCBhbmQgaWYgc28sIGlmIGl0IGlzCi0JIyBkaWZmZXJlbnQgZnJvbSAkVFJBVklTX0JSQU5DSC4gIFRoYXQgd2F5LCB3ZSBjYW4gdGVsbCBpZgotCSMgd2UgYXJlIGJ1aWxkaW5nIHRoZSB0aXAgb2YgYSBicmFuY2ggdGhhdCBpcyB0YWdnZWQgYW5kCi0JIyB3ZSBjYW4gc2tpcCB0aGUgYnVpbGQgYmVjYXVzZSB3ZSB3b24ndCBiZSBza2lwcGluZyBhIGJ1aWxkCi0JIyBvZiBhIHRhZy4KLQotCWlmIFRBRz0kKGdpdCBkZXNjcmliZSAtLWV4YWN0LW1hdGNoICIkVFJBVklTX0JSQU5DSCIgMj4vZGV2L251bGwpICYmCi0JCXRlc3QgIiRUQUciICE9ICIkVFJBVklTX0JSQU5DSCIKLQl0aGVuCi0JCWVjaG8gIiQodHB1dCBzZXRhZiAyKVRpcCBvZiAkVFJBVklTX0JSQU5DSCBpcyBleGFjdGx5IGF0ICRUQUckKHRwdXQgc2dyMCkiCi0JCWV4aXQgMAotCWZpCi19Ci0KLSMgU2F2ZSBzb21lIGluZm8gYWJvdXQgdGhlIGN1cnJlbnQgY29tbWl0J3MgdHJlZSwgc28gd2UgY2FuIHNraXAgdGhlIGJ1aWxkCi0jIGpvYiBpZiB3ZSBlbmNvdW50ZXIgdGhlIHNhbWUgdHJlZSBhZ2FpbiBhbmQgY2FuIHByb3ZpZGUgYSB1c2VmdWwgaW5mbwotIyBtZXNzYWdlLgotc2F2ZV9nb29kX3RyZWUgKCkgewotCWVjaG8gIiQoZ2l0IHJldi1wYXJzZSAkVFJBVklTX0NPTU1JVF57dHJlZX0pICRUUkFWSVNfQ09NTUlUICRUUkFWSVNfSk9CX05VTUJFUiAkVFJBVklTX0pPQl9JRCIgPj4iJGdvb2RfdHJlZXNfZmlsZSIKLQkjIGxpbWl0IHRoZSBmaWxlIHNpemUKLQl0YWlsIC0xMDAwICIkZ29vZF90cmVlc19maWxlIiA+IiRnb29kX3RyZWVzX2ZpbGUiLnRtcAotCW12ICIkZ29vZF90cmVlc19maWxlIi50bXAgIiRnb29kX3RyZWVzX2ZpbGUiCi19Ci0KLSMgU2tpcCB0aGUgYnVpbGQgam9iIGlmIHRoZSBzYW1lIHRyZWUgaGFzIGFscmVhZHkgYmVlbiBidWlsdCBhbmQgdGVzdGVkCi0jIHN1Y2Nlc3NmdWxseSBiZWZvcmUgKGUuZy4gYmVjYXVzZSB0aGUgYnJhbmNoIGdvdCByZWJhc2VkLCBjaGFuZ2luZyBvbmx5Ci0jIHRoZSBjb21taXQgbWVzc2FnZXMpLgotc2tpcF9nb29kX3RyZWUgKCkgewotCWlmICEgZ29vZF90cmVlX2luZm89IiQoZ3JlcCAiXiQoZ2l0IHJldi1wYXJzZSAkVFJBVklTX0NPTU1JVF57dHJlZX0pICIgIiRnb29kX3RyZWVzX2ZpbGUiKSIKLQl0aGVuCi0JCSMgSGF2ZW4ndCBzZWVuIHRoaXMgdHJlZSB5ZXQsIG9yIG5vIGNhY2hlZCBnb29kIHRyZWVzIGZpbGUgeWV0LgotCQkjIENvbnRpbnVlIHRoZSBidWlsZCBqb2IuCi0JCXJldHVybgotCWZpCi0KLQllY2hvICIkZ29vZF90cmVlX2luZm8iIHwgewotCQlyZWFkIHRyZWUgcHJldl9nb29kX2NvbW1pdCBwcmV2X2dvb2Rfam9iX251bWJlciBwcmV2X2dvb2Rfam9iX2lkCi0KLQkJaWYgdGVzdCAiJFRSQVZJU19KT0JfSUQiID0gIiRwcmV2X2dvb2Rfam9iX2lkIgotCQl0aGVuCi0JCQljYXQgPDwtRU9GCi0JCQkkKHRwdXQgc2V0YWYgMilTa2lwcGluZyBidWlsZCBqb2IgZm9yIGNvbW1pdCAkVFJBVklTX0NPTU1JVC4kKHRwdXQgc2dyMCkKLQkJCVRoaXMgY29tbWl0IGhhcyBhbHJlYWR5IGJlZW4gYnVpbHQgYW5kIHRlc3RlZCBzdWNjZXNzZnVsbHkgYnkgdGhpcyBidWlsZCBqb2IuCi0JCQlUbyBmb3JjZSBhIHJlLWJ1aWxkIGRlbGV0ZSB0aGUgYnJhbmNoJ3MgY2FjaGUgYW5kIHRoZW4gaGl0ICdSZXN0YXJ0IGpvYicuCi0JCQlFT0YKLQkJZWxzZQotCQkJY2F0IDw8LUVPRgotCQkJJCh0cHV0IHNldGFmIDIpU2tpcHBpbmcgYnVpbGQgam9iIGZvciBjb21taXQgJFRSQVZJU19DT01NSVQuJCh0cHV0IHNncjApCi0JCQlUaGlzIGNvbW1pdCdzIHRyZWUgaGFzIGFscmVhZHkgYmVlbiBidWlsdCBhbmQgdGVzdGVkIHN1Y2Nlc3NmdWxseSBpbiBidWlsZCBqb2IgJHByZXZfZ29vZF9qb2JfbnVtYmVyIGZvciBjb21taXQgJHByZXZfZ29vZF9jb21taXQuCi0JCQlUaGUgbG9nIG9mIHRoYXQgYnVpbGQgam9iIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3RyYXZpcy1jaS5vcmcvJFRSQVZJU19SRVBPX1NMVUcvam9icy8kcHJldl9nb29kX2pvYl9pZAotCQkJVG8gZm9yY2UgYSByZS1idWlsZCBkZWxldGUgdGhlIGJyYW5jaCdzIGNhY2hlIGFuZCB0aGVuIGhpdCAnUmVzdGFydCBqb2InLgotCQkJRU9GCi0JCWZpCi0JfQotCi0JZXhpdCAwCi19Ci0KLWNoZWNrX3VuaWdub3JlZF9idWlsZF9hcnRpZmFjdHMgKCkKLXsKLQkhIGdpdCBscy1maWxlcyAtLW90aGVyIC0tZXhjbHVkZS1zdGFuZGFyZCAtLWVycm9yLXVubWF0Y2ggXAotCQktLSAnOi8qJyAyPi9kZXYvbnVsbCB8fAotCXsKLQkJZWNobyAiJCh0cHV0IHNldGFmIDEpZXJyb3I6IGZvdW5kIHVuaWdub3JlZCBidWlsZCBhcnRpZmFjdHMkKHRwdXQgc2dyMCkiCi0JCWZhbHNlCi0JfQotfQotCi0jIFNldCAnZXhpdCBvbiBlcnJvcicgZm9yIGFsbCBDSSBzY3JpcHRzIHRvIGxldCB0aGUgY2FsbGVyIGtub3cgdGhhdAotIyBzb21ldGhpbmcgd2VudCB3cm9uZy4KLSMgU2V0IHRyYWNpbmcgZXhlY3V0ZWQgY29tbWFuZHMsIHByaW1hcmlseSBzZXR0aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcwotIyBhbmQgaW5zdGFsbGluZyBkZXBlbmRlbmNpZXMuCi1zZXQgLWV4Ci0KLWNhY2hlX2Rpcj0iJEhPTUUvdHJhdmlzLWNhY2hlIgotZ29vZF90cmVlc19maWxlPSIkY2FjaGVfZGlyL2dvb2QtdHJlZXMiCi0KLW1rZGlyIC1wICIkY2FjaGVfZGlyIgotCi1za2lwX2JyYW5jaF90aXBfd2l0aF90YWcKLXNraXBfZ29vZF90cmVlCi0KLWlmIHRlc3QgLXogIiRqb2JuYW1lIgotdGhlbgotCWpvYm5hbWU9IiRUUkFWSVNfT1NfTkFNRS0kQ0MiCi1maQotCi1leHBvcnQgREVWRUxPUEVSPTEKLWV4cG9ydCBERUZBVUxUX1RFU1RfVEFSR0VUPXByb3ZlCi1leHBvcnQgR0lUX1BST1ZFX09QVFM9Ii0tdGltZXIgLS1qb2JzIDMgLS1zdGF0ZT1mYWlsZWQsc2xvdyxzYXZlIgotZXhwb3J0IEdJVF9URVNUX09QVFM9Ii0tdmVyYm9zZS1sb2cgLXggLS1pbW1lZGlhdGUiCi1leHBvcnQgR0lUX1RFU1RfQ0xPTkVfMkdCPVllc1BsZWFzZQotaWYgWyAiJGpvYm5hbWUiID0gbGludXgtZ2NjIF07IHRoZW4KLQlleHBvcnQgQ0M9Z2NjLTgKLWZpCi0KLWNhc2UgIiRqb2JuYW1lIiBpbgotbGludXgtY2xhbmd8bGludXgtZ2NjKQotCWV4cG9ydCBHSVRfVEVTVF9IVFRQRD1ZZXNQbGVhc2UKLQotCSMgVGhlIExpbnV4IGJ1aWxkIGluc3RhbGxzIHRoZSBkZWZpbmVkIGRlcGVuZGVuY3kgdmVyc2lvbnMgYmVsb3cuCi0JIyBUaGUgT1MgWCBidWlsZCBpbnN0YWxscyB0aGUgbGF0ZXN0IGF2YWlsYWJsZSB2ZXJzaW9ucy4gS2VlcCB0aGF0Ci0JIyBpbiBtaW5kIHdoZW4geW91IGVuY291bnRlciBhIGJyb2tlbiBPUyBYIGJ1aWxkIQotCWV4cG9ydCBMSU5VWF9QNF9WRVJTSU9OPSIxNi4yIgotCWV4cG9ydCBMSU5VWF9HSVRfTEZTX1ZFUlNJT049IjEuNS4yIgotCi0JUDRfUEFUSD0iJEhPTUUvY3VzdG9tL3A0IgotCUdJVF9MRlNfUEFUSD0iJEhPTUUvY3VzdG9tL2dpdC1sZnMiCi0JZXhwb3J0IFBBVEg9IiRHSVRfTEZTX1BBVEg6JFA0X1BBVEg6JFBBVEgiCi0JOzsKLW9zeC1jbGFuZ3xvc3gtZ2NjKQotCSMgdDk4MTAgb2NjYXNpb25hbGx5IGZhaWxzIG9uIFRyYXZpcyBDSSBPUyBYCi0JIyB0OTgxNiBvY2Nhc2lvbmFsbHkgZmFpbHMgd2l0aCAiVEFQIG91dCBvZiBzZXF1ZW5jZSBlcnJvcnMiIG9uCi0JIyBUcmF2aXMgQ0kgT1MgWAotCWV4cG9ydCBHSVRfU0tJUF9URVNUUz0idDk4MTAgdDk4MTYiCi0JOzsKLUdJVF9URVNUX0dFVFRFWFRfUE9JU09OKQotCWV4cG9ydCBHSVRfVEVTVF9HRVRURVhUX1BPSVNPTj1ZZXNQbGVhc2UKLQk7OwotZXNhYwpkaWZmIC0tZ2l0IGEvY2kvbGliLnNoIGIvY2kvbGliLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE5MGQwZGMKLS0tIC9kZXYvbnVsbAorKysgYi9jaS9saWIuc2gKQEAgLTAsMCArMSwxOTcgQEAKKyMgTGlicmFyeSBvZiBmdW5jdGlvbnMgc2hhcmVkIGJ5IGFsbCBDSSBzY3JpcHRzCisKK3NraXBfYnJhbmNoX3RpcF93aXRoX3RhZyAoKSB7CisJIyBTb21ldGltZXMsIGEgYnJhbmNoIGlzIHB1c2hlZCBhdCB0aGUgc2FtZSB0aW1lIHRoZSB0YWcgdGhhdCBwb2ludHMKKwkjIGF0IHRoZSBzYW1lIGNvbW1pdCBhcyB0aGUgdGlwIG9mIHRoZSBicmFuY2ggaXMgcHVzaGVkLCBhbmQgYnVpbGRpbmcKKwkjIGJvdGggYXQgdGhlIHNhbWUgdGltZSBpcyBhIHdhc3RlLgorCSMKKwkjIFdoZW4gdGhlIGJ1aWxkIGlzIHRyaWdnZXJlZCBieSBhIHB1c2ggdG8gYSB0YWcsICRDSV9CUkFOQ0ggd2lsbAorCSMgaGF2ZSB0aGF0IHRhZ25hbWUsIGUuZy4gdjIuMTQuMC4gIExldCdzIHNlZSBpZiAkQ0lfQlJBTkNIIGlzCisJIyBleGFjdGx5IGF0IGEgdGFnLCBhbmQgaWYgc28sIGlmIGl0IGlzIGRpZmZlcmVudCBmcm9tICRDSV9CUkFOQ0guCisJIyBUaGF0IHdheSwgd2UgY2FuIHRlbGwgaWYgd2UgYXJlIGJ1aWxkaW5nIHRoZSB0aXAgb2YgYSBicmFuY2ggdGhhdAorCSMgaXMgdGFnZ2VkIGFuZCB3ZSBjYW4gc2tpcCB0aGUgYnVpbGQgYmVjYXVzZSB3ZSB3b24ndCBiZSBza2lwcGluZyBhCisJIyBidWlsZCBvZiBhIHRhZy4KKworCWlmIFRBRz0kKGdpdCBkZXNjcmliZSAtLWV4YWN0LW1hdGNoICIkQ0lfQlJBTkNIIiAyPi9kZXYvbnVsbCkgJiYKKwkJdGVzdCAiJFRBRyIgIT0gIiRDSV9CUkFOQ0giCisJdGhlbgorCQllY2hvICIkKHRwdXQgc2V0YWYgMilUaXAgb2YgJENJX0JSQU5DSCBpcyBleGFjdGx5IGF0ICRUQUckKHRwdXQgc2dyMCkiCisJCWV4aXQgMAorCWZpCit9CisKKyMgU2F2ZSBzb21lIGluZm8gYWJvdXQgdGhlIGN1cnJlbnQgY29tbWl0J3MgdHJlZSwgc28gd2UgY2FuIHNraXAgdGhlIGJ1aWxkCisjIGpvYiBpZiB3ZSBlbmNvdW50ZXIgdGhlIHNhbWUgdHJlZSBhZ2FpbiBhbmQgY2FuIHByb3ZpZGUgYSB1c2VmdWwgaW5mbworIyBtZXNzYWdlLgorc2F2ZV9nb29kX3RyZWUgKCkgeworCWVjaG8gIiQoZ2l0IHJldi1wYXJzZSAkQ0lfQ09NTUlUXnt0cmVlfSkgJENJX0NPTU1JVCAkQ0lfSk9CX05VTUJFUiAkQ0lfSk9CX0lEIiA+PiIkZ29vZF90cmVlc19maWxlIgorCSMgbGltaXQgdGhlIGZpbGUgc2l6ZQorCXRhaWwgLTEwMDAgIiRnb29kX3RyZWVzX2ZpbGUiID4iJGdvb2RfdHJlZXNfZmlsZSIudG1wCisJbXYgIiRnb29kX3RyZWVzX2ZpbGUiLnRtcCAiJGdvb2RfdHJlZXNfZmlsZSIKK30KKworIyBTa2lwIHRoZSBidWlsZCBqb2IgaWYgdGhlIHNhbWUgdHJlZSBoYXMgYWxyZWFkeSBiZWVuIGJ1aWx0IGFuZCB0ZXN0ZWQKKyMgc3VjY2Vzc2Z1bGx5IGJlZm9yZSAoZS5nLiBiZWNhdXNlIHRoZSBicmFuY2ggZ290IHJlYmFzZWQsIGNoYW5naW5nIG9ubHkKKyMgdGhlIGNvbW1pdCBtZXNzYWdlcykuCitza2lwX2dvb2RfdHJlZSAoKSB7CisJaWYgdGVzdCAiJFRSQVZJU19ERUJVR19NT0RFIiA9IHRydWUKKwl0aGVuCisJCXJldHVybgorCWZpCisKKwlpZiAhIGdvb2RfdHJlZV9pbmZvPSIkKGdyZXAgIl4kKGdpdCByZXYtcGFyc2UgJENJX0NPTU1JVF57dHJlZX0pICIgIiRnb29kX3RyZWVzX2ZpbGUiKSIKKwl0aGVuCisJCSMgSGF2ZW4ndCBzZWVuIHRoaXMgdHJlZSB5ZXQsIG9yIG5vIGNhY2hlZCBnb29kIHRyZWVzIGZpbGUgeWV0LgorCQkjIENvbnRpbnVlIHRoZSBidWlsZCBqb2IuCisJCXJldHVybgorCWZpCisKKwllY2hvICIkZ29vZF90cmVlX2luZm8iIHwgeworCQlyZWFkIHRyZWUgcHJldl9nb29kX2NvbW1pdCBwcmV2X2dvb2Rfam9iX251bWJlciBwcmV2X2dvb2Rfam9iX2lkCisKKwkJaWYgdGVzdCAiJENJX0pPQl9JRCIgPSAiJHByZXZfZ29vZF9qb2JfaWQiCisJCXRoZW4KKwkJCWNhdCA8PC1FT0YKKwkJCSQodHB1dCBzZXRhZiAyKVNraXBwaW5nIGJ1aWxkIGpvYiBmb3IgY29tbWl0ICRDSV9DT01NSVQuJCh0cHV0IHNncjApCisJCQlUaGlzIGNvbW1pdCBoYXMgYWxyZWFkeSBiZWVuIGJ1aWx0IGFuZCB0ZXN0ZWQgc3VjY2Vzc2Z1bGx5IGJ5IHRoaXMgYnVpbGQgam9iLgorCQkJVG8gZm9yY2UgYSByZS1idWlsZCBkZWxldGUgdGhlIGJyYW5jaCdzIGNhY2hlIGFuZCB0aGVuIGhpdCAnUmVzdGFydCBqb2InLgorCQkJRU9GCisJCWVsc2UKKwkJCWNhdCA8PC1FT0YKKwkJCSQodHB1dCBzZXRhZiAyKVNraXBwaW5nIGJ1aWxkIGpvYiBmb3IgY29tbWl0ICRDSV9DT01NSVQuJCh0cHV0IHNncjApCisJCQlUaGlzIGNvbW1pdCdzIHRyZWUgaGFzIGFscmVhZHkgYmVlbiBidWlsdCBhbmQgdGVzdGVkIHN1Y2Nlc3NmdWxseSBpbiBidWlsZCBqb2IgJHByZXZfZ29vZF9qb2JfbnVtYmVyIGZvciBjb21taXQgJHByZXZfZ29vZF9jb21taXQuCisJCQlUaGUgbG9nIG9mIHRoYXQgYnVpbGQgam9iIGlzIGF2YWlsYWJsZSBhdCAkKHVybF9mb3Jfam9iX2lkICRwcmV2X2dvb2Rfam9iX2lkKQorCQkJVG8gZm9yY2UgYSByZS1idWlsZCBkZWxldGUgdGhlIGJyYW5jaCdzIGNhY2hlIGFuZCB0aGVuIGhpdCAnUmVzdGFydCBqb2InLgorCQkJRU9GCisJCWZpCisJfQorCisJZXhpdCAwCit9CisKK2NoZWNrX3VuaWdub3JlZF9idWlsZF9hcnRpZmFjdHMgKCkKK3sKKwkhIGdpdCBscy1maWxlcyAtLW90aGVyIC0tZXhjbHVkZS1zdGFuZGFyZCAtLWVycm9yLXVubWF0Y2ggXAorCQktLSAnOi8qJyAyPi9kZXYvbnVsbCB8fAorCXsKKwkJZWNobyAiJCh0cHV0IHNldGFmIDEpZXJyb3I6IGZvdW5kIHVuaWdub3JlZCBidWlsZCBhcnRpZmFjdHMkKHRwdXQgc2dyMCkiCisJCWZhbHNlCisJfQorfQorCisjIENsZWFyIE1BS0VGTEFHUyB0aGF0IG1heSBjb21lIGZyb20gdGhlIG91dHNpZGUgd29ybGQuCitleHBvcnQgTUFLRUZMQUdTPQorCisjIFNldCAnZXhpdCBvbiBlcnJvcicgZm9yIGFsbCBDSSBzY3JpcHRzIHRvIGxldCB0aGUgY2FsbGVyIGtub3cgdGhhdAorIyBzb21ldGhpbmcgd2VudCB3cm9uZy4KKyMgU2V0IHRyYWNpbmcgZXhlY3V0ZWQgY29tbWFuZHMsIHByaW1hcmlseSBzZXR0aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcworIyBhbmQgaW5zdGFsbGluZyBkZXBlbmRlbmNpZXMuCitzZXQgLWV4CisKK2lmIHRlc3QgdHJ1ZSA9ICIkVFJBVklTIgordGhlbgorCUNJX1RZUEU9dHJhdmlzCisJIyBXaGVuIGJ1aWxkaW5nIGEgUFIsIFRSQVZJU19CUkFOQ0ggcmVmZXJzIHRvIHRoZSAqdGFyZ2V0KiBicmFuY2guIE5vdAorCSMgd2hhdCB3ZSB3YW50IGhlcmUuIFdlIHdhbnQgdGhlIHNvdXJjZSBicmFuY2ggaW5zdGVhZC4KKwlDSV9CUkFOQ0g9IiR7VFJBVklTX1BVTExfUkVRVUVTVF9CUkFOQ0g6LSRUUkFWSVNfQlJBTkNIfSIKKwlDSV9DT01NSVQ9IiRUUkFWSVNfQ09NTUlUIgorCUNJX0pPQl9JRD0iJFRSQVZJU19KT0JfSUQiCisJQ0lfSk9CX05VTUJFUj0iJFRSQVZJU19KT0JfTlVNQkVSIgorCUNJX09TX05BTUU9IiRUUkFWSVNfT1NfTkFNRSIKKwlDSV9SRVBPX1NMVUc9IiRUUkFWSVNfUkVQT19TTFVHIgorCisJY2FjaGVfZGlyPSIkSE9NRS90cmF2aXMtY2FjaGUiCisKKwl1cmxfZm9yX2pvYl9pZCAoKSB7CisJCWVjaG8gImh0dHBzOi8vdHJhdmlzLWNpLm9yZy8kQ0lfUkVQT19TTFVHL2pvYnMvJDEiCisJfQorCisJQlJFV19JTlNUQUxMX1BBQ0tBR0VTPSJnaXQtbGZzIGdldHRleHQiCisJZXhwb3J0IEdJVF9QUk9WRV9PUFRTPSItLXRpbWVyIC0tam9icyAzIC0tc3RhdGU9ZmFpbGVkLHNsb3csc2F2ZSIKKwlleHBvcnQgR0lUX1RFU1RfT1BUUz0iLS12ZXJib3NlLWxvZyAteCAtLWltbWVkaWF0ZSIKKwlNQUtFRkxBR1M9IiRNQUtFRkxBR1MgLS1qb2JzPTIiCitlbGlmIHRlc3QgLW4gIiRTWVNURU1fQ09MTEVDVElPTlVSSSIgfHwgdGVzdCAtbiAiJFNZU1RFTV9UQVNLREVGSU5JVElPTlNVUkkiCit0aGVuCisJQ0lfVFlQRT1henVyZS1waXBlbGluZXMKKwkjIFdlIGFyZSBydW5uaW5nIGluIEF6dXJlIFBpcGVsaW5lcworCUNJX0JSQU5DSD0iJEJVSUxEX1NPVVJDRUJSQU5DSCIKKwlDSV9DT01NSVQ9IiRCVUlMRF9TT1VSQ0VWRVJTSU9OIgorCUNJX0pPQl9JRD0iJEJVSUxEX0JVSUxESUQiCisJQ0lfSk9CX05VTUJFUj0iJEJVSUxEX0JVSUxETlVNQkVSIgorCUNJX09TX05BTUU9IiQoZWNobyAiJEFHRU5UX09TIiB8IHRyIEEtWiBhLXopIgorCXRlc3QgZGFyd2luICE9ICIkQ0lfT1NfTkFNRSIgfHwgQ0lfT1NfTkFNRT1vc3gKKwlDSV9SRVBPX1NMVUc9IiQoZXhwciAiJEJVSUxEX1JFUE9TSVRPUllfVVJJIiA6ICcuKi9cKFteL10qL1teL10qXCkkJykiCisJQ0M9IiR7Q0M6LWdjY30iCisKKwkjIHVzZSBhIHN1YmRpcmVjdG9yeSBvZiB0aGUgY2FjaGUgZGlyIChiZWNhdXNlIHRoZSBmaWxlIHNoYXJlIGlzIHNoYXJlZAorCSMgYW1vbmcgKmFsbCogcGhhc2VzKQorCWNhY2hlX2Rpcj0iJEhPTUUvdGVzdC1jYWNoZS8kU1lTVEVNX1BIQVNFTkFNRSIKKworCXVybF9mb3Jfam9iX2lkICgpIHsKKwkJZWNobyAiJFNZU1RFTV9UQVNLREVGSU5JVElPTlNVUkkkU1lTVEVNX1RFQU1QUk9KRUNUL19idWlsZC9yZXN1bHRzP2J1aWxkSWQ9JDEiCisJfQorCisJZXhwb3J0IEdJVF9QUk9WRV9PUFRTPSItLXRpbWVyIC0tam9icyAxMCAtLXN0YXRlPWZhaWxlZCxzbG93LHNhdmUiCisJZXhwb3J0IEdJVF9URVNUX09QVFM9Ii0tdmVyYm9zZS1sb2cgLXggLS13cml0ZS1qdW5pdC14bWwiCisJTUFLRUZMQUdTPSIkTUFLRUZMQUdTIC0tam9icz0xMCIKKwl0ZXN0IHdpbmRvd3NfbnQgIT0gIiRDSV9PU19OQU1FIiB8fAorCUdJVF9URVNUX09QVFM9Ii0tbm8tY2hhaW4tbGludCAtLW5vLWJpbi13cmFwcGVycyAkR0lUX1RFU1RfT1BUUyIKK2Vsc2UKKwllY2hvICJDb3VsZCBub3QgaWRlbnRpZnkgQ0kgdHlwZSIgPiYyCisJZXhpdCAxCitmaQorCitnb29kX3RyZWVzX2ZpbGU9IiRjYWNoZV9kaXIvZ29vZC10cmVlcyIKKworbWtkaXIgLXAgIiRjYWNoZV9kaXIiCisKK3NraXBfYnJhbmNoX3RpcF93aXRoX3RhZworc2tpcF9nb29kX3RyZWUKKworaWYgdGVzdCAteiAiJGpvYm5hbWUiCit0aGVuCisJam9ibmFtZT0iJENJX09TX05BTUUtJENDIgorZmkKKworZXhwb3J0IERFVkVMT1BFUj0xCitleHBvcnQgREVGQVVMVF9URVNUX1RBUkdFVD1wcm92ZQorZXhwb3J0IEdJVF9URVNUX0NMT05FXzJHQj10cnVlCisKK2Nhc2UgIiRqb2JuYW1lIiBpbgorbGludXgtY2xhbmd8bGludXgtZ2NjKQorCWlmIFsgIiRqb2JuYW1lIiA9IGxpbnV4LWdjYyBdCisJdGhlbgorCQlleHBvcnQgQ0M9Z2NjLTgKKwlmaQorCisJZXhwb3J0IEdJVF9URVNUX0hUVFBEPXRydWUKKworCSMgVGhlIExpbnV4IGJ1aWxkIGluc3RhbGxzIHRoZSBkZWZpbmVkIGRlcGVuZGVuY3kgdmVyc2lvbnMgYmVsb3cuCisJIyBUaGUgT1MgWCBidWlsZCBpbnN0YWxscyBtdWNoIG1vcmUgcmVjZW50IHZlcnNpb25zLCB3aGljaGV2ZXIKKwkjIHdlcmUgcmVjb3JkZWQgaW4gdGhlIEhvbWVicmV3IGRhdGFiYXNlIHVwb24gY3JlYXRpbmcgdGhlIE9TIFgKKwkjIGltYWdlLgorCSMgS2VlcCB0aGF0IGluIG1pbmQgd2hlbiB5b3UgZW5jb3VudGVyIGEgYnJva2VuIE9TIFggYnVpbGQhCisJZXhwb3J0IExJTlVYX1A0X1ZFUlNJT049IjE2LjIiCisJZXhwb3J0IExJTlVYX0dJVF9MRlNfVkVSU0lPTj0iMS41LjIiCisKKwlQNF9QQVRIPSIkSE9NRS9jdXN0b20vcDQiCisJR0lUX0xGU19QQVRIPSIkSE9NRS9jdXN0b20vZ2l0LWxmcyIKKwlleHBvcnQgUEFUSD0iJEdJVF9MRlNfUEFUSDokUDRfUEFUSDokUEFUSCIKKwk7Oworb3N4LWNsYW5nfG9zeC1nY2MpCisJaWYgWyAiJGpvYm5hbWUiID0gb3N4LWdjYyBdCisJdGhlbgorCQlleHBvcnQgQ0M9Z2NjLTkKKwlmaQorCisJIyB0OTgxMCBvY2Nhc2lvbmFsbHkgZmFpbHMgb24gVHJhdmlzIENJIE9TIFgKKwkjIHQ5ODE2IG9jY2FzaW9uYWxseSBmYWlscyB3aXRoICJUQVAgb3V0IG9mIHNlcXVlbmNlIGVycm9ycyIgb24KKwkjIFRyYXZpcyBDSSBPUyBYCisJZXhwb3J0IEdJVF9TS0lQX1RFU1RTPSJ0OTgxMCB0OTgxNiIKKwk7OworR0lUX1RFU1RfR0VUVEVYVF9QT0lTT04pCisJZXhwb3J0IEdJVF9URVNUX0dFVFRFWFRfUE9JU09OPXRydWUKKwk7OworZXNhYworCitNQUtFRkxBR1M9IiRNQUtFRkxBR1MgQ0M9JHtDQzotY2N9IgpkaWZmIC0tZ2l0IGEvY2kvbWFrZS10ZXN0LWFydGlmYWN0cy5zaCBiL2NpL21ha2UtdGVzdC1hcnRpZmFjdHMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjQ2OTY3NAotLS0gL2Rldi9udWxsCisrKyBiL2NpL21ha2UtdGVzdC1hcnRpZmFjdHMuc2gKQEAgLTAsMCArMSwxMiBAQAorIyEvYmluL3NoCisjCisjIEJ1aWxkIEdpdCBhbmQgc3RvcmUgYXJ0aWZhY3RzIGZvciB0ZXN0aW5nCisjCisKK21rZGlyIC1wICIkMSIgIyBpbiBjYXNlIGNpL2xpYi5zaCBkZWNpZGVzIHRvIHF1aXQgZWFybHkKKworLiAkezAlLyp9L2xpYi5zaAorCittYWtlIGFydGlmYWN0cy10YXIgQVJUSUZBQ1RTX0RJUkVDVE9SWT0iJDEiCisKK2NoZWNrX3VuaWdub3JlZF9idWlsZF9hcnRpZmFjdHMKZGlmZiAtLWdpdCBhL2NpL21vdW50LWZpbGVzaGFyZS5zaCBiL2NpL21vdW50LWZpbGVzaGFyZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNmI1OGE4Ci0tLSAvZGV2L251bGwKKysrIGIvY2kvbW91bnQtZmlsZXNoYXJlLnNoCkBAIC0wLDAgKzEsMjUgQEAKKyMhL2Jpbi9zaAorCitkaWUgKCkgeworCWVjaG8gIiQqIiA+JjIKKwlleGl0IDEKK30KKwordGVzdCAkIyA9IDQgfHwKK2RpZSAiVXNhZ2U6ICQwIDxzaGFyZT4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+IDxtb3VudHBvaW50PiIKKworbWtkaXIgLXAgIiQ0IiB8fCBkaWUgIkNvdWxkIG5vdCBjcmVhdGUgJDQiCisKK2Nhc2UgIiQodW5hbWUgLXMpIiBpbgorTGludXgpCisJc3VkbyBtb3VudCAtdCBjaWZzIC1vIHZlcnM9My4wLHVzZXJuYW1lPSIkMiIscGFzc3dvcmQ9IiQzIixkaXJfbW9kZT0wNzc3LGZpbGVfbW9kZT0wNzc3LHNlcnZlcmlubyAiJDEiICIkNCIKKwk7OworRGFyd2luKQorCXBhc3M9IiQoZWNobyAiJDMiIHwgc2VkIC1lICdzL1wvLyUyRi9nJyAtZSAncy8rLyUyQi9nJykiICYmCisJbW91bnQgLXQgc21iZnMsc29mdCAic21iOi8vJDI6JHBhc3NAJHsxIy8vfSIgIiQ0IgorCTs7CisqKQorCWRpZSAiTm8gc3VwcG9ydCBmb3IgJCh1bmFtZSAtcykiCisJOzsKK2VzYWMgfHwKK2RpZSAiQ291bGQgbm90IG1vdW50ICQ0IgpkaWZmIC0tZ2l0IGEvY2kvcHJpbnQtdGVzdC1mYWlsdXJlcy5zaCBiL2NpL3ByaW50LXRlc3QtZmFpbHVyZXMuc2gKaW5kZXggZDU1NDYwYS4uZTY4OGEyNiAxMDA3NTUKLS0tIGEvY2kvcHJpbnQtdGVzdC1mYWlsdXJlcy5zaAorKysgYi9jaS9wcmludC10ZXN0LWZhaWx1cmVzLnNoCkBAIC0zLDcgKzMsNyBAQAogIyBQcmludCBvdXRwdXQgb2YgZmFpbGluZyB0ZXN0cwogIwogCi0uICR7MCUvKn0vbGliLXRyYXZpc2NpLnNoCisuICR7MCUvKn0vbGliLnNoCiAKICMgVHJhY2luZyBleGVjdXRlZCBjb21tYW5kcyB3b3VsZCBwcm9kdWNlIHRvbyBtdWNoIG5vaXNlIGluIHRoZSBsb29wIGJlbG93Lgogc2V0ICt4CkBAIC0zOCw2ICszOCwxOSBAQAogCQl0ZXN0X25hbWU9IiR7VEVTVF9FWElUJS5leGl0fSIKIAkJdGVzdF9uYW1lPSIke3Rlc3RfbmFtZSMjKi99IgogCQl0cmFzaF9kaXI9InRyYXNoIGRpcmVjdG9yeS4kdGVzdF9uYW1lIgorCQljYXNlICIkQ0lfVFlQRSIgaW4KKwkJdHJhdmlzKQorCQkJOzsKKwkJYXp1cmUtcGlwZWxpbmVzKQorCQkJbWtkaXIgLXAgZmFpbGVkLXRlc3QtYXJ0aWZhY3RzCisJCQltdiAiJHRyYXNoX2RpciIgZmFpbGVkLXRlc3QtYXJ0aWZhY3RzCisJCQljb250aW51ZQorCQkJOzsKKwkJKikKKwkJCWVjaG8gIlVuaGFuZGxlZCBDSSB0eXBlOiAkQ0lfVFlQRSIgPiYyCisJCQlleGl0IDEKKwkJCTs7CisJCWVzYWMKIAkJdHJhc2hfdGd6X2I2ND0idHJhc2guJHRlc3RfbmFtZS5iYXNlNjQiCiAJCWlmIFsgLWQgIiR0cmFzaF9kaXIiIF0KIAkJdGhlbgpkaWZmIC0tZ2l0IGEvY2kvcnVuLWJ1aWxkLWFuZC10ZXN0cy5zaCBiL2NpL3J1bi1idWlsZC1hbmQtdGVzdHMuc2gKaW5kZXggY2RhMTcwZC4uNGRmNTRjNCAxMDA3NTUKLS0tIGEvY2kvcnVuLWJ1aWxkLWFuZC10ZXN0cy5zaAorKysgYi9jaS9ydW4tYnVpbGQtYW5kLXRlc3RzLnNoCkBAIC0zLDIyICszLDM1IEBACiAjIEJ1aWxkIGFuZCB0ZXN0IEdpdAogIwogCi0uICR7MCUvKn0vbGliLXRyYXZpc2NpLnNoCisuICR7MCUvKn0vbGliLnNoCiAKLWxuIC1zICIkY2FjaGVfZGlyLy5wcm92ZSIgdC8ucHJvdmUKK2Nhc2UgIiRDSV9PU19OQU1FIiBpbgord2luZG93cyopIGNtZCAvL2MgbWtsaW5rIC8vaiB0XFwucHJvdmUgIiQoY3lncGF0aCAtYXcgIiRjYWNoZV9kaXIvLnByb3ZlIikiOzsKKyopIGxuIC1zICIkY2FjaGVfZGlyLy5wcm92ZSIgdC8ucHJvdmU7OworZXNhYwogCi1tYWtlIC0tam9icz0yCi1tYWtlIC0tcXVpZXQgdGVzdAotaWYgdGVzdCAiJGpvYm5hbWUiID0gImxpbnV4LWdjYyIKLXRoZW4KK21ha2UKK2Nhc2UgIiRqb2JuYW1lIiBpbgorbGludXgtZ2NjKQorCW1ha2UgdGVzdAogCWV4cG9ydCBHSVRfVEVTVF9TUExJVF9JTkRFWD15ZXMKIAlleHBvcnQgR0lUX1RFU1RfRlVMTF9JTl9QQUNLX0FSUkFZPXRydWUKIAlleHBvcnQgR0lUX1RFU1RfT0VfU0laRT0xMAogCWV4cG9ydCBHSVRfVEVTVF9PRV9ERUxUQV9TSVpFPTUKIAlleHBvcnQgR0lUX1RFU1RfQ09NTUlUX0dSQVBIPTEKIAlleHBvcnQgR0lUX1RFU1RfTVVMVElfUEFDS19JTkRFWD0xCi0JbWFrZSAtLXF1aWV0IHRlc3QKLWZpCisJZXhwb3J0IEdJVF9URVNUX0FERF9JX1VTRV9CVUlMVElOPTEKKwltYWtlIHRlc3QKKwk7OworbGludXgtZ2NjLTQuOCkKKwkjIERvbid0IHJ1biB0aGUgdGVzdHM7IHdlIG9ubHkgY2FyZSBhYm91dCB3aGV0aGVyIEdpdCBjYW4gYmUKKwkjIGJ1aWx0IHdpdGggR0NDIDQuOCwgYXMgaXQgZXJyb3JzIG91dCBvbiBzb21lIHVuZGVzaXJlZCAoQzk5KQorCSMgY29uc3RydWN0cyB0aGF0IG5ld2VyIGNvbXBpbGVycyBzZWVtIHRvIHF1aWV0bHkgYWNjZXB0LgorCTs7CisqKQorCW1ha2UgdGVzdAorCTs7Citlc2FjCiAKIGNoZWNrX3VuaWdub3JlZF9idWlsZF9hcnRpZmFjdHMKIApkaWZmIC0tZ2l0IGEvY2kvcnVuLWxpbnV4MzItYnVpbGQuc2ggYi9jaS9ydW4tbGludXgzMi1idWlsZC5zaAppbmRleCAyYzYwZDJlLi5lM2ExOTNhIDEwMDc1NQotLS0gYS9jaS9ydW4tbGludXgzMi1idWlsZC5zaAorKysgYi9jaS9ydW4tbGludXgzMi1idWlsZC5zaApAQCAtNTUsNiArNTUsNiBAQAogCXNldCAtZXgKIAljZCAvdXNyL3NyYy9naXQKIAl0ZXN0IC1uICIkY2FjaGVfZGlyIiAmJiBsbiAtcyAiJGNhY2hlX2Rpci8ucHJvdmUiIHQvLnByb3ZlCi0JbWFrZSAtLWpvYnM9MgotCW1ha2UgLS1xdWlldCB0ZXN0CisJbWFrZQorCW1ha2UgdGVzdAogJwpkaWZmIC0tZ2l0IGEvY2kvcnVuLWxpbnV4MzItZG9ja2VyLnNoIGIvY2kvcnVuLWxpbnV4MzItZG9ja2VyLnNoCmluZGV4IDIxNjM3OTAuLjc1MWFjZmMgMTAwNzU1Ci0tLSBhL2NpL3J1bi1saW51eDMyLWRvY2tlci5zaAorKysgYi9jaS9ydW4tbGludXgzMi1kb2NrZXIuc2gKQEAgLTMsNyArMyw3IEBACiAjIERvd25sb2FkIGFuZCBydW4gRG9ja2VyIGltYWdlIHRvIGJ1aWxkIGFuZCB0ZXN0IDMyLWJpdCBHaXQKICMKIAotLiAkezAlLyp9L2xpYi10cmF2aXNjaS5zaAorLiAkezAlLyp9L2xpYi5zaAogCiBkb2NrZXIgcHVsbCBkYWFsZC91YnVudHUzMjp4ZW5pYWwKIApkaWZmIC0tZ2l0IGEvY2kvcnVuLXN0YXRpYy1hbmFseXNpcy5zaCBiL2NpL3J1bi1zdGF0aWMtYW5hbHlzaXMuc2gKaW5kZXggNTY4OGYyNi4uNjViY2ViZCAxMDA3NTUKLS0tIGEvY2kvcnVuLXN0YXRpYy1hbmFseXNpcy5zaAorKysgYi9jaS9ydW4tc3RhdGljLWFuYWx5c2lzLnNoCkBAIC0zLDkgKzMsOSBAQAogIyBQZXJmb3JtIHZhcmlvdXMgc3RhdGljIGNvZGUgYW5hbHlzaXMgY2hlY2tzCiAjCiAKLS4gJHswJS8qfS9saWItdHJhdmlzY2kuc2gKKy4gJHswJS8qfS9saWIuc2gKIAotbWFrZSAtLWpvYnM9MiBjb2NjaWNoZWNrCittYWtlIGNvY2NpY2hlY2sKIAogc2V0ICt4CiAKQEAgLTI2LDQgKzI2LDcgQEAKIAlleGl0IDEKIGZpCiAKK21ha2UgaGRyLWNoZWNrIHx8CitleGl0IDEKKwogc2F2ZV9nb29kX3RyZWUKZGlmZiAtLWdpdCBhL2NpL3J1bi10ZXN0LXNsaWNlLnNoIGIvY2kvcnVuLXRlc3Qtc2xpY2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjhjMmMzMQotLS0gL2Rldi9udWxsCisrKyBiL2NpL3J1bi10ZXN0LXNsaWNlLnNoCkBAIC0wLDAgKzEsMTcgQEAKKyMhL2Jpbi9zaAorIworIyBUZXN0IEdpdCBpbiBwYXJhbGxlbAorIworCisuICR7MCUvKn0vbGliLnNoCisKK2Nhc2UgIiRDSV9PU19OQU1FIiBpbgord2luZG93cyopIGNtZCAvL2MgbWtsaW5rIC8vaiB0XFwucHJvdmUgIiQoY3lncGF0aCAtYXcgIiRjYWNoZV9kaXIvLnByb3ZlIikiOzsKKyopIGxuIC1zICIkY2FjaGVfZGlyLy5wcm92ZSIgdC8ucHJvdmU7OworZXNhYworCittYWtlIC0tcXVpZXQgLUMgdCBUPSIkKGNkIHQgJiYKKwkuL2hlbHBlci90ZXN0LXRvb2wgcGF0aC11dGlscyBzbGljZS10ZXN0cyAiJDEiICIkMiIgdFswLTldKi5zaCB8CisJdHIgJ1xuJyAnICcpIgorCitjaGVja191bmlnbm9yZWRfYnVpbGRfYXJ0aWZhY3RzCmRpZmYgLS1naXQgYS9jaS9ydW4td2luZG93cy1idWlsZC5zaCBiL2NpL3J1bi13aW5kb3dzLWJ1aWxkLnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCBkOTlhMTgwLi4wMDAwMDAwCi0tLSBhL2NpL3J1bi13aW5kb3dzLWJ1aWxkLnNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAzICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IGJhc2gKLSMKLSMgU2NyaXB0IHRvIHRyaWdnZXIgdGhlIEdpdCBmb3IgV2luZG93cyBidWlsZCBhbmQgdGVzdCBydW4uCi0jIFNldCB0aGUgJEdGV19DSV9UT0tFTiBhcyBlbnZpcm9ubWVudCB2YXJpYWJsZS4KLSMgUGFzcyB0aGUgYnJhbmNoIChvbmx5IGJyYW5jaGVzIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9naXQvZ2l0IGFyZQotIyBzdXBwb3J0ZWQpIGFuZCBhIGNvbW1pdCBoYXNoLgotIwotCi0uICR7MCUvKn0vbGliLXRyYXZpc2NpLnNoCi0KLXRlc3QgJCMgLW5lIDIgJiYgZWNobyAiVW5leHBlY3RlZCBudW1iZXIgb2YgcGFyYW1ldGVycyIgJiYgZXhpdCAxCi10ZXN0IC16ICIkR0ZXX0NJX1RPS0VOIiAmJiBlY2hvICJHRldfQ0lfVE9LRU4gbm90IGRlZmluZWQiICYmIGV4aXQKLQotQlJBTkNIPSQxCi1DT01NSVQ9JDIKLQotZ2Z3Y2kgKCkgewotCWxvY2FsIENVUkxfRVJST1JfQ09ERSBIVFRQX0NPREUKLQlDT05URU5UX0ZJTEU9JChta3RlbXAgLXQgImdpdC13aW5kb3dzLWNpLVhYWFhYWCIpCi0Jd2hpbGUgdGVzdCAteiAkSFRUUF9DT0RFCi0JZG8KLQlIVFRQX0NPREU9JChjdXJsIFwKLQkJLUggIkF1dGhlbnRpY2F0aW9uOiBCZWFyZXIgJEdGV19DSV9UT0tFTiIgXAotCQktLXNpbGVudCAtLXJldHJ5IDUgLS13cml0ZS1vdXQgJyV7SFRUUF9DT0RFfScgXAotCQktLW91dHB1dCA+KHNlZCAiJChwcmludGYgJzFzL15ceGVmXHhiYlx4YmYvLycpIiA+JENPTlRFTlRfRklMRSkgXAotCQkiaHR0cHM6Ly9naXQtZm9yLXdpbmRvd3MtY2kuYXp1cmV3ZWJzaXRlcy5uZXQvYXBpL1Rlc3ROb3c/JDEiIFwKLQkpCi0JQ1VSTF9FUlJPUl9DT0RFPSQ/Ci0JCSMgVGhlIEdmVyBDSSB3ZWIgYXBwIHNvbWV0aW1lcyByZXR1cm5zIEhUVFAgZXJyb3JzIG9mCi0JCSMgIjUwMiBiYWQgZ2F0ZXdheSIgb3IgIjUwMyBzZXJ2aWNlIHVuYXZhaWxhYmxlIi4KLQkJIyBXZSBhbHNvIG5lZWQgdG8gY2hlY2sgdGhlIEhUVFAgY29udGVudCBiZWNhdXNlIHRoZSBHZlcgd2ViCi0JCSMgYXBwIHNlZW1zIHRvIHBhc3MgdGhyb3VnaCAoZXJyb3IpIHJlc3VsdHMgZnJvbSBvdGhlciBBenVyZQotCQkjIGNhbGxzIHdpdGggSFRUUCBjb2RlIDIwMC4KLQkJIyBXYWl0IGEgbGl0dGxlIGFuZCByZXRyeSBpZiB3ZSBkZXRlY3QgdGhpcyBlcnJvci4gTW9yZSBpbmZvOgotCQkjIGh0dHBzOi8vZG9jcy5taWNyb3NvZnQuY29tL2VuLWluL2F6dXJlL2FwcC1zZXJ2aWNlLXdlYi9hcHAtc2VydmljZS13ZWItdHJvdWJsZXNob290LWh0dHAtNTAyLWh0dHAtNTAzCi0JCWlmIHRlc3QgJEhUVFBfQ09ERSAtZXEgNTAyIHx8Ci0JCSAgIHRlc3QgJEhUVFBfQ09ERSAtZXEgNTAzIHx8Ci0JCSAgIGdyZXAgIjUwMiAtIFdlYiBzZXJ2ZXIgcmVjZWl2ZWQgYW4gaW52YWxpZCByZXNwb25zZSIgJENPTlRFTlRfRklMRSA+L2Rldi9udWxsCi0JCXRoZW4KLQkJCXNsZWVwIDEwCi0JCQlIVFRQX0NPREU9Ci0JCWZpCi0JZG9uZQotCWNhdCAkQ09OVEVOVF9GSUxFCi0Jcm0gJENPTlRFTlRfRklMRQotCWlmIHRlc3QgJENVUkxfRVJST1JfQ09ERSAtbmUgMAotCXRoZW4KLQkJcmV0dXJuICRDVVJMX0VSUk9SX0NPREUKLQlmaQotCWlmIHRlc3QgIiRIVFRQX0NPREUiIC1nZSA0MDAgJiYgdGVzdCAiJEhUVFBfQ09ERSIgLWx0IDYwMAotCXRoZW4KLQkJcmV0dXJuIDEyNwotCWZpCi19Ci0KLSMgVHJpZ2dlciBidWlsZCBqb2IKLUJVSUxEX0lEPSQoZ2Z3Y2kgImFjdGlvbj10cmlnZ2VyJmJyYW5jaD0kQlJBTkNIJmNvbW1pdD0kQ09NTUlUJnNraXBUZXN0cz1mYWxzZSIpCi1pZiB0ZXN0ICQ/IC1uZSAwCi10aGVuCi0JZWNobyAiVW5hYmxlIHRvIHRyaWdnZXIgVmlzdWFsIFN0dWRpbyBUZWFtIFNlcnZpY2VzIEJ1aWxkIgotCWVjaG8gIiRCVUlMRF9JRCIKLQlleGl0IDEKLWZpCi0KLSMgQ2hlY2sgaWYgdGhlICRCVUlMRF9JRCBjb250YWlucyBhIG51bWJlcgotY2FzZSAkQlVJTERfSUQgaW4KLScnfCpbITAtOV0qKSBlY2hvICJVbmV4cGVjdGVkIGJ1aWxkIG51bWJlcjogJEJVSUxEX0lEIiAmJiBleGl0IDEKLWVzYWMKLQotZWNobyAiVmlzdWFsIFN0dWRpbyBUZWFtIFNlcnZpY2VzIEJ1aWxkICMke0JVSUxEX0lEfSIKLQotIyBUcmFjaW5nIGV4ZWN1ZWQgY29tbWFuZHMgd291bGQgcHJvZHVjZSB0b28gbXVjaCBub2lzZSBpbiB0aGUgd2FpdGluZwotIyBsb29wIGJlbG93Lgotc2V0ICt4Ci0KLSMgV2FpdCB1bnRpbCBidWlsZCBqb2IgZmluaXNoZWQKLVNUQVRVUz0KLVJFU1VMVD0KLXdoaWxlIHRydWUKLWRvCi0JTEFTVF9TVEFUVVM9JFNUQVRVUwotCVNUQVRVUz0kKGdmd2NpICJhY3Rpb249c3RhdHVzJmJ1aWxkSWQ9JEJVSUxEX0lEIikKLQl0ZXN0ICIkU1RBVFVTIiA9ICIkTEFTVF9TVEFUVVMiIHx8IHByaW50ZiAiXG5TdGF0dXM6ICVzICIgIiRTVEFUVVMiCi0JcHJpbnRmICIuIgotCi0JY2FzZSAiJFNUQVRVUyIgaW4KLQlpblByb2dyZXNzfHBvc3Rwb25lZHxub3RTdGFydGVkKSBzbGVlcCAxMCAgICAgICAgICAgICAgIDs7ICMgY29udGludWUKLQkJICJjb21wbGV0ZWQ6IHN1Y2NlZWRlZCIpIFJFU1VMVD0ic3VjY2VzcyI7IGJyZWFrOzsgIyBzdWNjZXNzCi0JCSAgICAiY29tcGxldGVkOiBmYWlsZWQiKSAgICAgICAgICAgICAgICAgICBicmVhazs7ICMgZmFpbHVyZQotCSopIGVjaG8gIlVuaGFuZGxlZCBzdGF0dXM6ICRTVEFUVVMiOyAgICAgICAgICAgICAgIGJyZWFrOzsgIyB1bmtub3duCi0JZXNhYwotZG9uZQotCi0jIFByaW50IGxvZwotZWNobyAiIgotZWNobyAiIgotc2V0IC14Ci1nZndjaSAiYWN0aW9uPWxvZyZidWlsZElkPSRCVUlMRF9JRCIgfCBjdXQgLWMgMzAtCi0KLSMgU2V0IGV4aXQgY29kZSBmb3IgVHJhdmlzQ0kKLXRlc3QgIiRSRVNVTFQiID0gInN1Y2Nlc3MiCi0KLXNhdmVfZ29vZF90cmVlCmRpZmYgLS1naXQgYS9jaS90ZXN0LWRvY3VtZW50YXRpb24uc2ggYi9jaS90ZXN0LWRvY3VtZW50YXRpb24uc2gKaW5kZXggYTIwZGU5Yy4uZGU0MTg4OCAxMDA3NTUKLS0tIGEvY2kvdGVzdC1kb2N1bWVudGF0aW9uLnNoCisrKyBiL2NpL3Rlc3QtZG9jdW1lbnRhdGlvbi5zaApAQCAtMywzMyArMyw0MyBAQAogIyBQZXJmb3JtIHNhbml0eSBjaGVja3Mgb24gZG9jdW1lbnRhdGlvbiBhbmQgYnVpbGQgaXQuCiAjCiAKLS4gJHswJS8qfS9saWItdHJhdmlzY2kuc2gKKy4gJHswJS8qfS9saWIuc2gKIAotZ2VtIGluc3RhbGwgYXNjaWlkb2N0b3IKK2ZpbHRlcl9sb2cgKCkgeworCXNlZCAtZSAnL15HSVRfVkVSU0lPTiA9IC9kJyBcCisJICAgIC1lICIvY29uc3RhbnQgR2VtOjpDb25maWdNYXAgaXMgZGVwcmVjYXRlZC9kIiBcCisJICAgIC1lICcvXiAgICBcKiBuZXcgYXNjaWlkb2MgZmxhZ3MkL2QnIFwKKwkgICAgLWUgJy9zdHJpcHBlZCBuYW1lc3BhY2UgYmVmb3JlIHByb2Nlc3NpbmcvZCcgXAorCSAgICAtZSAnL0F0dHJpYnV0ZWQuKklEcyBmb3IgZWxlbWVudC9kJyBcCisJICAgICIkMSIKK30KIAogbWFrZSBjaGVjay1idWlsdGlucwogbWFrZSBjaGVjay1kb2NzCiAKICMgQnVpbGQgZG9jcyB3aXRoIEFzY2lpRG9jCi1tYWtlIC0tam9icz0yIGRvYyA+ID4odGVlIHN0ZG91dC5sb2cpIDI+ID4odGVlIHN0ZGVyci5sb2cgPiYyKQotISB0ZXN0IC1zIHN0ZGVyci5sb2cKK21ha2UgZG9jID4gPih0ZWUgc3Rkb3V0LmxvZykgMj4gPih0ZWUgc3RkZXJyLnJhdyA+JjIpCitjYXQgc3RkZXJyLnJhdworZmlsdGVyX2xvZyBzdGRlcnIucmF3ID5zdGRlcnIubG9nCit0ZXN0ICEgLXMgc3RkZXJyLmxvZwogdGVzdCAtcyBEb2N1bWVudGF0aW9uL2dpdC5odG1sCiB0ZXN0IC1zIERvY3VtZW50YXRpb24vZ2l0LnhtbAogdGVzdCAtcyBEb2N1bWVudGF0aW9uL2dpdC4xCiBncmVwICc8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkFzY2lpRG9jICcgRG9jdW1lbnRhdGlvbi9naXQuaHRtbAogCi1ybSAtZiBzdGRvdXQubG9nIHN0ZGVyci5sb2cKK3JtIC1mIHN0ZG91dC5sb2cgc3RkZXJyLmxvZyBzdGRlcnIucmF3CiBjaGVja191bmlnbm9yZWRfYnVpbGRfYXJ0aWZhY3RzCiAKICMgQnVpbGQgZG9jcyB3aXRoIEFzY2lpRG9jdG9yCiBtYWtlIGNsZWFuCi1tYWtlIC0tam9icz0yIFVTRV9BU0NJSURPQ1RPUj0xIGRvYyA+ID4odGVlIHN0ZG91dC5sb2cpIDI+ID4odGVlIHN0ZGVyci5sb2cgPiYyKQotc2VkICcvXkdJVF9WRVJTSU9OID0gLyBkJyBzdGRlcnIubG9nCi0hIHRlc3QgLXMgc3RkZXJyLmxvZworbWFrZSBVU0VfQVNDSUlET0NUT1I9MSBkb2MgPiA+KHRlZSBzdGRvdXQubG9nKSAyPiA+KHRlZSBzdGRlcnIucmF3ID4mMikKK2NhdCBzdGRlcnIucmF3CitmaWx0ZXJfbG9nIHN0ZGVyci5yYXcgPnN0ZGVyci5sb2cKK3Rlc3QgISAtcyBzdGRlcnIubG9nCiB0ZXN0IC1zIERvY3VtZW50YXRpb24vZ2l0Lmh0bWwKIGdyZXAgJzxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iQXNjaWlkb2N0b3IgJyBEb2N1bWVudGF0aW9uL2dpdC5odG1sCiAKLXJtIC1mIHN0ZG91dC5sb2cgc3RkZXJyLmxvZworcm0gLWYgc3Rkb3V0LmxvZyBzdGRlcnIubG9nIHN0ZGVyci5yYXcKIGNoZWNrX3VuaWdub3JlZF9idWlsZF9hcnRpZmFjdHMKIAogc2F2ZV9nb29kX3RyZWUKZGlmZiAtLWdpdCBhL2NvbG9yLmMgYi9jb2xvci5jCmluZGV4IGViYjIyMmUuLjY0ZjUyYTQgMTAwNjQ0Ci0tLSBhL2NvbG9yLmMKKysrIGIvY29sb3IuYwpAQCAtMjQsNiArMjQsMTQgQEAKIAlHSVRfQ09MT1JfUkVTRVQsCiB9OwogCitlbnVtIHsKKwlDT0xPUl9CQUNLR1JPVU5EX09GRlNFVCA9IDEwLAorCUNPTE9SX0ZPUkVHUk9VTkRfQU5TSSA9IDMwLAorCUNPTE9SX0ZPUkVHUk9VTkRfUkdCID0gMzgsCisJQ09MT1JfRk9SRUdST1VORF8yNTYgPSAzOCwKKwlDT0xPUl9GT1JFR1JPVU5EX0JSSUdIVF9BTlNJID0gOTAsCit9OworCiAvKiBJZ25vcmUgdGhlIFJFU0VUIGF0IHRoZSBlbmQgd2hlbiBnaXZpbmcgdGhlIHNpemUgKi8KIGNvbnN0IGludCBjb2x1bW5fY29sb3JzX2Fuc2lfbWF4ID0gQVJSQVlfU0laRShjb2x1bW5fY29sb3JzX2Fuc2kpIC0gMTsKIApAQCAtNjEsMTUgKzY5LDM4IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcGFyc2VfY29sb3Ioc3RydWN0IGNvbG9yICpvdXQsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4pCisvKgorICogSWYgYW4gQU5TSSBjb2xvciBpcyByZWNvZ25pemVkIGluICJuYW1lIiwgZmlsbCAib3V0IiBhbmQgcmV0dXJuIDAuCisgKiBPdGhlcndpc2UsIGxlYXZlIG91dCB1bmNoYW5nZWQgYW5kIHJldHVybiAtMS4KKyAqLworc3RhdGljIGludCBwYXJzZV9hbnNpX2NvbG9yKHN0cnVjdCBjb2xvciAqb3V0LCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuKQogewogCS8qIFBvc2l0aW9ucyBpbiBhcnJheSBtdXN0IG1hdGNoIEFOU0kgY29sb3IgY29kZXMgKi8KIAlzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGNvbG9yX25hbWVzW10gPSB7CiAJCSJibGFjayIsICJyZWQiLCAiZ3JlZW4iLCAieWVsbG93IiwKIAkJImJsdWUiLCAibWFnZW50YSIsICJjeWFuIiwgIndoaXRlIgogCX07Ci0JY2hhciAqZW5kOwogCWludCBpOworCWludCBjb2xvcl9vZmZzZXQgPSBDT0xPUl9GT1JFR1JPVU5EX0FOU0k7CisKKwlpZiAoc3RybmNhc2VjbXAobmFtZSwgImJyaWdodCIsIDYpID09IDApIHsKKwkJY29sb3Jfb2Zmc2V0ID0gQ09MT1JfRk9SRUdST1VORF9CUklHSFRfQU5TSTsKKwkJbmFtZSArPSA2OworCQlsZW4gLT0gNjsKKwl9CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY29sb3JfbmFtZXMpOyBpKyspIHsKKwkJaWYgKG1hdGNoX3dvcmQobmFtZSwgbGVuLCBjb2xvcl9uYW1lc1tpXSkpIHsKKwkJCW91dC0+dHlwZSA9IENPTE9SX0FOU0k7CisJCQlvdXQtPnZhbHVlID0gaSArIGNvbG9yX29mZnNldDsKKwkJCXJldHVybiAwOworCQl9CisJfQorCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBwYXJzZV9jb2xvcihzdHJ1Y3QgY29sb3IgKm91dCwgY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbikKK3sKKwljaGFyICplbmQ7CiAJbG9uZyB2YWw7CiAKIAkvKiBGaXJzdCB0cnkgdGhlIHNwZWNpYWwgd29yZCAibm9ybWFsIi4uLiAqLwpAQCAtODksMTIgKzEyMCw4IEBACiAJfQogCiAJLyogVGhlbiBwaWNrIGZyb20gb3VyIGh1bWFuLXJlYWRhYmxlIGNvbG9yIG5hbWVzLi4uICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY29sb3JfbmFtZXMpOyBpKyspIHsKLQkJaWYgKG1hdGNoX3dvcmQobmFtZSwgbGVuLCBjb2xvcl9uYW1lc1tpXSkpIHsKLQkJCW91dC0+dHlwZSA9IENPTE9SX0FOU0k7Ci0JCQlvdXQtPnZhbHVlID0gaTsKLQkJCXJldHVybiAwOwotCQl9CisJaWYgKHBhcnNlX2Fuc2lfY29sb3Iob3V0LCBuYW1lLCBsZW4pID09IDApIHsKKwkJcmV0dXJuIDA7CiAJfQogCiAJLyogQW5kIGZpbmFsbHkgdHJ5IGEgbGl0ZXJhbCAyNTYtY29sb3ItbW9kZSBudW1iZXIgKi8KQEAgLTEwOSwxMCArMTM2LDE1IEBACiAJCWVsc2UgaWYgKHZhbCA8IDApIHsKIAkJCW91dC0+dHlwZSA9IENPTE9SX05PUk1BTDsKIAkJCXJldHVybiAwOwotCQkvKiBSZXdyaXRlIGxvdyBudW1iZXJzIGFzIG1vcmUtcG9ydGFibGUgc3RhbmRhcmQgY29sb3JzLiAqLworCQkvKiBSZXdyaXRlIDAtNyBhcyBtb3JlLXBvcnRhYmxlIHN0YW5kYXJkIGNvbG9ycy4gKi8KIAkJfSBlbHNlIGlmICh2YWwgPCA4KSB7CiAJCQlvdXQtPnR5cGUgPSBDT0xPUl9BTlNJOwotCQkJb3V0LT52YWx1ZSA9IHZhbDsKKwkJCW91dC0+dmFsdWUgPSB2YWwgKyBDT0xPUl9GT1JFR1JPVU5EX0FOU0k7CisJCQlyZXR1cm4gMDsKKwkJLyogUmV3cml0ZSA4LTE1IGFzIG1vcmUtcG9ydGFibGUgYWl4dGVybSBjb2xvcnMuICovCisJCX0gZWxzZSBpZiAodmFsIDwgMTYpIHsKKwkJCW91dC0+dHlwZSA9IENPTE9SX0FOU0k7CisJCQlvdXQtPnZhbHVlID0gdmFsIC0gOCArIENPTE9SX0ZPUkVHUk9VTkRfQlJJR0hUX0FOU0k7CiAJCQlyZXR1cm4gMDsKIAkJfSBlbHNlIGlmICh2YWwgPCAyNTYpIHsKIAkJCW91dC0+dHlwZSA9IENPTE9SXzI1NjsKQEAgLTE2NiwyMyArMTk4LDI2IEBACiAgKiBhbHJlYWR5IGhhdmUgdGhlIEFOU0kgZXNjYXBlIGNvZGUgaW4gaXQuICJvdXQiIHNob3VsZCBoYXZlIGVub3VnaAogICogc3BhY2UgaW4gaXQgdG8gZml0IGFueSBjb2xvci4KICAqLwotc3RhdGljIGNoYXIgKmNvbG9yX291dHB1dChjaGFyICpvdXQsIGludCBsZW4sIGNvbnN0IHN0cnVjdCBjb2xvciAqYywgY2hhciB0eXBlKQorc3RhdGljIGNoYXIgKmNvbG9yX291dHB1dChjaGFyICpvdXQsIGludCBsZW4sIGNvbnN0IHN0cnVjdCBjb2xvciAqYywgaW50IGJhY2tncm91bmQpCiB7CisJaW50IG9mZnNldCA9IDA7CisKKwlpZiAoYmFja2dyb3VuZCkKKwkJb2Zmc2V0ID0gQ09MT1JfQkFDS0dST1VORF9PRkZTRVQ7CiAJc3dpdGNoIChjLT50eXBlKSB7CiAJY2FzZSBDT0xPUl9VTlNQRUNJRklFRDoKIAljYXNlIENPTE9SX05PUk1BTDoKIAkJYnJlYWs7CiAJY2FzZSBDT0xPUl9BTlNJOgotCQlpZiAobGVuIDwgMikKLQkJCUJVRygiY29sb3IgcGFyc2luZyByYW4gb3V0IG9mIHNwYWNlIik7Ci0JCSpvdXQrKyA9IHR5cGU7Ci0JCSpvdXQrKyA9ICcwJyArIGMtPnZhbHVlOworCQlvdXQgKz0geHNucHJpbnRmKG91dCwgbGVuLCAiJWQiLCBjLT52YWx1ZSArIG9mZnNldCk7CiAJCWJyZWFrOwogCWNhc2UgQ09MT1JfMjU2OgotCQlvdXQgKz0geHNucHJpbnRmKG91dCwgbGVuLCAiJWM4OzU7JWQiLCB0eXBlLCBjLT52YWx1ZSk7CisJCW91dCArPSB4c25wcmludGYob3V0LCBsZW4sICIlZDs1OyVkIiwgQ09MT1JfRk9SRUdST1VORF8yNTYgKyBvZmZzZXQsCisJCQkJIGMtPnZhbHVlKTsKIAkJYnJlYWs7CiAJY2FzZSBDT0xPUl9SR0I6Ci0JCW91dCArPSB4c25wcmludGYob3V0LCBsZW4sICIlYzg7MjslZDslZDslZCIsIHR5cGUsCisJCW91dCArPSB4c25wcmludGYob3V0LCBsZW4sICIlZDsyOyVkOyVkOyVkIiwKKwkJCQkgQ09MT1JfRk9SRUdST1VORF9SR0IgKyBvZmZzZXQsCiAJCQkJIGMtPnJlZCwgYy0+Z3JlZW4sIGMtPmJsdWUpOwogCQlicmVhazsKIAl9CkBAIC0yNzksMTQgKzMxNCwxMiBAQAogCQlpZiAoIWNvbG9yX2VtcHR5KCZmZykpIHsKIAkJCWlmIChzZXArKykKIAkJCQlPVVQoJzsnKTsKLQkJCS8qIGZvcmVncm91bmQgY29sb3JzIGFyZSBhbGwgaW4gdGhlIDN4IHJhbmdlICovCi0JCQlkc3QgPSBjb2xvcl9vdXRwdXQoZHN0LCBlbmQgLSBkc3QsICZmZywgJzMnKTsKKwkJCWRzdCA9IGNvbG9yX291dHB1dChkc3QsIGVuZCAtIGRzdCwgJmZnLCAwKTsKIAkJfQogCQlpZiAoIWNvbG9yX2VtcHR5KCZiZykpIHsKIAkJCWlmIChzZXArKykKIAkJCQlPVVQoJzsnKTsKLQkJCS8qIGJhY2tncm91bmQgY29sb3JzIGFyZSBhbGwgaW4gdGhlIDR4IHJhbmdlICovCi0JCQlkc3QgPSBjb2xvcl9vdXRwdXQoZHN0LCBlbmQgLSBkc3QsICZiZywgJzQnKTsKKwkJCWRzdCA9IGNvbG9yX291dHB1dChkc3QsIGVuZCAtIGRzdCwgJmJnLCAxKTsKIAkJfQogCQlPVVQoJ20nKTsKIAl9CmRpZmYgLS1naXQgYS9jb2x1bW4uYyBiL2NvbHVtbi5jCmluZGV4IDIxNjUyOTcuLjRhMzhlZWQgMTAwNjQ0Ci0tLSBhL2NvbHVtbi5jCisrKyBiL2NvbHVtbi5jCkBAIC0yMSwyMCArMjEsOSBAQAogfTsKIAogLyogcmV0dXJuIGxlbmd0aCBvZiAncycgaW4gbGV0dGVycywgQU5TSSBlc2NhcGVzIHN0cmlwcGVkICovCi1zdGF0aWMgaW50IGl0ZW1fbGVuZ3RoKHVuc2lnbmVkIGludCBjb2xvcHRzLCBjb25zdCBjaGFyICpzKQorc3RhdGljIGludCBpdGVtX2xlbmd0aChjb25zdCBjaGFyICpzKQogewotCWludCBsZW4sIGkgPSAwOwotCXN0cnVjdCBzdHJidWYgc3RyID0gU1RSQlVGX0lOSVQ7Ci0KLQlzdHJidWZfYWRkc3RyKCZzdHIsIHMpOwotCXdoaWxlICgocyA9IHN0cnN0cihzdHIuYnVmICsgaSwgIlwwMzNbIikpICE9IE5VTEwpIHsKLQkJaW50IGxlbiA9IHN0cnNwbihzICsgMiwgIjAxMjM0NTY3ODk7Iik7Ci0JCWkgPSBzIC0gc3RyLmJ1ZjsKLQkJc3RyYnVmX3JlbW92ZSgmc3RyLCBpLCBsZW4gKyAzKTsgLyogXDAzM1s8bGVuPjxmdW5jIGNoYXI+ICovCi0JfQotCWxlbiA9IHV0Zjhfc3Ryd2lkdGgoc3RyLmJ1Zik7Ci0Jc3RyYnVmX3JlbGVhc2UoJnN0cik7Ci0JcmV0dXJuIGxlbjsKKwlyZXR1cm4gdXRmOF9zdHJud2lkdGgocywgLTEsIDEpOwogfQogCiAvKgpAQCAtMTY3LDcgKzE1Niw3IEBACiAKIAlBTExPQ19BUlJBWShkYXRhLmxlbiwgbGlzdC0+bnIpOwogCWZvciAoaSA9IDA7IGkgPCBsaXN0LT5ucjsgaSsrKQotCQlkYXRhLmxlbltpXSA9IGl0ZW1fbGVuZ3RoKGNvbG9wdHMsIGxpc3QtPml0ZW1zW2ldLnN0cmluZyk7CisJCWRhdGEubGVuW2ldID0gaXRlbV9sZW5ndGgobGlzdC0+aXRlbXNbaV0uc3RyaW5nKTsKIAogCWxheW91dCgmZGF0YSwgJmluaXRpYWxfd2lkdGgpOwogCmRpZmYgLS1naXQgYS9jb2x1bW4uaCBiL2NvbHVtbi5oCmluZGV4IDI1NjdhNWMuLjQ0OGM3NDQgMTAwNjQ0Ci0tLSBhL2NvbHVtbi5oCisrKyBiL2NvbHVtbi5oCkBAIC0yNywyMCArMjcsMjAgQEAKIH07CiAKIHN0cnVjdCBvcHRpb247Ci1leHRlcm4gaW50IHBhcnNlb3B0X2NvbHVtbl9jYWxsYmFjayhjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKiwgaW50KTsKLWV4dGVybiBpbnQgZ2l0X2NvbHVtbl9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwKLQkJCSAgICAgY29uc3QgY2hhciAqY29tbWFuZCwgdW5zaWduZWQgaW50ICpjb2xvcHRzKTsKLWV4dGVybiBpbnQgZmluYWxpemVfY29sb3B0cyh1bnNpZ25lZCBpbnQgKmNvbG9wdHMsIGludCBzdGRvdXRfaXNfdHR5KTsKK2ludCBwYXJzZW9wdF9jb2x1bW5fY2FsbGJhY2soY29uc3Qgc3RydWN0IG9wdGlvbiAqLCBjb25zdCBjaGFyICosIGludCk7CitpbnQgZ2l0X2NvbHVtbl9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwKKwkJICAgICAgY29uc3QgY2hhciAqY29tbWFuZCwgdW5zaWduZWQgaW50ICpjb2xvcHRzKTsKK2ludCBmaW5hbGl6ZV9jb2xvcHRzKHVuc2lnbmVkIGludCAqY29sb3B0cywgaW50IHN0ZG91dF9pc190dHkpOwogc3RhdGljIGlubGluZSBpbnQgY29sdW1uX2FjdGl2ZSh1bnNpZ25lZCBpbnQgY29sb3B0cykKIHsKIAlyZXR1cm4gKGNvbG9wdHMgJiBDT0xfRU5BQkxFX01BU0spID09IENPTF9FTkFCTEVEOwogfQogCiBzdHJ1Y3Qgc3RyaW5nX2xpc3Q7Ci1leHRlcm4gdm9pZCBwcmludF9jb2x1bW5zKGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCwgdW5zaWduZWQgaW50IGNvbG9wdHMsCi0JCQkgIGNvbnN0IHN0cnVjdCBjb2x1bW5fb3B0aW9ucyAqb3B0cyk7Cit2b2lkIHByaW50X2NvbHVtbnMoY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpsaXN0LCB1bnNpZ25lZCBpbnQgY29sb3B0cywKKwkJICAgY29uc3Qgc3RydWN0IGNvbHVtbl9vcHRpb25zICpvcHRzKTsKIAotZXh0ZXJuIGludCBydW5fY29sdW1uX2ZpbHRlcihpbnQgY29sb3B0cywgY29uc3Qgc3RydWN0IGNvbHVtbl9vcHRpb25zICopOwotZXh0ZXJuIGludCBzdG9wX2NvbHVtbl9maWx0ZXIodm9pZCk7CitpbnQgcnVuX2NvbHVtbl9maWx0ZXIoaW50IGNvbG9wdHMsIGNvbnN0IHN0cnVjdCBjb2x1bW5fb3B0aW9ucyAqKTsKK2ludCBzdG9wX2NvbHVtbl9maWx0ZXIodm9pZCk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvY29tYmluZS1kaWZmLmMgYi9jb21iaW5lLWRpZmYuYwppbmRleCBhZDc3NTJlLi5kNWM0ZDgzIDEwMDY0NAotLS0gYS9jb21iaW5lLWRpZmYuYworKysgYi9jb21iaW5lLWRpZmYuYwpAQCAtMjMsMTEgKzIzLDIwIEBACiAJCQkJIHR3by0+cGF0aCwgc3RybGVuKHR3by0+cGF0aCksIHR3by0+bW9kZSk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgY29tYmluZV9kaWZmX3BhdGggKmludGVyc2VjdF9wYXRocyhzdHJ1Y3QgY29tYmluZV9kaWZmX3BhdGggKmN1cnIsIGludCBuLCBpbnQgbnVtX3BhcmVudCkKK3N0YXRpYyBpbnQgZmlsZW5hbWVfY2hhbmdlZChjaGFyIHN0YXR1cykKK3sKKwlyZXR1cm4gc3RhdHVzID09ICdSJyB8fCBzdGF0dXMgPT0gJ0MnOworfQorCitzdGF0aWMgc3RydWN0IGNvbWJpbmVfZGlmZl9wYXRoICppbnRlcnNlY3RfcGF0aHMoCisJc3RydWN0IGNvbWJpbmVfZGlmZl9wYXRoICpjdXJyLAorCWludCBuLAorCWludCBudW1fcGFyZW50LAorCWludCBjb21iaW5lZF9hbGxfcGF0aHMpCiB7CiAJc3RydWN0IGRpZmZfcXVldWVfc3RydWN0ICpxID0gJmRpZmZfcXVldWVkX2RpZmY7CiAJc3RydWN0IGNvbWJpbmVfZGlmZl9wYXRoICpwLCAqKnRhaWwgPSAmY3VycjsKLQlpbnQgaSwgY21wOworCWludCBpLCBqLCBjbXA7CiAKIAlpZiAoIW4pIHsKIAkJZm9yIChpID0gMDsgaSA8IHEtPm5yOyBpKyspIHsKQEAgLTUwLDYgKzU5LDEzIEBACiAJCQlvaWRjcHkoJnAtPnBhcmVudFtuXS5vaWQsICZxLT5xdWV1ZVtpXS0+b25lLT5vaWQpOwogCQkJcC0+cGFyZW50W25dLm1vZGUgPSBxLT5xdWV1ZVtpXS0+b25lLT5tb2RlOwogCQkJcC0+cGFyZW50W25dLnN0YXR1cyA9IHEtPnF1ZXVlW2ldLT5zdGF0dXM7CisKKwkJCWlmIChjb21iaW5lZF9hbGxfcGF0aHMgJiYKKwkJCSAgICBmaWxlbmFtZV9jaGFuZ2VkKHAtPnBhcmVudFtuXS5zdGF0dXMpKSB7CisJCQkJc3RyYnVmX2luaXQoJnAtPnBhcmVudFtuXS5wYXRoLCAwKTsKKwkJCQlzdHJidWZfYWRkc3RyKCZwLT5wYXJlbnRbbl0ucGF0aCwKKwkJCQkJICAgICAgcS0+cXVldWVbaV0tPm9uZS0+cGF0aCk7CisJCQl9CiAJCQkqdGFpbCA9IHA7CiAJCQl0YWlsID0gJnAtPm5leHQ7CiAJCX0KQEAgLTY4LDYgKzg0LDEwIEBACiAJCWlmIChjbXAgPCAwKSB7CiAJCQkvKiBwLT5wYXRoIG5vdCBpbiBxLT5xdWV1ZVtdOyBkcm9wIGl0ICovCiAJCQkqdGFpbCA9IHAtPm5leHQ7CisJCQlmb3IgKGogPSAwOyBqIDwgbnVtX3BhcmVudDsgaisrKQorCQkJCWlmIChjb21iaW5lZF9hbGxfcGF0aHMgJiYKKwkJCQkgICAgZmlsZW5hbWVfY2hhbmdlZChwLT5wYXJlbnRbal0uc3RhdHVzKSkKKwkJCQkJc3RyYnVmX3JlbGVhc2UoJnAtPnBhcmVudFtqXS5wYXRoKTsKIAkJCWZyZWUocCk7CiAJCQljb250aW51ZTsKIAkJfQpAQCAtODEsNiArMTAxLDEwIEBACiAJCW9pZGNweSgmcC0+cGFyZW50W25dLm9pZCwgJnEtPnF1ZXVlW2ldLT5vbmUtPm9pZCk7CiAJCXAtPnBhcmVudFtuXS5tb2RlID0gcS0+cXVldWVbaV0tPm9uZS0+bW9kZTsKIAkJcC0+cGFyZW50W25dLnN0YXR1cyA9IHEtPnF1ZXVlW2ldLT5zdGF0dXM7CisJCWlmIChjb21iaW5lZF9hbGxfcGF0aHMgJiYKKwkJICAgIGZpbGVuYW1lX2NoYW5nZWQocC0+cGFyZW50W25dLnN0YXR1cykpCisJCQlzdHJidWZfYWRkc3RyKCZwLT5wYXJlbnRbbl0ucGF0aCwKKwkJCQkgICAgICBxLT5xdWV1ZVtpXS0+b25lLT5wYXRoKTsKIAogCQl0YWlsID0gJnAtPm5leHQ7CiAJCWkrKzsKQEAgLTkwNiw3ICs5MzAsNyBAQAogCQkJCSBpbnQgc2hvd19maWxlX2hlYWRlcikKIHsKIAlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQgPSAmcmV2LT5kaWZmb3B0OwotCWludCBhYmJyZXYgPSBvcHQtPmZsYWdzLmZ1bGxfaW5kZXggPyBHSVRfU0hBMV9IRVhTWiA6IERFRkFVTFRfQUJCUkVWOworCWludCBhYmJyZXYgPSBvcHQtPmZsYWdzLmZ1bGxfaW5kZXggPyB0aGVfaGFzaF9hbGdvLT5oZXhzeiA6IERFRkFVTFRfQUJCUkVWOwogCWNvbnN0IGNoYXIgKmFfcHJlZml4ID0gb3B0LT5hX3ByZWZpeCA/IG9wdC0+YV9wcmVmaXggOiAiYS8iOwogCWNvbnN0IGNoYXIgKmJfcHJlZml4ID0gb3B0LT5iX3ByZWZpeCA/IG9wdC0+Yl9wcmVmaXggOiAiYi8iOwogCWNvbnN0IGNoYXIgKmNfbWV0YSA9IGRpZmZfZ2V0X2NvbG9yX29wdChvcHQsIERJRkZfTUVUQUlORk8pOwpAQCAtOTYwLDEyICs5ODQsMjUgQEAKIAlpZiAoIXNob3dfZmlsZV9oZWFkZXIpCiAJCXJldHVybjsKIAotCWlmIChhZGRlZCkKLQkJZHVtcF9xdW90ZWRfcGF0aCgiLS0tICIsICIiLCAiL2Rldi9udWxsIiwKLQkJCQkgbGluZV9wcmVmaXgsIGNfbWV0YSwgY19yZXNldCk7Ci0JZWxzZQotCQlkdW1wX3F1b3RlZF9wYXRoKCItLS0gIiwgYV9wcmVmaXgsIGVsZW0tPnBhdGgsCi0JCQkJIGxpbmVfcHJlZml4LCBjX21ldGEsIGNfcmVzZXQpOworCWlmIChyZXYtPmNvbWJpbmVkX2FsbF9wYXRocykgeworCQlmb3IgKGkgPSAwOyBpIDwgbnVtX3BhcmVudDsgaSsrKSB7CisJCQljaGFyICpwYXRoID0gZmlsZW5hbWVfY2hhbmdlZChlbGVtLT5wYXJlbnRbaV0uc3RhdHVzKQorCQkJCT8gZWxlbS0+cGFyZW50W2ldLnBhdGguYnVmIDogZWxlbS0+cGF0aDsKKwkJCWlmIChlbGVtLT5wYXJlbnRbaV0uc3RhdHVzID09IERJRkZfU1RBVFVTX0FEREVEKQorCQkJCWR1bXBfcXVvdGVkX3BhdGgoIi0tLSAiLCAiIiwgIi9kZXYvbnVsbCIsCisJCQkJCQkgbGluZV9wcmVmaXgsIGNfbWV0YSwgY19yZXNldCk7CisJCQllbHNlCisJCQkJZHVtcF9xdW90ZWRfcGF0aCgiLS0tICIsIGFfcHJlZml4LCBwYXRoLAorCQkJCQkJIGxpbmVfcHJlZml4LCBjX21ldGEsIGNfcmVzZXQpOworCQl9CisJfSBlbHNlIHsKKwkJaWYgKGFkZGVkKQorCQkJZHVtcF9xdW90ZWRfcGF0aCgiLS0tICIsICIiLCAiL2Rldi9udWxsIiwKKwkJCQkJIGxpbmVfcHJlZml4LCBjX21ldGEsIGNfcmVzZXQpOworCQllbHNlCisJCQlkdW1wX3F1b3RlZF9wYXRoKCItLS0gIiwgYV9wcmVmaXgsIGVsZW0tPnBhdGgsCisJCQkJCSBsaW5lX3ByZWZpeCwgY19tZXRhLCBjX3Jlc2V0KTsKKwl9CiAJaWYgKGRlbGV0ZWQpCiAJCWR1bXBfcXVvdGVkX3BhdGgoIisrKyAiLCAiIiwgIi9kZXYvbnVsbCIsCiAJCQkJIGxpbmVfcHJlZml4LCBjX21ldGEsIGNfcmVzZXQpOwpAQCAtOTk2LDcgKzEwMzMsNyBAQAogCWlmICghdXNlcmRpZmYpCiAJCXVzZXJkaWZmID0gdXNlcmRpZmZfZmluZF9ieV9uYW1lKCJkZWZhdWx0Iik7CiAJaWYgKG9wdC0+ZmxhZ3MuYWxsb3dfdGV4dGNvbnYpCi0JCXRleHRjb252ID0gdXNlcmRpZmZfZ2V0X3RleHRjb252KHVzZXJkaWZmKTsKKwkJdGV4dGNvbnYgPSB1c2VyZGlmZl9nZXRfdGV4dGNvbnYob3B0LT5yZXBvLCB1c2VyZGlmZik7CiAKIAkvKiBSZWFkIHRoZSByZXN1bHQgb2YgbWVyZ2UgZmlyc3QgKi8KIAlpZiAoIXdvcmtpbmdfdHJlZV9maWxlKQpAQCAtMTIyNyw2ICsxMjY0LDE1IEBACiAJCXB1dGNoYXIoaW50ZXJfbmFtZV90ZXJtaW5hdGlvbik7CiAJfQogCisJZm9yIChpID0gMDsgaSA8IG51bV9wYXJlbnQ7IGkrKykKKwkJaWYgKHJldi0+Y29tYmluZWRfYWxsX3BhdGhzKSB7CisJCQlpZiAoZmlsZW5hbWVfY2hhbmdlZChwLT5wYXJlbnRbaV0uc3RhdHVzKSkKKwkJCQl3cml0ZV9uYW1lX3F1b3RlZChwLT5wYXJlbnRbaV0ucGF0aC5idWYsIHN0ZG91dCwKKwkJCQkJCSAgaW50ZXJfbmFtZV90ZXJtaW5hdGlvbik7CisJCQllbHNlCisJCQkJd3JpdGVfbmFtZV9xdW90ZWQocC0+cGF0aCwgc3Rkb3V0LAorCQkJCQkJICBpbnRlcl9uYW1lX3Rlcm1pbmF0aW9uKTsKKwkJfQogCXdyaXRlX25hbWVfcXVvdGVkKHAtPnBhdGgsIHN0ZG91dCwgbGluZV90ZXJtaW5hdGlvbik7CiB9CiAKQEAgLTEzMjEsMTAgKzEzNjcsMjAgQEAKIAlyZXR1cm4gcGF0aC0+cGF0aDsKIH0KIAorLyoKKyAqIERpZmYgc3RhdCBmb3JtYXRzIHdoaWNoIHdlIGFsd2F5cyBjb21wdXRlIHNvbGVseSBhZ2FpbnN0IHRoZSBmaXJzdCBwYXJlbnQuCisgKi8KKyNkZWZpbmUgU1RBVF9GT1JNQVRfTUFTSyAoRElGRl9GT1JNQVRfTlVNU1RBVCBcCisJCQkgIHwgRElGRl9GT1JNQVRfU0hPUlRTVEFUIFwKKwkJCSAgfCBESUZGX0ZPUk1BVF9TVU1NQVJZIFwKKwkJCSAgfCBESUZGX0ZPUk1BVF9ESVJTVEFUIFwKKwkJCSAgfCBESUZGX0ZPUk1BVF9ESUZGU1RBVCkKIAogLyogZmluZCBzZXQgb2YgcGF0aHMgdGhhdCBldmVyeSBwYXJlbnQgdG91Y2hlcyAqLwogc3RhdGljIHN0cnVjdCBjb21iaW5lX2RpZmZfcGF0aCAqZmluZF9wYXRoc19nZW5lcmljKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKLQljb25zdCBzdHJ1Y3Qgb2lkX2FycmF5ICpwYXJlbnRzLCBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQpCisJY29uc3Qgc3RydWN0IG9pZF9hcnJheSAqcGFyZW50cywKKwlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQsCisJaW50IGNvbWJpbmVkX2FsbF9wYXRocykKIHsKIAlzdHJ1Y3QgY29tYmluZV9kaWZmX3BhdGggKnBhdGhzID0gTlVMTDsKIAlpbnQgaSwgbnVtX3BhcmVudCA9IHBhcmVudHMtPm5yOwpAQCAtMTM0MiwxNSArMTM5OCwxNSBAQAogCQkgKiBzaG93IHN0YXQgYWdhaW5zdCB0aGUgZmlyc3QgcGFyZW50IGV2ZW4gd2hlbiBkb2luZwogCQkgKiBjb21iaW5lZCBkaWZmLgogCQkgKi8KLQkJaW50IHN0YXRfb3B0ID0gKG91dHB1dF9mb3JtYXQgJgotCQkJCShESUZGX0ZPUk1BVF9OVU1TVEFUfERJRkZfRk9STUFUX0RJRkZTVEFUKSk7CisJCWludCBzdGF0X29wdCA9IG91dHB1dF9mb3JtYXQgJiBTVEFUX0ZPUk1BVF9NQVNLOwogCQlpZiAoaSA9PSAwICYmIHN0YXRfb3B0KQogCQkJb3B0LT5vdXRwdXRfZm9ybWF0ID0gc3RhdF9vcHQ7CiAJCWVsc2UKIAkJCW9wdC0+b3V0cHV0X2Zvcm1hdCA9IERJRkZfRk9STUFUX05PX09VVFBVVDsKIAkJZGlmZl90cmVlX29pZCgmcGFyZW50cy0+b2lkW2ldLCBvaWQsICIiLCBvcHQpOwogCQlkaWZmY29yZV9zdGQob3B0KTsKLQkJcGF0aHMgPSBpbnRlcnNlY3RfcGF0aHMocGF0aHMsIGksIG51bV9wYXJlbnQpOworCQlwYXRocyA9IGludGVyc2VjdF9wYXRocyhwYXRocywgaSwgbnVtX3BhcmVudCwKKwkJCQkJY29tYmluZWRfYWxsX3BhdGhzKTsKIAogCQkvKiBpZiBzaG93aW5nIGRpZmYsIHNob3cgaXQgaW4gcmVxdWVzdGVkIG9yZGVyICovCiAJCWlmIChvcHQtPm91dHB1dF9mb3JtYXQgIT0gRElGRl9GT1JNQVRfTk9fT1VUUFVUICYmCkBAIC0xNDYwLDcgKzE1MTYsOCBAQAogCQkgKiBkaWZmKHNoYTEscGFyZW50X2kpIGZvciBhbGwgaSB0byBkbyB0aGUgam9iLCBzcGVjaWZpY2FsbHkKIAkJICogZm9yIHBhcmVudDAuCiAJCSAqLwotCQlwYXRocyA9IGZpbmRfcGF0aHNfZ2VuZXJpYyhvaWQsIHBhcmVudHMsICZkaWZmb3B0cyk7CisJCXBhdGhzID0gZmluZF9wYXRoc19nZW5lcmljKG9pZCwgcGFyZW50cywgJmRpZmZvcHRzLAorCQkJCQkgICByZXYtPmNvbWJpbmVkX2FsbF9wYXRocyk7CiAJfQogCWVsc2UgewogCQlpbnQgc3RhdF9vcHQ7CkBAIC0xNDcwLDggKzE1MjcsNyBAQAogCQkgKiBzaG93IHN0YXQgYWdhaW5zdCB0aGUgZmlyc3QgcGFyZW50IGV2ZW4KIAkJICogd2hlbiBkb2luZyBjb21iaW5lZCBkaWZmLgogCQkgKi8KLQkJc3RhdF9vcHQgPSAob3B0LT5vdXRwdXRfZm9ybWF0ICYKLQkJCQkoRElGRl9GT1JNQVRfTlVNU1RBVHxESUZGX0ZPUk1BVF9ESUZGU1RBVCkpOworCQlzdGF0X29wdCA9IG9wdC0+b3V0cHV0X2Zvcm1hdCAmIFNUQVRfRk9STUFUX01BU0s7CiAJCWlmIChzdGF0X29wdCkgewogCQkJZGlmZm9wdHMub3V0cHV0X2Zvcm1hdCA9IHN0YXRfb3B0OwogCkBAIC0xNTE1LDggKzE1NzEsNyBAQAogCQkJCXNob3dfcmF3X2RpZmYocCwgbnVtX3BhcmVudCwgcmV2KTsKIAkJCW5lZWRzZXAgPSAxOwogCQl9Ci0JCWVsc2UgaWYgKG9wdC0+b3V0cHV0X2Zvcm1hdCAmCi0JCQkgKERJRkZfRk9STUFUX05VTVNUQVR8RElGRl9GT1JNQVRfRElGRlNUQVQpKQorCQllbHNlIGlmIChvcHQtPm91dHB1dF9mb3JtYXQgJiBTVEFUX0ZPUk1BVF9NQVNLKQogCQkJbmVlZHNlcCA9IDE7CiAJCWVsc2UgaWYgKG9wdC0+b3V0cHV0X2Zvcm1hdCAmIERJRkZfRk9STUFUX0NBTExCQUNLKQogCQkJaGFuZGxlX2NvbWJpbmVkX2NhbGxiYWNrKG9wdCwgcGF0aHMsIG51bV9wYXJlbnQsIG51bV9wYXRocyk7CkBAIC0xNTM1LDYgKzE1OTAsMTAgQEAKIAl3aGlsZSAocGF0aHMpIHsKIAkJc3RydWN0IGNvbWJpbmVfZGlmZl9wYXRoICp0bXAgPSBwYXRoczsKIAkJcGF0aHMgPSBwYXRocy0+bmV4dDsKKwkJZm9yIChpID0gMDsgaSA8IG51bV9wYXJlbnQ7IGkrKykKKwkJCWlmIChyZXYtPmNvbWJpbmVkX2FsbF9wYXRocyAmJgorCQkJICAgIGZpbGVuYW1lX2NoYW5nZWQodG1wLT5wYXJlbnRbaV0uc3RhdHVzKSkKKwkJCQlzdHJidWZfcmVsZWFzZSgmdG1wLT5wYXJlbnRbaV0ucGF0aCk7CiAJCWZyZWUodG1wKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2NvbW1hbmQtbGlzdC50eHQgYi9jb21tYW5kLWxpc3QudHh0CmluZGV4IDNhOWFmMTAuLjIwODc4OTQgMTAwNjQ0Ci0tLSBhL2NvbW1hbmQtbGlzdC50eHQKKysrIGIvY29tbWFuZC1saXN0LnR4dApAQCAtNTksNyArNTksNyBAQAogZ2l0LWNoZWNrLWF0dHIgICAgICAgICAgICAgICAgICAgICAgICAgIHB1cmVoZWxwZXJzCiBnaXQtY2hlY2staWdub3JlICAgICAgICAgICAgICAgICAgICAgICAgcHVyZWhlbHBlcnMKIGdpdC1jaGVjay1tYWlsbWFwICAgICAgICAgICAgICAgICAgICAgICBwdXJlaGVscGVycwotZ2l0LWNoZWNrb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW5wb3JjZWxhaW4gICAgICAgICAgIGhpc3RvcnkKK2dpdC1jaGVja291dCAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWlucG9yY2VsYWluCiBnaXQtY2hlY2tvdXQtaW5kZXggICAgICAgICAgICAgICAgICAgICAgcGx1bWJpbmdtYW5pcHVsYXRvcnMKIGdpdC1jaGVjay1yZWYtZm9ybWF0ICAgICAgICAgICAgICAgICAgICBwdXJlaGVscGVycwogZ2l0LWNoZXJyeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsdW1iaW5naW50ZXJyb2dhdG9ycyAgICAgICAgICBjb21wbGV0ZQpAQCAtODEsNyArODEsNyBAQAogZ2l0LWN2c3NlcnZlciAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVpZ25zY21pbnRlcmZhY2UKIGdpdC1kYWVtb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW5jaGluZ3JlcG9zaXRvcmllcwogZ2l0LWRlc2NyaWJlICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW5wb3JjZWxhaW4KLWdpdC1kaWZmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWlucG9yY2VsYWluICAgICAgICAgICBoaXN0b3J5CitnaXQtZGlmZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbnBvcmNlbGFpbiAgICAgICAgICAgaW5mbwogZ2l0LWRpZmYtZmlsZXMgICAgICAgICAgICAgICAgICAgICAgICAgIHBsdW1iaW5naW50ZXJyb2dhdG9ycwogZ2l0LWRpZmYtaW5kZXggICAgICAgICAgICAgICAgICAgICAgICAgIHBsdW1iaW5naW50ZXJyb2dhdG9ycwogZ2l0LWRpZmYtdHJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsdW1iaW5naW50ZXJyb2dhdG9ycwpAQCAtMTUwLDcgKzE1MCw4IEBACiBnaXQtcmVwbGFjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5jaWxsYXJ5bWFuaXB1bGF0b3JzICAgICAgICAgICBjb21wbGV0ZQogZ2l0LXJlcXVlc3QtcHVsbCAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVpZ25zY21pbnRlcmZhY2UgICAgICAgICAgICAgY29tcGxldGUKIGdpdC1yZXJlcmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmNpbGxhcnlpbnRlcnJvZ2F0b3JzCi1naXQtcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbnBvcmNlbGFpbiAgICAgICAgICAgd29ya3RyZWUKK2dpdC1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWlucG9yY2VsYWluICAgICAgICAgICBoaXN0b3J5CitnaXQtcmVzdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbnBvcmNlbGFpbiAgICAgICAgICAgd29ya3RyZWUKIGdpdC1yZXZlcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWlucG9yY2VsYWluCiBnaXQtcmV2LWxpc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGx1bWJpbmdpbnRlcnJvZ2F0b3JzCiBnaXQtcmV2LXBhcnNlICAgICAgICAgICAgICAgICAgICAgICAgICAgcGx1bWJpbmdpbnRlcnJvZ2F0b3JzCkBAIC0xNjUsMTIgKzE2NiwxNCBAQAogZ2l0LXNob3ctcmVmICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsdW1iaW5naW50ZXJyb2dhdG9ycwogZ2l0LXNoLWkxOG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1cmVoZWxwZXJzCiBnaXQtc2gtc2V0dXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVyZWhlbHBlcnMKK2dpdC1zcGFyc2UtY2hlY2tvdXQgICAgICAgICAgICAgICAgICAgICBtYWlucG9yY2VsYWluICAgICAgICAgICB3b3JrdHJlZQogZ2l0LXN0YXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW5wb3JjZWxhaW4KIGdpdC1zdGFnZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlCiBnaXQtc3RhdHVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbnBvcmNlbGFpbiAgICAgICAgICAgaW5mbwogZ2l0LXN0cmlwc3BhY2UgICAgICAgICAgICAgICAgICAgICAgICAgIHB1cmVoZWxwZXJzCiBnaXQtc3VibW9kdWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbnBvcmNlbGFpbgogZ2l0LXN2biAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVpZ25zY21pbnRlcmZhY2UKK2dpdC1zd2l0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWlucG9yY2VsYWluICAgICAgICAgICBoaXN0b3J5CiBnaXQtc3ltYm9saWMtcmVmICAgICAgICAgICAgICAgICAgICAgICAgcGx1bWJpbmdtYW5pcHVsYXRvcnMKIGdpdC10YWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWlucG9yY2VsYWluICAgICAgICAgICBoaXN0b3J5CiBnaXQtdW5wYWNrLWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgcGx1bWJpbmdpbnRlcnJvZ2F0b3JzCkBAIC0yMDEsNiArMjA0LDcgQEAKIGdpdG5hbWVzcGFjZXMgICAgICAgICAgICAgICAgICAgICAgICAgICBndWlkZQogZ2l0cmVwb3NpdG9yeS1sYXlvdXQgICAgICAgICAgICAgICAgICAgIGd1aWRlCiBnaXRyZXZpc2lvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpZGUKK2dpdHN1Ym1vZHVsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICBndWlkZQogZ2l0dHV0b3JpYWwtMiAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aWRlCiBnaXR0dXRvcmlhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpZGUKIGdpdHdvcmtmbG93cyAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWlkZQpkaWZmIC0tZ2l0IGEvY29tbWl0LWdyYXBoLmMgYi9jb21taXQtZ3JhcGguYwppbmRleCA0MGM4NTVmLi5mMDEzYTg0IDEwMDY0NAotLS0gYS9jb21taXQtZ3JhcGguYworKysgYi9jb21taXQtZ3JhcGguYwpAQCAtMjEsMjAgKzIxLDE1IEBACiAjZGVmaW5lIEdSQVBIX0NIVU5LSURfT0lERkFOT1VUIDB4NGY0OTQ0NDYgLyogIk9JREYiICovCiAjZGVmaW5lIEdSQVBIX0NIVU5LSURfT0lETE9PS1VQIDB4NGY0OTQ0NGMgLyogIk9JREwiICovCiAjZGVmaW5lIEdSQVBIX0NIVU5LSURfREFUQSAweDQzNDQ0MTU0IC8qICJDREFUIiAqLwotI2RlZmluZSBHUkFQSF9DSFVOS0lEX0xBUkdFRURHRVMgMHg0NTQ0NDc0NSAvKiAiRURHRSIgKi8KKyNkZWZpbmUgR1JBUEhfQ0hVTktJRF9FWFRSQUVER0VTIDB4NDU0NDQ3NDUgLyogIkVER0UiICovCisjZGVmaW5lIEdSQVBIX0NIVU5LSURfQkFTRSAweDQyNDE1MzQ1IC8qICJCQVNFIiAqLwogCi0jZGVmaW5lIEdSQVBIX0RBVEFfV0lEVEggMzYKKyNkZWZpbmUgR1JBUEhfREFUQV9XSURUSCAodGhlX2hhc2hfYWxnby0+cmF3c3ogKyAxNikKIAogI2RlZmluZSBHUkFQSF9WRVJTSU9OXzEgMHgxCiAjZGVmaW5lIEdSQVBIX1ZFUlNJT04gR1JBUEhfVkVSU0lPTl8xCiAKLSNkZWZpbmUgR1JBUEhfT0lEX1ZFUlNJT05fU0hBMSAxCi0jZGVmaW5lIEdSQVBIX09JRF9MRU5fU0hBMSBHSVRfU0hBMV9SQVdTWgotI2RlZmluZSBHUkFQSF9PSURfVkVSU0lPTiBHUkFQSF9PSURfVkVSU0lPTl9TSEExCi0jZGVmaW5lIEdSQVBIX09JRF9MRU4gR1JBUEhfT0lEX0xFTl9TSEExCi0KLSNkZWZpbmUgR1JBUEhfT0NUT1BVU19FREdFU19ORUVERUQgMHg4MDAwMDAwMAotI2RlZmluZSBHUkFQSF9QQVJFTlRfTUlTU0lORyAweDdmZmZmZmZmCisjZGVmaW5lIEdSQVBIX0VYVFJBX0VER0VTX05FRURFRCAweDgwMDAwMDAwCiAjZGVmaW5lIEdSQVBIX0VER0VfTEFTVF9NQVNLIDB4N2ZmZmZmZmYKICNkZWZpbmUgR1JBUEhfUEFSRU5UX05PTkUgMHg3MDAwMDAwMAogCkBAIC00NCwxMSArMzksMzEgQEAKICNkZWZpbmUgR1JBUEhfRkFOT1VUX1NJWkUgKDQgKiAyNTYpCiAjZGVmaW5lIEdSQVBIX0NIVU5LTE9PS1VQX1dJRFRIIDEyCiAjZGVmaW5lIEdSQVBIX01JTl9TSVpFIChHUkFQSF9IRUFERVJfU0laRSArIDQgKiBHUkFQSF9DSFVOS0xPT0tVUF9XSURUSCBcCi0JCQkrIEdSQVBIX0ZBTk9VVF9TSVpFICsgR1JBUEhfT0lEX0xFTikKKwkJCSsgR1JBUEhfRkFOT1VUX1NJWkUgKyB0aGVfaGFzaF9hbGdvLT5yYXdzeikKIAotY2hhciAqZ2V0X2NvbW1pdF9ncmFwaF9maWxlbmFtZShjb25zdCBjaGFyICpvYmpfZGlyKQorLyogUmVtZW1iZXIgdG8gdXBkYXRlIG9iamVjdCBmbGFnIGFsbG9jYXRpb24gaW4gb2JqZWN0LmggKi8KKyNkZWZpbmUgUkVBQ0hBQkxFICAgICAgICgxdTw8MTUpCisKK2NoYXIgKmdldF9jb21taXRfZ3JhcGhfZmlsZW5hbWUoc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKm9kYikKIHsKLQlyZXR1cm4geHN0cmZtdCgiJXMvaW5mby9jb21taXQtZ3JhcGgiLCBvYmpfZGlyKTsKKwlyZXR1cm4geHN0cmZtdCgiJXMvaW5mby9jb21taXQtZ3JhcGgiLCBvZGItPnBhdGgpOworfQorCitzdGF0aWMgY2hhciAqZ2V0X3NwbGl0X2dyYXBoX2ZpbGVuYW1lKHN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICpvZGIsCisJCQkJICAgICAgY29uc3QgY2hhciAqb2lkX2hleCkKK3sKKwlyZXR1cm4geHN0cmZtdCgiJXMvaW5mby9jb21taXQtZ3JhcGhzL2dyYXBoLSVzLmdyYXBoIiwgb2RiLT5wYXRoLAorCQkgICAgICAgb2lkX2hleCk7Cit9CisKK3N0YXRpYyBjaGFyICpnZXRfY2hhaW5fZmlsZW5hbWUoc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKm9kYikKK3sKKwlyZXR1cm4geHN0cmZtdCgiJXMvaW5mby9jb21taXQtZ3JhcGhzL2NvbW1pdC1ncmFwaC1jaGFpbiIsIG9kYi0+cGF0aCk7Cit9CisKK3N0YXRpYyB1aW50OF90IG9pZF92ZXJzaW9uKHZvaWQpCit7CisJcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgY29tbWl0X2dyYXBoICphbGxvY19jb21taXRfZ3JhcGgodm9pZCkKQEAgLTgxLDU5ICs5NiwxMTggQEAKIAlyZXR1cm4gMTsKIH0KIAotc3RydWN0IGNvbW1pdF9ncmFwaCAqbG9hZF9jb21taXRfZ3JhcGhfb25lKGNvbnN0IGNoYXIgKmdyYXBoX2ZpbGUpCitpbnQgb3Blbl9jb21taXRfZ3JhcGgoY29uc3QgY2hhciAqZ3JhcGhfZmlsZSwgaW50ICpmZCwgc3RydWN0IHN0YXQgKnN0KQoreworCSpmZCA9IGdpdF9vcGVuKGdyYXBoX2ZpbGUpOworCWlmICgqZmQgPCAwKQorCQlyZXR1cm4gMDsKKwlpZiAoZnN0YXQoKmZkLCBzdCkpIHsKKwkJY2xvc2UoKmZkKTsKKwkJcmV0dXJuIDA7CisJfQorCXJldHVybiAxOworfQorCitzdHJ1Y3QgY29tbWl0X2dyYXBoICpsb2FkX2NvbW1pdF9ncmFwaF9vbmVfZmRfc3QoaW50IGZkLCBzdHJ1Y3Qgc3RhdCAqc3QsCisJCQkJCQkgc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKm9kYikKIHsKIAl2b2lkICpncmFwaF9tYXA7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgKmNodW5rX2xvb2t1cDsKIAlzaXplX3QgZ3JhcGhfc2l6ZTsKLQlzdHJ1Y3Qgc3RhdCBzdDsKKwlzdHJ1Y3QgY29tbWl0X2dyYXBoICpyZXQ7CisKKwlncmFwaF9zaXplID0geHNpemVfdChzdC0+c3Rfc2l6ZSk7CisKKwlpZiAoZ3JhcGhfc2l6ZSA8IEdSQVBIX01JTl9TSVpFKSB7CisJCWNsb3NlKGZkKTsKKwkJZXJyb3IoXygiY29tbWl0LWdyYXBoIGZpbGUgaXMgdG9vIHNtYWxsIikpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJZ3JhcGhfbWFwID0geG1tYXAoTlVMTCwgZ3JhcGhfc2l6ZSwgUFJPVF9SRUFELCBNQVBfUFJJVkFURSwgZmQsIDApOworCXJldCA9IHBhcnNlX2NvbW1pdF9ncmFwaChncmFwaF9tYXAsIGZkLCBncmFwaF9zaXplKTsKKworCWlmIChyZXQpCisJCXJldC0+b2RiID0gb2RiOworCWVsc2UgeworCQltdW5tYXAoZ3JhcGhfbWFwLCBncmFwaF9zaXplKTsKKwkJY2xvc2UoZmQpOworCX0KKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgdmVyaWZ5X2NvbW1pdF9ncmFwaF9saXRlKHN0cnVjdCBjb21taXRfZ3JhcGggKmcpCit7CisJLyoKKwkgKiBCYXNpYyB2YWxpZGF0aW9uIHNoYXJlZCBiZXR3ZWVuIHBhcnNlX2NvbW1pdF9ncmFwaCgpCisJICogd2hpY2gnbGwgYmUgY2FsbGVkIGV2ZXJ5IHRpbWUgdGhlIGdyYXBoIGlzIHVzZWQsIGFuZCB0aGUKKwkgKiBtdWNoIG1vcmUgZXhwZW5zaXZlIHZlcmlmeV9jb21taXRfZ3JhcGgoKSB1c2VkIGJ5CisJICogImNvbW1pdC1ncmFwaCB2ZXJpZnkiLgorCSAqCisJICogVGhlcmUgc2hvdWxkIG9ubHkgYmUgdmVyeSBiYXNpYyBjaGVja3MgaGVyZSB0byBlbnN1cmUgdGhhdAorCSAqIHdlIGRvbid0IGUuZy4gc2VnZmF1bHQgaW4gZmlsbF9jb21taXRfaW5fZ3JhcGgoKSwgYnV0CisJICogYmVjYXVzZSB0aGlzIGlzIGEgdmVyeSBob3QgY29kZXBhdGggbm90aGluZyB0aGF0IGUuZy4gbG9vcHMKKwkgKiBvdmVyIGctPm51bV9jb21taXRzLCBvciBydW5zIGEgY2hlY2tzdW0gb24gdGhlIGNvbW1pdC1ncmFwaAorCSAqIGl0c2VsZi4KKwkgKi8KKwlpZiAoIWctPmNodW5rX29pZF9mYW5vdXQpIHsKKwkJZXJyb3IoImNvbW1pdC1ncmFwaCBpcyBtaXNzaW5nIHRoZSBPSUQgRmFub3V0IGNodW5rIik7CisJCXJldHVybiAxOworCX0KKwlpZiAoIWctPmNodW5rX29pZF9sb29rdXApIHsKKwkJZXJyb3IoImNvbW1pdC1ncmFwaCBpcyBtaXNzaW5nIHRoZSBPSUQgTG9va3VwIGNodW5rIik7CisJCXJldHVybiAxOworCX0KKwlpZiAoIWctPmNodW5rX2NvbW1pdF9kYXRhKSB7CisJCWVycm9yKCJjb21taXQtZ3JhcGggaXMgbWlzc2luZyB0aGUgQ29tbWl0IERhdGEgY2h1bmsiKTsKKwkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBjb21taXRfZ3JhcGggKnBhcnNlX2NvbW1pdF9ncmFwaCh2b2lkICpncmFwaF9tYXAsIGludCBmZCwKKwkJCQkJc2l6ZV90IGdyYXBoX3NpemUpCit7CisJY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgKmNodW5rX2xvb2t1cDsKIAl1aW50MzJfdCBpOwogCXN0cnVjdCBjb21taXRfZ3JhcGggKmdyYXBoOwotCWludCBmZCA9IGdpdF9vcGVuKGdyYXBoX2ZpbGUpOwogCXVpbnQ2NF90IGxhc3RfY2h1bmtfb2Zmc2V0OwogCXVpbnQzMl90IGxhc3RfY2h1bmtfaWQ7CiAJdWludDMyX3QgZ3JhcGhfc2lnbmF0dXJlOwogCXVuc2lnbmVkIGNoYXIgZ3JhcGhfdmVyc2lvbiwgaGFzaF92ZXJzaW9uOwogCi0JaWYgKGZkIDwgMCkKKwlpZiAoIWdyYXBoX21hcCkKIAkJcmV0dXJuIE5VTEw7Ci0JaWYgKGZzdGF0KGZkLCAmc3QpKSB7Ci0JCWNsb3NlKGZkKTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCWdyYXBoX3NpemUgPSB4c2l6ZV90KHN0LnN0X3NpemUpOwogCi0JaWYgKGdyYXBoX3NpemUgPCBHUkFQSF9NSU5fU0laRSkgewotCQljbG9zZShmZCk7Ci0JCWRpZShfKCJncmFwaCBmaWxlICVzIGlzIHRvbyBzbWFsbCIpLCBncmFwaF9maWxlKTsKLQl9Ci0JZ3JhcGhfbWFwID0geG1tYXAoTlVMTCwgZ3JhcGhfc2l6ZSwgUFJPVF9SRUFELCBNQVBfUFJJVkFURSwgZmQsIDApOworCWlmIChncmFwaF9zaXplIDwgR1JBUEhfTUlOX1NJWkUpCisJCXJldHVybiBOVUxMOworCiAJZGF0YSA9IChjb25zdCB1bnNpZ25lZCBjaGFyICopZ3JhcGhfbWFwOwogCiAJZ3JhcGhfc2lnbmF0dXJlID0gZ2V0X2JlMzIoZGF0YSk7CiAJaWYgKGdyYXBoX3NpZ25hdHVyZSAhPSBHUkFQSF9TSUdOQVRVUkUpIHsKLQkJZXJyb3IoXygiZ3JhcGggc2lnbmF0dXJlICVYIGRvZXMgbm90IG1hdGNoIHNpZ25hdHVyZSAlWCIpLAorCQllcnJvcihfKCJjb21taXQtZ3JhcGggc2lnbmF0dXJlICVYIGRvZXMgbm90IG1hdGNoIHNpZ25hdHVyZSAlWCIpLAogCQkgICAgICBncmFwaF9zaWduYXR1cmUsIEdSQVBIX1NJR05BVFVSRSk7Ci0JCWdvdG8gY2xlYW51cF9mYWlsOworCQlyZXR1cm4gTlVMTDsKIAl9CiAKIAlncmFwaF92ZXJzaW9uID0gKih1bnNpZ25lZCBjaGFyKikoZGF0YSArIDQpOwogCWlmIChncmFwaF92ZXJzaW9uICE9IEdSQVBIX1ZFUlNJT04pIHsKLQkJZXJyb3IoXygiZ3JhcGggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIiksCisJCWVycm9yKF8oImNvbW1pdC1ncmFwaCB2ZXJzaW9uICVYIGRvZXMgbm90IG1hdGNoIHZlcnNpb24gJVgiKSwKIAkJICAgICAgZ3JhcGhfdmVyc2lvbiwgR1JBUEhfVkVSU0lPTik7Ci0JCWdvdG8gY2xlYW51cF9mYWlsOworCQlyZXR1cm4gTlVMTDsKIAl9CiAKIAloYXNoX3ZlcnNpb24gPSAqKHVuc2lnbmVkIGNoYXIqKShkYXRhICsgNSk7Ci0JaWYgKGhhc2hfdmVyc2lvbiAhPSBHUkFQSF9PSURfVkVSU0lPTikgewotCQllcnJvcihfKCJoYXNoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIpLAotCQkgICAgICBoYXNoX3ZlcnNpb24sIEdSQVBIX09JRF9WRVJTSU9OKTsKLQkJZ290byBjbGVhbnVwX2ZhaWw7CisJaWYgKGhhc2hfdmVyc2lvbiAhPSBvaWRfdmVyc2lvbigpKSB7CisJCWVycm9yKF8oImNvbW1pdC1ncmFwaCBoYXNoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIpLAorCQkgICAgICBoYXNoX3ZlcnNpb24sIG9pZF92ZXJzaW9uKCkpOworCQlyZXR1cm4gTlVMTDsKIAl9CiAKIAlncmFwaCA9IGFsbG9jX2NvbW1pdF9ncmFwaCgpOwogCi0JZ3JhcGgtPmhhc2hfbGVuID0gR1JBUEhfT0lEX0xFTjsKKwlncmFwaC0+aGFzaF9sZW4gPSB0aGVfaGFzaF9hbGdvLT5yYXdzejsKIAlncmFwaC0+bnVtX2NodW5rcyA9ICoodW5zaWduZWQgY2hhciopKGRhdGEgKyA2KTsKIAlncmFwaC0+Z3JhcGhfZmQgPSBmZDsKIAlncmFwaC0+ZGF0YSA9IGdyYXBoX21hcDsKQEAgLTE0MywxNiArMjE3LDI3IEBACiAJbGFzdF9jaHVua19vZmZzZXQgPSA4OwogCWNodW5rX2xvb2t1cCA9IGRhdGEgKyA4OwogCWZvciAoaSA9IDA7IGkgPCBncmFwaC0+bnVtX2NodW5rczsgaSsrKSB7Ci0JCXVpbnQzMl90IGNodW5rX2lkID0gZ2V0X2JlMzIoY2h1bmtfbG9va3VwICsgMCk7Ci0JCXVpbnQ2NF90IGNodW5rX29mZnNldCA9IGdldF9iZTY0KGNodW5rX2xvb2t1cCArIDQpOworCQl1aW50MzJfdCBjaHVua19pZDsKKwkJdWludDY0X3QgY2h1bmtfb2Zmc2V0OwogCQlpbnQgY2h1bmtfcmVwZWF0ZWQgPSAwOwogCisJCWlmIChkYXRhICsgZ3JhcGhfc2l6ZSAtIGNodW5rX2xvb2t1cCA8CisJCSAgICBHUkFQSF9DSFVOS0xPT0tVUF9XSURUSCkgeworCQkJZXJyb3IoXygiY29tbWl0LWdyYXBoIGNodW5rIGxvb2t1cCB0YWJsZSBlbnRyeSBtaXNzaW5nOyBmaWxlIG1heSBiZSBpbmNvbXBsZXRlIikpOworCQkJZnJlZShncmFwaCk7CisJCQlyZXR1cm4gTlVMTDsKKwkJfQorCisJCWNodW5rX2lkID0gZ2V0X2JlMzIoY2h1bmtfbG9va3VwICsgMCk7CisJCWNodW5rX29mZnNldCA9IGdldF9iZTY0KGNodW5rX2xvb2t1cCArIDQpOworCiAJCWNodW5rX2xvb2t1cCArPSBHUkFQSF9DSFVOS0xPT0tVUF9XSURUSDsKIAotCQlpZiAoY2h1bmtfb2Zmc2V0ID4gZ3JhcGhfc2l6ZSAtIEdJVF9NQVhfUkFXU1opIHsKLQkJCWVycm9yKF8oImltcHJvcGVyIGNodW5rIG9mZnNldCAlMDh4JTA4eCIpLCAodWludDMyX3QpKGNodW5rX29mZnNldCA+PiAzMiksCisJCWlmIChjaHVua19vZmZzZXQgPiBncmFwaF9zaXplIC0gdGhlX2hhc2hfYWxnby0+cmF3c3opIHsKKwkJCWVycm9yKF8oImNvbW1pdC1ncmFwaCBpbXByb3BlciBjaHVuayBvZmZzZXQgJTA4eCUwOHgiKSwgKHVpbnQzMl90KShjaHVua19vZmZzZXQgPj4gMzIpLAogCQkJICAgICAgKHVpbnQzMl90KWNodW5rX29mZnNldCk7Ci0JCQlnb3RvIGNsZWFudXBfZmFpbDsKKwkJCWZyZWUoZ3JhcGgpOworCQkJcmV0dXJuIE5VTEw7CiAJCX0KIAogCQlzd2l0Y2ggKGNodW5rX2lkKSB7CkBAIC0xNzcsMTcgKzI2MiwyNCBAQAogCQkJCWdyYXBoLT5jaHVua19jb21taXRfZGF0YSA9IGRhdGEgKyBjaHVua19vZmZzZXQ7CiAJCQlicmVhazsKIAotCQljYXNlIEdSQVBIX0NIVU5LSURfTEFSR0VFREdFUzoKLQkJCWlmIChncmFwaC0+Y2h1bmtfbGFyZ2VfZWRnZXMpCisJCWNhc2UgR1JBUEhfQ0hVTktJRF9FWFRSQUVER0VTOgorCQkJaWYgKGdyYXBoLT5jaHVua19leHRyYV9lZGdlcykKIAkJCQljaHVua19yZXBlYXRlZCA9IDE7CiAJCQllbHNlCi0JCQkJZ3JhcGgtPmNodW5rX2xhcmdlX2VkZ2VzID0gZGF0YSArIGNodW5rX29mZnNldDsKKwkJCQlncmFwaC0+Y2h1bmtfZXh0cmFfZWRnZXMgPSBkYXRhICsgY2h1bmtfb2Zmc2V0OwogCQkJYnJlYWs7CisKKwkJY2FzZSBHUkFQSF9DSFVOS0lEX0JBU0U6CisJCQlpZiAoZ3JhcGgtPmNodW5rX2Jhc2VfZ3JhcGhzKQorCQkJCWNodW5rX3JlcGVhdGVkID0gMTsKKwkJCWVsc2UKKwkJCQlncmFwaC0+Y2h1bmtfYmFzZV9ncmFwaHMgPSBkYXRhICsgY2h1bmtfb2Zmc2V0OwogCQl9CiAKIAkJaWYgKGNodW5rX3JlcGVhdGVkKSB7Ci0JCQllcnJvcihfKCJjaHVuayBpZCAlMDh4IGFwcGVhcnMgbXVsdGlwbGUgdGltZXMiKSwgY2h1bmtfaWQpOwotCQkJZ290byBjbGVhbnVwX2ZhaWw7CisJCQllcnJvcihfKCJjb21taXQtZ3JhcGggY2h1bmsgaWQgJTA4eCBhcHBlYXJzIG11bHRpcGxlIHRpbWVzIiksIGNodW5rX2lkKTsKKwkJCWZyZWUoZ3JhcGgpOworCQkJcmV0dXJuIE5VTEw7CiAJCX0KIAogCQlpZiAobGFzdF9jaHVua19pZCA9PSBHUkFQSF9DSFVOS0lEX09JRExPT0tVUCkKQEAgLTIwMCw0NyArMjkyLDE5OCBAQAogCQlsYXN0X2NodW5rX29mZnNldCA9IGNodW5rX29mZnNldDsKIAl9CiAKLQlyZXR1cm4gZ3JhcGg7CisJaGFzaGNweShncmFwaC0+b2lkLmhhc2gsIGdyYXBoLT5kYXRhICsgZ3JhcGgtPmRhdGFfbGVuIC0gZ3JhcGgtPmhhc2hfbGVuKTsKIAotY2xlYW51cF9mYWlsOgotCW11bm1hcChncmFwaF9tYXAsIGdyYXBoX3NpemUpOwotCWNsb3NlKGZkKTsKLQlleGl0KDEpOworCWlmICh2ZXJpZnlfY29tbWl0X2dyYXBoX2xpdGUoZ3JhcGgpKSB7CisJCWZyZWUoZ3JhcGgpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlyZXR1cm4gZ3JhcGg7CiB9CiAKLXN0YXRpYyB2b2lkIHByZXBhcmVfY29tbWl0X2dyYXBoX29uZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqb2JqX2RpcikKK3N0YXRpYyBzdHJ1Y3QgY29tbWl0X2dyYXBoICpsb2FkX2NvbW1pdF9ncmFwaF9vbmUoY29uc3QgY2hhciAqZ3JhcGhfZmlsZSwKKwkJCQkJCSAgc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKm9kYikKIHsKLQljaGFyICpncmFwaF9uYW1lOworCisJc3RydWN0IHN0YXQgc3Q7CisJaW50IGZkOworCXN0cnVjdCBjb21taXRfZ3JhcGggKmc7CisJaW50IG9wZW5fb2sgPSBvcGVuX2NvbW1pdF9ncmFwaChncmFwaF9maWxlLCAmZmQsICZzdCk7CisKKwlpZiAoIW9wZW5fb2spCisJCXJldHVybiBOVUxMOworCisJZyA9IGxvYWRfY29tbWl0X2dyYXBoX29uZV9mZF9zdChmZCwgJnN0LCBvZGIpOworCisJaWYgKGcpCisJCWctPmZpbGVuYW1lID0geHN0cmR1cChncmFwaF9maWxlKTsKKworCXJldHVybiBnOworfQorCitzdGF0aWMgc3RydWN0IGNvbW1pdF9ncmFwaCAqbG9hZF9jb21taXRfZ3JhcGhfdjEoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJCQkgc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKm9kYikKK3sKKwljaGFyICpncmFwaF9uYW1lID0gZ2V0X2NvbW1pdF9ncmFwaF9maWxlbmFtZShvZGIpOworCXN0cnVjdCBjb21taXRfZ3JhcGggKmcgPSBsb2FkX2NvbW1pdF9ncmFwaF9vbmUoZ3JhcGhfbmFtZSwgb2RiKTsKKwlmcmVlKGdyYXBoX25hbWUpOworCisJcmV0dXJuIGc7Cit9CisKK3N0YXRpYyBpbnQgYWRkX2dyYXBoX3RvX2NoYWluKHN0cnVjdCBjb21taXRfZ3JhcGggKmcsCisJCQkgICAgICBzdHJ1Y3QgY29tbWl0X2dyYXBoICpjaGFpbiwKKwkJCSAgICAgIHN0cnVjdCBvYmplY3RfaWQgKm9pZHMsCisJCQkgICAgICBpbnQgbikKK3sKKwlzdHJ1Y3QgY29tbWl0X2dyYXBoICpjdXJfZyA9IGNoYWluOworCisJaWYgKG4gJiYgIWctPmNodW5rX2Jhc2VfZ3JhcGhzKSB7CisJCXdhcm5pbmcoXygiY29tbWl0LWdyYXBoIGhhcyBubyBiYXNlIGdyYXBocyBjaHVuayIpKTsKKwkJcmV0dXJuIDA7CisJfQorCisJd2hpbGUgKG4pIHsKKwkJbi0tOworCisJCWlmICghY3VyX2cgfHwKKwkJICAgICFvaWRlcSgmb2lkc1tuXSwgJmN1cl9nLT5vaWQpIHx8CisJCSAgICAhaGFzaGVxKG9pZHNbbl0uaGFzaCwgZy0+Y2h1bmtfYmFzZV9ncmFwaHMgKyBnLT5oYXNoX2xlbiAqIG4pKSB7CisJCQl3YXJuaW5nKF8oImNvbW1pdC1ncmFwaCBjaGFpbiBkb2VzIG5vdCBtYXRjaCIpKTsKKwkJCXJldHVybiAwOworCQl9CisKKwkJY3VyX2cgPSBjdXJfZy0+YmFzZV9ncmFwaDsKKwl9CisKKwlnLT5iYXNlX2dyYXBoID0gY2hhaW47CisKKwlpZiAoY2hhaW4pCisJCWctPm51bV9jb21taXRzX2luX2Jhc2UgPSBjaGFpbi0+bnVtX2NvbW1pdHMgKyBjaGFpbi0+bnVtX2NvbW1pdHNfaW5fYmFzZTsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgc3RydWN0IGNvbW1pdF9ncmFwaCAqbG9hZF9jb21taXRfZ3JhcGhfY2hhaW4oc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJCQkgICAgc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKm9kYikKK3sKKwlzdHJ1Y3QgY29tbWl0X2dyYXBoICpncmFwaF9jaGFpbiA9IE5VTEw7CisJc3RydWN0IHN0cmJ1ZiBsaW5lID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0YXQgc3Q7CisJc3RydWN0IG9iamVjdF9pZCAqb2lkczsKKwlpbnQgaSA9IDAsIHZhbGlkID0gMSwgY291bnQ7CisJY2hhciAqY2hhaW5fbmFtZSA9IGdldF9jaGFpbl9maWxlbmFtZShvZGIpOworCUZJTEUgKmZwOworCWludCBzdGF0X3JlczsKKworCWZwID0gZm9wZW4oY2hhaW5fbmFtZSwgInIiKTsKKwlzdGF0X3JlcyA9IHN0YXQoY2hhaW5fbmFtZSwgJnN0KTsKKwlmcmVlKGNoYWluX25hbWUpOworCisJaWYgKCFmcCB8fAorCSAgICBzdGF0X3JlcyB8fAorCSAgICBzdC5zdF9zaXplIDw9IHRoZV9oYXNoX2FsZ28tPmhleHN6KQorCQlyZXR1cm4gTlVMTDsKKworCWNvdW50ID0gc3Quc3Rfc2l6ZSAvICh0aGVfaGFzaF9hbGdvLT5oZXhzeiArIDEpOworCW9pZHMgPSB4Y2FsbG9jKGNvdW50LCBzaXplb2Yoc3RydWN0IG9iamVjdF9pZCkpOworCisJcHJlcGFyZV9hbHRfb2RiKHIpOworCisJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKKwkJc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKm9kYjsKKworCQlpZiAoc3RyYnVmX2dldGxpbmVfbGYoJmxpbmUsIGZwKSA9PSBFT0YpCisJCQlicmVhazsKKworCQlpZiAoZ2V0X29pZF9oZXgobGluZS5idWYsICZvaWRzW2ldKSkgeworCQkJd2FybmluZyhfKCJpbnZhbGlkIGNvbW1pdC1ncmFwaCBjaGFpbjogbGluZSAnJXMnIG5vdCBhIGhhc2giKSwKKwkJCQlsaW5lLmJ1Zik7CisJCQl2YWxpZCA9IDA7CisJCQlicmVhazsKKwkJfQorCisJCXZhbGlkID0gMDsKKwkJZm9yIChvZGIgPSByLT5vYmplY3RzLT5vZGI7IG9kYjsgb2RiID0gb2RiLT5uZXh0KSB7CisJCQljaGFyICpncmFwaF9uYW1lID0gZ2V0X3NwbGl0X2dyYXBoX2ZpbGVuYW1lKG9kYiwgbGluZS5idWYpOworCQkJc3RydWN0IGNvbW1pdF9ncmFwaCAqZyA9IGxvYWRfY29tbWl0X2dyYXBoX29uZShncmFwaF9uYW1lLCBvZGIpOworCisJCQlmcmVlKGdyYXBoX25hbWUpOworCisJCQlpZiAoZykgeworCQkJCWlmIChhZGRfZ3JhcGhfdG9fY2hhaW4oZywgZ3JhcGhfY2hhaW4sIG9pZHMsIGkpKSB7CisJCQkJCWdyYXBoX2NoYWluID0gZzsKKwkJCQkJdmFsaWQgPSAxOworCQkJCX0KKworCQkJCWJyZWFrOworCQkJfQorCQl9CisKKwkJaWYgKCF2YWxpZCkgeworCQkJd2FybmluZyhfKCJ1bmFibGUgdG8gZmluZCBhbGwgY29tbWl0LWdyYXBoIGZpbGVzIikpOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlmcmVlKG9pZHMpOworCWZjbG9zZShmcCk7CisJc3RyYnVmX3JlbGVhc2UoJmxpbmUpOworCisJcmV0dXJuIGdyYXBoX2NoYWluOworfQorCitzdHJ1Y3QgY29tbWl0X2dyYXBoICpyZWFkX2NvbW1pdF9ncmFwaF9vbmUoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJCSAgIHN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICpvZGIpCit7CisJc3RydWN0IGNvbW1pdF9ncmFwaCAqZyA9IGxvYWRfY29tbWl0X2dyYXBoX3YxKHIsIG9kYik7CisKKwlpZiAoIWcpCisJCWcgPSBsb2FkX2NvbW1pdF9ncmFwaF9jaGFpbihyLCBvZGIpOworCisJcmV0dXJuIGc7Cit9CisKK3N0YXRpYyB2b2lkIHByZXBhcmVfY29tbWl0X2dyYXBoX29uZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkgICAgIHN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICpvZGIpCit7CiAKIAlpZiAoci0+b2JqZWN0cy0+Y29tbWl0X2dyYXBoKQogCQlyZXR1cm47CiAKLQlncmFwaF9uYW1lID0gZ2V0X2NvbW1pdF9ncmFwaF9maWxlbmFtZShvYmpfZGlyKTsKLQlyLT5vYmplY3RzLT5jb21taXRfZ3JhcGggPQotCQlsb2FkX2NvbW1pdF9ncmFwaF9vbmUoZ3JhcGhfbmFtZSk7Ci0KLQlGUkVFX0FORF9OVUxMKGdyYXBoX25hbWUpOworCXItPm9iamVjdHMtPmNvbW1pdF9ncmFwaCA9IHJlYWRfY29tbWl0X2dyYXBoX29uZShyLCBvZGIpOwogfQogCiAvKgogICogUmV0dXJuIDEgaWYgY29tbWl0X2dyYXBoIGlzIG5vbi1OVUxMLCBhbmQgMCBvdGhlcndpc2UuCiAgKgotICogT24gdGhlIGZpcnN0IGludm9jYXRpb24sIHRoaXMgZnVuY3Rpb24gYXR0ZW1wcyB0byBsb2FkIHRoZSBjb21taXQKKyAqIE9uIHRoZSBmaXJzdCBpbnZvY2F0aW9uLCB0aGlzIGZ1bmN0aW9uIGF0dGVtcHRzIHRvIGxvYWQgdGhlIGNvbW1pdAogICogZ3JhcGggaWYgdGhlX3JlcG9zaXRvcnkgaXMgY29uZmlndXJlZCB0byBoYXZlIG9uZS4KICAqLwogc3RhdGljIGludCBwcmVwYXJlX2NvbW1pdF9ncmFwaChzdHJ1Y3QgcmVwb3NpdG9yeSAqcikKIHsKLQlzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqYWx0OwotCWNoYXIgKm9ial9kaXI7Ci0JaW50IGNvbmZpZ192YWx1ZTsKKwlzdHJ1Y3Qgb2JqZWN0X2RpcmVjdG9yeSAqb2RiOworCisJLyoKKwkgKiBUaGlzIG11c3QgY29tZSBiZWZvcmUgdGhlICJhbHJlYWR5IGF0dGVtcHRlZD8iIGNoZWNrIGJlbG93LCBiZWNhdXNlCisJICogd2Ugd2FudCB0byBkaXNhYmxlIGV2ZW4gYW4gYWxyZWFkeS1sb2FkZWQgZ3JhcGggZmlsZS4KKwkgKi8KKwlpZiAoci0+Y29tbWl0X2dyYXBoX2Rpc2FibGVkKQorCQlyZXR1cm4gMDsKIAogCWlmIChyLT5vYmplY3RzLT5jb21taXRfZ3JhcGhfYXR0ZW1wdGVkKQogCQlyZXR1cm4gISFyLT5vYmplY3RzLT5jb21taXRfZ3JhcGg7CiAJci0+b2JqZWN0cy0+Y29tbWl0X2dyYXBoX2F0dGVtcHRlZCA9IDE7CiAKKwlpZiAoZ2l0X2Vudl9ib29sKEdJVF9URVNUX0NPTU1JVF9HUkFQSF9ESUVfT05fTE9BRCwgMCkpCisJCWRpZSgiZHlpbmcgYXMgcmVxdWVzdGVkIGJ5IHRoZSAnJXMnIHZhcmlhYmxlIG9uIGNvbW1pdC1ncmFwaCBsb2FkISIsCisJCSAgICBHSVRfVEVTVF9DT01NSVRfR1JBUEhfRElFX09OX0xPQUQpOworCisJcHJlcGFyZV9yZXBvX3NldHRpbmdzKHIpOworCiAJaWYgKCFnaXRfZW52X2Jvb2woR0lUX1RFU1RfQ09NTUlUX0dSQVBILCAwKSAmJgotCSAgICAocmVwb19jb25maWdfZ2V0X2Jvb2wociwgImNvcmUuY29tbWl0Z3JhcGgiLCAmY29uZmlnX3ZhbHVlKSB8fAotCSAgICAhY29uZmlnX3ZhbHVlKSkKKwkgICAgci0+c2V0dGluZ3MuY29yZV9jb21taXRfZ3JhcGggIT0gMSkKIAkJLyoKIAkJICogVGhpcyByZXBvc2l0b3J5IGlzIG5vdCBjb25maWd1cmVkIHRvIHVzZSBjb21taXQgZ3JhcGhzLCBzbwogCQkgKiBkbyBub3QgbG9hZCBvbmUuIChCdXQgcmVwb3J0IGNvbW1pdF9ncmFwaF9hdHRlbXB0ZWQgYW55d2F5CkBAIC0yNTIsMTMgKzQ5NSwxMSBAQAogCWlmICghY29tbWl0X2dyYXBoX2NvbXBhdGlibGUocikpCiAJCXJldHVybiAwOwogCi0Jb2JqX2RpciA9IHItPm9iamVjdHMtPm9iamVjdGRpcjsKLQlwcmVwYXJlX2NvbW1pdF9ncmFwaF9vbmUociwgb2JqX2Rpcik7CiAJcHJlcGFyZV9hbHRfb2RiKHIpOwotCWZvciAoYWx0ID0gci0+b2JqZWN0cy0+YWx0X29kYl9saXN0OwotCSAgICAgIXItPm9iamVjdHMtPmNvbW1pdF9ncmFwaCAmJiBhbHQ7Ci0JICAgICBhbHQgPSBhbHQtPm5leHQpCi0JCXByZXBhcmVfY29tbWl0X2dyYXBoX29uZShyLCBhbHQtPnBhdGgpOworCWZvciAob2RiID0gci0+b2JqZWN0cy0+b2RiOworCSAgICAgIXItPm9iamVjdHMtPmNvbW1pdF9ncmFwaCAmJiBvZGI7CisJICAgICBvZGIgPSBvZGItPm5leHQpCisJCXByZXBhcmVfY29tbWl0X2dyYXBoX29uZShyLCBvZGIpOwogCXJldHVybiAhIXItPm9iamVjdHMtPmNvbW1pdF9ncmFwaDsKIH0KIApAQCAtMjgwLDEwICs1MjEsMTkgQEAKIAlyZXR1cm4gISFmaXJzdF9nZW5lcmF0aW9uOwogfQogCi12b2lkIGNsb3NlX2NvbW1pdF9ncmFwaChzdHJ1Y3QgcmVwb3NpdG9yeSAqcikKK3N0YXRpYyB2b2lkIGNsb3NlX2NvbW1pdF9ncmFwaF9vbmUoc3RydWN0IGNvbW1pdF9ncmFwaCAqZykKIHsKLQlmcmVlX2NvbW1pdF9ncmFwaChyLT5vYmplY3RzLT5jb21taXRfZ3JhcGgpOwotCXItPm9iamVjdHMtPmNvbW1pdF9ncmFwaCA9IE5VTEw7CisJaWYgKCFnKQorCQlyZXR1cm47CisKKwljbG9zZV9jb21taXRfZ3JhcGhfb25lKGctPmJhc2VfZ3JhcGgpOworCWZyZWVfY29tbWl0X2dyYXBoKGcpOworfQorCit2b2lkIGNsb3NlX2NvbW1pdF9ncmFwaChzdHJ1Y3QgcmF3X29iamVjdF9zdG9yZSAqbykKK3sKKwljbG9zZV9jb21taXRfZ3JhcGhfb25lKG8tPmNvbW1pdF9ncmFwaCk7CisJby0+Y29tbWl0X2dyYXBoID0gTlVMTDsKIH0KIAogc3RhdGljIGludCBic2VhcmNoX2dyYXBoKHN0cnVjdCBjb21taXRfZ3JhcGggKmcsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgdWludDMyX3QgKnBvcykKQEAgLTI5MiwxOCArNTQyLDM5IEBACiAJCQkgICAgZy0+Y2h1bmtfb2lkX2xvb2t1cCwgZy0+aGFzaF9sZW4sIHBvcyk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgY29tbWl0X2xpc3QgKippbnNlcnRfcGFyZW50X29yX2RpZShzdHJ1Y3QgY29tbWl0X2dyYXBoICpnLAotCQkJCQkJIHVpbnQ2NF90IHBvcywKK3N0YXRpYyB2b2lkIGxvYWRfb2lkX2Zyb21fZ3JhcGgoc3RydWN0IGNvbW1pdF9ncmFwaCAqZywKKwkJCQl1aW50MzJfdCBwb3MsCisJCQkJc3RydWN0IG9iamVjdF9pZCAqb2lkKQoreworCXVpbnQzMl90IGxleF9pbmRleDsKKworCXdoaWxlIChnICYmIHBvcyA8IGctPm51bV9jb21taXRzX2luX2Jhc2UpCisJCWcgPSBnLT5iYXNlX2dyYXBoOworCisJaWYgKCFnKQorCQlCVUcoIk5VTEwgY29tbWl0LWdyYXBoIik7CisKKwlpZiAocG9zID49IGctPm51bV9jb21taXRzICsgZy0+bnVtX2NvbW1pdHNfaW5fYmFzZSkKKwkJZGllKF8oImludmFsaWQgY29tbWl0IHBvc2l0aW9uLiBjb21taXQtZ3JhcGggaXMgbGlrZWx5IGNvcnJ1cHQiKSk7CisKKwlsZXhfaW5kZXggPSBwb3MgLSBnLT5udW1fY29tbWl0c19pbl9iYXNlOworCisJaGFzaGNweShvaWQtPmhhc2gsIGctPmNodW5rX29pZF9sb29rdXAgKyBnLT5oYXNoX2xlbiAqIGxleF9pbmRleCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY29tbWl0X2xpc3QgKippbnNlcnRfcGFyZW50X29yX2RpZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkJCSBzdHJ1Y3QgY29tbWl0X2dyYXBoICpnLAorCQkJCQkJIHVpbnQzMl90IHBvcywKIAkJCQkJCSBzdHJ1Y3QgY29tbWl0X2xpc3QgKipwcHRyKQogewogCXN0cnVjdCBjb21taXQgKmM7CiAJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAKLQlpZiAocG9zID49IGctPm51bV9jb21taXRzKQotCQlkaWUoImludmFsaWQgcGFyZW50IHBvc2l0aW9uICUiUFJJdTY0LCBwb3MpOworCWlmIChwb3MgPj0gZy0+bnVtX2NvbW1pdHMgKyBnLT5udW1fY29tbWl0c19pbl9iYXNlKQorCQlkaWUoImludmFsaWQgcGFyZW50IHBvc2l0aW9uICUiUFJJdTMyLCBwb3MpOwogCi0JaGFzaGNweShvaWQuaGFzaCwgZy0+Y2h1bmtfb2lkX2xvb2t1cCArIGctPmhhc2hfbGVuICogcG9zKTsKLQljID0gbG9va3VwX2NvbW1pdCh0aGVfcmVwb3NpdG9yeSwgJm9pZCk7CisJbG9hZF9vaWRfZnJvbV9ncmFwaChnLCBwb3MsICZvaWQpOworCWMgPSBsb29rdXBfY29tbWl0KHIsICZvaWQpOwogCWlmICghYykKIAkJZGllKF8oImNvdWxkIG5vdCBmaW5kIGNvbW1pdCAlcyIpLCBvaWRfdG9faGV4KCZvaWQpKTsKIAljLT5ncmFwaF9wb3MgPSBwb3M7CkBAIC0zMTIsMjMgKzU4Myw1MiBAQAogCiBzdGF0aWMgdm9pZCBmaWxsX2NvbW1pdF9ncmFwaF9pbmZvKHN0cnVjdCBjb21taXQgKml0ZW0sIHN0cnVjdCBjb21taXRfZ3JhcGggKmcsIHVpbnQzMl90IHBvcykKIHsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpjb21taXRfZGF0YSA9IGctPmNodW5rX2NvbW1pdF9kYXRhICsgR1JBUEhfREFUQV9XSURUSCAqIHBvczsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpjb21taXRfZGF0YTsKKwl1aW50MzJfdCBsZXhfaW5kZXg7CisKKwl3aGlsZSAocG9zIDwgZy0+bnVtX2NvbW1pdHNfaW5fYmFzZSkKKwkJZyA9IGctPmJhc2VfZ3JhcGg7CisKKwlsZXhfaW5kZXggPSBwb3MgLSBnLT5udW1fY29tbWl0c19pbl9iYXNlOworCWNvbW1pdF9kYXRhID0gZy0+Y2h1bmtfY29tbWl0X2RhdGEgKyBHUkFQSF9EQVRBX1dJRFRIICogbGV4X2luZGV4OwogCWl0ZW0tPmdyYXBoX3BvcyA9IHBvczsKIAlpdGVtLT5nZW5lcmF0aW9uID0gZ2V0X2JlMzIoY29tbWl0X2RhdGEgKyBnLT5oYXNoX2xlbiArIDgpID4+IDI7CiB9CiAKLXN0YXRpYyBpbnQgZmlsbF9jb21taXRfaW5fZ3JhcGgoc3RydWN0IGNvbW1pdCAqaXRlbSwgc3RydWN0IGNvbW1pdF9ncmFwaCAqZywgdWludDMyX3QgcG9zKQorc3RhdGljIGlubGluZSB2b2lkIHNldF9jb21taXRfdHJlZShzdHJ1Y3QgY29tbWl0ICpjLCBzdHJ1Y3QgdHJlZSAqdCkKK3sKKwljLT5tYXliZV90cmVlID0gdDsKK30KKworc3RhdGljIGludCBmaWxsX2NvbW1pdF9pbl9ncmFwaChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQlzdHJ1Y3QgY29tbWl0ICppdGVtLAorCQkJCXN0cnVjdCBjb21taXRfZ3JhcGggKmcsIHVpbnQzMl90IHBvcykKIHsKIAl1aW50MzJfdCBlZGdlX3ZhbHVlOwogCXVpbnQzMl90ICpwYXJlbnRfZGF0YV9wdHI7CiAJdWludDY0X3QgZGF0ZV9sb3csIGRhdGVfaGlnaDsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKipwcHRyOwotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbW1pdF9kYXRhID0gZy0+Y2h1bmtfY29tbWl0X2RhdGEgKyAoZy0+aGFzaF9sZW4gKyAxNikgKiBwb3M7CisJY29uc3QgdW5zaWduZWQgY2hhciAqY29tbWl0X2RhdGE7CisJdWludDMyX3QgbGV4X2luZGV4OworCisJd2hpbGUgKHBvcyA8IGctPm51bV9jb21taXRzX2luX2Jhc2UpCisJCWcgPSBnLT5iYXNlX2dyYXBoOworCisJaWYgKHBvcyA+PSBnLT5udW1fY29tbWl0cyArIGctPm51bV9jb21taXRzX2luX2Jhc2UpCisJCWRpZShfKCJpbnZhbGlkIGNvbW1pdCBwb3NpdGlvbi4gY29tbWl0LWdyYXBoIGlzIGxpa2VseSBjb3JydXB0IikpOworCisJLyoKKwkgKiBTdG9yZSB0aGUgImZ1bGwiIHBvc2l0aW9uLCBidXQgdGhlbiB1c2UgdGhlCisJICogImxvY2FsIiBwb3NpdGlvbiBmb3IgdGhlIHJlc3Qgb2YgdGhlIGNhbGN1bGF0aW9uLgorCSAqLworCWl0ZW0tPmdyYXBoX3BvcyA9IHBvczsKKwlsZXhfaW5kZXggPSBwb3MgLSBnLT5udW1fY29tbWl0c19pbl9iYXNlOworCisJY29tbWl0X2RhdGEgPSBnLT5jaHVua19jb21taXRfZGF0YSArIChnLT5oYXNoX2xlbiArIDE2KSAqIGxleF9pbmRleDsKIAogCWl0ZW0tPm9iamVjdC5wYXJzZWQgPSAxOwotCWl0ZW0tPmdyYXBoX3BvcyA9IHBvczsKIAotCWl0ZW0tPm1heWJlX3RyZWUgPSBOVUxMOworCXNldF9jb21taXRfdHJlZShpdGVtLCBOVUxMKTsKIAogCWRhdGVfaGlnaCA9IGdldF9iZTMyKGNvbW1pdF9kYXRhICsgZy0+aGFzaF9sZW4gKyA4KSAmIDB4MzsKIAlkYXRlX2xvdyA9IGdldF9iZTMyKGNvbW1pdF9kYXRhICsgZy0+aGFzaF9sZW4gKyAxMik7CkBAIC0zNDEsMjEgKzY0MSwyMSBAQAogCWVkZ2VfdmFsdWUgPSBnZXRfYmUzMihjb21taXRfZGF0YSArIGctPmhhc2hfbGVuKTsKIAlpZiAoZWRnZV92YWx1ZSA9PSBHUkFQSF9QQVJFTlRfTk9ORSkKIAkJcmV0dXJuIDE7Ci0JcHB0ciA9IGluc2VydF9wYXJlbnRfb3JfZGllKGcsIGVkZ2VfdmFsdWUsIHBwdHIpOworCXBwdHIgPSBpbnNlcnRfcGFyZW50X29yX2RpZShyLCBnLCBlZGdlX3ZhbHVlLCBwcHRyKTsKIAogCWVkZ2VfdmFsdWUgPSBnZXRfYmUzMihjb21taXRfZGF0YSArIGctPmhhc2hfbGVuICsgNCk7CiAJaWYgKGVkZ2VfdmFsdWUgPT0gR1JBUEhfUEFSRU5UX05PTkUpCiAJCXJldHVybiAxOwotCWlmICghKGVkZ2VfdmFsdWUgJiBHUkFQSF9PQ1RPUFVTX0VER0VTX05FRURFRCkpIHsKLQkJcHB0ciA9IGluc2VydF9wYXJlbnRfb3JfZGllKGcsIGVkZ2VfdmFsdWUsIHBwdHIpOworCWlmICghKGVkZ2VfdmFsdWUgJiBHUkFQSF9FWFRSQV9FREdFU19ORUVERUQpKSB7CisJCXBwdHIgPSBpbnNlcnRfcGFyZW50X29yX2RpZShyLCBnLCBlZGdlX3ZhbHVlLCBwcHRyKTsKIAkJcmV0dXJuIDE7CiAJfQogCi0JcGFyZW50X2RhdGFfcHRyID0gKHVpbnQzMl90KikoZy0+Y2h1bmtfbGFyZ2VfZWRnZXMgKworCXBhcmVudF9kYXRhX3B0ciA9ICh1aW50MzJfdCopKGctPmNodW5rX2V4dHJhX2VkZ2VzICsKIAkJCSAgNCAqICh1aW50NjRfdCkoZWRnZV92YWx1ZSAmIEdSQVBIX0VER0VfTEFTVF9NQVNLKSk7CiAJZG8gewogCQllZGdlX3ZhbHVlID0gZ2V0X2JlMzIocGFyZW50X2RhdGFfcHRyKTsKLQkJcHB0ciA9IGluc2VydF9wYXJlbnRfb3JfZGllKGcsCisJCXBwdHIgPSBpbnNlcnRfcGFyZW50X29yX2RpZShyLCBnLAogCQkJCQkgICAgZWRnZV92YWx1ZSAmIEdSQVBIX0VER0VfTEFTVF9NQVNLLAogCQkJCQkgICAgcHB0cik7CiAJCXBhcmVudF9kYXRhX3B0cisrOwpAQCAtMzcwLDExICs2NzAsMjQgQEAKIAkJKnBvcyA9IGl0ZW0tPmdyYXBoX3BvczsKIAkJcmV0dXJuIDE7CiAJfSBlbHNlIHsKLQkJcmV0dXJuIGJzZWFyY2hfZ3JhcGgoZywgJihpdGVtLT5vYmplY3Qub2lkKSwgcG9zKTsKKwkJc3RydWN0IGNvbW1pdF9ncmFwaCAqY3VyX2cgPSBnOworCQl1aW50MzJfdCBsZXhfaW5kZXg7CisKKwkJd2hpbGUgKGN1cl9nICYmICFic2VhcmNoX2dyYXBoKGN1cl9nLCAmKGl0ZW0tPm9iamVjdC5vaWQpLCAmbGV4X2luZGV4KSkKKwkJCWN1cl9nID0gY3VyX2ctPmJhc2VfZ3JhcGg7CisKKwkJaWYgKGN1cl9nKSB7CisJCQkqcG9zID0gbGV4X2luZGV4ICsgY3VyX2ctPm51bV9jb21taXRzX2luX2Jhc2U7CisJCQlyZXR1cm4gMTsKKwkJfQorCisJCXJldHVybiAwOwogCX0KIH0KIAotc3RhdGljIGludCBwYXJzZV9jb21taXRfaW5fZ3JhcGhfb25lKHN0cnVjdCBjb21taXRfZ3JhcGggKmcsIHN0cnVjdCBjb21taXQgKml0ZW0pCitzdGF0aWMgaW50IHBhcnNlX2NvbW1pdF9pbl9ncmFwaF9vbmUoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJICAgICBzdHJ1Y3QgY29tbWl0X2dyYXBoICpnLAorCQkJCSAgICAgc3RydWN0IGNvbW1pdCAqaXRlbSkKIHsKIAl1aW50MzJfdCBwb3M7CiAKQEAgLTM4Miw3ICs2OTUsNyBAQAogCQlyZXR1cm4gMTsKIAogCWlmIChmaW5kX2NvbW1pdF9pbl9ncmFwaChpdGVtLCBnLCAmcG9zKSkKLQkJcmV0dXJuIGZpbGxfY29tbWl0X2luX2dyYXBoKGl0ZW0sIGcsIHBvcyk7CisJCXJldHVybiBmaWxsX2NvbW1pdF9pbl9ncmFwaChyLCBpdGVtLCBnLCBwb3MpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0zOTEsNyArNzA0LDcgQEAKIHsKIAlpZiAoIXByZXBhcmVfY29tbWl0X2dyYXBoKHIpKQogCQlyZXR1cm4gMDsKLQlyZXR1cm4gcGFyc2VfY29tbWl0X2luX2dyYXBoX29uZShyLT5vYmplY3RzLT5jb21taXRfZ3JhcGgsIGl0ZW0pOworCXJldHVybiBwYXJzZV9jb21taXRfaW5fZ3JhcGhfb25lKHIsIHItPm9iamVjdHMtPmNvbW1pdF9ncmFwaCwgaXRlbSk7CiB9CiAKIHZvaWQgbG9hZF9jb21taXRfZ3JhcGhfaW5mbyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IGNvbW1pdCAqaXRlbSkKQEAgLTQwMywxOSArNzE2LDI3IEBACiAJCWZpbGxfY29tbWl0X2dyYXBoX2luZm8oaXRlbSwgci0+b2JqZWN0cy0+Y29tbWl0X2dyYXBoLCBwb3MpOwogfQogCi1zdGF0aWMgc3RydWN0IHRyZWUgKmxvYWRfdHJlZV9mb3JfY29tbWl0KHN0cnVjdCBjb21taXRfZ3JhcGggKmcsIHN0cnVjdCBjb21taXQgKmMpCitzdGF0aWMgc3RydWN0IHRyZWUgKmxvYWRfdHJlZV9mb3JfY29tbWl0KHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCQkgc3RydWN0IGNvbW1pdF9ncmFwaCAqZywKKwkJCQkJIHN0cnVjdCBjb21taXQgKmMpCiB7CiAJc3RydWN0IG9iamVjdF9pZCBvaWQ7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqY29tbWl0X2RhdGEgPSBnLT5jaHVua19jb21taXRfZGF0YSArCi0JCQkJCSAgIEdSQVBIX0RBVEFfV0lEVEggKiAoYy0+Z3JhcGhfcG9zKTsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpjb21taXRfZGF0YTsKKworCXdoaWxlIChjLT5ncmFwaF9wb3MgPCBnLT5udW1fY29tbWl0c19pbl9iYXNlKQorCQlnID0gZy0+YmFzZV9ncmFwaDsKKworCWNvbW1pdF9kYXRhID0gZy0+Y2h1bmtfY29tbWl0X2RhdGEgKworCQkJR1JBUEhfREFUQV9XSURUSCAqIChjLT5ncmFwaF9wb3MgLSBnLT5udW1fY29tbWl0c19pbl9iYXNlKTsKIAogCWhhc2hjcHkob2lkLmhhc2gsIGNvbW1pdF9kYXRhKTsKLQljLT5tYXliZV90cmVlID0gbG9va3VwX3RyZWUodGhlX3JlcG9zaXRvcnksICZvaWQpOworCXNldF9jb21taXRfdHJlZShjLCBsb29rdXBfdHJlZShyLCAmb2lkKSk7CiAKIAlyZXR1cm4gYy0+bWF5YmVfdHJlZTsKIH0KIAotc3RhdGljIHN0cnVjdCB0cmVlICpnZXRfY29tbWl0X3RyZWVfaW5fZ3JhcGhfb25lKHN0cnVjdCBjb21taXRfZ3JhcGggKmcsCitzdGF0aWMgc3RydWN0IHRyZWUgKmdldF9jb21taXRfdHJlZV9pbl9ncmFwaF9vbmUoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJCQkgc3RydWN0IGNvbW1pdF9ncmFwaCAqZywKIAkJCQkJCSBjb25zdCBzdHJ1Y3QgY29tbWl0ICpjKQogewogCWlmIChjLT5tYXliZV90cmVlKQpAQCAtNDIzLDIwICs3NDQsNjAgQEAKIAlpZiAoYy0+Z3JhcGhfcG9zID09IENPTU1JVF9OT1RfRlJPTV9HUkFQSCkKIAkJQlVHKCJnZXRfY29tbWl0X3RyZWVfaW5fZ3JhcGhfb25lIGNhbGxlZCBmcm9tIG5vbi1jb21taXQtZ3JhcGggY29tbWl0Iik7CiAKLQlyZXR1cm4gbG9hZF90cmVlX2Zvcl9jb21taXQoZywgKHN0cnVjdCBjb21taXQgKiljKTsKKwlyZXR1cm4gbG9hZF90cmVlX2Zvcl9jb21taXQociwgZywgKHN0cnVjdCBjb21taXQgKiljKTsKIH0KIAogc3RydWN0IHRyZWUgKmdldF9jb21taXRfdHJlZV9pbl9ncmFwaChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3Qgc3RydWN0IGNvbW1pdCAqYykKIHsKLQlyZXR1cm4gZ2V0X2NvbW1pdF90cmVlX2luX2dyYXBoX29uZShyLT5vYmplY3RzLT5jb21taXRfZ3JhcGgsIGMpOworCXJldHVybiBnZXRfY29tbWl0X3RyZWVfaW5fZ3JhcGhfb25lKHIsIHItPm9iamVjdHMtPmNvbW1pdF9ncmFwaCwgYyk7CiB9CiAKK3N0cnVjdCBwYWNrZWRfY29tbWl0X2xpc3QgeworCXN0cnVjdCBjb21taXQgKipsaXN0OworCWludCBucjsKKwlpbnQgYWxsb2M7Cit9OworCitzdHJ1Y3QgcGFja2VkX29pZF9saXN0IHsKKwlzdHJ1Y3Qgb2JqZWN0X2lkICpsaXN0OworCWludCBucjsKKwlpbnQgYWxsb2M7Cit9OworCitzdHJ1Y3Qgd3JpdGVfY29tbWl0X2dyYXBoX2NvbnRleHQgeworCXN0cnVjdCByZXBvc2l0b3J5ICpyOworCXN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICpvZGI7CisJY2hhciAqZ3JhcGhfbmFtZTsKKwlzdHJ1Y3QgcGFja2VkX29pZF9saXN0IG9pZHM7CisJc3RydWN0IHBhY2tlZF9jb21taXRfbGlzdCBjb21taXRzOworCWludCBudW1fZXh0cmFfZWRnZXM7CisJdW5zaWduZWQgbG9uZyBhcHByb3hfbnJfb2JqZWN0czsKKwlzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzOworCWludCBwcm9ncmVzc19kb25lOworCXVpbnQ2NF90IHByb2dyZXNzX2NudDsKKworCWNoYXIgKmJhc2VfZ3JhcGhfbmFtZTsKKwlpbnQgbnVtX2NvbW1pdF9ncmFwaHNfYmVmb3JlOworCWludCBudW1fY29tbWl0X2dyYXBoc19hZnRlcjsKKwljaGFyICoqY29tbWl0X2dyYXBoX2ZpbGVuYW1lc19iZWZvcmU7CisJY2hhciAqKmNvbW1pdF9ncmFwaF9maWxlbmFtZXNfYWZ0ZXI7CisJY2hhciAqKmNvbW1pdF9ncmFwaF9oYXNoX2FmdGVyOworCXVpbnQzMl90IG5ld19udW1fY29tbWl0c19pbl9iYXNlOworCXN0cnVjdCBjb21taXRfZ3JhcGggKm5ld19iYXNlX2dyYXBoOworCisJdW5zaWduZWQgYXBwZW5kOjEsCisJCSByZXBvcnRfcHJvZ3Jlc3M6MSwKKwkJIHNwbGl0OjEsCisJCSBjaGVja19vaWRzOjE7CisKKwljb25zdCBzdHJ1Y3Qgc3BsaXRfY29tbWl0X2dyYXBoX29wdHMgKnNwbGl0X29wdHM7Cit9OworCiBzdGF0aWMgdm9pZCB3cml0ZV9ncmFwaF9jaHVua19mYW5vdXQoc3RydWN0IGhhc2hmaWxlICpmLAotCQkJCSAgICAgc3RydWN0IGNvbW1pdCAqKmNvbW1pdHMsCi0JCQkJICAgICBpbnQgbnJfY29tbWl0cykKKwkJCQkgICAgIHN0cnVjdCB3cml0ZV9jb21taXRfZ3JhcGhfY29udGV4dCAqY3R4KQogewogCWludCBpLCBjb3VudCA9IDA7Ci0Jc3RydWN0IGNvbW1pdCAqKmxpc3QgPSBjb21taXRzOworCXN0cnVjdCBjb21taXQgKipsaXN0ID0gY3R4LT5jb21taXRzLmxpc3Q7CiAKIAkvKgogCSAqIFdyaXRlIHRoZSBmaXJzdC1sZXZlbCB0YWJsZSAodGhlIGxpc3QgaXMgc29ydGVkLApAQCAtNDQ0LDkgKzgwNSwxMCBAQAogCSAqIGhhdmluZyB0byBkbyBlaWdodCBleHRyYSBiaW5hcnkgc2VhcmNoIGl0ZXJhdGlvbnMpLgogCSAqLwogCWZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykgewotCQl3aGlsZSAoY291bnQgPCBucl9jb21taXRzKSB7CisJCXdoaWxlIChjb3VudCA8IGN0eC0+Y29tbWl0cy5ucikgewogCQkJaWYgKCgqbGlzdCktPm9iamVjdC5vaWQuaGFzaFswXSAhPSBpKQogCQkJCWJyZWFrOworCQkJZGlzcGxheV9wcm9ncmVzcyhjdHgtPnByb2dyZXNzLCArK2N0eC0+cHJvZ3Jlc3NfY250KTsKIAkJCWNvdW50Kys7CiAJCQlsaXN0Kys7CiAJCX0KQEAgLTQ1NiwxMiArODE4LDE0IEBACiB9CiAKIHN0YXRpYyB2b2lkIHdyaXRlX2dyYXBoX2NodW5rX29pZHMoc3RydWN0IGhhc2hmaWxlICpmLCBpbnQgaGFzaF9sZW4sCi0JCQkJICAgc3RydWN0IGNvbW1pdCAqKmNvbW1pdHMsIGludCBucl9jb21taXRzKQorCQkJCSAgIHN0cnVjdCB3cml0ZV9jb21taXRfZ3JhcGhfY29udGV4dCAqY3R4KQogewotCXN0cnVjdCBjb21taXQgKipsaXN0ID0gY29tbWl0czsKKwlzdHJ1Y3QgY29tbWl0ICoqbGlzdCA9IGN0eC0+Y29tbWl0cy5saXN0OwogCWludCBjb3VudDsKLQlmb3IgKGNvdW50ID0gMDsgY291bnQgPCBucl9jb21taXRzOyBjb3VudCsrLCBsaXN0KyspCisJZm9yIChjb3VudCA9IDA7IGNvdW50IDwgY3R4LT5jb21taXRzLm5yOyBjb3VudCsrLCBsaXN0KyspIHsKKwkJZGlzcGxheV9wcm9ncmVzcyhjdHgtPnByb2dyZXNzLCArK2N0eC0+cHJvZ3Jlc3NfY250KTsKIAkJaGFzaHdyaXRlKGYsICgqbGlzdCktPm9iamVjdC5vaWQuaGFzaCwgKGludCloYXNoX2xlbik7CisJfQogfQogCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciAqY29tbWl0X3RvX3NoYTEoc2l6ZV90IGluZGV4LCB2b2lkICp0YWJsZSkKQEAgLTQ3MSwxOSArODM1LDI0IEBACiB9CiAKIHN0YXRpYyB2b2lkIHdyaXRlX2dyYXBoX2NodW5rX2RhdGEoc3RydWN0IGhhc2hmaWxlICpmLCBpbnQgaGFzaF9sZW4sCi0JCQkJICAgc3RydWN0IGNvbW1pdCAqKmNvbW1pdHMsIGludCBucl9jb21taXRzKQorCQkJCSAgIHN0cnVjdCB3cml0ZV9jb21taXRfZ3JhcGhfY29udGV4dCAqY3R4KQogewotCXN0cnVjdCBjb21taXQgKipsaXN0ID0gY29tbWl0czsKLQlzdHJ1Y3QgY29tbWl0ICoqbGFzdCA9IGNvbW1pdHMgKyBucl9jb21taXRzOworCXN0cnVjdCBjb21taXQgKipsaXN0ID0gY3R4LT5jb21taXRzLmxpc3Q7CisJc3RydWN0IGNvbW1pdCAqKmxhc3QgPSBjdHgtPmNvbW1pdHMubGlzdCArIGN0eC0+Y29tbWl0cy5ucjsKIAl1aW50MzJfdCBudW1fZXh0cmFfZWRnZXMgPSAwOwogCiAJd2hpbGUgKGxpc3QgPCBsYXN0KSB7CiAJCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50OworCQlzdHJ1Y3Qgb2JqZWN0X2lkICp0cmVlOwogCQlpbnQgZWRnZV92YWx1ZTsKIAkJdWludDMyX3QgcGFja2VkRGF0ZVsyXTsKKwkJZGlzcGxheV9wcm9ncmVzcyhjdHgtPnByb2dyZXNzLCArK2N0eC0+cHJvZ3Jlc3NfY250KTsKIAotCQlwYXJzZV9jb21taXQoKmxpc3QpOwotCQloYXNod3JpdGUoZiwgZ2V0X2NvbW1pdF90cmVlX29pZCgqbGlzdCktPmhhc2gsIGhhc2hfbGVuKTsKKwkJaWYgKHBhcnNlX2NvbW1pdF9ub19ncmFwaCgqbGlzdCkpCisJCQlkaWUoXygidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCAlcyIpLAorCQkJCW9pZF90b19oZXgoJigqbGlzdCktPm9iamVjdC5vaWQpKTsKKwkJdHJlZSA9IGdldF9jb21taXRfdHJlZV9vaWQoKmxpc3QpOworCQloYXNod3JpdGUoZiwgdHJlZS0+aGFzaCwgaGFzaF9sZW4pOwogCiAJCXBhcmVudCA9ICgqbGlzdCktPnBhcmVudHM7CiAKQEAgLTQ5MSwxMiArODYwLDI0IEBACiAJCQllZGdlX3ZhbHVlID0gR1JBUEhfUEFSRU5UX05PTkU7CiAJCWVsc2UgewogCQkJZWRnZV92YWx1ZSA9IHNoYTFfcG9zKHBhcmVudC0+aXRlbS0+b2JqZWN0Lm9pZC5oYXNoLAotCQkJCQkgICAgICBjb21taXRzLAotCQkJCQkgICAgICBucl9jb21taXRzLAorCQkJCQkgICAgICBjdHgtPmNvbW1pdHMubGlzdCwKKwkJCQkJICAgICAgY3R4LT5jb21taXRzLm5yLAogCQkJCQkgICAgICBjb21taXRfdG9fc2hhMSk7CiAKKwkJCWlmIChlZGdlX3ZhbHVlID49IDApCisJCQkJZWRnZV92YWx1ZSArPSBjdHgtPm5ld19udW1fY29tbWl0c19pbl9iYXNlOworCQkJZWxzZSB7CisJCQkJdWludDMyX3QgcG9zOworCQkJCWlmIChmaW5kX2NvbW1pdF9pbl9ncmFwaChwYXJlbnQtPml0ZW0sCisJCQkJCQkJIGN0eC0+bmV3X2Jhc2VfZ3JhcGgsCisJCQkJCQkJICZwb3MpKQorCQkJCQllZGdlX3ZhbHVlID0gcG9zOworCQkJfQorCiAJCQlpZiAoZWRnZV92YWx1ZSA8IDApCi0JCQkJZWRnZV92YWx1ZSA9IEdSQVBIX1BBUkVOVF9NSVNTSU5HOworCQkJCUJVRygibWlzc2luZyBwYXJlbnQgJXMgZm9yIGNvbW1pdCAlcyIsCisJCQkJICAgIG9pZF90b19oZXgoJnBhcmVudC0+aXRlbS0+b2JqZWN0Lm9pZCksCisJCQkJICAgIG9pZF90b19oZXgoJigqbGlzdCktPm9iamVjdC5vaWQpKTsKIAkJfQogCiAJCWhhc2h3cml0ZV9iZTMyKGYsIGVkZ2VfdmFsdWUpOwpAQCAtNTA3LDE5ICs4ODgsMzIgQEAKIAkJaWYgKCFwYXJlbnQpCiAJCQllZGdlX3ZhbHVlID0gR1JBUEhfUEFSRU5UX05PTkU7CiAJCWVsc2UgaWYgKHBhcmVudC0+bmV4dCkKLQkJCWVkZ2VfdmFsdWUgPSBHUkFQSF9PQ1RPUFVTX0VER0VTX05FRURFRCB8IG51bV9leHRyYV9lZGdlczsKKwkJCWVkZ2VfdmFsdWUgPSBHUkFQSF9FWFRSQV9FREdFU19ORUVERUQgfCBudW1fZXh0cmFfZWRnZXM7CiAJCWVsc2UgewogCQkJZWRnZV92YWx1ZSA9IHNoYTFfcG9zKHBhcmVudC0+aXRlbS0+b2JqZWN0Lm9pZC5oYXNoLAotCQkJCQkgICAgICBjb21taXRzLAotCQkJCQkgICAgICBucl9jb21taXRzLAorCQkJCQkgICAgICBjdHgtPmNvbW1pdHMubGlzdCwKKwkJCQkJICAgICAgY3R4LT5jb21taXRzLm5yLAogCQkJCQkgICAgICBjb21taXRfdG9fc2hhMSk7CisKKwkJCWlmIChlZGdlX3ZhbHVlID49IDApCisJCQkJZWRnZV92YWx1ZSArPSBjdHgtPm5ld19udW1fY29tbWl0c19pbl9iYXNlOworCQkJZWxzZSB7CisJCQkJdWludDMyX3QgcG9zOworCQkJCWlmIChmaW5kX2NvbW1pdF9pbl9ncmFwaChwYXJlbnQtPml0ZW0sCisJCQkJCQkJIGN0eC0+bmV3X2Jhc2VfZ3JhcGgsCisJCQkJCQkJICZwb3MpKQorCQkJCQllZGdlX3ZhbHVlID0gcG9zOworCQkJfQorCiAJCQlpZiAoZWRnZV92YWx1ZSA8IDApCi0JCQkJZWRnZV92YWx1ZSA9IEdSQVBIX1BBUkVOVF9NSVNTSU5HOworCQkJCUJVRygibWlzc2luZyBwYXJlbnQgJXMgZm9yIGNvbW1pdCAlcyIsCisJCQkJICAgIG9pZF90b19oZXgoJnBhcmVudC0+aXRlbS0+b2JqZWN0Lm9pZCksCisJCQkJICAgIG9pZF90b19oZXgoJigqbGlzdCktPm9iamVjdC5vaWQpKTsKIAkJfQogCiAJCWhhc2h3cml0ZV9iZTMyKGYsIGVkZ2VfdmFsdWUpOwogCi0JCWlmIChlZGdlX3ZhbHVlICYgR1JBUEhfT0NUT1BVU19FREdFU19ORUVERUQpIHsKKwkJaWYgKGVkZ2VfdmFsdWUgJiBHUkFQSF9FWFRSQV9FREdFU19ORUVERUQpIHsKIAkJCWRvIHsKIAkJCQludW1fZXh0cmFfZWRnZXMrKzsKIAkJCQlwYXJlbnQgPSBwYXJlbnQtPm5leHQ7CkBAIC01NDAsMTYgKzkzNCwxOCBAQAogCX0KIH0KIAotc3RhdGljIHZvaWQgd3JpdGVfZ3JhcGhfY2h1bmtfbGFyZ2VfZWRnZXMoc3RydWN0IGhhc2hmaWxlICpmLAotCQkJCQkgIHN0cnVjdCBjb21taXQgKipjb21taXRzLAotCQkJCQkgIGludCBucl9jb21taXRzKQorc3RhdGljIHZvaWQgd3JpdGVfZ3JhcGhfY2h1bmtfZXh0cmFfZWRnZXMoc3RydWN0IGhhc2hmaWxlICpmLAorCQkJCQkgIHN0cnVjdCB3cml0ZV9jb21taXRfZ3JhcGhfY29udGV4dCAqY3R4KQogewotCXN0cnVjdCBjb21taXQgKipsaXN0ID0gY29tbWl0czsKLQlzdHJ1Y3QgY29tbWl0ICoqbGFzdCA9IGNvbW1pdHMgKyBucl9jb21taXRzOworCXN0cnVjdCBjb21taXQgKipsaXN0ID0gY3R4LT5jb21taXRzLmxpc3Q7CisJc3RydWN0IGNvbW1pdCAqKmxhc3QgPSBjdHgtPmNvbW1pdHMubGlzdCArIGN0eC0+Y29tbWl0cy5ucjsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudDsKIAogCXdoaWxlIChsaXN0IDwgbGFzdCkgewogCQlpbnQgbnVtX3BhcmVudHMgPSAwOworCisJCWRpc3BsYXlfcHJvZ3Jlc3MoY3R4LT5wcm9ncmVzcywgKytjdHgtPnByb2dyZXNzX2NudCk7CisKIAkJZm9yIChwYXJlbnQgPSAoKmxpc3QpLT5wYXJlbnRzOyBudW1fcGFyZW50cyA8IDMgJiYgcGFyZW50OwogCQkgICAgIHBhcmVudCA9IHBhcmVudC0+bmV4dCkKIAkJCW51bV9wYXJlbnRzKys7CkBAIC01NjIsMTIgKzk1OCwyNCBAQAogCQkvKiBTaW5jZSBudW1fcGFyZW50cyA+IDIsIHRoaXMgaW5pdGlhbGl6ZXIgaXMgc2FmZS4gKi8KIAkJZm9yIChwYXJlbnQgPSAoKmxpc3QpLT5wYXJlbnRzLT5uZXh0OyBwYXJlbnQ7IHBhcmVudCA9IHBhcmVudC0+bmV4dCkgewogCQkJaW50IGVkZ2VfdmFsdWUgPSBzaGExX3BvcyhwYXJlbnQtPml0ZW0tPm9iamVjdC5vaWQuaGFzaCwKLQkJCQkJCSAgY29tbWl0cywKLQkJCQkJCSAgbnJfY29tbWl0cywKKwkJCQkJCSAgY3R4LT5jb21taXRzLmxpc3QsCisJCQkJCQkgIGN0eC0+Y29tbWl0cy5uciwKIAkJCQkJCSAgY29tbWl0X3RvX3NoYTEpOwogCisJCQlpZiAoZWRnZV92YWx1ZSA+PSAwKQorCQkJCWVkZ2VfdmFsdWUgKz0gY3R4LT5uZXdfbnVtX2NvbW1pdHNfaW5fYmFzZTsKKwkJCWVsc2UgeworCQkJCXVpbnQzMl90IHBvczsKKwkJCQlpZiAoZmluZF9jb21taXRfaW5fZ3JhcGgocGFyZW50LT5pdGVtLAorCQkJCQkJCSBjdHgtPm5ld19iYXNlX2dyYXBoLAorCQkJCQkJCSAmcG9zKSkKKwkJCQkJZWRnZV92YWx1ZSA9IHBvczsKKwkJCX0KKwogCQkJaWYgKGVkZ2VfdmFsdWUgPCAwKQotCQkJCWVkZ2VfdmFsdWUgPSBHUkFQSF9QQVJFTlRfTUlTU0lORzsKKwkJCQlCVUcoIm1pc3NpbmcgcGFyZW50ICVzIGZvciBjb21taXQgJXMiLAorCQkJCSAgICBvaWRfdG9faGV4KCZwYXJlbnQtPml0ZW0tPm9iamVjdC5vaWQpLAorCQkJCSAgICBvaWRfdG9faGV4KCYoKmxpc3QpLT5vYmplY3Qub2lkKSk7CiAJCQllbHNlIGlmICghcGFyZW50LT5uZXh0KQogCQkJCWVkZ2VfdmFsdWUgfD0gR1JBUEhfTEFTVF9FREdFOwogCkBAIC01NzgsMTI1ICs5ODYsMTI0IEBACiAJfQogfQogCi1zdGF0aWMgaW50IGNvbW1pdF9jb21wYXJlKGNvbnN0IHZvaWQgKl9hLCBjb25zdCB2b2lkICpfYikKK3N0YXRpYyBpbnQgb2lkX2NvbXBhcmUoY29uc3Qgdm9pZCAqX2EsIGNvbnN0IHZvaWQgKl9iKQogewogCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmEgPSAoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqKV9hOwogCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmIgPSAoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqKV9iOwogCXJldHVybiBvaWRjbXAoYSwgYik7CiB9CiAKLXN0cnVjdCBwYWNrZWRfY29tbWl0X2xpc3QgewotCXN0cnVjdCBjb21taXQgKipsaXN0OwotCWludCBucjsKLQlpbnQgYWxsb2M7Ci19OwotCi1zdHJ1Y3QgcGFja2VkX29pZF9saXN0IHsKLQlzdHJ1Y3Qgb2JqZWN0X2lkICpsaXN0OwotCWludCBucjsKLQlpbnQgYWxsb2M7Ci0Jc3RydWN0IHByb2dyZXNzICpwcm9ncmVzczsKLQlpbnQgcHJvZ3Jlc3NfZG9uZTsKLX07Ci0KIHN0YXRpYyBpbnQgYWRkX3BhY2tlZF9jb21taXRzKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCSAgICAgIHN0cnVjdCBwYWNrZWRfZ2l0ICpwYWNrLAogCQkJICAgICAgdWludDMyX3QgcG9zLAogCQkJICAgICAgdm9pZCAqZGF0YSkKIHsKLQlzdHJ1Y3QgcGFja2VkX29pZF9saXN0ICpsaXN0ID0gKHN0cnVjdCBwYWNrZWRfb2lkX2xpc3QqKWRhdGE7CisJc3RydWN0IHdyaXRlX2NvbW1pdF9ncmFwaF9jb250ZXh0ICpjdHggPSAoc3RydWN0IHdyaXRlX2NvbW1pdF9ncmFwaF9jb250ZXh0KilkYXRhOwogCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKIAlvZmZfdCBvZmZzZXQgPSBudGhfcGFja2VkX29iamVjdF9vZmZzZXQocGFjaywgcG9zKTsKIAlzdHJ1Y3Qgb2JqZWN0X2luZm8gb2kgPSBPQkpFQ1RfSU5GT19JTklUOwogCi0JaWYgKGxpc3QtPnByb2dyZXNzKQotCQlkaXNwbGF5X3Byb2dyZXNzKGxpc3QtPnByb2dyZXNzLCArK2xpc3QtPnByb2dyZXNzX2RvbmUpOworCWlmIChjdHgtPnByb2dyZXNzKQorCQlkaXNwbGF5X3Byb2dyZXNzKGN0eC0+cHJvZ3Jlc3MsICsrY3R4LT5wcm9ncmVzc19kb25lKTsKIAogCW9pLnR5cGVwID0gJnR5cGU7Ci0JaWYgKHBhY2tlZF9vYmplY3RfaW5mbyh0aGVfcmVwb3NpdG9yeSwgcGFjaywgb2Zmc2V0LCAmb2kpIDwgMCkKKwlpZiAocGFja2VkX29iamVjdF9pbmZvKGN0eC0+ciwgcGFjaywgb2Zmc2V0LCAmb2kpIDwgMCkKIAkJZGllKF8oInVuYWJsZSB0byBnZXQgdHlwZSBvZiBvYmplY3QgJXMiKSwgb2lkX3RvX2hleChvaWQpKTsKIAogCWlmICh0eXBlICE9IE9CSl9DT01NSVQpCiAJCXJldHVybiAwOwogCi0JQUxMT0NfR1JPVyhsaXN0LT5saXN0LCBsaXN0LT5uciArIDEsIGxpc3QtPmFsbG9jKTsKLQlvaWRjcHkoJihsaXN0LT5saXN0W2xpc3QtPm5yXSksIG9pZCk7Ci0JbGlzdC0+bnIrKzsKKwlBTExPQ19HUk9XKGN0eC0+b2lkcy5saXN0LCBjdHgtPm9pZHMubnIgKyAxLCBjdHgtPm9pZHMuYWxsb2MpOworCW9pZGNweSgmKGN0eC0+b2lkcy5saXN0W2N0eC0+b2lkcy5ucl0pLCBvaWQpOworCWN0eC0+b2lkcy5ucisrOwogCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGFkZF9taXNzaW5nX3BhcmVudHMoc3RydWN0IHBhY2tlZF9vaWRfbGlzdCAqb2lkcywgc3RydWN0IGNvbW1pdCAqY29tbWl0KQorc3RhdGljIHZvaWQgYWRkX21pc3NpbmdfcGFyZW50cyhzdHJ1Y3Qgd3JpdGVfY29tbWl0X2dyYXBoX2NvbnRleHQgKmN0eCwgc3RydWN0IGNvbW1pdCAqY29tbWl0KQogewogCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50OwogCWZvciAocGFyZW50ID0gY29tbWl0LT5wYXJlbnRzOyBwYXJlbnQ7IHBhcmVudCA9IHBhcmVudC0+bmV4dCkgewotCQlpZiAoIShwYXJlbnQtPml0ZW0tPm9iamVjdC5mbGFncyAmIFVOSU5URVJFU1RJTkcpKSB7Ci0JCQlBTExPQ19HUk9XKG9pZHMtPmxpc3QsIG9pZHMtPm5yICsgMSwgb2lkcy0+YWxsb2MpOwotCQkJb2lkY3B5KCZvaWRzLT5saXN0W29pZHMtPm5yXSwgJihwYXJlbnQtPml0ZW0tPm9iamVjdC5vaWQpKTsKLQkJCW9pZHMtPm5yKys7Ci0JCQlwYXJlbnQtPml0ZW0tPm9iamVjdC5mbGFncyB8PSBVTklOVEVSRVNUSU5HOworCQlpZiAoIShwYXJlbnQtPml0ZW0tPm9iamVjdC5mbGFncyAmIFJFQUNIQUJMRSkpIHsKKwkJCUFMTE9DX0dST1coY3R4LT5vaWRzLmxpc3QsIGN0eC0+b2lkcy5uciArIDEsIGN0eC0+b2lkcy5hbGxvYyk7CisJCQlvaWRjcHkoJmN0eC0+b2lkcy5saXN0W2N0eC0+b2lkcy5ucl0sICYocGFyZW50LT5pdGVtLT5vYmplY3Qub2lkKSk7CisJCQljdHgtPm9pZHMubnIrKzsKKwkJCXBhcmVudC0+aXRlbS0+b2JqZWN0LmZsYWdzIHw9IFJFQUNIQUJMRTsKIAkJfQogCX0KIH0KIAotc3RhdGljIHZvaWQgY2xvc2VfcmVhY2hhYmxlKHN0cnVjdCBwYWNrZWRfb2lkX2xpc3QgKm9pZHMsIGludCByZXBvcnRfcHJvZ3Jlc3MpCitzdGF0aWMgdm9pZCBjbG9zZV9yZWFjaGFibGUoc3RydWN0IHdyaXRlX2NvbW1pdF9ncmFwaF9jb250ZXh0ICpjdHgpCiB7CiAJaW50IGk7CiAJc3RydWN0IGNvbW1pdCAqY29tbWl0OwotCXN0cnVjdCBwcm9ncmVzcyAqcHJvZ3Jlc3MgPSBOVUxMOwotCWludCBqID0gMDsKIAotCWlmIChyZXBvcnRfcHJvZ3Jlc3MpCi0JCXByb2dyZXNzID0gc3RhcnRfZGVsYXllZF9wcm9ncmVzcygKLQkJCV8oIkFubm90YXRpbmcgY29tbWl0cyBpbiBjb21taXQgZ3JhcGgiKSwgMCk7Ci0JZm9yIChpID0gMDsgaSA8IG9pZHMtPm5yOyBpKyspIHsKLQkJZGlzcGxheV9wcm9ncmVzcyhwcm9ncmVzcywgKytqKTsKLQkJY29tbWl0ID0gbG9va3VwX2NvbW1pdCh0aGVfcmVwb3NpdG9yeSwgJm9pZHMtPmxpc3RbaV0pOworCWlmIChjdHgtPnJlcG9ydF9wcm9ncmVzcykKKwkJY3R4LT5wcm9ncmVzcyA9IHN0YXJ0X2RlbGF5ZWRfcHJvZ3Jlc3MoCisJCQkJCV8oIkxvYWRpbmcga25vd24gY29tbWl0cyBpbiBjb21taXQgZ3JhcGgiKSwKKwkJCQkJY3R4LT5vaWRzLm5yKTsKKwlmb3IgKGkgPSAwOyBpIDwgY3R4LT5vaWRzLm5yOyBpKyspIHsKKwkJZGlzcGxheV9wcm9ncmVzcyhjdHgtPnByb2dyZXNzLCBpICsgMSk7CisJCWNvbW1pdCA9IGxvb2t1cF9jb21taXQoY3R4LT5yLCAmY3R4LT5vaWRzLmxpc3RbaV0pOwogCQlpZiAoY29tbWl0KQotCQkJY29tbWl0LT5vYmplY3QuZmxhZ3MgfD0gVU5JTlRFUkVTVElORzsKKwkJCWNvbW1pdC0+b2JqZWN0LmZsYWdzIHw9IFJFQUNIQUJMRTsKIAl9CisJc3RvcF9wcm9ncmVzcygmY3R4LT5wcm9ncmVzcyk7CiAKIAkvKgotCSAqIEFzIHRoaXMgbG9vcCBydW5zLCBvaWRzLT5uciBtYXkgZ3JvdywgYnV0IG5vdCBtb3JlCisJICogQXMgdGhpcyBsb29wIHJ1bnMsIGN0eC0+b2lkcy5uciBtYXkgZ3JvdywgYnV0IG5vdCBtb3JlCiAJICogdGhhbiB0aGUgbnVtYmVyIG9mIG1pc3NpbmcgY29tbWl0cyBpbiB0aGUgcmVhY2hhYmxlCiAJICogY2xvc3VyZS4KIAkgKi8KLQlmb3IgKGkgPSAwOyBpIDwgb2lkcy0+bnI7IGkrKykgewotCQlkaXNwbGF5X3Byb2dyZXNzKHByb2dyZXNzLCArK2opOwotCQljb21taXQgPSBsb29rdXBfY29tbWl0KHRoZV9yZXBvc2l0b3J5LCAmb2lkcy0+bGlzdFtpXSk7CisJaWYgKGN0eC0+cmVwb3J0X3Byb2dyZXNzKQorCQljdHgtPnByb2dyZXNzID0gc3RhcnRfZGVsYXllZF9wcm9ncmVzcygKKwkJCQkJXygiRXhwYW5kaW5nIHJlYWNoYWJsZSBjb21taXRzIGluIGNvbW1pdCBncmFwaCIpLAorCQkJCQkwKTsKKwlmb3IgKGkgPSAwOyBpIDwgY3R4LT5vaWRzLm5yOyBpKyspIHsKKwkJZGlzcGxheV9wcm9ncmVzcyhjdHgtPnByb2dyZXNzLCBpICsgMSk7CisJCWNvbW1pdCA9IGxvb2t1cF9jb21taXQoY3R4LT5yLCAmY3R4LT5vaWRzLmxpc3RbaV0pOwogCi0JCWlmIChjb21taXQgJiYgIXBhcnNlX2NvbW1pdChjb21taXQpKQotCQkJYWRkX21pc3NpbmdfcGFyZW50cyhvaWRzLCBjb21taXQpOworCQlpZiAoIWNvbW1pdCkKKwkJCWNvbnRpbnVlOworCQlpZiAoY3R4LT5zcGxpdCkgeworCQkJaWYgKCFwYXJzZV9jb21taXQoY29tbWl0KSAmJgorCQkJICAgIGNvbW1pdC0+Z3JhcGhfcG9zID09IENPTU1JVF9OT1RfRlJPTV9HUkFQSCkKKwkJCQlhZGRfbWlzc2luZ19wYXJlbnRzKGN0eCwgY29tbWl0KTsKKwkJfSBlbHNlIGlmICghcGFyc2VfY29tbWl0X25vX2dyYXBoKGNvbW1pdCkpCisJCQlhZGRfbWlzc2luZ19wYXJlbnRzKGN0eCwgY29tbWl0KTsKIAl9CisJc3RvcF9wcm9ncmVzcygmY3R4LT5wcm9ncmVzcyk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgb2lkcy0+bnI7IGkrKykgewotCQlkaXNwbGF5X3Byb2dyZXNzKHByb2dyZXNzLCArK2opOwotCQljb21taXQgPSBsb29rdXBfY29tbWl0KHRoZV9yZXBvc2l0b3J5LCAmb2lkcy0+bGlzdFtpXSk7CisJaWYgKGN0eC0+cmVwb3J0X3Byb2dyZXNzKQorCQljdHgtPnByb2dyZXNzID0gc3RhcnRfZGVsYXllZF9wcm9ncmVzcygKKwkJCQkJXygiQ2xlYXJpbmcgY29tbWl0IG1hcmtzIGluIGNvbW1pdCBncmFwaCIpLAorCQkJCQljdHgtPm9pZHMubnIpOworCWZvciAoaSA9IDA7IGkgPCBjdHgtPm9pZHMubnI7IGkrKykgeworCQlkaXNwbGF5X3Byb2dyZXNzKGN0eC0+cHJvZ3Jlc3MsIGkgKyAxKTsKKwkJY29tbWl0ID0gbG9va3VwX2NvbW1pdChjdHgtPnIsICZjdHgtPm9pZHMubGlzdFtpXSk7CiAKIAkJaWYgKGNvbW1pdCkKLQkJCWNvbW1pdC0+b2JqZWN0LmZsYWdzICY9IH5VTklOVEVSRVNUSU5HOworCQkJY29tbWl0LT5vYmplY3QuZmxhZ3MgJj0gflJFQUNIQUJMRTsKIAl9Ci0Jc3RvcF9wcm9ncmVzcygmcHJvZ3Jlc3MpOworCXN0b3BfcHJvZ3Jlc3MoJmN0eC0+cHJvZ3Jlc3MpOwogfQogCi1zdGF0aWMgdm9pZCBjb21wdXRlX2dlbmVyYXRpb25fbnVtYmVycyhzdHJ1Y3QgcGFja2VkX2NvbW1pdF9saXN0KiBjb21taXRzLAotCQkJCSAgICAgICBpbnQgcmVwb3J0X3Byb2dyZXNzKQorc3RhdGljIHZvaWQgY29tcHV0ZV9nZW5lcmF0aW9uX251bWJlcnMoc3RydWN0IHdyaXRlX2NvbW1pdF9ncmFwaF9jb250ZXh0ICpjdHgpCiB7CiAJaW50IGk7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpsaXN0ID0gTlVMTDsKLQlzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzID0gTlVMTDsKIAotCWlmIChyZXBvcnRfcHJvZ3Jlc3MpCi0JCXByb2dyZXNzID0gc3RhcnRfcHJvZ3Jlc3MoCi0JCQlfKCJDb21wdXRpbmcgY29tbWl0IGdyYXBoIGdlbmVyYXRpb24gbnVtYmVycyIpLAotCQkJY29tbWl0cy0+bnIpOwotCWZvciAoaSA9IDA7IGkgPCBjb21taXRzLT5ucjsgaSsrKSB7Ci0JCWRpc3BsYXlfcHJvZ3Jlc3MocHJvZ3Jlc3MsIGkgKyAxKTsKLQkJaWYgKGNvbW1pdHMtPmxpc3RbaV0tPmdlbmVyYXRpb24gIT0gR0VORVJBVElPTl9OVU1CRVJfSU5GSU5JVFkgJiYKLQkJICAgIGNvbW1pdHMtPmxpc3RbaV0tPmdlbmVyYXRpb24gIT0gR0VORVJBVElPTl9OVU1CRVJfWkVSTykKKwlpZiAoY3R4LT5yZXBvcnRfcHJvZ3Jlc3MpCisJCWN0eC0+cHJvZ3Jlc3MgPSBzdGFydF9kZWxheWVkX3Byb2dyZXNzKAorCQkJCQlfKCJDb21wdXRpbmcgY29tbWl0IGdyYXBoIGdlbmVyYXRpb24gbnVtYmVycyIpLAorCQkJCQljdHgtPmNvbW1pdHMubnIpOworCWZvciAoaSA9IDA7IGkgPCBjdHgtPmNvbW1pdHMubnI7IGkrKykgeworCQlkaXNwbGF5X3Byb2dyZXNzKGN0eC0+cHJvZ3Jlc3MsIGkgKyAxKTsKKwkJaWYgKGN0eC0+Y29tbWl0cy5saXN0W2ldLT5nZW5lcmF0aW9uICE9IEdFTkVSQVRJT05fTlVNQkVSX0lORklOSVRZICYmCisJCSAgICBjdHgtPmNvbW1pdHMubGlzdFtpXS0+Z2VuZXJhdGlvbiAhPSBHRU5FUkFUSU9OX05VTUJFUl9aRVJPKQogCQkJY29udGludWU7CiAKLQkJY29tbWl0X2xpc3RfaW5zZXJ0KGNvbW1pdHMtPmxpc3RbaV0sICZsaXN0KTsKKwkJY29tbWl0X2xpc3RfaW5zZXJ0KGN0eC0+Y29tbWl0cy5saXN0W2ldLCAmbGlzdCk7CiAJCXdoaWxlIChsaXN0KSB7CiAJCQlzdHJ1Y3QgY29tbWl0ICpjdXJyZW50ID0gbGlzdC0+aXRlbTsKIAkJCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50OwpAQCAtNzIzLDcgKzExMzAsNyBAQAogCQkJfQogCQl9CiAJfQotCXN0b3BfcHJvZ3Jlc3MoJnByb2dyZXNzKTsKKwlzdG9wX3Byb2dyZXNzKCZjdHgtPnByb2dyZXNzKTsKIH0KIAogc3RhdGljIGludCBhZGRfcmVmX3RvX2xpc3QoY29uc3QgY2hhciAqcmVmbmFtZSwKQEAgLTczNiwxOTcgKzExNDMsMjkzIEBACiAJcmV0dXJuIDA7CiB9CiAKLXZvaWQgd3JpdGVfY29tbWl0X2dyYXBoX3JlYWNoYWJsZShjb25zdCBjaGFyICpvYmpfZGlyLCBpbnQgYXBwZW5kLAotCQkJCSAgaW50IHJlcG9ydF9wcm9ncmVzcykKK2ludCB3cml0ZV9jb21taXRfZ3JhcGhfcmVhY2hhYmxlKHN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICpvZGIsCisJCQkJIGVudW0gY29tbWl0X2dyYXBoX3dyaXRlX2ZsYWdzIGZsYWdzLAorCQkJCSBjb25zdCBzdHJ1Y3Qgc3BsaXRfY29tbWl0X2dyYXBoX29wdHMgKnNwbGl0X29wdHMpCiB7CiAJc3RydWN0IHN0cmluZ19saXN0IGxpc3QgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKKwlpbnQgcmVzdWx0OwogCiAJZm9yX2VhY2hfcmVmKGFkZF9yZWZfdG9fbGlzdCwgJmxpc3QpOwotCXdyaXRlX2NvbW1pdF9ncmFwaChvYmpfZGlyLCBOVUxMLCAmbGlzdCwgYXBwZW5kLCByZXBvcnRfcHJvZ3Jlc3MpOworCXJlc3VsdCA9IHdyaXRlX2NvbW1pdF9ncmFwaChvZGIsIE5VTEwsICZsaXN0LAorCQkJCSAgICBmbGFncywgc3BsaXRfb3B0cyk7CiAKIAlzdHJpbmdfbGlzdF9jbGVhcigmbGlzdCwgMCk7CisJcmV0dXJuIHJlc3VsdDsKIH0KIAotdm9pZCB3cml0ZV9jb21taXRfZ3JhcGgoY29uc3QgY2hhciAqb2JqX2RpciwKLQkJCXN0cnVjdCBzdHJpbmdfbGlzdCAqcGFja19pbmRleGVzLAotCQkJc3RydWN0IHN0cmluZ19saXN0ICpjb21taXRfaGV4LAotCQkJaW50IGFwcGVuZCwgaW50IHJlcG9ydF9wcm9ncmVzcykKK3N0YXRpYyBpbnQgZmlsbF9vaWRzX2Zyb21fcGFja3Moc3RydWN0IHdyaXRlX2NvbW1pdF9ncmFwaF9jb250ZXh0ICpjdHgsCisJCQkJc3RydWN0IHN0cmluZ19saXN0ICpwYWNrX2luZGV4ZXMpCiB7Ci0Jc3RydWN0IHBhY2tlZF9vaWRfbGlzdCBvaWRzOwotCXN0cnVjdCBwYWNrZWRfY29tbWl0X2xpc3QgY29tbWl0czsKLQlzdHJ1Y3QgaGFzaGZpbGUgKmY7Ci0JdWludDMyX3QgaSwgY291bnRfZGlzdGluY3QgPSAwOwotCWNoYXIgKmdyYXBoX25hbWU7Ci0Jc3RydWN0IGxvY2tfZmlsZSBsayA9IExPQ0tfSU5JVDsKLQl1aW50MzJfdCBjaHVua19pZHNbNV07Ci0JdWludDY0X3QgY2h1bmtfb2Zmc2V0c1s1XTsKLQlpbnQgbnVtX2NodW5rczsKLQlpbnQgbnVtX2V4dHJhX2VkZ2VzOwotCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50OwotCXN0cnVjdCBwcm9ncmVzcyAqcHJvZ3Jlc3MgPSBOVUxMOworCXVpbnQzMl90IGk7CisJc3RydWN0IHN0cmJ1ZiBwcm9ncmVzc190aXRsZSA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBzdHJidWYgcGFja25hbWUgPSBTVFJCVUZfSU5JVDsKKwlpbnQgZGlybGVuOwogCi0JaWYgKCFjb21taXRfZ3JhcGhfY29tcGF0aWJsZSh0aGVfcmVwb3NpdG9yeSkpCi0JCXJldHVybjsKLQotCW9pZHMubnIgPSAwOwotCW9pZHMuYWxsb2MgPSBhcHByb3hpbWF0ZV9vYmplY3RfY291bnQoKSAvIDMyOwotCW9pZHMucHJvZ3Jlc3MgPSBOVUxMOwotCW9pZHMucHJvZ3Jlc3NfZG9uZSA9IDA7Ci0KLQlpZiAoYXBwZW5kKSB7Ci0JCXByZXBhcmVfY29tbWl0X2dyYXBoX29uZSh0aGVfcmVwb3NpdG9yeSwgb2JqX2Rpcik7Ci0JCWlmICh0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cy0+Y29tbWl0X2dyYXBoKQotCQkJb2lkcy5hbGxvYyArPSB0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cy0+Y29tbWl0X2dyYXBoLT5udW1fY29tbWl0czsKKwlzdHJidWZfYWRkZigmcGFja25hbWUsICIlcy9wYWNrLyIsIGN0eC0+b2RiLT5wYXRoKTsKKwlkaXJsZW4gPSBwYWNrbmFtZS5sZW47CisJaWYgKGN0eC0+cmVwb3J0X3Byb2dyZXNzKSB7CisJCXN0cmJ1Zl9hZGRmKCZwcm9ncmVzc190aXRsZSwKKwkJCSAgICBRXygiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGggaW4gJWQgcGFjayIsCisJCQkgICAgICAgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGluICVkIHBhY2tzIiwKKwkJCSAgICAgICBwYWNrX2luZGV4ZXMtPm5yKSwKKwkJCSAgICBwYWNrX2luZGV4ZXMtPm5yKTsKKwkJY3R4LT5wcm9ncmVzcyA9IHN0YXJ0X2RlbGF5ZWRfcHJvZ3Jlc3MocHJvZ3Jlc3NfdGl0bGUuYnVmLCAwKTsKKwkJY3R4LT5wcm9ncmVzc19kb25lID0gMDsKKwl9CisJZm9yIChpID0gMDsgaSA8IHBhY2tfaW5kZXhlcy0+bnI7IGkrKykgeworCQlzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKKwkJc3RyYnVmX3NldGxlbigmcGFja25hbWUsIGRpcmxlbik7CisJCXN0cmJ1Zl9hZGRzdHIoJnBhY2tuYW1lLCBwYWNrX2luZGV4ZXMtPml0ZW1zW2ldLnN0cmluZyk7CisJCXAgPSBhZGRfcGFja2VkX2dpdChwYWNrbmFtZS5idWYsIHBhY2tuYW1lLmxlbiwgMSk7CisJCWlmICghcCkgeworCQkJZXJyb3IoXygiZXJyb3IgYWRkaW5nIHBhY2sgJXMiKSwgcGFja25hbWUuYnVmKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCQlpZiAob3Blbl9wYWNrX2luZGV4KHApKSB7CisJCQllcnJvcihfKCJlcnJvciBvcGVuaW5nIGluZGV4IGZvciAlcyIpLCBwYWNrbmFtZS5idWYpOworCQkJcmV0dXJuIC0xOworCQl9CisJCWZvcl9lYWNoX29iamVjdF9pbl9wYWNrKHAsIGFkZF9wYWNrZWRfY29tbWl0cywgY3R4LAorCQkJCQlGT1JfRUFDSF9PQkpFQ1RfUEFDS19PUkRFUik7CisJCWNsb3NlX3BhY2socCk7CisJCWZyZWUocCk7CiAJfQogCi0JaWYgKG9pZHMuYWxsb2MgPCAxMDI0KQotCQlvaWRzLmFsbG9jID0gMTAyNDsKLQlBTExPQ19BUlJBWShvaWRzLmxpc3QsIG9pZHMuYWxsb2MpOworCXN0b3BfcHJvZ3Jlc3MoJmN0eC0+cHJvZ3Jlc3MpOworCXN0cmJ1Zl9yZWxlYXNlKCZwcm9ncmVzc190aXRsZSk7CisJc3RyYnVmX3JlbGVhc2UoJnBhY2tuYW1lKTsKIAotCWlmIChhcHBlbmQgJiYgdGhlX3JlcG9zaXRvcnktPm9iamVjdHMtPmNvbW1pdF9ncmFwaCkgewotCQlzdHJ1Y3QgY29tbWl0X2dyYXBoICpjb21taXRfZ3JhcGggPQotCQkJdGhlX3JlcG9zaXRvcnktPm9iamVjdHMtPmNvbW1pdF9ncmFwaDsKLQkJZm9yIChpID0gMDsgaSA8IGNvbW1pdF9ncmFwaC0+bnVtX2NvbW1pdHM7IGkrKykgewotCQkJY29uc3QgdW5zaWduZWQgY2hhciAqaGFzaCA9IGNvbW1pdF9ncmFwaC0+Y2h1bmtfb2lkX2xvb2t1cCArCi0JCQkJY29tbWl0X2dyYXBoLT5oYXNoX2xlbiAqIGk7Ci0JCQloYXNoY3B5KG9pZHMubGlzdFtvaWRzLm5yKytdLmhhc2gsIGhhc2gpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGZpbGxfb2lkc19mcm9tX2NvbW1pdF9oZXgoc3RydWN0IHdyaXRlX2NvbW1pdF9ncmFwaF9jb250ZXh0ICpjdHgsCisJCQkJICAgICBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmNvbW1pdF9oZXgpCit7CisJdWludDMyX3QgaTsKKwlzdHJ1Y3Qgc3RyYnVmIHByb2dyZXNzX3RpdGxlID0gU1RSQlVGX0lOSVQ7CisKKwlpZiAoY3R4LT5yZXBvcnRfcHJvZ3Jlc3MpIHsKKwkJc3RyYnVmX2FkZGYoJnByb2dyZXNzX3RpdGxlLAorCQkJICAgIFFfKCJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBmcm9tICVkIHJlZiIsCisJCQkgICAgICAgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGZyb20gJWQgcmVmcyIsCisJCQkgICAgICAgY29tbWl0X2hleC0+bnIpLAorCQkJICAgIGNvbW1pdF9oZXgtPm5yKTsKKwkJY3R4LT5wcm9ncmVzcyA9IHN0YXJ0X2RlbGF5ZWRfcHJvZ3Jlc3MoCisJCQkJCXByb2dyZXNzX3RpdGxlLmJ1ZiwKKwkJCQkJY29tbWl0X2hleC0+bnIpOworCX0KKwlmb3IgKGkgPSAwOyBpIDwgY29tbWl0X2hleC0+bnI7IGkrKykgeworCQljb25zdCBjaGFyICplbmQ7CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCQlzdHJ1Y3QgY29tbWl0ICpyZXN1bHQ7CisKKwkJZGlzcGxheV9wcm9ncmVzcyhjdHgtPnByb2dyZXNzLCBpICsgMSk7CisJCWlmICghcGFyc2Vfb2lkX2hleChjb21taXRfaGV4LT5pdGVtc1tpXS5zdHJpbmcsICZvaWQsICZlbmQpICYmCisJCSAgICAocmVzdWx0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KGN0eC0+ciwgJm9pZCwgMSkpKSB7CisJCQlBTExPQ19HUk9XKGN0eC0+b2lkcy5saXN0LCBjdHgtPm9pZHMubnIgKyAxLCBjdHgtPm9pZHMuYWxsb2MpOworCQkJb2lkY3B5KCZjdHgtPm9pZHMubGlzdFtjdHgtPm9pZHMubnJdLCAmKHJlc3VsdC0+b2JqZWN0Lm9pZCkpOworCQkJY3R4LT5vaWRzLm5yKys7CisJCX0gZWxzZSBpZiAoY3R4LT5jaGVja19vaWRzKSB7CisJCQllcnJvcihfKCJpbnZhbGlkIGNvbW1pdCBvYmplY3QgaWQ6ICVzIiksCisJCQkgICAgY29tbWl0X2hleC0+aXRlbXNbaV0uc3RyaW5nKTsKKwkJCXJldHVybiAtMTsKIAkJfQogCX0KKwlzdG9wX3Byb2dyZXNzKCZjdHgtPnByb2dyZXNzKTsKKwlzdHJidWZfcmVsZWFzZSgmcHJvZ3Jlc3NfdGl0bGUpOwogCi0JaWYgKHBhY2tfaW5kZXhlcykgewotCQlzdHJ1Y3Qgc3RyYnVmIHBhY2tuYW1lID0gU1RSQlVGX0lOSVQ7Ci0JCWludCBkaXJsZW47Ci0JCXN0cmJ1Zl9hZGRmKCZwYWNrbmFtZSwgIiVzL3BhY2svIiwgb2JqX2Rpcik7Ci0JCWRpcmxlbiA9IHBhY2tuYW1lLmxlbjsKLQkJaWYgKHJlcG9ydF9wcm9ncmVzcykgewotCQkJb2lkcy5wcm9ncmVzcyA9IHN0YXJ0X2RlbGF5ZWRfcHJvZ3Jlc3MoCi0JCQkJXygiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGgiKSwgMCk7Ci0JCQlvaWRzLnByb2dyZXNzX2RvbmUgPSAwOwotCQl9Ci0JCWZvciAoaSA9IDA7IGkgPCBwYWNrX2luZGV4ZXMtPm5yOyBpKyspIHsKLQkJCXN0cnVjdCBwYWNrZWRfZ2l0ICpwOwotCQkJc3RyYnVmX3NldGxlbigmcGFja25hbWUsIGRpcmxlbik7Ci0JCQlzdHJidWZfYWRkc3RyKCZwYWNrbmFtZSwgcGFja19pbmRleGVzLT5pdGVtc1tpXS5zdHJpbmcpOwotCQkJcCA9IGFkZF9wYWNrZWRfZ2l0KHBhY2tuYW1lLmJ1ZiwgcGFja25hbWUubGVuLCAxKTsKLQkJCWlmICghcCkKLQkJCQlkaWUoXygiZXJyb3IgYWRkaW5nIHBhY2sgJXMiKSwgcGFja25hbWUuYnVmKTsKLQkJCWlmIChvcGVuX3BhY2tfaW5kZXgocCkpCi0JCQkJZGllKF8oImVycm9yIG9wZW5pbmcgaW5kZXggZm9yICVzIiksIHBhY2tuYW1lLmJ1Zik7Ci0JCQlmb3JfZWFjaF9vYmplY3RfaW5fcGFjayhwLCBhZGRfcGFja2VkX2NvbW1pdHMsICZvaWRzLCAwKTsKLQkJCWNsb3NlX3BhY2socCk7Ci0JCQlmcmVlKHApOwotCQl9Ci0JCXN0b3BfcHJvZ3Jlc3MoJm9pZHMucHJvZ3Jlc3MpOwotCQlzdHJidWZfcmVsZWFzZSgmcGFja25hbWUpOwotCX0KKwlyZXR1cm4gMDsKK30KIAotCWlmIChjb21taXRfaGV4KSB7Ci0JCWlmIChyZXBvcnRfcHJvZ3Jlc3MpCi0JCQlwcm9ncmVzcyA9IHN0YXJ0X2RlbGF5ZWRfcHJvZ3Jlc3MoCi0JCQkJXygiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGgiKSwKLQkJCQljb21taXRfaGV4LT5ucik7Ci0JCWZvciAoaSA9IDA7IGkgPCBjb21taXRfaGV4LT5ucjsgaSsrKSB7Ci0JCQljb25zdCBjaGFyICplbmQ7Ci0JCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKLQkJCXN0cnVjdCBjb21taXQgKnJlc3VsdDsKK3N0YXRpYyB2b2lkIGZpbGxfb2lkc19mcm9tX2FsbF9wYWNrcyhzdHJ1Y3Qgd3JpdGVfY29tbWl0X2dyYXBoX2NvbnRleHQgKmN0eCkKK3sKKwlpZiAoY3R4LT5yZXBvcnRfcHJvZ3Jlc3MpCisJCWN0eC0+cHJvZ3Jlc3MgPSBzdGFydF9kZWxheWVkX3Byb2dyZXNzKAorCQkJXygiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGggYW1vbmcgcGFja2VkIG9iamVjdHMiKSwKKwkJCWN0eC0+YXBwcm94X25yX29iamVjdHMpOworCWZvcl9lYWNoX3BhY2tlZF9vYmplY3QoYWRkX3BhY2tlZF9jb21taXRzLCBjdHgsCisJCQkgICAgICAgRk9SX0VBQ0hfT0JKRUNUX1BBQ0tfT1JERVIpOworCWlmIChjdHgtPnByb2dyZXNzX2RvbmUgPCBjdHgtPmFwcHJveF9ucl9vYmplY3RzKQorCQlkaXNwbGF5X3Byb2dyZXNzKGN0eC0+cHJvZ3Jlc3MsIGN0eC0+YXBwcm94X25yX29iamVjdHMpOworCXN0b3BfcHJvZ3Jlc3MoJmN0eC0+cHJvZ3Jlc3MpOworfQogCi0JCQlkaXNwbGF5X3Byb2dyZXNzKHByb2dyZXNzLCBpICsgMSk7Ci0JCQlpZiAoY29tbWl0X2hleC0+aXRlbXNbaV0uc3RyaW5nICYmCi0JCQkgICAgcGFyc2Vfb2lkX2hleChjb21taXRfaGV4LT5pdGVtc1tpXS5zdHJpbmcsICZvaWQsICZlbmQpKQotCQkJCWNvbnRpbnVlOworc3RhdGljIHVpbnQzMl90IGNvdW50X2Rpc3RpbmN0X2NvbW1pdHMoc3RydWN0IHdyaXRlX2NvbW1pdF9ncmFwaF9jb250ZXh0ICpjdHgpCit7CisJdWludDMyX3QgaSwgY291bnRfZGlzdGluY3QgPSAxOwogCi0JCQlyZXN1bHQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZV9nZW50bHkodGhlX3JlcG9zaXRvcnksICZvaWQsIDEpOworCWlmIChjdHgtPnJlcG9ydF9wcm9ncmVzcykKKwkJY3R4LT5wcm9ncmVzcyA9IHN0YXJ0X2RlbGF5ZWRfcHJvZ3Jlc3MoCisJCQlfKCJDb3VudGluZyBkaXN0aW5jdCBjb21taXRzIGluIGNvbW1pdCBncmFwaCIpLAorCQkJY3R4LT5vaWRzLm5yKTsKKwlkaXNwbGF5X3Byb2dyZXNzKGN0eC0+cHJvZ3Jlc3MsIDApOyAvKiBUT0RPOiBNZWFzdXJlIFFTT1JUKCkgcHJvZ3Jlc3MgKi8KKwlRU09SVChjdHgtPm9pZHMubGlzdCwgY3R4LT5vaWRzLm5yLCBvaWRfY29tcGFyZSk7CiAKLQkJCWlmIChyZXN1bHQpIHsKLQkJCQlBTExPQ19HUk9XKG9pZHMubGlzdCwgb2lkcy5uciArIDEsIG9pZHMuYWxsb2MpOwotCQkJCW9pZGNweSgmb2lkcy5saXN0W29pZHMubnJdLCAmKHJlc3VsdC0+b2JqZWN0Lm9pZCkpOwotCQkJCW9pZHMubnIrKzsKKwlmb3IgKGkgPSAxOyBpIDwgY3R4LT5vaWRzLm5yOyBpKyspIHsKKwkJZGlzcGxheV9wcm9ncmVzcyhjdHgtPnByb2dyZXNzLCBpICsgMSk7CisJCWlmICghb2lkZXEoJmN0eC0+b2lkcy5saXN0W2kgLSAxXSwgJmN0eC0+b2lkcy5saXN0W2ldKSkgeworCQkJaWYgKGN0eC0+c3BsaXQpIHsKKwkJCQlzdHJ1Y3QgY29tbWl0ICpjID0gbG9va3VwX2NvbW1pdChjdHgtPnIsICZjdHgtPm9pZHMubGlzdFtpXSk7CisKKwkJCQlpZiAoIWMgfHwgYy0+Z3JhcGhfcG9zICE9IENPTU1JVF9OT1RfRlJPTV9HUkFQSCkKKwkJCQkJY29udGludWU7CiAJCQl9Ci0JCX0KLQkJc3RvcF9wcm9ncmVzcygmcHJvZ3Jlc3MpOwotCX0KIAotCWlmICghcGFja19pbmRleGVzICYmICFjb21taXRfaGV4KSB7Ci0JCWlmIChyZXBvcnRfcHJvZ3Jlc3MpCi0JCQlvaWRzLnByb2dyZXNzID0gc3RhcnRfZGVsYXllZF9wcm9ncmVzcygKLQkJCQlfKCJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCIpLCAwKTsKLQkJZm9yX2VhY2hfcGFja2VkX29iamVjdChhZGRfcGFja2VkX2NvbW1pdHMsICZvaWRzLCAwKTsKLQkJc3RvcF9wcm9ncmVzcygmb2lkcy5wcm9ncmVzcyk7Ci0JfQotCi0JY2xvc2VfcmVhY2hhYmxlKCZvaWRzLCByZXBvcnRfcHJvZ3Jlc3MpOwotCi0JUVNPUlQob2lkcy5saXN0LCBvaWRzLm5yLCBjb21taXRfY29tcGFyZSk7Ci0KLQljb3VudF9kaXN0aW5jdCA9IDE7Ci0JZm9yIChpID0gMTsgaSA8IG9pZHMubnI7IGkrKykgewotCQlpZiAoIW9pZGVxKCZvaWRzLmxpc3RbaSAtIDFdLCAmb2lkcy5saXN0W2ldKSkKIAkJCWNvdW50X2Rpc3RpbmN0Kys7CisJCX0KIAl9CisJc3RvcF9wcm9ncmVzcygmY3R4LT5wcm9ncmVzcyk7CiAKLQlpZiAoY291bnRfZGlzdGluY3QgPj0gR1JBUEhfUEFSRU5UX01JU1NJTkcpCi0JCWRpZShfKCJ0aGUgY29tbWl0IGdyYXBoIGZvcm1hdCBjYW5ub3Qgd3JpdGUgJWQgY29tbWl0cyIpLCBjb3VudF9kaXN0aW5jdCk7CisJcmV0dXJuIGNvdW50X2Rpc3RpbmN0OworfQogCi0JY29tbWl0cy5uciA9IDA7Ci0JY29tbWl0cy5hbGxvYyA9IGNvdW50X2Rpc3RpbmN0OwotCUFMTE9DX0FSUkFZKGNvbW1pdHMubGlzdCwgY29tbWl0cy5hbGxvYyk7CitzdGF0aWMgdm9pZCBjb3B5X29pZHNfdG9fY29tbWl0cyhzdHJ1Y3Qgd3JpdGVfY29tbWl0X2dyYXBoX2NvbnRleHQgKmN0eCkKK3sKKwl1aW50MzJfdCBpOwogCi0JbnVtX2V4dHJhX2VkZ2VzID0gMDsKLQlmb3IgKGkgPSAwOyBpIDwgb2lkcy5ucjsgaSsrKSB7Ci0JCWludCBudW1fcGFyZW50cyA9IDA7Ci0JCWlmIChpID4gMCAmJiBvaWRlcSgmb2lkcy5saXN0W2kgLSAxXSwgJm9pZHMubGlzdFtpXSkpCisJY3R4LT5udW1fZXh0cmFfZWRnZXMgPSAwOworCWlmIChjdHgtPnJlcG9ydF9wcm9ncmVzcykKKwkJY3R4LT5wcm9ncmVzcyA9IHN0YXJ0X2RlbGF5ZWRfcHJvZ3Jlc3MoCisJCQlfKCJGaW5kaW5nIGV4dHJhIGVkZ2VzIGluIGNvbW1pdCBncmFwaCIpLAorCQkJY3R4LT5vaWRzLm5yKTsKKwlmb3IgKGkgPSAwOyBpIDwgY3R4LT5vaWRzLm5yOyBpKyspIHsKKwkJdW5zaWduZWQgaW50IG51bV9wYXJlbnRzOworCisJCWRpc3BsYXlfcHJvZ3Jlc3MoY3R4LT5wcm9ncmVzcywgaSArIDEpOworCQlpZiAoaSA+IDAgJiYgb2lkZXEoJmN0eC0+b2lkcy5saXN0W2kgLSAxXSwgJmN0eC0+b2lkcy5saXN0W2ldKSkKIAkJCWNvbnRpbnVlOwogCi0JCWNvbW1pdHMubGlzdFtjb21taXRzLm5yXSA9IGxvb2t1cF9jb21taXQodGhlX3JlcG9zaXRvcnksICZvaWRzLmxpc3RbaV0pOwotCQlwYXJzZV9jb21taXQoY29tbWl0cy5saXN0W2NvbW1pdHMubnJdKTsKKwkJQUxMT0NfR1JPVyhjdHgtPmNvbW1pdHMubGlzdCwgY3R4LT5jb21taXRzLm5yICsgMSwgY3R4LT5jb21taXRzLmFsbG9jKTsKKwkJY3R4LT5jb21taXRzLmxpc3RbY3R4LT5jb21taXRzLm5yXSA9IGxvb2t1cF9jb21taXQoY3R4LT5yLCAmY3R4LT5vaWRzLmxpc3RbaV0pOwogCi0JCWZvciAocGFyZW50ID0gY29tbWl0cy5saXN0W2NvbW1pdHMubnJdLT5wYXJlbnRzOwotCQkgICAgIHBhcmVudDsgcGFyZW50ID0gcGFyZW50LT5uZXh0KQotCQkJbnVtX3BhcmVudHMrKzsKKwkJaWYgKGN0eC0+c3BsaXQgJiYKKwkJICAgIGN0eC0+Y29tbWl0cy5saXN0W2N0eC0+Y29tbWl0cy5ucl0tPmdyYXBoX3BvcyAhPSBDT01NSVRfTk9UX0ZST01fR1JBUEgpCisJCQljb250aW51ZTsKIAorCQlwYXJzZV9jb21taXRfbm9fZ3JhcGgoY3R4LT5jb21taXRzLmxpc3RbY3R4LT5jb21taXRzLm5yXSk7CisKKwkJbnVtX3BhcmVudHMgPSBjb21taXRfbGlzdF9jb3VudChjdHgtPmNvbW1pdHMubGlzdFtjdHgtPmNvbW1pdHMubnJdLT5wYXJlbnRzKTsKIAkJaWYgKG51bV9wYXJlbnRzID4gMikKLQkJCW51bV9leHRyYV9lZGdlcyArPSBudW1fcGFyZW50cyAtIDE7CisJCQljdHgtPm51bV9leHRyYV9lZGdlcyArPSBudW1fcGFyZW50cyAtIDE7CiAKLQkJY29tbWl0cy5ucisrOworCQljdHgtPmNvbW1pdHMubnIrKzsKIAl9Ci0JbnVtX2NodW5rcyA9IG51bV9leHRyYV9lZGdlcyA/IDQgOiAzOworCXN0b3BfcHJvZ3Jlc3MoJmN0eC0+cHJvZ3Jlc3MpOworfQogCi0JaWYgKGNvbW1pdHMubnIgPj0gR1JBUEhfUEFSRU5UX01JU1NJTkcpCi0JCWRpZShfKCJ0b28gbWFueSBjb21taXRzIHRvIHdyaXRlIGdyYXBoIikpOworc3RhdGljIGludCB3cml0ZV9ncmFwaF9jaHVua19iYXNlXzEoc3RydWN0IGhhc2hmaWxlICpmLAorCQkJCSAgICBzdHJ1Y3QgY29tbWl0X2dyYXBoICpnKQoreworCWludCBudW0gPSAwOwogCi0JY29tcHV0ZV9nZW5lcmF0aW9uX251bWJlcnMoJmNvbW1pdHMsIHJlcG9ydF9wcm9ncmVzcyk7CisJaWYgKCFnKQorCQlyZXR1cm4gMDsKIAotCWdyYXBoX25hbWUgPSBnZXRfY29tbWl0X2dyYXBoX2ZpbGVuYW1lKG9ial9kaXIpOwotCWlmIChzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzKGdyYXBoX25hbWUpKSB7Ci0JCVVOTEVBSyhncmFwaF9uYW1lKTsKLQkJZGllX2Vycm5vKF8oInVuYWJsZSB0byBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAlcyIpLAotCQkJICBncmFwaF9uYW1lKTsKKwludW0gPSB3cml0ZV9ncmFwaF9jaHVua19iYXNlXzEoZiwgZy0+YmFzZV9ncmFwaCk7CisJaGFzaHdyaXRlKGYsIGctPm9pZC5oYXNoLCB0aGVfaGFzaF9hbGdvLT5yYXdzeik7CisJcmV0dXJuIG51bSArIDE7Cit9CisKK3N0YXRpYyBpbnQgd3JpdGVfZ3JhcGhfY2h1bmtfYmFzZShzdHJ1Y3QgaGFzaGZpbGUgKmYsCisJCQkJICBzdHJ1Y3Qgd3JpdGVfY29tbWl0X2dyYXBoX2NvbnRleHQgKmN0eCkKK3sKKwlpbnQgbnVtID0gd3JpdGVfZ3JhcGhfY2h1bmtfYmFzZV8xKGYsIGN0eC0+bmV3X2Jhc2VfZ3JhcGgpOworCisJaWYgKG51bSAhPSBjdHgtPm51bV9jb21taXRfZ3JhcGhzX2FmdGVyIC0gMSkgeworCQllcnJvcihfKCJmYWlsZWQgdG8gd3JpdGUgY29ycmVjdCBudW1iZXIgb2YgYmFzZSBncmFwaCBpZHMiKSk7CisJCXJldHVybiAtMTsKIAl9CiAKLQlob2xkX2xvY2tfZmlsZV9mb3JfdXBkYXRlKCZsaywgZ3JhcGhfbmFtZSwgTE9DS19ESUVfT05fRVJST1IpOwotCWYgPSBoYXNoZmQobGsudGVtcGZpbGUtPmZkLCBsay50ZW1wZmlsZS0+ZmlsZW5hbWUuYnVmKTsKKwlyZXR1cm4gMDsKK30KIAotCWhhc2h3cml0ZV9iZTMyKGYsIEdSQVBIX1NJR05BVFVSRSk7CitzdGF0aWMgaW50IHdyaXRlX2NvbW1pdF9ncmFwaF9maWxlKHN0cnVjdCB3cml0ZV9jb21taXRfZ3JhcGhfY29udGV4dCAqY3R4KQoreworCXVpbnQzMl90IGk7CisJaW50IGZkOworCXN0cnVjdCBoYXNoZmlsZSAqZjsKKwlzdHJ1Y3QgbG9ja19maWxlIGxrID0gTE9DS19JTklUOworCXVpbnQzMl90IGNodW5rX2lkc1s2XTsKKwl1aW50NjRfdCBjaHVua19vZmZzZXRzWzZdOworCWNvbnN0IHVuc2lnbmVkIGhhc2hzeiA9IHRoZV9oYXNoX2FsZ28tPnJhd3N6OworCXN0cnVjdCBzdHJidWYgcHJvZ3Jlc3NfdGl0bGUgPSBTVFJCVUZfSU5JVDsKKwlpbnQgbnVtX2NodW5rcyA9IDM7CisJc3RydWN0IG9iamVjdF9pZCBmaWxlX2hhc2g7CiAKLQloYXNod3JpdGVfdTgoZiwgR1JBUEhfVkVSU0lPTik7Ci0JaGFzaHdyaXRlX3U4KGYsIEdSQVBIX09JRF9WRVJTSU9OKTsKLQloYXNod3JpdGVfdTgoZiwgbnVtX2NodW5rcyk7Ci0JaGFzaHdyaXRlX3U4KGYsIDApOyAvKiB1bnVzZWQgcGFkZGluZyBieXRlICovCisJaWYgKGN0eC0+c3BsaXQpIHsKKwkJc3RydWN0IHN0cmJ1ZiB0bXBfZmlsZSA9IFNUUkJVRl9JTklUOworCisJCXN0cmJ1Zl9hZGRmKCZ0bXBfZmlsZSwKKwkJCSAgICAiJXMvaW5mby9jb21taXQtZ3JhcGhzL3RtcF9ncmFwaF9YWFhYWFgiLAorCQkJICAgIGN0eC0+b2RiLT5wYXRoKTsKKwkJY3R4LT5ncmFwaF9uYW1lID0gc3RyYnVmX2RldGFjaCgmdG1wX2ZpbGUsIE5VTEwpOworCX0gZWxzZSB7CisJCWN0eC0+Z3JhcGhfbmFtZSA9IGdldF9jb21taXRfZ3JhcGhfZmlsZW5hbWUoY3R4LT5vZGIpOworCX0KKworCWlmIChzYWZlX2NyZWF0ZV9sZWFkaW5nX2RpcmVjdG9yaWVzKGN0eC0+Z3JhcGhfbmFtZSkpIHsKKwkJVU5MRUFLKGN0eC0+Z3JhcGhfbmFtZSk7CisJCWVycm9yKF8oInVuYWJsZSB0byBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAlcyIpLAorCQkJY3R4LT5ncmFwaF9uYW1lKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmIChjdHgtPnNwbGl0KSB7CisJCWNoYXIgKmxvY2tfbmFtZSA9IGdldF9jaGFpbl9maWxlbmFtZShjdHgtPm9kYik7CisKKwkJaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZSgmbGssIGxvY2tfbmFtZSwgTE9DS19ESUVfT05fRVJST1IpOworCisJCWZkID0gZ2l0X21rc3RlbXBfbW9kZShjdHgtPmdyYXBoX25hbWUsIDA0NDQpOworCQlpZiAoZmQgPCAwKSB7CisJCQllcnJvcihfKCJ1bmFibGUgdG8gY3JlYXRlICclcyciKSwgY3R4LT5ncmFwaF9uYW1lKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCisJCWYgPSBoYXNoZmQoZmQsIGN0eC0+Z3JhcGhfbmFtZSk7CisJfSBlbHNlIHsKKwkJaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZSgmbGssIGN0eC0+Z3JhcGhfbmFtZSwgTE9DS19ESUVfT05fRVJST1IpOworCQlmZCA9IGxrLnRlbXBmaWxlLT5mZDsKKwkJZiA9IGhhc2hmZChsay50ZW1wZmlsZS0+ZmQsIGxrLnRlbXBmaWxlLT5maWxlbmFtZS5idWYpOworCX0KIAogCWNodW5rX2lkc1swXSA9IEdSQVBIX0NIVU5LSURfT0lERkFOT1VUOwogCWNodW5rX2lkc1sxXSA9IEdSQVBIX0NIVU5LSURfT0lETE9PS1VQOwogCWNodW5rX2lkc1syXSA9IEdSQVBIX0NIVU5LSURfREFUQTsKLQlpZiAobnVtX2V4dHJhX2VkZ2VzKQotCQljaHVua19pZHNbM10gPSBHUkFQSF9DSFVOS0lEX0xBUkdFRURHRVM7Ci0JZWxzZQotCQljaHVua19pZHNbM10gPSAwOwotCWNodW5rX2lkc1s0XSA9IDA7CisJaWYgKGN0eC0+bnVtX2V4dHJhX2VkZ2VzKSB7CisJCWNodW5rX2lkc1tudW1fY2h1bmtzXSA9IEdSQVBIX0NIVU5LSURfRVhUUkFFREdFUzsKKwkJbnVtX2NodW5rcysrOworCX0KKwlpZiAoY3R4LT5udW1fY29tbWl0X2dyYXBoc19hZnRlciA+IDEpIHsKKwkJY2h1bmtfaWRzW251bV9jaHVua3NdID0gR1JBUEhfQ0hVTktJRF9CQVNFOworCQludW1fY2h1bmtzKys7CisJfQorCisJY2h1bmtfaWRzW251bV9jaHVua3NdID0gMDsKIAogCWNodW5rX29mZnNldHNbMF0gPSA4ICsgKG51bV9jaHVua3MgKyAxKSAqIEdSQVBIX0NIVU5LTE9PS1VQX1dJRFRIOwogCWNodW5rX29mZnNldHNbMV0gPSBjaHVua19vZmZzZXRzWzBdICsgR1JBUEhfRkFOT1VUX1NJWkU7Ci0JY2h1bmtfb2Zmc2V0c1syXSA9IGNodW5rX29mZnNldHNbMV0gKyBHUkFQSF9PSURfTEVOICogY29tbWl0cy5ucjsKLQljaHVua19vZmZzZXRzWzNdID0gY2h1bmtfb2Zmc2V0c1syXSArIChHUkFQSF9PSURfTEVOICsgMTYpICogY29tbWl0cy5ucjsKLQljaHVua19vZmZzZXRzWzRdID0gY2h1bmtfb2Zmc2V0c1szXSArIDQgKiBudW1fZXh0cmFfZWRnZXM7CisJY2h1bmtfb2Zmc2V0c1syXSA9IGNodW5rX29mZnNldHNbMV0gKyBoYXNoc3ogKiBjdHgtPmNvbW1pdHMubnI7CisJY2h1bmtfb2Zmc2V0c1szXSA9IGNodW5rX29mZnNldHNbMl0gKyAoaGFzaHN6ICsgMTYpICogY3R4LT5jb21taXRzLm5yOworCisJbnVtX2NodW5rcyA9IDM7CisJaWYgKGN0eC0+bnVtX2V4dHJhX2VkZ2VzKSB7CisJCWNodW5rX29mZnNldHNbbnVtX2NodW5rcyArIDFdID0gY2h1bmtfb2Zmc2V0c1tudW1fY2h1bmtzXSArCisJCQkJCQk0ICogY3R4LT5udW1fZXh0cmFfZWRnZXM7CisJCW51bV9jaHVua3MrKzsKKwl9CisJaWYgKGN0eC0+bnVtX2NvbW1pdF9ncmFwaHNfYWZ0ZXIgPiAxKSB7CisJCWNodW5rX29mZnNldHNbbnVtX2NodW5rcyArIDFdID0gY2h1bmtfb2Zmc2V0c1tudW1fY2h1bmtzXSArCisJCQkJCQloYXNoc3ogKiAoY3R4LT5udW1fY29tbWl0X2dyYXBoc19hZnRlciAtIDEpOworCQludW1fY2h1bmtzKys7CisJfQorCisJaGFzaHdyaXRlX2JlMzIoZiwgR1JBUEhfU0lHTkFUVVJFKTsKKworCWhhc2h3cml0ZV91OChmLCBHUkFQSF9WRVJTSU9OKTsKKwloYXNod3JpdGVfdTgoZiwgb2lkX3ZlcnNpb24oKSk7CisJaGFzaHdyaXRlX3U4KGYsIG51bV9jaHVua3MpOworCWhhc2h3cml0ZV91OChmLCBjdHgtPm51bV9jb21taXRfZ3JhcGhzX2FmdGVyIC0gMSk7CiAKIAlmb3IgKGkgPSAwOyBpIDw9IG51bV9jaHVua3M7IGkrKykgewogCQl1aW50MzJfdCBjaHVua193cml0ZVszXTsKQEAgLTkzNywxOCArMTQ0MCw0NjQgQEAKIAkJaGFzaHdyaXRlKGYsIGNodW5rX3dyaXRlLCAxMik7CiAJfQogCi0Jd3JpdGVfZ3JhcGhfY2h1bmtfZmFub3V0KGYsIGNvbW1pdHMubGlzdCwgY29tbWl0cy5ucik7Ci0Jd3JpdGVfZ3JhcGhfY2h1bmtfb2lkcyhmLCBHUkFQSF9PSURfTEVOLCBjb21taXRzLmxpc3QsIGNvbW1pdHMubnIpOwotCXdyaXRlX2dyYXBoX2NodW5rX2RhdGEoZiwgR1JBUEhfT0lEX0xFTiwgY29tbWl0cy5saXN0LCBjb21taXRzLm5yKTsKLQl3cml0ZV9ncmFwaF9jaHVua19sYXJnZV9lZGdlcyhmLCBjb21taXRzLmxpc3QsIGNvbW1pdHMubnIpOworCWlmIChjdHgtPnJlcG9ydF9wcm9ncmVzcykgeworCQlzdHJidWZfYWRkZigmcHJvZ3Jlc3NfdGl0bGUsCisJCQkgICAgUV8oIldyaXRpbmcgb3V0IGNvbW1pdCBncmFwaCBpbiAlZCBwYXNzIiwKKwkJCSAgICAgICAiV3JpdGluZyBvdXQgY29tbWl0IGdyYXBoIGluICVkIHBhc3NlcyIsCisJCQkgICAgICAgbnVtX2NodW5rcyksCisJCQkgICAgbnVtX2NodW5rcyk7CisJCWN0eC0+cHJvZ3Jlc3MgPSBzdGFydF9kZWxheWVkX3Byb2dyZXNzKAorCQkJcHJvZ3Jlc3NfdGl0bGUuYnVmLAorCQkJbnVtX2NodW5rcyAqIGN0eC0+Y29tbWl0cy5ucik7CisJfQorCXdyaXRlX2dyYXBoX2NodW5rX2Zhbm91dChmLCBjdHgpOworCXdyaXRlX2dyYXBoX2NodW5rX29pZHMoZiwgaGFzaHN6LCBjdHgpOworCXdyaXRlX2dyYXBoX2NodW5rX2RhdGEoZiwgaGFzaHN6LCBjdHgpOworCWlmIChjdHgtPm51bV9leHRyYV9lZGdlcykKKwkJd3JpdGVfZ3JhcGhfY2h1bmtfZXh0cmFfZWRnZXMoZiwgY3R4KTsKKwlpZiAoY3R4LT5udW1fY29tbWl0X2dyYXBoc19hZnRlciA+IDEgJiYKKwkgICAgd3JpdGVfZ3JhcGhfY2h1bmtfYmFzZShmLCBjdHgpKSB7CisJCXJldHVybiAtMTsKKwl9CisJc3RvcF9wcm9ncmVzcygmY3R4LT5wcm9ncmVzcyk7CisJc3RyYnVmX3JlbGVhc2UoJnByb2dyZXNzX3RpdGxlKTsKIAotCWNsb3NlX2NvbW1pdF9ncmFwaCh0aGVfcmVwb3NpdG9yeSk7Ci0JZmluYWxpemVfaGFzaGZpbGUoZiwgTlVMTCwgQ1NVTV9IQVNIX0lOX1NUUkVBTSB8IENTVU1fRlNZTkMpOworCWlmIChjdHgtPnNwbGl0ICYmIGN0eC0+YmFzZV9ncmFwaF9uYW1lICYmIGN0eC0+bnVtX2NvbW1pdF9ncmFwaHNfYWZ0ZXIgPiAxKSB7CisJCWNoYXIgKm5ld19iYXNlX2hhc2ggPSB4c3RyZHVwKG9pZF90b19oZXgoJmN0eC0+bmV3X2Jhc2VfZ3JhcGgtPm9pZCkpOworCQljaGFyICpuZXdfYmFzZV9uYW1lID0gZ2V0X3NwbGl0X2dyYXBoX2ZpbGVuYW1lKGN0eC0+bmV3X2Jhc2VfZ3JhcGgtPm9kYiwgbmV3X2Jhc2VfaGFzaCk7CisKKwkJZnJlZShjdHgtPmNvbW1pdF9ncmFwaF9maWxlbmFtZXNfYWZ0ZXJbY3R4LT5udW1fY29tbWl0X2dyYXBoc19hZnRlciAtIDJdKTsKKwkJZnJlZShjdHgtPmNvbW1pdF9ncmFwaF9oYXNoX2FmdGVyW2N0eC0+bnVtX2NvbW1pdF9ncmFwaHNfYWZ0ZXIgLSAyXSk7CisJCWN0eC0+Y29tbWl0X2dyYXBoX2ZpbGVuYW1lc19hZnRlcltjdHgtPm51bV9jb21taXRfZ3JhcGhzX2FmdGVyIC0gMl0gPSBuZXdfYmFzZV9uYW1lOworCQljdHgtPmNvbW1pdF9ncmFwaF9oYXNoX2FmdGVyW2N0eC0+bnVtX2NvbW1pdF9ncmFwaHNfYWZ0ZXIgLSAyXSA9IG5ld19iYXNlX2hhc2g7CisJfQorCisJY2xvc2VfY29tbWl0X2dyYXBoKGN0eC0+ci0+b2JqZWN0cyk7CisJZmluYWxpemVfaGFzaGZpbGUoZiwgZmlsZV9oYXNoLmhhc2gsIENTVU1fSEFTSF9JTl9TVFJFQU0gfCBDU1VNX0ZTWU5DKTsKKworCWlmIChjdHgtPnNwbGl0KSB7CisJCUZJTEUgKmNoYWluZiA9IGZkb3Blbl9sb2NrX2ZpbGUoJmxrLCAidyIpOworCQljaGFyICpmaW5hbF9ncmFwaF9uYW1lOworCQlpbnQgcmVzdWx0OworCisJCWNsb3NlKGZkKTsKKworCQlpZiAoIWNoYWluZikgeworCQkJZXJyb3IoXygidW5hYmxlIHRvIG9wZW4gY29tbWl0LWdyYXBoIGNoYWluIGZpbGUiKSk7CisJCQlyZXR1cm4gLTE7CisJCX0KKworCQlpZiAoY3R4LT5iYXNlX2dyYXBoX25hbWUpIHsKKwkJCWNvbnN0IGNoYXIgKmRlc3QgPSBjdHgtPmNvbW1pdF9ncmFwaF9maWxlbmFtZXNfYWZ0ZXJbCisJCQkJCQljdHgtPm51bV9jb21taXRfZ3JhcGhzX2FmdGVyIC0gMl07CisKKwkJCWlmIChzdHJjbXAoY3R4LT5iYXNlX2dyYXBoX25hbWUsIGRlc3QpKSB7CisJCQkJcmVzdWx0ID0gcmVuYW1lKGN0eC0+YmFzZV9ncmFwaF9uYW1lLCBkZXN0KTsKKworCQkJCWlmIChyZXN1bHQpIHsKKwkJCQkJZXJyb3IoXygiZmFpbGVkIHRvIHJlbmFtZSBiYXNlIGNvbW1pdC1ncmFwaCBmaWxlIikpOworCQkJCQlyZXR1cm4gLTE7CisJCQkJfQorCQkJfQorCQl9IGVsc2UgeworCQkJY2hhciAqZ3JhcGhfbmFtZSA9IGdldF9jb21taXRfZ3JhcGhfZmlsZW5hbWUoY3R4LT5vZGIpOworCQkJdW5saW5rKGdyYXBoX25hbWUpOworCQl9CisKKwkJY3R4LT5jb21taXRfZ3JhcGhfaGFzaF9hZnRlcltjdHgtPm51bV9jb21taXRfZ3JhcGhzX2FmdGVyIC0gMV0gPSB4c3RyZHVwKG9pZF90b19oZXgoJmZpbGVfaGFzaCkpOworCQlmaW5hbF9ncmFwaF9uYW1lID0gZ2V0X3NwbGl0X2dyYXBoX2ZpbGVuYW1lKGN0eC0+b2RiLAorCQkJCQljdHgtPmNvbW1pdF9ncmFwaF9oYXNoX2FmdGVyW2N0eC0+bnVtX2NvbW1pdF9ncmFwaHNfYWZ0ZXIgLSAxXSk7CisJCWN0eC0+Y29tbWl0X2dyYXBoX2ZpbGVuYW1lc19hZnRlcltjdHgtPm51bV9jb21taXRfZ3JhcGhzX2FmdGVyIC0gMV0gPSBmaW5hbF9ncmFwaF9uYW1lOworCisJCXJlc3VsdCA9IHJlbmFtZShjdHgtPmdyYXBoX25hbWUsIGZpbmFsX2dyYXBoX25hbWUpOworCisJCWZvciAoaSA9IDA7IGkgPCBjdHgtPm51bV9jb21taXRfZ3JhcGhzX2FmdGVyOyBpKyspCisJCQlmcHJpbnRmKGxrLnRlbXBmaWxlLT5mcCwgIiVzXG4iLCBjdHgtPmNvbW1pdF9ncmFwaF9oYXNoX2FmdGVyW2ldKTsKKworCQlpZiAocmVzdWx0KSB7CisJCQllcnJvcihfKCJmYWlsZWQgdG8gcmVuYW1lIHRlbXBvcmFyeSBjb21taXQtZ3JhcGggZmlsZSIpKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCX0KKwogCWNvbW1pdF9sb2NrX2ZpbGUoJmxrKTsKIAotCWZyZWUoZ3JhcGhfbmFtZSk7Ci0JZnJlZShjb21taXRzLmxpc3QpOwotCWZyZWUob2lkcy5saXN0KTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgc3BsaXRfZ3JhcGhfbWVyZ2Vfc3RyYXRlZ3koc3RydWN0IHdyaXRlX2NvbW1pdF9ncmFwaF9jb250ZXh0ICpjdHgpCit7CisJc3RydWN0IGNvbW1pdF9ncmFwaCAqZzsKKwl1aW50MzJfdCBudW1fY29tbWl0czsKKwl1aW50MzJfdCBpOworCisJaW50IG1heF9jb21taXRzID0gMDsKKwlpbnQgc2l6ZV9tdWx0ID0gMjsKKworCWlmIChjdHgtPnNwbGl0X29wdHMpIHsKKwkJbWF4X2NvbW1pdHMgPSBjdHgtPnNwbGl0X29wdHMtPm1heF9jb21taXRzOworCisJCWlmIChjdHgtPnNwbGl0X29wdHMtPnNpemVfbXVsdGlwbGUpCisJCQlzaXplX211bHQgPSBjdHgtPnNwbGl0X29wdHMtPnNpemVfbXVsdGlwbGU7CisJfQorCisJZyA9IGN0eC0+ci0+b2JqZWN0cy0+Y29tbWl0X2dyYXBoOworCW51bV9jb21taXRzID0gY3R4LT5jb21taXRzLm5yOworCWN0eC0+bnVtX2NvbW1pdF9ncmFwaHNfYWZ0ZXIgPSBjdHgtPm51bV9jb21taXRfZ3JhcGhzX2JlZm9yZSArIDE7CisKKwl3aGlsZSAoZyAmJiAoZy0+bnVtX2NvbW1pdHMgPD0gc2l6ZV9tdWx0ICogbnVtX2NvbW1pdHMgfHwKKwkJICAgIChtYXhfY29tbWl0cyAmJiBudW1fY29tbWl0cyA+IG1heF9jb21taXRzKSkpIHsKKwkJaWYgKGctPm9kYiAhPSBjdHgtPm9kYikKKwkJCWJyZWFrOworCisJCW51bV9jb21taXRzICs9IGctPm51bV9jb21taXRzOworCQlnID0gZy0+YmFzZV9ncmFwaDsKKworCQljdHgtPm51bV9jb21taXRfZ3JhcGhzX2FmdGVyLS07CisJfQorCisJY3R4LT5uZXdfYmFzZV9ncmFwaCA9IGc7CisKKwlpZiAoY3R4LT5udW1fY29tbWl0X2dyYXBoc19hZnRlciA9PSAyKSB7CisJCWNoYXIgKm9sZF9ncmFwaF9uYW1lID0gZ2V0X2NvbW1pdF9ncmFwaF9maWxlbmFtZShnLT5vZGIpOworCisJCWlmICghc3RyY21wKGctPmZpbGVuYW1lLCBvbGRfZ3JhcGhfbmFtZSkgJiYKKwkJICAgIGctPm9kYiAhPSBjdHgtPm9kYikgeworCQkJY3R4LT5udW1fY29tbWl0X2dyYXBoc19hZnRlciA9IDE7CisJCQljdHgtPm5ld19iYXNlX2dyYXBoID0gTlVMTDsKKwkJfQorCisJCWZyZWUob2xkX2dyYXBoX25hbWUpOworCX0KKworCUFMTE9DX0FSUkFZKGN0eC0+Y29tbWl0X2dyYXBoX2ZpbGVuYW1lc19hZnRlciwgY3R4LT5udW1fY29tbWl0X2dyYXBoc19hZnRlcik7CisJQUxMT0NfQVJSQVkoY3R4LT5jb21taXRfZ3JhcGhfaGFzaF9hZnRlciwgY3R4LT5udW1fY29tbWl0X2dyYXBoc19hZnRlcik7CisKKwlmb3IgKGkgPSAwOyBpIDwgY3R4LT5udW1fY29tbWl0X2dyYXBoc19hZnRlciAmJgorCQkgICAgaSA8IGN0eC0+bnVtX2NvbW1pdF9ncmFwaHNfYmVmb3JlOyBpKyspCisJCWN0eC0+Y29tbWl0X2dyYXBoX2ZpbGVuYW1lc19hZnRlcltpXSA9IHhzdHJkdXAoY3R4LT5jb21taXRfZ3JhcGhfZmlsZW5hbWVzX2JlZm9yZVtpXSk7CisKKwlpID0gY3R4LT5udW1fY29tbWl0X2dyYXBoc19iZWZvcmUgLSAxOworCWcgPSBjdHgtPnItPm9iamVjdHMtPmNvbW1pdF9ncmFwaDsKKworCXdoaWxlIChnKSB7CisJCWlmIChpIDwgY3R4LT5udW1fY29tbWl0X2dyYXBoc19hZnRlcikKKwkJCWN0eC0+Y29tbWl0X2dyYXBoX2hhc2hfYWZ0ZXJbaV0gPSB4c3RyZHVwKG9pZF90b19oZXgoJmctPm9pZCkpOworCisJCWktLTsKKwkJZyA9IGctPmJhc2VfZ3JhcGg7CisJfQorfQorCitzdGF0aWMgdm9pZCBtZXJnZV9jb21taXRfZ3JhcGgoc3RydWN0IHdyaXRlX2NvbW1pdF9ncmFwaF9jb250ZXh0ICpjdHgsCisJCQkgICAgICAgc3RydWN0IGNvbW1pdF9ncmFwaCAqZykKK3sKKwl1aW50MzJfdCBpOworCXVpbnQzMl90IG9mZnNldCA9IGctPm51bV9jb21taXRzX2luX2Jhc2U7CisKKwlBTExPQ19HUk9XKGN0eC0+Y29tbWl0cy5saXN0LCBjdHgtPmNvbW1pdHMubnIgKyBnLT5udW1fY29tbWl0cywgY3R4LT5jb21taXRzLmFsbG9jKTsKKworCWZvciAoaSA9IDA7IGkgPCBnLT5udW1fY29tbWl0czsgaSsrKSB7CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCQlzdHJ1Y3QgY29tbWl0ICpyZXN1bHQ7CisKKwkJZGlzcGxheV9wcm9ncmVzcyhjdHgtPnByb2dyZXNzLCBpICsgMSk7CisKKwkJbG9hZF9vaWRfZnJvbV9ncmFwaChnLCBpICsgb2Zmc2V0LCAmb2lkKTsKKworCQkvKiBvbmx5IGFkZCBjb21taXRzIGlmIHRoZXkgc3RpbGwgZXhpc3QgaW4gdGhlIHJlcG8gKi8KKwkJcmVzdWx0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KGN0eC0+ciwgJm9pZCwgMSk7CisKKwkJaWYgKHJlc3VsdCkgeworCQkJY3R4LT5jb21taXRzLmxpc3RbY3R4LT5jb21taXRzLm5yXSA9IHJlc3VsdDsKKwkJCWN0eC0+Y29tbWl0cy5ucisrOworCQl9CisJfQorfQorCitzdGF0aWMgaW50IGNvbW1pdF9jb21wYXJlKGNvbnN0IHZvaWQgKl9hLCBjb25zdCB2b2lkICpfYikKK3sKKwljb25zdCBzdHJ1Y3QgY29tbWl0ICphID0gKihjb25zdCBzdHJ1Y3QgY29tbWl0ICoqKV9hOworCWNvbnN0IHN0cnVjdCBjb21taXQgKmIgPSAqKGNvbnN0IHN0cnVjdCBjb21taXQgKiopX2I7CisJcmV0dXJuIG9pZGNtcCgmYS0+b2JqZWN0Lm9pZCwgJmItPm9iamVjdC5vaWQpOworfQorCitzdGF0aWMgdm9pZCBzb3J0X2FuZF9zY2FuX21lcmdlZF9jb21taXRzKHN0cnVjdCB3cml0ZV9jb21taXRfZ3JhcGhfY29udGV4dCAqY3R4KQoreworCXVpbnQzMl90IGk7CisKKwlpZiAoY3R4LT5yZXBvcnRfcHJvZ3Jlc3MpCisJCWN0eC0+cHJvZ3Jlc3MgPSBzdGFydF9kZWxheWVkX3Byb2dyZXNzKAorCQkJCQlfKCJTY2FubmluZyBtZXJnZWQgY29tbWl0cyIpLAorCQkJCQljdHgtPmNvbW1pdHMubnIpOworCisJUVNPUlQoY3R4LT5jb21taXRzLmxpc3QsIGN0eC0+Y29tbWl0cy5uciwgY29tbWl0X2NvbXBhcmUpOworCisJY3R4LT5udW1fZXh0cmFfZWRnZXMgPSAwOworCWZvciAoaSA9IDA7IGkgPCBjdHgtPmNvbW1pdHMubnI7IGkrKykgeworCQlkaXNwbGF5X3Byb2dyZXNzKGN0eC0+cHJvZ3Jlc3MsIGkpOworCisJCWlmIChpICYmIG9pZGVxKCZjdHgtPmNvbW1pdHMubGlzdFtpIC0gMV0tPm9iamVjdC5vaWQsCisJCQkgICZjdHgtPmNvbW1pdHMubGlzdFtpXS0+b2JqZWN0Lm9pZCkpIHsKKwkJCWRpZShfKCJ1bmV4cGVjdGVkIGR1cGxpY2F0ZSBjb21taXQgaWQgJXMiKSwKKwkJCSAgICBvaWRfdG9faGV4KCZjdHgtPmNvbW1pdHMubGlzdFtpXS0+b2JqZWN0Lm9pZCkpOworCQl9IGVsc2UgeworCQkJdW5zaWduZWQgaW50IG51bV9wYXJlbnRzOworCisJCQludW1fcGFyZW50cyA9IGNvbW1pdF9saXN0X2NvdW50KGN0eC0+Y29tbWl0cy5saXN0W2ldLT5wYXJlbnRzKTsKKwkJCWlmIChudW1fcGFyZW50cyA+IDIpCisJCQkJY3R4LT5udW1fZXh0cmFfZWRnZXMgKz0gbnVtX3BhcmVudHMgLSAxOworCQl9CisJfQorCisJc3RvcF9wcm9ncmVzcygmY3R4LT5wcm9ncmVzcyk7Cit9CisKK3N0YXRpYyB2b2lkIG1lcmdlX2NvbW1pdF9ncmFwaHMoc3RydWN0IHdyaXRlX2NvbW1pdF9ncmFwaF9jb250ZXh0ICpjdHgpCit7CisJc3RydWN0IGNvbW1pdF9ncmFwaCAqZyA9IGN0eC0+ci0+b2JqZWN0cy0+Y29tbWl0X2dyYXBoOworCXVpbnQzMl90IGN1cnJlbnRfZ3JhcGhfbnVtYmVyID0gY3R4LT5udW1fY29tbWl0X2dyYXBoc19iZWZvcmU7CisKKwl3aGlsZSAoZyAmJiBjdXJyZW50X2dyYXBoX251bWJlciA+PSBjdHgtPm51bV9jb21taXRfZ3JhcGhzX2FmdGVyKSB7CisJCWN1cnJlbnRfZ3JhcGhfbnVtYmVyLS07CisKKwkJaWYgKGN0eC0+cmVwb3J0X3Byb2dyZXNzKQorCQkJY3R4LT5wcm9ncmVzcyA9IHN0YXJ0X2RlbGF5ZWRfcHJvZ3Jlc3MoXygiTWVyZ2luZyBjb21taXQtZ3JhcGgiKSwgMCk7CisKKwkJbWVyZ2VfY29tbWl0X2dyYXBoKGN0eCwgZyk7CisJCXN0b3BfcHJvZ3Jlc3MoJmN0eC0+cHJvZ3Jlc3MpOworCisJCWcgPSBnLT5iYXNlX2dyYXBoOworCX0KKworCWlmIChnKSB7CisJCWN0eC0+bmV3X2Jhc2VfZ3JhcGggPSBnOworCQljdHgtPm5ld19udW1fY29tbWl0c19pbl9iYXNlID0gZy0+bnVtX2NvbW1pdHMgKyBnLT5udW1fY29tbWl0c19pbl9iYXNlOworCX0KKworCWlmIChjdHgtPm5ld19iYXNlX2dyYXBoKQorCQljdHgtPmJhc2VfZ3JhcGhfbmFtZSA9IHhzdHJkdXAoY3R4LT5uZXdfYmFzZV9ncmFwaC0+ZmlsZW5hbWUpOworCisJc29ydF9hbmRfc2Nhbl9tZXJnZWRfY29tbWl0cyhjdHgpOworfQorCitzdGF0aWMgdm9pZCBtYXJrX2NvbW1pdF9ncmFwaHMoc3RydWN0IHdyaXRlX2NvbW1pdF9ncmFwaF9jb250ZXh0ICpjdHgpCit7CisJdWludDMyX3QgaTsKKwl0aW1lX3Qgbm93ID0gdGltZShOVUxMKTsKKworCWZvciAoaSA9IGN0eC0+bnVtX2NvbW1pdF9ncmFwaHNfYWZ0ZXIgLSAxOyBpIDwgY3R4LT5udW1fY29tbWl0X2dyYXBoc19iZWZvcmU7IGkrKykgeworCQlzdHJ1Y3Qgc3RhdCBzdDsKKwkJc3RydWN0IHV0aW1idWYgdXBkYXRlZF90aW1lOworCisJCXN0YXQoY3R4LT5jb21taXRfZ3JhcGhfZmlsZW5hbWVzX2JlZm9yZVtpXSwgJnN0KTsKKworCQl1cGRhdGVkX3RpbWUuYWN0aW1lID0gc3Quc3RfYXRpbWU7CisJCXVwZGF0ZWRfdGltZS5tb2R0aW1lID0gbm93OworCQl1dGltZShjdHgtPmNvbW1pdF9ncmFwaF9maWxlbmFtZXNfYmVmb3JlW2ldLCAmdXBkYXRlZF90aW1lKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGV4cGlyZV9jb21taXRfZ3JhcGhzKHN0cnVjdCB3cml0ZV9jb21taXRfZ3JhcGhfY29udGV4dCAqY3R4KQoreworCXN0cnVjdCBzdHJidWYgcGF0aCA9IFNUUkJVRl9JTklUOworCURJUiAqZGlyOworCXN0cnVjdCBkaXJlbnQgKmRlOworCXNpemVfdCBkaXJuYW1lbGVuOworCXRpbWVzdGFtcF90IGV4cGlyZV90aW1lID0gdGltZShOVUxMKTsKKworCWlmIChjdHgtPnNwbGl0X29wdHMgJiYgY3R4LT5zcGxpdF9vcHRzLT5leHBpcmVfdGltZSkKKwkJZXhwaXJlX3RpbWUgLT0gY3R4LT5zcGxpdF9vcHRzLT5leHBpcmVfdGltZTsKKwlpZiAoIWN0eC0+c3BsaXQpIHsKKwkJY2hhciAqY2hhaW5fZmlsZV9uYW1lID0gZ2V0X2NoYWluX2ZpbGVuYW1lKGN0eC0+b2RiKTsKKwkJdW5saW5rKGNoYWluX2ZpbGVfbmFtZSk7CisJCWZyZWUoY2hhaW5fZmlsZV9uYW1lKTsKKwkJY3R4LT5udW1fY29tbWl0X2dyYXBoc19hZnRlciA9IDA7CisJfQorCisJc3RyYnVmX2FkZHN0cigmcGF0aCwgY3R4LT5vZGItPnBhdGgpOworCXN0cmJ1Zl9hZGRzdHIoJnBhdGgsICIvaW5mby9jb21taXQtZ3JhcGhzIik7CisJZGlyID0gb3BlbmRpcihwYXRoLmJ1Zik7CisKKwlpZiAoIWRpcikKKwkJZ290byBvdXQ7CisKKwlzdHJidWZfYWRkY2goJnBhdGgsICcvJyk7CisJZGlybmFtZWxlbiA9IHBhdGgubGVuOworCXdoaWxlICgoZGUgPSByZWFkZGlyKGRpcikpICE9IE5VTEwpIHsKKwkJc3RydWN0IHN0YXQgc3Q7CisJCXVpbnQzMl90IGksIGZvdW5kID0gMDsKKworCQlzdHJidWZfc2V0bGVuKCZwYXRoLCBkaXJuYW1lbGVuKTsKKwkJc3RyYnVmX2FkZHN0cigmcGF0aCwgZGUtPmRfbmFtZSk7CisKKwkJc3RhdChwYXRoLmJ1ZiwgJnN0KTsKKworCQlpZiAoc3Quc3RfbXRpbWUgPiBleHBpcmVfdGltZSkKKwkJCWNvbnRpbnVlOworCQlpZiAocGF0aC5sZW4gPCA2IHx8IHN0cmNtcChwYXRoLmJ1ZiArIHBhdGgubGVuIC0gNiwgIi5ncmFwaCIpKQorCQkJY29udGludWU7CisKKwkJZm9yIChpID0gMDsgaSA8IGN0eC0+bnVtX2NvbW1pdF9ncmFwaHNfYWZ0ZXI7IGkrKykgeworCQkJaWYgKCFzdHJjbXAoY3R4LT5jb21taXRfZ3JhcGhfZmlsZW5hbWVzX2FmdGVyW2ldLAorCQkJCSAgICBwYXRoLmJ1ZikpIHsKKwkJCQlmb3VuZCA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKworCQlpZiAoIWZvdW5kKQorCQkJdW5saW5rKHBhdGguYnVmKTsKKwl9CisKK291dDoKKwlzdHJidWZfcmVsZWFzZSgmcGF0aCk7Cit9CisKK2ludCB3cml0ZV9jb21taXRfZ3JhcGgoc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKm9kYiwKKwkJICAgICAgIHN0cnVjdCBzdHJpbmdfbGlzdCAqcGFja19pbmRleGVzLAorCQkgICAgICAgc3RydWN0IHN0cmluZ19saXN0ICpjb21taXRfaGV4LAorCQkgICAgICAgZW51bSBjb21taXRfZ3JhcGhfd3JpdGVfZmxhZ3MgZmxhZ3MsCisJCSAgICAgICBjb25zdCBzdHJ1Y3Qgc3BsaXRfY29tbWl0X2dyYXBoX29wdHMgKnNwbGl0X29wdHMpCit7CisJc3RydWN0IHdyaXRlX2NvbW1pdF9ncmFwaF9jb250ZXh0ICpjdHg7CisJdWludDMyX3QgaSwgY291bnRfZGlzdGluY3QgPSAwOworCWludCByZXMgPSAwOworCisJaWYgKCFjb21taXRfZ3JhcGhfY29tcGF0aWJsZSh0aGVfcmVwb3NpdG9yeSkpCisJCXJldHVybiAwOworCisJY3R4ID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHdyaXRlX2NvbW1pdF9ncmFwaF9jb250ZXh0KSk7CisJY3R4LT5yID0gdGhlX3JlcG9zaXRvcnk7CisJY3R4LT5vZGIgPSBvZGI7CisJY3R4LT5hcHBlbmQgPSBmbGFncyAmIENPTU1JVF9HUkFQSF9XUklURV9BUFBFTkQgPyAxIDogMDsKKwljdHgtPnJlcG9ydF9wcm9ncmVzcyA9IGZsYWdzICYgQ09NTUlUX0dSQVBIX1dSSVRFX1BST0dSRVNTID8gMSA6IDA7CisJY3R4LT5zcGxpdCA9IGZsYWdzICYgQ09NTUlUX0dSQVBIX1dSSVRFX1NQTElUID8gMSA6IDA7CisJY3R4LT5jaGVja19vaWRzID0gZmxhZ3MgJiBDT01NSVRfR1JBUEhfV1JJVEVfQ0hFQ0tfT0lEUyA/IDEgOiAwOworCWN0eC0+c3BsaXRfb3B0cyA9IHNwbGl0X29wdHM7CisKKwlpZiAoY3R4LT5zcGxpdCkgeworCQlzdHJ1Y3QgY29tbWl0X2dyYXBoICpnOworCQlwcmVwYXJlX2NvbW1pdF9ncmFwaChjdHgtPnIpOworCisJCWcgPSBjdHgtPnItPm9iamVjdHMtPmNvbW1pdF9ncmFwaDsKKworCQl3aGlsZSAoZykgeworCQkJY3R4LT5udW1fY29tbWl0X2dyYXBoc19iZWZvcmUrKzsKKwkJCWcgPSBnLT5iYXNlX2dyYXBoOworCQl9CisKKwkJaWYgKGN0eC0+bnVtX2NvbW1pdF9ncmFwaHNfYmVmb3JlKSB7CisJCQlBTExPQ19BUlJBWShjdHgtPmNvbW1pdF9ncmFwaF9maWxlbmFtZXNfYmVmb3JlLCBjdHgtPm51bV9jb21taXRfZ3JhcGhzX2JlZm9yZSk7CisJCQlpID0gY3R4LT5udW1fY29tbWl0X2dyYXBoc19iZWZvcmU7CisJCQlnID0gY3R4LT5yLT5vYmplY3RzLT5jb21taXRfZ3JhcGg7CisKKwkJCXdoaWxlIChnKSB7CisJCQkJY3R4LT5jb21taXRfZ3JhcGhfZmlsZW5hbWVzX2JlZm9yZVstLWldID0geHN0cmR1cChnLT5maWxlbmFtZSk7CisJCQkJZyA9IGctPmJhc2VfZ3JhcGg7CisJCQl9CisJCX0KKwl9CisKKwljdHgtPmFwcHJveF9ucl9vYmplY3RzID0gYXBwcm94aW1hdGVfb2JqZWN0X2NvdW50KCk7CisJY3R4LT5vaWRzLmFsbG9jID0gY3R4LT5hcHByb3hfbnJfb2JqZWN0cyAvIDMyOworCisJaWYgKGN0eC0+c3BsaXQgJiYgc3BsaXRfb3B0cyAmJiBjdHgtPm9pZHMuYWxsb2MgPiBzcGxpdF9vcHRzLT5tYXhfY29tbWl0cykKKwkJY3R4LT5vaWRzLmFsbG9jID0gc3BsaXRfb3B0cy0+bWF4X2NvbW1pdHM7CisKKwlpZiAoY3R4LT5hcHBlbmQpIHsKKwkJcHJlcGFyZV9jb21taXRfZ3JhcGhfb25lKGN0eC0+ciwgY3R4LT5vZGIpOworCQlpZiAoY3R4LT5yLT5vYmplY3RzLT5jb21taXRfZ3JhcGgpCisJCQljdHgtPm9pZHMuYWxsb2MgKz0gY3R4LT5yLT5vYmplY3RzLT5jb21taXRfZ3JhcGgtPm51bV9jb21taXRzOworCX0KKworCWlmIChjdHgtPm9pZHMuYWxsb2MgPCAxMDI0KQorCQljdHgtPm9pZHMuYWxsb2MgPSAxMDI0OworCUFMTE9DX0FSUkFZKGN0eC0+b2lkcy5saXN0LCBjdHgtPm9pZHMuYWxsb2MpOworCisJaWYgKGN0eC0+YXBwZW5kICYmIGN0eC0+ci0+b2JqZWN0cy0+Y29tbWl0X2dyYXBoKSB7CisJCXN0cnVjdCBjb21taXRfZ3JhcGggKmcgPSBjdHgtPnItPm9iamVjdHMtPmNvbW1pdF9ncmFwaDsKKwkJZm9yIChpID0gMDsgaSA8IGctPm51bV9jb21taXRzOyBpKyspIHsKKwkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmhhc2ggPSBnLT5jaHVua19vaWRfbG9va3VwICsgZy0+aGFzaF9sZW4gKiBpOworCQkJaGFzaGNweShjdHgtPm9pZHMubGlzdFtjdHgtPm9pZHMubnIrK10uaGFzaCwgaGFzaCk7CisJCX0KKwl9CisKKwlpZiAocGFja19pbmRleGVzKSB7CisJCWlmICgocmVzID0gZmlsbF9vaWRzX2Zyb21fcGFja3MoY3R4LCBwYWNrX2luZGV4ZXMpKSkKKwkJCWdvdG8gY2xlYW51cDsKKwl9CisKKwlpZiAoY29tbWl0X2hleCkgeworCQlpZiAoKHJlcyA9IGZpbGxfb2lkc19mcm9tX2NvbW1pdF9oZXgoY3R4LCBjb21taXRfaGV4KSkpCisJCQlnb3RvIGNsZWFudXA7CisJfQorCisJaWYgKCFwYWNrX2luZGV4ZXMgJiYgIWNvbW1pdF9oZXgpCisJCWZpbGxfb2lkc19mcm9tX2FsbF9wYWNrcyhjdHgpOworCisJY2xvc2VfcmVhY2hhYmxlKGN0eCk7CisKKwljb3VudF9kaXN0aW5jdCA9IGNvdW50X2Rpc3RpbmN0X2NvbW1pdHMoY3R4KTsKKworCWlmIChjb3VudF9kaXN0aW5jdCA+PSBHUkFQSF9FREdFX0xBU1RfTUFTSykgeworCQllcnJvcihfKCJ0aGUgY29tbWl0IGdyYXBoIGZvcm1hdCBjYW5ub3Qgd3JpdGUgJWQgY29tbWl0cyIpLCBjb3VudF9kaXN0aW5jdCk7CisJCXJlcyA9IC0xOworCQlnb3RvIGNsZWFudXA7CisJfQorCisJY3R4LT5jb21taXRzLmFsbG9jID0gY291bnRfZGlzdGluY3Q7CisJQUxMT0NfQVJSQVkoY3R4LT5jb21taXRzLmxpc3QsIGN0eC0+Y29tbWl0cy5hbGxvYyk7CisKKwljb3B5X29pZHNfdG9fY29tbWl0cyhjdHgpOworCisJaWYgKGN0eC0+Y29tbWl0cy5uciA+PSBHUkFQSF9FREdFX0xBU1RfTUFTSykgeworCQllcnJvcihfKCJ0b28gbWFueSBjb21taXRzIHRvIHdyaXRlIGdyYXBoIikpOworCQlyZXMgPSAtMTsKKwkJZ290byBjbGVhbnVwOworCX0KKworCWlmICghY3R4LT5jb21taXRzLm5yKQorCQlnb3RvIGNsZWFudXA7CisKKwlpZiAoY3R4LT5zcGxpdCkgeworCQlzcGxpdF9ncmFwaF9tZXJnZV9zdHJhdGVneShjdHgpOworCisJCW1lcmdlX2NvbW1pdF9ncmFwaHMoY3R4KTsKKwl9IGVsc2UKKwkJY3R4LT5udW1fY29tbWl0X2dyYXBoc19hZnRlciA9IDE7CisKKwljb21wdXRlX2dlbmVyYXRpb25fbnVtYmVycyhjdHgpOworCisJcmVzID0gd3JpdGVfY29tbWl0X2dyYXBoX2ZpbGUoY3R4KTsKKworCWlmIChjdHgtPnNwbGl0KQorCQltYXJrX2NvbW1pdF9ncmFwaHMoY3R4KTsKKworCWV4cGlyZV9jb21taXRfZ3JhcGhzKGN0eCk7CisKK2NsZWFudXA6CisJZnJlZShjdHgtPmdyYXBoX25hbWUpOworCWZyZWUoY3R4LT5jb21taXRzLmxpc3QpOworCWZyZWUoY3R4LT5vaWRzLmxpc3QpOworCisJaWYgKGN0eC0+Y29tbWl0X2dyYXBoX2ZpbGVuYW1lc19hZnRlcikgeworCQlmb3IgKGkgPSAwOyBpIDwgY3R4LT5udW1fY29tbWl0X2dyYXBoc19hZnRlcjsgaSsrKSB7CisJCQlmcmVlKGN0eC0+Y29tbWl0X2dyYXBoX2ZpbGVuYW1lc19hZnRlcltpXSk7CisJCQlmcmVlKGN0eC0+Y29tbWl0X2dyYXBoX2hhc2hfYWZ0ZXJbaV0pOworCQl9CisKKwkJZm9yIChpID0gMDsgaSA8IGN0eC0+bnVtX2NvbW1pdF9ncmFwaHNfYmVmb3JlOyBpKyspCisJCQlmcmVlKGN0eC0+Y29tbWl0X2dyYXBoX2ZpbGVuYW1lc19iZWZvcmVbaV0pOworCisJCWZyZWUoY3R4LT5jb21taXRfZ3JhcGhfZmlsZW5hbWVzX2FmdGVyKTsKKwkJZnJlZShjdHgtPmNvbW1pdF9ncmFwaF9maWxlbmFtZXNfYmVmb3JlKTsKKwkJZnJlZShjdHgtPmNvbW1pdF9ncmFwaF9oYXNoX2FmdGVyKTsKKwl9CisKKwlmcmVlKGN0eCk7CisKKwlyZXR1cm4gcmVzOwogfQogCiAjZGVmaW5lIFZFUklGWV9DT01NSVRfR1JBUEhfRVJST1JfSEFTSCAyCkBAIC05NjgsNyArMTkxNyw3IEBACiAjZGVmaW5lIEdFTkVSQVRJT05fWkVST19FWElTVFMgMQogI2RlZmluZSBHRU5FUkFUSU9OX05VTUJFUl9FWElTVFMgMgogCi1pbnQgdmVyaWZ5X2NvbW1pdF9ncmFwaChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IGNvbW1pdF9ncmFwaCAqZykKK2ludCB2ZXJpZnlfY29tbWl0X2dyYXBoKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3QgY29tbWl0X2dyYXBoICpnLCBpbnQgZmxhZ3MpCiB7CiAJdWludDMyX3QgaSwgY3VyX2Zhbm91dF9wb3MgPSAwOwogCXN0cnVjdCBvYmplY3RfaWQgcHJldl9vaWQsIGN1cl9vaWQsIGNoZWNrc3VtOwpAQCAtOTc2LDIxICsxOTI1LDE0IEBACiAJc3RydWN0IGhhc2hmaWxlICpmOwogCWludCBkZXZudWxsOwogCXN0cnVjdCBwcm9ncmVzcyAqcHJvZ3Jlc3MgPSBOVUxMOworCWludCBsb2NhbF9lcnJvciA9IDA7CiAKIAlpZiAoIWcpIHsKIAkJZ3JhcGhfcmVwb3J0KCJubyBjb21taXQtZ3JhcGggZmlsZSBsb2FkZWQiKTsKIAkJcmV0dXJuIDE7CiAJfQogCi0JdmVyaWZ5X2NvbW1pdF9ncmFwaF9lcnJvciA9IDA7Ci0KLQlpZiAoIWctPmNodW5rX29pZF9mYW5vdXQpCi0JCWdyYXBoX3JlcG9ydCgiY29tbWl0LWdyYXBoIGlzIG1pc3NpbmcgdGhlIE9JRCBGYW5vdXQgY2h1bmsiKTsKLQlpZiAoIWctPmNodW5rX29pZF9sb29rdXApCi0JCWdyYXBoX3JlcG9ydCgiY29tbWl0LWdyYXBoIGlzIG1pc3NpbmcgdGhlIE9JRCBMb29rdXAgY2h1bmsiKTsKLQlpZiAoIWctPmNodW5rX2NvbW1pdF9kYXRhKQotCQlncmFwaF9yZXBvcnQoImNvbW1pdC1ncmFwaCBpcyBtaXNzaW5nIHRoZSBDb21taXQgRGF0YSBjaHVuayIpOwotCisJdmVyaWZ5X2NvbW1pdF9ncmFwaF9lcnJvciA9IHZlcmlmeV9jb21taXRfZ3JhcGhfbGl0ZShnKTsKIAlpZiAodmVyaWZ5X2NvbW1pdF9ncmFwaF9lcnJvcikKIAkJcmV0dXJuIHZlcmlmeV9jb21taXRfZ3JhcGhfZXJyb3I7CiAKQEAgLTEwMDksNyArMTk1MSw3IEBACiAJCWhhc2hjcHkoY3VyX29pZC5oYXNoLCBnLT5jaHVua19vaWRfbG9va3VwICsgZy0+aGFzaF9sZW4gKiBpKTsKIAogCQlpZiAoaSAmJiBvaWRjbXAoJnByZXZfb2lkLCAmY3VyX29pZCkgPj0gMCkKLQkJCWdyYXBoX3JlcG9ydCgiY29tbWl0LWdyYXBoIGhhcyBpbmNvcnJlY3QgT0lEIG9yZGVyOiAlcyB0aGVuICVzIiwKKwkJCWdyYXBoX3JlcG9ydChfKCJjb21taXQtZ3JhcGggaGFzIGluY29ycmVjdCBPSUQgb3JkZXI6ICVzIHRoZW4gJXMiKSwKIAkJCQkgICAgIG9pZF90b19oZXgoJnByZXZfb2lkKSwKIAkJCQkgICAgIG9pZF90b19oZXgoJmN1cl9vaWQpKTsKIApAQCAtMTAxOSwxNCArMTk2MSwxNCBAQAogCQkJdWludDMyX3QgZmFub3V0X3ZhbHVlID0gZ2V0X2JlMzIoZy0+Y2h1bmtfb2lkX2Zhbm91dCArIGN1cl9mYW5vdXRfcG9zKTsKIAogCQkJaWYgKGkgIT0gZmFub3V0X3ZhbHVlKQotCQkJCWdyYXBoX3JlcG9ydCgiY29tbWl0LWdyYXBoIGhhcyBpbmNvcnJlY3QgZmFub3V0IHZhbHVlOiBmYW5vdXRbJWRdID0gJXUgIT0gJXUiLAorCQkJCWdyYXBoX3JlcG9ydChfKCJjb21taXQtZ3JhcGggaGFzIGluY29ycmVjdCBmYW5vdXQgdmFsdWU6IGZhbm91dFslZF0gPSAldSAhPSAldSIpLAogCQkJCQkgICAgIGN1cl9mYW5vdXRfcG9zLCBmYW5vdXRfdmFsdWUsIGkpOwogCQkJY3VyX2Zhbm91dF9wb3MrKzsKIAkJfQogCiAJCWdyYXBoX2NvbW1pdCA9IGxvb2t1cF9jb21taXQociwgJmN1cl9vaWQpOwotCQlpZiAoIXBhcnNlX2NvbW1pdF9pbl9ncmFwaF9vbmUoZywgZ3JhcGhfY29tbWl0KSkKLQkJCWdyYXBoX3JlcG9ydCgiZmFpbGVkIHRvIHBhcnNlICVzIGZyb20gY29tbWl0LWdyYXBoIiwKKwkJaWYgKCFwYXJzZV9jb21taXRfaW5fZ3JhcGhfb25lKHIsIGcsIGdyYXBoX2NvbW1pdCkpCisJCQlncmFwaF9yZXBvcnQoXygiZmFpbGVkIHRvIHBhcnNlIGNvbW1pdCAlcyBmcm9tIGNvbW1pdC1ncmFwaCIpLAogCQkJCSAgICAgb2lkX3RvX2hleCgmY3VyX29pZCkpOwogCX0KIApAQCAtMTAzNCw3ICsxOTc2LDcgQEAKIAkJdWludDMyX3QgZmFub3V0X3ZhbHVlID0gZ2V0X2JlMzIoZy0+Y2h1bmtfb2lkX2Zhbm91dCArIGN1cl9mYW5vdXRfcG9zKTsKIAogCQlpZiAoZy0+bnVtX2NvbW1pdHMgIT0gZmFub3V0X3ZhbHVlKQotCQkJZ3JhcGhfcmVwb3J0KCJjb21taXQtZ3JhcGggaGFzIGluY29ycmVjdCBmYW5vdXQgdmFsdWU6IGZhbm91dFslZF0gPSAldSAhPSAldSIsCisJCQlncmFwaF9yZXBvcnQoXygiY29tbWl0LWdyYXBoIGhhcyBpbmNvcnJlY3QgZmFub3V0IHZhbHVlOiBmYW5vdXRbJWRdID0gJXUgIT0gJXUiKSwKIAkJCQkgICAgIGN1cl9mYW5vdXRfcG9zLCBmYW5vdXRfdmFsdWUsIGkpOwogCiAJCWN1cl9mYW5vdXRfcG9zKys7CkBAIC0xMDQzLDggKzE5ODUsMTAgQEAKIAlpZiAodmVyaWZ5X2NvbW1pdF9ncmFwaF9lcnJvciAmIH5WRVJJRllfQ09NTUlUX0dSQVBIX0VSUk9SX0hBU0gpCiAJCXJldHVybiB2ZXJpZnlfY29tbWl0X2dyYXBoX2Vycm9yOwogCi0JcHJvZ3Jlc3MgPSBzdGFydF9wcm9ncmVzcyhfKCJWZXJpZnlpbmcgY29tbWl0cyBpbiBjb21taXQgZ3JhcGgiKSwKLQkJCQkgIGctPm51bV9jb21taXRzKTsKKwlpZiAoZmxhZ3MgJiBDT01NSVRfR1JBUEhfV1JJVEVfUFJPR1JFU1MpCisJCXByb2dyZXNzID0gc3RhcnRfcHJvZ3Jlc3MoXygiVmVyaWZ5aW5nIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIiksCisJCQkJCWctPm51bV9jb21taXRzKTsKKwogCWZvciAoaSA9IDA7IGkgPCBnLT5udW1fY29tbWl0czsgaSsrKSB7CiAJCXN0cnVjdCBjb21taXQgKmdyYXBoX2NvbW1pdCwgKm9kYl9jb21taXQ7CiAJCXN0cnVjdCBjb21taXRfbGlzdCAqZ3JhcGhfcGFyZW50cywgKm9kYl9wYXJlbnRzOwpAQCAtMTA1NCwxNiArMTk5OCwxNiBAQAogCQloYXNoY3B5KGN1cl9vaWQuaGFzaCwgZy0+Y2h1bmtfb2lkX2xvb2t1cCArIGctPmhhc2hfbGVuICogaSk7CiAKIAkJZ3JhcGhfY29tbWl0ID0gbG9va3VwX2NvbW1pdChyLCAmY3VyX29pZCk7Ci0JCW9kYl9jb21taXQgPSAoc3RydWN0IGNvbW1pdCAqKWNyZWF0ZV9vYmplY3QociwgY3VyX29pZC5oYXNoLCBhbGxvY19jb21taXRfbm9kZShyKSk7CisJCW9kYl9jb21taXQgPSAoc3RydWN0IGNvbW1pdCAqKWNyZWF0ZV9vYmplY3QociwgJmN1cl9vaWQsIGFsbG9jX2NvbW1pdF9ub2RlKHIpKTsKIAkJaWYgKHBhcnNlX2NvbW1pdF9pbnRlcm5hbChvZGJfY29tbWl0LCAwLCAwKSkgewotCQkJZ3JhcGhfcmVwb3J0KCJmYWlsZWQgdG8gcGFyc2UgJXMgZnJvbSBvYmplY3QgZGF0YWJhc2UiLAorCQkJZ3JhcGhfcmVwb3J0KF8oImZhaWxlZCB0byBwYXJzZSBjb21taXQgJXMgZnJvbSBvYmplY3QgZGF0YWJhc2UgZm9yIGNvbW1pdC1ncmFwaCIpLAogCQkJCSAgICAgb2lkX3RvX2hleCgmY3VyX29pZCkpOwogCQkJY29udGludWU7CiAJCX0KIAotCQlpZiAoIW9pZGVxKCZnZXRfY29tbWl0X3RyZWVfaW5fZ3JhcGhfb25lKGcsIGdyYXBoX2NvbW1pdCktPm9iamVjdC5vaWQsCisJCWlmICghb2lkZXEoJmdldF9jb21taXRfdHJlZV9pbl9ncmFwaF9vbmUociwgZywgZ3JhcGhfY29tbWl0KS0+b2JqZWN0Lm9pZCwKIAkJCSAgIGdldF9jb21taXRfdHJlZV9vaWQob2RiX2NvbW1pdCkpKQotCQkJZ3JhcGhfcmVwb3J0KCJyb290IHRyZWUgT0lEIGZvciBjb21taXQgJXMgaW4gY29tbWl0LWdyYXBoIGlzICVzICE9ICVzIiwKKwkJCWdyYXBoX3JlcG9ydChfKCJyb290IHRyZWUgT0lEIGZvciBjb21taXQgJXMgaW4gY29tbWl0LWdyYXBoIGlzICVzICE9ICVzIiksCiAJCQkJICAgICBvaWRfdG9faGV4KCZjdXJfb2lkKSwKIAkJCQkgICAgIG9pZF90b19oZXgoZ2V0X2NvbW1pdF90cmVlX29pZChncmFwaF9jb21taXQpKSwKIAkJCQkgICAgIG9pZF90b19oZXgoZ2V0X2NvbW1pdF90cmVlX29pZChvZGJfY29tbWl0KSkpOwpAQCAtMTA3MywxMyArMjAxNywxNiBAQAogCiAJCXdoaWxlIChncmFwaF9wYXJlbnRzKSB7CiAJCQlpZiAob2RiX3BhcmVudHMgPT0gTlVMTCkgewotCQkJCWdyYXBoX3JlcG9ydCgiY29tbWl0LWdyYXBoIHBhcmVudCBsaXN0IGZvciBjb21taXQgJXMgaXMgdG9vIGxvbmciLAorCQkJCWdyYXBoX3JlcG9ydChfKCJjb21taXQtZ3JhcGggcGFyZW50IGxpc3QgZm9yIGNvbW1pdCAlcyBpcyB0b28gbG9uZyIpLAogCQkJCQkgICAgIG9pZF90b19oZXgoJmN1cl9vaWQpKTsKIAkJCQlicmVhazsKIAkJCX0KIAorCQkJLyogcGFyc2UgcGFyZW50IGluIGNhc2UgaXQgaXMgaW4gYSBiYXNlIGdyYXBoICovCisJCQlwYXJzZV9jb21taXRfaW5fZ3JhcGhfb25lKHIsIGcsIGdyYXBoX3BhcmVudHMtPml0ZW0pOworCiAJCQlpZiAoIW9pZGVxKCZncmFwaF9wYXJlbnRzLT5pdGVtLT5vYmplY3Qub2lkLCAmb2RiX3BhcmVudHMtPml0ZW0tPm9iamVjdC5vaWQpKQotCQkJCWdyYXBoX3JlcG9ydCgiY29tbWl0LWdyYXBoIHBhcmVudCBmb3IgJXMgaXMgJXMgIT0gJXMiLAorCQkJCWdyYXBoX3JlcG9ydChfKCJjb21taXQtZ3JhcGggcGFyZW50IGZvciAlcyBpcyAlcyAhPSAlcyIpLAogCQkJCQkgICAgIG9pZF90b19oZXgoJmN1cl9vaWQpLAogCQkJCQkgICAgIG9pZF90b19oZXgoJmdyYXBoX3BhcmVudHMtPml0ZW0tPm9iamVjdC5vaWQpLAogCQkJCQkgICAgIG9pZF90b19oZXgoJm9kYl9wYXJlbnRzLT5pdGVtLT5vYmplY3Qub2lkKSk7CkBAIC0xMDkyLDE2ICsyMDM5LDE2IEBACiAJCX0KIAogCQlpZiAob2RiX3BhcmVudHMgIT0gTlVMTCkKLQkJCWdyYXBoX3JlcG9ydCgiY29tbWl0LWdyYXBoIHBhcmVudCBsaXN0IGZvciBjb21taXQgJXMgdGVybWluYXRlcyBlYXJseSIsCisJCQlncmFwaF9yZXBvcnQoXygiY29tbWl0LWdyYXBoIHBhcmVudCBsaXN0IGZvciBjb21taXQgJXMgdGVybWluYXRlcyBlYXJseSIpLAogCQkJCSAgICAgb2lkX3RvX2hleCgmY3VyX29pZCkpOwogCiAJCWlmICghZ3JhcGhfY29tbWl0LT5nZW5lcmF0aW9uKSB7CiAJCQlpZiAoZ2VuZXJhdGlvbl96ZXJvID09IEdFTkVSQVRJT05fTlVNQkVSX0VYSVNUUykKLQkJCQlncmFwaF9yZXBvcnQoImNvbW1pdC1ncmFwaCBoYXMgZ2VuZXJhdGlvbiBudW1iZXIgemVybyBmb3IgY29tbWl0ICVzLCBidXQgbm9uLXplcm8gZWxzZXdoZXJlIiwKKwkJCQlncmFwaF9yZXBvcnQoXygiY29tbWl0LWdyYXBoIGhhcyBnZW5lcmF0aW9uIG51bWJlciB6ZXJvIGZvciBjb21taXQgJXMsIGJ1dCBub24temVybyBlbHNld2hlcmUiKSwKIAkJCQkJICAgICBvaWRfdG9faGV4KCZjdXJfb2lkKSk7CiAJCQlnZW5lcmF0aW9uX3plcm8gPSBHRU5FUkFUSU9OX1pFUk9fRVhJU1RTOwogCQl9IGVsc2UgaWYgKGdlbmVyYXRpb25femVybyA9PSBHRU5FUkFUSU9OX1pFUk9fRVhJU1RTKQotCQkJZ3JhcGhfcmVwb3J0KCJjb21taXQtZ3JhcGggaGFzIG5vbi16ZXJvIGdlbmVyYXRpb24gbnVtYmVyIGZvciBjb21taXQgJXMsIGJ1dCB6ZXJvIGVsc2V3aGVyZSIsCisJCQlncmFwaF9yZXBvcnQoXygiY29tbWl0LWdyYXBoIGhhcyBub24temVybyBnZW5lcmF0aW9uIG51bWJlciBmb3IgY29tbWl0ICVzLCBidXQgemVybyBlbHNld2hlcmUiKSwKIAkJCQkgICAgIG9pZF90b19oZXgoJmN1cl9vaWQpKTsKIAogCQlpZiAoZ2VuZXJhdGlvbl96ZXJvID09IEdFTkVSQVRJT05fWkVST19FWElTVFMpCkBAIC0xMTE2LDIwICsyMDYzLDI1IEBACiAJCQltYXhfZ2VuZXJhdGlvbi0tOwogCiAJCWlmIChncmFwaF9jb21taXQtPmdlbmVyYXRpb24gIT0gbWF4X2dlbmVyYXRpb24gKyAxKQotCQkJZ3JhcGhfcmVwb3J0KCJjb21taXQtZ3JhcGggZ2VuZXJhdGlvbiBmb3IgY29tbWl0ICVzIGlzICV1ICE9ICV1IiwKKwkJCWdyYXBoX3JlcG9ydChfKCJjb21taXQtZ3JhcGggZ2VuZXJhdGlvbiBmb3IgY29tbWl0ICVzIGlzICV1ICE9ICV1IiksCiAJCQkJICAgICBvaWRfdG9faGV4KCZjdXJfb2lkKSwKIAkJCQkgICAgIGdyYXBoX2NvbW1pdC0+Z2VuZXJhdGlvbiwKIAkJCQkgICAgIG1heF9nZW5lcmF0aW9uICsgMSk7CiAKIAkJaWYgKGdyYXBoX2NvbW1pdC0+ZGF0ZSAhPSBvZGJfY29tbWl0LT5kYXRlKQotCQkJZ3JhcGhfcmVwb3J0KCJjb21taXQgZGF0ZSBmb3IgY29tbWl0ICVzIGluIGNvbW1pdC1ncmFwaCBpcyAlIlBSSXRpbWUiICE9ICUiUFJJdGltZSwKKwkJCWdyYXBoX3JlcG9ydChfKCJjb21taXQgZGF0ZSBmb3IgY29tbWl0ICVzIGluIGNvbW1pdC1ncmFwaCBpcyAlIlBSSXRpbWUiICE9ICUiUFJJdGltZSksCiAJCQkJICAgICBvaWRfdG9faGV4KCZjdXJfb2lkKSwKIAkJCQkgICAgIGdyYXBoX2NvbW1pdC0+ZGF0ZSwKIAkJCQkgICAgIG9kYl9jb21taXQtPmRhdGUpOwogCX0KIAlzdG9wX3Byb2dyZXNzKCZwcm9ncmVzcyk7CiAKLQlyZXR1cm4gdmVyaWZ5X2NvbW1pdF9ncmFwaF9lcnJvcjsKKwlsb2NhbF9lcnJvciA9IHZlcmlmeV9jb21taXRfZ3JhcGhfZXJyb3I7CisKKwlpZiAoIShmbGFncyAmIENPTU1JVF9HUkFQSF9WRVJJRllfU0hBTExPVykgJiYgZy0+YmFzZV9ncmFwaCkKKwkJbG9jYWxfZXJyb3IgfD0gdmVyaWZ5X2NvbW1pdF9ncmFwaChyLCBnLT5iYXNlX2dyYXBoLCBmbGFncyk7CisKKwlyZXR1cm4gbG9jYWxfZXJyb3I7CiB9CiAKIHZvaWQgZnJlZV9jb21taXRfZ3JhcGgoc3RydWN0IGNvbW1pdF9ncmFwaCAqZykKQEAgLTExNDEsNSArMjA5MywxMSBAQAogCQlnLT5kYXRhID0gTlVMTDsKIAkJY2xvc2UoZy0+Z3JhcGhfZmQpOwogCX0KKwlmcmVlKGctPmZpbGVuYW1lKTsKIAlmcmVlKGcpOwogfQorCit2b2lkIGRpc2FibGVfY29tbWl0X2dyYXBoKHN0cnVjdCByZXBvc2l0b3J5ICpyKQoreworCXItPmNvbW1pdF9ncmFwaF9kaXNhYmxlZCA9IDE7Cit9CmRpZmYgLS1naXQgYS9jb21taXQtZ3JhcGguaCBiL2NvbW1pdC1ncmFwaC5oCmluZGV4IDlkYjQwYjQuLmU4N2E2ZjYgMTAwNjQ0Ci0tLSBhL2NvbW1pdC1ncmFwaC5oCisrKyBiL2NvbW1pdC1ncmFwaC5oCkBAIC01LDEyICs1LDE1IEBACiAjaW5jbHVkZSAicmVwb3NpdG9yeS5oIgogI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKIAogI2RlZmluZSBHSVRfVEVTVF9DT01NSVRfR1JBUEggIkdJVF9URVNUX0NPTU1JVF9HUkFQSCIKKyNkZWZpbmUgR0lUX1RFU1RfQ09NTUlUX0dSQVBIX0RJRV9PTl9MT0FEICJHSVRfVEVTVF9DT01NSVRfR1JBUEhfRElFX09OX0xPQUQiCiAKIHN0cnVjdCBjb21taXQ7CiAKLWNoYXIgKmdldF9jb21taXRfZ3JhcGhfZmlsZW5hbWUoY29uc3QgY2hhciAqb2JqX2Rpcik7CitjaGFyICpnZXRfY29tbWl0X2dyYXBoX2ZpbGVuYW1lKHN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICpvZGIpOworaW50IG9wZW5fY29tbWl0X2dyYXBoKGNvbnN0IGNoYXIgKmdyYXBoX2ZpbGUsIGludCAqZmQsIHN0cnVjdCBzdGF0ICpzdCk7CiAKIC8qCiAgKiBHaXZlbiBhIGNvbW1pdCBzdHJ1Y3QsIHRyeSB0byBmaWxsIHRoZSBjb21taXQgc3RydWN0IGluZm8sIGluY2x1ZGluZzoKQEAgLTQ1LDE0ICs0OCwyNSBAQAogCXVuc2lnbmVkIGNoYXIgbnVtX2NodW5rczsKIAl1aW50MzJfdCBudW1fY29tbWl0czsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwljaGFyICpmaWxlbmFtZTsKKwlzdHJ1Y3Qgb2JqZWN0X2RpcmVjdG9yeSAqb2RiOworCisJdWludDMyX3QgbnVtX2NvbW1pdHNfaW5fYmFzZTsKKwlzdHJ1Y3QgY29tbWl0X2dyYXBoICpiYXNlX2dyYXBoOwogCiAJY29uc3QgdWludDMyX3QgKmNodW5rX29pZF9mYW5vdXQ7CiAJY29uc3QgdW5zaWduZWQgY2hhciAqY2h1bmtfb2lkX2xvb2t1cDsKIAljb25zdCB1bnNpZ25lZCBjaGFyICpjaHVua19jb21taXRfZGF0YTsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpjaHVua19sYXJnZV9lZGdlczsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpjaHVua19leHRyYV9lZGdlczsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpjaHVua19iYXNlX2dyYXBoczsKIH07CiAKLXN0cnVjdCBjb21taXRfZ3JhcGggKmxvYWRfY29tbWl0X2dyYXBoX29uZShjb25zdCBjaGFyICpncmFwaF9maWxlKTsKK3N0cnVjdCBjb21taXRfZ3JhcGggKmxvYWRfY29tbWl0X2dyYXBoX29uZV9mZF9zdChpbnQgZmQsIHN0cnVjdCBzdGF0ICpzdCwKKwkJCQkJCSBzdHJ1Y3Qgb2JqZWN0X2RpcmVjdG9yeSAqb2RiKTsKK3N0cnVjdCBjb21taXRfZ3JhcGggKnJlYWRfY29tbWl0X2dyYXBoX29uZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkJICAgc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKm9kYik7CitzdHJ1Y3QgY29tbWl0X2dyYXBoICpwYXJzZV9jb21taXRfZ3JhcGgodm9pZCAqZ3JhcGhfbWFwLCBpbnQgZmQsCisJCQkJCXNpemVfdCBncmFwaF9zaXplKTsKIAogLyoKICAqIFJldHVybiAxIGlmIGFuZCBvbmx5IGlmIHRoZSByZXBvc2l0b3J5IGhhcyBhIGNvbW1pdC1ncmFwaApAQCAtNjAsMTYgKzc0LDQ2IEBACiAgKi8KIGludCBnZW5lcmF0aW9uX251bWJlcnNfZW5hYmxlZChzdHJ1Y3QgcmVwb3NpdG9yeSAqcik7CiAKLXZvaWQgd3JpdGVfY29tbWl0X2dyYXBoX3JlYWNoYWJsZShjb25zdCBjaGFyICpvYmpfZGlyLCBpbnQgYXBwZW5kLAotCQkJCSAgaW50IHJlcG9ydF9wcm9ncmVzcyk7Ci12b2lkIHdyaXRlX2NvbW1pdF9ncmFwaChjb25zdCBjaGFyICpvYmpfZGlyLAotCQkJc3RydWN0IHN0cmluZ19saXN0ICpwYWNrX2luZGV4ZXMsCi0JCQlzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmNvbW1pdF9oZXgsCi0JCQlpbnQgYXBwZW5kLCBpbnQgcmVwb3J0X3Byb2dyZXNzKTsKK2VudW0gY29tbWl0X2dyYXBoX3dyaXRlX2ZsYWdzIHsKKwlDT01NSVRfR1JBUEhfV1JJVEVfQVBQRU5EICAgICA9ICgxIDw8IDApLAorCUNPTU1JVF9HUkFQSF9XUklURV9QUk9HUkVTUyAgID0gKDEgPDwgMSksCisJQ09NTUlUX0dSQVBIX1dSSVRFX1NQTElUICAgICAgPSAoMSA8PCAyKSwKKwkvKiBNYWtlIHN1cmUgdGhhdCBlYWNoIE9JRCBpbiB0aGUgaW5wdXQgaXMgYSB2YWxpZCBjb21taXQgT0lELiAqLworCUNPTU1JVF9HUkFQSF9XUklURV9DSEVDS19PSURTID0gKDEgPDwgMykKK307CiAKLWludCB2ZXJpZnlfY29tbWl0X2dyYXBoKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3QgY29tbWl0X2dyYXBoICpnKTsKK3N0cnVjdCBzcGxpdF9jb21taXRfZ3JhcGhfb3B0cyB7CisJaW50IHNpemVfbXVsdGlwbGU7CisJaW50IG1heF9jb21taXRzOworCXRpbWVzdGFtcF90IGV4cGlyZV90aW1lOworfTsKIAotdm9pZCBjbG9zZV9jb21taXRfZ3JhcGgoc3RydWN0IHJlcG9zaXRvcnkgKik7CisvKgorICogVGhlIHdyaXRlX2NvbW1pdF9ncmFwaCogbWV0aG9kcyByZXR1cm4gemVybyBvbiBzdWNjZXNzCisgKiBhbmQgYSBuZWdhdGl2ZSB2YWx1ZSBvbiBmYWlsdXJlLiBOb3RlIHRoYXQgaWYgdGhlIHJlcG9zaXRvcnkKKyAqIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhlIGNvbW1pdC1ncmFwaCBmZWF0dXJlLCB0aGVuIHRoZQorICogbWV0aG9kcyB3aWxsIHJldHVybiAwIHdpdGhvdXQgd3JpdGluZyBhIGNvbW1pdC1ncmFwaC4KKyAqLworaW50IHdyaXRlX2NvbW1pdF9ncmFwaF9yZWFjaGFibGUoc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKm9kYiwKKwkJCQkgZW51bSBjb21taXRfZ3JhcGhfd3JpdGVfZmxhZ3MgZmxhZ3MsCisJCQkJIGNvbnN0IHN0cnVjdCBzcGxpdF9jb21taXRfZ3JhcGhfb3B0cyAqc3BsaXRfb3B0cyk7CitpbnQgd3JpdGVfY29tbWl0X2dyYXBoKHN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICpvZGIsCisJCSAgICAgICBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnBhY2tfaW5kZXhlcywKKwkJICAgICAgIHN0cnVjdCBzdHJpbmdfbGlzdCAqY29tbWl0X2hleCwKKwkJICAgICAgIGVudW0gY29tbWl0X2dyYXBoX3dyaXRlX2ZsYWdzIGZsYWdzLAorCQkgICAgICAgY29uc3Qgc3RydWN0IHNwbGl0X2NvbW1pdF9ncmFwaF9vcHRzICpzcGxpdF9vcHRzKTsKKworI2RlZmluZSBDT01NSVRfR1JBUEhfVkVSSUZZX1NIQUxMT1cJKDEgPDwgMCkKKworaW50IHZlcmlmeV9jb21taXRfZ3JhcGgoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBjb21taXRfZ3JhcGggKmcsIGludCBmbGFncyk7CisKK3ZvaWQgY2xvc2VfY29tbWl0X2dyYXBoKHN0cnVjdCByYXdfb2JqZWN0X3N0b3JlICopOwogdm9pZCBmcmVlX2NvbW1pdF9ncmFwaChzdHJ1Y3QgY29tbWl0X2dyYXBoICopOwogCisvKgorICogRGlzYWJsZSBmdXJ0aGVyIHVzZSBvZiB0aGUgY29tbWl0IGdyYXBoIGluIHRoaXMgcHJvY2VzcyB3aGVuIHBhcnNpbmcgYQorICogInN0cnVjdCBjb21taXQiLgorICovCit2b2lkIGRpc2FibGVfY29tbWl0X2dyYXBoKHN0cnVjdCByZXBvc2l0b3J5ICpyKTsKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9jb21taXQtcmVhY2guYyBiL2NvbW1pdC1yZWFjaC5jCmluZGV4IGQ1YTM5ZGUuLjRjYTdlNzAgMTAwNjQ0Ci0tLSBhL2NvbW1pdC1yZWFjaC5jCisrKyBiL2NvbW1pdC1yZWFjaC5jCkBAIC0xMCw3ICsxMCw2IEBACiAjaW5jbHVkZSAiY29tbWl0LXJlYWNoLmgiCiAKIC8qIFJlbWVtYmVyIHRvIHVwZGF0ZSBvYmplY3QgZmxhZyBhbGxvY2F0aW9uIGluIG9iamVjdC5oICovCi0jZGVmaW5lIFJFQUNIQUJMRSAgICAgICAoMXU8PDE1KQogI2RlZmluZSBQQVJFTlQxCQkoMXU8PDE2KQogI2RlZmluZSBQQVJFTlQyCQkoMXU8PDE3KQogI2RlZmluZSBTVEFMRQkJKDF1PDwxOCkKQEAgLTMwLDcgKzI5LDggQEAKIH0KIAogLyogYWxsIGlucHV0IGNvbW1pdHMgaW4gb25lIGFuZCB0d29zW10gbXVzdCBoYXZlIGJlZW4gcGFyc2VkISAqLwotc3RhdGljIHN0cnVjdCBjb21taXRfbGlzdCAqcGFpbnRfZG93bl90b19jb21tb24oc3RydWN0IGNvbW1pdCAqb25lLCBpbnQgbiwKK3N0YXRpYyBzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhaW50X2Rvd25fdG9fY29tbW9uKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCQkJc3RydWN0IGNvbW1pdCAqb25lLCBpbnQgbiwKIAkJCQkJCXN0cnVjdCBjb21taXQgKip0d29zLAogCQkJCQkJaW50IG1pbl9nZW5lcmF0aW9uKQogewpAQCAtODMsNyArODMsNyBAQAogCQkJcGFyZW50cyA9IHBhcmVudHMtPm5leHQ7CiAJCQlpZiAoKHAtPm9iamVjdC5mbGFncyAmIGZsYWdzKSA9PSBmbGFncykKIAkJCQljb250aW51ZTsKLQkJCWlmIChwYXJzZV9jb21taXQocCkpCisJCQlpZiAocmVwb19wYXJzZV9jb21taXQociwgcCkpCiAJCQkJcmV0dXJuIE5VTEw7CiAJCQlwLT5vYmplY3QuZmxhZ3MgfD0gZmxhZ3M7CiAJCQlwcmlvX3F1ZXVlX3B1dCgmcXVldWUsIHApOwpAQCAtOTQsNyArOTQsOSBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgY29tbWl0X2xpc3QgKm1lcmdlX2Jhc2VzX21hbnkoc3RydWN0IGNvbW1pdCAqb25lLCBpbnQgbiwgc3RydWN0IGNvbW1pdCAqKnR3b3MpCitzdGF0aWMgc3RydWN0IGNvbW1pdF9saXN0ICptZXJnZV9iYXNlc19tYW55KHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCQkgICAgc3RydWN0IGNvbW1pdCAqb25lLCBpbnQgbiwKKwkJCQkJICAgIHN0cnVjdCBjb21taXQgKip0d29zKQogewogCXN0cnVjdCBjb21taXRfbGlzdCAqbGlzdCA9IE5VTEw7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpyZXN1bHQgPSBOVUxMOwpAQCAtMTA5LDE0ICsxMTEsMTQgQEAKIAkJCXJldHVybiBjb21taXRfbGlzdF9pbnNlcnQob25lLCAmcmVzdWx0KTsKIAl9CiAKLQlpZiAocGFyc2VfY29tbWl0KG9uZSkpCisJaWYgKHJlcG9fcGFyc2VfY29tbWl0KHIsIG9uZSkpCiAJCXJldHVybiBOVUxMOwogCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKLQkJaWYgKHBhcnNlX2NvbW1pdCh0d29zW2ldKSkKKwkJaWYgKHJlcG9fcGFyc2VfY29tbWl0KHIsIHR3b3NbaV0pKQogCQkJcmV0dXJuIE5VTEw7CiAJfQogCi0JbGlzdCA9IHBhaW50X2Rvd25fdG9fY29tbW9uKG9uZSwgbiwgdHdvcywgMCk7CisJbGlzdCA9IHBhaW50X2Rvd25fdG9fY29tbW9uKHIsIG9uZSwgbiwgdHdvcywgMCk7CiAKIAl3aGlsZSAobGlzdCkgewogCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBwb3BfY29tbWl0KCZsaXN0KTsKQEAgLTE1Myw3ICsxNTUsNyBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgcmVtb3ZlX3JlZHVuZGFudChzdHJ1Y3QgY29tbWl0ICoqYXJyYXksIGludCBjbnQpCitzdGF0aWMgaW50IHJlbW92ZV9yZWR1bmRhbnQoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBjb21taXQgKiphcnJheSwgaW50IGNudCkKIHsKIAkvKgogCSAqIFNvbWUgY29tbWl0IGluIHRoZSBhcnJheSBtYXkgYmUgYW4gYW5jZXN0b3Igb2YKQEAgLTE3MSw3ICsxNzMsNyBAQAogCUFMTE9DX0FSUkFZKGZpbGxlZF9pbmRleCwgY250IC0gMSk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgY250OyBpKyspCi0JCXBhcnNlX2NvbW1pdChhcnJheVtpXSk7CisJCXJlcG9fcGFyc2VfY29tbWl0KHIsIGFycmF5W2ldKTsKIAlmb3IgKGkgPSAwOyBpIDwgY250OyBpKyspIHsKIAkJc3RydWN0IGNvbW1pdF9saXN0ICpjb21tb247CiAJCXVpbnQzMl90IG1pbl9nZW5lcmF0aW9uID0gYXJyYXlbaV0tPmdlbmVyYXRpb247CkBAIC0xODcsOCArMTg5LDggQEAKIAkJCWlmIChhcnJheVtqXS0+Z2VuZXJhdGlvbiA8IG1pbl9nZW5lcmF0aW9uKQogCQkJCW1pbl9nZW5lcmF0aW9uID0gYXJyYXlbal0tPmdlbmVyYXRpb247CiAJCX0KLQkJY29tbW9uID0gcGFpbnRfZG93bl90b19jb21tb24oYXJyYXlbaV0sIGZpbGxlZCwgd29yaywKLQkJCQkJICAgICAgbWluX2dlbmVyYXRpb24pOworCQljb21tb24gPSBwYWludF9kb3duX3RvX2NvbW1vbihyLCBhcnJheVtpXSwgZmlsbGVkLAorCQkJCQkgICAgICB3b3JrLCBtaW5fZ2VuZXJhdGlvbik7CiAJCWlmIChhcnJheVtpXS0+b2JqZWN0LmZsYWdzICYgUEFSRU5UMikKIAkJCXJlZHVuZGFudFtpXSA9IDE7CiAJCWZvciAoaiA9IDA7IGogPCBmaWxsZWQ7IGorKykKQEAgLTIxMyw3ICsyMTUsOCBAQAogCXJldHVybiBmaWxsZWQ7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgY29tbWl0X2xpc3QgKmdldF9tZXJnZV9iYXNlc19tYW55XzAoc3RydWN0IGNvbW1pdCAqb25lLAorc3RhdGljIHN0cnVjdCBjb21taXRfbGlzdCAqZ2V0X21lcmdlX2Jhc2VzX21hbnlfMChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkJCSAgc3RydWN0IGNvbW1pdCAqb25lLAogCQkJCQkJICBpbnQgbiwKIAkJCQkJCSAgc3RydWN0IGNvbW1pdCAqKnR3b3MsCiAJCQkJCQkgIGludCBjbGVhbnVwKQpAQCAtMjIzLDcgKzIyNiw3IEBACiAJc3RydWN0IGNvbW1pdF9saXN0ICpyZXN1bHQ7CiAJaW50IGNudCwgaTsKIAotCXJlc3VsdCA9IG1lcmdlX2Jhc2VzX21hbnkob25lLCBuLCB0d29zKTsKKwlyZXN1bHQgPSBtZXJnZV9iYXNlc19tYW55KHIsIG9uZSwgbiwgdHdvcyk7CiAJZm9yIChpID0gMDsgaSA8IG47IGkrKykgewogCQlpZiAob25lID09IHR3b3NbaV0pCiAJCQlyZXR1cm4gcmVzdWx0OwpAQCAtMjQ2LDcgKzI0OSw3IEBACiAJY2xlYXJfY29tbWl0X21hcmtzKG9uZSwgYWxsX2ZsYWdzKTsKIAljbGVhcl9jb21taXRfbWFya3NfbWFueShuLCB0d29zLCBhbGxfZmxhZ3MpOwogCi0JY250ID0gcmVtb3ZlX3JlZHVuZGFudChyc2x0LCBjbnQpOworCWNudCA9IHJlbW92ZV9yZWR1bmRhbnQociwgcnNsdCwgY250KTsKIAlyZXN1bHQgPSBOVUxMOwogCWZvciAoaSA9IDA7IGkgPCBjbnQ7IGkrKykKIAkJY29tbWl0X2xpc3RfaW5zZXJ0X2J5X2RhdGUocnNsdFtpXSwgJnJlc3VsdCk7CkBAIC0yNTQsMjMgKzI1NywyNyBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLXN0cnVjdCBjb21taXRfbGlzdCAqZ2V0X21lcmdlX2Jhc2VzX21hbnkoc3RydWN0IGNvbW1pdCAqb25lLAotCQkJCQkgaW50IG4sCi0JCQkJCSBzdHJ1Y3QgY29tbWl0ICoqdHdvcykKK3N0cnVjdCBjb21taXRfbGlzdCAqcmVwb19nZXRfbWVyZ2VfYmFzZXNfbWFueShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkJICAgICAgc3RydWN0IGNvbW1pdCAqb25lLAorCQkJCQkgICAgICBpbnQgbiwKKwkJCQkJICAgICAgc3RydWN0IGNvbW1pdCAqKnR3b3MpCiB7Ci0JcmV0dXJuIGdldF9tZXJnZV9iYXNlc19tYW55XzAob25lLCBuLCB0d29zLCAxKTsKKwlyZXR1cm4gZ2V0X21lcmdlX2Jhc2VzX21hbnlfMChyLCBvbmUsIG4sIHR3b3MsIDEpOwogfQogCi1zdHJ1Y3QgY29tbWl0X2xpc3QgKmdldF9tZXJnZV9iYXNlc19tYW55X2RpcnR5KHN0cnVjdCBjb21taXQgKm9uZSwKLQkJCQkJICAgICAgIGludCBuLAotCQkJCQkgICAgICAgc3RydWN0IGNvbW1pdCAqKnR3b3MpCitzdHJ1Y3QgY29tbWl0X2xpc3QgKnJlcG9fZ2V0X21lcmdlX2Jhc2VzX21hbnlfZGlydHkoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJCQkgICAgc3RydWN0IGNvbW1pdCAqb25lLAorCQkJCQkJICAgIGludCBuLAorCQkJCQkJICAgIHN0cnVjdCBjb21taXQgKip0d29zKQogewotCXJldHVybiBnZXRfbWVyZ2VfYmFzZXNfbWFueV8wKG9uZSwgbiwgdHdvcywgMCk7CisJcmV0dXJuIGdldF9tZXJnZV9iYXNlc19tYW55XzAociwgb25lLCBuLCB0d29zLCAwKTsKIH0KIAotc3RydWN0IGNvbW1pdF9saXN0ICpnZXRfbWVyZ2VfYmFzZXMoc3RydWN0IGNvbW1pdCAqb25lLCBzdHJ1Y3QgY29tbWl0ICp0d28pCitzdHJ1Y3QgY29tbWl0X2xpc3QgKnJlcG9fZ2V0X21lcmdlX2Jhc2VzKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCQkgc3RydWN0IGNvbW1pdCAqb25lLAorCQkJCQkgc3RydWN0IGNvbW1pdCAqdHdvKQogewotCXJldHVybiBnZXRfbWVyZ2VfYmFzZXNfbWFueV8wKG9uZSwgMSwgJnR3bywgMSk7CisJcmV0dXJuIGdldF9tZXJnZV9iYXNlc19tYW55XzAociwgb25lLCAxLCAmdHdvLCAxKTsKIH0KIAogLyoKQEAgLTMwNCwxNiArMzExLDE3IEBACiAvKgogICogSXMgImNvbW1pdCIgYW4gYW5jZXN0b3Igb2Ygb25lIG9mIHRoZSAicmVmZXJlbmNlcyI/CiAgKi8KLWludCBpbl9tZXJnZV9iYXNlc19tYW55KHN0cnVjdCBjb21taXQgKmNvbW1pdCwgaW50IG5yX3JlZmVyZW5jZSwgc3RydWN0IGNvbW1pdCAqKnJlZmVyZW5jZSkKK2ludCByZXBvX2luX21lcmdlX2Jhc2VzX21hbnkoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBjb21taXQgKmNvbW1pdCwKKwkJCSAgICAgaW50IG5yX3JlZmVyZW5jZSwgc3RydWN0IGNvbW1pdCAqKnJlZmVyZW5jZSkKIHsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKmJhc2VzOwogCWludCByZXQgPSAwLCBpOwogCXVpbnQzMl90IG1pbl9nZW5lcmF0aW9uID0gR0VORVJBVElPTl9OVU1CRVJfSU5GSU5JVFk7CiAKLQlpZiAocGFyc2VfY29tbWl0KGNvbW1pdCkpCisJaWYgKHJlcG9fcGFyc2VfY29tbWl0KHIsIGNvbW1pdCkpCiAJCXJldHVybiByZXQ7CiAJZm9yIChpID0gMDsgaSA8IG5yX3JlZmVyZW5jZTsgaSsrKSB7Ci0JCWlmIChwYXJzZV9jb21taXQocmVmZXJlbmNlW2ldKSkKKwkJaWYgKHJlcG9fcGFyc2VfY29tbWl0KHIsIHJlZmVyZW5jZVtpXSkpCiAJCQlyZXR1cm4gcmV0OwogCQlpZiAocmVmZXJlbmNlW2ldLT5nZW5lcmF0aW9uIDwgbWluX2dlbmVyYXRpb24pCiAJCQltaW5fZ2VuZXJhdGlvbiA9IHJlZmVyZW5jZVtpXS0+Z2VuZXJhdGlvbjsKQEAgLTMyMiw3ICszMzAsOSBAQAogCWlmIChjb21taXQtPmdlbmVyYXRpb24gPiBtaW5fZ2VuZXJhdGlvbikKIAkJcmV0dXJuIHJldDsKIAotCWJhc2VzID0gcGFpbnRfZG93bl90b19jb21tb24oY29tbWl0LCBucl9yZWZlcmVuY2UsIHJlZmVyZW5jZSwgY29tbWl0LT5nZW5lcmF0aW9uKTsKKwliYXNlcyA9IHBhaW50X2Rvd25fdG9fY29tbW9uKHIsIGNvbW1pdCwKKwkJCQkgICAgIG5yX3JlZmVyZW5jZSwgcmVmZXJlbmNlLAorCQkJCSAgICAgY29tbWl0LT5nZW5lcmF0aW9uKTsKIAlpZiAoY29tbWl0LT5vYmplY3QuZmxhZ3MgJiBQQVJFTlQyKQogCQlyZXQgPSAxOwogCWNsZWFyX2NvbW1pdF9tYXJrcyhjb21taXQsIGFsbF9mbGFncyk7CkBAIC0zMzQsOSArMzQ0LDExIEBACiAvKgogICogSXMgImNvbW1pdCIgYW4gYW5jZXN0b3Igb2YgKGkuZS4gcmVhY2hhYmxlIGZyb20pIHRoZSAicmVmZXJlbmNlIj8KICAqLwotaW50IGluX21lcmdlX2Jhc2VzKHN0cnVjdCBjb21taXQgKmNvbW1pdCwgc3RydWN0IGNvbW1pdCAqcmVmZXJlbmNlKQoraW50IHJlcG9faW5fbWVyZ2VfYmFzZXMoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQsCisJCQlzdHJ1Y3QgY29tbWl0ICpyZWZlcmVuY2UpCiB7Ci0JcmV0dXJuIGluX21lcmdlX2Jhc2VzX21hbnkoY29tbWl0LCAxLCAmcmVmZXJlbmNlKTsKKwlyZXR1cm4gcmVwb19pbl9tZXJnZV9iYXNlc19tYW55KHIsIGNvbW1pdCwgMSwgJnJlZmVyZW5jZSk7CiB9CiAKIHN0cnVjdCBjb21taXRfbGlzdCAqcmVkdWNlX2hlYWRzKHN0cnVjdCBjb21taXRfbGlzdCAqaGVhZHMpCkBAIC0zNjUsNyArMzc3LDcgQEAKIAkJCXAtPml0ZW0tPm9iamVjdC5mbGFncyAmPSB+U1RBTEU7CiAJCX0KIAl9Ci0JbnVtX2hlYWQgPSByZW1vdmVfcmVkdW5kYW50KGFycmF5LCBudW1faGVhZCk7CisJbnVtX2hlYWQgPSByZW1vdmVfcmVkdW5kYW50KHRoZV9yZXBvc2l0b3J5LCBhcnJheSwgbnVtX2hlYWQpOwogCWZvciAoaSA9IDA7IGkgPCBudW1faGVhZDsgaSsrKQogCQl0YWlsID0gJmNvbW1pdF9saXN0X2luc2VydChhcnJheVtpXSwgdGFpbCktPm5leHQ7CiAJZnJlZShhcnJheSk7CmRpZmYgLS1naXQgYS9jb21taXQtcmVhY2guaCBiL2NvbW1pdC1yZWFjaC5oCmluZGV4IGZiODA4MmEuLjk5YTQzZTggMTAwNjQ0Ci0tLSBhL2NvbW1pdC1yZWFjaC5oCisrKyBiL2NvbW1pdC1yZWFjaC5oCkBAIC05LDIxICs5LDM1IEBACiBzdHJ1Y3Qgb2JqZWN0X2lkOwogc3RydWN0IG9iamVjdF9hcnJheTsKIAotc3RydWN0IGNvbW1pdF9saXN0ICpnZXRfbWVyZ2VfYmFzZXNfbWFueShzdHJ1Y3QgY29tbWl0ICpvbmUsCi0JCQkJCSBpbnQgbiwKLQkJCQkJIHN0cnVjdCBjb21taXQgKip0d29zKTsKLXN0cnVjdCBjb21taXRfbGlzdCAqZ2V0X21lcmdlX2Jhc2VzX21hbnlfZGlydHkoc3RydWN0IGNvbW1pdCAqb25lLAotCQkJCQkgICAgICAgaW50IG4sCi0JCQkJCSAgICAgICBzdHJ1Y3QgY29tbWl0ICoqdHdvcyk7Ci1zdHJ1Y3QgY29tbWl0X2xpc3QgKmdldF9tZXJnZV9iYXNlcyhzdHJ1Y3QgY29tbWl0ICpvbmUsIHN0cnVjdCBjb21taXQgKnR3byk7CitzdHJ1Y3QgY29tbWl0X2xpc3QgKnJlcG9fZ2V0X21lcmdlX2Jhc2VzKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCQkgc3RydWN0IGNvbW1pdCAqcmV2MSwKKwkJCQkJIHN0cnVjdCBjb21taXQgKnJldjIpOworc3RydWN0IGNvbW1pdF9saXN0ICpyZXBvX2dldF9tZXJnZV9iYXNlc19tYW55KHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCQkgICAgICBzdHJ1Y3QgY29tbWl0ICpvbmUsIGludCBuLAorCQkJCQkgICAgICBzdHJ1Y3QgY29tbWl0ICoqdHdvcyk7CisvKiBUbyBiZSB1c2VkIG9ubHkgd2hlbiBvYmplY3QgZmxhZ3MgYWZ0ZXIgdGhpcyBjYWxsIG5vIGxvbmdlciBtYXR0ZXIgKi8KK3N0cnVjdCBjb21taXRfbGlzdCAqcmVwb19nZXRfbWVyZ2VfYmFzZXNfbWFueV9kaXJ0eShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkJCSAgICBzdHJ1Y3QgY29tbWl0ICpvbmUsIGludCBuLAorCQkJCQkJICAgIHN0cnVjdCBjb21taXQgKip0d29zKTsKKyNpZm5kZWYgTk9fVEhFX1JFUE9TSVRPUllfQ09NUEFUSUJJTElUWV9NQUNST1MKKyNkZWZpbmUgZ2V0X21lcmdlX2Jhc2VzKHIxLCByMikgICAgICAgICAgIHJlcG9fZ2V0X21lcmdlX2Jhc2VzKHRoZV9yZXBvc2l0b3J5LCByMSwgcjIpCisjZGVmaW5lIGdldF9tZXJnZV9iYXNlc19tYW55KG9uZSwgbiwgdHdvKSByZXBvX2dldF9tZXJnZV9iYXNlc19tYW55KHRoZV9yZXBvc2l0b3J5LCBvbmUsIG4sIHR3bykKKyNkZWZpbmUgZ2V0X21lcmdlX2Jhc2VzX21hbnlfZGlydHkob25lLCBuLCB0d29zKSByZXBvX2dldF9tZXJnZV9iYXNlc19tYW55X2RpcnR5KHRoZV9yZXBvc2l0b3J5LCBvbmUsIG4sIHR3b3MpCisjZW5kaWYKKwogc3RydWN0IGNvbW1pdF9saXN0ICpnZXRfb2N0b3B1c19tZXJnZV9iYXNlcyhzdHJ1Y3QgY29tbWl0X2xpc3QgKmluKTsKIAotLyogVG8gYmUgdXNlZCBvbmx5IHdoZW4gb2JqZWN0IGZsYWdzIGFmdGVyIHRoaXMgY2FsbCBubyBsb25nZXIgbWF0dGVyICovCi1zdHJ1Y3QgY29tbWl0X2xpc3QgKmdldF9tZXJnZV9iYXNlc19tYW55X2RpcnR5KHN0cnVjdCBjb21taXQgKm9uZSwgaW50IG4sIHN0cnVjdCBjb21taXQgKip0d29zKTsKLQogaW50IGlzX2Rlc2NlbmRhbnRfb2Yoc3RydWN0IGNvbW1pdCAqY29tbWl0LCBzdHJ1Y3QgY29tbWl0X2xpc3QgKndpdGhfY29tbWl0KTsKLWludCBpbl9tZXJnZV9iYXNlc19tYW55KHN0cnVjdCBjb21taXQgKmNvbW1pdCwgaW50IG5yX3JlZmVyZW5jZSwgc3RydWN0IGNvbW1pdCAqKnJlZmVyZW5jZSk7Ci1pbnQgaW5fbWVyZ2VfYmFzZXMoc3RydWN0IGNvbW1pdCAqY29tbWl0LCBzdHJ1Y3QgY29tbWl0ICpyZWZlcmVuY2UpOworaW50IHJlcG9faW5fbWVyZ2VfYmFzZXMoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQsCisJCQlzdHJ1Y3QgY29tbWl0ICpyZWZlcmVuY2UpOworaW50IHJlcG9faW5fbWVyZ2VfYmFzZXNfbWFueShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCSAgICAgc3RydWN0IGNvbW1pdCAqY29tbWl0LAorCQkJICAgICBpbnQgbnJfcmVmZXJlbmNlLCBzdHJ1Y3QgY29tbWl0ICoqcmVmZXJlbmNlKTsKKyNpZm5kZWYgTk9fVEhFX1JFUE9TSVRPUllfQ09NUEFUSUJJTElUWV9NQUNST1MKKyNkZWZpbmUgaW5fbWVyZ2VfYmFzZXMoYzEsIGMyKSByZXBvX2luX21lcmdlX2Jhc2VzKHRoZV9yZXBvc2l0b3J5LCBjMSwgYzIpCisjZGVmaW5lIGluX21lcmdlX2Jhc2VzX21hbnkoYzEsIG4sIGNzKSByZXBvX2luX21lcmdlX2Jhc2VzX21hbnkodGhlX3JlcG9zaXRvcnksIGMxLCBuLCBjcykKKyNlbmRpZgogCiAvKgogICogVGFrZXMgYSBsaXN0IG9mIGNvbW1pdHMgYW5kIHJldHVybnMgYSBuZXcgbGlzdCB3aGVyZSB0aG9zZQpkaWZmIC0tZ2l0IGEvY29tbWl0LmMgYi9jb21taXQuYwppbmRleCBkMTNhN2JjLi5hNmNmYTQxIDEwMDY0NAotLS0gYS9jb21taXQuYworKysgYi9jb21taXQuYwpAQCAtMTksNiArMTksNyBAQAogI2luY2x1ZGUgImFkdmljZS5oIgogI2luY2x1ZGUgInJlZnMuaCIKICNpbmNsdWRlICJjb21taXQtcmVhY2guaCIKKyNpbmNsdWRlICJydW4tY29tbWFuZC5oIgogCiBzdGF0aWMgc3RydWN0IGNvbW1pdF9leHRyYV9oZWFkZXIgKnJlYWRfY29tbWl0X2V4dHJhX2hlYWRlcl9saW5lcyhjb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4sIGNvbnN0IGNoYXIgKiopOwogCkBAIC01NywxMCArNTgsOSBAQAogCiBzdHJ1Y3QgY29tbWl0ICpsb29rdXBfY29tbWl0KHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0Jc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX29iamVjdChyLCBvaWQtPmhhc2gpOworCXN0cnVjdCBvYmplY3QgKm9iaiA9IGxvb2t1cF9vYmplY3Qociwgb2lkKTsKIAlpZiAoIW9iaikKLQkJcmV0dXJuIGNyZWF0ZV9vYmplY3Qociwgb2lkLT5oYXNoLAotCQkJCSAgICAgYWxsb2NfY29tbWl0X25vZGUocikpOworCQlyZXR1cm4gY3JlYXRlX29iamVjdChyLCBvaWQsIGFsbG9jX2NvbW1pdF9ub2RlKHIpKTsKIAlyZXR1cm4gb2JqZWN0X2FzX3R5cGUociwgb2JqLCBPQkpfQ09NTUlULCAwKTsKIH0KIApAQCAtMjk5LDEzICsyOTksMTUgQEAKIAlyZXR1cm4gdi0+YnVmZmVyOwogfQogCi1jb25zdCB2b2lkICpnZXRfY29tbWl0X2J1ZmZlcihjb25zdCBzdHJ1Y3QgY29tbWl0ICpjb21taXQsIHVuc2lnbmVkIGxvbmcgKnNpemVwKQorY29uc3Qgdm9pZCAqcmVwb19nZXRfY29tbWl0X2J1ZmZlcihzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkgICBjb25zdCBzdHJ1Y3QgY29tbWl0ICpjb21taXQsCisJCQkJICAgdW5zaWduZWQgbG9uZyAqc2l6ZXApCiB7Ci0JY29uc3Qgdm9pZCAqcmV0ID0gZ2V0X2NhY2hlZF9jb21taXRfYnVmZmVyKHRoZV9yZXBvc2l0b3J5LCBjb21taXQsIHNpemVwKTsKKwljb25zdCB2b2lkICpyZXQgPSBnZXRfY2FjaGVkX2NvbW1pdF9idWZmZXIociwgY29tbWl0LCBzaXplcCk7CiAJaWYgKCFyZXQpIHsKIAkJZW51bSBvYmplY3RfdHlwZSB0eXBlOwogCQl1bnNpZ25lZCBsb25nIHNpemU7Ci0JCXJldCA9IHJlYWRfb2JqZWN0X2ZpbGUoJmNvbW1pdC0+b2JqZWN0Lm9pZCwgJnR5cGUsICZzaXplKTsKKwkJcmV0ID0gcmVwb19yZWFkX29iamVjdF9maWxlKHIsICZjb21taXQtPm9iamVjdC5vaWQsICZ0eXBlLCAmc2l6ZSk7CiAJCWlmICghcmV0KQogCQkJZGllKCJjYW5ub3QgcmVhZCBjb21taXQgb2JqZWN0ICVzIiwKIAkJCSAgICBvaWRfdG9faGV4KCZjb21taXQtPm9iamVjdC5vaWQpKTsKQEAgLTMxOCw0NyArMzIwLDU1IEBACiAJcmV0dXJuIHJldDsKIH0KIAotdm9pZCB1bnVzZV9jb21taXRfYnVmZmVyKGNvbnN0IHN0cnVjdCBjb21taXQgKmNvbW1pdCwgY29uc3Qgdm9pZCAqYnVmZmVyKQordm9pZCByZXBvX3VudXNlX2NvbW1pdF9idWZmZXIoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgICAgICBjb25zdCBzdHJ1Y3QgY29tbWl0ICpjb21taXQsCisJCQkgICAgICBjb25zdCB2b2lkICpidWZmZXIpCiB7CiAJc3RydWN0IGNvbW1pdF9idWZmZXIgKnYgPSBidWZmZXJfc2xhYl9wZWVrKAotCQl0aGVfcmVwb3NpdG9yeS0+cGFyc2VkX29iamVjdHMtPmJ1ZmZlcl9zbGFiLCBjb21taXQpOworCQlyLT5wYXJzZWRfb2JqZWN0cy0+YnVmZmVyX3NsYWIsIGNvbW1pdCk7CiAJaWYgKCEodiAmJiB2LT5idWZmZXIgPT0gYnVmZmVyKSkKIAkJZnJlZSgodm9pZCAqKWJ1ZmZlcik7CiB9CiAKLXZvaWQgZnJlZV9jb21taXRfYnVmZmVyKHN0cnVjdCBjb21taXQgKmNvbW1pdCkKK3ZvaWQgZnJlZV9jb21taXRfYnVmZmVyKHN0cnVjdCBwYXJzZWRfb2JqZWN0X3Bvb2wgKnBvb2wsIHN0cnVjdCBjb21taXQgKmNvbW1pdCkKIHsKIAlzdHJ1Y3QgY29tbWl0X2J1ZmZlciAqdiA9IGJ1ZmZlcl9zbGFiX3BlZWsoCi0JCXRoZV9yZXBvc2l0b3J5LT5wYXJzZWRfb2JqZWN0cy0+YnVmZmVyX3NsYWIsIGNvbW1pdCk7CisJCXBvb2wtPmJ1ZmZlcl9zbGFiLCBjb21taXQpOwogCWlmICh2KSB7CiAJCUZSRUVfQU5EX05VTEwodi0+YnVmZmVyKTsKIAkJdi0+c2l6ZSA9IDA7CiAJfQogfQogCi1zdHJ1Y3QgdHJlZSAqZ2V0X2NvbW1pdF90cmVlKGNvbnN0IHN0cnVjdCBjb21taXQgKmNvbW1pdCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRfY29tbWl0X3RyZWUoc3RydWN0IGNvbW1pdCAqYywgc3RydWN0IHRyZWUgKnQpCit7CisJYy0+bWF5YmVfdHJlZSA9IHQ7Cit9CisKK3N0cnVjdCB0cmVlICpyZXBvX2dldF9jb21taXRfdHJlZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkgIGNvbnN0IHN0cnVjdCBjb21taXQgKmNvbW1pdCkKIHsKIAlpZiAoY29tbWl0LT5tYXliZV90cmVlIHx8ICFjb21taXQtPm9iamVjdC5wYXJzZWQpCiAJCXJldHVybiBjb21taXQtPm1heWJlX3RyZWU7CiAKLQlpZiAoY29tbWl0LT5ncmFwaF9wb3MgPT0gQ09NTUlUX05PVF9GUk9NX0dSQVBIKQotCQlCVUcoImNvbW1pdCBoYXMgTlVMTCB0cmVlLCBidXQgd2FzIG5vdCBsb2FkZWQgZnJvbSBjb21taXQtZ3JhcGgiKTsKKwlpZiAoY29tbWl0LT5ncmFwaF9wb3MgIT0gQ09NTUlUX05PVF9GUk9NX0dSQVBIKQorCQlyZXR1cm4gZ2V0X2NvbW1pdF90cmVlX2luX2dyYXBoKHIsIGNvbW1pdCk7CiAKLQlyZXR1cm4gZ2V0X2NvbW1pdF90cmVlX2luX2dyYXBoKHRoZV9yZXBvc2l0b3J5LCBjb21taXQpOworCXJldHVybiBOVUxMOwogfQogCiBzdHJ1Y3Qgb2JqZWN0X2lkICpnZXRfY29tbWl0X3RyZWVfb2lkKGNvbnN0IHN0cnVjdCBjb21taXQgKmNvbW1pdCkKIHsKLQlyZXR1cm4gJmdldF9jb21taXRfdHJlZShjb21taXQpLT5vYmplY3Qub2lkOworCXN0cnVjdCB0cmVlICp0cmVlID0gZ2V0X2NvbW1pdF90cmVlKGNvbW1pdCk7CisJcmV0dXJuIHRyZWUgPyAmdHJlZS0+b2JqZWN0Lm9pZCA6IE5VTEw7CiB9CiAKLXZvaWQgcmVsZWFzZV9jb21taXRfbWVtb3J5KHN0cnVjdCBjb21taXQgKmMpCit2b2lkIHJlbGVhc2VfY29tbWl0X21lbW9yeShzdHJ1Y3QgcGFyc2VkX29iamVjdF9wb29sICpwb29sLCBzdHJ1Y3QgY29tbWl0ICpjKQogewotCWMtPm1heWJlX3RyZWUgPSBOVUxMOworCXNldF9jb21taXRfdHJlZShjLCBOVUxMKTsKKwlmcmVlX2NvbW1pdF9idWZmZXIocG9vbCwgYyk7CiAJYy0+aW5kZXggPSAwOwotCWZyZWVfY29tbWl0X2J1ZmZlcihjKTsKIAlmcmVlX2NvbW1pdF9saXN0KGMtPnBhcmVudHMpOwotCS8qIFRPRE86IHdoYXQgYWJvdXQgY29tbWl0LT51dGlsPyAqLwogCiAJYy0+b2JqZWN0LnBhcnNlZCA9IDA7CiB9CkBAIC0zOTIsMTAgKzQwMiwyMiBAQAogCXN0cnVjdCBjb21taXRfZ3JhZnQgKmdyYWZ0OwogCWNvbnN0IGludCB0cmVlX2VudHJ5X2xlbiA9IHRoZV9oYXNoX2FsZ28tPmhleHN6ICsgNTsKIAljb25zdCBpbnQgcGFyZW50X2VudHJ5X2xlbiA9IHRoZV9oYXNoX2FsZ28tPmhleHN6ICsgNzsKKwlzdHJ1Y3QgdHJlZSAqdHJlZTsKIAogCWlmIChpdGVtLT5vYmplY3QucGFyc2VkKQogCQlyZXR1cm4gMDsKLQlpdGVtLT5vYmplY3QucGFyc2VkID0gMTsKKworCWlmIChpdGVtLT5wYXJlbnRzKSB7CisJCS8qCisJCSAqIFByZXN1bWFibHkgdGhpcyBpcyBsZWZ0b3ZlciBmcm9tIGFuIGVhcmxpZXIgZmFpbGVkIHBhcnNlOworCQkgKiBjbGVhciBpdCBvdXQgaW4gcHJlcGFyYXRpb24gZm9yIHVzIHJlLXBhcnNpbmcgKHdlJ2xsIGhpdCB0aGUKKwkJICogc2FtZSBlcnJvciwgYnV0IHRoYXQncyBnb29kLCBzaW5jZSBpdCBsZXRzIG91ciBjYWxsZXIga25vdworCQkgKiB0aGUgcmVzdWx0IGNhbm5vdCBiZSB0cnVzdGVkLgorCQkgKi8KKwkJZnJlZV9jb21taXRfbGlzdChpdGVtLT5wYXJlbnRzKTsKKwkJaXRlbS0+cGFyZW50cyA9IE5VTEw7CisJfQorCiAJdGFpbCArPSBzaXplOwogCWlmICh0YWlsIDw9IGJ1ZnB0ciArIHRyZWVfZW50cnlfbGVuICsgMSB8fCBtZW1jbXAoYnVmcHRyLCAidHJlZSAiLCA1KSB8fAogCQkJYnVmcHRyW3RyZWVfZW50cnlfbGVuXSAhPSAnXG4nKQpAQCAtNDAzLDcgKzQyNSwxMiBAQAogCWlmIChnZXRfb2lkX2hleChidWZwdHIgKyA1LCAmcGFyZW50KSA8IDApCiAJCXJldHVybiBlcnJvcigiYmFkIHRyZWUgcG9pbnRlciBpbiBjb21taXQgJXMiLAogCQkJICAgICBvaWRfdG9faGV4KCZpdGVtLT5vYmplY3Qub2lkKSk7Ci0JaXRlbS0+bWF5YmVfdHJlZSA9IGxvb2t1cF90cmVlKHIsICZwYXJlbnQpOworCXRyZWUgPSBsb29rdXBfdHJlZShyLCAmcGFyZW50KTsKKwlpZiAoIXRyZWUpCisJCXJldHVybiBlcnJvcigiYmFkIHRyZWUgcG9pbnRlciAlcyBpbiBjb21taXQgJXMiLAorCQkJICAgICBvaWRfdG9faGV4KCZwYXJlbnQpLAorCQkJICAgICBvaWRfdG9faGV4KCZpdGVtLT5vYmplY3Qub2lkKSk7CisJc2V0X2NvbW1pdF90cmVlKGl0ZW0sIHRyZWUpOwogCWJ1ZnB0ciArPSB0cmVlX2VudHJ5X2xlbiArIDE7IC8qICJ0cmVlICIgKyAiaGV4IHNoYTEiICsgIlxuIiAqLwogCXBwdHIgPSAmaXRlbS0+cGFyZW50czsKIApAQCAtNDIzLDggKzQ1MCwxMSBAQAogCQlpZiAoZ3JhZnQgJiYgKGdyYWZ0LT5ucl9wYXJlbnQgPCAwIHx8IGdyYWZ0c19yZXBsYWNlX3BhcmVudHMpKQogCQkJY29udGludWU7CiAJCW5ld19wYXJlbnQgPSBsb29rdXBfY29tbWl0KHIsICZwYXJlbnQpOwotCQlpZiAobmV3X3BhcmVudCkKLQkJCXBwdHIgPSAmY29tbWl0X2xpc3RfaW5zZXJ0KG5ld19wYXJlbnQsIHBwdHIpLT5uZXh0OworCQlpZiAoIW5ld19wYXJlbnQpCisJCQlyZXR1cm4gZXJyb3IoImJhZCBwYXJlbnQgJXMgaW4gY29tbWl0ICVzIiwKKwkJCQkgICAgIG9pZF90b19oZXgoJnBhcmVudCksCisJCQkJICAgICBvaWRfdG9faGV4KCZpdGVtLT5vYmplY3Qub2lkKSk7CisJCXBwdHIgPSAmY29tbWl0X2xpc3RfaW5zZXJ0KG5ld19wYXJlbnQsIHBwdHIpLT5uZXh0OwogCX0KIAlpZiAoZ3JhZnQpIHsKIAkJaW50IGk7CkBAIC00MzMsMTkgKzQ2MywyNSBAQAogCQkJbmV3X3BhcmVudCA9IGxvb2t1cF9jb21taXQociwKIAkJCQkJCSAgICZncmFmdC0+cGFyZW50W2ldKTsKIAkJCWlmICghbmV3X3BhcmVudCkKLQkJCQljb250aW51ZTsKKwkJCQlyZXR1cm4gZXJyb3IoImJhZCBncmFmdCBwYXJlbnQgJXMgaW4gY29tbWl0ICVzIiwKKwkJCQkJICAgICBvaWRfdG9faGV4KCZncmFmdC0+cGFyZW50W2ldKSwKKwkJCQkJICAgICBvaWRfdG9faGV4KCZpdGVtLT5vYmplY3Qub2lkKSk7CiAJCQlwcHRyID0gJmNvbW1pdF9saXN0X2luc2VydChuZXdfcGFyZW50LCBwcHRyKS0+bmV4dDsKIAkJfQogCX0KIAlpdGVtLT5kYXRlID0gcGFyc2VfY29tbWl0X2RhdGUoYnVmcHRyLCB0YWlsKTsKIAogCWlmIChjaGVja19ncmFwaCkKLQkJbG9hZF9jb21taXRfZ3JhcGhfaW5mbyh0aGVfcmVwb3NpdG9yeSwgaXRlbSk7CisJCWxvYWRfY29tbWl0X2dyYXBoX2luZm8ociwgaXRlbSk7CiAKKwlpdGVtLT5vYmplY3QucGFyc2VkID0gMTsKIAlyZXR1cm4gMDsKIH0KIAotaW50IHBhcnNlX2NvbW1pdF9pbnRlcm5hbChzdHJ1Y3QgY29tbWl0ICppdGVtLCBpbnQgcXVpZXRfb25fbWlzc2luZywgaW50IHVzZV9jb21taXRfZ3JhcGgpCitpbnQgcmVwb19wYXJzZV9jb21taXRfaW50ZXJuYWwoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgICAgICAgc3RydWN0IGNvbW1pdCAqaXRlbSwKKwkJCSAgICAgICBpbnQgcXVpZXRfb25fbWlzc2luZywKKwkJCSAgICAgICBpbnQgdXNlX2NvbW1pdF9ncmFwaCkKIHsKIAllbnVtIG9iamVjdF90eXBlIHR5cGU7CiAJdm9pZCAqYnVmZmVyOwpAQCAtNDU2LDkgKzQ5Miw5IEBACiAJCXJldHVybiAtMTsKIAlpZiAoaXRlbS0+b2JqZWN0LnBhcnNlZCkKIAkJcmV0dXJuIDA7Ci0JaWYgKHVzZV9jb21taXRfZ3JhcGggJiYgcGFyc2VfY29tbWl0X2luX2dyYXBoKHRoZV9yZXBvc2l0b3J5LCBpdGVtKSkKKwlpZiAodXNlX2NvbW1pdF9ncmFwaCAmJiBwYXJzZV9jb21taXRfaW5fZ3JhcGgociwgaXRlbSkpCiAJCXJldHVybiAwOwotCWJ1ZmZlciA9IHJlYWRfb2JqZWN0X2ZpbGUoJml0ZW0tPm9iamVjdC5vaWQsICZ0eXBlLCAmc2l6ZSk7CisJYnVmZmVyID0gcmVwb19yZWFkX29iamVjdF9maWxlKHIsICZpdGVtLT5vYmplY3Qub2lkLCAmdHlwZSwgJnNpemUpOwogCWlmICghYnVmZmVyKQogCQlyZXR1cm4gcXVpZXRfb25fbWlzc2luZyA/IC0xIDoKIAkJCWVycm9yKCJDb3VsZCBub3QgcmVhZCAlcyIsCkBAIC00NjksMTggKzUwNSwxOSBAQAogCQkJICAgICBvaWRfdG9faGV4KCZpdGVtLT5vYmplY3Qub2lkKSk7CiAJfQogCi0JcmV0ID0gcGFyc2VfY29tbWl0X2J1ZmZlcih0aGVfcmVwb3NpdG9yeSwgaXRlbSwgYnVmZmVyLCBzaXplLCAwKTsKKwlyZXQgPSBwYXJzZV9jb21taXRfYnVmZmVyKHIsIGl0ZW0sIGJ1ZmZlciwgc2l6ZSwgMCk7CiAJaWYgKHNhdmVfY29tbWl0X2J1ZmZlciAmJiAhcmV0KSB7Ci0JCXNldF9jb21taXRfYnVmZmVyKHRoZV9yZXBvc2l0b3J5LCBpdGVtLCBidWZmZXIsIHNpemUpOworCQlzZXRfY29tbWl0X2J1ZmZlcihyLCBpdGVtLCBidWZmZXIsIHNpemUpOwogCQlyZXR1cm4gMDsKIAl9CiAJZnJlZShidWZmZXIpOwogCXJldHVybiByZXQ7CiB9CiAKLWludCBwYXJzZV9jb21taXRfZ2VudGx5KHN0cnVjdCBjb21taXQgKml0ZW0sIGludCBxdWlldF9vbl9taXNzaW5nKQoraW50IHJlcG9fcGFyc2VfY29tbWl0X2dlbnRseShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCSAgICAgc3RydWN0IGNvbW1pdCAqaXRlbSwgaW50IHF1aWV0X29uX21pc3NpbmcpCiB7Ci0JcmV0dXJuIHBhcnNlX2NvbW1pdF9pbnRlcm5hbChpdGVtLCBxdWlldF9vbl9taXNzaW5nLCAxKTsKKwlyZXR1cm4gcmVwb19wYXJzZV9jb21taXRfaW50ZXJuYWwociwgaXRlbSwgcXVpZXRfb25fbWlzc2luZywgMSk7CiB9CiAKIHZvaWQgcGFyc2VfY29tbWl0X29yX2RpZShzdHJ1Y3QgY29tbWl0ICppdGVtKQpAQCAtOTU2LDcgKzk5Myw3IEBACiAJCQlzdHJidWZfaW5zZXJ0KGJ1ZiwgaW5zcG9zLCBncGdfc2lnX2hlYWRlciwgZ3BnX3NpZ19oZWFkZXJfbGVuKTsKIAkJCWluc3BvcyArPSBncGdfc2lnX2hlYWRlcl9sZW47CiAJCX0KLQkJc3RyYnVmX2luc2VydChidWYsIGluc3BvcysrLCAiICIsIDEpOworCQlzdHJidWZfaW5zZXJ0c3RyKGJ1ZiwgaW5zcG9zKyssICIgIik7CiAJCXN0cmJ1Zl9pbnNlcnQoYnVmLCBpbnNwb3MsIGJvbCwgbGVuKTsKIAkJaW5zcG9zICs9IGxlbjsKIAkJY29weXBvcyArPSBsZW47CkBAIC0xMDk5LDIxICsxMTM2LDIzIEBACiAJcmV0dXJuIHJldDsKIH0KIAotdm9pZCB2ZXJpZnlfbWVyZ2Vfc2lnbmF0dXJlKHN0cnVjdCBjb21taXQgKmNvbW1pdCwgaW50IHZlcmJvc2l0eSkKK3ZvaWQgdmVyaWZ5X21lcmdlX3NpZ25hdHVyZShzdHJ1Y3QgY29tbWl0ICpjb21taXQsIGludCB2ZXJib3NpdHksCisJCQkgICAgaW50IGNoZWNrX3RydXN0KQogewogCWNoYXIgaGV4W0dJVF9NQVhfSEVYU1ogKyAxXTsKIAlzdHJ1Y3Qgc2lnbmF0dXJlX2NoZWNrIHNpZ25hdHVyZV9jaGVjazsKKwlpbnQgcmV0OwogCW1lbXNldCgmc2lnbmF0dXJlX2NoZWNrLCAwLCBzaXplb2Yoc2lnbmF0dXJlX2NoZWNrKSk7CiAKLQljaGVja19jb21taXRfc2lnbmF0dXJlKGNvbW1pdCwgJnNpZ25hdHVyZV9jaGVjayk7CisJcmV0ID0gY2hlY2tfY29tbWl0X3NpZ25hdHVyZShjb21taXQsICZzaWduYXR1cmVfY2hlY2spOwogCiAJZmluZF91bmlxdWVfYWJicmV2X3IoaGV4LCAmY29tbWl0LT5vYmplY3Qub2lkLCBERUZBVUxUX0FCQlJFVik7CiAJc3dpdGNoIChzaWduYXR1cmVfY2hlY2sucmVzdWx0KSB7CiAJY2FzZSAnRyc6CisJCWlmIChyZXQgfHwgKGNoZWNrX3RydXN0ICYmIHNpZ25hdHVyZV9jaGVjay50cnVzdF9sZXZlbCA8IFRSVVNUX01BUkdJTkFMKSkKKwkJCWRpZShfKCJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCAiCisJCQkgICAgICAiYWxsZWdlZGx5IGJ5ICVzLiIpLCBoZXgsIHNpZ25hdHVyZV9jaGVjay5zaWduZXIpOwogCQlicmVhazsKLQljYXNlICdVJzoKLQkJZGllKF8oIkNvbW1pdCAlcyBoYXMgYW4gdW50cnVzdGVkIEdQRyBzaWduYXR1cmUsICIKLQkJICAgICAgImFsbGVnZWRseSBieSAlcy4iKSwgaGV4LCBzaWduYXR1cmVfY2hlY2suc2lnbmVyKTsKIAljYXNlICdCJzoKIAkJZGllKF8oIkNvbW1pdCAlcyBoYXMgYSBiYWQgR1BHIHNpZ25hdHVyZSAiCiAJCSAgICAgICJhbGxlZ2VkbHkgYnkgJXMuIiksIGhleCwgc2lnbmF0dXJlX2NoZWNrLnNpZ25lcik7CkBAIC0xNTY4LDMgKzE2MDcsMjYgQEAKIAl9CiAJcmV0dXJuIGJvYyA/IGxlbiAtIGJvYyA6IGxlbiAtIGN1dG9mZjsKIH0KKworaW50IHJ1bl9jb21taXRfaG9vayhpbnQgZWRpdG9yX2lzX3VzZWQsIGNvbnN0IGNoYXIgKmluZGV4X2ZpbGUsCisJCSAgICBjb25zdCBjaGFyICpuYW1lLCAuLi4pCit7CisJc3RydWN0IGFyZ3ZfYXJyYXkgaG9va19lbnYgPSBBUkdWX0FSUkFZX0lOSVQ7CisJdmFfbGlzdCBhcmdzOworCWludCByZXQ7CisKKwlhcmd2X2FycmF5X3B1c2hmKCZob29rX2VudiwgIkdJVF9JTkRFWF9GSUxFPSVzIiwgaW5kZXhfZmlsZSk7CisKKwkvKgorCSAqIExldCB0aGUgaG9vayBrbm93IHRoYXQgbm8gZWRpdG9yIHdpbGwgYmUgbGF1bmNoZWQuCisJICovCisJaWYgKCFlZGl0b3JfaXNfdXNlZCkKKwkJYXJndl9hcnJheV9wdXNoKCZob29rX2VudiwgIkdJVF9FRElUT1I9OiIpOworCisJdmFfc3RhcnQoYXJncywgbmFtZSk7CisJcmV0ID0gcnVuX2hvb2tfdmUoaG9va19lbnYuYXJndixuYW1lLCBhcmdzKTsKKwl2YV9lbmQoYXJncyk7CisJYXJndl9hcnJheV9jbGVhcigmaG9va19lbnYpOworCisJcmV0dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL2NvbW1pdC5oIGIvY29tbWl0LmgKaW5kZXggOTg2NjQ1My4uMDA4YTBmYSAxMDA2NDQKLS0tIGEvY29tbWl0LmgKKysrIGIvY29tbWl0LmgKQEAgLTMyLDcgKzMyLDcgQEAKIAogCS8qCiAJICogSWYgdGhlIGNvbW1pdCBpcyBsb2FkZWQgZnJvbSB0aGUgY29tbWl0LWdyYXBoIGZpbGUsIHRoZW4gdGhpcwotCSAqIG1lbWJlciBtYXkgYmUgTlVMTC4gT25seSBhY2Nlc3MgaXQgdGhyb3VnaCBnZXRfY29tbWl0X3RyZWUoKQorCSAqIG1lbWJlciBtYXkgYmUgTlVMTC4gT25seSBhY2Nlc3MgaXQgdGhyb3VnaCByZXBvX2dldF9jb21taXRfdHJlZSgpCiAJICogb3IgZ2V0X2NvbW1pdF90cmVlX29pZCgpLgogCSAqLwogCXN0cnVjdCB0cmVlICptYXliZV90cmVlOwpAQCAtODAsMTIgKzgwLDI3IEBACiBzdHJ1Y3QgY29tbWl0ICpsb29rdXBfY29tbWl0X29yX2RpZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKnJlZl9uYW1lKTsKIAogaW50IHBhcnNlX2NvbW1pdF9idWZmZXIoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBjb21taXQgKml0ZW0sIGNvbnN0IHZvaWQgKmJ1ZmZlciwgdW5zaWduZWQgbG9uZyBzaXplLCBpbnQgY2hlY2tfZ3JhcGgpOwotaW50IHBhcnNlX2NvbW1pdF9pbnRlcm5hbChzdHJ1Y3QgY29tbWl0ICppdGVtLCBpbnQgcXVpZXRfb25fbWlzc2luZywgaW50IHVzZV9jb21taXRfZ3JhcGgpOwotaW50IHBhcnNlX2NvbW1pdF9nZW50bHkoc3RydWN0IGNvbW1pdCAqaXRlbSwgaW50IHF1aWV0X29uX21pc3NpbmcpOwotc3RhdGljIGlubGluZSBpbnQgcGFyc2VfY29tbWl0KHN0cnVjdCBjb21taXQgKml0ZW0pCitpbnQgcmVwb19wYXJzZV9jb21taXRfaW50ZXJuYWwoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBjb21taXQgKml0ZW0sCisJCQkgICAgICAgaW50IHF1aWV0X29uX21pc3NpbmcsIGludCB1c2VfY29tbWl0X2dyYXBoKTsKK2ludCByZXBvX3BhcnNlX2NvbW1pdF9nZW50bHkoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgICAgIHN0cnVjdCBjb21taXQgKml0ZW0sCisJCQkgICAgIGludCBxdWlldF9vbl9taXNzaW5nKTsKK3N0YXRpYyBpbmxpbmUgaW50IHJlcG9fcGFyc2VfY29tbWl0KHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3QgY29tbWl0ICppdGVtKQogewotCXJldHVybiBwYXJzZV9jb21taXRfZ2VudGx5KGl0ZW0sIDApOworCXJldHVybiByZXBvX3BhcnNlX2NvbW1pdF9nZW50bHkociwgaXRlbSwgMCk7CiB9CisKK3N0YXRpYyBpbmxpbmUgaW50IHBhcnNlX2NvbW1pdF9ub19ncmFwaChzdHJ1Y3QgY29tbWl0ICpjb21taXQpCit7CisJcmV0dXJuIHJlcG9fcGFyc2VfY29tbWl0X2ludGVybmFsKHRoZV9yZXBvc2l0b3J5LCBjb21taXQsIDAsIDApOworfQorCisjaWZuZGVmIE5PX1RIRV9SRVBPU0lUT1JZX0NPTVBBVElCSUxJVFlfTUFDUk9TCisjZGVmaW5lIHBhcnNlX2NvbW1pdF9pbnRlcm5hbChpdGVtLCBxdWlldCwgdXNlKSByZXBvX3BhcnNlX2NvbW1pdF9pbnRlcm5hbCh0aGVfcmVwb3NpdG9yeSwgaXRlbSwgcXVpZXQsIHVzZSkKKyNkZWZpbmUgcGFyc2VfY29tbWl0X2dlbnRseShpdGVtLCBxdWlldCkgcmVwb19wYXJzZV9jb21taXRfZ2VudGx5KHRoZV9yZXBvc2l0b3J5LCBpdGVtLCBxdWlldCkKKyNkZWZpbmUgcGFyc2VfY29tbWl0KGl0ZW0pIHJlcG9fcGFyc2VfY29tbWl0KHRoZV9yZXBvc2l0b3J5LCBpdGVtKQorI2VuZGlmCisKIHZvaWQgcGFyc2VfY29tbWl0X29yX2RpZShzdHJ1Y3QgY29tbWl0ICppdGVtKTsKIAogc3RydWN0IGJ1ZmZlcl9zbGFiOwpAQCAtMTA5LDI5ICsxMjQsNDAgQEAKICAqIGZyb20gZGlzay4gVGhlIHJlc3VsdGluZyBtZW1vcnkgc2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgYW5kIG11c3QgYmUgZ2l2ZW4KICAqIHRvIHVudXNlX2NvbW1pdF9idWZmZXIgd2hlbiB0aGUgY2FsbGVyIGlzIGRvbmUuCiAgKi8KLWNvbnN0IHZvaWQgKmdldF9jb21taXRfYnVmZmVyKGNvbnN0IHN0cnVjdCBjb21taXQgKiwgdW5zaWduZWQgbG9uZyAqc2l6ZSk7Citjb25zdCB2b2lkICpyZXBvX2dldF9jb21taXRfYnVmZmVyKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSAgIGNvbnN0IHN0cnVjdCBjb21taXQgKiwKKwkJCQkgICB1bnNpZ25lZCBsb25nICpzaXplKTsKKyNpZm5kZWYgTk9fVEhFX1JFUE9TSVRPUllfQ09NUEFUSUJJTElUWV9NQUNST1MKKyNkZWZpbmUgZ2V0X2NvbW1pdF9idWZmZXIoYywgcykgcmVwb19nZXRfY29tbWl0X2J1ZmZlcih0aGVfcmVwb3NpdG9yeSwgYywgcykKKyNlbmRpZgogCiAvKgotICogVGVsbCB0aGUgY29tbWl0IHN1YnN5dGVtIHRoYXQgd2UgYXJlIGRvbmUgd2l0aCBhIHBhcnRpY3VsYXIgY29tbWl0IGJ1ZmZlci4KKyAqIFRlbGwgdGhlIGNvbW1pdCBzdWJzeXN0ZW0gdGhhdCB3ZSBhcmUgZG9uZSB3aXRoIGEgcGFydGljdWxhciBjb21taXQgYnVmZmVyLgogICogVGhlIGNvbW1pdCBhbmQgYnVmZmVyIHNob3VsZCBiZSB0aGUgaW5wdXQgYW5kIHJldHVybiB2YWx1ZSwgcmVzcGVjdGl2ZWx5LAogICogZnJvbSBhbiBlYXJsaWVyIGNhbGwgdG8gZ2V0X2NvbW1pdF9idWZmZXIuICBUaGUgYnVmZmVyIG1heSBvciBtYXkgbm90IGJlCiAgKiBmcmVlZCBieSB0aGlzIGNhbGw7IGNhbGxlcnMgc2hvdWxkIG5vdCBhY2Nlc3MgdGhlIG1lbW9yeSBhZnRlcndhcmRzLgogICovCi12b2lkIHVudXNlX2NvbW1pdF9idWZmZXIoY29uc3Qgc3RydWN0IGNvbW1pdCAqLCBjb25zdCB2b2lkICpidWZmZXIpOwordm9pZCByZXBvX3VudXNlX2NvbW1pdF9idWZmZXIoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgICAgICBjb25zdCBzdHJ1Y3QgY29tbWl0ICosCisJCQkgICAgICBjb25zdCB2b2lkICpidWZmZXIpOworI2lmbmRlZiBOT19USEVfUkVQT1NJVE9SWV9DT01QQVRJQklMSVRZX01BQ1JPUworI2RlZmluZSB1bnVzZV9jb21taXRfYnVmZmVyKGMsIGIpIHJlcG9fdW51c2VfY29tbWl0X2J1ZmZlcih0aGVfcmVwb3NpdG9yeSwgYywgYikKKyNlbmRpZgogCiAvKgogICogRnJlZSBhbnkgY2FjaGVkIG9iamVjdCBidWZmZXIgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21taXQuCiAgKi8KLXZvaWQgZnJlZV9jb21taXRfYnVmZmVyKHN0cnVjdCBjb21taXQgKik7Cit2b2lkIGZyZWVfY29tbWl0X2J1ZmZlcihzdHJ1Y3QgcGFyc2VkX29iamVjdF9wb29sICpwb29sLCBzdHJ1Y3QgY29tbWl0ICopOwogCi1zdHJ1Y3QgdHJlZSAqZ2V0X2NvbW1pdF90cmVlKGNvbnN0IHN0cnVjdCBjb21taXQgKik7CitzdHJ1Y3QgdHJlZSAqcmVwb19nZXRfY29tbWl0X3RyZWUoc3RydWN0IHJlcG9zaXRvcnkgKiwgY29uc3Qgc3RydWN0IGNvbW1pdCAqKTsKKyNkZWZpbmUgZ2V0X2NvbW1pdF90cmVlKGMpIHJlcG9fZ2V0X2NvbW1pdF90cmVlKHRoZV9yZXBvc2l0b3J5LCBjKQogc3RydWN0IG9iamVjdF9pZCAqZ2V0X2NvbW1pdF90cmVlX29pZChjb25zdCBzdHJ1Y3QgY29tbWl0ICopOwogCiAvKgogICogUmVsZWFzZSBtZW1vcnkgcmVsYXRlZCB0byBhIGNvbW1pdCwgaW5jbHVkaW5nIHRoZSBwYXJlbnQgbGlzdCBhbmQKICAqIGFueSBjYWNoZWQgb2JqZWN0IGJ1ZmZlci4KICAqLwotdm9pZCByZWxlYXNlX2NvbW1pdF9tZW1vcnkoc3RydWN0IGNvbW1pdCAqYyk7Cit2b2lkIHJlbGVhc2VfY29tbWl0X21lbW9yeShzdHJ1Y3QgcGFyc2VkX29iamVjdF9wb29sICpwb29sLCBzdHJ1Y3QgY29tbWl0ICpjKTsKIAogLyoKICAqIERpc2Fzc29jaWF0ZSBhbnkgY2FjaGVkIG9iamVjdCBidWZmZXIgZnJvbSB0aGUgY29tbWl0LCBidXQgZG8gbm90IGZyZWUgaXQuCkBAIC0xNTgsMTEgKzE4NCwxOSBAQAogCiBzdHJ1Y3QgcmV2X2luZm87IC8qIGluIHJldmlzaW9uLmgsIGl0IGNpcmN1bGFybHkgdXNlcyBlbnVtIGNtaXRfZm10ICovCiAKLWV4dGVybiBpbnQgaGFzX25vbl9hc2NpaShjb25zdCBjaGFyICp0ZXh0KTsKLWV4dGVybiBjb25zdCBjaGFyICpsb2dtc2dfcmVlbmNvZGUoY29uc3Qgc3RydWN0IGNvbW1pdCAqY29tbWl0LAotCQkJCSAgIGNoYXIgKipjb21taXRfZW5jb2RpbmcsCi0JCQkJICAgY29uc3QgY2hhciAqb3V0cHV0X2VuY29kaW5nKTsKLWV4dGVybiBjb25zdCBjaGFyICpza2lwX2JsYW5rX2xpbmVzKGNvbnN0IGNoYXIgKm1zZyk7CitpbnQgaGFzX25vbl9hc2NpaShjb25zdCBjaGFyICp0ZXh0KTsKK2NvbnN0IGNoYXIgKmxvZ21zZ19yZWVuY29kZShjb25zdCBzdHJ1Y3QgY29tbWl0ICpjb21taXQsCisJCQkgICAgY2hhciAqKmNvbW1pdF9lbmNvZGluZywKKwkJCSAgICBjb25zdCBjaGFyICpvdXRwdXRfZW5jb2RpbmcpOworY29uc3QgY2hhciAqcmVwb19sb2dtc2dfcmVlbmNvZGUoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJIGNvbnN0IHN0cnVjdCBjb21taXQgKmNvbW1pdCwKKwkJCQkgY2hhciAqKmNvbW1pdF9lbmNvZGluZywKKwkJCQkgY29uc3QgY2hhciAqb3V0cHV0X2VuY29kaW5nKTsKKyNpZm5kZWYgTk9fVEhFX1JFUE9TSVRPUllfQ09NUEFUSUJJTElUWV9NQUNST1MKKyNkZWZpbmUgbG9nbXNnX3JlZW5jb2RlKGMsIGVuYywgb3V0KSByZXBvX2xvZ21zZ19yZWVuY29kZSh0aGVfcmVwb3NpdG9yeSwgYywgZW5jLCBvdXQpCisjZW5kaWYKKworY29uc3QgY2hhciAqc2tpcF9ibGFua19saW5lcyhjb25zdCBjaGFyICptc2cpOwogCiAvKiogUmVtb3ZlcyB0aGUgZmlyc3QgY29tbWl0IGZyb20gYSBsaXN0IHNvcnRlZCBieSBkYXRlLCBhbmQgYWRkcyBhbGwKICAqIG9mIGl0cyBwYXJlbnRzLgpAQCAtMjEzLDIzICsyNDcsMjcgQEAKIAogc3RydWN0IG9pZF9hcnJheTsKIHN0cnVjdCByZWY7Ci1leHRlcm4gaW50IHJlZ2lzdGVyX3NoYWxsb3coc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7Ci1leHRlcm4gaW50IHVucmVnaXN0ZXJfc2hhbGxvdyhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOwotZXh0ZXJuIGludCBmb3JfZWFjaF9jb21taXRfZ3JhZnQoZWFjaF9jb21taXRfZ3JhZnRfZm4sIHZvaWQgKik7Ci1leHRlcm4gaW50IGlzX3JlcG9zaXRvcnlfc2hhbGxvdyhzdHJ1Y3QgcmVwb3NpdG9yeSAqcik7Ci1leHRlcm4gc3RydWN0IGNvbW1pdF9saXN0ICpnZXRfc2hhbGxvd19jb21taXRzKHN0cnVjdCBvYmplY3RfYXJyYXkgKmhlYWRzLAotCQlpbnQgZGVwdGgsIGludCBzaGFsbG93X2ZsYWcsIGludCBub3Rfc2hhbGxvd19mbGFnKTsKLWV4dGVybiBzdHJ1Y3QgY29tbWl0X2xpc3QgKmdldF9zaGFsbG93X2NvbW1pdHNfYnlfcmV2X2xpc3QoCitpbnQgcmVnaXN0ZXJfc2hhbGxvdyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKK2ludCB1bnJlZ2lzdGVyX3NoYWxsb3coY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKK2ludCBmb3JfZWFjaF9jb21taXRfZ3JhZnQoZWFjaF9jb21taXRfZ3JhZnRfZm4sIHZvaWQgKik7CitpbnQgaXNfcmVwb3NpdG9yeV9zaGFsbG93KHN0cnVjdCByZXBvc2l0b3J5ICpyKTsKK3N0cnVjdCBjb21taXRfbGlzdCAqZ2V0X3NoYWxsb3dfY29tbWl0cyhzdHJ1Y3Qgb2JqZWN0X2FycmF5ICpoZWFkcywKKwkJCQkJaW50IGRlcHRoLCBpbnQgc2hhbGxvd19mbGFnLCBpbnQgbm90X3NoYWxsb3dfZmxhZyk7CitzdHJ1Y3QgY29tbWl0X2xpc3QgKmdldF9zaGFsbG93X2NvbW1pdHNfYnlfcmV2X2xpc3QoCiAJCWludCBhYywgY29uc3QgY2hhciAqKmF2LCBpbnQgc2hhbGxvd19mbGFnLCBpbnQgbm90X3NoYWxsb3dfZmxhZyk7Ci1leHRlcm4gdm9pZCBzZXRfYWx0ZXJuYXRlX3NoYWxsb3dfZmlsZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqcGF0aCwgaW50IG92ZXJyaWRlKTsKLWV4dGVybiBpbnQgd3JpdGVfc2hhbGxvd19jb21taXRzKHN0cnVjdCBzdHJidWYgKm91dCwgaW50IHVzZV9wYWNrX3Byb3RvY29sLAotCQkJCSBjb25zdCBzdHJ1Y3Qgb2lkX2FycmF5ICpleHRyYSk7Ci1leHRlcm4gdm9pZCBzZXR1cF9hbHRlcm5hdGVfc2hhbGxvdyhzdHJ1Y3QgbG9ja19maWxlICpzaGFsbG93X2xvY2ssCi0JCQkJICAgIGNvbnN0IGNoYXIgKiphbHRlcm5hdGVfc2hhbGxvd19maWxlLAotCQkJCSAgICBjb25zdCBzdHJ1Y3Qgb2lkX2FycmF5ICpleHRyYSk7Ci1leHRlcm4gY29uc3QgY2hhciAqc2V0dXBfdGVtcG9yYXJ5X3NoYWxsb3coY29uc3Qgc3RydWN0IG9pZF9hcnJheSAqZXh0cmEpOwotZXh0ZXJuIHZvaWQgYWR2ZXJ0aXNlX3NoYWxsb3dfZ3JhZnRzKGludCk7Cit2b2lkIHNldF9hbHRlcm5hdGVfc2hhbGxvd19maWxlKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBjaGFyICpwYXRoLCBpbnQgb3ZlcnJpZGUpOworaW50IHdyaXRlX3NoYWxsb3dfY29tbWl0cyhzdHJ1Y3Qgc3RyYnVmICpvdXQsIGludCB1c2VfcGFja19wcm90b2NvbCwKKwkJCSAgY29uc3Qgc3RydWN0IG9pZF9hcnJheSAqZXh0cmEpOwordm9pZCBzZXR1cF9hbHRlcm5hdGVfc2hhbGxvdyhzdHJ1Y3QgbG9ja19maWxlICpzaGFsbG93X2xvY2ssCisJCQkgICAgIGNvbnN0IGNoYXIgKiphbHRlcm5hdGVfc2hhbGxvd19maWxlLAorCQkJICAgICBjb25zdCBzdHJ1Y3Qgb2lkX2FycmF5ICpleHRyYSk7Citjb25zdCBjaGFyICpzZXR1cF90ZW1wb3Jhcnlfc2hhbGxvdyhjb25zdCBzdHJ1Y3Qgb2lkX2FycmF5ICpleHRyYSk7Cit2b2lkIGFkdmVydGlzZV9zaGFsbG93X2dyYWZ0cyhpbnQpOwogCisvKgorICogSW5pdGlhbGl6ZSB3aXRoIHByZXBhcmVfc2hhbGxvd19pbmZvKCkgb3IgemVyby1pbml0aWFsaXplIChlcXVpdmFsZW50IHRvCisgKiBwcmVwYXJlX3NoYWxsb3dfaW5mbyB3aXRoIGEgTlVMTCBvaWRfYXJyYXkpLgorICovCiBzdHJ1Y3Qgc2hhbGxvd19pbmZvIHsKIAlzdHJ1Y3Qgb2lkX2FycmF5ICpzaGFsbG93OwogCWludCAqb3VycywgbnJfb3VyczsKQEAgLTI0NSwyMSArMjgzLDIxIEBACiAJaW50IG5yX2NvbW1pdHM7CiB9OwogCi1leHRlcm4gdm9pZCBwcmVwYXJlX3NoYWxsb3dfaW5mbyhzdHJ1Y3Qgc2hhbGxvd19pbmZvICosIHN0cnVjdCBvaWRfYXJyYXkgKik7Ci1leHRlcm4gdm9pZCBjbGVhcl9zaGFsbG93X2luZm8oc3RydWN0IHNoYWxsb3dfaW5mbyAqKTsKLWV4dGVybiB2b2lkIHJlbW92ZV9ub25leGlzdGVudF90aGVpcnNfc2hhbGxvdyhzdHJ1Y3Qgc2hhbGxvd19pbmZvICopOwotZXh0ZXJuIHZvaWQgYXNzaWduX3NoYWxsb3dfY29tbWl0c190b19yZWZzKHN0cnVjdCBzaGFsbG93X2luZm8gKmluZm8sCi0JCQkJCSAgIHVpbnQzMl90ICoqdXNlZCwKLQkJCQkJICAgaW50ICpyZWZfc3RhdHVzKTsKLWV4dGVybiBpbnQgZGVsYXllZF9yZWFjaGFiaWxpdHlfdGVzdChzdHJ1Y3Qgc2hhbGxvd19pbmZvICpzaSwgaW50IGMpOwordm9pZCBwcmVwYXJlX3NoYWxsb3dfaW5mbyhzdHJ1Y3Qgc2hhbGxvd19pbmZvICosIHN0cnVjdCBvaWRfYXJyYXkgKik7Cit2b2lkIGNsZWFyX3NoYWxsb3dfaW5mbyhzdHJ1Y3Qgc2hhbGxvd19pbmZvICopOwordm9pZCByZW1vdmVfbm9uZXhpc3RlbnRfdGhlaXJzX3NoYWxsb3coc3RydWN0IHNoYWxsb3dfaW5mbyAqKTsKK3ZvaWQgYXNzaWduX3NoYWxsb3dfY29tbWl0c190b19yZWZzKHN0cnVjdCBzaGFsbG93X2luZm8gKmluZm8sCisJCQkJICAgIHVpbnQzMl90ICoqdXNlZCwKKwkJCQkgICAgaW50ICpyZWZfc3RhdHVzKTsKK2ludCBkZWxheWVkX3JlYWNoYWJpbGl0eV90ZXN0KHN0cnVjdCBzaGFsbG93X2luZm8gKnNpLCBpbnQgYyk7CiAjZGVmaW5lIFBSVU5FX1NIT1dfT05MWSAxCiAjZGVmaW5lIFBSVU5FX1FVSUNLIDIKLWV4dGVybiB2b2lkIHBydW5lX3NoYWxsb3codW5zaWduZWQgb3B0aW9ucyk7Cit2b2lkIHBydW5lX3NoYWxsb3codW5zaWduZWQgb3B0aW9ucyk7CiBleHRlcm4gc3RydWN0IHRyYWNlX2tleSB0cmFjZV9zaGFsbG93OwogCi1leHRlcm4gaW50IGludGVyYWN0aXZlX2FkZChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKnByZWZpeCwgaW50IHBhdGNoKTsKLWV4dGVybiBpbnQgcnVuX2FkZF9pbnRlcmFjdGl2ZShjb25zdCBjaGFyICpyZXZpc2lvbiwgY29uc3QgY2hhciAqcGF0Y2hfbW9kZSwKLQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKTsKK2ludCBpbnRlcmFjdGl2ZV9hZGQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgsIGludCBwYXRjaCk7CitpbnQgcnVuX2FkZF9pbnRlcmFjdGl2ZShjb25zdCBjaGFyICpyZXZpc2lvbiwgY29uc3QgY2hhciAqcGF0Y2hfbW9kZSwKKwkJCWNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpOwogCiBzdHJ1Y3QgY29tbWl0X2V4dHJhX2hlYWRlciB7CiAJc3RydWN0IGNvbW1pdF9leHRyYV9oZWFkZXIgKm5leHQ7CkBAIC0yNjgsMjQgKzMwNiwyNCBAQAogCXNpemVfdCBsZW47CiB9OwogCi1leHRlcm4gdm9pZCBhcHBlbmRfbWVyZ2VfdGFnX2hlYWRlcnMoc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzLAotCQkJCSAgICAgc3RydWN0IGNvbW1pdF9leHRyYV9oZWFkZXIgKioqdGFpbCk7Cit2b2lkIGFwcGVuZF9tZXJnZV90YWdfaGVhZGVycyhzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudHMsCisJCQkgICAgICBzdHJ1Y3QgY29tbWl0X2V4dHJhX2hlYWRlciAqKip0YWlsKTsKIAotZXh0ZXJuIGludCBjb21taXRfdHJlZShjb25zdCBjaGFyICptc2csIHNpemVfdCBtc2dfbGVuLAotCQkgICAgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqdHJlZSwKLQkJICAgICAgIHN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50cywgc3RydWN0IG9iamVjdF9pZCAqcmV0LAotCQkgICAgICAgY29uc3QgY2hhciAqYXV0aG9yLCBjb25zdCBjaGFyICpzaWduX2NvbW1pdCk7CitpbnQgY29tbWl0X3RyZWUoY29uc3QgY2hhciAqbXNnLCBzaXplX3QgbXNnX2xlbiwKKwkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqdHJlZSwKKwkJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzLCBzdHJ1Y3Qgb2JqZWN0X2lkICpyZXQsCisJCWNvbnN0IGNoYXIgKmF1dGhvciwgY29uc3QgY2hhciAqc2lnbl9jb21taXQpOwogCi1leHRlcm4gaW50IGNvbW1pdF90cmVlX2V4dGVuZGVkKGNvbnN0IGNoYXIgKm1zZywgc2l6ZV90IG1zZ19sZW4sCi0JCQkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqdHJlZSwKLQkJCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudHMsCi0JCQkJc3RydWN0IG9iamVjdF9pZCAqcmV0LCBjb25zdCBjaGFyICphdXRob3IsCi0JCQkJY29uc3QgY2hhciAqc2lnbl9jb21taXQsCi0JCQkJc3RydWN0IGNvbW1pdF9leHRyYV9oZWFkZXIgKik7CitpbnQgY29tbWl0X3RyZWVfZXh0ZW5kZWQoY29uc3QgY2hhciAqbXNnLCBzaXplX3QgbXNnX2xlbiwKKwkJCSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICp0cmVlLAorCQkJIHN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50cywKKwkJCSBzdHJ1Y3Qgb2JqZWN0X2lkICpyZXQsIGNvbnN0IGNoYXIgKmF1dGhvciwKKwkJCSBjb25zdCBjaGFyICpzaWduX2NvbW1pdCwKKwkJCSBzdHJ1Y3QgY29tbWl0X2V4dHJhX2hlYWRlciAqKTsKIAotZXh0ZXJuIHN0cnVjdCBjb21taXRfZXh0cmFfaGVhZGVyICpyZWFkX2NvbW1pdF9leHRyYV9oZWFkZXJzKHN0cnVjdCBjb21taXQgKiwgY29uc3QgY2hhciAqKik7CitzdHJ1Y3QgY29tbWl0X2V4dHJhX2hlYWRlciAqcmVhZF9jb21taXRfZXh0cmFfaGVhZGVycyhzdHJ1Y3QgY29tbWl0ICosIGNvbnN0IGNoYXIgKiopOwogCi1leHRlcm4gdm9pZCBmcmVlX2NvbW1pdF9leHRyYV9oZWFkZXJzKHN0cnVjdCBjb21taXRfZXh0cmFfaGVhZGVyICpleHRyYSk7Cit2b2lkIGZyZWVfY29tbWl0X2V4dHJhX2hlYWRlcnMoc3RydWN0IGNvbW1pdF9leHRyYV9oZWFkZXIgKmV4dHJhKTsKIAogLyoKICAqIFNlYXJjaCB0aGUgY29tbWl0IG9iamVjdCBjb250ZW50cyBnaXZlbiBieSAibXNnIiBmb3IgdGhlIGhlYWRlciAia2V5Ii4KQEAgLTI5NSwyNCArMzMzLDI0IEBACiAgKiBOb3RlIHRoYXQgc29tZSBoZWFkZXJzIChsaWtlIG1lcmdldGFnKSBtYXkgYmUgbXVsdGktbGluZS4gSXQgaXMgdGhlIGNhbGxlcidzCiAgKiByZXNwb25zaWJpbGl0eSB0byBwYXJzZSBmdXJ0aGVyIGluIHRoaXMgY2FzZSEKICAqLwotZXh0ZXJuIGNvbnN0IGNoYXIgKmZpbmRfY29tbWl0X2hlYWRlcihjb25zdCBjaGFyICptc2csIGNvbnN0IGNoYXIgKmtleSwKLQkJCQkgICAgICBzaXplX3QgKm91dF9sZW4pOworY29uc3QgY2hhciAqZmluZF9jb21taXRfaGVhZGVyKGNvbnN0IGNoYXIgKm1zZywgY29uc3QgY2hhciAqa2V5LAorCQkJICAgICAgIHNpemVfdCAqb3V0X2xlbik7CiAKIC8qIEZpbmQgdGhlIGVuZCBvZiB0aGUgbG9nIG1lc3NhZ2UsIHRoZSByaWdodCBwbGFjZSBmb3IgYSBuZXcgdHJhaWxlci4gKi8KLWV4dGVybiBzaXplX3QgaWdub3JlX25vbl90cmFpbGVyKGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbik7CitzaXplX3QgaWdub3JlX25vbl90cmFpbGVyKGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbik7CiAKIHR5cGVkZWYgaW50ICgqZWFjaF9tZXJnZXRhZ19mbikoc3RydWN0IGNvbW1pdCAqY29tbWl0LCBzdHJ1Y3QgY29tbWl0X2V4dHJhX2hlYWRlciAqZXh0cmEsCi0JCQkJIHZvaWQgKmNiX2RhdGEpOworCQkJCXZvaWQgKmNiX2RhdGEpOwogCi1leHRlcm4gaW50IGZvcl9lYWNoX21lcmdldGFnKGVhY2hfbWVyZ2V0YWdfZm4gZm4sIHN0cnVjdCBjb21taXQgKmNvbW1pdCwgdm9pZCAqZGF0YSk7CitpbnQgZm9yX2VhY2hfbWVyZ2V0YWcoZWFjaF9tZXJnZXRhZ19mbiBmbiwgc3RydWN0IGNvbW1pdCAqY29tbWl0LCB2b2lkICpkYXRhKTsKIAogc3RydWN0IG1lcmdlX3JlbW90ZV9kZXNjIHsKIAlzdHJ1Y3Qgb2JqZWN0ICpvYmo7IC8qIHRoZSBuYW1lZCBvYmplY3QsIGNvdWxkIGJlIGEgdGFnICovCiAJY2hhciBuYW1lW0ZMRVhfQVJSQVldOwogfTsKLWV4dGVybiBzdHJ1Y3QgbWVyZ2VfcmVtb3RlX2Rlc2MgKm1lcmdlX3JlbW90ZV91dGlsKHN0cnVjdCBjb21taXQgKik7Ci1leHRlcm4gdm9pZCBzZXRfbWVyZ2VfcmVtb3RlX2Rlc2Moc3RydWN0IGNvbW1pdCAqY29tbWl0LAotCQkJCSAgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdCAqb2JqKTsKK3N0cnVjdCBtZXJnZV9yZW1vdGVfZGVzYyAqbWVyZ2VfcmVtb3RlX3V0aWwoc3RydWN0IGNvbW1pdCAqKTsKK3ZvaWQgc2V0X21lcmdlX3JlbW90ZV9kZXNjKHN0cnVjdCBjb21taXQgKmNvbW1pdCwKKwkJCSAgIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3QgKm9iaik7CiAKIC8qCiAgKiBHaXZlbiAibmFtZSIgZnJvbSB0aGUgY29tbWFuZCBsaW5lIHRvIG1lcmdlLCBmaW5kIHRoZSBjb21taXQgb2JqZWN0CkBAIC0zMjEsOSArMzU5LDkgQEAKICAqLwogc3RydWN0IGNvbW1pdCAqZ2V0X21lcmdlX3BhcmVudChjb25zdCBjaGFyICpuYW1lKTsKIAotZXh0ZXJuIGludCBwYXJzZV9zaWduZWRfY29tbWl0KGNvbnN0IHN0cnVjdCBjb21taXQgKmNvbW1pdCwKLQkJCSAgICAgICBzdHJ1Y3Qgc3RyYnVmICptZXNzYWdlLCBzdHJ1Y3Qgc3RyYnVmICpzaWduYXR1cmUpOwotZXh0ZXJuIGludCByZW1vdmVfc2lnbmF0dXJlKHN0cnVjdCBzdHJidWYgKmJ1Zik7CitpbnQgcGFyc2Vfc2lnbmVkX2NvbW1pdChjb25zdCBzdHJ1Y3QgY29tbWl0ICpjb21taXQsCisJCQlzdHJ1Y3Qgc3RyYnVmICptZXNzYWdlLCBzdHJ1Y3Qgc3RyYnVmICpzaWduYXR1cmUpOworaW50IHJlbW92ZV9zaWduYXR1cmUoc3RydWN0IHN0cmJ1ZiAqYnVmKTsKIAogLyoKICAqIENoZWNrIHRoZSBzaWduYXR1cmUgb2YgdGhlIGdpdmVuIGNvbW1pdC4gVGhlIHJlc3VsdCBvZiB0aGUgY2hlY2sgaXMgc3RvcmVkCkBAIC0zMzIsNyArMzcwLDcgQEAKICAqIGF0IGFsbC4gIFRoaXMgbWF5IGFsbG9jYXRlIG1lbW9yeSBmb3Igc2lnLT5ncGdfb3V0cHV0LCBzaWctPmdwZ19zdGF0dXMsCiAgKiBzaWctPnNpZ25lciBhbmQgc2lnLT5rZXkuCiAgKi8KLWV4dGVybiBpbnQgY2hlY2tfY29tbWl0X3NpZ25hdHVyZShjb25zdCBzdHJ1Y3QgY29tbWl0ICpjb21taXQsIHN0cnVjdCBzaWduYXR1cmVfY2hlY2sgKnNpZ2MpOworaW50IGNoZWNrX2NvbW1pdF9zaWduYXR1cmUoY29uc3Qgc3RydWN0IGNvbW1pdCAqY29tbWl0LCBzdHJ1Y3Qgc2lnbmF0dXJlX2NoZWNrICpzaWdjKTsKIAogLyogcmVjb3JkIGF1dGhvci1kYXRlIGZvciBlYWNoIGNvbW1pdCBvYmplY3QgKi8KIHN0cnVjdCBhdXRob3JfZGF0ZV9zbGFiOwpAQCAtMzQ1LDEzICszODMsMjMgQEAKICAqIFZlcmlmeSBhIHNpbmdsZSBjb21taXQgd2l0aCBjaGVja19jb21taXRfc2lnbmF0dXJlKCkgYW5kIGRpZSgpIGlmIGl0IGlzIG5vdAogICogYSBnb29kIHNpZ25hdHVyZS4gVGhpcyBpc24ndCByZWFsbHkgc3VpdGFibGUgZm9yIGdlbmVyYWwgdXNlLCBidXQgaXMgYQogICogaGVscGVyIHRvIGltcGxlbWVudCBjb25zaXN0ZW50IGxvZ2ljIGZvciBwdWxsL21lcmdlIC0tdmVyaWZ5LXNpZ25hdHVyZXMuCisgKgorICogVGhlIGNoZWNrX3RydXN0IHBhcmFtZXRlciBpcyBtZWFudCBmb3IgYmFja3dhcmQtY29tcGF0aWJpbGl0eS4gIFRoZSBHUEcKKyAqIGludGVyZmFjZSB2ZXJpZmllcyBrZXkgdHJ1c3Qgd2l0aCBhIGRlZmF1bHQgdHJ1c3QgbGV2ZWwgdGhhdCBpcyBiZWxvdyB0aGUKKyAqIGRlZmF1bHQgdHJ1c3QgbGV2ZWwgZm9yIG1lcmdlIG9wZXJhdGlvbnMuICBJdHMgdmFsdWUgc2hvdWxkIGJlIG5vbi16ZXJvIGlmCisgKiB0aGUgdXNlciBoYXNuJ3Qgc2V0IGEgbWluaW11bSB0cnVzdCBsZXZlbCBleHBsaWNpdGx5IGluIHRoZWlyIGNvbmZpZ3VyYXRpb24uCisgKgorICogSWYgdGhlIHVzZXIgaGFzIHNldCBhIG1pbmltdW0gdHJ1c3QgbGV2ZWwsIHRoZW4gdGhhdCB2YWx1ZSBzaG91bGQgYmUgb2JleWVkCisgKiBhbmQgY2hlY2tfdHJ1c3Qgc2hvdWxkIGJlIHplcm8sIGV2ZW4gaWYgdGhlIGNvbmZpZ3VyZWQgdHJ1c3QgbGV2ZWwgaXMgYmVsb3cKKyAqIHRoZSBkZWZhdWx0IHRydXN0IGxldmVsIGZvciBtZXJnZXMuCiAgKi8KLXZvaWQgdmVyaWZ5X21lcmdlX3NpZ25hdHVyZShzdHJ1Y3QgY29tbWl0ICpjb21taXQsIGludCB2ZXJib3NlKTsKK3ZvaWQgdmVyaWZ5X21lcmdlX3NpZ25hdHVyZShzdHJ1Y3QgY29tbWl0ICpjb21taXQsIGludCB2ZXJib3NlLAorCQkJICAgIGludCBjaGVja190cnVzdCk7CiAKIGludCBjb21wYXJlX2NvbW1pdHNfYnlfY29tbWl0X2RhdGUoY29uc3Qgdm9pZCAqYV8sIGNvbnN0IHZvaWQgKmJfLCB2b2lkICp1bnVzZWQpOwogaW50IGNvbXBhcmVfY29tbWl0c19ieV9nZW5fdGhlbl9jb21taXRfZGF0ZShjb25zdCB2b2lkICphXywgY29uc3Qgdm9pZCAqYl8sIHZvaWQgKnVudXNlZCk7CiAKIExBU1RfQVJHX01VU1RfQkVfTlVMTAotZXh0ZXJuIGludCBydW5fY29tbWl0X2hvb2soaW50IGVkaXRvcl9pc191c2VkLCBjb25zdCBjaGFyICppbmRleF9maWxlLCBjb25zdCBjaGFyICpuYW1lLCAuLi4pOworaW50IHJ1bl9jb21taXRfaG9vayhpbnQgZWRpdG9yX2lzX3VzZWQsIGNvbnN0IGNoYXIgKmluZGV4X2ZpbGUsIGNvbnN0IGNoYXIgKm5hbWUsIC4uLik7CiAKICNlbmRpZiAvKiBDT01NSVRfSCAqLwpkaWZmIC0tZ2l0IGEvY29tbW9uLW1haW4uYyBiL2NvbW1vbi1tYWluLmMKaW5kZXggMzcyOGY2Ni4uNzFlMjFkZCAxMDA2NDQKLS0tIGEvY29tbW9uLW1haW4uYworKysgYi9jb21tb24tbWFpbi5jCkBAIC0yNSwxMiArMjUsMTcgQEAKIAogaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQogeworCWludCByZXN1bHQ7CisKKwl0cmFjZTJfaW5pdGlhbGl6ZV9jbG9jaygpOworCiAJLyoKIAkgKiBBbHdheXMgb3BlbiBmaWxlIGRlc2NyaXB0b3JzIDAvMS8yIHRvIGF2b2lkIGNsb2JiZXJpbmcgZmlsZXMKIAkgKiBpbiBkaWUoKS4gIEl0IGFsc28gYXZvaWRzIG1lc3NpbmcgdXAgd2hlbiB0aGUgcGlwZXMgYXJlIGR1cCdlZAogCSAqIG9udG8gc3RkaW4vc3Rkb3V0L3N0ZGVyciBpbiB0aGUgY2hpbGQgcHJvY2Vzc2VzIHdlIHNwYXduLgogCSAqLwogCXNhbml0aXplX3N0ZGZkcygpOworCXJlc3RvcmVfc2lncGlwZV90b19kZWZhdWx0KCk7CiAKIAlnaXRfcmVzb2x2ZV9leGVjdXRhYmxlX2Rpcihhcmd2WzBdKTsKIApAQCAtNDAsNyArNDUsMTMgQEAKIAogCWF0dHJfc3RhcnQoKTsKIAotCXJlc3RvcmVfc2lncGlwZV90b19kZWZhdWx0KCk7CisJdHJhY2UyX2luaXRpYWxpemUoKTsKKwl0cmFjZTJfY21kX3N0YXJ0KGFyZ3YpOworCXRyYWNlMl9jb2xsZWN0X3Byb2Nlc3NfaW5mbyhUUkFDRTJfUFJPQ0VTU19JTkZPX1NUQVJUVVApOwogCi0JcmV0dXJuIGNtZF9tYWluKGFyZ2MsIGFyZ3YpOworCXJlc3VsdCA9IGNtZF9tYWluKGFyZ2MsIGFyZ3YpOworCisJdHJhY2UyX2NtZF9leGl0KHJlc3VsdCk7CisKKwlyZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEvY29tcGF0L2FjY2Vzcy5jIGIvY29tcGF0L2FjY2Vzcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5ZmRhM2UKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wYXQvYWNjZXNzLmMKQEAgLTAsMCArMSwzMSBAQAorI2RlZmluZSBDT01QQVRfQ09ERV9BQ0NFU1MKKyNpbmNsdWRlICIuLi9naXQtY29tcGF0LXV0aWwuaCIKKworLyogRG8gdGhlIHNhbWUgdGhpbmcgYWNjZXNzKDIpIGRvZXMsIGJ1dCB1c2UgdGhlIGVmZmVjdGl2ZSB1aWQsCisgKiBhbmQgZG9uJ3QgbWFrZSB0aGUgbWlzdGFrZSBvZiB0ZWxsaW5nIHJvb3QgdGhhdCBhbnkgZmlsZSBpcworICogZXhlY3V0YWJsZS4gIFRoaXMgdmVyc2lvbiB1c2VzIHN0YXQoMikuCisgKi8KK2ludCBnaXRfYWNjZXNzKGNvbnN0IGNoYXIgKnBhdGgsIGludCBtb2RlKQoreworCXN0cnVjdCBzdGF0IHN0OworCisJLyogZG8gbm90IGludGVyZmVyZSBhIG5vcm1hbCB1c2VyICovCisJaWYgKGdldGV1aWQoKSkKKwkJcmV0dXJuIGFjY2VzcyhwYXRoLCBtb2RlKTsKKworCWlmIChzdGF0KHBhdGgsICZzdCkgPCAwKQorCQlyZXR1cm4gLTE7CisKKwkvKiBSb290IGNhbiByZWFkIG9yIHdyaXRlIGFueSBmaWxlLiAqLworCWlmICghKG1vZGUgJiBYX09LKSkKKwkJcmV0dXJuIDA7CisKKwkvKiBSb290IGNhbiBleGVjdXRlIGFueSBmaWxlIHRoYXQgaGFzIGFueSBvbmUgb2YgdGhlIGV4ZWN1dGUKKwkgKiBiaXRzIHNldC4KKwkgKi8KKwlpZiAoc3Quc3RfbW9kZSAmIChTX0lYVVNSIHwgU19JWEdSUCB8IFNfSVhPVEgpKQorCQlyZXR1cm4gMDsKKworCWVycm5vID0gRUFDQ0VTOworCXJldHVybiAtMTsKK30KZGlmZiAtLWdpdCBhL2NvbXBhdC9ic3dhcC5oIGIvY29tcGF0L2Jzd2FwLmgKaW5kZXggNTA3OGNlNS4uZTRlMjU3MyAxMDA2NDQKLS0tIGEvY29tcGF0L2Jzd2FwLmgKKysrIGIvY29tcGF0L2Jzd2FwLmgKQEAgLTEsMyArMSw2IEBACisjaWZuZGVmIENPTVBBVF9CU1dBUF9ICisjZGVmaW5lIENPTVBBVF9CU1dBUF9ICisKIC8qCiAgKiBMZXQncyBtYWtlIHN1cmUgd2UgYWx3YXlzIGhhdmUgYSBzYW5lIGRlZmluaXRpb24gZm9yIG50b2hsKCkvaHRvbmwoKS4KICAqIFNvbWUgbGlicmFyaWVzIGRlZmluZSB0aG9zZSBhcyBhIGZ1bmN0aW9uIGNhbGwsIGp1c3QgdG8gcGVyZm9ybSBieXRlCkBAIC0yMTAsMyArMjEzLDUgQEAKIH0KIAogI2VuZGlmCisKKyNlbmRpZiAvKiBDT01QQVRfQlNXQVBfSCAqLwpkaWZmIC0tZ2l0IGEvY29tcGF0L2N5Z3dpbi5jIGIvY29tcGF0L2N5Z3dpbi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOTg2MmQ2Li4wMDAwMDAwCi0tLSBhL2NvbXBhdC9jeWd3aW4uYworKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLSNpbmNsdWRlICIuLi9naXQtY29tcGF0LXV0aWwuaCIKLSNpbmNsdWRlICIuLi9jYWNoZS5oIgotCi1pbnQgY3lnd2luX29mZnNldF8xc3RfY29tcG9uZW50KGNvbnN0IGNoYXIgKnBhdGgpCi17Ci0JY29uc3QgY2hhciAqcG9zID0gcGF0aDsKLQkvKiB1bmMgcGF0aHMgKi8KLQlpZiAoaXNfZGlyX3NlcChwb3NbMF0pICYmIGlzX2Rpcl9zZXAocG9zWzFdKSkgewotCQkvKiBza2lwIHNlcnZlciBuYW1lICovCi0JCXBvcyA9IHN0cmNocihwb3MgKyAyLCAnLycpOwotCQlpZiAoIXBvcykKLQkJCXJldHVybiAwOyAvKiBFcnJvcjogbWFsZm9ybWVkIHVuYyBwYXRoICovCi0KLQkJZG8gewotCQkJcG9zKys7Ci0JCX0gd2hpbGUgKCpwb3MgJiYgcG9zWzBdICE9ICcvJyk7Ci0JfQotCXJldHVybiBwb3MgKyBpc19kaXJfc2VwKCpwb3MpIC0gcGF0aDsKLX0KZGlmZiAtLWdpdCBhL2NvbXBhdC9jeWd3aW4uaCBiL2NvbXBhdC9jeWd3aW4uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGU1MmRlNC4uMDAwMDAwMAotLS0gYS9jb21wYXQvY3lnd2luLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLWludCBjeWd3aW5fb2Zmc2V0XzFzdF9jb21wb25lbnQoY29uc3QgY2hhciAqcGF0aCk7Ci0jZGVmaW5lIG9mZnNldF8xc3RfY29tcG9uZW50IGN5Z3dpbl9vZmZzZXRfMXN0X2NvbXBvbmVudApkaWZmIC0tZ2l0IGEvY29tcGF0L2ZpbGVuby5jIGIvY29tcGF0L2ZpbGVuby5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlODBlZjMKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wYXQvZmlsZW5vLmMKQEAgLTAsMCArMSw3IEBACisjZGVmaW5lIENPTVBBVF9DT0RFX0ZJTEVOTworI2luY2x1ZGUgIi4uL2dpdC1jb21wYXQtdXRpbC5oIgorCitpbnQgZ2l0X2ZpbGVubyhGSUxFICpzdHJlYW0pCit7CisJcmV0dXJuIGZpbGVubyhzdHJlYW0pOworfQpkaWZmIC0tZ2l0IGEvY29tcGF0L21pbmd3LmMgYi9jb21wYXQvbWluZ3cuYwppbmRleCBhMDEwZTBiLi5kMTQwNjVkIDEwMDY0NAotLS0gYS9jb21wYXQvbWluZ3cuYworKysgYi9jb21wYXQvbWluZ3cuYwpAQCAtNywxMSArNywyNSBAQAogI2luY2x1ZGUgIi4uL2NhY2hlLmgiCiAjaW5jbHVkZSAid2luMzIvbGF6eWxvYWQuaCIKICNpbmNsdWRlICIuLi9jb25maWcuaCIKKyNpbmNsdWRlICJkaXIuaCIKIAogI2RlZmluZSBIQ0FTVCh0eXBlLCBoYW5kbGUpICgodHlwZSkoaW50cHRyX3QpaGFuZGxlKQogCiBzdGF0aWMgY29uc3QgaW50IGRlbGF5W10gPSB7IDAsIDEsIDEwLCAyMCwgNDAgfTsKIAordm9pZCBvcGVuX2luX2dkYih2b2lkKQoreworCXN0YXRpYyBzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcCA9IENISUxEX1BST0NFU1NfSU5JVDsKKwlleHRlcm4gY2hhciAqX3BnbXB0cjsKKworCWFyZ3ZfYXJyYXlfcHVzaGwoJmNwLmFyZ3MsICJtaW50dHkiLCAiZ2RiIiwgTlVMTCk7CisJYXJndl9hcnJheV9wdXNoZigmY3AuYXJncywgIi0tcGlkPSVkIiwgZ2V0cGlkKCkpOworCWNwLmNsZWFuX29uX2V4aXQgPSAxOworCWlmIChzdGFydF9jb21tYW5kKCZjcCkgPCAwKQorCQlkaWVfZXJybm8oIkNvdWxkIG5vdCBzdGFydCBnZGIiKTsKKwlzbGVlcCgxKTsKK30KKwogaW50IGVycl93aW5fdG9fcG9zaXgoRFdPUkQgd2luZXJyKQogewogCWludCBlcnJvciA9IEVOT1NZUzsKQEAgLTExMyw2ICsxMjcsNyBAQAogCWNhc2UgRVJST1JfU0hBUklOR19CVUZGRVJfRVhDRUVERUQ6IGVycm9yID0gRU5GSUxFOyBicmVhazsKIAljYXNlIEVSUk9SX1NIQVJJTkdfVklPTEFUSU9OOiBlcnJvciA9IEVBQ0NFUzsgYnJlYWs7CiAJY2FzZSBFUlJPUl9TVEFDS19PVkVSRkxPVzogZXJyb3IgPSBFTk9NRU07IGJyZWFrOworCWNhc2UgRVJST1JfU1VDQ0VTUzogQlVHKCJlcnJfd2luX3RvX3Bvc2l4KCkgY2FsbGVkIHdpdGhvdXQgYW4gZXJyb3IhIik7CiAJY2FzZSBFUlJPUl9TV0FQRVJST1I6IGVycm9yID0gRU5PRU5UOyBicmVhazsKIAljYXNlIEVSUk9SX1RPT19NQU5ZX01PRFVMRVM6IGVycm9yID0gRU1GSUxFOyBicmVhazsKIAljYXNlIEVSUk9SX1RPT19NQU5ZX09QRU5fRklMRVM6IGVycm9yID0gRU1GSUxFOyBicmVhazsKQEAgLTIxMSw2ICsyMjYsNyBAQAogCUhJREVfRE9URklMRVNfRE9UR0lUT05MWQogfTsKIAorc3RhdGljIGludCBjb3JlX3Jlc3RyaWN0X2luaGVyaXRlZF9oYW5kbGVzID0gLTE7CiBzdGF0aWMgZW51bSBoaWRlX2RvdGZpbGVzX3R5cGUgaGlkZV9kb3RmaWxlcyA9IEhJREVfRE9URklMRVNfRE9UR0lUT05MWTsKIHN0YXRpYyBjaGFyICp1bnNldF9lbnZpcm9ubWVudF92YXJpYWJsZXM7CiAKQEAgLTIzMCw2ICsyNDYsMTUgQEAKIAkJcmV0dXJuIDA7CiAJfQogCisJaWYgKCFzdHJjbXAodmFyLCAiY29yZS5yZXN0cmljdGluaGVyaXRlZGhhbmRsZXMiKSkgeworCQlpZiAodmFsdWUgJiYgIXN0cmNhc2VjbXAodmFsdWUsICJhdXRvIikpCisJCQljb3JlX3Jlc3RyaWN0X2luaGVyaXRlZF9oYW5kbGVzID0gLTE7CisJCWVsc2UKKwkJCWNvcmVfcmVzdHJpY3RfaW5oZXJpdGVkX2hhbmRsZXMgPQorCQkJCWdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKKwkJcmV0dXJuIDA7CisJfQorCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTM1MCw3ICszNzUsNyBAQAogCQlyZXR1cm4gMDsKIAogCS8qIFdlIGNhbm5vdCB1c2UgYmFzZW5hbWUoKSwgYXMgaXQgd291bGQgcmVtb3ZlIHRyYWlsaW5nIHNsYXNoZXMgKi8KLQltaW5nd19za2lwX2Rvc19kcml2ZV9wcmVmaXgoKGNoYXIgKiopJnBhdGgpOworCXdpbjMyX3NraXBfZG9zX2RyaXZlX3ByZWZpeCgoY2hhciAqKikmcGF0aCk7CiAJaWYgKCEqcGF0aCkKIAkJcmV0dXJuIDA7CiAKQEAgLTM2Miw2ICszODcsOCBAQAogCQkJLyogaWdub3JlIHRyYWlsaW5nIHNsYXNoZXMgKi8KIAkJCWlmICgqcGF0aCkKIAkJCQliYXNlbmFtZSA9IHBhdGg7CisJCQllbHNlCisJCQkJYnJlYWs7CiAJCX0KIAogCWlmIChoaWRlX2RvdGZpbGVzID09IEhJREVfRE9URklMRVNfVFJVRSkKQEAgLTM5MCw3ICs0MTcsNyBAQAogCWludCByZXQ7CiAJd2NoYXJfdCB3cGF0aFtNQVhfUEFUSF07CiAKLQlpZiAoIWlzX3ZhbGlkX3dpbjMyX3BhdGgocGF0aCkpIHsKKwlpZiAoIWlzX3ZhbGlkX3dpbjMyX3BhdGgocGF0aCwgMCkpIHsKIAkJZXJybm8gPSBFSU5WQUw7CiAJCXJldHVybiAtMTsKIAl9CkBAIC00NzYsMjEgKzUwMywyMSBAQAogCW1vZGUgPSB2YV9hcmcoYXJncywgaW50KTsKIAl2YV9lbmQoYXJncyk7CiAKLQlpZiAoIWlzX3ZhbGlkX3dpbjMyX3BhdGgoZmlsZW5hbWUpKSB7CisJaWYgKCFpc192YWxpZF93aW4zMl9wYXRoKGZpbGVuYW1lLCAhY3JlYXRlKSkgewogCQllcnJubyA9IGNyZWF0ZSA/IEVJTlZBTCA6IEVOT0VOVDsKIAkJcmV0dXJuIC0xOwogCX0KIAotCWlmIChmaWxlbmFtZSAmJiAhc3RyY21wKGZpbGVuYW1lLCAiL2Rldi9udWxsIikpCi0JCWZpbGVuYW1lID0gIm51bCI7Ci0KIAlpZiAoKG9mbGFncyAmIE9fQVBQRU5EKSAmJiAhaXNfbG9jYWxfbmFtZWRfcGlwZV9wYXRoKGZpbGVuYW1lKSkKIAkJb3Blbl9mbiA9IG1pbmd3X29wZW5fYXBwZW5kOwogCWVsc2UKIAkJb3Blbl9mbiA9IF93b3BlbjsKIAotCWlmICh4dXRmdG93Y3NfcGF0aCh3ZmlsZW5hbWUsIGZpbGVuYW1lKSA8IDApCisJaWYgKGZpbGVuYW1lICYmICFzdHJjbXAoZmlsZW5hbWUsICIvZGV2L251bGwiKSkKKwkJd2NzY3B5KHdmaWxlbmFtZSwgTCJudWwiKTsKKwllbHNlIGlmICh4dXRmdG93Y3NfcGF0aCh3ZmlsZW5hbWUsIGZpbGVuYW1lKSA8IDApCiAJCXJldHVybiAtMTsKKwogCWZkID0gb3Blbl9mbih3ZmlsZW5hbWUsIG9mbGFncywgbW9kZSk7CiAKIAlpZiAoZmQgPCAwICYmIChvZmxhZ3MgJiBPX0FDQ01PREUpICE9IE9fUkRPTkxZICYmIGVycm5vID09IEVBQ0NFUykgewpAQCAtNTQ3LDE2ICs1NzQsMTggQEAKIAlpbnQgaGlkZSA9IG5lZWRzX2hpZGluZyhmaWxlbmFtZSk7CiAJRklMRSAqZmlsZTsKIAl3Y2hhcl90IHdmaWxlbmFtZVtNQVhfUEFUSF0sIHdvdHlwZVs0XTsKLQlpZiAoIWlzX3ZhbGlkX3dpbjMyX3BhdGgoZmlsZW5hbWUpKSB7CisJaWYgKGZpbGVuYW1lICYmICFzdHJjbXAoZmlsZW5hbWUsICIvZGV2L251bGwiKSkKKwkJd2NzY3B5KHdmaWxlbmFtZSwgTCJudWwiKTsKKwllbHNlIGlmICghaXNfdmFsaWRfd2luMzJfcGF0aChmaWxlbmFtZSwgMSkpIHsKIAkJaW50IGNyZWF0ZSA9IG90eXBlICYmIHN0cmNocihvdHlwZSwgJ3cnKTsKIAkJZXJybm8gPSBjcmVhdGUgPyBFSU5WQUwgOiBFTk9FTlQ7CiAJCXJldHVybiBOVUxMOwotCX0KLQlpZiAoZmlsZW5hbWUgJiYgIXN0cmNtcChmaWxlbmFtZSwgIi9kZXYvbnVsbCIpKQotCQlmaWxlbmFtZSA9ICJudWwiOwotCWlmICh4dXRmdG93Y3NfcGF0aCh3ZmlsZW5hbWUsIGZpbGVuYW1lKSA8IDAgfHwKLQkJeHV0ZnRvd2NzKHdvdHlwZSwgb3R5cGUsIEFSUkFZX1NJWkUod290eXBlKSkgPCAwKQorCX0gZWxzZSBpZiAoeHV0ZnRvd2NzX3BhdGgod2ZpbGVuYW1lLCBmaWxlbmFtZSkgPCAwKQogCQlyZXR1cm4gTlVMTDsKKworCWlmICh4dXRmdG93Y3Mod290eXBlLCBvdHlwZSwgQVJSQVlfU0laRSh3b3R5cGUpKSA8IDApCisJCXJldHVybiBOVUxMOworCiAJaWYgKGhpZGUgJiYgIWFjY2VzcyhmaWxlbmFtZSwgRl9PSykgJiYgc2V0X2hpZGRlbl9mbGFnKHdmaWxlbmFtZSwgMCkpIHsKIAkJZXJyb3IoImNvdWxkIG5vdCB1bmhpZGUgJXMiLCBmaWxlbmFtZSk7CiAJCXJldHVybiBOVUxMOwpAQCAtNTc0LDE2ICs2MDMsMTggQEAKIAlpbnQgaGlkZSA9IG5lZWRzX2hpZGluZyhmaWxlbmFtZSk7CiAJRklMRSAqZmlsZTsKIAl3Y2hhcl90IHdmaWxlbmFtZVtNQVhfUEFUSF0sIHdvdHlwZVs0XTsKLQlpZiAoIWlzX3ZhbGlkX3dpbjMyX3BhdGgoZmlsZW5hbWUpKSB7CisJaWYgKGZpbGVuYW1lICYmICFzdHJjbXAoZmlsZW5hbWUsICIvZGV2L251bGwiKSkKKwkJd2NzY3B5KHdmaWxlbmFtZSwgTCJudWwiKTsKKwllbHNlIGlmICghaXNfdmFsaWRfd2luMzJfcGF0aChmaWxlbmFtZSwgMSkpIHsKIAkJaW50IGNyZWF0ZSA9IG90eXBlICYmIHN0cmNocihvdHlwZSwgJ3cnKTsKIAkJZXJybm8gPSBjcmVhdGUgPyBFSU5WQUwgOiBFTk9FTlQ7CiAJCXJldHVybiBOVUxMOwotCX0KLQlpZiAoZmlsZW5hbWUgJiYgIXN0cmNtcChmaWxlbmFtZSwgIi9kZXYvbnVsbCIpKQotCQlmaWxlbmFtZSA9ICJudWwiOwotCWlmICh4dXRmdG93Y3NfcGF0aCh3ZmlsZW5hbWUsIGZpbGVuYW1lKSA8IDAgfHwKLQkJeHV0ZnRvd2NzKHdvdHlwZSwgb3R5cGUsIEFSUkFZX1NJWkUod290eXBlKSkgPCAwKQorCX0gZWxzZSBpZiAoeHV0ZnRvd2NzX3BhdGgod2ZpbGVuYW1lLCBmaWxlbmFtZSkgPCAwKQogCQlyZXR1cm4gTlVMTDsKKworCWlmICh4dXRmdG93Y3Mod290eXBlLCBvdHlwZSwgQVJSQVlfU0laRSh3b3R5cGUpKSA8IDApCisJCXJldHVybiBOVUxMOworCiAJaWYgKGhpZGUgJiYgIWFjY2VzcyhmaWxlbmFtZSwgRl9PSykgJiYgc2V0X2hpZGRlbl9mbGFnKHdmaWxlbmFtZSwgMCkpIHsKIAkJZXJyb3IoImNvdWxkIG5vdCB1bmhpZGUgJXMiLCBmaWxlbmFtZSk7CiAJCXJldHVybiBOVUxMOwpAQCAtMTAwNCwxNiArMTAzNSwxNiBAQAogCiBzdHJ1Y3QgdG0gKmdtdGltZV9yKGNvbnN0IHRpbWVfdCAqdGltZXAsIHN0cnVjdCB0bSAqcmVzdWx0KQogewotCS8qIGdtdGltZSgpIGluIE1TVkNSVC5ETEwgaXMgdGhyZWFkLXNhZmUsIGJ1dCBub3QgcmVlbnRyYW50ICovCi0JbWVtY3B5KHJlc3VsdCwgZ210aW1lKHRpbWVwKSwgc2l6ZW9mKHN0cnVjdCB0bSkpOwotCXJldHVybiByZXN1bHQ7CisJaWYgKGdtdGltZV9zKHJlc3VsdCwgdGltZXApID09IDApCisJCXJldHVybiByZXN1bHQ7CisJcmV0dXJuIE5VTEw7CiB9CiAKIHN0cnVjdCB0bSAqbG9jYWx0aW1lX3IoY29uc3QgdGltZV90ICp0aW1lcCwgc3RydWN0IHRtICpyZXN1bHQpCiB7Ci0JLyogbG9jYWx0aW1lKCkgaW4gTVNWQ1JULkRMTCBpcyB0aHJlYWQtc2FmZSwgYnV0IG5vdCByZWVudHJhbnQgKi8KLQltZW1jcHkocmVzdWx0LCBsb2NhbHRpbWUodGltZXApLCBzaXplb2Yoc3RydWN0IHRtKSk7Ci0JcmV0dXJuIHJlc3VsdDsKKwlpZiAobG9jYWx0aW1lX3MocmVzdWx0LCB0aW1lcCkgPT0gMCkKKwkJcmV0dXJuIHJlc3VsdDsKKwlyZXR1cm4gTlVMTDsKIH0KIAogY2hhciAqbWluZ3dfZ2V0Y3dkKGNoYXIgKnBvaW50ZXIsIGludCBsZW4pCkBAIC0xMDUyLDcgKzEwODMsNyBAQAogICogU2VlICJQYXJzaW5nIEMrKyBDb21tYW5kLUxpbmUgQXJndW1lbnRzIiBhdCBNaWNyb3NvZnQncyBEb2NzOgogICogaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvY3BwL2NwcC9wYXJzaW5nLWNwcC1jb21tYW5kLWxpbmUtYXJndW1lbnRzCiAgKi8KLXN0YXRpYyBjb25zdCBjaGFyICpxdW90ZV9hcmcoY29uc3QgY2hhciAqYXJnKQorc3RhdGljIGNvbnN0IGNoYXIgKnF1b3RlX2FyZ19tc3ZjKGNvbnN0IGNoYXIgKmFyZykKIHsKIAkvKiBjb3VudCBjaGFycyB0byBxdW90ZSAqLwogCWludCBsZW4gPSAwLCBuID0gMDsKQEAgLTExMTAsNiArMTE0MSwzOCBAQAogCXJldHVybiBxOwogfQogCisjaW5jbHVkZSAicXVvdGUuaCIKKworc3RhdGljIGNvbnN0IGNoYXIgKnF1b3RlX2FyZ19tc3lzMihjb25zdCBjaGFyICphcmcpCit7CisJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKKwljb25zdCBjaGFyICpwMiA9IGFyZywgKnA7CisKKwlmb3IgKHAgPSBhcmc7ICpwOyBwKyspIHsKKwkJaW50IHdzID0gaXNzcGFjZSgqcCk7CisJCWlmICghd3MgJiYgKnAgIT0gJ1xcJyAmJiAqcCAhPSAnIicgJiYgKnAgIT0gJ3snICYmICpwICE9ICdcJycgJiYKKwkJICAgICpwICE9ICc/JyAmJiAqcCAhPSAnKicgJiYgKnAgIT0gJ34nKQorCQkJY29udGludWU7CisJCWlmICghYnVmLmxlbikKKwkJCXN0cmJ1Zl9hZGRjaCgmYnVmLCAnIicpOworCQlpZiAocCAhPSBwMikKKwkJCXN0cmJ1Zl9hZGQoJmJ1ZiwgcDIsIHAgLSBwMik7CisJCWlmICgqcCA9PSAnXFwnIHx8ICpwID09ICciJykKKwkJCXN0cmJ1Zl9hZGRjaCgmYnVmLCAnXFwnKTsKKwkJcDIgPSBwOworCX0KKworCWlmIChwID09IGFyZykKKwkJc3RyYnVmX2FkZGNoKCZidWYsICciJyk7CisJZWxzZSBpZiAoIWJ1Zi5sZW4pCisJCXJldHVybiBhcmc7CisJZWxzZQorCQlzdHJidWZfYWRkKCZidWYsIHAyLCBwIC0gcDIpOworCisJc3RyYnVmX2FkZGNoKCZidWYsICciJyk7CisJcmV0dXJuIHN0cmJ1Zl9kZXRhY2goJmJ1ZiwgMCk7Cit9CisKIHN0YXRpYyBjb25zdCBjaGFyICpwYXJzZV9pbnRlcnByZXRlcihjb25zdCBjaGFyICpjbWQpCiB7CiAJc3RhdGljIGNoYXIgYnVmWzEwMF07CkBAIC0xMTUzLDE0ICsxMjE2LDIxIEBACiAJCQkgaW50IGlzZXhlLCBpbnQgZXhlX29ubHkpCiB7CiAJY2hhciBwYXRoW01BWF9QQVRIXTsKKwl3Y2hhcl90IHdwYXRoW01BWF9QQVRIXTsKIAlzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksICIlLipzXFwlcy5leGUiLCBkaXJsZW4sIGRpciwgY21kKTsKIAotCWlmICghaXNleGUgJiYgYWNjZXNzKHBhdGgsIEZfT0spID09IDApCisJaWYgKHh1dGZ0b3djc19wYXRoKHdwYXRoLCBwYXRoKSA8IDApCisJCXJldHVybiBOVUxMOworCisJaWYgKCFpc2V4ZSAmJiBfd2FjY2Vzcyh3cGF0aCwgRl9PSykgPT0gMCkKIAkJcmV0dXJuIHhzdHJkdXAocGF0aCk7Ci0JcGF0aFtzdHJsZW4ocGF0aCktNF0gPSAnXDAnOwotCWlmICgoIWV4ZV9vbmx5IHx8IGlzZXhlKSAmJiBhY2Nlc3MocGF0aCwgRl9PSykgPT0gMCkKLQkJaWYgKCEoR2V0RmlsZUF0dHJpYnV0ZXMocGF0aCkgJiBGSUxFX0FUVFJJQlVURV9ESVJFQ1RPUlkpKQorCXdwYXRoW3djc2xlbih3cGF0aCktNF0gPSAnXDAnOworCWlmICgoIWV4ZV9vbmx5IHx8IGlzZXhlKSAmJiBfd2FjY2Vzcyh3cGF0aCwgRl9PSykgPT0gMCkgeworCQlpZiAoIShHZXRGaWxlQXR0cmlidXRlc1cod3BhdGgpICYgRklMRV9BVFRSSUJVVEVfRElSRUNUT1JZKSkgeworCQkJcGF0aFtzdHJsZW4ocGF0aCktNF0gPSAnXDAnOwogCQkJcmV0dXJuIHhzdHJkdXAocGF0aCk7CisJCX0KKwl9CiAJcmV0dXJuIE5VTEw7CiB9CiAKQEAgLTExNzUsNyArMTI0NSw3IEBACiAJaW50IGxlbiA9IHN0cmxlbihjbWQpOwogCWludCBpc2V4ZSA9IGxlbiA+PSA0ICYmICFzdHJjYXNlY21wKGNtZCtsZW4tNCwgIi5leGUiKTsKIAotCWlmIChzdHJjaHIoY21kLCAnLycpIHx8IHN0cmNocihjbWQsICdcXCcpKQorCWlmIChzdHJwYnJrKGNtZCwgIi9cXCIpKQogCQlyZXR1cm4geHN0cmR1cChjbWQpOwogCiAJcGF0aCA9IG1pbmd3X2dldGVudigiUEFUSCIpOwpAQCAtMTIyMSwxMSArMTI5MSw2IEBACiAJcmV0dXJuIF93Y3NuaWNtcChwLCBxLCBwX2xlbik7CiB9CiAKLS8qIFdlIG5lZWQgYSBzdGFibGUgc29ydCB0byBjb252ZXJ0IHRoZSBlbnZpcm9ubWVudCBiZXR3ZWVuIFVURi0xNiA8LT4gVVRGLTggKi8KLSNpZm5kZWYgSU5URVJOQUxfUVNPUlQKLSNpbmNsdWRlICJxc29ydC5jIgotI2VuZGlmCi0KIC8qCiAgKiBCdWlsZCBhbiBlbnZpcm9ubWVudCBibG9jayBjb21iaW5pbmcgdGhlIGluaGVyaXRlZCBlbnZpcm9ubWVudAogICogbWVyZ2VkIHdpdGggdGhlIGdpdmVuIGxpc3Qgb2Ygc2V0dGluZ3MuCkBAIC0xMjU3LDE1ICsxMzIyLDE1IEBACiAJCX0KIAogCQlBTExPQ19BUlJBWShyZXN1bHQsIHNpemUpOwotCQltZW1jcHkocmVzdWx0LCB3ZW52LCBzaXplICogc2l6ZW9mKCp3ZW52KSk7CisJCUNPUFlfQVJSQVkocmVzdWx0LCB3ZW52LCBzaXplKTsKIAkJRnJlZUVudmlyb25tZW50U3RyaW5nc1cod2Vudik7CiAJCXJldHVybiByZXN1bHQ7CiAJfQogCiAJLyoKIAkgKiBJZiB0aGVyZSBpcyBhIGRlbHRhZW52LCBsZXQncyBhY2N1bXVsYXRlIGFsbCBrZXlzIGludG8gYGFycmF5YCwKLQkgKiBzb3J0IHRoZW0gdXNpbmcgdGhlIHN0YWJsZSBnaXRfcXNvcnQoKSBhbmQgdGhlbiBjb3B5LCBza2lwcGluZwotCSAqIGR1cGxpY2F0ZSBrZXlzCisJICogc29ydCB0aGVtIHVzaW5nIHRoZSBzdGFibGUgZ2l0X3N0YWJsZV9xc29ydCgpIGFuZCB0aGVuIGNvcHksCisJICogc2tpcHBpbmcgZHVwbGljYXRlIGtleXMKIAkgKi8KIAlmb3IgKHAgPSB3ZW52OyBwICYmICpwOyApIHsKIAkJQUxMT0NfR1JPVyhhcnJheSwgbnIgKyAxLCBhbGxvYyk7CkBAIC0xMjg4LDcgKzEzNTMsNyBAQAogCQlwICs9IHdsZW4gKyAxOwogCX0KIAotCWdpdF9xc29ydChhcnJheSwgbnIsIHNpemVvZigqYXJyYXkpLCB3ZW52Y21wKTsKKwlnaXRfc3RhYmxlX3Fzb3J0KGFycmF5LCBuciwgc2l6ZW9mKCphcnJheSksIHdlbnZjbXApOwogCUFMTE9DX0FSUkFZKHJlc3VsdCwgc2l6ZSArIGRlbHRhX3NpemUpOwogCiAJZm9yIChwID0gcmVzdWx0LCBpID0gMDsgaSA8IG5yOyBpKyspIHsKQEAgLTEzMDEsNyArMTM2Niw3IEBACiAJCQljb250aW51ZTsKIAogCQlzaXplID0gd2NzbGVuKGFycmF5W2ldKSArIDE7Ci0JCW1lbWNweShwLCBhcnJheVtpXSwgc2l6ZSAqIHNpemVvZigqcCkpOworCQlDT1BZX0FSUkFZKHAsIGFycmF5W2ldLCBzaXplKTsKIAkJcCArPSBzaXplOwogCX0KIAkqcCA9IEwnXDAnOwpAQCAtMTM0MSwyMiArMTQwNiw5NyBAQAogc3RhdGljIHN0cnVjdCBwaW5mb190ICpwaW5mbyA9IE5VTEw7CiBDUklUSUNBTF9TRUNUSU9OIHBpbmZvX2NzOwogCisvKiBVc2VkIHRvIG1hdGNoIGFuZCBjaG9tcCBvZmYgcGF0aCBjb21wb25lbnRzICovCitzdGF0aWMgaW5saW5lIGludCBtYXRjaF9sYXN0X3BhdGhfY29tcG9uZW50KGNvbnN0IGNoYXIgKnBhdGgsIHNpemVfdCAqbGVuLAorCQkJCQkgICAgY29uc3QgY2hhciAqY29tcG9uZW50KQoreworCXNpemVfdCBjb21wb25lbnRfbGVuID0gc3RybGVuKGNvbXBvbmVudCk7CisJaWYgKCpsZW4gPCBjb21wb25lbnRfbGVuICsgMSB8fAorCSAgICAhaXNfZGlyX3NlcChwYXRoWypsZW4gLSBjb21wb25lbnRfbGVuIC0gMV0pIHx8CisJICAgIGZzcGF0aG5jbXAocGF0aCArICpsZW4gLSBjb21wb25lbnRfbGVuLCBjb21wb25lbnQsIGNvbXBvbmVudF9sZW4pKQorCQlyZXR1cm4gMDsKKwkqbGVuIC09IGNvbXBvbmVudF9sZW4gKyAxOworCS8qIGNob21wIG9mZiByZXBlYXRlZCBkaXIgc2VwYXJhdG9ycyAqLworCXdoaWxlICgqbGVuID4gMCAmJiBpc19kaXJfc2VwKHBhdGhbKmxlbiAtIDFdKSkKKwkJKCpsZW4pLS07CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgaXNfbXN5czJfc2goY29uc3QgY2hhciAqY21kKQoreworCWlmICghY21kKQorCQlyZXR1cm4gMDsKKworCWlmICghc3RyY21wKGNtZCwgInNoIikpIHsKKwkJc3RhdGljIGludCByZXQgPSAtMTsKKwkJY2hhciAqcDsKKworCQlpZiAocmV0ID49IDApCisJCQlyZXR1cm4gcmV0OworCisJCXAgPSBwYXRoX2xvb2t1cChjbWQsIDApOworCQlpZiAoIXApCisJCQlyZXQgPSAwOworCQllbHNlIHsKKwkJCXNpemVfdCBsZW4gPSBzdHJsZW4ocCk7CisKKwkJCXJldCA9IG1hdGNoX2xhc3RfcGF0aF9jb21wb25lbnQocCwgJmxlbiwgInNoLmV4ZSIpICYmCisJCQkJbWF0Y2hfbGFzdF9wYXRoX2NvbXBvbmVudChwLCAmbGVuLCAiYmluIikgJiYKKwkJCQltYXRjaF9sYXN0X3BhdGhfY29tcG9uZW50KHAsICZsZW4sICJ1c3IiKTsKKwkJCWZyZWUocCk7CisJCX0KKwkJcmV0dXJuIHJldDsKKwl9CisKKwlpZiAoZW5kc193aXRoKGNtZCwgIlxcc2guZXhlIikpIHsKKwkJc3RhdGljIGNoYXIgKnNoOworCisJCWlmICghc2gpCisJCQlzaCA9IHBhdGhfbG9va3VwKCJzaCIsIDApOworCisJCXJldHVybiAhZnNwYXRoY21wKGNtZCwgc2gpOworCX0KKworCXJldHVybiAwOworfQorCiBzdGF0aWMgcGlkX3QgbWluZ3dfc3Bhd252ZV9mZChjb25zdCBjaGFyICpjbWQsIGNvbnN0IGNoYXIgKiphcmd2LCBjaGFyICoqZGVsdGFlbnYsCiAJCQkgICAgICBjb25zdCBjaGFyICpkaXIsCiAJCQkgICAgICBpbnQgcHJlcGVuZF9jbWQsIGludCBmaGluLCBpbnQgZmhvdXQsIGludCBmaGVycikKIHsKLQlTVEFSVFVQSU5GT1cgc2k7CisJc3RhdGljIGludCByZXN0cmljdF9oYW5kbGVfaW5oZXJpdGFuY2UgPSAtMTsKKwlTVEFSVFVQSU5GT0VYVyBzaTsKIAlQUk9DRVNTX0lORk9STUFUSU9OIHBpOworCUxQUFJPQ19USFJFQURfQVRUUklCVVRFX0xJU1QgYXR0cl9saXN0ID0gTlVMTDsKKwlIQU5ETEUgc3RkaGFuZGxlc1szXTsKKwlEV09SRCBzdGRoYW5kbGVzX2NvdW50ID0gMDsKKwlTSVpFX1Qgc2l6ZTsKIAlzdHJ1Y3Qgc3RyYnVmIGFyZ3M7CiAJd2NoYXJfdCB3Y21kW01BWF9QQVRIXSwgd2RpcltNQVhfUEFUSF0sICp3YXJncywgKndlbnZibGsgPSBOVUxMOwogCXVuc2lnbmVkIGZsYWdzID0gQ1JFQVRFX1VOSUNPREVfRU5WSVJPTk1FTlQ7CiAJQk9PTCByZXQ7CiAJSEFORExFIGNvbnM7CisJY29uc3QgY2hhciAqKCpxdW90ZV9hcmcpKGNvbnN0IGNoYXIgKmFyZykgPQorCQlpc19tc3lzMl9zaChjbWQgPyBjbWQgOiAqYXJndikgPworCQlxdW90ZV9hcmdfbXN5czIgOiBxdW90ZV9hcmdfbXN2YzsKKworCS8qIE1ha2Ugc3VyZSB0byBvdmVycmlkZSBwcmV2aW91cyBlcnJvcnMsIGlmIGFueSAqLworCWVycm5vID0gMDsKKworCWlmIChyZXN0cmljdF9oYW5kbGVfaW5oZXJpdGFuY2UgPCAwKQorCQlyZXN0cmljdF9oYW5kbGVfaW5oZXJpdGFuY2UgPSBjb3JlX3Jlc3RyaWN0X2luaGVyaXRlZF9oYW5kbGVzOworCS8qCisJICogVGhlIGZvbGxvd2luZyBjb2RlIHRvIHJlc3RyaWN0IHdoaWNoIGhhbmRsZXMgYXJlIGluaGVyaXRlZCBzZWVtcworCSAqIHRvIHdvcmsgcHJvcGVybHkgb25seSBvbiBXaW5kb3dzIDcgYW5kIGxhdGVyLCBzbyBsZXQncyBkaXNhYmxlIGl0CisJICogb24gV2luZG93cyBWaXN0YSBhbmQgMjAwOC4KKwkgKi8KKwlpZiAocmVzdHJpY3RfaGFuZGxlX2luaGVyaXRhbmNlIDwgMCkKKwkJcmVzdHJpY3RfaGFuZGxlX2luaGVyaXRhbmNlID0gR2V0VmVyc2lvbigpID4+IDE2ID49IDc2MDE7CiAKIAlkb191bnNldF9lbnZpcm9ubWVudF92YXJpYWJsZXMoKTsKIAogCS8qIERldGVybWluZSB3aGV0aGVyIG9yIG5vdCB3ZSBhcmUgYXNzb2NpYXRlZCB0byBhIGNvbnNvbGUgKi8KLQljb25zID0gQ3JlYXRlRmlsZSgiQ09OT1VUJCIsIEdFTkVSSUNfV1JJVEUsCisJY29ucyA9IENyZWF0ZUZpbGVXKEwiQ09OT1VUJCIsIEdFTkVSSUNfV1JJVEUsCiAJCQlGSUxFX1NIQVJFX1dSSVRFLCBOVUxMLCBPUEVOX0VYSVNUSU5HLAogCQkJRklMRV9BVFRSSUJVVEVfTk9STUFMLCBOVUxMKTsKIAlpZiAoY29ucyA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkgewpAQCAtMTM4MCwxMyArMTUyMCwyNyBAQAogCQlDbG9zZUhhbmRsZShjb25zKTsKIAl9CiAJbWVtc2V0KCZzaSwgMCwgc2l6ZW9mKHNpKSk7Ci0Jc2kuY2IgPSBzaXplb2Yoc2kpOwotCXNpLmR3RmxhZ3MgPSBTVEFSVEZfVVNFU1RESEFORExFUzsKLQlzaS5oU3RkSW5wdXQgPSB3aW5hbnNpX2dldF9vc2ZoYW5kbGUoZmhpbik7Ci0Jc2kuaFN0ZE91dHB1dCA9IHdpbmFuc2lfZ2V0X29zZmhhbmRsZShmaG91dCk7Ci0Jc2kuaFN0ZEVycm9yID0gd2luYW5zaV9nZXRfb3NmaGFuZGxlKGZoZXJyKTsKKwlzaS5TdGFydHVwSW5mby5jYiA9IHNpemVvZihzaSk7CisJc2kuU3RhcnR1cEluZm8uaFN0ZElucHV0ID0gd2luYW5zaV9nZXRfb3NmaGFuZGxlKGZoaW4pOworCXNpLlN0YXJ0dXBJbmZvLmhTdGRPdXRwdXQgPSB3aW5hbnNpX2dldF9vc2ZoYW5kbGUoZmhvdXQpOworCXNpLlN0YXJ0dXBJbmZvLmhTdGRFcnJvciA9IHdpbmFuc2lfZ2V0X29zZmhhbmRsZShmaGVycik7CiAKLQlpZiAoeHV0ZnRvd2NzX3BhdGgod2NtZCwgY21kKSA8IDApCisJLyogVGhlIGxpc3Qgb2YgaGFuZGxlcyBjYW5ub3QgY29udGFpbiBkdXBsaWNhdGVzICovCisJaWYgKHNpLlN0YXJ0dXBJbmZvLmhTdGRJbnB1dCAhPSBJTlZBTElEX0hBTkRMRV9WQUxVRSkKKwkJc3RkaGFuZGxlc1tzdGRoYW5kbGVzX2NvdW50KytdID0gc2kuU3RhcnR1cEluZm8uaFN0ZElucHV0OworCWlmIChzaS5TdGFydHVwSW5mby5oU3RkT3V0cHV0ICE9IElOVkFMSURfSEFORExFX1ZBTFVFICYmCisJICAgIHNpLlN0YXJ0dXBJbmZvLmhTdGRPdXRwdXQgIT0gc2kuU3RhcnR1cEluZm8uaFN0ZElucHV0KQorCQlzdGRoYW5kbGVzW3N0ZGhhbmRsZXNfY291bnQrK10gPSBzaS5TdGFydHVwSW5mby5oU3RkT3V0cHV0OworCWlmIChzaS5TdGFydHVwSW5mby5oU3RkRXJyb3IgIT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUgJiYKKwkgICAgc2kuU3RhcnR1cEluZm8uaFN0ZEVycm9yICE9IHNpLlN0YXJ0dXBJbmZvLmhTdGRJbnB1dCAmJgorCSAgICBzaS5TdGFydHVwSW5mby5oU3RkRXJyb3IgIT0gc2kuU3RhcnR1cEluZm8uaFN0ZE91dHB1dCkKKwkJc3RkaGFuZGxlc1tzdGRoYW5kbGVzX2NvdW50KytdID0gc2kuU3RhcnR1cEluZm8uaFN0ZEVycm9yOworCWlmIChzdGRoYW5kbGVzX2NvdW50KQorCQlzaS5TdGFydHVwSW5mby5kd0ZsYWdzIHw9IFNUQVJURl9VU0VTVERIQU5ETEVTOworCisJaWYgKCphcmd2ICYmICFzdHJjbXAoY21kLCAqYXJndikpCisJCXdjbWRbMF0gPSBMJ1wwJzsKKwllbHNlIGlmICh4dXRmdG93Y3NfcGF0aCh3Y21kLCBjbWQpIDwgMCkKIAkJcmV0dXJuIC0xOwogCWlmIChkaXIgJiYgeHV0ZnRvd2NzX3BhdGgod2RpciwgZGlyKSA8IDApCiAJCXJldHVybiAtMTsKQEAgLTE0MTUsMTYgKzE1NjksOTggQEAKIAl3ZW52YmxrID0gbWFrZV9lbnZpcm9ubWVudF9ibG9jayhkZWx0YWVudik7CiAKIAltZW1zZXQoJnBpLCAwLCBzaXplb2YocGkpKTsKLQlyZXQgPSBDcmVhdGVQcm9jZXNzVyh3Y21kLCB3YXJncywgTlVMTCwgTlVMTCwgVFJVRSwgZmxhZ3MsCi0JCXdlbnZibGssIGRpciA/IHdkaXIgOiBOVUxMLCAmc2ksICZwaSk7CisJaWYgKHJlc3RyaWN0X2hhbmRsZV9pbmhlcml0YW5jZSAmJiBzdGRoYW5kbGVzX2NvdW50ICYmCisJICAgIChJbml0aWFsaXplUHJvY1RocmVhZEF0dHJpYnV0ZUxpc3QoTlVMTCwgMSwgMCwgJnNpemUpIHx8CisJICAgICBHZXRMYXN0RXJyb3IoKSA9PSBFUlJPUl9JTlNVRkZJQ0lFTlRfQlVGRkVSKSAmJgorCSAgICAoYXR0cl9saXN0ID0gKExQUFJPQ19USFJFQURfQVRUUklCVVRFX0xJU1QpCisJCQkoSGVhcEFsbG9jKEdldFByb2Nlc3NIZWFwKCksIDAsIHNpemUpKSkgJiYKKwkgICAgSW5pdGlhbGl6ZVByb2NUaHJlYWRBdHRyaWJ1dGVMaXN0KGF0dHJfbGlzdCwgMSwgMCwgJnNpemUpICYmCisJICAgIFVwZGF0ZVByb2NUaHJlYWRBdHRyaWJ1dGUoYXR0cl9saXN0LCAwLAorCQkJCSAgICAgIFBST0NfVEhSRUFEX0FUVFJJQlVURV9IQU5ETEVfTElTVCwKKwkJCQkgICAgICBzdGRoYW5kbGVzLAorCQkJCSAgICAgIHN0ZGhhbmRsZXNfY291bnQgKiBzaXplb2YoSEFORExFKSwKKwkJCQkgICAgICBOVUxMLCBOVUxMKSkgeworCQlzaS5scEF0dHJpYnV0ZUxpc3QgPSBhdHRyX2xpc3Q7CisJCWZsYWdzIHw9IEVYVEVOREVEX1NUQVJUVVBJTkZPX1BSRVNFTlQ7CisJfQorCisJcmV0ID0gQ3JlYXRlUHJvY2Vzc1coKndjbWQgPyB3Y21kIDogTlVMTCwgd2FyZ3MsIE5VTEwsIE5VTEwsCisJCQkgICAgIHN0ZGhhbmRsZXNfY291bnQgPyBUUlVFIDogRkFMU0UsCisJCQkgICAgIGZsYWdzLCB3ZW52YmxrLCBkaXIgPyB3ZGlyIDogTlVMTCwKKwkJCSAgICAgJnNpLlN0YXJ0dXBJbmZvLCAmcGkpOworCisJLyoKKwkgKiBPbiBXaW5kb3dzIDIwMDggUjIsIGl0IHNlZW1zIHRoYXQgc3BlY2lmeWluZyBjZXJ0YWluIHR5cGVzIG9mIGhhbmRsZXMKKwkgKiAoc3VjaCBhcyBGSUxFX1RZUEVfQ0hBUiBvciBGSUxFX1RZUEVfUElQRSkgd2lsbCBhbHdheXMgcHJvZHVjZSBhbgorCSAqIGVycm9yLiBSYXRoZXIgdGhhbiBwbGF5aW5nIGZpbmlja3kgYW5kIGZyYWdpbGUgZ2FtZXMsIGxldCdzIGp1c3QgdHJ5CisJICogdG8gZGV0ZWN0IHRoaXMgc2l0dWF0aW9uIGFuZCBzaW1wbHkgdHJ5IGFnYWluIHdpdGhvdXQgcmVzdHJpY3RpbmcgYW55CisJICogaGFuZGxlIGluaGVyaXRhbmNlLiBUaGlzIGlzIHN0aWxsIGJldHRlciB0aGFuIGZhaWxpbmcgdG8gY3JlYXRlCisJICogcHJvY2Vzc2VzLgorCSAqLworCWlmICghcmV0ICYmIHJlc3RyaWN0X2hhbmRsZV9pbmhlcml0YW5jZSAmJiBzdGRoYW5kbGVzX2NvdW50KSB7CisJCURXT1JEIGVyciA9IEdldExhc3RFcnJvcigpOworCQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCisJCWlmIChlcnIgIT0gRVJST1JfTk9fU1lTVEVNX1JFU09VUkNFUyAmJgorCQkgICAgLyoKKwkJICAgICAqIE9uIFdpbmRvd3MgNyBhbmQgZWFybGllciwgaGFuZGxlcyBvbiBwaXBlcyBhbmQgY2hhcmFjdGVyCisJCSAgICAgKiBkZXZpY2VzIGFyZSBpbmhlcml0ZWQgYXV0b21hdGljYWxseSwgYW5kIGNhbm5vdCBiZQorCQkgICAgICogc3BlY2lmaWVkIGluIHRoZSB0aHJlYWQgaGFuZGxlIGxpc3QuIFJhdGhlciB0aGFuIHRyeWluZworCQkgICAgICogdG8gY2F0Y2ggZWFjaCBhbmQgZXZlcnkgY29ybmVyIGNhc2UgKGFuZCBydW5uaW5nIHRoZQorCQkgICAgICogY2hhbmNlIG9mICpzdGlsbCogZm9yZ2V0dGluZyBhIGZldyksIGxldCdzIGp1c3QgZmFsbAorCQkgICAgICogYmFjayB0byBjcmVhdGluZyB0aGUgcHJvY2VzcyB3aXRob3V0IHRyeWluZyB0byBsaW1pdCB0aGUKKwkJICAgICAqIGhhbmRsZSBpbmhlcml0YW5jZS4KKwkJICAgICAqLworCQkgICAgIShlcnIgPT0gRVJST1JfSU5WQUxJRF9QQVJBTUVURVIgJiYKKwkJICAgICAgR2V0VmVyc2lvbigpID4+IDE2IDwgOTIwMCkgJiYKKwkJICAgICFnZXRlbnYoIlNVUFBSRVNTX0hBTkRMRV9JTkhFUklUQU5DRV9XQVJOSU5HIikpIHsKKwkJCURXT1JEIGZsID0gMDsKKwkJCWludCBpOworCisJCQlzZXRlbnYoIlNVUFBSRVNTX0hBTkRMRV9JTkhFUklUQU5DRV9XQVJOSU5HIiwgIjEiLCAxKTsKKworCQkJZm9yIChpID0gMDsgaSA8IHN0ZGhhbmRsZXNfY291bnQ7IGkrKykgeworCQkJCUhBTkRMRSBoID0gc3RkaGFuZGxlc1tpXTsKKwkJCQlzdHJidWZfYWRkZigmYnVmLCAiaGFuZGxlICMlZDogJXAgKHR5cGUgJWx4LCAiCisJCQkJCSAgICAiaGFuZGxlIGluZm8gKCVkKSAlbHhcbiIsIGksIGgsCisJCQkJCSAgICBHZXRGaWxlVHlwZShoKSwKKwkJCQkJICAgIEdldEhhbmRsZUluZm9ybWF0aW9uKGgsICZmbCksCisJCQkJCSAgICBmbCk7CisJCQl9CisJCQlzdHJidWZfYWRkc3RyKCZidWYsICJcblRoaXMgaXMgYSBidWc7IHBsZWFzZSByZXBvcnQgaXQgIgorCQkJCSAgICAgICJhdFxuaHR0cHM6Ly9naXRodWIuY29tL2dpdC1mb3Itd2luZG93cy8iCisJCQkJICAgICAgImdpdC9pc3N1ZXMvbmV3XG5cbiIKKwkJCQkgICAgICAiVG8gc3VwcHJlc3MgdGhpcyB3YXJuaW5nLCBwbGVhc2Ugc2V0ICIKKwkJCQkgICAgICAidGhlIGVudmlyb25tZW50IHZhcmlhYmxlXG5cbiIKKwkJCQkgICAgICAiXHRTVVBQUkVTU19IQU5ETEVfSU5IRVJJVEFOQ0VfV0FSTklORz0xIgorCQkJCSAgICAgICJcbiIpOworCQl9CisJCXJlc3RyaWN0X2hhbmRsZV9pbmhlcml0YW5jZSA9IDA7CisJCWZsYWdzICY9IH5FWFRFTkRFRF9TVEFSVFVQSU5GT19QUkVTRU5UOworCQlyZXQgPSBDcmVhdGVQcm9jZXNzVygqd2NtZCA/IHdjbWQgOiBOVUxMLCB3YXJncywgTlVMTCwgTlVMTCwKKwkJCQkgICAgIFRSVUUsIGZsYWdzLCB3ZW52YmxrLCBkaXIgPyB3ZGlyIDogTlVMTCwKKwkJCQkgICAgICZzaS5TdGFydHVwSW5mbywgJnBpKTsKKwkJaWYgKCFyZXQpCisJCQllcnJubyA9IGVycl93aW5fdG9fcG9zaXgoR2V0TGFzdEVycm9yKCkpOworCQlpZiAocmV0ICYmIGJ1Zi5sZW4pIHsKKwkJCXdhcm5pbmcoImZhaWxlZCB0byByZXN0cmljdCBmaWxlIGhhbmRsZXMgKCVsZClcblxuJXMiLAorCQkJCWVyciwgYnVmLmJ1Zik7CisJCX0KKwkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CisJfSBlbHNlIGlmICghcmV0KQorCQllcnJubyA9IGVycl93aW5fdG9fcG9zaXgoR2V0TGFzdEVycm9yKCkpOworCisJaWYgKHNpLmxwQXR0cmlidXRlTGlzdCkKKwkJRGVsZXRlUHJvY1RocmVhZEF0dHJpYnV0ZUxpc3Qoc2kubHBBdHRyaWJ1dGVMaXN0KTsKKwlpZiAoYXR0cl9saXN0KQorCQlIZWFwRnJlZShHZXRQcm9jZXNzSGVhcCgpLCAwLCBhdHRyX2xpc3QpOwogCiAJZnJlZSh3ZW52YmxrKTsKIAlmcmVlKHdhcmdzKTsKIAotCWlmICghcmV0KSB7Ci0JCWVycm5vID0gRU5PRU5UOworCWlmICghcmV0KQogCQlyZXR1cm4gLTE7Ci0JfQorCiAJQ2xvc2VIYW5kbGUocGkuaFRocmVhZCk7CiAKIAkvKgpAQCAtMTUwMCwxOSArMTczNiwyNiBAQAogCQlyZXR1cm4gMDsKIAlwcm9nID0gcGF0aF9sb29rdXAoaW50ZXJwciwgMSk7CiAJaWYgKHByb2cpIHsKKwkJaW50IGV4ZWNfaWQ7CiAJCWludCBhcmdjID0gMDsKLQkJY29uc3QgY2hhciAqKmFyZ3YyOworI2lmbmRlZiBfTVNDX1ZFUgorCQljb25zdAorI2VuZGlmCisJCWNoYXIgKiphcmd2MjsKIAkJd2hpbGUgKGFyZ3ZbYXJnY10pIGFyZ2MrKzsKIAkJQUxMT0NfQVJSQVkoYXJndjIsIGFyZ2MgKyAxKTsKIAkJYXJndjJbMF0gPSAoY2hhciAqKWNtZDsJLyogZnVsbCBwYXRoIHRvIHRoZSBzY3JpcHQgZmlsZSAqLwotCQltZW1jcHkoJmFyZ3YyWzFdLCAmYXJndlsxXSwgc2l6ZW9mKCphcmd2KSAqIGFyZ2MpOworCQlDT1BZX0FSUkFZKCZhcmd2MlsxXSwgJmFyZ3ZbMV0sIGFyZ2MpOworCQlleGVjX2lkID0gdHJhY2UyX2V4ZWMocHJvZywgYXJndjIpOwogCQlwaWQgPSBtaW5nd19zcGF3bnYocHJvZywgYXJndjIsIDEpOwogCQlpZiAocGlkID49IDApIHsKIAkJCWludCBzdGF0dXM7CiAJCQlpZiAod2FpdHBpZChwaWQsICZzdGF0dXMsIDApIDwgMCkKIAkJCQlzdGF0dXMgPSAyNTU7CisJCQl0cmFjZTJfZXhlY19yZXN1bHQoZXhlY19pZCwgc3RhdHVzKTsKIAkJCWV4aXQoc3RhdHVzKTsKIAkJfQorCQl0cmFjZTJfZXhlY19yZXN1bHQoZXhlY19pZCwgLTEpOwogCQlwaWQgPSAxOwkvKiBpbmRpY2F0ZSB0aGF0IHdlIHRyaWVkIGJ1dCBmYWlsZWQgKi8KIAkJZnJlZShwcm9nKTsKIAkJZnJlZShhcmd2Mik7CkBAIC0xNTI1LDEyICsxNzY4LDE3IEBACiAJLyogY2hlY2sgaWYgZ2l0X2NvbW1hbmQgaXMgYSBzaGVsbCBzY3JpcHQgKi8KIAlpZiAoIXRyeV9zaGVsbF9leGVjKGNtZCwgYXJndikpIHsKIAkJaW50IHBpZCwgc3RhdHVzOworCQlpbnQgZXhlY19pZDsKIAorCQlleGVjX2lkID0gdHJhY2UyX2V4ZWMoY21kLCAoY29uc3QgY2hhciAqKilhcmd2KTsKIAkJcGlkID0gbWluZ3dfc3Bhd252KGNtZCwgKGNvbnN0IGNoYXIgKiopYXJndiwgMCk7Ci0JCWlmIChwaWQgPCAwKQorCQlpZiAocGlkIDwgMCkgeworCQkJdHJhY2UyX2V4ZWNfcmVzdWx0KGV4ZWNfaWQsIC0xKTsKIAkJCXJldHVybiAtMTsKKwkJfQogCQlpZiAod2FpdHBpZChwaWQsICZzdGF0dXMsIDApIDwgMCkKIAkJCXN0YXR1cyA9IDI1NTsKKwkJdHJhY2UyX2V4ZWNfcmVzdWx0KGV4ZWNfaWQsIHN0YXR1cyk7CiAJCWV4aXQoc3RhdHVzKTsKIAl9CiAJcmV0dXJuIC0xOwpAQCAtMTU4MSw3ICsxODI5LDcgQEAKICAqLwogY2hhciAqbWluZ3dfZ2V0ZW52KGNvbnN0IGNoYXIgKm5hbWUpCiB7Ci0jZGVmaW5lIEdFVEVOVl9NQVhfUkVUQUlOIDMwCisjZGVmaW5lIEdFVEVOVl9NQVhfUkVUQUlOIDY0CiAJc3RhdGljIGNoYXIgKnZhbHVlc1tHRVRFTlZfTUFYX1JFVEFJTl07CiAJc3RhdGljIGludCB2YWx1ZV9jb3VudGVyOwogCWludCBsZW5fa2V5LCBsZW5fdmFsdWU7CkBAIC0xNTk4LDYgKzE4NDYsOCBAQAogCWlmICghd19rZXkpCiAJCWRpZSgiT3V0IG9mIG1lbW9yeSwgKHRyaWVkIHRvIGFsbG9jYXRlICV1IHdjaGFyX3QncykiLCBsZW5fa2V5KTsKIAl4dXRmdG93Y3Mod19rZXksIG5hbWUsIGxlbl9rZXkpOworCS8qIEdldEVudmlyb25tZW50VmFyaWFibGVXKCkgb25seSBzZXRzIHRoZSBsYXN0IGVycm9yIHVwb24gZmFpbHVyZSAqLworCVNldExhc3RFcnJvcihFUlJPUl9TVUNDRVNTKTsKIAlsZW5fdmFsdWUgPSBHZXRFbnZpcm9ubWVudFZhcmlhYmxlVyh3X2tleSwgd192YWx1ZSwgQVJSQVlfU0laRSh3X3ZhbHVlKSk7CiAJaWYgKCFsZW5fdmFsdWUgJiYgR2V0TGFzdEVycm9yKCkgPT0gRVJST1JfRU5WVkFSX05PVF9GT1VORCkgewogCQlmcmVlKHdfa2V5KTsKQEAgLTE2NTQsMTQyICsxOTA0LDEwIEBACiAJcmV0dXJuIHJlc3VsdCA/IDAgOiAtMTsKIH0KIAotLyoKLSAqIE5vdGUsIHRoaXMgaXNuJ3QgYSBjb21wbGV0ZSByZXBsYWNlbWVudCBmb3IgZ2V0YWRkcmluZm8uIEl0IGFzc3VtZXMKLSAqIHRoYXQgc2VydmljZSBjb250YWlucyBhIG51bWVyaWNhbCBwb3J0LCBvciB0aGF0IGl0IGlzIG51bGwuIEl0Ci0gKiBkb2VzIGEgc2ltcGxlIHNlYXJjaCB1c2luZyBnZXRob3N0YnluYW1lLCBhbmQgcmV0dXJucyBvbmUgSVB2NCBob3N0Ci0gKiBpZiBvbmUgd2FzIGZvdW5kLgotICovCi1zdGF0aWMgaW50IFdTQUFQSSBnZXRhZGRyaW5mb19zdHViKGNvbnN0IGNoYXIgKm5vZGUsIGNvbnN0IGNoYXIgKnNlcnZpY2UsCi0JCQkJICAgY29uc3Qgc3RydWN0IGFkZHJpbmZvICpoaW50cywKLQkJCQkgICBzdHJ1Y3QgYWRkcmluZm8gKipyZXMpCi17Ci0Jc3RydWN0IGhvc3RlbnQgKmggPSBOVUxMOwotCXN0cnVjdCBhZGRyaW5mbyAqYWk7Ci0Jc3RydWN0IHNvY2thZGRyX2luICpzaW47Ci0KLQlpZiAobm9kZSkgewotCQloID0gZ2V0aG9zdGJ5bmFtZShub2RlKTsKLQkJaWYgKCFoKQotCQkJcmV0dXJuIFdTQUdldExhc3RFcnJvcigpOwotCX0KLQotCWFpID0geG1hbGxvYyhzaXplb2Yoc3RydWN0IGFkZHJpbmZvKSk7Ci0JKnJlcyA9IGFpOwotCWFpLT5haV9mbGFncyA9IDA7Ci0JYWktPmFpX2ZhbWlseSA9IEFGX0lORVQ7Ci0JYWktPmFpX3NvY2t0eXBlID0gaGludHMgPyBoaW50cy0+YWlfc29ja3R5cGUgOiAwOwotCXN3aXRjaCAoYWktPmFpX3NvY2t0eXBlKSB7Ci0JY2FzZSBTT0NLX1NUUkVBTToKLQkJYWktPmFpX3Byb3RvY29sID0gSVBQUk9UT19UQ1A7Ci0JCWJyZWFrOwotCWNhc2UgU09DS19ER1JBTToKLQkJYWktPmFpX3Byb3RvY29sID0gSVBQUk9UT19VRFA7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCWFpLT5haV9wcm90b2NvbCA9IDA7Ci0JCWJyZWFrOwotCX0KLQlhaS0+YWlfYWRkcmxlbiA9IHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfaW4pOwotCWlmIChoaW50cyAmJiAoaGludHMtPmFpX2ZsYWdzICYgQUlfQ0FOT05OQU1FKSkKLQkJYWktPmFpX2Nhbm9ubmFtZSA9IGggPyB4c3RyZHVwKGgtPmhfbmFtZSkgOiBOVUxMOwotCWVsc2UKLQkJYWktPmFpX2Nhbm9ubmFtZSA9IE5VTEw7Ci0KLQlzaW4gPSB4Y2FsbG9jKDEsIGFpLT5haV9hZGRybGVuKTsKLQlzaW4tPnNpbl9mYW1pbHkgPSBBRl9JTkVUOwotCS8qIE5vdGU6IGdldGFkZHJpbmZvIGlzIHN1cHBvc2VkIHRvIGFsbG93IHNlcnZpY2UgdG8gYmUgYSBzdHJpbmcsCi0JICogd2hpY2ggc2hvdWxkIGJlIGxvb2tlZCB1cCB1c2luZyBnZXRzZXJ2YnluYW1lLiBUaGlzIGlzCi0JICogY3VycmVudGx5IG5vdCBpbXBsZW1lbnRlZCAqLwotCWlmIChzZXJ2aWNlKQotCQlzaW4tPnNpbl9wb3J0ID0gaHRvbnMoYXRvaShzZXJ2aWNlKSk7Ci0JaWYgKGgpCi0JCXNpbi0+c2luX2FkZHIgPSAqKHN0cnVjdCBpbl9hZGRyICopaC0+aF9hZGRyOwotCWVsc2UgaWYgKGhpbnRzICYmIChoaW50cy0+YWlfZmxhZ3MgJiBBSV9QQVNTSVZFKSkKLQkJc2luLT5zaW5fYWRkci5zX2FkZHIgPSBJTkFERFJfQU5ZOwotCWVsc2UKLQkJc2luLT5zaW5fYWRkci5zX2FkZHIgPSBJTkFERFJfTE9PUEJBQ0s7Ci0JYWktPmFpX2FkZHIgPSAoc3RydWN0IHNvY2thZGRyICopc2luOwotCWFpLT5haV9uZXh0ID0gTlVMTDsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgV1NBQVBJIGZyZWVhZGRyaW5mb19zdHViKHN0cnVjdCBhZGRyaW5mbyAqcmVzKQotewotCWZyZWUocmVzLT5haV9jYW5vbm5hbWUpOwotCWZyZWUocmVzLT5haV9hZGRyKTsKLQlmcmVlKHJlcyk7Ci19Ci0KLXN0YXRpYyBpbnQgV1NBQVBJIGdldG5hbWVpbmZvX3N0dWIoY29uc3Qgc3RydWN0IHNvY2thZGRyICpzYSwgc29ja2xlbl90IHNhbGVuLAotCQkJCSAgIGNoYXIgKmhvc3QsIERXT1JEIGhvc3RsZW4sCi0JCQkJICAgY2hhciAqc2VydiwgRFdPUkQgc2VydmxlbiwgaW50IGZsYWdzKQotewotCWNvbnN0IHN0cnVjdCBzb2NrYWRkcl9pbiAqc2luID0gKGNvbnN0IHN0cnVjdCBzb2NrYWRkcl9pbiAqKXNhOwotCWlmIChzYS0+c2FfZmFtaWx5ICE9IEFGX0lORVQpCi0JCXJldHVybiBFQUlfRkFNSUxZOwotCWlmICghaG9zdCAmJiAhc2VydikKLQkJcmV0dXJuIEVBSV9OT05BTUU7Ci0KLQlpZiAoaG9zdCAmJiBob3N0bGVuID4gMCkgewotCQlzdHJ1Y3QgaG9zdGVudCAqZW50ID0gTlVMTDsKLQkJaWYgKCEoZmxhZ3MgJiBOSV9OVU1FUklDSE9TVCkpCi0JCQllbnQgPSBnZXRob3N0YnlhZGRyKChjb25zdCBjaGFyICopJnNpbi0+c2luX2FkZHIsCi0JCQkJCSAgICBzaXplb2Yoc2luLT5zaW5fYWRkciksIEFGX0lORVQpOwotCi0JCWlmIChlbnQpCi0JCQlzbnByaW50Zihob3N0LCBob3N0bGVuLCAiJXMiLCBlbnQtPmhfbmFtZSk7Ci0JCWVsc2UgaWYgKGZsYWdzICYgTklfTkFNRVJFUUQpCi0JCQlyZXR1cm4gRUFJX05PTkFNRTsKLQkJZWxzZQotCQkJc25wcmludGYoaG9zdCwgaG9zdGxlbiwgIiVzIiwgaW5ldF9udG9hKHNpbi0+c2luX2FkZHIpKTsKLQl9Ci0KLQlpZiAoc2VydiAmJiBzZXJ2bGVuID4gMCkgewotCQlzdHJ1Y3Qgc2VydmVudCAqZW50ID0gTlVMTDsKLQkJaWYgKCEoZmxhZ3MgJiBOSV9OVU1FUklDU0VSVikpCi0JCQllbnQgPSBnZXRzZXJ2Ynlwb3J0KHNpbi0+c2luX3BvcnQsCi0JCQkJCSAgICBmbGFncyAmIE5JX0RHUkFNID8gInVkcCIgOiAidGNwIik7Ci0KLQkJaWYgKGVudCkKLQkJCXNucHJpbnRmKHNlcnYsIHNlcnZsZW4sICIlcyIsIGVudC0+c19uYW1lKTsKLQkJZWxzZQotCQkJc25wcmludGYoc2Vydiwgc2VydmxlbiwgIiVkIiwgbnRvaHMoc2luLT5zaW5fcG9ydCkpOwotCX0KLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgSE1PRFVMRSBpcHY2X2RsbCA9IE5VTEw7Ci1zdGF0aWMgdm9pZCAoV1NBQVBJICppcHY2X2ZyZWVhZGRyaW5mbykoc3RydWN0IGFkZHJpbmZvICpyZXMpOwotc3RhdGljIGludCAoV1NBQVBJICppcHY2X2dldGFkZHJpbmZvKShjb25zdCBjaGFyICpub2RlLCBjb25zdCBjaGFyICpzZXJ2aWNlLAotCQkJCSAgICAgIGNvbnN0IHN0cnVjdCBhZGRyaW5mbyAqaGludHMsCi0JCQkJICAgICAgc3RydWN0IGFkZHJpbmZvICoqcmVzKTsKLXN0YXRpYyBpbnQgKFdTQUFQSSAqaXB2Nl9nZXRuYW1laW5mbykoY29uc3Qgc3RydWN0IHNvY2thZGRyICpzYSwgc29ja2xlbl90IHNhbGVuLAotCQkJCSAgICAgIGNoYXIgKmhvc3QsIERXT1JEIGhvc3RsZW4sCi0JCQkJICAgICAgY2hhciAqc2VydiwgRFdPUkQgc2VydmxlbiwgaW50IGZsYWdzKTsKLS8qCi0gKiBnYWlfc3RyZXJyb3IgaXMgYW4gaW5saW5lIGZ1bmN0aW9uIGluIHRoZSB3czJ0Y3BpcC5oIGhlYWRlciwgc28gd2UKLSAqIGRvbid0IG5lZWQgdG8gdHJ5IHRvIGxvYWQgdGhhdCBvbmUgZHluYW1pY2FsbHkuCi0gKi8KLQotc3RhdGljIHZvaWQgc29ja2V0X2NsZWFudXAodm9pZCkKLXsKLQlXU0FDbGVhbnVwKCk7Ci0JaWYgKGlwdjZfZGxsKQotCQlGcmVlTGlicmFyeShpcHY2X2RsbCk7Ci0JaXB2Nl9kbGwgPSBOVUxMOwotCWlwdjZfZnJlZWFkZHJpbmZvID0gZnJlZWFkZHJpbmZvX3N0dWI7Ci0JaXB2Nl9nZXRhZGRyaW5mbyA9IGdldGFkZHJpbmZvX3N0dWI7Ci0JaXB2Nl9nZXRuYW1laW5mbyA9IGdldG5hbWVpbmZvX3N0dWI7Ci19Ci0KIHN0YXRpYyB2b2lkIGVuc3VyZV9zb2NrZXRfaW5pdGlhbGl6YXRpb24odm9pZCkKIHsKIAlXU0FEQVRBIHdzYTsKIAlzdGF0aWMgaW50IGluaXRpYWxpemVkID0gMDsKLQljb25zdCBjaGFyICpsaWJyYXJpZXNbXSA9IHsgIndzMl8zMi5kbGwiLCAid3NoaXA2LmRsbCIsIE5VTEwgfTsKLQljb25zdCBjaGFyICoqbmFtZTsKIAogCWlmIChpbml0aWFsaXplZCkKIAkJcmV0dXJuOwpAQCAtMTc5OCwzNSArMTkxNiw3IEBACiAJCWRpZSgidW5hYmxlIHRvIGluaXRpYWxpemUgd2luc29jayBzdWJzeXN0ZW0sIGVycm9yICVkIiwKIAkJCVdTQUdldExhc3RFcnJvcigpKTsKIAotCWZvciAobmFtZSA9IGxpYnJhcmllczsgKm5hbWU7IG5hbWUrKykgewotCQlpcHY2X2RsbCA9IExvYWRMaWJyYXJ5RXhBKCpuYW1lLCBOVUxMLAotCQkJCQkgIExPQURfTElCUkFSWV9TRUFSQ0hfU1lTVEVNMzIpOwotCQlpZiAoIWlwdjZfZGxsKQotCQkJY29udGludWU7Ci0KLQkJaXB2Nl9mcmVlYWRkcmluZm8gPSAodm9pZCAoV1NBQVBJICopKHN0cnVjdCBhZGRyaW5mbyAqKSkKLQkJCUdldFByb2NBZGRyZXNzKGlwdjZfZGxsLCAiZnJlZWFkZHJpbmZvIik7Ci0JCWlwdjZfZ2V0YWRkcmluZm8gPSAoaW50IChXU0FBUEkgKikoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosCi0JCQkJCQkgICBjb25zdCBzdHJ1Y3QgYWRkcmluZm8gKiwKLQkJCQkJCSAgIHN0cnVjdCBhZGRyaW5mbyAqKikpCi0JCQlHZXRQcm9jQWRkcmVzcyhpcHY2X2RsbCwgImdldGFkZHJpbmZvIik7Ci0JCWlwdjZfZ2V0bmFtZWluZm8gPSAoaW50IChXU0FBUEkgKikoY29uc3Qgc3RydWN0IHNvY2thZGRyICosCi0JCQkJCQkgICBzb2NrbGVuX3QsIGNoYXIgKiwgRFdPUkQsCi0JCQkJCQkgICBjaGFyICosIERXT1JELCBpbnQpKQotCQkJR2V0UHJvY0FkZHJlc3MoaXB2Nl9kbGwsICJnZXRuYW1laW5mbyIpOwotCQlpZiAoIWlwdjZfZnJlZWFkZHJpbmZvIHx8ICFpcHY2X2dldGFkZHJpbmZvIHx8ICFpcHY2X2dldG5hbWVpbmZvKSB7Ci0JCQlGcmVlTGlicmFyeShpcHY2X2RsbCk7Ci0JCQlpcHY2X2RsbCA9IE5VTEw7Ci0JCX0gZWxzZQotCQkJYnJlYWs7Ci0JfQotCWlmICghaXB2Nl9mcmVlYWRkcmluZm8gfHwgIWlwdjZfZ2V0YWRkcmluZm8gfHwgIWlwdjZfZ2V0bmFtZWluZm8pIHsKLQkJaXB2Nl9mcmVlYWRkcmluZm8gPSBmcmVlYWRkcmluZm9fc3R1YjsKLQkJaXB2Nl9nZXRhZGRyaW5mbyA9IGdldGFkZHJpbmZvX3N0dWI7Ci0JCWlwdjZfZ2V0bmFtZWluZm8gPSBnZXRuYW1laW5mb19zdHViOwotCX0KLQotCWF0ZXhpdChzb2NrZXRfY2xlYW51cCk7CisJYXRleGl0KCh2b2lkKCopKHZvaWQpKSBXU0FDbGVhbnVwKTsKIAlpbml0aWFsaXplZCA9IDE7CiB9CiAKQEAgLTE4NDQsMjQgKzE5MzQsMTIgQEAKIAlyZXR1cm4gZ2V0aG9zdGJ5bmFtZShob3N0KTsKIH0KIAotdm9pZCBtaW5nd19mcmVlYWRkcmluZm8oc3RydWN0IGFkZHJpbmZvICpyZXMpCi17Ci0JaXB2Nl9mcmVlYWRkcmluZm8ocmVzKTsKLX0KLQorI3VuZGVmIGdldGFkZHJpbmZvCiBpbnQgbWluZ3dfZ2V0YWRkcmluZm8oY29uc3QgY2hhciAqbm9kZSwgY29uc3QgY2hhciAqc2VydmljZSwKIAkJICAgICAgY29uc3Qgc3RydWN0IGFkZHJpbmZvICpoaW50cywgc3RydWN0IGFkZHJpbmZvICoqcmVzKQogewogCWVuc3VyZV9zb2NrZXRfaW5pdGlhbGl6YXRpb24oKTsKLQlyZXR1cm4gaXB2Nl9nZXRhZGRyaW5mbyhub2RlLCBzZXJ2aWNlLCBoaW50cywgcmVzKTsKLX0KLQotaW50IG1pbmd3X2dldG5hbWVpbmZvKGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqc2EsIHNvY2tsZW5fdCBzYWxlbiwKLQkJICAgICAgY2hhciAqaG9zdCwgRFdPUkQgaG9zdGxlbiwgY2hhciAqc2VydiwgRFdPUkQgc2VydmxlbiwKLQkJICAgICAgaW50IGZsYWdzKQotewotCWVuc3VyZV9zb2NrZXRfaW5pdGlhbGl6YXRpb24oKTsKLQlyZXR1cm4gaXB2Nl9nZXRuYW1laW5mbyhzYSwgc2FsZW4sIGhvc3QsIGhvc3RsZW4sIHNlcnYsIHNlcnZsZW4sIGZsYWdzKTsKKwlyZXR1cm4gZ2V0YWRkcmluZm8obm9kZSwgc2VydmljZSwgaGludHMsIHJlcyk7CiB9CiAKIGludCBtaW5nd19zb2NrZXQoaW50IGRvbWFpbiwgaW50IHR5cGUsIGludCBwcm90b2NvbCkKQEAgLTIwNTgsMTMgKzIxMzYsMTkgQEAKIAlzdGF0aWMgdW5zaWduZWQgaW5pdGlhbGl6ZWQ7CiAJc3RhdGljIGNoYXIgdXNlcl9uYW1lWzEwMF07CiAJc3RhdGljIHN0cnVjdCBwYXNzd2QgKnA7CisJd2NoYXJfdCBidWZbMTAwXTsKIAlEV09SRCBsZW47CiAKIAlpZiAoaW5pdGlhbGl6ZWQpCiAJCXJldHVybiBwOwogCi0JbGVuID0gc2l6ZW9mKHVzZXJfbmFtZSk7Ci0JaWYgKCFHZXRVc2VyTmFtZSh1c2VyX25hbWUsICZsZW4pKSB7CisJbGVuID0gQVJSQVlfU0laRShidWYpOworCWlmICghR2V0VXNlck5hbWVXKGJ1ZiwgJmxlbikpIHsKKwkJaW5pdGlhbGl6ZWQgPSAxOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlpZiAoeHdjc3RvdXRmKHVzZXJfbmFtZSwgYnVmLCBzaXplb2YodXNlcl9uYW1lKSkgPCAwKSB7CiAJCWluaXRpYWxpemVkID0gMTsKIAkJcmV0dXJuIE5VTEw7CiAJfQpAQCAtMjEyNCw3ICsyMjA4LDcgQEAKIAlpZiAodGltZXJfZXZlbnQpCiAJCVNldEV2ZW50KHRpbWVyX2V2ZW50KTsJLyogdGVsbCB0aHJlYWQgdG8gdGVybWluYXRlICovCiAJaWYgKHRpbWVyX3RocmVhZCkgewotCQlpbnQgcmMgPSBXYWl0Rm9yU2luZ2xlT2JqZWN0KHRpbWVyX3RocmVhZCwgMTAwMCk7CisJCWludCByYyA9IFdhaXRGb3JTaW5nbGVPYmplY3QodGltZXJfdGhyZWFkLCAxMDAwMCk7CiAJCWlmIChyYyA9PSBXQUlUX1RJTUVPVVQpCiAJCQllcnJvcigidGltZXIgdGhyZWFkIGRpZCBub3QgdGVybWluYXRlIHRpbWVseSIpOwogCQllbHNlIGlmIChyYyAhPSBXQUlUX09CSkVDVF8wKQpAQCAtMjIyOCw4ICsyMzEyLDMzIEBACiAJCQlzaWdpbnRfZm4oU0lHSU5UKTsKIAkJcmV0dXJuIDA7CiAKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKQorCWNhc2UgU0lHSUxMOgorCWNhc2UgU0lHRlBFOgorCWNhc2UgU0lHU0VHVjoKKwljYXNlIFNJR1RFUk06CisJY2FzZSBTSUdCUkVBSzoKKwljYXNlIFNJR0FCUlQ6CisJY2FzZSBTSUdBQlJUX0NPTVBBVDoKKwkJLyoKKwkJICogVGhlIDxzaWduYWwuaD4gaGVhZGVyIGluIHRoZSBNUyBDIFJ1bnRpbWUgZGVmaW5lcyA4IHNpZ25hbHMKKwkJICogYXMgYmVpbmcgc3VwcG9ydGVkIG9uIHRoZSBwbGF0Zm9ybS4gQW55dGhpbmcgZWxzZSBjYXVzZXMgYW4KKwkJICogIkludmFsaWQgc2lnbmFsIG9yIGVycm9yIiAod2hpY2ggaW4gREVCVUcgYnVpbGRzIGNhdXNlcyB0aGUKKwkJICogQWJvcnQvUmV0cnkvSWdub3JlIGRpYWxvZykuIFdlIGJ5LXBhc3MgdGhlIENSVCBmb3IgdGhpbmdzIHdlCisJCSAqIGFscmVhZHkga25vdyB3aWxsIGZhaWwuCisJCSAqLworCQlyZXR1cm4gcmFpc2Uoc2lnKTsKKwlkZWZhdWx0OgorCQllcnJubyA9IEVJTlZBTDsKKwkJcmV0dXJuIC0xOworCisjZWxzZQorCiAJZGVmYXVsdDoKIAkJcmV0dXJuIHJhaXNlKHNpZyk7CisKKyNlbmRpZgorCiAJfQogfQogCkBAIC0yMjk5LDU3ICsyNDA4LDYgQEAKIAlyZXR1cm4gLTE7CiB9CiAKLWludCBtaW5nd19oYXNfZG9zX2RyaXZlX3ByZWZpeChjb25zdCBjaGFyICpwYXRoKQotewotCWludCBpOwotCi0JLyoKLQkgKiBEb2VzIGl0IHN0YXJ0IHdpdGggYW4gQVNDSUkgbGV0dGVyIChpLmUuIGhpZ2hlc3QgYml0IG5vdCBzZXQpLAotCSAqIGZvbGxvd2VkIGJ5IGEgY29sb24/Ci0JICovCi0JaWYgKCEoMHg4MCAmICh1bnNpZ25lZCBjaGFyKSpwYXRoKSkKLQkJcmV0dXJuICpwYXRoICYmIHBhdGhbMV0gPT0gJzonID8gMiA6IDA7Ci0KLQkvKgotCSAqIFdoaWxlIGRyaXZlIGxldHRlcnMgbXVzdCBiZSBsZXR0ZXJzIG9mIHRoZSBFbmdsaXNoIGFscGhhYmV0LCBpdCBpcwotCSAqIHBvc3NpYmxlIHRvIGFzc2lnbiB2aXJ0dWFsbHkgX2FueV8gVW5pY29kZSBjaGFyYWN0ZXIgdmlhIGBzdWJzdGAgYXMKLQkgKiBhIGRyaXZlIGxldHRlciB0byAidmlydHVhbCBkcml2ZXMiLiBFdmVuIGAxYCwgb3IgYMOkYC4gT3IgZnVuIHN0dWZmCi0JICogbGlrZSB0aGlzOgotCSAqCi0JICogICAgICBzdWJzdCDWjTogJVVTRVJQUk9GSUxFJVxEZXNrdG9wCi0JICovCi0JZm9yIChpID0gMTsgaSA8IDQgJiYgKDB4ODAgJiAodW5zaWduZWQgY2hhcilwYXRoW2ldKTsgaSsrKQotCQk7IC8qIHNraXAgZmlyc3QgVVRGLTggY2hhcmFjdGVyICovCi0JcmV0dXJuIHBhdGhbaV0gPT0gJzonID8gaSArIDEgOiAwOwotfQotCi1pbnQgbWluZ3dfc2tpcF9kb3NfZHJpdmVfcHJlZml4KGNoYXIgKipwYXRoKQotewotCWludCByZXQgPSBoYXNfZG9zX2RyaXZlX3ByZWZpeCgqcGF0aCk7Ci0JKnBhdGggKz0gcmV0OwotCXJldHVybiByZXQ7Ci19Ci0KLWludCBtaW5nd19vZmZzZXRfMXN0X2NvbXBvbmVudChjb25zdCBjaGFyICpwYXRoKQotewotCWNoYXIgKnBvcyA9IChjaGFyICopcGF0aDsKLQotCS8qIHVuYyBwYXRocyAqLwotCWlmICghc2tpcF9kb3NfZHJpdmVfcHJlZml4KCZwb3MpICYmCi0JCQlpc19kaXJfc2VwKHBvc1swXSkgJiYgaXNfZGlyX3NlcChwb3NbMV0pKSB7Ci0JCS8qIHNraXAgc2VydmVyIG5hbWUgKi8KLQkJcG9zID0gc3RycGJyayhwb3MgKyAyLCAiXFwvIik7Ci0JCWlmICghcG9zKQotCQkJcmV0dXJuIDA7IC8qIEVycm9yOiBtYWxmb3JtZWQgdW5jIHBhdGggKi8KLQotCQlkbyB7Ci0JCQlwb3MrKzsKLQkJfSB3aGlsZSAoKnBvcyAmJiAhaXNfZGlyX3NlcCgqcG9zKSk7Ci0JfQotCi0JcmV0dXJuIHBvcyArIGlzX2Rpcl9zZXAoKnBvcykgLSBwYXRoOwotfQotCiBpbnQgeHV0ZnRvd2Nzbih3Y2hhcl90ICp3Y3MsIGNvbnN0IGNoYXIgKnV0ZnMsIHNpemVfdCB3Y3NsZW4sIGludCB1dGZsZW4pCiB7CiAJaW50IHVwb3MgPSAwLCB3cG9zID0gMDsKQEAgLTI0NjIsMTYgKzI1MjAsNDIgQEAKIAkvKiBzaW11bGF0ZSBURVJNIHRvIGVuYWJsZSBhdXRvLWNvbG9yIChzZWUgY29sb3IuYykgKi8KIAlpZiAoIWdldGVudigiVEVSTSIpKQogCQlzZXRlbnYoIlRFUk0iLCAiY3lnd2luIiwgMSk7CisKKwkvKiBjYWxjdWxhdGUgSE9NRSBpZiBub3Qgc2V0ICovCisJaWYgKCFnZXRlbnYoIkhPTUUiKSkgeworCQkvKgorCQkgKiB0cnkgJEhPTUVEUklWRSRIT01FUEFUSCAtIHRoZSBob21lIHNoYXJlIG1heSBiZSBhIG5ldHdvcmsKKwkJICogbG9jYXRpb24sIHRodXMgYWxzbyBjaGVjayBpZiB0aGUgcGF0aCBleGlzdHMgKGkuZS4gaXMgbm90CisJCSAqIGRpc2Nvbm5lY3RlZCkKKwkJICovCisJCWlmICgodG1wID0gZ2V0ZW52KCJIT01FRFJJVkUiKSkpIHsKKwkJCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisJCQlzdHJidWZfYWRkc3RyKCZidWYsIHRtcCk7CisJCQlpZiAoKHRtcCA9IGdldGVudigiSE9NRVBBVEgiKSkpIHsKKwkJCQlzdHJidWZfYWRkc3RyKCZidWYsIHRtcCk7CisJCQkJaWYgKGlzX2RpcmVjdG9yeShidWYuYnVmKSkKKwkJCQkJc2V0ZW52KCJIT01FIiwgYnVmLmJ1ZiwgMSk7CisJCQkJZWxzZQorCQkJCQl0bXAgPSBOVUxMOyAvKiB1c2UgJFVTRVJQUk9GSUxFICovCisJCQl9CisJCQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKKwkJfQorCQkvKiB1c2UgJFVTRVJQUk9GSUxFIGlmIHRoZSBob21lIHNoYXJlIGlzIG5vdCBhdmFpbGFibGUgKi8KKwkJaWYgKCF0bXAgJiYgKHRtcCA9IGdldGVudigiVVNFUlBST0ZJTEUiKSkpCisJCQlzZXRlbnYoIkhPTUUiLCB0bXAsIDEpOworCX0KIH0KIAotaW50IGlzX3ZhbGlkX3dpbjMyX3BhdGgoY29uc3QgY2hhciAqcGF0aCkKK2ludCBpc192YWxpZF93aW4zMl9wYXRoKGNvbnN0IGNoYXIgKnBhdGgsIGludCBhbGxvd19saXRlcmFsX251bCkKIHsKKwljb25zdCBjaGFyICpwID0gcGF0aDsKIAlpbnQgcHJlY2VkaW5nX3NwYWNlX29yX3BlcmlvZCA9IDAsIGkgPSAwLCBwZXJpb2RzID0gMDsKIAogCWlmICghcHJvdGVjdF9udGZzKQogCQlyZXR1cm4gMTsKIAogCXNraXBfZG9zX2RyaXZlX3ByZWZpeCgoY2hhciAqKikmcGF0aCk7CisJZ290byBzZWdtZW50X3N0YXJ0OwogCiAJZm9yICg7OykgewogCQljaGFyIGMgPSAqKHBhdGgrKyk7CkBAIC0yNDg2LDcgKzI1NzAsODMgQEAKIAkJCQlyZXR1cm4gMTsKIAogCQkJaSA9IHBlcmlvZHMgPSBwcmVjZWRpbmdfc3BhY2Vfb3JfcGVyaW9kID0gMDsKLQkJCWNvbnRpbnVlOworCitzZWdtZW50X3N0YXJ0OgorCQkJc3dpdGNoICgqcGF0aCkgeworCQkJY2FzZSAnYSc6IGNhc2UgJ0EnOiAvKiBBVVggKi8KKwkJCQlpZiAoKChjID0gcGF0aFsrK2ldKSAhPSAndScgJiYgYyAhPSAnVScpIHx8CisJCQkJICAgICgoYyA9IHBhdGhbKytpXSkgIT0gJ3gnICYmIGMgIT0gJ1gnKSkgeworbm90X2FfcmVzZXJ2ZWRfbmFtZToKKwkJCQkJcGF0aCArPSBpOworCQkJCQljb250aW51ZTsKKwkJCQl9CisJCQkJYnJlYWs7CisJCQljYXNlICdjJzogY2FzZSAnQyc6IC8qIENPTTxOPiwgQ09OLCBDT05JTiQsIENPTk9VVCQgKi8KKwkJCQlpZiAoKGMgPSBwYXRoWysraV0pICE9ICdvJyAmJiBjICE9ICdPJykKKwkJCQkJZ290byBub3RfYV9yZXNlcnZlZF9uYW1lOworCQkJCWMgPSBwYXRoWysraV07CisJCQkJaWYgKGMgPT0gJ20nIHx8IGMgPT0gJ00nKSB7IC8qIENPTTxOPiAqLworCQkJCQlpZiAoIWlzZGlnaXQocGF0aFsrK2ldKSkKKwkJCQkJCWdvdG8gbm90X2FfcmVzZXJ2ZWRfbmFtZTsKKwkJCQl9IGVsc2UgaWYgKGMgPT0gJ24nIHx8IGMgPT0gJ04nKSB7IC8qIENPTiAqLworCQkJCQljID0gcGF0aFtpICsgMV07CisJCQkJCWlmICgoYyA9PSAnaScgfHwgYyA9PSAnSScpICYmCisJCQkJCSAgICAoKGMgPSBwYXRoW2kgKyAyXSkgPT0gJ24nIHx8CisJCQkJCSAgICAgYyA9PSAnTicpICYmCisJCQkJCSAgICBwYXRoW2kgKyAzXSA9PSAnJCcpCisJCQkJCQlpICs9IDM7IC8qIENPTklOJCAqLworCQkJCQllbHNlIGlmICgoYyA9PSAnbycgfHwgYyA9PSAnTycpICYmCisJCQkJCQkgKChjID0gcGF0aFtpICsgMl0pID09ICd1JyB8fAorCQkJCQkJICBjID09ICdVJykgJiYKKwkJCQkJCSAoKGMgPSBwYXRoW2kgKyAzXSkgPT0gJ3QnIHx8CisJCQkJCQkgIGMgPT0gJ1QnKSAmJgorCQkJCQkJIHBhdGhbaSArIDRdID09ICckJykKKwkJCQkJCWkgKz0gNDsgLyogQ09OT1VUJCAqLworCQkJCX0gZWxzZQorCQkJCQlnb3RvIG5vdF9hX3Jlc2VydmVkX25hbWU7CisJCQkJYnJlYWs7CisJCQljYXNlICdsJzogY2FzZSAnTCc6IC8qIExQVDxOPiAqLworCQkJCWlmICgoKGMgPSBwYXRoWysraV0pICE9ICdwJyAmJiBjICE9ICdQJykgfHwKKwkJCQkgICAgKChjID0gcGF0aFsrK2ldKSAhPSAndCcgJiYgYyAhPSAnVCcpIHx8CisJCQkJICAgICFpc2RpZ2l0KHBhdGhbKytpXSkpCisJCQkJCWdvdG8gbm90X2FfcmVzZXJ2ZWRfbmFtZTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ24nOiBjYXNlICdOJzogLyogTlVMICovCisJCQkJaWYgKCgoYyA9IHBhdGhbKytpXSkgIT0gJ3UnICYmIGMgIT0gJ1UnKSB8fAorCQkJCSAgICAoKGMgPSBwYXRoWysraV0pICE9ICdsJyAmJiBjICE9ICdMJykgfHwKKwkJCQkgICAgKGFsbG93X2xpdGVyYWxfbnVsICYmCisJCQkJICAgICAhcGF0aFtpICsgMV0gJiYgcCA9PSBwYXRoKSkKKwkJCQkJZ290byBub3RfYV9yZXNlcnZlZF9uYW1lOworCQkJCWJyZWFrOworCQkJY2FzZSAncCc6IGNhc2UgJ1AnOiAvKiBQUk4gKi8KKwkJCQlpZiAoKChjID0gcGF0aFsrK2ldKSAhPSAncicgJiYgYyAhPSAnUicpIHx8CisJCQkJICAgICgoYyA9IHBhdGhbKytpXSkgIT0gJ24nICYmIGMgIT0gJ04nKSkKKwkJCQkJZ290byBub3RfYV9yZXNlcnZlZF9uYW1lOworCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQljb250aW51ZTsKKwkJCX0KKworCQkJLyoKKwkJCSAqIFNvIGZhciwgdGhpcyBsb29rcyBsaWtlIGEgcmVzZXJ2ZWQgbmFtZS4gTGV0J3Mgc2VlCisJCQkgKiB3aGV0aGVyIGl0IGFjdHVhbGx5IGlzIG9uZTogdHJhaWxpbmcgc3BhY2VzLCBhIGZpbGUKKwkJCSAqIGV4dGVuc2lvbiwgb3IgYW4gTlRGUyBBbHRlcm5hdGUgRGF0YSBTdHJlYW0gZG8gbm90CisJCQkgKiBtYXR0ZXIsIHRoZSBuYW1lIGlzIHN0aWxsIHJlc2VydmVkIGlmIGFueSBvZiB0aG9zZQorCQkJICogZm9sbG93IGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBhY3R1YWwgbmFtZS4KKwkJCSAqLworCQkJaSsrOworCQkJaWYgKHBhdGhbaV0gPT0gJyAnKSB7CisJCQkJcHJlY2VkaW5nX3NwYWNlX29yX3BlcmlvZCA9IDE7CisJCQkJd2hpbGUgKHBhdGhbKytpXSA9PSAnICcpCisJCQkJCTsgLyogc2tpcCBhbGwgc3BhY2VzICovCisJCQl9CisKKwkJCWMgPSBwYXRoW2ldOworCQkJaWYgKGMgJiYgYyAhPSAnLicgJiYgYyAhPSAnOicgJiYgYyAhPSAnLycgJiYgYyAhPSAnXFwnKQorCQkJCWdvdG8gbm90X2FfcmVzZXJ2ZWRfbmFtZTsKKworCQkJLyogY29udGFpbnMgcmVzZXJ2ZWQgbmFtZSAqLworCQkJcmV0dXJuIDA7CiAJCWNhc2UgJy4nOgogCQkJcGVyaW9kcysrOwogCQkJLyogZmFsbHRocnUgKi8KQEAgLTI1MDgsMTggKzI2NjgsMTMgQEAKIAl9CiB9CiAKKyNpZiAhZGVmaW5lZChfTVNDX1ZFUikKIC8qCiAgKiBEaXNhYmxlIE1TVkNSVCBjb21tYW5kIGxpbmUgd2lsZGNhcmQgZXhwYW5zaW9uIChfX2dldG1haW5hcmdzIGNhbGxlZCBmcm9tCiAgKiBtaW5ndyBzdGFydHVwIGNvZGUsIHNlZSBpbml0LmMgaW4gbWluZ3cgcnVudGltZSkuCiAgKi8KIGludCBfQ1JUX2dsb2IgPSAwOwotCi10eXBlZGVmIHN0cnVjdCB7Ci0JaW50IG5ld21vZGU7Ci19IF9zdGFydHVwaW5mbzsKLQotZXh0ZXJuIGludCBfX3dnZXRtYWluYXJncyhpbnQgKmFyZ2MsIHdjaGFyX3QgKioqYXJndiwgd2NoYXJfdCAqKiplbnYsIGludCBnbG9iLAotCQlfc3RhcnR1cGluZm8gKnNpKTsKKyNlbmRpZgogCiBzdGF0aWMgTk9SRVRVUk4gdm9pZCBkaWVfc3RhcnR1cCh2b2lkKQogewpAQCAtMjU5NywyMCArMjc1Miw0MSBAQAogCQkJCSAgR0VORVJJQ19XUklURSwgRklMRV9GTEFHX05PX0JVRkZFUklORyk7CiB9CiAKLXZvaWQgbWluZ3dfc3RhcnR1cCh2b2lkKQorI2lmZGVmIF9NU0NfVkVSCisjaWZkZWYgX0RFQlVHCisjaW5jbHVkZSA8Y3J0ZGJnLmg+CisjZW5kaWYKKyNlbmRpZgorCisvKgorICogV2UgaW1wbGVtZW50IHdtYWluKCkgYW5kIGNvbXBpbGUgd2l0aCAtbXVuaWNvZGUsIHdoaWNoIHdvdWxkCisgKiBub3JtYWxseSBpZ25vcmUgbWFpbigpLCBidXQgd2UgY2FsbCB0aGUgbGF0dGVyIGZyb20gdGhlIGZvcm1lcgorICogc28gdGhhdCB3ZSBjYW4gaGFuZGxlIG5vbi1BU0NJSSBjb21tYW5kLWxpbmUgcGFyYW1ldGVycworICogYXBwcm9wcmlhdGVseS4KKyAqCisgKiBUbyBiZSBtb3JlIGNvbXBhdGlibGUgd2l0aCB0aGUgY29yZSBnaXQgY29kZSwgd2UgY29udmVydAorICogYXJndiBpbnRvIFVURjggYW5kIHBhc3MgdGhlbSBkaXJlY3RseSB0byBtYWluKCkuCisgKi8KK2ludCB3bWFpbihpbnQgYXJnYywgY29uc3Qgd2NoYXJfdCAqKndhcmd2KQogewotCWludCBpLCBtYXhsZW4sIGFyZ2M7Ci0JY2hhciAqYnVmZmVyOwotCXdjaGFyX3QgKip3ZW52LCAqKndhcmd2OwotCV9zdGFydHVwaW5mbyBzaTsKKwlpbnQgaSwgbWF4bGVuLCBleGl0X3N0YXR1czsKKwljaGFyICpidWZmZXIsICoqc2F2ZTsKKwljb25zdCBjaGFyICoqYXJndjsKKworCXRyYWNlMl9pbml0aWFsaXplX2Nsb2NrKCk7CisKKyNpZmRlZiBfTVNDX1ZFUgorI2lmZGVmIF9ERUJVRworCV9DcnRTZXRSZXBvcnRNb2RlKF9DUlRfQVNTRVJULCBfQ1JUREJHX01PREVfREVCVUcpOworI2VuZGlmCisKKyNpZmRlZiBVU0VfTVNWQ19DUlREQkcKKwlfQ3J0U2V0RGJnRmxhZyhfQ1JUREJHX0FMTE9DX01FTV9ERiB8IF9DUlREQkdfTEVBS19DSEVDS19ERik7CisjZW5kaWYKKyNlbmRpZgogCiAJbWF5YmVfcmVkaXJlY3Rfc3RkX2hhbmRsZXMoKTsKIAotCS8qIGdldCB3aWRlIGNoYXIgYXJndW1lbnRzIGFuZCBlbnZpcm9ubWVudCAqLwotCXNpLm5ld21vZGUgPSAwOwotCWlmIChfX3dnZXRtYWluYXJncygmYXJnYywgJndhcmd2LCAmd2VudiwgX0NSVF9nbG9iLCAmc2kpIDwgMCkKLQkJZGllX3N0YXJ0dXAoKTsKLQogCS8qIGRldGVybWluZSBzaXplIG9mIGFyZ3YgYW5kIGVudmlyb24gY29udmVyc2lvbiBidWZmZXIgKi8KIAltYXhsZW4gPSB3Y3NsZW4od2FyZ3ZbMF0pOwogCWZvciAoaSA9IDE7IGkgPCBhcmdjOyBpKyspCkBAIC0yNjIwLDkgKzI3OTYsMTYgQEAKIAltYXhsZW4gPSAzICogbWF4bGVuICsgMTsKIAlidWZmZXIgPSBtYWxsb2Nfc3RhcnR1cChtYXhsZW4pOwogCi0JLyogY29udmVydCBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGFuZCBlbnZpcm9ubWVudCB0byBVVEYtOCAqLworCS8qCisJICogQ3JlYXRlIGEgVVRGLTggdmVyc2lvbiBvZiB3X2FyZ3YuIEFsc28gY3JlYXRlIGEgInNhdmUiIGNvcHkKKwkgKiB0byByZW1lbWJlciBhbGwgdGhlIHN0cmluZyBwb2ludGVycyBiZWNhdXNlIHBhcnNlX29wdGlvbnMoKQorCSAqIHdpbGwgcmVtb3ZlIGNsYWltZWQgaXRlbXMgZnJvbSB0aGUgYXJndiB0aGF0IHdlIHBhc3MgZG93bi4KKwkgKi8KKwlBTExPQ19BUlJBWShhcmd2LCBhcmdjICsgMSk7CisJQUxMT0NfQVJSQVkoc2F2ZSwgYXJnYyArIDEpOwogCWZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspCi0JCV9fYXJndltpXSA9IHdjc3RvdXRmZHVwX3N0YXJ0dXAoYnVmZmVyLCB3YXJndltpXSwgbWF4bGVuKTsKKwkJYXJndltpXSA9IHNhdmVbaV0gPSB3Y3N0b3V0ZmR1cF9zdGFydHVwKGJ1ZmZlciwgd2FyZ3ZbaV0sIG1heGxlbik7CisJYXJndltpXSA9IHNhdmVbaV0gPSBOVUxMOwogCWZyZWUoYnVmZmVyKTsKIAogCS8qIGZpeCBXaW5kb3dzIHNwZWNpZmljIGVudmlyb25tZW50IHNldHRpbmdzICovCkBAIC0yNjQxLDYgKzI4MjQsMTYgQEAKIAogCS8qIGluaXRpYWxpemUgVW5pY29kZSBjb25zb2xlICovCiAJd2luYW5zaV9pbml0KCk7CisKKwkvKiBpbnZva2UgdGhlIHJlYWwgbWFpbigpIHVzaW5nIG91ciB1dGY4IHZlcnNpb24gb2YgYXJndi4gKi8KKwlleGl0X3N0YXR1cyA9IG1haW4oYXJnYywgYXJndik7CisKKwlmb3IgKGkgPSAwOyBpIDwgYXJnYzsgaSsrKQorCQlmcmVlKHNhdmVbaV0pOworCWZyZWUoc2F2ZSk7CisJZnJlZShhcmd2KTsKKworCXJldHVybiBleGl0X3N0YXR1czsKIH0KIAogaW50IHVuYW1lKHN0cnVjdCB1dHNuYW1lICpidWYpCmRpZmYgLS1naXQgYS9jb21wYXQvbWluZ3cuaCBiL2NvbXBhdC9taW5ndy5oCmluZGV4IDE2M2FlMWIuLmU2ZmU4MTAgMTAwNjQ0Ci0tLSBhL2NvbXBhdC9taW5ndy5oCisrKyBiL2NvbXBhdC9taW5ndy5oCkBAIC0xMSw3ICsxMSw3IEBACiAjdW5kZWYgX1BPU0lYX1RIUkVBRF9TQUZFX0ZVTkNUSU9OUwogI2VuZGlmCiAKLWV4dGVybiBpbnQgbWluZ3dfY29yZV9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpOworaW50IG1pbmd3X2NvcmVfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKTsKICNkZWZpbmUgcGxhdGZvcm1fY29yZV9jb25maWcgbWluZ3dfY29yZV9jb25maWcKIAogLyoKQEAgLTE0Nyw4ICsxNDcsNyBAQAogCWVycm5vID0gRUlOVkFMOwogCXJldHVybiAtMTsKIH0KLS8qIGJhc2ggY2Fubm90IHJlbGlhYmx5IGRldGVjdCBuZWdhdGl2ZSByZXR1cm4gY29kZXMgYXMgZmFpbHVyZSAqLwotI2RlZmluZSBleGl0KGNvZGUpIGV4aXQoKGNvZGUpICYgMHhmZikKKwogI2RlZmluZSBzaWdlbXB0eXNldCh4KSAodm9pZCkwCiBzdGF0aWMgaW5saW5lIGludCBzaWdhZGRzZXQoc2lnc2V0X3QgKnNldCwgaW50IHNpZ251bSkKIHsgcmV0dXJuIDA7IH0KQEAgLTI5NiwxOCArMjk1LDEwIEBACiBzdHJ1Y3QgaG9zdGVudCAqbWluZ3dfZ2V0aG9zdGJ5bmFtZShjb25zdCBjaGFyICpob3N0KTsKICNkZWZpbmUgZ2V0aG9zdGJ5bmFtZSBtaW5nd19nZXRob3N0YnluYW1lCiAKLXZvaWQgbWluZ3dfZnJlZWFkZHJpbmZvKHN0cnVjdCBhZGRyaW5mbyAqcmVzKTsKLSNkZWZpbmUgZnJlZWFkZHJpbmZvIG1pbmd3X2ZyZWVhZGRyaW5mbwotCiBpbnQgbWluZ3dfZ2V0YWRkcmluZm8oY29uc3QgY2hhciAqbm9kZSwgY29uc3QgY2hhciAqc2VydmljZSwKIAkJICAgICAgY29uc3Qgc3RydWN0IGFkZHJpbmZvICpoaW50cywgc3RydWN0IGFkZHJpbmZvICoqcmVzKTsKICNkZWZpbmUgZ2V0YWRkcmluZm8gbWluZ3dfZ2V0YWRkcmluZm8KIAotaW50IG1pbmd3X2dldG5hbWVpbmZvKGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqc2EsIHNvY2tsZW5fdCBzYWxlbiwKLQkJICAgICAgY2hhciAqaG9zdCwgRFdPUkQgaG9zdGxlbiwgY2hhciAqc2VydiwgRFdPUkQgc2VydmxlbiwKLQkJICAgICAgaW50IGZsYWdzKTsKLSNkZWZpbmUgZ2V0bmFtZWluZm8gbWluZ3dfZ2V0bmFtZWluZm8KLQogaW50IG1pbmd3X3NvY2tldChpbnQgZG9tYWluLCBpbnQgdHlwZSwgaW50IHByb3RvY29sKTsKICNkZWZpbmUgc29ja2V0IG1pbmd3X3NvY2tldAogCkBAIC0zNjEsMTEgKzM1MiwxMyBAQAogI2lmbmRlZiBfX01JTkdXNjRfVkVSU0lPTl9NQUpPUgogI2RlZmluZSBvZmZfdCBvZmY2NF90CiAjZGVmaW5lIGxzZWVrIF9sc2Vla2k2NAorI2lmbmRlZiBfTVNDX1ZFUgogc3RydWN0IHRpbWVzcGVjIHsKIAl0aW1lX3QgdHZfc2VjOwogCWxvbmcgdHZfbnNlYzsKIH07CiAjZW5kaWYKKyNlbmRpZgogCiBzdHJ1Y3QgbWluZ3dfc3RhdCB7CiAgICAgX2Rldl90IHN0X2RldjsKQEAgLTQ0MywzNCArNDM2LDE0IEBACiAgKiBnaXQgc3BlY2lmaWMgY29tcGF0aWJpbGl0eQogICovCiAKLWludCBtaW5nd19oYXNfZG9zX2RyaXZlX3ByZWZpeChjb25zdCBjaGFyICpwYXRoKTsKLSNkZWZpbmUgaGFzX2Rvc19kcml2ZV9wcmVmaXggbWluZ3dfaGFzX2Rvc19kcml2ZV9wcmVmaXgKLWludCBtaW5nd19za2lwX2Rvc19kcml2ZV9wcmVmaXgoY2hhciAqKnBhdGgpOwotI2RlZmluZSBza2lwX2Rvc19kcml2ZV9wcmVmaXggbWluZ3dfc2tpcF9kb3NfZHJpdmVfcHJlZml4Ci1zdGF0aWMgaW5saW5lIGludCBtaW5nd19pc19kaXJfc2VwKGludCBjKQotewotCXJldHVybiBjID09ICcvJyB8fCBjID09ICdcXCc7Ci19Ci0jZGVmaW5lIGlzX2Rpcl9zZXAgbWluZ3dfaXNfZGlyX3NlcAotc3RhdGljIGlubGluZSBjaGFyICptaW5nd19maW5kX2xhc3RfZGlyX3NlcChjb25zdCBjaGFyICpwYXRoKQotewotCWNoYXIgKnJldCA9IE5VTEw7Ci0JZm9yICg7ICpwYXRoOyArK3BhdGgpCi0JCWlmIChpc19kaXJfc2VwKCpwYXRoKSkKLQkJCXJldCA9IChjaGFyICopcGF0aDsKLQlyZXR1cm4gcmV0OwotfQogc3RhdGljIGlubGluZSB2b2lkIGNvbnZlcnRfc2xhc2hlcyhjaGFyICpwYXRoKQogewogCWZvciAoOyAqcGF0aDsgcGF0aCsrKQogCQlpZiAoKnBhdGggPT0gJ1xcJykKIAkJCSpwYXRoID0gJy8nOwogfQotI2RlZmluZSBmaW5kX2xhc3RfZGlyX3NlcCBtaW5nd19maW5kX2xhc3RfZGlyX3NlcAotaW50IG1pbmd3X29mZnNldF8xc3RfY29tcG9uZW50KGNvbnN0IGNoYXIgKnBhdGgpOwotI2RlZmluZSBvZmZzZXRfMXN0X2NvbXBvbmVudCBtaW5nd19vZmZzZXRfMXN0X2NvbXBvbmVudAogI2RlZmluZSBQQVRIX1NFUCAnOycKLWV4dGVybiBjaGFyICptaW5nd19xdWVyeV91c2VyX2VtYWlsKHZvaWQpOworY2hhciAqbWluZ3dfcXVlcnlfdXNlcl9lbWFpbCh2b2lkKTsKICNkZWZpbmUgcXVlcnlfdXNlcl9lbWFpbCBtaW5nd19xdWVyeV91c2VyX2VtYWlsCiAjaWYgIWRlZmluZWQoX19NSU5HVzY0X1ZFUlNJT05fTUFKT1IpICYmICghZGVmaW5lZChfTVNDX1ZFUikgfHwgX01TQ19WRVIgPCAxODAwKQogI2RlZmluZSBQUkl1TUFYICJJNjR1IgpAQCAtNDg4LDEwICs0NjEsMTcgQEAKICAqCiAgKiAtIGNvbnRhaW4gYW55IG9mIHRoZSByZXNlcnZlZCBjaGFyYWN0ZXJzLCBlLmcuIGA6YCwgYDtgLCBgKmAsIGV0YwogICoKKyAqIC0gY29ycmVzcG9uZCB0byByZXNlcnZlZCBuYW1lcyAoc3VjaCBhcyBgQVVYYCwgYFBSTmAsIGV0YykKKyAqCisgKiBUaGUgYGFsbG93X2xpdGVyYWxfbnVsYCBwYXJhbWV0ZXIgY29udHJvbHMgd2hldGhlciB0aGUgcGF0aCBgTlVMYCBzaG91bGQKKyAqIGJlIGNvbnNpZGVyZWQgdmFsaWQgKHRoaXMgbWFrZXMgc2Vuc2UgZS5nLiBiZWZvcmUgb3BlbmluZyBmaWxlcywgYXMgaXQgaXMKKyAqIHBlcmZlY3RseSBsZWdpdGltYXRlIHRvIG9wZW4gYE5VTGAgb24gV2luZG93cywganVzdCBhcyBpdCBpcyB0byBvcGVuCisgKiBgL2Rldi9udWxsYCBvbiBVbml4L0xpbnV4KS4KKyAqCiAgKiBSZXR1cm5zIDEgdXBvbiBzdWNjZXNzLCBvdGhlcndpc2UgMC4KICAqLwotaW50IGlzX3ZhbGlkX3dpbjMyX3BhdGgoY29uc3QgY2hhciAqcGF0aCk7Ci0jZGVmaW5lIGlzX3ZhbGlkX3BhdGgocGF0aCkgaXNfdmFsaWRfd2luMzJfcGF0aChwYXRoKQoraW50IGlzX3ZhbGlkX3dpbjMyX3BhdGgoY29uc3QgY2hhciAqcGF0aCwgaW50IGFsbG93X2xpdGVyYWxfbnVsKTsKKyNkZWZpbmUgaXNfdmFsaWRfcGF0aChwYXRoKSBpc192YWxpZF93aW4zMl9wYXRoKHBhdGgsIDApCiAKIC8qKgogICogQ29udmVydHMgVVRGLTggZW5jb2RlZCBzdHJpbmcgdG8gVVRGLTE2TEUuCkBAIC01OTksMjYgKzU3OSwzNiBAQAogCiAvKgogICogQSBjcml0aWNhbCBzZWN0aW9uIHVzZWQgaW4gdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBzcGF3bgotICogZnVuY3Rpb25zIChtaW5nd19zcGF3bnZbcF1lKCkpIGFuZCB3YWl0cGlkKCkuIEludGlhbGlzZWQgaW4KKyAqIGZ1bmN0aW9ucyAobWluZ3dfc3Bhd252W3BdZSgpKSBhbmQgd2FpdHBpZCgpLiBJbml0aWFsaXNlZCBpbgogICogdGhlIHJlcGxhY2VtZW50IG1haW4oKSBtYWNybyBiZWxvdy4KICAqLwogZXh0ZXJuIENSSVRJQ0FMX1NFQ1RJT04gcGluZm9fY3M7CiAKIC8qCi0gKiBBIHJlcGxhY2VtZW50IG9mIG1haW4oKSB0aGF0IGFkZHMgd2luMzIgc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24uCisgKiBHaXQsIGxpa2UgbW9zdCBwb3J0YWJsZSBDIGFwcGxpY2F0aW9ucywgaW1wbGVtZW50cyBhIG1haW4oKSBmdW5jdGlvbi4gT24KKyAqIFdpbmRvd3MsIHRoaXMgbWFpbigpIGZ1bmN0aW9uIHdvdWxkIHJlY2VpdmUgcGFyYW1ldGVycyBlbmNvZGVkIGluIHRoZQorICogY3VycmVudCBsb2NhbGUsIGJ1dCBHaXQgZm9yIFdpbmRvd3Mgd291bGQgcHJlZmVyIFVURi04IGVuY29kZWQgIHBhcmFtZXRlcnMuCisgKgorICogVG8gbWFrZSB0aGF0IGhhcHBlbiwgd2Ugc3RpbGwgZGVjbGFyZSBtYWluKCkgaGVyZSwgYW5kIHRoZW4gZGVjbGFyZSBhbmQKKyAqIGltcGxlbWVudCB3bWFpbigpICh3aGljaCBpcyB0aGUgVW5pY29kZSB2YXJpYW50IG9mIG1haW4oKSkgYW5kIGNvbXBpbGUgd2l0aAorICogLW11bmljb2RlLiBUaGlzIHdtYWluKCkgZnVuY3Rpb24gcmVlbmNvZGVzIHRoZSBwYXJhbWV0ZXJzIGZyb20gVVRGLTE2IHRvCisgKiBVVEYtOCBmb3JtYXQsIHNldHMgdXAgYSBjb3VwbGUgb2Ygb3RoZXIgdGhpbmdzIGFzIHJlcXVpcmVkIG9uIFdpbmRvd3MsIGFuZAorICogdGhlbiBoYW5kcyBvZmYgdG8gdGhlIG1haW4oKSBmdW5jdGlvbi4KICAqLworaW50IHdtYWluKGludCBhcmdjLCBjb25zdCB3Y2hhcl90ICoqd19hcmd2KTsKK2ludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiAKLXZvaWQgbWluZ3dfc3RhcnR1cCh2b2lkKTsKLSNkZWZpbmUgbWFpbihjLHYpIGR1bW15X2RlY2xfbWluZ3dfbWFpbih2b2lkKTsgXAotc3RhdGljIGludCBtaW5nd19tYWluKGMsdik7IFwKLWludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikgXAoteyBcCi0JbWluZ3dfc3RhcnR1cCgpOyBcCi0JcmV0dXJuIG1pbmd3X21haW4oX19hcmdjLCAodm9pZCAqKV9fYXJndik7IFwKLX0gXAotc3RhdGljIGludCBtaW5nd19tYWluKGMsdikKKy8qCisgKiBGb3IgZGVidWdnaW5nOiBpZiBhIHByb2JsZW0gb2NjdXJzLCBzYXksIGluIGEgR2l0IHByb2Nlc3MgdGhhdCBpcyBzcGF3bmVkCisgKiBmcm9tIGFub3RoZXIgR2l0IHByb2Nlc3Mgd2hpY2ggaW4gdHVybiBpcyBzcGF3bmVkIGZyb20geWV0IGFub3RoZXIgR2l0CisgKiBwcm9jZXNzLCBpdCBjYW4gYmUgcXVpdGUgZGF1bnRpbmcgdG8gZmlndXJlIG91dCB3aGF0IGlzIGdvaW5nIG9uLgorICoKKyAqIENhbGwgdGhpcyBmdW5jdGlvbiB0byBvcGVuIGEgbmV3IE1pblRUWSAodGhpcyBhc3N1bWVzIHlvdSBhcmUgaW4gR2l0IGZvcgorICogV2luZG93cycgU0RLKSB3aXRoIGEgR0RCIHRoYXQgYXR0YWNoZXMgdG8gdGhlIGN1cnJlbnQgcHJvY2VzcyByaWdodCBhd2F5LgorICovCitleHRlcm4gdm9pZCBvcGVuX2luX2dkYih2b2lkKTsKIAogLyoKICAqIFVzZWQgYnkgUHRocmVhZCBBUEkgaW1wbGVtZW50YXRpb24gZm9yIFdpbmRvd3MKICAqLwotZXh0ZXJuIGludCBlcnJfd2luX3RvX3Bvc2l4KERXT1JEIHdpbmVycik7CitpbnQgZXJyX3dpbl90b19wb3NpeChEV09SRCB3aW5lcnIpOwpkaWZmIC0tZ2l0IGEvY29tcGF0L21zdmMuaCBiL2NvbXBhdC9tc3ZjLmgKaW5kZXggMjlhOGNlOC4uMWQ3YThjNiAxMDA2NDQKLS0tIGEvY29tcGF0L21zdmMuaAorKysgYi9jb21wYXQvbXN2Yy5oCkBAIC02LDYgKzYsMTAgQEAKICNpbmNsdWRlIDxtYWxsb2MuaD4KICNpbmNsdWRlIDxpby5oPgogCisjcHJhZ21hIHdhcm5pbmcoZGlzYWJsZTogNDAxOCkgLyogc2lnbmVkL3Vuc2lnbmVkIGNvbXBhcmlzb24gKi8KKyNwcmFnbWEgd2FybmluZyhkaXNhYmxlOiA0MjQ0KSAvKiB0eXBlIGNvbnZlcnNpb24sIHBvc3NpYmxlIGxvc3Mgb2YgZGF0YSAqLworI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6IDQwOTApIC8qICdmdW5jdGlvbicgOiBkaWZmZXJlbnQgJ2NvbnN0JyBxdWFsaWZpZXJzIChBTExPQ19HUk9XIGV0Yy4pKi8KKwogLyogcG9ydGluZyBmdW5jdGlvbiAqLwogI2RlZmluZSBpbmxpbmUgX19pbmxpbmUKICNkZWZpbmUgX19pbmxpbmVfXyBfX2lubGluZQpAQCAtMTgsNiArMjIsMTIgQEAKIAogI3VuZGVmIEVSUk9SCiAKKyNkZWZpbmUgZnRlbGxvIF9mdGVsbGk2NAorCit0eXBlZGVmIGludCBzaWdzZXRfdDsKKy8qIG9wZW4gZm9yIHJlYWRpbmcsIHdyaXRpbmcsIG9yIGJvdGggKG5vdCBpbiBmY250bC5oKSAqLworI2RlZmluZSBPX0FDQ01PREUgICAgIChfT19SRE9OTFkgfCBfT19XUk9OTFkgfCBfT19SRFdSKQorCiAjaW5jbHVkZSAiY29tcGF0L21pbmd3LmgiCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvY29tcGF0L25lZG1hbGxvYy9tYWxsb2MuYy5oIGIvY29tcGF0L25lZG1hbGxvYy9tYWxsb2MuYy5oCmluZGV4IGI4MzNmZjkuLjgxNDg0NWQgMTAwNjQ0Ci0tLSBhL2NvbXBhdC9uZWRtYWxsb2MvbWFsbG9jLmMuaAorKysgYi9jb21wYXQvbmVkbWFsbG9jL21hbGxvYy5jLmgKQEAgLTE1NjQsNyArMTU2NCw3IEBACiAgIHJldHVybiAocHRyICE9IDApPyBwdHI6IE1GQUlMOwogfQogCi0vKiBUaGlzIGZ1bmN0aW9uIHN1cHBvcnRzIHJlbGVhc2luZyBjb2FsZXNlZCBzZWdtZW50cyAqLworLyogVGhpcyBmdW5jdGlvbiBzdXBwb3J0cyByZWxlYXNpbmcgY29hbGVzY2VkIHNlZ21lbnRzICovCiBzdGF0aWMgRk9SQ0VJTkxJTkUgaW50IHdpbjMybXVubWFwKHZvaWQqIHB0ciwgc2l6ZV90IHNpemUpIHsKICAgTUVNT1JZX0JBU0lDX0lORk9STUFUSU9OIG1pbmZvOwogICBjaGFyKiBjcHRyID0gKGNoYXIqKXB0cjsKQEAgLTE2NTUsNyArMTY1NSw3IEBACiAgICAgI2RlZmluZSBDQUxMX01SRU1BUChhZGRyLCBvc3osIG5zeiwgbXYpICAgICBNRkFJTAogI2VuZGlmIC8qIEhBVkVfTU1BUCAmJiBIQVZFX01SRU1BUCAqLwogCi0vKiBtc3RhdGUgYml0IHNldCBpZiBjb250aW5ndW91cyBtb3JlY29yZSBkaXNhYmxlZCBvciBmYWlsZWQgKi8KKy8qIG1zdGF0ZSBiaXQgc2V0IGlmIGNvbnRpZ3VvdXMgbW9yZWNvcmUgZGlzYWJsZWQgb3IgZmFpbGVkICovCiAjZGVmaW5lIFVTRV9OT05DT05USUdVT1VTX0JJVCAoNFUpCiAKIC8qIHNlZ21lbnQgYml0IHNldCBpbiBjcmVhdGVfbXNwYWNlX3dpdGhfYmFzZSAqLwpAQCAtMTc1NSwxMCArMTc1NSwxMCBAQAogICBhc3NlcnQoc2wtPmwgIT0gMCk7CiAgIGFzc2VydChzbC0+dGhyZWFkaWQgPT0gQ1VSUkVOVF9USFJFQUQpOwogICBpZiAoLS1zbC0+YyA9PSAwKSB7Ci0gICAgc2wtPnRocmVhZGlkID0gMDsKICAgICB2b2xhdGlsZSB1bnNpZ25lZCBpbnQqIGxwID0gJnNsLT5sOwogICAgIGludCBwcmV2ID0gMDsKICAgICBpbnQgcmV0OworICAgIHNsLT50aHJlYWRpZCA9IDA7CiAgICAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCJsb2NrOyB4Y2hnbCAlMCwgJTEiCiAJCQkgIDogIj1yIiAocmV0KQogCQkJICA6ICJtIiAoKihscCkpLCAiMCIocHJldikKQEAgLTI0ODUsNyArMjQ4NSw3IEBACiAKICAgVHJpbSBzdXBwb3J0CiAgICAgRmllbGRzIGhvbGRpbmcgdGhlIGFtb3VudCBvZiB1bnVzZWQgdG9wbW9zdCBtZW1vcnkgdGhhdCBzaG91bGQgdHJpZ2dlcgotICAgIHRpbW1pbmcsIGFuZCBhIGNvdW50ZXIgdG8gZm9yY2UgcGVyaW9kaWMgc2Nhbm5pbmcgdG8gcmVsZWFzZSB1bnVzZWQKKyAgICB0aW1pbmcsIGFuZCBhIGNvdW50ZXIgdG8gZm9yY2UgcGVyaW9kaWMgc2Nhbm5pbmcgdG8gcmVsZWFzZSB1bnVzZWQKICAgICBub24tdG9wbW9zdCBzZWdtZW50cy4KIAogICBMb2NraW5nCkBAIC0zMDY2LDcgKzMwNjYsNyBAQAogI2lmICFPTkxZX01TUEFDRVMKICAgICAvKiBTZXQgdXAgbG9jayBmb3IgbWFpbiBtYWxsb2MgYXJlYSAqLwogICAgIGdtLT5tZmxhZ3MgPSBtcGFyYW1zLmRlZmF1bHRfbWZsYWdzOwotICAgIElOSVRJQUxfTE9DSygmZ20tPm11dGV4KTsKKyAgICAodm9pZClJTklUSUFMX0xPQ0soJmdtLT5tdXRleCk7CiAjZW5kaWYKIAogI2lmIChGT09URVJTICYmICFJTlNFQ1VSRSkKQEAgLTUwMTcsNyArNTAxNyw3IEBACiAgIG1jaHVua3B0ciBtc3AgPSBhbGlnbl9hc19jaHVuayh0YmFzZSk7CiAgIG1zdGF0ZSBtID0gKG1zdGF0ZSkoY2h1bmsybWVtKG1zcCkpOwogICBtZW1zZXQobSwgMCwgbXNpemUpOwotICBJTklUSUFMX0xPQ0soJm0tPm11dGV4KTsKKyAgKHZvaWQpSU5JVElBTF9MT0NLKCZtLT5tdXRleCk7CiAgIG1zcC0+aGVhZCA9IChtc2l6ZXxQSU5VU0VfQklUfENJTlVTRV9CSVQpOwogICBtLT5zZWcuYmFzZSA9IG0tPmxlYXN0X2FkZHIgPSB0YmFzZTsKICAgbS0+c2VnLnNpemUgPSBtLT5mb290cHJpbnQgPSBtLT5tYXhfZm9vdHByaW50ID0gdHNpemU7CmRpZmYgLS1naXQgYS9jb21wYXQvb2JzdGFjay5jIGIvY29tcGF0L29ic3RhY2suYwppbmRleCA0ZDFkOTViLi4yN2NkNWMxIDEwMDY0NAotLS0gYS9jb21wYXQvb2JzdGFjay5jCisrKyBiL2NvbXBhdC9vYnN0YWNrLmMKQEAgLTExMiwxNSArMTEyLDE1IEBACiAKICMgZGVmaW5lIENBTExfQ0hVTktGVU4oaCwgc2l6ZSkgXAogICAoKChoKSAtPiB1c2VfZXh0cmFfYXJnKSBcCi0gICA/ICgqKGgpLT5jaHVua2Z1bikgKChoKS0+ZXh0cmFfYXJnLCAoc2l6ZSkpIFwKLSAgIDogKCooc3RydWN0IF9vYnN0YWNrX2NodW5rICooKikgKGxvbmcpKSAoaCktPmNodW5rZnVuKSAoKHNpemUpKSkKKyAgID8gKCooaCktPmNodW5rZnVuLmV4dHJhKSAoKGgpLT5leHRyYV9hcmcsIChzaXplKSkgXAorICAgOiAoKihoKS0+Y2h1bmtmdW4ucGxhaW4pICgoc2l6ZSkpKQogCiAjIGRlZmluZSBDQUxMX0ZSRUVGVU4oaCwgb2xkX2NodW5rKSBcCiAgIGRvIHsgXAogICAgIGlmICgoaCkgLT4gdXNlX2V4dHJhX2FyZykgXAotICAgICAgKCooaCktPmZyZWVmdW4pICgoaCktPmV4dHJhX2FyZywgKG9sZF9jaHVuaykpOyBcCisgICAgICAoKihoKS0+ZnJlZWZ1bi5leHRyYSkgKChoKS0+ZXh0cmFfYXJnLCAob2xkX2NodW5rKSk7IFwKICAgICBlbHNlIFwKLSAgICAgICgqKHZvaWQgKCopICh2b2lkICopKSAoaCktPmZyZWVmdW4pICgob2xkX2NodW5rKSk7IFwKKyAgICAgICgqKGgpLT5mcmVlZnVuLnBsYWluKSAoKG9sZF9jaHVuaykpOyBcCiAgIH0gd2hpbGUgKDApCiAKIAwKQEAgLTE1OSw4ICsxNTksOCBAQAogICAgICAgc2l6ZSA9IDQwOTYgLSBleHRyYTsKICAgICB9CiAKLSAgaC0+Y2h1bmtmdW4gPSAoc3RydWN0IF9vYnN0YWNrX2NodW5rICogKCopKHZvaWQgKiwgbG9uZykpIGNodW5rZnVuOwotICBoLT5mcmVlZnVuID0gKHZvaWQgKCopICh2b2lkICosIHN0cnVjdCBfb2JzdGFja19jaHVuayAqKSkgZnJlZWZ1bjsKKyAgaC0+Y2h1bmtmdW4ucGxhaW4gPSBjaHVua2Z1bjsKKyAgaC0+ZnJlZWZ1bi5wbGFpbiA9IGZyZWVmdW47CiAgIGgtPmNodW5rX3NpemUgPSBzaXplOwogICBoLT5hbGlnbm1lbnRfbWFzayA9IGFsaWdubWVudCAtIDE7CiAgIGgtPnVzZV9leHRyYV9hcmcgPSAwOwpAQCAtMjA2LDggKzIwNiw5IEBACiAgICAgICBzaXplID0gNDA5NiAtIGV4dHJhOwogICAgIH0KIAotICBoLT5jaHVua2Z1biA9IChzdHJ1Y3QgX29ic3RhY2tfY2h1bmsgKiAoKikodm9pZCAqLGxvbmcpKSBjaHVua2Z1bjsKLSAgaC0+ZnJlZWZ1biA9ICh2b2lkICgqKSAodm9pZCAqLCBzdHJ1Y3QgX29ic3RhY2tfY2h1bmsgKikpIGZyZWVmdW47CisgIGgtPmNodW5rZnVuLmV4dHJhID0gKHN0cnVjdCBfb2JzdGFja19jaHVuayAqICgqKSh2b2lkICosbG9uZykpIGNodW5rZnVuOworICBoLT5mcmVlZnVuLmV4dHJhID0gKHZvaWQgKCopICh2b2lkICosIHN0cnVjdCBfb2JzdGFja19jaHVuayAqKSkgZnJlZWZ1bjsKKwogICBoLT5jaHVua19zaXplID0gc2l6ZTsKICAgaC0+YWxpZ25tZW50X21hc2sgPSBhbGlnbm1lbnQgLSAxOwogICBoLT5leHRyYV9hcmcgPSBhcmc7CmRpZmYgLS1naXQgYS9jb21wYXQvb2JzdGFjay5oIGIvY29tcGF0L29ic3RhY2suaAppbmRleCA2YmMyNGI3Li5mOTBhNDZkIDEwMDY0NAotLS0gYS9jb21wYXQvb2JzdGFjay5oCisrKyBiL2NvbXBhdC9vYnN0YWNrLmgKQEAgLTc5LDcgKzc5LDcgQEAKIFdoZW4gdGhlIGNoYXJzIGJ1cnN0IG92ZXIgYSBjaHVuayBib3VuZGFyeSwgd2UgYWxsb2NhdGUgYSBsYXJnZXIKIGNodW5rLCBhbmQgdGhlbiBjb3B5IHRoZSBwYXJ0bHkgZm9ybWVkIG9iamVjdCBmcm9tIHRoZSBlbmQgb2YgdGhlIG9sZAogY2h1bmsgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgbmV3IGxhcmdlciBjaHVuay4gIFdlIHRoZW4gY2Fycnkgb24KLWFjY3JldGluZyBjaGFyYWN0ZXJzIHRvIHRoZSBlbmQgb2YgdGhlIG9iamVjdCBhcyB3ZSBub3JtYWxseSB3b3VsZC4KK2FjY3JlZGl0aW5nIGNoYXJhY3RlcnMgdG8gdGhlIGVuZCBvZiB0aGUgb2JqZWN0IGFzIHdlIG5vcm1hbGx5IHdvdWxkLgogCiBBIHNwZWNpYWwgbWFjcm8gaXMgcHJvdmlkZWQgdG8gYWRkIGEgc2luZ2xlIGNoYXIgYXQgYSB0aW1lIHRvIGEKIGdyb3dpbmcgb2JqZWN0LiAgVGhpcyBhbGxvd3MgdGhlIHVzZSBvZiByZWdpc3RlciB2YXJpYWJsZXMsIHdoaWNoCkBAIC0xMzUsOCArMTM1LDEwIEBACiAgICBhbGlnbm1lbnQgcmVsYXRpdmUgdG8gMC4gICovCiAKICNkZWZpbmUgX19QVFJfQUxJR04oQiwgUCwgQSkJCQkJCQkgICAgXAotICBfX0JQVFJfQUxJR04gKHNpemVvZiAoUFRSX0lOVF9UWVBFKSA8IHNpemVvZiAodm9pZCAqKSA/IChCKSA6IChjaGFyICopIDAsIFwKLQkJUCwgQSkKKyAgKHNpemVvZiAoUFRSX0lOVF9UWVBFKSA8IHNpemVvZih2b2lkICopID8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICBfX0JQVFJfQUxJR04oKEIpLCAoUCksIChBKSkgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgKHZvaWQgKilfX0JQVFJfQUxJR04oKFBUUl9JTlRfVFlQRSkodm9pZCAqKTAsIChQVFJfSU5UX1RZUEUpKFApLCAoQSkpICAgICAgICAgICAgXAorICApCiAKICNpbmNsdWRlIDxzdHJpbmcuaD4KIApAQCAtMTYwLDExICsxNjIsMTUgQEAKICAgICB2b2lkICp0ZW1wcHRyOwogICB9IHRlbXA7CQkJLyogVGVtcG9yYXJ5IGZvciBzb21lIG1hY3Jvcy4gICovCiAgIGludCAgIGFsaWdubWVudF9tYXNrOwkJLyogTWFzayBvZiBhbGlnbm1lbnQgZm9yIGVhY2ggb2JqZWN0LiAqLwotICAvKiBUaGVzZSBwcm90b3R5cGVzIHZhcnkgYmFzZWQgb24gYHVzZV9leHRyYV9hcmcnLCBhbmQgd2UgdXNlCi0gICAgIGNhc3RzIHRvIHRoZSBwcm90b3R5cGVsZXNzIGZ1bmN0aW9uIHR5cGUgaW4gYWxsIGFzc2lnbm1lbnRzLAotICAgICBidXQgaGF2aW5nIHByb3RvdHlwZXMgaGVyZSBxdWlldHMgLVdzdHJpY3QtcHJvdG90eXBlcy4gICovCi0gIHN0cnVjdCBfb2JzdGFja19jaHVuayAqKCpjaHVua2Z1bikgKHZvaWQgKiwgbG9uZyk7Ci0gIHZvaWQgKCpmcmVlZnVuKSAodm9pZCAqLCBzdHJ1Y3QgX29ic3RhY2tfY2h1bmsgKik7CisgIC8qIFRoZXNlIHByb3RvdHlwZXMgdmFyeSBiYXNlZCBvbiBgdXNlX2V4dHJhX2FyZycuICovCisgIHVuaW9uIHsKKyAgICB2b2lkICooKnBsYWluKSAobG9uZyk7CisgICAgc3RydWN0IF9vYnN0YWNrX2NodW5rICooKmV4dHJhKSAodm9pZCAqLCBsb25nKTsKKyAgfSBjaHVua2Z1bjsKKyAgdW5pb24geworICAgIHZvaWQgKCpwbGFpbikgKHZvaWQgKik7CisgICAgdm9pZCAoKmV4dHJhKSAodm9pZCAqLCBzdHJ1Y3QgX29ic3RhY2tfY2h1bmsgKik7CisgIH0gZnJlZWZ1bjsKICAgdm9pZCAqZXh0cmFfYXJnOwkJLyogZmlyc3QgYXJnIGZvciBjaHVuayBhbGxvYy9kZWFsbG9jIGZ1bmNzICovCiAgIHVuc2lnbmVkIHVzZV9leHRyYV9hcmc6MTsJLyogY2h1bmsgYWxsb2MvZGVhbGxvYyBmdW5jcyB0YWtlIGV4dHJhIGFyZyAqLwogICB1bnNpZ25lZCBtYXliZV9lbXB0eV9vYmplY3Q6MTsvKiBUaGVyZSBpcyBhIHBvc3NpYmlsaXR5IHRoYXQgdGhlIGN1cnJlbnQKQEAgLTIzNSwxMCArMjQxLDEwIEBACiAJCSAgICAodm9pZCAoKikgKHZvaWQgKiwgdm9pZCAqKSkgKGZyZWVmdW4pLCAoYXJnKSkKIAogI2RlZmluZSBvYnN0YWNrX2NodW5rZnVuKGgsIG5ld2NodW5rZnVuKSBcCi0gICgoaCkgLT4gY2h1bmtmdW4gPSAoc3RydWN0IF9vYnN0YWNrX2NodW5rICooKikodm9pZCAqLCBsb25nKSkgKG5ld2NodW5rZnVuKSkKKyAgKChoKS0+Y2h1bmtmdW4uZXh0cmEgPSAoc3RydWN0IF9vYnN0YWNrX2NodW5rICooKikodm9pZCAqLCBsb25nKSkgKG5ld2NodW5rZnVuKSkKIAogI2RlZmluZSBvYnN0YWNrX2ZyZWVmdW4oaCwgbmV3ZnJlZWZ1bikgXAotICAoKGgpIC0+IGZyZWVmdW4gPSAodm9pZCAoKikodm9pZCAqLCBzdHJ1Y3QgX29ic3RhY2tfY2h1bmsgKikpIChuZXdmcmVlZnVuKSkKKyAgKChoKS0+ZnJlZWZ1bi5leHRyYSA9ICh2b2lkICgqKSh2b2lkICosIHN0cnVjdCBfb2JzdGFja19jaHVuayAqKSkgKG5ld2ZyZWVmdW4pKQogCiAjZGVmaW5lIG9ic3RhY2tfMWdyb3dfZmFzdChoLGFjaGFyKSAoKigoaCktPm5leHRfZnJlZSkrKyA9IChhY2hhcikpCiAKQEAgLTQ5Miw3ICs0OTgsNyBAQAogKCAoaCktPnRlbXAudGVtcGludCA9IChjaGFyICopIChvYmopIC0gKGNoYXIgKikgKGgpLT5jaHVuaywJCVwKICAgKCgoKGgpLT50ZW1wLnRlbXBpbnQgPiAwCQkJCQkJXAogICAgICYmIChoKS0+dGVtcC50ZW1waW50IDwgKGgpLT5jaHVua19saW1pdCAtIChjaGFyICopIChoKS0+Y2h1bmspKQlcCi0gICA/IChpbnQpICgoaCktPm5leHRfZnJlZSA9IChoKS0+b2JqZWN0X2Jhc2UJCQkJXAorICAgPyAocHRyZGlmZl90KSAoKGgpLT5uZXh0X2ZyZWUgPSAoaCktPm9iamVjdF9iYXNlCQkJCVwKIAkgICAgPSAoaCktPnRlbXAudGVtcGludCArIChjaGFyICopIChoKS0+Y2h1bmspCQkJXAogICAgOiAoKChvYnN0YWNrX2ZyZWUpICgoaCksIChoKS0+dGVtcC50ZW1waW50ICsgKGNoYXIgKikgKGgpLT5jaHVuayksIDApLCAwKSkpCiAKZGlmZiAtLWdpdCBhL2NvbXBhdC9wb2xsL3BvbGwuYyBiL2NvbXBhdC9wb2xsL3BvbGwuYwppbmRleCA0NDU5NDA4Li5hZmE2ZDI0IDEwMDY0NAotLS0gYS9jb21wYXQvcG9sbC9wb2xsLmMKKysrIGIvY29tcGF0L3BvbGwvcG9sbC5jCkBAIC0xMzksMjIgKzEzOSwxMCBAQAogICBJTlBVVF9SRUNPUkQgKmlyYnVmZmVyOwogICBEV09SRCBhdmFpbCwgbmJ1ZmZlcjsKICAgQk9PTCBiUmV0OwotICBJT19TVEFUVVNfQkxPQ0sgaW9zYjsKLSAgRklMRV9QSVBFX0xPQ0FMX0lORk9STUFUSU9OIGZwbGk7Ci0gIHN0YXRpYyBQTnRRdWVyeUluZm9ybWF0aW9uRmlsZSBOdFF1ZXJ5SW5mb3JtYXRpb25GaWxlOwotICBzdGF0aWMgQk9PTCBvbmNlX29ubHk7CiAKICAgc3dpdGNoIChHZXRGaWxlVHlwZSAoaCkpCiAgICAgewogICAgIGNhc2UgRklMRV9UWVBFX1BJUEU6Ci0gICAgICBpZiAoIW9uY2Vfb25seSkKLQl7Ci0JICBOdFF1ZXJ5SW5mb3JtYXRpb25GaWxlID0gKFBOdFF1ZXJ5SW5mb3JtYXRpb25GaWxlKQotCSAgICBHZXRQcm9jQWRkcmVzcyAoR2V0TW9kdWxlSGFuZGxlICgibnRkbGwuZGxsIiksCi0JCQkgICAgIk50UXVlcnlJbmZvcm1hdGlvbkZpbGUiKTsKLQkgIG9uY2Vfb25seSA9IFRSVUU7Ci0JfQotCiAgICAgICBoYXBwZW5lZCA9IDA7CiAgICAgICBpZiAoUGVla05hbWVkUGlwZSAoaCwgTlVMTCwgMCwgTlVMTCwgJmF2YWlsLCBOVUxMKSAhPSAwKQogCXsKQEAgLTE2NiwyMiArMTU0LDkgQEAKIAogICAgICAgZWxzZQogCXsKLQkgIC8qIEl0IHdhcyB0aGUgd3JpdGUtZW5kIG9mIHRoZSBwaXBlLiAgQ2hlY2sgaWYgaXQgaXMgd3JpdGFibGUuCi0JICAgICBJZiBOdFF1ZXJ5SW5mb3JtYXRpb25GaWxlIGZhaWxzLCBvcHRpbWlzdGljYWxseSBhc3N1bWUgdGhlIHBpcGUgaXMKLQkgICAgIHdyaXRhYmxlLiAgVGhpcyBjb3VsZCBoYXBwZW4gb24gV2luOXgsIHdoZXJlIE50UXVlcnlJbmZvcm1hdGlvbkZpbGUKLQkgICAgIGlzIG5vdCBhdmFpbGFibGUsIG9yIGlmIHdlIGluaGVyaXQgYSBwaXBlIHRoYXQgZG9lc24ndCBwZXJtaXQKLQkgICAgIEZJTEVfUkVBRF9BVFRSSUJVVEVTIGFjY2VzcyBvbiB0aGUgd3JpdGUgZW5kIChJIHRoaW5rIHRoaXMgc2hvdWxkCi0JICAgICBub3QgaGFwcGVuIHNpbmNlIFdpblhQIFNQMjsgV0lORSBzZWVtcyBmaW5lIHRvbykuICBPdGhlcndpc2UsCi0JICAgICBlbnN1cmUgdGhhdCBlbm91Z2ggc3BhY2UgaXMgYXZhaWxhYmxlIGZvciBhdG9taWMgd3JpdGVzLiAgKi8KLQkgIG1lbXNldCAoJmlvc2IsIDAsIHNpemVvZiAoaW9zYikpOwotCSAgbWVtc2V0ICgmZnBsaSwgMCwgc2l6ZW9mIChmcGxpKSk7Ci0KLQkgIGlmICghTnRRdWVyeUluZm9ybWF0aW9uRmlsZQotCSAgICAgIHx8IE50UXVlcnlJbmZvcm1hdGlvbkZpbGUgKGgsICZpb3NiLCAmZnBsaSwgc2l6ZW9mIChmcGxpKSwKLQkJCQkJIEZpbGVQaXBlTG9jYWxJbmZvcm1hdGlvbikKLQkgICAgICB8fCBmcGxpLldyaXRlUXVvdGFBdmFpbGFibGUgPj0gUElQRV9CVUYKLQkgICAgICB8fCAoZnBsaS5PdXRib3VuZFF1b3RhIDwgUElQRV9CVUYgJiYKLQkJICBmcGxpLldyaXRlUXVvdGFBdmFpbGFibGUgPT0gZnBsaS5PdXRib3VuZFF1b3RhKSkKKwkgIC8qIEl0IHdhcyB0aGUgd3JpdGUtZW5kIG9mIHRoZSBwaXBlLiBVbmZvcnR1bmF0ZWx5IHRoZXJlIGlzIG5vCisJICAgICByZWxpYWJsZSB3YXkgb2Yga25vd2luZyBpZiBpdCBjYW4gYmUgd3JpdHRlbiB3aXRob3V0IGJsb2NraW5nLgorCSAgICAgSnVzdCBzYXkgdGhhdCBpdCdzIGFsbCBnb29kLiAqLwogCSAgICBoYXBwZW5lZCB8PSAqcF9zb3VnaHQgJiAoUE9MTE9VVCB8IFBPTExXUk5PUk0gfCBQT0xMV1JCQU5EKTsKIAl9CiAgICAgICByZXR1cm4gaGFwcGVuZWQ7CmRpZmYgLS1naXQgYS9jb21wYXQvcHJlY29tcG9zZV91dGY4LmMgYi9jb21wYXQvcHJlY29tcG9zZV91dGY4LmMKaW5kZXggZGU2MWMxNS4uMTM2MjUwZiAxMDA2NDQKLS0tIGEvY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jCisrKyBiL2NvbXBhdC9wcmVjb21wb3NlX3V0ZjguYwpAQCAtNzksNyArNzksNyBAQAogCQlzaXplX3QgbmFtZWxlbjsKIAkJb2xkYXJnID0gYXJndltpXTsKIAkJaWYgKGhhc19ub25fYXNjaWkob2xkYXJnLCAoc2l6ZV90KS0xLCAmbmFtZWxlbikpIHsKLQkJCW5ld2FyZyA9IHJlZW5jb2RlX3N0cmluZ19pY29udihvbGRhcmcsIG5hbWVsZW4sIGljX3ByZWNvbXBvc2UsIE5VTEwpOworCQkJbmV3YXJnID0gcmVlbmNvZGVfc3RyaW5nX2ljb252KG9sZGFyZywgbmFtZWxlbiwgaWNfcHJlY29tcG9zZSwgMCwgTlVMTCk7CiAJCQlpZiAobmV3YXJnKQogCQkJCWFyZ3ZbaV0gPSBuZXdhcmc7CiAJCX0KZGlmZiAtLWdpdCBhL2NvbXBhdC9yZWdleC9yZWdjb21wLmMgYi9jb21wYXQvcmVnZXgvcmVnY29tcC5jCmluZGV4IDUxY2Q2MGIuLmQxYmMwOWUgMTAwNjQ0Ci0tLSBhL2NvbXBhdC9yZWdleC9yZWdjb21wLmMKKysrIGIvY29tcGF0L3JlZ2V4L3JlZ2NvbXAuYwpAQCAtMTcsNiArMTcsMTQgQEAKICAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeTsgaWYgbm90LCBzZWUKICAgIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCiAKKyNpZiBkZWZpbmVkIF9fVEFOREVNCisgLyogVGhpcyBpcyBjdXJyZW50bHkgZHVwbGljYXRlZCBmcm9tIGdpdC1jb21wYXQtdXRpbHMuaCAqLworIyBpZmRlZiBOT19JTlRQVFJfVAorIHR5cGVkZWYgbG9uZyBpbnRwdHJfdDsKKyB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgdWludHB0cl90OworIyBlbmRpZgorI2VuZGlmCisKIHN0YXRpYyByZWdfZXJyY29kZV90IHJlX2NvbXBpbGVfaW50ZXJuYWwgKHJlZ2V4X3QgKnByZWcsIGNvbnN0IGNoYXIgKiBwYXR0ZXJuLAogCQkJCQkgIHNpemVfdCBsZW5ndGgsIHJlZ19zeW50YXhfdCBzeW50YXgpOwogc3RhdGljIHZvaWQgcmVfY29tcGlsZV9mYXN0bWFwX2l0ZXIgKHJlZ2V4X3QgKmJ1ZnAsCkBAIC0zNDU0LDcgKzM0NjIsNyBAQAogCS8qIFRoaXMgaXNuJ3QgYSB2YWxpZCBjaGFyYWN0ZXIuICAqLwogCXJldHVybiBSRUdfRUNPTExBVEU7CiAKLSAgICAgIC8qIEJ1aWxkIHNpbmdsZSBieXRlIG1hdGNpbmcgdGFibGUgZm9yIHRoaXMgZXF1aXZhbGVuY2UgY2xhc3MuICAqLworICAgICAgLyogQnVpbGQgc2luZ2xlIGJ5dGUgbWF0Y2hpbmcgdGFibGUgZm9yIHRoaXMgZXF1aXZhbGVuY2UgY2xhc3MuICAqLwogICAgICAgY2hhcl9idWZbMV0gPSAodW5zaWduZWQgY2hhcikgJ1wwJzsKICAgICAgIGxlbiA9IHdlaWdodHNbaWR4MSAmIDB4ZmZmZmZmXTsKICAgICAgIGZvciAoY2ggPSAwOyBjaCA8IFNCQ19NQVg7ICsrY2gpCmRpZmYgLS1naXQgYS9jb21wYXQvcmVnZXgvcmVnZXguaCBiL2NvbXBhdC9yZWdleC9yZWdleC5oCmluZGV4IDRkODEzNTguLjJkMzQxMjggMTAwNjQ0Ci0tLSBhL2NvbXBhdC9yZWdleC9yZWdleC5oCisrKyBiL2NvbXBhdC9yZWdleC9yZWdleC5oCkBAIC00MSw2ICs0MSwxMSBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAorI2RlZmluZSByZWdjb21wIGdpdF9yZWdjb21wCisjZGVmaW5lIHJlZ2V4ZWMgZ2l0X3JlZ2V4ZWMKKyNkZWZpbmUgcmVnZXJyb3IgZ2l0X3JlZ2Vycm9yCisjZGVmaW5lIHJlZ2ZyZWUgZ2l0X3JlZ2ZyZWUKKwogLyogVGhlIGZvbGxvd2luZyB0d28gdHlwZXMgaGF2ZSB0byBiZSBzaWduZWQgYW5kIHVuc2lnbmVkIGludGVnZXIgdHlwZQogICAgd2lkZSBlbm91Z2ggdG8gaG9sZCBhIHZhbHVlIG9mIGEgcG9pbnRlci4gIEZvciBtb3N0IEFOU0kgY29tcGlsZXJzCiAgICBwdHJkaWZmX3QgYW5kIHNpemVfdCBzaG91bGQgYmUgbGlrZWx5IE9LLiAgU3RpbGwgc2l6ZSBvZiB0aGVzZSB0d28KQEAgLTMyMiw3ICszMjcsNyBAQAogICAvKiBQT1NJWCByZWdjb21wIHJldHVybiBlcnJvciBjb2Rlcy4gIChJbiB0aGUgb3JkZXIgbGlzdGVkIGluIHRoZQogICAgICBzdGFuZGFyZC4pICAqLwogICBSRUdfQkFEUEFULAkJLyogSW52YWxpZCBwYXR0ZXJuLiAgKi8KLSAgUkVHX0VDT0xMQVRFLAkJLyogSW5hbGlkIGNvbGxhdGluZyBlbGVtZW50LiAgKi8KKyAgUkVHX0VDT0xMQVRFLAkJLyogSW52YWxpZCBjb2xsYXRpbmcgZWxlbWVudC4gICovCiAgIFJFR19FQ1RZUEUsCQkvKiBJbnZhbGlkIGNoYXJhY3RlciBjbGFzcyBuYW1lLiAgKi8KICAgUkVHX0VFU0NBUEUsCQkvKiBUcmFpbGluZyBiYWNrc2xhc2guICAqLwogICBSRUdfRVNVQlJFRywJCS8qIEludmFsaWQgYmFjayByZWZlcmVuY2UuICAqLwpkaWZmIC0tZ2l0IGEvY29tcGF0L3JlZ2V4L3JlZ2V4X2ludGVybmFsLmMgYi9jb21wYXQvcmVnZXgvcmVnZXhfaW50ZXJuYWwuYwppbmRleCA1OWJmMTUxLi5lYzUxY2YzIDEwMDY0NAotLS0gYS9jb21wYXQvcmVnZXgvcmVnZXhfaW50ZXJuYWwuYworKysgYi9jb21wYXQvcmVnZXgvcmVnZXhfaW50ZXJuYWwuYwpAQCAtMTYxNiw3ICsxNjE2LDcgQEAKICAgcmVfZnJlZSAoc3RhdGUpOwogfQogCi0vKiBDcmVhdGUgdGhlIG5ldyBzdGF0ZSB3aGljaCBpcyBpbmRlcGVuZCBvZiBjb250ZXh0cy4KKy8qIENyZWF0ZSB0aGUgbmV3IHN0YXRlIHdoaWNoIGlzIGluZGVwZW5kZW50IG9mIGNvbnRleHRzLgogICAgUmV0dXJuIHRoZSBuZXcgc3RhdGUgaWYgc3VjY2VlZGVkLCBvdGhlcndpc2UgcmV0dXJuIE5VTEwuICAqLwogCiBzdGF0aWMgcmVfZGZhc3RhdGVfdCAqCmRpZmYgLS1naXQgYS9jb21wYXQvcmVnZXgvcmVnZXhlYy5jIGIvY29tcGF0L3JlZ2V4L3JlZ2V4ZWMuYwppbmRleCAxYjVkODlmLi40OTM1OGFlIDEwMDY0NAotLS0gYS9jb21wYXQvcmVnZXgvcmVnZXhlYy5jCisrKyBiL2NvbXBhdC9yZWdleC9yZWdleGVjLmMKQEAgLTI0MjAsNyArMjQyMCw3IEBACiAvKiBGcm9tIHRoZSBub2RlIHNldCBDVVJfTk9ERVMsIHBpY2sgdXAgdGhlIG5vZGVzIHdob3NlIHR5cGVzIGFyZQogICAgT1BfT1BFTl9TVUJFWFAgYW5kIHdoaWNoIGhhdmUgY29ycmVzcG9uZGluZyBiYWNrIHJlZmVyZW5jZXMgaW4gdGhlIHJlZ3VsYXIKICAgIGV4cHJlc3Npb24uIEFuZCByZWdpc3RlciB0aGVtIHRvIHVzZSB0aGVtIGxhdGVyIGZvciBldmFsdWF0aW5nIHRoZQotICAgY29ycmVzcG9kaW5nIGJhY2sgcmVmZXJlbmNlcy4gICovCisgICBjb3JyZXNwb25kaW5nIGJhY2sgcmVmZXJlbmNlcy4gICovCiAKIHN0YXRpYyByZWdfZXJyY29kZV90CiBpbnRlcm5hbF9mdW5jdGlvbgpAQCAtMzM0Nyw3ICszMzQ3LDcgQEAKICAgZGVzdHNfbm9kZSA9IGRlc3RzX2FsbG9jLT5kZXN0c19ub2RlOwogICBkZXN0c19jaCA9IGRlc3RzX2FsbG9jLT5kZXN0c19jaDsKIAotICAvKiBJbml0aWFsaXplIHRyYW5zaXRvbiB0YWJsZS4gICovCisgIC8qIEluaXRpYWxpemUgdHJhbnNpdGlvbiB0YWJsZS4gICovCiAgIHN0YXRlLT53b3JkX3RydGFibGUgPSBzdGF0ZS0+dHJ0YWJsZSA9IE5VTEw7CiAKICAgLyogQXQgZmlyc3QsIGdyb3VwIGFsbCBub2RlcyBiZWxvbmdpbmcgdG8gYHN0YXRlJyBpbnRvIHNldmVyYWwKZGlmZiAtLWdpdCBhL2NvbXBhdC90ZXJtaW5hbC5jIGIvY29tcGF0L3Rlcm1pbmFsLmMKaW5kZXggZmExM2VlNi4uMzViY2EwMyAxMDA2NDQKLS0tIGEvY29tcGF0L3Rlcm1pbmFsLmMKKysrIGIvY29tcGF0L3Rlcm1pbmFsLmMKQEAgLTIsNiArMiw5IEBACiAjaW5jbHVkZSAiY29tcGF0L3Rlcm1pbmFsLmgiCiAjaW5jbHVkZSAic2lnY2hhaW4uaCIKICNpbmNsdWRlICJzdHJidWYuaCIKKyNpbmNsdWRlICJydW4tY29tbWFuZC5oIgorI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCisjaW5jbHVkZSAiaGFzaG1hcC5oIgogCiAjaWYgZGVmaW5lZChIQVZFX0RFVl9UVFkpIHx8IGRlZmluZWQoR0lUX1dJTkRPV1NfTkFUSVZFKQogCkBAIC0zMiw3ICszNSw3IEBACiAJdGVybV9mZCA9IC0xOwogfQogCi1zdGF0aWMgaW50IGRpc2FibGVfZWNobyh2b2lkKQorc3RhdGljIGludCBkaXNhYmxlX2JpdHModGNmbGFnX3QgYml0cykKIHsKIAlzdHJ1Y3QgdGVybWlvcyB0OwogCkBAIC00Myw3ICs0Niw3IEBACiAJb2xkX3Rlcm0gPSB0OwogCXNpZ2NoYWluX3B1c2hfY29tbW9uKHJlc3RvcmVfdGVybV9vbl9zaWduYWwpOwogCi0JdC5jX2xmbGFnICY9IH5FQ0hPOworCXQuY19sZmxhZyAmPSB+Yml0czsKIAlpZiAoIXRjc2V0YXR0cih0ZXJtX2ZkLCBUQ1NBRkxVU0gsICZ0KSkKIAkJcmV0dXJuIDA7CiAKQEAgLTUzLDE3ICs1Niw0NCBAQAogCXJldHVybiAtMTsKIH0KIAorc3RhdGljIGludCBkaXNhYmxlX2VjaG8odm9pZCkKK3sKKwlyZXR1cm4gZGlzYWJsZV9iaXRzKEVDSE8pOworfQorCitzdGF0aWMgaW50IGVuYWJsZV9ub25fY2Fub25pY2FsKHZvaWQpCit7CisJcmV0dXJuIGRpc2FibGVfYml0cyhJQ0FOT04gfCBFQ0hPKTsKK30KKwogI2VsaWYgZGVmaW5lZChHSVRfV0lORE9XU19OQVRJVkUpCiAKICNkZWZpbmUgSU5QVVRfUEFUSCAiQ09OSU4kIgogI2RlZmluZSBPVVRQVVRfUEFUSCAiQ09OT1VUJCIKICNkZWZpbmUgRk9SQ0VfVEVYVCAidCIKIAorc3RhdGljIGludCB1c2Vfc3R0eSA9IDE7CitzdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IHN0dHlfcmVzdG9yZSA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwogc3RhdGljIEhBTkRMRSBoY29uaW4gPSBJTlZBTElEX0hBTkRMRV9WQUxVRTsKIHN0YXRpYyBEV09SRCBjbW9kZTsKIAogc3RhdGljIHZvaWQgcmVzdG9yZV90ZXJtKHZvaWQpCiB7CisJaWYgKHVzZV9zdHR5KSB7CisJCWludCBpOworCQlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcCA9IENISUxEX1BST0NFU1NfSU5JVDsKKworCQlpZiAoc3R0eV9yZXN0b3JlLm5yID09IDApCisJCQlyZXR1cm47CisKKwkJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCAic3R0eSIpOworCQlmb3IgKGkgPSAwOyBpIDwgc3R0eV9yZXN0b3JlLm5yOyBpKyspCisJCQlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsIHN0dHlfcmVzdG9yZS5pdGVtc1tpXS5zdHJpbmcpOworCQlydW5fY29tbWFuZCgmY3ApOworCQlzdHJpbmdfbGlzdF9jbGVhcigmc3R0eV9yZXN0b3JlLCAwKTsKKwkJcmV0dXJuOworCX0KKwogCWlmIChoY29uaW4gPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpCiAJCXJldHVybjsKIApAQCAtNzIsOCArMTAyLDM5IEBACiAJaGNvbmluID0gSU5WQUxJRF9IQU5ETEVfVkFMVUU7CiB9CiAKLXN0YXRpYyBpbnQgZGlzYWJsZV9lY2hvKHZvaWQpCitzdGF0aWMgaW50IGRpc2FibGVfYml0cyhEV09SRCBiaXRzKQogeworCWlmICh1c2Vfc3R0eSkgeworCQlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjcCA9IENISUxEX1BST0NFU1NfSU5JVDsKKworCQlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsICJzdHR5Iik7CisKKwkJaWYgKGJpdHMgJiBFTkFCTEVfTElORV9JTlBVVCkgeworCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZzdHR5X3Jlc3RvcmUsICJpY2Fub24iKTsKKwkJCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgIi1pY2Fub24iKTsKKwkJfQorCisJCWlmIChiaXRzICYgRU5BQkxFX0VDSE9fSU5QVVQpIHsKKwkJCXN0cmluZ19saXN0X2FwcGVuZCgmc3R0eV9yZXN0b3JlLCAiZWNobyIpOworCQkJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCAiLWVjaG8iKTsKKwkJfQorCisJCWlmIChiaXRzICYgRU5BQkxFX1BST0NFU1NFRF9JTlBVVCkgeworCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZzdHR5X3Jlc3RvcmUsICItaWduYnJrIik7CisJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJnN0dHlfcmVzdG9yZSwgImludHIiKTsKKwkJCXN0cmluZ19saXN0X2FwcGVuZCgmc3R0eV9yZXN0b3JlLCAiXmMiKTsKKwkJCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgImlnbmJyayIpOworCQkJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCAiaW50ciIpOworCQkJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCAiIik7CisJCX0KKworCQlpZiAocnVuX2NvbW1hbmQoJmNwKSA9PSAwKQorCQkJcmV0dXJuIDA7CisKKwkJLyogYHN0dHlgIGNvdWxkIG5vdCBiZSBleGVjdXRlZDsgYWNjZXNzIHRoZSBDb25zb2xlIGRpcmVjdGx5ICovCisJCXVzZV9zdHR5ID0gMDsKKwl9CisKIAloY29uaW4gPSBDcmVhdGVGaWxlKCJDT05JTiQiLCBHRU5FUklDX1JFQUQgfCBHRU5FUklDX1dSSVRFLAogCSAgICBGSUxFX1NIQVJFX1JFQUQsIE5VTEwsIE9QRU5fRVhJU1RJTkcsCiAJICAgIEZJTEVfQVRUUklCVVRFX05PUk1BTCwgTlVMTCk7CkBAIC04Miw3ICsxNDMsNyBAQAogCiAJR2V0Q29uc29sZU1vZGUoaGNvbmluLCAmY21vZGUpOwogCXNpZ2NoYWluX3B1c2hfY29tbW9uKHJlc3RvcmVfdGVybV9vbl9zaWduYWwpOwotCWlmICghU2V0Q29uc29sZU1vZGUoaGNvbmluLCBjbW9kZSAmICh+RU5BQkxFX0VDSE9fSU5QVVQpKSkgeworCWlmICghU2V0Q29uc29sZU1vZGUoaGNvbmluLCBjbW9kZSAmIH5iaXRzKSkgewogCQlDbG9zZUhhbmRsZShoY29uaW4pOwogCQloY29uaW4gPSBJTlZBTElEX0hBTkRMRV9WQUxVRTsKIAkJcmV0dXJuIC0xOwpAQCAtOTEsNiArMTUyLDQ3IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgZGlzYWJsZV9lY2hvKHZvaWQpCit7CisJcmV0dXJuIGRpc2FibGVfYml0cyhFTkFCTEVfRUNIT19JTlBVVCk7Cit9CisKK3N0YXRpYyBpbnQgZW5hYmxlX25vbl9jYW5vbmljYWwodm9pZCkKK3sKKwlyZXR1cm4gZGlzYWJsZV9iaXRzKEVOQUJMRV9FQ0hPX0lOUFVUIHwgRU5BQkxFX0xJTkVfSU5QVVQgfCBFTkFCTEVfUFJPQ0VTU0VEX0lOUFVUKTsKK30KKworLyoKKyAqIE92ZXJyaWRlIGBnZXRjaGFyKClgLCBhcyB0aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCB1c2UKKyAqIGBSZWFkRmlsZSgpYC4KKyAqCisgKiBUaGlzIHBvc2VzIGEgcHJvYmxlbSB3aGVuIHdlIHdhbnQgdG8gc2VlIHdoZXRoZXIgdGhlIHN0YW5kYXJkCisgKiBpbnB1dCBoYXMgbW9yZSBjaGFyYWN0ZXJzLCBhcyB0aGUgZGVmYXVsdCBvZiBHaXQgZm9yIFdpbmRvd3MgaXMgdG8gc3RhcnQgdGhlCisgKiBCYXNoIGluIGEgTWluVFRZLCB3aGljaCB1c2VzIGEgbmFtZWQgcGlwZSB0byBlbXVsYXRlIGEgcHR5LCBpbiB3aGljaCBjYXNlCisgKiBvdXIgYHBvbGwoKWAgZW11bGF0aW9uIGNhbGxzIGBQZWVrTmFtZWRQaXBlKClgLCB3aGljaCBzZWVtcyB0byByZXF1aXJlCisgKiBgUmVhZEZpbGUoKWAgdG8gYmUgY2FsbGVkIGZpcnN0IHRvIHdvcmsgcHJvcGVybHkgKGl0IG9ubHkgcmVwb3J0cyAwCisgKiBhdmFpbGFibGUgYnl0ZXMsIG90aGVyd2lzZSkuCisgKgorICogU28gbGV0J3MganVzdCBvdmVycmlkZSBgZ2V0Y2hhcigpYCB3aXRoIGEgdmVyc2lvbiBiYWNrZWQgYnkgYFJlYWRGaWxlKClgIGFuZAorICogZ28gb3VyIG1lcnJ5IHdheXMgZnJvbSBoZXJlLgorICovCitzdGF0aWMgaW50IG1pbmd3X2dldGNoYXIodm9pZCkKK3sKKwlEV09SRCByZWFkID0gMDsKKwl1bnNpZ25lZCBjaGFyIGNoOworCisJaWYgKCFSZWFkRmlsZShHZXRTdGRIYW5kbGUoU1REX0lOUFVUX0hBTkRMRSksICZjaCwgMSwgJnJlYWQsIE5VTEwpKQorCQlyZXR1cm4gRU9GOworCisJaWYgKCFyZWFkKSB7CisJCWVycm9yKCJVbmV4cGVjdGVkIDAgcmVhZCIpOworCQlyZXR1cm4gRU9GOworCX0KKworCXJldHVybiBjaDsKK30KKyNkZWZpbmUgZ2V0Y2hhciBtaW5nd19nZXRjaGFyCisKICNlbmRpZgogCiAjaWZuZGVmIEZPUkNFX1RFWFQKQEAgLTEzNyw2ICsyMzksMTI2IEBACiAJcmV0dXJuIGJ1Zi5idWY7CiB9CiAKKy8qCisgKiBUaGUgYGlzX2tub3duX2VzY2FwZV9zZXF1ZW5jZSgpYCBmdW5jdGlvbiByZXR1cm5zIDEgaWYgdGhlIHBhc3NlZCBzdHJpbmcKKyAqIGNvcnJlc3BvbmRzIHRvIGFuIEVzY2FwZSBzZXF1ZW5jZSB0aGF0IHRoZSB0ZXJtaW5hbCBjYXBhYmlsaXRpZXMgY29udGFpbnMuCisgKgorICogVG8gYXZvaWQgZGVwZW5kaW5nIG9uIG5jdXJzZXMgb3Igb3RoZXIgcGxhdGZvcm0tc3BlY2lmaWMgbGlicmFyaWVzLCB3ZSByZWx5CisgKiBvbiB0aGUgcHJlc2VuY2Ugb2YgdGhlIGBpbmZvY21wYCBleGVjdXRhYmxlIHRvIGRvIHRoZSBqb2IgZm9yIHVzIChmYWlsaW5nCisgKiBzaWxlbnRseSBpZiB0aGUgcHJvZ3JhbSBpcyBub3QgYXZhaWxhYmxlIG9yIHJlZnVzZWQgdG8gcnVuKS4KKyAqLworc3RydWN0IGVzY2FwZV9zZXF1ZW5jZV9lbnRyeSB7CisJc3RydWN0IGhhc2htYXBfZW50cnkgZW50cnk7CisJY2hhciBzZXF1ZW5jZVtGTEVYX0FSUkFZXTsKK307CisKK3N0YXRpYyBpbnQgc2VxdWVuY2VfZW50cnlfY21wKGNvbnN0IHZvaWQgKmhhc2htYXBfY21wX2ZuX2RhdGEsCisJCQkgICAgICBjb25zdCBzdHJ1Y3QgZXNjYXBlX3NlcXVlbmNlX2VudHJ5ICplMSwKKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBlc2NhcGVfc2VxdWVuY2VfZW50cnkgKmUyLAorCQkJICAgICAgY29uc3Qgdm9pZCAqa2V5ZGF0YSkKK3sKKwlyZXR1cm4gc3RyY21wKGUxLT5zZXF1ZW5jZSwga2V5ZGF0YSA/IGtleWRhdGEgOiBlMi0+c2VxdWVuY2UpOworfQorCitzdGF0aWMgaW50IGlzX2tub3duX2VzY2FwZV9zZXF1ZW5jZShjb25zdCBjaGFyICpzZXF1ZW5jZSkKK3sKKwlzdGF0aWMgc3RydWN0IGhhc2htYXAgc2VxdWVuY2VzOworCXN0YXRpYyBpbnQgaW5pdGlhbGl6ZWQ7CisKKwlpZiAoIWluaXRpYWxpemVkKSB7CisJCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOworCQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCQljaGFyICpwLCAqZW9sOworCisJCWhhc2htYXBfaW5pdCgmc2VxdWVuY2VzLCAoaGFzaG1hcF9jbXBfZm4pc2VxdWVuY2VfZW50cnlfY21wLAorCQkJICAgICBOVUxMLCAwKTsKKworCQlhcmd2X2FycmF5X3B1c2hsKCZjcC5hcmdzLCAiaW5mb2NtcCIsICItTCIsICItMSIsIE5VTEwpOworCQlpZiAocGlwZV9jb21tYW5kKCZjcCwgTlVMTCwgMCwgJmJ1ZiwgMCwgTlVMTCwgMCkpCisJCQlzdHJidWZfc2V0bGVuKCZidWYsIDApOworCisJCWZvciAoZW9sID0gcCA9IGJ1Zi5idWY7ICpwOyBwID0gZW9sICsgMSkgeworCQkJcCA9IHN0cmNocihwLCAnPScpOworCQkJaWYgKCFwKQorCQkJCWJyZWFrOworCQkJcCsrOworCQkJZW9sID0gc3RyY2hybnVsKHAsICdcbicpOworCisJCQlpZiAoc3RhcnRzX3dpdGgocCwgIlxcRSIpKSB7CisJCQkJY2hhciAqY29tbWEgPSBtZW1jaHIocCwgJywnLCBlb2wgLSBwKTsKKwkJCQlzdHJ1Y3QgZXNjYXBlX3NlcXVlbmNlX2VudHJ5ICplOworCisJCQkJcFswXSA9ICdeJzsKKwkJCQlwWzFdID0gJ1snOworCQkJCUZMRVhfQUxMT0NfTUVNKGUsIHNlcXVlbmNlLCBwLCBjb21tYSAtIHApOworCQkJCWhhc2htYXBfZW50cnlfaW5pdCgmZS0+ZW50cnksCisJCQkJCQkgICBzdHJoYXNoKGUtPnNlcXVlbmNlKSk7CisJCQkJaGFzaG1hcF9hZGQoJnNlcXVlbmNlcywgJmUtPmVudHJ5KTsKKwkJCX0KKwkJCWlmICghKmVvbCkKKwkJCQlicmVhazsKKwkJfQorCQlpbml0aWFsaXplZCA9IDE7CisJfQorCisJcmV0dXJuICEhaGFzaG1hcF9nZXRfZnJvbV9oYXNoKCZzZXF1ZW5jZXMsIHN0cmhhc2goc2VxdWVuY2UpLCBzZXF1ZW5jZSk7Cit9CisKK2ludCByZWFkX2tleV93aXRob3V0X2VjaG8oc3RydWN0IHN0cmJ1ZiAqYnVmKQoreworCXN0YXRpYyBpbnQgd2FybmluZ19kaXNwbGF5ZWQ7CisJaW50IGNoOworCisJaWYgKHdhcm5pbmdfZGlzcGxheWVkIHx8IGVuYWJsZV9ub25fY2Fub25pY2FsKCkgPCAwKSB7CisJCWlmICghd2FybmluZ19kaXNwbGF5ZWQpIHsKKwkJCXdhcm5pbmcoInJlYWRpbmcgc2luZ2xlIGtleXN0cm9rZXMgbm90IHN1cHBvcnRlZCBvbiAiCisJCQkJInRoaXMgcGxhdGZvcm07IHJlYWRpbmcgbGluZSBpbnN0ZWFkIik7CisJCQl3YXJuaW5nX2Rpc3BsYXllZCA9IDE7CisJCX0KKworCQlyZXR1cm4gc3RyYnVmX2dldGxpbmUoYnVmLCBzdGRpbik7CisJfQorCisJc3RyYnVmX3Jlc2V0KGJ1Zik7CisJY2ggPSBnZXRjaGFyKCk7CisJaWYgKGNoID09IEVPRikgeworCQlyZXN0b3JlX3Rlcm0oKTsKKwkJcmV0dXJuIEVPRjsKKwl9CisJc3RyYnVmX2FkZGNoKGJ1ZiwgY2gpOworCisJaWYgKGNoID09ICdcMDMzJyAvKiBFU0MgKi8pIHsKKwkJLyoKKwkJICogV2UgYXJlIG1vc3QgbGlrZWx5IGxvb2tpbmcgYXQgYW4gRXNjYXBlIHNlcXVlbmNlLiBMZXQncyB0cnkKKwkJICogdG8gcmVhZCBtb3JlIGJ5dGVzLCB3YWl0aW5nIGF0IG1vc3QgaGFsZiBhIHNlY29uZCwgYXNzdW1pbmcKKwkJICogdGhhdCB0aGUgc2VxdWVuY2UgaXMgY29tcGxldGUgaWYgd2UgZGlkIG5vdCByZWNlaXZlIGFueSBieXRlCisJCSAqIHdpdGhpbiB0aGF0IHRpbWUuCisJCSAqCisJCSAqIFN0YXJ0IGJ5IHJlcGxhY2luZyB0aGUgRXNjYXBlIGJ5dGUgd2l0aCBeWyAqLworCQlzdHJidWZfc3BsaWNlKGJ1ZiwgYnVmLT5sZW4gLSAxLCAxLCAiXlsiLCAyKTsKKworCQkvKgorCQkgKiBRdWVyeSB0aGUgdGVybWluYWwgY2FwYWJpbGl0aWVzIG9uY2UgYWJvdXQgYWxsIHRoZSBFc2NhcGUKKwkJICogc2VxdWVuY2VzIGl0IGtub3dzIGFib3V0LCBzbyB0aGF0IHdlIGNhbiBhdm9pZCB3YWl0aW5nIGZvcgorCQkgKiBoYWxmIGEgc2Vjb25kIHdoZW4gd2Uga25vdyB0aGF0IHRoZSBzZXF1ZW5jZSBpcyBjb21wbGV0ZS4KKwkJICovCisJCXdoaWxlICghaXNfa25vd25fZXNjYXBlX3NlcXVlbmNlKGJ1Zi0+YnVmKSkgeworCQkJc3RydWN0IHBvbGxmZCBwZmQgPSB7IC5mZCA9IDAsIC5ldmVudHMgPSBQT0xMSU4gfTsKKworCQkJaWYgKHBvbGwoJnBmZCwgMSwgNTAwKSA8IDEpCisJCQkJYnJlYWs7CisKKwkJCWNoID0gZ2V0Y2hhcigpOworCQkJaWYgKGNoID09IEVPRikKKwkJCQlyZXR1cm4gMDsKKwkJCXN0cmJ1Zl9hZGRjaChidWYsIGNoKTsKKwkJfQorCX0KKworCXJlc3RvcmVfdGVybSgpOworCXJldHVybiAwOworfQorCiAjZWxzZQogCiBjaGFyICpnaXRfdGVybWluYWxfcHJvbXB0KGNvbnN0IGNoYXIgKnByb21wdCwgaW50IGVjaG8pCkBAIC0xNDQsNCArMzY2LDIzIEBACiAJcmV0dXJuIGdldHBhc3MocHJvbXB0KTsKIH0KIAoraW50IHJlYWRfa2V5X3dpdGhvdXRfZWNobyhzdHJ1Y3Qgc3RyYnVmICpidWYpCit7CisJc3RhdGljIGludCB3YXJuaW5nX2Rpc3BsYXllZDsKKwljb25zdCBjaGFyICpyZXM7CisKKwlpZiAoIXdhcm5pbmdfZGlzcGxheWVkKSB7CisJCXdhcm5pbmcoInJlYWRpbmcgc2luZ2xlIGtleXN0cm9rZXMgbm90IHN1cHBvcnRlZCBvbiB0aGlzICIKKwkJCSJwbGF0Zm9ybTsgcmVhZGluZyBsaW5lIGluc3RlYWQiKTsKKwkJd2FybmluZ19kaXNwbGF5ZWQgPSAxOworCX0KKworCXJlcyA9IGdldHBhc3MoIiIpOworCXN0cmJ1Zl9yZXNldChidWYpOworCWlmICghcmVzKQorCQlyZXR1cm4gRU9GOworCXN0cmJ1Zl9hZGRzdHIoYnVmLCByZXMpOworCXJldHVybiAwOworfQorCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2NvbXBhdC90ZXJtaW5hbC5oIGIvY29tcGF0L3Rlcm1pbmFsLmgKaW5kZXggOTdkYjdjZC4uYTlkNTJiOCAxMDA2NDQKLS0tIGEvY29tcGF0L3Rlcm1pbmFsLmgKKysrIGIvY29tcGF0L3Rlcm1pbmFsLmgKQEAgLTMsNCArMyw3IEBACiAKIGNoYXIgKmdpdF90ZXJtaW5hbF9wcm9tcHQoY29uc3QgY2hhciAqcHJvbXB0LCBpbnQgZWNobyk7CiAKKy8qIFJlYWQgYSBzaW5nbGUga2V5c3Ryb2tlLCB3aXRob3V0IGVjaG9pbmcgaXQgdG8gdGhlIHRlcm1pbmFsICovCitpbnQgcmVhZF9rZXlfd2l0aG91dF9lY2hvKHN0cnVjdCBzdHJidWYgKmJ1Zik7CisKICNlbmRpZiAvKiBDT01QQVRfVEVSTUlOQUxfSCAqLwpkaWZmIC0tZ2l0IGEvY29tcGF0L3ZjYnVpbGQvLmdpdGlnbm9yZSBiL2NvbXBhdC92Y2J1aWxkLy5naXRpZ25vcmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGY4Yjc5NAotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBhdC92Y2J1aWxkLy5naXRpZ25vcmUKQEAgLTAsMCArMSwzIEBACisvdmNwa2cvCisvTVNWQy1ERUZTLUdFTgorL1ZDUEtHLURFRlMKZGlmZiAtLWdpdCBhL2NvbXBhdC92Y2J1aWxkL1JFQURNRSBiL2NvbXBhdC92Y2J1aWxkL1JFQURNRQppbmRleCA2MGZkODczLi4xYjZkYWJmIDEwMDY0NAotLS0gYS9jb21wYXQvdmNidWlsZC9SRUFETUUKKysrIGIvY29tcGF0L3ZjYnVpbGQvUkVBRE1FCkBAIC0xLDMgKzEsNjUgQEAKK1RoZSBTdGVwcyB0byBCdWlsZCBHaXQgd2l0aCBWUzIwMTUgb3IgVlMyMDE3IGZyb20gdGhlIGNvbW1hbmQgbGluZS4KKworMS4gSW5zdGFsbCB0aGUgInZjcGtnIiBvcGVuIHNvdXJjZSBwYWNrYWdlIG1hbmFnZXIgYW5kIGJ1aWxkIGVzc2VudGlhbAorICAgdGhpcmQtcGFydHkgbGlicmFyaWVzLiAgVGhlIHN0ZXBzIGZvciB0aGlzIGhhdmUgYmVlbiBjYXB0dXJlZCBpbiBhCisgICBzZXQgb2YgY29udmVuaWVuY2Ugc2NyaXB0cy4gIFRoZXNlIGNhbiBiZSBydW4gZnJvbSBhIHN0b2NrIENvbW1hbmQKKyAgIFByb21wdCBvciBmcm9tIGFuIFNESyBiYXNoIHdpbmRvdzoKKworICAgJCBjZCA8cmVwb19yb290PgorICAgJCAuL2NvbXBhdC92Y2J1aWxkL3ZjcGtnX2luc3RhbGwuYmF0CisKKyAgIFRoZSB2Y3BrZyB0b29scyBhbmQgYWxsIG9mIHRoZSB0aGlyZC1wYXJ0eSBzb3VyY2VzIHdpbGwgYmUgaW5zdGFsbGVkCisgICBpbiB0aGlzIGZvbGRlcjoKKyAgICAgIDxyZXBvX3Jvb3Q+L2NvbXBhdC92Y2J1aWxkL3ZjcGtnLworCisgICBBIGZpbGUgd2lsbCBiZSBjcmVhdGVkIHdpdGggYSBzZXQgb2YgTWFrZWZpbGUgbWFjcm9zIHBvaW50aW5nIHRvIGEKKyAgIHVuaWZpZWQgImluY2x1ZGUiLCAibGliIiwgYW5kICJiaW4iIGRpcmVjdG9yeSAocmVsZWFzZSBhbmQgZGVidWcpIGZvcgorICAgYWxsIG9mIHRoZSByZXF1aXJlZCBwYWNrYWdlcy4gIFRoaXMgZmlsZSB3aWxsIGJlIGluY2x1ZGVkIGJ5IHRoZSBtYWluCisgICBNYWtlZmlsZToKKyAgICAgIDxyZXBvX3Jvb3Q+L2NvbXBhdC92Y2J1aWxkL01TVkMtREVGUy1HRU4KKworMi4gT1BUSU9OQUxMWSBjb3B5IHRoZSB0aGlyZC1wYXJ0eSAqLmRsbCBhbmQgKi5wZGIgZmlsZXMgaW50byB0aGUgcmVwbworICAgcm9vdCB0byBtYWtlIGl0IGVhc2llciB0byBydW4gYW5kIGRlYnVnIGdpdC5leGUgd2l0aG91dCBoYXZpbmcgdG8KKyAgIG1hbmlwdWxhdGUgeW91ciBQQVRILiAgVGhpcyBpcyBlc3BlY2lhbGx5IHRydWUgZm9yIGRlYnVnIHNlc3Npb25zIGluCisgICBWaXN1YWwgU3R1ZGlvLgorCisgICBVc2UgT05FIG9mIHRoZSBmb2xsb3dpbmcgZm9ybXMgd2hpY2ggc2hvdWxkIG1hdGNoIGhvdyB5b3Ugd2FudCB0bworICAgY29tcGlsZSBnaXQuZXhlLgorCisgICAkIC4vY29tcGF0L3ZjYnVpbGQvdmNwa2dfY29weV9wYWNrYWdlcy5iYXQgZGVidWcKKyAgICQgLi9jb21wYXQvdmNidWlsZC92Y3BrZ19jb3B5X3BhY2thZ2VzLmJhdCByZWxlYXNlCisKKzMuIEJ1aWxkIGdpdCB1c2luZyBNU1ZDIGZyb20gYW4gU0RLIGJhc2ggd2luZG93IHVzaW5nIG9uZSBvZiB0aGUKKyAgIGZvbGxvd2luZyBjb21tYW5kczoKKworICAgJCBtYWtlIE1TVkM9MQorICAgJCBtYWtlIE1TVkM9MSBERUJVRz0xCisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworQWx0ZXJuYXRpdmVseSwgcnVuIGBtYWtlIHZjeHByb2pgIGFuZCB0aGVuIGxvYWQgdGhlIGdlbmVyYXRlZCBgZ2l0LnNsbmAgaW4KK1Zpc3VhbCBTdHVkaW8uIFRoZSBpbml0aWFsIGJ1aWxkIHdpbGwgaW5zdGFsbCB0aGUgdmNwa2cgc3lzdGVtIGFuZCBidWlsZCB0aGUKK2RlcGVuZGVuY2llcyBhdXRvbWF0aWNhbGx5LiBUaGlzIHdpbGwgdGFrZSBhIHdoaWxlLgorCitJbnN0ZWFkIG9mIGdlbmVyYXRpbmcgdGhlIGBnaXQuc2xuYCBmaWxlIHlvdXJzZWxmICh3aGljaCByZXF1aXJlcyBhIGZ1bGwgR2l0Citmb3IgV2luZG93cyBTREspLCB5b3UgbWF5IHdhbnQgdG8gY29uc2lkZXIgZmV0Y2hpbmcgdGhlIGB2cy9tYXN0ZXJgIGJyYW5jaCBvZgoraHR0cHM6Ly9naXRodWIuY29tL2dpdC1mb3Itd2luZG93cy9naXQgaW5zdGVhZCAod2hpY2ggaXMgdXBkYXRlZCBhdXRvbWF0aWNhbGx5Cit2aWEgQ0kgcnVubmluZyBgbWFrZSB2Y3hwcm9qYCkuIFRoZSBgdnMvbWFzdGVyYCBicmFuY2ggZG9lcyBub3QgcmVxdWlyZSBhIEdpdAorZm9yIFdpbmRvd3MgdG8gYnVpbGQsIGJ1dCB5b3UgY2FuIHJ1biB0aGUgdGVzdCBzY3JpcHRzIGluIGEgcmVndWxhciBHaXQgQmFzaC4KKworTm90ZSB0aGF0IGBtYWtlIHZjeHByb2pgIHdpbGwgYXV0b21hdGljYWxseSBhZGQgYW5kIGNvbW1pdCB0aGUgZ2VuZXJhdGVkIGAuc2xuYAorYW5kIGAudmN4cHJvamAgZmlsZXMgdG8gdGhlIHJlcG8uIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGFsbG93IGJ1aWxkaW5nIGEKK2Z1bGx5LXRlc3RhYmxlIEdpdCBpbiBWaXN1YWwgU3R1ZGlvLCB3aGVyZSBhIHJlZ3VsYXIgR2l0IEJhc2ggY2FuIGJlIHVzZWQgdG8KK3J1biB0aGUgdGVzdCBzY3JpcHRzIChhcyBvcHBvc2VkIHRvIGEgZnVsbCBHaXQgZm9yIFdpbmRvd3MgU0RLKTogYSBudW1iZXIgb2YKK2J1aWxkIHRhcmdldHMsIHN1Y2ggYXMgR2l0IGNvbW1hbmRzIGltcGxlbWVudGVkIGFzIFVuaXggc2hlbGwgc2NyaXB0cyAod2hlcmUKK2BAQFNIRUxMX1BBVEhAQGAgYW5kIG90aGVyIHBsYWNlaG9sZGVycyBhcmUgaW50ZXJwb2xhdGVkKSByZXF1aXJlIGEgZnVsbC1ibG93bgorR2l0IGZvciBXaW5kb3dzIFNESyAod2hpY2ggaXMgYWJvdXQgMTB4IHRoZSBzaXplIG9mIGEgcmVndWxhciBHaXQgZm9yIFdpbmRvd3MKK2luc3RhbGxhdGlvbikuCisKK0lmIHlvdXIgcGxhbiBpcyB0byBvcGVuIGEgUHVsbCBSZXF1ZXN0IHdpdGggR2l0IGZvciBXaW5kb3dzLCBpdCBpcyBhIGdvb2QgaWRlYQordG8gZHJvcCB0aGlzIGNvbW1pdCBiZWZvcmUgc3VibWl0dGluZy4KKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogVGhlIFN0ZXBzIG9mIEJ1aWxkIEdpdCB3aXRoIFZTMjAwOAogCiAxLiBZb3UgbmVlZCB0aGUgYnVpbGQgZW52aXJvbm1lbnQsIHdoaWNoIGNvbnRhaW5zIHRoZSBHaXQgZGVwZW5kZW5jaWVzCmRpZmYgLS1naXQgYS9jb21wYXQvdmNidWlsZC9maW5kX3ZzX2Vudi5iYXQgYi9jb21wYXQvdmNidWlsZC9maW5kX3ZzX2Vudi5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjM1ZDI2NAotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBhdC92Y2J1aWxkL2ZpbmRfdnNfZW52LmJhdApAQCAtMCwwICsxLDE2OCBAQAorQEVDSE8gT0ZGCitSRU0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorUkVNIFlvdSBjYW4gdXNlIGVpdGhlciBHQ0MgKHRoZSBkZWZhdWx0KSBvciBNU1ZDIHRvIGJ1aWxkIGdpdAorUkVNIHVzaW5nIHRoZSBHSVQtU0RLIGNvbW1hbmQgbGluZSB0b29scy4KK1JFTSAgICAgICAgJCBtYWtlCitSRU0gICAgICAgICQgbWFrZSBNU1ZDPTEKK1JFTQorUkVNIEdJVC1TREsgQkFTSCB3aW5kb3dzIGluaGVyaXQgZW52aXJvbm1lbnQgdmFyaWFibGVzIHdpdGggYWxsIG9mCitSRU0gdGhlIGJpbi9saWIvaW5jbHVkZSBwYXRocyBmb3IgR0NDLiAgSXQgRE9FUyBOT1QgaW5oZXJpdCB2YWx1ZXMKK1JFTSBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgTVNWQyB0b29scy4KK1JFTQorUkVNIER1cmluZyBub3JtYWwgKG5vbi1naXQpIFdpbmRvd3MgZGV2ZWxvcG1lbnQsIHlvdSBsYXVuY2ggb25lCitSRU0gb2YgdGhlIHByb3ZpZGVkICJkZXZlbG9wZXIgY29tbWFuZCBwcm9tcHRzIiB0byBzZXQgZW52aXJvbm1lbnQKK1JFTSB2YXJpYWJsZXMgZm9yIHRoZSBNU1ZDIHRvb2xzLgorUkVNCitSRU0gVGhlcmVmb3JlLCB0byBhbGxvdyBNU1ZDIGNvbW1hbmQgbGluZSBidWlsZHMgb2YgZ2l0IGZyb20gQkFTSAorUkVNIGFuZCBNQUtFLCB3ZSBtdXN0IGJsZW5kIHRoZXNlIHR3byBkaWZmZXJlbnQgd29ybGRzLiAgVGhpcyBzY3JpcHQKK1JFTSBhdHRlbXB0cyB0byBkbyB0aGF0LgorUkVNID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1JFTSBUaGlzIEJBVCBmaWxlIHN0YXJ0cyBpbiBhIHBsYWluIChub24tZGV2ZWxvcGVyKSBjb21tYW5kIHByb21wdCwKK1JFTSBzZWFyY2hlcyBmb3IgdGhlICJiZXN0IiBjb21tYW5kIHByb21wdCBzZXR1cCBzY3JpcHQsIGluc3RhbGxzCitSRU0gaXQgaW50byB0aGUgY3VycmVudCBDTUQgcHJvY2VzcywgYW5kIGV4cG9ydHMgdGhlIHZhcmlvdXMgTVNWQworUkVNIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgdXNlIGJ5IE1BS0UuCitSRU0KK1JFTSBUaGUgb3V0cHV0IG9mIHRoaXMgc2NyaXB0IHNob3VsZCBiZSB3cml0dGVuIHRvIGEgbWFrZSAiaW5jbHVkZQorUkVNIGZpbGUiIGFuZCByZWZlcmVuY2VkIGJ5IHRoZSB0b3AtbGV2ZWwgTWFrZWZpbGUuCitSRU0KK1JFTSBTZWUgImNvbmZpZy5tYWsudW5hbWUiIChsb29rIGZvciBjb21wYXQvdmNidWlsZC9NU1ZDLURFRlMtR0VOKS4KK1JFTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitSRU0gVGhlIHByb3ZpZGVkIGNvbW1hbmQgcHJvbXB0cyBhcmUgY3VzdG9tIHRvIGVhY2ggVlMgcmVsZWFzZSBhbmQKK1JFTSBmaWxsZWQgd2l0aCBsb3RzIG9mIGludGVybmFsIGtub3dsZWRnZSAoc3VjaCBhcyBSZWdpc3RyeSBzZXR0aW5ncyk7CitSRU0gZXZlbiB0aGVpciBuYW1lcyB2YXJ5IGJ5IHJlbGVhc2UsIHNvIGl0IGlzIG5vdCBhcHByb3ByaWF0ZSBmb3IgdXMKK1JFTSB0byBsb29rIGluc2lkZSB0aGVtLiAgUmF0aGVyLCBqdXN0IHJ1biB0aGVtIGluIGEgc3Vib3JkaW5hdGUKK1JFTSBwcm9jZXNzIGFuZCBleHRyYWN0IHRoZSBzZXR0aW5ncyB3ZSBuZWVkLgorUkVNID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1JFTQorUkVNIEN1cnJlbnQgKFZTMjAxNyBhbmQgYmV5b25kKQorUkVNIC0tLS0tLS0tLS0tLS0tLS0tLS0KK1JFTSBWaXN1YWwgU3R1ZGlvIDIwMTcgaW50cm9kdWNlZCBhIG5ldyBpbnN0YWxsYXRpb24gbGF5b3V0IGFuZAorUkVNIHN1cHBvcnQgZm9yIHNpZGUtYnktc2lkZSBpbnN0YWxsYXRpb24gb2YgbXVsdGlwbGUgdmVyc2lvbnMgb2YKK1JFTSBWUzIwMTcuICBGdXJ0aGVybW9yZSwgdGhlc2UgY2FuIGFsbCBjb2V4aXN0IHdpdGggaW5zdGFsbGF0aW9ucworUkVNIG9mIHByZXZpb3VzIHZlcnNpb25zIG9mIFZTICh3aGljaCBoYXZlIGEgY29tcGxldGVseSBkaWZmZXJlbnQKK1JFTSBsYXlvdXQgb24gZGlzaykuCitSRU0KK1JFTSBWUzIwMTcgVXBkYXRlIDIgaW50cm9kdWNlZCBhICJ2c3doZXJlLmV4ZSIgY29tbWFuZDoKK1JFTSBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L3Zzd2hlcmUKK1JFTSBodHRwczovL2Jsb2dzLm1zZG4ubWljcm9zb2Z0LmNvbS9oZWF0aHMvMjAxNy8wMi8yNS92c3doZXJlLWF2YWlsYWJsZS8KK1JFTSBodHRwczovL2Jsb2dzLm1zZG4ubWljcm9zb2Z0LmNvbS92Y2Jsb2cvMjAxNy8wMy8wNi9maW5kaW5nLXRoZS12aXN1YWwtYy1jb21waWxlci10b29scy1pbi12aXN1YWwtc3R1ZGlvLTIwMTcvCitSRU0KK1JFTSBWUzIwMTUKK1JFTSAtLS0tLS0KK1JFTSBWaXN1YWwgU3R1ZGlvIDIwMTUgdXNlcyB0aGUgdHJhZGl0aW9uYWwgVmNWYXJzQWxsLgorUkVNCitSRU0gRWFybGllciBWZXJzaW9ucworUkVNIC0tLS0tLS0tLS0tLS0tLS0KK1JFTSBDdXJyZW50bHkgdW5zdXBwb3J0ZWQuCitSRU0KK1JFTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitSRU0gTm90ZTogVGhyb3VnaG91dCB0aGlzIHNjcmlwdCB3ZSB1c2UgImRpciA8cGF0aD4gJiYgPGNtZD4iIHJhdGhlcgorUkVNIHRoYW4gImlmIGV4aXN0IDxwYXRoPiIgYmVjYXVzZSBvZiBzY3JpcHQgcHJvYmxlbXMgd2l0aCBwYXRobmFtZXMKK1JFTSBjb250YWluaW5nIHNwYWNlcy4KK1JFTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1JFTSBTYW5pdGl6ZSBQQVRIIHRvIHByZXZlbnQgZ2l0LXNkayBwYXRocyBmcm9tIGNvbmZ1c2luZyAid21pYy5leGUiCitSRU0gKGNhbGxlZCBpbnRlcm5hbGx5IGluIHNvbWUgb2YgdGhlIHN5c3RlbSBCQVQgZmlsZXMpLgorU0VUIFBBVEg9JVN5c3RlbVJvb3QlXHN5c3RlbTMyOyVTeXN0ZW1Sb290JTslU3lzdGVtUm9vdCVcU3lzdGVtMzJcV2JlbTsKKworUkVNID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworOmN1cnJlbnQKKyAgIFNFVCB2c193aGVyZT1DOlxQcm9ncmFtIEZpbGVzICh4ODYpXE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvXEluc3RhbGxlclx2c3doZXJlLmV4ZQorICAgZGlyICIldnNfd2hlcmUlIiA+bnVsIDI+bnVsICYmIEdPVE8gaGF2ZV92c193aGVyZQorICAgR09UTyBub3RfMjAxNworCis6aGF2ZV92c193aGVyZQorICAgUkVNIFRyeSB0byB1c2UgVnNXaGVyZSB0byBnZXQgdGhlIGxvY2F0aW9uIG9mIFZzRGV2Q21kLgorCisgICBSRU0gS2VlcCBWc0RldkNtZCBmcm9tIGNkJ2luZyBhd2F5LgorICAgU0VUIFZTQ01EX1NUQVJUX0RJUj0uCisKKyAgIFJFTSBHZXQgdGhlIHJvb3Qgb2YgdGhlIFZTIHByb2R1Y3QgaW5zdGFsbGF0aW9uLgorICAgRk9SIC9GICJ1c2ViYWNrcSB0b2tlbnM9KiIgJSVpIElOIChgIiV2c193aGVyZSUiIC1sYXRlc3QgLXJlcXVpcmVzIE1pY3Jvc29mdC5WaXN1YWxTdHVkaW8uV29ya2xvYWQuTmF0aXZlRGVza3RvcCAtcHJvcGVydHkgaW5zdGFsbGF0aW9uUGF0aGApIERPIEBTRVQgdnNfaXA9JSVpCisKKyAgIFNFVCB2c19kZXZjbWQ9JXZzX2lwJVxDb21tb243XFRvb2xzXFZzRGV2Q21kLmJhdAorICAgZGlyICIldnNfZGV2Y21kJSIgPm51bCAyPm51bCAmJiBHT1RPIGhhdmVfdnNfZGV2Y21kCisgICBHT1RPIG5vdF8yMDE3CisKKzpoYXZlX3ZzX2RldmNtZAorICAgUkVNIFVzZSBWc0RldkNtZCB0byBzZXR1cCB0aGUgZW52aXJvbm1lbnQgb2YgdGhpcyBwcm9jZXNzLgorICAgUkVNIFNldHVwIENMIGZvciBidWlsZGluZyA2NC1iaXQgYXBwcyB1c2luZyA2NC1iaXQgdG9vbHMuCisgICBAY2FsbCAiJXZzX2RldmNtZCUiIC1ub19sb2dvIC1hcmNoPXg2NCAtaG9zdF9hcmNoPXg2NAorCisgICBTRVQgdGd0PSVWU0NNRF9BUkdfVEdUX0FSQ0glCisKKyAgIFNFVCBtbj0lVkNUb29sc0luc3RhbGxEaXIlCisgICBTRVQgbXN2Y19pbmNsdWRlcz0tSSIlbW4lSU5DTFVERSIKKyAgIFNFVCBtc3ZjX2xpYnM9LUwiJW1uJWxpYlwldGd0JSIKKyAgIFNFVCBtc3ZjX2Jpbl9kaXI9JW1uJWJpblxIb3N0JVZTQ01EX0FSR19IT1NUX0FSQ0glXCV0Z3QlCisKKyAgIFNFVCBzZGtfZGlyPSVXaW5kb3dzU2RrRGlyJQorICAgU0VUIHNka192ZXI9JVdpbmRvd3NTREtWZXJzaW9uJQorICAgU0VUIHNpPSVzZGtfZGlyJUluY2x1ZGVcJXNka192ZXIlCisgICBTRVQgc2RrX2luY2x1ZGVzPS1JIiVzaSV1Y3J0IiAtSSIlc2kldW0iIC1JIiVzaSVzaGFyZWQiCisgICBTRVQgc2w9JXNka19kaXIlbGliXCVzZGtfdmVyJQorICAgU0VUIHNka19saWJzPS1MIiVzbCV1Y3J0XCV0Z3QlIiAtTCIlc2wldW1cJXRndCUiCisKKyAgIFNFVCB2c192ZXI9JVZpc3VhbFN0dWRpb1ZlcnNpb24lCisKKyAgIEdPVE8gcHJpbnRfdmFycworCitSRU0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCis6bm90XzIwMTcKKyAgIFJFTSBTZWUgaWYgVlMyMDE1IGlzIGluc3RhbGxlZC4KKworICAgU0VUIHZzXzIwMTVfYmF0PUM6XFByb2dyYW0gRmlsZXMgKHg4NilcTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gMTQuMFxWQ1x2Y3ZhcnNhbGwuYmF0CisgICBkaXIgIiV2c18yMDE1X2JhdCUiID5udWwgMj5udWwgJiYgR09UTyBoYXZlX3ZzXzIwMTUKKyAgIEdPVE8gbm90XzIwMTUKKworOmhhdmVfdnNfMjAxNQorICAgUkVNIFVzZSBWY1ZhcnNBbGwgbGlrZSB0aGUgIng2NCBOYXRpdmUiIGNvbW1hbmQgcHJvbXB0LgorICAgUkVNIFNldHVwIENMIGZvciBidWlsZGluZyA2NC1iaXQgYXBwcyB1c2luZyA2NC1iaXQgdG9vbHMuCisgICBAY2FsbCAiJXZzXzIwMTVfYmF0JSIgYW1kNjQKKworICAgUkVNIE5vdGUgdGhhdCBpbiBWUzIwMTUgdGhleSB1c2UgIng2NCIgaW4gc29tZSBjb250ZXh0cyBhbmQgImFtZDY0IiBpbiBvdGhlcnMuCisgICBTRVQgbW49QzpcUHJvZ3JhbSBGaWxlcyAoeDg2KVxNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAxNC4wXFZDXAorICAgU0VUIG1zdmNfaW5jbHVkZXM9LUkiJW1uJUlOQ0xVREUiCisgICBTRVQgbXN2Y19saWJzPS1MIiVtbiVsaWJcYW1kNjQiCisgICBTRVQgbXN2Y19iaW5fZGlyPSVtbiViaW5cYW1kNjQKKworICAgU0VUIHNka19kaXI9JVdpbmRvd3NTZGtEaXIlCisgICBTRVQgc2RrX3Zlcj0lV2luZG93c1NES1ZlcnNpb24lCisgICBTRVQgc2k9JXNka19kaXIlSW5jbHVkZVwlc2RrX3ZlciUKKyAgIFNFVCBzZGtfaW5jbHVkZXM9LUkiJXNpJXVjcnQiIC1JIiVzaSV1bSIgLUkiJXNpJXNoYXJlZCIgLUkiJXNpJXdpbnJ0IgorICAgU0VUIHNsPSVzZGtfZGlyJWxpYlwlc2RrX3ZlciUKKyAgIFNFVCBzZGtfbGlicz0tTCIlc2wldWNydFx4NjQiIC1MIiVzbCV1bVx4NjQiCisKKyAgIFNFVCB2c192ZXI9JVZpc3VhbFN0dWRpb1ZlcnNpb24lCisKKyAgIEdPVE8gcHJpbnRfdmFycworCitSRU0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCis6bm90XzIwMTUKKyAgIGVjaG8gIkVSUk9SOiB1bnN1cHBvcnRlZCBWUyB2ZXJzaW9uIChvbGRlciB0aGFuIFZTMjAxNSkiID4mMgorICAgRVhJVCAvQiAxCisKK1JFTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKzpwcmludF92YXJzCisgICBSRU0gRHVtcCB0aGUgZXNzZW50aWFsIHZhcnMgdG8gc3Rkb3V0IHRvIGFsbG93IHRoZSBtYWluCisgICBSRU0gTWFrZWZpbGUgdG8gaW5jbHVkZSBpdC4gIFNlZSBjb25maWcubWFrLnVuYW1lLgorICAgUkVNIEluY2x1ZGUgRE9TLXN0eWxlIGFuZCBCQVNILXN0eWxlIHBhdGggZm9yIGJpbiBkaXIuCisKKyAgIGVjaG8gbXN2Y19iaW5fZGlyPSVtc3ZjX2Jpbl9kaXIlCisgICBTRVQgWDE9JW1zdmNfYmluX2RpcjpDOj0vQyUKKyAgIFNFVCBYMj0lWDE6XD0vJQorICAgZWNobyBtc3ZjX2Jpbl9kaXJfbXN5cz0lWDIlCisKKyAgIGVjaG8gbXN2Y19pbmNsdWRlcz0lbXN2Y19pbmNsdWRlcyUKKyAgIGVjaG8gbXN2Y19saWJzPSVtc3ZjX2xpYnMlCisKKyAgIGVjaG8gc2RrX2luY2x1ZGVzPSVzZGtfaW5jbHVkZXMlCisgICBlY2hvIHNka19saWJzPSVzZGtfbGlicyUKKworICAgZWNobyB2c192ZXI9JXZzX3ZlciUKKworICAgRVhJVCAvQiAwCmRpZmYgLS1naXQgYS9jb21wYXQvdmNidWlsZC9zY3JpcHRzL2NsaW5rLnBsIGIvY29tcGF0L3ZjYnVpbGQvc2NyaXB0cy9jbGluay5wbAppbmRleCBhODdkMGRhLi5kOWY3MWI3IDEwMDc1NQotLS0gYS9jb21wYXQvdmNidWlsZC9zY3JpcHRzL2NsaW5rLnBsCisrKyBiL2NvbXBhdC92Y2J1aWxkL3NjcmlwdHMvY2xpbmsucGwKQEAgLTEyLDQzICsxMiwxMjAgQEAKIHVzZSBzdHJpY3Q7CiBteSBAYXJncyA9ICgpOwogbXkgQGNmbGFncyA9ICgpOworbXkgQGxmbGFncyA9ICgpOwogbXkgJGlzX2xpbmtpbmcgPSAwOworbXkgJGlzX2RlYnVnID0gMDsKIHdoaWxlIChAQVJHVikgewogCW15ICRhcmcgPSBzaGlmdCBAQVJHVjsKLQlpZiAoIiRhcmciID1+IC9eLVtESU1HT10vKSB7CisJaWYgKCIkYXJnIiBlcSAiLURERUJVRyIpIHsKKwkgICAgIyBTb21lIHZjcGtnLWJhc2VkIGxpYnJhcmllcyBoYXZlIGRpZmZlcmVudCBuYW1lcyBmb3IgcmVsZWFzZQorCSAgICAjIGFuZCBkZWJ1ZyB2ZXJzaW9ucy4gIFRoaXMgaGFjayBhc3N1bWVzIHRoYXQgLURERUJVRyBjb21lcworCSAgICAjIGJlZm9yZSBhbnkgIi1sKiIgZmxhZ3MuCisJICAgICRpc19kZWJ1ZyA9IDE7CisJfQorCWlmICgiJGFyZyIgPX4gL14tW0RJTUdPWl0vKSB7CiAJCXB1c2goQGNmbGFncywgJGFyZyk7CiAJfSBlbHNpZiAoIiRhcmciIGVxICItbyIpIHsKIAkJbXkgJGZpbGVfb3V0ID0gc2hpZnQgQEFSR1Y7CiAJCWlmICgiJGZpbGVfb3V0IiA9fiAvZXhlJC8pIHsKIAkJCSRpc19saW5raW5nID0gMTsKKwkJCSMgQ3JlYXRlIGZvby5leGUgYW5kIGZvby5wZGIKIAkJCXB1c2goQGFyZ3MsICItT1VUOiRmaWxlX291dCIpOwogCQl9IGVsc2UgeworCQkJIyBDcmVhdGUgZm9vLm8gYW5kIGZvby5vLnBkYgogCQkJcHVzaChAYXJncywgIi1GbyRmaWxlX291dCIpOworCQkJcHVzaChAYXJncywgIi1GZCRmaWxlX291dC5wZGIiKTsKIAkJfQogCX0gZWxzaWYgKCIkYXJnIiBlcSAiLWx6IikgeworCSAgICBpZiAoJGlzX2RlYnVnKSB7CisJCXB1c2goQGFyZ3MsICJ6bGliZC5saWIiKTsKKwkgICAgfSBlbHNlewogCQlwdXNoKEBhcmdzLCAiemxpYi5saWIiKTsKKwkgICAgfQogCX0gZWxzaWYgKCIkYXJnIiBlcSAiLWxpY29udiIpIHsKLQkJcHVzaChAYXJncywgImljb252LmxpYiIpOworCQlwdXNoKEBhcmdzLCAibGliaWNvbnYubGliIik7CiAJfSBlbHNpZiAoIiRhcmciIGVxICItbGNyeXB0byIpIHsKLQkJcHVzaChAYXJncywgImxpYmVheTMyLmxpYiIpOworCQlwdXNoKEBhcmdzLCAibGliY3J5cHRvLmxpYiIpOwogCX0gZWxzaWYgKCIkYXJnIiBlcSAiLWxzc2wiKSB7Ci0JCXB1c2goQGFyZ3MsICJzc2xlYXkzMi5saWIiKTsKKwkJcHVzaChAYXJncywgImxpYnNzbC5saWIiKTsKIAl9IGVsc2lmICgiJGFyZyIgZXEgIi1sY3VybCIpIHsKLQkJcHVzaChAYXJncywgImxpYmN1cmwubGliIik7CisJCW15ICRsaWIgPSAiIjsKKwkJIyBOZXdlciB2Y3BrZyBkZWZpbml0aW9ucyBjYWxsIHRoaXMgbGliY3VybF9pbXAubGliOyBEbyB3ZQorCQkjIG5lZWQgdG8gdXNlIHRoYXQgaW5zdGVhZD8KKwkJZm9yZWFjaCBteSAkZmxhZyAoQGxmbGFncykgeworCQkJaWYgKCRmbGFnID1+IC9eLUxJQlBBVEg6KC4qKS8pIHsKKwkJCQlmb3JlYWNoIG15ICRsICgibGliY3VybF9pbXAubGliIiwgImxpYmN1cmwubGliIikgeworCQkJCQlpZiAoLWYgIiQxLyRsIikgeworCQkJCQkJJGxpYiA9ICRsOworCQkJCQkJbGFzdDsKKwkJCQkJfQorCQkJCX0KKwkJCX0KKwkJfQorCQlwdXNoKEBhcmdzLCAkbGliKTsKKwl9IGVsc2lmICgiJGFyZyIgZXEgIi1sZXhwYXQiKSB7CisJCXB1c2goQGFyZ3MsICJleHBhdC5saWIiKTsKIAl9IGVsc2lmICgiJGFyZyIgPX4gL14tTC8gJiYgIiRhcmciIG5lICItTFRDRyIpIHsKIAkJJGFyZyA9fiBzL14tTC8tTElCUEFUSDovOwotCQlwdXNoKEBhcmdzLCAkYXJnKTsKLQl9IGVsc2lmICgiJGFyZyIgPX4gL14tUi8pIHsKKwkJcHVzaChAbGZsYWdzLCAkYXJnKTsKKwl9IGVsc2lmICgiJGFyZyIgPX4gL14tW1JsXS8pIHsKIAkJIyBlYXQKKwl9IGVsc2lmICgiJGFyZyIgZXEgIi1XZXJyb3IiKSB7CisJCXB1c2goQGNmbGFncywgIi1XWCIpOworCX0gZWxzaWYgKCIkYXJnIiBlcSAiLVdhbGwiKSB7CisJCSMgY2wuZXhlIHVuZGVyc3RhbmRzIC1XYWxsLCBidXQgaXQgaXMgcmVhbGx5IG92ZXJ6ZWFsb3VzCisJCXB1c2goQGNmbGFncywgIi1XNCIpOworCQkjIGRpc2FibGUgdGhlICJzaWduZWQvdW5zaWduZWQgbWlzbWF0Y2giIHdhcm5pbmdzOyBvdXIgc291cmNlIGNvZGUgdmlvbGF0ZXMgdGhhdAorCQlwdXNoKEBjZmxhZ3MsICItd2Q0MDE4Iik7CisJCXB1c2goQGNmbGFncywgIi13ZDQyNDUiKTsKKwkJcHVzaChAY2ZsYWdzLCAiLXdkNDM4OSIpOworCQkjIGRpc2FibGUgdGhlICJ1bnJlZmVyZW5jZWQgZm9ybWFsIHBhcmFtZXRlciIgd2FybmluZzsgb3VyIHNvdXJjZSBjb2RlIHZpb2xhdGVzIHRoYXQKKwkJcHVzaChAY2ZsYWdzLCAiLXdkNDEwMCIpOworCQkjIGRpc2FibGUgdGhlICJjb25kaXRpb25hbCBleHByZXNzaW9uIGlzIGNvbnN0YW50IiB3YXJuaW5nOyBvdXIgc291cmNlIGNvZGUgdmlvbGF0ZXMgdGhhdAorCQlwdXNoKEBjZmxhZ3MsICItd2Q0MTI3Iik7CisJCSMgZGlzYWJsZSB0aGUgImNvbnN0IG9iamVjdCBzaG91bGQgYmUgaW5pdGlhbGl6ZWQiIHdhcm5pbmc7IHRoZXNlIHdhcm5pbmdzIGFmZmVjdCBvbmx5IG9iamVjdHMgdGhhdCBhcmUgYHN0YXRpY2AKKwkJcHVzaChAY2ZsYWdzLCAiLXdkNDEzMiIpOworCQkjIGRpc2FibGUgdGhlICJmdW5jdGlvbi9kYXRhIHBvaW50ZXIgY29udmVyc2lvbiBpbiBleHByZXNzaW9uIiB3YXJuaW5nOyBvdXIgc291cmNlIGNvZGUgdmlvbGF0ZXMgdGhhdAorCQlwdXNoKEBjZmxhZ3MsICItd2Q0MTUyIik7CisJCSMgZGlzYWJsZSB0aGUgIm5vbi1jb25zdGFudCBhZ2dyZWdhdGUgaW5pdGlhbGl6ZXIiIHdhcm5pbmc7IG91ciBzb3VyY2UgY29kZSB2aW9sYXRlcyB0aGF0CisJCXB1c2goQGNmbGFncywgIi13ZDQyMDQiKTsKKwkJIyBkaXNhYmxlIHRoZSAiY2Fubm90IGJlIGluaXRpYWxpemVkIHVzaW5nIGFkZHJlc3Mgb2YgYXV0b21hdGljIHZhcmlhYmxlIiB3YXJuaW5nOyBvdXIgc291cmNlIGNvZGUgdmlvbGF0ZXMgdGhhdAorCQlwdXNoKEBjZmxhZ3MsICItd2Q0MjIxIik7CisJCSMgZGlzYWJsZSB0aGUgInBvc3NpYmxlIGxvc3Mgb2YgZGF0YSIgd2FybmluZ3M7IG91ciBzb3VyY2UgY29kZSB2aW9sYXRlcyB0aGF0CisJCXB1c2goQGNmbGFncywgIi13ZDQyNDQiKTsKKwkJcHVzaChAY2ZsYWdzLCAiLXdkNDI2NyIpOworCQkjIGRpc2FibGUgdGhlICJhcnJheSBpcyB0b28gc21hbGwgdG8gaW5jbHVkZSBhIHRlcm1pbmF0aW5nIG51bGwgY2hhcmFjdGVyIiB3YXJuaW5nOyB3ZSBhYi11c2Ugc3RyaW5ncyB0byBpbml0aWFsaXplIE9JRHMKKwkJcHVzaChAY2ZsYWdzLCAiLXdkNDI5NSIpOworCQkjIGRpc2FibGUgdGhlICInPDwnOiByZXN1bHQgb2YgMzItYml0IHNoaWZ0IGltcGxpY2l0bHkgY29udmVydGVkIHRvIDY0IGJpdHMiIHdhcm5pbmc7IG91ciBzb3VyY2UgY29kZSB2aW9sYXRlcyB0aGF0CisJCXB1c2goQGNmbGFncywgIi13ZDQzMzQiKTsKKwkJIyBkaXNhYmxlIHRoZSAiZGVjbGFyYXRpb24gaGlkZXMgcHJldmlvdXMgbG9jYWwgZGVjbGFyYXRpb24iIHdhcm5pbmc7IG91ciBzb3VyY2UgY29kZSB2aW9sYXRlcyB0aGF0CisJCXB1c2goQGNmbGFncywgIi13ZDQ0NTYiKTsKKwkJIyBkaXNhYmxlIHRoZSAiZGVjbGFyYXRpb24gaGlkZXMgZnVuY3Rpb24gcGFyYW1ldGVyIiB3YXJuaW5nOyBvdXIgc291cmNlIGNvZGUgdmlvbGF0ZXMgdGhhdAorCQlwdXNoKEBjZmxhZ3MsICItd2Q0NDU3Iik7CisJCSMgZGlzYWJsZSB0aGUgImRlY2xhcmF0aW9uIGhpZGVzIGdsb2JhbCBkZWNsYXJhdGlvbiIgd2FybmluZzsgb3VyIHNvdXJjZSBjb2RlIHZpb2xhdGVzIHRoYXQKKwkJcHVzaChAY2ZsYWdzLCAiLXdkNDQ1OSIpOworCQkjIGRpc2FibGUgdGhlICJwb3RlbnRpYWxseSB1bmluaXRpYWxpemVkIGxvY2FsIHZhcmlhYmxlICc8bmFtZT4nIHVzZWQiIHdhcm5pbmc7IG91ciBzb3VyY2UgY29kZSB2aW9sYXRlcyB0aGF0CisJCXB1c2goQGNmbGFncywgIi13ZDQ3MDEiKTsKKwkJIyBkaXNhYmxlIHRoZSAidW5yZWFjaGFibGUgY29kZSIgd2FybmluZzsgb3VyIHNvdXJjZSBjb2RlIHZpb2xhdGVzIHRoYXQKKwkJcHVzaChAY2ZsYWdzLCAiLXdkNDcwMiIpOworCQkjIGRpc2FibGUgdGhlICJwb3RlbnRpYWxseSB1bmluaXRpYWxpemVkIGxvY2FsIHBvaW50ZXIgdmFyaWFibGUgdXNlZCIgd2FybmluZzsgb3VyIHNvdXJjZSBjb2RlIHZpb2xhdGVzIHRoYXQKKwkJcHVzaChAY2ZsYWdzLCAiLXdkNDcwMyIpOworCQkjIGRpc2FibGUgdGhlICJhc3NpZ25tZW50IHdpdGhpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIiB3YXJuaW5nOyBvdXIgc291cmNlIGNvZGUgdmlvbGF0ZXMgdGhhdAorCQlwdXNoKEBjZmxhZ3MsICItd2Q0NzA2Iik7CisJCSMgZGlzYWJsZSB0aGUgIidpbmV0X250b2EnOiBVc2UgaW5ldF9udG9wKCkgb3IgSW5ldE50b3AoKSBpbnN0ZWFkIiB3YXJuaW5nOyBvdXIgc291cmNlIGNvZGUgdmlvbGF0ZXMgdGhhdAorCQlwdXNoKEBjZmxhZ3MsICItd2Q0OTk2Iik7CisJfSBlbHNpZiAoIiRhcmciID1+IC9eLVdbYS16XS8pIHsKKwkJIyBsZXQncyBpZ25vcmUgdGhvc2UKIAl9IGVsc2UgewogCQlwdXNoKEBhcmdzLCAkYXJnKTsKIAl9CiB9CiBpZiAoJGlzX2xpbmtpbmcpIHsKKwlwdXNoKEBhcmdzLCBAbGZsYWdzKTsKIAl1bnNoaWZ0KEBhcmdzLCAibGluay5leGUiKTsKIH0gZWxzZSB7CiAJdW5zaGlmdChAYXJncywgImNsLmV4ZSIpOwogCXB1c2goQGFyZ3MsIEBjZmxhZ3MpOwogfQotI3ByaW50ZigiKioqKiBAYXJnc1xuIik7CitwcmludGYoU1RERVJSICIqKioqIEBhcmdzXG5cblxuIikgaWYgKCFkZWZpbmVkKCRFTlZ7J1FVSUVUX0dFTid9KSk7CiBleGl0IChzeXN0ZW0oQGFyZ3MpICE9IDApOwpkaWZmIC0tZ2l0IGEvY29tcGF0L3ZjYnVpbGQvdmNwa2dfY29weV9kbGxzLmJhdCBiL2NvbXBhdC92Y2J1aWxkL3ZjcGtnX2NvcHlfZGxscy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTM2NjFjMQotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBhdC92Y2J1aWxkL3ZjcGtnX2NvcHlfZGxscy5iYXQKQEAgLTAsMCArMSwzOSBAQAorQEVDSE8gT0ZGCitSRU0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorUkVNIFRoaXMgc2NyaXB0IGlzIGFuIG9wdGlvbmFsIHN0ZXAuIEl0IGNvcGllcyB0aGUgKi5kbGwgYW5kICoucGRiCitSRU0gZmlsZXMgKGNyZWF0ZWQgYnkgdmNwa2dfaW5zdGFsbC5iYXQpIGludG8gdGhlIHRvcC1sZXZlbCBkaXJlY3RvcnkKK1JFTSBvZiB0aGUgcmVwbyBzbyB0aGF0IHlvdSBjYW4gdHlwZSAiLi9naXQuZXhlIiBhbmQgZmluZCB0aGVtIHdpdGhvdXQKK1JFTSBoYXZpbmcgdG8gZml4dXAgeW91ciBQQVRILgorUkVNCitSRU0gTk9URTogQmVjYXVzZSB0aGUgbmFtZXMgb2Ygc29tZSBETEwgZmlsZXMgY2hhbmdlIGJldHdlZW4gREVCVUcgYW5kCitSRU0gTk9URTogUkVMRUFTRSBidWlsZHMgd2hlbiBidWlsdCB1c2luZyAidmNwa2cuZXhlIiwgeW91IHdpbGwgbmVlZAorUkVNIE5PVEU6IHRvIGNvcHkgdXAgdGhlIGNvcnJlc3BvbmRpbmcgdmVyc2lvbi4KK1JFTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKwlTRVRMT0NBTCBFbmFibGVEZWxheWVkRXhwYW5zaW9uCisKKwlARk9SIC9GICJkZWxpbXM9IiAlJUQgSU4gKCIlfmRwMCIpIERPIEBTRVQgY3dkPSUlfmZECisJY2QgJWN3ZCUKKworCVNFVCBhcmNoPXg2NC13aW5kb3dzCisJU0VUIGluc3Q9JWN3ZCV2Y3BrZ1xpbnN0YWxsZWRcJWFyY2glCisKKwlJRiBbJTFdPT1bcmVsZWFzZV0gKAorCQllY2hvIENvcHlpbmcgUkVMRUFTRSBtb2RlIERMTHMgdG8gcmVwbyByb290Li4uCisJKSBFTFNFIElGIFslMV09PVtkZWJ1Z10gKAorCQlTRVQgaW5zdD0laW5zdCVcZGVidWcKKwkJZWNobyBDb3B5aW5nIERFQlVHIG1vZGUgRExMcyB0byByZXBvIHJvb3QuLi4KKwkpIEVMU0UgKAorCQllY2hvIEVSUk9SOiBJbnZhbGlkIGFyZ3VtZW50LgorCQllY2hvIFVzYWdlOiAlfjAgcmVsZWFzZQorCQllY2hvIFVzYWdlOiAlfjAgZGVidWcKKwkJRVhJVCAvQiAxCisJKQorCisJeGNvcHkgL2Uvcy92L3kgJWluc3QlXGJpblwqLmRsbCAuLlwuLlwKKwl4Y29weSAvZS9zL3YveSAlaW5zdCVcYmluXCoucGRiIC4uXC4uXAorCisJeGNvcHkgL2Uvcy92L3kgJWluc3QlXGJpblwqLmRsbCAuLlwuLlx0XGhlbHBlclwKKwl4Y29weSAvZS9zL3YveSAlaW5zdCVcYmluXCoucGRiIC4uXC4uXHRcaGVscGVyXAorCisJRVhJVCAvQiAwCmRpZmYgLS1naXQgYS9jb21wYXQvdmNidWlsZC92Y3BrZ19pbnN0YWxsLmJhdCBiL2NvbXBhdC92Y2J1aWxkL3ZjcGtnX2luc3RhbGwuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViZDBiYWQKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wYXQvdmNidWlsZC92Y3BrZ19pbnN0YWxsLmJhdApAQCAtMCwwICsxLDgwIEBACitARUNITyBPRkYKK1JFTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitSRU0gVGhpcyBzY3JpcHQgaW5zdGFsbHMgdGhlICJ2Y3BrZyIgc291cmNlIHBhY2thZ2UgbWFuYWdlciBhbmQgdXNlcworUkVNIGl0IHRvIGJ1aWxkIHRoZSB0aGlyZC1wYXJ0eSBsaWJyYXJpZXMgdGhhdCBnaXQgcmVxdWlyZXMgd2hlbiBpdAorUkVNIGlzIGJ1aWx0IHVzaW5nIE1TVkMuCitSRU0KK1JFTSBbMV0gSW5zdGFsbCBWQ1BLRy4KK1JFTSAgICAgW2FdIENyZWF0ZSA8cm9vdD4vY29tcGF0L3ZjYnVpbGQvdmNwa2cvCitSRU0gICAgIFtiXSBEb3dubG9hZCAidmNwa2ciLgorUkVNICAgICBbY10gQ29tcGlsZSB1c2luZyB0aGUgY3VycmVudGx5IGluc3RhbGxlZCB2ZXJzaW9uIG9mIFZTLgorUkVNICAgICBbZF0gQ3JlYXRlIDxyb290Pi9jb21wYXQvdmNidWlsZC92Y3BrZy92Y3BrZy5leGUKK1JFTQorUkVNIFsyXSBJbnN0YWxsIHRoaXJkLXBhcnR5IGxpYnJhcmllcy4KK1JFTSAgICAgW2FdIERvd25sb2FkIGVhY2ggKHdoaWNoIG1heSBhbHNvIGluc3RhbGwgQ01BS0UpLgorUkVNICAgICBbYl0gQ29tcGlsZSBpbiBSRUxFQVNFIG1vZGUgYW5kIGluc3RhbGwgaW46CitSRU0gICAgICAgICB2Y3BrZy9pbnN0YWxsZWQvPGFyY2g+L3tiaW4sbGlifQorUkVNICAgICBbY10gQ29tcGlsZSBpbiBERUJVRyBtb2RlIGFuZCBpbnN0YWxsIGluOgorUkVNICAgICAgICAgdmNwa2cvaW5zdGFsbGVkLzxhcmNoPi9kZWJ1Zy97YmluLGxpYn0KK1JFTSAgICAgW2RdIEluc3RhbGwgaGVhZGVycyBpbjoKK1JFTSAgICAgICAgIHZjcGtnL2luc3RhbGxlZC88YXJjaD4vaW5jbHVkZQorUkVNCitSRU0gWzNdIENyZWF0ZSBhIHNldCBvZiBNQUtFIGRlZmluaXRpb25zIGZvciB0aGUgdG9wLWxldmVsCitSRU0gICAgIE1ha2VmaWxlIHRvIGFsbG93ICJtYWtlIE1TVkM9MSIgdG8gZmluZCB0aGUgYWJvdmUKK1JFTSAgICAgdGhpcmQtcGFydHkgbGlicmFyaWVzLgorUkVNICAgICBbYV0gV3JpdGUgdmNwa2cvVkNQR0stREVGUworUkVNCitSRU0gaHR0cHM6Ly9ibG9ncy5tc2RuLm1pY3Jvc29mdC5jb20vdmNibG9nLzIwMTYvMDkvMTkvdmNwa2ctYS10b29sLXRvLWFjcXVpcmUtYW5kLWJ1aWxkLWMtb3Blbi1zb3VyY2UtbGlicmFyaWVzLW9uLXdpbmRvd3MvCitSRU0gaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC92Y3BrZworUkVNIGh0dHBzOi8vdmNwa2cucmVhZHRoZWRvY3MuaW8vZW4vbGF0ZXN0LworUkVNID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworCVNFVExPQ0FMIEVuYWJsZURlbGF5ZWRFeHBhbnNpb24KKworCUBGT1IgL0YgImRlbGltcz0iICUlRCBJTiAoIiV+ZHAwIikgRE8gQFNFVCBjd2Q9JSV+ZkQKKwljZCAlY3dkJQorCisJZGlyIHZjcGtnXHZjcGtnLmV4ZSA+bnVsIDI+bnVsICYmIEdPVE8gOmluc3RhbGxfbGlicmFyaWVzCisKKwllY2hvIEZldGNoaW5nIHZjcGtnIGluICVjd2QldmNwa2cKKwlnaXQuZXhlIGNsb25lIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvdmNwa2cgdmNwa2cKKwlJRiBFUlJPUkxFVkVMIDEgKCBFWElUIC9CIDEgKQorCisJY2QgdmNwa2cKKwllY2hvIEJ1aWxkaW5nIHZjcGtnCisJcG93ZXJzaGVsbCAtZXhlYyBieXBhc3Mgc2NyaXB0c1xib290c3RyYXAucHMxCisJSUYgRVJST1JMRVZFTCAxICggRVhJVCAvQiAxICkKKworCWVjaG8gU3VjY2Vzc2Z1bGx5IGluc3RhbGxlZCAlY3dkJXZjcGtnXHZjcGtnLmV4ZQorCis6aW5zdGFsbF9saWJyYXJpZXMKKwlTRVQgYXJjaD14NjQtd2luZG93cworCisJZWNobyBJbnN0YWxsaW5nIHRoaXJkLXBhcnR5IGxpYnJhcmllcy4uLgorCUZPUiAlJWkgSU4gKHpsaWIgZXhwYXQgbGliaWNvbnYgb3BlbnNzbCBsaWJzc2gyIGN1cmwpIERPICgKKwkgICAgY2QgJWN3ZCV2Y3BrZworCSAgICBJRiBOT1QgRVhJU1QgInBhY2thZ2VzXCUlaV8lYXJjaCUiIENBTEwgOnN1Yl9faW5zdGFsbF9vbmUgJSVpCisJICAgIElGIEVSUk9STEVWRUwgMSAoIEVYSVQgL0IgMSApCisJKQorCis6aW5zdGFsbF9kZWZpbmVzCisJY2QgJWN3ZCUKKwlTRVQgaW5zdD0lY3dkJXZjcGtnXGluc3RhbGxlZFwlYXJjaCUKKworCWVjaG8gdmNwa2dfaW5jPS1JIiVpbnN0JVxpbmNsdWRlIj5WQ1BLRy1ERUZTCisJZWNobyB2Y3BrZ19yZWxfbGliPS1MIiVpbnN0JVxsaWIiPj5WQ1BLRy1ERUZTCisJZWNobyB2Y3BrZ19yZWxfYmluPSIlaW5zdCVcYmluIj4+VkNQS0ctREVGUworCWVjaG8gdmNwa2dfZGJnX2xpYj0tTCIlaW5zdCVcZGVidWdcbGliIj4+VkNQS0ctREVGUworCWVjaG8gdmNwa2dfZGJnX2Jpbj0iJWluc3QlXGRlYnVnXGJpbiI+PlZDUEtHLURFRlMKKworCUVYSVQgL0IgMAorCisKKzpzdWJfX2luc3RhbGxfb25lCisJZWNobyAgICAgSW5zdGFsbGluZyBwYWNrYWdlICUxLi4uCisKKwkuXHZjcGtnLmV4ZSBpbnN0YWxsICUxOiVhcmNoJQorCUlGIEVSUk9STEVWRUwgMSAoIEVYSVQgL0IgMSApCisKKwllY2hvICAgICBGaW5pc2hlZCAlMQorCWdvdG8gOkVPRgpkaWZmIC0tZ2l0IGEvY29tcGF0L3dpbjMyL2dpdC5tYW5pZmVzdCBiL2NvbXBhdC93aW4zMi9naXQubWFuaWZlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzcxZTNjYwotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBhdC93aW4zMi9naXQubWFuaWZlc3QKQEAgLTAsMCArMSwyNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/PgorPGFzc2VtYmx5IHhtbG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOmFzbS52MSIgbWFuaWZlc3RWZXJzaW9uPSIxLjAiPgorCTxhc3NlbWJseUlkZW50aXR5IHR5cGU9IndpbjMyIiBuYW1lPSJHaXQiIHZlcnNpb249IjAuMC4wLjEiIC8+CisJPHRydXN0SW5mbyB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTphc20udjIiPgorCQk8c2VjdXJpdHk+CisJCQk8cmVxdWVzdGVkUHJpdmlsZWdlcz4KKwkJCQk8cmVxdWVzdGVkRXhlY3V0aW9uTGV2ZWwgbGV2ZWw9ImFzSW52b2tlciIgdWlBY2Nlc3M9ImZhbHNlIiAvPgorCQkJPC9yZXF1ZXN0ZWRQcml2aWxlZ2VzPgorCQk8L3NlY3VyaXR5PgorCTwvdHJ1c3RJbmZvPgorCTxjb21wYXRpYmlsaXR5IHhtbG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOmNvbXBhdGliaWxpdHkudjEiPgorCQk8YXBwbGljYXRpb24+CisJCQk8IS0tIFdpbmRvd3MgVmlzdGEgLS0+CisJCQk8c3VwcG9ydGVkT1MgSWQ9IntlMjAxMTQ1Ny0xNTQ2LTQzYzUtYTVmZS0wMDhkZWVlM2QzZjB9Ii8+CisJCQk8IS0tIFdpbmRvd3MgNyAtLT4KKwkJCTxzdXBwb3J0ZWRPUyBJZD0iezM1MTM4YjlhLTVkOTYtNGZiZC04ZTJkLWEyNDQwMjI1ZjkzYX0iLz4KKwkJCTwhLS0gV2luZG93cyA4IC0tPgorCQkJPHN1cHBvcnRlZE9TIElkPSJ7NGEyZjI4ZTMtNTNiOS00NDQxLWJhOWMtZDY5ZDRhNGE2ZTM4fSIvPgorCQkJPCEtLSBXaW5kb3dzIDguMSAtLT4KKwkJCTxzdXBwb3J0ZWRPUyBJZD0iezFmNjc2Yzc2LTgwZTEtNDIzOS05NWJiLTgzZDBmNmQwZGE3OH0iLz4KKwkJCTwhLS0gV2luZG93cyAxMCAtLT4KKwkJCTxzdXBwb3J0ZWRPUyBJZD0iezhlMGY3YTEyLWJmYjMtNGZlOC1iOWE1LTQ4ZmQ1MGExNWE5YX0iLz4KKwkJPC9hcHBsaWNhdGlvbj4KKwk8L2NvbXBhdGliaWxpdHk+Cis8L2Fzc2VtYmx5PgpkaWZmIC0tZ2l0IGEvY29tcGF0L3dpbjMyL3BhdGgtdXRpbHMuYyBiL2NvbXBhdC93aW4zMi9wYXRoLXV0aWxzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWJmMmYxMgotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBhdC93aW4zMi9wYXRoLXV0aWxzLmMKQEAgLTAsMCArMSw1MiBAQAorI2luY2x1ZGUgIi4uLy4uL2dpdC1jb21wYXQtdXRpbC5oIgorCitpbnQgd2luMzJfaGFzX2Rvc19kcml2ZV9wcmVmaXgoY29uc3QgY2hhciAqcGF0aCkKK3sKKwlpbnQgaTsKKworCS8qCisJICogRG9lcyBpdCBzdGFydCB3aXRoIGFuIEFTQ0lJIGxldHRlciAoaS5lLiBoaWdoZXN0IGJpdCBub3Qgc2V0KSwKKwkgKiBmb2xsb3dlZCBieSBhIGNvbG9uPworCSAqLworCWlmICghKDB4ODAgJiAodW5zaWduZWQgY2hhcikqcGF0aCkpCisJCXJldHVybiAqcGF0aCAmJiBwYXRoWzFdID09ICc6JyA/IDIgOiAwOworCisJLyoKKwkgKiBXaGlsZSBkcml2ZSBsZXR0ZXJzIG11c3QgYmUgbGV0dGVycyBvZiB0aGUgRW5nbGlzaCBhbHBoYWJldCwgaXQgaXMKKwkgKiBwb3NzaWJsZSB0byBhc3NpZ24gdmlydHVhbGx5IF9hbnlfIFVuaWNvZGUgY2hhcmFjdGVyIHZpYSBgc3Vic3RgIGFzCisJICogYSBkcml2ZSBsZXR0ZXIgdG8gInZpcnR1YWwgZHJpdmVzIi4gRXZlbiBgMWAsIG9yIGDDpGAuIE9yIGZ1biBzdHVmZgorCSAqIGxpa2UgdGhpczoKKwkgKgorCSAqICAgICAgc3Vic3Qg1o06ICVVU0VSUFJPRklMRSVcRGVza3RvcAorCSAqLworCWZvciAoaSA9IDE7IGkgPCA0ICYmICgweDgwICYgKHVuc2lnbmVkIGNoYXIpcGF0aFtpXSk7IGkrKykKKwkJOyAvKiBza2lwIGZpcnN0IFVURi04IGNoYXJhY3RlciAqLworCXJldHVybiBwYXRoW2ldID09ICc6JyA/IGkgKyAxIDogMDsKK30KKworaW50IHdpbjMyX3NraXBfZG9zX2RyaXZlX3ByZWZpeChjaGFyICoqcGF0aCkKK3sKKwlpbnQgcmV0ID0gaGFzX2Rvc19kcml2ZV9wcmVmaXgoKnBhdGgpOworCSpwYXRoICs9IHJldDsKKwlyZXR1cm4gcmV0OworfQorCitpbnQgd2luMzJfb2Zmc2V0XzFzdF9jb21wb25lbnQoY29uc3QgY2hhciAqcGF0aCkKK3sKKwljaGFyICpwb3MgPSAoY2hhciAqKXBhdGg7CisKKwkvKiB1bmMgcGF0aHMgKi8KKwlpZiAoIXNraXBfZG9zX2RyaXZlX3ByZWZpeCgmcG9zKSAmJgorCQkJaXNfZGlyX3NlcChwb3NbMF0pICYmIGlzX2Rpcl9zZXAocG9zWzFdKSkgeworCQkvKiBza2lwIHNlcnZlciBuYW1lICovCisJCXBvcyA9IHN0cnBicmsocG9zICsgMiwgIlxcLyIpOworCQlpZiAoIXBvcykKKwkJCXJldHVybiAwOyAvKiBFcnJvcjogbWFsZm9ybWVkIHVuYyBwYXRoICovCisKKwkJZG8geworCQkJcG9zKys7CisJCX0gd2hpbGUgKCpwb3MgJiYgIWlzX2Rpcl9zZXAoKnBvcykpOworCX0KKworCXJldHVybiBwb3MgKyBpc19kaXJfc2VwKCpwb3MpIC0gcGF0aDsKK30KZGlmZiAtLWdpdCBhL2NvbXBhdC93aW4zMi9wYXRoLXV0aWxzLmggYi9jb21wYXQvd2luMzIvcGF0aC11dGlscy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyZTcwODcKLS0tIC9kZXYvbnVsbAorKysgYi9jb21wYXQvd2luMzIvcGF0aC11dGlscy5oCkBAIC0wLDAgKzEsMjYgQEAKKyNpZm5kZWYgV0lOMzJfUEFUSF9VVElMU19ICisjZGVmaW5lIFdJTjMyX1BBVEhfVVRJTFNfSAorCitpbnQgd2luMzJfaGFzX2Rvc19kcml2ZV9wcmVmaXgoY29uc3QgY2hhciAqcGF0aCk7CisjZGVmaW5lIGhhc19kb3NfZHJpdmVfcHJlZml4IHdpbjMyX2hhc19kb3NfZHJpdmVfcHJlZml4CisKK2ludCB3aW4zMl9za2lwX2Rvc19kcml2ZV9wcmVmaXgoY2hhciAqKnBhdGgpOworI2RlZmluZSBza2lwX2Rvc19kcml2ZV9wcmVmaXggd2luMzJfc2tpcF9kb3NfZHJpdmVfcHJlZml4CitzdGF0aWMgaW5saW5lIGludCB3aW4zMl9pc19kaXJfc2VwKGludCBjKQoreworCXJldHVybiBjID09ICcvJyB8fCBjID09ICdcXCc7Cit9CisjZGVmaW5lIGlzX2Rpcl9zZXAgd2luMzJfaXNfZGlyX3NlcAorc3RhdGljIGlubGluZSBjaGFyICp3aW4zMl9maW5kX2xhc3RfZGlyX3NlcChjb25zdCBjaGFyICpwYXRoKQoreworCWNoYXIgKnJldCA9IE5VTEw7CisJZm9yICg7ICpwYXRoOyArK3BhdGgpCisJCWlmIChpc19kaXJfc2VwKCpwYXRoKSkKKwkJCXJldCA9IChjaGFyICopcGF0aDsKKwlyZXR1cm4gcmV0OworfQorI2RlZmluZSBmaW5kX2xhc3RfZGlyX3NlcCB3aW4zMl9maW5kX2xhc3RfZGlyX3NlcAoraW50IHdpbjMyX29mZnNldF8xc3RfY29tcG9uZW50KGNvbnN0IGNoYXIgKnBhdGgpOworI2RlZmluZSBvZmZzZXRfMXN0X2NvbXBvbmVudCB3aW4zMl9vZmZzZXRfMXN0X2NvbXBvbmVudAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2NvbXBhdC93aW4zMi9wdGhyZWFkLmggYi9jb21wYXQvd2luMzIvcHRocmVhZC5oCmluZGV4IGM2Y2I4ZGQuLjczNzk4M2QgMTAwNjQ0Ci0tLSBhL2NvbXBhdC93aW4zMi9wdGhyZWFkLmgKKysrIGIvY29tcGF0L3dpbjMyL3B0aHJlYWQuaApAQCAtNTAsOCArNTAsOCBAQAogCURXT1JEIHRpZDsKIH0gcHRocmVhZF90OwogCi1leHRlcm4gaW50IHB0aHJlYWRfY3JlYXRlKHB0aHJlYWRfdCAqdGhyZWFkLCBjb25zdCB2b2lkICp1bnVzZWQsCi0JCQkgIHZvaWQgKigqc3RhcnRfcm91dGluZSkodm9pZCopLCB2b2lkICphcmcpOworaW50IHB0aHJlYWRfY3JlYXRlKHB0aHJlYWRfdCAqdGhyZWFkLCBjb25zdCB2b2lkICp1bnVzZWQsCisJCSAgIHZvaWQgKigqc3RhcnRfcm91dGluZSkodm9pZCopLCB2b2lkICphcmcpOwogCiAvKgogICogVG8gYXZvaWQgdGhlIG5lZWQgb2YgY29weWluZyBhIHN0cnVjdCwgd2UgdXNlIHNtYWxsIG1hY3JvIHdyYXBwZXIgdG8gcGFzcwpAQCAtNTksMTAgKzU5LDEwIEBACiAgKi8KICNkZWZpbmUgcHRocmVhZF9qb2luKGEsIGIpIHdpbjMyX3B0aHJlYWRfam9pbigmKGEpLCAoYikpCiAKLWV4dGVybiBpbnQgd2luMzJfcHRocmVhZF9qb2luKHB0aHJlYWRfdCAqdGhyZWFkLCB2b2lkICoqdmFsdWVfcHRyKTsKK2ludCB3aW4zMl9wdGhyZWFkX2pvaW4ocHRocmVhZF90ICp0aHJlYWQsIHZvaWQgKip2YWx1ZV9wdHIpOwogCiAjZGVmaW5lIHB0aHJlYWRfZXF1YWwodDEsIHQyKSAoKHQxKS50aWQgPT0gKHQyKS50aWQpCi1leHRlcm4gcHRocmVhZF90IHB0aHJlYWRfc2VsZih2b2lkKTsKK3B0aHJlYWRfdCBwdGhyZWFkX3NlbGYodm9pZCk7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBOT1JFVFVSTiBwdGhyZWFkX2V4aXQodm9pZCAqcmV0KQogewpkaWZmIC0tZ2l0IGEvY29tcGF0L3dpbjMyL3RyYWNlMl93aW4zMl9wcm9jZXNzX2luZm8uYyBiL2NvbXBhdC93aW4zMi90cmFjZTJfd2luMzJfcHJvY2Vzc19pbmZvLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNjYmQxYwotLS0gL2Rldi9udWxsCisrKyBiL2NvbXBhdC93aW4zMi90cmFjZTJfd2luMzJfcHJvY2Vzc19pbmZvLmMKQEAgLTAsMCArMSwxOTEgQEAKKyNpbmNsdWRlICIuLi8uLi9jYWNoZS5oIgorI2luY2x1ZGUgIi4uLy4uL2pzb24td3JpdGVyLmgiCisjaW5jbHVkZSAibGF6eWxvYWQuaCIKKyNpbmNsdWRlIDxQc2FwaS5oPgorI2luY2x1ZGUgPHRsSGVscDMyLmg+CisKKy8qCisgKiBBbiBhcmJpdHJhcmlseSBjaG9zZW4gdmFsdWUgdG8gbGltaXQgdGhlIHNpemUgb2YgdGhlIGFuY2VzdG9yCisgKiBhcnJheSBidWlsdCBpbiBnaXRfcHJvY2Vzc2VzKCkuCisgKi8KKyNkZWZpbmUgTlJfUElEU19MSU1JVCAxMAorCisvKgorICogRmluZCB0aGUgcHJvY2VzcyBkYXRhIGZvciB0aGUgZ2l2ZW4gUElEIGluIHRoZSBnaXZlbiBzbmFwc2hvdAorICogYW5kIHVwZGF0ZSB0aGUgUFJPQ0VTU0VOVFJZMzIgZGF0YS4KKyAqLworc3RhdGljIGludCBmaW5kX3BpZChEV09SRCBwaWQsIEhBTkRMRSBoU25hcHNob3QsIFBST0NFU1NFTlRSWTMyICpwZTMyKQoreworCXBlMzItPmR3U2l6ZSA9IHNpemVvZihQUk9DRVNTRU5UUlkzMik7CisKKwlpZiAoUHJvY2VzczMyRmlyc3QoaFNuYXBzaG90LCBwZTMyKSkgeworCQlkbyB7CisJCQlpZiAocGUzMi0+dGgzMlByb2Nlc3NJRCA9PSBwaWQpCisJCQkJcmV0dXJuIDE7CisJCX0gd2hpbGUgKFByb2Nlc3MzMk5leHQoaFNuYXBzaG90LCBwZTMyKSk7CisJfQorCXJldHVybiAwOworfQorCisvKgorICogQWNjdW11bGF0ZSBKU09OIGFycmF5IG9mIG91ciBwYXJlbnQgcHJvY2Vzc2VzOgorICogICAgIFsKKyAqICAgICAgICAgZXhlLW5hbWUtcGFyZW50LAorICogICAgICAgICBleGUtbmFtZS1ncmFuZC1wYXJlbnQsCisgKiAgICAgICAgIC4uLgorICogICAgIF0KKyAqCisgKiBOb3RlOiB3ZSBvbmx5IHJlcG9ydCB0aGUgZmlsZW5hbWUgb2YgdGhlIHByb2Nlc3MgZXhlY3V0YWJsZTsgdGhlCisgKiAgICAgICBvbmx5IHdheSB0byBnZXQgaXRzIGZ1bGwgcGF0aG5hbWUgaXMgdG8gdXNlIE9wZW5Qcm9jZXNzKCkKKyAqICAgICAgIGFuZCBHZXRNb2R1bGVGaWxlTmFtZUV4KCkgb3IgUXVlcnlmdWxsUHJvY2Vzc0ltYWdlTmFtZSgpCisgKiAgICAgICBhbmQgdGhhdCBzZWVtcyByYXRoZXIgZXhwZW5zaXZlIChvbiB0b3Agb2YgdGhlIGNvc3Qgb2YKKyAqICAgICAgIGdldHRpbmcgdGhlIHNuYXBzaG90KS4KKyAqCisgKiBOb3RlOiB3ZSBjb21wdXRlIHRoZSBzZXQgb2YgcGFyZW50IHByb2Nlc3NlcyBieSB3YWxraW5nIHRoZSBQUElECisgKiAgICAgICBsaW5rIGluIGVhY2ggdmlzaXRlZCBQUk9DRVNTRU5UUlkzMiByZWNvcmQuICBUaGlzIHNlYXJjaAorICogICAgICAgc3RvcHMgd2hlbiBhbiBhbmNlc3RvciBwcm9jZXNzIGlzIG5vdCBmb3VuZCBpbiB0aGUgc25hcHNob3QKKyAqICAgICAgIChiZWNhdXNlIGl0IGV4aXRlZCBiZWZvcmUgdGhlIGN1cnJlbnQgb3IgaW50ZXJtZWRpYXRlIHBhcmVudAorICogICAgICAgcHJvY2VzcyBleGl0ZWQpLgorICoKKyAqICAgICAgIFRoaXMgc2VhcmNoIG1heSBjb21wdXRlIGFuIGluY29ycmVjdCByZXN1bHQgaWYgdGhlIFBQSUQgbGluaworICogICAgICAgcmVmZXJzIHRvIHRoZSBQSUQgb2YgYW4gZXhpdGVkIHBhcmVudCBhbmQgdGhhdCBQSUQgaGFzIGJlZW4KKyAqICAgICAgIHJlY3ljbGVkIGFuZCBnaXZlbiB0byBhIG5ldyB1bnJlbGF0ZWQgcHJvY2Vzcy4KKyAqCisgKiAgICAgICBXb3JzZSwgaXQgaXMgcG9zc2libGUgZm9yIGEgY2hpbGQgb3IgZGVzY2VuZGFudCBvZiB0aGUKKyAqICAgICAgIGN1cnJlbnQgcHJvY2VzcyB0byBiZSBnaXZlbiB0aGUgcmVjeWNsZWQgUElEIGFuZCBjYXVzZSBhCisgKiAgICAgICBQUElELWN5Y2xlLiAgVGhpcyB3b3VsZCBjYXVzZSBhbiBpbmZpbml0ZSBsb29wIGJ1aWxkaW5nIG91cgorICogICAgICAgcGFyZW50IHByb2Nlc3MgYXJyYXkuCisgKgorICogTm90ZTogZm9yIGNvbXBsZXRlbmVzcywgdGhlICJTeXN0ZW0gSWRsZSIgcHJvY2VzcyBoYXMgUElEPTAgYW5kCisgKiAgICAgICBQUElEPTAgYW5kIGNvdWxkIGNhdXNlIGFub3RoZXIgUFBJRC1jeWNsZS4gIFdlIGRvbid0IGV4cGVjdAorICogICAgICAgR2l0IHRvIGJlIGEgZGVzY2VuZGFudCBvZiB0aGUgaWRsZSBwcm9jZXNzLCBidXQgYmVjYXVzZSBvZgorICogICAgICAgUElEIHJlY3ljbGluZywgaXQgbWlnaHQgYmUgcG9zc2libGUgdG8gZ2V0IGEgUFBJRCBsaW5rIHZhbHVlCisgKiAgICAgICBvZiAwLiAgVGhpcyB0b28gd291bGQgY2F1c2UgYW4gaW5maW5pdGUgbG9vcC4KKyAqCisgKiBUaGVyZWZvcmUsIHdlIGtlZXAgYW4gYXJyYXkgb2YgdGhlIHZpc2l0ZWQgUFBJRHMgdG8gZ3VhcmQgYWdhaW5zdAorICogY3ljbGVzLgorICoKKyAqIFdlIHVzZSBhIGZpeGVkLXNpemUgYXJyYXkgcmF0aGVyIHRoYW4gQUxMT0NfR1JPVyB0byBrZWVwIHRoaW5ncworICogc2ltcGxlIGFuZCBhdm9pZCB0aGUgYWxsb2MvcmVhbGxvYyBvdmVyaGVhZC4gIEl0IGlzIE9LIGlmIHdlCisgKiB0cnVuY2F0ZSB0aGUgc2VhcmNoIGFuZCByZXR1cm4gYSBwYXJ0aWFsIGFuc3dlci4KKyAqLworc3RhdGljIHZvaWQgZ2V0X3Byb2Nlc3NlcyhzdHJ1Y3QganNvbl93cml0ZXIgKmp3LCBIQU5ETEUgaFNuYXBzaG90KQoreworCVBST0NFU1NFTlRSWTMyIHBlMzI7CisJRFdPUkQgcGlkOworCURXT1JEIHBpZF9saXN0W05SX1BJRFNfTElNSVRdOworCWludCBrLCBucl9waWRzID0gMDsKKworCXBpZCA9IEdldEN1cnJlbnRQcm9jZXNzSWQoKTsKKwl3aGlsZSAoZmluZF9waWQocGlkLCBoU25hcHNob3QsICZwZTMyKSkgeworCQkvKiBPbmx5IHJlcG9ydCBwYXJlbnRzLiBPbWl0IHNlbGYgZnJvbSB0aGUgSlNPTiBvdXRwdXQuICovCisJCWlmIChucl9waWRzKQorCQkJandfYXJyYXlfc3RyaW5nKGp3LCBwZTMyLnN6RXhlRmlsZSk7CisKKwkJLyogQ2hlY2sgZm9yIGN5Y2xlIGluIHNuYXBzaG90LiAoWWVzLCBpdCBoYXBwZW5lZC4pICovCisJCWZvciAoayA9IDA7IGsgPCBucl9waWRzOyBrKyspCisJCQlpZiAocGlkID09IHBpZF9saXN0W2tdKSB7CisJCQkJandfYXJyYXlfc3RyaW5nKGp3LCAiKGN5Y2xlKSIpOworCQkJCXJldHVybjsKKwkJCX0KKworCQlpZiAobnJfcGlkcyA9PSBOUl9QSURTX0xJTUlUKSB7CisJCQlqd19hcnJheV9zdHJpbmcoancsICIodHJ1bmNhdGVkKSIpOworCQkJcmV0dXJuOworCQl9CisKKwkJcGlkX2xpc3RbbnJfcGlkcysrXSA9IHBpZDsKKworCQlwaWQgPSBwZTMyLnRoMzJQYXJlbnRQcm9jZXNzSUQ7CisJfQorfQorCisvKgorICogRW1pdCBKU09OIGRhdGEgZm9yIHRoZSBjdXJyZW50IGFuZCBwYXJlbnQgcHJvY2Vzc2VzLiAgSW5kaXZpZHVhbAorICogdHJhY2UyIHRhcmdldHMgY2FuIGRlY2lkZSBob3cgdG8gYWN0dWFsbHkgcHJpbnQgaXQuCisgKi8KK3N0YXRpYyB2b2lkIGdldF9hbmNlc3RyeSh2b2lkKQoreworCUhBTkRMRSBoU25hcHNob3QgPSBDcmVhdGVUb29saGVscDMyU25hcHNob3QoVEgzMkNTX1NOQVBQUk9DRVNTLCAwKTsKKworCWlmIChoU25hcHNob3QgIT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpIHsKKwkJc3RydWN0IGpzb25fd3JpdGVyIGp3ID0gSlNPTl9XUklURVJfSU5JVDsKKworCQlqd19hcnJheV9iZWdpbigmancsIDApOworCQlnZXRfcHJvY2Vzc2VzKCZqdywgaFNuYXBzaG90KTsKKwkJandfZW5kKCZqdyk7CisKKwkJdHJhY2UyX2RhdGFfanNvbigicHJvY2VzcyIsIHRoZV9yZXBvc2l0b3J5LCAid2luZG93cy9hbmNlc3RyeSIsCisJCQkJICZqdyk7CisKKwkJandfcmVsZWFzZSgmancpOworCQlDbG9zZUhhbmRsZShoU25hcHNob3QpOworCX0KK30KKworLyoKKyAqIElzIGEgZGVidWdnZXIgYXR0YWNoZWQgdG8gdGhlIGN1cnJlbnQgcHJvY2Vzcz8KKyAqCisgKiBUaGlzIHdpbGwgY2F0Y2ggZGVidWcgcnVucyAod2hlcmUgdGhlIGRlYnVnZ2VyIHN0YXJ0ZWQgdGhlIHByb2Nlc3MpLgorICogVGhpcyBpcyB0aGUgbm9ybWFsIGNhc2UuICBTaW5jZSB0aGlzIGNvZGUgaXMgY2FsbGVkIGR1cmluZyBvdXIgc3RhcnR1cCwKKyAqIGl0IHdpbGwgbm90IHJlcG9ydCBpbnN0YW5jZXMgd2hlcmUgYSBkZWJ1Z2dlciBpcyBhdHRhY2hlZCBkeW5hbWljYWxseQorICogdG8gYSBydW5uaW5nIGdpdCBwcm9jZXNzLCBidXQgdGhhdCBpcyByZWxhdGl2ZWx5IHJhcmUuCisgKi8KK3N0YXRpYyB2b2lkIGdldF9pc19iZWluZ19kZWJ1Z2dlZCh2b2lkKQoreworCWlmIChJc0RlYnVnZ2VyUHJlc2VudCgpKQorCQl0cmFjZTJfZGF0YV9pbnRtYXgoInByb2Nlc3MiLCB0aGVfcmVwb3NpdG9yeSwKKwkJCQkgICAid2luZG93cy9kZWJ1Z2dlcl9wcmVzZW50IiwgMSk7Cit9CisKKy8qCisgKiBFbWl0IEpTT04gZGF0YSB3aXRoIHRoZSBwZWFrIG1lbW9yeSB1c2FnZSBvZiB0aGUgY3VycmVudCBwcm9jZXNzLgorICovCitzdGF0aWMgdm9pZCBnZXRfcGVha19tZW1vcnlfaW5mbyh2b2lkKQoreworCURFQ0xBUkVfUFJPQ19BRERSKHBzYXBpLmRsbCwgQk9PTCwgR2V0UHJvY2Vzc01lbW9yeUluZm8sIEhBTkRMRSwKKwkJCSAgUFBST0NFU1NfTUVNT1JZX0NPVU5URVJTLCBEV09SRCk7CisKKwlpZiAoSU5JVF9QUk9DX0FERFIoR2V0UHJvY2Vzc01lbW9yeUluZm8pKSB7CisJCVBST0NFU1NfTUVNT1JZX0NPVU5URVJTIHBtYzsKKworCQlpZiAoR2V0UHJvY2Vzc01lbW9yeUluZm8oR2V0Q3VycmVudFByb2Nlc3MoKSwgJnBtYywKKwkJCQkJIHNpemVvZihwbWMpKSkgeworCQkJc3RydWN0IGpzb25fd3JpdGVyIGp3ID0gSlNPTl9XUklURVJfSU5JVDsKKworCQkJandfb2JqZWN0X2JlZ2luKCZqdywgMCk7CisKKyNkZWZpbmUgS1Yoa3YpICNrdiwgKGludG1heF90KXBtYy5rdgorCisJCQlqd19vYmplY3RfaW50bWF4KCZqdywgS1YoUGFnZUZhdWx0Q291bnQpKTsKKwkJCWp3X29iamVjdF9pbnRtYXgoJmp3LCBLVihQZWFrV29ya2luZ1NldFNpemUpKTsKKwkJCWp3X29iamVjdF9pbnRtYXgoJmp3LCBLVihQZWFrUGFnZWZpbGVVc2FnZSkpOworCisJCQlqd19lbmQoJmp3KTsKKworCQkJdHJhY2UyX2RhdGFfanNvbigicHJvY2VzcyIsIHRoZV9yZXBvc2l0b3J5LAorCQkJCQkgIndpbmRvd3MvbWVtb3J5IiwgJmp3KTsKKwkJCWp3X3JlbGVhc2UoJmp3KTsKKwkJfQorCX0KK30KKwordm9pZCB0cmFjZTJfY29sbGVjdF9wcm9jZXNzX2luZm8oZW51bSB0cmFjZTJfcHJvY2Vzc19pbmZvX3JlYXNvbiByZWFzb24pCit7CisJaWYgKCF0cmFjZTJfaXNfZW5hYmxlZCgpKQorCQlyZXR1cm47CisKKwlzd2l0Y2ggKHJlYXNvbikgeworCWNhc2UgVFJBQ0UyX1BST0NFU1NfSU5GT19TVEFSVFVQOgorCQlnZXRfaXNfYmVpbmdfZGVidWdnZWQoKTsKKwkJZ2V0X2FuY2VzdHJ5KCk7CisJCXJldHVybjsKKworCWNhc2UgVFJBQ0UyX1BST0NFU1NfSU5GT19FWElUOgorCQlnZXRfcGVha19tZW1vcnlfaW5mbygpOworCQlyZXR1cm47CisKKwlkZWZhdWx0OgorCQlCVUcoInRyYWNlMl9jb2xsZWN0X3Byb2Nlc3NfaW5mbzogdW5rbm93biByZWFzb24gJyVkJyIsIHJlYXNvbik7CisJfQorfQpkaWZmIC0tZ2l0IGEvY29tcGF0L3dpbmFuc2kuYyBiL2NvbXBhdC93aW5hbnNpLmMKaW5kZXggZjRmMDgyMy4uYzI3YjIwYSAxMDA2NDQKLS0tIGEvY29tcGF0L3dpbmFuc2kuYworKysgYi9jb21wYXQvd2luYW5zaS5jCkBAIC03LDYgKzcsNyBAQAogI2luY2x1ZGUgPHdpbmdkaS5oPgogI2luY2x1ZGUgPHdpbnJlZy5oPgogI2luY2x1ZGUgIndpbjMyLmgiCisjaW5jbHVkZSAid2luMzIvbGF6eWxvYWQuaCIKIAogc3RhdGljIGludCBmZF9pc19pbnRlcmFjdGl2ZVszXSA9IHsgMCwgMCwgMCB9OwogI2RlZmluZSBGRF9DT05TT0xFIDB4MQpAQCAtNDEsMjYgKzQyLDIxIEBACiAjZW5kaWYKICNlbmRpZgogCi10eXBlZGVmIEJPT0wgKFdJTkFQSSAqUEdFVENVUlJFTlRDT05TT0xFRk9OVEVYKShIQU5ETEUsIEJPT0wsCi0JCVBDT05TT0xFX0ZPTlRfSU5GT0VYKTsKLQogc3RhdGljIHZvaWQgd2Fybl9pZl9yYXN0ZXJfZm9udCh2b2lkKQogewogCURXT1JEIGZvbnRGYW1pbHkgPSAwOwotCVBHRVRDVVJSRU5UQ09OU09MRUZPTlRFWCBwR2V0Q3VycmVudENvbnNvbGVGb250RXg7CisJREVDTEFSRV9QUk9DX0FERFIoa2VybmVsMzIuZGxsLCBCT09MLCBHZXRDdXJyZW50Q29uc29sZUZvbnRFeCwKKwkJCUhBTkRMRSwgQk9PTCwgUENPTlNPTEVfRk9OVF9JTkZPRVgpOwogCiAJLyogZG9uJ3QgYm90aGVyIGlmIG91dHB1dCB3YXMgYXNjaWkgb25seSAqLwogCWlmICghbm9uX2FzY2lpX3VzZWQpCiAJCXJldHVybjsKIAogCS8qIEdldEN1cnJlbnRDb25zb2xlRm9udEV4IGlzIGF2YWlsYWJsZSBzaW5jZSBWaXN0YSAqLwotCXBHZXRDdXJyZW50Q29uc29sZUZvbnRFeCA9IChQR0VUQ1VSUkVOVENPTlNPTEVGT05URVgpIEdldFByb2NBZGRyZXNzKAotCQkJR2V0TW9kdWxlSGFuZGxlKCJrZXJuZWwzMi5kbGwiKSwKLQkJCSJHZXRDdXJyZW50Q29uc29sZUZvbnRFeCIpOwotCWlmIChwR2V0Q3VycmVudENvbnNvbGVGb250RXgpIHsKKwlpZiAoSU5JVF9QUk9DX0FERFIoR2V0Q3VycmVudENvbnNvbGVGb250RXgpKSB7CiAJCUNPTlNPTEVfRk9OVF9JTkZPRVggY2ZpOwogCQljZmkuY2JTaXplID0gc2l6ZW9mKGNmaSk7Ci0JCWlmIChwR2V0Q3VycmVudENvbnNvbGVGb250RXgoY29uc29sZSwgMCwgJmNmaSkpCisJCWlmIChHZXRDdXJyZW50Q29uc29sZUZvbnRFeChjb25zb2xlLCAwLCAmY2ZpKSkKIAkJCWZvbnRGYW1pbHkgPSBjZmkuRm9udEZhbWlseTsKIAl9IGVsc2UgewogCQkvKiBwcmUtVmlzdGE6IGNoZWNrIGRlZmF1bHQgY29uc29sZSBmb250IGluIHJlZ2lzdHJ5ICovCkBAIC01NDQsNyArNTQwLDIwIEBACiAjaWZkZWYgREVURUNUX01TWVNfVFRZCiAKICNpbmNsdWRlIDx3aW50ZXJubC5oPgorCisjaWYgZGVmaW5lZChfTVNDX1ZFUikKKwordHlwZWRlZiBzdHJ1Y3QgX09CSkVDVF9OQU1FX0lORk9STUFUSU9OCit7CisJVU5JQ09ERV9TVFJJTkcgTmFtZTsKKwlXQ0hBUiBOYW1lQnVmZmVyW0ZMRVhfQVJSQVldOworfSBPQkpFQ1RfTkFNRV9JTkZPUk1BVElPTiwgKlBPQkpFQ1RfTkFNRV9JTkZPUk1BVElPTjsKKworI2RlZmluZSBPYmplY3ROYW1lSW5mb3JtYXRpb24gMQorCisjZWxzZQogI2luY2x1ZGUgPG50c3RhdHVzLmg+CisjZW5kaWYKIAogc3RhdGljIHZvaWQgZGV0ZWN0X21zeXNfdHR5KGludCBmZCkKIHsKQEAgLTU5OSw3ICs2MDgsNyBAQAogdm9pZCB3aW5hbnNpX2luaXQodm9pZCkKIHsKIAlpbnQgY29uMSwgY29uMjsKLQljaGFyIG5hbWVbMzJdOworCXdjaGFyX3QgbmFtZVszMl07CiAKIAkvKiBjaGVjayBpZiBlaXRoZXIgc3Rkb3V0IG9yIHN0ZGVyciBpcyBhIGNvbnNvbGUgb3V0cHV0IHNjcmVlbiBidWZmZXIgKi8KIAljb24xID0gaXNfY29uc29sZSgxKTsKQEAgLTYxOSwxMyArNjI4LDE1IEBACiAJfQogCiAJLyogY3JlYXRlIGEgbmFtZWQgcGlwZSB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBjb25zb2xlIHRocmVhZCAqLwotCXhzbnByaW50ZihuYW1lLCBzaXplb2YobmFtZSksICJcXFxcLlxccGlwZVxcd2luYW5zaSVsdSIsIEdldEN1cnJlbnRQcm9jZXNzSWQoKSk7Ci0JaHdyaXRlID0gQ3JlYXRlTmFtZWRQaXBlKG5hbWUsIFBJUEVfQUNDRVNTX09VVEJPVU5ELAorCWlmIChzd3ByaW50ZihuYW1lLCBBUlJBWV9TSVpFKG5hbWUpIC0gMSwgTCJcXFxcLlxccGlwZVxcd2luYW5zaSVsdSIsCisJCSAgICAgR2V0Q3VycmVudFByb2Nlc3NJZCgpKSA8IDApCisJCWRpZSgiQ291bGQgbm90IGluaXRpYWxpemUgd2luYW5zaSBwaXBlIG5hbWUiKTsKKwlod3JpdGUgPSBDcmVhdGVOYW1lZFBpcGVXKG5hbWUsIFBJUEVfQUNDRVNTX09VVEJPVU5ELAogCQlQSVBFX1RZUEVfQllURSB8IFBJUEVfV0FJVCwgMSwgQlVGRkVSX1NJWkUsIDAsIDAsIE5VTEwpOwogCWlmIChod3JpdGUgPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpCiAJCWRpZV9sYXN0ZXJyKCJDcmVhdGVOYW1lZFBpcGUgZmFpbGVkIik7CiAKLQlocmVhZCA9IENyZWF0ZUZpbGUobmFtZSwgR0VORVJJQ19SRUFELCAwLCBOVUxMLCBPUEVOX0VYSVNUSU5HLCAwLCBOVUxMKTsKKwlocmVhZCA9IENyZWF0ZUZpbGVXKG5hbWUsIEdFTkVSSUNfUkVBRCwgMCwgTlVMTCwgT1BFTl9FWElTVElORywgMCwgTlVMTCk7CiAJaWYgKGhyZWFkID09IElOVkFMSURfSEFORExFX1ZBTFVFKQogCQlkaWVfbGFzdGVycigiQ3JlYXRlRmlsZSBmb3IgbmFtZWQgcGlwZSBmYWlsZWQiKTsKIApAQCAtNjUxLDEwICs2NjIsMjAgQEAKICAqLwogSEFORExFIHdpbmFuc2lfZ2V0X29zZmhhbmRsZShpbnQgZmQpCiB7CisJSEFORExFIHJldDsKKwogCWlmIChmZCA9PSAxICYmIChmZF9pc19pbnRlcmFjdGl2ZVsxXSAmIEZEX1NXQVBQRUQpKQogCQlyZXR1cm4gaGNvbnNvbGUxOwogCWlmIChmZCA9PSAyICYmIChmZF9pc19pbnRlcmFjdGl2ZVsyXSAmIEZEX1NXQVBQRUQpKQogCQlyZXR1cm4gaGNvbnNvbGUyOwogCi0JcmV0dXJuIChIQU5ETEUpX2dldF9vc2ZoYW5kbGUoZmQpOworCXJldCA9IChIQU5ETEUpX2dldF9vc2ZoYW5kbGUoZmQpOworCisJLyoKKwkgKiBUaGVyZSBhcmUgb2J2aW91c2x5IGNpcmN1bXN0YW5jZXMgdW5kZXIgd2hpY2ggX2dldF9vc2ZoYW5kbGUoKQorCSAqIHJldHVybnMgKEhBTkRMRSktMi4gVGhpcyBpcyBub3QgZG9jdW1lbnRlZCBhbnl3aGVyZSwgYnV0IHRoYXQgaXMgc28KKwkgKiBjbGVhcmx5IGFuIGludmFsaWQgaGFuZGxlIHZhbHVlIHRoYXQgd2UgY2FuIGp1c3Qgd29yayBhcm91bmQgdGhpcworCSAqIGFuZCByZXR1cm4gdGhlIGNvcnJlY3QgdmFsdWUgZm9yIGludmFsaWQgaGFuZGxlcy4KKwkgKi8KKwlyZXR1cm4gcmV0ID09IChIQU5ETEUpLTIgPyBJTlZBTElEX0hBTkRMRV9WQUxVRSA6IHJldDsKIH0KZGlmZiAtLWdpdCBhL2NvbmZpZy5jIGIvY29uZmlnLmMKaW5kZXggZmY1MjFlYi4uZDE3ZDJiZCAxMDA2NDQKLS0tIGEvY29uZmlnLmMKKysrIGIvY29uZmlnLmMKQEAgLTE5LDYgKzE5LDcgQEAKICNpbmNsdWRlICJ1dGY4LmgiCiAjaW5jbHVkZSAiZGlyLmgiCiAjaW5jbHVkZSAiY29sb3IuaCIKKyNpbmNsdWRlICJyZWZzLmgiCiAKIHN0cnVjdCBjb25maWdfc291cmNlIHsKIAlzdHJ1Y3QgY29uZmlnX3NvdXJjZSAqcHJldjsKQEAgLTE3MCw2ICsxNzEsMTIgQEAKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgdm9pZCBhZGRfdHJhaWxpbmdfc3RhcnN0YXJfZm9yX2RpcihzdHJ1Y3Qgc3RyYnVmICpwYXQpCit7CisJaWYgKHBhdC0+bGVuICYmIGlzX2Rpcl9zZXAocGF0LT5idWZbcGF0LT5sZW4gLSAxXSkpCisJCXN0cmJ1Zl9hZGRzdHIocGF0LCAiKioiKTsKK30KKwogc3RhdGljIGludCBwcmVwYXJlX2luY2x1ZGVfY29uZGl0aW9uX3BhdHRlcm4oc3RydWN0IHN0cmJ1ZiAqcGF0KQogewogCXN0cnVjdCBzdHJidWYgcGF0aCA9IFNUUkJVRl9JTklUOwpAQCAtMTk3LDEwICsyMDQsOSBAQAogCQlzdHJidWZfc3BsaWNlKHBhdCwgMCwgMSwgcGF0aC5idWYsIHNsYXNoIC0gcGF0aC5idWYpOwogCQlwcmVmaXggPSBzbGFzaCAtIHBhdGguYnVmICsgMSAvKiBzbGFzaCAqLzsKIAl9IGVsc2UgaWYgKCFpc19hYnNvbHV0ZV9wYXRoKHBhdC0+YnVmKSkKLQkJc3RyYnVmX2luc2VydChwYXQsIDAsICIqKi8iLCAzKTsKKwkJc3RyYnVmX2luc2VydHN0cihwYXQsIDAsICIqKi8iKTsKIAotCWlmIChwYXQtPmxlbiAmJiBpc19kaXJfc2VwKHBhdC0+YnVmW3BhdC0+bGVuIC0gMV0pKQotCQlzdHJidWZfYWRkc3RyKHBhdCwgIioqIik7CisJYWRkX3RyYWlsaW5nX3N0YXJzdGFyX2Zvcl9kaXIocGF0KTsKIAogCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoKTsKIAlyZXR1cm4gcHJlZml4OwpAQCAtMjQyLDcgKzI0OCw3IEBACiAJfQogCiAJcmV0ID0gIXdpbGRtYXRjaChwYXR0ZXJuLmJ1ZiArIHByZWZpeCwgdGV4dC5idWYgKyBwcmVmaXgsCi0JCQkgaWNhc2UgPyBXTV9DQVNFRk9MRCA6IDApOworCQkJIFdNX1BBVEhOQU1FIHwgKGljYXNlID8gV01fQ0FTRUZPTEQgOiAwKSk7CiAKIAlpZiAoIXJldCAmJiAhYWxyZWFkeV90cmllZF9hYnNvbHV0ZSkgewogCQkvKgpAQCAtMjY0LDYgKzI3MCwyNiBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQgaW5jbHVkZV9ieV9icmFuY2goY29uc3QgY2hhciAqY29uZCwgc2l6ZV90IGNvbmRfbGVuKQoreworCWludCBmbGFnczsKKwlpbnQgcmV0OworCXN0cnVjdCBzdHJidWYgcGF0dGVybiA9IFNUUkJVRl9JTklUOworCWNvbnN0IGNoYXIgKnJlZm5hbWUgPSAhdGhlX3JlcG9zaXRvcnktPmdpdGRpciA/CisJCU5VTEwgOiByZXNvbHZlX3JlZl91bnNhZmUoIkhFQUQiLCAwLCBOVUxMLCAmZmxhZ3MpOworCWNvbnN0IGNoYXIgKnNob3J0bmFtZTsKKworCWlmICghcmVmbmFtZSB8fCAhKGZsYWdzICYgUkVGX0lTU1lNUkVGKQl8fAorCQkJIXNraXBfcHJlZml4KHJlZm5hbWUsICJyZWZzL2hlYWRzLyIsICZzaG9ydG5hbWUpKQorCQlyZXR1cm4gMDsKKworCXN0cmJ1Zl9hZGQoJnBhdHRlcm4sIGNvbmQsIGNvbmRfbGVuKTsKKwlhZGRfdHJhaWxpbmdfc3RhcnN0YXJfZm9yX2RpcigmcGF0dGVybik7CisJcmV0ID0gIXdpbGRtYXRjaChwYXR0ZXJuLmJ1Ziwgc2hvcnRuYW1lLCBXTV9QQVRITkFNRSk7CisJc3RyYnVmX3JlbGVhc2UoJnBhdHRlcm4pOworCXJldHVybiByZXQ7Cit9CisKIHN0YXRpYyBpbnQgaW5jbHVkZV9jb25kaXRpb25faXNfdHJ1ZShjb25zdCBzdHJ1Y3QgY29uZmlnX29wdGlvbnMgKm9wdHMsCiAJCQkJICAgICBjb25zdCBjaGFyICpjb25kLCBzaXplX3QgY29uZF9sZW4pCiB7CkBAIC0yNzIsNiArMjk4LDggQEAKIAkJcmV0dXJuIGluY2x1ZGVfYnlfZ2l0ZGlyKG9wdHMsIGNvbmQsIGNvbmRfbGVuLCAwKTsKIAllbHNlIGlmIChza2lwX3ByZWZpeF9tZW0oY29uZCwgY29uZF9sZW4sICJnaXRkaXIvaToiLCAmY29uZCwgJmNvbmRfbGVuKSkKIAkJcmV0dXJuIGluY2x1ZGVfYnlfZ2l0ZGlyKG9wdHMsIGNvbmQsIGNvbmRfbGVuLCAxKTsKKwllbHNlIGlmIChza2lwX3ByZWZpeF9tZW0oY29uZCwgY29uZF9sZW4sICJvbmJyYW5jaDoiLCAmY29uZCwgJmNvbmRfbGVuKSkKKwkJcmV0dXJuIGluY2x1ZGVfYnlfYnJhbmNoKGNvbmQsIGNvbmRfbGVuKTsKIAogCS8qIHVua25vd24gY29uZGl0aW9uYWxzIGFyZSBhbHdheXMgZmFsc2UgKi8KIAlyZXR1cm4gMDsKQEAgLTgzNCwyMiArODYyLDE2IEBACiAJcmV0dXJuIGVycm9yX3JldHVybjsKIH0KIAotc3RhdGljIGludCBwYXJzZV91bml0X2ZhY3Rvcihjb25zdCBjaGFyICplbmQsIHVpbnRtYXhfdCAqdmFsKQorc3RhdGljIHVpbnRtYXhfdCBnZXRfdW5pdF9mYWN0b3IoY29uc3QgY2hhciAqZW5kKQogewogCWlmICghKmVuZCkKIAkJcmV0dXJuIDE7Ci0JZWxzZSBpZiAoIXN0cmNhc2VjbXAoZW5kLCAiayIpKSB7Ci0JCSp2YWwgKj0gMTAyNDsKLQkJcmV0dXJuIDE7Ci0JfQotCWVsc2UgaWYgKCFzdHJjYXNlY21wKGVuZCwgIm0iKSkgewotCQkqdmFsICo9IDEwMjQgKiAxMDI0OwotCQlyZXR1cm4gMTsKLQl9Ci0JZWxzZSBpZiAoIXN0cmNhc2VjbXAoZW5kLCAiZyIpKSB7Ci0JCSp2YWwgKj0gMTAyNCAqIDEwMjQgKiAxMDI0OwotCQlyZXR1cm4gMTsKLQl9CisJZWxzZSBpZiAoIXN0cmNhc2VjbXAoZW5kLCAiayIpKQorCQlyZXR1cm4gMTAyNDsKKwllbHNlIGlmICghc3RyY2FzZWNtcChlbmQsICJtIikpCisJCXJldHVybiAxMDI0ICogMTAyNDsKKwllbHNlIGlmICghc3RyY2FzZWNtcChlbmQsICJnIikpCisJCXJldHVybiAxMDI0ICogMTAyNCAqIDEwMjQ7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTg1OSwxOSArODgxLDIwIEBACiAJCWNoYXIgKmVuZDsKIAkJaW50bWF4X3QgdmFsOwogCQl1aW50bWF4X3QgdXZhbDsKLQkJdWludG1heF90IGZhY3RvciA9IDE7CisJCXVpbnRtYXhfdCBmYWN0b3I7CiAKIAkJZXJybm8gPSAwOwogCQl2YWwgPSBzdHJ0b2ltYXgodmFsdWUsICZlbmQsIDApOwogCQlpZiAoZXJybm8gPT0gRVJBTkdFKQogCQkJcmV0dXJuIDA7Ci0JCWlmICghcGFyc2VfdW5pdF9mYWN0b3IoZW5kLCAmZmFjdG9yKSkgeworCQlmYWN0b3IgPSBnZXRfdW5pdF9mYWN0b3IoZW5kKTsKKwkJaWYgKCFmYWN0b3IpIHsKIAkJCWVycm5vID0gRUlOVkFMOwogCQkJcmV0dXJuIDA7CiAJCX0KLQkJdXZhbCA9IGxhYnModmFsKTsKLQkJdXZhbCAqPSBmYWN0b3I7Ci0JCWlmICh1dmFsID4gbWF4IHx8IGxhYnModmFsKSA+IHV2YWwpIHsKKwkJdXZhbCA9IHZhbCA8IDAgPyAtdmFsIDogdmFsOworCQlpZiAodW5zaWduZWRfbXVsdF9vdmVyZmxvd3MoZmFjdG9yLCB1dmFsKSB8fAorCQkgICAgZmFjdG9yICogdXZhbCA+IG1heCkgewogCQkJZXJybm8gPSBFUkFOR0U7CiAJCQlyZXR1cm4gMDsKIAkJfQpAQCAtODg4LDIxICs5MTEsMjMgQEAKIAlpZiAodmFsdWUgJiYgKnZhbHVlKSB7CiAJCWNoYXIgKmVuZDsKIAkJdWludG1heF90IHZhbDsKLQkJdWludG1heF90IG9sZHZhbDsKKwkJdWludG1heF90IGZhY3RvcjsKIAogCQllcnJubyA9IDA7CiAJCXZhbCA9IHN0cnRvdW1heCh2YWx1ZSwgJmVuZCwgMCk7CiAJCWlmIChlcnJubyA9PSBFUkFOR0UpCiAJCQlyZXR1cm4gMDsKLQkJb2xkdmFsID0gdmFsOwotCQlpZiAoIXBhcnNlX3VuaXRfZmFjdG9yKGVuZCwgJnZhbCkpIHsKKwkJZmFjdG9yID0gZ2V0X3VuaXRfZmFjdG9yKGVuZCk7CisJCWlmICghZmFjdG9yKSB7CiAJCQllcnJubyA9IEVJTlZBTDsKIAkJCXJldHVybiAwOwogCQl9Ci0JCWlmICh2YWwgPiBtYXggfHwgb2xkdmFsID4gdmFsKSB7CisJCWlmICh1bnNpZ25lZF9tdWx0X292ZXJmbG93cyhmYWN0b3IsIHZhbCkgfHwKKwkJICAgIGZhY3RvciAqIHZhbCA+IG1heCkgewogCQkJZXJybm8gPSBFUkFOR0U7CiAJCQlyZXR1cm4gMDsKIAkJfQorCQl2YWwgKj0gZmFjdG9yOwogCQkqcmV0ID0gdmFsOwogCQlyZXR1cm4gMTsKIAl9CkBAIC05NDksMzQgKzk3NCw0NCBAQAogTk9SRVRVUk4KIHN0YXRpYyB2b2lkIGRpZV9iYWRfbnVtYmVyKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQogewotCWNvbnN0IGNoYXIgKiBlcnJvcl90eXBlID0gKGVycm5vID09IEVSQU5HRSk/IF8oIm91dCBvZiByYW5nZSIpOl8oImludmFsaWQgdW5pdCIpOworCWNvbnN0IGNoYXIgKmVycm9yX3R5cGUgPSAoZXJybm8gPT0gRVJBTkdFKSA/CisJCU5fKCJvdXQgb2YgcmFuZ2UiKSA6IE5fKCJpbnZhbGlkIHVuaXQiKTsKKwljb25zdCBjaGFyICpiYWRfbnVtZXJpYyA9IE5fKCJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJzogJXMiKTsKIAogCWlmICghdmFsdWUpCiAJCXZhbHVlID0gIiI7CiAKKwlpZiAoIXN0cmNtcChuYW1lLCAiR0lUX1RFU1RfR0VUVEVYVF9QT0lTT04iKSkKKwkJLyoKKwkJICogV2UgZXhwbGljaXRseSAqZG9uJ3QqIHVzZSBfKCkgaGVyZSBzaW5jZSBpdCB3b3VsZAorCQkgKiBjYXVzZSBhbiBpbmZpbml0ZSBsb29wIHdpdGggXygpIG5lZWRpbmcgdG8gY2FsbAorCQkgKiB1c2VfZ2V0dGV4dF9wb2lzb24oKS4gVGhpcyBpcyB3aHkgbWFya2VkIHVwCisJCSAqIHRyYW5zbGF0aW9ucyB3aXRoIE5fKCkgYWJvdmUuCisJCSAqLworCQlkaWUoYmFkX251bWVyaWMsIHZhbHVlLCBuYW1lLCBlcnJvcl90eXBlKTsKKwogCWlmICghKGNmICYmIGNmLT5uYW1lKSkKLQkJZGllKF8oImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIpLAotCQkgICAgdmFsdWUsIG5hbWUsIGVycm9yX3R5cGUpOworCQlkaWUoXyhiYWRfbnVtZXJpYyksIHZhbHVlLCBuYW1lLCBfKGVycm9yX3R5cGUpKTsKIAogCXN3aXRjaCAoY2YtPm9yaWdpbl90eXBlKSB7CiAJY2FzZSBDT05GSUdfT1JJR0lOX0JMT0I6CiAJCWRpZShfKCJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBibG9iICVzOiAlcyIpLAotCQkgICAgdmFsdWUsIG5hbWUsIGNmLT5uYW1lLCBlcnJvcl90eXBlKTsKKwkJICAgIHZhbHVlLCBuYW1lLCBjZi0+bmFtZSwgXyhlcnJvcl90eXBlKSk7CiAJY2FzZSBDT05GSUdfT1JJR0lOX0ZJTEU6CiAJCWRpZShfKCJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBmaWxlICVzOiAlcyIpLAotCQkgICAgdmFsdWUsIG5hbWUsIGNmLT5uYW1lLCBlcnJvcl90eXBlKTsKKwkJICAgIHZhbHVlLCBuYW1lLCBjZi0+bmFtZSwgXyhlcnJvcl90eXBlKSk7CiAJY2FzZSBDT05GSUdfT1JJR0lOX1NURElOOgogCQlkaWUoXygiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3RhbmRhcmQgaW5wdXQ6ICVzIiksCi0JCSAgICB2YWx1ZSwgbmFtZSwgZXJyb3JfdHlwZSk7CisJCSAgICB2YWx1ZSwgbmFtZSwgXyhlcnJvcl90eXBlKSk7CiAJY2FzZSBDT05GSUdfT1JJR0lOX1NVQk1PRFVMRV9CTE9COgogCQlkaWUoXygiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3VibW9kdWxlLWJsb2IgJXM6ICVzIiksCi0JCSAgICB2YWx1ZSwgbmFtZSwgY2YtPm5hbWUsIGVycm9yX3R5cGUpOworCQkgICAgdmFsdWUsIG5hbWUsIGNmLT5uYW1lLCBfKGVycm9yX3R5cGUpKTsKIAljYXNlIENPTkZJR19PUklHSU5fQ01ETElORToKIAkJZGllKF8oImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGNvbW1hbmQgbGluZSAlczogJXMiKSwKLQkJICAgIHZhbHVlLCBuYW1lLCBjZi0+bmFtZSwgZXJyb3JfdHlwZSk7CisJCSAgICB2YWx1ZSwgbmFtZSwgY2YtPm5hbWUsIF8oZXJyb3JfdHlwZSkpOwogCWRlZmF1bHQ6CiAJCWRpZShfKCJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiAlczogJXMiKSwKLQkJICAgIHZhbHVlLCBuYW1lLCBjZi0+bmFtZSwgZXJyb3JfdHlwZSk7CisJCSAgICB2YWx1ZSwgbmFtZSwgY2YtPm5hbWUsIF8oZXJyb3JfdHlwZSkpOwogCX0KIH0KIApAQCAtMTE2OSw3ICsxMjA0LDcgQEAKIAkJCWRlZmF1bHRfYWJicmV2ID0gLTE7CiAJCWVsc2UgewogCQkJaW50IGFiYnJldiA9IGdpdF9jb25maWdfaW50KHZhciwgdmFsdWUpOwotCQkJaWYgKGFiYnJldiA8IG1pbmltdW1fYWJicmV2IHx8IGFiYnJldiA+IDQwKQorCQkJaWYgKGFiYnJldiA8IG1pbmltdW1fYWJicmV2IHx8IGFiYnJldiA+IHRoZV9oYXNoX2FsZ28tPmhleHN6KQogCQkJCXJldHVybiBlcnJvcihfKCJhYmJyZXYgbGVuZ3RoIG91dCBvZiByYW5nZTogJWQiKSwgYWJicmV2KTsKIAkJCWRlZmF1bHRfYWJicmV2ID0gYWJicmV2OwogCQl9CkBAIC0xMzI5LDYgKzEzNjQsMTEgQEAKIAkJcmV0dXJuIDA7CiAJfQogCisJaWYgKCFzdHJjbXAodmFyLCAiY29yZS5zcGFyc2VjaGVja291dGNvbmUiKSkgeworCQljb3JlX3NwYXJzZV9jaGVja291dF9jb25lID0gZ2l0X2NvbmZpZ19ib29sKHZhciwgdmFsdWUpOworCQlyZXR1cm4gMDsKKwl9CisKIAlpZiAoIXN0cmNtcCh2YXIsICJjb3JlLnByZWNvbXBvc2V1bmljb2RlIikpIHsKIAkJcHJlY29tcG9zZWRfdW5pY29kZSA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKIAkJcmV0dXJuIDA7CkBAIC0xMzQ0LDExICsxMzg0LDYgQEAKIAkJcmV0dXJuIDA7CiAJfQogCi0JaWYgKCFzdHJjbXAodmFyLCAiY29yZS5wYXJ0aWFsY2xvbmVmaWx0ZXIiKSkgewotCQlyZXR1cm4gZ2l0X2NvbmZpZ19zdHJpbmcoJmNvcmVfcGFydGlhbF9jbG9uZV9maWx0ZXJfZGVmYXVsdCwKLQkJCQkJIHZhciwgdmFsdWUpOwotCX0KLQogCWlmICghc3RyY21wKHZhciwgImNvcmUudXNlcmVwbGFjZXJlZnMiKSkgewogCQlyZWFkX3JlcGxhY2VfcmVmcyA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKIAkJcmV0dXJuIDA7CkBAIC0xNDQ1LDcgKzE0ODAsOSBAQAogCWlmIChzdGFydHNfd2l0aCh2YXIsICJjb3JlLiIpKQogCQlyZXR1cm4gZ2l0X2RlZmF1bHRfY29yZV9jb25maWcodmFyLCB2YWx1ZSwgY2IpOwogCi0JaWYgKHN0YXJ0c193aXRoKHZhciwgInVzZXIuIikpCisJaWYgKHN0YXJ0c193aXRoKHZhciwgInVzZXIuIikgfHwKKwkgICAgc3RhcnRzX3dpdGgodmFyLCAiYXV0aG9yLiIpIHx8CisJICAgIHN0YXJ0c193aXRoKHZhciwgImNvbW1pdHRlci4iKSkKIAkJcmV0dXJuIGdpdF9pZGVudF9jb25maWcodmFyLCB2YWx1ZSwgY2IpOwogCiAJaWYgKHN0YXJ0c193aXRoKHZhciwgImkxOG4uIikpCkBAIC0xNjY1LDYgKzE3MDIsNyBAQAogCWNoYXIgKnhkZ19jb25maWcgPSB4ZGdfY29uZmlnX2hvbWUoImNvbmZpZyIpOwogCWNoYXIgKnVzZXJfY29uZmlnID0gZXhwYW5kX3VzZXJfcGF0aCgifi8uZ2l0Y29uZmlnIiwgMCk7CiAJY2hhciAqcmVwb19jb25maWc7CisJZW51bSBjb25maWdfc2NvcGUgcHJldl9wYXJzaW5nX3Njb3BlID0gY3VycmVudF9wYXJzaW5nX3Njb3BlOwogCiAJaWYgKG9wdHMtPmNvbW1vbmRpcikKIAkJcmVwb19jb25maWcgPSBta3BhdGhkdXAoIiVzL2NvbmZpZyIsIG9wdHMtPmNvbW1vbmRpcik7CkBAIC0xNjc0LDcgKzE3MTIsOSBAQAogCQlyZXBvX2NvbmZpZyA9IE5VTEw7CiAKIAljdXJyZW50X3BhcnNpbmdfc2NvcGUgPSBDT05GSUdfU0NPUEVfU1lTVEVNOwotCWlmIChnaXRfY29uZmlnX3N5c3RlbSgpICYmICFhY2Nlc3Nfb3JfZGllKGdpdF9ldGNfZ2l0Y29uZmlnKCksIFJfT0ssIDApKQorCWlmIChnaXRfY29uZmlnX3N5c3RlbSgpICYmICFhY2Nlc3Nfb3JfZGllKGdpdF9ldGNfZ2l0Y29uZmlnKCksIFJfT0ssCisJCQkJCQkgIG9wdHMtPnN5c3RlbV9nZW50bHkgPworCQkJCQkJICBBQ0NFU1NfRUFDQ0VTX09LIDogMCkpCiAJCXJldCArPSBnaXRfY29uZmlnX2Zyb21fZmlsZShmbiwgZ2l0X2V0Y19naXRjb25maWcoKSwKIAkJCQkJICAgIGRhdGEpOwogCkBAIC0xNjg1LDI2ICsxNzI1LDI0IEBACiAJaWYgKHVzZXJfY29uZmlnICYmICFhY2Nlc3Nfb3JfZGllKHVzZXJfY29uZmlnLCBSX09LLCBBQ0NFU1NfRUFDQ0VTX09LKSkKIAkJcmV0ICs9IGdpdF9jb25maWdfZnJvbV9maWxlKGZuLCB1c2VyX2NvbmZpZywgZGF0YSk7CiAKLQljdXJyZW50X3BhcnNpbmdfc2NvcGUgPSBDT05GSUdfU0NPUEVfUkVQTzsKLQlpZiAocmVwb19jb25maWcgJiYgIWFjY2Vzc19vcl9kaWUocmVwb19jb25maWcsIFJfT0ssIDApKQorCWN1cnJlbnRfcGFyc2luZ19zY29wZSA9IENPTkZJR19TQ09QRV9MT0NBTDsKKwlpZiAoIW9wdHMtPmlnbm9yZV9yZXBvICYmIHJlcG9fY29uZmlnICYmCisJICAgICFhY2Nlc3Nfb3JfZGllKHJlcG9fY29uZmlnLCBSX09LLCAwKSkKIAkJcmV0ICs9IGdpdF9jb25maWdfZnJvbV9maWxlKGZuLCByZXBvX2NvbmZpZywgZGF0YSk7CiAKLQkvKgotCSAqIE5vdGU6IHRoaXMgc2hvdWxkIGhhdmUgYSBuZXcgc2NvcGUsIENPTkZJR19TQ09QRV9XT1JLVFJFRS4KLQkgKiBCdXQgbGV0J3Mgbm90IGNvbXBsaWNhdGUgdGhpbmdzIGJlZm9yZSBpdCdzIGFjdHVhbGx5IG5lZWRlZC4KLQkgKi8KLQlpZiAocmVwb3NpdG9yeV9mb3JtYXRfd29ya3RyZWVfY29uZmlnKSB7CisJY3VycmVudF9wYXJzaW5nX3Njb3BlID0gQ09ORklHX1NDT1BFX1dPUktUUkVFOworCWlmICghb3B0cy0+aWdub3JlX3dvcmt0cmVlICYmIHJlcG9zaXRvcnlfZm9ybWF0X3dvcmt0cmVlX2NvbmZpZykgewogCQljaGFyICpwYXRoID0gZ2l0X3BhdGhkdXAoImNvbmZpZy53b3JrdHJlZSIpOwogCQlpZiAoIWFjY2Vzc19vcl9kaWUocGF0aCwgUl9PSywgMCkpCiAJCQlyZXQgKz0gZ2l0X2NvbmZpZ19mcm9tX2ZpbGUoZm4sIHBhdGgsIGRhdGEpOwogCQlmcmVlKHBhdGgpOwogCX0KIAotCWN1cnJlbnRfcGFyc2luZ19zY29wZSA9IENPTkZJR19TQ09QRV9DTURMSU5FOwotCWlmIChnaXRfY29uZmlnX2Zyb21fcGFyYW1ldGVycyhmbiwgZGF0YSkgPCAwKQorCWN1cnJlbnRfcGFyc2luZ19zY29wZSA9IENPTkZJR19TQ09QRV9DT01NQU5EOworCWlmICghb3B0cy0+aWdub3JlX2NtZGxpbmUgJiYgZ2l0X2NvbmZpZ19mcm9tX3BhcmFtZXRlcnMoZm4sIGRhdGEpIDwgMCkKIAkJZGllKF8oInVuYWJsZSB0byBwYXJzZSBjb21tYW5kLWxpbmUgY29uZmlnIikpOwogCi0JY3VycmVudF9wYXJzaW5nX3Njb3BlID0gQ09ORklHX1NDT1BFX1VOS05PV047CisJY3VycmVudF9wYXJzaW5nX3Njb3BlID0gcHJldl9wYXJzaW5nX3Njb3BlOwogCWZyZWUoeGRnX2NvbmZpZyk7CiAJZnJlZSh1c2VyX2NvbmZpZyk7CiAJZnJlZShyZXBvX2NvbmZpZyk7CkBAIC0xNzI1LDYgKzE3NjMsOSBAQAogCQlkYXRhID0gJmluYzsKIAl9CiAKKwlpZiAoY29uZmlnX3NvdXJjZSkKKwkJY3VycmVudF9wYXJzaW5nX3Njb3BlID0gY29uZmlnX3NvdXJjZS0+c2NvcGU7CisKIAkvKgogCSAqIElmIHdlIGhhdmUgYSBzcGVjaWZpYyBmaWxlbmFtZSwgdXNlIGl0LiBPdGhlcndpc2UsIGZvbGxvdyB0aGUKIAkgKiByZWd1bGFyIGxvb2t1cCBzZXF1ZW5jZS4KQEAgLTE3OTIsNiArMTgzMywyMyBAQAogCXN0cmJ1Zl9yZWxlYXNlKCZnaXRkaXIpOwogfQogCisvKgorICogUmVhZCBjb25maWcgYnV0IG9ubHkgZW51bWVyYXRlIHN5c3RlbSBhbmQgZ2xvYmFsIHNldHRpbmdzLgorICogT21pdCBhbnkgcmVwby1sb2NhbCwgd29ya3RyZWUtbG9jYWwsIG9yIGNvbW1hbmQtbGluZSBzZXR0aW5ncy4KKyAqLwordm9pZCByZWFkX3ZlcnlfZWFybHlfY29uZmlnKGNvbmZpZ19mbl90IGNiLCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBjb25maWdfb3B0aW9ucyBvcHRzID0geyAwIH07CisKKwlvcHRzLnJlc3BlY3RfaW5jbHVkZXMgPSAxOworCW9wdHMuaWdub3JlX3JlcG8gPSAxOworCW9wdHMuaWdub3JlX3dvcmt0cmVlID0gMTsKKwlvcHRzLmlnbm9yZV9jbWRsaW5lID0gMTsKKwlvcHRzLnN5c3RlbV9nZW50bHkgPSAxOworCisJY29uZmlnX3dpdGhfb3B0aW9ucyhjYiwgZGF0YSwgTlVMTCwgJm9wdHMpOworfQorCiBzdGF0aWMgc3RydWN0IGNvbmZpZ19zZXRfZWxlbWVudCAqY29uZmlnc2V0X2ZpbmRfZWxlbWVudChzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSkKIHsKIAlzdHJ1Y3QgY29uZmlnX3NldF9lbGVtZW50IGs7CkBAIC0xODA0LDkgKzE4NjIsOSBAQAogCWlmIChnaXRfY29uZmlnX3BhcnNlX2tleShrZXksICZub3JtYWxpemVkX2tleSwgTlVMTCkpCiAJCXJldHVybiBOVUxMOwogCi0JaGFzaG1hcF9lbnRyeV9pbml0KCZrLCBzdHJoYXNoKG5vcm1hbGl6ZWRfa2V5KSk7CisJaGFzaG1hcF9lbnRyeV9pbml0KCZrLmVudCwgc3RyaGFzaChub3JtYWxpemVkX2tleSkpOwogCWsua2V5ID0gbm9ybWFsaXplZF9rZXk7Ci0JZm91bmRfZW50cnkgPSBoYXNobWFwX2dldCgmY3MtPmNvbmZpZ19oYXNoLCAmaywgTlVMTCk7CisJZm91bmRfZW50cnkgPSBoYXNobWFwX2dldF9lbnRyeSgmY3MtPmNvbmZpZ19oYXNoLCAmaywgZW50LCBOVUxMKTsKIAlmcmVlKG5vcm1hbGl6ZWRfa2V5KTsKIAlyZXR1cm4gZm91bmRfZW50cnk7CiB9CkBAIC0xODI1LDEwICsxODgzLDEwIEBACiAJICovCiAJaWYgKCFlKSB7CiAJCWUgPSB4bWFsbG9jKHNpemVvZigqZSkpOwotCQloYXNobWFwX2VudHJ5X2luaXQoZSwgc3RyaGFzaChrZXkpKTsKKwkJaGFzaG1hcF9lbnRyeV9pbml0KCZlLT5lbnQsIHN0cmhhc2goa2V5KSk7CiAJCWUtPmtleSA9IHhzdHJkdXAoa2V5KTsKIAkJc3RyaW5nX2xpc3RfaW5pdCgmZS0+dmFsdWVfbGlzdCwgMSk7Ci0JCWhhc2htYXBfYWRkKCZjcy0+Y29uZmlnX2hhc2gsIGUpOworCQloYXNobWFwX2FkZCgmY3MtPmNvbmZpZ19oYXNoLCAmZS0+ZW50KTsKIAl9CiAJc2kgPSBzdHJpbmdfbGlzdF9hcHBlbmRfbm9kdXAoJmUtPnZhbHVlX2xpc3QsIHhzdHJkdXBfb3JfbnVsbCh2YWx1ZSkpOwogCkBAIC0xODU2LDEyICsxOTE0LDE0IEBACiB9CiAKIHN0YXRpYyBpbnQgY29uZmlnX3NldF9lbGVtZW50X2NtcChjb25zdCB2b2lkICp1bnVzZWRfY21wX2RhdGEsCi0JCQkJICBjb25zdCB2b2lkICplbnRyeSwKLQkJCQkgIGNvbnN0IHZvaWQgKmVudHJ5X29yX2tleSwKKwkJCQkgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplcHRyLAorCQkJCSAgY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmVudHJ5X29yX2tleSwKIAkJCQkgIGNvbnN0IHZvaWQgKnVudXNlZF9rZXlkYXRhKQogewotCWNvbnN0IHN0cnVjdCBjb25maWdfc2V0X2VsZW1lbnQgKmUxID0gZW50cnk7Ci0JY29uc3Qgc3RydWN0IGNvbmZpZ19zZXRfZWxlbWVudCAqZTIgPSBlbnRyeV9vcl9rZXk7CisJY29uc3Qgc3RydWN0IGNvbmZpZ19zZXRfZWxlbWVudCAqZTEsICplMjsKKworCWUxID0gY29udGFpbmVyX29mKGVwdHIsIGNvbnN0IHN0cnVjdCBjb25maWdfc2V0X2VsZW1lbnQsIGVudCk7CisJZTIgPSBjb250YWluZXJfb2YoZW50cnlfb3Jfa2V5LCBjb25zdCBzdHJ1Y3QgY29uZmlnX3NldF9lbGVtZW50LCBlbnQpOwogCiAJcmV0dXJuIHN0cmNtcChlMS0+a2V5LCBlMi0+a2V5KTsKIH0KQEAgLTE4ODIsMTIgKzE5NDIsMTIgQEAKIAlpZiAoIWNzLT5oYXNoX2luaXRpYWxpemVkKQogCQlyZXR1cm47CiAKLQloYXNobWFwX2l0ZXJfaW5pdCgmY3MtPmNvbmZpZ19oYXNoLCAmaXRlcik7Ci0Jd2hpbGUgKChlbnRyeSA9IGhhc2htYXBfaXRlcl9uZXh0KCZpdGVyKSkpIHsKKwloYXNobWFwX2Zvcl9lYWNoX2VudHJ5KCZjcy0+Y29uZmlnX2hhc2gsICZpdGVyLCBlbnRyeSwKKwkJCQllbnQgLyogbWVtYmVyIG5hbWUgKi8pIHsKIAkJZnJlZShlbnRyeS0+a2V5KTsKIAkJc3RyaW5nX2xpc3RfY2xlYXIoJmVudHJ5LT52YWx1ZV9saXN0LCAxKTsKIAl9Ci0JaGFzaG1hcF9mcmVlKCZjcy0+Y29uZmlnX2hhc2gsIDEpOworCWhhc2htYXBfZnJlZV9lbnRyaWVzKCZjcy0+Y29uZmlnX2hhc2gsIHN0cnVjdCBjb25maWdfc2V0X2VsZW1lbnQsIGVudCk7CiAJY3MtPmhhc2hfaW5pdGlhbGl6ZWQgPSAwOwogCWZyZWUoY3MtPmxpc3QuaXRlbXMpOwogCWNzLT5saXN0Lm5yID0gMDsKQEAgLTIwMDksNyArMjA2OSw3IEBACiAvKiBGdW5jdGlvbnMgdXNlIHRvIHJlYWQgY29uZmlndXJhdGlvbiBmcm9tIGEgcmVwb3NpdG9yeSAqLwogc3RhdGljIHZvaWQgcmVwb19yZWFkX2NvbmZpZyhzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbykKIHsKLQlzdHJ1Y3QgY29uZmlnX29wdGlvbnMgb3B0czsKKwlzdHJ1Y3QgY29uZmlnX29wdGlvbnMgb3B0cyA9IHsgMCB9OwogCiAJb3B0cy5yZXNwZWN0X2luY2x1ZGVzID0gMTsKIAlvcHRzLmNvbW1vbmRpciA9IHJlcG8tPmNvbW1vbmRpcjsKQEAgLTIyMzEsMzAgKzIyOTEsNiBAQAogCXJldHVybiAtMTsgLyogdGhpbmcgZXhpc3RzIGJ1dCBjYW5ub3QgYmUgcGFyc2VkICovCiB9CiAKLWludCBnaXRfY29uZmlnX2dldF91bnRyYWNrZWRfY2FjaGUodm9pZCkKLXsKLQlpbnQgdmFsID0gLTE7Ci0JY29uc3QgY2hhciAqdjsKLQotCS8qIEhhY2sgZm9yIHRlc3QgcHJvZ3JhbXMgbGlrZSB0ZXN0LWR1bXAtdW50cmFja2VkLWNhY2hlICovCi0JaWYgKGlnbm9yZV91bnRyYWNrZWRfY2FjaGVfY29uZmlnKQotCQlyZXR1cm4gLTE7Ci0KLQlpZiAoIWdpdF9jb25maWdfZ2V0X21heWJlX2Jvb2woImNvcmUudW50cmFja2VkY2FjaGUiLCAmdmFsKSkKLQkJcmV0dXJuIHZhbDsKLQotCWlmICghZ2l0X2NvbmZpZ19nZXRfdmFsdWUoImNvcmUudW50cmFja2VkY2FjaGUiLCAmdikpIHsKLQkJaWYgKCFzdHJjYXNlY21wKHYsICJrZWVwIikpCi0JCQlyZXR1cm4gLTE7Ci0KLQkJZXJyb3IoXygidW5rbm93biBjb3JlLnVudHJhY2tlZENhY2hlIHZhbHVlICclcyc7ICIKLQkJCSJ1c2luZyAna2VlcCcgZGVmYXVsdCB2YWx1ZSIpLCB2KTsKLQkJcmV0dXJuIC0xOwotCX0KLQotCXJldHVybiAtMTsgLyogZGVmYXVsdCB2YWx1ZSAqLwotfQotCiBpbnQgZ2l0X2NvbmZpZ19nZXRfc3BsaXRfaW5kZXgodm9pZCkKIHsKIAlpbnQgdmFsOwpAQCAtMjU2NSw3ICsyNjAxLDYgQEAKICAqIGVudHJ5ICh3aGljaCBhbGwgYXJlIHRvIGJlIHJlbW92ZWQpLgogICovCiBzdGF0aWMgdm9pZCBtYXliZV9yZW1vdmVfc2VjdGlvbihzdHJ1Y3QgY29uZmlnX3N0b3JlX2RhdGEgKnN0b3JlLAotCQkJCSBjb25zdCBjaGFyICpjb250ZW50cywKIAkJCQkgc2l6ZV90ICpiZWdpbl9vZmZzZXQsIHNpemVfdCAqZW5kX29mZnNldCwKIAkJCQkgaW50ICpzZWVuX3B0cikKIHsKQEAgLTI2NTYsNiArMjY5MSw4IEBACiB2b2lkIGdpdF9jb25maWdfc2V0KGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqdmFsdWUpCiB7CiAJZ2l0X2NvbmZpZ19zZXRfbXVsdGl2YXIoa2V5LCB2YWx1ZSwgTlVMTCwgMCk7CisKKwl0cmFjZTJfY21kX3NldF9jb25maWcoa2V5LCB2YWx1ZSk7CiB9CiAKIC8qCkBAIC0yODUwLDcgKzI4ODcsNyBAQAogCQkJCXJlcGxhY2VfZW5kID0gc3RvcmUucGFyc2VkW2pdLmVuZDsKIAkJCQljb3B5X2VuZCA9IHN0b3JlLnBhcnNlZFtqXS5iZWdpbjsKIAkJCQlpZiAoIXZhbHVlKQotCQkJCQltYXliZV9yZW1vdmVfc2VjdGlvbigmc3RvcmUsIGNvbnRlbnRzLAorCQkJCQltYXliZV9yZW1vdmVfc2VjdGlvbigmc3RvcmUsCiAJCQkJCQkJICAgICAmY29weV9lbmQsCiAJCQkJCQkJICAgICAmcmVwbGFjZV9lbmQsICZpKTsKIAkJCQkvKgpAQCAtMzI2MSw2ICszMjk4LDI2IEBACiAJfQogfQogCitjb25zdCBjaGFyICpjb25maWdfc2NvcGVfbmFtZShlbnVtIGNvbmZpZ19zY29wZSBzY29wZSkKK3sKKwlzd2l0Y2ggKHNjb3BlKSB7CisJY2FzZSBDT05GSUdfU0NPUEVfU1lTVEVNOgorCQlyZXR1cm4gInN5c3RlbSI7CisJY2FzZSBDT05GSUdfU0NPUEVfR0xPQkFMOgorCQlyZXR1cm4gImdsb2JhbCI7CisJY2FzZSBDT05GSUdfU0NPUEVfTE9DQUw6CisJCXJldHVybiAibG9jYWwiOworCWNhc2UgQ09ORklHX1NDT1BFX1dPUktUUkVFOgorCQlyZXR1cm4gIndvcmt0cmVlIjsKKwljYXNlIENPTkZJR19TQ09QRV9DT01NQU5EOgorCQlyZXR1cm4gImNvbW1hbmQiOworCWNhc2UgQ09ORklHX1NDT1BFX1NVQk1PRFVMRToKKwkJcmV0dXJuICJzdWJtb2R1bGUiOworCWRlZmF1bHQ6CisJCXJldHVybiAidW5rbm93biI7CisJfQorfQorCiBjb25zdCBjaGFyICpjdXJyZW50X2NvbmZpZ19uYW1lKHZvaWQpCiB7CiAJY29uc3QgY2hhciAqbmFtZTsKQEAgLTMyODEsNiArMzMzOCwxNCBAQAogCQlyZXR1cm4gY3VycmVudF9wYXJzaW5nX3Njb3BlOwogfQogCitpbnQgY3VycmVudF9jb25maWdfbGluZSh2b2lkKQoreworCWlmIChjdXJyZW50X2NvbmZpZ19rdmkpCisJCXJldHVybiBjdXJyZW50X2NvbmZpZ19rdmktPmxpbmVucjsKKwllbHNlCisJCXJldHVybiBjZi0+bGluZW5yOworfQorCiBpbnQgbG9va3VwX2NvbmZpZyhjb25zdCBjaGFyICoqbWFwcGluZywgaW50IG5yX21hcHBpbmcsIGNvbnN0IGNoYXIgKnZhcikKIHsKIAlpbnQgaTsKZGlmZiAtLWdpdCBhL2NvbmZpZy5oIGIvY29uZmlnLmgKaW5kZXggZWU1ZDNmYS4uOWIzNzczZiAxMDA2NDQKLS0tIGEvY29uZmlnLmgKKysrIGIvY29uZmlnLmgKQEAgLTQsNiArNCwyMiBAQAogI2luY2x1ZGUgImhhc2htYXAuaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgogCisKKy8qKgorICogVGhlIGNvbmZpZyBBUEkgZ2l2ZXMgY2FsbGVycyBhIHdheSB0byBhY2Nlc3MgR2l0IGNvbmZpZ3VyYXRpb24gZmlsZXMKKyAqIChhbmQgZmlsZXMgd2hpY2ggaGF2ZSB0aGUgc2FtZSBzeW50YXgpLgorICoKKyAqIEdlbmVyYWwgVXNhZ2UKKyAqIC0tLS0tLS0tLS0tLS0KKyAqCisgKiBDb25maWcgZmlsZXMgYXJlIHBhcnNlZCBsaW5lYXJseSwgYW5kIGVhY2ggdmFyaWFibGUgZm91bmQgaXMgcGFzc2VkIHRvIGEKKyAqIGNhbGxlci1wcm92aWRlZCBjYWxsYmFjayBmdW5jdGlvbi4gVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlCisgKiBmb3IgYW55IGFjdGlvbnMgdG8gYmUgdGFrZW4gb24gdGhlIGNvbmZpZyBvcHRpb24sIGFuZCBpcyBmcmVlIHRvIGlnbm9yZQorICogc29tZSBvcHRpb25zLiBJdCBpcyBub3QgdW5jb21tb24gZm9yIHRoZSBjb25maWd1cmF0aW9uIHRvIGJlIHBhcnNlZAorICogc2V2ZXJhbCB0aW1lcyBkdXJpbmcgdGhlIHJ1biBvZiBhIEdpdCBwcm9ncmFtLCB3aXRoIGRpZmZlcmVudCBjYWxsYmFja3MKKyAqIHBpY2tpbmcgb3V0IGRpZmZlcmVudCB2YXJpYWJsZXMgdXNlZnVsIHRvIHRoZW1zZWx2ZXMuCisgKi8KKwogc3RydWN0IG9iamVjdF9pZDsKIAogLyogZ2l0X2NvbmZpZ19wYXJzZV9rZXkoKSByZXR1cm5zIHRoZXNlIG5lZ2F0ZWQ6ICovCkBAIC0xOSwxMCArMzUsMjIgQEAKIAogI2RlZmluZSBDT05GSUdfUkVHRVhfTk9ORSAoKHZvaWQgKikxKQogCitlbnVtIGNvbmZpZ19zY29wZSB7CisJQ09ORklHX1NDT1BFX1VOS05PV04gPSAwLAorCUNPTkZJR19TQ09QRV9TWVNURU0sCisJQ09ORklHX1NDT1BFX0dMT0JBTCwKKwlDT05GSUdfU0NPUEVfTE9DQUwsCisJQ09ORklHX1NDT1BFX1dPUktUUkVFLAorCUNPTkZJR19TQ09QRV9DT01NQU5ELAorCUNPTkZJR19TQ09QRV9TVUJNT0RVTEUsCit9OworY29uc3QgY2hhciAqY29uZmlnX3Njb3BlX25hbWUoZW51bSBjb25maWdfc2NvcGUgc2NvcGUpOworCiBzdHJ1Y3QgZ2l0X2NvbmZpZ19zb3VyY2UgewogCXVuc2lnbmVkIGludCB1c2Vfc3RkaW46MTsKIAljb25zdCBjaGFyICpmaWxlOwogCWNvbnN0IGNoYXIgKmJsb2I7CisJZW51bSBjb25maWdfc2NvcGUgc2NvcGU7CiB9OwogCiBlbnVtIGNvbmZpZ19vcmlnaW5fdHlwZSB7CkBAIC01NSw2ICs4MywxMCBAQAogCiBzdHJ1Y3QgY29uZmlnX29wdGlvbnMgewogCXVuc2lnbmVkIGludCByZXNwZWN0X2luY2x1ZGVzIDogMTsKKwl1bnNpZ25lZCBpbnQgaWdub3JlX3JlcG8gOiAxOworCXVuc2lnbmVkIGludCBpZ25vcmVfd29ya3RyZWUgOiAxOworCXVuc2lnbmVkIGludCBpZ25vcmVfY21kbGluZSA6IDE7CisJdW5zaWduZWQgaW50IHN5c3RlbV9nZW50bHkgOiAxOwogCWNvbnN0IGNoYXIgKmNvbW1vbmRpcjsKIAljb25zdCBjaGFyICpnaXRfZGlyOwogCWNvbmZpZ19wYXJzZXJfZXZlbnRfZm5fdCBldmVudF9mbjsKQEAgLTY3LDc2ICs5OSwyNDIgQEAKIAl9IGVycm9yX2FjdGlvbjsKIH07CiAKKy8qKgorICogQSBjb25maWcgY2FsbGJhY2sgZnVuY3Rpb24gdGFrZXMgdGhyZWUgcGFyYW1ldGVyczoKKyAqCisgKiAtIHRoZSBuYW1lIG9mIHRoZSBwYXJzZWQgdmFyaWFibGUuIFRoaXMgaXMgaW4gY2Fub25pY2FsICJmbGF0IiBmb3JtOiB0aGUKKyAqICAgc2VjdGlvbiwgc3Vic2VjdGlvbiwgYW5kIHZhcmlhYmxlIHNlZ21lbnRzIHdpbGwgYmUgc2VwYXJhdGVkIGJ5IGRvdHMsCisgKiAgIGFuZCB0aGUgc2VjdGlvbiBhbmQgdmFyaWFibGUgc2VnbWVudHMgd2lsbCBiZSBhbGwgbG93ZXJjYXNlLiBFLmcuLAorICogICBgY29yZS5pZ25vcmVjYXNlYCwgYGRpZmYuU29tZVR5cGUudGV4dGNvbnZgLgorICoKKyAqIC0gdGhlIHZhbHVlIG9mIHRoZSBmb3VuZCB2YXJpYWJsZSwgYXMgYSBzdHJpbmcuIElmIHRoZSB2YXJpYWJsZSBoYWQgbm8KKyAqICAgdmFsdWUgc3BlY2lmaWVkLCB0aGUgdmFsdWUgd2lsbCBiZSBOVUxMICh0eXBpY2FsbHkgdGhpcyBtZWFucyBpdAorICogICBzaG91bGQgYmUgaW50ZXJwcmV0ZWQgYXMgYm9vbGVhbiB0cnVlKS4KKyAqCisgKiAtIGEgdm9pZCBwb2ludGVyIHBhc3NlZCBpbiBieSB0aGUgY2FsbGVyIG9mIHRoZSBjb25maWcgQVBJOyB0aGlzIGNhbgorICogICBjb250YWluIGNhbGxiYWNrLXNwZWNpZmljIGRhdGEKKyAqCisgKiBBIGNvbmZpZyBjYWxsYmFjayBzaG91bGQgcmV0dXJuIDAgZm9yIHN1Y2Nlc3MsIG9yIC0xIGlmIHRoZSB2YXJpYWJsZQorICogY291bGQgbm90IGJlIHBhcnNlZCBwcm9wZXJseS4KKyAqLwogdHlwZWRlZiBpbnQgKCpjb25maWdfZm5fdCkoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIHZvaWQgKik7Ci1leHRlcm4gaW50IGdpdF9kZWZhdWx0X2NvbmZpZyhjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgdm9pZCAqKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19mcm9tX2ZpbGUoY29uZmlnX2ZuX3QgZm4sIGNvbnN0IGNoYXIgKiwgdm9pZCAqKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19mcm9tX2ZpbGVfd2l0aF9vcHRpb25zKGNvbmZpZ19mbl90IGZuLCBjb25zdCBjaGFyICosCi0JCQkJCSAgICAgdm9pZCAqLAotCQkJCQkgICAgIGNvbnN0IHN0cnVjdCBjb25maWdfb3B0aW9ucyAqKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19mcm9tX21lbShjb25maWdfZm5fdCBmbiwKLQkJCSAgICAgICBjb25zdCBlbnVtIGNvbmZpZ19vcmlnaW5fdHlwZSwKLQkJCSAgICAgICBjb25zdCBjaGFyICpuYW1lLAotCQkJICAgICAgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbiwKLQkJCSAgICAgICB2b2lkICpkYXRhLCBjb25zdCBzdHJ1Y3QgY29uZmlnX29wdGlvbnMgKm9wdHMpOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2Zyb21fYmxvYl9vaWQoY29uZmlnX2ZuX3QgZm4sIGNvbnN0IGNoYXIgKm5hbWUsCi0JCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgdm9pZCAqZGF0YSk7Ci1leHRlcm4gdm9pZCBnaXRfY29uZmlnX3B1c2hfcGFyYW1ldGVyKGNvbnN0IGNoYXIgKnRleHQpOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2Zyb21fcGFyYW1ldGVycyhjb25maWdfZm5fdCBmbiwgdm9pZCAqZGF0YSk7Ci1leHRlcm4gdm9pZCByZWFkX2Vhcmx5X2NvbmZpZyhjb25maWdfZm5fdCBjYiwgdm9pZCAqZGF0YSk7Ci1leHRlcm4gdm9pZCBnaXRfY29uZmlnKGNvbmZpZ19mbl90IGZuLCB2b2lkICopOwotZXh0ZXJuIGludCBjb25maWdfd2l0aF9vcHRpb25zKGNvbmZpZ19mbl90IGZuLCB2b2lkICosCi0JCQkgICAgICAgc3RydWN0IGdpdF9jb25maWdfc291cmNlICpjb25maWdfc291cmNlLAotCQkJICAgICAgIGNvbnN0IHN0cnVjdCBjb25maWdfb3B0aW9ucyAqb3B0cyk7Ci1leHRlcm4gaW50IGdpdF9wYXJzZV9zc2l6ZV90KGNvbnN0IGNoYXIgKiwgc3NpemVfdCAqKTsKLWV4dGVybiBpbnQgZ2l0X3BhcnNlX3Vsb25nKGNvbnN0IGNoYXIgKiwgdW5zaWduZWQgbG9uZyAqKTsKLWV4dGVybiBpbnQgZ2l0X3BhcnNlX21heWJlX2Jvb2woY29uc3QgY2hhciAqKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19pbnQoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOwotZXh0ZXJuIGludDY0X3QgZ2l0X2NvbmZpZ19pbnQ2NChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyBnaXRfY29uZmlnX3Vsb25nKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKLWV4dGVybiBzc2l6ZV90IGdpdF9jb25maWdfc3NpemVfdChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfYm9vbF9vcl9pbnQoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGludCAqKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19ib29sKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19zdHJpbmcoY29uc3QgY2hhciAqKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX3BhdGhuYW1lKGNvbnN0IGNoYXIgKiosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19leHBpcnlfZGF0ZSh0aW1lc3RhbXBfdCAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfY29sb3IoY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfc2V0X2luX2ZpbGVfZ2VudGx5KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOwotZXh0ZXJuIHZvaWQgZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19zZXRfZ2VudGx5KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKLWV4dGVybiB2b2lkIGdpdF9jb25maWdfc2V0KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19wYXJzZV9rZXkoY29uc3QgY2hhciAqLCBjaGFyICoqLCBpbnQgKik7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfa2V5X2lzX3ZhbGlkKGNvbnN0IGNoYXIgKmtleSk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfc2V0X211bHRpdmFyX2dlbnRseShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBpbnQpOwotZXh0ZXJuIHZvaWQgZ2l0X2NvbmZpZ19zZXRfbXVsdGl2YXIoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgaW50KTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19zZXRfbXVsdGl2YXJfaW5fZmlsZV9nZW50bHkoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBpbnQpOwotZXh0ZXJuIHZvaWQgZ2l0X2NvbmZpZ19zZXRfbXVsdGl2YXJfaW5fZmlsZShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGludCk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfcmVuYW1lX3NlY3Rpb24oY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX3JlbmFtZV9zZWN0aW9uX2luX2ZpbGUoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfY29weV9zZWN0aW9uKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19jb3B5X3NlY3Rpb25faW5fZmlsZShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKLWV4dGVybiBjb25zdCBjaGFyICpnaXRfZXRjX2dpdGNvbmZpZyh2b2lkKTsKLWV4dGVybiBpbnQgZ2l0X2Vudl9ib29sKGNvbnN0IGNoYXIgKiwgaW50KTsKLWV4dGVybiB1bnNpZ25lZCBsb25nIGdpdF9lbnZfdWxvbmcoY29uc3QgY2hhciAqLCB1bnNpZ25lZCBsb25nKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19zeXN0ZW0odm9pZCk7Ci1leHRlcm4gaW50IGNvbmZpZ19lcnJvcl9ub25ib29sKGNvbnN0IGNoYXIgKik7CisKK2ludCBnaXRfZGVmYXVsdF9jb25maWcoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIHZvaWQgKik7CisKKy8qKgorICogUmVhZCBhIHNwZWNpZmljIGZpbGUgaW4gZ2l0LWNvbmZpZyBmb3JtYXQuCisgKiBUaGlzIGZ1bmN0aW9uIHRha2VzIHRoZSBzYW1lIGNhbGxiYWNrIGFuZCBkYXRhIHBhcmFtZXRlcnMgYXMgYGdpdF9jb25maWdgLgorICovCitpbnQgZ2l0X2NvbmZpZ19mcm9tX2ZpbGUoY29uZmlnX2ZuX3QgZm4sIGNvbnN0IGNoYXIgKiwgdm9pZCAqKTsKKworaW50IGdpdF9jb25maWdfZnJvbV9maWxlX3dpdGhfb3B0aW9ucyhjb25maWdfZm5fdCBmbiwgY29uc3QgY2hhciAqLAorCQkJCSAgICAgIHZvaWQgKiwKKwkJCQkgICAgICBjb25zdCBzdHJ1Y3QgY29uZmlnX29wdGlvbnMgKik7CitpbnQgZ2l0X2NvbmZpZ19mcm9tX21lbShjb25maWdfZm5fdCBmbiwKKwkJCWNvbnN0IGVudW0gY29uZmlnX29yaWdpbl90eXBlLAorCQkJY29uc3QgY2hhciAqbmFtZSwKKwkJCWNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbiwKKwkJCXZvaWQgKmRhdGEsIGNvbnN0IHN0cnVjdCBjb25maWdfb3B0aW9ucyAqb3B0cyk7CitpbnQgZ2l0X2NvbmZpZ19mcm9tX2Jsb2Jfb2lkKGNvbmZpZ19mbl90IGZuLCBjb25zdCBjaGFyICpuYW1lLAorCQkJICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHZvaWQgKmRhdGEpOwordm9pZCBnaXRfY29uZmlnX3B1c2hfcGFyYW1ldGVyKGNvbnN0IGNoYXIgKnRleHQpOworaW50IGdpdF9jb25maWdfZnJvbV9wYXJhbWV0ZXJzKGNvbmZpZ19mbl90IGZuLCB2b2lkICpkYXRhKTsKK3ZvaWQgcmVhZF9lYXJseV9jb25maWcoY29uZmlnX2ZuX3QgY2IsIHZvaWQgKmRhdGEpOwordm9pZCByZWFkX3ZlcnlfZWFybHlfY29uZmlnKGNvbmZpZ19mbl90IGNiLCB2b2lkICpkYXRhKTsKKworLyoqCisgKiBNb3N0IHByb2dyYW1zIHdpbGwgc2ltcGx5IHdhbnQgdG8gbG9vayB1cCB2YXJpYWJsZXMgaW4gYWxsIGNvbmZpZyBmaWxlcworICogdGhhdCBHaXQga25vd3MgYWJvdXQsIHVzaW5nIHRoZSBub3JtYWwgcHJlY2VkZW5jZSBydWxlcy4gVG8gZG8gdGhpcywKKyAqIGNhbGwgYGdpdF9jb25maWdgIHdpdGggYSBjYWxsYmFjayBmdW5jdGlvbiBhbmQgdm9pZCBkYXRhIHBvaW50ZXIuCisgKgorICogYGdpdF9jb25maWdgIHdpbGwgcmVhZCBhbGwgY29uZmlnIHNvdXJjZXMgaW4gb3JkZXIgb2YgaW5jcmVhc2luZworICogcHJpb3JpdHkuIFRodXMgYSBjYWxsYmFjayBzaG91bGQgdHlwaWNhbGx5IG92ZXJ3cml0ZSBwcmV2aW91c2x5LXNlZW4KKyAqIGVudHJpZXMgd2l0aCBuZXcgb25lcyAoZS5nLiwgaWYgYm90aCB0aGUgdXNlci13aWRlIGB+Ly5naXRjb25maWdgIGFuZAorICogcmVwby1zcGVjaWZpYyBgLmdpdC9jb25maWdgIGNvbnRhaW4gYGNvbG9yLnVpYCwgdGhlIGNvbmZpZyBtYWNoaW5lcnkKKyAqIHdpbGwgZmlyc3QgZmVlZCB0aGUgdXNlci13aWRlIG9uZSB0byB0aGUgY2FsbGJhY2ssIGFuZCB0aGVuIHRoZQorICogcmVwby1zcGVjaWZpYyBvbmU7IGJ5IG92ZXJ3cml0aW5nLCB0aGUgaGlnaGVyLXByaW9yaXR5IHJlcG8tc3BlY2lmaWMKKyAqIHZhbHVlIGlzIGxlZnQgYXQgdGhlIGVuZCkuCisgKi8KK3ZvaWQgZ2l0X2NvbmZpZyhjb25maWdfZm5fdCBmbiwgdm9pZCAqKTsKKworLyoqCisgKiBMZXRzIHRoZSBjYWxsZXIgZXhhbWluZSBjb25maWcgd2hpbGUgYWRqdXN0aW5nIHNvbWUgb2YgdGhlIGRlZmF1bHQKKyAqIGJlaGF2aW9yIG9mIGBnaXRfY29uZmlnYC4gSXQgc2hvdWxkIGFsbW9zdCBuZXZlciBiZSB1c2VkIGJ5ICJyZWd1bGFyIgorICogR2l0IGNvZGUgdGhhdCBpcyBsb29raW5nIHVwIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzLgorICogSXQgaXMgaW50ZW5kZWQgZm9yIGFkdmFuY2VkIGNhbGxlcnMgbGlrZSBgZ2l0LWNvbmZpZ2AsIHdoaWNoIGFyZQorICogaW50ZW50aW9uYWxseSB0d2Vha2luZyB0aGUgbm9ybWFsIGNvbmZpZy1sb29rdXAgcHJvY2Vzcy4KKyAqIEl0IHRha2VzIHR3byBleHRyYSBwYXJhbWV0ZXJzOgorICoKKyAqIC0gYGNvbmZpZ19zb3VyY2VgCisgKiBJZiB0aGlzIHBhcmFtZXRlciBpcyBub24tTlVMTCwgaXQgc3BlY2lmaWVzIHRoZSBzb3VyY2UgdG8gcGFyc2UgZm9yCisgKiBjb25maWd1cmF0aW9uLCByYXRoZXIgdGhhbiBsb29raW5nIGluIHRoZSB1c3VhbCBmaWxlcy4gU2VlIGBzdHJ1Y3QKKyAqIGdpdF9jb25maWdfc291cmNlYCBpbiBgY29uZmlnLmhgIGZvciBkZXRhaWxzLiBSZWd1bGFyIGBnaXRfY29uZmlnYCBkZWZhdWx0cworICogdG8gYE5VTExgLgorICoKKyAqIC0gYG9wdHNgCisgKiBTcGVjaWZ5IG9wdGlvbnMgdG8gYWRqdXN0IHRoZSBiZWhhdmlvciBvZiBwYXJzaW5nIGNvbmZpZyBmaWxlcy4gU2VlIGBzdHJ1Y3QKKyAqIGNvbmZpZ19vcHRpb25zYCBpbiBgY29uZmlnLmhgIGZvciBkZXRhaWxzLiBBcyBhbiBleGFtcGxlOiByZWd1bGFyIGBnaXRfY29uZmlnYAorICogc2V0cyBgb3B0cy5yZXNwZWN0X2luY2x1ZGVzYCB0byBgMWAgYnkgZGVmYXVsdC4KKyAqLworaW50IGNvbmZpZ193aXRoX29wdGlvbnMoY29uZmlnX2ZuX3QgZm4sIHZvaWQgKiwKKwkJCXN0cnVjdCBnaXRfY29uZmlnX3NvdXJjZSAqY29uZmlnX3NvdXJjZSwKKwkJCWNvbnN0IHN0cnVjdCBjb25maWdfb3B0aW9ucyAqb3B0cyk7CisKKy8qKgorICogVmFsdWUgUGFyc2luZyBIZWxwZXJzCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBUaGUgZm9sbG93aW5nIGhlbHBlciBmdW5jdGlvbnMgYWlkIGluIHBhcnNpbmcgc3RyaW5nIHZhbHVlcworICovCisKK2ludCBnaXRfcGFyc2Vfc3NpemVfdChjb25zdCBjaGFyICosIHNzaXplX3QgKik7CitpbnQgZ2l0X3BhcnNlX3Vsb25nKGNvbnN0IGNoYXIgKiwgdW5zaWduZWQgbG9uZyAqKTsKKworLyoqCisgKiBTYW1lIGFzIGBnaXRfY29uZmlnX2Jvb2xgLCBleGNlcHQgdGhhdCBpdCByZXR1cm5zIC0xIG9uIGVycm9yIHJhdGhlcgorICogdGhhbiBkeWluZy4KKyAqLworaW50IGdpdF9wYXJzZV9tYXliZV9ib29sKGNvbnN0IGNoYXIgKik7CisKKy8qKgorICogUGFyc2UgdGhlIHN0cmluZyB0byBhbiBpbnRlZ2VyLCBpbmNsdWRpbmcgdW5pdCBmYWN0b3JzLiBEaWVzIG9uIGVycm9yOworICogb3RoZXJ3aXNlLCByZXR1cm5zIHRoZSBwYXJzZWQgcmVzdWx0LgorICovCitpbnQgZ2l0X2NvbmZpZ19pbnQoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOworCitpbnQ2NF90IGdpdF9jb25maWdfaW50NjQoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOworCisvKioKKyAqIElkZW50aWNhbCB0byBgZ2l0X2NvbmZpZ19pbnRgLCBidXQgZm9yIHVuc2lnbmVkIGxvbmdzLgorICovCit1bnNpZ25lZCBsb25nIGdpdF9jb25maWdfdWxvbmcoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOworCitzc2l6ZV90IGdpdF9jb25maWdfc3NpemVfdChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CisKKy8qKgorICogU2FtZSBhcyBgZ2l0X2NvbmZpZ19ib29sYCwgZXhjZXB0IHRoYXQgaW50ZWdlcnMgYXJlIHJldHVybmVkIGFzLWlzLCBhbmQKKyAqIGFuIGBpc19ib29sYCBmbGFnIGlzIHVuc2V0LgorICovCitpbnQgZ2l0X2NvbmZpZ19ib29sX29yX2ludChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgaW50ICopOworCisvKioKKyAqIFBhcnNlIGEgc3RyaW5nIGludG8gYSBib29sZWFuIHZhbHVlLCByZXNwZWN0aW5nIGtleXdvcmRzIGxpa2UgInRydWUiIGFuZAorICogImZhbHNlIi4gSW50ZWdlciB2YWx1ZXMgYXJlIGNvbnZlcnRlZCBpbnRvIHRydWUvZmFsc2UgdmFsdWVzICh3aGVuIHRoZXkKKyAqIGFyZSBub24temVybyBvciB6ZXJvLCByZXNwZWN0aXZlbHkpLiBPdGhlciB2YWx1ZXMgY2F1c2UgYSBkaWUoKS4gSWYKKyAqIHBhcnNpbmcgaXMgc3VjY2Vzc2Z1bCwgdGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgcmVzdWx0LgorICovCitpbnQgZ2l0X2NvbmZpZ19ib29sKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKKworLyoqCisgKiBBbGxvY2F0ZXMgYW5kIGNvcGllcyB0aGUgdmFsdWUgc3RyaW5nIGludG8gdGhlIGBkZXN0YCBwYXJhbWV0ZXI7IGlmIG5vCisgKiBzdHJpbmcgaXMgZ2l2ZW4sIHByaW50cyBhbiBlcnJvciBtZXNzYWdlIGFuZCByZXR1cm5zIC0xLgorICovCitpbnQgZ2l0X2NvbmZpZ19zdHJpbmcoY29uc3QgY2hhciAqKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOworCisvKioKKyAqIFNpbWlsYXIgdG8gYGdpdF9jb25maWdfc3RyaW5nYCwgYnV0IGV4cGFuZHMgYH5gIG9yIGB+dXNlcmAgaW50byB0aGUKKyAqIHVzZXIncyBob21lIGRpcmVjdG9yeSB3aGVuIGZvdW5kIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHBhdGguCisgKi8KK2ludCBnaXRfY29uZmlnX3BhdGhuYW1lKGNvbnN0IGNoYXIgKiosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKKworaW50IGdpdF9jb25maWdfZXhwaXJ5X2RhdGUodGltZXN0YW1wX3QgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOworaW50IGdpdF9jb25maWdfY29sb3IoY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CitpbnQgZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZV9nZW50bHkoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CisKKy8qKgorICogd3JpdGUgY29uZmlnIHZhbHVlcyB0byBhIHNwZWNpZmljIGNvbmZpZyBmaWxlLCB0YWtlcyBhIGtleS92YWx1ZSBwYWlyIGFzCisgKiBwYXJhbWV0ZXIuCisgKi8KK3ZvaWQgZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKKworaW50IGdpdF9jb25maWdfc2V0X2dlbnRseShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CisKKy8qKgorICogd3JpdGUgY29uZmlnIHZhbHVlcyB0byBgLmdpdC9jb25maWdgLCB0YWtlcyBhIGtleS92YWx1ZSBwYWlyIGFzIHBhcmFtZXRlci4KKyAqLwordm9pZCBnaXRfY29uZmlnX3NldChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CisKK2ludCBnaXRfY29uZmlnX3BhcnNlX2tleShjb25zdCBjaGFyICosIGNoYXIgKiosIGludCAqKTsKK2ludCBnaXRfY29uZmlnX2tleV9pc192YWxpZChjb25zdCBjaGFyICprZXkpOworaW50IGdpdF9jb25maWdfc2V0X211bHRpdmFyX2dlbnRseShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBpbnQpOwordm9pZCBnaXRfY29uZmlnX3NldF9tdWx0aXZhcihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBpbnQpOworaW50IGdpdF9jb25maWdfc2V0X211bHRpdmFyX2luX2ZpbGVfZ2VudGx5KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgaW50KTsKKworLyoqCisgKiB0YWtlcyBmb3VyIHBhcmFtZXRlcnM6CisgKgorICogLSB0aGUgbmFtZSBvZiB0aGUgZmlsZSwgYXMgYSBzdHJpbmcsIHRvIHdoaWNoIGtleS92YWx1ZSBwYWlycyB3aWxsIGJlIHdyaXR0ZW4uCisgKgorICogLSB0aGUgbmFtZSBvZiBrZXksIGFzIGEgc3RyaW5nLiBUaGlzIGlzIGluIGNhbm9uaWNhbCAiZmxhdCIgZm9ybTogdGhlIHNlY3Rpb24sCisgKiAgIHN1YnNlY3Rpb24sIGFuZCB2YXJpYWJsZSBzZWdtZW50cyB3aWxsIGJlIHNlcGFyYXRlZCBieSBkb3RzLCBhbmQgdGhlIHNlY3Rpb24KKyAqICAgYW5kIHZhcmlhYmxlIHNlZ21lbnRzIHdpbGwgYmUgYWxsIGxvd2VyY2FzZS4KKyAqICAgRS5nLiwgYGNvcmUuaWdub3JlY2FzZWAsIGBkaWZmLlNvbWVUeXBlLnRleHRjb252YC4KKyAqCisgKiAtIHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUsIGFzIGEgc3RyaW5nLiBJZiB2YWx1ZSBpcyBlcXVhbCB0byBOVUxMLCBpdCB3aWxsCisgKiAgIHJlbW92ZSB0aGUgbWF0Y2hpbmcga2V5IGZyb20gdGhlIGNvbmZpZyBmaWxlLgorICoKKyAqIC0gdGhlIHZhbHVlIHJlZ2V4LCBhcyBhIHN0cmluZy4gSXQgd2lsbCBkaXNyZWdhcmQga2V5L3ZhbHVlIHBhaXJzIHdoZXJlIHZhbHVlCisgKiAgIGRvZXMgbm90IG1hdGNoLgorICoKKyAqIC0gYSBtdWx0aV9yZXBsYWNlIHZhbHVlLCBhcyBhbiBpbnQuIElmIHZhbHVlIGlzIGVxdWFsIHRvIHplcm8sIG5vdGhpbmcgb3Igb25seQorICogICBvbmUgbWF0Y2hpbmcga2V5L3ZhbHVlIGlzIHJlcGxhY2VkLCBlbHNlIGFsbCBtYXRjaGluZyBrZXkvdmFsdWVzIChyZWdhcmRsZXNzCisgKiAgIGhvdyBtYW55KSBhcmUgcmVtb3ZlZCwgYmVmb3JlIHRoZSBuZXcgcGFpciBpcyB3cml0dGVuLgorICoKKyAqIEl0IHJldHVybnMgMCBvbiBzdWNjZXNzLgorICovCit2b2lkIGdpdF9jb25maWdfc2V0X211bHRpdmFyX2luX2ZpbGUoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBpbnQpOworCisvKioKKyAqIHJlbmFtZSBvciByZW1vdmUgc2VjdGlvbnMgaW4gdGhlIGNvbmZpZyBmaWxlCisgKiBwYXJhbWV0ZXJzIGBvbGRfbmFtZWAgYW5kIGBuZXdfbmFtZWAKKyAqIElmIE5VTEwgaXMgcGFzc2VkIHRocm91Z2ggYG5ld19uYW1lYCBwYXJhbWV0ZXIsCisgKiB0aGUgc2VjdGlvbiB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0aGUgY29uZmlnIGZpbGUuCisgKi8KK2ludCBnaXRfY29uZmlnX3JlbmFtZV9zZWN0aW9uKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKKworaW50IGdpdF9jb25maWdfcmVuYW1lX3NlY3Rpb25faW5fZmlsZShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKK2ludCBnaXRfY29uZmlnX2NvcHlfc2VjdGlvbihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CitpbnQgZ2l0X2NvbmZpZ19jb3B5X3NlY3Rpb25faW5fZmlsZShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKK2NvbnN0IGNoYXIgKmdpdF9ldGNfZ2l0Y29uZmlnKHZvaWQpOworaW50IGdpdF9lbnZfYm9vbChjb25zdCBjaGFyICosIGludCk7Cit1bnNpZ25lZCBsb25nIGdpdF9lbnZfdWxvbmcoY29uc3QgY2hhciAqLCB1bnNpZ25lZCBsb25nKTsKK2ludCBnaXRfY29uZmlnX3N5c3RlbSh2b2lkKTsKK2ludCBjb25maWdfZXJyb3Jfbm9uYm9vbChjb25zdCBjaGFyICopOwogI2lmIGRlZmluZWQoX19HTlVDX18pCiAjZGVmaW5lIGNvbmZpZ19lcnJvcl9ub25ib29sKHMpIChjb25maWdfZXJyb3Jfbm9uYm9vbChzKSwgY29uc3RfZXJyb3IoKSkKICNlbmRpZgogCi1leHRlcm4gaW50IGdpdF9jb25maWdfcGFyc2VfcGFyYW1ldGVyKGNvbnN0IGNoYXIgKiwgY29uZmlnX2ZuX3QgZm4sIHZvaWQgKmRhdGEpOworaW50IGdpdF9jb25maWdfcGFyc2VfcGFyYW1ldGVyKGNvbnN0IGNoYXIgKiwgY29uZmlnX2ZuX3QgZm4sIHZvaWQgKmRhdGEpOwogCi1lbnVtIGNvbmZpZ19zY29wZSB7Ci0JQ09ORklHX1NDT1BFX1VOS05PV04gPSAwLAotCUNPTkZJR19TQ09QRV9TWVNURU0sCi0JQ09ORklHX1NDT1BFX0dMT0JBTCwKLQlDT05GSUdfU0NPUEVfUkVQTywKLQlDT05GSUdfU0NPUEVfQ01ETElORSwKLX07CitlbnVtIGNvbmZpZ19zY29wZSBjdXJyZW50X2NvbmZpZ19zY29wZSh2b2lkKTsKK2NvbnN0IGNoYXIgKmN1cnJlbnRfY29uZmlnX29yaWdpbl90eXBlKHZvaWQpOworY29uc3QgY2hhciAqY3VycmVudF9jb25maWdfbmFtZSh2b2lkKTsKK2ludCBjdXJyZW50X2NvbmZpZ19saW5lKHZvaWQpOwogCi1leHRlcm4gZW51bSBjb25maWdfc2NvcGUgY3VycmVudF9jb25maWdfc2NvcGUodm9pZCk7Ci1leHRlcm4gY29uc3QgY2hhciAqY3VycmVudF9jb25maWdfb3JpZ2luX3R5cGUodm9pZCk7Ci1leHRlcm4gY29uc3QgY2hhciAqY3VycmVudF9jb25maWdfbmFtZSh2b2lkKTsKLQorLyoqCisgKiBJbmNsdWRlIERpcmVjdGl2ZXMKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIEJ5IGRlZmF1bHQsIHRoZSBjb25maWcgcGFyc2VyIGRvZXMgbm90IHJlc3BlY3QgaW5jbHVkZSBkaXJlY3RpdmVzLgorICogSG93ZXZlciwgYSBjYWxsZXIgY2FuIHVzZSB0aGUgc3BlY2lhbCBgZ2l0X2NvbmZpZ19pbmNsdWRlYCB3cmFwcGVyCisgKiBjYWxsYmFjayB0byBzdXBwb3J0IHRoZW0uIFRvIGRvIHNvLCB5b3Ugc2ltcGx5IHdyYXAgeW91ciAicmVhbCIgY2FsbGJhY2sKKyAqIGZ1bmN0aW9uIGFuZCBkYXRhIHBvaW50ZXIgaW4gYSBgc3RydWN0IGNvbmZpZ19pbmNsdWRlX2RhdGFgLCBhbmQgcGFzcworICogdGhlIHdyYXBwZXIgdG8gdGhlIHJlZ3VsYXIgY29uZmlnLXJlYWRpbmcgZnVuY3Rpb25zLiBGb3IgZXhhbXBsZToKKyAqCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBpbnQgcmVhZF9maWxlX3dpdGhfaW5jbHVkZShjb25zdCBjaGFyICpmaWxlLCBjb25maWdfZm5fdCBmbiwgdm9pZCAqZGF0YSkKKyAqIHsKKyAqIHN0cnVjdCBjb25maWdfaW5jbHVkZV9kYXRhIGluYyA9IENPTkZJR19JTkNMVURFX0lOSVQ7CisgKiBpbmMuZm4gPSBmbjsKKyAqIGluYy5kYXRhID0gZGF0YTsKKyAqIHJldHVybiBnaXRfY29uZmlnX2Zyb21fZmlsZShnaXRfY29uZmlnX2luY2x1ZGUsIGZpbGUsICZpbmMpOworICogfQorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIGBnaXRfY29uZmlnYCByZXNwZWN0cyBpbmNsdWRlcyBhdXRvbWF0aWNhbGx5LiBUaGUgbG93ZXItbGV2ZWwKKyAqIGBnaXRfY29uZmlnX2Zyb21fZmlsZWAgZG9lcyBub3QuCisgKgorICovCiBzdHJ1Y3QgY29uZmlnX2luY2x1ZGVfZGF0YSB7CiAJaW50IGRlcHRoOwogCWNvbmZpZ19mbl90IGZuOwpAQCAtMTQ0LDcgKzM0Miw3IEBACiAJY29uc3Qgc3RydWN0IGNvbmZpZ19vcHRpb25zICpvcHRzOwogfTsKICNkZWZpbmUgQ09ORklHX0lOQ0xVREVfSU5JVCB7IDAgfQotZXh0ZXJuIGludCBnaXRfY29uZmlnX2luY2x1ZGUoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmRhdGEpOworaW50IGdpdF9jb25maWdfaW5jbHVkZShjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqZGF0YSk7CiAKIC8qCiAgKiBNYXRjaCBhbmQgcGFyc2UgYSBjb25maWcga2V5IG9mIHRoZSBmb3JtOgpAQCAtMTU5LDEwICszNTcsMzcgQEAKICAqIElmIHRoZSBzdWJzZWN0aW9uIHBvaW50ZXItdG8tcG9pbnRlciBwYXNzZWQgaW4gaXMgTlVMTCwgcmV0dXJucyAwIG9ubHkgaWYKICAqIHRoZXJlIGlzIG5vIHN1YnNlY3Rpb24gYXQgYWxsLgogICovCi1leHRlcm4gaW50IHBhcnNlX2NvbmZpZ19rZXkoY29uc3QgY2hhciAqdmFyLAotCQkJICAgIGNvbnN0IGNoYXIgKnNlY3Rpb24sCi0JCQkgICAgY29uc3QgY2hhciAqKnN1YnNlY3Rpb24sIGludCAqc3Vic2VjdGlvbl9sZW4sCi0JCQkgICAgY29uc3QgY2hhciAqKmtleSk7CitpbnQgcGFyc2VfY29uZmlnX2tleShjb25zdCBjaGFyICp2YXIsCisJCSAgICAgY29uc3QgY2hhciAqc2VjdGlvbiwKKwkJICAgICBjb25zdCBjaGFyICoqc3Vic2VjdGlvbiwgaW50ICpzdWJzZWN0aW9uX2xlbiwKKwkJICAgICBjb25zdCBjaGFyICoqa2V5KTsKKworLyoqCisgKiBDdXN0b20gQ29uZmlnc2V0cworICogLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBBIGBjb25maWdfc2V0YCBjYW4gYmUgdXNlZCB0byBjb25zdHJ1Y3QgYW4gaW4tbWVtb3J5IGNhY2hlIGZvcgorICogY29uZmlnLWxpa2UgZmlsZXMgdGhhdCB0aGUgY2FsbGVyIHNwZWNpZmllcyAoaS5lLiwgZmlsZXMgbGlrZSBgLmdpdG1vZHVsZXNgLAorICogYH4vLmdpdGNvbmZpZ2AgZXRjLikuIEZvciBleGFtcGxlLAorICoKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHN0cnVjdCBjb25maWdfc2V0IGdtX2NvbmZpZzsKKyAqIGdpdF9jb25maWdzZXRfaW5pdCgmZ21fY29uZmlnKTsKKyAqIGludCBiOworICogLy93ZSBhZGQgY29uZmlnIGZpbGVzIHRvIHRoZSBjb25maWdfc2V0CisgKiBnaXRfY29uZmlnc2V0X2FkZF9maWxlKCZnbV9jb25maWcsICIuZ2l0bW9kdWxlcyIpOworICogZ2l0X2NvbmZpZ3NldF9hZGRfZmlsZSgmZ21fY29uZmlnLCAiLmdpdG1vZHVsZXNfYWx0Iik7CisgKgorICogaWYgKCFnaXRfY29uZmlnc2V0X2dldF9ib29sKGdtX2NvbmZpZywgInN1Ym1vZHVsZS5mcm90ei5pZ25vcmUiLCAmYikpIHsKKyAqIC8vaGFjayBoYWNrIGhhY2sKKyAqIH0KKyAqCisgKiB3aGVuIHdlIGFyZSBkb25lIHdpdGggdGhlIGNvbmZpZ3NldDoKKyAqIGdpdF9jb25maWdzZXRfY2xlYXIoJmdtX2NvbmZpZyk7CisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogQ29uZmlnc2V0IEFQSSBwcm92aWRlcyBmdW5jdGlvbnMgZm9yIHRoZSBhYm92ZSBtZW50aW9uZWQgd29yayBmbG93CisgKi8KIAogc3RydWN0IGNvbmZpZ19zZXRfZWxlbWVudCB7CiAJc3RydWN0IGhhc2htYXBfZW50cnkgZW50OwpAQCAtMTkyLDcxICs0MTcsMTc5IEBACiAJc3RydWN0IGNvbmZpZ3NldF9saXN0IGxpc3Q7CiB9OwogCi1leHRlcm4gdm9pZCBnaXRfY29uZmlnc2V0X2luaXQoc3RydWN0IGNvbmZpZ19zZXQgKmNzKTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ3NldF9hZGRfZmlsZShzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKLWV4dGVybiBjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmdpdF9jb25maWdzZXRfZ2V0X3ZhbHVlX211bHRpKHN0cnVjdCBjb25maWdfc2V0ICpjcywgY29uc3QgY2hhciAqa2V5KTsKLWV4dGVybiB2b2lkIGdpdF9jb25maWdzZXRfY2xlYXIoc3RydWN0IGNvbmZpZ19zZXQgKmNzKTsKKy8qKgorICogSW5pdGlhbGl6ZXMgdGhlIGNvbmZpZ19zZXQgYGNzYC4KKyAqLwordm9pZCBnaXRfY29uZmlnc2V0X2luaXQoc3RydWN0IGNvbmZpZ19zZXQgKmNzKTsKKworLyoqCisgKiBQYXJzZXMgdGhlIGZpbGUgYW5kIGFkZHMgdGhlIHZhcmlhYmxlLXZhbHVlIHBhaXJzIHRvIHRoZSBgY29uZmlnX3NldGAsCisgKiBkaWVzIGlmIHRoZXJlIGlzIGFuIGVycm9yIGluIHBhcnNpbmcgdGhlIGZpbGUuIFJldHVybnMgMCBvbiBzdWNjZXNzLCBvcgorICogLTEgaWYgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3Qgb3IgaXMgaW5hY2Nlc3NpYmxlLiBUaGUgdXNlciBoYXMgdG8gZGVjaWRlCisgKiBpZiBoZSB3YW50cyB0byBmcmVlIHRoZSBpbmNvbXBsZXRlIGNvbmZpZ3NldCBvciBjb250aW51ZSB1c2luZyBpdCB3aGVuCisgKiB0aGUgZnVuY3Rpb24gcmV0dXJucyAtMS4KKyAqLworaW50IGdpdF9jb25maWdzZXRfYWRkX2ZpbGUoc3RydWN0IGNvbmZpZ19zZXQgKmNzLCBjb25zdCBjaGFyICpmaWxlbmFtZSk7CisKKy8qKgorICogRmluZHMgYW5kIHJldHVybnMgdGhlIHZhbHVlIGxpc3QsIHNvcnRlZCBpbiBvcmRlciBvZiBpbmNyZWFzaW5nIHByaW9yaXR5CisgKiBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGtleWAgYW5kIGNvbmZpZyBzZXQgYGNzYC4gV2hlbiB0aGUKKyAqIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGtleWAgaXMgbm90IGZvdW5kLCByZXR1cm5zIE5VTEwuIFRoZSBjYWxsZXIKKyAqIHNob3VsZCBub3QgZnJlZSBvciBtb2RpZnkgdGhlIHJldHVybmVkIHBvaW50ZXIsIGFzIGl0IGlzIG93bmVkIGJ5IHRoZSBjYWNoZS4KKyAqLworY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpnaXRfY29uZmlnc2V0X2dldF92YWx1ZV9tdWx0aShzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSk7CisKKy8qKgorICogQ2xlYXJzIGBjb25maWdfc2V0YCBzdHJ1Y3R1cmUsIHJlbW92ZXMgYWxsIHNhdmVkIHZhcmlhYmxlLXZhbHVlIHBhaXJzLgorICovCit2b2lkIGdpdF9jb25maWdzZXRfY2xlYXIoc3RydWN0IGNvbmZpZ19zZXQgKmNzKTsKIAogLyoKICAqIFRoZXNlIGZ1bmN0aW9ucyByZXR1cm4gMSBpZiBub3QgZm91bmQsIGFuZCAwIGlmIGZvdW5kLCBsZWF2aW5nIHRoZSBmb3VuZAogICogdmFsdWUgaW4gdGhlICdkZXN0JyBwb2ludGVyLgogICovCi1leHRlcm4gaW50IGdpdF9jb25maWdzZXRfZ2V0X3ZhbHVlKHN0cnVjdCBjb25maWdfc2V0ICpjcywgY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICoqZGVzdCk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdzZXRfZ2V0X3N0cmluZ19jb25zdChzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqKmRlc3QpOwotZXh0ZXJuIGludCBnaXRfY29uZmlnc2V0X2dldF9zdHJpbmcoc3RydWN0IGNvbmZpZ19zZXQgKmNzLCBjb25zdCBjaGFyICprZXksIGNoYXIgKipkZXN0KTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ3NldF9nZXRfaW50KHN0cnVjdCBjb25maWdfc2V0ICpjcywgY29uc3QgY2hhciAqa2V5LCBpbnQgKmRlc3QpOwotZXh0ZXJuIGludCBnaXRfY29uZmlnc2V0X2dldF91bG9uZyhzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSwgdW5zaWduZWQgbG9uZyAqZGVzdCk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdzZXRfZ2V0X2Jvb2woc3RydWN0IGNvbmZpZ19zZXQgKmNzLCBjb25zdCBjaGFyICprZXksIGludCAqZGVzdCk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdzZXRfZ2V0X2Jvb2xfb3JfaW50KHN0cnVjdCBjb25maWdfc2V0ICpjcywgY29uc3QgY2hhciAqa2V5LCBpbnQgKmlzX2Jvb2wsIGludCAqZGVzdCk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdzZXRfZ2V0X21heWJlX2Jvb2woc3RydWN0IGNvbmZpZ19zZXQgKmNzLCBjb25zdCBjaGFyICprZXksIGludCAqZGVzdCk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdzZXRfZ2V0X3BhdGhuYW1lKHN0cnVjdCBjb25maWdfc2V0ICpjcywgY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICoqZGVzdCk7CisKKy8qCisgKiBGaW5kcyB0aGUgaGlnaGVzdC1wcmlvcml0eSB2YWx1ZSBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGtleWAKKyAqIGFuZCBjb25maWcgc2V0IGBjc2AsIHN0b3JlcyB0aGUgcG9pbnRlciB0byBpdCBpbiBgdmFsdWVgIGFuZCByZXR1cm5zIDAuCisgKiBXaGVuIHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBrZXlgIGlzIG5vdCBmb3VuZCwgcmV0dXJucyAxIHdpdGhvdXQKKyAqIHRvdWNoaW5nIGB2YWx1ZWAuIFRoZSBjYWxsZXIgc2hvdWxkIG5vdCBmcmVlIG9yIG1vZGlmeSBgdmFsdWVgLCBhcyBpdAorICogaXMgb3duZWQgYnkgdGhlIGNhY2hlLgorICovCitpbnQgZ2l0X2NvbmZpZ3NldF9nZXRfdmFsdWUoc3RydWN0IGNvbmZpZ19zZXQgKmNzLCBjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKipkZXN0KTsKKworaW50IGdpdF9jb25maWdzZXRfZ2V0X3N0cmluZ19jb25zdChzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqKmRlc3QpOworaW50IGdpdF9jb25maWdzZXRfZ2V0X3N0cmluZyhzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSwgY2hhciAqKmRlc3QpOworaW50IGdpdF9jb25maWdzZXRfZ2V0X2ludChzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSwgaW50ICpkZXN0KTsKK2ludCBnaXRfY29uZmlnc2V0X2dldF91bG9uZyhzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSwgdW5zaWduZWQgbG9uZyAqZGVzdCk7CitpbnQgZ2l0X2NvbmZpZ3NldF9nZXRfYm9vbChzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSwgaW50ICpkZXN0KTsKK2ludCBnaXRfY29uZmlnc2V0X2dldF9ib29sX29yX2ludChzdHJ1Y3QgY29uZmlnX3NldCAqY3MsIGNvbnN0IGNoYXIgKmtleSwgaW50ICppc19ib29sLCBpbnQgKmRlc3QpOworaW50IGdpdF9jb25maWdzZXRfZ2V0X21heWJlX2Jvb2woc3RydWN0IGNvbmZpZ19zZXQgKmNzLCBjb25zdCBjaGFyICprZXksIGludCAqZGVzdCk7CitpbnQgZ2l0X2NvbmZpZ3NldF9nZXRfcGF0aG5hbWUoc3RydWN0IGNvbmZpZ19zZXQgKmNzLCBjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKipkZXN0KTsKIAogLyogRnVuY3Rpb25zIGZvciByZWFkaW5nIGEgcmVwb3NpdG9yeSdzIGNvbmZpZyAqLwogc3RydWN0IHJlcG9zaXRvcnk7Ci1leHRlcm4gdm9pZCByZXBvX2NvbmZpZyhzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uZmlnX2ZuX3QgZm4sIHZvaWQgKmRhdGEpOwotZXh0ZXJuIGludCByZXBvX2NvbmZpZ19nZXRfdmFsdWUoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCi0JCQkJIGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqKnZhbHVlKTsKLWV4dGVybiBjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnJlcG9fY29uZmlnX2dldF92YWx1ZV9tdWx0aShzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKLQkJCQkJCQkgICAgIGNvbnN0IGNoYXIgKmtleSk7Ci1leHRlcm4gaW50IHJlcG9fY29uZmlnX2dldF9zdHJpbmdfY29uc3Qoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCi0JCQkJCWNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqKmRlc3QpOwotZXh0ZXJuIGludCByZXBvX2NvbmZpZ19nZXRfc3RyaW5nKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAotCQkJCSAgY29uc3QgY2hhciAqa2V5LCBjaGFyICoqZGVzdCk7Ci1leHRlcm4gaW50IHJlcG9fY29uZmlnX2dldF9pbnQoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCit2b2lkIHJlcG9fY29uZmlnKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLCBjb25maWdfZm5fdCBmbiwgdm9pZCAqZGF0YSk7CitpbnQgcmVwb19jb25maWdfZ2V0X3ZhbHVlKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJICBjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKip2YWx1ZSk7Citjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnJlcG9fY29uZmlnX2dldF92YWx1ZV9tdWx0aShzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCQkJCSAgICAgIGNvbnN0IGNoYXIgKmtleSk7CitpbnQgcmVwb19jb25maWdfZ2V0X3N0cmluZ19jb25zdChzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCQkgY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICoqZGVzdCk7CitpbnQgcmVwb19jb25maWdfZ2V0X3N0cmluZyhzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCSAgIGNvbnN0IGNoYXIgKmtleSwgY2hhciAqKmRlc3QpOworaW50IHJlcG9fY29uZmlnX2dldF9pbnQoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQljb25zdCBjaGFyICprZXksIGludCAqZGVzdCk7CitpbnQgcmVwb19jb25maWdfZ2V0X3Vsb25nKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJICBjb25zdCBjaGFyICprZXksIHVuc2lnbmVkIGxvbmcgKmRlc3QpOworaW50IHJlcG9fY29uZmlnX2dldF9ib29sKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJIGNvbnN0IGNoYXIgKmtleSwgaW50ICpkZXN0KTsKK2ludCByZXBvX2NvbmZpZ19nZXRfYm9vbF9vcl9pbnQoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkJY29uc3QgY2hhciAqa2V5LCBpbnQgKmlzX2Jvb2wsIGludCAqZGVzdCk7CitpbnQgcmVwb19jb25maWdfZ2V0X21heWJlX2Jvb2woc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCiAJCQkgICAgICAgY29uc3QgY2hhciAqa2V5LCBpbnQgKmRlc3QpOwotZXh0ZXJuIGludCByZXBvX2NvbmZpZ19nZXRfdWxvbmcoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCi0JCQkJIGNvbnN0IGNoYXIgKmtleSwgdW5zaWduZWQgbG9uZyAqZGVzdCk7Ci1leHRlcm4gaW50IHJlcG9fY29uZmlnX2dldF9ib29sKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAotCQkJCWNvbnN0IGNoYXIgKmtleSwgaW50ICpkZXN0KTsKLWV4dGVybiBpbnQgcmVwb19jb25maWdfZ2V0X2Jvb2xfb3JfaW50KHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAotCQkJCSAgICAgICBjb25zdCBjaGFyICprZXksIGludCAqaXNfYm9vbCwgaW50ICpkZXN0KTsKLWV4dGVybiBpbnQgcmVwb19jb25maWdfZ2V0X21heWJlX2Jvb2woc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCi0JCQkJICAgICAgY29uc3QgY2hhciAqa2V5LCBpbnQgKmRlc3QpOwotZXh0ZXJuIGludCByZXBvX2NvbmZpZ19nZXRfcGF0aG5hbWUoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCi0JCQkJICAgIGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqKmRlc3QpOworaW50IHJlcG9fY29uZmlnX2dldF9wYXRobmFtZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCSAgICAgY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICoqZGVzdCk7CiAKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19nZXRfdmFsdWUoY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICoqdmFsdWUpOwotZXh0ZXJuIGNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqZ2l0X2NvbmZpZ19nZXRfdmFsdWVfbXVsdGkoY29uc3QgY2hhciAqa2V5KTsKLWV4dGVybiB2b2lkIGdpdF9jb25maWdfY2xlYXIodm9pZCk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfZ2V0X3N0cmluZ19jb25zdChjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKipkZXN0KTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19nZXRfc3RyaW5nKGNvbnN0IGNoYXIgKmtleSwgY2hhciAqKmRlc3QpOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF9pbnQoY29uc3QgY2hhciAqa2V5LCBpbnQgKmRlc3QpOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF91bG9uZyhjb25zdCBjaGFyICprZXksIHVuc2lnbmVkIGxvbmcgKmRlc3QpOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF9ib29sKGNvbnN0IGNoYXIgKmtleSwgaW50ICpkZXN0KTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19nZXRfYm9vbF9vcl9pbnQoY29uc3QgY2hhciAqa2V5LCBpbnQgKmlzX2Jvb2wsIGludCAqZGVzdCk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfZ2V0X21heWJlX2Jvb2woY29uc3QgY2hhciAqa2V5LCBpbnQgKmRlc3QpOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF9wYXRobmFtZShjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKipkZXN0KTsKLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19nZXRfaW5kZXhfdGhyZWFkcyhpbnQgKmRlc3QpOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF91bnRyYWNrZWRfY2FjaGUodm9pZCk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfZ2V0X3NwbGl0X2luZGV4KHZvaWQpOwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF9tYXhfcGVyY2VudF9zcGxpdF9jaGFuZ2Uodm9pZCk7Ci1leHRlcm4gaW50IGdpdF9jb25maWdfZ2V0X2ZzbW9uaXRvcih2b2lkKTsKKy8qKgorICogUXVlcnlpbmcgRm9yIFNwZWNpZmljIFZhcmlhYmxlcworICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIEZvciBwcm9ncmFtcyB3YW50aW5nIHRvIHF1ZXJ5IGZvciBzcGVjaWZpYyB2YXJpYWJsZXMgaW4gYSBub24tY2FsbGJhY2sKKyAqIG1hbm5lciwgdGhlIGNvbmZpZyBBUEkgcHJvdmlkZXMgdHdvIGZ1bmN0aW9ucyBgZ2l0X2NvbmZpZ19nZXRfdmFsdWVgCisgKiBhbmQgYGdpdF9jb25maWdfZ2V0X3ZhbHVlX211bHRpYC4gVGhleSBib3RoIHJlYWQgdmFsdWVzIGZyb20gYW4gaW50ZXJuYWwKKyAqIGNhY2hlIGdlbmVyYXRlZCBwcmV2aW91c2x5IGZyb20gcmVhZGluZyB0aGUgY29uZmlnIGZpbGVzLgorICovCisKKy8qKgorICogRmluZHMgdGhlIGhpZ2hlc3QtcHJpb3JpdHkgdmFsdWUgZm9yIHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBrZXlgLAorICogc3RvcmVzIHRoZSBwb2ludGVyIHRvIGl0IGluIGB2YWx1ZWAgYW5kIHJldHVybnMgMC4gV2hlbiB0aGUKKyAqIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGtleWAgaXMgbm90IGZvdW5kLCByZXR1cm5zIDEgd2l0aG91dCB0b3VjaGluZworICogYHZhbHVlYC4gVGhlIGNhbGxlciBzaG91bGQgbm90IGZyZWUgb3IgbW9kaWZ5IGB2YWx1ZWAsIGFzIGl0IGlzIG93bmVkCisgKiBieSB0aGUgY2FjaGUuCisgKi8KK2ludCBnaXRfY29uZmlnX2dldF92YWx1ZShjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKip2YWx1ZSk7CisKKy8qKgorICogRmluZHMgYW5kIHJldHVybnMgdGhlIHZhbHVlIGxpc3QsIHNvcnRlZCBpbiBvcmRlciBvZiBpbmNyZWFzaW5nIHByaW9yaXR5CisgKiBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGtleWAuIFdoZW4gdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUKKyAqIGBrZXlgIGlzIG5vdCBmb3VuZCwgcmV0dXJucyBOVUxMLiBUaGUgY2FsbGVyIHNob3VsZCBub3QgZnJlZSBvciBtb2RpZnkKKyAqIHRoZSByZXR1cm5lZCBwb2ludGVyLCBhcyBpdCBpcyBvd25lZCBieSB0aGUgY2FjaGUuCisgKi8KK2NvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqZ2l0X2NvbmZpZ19nZXRfdmFsdWVfbXVsdGkoY29uc3QgY2hhciAqa2V5KTsKKworLyoqCisgKiBSZXNldHMgYW5kIGludmFsaWRhdGVzIHRoZSBjb25maWcgY2FjaGUuCisgKi8KK3ZvaWQgZ2l0X2NvbmZpZ19jbGVhcih2b2lkKTsKKworLyoqCisgKiBBbGxvY2F0ZXMgYW5kIGNvcGllcyB0aGUgcmV0cmlldmVkIHN0cmluZyBpbnRvIHRoZSBgZGVzdGAgcGFyYW1ldGVyIGZvcgorICogdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGtleWA7IGlmIE5VTEwgc3RyaW5nIGlzIGdpdmVuLCBwcmludHMgYW4KKyAqIGVycm9yIG1lc3NhZ2UgYW5kIHJldHVybnMgLTEuIFdoZW4gdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGtleWAgaXMKKyAqIG5vdCBmb3VuZCwgcmV0dXJucyAxIHdpdGhvdXQgdG91Y2hpbmcgYGRlc3RgLgorICovCitpbnQgZ2l0X2NvbmZpZ19nZXRfc3RyaW5nX2NvbnN0KGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqKmRlc3QpOworCisvKioKKyAqIFNpbWlsYXIgdG8gYGdpdF9jb25maWdfZ2V0X3N0cmluZ19jb25zdGAsIGV4Y2VwdCB0aGF0IHJldHJpZXZlZCB2YWx1ZQorICogY29waWVkIGludG8gdGhlIGBkZXN0YCBwYXJhbWV0ZXIgaXMgYSBtdXRhYmxlIHN0cmluZy4KKyAqLworaW50IGdpdF9jb25maWdfZ2V0X3N0cmluZyhjb25zdCBjaGFyICprZXksIGNoYXIgKipkZXN0KTsKKworLyoqCisgKiBGaW5kcyBhbmQgcGFyc2VzIHRoZSB2YWx1ZSB0byBhbiBpbnRlZ2VyIGZvciB0aGUgY29uZmlndXJhdGlvbiB2YXJpYWJsZQorICogYGtleWAuIERpZXMgb24gZXJyb3I7IG90aGVyd2lzZSwgc3RvcmVzIHRoZSB2YWx1ZSBvZiB0aGUgcGFyc2VkIGludGVnZXIgaW4KKyAqIGBkZXN0YCBhbmQgcmV0dXJucyAwLiBXaGVuIHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBrZXlgIGlzIG5vdCBmb3VuZCwKKyAqIHJldHVybnMgMSB3aXRob3V0IHRvdWNoaW5nIGBkZXN0YC4KKyAqLworaW50IGdpdF9jb25maWdfZ2V0X2ludChjb25zdCBjaGFyICprZXksIGludCAqZGVzdCk7CisKKy8qKgorICogU2ltaWxhciB0byBgZ2l0X2NvbmZpZ19nZXRfaW50YCBidXQgZm9yIHVuc2lnbmVkIGxvbmdzLgorICovCitpbnQgZ2l0X2NvbmZpZ19nZXRfdWxvbmcoY29uc3QgY2hhciAqa2V5LCB1bnNpZ25lZCBsb25nICpkZXN0KTsKKworLyoqCisgKiBGaW5kcyBhbmQgcGFyc2VzIHRoZSB2YWx1ZSBpbnRvIGEgYm9vbGVhbiB2YWx1ZSwgZm9yIHRoZSBjb25maWd1cmF0aW9uCisgKiB2YXJpYWJsZSBga2V5YCByZXNwZWN0aW5nIGtleXdvcmRzIGxpa2UgInRydWUiIGFuZCAiZmFsc2UiLiBJbnRlZ2VyCisgKiB2YWx1ZXMgYXJlIGNvbnZlcnRlZCBpbnRvIHRydWUvZmFsc2UgdmFsdWVzICh3aGVuIHRoZXkgYXJlIG5vbi16ZXJvIG9yCisgKiB6ZXJvLCByZXNwZWN0aXZlbHkpLiBPdGhlciB2YWx1ZXMgY2F1c2UgYSBkaWUoKS4gSWYgcGFyc2luZyBpcyBzdWNjZXNzZnVsLAorICogc3RvcmVzIHRoZSB2YWx1ZSBvZiB0aGUgcGFyc2VkIHJlc3VsdCBpbiBgZGVzdGAgYW5kIHJldHVybnMgMC4gV2hlbiB0aGUKKyAqIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYGtleWAgaXMgbm90IGZvdW5kLCByZXR1cm5zIDEgd2l0aG91dCB0b3VjaGluZworICogYGRlc3RgLgorICovCitpbnQgZ2l0X2NvbmZpZ19nZXRfYm9vbChjb25zdCBjaGFyICprZXksIGludCAqZGVzdCk7CisKKy8qKgorICogU2ltaWxhciB0byBgZ2l0X2NvbmZpZ19nZXRfYm9vbGAsIGV4Y2VwdCB0aGF0IGludGVnZXJzIGFyZSBjb3BpZWQgYXMtaXMsCisgKiBhbmQgYGlzX2Jvb2xgIGZsYWcgaXMgdW5zZXQuCisgKi8KK2ludCBnaXRfY29uZmlnX2dldF9ib29sX29yX2ludChjb25zdCBjaGFyICprZXksIGludCAqaXNfYm9vbCwgaW50ICpkZXN0KTsKKworLyoqCisgKiBTaW1pbGFyIHRvIGBnaXRfY29uZmlnX2dldF9ib29sYCwgZXhjZXB0IHRoYXQgaXQgcmV0dXJucyAtMSBvbiBlcnJvcgorICogcmF0aGVyIHRoYW4gZHlpbmcuCisgKi8KK2ludCBnaXRfY29uZmlnX2dldF9tYXliZV9ib29sKGNvbnN0IGNoYXIgKmtleSwgaW50ICpkZXN0KTsKKworLyoqCisgKiBTaW1pbGFyIHRvIGBnaXRfY29uZmlnX2dldF9zdHJpbmdgLCBidXQgZXhwYW5kcyBgfmAgb3IgYH51c2VyYCBpbnRvCisgKiB0aGUgdXNlcidzIGhvbWUgZGlyZWN0b3J5IHdoZW4gZm91bmQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcGF0aC4KKyAqLworaW50IGdpdF9jb25maWdfZ2V0X3BhdGhuYW1lKGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqKmRlc3QpOworCitpbnQgZ2l0X2NvbmZpZ19nZXRfaW5kZXhfdGhyZWFkcyhpbnQgKmRlc3QpOworaW50IGdpdF9jb25maWdfZ2V0X3VudHJhY2tlZF9jYWNoZSh2b2lkKTsKK2ludCBnaXRfY29uZmlnX2dldF9zcGxpdF9pbmRleCh2b2lkKTsKK2ludCBnaXRfY29uZmlnX2dldF9tYXhfcGVyY2VudF9zcGxpdF9jaGFuZ2Uodm9pZCk7CitpbnQgZ2l0X2NvbmZpZ19nZXRfZnNtb25pdG9yKHZvaWQpOwogCiAvKiBUaGlzIGRpZXMgaWYgdGhlIGNvbmZpZ3VyZWQgb3IgZGVmYXVsdCBkYXRlIGlzIGluIHRoZSBmdXR1cmUgKi8KLWV4dGVybiBpbnQgZ2l0X2NvbmZpZ19nZXRfZXhwaXJ5KGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqKm91dHB1dCk7CitpbnQgZ2l0X2NvbmZpZ19nZXRfZXhwaXJ5KGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqKm91dHB1dCk7CiAKIC8qIHBhcnNlIGVpdGhlciAidGhpcyBtYW55IGRheXMiIGludGVnZXIsIG9yICI1LmRheXMuYWdvIiBhcHByb3hpZGF0ZSAqLwotZXh0ZXJuIGludCBnaXRfY29uZmlnX2dldF9leHBpcnlfaW5fZGF5cyhjb25zdCBjaGFyICprZXksIHRpbWVzdGFtcF90ICosIHRpbWVzdGFtcF90IG5vdyk7CitpbnQgZ2l0X2NvbmZpZ19nZXRfZXhwaXJ5X2luX2RheXMoY29uc3QgY2hhciAqa2V5LCB0aW1lc3RhbXBfdCAqLCB0aW1lc3RhbXBfdCBub3cpOwogCiBzdHJ1Y3Qga2V5X3ZhbHVlX2luZm8gewogCWNvbnN0IGNoYXIgKmZpbGVuYW1lOwpAQCAtMjY1LDggKzU5OCwyMCBAQAogCWVudW0gY29uZmlnX3Njb3BlIHNjb3BlOwogfTsKIAotZXh0ZXJuIE5PUkVUVVJOIHZvaWQgZ2l0X2RpZV9jb25maWcoY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICplcnIsIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0KHByaW50ZiwgMiwgMykpKTsKLWV4dGVybiBOT1JFVFVSTiB2b2lkIGdpdF9kaWVfY29uZmlnX2xpbmVucihjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZW5yKTsKKy8qKgorICogRmlyc3QgcHJpbnRzIHRoZSBlcnJvciBtZXNzYWdlIHNwZWNpZmllZCBieSB0aGUgY2FsbGVyIGluIGBlcnJgIGFuZCB0aGVuCisgKiBkaWVzIHByaW50aW5nIHRoZSBsaW5lIG51bWJlciBhbmQgdGhlIGZpbGUgbmFtZSBvZiB0aGUgaGlnaGVzdCBwcmlvcml0eQorICogdmFsdWUgZm9yIHRoZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGBrZXlgLgorICovCitOT1JFVFVSTiB2b2lkIGdpdF9kaWVfY29uZmlnKGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqZXJyLCAuLi4pIF9fYXR0cmlidXRlX18oKGZvcm1hdChwcmludGYsIDIsIDMpKSk7CisKKy8qKgorICogSGVscGVyIGZ1bmN0aW9uIHdoaWNoIGZvcm1hdHMgdGhlIGRpZSBlcnJvciBtZXNzYWdlIGFjY29yZGluZyB0byB0aGUKKyAqIHBhcmFtZXRlcnMgZW50ZXJlZC4gVXNlZCBieSBgZ2l0X2RpZV9jb25maWcoKWAuIEl0IGNhbiBiZSB1c2VkIGJ5IGNhbGxlcnMKKyAqIGhhbmRsaW5nIGBnaXRfY29uZmlnX2dldF92YWx1ZV9tdWx0aSgpYCB0byBwcmludCB0aGUgY29ycmVjdCBlcnJvciBtZXNzYWdlCisgKiBmb3IgdGhlIGRlc2lyZWQgdmFsdWUuCisgKi8KK05PUkVUVVJOIHZvaWQgZ2l0X2RpZV9jb25maWdfbGluZW5yKGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBsaW5lbnIpOwogCiAjZGVmaW5lIExPT0tVUF9DT05GSUcobWFwcGluZywgdmFyKSBcCiAJbG9va3VwX2NvbmZpZyhtYXBwaW5nLCBBUlJBWV9TSVpFKG1hcHBpbmcpLCB2YXIpCmRpZmYgLS1naXQgYS9jb25maWcubWFrLmRldiBiL2NvbmZpZy5tYWsuZGV2CmluZGV4IGJiZWVmZjQuLjg5YjIxOGQgMTAwNjQ0Ci0tLSBhL2NvbmZpZy5tYWsuZGV2CisrKyBiL2NvbmZpZy5tYWsuZGV2CkBAIC0xLDQwICsxLDQwIEBACiBpZmVxICgkKGZpbHRlciBuby1lcnJvciwkKERFVk9QVFMpKSwpCi1DRkxBR1MgKz0gLVdlcnJvcgorREVWRUxPUEVSX0NGTEFHUyArPSAtV2Vycm9yCiBlbmRpZgogaWZuZXEgKCQoZmlsdGVyIHBlZGFudGljLCQoREVWT1BUUykpLCkKLUNGTEFHUyArPSAtcGVkYW50aWMKK0RFVkVMT1BFUl9DRkxBR1MgKz0gLXBlZGFudGljCiAjIGRvbid0IHdhcm4gZm9yIGVhY2ggTl8gdXNlCi1DRkxBR1MgKz0gLURVU0VfUEFSRU5TX0FST1VORF9HRVRURVhUX049MAorREVWRUxPUEVSX0NGTEFHUyArPSAtRFVTRV9QQVJFTlNfQVJPVU5EX0dFVFRFWFRfTj0wCiBlbmRpZgotQ0ZMQUdTICs9IC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50Ci1DRkxBR1MgKz0gLVdmb3JtYXQtc2VjdXJpdHkKLUNGTEFHUyArPSAtV25vLWZvcm1hdC16ZXJvLWxlbmd0aAotQ0ZMQUdTICs9IC1Xb2xkLXN0eWxlLWRlZmluaXRpb24KLUNGTEFHUyArPSAtV292ZXJmbG93Ci1DRkxBR1MgKz0gLVdwb2ludGVyLWFyaXRoCi1DRkxBR1MgKz0gLVdzdHJpY3QtcHJvdG90eXBlcwotQ0ZMQUdTICs9IC1XdW51c2VkCi1DRkxBR1MgKz0gLVd2bGEKK0RFVkVMT1BFUl9DRkxBR1MgKz0gLVdhbGwKK0RFVkVMT1BFUl9DRkxBR1MgKz0gLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQKK0RFVkVMT1BFUl9DRkxBR1MgKz0gLVdmb3JtYXQtc2VjdXJpdHkKK0RFVkVMT1BFUl9DRkxBR1MgKz0gLVdvbGQtc3R5bGUtZGVmaW5pdGlvbgorREVWRUxPUEVSX0NGTEFHUyArPSAtV292ZXJmbG93CitERVZFTE9QRVJfQ0ZMQUdTICs9IC1XcG9pbnRlci1hcml0aAorREVWRUxPUEVSX0NGTEFHUyArPSAtV3N0cmljdC1wcm90b3R5cGVzCitERVZFTE9QRVJfQ0ZMQUdTICs9IC1XdW51c2VkCitERVZFTE9QRVJfQ0ZMQUdTICs9IC1XdmxhCiAKIGlmbmRlZiBDT01QSUxFUl9GRUFUVVJFUwogQ09NUElMRVJfRkVBVFVSRVMgOj0gJChzaGVsbCAuL2RldGVjdC1jb21waWxlciAkKENDKSkKIGVuZGlmCiAKIGlmbmVxICgkKGZpbHRlciBjbGFuZzQsJChDT01QSUxFUl9GRUFUVVJFUykpLCkKLUNGTEFHUyArPSAtV3RhdXRvbG9naWNhbC1jb25zdGFudC1vdXQtb2YtcmFuZ2UtY29tcGFyZQorREVWRUxPUEVSX0NGTEFHUyArPSAtV3RhdXRvbG9naWNhbC1jb25zdGFudC1vdXQtb2YtcmFuZ2UtY29tcGFyZQogZW5kaWYKIAogaWZuZXEgKCQob3IgJChmaWx0ZXIgZ2NjNiwkKENPTVBJTEVSX0ZFQVRVUkVTKSksJChmaWx0ZXIgY2xhbmc0LCQoQ09NUElMRVJfRkVBVFVSRVMpKSksKQotQ0ZMQUdTICs9IC1XZXh0cmEKK0RFVkVMT1BFUl9DRkxBR1MgKz0gLVdleHRyYQogIyBpZiBhIGZ1bmN0aW9uIGlzIHB1YmxpYywgdGhlcmUgc2hvdWxkIGJlIGEgcHJvdG90eXBlIGFuZCB0aGUgcmlnaHQKICMgaGVhZGVyIGZpbGUgc2hvdWxkIGJlIGluY2x1ZGVkLiBJZiBub3QsIGl0IHNob3VsZCBiZSBzdGF0aWMuCi1DRkxBR1MgKz0gLVdtaXNzaW5nLXByb3RvdHlwZXMKK0RFVkVMT1BFUl9DRkxBR1MgKz0gLVdtaXNzaW5nLXByb3RvdHlwZXMKIGlmZXEgKCQoZmlsdGVyIGV4dHJhLWFsbCwkKERFVk9QVFMpKSwpCiAjIFRoZXNlIGFyZSBkaXNhYmxlZCBiZWNhdXNlIHdlIGhhdmUgdGhlc2UgYWxsIG92ZXIgdGhlIHBsYWNlLgotQ0ZMQUdTICs9IC1Xbm8tZW1wdHktYm9keQotQ0ZMQUdTICs9IC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMKLUNGTEFHUyArPSAtV25vLXNpZ24tY29tcGFyZQotQ0ZMQUdTICs9IC1Xbm8tdW51c2VkLXBhcmFtZXRlcgorREVWRUxPUEVSX0NGTEFHUyArPSAtV25vLWVtcHR5LWJvZHkKK0RFVkVMT1BFUl9DRkxBR1MgKz0gLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycworREVWRUxPUEVSX0NGTEFHUyArPSAtV25vLXNpZ24tY29tcGFyZQorREVWRUxPUEVSX0NGTEFHUyArPSAtV25vLXVudXNlZC1wYXJhbWV0ZXIKIGVuZGlmCiBlbmRpZgogCkBAIC00Miw2ICs0Miw2IEBACiAjIG5vdCB3b3J0aCBmaXhpbmcgc2luY2UgbmV3ZXIgY29tcGlsZXJzIGNvcnJlY3RseSBzdG9wIGNvbXBsYWluaW5nCiBpZm5lcSAoJChmaWx0ZXIgZ2NjNCwkKENPTVBJTEVSX0ZFQVRVUkVTKSksKQogaWZlcSAoJChmaWx0ZXIgZ2NjNSwkKENPTVBJTEVSX0ZFQVRVUkVTKSksKQotQ0ZMQUdTICs9IC1Xbm8tdW5pbml0aWFsaXplZAorREVWRUxPUEVSX0NGTEFHUyArPSAtV25vLXVuaW5pdGlhbGl6ZWQKIGVuZGlmCiBlbmRpZgpkaWZmIC0tZ2l0IGEvY29uZmlnLm1hay51bmFtZSBiL2NvbmZpZy5tYWsudW5hbWUKaW5kZXggODVhZjlmOS4uMGFiOGUwMCAxMDA2NDQKLS0tIGEvY29uZmlnLm1hay51bmFtZQorKysgYi9jb25maWcubWFrLnVuYW1lCkBAIC0xLDUgKzEsOSBAQAogIyBQbGF0Zm9ybSBzcGVjaWZpYyBNYWtlZmlsZSB0d2Vha3MgYmFzZWQgb24gdW5hbWUgZGV0ZWN0aW9uCiAKKyMgRGVmaW5lIE5PX1NBRkVTRUggaWYgeW91IG5lZWQgTVNWQy9WaXN1YWwgU3R1ZGlvIHRvIGlnbm9yZSB0aGUgbGFjayBvZgorIyBNaWNyb3NvZnQncyBTYWZlIEV4Y2VwdGlvbiBIYW5kbGluZyBpbiBsaWJyYXJpZXMgKHN1Y2ggYXMgemxpYikuCisjIFR5cGljYWxseSByZXF1aXJlZCBmb3IgVlMyMDEzKy8zMi1iaXQgY29tcGlsYXRpb24gb24gVmlzdGErIHZlcnNpb25zLgorCiB1bmFtZV9TIDo9ICQoc2hlbGwgc2ggLWMgJ3VuYW1lIC1zIDI+L2Rldi9udWxsIHx8IGVjaG8gbm90JykKIHVuYW1lX00gOj0gJChzaGVsbCBzaCAtYyAndW5hbWUgLW0gMj4vZGV2L251bGwgfHwgZWNobyBub3QnKQogdW5hbWVfTyA6PSAkKHNoZWxsIHNoIC1jICd1bmFtZSAtbyAyPi9kZXYvbnVsbCB8fCBlY2hvIG5vdCcpCkBAIC0xMSw2ICsxNSwyMSBAQAogCSMgYXZvaWQgdGhlIE1pbmdXIGFuZCBDeWd3aW4gY29uZmlndXJhdGlvbiBzZWN0aW9ucwogCXVuYW1lX1MgOj0gV2luZG93cwogCXVuYW1lX08gOj0gV2luZG93cworCisJIyBHZW5lcmF0ZSBhbmQgaW5jbHVkZSBtYWtlZmlsZSB2YXJpYWJsZXMgdGhhdCBwb2ludCB0byB0aGUKKwkjIGN1cnJlbnRseSBpbnN0YWxsZWQgc2V0IG9mIE1TVkMgY29tbWFuZCBsaW5lIHRvb2xzLgorY29tcGF0L3ZjYnVpbGQvTVNWQy1ERUZTLUdFTjogY29tcGF0L3ZjYnVpbGQvZmluZF92c19lbnYuYmF0CisJQCIkPCIgfCB0ciAnXFwnIC8gPiIkQCIKK2luY2x1ZGUgY29tcGF0L3ZjYnVpbGQvTVNWQy1ERUZTLUdFTgorCisJIyBTZWUgaWYgdmNwa2cgYW5kIHRoZSB2Y3BrZy1idWlsZCB2ZXJzaW9ucyBvZiB0aGUgdGhpcmQtcGFydHkKKwkjIGxpYnJhcmllcyB0aGF0IHdlIHVzZSBhcmUgaW5zdGFsbGVkLiAgV2UgaW5jbHVkZSB0aGUgcmVzdWx0CisJIyB0byBnZXQgJCh2Y3BrZ18qKSB2YXJpYWJsZXMgZGVmaW5lZCBmb3IgdGhlIE1ha2VmaWxlLgoraWZlcSAoLCQoU0tJUF9WQ1BLRykpCitjb21wYXQvdmNidWlsZC9WQ1BLRy1ERUZTOiBjb21wYXQvdmNidWlsZC92Y3BrZ19pbnN0YWxsLmJhdAorCUAiJDwiCitpbmNsdWRlIGNvbXBhdC92Y2J1aWxkL1ZDUEtHLURFRlMKK2VuZGlmCiBlbmRpZgogCiAjIFdlIGNob29zZSB0byBhdm9pZCAiaWYgLi4gZWxzZSBpZiAuLiBlbHNlIC4uIGVuZGlmIGVuZGlmIgpAQCAtMTE0LDYgKzEzMyw4IEBACiAJSEFWRV9CU0RfU1lTQ1RMID0gWWVzUGxlYXNlCiAJRlJFQURfUkVBRFNfRElSRUNUT1JJRVMgPSBVbmZvcnR1bmF0ZWx5WWVzCiAJSEFWRV9OU19HRVRfRVhFQ1VUQUJMRV9QQVRIID0gWWVzUGxlYXNlCisJQkFTSUNfQ0ZMQUdTICs9IC1JL3Vzci9sb2NhbC9pbmNsdWRlCisJQkFTSUNfTERGTEFHUyArPSAtTC91c3IvbG9jYWwvbGliCiBlbmRpZgogaWZlcSAoJCh1bmFtZV9TKSxTdW5PUykKIAlORUVEU19TT0NLRVQgPSBZZXNQbGVhc2UKQEAgLTE4Nyw3ICsyMDgsNyBAQAogCVVOUkVMSUFCTEVfRlNUQVQgPSBVbmZvcnR1bmF0ZWx5WWVzCiAJT0JKRUNUX0NSRUFUSU9OX1VTRVNfUkVOQU1FUyA9IFVuZm9ydHVuYXRlbHlOZWVkc1RvCiAJTU1BUF9QUkVWRU5UU19ERUxFVEUgPSBVbmZvcnR1bmF0ZWx5WWVzCi0JQ09NUEFUX09CSlMgKz0gY29tcGF0L2N5Z3dpbi5vCisJQ09NUEFUX09CSlMgKz0gY29tcGF0L3dpbjMyL3BhdGgtdXRpbHMubwogCUZSRUFEX1JFQURTX0RJUkVDVE9SSUVTID0gVW5mb3J0dW5hdGVseVllcwogZW5kaWYKIGlmZXEgKCQodW5hbWVfUyksRnJlZUJTRCkKQEAgLTIyMSw2ICsyNDIsNyBAQAogCUhBVkVfQlNEX0tFUk5fUFJPQ19TWVNDVEwgPSBZZXNQbGVhc2UKIAlQQUdFUl9FTlYgPSBMRVNTPUZSWCBMVj0tYyBNT1JFPUZSWAogCUZSRUFEX1JFQURTX0RJUkVDVE9SSUVTID0gVW5mb3J0dW5hdGVseVllcworCUZJTEVOT19JU19BX01BQ1JPID0gVW5mb3J0dW5hdGVseVllcwogZW5kaWYKIGlmZXEgKCQodW5hbWVfUyksT3BlbkJTRCkKIAlOT19TVFJDQVNFU1RSID0gWWVzUGxlYXNlCkBAIC0yMzMsNiArMjU1LDggQEAKIAlIQVZFX0JTRF9TWVNDVEwgPSBZZXNQbGVhc2UKIAlIQVZFX0JTRF9LRVJOX1BST0NfU1lTQ1RMID0gWWVzUGxlYXNlCiAJUFJPQ0ZTX0VYRUNVVEFCTEVfUEFUSCA9IC9wcm9jL2N1cnByb2MvZmlsZQorCUZSRUFEX1JFQURTX0RJUkVDVE9SSUVTID0gVW5mb3J0dW5hdGVseVllcworCUZJTEVOT19JU19BX01BQ1JPID0gVW5mb3J0dW5hdGVseVllcwogZW5kaWYKIGlmZXEgKCQodW5hbWVfUyksTWlyQlNEKQogCU5PX1NUUkNBU0VTVFIgPSBZZXNQbGVhc2UKQEAgLTI2Niw2ICsyOTAsOCBAQAogCUlOVEVSTkFMX1FTT1JUID0gVW5mb3J0dW5hdGVseVllcwogCU5FRURTX0xJQklDT05WID0gWWVzUGxlYXNlCiAJQkFTSUNfQ0ZMQUdTICs9IC1EX0xBUkdFX0ZJTEVTCisJRklMRU5PX0lTX0FfTUFDUk8gPSBVbmZvcnR1bmF0ZWx5WWVzCisJTkVFRF9BQ0NFU1NfUk9PVF9IQU5ETEVSID0gVW5mb3J0dW5hdGVseVllcwogCWlmZXEgKCQoc2hlbGwgZXhwciAiJCh1bmFtZV9WKSIgOiAnWzEyMzRdJyksMSkKIAkJTk9fUFRIUkVBRFMgPSBZZXNQbGVhc2UKIAllbHNlCkBAIC0zNDksNiArMzc1LDE5IEBACiBpZmVxICgkKHVuYW1lX1MpLFdpbmRvd3MpCiAJR0lUX1ZFUlNJT04gOj0gJChHSVRfVkVSU0lPTikuTVNWQwogCXBhdGhzZXAgPSA7CisJIyBBc3N1bWUgdGhhdCB0aGlzIGlzIGJ1aWx0IGluIEdpdCBmb3IgV2luZG93cycgU0RLCisJaWZlcSAoTUlOR1czMiwkKE1TWVNURU0pKQorCQlwcmVmaXggPSAvbWluZ3czMgorCWVsc2UKKwkJcHJlZml4ID0gL21pbmd3NjQKKwllbmRpZgorCSMgUHJlcGVuZCBNU1ZDIDY0LWJpdCB0b29sLWNoYWluIHRvIFBBVEguCisJIworCSMgQSByZWd1bGFyIEdpdCBCYXNoICpkb2VzIG5vdCogaGF2ZSBjbC5leGUgaW4gaXRzICRQQVRILiBBcyB0aGVyZSBpcyBhCisJIyBsaW5rLmV4ZSBuZXh0IHRvLCBhbmQgcmVxdWlyZWQgYnksIGNsLmV4ZSwgd2UgaGF2ZSB0byBwcmVwZW5kIHRoaXMKKwkjIG9udG8gdGhlIGV4aXN0aW5nICRQQVRILgorCSMKKwlTQU5FX1RPT0xfUEFUSCA/PSAkKG1zdmNfYmluX2Rpcl9tc3lzKQogCUhBVkVfQUxMT0NBX0ggPSBZZXNQbGVhc2UKIAlOT19QUkVBRCA9IFllc1BsZWFzZQogCU5FRURTX0NSWVBUT19XSVRIX1NTTCA9IFllc1BsZWFzZQpAQCAtMzYxLDExICs0MDAsMTQgQEAKIAlOT19TVFJDQVNFU1RSID0gWWVzUGxlYXNlCiAJTk9fU1RSTENQWSA9IFllc1BsZWFzZQogCU5PX01FTU1FTSA9IFllc1BsZWFzZQotCSMgTkVFRFNfTElCSUNPTlYgPSBZZXNQbGVhc2UKLQlOT19JQ09OViA9IFllc1BsZWFzZQorCU5FRURTX0xJQklDT05WID0gWWVzUGxlYXNlCiAJTk9fU1RSVE9VTUFYID0gWWVzUGxlYXNlCiAJTk9fTUtEVEVNUCA9IFllc1BsZWFzZQotCVNOUFJJTlRGX1JFVFVSTlNfQk9HVVMgPSBZZXNQbGVhc2UKKwlOT19JTlRUWVBFU19IID0gWWVzUGxlYXNlCisJIyBWUzIwMTUgd2l0aCBVQ1JUIGNsYWltcyB0aGF0IHNucHJpbnRmIGFuZCBmcmllbmRzIGFyZSBDOTkgY29tcGxpYW50LAorCSMgc28gd2UgZG9uJ3QgbmVlZCB0aGlzOgorCSMKKwkjICAgU05QUklOVEZfUkVUVVJOU19CT0dVUyA9IFllc1BsZWFzZQogCU5PX1NWTl9URVNUUyA9IFllc1BsZWFzZQogCVJVTlRJTUVfUFJFRklYID0gWWVzUGxlYXNlCiAJSEFWRV9XUEdNUFRSID0gWWVzV2VEbwpAQCAtMzc4LDcgKzQyMCw2IEBACiAJTk9fUkVHRVggPSBZZXNQbGVhc2UKIAlOT19HRVRURVhUID0gWWVzUGxlYXNlCiAJTk9fUFlUSE9OID0gWWVzUGxlYXNlCi0JQkxLX1NIQTEgPSBZZXNQbGVhc2UKIAlFVEFHU19UQVJHRVQgPSBFVEFHUwogCU5PX1BPU0lYX0dPT0RJRVMgPSBVbmZvcnR1bmF0ZWx5WWVzCiAJTkFUSVZFX0NSTEYgPSBZZXNQbGVhc2UKQEAgLTM4NywyMyArNDI4LDUxIEBACiAJQ0MgPSBjb21wYXQvdmNidWlsZC9zY3JpcHRzL2NsaW5rLnBsCiAJQVIgPSBjb21wYXQvdmNidWlsZC9zY3JpcHRzL2xpYi5wbAogCUNGTEFHUyA9Ci0JQkFTSUNfQ0ZMQUdTID0gLW5vbG9nbyAtSS4gLUkuLi96bGliIC1JY29tcGF0L3ZjYnVpbGQgLUljb21wYXQvdmNidWlsZC9pbmNsdWRlIC1EV0lOMzIgLURfQ09OU09MRSAtREhBVkVfU1RSSU5HX0ggLURfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUyAtRF9DUlRfTk9OU1REQ19OT19ERVBSRUNBVEUKKwlCQVNJQ19DRkxBR1MgPSAtbm9sb2dvIC1JLiAtSWNvbXBhdC92Y2J1aWxkL2luY2x1ZGUgLURXSU4zMiAtRF9DT05TT0xFIC1ESEFWRV9TVFJJTkdfSCAtRF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTIC1EX0NSVF9OT05TVERDX05PX0RFUFJFQ0FURQogCUNPTVBBVF9PQkpTID0gY29tcGF0L21zdmMubyBjb21wYXQvd2luYW5zaS5vIFwKKwkJY29tcGF0L3dpbjMyL3BhdGgtdXRpbHMubyBcCiAJCWNvbXBhdC93aW4zMi9wdGhyZWFkLm8gY29tcGF0L3dpbjMyL3N5c2xvZy5vIFwKKwkJY29tcGF0L3dpbjMyL3RyYWNlMl93aW4zMl9wcm9jZXNzX2luZm8ubyBcCiAJCWNvbXBhdC93aW4zMi9kaXJlbnQubwotCUNPTVBBVF9DRkxBR1MgPSAtRF9fVVNFX01JTkdXX0FDQ0VTUyAtRE5PR0RJIC1ESEFWRV9TVFJJTkdfSCAtSWNvbXBhdCAtSWNvbXBhdC9yZWdleCAtSWNvbXBhdC93aW4zMiAtRFNUUklQX0VYVEVOU0lPTj1cIi5leGVcIgotCUJBU0lDX0xERkxBR1MgPSAtSUdOT1JFOjQyMTcgLUlHTk9SRTo0MDQ5IC1OT0xPR08gLVNVQlNZU1RFTTpDT05TT0xFCi0JRVhUTElCUyA9IHVzZXIzMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIHdpbmluZXQubGliIHdzMl8zMi5saWIgaW52YWxpZGNvbnRpbnVlLm9iagorCUNPTVBBVF9DRkxBR1MgPSAtRF9fVVNFX01JTkdXX0FDQ0VTUyAtRERFVEVDVF9NU1lTX1RUWSAtRE5PR0RJIC1ESEFWRV9TVFJJTkdfSCAtSWNvbXBhdCAtSWNvbXBhdC9yZWdleCAtSWNvbXBhdC93aW4zMiAtRFNUUklQX0VYVEVOU0lPTj1cIi5leGVcIgorCUJBU0lDX0xERkxBR1MgPSAtSUdOT1JFOjQyMTcgLUlHTk9SRTo0MDQ5IC1OT0xPR08gLUVOVFJZOndtYWluQ1JUU3RhcnR1cCAtU1VCU1lTVEVNOkNPTlNPTEUKKwkjIGludmFsaWRjb250aW51ZS5vYmogYWxsb3dzIEdpdCdzIHNvdXJjZSBjb2RlIHRvIGNsb3NlIHRoZSBzYW1lIGZpbGUKKwkjIGhhbmRsZSB0d2ljZSwgb3IgdG8gYWNjZXNzIHRoZSBvc2ZoYW5kbGUgb2YgYW4gYWxyZWFkeS1jbG9zZWQgc3Rkb3V0CisJIyBTZWUgaHR0cHM6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9tczIzNTMzMC5hc3B4CisJRVhUTElCUyA9IHVzZXIzMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIHdpbmluZXQubGliIHdzMl8zMi5saWIgaW52YWxpZGNvbnRpbnVlLm9iaiBrZXJuZWwzMi5saWIgbnRkbGwubGliCiAJUFRIUkVBRF9MSUJTID0KIAlsaWIgPQorCUJBU0lDX0NGTEFHUyArPSAkKHZjcGtnX2luYykgJChzZGtfaW5jbHVkZXMpICQobXN2Y19pbmNsdWRlcykKIGlmbmRlZiBERUJVRwotCUJBU0lDX0NGTEFHUyArPSAtR0wgLU9zIC1NRAotCUJBU0lDX0xERkxBR1MgKz0gLUxUQ0cKKwlCQVNJQ19DRkxBR1MgKz0gJCh2Y3BrZ19yZWxfbGliKQorZWxzZQorCUJBU0lDX0NGTEFHUyArPSAkKHZjcGtnX2RiZ19saWIpCitlbmRpZgorCUJBU0lDX0NGTEFHUyArPSAkKHNka19saWJzKSAkKG1zdmNfbGlicykKKworaWZuZXEgKCQoVVNFX01TVkNfQ1JUREJHKSwpCisJIyBPcHRpb25hbGx5IGVuYWJsZSBtZW1vcnkgbGVhayByZXBvcnRpbmcuCisJQkFTSUNfQ0ZMQUdTICs9IC1EVVNFX01TVkNfQ1JUREJHCitlbmRpZgorCSMgQWx3YXlzIGdpdmUgIi1aaSIgdG8gdGhlIGNvbXBpbGVyIGFuZCAiLWRlYnVnIiB0byBsaW5rZXIgKGV2ZW4gaW4KKwkjIHJlbGVhc2UgbW9kZSkgdG8gZm9yY2UgYSBQREIgdG8gYmUgZ2VuZXJhdGVkIChsaWtlIFJlbFdpdGhEZWJJbmZvKS4KKwlCQVNJQ19DRkxBR1MgKz0gLVppCisJQkFTSUNfTERGTEFHUyArPSAtZGVidWcgLVpmCisKK2lmZGVmIE5PX1NBRkVTRUgKKwlMREZMQUdTICs9IC1TQUZFU0VIOk5PCitlbmRpZgorCitpZm5kZWYgREVCVUcKKwlCQVNJQ19DRkxBR1MgKz0gLUdMIC1HeSAtTzIgLU95LSAtTUQgLUROREVCVUcKKwlCQVNJQ19MREZMQUdTICs9IC1yZWxlYXNlIC1MVENHIC9PUFQ6UkVGIC9PUFQ6SUNGIC9JTkNSRU1FTlRBTDpOTyAvREVCVUdUWVBFOkNWLEZJWFVQCiAJQVIgKz0gLUxUQ0cKIGVsc2UKLQlCQVNJQ19DRkxBR1MgKz0gLVppIC1NRGQKKwlCQVNJQ19DRkxBR1MgKz0gLU1EZCAtRERFQlVHIC1EX0RFQlVHCiBlbmRpZgogCVggPSAuZXhlCisKK2NvbXBhdC9tc3ZjLm86IGNvbXBhdC9tc3ZjLmMgY29tcGF0L21pbmd3LmMgR0lULUNGTEFHUwogZW5kaWYKIGlmZXEgKCQodW5hbWVfUyksSW50ZXJpeCkKIAlOT19JTklUR1JPVVBTID0gWWVzUGxlYXNlCkBAIC00NDAsMjYgKzUwOSw0MyBAQAogCSMgSU5MSU5FPScnIHdvdWxkIGp1c3QgcmVwbGFjZSBvbmUgc2V0IG9mIHdhcm5pbmdzIHdpdGggYW5vdGhlciBhbmQKIAkjIHN0aWxsIG5vdCBjb21waWxlIGluIGM4OSBtb2RlLCBkdWUgdG8gbm9uLWNvbnN0IGFycmF5IGluaXRpYWxpemF0aW9ucy4KIAlDQyA9IGNjIC1jOTkKKwkjIEJ1aWxkIGRvd24tcmV2IGNvbXBhdGlibGUgb2JqZWN0cyB0aGF0IGRvbid0IHVzZSBvdXIgbmV3IGdldG9wdF9sb25nLgorCWlmZXEgKCQodW5hbWVfUikuJCh1bmFtZV9WKSxKMDYuMjEpCisJCUNDICs9IC1XUlZVPUowNi4yMAorCWVuZGlmCisJaWZlcSAoJCh1bmFtZV9SKS4kKHVuYW1lX1YpLEwxNy4wMikKKwkJQ0MgKz0gLVdSVlU9TDE2LjA1CisJZW5kaWYKIAkjIERpc2FibGUgYWxsIG9wdGltaXphdGlvbiwgc2VlbXMgdG8gcmVzdWx0IGluIGJhZCBjb2RlLCB3aXRoIC1PIG9yIC1PMgogCSMgb3IgZXZlbiAtTzEgKGRlZmF1bHQpLCAvdXNyL2xvY2FsL2xpYmV4ZWMvZ2l0LWNvcmUvZ2l0LXBhY2stb2JqZWN0cwogCSMgYWJlbmRzIG9uICJnaXQgcHVzaCIuIE5lZWRzIG1vcmUgaW52ZXN0aWdhdGlvbi4KLQlDRkxBR1MgPSAtZyAtTzAKKwlDRkxBR1MgPSAtZyAtTzAgLVdpbmxpbmUKIAkjIFdlJ2Qgd2FudCBpdCB0byBiZSBoZXJlLgogCXByZWZpeCA9IC91c3IvbG9jYWwKLQkjIE91cidzIGFyZSBpbiAke3ByZWZpeH0vYmluIChwZXJsIG1pZ2h0IGFsc28gYmUgaW4gL3Vzci9iaW4vcGVybCkuCi0JUEVSTF9QQVRIID0gJHtwcmVmaXh9L2Jpbi9wZXJsCi0JUFlUSE9OX1BBVEggPSAke3ByZWZpeH0vYmluL3B5dGhvbgotCisJIyBwZXJsIGFuZCBweXRob24gbXVzdCBiZSBpbiAvdXNyL2JpbiBvbiBOb25TdG9wIC0gc3VwcGxpZWQgYnkgSFBFCisJIyB3aXRoIG9wZXJhdGluZyBzeXN0ZW0gaW4gdGhhdCBtYW5hZ2VkIGRpcmVjdG9yeS4KKwlQRVJMX1BBVEggPSAvdXNyL2Jpbi9wZXJsCisJUFlUSE9OX1BBVEggPSAvdXNyL2Jpbi9weXRob24KKwkjIFRoZSBjdXJyZW50IC91c3IvY29yZXV0aWxzL3JtIGF0IGxvd2VzdCBzdXBwb3J0IGxldmVsIGRvZXMgbm90IHdvcmsKKwkjIHdpdGggdGhlIGdpdCB0ZXN0IHN0cnVjdHVyZS4gTG9uZyBwYXRocyBhcyBpbgorCSMgJ3RyYXNoIGRpcmVjdG9yeS4uLicgY2F1c2Ugcm0gdG8gdGVybWluYXRlIHByZW1hdHVyZWx5IHdpdGhvdXQgZnVsbHkKKwkjIHJlbW92aW5nIHRoZSBkaXJlY3RvcnkgYXQgT1MgcmVsZWFzZXMgSjA2LjIxIGFuZCBMMTcuMDIuCisJIyBEZWZhdWx0IHRvIHRoZSBvbGRlciBybSB1bnRpbCB0aG9zZSB0d28gcmVsZWFzZXMgYXJlIGRlcHJlY2F0ZWQuCisJUk0gPSAvYmluL3JtIC1mCiAJIyBBcyBkZXRlY3RlZCBieSAnLi9jb25maWd1cmUnLgogCSMgTWlzc2RldGVjdGVkLCBoZW5jZSBjb21tZW50ZWQgb3V0LCBzZWUgYmVsb3cuCiAJI05PX0NVUkwgPSBZZXNQbGVhc2UKIAkjIEFkZGVkIG1hbnVhbGx5LCBzZWUgYWJvdmUuCisJTkVFRFNfU1NMX1dJVEhfQ1VSTCA9IFllc1BsZWFzZQorCU5FRURTX0NSWVBUT19XSVRIX1NTTCA9IFllc1BsZWFzZQorCUhBVkVfREVWX1RUWSA9IFllc1BsZWFzZQogCUhBVkVfTElCQ0hBUlNFVF9IID0gWWVzUGxlYXNlCiAJSEFWRV9TVFJJTkdTX0ggPSBZZXNQbGVhc2UKIAlORUVEU19MSUJJQ09OViA9IFllc1BsZWFzZQogCU5FRURTX0xJQklOVExfQkVGT1JFX0xJQklDT05WID0gWWVzUGxlYXNlCiAJTk9fU1lTX1NFTEVDVF9IID0gVW5mb3J0dW5hdGVseVllcwogCU5PX0RfVFlQRV9JTl9ESVJFTlQgPSBZZXNQbGVhc2UKKwlOT19HRVRURVhUID0gWWVzUGxlYXNlCiAJTk9fSFNUUkVSUk9SID0gWWVzUGxlYXNlCiAJTk9fU1RSQ0FTRVNUUiA9IFllc1BsZWFzZQogCU5PX01FTU1FTSA9IFllc1BsZWFzZQpAQCAtNDY5LDggKzU1NSw5IEBACiAJTk9fTUtEVEVNUCA9IFllc1BsZWFzZQogCSMgQ3VycmVudGx5IGxpYmljb252LTEuOS4xLgogCU9MRF9JQ09OViA9IFVuZm9ydHVuYXRlbHlZZXMKLQlOT19SRUdFWCA9IFllc1BsZWFzZQorCU5PX1JFR0VYID0gTmVlZHNTdGFydEVuZAogCU5PX1BUSFJFQURTID0gVW5mb3J0dW5hdGVseVllcworCUZSRUFEX1JFQURTX0RJUkVDVE9SSUVTID0gVW5mb3J0dW5hdGVseVllcwogCiAJIyBOb3QgZGV0ZWN0ZWQgKG5vciBjaGVja2VkIGZvcikgYnkgJy4vY29uZmlndXJlJy4KIAkjIFdlIGRvbid0IGhhdmUgU0FfUkVTVEFSVCBvbiBOb25TdG9wLCB1bmZvcnR1bmFsZXR5LgpAQCAtNDg4LDkgKzU3NSw3IEBACiAJIyBSRkUgMTAtMTIwOTEyLTQ2OTMgc3VibWl0dGVkIHRvIEhQIE5vblN0b3AgZGV2ZWxvcG1lbnQuCiAJTk9fU0VUSVRJTUVSID0gVW5mb3J0dW5hdGVseVllcwogCVNBTkVfVE9PTF9QQVRIID0gL3Vzci9jb3JldXRpbHMvYmluOi91c3IvbG9jYWwvYmluCi0JU0hFTExfUEFUSCA9IC91c3IvbG9jYWwvYmluL2Jhc2gKLQkjIGFzIG9mIEgwNi4yNS9KMDYuMTQsIHdlIG1pZ2h0IGJldHRlciB1c2UgdGhpcwotCSNTSEVMTF9QQVRIID0gL3Vzci9jb3JldXRpbHMvYmluL2Jhc2gKKwlTSEVMTF9QQVRIID0gL3Vzci9jb3JldXRpbHMvYmluL2Jhc2gKIGVuZGlmCiBpZm5lcSAoLCQoZmluZHN0cmluZyBNSU5HVywkKHVuYW1lX1MpKSkKIAlwYXRoc2VwID0gOwpAQCAtNTA5LDcgKzU5NCw2IEBACiAJTk9fU1RSVE9VTUFYID0gWWVzUGxlYXNlCiAJTk9fTUtEVEVNUCA9IFllc1BsZWFzZQogCU5PX1NWTl9URVNUUyA9IFllc1BsZWFzZQotCU5PX1BFUkxfTUFLRU1BS0VSID0gWWVzUGxlYXNlCiAJUlVOVElNRV9QUkVGSVggPSBZZXNQbGVhc2UKIAlIQVZFX1dQR01QVFIgPSBZZXNXZURvCiAJTk9fU1RfQkxPQ0tTX0lOX1NUUlVDVF9TVEFUID0gWWVzUGxlYXNlCkBAIC01MjMsOSArNjA3LDEyIEBACiAJRVRBR1NfVEFSR0VUID0gRVRBR1MKIAlOT19QT1NJWF9HT09ESUVTID0gVW5mb3J0dW5hdGVseVllcwogCURFRkFVTFRfSEVMUF9GT1JNQVQgPSBodG1sCisJQkFTSUNfTERGTEFHUyArPSAtbXVuaWNvZGUKIAlDT01QQVRfQ0ZMQUdTICs9IC1ETk9HREkgLUljb21wYXQgLUljb21wYXQvd2luMzIKIAlDT01QQVRfQ0ZMQUdTICs9IC1EU1RSSVBfRVhURU5TSU9OPVwiLmV4ZVwiCiAJQ09NUEFUX09CSlMgKz0gY29tcGF0L21pbmd3Lm8gY29tcGF0L3dpbmFuc2kubyBcCisJCWNvbXBhdC93aW4zMi90cmFjZTJfd2luMzJfcHJvY2Vzc19pbmZvLm8gXAorCQljb21wYXQvd2luMzIvcGF0aC11dGlscy5vIFwKIAkJY29tcGF0L3dpbjMyL3B0aHJlYWQubyBjb21wYXQvd2luMzIvc3lzbG9nLm8gXAogCQljb21wYXQvd2luMzIvZGlyZW50Lm8KIAlCQVNJQ19DRkxBR1MgKz0gLURXSU4zMgpAQCAtNTM1LDcgKzYyMiw2IEBACiAJUkMgPSB3aW5kcmVzIC1PIGNvZmYKIAlOQVRJVkVfQ1JMRiA9IFllc1BsZWFzZQogCVggPSAuZXhlCi0JU1BBUlNFX0ZMQUdTID0gLVduby1vbmUtYml0LXNpZ25lZC1iaXRmaWVsZAogaWZuZXEgKCwkKHdpbGRjYXJkIC4uL1RISVNfSVNfTVNZU0dJVCkpCiAJaHRtbGRpciA9IGRvYy9naXQvaHRtbC8KIAlwcmVmaXggPQpAQCAtNTQ1LDIyICs2MzEsMzMgQEAKIAlJTlRFUk5BTF9RU09SVCA9IFllc1BsZWFzZQogCUhBVkVfTElCQ0hBUlNFVF9IID0gWWVzUGxlYXNlCiAJTk9fR0VUVEVYVCA9IFllc1BsZWFzZQotCUNPTVBBVF9DTEZBR1MgKz0gLURfX1VTRV9NSU5HV19BQ0NFU1MKKwlDT01QQVRfQ0ZMQUdTICs9IC1EX19VU0VfTUlOR1dfQUNDRVNTCiBlbHNlCi0JaWZlcSAoJChzaGVsbCBleHByICIkKHVuYW1lX1IpIiA6ICcyXC4nKSwyKQorCWlmbmVxICgkKHNoZWxsIGV4cHIgIiQodW5hbWVfUikiIDogJzFcLicpLDIpCiAJCSMgTVN5czIKIAkJcHJlZml4ID0gL3Vzci8KKwkJIyBFbmFibGUgREVQCisJCUJBU0lDX0xERkxBR1MgKz0gLVdsLC0tbnhjb21wYXQKKwkJIyBFbmFibGUgQVNMUiAodW5sZXNzIGRlYnVnZ2luZykKKwkJaWZuZXEgKCwkKGZpbmRzdHJpbmcgLU8sJChmaWx0ZXItb3V0IC1PMCAtT2csJChDRkxBR1MpKSkpCisJCQlCQVNJQ19MREZMQUdTICs9IC1XbCwtLWR5bmFtaWNiYXNlCisJCWVuZGlmCiAJCWlmZXEgKE1JTkdXMzIsJChNU1lTVEVNKSkKIAkJCXByZWZpeCA9IC9taW5ndzMyCisJCQlIT1NUX0NQVSA9IGk2ODYKKwkJCUJBU0lDX0xERkxBR1MgKz0gLVdsLC0tcGljLWV4ZWN1dGFibGUsLWUsX21haW5DUlRTdGFydHVwCiAJCWVuZGlmCiAJCWlmZXEgKE1JTkdXNjQsJChNU1lTVEVNKSkKIAkJCXByZWZpeCA9IC9taW5ndzY0CisJCQlIT1NUX0NQVSA9IHg4Nl82NAorCQkJQkFTSUNfTERGTEFHUyArPSAtV2wsLS1waWMtZXhlY3V0YWJsZSwtZSxtYWluQ1JUU3RhcnR1cAogCQllbHNlCiAJCQlDT01QQVRfQ0ZMQUdTICs9IC1EX1VTRV8zMkJJVF9USU1FX1QKIAkJCUJBU0lDX0xERkxBR1MgKz0gLVdsLC0tbGFyZ2UtYWRkcmVzcy1hd2FyZQogCQllbmRpZgogCQlDQyA9IGdjYwotCQlDT01QQVRfQ0ZMQUdTICs9IC1EX19VU0VfTUlOR1dfQU5TSV9TVERJTz0wIC1EREVURUNUX01TWVNfVFRZCisJCUNPTVBBVF9DRkxBR1MgKz0gLURfX1VTRV9NSU5HV19BTlNJX1NURElPPTAgLURERVRFQ1RfTVNZU19UVFkgXAorCQkJLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nCiAJCUVYVExJQlMgKz0gLWxudGRsbAogCQlJTlNUQUxMID0gL2Jpbi9pbnN0YWxsCiAJCU5PX1JfVE9fR0NDX0xJTktFUiA9IFllc1BsZWFzZQpAQCAtNTkzLDMgKzY5MCw4NCBAQAogCU5PX1NUUkNBU0VTVFIgPSBZZXNQbGVhc2UKIAlOT19TVFJMQ1BZID0gWWVzUGxlYXNlCiBlbmRpZgorCit2Y3hwcm9qOgorCSMgUmVxdWlyZSBjbGVhbiB3b3JrIHRyZWUKKwlnaXQgdXBkYXRlLWluZGV4IC1xIC0tcmVmcmVzaCAmJiBcCisJZ2l0IGRpZmYtZmlsZXMgLS1xdWlldCAmJiBcCisJZ2l0IGRpZmYtaW5kZXggLS1jYWNoZWQgLS1xdWlldCBIRUFEIC0tCisKKwkjIE1ha2UgLnZjeHByb2ogZmlsZXMgYW5kIGFkZCB0aGVtCisJdW5zZXQgUVVJRVRfR0VOIFFVSUVUX0JVSUxUX0lOOyBcCisJcGVybCBjb250cmliL2J1aWxkc3lzdGVtcy9nZW5lcmF0ZSAtZyBWY3hwcm9qCisJZ2l0IGFkZCAtZiBnaXQuc2xuIHsqLCovbGliLHQvaGVscGVyLyp9LyoudmN4cHJvagorCisJIyBHZW5lcmF0ZSB0aGUgTGlua09yQ29weUJ1aWx0aW5zLnRhcmdldHMgYW5kIExpbmtPckNvcHlSZW1vdGVIdHRwLnRhcmdldHMgZmlsZQorCShlY2hvICc8UHJvamVjdCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4nICYmIFwKKwkgZWNobyAnICA8VGFyZ2V0IE5hbWU9IkNvcHlCdWlsdGluc19BZnRlckJ1aWxkIiBBZnRlclRhcmdldHM9IkFmdGVyQnVpbGQiPicgJiYgXAorCSBmb3IgbmFtZSBpbiAkKEJVSUxUX0lOUyk7XAorCSBkbyBcCisJICAgZWNobyAnICAgIDxDb3B5IFNvdXJjZUZpbGVzPSIkJChPdXREaXIpXGdpdC5leGUiIERlc3RpbmF0aW9uRmlsZXM9IiQkKE91dERpcilcJyIkJG5hbWUiJyIgU2tpcFVuY2hhbmdlZEZpbGVzPSJ0cnVlIiBVc2VIYXJkbGlua3NJZlBvc3NpYmxlPSJ0cnVlIiAvPic7IFwKKwkgZG9uZSAmJiBcCisJIGVjaG8gJyAgPC9UYXJnZXQ+JyAmJiBcCisJIGVjaG8gJzwvUHJvamVjdD4nKSA+Z2l0L0xpbmtPckNvcHlCdWlsdGlucy50YXJnZXRzCisJKGVjaG8gJzxQcm9qZWN0IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPicgJiYgXAorCSBlY2hvICcgIDxUYXJnZXQgTmFtZT0iQ29weUJ1aWx0aW5zX0FmdGVyQnVpbGQiIEFmdGVyVGFyZ2V0cz0iQWZ0ZXJCdWlsZCI+JyAmJiBcCisJIGZvciBuYW1lIGluICQoUkVNT1RFX0NVUkxfQUxJQVNFUyk7IFwKKwkgZG8gXAorCSAgIGVjaG8gJyAgICA8Q29weSBTb3VyY2VGaWxlcz0iJCQoT3V0RGlyKVwnIiQoUkVNT1RFX0NVUkxfUFJJTUFSWSkiJyIgRGVzdGluYXRpb25GaWxlcz0iJCQoT3V0RGlyKVwnIiQkbmFtZSInIiBTa2lwVW5jaGFuZ2VkRmlsZXM9InRydWUiIFVzZUhhcmRsaW5rc0lmUG9zc2libGU9InRydWUiIC8+JzsgXAorCSBkb25lICYmIFwKKwkgZWNobyAnICA8L1RhcmdldD4nICYmIFwKKwkgZWNobyAnPC9Qcm9qZWN0PicpID5naXQtcmVtb3RlLWh0dHAvTGlua09yQ29weVJlbW90ZUh0dHAudGFyZ2V0cworCWdpdCBhZGQgLWYgZ2l0L0xpbmtPckNvcHlCdWlsdGlucy50YXJnZXRzIGdpdC1yZW1vdGUtaHR0cC9MaW5rT3JDb3B5UmVtb3RlSHR0cC50YXJnZXRzCisKKwkjIEFkZCBjb21tYW5kLWxpc3QuaAorCSQoTUFLRSkgTVNWQz0xIFNLSVBfVkNQS0c9MSBwcmVmaXg9L21pbmd3NjQgY29tbWFuZC1saXN0LmgKKwlnaXQgYWRkIC1mIGNvbW1hbmQtbGlzdC5oCisKKwkjIEFkZCBzY3JpcHRzCisJcm0gLWYgcGVybC9wZXJsLm1haworCSQoTUFLRSkgTVNWQz0xIFNLSVBfVkNQS0c9MSBwcmVmaXg9L21pbmd3NjQgJChTQ1JJUFRfTElCKSAkKFNDUklQVFMpCisJIyBTdHJpcCBvdXQgdGhlIHNhbmUgdG9vbCBwYXRoLCBuZWVkZWQgb25seSBmb3IgYnVpbGRpbmcKKwlzZWQgLWkgJy9eZ2l0X2Jyb2tlbl9wYXRoX2ZpeCAiLiovZCcgZ2l0LXNoLXNldHVwCisJZ2l0IGFkZCAtZiAkKFNDUklQVF9MSUIpICQoU0NSSVBUUykKKworCSMgQWRkIFBlcmwgbW9kdWxlCisJJChNQUtFKSAkKExJQl9QRVJMX0dFTikKKwlnaXQgYWRkIC1mIHBlcmwvYnVpbGQKKworCSMgQWRkIGJpbi13cmFwcGVycywgZm9yIHRlc3RpbmcKKwlybSAtcmYgYmluLXdyYXBwZXJzLworCSQoTUFLRSkgTVNWQz0xIFNLSVBfVkNQS0c9MSBwcmVmaXg9L21pbmd3NjQgJCh0ZXN0X2JpbmRpcl9wcm9ncmFtcykKKwkjIEVuc3VyZSB0aGF0IHRoZSBHSVRfRVhFQ19QQVRIIGlzIGEgVW5peC15IG9uZSwgYW5kIHRoYXQgdGhlIGFic29sdXRlCisJIyBwYXRoIG9mIHRoZSByZXBvc2l0b3J5IGlzIG5vdCBoYXJkLWNvZGVkIChHSVRfRVhFQ19QQVRIIHdpbGwgYmUgc2V0CisJIyBieSB0ZXN0LWxpYi5zaCBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgc2V0dXApCisJc2VkIC1pIC1lICdzL15cKEdJVF9FWEVDX1BBVEhcKT0uKi90ZXN0IC1uICIkJHtcMSMjKjoqfSIgfHxcCisJCQlcMT0iJCQoY3lncGF0aCAtdSAiJCRcMSIpIi8nIFwKKwkJLWUgInN8JyQkKHB3ZCl8XCJcJCRHSVRfRVhFQ19QQVRIXCInfGciIGJpbi13cmFwcGVycy8qCisJIyBFbnN1cmUgdGhhdCB0ZXN0LSogaGVscGVycyBmaW5kIHRoZSAuZGxsIGZpbGVzIGNvcGllZCB0byB0b3AtbGV2ZWwKKwlzZWQgLWkgJ3N8XlBBVEg9Lip8JjoiJCRHSVRfRVhFQ19QQVRIInwnIGJpbi13cmFwcGVycy90ZXN0LSoKKwkjIFdlIGRvIG5vdCB3YW50IHRvIGZvcmNlIGhhcmQtbGlua2luZyBidWlsdGlucworCXNlZCAtaSAnc3xcKGdpdFwpLVwoWy1hLXpdKlwpXC5leGUifFwxLmV4ZSIgXDJ8ZycgXAorCQliaW4td3JhcHBlcnMvZ2l0LXtyZWNlaXZlLXBhY2ssdXBsb2FkLWFyY2hpdmV9CisJZ2l0IGFkZCAtZiAkKHRlc3RfYmluZGlyX3Byb2dyYW1zKQorCSMgcmVtb3RlLWV4dCBpcyBhIGJ1aWx0aW4sIGJ1dCBpbnZva2VkIGFzIGlmIGl0IHdlcmUgZXh0ZXJuYWwKKwlzZWQgJ3N8cmVjZWl2ZS1wYWNrfHJlbW90ZS1leHR8ZycgXAorCQk8YmluLXdyYXBwZXJzL2dpdC1yZWNlaXZlLXBhY2sgPmJpbi13cmFwcGVycy9naXQtcmVtb3RlLWV4dAorCWdpdCBhZGQgLWYgYmluLXdyYXBwZXJzL2dpdC1yZW1vdGUtZXh0CisKKwkjIEFkZCB0ZW1wbGF0ZXMKKwkkKE1BS0UpIC1DIHRlbXBsYXRlcworCWdpdCBhZGQgLWYgdGVtcGxhdGVzL2JvaWxlcnBsYXRlcy5tYWRlIHRlbXBsYXRlcy9ibHQvCisKKwkjIEFkZCB0aGUgdHJhbnNsYXRlZCBtZXNzYWdlcworCW1ha2UgTVNWQz0xIFNLSVBfVkNQS0c9MSBwcmVmaXg9L21pbmd3NjQgJChNT0ZJTEVTKQorCWdpdCBhZGQgLWYgJChNT0ZJTEVTKQorCisJIyBBZGQgYnVpbGQgb3B0aW9ucworCSQoTUFLRSkgTVNWQz0xIFNLSVBfVkNQS0c9MSBwcmVmaXg9L21pbmd3NjQgR0lULUJVSUxELU9QVElPTlMKKwlnaXQgYWRkIC1mIEdJVC1CVUlMRC1PUFRJT05TCisKKwkjIENvbW1pdCB0aGUgd2hvbGUgc2hlYmFuZworCWdpdCBjb21taXQgLW0gIkdlbmVyYXRlIFZpc3VhbCBTdHVkaW8gc29sdXRpb24iIFwKKwkJLW0gIkF1dG8tZ2VuZXJhdGVkIGJ5IFxgJChNQUtFKSQoTUFLRUZMQUdTKSAkQFxgIgpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IGUwZDBkYTMuLjY2YWVkYjkgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTg1LDcgKzg1LDcgQEAKIAogIyBHSVRfUEFSU0VfV0lUSF9TRVRfTUFLRV9WQVIoV0lUSE5BTUUsIFZBUiwgSEVMUF9URVhUKQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBTZXQgVkFSIHRvIHRoZSB2YWx1ZSBzcGVjaWVkIGJ5IC0td2l0aC1XSVRITkFNRS4KKyMgU2V0IFZBUiB0byB0aGUgdmFsdWUgc3BlY2lmaWVkIGJ5IC0td2l0aC1XSVRITkFNRS4KICMgTm8gdmVyaWZpY2F0aW9uIG9mIGFyZ3VtZW50cyBpcyBwZXJmb3JtZWQsIGJ1dCB3YXJuaW5ncyBhcmUgaXNzdWVkCiAjIGlmIGVpdGhlciAneWVzJyBvciAnbm8nIGlzIHNwZWNpZmllZC4KICMgSEVMUF9URVhUIGlzIHByZXNlbnRlZCB3aGVuIC0taGVscCBpcyBjYWxsZWQuCkBAIC00NzUsOCArNDc1LDE4IEBACiAgICAgICBpZiB0ZXN0ICIkZ2l0X2N2X2xkX3JwYXRoIiA9ICJ5ZXMiOyB0aGVuCiAgICAgICAgICBDQ19MRF9EWU5QQVRIPS1ycGF0aAogICAgICAgZWxzZQotICAgICAgICAgQ0NfTERfRFlOUEFUSD0KLSAgICAgICAgIEFDX01TR19XQVJOKFtsaW5rZXIgZG9lcyBub3Qgc3VwcG9ydCBydW50aW1lIHBhdGggdG8gZHluYW1pYyBsaWJyYXJpZXNdKQorICAgICAgICAgQUNfQ0FDSEVfQ0hFQ0soW2lmIGxpbmtlciBzdXBwb3J0cyAtV2wsK2IsXSwgZ2l0X2N2X2xkX3dsX2IsIFsKKyAgICAgICAgICAgIFNBVkVfTERGTEFHUz0iJHtMREZMQUdTfSIKKyAgICAgICAgICAgIExERkxBR1M9IiR7U0FWRV9MREZMQUdTfSAtV2wsK2IsLyIKKyAgICAgICAgICAgIEFDX0xJTktfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oW10sIFtdKV0sIFtnaXRfY3ZfbGRfd2xfYj15ZXNdLCBbZ2l0X2N2X2xkX3dsX2I9bm9dKQorICAgICAgICAgICAgTERGTEFHUz0iJHtTQVZFX0xERkxBR1N9IgorICAgICAgICAgXSkKKyAgICAgICAgIGlmIHRlc3QgIiRnaXRfY3ZfbGRfd2xfYiIgPSAieWVzIjsgdGhlbgorICAgICAgICAgICAgQ0NfTERfRFlOUEFUSD0tV2wsK2IsCisgICAgICAgICAgZWxzZQorICAgICAgICAgICAgIENDX0xEX0RZTlBBVEg9CisgICAgICAgICAgICAgQUNfTVNHX1dBUk4oW2xpbmtlciBkb2VzIG5vdCBzdXBwb3J0IHJ1bnRpbWUgcGF0aCB0byBkeW5hbWljIGxpYnJhcmllc10pCisgICAgICAgICAgZmkKICAgICAgIGZpCiAgICBmaQogZmkKQEAgLTc2Myw5ICs3NzMsMTkgQEAKIEdJVF9DT05GX1NVQlNUKFtORUVEU19MSUJHRU5dKQogdGVzdCAtbiAiJE5FRURTX0xJQkdFTiIgJiYgTElCUz0iJExJQlMgLWxnZW4iCiAKLUFDX0NIRUNLX0xJQihbY10sIFtnZXR0ZXh0XSwKLVtMSUJDX0NPTlRBSU5TX0xJQklOVEw9WWVzUGxlYXNlXSwKLVtMSUJDX0NPTlRBSU5TX0xJQklOVEw9XSkKK0FDX0RFRlVOKFtMSUJJTlRMX1NSQ10sIFsKK0FDX0xBTkdfUFJPR1JBTShbWworI2luY2x1ZGUgPGxpYmludGwuaD4KK11dLFtbCitjaGFyICptc2cgPSBnZXR0ZXh0KCJ0ZXN0Iik7CitdXSldKQorCitBQ19NU0dfQ0hFQ0tJTkcoW2lmIGxpYmMgY29udGFpbnMgbGliaW50bF0pCitBQ19MSU5LX0lGRUxTRShbTElCSU5UTF9TUkNdLAorCVtBQ19NU0dfUkVTVUxUKFt5ZXNdKQorCUxJQkNfQ09OVEFJTlNfTElCSU5UTD1ZZXNQbGVhc2VdLAorCVtBQ19NU0dfUkVTVUxUKFtub10pCisJTElCQ19DT05UQUlOU19MSUJJTlRMPV0pCiBHSVRfQ09ORl9TVUJTVChbTElCQ19DT05UQUlOU19MSUJJTlRMXSkKIAogIwpAQCAtODI0LDEyICs4NDQsNjEgQEAKIEFDX0NPTVBJTEVfSUZFTFNFKFtPTERJQ09OVlRFU1RfU1JDXSwKIAlbQUNfTVNHX1JFU1VMVChbbm9dKV0sCiAJW0FDX01TR19SRVNVTFQoW3llc10pCisJQUNfREVGSU5FKEhBVkVfT0xEX0lDT05WLCAxKQogCU9MRF9JQ09OVj1VbmZvcnR1bmF0ZWx5WWVzXSkKIAogR0lUX1VOU1RBU0hfRkxBR1MoJElDT05WRElSKQogCiBHSVRfQ09ORl9TVUJTVChbT0xEX0lDT05WXSkKIAorIworIyBEZWZpbmUgSUNPTlZfT01JVFNfQk9NIGlmIHlvdSBhcmUgb24gYSBzeXN0ZW0gd2hpY2gKKyMgaWNvbnYgb21pdHMgYm9tIGZvciB1dGYtezE2LDMyfQoraWYgdGVzdCAteiAiJE5PX0lDT05WIjsgdGhlbgorQUNfQ0FDSEVfQ0hFQ0soW3doZXRoZXIgaWNvbnYgb21pdHMgYm9tIGZvciB1dGYtMTYgYW5kIHV0Zi0zMl0sCisgW2FjX2N2X2ljb252X29taXRzX2JvbV0sCitbCitvbGRfTElCUz0iJExJQlMiCitpZiB0ZXN0IC1uICIkTkVFRFNfTElCSUNPTlYiOyB0aGVuCisJTElCUz0iJExJQlMgLWxpY29udiIKK2ZpCisKK0FDX1JVTl9JRkVMU0UoCisJW0FDX0xBTkdfUFJPR1JBTShbQUNfSU5DTFVERVNfREVGQVVMVAorCSNpbmNsdWRlIDxpY29udi5oPgorCSNpZmRlZiBIQVZFX09MRF9JQ09OVgorCXR5cGVkZWYgY29uc3QgY2hhciAqaWNvbnZfaWJwOworCSNlbHNlCisJdHlwZWRlZiBjaGFyICppY29udl9pYnA7CisJI2VuZGlmCisJXSwKKwlbWworCWludCB2OworCWljb252X3QgY29udjsKKwljaGFyIGluW10gPSAiYSI7IGljb252X2licCBwaW4gPSBpbjsKKwljaGFyIG91dFsyMF0gPSAiIjsgY2hhciAqcG91dCA9IG91dDsKKwlzaXplX3QgaXN6ID0gc2l6ZW9mIGluOworCXNpemVfdCBvc3ogPSBzaXplb2Ygb3V0OworCisJY29udiA9IGljb252X29wZW4oIlVURi0xNiIsICJVVEYtOCIpOworCWljb252KGNvbnYsICZwaW4sICZpc3osICZwb3V0LCAmb3N6KTsKKwlpY29udl9jbG9zZShjb252KTsKKwl2ID0gKHVuc2lnbmVkIGNoYXIpKG91dFswXSkgKyAodW5zaWduZWQgY2hhcikob3V0WzFdKTsKKwlyZXR1cm4gdiAhPSAweGZlICsgMHhmZjsKKwldXSldLAorCVthY19jdl9pY29udl9vbWl0c19ib209bm9dLAorCVthY19jdl9pY29udl9vbWl0c19ib209eWVzXSkKKworTElCUz0iJG9sZF9MSUJTIgorXSkKK2lmIHRlc3QgIngkYWNfY3ZfaWNvbnZfb21pdHNfYm9tIiA9IHh5ZXM7IHRoZW4KKwlJQ09OVl9PTUlUU19CT009WWVzCitlbHNlCisJSUNPTlZfT01JVFNfQk9NPQorZmkKK0dJVF9DT05GX1NVQlNUKFtJQ09OVl9PTUlUU19CT01dKQorZmkKKwogIyMgQ2hlY2tzIGZvciB0eXBlZGVmcywgc3RydWN0dXJlcywgYW5kIGNvbXBpbGVyIGNoYXJhY3RlcmlzdGljcy4KIEFDX01TR19OT1RJQ0UoW0NIRUNLUyBmb3IgdHlwZWRlZnMsIHN0cnVjdHVyZXMsIGFuZCBjb21waWxlciBjaGFyYWN0ZXJpc3RpY3NdKQogIwpkaWZmIC0tZ2l0IGEvY29ubmVjdC5jIGIvY29ubmVjdC5jCmluZGV4IDc5ZjFiM2IuLmI2NDUxYWIgMTAwNjQ0Ci0tLSBhL2Nvbm5lY3QuYworKysgYi9jb25uZWN0LmMKQEAgLTI5Niw3ICsyOTYsNiBAQAogCXN0cnVjdCByZWYgKipvcmlnX2xpc3QgPSBsaXN0OwogCWludCBsZW4gPSAwOwogCWVudW0gZ2V0X3JlbW90ZV9oZWFkc19zdGF0ZSBzdGF0ZSA9IEVYUEVDVElOR19GSVJTVF9SRUY7Ci0JY29uc3QgY2hhciAqYXJnOwogCiAJKmxpc3QgPSBOVUxMOwogCkBAIC0zMDYsOCArMzA1LDYgQEAKIAkJCWRpZV9pbml0aWFsX2NvbnRhY3QoMSk7CiAJCWNhc2UgUEFDS0VUX1JFQURfTk9STUFMOgogCQkJbGVuID0gcmVhZGVyLT5wa3RsZW47Ci0JCQlpZiAobGVuID4gNCAmJiBza2lwX3ByZWZpeChyZWFkZXItPmxpbmUsICJFUlIgIiwgJmFyZykpCi0JCQkJZGllKF8oInJlbW90ZSBlcnJvcjogJXMiKSwgYXJnKTsKIAkJCWJyZWFrOwogCQljYXNlIFBBQ0tFVF9SRUFEX0ZMVVNIOgogCQkJc3RhdGUgPSBFWFBFQ1RJTkdfRE9ORTsKQEAgLTkxOCw2ICs5MTUsMTAgQEAKIAogCWlmIChwcm90b2NvbCA9PSBQUk9UT19MT0NBTCkKIAkJcGF0aCA9IGVuZDsKKwllbHNlIGlmIChwcm90b2NvbCA9PSBQUk9UT19GSUxFICYmICpob3N0ICE9ICcvJyAmJgorCQkgIWhhc19kb3NfZHJpdmVfcHJlZml4KGhvc3QpICYmCisJCSBvZmZzZXRfMXN0X2NvbXBvbmVudChob3N0IC0gMikgPiAxKQorCQlwYXRoID0gaG9zdCAtIDI7IC8qIGluY2x1ZGUgdGhlIGxlYWRpbmcgIi8vIiAqLwogCWVsc2UgaWYgKHByb3RvY29sID09IFBST1RPX0ZJTEUgJiYgaGFzX2Rvc19kcml2ZV9wcmVmaXgoZW5kKSkKIAkJcGF0aCA9IGVuZDsgLyogImZpbGU6Ly8kKHB3ZCkiIG1heSBiZSAiZmlsZTovL0M6L3Byb2plY3RzL3JlcG8iICovCiAJZWxzZQpAQCAtMTI1MSw2ICsxMjUyLDcgQEAKIAkJY29ubiA9IE5VTEw7CiAJfSBlbHNlIGlmIChwcm90b2NvbCA9PSBQUk9UT19HSVQpIHsKIAkJY29ubiA9IGdpdF9jb25uZWN0X2dpdChmZCwgaG9zdGFuZHBvcnQsIHBhdGgsIHByb2csIHZlcnNpb24sIGZsYWdzKTsKKwkJY29ubi0+dHJhY2UyX2NoaWxkX2NsYXNzID0gInRyYW5zcG9ydC9naXQiOwogCX0gZWxzZSB7CiAJCXN0cnVjdCBzdHJidWYgY21kID0gU1RSQlVGX0lOSVQ7CiAJCWNvbnN0IGNoYXIgKmNvbnN0ICp2YXI7CkBAIC0xMjkzLDkgKzEyOTUsMTEgQEAKIAkJCQlzdHJidWZfcmVsZWFzZSgmY21kKTsKIAkJCQlyZXR1cm4gTlVMTDsKIAkJCX0KKwkJCWNvbm4tPnRyYWNlMl9jaGlsZF9jbGFzcyA9ICJ0cmFuc3BvcnQvc3NoIjsKIAkJCWZpbGxfc3NoX2FyZ3MoY29ubiwgc3NoX2hvc3QsIHBvcnQsIHZlcnNpb24sIGZsYWdzKTsKIAkJfSBlbHNlIHsKIAkJCXRyYW5zcG9ydF9jaGVja19hbGxvd2VkKCJmaWxlIik7CisJCQljb25uLT50cmFjZTJfY2hpbGRfY2xhc3MgPSAidHJhbnNwb3J0L2ZpbGUiOwogCQkJaWYgKHZlcnNpb24gPiAwKSB7CiAJCQkJYXJndl9hcnJheV9wdXNoZigmY29ubi0+ZW52X2FycmF5LCBHSVRfUFJPVE9DT0xfRU5WSVJPTk1FTlQgIj12ZXJzaW9uPSVkIiwKIAkJCQkJCSB2ZXJzaW9uKTsKZGlmZiAtLWdpdCBhL2Nvbm5lY3QuaCBiL2Nvbm5lY3QuaAppbmRleCAzMmFmZjYwLi41ZjIzODJlIDEwMDY0NAotLS0gYS9jb25uZWN0LmgKKysrIGIvY29ubmVjdC5oCkBAIC03LDE5ICs3LDE5IEBACiAjZGVmaW5lIENPTk5FQ1RfRElBR19VUkwgICAgICAoMXUgPDwgMSkKICNkZWZpbmUgQ09OTkVDVF9JUFY0ICAgICAgICAgICgxdSA8PCAyKQogI2RlZmluZSBDT05ORUNUX0lQVjYgICAgICAgICAgKDF1IDw8IDMpCi1leHRlcm4gc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmdpdF9jb25uZWN0KGludCBmZFsyXSwgY29uc3QgY2hhciAqdXJsLCBjb25zdCBjaGFyICpwcm9nLCBpbnQgZmxhZ3MpOwotZXh0ZXJuIGludCBmaW5pc2hfY29ubmVjdChzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY29ubik7Ci1leHRlcm4gaW50IGdpdF9jb25uZWN0aW9uX2lzX3NvY2tldChzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY29ubik7Ci1leHRlcm4gaW50IHNlcnZlcl9zdXBwb3J0cyhjb25zdCBjaGFyICpmZWF0dXJlKTsKLWV4dGVybiBpbnQgcGFyc2VfZmVhdHVyZV9yZXF1ZXN0KGNvbnN0IGNoYXIgKmZlYXR1cmVzLCBjb25zdCBjaGFyICpmZWF0dXJlKTsKLWV4dGVybiBjb25zdCBjaGFyICpzZXJ2ZXJfZmVhdHVyZV92YWx1ZShjb25zdCBjaGFyICpmZWF0dXJlLCBpbnQgKmxlbl9yZXQpOwotZXh0ZXJuIGludCB1cmxfaXNfbG9jYWxfbm90X3NzaChjb25zdCBjaGFyICp1cmwpOworc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmdpdF9jb25uZWN0KGludCBmZFsyXSwgY29uc3QgY2hhciAqdXJsLCBjb25zdCBjaGFyICpwcm9nLCBpbnQgZmxhZ3MpOworaW50IGZpbmlzaF9jb25uZWN0KHN0cnVjdCBjaGlsZF9wcm9jZXNzICpjb25uKTsKK2ludCBnaXRfY29ubmVjdGlvbl9pc19zb2NrZXQoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNvbm4pOworaW50IHNlcnZlcl9zdXBwb3J0cyhjb25zdCBjaGFyICpmZWF0dXJlKTsKK2ludCBwYXJzZV9mZWF0dXJlX3JlcXVlc3QoY29uc3QgY2hhciAqZmVhdHVyZXMsIGNvbnN0IGNoYXIgKmZlYXR1cmUpOworY29uc3QgY2hhciAqc2VydmVyX2ZlYXR1cmVfdmFsdWUoY29uc3QgY2hhciAqZmVhdHVyZSwgaW50ICpsZW5fcmV0KTsKK2ludCB1cmxfaXNfbG9jYWxfbm90X3NzaChjb25zdCBjaGFyICp1cmwpOwogCiBzdHJ1Y3QgcGFja2V0X3JlYWRlcjsKLWV4dGVybiBlbnVtIHByb3RvY29sX3ZlcnNpb24gZGlzY292ZXJfdmVyc2lvbihzdHJ1Y3QgcGFja2V0X3JlYWRlciAqcmVhZGVyKTsKK2VudW0gcHJvdG9jb2xfdmVyc2lvbiBkaXNjb3Zlcl92ZXJzaW9uKHN0cnVjdCBwYWNrZXRfcmVhZGVyICpyZWFkZXIpOwogCi1leHRlcm4gaW50IHNlcnZlcl9zdXBwb3J0c192Mihjb25zdCBjaGFyICpjLCBpbnQgZGllX29uX2Vycm9yKTsKLWV4dGVybiBpbnQgc2VydmVyX3N1cHBvcnRzX2ZlYXR1cmUoY29uc3QgY2hhciAqYywgY29uc3QgY2hhciAqZmVhdHVyZSwKLQkJCQkgICBpbnQgZGllX29uX2Vycm9yKTsKK2ludCBzZXJ2ZXJfc3VwcG9ydHNfdjIoY29uc3QgY2hhciAqYywgaW50IGRpZV9vbl9lcnJvcik7CitpbnQgc2VydmVyX3N1cHBvcnRzX2ZlYXR1cmUoY29uc3QgY2hhciAqYywgY29uc3QgY2hhciAqZmVhdHVyZSwKKwkJCSAgICBpbnQgZGllX29uX2Vycm9yKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9jb25uZWN0ZWQuYyBiL2Nvbm5lY3RlZC5jCmluZGV4IDFiYmE4ODguLjdlOWJkMWIgMTAwNjQ0Ci0tLSBhL2Nvbm5lY3RlZC5jCisrKyBiL2Nvbm5lY3RlZC5jCkBAIC0xLDkgKzEsMTEgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgIm9iamVjdC1zdG9yZS5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAjaW5jbHVkZSAic2lnY2hhaW4uaCIKICNpbmNsdWRlICJjb25uZWN0ZWQuaCIKICNpbmNsdWRlICJ0cmFuc3BvcnQuaCIKICNpbmNsdWRlICJwYWNrZmlsZS5oIgorI2luY2x1ZGUgInByb21pc29yLXJlbW90ZS5oIgogCiAvKgogICogSWYgd2UgZmVlZCBhbGwgdGhlIGNvbW1pdHMgd2Ugd2FudCB0byB2ZXJpZnkgdG8gdGhpcyBjb21tYW5kCkBAIC0yNyw2ICsyOSw3IEBACiAJc3RydWN0IHBhY2tlZF9naXQgKm5ld19wYWNrID0gTlVMTDsKIAlzdHJ1Y3QgdHJhbnNwb3J0ICp0cmFuc3BvcnQ7CiAJc2l6ZV90IGJhc2VfbGVuOworCWNvbnN0IHVuc2lnbmVkIGhleHN6ID0gdGhlX2hhc2hfYWxnby0+aGV4c3o7CiAKIAlpZiAoIW9wdCkKIAkJb3B0ID0gJmRlZmF1bHRzOwpAQCAtNDksNiArNTIsMzIgQEAKIAkJc3RyYnVmX3JlbGVhc2UoJmlkeF9maWxlKTsKIAl9CiAKKwlpZiAob3B0LT5jaGVja19yZWZzX2FyZV9wcm9taXNvcl9vYmplY3RzX29ubHkpIHsKKwkJLyoKKwkJICogRm9yIHBhcnRpYWwgY2xvbmVzLCB3ZSBkb24ndCB3YW50IHRvIGhhdmUgdG8gZG8gYSByZWd1bGFyCisJCSAqIGNvbm5lY3Rpdml0eSBjaGVjayBiZWNhdXNlIHdlIGhhdmUgdG8gZW51bWVyYXRlIGFuZCBleGNsdWRlCisJCSAqIGFsbCBwcm9taXNvciBvYmplY3RzIChzbG93KSwgYW5kIHRoZW4gdGhlIGNvbm5lY3Rpdml0eSBjaGVjaworCQkgKiBpdHNlbGYgYmVjb21lcyBhIG5vLW9wIGJlY2F1c2UgaW4gYSBwYXJ0aWFsIGNsb25lIGV2ZXJ5CisJCSAqIG9iamVjdCBpcyBhIHByb21pc29yIG9iamVjdC4gSW5zdGVhZCwganVzdCBtYWtlIHN1cmUgd2UKKwkJICogcmVjZWl2ZWQsIGluIGEgcHJvbWlzb3IgcGFja2ZpbGUsIHRoZSBvYmplY3RzIHBvaW50ZWQgdG8gYnkKKwkJICogZWFjaCB3YW50ZWQgcmVmLgorCQkgKi8KKwkJZG8geworCQkJc3RydWN0IHBhY2tlZF9naXQgKnA7CisKKwkJCWZvciAocCA9IGdldF9hbGxfcGFja3ModGhlX3JlcG9zaXRvcnkpOyBwOyBwID0gcC0+bmV4dCkgeworCQkJCWlmICghcC0+cGFja19wcm9taXNvcikKKwkJCQkJY29udGludWU7CisJCQkJaWYgKGZpbmRfcGFja19lbnRyeV9vbmUob2lkLmhhc2gsIHApKQorCQkJCQlnb3RvIHByb21pc29yX3BhY2tfZm91bmQ7CisJCQl9CisJCQlyZXR1cm4gMTsKK3Byb21pc29yX3BhY2tfZm91bmQ6CisJCQk7CisJCX0gd2hpbGUgKCFmbihjYl9kYXRhLCAmb2lkKSk7CisJCXJldHVybiAwOworCX0KKwogCWlmIChvcHQtPnNoYWxsb3dfZmlsZSkgewogCQlhcmd2X2FycmF5X3B1c2goJnJldl9saXN0LmFyZ3MsICItLXNoYWxsb3ctZmlsZSIpOwogCQlhcmd2X2FycmF5X3B1c2goJnJldl9saXN0LmFyZ3MsIG9wdC0+c2hhbGxvd19maWxlKTsKQEAgLTU2LDEzICs4NSwxNCBAQAogCWFyZ3ZfYXJyYXlfcHVzaCgmcmV2X2xpc3QuYXJncywicmV2LWxpc3QiKTsKIAlhcmd2X2FycmF5X3B1c2goJnJldl9saXN0LmFyZ3MsICItLW9iamVjdHMiKTsKIAlhcmd2X2FycmF5X3B1c2goJnJldl9saXN0LmFyZ3MsICItLXN0ZGluIik7Ci0JaWYgKHJlcG9zaXRvcnlfZm9ybWF0X3BhcnRpYWxfY2xvbmUpCisJaWYgKGhhc19wcm9taXNvcl9yZW1vdGUoKSkKIAkJYXJndl9hcnJheV9wdXNoKCZyZXZfbGlzdC5hcmdzLCAiLS1leGNsdWRlLXByb21pc29yLW9iamVjdHMiKTsKIAlpZiAoIW9wdC0+aXNfZGVlcGVuaW5nX2ZldGNoKSB7CiAJCWFyZ3ZfYXJyYXlfcHVzaCgmcmV2X2xpc3QuYXJncywgIi0tbm90Iik7CiAJCWFyZ3ZfYXJyYXlfcHVzaCgmcmV2X2xpc3QuYXJncywgIi0tYWxsIik7CiAJfQogCWFyZ3ZfYXJyYXlfcHVzaCgmcmV2X2xpc3QuYXJncywgIi0tcXVpZXQiKTsKKwlhcmd2X2FycmF5X3B1c2goJnJldl9saXN0LmFyZ3MsICItLWFsdGVybmF0ZS1yZWZzIik7CiAJaWYgKG9wdC0+cHJvZ3Jlc3MpCiAJCWFyZ3ZfYXJyYXlfcHVzaGYoJnJldl9saXN0LmFyZ3MsICItLXByb2dyZXNzPSVzIiwKIAkJCQkgXygiQ2hlY2tpbmcgY29ubmVjdGl2aXR5IikpOwpAQCAtODEsNyArMTExLDcgQEAKIAogCXNpZ2NoYWluX3B1c2goU0lHUElQRSwgU0lHX0lHTik7CiAKLQljb21taXRbR0lUX1NIQTFfSEVYU1pdID0gJ1xuJzsKKwljb21taXRbaGV4c3pdID0gJ1xuJzsKIAlkbyB7CiAJCS8qCiAJCSAqIElmIGluZGV4LXBhY2sgYWxyZWFkeSBjaGVja2VkIHRoYXQ6CkBAIC05NCw4ICsxMjQsOCBAQAogCQlpZiAobmV3X3BhY2sgJiYgZmluZF9wYWNrX2VudHJ5X29uZShvaWQuaGFzaCwgbmV3X3BhY2spKQogCQkJY29udGludWU7CiAKLQkJbWVtY3B5KGNvbW1pdCwgb2lkX3RvX2hleCgmb2lkKSwgR0lUX1NIQTFfSEVYU1opOwotCQlpZiAod3JpdGVfaW5fZnVsbChyZXZfbGlzdC5pbiwgY29tbWl0LCBHSVRfU0hBMV9IRVhTWiArIDEpIDwgMCkgeworCQltZW1jcHkoY29tbWl0LCBvaWRfdG9faGV4KCZvaWQpLCBoZXhzeik7CisJCWlmICh3cml0ZV9pbl9mdWxsKHJldl9saXN0LmluLCBjb21taXQsIGhleHN6ICsgMSkgPCAwKSB7CiAJCQlpZiAoZXJybm8gIT0gRVBJUEUgJiYgZXJybm8gIT0gRUlOVkFMKQogCQkJCWVycm9yX2Vycm5vKF8oImZhaWxlZCB3cml0ZSB0byByZXYtbGlzdCIpKTsKIAkJCWVyciA9IC0xOwpkaWZmIC0tZ2l0IGEvY29ubmVjdGVkLmggYi9jb25uZWN0ZWQuaAppbmRleCA4ZDVhNmIzLi5lYmE1YzI2IDEwMDY0NAotLS0gYS9jb25uZWN0ZWQuaAorKysgYi9jb25uZWN0ZWQuaApAQCAtNDYsNiArNDYsMTUgQEAKIAkgKiBkdXJpbmcgYSBmZXRjaC4KIAkgKi8KIAl1bnNpZ25lZCBpc19kZWVwZW5pbmdfZmV0Y2ggOiAxOworCisJLyoKKwkgKiBJZiBub24temVybywgb25seSBjaGVjayB0aGF0IHRoZSB0b3AtbGV2ZWwgb2JqZWN0cyByZWZlcmVuY2VkIGJ5IHRoZQorCSAqIHdhbnRlZCByZWZzIChwYXNzZWQgaW4gYXMgY2JfZGF0YSkgYXJlIHByb21pc29yIG9iamVjdHMuIFRoaXMgaXMKKwkgKiB1c2VmdWwgZm9yIHBhcnRpYWwgY2xvbmVzLCB3aGVyZSBlbnVtZXJhdGluZyBhbmQgZXhjbHVkaW5nIGFsbAorCSAqIHByb21pc29yIG9iamVjdHMgaXMgdmVyeSBzbG93IGFuZCB0aGUgY29tbWl0LXdhbGsgaXRzZWxmIGJlY29tZXMgYQorCSAqIG5vLW9wLgorCSAqLworCXVuc2lnbmVkIGNoZWNrX3JlZnNfYXJlX3Byb21pc29yX29iamVjdHNfb25seSA6IDE7CiB9OwogCiAjZGVmaW5lIENIRUNLX0NPTk5FQ1RFRF9JTklUIHsgMCB9CmRpZmYgLS1naXQgYS9jb250cmliL2J1aWxkc3lzdGVtcy9HZW5lcmF0b3JzLnBtIGIvY29udHJpYi9idWlsZHN5c3RlbXMvR2VuZXJhdG9ycy5wbQppbmRleCA0MDhlZjcxLi5hYTRjYmFhIDEwMDY0NAotLS0gYS9jb250cmliL2J1aWxkc3lzdGVtcy9HZW5lcmF0b3JzLnBtCisrKyBiL2NvbnRyaWIvYnVpbGRzeXN0ZW1zL0dlbmVyYXRvcnMucG0KQEAgLTE3LDcgKzE3LDcgQEAKICAgICAkbWUgPSBkaXJuYW1lKCRtZSk7CiAgICAgaWYgKG9wZW5kaXIoRCwiJG1lL0dlbmVyYXRvcnMiKSkgewogICAgICAgICBmb3JlYWNoIG15ICRnZW4gKHJlYWRkaXIoRCkpIHsKLSAgICAgICAgICAgIG5leHQgaWYgKCRnZW4gID1+IC9eXC5cLj8kLyk7CisgICAgICAgICAgICBuZXh0IHVubGVzcyAoJGdlbiAgPX4gL1wucG0kLyk7CiAgICAgICAgICAgICByZXF1aXJlICIke21lfS9HZW5lcmF0b3JzLyRnZW4iOwogICAgICAgICAgICAgJGdlbiA9fiBzLFwucG0sLDsKICAgICAgICAgICAgIHB1c2goQEFWQUlMQUJMRSwgJGdlbik7CmRpZmYgLS1naXQgYS9jb250cmliL2J1aWxkc3lzdGVtcy9HZW5lcmF0b3JzL1ZjcHJvai5wbSBiL2NvbnRyaWIvYnVpbGRzeXN0ZW1zL0dlbmVyYXRvcnMvVmNwcm9qLnBtCmluZGV4IGNmYTc0YWQuLjczNzY0N2UgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvYnVpbGRzeXN0ZW1zL0dlbmVyYXRvcnMvVmNwcm9qLnBtCisrKyBiL2NvbnRyaWIvYnVpbGRzeXN0ZW1zL0dlbmVyYXRvcnMvVmNwcm9qLnBtCkBAIC0zLDYgKzMsNyBAQAogCiB1c2Ugc3RyaWN0OwogdXNlIHZhcnMgcXcoJFZFUlNJT04pOwordXNlIERpZ2VzdDo6U0hBIHF3KHNoYTI1Nl9oZXgpOwogCiBvdXIgJFZFUlNJT04gPSAnMS4wMCc7CiBvdXIoQElTQSwgQEVYUE9SVCwgQEVYUE9SVF9PSywgQEFWQUlMQUJMRSk7CkBAIC0xMiw1OSArMTMsMTIgQEAKICAgICBwdXNoIEBFWFBPUlRfT0ssIHF3KGdlbmVyYXRlKTsKIH0KIAotbXkgJGd1aWRfaW5kZXggPSAwOwotbXkgQEdVSURTID0gKAotICAgICJ7RTA3Qjk5ODktMkJGNy00RjIxLTg5MTgtQkUyMkJBNDY3QUMzfSIsCi0gICAgInsyNzhGRkI1MS0wMjk2LTRBNDQtQTgxQS0yMkI4N0I3QzM1OTJ9IiwKLSAgICAiezczNDZBMkM0LUYwRkQtNDQ0Ri05RUJFLTFBRjIzQjJCNTY1MH0iLAotICAgICJ7NjdGNDIxQUMtRUIzNC00RDQ5LTgyMEItMzE5NjgwN0I0MjNGfSIsCi0gICAgInszODVEQ0ZFMS1DQzhDLTQyMTEtQTQ1MS04MEZDRkMzMUNBNTF9IiwKLSAgICAiezk3Q0M0NkM1LUQyQ0MtNEQyNi1CNjM0LUU3NTc5MkI3OTkxNn0iLAotICAgICJ7QzdDRTIxRkUtNkVGOC00MDEyLUE1QzctQTIyQkNFREZCQTExfSIsCi0gICAgIns1MTU3NTEzNC0zRkRGLTQyRDEtQkFCRC0zRkIxMjY2OUM2Qzl9IiwKLSAgICAiezBBRTE5NUU0LTk4MjMtNEI4Ny04RTZGLTIwQzU2MTRBRjJGRn0iLAotICAgICJ7NEI5MTgyNTUtNjdDQS00M0JCLUE0NkMtMjY3MDRCNjY2RTZCfSIsCi0gICAgInsxOENDRkVFRi1DOEVFLTRDQzEtQTI2NS0yNkY5NUM5RjQ2NDl9IiwKLSAgICAiezVENUQ5MEZBLTAxQjctNDk3My1BRkU1LUNBODhDNTNBQzE5N30iLAotICAgICJ7MUYwNTQzMjAtMDM2RC00OUUxLUIzODQtRkI1REYwQkM4QUMwfSIsCi0gICAgIns3Q0VENjVFRS1GMkQ5LTQxNzEtODI1Qi1DN0Q1NjFGRTU3ODZ9IiwKLSAgICAiezhEMzQxNjc5LTBGMDctNDY2NC05QTU2LTNCQTBERTg4QjlCQ30iLAotICAgICJ7QzE4OUZFREMtMjk1Ny00QkQ3LTlGQTQtNzYyMjI0MUVBMTQ1fSIsCi0gICAgIns2Njg0NDIwMy0xQjlGLTRDNTMtOTI3NC0xNjRGRkY5NUI4NDd9IiwKLSAgICAie0U0RkVBMTQ1LURFQ0MtNDQwRC1BRUVBLTU5OENGMzgxRkQ0M30iLAotICAgICJ7NzMzMDBBOEUtQzhBQy00MUIwLUI1NTUtNEY1OTZCNjgxQkE3fSIsCi0gICAgIns4NzNGREVCMS1EMDFELTQwQkYtQTFCRi04QkJDNThFQzBGNTF9IiwKLSAgICAiezc5MjJDOEJFLTc2QzUtNEFDNi04QkY3LTg4NUMwRjkzQjc4Mn0iLAotICAgICJ7RTI0NUQzNzAtMzA4Qi00QTQ5LUJGQzEtMUU1Mjc4Mjc5NzVGfSIsCi0gICAgIntGNkZBOTU3Qi02NkZDLTRFRDctQjI2MC1FNTlCQkU0RkU4MTN9IiwKLSAgICAie0U2MDU1MDcwLTAxOTgtNDMxQS1CQzQ5LThEQjZDRUU3NzBBRX0iLAotICAgICJ7NTQxNTkyMzQtQzNFQi00M0RBLTkwNkItQ0U1REE1Qzc0NjU0fSIsCi0gICAgIns1OTRDRkMzNS0wQjYwLTQ2RjYtQjhFRi05OTgzQUNDMTE4N0R9IiwKLSAgICAie0Q5M0ZDQUI3LTFGMDEtNDhEMi1CODMyLUY3NjFCODMyMzFBNX0iLAotICAgICJ7REJBNUU2QUMtRTdCRS00MkQzLTg3MDMtNEU3ODcxNDE1MjZFfSIsCi0gICAgIns2MTcxOTUzRi1ERDI2LTQ0QzctQTNCRS1DQzQ1Rjg2RkMxMUZ9IiwKLSAgICAiezlFMTlEREJFLUY1RTQtNEEyNi1BMkZFLTA2MTZFMDQ4NzlCOH0iLAotICAgICJ7QUU4MUE2MTUtOTlFMy00ODg1LTlDRTAtRDlDQUExOTNFODY3fSIsCi0gICAgIntGQkY0MDY3RS0xODU1LTRGNkMtOEJDRC00RDYyRTgwMUEwNER9IiwKLSAgICAiezE3MDA3OTQ4LTY1OTMtNEFFQi04MTA2LUY3ODg0QjRGMkMxOX0iLAotICAgICJ7MTk5RDRDOEQtODYzOS00REE2LTgyRUYtMDg2NjhDMzVERUUwfSIsCi0gICAgIntFMDg1RTUwRS1DMTQwLTRDRjMtQkU0Qi0wOTRCMTRGMERERDZ9IiwKLSAgICAiezAwNzg1MjY4LUE5Q0MtNEU0MC1BQzI5LUJBQzAwMTkxNTlDRX0iLAotICAgICJ7NEMwNkY1NkEtRENEQi00NkE2LUI2N0MtMDIzMzk5MzVDRjEyfSIsCi0gICAgInszQTYyRDNGRC01MTlFLTRFQzktODE3MS1EMkMxQkZFQTAyMkZ9IiwKLSAgICAiezNBNjJEM0ZELTUxOUUtNEVDOS04MTcxLUQyQzFCRkVBMDIyRn0iLAotICAgICJ7OTM5MkVCNTgtRDdCQS00MTBCLUIxRjAtQjJGQUE2QkM4OUE3fSIsCi0gICAgInsyQUNBQjJENS1FMENFLTQwMjctQkNBMC1ENzhCMkQ3QTZDNjZ9IiwKLSAgICAiezg2RTIxNkMzLTQzQ0UtNDgxQS1CQ0IyLUJFNUU2Mjg1MDYzNX0iLAotICAgICJ7RkI2MzEyOTEtNzkyMy00QjkxLTlBNTctN0IxOEZEQkI3QTQyfSIsCi0gICAgInswQTE3NkVDOS1FOTM0LTQ1QjgtQjg3Ri0xNkM3RjRDODAwMzl9IiwKLSAgICAie0RGNTVDQTgwLTQ2RTgtNEM1My1CNjVCLTQ5OTBBMjNERDQ0NH0iLAotICAgICJ7M0EwRjk4OTUtNTVEMi00NzEwLUJFNUUtQUQ3NDk4QjVCRjQ0fSIsCi0gICAgInsyOTRCREM1QS1GNDQ4LTQ4QjYtODExMC1ERDBBODE4MjBGOEN9IiwKLSAgICAiezRCOUY2NkU5LUZBQzktNDdBQi1CMUVGLUMxNjc1NkZCRkQwNn0iLAotICAgICJ7NzJFQTQ5QzYtMjgwNi00OEJELUI4MUItRDQ5MDUxMDJFMTlDfSIsCi0gICAgIns1NzI4RUI3RS04OTI5LTQ4NkMtOENENS0zMjM4RDA2MEU3Njh9IgotKTsKK3N1YiBnZW5lcmF0ZV9ndWlkICgkKSB7CisgICAgbXkgJGhleCA9IHNoYTI1Nl9oZXgoJF9bMF0pOworICAgICRoZXggPX4gcy9eKC57OH0pKC57NH0pKC57NH0pKC57NH0pKC57MTJ9KS4qL3skMS0kMi0kMy0kNC0kNX0vOworICAgICRoZXggPX4gdHIvYS16L0EtWi87CisgICAgcmV0dXJuICRoZXg7Cit9CiAKIHN1YiBnZW5lcmF0ZSB7CiAgICAgbXkgKCRnaXRfZGlyLCAkb3V0X2RpciwgJHJlbF9kaXIsICVidWlsZF9zdHJ1Y3R1cmUpID0gQF87CkBAIC05Miw5ICs0Niw4IEBACiAgICAgJHRhcmdldCA9fiBzL1wvL18vZzsKICAgICAkdGFyZ2V0ID1+IHMvXC5hLy87CiAKLSAgICBteSAkdXVpZCA9ICRHVUlEU1skZ3VpZF9pbmRleF07CisgICAgbXkgJHV1aWQgPSBnZW5lcmF0ZV9ndWlkKCRsaWJuYW1lKTsKICAgICAkJGJ1aWxkX3N0cnVjdHVyZXsiTElCU18ke3RhcmdldH1fR1VJRCJ9ID0gJHV1aWQ7Ci0gICAgJGd1aWRfaW5kZXggKz0gMTsKIAogICAgIG15IEBzcmNzID0gc29ydChtYXAoIiRyZWxfZGlyXFwkXyIsIEB7JCRidWlsZF9zdHJ1Y3R1cmV7IkxJQlNfJHtsaWJuYW1lfV9TT1VSQ0VTIn19KSk7CiAgICAgbXkgQHNvdXJjZXM7CkBAIC0xMDYsNiArNTksOCBAQAogICAgIG15ICRpbmNsdWRlcz0gam9pbigiOyIsIHNvcnQobWFwKCImcXVvdDskcmVsX2RpclxcJF8mcXVvdDsiLCBAeyQkYnVpbGRfc3RydWN0dXJleyJMSUJTXyR7bGlibmFtZX1fSU5DTFVERVMifX0pKSk7CiAgICAgbXkgJGNmbGFncyAgPSBqb2luKCIgIiwgc29ydChAeyQkYnVpbGRfc3RydWN0dXJleyJMSUJTXyR7bGlibmFtZX1fQ0ZMQUdTIn19KSk7CiAgICAgJGNmbGFncyA9fiBzL1wiLyZxdW90Oy9nOworICAgICRjZmxhZ3MgPX4gcy88LyZsdDsvZzsKKyAgICAkY2ZsYWdzID1+IHMvPi8mZ3Q7L2c7CiAKICAgICBteSAkY2ZsYWdzX2RlYnVnID0gJGNmbGFnczsKICAgICAkY2ZsYWdzX2RlYnVnID1+IHMvLU1ULy1NVGQvOwpAQCAtMTI3LDYgKzgyLDggQEAKIAogICAgICRkZWZpbmVzID1+IHMvLUQvL2c7CiAgICAgJGRlZmluZXMgPX4gcy9cIi9cXCZxdW90Oy9nOworICAgICRkZWZpbmVzID1+IHMvPC8mbHQ7L2c7CisgICAgJGRlZmluZXMgPX4gcy8+LyZndDsvZzsKICAgICAkZGVmaW5lcyA9fiBzL1wnLy9nOwogICAgICRpbmNsdWRlcyA9fiBzLy1JLy9nOwogICAgIG1rZGlyICIkdGFyZ2V0IiB8fCBkaWUgIkNvdWxkIG5vdCBjcmVhdGUgdGhlIGRpcmVjdG9yeSAkdGFyZ2V0IGZvciBsaWIgcHJvamVjdCFcbiI7CkBAIC0xNjMsOSArMTIwLDYgQEAKIAkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIgogCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIgotCQkJLz4KLQkJCTxUb29sCiAJCQkJTmFtZT0iVkNNSURMVG9vbCIKIAkJCS8+CiAJCQk8VG9vbApAQCAtMjI5LDkgKzE4Myw2IEBACiAJCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIKIAkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAogCQkJCU5hbWU9IlZDTUlETFRvb2wiCiAJCQkvPgogCQkJPFRvb2wKQEAgLTMxMSw5ICsyNjIsOCBAQAogICAgICR0YXJnZXQgPX4gcy9cLy9fL2c7CiAgICAgJHRhcmdldCA9fiBzL1wuZXhlLy87CiAKLSAgICBteSAkdXVpZCA9ICRHVUlEU1skZ3VpZF9pbmRleF07CisgICAgbXkgJHV1aWQgPSBnZW5lcmF0ZV9ndWlkKCRhcHBuYW1lKTsKICAgICAkJGJ1aWxkX3N0cnVjdHVyZXsiQVBQU18ke3RhcmdldH1fR1VJRCJ9ID0gJHV1aWQ7Ci0gICAgJGd1aWRfaW5kZXggKz0gMTsKIAogICAgIG15IEBzcmNzID0gc29ydChtYXAoIiRyZWxfZGlyXFwkXyIsIEB7JCRidWlsZF9zdHJ1Y3R1cmV7IkFQUFNfJHthcHBuYW1lfV9TT1VSQ0VTIn19KSk7CiAgICAgbXkgQHNvdXJjZXM7CkBAIC0zMjUsNiArMjc1LDggQEAKICAgICBteSAkaW5jbHVkZXM9IGpvaW4oIjsiLCBzb3J0KG1hcCgiJnF1b3Q7JHJlbF9kaXJcXCRfJnF1b3Q7IiwgQHskJGJ1aWxkX3N0cnVjdHVyZXsiQVBQU18ke2FwcG5hbWV9X0lOQ0xVREVTIn19KSkpOwogICAgIG15ICRjZmxhZ3MgID0gam9pbigiICIsIHNvcnQoQHskJGJ1aWxkX3N0cnVjdHVyZXsiQVBQU18ke2FwcG5hbWV9X0NGTEFHUyJ9fSkpOwogICAgICRjZmxhZ3MgPX4gcy9cIi8mcXVvdDsvZzsKKyAgICAkY2ZsYWdzID1+IHMvPC8mbHQ7L2c7CisgICAgJGNmbGFncyA9fiBzLz4vJmd0Oy9nOwogCiAgICAgbXkgJGNmbGFnc19kZWJ1ZyA9ICRjZmxhZ3M7CiAgICAgJGNmbGFnc19kZWJ1ZyA9fiBzLy1NVC8tTVRkLzsKQEAgLTM1MSw2ICszMDMsOCBAQAogCiAgICAgJGRlZmluZXMgPX4gcy8tRC8vZzsKICAgICAkZGVmaW5lcyA9fiBzL1wiL1xcJnF1b3Q7L2c7CisgICAgJGRlZmluZXMgPX4gcy88LyZsdDsvZzsKKyAgICAkZGVmaW5lcyA9fiBzLz4vJmd0Oy9nOwogICAgICRkZWZpbmVzID1+IHMvXCcvL2c7CiAgICAgJGRlZmluZXMgPX4gcy9cXFxcL1xcL2c7CiAgICAgJGluY2x1ZGVzID1+IHMvLUkvL2c7CkBAIC0zODgsOSArMzQyLDYgQEAKIAkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIgogCQkJLz4KIAkJCTxUb29sCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIgotCQkJLz4KLQkJCTxUb29sCiAJCQkJTmFtZT0iVkNNSURMVG9vbCIKIAkJCS8+CiAJCQk8VG9vbApAQCAtNDU5LDkgKzQxMCw2IEBACiAJCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIKIAkJCS8+CiAJCQk8VG9vbAotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIKLQkJCS8+Ci0JCQk8VG9vbAogCQkJCU5hbWU9IlZDTUlETFRvb2wiCiAJCQkvPgogCQkJPFRvb2wKQEAgLTU2MSwyMCArNTA5LDE4IEBACiAgICAgZm9yZWFjaCAoQGFwcHMpIHsKICAgICAgICAgJF8gPX4gcy9cLy9fL2c7CiAgICAgICAgICRfID1+IHMvXC5leGUvLzsKLSAgICAgICAgcHVzaChAdG1wLCAkXyk7CisgICAgICAgIGlmICgkXyBlcSAiZ2l0IiApIHsKKyAgICAgICAgICAgIHVuc2hpZnQoQHRtcCwgJF8pOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcHVzaChAdG1wLCAkXyk7CisgICAgICAgIH0KICAgICB9CiAgICAgQGFwcHMgPSBAdG1wOwogCiAgICAgb3BlbiBGLCAiPmdpdC5zbG4iIHx8IGRpZSAiQ291bGQgbm90IG9wZW4gZ2l0LnNsbiBmb3Igd3JpdGluZyFcbiI7CiAgICAgYmlubW9kZSBGLCAiOmNybGYiOwogICAgIHByaW50IEYgIiRTTE5fSEVBRCI7Ci0gICAgZm9yZWFjaCAoQGxpYnMpIHsKLSAgICAgICAgbXkgJGxpYm5hbWUgPSAkXzsKLSAgICAgICAgbXkgJHV1aWQgPSAkYnVpbGRfc3RydWN0dXJleyJMSUJTXyR7bGlibmFtZX1fR1VJRCJ9OwotICAgICAgICBwcmludCBGICIkU0xOX1BSRSI7Ci0gICAgICAgIHByaW50IEYgIlwiJHtsaWJuYW1lfVwiLCBcIiR7bGlibmFtZX1cXCR7bGlibmFtZX0udmNwcm9qXCIsIFwiJHt1dWlkfVwiIjsKLSAgICAgICAgcHJpbnQgRiAiJFNMTl9QT1NUIjsKLSAgICB9CisKICAgICBteSAkdXVpZF9saWJnaXQgPSAkYnVpbGRfc3RydWN0dXJleyJMSUJTX2xpYmdpdF9HVUlEIn07CiAgICAgbXkgJHV1aWRfeGRpZmZfbGliID0gJGJ1aWxkX3N0cnVjdHVyZXsiTElCU194ZGlmZl9saWJfR1VJRCJ9OwogICAgIGZvcmVhY2ggKEBhcHBzKSB7CkBAIC01ODgsNiArNTM0LDEzIEBACiAgICAgICAgIHByaW50IEYgIglFbmRQcm9qZWN0U2VjdGlvbiI7CiAgICAgICAgIHByaW50IEYgIiRTTE5fUE9TVCI7CiAgICAgfQorICAgIGZvcmVhY2ggKEBsaWJzKSB7CisgICAgICAgIG15ICRsaWJuYW1lID0gJF87CisgICAgICAgIG15ICR1dWlkID0gJGJ1aWxkX3N0cnVjdHVyZXsiTElCU18ke2xpYm5hbWV9X0dVSUQifTsKKyAgICAgICAgcHJpbnQgRiAiJFNMTl9QUkUiOworICAgICAgICBwcmludCBGICJcIiR7bGlibmFtZX1cIiwgXCIke2xpYm5hbWV9XFwke2xpYm5hbWV9LnZjcHJvalwiLCBcIiR7dXVpZH1cIiI7CisgICAgICAgIHByaW50IEYgIiRTTE5fUE9TVCI7CisgICAgfQogCiAgICAgcHJpbnQgRiA8PCAiRU9NIjsKIEdsb2JhbApAQCAtNTk5LDE3ICs1NTIsMTcgQEAKICAgICBwcmludCBGIDw8ICJFT00iOwogCUdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcG9zdFNvbHV0aW9uCiBFT00KLSAgICBmb3JlYWNoIChAbGlicykgewotICAgICAgICBteSAkbGlibmFtZSA9ICRfOwotICAgICAgICBteSAkdXVpZCA9ICRidWlsZF9zdHJ1Y3R1cmV7IkxJQlNfJHtsaWJuYW1lfV9HVUlEIn07CisgICAgZm9yZWFjaCAoQGFwcHMpIHsKKyAgICAgICAgbXkgJGFwcG5hbWUgPSAkXzsKKyAgICAgICAgbXkgJHV1aWQgPSAkYnVpbGRfc3RydWN0dXJleyJBUFBTXyR7YXBwbmFtZX1fR1VJRCJ9OwogICAgICAgICBwcmludCBGICJcdFx0JHt1dWlkfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMlxuIjsKICAgICAgICAgcHJpbnQgRiAiXHRcdCR7dXVpZH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyXG4iOwogICAgICAgICBwcmludCBGICJcdFx0JHt1dWlkfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzJcbiI7CiAgICAgICAgIHByaW50IEYgIlx0XHQke3V1aWR9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzJcbiI7CiAgICAgfQotICAgIGZvcmVhY2ggKEBhcHBzKSB7Ci0gICAgICAgIG15ICRhcHBuYW1lID0gJF87Ci0gICAgICAgIG15ICR1dWlkID0gJGJ1aWxkX3N0cnVjdHVyZXsiQVBQU18ke2FwcG5hbWV9X0dVSUQifTsKKyAgICBmb3JlYWNoIChAbGlicykgeworICAgICAgICBteSAkbGlibmFtZSA9ICRfOworICAgICAgICBteSAkdXVpZCA9ICRidWlsZF9zdHJ1Y3R1cmV7IkxJQlNfJHtsaWJuYW1lfV9HVUlEIn07CiAgICAgICAgIHByaW50IEYgIlx0XHQke3V1aWR9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyXG4iOwogICAgICAgICBwcmludCBGICJcdFx0JHt1dWlkfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzJcbiI7CiAgICAgICAgIHByaW50IEYgIlx0XHQke3V1aWR9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMlxuIjsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvYnVpbGRzeXN0ZW1zL0dlbmVyYXRvcnMvVmN4cHJvai5wbSBiL2NvbnRyaWIvYnVpbGRzeXN0ZW1zL0dlbmVyYXRvcnMvVmN4cHJvai5wbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzY2NmY5Ci0tLSAvZGV2L251bGwKKysrIGIvY29udHJpYi9idWlsZHN5c3RlbXMvR2VuZXJhdG9ycy9WY3hwcm9qLnBtCkBAIC0wLDAgKzEsMzkyIEBACitwYWNrYWdlIEdlbmVyYXRvcnM6OlZjeHByb2o7CityZXF1aXJlIEV4cG9ydGVyOworCit1c2Ugc3RyaWN0OwordXNlIHZhcnMgcXcoJFZFUlNJT04pOwordXNlIERpZ2VzdDo6U0hBIHF3KHNoYTI1Nl9oZXgpOworCitvdXIgJFZFUlNJT04gPSAnMS4wMCc7CitvdXIoQElTQSwgQEVYUE9SVCwgQEVYUE9SVF9PSywgQEFWQUlMQUJMRSk7CitASVNBID0gcXcoRXhwb3J0ZXIpOworCitCRUdJTiB7CisgICAgcHVzaCBARVhQT1JUX09LLCBxdyhnZW5lcmF0ZSk7Cit9CisKK3N1YiBnZW5lcmF0ZV9ndWlkICgkKSB7CisJbXkgJGhleCA9IHNoYTI1Nl9oZXgoJF9bMF0pOworCSRoZXggPX4gcy9eKC57OH0pKC57NH0pKC57NH0pKC57NH0pKC57MTJ9KS4qL3skMS0kMi0kMy0kNC0kNX0vOworCSRoZXggPX4gdHIvYS16L0EtWi87CisJcmV0dXJuICRoZXg7Cit9CisKK3N1YiBnZW5lcmF0ZSB7CisgICAgbXkgKCRnaXRfZGlyLCAkb3V0X2RpciwgJHJlbF9kaXIsICVidWlsZF9zdHJ1Y3R1cmUpID0gQF87CisgICAgbXkgQGxpYnMgPSBAeyRidWlsZF9zdHJ1Y3R1cmV7IkxJQlMifX07CisgICAgZm9yZWFjaCAoQGxpYnMpIHsKKyAgICAgICAgY3JlYXRlUHJvamVjdCgkXywgJGdpdF9kaXIsICRvdXRfZGlyLCAkcmVsX2RpciwgXCVidWlsZF9zdHJ1Y3R1cmUsIDEpOworICAgIH0KKworICAgIG15IEBhcHBzID0gQHskYnVpbGRfc3RydWN0dXJleyJBUFBTIn19OworICAgIGZvcmVhY2ggKEBhcHBzKSB7CisgICAgICAgIGNyZWF0ZVByb2plY3QoJF8sICRnaXRfZGlyLCAkb3V0X2RpciwgJHJlbF9kaXIsIFwlYnVpbGRfc3RydWN0dXJlLCAwKTsKKyAgICB9CisKKyAgICBjcmVhdGVHbHVlUHJvamVjdCgkZ2l0X2RpciwgJG91dF9kaXIsICRyZWxfZGlyLCAlYnVpbGRfc3RydWN0dXJlKTsKKyAgICByZXR1cm4gMDsKK30KKworc3ViIGNyZWF0ZVByb2plY3QgeworICAgIG15ICgkbmFtZSwgJGdpdF9kaXIsICRvdXRfZGlyLCAkcmVsX2RpciwgJGJ1aWxkX3N0cnVjdHVyZSwgJHN0YXRpY19saWJyYXJ5KSA9IEBfOworICAgIG15ICRsYWJlbCA9ICRzdGF0aWNfbGlicmFyeSA/ICJsaWIiIDogImFwcCI7CisgICAgbXkgJHByZWZpeCA9ICRzdGF0aWNfbGlicmFyeSA/ICJMSUJTXyIgOiAiQVBQU18iOworICAgIG15ICRjb25maWdfdHlwZSA9ICRzdGF0aWNfbGlicmFyeSA/ICJTdGF0aWNMaWJyYXJ5IiA6ICJBcHBsaWNhdGlvbiI7CisgICAgcHJpbnQgIkdlbmVyYXRlICRuYW1lIHZjeHByb2ogJGxhYmVsIHByb2plY3RcbiI7CisgICAgbXkgJGNkdXAgPSAkbmFtZTsKKyAgICAkY2R1cCA9fiBzL1teXC9dKy8uLi9nOworICAgICRjZHVwID1+IHMvXC8vXFwvZzsKKyAgICAkcmVsX2RpciA9ICRyZWxfZGlyIGVxICIuIiA/ICRjZHVwIDogIiRjZHVwXFwkcmVsX2RpciI7CisgICAgJHJlbF9kaXIgPX4gcy9cLy9cXC9nOworCisgICAgbXkgJHRhcmdldCA9ICRuYW1lOworICAgIGlmICgkc3RhdGljX2xpYnJhcnkpIHsKKyAgICAgICR0YXJnZXQgPX4gcy9cLmEvLzsKKyAgICB9IGVsc2UgeworICAgICAgJHRhcmdldCA9fiBzL1wuZXhlLy87CisgICAgfQorCisgICAgbXkgJHV1aWQgPSBnZW5lcmF0ZV9ndWlkKCRuYW1lKTsKKyAgICAkJGJ1aWxkX3N0cnVjdHVyZXsiJHByZWZpeCR7dGFyZ2V0fV9HVUlEIn0gPSAkdXVpZDsKKyAgICBteSAkdmN4cHJvaiA9ICR0YXJnZXQ7CisgICAgJHZjeHByb2ogPX4gcy8oLipcLyk/KC4qKS8kJlwvJDIudmN4cHJvai87CisgICAgJHZjeHByb2ogPX4gcy8oW15cL10qKShcL2xpYilcLyhsaWIudmN4cHJvaikvJDEkMlwvJDFfJDMvOworICAgICQkYnVpbGRfc3RydWN0dXJleyIkcHJlZml4JHt0YXJnZXR9X1ZDWFBST0oifSA9ICR2Y3hwcm9qOworCisgICAgbXkgQHNyY3MgPSBzb3J0KG1hcCgiJHJlbF9kaXJcXCRfIiwgQHskJGJ1aWxkX3N0cnVjdHVyZXsiJHByZWZpeCR7bmFtZX1fU09VUkNFUyJ9fSkpOworICAgIG15IEBzb3VyY2VzOworICAgIGZvcmVhY2ggKEBzcmNzKSB7CisgICAgICAgICRfID1+IHMvXC8vXFwvZzsKKyAgICAgICAgcHVzaChAc291cmNlcywgJF8pOworICAgIH0KKyAgICBteSAkZGVmaW5lcyA9IGpvaW4oIjsiLCBzb3J0KEB7JCRidWlsZF9zdHJ1Y3R1cmV7IiRwcmVmaXgke25hbWV9X0RFRklORVMifX0pKTsKKyAgICBteSAkaW5jbHVkZXM9IGpvaW4oIjsiLCBzb3J0KG1hcCB7IHMvXi1JLy87IHMvXC8vXFwvZzsgRmlsZTo6U3BlYy0+ZmlsZV9uYW1lX2lzX2Fic29sdXRlKCRfKSA/ICRfIDogIiRyZWxfZGlyXFwkXyIgfSBAeyQkYnVpbGRfc3RydWN0dXJleyIkcHJlZml4JHtuYW1lfV9JTkNMVURFUyJ9fSkpOworICAgIG15ICRjZmxhZ3MgPSBqb2luKCIgIiwgc29ydChtYXAgeyBzL14tW0dMTU9XWl0uKi8vOyBzLy4qIC4qLyIkJiIvOyAkXzsgfSBAeyQkYnVpbGRfc3RydWN0dXJleyIkcHJlZml4JHtuYW1lfV9DRkxBR1MifX0pKTsKKyAgICAkY2ZsYWdzID1+IHMvPC8mbHQ7L2c7CisgICAgJGNmbGFncyA9fiBzLz4vJmd0Oy9nOworCisgICAgbXkgJGxpYnNfcmVsZWFzZSA9ICJcbiAgICAiOworICAgIG15ICRsaWJzX2RlYnVnID0gIlxuICAgICI7CisgICAgaWYgKCEkc3RhdGljX2xpYnJhcnkpIHsKKyAgICAgICRsaWJzX3JlbGVhc2UgPSBqb2luKCI7Iiwgc29ydChncmVwIC9eKD8hbGliZ2l0XC5saWJ8eGRpZmZcL2xpYlwubGlifHZjcy1zdm5cL2xpYlwubGliKS8sIEB7JCRidWlsZF9zdHJ1Y3R1cmV7IiRwcmVmaXgke25hbWV9X0xJQlMifX0pKTsKKyAgICAgICRsaWJzX2RlYnVnID0gJGxpYnNfcmVsZWFzZTsKKyAgICAgICRsaWJzX2RlYnVnID1+IHMvemxpYlwubGliL3psaWJkXC5saWIvZzsKKyAgICAgICRsaWJzX2RlYnVnID1+IHMvbGliY3VybFwubGliL2xpYmN1cmwtZFwubGliL2c7CisgICAgfQorCisgICAgJGRlZmluZXMgPX4gcy8tRC8vZzsKKyAgICAkZGVmaW5lcyA9fiBzLzwvJmx0Oy9nOworICAgICRkZWZpbmVzID1+IHMvPi8mZ3Q7L2c7CisgICAgJGRlZmluZXMgPX4gcy9cJy8vZzsKKworICAgIGRpZSAiQ291bGQgbm90IGNyZWF0ZSB0aGUgZGlyZWN0b3J5ICR0YXJnZXQgZm9yICRsYWJlbCBwcm9qZWN0IVxuIiB1bmxlc3MgKC1kICIkdGFyZ2V0IiB8fCBta2RpciAiJHRhcmdldCIpOworCisgICAgb3BlbiBGLCAiPiR2Y3hwcm9qIiBvciBkaWUgIkNvdWxkIG5vdCBvcGVuICR2Y3hwcm9qIGZvciB3cml0aW5nIVxuIjsKKyAgICBiaW5tb2RlIEYsICI6Y3JsZiA6dXRmOCI7CisgICAgcHJpbnQgRiBjaHIoMHhGRUZGKTsKKyAgICBwcmludCBGIDw8ICJFT00iOworPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSIxNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPiR1dWlkPC9Qcm9qZWN0R3VpZD4KKyAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CisgICAgPFZDUEtHQXJjaCBDb25kaXRpb249IidcJChQbGF0Zm9ybSknPT0nV2luMzInIj54ODYtd2luZG93czwvVkNQS0dBcmNoPgorICAgIDxWQ1BLR0FyY2ggQ29uZGl0aW9uPSInXCQoUGxhdGZvcm0pJyE9J1dpbjMyJyI+eDY0LXdpbmRvd3M8L1ZDUEtHQXJjaD4KKyAgICA8VkNQS0dBcmNoRGlyZWN0b3J5PiRjZHVwXFxjb21wYXRcXHZjYnVpbGRcXHZjcGtnXFxpbnN0YWxsZWRcXFwkKFZDUEtHQXJjaCk8L1ZDUEtHQXJjaERpcmVjdG9yeT4KKyAgICA8VkNQS0dCaW5EaXJlY3RvcnkgQ29uZGl0aW9uPSInXCQoQ29uZmlndXJhdGlvbiknPT0nRGVidWcnIj5cJChWQ1BLR0FyY2hEaXJlY3RvcnkpXFxkZWJ1Z1xcYmluPC9WQ1BLR0JpbkRpcmVjdG9yeT4KKyAgICA8VkNQS0dMaWJEaXJlY3RvcnkgQ29uZGl0aW9uPSInXCQoQ29uZmlndXJhdGlvbiknPT0nRGVidWcnIj5cJChWQ1BLR0FyY2hEaXJlY3RvcnkpXFxkZWJ1Z1xcbGliPC9WQ1BLR0xpYkRpcmVjdG9yeT4KKyAgICA8VkNQS0dCaW5EaXJlY3RvcnkgQ29uZGl0aW9uPSInXCQoQ29uZmlndXJhdGlvbiknIT0nRGVidWcnIj5cJChWQ1BLR0FyY2hEaXJlY3RvcnkpXFxiaW48L1ZDUEtHQmluRGlyZWN0b3J5PgorICAgIDxWQ1BLR0xpYkRpcmVjdG9yeSBDb25kaXRpb249IidcJChDb25maWd1cmF0aW9uKSchPSdEZWJ1ZyciPlwkKFZDUEtHQXJjaERpcmVjdG9yeSlcXGxpYjwvVkNQS0dMaWJEaXJlY3Rvcnk+CisgICAgPFZDUEtHSW5jbHVkZURpcmVjdG9yeT5cJChWQ1BLR0FyY2hEaXJlY3RvcnkpXFxpbmNsdWRlPC9WQ1BLR0luY2x1ZGVEaXJlY3Rvcnk+CisgICAgPFZDUEtHTGlicyBDb25kaXRpb249IidcJChDb25maWd1cmF0aW9uKSc9PSdEZWJ1ZyciPiRsaWJzX2RlYnVnPC9WQ1BLR0xpYnM+CisgICAgPFZDUEtHTGlicyBDb25kaXRpb249IidcJChDb25maWd1cmF0aW9uKSchPSdEZWJ1ZyciPiRsaWJzX3JlbGVhc2U8L1ZDUEtHTGlicz4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IlwkKFZDVGFyZ2V0c1BhdGgpXFxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJ1wkKENvbmZpZ3VyYXRpb24pJz09J0RlYnVnJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KKyAgICA8TGlua0luY3JlbWVudGFsPnRydWU8L0xpbmtJbmNyZW1lbnRhbD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IidcJChDb25maWd1cmF0aW9uKSc9PSdSZWxlYXNlJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+CisgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPiRjb25maWdfdHlwZTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPFBsYXRmb3JtVG9vbHNldD52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgICAgPCEtLSA8Q2hhcmFjdGVyU2V0PlVURi04PC9DaGFyYWN0ZXJTZXQ+IC0tPgorICAgIDxPdXREaXI+Li5cXDwvT3V0RGlyPgorICAgIDwhLS0gPEludERpcj5cJChQcm9qZWN0RGlyKVwkKENvbmZpZ3VyYXRpb24pXFw8L0ludERpcj4gLS0+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJcJChWQ1RhcmdldHNQYXRoKVxcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iU2hhcmVkIj4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSJcJChVc2VyUm9vdERpcilcXE1pY3Jvc29mdC5DcHAuXCQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCdcJChVc2VyUm9vdERpcilcXE1pY3Jvc29mdC5DcHAuXCQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICA8L0ltcG9ydEdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPEdlbmVyYXRlTWFuaWZlc3Q+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+CisgICAgPEVuYWJsZU1hbmFnZWRJbmNyZW1lbnRhbEJ1aWxkPnRydWU8L0VuYWJsZU1hbmFnZWRJbmNyZW1lbnRhbEJ1aWxkPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8QWRkaXRpb25hbE9wdGlvbnM+JGNmbGFncyAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kY2R1cDskY2R1cFxcY29tcGF0OyRjZHVwXFxjb21wYXRcXHJlZ2V4OyRjZHVwXFxjb21wYXRcXHdpbjMyOyRjZHVwXFxjb21wYXRcXHBvbGw7JGNkdXBcXGNvbXBhdFxcdmNidWlsZFxcaW5jbHVkZTtcJChWQ1BLR0luY2x1ZGVEaXJlY3RvcnkpOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8RW5hYmxlUGFyYWxsZWxDb2RlR2VuZXJhdGlvbiAvPgorICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXIgLz4KKyAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGliPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgPC9MaWI+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz5cJChWQ1BLR0xpYkRpcmVjdG9yeSk7JShBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPlwkKFZDUEtHTGlicyk7XCQoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8QWRkaXRpb25hbE9wdGlvbnM+aW52YWxpZGNvbnRpbnVlLm9iaiAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgICA8RW50cnlQb2ludFN5bWJvbD53bWFpbkNSVFN0YXJ0dXA8L0VudHJ5UG9pbnRTeW1ib2w+CisgICAgICA8TWFuaWZlc3RGaWxlPiRjZHVwXFxjb21wYXRcXHdpbjMyXFxnaXQubWFuaWZlc3Q8L01hbmlmZXN0RmlsZT4KKyAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgIDwvTGluaz4KK0VPTQorICAgIGlmICgkdGFyZ2V0IGVxICdsaWJnaXQnKSB7CisgICAgICAgIHByaW50IEYgPDwgIkVPTSI7CisgICAgPFByZUJ1aWxkRXZlbnQgQ29uZGl0aW9uPSIhRXhpc3RzKCckY2R1cFxcY29tcGF0XFx2Y2J1aWxkXFx2Y3BrZ1xcaW5zdGFsbGVkXFxcJChWQ1BLR0FyY2gpXFxpbmNsdWRlXFxvcGVuc3NsXFxzc2wuaCcpIj4KKyAgICAgIDxNZXNzYWdlPkluaXRpYWxpemUgVkNQS0c8L01lc3NhZ2U+CisgICAgICA8Q29tbWFuZD5kZWwgIiRjZHVwXFxjb21wYXRcXHZjYnVpbGRcXHZjcGtnIjwvQ29tbWFuZD4KKyAgICAgIDxDb21tYW5kPmNhbGwgIiRjZHVwXFxjb21wYXRcXHZjYnVpbGRcXHZjcGtnX2luc3RhbGwuYmF0IjwvQ29tbWFuZD4KKyAgICA8L1ByZUJ1aWxkRXZlbnQ+CitFT00KKyAgICB9CisgICAgcHJpbnQgRiA8PCAiRU9NIjsKKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IidcJChQbGF0Zm9ybSknPT0nV2luMzInIj4KKyAgICA8TGluaz4KKyAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYODY8L1RhcmdldE1hY2hpbmU+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJ1wkKENvbmZpZ3VyYXRpb24pJz09J0RlYnVnJyI+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfREVCVUc7JGRlZmluZXM7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1Z0RMTDwvUnVudGltZUxpYnJhcnk+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInXCQoQ29uZmlndXJhdGlvbiknPT0nUmVsZWFzZSciPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+CisgICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtOREVCVUc7JGRlZmluZXM7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgorICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgorICAgICAgPEZhdm9yU2l6ZU9yU3BlZWQ+U3BlZWQ8L0Zhdm9yU2l6ZU9yU3BlZWQ+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KKyAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPnRydWU8L0VuYWJsZUNPTURBVEZvbGRpbmc+CisgICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KK0VPTQorICAgIGZvcmVhY2goQHNvdXJjZXMpIHsKKyAgICAgICAgcHJpbnQgRiA8PCAiRU9NIjsKKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiRfIiAvPgorRU9NCisgICAgfQorICAgIHByaW50IEYgPDwgIkVPTSI7CisgIDwvSXRlbUdyb3VwPgorRU9NCisgICAgaWYgKCEkc3RhdGljX2xpYnJhcnkgfHwgJHRhcmdldCA9fiAndmNzLXN2bicgfHwgJHRhcmdldCA9fiAneGRpZmYnKSB7CisgICAgICBteSAkdXVpZF9saWJnaXQgPSAkJGJ1aWxkX3N0cnVjdHVyZXsiTElCU19saWJnaXRfR1VJRCJ9OworICAgICAgbXkgJHV1aWRfeGRpZmZfbGliID0gJCRidWlsZF9zdHJ1Y3R1cmV7IkxJQlNfeGRpZmYvbGliX0dVSUQifTsKKworICAgICAgcHJpbnQgRiA8PCAiRU9NIjsKKyAgPEl0ZW1Hcm91cD4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSIkY2R1cFxcbGliZ2l0XFxsaWJnaXQudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD4kdXVpZF9saWJnaXQ8L1Byb2plY3Q+CisgICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KK0VPTQorICAgICAgaWYgKCEoJG5hbWUgPX4gJ3hkaWZmJykpIHsKKyAgICAgICAgcHJpbnQgRiA8PCAiRU9NIjsKKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSIkY2R1cFxceGRpZmZcXGxpYlxceGRpZmZfbGliLnZjeHByb2oiPgorICAgICAgPFByb2plY3Q+JHV1aWRfeGRpZmZfbGliPC9Qcm9qZWN0PgorICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+CitFT00KKyAgICAgIH0KKyAgICAgIGlmICgkbmFtZSA9fiAvKHRlc3QtKGxpbmUtYnVmZmVyfHN2bi1mZSl8XmdpdC1yZW1vdGUtdGVzdHN2bilcLmV4ZSQvKSB7CisgICAgICAgIG15ICR1dWlkX3Zjc19zdm5fbGliID0gJCRidWlsZF9zdHJ1Y3R1cmV7IkxJQlNfdmNzLXN2bi9saWJfR1VJRCJ9OworICAgICAgICBwcmludCBGIDw8ICJFT00iOworICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9IiRjZHVwXFx2Y3Mtc3ZuXFxsaWJcXHZjcy1zdm5fbGliLnZjeHByb2oiPgorICAgICAgPFByb2plY3Q+JHV1aWRfdmNzX3N2bl9saWI8L1Byb2plY3Q+CisgICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KK0VPTQorICAgICAgfQorICAgICAgcHJpbnQgRiA8PCAiRU9NIjsKKyAgPC9JdGVtR3JvdXA+CitFT00KKyAgICB9CisgICAgcHJpbnQgRiA8PCAiRU9NIjsKKyAgPEltcG9ydCBQcm9qZWN0PSJcJChWQ1RhcmdldHNQYXRoKVxcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorRU9NCisgICAgaWYgKCEkc3RhdGljX2xpYnJhcnkpIHsKKyAgICAgIHByaW50IEYgPDwgIkVPTSI7CisgIDxUYXJnZXQgTmFtZT0iJHt0YXJnZXR9X0FmdGVyQnVpbGQiIEFmdGVyVGFyZ2V0cz0iQWZ0ZXJCdWlsZCI+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgIDxETExzQW5kUERCcyBJbmNsdWRlPSJcJChWQ1BLR0JpbkRpcmVjdG9yeSlcXCouZGxsO1wkKFZDUEtHQmluRGlyZWN0b3J5KVxcKi5wZGIiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPENvcHkgU291cmNlRmlsZXM9IkAoRExMc0FuZFBEQnMpIiBEZXN0aW5hdGlvbkZvbGRlcj0iXCQoT3V0RGlyKSIgU2tpcFVuY2hhbmdlZEZpbGVzPSJ0cnVlIiBVc2VIYXJkbGlua3NJZlBvc3NpYmxlPSJ0cnVlIiAvPgorICAgIDxNYWtlRGlyIERpcmVjdG9yaWVzPSIuLlxcdGVtcGxhdGVzXFxibHRcXGJyYW5jaGVzIiAvPgorICA8L1RhcmdldD4KK0VPTQorICAgIH0KKyAgICBpZiAoJHRhcmdldCBlcSAnZ2l0JykgeworICAgICAgcHJpbnQgRiAiICA8SW1wb3J0IFByb2plY3Q9XCJMaW5rT3JDb3B5QnVpbHRpbnMudGFyZ2V0c1wiIC8+XG4iOworICAgIH0KKyAgICBpZiAoJHRhcmdldCBlcSAnZ2l0LXJlbW90ZS1odHRwJykgeworICAgICAgcHJpbnQgRiAiICA8SW1wb3J0IFByb2plY3Q9XCJMaW5rT3JDb3B5UmVtb3RlSHR0cC50YXJnZXRzXCIgLz5cbiI7CisgICAgfQorICAgIHByaW50IEYgPDwgIkVPTSI7Cis8L1Byb2plY3Q+CitFT00KKyAgICBjbG9zZSBGOworfQorCitzdWIgY3JlYXRlR2x1ZVByb2plY3QgeworICAgIG15ICgkZ2l0X2RpciwgJG91dF9kaXIsICRyZWxfZGlyLCAlYnVpbGRfc3RydWN0dXJlKSA9IEBfOworICAgIHByaW50ICJHZW5lcmF0ZSBzb2x1dGlvbnMgZmlsZVxuIjsKKyAgICAkcmVsX2RpciA9ICIuLlxcJHJlbF9kaXIiOworICAgICRyZWxfZGlyID1+IHMvXC8vXFwvZzsKKyAgICBteSAkU0xOX0hFQUQgPSAiTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24gRmlsZSwgRm9ybWF0IFZlcnNpb24gMTEuMDBcbiMgVmlzdWFsIFN0dWRpbyAyMDEwXG4iOworICAgIG15ICRTTE5fUFJFICA9ICJQcm9qZWN0KFwiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn1cIikgPSAiOworICAgIG15ICRTTE5fUE9TVCA9ICJcbkVuZFByb2plY3RcbiI7CisKKyAgICBteSBAbGlicyA9IEB7JGJ1aWxkX3N0cnVjdHVyZXsiTElCUyJ9fTsKKyAgICBteSBAdG1wOworICAgIGZvcmVhY2ggKEBsaWJzKSB7CisgICAgICAgICRfID1+IHMvXC5hLy87CisgICAgICAgIHB1c2goQHRtcCwgJF8pOworICAgIH0KKyAgICBAbGlicyA9IEB0bXA7CisKKyAgICBteSBAYXBwcyA9IEB7JGJ1aWxkX3N0cnVjdHVyZXsiQVBQUyJ9fTsKKyAgICBAdG1wID0gKCk7CisgICAgZm9yZWFjaCAoQGFwcHMpIHsKKyAgICAgICAgJF8gPX4gcy9cLmV4ZS8vOworICAgICAgICBpZiAoJF8gZXEgImdpdCIgKSB7CisgICAgICAgICAgICB1bnNoaWZ0KEB0bXAsICRfKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHB1c2goQHRtcCwgJF8pOworICAgICAgICB9CisgICAgfQorICAgIEBhcHBzID0gQHRtcDsKKworICAgIG9wZW4gRiwgIj5naXQuc2xuIiB8fCBkaWUgIkNvdWxkIG5vdCBvcGVuIGdpdC5zbG4gZm9yIHdyaXRpbmchXG4iOworICAgIGJpbm1vZGUgRiwgIjpjcmxmIDp1dGY4IjsKKyAgICBwcmludCBGIGNocigweEZFRkYpOworICAgIHByaW50IEYgIiRTTE5fSEVBRCI7CisKKyAgICBmb3JlYWNoIChAYXBwcykgeworICAgICAgICBteSAkYXBwbmFtZSA9ICRfOworICAgICAgICBteSAkdXVpZCA9ICRidWlsZF9zdHJ1Y3R1cmV7IkFQUFNfJHthcHBuYW1lfV9HVUlEIn07CisgICAgICAgIHByaW50IEYgIiRTTE5fUFJFIjsKKwlteSAkdmN4cHJvaiA9ICRidWlsZF9zdHJ1Y3R1cmV7IkFQUFNfJHthcHBuYW1lfV9WQ1hQUk9KIn07CisJJHZjeHByb2ogPX4gcy9cLy9cXC9nOworICAgICAgICAkYXBwbmFtZSA9fiBzLy4qXC8vLzsKKyAgICAgICAgcHJpbnQgRiAiXCIke2FwcG5hbWV9XCIsIFwiJHt2Y3hwcm9qfVwiLCBcIiR7dXVpZH1cIiI7CisgICAgICAgIHByaW50IEYgIiRTTE5fUE9TVCI7CisgICAgfQorICAgIGZvcmVhY2ggKEBsaWJzKSB7CisgICAgICAgIG15ICRsaWJuYW1lID0gJF87CisgICAgICAgIG15ICR1dWlkID0gJGJ1aWxkX3N0cnVjdHVyZXsiTElCU18ke2xpYm5hbWV9X0dVSUQifTsKKyAgICAgICAgcHJpbnQgRiAiJFNMTl9QUkUiOworICAgICAgICBteSAkdmN4cHJvaiA9ICRidWlsZF9zdHJ1Y3R1cmV7IkxJQlNfJHtsaWJuYW1lfV9WQ1hQUk9KIn07CisJJHZjeHByb2ogPX4gcy9cLy9cXC9nOworICAgICAgICAkbGlibmFtZSA9fiBzL1wvL18vZzsKKyAgICAgICAgcHJpbnQgRiAiXCIke2xpYm5hbWV9XCIsIFwiJHt2Y3hwcm9qfVwiLCBcIiR7dXVpZH1cIiI7CisgICAgICAgIHByaW50IEYgIiRTTE5fUE9TVCI7CisgICAgfQorCisgICAgcHJpbnQgRiA8PCAiRU9NIjsKK0dsb2JhbAorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uCisJCURlYnVnfHg2NCA9IERlYnVnfHg2NAorCQlEZWJ1Z3x4ODYgPSBEZWJ1Z3x4ODYKKwkJUmVsZWFzZXx4NjQgPSBSZWxlYXNlfHg2NAorCQlSZWxlYXNlfHg4NiA9IFJlbGVhc2V8eDg2CisJRW5kR2xvYmFsU2VjdGlvbgorRU9NCisgICAgcHJpbnQgRiA8PCAiRU9NIjsKKwlHbG9iYWxTZWN0aW9uKFByb2plY3RDb25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHBvc3RTb2x1dGlvbgorRU9NCisgICAgZm9yZWFjaCAoQGFwcHMpIHsKKyAgICAgICAgbXkgJGFwcG5hbWUgPSAkXzsKKyAgICAgICAgbXkgJHV1aWQgPSAkYnVpbGRfc3RydWN0dXJleyJBUFBTXyR7YXBwbmFtZX1fR1VJRCJ9OworICAgICAgICBwcmludCBGICJcdFx0JHt1dWlkfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0XG4iOworICAgICAgICBwcmludCBGICJcdFx0JHt1dWlkfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NFxuIjsKKyAgICAgICAgcHJpbnQgRiAiXHRcdCR7dXVpZH0uRGVidWd8eDg2LkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyXG4iOworICAgICAgICBwcmludCBGICJcdFx0JHt1dWlkfS5EZWJ1Z3x4ODYuQnVpbGQuMCA9IERlYnVnfFdpbjMyXG4iOworICAgICAgICBwcmludCBGICJcdFx0JHt1dWlkfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NFxuIjsKKyAgICAgICAgcHJpbnQgRiAiXHRcdCR7dXVpZH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0XG4iOworICAgICAgICBwcmludCBGICJcdFx0JHt1dWlkfS5SZWxlYXNlfHg4Ni5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyXG4iOworICAgICAgICBwcmludCBGICJcdFx0JHt1dWlkfS5SZWxlYXNlfHg4Ni5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMlxuIjsKKyAgICB9CisgICAgZm9yZWFjaCAoQGxpYnMpIHsKKyAgICAgICAgbXkgJGxpYm5hbWUgPSAkXzsKKyAgICAgICAgbXkgJHV1aWQgPSAkYnVpbGRfc3RydWN0dXJleyJMSUJTXyR7bGlibmFtZX1fR1VJRCJ9OworICAgICAgICBwcmludCBGICJcdFx0JHt1dWlkfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0XG4iOworICAgICAgICBwcmludCBGICJcdFx0JHt1dWlkfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NFxuIjsKKyAgICAgICAgcHJpbnQgRiAiXHRcdCR7dXVpZH0uRGVidWd8eDg2LkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyXG4iOworICAgICAgICBwcmludCBGICJcdFx0JHt1dWlkfS5EZWJ1Z3x4ODYuQnVpbGQuMCA9IERlYnVnfFdpbjMyXG4iOworICAgICAgICBwcmludCBGICJcdFx0JHt1dWlkfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NFxuIjsKKyAgICAgICAgcHJpbnQgRiAiXHRcdCR7dXVpZH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0XG4iOworICAgICAgICBwcmludCBGICJcdFx0JHt1dWlkfS5SZWxlYXNlfHg4Ni5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyXG4iOworICAgICAgICBwcmludCBGICJcdFx0JHt1dWlkfS5SZWxlYXNlfHg4Ni5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMlxuIjsKKyAgICB9CisKKyAgICBwcmludCBGIDw8ICJFT00iOworCUVuZEdsb2JhbFNlY3Rpb24KKwlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJvcGVydGllcykgPSBwcmVTb2x1dGlvbgorCQlIaWRlU29sdXRpb25Ob2RlID0gRkFMU0UKKwlFbmRHbG9iYWxTZWN0aW9uCitFbmRHbG9iYWwKK0VPTQorICAgIGNsb3NlIEY7Cit9CisKKzE7CmRpZmYgLS1naXQgYS9jb250cmliL2J1aWxkc3lzdGVtcy9lbmdpbmUucGwgYi9jb250cmliL2J1aWxkc3lzdGVtcy9lbmdpbmUucGwKaW5kZXggMjNkYTc4Ny4uMDcwOTc4NSAxMDA3NTUKLS0tIGEvY29udHJpYi9idWlsZHN5c3RlbXMvZW5naW5lLnBsCisrKyBiL2NvbnRyaWIvYnVpbGRzeXN0ZW1zL2VuZ2luZS5wbApAQCAtMTIsNiArMTIsNyBAQAogdXNlIEZpbGU6OlNwZWM7CiB1c2UgQ3dkOwogdXNlIEdlbmVyYXRvcnM7Cit1c2UgVGV4dDo6UGFyc2VXb3JkczsKIAogbXkgKCVidWlsZF9zdHJ1Y3R1cmUsICVjb21waWxlX29wdGlvbnMsIEBtYWtlZHJ5KTsKIG15ICRvdXRfZGlyID0gZ2V0Y3dkKCk7CkBAIC0zMSw2ICszMiw3IEBACiAgIC1nIDxHRU5FUkFUT1I+ICAtLWdlbiA8R0VORVJBVE9SPiBTcGVjaWZ5IHRoZSBidWlsZHN5c3RlbSBnZW5lcmF0b3IgICAgKGRlZmF1bHQ6ICRnZW4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdmFpbGFibGU6ICRnZW5saXN0CiAgIC1vIDxQQVRIPiAgICAgICAtLW91dCA8UEFUSD4gICAgICBTcGVjaWZ5IG91dHB1dCBkaXJlY3RvcnkgZ2VuZXJhdGlvbiAgKGRlZmF1bHQ6IC4pCisgICAgICAgICAgICAgICAgICAtLW1ha2Utb3V0IDxQQVRIPiBXcml0ZSB0aGUgb3V0cHV0IG9mIEdOVSBNYWtlIGludG8gYSBmaWxlCiAgIC1pIDxGSUxFPiAgICAgICAtLWluIDxGSUxFPiAgICAgICBTcGVjaWZ5IGlucHV0IGZpbGUsIGluc3RlYWQgb2YgcnVubmluZyBHTlUgTWFrZQogICAtaCwtPyAgICAgICAgICAgLS1oZWxwICAgICAgICAgICAgVGhpcyBoZWxwCiBFT00KQEAgLTM4LDYgKzQwLDcgQEAKIH0KIAogIyBQYXJzZSBjb21tYW5kLWxpbmUgb3B0aW9ucworbXkgJG1ha2Vfb3V0Owogd2hpbGUgKEBBUkdWKSB7CiAgICAgbXkgJGFyZyA9IHNoaWZ0IEBBUkdWOwogICAgIGlmICgiJGFyZyIgZXEgIi1oIiB8fCAiJGFyZyIgZXEgIi0taGVscCIgfHwgIiRhcmciIGVxICItPyIpIHsKQEAgLTQ1LDYgKzQ4LDggQEAKIAlleGl0KDApOwogICAgIH0gZWxzaWYoIiRhcmciIGVxICItLW91dCIgfHwgIiRhcmciIGVxICItbyIpIHsKIAkkb3V0X2RpciA9IHNoaWZ0IEBBUkdWOworICAgIH0gZWxzaWYoIiRhcmciIGVxICItLW1ha2Utb3V0IikgeworCSRtYWtlX291dCA9IHNoaWZ0IEBBUkdWOwogICAgIH0gZWxzaWYoIiRhcmciIGVxICItLWdlbiIgfHwgIiRhcmciIGVxICItZyIpIHsKIAkkZ2VuID0gc2hpZnQgQEFSR1Y7CiAgICAgfSBlbHNpZigiJGFyZyIgZXEgIi0taW4iIHx8ICIkYXJnIiBlcSAiLWkiKSB7CkBAIC01Miw2ICs1Nyw4IEBACiAgICAgICAgIG9wZW4oRiwgIjwkaW5maWxlIikgfHwgZGllICJDb3VsZG4ndCBvcGVuIGZpbGUgJGluZmlsZSI7CiAgICAgICAgIEBtYWtlZHJ5ID0gPEY+OwogICAgICAgICBjbG9zZShGKTsKKyAgICB9IGVsc2UgeworICAgICAgICBkaWUgIlVua25vd24gb3B0aW9uOiAiIC4gJGFyZzsKICAgICB9CiB9CiAKQEAgLTcyLDcgKzc5LDE5IEBACiBFT00KIAogIyBQaXBlIGEgbWFrZSAtLWRyeS1ydW4gaW50byBhIHZhcmlhYmxlLCBpZiBub3QgYWxyZWFkeSBsb2FkZWQgZnJvbSBmaWxlCi1AbWFrZWRyeSA9IGBjZCAkZ2l0X2RpciAmJiBtYWtlIC1uIE1TVkM9MSBWPTEgMj4vZGV2L251bGxgIGlmICFAbWFrZWRyeTsKKyMgQ2FwdHVyZSB0aGUgbWFrZSBkcnkgc3RkZXJyIHRvIGZpbGUgZm9yIHJldmlldyAod2lsbCBiZSBlbXB0eSBmb3IgYSByZWxlYXNlIGJ1aWxkKS4KKworbXkgJEVycnNGaWxlID0gIm1zdmMtYnVpbGQtbWFrZWRyeWVycm9ycy50eHQiOworQG1ha2VkcnkgPSBgbWFrZSAtQyAkZ2l0X2RpciAtbiBNU1ZDPTEgU0tJUF9WQ1BLRz0xIFY9MSAyPiRFcnJzRmlsZWAKK2lmICFAbWFrZWRyeTsKKyMgdGVzdCBmb3IgYW4gZW1wdHkgRXJyb3JzIGZpbGUgYW5kIHJlbW92ZSBpdAordW5saW5rICRFcnJzRmlsZSBpZiAtZiAteiAkRXJyc0ZpbGU7CisKK2lmIChkZWZpbmVkICRtYWtlX291dCkgeworICAgIG9wZW4gT1VULCAiPiIgLiAkbWFrZV9vdXQ7CisgICAgcHJpbnQgT1VUIEBtYWtlZHJ5OworICAgIGNsb3NlIE9VVDsKK30KIAogIyBQYXJzZSB0aGUgbWFrZSBvdXRwdXQgaW50byB1c2FibGUgaW5mbwogcGFyc2VNYWtlT3V0cHV0KCk7CkBAIC0xNDAsNiArMTU5LDEyIEBACiAgICAgICAgICAgICBuZXh0OwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKCR0ZXh0ID1+IC9eKG1rZGlyfG1zZ2ZtdCkgLykgeworICAgICAgICAgICAgIyBvcHRpb25zIHRvIHRoZSBQb3J0YWJsZSBPYmplY3QgdHJhbnNsYXRpb25zCisgICAgICAgICAgICAjIHRoZSBsaW5lICJta2RpciAuLi4gJiYgbXNnZm10IC4uLiIgY29udGFpbnMgbm8gbGlua2VyIG9wdGlvbnMKKyAgICAgICAgICAgIG5leHQ7CisgICAgICAgIH0KKwogICAgICAgICBpZigkdGV4dCA9fiAvIC1jIC8pIHsKICAgICAgICAgICAgICMgY29tcGlsYXRpb24KICAgICAgICAgICAgIGhhbmRsZUNvbXBpbGVMaW5lKCR0ZXh0LCAkbGluZSk7CkBAIC0yMzEsNyArMjU2LDcgQEAKIHN1YiBoYW5kbGVDb21waWxlTGluZQogewogICAgIG15ICgkbGluZSwgJGxpbmVubykgPSBAXzsKLSAgICBteSBAcGFydHMgPSBzcGxpdCgnICcsICRsaW5lKTsKKyAgICBteSBAcGFydHMgPSBzaGVsbHdvcmRzKCRsaW5lKTsKICAgICBteSAkc291cmNlZmlsZTsKICAgICBzaGlmdChAcGFydHMpOyAjIGlnbm9yZSBjbWQKICAgICB3aGlsZSAobXkgJHBhcnQgPSBzaGlmdCBAcGFydHMpIHsKQEAgLTI2NSw3ICsyOTAsNyBAQAogICAgIG15IChAb2JqZmlsZXMsIEBsZmxhZ3MsICRsaWJvdXQsICRwYXJ0KTsKICAgICAjIGtpbGwgY21kIGFuZCBybSAncHJlZml4JwogICAgICRsaW5lID1+IHMvXnJtIC1mIC4qICYmIC4qIHJjcyAvLzsKLSAgICBteSBAcGFydHMgPSBzcGxpdCgnICcsICRsaW5lKTsKKyAgICBteSBAcGFydHMgPSBzaGVsbHdvcmRzKCRsaW5lKTsKICAgICB3aGlsZSAoJHBhcnQgPSBzaGlmdCBAcGFydHMpIHsKICAgICAgICAgaWYgKCRwYXJ0ID1+IC9eLS8pIHsKICAgICAgICAgICAgIHB1c2goQGxmbGFncywgJHBhcnQpOwpAQCAtMjgyLDcgKzMwNyw3IEBACiAjICAgIGV4aXQoMSk7CiAgICAgZm9yZWFjaCAoQG9iamZpbGVzKSB7CiAgICAgICAgIG15ICRzb3VyY2VmaWxlID0gJF87Ci0gICAgICAgICRzb3VyY2VmaWxlID1+IHMvXC5vLy5jLzsKKyAgICAgICAgJHNvdXJjZWZpbGUgPX4gcy9cLm8kLy5jLzsKICAgICAgICAgcHVzaChAc291cmNlcywgJHNvdXJjZWZpbGUpOwogICAgICAgICBwdXNoKEBjZmxhZ3MsIEB7JGNvbXBpbGVfb3B0aW9uc3siJHtzb3VyY2VmaWxlfV9DRkxBR1MifX0pOwogICAgICAgICBwdXNoKEBkZWZpbmVzLCBAeyRjb21waWxlX29wdGlvbnN7IiR7c291cmNlZmlsZX1fREVGSU5FUyJ9fSk7CkBAIC0zMDYsNyArMzMxLDcgQEAKIHsKICAgICBteSAoJGxpbmUsICRsaW5lbm8pID0gQF87CiAgICAgbXkgKEBvYmpmaWxlcywgQGxmbGFncywgQGxpYnMsICRhcHBvdXQsICRwYXJ0KTsKLSAgICBteSBAcGFydHMgPSBzcGxpdCgnICcsICRsaW5lKTsKKyAgICBteSBAcGFydHMgPSBzaGVsbHdvcmRzKCRsaW5lKTsKICAgICBzaGlmdChAcGFydHMpOyAjIGlnbm9yZSBjbWQKICAgICB3aGlsZSAoJHBhcnQgPSBzaGlmdCBAcGFydHMpIHsKICAgICAgICAgaWYgKCRwYXJ0ID1+IC9eLUlHTk9SRS8pIHsKQEAgLTMxNywyNiArMzQyLDM2IEBACiAgICAgICAgICAgICAkYXBwb3V0ID0gc2hpZnQgQHBhcnRzOwogICAgICAgICB9IGVsc2lmICgiJHBhcnQiIGVxICItbHoiKSB7CiAgICAgICAgICAgICBwdXNoKEBsaWJzLCAiemxpYi5saWIiKTsKLQl9IGVsc2lmICgiJHBhcnQiIGVxICItbGNyeXB0byIpIHsKLSAgICAgICAgICAgIHB1c2goQGxpYnMsICJsaWJlYXkzMi5saWIiKTsKKyAgICAgICAgfSBlbHNpZiAoIiRwYXJ0IiBlcSAiLWxjcnlwdG8iKSB7CisgICAgICAgICAgICBwdXNoKEBsaWJzLCAibGliY3J5cHRvLmxpYiIpOwogICAgICAgICB9IGVsc2lmICgiJHBhcnQiIGVxICItbHNzbCIpIHsKLSAgICAgICAgICAgIHB1c2goQGxpYnMsICJzc2xlYXkzMi5saWIiKTsKLSAgICAgICAgfSBlbHNpZiAoJHBhcnQgPX4gL14tLykgeworICAgICAgICAgICAgcHVzaChAbGlicywgImxpYnNzbC5saWIiKTsKKyAgICAgICAgfSBlbHNpZiAoIiRwYXJ0IiBlcSAiLWxjdXJsIikgeworICAgICAgICAgICAgcHVzaChAbGlicywgImxpYmN1cmwubGliIik7CisgICAgICAgIH0gZWxzaWYgKCIkcGFydCIgZXEgIi1sZXhwYXQiKSB7CisgICAgICAgICAgICBwdXNoKEBsaWJzLCAiZXhwYXQubGliIik7CisgICAgICAgIH0gZWxzaWYgKCIkcGFydCIgZXEgIi1saWNvbnYiKSB7CisgICAgICAgICAgICBwdXNoKEBsaWJzLCAibGliaWNvbnYubGliIik7CisgICAgICAgIH0gZWxzaWYgKCRwYXJ0ID1+IC9eWy1cL10vKSB7CiAgICAgICAgICAgICBwdXNoKEBsZmxhZ3MsICRwYXJ0KTsKICAgICAgICAgfSBlbHNpZiAoJHBhcnQgPX4gL1wuKGF8bGliKSQvKSB7CiAgICAgICAgICAgICAkcGFydCA9fiBzL1wuYSQvLmxpYi87CiAgICAgICAgICAgICBwdXNoKEBsaWJzLCAkcGFydCk7Ci0gICAgICAgIH0gZWxzaWYgKCRwYXJ0ID1+IC9cLihvfG9iaikkLykgeworICAgICAgICB9IGVsc2lmICgkcGFydCBlcSAnaW52YWxpZGNvbnRpbnVlLm9iaicpIHsKKyAgICAgICAgICAgICMgaWdub3JlIC0ga25vd24gdG8gTVNWQworICAgICAgICB9IGVsc2lmICgkcGFydCA9fiAvXC5vJC8pIHsKICAgICAgICAgICAgIHB1c2goQG9iamZpbGVzLCAkcGFydCk7CisgICAgICAgIH0gZWxzaWYgKCRwYXJ0ID1+IC9cLm9iaiQvKSB7CisgICAgICAgICAgICAjIGRvIG5vdGhpbmcsICdtYWtlJyBzaG91bGQgbm90IGJlIHByb2R1Y2luZyAub2JqLCBvbmx5IC5vIGZpbGVzCiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBkaWUgIlVuaGFuZGxlZCBsaWIgb3B0aW9uIEAgbGluZSAkbGluZW5vOiAkcGFydCI7CisgICAgICAgICAgICBkaWUgIlVuaGFuZGxlZCBsaW5rIG9wdGlvbiBAIGxpbmUgJGxpbmVubzogJHBhcnQiOwogICAgICAgICB9CiAgICAgfQogIyAgICBwcmludCAiQXBwT3V0OiAnJGFwcG91dCdcbkxGbGFnczogQGxmbGFnc1xuTGlicyAgOiBAbGlic1xuT2ZpbGVzOiBAb2JqZmlsZXNcbiI7CiAjICAgIGV4aXQoMSk7CiAgICAgZm9yZWFjaCAoQG9iamZpbGVzKSB7CiAgICAgICAgIG15ICRzb3VyY2VmaWxlID0gJF87Ci0gICAgICAgICRzb3VyY2VmaWxlID1+IHMvXC5vLy5jLzsKKyAgICAgICAgJHNvdXJjZWZpbGUgPX4gcy9cLm8kLy5jLzsKICAgICAgICAgcHVzaChAc291cmNlcywgJHNvdXJjZWZpbGUpOwogICAgICAgICBwdXNoKEBjZmxhZ3MsIEB7JGNvbXBpbGVfb3B0aW9uc3siJHtzb3VyY2VmaWxlfV9DRkxBR1MifX0pOwogICAgICAgICBwdXNoKEBkZWZpbmVzLCBAeyRjb21waWxlX29wdGlvbnN7IiR7c291cmNlZmlsZX1fREVGSU5FUyJ9fSk7CmRpZmYgLS1naXQgYS9jb250cmliL2NvY2NpbmVsbGUvYXJyYXkuY29jY2kgYi9jb250cmliL2NvY2NpbmVsbGUvYXJyYXkuY29jY2kKaW5kZXggMDE1ODY4Mi4uNDZiOGQyZSAxMDA2NDQKLS0tIGEvY29udHJpYi9jb2NjaW5lbGxlL2FycmF5LmNvY2NpCisrKyBiL2NvbnRyaWIvY29jY2luZWxsZS9hcnJheS5jb2NjaQpAQCAtMSwyOSArMSw2MCBAQAogQEAKLXR5cGUgVDsKLVQgKmRzdDsKLVQgKnNyYzsKLWV4cHJlc3Npb24gbjsKK2V4cHJlc3Npb24gZHN0LCBzcmMsIG4sIEU7CiBAQAotLSBtZW1jcHkoZHN0LCBzcmMsIChuKSAqIHNpemVvZigqZHN0KSk7Ci0rIENPUFlfQVJSQVkoZHN0LCBzcmMsIG4pOworICBtZW1jcHkoZHN0LCBzcmMsIG4gKiBzaXplb2YoCistIEVbLi4uXQorKyAqKEUpCisgICkpCiAKIEBACiB0eXBlIFQ7Ci1UICpkc3Q7Ci1UICpzcmM7Ci1leHByZXNzaW9uIG47CitUICpwdHI7CitUW10gYXJyOworZXhwcmVzc2lvbiBFLCBuOwogQEAKLS0gbWVtY3B5KGRzdCwgc3JjLCAobikgKiBzaXplb2YoKnNyYykpOwotKyBDT1BZX0FSUkFZKGRzdCwgc3JjLCBuKTsKKygKKyAgbWVtY3B5KHB0ciwgRSwKKy0gbiAqIHNpemVvZigqKHB0cikpCisrIG4gKiBzaXplb2YoVCkKKyAgKQorfAorICBtZW1jcHkoYXJyLCBFLAorLSBuICogc2l6ZW9mKCooYXJyKSkKKysgbiAqIHNpemVvZihUKQorICApCit8CisgIG1lbWNweShFLCBwdHIsCistIG4gKiBzaXplb2YoKihwdHIpKQorKyBuICogc2l6ZW9mKFQpCisgICkKK3wKKyAgbWVtY3B5KEUsIGFyciwKKy0gbiAqIHNpemVvZigqKGFycikpCisrIG4gKiBzaXplb2YoVCkKKyAgKQorKQogCiBAQAogdHlwZSBUOwotVCAqZHN0OwotVCAqc3JjOworVCAqZHN0X3B0cjsKK1QgKnNyY19wdHI7CitUW10gZHN0X2FycjsKK1RbXSBzcmNfYXJyOwogZXhwcmVzc2lvbiBuOwogQEAKLS0gbWVtY3B5KGRzdCwgc3JjLCAobikgKiBzaXplb2YoVCkpOwotKyBDT1BZX0FSUkFZKGRzdCwgc3JjLCBuKTsKKygKKy0gbWVtY3B5KGRzdF9wdHIsIHNyY19wdHIsIChuKSAqIHNpemVvZihUKSkKKysgQ09QWV9BUlJBWShkc3RfcHRyLCBzcmNfcHRyLCBuKQorfAorLSBtZW1jcHkoZHN0X3B0ciwgc3JjX2FyciwgKG4pICogc2l6ZW9mKFQpKQorKyBDT1BZX0FSUkFZKGRzdF9wdHIsIHNyY19hcnIsIG4pCit8CistIG1lbWNweShkc3RfYXJyLCBzcmNfcHRyLCAobikgKiBzaXplb2YoVCkpCisrIENPUFlfQVJSQVkoZHN0X2Fyciwgc3JjX3B0ciwgbikKK3wKKy0gbWVtY3B5KGRzdF9hcnIsIHNyY19hcnIsIChuKSAqIHNpemVvZihUKSkKKysgQ09QWV9BUlJBWShkc3RfYXJyLCBzcmNfYXJyLCBuKQorKQogCiBAQAogdHlwZSBUOwpkaWZmIC0tZ2l0IGEvY29udHJpYi9jb2NjaW5lbGxlL2NvbW1pdC5jb2NjaSBiL2NvbnRyaWIvY29jY2luZWxsZS9jb21taXQuY29jY2kKaW5kZXggYzQ5YWE1NS4uNzc4ZTQ3MCAxMDA2NDQKLS0tIGEvY29udHJpYi9jb2NjaW5lbGxlL2NvbW1pdC5jb2NjaQorKysgYi9jb250cmliL2NvY2NpbmVsbGUvY29tbWl0LmNvY2NpCkBAIC0xMCwxOSArMTAsMjUgQEAKIC0gYy0+bWF5YmVfdHJlZS0+b2JqZWN0Lm9pZC5oYXNoCiArIGdldF9jb21taXRfdHJlZV9vaWQoYyktPmhhc2gKIAotLy8gVGhlc2UgZXhjbHVkZWQgZnVuY3Rpb25zIG11c3QgYWNjZXNzIGMtPm1heWJlX3RyZWUgZGlyZWNseS4KIEBACi1pZGVudGlmaWVyIGYgIX4gIl4oZ2V0X2NvbW1pdF90cmVlfGdldF9jb21taXRfdHJlZV9pbl9ncmFwaF9vbmV8bG9hZF90cmVlX2Zvcl9jb21taXQpJCI7CitpZGVudGlmaWVyIGYgIX4gIl5zZXRfY29tbWl0X3RyZWUkIjsKK2V4cHJlc3Npb24gYzsKK2V4cHJlc3Npb24gczsKK0BACisgIGYoLi4uKSB7PC4uLgorLSBjLT5tYXliZV90cmVlID0gcworKyBzZXRfY29tbWl0X3RyZWUoYywgcykKKyAgLi4uPn0KKworLy8gVGhlc2UgZXhjbHVkZWQgZnVuY3Rpb25zIG11c3QgYWNjZXNzIGMtPm1heWJlX3RyZWUgZGlyZWN0bHkuCisvLyBOb3RlIHRoYXQgaWYgYy0+bWF5YmVfdHJlZSBpcyB3cml0dGVuIHNvbWV3aGVyZSBvdXRzaWRlIG9mIHRoZXNlCisvLyBmdW5jdGlvbnMsIHRoZW4gdGhlIHJlY29tbWVuZGVkIHRyYW5zZm9ybWF0aW9uIHdpbGwgYmUgYm9ndXMgd2l0aAorLy8gcmVwb19nZXRfY29tbWl0X3RyZWUoKSBvbiB0aGUgTEhTLgorQEAKK2lkZW50aWZpZXIgZiAhfiAiXihyZXBvX2dldF9jb21taXRfdHJlZXxnZXRfY29tbWl0X3RyZWVfaW5fZ3JhcGhfb25lfGxvYWRfdHJlZV9mb3JfY29tbWl0fHNldF9jb21taXRfdHJlZSkkIjsKIGV4cHJlc3Npb24gYzsKIEBACiAgIGYoLi4uKSB7PC4uLgogLSBjLT5tYXliZV90cmVlCi0rIGdldF9jb21taXRfdHJlZShjKQorKyByZXBvX2dldF9jb21taXRfdHJlZShzcGVjaWZ5X3RoZV9yaWdodF9yZXBvX2hlcmUsIGMpCiAgIC4uLj59Ci0KLUBACi1leHByZXNzaW9uIGM7Ci1leHByZXNzaW9uIHM7Ci1AQAotLSBnZXRfY29tbWl0X3RyZWUoYykgPSBzCi0rIGMtPm1heWJlX3RyZWUgPSBzCmRpZmYgLS1naXQgYS9jb250cmliL2NvY2NpbmVsbGUvZmxleF9hbGxvYy5jb2NjaSBiL2NvbnRyaWIvY29jY2luZWxsZS9mbGV4X2FsbG9jLmNvY2NpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5ZjdmNmQKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2NvY2NpbmVsbGUvZmxleF9hbGxvYy5jb2NjaQpAQCAtMCwwICsxLDEzIEBACitAQAorZXhwcmVzc2lvbiBzdHI7CitpZGVudGlmaWVyIHgsIGZsZXhuYW1lOworQEAKKy0gRkxFWF9BTExPQ19NRU0oeCwgZmxleG5hbWUsIHN0ciwgc3RybGVuKHN0cikpOworKyBGTEVYX0FMTE9DX1NUUih4LCBmbGV4bmFtZSwgc3RyKTsKKworQEAKK2V4cHJlc3Npb24gc3RyOworaWRlbnRpZmllciB4LCBwdHJuYW1lOworQEAKKy0gRkxFWFBUUl9BTExPQ19NRU0oeCwgcHRybmFtZSwgc3RyLCBzdHJsZW4oc3RyKSk7CisrIEZMRVhQVFJfQUxMT0NfU1RSKHgsIHB0cm5hbWUsIHN0cik7CmRpZmYgLS1naXQgYS9jb250cmliL2NvY2NpbmVsbGUvaGFzaG1hcC5jb2NjaSBiL2NvbnRyaWIvY29jY2luZWxsZS9oYXNobWFwLmNvY2NpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2OWUxMjAKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL2NvY2NpbmVsbGUvaGFzaG1hcC5jb2NjaQpAQCAtMCwwICsxLDE2IEBACitAIGhhc2htYXBfZW50cnlfaW5pdF91c2FnZSBACitleHByZXNzaW9uIEU7CitzdHJ1Y3QgaGFzaG1hcF9lbnRyeSBITUU7CitAQAorLSBITUUuaGFzaCA9IEU7CisrIGhhc2htYXBfZW50cnlfaW5pdCgmSE1FLCBFKTsKKworQEAKK2lkZW50aWZpZXIgZiAhfiAiXmhhc2htYXBfZW50cnlfaW5pdCQiOworZXhwcmVzc2lvbiBFOworc3RydWN0IGhhc2htYXBfZW50cnkgKkhNRVA7CitAQAorICBmKC4uLikgezwuLi4KKy0gSE1FUC0+aGFzaCA9IEU7CisrIGhhc2htYXBfZW50cnlfaW5pdChITUVQLCBFKTsKKyAgLi4uPn0KZGlmZiAtLWdpdCBhL2NvbnRyaWIvY29jY2luZWxsZS9vYmplY3RfaWQuY29jY2kgYi9jb250cmliL2NvY2NpbmVsbGUvb2JqZWN0X2lkLmNvY2NpCmluZGV4IDZhN2NmM2UuLmRkZjRmMjIgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvY29jY2luZWxsZS9vYmplY3RfaWQuY29jY2kKKysrIGIvY29udHJpYi9jb2NjaW5lbGxlL29iamVjdF9pZC5jb2NjaQpAQCAtMTMsMzggKzEzLDYgQEAKIEBACiBzdHJ1Y3Qgb2JqZWN0X2lkIE9JRDsKIEBACi0tIHNoYTFfdG9faGV4KE9JRC5oYXNoKQotKyBvaWRfdG9faGV4KCZPSUQpCi0KLUBACi1pZGVudGlmaWVyIGYgIT0gb2lkX3RvX2hleDsKLXN0cnVjdCBvYmplY3RfaWQgKk9JRFBUUjsKLUBACi0gIGYoLi4uKSB7PC4uLgotLSBzaGExX3RvX2hleChPSURQVFItPmhhc2gpCi0rIG9pZF90b19oZXgoT0lEUFRSKQotICAuLi4+fQotCi1AQAotZXhwcmVzc2lvbiBFOwotc3RydWN0IG9iamVjdF9pZCBPSUQ7Ci1AQAotLSBzaGExX3RvX2hleF9yKEUsIE9JRC5oYXNoKQotKyBvaWRfdG9faGV4X3IoRSwgJk9JRCkKLQotQEAKLWlkZW50aWZpZXIgZiAhPSBvaWRfdG9faGV4X3I7Ci1leHByZXNzaW9uIEU7Ci1zdHJ1Y3Qgb2JqZWN0X2lkICpPSURQVFI7Ci1AQAotICAgZiguLi4pIHs8Li4uCi0tIHNoYTFfdG9faGV4X3IoRSwgT0lEUFRSLT5oYXNoKQotKyBvaWRfdG9faGV4X3IoRSwgT0lEUFRSKQotICAuLi4+fQotCi1AQAotc3RydWN0IG9iamVjdF9pZCBPSUQ7Ci1AQAogLSBoYXNoY2xyKE9JRC5oYXNoKQogKyBvaWRjbHIoJk9JRCkKIApAQCAtODcsMzYgKzU1LDYgQEAKICsgb2lkY21wKCZPSUQsIE9JRFBUUikKIAogQEAKLXN0cnVjdCBvYmplY3RfaWQgT0lEMSwgT0lEMjsKLUBACi0tIGhhc2hjcHkoT0lEMS5oYXNoLCBPSUQyLmhhc2gpCi0rIG9pZGNweSgmT0lEMSwgJk9JRDIpCi0KLUBACi1pZGVudGlmaWVyIGYgIT0gb2lkY3B5Owotc3RydWN0IG9iamVjdF9pZCAqT0lEUFRSMTsKLXN0cnVjdCBvYmplY3RfaWQgKk9JRFBUUjI7Ci1AQAotICBmKC4uLikgezwuLi4KLS0gaGFzaGNweShPSURQVFIxLT5oYXNoLCBPSURQVFIyLT5oYXNoKQotKyBvaWRjcHkoT0lEUFRSMSwgT0lEUFRSMikKLSAgLi4uPn0KLQotQEAKLXN0cnVjdCBvYmplY3RfaWQgKk9JRFBUUjsKLXN0cnVjdCBvYmplY3RfaWQgT0lEOwotQEAKLS0gaGFzaGNweShPSURQVFItPmhhc2gsIE9JRC5oYXNoKQotKyBvaWRjcHkoT0lEUFRSLCAmT0lEKQotCi1AQAotc3RydWN0IG9iamVjdF9pZCAqT0lEUFRSOwotc3RydWN0IG9iamVjdF9pZCBPSUQ7Ci1AQAotLSBoYXNoY3B5KE9JRC5oYXNoLCBPSURQVFItPmhhc2gpCi0rIG9pZGNweSgmT0lELCBPSURQVFIpCi0KLUBACiBzdHJ1Y3Qgb2JqZWN0X2lkICpPSURQVFIxOwogc3RydWN0IG9iamVjdF9pZCAqT0lEUFRSMjsKIEBACmRpZmYgLS1naXQgYS9jb250cmliL2NvY2NpbmVsbGUvc3RyYnVmLmNvY2NpIGIvY29udHJpYi9jb2NjaW5lbGxlL3N0cmJ1Zi5jb2NjaQppbmRleCBlMzRlYWRhLi5kOWFkYTY5IDEwMDY0NAotLS0gYS9jb250cmliL2NvY2NpbmVsbGUvc3RyYnVmLmNvY2NpCisrKyBiL2NvbnRyaWIvY29jY2luZWxsZS9zdHJidWYuY29jY2kKQEAgLTEzLDYgKzEzLDM2IEBACiAgICk7CiAKIEBACitleHByZXNzaW9uIEU7CitzdHJ1Y3Qgc3RyYnVmIFNCOworZm9ybWF0IEYgPX4gInMiOworQEAKKy0gc3RyYnVmX2FkZGYoRSwgIiVARkAiLCBTQi5idWYpOworKyBzdHJidWZfYWRkYnVmKEUsICZTQik7CisKK0BACitleHByZXNzaW9uIEU7CitzdHJ1Y3Qgc3RyYnVmICpTQlA7Citmb3JtYXQgRiA9fiAicyI7CitAQAorLSBzdHJidWZfYWRkZihFLCAiJUBGQCIsIFNCUC0+YnVmKTsKKysgc3RyYnVmX2FkZGJ1ZihFLCBTQlApOworCitAQAorZXhwcmVzc2lvbiBFOworc3RydWN0IHN0cmJ1ZiBTQjsKK0BACistIHN0cmJ1Zl9hZGRzdHIoRSwgU0IuYnVmKTsKKysgc3RyYnVmX2FkZGJ1ZihFLCAmU0IpOworCitAQAorZXhwcmVzc2lvbiBFOworc3RydWN0IHN0cmJ1ZiAqU0JQOworQEAKKy0gc3RyYnVmX2FkZHN0cihFLCBTQlAtPmJ1Zik7CisrIHN0cmJ1Zl9hZGRidWYoRSwgU0JQKTsKKworQEAKIGV4cHJlc3Npb24gRTEsIEUyOwogZm9ybWF0IEYgPX4gInMiOwogQEAKZGlmZiAtLWdpdCBhL2NvbnRyaWIvY29jY2luZWxsZS90aGVfcmVwb3NpdG9yeS5wZW5kaW5nLmNvY2NpIGIvY29udHJpYi9jb2NjaW5lbGxlL3RoZV9yZXBvc2l0b3J5LnBlbmRpbmcuY29jY2kKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmVlNzAyZQotLS0gL2Rldi9udWxsCisrKyBiL2NvbnRyaWIvY29jY2luZWxsZS90aGVfcmVwb3NpdG9yeS5wZW5kaW5nLmNvY2NpCkBAIC0wLDAgKzEsMTQ0IEBACisvLyBUaGlzIGZpbGUgaXMgdXNlZCBmb3IgdGhlIG9uZ29pbmcgcmVmYWN0b3Jpbmcgb2YKKy8vIGJyaW5naW5nIHRoZSBpbmRleCBvciByZXBvc2l0b3J5IHN0cnVjdCBpbiBhbGwgb2YKKy8vIG91ciBjb2RlIGJhc2UuCisKK0BACitleHByZXNzaW9uIEU7CitleHByZXNzaW9uIEY7CitleHByZXNzaW9uIEc7CitAQAorLSByZWFkX29iamVjdF9maWxlKAorKyByZXBvX3JlYWRfb2JqZWN0X2ZpbGUodGhlX3JlcG9zaXRvcnksCisgIEUsIEYsIEcpCisKK0BACitleHByZXNzaW9uIEU7CitAQAorLSBoYXNfc2hhMV9maWxlKAorKyByZXBvX2hhc19zaGExX2ZpbGUodGhlX3JlcG9zaXRvcnksCisgIEUpCisKK0BACitleHByZXNzaW9uIEU7CitleHByZXNzaW9uIEY7CitAQAorLSBoYXNfc2hhMV9maWxlX3dpdGhfZmxhZ3MoCisrIHJlcG9faGFzX3NoYTFfZmlsZV93aXRoX2ZsYWdzKHRoZV9yZXBvc2l0b3J5LAorICBFKQorCitAQAorZXhwcmVzc2lvbiBFOworQEAKKy0gaGFzX29iamVjdF9maWxlKAorKyByZXBvX2hhc19vYmplY3RfZmlsZSh0aGVfcmVwb3NpdG9yeSwKKyAgRSkKKworQEAKK2V4cHJlc3Npb24gRTsKK2V4cHJlc3Npb24gRjsKK0BACistIGhhc19vYmplY3RfZmlsZV93aXRoX2ZsYWdzKAorKyByZXBvX2hhc19vYmplY3RfZmlsZV93aXRoX2ZsYWdzKHRoZV9yZXBvc2l0b3J5LAorICBFKQorCitAQAorZXhwcmVzc2lvbiBFOworZXhwcmVzc2lvbiBGOworZXhwcmVzc2lvbiBHOworQEAKKy0gcGFyc2VfY29tbWl0X2ludGVybmFsKAorKyByZXBvX3BhcnNlX2NvbW1pdF9pbnRlcm5hbCh0aGVfcmVwb3NpdG9yeSwKKyAgRSwgRiwgRykKKworQEAKK2V4cHJlc3Npb24gRTsKK2V4cHJlc3Npb24gRjsKK0BACistIHBhcnNlX2NvbW1pdF9nZW50bHkoCisrIHJlcG9fcGFyc2VfY29tbWl0X2dlbnRseSh0aGVfcmVwb3NpdG9yeSwKKyAgRSwgRikKKworQEAKK2V4cHJlc3Npb24gRTsKK0BACistIHBhcnNlX2NvbW1pdCgKKysgcmVwb19wYXJzZV9jb21taXQodGhlX3JlcG9zaXRvcnksCisgIEUpCisKK0BACitleHByZXNzaW9uIEU7CitleHByZXNzaW9uIEY7CitAQAorLSBnZXRfbWVyZ2VfYmFzZXMoCisrIHJlcG9fZ2V0X21lcmdlX2Jhc2VzKHRoZV9yZXBvc2l0b3J5LAorICBFLCBGKTsKKworQEAKK2V4cHJlc3Npb24gRTsKK2V4cHJlc3Npb24gRjsKK2V4cHJlc3Npb24gRzsKK0BACistIGdldF9tZXJnZV9iYXNlc19tYW55KAorKyByZXBvX2dldF9tZXJnZV9iYXNlc19tYW55KHRoZV9yZXBvc2l0b3J5LAorICBFLCBGLCBHKTsKKworQEAKK2V4cHJlc3Npb24gRTsKK2V4cHJlc3Npb24gRjsKK2V4cHJlc3Npb24gRzsKK0BACistIGdldF9tZXJnZV9iYXNlc19tYW55X2RpcnR5KAorKyByZXBvX2dldF9tZXJnZV9iYXNlc19tYW55X2RpcnR5KHRoZV9yZXBvc2l0b3J5LAorICBFLCBGLCBHKTsKKworQEAKK2V4cHJlc3Npb24gRTsKK2V4cHJlc3Npb24gRjsKK0BACistIGluX21lcmdlX2Jhc2VzKAorKyByZXBvX2luX21lcmdlX2Jhc2VzKHRoZV9yZXBvc2l0b3J5LAorICBFLCBGKTsKKworQEAKK2V4cHJlc3Npb24gRTsKK2V4cHJlc3Npb24gRjsKK2V4cHJlc3Npb24gRzsKK0BACistIGluX21lcmdlX2Jhc2VzX21hbnkoCisrIHJlcG9faW5fbWVyZ2VfYmFzZXNfbWFueSh0aGVfcmVwb3NpdG9yeSwKKyAgRSwgRiwgRyk7CisKK0BACitleHByZXNzaW9uIEU7CitleHByZXNzaW9uIEY7CitAQAorLSBnZXRfY29tbWl0X2J1ZmZlcigKKysgcmVwb19nZXRfY29tbWl0X2J1ZmZlcih0aGVfcmVwb3NpdG9yeSwKKyAgRSwgRik7CisKK0BACitleHByZXNzaW9uIEU7CitleHByZXNzaW9uIEY7CitAQAorLSB1bnVzZV9jb21taXRfYnVmZmVyKAorKyByZXBvX3VudXNlX2NvbW1pdF9idWZmZXIodGhlX3JlcG9zaXRvcnksCisgIEUsIEYpOworCitAQAorZXhwcmVzc2lvbiBFOworZXhwcmVzc2lvbiBGOworZXhwcmVzc2lvbiBHOworQEAKKy0gbG9nbXNnX3JlZW5jb2RlKAorKyByZXBvX2xvZ21zZ19yZWVuY29kZSh0aGVfcmVwb3NpdG9yeSwKKyAgRSwgRiwgRyk7CisKK0BACitleHByZXNzaW9uIEU7CitleHByZXNzaW9uIEY7CitleHByZXNzaW9uIEc7CitleHByZXNzaW9uIEg7CitAQAorLSBmb3JtYXRfY29tbWl0X21lc3NhZ2UoCisrIHJlcG9fZm9ybWF0X2NvbW1pdF9tZXNzYWdlKHRoZV9yZXBvc2l0b3J5LAorICBFLCBGLCBHLCBIKTsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi5iYXNoIGIvY29udHJpYi9jb21wbGV0aW9uL2dpdC1jb21wbGV0aW9uLmJhc2gKaW5kZXggOWU4ZWM5NS4uYzIxNzg2ZiAxMDA2NDQKLS0tIGEvY29udHJpYi9jb21wbGV0aW9uL2dpdC1jb21wbGV0aW9uLmJhc2gKKysrIGIvY29udHJpYi9jb21wbGV0aW9uL2dpdC1jb21wbGV0aW9uLmJhc2gKQEAgLTM3LDcgKzM3LDggQEAKICMgICBHSVRfQ09NUExFVElPTl9DSEVDS09VVF9OT19HVUVTUwogIwogIyAgICAgV2hlbiBzZXQgdG8gIjEiLCBkbyBub3QgaW5jbHVkZSAiRFdJTSIgc3VnZ2VzdGlvbnMgaW4gZ2l0LWNoZWNrb3V0Ci0jICAgICBjb21wbGV0aW9uIChlLmcuLCBjb21wbGV0aW5nICJmb28iIHdoZW4gIm9yaWdpbi9mb28iIGV4aXN0cykuCisjICAgICBhbmQgZ2l0LXN3aXRjaCBjb21wbGV0aW9uIChlLmcuLCBjb21wbGV0aW5nICJmb28iIHdoZW4gIm9yaWdpbi9mb28iCisjICAgICBleGlzdHMpLgogCiBjYXNlICIkQ09NUF9XT1JEQlJFQUtTIiBpbgogKjoqKSA6IGdyZWF0IDs7CkBAIC0zMzksNyArMzQwLDcgQEAKIAkJCWM9IiRjJHs0LX0iCiAJCQlpZiBbWyAkYyA9PSAiJGN1cl8iKiBdXTsgdGhlbgogCQkJCWNhc2UgJGMgaW4KLQkJCQktLSo9KnwqLikgOzsKKwkJCQktLSo9fCouKSA7OwogCQkJCSopIGM9IiRjICIgOzsKIAkJCQllc2FjCiAJCQkJQ09NUFJFUExZW2krK109IiR7Mi19JGMiCkBAIC0zNTksNyArMzYwLDcgQEAKIAkJCWM9IiRjJHs0LX0iCiAJCQlpZiBbWyAkYyA9PSAiJGN1cl8iKiBdXTsgdGhlbgogCQkJCWNhc2UgJGMgaW4KLQkJCQktLSo9KnwqLikgOzsKKwkJCQkqPXwqLikgOzsKIAkJCQkqKSBjPSIkYyAiIDs7CiAJCQkJZXNhYwogCQkJCUNPTVBSRVBMWVtpKytdPSIkezItfSRjIgpAQCAtNDAwLDcgKzQwMSw4IEBACiAJaWYgWyAteiAiJG9wdGlvbnMiIF07IHRoZW4KIAkJIyBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZXMgYXJlIHNpZ25pZmljYW50IHRvIG1ha2UKIAkJIyBvcHRpb24gcmVtb3ZhbCB3b3JrIGNvcnJlY3RseS4KLQkJb3B0aW9ucz0iICRpbmNsICQoX19naXQgJHtjbWQvXy8gfSAtLWdpdC1jb21wbGV0aW9uLWhlbHBlcikgIgorCQlvcHRpb25zPSIgJGluY2wgJChfX2dpdCAke2NtZC9fLyB9IC0tZ2l0LWNvbXBsZXRpb24taGVscGVyKSAiIHx8IHJldHVybgorCiAJCWZvciBpIGluICRleGNsOyBkbwogCQkJb3B0aW9ucz0iJHtvcHRpb25zLyAkaSAvIH0iCiAJCWRvbmUKQEAgLTQzOCw3ICs0NDAsNyBAQAogIyBDYWxsZXJzIG11c3QgdGFrZSBjYXJlIG9mIHByb3ZpZGluZyBvbmx5IHBhdGhzIHRoYXQgbWF0Y2ggdGhlIGN1cnJlbnQgcGF0aAogIyB0byBiZSBjb21wbGV0ZWQgYW5kIGFkZGluZyBhbnkgcHJlZml4IHBhdGggY29tcG9uZW50cywgaWYgbmVjZXNzYXJ5LgogIyAxOiBMaXN0IG9mIG5ld2xpbmUtc2VwYXJhdGVkIG1hdGNoaW5nIHBhdGhzLCBjb21wbGV0ZSB3aXRoIGFsbCBwcmVmaXgKLSMgICAgcGF0aCBjb21wb25lbnMuCisjICAgIHBhdGggY29tcG9uZW50cy4KIF9fZ2l0Y29tcF9maWxlX2RpcmVjdCAoKQogewogCWxvY2FsIElGUz0kJ1xuJwpAQCAtNTIyLDcgKzUyNCw3IEBACiAJCQkjIEV2ZW4gd2hlbiBhIGRpcmVjdG9yeSBuYW1lIGl0c2VsZiBkb2VzIG5vdCBjb250YWluCiAJCQkjIGFueSBzcGVjaWFsIGNoYXJhY3RlcnMsIGl0IHdpbGwgc3RpbGwgYmUgcXVvdGVkIGlmCiAJCQkjIGFueSBvZiBpdHMgKHN0cmlwcGVkKSB0cmFpbGluZyBwYXRoIGNvbXBvbmVudHMgZG8uCi0JCQkjIEJlY2F1c2Ugb2YgdGhpcyB3ZSBtYXkgaGF2ZSBzZWVuIHRoZSBzYW1lIGRpcmVjb3J5CisJCQkjIEJlY2F1c2Ugb2YgdGhpcyB3ZSBtYXkgaGF2ZSBzZWVuIHRoZSBzYW1lIGRpcmVjdG9yeQogCQkJIyBib3RoIHF1b3RlZCBhbmQgdW5xdW90ZWQuCiAJCQlpZiAocCBpbiBwYXRocykKIAkJCQkjIFdlIGhhdmUgc2VlbiB0aGUgc2FtZSBkaXJlY3RvcnkgdW5xdW90ZWQsCkBAIC01NDgsNyArNTUwLDcgQEAKIAkJCQkJCSBlc2NfaWR4LCAxKQogCQkJfSBlbHNlIGlmIChlc2MgPT0gIm4iKSB7CiAJCQkJIyBVaC1vaCwgYSBuZXdsaW5lIGNoYXJhY3Rlci4KLQkJCQkjIFdlIGNhbnQgcmVsaWFibHkgcHV0IGEgcGF0aG5hbWUKKwkJCQkjIFdlIGNhbm5vdCByZWxpYWJseSBwdXQgYSBwYXRobmFtZQogCQkJCSMgY29udGFpbmluZyBhIG5ld2xpbmUgaW50byBDT01QUkVQTFksCiAJCQkJIyBhbmQgdGhlIG5ld2xpbmUgd291bGQgY3JlYXRlIGEgbWVzcy4KIAkJCQkjIFNraXAgdGhpcyBwYXRoLgpAQCAtNTYzLDcgKzU2NSw3IEBACiAJCQl9CiAJCX0KIAkJIyBEcm9wIGNsb3NpbmcgZG91YmxlIHF1b3RlLCBpZiB0aGVyZSBpcyBvbmUuCi0JCSMgKFRoZXJlIGlzbnQgYW55IGlmIHRoaXMgaXMgYSBkaXJlY3RvcnksIGFzIGl0IHdhcworCQkjIChUaGVyZSBpcyBub3QgYW55IGlmIHRoaXMgaXMgYSBkaXJlY3RvcnksIGFzIGl0IHdhcwogCQkjIGFscmVhZHkgc3RyaXBwZWQgd2l0aCB0aGUgdHJhaWxpbmcgcGF0aCBjb21wb25lbnRzLikKIAkJaWYgKHN1YnN0cihwLCBsZW5ndGgocCksIDEpID09ICJcIiIpCiAJCQlvdXQgPSBvdXQgc3Vic3RyKHAsIDEsIGxlbmd0aChwKSAtIDEpCkBAIC04NTMsOSArODU1LDE0IEBACiAJX19naXRfbWVyZ2Vfc3RyYXRlZ2llcz0kKF9fZ2l0X2xpc3RfbWVyZ2Vfc3RyYXRlZ2llcykKIH0KIAorX19naXRfbWVyZ2Vfc3RyYXRlZ3lfb3B0aW9ucz0ib3VycyB0aGVpcnMgc3VidHJlZSBzdWJ0cmVlPSBwYXRpZW5jZQorCWhpc3RvZ3JhbSBkaWZmLWFsZ29yaXRobT0gaWdub3JlLXNwYWNlLWNoYW5nZSBpZ25vcmUtYWxsLXNwYWNlCisJaWdub3JlLXNwYWNlLWF0LWVvbCByZW5vcm1hbGl6ZSBuby1yZW5vcm1hbGl6ZSBuby1yZW5hbWVzCisJZmluZC1yZW5hbWVzIGZpbmQtcmVuYW1lcz0gcmVuYW1lLXRocmVzaG9sZD0iCisKIF9fZ2l0X2NvbXBsZXRlX3Jldmxpc3RfZmlsZSAoKQogewotCWxvY2FsIHBmeCBscyByZWYgY3VyXz0iJGN1ciIKKwlsb2NhbCBkZXF1b3RlZF93b3JkIHBmeCBscyByZWYgY3VyXz0iJGN1ciIKIAljYXNlICIkY3VyXyIgaW4KIAkqLi4/KjoqKQogCQlyZXR1cm4KQEAgLTg2MywxNCArODcwLDE4IEBACiAJPyo6KikKIAkJcmVmPSIke2N1cl8lJToqfSIKIAkJY3VyXz0iJHtjdXJfIyo6fSIKLQkJY2FzZSAiJGN1cl8iIGluCisKKwkJX19naXRfZGVxdW90ZSAiJGN1cl8iCisKKwkJY2FzZSAiJGRlcXVvdGVkX3dvcmQiIGluCiAJCT8qLyopCi0JCQlwZng9IiR7Y3VyXyUvKn0iCi0JCQljdXJfPSIke2N1cl8jIyovfSIKKwkJCXBmeD0iJHtkZXF1b3RlZF93b3JkJS8qfSIKKwkJCWN1cl89IiR7ZGVxdW90ZWRfd29yZCMjKi99IgogCQkJbHM9IiRyZWY6JHBmeCIKIAkJCXBmeD0iJHBmeC8iCiAJCQk7OwogCQkqKQorCQkJY3VyXz0iJGRlcXVvdGVkX3dvcmQiCiAJCQlscz0iJHJlZiIKIAkJCTs7CiAJCWVzYWMKQEAgLTg4MCwyMSArODkxLDEwIEBACiAJCSopICAgcGZ4PSIkcmVmOiRwZngiIDs7CiAJCWVzYWMKIAotCQlfX2dpdGNvbXBfbmwgIiQoX19naXQgbHMtdHJlZSAiJGxzIiBcCi0JCQkJfCBzZWQgJy9eMTAwLi4uIGJsb2IgL3sKLQkJCQkgICAgICAgICAgIHMsXi4qCSwsCi0JCQkJICAgICAgICAgICBzLCQsICwKLQkJCQkgICAgICAgfQotCQkJCSAgICAgICAvXjEyMDAwMCBibG9iIC97Ci0JCQkJICAgICAgICAgICBzLF4uKgksLAotCQkJCSAgICAgICAgICAgcywkLCAsCi0JCQkJICAgICAgIH0KLQkJCQkgICAgICAgL14wNDAwMDAgdHJlZSAvewotCQkJCSAgICAgICAgICAgcyxeLioJLCwKLQkJCQkgICAgICAgICAgIHMsJCwvLAotCQkJCSAgICAgICB9Ci0JCQkJICAgICAgIHMvXi4qCS8vJykiIFwKLQkJCSIkcGZ4IiAiJGN1cl8iICIiCisJCV9fZ2l0Y29tcF9maWxlICIkKF9fZ2l0IGxzLXRyZWUgIiRscyIgXAorCQkJCXwgc2VkICdzL14uKgkvLworCQkJCSAgICAgICBzLyQvLycpIiBcCisJCQkiJHBmeCIgIiRjdXJfIgogCQk7OwogCSouLi4qKQogCQlwZng9IiR7Y3VyXyUuLi4qfS4uLiIKQEAgLTEwMDMsMTIgKzEwMDMsMjEgQEAKIAktc3wtLXN0cmF0ZWd5KQogCQlfX2dpdGNvbXAgIiRfX2dpdF9tZXJnZV9zdHJhdGVnaWVzIgogCQlyZXR1cm4gMAorCQk7OworCS1YKQorCQlfX2dpdGNvbXAgIiRfX2dpdF9tZXJnZV9zdHJhdGVneV9vcHRpb25zIgorCQlyZXR1cm4gMAorCQk7OwogCWVzYWMKIAljYXNlICIkY3VyIiBpbgogCS0tc3RyYXRlZ3k9KikKIAkJX19naXRjb21wICIkX19naXRfbWVyZ2Vfc3RyYXRlZ2llcyIgIiIgIiR7Y3VyIyMtLXN0cmF0ZWd5PX0iCiAJCXJldHVybiAwCiAJCTs7CisJLS1zdHJhdGVneS1vcHRpb249KikKKwkJX19naXRjb21wICIkX19naXRfbWVyZ2Vfc3RyYXRlZ3lfb3B0aW9ucyIgIiIgIiR7Y3VyIyMtLXN0cmF0ZWd5LW9wdGlvbj19IgorCQlyZXR1cm4gMAorCQk7OwogCWVzYWMKIAlyZXR1cm4gMQogfQpAQCAtMTAxNyw3ICsxMDI2LDcgQEAKIF9fZ2l0X2NvbXB1dGVfYWxsX2NvbW1hbmRzICgpCiB7CiAJdGVzdCAtbiAiJF9fZ2l0X2FsbF9jb21tYW5kcyIgfHwKLQlfX2dpdF9hbGxfY29tbWFuZHM9JChnaXQgLS1saXN0LWNtZHM9bWFpbixvdGhlcnMsYWxpYXMsbm9oZWxwZXJzKQorCV9fZ2l0X2FsbF9jb21tYW5kcz0kKF9fZ2l0IC0tbGlzdC1jbWRzPW1haW4sb3RoZXJzLGFsaWFzLG5vaGVscGVycykKIH0KIAogIyBMaXN0cyBhbGwgc2V0IGNvbmZpZyB2YXJpYWJsZXMgc3RhcnRpbmcgd2l0aCB0aGUgZ2l2ZW4gc2VjdGlvbiBwcmVmaXgsCkBAIC0xMDYwLDE1ICsxMDY5LDMyIEBACiAJZG9uZQogfQogCi0jIF9fZ2l0X2ZpbmRfb25fY21kbGluZSByZXF1aXJlcyAxIGFyZ3VtZW50CisjIENoZWNrIHdoZXRoZXIgb25lIG9mIHRoZSBnaXZlbiB3b3JkcyBpcyBwcmVzZW50IG9uIHRoZSBjb21tYW5kIGxpbmUsCisjIGFuZCBwcmludCB0aGUgZmlyc3Qgd29yZCBmb3VuZC4KKyMKKyMgVXNhZ2U6IF9fZ2l0X2ZpbmRfb25fY21kbGluZSBbPG9wdGlvbj5dLi4uICI8d29yZGxpc3Q+IgorIyAtLXNob3ctaWR4OiBPcHRpb25hbGx5IHNob3cgdGhlIGluZGV4IG9mIHRoZSBmb3VuZCB3b3JkIGluIHRoZSAkd29yZHMgYXJyYXkuCiBfX2dpdF9maW5kX29uX2NtZGxpbmUgKCkKIHsKLQlsb2NhbCB3b3JkIHN1YmNvbW1hbmQgYz0xCisJbG9jYWwgd29yZCBjPTEgc2hvd19pZHgKKworCXdoaWxlIHRlc3QgJCMgLWd0IDE7IGRvCisJCWNhc2UgIiQxIiBpbgorCQktLXNob3ctaWR4KQlzaG93X2lkeD15IDs7CisJCSopCQlyZXR1cm4gMSA7OworCQllc2FjCisJCXNoaWZ0CisJZG9uZQorCWxvY2FsIHdvcmRsaXN0PSIkMSIKKwogCXdoaWxlIFsgJGMgLWx0ICRjd29yZCBdOyBkbwotCQl3b3JkPSIke3dvcmRzW2NdfSIKLQkJZm9yIHN1YmNvbW1hbmQgaW4gJDE7IGRvCi0JCQlpZiBbICIkc3ViY29tbWFuZCIgPSAiJHdvcmQiIF07IHRoZW4KLQkJCQllY2hvICIkc3ViY29tbWFuZCIKKwkJZm9yIHdvcmQgaW4gJHdvcmRsaXN0OyBkbworCQkJaWYgWyAiJHdvcmQiID0gIiR7d29yZHNbY119IiBdOyB0aGVuCisJCQkJaWYgWyAtbiAiJHNob3dfaWR4IiBdOyB0aGVuCisJCQkJCWVjaG8gIiRjICR3b3JkIgorCQkJCWVsc2UKKwkJCQkJZWNobyAiJHdvcmQiCisJCQkJZmkKIAkJCQlyZXR1cm4KIAkJCWZpCiAJCWRvbmUKQEAgLTExNzAsNiArMTE5Niw4IEBACiB9CiAKIF9fZ2l0X3doaXRlc3BhY2VsaXN0PSJub3dhcm4gd2FybiBlcnJvciBlcnJvci1hbGwgZml4IgorX19naXRfcGF0Y2hmb3JtYXQ9Im1ib3ggc3RnaXQgc3RnaXQtc2VyaWVzIGhnIG1ib3hyZCIKK19fZ2l0X3Nob3djdXJyZW50cGF0Y2g9ImRpZmYgcmF3IgogX19naXRfYW1faW5wcm9ncmVzc19vcHRpb25zPSItLXNraXAgLS1jb250aW51ZSAtLXJlc29sdmVkIC0tYWJvcnQgLS1xdWl0IC0tc2hvdy1jdXJyZW50LXBhdGNoIgogCiBfZ2l0X2FtICgpCkBAIC0xMTg0LDYgKzEyMTIsMTQgQEAKIAkJX19naXRjb21wICIkX19naXRfd2hpdGVzcGFjZWxpc3QiICIiICIke2N1ciMjLS13aGl0ZXNwYWNlPX0iCiAJCXJldHVybgogCQk7OworCS0tcGF0Y2gtZm9ybWF0PSopCisJCV9fZ2l0Y29tcCAiJF9fZ2l0X3BhdGNoZm9ybWF0IiAiIiAiJHtjdXIjIy0tcGF0Y2gtZm9ybWF0PX0iCisJCXJldHVybgorCQk7OworCS0tc2hvdy1jdXJyZW50LXBhdGNoPSopCisJCV9fZ2l0Y29tcCAiJF9fZ2l0X3Nob3djdXJyZW50cGF0Y2giICIiICIke2N1ciMjLS1zaG93LWN1cnJlbnQtcGF0Y2g9fSIKKwkJcmV0dXJuCisJCTs7CiAJLS0qKQogCQlfX2dpdGNvbXBfYnVpbHRpbiBhbSAiIiBcCiAJCQkiJF9fZ2l0X2FtX2lucHJvZ3Jlc3Nfb3B0aW9ucyIKQEAgLTEyMDcsNiArMTI0MywxMCBAQAogX2dpdF9hZGQgKCkKIHsKIAljYXNlICIkY3VyIiBpbgorCS0tY2htb2Q9KikKKwkJX19naXRjb21wICIreCAteCIgIiIgIiR7Y3VyIyMtLWNobW9kPX0iCisJCXJldHVybgorCQk7OwogCS0tKikKIAkJX19naXRjb21wX2J1aWx0aW4gYWRkCiAJCXJldHVybgpAQCAtMTIzMiwxMCArMTI3Miw3IEBACiAJCXJldHVybgogCQk7OwogCS0tKikKLQkJX19naXRjb21wICIKLQkJCS0tZm9ybWF0PSAtLWxpc3QgLS12ZXJib3NlCi0JCQktLXByZWZpeD0gLS1yZW1vdGU9IC0tZXhlYz0gLS1vdXRwdXQKLQkJCSIKKwkJX19naXRjb21wX2J1aWx0aW4gYXJjaGl2ZSAiLS1mb3JtYXQ9IC0tbGlzdCAtLXZlcmJvc2UgLS1wcmVmaXg9IC0td29ya3RyZWUtYXR0cmlidXRlcyIKIAkJcmV0dXJuCiAJCTs7CiAJZXNhYwpAQCAtMTI2Nyw2ICsxMzA0LDggQEAKIAllc2FjCiB9CiAKK19fZ2l0X3JlZl9maWVsZGxpc3Q9InJlZm5hbWUgb2JqZWN0dHlwZSBvYmplY3RzaXplIG9iamVjdG5hbWUgdXBzdHJlYW0gcHVzaCBIRUFEIHN5bXJlZiIKKwogX2dpdF9icmFuY2ggKCkKIHsKIAlsb2NhbCBpIGM9MSBvbmx5X2xvY2FsX3JlZj0ibiIgaGFzX3I9Im4iCkBAIC0xMzQxLDcgKzEzODAsOSBAQAogCWVzYWMKIH0KIAotX19naXRfY2hlcnJ5X3BpY2tfaW5wcm9ncmVzc19vcHRpb25zPSItLWNvbnRpbnVlIC0tcXVpdCAtLWFib3J0IgorX19naXRfc2VxdWVuY2VyX2lucHJvZ3Jlc3Nfb3B0aW9ucz0iLS1jb250aW51ZSAtLXF1aXQgLS1hYm9ydCAtLXNraXAiCisKK19fZ2l0X2NoZXJyeV9waWNrX2lucHJvZ3Jlc3Nfb3B0aW9ucz0kX19naXRfc2VxdWVuY2VyX2lucHJvZ3Jlc3Nfb3B0aW9ucwogCiBfZ2l0X2NoZXJyeV9waWNrICgpCiB7CkBAIC0xMzUwLDYgKzEzOTEsOSBAQAogCQlfX2dpdGNvbXAgIiRfX2dpdF9jaGVycnlfcGlja19pbnByb2dyZXNzX29wdGlvbnMiCiAJCXJldHVybgogCWZpCisKKwlfX2dpdF9jb21wbGV0ZV9zdHJhdGVneSAmJiByZXR1cm4KKwogCWNhc2UgIiRjdXIiIGluCiAJLS0qKQogCQlfX2dpdGNvbXBfYnVpbHRpbiBjaGVycnktcGljayAiIiBcCkBAIC0xMzc2LDcgKzE0MjAsMTggQEAKIAogX2dpdF9jbG9uZSAoKQogeworCWNhc2UgIiRwcmV2IiBpbgorCS1jfC0tY29uZmlnKQorCQlfX2dpdF9jb21wbGV0ZV9jb25maWdfdmFyaWFibGVfbmFtZV9hbmRfdmFsdWUKKwkJcmV0dXJuCisJCTs7CisJZXNhYwogCWNhc2UgIiRjdXIiIGluCisJLS1jb25maWc9KikKKwkJX19naXRfY29tcGxldGVfY29uZmlnX3ZhcmlhYmxlX25hbWVfYW5kX3ZhbHVlIFwKKwkJCS0tY3VyPSIke2N1ciMjLS1jb25maWc9fSIKKwkJcmV0dXJuCisJCTs7CiAJLS0qKQogCQlfX2dpdGNvbXBfYnVpbHRpbiBjbG9uZQogCQlyZXR1cm4KQEAgLTE0MzcsOSArMTQ5MiwxNiBAQAogCiBfX2dpdF9kaWZmX3N1Ym1vZHVsZV9mb3JtYXRzPSJkaWZmIGxvZyBzaG9ydCIKIAorX19naXRfY29sb3JfbW92ZWRfb3B0cz0ibm8gZGVmYXVsdCBwbGFpbiBibG9ja3MgemVicmEgZGltbWVkLXplYnJhIgorCitfX2dpdF9jb2xvcl9tb3ZlZF93c19vcHRzPSJubyBpZ25vcmUtc3BhY2UtYXQtZW9sIGlnbm9yZS1zcGFjZS1jaGFuZ2UKKwkJCWlnbm9yZS1hbGwtc3BhY2UgYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlIgorCiBfX2dpdF9kaWZmX2NvbW1vbl9vcHRpb25zPSItLXN0YXQgLS1udW1zdGF0IC0tc2hvcnRzdGF0IC0tc3VtbWFyeQogCQkJLS1wYXRjaC13aXRoLXN0YXQgLS1uYW1lLW9ubHkgLS1uYW1lLXN0YXR1cyAtLWNvbG9yCiAJCQktLW5vLWNvbG9yIC0tY29sb3Itd29yZHMgLS1uby1yZW5hbWVzIC0tY2hlY2sKKwkJCS0tY29sb3ItbW92ZWQgLS1jb2xvci1tb3ZlZD0gLS1uby1jb2xvci1tb3ZlZAorCQkJLS1jb2xvci1tb3ZlZC13cz0gLS1uby1jb2xvci1tb3ZlZC13cwogCQkJLS1mdWxsLWluZGV4IC0tYmluYXJ5IC0tYWJicmV2IC0tZGlmZi1maWx0ZXI9CiAJCQktLWZpbmQtY29waWVzLWhhcmRlciAtLWlnbm9yZS1jci1hdC1lb2wKIAkJCS0tdGV4dCAtLWlnbm9yZS1zcGFjZS1hdC1lb2wgLS1pZ25vcmUtc3BhY2UtY2hhbmdlCkBAIC0xNDUzLDYgKzE1MTUsOCBAQAogCQkJLS1kaXJzdGF0LWJ5LWZpbGU9IC0tY3VtdWxhdGl2ZQogCQkJLS1kaWZmLWFsZ29yaXRobT0KIAkJCS0tc3VibW9kdWxlIC0tc3VibW9kdWxlPSAtLWlnbm9yZS1zdWJtb2R1bGVzCisJCQktLWluZGVudC1oZXVyaXN0aWMgLS1uby1pbmRlbnQtaGV1cmlzdGljCisJCQktLXRleHRjb252IC0tbm8tdGV4dGNvbnYKICIKIAogX2dpdF9kaWZmICgpCkBAIC0xNDY4LDYgKzE1MzIsMTQgQEAKIAkJX19naXRjb21wICIkX19naXRfZGlmZl9zdWJtb2R1bGVfZm9ybWF0cyIgIiIgIiR7Y3VyIyMtLXN1Ym1vZHVsZT19IgogCQlyZXR1cm4KIAkJOzsKKwktLWNvbG9yLW1vdmVkPSopCisJCV9fZ2l0Y29tcCAiJF9fZ2l0X2NvbG9yX21vdmVkX29wdHMiICIiICIke2N1ciMjLS1jb2xvci1tb3ZlZD19IgorCQlyZXR1cm4KKwkJOzsKKwktLWNvbG9yLW1vdmVkLXdzPSopCisJCV9fZ2l0Y29tcCAiJF9fZ2l0X2NvbG9yX21vdmVkX3dzX29wdHMiICIiICIke2N1ciMjLS1jb2xvci1tb3ZlZC13cz19IgorCQlyZXR1cm4KKwkJOzsKIAktLSopCiAJCV9fZ2l0Y29tcCAiLS1jYWNoZWQgLS1zdGFnZWQgLS1waWNrYXhlLWFsbCAtLXBpY2theGUtcmVnZXgKIAkJCS0tYmFzZSAtLW91cnMgLS10aGVpcnMgLS1uby1pbmRleApAQCAtMTQ4MCw3ICsxNTUyLDggQEAKIH0KIAogX19naXRfbWVyZ2V0b29sc19jb21tb249ImRpZmZ1c2UgZGlmZm1lcmdlIGVjbWVyZ2UgZW1lcmdlIGtkaWZmMyBtZWxkIG9wZW5kaWZmCi0JCQl0a2RpZmYgdmltZGlmZiBndmltZGlmZiB4eGRpZmYgYXJheGlzIHA0bWVyZ2UgYmMgY29kZWNvbXBhcmUKKwkJCXRrZGlmZiB2aW1kaWZmIGd2aW1kaWZmIHh4ZGlmZiBhcmF4aXMgcDRtZXJnZSBiYworCQkJY29kZWNvbXBhcmUgc21lcmdlCiAiCiAKIF9naXRfZGlmZnRvb2wgKCkKQEAgLTE1MTMsNiArMTU4NiwxMCBAQAogCQlfX2dpdGNvbXAgIiRfX2dpdF9mZXRjaF9yZWN1cnNlX3N1Ym1vZHVsZXMiICIiICIke2N1ciMjLS1yZWN1cnNlLXN1Ym1vZHVsZXM9fSIKIAkJcmV0dXJuCiAJCTs7CisJLS1maWx0ZXI9KikKKwkJX19naXRjb21wICJibG9iOm5vbmUgYmxvYjpsaW1pdD0gc3BhcnNlOm9pZD0iICIiICIke2N1ciMjLS1maWx0ZXI9fSIKKwkJcmV0dXJuCisJCTs7CiAJLS0qKQogCQlfX2dpdGNvbXBfYnVpbHRpbiBmZXRjaAogCQlyZXR1cm4KQEAgLTE2MjcsOSArMTcwNCw5IEBACiAJZXNhYwogCWlmIHRlc3QgLW4gIiRHSVRfVEVTVElOR19BTExfQ09NTUFORF9MSVNUIgogCXRoZW4KLQkJX19naXRjb21wICIkR0lUX1RFU1RJTkdfQUxMX0NPTU1BTkRfTElTVCAkKGdpdCAtLWxpc3QtY21kcz1hbGlhcyxsaXN0LWd1aWRlKSBnaXRrIgorCQlfX2dpdGNvbXAgIiRHSVRfVEVTVElOR19BTExfQ09NTUFORF9MSVNUICQoX19naXQgLS1saXN0LWNtZHM9YWxpYXMsbGlzdC1ndWlkZSkgZ2l0ayIKIAllbHNlCi0JCV9fZ2l0Y29tcCAiJChnaXQgLS1saXN0LWNtZHM9bWFpbixub2hlbHBlcnMsYWxpYXMsbGlzdC1ndWlkZSkgZ2l0ayIKKwkJX19naXRjb21wICIkKF9fZ2l0IC0tbGlzdC1jbWRzPW1haW4sbm9oZWxwZXJzLGFsaWFzLGxpc3QtZ3VpZGUpIGdpdGsiCiAJZmkKIH0KIApAQCAtMTcwOSw4ICsxNzg2LDggQEAKIAktLWFsbC1tYXRjaCAtLWludmVydC1ncmVwCiAiCiAKLV9fZ2l0X2xvZ19wcmV0dHlfZm9ybWF0cz0ib25lbGluZSBzaG9ydCBtZWRpdW0gZnVsbCBmdWxsZXIgZW1haWwgcmF3IGZvcm1hdDoiCi1fX2dpdF9sb2dfZGF0ZV9mb3JtYXRzPSJyZWxhdGl2ZSBpc284NjAxIHJmYzI4MjIgc2hvcnQgbG9jYWwgZGVmYXVsdCByYXciCitfX2dpdF9sb2dfcHJldHR5X2Zvcm1hdHM9Im9uZWxpbmUgc2hvcnQgbWVkaXVtIGZ1bGwgZnVsbGVyIHJlZmVyZW5jZSBlbWFpbCByYXcgZm9ybWF0OiB0Zm9ybWF0OiBtYm94cmQiCitfX2dpdF9sb2dfZGF0ZV9mb3JtYXRzPSJyZWxhdGl2ZSBpc284NjAxIGlzbzg2MDEtc3RyaWN0IHJmYzI4MjIgc2hvcnQgbG9jYWwgZGVmYXVsdCByYXcgdW5peCBmb3JtYXQ6IgogCiBfZ2l0X2xvZyAoKQogewpAQCAtMTc1Niw2ICsxODMzLDEwIEBACiAJCV9fZ2l0Y29tcCAiJF9fZ2l0X2RpZmZfc3VibW9kdWxlX2Zvcm1hdHMiICIiICIke2N1ciMjLS1zdWJtb2R1bGU9fSIKIAkJcmV0dXJuCiAJCTs7CisJLS1uby13YWxrPSopCisJCV9fZ2l0Y29tcCAic29ydGVkIHVuc29ydGVkIiAiIiAiJHtjdXIjIy0tbm8td2Fsaz19IgorCQlyZXR1cm4KKwkJOzsKIAktLSopCiAJCV9fZ2l0Y29tcCAiCiAJCQkkX19naXRfbG9nX2NvbW1vbl9vcHRpb25zCkBAIC0xNzYzLDE2ICsxODQ0LDE5IEBACiAJCQkkX19naXRfbG9nX2dpdGtfb3B0aW9ucwogCQkJLS1yb290IC0tdG9wby1vcmRlciAtLWRhdGUtb3JkZXIgLS1yZXZlcnNlCiAJCQktLWZvbGxvdyAtLWZ1bGwtZGlmZgotCQkJLS1hYmJyZXYtY29tbWl0IC0tYWJicmV2PQorCQkJLS1hYmJyZXYtY29tbWl0IC0tbm8tYWJicmV2LWNvbW1pdCAtLWFiYnJldj0KIAkJCS0tcmVsYXRpdmUtZGF0ZSAtLWRhdGU9CiAJCQktLXByZXR0eT0gLS1mb3JtYXQ9IC0tb25lbGluZQogCQkJLS1zaG93LXNpZ25hdHVyZQogCQkJLS1jaGVycnktbWFyawogCQkJLS1jaGVycnktcGljawogCQkJLS1ncmFwaAotCQkJLS1kZWNvcmF0ZSAtLWRlY29yYXRlPQorCQkJLS1kZWNvcmF0ZSAtLWRlY29yYXRlPSAtLW5vLWRlY29yYXRlCiAJCQktLXdhbGstcmVmbG9ncworCQkJLS1uby13YWxrIC0tbm8td2Fsaz0gLS1kby13YWxrCiAJCQktLXBhcmVudHMgLS1jaGlsZHJlbgorCQkJLS1leHBhbmQtdGFicyAtLWV4cGFuZC10YWJzPSAtLW5vLWV4cGFuZC10YWJzCisJCQktLXBhdGNoCiAJCQkkbWVyZ2UKIAkJCSRfX2dpdF9kaWZmX2NvbW1vbl9vcHRpb25zCiAJCQktLXBpY2theGUtYWxsIC0tcGlja2F4ZS1yZWdleApAQCAtMTk3NiwxNSArMjA2MCwxOCBAQAogCV9fZ2l0X2NvbXBsZXRlX3Jldmxpc3QKIH0KIAorX19naXRfcmViYXNlX2lucHJvZ3Jlc3Nfb3B0aW9ucz0iLS1jb250aW51ZSAtLXNraXAgLS1hYm9ydCAtLXF1aXQgLS1zaG93LWN1cnJlbnQtcGF0Y2giCitfX2dpdF9yZWJhc2VfaW50ZXJhY3RpdmVfaW5wcm9ncmVzc19vcHRpb25zPSIkX19naXRfcmViYXNlX2lucHJvZ3Jlc3Nfb3B0aW9ucyAtLWVkaXQtdG9kbyIKKwogX2dpdF9yZWJhc2UgKCkKIHsKIAlfX2dpdF9maW5kX3JlcG9fcGF0aAogCWlmIFsgLWYgIiRfX2dpdF9yZXBvX3BhdGgiL3JlYmFzZS1tZXJnZS9pbnRlcmFjdGl2ZSBdOyB0aGVuCi0JCV9fZ2l0Y29tcCAiLS1jb250aW51ZSAtLXNraXAgLS1hYm9ydCAtLXF1aXQgLS1lZGl0LXRvZG8gLS1zaG93LWN1cnJlbnQtcGF0Y2giCisJCV9fZ2l0Y29tcCAiJF9fZ2l0X3JlYmFzZV9pbnRlcmFjdGl2ZV9pbnByb2dyZXNzX29wdGlvbnMiCiAJCXJldHVybgogCWVsaWYgWyAtZCAiJF9fZ2l0X3JlcG9fcGF0aCIvcmViYXNlLWFwcGx5IF0gfHwgXAogCSAgICAgWyAtZCAiJF9fZ2l0X3JlcG9fcGF0aCIvcmViYXNlLW1lcmdlIF07IHRoZW4KLQkJX19naXRjb21wICItLWNvbnRpbnVlIC0tc2tpcCAtLWFib3J0IC0tcXVpdCAtLXNob3ctY3VycmVudC1wYXRjaCIKKwkJX19naXRjb21wICIkX19naXRfcmViYXNlX2lucHJvZ3Jlc3Nfb3B0aW9ucyIKIAkJcmV0dXJuCiAJZmkKIAlfX2dpdF9jb21wbGV0ZV9zdHJhdGVneSAmJiByZXR1cm4KQEAgLTE5OTMsMjAgKzIwODAsMTMgQEAKIAkJX19naXRjb21wICIkX19naXRfd2hpdGVzcGFjZWxpc3QiICIiICIke2N1ciMjLS13aGl0ZXNwYWNlPX0iCiAJCXJldHVybgogCQk7OworCS0tb250bz0qKQorCQlfX2dpdF9jb21wbGV0ZV9yZWZzIC0tY3VyPSIke2N1ciMjLS1vbnRvPX0iCisJCXJldHVybgorCQk7OwogCS0tKikKLQkJX19naXRjb21wICIKLQkJCS0tb250byAtLW1lcmdlIC0tc3RyYXRlZ3kgLS1pbnRlcmFjdGl2ZQotCQkJLS1yZWJhc2UtbWVyZ2VzIC0tcHJlc2VydmUtbWVyZ2VzIC0tc3RhdCAtLW5vLXN0YXQKLQkJCS0tY29tbWl0dGVyLWRhdGUtaXMtYXV0aG9yLWRhdGUgLS1pZ25vcmUtZGF0ZQotCQkJLS1pZ25vcmUtd2hpdGVzcGFjZSAtLXdoaXRlc3BhY2U9Ci0JCQktLWF1dG9zcXVhc2ggLS1uby1hdXRvc3F1YXNoCi0JCQktLWZvcmstcG9pbnQgLS1uby1mb3JrLXBvaW50Ci0JCQktLWF1dG9zdGFzaCAtLW5vLWF1dG9zdGFzaAotCQkJLS12ZXJpZnkgLS1uby12ZXJpZnkKLQkJCS0ta2VlcC1lbXB0eSAtLXJvb3QgLS1mb3JjZS1yZWJhc2UgLS1uby1mZgotCQkJLS1yZXJlcmUtYXV0b3VwZGF0ZQotCQkJLS1leGVjCi0JCQkiCisJCV9fZ2l0Y29tcF9idWlsdGluIHJlYmFzZSAiIiBcCisJCQkiJF9fZ2l0X3JlYmFzZV9pbnRlcmFjdGl2ZV9pbnByb2dyZXNzX29wdGlvbnMiCiAKIAkJcmV0dXJuCiAJZXNhYwpAQCAtMjEzMyw2ICsyMjEzLDQ0IEBACiAJX19naXRfY29tcGxldGVfaW5kZXhfZmlsZSAiJGNvbXBsZXRlX29wdCIKIH0KIAorX2dpdF9zd2l0Y2ggKCkKK3sKKwljYXNlICIkY3VyIiBpbgorCS0tY29uZmxpY3Q9KikKKwkJX19naXRjb21wICJkaWZmMyBtZXJnZSIgIiIgIiR7Y3VyIyMtLWNvbmZsaWN0PX0iCisJCTs7CisJLS0qKQorCQlfX2dpdGNvbXBfYnVpbHRpbiBzd2l0Y2gKKwkJOzsKKwkqKQorCQkjIGNoZWNrIGlmIC0tdHJhY2ssIC0tbm8tdHJhY2ssIG9yIC0tbm8tZ3Vlc3Mgd2FzIHNwZWNpZmllZAorCQkjIGlmIHNvLCBkaXNhYmxlIERXSU0gbW9kZQorCQlsb2NhbCB0cmFja19vcHQ9Ii0tdHJhY2siIG9ubHlfbG9jYWxfcmVmPW4KKwkJaWYgWyAiJEdJVF9DT01QTEVUSU9OX0NIRUNLT1VUX05PX0dVRVNTIiA9ICIxIiBdIHx8CisJCSAgIFsgLW4gIiQoX19naXRfZmluZF9vbl9jbWRsaW5lICItLXRyYWNrIC0tbm8tdHJhY2sgLS1uby1ndWVzcyIpIiBdOyB0aGVuCisJCQl0cmFja19vcHQ9JycKKwkJZmkKKwkJIyBleHBsaWNpdCAtLWd1ZXNzIGVuYWJsZXMgRFdJTSBtb2RlIHJlZ2FyZGxlc3Mgb2YKKwkJIyAkR0lUX0NPTVBMRVRJT05fQ0hFQ0tPVVRfTk9fR1VFU1MKKwkJaWYgWyAtbiAiJChfX2dpdF9maW5kX29uX2NtZGxpbmUgIi0tZ3Vlc3MiKSIgXTsgdGhlbgorCQkJdHJhY2tfb3B0PSctLXRyYWNrJworCQlmaQorCQlpZiBbIC16ICIkKF9fZ2l0X2ZpbmRfb25fY21kbGluZSAiLWQgLS1kZXRhY2giKSIgXTsgdGhlbgorCQkJb25seV9sb2NhbF9yZWY9eQorCQllbHNlCisJCQkjIC0tZ3Vlc3MgLS1kZXRhY2ggaXMgaW52YWxpZCBjb21iaW5hdGlvbiwgbm8KKwkJCSMgZHdpbSB3aWxsIGJlIGRvbmUgd2hlbiAtLWRldGFjaCBpcyBzcGVjaWZpZWQKKwkJCXRyYWNrX29wdD0KKwkJZmkKKwkJaWYgWyAkb25seV9sb2NhbF9yZWYgPSB5IC1hIC16ICIkdHJhY2tfb3B0IiBdOyB0aGVuCisJCQlfX2dpdGNvbXBfZGlyZWN0ICIkKF9fZ2l0X2hlYWRzICIiICIkY3VyIiAiICIpIgorCQllbHNlCisJCQlfX2dpdF9jb21wbGV0ZV9yZWZzICR0cmFja19vcHQKKwkJZmkKKwkJOzsKKwllc2FjCit9CisKIF9fZ2l0X2NvbmZpZ19nZXRfc2V0X3ZhcmlhYmxlcyAoKQogewogCWxvY2FsIHByZXZ3b3JkIHdvcmQgY29uZmlnX2ZpbGU9IGM9JGN3b3JkCkBAIC0yMTU5LDE4MSArMjI3NywyODIgQEAKIF9fZ2l0X2NvbXB1dGVfY29uZmlnX3ZhcnMgKCkKIHsKIAl0ZXN0IC1uICIkX19naXRfY29uZmlnX3ZhcnMiIHx8Ci0JX19naXRfY29uZmlnX3ZhcnM9IiQoZ2l0IGhlbHAgLS1jb25maWctZm9yLWNvbXBsZXRpb24gfCBzb3J0IHwgdW5pcSkiCisJX19naXRfY29uZmlnX3ZhcnM9IiQoZ2l0IGhlbHAgLS1jb25maWctZm9yLWNvbXBsZXRpb24gfCBzb3J0IC11KSIKIH0KIAotX2dpdF9jb25maWcgKCkKKyMgQ29tcGxldGVzIHBvc3NpYmxlIHZhbHVlcyBvZiB2YXJpb3VzIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzLgorIworIyBVc2FnZTogX19naXRfY29tcGxldGVfY29uZmlnX3ZhcmlhYmxlX3ZhbHVlIFs8b3B0aW9uPl0uLi4KKyMgLS12YXJuYW1lPTx3b3JkPjogVGhlIG5hbWUgb2YgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgd2hvc2UgdmFsdWUgaXMKKyMgICAgICAgICAgICAgICAgICAgdG8gYmUgY29tcGxldGVkLiAgRGVmYXVsdHMgdG8gdGhlIHByZXZpb3VzIHdvcmQgb24gdGhlCisjICAgICAgICAgICAgICAgICAgIGNvbW1hbmQgbGluZS4KKyMgLS1jdXI9PHdvcmQ+OiBUaGUgY3VycmVudCB2YWx1ZSB0byBiZSBjb21wbGV0ZWQuICBEZWZhdWx0cyB0byB0aGUgY3VycmVudAorIyAgICAgICAgICAgICAgIHdvcmQgdG8gYmUgY29tcGxldGVkLgorX19naXRfY29tcGxldGVfY29uZmlnX3ZhcmlhYmxlX3ZhbHVlICgpCiB7Ci0JbG9jYWwgdmFybmFtZQorCWxvY2FsIHZhcm5hbWU9IiRwcmV2IiBjdXJfPSIkY3VyIgorCisJd2hpbGUgdGVzdCAkIyAhPSAwOyBkbworCQljYXNlICIkMSIgaW4KKwkJLS12YXJuYW1lPSopCXZhcm5hbWU9IiR7MSMjLS12YXJuYW1lPX0iIDs7CisJCS0tY3VyPSopCWN1cl89IiR7MSMjLS1jdXI9fSIgOzsKKwkJKikJCXJldHVybiAxIDs7CisJCWVzYWMKKwkJc2hpZnQKKwlkb25lCiAKIAlpZiBbICIke0JBU0hfVkVSU0lORk9bMF06LTB9IiAtZ2UgNCBdOyB0aGVuCi0JCXZhcm5hbWU9IiR7cHJldiwsfSIKKwkJdmFybmFtZT0iJHt2YXJuYW1lLCx9IgogCWVsc2UKLQkJdmFybmFtZT0iJChlY2hvICIkcHJldiIgfHRyIEEtWiBhLXopIgorCQl2YXJuYW1lPSIkKGVjaG8gIiR2YXJuYW1lIiB8dHIgQS1aIGEteikiCiAJZmkKIAogCWNhc2UgIiR2YXJuYW1lIiBpbgogCWJyYW5jaC4qLnJlbW90ZXxicmFuY2guKi5wdXNocmVtb3RlKQotCQlfX2dpdGNvbXBfbmwgIiQoX19naXRfcmVtb3RlcykiCisJCV9fZ2l0Y29tcF9ubCAiJChfX2dpdF9yZW1vdGVzKSIgIiIgIiRjdXJfIgogCQlyZXR1cm4KIAkJOzsKIAlicmFuY2guKi5tZXJnZSkKLQkJX19naXRfY29tcGxldGVfcmVmcworCQlfX2dpdF9jb21wbGV0ZV9yZWZzIC0tY3VyPSIkY3VyXyIKIAkJcmV0dXJuCiAJCTs7CiAJYnJhbmNoLioucmViYXNlKQotCQlfX2dpdGNvbXAgImZhbHNlIHRydWUgbWVyZ2VzIHByZXNlcnZlIGludGVyYWN0aXZlIgorCQlfX2dpdGNvbXAgImZhbHNlIHRydWUgbWVyZ2VzIHByZXNlcnZlIGludGVyYWN0aXZlIiAiIiAiJGN1cl8iCiAJCXJldHVybgogCQk7OwogCXJlbW90ZS5wdXNoZGVmYXVsdCkKLQkJX19naXRjb21wX25sICIkKF9fZ2l0X3JlbW90ZXMpIgorCQlfX2dpdGNvbXBfbmwgIiQoX19naXRfcmVtb3RlcykiICIiICIkY3VyXyIKIAkJcmV0dXJuCiAJCTs7CiAJcmVtb3RlLiouZmV0Y2gpCi0JCWxvY2FsIHJlbW90ZT0iJHtwcmV2I3JlbW90ZS59IgorCQlsb2NhbCByZW1vdGU9IiR7dmFybmFtZSNyZW1vdGUufSIKIAkJcmVtb3RlPSIke3JlbW90ZSUuZmV0Y2h9IgotCQlpZiBbIC16ICIkY3VyIiBdOyB0aGVuCisJCWlmIFsgLXogIiRjdXJfIiBdOyB0aGVuCiAJCQlfX2dpdGNvbXBfbmwgInJlZnMvaGVhZHMvIiAiIiAiIiAiIgogCQkJcmV0dXJuCiAJCWZpCi0JCV9fZ2l0Y29tcF9ubCAiJChfX2dpdF9yZWZzX3JlbW90ZXMgIiRyZW1vdGUiKSIKKwkJX19naXRjb21wX25sICIkKF9fZ2l0X3JlZnNfcmVtb3RlcyAiJHJlbW90ZSIpIiAiIiAiJGN1cl8iCiAJCXJldHVybgogCQk7OwogCXJlbW90ZS4qLnB1c2gpCi0JCWxvY2FsIHJlbW90ZT0iJHtwcmV2I3JlbW90ZS59IgorCQlsb2NhbCByZW1vdGU9IiR7dmFybmFtZSNyZW1vdGUufSIKIAkJcmVtb3RlPSIke3JlbW90ZSUucHVzaH0iCiAJCV9fZ2l0Y29tcF9ubCAiJChfX2dpdCBmb3ItZWFjaC1yZWYgXAotCQkJLS1mb3JtYXQ9JyUocmVmbmFtZSk6JShyZWZuYW1lKScgcmVmcy9oZWFkcykiCisJCQktLWZvcm1hdD0nJShyZWZuYW1lKTolKHJlZm5hbWUpJyByZWZzL2hlYWRzKSIgIiIgIiRjdXJfIgogCQlyZXR1cm4KIAkJOzsKIAlwdWxsLnR3b2hlYWR8cHVsbC5vY3RvcHVzKQogCQlfX2dpdF9jb21wdXRlX21lcmdlX3N0cmF0ZWdpZXMKLQkJX19naXRjb21wICIkX19naXRfbWVyZ2Vfc3RyYXRlZ2llcyIKLQkJcmV0dXJuCi0JCTs7Ci0JY29sb3IuYnJhbmNofGNvbG9yLmRpZmZ8Y29sb3IuaW50ZXJhY3RpdmV8XAotCWNvbG9yLnNob3dicmFuY2h8Y29sb3Iuc3RhdHVzfGNvbG9yLnVpKQotCQlfX2dpdGNvbXAgImFsd2F5cyBuZXZlciBhdXRvIgorCQlfX2dpdGNvbXAgIiRfX2dpdF9tZXJnZV9zdHJhdGVnaWVzIiAiIiAiJGN1cl8iCiAJCXJldHVybgogCQk7OwogCWNvbG9yLnBhZ2VyKQotCQlfX2dpdGNvbXAgImZhbHNlIHRydWUiCisJCV9fZ2l0Y29tcCAiZmFsc2UgdHJ1ZSIgIiIgIiRjdXJfIgogCQlyZXR1cm4KIAkJOzsKIAljb2xvci4qLiopCiAJCV9fZ2l0Y29tcCAiCiAJCQlub3JtYWwgYmxhY2sgcmVkIGdyZWVuIHllbGxvdyBibHVlIG1hZ2VudGEgY3lhbiB3aGl0ZQogCQkJYm9sZCBkaW0gdWwgYmxpbmsgcmV2ZXJzZQotCQkJIgorCQkJIiAiIiAiJGN1cl8iCisJCXJldHVybgorCQk7OworCWNvbG9yLiopCisJCV9fZ2l0Y29tcCAiZmFsc2UgdHJ1ZSBhbHdheXMgbmV2ZXIgYXV0byIgIiIgIiRjdXJfIgogCQlyZXR1cm4KIAkJOzsKIAlkaWZmLnN1Ym1vZHVsZSkKLQkJX19naXRjb21wICJsb2cgc2hvcnQiCisJCV9fZ2l0Y29tcCAiJF9fZ2l0X2RpZmZfc3VibW9kdWxlX2Zvcm1hdHMiICIiICIkY3VyXyIKIAkJcmV0dXJuCiAJCTs7CiAJaGVscC5mb3JtYXQpCi0JCV9fZ2l0Y29tcCAibWFuIGluZm8gd2ViIGh0bWwiCisJCV9fZ2l0Y29tcCAibWFuIGluZm8gd2ViIGh0bWwiICIiICIkY3VyXyIKIAkJcmV0dXJuCiAJCTs7CiAJbG9nLmRhdGUpCi0JCV9fZ2l0Y29tcCAiJF9fZ2l0X2xvZ19kYXRlX2Zvcm1hdHMiCisJCV9fZ2l0Y29tcCAiJF9fZ2l0X2xvZ19kYXRlX2Zvcm1hdHMiICIiICIkY3VyXyIKIAkJcmV0dXJuCiAJCTs7CiAJc2VuZGVtYWlsLmFsaWFzZmlsZXR5cGUpCi0JCV9fZ2l0Y29tcCAibXV0dCBtYWlscmMgcGluZSBlbG0gZ251cyIKKwkJX19naXRjb21wICJtdXR0IG1haWxyYyBwaW5lIGVsbSBnbnVzIiAiIiAiJGN1cl8iCiAJCXJldHVybgogCQk7OwogCXNlbmRlbWFpbC5jb25maXJtKQotCQlfX2dpdGNvbXAgIiRfX2dpdF9zZW5kX2VtYWlsX2NvbmZpcm1fb3B0aW9ucyIKKwkJX19naXRjb21wICIkX19naXRfc2VuZF9lbWFpbF9jb25maXJtX29wdGlvbnMiICIiICIkY3VyXyIKIAkJcmV0dXJuCiAJCTs7CiAJc2VuZGVtYWlsLnN1cHByZXNzY2MpCi0JCV9fZ2l0Y29tcCAiJF9fZ2l0X3NlbmRfZW1haWxfc3VwcHJlc3NjY19vcHRpb25zIgorCQlfX2dpdGNvbXAgIiRfX2dpdF9zZW5kX2VtYWlsX3N1cHByZXNzY2Nfb3B0aW9ucyIgIiIgIiRjdXJfIgogCQlyZXR1cm4KIAkJOzsKIAlzZW5kZW1haWwudHJhbnNmZXJlbmNvZGluZykKLQkJX19naXRjb21wICI3Yml0IDhiaXQgcXVvdGVkLXByaW50YWJsZSBiYXNlNjQiCi0JCXJldHVybgotCQk7OwotCS0tZ2V0fC0tZ2V0LWFsbHwtLXVuc2V0fC0tdW5zZXQtYWxsKQotCQlfX2dpdGNvbXBfbmwgIiQoX19naXRfY29uZmlnX2dldF9zZXRfdmFyaWFibGVzKSIKKwkJX19naXRjb21wICI3Yml0IDhiaXQgcXVvdGVkLXByaW50YWJsZSBiYXNlNjQiICIiICIkY3VyXyIKIAkJcmV0dXJuCiAJCTs7CiAJKi4qKQogCQlyZXR1cm4KIAkJOzsKIAllc2FjCi0JY2FzZSAiJGN1ciIgaW4KLQktLSopCi0JCV9fZ2l0Y29tcF9idWlsdGluIGNvbmZpZwotCQlyZXR1cm4KLQkJOzsKK30KKworIyBDb21wbGV0ZXMgY29uZmlndXJhdGlvbiBzZWN0aW9ucywgc3Vic2VjdGlvbnMsIHZhcmlhYmxlIG5hbWVzLgorIworIyBVc2FnZTogX19naXRfY29tcGxldGVfY29uZmlnX3ZhcmlhYmxlX25hbWUgWzxvcHRpb24+XS4uLgorIyAtLWN1cj08d29yZD46IFRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24gc2VjdGlvbi92YXJpYWJsZSBuYW1lIHRvIGJlCisjICAgICAgICAgICAgICAgY29tcGxldGVkLiAgRGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgd29yZCB0byBiZSBjb21wbGV0ZWQuCisjIC0tc2Z4PTxzdWZmaXg+OiBBIHN1ZmZpeCB0byBiZSBhcHBlbmRlZCB0byBlYWNoIGZ1bGx5IGNvbXBsZXRlZAorIyAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBuYW1lIChidXQgbm90IHRvIHNlY3Rpb25zIG9yCisjICAgICAgICAgICAgICAgICBzdWJzZWN0aW9ucykgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBzcGFjZS4KK19fZ2l0X2NvbXBsZXRlX2NvbmZpZ192YXJpYWJsZV9uYW1lICgpCit7CisJbG9jYWwgY3VyXz0iJGN1ciIgc2Z4CisKKwl3aGlsZSB0ZXN0ICQjICE9IDA7IGRvCisJCWNhc2UgIiQxIiBpbgorCQktLWN1cj0qKQljdXJfPSIkezEjIy0tY3VyPX0iIDs7CisJCS0tc2Z4PSopCXNmeD0iJHsxIyMtLXNmeD19IiA7OworCQkqKQkJcmV0dXJuIDEgOzsKKwkJZXNhYworCQlzaGlmdAorCWRvbmUKKworCWNhc2UgIiRjdXJfIiBpbgogCWJyYW5jaC4qLiopCi0JCWxvY2FsIHBmeD0iJHtjdXIlLip9LiIgY3VyXz0iJHtjdXIjIyoufSIKLQkJX19naXRjb21wICJyZW1vdGUgcHVzaFJlbW90ZSBtZXJnZSBtZXJnZU9wdGlvbnMgcmViYXNlIiAiJHBmeCIgIiRjdXJfIgorCQlsb2NhbCBwZng9IiR7Y3VyXyUuKn0uIgorCQljdXJfPSIke2N1cl8jIyoufSIKKwkJX19naXRjb21wICJyZW1vdGUgcHVzaFJlbW90ZSBtZXJnZSBtZXJnZU9wdGlvbnMgcmViYXNlIiAiJHBmeCIgIiRjdXJfIiAiJHNmeCIKIAkJcmV0dXJuCiAJCTs7CiAJYnJhbmNoLiopCi0JCWxvY2FsIHBmeD0iJHtjdXIlLip9LiIgY3VyXz0iJHtjdXIjKi59IgorCQlsb2NhbCBwZng9IiR7Y3VyJS4qfS4iCisJCWN1cl89IiR7Y3VyIyoufSIKIAkJX19naXRjb21wX2RpcmVjdCAiJChfX2dpdF9oZWFkcyAiJHBmeCIgIiRjdXJfIiAiLiIpIgotCQlfX2dpdGNvbXBfbmxfYXBwZW5kICQnYXV0b1NldHVwTWVyZ2VcbmF1dG9TZXR1cFJlYmFzZVxuJyAiJHBmeCIgIiRjdXJfIgorCQlfX2dpdGNvbXBfbmxfYXBwZW5kICQnYXV0b1NldHVwTWVyZ2VcbmF1dG9TZXR1cFJlYmFzZVxuJyAiJHBmeCIgIiRjdXJfIiAiJHNmeCIKIAkJcmV0dXJuCiAJCTs7CiAJZ3VpdG9vbC4qLiopCi0JCWxvY2FsIHBmeD0iJHtjdXIlLip9LiIgY3VyXz0iJHtjdXIjIyoufSIKKwkJbG9jYWwgcGZ4PSIke2N1cl8lLip9LiIKKwkJY3VyXz0iJHtjdXJfIyMqLn0iCiAJCV9fZ2l0Y29tcCAiCiAJCQlhcmdQcm9tcHQgY21kIGNvbmZpcm0gbmVlZHNGaWxlIG5vQ29uc29sZSBub1Jlc2NhbgogCQkJcHJvbXB0IHJldlByb21wdCByZXZVbm1lcmdlZCB0aXRsZQotCQkJIiAiJHBmeCIgIiRjdXJfIgorCQkJIiAiJHBmeCIgIiRjdXJfIiAiJHNmeCIKIAkJcmV0dXJuCiAJCTs7CiAJZGlmZnRvb2wuKi4qKQotCQlsb2NhbCBwZng9IiR7Y3VyJS4qfS4iIGN1cl89IiR7Y3VyIyMqLn0iCi0JCV9fZ2l0Y29tcCAiY21kIHBhdGgiICIkcGZ4IiAiJGN1cl8iCisJCWxvY2FsIHBmeD0iJHtjdXJfJS4qfS4iCisJCWN1cl89IiR7Y3VyXyMjKi59IgorCQlfX2dpdGNvbXAgImNtZCBwYXRoIiAiJHBmeCIgIiRjdXJfIiAiJHNmeCIKIAkJcmV0dXJuCiAJCTs7CiAJbWFuLiouKikKLQkJbG9jYWwgcGZ4PSIke2N1ciUuKn0uIiBjdXJfPSIke2N1ciMjKi59IgotCQlfX2dpdGNvbXAgImNtZCBwYXRoIiAiJHBmeCIgIiRjdXJfIgorCQlsb2NhbCBwZng9IiR7Y3VyXyUuKn0uIgorCQljdXJfPSIke2N1cl8jIyoufSIKKwkJX19naXRjb21wICJjbWQgcGF0aCIgIiRwZngiICIkY3VyXyIgIiRzZngiCiAJCXJldHVybgogCQk7OwogCW1lcmdldG9vbC4qLiopCi0JCWxvY2FsIHBmeD0iJHtjdXIlLip9LiIgY3VyXz0iJHtjdXIjIyoufSIKLQkJX19naXRjb21wICJjbWQgcGF0aCB0cnVzdEV4aXRDb2RlIiAiJHBmeCIgIiRjdXJfIgorCQlsb2NhbCBwZng9IiR7Y3VyXyUuKn0uIgorCQljdXJfPSIke2N1cl8jIyoufSIKKwkJX19naXRjb21wICJjbWQgcGF0aCB0cnVzdEV4aXRDb2RlIiAiJHBmeCIgIiRjdXJfIiAiJHNmeCIKIAkJcmV0dXJuCiAJCTs7CiAJcGFnZXIuKikKLQkJbG9jYWwgcGZ4PSIke2N1ciUuKn0uIiBjdXJfPSIke2N1ciMqLn0iCisJCWxvY2FsIHBmeD0iJHtjdXJfJS4qfS4iCisJCWN1cl89IiR7Y3VyXyMqLn0iCiAJCV9fZ2l0X2NvbXB1dGVfYWxsX2NvbW1hbmRzCi0JCV9fZ2l0Y29tcF9ubCAiJF9fZ2l0X2FsbF9jb21tYW5kcyIgIiRwZngiICIkY3VyXyIKKwkJX19naXRjb21wX25sICIkX19naXRfYWxsX2NvbW1hbmRzIiAiJHBmeCIgIiRjdXJfIiAiJHNmeCIKIAkJcmV0dXJuCiAJCTs7CiAJcmVtb3RlLiouKikKLQkJbG9jYWwgcGZ4PSIke2N1ciUuKn0uIiBjdXJfPSIke2N1ciMjKi59IgorCQlsb2NhbCBwZng9IiR7Y3VyXyUuKn0uIgorCQljdXJfPSIke2N1cl8jIyoufSIKIAkJX19naXRjb21wICIKIAkJCXVybCBwcm94eSBmZXRjaCBwdXNoIG1pcnJvciBza2lwRGVmYXVsdFVwZGF0ZQogCQkJcmVjZWl2ZXBhY2sgdXBsb2FkcGFjayB0YWdPcHQgcHVzaHVybAotCQkJIiAiJHBmeCIgIiRjdXJfIgorCQkJIiAiJHBmeCIgIiRjdXJfIiAiJHNmeCIKIAkJcmV0dXJuCiAJCTs7CiAJcmVtb3RlLiopCi0JCWxvY2FsIHBmeD0iJHtjdXIlLip9LiIgY3VyXz0iJHtjdXIjKi59IgorCQlsb2NhbCBwZng9IiR7Y3VyXyUuKn0uIgorCQljdXJfPSIke2N1cl8jKi59IgogCQlfX2dpdGNvbXBfbmwgIiQoX19naXRfcmVtb3RlcykiICIkcGZ4IiAiJGN1cl8iICIuIgotCQlfX2dpdGNvbXBfbmxfYXBwZW5kICJwdXNoRGVmYXVsdCIgIiRwZngiICIkY3VyXyIKKwkJX19naXRjb21wX25sX2FwcGVuZCAicHVzaERlZmF1bHQiICIkcGZ4IiAiJGN1cl8iICIkc2Z4IgogCQlyZXR1cm4KIAkJOzsKIAl1cmwuKi4qKQotCQlsb2NhbCBwZng9IiR7Y3VyJS4qfS4iIGN1cl89IiR7Y3VyIyMqLn0iCi0JCV9fZ2l0Y29tcCAiaW5zdGVhZE9mIHB1c2hJbnN0ZWFkT2YiICIkcGZ4IiAiJGN1cl8iCisJCWxvY2FsIHBmeD0iJHtjdXJfJS4qfS4iCisJCWN1cl89IiR7Y3VyXyMjKi59IgorCQlfX2dpdGNvbXAgImluc3RlYWRPZiBwdXNoSW5zdGVhZE9mIiAiJHBmeCIgIiRjdXJfIiAiJHNmeCIKIAkJcmV0dXJuCiAJCTs7CiAJKi4qKQogCQlfX2dpdF9jb21wdXRlX2NvbmZpZ192YXJzCi0JCV9fZ2l0Y29tcCAiJF9fZ2l0X2NvbmZpZ192YXJzIgorCQlfX2dpdGNvbXAgIiRfX2dpdF9jb25maWdfdmFycyIgIiIgIiRjdXJfIiAiJHNmeCIKIAkJOzsKIAkqKQogCQlfX2dpdF9jb21wdXRlX2NvbmZpZ192YXJzCi0JCV9fZ2l0Y29tcCAiJChlY2hvICIkX19naXRfY29uZmlnX3ZhcnMiIHwgc2VkICdzL1wuW14gXSovLi9nJykiCisJCV9fZ2l0Y29tcCAiJChlY2hvICIkX19naXRfY29uZmlnX3ZhcnMiIHwKKwkJCQlhd2sgLUYgLiAneworCQkJCQlzZWN0aW9uc1skMV0gPSAxCisJCQkJfQorCQkJCUVORCB7CisJCQkJCWZvciAocyBpbiBzZWN0aW9ucykKKwkJCQkJCXByaW50IHMgIi4iCisJCQkJfQorCQkJCScpIiAiIiAiJGN1cl8iCisJCTs7CisJZXNhYworfQorCisjIENvbXBsZXRlcyAnPSctc2VwYXJhdGVkIGNvbmZpZ3VyYXRpb24gc2VjdGlvbnMvdmFyaWFibGUgbmFtZXMgYW5kIHZhbHVlcworIyBmb3IgJ2dpdCAtYyBzZWN0aW9uLm5hbWU9dmFsdWUnLgorIworIyBVc2FnZTogX19naXRfY29tcGxldGVfY29uZmlnX3ZhcmlhYmxlX25hbWVfYW5kX3ZhbHVlIFs8b3B0aW9uPl0uLi4KKyMgLS1jdXI9PHdvcmQ+OiBUaGUgY3VycmVudCBjb25maWd1cmF0aW9uIHNlY3Rpb24vdmFyaWFibGUgbmFtZS92YWx1ZSB0byBiZQorIyAgICAgICAgICAgICAgIGNvbXBsZXRlZC4gRGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgd29yZCB0byBiZSBjb21wbGV0ZWQuCitfX2dpdF9jb21wbGV0ZV9jb25maWdfdmFyaWFibGVfbmFtZV9hbmRfdmFsdWUgKCkKK3sKKwlsb2NhbCBjdXJfPSIkY3VyIgorCisJd2hpbGUgdGVzdCAkIyAhPSAwOyBkbworCQljYXNlICIkMSIgaW4KKwkJLS1jdXI9KikJY3VyXz0iJHsxIyMtLWN1cj19IiA7OworCQkqKQkJcmV0dXJuIDEgOzsKKwkJZXNhYworCQlzaGlmdAorCWRvbmUKKworCWNhc2UgIiRjdXJfIiBpbgorCSo9KikKKwkJX19naXRfY29tcGxldGVfY29uZmlnX3ZhcmlhYmxlX3ZhbHVlIFwKKwkJCS0tdmFybmFtZT0iJHtjdXJfJSU9Kn0iIC0tY3VyPSIke2N1cl8jKj19IgorCQk7OworCSopCisJCV9fZ2l0X2NvbXBsZXRlX2NvbmZpZ192YXJpYWJsZV9uYW1lIC0tY3VyPSIkY3VyXyIgLS1zZng9Jz0nCisJCTs7CisJZXNhYworfQorCitfZ2l0X2NvbmZpZyAoKQoreworCWNhc2UgIiRwcmV2IiBpbgorCS0tZ2V0fC0tZ2V0LWFsbHwtLXVuc2V0fC0tdW5zZXQtYWxsKQorCQlfX2dpdGNvbXBfbmwgIiQoX19naXRfY29uZmlnX2dldF9zZXRfdmFyaWFibGVzKSIKKwkJcmV0dXJuCisJCTs7CisJKi4qKQorCQlfX2dpdF9jb21wbGV0ZV9jb25maWdfdmFyaWFibGVfdmFsdWUKKwkJcmV0dXJuCisJCTs7CisJZXNhYworCWNhc2UgIiRjdXIiIGluCisJLS0qKQorCQlfX2dpdGNvbXBfYnVpbHRpbiBjb25maWcKKwkJOzsKKwkqKQorCQlfX2dpdF9jb21wbGV0ZV9jb25maWdfdmFyaWFibGVfbmFtZQorCQk7OwogCWVzYWMKIH0KIApAQCAtMjM5NSw2ICsyNjE0LDEwIEBACiBfZ2l0X3JlcGxhY2UgKCkKIHsKIAljYXNlICIkY3VyIiBpbgorCS0tZm9ybWF0PSopCisJCV9fZ2l0Y29tcCAic2hvcnQgbWVkaXVtIGxvbmciICIiICIke2N1ciMjLS1mb3JtYXQ9fSIKKwkJcmV0dXJuCisJCTs7CiAJLS0qKQogCQlfX2dpdGNvbXBfYnVpbHRpbiByZXBsYWNlCiAJCXJldHVybgpAQCAtMjQyNyw3ICsyNjUwLDIyIEBACiAJX19naXRfY29tcGxldGVfcmVmcwogfQogCi1fX2dpdF9yZXZlcnRfaW5wcm9ncmVzc19vcHRpb25zPSItLWNvbnRpbnVlIC0tcXVpdCAtLWFib3J0IgorX2dpdF9yZXN0b3JlICgpCit7CisJY2FzZSAiJGN1ciIgaW4KKwktLWNvbmZsaWN0PSopCisJCV9fZ2l0Y29tcCAiZGlmZjMgbWVyZ2UiICIiICIke2N1ciMjLS1jb25mbGljdD19IgorCQk7OworCS0tc291cmNlPSopCisJCV9fZ2l0X2NvbXBsZXRlX3JlZnMgLS1jdXI9IiR7Y3VyIyMtLXNvdXJjZT19IgorCQk7OworCS0tKikKKwkJX19naXRjb21wX2J1aWx0aW4gcmVzdG9yZQorCQk7OworCWVzYWMKK30KKworX19naXRfcmV2ZXJ0X2lucHJvZ3Jlc3Nfb3B0aW9ucz0kX19naXRfc2VxdWVuY2VyX2lucHJvZ3Jlc3Nfb3B0aW9ucwogCiBfZ2l0X3JldmVydCAoKQogewpAQCAtMjQzNiw2ICsyNjc0LDcgQEAKIAkJX19naXRjb21wICIkX19naXRfcmV2ZXJ0X2lucHJvZ3Jlc3Nfb3B0aW9ucyIKIAkJcmV0dXJuCiAJZmkKKwlfX2dpdF9jb21wbGV0ZV9zdHJhdGVneSAmJiByZXR1cm4KIAljYXNlICIkY3VyIiBpbgogCS0tKikKIAkJX19naXRjb21wX2J1aWx0aW4gcmV2ZXJ0ICIiIFwKQEAgLTI0OTQsOCArMjczMyw5IEBACiAJCXJldHVybgogCQk7OwogCS0tKikKLQkJX19naXRjb21wICItLXByZXR0eT0gLS1mb3JtYXQ9IC0tYWJicmV2LWNvbW1pdCAtLW9uZWxpbmUKLQkJCS0tc2hvdy1zaWduYXR1cmUKKwkJX19naXRjb21wICItLXByZXR0eT0gLS1mb3JtYXQ9IC0tYWJicmV2LWNvbW1pdCAtLW5vLWFiYnJldi1jb21taXQKKwkJCS0tb25lbGluZSAtLXNob3ctc2lnbmF0dXJlIC0tcGF0Y2gKKwkJCS0tZXhwYW5kLXRhYnMgLS1leHBhbmQtdGFicz0gLS1uby1leHBhbmQtdGFicwogCQkJJF9fZ2l0X2RpZmZfY29tbW9uX29wdGlvbnMKIAkJCSIKIAkJcmV0dXJuCkBAIC0yNTE1LDYgKzI3NTUsMjcgQEAKIAlfX2dpdF9jb21wbGV0ZV9yZXZsaXN0CiB9CiAKK19naXRfc3BhcnNlX2NoZWNrb3V0ICgpCit7CisJbG9jYWwgc3ViY29tbWFuZHM9Imxpc3QgaW5pdCBzZXQgZGlzYWJsZSIKKwlsb2NhbCBzdWJjb21tYW5kPSIkKF9fZ2l0X2ZpbmRfb25fY21kbGluZSAiJHN1YmNvbW1hbmRzIikiCisJaWYgWyAteiAiJHN1YmNvbW1hbmQiIF07IHRoZW4KKwkJX19naXRjb21wICIkc3ViY29tbWFuZHMiCisJCXJldHVybgorCWZpCisKKwljYXNlICIkc3ViY29tbWFuZCwkY3VyIiBpbgorCWluaXQsLS0qKQorCQlfX2dpdGNvbXAgIi0tY29uZSIKKwkJOzsKKwlzZXQsLS0qKQorCQlfX2dpdGNvbXAgIi0tc3RkaW4iCisJCTs7CisJKikKKwkJOzsKKwllc2FjCit9CisKIF9naXRfc3Rhc2ggKCkKIHsKIAlsb2NhbCBzYXZlX29wdHM9Jy0tYWxsIC0ta2VlcC1pbmRleCAtLW5vLWtlZXAtaW5kZXggLS1xdWlldCAtLXBhdGNoIC0taW5jbHVkZS11bnRyYWNrZWQnCkBAIC0yNTgwLDcgKzI4NDEsNyBAQAogewogCV9fZ2l0X2hhc19kb3VibGVkYXNoICYmIHJldHVybgogCi0JbG9jYWwgc3ViY29tbWFuZHM9ImFkZCBzdGF0dXMgaW5pdCBkZWluaXQgdXBkYXRlIHN1bW1hcnkgZm9yZWFjaCBzeW5jIgorCWxvY2FsIHN1YmNvbW1hbmRzPSJhZGQgc3RhdHVzIGluaXQgZGVpbml0IHVwZGF0ZSBzZXQtYnJhbmNoIHNldC11cmwgc3VtbWFyeSBmb3JlYWNoIHN5bmMgYWJzb3JiZ2l0ZGlycyIKIAlsb2NhbCBzdWJjb21tYW5kPSIkKF9fZ2l0X2ZpbmRfb25fY21kbGluZSAiJHN1YmNvbW1hbmRzIikiCiAJaWYgWyAteiAiJHN1YmNvbW1hbmQiIF07IHRoZW4KIAkJY2FzZSAiJGN1ciIgaW4KQEAgLTI2MTEsNiArMjg3Miw5IEBACiAJCQktLWZvcmNlIC0tcmViYXNlIC0tbWVyZ2UgLS1yZWZlcmVuY2UgLS1kZXB0aCAtLXJlY3Vyc2l2ZSAtLWpvYnMKIAkJIgogCQk7OworCXNldC1icmFuY2gsLS0qKQorCQlfX2dpdGNvbXAgIi0tZGVmYXVsdCAtLWJyYW5jaCIKKwkJOzsKIAlzdW1tYXJ5LC0tKikKIAkJX19naXRjb21wICItLWNhY2hlZCAtLWZpbGVzIC0tc3VtbWFyeS1saW1pdCIKIAkJOzsKQEAgLTI2NDEsNiArMjkwNSw3IEBACiAJCQktLWxvZy13aW5kb3ctc2l6ZT0gLS1uby1jaGVja291dCAtLXF1aWV0CiAJCQktLXJlcGFjay1mbGFncyAtLXVzZS1sb2ctYXV0aG9yIC0tbG9jYWx0aW1lCiAJCQktLWFkZC1hdXRob3ItZnJvbQorCQkJLS1yZWN1cnNpdmUKIAkJCS0taWdub3JlLXBhdGhzPSAtLWluY2x1ZGUtcGF0aHM9ICRyZW1vdGVfb3B0cwogCQkJIgogCQlsb2NhbCBpbml0X29wdHM9IgpAQCAtMjc2MiwzMyArMzAyNyw4MyBAQAogCV9naXRfbG9nCiB9CiAKK19fZ2l0X2NvbXBsZXRlX3dvcmt0cmVlX3BhdGhzICgpCit7CisJbG9jYWwgSUZTPSQnXG4nCisJX19naXRjb21wX25sICIkKGdpdCB3b3JrdHJlZSBsaXN0IC0tcG9yY2VsYWluIHwKKwkJIyBTa2lwIHRoZSBmaXJzdCBlbnRyeTogaXQncyB0aGUgcGF0aCBvZiB0aGUgbWFpbiB3b3JrdHJlZSwKKwkJIyB3aGljaCBjYW4ndCBiZSBtb3ZlZCwgcmVtb3ZlZCwgbG9ja2VkLCBldGMuCisJCXNlZCAtbiAtZSAnMiwkIHMvXndvcmt0cmVlIC8vcCcpIgorfQorCiBfZ2l0X3dvcmt0cmVlICgpCiB7CiAJbG9jYWwgc3ViY29tbWFuZHM9ImFkZCBsaXN0IGxvY2sgbW92ZSBwcnVuZSByZW1vdmUgdW5sb2NrIgotCWxvY2FsIHN1YmNvbW1hbmQ9IiQoX19naXRfZmluZF9vbl9jbWRsaW5lICIkc3ViY29tbWFuZHMiKSIKLQlpZiBbIC16ICIkc3ViY29tbWFuZCIgXTsgdGhlbgorCWxvY2FsIHN1YmNvbW1hbmQgc3ViY29tbWFuZF9pZHgKKworCXN1YmNvbW1hbmQ9IiQoX19naXRfZmluZF9vbl9jbWRsaW5lIC0tc2hvdy1pZHggIiRzdWJjb21tYW5kcyIpIgorCXN1YmNvbW1hbmRfaWR4PSIke3N1YmNvbW1hbmQlICp9IgorCXN1YmNvbW1hbmQ9IiR7c3ViY29tbWFuZCMqIH0iCisKKwljYXNlICIkc3ViY29tbWFuZCwkY3VyIiBpbgorCSwqKQogCQlfX2dpdGNvbXAgIiRzdWJjb21tYW5kcyIKLQllbHNlCi0JCWNhc2UgIiRzdWJjb21tYW5kLCRjdXIiIGluCi0JCWFkZCwtLSopCi0JCQlfX2dpdGNvbXBfYnVpbHRpbiB3b3JrdHJlZV9hZGQKKwkJOzsKKwkqLC0tKikKKwkJX19naXRjb21wX2J1aWx0aW4gd29ya3RyZWVfJHN1YmNvbW1hbmQKKwkJOzsKKwlhZGQsKikJIyB1c2FnZTogZ2l0IHdvcmt0cmVlIGFkZCBbPG9wdGlvbnM+XSA8cGF0aD4gWzxjb21taXQtaXNoPl0KKwkJIyBIZXJlIHdlIGFyZSBub3QgY29tcGxldGluZyBhbiAtLW9wdGlvbiwgaXQncyBlaXRoZXIgdGhlCisJCSMgcGF0aCBvciBhIHJlZi4KKwkJY2FzZSAiJHByZXYiIGluCisJCS1ifC1CKQkjIENvbXBsZXRlIHJlZnMgZm9yIGJyYW5jaCB0byBiZSBjcmVhdGVkL3Jlc2V0ZWQuCisJCQlfX2dpdF9jb21wbGV0ZV9yZWZzCiAJCQk7OwotCQlsaXN0LC0tKikKLQkJCV9fZ2l0Y29tcF9idWlsdGluIHdvcmt0cmVlX2xpc3QKKwkJLSopCSMgVGhlIHByZXZpb3VzIHdvcmQgaXMgYW4gLW98LS1vcHRpb24gd2l0aG91dCBhbgorCQkJIyB1bnN0dWNrIGFyZ3VtZW50OiBoYXZlIHRvIGNvbXBsZXRlIHRoZSBwYXRoIGZvcgorCQkJIyB0aGUgbmV3IHdvcmt0cmVlLCBzbyBkb24ndCBsaXN0IGFueXRoaW5nLCBidXQgbGV0CisJCQkjIEJhc2ggZmFsbCBiYWNrIHRvIGZpbGVuYW1lIGNvbXBsZXRpb24uCiAJCQk7OwotCQlsb2NrLC0tKikKLQkJCV9fZ2l0Y29tcF9idWlsdGluIHdvcmt0cmVlX2xvY2sKLQkJCTs7Ci0JCXBydW5lLC0tKikKLQkJCV9fZ2l0Y29tcF9idWlsdGluIHdvcmt0cmVlX3BydW5lCi0JCQk7OwotCQlyZW1vdmUsLS0qKQotCQkJX19naXRjb21wICItLWZvcmNlIgotCQkJOzsKLQkJKikKKwkJKikJIyBUaGUgcHJldmlvdXMgd29yZCBpcyBub3QgYW4gLS1vcHRpb24sIHNvIGl0IG11c3QKKwkJCSMgYmUgZWl0aGVyIHRoZSAnYWRkJyBzdWJjb21tYW5kLCB0aGUgdW5zdHVjaworCQkJIyBhcmd1bWVudCBvZiBhbiBvcHRpb24gKGUuZy4gYnJhbmNoIGZvciAtYnwtQiksIG9yCisJCQkjIHRoZSBwYXRoIGZvciB0aGUgbmV3IHdvcmt0cmVlLgorCQkJaWYgWyAkY3dvcmQgLWVxICQoKHN1YmNvbW1hbmRfaWR4KzEpKSBdOyB0aGVuCisJCQkJIyBSaWdodCBhZnRlciB0aGUgJ2FkZCcgc3ViY29tbWFuZDogaGF2ZSB0bworCQkJCSMgY29tcGxldGUgdGhlIHBhdGgsIHNvIGZhbGwgYmFjayB0byBCYXNoCisJCQkJIyBmaWxlbmFtZSBjb21wbGV0aW9uLgorCQkJCToKKwkJCWVsc2UKKwkJCQljYXNlICIke3dvcmRzW2N3b3JkLTJdfSIgaW4KKwkJCQktYnwtQikJIyBBZnRlciAnLWIgPGJyYW5jaD4nOiBoYXZlIHRvCisJCQkJCSMgY29tcGxldGUgdGhlIHBhdGgsIHNvIGZhbGwgYmFjaworCQkJCQkjIHRvIEJhc2ggZmlsZW5hbWUgY29tcGxldGlvbi4KKwkJCQkJOzsKKwkJCQkqKQkjIEFmdGVyIHRoZSBwYXRoOiBoYXZlIHRvIGNvbXBsZXRlCisJCQkJCSMgdGhlIHJlZiB0byBiZSBjaGVja2VkIG91dC4KKwkJCQkJX19naXRfY29tcGxldGVfcmVmcworCQkJCQk7OworCQkJCWVzYWMKKwkJCWZpCiAJCQk7OwogCQllc2FjCi0JZmkKKwkJOzsKKwlsb2NrLCp8cmVtb3ZlLCp8dW5sb2NrLCopCisJCV9fZ2l0X2NvbXBsZXRlX3dvcmt0cmVlX3BhdGhzCisJCTs7CisJbW92ZSwqKQorCQlpZiBbICRjd29yZCAtZXEgJCgoc3ViY29tbWFuZF9pZHgrMSkpIF07IHRoZW4KKwkJCSMgVGhlIGZpcnN0IHBhcmFtZXRlciBtdXN0IGJlIGFuIGV4aXN0aW5nIHdvcmtpbmcKKwkJCSMgdHJlZSB0byBiZSBtb3ZlZC4KKwkJCV9fZ2l0X2NvbXBsZXRlX3dvcmt0cmVlX3BhdGhzCisJCWVsc2UKKwkJCSMgVGhlIHNlY29uZCBwYXJhbWV0ZXIgaXMgdGhlIGRlc3RpbmF0aW9uOiBpdCBjb3VsZAorCQkJIyBiZSBhbnkgcGF0aCwgc28gZG9uJ3QgbGlzdCBhbnl0aGluZywgYnV0IGxldCBCYXNoCisJCQkjIGZhbGwgYmFjayB0byBmaWxlbmFtZSBjb21wbGV0aW9uLgorCQkJOgorCQlmaQorCQk7OworCWVzYWMKIH0KIAogX19naXRfY29tcGxldGVfY29tbW9uICgpIHsKQEAgLTI4NjcsNyArMzE4MiwxMSBAQAogCQkJIyBCYXNoIGZpbGVuYW1lIGNvbXBsZXRpb24KIAkJCXJldHVybgogCQkJOzsKLQkJLWN8LS1uYW1lc3BhY2UpCisJCS1jKQorCQkJX19naXRfY29tcGxldGVfY29uZmlnX3ZhcmlhYmxlX25hbWVfYW5kX3ZhbHVlCisJCQlyZXR1cm4KKwkJCTs7CisJCS0tbmFtZXNwYWNlKQogCQkJIyB3ZSBkb24ndCBzdXBwb3J0IGNvbXBsZXRpbmcgdGhlc2Ugb3B0aW9ucycgYXJndW1lbnRzCiAJCQlyZXR1cm4KIAkJCTs7CkBAIC0yODk1LDcgKzMyMTQsNyBAQAogCQkJdGhlbgogCQkJCV9fZ2l0Y29tcCAiJEdJVF9URVNUSU5HX1BPUkNFTEFJTl9DT01NQU5EX0xJU1QiCiAJCQllbHNlCi0JCQkJX19naXRjb21wICIkKGdpdCAtLWxpc3QtY21kcz1saXN0LW1haW5wb3JjZWxhaW4sb3RoZXJzLG5vaGVscGVycyxhbGlhcyxsaXN0LWNvbXBsZXRlLGNvbmZpZykiCisJCQkJX19naXRjb21wICIkKF9fZ2l0IC0tbGlzdC1jbWRzPWxpc3QtbWFpbnBvcmNlbGFpbixvdGhlcnMsbm9oZWxwZXJzLGFsaWFzLGxpc3QtY29tcGxldGUsY29uZmlnKSIKIAkJCWZpCiAJCQk7OwogCQllc2FjCkBAIC0yOTkzLDcgKzMzMTIsNyBAQAogCiAJCWxvY2FsIElGUz0kJ1xuJwogCQljb21wc2V0IC1QICcqWz06XScKLQkJY29tcGFkZCAtUSAtZiAtLSAkez0xfSAmJiBfcmV0PTAKKwkJY29tcGFkZCAtZiAtLSAkez0xfSAmJiBfcmV0PTAKIAl9CiAKIAlfX2dpdGNvbXBfZmlsZSAoKQpAQCAtMzAwMiw3ICszMzIxLDcgQEAKIAogCQlsb2NhbCBJRlM9JCdcbicKIAkJY29tcHNldCAtUCAnKls9Ol0nCi0JCWNvbXBhZGQgLVEgLXAgIiR7Mi19IiAtZiAtLSAkez0xfSAmJiBfcmV0PTAKKwkJY29tcGFkZCAtcCAiJHsyLX0iIC1mIC0tICR7PTF9ICYmIF9yZXQ9MAogCX0KIAogCV9naXQgKCkKZGlmZiAtLWdpdCBhL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi56c2ggYi9jb250cmliL2NvbXBsZXRpb24vZ2l0LWNvbXBsZXRpb24uenNoCmluZGV4IDA0OWQ2YjguLmVlZjRlZmYgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvY29tcGxldGlvbi9naXQtY29tcGxldGlvbi56c2gKKysrIGIvY29udHJpYi9jb21wbGV0aW9uL2dpdC1jb21wbGV0aW9uLnpzaApAQCAtMTEsOCArMTEsOSBAQAogIwogIyAgenN0eWxlICc6Y29tcGxldGlvbjoqOio6Z2l0OionIHNjcmlwdCB+Ly5naXQtY29tcGxldGlvbi56c2gKICMKLSMgVGhlIHJlY29tbWVuZGVkIHdheSB0byBpbnN0YWxsIHRoaXMgc2NyaXB0IGlzIHRvIGNvcHkgdG8gJ34vLnpzaC9fZ2l0JywgYW5kCi0jIHRoZW4gYWRkIHRoZSBmb2xsb3dpbmcgdG8geW91ciB+Ly56c2hyYyBmaWxlOgorIyBUaGUgcmVjb21tZW5kZWQgd2F5IHRvIGluc3RhbGwgdGhpcyBzY3JpcHQgaXMgdG8gbWFrZSBhIGNvcHkgb2YgaXQgaW4KKyMgfi8uenNoLyBkaXJlY3RvcnkgYXMgfi8uenNoL2dpdC1jb21wbGV0aW9uLnpzaCBhbmQgdGhlbiBhZGQgdGhlIGZvbGxvd2luZworIyB0byB5b3VyIH4vLnpzaHJjIGZpbGU6CiAjCiAjICBmcGF0aD0ofi8uenNoICRmcGF0aCkKIApAQCAtOTksNyArMTAwLDcgQEAKIAogCWxvY2FsIElGUz0kJ1xuJwogCWNvbXBzZXQgLVAgJypbPTpdJwotCWNvbXBhZGQgLVEgLWYgLS0gJHs9MX0gJiYgX3JldD0wCisJY29tcGFkZCAtZiAtLSAkez0xfSAmJiBfcmV0PTAKIH0KIAogX19naXRjb21wX2ZpbGUgKCkKQEAgLTEwOCw3ICsxMDksNyBAQAogCiAJbG9jYWwgSUZTPSQnXG4nCiAJY29tcHNldCAtUCAnKls9Ol0nCi0JY29tcGFkZCAtUSAtcCAiJHsyLX0iIC1mIC0tICR7PTF9ICYmIF9yZXQ9MAorCWNvbXBhZGQgLXAgIiR7Mi19IiAtZiAtLSAkez0xfSAmJiBfcmV0PTAKIH0KIAogX19naXRfenNoX2Jhc2hfZnVuYyAoKQpkaWZmIC0tZ2l0IGEvY29udHJpYi9jb21wbGV0aW9uL2dpdC1wcm9tcHQuc2ggYi9jb250cmliL2NvbXBsZXRpb24vZ2l0LXByb21wdC5zaAppbmRleCA5ODNlNDE5Li4wMTRjZDdjIDEwMDY0NAotLS0gYS9jb250cmliL2NvbXBsZXRpb24vZ2l0LXByb21wdC5zaAorKysgYi9jb250cmliL2NvbXBsZXRpb24vZ2l0LXByb21wdC5zaApAQCAtMjg2LDYgKzI4NiwzNyBAQAogCXRlc3QgLXIgIiQxIiAmJiBJRlM9JCdcclxuJyByZWFkICIkMiIgPCIkMSIKIH0KIAorIyBzZWUgaWYgYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgaW4gcHJvZ3Jlc3MsIGlmIHRoZSB1c2VyIGhhcyBjb21taXR0ZWQgYQorIyBjb25mbGljdCByZXNvbHV0aW9uIHdpdGggJ2dpdCBjb21taXQnIGluIHRoZSBtaWRkbGUgb2YgYSBzZXF1ZW5jZSBvZiBwaWNrcyBvcgorIyByZXZlcnRzIHRoZW4gQ0hFUlJZX1BJQ0tfSEVBRC9SRVZFUlRfSEVBRCB3aWxsIG5vdCBleGlzdCBzbyB3ZSBoYXZlIHRvIHJlYWQKKyMgdGhlIHRvZG8gZmlsZS4KK19fZ2l0X3NlcXVlbmNlcl9zdGF0dXMgKCkKK3sKKwlsb2NhbCB0b2RvCisJaWYgdGVzdCAtZiAiJGcvQ0hFUlJZX1BJQ0tfSEVBRCIKKwl0aGVuCisJCXI9InxDSEVSUlktUElDS0lORyIKKwkJcmV0dXJuIDA7CisJZWxpZiB0ZXN0IC1mICIkZy9SRVZFUlRfSEVBRCIKKwl0aGVuCisJCXI9InxSRVZFUlRJTkciCisJCXJldHVybiAwOworCWVsaWYgX19naXRfZXJlYWQgIiRnL3NlcXVlbmNlci90b2RvIiB0b2RvCisJdGhlbgorCQljYXNlICIkdG9kbyIgaW4KKwkJcFtcIFwJXXxwaWNrW1wgXAldKikKKwkJCXI9InxDSEVSUlktUElDS0lORyIKKwkJCXJldHVybiAwCisJCTs7CisJCXJldmVydFtcIFwJXSopCisJCQlyPSJ8UkVWRVJUSU5HIgorCQkJcmV0dXJuIDAKKwkJOzsKKwkJZXNhYworCWZpCisJcmV0dXJuIDEKK30KKwogIyBfX2dpdF9wczEgYWNjZXB0cyAwIG9yIDEgYXJndW1lbnRzIChpLmUuLCBmb3JtYXQgc3RyaW5nKQogIyB3aGVuIGNhbGxlZCBmcm9tIFBTMSB1c2luZyBjb21tYW5kIHN1YnN0aXR1dGlvbgogIyBpbiB0aGlzIG1vZGUgaXQgcHJpbnRzIHRleHQgdG8gYWRkIHRvIGJhc2ggUFMxIHByb21wdCAoaW5jbHVkZXMgYnJhbmNoIG5hbWUpCkBAIC0zOTgsMTEgKzQyOSw3IEBACiAJCV9fZ2l0X2VyZWFkICIkZy9yZWJhc2UtbWVyZ2UvaGVhZC1uYW1lIiBiCiAJCV9fZ2l0X2VyZWFkICIkZy9yZWJhc2UtbWVyZ2UvbXNnbnVtIiBzdGVwCiAJCV9fZ2l0X2VyZWFkICIkZy9yZWJhc2UtbWVyZ2UvZW5kIiB0b3RhbAotCQlpZiBbIC1mICIkZy9yZWJhc2UtbWVyZ2UvaW50ZXJhY3RpdmUiIF07IHRoZW4KLQkJCXI9InxSRUJBU0UtaSIKLQkJZWxzZQotCQkJcj0ifFJFQkFTRS1tIgotCQlmaQorCQlyPSJ8UkVCQVNFIgogCWVsc2UKIAkJaWYgWyAtZCAiJGcvcmViYXNlLWFwcGx5IiBdOyB0aGVuCiAJCQlfX2dpdF9lcmVhZCAiJGcvcmViYXNlLWFwcGx5L25leHQiIHN0ZXAKQEAgLTQxNywxMCArNDQ0LDggQEAKIAkJCWZpCiAJCWVsaWYgWyAtZiAiJGcvTUVSR0VfSEVBRCIgXTsgdGhlbgogCQkJcj0ifE1FUkdJTkciCi0JCWVsaWYgWyAtZiAiJGcvQ0hFUlJZX1BJQ0tfSEVBRCIgXTsgdGhlbgotCQkJcj0ifENIRVJSWS1QSUNLSU5HIgotCQllbGlmIFsgLWYgIiRnL1JFVkVSVF9IRUFEIiBdOyB0aGVuCi0JCQlyPSJ8UkVWRVJUSU5HIgorCQllbGlmIF9fZ2l0X3NlcXVlbmNlcl9zdGF0dXM7IHRoZW4KKwkJCToKIAkJZWxpZiBbIC1mICIkZy9CSVNFQ1RfTE9HIiBdOyB0aGVuCiAJCQlyPSJ8QklTRUNUSU5HIgogCQlmaQpkaWZmIC0tZ2l0IGEvY29udHJpYi9jcmVkZW50aWFsL25ldHJjLy5naXRpZ25vcmUgYi9jb250cmliL2NyZWRlbnRpYWwvbmV0cmMvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDFjZGRlCi0tLSAvZGV2L251bGwKKysrIGIvY29udHJpYi9jcmVkZW50aWFsL25ldHJjLy5naXRpZ25vcmUKQEAgLTAsMCArMSBAQAorZ2l0LWNyZWRlbnRpYWwtbmV0cmMKZGlmZiAtLWdpdCBhL2NvbnRyaWIvY3JlZGVudGlhbC9uZXRyYy9NYWtlZmlsZSBiL2NvbnRyaWIvY3JlZGVudGlhbC9uZXRyYy9NYWtlZmlsZQppbmRleCA2MTc0ZTNiLi5jMjg0ZmI4IDEwMDY0NAotLS0gYS9jb250cmliL2NyZWRlbnRpYWwvbmV0cmMvTWFrZWZpbGUKKysrIGIvY29udHJpYi9jcmVkZW50aWFsL25ldHJjL01ha2VmaWxlCkBAIC0xLDggKzEsMzAgQEAKICMgVGhlIGRlZmF1bHQgdGFyZ2V0IG9mIHRoaXMgTWFrZWZpbGUgaXMuLi4KIGFsbDo6CiAKLXRlc3Q6CitTQ1JJUFRfUEVSTCA9IGdpdC1jcmVkZW50aWFsLW5ldHJjLnBlcmwKK0dJVF9ST09UX0RJUiA9IC4uLy4uLy4uCitIRVJFID0gY29udHJpYi9jcmVkZW50aWFsL25ldHJjCisKK1NDUklQVF9QRVJMX0ZVTEwgPSAkKHBhdHN1YnN0ICUsJChIRVJFKS8lLCQoU0NSSVBUX1BFUkwpKQorCithbGw6OiBidWlsZAorCitidWlsZDoKKwkkKE1BS0UpIC1DICQoR0lUX1JPT1RfRElSKSBTQ1JJUFRfUEVSTD0iJChTQ1JJUFRfUEVSTF9GVUxMKSIgXAorICAgICAgICAgICAgICAgIGJ1aWxkLXBlcmwtc2NyaXB0CisKK2luc3RhbGw6IGJ1aWxkCisJJChNQUtFKSAtQyAkKEdJVF9ST09UX0RJUikgU0NSSVBUX1BFUkw9IiQoU0NSSVBUX1BFUkxfRlVMTCkiIFwKKyAgICAgICAgICAgICAgICBpbnN0YWxsLXBlcmwtc2NyaXB0CisKK2NsZWFuOgorCSQoTUFLRSkgLUMgJChHSVRfUk9PVF9ESVIpIFNDUklQVF9QRVJMPSIkKFNDUklQVF9QRVJMX0ZVTEwpIiBcCisgICAgICAgICAgICAgICAgY2xlYW4tcGVybC1zY3JpcHQKKwordGVzdDogYnVpbGQKIAkuL3QtZ2l0LWNyZWRlbnRpYWwtbmV0cmMuc2gKIAotdGVzdHZlcmJvc2U6Cit0ZXN0dmVyYm9zZTogYnVpbGQKIAkuL3QtZ2l0LWNyZWRlbnRpYWwtbmV0cmMuc2ggLWQgLXYKKworLlBIT05ZOiBhbGwgYnVpbGQgaW5zdGFsbCBjbGVhbiB0ZXN0IHRlc3R2ZXJib3NlCmRpZmYgLS1naXQgYS9jb250cmliL2NyZWRlbnRpYWwvbmV0cmMvZ2l0LWNyZWRlbnRpYWwtbmV0cmMgYi9jb250cmliL2NyZWRlbnRpYWwvbmV0cmMvZ2l0LWNyZWRlbnRpYWwtbmV0cmMucGVybApzaW1pbGFyaXR5IGluZGV4IDk4JQpyZW5hbWUgZnJvbSBjb250cmliL2NyZWRlbnRpYWwvbmV0cmMvZ2l0LWNyZWRlbnRpYWwtbmV0cmMKcmVuYW1lIHRvIGNvbnRyaWIvY3JlZGVudGlhbC9uZXRyYy9naXQtY3JlZGVudGlhbC1uZXRyYy5wZXJsCmluZGV4IGViZmMxMjMuLmJjNTdjYzYgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvY3JlZGVudGlhbC9uZXRyYy9naXQtY3JlZGVudGlhbC1uZXRyYworKysgYi9jb250cmliL2NyZWRlbnRpYWwvbmV0cmMvZ2l0LWNyZWRlbnRpYWwtbmV0cmMucGVybApAQCAtNDIzLDcgKzQyMyw3IEBACiAJIyBsb2FkIHNldHRpbmdzIGZyb20gZ2l0IGNvbmZpZwogCW15ICRvcHRpb25zID0gc2hpZnQ7CiAJIyBzZXQgZnJvbSBjb21tYW5kIGFyZ3VtZW50LCBncGcucHJvZ3JhbSBvcHRpb24sIG9yIGRlZmF1bHQgdG8gZ3BnCi0JJG9wdGlvbnMtPnsnZ3BnJ30gLy89IEdpdC0+cmVwb3NpdG9yeSgpLT5jb25maWcoJ2dwZy5wcm9ncmFtJykKKwkkb3B0aW9ucy0+eydncGcnfSAvLz0gR2l0Ojpjb25maWcoJ2dwZy5wcm9ncmFtJykKIAkgICAgICAgICAgICAgICAgICAvLyAnZ3BnJzsKIAlsb2dfdmVyYm9zZSgidXNpbmcgJG9wdGlvbnN7J2dwZyd9IGZvciBHUEcgb3BlcmF0aW9ucyIpOwogfQpkaWZmIC0tZ2l0IGEvY29udHJpYi9kaWZmLWhpZ2hsaWdodC9EaWZmSGlnaGxpZ2h0LnBtIGIvY29udHJpYi9kaWZmLWhpZ2hsaWdodC9EaWZmSGlnaGxpZ2h0LnBtCmluZGV4IDUzNjc1NDUuLmUyNTg5OTIgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvZGlmZi1oaWdobGlnaHQvRGlmZkhpZ2hsaWdodC5wbQorKysgYi9jb250cmliL2RpZmYtaGlnaGxpZ2h0L0RpZmZIaWdobGlnaHQucG0KQEAgLTQsNiArNCwxMSBAQAogdXNlIHdhcm5pbmdzIEZBVEFMID0+ICdhbGwnOwogdXNlIHN0cmljdDsKIAorIyBVc2UgdGhlIGNvcnJlY3QgdmFsdWUgZm9yIGJvdGggVU5JWCBhbmQgV2luZG93cyAoL2Rldi9udWxsIHZzIG51bCkKK3VzZSBGaWxlOjpTcGVjOworCitteSAkTlVMTCA9IEZpbGU6OlNwZWMtPmRldm51bGwoKTsKKwogIyBIaWdobGlnaHQgYnkgcmV2ZXJzaW5nIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQuIFlvdSBjb3VsZCBkbwogIyBvdGhlciB0aGluZ3MgbGlrZSBib2xkIG9yIHVuZGVybGluZSBpZiB5b3UgcHJlZmVyLgogbXkgQE9MRF9ISUdITElHSFQgPSAoCkBAIC02Nyw3ICs3Miw3IEBACiAJICAgICAgKD86JENPTE9SP1x8JENPTE9SP1sgXSkqICMgemVybyBvciBtb3JlIHRyYWlsaW5nICJ8IgogCSAgICAgICAgICAgICAgICAgICAgICAgICBbIF0qICAjIHRyYWlsaW5nIHdoaXRlc3BhY2UgZm9yIG1lcmdlcwogCSAgICAveCkgewotCSAgICAgICAgbXkgJGdyYXBoX3ByZWZpeCA9ICQmOworCQlteSAkZ3JhcGhfcHJlZml4ID0gJCY7CiAKIAkJIyBXZSBtdXN0IGZsdXNoIGJlZm9yZSBzZXR0aW5nIGdyYXBoIGluZGVudCwgc2luY2UgdGhlCiAJCSMgbmV3IGNvbW1pdCBtYXkgYmUgaW5kZW50ZWQgZGlmZmVyZW50bHkgZnJvbSB3aGF0IHdlCkBAIC0xMzQsNyArMTM5LDcgQEAKICMgZmFsbGJhY2ssIHdoaWNoIG1lYW5zIHdlIHdpbGwgd29yayBldmVuIGlmIGdpdCBjYW4ndCBiZSBydW4uCiBzdWIgY29sb3JfY29uZmlnIHsKIAlteSAoJGtleSwgJGRlZmF1bHQpID0gQF87Ci0JbXkgJHMgPSBgZ2l0IGNvbmZpZyAtLWdldC1jb2xvciAka2V5IDI+L2Rldi9udWxsYDsKKwlteSAkcyA9IGBnaXQgY29uZmlnIC0tZ2V0LWNvbG9yICRrZXkgMj4kTlVMTGA7CiAJcmV0dXJuIGxlbmd0aCgkcykgPyAkcyA6ICRkZWZhdWx0OwogfQogCmRpZmYgLS1naXQgYS9jb250cmliL2hnLXRvLWdpdC9oZy10by1naXQucHkgYi9jb250cmliL2hnLXRvLWdpdC9oZy10by1naXQucHkKaW5kZXggZGUzZjgxNi4uN2ViMWIyNCAxMDA3NTUKLS0tIGEvY29udHJpYi9oZy10by1naXQvaGctdG8tZ2l0LnB5CisrKyBiL2NvbnRyaWIvaGctdG8tZ2l0L2hnLXRvLWdpdC5weQpAQCAtNDIsNyArNDIsNyBAQAogCiBkZWYgdXNhZ2UoKToKIAotICAgICAgICBwcmludCAiIiJcCisgICAgICAgIHByaW50KCIiIlwKICVzOiBbT1BUSU9OU10gPGhncHJqPgogCiBvcHRpb25zOgpAQCAtNTQsNyArNTQsNyBAQAogCiByZXF1aXJlZDoKICAgICBoZ3ByajogIG5hbWUgb2YgdGhlIEhHIHByb2plY3QgdG8gaW1wb3J0IChkaXJlY3RvcnkpCi0iIiIgJSBzeXMuYXJndlswXQorIiIiICUgc3lzLmFyZ3ZbMF0pCiAKICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApAQCAtMTA0LDIyICsxMDQsMjIgQEAKIGlmIHN0YXRlOgogICAgIGlmIG9zLnBhdGguZXhpc3RzKHN0YXRlKToKICAgICAgICAgaWYgdmVyYm9zZToKLSAgICAgICAgICAgIHByaW50ICdTdGF0ZSBkb2VzIGV4aXN0LCByZWFkaW5nJworICAgICAgICAgICAgcHJpbnQoJ1N0YXRlIGRvZXMgZXhpc3QsIHJlYWRpbmcnKQogICAgICAgICBmID0gb3BlbihzdGF0ZSwgJ3InKQogICAgICAgICBoZ3ZlcnMgPSBwaWNrbGUubG9hZChmKQogICAgIGVsc2U6Ci0gICAgICAgIHByaW50ICdTdGF0ZSBkb2VzIG5vdCBleGlzdCwgZmlyc3QgcnVuJworICAgICAgICBwcmludCgnU3RhdGUgZG9lcyBub3QgZXhpc3QsIGZpcnN0IHJ1bicpCiAKIHNvY2sgPSBvcy5wb3BlbignaGcgdGlwIC0tdGVtcGxhdGUgIntyZXZ9IicpCiB0aXAgPSBzb2NrLnJlYWQoKQogaWYgc29jay5jbG9zZSgpOgogICAgIHN5cy5leGl0KDEpCiBpZiB2ZXJib3NlOgotICAgIHByaW50ICd0aXAgaXMnLCB0aXAKKyAgICBwcmludCgndGlwIGlzJywgdGlwKQogCiAjIENhbGN1bGF0ZSB0aGUgYnJhbmNoZXMKIGlmIHZlcmJvc2U6Ci0gICAgcHJpbnQgJ2FuYWx5c2luZyB0aGUgYnJhbmNoZXMuLi4nCisgICAgcHJpbnQoJ2FuYWx5c2luZyB0aGUgYnJhbmNoZXMuLi4nKQogaGdjaGlsZHJlblsiMCJdID0gKCkKIGhncGFyZW50c1siMCJdID0gKE5vbmUsIE5vbmUpCiBoZ2JyYW5jaFsiMCJdID0gIm1hc3RlciIKQEAgLTE1NCwxNSArMTU0LDE1IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBoZ2JyYW5jaFtzdHIoY3NldCldID0gImJyYW5jaC0iICsgc3RyKGNzZXQpCiAKLWlmIG5vdCBoZ3ZlcnMuaGFzX2tleSgiMCIpOgotICAgIHByaW50ICdjcmVhdGluZyByZXBvc2l0b3J5JworaWYgIjAiIG5vdCBpbiBoZ3ZlcnM6CisgICAgcHJpbnQoJ2NyZWF0aW5nIHJlcG9zaXRvcnknKQogICAgIG9zLnN5c3RlbSgnZ2l0IGluaXQnKQogCiAjIGxvb3AgdGhyb3VnaCBldmVyeSBoZyBjaGFuZ2VzZXQKIGZvciBjc2V0IGluIHJhbmdlKGludCh0aXApICsgMSk6CiAKICAgICAjIGluY3JlbWVudGFsLCBhbHJlYWR5IHNlZW4KLSAgICBpZiBoZ3ZlcnMuaGFzX2tleShzdHIoY3NldCkpOgorICAgIGlmIHN0cihjc2V0KSBpbiBoZ3ZlcnM6CiAgICAgICAgIGNvbnRpbnVlCiAgICAgaGduZXdjc2V0cyArPSAxCiAKQEAgLTE4MCwyNyArMTgwLDI3IEBACiAgICAgb3Mud3JpdGUoZmRjb21tZW50LCBjc2V0Y29tbWVudCkKICAgICBvcy5jbG9zZShmZGNvbW1lbnQpCiAKLSAgICBwcmludCAnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0nCi0gICAgcHJpbnQgJ2NzZXQ6JywgY3NldAotICAgIHByaW50ICdicmFuY2g6JywgaGdicmFuY2hbc3RyKGNzZXQpXQotICAgIHByaW50ICd1c2VyOicsIHVzZXIKLSAgICBwcmludCAnZGF0ZTonLCBkYXRlCi0gICAgcHJpbnQgJ2NvbW1lbnQ6JywgY3NldGNvbW1lbnQKKyAgICBwcmludCgnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0nKQorICAgIHByaW50KCdjc2V0OicsIGNzZXQpCisgICAgcHJpbnQoJ2JyYW5jaDonLCBoZ2JyYW5jaFtzdHIoY3NldCldKQorICAgIHByaW50KCd1c2VyOicsIHVzZXIpCisgICAgcHJpbnQoJ2RhdGU6JywgZGF0ZSkKKyAgICBwcmludCgnY29tbWVudDonLCBjc2V0Y29tbWVudCkKICAgICBpZiBwYXJlbnQ6Ci0JcHJpbnQgJ3BhcmVudDonLCBwYXJlbnQKKyAgICAgICAgcHJpbnQoJ3BhcmVudDonLCBwYXJlbnQpCiAgICAgaWYgbXBhcmVudDoKLSAgICAgICAgcHJpbnQgJ21wYXJlbnQ6JywgbXBhcmVudAorICAgICAgICBwcmludCgnbXBhcmVudDonLCBtcGFyZW50KQogICAgIGlmIHRhZzoKLSAgICAgICAgcHJpbnQgJ3RhZzonLCB0YWcKLSAgICBwcmludCAnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0nCisgICAgICAgIHByaW50KCd0YWc6JywgdGFnKQorICAgIHByaW50KCctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLScpCiAKICAgICAjIGNoZWNrb3V0IHRoZSBwYXJlbnQgaWYgbmVjZXNzYXJ5CiAgICAgaWYgY3NldCAhPSAwOgogICAgICAgICBpZiBoZ2JyYW5jaFtzdHIoY3NldCldID09ICJicmFuY2gtIiArIHN0cihjc2V0KToKLSAgICAgICAgICAgIHByaW50ICdjcmVhdGluZyBuZXcgYnJhbmNoJywgaGdicmFuY2hbc3RyKGNzZXQpXQorICAgICAgICAgICAgcHJpbnQoJ2NyZWF0aW5nIG5ldyBicmFuY2gnLCBoZ2JyYW5jaFtzdHIoY3NldCldKQogICAgICAgICAgICAgb3Muc3lzdGVtKCdnaXQgY2hlY2tvdXQgLWIgJXMgJXMnICUgKGhnYnJhbmNoW3N0cihjc2V0KV0sIGhndmVyc1twYXJlbnRdKSkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHByaW50ICdjaGVja2luZyBvdXQgYnJhbmNoJywgaGdicmFuY2hbc3RyKGNzZXQpXQorICAgICAgICAgICAgcHJpbnQoJ2NoZWNraW5nIG91dCBicmFuY2gnLCBoZ2JyYW5jaFtzdHIoY3NldCldKQogICAgICAgICAgICAgb3Muc3lzdGVtKCdnaXQgY2hlY2tvdXQgJXMnICUgaGdicmFuY2hbc3RyKGNzZXQpXSkKIAogICAgICMgbWVyZ2UKQEAgLTIwOSw3ICsyMDksNyBAQAogICAgICAgICAgICAgb3RoZXJicmFuY2ggPSBoZ2JyYW5jaFttcGFyZW50XQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgb3RoZXJicmFuY2ggPSBoZ2JyYW5jaFtwYXJlbnRdCi0gICAgICAgIHByaW50ICdtZXJnaW5nJywgb3RoZXJicmFuY2gsICdpbnRvJywgaGdicmFuY2hbc3RyKGNzZXQpXQorICAgICAgICBwcmludCgnbWVyZ2luZycsIG90aGVyYnJhbmNoLCAnaW50bycsIGhnYnJhbmNoW3N0cihjc2V0KV0pCiAgICAgICAgIG9zLnN5c3RlbShnZXRnaXRlbnYodXNlciwgZGF0ZSkgKyAnZ2l0IG1lcmdlIC0tbm8tY29tbWl0IC1zIG91cnMgIiIgJXMgJXMnICUgKGhnYnJhbmNoW3N0cihjc2V0KV0sIG90aGVyYnJhbmNoKSkKIAogICAgICMgcmVtb3ZlIGV2ZXJ5dGhpbmcgZXhjZXB0IC5naXQgYW5kIC5oZyBkaXJlY3RvcmllcwpAQCAtMjMzLDEyICsyMzMsMTIgQEAKIAogICAgICMgZGVsZXRlIGJyYW5jaCBpZiBub3QgdXNlZCBhbnltb3JlLi4uCiAgICAgaWYgbXBhcmVudCBhbmQgbGVuKGhnY2hpbGRyZW5bc3RyKGNzZXQpXSk6Ci0gICAgICAgIHByaW50ICJEZWxldGluZyB1bnVzZWQgYnJhbmNoOiIsIG90aGVyYnJhbmNoCisgICAgICAgIHByaW50KCJEZWxldGluZyB1bnVzZWQgYnJhbmNoOiIsIG90aGVyYnJhbmNoKQogICAgICAgICBvcy5zeXN0ZW0oJ2dpdCBicmFuY2ggLWQgJXMnICUgb3RoZXJicmFuY2gpCiAKICAgICAjIHJldHJpZXZlIGFuZCByZWNvcmQgdGhlIHZlcnNpb24KICAgICB2dnYgPSBvcy5wb3BlbignZ2l0IHNob3cgLS1xdWlldCAtLXByZXR0eT1mb3JtYXQ6JUgnKS5yZWFkKCkKLSAgICBwcmludCAncmVjb3JkJywgY3NldCwgJy0+JywgdnZ2CisgICAgcHJpbnQoJ3JlY29yZCcsIGNzZXQsICctPicsIHZ2dikKICAgICBoZ3ZlcnNbc3RyKGNzZXQpXSA9IHZ2dgogCiBpZiBoZ25ld2NzZXRzID49IG9wdF9ucmVwYWNrIGFuZCBvcHRfbnJlcGFjayAhPSAtMToKQEAgLTI0Nyw3ICsyNDcsNyBAQAogIyB3cml0ZSB0aGUgc3RhdGUgZm9yIGluY3JlbWVudGFscwogaWYgc3RhdGU6CiAgICAgaWYgdmVyYm9zZToKLSAgICAgICAgcHJpbnQgJ1dyaXRpbmcgc3RhdGUnCisgICAgICAgIHByaW50KCdXcml0aW5nIHN0YXRlJykKICAgICBmID0gb3BlbihzdGF0ZSwgJ3cnKQogICAgIHBpY2tsZS5kdW1wKGhndmVycywgZikKIApkaWZmIC0tZ2l0IGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvQ0hBTkdFUyBiL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL0NIQU5HRVMKaW5kZXggMjA3NmNmOS4uMzU3OTFmZCAxMDA2NDQKLS0tIGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvQ0hBTkdFUworKysgYi9jb250cmliL2hvb2tzL211bHRpbWFpbC9DSEFOR0VTCkBAIC0xLDMgKzEsNTkgQEAKK1JlbGVhc2UgMS41LjAKKz09PT09PT09PT09PT0KKworQmFja3dhcmQtaW5jb21wYXRpYmxlIGNoYW5nZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgbmFtZSBvZiBjbGFzc2VzIGZvciBlbnZpcm9ubWVudCB3YXMgbWlzbmFtZWQgYXMgYCpFbnZpcm9uZW1lbnRgLgorSXQgaXMgbm93IGAqRW52aXJvbm1lbnRgLgorCitOZXcgZmVhdHVyZXMKKy0tLS0tLS0tLS0tLQorCisqIEEgVGhyZWFkLUluZGV4IGhlYWRlciBpcyBub3cgYWRkZWQgdG8gZWFjaCBlbWFpbCBzZW50IChleGNlcHQgZm9yCisgIGNvbWJpbmVkIGVtYWlscyB3aGVyZSBpdCB3b3VsZCBub3QgbWFrZSBzZW5zZSksIHNvIHRoYXQgTVMgT3V0bG9vaworICBwcm9wZXJseSBncm91cHMgbWVzc2FnZXMgYnkgdGhyZWFkcyBldmVuIHRob3VnaCB0aGV5IGhhdmUgYQorICBkaWZmZXJlbnQgc3ViamVjdCBsaW5lLiBVbmZvcnR1bmF0ZWx5LCBldmVuIGFkZGluZyB0aGlzIGhlYWRlciB0aGUKKyAgdGhyZWFkaW5nIHN0aWxsIHNlZW1zIHRvIGJlIHVucmVsaWFibGUsIGJ1dCBpdCBpcyB1bmNsZWFyIHdoZXRoZXIKKyAgdGhpcyBpcyBhbiBpc3N1ZSBvbiBvdXIgc2lkZSBvciBvbiBNUyBPdXRsb29rJ3Mgc2lkZSAoc2VlIGRpc2N1c3Npb24KKyAgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2dpdC1tdWx0aW1haWwvZ2l0LW11bHRpbWFpbC9wdWxsLzE5NCkuCisKKyogQSBuZXcgdmFyaWFibGUgbXVsdGltYWlsaG9vay5FeGNsdWRlTWVyZ2VSZXZpc2lvbnMgd2FzIGFkZGVkIHRvIHNlbmQKKyAgbm90aWZpY2F0aW9uIGVtYWlscyBvbmx5IGZvciBub24tbWVyZ2UgY29tbWl0cy4KKworKiBGb3IgZ2l0b2xpdGUgZW52aXJvbm1lbnQsIGl0IGlzIG5vdyBwb3NzaWJsZSB0byBzcGVjaWZ5IHRoZSBtYWlsIG1hcAorICBpbiBhIHNlcGFyYXRlIGZpbGUgaW4gYWRkaXRpb24gdG8gZ2l0b2xpdGUuY29uZiwgdXNpbmcgdGhlIHZhcmlhYmxlCisgIG11bHRpbWFpbGhvb2suTWFpbGFkZHJlc3NNYXAuCisKK0ludGVybmFsIGNoYW5nZXMKKy0tLS0tLS0tLS0tLS0tLS0KKworKiBUaGUgdGVzdHN1aXRlIG5vdyB1c2VzIEdJVF9QUklOVF9TSEExX0VMTElQU0lTIHdoZXJlIG5lZWRlZCBmb3IKKyAgY29tcGF0aWJpbGl0eSB3aXRoIHJlY2VudCBHaXQgdmVyc2lvbnMuIE9ubHkgdGVzdHMgYXJlIGFmZmVjdGVkLgorCisqIFdlIGRvbid0IHRyeSB0byBpbnN0YWxsIHB5Zmxha2VzIGluIHRoZSBjb250aW51b3VzIGludGVncmF0aW9uIGpvYgorICBmb3Igb2xkIFB5dGhvbiB2ZXJzaW9ucyB3aGVyZSBpdCdzIG5vIGxvbmdlciBhdmFpbGFibGUuCisKKyogU3RvcCB1c2luZyB0aGUgZGVwcmVjYXRlZCBjZ2kuZXNjYXBlIGluIFB5dGhvbiAzLgorCisqIE5ldyBmbGFrZTggd2FybmluZ3MgaGF2ZSBiZWVuIGZpeGVkLgorCisqIFB5dGhvbiAzLjYgaXMgbm93IHRlc3RlZCBhZ2FpbnN0IG9uIFRyYXZpcy1DSS4KKworKiBBIGJ1bmNoIG9mIGxndG0uY29tIHdhcm5pbmdzIGhhdmUgYmVlbiBmaXhlZC4KKworQnVnIGZpeGVzCistLS0tLS0tLS0KKworKiBTTVRQTWFpbGVyIGxvZ3MgaW4gb25seSBvbmNlIG5vdy4gSXQgdXNlZCB0byByZS1sb2dpbiBmb3IgZWFjaCBlbWFpbAorICBzZW50IHdoaWNoIHRyaWdnZXJlZCBlcnJvcnMgZm9yIHNvbWUgU01UUCBzZXJ2ZXJzLgorCisqIG1pZ3JhdGUtbWFpbGhvb2stY29uZmlnIHdhcyBicm9rZW4gYnkgaW50ZXJuYWwgcmVmYWN0b3JpbmcsIGl0CisgIHNob3VsZCBub3cgd29yayBhZ2Fpbi4KKworVGhpcyB2ZXJzaW9uIHdhcyB0ZXN0ZWQgd2l0aCBQeXRob24gMi42IHRvIDMuNy4gSXQgd2FzIHRlc3RlZCB3aXRoIEdpdAorMS43LjEwLjQwNi5nZGM4MDEsIDIuMTUuMSBhbmQgMi4yMC4xLjk4LmdlY2JkYWYwLgorCiBSZWxlYXNlIDEuNC4wCiA9PT09PT09PT09PT09CiAKZGlmZiAtLWdpdCBhL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL0NPTlRSSUJVVElORy5yc3QgYi9jb250cmliL2hvb2tzL211bHRpbWFpbC9DT05UUklCVVRJTkcucnN0CmluZGV4IGRhNjU1NzAuLmRlMjBhNTQgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL0NPTlRSSUJVVElORy5yc3QKKysrIGIvY29udHJpYi9ob29rcy9tdWx0aW1haWwvQ09OVFJJQlVUSU5HLnJzdApAQCAtNCw5ICs0LDggQEAKIGdpdC1tdWx0aW1haWwgaXMgYW4gb3Blbi1zb3VyY2UgcHJvamVjdCwgYnVpbHQgYnkgdm9sdW50ZWVycy4gV2Ugd291bGQKIHdlbGNvbWUgeW91ciBoZWxwIQogCi1UaGUgY3VycmVudCBtYWludGFpbmVycyBhcmUgTWF0dGhpZXUgTW95Ci08bWF0dGhpZXUubW95QGdyZW5vYmxlLWlucC5mcj4gYW5kIE1pY2hhZWwgSGFnZ2VydHkKLTxtaGFnZ2VyQGFsdW0ubWl0LmVkdT4uCitUaGUgY3VycmVudCBtYWludGFpbmVycyBhcmUgYE1hdHRoaWV1IE1veSA8aHR0cDovL21hdHRoaWV1LW1veS5mcj5gX18gYW5kCitgTWljaGFlbCBIYWdnZXJ0eSA8aHR0cHM6Ly9naXRodWIuY29tL21oYWdnZXI+YF9fLgogCiBQbGVhc2Ugbm90ZSB0aGF0IGFsdGhvdWdoIGEgY29weSBvZiBnaXQtbXVsdGltYWlsIGlzIGRpc3RyaWJ1dGVkIGluCiB0aGUgImNvbnRyaWIiIHNlY3Rpb24gb2YgdGhlIG1haW4gR2l0IHByb2plY3QsIGRldmVsb3BtZW50IHRha2VzIHBsYWNlCkBAIC0zMyw2ICszMiwyOSBAQAogUGxlYXNlIENDIGVtYWlscyByZWdhcmRpbmcgZ2l0LW11bHRpbWFpbCB0byB0aGUgbWFpbnRhaW5lcnMgc28gdGhhdCB3ZQogZG9uJ3Qgb3Zlcmxvb2sgdGhlbS4KIAorSGVscCBuZWVkZWQ6IHRlc3RlcnMvbWFpbnRhaW5lciBmb3Igc3BlY2lmaWMgZW52aXJvbm1lbnRzL09TCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlIGN1cnJlbnQgbWFpbnRhaW5lciB1c2VzIGFuZCB0ZXN0cyBnaXQtbXVsdGltYWlsIG9uIExpbnV4IHdpdGggdGhlCitHZW5lcmljIGVudmlyb25tZW50LiBNb3JlIHRlc3RlcnMsIG9yIGJldHRlciBjb250cmlidXRvcnMgYXJlIG5lZWRlZAordG8gdGVzdCBnaXQtbXVsdGltYWlsIG9uIG90aGVyIHJlYWwtbGlmZSBzZXR1cHM6CisKKyogTWFjIE9TIFgsIFdpbmRvd3M6IGdpdC1tdWx0aW1haWwgaXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQgb24gdGhlc2UKKyAgcGxhdGZvcm1zLiBCdXQgc2luY2Ugd2UgaGF2ZSBubyBleHRlcm5hbCBkZXBlbmRlbmNpZXMgYW5kIHRyeSB0bworICB3cml0ZSBjb2RlIGFzIHBvcnRhYmxlIGFzIHBvc3NpYmxlLCBpdCBpcyBwb3NzaWJsZSB0aGF0CisgIGdpdC1tdWx0aW1haWwgYWxyZWFkeSBydW5zIHRoZXJlIGFuZCBpZiBub3QsIGl0IGlzIGxpa2VseSB0aGF0IGl0CisgIGNvdWxkIGJlIHBvcnRlZCBlYXNpbHkuCisKKyAgUGF0Y2hlcyB0byBpbXByb3ZlIHN1cHBvcnQgZm9yIFdpbmRvd3MgYW5kIE9TIFggYXJlIHdlbGNvbWUuCisgIElkZWFsbHksIHRoZXJlIHdvdWxkIGJlIGEgc3ViLW1haW50YWluZXIgZm9yIGVhY2ggT1Mgd2hvIHdvdWxkIHRlc3QKKyAgYXQgbGVhc3Qgb25jZSBiZWZvcmUgZWFjaCByZWxlYXNlIChhcm91bmQgdHdpY2UgYSB5ZWFyKS4KKworKiBHZXJyaXQsIFN0YXNoLCBHaXRvbGl0ZSBlbnZpcm9ubWVudHM6IGFsdGhvdWdoIHRoZSB0ZXN0c3VpdGUKKyAgY29udGFpbnMgdGVzdHMgZm9yIHRoZXNlIGVudmlyb25tZW50cywgYSB0ZXN0ZXIvbWFpbnRhaW5lciBmb3IgZWFjaAorICBlbnZpcm9ubWVudCB3b3VsZCBiZSB3ZWxjb21lIHRvIHRlc3QgYW5kIHJlcG9ydCBmYWlsdXJlIChvciBzdWNjZXNzKQorICBvbiByZWFsLWxpZmUgZW52aXJvbm1lbnRzIHBlcmlvZGljYWxseSAoaGVyZSBhbHNvLCBmZWVkYmFjayBiZWZvcmUKKyAgZWFjaCByZWxlYXNlIHdvdWxkIGJlIGhpZ2hseSBhcHByZWNpYXRlZCkuCisKIAogLi4gX2BnaXQtbXVsdGltYWlsIHJlcG9zaXRvcnkgb24gR2l0SHViYDogaHR0cHM6Ly9naXRodWIuY29tL2dpdC1tdWx0aW1haWwvZ2l0LW11bHRpbWFpbAogLi4gX2BHaXQgbWFpbGluZyBsaXN0YDogZ2l0QHZnZXIua2VybmVsLm9yZwpkaWZmIC0tZ2l0IGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvUkVBRE1FLkdpdCBiL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL1JFQURNRS5HaXQKaW5kZXggMTYxYjAyMy4uMDQ0NDQ0MiAxMDA2NDQKLS0tIGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvUkVBRE1FLkdpdAorKysgYi9jb250cmliL2hvb2tzL211bHRpbWFpbC9SRUFETUUuR2l0CkBAIC02LDEwICs2LDEwIEBACiAgICAgaHR0cHM6Ly9naXRodWIuY29tL2dpdC1tdWx0aW1haWwvZ2l0LW11bHRpbWFpbAogCiBUaGUgdmVyc2lvbiBpbiB0aGlzIGRpcmVjdG9yeSB3YXMgb2J0YWluZWQgZnJvbSB0aGUgdXBzdHJlYW0gcHJvamVjdAotb24gQXVndXN0IDE3IDIwMTYgYW5kIGNvbnNpc3RzIG9mIHRoZSAiZ2l0LW11bHRpbWFpbCIgc3ViZGlyZWN0b3J5IGZyb20KK29uIEphbnVhcnkgMDcgMjAxOSBhbmQgY29uc2lzdHMgb2YgdGhlICJnaXQtbXVsdGltYWlsIiBzdWJkaXJlY3RvcnkgZnJvbQogcmV2aXNpb24KIAotICAgIDA3YjFjYjZiZmQ3YmUxNTZjNjJlMWFmYTE3Y2FlMTNiODUwYTg2OWYgcmVmcy90YWdzLzEuNC4wCisgICAgMDRlODBlNmM0MGJlNDY1Y2M2MmI2YzI0NmYwZmNiOGZkMmNmZDQ1NCByZWZzL3RhZ3MvMS41LjAKIAogUGxlYXNlIHNlZSB0aGUgUkVBRE1FIGZpbGUgaW4gdGhpcyBkaXJlY3RvcnkgZm9yIGluZm9ybWF0aW9uIGFib3V0IGhvdwogdG8gcmVwb3J0IGJ1Z3Mgb3IgY29udHJpYnV0ZSB0byBnaXQtbXVsdGltYWlsLgpkaWZmIC0tZ2l0IGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvUkVBRE1FIGIvY29udHJpYi9ob29rcy9tdWx0aW1haWwvUkVBRE1FLnJzdApzaW1pbGFyaXR5IGluZGV4IDk1JQpyZW5hbWUgZnJvbSBjb250cmliL2hvb2tzL211bHRpbWFpbC9SRUFETUUKcmVuYW1lIHRvIGNvbnRyaWIvaG9va3MvbXVsdGltYWlsL1JFQURNRS5yc3QKaW5kZXggNTEwNTM3My4uN2MwZmM0YSAxMDA2NDQKLS0tIGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvUkVBRE1FCisrKyBiL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL1JFQURNRS5yc3QKQEAgLTEsNCArMSw0IEBACi1naXQtbXVsdGltYWlsIHZlcnNpb24gMS40LjAKK2dpdC1tdWx0aW1haWwgdmVyc2lvbiAxLjUuMAogPT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKIC4uIGltYWdlOjogaHR0cHM6Ly90cmF2aXMtY2kub3JnL2dpdC1tdWx0aW1haWwvZ2l0LW11bHRpbWFpbC5zdmc/YnJhbmNoPW1hc3RlcgpAQCAtMjAsOCArMjAsOCBAQAogCiBQbGVhc2Ugbm90ZTogYWx0aG91Z2gsIGFzIGEgY29udmVuaWVuY2UsIGdpdC1tdWx0aW1haWwgbWF5IGJlCiBkaXN0cmlidXRlZCBhbG9uZyB3aXRoIHRoZSBtYWluIEdpdCBwcm9qZWN0LCBkZXZlbG9wbWVudCBvZgotZ2l0LW11bHRpbWFpbCB0YWtlcyBwbGFjZSBpbiBpdHMgb3duLCBzZXBhcmF0ZSBwcm9qZWN0LiAgU2VlIHNlY3Rpb24KLSJHZXR0aW5nIGludm9sdmVkIiBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KK2dpdC1tdWx0aW1haWwgdGFrZXMgcGxhY2UgaW4gaXRzIG93biwgc2VwYXJhdGUgcHJvamVjdC4gIFBsZWFzZSwgcmVhZAorYDxDT05UUklCVVRJTkcucnN0PmBfXyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KIAogCiBCeSBkZWZhdWx0LCBmb3IgZWFjaCBwdXNoIHJlY2VpdmVkIGJ5IHRoZSByZXBvc2l0b3J5LCBnaXQtbXVsdGltYWlsOgpAQCAtODksNiArODksMTAgQEAKICAgdGhlIG11bHRpbWFpbGhvb2subWFpbGVyIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgYmVsb3cgZm9yIGhvdyB0bwogICBjb25maWd1cmUgZ2l0LW11bHRpbWFpbCB0byBzZW5kIGVtYWlscyB2aWEgYW4gU01UUCBzZXJ2ZXIuCiAKKyogZ2l0LW11bHRpbWFpbCBpcyBjdXJyZW50bHkgdGVzdGVkIG9ubHkgb24gTGludXguIEl0IG1heSBvciBtYXkgbm90CisgIHdvcmsgb24gb3RoZXIgcGxhdGZvcm1zIHN1Y2ggYXMgV2luZG93cyBhbmQgTWFjIE9TLiBTZWUKKyAgYDxDT05UUklCVVRJTkcucnN0PmBfXyB0byBpbXByb3ZlIHRoZSBzaXR1YXRpb24uCisKIAogSW52b2NhdGlvbgogLS0tLS0tLS0tLQpAQCAtMzY5LDcgKzM3Myw3IEBACiAgICAgICAgIHVuc2V0LCB0aGVuIHRoZSB2YWx1ZSBvZiBtdWx0aW1haWxob29rLmZyb20gaXMgdXNlZC4KIAogICAgICAgbXVsdGltYWlsaG9vay5zbXRwU2VydmVyVGltZW91dAotICAgICAgICBUaW1lb3V0IGluIHNlY29uZHMuCisgICAgICAgIFRpbWVvdXQgaW4gc2Vjb25kcy4gRGVmYXVsdCBpcyAxMC4KIAogICAgICAgbXVsdGltYWlsaG9vay5zbXRwRW5jcnlwdGlvbgogICAgICAgICBTZXQgdGhlIHNlY3VyaXR5IHR5cGUuIEFsbG93ZWQgdmFsdWVzOiBgYG5vbmVgYCwgYGBzc2xgYCwgYGB0bHNgYCAoc3RhcnR0bHMpLgpAQCAtNDE5LDggKzQyMywyMCBAQAogICAgIElmIGNvbmZpZyB2YWx1ZXMgYXJlIHVuc2V0LCB0aGUgdmFsdWUgb2YgdGhlIEZyb206IGhlYWRlciBpcwogICAgIGRldGVybWluZWQgYXMgZm9sbG93czoKIAotICAgIDEuIChnaXRvbGl0ZSBlbnZpcm9ubWVudCBvbmx5KSBQYXJzZSBnaXRvbGl0ZS5jb25mLCBsb29raW5nIGZvciBhCi0gICAgICAgYmxvY2sgb2YgY29tbWVudHMgdGhhdCBsb29rcyBsaWtlIHRoaXM6OgorICAgIDEuIChnaXRvbGl0ZSBlbnZpcm9ubWVudCBvbmx5KQorICAgICAgIDEuYSkgSWYgYGBtdWx0aW1haWxob29rLk1haWxhZGRyZXNzTWFwYGAgaXMgc2V0LCBhbmQgaXMgYSBwYXRoCisgICAgICAgdG8gYW4gZXhpc3RpbmcgZmlsZSAoaWYgcmVsYXRpdmUsIGl0IGlzIGNvbnNpZGVyZWQgcmVsYXRpdmUgdG8KKyAgICAgICB0aGUgcGxhY2Ugd2hlcmUgYGBnaXRvbGl0ZS5jb25mYGAgaXMgbG9jYXRlZCksIHRoZW4gdGhpcyBmaWxlCisgICAgICAgc2hvdWxkIGNvbnRhaW4gbGluZXMgbGlrZTo6CisKKyAgICAgICAgICAgdXNlcm5hbWUgRmlyc3RuYW1lIExhc3RuYW1lIDxlbWFpbEBleGFtcGxlLmNvbT4KKworICAgICAgIGdpdC1tdWx0aW1haWwgd2lsbCB0aGVuIGxvb2sgZm9yIGEgbGluZSB3aGVyZSBgYCRHTF9VU0VSYGAKKyAgICAgICBtYXRjaGVzIHRoZSBgYHVzZXJuYW1lYGAgcGFydCwgYW5kIHVzZSB0aGUgcmVzdCBvZiB0aGUgbGluZSBmb3IKKyAgICAgICB0aGUgYGBGcm9tOmBgIGhlYWRlci4KKworICAgICAgIDEuYikgUGFyc2UgZ2l0b2xpdGUuY29uZiwgbG9va2luZyBmb3IgYSBibG9jayBvZiBjb21tZW50cyB0aGF0CisgICAgICAgbG9va3MgbGlrZSB0aGlzOjoKIAogICAgICAgICAgICAjIEJFR0lOIFVTRVIgRU1BSUxTCiAgICAgICAgICAgICMgdXNlcm5hbWUgRmlyc3RuYW1lIExhc3RuYW1lIDxlbWFpbEBleGFtcGxlLmNvbT4KQEAgLTQzNiw2ICs0NTIsMTEgQEAKIAogICAgIDMuIFVzZSB0aGUgdmFsdWUgb2YgbXVsdGltYWlsaG9vay5lbnZlbG9wZVNlbmRlci4KIAorbXVsdGltYWlsaG9vay5NYWlsYWRkcmVzc01hcAorICAgIChnaXRvbGl0ZSBlbnZpcm9ubWVudCBvbmx5KQorICAgIEZpbGUgdG8gbG9vayBmb3IgYSBgYEZyb206YGAgYWRkcmVzcyBiYXNlZCBvbiB0aGUgdXNlciBkb2luZyB0aGUKKyAgICBwdXNoLiBEZWZhdWx0cyB0byB1bnNldC4gU2VlIGBgbXVsdGltYWlsaG9vay5mcm9tYGAgZm9yIGRldGFpbHMuCisKIG11bHRpbWFpbGhvb2suYWRtaW5pc3RyYXRvcgogICAgIFRoZSBuYW1lIGFuZC9vciBlbWFpbCBhZGRyZXNzIG9mIHRoZSBhZG1pbmlzdHJhdG9yIG9mIHRoZSBHaXQKICAgICByZXBvc2l0b3J5OyB1c2VkIGluIEZPT1RFUl9URU1QTEFURS4gIERlZmF1bHQgaXMKQEAgLTQ4NCw2ICs1MDUsMTEgQEAKICAgICBtYWlsYm9tYmluZywgZm9yIGV4YW1wbGUgb24gYW4gaW5pdGlhbCBwdXNoLiAgVG8gZGlzYWJsZSBjb21taXQKICAgICBlbWFpbHMgbGltaXQsIHNldCB0aGlzIG9wdGlvbiB0byAwLiAgVGhlIGRlZmF1bHQgaXMgNTAwLgogCittdWx0aW1haWxob29rLmV4Y2x1ZGVNZXJnZVJldmlzaW9ucworICAgIFdoZW4gc2VuZGluZyBvdXQgcmV2aXNpb24gZW1haWxzLCBkbyBub3QgY29uc2lkZXIgbWVyZ2UgY29tbWl0cyAodGhlCisgICAgZnVuY3Rpb25hbCBlcXVpdmFsZW50IG9mIGByZXYtbGlzdCAtLW5vLW1lcmdlc2ApLgorICAgIFRoZSBkZWZhdWx0IGlzIGBmYWxzZWAgKHNlbmQgbWVyZ2UgY29tbWl0IGVtYWlscykuCisKIG11bHRpbWFpbGhvb2suZW1haWxTdHJpY3RVVEY4CiAgICAgSWYgdGhpcyBib29sZWFuIG9wdGlvbiBpcyBzZXQgdG8gYHRydWVgLCB0aGVuIHRoZSBtYWluIHBhcnQgb2YgdGhlCiAgICAgZW1haWwgYm9keSBpcyBmb3JjZWQgdG8gYmUgdmFsaWQgVVRGLTguICBBbnkgY2hhcmFjdGVycyB0aGF0IGFyZQpkaWZmIC0tZ2l0IGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvZG9jL2dpdG9saXRlLnJzdCBiL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL2RvYy9naXRvbGl0ZS5yc3QKaW5kZXggMDBhZWRkOS4uNTA1NDgzMyAxMDA2NDQKLS0tIGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvZG9jL2dpdG9saXRlLnJzdAorKysgYi9jb250cmliL2hvb2tzL211bHRpbWFpbC9kb2MvZ2l0b2xpdGUucnN0CkBAIC00Niw2ICs0NiwxNSBAQAogICAgICAgY29uZmlnIG11bHRpbWFpbGhvb2subWFpbGluZ0xpc3QgPSAjIFdoZXJlIGVtYWlscyBzaG91bGQgYmUgc2VudAogICAgICAgY29uZmlnIG11bHRpbWFpbGhvb2suZnJvbSA9ICMgRnJvbSBhZGRyZXNzIHRvIHVzZQogCitOb3RlIHRoYXQgYnkgZGVmYXVsdCwgZ2l0b2xpdGUgZm9yYmlkcyBgYDxgYCBhbmQgYGA+YGAgaW4gdmFyaWFibGUKK3ZhbHVlcyAoZm9yIHNlY3VyaXR5L3BhcmFub2lhIHJlYXNvbnMsIHNlZQorYGNvbXBlbnNhdGluZyBmb3IgVU5TQUZFX1BBVFQKKzxodHRwOi8vZ2l0b2xpdGUuY29tL2dpdG9saXRlL2dpdC1jb25maWcvaW5kZXguaHRtbCNjb21wZW5zYXRpbmctZm9yLXVuc2FmZTk1cGF0dD5gX18KK2luIGdpdG9saXRlJ3MgZG9jdW1lbnRhdGlvbiBmb3IgZXhwbGFuYXRpb25zIGFuZCBhIHdheSB0byBkaXNhYmxlCit0aGlzKS4gQXMgYSBjb25zZXF1ZW5jZSwgeW91IHdpbGwgbm90IGJlIGFibGUgdG8gdXNlIGBgRmlyc3QgTGFzdAorPEZpcnN0Lkxhc3RAZXhhbXBsZS5jb20+YGAgYXMgcmVjaXBpZW50IGVtYWlsLCBidXQgc3BlY2lmeWluZworYGBGaXJzdC5MYXN0QGV4YW1wbGUuY29tYGAgYWxvbmUgd29ya3MuCisKIE9idmlvdXNseSwgeW91IGNhbiBjdXN0b21pemUgYWxsIHBhcmFtZXRlcnMgb24gYSBwZXItcmVwb3NpdG9yeSBiYXNpcyBieQogYWRkaW5nIHRoZXNlIGBgY29uZmlnIG11bHRpbWFpbGhvb2suKmBgIGxpbmVzIGluIHRoZSBzZWN0aW9uCiBjb3JyZXNwb25kaW5nIHRvIGEgcmVwb3NpdG9yeSBvciBzZXQgb2YgcmVwb3NpdG9yaWVzLgpkaWZmIC0tZ2l0IGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvZ2l0X211bHRpbWFpbC5weSBiL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL2dpdF9tdWx0aW1haWwucHkKaW5kZXggNzNmZGRhNi4uZjU2M2JlOCAxMDA3NTUKLS0tIGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvZ2l0X211bHRpbWFpbC5weQorKysgYi9jb250cmliL2hvb2tzL211bHRpbWFpbC9naXRfbXVsdGltYWlsLnB5CkBAIC0xLDYgKzEsNiBAQAogIyEgL3Vzci9iaW4vZW52IHB5dGhvbgogCi1fX3ZlcnNpb25fXyA9ICcxLjQuMCcKK19fdmVyc2lvbl9fID0gJzEuNS4wJwogCiAjIENvcHlyaWdodCAoYykgMjAxNS0yMDE2IE1hdHRoaWV1IE1veSBhbmQgb3RoZXJzCiAjIENvcHlyaWdodCAoYykgMjAxMi0yMDE0IE1pY2hhZWwgSGFnZ2VydHkgYW5kIG90aGVycwpAQCAtNjQsNyArNjQsOSBAQAogICAgICMgUHl0aG9uIDwgMi42IGRvIG5vdCBoYXZlIHNzbCwgYnV0IHRoYXQncyBPSyBpZiB3ZSBkb24ndCB1c2UgaXQuCiAgICAgcGFzcwogaW1wb3J0IHRpbWUKLWltcG9ydCBjZ2kKKworaW1wb3J0IHV1aWQKK2ltcG9ydCBiYXNlNjQKIAogUFlUSE9OMyA9IHN5cy52ZXJzaW9uX2luZm8gPj0gKDMsIDApCiAKQEAgLTczLDcgKzc1LDcgQEAKICAgICAgICAgZm9yIGVsZW1lbnQgaW4gaXRlcmFibGU6CiAgICAgICAgICAgICBpZiBub3QgZWxlbWVudDoKICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIHJldHVybiBUcnVlCiAKIAogZGVmIGlzX2FzY2lpKHMpOgpAQCAtOTMsNyArOTUsNyBAQAogICAgIHVuaWNvZGUgPSBzdHIKIAogICAgIGRlZiB3cml0ZV9zdHIoZiwgbXNnKToKLSAgICAgICAgIyBUcnkgb3V0cHV0aW5nIHdpdGggdGhlIGRlZmF1bHQgZW5jb2RpbmcuIElmIGl0IGZhaWxzLAorICAgICAgICAjIFRyeSBvdXRwdXR0aW5nIHdpdGggdGhlIGRlZmF1bHQgZW5jb2RpbmcuIElmIGl0IGZhaWxzLAogICAgICAgICAjIHRyeSBVVEYtOC4KICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZi5idWZmZXIud3JpdGUobXNnLmVuY29kZShzeXMuZ2V0ZGVmYXVsdGVuY29kaW5nKCkpKQpAQCAtMTA4LDYgKzExMCwxMiBAQAogICAgICAgICAgICAgcmV0dXJuIG91dC5kZWNvZGUoc3lzLmdldGRlZmF1bHRlbmNvZGluZygpKQogICAgICAgICBleGNlcHQgVW5pY29kZUVuY29kZUVycm9yOgogICAgICAgICAgICAgcmV0dXJuIG91dC5kZWNvZGUoRU5DT0RJTkcpCisKKyAgICBpbXBvcnQgaHRtbAorCisgICAgZGVmIGh0bWxfZXNjYXBlKHMpOgorICAgICAgICByZXR1cm4gaHRtbC5lc2NhcGUocykKKwogZWxzZToKICAgICBkZWYgaXNfc3RyaW5nKHMpOgogICAgICAgICB0cnk6CkBAIC0xMzAsNiArMTM4LDEwIEBACiAgICAgZGVmIG5leHQoaXQpOgogICAgICAgICByZXR1cm4gaXQubmV4dCgpCiAKKyAgICBpbXBvcnQgY2dpCisKKyAgICBkZWYgaHRtbF9lc2NhcGUocyk6CisgICAgICAgIHJldHVybiBjZ2kuZXNjYXBlKHMsIFRydWUpCiAKIHRyeToKICAgICBmcm9tIGVtYWlsLmNoYXJzZXQgaW1wb3J0IENoYXJzZXQKQEAgLTE5MCw2ICsyMDIsNyBAQAogTWVzc2FnZS1JRDogJShtc2dpZClzCiBGcm9tOiAlKGZyb21hZGRyKXMKIFJlcGx5LVRvOiAlKHJlcGx5X3RvKXMKK1RocmVhZC1JbmRleDogJSh0aHJlYWRfaW5kZXgpcwogWC1HaXQtSG9zdDogJShmcWRuKXMKIFgtR2l0LVJlcG86ICUocmVwb19zaG9ydG5hbWUpcwogWC1HaXQtUmVmbmFtZTogJShyZWZuYW1lKXMKQEAgLTMyMiw2ICszMzUsNyBAQAogUmVwbHktVG86ICUocmVwbHlfdG8pcwogSW4tUmVwbHktVG86ICUocmVwbHlfdG9fbXNnaWQpcwogUmVmZXJlbmNlczogJShyZXBseV90b19tc2dpZClzCitUaHJlYWQtSW5kZXg6ICUodGhyZWFkX2luZGV4KXMKIFgtR2l0LUhvc3Q6ICUoZnFkbilzCiBYLUdpdC1SZXBvOiAlKHJlcG9fc2hvcnRuYW1lKXMKIFgtR2l0LVJlZm5hbWU6ICUocmVmbmFtZSlzCkBAIC03NjMsNiArNzc3LDkgQEAKICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgcmV0dXJuIGlzaW5zdGFuY2Uob3RoZXIsIEdpdE9iamVjdCkgYW5kIHNlbGYuc2hhMSA9PSBvdGhlci5zaGExCiAKKyAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgcmV0dXJuIG5vdCBzZWxmID09IG90aGVyCisKICAgICBkZWYgX19oYXNoX18oc2VsZik6CiAgICAgICAgIHJldHVybiBoYXNoKHNlbGYuc2hhMSkKIApAQCAtODUyLDcgKzg2OSw3IEBACiAgICAgICAgIGlmIGh0bWxfZXNjYXBlX3ZhbDoKICAgICAgICAgICAgIGZvciBrIGluIHZhbHVlczoKICAgICAgICAgICAgICAgICBpZiBpc19zdHJpbmcodmFsdWVzW2tdKToKLSAgICAgICAgICAgICAgICAgICAgdmFsdWVzW2tdID0gY2dpLmVzY2FwZSh2YWx1ZXNba10sIFRydWUpCisgICAgICAgICAgICAgICAgICAgIHZhbHVlc1trXSA9IGh0bWxfZXNjYXBlKHZhbHVlc1trXSkKICAgICAgICAgZm9yIGxpbmUgaW4gdGVtcGxhdGUuc3BsaXRsaW5lcyhUcnVlKToKICAgICAgICAgICAgIHlpZWxkIGxpbmUgJSB2YWx1ZXMKIApAQCAtOTA5LDcgKzkyNiw3IEBACiAKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigpCiAKLSAgICBkZWYgZ2VuZXJhdGVfZW1haWxfYm9keShzZWxmKToKKyAgICBkZWYgZ2VuZXJhdGVfZW1haWxfYm9keShzZWxmLCBwdXNoKToKICAgICAgICAgIiIiR2VuZXJhdGUgdGhlIG1haW4gcGFydCBvZiB0aGUgZW1haWwgYm9keSwgYSBsaW5lIGF0IGEgdGltZS4KIAogICAgICAgICBUaGUgdGV4dCBpbiB0aGUgYm9keSBtaWdodCBiZSB0cnVuY2F0ZWQgYWZ0ZXIgYSBzcGVjaWZpZWQKQEAgLTkzNiw3ICs5NTMsNyBAQAogICAgICAgICAgICAgeWllbGQgIjxwcmUgc3R5bGU9J21hcmdpbjowJz5cbiIKIAogICAgICAgICAgICAgZm9yIGxpbmUgaW4gbGluZXM6Ci0gICAgICAgICAgICAgICAgeWllbGQgY2dpLmVzY2FwZShsaW5lKQorICAgICAgICAgICAgICAgIHlpZWxkIGh0bWxfZXNjYXBlKGxpbmUpCiAKICAgICAgICAgICAgIHlpZWxkICc8L3ByZT5cbicKICAgICAgICAgZWxzZToKQEAgLTEwMTEsNyArMTAyOCw3IEBACiAgICAgICAgICAgICAgICAgICAgIGZnY29sb3IgPSAnNDA0MDQwJwogCiAgICAgICAgICAgICAgICAgIyBDaG9wIHRoZSB0cmFpbGluZyBMRiwgd2UgZG9uJ3Qgd2FudCBpdCBpbnNpZGUgPHByZT4uCi0gICAgICAgICAgICAgICAgbGluZSA9IGNnaS5lc2NhcGUobGluZVs6LTFdKQorICAgICAgICAgICAgICAgIGxpbmUgPSBodG1sX2VzY2FwZShsaW5lWzotMV0pCiAKICAgICAgICAgICAgICAgICBpZiBiZ2NvbG9yIG9yIGZnY29sb3I6CiAgICAgICAgICAgICAgICAgICAgIHN0eWxlID0gJ2Rpc3BsYXk6YmxvY2s7IHdoaXRlLXNwYWNlOnByZTsnCkBAIC0xMDYwLDYgKzEwNzcsMTAgQEAKICAgICAgICAgc2VsZi5hdXRob3IgPSByZWFkX2dpdF9vdXRwdXQoWydsb2cnLCAnLS1uby13YWxrJywgJy0tZm9ybWF0PSVhTiA8JWFFPicsIHNlbGYucmV2LnNoYTFdKQogICAgICAgICBzZWxmLnJlY2lwaWVudHMgPSBzZWxmLmVudmlyb25tZW50LmdldF9yZXZpc2lvbl9yZWNpcGllbnRzKHNlbGYpCiAKKyAgICAgICAgIyAtcyBpcyBzaG9ydCBmb3IgLS1uby1wYXRjaCwgYnV0IC1zIHdvcmtzIG9uIG9sZGVyIGdpdCdzIChlLmcuIDEuNykKKyAgICAgICAgc2VsZi5wYXJlbnRzID0gcmVhZF9naXRfbGluZXMoWydzaG93JywgJy1zJywgJy0tZm9ybWF0PSVQJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5yZXYuc2hhMV0pWzBdLnNwbGl0KCkKKwogICAgICAgICBzZWxmLmNjX3JlY2lwaWVudHMgPSAnJwogICAgICAgICBpZiBzZWxmLmVudmlyb25tZW50LmdldF9zY2FuY29tbWl0Zm9yY2MoKToKICAgICAgICAgICAgIHNlbGYuY2NfcmVjaXBpZW50cyA9ICcsICcuam9pbih0by5zdHJpcCgpIGZvciB0byBpbiBzZWxmLl9jY19yZWNpcGllbnRzKCkpCkBAIC0xMDkwLDYgKzExMTEsNyBAQAogICAgICAgICAgICAgb25lbGluZSA9IG9uZWxpbmVbOm1heF9zdWJqZWN0X2xlbmd0aCAtIDZdICsgJyBbLi4uXScKIAogICAgICAgICB2YWx1ZXNbJ3JldiddID0gc2VsZi5yZXYuc2hhMQorICAgICAgICB2YWx1ZXNbJ3BhcmVudHMnXSA9ICcgJy5qb2luKHNlbGYucGFyZW50cykKICAgICAgICAgdmFsdWVzWydyZXZfc2hvcnQnXSA9IHNlbGYucmV2LnNob3J0CiAgICAgICAgIHZhbHVlc1snY2hhbmdlX3R5cGUnXSA9IHNlbGYuY2hhbmdlX3R5cGUKICAgICAgICAgdmFsdWVzWydyZWZuYW1lJ10gPSBzZWxmLnJlZm5hbWUKQEAgLTEwOTcsNiArMTExOSw3IEBACiAgICAgICAgIHZhbHVlc1snc2hvcnRfcmVmbmFtZSddID0gc2VsZi5yZWZlcmVuY2VfY2hhbmdlLnNob3J0X3JlZm5hbWUKICAgICAgICAgdmFsdWVzWydyZWZuYW1lX3R5cGUnXSA9IHNlbGYucmVmZXJlbmNlX2NoYW5nZS5yZWZuYW1lX3R5cGUKICAgICAgICAgdmFsdWVzWydyZXBseV90b19tc2dpZCddID0gc2VsZi5yZWZlcmVuY2VfY2hhbmdlLm1zZ2lkCisgICAgICAgIHZhbHVlc1sndGhyZWFkX2luZGV4J10gPSBzZWxmLnJlZmVyZW5jZV9jaGFuZ2UudGhyZWFkX2luZGV4CiAgICAgICAgIHZhbHVlc1snbnVtJ10gPSBzZWxmLm51bQogICAgICAgICB2YWx1ZXNbJ3RvdCddID0gc2VsZi50b3QKICAgICAgICAgdmFsdWVzWydyZWNpcGllbnRzJ10gPSBzZWxmLnJlY2lwaWVudHMKQEAgLTEyNDQsNiArMTI2NywyMyBAQAogICAgICAgICAgICAgb2xkPW9sZCwgbmV3PW5ldywgcmV2PXJldiwKICAgICAgICAgICAgICkKIAorICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgbWFrZV90aHJlYWRfaW5kZXgoKToKKyAgICAgICAgIiIiUmV0dXJuIGEgc3RyaW5nIGFwcHJvcHJpYXRlIGZvciB0aGUgVGhyZWFkLUluZGV4IGhlYWRlciwKKyAgICAgICAgbmVlZGVkIGJ5IE1TIE91dGxvb2sgdG8gZ2V0IHRocmVhZGluZyByaWdodC4KKworICAgICAgICBUaGUgZm9ybWF0IGlzIChiYXNlNjQtZW5jb2RlZCk6CisgICAgICAgIC0gMSBieXRlIG11c3QgYmUgMQorICAgICAgICAtIDUgYnl0ZXMgZW5jb2RlIGEgZGF0ZSAoaGFyZGNvZGVkIGhlcmUpCisgICAgICAgIC0gMTYgYnl0ZXMgZm9yIGEgZ2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIKKworICAgICAgICBGSVhNRTogVW5mb3J0dW5hdGVseSwgZXZlbiB3aXRoIHRoZSBUaHJlYWQtSW5kZXggZmllbGQsIE1TCisgICAgICAgIE91dGxvb2sgZG9lc24ndCBzZWVtIHRvIGRvIHRoZSB0aHJlYWRpbmcgcmVsaWFibHkgKHNlZQorICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vZ2l0LW11bHRpbWFpbC9naXQtbXVsdGltYWlsL3B1bGwvMTk0KS4KKyAgICAgICAgIiIiCisgICAgICAgIHRocmVhZF9pbmRleCA9IGInXHgwMVx4MDBceDAwXHgxMlx4MzRceDU2JyArIHV1aWQudXVpZDQoKS5ieXRlcworICAgICAgICByZXR1cm4gYmFzZTY0LnN0YW5kYXJkX2I2NGVuY29kZSh0aHJlYWRfaW5kZXgpLmRlY29kZSgnYXNjaWknKQorCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGVudmlyb25tZW50LCByZWZuYW1lLCBzaG9ydF9yZWZuYW1lLCBvbGQsIG5ldywgcmV2KToKICAgICAgICAgQ2hhbmdlLl9faW5pdF9fKHNlbGYsIGVudmlyb25tZW50KQogICAgICAgICBzZWxmLmNoYW5nZV90eXBlID0gewpAQCAtMTI1Nyw2ICsxMjk3LDcgQEAKICAgICAgICAgc2VsZi5uZXcgPSBuZXcKICAgICAgICAgc2VsZi5yZXYgPSByZXYKICAgICAgICAgc2VsZi5tc2dpZCA9IG1ha2VfbXNnaWQoKQorICAgICAgICBzZWxmLnRocmVhZF9pbmRleCA9IHNlbGYubWFrZV90aHJlYWRfaW5kZXgoKQogICAgICAgICBzZWxmLmRpZmZvcHRzID0gZW52aXJvbm1lbnQuZGlmZm9wdHMKICAgICAgICAgc2VsZi5ncmFwaG9wdHMgPSBlbnZpcm9ubWVudC5ncmFwaG9wdHMKICAgICAgICAgc2VsZi5sb2dvcHRzID0gZW52aXJvbm1lbnQubG9nb3B0cwpAQCAtMTI3Niw2ICsxMzE3LDcgQEAKICAgICAgICAgdmFsdWVzWydyZWZuYW1lJ10gPSBzZWxmLnJlZm5hbWUKICAgICAgICAgdmFsdWVzWydzaG9ydF9yZWZuYW1lJ10gPSBzZWxmLnNob3J0X3JlZm5hbWUKICAgICAgICAgdmFsdWVzWydtc2dpZCddID0gc2VsZi5tc2dpZAorICAgICAgICB2YWx1ZXNbJ3RocmVhZF9pbmRleCddID0gc2VsZi50aHJlYWRfaW5kZXgKICAgICAgICAgdmFsdWVzWydyZWNpcGllbnRzJ10gPSBzZWxmLnJlY2lwaWVudHMKICAgICAgICAgdmFsdWVzWydvbGRyZXYnXSA9IHN0cihzZWxmLm9sZCkKICAgICAgICAgdmFsdWVzWydvbGRyZXZfc2hvcnQnXSA9IHNlbGYub2xkLnNob3J0CkBAIC0xOTQxLDYgKzE5ODMsOSBAQAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBlbnZpcm9ubWVudCk6CiAgICAgICAgIHNlbGYuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudAogCisgICAgZGVmIGNsb3NlKHNlbGYpOgorICAgICAgICBwYXNzCisKICAgICBkZWYgc2VuZChzZWxmLCBsaW5lcywgdG9fYWRkcnMpOgogICAgICAgICAiIiJTZW5kIGFuIGVtYWlsIGNvbnNpc3Rpbmcgb2YgbGluZXMuCiAKQEAgLTIwNTQsNiArMjA5OSw3IEBACiAgICAgICAgIHNlbGYudXNlcm5hbWUgPSBzbXRwdXNlcgogICAgICAgICBzZWxmLnBhc3N3b3JkID0gc210cHBhc3MKICAgICAgICAgc2VsZi5zbXRwY2FjZXJ0cyA9IHNtdHBjYWNlcnRzCisgICAgICAgIHNlbGYubG9nZ2VkaW4gPSBGYWxzZQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBkZWYgY2FsbChrbGFzcywgc2VydmVyLCB0aW1lb3V0KToKICAgICAgICAgICAgICAgICB0cnk6CkBAIC0yMDgzLDcgKzIxMjksNyBAQAogICAgICAgICAgICAgICAgICMgZXF1aXZhbGVudCB0bwogICAgICAgICAgICAgICAgICMgICAgIHNlbGYuc210cC5laGxvKCkKICAgICAgICAgICAgICAgICAjICAgICBzZWxmLnNtdHAuc3RhcnR0bHMoKQotICAgICAgICAgICAgICAgICMgd2l0aCBhY2NlcyB0byB0aGUgc3NsIGxheWVyCisgICAgICAgICAgICAgICAgIyB3aXRoIGFjY2VzcyB0byB0aGUgc3NsIGxheWVyCiAgICAgICAgICAgICAgICAgc2VsZi5zbXRwLmVobG8oKQogICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLnNtdHAuaGFzX2V4dG4oInN0YXJ0dGxzIik6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNtdHBsaWIuU01UUEV4Y2VwdGlvbigiU1RBUlRUTFMgZXh0ZW5zaW9uIG5vdCBzdXBwb3J0ZWQgYnkgc2VydmVyIikKQEAgLTIxMDIsNyArMjE0OCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0X3JlcXM9c3NsLkNFUlRfTk9ORQogICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICBzZWxmLmVudmlyb25tZW50LmdldF9sb2dnZXIoKS5lcnJvcigKLSAgICAgICAgICAgICAgICAgICAgICAgICcqKiogV2FybmluZywgdGhlIHNlcnZlciBjZXJ0aWZpY2F0IGlzIG5vdCB2ZXJpZmllZCAoc210cCkgKioqXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAnKioqIFdhcm5pbmcsIHRoZSBzZXJ2ZXIgY2VydGlmaWNhdGUgaXMgbm90IHZlcmlmaWVkIChzbXRwKSAqKipcbicKICAgICAgICAgICAgICAgICAgICAgICAgICcqKiogICAgICAgICAgc2V0IHRoZSBvcHRpb24gc210cENBQ2VydHMgICAgICAgICAgICAgICAgICAgKioqXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgaWYgbm90IGhhc2F0dHIoc2VsZi5zbXRwLnNvY2ssICJyZWFkIik6CkBAIC0yMTMwLDIwICsyMTc2LDMwIEBACiAgICAgICAgICAgICAgICAgJSAoc2VsZi5zbXRwc2VydmVyLCBzeXMuZXhjX2luZm8oKVsxXSkpCiAgICAgICAgICAgICBzeXMuZXhpdCgxKQogCi0gICAgZGVmIF9fZGVsX18oc2VsZik6CisgICAgZGVmIGNsb3NlKHNlbGYpOgogICAgICAgICBpZiBoYXNhdHRyKHNlbGYsICdzbXRwJyk6CiAgICAgICAgICAgICBzZWxmLnNtdHAucXVpdCgpCiAgICAgICAgICAgICBkZWwgc2VsZi5zbXRwCiAKKyAgICBkZWYgX19kZWxfXyhzZWxmKToKKyAgICAgICAgc2VsZi5jbG9zZSgpCisKICAgICBkZWYgc2VuZChzZWxmLCBsaW5lcywgdG9fYWRkcnMpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBpZiBzZWxmLnVzZXJuYW1lIG9yIHNlbGYucGFzc3dvcmQ6Ci0gICAgICAgICAgICAgICAgc2VsZi5zbXRwLmxvZ2luKHNlbGYudXNlcm5hbWUsIHNlbGYucGFzc3dvcmQpCisgICAgICAgICAgICAgICAgaWYgbm90IHNlbGYubG9nZ2VkaW46CisgICAgICAgICAgICAgICAgICAgIHNlbGYuc210cC5sb2dpbihzZWxmLnVzZXJuYW1lLCBzZWxmLnBhc3N3b3JkKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlZGluID0gVHJ1ZQogICAgICAgICAgICAgbXNnID0gJycuam9pbihsaW5lcykKICAgICAgICAgICAgICMgdHVybiBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnRvIFB5dGhvbiBsaXN0IGlmIG5lZWRlZC4KICAgICAgICAgICAgIGlmIGlzX3N0cmluZyh0b19hZGRycyk6CiAgICAgICAgICAgICAgICAgdG9fYWRkcnMgPSBbZW1haWwgZm9yIChuYW1lLCBlbWFpbCkgaW4gZ2V0YWRkcmVzc2VzKFt0b19hZGRyc10pXQogICAgICAgICAgICAgc2VsZi5zbXRwLnNlbmRtYWlsKHNlbGYuZW52ZWxvcGVzZW5kZXIsIHRvX2FkZHJzLCBtc2cpCisgICAgICAgIGV4Y2VwdCBzb2NrZXQudGltZW91dDoKKyAgICAgICAgICAgIHNlbGYuZW52aXJvbm1lbnQuZ2V0X2xvZ2dlcigpLmVycm9yKAorICAgICAgICAgICAgICAgICcqKiogRXJyb3Igc2VuZGluZyBlbWFpbCAqKipcbicKKyAgICAgICAgICAgICAgICAnKioqIFNNVFAgc2VydmVyIHRpbWVkIG91dCAodGltZW91dCBpcyAlcylcbicKKyAgICAgICAgICAgICAgICAlIHNlbGYuc210cHNlcnZlcnRpbWVvdXQpCiAgICAgICAgIGV4Y2VwdCBzbXRwbGliLlNNVFBSZXNwb25zZUV4Y2VwdGlvbjoKICAgICAgICAgICAgIGVyciA9IHN5cy5leGNfaW5mbygpWzFdCiAgICAgICAgICAgICBzZWxmLmVudmlyb25tZW50LmdldF9sb2dnZXIoKS5lcnJvcigKQEAgLTIxNzEsNyArMjIyNyw4IEBACiAKICAgICBTRVBBUkFUT1IgPSAnPScgKiA3NSArICdcbicKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZiwgZW52aXJvbm1lbnQ9Tm9uZSk6CisgICAgICAgIHN1cGVyKE91dHB1dE1haWxlciwgc2VsZikuX19pbml0X18oZW52aXJvbm1lbnQ9ZW52aXJvbm1lbnQpCiAgICAgICAgIHNlbGYuZiA9IGYKIAogICAgIGRlZiBzZW5kKHNlbGYsIGxpbmVzLCB0b19hZGRycyk6CkBAIC0yMzgyLDYgKzI0MzksNyBAQAogICAgICAgICBzZWxmLmh0bWxfaW5fZm9vdGVyID0gRmFsc2UKICAgICAgICAgc2VsZi5jb21taXRCcm93c2VVUkwgPSBOb25lCiAgICAgICAgIHNlbGYubWF4Y29tbWl0ZW1haWxzID0gNTAwCisgICAgICAgIHNlbGYuZXhjbHVkZW1lcmdlcmV2aXNpb25zID0gRmFsc2UKICAgICAgICAgc2VsZi5kaWZmb3B0cyA9IFsnLS1zdGF0JywgJy0tc3VtbWFyeScsICctLWZpbmQtY29waWVzLWhhcmRlciddCiAgICAgICAgIHNlbGYuZ3JhcGhvcHRzID0gWyctLW9uZWxpbmUnLCAnLS1kZWNvcmF0ZSddCiAgICAgICAgIHNlbGYubG9nb3B0cyA9IFtdCkBAIC0yNjIxLDYgKzI2NzksOCBAQAogCiAgICAgICAgIHNlbGYuY29tbWl0QnJvd3NlVVJMID0gY29uZmlnLmdldCgnY29tbWl0QnJvd3NlVVJMJykKIAorICAgICAgICBzZWxmLmV4Y2x1ZGVtZXJnZXJldmlzaW9ucyA9IGNvbmZpZy5nZXQoJ2V4Y2x1ZGVNZXJnZVJldmlzaW9ucycpCisKICAgICAgICAgbWF4Y29tbWl0ZW1haWxzID0gY29uZmlnLmdldCgnbWF4Y29tbWl0ZW1haWxzJykKICAgICAgICAgaWYgbWF4Y29tbWl0ZW1haWxzIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgdHJ5OgpAQCAtMzEyOSw3ICszMTg5LDcgQEAKICAgICAgICAgc2VsZi5DT01QVVRFRF9LRVlTICs9IFsncHJvamVjdGRlc2MnXQogCiAgICAgZGVmIGdldF9wcm9qZWN0ZGVzYyhzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIGEgb25lLWxpbmUgZGVzY3JpcGl0aW9uIG9mIHRoZSBwcm9qZWN0LiIiIgorICAgICAgICAiIiJSZXR1cm4gYSBvbmUtbGluZSBkZXNjcmlwdGlvbiBvZiB0aGUgcHJvamVjdC4iIiIKIAogICAgICAgICBnaXRfZGlyID0gZ2V0X2dpdF9kaXIoKQogICAgICAgICB0cnk6CkBAIC0zMTUyLDcgKzMyMTIsMTAgQEAKICAgICAgICAgcmV0dXJuIHNlbGYub3NlbnYuZ2V0KCdHTF9VU0VSJywgJ3Vua25vd24gdXNlcicpCiAKIAotY2xhc3MgR2l0b2xpdGVFbnZpcm9ubWVudExvd1ByZWNNaXhpbihFbnZpcm9ubWVudCk6CitjbGFzcyBHaXRvbGl0ZUVudmlyb25tZW50TG93UHJlY01peGluKAorICAgICAgICBDb25maWdFbnZpcm9ubWVudE1peGluLAorICAgICAgICBFbnZpcm9ubWVudCk6CisKICAgICBkZWYgZ2V0X3JlcG9fc2hvcnRuYW1lKHNlbGYpOgogICAgICAgICAjIFRoZSBnaXRvbGl0ZSBlbnZpcm9ubWVudCB2YXJpYWJsZSAkR0xfUkVQTyBpcyBhIHByZXR0eSBnb29kCiAgICAgICAgICMgcmVwb19zaG9ydG5hbWUgKHRob3VnaCBpdCdzIHByb2JhYmx5IG5vdCBhcyBnb29kIGFzIGEgdmFsdWUKQEAgLTMxNjIsNiArMzIyNSwxNiBAQAogICAgICAgICAgICAgc3VwZXIoR2l0b2xpdGVFbnZpcm9ubWVudExvd1ByZWNNaXhpbiwgc2VsZikuZ2V0X3JlcG9fc2hvcnRuYW1lKCkKICAgICAgICAgICAgICkKIAorICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgX2NvbXBpbGVfcmVnZXgocmVfdGVtcGxhdGUpOgorICAgICAgICByZXR1cm4gKAorICAgICAgICAgICAgcmUuY29tcGlsZShyZV90ZW1wbGF0ZSAlIHgpCisgICAgICAgICAgICBmb3IgeCBpbiAoCisgICAgICAgICAgICAgICAgcidCRUdJTlxzK1VTRVJccytFTUFJTFMnLAorICAgICAgICAgICAgICAgIHInKFteXHNdKylccysoLiopJywKKyAgICAgICAgICAgICAgICByJ0VORFxzK1VTRVJccytFTUFJTFMnLAorICAgICAgICAgICAgICAgICkpCisKICAgICBkZWYgZ2V0X2Zyb21hZGRyKHNlbGYsIGNoYW5nZT1Ob25lKToKICAgICAgICAgR0xfVVNFUiA9IHNlbGYub3NlbnYuZ2V0KCdHTF9VU0VSJykKICAgICAgICAgaWYgR0xfVVNFUiBpcyBub3QgTm9uZToKQEAgLTMxNzQsMTggKzMyNDcsNDIgQEAKICAgICAgICAgICAgIEdMX0NPTkYgPSBzZWxmLm9zZW52LmdldCgKICAgICAgICAgICAgICAgICAnR0xfQ09ORicsCiAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKEdMX0FETUlORElSLCAnY29uZicsICdnaXRvbGl0ZS5jb25mJykpCisKKyAgICAgICAgICAgIG1haWxhZGRyZXNzX21hcCA9IHNlbGYuY29uZmlnLmdldCgnTWFpbGFkZHJlc3NNYXAnKQorICAgICAgICAgICAgIyBJZiByZWxhdGl2ZSwgY29uc2lkZXIgcmVsYXRpdmUgdG8gR0xfQ09ORjoKKyAgICAgICAgICAgIGlmIG1haWxhZGRyZXNzX21hcDoKKyAgICAgICAgICAgICAgICBtYWlsYWRkcmVzc19tYXAgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKEdMX0NPTkYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWlsYWRkcmVzc19tYXApCisgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUobWFpbGFkZHJlc3NfbWFwKToKKyAgICAgICAgICAgICAgICAgICAgZiA9IG9wZW4obWFpbGFkZHJlc3NfbWFwLCAnclUnKQorICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICAjIExlYWRpbmcgJyMnIGlzIG9wdGlvbmFsCisgICAgICAgICAgICAgICAgICAgICAgICByZV9iZWdpbiwgcmVfdXNlciwgcmVfZW5kID0gc2VsZi5fY29tcGlsZV9yZWdleCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByJ14oPzpccyojKT9ccyolc1xzKiQnKQorICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGwgaW4gZjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsID0gbC5yc3RyaXAoJ1xuJykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiByZV9iZWdpbi5tYXRjaChsKSBvciByZV9lbmQubWF0Y2gobCk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlICAjIElnbm9yZSB0aGVzZSBsaW5lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0gPSByZV91c2VyLm1hdGNoKGwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbS5ncm91cCgxKSA9PSBHTF9VU0VSOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG0uZ3JvdXAoMikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlICAjIE5vdCB0aGlzIHVzZXIsIGJ1dCBub3QgYW4gZXJyb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBDb25maWd1cmF0aW9uRXhjZXB0aW9uKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3ludGF4IGVycm9yIGluIG1haWwgYWRkcmVzcyBtYXAuXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDaGVjayBmaWxlIHt9LlxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTGluZToge30iLmZvcm1hdChtYWlsYWRkcmVzc19tYXAsIGwpKQorCisgICAgICAgICAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgICAgICAgICBmLmNsb3NlKCkKKwogICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoR0xfQ09ORik6CiAgICAgICAgICAgICAgICAgZiA9IG9wZW4oR0xfQ09ORiwgJ3JVJykKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIGluX3VzZXJfZW1haWxzX3NlY3Rpb24gPSBGYWxzZQotICAgICAgICAgICAgICAgICAgICByZV90ZW1wbGF0ZSA9IHInXlxzKiNccyolc1xzKiQnCi0gICAgICAgICAgICAgICAgICAgIHJlX2JlZ2luLCByZV91c2VyLCByZV9lbmQgPSAoCi0gICAgICAgICAgICAgICAgICAgICAgICByZS5jb21waWxlKHJlX3RlbXBsYXRlICUgeCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciB4IGluICgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByJ0JFR0lOXHMrVVNFUlxzK0VNQUlMUycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmUuZXNjYXBlKEdMX1VTRVIpICsgcidccysoLiopJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByJ0VORFxzK1VTRVJccytFTUFJTFMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpCisgICAgICAgICAgICAgICAgICAgIHJlX2JlZ2luLCByZV91c2VyLCByZV9lbmQgPSBzZWxmLl9jb21waWxlX3JlZ2V4KAorICAgICAgICAgICAgICAgICAgICAgICAgcideXHMqI1xzKiVzXHMqJCcpCiAgICAgICAgICAgICAgICAgICAgIGZvciBsIGluIGY6CiAgICAgICAgICAgICAgICAgICAgICAgICBsID0gbC5yc3RyaXAoJ1xuJykKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBpbl91c2VyX2VtYWlsc19zZWN0aW9uOgpAQCAtMzE5NSw4ICszMjkyLDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHJlX2VuZC5tYXRjaChsKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgICAgICAgICAgbSA9IHJlX3VzZXIubWF0Y2gobCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIG06Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG0uZ3JvdXAoMSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIG0gYW5kIG0uZ3JvdXAoMSkgPT0gR0xfVVNFUjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbS5ncm91cCgyKQogICAgICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgICAgIGYuY2xvc2UoKQogICAgICAgICByZXR1cm4gc3VwZXIoR2l0b2xpdGVFbnZpcm9ubWVudExvd1ByZWNNaXhpbiwgc2VsZikuZ2V0X2Zyb21hZGRyKGNoYW5nZSkKQEAgLTMyMjgsNyArMzMyNSw3IEBACiAgICAgICAgIHNlbGYuX19yZXBvID0gcmVwbwogCiAgICAgZGVmIGdldF9wdXNoZXIoc2VsZik6Ci0gICAgICAgIHJldHVybiByZS5tYXRjaCgnKC4qPylccyo8Jywgc2VsZi5fX3VzZXIpLmdyb3VwKDEpCisgICAgICAgIHJldHVybiByZS5tYXRjaChyJyguKj8pXHMqPCcsIHNlbGYuX191c2VyKS5ncm91cCgxKQogCiAgICAgZGVmIGdldF9wdXNoZXJfZW1haWwoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9fdXNlcgpAQCAtMzI2Miw3ICszMzU5LDcgQEAKICAgICAgICAgICAgIGlmIHNlbGYuX19zdWJtaXR0ZXIuZmluZCgnPCcpICE9IC0xOgogICAgICAgICAgICAgICAgICMgU3VibWl0dGVyIGhhcyBhIGNvbmZpZ3VyZWQgZW1haWwsIHdlIHRyYW5zZm9ybWVkCiAgICAgICAgICAgICAgICAgIyBfX3N1Ym1pdHRlciBpbnRvIGFuIFJGQyAyODIyIHN0cmluZyBhbHJlYWR5LgotICAgICAgICAgICAgICAgIHJldHVybiByZS5tYXRjaCgnKC4qPylccyo8Jywgc2VsZi5fX3N1Ym1pdHRlcikuZ3JvdXAoMSkKKyAgICAgICAgICAgICAgICByZXR1cm4gcmUubWF0Y2gocicoLio/KVxzKjwnLCBzZWxmLl9fc3VibWl0dGVyKS5ncm91cCgxKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAjIFN1Ym1pdHRlciBoYXMgbm8gY29uZmlndXJlZCBlbWFpbCwgaXQncyBqdXN0IGhpcyBuYW1lLgogICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9fc3VibWl0dGVyCkBAIC0zNjE1LDYgKzM3MTIsOSBAQAogCiAgICAgICAgICAgICBmb3IgKG51bSwgc2hhMSkgaW4gZW51bWVyYXRlKHNoYTFzKToKICAgICAgICAgICAgICAgICByZXYgPSBSZXZpc2lvbihjaGFuZ2UsIEdpdE9iamVjdChzaGExKSwgbnVtPW51bSArIDEsIHRvdD1sZW4oc2hhMXMpKQorICAgICAgICAgICAgICAgIGlmIGxlbihyZXYucGFyZW50cykgPiAxIGFuZCBjaGFuZ2UuZW52aXJvbm1lbnQuZXhjbHVkZW1lcmdlcmV2aXNpb25zOgorICAgICAgICAgICAgICAgICAgICAjIHNraXBwaW5nIGEgbWVyZ2UgY29tbWl0CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgaWYgbm90IHJldi5yZWNpcGllbnRzIGFuZCByZXYuY2NfcmVjaXBpZW50czoKICAgICAgICAgICAgICAgICAgICAgY2hhbmdlLmVudmlyb25tZW50LmxvZ19tc2coJyoqKiBSZXBsYWNpbmcgQ2M6IHdpdGggVG86JykKICAgICAgICAgICAgICAgICAgICAgcmV2LnJlY2lwaWVudHMgPSByZXYuY2NfcmVjaXBpZW50cwpAQCAtMzY2NCwxMSArMzc2NCwxNCBAQAogICAgICAgICBjaGFuZ2VzLmFwcGVuZCgKICAgICAgICAgICAgIFJlZmVyZW5jZUNoYW5nZS5jcmVhdGUoZW52aXJvbm1lbnQsIG9sZHJldiwgbmV3cmV2LCByZWZuYW1lKQogICAgICAgICAgICAgKQotICAgIGlmIGNoYW5nZXM6Ci0gICAgICAgIHB1c2ggPSBQdXNoKGVudmlyb25tZW50LCBjaGFuZ2VzKQorICAgIGlmIG5vdCBjaGFuZ2VzOgorICAgICAgICBtYWlsZXIuY2xvc2UoKQorICAgICAgICByZXR1cm4KKyAgICBwdXNoID0gUHVzaChlbnZpcm9ubWVudCwgY2hhbmdlcykKKyAgICB0cnk6CiAgICAgICAgIHB1c2guc2VuZF9lbWFpbHMobWFpbGVyLCBib2R5X2ZpbHRlcj1lbnZpcm9ubWVudC5maWx0ZXJfYm9keSkKLSAgICBpZiBoYXNhdHRyKG1haWxlciwgJ19fZGVsX18nKToKLSAgICAgICAgbWFpbGVyLl9fZGVsX18oKQorICAgIGZpbmFsbHk6CisgICAgICAgIG1haWxlci5jbG9zZSgpCiAKIAogZGVmIHJ1bl9hc191cGRhdGVfaG9vayhlbnZpcm9ubWVudCwgbWFpbGVyLCByZWZuYW1lLCBvbGRyZXYsIG5ld3JldiwgZm9yY2Vfc2VuZD1GYWxzZSk6CkBAIC0zNjg3LDEwICszNzkwLDE0IEBACiAgICAgICAgICAgICByZWZuYW1lLAogICAgICAgICAgICAgKSwKICAgICAgICAgXQorICAgIGlmIG5vdCBjaGFuZ2VzOgorICAgICAgICBtYWlsZXIuY2xvc2UoKQorICAgICAgICByZXR1cm4KICAgICBwdXNoID0gUHVzaChlbnZpcm9ubWVudCwgY2hhbmdlcywgZm9yY2Vfc2VuZCkKLSAgICBwdXNoLnNlbmRfZW1haWxzKG1haWxlciwgYm9keV9maWx0ZXI9ZW52aXJvbm1lbnQuZmlsdGVyX2JvZHkpCi0gICAgaWYgaGFzYXR0cihtYWlsZXIsICdfX2RlbF9fJyk6Ci0gICAgICAgIG1haWxlci5fX2RlbF9fKCkKKyAgICB0cnk6CisgICAgICAgIHB1c2guc2VuZF9lbWFpbHMobWFpbGVyLCBib2R5X2ZpbHRlcj1lbnZpcm9ubWVudC5maWx0ZXJfYm9keSkKKyAgICBmaW5hbGx5OgorICAgICAgICBtYWlsZXIuY2xvc2UoKQogCiAKIGRlZiBjaGVja19yZWZfZmlsdGVyKGVudmlyb25tZW50KToKQEAgLTM4NjAsNyArMzk2Nyw3IEBACiAgICAgICAgIGxvd19wcmVjX21peGluID0ga25vd25fZW52Wydsb3dwcmVjJ10KICAgICAgICAgZW52aXJvbm1lbnRfbWl4aW5zLmFwcGVuZChsb3dfcHJlY19taXhpbikKICAgICBlbnZpcm9ubWVudF9taXhpbnMuYXBwZW5kKEVudmlyb25tZW50KQotICAgIGtsYXNzX25hbWUgPSBlbnZfbmFtZS5jYXBpdGFsaXplKCkgKyAnRW52aXJvbmVtZW50JworICAgIGtsYXNzX25hbWUgPSBlbnZfbmFtZS5jYXBpdGFsaXplKCkgKyAnRW52aXJvbm1lbnQnCiAgICAgZW52aXJvbm1lbnRfa2xhc3MgPSB0eXBlKAogICAgICAgICBrbGFzc19uYW1lLAogICAgICAgICB0dXBsZShlbnZpcm9ubWVudF9taXhpbnMpLApAQCAtNDA1NywyMSArNDE2NCwyMSBAQAogICAgICAgICAgICAgICAgIGVudmlyb25tZW50LCAnZ2l0X211bHRpbWFpbC5lcnJvcicsIGVudmlyb25tZW50LmVycm9yX2xvZ19maWxlLCBsb2dnaW5nLkVSUk9SKQogICAgICAgICAgICAgc2VsZi5sb2dnZXJzLmFwcGVuZChlcnJvcl9sb2dfZmlsZSkKIAotICAgIGRlZiBpbmZvKHNlbGYsIG1zZyk6CisgICAgZGVmIGluZm8oc2VsZiwgbXNnLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAgICBmb3IgbCBpbiBzZWxmLmxvZ2dlcnM6Ci0gICAgICAgICAgICBsLmluZm8obXNnKQorICAgICAgICAgICAgbC5pbmZvKG1zZywgKmFyZ3MsICoqa3dhcmdzKQogCi0gICAgZGVmIGRlYnVnKHNlbGYsIG1zZyk6CisgICAgZGVmIGRlYnVnKHNlbGYsIG1zZywgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgZm9yIGwgaW4gc2VsZi5sb2dnZXJzOgotICAgICAgICAgICAgbC5kZWJ1Zyhtc2cpCisgICAgICAgICAgICBsLmRlYnVnKG1zZywgKmFyZ3MsICoqa3dhcmdzKQogCi0gICAgZGVmIHdhcm5pbmcoc2VsZiwgbXNnKToKKyAgICBkZWYgd2FybmluZyhzZWxmLCBtc2csICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgIGZvciBsIGluIHNlbGYubG9nZ2VyczoKLSAgICAgICAgICAgIGwud2FybmluZyhtc2cpCisgICAgICAgICAgICBsLndhcm5pbmcobXNnLCAqYXJncywgKiprd2FyZ3MpCiAKLSAgICBkZWYgZXJyb3Ioc2VsZiwgbXNnKToKKyAgICBkZWYgZXJyb3Ioc2VsZiwgbXNnLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAgICBmb3IgbCBpbiBzZWxmLmxvZ2dlcnM6Ci0gICAgICAgICAgICBsLmVycm9yKG1zZykKKyAgICAgICAgICAgIGwuZXJyb3IobXNnLCAqYXJncywgKiprd2FyZ3MpCiAKIAogZGVmIG1haW4oYXJncyk6CkBAIC00MTg5LDcgKzQyOTYsNyBAQAogICAgICAgICAgICAgc2hvd19lbnYoZW52aXJvbm1lbnQsIHN5cy5zdGRlcnIpCiAKICAgICAgICAgaWYgb3B0aW9ucy5zdGRvdXQgb3IgZW52aXJvbm1lbnQuc3Rkb3V0OgotICAgICAgICAgICAgbWFpbGVyID0gT3V0cHV0TWFpbGVyKHN5cy5zdGRvdXQpCisgICAgICAgICAgICBtYWlsZXIgPSBPdXRwdXRNYWlsZXIoc3lzLnN0ZG91dCwgZW52aXJvbm1lbnQpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBtYWlsZXIgPSBjaG9vc2VfbWFpbGVyKGNvbmZpZywgZW52aXJvbm1lbnQpCiAKQEAgLTQyMzQsNSArNDM0MSw2IEBACiAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKG1zZykKICAgICAgICAgc3lzLmV4aXQoMSkKIAorCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIG1haW4oc3lzLmFyZ3ZbMTpdKQpkaWZmIC0tZ2l0IGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvbWlncmF0ZS1tYWlsaG9vay1jb25maWcgYi9jb250cmliL2hvb2tzL211bHRpbWFpbC9taWdyYXRlLW1haWxob29rLWNvbmZpZwppbmRleCA5OTI2NTdiLi4yNDFiYTIyIDEwMDc1NQotLS0gYS9jb250cmliL2hvb2tzL211bHRpbWFpbC9taWdyYXRlLW1haWxob29rLWNvbmZpZworKysgYi9jb250cmliL2hvb2tzL211bHRpbWFpbC9taWdyYXRlLW1haWxob29rLWNvbmZpZwpAQCAtMTEwLDExICsxMTAsMTIgQEAKIAogICAgIHRyeToKICAgICAgICAgcmVhZF9vdXRwdXQoCi0gICAgICAgICAgICBbJ2dpdCcsICdjb25maWcnXQotICAgICAgICAgICAgKyBsb2NhbF9vcHRpb24KLSAgICAgICAgICAgICsgWyctLWdldC1yZWdleHAnLCAnXiVzXC4nICUgKHNlY3Rpb24sKV0KKyAgICAgICAgICAgIFsnZ2l0JywgJ2NvbmZpZyddICsKKyAgICAgICAgICAgIGxvY2FsX29wdGlvbiArCisgICAgICAgICAgICBbJy0tZ2V0LXJlZ2V4cCcsICdeJXNcLicgJSAoc2VjdGlvbiwpXQogICAgICAgICAgICAgKQotICAgIGV4Y2VwdCBDb21tYW5kRXJyb3IsIGU6CisgICAgZXhjZXB0IENvbW1hbmRFcnJvcjoKKyAgICAgICAgdCwgZSwgdHJhY2ViYWNrID0gc3lzLmV4Y19pbmZvKCkKICAgICAgICAgaWYgZS5yZXRjb2RlID09IDE6CiAgICAgICAgICAgICAjIFRoaXMgbWVhbnMgdGhhdCBubyBzZXR0aW5ncyB3ZXJlIGZvdW5kLgogICAgICAgICAgICAgcmV0dXJuIFRydWUKQEAgLTE4OCw3ICsxODksOSBAQAogICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgKICAgICAgICAgICAgICAgICAnLi4uY29weWluZyAiJXMuJXMiIHRvICIlcy4lcyJcbicgJSAob2xkLnNlY3Rpb24sIG5hbWUsIG5ldy5zZWN0aW9uLCBuYW1lKQogICAgICAgICAgICAgICAgICkKLSAgICAgICAgICAgIG5ldy5zZXRfcmVjaXBpZW50cyhuYW1lLCBvbGQuZ2V0X3JlY2lwaWVudHMobmFtZSkpCisgICAgICAgICAgICBvbGRfcmVjaXBpZW50cyA9IG9sZC5nZXRfYWxsKG5hbWUsIGRlZmF1bHQ9Tm9uZSkKKyAgICAgICAgICAgIG9sZF9yZWNpcGllbnRzID0gJywgJy5qb2luKG8uc3RyaXAoKSBmb3IgbyBpbiBvbGRfcmVjaXBpZW50cykKKyAgICAgICAgICAgIG5ldy5zZXRfcmVjaXBpZW50cyhuYW1lLCBvbGRfcmVjaXBpZW50cykKIAogICAgIGlmIHN0cmljdDoKICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgKZGlmZiAtLWdpdCBhL2NvbnRyaWIvaG9va3MvbXVsdGltYWlsL3Bvc3QtcmVjZWl2ZS5leGFtcGxlIGIvY29udHJpYi9ob29rcy9tdWx0aW1haWwvcG9zdC1yZWNlaXZlLmV4YW1wbGUKaW5kZXggMWVhMTEzZC4uMGY5OGM1YSAxMDA3NTUKLS0tIGEvY29udHJpYi9ob29rcy9tdWx0aW1haWwvcG9zdC1yZWNlaXZlLmV4YW1wbGUKKysrIGIvY29udHJpYi9ob29rcy9tdWx0aW1haWwvcG9zdC1yZWNlaXZlLmV4YW1wbGUKQEAgLTMwLDcgKzMwLDYgQEAKICIiIgogCiBpbXBvcnQgc3lzCi1pbXBvcnQgb3MKIAogIyBJZiBuZWNlc3NhcnksIGFkZCB0aGUgcGF0aCB0byB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcKICMgZ2l0X211bHRpbWFpbC5weSB0byB0aGUgUHl0aG9uIHBhdGggYXMgZm9sbG93cy4gIChUaGlzIGlzIG5vdApAQCAtNTcsNyArNTYsNyBAQAogCiAjIFNldCBzb21lIEdpdCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcy4gRXF1aXZhbGVudCB0byBwYXNzaW5nIHZhcj12YWwKICMgdG8gImdpdCAtYyB2YXI9dmFsIiBlYWNoIHRpbWUgZ2l0IGlzIGNhbGxlZCwgb3IgdG8gYWRkaW5nIHRoZQotIyBjb25maWd1cmF0aW9uIGluIC5naXQvY29uZmlnIChtdXN0IGNvbWUgYmVmb3JlIGluc3RhbmNpYXRpbmcgdGhlCisjIGNvbmZpZ3VyYXRpb24gaW4gLmdpdC9jb25maWcgKG11c3QgY29tZSBiZWZvcmUgaW5zdGFudGlhdGluZyB0aGUKICMgZW52aXJvbm1lbnQpIDoKICNnaXRfbXVsdGltYWlsLkNvbmZpZy5hZGRfY29uZmlnX3BhcmFtZXRlcnMoJ211bHRpbWFpbGhvb2suY29tbWl0RW1haWxGb3JtYXQ9aHRtbCcpCiAjZ2l0X211bHRpbWFpbC5Db25maWcuYWRkX2NvbmZpZ19wYXJhbWV0ZXJzKCgndXNlci5uYW1lPWZvbycsICd1c2VyLmVtYWlsPWZvb0BleGFtcGxlLmNvbScpKQpAQCAtODYsNiArODUsNyBAQAogCiAjIFVzZSBQeXRob24ncyBzbXRwbGliIHRvIHNlbmQgZW1haWxzLiAgQm90aCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkLgogI21haWxlciA9IGdpdF9tdWx0aW1haWwuU01UUE1haWxlcigKKyMgICAgZW52aXJvbm1lbnQ9ZW52aXJvbm1lbnQsCiAjICAgIGVudmVsb3Blc2VuZGVyPSdnaXQtcmVwb0BleGFtcGxlLmNvbScsCiAjICAgICMgVGhlIHNtdHBzZXJ2ZXIgYXJndW1lbnQgY2FuIGFsc28gaW5jbHVkZSBhIHBvcnQgbnVtYmVyOyBlLmcuLAogIyAgICAjICAgICBzbXRwc2VydmVyPSdtYWlsLmV4YW1wbGUuY29tOjI1JwpkaWZmIC0tZ2l0IGEvY29udHJpYi9ob29rcy9wb3N0LXJlY2VpdmUtZW1haWwgYi9jb250cmliL2hvb2tzL3Bvc3QtcmVjZWl2ZS1lbWFpbAppbmRleCA4NzQ3Yjg0Li5mZjU2NWViIDEwMDc1NQotLS0gYS9jb250cmliL2hvb2tzL3Bvc3QtcmVjZWl2ZS1lbWFpbAorKysgYi9jb250cmliL2hvb2tzL3Bvc3QtcmVjZWl2ZS1lbWFpbApAQCAtMzI5LDcgKzMyOSw3IEBACiAJIwogCSMgIGdpdCByZXYtcGFyc2UgLS1ub3QgLS1hbGwgfCBncmVwIC12ICQoZ2l0IHJldi1wYXJzZSAkcmVmbmFtZSkKIAkjCi0JIyBHZXQncyB1cyB0byBzb21ldGhpbmcgcHJldHR5IHNhZmUgKGFwYXJ0IGZyb20gdGhlIHNtYWxsIHRpbWUKKwkjIEdldHMgdXMgdG8gc29tZXRoaW5nIHByZXR0eSBzYWZlIChhcGFydCBmcm9tIHRoZSBzbWFsbCB0aW1lCiAJIyBiZXR3ZWVuIHJlZm5hbWUgYmVpbmcgcmVhZCwgYW5kIGdpdCByZXYtcGFyc2UgcnVubmluZyAtIGZvciB0aGF0LAogCSMgSSBnaXZlIHVwKQogCSMKZGlmZiAtLWdpdCBhL2NvbnRyaWIvaG9va3MvdXBkYXRlLXBhcmFub2lkIGIvY29udHJpYi9ob29rcy91cGRhdGUtcGFyYW5vaWQKaW5kZXggZDE4YjMxNy4uMDA5MmQ2NyAxMDA3NTUKLS0tIGEvY29udHJpYi9ob29rcy91cGRhdGUtcGFyYW5vaWQKKysrIGIvY29udHJpYi9ob29rcy91cGRhdGUtcGFyYW5vaWQKQEAgLTQ5LDcgKzQ5LDcgQEAKIFJlcG9zaXRvcnkgc2VjdGlvbnMgYXJlIG1hdGNoZWQgb24gdGhlIGJhc2VuYW1lIG9mIHRoZSByZXBvc2l0b3J5CiAoYWZ0ZXIgcmVtb3ZpbmcgdGhlIC5naXQgc3VmZml4KS4KIAotVGhlIG9wY29kZSBhYmJyZXZhdGlvbnMgYXJlOgorVGhlIG9wY29kZSBhYmJyZXZpYXRpb25zIGFyZToKIAogICBDOiBjcmVhdGUgbmV3IHJlZgogICBEOiBkZWxldGUgZXhpc3RpbmcgcmVmCmRpZmYgLS1naXQgYS9jb250cmliL213LXRvLWdpdC8ucGVybGNyaXRpY3JjIGIvY29udHJpYi9tdy10by1naXQvLnBlcmxjcml0aWNyYwppbmRleCAxNTg5NThkLi5iNzMzMzI2IDEwMDY0NAotLS0gYS9jb250cmliL213LXRvLWdpdC8ucGVybGNyaXRpY3JjCisrKyBiL2NvbnRyaWIvbXctdG8tZ2l0Ly5wZXJsY3JpdGljcmMKQEAgLTE0LDcgKzE0LDcgQEAKIAogIyBUaGlzIHJ1bGUgc3RhdGVzIHRoYXQgZWFjaCBzeXN0ZW0gY2FsbCBzaG91bGQgaGF2ZSBpdHMgcmV0dXJuIHZhbHVlIGNoZWNrZWQKICMgVGhlIHByb2JsZW0gaXMgdGhhdCBpdCBpbmNsdWRlcyB0aGUgcHJpbnQgY2FsbC4gQ2hlY2tpbmcgZXZlcnkgcHJpbnQgY2FsbCdzCi0jIHJldHVybiB2YWx1ZSB3b3VsZCBiZSBoYXJtZnVsIHRvIHRoZSBjb2RlIHJlYWRhYmlsdHkuCisjIHJldHVybiB2YWx1ZSB3b3VsZCBiZSBoYXJtZnVsIHRvIHRoZSBjb2RlIHJlYWRhYmlsaXR5LgogIyBUaGlzIGNvbmZpZ3VyYXRpb24ga2VlcHMgYWxsIGRlZmF1bHQgZnVuY3Rpb24gYnV0IHByaW50LgogW0lucHV0T3V0cHV0OjpSZXF1aXJlQ2hlY2tlZFN5c2NhbGxzXQogZnVuY3Rpb25zID0gb3BlbiBzYXkgY2xvc2UKZGlmZiAtLWdpdCBhL2NvbnRyaWIvbXctdG8tZ2l0L2dpdC1yZW1vdGUtbWVkaWF3aWtpLnBlcmwgYi9jb250cmliL213LXRvLWdpdC9naXQtcmVtb3RlLW1lZGlhd2lraS5wZXJsCmluZGV4IGFmOWNiYzkuLmQ4ZmYyZTYgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvbXctdG8tZ2l0L2dpdC1yZW1vdGUtbWVkaWF3aWtpLnBlcmwKKysrIGIvY29udHJpYi9tdy10by1naXQvZ2l0LXJlbW90ZS1tZWRpYXdpa2kucGVybApAQCAtNzksNyArNzksNyBAQAogJGV4cG9ydF9tZWRpYSA9ICEoJGV4cG9ydF9tZWRpYSBlcSAnZmFsc2UnKTsKIAogbXkgJHdpa2lfbG9naW4gPSBydW5fZ2l0KCJjb25maWcgLS1nZXQgcmVtb3RlLiR7cmVtb3RlbmFtZX0ubXdMb2dpbiIpOwotIyBOb3RlOiBtd1Bhc3N3b3JkIGlzIGRpc2NvdXJyYWdlZC4gVXNlIHRoZSBjcmVkZW50aWFsIHN5c3RlbSBpbnN0ZWFkLgorIyBOb3RlOiBtd1Bhc3N3b3JkIGlzIGRpc2NvdXJhZ2VkLiBVc2UgdGhlIGNyZWRlbnRpYWwgc3lzdGVtIGluc3RlYWQuCiBteSAkd2lraV9wYXNzd2QgPSBydW5fZ2l0KCJjb25maWcgLS1nZXQgcmVtb3RlLiR7cmVtb3RlbmFtZX0ubXdQYXNzd29yZCIpOwogbXkgJHdpa2lfZG9tYWluID0gcnVuX2dpdCgiY29uZmlnIC0tZ2V0IHJlbW90ZS4ke3JlbW90ZW5hbWV9Lm13RG9tYWluIik7CiBjaG9tcCgkd2lraV9sb2dpbik7CmRpZmYgLS1naXQgYS9jb250cmliL213LXRvLWdpdC90L2luc3RhbGwtd2lraS9kYl9pbnN0YWxsLnBocCBiL2NvbnRyaWIvbXctdG8tZ2l0L3QvaW5zdGFsbC13aWtpL2RiX2luc3RhbGwucGhwCmluZGV4IDBmM2Y0ZTAuLmIwMzM4NDkgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvbXctdG8tZ2l0L3QvaW5zdGFsbC13aWtpL2RiX2luc3RhbGwucGhwCisrKyBiL2NvbnRyaWIvbXctdG8tZ2l0L3QvaW5zdGFsbC13aWtpL2RiX2luc3RhbGwucGhwCkBAIC0yNCw3ICsyNCw3IEBACiAkZGJfZGlyID0gdXJsZW5jb2RlKCR0bXApOwogJHRtcF9jb29raWUgPSB0ZW1wbmFtKCR0bXAsICJDT09LSUVfIik7CiAvKgotICogRmV0Y2hzIGEgcGFnZSB3aXRoIGNVUkwuCisgKiBGZXRjaGVzIGEgcGFnZSB3aXRoIGNVUkwuCiAgKi8KIGZ1bmN0aW9uIGdldCgkcGFnZV9uYW1lID0gIiIpIHsKIAkkY3VybCA9IGN1cmxfaW5pdCgpOwpkaWZmIC0tZ2l0IGEvY29udHJpYi9tdy10by1naXQvdC90OTM2MC1tdy10by1naXQtY2xvbmUuc2ggYi9jb250cmliL213LXRvLWdpdC90L3Q5MzYwLW13LXRvLWdpdC1jbG9uZS5zaAppbmRleCBjZmJmZTdkLi45MTA2ODMzIDEwMDc1NQotLS0gYS9jb250cmliL213LXRvLWdpdC90L3Q5MzYwLW13LXRvLWdpdC1jbG9uZS5zaAorKysgYi9jb250cmliL213LXRvLWdpdC90L3Q5MzYwLW13LXRvLWdpdC1jbG9uZS5zaApAQCAtMTQzLDcgKzE0Myw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdHaXQgY2xvbmUgd29ya3Mgd2l0aCBtdWx0aXBsZSBzcGVjaWZpYyBwYWdlIGNsb25lZCAnICcKIAl3aWtpX3Jlc2V0ICYmCiAJd2lraV9lZGl0cGFnZSBmb28gIkkgd2lsbCBiZSB0aGVyZSIgZmFsc2UgJiYKLQl3aWtpX2VkaXRwYWdlIGJhciAiSSB3aWxsIG5vdCBkaXNhcGVhciIgZmFsc2UgJiYKKwl3aWtpX2VkaXRwYWdlIGJhciAiSSB3aWxsIG5vdCBkaXNhcHBlYXIiIGZhbHNlICYmCiAJd2lraV9lZGl0cGFnZSBuYW1uYW0gIkkgYmUgZXJhc2VkIiBmYWxzZSAmJgogCXdpa2lfZWRpdHBhZ2UgbnlhbmNhdCAibnlhbiBueWFuIG55YW4geW91IHdpbGwgbm90IGVyYXNlIG1lIiBmYWxzZSAmJgogCXdpa2lfZGVsZXRlX3BhZ2UgbmFtbmFtICYmCmRpZmYgLS1naXQgYS9jb250cmliL213LXRvLWdpdC90L3Rlc3QtZ2l0bXctbGliLnNoIGIvY29udHJpYi9tdy10by1naXQvdC90ZXN0LWdpdG13LWxpYi5zaAppbmRleCA2NTQ2Mjk0Li4zOTQ4YTAwIDEwMDc1NQotLS0gYS9jb250cmliL213LXRvLWdpdC90L3Rlc3QtZ2l0bXctbGliLnNoCisrKyBiL2NvbnRyaWIvbXctdG8tZ2l0L3QvdGVzdC1naXRtdy1saWIuc2gKQEAgLTI3OSw3ICsyNzksNyBAQAogCSIkTElHSFRUUERfRElSIi9saWdodHRwZCAtZiAiJFdFQiIvbGlnaHR0cGQuY29uZgogCiAJaWYgdGVzdCAkPyAtbmUgMCA7IHRoZW4KLQkJZWNobyAiQ291bGQgbm90IGV4ZWN1dGUgaHR0cCBkZWFtb24gbGlnaHR0cGQiCisJCWVjaG8gIkNvdWxkIG5vdCBleGVjdXRlIGh0dHAgZGFlbW9uIGxpZ2h0dHBkIgogCQlleGl0IDEKIAlmaQogfQpkaWZmIC0tZ2l0IGEvY29udHJpYi9zdWJ0cmVlL2dpdC1zdWJ0cmVlLnNoIGIvY29udHJpYi9zdWJ0cmVlL2dpdC1zdWJ0cmVlLnNoCmluZGV4IDE0NzIwMWQuLjg2OGUxOGIgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvc3VidHJlZS9naXQtc3VidHJlZS5zaAorKysgYi9jb250cmliL3N1YnRyZWUvZ2l0LXN1YnRyZWUuc2gKQEAgLTE0LDcgKzE0LDcgQEAKIGdpdCBzdWJ0cmVlIG1lcmdlIC0tcHJlZml4PTxwcmVmaXg+IDxjb21taXQ+CiBnaXQgc3VidHJlZSBwdWxsICAtLXByZWZpeD08cHJlZml4PiA8cmVwb3NpdG9yeT4gPHJlZj4KIGdpdCBzdWJ0cmVlIHB1c2ggIC0tcHJlZml4PTxwcmVmaXg+IDxyZXBvc2l0b3J5PiA8cmVmPgotZ2l0IHN1YnRyZWUgc3BsaXQgLS1wcmVmaXg9PHByZWZpeD4gPGNvbW1pdC4uLj4KK2dpdCBzdWJ0cmVlIHNwbGl0IC0tcHJlZml4PTxwcmVmaXg+IDxjb21taXQ+CiAtLQogaCxoZWxwICAgICAgICBzaG93IHRoZSBoZWxwCiBxICAgICAgICAgICAgIHF1aWV0CkBAIC03Nyw2ICs3NywxMiBAQAogCWZpCiB9CiAKK2Vuc3VyZV9zaW5nbGVfcmV2ICgpIHsKKwlpZiB0ZXN0ICQjIC1uZSAxCisJdGhlbgorCQlkaWUgIllvdSBtdXN0IHByb3ZpZGUgZXhhY3RseSBvbmUgcmV2aXNpb24uICBHb3Q6ICckQCciCisJZmkKK30KIAogd2hpbGUgdGVzdCAkIyAtZ3QgMAogZG8KQEAgLTE4NSw2ICsxOTEsNyBAQAogdGhlbgogCXJldnM9JChnaXQgcmV2LXBhcnNlICRkZWZhdWx0IC0tcmV2cy1vbmx5ICIkQCIpIHx8IGV4aXQgJD8KIAlkaXJzPSQoZ2l0IHJldi1wYXJzZSAtLW5vLXJldnMgLS1uby1mbGFncyAiJEAiKSB8fCBleGl0ICQ/CisJZW5zdXJlX3NpbmdsZV9yZXYgJHJldnMKIAlpZiB0ZXN0IC1uICIkZGlycyIKIAl0aGVuCiAJCWRpZSAiRXJyb3I6IFVzZSAtLXByZWZpeCBpbnN0ZWFkIG9mIGJhcmUgZmlsZW5hbWVzLiIKQEAgLTcxNiw5ICs3MjMsOCBAQAogfQogCiBjbWRfYWRkX2NvbW1pdCAoKSB7Ci0JcmV2cz0kKGdpdCByZXYtcGFyc2UgJGRlZmF1bHQgLS1yZXZzLW9ubHkgIiRAIikgfHwgZXhpdCAkPwotCXNldCAtLSAkcmV2cwotCXJldj0iJDEiCisJcmV2PSQoZ2l0IHJldi1wYXJzZSAkZGVmYXVsdCAtLXJldnMtb25seSAiJEAiKSB8fCBleGl0ICQ/CisJZW5zdXJlX3NpbmdsZV9yZXYgJHJldgogCiAJZGVidWcgIkFkZGluZyAkZGlyIGFzICckcmV2Jy4uLiIKIAlnaXQgcmVhZC10cmVlIC0tcHJlZml4PSIkZGlyIiAkcmV2IHx8IGV4aXQgJD8KQEAgLTgxNywxNiArODIzLDEwIEBACiB9CiAKIGNtZF9tZXJnZSAoKSB7Ci0JcmV2cz0kKGdpdCByZXYtcGFyc2UgJGRlZmF1bHQgLS1yZXZzLW9ubHkgIiRAIikgfHwgZXhpdCAkPworCXJldj0kKGdpdCByZXYtcGFyc2UgJGRlZmF1bHQgLS1yZXZzLW9ubHkgIiRAIikgfHwgZXhpdCAkPworCWVuc3VyZV9zaW5nbGVfcmV2ICRyZXYKIAllbnN1cmVfY2xlYW4KIAotCXNldCAtLSAkcmV2cwotCWlmIHRlc3QgJCMgLW5lIDEKLQl0aGVuCi0JCWRpZSAiWW91IG11c3QgcHJvdmlkZSBleGFjdGx5IG9uZSByZXZpc2lvbi4gIEdvdDogJyRyZXZzJyIKLQlmaQotCXJldj0iJDEiCi0KIAlpZiB0ZXN0IC1uICIkc3F1YXNoIgogCXRoZW4KIAkJZmlyc3Rfc3BsaXQ9IiQoZmluZF9sYXRlc3Rfc3F1YXNoICIkZGlyIikiCmRpZmYgLS1naXQgYS9jb250cmliL3N2bi1mZS9zdm4tZmUudHh0IGIvY29udHJpYi9zdm4tZmUvc3ZuLWZlLnR4dAppbmRleCBhMzQyNWY0Li4xOTMzM2ZjIDEwMDY0NAotLS0gYS9jb250cmliL3N2bi1mZS9zdm4tZmUudHh0CisrKyBiL2NvbnRyaWIvc3ZuLWZlL3N2bi1mZS50eHQKQEAgLTU2LDcgKzU2LDcgQEAKIAogVGhlIHJlc3VsdGluZyByZXBvc2l0b3J5IHdpbGwgZ2VuZXJhbGx5IHJlcXVpcmUgZnVydGhlciBwcm9jZXNzaW5nCiB0byBwdXQgZWFjaCBwcm9qZWN0IGluIGl0cyBvd24gcmVwb3NpdG9yeSBhbmQgdG8gc2VwYXJhdGUgdGhlIGhpc3RvcnkKLW9mIGVhY2ggYnJhbmNoLiAgVGhlICdnaXQgZmlsdGVyLWJyYW5jaCAtLXN1YmRpcmVjdG9yeS1maWx0ZXInIGNvbW1hbmQKK29mIGVhY2ggYnJhbmNoLiAgVGhlICdnaXQgZmlsdGVyLXJlcG8gLS1zdWJkaXJlY3RvcnktZmlsdGVyJyBjb21tYW5kCiBtYXkgYmUgdXNlZnVsIGZvciB0aGlzIHB1cnBvc2UuCiAKIEJVR1MKQEAgLTY3LDUgKzY3LDUgQEAKIAogU0VFIEFMU08KIC0tLS0tLS0tCi1naXQtc3ZuKDEpLCBzdm4yZ2l0KDEpLCBzdmsoMSksIGdpdC1maWx0ZXItYnJhbmNoKDEpLCBnaXQtZmFzdC1pbXBvcnQoMSksCitnaXQtc3ZuKDEpLCBzdm4yZ2l0KDEpLCBzdmsoMSksIGdpdC1maWx0ZXItcmVwbygxKSwgZ2l0LWZhc3QtaW1wb3J0KDEpLAogaHR0cHM6Ly9zdm4uYXBhY2hlLm9yZy9yZXBvcy9hc2Yvc3VidmVyc2lvbi90cnVuay9ub3Rlcy9kdW1wLWxvYWQtZm9ybWF0LnR4dApkaWZmIC0tZ2l0IGEvY29udHJpYi9zdm4tZmUvc3ZucmR1bXBfc2ltLnB5IGIvY29udHJpYi9zdm4tZmUvc3ZucmR1bXBfc2ltLnB5CmluZGV4IDExYWM2ZjYuLjhhM2NlZTYgMTAwNzU1Ci0tLSBhL2NvbnRyaWIvc3ZuLWZlL3N2bnJkdW1wX3NpbS5weQorKysgYi9jb250cmliL3N2bi1mZS9zdm5yZHVtcF9zaW0ucHkKQEAgLTEsNCArMSw0IEBACi0jIS91c3IvYmluL3B5dGhvbgorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCiAiIiIKIFNpbXVsYXRlcyBzdm5yZHVtcCBieSByZXBsYXlpbmcgYW4gZXhpc3RpbmcgZHVtcCBmcm9tIGEgZmlsZSwgdGFraW5nIGNhcmUKIG9mIHRoZSBzcGVjaWZpZWQgcmV2aXNpb24gcmFuZ2UuCkBAIC01NCw3ICs1NCw3IEBACiAgICAgICAgIHByaW50KCJ1c2FnZTogJXMgZHVtcCBVUkwgLXJMT1dFUjpVUFBFUiIpCiAgICAgICAgIHN5cy5leGl0KDEpCiAgICAgaWYgbm90IHN5cy5hcmd2WzFdID09ICdkdW1wJzoKLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignb25seSAiZHVtcCIgaXMgc3VwcHBvcnRlZC4nKQorICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCdvbmx5ICJkdW1wIiBpcyBzdXBwb3J0ZWQuJykKICAgICB1cmwgPSBzeXMuYXJndlsyXQogICAgIHIgPSAoJzAnLCAnSEVBRCcpCiAgICAgaWYgbGVuKHN5cy5hcmd2KSA9PSA0IGFuZCBzeXMuYXJndlszXVswOjJdID09ICctcic6CmRpZmYgLS1naXQgYS9jb252ZXJ0LmMgYi9jb252ZXJ0LmMKaW5kZXggZTA4NDgyMi4uNWVhZDNjZSAxMDA2NDQKLS0tIGEvY29udmVydC5jCisrKyBiL2NvbnZlcnQuYwpAQCAtMSw0ICsxLDMgQEAKLSNkZWZpbmUgTk9fVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKQEAgLTksNiArOCw3IEBACiAjaW5jbHVkZSAicGt0LWxpbmUuaCIKICNpbmNsdWRlICJzdWItcHJvY2Vzcy5oIgogI2luY2x1ZGUgInV0ZjguaCIKKyNpbmNsdWRlICJsbC1tZXJnZS5oIgogCiAvKgogICogY29udmVydC5jIC0gY29udmVydCBhIGZpbGUgd2hlbiBjaGVja2luZyBpdCBvdXQgYW5kIGNoZWNraW5nIGl0IGluLgpAQCAtOTIsNyArOTIsNyBAQAogICogVGhlIHNhbWUgaGV1cmlzdGljcyBhcyBkaWZmLmM6Om1tZmlsZV9pc19iaW5hcnkoKQogICogV2UgdHJlYXQgZmlsZXMgd2l0aCBiYXJlIENSIGFzIGJpbmFyeQogICovCi1zdGF0aWMgaW50IGNvbnZlcnRfaXNfYmluYXJ5KHVuc2lnbmVkIGxvbmcgc2l6ZSwgY29uc3Qgc3RydWN0IHRleHRfc3RhdCAqc3RhdHMpCitzdGF0aWMgaW50IGNvbnZlcnRfaXNfYmluYXJ5KGNvbnN0IHN0cnVjdCB0ZXh0X3N0YXQgKnN0YXRzKQogewogCWlmIChzdGF0cy0+bG9uZWNyKQogCQlyZXR1cm4gMTsKQEAgLTExMCw3ICsxMTAsNyBAQAogCWlmICghZGF0YSB8fCAhc2l6ZSkKIAkJcmV0dXJuIDA7CiAJZ2F0aGVyX3N0YXRzKGRhdGEsIHNpemUsICZzdGF0cyk7Ci0JaWYgKGNvbnZlcnRfaXNfYmluYXJ5KHNpemUsICZzdGF0cykpCisJaWYgKGNvbnZlcnRfaXNfYmluYXJ5KCZzdGF0cykpCiAJCXJldCB8PSBDT05WRVJUX1NUQVRfQklUU19CSU47CiAJaWYgKHN0YXRzLmNybGYpCiAJCXJldCB8PSBDT05WRVJUX1NUQVRfQklUU19UWFRfQ1JMRjsKQEAgLTI0NSw3ICsyNDUsNyBAQAogCXJldHVybiBoYXNfY3JsZjsKIH0KIAotc3RhdGljIGludCB3aWxsX2NvbnZlcnRfbGZfdG9fY3JsZihzaXplX3QgbGVuLCBzdHJ1Y3QgdGV4dF9zdGF0ICpzdGF0cywKK3N0YXRpYyBpbnQgd2lsbF9jb252ZXJ0X2xmX3RvX2NybGYoc3RydWN0IHRleHRfc3RhdCAqc3RhdHMsCiAJCQkJICAgZW51bSBjcmxmX2FjdGlvbiBjcmxmX2FjdGlvbikKIHsKIAlpZiAob3V0cHV0X2VvbChjcmxmX2FjdGlvbikgIT0gRU9MX0NSTEYpCkBAIC0yNjAsNyArMjYwLDcgQEAKIAkJaWYgKHN0YXRzLT5sb25lY3IgfHwgc3RhdHMtPmNybGYpCiAJCQlyZXR1cm4gMDsKIAotCQlpZiAoY29udmVydF9pc19iaW5hcnkobGVuLCBzdGF0cykpCisJCWlmIChjb252ZXJ0X2lzX2JpbmFyeShzdGF0cykpCiAJCQlyZXR1cm4gMDsKIAl9CiAJcmV0dXJuIDE7CkBAIC0yNzAsOCArMjcwLDEyIEBACiBzdGF0aWMgaW50IHZhbGlkYXRlX2VuY29kaW5nKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKmVuYywKIAkJICAgICAgY29uc3QgY2hhciAqZGF0YSwgc2l6ZV90IGxlbiwgaW50IGRpZV9vbl9lcnJvcikKIHsKKwljb25zdCBjaGFyICpzdHJpcHBlZDsKKwogCS8qIFdlIG9ubHkgY2hlY2sgZm9yIFVURiBoZXJlIGFzIFVURj8/IGNhbiBiZSBhbiBhbGlhcyBmb3IgVVRGLT8/ICovCi0JaWYgKGlzdGFydHNfd2l0aChlbmMsICJVVEYiKSkgeworCWlmIChza2lwX2lwcmVmaXgoZW5jLCAiVVRGIiwgJnN0cmlwcGVkKSkgeworCQlza2lwX3ByZWZpeChzdHJpcHBlZCwgIi0iLCAmc3RyaXBwZWQpOworCiAJCS8qCiAJCSAqIENoZWNrIGZvciBkZXRlY3RhYmxlIGVycm9ycyBpbiBVVEYgZW5jb2RpbmdzCiAJCSAqLwpAQCAtMjg1LDE1ICsyODksMTAgQEAKIAkJCSAqLwogCQkJY29uc3QgY2hhciAqYWR2aXNlX21zZyA9IF8oCiAJCQkJIlRoZSBmaWxlICclcycgY29udGFpbnMgYSBieXRlIG9yZGVyICIKLQkJCQkibWFyayAoQk9NKS4gUGxlYXNlIHVzZSBVVEYtJXMgYXMgIgorCQkJCSJtYXJrIChCT00pLiBQbGVhc2UgdXNlIFVURi0lLipzIGFzICIKIAkJCQkid29ya2luZy10cmVlLWVuY29kaW5nLiIpOwotCQkJY29uc3QgY2hhciAqc3RyaXBwZWQgPSBOVUxMOwotCQkJY2hhciAqdXBwZXIgPSB4c3RyZHVwX3RvdXBwZXIoZW5jKTsKLQkJCXVwcGVyW3N0cmxlbih1cHBlciktMl0gPSAnXDAnOwotCQkJaWYgKCFza2lwX3ByZWZpeCh1cHBlciwgIlVURi0iLCAmc3RyaXBwZWQpKQotCQkJCXNraXBfcHJlZml4KHN0cmlwcGVkLCAiVVRGIiwgJnN0cmlwcGVkKTsKLQkJCWFkdmlzZShhZHZpc2VfbXNnLCBwYXRoLCBzdHJpcHBlZCk7Ci0JCQlmcmVlKHVwcGVyKTsKKwkJCWludCBzdHJpcHBlZF9sZW4gPSBzdHJsZW4oc3RyaXBwZWQpIC0gc3RybGVuKCJCRSIpOworCQkJYWR2aXNlKGFkdmlzZV9tc2csIHBhdGgsIHN0cmlwcGVkX2xlbiwgc3RyaXBwZWQpOwogCQkJaWYgKGRpZV9vbl9lcnJvcikKIAkJCQlkaWUoZXJyb3JfbXNnLCBwYXRoLCBlbmMpOwogCQkJZWxzZSB7CkBAIC0zMDgsMTIgKzMwNyw3IEBACiAJCQkJIm1hcmsgKEJPTSkuIFBsZWFzZSB1c2UgVVRGLSVzQkUgb3IgVVRGLSVzTEUgIgogCQkJCSIoZGVwZW5kaW5nIG9uIHRoZSBieXRlIG9yZGVyKSBhcyAiCiAJCQkJIndvcmtpbmctdHJlZS1lbmNvZGluZy4iKTsKLQkJCWNvbnN0IGNoYXIgKnN0cmlwcGVkID0gTlVMTDsKLQkJCWNoYXIgKnVwcGVyID0geHN0cmR1cF90b3VwcGVyKGVuYyk7Ci0JCQlpZiAoIXNraXBfcHJlZml4KHVwcGVyLCAiVVRGLSIsICZzdHJpcHBlZCkpCi0JCQkJc2tpcF9wcmVmaXgoc3RyaXBwZWQsICJVVEYiLCAmc3RyaXBwZWQpOwogCQkJYWR2aXNlKGFkdmlzZV9tc2csIHBhdGgsIHN0cmlwcGVkLCBzdHJpcHBlZCk7Ci0JCQlmcmVlKHVwcGVyKTsKIAkJCWlmIChkaWVfb25fZXJyb3IpCiAJCQkJZGllKGVycm9yX21zZywgcGF0aCwgZW5jKTsKIAkJCWVsc2UgewpAQCAtNDE4LDcgKzQxMiw3IEBACiAJaWYgKCFkc3QpIHsKIAkJLyoKIAkJICogV2UgY291bGQgYWRkIHRoZSBibG9iICJhcy1pcyIgdG8gR2l0LiBIb3dldmVyLCBvbiBjaGVja291dAotCQkgKiB3ZSB3b3VsZCB0cnkgdG8gcmVlbmNvZGUgdG8gdGhlIG9yaWdpbmFsIGVuY29kaW5nLiBUaGlzCisJCSAqIHdlIHdvdWxkIHRyeSB0byByZS1lbmNvZGUgdG8gdGhlIG9yaWdpbmFsIGVuY29kaW5nLiBUaGlzCiAJCSAqIHdvdWxkIGZhaWwgYW5kIHdlIHdvdWxkIGxlYXZlIHRoZSB1c2VyIHdpdGggYSBtZXNzZWQtdXAKIAkJICogd29ya2luZyB0cmVlLiBMZXQncyB0cnkgdG8gYXZvaWQgdGhpcyBieSBzY3JlYW1pbmcgbG91ZC4KIAkJICovCkBAIC01MjcsNyArNTIxLDcgQEAKIAljb252ZXJ0X2NybGZfaW50b19sZiA9ICEhc3RhdHMuY3JsZjsKIAogCWlmIChjcmxmX2FjdGlvbiA9PSBDUkxGX0FVVE8gfHwgY3JsZl9hY3Rpb24gPT0gQ1JMRl9BVVRPX0lOUFVUIHx8IGNybGZfYWN0aW9uID09IENSTEZfQVVUT19DUkxGKSB7Ci0JCWlmIChjb252ZXJ0X2lzX2JpbmFyeShsZW4sICZzdGF0cykpCisJCWlmIChjb252ZXJ0X2lzX2JpbmFyeSgmc3RhdHMpKQogCQkJcmV0dXJuIDA7CiAJCS8qCiAJCSAqIElmIHRoZSBmaWxlIGluIHRoZSBpbmRleCBoYXMgYW55IENSIGluIGl0LCBkbyBub3QKQEAgLTU0OSw3ICs1NDMsNyBAQAogCQkJbmV3X3N0YXRzLmNybGYgPSAwOwogCQl9CiAJCS8qIHNpbXVsYXRlICJnaXQgY2hlY2tvdXQiICovCi0JCWlmICh3aWxsX2NvbnZlcnRfbGZfdG9fY3JsZihsZW4sICZuZXdfc3RhdHMsIGNybGZfYWN0aW9uKSkgeworCQlpZiAod2lsbF9jb252ZXJ0X2xmX3RvX2NybGYoJm5ld19zdGF0cywgY3JsZl9hY3Rpb24pKSB7CiAJCQluZXdfc3RhdHMuY3JsZiArPSBuZXdfc3RhdHMubG9uZWxmOwogCQkJbmV3X3N0YXRzLmxvbmVsZiA9IDA7CiAJCX0KQEAgLTU5MSw3ICs1ODUsNyBAQAogCXJldHVybiAxOwogfQogCi1zdGF0aWMgaW50IGNybGZfdG9fd29ya3RyZWUoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqc3JjLCBzaXplX3QgbGVuLAorc3RhdGljIGludCBjcmxmX3RvX3dvcmt0cmVlKGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IGxlbiwKIAkJCSAgICBzdHJ1Y3Qgc3RyYnVmICpidWYsIGVudW0gY3JsZl9hY3Rpb24gY3JsZl9hY3Rpb24pCiB7CiAJY2hhciAqdG9fZnJlZSA9IE5VTEw7CkBAIC02MDEsNyArNTk1LDcgQEAKIAkJcmV0dXJuIDA7CiAKIAlnYXRoZXJfc3RhdHMoc3JjLCBsZW4sICZzdGF0cyk7Ci0JaWYgKCF3aWxsX2NvbnZlcnRfbGZfdG9fY3JsZihsZW4sICZzdGF0cywgY3JsZl9hY3Rpb24pKQorCWlmICghd2lsbF9jb252ZXJ0X2xmX3RvX2NybGYoJnN0YXRzLCBjcmxmX2FjdGlvbikpCiAJCXJldHVybiAwOwogCiAJLyogYXJlIHdlICJmYWtpbmciIGluIHBsYWNlIGVkaXRpbmcgPyAqLwpAQCAtNzA1LDcgKzY5OSw3IEBACiB9CiAKIHN0YXRpYyBpbnQgYXBwbHlfc2luZ2xlX2ZpbGVfZmlsdGVyKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IGxlbiwgaW50IGZkLAotICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHN0cmJ1ZiAqZHN0LCBjb25zdCBjaGFyICpjbWQpCisJCQkJICAgIHN0cnVjdCBzdHJidWYgKmRzdCwgY29uc3QgY2hhciAqY21kKQogewogCS8qCiAJICogQ3JlYXRlIGEgcGlwZWxpbmUgdG8gaGF2ZSB0aGUgY29tbWFuZCBmaWx0ZXIgdGhlIGJ1ZmZlcidzCkBAIC03MzIsNyArNzI2LDcgQEAKIAlpZiAoc3RhcnRfYXN5bmMoJmFzeW5jKSkKIAkJcmV0dXJuIDA7CS8qIGVycm9yIHdhcyBhbHJlYWR5IHJlcG9ydGVkICovCiAKLQlpZiAoc3RyYnVmX3JlYWQoJm5idWYsIGFzeW5jLm91dCwgbGVuKSA8IDApIHsKKwlpZiAoc3RyYnVmX3JlYWQoJm5idWYsIGFzeW5jLm91dCwgMCkgPCAwKSB7CiAJCWVyciA9IGVycm9yKF8oInJlYWQgZnJvbSBleHRlcm5hbCBmaWx0ZXIgJyVzJyBmYWlsZWQiKSwgY21kKTsKIAl9CiAJaWYgKGNsb3NlKGFzeW5jLm91dCkpIHsKQEAgLTc3OCw3ICs3NzIsOCBAQAogCiBzdGF0aWMgdm9pZCBoYW5kbGVfZmlsdGVyX2Vycm9yKGNvbnN0IHN0cnVjdCBzdHJidWYgKmZpbHRlcl9zdGF0dXMsCiAJCQkJc3RydWN0IGNtZDJwcm9jZXNzICplbnRyeSwKLQkJCQljb25zdCB1bnNpZ25lZCBpbnQgd2FudGVkX2NhcGFiaWxpdHkpIHsKKwkJCQljb25zdCB1bnNpZ25lZCBpbnQgd2FudGVkX2NhcGFiaWxpdHkpCit7CiAJaWYgKCFzdHJjbXAoZmlsdGVyX3N0YXR1cy0+YnVmLCAiZXJyb3IiKSkKIAkJOyAvKiBUaGUgZmlsdGVyIHNpZ25hbGVkIGEgcHJvYmxlbSB3aXRoIHRoZSBmaWxlLiAqLwogCWVsc2UgaWYgKCFzdHJjbXAoZmlsdGVyX3N0YXR1cy0+YnVmLCAiYWJvcnQiKSAmJiB3YW50ZWRfY2FwYWJpbGl0eSkgewpAQCAtMTA5MCw4ICsxMDg1LDggQEAKIAlyZXR1cm4gY250OwogfQogCi1zdGF0aWMgaW50IGlkZW50X3RvX2dpdChjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3RyYnVmICpidWYsIGludCBpZGVudCkKK3N0YXRpYyBpbnQgaWRlbnRfdG9fZ2l0KGNvbnN0IGNoYXIgKnNyYywgc2l6ZV90IGxlbiwKKwkJCXN0cnVjdCBzdHJidWYgKmJ1ZiwgaW50IGlkZW50KQogewogCWNoYXIgKmRzdCwgKmRvbGxhcjsKIApAQCAtMTEzNCw4ICsxMTI5LDggQEAKIAlyZXR1cm4gMTsKIH0KIAotc3RhdGljIGludCBpZGVudF90b193b3JrdHJlZShjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzdHJidWYgKmJ1ZiwgaW50IGlkZW50KQorc3RhdGljIGludCBpZGVudF90b193b3JrdHJlZShjb25zdCBjaGFyICpzcmMsIHNpemVfdCBsZW4sCisJCQkgICAgIHN0cnVjdCBzdHJidWYgKmJ1ZiwgaW50IGlkZW50KQogewogCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCWNoYXIgKnRvX2ZyZWUgPSBOVUxMLCAqZG9sbGFyLCAqc3BjOwpAQCAtMTE1MSw3ICsxMTQ2LDcgQEAKIAkvKiBhcmUgd2UgImZha2luZyIgaW4gcGxhY2UgZWRpdGluZyA/ICovCiAJaWYgKHNyYyA9PSBidWYtPmJ1ZikKIAkJdG9fZnJlZSA9IHN0cmJ1Zl9kZXRhY2goYnVmLCBOVUxMKTsKLQloYXNoX29iamVjdF9maWxlKHNyYywgbGVuLCAiYmxvYiIsICZvaWQpOworCWhhc2hfb2JqZWN0X2ZpbGUodGhlX2hhc2hfYWxnbywgc3JjLCBsZW4sICJibG9iIiwgJm9pZCk7CiAKIAlzdHJidWZfZ3JvdyhidWYsIGxlbiArIGNudCAqICh0aGVfaGFzaF9hbGdvLT5oZXhzeiArIDMpKTsKIAlmb3IgKDs7KSB7CkBAIC0xMjkzLDEwICsxMjg4LDExIEBACiAJY29uc3QgY2hhciAqd29ya2luZ190cmVlX2VuY29kaW5nOyAvKiBTdXBwb3J0ZWQgZW5jb2Rpbmcgb3IgZGVmYXVsdCBlbmNvZGluZyBpZiBOVUxMICovCiB9OwogCitzdGF0aWMgc3RydWN0IGF0dHJfY2hlY2sgKmNoZWNrOworCiBzdGF0aWMgdm9pZCBjb252ZXJ0X2F0dHJzKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAogCQkJICBzdHJ1Y3QgY29udl9hdHRycyAqY2EsIGNvbnN0IGNoYXIgKnBhdGgpCiB7Ci0Jc3RhdGljIHN0cnVjdCBhdHRyX2NoZWNrICpjaGVjazsKIAlzdHJ1Y3QgYXR0cl9jaGVja19pdGVtICpjY2hlY2sgPSBOVUxMOwogCiAJaWYgKCFjaGVjaykgewpAQCAtMTMzOSw2ICsxMzM1LDIzIEBACiAJCWNhLT5jcmxmX2FjdGlvbiA9IENSTEZfQVVUT19JTlBVVDsKIH0KIAordm9pZCByZXNldF9wYXJzZWRfYXR0cmlidXRlcyh2b2lkKQoreworCXN0cnVjdCBjb252ZXJ0X2RyaXZlciAqZHJ2LCAqbmV4dDsKKworCWF0dHJfY2hlY2tfZnJlZShjaGVjayk7CisJY2hlY2sgPSBOVUxMOworCXJlc2V0X21lcmdlX2F0dHJpYnV0ZXMoKTsKKworCWZvciAoZHJ2ID0gdXNlcl9jb252ZXJ0OyBkcnY7IGRydiA9IG5leHQpIHsKKwkJbmV4dCA9IGRydi0+bmV4dDsKKwkJZnJlZSgodm9pZCAqKWRydi0+bmFtZSk7CisJCWZyZWUoZHJ2KTsKKwl9CisJdXNlcl9jb252ZXJ0ID0gTlVMTDsKKwl1c2VyX2NvbnZlcnRfdGFpbCA9IE5VTEw7Cit9CisKIGludCB3b3VsZF9jb252ZXJ0X3RvX2dpdF9maWx0ZXJfZmQoY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKnBhdGgpCiB7CiAJc3RydWN0IGNvbnZfYXR0cnMgY2E7CkBAIC0xNDE1LDcgKzE0MjgsNyBAQAogCQkJbGVuID0gZHN0LT5sZW47CiAJCX0KIAl9Ci0JcmV0dXJuIHJldCB8IGlkZW50X3RvX2dpdChwYXRoLCBzcmMsIGxlbiwgZHN0LCBjYS5pZGVudCk7CisJcmV0dXJuIHJldCB8IGlkZW50X3RvX2dpdChzcmMsIGxlbiwgZHN0LCBjYS5pZGVudCk7CiB9CiAKIHZvaWQgY29udmVydF90b19naXRfZmlsdGVyX2ZkKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLApAQCAtMTQzMyw3ICsxNDQ2LDcgQEAKIAogCWVuY29kZV90b19naXQocGF0aCwgZHN0LT5idWYsIGRzdC0+bGVuLCBkc3QsIGNhLndvcmtpbmdfdHJlZV9lbmNvZGluZywgY29udl9mbGFncyk7CiAJY3JsZl90b19naXQoaXN0YXRlLCBwYXRoLCBkc3QtPmJ1ZiwgZHN0LT5sZW4sIGRzdCwgY2EuY3JsZl9hY3Rpb24sIGNvbnZfZmxhZ3MpOwotCWlkZW50X3RvX2dpdChwYXRoLCBkc3QtPmJ1ZiwgZHN0LT5sZW4sIGRzdCwgY2EuaWRlbnQpOworCWlkZW50X3RvX2dpdChkc3QtPmJ1ZiwgZHN0LT5sZW4sIGRzdCwgY2EuaWRlbnQpOwogfQogCiBzdGF0aWMgaW50IGNvbnZlcnRfdG9fd29ya2luZ190cmVlX2ludGVybmFsKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLApAQCAtMTQ0Niw3ICsxNDU5LDcgQEAKIAogCWNvbnZlcnRfYXR0cnMoaXN0YXRlLCAmY2EsIHBhdGgpOwogCi0JcmV0IHw9IGlkZW50X3RvX3dvcmt0cmVlKHBhdGgsIHNyYywgbGVuLCBkc3QsIGNhLmlkZW50KTsKKwlyZXQgfD0gaWRlbnRfdG9fd29ya3RyZWUoc3JjLCBsZW4sIGRzdCwgY2EuaWRlbnQpOwogCWlmIChyZXQpIHsKIAkJc3JjID0gZHN0LT5idWY7CiAJCWxlbiA9IGRzdC0+bGVuOwpAQCAtMTQ1Nyw3ICsxNDcwLDcgQEAKIAkgKiBzdXBwb3J0IHNtdWRnZSkuICBUaGUgZmlsdGVycyBtaWdodCBleHBlY3QgQ1JMRnMuCiAJICovCiAJaWYgKChjYS5kcnYgJiYgKGNhLmRydi0+c211ZGdlIHx8IGNhLmRydi0+cHJvY2VzcykpIHx8ICFub3JtYWxpemluZykgewotCQlyZXQgfD0gY3JsZl90b193b3JrdHJlZShwYXRoLCBzcmMsIGxlbiwgZHN0LCBjYS5jcmxmX2FjdGlvbik7CisJCXJldCB8PSBjcmxmX3RvX3dvcmt0cmVlKHNyYywgbGVuLCBkc3QsIGNhLmNybGZfYWN0aW9uKTsKIAkJaWYgKHJldCkgewogCQkJc3JjID0gZHN0LT5idWY7CiAJCQlsZW4gPSBkc3QtPmxlbjsKQEAgLTE5MjcsNyArMTk0MCw3IEBACiAgKiB0aGUgY29udGVudHMgY2Fubm90IGJlIGZpbHRlcmVkIHdpdGhvdXQgcmVhZGluZyB0aGUgd2hvbGUgdGhpbmcKICAqIGluLWNvcmUuCiAgKgotICogTm90ZSB0aGF0IHlvdSB3b3VsZCBiZSBjcmF6eSB0byBzZXQgQ1JMRiwgc211Z2UvY2xlYW4gb3IgaWRlbnQgdG8gYQorICogTm90ZSB0aGF0IHlvdSB3b3VsZCBiZSBjcmF6eSB0byBzZXQgQ1JMRiwgc211ZGdlL2NsZWFuIG9yIGlkZW50IHRvIGEKICAqIGxhcmdlIGJpbmFyeSBibG9iIHlvdSB3b3VsZCB3YW50IHVzIG5vdCB0byBzbHVycCBpbnRvIHRoZSBtZW1vcnkhCiAgKi8KIHN0cnVjdCBzdHJlYW1fZmlsdGVyICpnZXRfc3RyZWFtX2ZpbHRlcihjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKZGlmZiAtLWdpdCBhL2NvbnZlcnQuaCBiL2NvbnZlcnQuaAppbmRleCA4MzE1NTlmLi4zNzEwOTY5IDEwMDY0NAotLS0gYS9jb252ZXJ0LmgKKysrIGIvY29udmVydC5oCkBAIC05NCw2ICs5NCwxMiBAQAogaW50IHdvdWxkX2NvbnZlcnRfdG9fZ2l0X2ZpbHRlcl9mZChjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKIAkJCQkgICBjb25zdCBjaGFyICpwYXRoKTsKIAorLyoKKyAqIFJlc2V0IHRoZSBpbnRlcm5hbCBsaXN0IG9mIGF0dHJpYnV0ZXMgdXNlZCBieSBjb252ZXJ0X3RvX2dpdCBhbmQKKyAqIGNvbnZlcnRfdG9fd29ya2luZ190cmVlLgorICovCit2b2lkIHJlc2V0X3BhcnNlZF9hdHRyaWJ1dGVzKHZvaWQpOworCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqCiAgKiBTdHJlYW1pbmcgY29udmVyc2lvbiBzdXBwb3J0CmRpZmYgLS1naXQgYS9jcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYyBiL2NyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jCmluZGV4IDRkZmJjOGMuLmVjMTI3MWYgMTAwNjQ0Ci0tLSBhL2NyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jCisrKyBiL2NyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jCkBAIC05MSw3ICs5MSw4IEBACiB9CiAKIHN0YXRpYyBpbnQgcmVhZF9yZXF1ZXN0KEZJTEUgKmZoLCBzdHJ1Y3QgY3JlZGVudGlhbCAqYywKLQkJCXN0cnVjdCBzdHJidWYgKmFjdGlvbiwgaW50ICp0aW1lb3V0KSB7CisJCQlzdHJ1Y3Qgc3RyYnVmICphY3Rpb24sIGludCAqdGltZW91dCkKK3sKIAlzdGF0aWMgc3RydWN0IHN0cmJ1ZiBpdGVtID0gU1RSQlVGX0lOSVQ7CiAJY29uc3QgY2hhciAqcDsKIApkaWZmIC0tZ2l0IGEvY3JlZGVudGlhbC1zdG9yZS5jIGIvY3JlZGVudGlhbC1zdG9yZS5jCmluZGV4IGFjMjk1NDIuLmMwMTA0OTcgMTAwNjQ0Ci0tLSBhL2NyZWRlbnRpYWwtc3RvcmUuYworKysgYi9jcmVkZW50aWFsLXN0b3JlLmMKQEAgLTcyLDE1ICs3MiwxNiBAQAogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAKIAlzdHJidWZfYWRkZigmYnVmLCAiJXM6Ly8iLCBjLT5wcm90b2NvbCk7Ci0Jc3RyYnVmX2FkZHN0cl91cmxlbmNvZGUoJmJ1ZiwgYy0+dXNlcm5hbWUsIDEpOworCXN0cmJ1Zl9hZGRzdHJfdXJsZW5jb2RlKCZidWYsIGMtPnVzZXJuYW1lLCBpc19yZmMzOTg2X3VucmVzZXJ2ZWQpOwogCXN0cmJ1Zl9hZGRjaCgmYnVmLCAnOicpOwotCXN0cmJ1Zl9hZGRzdHJfdXJsZW5jb2RlKCZidWYsIGMtPnBhc3N3b3JkLCAxKTsKKwlzdHJidWZfYWRkc3RyX3VybGVuY29kZSgmYnVmLCBjLT5wYXNzd29yZCwgaXNfcmZjMzk4Nl91bnJlc2VydmVkKTsKIAlzdHJidWZfYWRkY2goJmJ1ZiwgJ0AnKTsKIAlpZiAoYy0+aG9zdCkKLQkJc3RyYnVmX2FkZHN0cl91cmxlbmNvZGUoJmJ1ZiwgYy0+aG9zdCwgMSk7CisJCXN0cmJ1Zl9hZGRzdHJfdXJsZW5jb2RlKCZidWYsIGMtPmhvc3QsIGlzX3JmYzM5ODZfdW5yZXNlcnZlZCk7CiAJaWYgKGMtPnBhdGgpIHsKIAkJc3RyYnVmX2FkZGNoKCZidWYsICcvJyk7Ci0JCXN0cmJ1Zl9hZGRzdHJfdXJsZW5jb2RlKCZidWYsIGMtPnBhdGgsIDApOworCQlzdHJidWZfYWRkc3RyX3VybGVuY29kZSgmYnVmLCBjLT5wYXRoLAorCQkJCQlpc19yZmMzOTg2X3Jlc2VydmVkX29yX3VucmVzZXJ2ZWQpOwogCX0KIAogCXJld3JpdGVfY3JlZGVudGlhbF9maWxlKGZuLCBjLCAmYnVmKTsKZGlmZiAtLWdpdCBhL2NyZWRlbnRpYWwuYyBiL2NyZWRlbnRpYWwuYwppbmRleCA2MmJlNjUxLi43N2RmZGU0IDEwMDY0NAotLS0gYS9jcmVkZW50aWFsLmMKKysrIGIvY3JlZGVudGlhbC5jCkBAIC02LDYgKzYsNyBAQAogI2luY2x1ZGUgInVybC5oIgogI2luY2x1ZGUgInByb21wdC5oIgogI2luY2x1ZGUgInNpZ2NoYWluLmgiCisjaW5jbHVkZSAidXJsbWF0Y2guaCIKIAogdm9pZCBjcmVkZW50aWFsX2luaXQoc3RydWN0IGNyZWRlbnRpYWwgKmMpCiB7CkBAIC00MCw3ICs0MSw3IEBACiAJCQkJICAgICAgdm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3QgY3JlZGVudGlhbCAqYyA9IGRhdGE7Ci0JY29uc3QgY2hhciAqa2V5LCAqZG90OworCWNvbnN0IGNoYXIgKmtleTsKIAogCWlmICghc2tpcF9wcmVmaXgodmFyLCAiY3JlZGVudGlhbC4iLCAma2V5KSkKIAkJcmV0dXJuIDA7CkBAIC00OCwzMSArNDksMTYgQEAKIAlpZiAoIXZhbHVlKQogCQlyZXR1cm4gY29uZmlnX2Vycm9yX25vbmJvb2wodmFyKTsKIAotCWRvdCA9IHN0cnJjaHIoa2V5LCAnLicpOwotCWlmIChkb3QpIHsKLQkJc3RydWN0IGNyZWRlbnRpYWwgd2FudCA9IENSRURFTlRJQUxfSU5JVDsKLQkJY2hhciAqdXJsID0geG1lbWR1cHooa2V5LCBkb3QgLSBrZXkpOwotCQlpbnQgbWF0Y2hlZDsKLQotCQljcmVkZW50aWFsX2Zyb21fdXJsKCZ3YW50LCB1cmwpOwotCQltYXRjaGVkID0gY3JlZGVudGlhbF9tYXRjaCgmd2FudCwgYyk7Ci0KLQkJY3JlZGVudGlhbF9jbGVhcigmd2FudCk7Ci0JCWZyZWUodXJsKTsKLQotCQlpZiAoIW1hdGNoZWQpCi0JCQlyZXR1cm4gMDsKLQkJa2V5ID0gZG90ICsgMTsKLQl9Ci0KIAlpZiAoIXN0cmNtcChrZXksICJoZWxwZXIiKSkgewogCQlpZiAoKnZhbHVlKQogCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZjLT5oZWxwZXJzLCB2YWx1ZSk7CiAJCWVsc2UKIAkJCXN0cmluZ19saXN0X2NsZWFyKCZjLT5oZWxwZXJzLCAwKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoa2V5LCAidXNlcm5hbWUiKSkgewotCQlpZiAoIWMtPnVzZXJuYW1lKQorCQlpZiAoIWMtPnVzZXJuYW1lX2Zyb21fcHJvdG8pIHsKKwkJCWZyZWUoYy0+dXNlcm5hbWUpOwogCQkJYy0+dXNlcm5hbWUgPSB4c3RyZHVwKHZhbHVlKTsKKwkJfQogCX0KIAllbHNlIGlmICghc3RyY21wKGtleSwgInVzZWh0dHBwYXRoIikpCiAJCWMtPnVzZV9odHRwX3BhdGggPSBnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSk7CkBAIC04NywxMSArNzMsMzggQEAKIAlyZXR1cm4gIXN0cmNtcChzLCAiaHR0cHMiKSB8fCAhc3RyY21wKHMsICJodHRwIik7CiB9CiAKK3N0YXRpYyB2b2lkIGNyZWRlbnRpYWxfZGVzY3JpYmUoc3RydWN0IGNyZWRlbnRpYWwgKmMsIHN0cnVjdCBzdHJidWYgKm91dCk7CitzdGF0aWMgdm9pZCBjcmVkZW50aWFsX2Zvcm1hdChzdHJ1Y3QgY3JlZGVudGlhbCAqYywgc3RydWN0IHN0cmJ1ZiAqb3V0KTsKKworc3RhdGljIGludCBzZWxlY3RfYWxsKGNvbnN0IHN0cnVjdCB1cmxtYXRjaF9pdGVtICphLAorCQkgICAgICBjb25zdCBzdHJ1Y3QgdXJsbWF0Y2hfaXRlbSAqYikKK3sKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIHZvaWQgY3JlZGVudGlhbF9hcHBseV9jb25maWcoc3RydWN0IGNyZWRlbnRpYWwgKmMpCiB7CisJY2hhciAqbm9ybWFsaXplZF91cmw7CisJc3RydWN0IHVybG1hdGNoX2NvbmZpZyBjb25maWcgPSB7IFNUUklOR19MSVNUX0lOSVRfRFVQIH07CisJc3RydWN0IHN0cmJ1ZiB1cmwgPSBTVFJCVUZfSU5JVDsKKwogCWlmIChjLT5jb25maWd1cmVkKQogCQlyZXR1cm47Ci0JZ2l0X2NvbmZpZyhjcmVkZW50aWFsX2NvbmZpZ19jYWxsYmFjaywgYyk7CisKKwljb25maWcuc2VjdGlvbiA9ICJjcmVkZW50aWFsIjsKKwljb25maWcua2V5ID0gTlVMTDsKKwljb25maWcuY29sbGVjdF9mbiA9IGNyZWRlbnRpYWxfY29uZmlnX2NhbGxiYWNrOworCWNvbmZpZy5jYXNjYWRlX2ZuID0gTlVMTDsKKwljb25maWcuc2VsZWN0X2ZuID0gc2VsZWN0X2FsbDsKKwljb25maWcuY2IgPSBjOworCisJY3JlZGVudGlhbF9mb3JtYXQoYywgJnVybCk7CisJbm9ybWFsaXplZF91cmwgPSB1cmxfbm9ybWFsaXplKHVybC5idWYsICZjb25maWcudXJsKTsKKworCWdpdF9jb25maWcodXJsbWF0Y2hfY29uZmlnX2VudHJ5LCAmY29uZmlnKTsKKwlmcmVlKG5vcm1hbGl6ZWRfdXJsKTsKKwlzdHJidWZfcmVsZWFzZSgmdXJsKTsKKwogCWMtPmNvbmZpZ3VyZWQgPSAxOwogCiAJaWYgKCFjLT51c2VfaHR0cF9wYXRoICYmIHByb3RvX2lzX2h0dHAoYy0+cHJvdG9jb2wpKSB7CkBAIC0xMTIsNiArMTI1LDIzIEBACiAJCXN0cmJ1Zl9hZGRmKG91dCwgIi8lcyIsIGMtPnBhdGgpOwogfQogCitzdGF0aWMgdm9pZCBjcmVkZW50aWFsX2Zvcm1hdChzdHJ1Y3QgY3JlZGVudGlhbCAqYywgc3RydWN0IHN0cmJ1ZiAqb3V0KQoreworCWlmICghYy0+cHJvdG9jb2wpCisJCXJldHVybjsKKwlzdHJidWZfYWRkZihvdXQsICIlczovLyIsIGMtPnByb3RvY29sKTsKKwlpZiAoYy0+dXNlcm5hbWUgJiYgKmMtPnVzZXJuYW1lKSB7CisJCXN0cmJ1Zl9hZGRfcGVyY2VudGVuY29kZShvdXQsIGMtPnVzZXJuYW1lKTsKKwkJc3RyYnVmX2FkZGNoKG91dCwgJ0AnKTsKKwl9CisJaWYgKGMtPmhvc3QpCisJCXN0cmJ1Zl9hZGRzdHIob3V0LCBjLT5ob3N0KTsKKwlpZiAoYy0+cGF0aCkgeworCQlzdHJidWZfYWRkY2gob3V0LCAnLycpOworCQlzdHJidWZfYWRkX3BlcmNlbnRlbmNvZGUob3V0LCBjLT5wYXRoKTsKKwl9Cit9CisKIHN0YXRpYyBjaGFyICpjcmVkZW50aWFsX2Fza19vbmUoY29uc3QgY2hhciAqd2hhdCwgc3RydWN0IGNyZWRlbnRpYWwgKmMsCiAJCQkJaW50IGZsYWdzKQogewpAQCAtMTYzLDYgKzE5Myw3IEBACiAJCWlmICghc3RyY21wKGtleSwgInVzZXJuYW1lIikpIHsKIAkJCWZyZWUoYy0+dXNlcm5hbWUpOwogCQkJYy0+dXNlcm5hbWUgPSB4c3RyZHVwKHZhbHVlKTsKKwkJCWMtPnVzZXJuYW1lX2Zyb21fcHJvdG8gPSAxOwogCQl9IGVsc2UgaWYgKCFzdHJjbXAoa2V5LCAicGFzc3dvcmQiKSkgewogCQkJZnJlZShjLT5wYXNzd29yZCk7CiAJCQljLT5wYXNzd29yZCA9IHhzdHJkdXAodmFsdWUpOwpAQCAtMzQ5LDEwICszODAsMTQgQEAKIAllbHNlIGlmICghY29sb24gfHwgYXQgPD0gY29sb24pIHsKIAkJLyogQ2FzZSAoMikgKi8KIAkJYy0+dXNlcm5hbWUgPSB1cmxfZGVjb2RlX21lbShjcCwgYXQgLSBjcCk7CisJCWlmIChjLT51c2VybmFtZSAmJiAqYy0+dXNlcm5hbWUpCisJCQljLT51c2VybmFtZV9mcm9tX3Byb3RvID0gMTsKIAkJaG9zdCA9IGF0ICsgMTsKIAl9IGVsc2UgewogCQkvKiBDYXNlICgzKSAqLwogCQljLT51c2VybmFtZSA9IHVybF9kZWNvZGVfbWVtKGNwLCBjb2xvbiAtIGNwKTsKKwkJaWYgKGMtPnVzZXJuYW1lICYmICpjLT51c2VybmFtZSkKKwkJCWMtPnVzZXJuYW1lX2Zyb21fcHJvdG8gPSAxOwogCQljLT5wYXNzd29yZCA9IHVybF9kZWNvZGVfbWVtKGNvbG9uICsgMSwgYXQgLSAoY29sb24gKyAxKSk7CiAJCWhvc3QgPSBhdCArIDE7CiAJfQpkaWZmIC0tZ2l0IGEvY3JlZGVudGlhbC5oIGIvY3JlZGVudGlhbC5oCmluZGV4IDZiMGNkMTYuLmZlYzc4MTUgMTAwNjQ0Ci0tLSBhL2NyZWRlbnRpYWwuaAorKysgYi9jcmVkZW50aWFsLmgKQEAgLTMsMTIgKzMsMTIzIEBACiAKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgogCisvKioKKyAqIFRoZSBjcmVkZW50aWFscyBBUEkgcHJvdmlkZXMgYW4gYWJzdHJhY3RlZCB3YXkgb2YgZ2F0aGVyaW5nIHVzZXJuYW1lIGFuZAorICogcGFzc3dvcmQgY3JlZGVudGlhbHMgZnJvbSB0aGUgdXNlci4KKyAqCisgKiBUeXBpY2FsIHNldHVwCisgKiAtLS0tLS0tLS0tLS0tCisgKgorICogLS0tLS0tLS0tLS0tCisgKiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgKiB8IEdpdCBjb2RlIChDKSAgICAgICAgICB8LS0tIHRvIHNlcnZlciByZXF1aXJpbmcgLS0tPgorICogfCAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgYXV0aGVudGljYXRpb24KKyAqIHwuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnwKKyAqIHwgQyBjcmVkZW50aWFsIEFQSSAgICAgIHwtLS0gcHJvbXB0IC0tLT4gVXNlcgorICogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICogCV4gICAgICB8CisgKiAJfCBwaXBlIHwKKyAqIAl8ICAgICAgdgorICogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICogfCBHaXQgY3JlZGVudGlhbCBoZWxwZXIgfAorICogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICogLS0tLS0tLS0tLS0tCisgKgorICogVGhlIEdpdCBjb2RlICh0eXBpY2FsbHkgYSByZW1vdGUtaGVscGVyKSB3aWxsIGNhbGwgdGhlIEMgQVBJIHRvIG9idGFpbgorICogY3JlZGVudGlhbCBkYXRhIGxpa2UgYSBsb2dpbi9wYXNzd29yZCBwYWlyIChjcmVkZW50aWFsX2ZpbGwpLiBUaGUKKyAqIEFQSSB3aWxsIGl0c2VsZiBjYWxsIGEgcmVtb3RlIGhlbHBlciAoZS5nLiAiZ2l0IGNyZWRlbnRpYWwtY2FjaGUiIG9yCisgKiAiZ2l0IGNyZWRlbnRpYWwtc3RvcmUiKSB0aGF0IG1heSByZXRyaWV2ZSBjcmVkZW50aWFsIGRhdGEgZnJvbSBhCisgKiBzdG9yZS4gSWYgdGhlIGNyZWRlbnRpYWwgaGVscGVyIGNhbm5vdCBmaW5kIHRoZSBpbmZvcm1hdGlvbiwgdGhlIEMgQVBJCisgKiB3aWxsIHByb21wdCB0aGUgdXNlci4gVGhlbiwgdGhlIGNhbGxlciBvZiB0aGUgQVBJIHRha2VzIGNhcmUgb2YKKyAqIGNvbnRhY3RpbmcgdGhlIHNlcnZlciwgYW5kIGRvZXMgdGhlIGFjdHVhbCBhdXRoZW50aWNhdGlvbi4KKyAqCisgKiBDIEFQSQorICogLS0tLS0KKyAqCisgKiBUaGUgY3JlZGVudGlhbCBDIEFQSSBpcyBtZWFudCB0byBiZSBjYWxsZWQgYnkgR2l0IGNvZGUgd2hpY2ggbmVlZHMgdG8KKyAqIGFjcXVpcmUgb3Igc3RvcmUgYSBjcmVkZW50aWFsLiBJdCBpcyBjZW50ZXJlZCBhcm91bmQgYW4gb2JqZWN0CisgKiByZXByZXNlbnRpbmcgYSBzaW5nbGUgY3JlZGVudGlhbCBhbmQgcHJvdmlkZXMgdGhyZWUgYmFzaWMgb3BlcmF0aW9uczoKKyAqIGZpbGwgKGFjcXVpcmUgY3JlZGVudGlhbHMgYnkgY2FsbGluZyBoZWxwZXJzIGFuZC9vciBwcm9tcHRpbmcgdGhlIHVzZXIpLAorICogYXBwcm92ZSAobWFyayBhIGNyZWRlbnRpYWwgYXMgc3VjY2Vzc2Z1bGx5IHVzZWQgc28gdGhhdCBpdCBjYW4gYmUgc3RvcmVkCisgKiBmb3IgbGF0ZXIgdXNlKSwgYW5kIHJlamVjdCAobWFyayBhIGNyZWRlbnRpYWwgYXMgdW5zdWNjZXNzZnVsIHNvIHRoYXQgaXQKKyAqIGNhbiBiZSBlcmFzZWQgZnJvbSBhbnkgcGVyc2lzdGVudCBzdG9yYWdlKS4KKyAqCisgKiBFeGFtcGxlCisgKiB+fn5+fn5+CisgKgorICogVGhlIGV4YW1wbGUgYmVsb3cgc2hvd3MgaG93IHRoZSBmdW5jdGlvbnMgb2YgdGhlIGNyZWRlbnRpYWwgQVBJIGNvdWxkIGJlCisgKiB1c2VkIHRvIGxvZ2luIHRvIGEgZmljdGl0aW91cyAiZm9vIiBzZXJ2aWNlIG9uIGEgcmVtb3RlIGhvc3Q6CisgKgorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIGludCBmb29fbG9naW4oc3RydWN0IGZvb19jb25uZWN0aW9uICpmKQorICogeworICogCWludCBzdGF0dXM7CisgKiAJLy8gQ3JlYXRlIGEgY3JlZGVudGlhbCB3aXRoIHNvbWUgY29udGV4dDsgd2UgZG9uJ3QgeWV0IGtub3cgdGhlCisgKiAJLy8gdXNlcm5hbWUgb3IgcGFzc3dvcmQuCisgKgorICogc3RydWN0IGNyZWRlbnRpYWwgYyA9IENSRURFTlRJQUxfSU5JVDsKKyAqIGMucHJvdG9jb2wgPSB4c3RyZHVwKCJmb28iKTsKKyAqIGMuaG9zdCA9IHhzdHJkdXAoZi0+aG9zdG5hbWUpOworICoKKyAqIC8vIEZpbGwgaW4gdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZHMgYnkgY29udGFjdGluZworICogLy8gaGVscGVycyBhbmQvb3IgYXNraW5nIHRoZSB1c2VyLiBUaGUgZnVuY3Rpb24gd2lsbCBkaWUgaWYgaXQKKyAqIC8vIGZhaWxzLgorICogY3JlZGVudGlhbF9maWxsKCZjKTsKKyAqCisgKiAvLyBPdGhlcndpc2UsIHdlIGhhdmUgYSB1c2VybmFtZSBhbmQgcGFzc3dvcmQuIFRyeSB0byB1c2UgaXQuCisgKgorICogc3RhdHVzID0gc2VuZF9mb29fbG9naW4oZiwgYy51c2VybmFtZSwgYy5wYXNzd29yZCk7CisgKiBzd2l0Y2ggKHN0YXR1cykgeworICogY2FzZSBGT09fT0s6CisgKiAvLyBJdCB3b3JrZWQuIFN0b3JlIHRoZSBjcmVkZW50aWFsIGZvciBsYXRlciB1c2UuCisgKiBjcmVkZW50aWFsX2FjY2VwdCgmYyk7CisgKiBicmVhazsKKyAqIGNhc2UgRk9PX0JBRF9MT0dJTjoKKyAqIC8vIEVyYXNlIHRoZSBjcmVkZW50aWFsIGZyb20gc3RvcmFnZSBzbyB3ZSBkb24ndCB0cnkgaXQgYWdhaW4uCisgKiBjcmVkZW50aWFsX3JlamVjdCgmYyk7CisgKiBicmVhazsKKyAqIGRlZmF1bHQ6CisgKiAvLyBTb21lIG90aGVyIGVycm9yIG9jY3VycmVkLiBXZSBkb24ndCBrbm93IGlmIHRoZQorICogLy8gY3JlZGVudGlhbCBpcyBnb29kIG9yIGJhZCwgc28gcmVwb3J0IG5vdGhpbmcgdG8gdGhlCisgKiAvLyBjcmVkZW50aWFsIHN1YnN5c3RlbS4KKyAqIH0KKyAqCisgKiAvLyBGcmVlIGFueSBhc3NvY2lhdGVkIHJlc291cmNlcy4KKyAqIGNyZWRlbnRpYWxfY2xlYXIoJmMpOworICoKKyAqIHJldHVybiBzdGF0dXM7CisgKiB9CisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKworLyoqCisgKiBUaGlzIHN0cnVjdCByZXByZXNlbnRzIGEgc2luZ2xlIHVzZXJuYW1lL3Bhc3N3b3JkIGNvbWJpbmF0aW9uCisgKiBhbG9uZyB3aXRoIGFueSBhc3NvY2lhdGVkIGNvbnRleHQuIEFsbCBzdHJpbmcgZmllbGRzIHNob3VsZCBiZQorICogaGVhcC1hbGxvY2F0ZWQgKG9yIE5VTEwgaWYgdGhleSBhcmUgbm90IGtub3duIG9yIG5vdCBhcHBsaWNhYmxlKS4KKyAqIFRoZSBtZWFuaW5nIG9mIHRoZSBpbmRpdmlkdWFsIGNvbnRleHQgZmllbGRzIGlzIHRoZSBzYW1lIGFzCisgKiB0aGVpciBjb3VudGVycGFydHMgaW4gdGhlIGhlbHBlciBwcm90b2NvbC4KKyAqCisgKiBUaGlzIHN0cnVjdCBzaG91bGQgYWx3YXlzIGJlIGluaXRpYWxpemVkIHdpdGggYENSRURFTlRJQUxfSU5JVGAgb3IKKyAqIGBjcmVkZW50aWFsX2luaXRgLgorICovCiBzdHJ1Y3QgY3JlZGVudGlhbCB7CisKKwkvKioKKwkgKiBBIGBzdHJpbmdfbGlzdGAgb2YgaGVscGVycy4gRWFjaCBzdHJpbmcgc3BlY2lmaWVzIGFuIGV4dGVybmFsCisJICogaGVscGVyIHdoaWNoIHdpbGwgYmUgcnVuLCBpbiBvcmRlciwgdG8gZWl0aGVyIGFjcXVpcmUgb3Igc3RvcmUKKwkgKiBjcmVkZW50aWFscy4gVGhpcyBsaXN0IGlzIGZpbGxlZC1pbiBieSB0aGUgQVBJIGZ1bmN0aW9ucworCSAqIGFjY29yZGluZyB0byB0aGUgY29ycmVzcG9uZGluZyBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyBiZWZvcmUKKwkgKiBjb25zdWx0aW5nIGhlbHBlcnMsIHNvIHRoZXJlIHVzdWFsbHkgaXMgbm8gbmVlZCBmb3IgYSBjYWxsZXIgdG8KKwkgKiBtb2RpZnkgdGhlIGhlbHBlcnMgZmllbGQgYXQgYWxsLgorCSAqLwogCXN0cnVjdCBzdHJpbmdfbGlzdCBoZWxwZXJzOworCiAJdW5zaWduZWQgYXBwcm92ZWQ6MSwKIAkJIGNvbmZpZ3VyZWQ6MSwKIAkJIHF1aXQ6MSwKLQkJIHVzZV9odHRwX3BhdGg6MTsKKwkJIHVzZV9odHRwX3BhdGg6MSwKKwkJIHVzZXJuYW1lX2Zyb21fcHJvdG86MTsKIAogCWNoYXIgKnVzZXJuYW1lOwogCWNoYXIgKnBhc3N3b3JkOwpAQCAtMTksMTYgKzEzMCw1MiBAQAogCiAjZGVmaW5lIENSRURFTlRJQUxfSU5JVCB7IFNUUklOR19MSVNUX0lOSVRfRFVQIH0KIAorLyogSW5pdGlhbGl6ZSBhIGNyZWRlbnRpYWwgc3RydWN0dXJlLCBzZXR0aW5nIGFsbCBmaWVsZHMgdG8gZW1wdHkuICovCiB2b2lkIGNyZWRlbnRpYWxfaW5pdChzdHJ1Y3QgY3JlZGVudGlhbCAqKTsKKworLyoqCisgKiBGcmVlIGFueSByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjcmVkZW50aWFsIHN0cnVjdHVyZSwgcmV0dXJuaW5nCisgKiBpdCB0byBhIHByaXN0aW5lIGluaXRpYWxpemVkIHN0YXRlLgorICovCiB2b2lkIGNyZWRlbnRpYWxfY2xlYXIoc3RydWN0IGNyZWRlbnRpYWwgKik7CiAKKy8qKgorICogSW5zdHJ1Y3QgdGhlIGNyZWRlbnRpYWwgc3Vic3lzdGVtIHRvIGZpbGwgdGhlIHVzZXJuYW1lIGFuZAorICogcGFzc3dvcmQgZmllbGRzIG9mIHRoZSBwYXNzZWQgY3JlZGVudGlhbCBzdHJ1Y3QgYnkgZmlyc3QKKyAqIGNvbnN1bHRpbmcgaGVscGVycywgdGhlbiBhc2tpbmcgdGhlIHVzZXIuIEFmdGVyIHRoaXMgZnVuY3Rpb24KKyAqIHJldHVybnMsIHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGRzIG9mIHRoZSBjcmVkZW50aWFsIGFyZQorICogZ3VhcmFudGVlZCB0byBiZSBub24tTlVMTC4gSWYgYW4gZXJyb3Igb2NjdXJzLCB0aGUgZnVuY3Rpb24gd2lsbAorICogZGllKCkuCisgKi8KIHZvaWQgY3JlZGVudGlhbF9maWxsKHN0cnVjdCBjcmVkZW50aWFsICopOworCisvKioKKyAqIEluZm9ybSB0aGUgY3JlZGVudGlhbCBzdWJzeXN0ZW0gdGhhdCB0aGUgcHJvdmlkZWQgY3JlZGVudGlhbHMKKyAqIHdlcmUgc3VjY2Vzc2Z1bGx5IHVzZWQgZm9yIGF1dGhlbnRpY2F0aW9uLiAgVGhpcyB3aWxsIGNhdXNlIHRoZQorICogY3JlZGVudGlhbCBzdWJzeXN0ZW0gdG8gbm90aWZ5IGFueSBoZWxwZXJzIG9mIHRoZSBhcHByb3ZhbCwgc28KKyAqIHRoYXQgdGhleSBtYXkgc3RvcmUgdGhlIHJlc3VsdCB0byBiZSB1c2VkIGFnYWluLiAgQW55IGVycm9ycworICogZnJvbSBoZWxwZXJzIGFyZSBpZ25vcmVkLgorICovCiB2b2lkIGNyZWRlbnRpYWxfYXBwcm92ZShzdHJ1Y3QgY3JlZGVudGlhbCAqKTsKKworLyoqCisgKiBJbmZvcm0gdGhlIGNyZWRlbnRpYWwgc3Vic3lzdGVtIHRoYXQgdGhlIHByb3ZpZGVkIGNyZWRlbnRpYWxzCisgKiBoYXZlIGJlZW4gcmVqZWN0ZWQuIFRoaXMgd2lsbCBjYXVzZSB0aGUgY3JlZGVudGlhbCBzdWJzeXN0ZW0gdG8KKyAqIG5vdGlmeSBhbnkgaGVscGVycyBvZiB0aGUgcmVqZWN0aW9uICh3aGljaCBhbGxvd3MgdGhlbSwgZm9yCisgKiBleGFtcGxlLCB0byBwdXJnZSB0aGUgaW52YWxpZCBjcmVkZW50aWFscyBmcm9tIHN0b3JhZ2UpLiBJdAorICogd2lsbCBhbHNvIGZyZWUoKSB0aGUgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkcyBvZiB0aGUKKyAqIGNyZWRlbnRpYWwgYW5kIHNldCB0aGVtIHRvIE5VTEwgKHJlYWR5aW5nIHRoZSBjcmVkZW50aWFsIGZvcgorICogYW5vdGhlciBjYWxsIHRvIGBjcmVkZW50aWFsX2ZpbGxgKS4gQW55IGVycm9ycyBmcm9tIGhlbHBlcnMgYXJlCisgKiBpZ25vcmVkLgorICovCiB2b2lkIGNyZWRlbnRpYWxfcmVqZWN0KHN0cnVjdCBjcmVkZW50aWFsICopOwogCiBpbnQgY3JlZGVudGlhbF9yZWFkKHN0cnVjdCBjcmVkZW50aWFsICosIEZJTEUgKik7CiB2b2lkIGNyZWRlbnRpYWxfd3JpdGUoY29uc3Qgc3RydWN0IGNyZWRlbnRpYWwgKiwgRklMRSAqKTsKKworLyogUGFyc2UgYSBVUkwgaW50byBicm9rZW4tZG93biBjcmVkZW50aWFsIGZpZWxkcy4gKi8KIHZvaWQgY3JlZGVudGlhbF9mcm9tX3VybChzdHJ1Y3QgY3JlZGVudGlhbCAqLCBjb25zdCBjaGFyICp1cmwpOworCiBpbnQgY3JlZGVudGlhbF9tYXRjaChjb25zdCBzdHJ1Y3QgY3JlZGVudGlhbCAqaGF2ZSwKIAkJICAgICBjb25zdCBzdHJ1Y3QgY3JlZGVudGlhbCAqd2FudCk7CiAKZGlmZiAtLWdpdCBhL2NzdW0tZmlsZS5oIGIvY3N1bS1maWxlLmgKaW5kZXggM2JmNzE4NC4uZjljYmQzMSAxMDA2NDQKLS0tIGEvY3N1bS1maWxlLmgKKysrIGIvY3N1bS1maWxlLmgKQEAgLTI1LDIyICsyNSwzMSBAQAogCWdpdF9oYXNoX2N0eCBjdHg7CiB9OwogCi1leHRlcm4gdm9pZCBoYXNoZmlsZV9jaGVja3BvaW50KHN0cnVjdCBoYXNoZmlsZSAqLCBzdHJ1Y3QgaGFzaGZpbGVfY2hlY2twb2ludCAqKTsKLWV4dGVybiBpbnQgaGFzaGZpbGVfdHJ1bmNhdGUoc3RydWN0IGhhc2hmaWxlICosIHN0cnVjdCBoYXNoZmlsZV9jaGVja3BvaW50ICopOwordm9pZCBoYXNoZmlsZV9jaGVja3BvaW50KHN0cnVjdCBoYXNoZmlsZSAqLCBzdHJ1Y3QgaGFzaGZpbGVfY2hlY2twb2ludCAqKTsKK2ludCBoYXNoZmlsZV90cnVuY2F0ZShzdHJ1Y3QgaGFzaGZpbGUgKiwgc3RydWN0IGhhc2hmaWxlX2NoZWNrcG9pbnQgKik7CiAKIC8qIGZpbmFsaXplX2hhc2hmaWxlIGZsYWdzICovCiAjZGVmaW5lIENTVU1fQ0xPU0UJCTEKICNkZWZpbmUgQ1NVTV9GU1lOQwkJMgogI2RlZmluZSBDU1VNX0hBU0hfSU5fU1RSRUFNCTQKIAotZXh0ZXJuIHN0cnVjdCBoYXNoZmlsZSAqaGFzaGZkKGludCBmZCwgY29uc3QgY2hhciAqbmFtZSk7Ci1leHRlcm4gc3RydWN0IGhhc2hmaWxlICpoYXNoZmRfY2hlY2soY29uc3QgY2hhciAqbmFtZSk7Ci1leHRlcm4gc3RydWN0IGhhc2hmaWxlICpoYXNoZmRfdGhyb3VnaHB1dChpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBwcm9ncmVzcyAqdHApOwotZXh0ZXJuIGludCBmaW5hbGl6ZV9oYXNoZmlsZShzdHJ1Y3QgaGFzaGZpbGUgKiwgdW5zaWduZWQgY2hhciAqLCB1bnNpZ25lZCBpbnQpOwotZXh0ZXJuIHZvaWQgaGFzaHdyaXRlKHN0cnVjdCBoYXNoZmlsZSAqLCBjb25zdCB2b2lkICosIHVuc2lnbmVkIGludCk7Ci1leHRlcm4gdm9pZCBoYXNoZmx1c2goc3RydWN0IGhhc2hmaWxlICpmKTsKLWV4dGVybiB2b2lkIGNyYzMyX2JlZ2luKHN0cnVjdCBoYXNoZmlsZSAqKTsKLWV4dGVybiB1aW50MzJfdCBjcmMzMl9lbmQoc3RydWN0IGhhc2hmaWxlICopOworc3RydWN0IGhhc2hmaWxlICpoYXNoZmQoaW50IGZkLCBjb25zdCBjaGFyICpuYW1lKTsKK3N0cnVjdCBoYXNoZmlsZSAqaGFzaGZkX2NoZWNrKGNvbnN0IGNoYXIgKm5hbWUpOworc3RydWN0IGhhc2hmaWxlICpoYXNoZmRfdGhyb3VnaHB1dChpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBwcm9ncmVzcyAqdHApOworaW50IGZpbmFsaXplX2hhc2hmaWxlKHN0cnVjdCBoYXNoZmlsZSAqLCB1bnNpZ25lZCBjaGFyICosIHVuc2lnbmVkIGludCk7Cit2b2lkIGhhc2h3cml0ZShzdHJ1Y3QgaGFzaGZpbGUgKiwgY29uc3Qgdm9pZCAqLCB1bnNpZ25lZCBpbnQpOwordm9pZCBoYXNoZmx1c2goc3RydWN0IGhhc2hmaWxlICpmKTsKK3ZvaWQgY3JjMzJfYmVnaW4oc3RydWN0IGhhc2hmaWxlICopOwordWludDMyX3QgY3JjMzJfZW5kKHN0cnVjdCBoYXNoZmlsZSAqKTsKKworLyoKKyAqIFJldHVybnMgdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyBmZWQgdG8gdGhlIGhhc2hmaWxlIHNvIGZhciAoaW5jbHVkaW5nIG9uZXMKKyAqIHRoYXQgaGF2ZSBub3QgYmVlbiB3cml0dGVuIG91dCB0byB0aGUgZGVzY3JpcHRvciB5ZXQpLgorICovCitzdGF0aWMgaW5saW5lIG9mZl90IGhhc2hmaWxlX3RvdGFsKHN0cnVjdCBoYXNoZmlsZSAqZikKK3sKKwlyZXR1cm4gZi0+dG90YWwgKyBmLT5vZmZzZXQ7Cit9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBoYXNod3JpdGVfdTgoc3RydWN0IGhhc2hmaWxlICpmLCB1aW50OF90IGRhdGEpCiB7CmRpZmYgLS1naXQgYS9kYWVtb24uYyBiL2RhZW1vbi5jCmluZGV4IDlkMmUwZDIuLmZkNjY5ZWQgMTAwNjQ0Ci0tLSBhL2RhZW1vbi5jCisrKyBiL2RhZW1vbi5jCkBAIC01OTgsNyArNTk4LDcgQEAKICAqIFJlYWQgdGhlIGhvc3QgYXMgc3VwcGxpZWQgYnkgdGhlIGNsaWVudCBjb25uZWN0aW9uLgogICoKICAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBjaGFyYWN0ZXIgYWZ0ZXIgdGhlIE5VTCBieXRlIHRlcm1pbmF0aW5nIHRoZSBob3N0Ci0gKiBhcmd1ZW1udCwgb3IgJ2V4dHJhX2FyZ3MnIGlmIHRoZXJlIGlzIG5vIGhvc3QgYXJndWVtbnQuCisgKiBhcmd1bWVudCwgb3IgJ2V4dHJhX2FyZ3MnIGlmIHRoZXJlIGlzIG5vIGhvc3QgYXJndW1lbnQuCiAgKi8KIHN0YXRpYyBjaGFyICpwYXJzZV9ob3N0X2FyZyhzdHJ1Y3QgaG9zdGluZm8gKmhpLCBjaGFyICpleHRyYV9hcmdzLCBpbnQgYnVmbGVuKQogewpAQCAtNjUyLDcgKzY1Miw3IEBACiAJCSAqIHNlcnZpY2UgdGhhdCB3aWxsIGJlIHJ1bi4KIAkJICoKIAkJICogSWYgdGhlcmUgZW5kcyB1cCBiZWluZyBhIHBhcnRpY3VsYXIgYXJnIGluIHRoZSBmdXR1cmUgdGhhdAotCQkgKiBnaXQtZGFlbW9uIG5lZWRzIHRvIHBhcnNlIHNwZWNpZmljbHkgKGxpa2UgdGhlICdob3N0JyBhcmcpCisJCSAqIGdpdC1kYWVtb24gbmVlZHMgdG8gcGFyc2Ugc3BlY2lmaWNhbGx5IChsaWtlIHRoZSAnaG9zdCcgYXJnKQogCQkgKiB0aGVuIGl0IGNhbiBiZSBwYXJzZWQgaGVyZSBhbmQgbm90IGFkZGVkIHRvICdnaXRfcHJvdG9jb2wnLgogCQkgKi8KIAkJaWYgKCphcmcpIHsKZGlmZiAtLWdpdCBhL2RhdGUuYyBiL2RhdGUuYwppbmRleCA5YmMxNWRmLi5iMGQ5YTg0IDEwMDY0NAotLS0gYS9kYXRlLmMKKysrIGIvZGF0ZS5jCkBAIC02NCwzNSArNjQsMjkgQEAKICAqIHRoaW5nLCB3aGljaCBtZWFucyB0aGF0IHR6IC0wMTAwIGlzIHBhc3NlZCBpbiBhcyB0aGUgaW50ZWdlciAtMTAwLAogICogZXZlbiB0aG91Z2ggaXQgbWVhbnMgInNpeHR5IG1pbnV0ZXMgb2ZmIgogICovCi1zdGF0aWMgc3RydWN0IHRtICp0aW1lX3RvX3RtKHRpbWVzdGFtcF90IHRpbWUsIGludCB0eikKK3N0YXRpYyBzdHJ1Y3QgdG0gKnRpbWVfdG9fdG0odGltZXN0YW1wX3QgdGltZSwgaW50IHR6LCBzdHJ1Y3QgdG0gKnRtKQogewogCXRpbWVfdCB0ID0gZ21fdGltZV90KHRpbWUsIHR6KTsKLQlyZXR1cm4gZ210aW1lKCZ0KTsKKwlyZXR1cm4gZ210aW1lX3IoJnQsIHRtKTsKIH0KIAotc3RhdGljIHN0cnVjdCB0bSAqdGltZV90b190bV9sb2NhbCh0aW1lc3RhbXBfdCB0aW1lKQorc3RhdGljIHN0cnVjdCB0bSAqdGltZV90b190bV9sb2NhbCh0aW1lc3RhbXBfdCB0aW1lLCBzdHJ1Y3QgdG0gKnRtKQogewogCXRpbWVfdCB0ID0gdGltZTsKLQlyZXR1cm4gbG9jYWx0aW1lKCZ0KTsKKwlyZXR1cm4gbG9jYWx0aW1lX3IoJnQsIHRtKTsKIH0KIAogLyoKLSAqIFdoYXQgdmFsdWUgb2YgInR6IiB3YXMgaW4gZWZmZWN0IGJhY2sgdGhlbiBhdCAidGltZSIgaW4gdGhlCi0gKiBsb2NhbCB0aW1lem9uZT8KKyAqIEZpbGwgaW4gdGhlIGxvY2FsdGltZSAnc3RydWN0IHRtJyBmb3IgdGhlIHN1cHBsaWVkIHRpbWUsCisgKiBhbmQgcmV0dXJuIHRoZSBsb2NhbCB0ei4KICAqLwotc3RhdGljIGludCBsb2NhbF90em9mZnNldCh0aW1lc3RhbXBfdCB0aW1lKQorc3RhdGljIGludCBsb2NhbF90aW1lX3R6b2Zmc2V0KHRpbWVfdCB0LCBzdHJ1Y3QgdG0gKnRtKQogewotCXRpbWVfdCB0LCB0X2xvY2FsOwotCXN0cnVjdCB0bSB0bTsKKwl0aW1lX3QgdF9sb2NhbDsKIAlpbnQgb2Zmc2V0LCBlYXN0d2VzdDsKIAotCWlmIChkYXRlX292ZXJmbG93cyh0aW1lKSkKLQkJZGllKCJUaW1lc3RhbXAgdG9vIGxhcmdlIGZvciB0aGlzIHN5c3RlbTogJSJQUkl0aW1lLCB0aW1lKTsKLQotCXQgPSAodGltZV90KXRpbWU7Ci0JbG9jYWx0aW1lX3IoJnQsICZ0bSk7Ci0JdF9sb2NhbCA9IHRtX3RvX3RpbWVfdCgmdG0pOwotCisJbG9jYWx0aW1lX3IoJnQsIHRtKTsKKwl0X2xvY2FsID0gdG1fdG9fdGltZV90KHRtKTsKIAlpZiAodF9sb2NhbCA9PSAtMSkKIAkJcmV0dXJuIDA7IC8qIGVycm9yOyBqdXN0IHVzZSArMDAwMCAqLwogCWlmICh0X2xvY2FsIDwgdCkgewpAQCAtMTA3LDE2ICsxMDEsNDQgQEAKIAlyZXR1cm4gb2Zmc2V0ICogZWFzdHdlc3Q7CiB9CiAKLXZvaWQgc2hvd19kYXRlX3JlbGF0aXZlKHRpbWVzdGFtcF90IHRpbWUsIGludCB0eiwKLQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqbm93LAotCQkJICAgICAgIHN0cnVjdCBzdHJidWYgKnRpbWVidWYpCisvKgorICogV2hhdCB2YWx1ZSBvZiAidHoiIHdhcyBpbiBlZmZlY3QgYmFjayB0aGVuIGF0ICJ0aW1lIiBpbiB0aGUKKyAqIGxvY2FsIHRpbWV6b25lPworICovCitzdGF0aWMgaW50IGxvY2FsX3R6b2Zmc2V0KHRpbWVzdGFtcF90IHRpbWUpCiB7CisJc3RydWN0IHRtIHRtOworCisJaWYgKGRhdGVfb3ZlcmZsb3dzKHRpbWUpKQorCQlkaWUoIlRpbWVzdGFtcCB0b28gbGFyZ2UgZm9yIHRoaXMgc3lzdGVtOiAlIlBSSXRpbWUsIHRpbWUpOworCisJcmV0dXJuIGxvY2FsX3RpbWVfdHpvZmZzZXQoKHRpbWVfdCl0aW1lLCAmdG0pOworfQorCitzdGF0aWMgdm9pZCBnZXRfdGltZShzdHJ1Y3QgdGltZXZhbCAqbm93KQoreworCWNvbnN0IGNoYXIgKng7CisKKwl4ID0gZ2V0ZW52KCJHSVRfVEVTVF9EQVRFX05PVyIpOworCWlmICh4KSB7CisJCW5vdy0+dHZfc2VjID0gYXRvaSh4KTsKKwkJbm93LT50dl91c2VjID0gMDsKKwl9CisJZWxzZQorCQlnZXR0aW1lb2ZkYXkobm93LCBOVUxMKTsKK30KKwordm9pZCBzaG93X2RhdGVfcmVsYXRpdmUodGltZXN0YW1wX3QgdGltZSwgc3RydWN0IHN0cmJ1ZiAqdGltZWJ1ZikKK3sKKwlzdHJ1Y3QgdGltZXZhbCBub3c7CiAJdGltZXN0YW1wX3QgZGlmZjsKLQlpZiAobm93LT50dl9zZWMgPCB0aW1lKSB7CisKKwlnZXRfdGltZSgmbm93KTsKKwlpZiAobm93LnR2X3NlYyA8IHRpbWUpIHsKIAkJc3RyYnVmX2FkZHN0cih0aW1lYnVmLCBfKCJpbiB0aGUgZnV0dXJlIikpOwogCQlyZXR1cm47CiAJfQotCWRpZmYgPSBub3ctPnR2X3NlYyAtIHRpbWU7CisJZGlmZiA9IG5vdy50dl9zZWMgLSB0aW1lOwogCWlmIChkaWZmIDwgOTApIHsKIAkJc3RyYnVmX2FkZGYodGltZWJ1ZiwKIAkJCSBRXygiJSJQUkl0aW1lIiBzZWNvbmQgYWdvIiwgIiUiUFJJdGltZSIgc2Vjb25kcyBhZ28iLCBkaWZmKSwgZGlmZik7CkBAIC0xOTEsOSArMjEzLDc5IEBACiAJcmV0dXJuICZtb2RlOwogfQogCitzdGF0aWMgdm9pZCBzaG93X2RhdGVfbm9ybWFsKHN0cnVjdCBzdHJidWYgKmJ1ZiwgdGltZXN0YW1wX3QgdGltZSwgc3RydWN0IHRtICp0bSwgaW50IHR6LCBzdHJ1Y3QgdG0gKmh1bWFuX3RtLCBpbnQgaHVtYW5fdHosIGludCBsb2NhbCkKK3sKKwlzdHJ1Y3QgeworCQl1bnNpZ25lZCBpbnQJeWVhcjoxLAorCQkJCWRhdGU6MSwKKwkJCQl3ZGF5OjEsCisJCQkJdGltZToxLAorCQkJCXNlY29uZHM6MSwKKwkJCQl0ejoxOworCX0gaGlkZSA9IHsgMCB9OworCisJaGlkZS50eiA9IGxvY2FsIHx8IHR6ID09IGh1bWFuX3R6OworCWhpZGUueWVhciA9IHRtLT50bV95ZWFyID09IGh1bWFuX3RtLT50bV95ZWFyOworCWlmIChoaWRlLnllYXIpIHsKKwkJaWYgKHRtLT50bV9tb24gPT0gaHVtYW5fdG0tPnRtX21vbikgeworCQkJaWYgKHRtLT50bV9tZGF5ID4gaHVtYW5fdG0tPnRtX21kYXkpIHsKKwkJCQkvKiBGdXR1cmUgZGF0ZTogdGhpbmsgdGltZXpvbmVzICovCisJCQl9IGVsc2UgaWYgKHRtLT50bV9tZGF5ID09IGh1bWFuX3RtLT50bV9tZGF5KSB7CisJCQkJaGlkZS5kYXRlID0gaGlkZS53ZGF5ID0gMTsKKwkJCX0gZWxzZSBpZiAodG0tPnRtX21kYXkgKyA1ID4gaHVtYW5fdG0tPnRtX21kYXkpIHsKKwkJCQkvKiBMZWF2ZSBqdXN0IHdlZWtkYXkgaWYgaXQgd2FzIGEgZmV3IGRheXMgYWdvICovCisJCQkJaGlkZS5kYXRlID0gMTsKKwkJCX0KKwkJfQorCX0KKworCS8qIFNob3cgInRvZGF5IiB0aW1lcyBhcyBqdXN0IHJlbGF0aXZlIHRpbWVzICovCisJaWYgKGhpZGUud2RheSkgeworCQlzaG93X2RhdGVfcmVsYXRpdmUodGltZSwgYnVmKTsKKwkJcmV0dXJuOworCX0KKworCS8qCisJICogQWx3YXlzIGhpZGUgc2Vjb25kcyBmb3IgaHVtYW4tcmVhZGFibGUuCisJICogSGlkZSB0aW1lem9uZSBpZiBzaG93aW5nIGRhdGUuCisJICogSGlkZSB3ZWVrZGF5IGFuZCB0aW1lIGlmIHNob3dpbmcgeWVhci4KKwkgKgorCSAqIFRoZSBsb2dpYyBoZXJlIGlzIHR3by1mb2xkOgorCSAqICAoYSkgb25seSBzaG93IGRldGFpbHMgd2hlbiByZWNlbnQgZW5vdWdoIHRvIG1hdHRlcgorCSAqICAoYikga2VlcCB0aGUgbWF4aW11bSBsZW5ndGggInNpbWlsYXIiLCBhbmQgaW4gY2hlY2sKKwkgKi8KKwlpZiAoaHVtYW5fdG0tPnRtX3llYXIpIHsKKwkJaGlkZS5zZWNvbmRzID0gMTsKKwkJaGlkZS50eiB8PSAhaGlkZS5kYXRlOworCQloaWRlLndkYXkgPSBoaWRlLnRpbWUgPSAhaGlkZS55ZWFyOworCX0KKworCWlmICghaGlkZS53ZGF5KQorCQlzdHJidWZfYWRkZihidWYsICIlLjNzICIsIHdlZWtkYXlfbmFtZXNbdG0tPnRtX3dkYXldKTsKKwlpZiAoIWhpZGUuZGF0ZSkKKwkJc3RyYnVmX2FkZGYoYnVmLCAiJS4zcyAlZCAiLCBtb250aF9uYW1lc1t0bS0+dG1fbW9uXSwgdG0tPnRtX21kYXkpOworCisJLyogRG8gd2Ugd2FudCBBTS9QTSBkZXBlbmRpbmcgb24gbG9jYWxlPyAqLworCWlmICghaGlkZS50aW1lKSB7CisJCXN0cmJ1Zl9hZGRmKGJ1ZiwgIiUwMmQ6JTAyZCIsIHRtLT50bV9ob3VyLCB0bS0+dG1fbWluKTsKKwkJaWYgKCFoaWRlLnNlY29uZHMpCisJCQlzdHJidWZfYWRkZihidWYsICI6JTAyZCIsIHRtLT50bV9zZWMpOworCX0gZWxzZQorCQlzdHJidWZfcnRyaW0oYnVmKTsKKworCWlmICghaGlkZS55ZWFyKQorCQlzdHJidWZfYWRkZihidWYsICIgJWQiLCB0bS0+dG1feWVhciArIDE5MDApOworCisJaWYgKCFoaWRlLnR6KQorCQlzdHJidWZfYWRkZihidWYsICIgJSswNWQiLCB0eik7Cit9CisKIGNvbnN0IGNoYXIgKnNob3dfZGF0ZSh0aW1lc3RhbXBfdCB0aW1lLCBpbnQgdHosIGNvbnN0IHN0cnVjdCBkYXRlX21vZGUgKm1vZGUpCiB7CiAJc3RydWN0IHRtICp0bTsKKwlzdHJ1Y3QgdG0gdG1idWYgPSB7IDAgfTsKKwlzdHJ1Y3QgdG0gaHVtYW5fdG0gPSB7IDAgfTsKKwlpbnQgaHVtYW5fdHogPSAtMTsKIAlzdGF0aWMgc3RydWN0IHN0cmJ1ZiB0aW1lYnVmID0gU1RSQlVGX0lOSVQ7CiAKIAlpZiAobW9kZS0+dHlwZSA9PSBEQVRFX1VOSVgpIHsKQEAgLTIwMiw2ICsyOTQsMTUgQEAKIAkJcmV0dXJuIHRpbWVidWYuYnVmOwogCX0KIAorCWlmIChtb2RlLT50eXBlID09IERBVEVfSFVNQU4pIHsKKwkJc3RydWN0IHRpbWV2YWwgbm93OworCisJCWdldF90aW1lKCZub3cpOworCisJCS8qIEZpbGwgaW4gdGhlIGRhdGEgZm9yICJjdXJyZW50IHRpbWUiIGluIGh1bWFuX3R6IGFuZCBodW1hbl90bSAqLworCQlodW1hbl90eiA9IGxvY2FsX3RpbWVfdHpvZmZzZXQobm93LnR2X3NlYywgJmh1bWFuX3RtKTsKKwl9CisKIAlpZiAobW9kZS0+bG9jYWwpCiAJCXR6ID0gbG9jYWxfdHpvZmZzZXQodGltZSk7CiAKQEAgLTIxMiwyMCArMzEzLDE3IEBACiAJfQogCiAJaWYgKG1vZGUtPnR5cGUgPT0gREFURV9SRUxBVElWRSkgewotCQlzdHJ1Y3QgdGltZXZhbCBub3c7Ci0KIAkJc3RyYnVmX3Jlc2V0KCZ0aW1lYnVmKTsKLQkJZ2V0dGltZW9mZGF5KCZub3csIE5VTEwpOwotCQlzaG93X2RhdGVfcmVsYXRpdmUodGltZSwgdHosICZub3csICZ0aW1lYnVmKTsKKwkJc2hvd19kYXRlX3JlbGF0aXZlKHRpbWUsICZ0aW1lYnVmKTsKIAkJcmV0dXJuIHRpbWVidWYuYnVmOwogCX0KIAogCWlmIChtb2RlLT5sb2NhbCkKLQkJdG0gPSB0aW1lX3RvX3RtX2xvY2FsKHRpbWUpOworCQl0bSA9IHRpbWVfdG9fdG1fbG9jYWwodGltZSwgJnRtYnVmKTsKIAllbHNlCi0JCXRtID0gdGltZV90b190bSh0aW1lLCB0eik7CisJCXRtID0gdGltZV90b190bSh0aW1lLCB0eiwgJnRtYnVmKTsKIAlpZiAoIXRtKSB7Ci0JCXRtID0gdGltZV90b190bSgwLCAwKTsKKwkJdG0gPSB0aW1lX3RvX3RtKDAsIDAsICZ0bWJ1Zik7CiAJCXR6ID0gMDsKIAl9CiAKQEAgLTI1OCwxNCArMzU2LDcgQEAKIAkJc3RyYnVmX2FkZGZ0aW1lKCZ0aW1lYnVmLCBtb2RlLT5zdHJmdGltZV9mbXQsIHRtLCB0eiwKIAkJCQkhbW9kZS0+bG9jYWwpOwogCWVsc2UKLQkJc3RyYnVmX2FkZGYoJnRpbWVidWYsICIlLjNzICUuM3MgJWQgJTAyZDolMDJkOiUwMmQgJWQlYyUrMDVkIiwKLQkJCQl3ZWVrZGF5X25hbWVzW3RtLT50bV93ZGF5XSwKLQkJCQltb250aF9uYW1lc1t0bS0+dG1fbW9uXSwKLQkJCQl0bS0+dG1fbWRheSwKLQkJCQl0bS0+dG1faG91ciwgdG0tPnRtX21pbiwgdG0tPnRtX3NlYywKLQkJCQl0bS0+dG1feWVhciArIDE5MDAsCi0JCQkJbW9kZS0+bG9jYWwgPyAwIDogJyAnLAotCQkJCXR6KTsKKwkJc2hvd19kYXRlX25vcm1hbCgmdGltZWJ1ZiwgdGltZSwgdG0sIHR6LCAmaHVtYW5fdG0sIGh1bWFuX3R6LCBtb2RlLT5sb2NhbCk7CiAJcmV0dXJuIHRpbWVidWYuYnVmOwogfQogCkBAIC04MTksMTIgKzkxMCwxOCBAQAogCQlyZXR1cm4gREFURV9TSE9SVDsKIAlpZiAoc2tpcF9wcmVmaXgoZm9ybWF0LCAiZGVmYXVsdCIsIGVuZCkpCiAJCXJldHVybiBEQVRFX05PUk1BTDsKKwlpZiAoc2tpcF9wcmVmaXgoZm9ybWF0LCAiaHVtYW4iLCBlbmQpKQorCQlyZXR1cm4gREFURV9IVU1BTjsKIAlpZiAoc2tpcF9wcmVmaXgoZm9ybWF0LCAicmF3IiwgZW5kKSkKIAkJcmV0dXJuIERBVEVfUkFXOwogCWlmIChza2lwX3ByZWZpeChmb3JtYXQsICJ1bml4IiwgZW5kKSkKIAkJcmV0dXJuIERBVEVfVU5JWDsKIAlpZiAoc2tpcF9wcmVmaXgoZm9ybWF0LCAiZm9ybWF0IiwgZW5kKSkKIAkJcmV0dXJuIERBVEVfU1RSRlRJTUU7CisJLyoKKwkgKiBQbGVhc2UgdXBkYXRlICRfX2dpdF9sb2dfZGF0ZV9mb3JtYXRzIGluCisJICogZ2l0LWNvbXBsZXRpb24uYmFzaCB3aGVuIHlvdSBhZGQgbmV3IGZvcm1hdHMuCisJICovCiAKIAlkaWUoInVua25vd24gZGF0ZSBmb3JtYXQgJXMiLCBmb3JtYXQpOwogfQpAQCAtODMzLDYgKzkzMCwxNCBAQAogewogCWNvbnN0IGNoYXIgKnA7CiAKKwkvKiAiYXV0bzpmb28iIGlzICJpZiB0dHkvcGFnZXIsIHRoZW4gZm9vLCBvdGhlcndpc2Ugbm9ybWFsIiAqLworCWlmIChza2lwX3ByZWZpeChmb3JtYXQsICJhdXRvOiIsICZwKSkgeworCQlpZiAoaXNhdHR5KDEpIHx8IHBhZ2VyX2luX3VzZSgpKQorCQkJZm9ybWF0ID0gcDsKKwkJZWxzZQorCQkJZm9ybWF0ID0gImRlZmF1bHQiOworCX0KKwogCS8qIGhpc3RvcmljYWwgYWxpYXMgKi8KIAlpZiAoIXN0cmNtcChmb3JtYXQsICJsb2NhbCIpKQogCQlmb3JtYXQgPSAiZGVmYXVsdC1sb2NhbCI7CkBAIC04NTUsMTAgKzk2MCwxMSBAQAogewogCXRpbWVfdCBub3c7CiAJaW50IG9mZnNldDsKKwlzdHJ1Y3QgdG0gdG0gPSB7IDAgfTsKIAogCXRpbWUoJm5vdyk7CiAKLQlvZmZzZXQgPSB0bV90b190aW1lX3QobG9jYWx0aW1lKCZub3cpKSAtIG5vdzsKKwlvZmZzZXQgPSB0bV90b190aW1lX3QobG9jYWx0aW1lX3IoJm5vdywgJnRtKSkgLSBub3c7CiAJb2Zmc2V0IC89IDYwOwogCiAJZGF0ZV9zdHJpbmcobm93LCBvZmZzZXQsIG91dCk7CkBAIC0xMTgwLDE1ICsxMjg2LDE4IEBACiAJcmV0dXJuICh0aW1lc3RhbXBfdCl1cGRhdGVfdG0oJnRtLCAmbm93LCAwKTsKIH0KIAotdGltZXN0YW1wX3QgYXBwcm94aWRhdGVfcmVsYXRpdmUoY29uc3QgY2hhciAqZGF0ZSwgY29uc3Qgc3RydWN0IHRpbWV2YWwgKnR2KQordGltZXN0YW1wX3QgYXBwcm94aWRhdGVfcmVsYXRpdmUoY29uc3QgY2hhciAqZGF0ZSkKIHsKKwlzdHJ1Y3QgdGltZXZhbCB0djsKIAl0aW1lc3RhbXBfdCB0aW1lc3RhbXA7CiAJaW50IG9mZnNldDsKIAlpbnQgZXJyb3JzID0gMDsKIAogCWlmICghcGFyc2VfZGF0ZV9iYXNpYyhkYXRlLCAmdGltZXN0YW1wLCAmb2Zmc2V0KSkKIAkJcmV0dXJuIHRpbWVzdGFtcDsKLQlyZXR1cm4gYXBwcm94aWRhdGVfc3RyKGRhdGUsIHR2LCAmZXJyb3JzKTsKKworCWdldF90aW1lKCZ0dik7CisJcmV0dXJuIGFwcHJveGlkYXRlX3N0cihkYXRlLCAoY29uc3Qgc3RydWN0IHRpbWV2YWwgKikgJnR2LCAmZXJyb3JzKTsKIH0KIAogdGltZXN0YW1wX3QgYXBwcm94aWRhdGVfY2FyZWZ1bChjb25zdCBjaGFyICpkYXRlLCBpbnQgKmVycm9yX3JldCkKQEAgLTEyMDUsNyArMTMxNCw3IEBACiAJCXJldHVybiB0aW1lc3RhbXA7CiAJfQogCi0JZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CisJZ2V0X3RpbWUoJnR2KTsKIAlyZXR1cm4gYXBwcm94aWRhdGVfc3RyKGRhdGUsICZ0diwgZXJyb3JfcmV0KTsKIH0KIApkaWZmIC0tZ2l0IGEvZGVjb3JhdGUuYyBiL2RlY29yYXRlLmMKaW5kZXggZGUzMTMzMS4uYTYwNWIxYiAxMDA2NDQKLS0tIGEvZGVjb3JhdGUuYworKysgYi9kZWNvcmF0ZS5jCkBAIC04LDcgKzgsNyBAQAogCiBzdGF0aWMgdW5zaWduZWQgaW50IGhhc2hfb2JqKGNvbnN0IHN0cnVjdCBvYmplY3QgKm9iaiwgdW5zaWduZWQgaW50IG4pCiB7Ci0JcmV0dXJuIHNoYTFoYXNoKG9iai0+b2lkLmhhc2gpICUgbjsKKwlyZXR1cm4gb2lkaGFzaCgmb2JqLT5vaWQpICUgbjsKIH0KIAogc3RhdGljIHZvaWQgKmluc2VydF9kZWNvcmF0aW9uKHN0cnVjdCBkZWNvcmF0aW9uICpuLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0ICpiYXNlLCB2b2lkICpkZWNvcmF0aW9uKQpkaWZmIC0tZ2l0IGEvZGVjb3JhdGUuaCBiL2RlY29yYXRlLmgKaW5kZXggOTAxNGMxZS4uZWU0M2RlZSAxMDA2NDQKLS0tIGEvZGVjb3JhdGUuaAorKysgYi9kZWNvcmF0ZS5oCkBAIC01MCwxMiArNTAsMTIgQEAKICAqIE5VTEwpLCByZXR1cm5pbmcgdGhlIHByZXZpb3VzbHkgYXNzb2NpYXRlZCBwb2ludGVyLiBJZiB0aGVyZSBpcyBubyBwcmV2aW91cwogICogYXNzb2NpYXRpb24sIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBOVUxMLgogICovCi1leHRlcm4gdm9pZCAqYWRkX2RlY29yYXRpb24oc3RydWN0IGRlY29yYXRpb24gKm4sIGNvbnN0IHN0cnVjdCBvYmplY3QgKm9iaiwgdm9pZCAqZGVjb3JhdGlvbik7Cit2b2lkICphZGRfZGVjb3JhdGlvbihzdHJ1Y3QgZGVjb3JhdGlvbiAqbiwgY29uc3Qgc3RydWN0IG9iamVjdCAqb2JqLCB2b2lkICpkZWNvcmF0aW9uKTsKIAogLyoKICAqIFJldHVybiB0aGUgcG9pbnRlciBhc3NvY2lhdGVkIHRvIHRoZSBnaXZlbiBvYmplY3QuIElmIHRoZXJlIGlzIG5vCiAgKiBhc3NvY2lhdGlvbiwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIE5VTEwuCiAgKi8KLWV4dGVybiB2b2lkICpsb29rdXBfZGVjb3JhdGlvbihzdHJ1Y3QgZGVjb3JhdGlvbiAqbiwgY29uc3Qgc3RydWN0IG9iamVjdCAqb2JqKTsKK3ZvaWQgKmxvb2t1cF9kZWNvcmF0aW9uKHN0cnVjdCBkZWNvcmF0aW9uICpuLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0ICpvYmopOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RlbHRhLWlzbGFuZHMuYyBiL2RlbHRhLWlzbGFuZHMuYwppbmRleCA4ZTUwMThlLi4wOWRiZDNjIDEwMDY0NAotLS0gYS9kZWx0YS1pc2xhbmRzLmMKKysrIGIvZGVsdGEtaXNsYW5kcy5jCkBAIC0yMiw3ICsyMiw3IEBACiAKIEtIQVNIX0lOSVQoc3RyLCBjb25zdCBjaGFyICosIHZvaWQgKiwgMSwga2hfc3RyX2hhc2hfZnVuYywga2hfc3RyX2hhc2hfZXF1YWwpCiAKLXN0YXRpYyBraGFzaF9zaGExICppc2xhbmRfbWFya3M7CitzdGF0aWMga2hfb2lkX21hcF90ICppc2xhbmRfbWFya3M7CiBzdGF0aWMgdW5zaWduZWQgaXNsYW5kX2NvdW50ZXI7CiBzdGF0aWMgdW5zaWduZWQgaXNsYW5kX2NvdW50ZXJfY29yZTsKIApAQCAtMTA1LDcgKzEwNSw3IEBACiAJICogSWYgd2UgZG9uJ3QgaGF2ZSBhIGJpdG1hcCBmb3IgdGhlIHRhcmdldCwgd2UgY2FuIGRlbHRhIGl0CiAJICogYWdhaW5zdCBhbnl0aGluZyAtLSBpdCdzIG5vdCBhbiBpbXBvcnRhbnQgb2JqZWN0CiAJICovCi0JdHJnX3BvcyA9IGtoX2dldF9zaGExKGlzbGFuZF9tYXJrcywgdHJnX29pZC0+aGFzaCk7CisJdHJnX3BvcyA9IGtoX2dldF9vaWRfbWFwKGlzbGFuZF9tYXJrcywgKnRyZ19vaWQpOwogCWlmICh0cmdfcG9zID49IGtoX2VuZChpc2xhbmRfbWFya3MpKQogCQlyZXR1cm4gMTsKIApAQCAtMTEzLDcgKzExMyw3IEBACiAJICogaWYgdGhlIHNvdXJjZSAob3VyIGRlbHRhIGJhc2UpIGRvZXNuJ3QgaGF2ZSBhIGJpdG1hcCwKIAkgKiB3ZSBkb24ndCB3YW50IHRvIGJhc2UgYW55IGRlbHRhcyBvbiBpdCEKIAkgKi8KLQlzcmNfcG9zID0ga2hfZ2V0X3NoYTEoaXNsYW5kX21hcmtzLCBzcmNfb2lkLT5oYXNoKTsKKwlzcmNfcG9zID0ga2hfZ2V0X29pZF9tYXAoaXNsYW5kX21hcmtzLCAqc3JjX29pZCk7CiAJaWYgKHNyY19wb3MgPj0ga2hfZW5kKGlzbGFuZF9tYXJrcykpCiAJCXJldHVybiAwOwogCkBAIC0xMjksMTEgKzEyOSwxMSBAQAogCWlmICghaXNsYW5kX21hcmtzKQogCQlyZXR1cm4gMDsKIAotCWFfcG9zID0ga2hfZ2V0X3NoYTEoaXNsYW5kX21hcmtzLCBhLT5oYXNoKTsKKwlhX3BvcyA9IGtoX2dldF9vaWRfbWFwKGlzbGFuZF9tYXJrcywgKmEpOwogCWlmIChhX3BvcyA8IGtoX2VuZChpc2xhbmRfbWFya3MpKQogCQlhX2JpdG1hcCA9IGtoX3ZhbHVlKGlzbGFuZF9tYXJrcywgYV9wb3MpOwogCi0JYl9wb3MgPSBraF9nZXRfc2hhMShpc2xhbmRfbWFya3MsIGItPmhhc2gpOworCWJfcG9zID0ga2hfZ2V0X29pZF9tYXAoaXNsYW5kX21hcmtzLCAqYik7CiAJaWYgKGJfcG9zIDwga2hfZW5kKGlzbGFuZF9tYXJrcykpCiAJCWJfYml0bWFwID0ga2hfdmFsdWUoaXNsYW5kX21hcmtzLCBiX3Bvcyk7CiAKQEAgLTE1NCw3ICsxNTQsNyBAQAogCWtoaXRlcl90IHBvczsKIAlpbnQgaGFzaF9yZXQ7CiAKLQlwb3MgPSBraF9wdXRfc2hhMShpc2xhbmRfbWFya3MsIG9iai0+b2lkLmhhc2gsICZoYXNoX3JldCk7CisJcG9zID0ga2hfcHV0X29pZF9tYXAoaXNsYW5kX21hcmtzLCBvYmotPm9pZCwgJmhhc2hfcmV0KTsKIAlpZiAoaGFzaF9yZXQpCiAJCWtoX3ZhbHVlKGlzbGFuZF9tYXJrcywgcG9zKSA9IGlzbGFuZF9iaXRtYXBfbmV3KE5VTEwpOwogCkBAIC0xNjcsNyArMTY3LDcgQEAKIAlraGl0ZXJfdCBwb3M7CiAJaW50IGhhc2hfcmV0OwogCi0JcG9zID0ga2hfcHV0X3NoYTEoaXNsYW5kX21hcmtzLCBvYmotPm9pZC5oYXNoLCAmaGFzaF9yZXQpOworCXBvcyA9IGtoX3B1dF9vaWRfbWFwKGlzbGFuZF9tYXJrcywgb2JqLT5vaWQsICZoYXNoX3JldCk7CiAJaWYgKGhhc2hfcmV0KSB7CiAJCS8qCiAJCSAqIFdlIGRvbid0IGhhdmUgb25lIHlldDsgbWFrZSBhIGNvcHktb24td3JpdGUgb2YgdGhlCkBAIC0xOTAsMTMgKzE5MCwxNSBAQAogCWlzbGFuZF9iaXRtYXBfb3IoYiwgbWFya3MpOwogfQogCi1zdGF0aWMgdm9pZCBtYXJrX3JlbW90ZV9pc2xhbmRfMShzdHJ1Y3QgcmVtb3RlX2lzbGFuZCAqcmwsIGludCBpc19jb3JlX2lzbGFuZCkKK3N0YXRpYyB2b2lkIG1hcmtfcmVtb3RlX2lzbGFuZF8xKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSBzdHJ1Y3QgcmVtb3RlX2lzbGFuZCAqcmwsCisJCQkJIGludCBpc19jb3JlX2lzbGFuZCkKIHsKIAl1aW50MzJfdCBpOwogCiAJZm9yIChpID0gMDsgaSA8IHJsLT5vaWRzLm5yOyArK2kpIHsKIAkJc3RydWN0IGlzbGFuZF9iaXRtYXAgKm1hcmtzOwotCQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSBwYXJzZV9vYmplY3QodGhlX3JlcG9zaXRvcnksICZybC0+b2lkcy5vaWRbaV0pOworCQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSBwYXJzZV9vYmplY3QociwgJnJsLT5vaWRzLm9pZFtpXSk7CiAKIAkJaWYgKCFvYmopCiAJCQljb250aW51ZTsKQEAgLTIxMSw3ICsyMTMsNyBAQAogCQl3aGlsZSAob2JqICYmIG9iai0+dHlwZSA9PSBPQkpfVEFHKSB7CiAJCQlvYmogPSAoKHN0cnVjdCB0YWcgKilvYmopLT50YWdnZWQ7CiAJCQlpZiAob2JqKSB7Ci0JCQkJcGFyc2Vfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCAmb2JqLT5vaWQpOworCQkJCXBhcnNlX29iamVjdChyLCAmb2JqLT5vaWQpOwogCQkJCW1hcmtzID0gY3JlYXRlX29yX2dldF9pc2xhbmRfbWFya3Mob2JqKTsKIAkJCQlpc2xhbmRfYml0bWFwX3NldChtYXJrcywgaXNsYW5kX2NvdW50ZXIpOwogCQkJfQpAQCAtMjM3LDcgKzIzOSw5IEBACiAJcmV0dXJuIHRvZG9fYS0+ZGVwdGggLSB0b2RvX2ItPmRlcHRoOwogfQogCi12b2lkIHJlc29sdmVfdHJlZV9pc2xhbmRzKGludCBwcm9ncmVzcywgc3RydWN0IHBhY2tpbmdfZGF0YSAqdG9fcGFjaykKK3ZvaWQgcmVzb2x2ZV90cmVlX2lzbGFuZHMoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgIGludCBwcm9ncmVzcywKKwkJCSAgc3RydWN0IHBhY2tpbmdfZGF0YSAqdG9fcGFjaykKIHsKIAlzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzX3N0YXRlID0gTlVMTDsKIAlzdHJ1Y3QgdHJlZV9pc2xhbmRzX3RvZG8gKnRvZG87CkBAIC0yNzUsMTMgKzI3OSwxMyBAQAogCQlzdHJ1Y3QgbmFtZV9lbnRyeSBlbnRyeTsKIAkJa2hpdGVyX3QgcG9zOwogCi0JCXBvcyA9IGtoX2dldF9zaGExKGlzbGFuZF9tYXJrcywgZW50LT5pZHgub2lkLmhhc2gpOworCQlwb3MgPSBraF9nZXRfb2lkX21hcChpc2xhbmRfbWFya3MsIGVudC0+aWR4Lm9pZCk7CiAJCWlmIChwb3MgPj0ga2hfZW5kKGlzbGFuZF9tYXJrcykpCiAJCQljb250aW51ZTsKIAogCQlyb290X21hcmtzID0ga2hfdmFsdWUoaXNsYW5kX21hcmtzLCBwb3MpOwogCi0JCXRyZWUgPSBsb29rdXBfdHJlZSh0aGVfcmVwb3NpdG9yeSwgJmVudC0+aWR4Lm9pZCk7CisJCXRyZWUgPSBsb29rdXBfdHJlZShyLCAmZW50LT5pZHgub2lkKTsKIAkJaWYgKCF0cmVlIHx8IHBhcnNlX3RyZWUodHJlZSkgPCAwKQogCQkJZGllKF8oImJhZCB0cmVlIG9iamVjdCAlcyIpLCBvaWRfdG9faGV4KCZlbnQtPmlkeC5vaWQpKTsKIApAQCAtMjkyLDcgKzI5Niw3IEBACiAJCQlpZiAoU19JU0dJVExJTksoZW50cnkubW9kZSkpCiAJCQkJY29udGludWU7CiAKLQkJCW9iaiA9IGxvb2t1cF9vYmplY3QodGhlX3JlcG9zaXRvcnksIGVudHJ5Lm9pZC0+aGFzaCk7CisJCQlvYmogPSBsb29rdXBfb2JqZWN0KHIsICZlbnRyeS5vaWQpOwogCQkJaWYgKCFvYmopCiAJCQkJY29udGludWU7CiAKQEAgLTQxNSw3ICs0MTksNyBAQAogCXJldHVybiBOVUxMOwogfQogCi1zdGF0aWMgdm9pZCBkZWR1cGxpY2F0ZV9pc2xhbmRzKHZvaWQpCitzdGF0aWMgdm9pZCBkZWR1cGxpY2F0ZV9pc2xhbmRzKHN0cnVjdCByZXBvc2l0b3J5ICpyKQogewogCXN0cnVjdCByZW1vdGVfaXNsYW5kICppc2xhbmQsICpjb3JlID0gTlVMTCwgKipsaXN0OwogCXVuc2lnbmVkIGludCBpc2xhbmRfY291bnQsIGRzdCwgc3JjLCByZWYsIGkgPSAwOwpAQCAtNDQ0LDI3ICs0NDgsMjggQEAKIAljb3JlID0gZ2V0X2NvcmVfaXNsYW5kKCk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgaXNsYW5kX2NvdW50OyArK2kpIHsKLQkJbWFya19yZW1vdGVfaXNsYW5kXzEobGlzdFtpXSwgY29yZSAmJiBsaXN0W2ldLT5oYXNoID09IGNvcmUtPmhhc2gpOworCQltYXJrX3JlbW90ZV9pc2xhbmRfMShyLCBsaXN0W2ldLCBjb3JlICYmIGxpc3RbaV0tPmhhc2ggPT0gY29yZS0+aGFzaCk7CiAJfQogCiAJZnJlZShsaXN0KTsKIH0KIAotdm9pZCBsb2FkX2RlbHRhX2lzbGFuZHModm9pZCkKK3ZvaWQgbG9hZF9kZWx0YV9pc2xhbmRzKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBpbnQgcHJvZ3Jlc3MpCiB7Ci0JaXNsYW5kX21hcmtzID0ga2hfaW5pdF9zaGExKCk7CisJaXNsYW5kX21hcmtzID0ga2hfaW5pdF9vaWRfbWFwKCk7CiAJcmVtb3RlX2lzbGFuZHMgPSBraF9pbml0X3N0cigpOwogCiAJZ2l0X2NvbmZpZyhpc2xhbmRfY29uZmlnX2NhbGxiYWNrLCBOVUxMKTsKIAlmb3JfZWFjaF9yZWYoZmluZF9pc2xhbmRfZm9yX3JlZiwgTlVMTCk7Ci0JZGVkdXBsaWNhdGVfaXNsYW5kcygpOworCWRlZHVwbGljYXRlX2lzbGFuZHMocik7CiAKLQlmcHJpbnRmKHN0ZGVyciwgXygiTWFya2VkICVkIGlzbGFuZHMsIGRvbmUuXG4iKSwgaXNsYW5kX2NvdW50ZXIpOworCWlmIChwcm9ncmVzcykKKwkJZnByaW50ZihzdGRlcnIsIF8oIk1hcmtlZCAlZCBpc2xhbmRzLCBkb25lLlxuIiksIGlzbGFuZF9jb3VudGVyKTsKIH0KIAogdm9pZCBwcm9wYWdhdGVfaXNsYW5kX21hcmtzKHN0cnVjdCBjb21taXQgKmNvbW1pdCkKIHsKLQlraGl0ZXJfdCBwb3MgPSBraF9nZXRfc2hhMShpc2xhbmRfbWFya3MsIGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoKTsKKwlraGl0ZXJfdCBwb3MgPSBraF9nZXRfb2lkX21hcChpc2xhbmRfbWFya3MsIGNvbW1pdC0+b2JqZWN0Lm9pZCk7CiAKIAlpZiAocG9zIDwga2hfZW5kKGlzbGFuZF9tYXJrcykpIHsKIAkJc3RydWN0IGNvbW1pdF9saXN0ICpwOwpAQCAtNDg2LDcgKzQ5MSw3IEBACiAKIAlmb3IgKGkgPSAwOyBpIDwgdG9fcGFjay0+bnJfb2JqZWN0czsgKytpKSB7CiAJCXN0cnVjdCBvYmplY3RfZW50cnkgKmVudHJ5ID0gJnRvX3BhY2stPm9iamVjdHNbaV07Ci0JCWtoaXRlcl90IHBvcyA9IGtoX2dldF9zaGExKGlzbGFuZF9tYXJrcywgZW50cnktPmlkeC5vaWQuaGFzaCk7CisJCWtoaXRlcl90IHBvcyA9IGtoX2dldF9vaWRfbWFwKGlzbGFuZF9tYXJrcywgZW50cnktPmlkeC5vaWQpOwogCiAJCW9lX3NldF9sYXllcih0b19wYWNrLCBlbnRyeSwgMSk7CiAKZGlmZiAtLWdpdCBhL2RlbHRhLWlzbGFuZHMuaCBiL2RlbHRhLWlzbGFuZHMuaAppbmRleCBiNjM1Y2QwLi5lYjBmOTUyIDEwMDY0NAotLS0gYS9kZWx0YS1pc2xhbmRzLmgKKysrIGIvZGVsdGEtaXNsYW5kcy5oCkBAIC0xLDE0ICsxLDE3IEBACiAjaWZuZGVmIERFTFRBX0lTTEFORFNfSAogI2RlZmluZSBERUxUQV9JU0xBTkRTX0gKIAorc3RydWN0IGNvbW1pdDsKIHN0cnVjdCBvYmplY3RfaWQ7CiBzdHJ1Y3QgcGFja2luZ19kYXRhOwotc3RydWN0IGNvbW1pdDsKK3N0cnVjdCByZXBvc2l0b3J5OwogCiBpbnQgaXNsYW5kX2RlbHRhX2NtcChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICphLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpiKTsKIGludCBpbl9zYW1lX2lzbGFuZChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICosIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKik7Ci12b2lkIHJlc29sdmVfdHJlZV9pc2xhbmRzKGludCBwcm9ncmVzcywgc3RydWN0IHBhY2tpbmdfZGF0YSAqdG9fcGFjayk7Ci12b2lkIGxvYWRfZGVsdGFfaXNsYW5kcyh2b2lkKTsKK3ZvaWQgcmVzb2x2ZV90cmVlX2lzbGFuZHMoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgIGludCBwcm9ncmVzcywKKwkJCSAgc3RydWN0IHBhY2tpbmdfZGF0YSAqdG9fcGFjayk7Cit2b2lkIGxvYWRfZGVsdGFfaXNsYW5kcyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgaW50IHByb2dyZXNzKTsKIHZvaWQgcHJvcGFnYXRlX2lzbGFuZF9tYXJrcyhzdHJ1Y3QgY29tbWl0ICpjb21taXQpOwogaW50IGNvbXB1dGVfcGFja19sYXllcnMoc3RydWN0IHBhY2tpbmdfZGF0YSAqdG9fcGFjayk7CiAKZGlmZiAtLWdpdCBhL2RlbHRhLmggYi9kZWx0YS5oCmluZGV4IDliNjc1MzEuLjJkZjVmZTEgMTAwNjQ0Ci0tLSBhL2RlbHRhLmgKKysrIGIvZGVsdGEuaApAQCAtMTMsNyArMTMsNyBAQAogICogYmVmb3JlIGZyZWVfZGVsdGFfaW5kZXgoKSBpcyBjYWxsZWQuICBUaGUgcmV0dXJuZWQgcG9pbnRlciBtdXN0IGJlIGZyZWVkCiAgKiB1c2luZyBmcmVlX2RlbHRhX2luZGV4KCkuCiAgKi8KLWV4dGVybiBzdHJ1Y3QgZGVsdGFfaW5kZXggKgorc3RydWN0IGRlbHRhX2luZGV4ICoKIGNyZWF0ZV9kZWx0YV9pbmRleChjb25zdCB2b2lkICpidWYsIHVuc2lnbmVkIGxvbmcgYnVmc2l6ZSk7CiAKIC8qCkBAIC0yMSwxNCArMjEsMTQgQEAKICAqCiAgKiBHaXZlbiBwb2ludGVyIG11c3QgYmUgd2hhdCBjcmVhdGVfZGVsdGFfaW5kZXgoKSByZXR1cm5lZCwgb3IgTlVMTC4KICAqLwotZXh0ZXJuIHZvaWQgZnJlZV9kZWx0YV9pbmRleChzdHJ1Y3QgZGVsdGFfaW5kZXggKmluZGV4KTsKK3ZvaWQgZnJlZV9kZWx0YV9pbmRleChzdHJ1Y3QgZGVsdGFfaW5kZXggKmluZGV4KTsKIAogLyoKICAqIHNpemVvZl9kZWx0YV9pbmRleDogcmV0dXJucyBtZW1vcnkgdXNhZ2Ugb2YgZGVsdGEgaW5kZXgKICAqCiAgKiBHaXZlbiBwb2ludGVyIG11c3QgYmUgd2hhdCBjcmVhdGVfZGVsdGFfaW5kZXgoKSByZXR1cm5lZCwgb3IgTlVMTC4KICAqLwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc2l6ZW9mX2RlbHRhX2luZGV4KHN0cnVjdCBkZWx0YV9pbmRleCAqaW5kZXgpOwordW5zaWduZWQgbG9uZyBzaXplb2ZfZGVsdGFfaW5kZXgoc3RydWN0IGRlbHRhX2luZGV4ICppbmRleCk7CiAKIC8qCiAgKiBjcmVhdGVfZGVsdGE6IGNyZWF0ZSBhIGRlbHRhIGZyb20gZ2l2ZW4gaW5kZXggZm9yIHRoZSBnaXZlbiBidWZmZXIKQEAgLTQwLDcgKzQwLDcgQEAKICAqIHJldHVybmVkIGFuZCAqZGVsdGFfc2l6ZSBpcyB1cGRhdGVkIHdpdGggaXRzIHNpemUuICBUaGUgcmV0dXJuZWQgYnVmZmVyCiAgKiBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuCiAgKi8KLWV4dGVybiB2b2lkICoKK3ZvaWQgKgogY3JlYXRlX2RlbHRhKGNvbnN0IHN0cnVjdCBkZWx0YV9pbmRleCAqaW5kZXgsCiAJICAgICBjb25zdCB2b2lkICpidWYsIHVuc2lnbmVkIGxvbmcgYnVmc2l6ZSwKIAkgICAgIHVuc2lnbmVkIGxvbmcgKmRlbHRhX3NpemUsIHVuc2lnbmVkIGxvbmcgbWF4X2RlbHRhX3NpemUpOwpAQCAtNzUsOSArNzUsOSBAQAogICogKnRyZ19idWZzaXplIGlzIHVwZGF0ZWQgd2l0aCBpdHMgc2l6ZS4gIE9uIGZhaWx1cmUgYSBOVUxMIHBvaW50ZXIgaXMKICAqIHJldHVybmVkLiAgVGhlIHJldHVybmVkIGJ1ZmZlciBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuCiAgKi8KLWV4dGVybiB2b2lkICpwYXRjaF9kZWx0YShjb25zdCB2b2lkICpzcmNfYnVmLCB1bnNpZ25lZCBsb25nIHNyY19zaXplLAotCQkJIGNvbnN0IHZvaWQgKmRlbHRhX2J1ZiwgdW5zaWduZWQgbG9uZyBkZWx0YV9zaXplLAotCQkJIHVuc2lnbmVkIGxvbmcgKmRzdF9zaXplKTsKK3ZvaWQgKnBhdGNoX2RlbHRhKGNvbnN0IHZvaWQgKnNyY19idWYsIHVuc2lnbmVkIGxvbmcgc3JjX3NpemUsCisJCSAgY29uc3Qgdm9pZCAqZGVsdGFfYnVmLCB1bnNpZ25lZCBsb25nIGRlbHRhX3NpemUsCisJCSAgdW5zaWduZWQgbG9uZyAqZHN0X3NpemUpOwogCiAvKiB0aGUgc21hbGxlc3QgcG9zc2libGUgZGVsdGEgc2l6ZSBpcyA0IGJ5dGVzICovCiAjZGVmaW5lIERFTFRBX1NJWkVfTUlOCTQKZGlmZiAtLWdpdCBhL2RpZmYtZGVsdGEuYyBiL2RpZmYtZGVsdGEuYwppbmRleCBlNDk2NDMzLi43N2ZlYTA4IDEwMDY0NAotLS0gYS9kaWZmLWRlbHRhLmMKKysrIGIvZGlmZi1kZWx0YS5jCkBAIC0zMjYsNiArMzI2LDggQEAKIAljb25zdCB1bnNpZ25lZCBjaGFyICpyZWZfZGF0YSwgKnJlZl90b3AsICpkYXRhLCAqdG9wOwogCXVuc2lnbmVkIGNoYXIgKm91dDsKIAorCSpkZWx0YV9zaXplID0gMDsKKwogCWlmICghdHJnX2J1ZiB8fCAhdHJnX3NpemUpCiAJCXJldHVybiBOVUxMOwogCmRpZmYgLS1naXQgYS9kaWZmLWxpYi5jIGIvZGlmZi1saWIuYwppbmRleCA4M2ZjZTUxLi42MTgxMmY0IDEwMDY0NAotLS0gYS9kaWZmLWxpYi5jCisrKyBiL2RpZmYtbGliLmMKQEAgLTIzMiw3ICsyMzIsNyBAQAogCiAJCWlmICghY2hhbmdlZCAmJiAhZGlydHlfc3VibW9kdWxlKSB7CiAJCQljZV9tYXJrX3VwdG9kYXRlKGNlKTsKLQkJCW1hcmtfZnNtb25pdG9yX3ZhbGlkKGNlKTsKKwkJCW1hcmtfZnNtb25pdG9yX3ZhbGlkKGlzdGF0ZSwgY2UpOwogCQkJaWYgKCFyZXZzLT5kaWZmb3B0LmZsYWdzLmZpbmRfY29waWVzX2hhcmRlcikKIAkJCQljb250aW51ZTsKIAkJfQpAQCAtNTMxLDcgKzUzMSw3IEBACiAJCWV4aXQoMTI4KTsKIAogCWRpZmZfc2V0X21uZW1vbmljX3ByZWZpeCgmcmV2cy0+ZGlmZm9wdCwgImMvIiwgY2FjaGVkID8gImkvIiA6ICJ3LyIpOwotCWRpZmZjb3JlX2ZpeF9kaWZmX2luZGV4KCZyZXZzLT5kaWZmb3B0KTsKKwlkaWZmY29yZV9maXhfZGlmZl9pbmRleCgpOwogCWRpZmZjb3JlX3N0ZCgmcmV2cy0+ZGlmZm9wdCk7CiAJZGlmZl9mbHVzaCgmcmV2cy0+ZGlmZm9wdCk7CiAJdHJhY2VfcGVyZm9ybWFuY2VfbGVhdmUoImRpZmYtaW5kZXgiKTsKQEAgLTU0Miw3ICs1NDIsNyBAQAogewogCXN0cnVjdCByZXZfaW5mbyByZXZzOwogCi0JcmVwb19pbml0X3JldmlzaW9ucyh0aGVfcmVwb3NpdG9yeSwgJnJldnMsIE5VTEwpOworCXJlcG9faW5pdF9yZXZpc2lvbnMob3B0LT5yZXBvLCAmcmV2cywgTlVMTCk7CiAJY29weV9wYXRoc3BlYygmcmV2cy5wcnVuZV9kYXRhLCAmb3B0LT5wYXRoc3BlYyk7CiAJcmV2cy5kaWZmb3B0ID0gKm9wdDsKIApAQCAtNTUxLDEzICs1NTEsMTQgQEAKIAlyZXR1cm4gMDsKIH0KIAotaW50IGluZGV4X2RpZmZlcnNfZnJvbShjb25zdCBjaGFyICpkZWYsIGNvbnN0IHN0cnVjdCBkaWZmX2ZsYWdzICpmbGFncywKK2ludCBpbmRleF9kaWZmZXJzX2Zyb20oc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCSAgICAgICBjb25zdCBjaGFyICpkZWYsIGNvbnN0IHN0cnVjdCBkaWZmX2ZsYWdzICpmbGFncywKIAkJICAgICAgIGludCBpdGFfaW52aXNpYmxlX2luX2luZGV4KQogewogCXN0cnVjdCByZXZfaW5mbyByZXY7CiAJc3RydWN0IHNldHVwX3JldmlzaW9uX29wdCBvcHQ7CiAKLQlyZXBvX2luaXRfcmV2aXNpb25zKHRoZV9yZXBvc2l0b3J5LCAmcmV2LCBOVUxMKTsKKwlyZXBvX2luaXRfcmV2aXNpb25zKHIsICZyZXYsIE5VTEwpOwogCW1lbXNldCgmb3B0LCAwLCBzaXplb2Yob3B0KSk7CiAJb3B0LmRlZiA9IGRlZjsKIAlzZXR1cF9yZXZpc2lvbnMoMCwgTlVMTCwgJnJldiwgJm9wdCk7CmRpZmYgLS1naXQgYS9kaWZmLW5vLWluZGV4LmMgYi9kaWZmLW5vLWluZGV4LmMKaW5kZXggOTQxNGU5Mi4uNzgxNGVhYiAxMDA2NDQKLS0tIGEvZGlmZi1uby1pbmRleC5jCisrKyBiL2RpZmYtbm8taW5kZXguYwpAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgInJldmlzaW9uLmgiCiAjaW5jbHVkZSAibG9nLXRyZWUuaCIKICNpbmNsdWRlICJidWlsdGluLmgiCisjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCiAjaW5jbHVkZSAiZGlyLmgiCiAKQEAgLTIzMywzNSArMjM0LDM3IEBACiAJfQogfQogCi12b2lkIGRpZmZfbm9faW5kZXgoc3RydWN0IHJlcG9zaXRvcnkgKnIsCi0JCSAgIHN0cnVjdCByZXZfaW5mbyAqcmV2cywKLQkJICAgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBkaWZmX25vX2luZGV4X3VzYWdlW10gPSB7CisJTl8oImdpdCBkaWZmIC0tbm8taW5kZXggWzxvcHRpb25zPl0gPHBhdGg+IDxwYXRoPiIpLAorCU5VTEwKK307CisKK2ludCBkaWZmX25vX2luZGV4KHN0cnVjdCByZXZfaW5mbyAqcmV2cywKKwkJICBpbnQgaW1wbGljaXRfbm9faW5kZXgsCisJCSAgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQogewotCWludCBpOworCWludCBpLCBub19pbmRleDsKIAljb25zdCBjaGFyICpwYXRoc1syXTsKIAlzdHJ1Y3Qgc3RyYnVmIHJlcGxhY2VtZW50ID0gU1RSQlVGX0lOSVQ7CiAJY29uc3QgY2hhciAqcHJlZml4ID0gcmV2cy0+cHJlZml4OworCXN0cnVjdCBvcHRpb24gbm9faW5kZXhfb3B0aW9uc1tdID0geworCQlPUFRfQk9PTF9GKDAsICJuby1pbmRleCIsICZub19pbmRleCwgIiIsCisJCQkgICBQQVJTRV9PUFRfTk9ORUcgfCBQQVJTRV9PUFRfSElEREVOKSwKKwkJT1BUX0VORCgpLAorCX07CisJc3RydWN0IG9wdGlvbiAqb3B0aW9uczsKIAotCS8qCi0JICogRklYTUU6IC0tbm8taW5kZXggc2hvdWxkIG5vdCBsb29rIGF0IGluZGV4IGFuZCB3ZSBzaG91bGQgYmUKLQkgKiBhYmxlIHRvIHBhc3MgTlVMTCByZXBvLiBNYXliZSBsYXRlci4KLQkgKi8KLQlyZXBvX2RpZmZfc2V0dXAociwgJnJldnMtPmRpZmZvcHQpOwotCWZvciAoaSA9IDE7IGkgPCBhcmdjIC0gMjsgKSB7Ci0JCWludCBqOwotCQlpZiAoIXN0cmNtcChhcmd2W2ldLCAiLS1uby1pbmRleCIpKQotCQkJaSsrOwotCQllbHNlIGlmICghc3RyY21wKGFyZ3ZbaV0sICItLSIpKQotCQkJaSsrOwotCQllbHNlIHsKLQkJCWogPSBkaWZmX29wdF9wYXJzZSgmcmV2cy0+ZGlmZm9wdCwgYXJndiArIGksIGFyZ2MgLSBpLAotCQkJCQkgICByZXZzLT5wcmVmaXgpOwotCQkJaWYgKGogPD0gMCkKLQkJCQlkaWUoImludmFsaWQgZGlmZiBvcHRpb24vdmFsdWU6ICVzIiwgYXJndltpXSk7Ci0JCQlpICs9IGo7Ci0JCX0KKwlvcHRpb25zID0gcGFyc2Vfb3B0aW9uc19jb25jYXQobm9faW5kZXhfb3B0aW9ucywKKwkJCQkgICAgICAgcmV2cy0+ZGlmZm9wdC5wYXJzZW9wdHMpOworCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIHJldnMtPnByZWZpeCwgb3B0aW9ucywKKwkJCSAgICAgZGlmZl9ub19pbmRleF91c2FnZSwgMCk7CisJaWYgKGFyZ2MgIT0gMikgeworCQlpZiAoaW1wbGljaXRfbm9faW5kZXgpCisJCQl3YXJuaW5nKF8oIk5vdCBhIGdpdCByZXBvc2l0b3J5LiBVc2UgLS1uby1pbmRleCB0byAiCisJCQkJICAiY29tcGFyZSB0d28gcGF0aHMgb3V0c2lkZSBhIHdvcmtpbmcgdHJlZSIpKTsKKwkJdXNhZ2Vfd2l0aF9vcHRpb25zKGRpZmZfbm9faW5kZXhfdXNhZ2UsIG9wdGlvbnMpOwogCX0KLQorCUZSRUVfQU5EX05VTEwob3B0aW9ucyk7CiAJZm9yIChpID0gMDsgaSA8IDI7IGkrKykgewogCQljb25zdCBjaGFyICpwID0gYXJndlthcmdjIC0gMiArIGldOwogCQlpZiAoIXN0cmNtcChwLCAiLSIpKQpAQCAtMjkzLDcgKzI5Niw3IEBACiAJcmV2cy0+ZGlmZm9wdC5mbGFncy5leGl0X3dpdGhfc3RhdHVzID0gMTsKIAogCWlmIChxdWV1ZV9kaWZmKCZyZXZzLT5kaWZmb3B0LCBwYXRoc1swXSwgcGF0aHNbMV0pKQotCQlleGl0KDEpOworCQlyZXR1cm4gMTsKIAlkaWZmX3NldF9tbmVtb25pY19wcmVmaXgoJnJldnMtPmRpZmZvcHQsICIxLyIsICIyLyIpOwogCWRpZmZjb3JlX3N0ZCgmcmV2cy0+ZGlmZm9wdCk7CiAJZGlmZl9mbHVzaCgmcmV2cy0+ZGlmZm9wdCk7CkBAIC0zMDQsNSArMzA3LDUgQEAKIAkgKiBUaGUgcmV0dXJuIGNvZGUgZm9yIC0tbm8taW5kZXggaW1pdGF0ZXMgZGlmZigxKToKIAkgKiAwID0gbm8gY2hhbmdlcywgMSA9IGNoYW5nZXMsIGVsc2UgZXJyb3IKIAkgKi8KLQlleGl0KGRpZmZfcmVzdWx0X2NvZGUoJnJldnMtPmRpZmZvcHQsIDApKTsKKwlyZXR1cm4gZGlmZl9yZXN1bHRfY29kZSgmcmV2cy0+ZGlmZm9wdCwgMCk7CiB9CmRpZmYgLS1naXQgYS9kaWZmLmMgYi9kaWZmLmMKaW5kZXggZGM5OTY1ZS4uZjJjZmJmMiAxMDA2NDQKLS0tIGEvZGlmZi5jCisrKyBiL2RpZmYuYwpAQCAtMjMsNyArMjMsOSBAQAogI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKICNpbmNsdWRlICJncmFwaC5oIgogI2luY2x1ZGUgInBhY2tmaWxlLmgiCisjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogI2luY2x1ZGUgImhlbHAuaCIKKyNpbmNsdWRlICJwcm9taXNvci1yZW1vdGUuaCIKIAogI2lmZGVmIE5PX0ZBU1RfV09SS0lOR19ESVJFQ1RPUlkKICNkZWZpbmUgRkFTVF9XT1JLSU5HX0RJUkVDVE9SWSAwCkBAIC0xMDMsMTEgKzEwNSw2IEBACiAJW0RJRkZfRklMRV9ORVdfQk9MRF0JICAgICAgPSAibmV3Qm9sZCIsCiB9OwogCi1zdGF0aWMgTk9SRVRVUk4gdm9pZCBkaWVfd2FudF9vcHRpb24oY29uc3QgY2hhciAqb3B0aW9uX25hbWUpCi17Ci0JZGllKF8oIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGEgdmFsdWUiKSwgb3B0aW9uX25hbWUpOwotfQotCiBkZWZpbmVfbGlzdF9jb25maWdfYXJyYXlfZXh0cmEoY29sb3JfZGlmZl9zbG90cywgeyJwbGFpbiJ9KTsKIAogc3RhdGljIGludCBwYXJzZV9kaWZmX2NvbG9yX3Nsb3QoY29uc3QgY2hhciAqdmFyKQpAQCAtMTc4LDYgKzE3NSwxMCBAQAogCQlvcHRpb25zLT5zdWJtb2R1bGVfZm9ybWF0ID0gRElGRl9TVUJNT0RVTEVfU0hPUlQ7CiAJZWxzZSBpZiAoIXN0cmNtcCh2YWx1ZSwgImRpZmYiKSkKIAkJb3B0aW9ucy0+c3VibW9kdWxlX2Zvcm1hdCA9IERJRkZfU1VCTU9EVUxFX0lOTElORV9ESUZGOworCS8qCisJICogUGxlYXNlIHVwZGF0ZSAkX19naXRfZGlmZl9zdWJtb2R1bGVfZm9ybWF0cyBpbgorCSAqIGdpdC1jb21wbGV0aW9uLmJhc2ggd2hlbiB5b3UgYWRkIG5ldyBmb3JtYXRzLgorCSAqLwogCWVsc2UKIAkJcmV0dXJuIC0xOwogCXJldHVybiAwOwpAQCAtMjA0LDYgKzIwNSwxMCBAQAogCQlyZXR1cm4gWERGX1BBVElFTkNFX0RJRkY7CiAJZWxzZSBpZiAoIXN0cmNhc2VjbXAodmFsdWUsICJoaXN0b2dyYW0iKSkKIAkJcmV0dXJuIFhERl9ISVNUT0dSQU1fRElGRjsKKwkvKgorCSAqIFBsZWFzZSB1cGRhdGUgJF9fZ2l0X2RpZmZfYWxnb3JpdGhtcyBpbiBnaXQtY29tcGxldGlvbi5iYXNoCisJICogd2hlbiB5b3UgYWRkIG5ldyBhbGdvcml0aG1zLgorCSAqLwogCXJldHVybiAtMTsKIH0KIApAQCAtMjkxLDcgKzI5Niw3IEBACiAJCXJldHVybiBlcnJvcihfKCJjb2xvciBtb3ZlZCBzZXR0aW5nIG11c3QgYmUgb25lIG9mICdubycsICdkZWZhdWx0JywgJ2Jsb2NrcycsICd6ZWJyYScsICdkaW1tZWQtemVicmEnLCAncGxhaW4nIikpOwogfQogCi1zdGF0aWMgaW50IHBhcnNlX2NvbG9yX21vdmVkX3dzKGNvbnN0IGNoYXIgKmFyZykKK3N0YXRpYyB1bnNpZ25lZCBwYXJzZV9jb2xvcl9tb3ZlZF93cyhjb25zdCBjaGFyICphcmcpCiB7CiAJaW50IHJldCA9IDA7CiAJc3RydWN0IHN0cmluZ19saXN0IGwgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKQEAgLTMwNCw3ICszMDksOSBAQAogCQlzdHJidWZfYWRkc3RyKCZzYiwgaS0+c3RyaW5nKTsKIAkJc3RyYnVmX3RyaW0oJnNiKTsKIAotCQlpZiAoIXN0cmNtcChzYi5idWYsICJpZ25vcmUtc3BhY2UtY2hhbmdlIikpCisJCWlmICghc3RyY21wKHNiLmJ1ZiwgIm5vIikpCisJCQlyZXQgPSAwOworCQllbHNlIGlmICghc3RyY21wKHNiLmJ1ZiwgImlnbm9yZS1zcGFjZS1jaGFuZ2UiKSkKIAkJCXJldCB8PSBYREZfSUdOT1JFX1dISVRFU1BBQ0VfQ0hBTkdFOwogCQllbHNlIGlmICghc3RyY21wKHNiLmJ1ZiwgImlnbm9yZS1zcGFjZS1hdC1lb2wiKSkKIAkJCXJldCB8PSBYREZfSUdOT1JFX1dISVRFU1BBQ0VfQVRfRU9MOwpAQCAtMzEyLDE1ICszMTksMTkgQEAKIAkJCXJldCB8PSBYREZfSUdOT1JFX1dISVRFU1BBQ0U7CiAJCWVsc2UgaWYgKCFzdHJjbXAoc2IuYnVmLCAiYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlIikpCiAJCQlyZXQgfD0gQ09MT1JfTU9WRURfV1NfQUxMT1dfSU5ERU5UQVRJT05fQ0hBTkdFOwotCQllbHNlCi0JCQllcnJvcihfKCJpZ25vcmluZyB1bmtub3duIGNvbG9yLW1vdmVkLXdzIG1vZGUgJyVzJyIpLCBzYi5idWYpOworCQllbHNlIHsKKwkJCXJldCB8PSBDT0xPUl9NT1ZFRF9XU19FUlJPUjsKKwkJCWVycm9yKF8oInVua25vd24gY29sb3ItbW92ZWQtd3MgbW9kZSAnJXMnLCBwb3NzaWJsZSB2YWx1ZXMgYXJlICdpZ25vcmUtc3BhY2UtY2hhbmdlJywgJ2lnbm9yZS1zcGFjZS1hdC1lb2wnLCAnaWdub3JlLWFsbC1zcGFjZScsICdhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UnIiksIHNiLmJ1Zik7CisJCX0KIAogCQlzdHJidWZfcmVsZWFzZSgmc2IpOwogCX0KIAogCWlmICgocmV0ICYgQ09MT1JfTU9WRURfV1NfQUxMT1dfSU5ERU5UQVRJT05fQ0hBTkdFKSAmJgotCSAgICAocmV0ICYgWERGX1dISVRFU1BBQ0VfRkxBR1MpKQotCQlkaWUoXygiY29sb3ItbW92ZWQtd3M6IGFsbG93LWluZGVudGF0aW9uLWNoYW5nZSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB3aGl0ZSBzcGFjZSBtb2RlcyIpKTsKKwkgICAgKHJldCAmIFhERl9XSElURVNQQUNFX0ZMQUdTKSkgeworCQllcnJvcihfKCJjb2xvci1tb3ZlZC13czogYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHdoaXRlc3BhY2UgbW9kZXMiKSk7CisJCXJldCB8PSBDT0xPUl9NT1ZFRF9XU19FUlJPUjsKKwl9CiAKIAlzdHJpbmdfbGlzdF9jbGVhcigmbCwgMCk7CiAKQEAgLTM0MSw4ICszNTIsOCBAQAogCQlyZXR1cm4gMDsKIAl9CiAJaWYgKCFzdHJjbXAodmFyLCAiZGlmZi5jb2xvcm1vdmVkd3MiKSkgewotCQlpbnQgY20gPSBwYXJzZV9jb2xvcl9tb3ZlZF93cyh2YWx1ZSk7Ci0JCWlmIChjbSA8IDApCisJCXVuc2lnbmVkIGNtID0gcGFyc2VfY29sb3JfbW92ZWRfd3ModmFsdWUpOworCQlpZiAoY20gJiBDT0xPUl9NT1ZFRF9XU19FUlJPUikKIAkJCXJldHVybiAtMTsKIAkJZGlmZl9jb2xvcl9tb3ZlZF93c19kZWZhdWx0ID0gY207CiAJCXJldHVybiAwOwpAQCAtNDAzLDE0ICs0MTQsNiBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQlpZiAoIXN0cmNtcCh2YXIsICJkaWZmLndzZXJyb3JoaWdobGlnaHQiKSkgewotCQlpbnQgdmFsID0gcGFyc2Vfd3NfZXJyb3JfaGlnaGxpZ2h0KHZhbHVlKTsKLQkJaWYgKHZhbCA8IDApCi0JCQlyZXR1cm4gLTE7Ci0JCXdzX2Vycm9yX2hpZ2hsaWdodF9kZWZhdWx0ID0gdmFsOwotCQlyZXR1cm4gMDsKLQl9Ci0KIAlpZiAoZ2l0X2NvbG9yX2NvbmZpZyh2YXIsIHZhbHVlLCBjYikgPCAwKQogCQlyZXR1cm4gLTE7CiAKQEAgLTQzOSw2ICs0NDIsMTQgQEAKIAkJcmV0dXJuIGNvbG9yX3BhcnNlKHZhbHVlLCBkaWZmX2NvbG9yc1tzbG90XSk7CiAJfQogCisJaWYgKCFzdHJjbXAodmFyLCAiZGlmZi53c2Vycm9yaGlnaGxpZ2h0IikpIHsKKwkJaW50IHZhbCA9IHBhcnNlX3dzX2Vycm9yX2hpZ2hsaWdodCh2YWx1ZSk7CisJCWlmICh2YWwgPCAwKQorCQkJcmV0dXJuIC0xOworCQl3c19lcnJvcl9oaWdobGlnaHRfZGVmYXVsdCA9IHZhbDsKKwkJcmV0dXJuIDA7CisJfQorCiAJLyogbGlrZSBHTlUgZGlmZidzIC0tc3VwcHJlc3MtYmxhbmstZW1wdHkgb3B0aW9uICAqLwogCWlmICghc3RyY21wKHZhciwgImRpZmYuc3VwcHJlc3NibGFua2VtcHR5IikgfHwKIAkJCS8qIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAqLwpAQCAtNDg5LDcgKzUwMCw3IEBACiAKIAlpZiAoZG9uZV9wcmVwYXJpbmcpCiAJCXJldHVybiBleHRlcm5hbF9kaWZmX2NtZDsKLQlleHRlcm5hbF9kaWZmX2NtZCA9IGdldGVudigiR0lUX0VYVEVSTkFMX0RJRkYiKTsKKwlleHRlcm5hbF9kaWZmX2NtZCA9IHhzdHJkdXBfb3JfbnVsbChnZXRlbnYoIkdJVF9FWFRFUk5BTF9ESUZGIikpOwogCWlmICghZXh0ZXJuYWxfZGlmZl9jbWQpCiAJCWV4dGVybmFsX2RpZmZfY21kID0gZXh0ZXJuYWxfZGlmZl9jbWRfY2ZnOwogCWRvbmVfcHJlcGFyaW5nID0gMTsKQEAgLTc1MCw2ICs3NjEsOCBAQAogCWNvbnN0IGNoYXIgKmxpbmU7CiAJaW50IGxlbjsKIAlpbnQgZmxhZ3M7CisJaW50IGluZGVudF9vZmY7ICAgLyogT2Zmc2V0IHRvIGZpcnN0IG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciAqLworCWludCBpbmRlbnRfd2lkdGg7IC8qIFRoZSB2aXN1YWwgd2lkdGggb2YgdGhlIGluZGVudGF0aW9uICovCiAJZW51bSBkaWZmX3N5bWJvbCBzOwogfTsKICNkZWZpbmUgRU1JVFRFRF9ESUZGX1NZTUJPTF9JTklUIHtOVUxMfQpAQCAtNzgwLDQ0ICs3OTMsODUgQEAKIAlzdHJ1Y3QgbW92ZWRfZW50cnkgKm5leHRfbGluZTsKIH07CiAKLS8qKgotICogVGhlIHN0cnVjdCB3c19kZWx0YSBob2xkcyB3aGl0ZSBzcGFjZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIG1vdmVkIGxpbmVzLCBpLmUuCi0gKiBiZXR3ZWVuICcrJyBhbmQgJy0nIGxpbmVzIHRoYXQgaGF2ZSBiZWVuIGRldGVjdGVkIHRvIGJlIGEgbW92ZS4KLSAqIFRoZSBzdHJpbmcgY29udGFpbnMgdGhlIGRpZmZlcmVuY2UgaW4gbGVhZGluZyB3aGl0ZSBzcGFjZXMsIGJlZm9yZSB0aGUKLSAqIHJlc3Qgb2YgdGhlIGxpbmUgaXMgY29tcGFyZWQgdXNpbmcgdGhlIHdoaXRlIHNwYWNlIGNvbmZpZyBmb3IgbW92ZQotICogY29sb3JpbmcuIFRoZSBjdXJyZW50X2xvbmdlciBpbmRpY2F0ZXMgaWYgdGhlIGZpcnN0IHN0cmluZyBpbiB0aGUKLSAqIGNvbXBhcmlzaW9uIGlzIGxvbmdlciB0aGFuIHRoZSBzZWNvbmQuCi0gKi8KLXN0cnVjdCB3c19kZWx0YSB7Ci0JY2hhciAqc3RyaW5nOwotCXVuc2lnbmVkIGludCBjdXJyZW50X2xvbmdlciA6IDE7Ci19OwotI2RlZmluZSBXU19ERUxUQV9JTklUIHsgTlVMTCwgMCB9Ci0KIHN0cnVjdCBtb3ZlZF9ibG9jayB7CiAJc3RydWN0IG1vdmVkX2VudHJ5ICptYXRjaDsKLQlzdHJ1Y3Qgd3NfZGVsdGEgd3NkOworCWludCB3c2Q7IC8qIFRoZSB3aGl0ZXNwYWNlIGRlbHRhIG9mIHRoaXMgYmxvY2sgKi8KIH07CiAKIHN0YXRpYyB2b2lkIG1vdmVkX2Jsb2NrX2NsZWFyKHN0cnVjdCBtb3ZlZF9ibG9jayAqYikKIHsKLQlGUkVFX0FORF9OVUxMKGItPndzZC5zdHJpbmcpOwotCWItPm1hdGNoID0gTlVMTDsKKwltZW1zZXQoYiwgMCwgc2l6ZW9mKCpiKSk7Cit9CisKKyNkZWZpbmUgSU5ERU5UX0JMQU5LTElORSBJTlRfTUlOCisKK3N0YXRpYyB2b2lkIGZpbGxfZXNfaW5kZW50X2RhdGEoc3RydWN0IGVtaXR0ZWRfZGlmZl9zeW1ib2wgKmVzKQoreworCXVuc2lnbmVkIGludCBvZmYgPSAwLCBpOworCWludCB3aWR0aCA9IDAsIHRhYl93aWR0aCA9IGVzLT5mbGFncyAmIFdTX1RBQl9XSURUSF9NQVNLOworCWNvbnN0IGNoYXIgKnMgPSBlcy0+bGluZTsKKwljb25zdCBpbnQgbGVuID0gZXMtPmxlbjsKKworCS8qIHNraXAgYW55IFx2IFxmIFxyIGF0IHN0YXJ0IG9mIGluZGVudGF0aW9uICovCisJd2hpbGUgKHNbb2ZmXSA9PSAnXGYnIHx8IHNbb2ZmXSA9PSAnXHYnIHx8CisJICAgICAgIChzW29mZl0gPT0gJ1xyJyAmJiBvZmYgPCBsZW4gLSAxKSkKKwkJb2ZmKys7CisKKwkvKiBjYWxjdWxhdGUgdGhlIHZpc3VhbCB3aWR0aCBvZiBpbmRlbnRhdGlvbiAqLworCXdoaWxlKDEpIHsKKwkJaWYgKHNbb2ZmXSA9PSAnICcpIHsKKwkJCXdpZHRoKys7CisJCQlvZmYrKzsKKwkJfSBlbHNlIGlmIChzW29mZl0gPT0gJ1x0JykgeworCQkJd2lkdGggKz0gdGFiX3dpZHRoIC0gKHdpZHRoICUgdGFiX3dpZHRoKTsKKwkJCXdoaWxlIChzWysrb2ZmXSA9PSAnXHQnKQorCQkJCXdpZHRoICs9IHRhYl93aWR0aDsKKwkJfSBlbHNlIHsKKwkJCWJyZWFrOworCQl9CisJfQorCisJLyogY2hlY2sgaWYgdGhpcyBsaW5lIGlzIGJsYW5rICovCisJZm9yIChpID0gb2ZmOyBpIDwgbGVuOyBpKyspCisJCWlmICghaXNzcGFjZShzW2ldKSkKKwkJICAgIGJyZWFrOworCisJaWYgKGkgPT0gbGVuKSB7CisJCWVzLT5pbmRlbnRfd2lkdGggPSBJTkRFTlRfQkxBTktMSU5FOworCQllcy0+aW5kZW50X29mZiA9IGxlbjsKKwl9IGVsc2UgeworCQllcy0+aW5kZW50X29mZiA9IG9mZjsKKwkJZXMtPmluZGVudF93aWR0aCA9IHdpZHRoOworCX0KIH0KIAogc3RhdGljIGludCBjb21wdXRlX3dzX2RlbHRhKGNvbnN0IHN0cnVjdCBlbWl0dGVkX2RpZmZfc3ltYm9sICphLAotCQkJICAgICBjb25zdCBzdHJ1Y3QgZW1pdHRlZF9kaWZmX3N5bWJvbCAqYiwKLQkJCSAgICAgc3RydWN0IHdzX2RlbHRhICpvdXQpCisJCQkgICAgY29uc3Qgc3RydWN0IGVtaXR0ZWRfZGlmZl9zeW1ib2wgKmIsCisJCQkgICAgaW50ICpvdXQpCiB7Ci0JY29uc3Qgc3RydWN0IGVtaXR0ZWRfZGlmZl9zeW1ib2wgKmxvbmdlciA9ICBhLT5sZW4gPiBiLT5sZW4gPyBhIDogYjsKLQljb25zdCBzdHJ1Y3QgZW1pdHRlZF9kaWZmX3N5bWJvbCAqc2hvcnRlciA9IGEtPmxlbiA+IGItPmxlbiA/IGIgOiBhOwotCWludCBkID0gbG9uZ2VyLT5sZW4gLSBzaG9ydGVyLT5sZW47CisJaW50IGFfbGVuID0gYS0+bGVuLAorCSAgICBiX2xlbiA9IGItPmxlbiwKKwkgICAgYV9vZmYgPSBhLT5pbmRlbnRfb2ZmLAorCSAgICBhX3dpZHRoID0gYS0+aW5kZW50X3dpZHRoLAorCSAgICBiX29mZiA9IGItPmluZGVudF9vZmYsCisJICAgIGJfd2lkdGggPSBiLT5pbmRlbnRfd2lkdGg7CisJaW50IGRlbHRhOwogCi0JaWYgKHN0cm5jbXAobG9uZ2VyLT5saW5lICsgZCwgc2hvcnRlci0+bGluZSwgc2hvcnRlci0+bGVuKSkKKwlpZiAoYV93aWR0aCA9PSBJTkRFTlRfQkxBTktMSU5FICYmIGJfd2lkdGggPT0gSU5ERU5UX0JMQU5LTElORSkgeworCQkqb3V0ID0gSU5ERU5UX0JMQU5LTElORTsKKwkJcmV0dXJuIDE7CisJfQorCisJaWYgKGEtPnMgPT0gRElGRl9TWU1CT0xfUExVUykKKwkJZGVsdGEgPSBhX3dpZHRoIC0gYl93aWR0aDsKKwllbHNlCisJCWRlbHRhID0gYl93aWR0aCAtIGFfd2lkdGg7CisKKwlpZiAoYV9sZW4gLSBhX29mZiAhPSBiX2xlbiAtIGJfb2ZmIHx8CisJICAgIG1lbWNtcChhLT5saW5lICsgYV9vZmYsIGItPmxpbmUgKyBiX29mZiwgYV9sZW4gLSBhX29mZikpCiAJCXJldHVybiAwOwogCi0Jb3V0LT5zdHJpbmcgPSB4bWVtZHVweihsb25nZXItPmxpbmUsIGQpOwotCW91dC0+Y3VycmVudF9sb25nZXIgPSAoYSA9PSBsb25nZXIpOworCSpvdXQgPSBkZWx0YTsKIAogCXJldHVybiAxOwogfQpAQCAtODI5LDY0ICs4ODMsNjggQEAKIAkJCQkgaW50IG4pCiB7CiAJc3RydWN0IGVtaXR0ZWRfZGlmZl9zeW1ib2wgKmwgPSAmby0+ZW1pdHRlZF9zeW1ib2xzLT5idWZbbl07Ci0JaW50IGFsID0gY3VyLT5lcy0+bGVuLCBjbCA9IGwtPmxlbjsKKwlpbnQgYWwgPSBjdXItPmVzLT5sZW4sIGJsID0gbWF0Y2gtPmVzLT5sZW4sIGNsID0gbC0+bGVuOwogCWNvbnN0IGNoYXIgKmEgPSBjdXItPmVzLT5saW5lLAogCQkgICAqYiA9IG1hdGNoLT5lcy0+bGluZSwKIAkJICAgKmMgPSBsLT5saW5lOwotCi0JaW50IHdzbGVuOworCWludCBhX29mZiA9IGN1ci0+ZXMtPmluZGVudF9vZmYsCisJICAgIGFfd2lkdGggPSBjdXItPmVzLT5pbmRlbnRfd2lkdGgsCisJICAgIGNfb2ZmID0gbC0+aW5kZW50X29mZiwKKwkgICAgY193aWR0aCA9IGwtPmluZGVudF93aWR0aDsKKwlpbnQgZGVsdGE7CiAKIAkvKgotCSAqIFdlIG5lZWQgdG8gY2hlY2sgaWYgJ2N1cicgaXMgZXF1YWwgdG8gJ21hdGNoJy4KLQkgKiBBcyB0aG9zZSBhcmUgZnJvbSB0aGUgc2FtZSAoKy8tKSBzaWRlLCB3ZSBkbyBub3QgbmVlZCB0byBhZGp1c3QgZm9yCi0JICogaW5kZW50IGNoYW5nZXMuIEhvd2V2ZXIgdGhlc2Ugd2VyZSBmb3VuZCB1c2luZyBmdXp6eSBtYXRjaGluZwotCSAqIHNvIHdlIGRvIGhhdmUgdG8gY2hlY2sgaWYgdGhleSBhcmUgZXF1YWwuCisJICogV2UgbmVlZCB0byBjaGVjayBpZiAnY3VyJyBpcyBlcXVhbCB0byAnbWF0Y2gnLiAgQXMgdGhvc2UKKwkgKiBhcmUgZnJvbSB0aGUgc2FtZSAoKy8tKSBzaWRlLCB3ZSBkbyBub3QgbmVlZCB0byBhZGp1c3QgZm9yCisJICogaW5kZW50IGNoYW5nZXMuIEhvd2V2ZXIgdGhlc2Ugd2VyZSBmb3VuZCB1c2luZyBmdXp6eQorCSAqIG1hdGNoaW5nIHNvIHdlIGRvIGhhdmUgdG8gY2hlY2sgaWYgdGhleSBhcmUgZXF1YWwuIEhlcmUgd2UKKwkgKiBqdXN0IGNoZWNrIHRoZSBsZW5ndGhzLiBXZSBkZWxheSBjYWxsaW5nIG1lbWNtcCgpIHRvIGNoZWNrCisJICogdGhlIGNvbnRlbnRzIHVudGlsIGxhdGVyIGFzIGlmIHRoZSBsZW5ndGggY29tcGFyaXNvbiBmb3IgYQorCSAqIGFuZCBjIGZhaWxzIHdlIGNhbiBhdm9pZCB0aGUgY2FsbCBhbGwgdG9nZXRoZXIuCiAJICovCi0JaWYgKHN0cmNtcChhLCBiKSkKKwlpZiAoYWwgIT0gYmwpCiAJCXJldHVybiAxOwogCi0JaWYgKCFwbWItPndzZC5zdHJpbmcpCi0JCS8qCi0JCSAqIFRoZSB3aGl0ZSBzcGFjZSBkZWx0YSBpcyBub3QgYWN0aXZlPyBUaGlzIGNhbiBoYXBwZW4KLQkJICogd2hlbiB3ZSBleGl0IGVhcmx5IGluIHRoaXMgZnVuY3Rpb24uCi0JCSAqLwotCQlyZXR1cm4gMTsKKwkvKiBJZiAnbCcgYW5kICdjdXInIGFyZSBib3RoIGJsYW5rIHRoZW4gdGhleSBtYXRjaC4gKi8KKwlpZiAoYV93aWR0aCA9PSBJTkRFTlRfQkxBTktMSU5FICYmIGNfd2lkdGggPT0gSU5ERU5UX0JMQU5LTElORSkKKwkJcmV0dXJuIDA7CiAKIAkvKgotCSAqIFRoZSBpbmRlbnQgY2hhbmdlcyBvZiB0aGUgYmxvY2sgYXJlIGtub3duIGFuZCBzdG9yZWQgaW4KLQkgKiBwbWItPndzZDsgaG93ZXZlciB3ZSBuZWVkIHRvIGNoZWNrIGlmIHRoZSBpbmRlbnQgY2hhbmdlcyBvZiB0aGUKLQkgKiBjdXJyZW50IGxpbmUgYXJlIHN0aWxsIHRoZSBzYW1lIGFzIGJlZm9yZS4KLQkgKgotCSAqIFRvIGRvIHNvIHdlIG5lZWQgdG8gY29tcGFyZSAnbCcgdG8gJ2N1cicsIGFkanVzdGluZyB0aGUKLQkgKiBvbmUgb2YgdGhlbSBmb3IgdGhlIHdoaXRlIHNwYWNlcywgZGVwZW5kaW5nIHdoaWNoIHdhcyBsb25nZXIuCisJICogVGhlIGluZGVudCBjaGFuZ2VzIG9mIHRoZSBibG9jayBhcmUga25vd24gYW5kIHN0b3JlZCBpbiBwbWItPndzZDsKKwkgKiBob3dldmVyIHdlIG5lZWQgdG8gY2hlY2sgaWYgdGhlIGluZGVudCBjaGFuZ2VzIG9mIHRoZSBjdXJyZW50IGxpbmUKKwkgKiBtYXRjaCB0aG9zZSBvZiB0aGUgY3VycmVudCBibG9jayBhbmQgdGhhdCB0aGUgdGV4dCBvZiAnbCcgYW5kICdjdXInCisJICogYWZ0ZXIgdGhlIGluZGVudGF0aW9uIG1hdGNoLgogCSAqLworCWlmIChjdXItPmVzLT5zID09IERJRkZfU1lNQk9MX1BMVVMpCisJCWRlbHRhID0gYV93aWR0aCAtIGNfd2lkdGg7CisJZWxzZQorCQlkZWx0YSA9IGNfd2lkdGggLSBhX3dpZHRoOwogCi0Jd3NsZW4gPSBzdHJsZW4ocG1iLT53c2Quc3RyaW5nKTsKLQlpZiAocG1iLT53c2QuY3VycmVudF9sb25nZXIpIHsKLQkJYyArPSB3c2xlbjsKLQkJY2wgLT0gd3NsZW47Ci0JfSBlbHNlIHsKLQkJYSArPSB3c2xlbjsKLQkJYWwgLT0gd3NsZW47Ci0JfQorCS8qCisJICogSWYgdGhlIHByZXZpb3VzIGxpbmVzIG9mIHRoaXMgYmxvY2sgd2VyZSBhbGwgYmxhbmsgdGhlbiBzZXQgaXRzCisJICogd2hpdGVzcGFjZSBkZWx0YS4KKwkgKi8KKwlpZiAocG1iLT53c2QgPT0gSU5ERU5UX0JMQU5LTElORSkKKwkJcG1iLT53c2QgPSBkZWx0YTsKIAotCWlmIChhbCAhPSBjbCB8fCBtZW1jbXAoYSwgYywgYWwpKQotCQlyZXR1cm4gMTsKLQotCXJldHVybiAwOworCXJldHVybiAhKGRlbHRhID09IHBtYi0+d3NkICYmIGFsIC0gYV9vZmYgPT0gY2wgLSBjX29mZiAmJgorCQkgIW1lbWNtcChhLCBiLCBhbCkgJiYgIQorCQkgbWVtY21wKGEgKyBhX29mZiwgYyArIGNfb2ZmLCBhbCAtIGFfb2ZmKSk7CiB9CiAKIHN0YXRpYyBpbnQgbW92ZWRfZW50cnlfY21wKGNvbnN0IHZvaWQgKmhhc2htYXBfY21wX2ZuX2RhdGEsCi0JCQkgICBjb25zdCB2b2lkICplbnRyeSwKLQkJCSAgIGNvbnN0IHZvaWQgKmVudHJ5X29yX2tleSwKKwkJCSAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplcHRyLAorCQkJICAgY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmVudHJ5X29yX2tleSwKIAkJCSAgIGNvbnN0IHZvaWQgKmtleWRhdGEpCiB7CiAJY29uc3Qgc3RydWN0IGRpZmZfb3B0aW9ucyAqZGlmZm9wdCA9IGhhc2htYXBfY21wX2ZuX2RhdGE7Ci0JY29uc3Qgc3RydWN0IG1vdmVkX2VudHJ5ICphID0gZW50cnk7Ci0JY29uc3Qgc3RydWN0IG1vdmVkX2VudHJ5ICpiID0gZW50cnlfb3Jfa2V5OworCWNvbnN0IHN0cnVjdCBtb3ZlZF9lbnRyeSAqYSwgKmI7CiAJdW5zaWduZWQgZmxhZ3MgPSBkaWZmb3B0LT5jb2xvcl9tb3ZlZF93c19oYW5kbGluZwogCQkJICYgWERGX1dISVRFU1BBQ0VfRkxBR1M7CiAKKwlhID0gY29udGFpbmVyX29mKGVwdHIsIGNvbnN0IHN0cnVjdCBtb3ZlZF9lbnRyeSwgZW50KTsKKwliID0gY29udGFpbmVyX29mKGVudHJ5X29yX2tleSwgY29uc3Qgc3RydWN0IG1vdmVkX2VudHJ5LCBlbnQpOworCiAJaWYgKGRpZmZvcHQtPmNvbG9yX21vdmVkX3dzX2hhbmRsaW5nICYKIAkgICAgQ09MT1JfTU9WRURfV1NfQUxMT1dfSU5ERU5UQVRJT05fQ0hBTkdFKQogCQkvKgpAQCAtOTA4LDggKzk2Niw5IEBACiAJc3RydWN0IG1vdmVkX2VudHJ5ICpyZXQgPSB4bWFsbG9jKHNpemVvZigqcmV0KSk7CiAJc3RydWN0IGVtaXR0ZWRfZGlmZl9zeW1ib2wgKmwgPSAmby0+ZW1pdHRlZF9zeW1ib2xzLT5idWZbbGluZV9ub107CiAJdW5zaWduZWQgZmxhZ3MgPSBvLT5jb2xvcl9tb3ZlZF93c19oYW5kbGluZyAmIFhERl9XSElURVNQQUNFX0ZMQUdTOworCXVuc2lnbmVkIGludCBoYXNoID0geGRpZmZfaGFzaF9zdHJpbmcobC0+bGluZSwgbC0+bGVuLCBmbGFncyk7CiAKLQlyZXQtPmVudC5oYXNoID0geGRpZmZfaGFzaF9zdHJpbmcobC0+bGluZSwgbC0+bGVuLCBmbGFncyk7CisJaGFzaG1hcF9lbnRyeV9pbml0KCZyZXQtPmVudCwgaGFzaCk7CiAJcmV0LT5lcyA9IGw7CiAJcmV0LT5uZXh0X2xpbmUgPSBOVUxMOwogCkBAIC05MzksMTEgKzk5OCwxNCBAQAogCQkJY29udGludWU7CiAJCX0KIAorCQlpZiAoby0+Y29sb3JfbW92ZWRfd3NfaGFuZGxpbmcgJgorCQkgICAgQ09MT1JfTU9WRURfV1NfQUxMT1dfSU5ERU5UQVRJT05fQ0hBTkdFKQorCQkJZmlsbF9lc19pbmRlbnRfZGF0YSgmby0+ZW1pdHRlZF9zeW1ib2xzLT5idWZbbl0pOwogCQlrZXkgPSBwcmVwYXJlX2VudHJ5KG8sIG4pOwogCQlpZiAocHJldl9saW5lICYmIHByZXZfbGluZS0+ZXMtPnMgPT0gby0+ZW1pdHRlZF9zeW1ib2xzLT5idWZbbl0ucykKIAkJCXByZXZfbGluZS0+bmV4dF9saW5lID0ga2V5OwogCi0JCWhhc2htYXBfYWRkKGhtLCBrZXkpOworCQloYXNobWFwX2FkZChobSwgJmtleS0+ZW50KTsKIAkJcHJldl9saW5lID0ga2V5OwogCX0KIH0KQEAgLTk1OSw3ICsxMDIxLDcgQEAKIAkJc3RydWN0IG1vdmVkX2VudHJ5ICpwcmV2ID0gcG1iW2ldLm1hdGNoOwogCQlzdHJ1Y3QgbW92ZWRfZW50cnkgKmN1ciA9IChwcmV2ICYmIHByZXYtPm5leHRfbGluZSkgPwogCQkJCXByZXYtPm5leHRfbGluZSA6IE5VTEw7Ci0JCWlmIChjdXIgJiYgIWhtLT5jbXBmbihvLCBjdXIsIG1hdGNoLCBOVUxMKSkgeworCQlpZiAoY3VyICYmICFobS0+Y21wZm4obywgJmN1ci0+ZW50LCAmbWF0Y2gtPmVudCwgTlVMTCkpIHsKIAkJCXBtYltpXS5tYXRjaCA9IGN1cjsKIAkJfSBlbHNlIHsKIAkJCXBtYltpXS5tYXRjaCA9IE5VTEw7CkBAIC05NzYsNyArMTAzOCw3IEBACiAJaW50IGk7CiAJY2hhciAqZ290X21hdGNoID0geGNhbGxvYygxLCBwbWJfbnIpOwogCi0JZm9yICg7IG1hdGNoOyBtYXRjaCA9IGhhc2htYXBfZ2V0X25leHQoaG0sIG1hdGNoKSkgeworCWhhc2htYXBfZm9yX2VhY2hfZW50cnlfZnJvbShobSwgbWF0Y2gsIGVudCkgewogCQlmb3IgKGkgPSAwOyBpIDwgcG1iX25yOyBpKyspIHsKIAkJCXN0cnVjdCBtb3ZlZF9lbnRyeSAqcHJldiA9IHBtYltpXS5tYXRjaDsKIAkJCXN0cnVjdCBtb3ZlZF9lbnRyeSAqY3VyID0gKHByZXYgJiYgcHJldi0+bmV4dF9saW5lKSA/CkBAIC0xMDE3LDggKzEwNzksNyBAQAogCiAJCWlmIChscCA8IHBtYl9uciAmJiBycCA+IC0xICYmIGxwIDwgcnApIHsKIAkJCXBtYltscF0gPSBwbWJbcnBdOwotCQkJcG1iW3JwXS5tYXRjaCA9IE5VTEw7Ci0JCQlwbWJbcnBdLndzZC5zdHJpbmcgPSBOVUxMOworCQkJbWVtc2V0KCZwbWJbcnBdLCAwLCBzaXplb2YocG1iW3JwXSkpOwogCQkJcnAtLTsKIAkJCWxwKys7CiAJCX0KQEAgLTEwMzgsMTQgKzEwOTksMTcgQEAKICAqIFRoZSBsYXN0IGJsb2NrIGNvbnNpc3RzIG9mIHRoZSAobiAtIGJsb2NrX2xlbmd0aCkndGggbGluZSB1cCB0byBidXQgbm90CiAgKiBpbmNsdWRpbmcgdGhlIG50aCBsaW5lLgogICoKKyAqIFJldHVybnMgMCBpZiB0aGUgbGFzdCBibG9jayBpcyBlbXB0eSBvciBpcyB1bnNldCBieSB0aGlzIGZ1bmN0aW9uLCBub24gemVybworICogb3RoZXJ3aXNlLgorICoKICAqIE5FRURTV09SSzogVGhpcyB1c2VzIHRoZSBzYW1lIGhldXJpc3RpYyBhcyBibGFtZV9lbnRyeV9zY29yZSgpIGluIGJsYW1lLmMuCiAgKiBUaGluayBvZiBhIHdheSB0byB1bmlmeSB0aGVtLgogICovCi1zdGF0aWMgdm9pZCBhZGp1c3RfbGFzdF9ibG9jayhzdHJ1Y3QgZGlmZl9vcHRpb25zICpvLCBpbnQgbiwgaW50IGJsb2NrX2xlbmd0aCkKK3N0YXRpYyBpbnQgYWRqdXN0X2xhc3RfYmxvY2soc3RydWN0IGRpZmZfb3B0aW9ucyAqbywgaW50IG4sIGludCBibG9ja19sZW5ndGgpCiB7CiAJaW50IGksIGFsbnVtX2NvdW50ID0gMDsKIAlpZiAoby0+Y29sb3JfbW92ZWQgPT0gQ09MT1JfTU9WRURfUExBSU4pCi0JCXJldHVybjsKKwkJcmV0dXJuIGJsb2NrX2xlbmd0aDsKIAlmb3IgKGkgPSAxOyBpIDwgYmxvY2tfbGVuZ3RoICsgMTsgaSsrKSB7CiAJCWNvbnN0IGNoYXIgKmMgPSBvLT5lbWl0dGVkX3N5bWJvbHMtPmJ1ZltuIC0gaV0ubGluZTsKIAkJZm9yICg7ICpjOyBjKyspIHsKQEAgLTEwNTMsMTEgKzExMTcsMTIgQEAKIAkJCQljb250aW51ZTsKIAkJCWFsbnVtX2NvdW50Kys7CiAJCQlpZiAoYWxudW1fY291bnQgPj0gQ09MT1JfTU9WRURfTUlOX0FMTlVNX0NPVU5UKQotCQkJCXJldHVybjsKKwkJCQlyZXR1cm4gMTsKIAkJfQogCX0KIAlmb3IgKGkgPSAxOyBpIDwgYmxvY2tfbGVuZ3RoICsgMTsgaSsrKQogCQlvLT5lbWl0dGVkX3N5bWJvbHMtPmJ1ZltuIC0gaV0uZmxhZ3MgJj0gfkRJRkZfU1lNQk9MX01PVkVEX0xJTkU7CisJcmV0dXJuIDA7CiB9CiAKIC8qIEZpbmQgYmxvY2tzIG9mIG1vdmVkIGNvZGUsIGRlbGVnYXRlIGFjdHVhbCBjb2xvcmluZyBkZWNpc2lvbiB0byBoZWxwZXIgKi8KQEAgLTEwNjcsNyArMTEzMiw3IEBACiB7CiAJc3RydWN0IG1vdmVkX2Jsb2NrICpwbWIgPSBOVUxMOyAvKiBwb3RlbnRpYWxseSBtb3ZlZCBibG9ja3MgKi8KIAlpbnQgcG1iX25yID0gMCwgcG1iX2FsbG9jID0gMDsKLQlpbnQgbiwgZmxpcHBlZF9ibG9jayA9IDEsIGJsb2NrX2xlbmd0aCA9IDA7CisJaW50IG4sIGZsaXBwZWRfYmxvY2sgPSAwLCBibG9ja19sZW5ndGggPSAwOwogCiAKIAlmb3IgKG4gPSAwOyBuIDwgby0+ZW1pdHRlZF9zeW1ib2xzLT5ucjsgbisrKSB7CkBAIC0xMDc1LDIyICsxMTQwLDIzIEBACiAJCXN0cnVjdCBtb3ZlZF9lbnRyeSAqa2V5OwogCQlzdHJ1Y3QgbW92ZWRfZW50cnkgKm1hdGNoID0gTlVMTDsKIAkJc3RydWN0IGVtaXR0ZWRfZGlmZl9zeW1ib2wgKmwgPSAmby0+ZW1pdHRlZF9zeW1ib2xzLT5idWZbbl07CisJCWVudW0gZGlmZl9zeW1ib2wgbGFzdF9zeW1ib2wgPSAwOwogCiAJCXN3aXRjaCAobC0+cykgewogCQljYXNlIERJRkZfU1lNQk9MX1BMVVM6CiAJCQlobSA9IGRlbF9saW5lczsKIAkJCWtleSA9IHByZXBhcmVfZW50cnkobywgbik7Ci0JCQltYXRjaCA9IGhhc2htYXBfZ2V0KGhtLCBrZXksIE5VTEwpOworCQkJbWF0Y2ggPSBoYXNobWFwX2dldF9lbnRyeShobSwga2V5LCBlbnQsIE5VTEwpOwogCQkJZnJlZShrZXkpOwogCQkJYnJlYWs7CiAJCWNhc2UgRElGRl9TWU1CT0xfTUlOVVM6CiAJCQlobSA9IGFkZF9saW5lczsKIAkJCWtleSA9IHByZXBhcmVfZW50cnkobywgbik7Ci0JCQltYXRjaCA9IGhhc2htYXBfZ2V0KGhtLCBrZXksIE5VTEwpOworCQkJbWF0Y2ggPSBoYXNobWFwX2dldF9lbnRyeShobSwga2V5LCBlbnQsIE5VTEwpOwogCQkJZnJlZShrZXkpOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6Ci0JCQlmbGlwcGVkX2Jsb2NrID0gMTsKKwkJCWZsaXBwZWRfYmxvY2sgPSAwOwogCQl9CiAKIAkJaWYgKCFtYXRjaCkgewpAQCAtMTEwMSwxMyArMTE2NywxNiBAQAogCQkJCW1vdmVkX2Jsb2NrX2NsZWFyKCZwbWJbaV0pOwogCQkJcG1iX25yID0gMDsKIAkJCWJsb2NrX2xlbmd0aCA9IDA7CisJCQlmbGlwcGVkX2Jsb2NrID0gMDsKKwkJCWxhc3Rfc3ltYm9sID0gbC0+czsKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJbC0+ZmxhZ3MgfD0gRElGRl9TWU1CT0xfTU9WRURfTElORTsKLQotCQlpZiAoby0+Y29sb3JfbW92ZWQgPT0gQ09MT1JfTU9WRURfUExBSU4pCisJCWlmIChvLT5jb2xvcl9tb3ZlZCA9PSBDT0xPUl9NT1ZFRF9QTEFJTikgeworCQkJbGFzdF9zeW1ib2wgPSBsLT5zOworCQkJbC0+ZmxhZ3MgfD0gRElGRl9TWU1CT0xfTU9WRURfTElORTsKIAkJCWNvbnRpbnVlOworCQl9CiAKIAkJaWYgKG8tPmNvbG9yX21vdmVkX3dzX2hhbmRsaW5nICYKIAkJICAgIENPTE9SX01PVkVEX1dTX0FMTE9XX0lOREVOVEFUSU9OX0NIQU5HRSkKQEAgLTExMjIsNyArMTE5MSw3IEBACiAJCQkgKiBUaGUgY3VycmVudCBsaW5lIGlzIHRoZSBzdGFydCBvZiBhIG5ldyBibG9jay4KIAkJCSAqIFNldHVwIHRoZSBzZXQgb2YgcG90ZW50aWFsIGJsb2Nrcy4KIAkJCSAqLwotCQkJZm9yICg7IG1hdGNoOyBtYXRjaCA9IGhhc2htYXBfZ2V0X25leHQoaG0sIG1hdGNoKSkgeworCQkJaGFzaG1hcF9mb3JfZWFjaF9lbnRyeV9mcm9tKGhtLCBtYXRjaCwgZW50KSB7CiAJCQkJQUxMT0NfR1JPVyhwbWIsIHBtYl9uciArIDEsIHBtYl9hbGxvYyk7CiAJCQkJaWYgKG8tPmNvbG9yX21vdmVkX3dzX2hhbmRsaW5nICYKIAkJCQkgICAgQ09MT1JfTU9WRURfV1NfQUxMT1dfSU5ERU5UQVRJT05fQ0hBTkdFKSB7CkBAIC0xMTMwLDIxICsxMTk5LDI3IEBACiAJCQkJCQkJICAgICAmcG1iW3BtYl9ucl0ud3NkKSkKIAkJCQkJCXBtYltwbWJfbnIrK10ubWF0Y2ggPSBtYXRjaDsKIAkJCQl9IGVsc2UgewotCQkJCQlwbWJbcG1iX25yXS53c2Quc3RyaW5nID0gTlVMTDsKKwkJCQkJcG1iW3BtYl9ucl0ud3NkID0gMDsKIAkJCQkJcG1iW3BtYl9ucisrXS5tYXRjaCA9IG1hdGNoOwogCQkJCX0KIAkJCX0KIAotCQkJZmxpcHBlZF9ibG9jayA9IChmbGlwcGVkX2Jsb2NrICsgMSkgJSAyOworCQkJaWYgKGFkanVzdF9sYXN0X2Jsb2NrKG8sIG4sIGJsb2NrX2xlbmd0aCkgJiYKKwkJCSAgICBwbWJfbnIgJiYgbGFzdF9zeW1ib2wgIT0gbC0+cykKKwkJCQlmbGlwcGVkX2Jsb2NrID0gKGZsaXBwZWRfYmxvY2sgKyAxKSAlIDI7CisJCQllbHNlCisJCQkJZmxpcHBlZF9ibG9jayA9IDA7CiAKLQkJCWFkanVzdF9sYXN0X2Jsb2NrKG8sIG4sIGJsb2NrX2xlbmd0aCk7CiAJCQlibG9ja19sZW5ndGggPSAwOwogCQl9CiAKLQkJYmxvY2tfbGVuZ3RoKys7Ci0KLQkJaWYgKGZsaXBwZWRfYmxvY2sgJiYgby0+Y29sb3JfbW92ZWQgIT0gQ09MT1JfTU9WRURfQkxPQ0tTKQotCQkJbC0+ZmxhZ3MgfD0gRElGRl9TWU1CT0xfTU9WRURfTElORV9BTFQ7CisJCWlmIChwbWJfbnIpIHsKKwkJCWJsb2NrX2xlbmd0aCsrOworCQkJbC0+ZmxhZ3MgfD0gRElGRl9TWU1CT0xfTU9WRURfTElORTsKKwkJCWlmIChmbGlwcGVkX2Jsb2NrICYmIG8tPmNvbG9yX21vdmVkICE9IENPTE9SX01PVkVEX0JMT0NLUykKKwkJCQlsLT5mbGFncyB8PSBESUZGX1NZTUJPTF9NT1ZFRF9MSU5FX0FMVDsKKwkJfQorCQlsYXN0X3N5bWJvbCA9IGwtPnM7CiAJfQogCWFkanVzdF9sYXN0X2Jsb2NrKG8sIG4sIGJsb2NrX2xlbmd0aCk7CiAKQEAgLTE0ODgsNyArMTU2Myw3IEBACiBzdGF0aWMgdm9pZCBlbWl0X2RpZmZfc3ltYm9sKHN0cnVjdCBkaWZmX29wdGlvbnMgKm8sIGVudW0gZGlmZl9zeW1ib2wgcywKIAkJCSAgICAgY29uc3QgY2hhciAqbGluZSwgaW50IGxlbiwgdW5zaWduZWQgZmxhZ3MpCiB7Ci0Jc3RydWN0IGVtaXR0ZWRfZGlmZl9zeW1ib2wgZSA9IHtsaW5lLCBsZW4sIGZsYWdzLCBzfTsKKwlzdHJ1Y3QgZW1pdHRlZF9kaWZmX3N5bWJvbCBlID0ge2xpbmUsIGxlbiwgZmxhZ3MsIDAsIDAsIHN9OwogCiAJaWYgKG8tPmVtaXR0ZWRfc3ltYm9scykKIAkJYXBwZW5kX2VtaXR0ZWRfZGlmZl9zeW1ib2wobywgJmUpOwpAQCAtMTU0Niw4ICsxNjIxLDcgQEAKIAlyZXR1cm4gd3NfYmxhbmtfbGluZShsaW5lLCBsZW4sIGVjYmRhdGEtPndzX3J1bGUpOwogfQogCi1zdGF0aWMgdm9pZCBlbWl0X2FkZF9saW5lKGNvbnN0IGNoYXIgKnJlc2V0LAotCQkJICBzdHJ1Y3QgZW1pdF9jYWxsYmFjayAqZWNiZGF0YSwKK3N0YXRpYyB2b2lkIGVtaXRfYWRkX2xpbmUoc3RydWN0IGVtaXRfY2FsbGJhY2sgKmVjYmRhdGEsCiAJCQkgIGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4pCiB7CiAJdW5zaWduZWQgZmxhZ3MgPSBXU0VIX05FVyB8IGVjYmRhdGEtPndzX3J1bGU7CkBAIC0xNTU3LDE2ICsxNjMxLDE0IEBACiAJZW1pdF9kaWZmX3N5bWJvbChlY2JkYXRhLT5vcHQsIERJRkZfU1lNQk9MX1BMVVMsIGxpbmUsIGxlbiwgZmxhZ3MpOwogfQogCi1zdGF0aWMgdm9pZCBlbWl0X2RlbF9saW5lKGNvbnN0IGNoYXIgKnJlc2V0LAotCQkJICBzdHJ1Y3QgZW1pdF9jYWxsYmFjayAqZWNiZGF0YSwKK3N0YXRpYyB2b2lkIGVtaXRfZGVsX2xpbmUoc3RydWN0IGVtaXRfY2FsbGJhY2sgKmVjYmRhdGEsCiAJCQkgIGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4pCiB7CiAJdW5zaWduZWQgZmxhZ3MgPSBXU0VIX09MRCB8IGVjYmRhdGEtPndzX3J1bGU7CiAJZW1pdF9kaWZmX3N5bWJvbChlY2JkYXRhLT5vcHQsIERJRkZfU1lNQk9MX01JTlVTLCBsaW5lLCBsZW4sIGZsYWdzKTsKIH0KIAotc3RhdGljIHZvaWQgZW1pdF9jb250ZXh0X2xpbmUoY29uc3QgY2hhciAqcmVzZXQsCi0JCQkgICAgICBzdHJ1Y3QgZW1pdF9jYWxsYmFjayAqZWNiZGF0YSwKK3N0YXRpYyB2b2lkIGVtaXRfY29udGV4dF9saW5lKHN0cnVjdCBlbWl0X2NhbGxiYWNrICplY2JkYXRhLAogCQkJICAgICAgY29uc3QgY2hhciAqbGluZSwgaW50IGxlbikKIHsKIAl1bnNpZ25lZCBmbGFncyA9IFdTRUhfQ09OVEVYVCB8IGVjYmRhdGEtPndzX3J1bGU7CkBAIC0xNjA0LDcgKzE2NzYsMTAgQEAKIAlpZiAoZWNiZGF0YS0+b3B0LT5mbGFncy5kdWFsX2NvbG9yX2RpZmZlZF9kaWZmcykKIAkJc3RyYnVmX2FkZHN0cigmbXNnYnVmLCByZXZlcnNlKTsKIAlzdHJidWZfYWRkc3RyKCZtc2didWYsIGZyYWcpOwotCXN0cmJ1Zl9hZGQoJm1zZ2J1ZiwgbGluZSwgZXAgLSBsaW5lKTsKKwlpZiAoZWNiZGF0YS0+b3B0LT5mbGFncy5zdXBwcmVzc19odW5rX2hlYWRlcl9saW5lX2NvdW50KQorCQlzdHJidWZfYWRkKCZtc2didWYsIGF0YXQsIHNpemVvZihhdGF0KSk7CisJZWxzZQorCQlzdHJidWZfYWRkKCZtc2didWYsIGxpbmUsIGVwIC0gbGluZSk7CiAJc3RyYnVmX2FkZHN0cigmbXNnYnVmLCByZXNldCk7CiAKIAkvKgpAQCAtMTYzNyw3ICsxNzEyLDggQEAKIAlzdHJidWZfcmVsZWFzZSgmbXNnYnVmKTsKIH0KIAotc3RhdGljIHN0cnVjdCBkaWZmX3RlbXBmaWxlICpjbGFpbV9kaWZmX3RlbXBmaWxlKHZvaWQpIHsKK3N0YXRpYyBzdHJ1Y3QgZGlmZl90ZW1wZmlsZSAqY2xhaW1fZGlmZl90ZW1wZmlsZSh2b2lkKQorewogCWludCBpOwogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGRpZmZfdGVtcCk7IGkrKykKIAkJaWYgKCFkaWZmX3RlbXBbaV0ubmFtZSkKQEAgLTE2NzQsNyArMTc1MCw2IEBACiAJCQkgICAgICAgaW50IHByZWZpeCwgY29uc3QgY2hhciAqZGF0YSwgaW50IHNpemUpCiB7CiAJY29uc3QgY2hhciAqZW5kcCA9IE5VTEw7Ci0JY29uc3QgY2hhciAqcmVzZXQgPSBkaWZmX2dldF9jb2xvcihlY2ItPmNvbG9yX2RpZmYsIERJRkZfUkVTRVQpOwogCiAJd2hpbGUgKDAgPCBzaXplKSB7CiAJCWludCBsZW47CkBAIC0xNjgzLDEwICsxNzU4LDEwIEBACiAJCWxlbiA9IGVuZHAgPyAoZW5kcCAtIGRhdGEgKyAxKSA6IHNpemU7CiAJCWlmIChwcmVmaXggIT0gJysnKSB7CiAJCQllY2ItPmxub19pbl9wcmVpbWFnZSsrOwotCQkJZW1pdF9kZWxfbGluZShyZXNldCwgZWNiLCBkYXRhLCBsZW4pOworCQkJZW1pdF9kZWxfbGluZShlY2IsIGRhdGEsIGxlbik7CiAJCX0gZWxzZSB7CiAJCQllY2ItPmxub19pbl9wb3N0aW1hZ2UrKzsKLQkJCWVtaXRfYWRkX2xpbmUocmVzZXQsIGVjYiwgZGF0YSwgbGVuKTsKKwkJCWVtaXRfYWRkX2xpbmUoZWNiLCBkYXRhLCBsZW4pOwogCQl9CiAJCXNpemUgLT0gbGVuOwogCQlkYXRhICs9IGxlbjsKQEAgLTIyMjMsNyArMjI5OCw3IEBACiAJcmV0dXJuIG1zZ2J1Zi0+YnVmOwogfQogCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBzYW5lX3RydW5jYXRlX2xpbmUoc3RydWN0IGVtaXRfY2FsbGJhY2sgKmVjYiwgY2hhciAqbGluZSwgdW5zaWduZWQgbG9uZyBsZW4pCitzdGF0aWMgdW5zaWduZWQgbG9uZyBzYW5lX3RydW5jYXRlX2xpbmUoY2hhciAqbGluZSwgdW5zaWduZWQgbG9uZyBsZW4pCiB7CiAJY29uc3QgY2hhciAqY3A7CiAJdW5zaWduZWQgbG9uZyBhbGxvdDsKQEAgLTIyNTcsNyArMjMzMiw2IEBACiBzdGF0aWMgdm9pZCBmbl9vdXRfY29uc3VtZSh2b2lkICpwcml2LCBjaGFyICpsaW5lLCB1bnNpZ25lZCBsb25nIGxlbikKIHsKIAlzdHJ1Y3QgZW1pdF9jYWxsYmFjayAqZWNiZGF0YSA9IHByaXY7Ci0JY29uc3QgY2hhciAqcmVzZXQgPSBkaWZmX2dldF9jb2xvcihlY2JkYXRhLT5jb2xvcl9kaWZmLCBESUZGX1JFU0VUKTsKIAlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvID0gZWNiZGF0YS0+b3B0OwogCiAJby0+Zm91bmRfY2hhbmdlcyA9IDE7CkBAIC0yMjg4LDcgKzIzNjIsNyBAQAogCWlmIChsaW5lWzBdID09ICdAJykgewogCQlpZiAoZWNiZGF0YS0+ZGlmZl93b3JkcykKIAkJCWRpZmZfd29yZHNfZmx1c2goZWNiZGF0YSk7Ci0JCWxlbiA9IHNhbmVfdHJ1bmNhdGVfbGluZShlY2JkYXRhLCBsaW5lLCBsZW4pOworCQlsZW4gPSBzYW5lX3RydW5jYXRlX2xpbmUobGluZSwgbGVuKTsKIAkJZmluZF9sbm8obGluZSwgZWNiZGF0YSk7CiAJCWVtaXRfaHVua19oZWFkZXIoZWNiZGF0YSwgbGluZSwgbGVuKTsKIAkJcmV0dXJuOwpAQCAtMjMyNCwxNiArMjM5OCwxNiBAQAogCXN3aXRjaCAobGluZVswXSkgewogCWNhc2UgJysnOgogCQllY2JkYXRhLT5sbm9faW5fcG9zdGltYWdlKys7Ci0JCWVtaXRfYWRkX2xpbmUocmVzZXQsIGVjYmRhdGEsIGxpbmUgKyAxLCBsZW4gLSAxKTsKKwkJZW1pdF9hZGRfbGluZShlY2JkYXRhLCBsaW5lICsgMSwgbGVuIC0gMSk7CiAJCWJyZWFrOwogCWNhc2UgJy0nOgogCQllY2JkYXRhLT5sbm9faW5fcHJlaW1hZ2UrKzsKLQkJZW1pdF9kZWxfbGluZShyZXNldCwgZWNiZGF0YSwgbGluZSArIDEsIGxlbiAtIDEpOworCQllbWl0X2RlbF9saW5lKGVjYmRhdGEsIGxpbmUgKyAxLCBsZW4gLSAxKTsKIAkJYnJlYWs7CiAJY2FzZSAnICc6CiAJCWVjYmRhdGEtPmxub19pbl9wb3N0aW1hZ2UrKzsKIAkJZWNiZGF0YS0+bG5vX2luX3ByZWltYWdlKys7Ci0JCWVtaXRfY29udGV4dF9saW5lKHJlc2V0LCBlY2JkYXRhLCBsaW5lICsgMSwgbGVuIC0gMSk7CisJCWVtaXRfY29udGV4dF9saW5lKGVjYmRhdGEsIGxpbmUgKyAxLCBsZW4gLSAxKTsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJLyogaW5jb21wbGV0ZSBsaW5lIGF0IHRoZSBlbmQgKi8KQEAgLTI0MjEsMjIgKzI0OTUsNiBAQAogCX0KIH0KIAotc3RydWN0IGRpZmZzdGF0X3QgewotCWludCBucjsKLQlpbnQgYWxsb2M7Ci0Jc3RydWN0IGRpZmZzdGF0X2ZpbGUgewotCQljaGFyICpmcm9tX25hbWU7Ci0JCWNoYXIgKm5hbWU7Ci0JCWNoYXIgKnByaW50X25hbWU7Ci0JCWNvbnN0IGNoYXIgKmNvbW1lbnRzOwotCQl1bnNpZ25lZCBpc191bm1lcmdlZDoxOwotCQl1bnNpZ25lZCBpc19iaW5hcnk6MTsKLQkJdW5zaWduZWQgaXNfcmVuYW1lZDoxOwotCQl1bnNpZ25lZCBpc19pbnRlcmVzdGluZzoxOwotCQl1aW50bWF4X3QgYWRkZWQsIGRlbGV0ZWQ7Ci0JfSAqKmZpbGVzOwotfTsKLQogc3RhdGljIHN0cnVjdCBkaWZmc3RhdF9maWxlICpkaWZmc3RhdF9hZGQoc3RydWN0IGRpZmZzdGF0X3QgKmRpZmZzdGF0LAogCQkJCQkgIGNvbnN0IGNoYXIgKm5hbWVfYSwKIAkJCQkJICBjb25zdCBjaGFyICpuYW1lX2IpCkBAIC0yNDc3LDcgKzI1MzUsNyBAQAogCS8qCiAJICogbWFrZSBzdXJlIHRoYXQgYXQgbGVhc3Qgb25lICctJyBvciAnKycgaXMgcHJpbnRlZCBpZgogCSAqIHRoZXJlIGlzIGFueSBjaGFuZ2UgdG8gdGhpcyBwYXRoLiBUaGUgZWFzaWVzdCB3YXkgaXMgdG8KLQkgKiBzY2FsZSBsaW5lYXJseSBhcyBpZiB0aGUgYWxsb3RlZCB3aWR0aCBpcyBvbmUgY29sdW1uIHNob3J0ZXIKKwkgKiBzY2FsZSBsaW5lYXJseSBhcyBpZiB0aGUgYWxsb3R0ZWQgd2lkdGggaXMgb25lIGNvbHVtbiBzaG9ydGVyCiAJICogdGhhbiBpdCBpcywgYW5kIHRoZW4gYWRkIDEgdG8gdGhlIHJlc3VsdC4KIAkgKi8KIAlyZXR1cm4gMSArIChpdCAqICh3aWR0aCAtIDEpIC8gbWF4X2NoYW5nZSk7CkBAIC0zMDgzLDcgKzMxNDEsNyBAQAogCWdhdGhlcl9kaXJzdGF0KG9wdGlvbnMsICZkaXIsIGNoYW5nZWQsICIiLCAwKTsKIH0KIAotc3RhdGljIHZvaWQgZnJlZV9kaWZmc3RhdF9pbmZvKHN0cnVjdCBkaWZmc3RhdF90ICpkaWZmc3RhdCkKK3ZvaWQgZnJlZV9kaWZmc3RhdF9pbmZvKHN0cnVjdCBkaWZmc3RhdF90ICpkaWZmc3RhdCkKIHsKIAlpbnQgaTsKIAlmb3IgKGkgPSAwOyBpIDwgZGlmZnN0YXQtPm5yOyBpKyspIHsKQEAgLTMxMjIsNyArMzE4MCw3IEBACiAJZm9yIChjbnQgPSAxOyBjbnQgPCBtYXJrZXJfc2l6ZTsgY250KyspCiAJCWlmIChsaW5lW2NudF0gIT0gZmlyc3RjaGFyKQogCQkJcmV0dXJuIDA7Ci0JLyogbGluZVsxXSB0aHJ1IGxpbmVbbWFya2VyX3NpemUtMV0gYXJlIHNhbWUgYXMgZmlyc3RjaGFyICovCisJLyogbGluZVsxXSB0aHJvdWdoIGxpbmVbbWFya2VyX3NpemUtMV0gYXJlIHNhbWUgYXMgZmlyc3RjaGFyICovCiAJaWYgKGxlbiA8IG1hcmtlcl9zaXplICsgMSB8fCAhaXNzcGFjZShsaW5lW21hcmtlcl9zaXplXSkpCiAJCXJldHVybiAwOwogCXJldHVybiAxOwpAQCAtMzMxMywxNCArMzM3MSwxNCBAQAogCQlvcHRpb25zLT5iX3ByZWZpeCA9IGI7CiB9CiAKLXN0cnVjdCB1c2VyZGlmZl9kcml2ZXIgKmdldF90ZXh0Y29udihzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKK3N0cnVjdCB1c2VyZGlmZl9kcml2ZXIgKmdldF90ZXh0Y29udihzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKIAkJCQkgICAgIHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpvbmUpCiB7CiAJaWYgKCFESUZGX0ZJTEVfVkFMSUQob25lKSkKIAkJcmV0dXJuIE5VTEw7CiAKLQlkaWZmX2ZpbGVzcGVjX2xvYWRfZHJpdmVyKG9uZSwgaXN0YXRlKTsKLQlyZXR1cm4gdXNlcmRpZmZfZ2V0X3RleHRjb252KG9uZS0+ZHJpdmVyKTsKKwlkaWZmX2ZpbGVzcGVjX2xvYWRfZHJpdmVyKG9uZSwgci0+aW5kZXgpOworCXJldHVybiB1c2VyZGlmZl9nZXRfdGV4dGNvbnYociwgb25lLT5kcml2ZXIpOwogfQogCiBzdGF0aWMgdm9pZCBidWlsdGluX2RpZmYoY29uc3QgY2hhciAqbmFtZV9hLApAQCAtMzM2OSw4ICszNDI3LDggQEAKIAl9CiAKIAlpZiAoby0+ZmxhZ3MuYWxsb3dfdGV4dGNvbnYpIHsKLQkJdGV4dGNvbnZfb25lID0gZ2V0X3RleHRjb252KG8tPnJlcG8tPmluZGV4LCBvbmUpOwotCQl0ZXh0Y29udl90d28gPSBnZXRfdGV4dGNvbnYoby0+cmVwby0+aW5kZXgsIHR3byk7CisJCXRleHRjb252X29uZSA9IGdldF90ZXh0Y29udihvLT5yZXBvLCBvbmUpOworCQl0ZXh0Y29udl90d28gPSBnZXRfdGV4dGNvbnYoby0+cmVwbywgdHdvKTsKIAl9CiAKIAkvKiBOZXZlciB1c2UgYSBub24tdmFsaWQgZmlsZW5hbWUgYW55d2hlcmUgaWYgYXQgYWxsIHBvc3NpYmxlICovCkBAIC0zNDc2LDcgKzM1MzQsNyBAQAogCQlvLT5mb3VuZF9jaGFuZ2VzID0gMTsKIAl9IGVsc2UgewogCQkvKiBDcmF6eSB4ZGwgaW50ZXJmYWNlcy4uICovCi0JCWNvbnN0IGNoYXIgKmRpZmZvcHRzID0gZ2V0ZW52KCJHSVRfRElGRl9PUFRTIik7CisJCWNvbnN0IGNoYXIgKmRpZmZvcHRzOwogCQljb25zdCBjaGFyICp2OwogCQl4cHBhcmFtX3QgeHBwOwogCQl4ZGVtaXRjb25mX3QgeGVjZmc7CkBAIC0zNTE5LDEyICszNTc3LDE1IEBACiAJCQl4ZWNmZy5mbGFncyB8PSBYRExfRU1JVF9GVU5DQ09OVEVYVDsKIAkJaWYgKHBlKQogCQkJeGRpZmZfc2V0X2ZpbmRfZnVuYygmeGVjZmcsIHBlLT5wYXR0ZXJuLCBwZS0+Y2ZsYWdzKTsKKworCQlkaWZmb3B0cyA9IGdldGVudigiR0lUX0RJRkZfT1BUUyIpOwogCQlpZiAoIWRpZmZvcHRzKQogCQkJOwogCQllbHNlIGlmIChza2lwX3ByZWZpeChkaWZmb3B0cywgIi0tdW5pZmllZD0iLCAmdikpCiAJCQl4ZWNmZy5jdHhsZW4gPSBzdHJ0b3VsKHYsIE5VTEwsIDEwKTsKIAkJZWxzZSBpZiAoc2tpcF9wcmVmaXgoZGlmZm9wdHMsICItdSIsICZ2KSkKIAkJCXhlY2ZnLmN0eGxlbiA9IHN0cnRvdWwodiwgTlVMTCwgMTApOworCiAJCWlmIChvLT53b3JkX2RpZmYpCiAJCQlpbml0X2RpZmZfd29yZHNfZGF0YSgmZWNiZGF0YSwgbywgb25lLCB0d28pOwogCQlpZiAoeGRpX2RpZmZfb3V0ZigmbWYxLCAmbWYyLCBOVUxMLCBmbl9vdXRfY29uc3VtZSwKQEAgLTM5NjMsNyArNDAyNCw3IEBACiAJCQkJcmV0dXJuIDA7CiAJCQl9CiAJCX0KLQkJcy0+ZGF0YSA9IHJlYWRfb2JqZWN0X2ZpbGUoJnMtPm9pZCwgJnR5cGUsICZzLT5zaXplKTsKKwkJcy0+ZGF0YSA9IHJlcG9fcmVhZF9vYmplY3RfZmlsZShyLCAmcy0+b2lkLCAmdHlwZSwgJnMtPnNpemUpOwogCQlpZiAoIXMtPmRhdGEpCiAJCQlkaWUoInVuYWJsZSB0byByZWFkICVzIiwgb2lkX3RvX2hleCgmcy0+b2lkKSk7CiAJCXMtPnNob3VsZF9mcmVlID0gMTsKQEAgLTQxMTIsNyArNDE3Myw2IEBACiAJCQkgICAgICBzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqb25lLAogCQkJICAgICAgc3RydWN0IGRpZmZfZmlsZXNwZWMgKnR3bywKIAkJCSAgICAgIGNvbnN0IGNoYXIgKnhmcm1fbXNnLAotCQkJICAgICAgaW50IGNvbXBsZXRlX3Jld3JpdGUsCiAJCQkgICAgICBzdHJ1Y3QgZGlmZl9vcHRpb25zICpvKQogewogCXN0cnVjdCBhcmd2X2FycmF5IGFyZ3YgPSBBUkdWX0FSUkFZX0lOSVQ7CkBAIC00MTM2LDYgKzQxOTYsOCBAQAogCWFyZ3ZfYXJyYXlfcHVzaGYoJmVudiwgIkdJVF9ESUZGX1BBVEhfQ09VTlRFUj0lZCIsICsrby0+ZGlmZl9wYXRoX2NvdW50ZXIpOwogCWFyZ3ZfYXJyYXlfcHVzaGYoJmVudiwgIkdJVF9ESUZGX1BBVEhfVE9UQUw9JWQiLCBxLT5ucik7CiAKKwlkaWZmX2ZyZWVfZmlsZXNwZWNfZGF0YShvbmUpOworCWRpZmZfZnJlZV9maWxlc3BlY19kYXRhKHR3byk7CiAJaWYgKHJ1bl9jb21tYW5kX3Zfb3B0X2NkX2Vudihhcmd2LmFyZ3YsIFJVTl9VU0lOR19TSEVMTCwgTlVMTCwgZW52LmFyZ3YpKQogCQlkaWUoXygiZXh0ZXJuYWwgZGlmZiBkaWVkLCBzdG9wcGluZyBhdCAlcyIpLCBuYW1lKTsKIApAQCAtNDI3MCw4ICs0MzMyLDcgQEAKIAl9CiAKIAlpZiAocGdtKSB7Ci0JCXJ1bl9leHRlcm5hbF9kaWZmKHBnbSwgbmFtZSwgb3RoZXIsIG9uZSwgdHdvLCB4ZnJtX21zZywKLQkJCQkgIGNvbXBsZXRlX3Jld3JpdGUsIG8pOworCQlydW5fZXh0ZXJuYWxfZGlmZihwZ20sIG5hbWUsIG90aGVyLCBvbmUsIHR3bywgeGZybV9tc2csIG8pOwogCQlyZXR1cm47CiAJfQogCWlmIChvbmUgJiYgdHdvKQpAQCAtNDQyMCw2ICs0NDgxLDggQEAKIAlidWlsdGluX2NoZWNrZGlmZihuYW1lLCBvdGhlciwgYXR0cl9wYXRoLCBwLT5vbmUsIHAtPnR3bywgbyk7CiB9CiAKK3N0YXRpYyB2b2lkIHByZXBfcGFyc2Vfb3B0aW9ucyhzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zKTsKKwogdm9pZCByZXBvX2RpZmZfc2V0dXAoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMpCiB7CiAJbWVtY3B5KG9wdGlvbnMsICZkZWZhdWx0X2RpZmZfb3B0aW9ucywgc2l6ZW9mKCpvcHRpb25zKSk7CkBAIC00NDYxLDYgKzQ1MjQsOCBAQAogCiAJb3B0aW9ucy0+Y29sb3JfbW92ZWQgPSBkaWZmX2NvbG9yX21vdmVkX2RlZmF1bHQ7CiAJb3B0aW9ucy0+Y29sb3JfbW92ZWRfd3NfaGFuZGxpbmcgPSBkaWZmX2NvbG9yX21vdmVkX3dzX2RlZmF1bHQ7CisKKwlwcmVwX3BhcnNlX29wdGlvbnMob3B0aW9ucyk7CiB9CiAKIHZvaWQgZGlmZl9zZXR1cF9kb25lKHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMpCkBAIC00NTY0LDY4ICs0NjI5LDggQEAKIAogCWlmICghb3B0aW9ucy0+dXNlX2NvbG9yIHx8IGV4dGVybmFsX2RpZmYoKSkKIAkJb3B0aW9ucy0+Y29sb3JfbW92ZWQgPSAwOwotfQogCi1zdGF0aWMgaW50IG9wdF9hcmcoY29uc3QgY2hhciAqYXJnLCBpbnQgYXJnX3Nob3J0LCBjb25zdCBjaGFyICphcmdfbG9uZywgaW50ICp2YWwpCi17Ci0JY2hhciBjLCAqZXE7Ci0JaW50IGxlbjsKLQotCWlmICgqYXJnICE9ICctJykKLQkJcmV0dXJuIDA7Ci0JYyA9ICorK2FyZzsKLQlpZiAoIWMpCi0JCXJldHVybiAwOwotCWlmIChjID09IGFyZ19zaG9ydCkgewotCQljID0gKisrYXJnOwotCQlpZiAoIWMpCi0JCQlyZXR1cm4gMTsKLQkJaWYgKHZhbCAmJiBpc2RpZ2l0KGMpKSB7Ci0JCQljaGFyICplbmQ7Ci0JCQlpbnQgbiA9IHN0cnRvdWwoYXJnLCAmZW5kLCAxMCk7Ci0JCQlpZiAoKmVuZCkKLQkJCQlyZXR1cm4gMDsKLQkJCSp2YWwgPSBuOwotCQkJcmV0dXJuIDE7Ci0JCX0KLQkJcmV0dXJuIDA7Ci0JfQotCWlmIChjICE9ICctJykKLQkJcmV0dXJuIDA7Ci0JYXJnKys7Ci0JZXEgPSBzdHJjaHJudWwoYXJnLCAnPScpOwotCWxlbiA9IGVxIC0gYXJnOwotCWlmICghbGVuIHx8IHN0cm5jbXAoYXJnLCBhcmdfbG9uZywgbGVuKSkKLQkJcmV0dXJuIDA7Ci0JaWYgKCplcSkgewotCQlpbnQgbjsKLQkJY2hhciAqZW5kOwotCQlpZiAoIWlzZGlnaXQoKisrZXEpKQotCQkJcmV0dXJuIDA7Ci0JCW4gPSBzdHJ0b3VsKGVxLCAmZW5kLCAxMCk7Ci0JCWlmICgqZW5kKQotCQkJcmV0dXJuIDA7Ci0JCSp2YWwgPSBuOwotCX0KLQlyZXR1cm4gMTsKLX0KLQotc3RhdGljIGludCBkaWZmX3Njb3Jlb3B0X3BhcnNlKGNvbnN0IGNoYXIgKm9wdCk7Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHNob3J0X29wdChjaGFyIG9wdCwgY29uc3QgY2hhciAqKmFyZ3YsCi0JCQkgICAgY29uc3QgY2hhciAqKm9wdGFyZykKLXsKLQljb25zdCBjaGFyICphcmcgPSBhcmd2WzBdOwotCWlmIChhcmdbMF0gIT0gJy0nIHx8IGFyZ1sxXSAhPSBvcHQpCi0JCXJldHVybiAwOwotCWlmIChhcmdbMl0gIT0gJ1wwJykgewotCQkqb3B0YXJnID0gYXJnICsgMjsKLQkJcmV0dXJuIDE7Ci0JfQotCWlmICghYXJndlsxXSkKLQkJZGllKCJPcHRpb24gJyVjJyByZXF1aXJlcyBhIHZhbHVlIiwgb3B0KTsKLQkqb3B0YXJnID0gYXJndlsxXTsKLQlyZXR1cm4gMjsKKwlGUkVFX0FORF9OVUxMKG9wdGlvbnMtPnBhcnNlb3B0cyk7CiB9CiAKIGludCBwYXJzZV9sb25nX29wdChjb25zdCBjaGFyICpvcHQsIGNvbnN0IGNoYXIgKiphcmd2LApAQCAtNDY0OSw3NyArNDY1NCw1NiBAQAogCXJldHVybiAyOwogfQogCi1zdGF0aWMgaW50IHN0YXRfb3B0KHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMsIGNvbnN0IGNoYXIgKiphdikKK3N0YXRpYyBpbnQgZGlmZl9vcHRfc3RhdChjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGNvbnN0IGNoYXIgKnZhbHVlLCBpbnQgdW5zZXQpCiB7Ci0JY29uc3QgY2hhciAqYXJnID0gYXZbMF07Ci0JY2hhciAqZW5kOworCXN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMgPSBvcHQtPnZhbHVlOwogCWludCB3aWR0aCA9IG9wdGlvbnMtPnN0YXRfd2lkdGg7CiAJaW50IG5hbWVfd2lkdGggPSBvcHRpb25zLT5zdGF0X25hbWVfd2lkdGg7CiAJaW50IGdyYXBoX3dpZHRoID0gb3B0aW9ucy0+c3RhdF9ncmFwaF93aWR0aDsKIAlpbnQgY291bnQgPSBvcHRpb25zLT5zdGF0X2NvdW50OwotCWludCBhcmdjb3VudCA9IDE7CisJY2hhciAqZW5kOwogCi0JaWYgKCFza2lwX3ByZWZpeChhcmcsICItLXN0YXQiLCAmYXJnKSkKLQkJQlVHKCJzdGF0IG9wdGlvbiBkb2VzIG5vdCBiZWdpbiB3aXRoIC0tc3RhdDogJXMiLCBhcmcpOwotCWVuZCA9IChjaGFyICopYXJnOworCUJVR19PTl9PUFRfTkVHKHVuc2V0KTsKIAotCXN3aXRjaCAoKmFyZykgewotCWNhc2UgJy0nOgotCQlpZiAoc2tpcF9wcmVmaXgoYXJnLCAiLXdpZHRoIiwgJmFyZykpIHsKLQkJCWlmICgqYXJnID09ICc9JykKLQkJCQl3aWR0aCA9IHN0cnRvdWwoYXJnICsgMSwgJmVuZCwgMTApOwotCQkJZWxzZSBpZiAoISphcmcgJiYgIWF2WzFdKQotCQkJCWRpZV93YW50X29wdGlvbigiLS1zdGF0LXdpZHRoIik7Ci0JCQllbHNlIGlmICghKmFyZykgewotCQkJCXdpZHRoID0gc3RydG91bChhdlsxXSwgJmVuZCwgMTApOwotCQkJCWFyZ2NvdW50ID0gMjsKLQkJCX0KLQkJfSBlbHNlIGlmIChza2lwX3ByZWZpeChhcmcsICItbmFtZS13aWR0aCIsICZhcmcpKSB7Ci0JCQlpZiAoKmFyZyA9PSAnPScpCi0JCQkJbmFtZV93aWR0aCA9IHN0cnRvdWwoYXJnICsgMSwgJmVuZCwgMTApOwotCQkJZWxzZSBpZiAoISphcmcgJiYgIWF2WzFdKQotCQkJCWRpZV93YW50X29wdGlvbigiLS1zdGF0LW5hbWUtd2lkdGgiKTsKLQkJCWVsc2UgaWYgKCEqYXJnKSB7Ci0JCQkJbmFtZV93aWR0aCA9IHN0cnRvdWwoYXZbMV0sICZlbmQsIDEwKTsKLQkJCQlhcmdjb3VudCA9IDI7Ci0JCQl9Ci0JCX0gZWxzZSBpZiAoc2tpcF9wcmVmaXgoYXJnLCAiLWdyYXBoLXdpZHRoIiwgJmFyZykpIHsKLQkJCWlmICgqYXJnID09ICc9JykKLQkJCQlncmFwaF93aWR0aCA9IHN0cnRvdWwoYXJnICsgMSwgJmVuZCwgMTApOwotCQkJZWxzZSBpZiAoISphcmcgJiYgIWF2WzFdKQotCQkJCWRpZV93YW50X29wdGlvbigiLS1zdGF0LWdyYXBoLXdpZHRoIik7Ci0JCQllbHNlIGlmICghKmFyZykgewotCQkJCWdyYXBoX3dpZHRoID0gc3RydG91bChhdlsxXSwgJmVuZCwgMTApOwotCQkJCWFyZ2NvdW50ID0gMjsKLQkJCX0KLQkJfSBlbHNlIGlmIChza2lwX3ByZWZpeChhcmcsICItY291bnQiLCAmYXJnKSkgewotCQkJaWYgKCphcmcgPT0gJz0nKQotCQkJCWNvdW50ID0gc3RydG91bChhcmcgKyAxLCAmZW5kLCAxMCk7Ci0JCQllbHNlIGlmICghKmFyZyAmJiAhYXZbMV0pCi0JCQkJZGllX3dhbnRfb3B0aW9uKCItLXN0YXQtY291bnQiKTsKLQkJCWVsc2UgaWYgKCEqYXJnKSB7Ci0JCQkJY291bnQgPSBzdHJ0b3VsKGF2WzFdLCAmZW5kLCAxMCk7Ci0JCQkJYXJnY291bnQgPSAyOwotCQkJfQorCWlmICghc3RyY21wKG9wdC0+bG9uZ19uYW1lLCAic3RhdCIpKSB7CisJCWlmICh2YWx1ZSkgeworCQkJd2lkdGggPSBzdHJ0b3VsKHZhbHVlLCAmZW5kLCAxMCk7CisJCQlpZiAoKmVuZCA9PSAnLCcpCisJCQkJbmFtZV93aWR0aCA9IHN0cnRvdWwoZW5kKzEsICZlbmQsIDEwKTsKKwkJCWlmICgqZW5kID09ICcsJykKKwkJCQljb3VudCA9IHN0cnRvdWwoZW5kKzEsICZlbmQsIDEwKTsKKwkJCWlmICgqZW5kKQorCQkJCXJldHVybiBlcnJvcihfKCJpbnZhbGlkIC0tc3RhdCB2YWx1ZTogJXMiKSwgdmFsdWUpOwogCQl9Ci0JCWJyZWFrOwotCWNhc2UgJz0nOgotCQl3aWR0aCA9IHN0cnRvdWwoYXJnKzEsICZlbmQsIDEwKTsKLQkJaWYgKCplbmQgPT0gJywnKQotCQkJbmFtZV93aWR0aCA9IHN0cnRvdWwoZW5kKzEsICZlbmQsIDEwKTsKLQkJaWYgKCplbmQgPT0gJywnKQotCQkJY291bnQgPSBzdHJ0b3VsKGVuZCsxLCAmZW5kLCAxMCk7Ci0JfQorCX0gZWxzZSBpZiAoIXN0cmNtcChvcHQtPmxvbmdfbmFtZSwgInN0YXQtd2lkdGgiKSkgeworCQl3aWR0aCA9IHN0cnRvdWwodmFsdWUsICZlbmQsIDEwKTsKKwkJaWYgKCplbmQpCisJCQlyZXR1cm4gZXJyb3IoXygiJXMgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIpLAorCQkJCSAgICAgb3B0LT5sb25nX25hbWUpOworCX0gZWxzZSBpZiAoIXN0cmNtcChvcHQtPmxvbmdfbmFtZSwgInN0YXQtbmFtZS13aWR0aCIpKSB7CisJCW5hbWVfd2lkdGggPSBzdHJ0b3VsKHZhbHVlLCAmZW5kLCAxMCk7CisJCWlmICgqZW5kKQorCQkJcmV0dXJuIGVycm9yKF8oIiVzIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiKSwKKwkJCQkgICAgIG9wdC0+bG9uZ19uYW1lKTsKKwl9IGVsc2UgaWYgKCFzdHJjbXAob3B0LT5sb25nX25hbWUsICJzdGF0LWdyYXBoLXdpZHRoIikpIHsKKwkJZ3JhcGhfd2lkdGggPSBzdHJ0b3VsKHZhbHVlLCAmZW5kLCAxMCk7CisJCWlmICgqZW5kKQorCQkJcmV0dXJuIGVycm9yKF8oIiVzIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiKSwKKwkJCQkgICAgIG9wdC0+bG9uZ19uYW1lKTsKKwl9IGVsc2UgaWYgKCFzdHJjbXAob3B0LT5sb25nX25hbWUsICJzdGF0LWNvdW50IikpIHsKKwkJY291bnQgPSBzdHJ0b3VsKHZhbHVlLCAmZW5kLCAxMCk7CisJCWlmICgqZW5kKQorCQkJcmV0dXJuIGVycm9yKF8oIiVzIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiKSwKKwkJCQkgICAgIG9wdC0+bG9uZ19uYW1lKTsKKwl9IGVsc2UKKwkJQlVHKCIlcyBzaG91bGQgbm90IGdldCBoZXJlIiwgb3B0LT5sb25nX25hbWUpOwogCi0JLyogSW1wb3J0YW50ISBUaGlzIGNoZWNrcyBhbGwgdGhlIGVycm9yIGNhc2VzISAqLwotCWlmICgqZW5kKQotCQlyZXR1cm4gMDsKIAlvcHRpb25zLT5vdXRwdXRfZm9ybWF0IHw9IERJRkZfRk9STUFUX0RJRkZTVEFUOwogCW9wdGlvbnMtPnN0YXRfbmFtZV93aWR0aCA9IG5hbWVfd2lkdGg7CiAJb3B0aW9ucy0+c3RhdF9ncmFwaF93aWR0aCA9IGdyYXBoX3dpZHRoOwogCW9wdGlvbnMtPnN0YXRfd2lkdGggPSB3aWR0aDsKIAlvcHRpb25zLT5zdGF0X2NvdW50ID0gY291bnQ7Ci0JcmV0dXJuIGFyZ2NvdW50OworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IHBhcnNlX2RpcnN0YXRfb3B0KHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMsIGNvbnN0IGNoYXIgKnBhcmFtcykKQEAgLTQ3MzcsMTQgKzQ3MjEsNiBAQAogCXJldHVybiAxOwogfQogCi1zdGF0aWMgaW50IHBhcnNlX3N1Ym1vZHVsZV9vcHQoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucywgY29uc3QgY2hhciAqdmFsdWUpCi17Ci0JaWYgKHBhcnNlX3N1Ym1vZHVsZV9wYXJhbXMob3B0aW9ucywgdmFsdWUpKQotCQlkaWUoXygiRmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciKSwKLQkJCXZhbHVlKTsKLQlyZXR1cm4gMTsKLX0KLQogc3RhdGljIGNvbnN0IGNoYXIgZGlmZl9zdGF0dXNfbGV0dGVyc1tdID0gewogCURJRkZfU1RBVFVTX0FEREVELAogCURJRkZfU1RBVFVTX0NPUElFRCwKQEAgLTQ3NzYsMTAgKzQ3NTIsMTkgQEAKIAlyZXR1cm4gb3B0LT5maWx0ZXIgJiBmaWx0ZXJfYml0WyhpbnQpIHN0YXR1c107CiB9CiAKLXN0YXRpYyBpbnQgcGFyc2VfZGlmZl9maWx0ZXJfb3B0KGNvbnN0IGNoYXIgKm9wdGFyZywgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0KQordW5zaWduZWQgZGlmZl9maWx0ZXJfYml0KGNoYXIgc3RhdHVzKQogeworCXByZXBhcmVfZmlsdGVyX2JpdHMoKTsKKwlyZXR1cm4gZmlsdGVyX2JpdFsoaW50KSBzdGF0dXNdOworfQorCitzdGF0aWMgaW50IGRpZmZfb3B0X2RpZmZfZmlsdGVyKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdGlvbiwKKwkJCQljb25zdCBjaGFyICpvcHRhcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQgPSBvcHRpb24tPnZhbHVlOwogCWludCBpLCBvcHRjaDsKIAorCUJVR19PTl9PUFRfTkVHKHVuc2V0KTsKIAlwcmVwYXJlX2ZpbHRlcl9iaXRzKCk7CiAKIAkvKgpAQCAtNDgxMCw3ICs0Nzk1LDggQEAKIAogCQliaXQgPSAoMCA8PSBvcHRjaCAmJiBvcHRjaCA8PSAnWicpID8gZmlsdGVyX2JpdFtvcHRjaF0gOiAwOwogCQlpZiAoIWJpdCkKLQkJCXJldHVybiBvcHRhcmdbaV07CisJCQlyZXR1cm4gZXJyb3IoXygidW5rbm93biBjaGFuZ2UgY2xhc3MgJyVjJyBpbiAtLWRpZmYtZmlsdGVyPSVzIiksCisJCQkJICAgICBvcHRhcmdbaV0sIG9wdGFyZyk7CiAJCWlmIChuZWdhdGUpCiAJCQlvcHQtPmZpbHRlciAmPSB+Yml0OwogCQllbHNlCkBAIC00ODE5LDMwICs0ODA1LDM1IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGVuYWJsZV9wYXRjaF9vdXRwdXQoaW50ICpmbXQpIHsKK3N0YXRpYyB2b2lkIGVuYWJsZV9wYXRjaF9vdXRwdXQoaW50ICpmbXQpCit7CiAJKmZtdCAmPSB+RElGRl9GT1JNQVRfTk9fT1VUUFVUOwogCSpmbXQgfD0gRElGRl9GT1JNQVRfUEFUQ0g7CiB9CiAKLXN0YXRpYyBpbnQgcGFyc2Vfd3NfZXJyb3JfaGlnaGxpZ2h0X29wdChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQsIGNvbnN0IGNoYXIgKmFyZykKK3N0YXRpYyBpbnQgZGlmZl9vcHRfd3NfZXJyb3JfaGlnaGxpZ2h0KGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdGlvbiwKKwkJCQkgICAgICAgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCiB7CisJc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0ID0gb3B0aW9uLT52YWx1ZTsKIAlpbnQgdmFsID0gcGFyc2Vfd3NfZXJyb3JfaGlnaGxpZ2h0KGFyZyk7CiAKLQlpZiAodmFsIDwgMCkgewotCQllcnJvcigidW5rbm93biB2YWx1ZSBhZnRlciB3cy1lcnJvci1oaWdobGlnaHQ9JS4qcyIsCi0JCSAgICAgIC0xIC0gdmFsLCBhcmcpOwotCQlyZXR1cm4gMDsKLQl9CisJQlVHX09OX09QVF9ORUcodW5zZXQpOworCWlmICh2YWwgPCAwKQorCQlyZXR1cm4gZXJyb3IoXygidW5rbm93biB2YWx1ZSBhZnRlciB3cy1lcnJvci1oaWdobGlnaHQ9JS4qcyIpLAorCQkJICAgICAtMSAtIHZhbCwgYXJnKTsKIAlvcHQtPndzX2Vycm9yX2hpZ2hsaWdodCA9IHZhbDsKLQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBwYXJzZV9vYmpmaW5kX29wdChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHQsIGNvbnN0IGNoYXIgKmFyZykKK3N0YXRpYyBpbnQgZGlmZl9vcHRfZmluZF9vYmplY3QoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0aW9uLAorCQkJCWNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQogeworCXN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCA9IG9wdGlvbi0+dmFsdWU7CiAJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAKKwlCVUdfT05fT1BUX05FRyh1bnNldCk7CiAJaWYgKGdldF9vaWQoYXJnLCAmb2lkKSkKLQkJcmV0dXJuIGVycm9yKCJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIiwgYXJnKTsKKwkJcmV0dXJuIGVycm9yKF8oInVuYWJsZSB0byByZXNvbHZlICclcyciKSwgYXJnKTsKIAogCWlmICghb3B0LT5vYmpmaW5kKQogCQlvcHQtPm9iamZpbmQgPSB4Y2FsbG9jKDEsIHNpemVvZigqb3B0LT5vYmpmaW5kKSk7CkBAIC00ODUxLDIwMiArNDg0MiwzODQgQEAKIAlvcHQtPmZsYWdzLnJlY3Vyc2l2ZSA9IDE7CiAJb3B0LT5mbGFncy50cmVlX2luX3JlY3Vyc2l2ZSA9IDE7CiAJb2lkc2V0X2luc2VydChvcHQtPm9iamZpbmQsICZvaWQpOwotCXJldHVybiAxOworCXJldHVybiAwOwogfQogCi1pbnQgZGlmZl9vcHRfcGFyc2Uoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucywKLQkJICAgY29uc3QgY2hhciAqKmF2LCBpbnQgYWMsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3N0YXRpYyBpbnQgZGlmZl9vcHRfYW5jaG9yZWQoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCQkJICAgICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKIHsKLQljb25zdCBjaGFyICphcmcgPSBhdlswXTsKLQljb25zdCBjaGFyICpvcHRhcmc7Ci0JaW50IGFyZ2NvdW50OworCXN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMgPSBvcHQtPnZhbHVlOwogCi0JaWYgKCFwcmVmaXgpCi0JCXByZWZpeCA9ICIiOworCUJVR19PTl9PUFRfTkVHKHVuc2V0KTsKKwlvcHRpb25zLT54ZGxfb3B0cyA9IERJRkZfV0lUSF9BTEcob3B0aW9ucywgUEFUSUVOQ0VfRElGRik7CisJQUxMT0NfR1JPVyhvcHRpb25zLT5hbmNob3JzLCBvcHRpb25zLT5hbmNob3JzX25yICsgMSwKKwkJICAgb3B0aW9ucy0+YW5jaG9yc19hbGxvYyk7CisJb3B0aW9ucy0+YW5jaG9yc1tvcHRpb25zLT5hbmNob3JzX25yKytdID0geHN0cmR1cChhcmcpOworCXJldHVybiAwOworfQogCi0JLyogT3V0cHV0IGZvcm1hdCBvcHRpb25zICovCi0JaWYgKCFzdHJjbXAoYXJnLCAiLXAiKSB8fCAhc3RyY21wKGFyZywgIi11IikgfHwgIXN0cmNtcChhcmcsICItLXBhdGNoIikKLQkgICAgfHwgb3B0X2FyZyhhcmcsICdVJywgInVuaWZpZWQiLCAmb3B0aW9ucy0+Y29udGV4dCkpCi0JCWVuYWJsZV9wYXRjaF9vdXRwdXQoJm9wdGlvbnMtPm91dHB1dF9mb3JtYXQpOwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1yYXciKSkKLQkJb3B0aW9ucy0+b3V0cHV0X2Zvcm1hdCB8PSBESUZGX0ZPUk1BVF9SQVc7Ci0JZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLXBhdGNoLXdpdGgtcmF3IikpIHsKLQkJZW5hYmxlX3BhdGNoX291dHB1dCgmb3B0aW9ucy0+b3V0cHV0X2Zvcm1hdCk7Ci0JCW9wdGlvbnMtPm91dHB1dF9mb3JtYXQgfD0gRElGRl9GT1JNQVRfUkFXOwotCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLW51bXN0YXQiKSkKLQkJb3B0aW9ucy0+b3V0cHV0X2Zvcm1hdCB8PSBESUZGX0ZPUk1BVF9OVU1TVEFUOwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1zaG9ydHN0YXQiKSkKLQkJb3B0aW9ucy0+b3V0cHV0X2Zvcm1hdCB8PSBESUZGX0ZPUk1BVF9TSE9SVFNUQVQ7Ci0JZWxzZSBpZiAoc2tpcF9wcmVmaXgoYXJnLCAiLVgiLCAmYXJnKSB8fAotCQkgc2tpcF90b19vcHRpb25hbF9hcmcoYXJnLCAiLS1kaXJzdGF0IiwgJmFyZykpCi0JCXJldHVybiBwYXJzZV9kaXJzdGF0X29wdChvcHRpb25zLCBhcmcpOwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1jdW11bGF0aXZlIikpCi0JCXJldHVybiBwYXJzZV9kaXJzdGF0X29wdChvcHRpb25zLCAiY3VtdWxhdGl2ZSIpOwotCWVsc2UgaWYgKHNraXBfdG9fb3B0aW9uYWxfYXJnKGFyZywgIi0tZGlyc3RhdC1ieS1maWxlIiwgJmFyZykpIHsKLQkJcGFyc2VfZGlyc3RhdF9vcHQob3B0aW9ucywgImZpbGVzIik7Ci0JCXJldHVybiBwYXJzZV9kaXJzdGF0X29wdChvcHRpb25zLCBhcmcpOwotCX0KLQllbHNlIGlmICghc3RyY21wKGFyZywgIi0tY2hlY2siKSkKLQkJb3B0aW9ucy0+b3V0cHV0X2Zvcm1hdCB8PSBESUZGX0ZPUk1BVF9DSEVDS0RJRkY7Ci0JZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLXN1bW1hcnkiKSkKLQkJb3B0aW9ucy0+b3V0cHV0X2Zvcm1hdCB8PSBESUZGX0ZPUk1BVF9TVU1NQVJZOwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1wYXRjaC13aXRoLXN0YXQiKSkgewotCQllbmFibGVfcGF0Y2hfb3V0cHV0KCZvcHRpb25zLT5vdXRwdXRfZm9ybWF0KTsKLQkJb3B0aW9ucy0+b3V0cHV0X2Zvcm1hdCB8PSBESUZGX0ZPUk1BVF9ESUZGU1RBVDsKLQl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1uYW1lLW9ubHkiKSkKLQkJb3B0aW9ucy0+b3V0cHV0X2Zvcm1hdCB8PSBESUZGX0ZPUk1BVF9OQU1FOwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1uYW1lLXN0YXR1cyIpKQotCQlvcHRpb25zLT5vdXRwdXRfZm9ybWF0IHw9IERJRkZfRk9STUFUX05BTUVfU1RBVFVTOwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLXMiKSB8fCAhc3RyY21wKGFyZywgIi0tbm8tcGF0Y2giKSkKLQkJb3B0aW9ucy0+b3V0cHV0X2Zvcm1hdCB8PSBESUZGX0ZPUk1BVF9OT19PVVRQVVQ7Ci0JZWxzZSBpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1zdGF0IikpCi0JCS8qIC0tc3RhdCwgLS1zdGF0LXdpZHRoLCAtLXN0YXQtbmFtZS13aWR0aCwgb3IgLS1zdGF0LWNvdW50ICovCi0JCXJldHVybiBzdGF0X29wdChvcHRpb25zLCBhdik7Ci0JZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLWNvbXBhY3Qtc3VtbWFyeSIpKSB7Ci0JCSBvcHRpb25zLT5mbGFncy5zdGF0X3dpdGhfc3VtbWFyeSA9IDE7Ci0JCSBvcHRpb25zLT5vdXRwdXRfZm9ybWF0IHw9IERJRkZfRk9STUFUX0RJRkZTVEFUOwotCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLW5vLWNvbXBhY3Qtc3VtbWFyeSIpKQotCQkgb3B0aW9ucy0+ZmxhZ3Muc3RhdF93aXRoX3N1bW1hcnkgPSAwOwotCWVsc2UgaWYgKHNraXBfcHJlZml4KGFyZywgIi0tb3V0cHV0LWluZGljYXRvci1uZXc9IiwgJmFyZykpCi0JCW9wdGlvbnMtPm91dHB1dF9pbmRpY2F0b3JzW09VVFBVVF9JTkRJQ0FUT1JfTkVXXSA9IGFyZ1swXTsKLQllbHNlIGlmIChza2lwX3ByZWZpeChhcmcsICItLW91dHB1dC1pbmRpY2F0b3Itb2xkPSIsICZhcmcpKQotCQlvcHRpb25zLT5vdXRwdXRfaW5kaWNhdG9yc1tPVVRQVVRfSU5ESUNBVE9SX09MRF0gPSBhcmdbMF07Ci0JZWxzZSBpZiAoc2tpcF9wcmVmaXgoYXJnLCAiLS1vdXRwdXQtaW5kaWNhdG9yLWNvbnRleHQ9IiwgJmFyZykpCi0JCW9wdGlvbnMtPm91dHB1dF9pbmRpY2F0b3JzW09VVFBVVF9JTkRJQ0FUT1JfQ09OVEVYVF0gPSBhcmdbMF07CitzdGF0aWMgaW50IGRpZmZfb3B0X2JpbmFyeShjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJCQkgICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zID0gb3B0LT52YWx1ZTsKIAotCS8qIHJlbmFtZXMgb3B0aW9ucyAqLwotCWVsc2UgaWYgKHN0YXJ0c193aXRoKGFyZywgIi1CIikgfHwKLQkJIHNraXBfdG9fb3B0aW9uYWxfYXJnKGFyZywgIi0tYnJlYWstcmV3cml0ZXMiLCBOVUxMKSkgewotCQlpZiAoKG9wdGlvbnMtPmJyZWFrX29wdCA9IGRpZmZfc2NvcmVvcHRfcGFyc2UoYXJnKSkgPT0gLTEpCi0JCQlyZXR1cm4gZXJyb3IoImludmFsaWQgYXJndW1lbnQgdG8gLUI6ICVzIiwgYXJnKzIpOwotCX0KLQllbHNlIGlmIChzdGFydHNfd2l0aChhcmcsICItTSIpIHx8Ci0JCSBza2lwX3RvX29wdGlvbmFsX2FyZyhhcmcsICItLWZpbmQtcmVuYW1lcyIsIE5VTEwpKSB7Ci0JCWlmICgob3B0aW9ucy0+cmVuYW1lX3Njb3JlID0gZGlmZl9zY29yZW9wdF9wYXJzZShhcmcpKSA9PSAtMSkKLQkJCXJldHVybiBlcnJvcigiaW52YWxpZCBhcmd1bWVudCB0byAtTTogJXMiLCBhcmcrMik7Ci0JCW9wdGlvbnMtPmRldGVjdF9yZW5hbWUgPSBESUZGX0RFVEVDVF9SRU5BTUU7Ci0JfQotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLUQiKSB8fCAhc3RyY21wKGFyZywgIi0taXJyZXZlcnNpYmxlLWRlbGV0ZSIpKSB7Ci0JCW9wdGlvbnMtPmlycmV2ZXJzaWJsZV9kZWxldGUgPSAxOwotCX0KLQllbHNlIGlmIChzdGFydHNfd2l0aChhcmcsICItQyIpIHx8Ci0JCSBza2lwX3RvX29wdGlvbmFsX2FyZyhhcmcsICItLWZpbmQtY29waWVzIiwgTlVMTCkpIHsKLQkJaWYgKG9wdGlvbnMtPmRldGVjdF9yZW5hbWUgPT0gRElGRl9ERVRFQ1RfQ09QWSkKLQkJCW9wdGlvbnMtPmZsYWdzLmZpbmRfY29waWVzX2hhcmRlciA9IDE7Ci0JCWlmICgob3B0aW9ucy0+cmVuYW1lX3Njb3JlID0gZGlmZl9zY29yZW9wdF9wYXJzZShhcmcpKSA9PSAtMSkKLQkJCXJldHVybiBlcnJvcigiaW52YWxpZCBhcmd1bWVudCB0byAtQzogJXMiLCBhcmcrMik7Ci0JCW9wdGlvbnMtPmRldGVjdF9yZW5hbWUgPSBESUZGX0RFVEVDVF9DT1BZOwotCX0KLQllbHNlIGlmICghc3RyY21wKGFyZywgIi0tbm8tcmVuYW1lcyIpKQotCQlvcHRpb25zLT5kZXRlY3RfcmVuYW1lID0gMDsKLQllbHNlIGlmICghc3RyY21wKGFyZywgIi0tcmVuYW1lLWVtcHR5IikpCi0JCW9wdGlvbnMtPmZsYWdzLnJlbmFtZV9lbXB0eSA9IDE7Ci0JZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLW5vLXJlbmFtZS1lbXB0eSIpKQotCQlvcHRpb25zLT5mbGFncy5yZW5hbWVfZW1wdHkgPSAwOwotCWVsc2UgaWYgKHNraXBfdG9fb3B0aW9uYWxfYXJnX2RlZmF1bHQoYXJnLCAiLS1yZWxhdGl2ZSIsICZhcmcsIE5VTEwpKSB7Ci0JCW9wdGlvbnMtPmZsYWdzLnJlbGF0aXZlX25hbWUgPSAxOwotCQlpZiAoYXJnKQotCQkJb3B0aW9ucy0+cHJlZml4ID0gYXJnOwotCX0KKwlCVUdfT05fT1BUX05FRyh1bnNldCk7CisJQlVHX09OX09QVF9BUkcoYXJnKTsKKwllbmFibGVfcGF0Y2hfb3V0cHV0KCZvcHRpb25zLT5vdXRwdXRfZm9ybWF0KTsKKwlvcHRpb25zLT5mbGFncy5iaW5hcnkgPSAxOworCXJldHVybiAwOworfQogCi0JLyogeGRpZmYgb3B0aW9ucyAqLwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1taW5pbWFsIikpCi0JCURJRkZfWERMX1NFVChvcHRpb25zLCBORUVEX01JTklNQUwpOwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1uby1taW5pbWFsIikpCi0JCURJRkZfWERMX0NMUihvcHRpb25zLCBORUVEX01JTklNQUwpOwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLXciKSB8fCAhc3RyY21wKGFyZywgIi0taWdub3JlLWFsbC1zcGFjZSIpKQotCQlESUZGX1hETF9TRVQob3B0aW9ucywgSUdOT1JFX1dISVRFU1BBQ0UpOwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLWIiKSB8fCAhc3RyY21wKGFyZywgIi0taWdub3JlLXNwYWNlLWNoYW5nZSIpKQotCQlESUZGX1hETF9TRVQob3B0aW9ucywgSUdOT1JFX1dISVRFU1BBQ0VfQ0hBTkdFKTsKLQllbHNlIGlmICghc3RyY21wKGFyZywgIi0taWdub3JlLXNwYWNlLWF0LWVvbCIpKQotCQlESUZGX1hETF9TRVQob3B0aW9ucywgSUdOT1JFX1dISVRFU1BBQ0VfQVRfRU9MKTsKLQllbHNlIGlmICghc3RyY21wKGFyZywgIi0taWdub3JlLWNyLWF0LWVvbCIpKQotCQlESUZGX1hETF9TRVQob3B0aW9ucywgSUdOT1JFX0NSX0FUX0VPTCk7Ci0JZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLWlnbm9yZS1ibGFuay1saW5lcyIpKQotCQlESUZGX1hETF9TRVQob3B0aW9ucywgSUdOT1JFX0JMQU5LX0xJTkVTKTsKLQllbHNlIGlmICghc3RyY21wKGFyZywgIi0taW5kZW50LWhldXJpc3RpYyIpKQotCQlESUZGX1hETF9TRVQob3B0aW9ucywgSU5ERU5UX0hFVVJJU1RJQyk7Ci0JZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLW5vLWluZGVudC1oZXVyaXN0aWMiKSkKLQkJRElGRl9YRExfQ0xSKG9wdGlvbnMsIElOREVOVF9IRVVSSVNUSUMpOwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1wYXRpZW5jZSIpKSB7Ci0JCWludCBpOwotCQlvcHRpb25zLT54ZGxfb3B0cyA9IERJRkZfV0lUSF9BTEcob3B0aW9ucywgUEFUSUVOQ0VfRElGRik7Ci0JCS8qCi0JCSAqIEJvdGggLS1wYXRpZW5jZSBhbmQgLS1hbmNob3JlZCB1c2UgUEFUSUVOQ0VfRElGRgotCQkgKiBpbnRlcm5hbGx5LCBzbyByZW1vdmUgYW55IGFuY2hvcnMgcHJldmlvdXNseQotCQkgKiBzcGVjaWZpZWQuCi0JCSAqLwotCQlmb3IgKGkgPSAwOyBpIDwgb3B0aW9ucy0+YW5jaG9yc19ucjsgaSsrKQotCQkJZnJlZShvcHRpb25zLT5hbmNob3JzW2ldKTsKLQkJb3B0aW9ucy0+YW5jaG9yc19uciA9IDA7Ci0JfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0taGlzdG9ncmFtIikpCi0JCW9wdGlvbnMtPnhkbF9vcHRzID0gRElGRl9XSVRIX0FMRyhvcHRpb25zLCBISVNUT0dSQU1fRElGRik7Ci0JZWxzZSBpZiAoKGFyZ2NvdW50ID0gcGFyc2VfbG9uZ19vcHQoImRpZmYtYWxnb3JpdGhtIiwgYXYsICZvcHRhcmcpKSkgewotCQlsb25nIHZhbHVlID0gcGFyc2VfYWxnb3JpdGhtX3ZhbHVlKG9wdGFyZyk7Ci0JCWlmICh2YWx1ZSA8IDApCi0JCQlyZXR1cm4gZXJyb3IoIm9wdGlvbiBkaWZmLWFsZ29yaXRobSBhY2NlcHRzIFwibXllcnNcIiwgIgotCQkJCSAgICAgIlwibWluaW1hbFwiLCBcInBhdGllbmNlXCIgYW5kIFwiaGlzdG9ncmFtXCIiKTsKLQkJLyogY2xlYXIgb3V0IHByZXZpb3VzIHNldHRpbmdzICovCi0JCURJRkZfWERMX0NMUihvcHRpb25zLCBORUVEX01JTklNQUwpOwotCQlvcHRpb25zLT54ZGxfb3B0cyAmPSB+WERGX0RJRkZfQUxHT1JJVEhNX01BU0s7Ci0JCW9wdGlvbnMtPnhkbF9vcHRzIHw9IHZhbHVlOwotCQlyZXR1cm4gYXJnY291bnQ7Ci0JfSBlbHNlIGlmIChza2lwX3ByZWZpeChhcmcsICItLWFuY2hvcmVkPSIsICZhcmcpKSB7Ci0JCW9wdGlvbnMtPnhkbF9vcHRzID0gRElGRl9XSVRIX0FMRyhvcHRpb25zLCBQQVRJRU5DRV9ESUZGKTsKLQkJQUxMT0NfR1JPVyhvcHRpb25zLT5hbmNob3JzLCBvcHRpb25zLT5hbmNob3JzX25yICsgMSwKLQkJCSAgIG9wdGlvbnMtPmFuY2hvcnNfYWxsb2MpOwotCQlvcHRpb25zLT5hbmNob3JzW29wdGlvbnMtPmFuY2hvcnNfbnIrK10gPSB4c3RyZHVwKGFyZyk7Ci0JfQorc3RhdGljIGludCBkaWZmX29wdF9icmVha19yZXdyaXRlcyhjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJCQkJICAgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCit7CisJaW50ICpicmVha19vcHQgPSBvcHQtPnZhbHVlOworCWludCBvcHQxLCBvcHQyOwogCi0JLyogZmxhZ3Mgb3B0aW9ucyAqLwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1iaW5hcnkiKSkgewotCQllbmFibGVfcGF0Y2hfb3V0cHV0KCZvcHRpb25zLT5vdXRwdXRfZm9ybWF0KTsKLQkJb3B0aW9ucy0+ZmxhZ3MuYmluYXJ5ID0gMTsKKwlCVUdfT05fT1BUX05FRyh1bnNldCk7CisJaWYgKCFhcmcpCisJCWFyZyA9ICIiOworCW9wdDEgPSBwYXJzZV9yZW5hbWVfc2NvcmUoJmFyZyk7CisJaWYgKCphcmcgPT0gMCkKKwkJb3B0MiA9IDA7CisJZWxzZSBpZiAoKmFyZyAhPSAnLycpCisJCXJldHVybiBlcnJvcihfKCIlcyBleHBlY3RzIDxuPi88bT4gZm9ybSIpLCBvcHQtPmxvbmdfbmFtZSk7CisJZWxzZSB7CisJCWFyZysrOworCQlvcHQyID0gcGFyc2VfcmVuYW1lX3Njb3JlKCZhcmcpOwogCX0KLQllbHNlIGlmICghc3RyY21wKGFyZywgIi0tZnVsbC1pbmRleCIpKQotCQlvcHRpb25zLT5mbGFncy5mdWxsX2luZGV4ID0gMTsKLQllbHNlIGlmICghc3RyY21wKGFyZywgIi1hIikgfHwgIXN0cmNtcChhcmcsICItLXRleHQiKSkKLQkJb3B0aW9ucy0+ZmxhZ3MudGV4dCA9IDE7Ci0JZWxzZSBpZiAoIXN0cmNtcChhcmcsICItUiIpKQotCQlvcHRpb25zLT5mbGFncy5yZXZlcnNlX2RpZmYgPSAxOwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1maW5kLWNvcGllcy1oYXJkZXIiKSkKLQkJb3B0aW9ucy0+ZmxhZ3MuZmluZF9jb3BpZXNfaGFyZGVyID0gMTsKLQllbHNlIGlmICghc3RyY21wKGFyZywgIi0tZm9sbG93IikpCi0JCW9wdGlvbnMtPmZsYWdzLmZvbGxvd19yZW5hbWVzID0gMTsKLQllbHNlIGlmICghc3RyY21wKGFyZywgIi0tbm8tZm9sbG93IikpIHsKLQkJb3B0aW9ucy0+ZmxhZ3MuZm9sbG93X3JlbmFtZXMgPSAwOwotCQlvcHRpb25zLT5mbGFncy5kZWZhdWx0X2ZvbGxvd19yZW5hbWVzID0gMDsKLQl9IGVsc2UgaWYgKHNraXBfdG9fb3B0aW9uYWxfYXJnX2RlZmF1bHQoYXJnLCAiLS1jb2xvciIsICZhcmcsICJhbHdheXMiKSkgewotCQlpbnQgdmFsdWUgPSBnaXRfY29uZmlnX2NvbG9yYm9vbChOVUxMLCBhcmcpOwotCQlpZiAodmFsdWUgPCAwKQotCQkJcmV0dXJuIGVycm9yKCJvcHRpb24gYGNvbG9yJyBleHBlY3RzIFwiYWx3YXlzXCIsIFwiYXV0b1wiLCBvciBcIm5ldmVyXCIiKTsKLQkJb3B0aW9ucy0+dXNlX2NvbG9yID0gdmFsdWU7Ci0JfQotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1uby1jb2xvciIpKQotCQlvcHRpb25zLT51c2VfY29sb3IgPSAwOwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1jb2xvci1tb3ZlZCIpKSB7CisJaWYgKCphcmcgIT0gMCkKKwkJcmV0dXJuIGVycm9yKF8oIiVzIGV4cGVjdHMgPG4+LzxtPiBmb3JtIiksIG9wdC0+bG9uZ19uYW1lKTsKKwkqYnJlYWtfb3B0ID0gb3B0MSB8IChvcHQyIDw8IDE2KTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkaWZmX29wdF9jaGFyKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCSBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwljaGFyICp2YWx1ZSA9IG9wdC0+dmFsdWU7CisKKwlCVUdfT05fT1BUX05FRyh1bnNldCk7CisJaWYgKGFyZ1sxXSkKKwkJcmV0dXJuIGVycm9yKF8oIiVzIGV4cGVjdHMgYSBjaGFyYWN0ZXIsIGdvdCAnJXMnIiksCisJCQkgICAgIG9wdC0+bG9uZ19uYW1lLCBhcmcpOworCSp2YWx1ZSA9IGFyZ1swXTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkaWZmX29wdF9jb2xvcl9tb3ZlZChjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJCQkJY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCit7CisJc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucyA9IG9wdC0+dmFsdWU7CisKKwlpZiAodW5zZXQpIHsKKwkJb3B0aW9ucy0+Y29sb3JfbW92ZWQgPSBDT0xPUl9NT1ZFRF9OTzsKKwl9IGVsc2UgaWYgKCFhcmcpIHsKIAkJaWYgKGRpZmZfY29sb3JfbW92ZWRfZGVmYXVsdCkKIAkJCW9wdGlvbnMtPmNvbG9yX21vdmVkID0gZGlmZl9jb2xvcl9tb3ZlZF9kZWZhdWx0OwogCQlpZiAob3B0aW9ucy0+Y29sb3JfbW92ZWQgPT0gQ09MT1JfTU9WRURfTk8pCiAJCQlvcHRpb25zLT5jb2xvcl9tb3ZlZCA9IENPTE9SX01PVkVEX0RFRkFVTFQ7Ci0JfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tbm8tY29sb3ItbW92ZWQiKSkKLQkJb3B0aW9ucy0+Y29sb3JfbW92ZWQgPSBDT0xPUl9NT1ZFRF9OTzsKLQllbHNlIGlmIChza2lwX3ByZWZpeChhcmcsICItLWNvbG9yLW1vdmVkPSIsICZhcmcpKSB7CisJfSBlbHNlIHsKIAkJaW50IGNtID0gcGFyc2VfY29sb3JfbW92ZWQoYXJnKTsKIAkJaWYgKGNtIDwgMCkKLQkJCWRpZSgiYmFkIC0tY29sb3ItbW92ZWQgYXJndW1lbnQ6ICVzIiwgYXJnKTsKKwkJCXJldHVybiBlcnJvcihfKCJiYWQgLS1jb2xvci1tb3ZlZCBhcmd1bWVudDogJXMiKSwgYXJnKTsKIAkJb3B0aW9ucy0+Y29sb3JfbW92ZWQgPSBjbTsKLQl9IGVsc2UgaWYgKHNraXBfcHJlZml4KGFyZywgIi0tY29sb3ItbW92ZWQtd3M9IiwgJmFyZykpIHsKLQkJb3B0aW9ucy0+Y29sb3JfbW92ZWRfd3NfaGFuZGxpbmcgPSBwYXJzZV9jb2xvcl9tb3ZlZF93cyhhcmcpOwotCX0gZWxzZSBpZiAoc2tpcF90b19vcHRpb25hbF9hcmdfZGVmYXVsdChhcmcsICItLWNvbG9yLXdvcmRzIiwgJm9wdGlvbnMtPndvcmRfcmVnZXgsIE5VTEwpKSB7Ci0JCW9wdGlvbnMtPnVzZV9jb2xvciA9IDE7Ci0JCW9wdGlvbnMtPndvcmRfZGlmZiA9IERJRkZfV09SRFNfQ09MT1I7CiAJfQotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS13b3JkLWRpZmYiKSkgewotCQlpZiAob3B0aW9ucy0+d29yZF9kaWZmID09IERJRkZfV09SRFNfTk9ORSkKLQkJCW9wdGlvbnMtPndvcmRfZGlmZiA9IERJRkZfV09SRFNfUExBSU47CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZGlmZl9vcHRfY29sb3JfbW92ZWRfd3MoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCQkJCSAgIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQoreworCXN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMgPSBvcHQtPnZhbHVlOworCXVuc2lnbmVkIGNtOworCisJaWYgKHVuc2V0KSB7CisJCW9wdGlvbnMtPmNvbG9yX21vdmVkX3dzX2hhbmRsaW5nID0gMDsKKwkJcmV0dXJuIDA7CiAJfQotCWVsc2UgaWYgKHNraXBfcHJlZml4KGFyZywgIi0td29yZC1kaWZmPSIsICZhcmcpKSB7CisKKwljbSA9IHBhcnNlX2NvbG9yX21vdmVkX3dzKGFyZyk7CisJaWYgKGNtICYgQ09MT1JfTU9WRURfV1NfRVJST1IpCisJCXJldHVybiBlcnJvcihfKCJpbnZhbGlkIG1vZGUgJyVzJyBpbiAtLWNvbG9yLW1vdmVkLXdzIiksIGFyZyk7CisJb3B0aW9ucy0+Y29sb3JfbW92ZWRfd3NfaGFuZGxpbmcgPSBjbTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkaWZmX29wdF9jb2xvcl93b3Jkcyhjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJCQkJY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCit7CisJc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucyA9IG9wdC0+dmFsdWU7CisKKwlCVUdfT05fT1BUX05FRyh1bnNldCk7CisJb3B0aW9ucy0+dXNlX2NvbG9yID0gMTsKKwlvcHRpb25zLT53b3JkX2RpZmYgPSBESUZGX1dPUkRTX0NPTE9SOworCW9wdGlvbnMtPndvcmRfcmVnZXggPSBhcmc7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZGlmZl9vcHRfY29tcGFjdF9zdW1tYXJ5KGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCQkgICAgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCit7CisJc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucyA9IG9wdC0+dmFsdWU7CisKKwlCVUdfT05fT1BUX0FSRyhhcmcpOworCWlmICh1bnNldCkgeworCQlvcHRpb25zLT5mbGFncy5zdGF0X3dpdGhfc3VtbWFyeSA9IDA7CisJfSBlbHNlIHsKKwkJb3B0aW9ucy0+ZmxhZ3Muc3RhdF93aXRoX3N1bW1hcnkgPSAxOworCQlvcHRpb25zLT5vdXRwdXRfZm9ybWF0IHw9IERJRkZfRk9STUFUX0RJRkZTVEFUOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkaWZmX29wdF9kaWZmX2FsZ29yaXRobShjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJCQkJICAgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCit7CisJc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucyA9IG9wdC0+dmFsdWU7CisJbG9uZyB2YWx1ZSA9IHBhcnNlX2FsZ29yaXRobV92YWx1ZShhcmcpOworCisJQlVHX09OX09QVF9ORUcodW5zZXQpOworCWlmICh2YWx1ZSA8IDApCisJCXJldHVybiBlcnJvcihfKCJvcHRpb24gZGlmZi1hbGdvcml0aG0gYWNjZXB0cyBcIm15ZXJzXCIsICIKKwkJCSAgICAgICAiXCJtaW5pbWFsXCIsIFwicGF0aWVuY2VcIiBhbmQgXCJoaXN0b2dyYW1cIiIpKTsKKworCS8qIGNsZWFyIG91dCBwcmV2aW91cyBzZXR0aW5ncyAqLworCURJRkZfWERMX0NMUihvcHRpb25zLCBORUVEX01JTklNQUwpOworCW9wdGlvbnMtPnhkbF9vcHRzICY9IH5YREZfRElGRl9BTEdPUklUSE1fTUFTSzsKKwlvcHRpb25zLT54ZGxfb3B0cyB8PSB2YWx1ZTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkaWZmX29wdF9kaXJzdGF0KGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCSAgICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zID0gb3B0LT52YWx1ZTsKKworCUJVR19PTl9PUFRfTkVHKHVuc2V0KTsKKwlpZiAoIXN0cmNtcChvcHQtPmxvbmdfbmFtZSwgImN1bXVsYXRpdmUiKSkgeworCQlpZiAoYXJnKQorCQkJQlVHKCJob3cgY29tZSAtLWN1bXVsYXRpdmUgdGFrZSBhIHZhbHVlPyIpOworCQlhcmcgPSAiY3VtdWxhdGl2ZSI7CisJfSBlbHNlIGlmICghc3RyY21wKG9wdC0+bG9uZ19uYW1lLCAiZGlyc3RhdC1ieS1maWxlIikpCisJCXBhcnNlX2RpcnN0YXRfb3B0KG9wdGlvbnMsICJmaWxlcyIpOworCXBhcnNlX2RpcnN0YXRfb3B0KG9wdGlvbnMsIGFyZyA/IGFyZyA6ICIiKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkaWZmX29wdF9maW5kX2NvcGllcyhjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJCQkJY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCit7CisJc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucyA9IG9wdC0+dmFsdWU7CisKKwlCVUdfT05fT1BUX05FRyh1bnNldCk7CisJaWYgKCFhcmcpCisJCWFyZyA9ICIiOworCW9wdGlvbnMtPnJlbmFtZV9zY29yZSA9IHBhcnNlX3JlbmFtZV9zY29yZSgmYXJnKTsKKwlpZiAoKmFyZyAhPSAwKQorCQlyZXR1cm4gZXJyb3IoXygiaW52YWxpZCBhcmd1bWVudCB0byAlcyIpLCBvcHQtPmxvbmdfbmFtZSk7CisKKwlpZiAob3B0aW9ucy0+ZGV0ZWN0X3JlbmFtZSA9PSBESUZGX0RFVEVDVF9DT1BZKQorCQlvcHRpb25zLT5mbGFncy5maW5kX2NvcGllc19oYXJkZXIgPSAxOworCWVsc2UKKwkJb3B0aW9ucy0+ZGV0ZWN0X3JlbmFtZSA9IERJRkZfREVURUNUX0NPUFk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkaWZmX29wdF9maW5kX3JlbmFtZXMoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCQkJCSBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zID0gb3B0LT52YWx1ZTsKKworCUJVR19PTl9PUFRfTkVHKHVuc2V0KTsKKwlpZiAoIWFyZykKKwkJYXJnID0gIiI7CisJb3B0aW9ucy0+cmVuYW1lX3Njb3JlID0gcGFyc2VfcmVuYW1lX3Njb3JlKCZhcmcpOworCWlmICgqYXJnICE9IDApCisJCXJldHVybiBlcnJvcihfKCJpbnZhbGlkIGFyZ3VtZW50IHRvICVzIiksIG9wdC0+bG9uZ19uYW1lKTsKKworCW9wdGlvbnMtPmRldGVjdF9yZW5hbWUgPSBESUZGX0RFVEVDVF9SRU5BTUU7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZGlmZl9vcHRfZm9sbG93KGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCSAgIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQoreworCXN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMgPSBvcHQtPnZhbHVlOworCisJQlVHX09OX09QVF9BUkcoYXJnKTsKKwlpZiAodW5zZXQpIHsKKwkJb3B0aW9ucy0+ZmxhZ3MuZm9sbG93X3JlbmFtZXMgPSAwOworCQlvcHRpb25zLT5mbGFncy5kZWZhdWx0X2ZvbGxvd19yZW5hbWVzID0gMDsKKwl9IGVsc2UgeworCQlvcHRpb25zLT5mbGFncy5mb2xsb3dfcmVuYW1lcyA9IDE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRpZmZfb3B0X2lnbm9yZV9zdWJtb2R1bGVzKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCQkgICAgICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zID0gb3B0LT52YWx1ZTsKKworCUJVR19PTl9PUFRfTkVHKHVuc2V0KTsKKwlpZiAoIWFyZykKKwkJYXJnID0gImFsbCI7CisJb3B0aW9ucy0+ZmxhZ3Mub3ZlcnJpZGVfc3VibW9kdWxlX2NvbmZpZyA9IDE7CisJaGFuZGxlX2lnbm9yZV9zdWJtb2R1bGVzX2FyZyhvcHRpb25zLCBhcmcpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRpZmZfb3B0X2xpbmVfcHJlZml4KGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCQljb25zdCBjaGFyICpvcHRhcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zID0gb3B0LT52YWx1ZTsKKworCUJVR19PTl9PUFRfTkVHKHVuc2V0KTsKKwlvcHRpb25zLT5saW5lX3ByZWZpeCA9IG9wdGFyZzsKKwlvcHRpb25zLT5saW5lX3ByZWZpeF9sZW5ndGggPSBzdHJsZW4ob3B0aW9ucy0+bGluZV9wcmVmaXgpOworCWdyYXBoX3NldHVwX2xpbmVfcHJlZml4KG9wdGlvbnMpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRpZmZfb3B0X25vX3ByZWZpeChjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJCQkgICAgICBjb25zdCBjaGFyICpvcHRhcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zID0gb3B0LT52YWx1ZTsKKworCUJVR19PTl9PUFRfTkVHKHVuc2V0KTsKKwlCVUdfT05fT1BUX0FSRyhvcHRhcmcpOworCW9wdGlvbnMtPmFfcHJlZml4ID0gIiI7CisJb3B0aW9ucy0+Yl9wcmVmaXggPSAiIjsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGVudW0gcGFyc2Vfb3B0X3Jlc3VsdCBkaWZmX29wdF9vdXRwdXQoc3RydWN0IHBhcnNlX29wdF9jdHhfdCAqY3R4LAorCQkJCQkgICAgIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCQkJICAgICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zID0gb3B0LT52YWx1ZTsKKwljaGFyICpwYXRoOworCisJQlVHX09OX09QVF9ORUcodW5zZXQpOworCXBhdGggPSBwcmVmaXhfZmlsZW5hbWUoY3R4LT5wcmVmaXgsIGFyZyk7CisJb3B0aW9ucy0+ZmlsZSA9IHhmb3BlbihwYXRoLCAidyIpOworCW9wdGlvbnMtPmNsb3NlX2ZpbGUgPSAxOworCWlmIChvcHRpb25zLT51c2VfY29sb3IgIT0gR0lUX0NPTE9SX0FMV0FZUykKKwkJb3B0aW9ucy0+dXNlX2NvbG9yID0gR0lUX0NPTE9SX05FVkVSOworCWZyZWUocGF0aCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZGlmZl9vcHRfcGF0aWVuY2UoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCQkJICAgICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zID0gb3B0LT52YWx1ZTsKKwlpbnQgaTsKKworCUJVR19PTl9PUFRfTkVHKHVuc2V0KTsKKwlCVUdfT05fT1BUX0FSRyhhcmcpOworCW9wdGlvbnMtPnhkbF9vcHRzID0gRElGRl9XSVRIX0FMRyhvcHRpb25zLCBQQVRJRU5DRV9ESUZGKTsKKwkvKgorCSAqIEJvdGggLS1wYXRpZW5jZSBhbmQgLS1hbmNob3JlZCB1c2UgUEFUSUVOQ0VfRElGRgorCSAqIGludGVybmFsbHksIHNvIHJlbW92ZSBhbnkgYW5jaG9ycyBwcmV2aW91c2x5CisJICogc3BlY2lmaWVkLgorCSAqLworCWZvciAoaSA9IDA7IGkgPCBvcHRpb25zLT5hbmNob3JzX25yOyBpKyspCisJCWZyZWUob3B0aW9ucy0+YW5jaG9yc1tpXSk7CisJb3B0aW9ucy0+YW5jaG9yc19uciA9IDA7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZGlmZl9vcHRfcGlja2F4ZV9yZWdleChjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJCQkJICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zID0gb3B0LT52YWx1ZTsKKworCUJVR19PTl9PUFRfTkVHKHVuc2V0KTsKKwlvcHRpb25zLT5waWNrYXhlID0gYXJnOworCW9wdGlvbnMtPnBpY2theGVfb3B0cyB8PSBESUZGX1BJQ0tBWEVfS0lORF9HOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRpZmZfb3B0X3BpY2theGVfc3RyaW5nKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCQkgICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zID0gb3B0LT52YWx1ZTsKKworCUJVR19PTl9PUFRfTkVHKHVuc2V0KTsKKwlvcHRpb25zLT5waWNrYXhlID0gYXJnOworCW9wdGlvbnMtPnBpY2theGVfb3B0cyB8PSBESUZGX1BJQ0tBWEVfS0lORF9TOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRpZmZfb3B0X3JlbGF0aXZlKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCSAgICAgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCit7CisJc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucyA9IG9wdC0+dmFsdWU7CisKKwlCVUdfT05fT1BUX05FRyh1bnNldCk7CisJb3B0aW9ucy0+ZmxhZ3MucmVsYXRpdmVfbmFtZSA9IDE7CisJaWYgKGFyZykKKwkJb3B0aW9ucy0+cHJlZml4ID0gYXJnOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRpZmZfb3B0X3N1Ym1vZHVsZShjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJCQkgICAgICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zID0gb3B0LT52YWx1ZTsKKworCUJVR19PTl9PUFRfTkVHKHVuc2V0KTsKKwlpZiAoIWFyZykKKwkJYXJnID0gImxvZyI7CisJaWYgKHBhcnNlX3N1Ym1vZHVsZV9wYXJhbXMob3B0aW9ucywgYXJnKSkKKwkJcmV0dXJuIGVycm9yKF8oImZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIiksCisJCQkgICAgIGFyZyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZGlmZl9vcHRfdGV4dGNvbnYoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCQkJICAgICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zID0gb3B0LT52YWx1ZTsKKworCUJVR19PTl9PUFRfQVJHKGFyZyk7CisJaWYgKHVuc2V0KSB7CisJCW9wdGlvbnMtPmZsYWdzLmFsbG93X3RleHRjb252ID0gMDsKKwl9IGVsc2UgeworCQlvcHRpb25zLT5mbGFncy5hbGxvd190ZXh0Y29udiA9IDE7CisJCW9wdGlvbnMtPmZsYWdzLnRleHRjb252X3NldF92aWFfY21kbGluZSA9IDE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRpZmZfb3B0X3VuaWZpZWQoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCQkJICAgIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQoreworCXN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMgPSBvcHQtPnZhbHVlOworCWNoYXIgKnM7CisKKwlCVUdfT05fT1BUX05FRyh1bnNldCk7CisKKwlpZiAoYXJnKSB7CisJCW9wdGlvbnMtPmNvbnRleHQgPSBzdHJ0b2woYXJnLCAmcywgMTApOworCQlpZiAoKnMpCisJCQlyZXR1cm4gZXJyb3IoXygiJXMgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIpLCAiLS11bmlmaWVkIik7CisJfQorCWVuYWJsZV9wYXRjaF9vdXRwdXQoJm9wdGlvbnMtPm91dHB1dF9mb3JtYXQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZGlmZl9vcHRfd29yZF9kaWZmKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCSAgICAgIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQoreworCXN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMgPSBvcHQtPnZhbHVlOworCisJQlVHX09OX09QVF9ORUcodW5zZXQpOworCWlmIChhcmcpIHsKIAkJaWYgKCFzdHJjbXAoYXJnLCAicGxhaW4iKSkKIAkJCW9wdGlvbnMtPndvcmRfZGlmZiA9IERJRkZfV09SRFNfUExBSU47CiAJCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiY29sb3IiKSkgewpAQCAtNTA1OCwxMTggKzUyMzEsMzA1IEBACiAJCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAibm9uZSIpKQogCQkJb3B0aW9ucy0+d29yZF9kaWZmID0gRElGRl9XT1JEU19OT05FOwogCQllbHNlCi0JCQlkaWUoImJhZCAtLXdvcmQtZGlmZiBhcmd1bWVudDogJXMiLCBhcmcpOwotCX0KLQllbHNlIGlmICgoYXJnY291bnQgPSBwYXJzZV9sb25nX29wdCgid29yZC1kaWZmLXJlZ2V4IiwgYXYsICZvcHRhcmcpKSkgeworCQkJcmV0dXJuIGVycm9yKF8oImJhZCAtLXdvcmQtZGlmZiBhcmd1bWVudDogJXMiKSwgYXJnKTsKKwl9IGVsc2UgewogCQlpZiAob3B0aW9ucy0+d29yZF9kaWZmID09IERJRkZfV09SRFNfTk9ORSkKIAkJCW9wdGlvbnMtPndvcmRfZGlmZiA9IERJRkZfV09SRFNfUExBSU47Ci0JCW9wdGlvbnMtPndvcmRfcmVnZXggPSBvcHRhcmc7Ci0JCXJldHVybiBhcmdjb3VudDsKIAl9Ci0JZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLWV4aXQtY29kZSIpKQotCQlvcHRpb25zLT5mbGFncy5leGl0X3dpdGhfc3RhdHVzID0gMTsKLQllbHNlIGlmICghc3RyY21wKGFyZywgIi0tcXVpZXQiKSkKLQkJb3B0aW9ucy0+ZmxhZ3MucXVpY2sgPSAxOwotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1leHQtZGlmZiIpKQotCQlvcHRpb25zLT5mbGFncy5hbGxvd19leHRlcm5hbCA9IDE7Ci0JZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLW5vLWV4dC1kaWZmIikpCi0JCW9wdGlvbnMtPmZsYWdzLmFsbG93X2V4dGVybmFsID0gMDsKLQllbHNlIGlmICghc3RyY21wKGFyZywgIi0tdGV4dGNvbnYiKSkgewotCQlvcHRpb25zLT5mbGFncy5hbGxvd190ZXh0Y29udiA9IDE7Ci0JCW9wdGlvbnMtPmZsYWdzLnRleHRjb252X3NldF92aWFfY21kbGluZSA9IDE7Ci0JfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tbm8tdGV4dGNvbnYiKSkKLQkJb3B0aW9ucy0+ZmxhZ3MuYWxsb3dfdGV4dGNvbnYgPSAwOwotCWVsc2UgaWYgKHNraXBfdG9fb3B0aW9uYWxfYXJnX2RlZmF1bHQoYXJnLCAiLS1pZ25vcmUtc3VibW9kdWxlcyIsICZhcmcsICJhbGwiKSkgewotCQlvcHRpb25zLT5mbGFncy5vdmVycmlkZV9zdWJtb2R1bGVfY29uZmlnID0gMTsKLQkJaGFuZGxlX2lnbm9yZV9zdWJtb2R1bGVzX2FyZyhvcHRpb25zLCBhcmcpOwotCX0gZWxzZSBpZiAoc2tpcF90b19vcHRpb25hbF9hcmdfZGVmYXVsdChhcmcsICItLXN1Ym1vZHVsZSIsICZhcmcsICJsb2ciKSkKLQkJcmV0dXJuIHBhcnNlX3N1Ym1vZHVsZV9vcHQob3B0aW9ucywgYXJnKTsKLQllbHNlIGlmIChza2lwX3ByZWZpeChhcmcsICItLXdzLWVycm9yLWhpZ2hsaWdodD0iLCAmYXJnKSkKLQkJcmV0dXJuIHBhcnNlX3dzX2Vycm9yX2hpZ2hsaWdodF9vcHQob3B0aW9ucywgYXJnKTsKLQllbHNlIGlmICghc3RyY21wKGFyZywgIi0taXRhLWludmlzaWJsZS1pbi1pbmRleCIpKQotCQlvcHRpb25zLT5pdGFfaW52aXNpYmxlX2luX2luZGV4ID0gMTsKLQllbHNlIGlmICghc3RyY21wKGFyZywgIi0taXRhLXZpc2libGUtaW4taW5kZXgiKSkKLQkJb3B0aW9ucy0+aXRhX2ludmlzaWJsZV9pbl9pbmRleCA9IDA7CisJcmV0dXJuIDA7Cit9CiAKLQkvKiBtaXNjIG9wdGlvbnMgKi8KLQllbHNlIGlmICghc3RyY21wKGFyZywgIi16IikpCi0JCW9wdGlvbnMtPmxpbmVfdGVybWluYXRpb24gPSAwOwotCWVsc2UgaWYgKChhcmdjb3VudCA9IHNob3J0X29wdCgnbCcsIGF2LCAmb3B0YXJnKSkpIHsKLQkJb3B0aW9ucy0+cmVuYW1lX2xpbWl0ID0gc3RydG91bChvcHRhcmcsIE5VTEwsIDEwKTsKLQkJcmV0dXJuIGFyZ2NvdW50OwotCX0KLQllbHNlIGlmICgoYXJnY291bnQgPSBzaG9ydF9vcHQoJ1MnLCBhdiwgJm9wdGFyZykpKSB7Ci0JCW9wdGlvbnMtPnBpY2theGUgPSBvcHRhcmc7Ci0JCW9wdGlvbnMtPnBpY2theGVfb3B0cyB8PSBESUZGX1BJQ0tBWEVfS0lORF9TOwotCQlyZXR1cm4gYXJnY291bnQ7Ci0JfSBlbHNlIGlmICgoYXJnY291bnQgPSBzaG9ydF9vcHQoJ0cnLCBhdiwgJm9wdGFyZykpKSB7Ci0JCW9wdGlvbnMtPnBpY2theGUgPSBvcHRhcmc7Ci0JCW9wdGlvbnMtPnBpY2theGVfb3B0cyB8PSBESUZGX1BJQ0tBWEVfS0lORF9HOwotCQlyZXR1cm4gYXJnY291bnQ7Ci0JfQotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1waWNrYXhlLWFsbCIpKQotCQlvcHRpb25zLT5waWNrYXhlX29wdHMgfD0gRElGRl9QSUNLQVhFX0FMTDsKLQllbHNlIGlmICghc3RyY21wKGFyZywgIi0tcGlja2F4ZS1yZWdleCIpKQotCQlvcHRpb25zLT5waWNrYXhlX29wdHMgfD0gRElGRl9QSUNLQVhFX1JFR0VYOwotCWVsc2UgaWYgKChhcmdjb3VudCA9IHNob3J0X29wdCgnTycsIGF2LCAmb3B0YXJnKSkpIHsKLQkJb3B0aW9ucy0+b3JkZXJmaWxlID0gcHJlZml4X2ZpbGVuYW1lKHByZWZpeCwgb3B0YXJnKTsKLQkJcmV0dXJuIGFyZ2NvdW50OwotCX0gZWxzZSBpZiAoc2tpcF9wcmVmaXgoYXJnLCAiLS1maW5kLW9iamVjdD0iLCAmYXJnKSkKLQkJcmV0dXJuIHBhcnNlX29iamZpbmRfb3B0KG9wdGlvbnMsIGFyZyk7Ci0JZWxzZSBpZiAoKGFyZ2NvdW50ID0gcGFyc2VfbG9uZ19vcHQoImRpZmYtZmlsdGVyIiwgYXYsICZvcHRhcmcpKSkgewotCQlpbnQgb2ZmZW5kaW5nID0gcGFyc2VfZGlmZl9maWx0ZXJfb3B0KG9wdGFyZywgb3B0aW9ucyk7Ci0JCWlmIChvZmZlbmRpbmcpCi0JCQlkaWUoInVua25vd24gY2hhbmdlIGNsYXNzICclYycgaW4gLS1kaWZmLWZpbHRlcj0lcyIsCi0JCQkgICAgb2ZmZW5kaW5nLCBvcHRhcmcpOwotCQlyZXR1cm4gYXJnY291bnQ7Ci0JfQotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1uby1hYmJyZXYiKSkKLQkJb3B0aW9ucy0+YWJicmV2ID0gMDsKLQllbHNlIGlmICghc3RyY21wKGFyZywgIi0tYWJicmV2IikpCi0JCW9wdGlvbnMtPmFiYnJldiA9IERFRkFVTFRfQUJCUkVWOwotCWVsc2UgaWYgKHNraXBfcHJlZml4KGFyZywgIi0tYWJicmV2PSIsICZhcmcpKSB7Ci0JCW9wdGlvbnMtPmFiYnJldiA9IHN0cnRvdWwoYXJnLCBOVUxMLCAxMCk7Ci0JCWlmIChvcHRpb25zLT5hYmJyZXYgPCBNSU5JTVVNX0FCQlJFVikKLQkJCW9wdGlvbnMtPmFiYnJldiA9IE1JTklNVU1fQUJCUkVWOwotCQllbHNlIGlmICh0aGVfaGFzaF9hbGdvLT5oZXhzeiA8IG9wdGlvbnMtPmFiYnJldikKLQkJCW9wdGlvbnMtPmFiYnJldiA9IHRoZV9oYXNoX2FsZ28tPmhleHN6OwotCX0KLQllbHNlIGlmICgoYXJnY291bnQgPSBwYXJzZV9sb25nX29wdCgic3JjLXByZWZpeCIsIGF2LCAmb3B0YXJnKSkpIHsKLQkJb3B0aW9ucy0+YV9wcmVmaXggPSBvcHRhcmc7Ci0JCXJldHVybiBhcmdjb3VudDsKLQl9Ci0JZWxzZSBpZiAoKGFyZ2NvdW50ID0gcGFyc2VfbG9uZ19vcHQoImxpbmUtcHJlZml4IiwgYXYsICZvcHRhcmcpKSkgewotCQlvcHRpb25zLT5saW5lX3ByZWZpeCA9IG9wdGFyZzsKLQkJb3B0aW9ucy0+bGluZV9wcmVmaXhfbGVuZ3RoID0gc3RybGVuKG9wdGlvbnMtPmxpbmVfcHJlZml4KTsKLQkJZ3JhcGhfc2V0dXBfbGluZV9wcmVmaXgob3B0aW9ucyk7Ci0JCXJldHVybiBhcmdjb3VudDsKLQl9Ci0JZWxzZSBpZiAoKGFyZ2NvdW50ID0gcGFyc2VfbG9uZ19vcHQoImRzdC1wcmVmaXgiLCBhdiwgJm9wdGFyZykpKSB7Ci0JCW9wdGlvbnMtPmJfcHJlZml4ID0gb3B0YXJnOwotCQlyZXR1cm4gYXJnY291bnQ7Ci0JfQotCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1uby1wcmVmaXgiKSkKLQkJb3B0aW9ucy0+YV9wcmVmaXggPSBvcHRpb25zLT5iX3ByZWZpeCA9ICIiOwotCWVsc2UgaWYgKG9wdF9hcmcoYXJnLCAnXDAnLCAiaW50ZXItaHVuay1jb250ZXh0IiwKLQkJCSAmb3B0aW9ucy0+aW50ZXJodW5rY29udGV4dCkpCi0JCTsKLQllbHNlIGlmICghc3RyY21wKGFyZywgIi1XIikpCi0JCW9wdGlvbnMtPmZsYWdzLmZ1bmNjb250ZXh0ID0gMTsKLQllbHNlIGlmICghc3RyY21wKGFyZywgIi0tZnVuY3Rpb24tY29udGV4dCIpKQotCQlvcHRpb25zLT5mbGFncy5mdW5jY29udGV4dCA9IDE7Ci0JZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLW5vLWZ1bmN0aW9uLWNvbnRleHQiKSkKLQkJb3B0aW9ucy0+ZmxhZ3MuZnVuY2NvbnRleHQgPSAwOwotCWVsc2UgaWYgKChhcmdjb3VudCA9IHBhcnNlX2xvbmdfb3B0KCJvdXRwdXQiLCBhdiwgJm9wdGFyZykpKSB7Ci0JCWNoYXIgKnBhdGggPSBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBvcHRhcmcpOwotCQlvcHRpb25zLT5maWxlID0geGZvcGVuKHBhdGgsICJ3Iik7Ci0JCW9wdGlvbnMtPmNsb3NlX2ZpbGUgPSAxOwotCQlpZiAob3B0aW9ucy0+dXNlX2NvbG9yICE9IEdJVF9DT0xPUl9BTFdBWVMpCi0JCQlvcHRpb25zLT51c2VfY29sb3IgPSBHSVRfQ09MT1JfTkVWRVI7Ci0JCWZyZWUocGF0aCk7Ci0JCXJldHVybiBhcmdjb3VudDsKLQl9IGVsc2UKLQkJcmV0dXJuIDA7Ci0JcmV0dXJuIDE7CitzdGF0aWMgaW50IGRpZmZfb3B0X3dvcmRfZGlmZl9yZWdleChjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJCQkJICAgIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQoreworCXN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMgPSBvcHQtPnZhbHVlOworCisJQlVHX09OX09QVF9ORUcodW5zZXQpOworCWlmIChvcHRpb25zLT53b3JkX2RpZmYgPT0gRElGRl9XT1JEU19OT05FKQorCQlvcHRpb25zLT53b3JkX2RpZmYgPSBESUZGX1dPUkRTX1BMQUlOOworCW9wdGlvbnMtPndvcmRfcmVnZXggPSBhcmc7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHByZXBfcGFyc2Vfb3B0aW9ucyhzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zKQoreworCXN0cnVjdCBvcHRpb24gcGFyc2VvcHRzW10gPSB7CisJCU9QVF9HUk9VUChOXygiRGlmZiBvdXRwdXQgZm9ybWF0IG9wdGlvbnMiKSksCisJCU9QVF9CSVRPUCgncCcsICJwYXRjaCIsICZvcHRpb25zLT5vdXRwdXRfZm9ybWF0LAorCQkJICBOXygiZ2VuZXJhdGUgcGF0Y2giKSwKKwkJCSAgRElGRl9GT1JNQVRfUEFUQ0gsIERJRkZfRk9STUFUX05PX09VVFBVVCksCisJCU9QVF9CSVRfRigncycsICJuby1wYXRjaCIsICZvcHRpb25zLT5vdXRwdXRfZm9ybWF0LAorCQkJICBOXygic3VwcHJlc3MgZGlmZiBvdXRwdXQiKSwKKwkJCSAgRElGRl9GT1JNQVRfTk9fT1VUUFVULCBQQVJTRV9PUFRfTk9ORUcpLAorCQlPUFRfQklUT1AoJ3UnLCBOVUxMLCAmb3B0aW9ucy0+b3V0cHV0X2Zvcm1hdCwKKwkJCSAgTl8oImdlbmVyYXRlIHBhdGNoIiksCisJCQkgIERJRkZfRk9STUFUX1BBVENILCBESUZGX0ZPUk1BVF9OT19PVVRQVVQpLAorCQlPUFRfQ0FMTEJBQ0tfRignVScsICJ1bmlmaWVkIiwgb3B0aW9ucywgTl8oIjxuPiIpLAorCQkJICAgICAgIE5fKCJnZW5lcmF0ZSBkaWZmcyB3aXRoIDxuPiBsaW5lcyBjb250ZXh0IiksCisJCQkgICAgICAgUEFSU0VfT1BUX05PTkVHIHwgUEFSU0VfT1BUX09QVEFSRywgZGlmZl9vcHRfdW5pZmllZCksCisJCU9QVF9CT09MKCdXJywgImZ1bmN0aW9uLWNvbnRleHQiLCAmb3B0aW9ucy0+ZmxhZ3MuZnVuY2NvbnRleHQsCisJCQkgTl8oImdlbmVyYXRlIGRpZmZzIHdpdGggPG4+IGxpbmVzIGNvbnRleHQiKSksCisJCU9QVF9CSVRfRigwLCAicmF3IiwgJm9wdGlvbnMtPm91dHB1dF9mb3JtYXQsCisJCQkgIE5fKCJnZW5lcmF0ZSB0aGUgZGlmZiBpbiByYXcgZm9ybWF0IiksCisJCQkgIERJRkZfRk9STUFUX1JBVywgUEFSU0VfT1BUX05PTkVHKSwKKwkJT1BUX0JJVE9QKDAsICJwYXRjaC13aXRoLXJhdyIsICZvcHRpb25zLT5vdXRwdXRfZm9ybWF0LAorCQkJICBOXygic3lub255bSBmb3IgJy1wIC0tcmF3JyIpLAorCQkJICBESUZGX0ZPUk1BVF9QQVRDSCB8IERJRkZfRk9STUFUX1JBVywKKwkJCSAgRElGRl9GT1JNQVRfTk9fT1VUUFVUKSwKKwkJT1BUX0JJVE9QKDAsICJwYXRjaC13aXRoLXN0YXQiLCAmb3B0aW9ucy0+b3V0cHV0X2Zvcm1hdCwKKwkJCSAgTl8oInN5bm9ueW0gZm9yICctcCAtLXN0YXQnIiksCisJCQkgIERJRkZfRk9STUFUX1BBVENIIHwgRElGRl9GT1JNQVRfRElGRlNUQVQsCisJCQkgIERJRkZfRk9STUFUX05PX09VVFBVVCksCisJCU9QVF9CSVRfRigwLCAibnVtc3RhdCIsICZvcHRpb25zLT5vdXRwdXRfZm9ybWF0LAorCQkJICBOXygibWFjaGluZSBmcmllbmRseSAtLXN0YXQiKSwKKwkJCSAgRElGRl9GT1JNQVRfTlVNU1RBVCwgUEFSU0VfT1BUX05PTkVHKSwKKwkJT1BUX0JJVF9GKDAsICJzaG9ydHN0YXQiLCAmb3B0aW9ucy0+b3V0cHV0X2Zvcm1hdCwKKwkJCSAgTl8oIm91dHB1dCBvbmx5IHRoZSBsYXN0IGxpbmUgb2YgLS1zdGF0IiksCisJCQkgIERJRkZfRk9STUFUX1NIT1JUU1RBVCwgUEFSU0VfT1BUX05PTkVHKSwKKwkJT1BUX0NBTExCQUNLX0YoJ1gnLCAiZGlyc3RhdCIsIG9wdGlvbnMsIE5fKCI8cGFyYW0xLHBhcmFtMj4uLi4iKSwKKwkJCSAgICAgICBOXygib3V0cHV0IHRoZSBkaXN0cmlidXRpb24gb2YgcmVsYXRpdmUgYW1vdW50IG9mIGNoYW5nZXMgZm9yIGVhY2ggc3ViLWRpcmVjdG9yeSIpLAorCQkJICAgICAgIFBBUlNFX09QVF9OT05FRyB8IFBBUlNFX09QVF9PUFRBUkcsCisJCQkgICAgICAgZGlmZl9vcHRfZGlyc3RhdCksCisJCU9QVF9DQUxMQkFDS19GKDAsICJjdW11bGF0aXZlIiwgb3B0aW9ucywgTlVMTCwKKwkJCSAgICAgICBOXygic3lub255bSBmb3IgLS1kaXJzdGF0PWN1bXVsYXRpdmUiKSwKKwkJCSAgICAgICBQQVJTRV9PUFRfTk9ORUcgfCBQQVJTRV9PUFRfTk9BUkcsCisJCQkgICAgICAgZGlmZl9vcHRfZGlyc3RhdCksCisJCU9QVF9DQUxMQkFDS19GKDAsICJkaXJzdGF0LWJ5LWZpbGUiLCBvcHRpb25zLCBOXygiPHBhcmFtMSxwYXJhbTI+Li4uIiksCisJCQkgICAgICAgTl8oInN5bm9ueW0gZm9yIC0tZGlyc3RhdD1maWxlcyxwYXJhbTEscGFyYW0yLi4uIiksCisJCQkgICAgICAgUEFSU0VfT1BUX05PTkVHIHwgUEFSU0VfT1BUX09QVEFSRywKKwkJCSAgICAgICBkaWZmX29wdF9kaXJzdGF0KSwKKwkJT1BUX0JJVF9GKDAsICJjaGVjayIsICZvcHRpb25zLT5vdXRwdXRfZm9ybWF0LAorCQkJICBOXygid2FybiBpZiBjaGFuZ2VzIGludHJvZHVjZSBjb25mbGljdCBtYXJrZXJzIG9yIHdoaXRlc3BhY2UgZXJyb3JzIiksCisJCQkgIERJRkZfRk9STUFUX0NIRUNLRElGRiwgUEFSU0VfT1BUX05PTkVHKSwKKwkJT1BUX0JJVF9GKDAsICJzdW1tYXJ5IiwgJm9wdGlvbnMtPm91dHB1dF9mb3JtYXQsCisJCQkgIE5fKCJjb25kZW5zZWQgc3VtbWFyeSBzdWNoIGFzIGNyZWF0aW9ucywgcmVuYW1lcyBhbmQgbW9kZSBjaGFuZ2VzIiksCisJCQkgIERJRkZfRk9STUFUX1NVTU1BUlksIFBBUlNFX09QVF9OT05FRyksCisJCU9QVF9CSVRfRigwLCAibmFtZS1vbmx5IiwgJm9wdGlvbnMtPm91dHB1dF9mb3JtYXQsCisJCQkgIE5fKCJzaG93IG9ubHkgbmFtZXMgb2YgY2hhbmdlZCBmaWxlcyIpLAorCQkJICBESUZGX0ZPUk1BVF9OQU1FLCBQQVJTRV9PUFRfTk9ORUcpLAorCQlPUFRfQklUX0YoMCwgIm5hbWUtc3RhdHVzIiwgJm9wdGlvbnMtPm91dHB1dF9mb3JtYXQsCisJCQkgIE5fKCJzaG93IG9ubHkgbmFtZXMgYW5kIHN0YXR1cyBvZiBjaGFuZ2VkIGZpbGVzIiksCisJCQkgIERJRkZfRk9STUFUX05BTUVfU1RBVFVTLCBQQVJTRV9PUFRfTk9ORUcpLAorCQlPUFRfQ0FMTEJBQ0tfRigwLCAic3RhdCIsIG9wdGlvbnMsIE5fKCI8d2lkdGg+Wyw8bmFtZS13aWR0aD5bLDxjb3VudD5dXSIpLAorCQkJICAgICAgIE5fKCJnZW5lcmF0ZSBkaWZmc3RhdCIpLAorCQkJICAgICAgIFBBUlNFX09QVF9OT05FRyB8IFBBUlNFX09QVF9PUFRBUkcsIGRpZmZfb3B0X3N0YXQpLAorCQlPUFRfQ0FMTEJBQ0tfRigwLCAic3RhdC13aWR0aCIsIG9wdGlvbnMsIE5fKCI8d2lkdGg+IiksCisJCQkgICAgICAgTl8oImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggYSBnaXZlbiB3aWR0aCIpLAorCQkJICAgICAgIFBBUlNFX09QVF9OT05FRywgZGlmZl9vcHRfc3RhdCksCisJCU9QVF9DQUxMQkFDS19GKDAsICJzdGF0LW5hbWUtd2lkdGgiLCBvcHRpb25zLCBOXygiPHdpZHRoPiIpLAorCQkJICAgICAgIE5fKCJnZW5lcmF0ZSBkaWZmc3RhdCB3aXRoIGEgZ2l2ZW4gbmFtZSB3aWR0aCIpLAorCQkJICAgICAgIFBBUlNFX09QVF9OT05FRywgZGlmZl9vcHRfc3RhdCksCisJCU9QVF9DQUxMQkFDS19GKDAsICJzdGF0LWdyYXBoLXdpZHRoIiwgb3B0aW9ucywgTl8oIjx3aWR0aD4iKSwKKwkJCSAgICAgICBOXygiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBhIGdpdmVuIGdyYXBoIHdpZHRoIiksCisJCQkgICAgICAgUEFSU0VfT1BUX05PTkVHLCBkaWZmX29wdF9zdGF0KSwKKwkJT1BUX0NBTExCQUNLX0YoMCwgInN0YXQtY291bnQiLCBvcHRpb25zLCBOXygiPGNvdW50PiIpLAorCQkJICAgICAgIE5fKCJnZW5lcmF0ZSBkaWZmc3RhdCB3aXRoIGxpbWl0ZWQgbGluZXMiKSwKKwkJCSAgICAgICBQQVJTRV9PUFRfTk9ORUcsIGRpZmZfb3B0X3N0YXQpLAorCQlPUFRfQ0FMTEJBQ0tfRigwLCAiY29tcGFjdC1zdW1tYXJ5Iiwgb3B0aW9ucywgTlVMTCwKKwkJCSAgICAgICBOXygiZ2VuZXJhdGUgY29tcGFjdCBzdW1tYXJ5IGluIGRpZmZzdGF0IiksCisJCQkgICAgICAgUEFSU0VfT1BUX05PQVJHLCBkaWZmX29wdF9jb21wYWN0X3N1bW1hcnkpLAorCQlPUFRfQ0FMTEJBQ0tfRigwLCAiYmluYXJ5Iiwgb3B0aW9ucywgTlVMTCwKKwkJCSAgICAgICBOXygib3V0cHV0IGEgYmluYXJ5IGRpZmYgdGhhdCBjYW4gYmUgYXBwbGllZCIpLAorCQkJICAgICAgIFBBUlNFX09QVF9OT05FRyB8IFBBUlNFX09QVF9OT0FSRywgZGlmZl9vcHRfYmluYXJ5KSwKKwkJT1BUX0JPT0woMCwgImZ1bGwtaW5kZXgiLCAmb3B0aW9ucy0+ZmxhZ3MuZnVsbF9pbmRleCwKKwkJCSBOXygic2hvdyBmdWxsIHByZS0gYW5kIHBvc3QtaW1hZ2Ugb2JqZWN0IG5hbWVzIG9uIHRoZSBcImluZGV4XCIgbGluZXMiKSksCisJCU9QVF9DT0xPUl9GTEFHKDAsICJjb2xvciIsICZvcHRpb25zLT51c2VfY29sb3IsCisJCQkgICAgICAgTl8oInNob3cgY29sb3JlZCBkaWZmIikpLAorCQlPUFRfQ0FMTEJBQ0tfRigwLCAid3MtZXJyb3ItaGlnaGxpZ2h0Iiwgb3B0aW9ucywgTl8oIjxraW5kPiIpLAorCQkJICAgICAgIE5fKCJoaWdobGlnaHQgd2hpdGVzcGFjZSBlcnJvcnMgaW4gdGhlICdjb250ZXh0JywgJ29sZCcgb3IgJ25ldycgbGluZXMgaW4gdGhlIGRpZmYiKSwKKwkJCSAgICAgICBQQVJTRV9PUFRfTk9ORUcsIGRpZmZfb3B0X3dzX2Vycm9yX2hpZ2hsaWdodCksCisJCU9QVF9TRVRfSU5UKCd6JywgTlVMTCwgJm9wdGlvbnMtPmxpbmVfdGVybWluYXRpb24sCisJCQkgICAgTl8oImRvIG5vdCBtdW5nZSBwYXRobmFtZXMgYW5kIHVzZSBOVUxzIGFzIG91dHB1dCBmaWVsZCB0ZXJtaW5hdG9ycyBpbiAtLXJhdyBvciAtLW51bXN0YXQiKSwKKwkJCSAgICAwKSwKKwkJT1BUX19BQkJSRVYoJm9wdGlvbnMtPmFiYnJldiksCisJCU9QVF9TVFJJTkdfRigwLCAic3JjLXByZWZpeCIsICZvcHRpb25zLT5hX3ByZWZpeCwgTl8oIjxwcmVmaXg+IiksCisJCQkgICAgIE5fKCJzaG93IHRoZSBnaXZlbiBzb3VyY2UgcHJlZml4IGluc3RlYWQgb2YgXCJhL1wiIiksCisJCQkgICAgIFBBUlNFX09QVF9OT05FRyksCisJCU9QVF9TVFJJTkdfRigwLCAiZHN0LXByZWZpeCIsICZvcHRpb25zLT5iX3ByZWZpeCwgTl8oIjxwcmVmaXg+IiksCisJCQkgICAgIE5fKCJzaG93IHRoZSBnaXZlbiBkZXN0aW5hdGlvbiBwcmVmaXggaW5zdGVhZCBvZiBcImIvXCIiKSwKKwkJCSAgICAgUEFSU0VfT1BUX05PTkVHKSwKKwkJT1BUX0NBTExCQUNLX0YoMCwgImxpbmUtcHJlZml4Iiwgb3B0aW9ucywgTl8oIjxwcmVmaXg+IiksCisJCQkgICAgICAgTl8oInByZXBlbmQgYW4gYWRkaXRpb25hbCBwcmVmaXggdG8gZXZlcnkgbGluZSBvZiBvdXRwdXQiKSwKKwkJCSAgICAgICBQQVJTRV9PUFRfTk9ORUcsIGRpZmZfb3B0X2xpbmVfcHJlZml4KSwKKwkJT1BUX0NBTExCQUNLX0YoMCwgIm5vLXByZWZpeCIsIG9wdGlvbnMsIE5VTEwsCisJCQkgICAgICAgTl8oImRvIG5vdCBzaG93IGFueSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gcHJlZml4IiksCisJCQkgICAgICAgUEFSU0VfT1BUX05PTkVHIHwgUEFSU0VfT1BUX05PQVJHLCBkaWZmX29wdF9ub19wcmVmaXgpLAorCQlPUFRfSU5URUdFUl9GKDAsICJpbnRlci1odW5rLWNvbnRleHQiLCAmb3B0aW9ucy0+aW50ZXJodW5rY29udGV4dCwKKwkJCSAgICAgIE5fKCJzaG93IGNvbnRleHQgYmV0d2VlbiBkaWZmIGh1bmtzIHVwIHRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGxpbmVzIiksCisJCQkgICAgICBQQVJTRV9PUFRfTk9ORUcpLAorCQlPUFRfQ0FMTEJBQ0tfRigwLCAib3V0cHV0LWluZGljYXRvci1uZXciLAorCQkJICAgICAgICZvcHRpb25zLT5vdXRwdXRfaW5kaWNhdG9yc1tPVVRQVVRfSU5ESUNBVE9SX05FV10sCisJCQkgICAgICAgTl8oIjxjaGFyPiIpLAorCQkJICAgICAgIE5fKCJzcGVjaWZ5IHRoZSBjaGFyYWN0ZXIgdG8gaW5kaWNhdGUgYSBuZXcgbGluZSBpbnN0ZWFkIG9mICcrJyIpLAorCQkJICAgICAgIFBBUlNFX09QVF9OT05FRywgZGlmZl9vcHRfY2hhciksCisJCU9QVF9DQUxMQkFDS19GKDAsICJvdXRwdXQtaW5kaWNhdG9yLW9sZCIsCisJCQkgICAgICAgJm9wdGlvbnMtPm91dHB1dF9pbmRpY2F0b3JzW09VVFBVVF9JTkRJQ0FUT1JfT0xEXSwKKwkJCSAgICAgICBOXygiPGNoYXI+IiksCisJCQkgICAgICAgTl8oInNwZWNpZnkgdGhlIGNoYXJhY3RlciB0byBpbmRpY2F0ZSBhbiBvbGQgbGluZSBpbnN0ZWFkIG9mICctJyIpLAorCQkJICAgICAgIFBBUlNFX09QVF9OT05FRywgZGlmZl9vcHRfY2hhciksCisJCU9QVF9DQUxMQkFDS19GKDAsICJvdXRwdXQtaW5kaWNhdG9yLWNvbnRleHQiLAorCQkJICAgICAgICZvcHRpb25zLT5vdXRwdXRfaW5kaWNhdG9yc1tPVVRQVVRfSU5ESUNBVE9SX0NPTlRFWFRdLAorCQkJICAgICAgIE5fKCI8Y2hhcj4iKSwKKwkJCSAgICAgICBOXygic3BlY2lmeSB0aGUgY2hhcmFjdGVyIHRvIGluZGljYXRlIGEgY29udGV4dCBpbnN0ZWFkIG9mICcgJyIpLAorCQkJICAgICAgIFBBUlNFX09QVF9OT05FRywgZGlmZl9vcHRfY2hhciksCisKKwkJT1BUX0dST1VQKE5fKCJEaWZmIHJlbmFtZSBvcHRpb25zIikpLAorCQlPUFRfQ0FMTEJBQ0tfRignQicsICJicmVhay1yZXdyaXRlcyIsICZvcHRpb25zLT5icmVha19vcHQsIE5fKCI8bj5bLzxtPl0iKSwKKwkJCSAgICAgICBOXygiYnJlYWsgY29tcGxldGUgcmV3cml0ZSBjaGFuZ2VzIGludG8gcGFpcnMgb2YgZGVsZXRlIGFuZCBjcmVhdGUiKSwKKwkJCSAgICAgICBQQVJTRV9PUFRfTk9ORUcgfCBQQVJTRV9PUFRfT1BUQVJHLAorCQkJICAgICAgIGRpZmZfb3B0X2JyZWFrX3Jld3JpdGVzKSwKKwkJT1BUX0NBTExCQUNLX0YoJ00nLCAiZmluZC1yZW5hbWVzIiwgb3B0aW9ucywgTl8oIjxuPiIpLAorCQkJICAgICAgIE5fKCJkZXRlY3QgcmVuYW1lcyIpLAorCQkJICAgICAgIFBBUlNFX09QVF9OT05FRyB8IFBBUlNFX09QVF9PUFRBUkcsCisJCQkgICAgICAgZGlmZl9vcHRfZmluZF9yZW5hbWVzKSwKKwkJT1BUX1NFVF9JTlRfRignRCcsICJpcnJldmVyc2libGUtZGVsZXRlIiwgJm9wdGlvbnMtPmlycmV2ZXJzaWJsZV9kZWxldGUsCisJCQkgICAgICBOXygib21pdCB0aGUgcHJlaW1hZ2UgZm9yIGRlbGV0ZXMiKSwKKwkJCSAgICAgIDEsIFBBUlNFX09QVF9OT05FRyksCisJCU9QVF9DQUxMQkFDS19GKCdDJywgImZpbmQtY29waWVzIiwgb3B0aW9ucywgTl8oIjxuPiIpLAorCQkJICAgICAgIE5fKCJkZXRlY3QgY29waWVzIiksCisJCQkgICAgICAgUEFSU0VfT1BUX05PTkVHIHwgUEFSU0VfT1BUX09QVEFSRywKKwkJCSAgICAgICBkaWZmX29wdF9maW5kX2NvcGllcyksCisJCU9QVF9CT09MKDAsICJmaW5kLWNvcGllcy1oYXJkZXIiLCAmb3B0aW9ucy0+ZmxhZ3MuZmluZF9jb3BpZXNfaGFyZGVyLAorCQkJIE5fKCJ1c2UgdW5tb2RpZmllZCBmaWxlcyBhcyBzb3VyY2UgdG8gZmluZCBjb3BpZXMiKSksCisJCU9QVF9TRVRfSU5UX0YoMCwgIm5vLXJlbmFtZXMiLCAmb3B0aW9ucy0+ZGV0ZWN0X3JlbmFtZSwKKwkJCSAgICAgIE5fKCJkaXNhYmxlIHJlbmFtZSBkZXRlY3Rpb24iKSwKKwkJCSAgICAgIDAsIFBBUlNFX09QVF9OT05FRyksCisJCU9QVF9CT09MKDAsICJyZW5hbWUtZW1wdHkiLCAmb3B0aW9ucy0+ZmxhZ3MucmVuYW1lX2VtcHR5LAorCQkJIE5fKCJ1c2UgZW1wdHkgYmxvYnMgYXMgcmVuYW1lIHNvdXJjZSIpKSwKKwkJT1BUX0NBTExCQUNLX0YoMCwgImZvbGxvdyIsIG9wdGlvbnMsIE5VTEwsCisJCQkgICAgICAgTl8oImNvbnRpbnVlIGxpc3RpbmcgdGhlIGhpc3Rvcnkgb2YgYSBmaWxlIGJleW9uZCByZW5hbWVzIiksCisJCQkgICAgICAgUEFSU0VfT1BUX05PQVJHLCBkaWZmX29wdF9mb2xsb3cpLAorCQlPUFRfSU5URUdFUignbCcsIE5VTEwsICZvcHRpb25zLT5yZW5hbWVfbGltaXQsCisJCQkgICAgTl8oInByZXZlbnQgcmVuYW1lL2NvcHkgZGV0ZWN0aW9uIGlmIHRoZSBudW1iZXIgb2YgcmVuYW1lL2NvcHkgdGFyZ2V0cyBleGNlZWRzIGdpdmVuIGxpbWl0IikpLAorCisJCU9QVF9HUk9VUChOXygiRGlmZiBhbGdvcml0aG0gb3B0aW9ucyIpKSwKKwkJT1BUX0JJVCgwLCAibWluaW1hbCIsICZvcHRpb25zLT54ZGxfb3B0cywKKwkJCU5fKCJwcm9kdWNlIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBkaWZmIiksCisJCQlYREZfTkVFRF9NSU5JTUFMKSwKKwkJT1BUX0JJVF9GKCd3JywgImlnbm9yZS1hbGwtc3BhY2UiLCAmb3B0aW9ucy0+eGRsX29wdHMsCisJCQkgIE5fKCJpZ25vcmUgd2hpdGVzcGFjZSB3aGVuIGNvbXBhcmluZyBsaW5lcyIpLAorCQkJICBYREZfSUdOT1JFX1dISVRFU1BBQ0UsIFBBUlNFX09QVF9OT05FRyksCisJCU9QVF9CSVRfRignYicsICJpZ25vcmUtc3BhY2UtY2hhbmdlIiwgJm9wdGlvbnMtPnhkbF9vcHRzLAorCQkJICBOXygiaWdub3JlIGNoYW5nZXMgaW4gYW1vdW50IG9mIHdoaXRlc3BhY2UiKSwKKwkJCSAgWERGX0lHTk9SRV9XSElURVNQQUNFX0NIQU5HRSwgUEFSU0VfT1BUX05PTkVHKSwKKwkJT1BUX0JJVF9GKDAsICJpZ25vcmUtc3BhY2UtYXQtZW9sIiwgJm9wdGlvbnMtPnhkbF9vcHRzLAorCQkJICBOXygiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSBhdCBFT0wiKSwKKwkJCSAgWERGX0lHTk9SRV9XSElURVNQQUNFX0FUX0VPTCwgUEFSU0VfT1BUX05PTkVHKSwKKwkJT1BUX0JJVF9GKDAsICJpZ25vcmUtY3ItYXQtZW9sIiwgJm9wdGlvbnMtPnhkbF9vcHRzLAorCQkJICBOXygiaWdub3JlIGNhcnJpZXItcmV0dXJuIGF0IHRoZSBlbmQgb2YgbGluZSIpLAorCQkJICBYREZfSUdOT1JFX0NSX0FUX0VPTCwgUEFSU0VfT1BUX05PTkVHKSwKKwkJT1BUX0JJVF9GKDAsICJpZ25vcmUtYmxhbmstbGluZXMiLCAmb3B0aW9ucy0+eGRsX29wdHMsCisJCQkgIE5fKCJpZ25vcmUgY2hhbmdlcyB3aG9zZSBsaW5lcyBhcmUgYWxsIGJsYW5rIiksCisJCQkgIFhERl9JR05PUkVfQkxBTktfTElORVMsIFBBUlNFX09QVF9OT05FRyksCisJCU9QVF9CSVQoMCwgImluZGVudC1oZXVyaXN0aWMiLCAmb3B0aW9ucy0+eGRsX29wdHMsCisJCQlOXygiaGV1cmlzdGljIHRvIHNoaWZ0IGRpZmYgaHVuayBib3VuZGFyaWVzIGZvciBlYXN5IHJlYWRpbmciKSwKKwkJCVhERl9JTkRFTlRfSEVVUklTVElDKSwKKwkJT1BUX0NBTExCQUNLX0YoMCwgInBhdGllbmNlIiwgb3B0aW9ucywgTlVMTCwKKwkJCSAgICAgICBOXygiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJwYXRpZW5jZSBkaWZmXCIgYWxnb3JpdGhtIiksCisJCQkgICAgICAgUEFSU0VfT1BUX05PTkVHIHwgUEFSU0VfT1BUX05PQVJHLAorCQkJICAgICAgIGRpZmZfb3B0X3BhdGllbmNlKSwKKwkJT1BUX0JJVE9QKDAsICJoaXN0b2dyYW0iLCAmb3B0aW9ucy0+eGRsX29wdHMsCisJCQkgIE5fKCJnZW5lcmF0ZSBkaWZmIHVzaW5nIHRoZSBcImhpc3RvZ3JhbSBkaWZmXCIgYWxnb3JpdGhtIiksCisJCQkgIFhERl9ISVNUT0dSQU1fRElGRiwgWERGX0RJRkZfQUxHT1JJVEhNX01BU0spLAorCQlPUFRfQ0FMTEJBQ0tfRigwLCAiZGlmZi1hbGdvcml0aG0iLCBvcHRpb25zLCBOXygiPGFsZ29yaXRobT4iKSwKKwkJCSAgICAgICBOXygiY2hvb3NlIGEgZGlmZiBhbGdvcml0aG0iKSwKKwkJCSAgICAgICBQQVJTRV9PUFRfTk9ORUcsIGRpZmZfb3B0X2RpZmZfYWxnb3JpdGhtKSwKKwkJT1BUX0NBTExCQUNLX0YoMCwgImFuY2hvcmVkIiwgb3B0aW9ucywgTl8oIjx0ZXh0PiIpLAorCQkJICAgICAgIE5fKCJnZW5lcmF0ZSBkaWZmIHVzaW5nIHRoZSBcImFuY2hvcmVkIGRpZmZcIiBhbGdvcml0aG0iKSwKKwkJCSAgICAgICBQQVJTRV9PUFRfTk9ORUcsIGRpZmZfb3B0X2FuY2hvcmVkKSwKKwkJT1BUX0NBTExCQUNLX0YoMCwgIndvcmQtZGlmZiIsIG9wdGlvbnMsIE5fKCI8bW9kZT4iKSwKKwkJCSAgICAgICBOXygic2hvdyB3b3JkIGRpZmYsIHVzaW5nIDxtb2RlPiB0byBkZWxpbWl0IGNoYW5nZWQgd29yZHMiKSwKKwkJCSAgICAgICBQQVJTRV9PUFRfTk9ORUcgfCBQQVJTRV9PUFRfT1BUQVJHLCBkaWZmX29wdF93b3JkX2RpZmYpLAorCQlPUFRfQ0FMTEJBQ0tfRigwLCAid29yZC1kaWZmLXJlZ2V4Iiwgb3B0aW9ucywgTl8oIjxyZWdleD4iKSwKKwkJCSAgICAgICBOXygidXNlIDxyZWdleD4gdG8gZGVjaWRlIHdoYXQgYSB3b3JkIGlzIiksCisJCQkgICAgICAgUEFSU0VfT1BUX05PTkVHLCBkaWZmX29wdF93b3JkX2RpZmZfcmVnZXgpLAorCQlPUFRfQ0FMTEJBQ0tfRigwLCAiY29sb3Itd29yZHMiLCBvcHRpb25zLCBOXygiPHJlZ2V4PiIpLAorCQkJICAgICAgIE5fKCJlcXVpdmFsZW50IHRvIC0td29yZC1kaWZmPWNvbG9yIC0td29yZC1kaWZmLXJlZ2V4PTxyZWdleD4iKSwKKwkJCSAgICAgICBQQVJTRV9PUFRfTk9ORUcgfCBQQVJTRV9PUFRfT1BUQVJHLCBkaWZmX29wdF9jb2xvcl93b3JkcyksCisJCU9QVF9DQUxMQkFDS19GKDAsICJjb2xvci1tb3ZlZCIsIG9wdGlvbnMsIE5fKCI8bW9kZT4iKSwKKwkJCSAgICAgICBOXygibW92ZWQgbGluZXMgb2YgY29kZSBhcmUgY29sb3JlZCBkaWZmZXJlbnRseSIpLAorCQkJICAgICAgIFBBUlNFX09QVF9PUFRBUkcsIGRpZmZfb3B0X2NvbG9yX21vdmVkKSwKKwkJT1BUX0NBTExCQUNLX0YoMCwgImNvbG9yLW1vdmVkLXdzIiwgb3B0aW9ucywgTl8oIjxtb2RlPiIpLAorCQkJICAgICAgIE5fKCJob3cgd2hpdGUgc3BhY2VzIGFyZSBpZ25vcmVkIGluIC0tY29sb3ItbW92ZWQiKSwKKwkJCSAgICAgICAwLCBkaWZmX29wdF9jb2xvcl9tb3ZlZF93cyksCisKKwkJT1BUX0dST1VQKE5fKCJPdGhlciBkaWZmIG9wdGlvbnMiKSksCisJCU9QVF9DQUxMQkFDS19GKDAsICJyZWxhdGl2ZSIsIG9wdGlvbnMsIE5fKCI8cHJlZml4PiIpLAorCQkJICAgICAgIE5fKCJ3aGVuIHJ1biBmcm9tIHN1YmRpciwgZXhjbHVkZSBjaGFuZ2VzIG91dHNpZGUgYW5kIHNob3cgcmVsYXRpdmUgcGF0aHMiKSwKKwkJCSAgICAgICBQQVJTRV9PUFRfTk9ORUcgfCBQQVJTRV9PUFRfT1BUQVJHLAorCQkJICAgICAgIGRpZmZfb3B0X3JlbGF0aXZlKSwKKwkJT1BUX0JPT0woJ2EnLCAidGV4dCIsICZvcHRpb25zLT5mbGFncy50ZXh0LAorCQkJIE5fKCJ0cmVhdCBhbGwgZmlsZXMgYXMgdGV4dCIpKSwKKwkJT1BUX0JPT0woJ1InLCBOVUxMLCAmb3B0aW9ucy0+ZmxhZ3MucmV2ZXJzZV9kaWZmLAorCQkJIE5fKCJzd2FwIHR3byBpbnB1dHMsIHJldmVyc2UgdGhlIGRpZmYiKSksCisJCU9QVF9CT09MKDAsICJleGl0LWNvZGUiLCAmb3B0aW9ucy0+ZmxhZ3MuZXhpdF93aXRoX3N0YXR1cywKKwkJCSBOXygiZXhpdCB3aXRoIDEgaWYgdGhlcmUgd2VyZSBkaWZmZXJlbmNlcywgMCBvdGhlcndpc2UiKSksCisJCU9QVF9CT09MKDAsICJxdWlldCIsICZvcHRpb25zLT5mbGFncy5xdWljaywKKwkJCSBOXygiZGlzYWJsZSBhbGwgb3V0cHV0IG9mIHRoZSBwcm9ncmFtIikpLAorCQlPUFRfQk9PTCgwLCAiZXh0LWRpZmYiLCAmb3B0aW9ucy0+ZmxhZ3MuYWxsb3dfZXh0ZXJuYWwsCisJCQkgTl8oImFsbG93IGFuIGV4dGVybmFsIGRpZmYgaGVscGVyIHRvIGJlIGV4ZWN1dGVkIikpLAorCQlPUFRfQ0FMTEJBQ0tfRigwLCAidGV4dGNvbnYiLCBvcHRpb25zLCBOVUxMLAorCQkJICAgICAgIE5fKCJydW4gZXh0ZXJuYWwgdGV4dCBjb252ZXJzaW9uIGZpbHRlcnMgd2hlbiBjb21wYXJpbmcgYmluYXJ5IGZpbGVzIiksCisJCQkgICAgICAgUEFSU0VfT1BUX05PQVJHLCBkaWZmX29wdF90ZXh0Y29udiksCisJCU9QVF9DQUxMQkFDS19GKDAsICJpZ25vcmUtc3VibW9kdWxlcyIsIG9wdGlvbnMsIE5fKCI8d2hlbj4iKSwKKwkJCSAgICAgICBOXygiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcyBpbiB0aGUgZGlmZiBnZW5lcmF0aW9uIiksCisJCQkgICAgICAgUEFSU0VfT1BUX05PTkVHIHwgUEFSU0VfT1BUX09QVEFSRywKKwkJCSAgICAgICBkaWZmX29wdF9pZ25vcmVfc3VibW9kdWxlcyksCisJCU9QVF9DQUxMQkFDS19GKDAsICJzdWJtb2R1bGUiLCBvcHRpb25zLCBOXygiPGZvcm1hdD4iKSwKKwkJCSAgICAgICBOXygic3BlY2lmeSBob3cgZGlmZmVyZW5jZXMgaW4gc3VibW9kdWxlcyBhcmUgc2hvd24iKSwKKwkJCSAgICAgICBQQVJTRV9PUFRfTk9ORUcgfCBQQVJTRV9PUFRfT1BUQVJHLAorCQkJICAgICAgIGRpZmZfb3B0X3N1Ym1vZHVsZSksCisJCU9QVF9TRVRfSU5UX0YoMCwgIml0YS1pbnZpc2libGUtaW4taW5kZXgiLCAmb3B0aW9ucy0+aXRhX2ludmlzaWJsZV9pbl9pbmRleCwKKwkJCSAgICAgIE5fKCJoaWRlICdnaXQgYWRkIC1OJyBlbnRyaWVzIGZyb20gdGhlIGluZGV4IiksCisJCQkgICAgICAxLCBQQVJTRV9PUFRfTk9ORUcpLAorCQlPUFRfU0VUX0lOVF9GKDAsICJpdGEtdmlzaWJsZS1pbi1pbmRleCIsICZvcHRpb25zLT5pdGFfaW52aXNpYmxlX2luX2luZGV4LAorCQkJICAgICAgTl8oInRyZWF0ICdnaXQgYWRkIC1OJyBlbnRyaWVzIGFzIHJlYWwgaW4gdGhlIGluZGV4IiksCisJCQkgICAgICAwLCBQQVJTRV9PUFRfTk9ORUcpLAorCQlPUFRfQ0FMTEJBQ0tfRignUycsIE5VTEwsIG9wdGlvbnMsIE5fKCI8c3RyaW5nPiIpLAorCQkJICAgICAgIE5fKCJsb29rIGZvciBkaWZmZXJlbmNlcyB0aGF0IGNoYW5nZSB0aGUgbnVtYmVyIG9mIG9jY3VycmVuY2VzIG9mIHRoZSBzcGVjaWZpZWQgc3RyaW5nIiksCisJCQkgICAgICAgMCwgZGlmZl9vcHRfcGlja2F4ZV9zdHJpbmcpLAorCQlPUFRfQ0FMTEJBQ0tfRignRycsIE5VTEwsIG9wdGlvbnMsIE5fKCI8cmVnZXg+IiksCisJCQkgICAgICAgTl8oImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCByZWdleCIpLAorCQkJICAgICAgIDAsIGRpZmZfb3B0X3BpY2theGVfcmVnZXgpLAorCQlPUFRfQklUX0YoMCwgInBpY2theGUtYWxsIiwgJm9wdGlvbnMtPnBpY2theGVfb3B0cywKKwkJCSAgTl8oInNob3cgYWxsIGNoYW5nZXMgaW4gdGhlIGNoYW5nZXNldCB3aXRoIC1TIG9yIC1HIiksCisJCQkgIERJRkZfUElDS0FYRV9BTEwsIFBBUlNFX09QVF9OT05FRyksCisJCU9QVF9CSVRfRigwLCAicGlja2F4ZS1yZWdleCIsICZvcHRpb25zLT5waWNrYXhlX29wdHMsCisJCQkgIE5fKCJ0cmVhdCA8c3RyaW5nPiBpbiAtUyBhcyBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb24iKSwKKwkJCSAgRElGRl9QSUNLQVhFX1JFR0VYLCBQQVJTRV9PUFRfTk9ORUcpLAorCQlPUFRfRklMRU5BTUUoJ08nLCBOVUxMLCAmb3B0aW9ucy0+b3JkZXJmaWxlLAorCQkJICAgICBOXygiY29udHJvbCB0aGUgb3JkZXIgaW4gd2hpY2ggZmlsZXMgYXBwZWFyIGluIHRoZSBvdXRwdXQiKSksCisJCU9QVF9DQUxMQkFDS19GKDAsICJmaW5kLW9iamVjdCIsIG9wdGlvbnMsIE5fKCI8b2JqZWN0LWlkPiIpLAorCQkJICAgICAgIE5fKCJsb29rIGZvciBkaWZmZXJlbmNlcyB0aGF0IGNoYW5nZSB0aGUgbnVtYmVyIG9mIG9jY3VycmVuY2VzIG9mIHRoZSBzcGVjaWZpZWQgb2JqZWN0IiksCisJCQkgICAgICAgUEFSU0VfT1BUX05PTkVHLCBkaWZmX29wdF9maW5kX29iamVjdCksCisJCU9QVF9DQUxMQkFDS19GKDAsICJkaWZmLWZpbHRlciIsIG9wdGlvbnMsIE5fKCJbKEF8Q3xEfE18UnxUfFV8WHxCKS4uLlsqXV0iKSwKKwkJCSAgICAgICBOXygic2VsZWN0IGZpbGVzIGJ5IGRpZmYgdHlwZSIpLAorCQkJICAgICAgIFBBUlNFX09QVF9OT05FRywgZGlmZl9vcHRfZGlmZl9maWx0ZXIpLAorCQl7IE9QVElPTl9DQUxMQkFDSywgMCwgIm91dHB1dCIsIG9wdGlvbnMsIE5fKCI8ZmlsZT4iKSwKKwkJICBOXygiT3V0cHV0IHRvIGEgc3BlY2lmaWMgZmlsZSIpLAorCQkgIFBBUlNFX09QVF9OT05FRywgTlVMTCwgMCwgZGlmZl9vcHRfb3V0cHV0IH0sCisKKwkJT1BUX0VORCgpCisJfTsKKworCUFMTE9DX0FSUkFZKG9wdGlvbnMtPnBhcnNlb3B0cywgQVJSQVlfU0laRShwYXJzZW9wdHMpKTsKKwltZW1jcHkob3B0aW9ucy0+cGFyc2VvcHRzLCBwYXJzZW9wdHMsIHNpemVvZihwYXJzZW9wdHMpKTsKK30KKworaW50IGRpZmZfb3B0X3BhcnNlKHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMsCisJCSAgIGNvbnN0IGNoYXIgKiphdiwgaW50IGFjLCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJaWYgKCFwcmVmaXgpCisJCXByZWZpeCA9ICIiOworCisJYWMgPSBwYXJzZV9vcHRpb25zKGFjLCBhdiwgcHJlZml4LCBvcHRpb25zLT5wYXJzZW9wdHMsIE5VTEwsCisJCQkgICBQQVJTRV9PUFRfS0VFUF9EQVNIREFTSCB8CisJCQkgICBQQVJTRV9PUFRfS0VFUF9VTktOT1dOIHwKKwkJCSAgIFBBUlNFX09QVF9OT19JTlRFUk5BTF9IRUxQIHwKKwkJCSAgIFBBUlNFX09QVF9PTkVfU0hPVCB8CisJCQkgICBQQVJTRV9PUFRfU1RPUF9BVF9OT05fT1BUSU9OKTsKKworCXJldHVybiBhYzsKIH0KIAogaW50IHBhcnNlX3JlbmFtZV9zY29yZShjb25zdCBjaGFyICoqY3BfcCkKQEAgLTUyMDgsNDcgKzU1NjgsNiBAQAogCXJldHVybiAoaW50KSgobnVtID49IHNjYWxlKSA/IE1BWF9TQ09SRSA6IChNQVhfU0NPUkUgKiBudW0gLyBzY2FsZSkpOwogfQogCi1zdGF0aWMgaW50IGRpZmZfc2NvcmVvcHRfcGFyc2UoY29uc3QgY2hhciAqb3B0KQotewotCWludCBvcHQxLCBvcHQyLCBjbWQ7Ci0KLQlpZiAoKm9wdCsrICE9ICctJykKLQkJcmV0dXJuIC0xOwotCWNtZCA9ICpvcHQrKzsKLQlpZiAoY21kID09ICctJykgewotCQkvKiBjb252ZXJ0IHRoZSBsb25nLWZvcm0gYXJndW1lbnRzIGludG8gc2hvcnQtZm9ybSB2ZXJzaW9ucyAqLwotCQlpZiAoc2tpcF9wcmVmaXgob3B0LCAiYnJlYWstcmV3cml0ZXMiLCAmb3B0KSkgewotCQkJaWYgKCpvcHQgPT0gMCB8fCAqb3B0KysgPT0gJz0nKQotCQkJCWNtZCA9ICdCJzsKLQkJfSBlbHNlIGlmIChza2lwX3ByZWZpeChvcHQsICJmaW5kLWNvcGllcyIsICZvcHQpKSB7Ci0JCQlpZiAoKm9wdCA9PSAwIHx8ICpvcHQrKyA9PSAnPScpCi0JCQkJY21kID0gJ0MnOwotCQl9IGVsc2UgaWYgKHNraXBfcHJlZml4KG9wdCwgImZpbmQtcmVuYW1lcyIsICZvcHQpKSB7Ci0JCQlpZiAoKm9wdCA9PSAwIHx8ICpvcHQrKyA9PSAnPScpCi0JCQkJY21kID0gJ00nOwotCQl9Ci0JfQotCWlmIChjbWQgIT0gJ00nICYmIGNtZCAhPSAnQycgJiYgY21kICE9ICdCJykKLQkJcmV0dXJuIC0xOyAvKiB0aGF0IGlzIG5vdCBhIC1NLCAtQywgb3IgLUIgb3B0aW9uICovCi0KLQlvcHQxID0gcGFyc2VfcmVuYW1lX3Njb3JlKCZvcHQpOwotCWlmIChjbWQgIT0gJ0InKQotCQlvcHQyID0gMDsKLQllbHNlIHsKLQkJaWYgKCpvcHQgPT0gMCkKLQkJCW9wdDIgPSAwOwotCQllbHNlIGlmICgqb3B0ICE9ICcvJykKLQkJCXJldHVybiAtMTsgLyogd2UgZXhwZWN0IC1CODAvOTkgb3IgLUI4MCAqLwotCQllbHNlIHsKLQkJCW9wdCsrOwotCQkJb3B0MiA9IHBhcnNlX3JlbmFtZV9zY29yZSgmb3B0KTsKLQkJfQotCX0KLQlpZiAoKm9wdCAhPSAwKQotCQlyZXR1cm4gLTE7Ci0JcmV0dXJuIG9wdDEgfCAob3B0MiA8PCAxNik7Ci19Ci0KIHN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCBkaWZmX3F1ZXVlZF9kaWZmOwogCiB2b2lkIGRpZmZfcShzdHJ1Y3QgZGlmZl9xdWV1ZV9zdHJ1Y3QgKnF1ZXVlLCBzdHJ1Y3QgZGlmZl9maWxlcGFpciAqZHApCkBAIC01NjQ2LDcgKzU5NjUsNyBAQAogfQogCiBzdHJ1Y3QgcGF0Y2hfaWRfdCB7Ci0JZ2l0X1NIQV9DVFggKmN0eDsKKwlnaXRfaGFzaF9jdHggKmN0eDsKIAlpbnQgcGF0Y2hsZW47CiB9OwogCkBAIC01NjYzLDYgKzU5ODIsMjIgQEAKIAlyZXR1cm4gZHN0IC0gbGluZTsKIH0KIAordm9pZCBmbHVzaF9vbmVfaHVuayhzdHJ1Y3Qgb2JqZWN0X2lkICpyZXN1bHQsIGdpdF9oYXNoX2N0eCAqY3R4KQoreworCXVuc2lnbmVkIGNoYXIgaGFzaFtHSVRfTUFYX1JBV1NaXTsKKwl1bnNpZ25lZCBzaG9ydCBjYXJyeSA9IDA7CisJaW50IGk7CisKKwl0aGVfaGFzaF9hbGdvLT5maW5hbF9mbihoYXNoLCBjdHgpOworCXRoZV9oYXNoX2FsZ28tPmluaXRfZm4oY3R4KTsKKwkvKiAyMC1ieXRlIHN1bSwgd2l0aCBjYXJyeSAqLworCWZvciAoaSA9IDA7IGkgPCB0aGVfaGFzaF9hbGdvLT5yYXdzejsgKytpKSB7CisJCWNhcnJ5ICs9IHJlc3VsdC0+aGFzaFtpXSArIGhhc2hbaV07CisJCXJlc3VsdC0+aGFzaFtpXSA9IGNhcnJ5OworCQljYXJyeSA+Pj0gODsKKwl9Cit9CisKIHN0YXRpYyB2b2lkIHBhdGNoX2lkX2NvbnN1bWUodm9pZCAqcHJpdiwgY2hhciAqbGluZSwgdW5zaWduZWQgbG9uZyBsZW4pCiB7CiAJc3RydWN0IHBhdGNoX2lkX3QgKmRhdGEgPSBwcml2OwpAQCAtNTY3MCwzNCArNjAwNSwzNSBAQAogCiAJbmV3X2xlbiA9IHJlbW92ZV9zcGFjZShsaW5lLCBsZW4pOwogCi0JZ2l0X1NIQTFfVXBkYXRlKGRhdGEtPmN0eCwgbGluZSwgbmV3X2xlbik7CisJdGhlX2hhc2hfYWxnby0+dXBkYXRlX2ZuKGRhdGEtPmN0eCwgbGluZSwgbmV3X2xlbik7CiAJZGF0YS0+cGF0Y2hsZW4gKz0gbmV3X2xlbjsKIH0KIAotc3RhdGljIHZvaWQgcGF0Y2hfaWRfYWRkX3N0cmluZyhnaXRfU0hBX0NUWCAqY3R4LCBjb25zdCBjaGFyICpzdHIpCitzdGF0aWMgdm9pZCBwYXRjaF9pZF9hZGRfc3RyaW5nKGdpdF9oYXNoX2N0eCAqY3R4LCBjb25zdCBjaGFyICpzdHIpCiB7Ci0JZ2l0X1NIQTFfVXBkYXRlKGN0eCwgc3RyLCBzdHJsZW4oc3RyKSk7CisJdGhlX2hhc2hfYWxnby0+dXBkYXRlX2ZuKGN0eCwgc3RyLCBzdHJsZW4oc3RyKSk7CiB9CiAKLXN0YXRpYyB2b2lkIHBhdGNoX2lkX2FkZF9tb2RlKGdpdF9TSEFfQ1RYICpjdHgsIHVuc2lnbmVkIG1vZGUpCitzdGF0aWMgdm9pZCBwYXRjaF9pZF9hZGRfbW9kZShnaXRfaGFzaF9jdHggKmN0eCwgdW5zaWduZWQgbW9kZSkKIHsKIAkvKiBsYXJnZSBlbm91Z2ggZm9yIDJeMzIgaW4gb2N0YWwgKi8KIAljaGFyIGJ1ZlsxMl07CiAJaW50IGxlbiA9IHhzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJTA2byIsIG1vZGUpOwotCWdpdF9TSEExX1VwZGF0ZShjdHgsIGJ1ZiwgbGVuKTsKKwl0aGVfaGFzaF9hbGdvLT51cGRhdGVfZm4oY3R4LCBidWYsIGxlbik7CiB9CiAKLS8qIHJldHVybnMgMCB1cG9uIHN1Y2Nlc3MsIGFuZCB3cml0ZXMgcmVzdWx0IGludG8gc2hhMSAqLwotc3RhdGljIGludCBkaWZmX2dldF9wYXRjaF9pZChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBkaWZmX2hlYWRlcl9vbmx5KQorLyogcmV0dXJucyAwIHVwb24gc3VjY2VzcywgYW5kIHdyaXRlcyByZXN1bHQgaW50byBvaWQgKi8KK3N0YXRpYyBpbnQgZGlmZl9nZXRfcGF0Y2hfaWQoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucywgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBpbnQgZGlmZl9oZWFkZXJfb25seSwgaW50IHN0YWJsZSkKIHsKIAlzdHJ1Y3QgZGlmZl9xdWV1ZV9zdHJ1Y3QgKnEgPSAmZGlmZl9xdWV1ZWRfZGlmZjsKIAlpbnQgaTsKLQlnaXRfU0hBX0NUWCBjdHg7CisJZ2l0X2hhc2hfY3R4IGN0eDsKIAlzdHJ1Y3QgcGF0Y2hfaWRfdCBkYXRhOwogCi0JZ2l0X1NIQTFfSW5pdCgmY3R4KTsKKwl0aGVfaGFzaF9hbGdvLT5pbml0X2ZuKCZjdHgpOwogCW1lbXNldCgmZGF0YSwgMCwgc2l6ZW9mKHN0cnVjdCBwYXRjaF9pZF90KSk7CiAJZGF0YS5jdHggPSAmY3R4OworCW9pZGNscihvaWQpOwogCiAJZm9yIChpID0gMDsgaSA8IHEtPm5yOyBpKyspIHsKIAkJeHBwYXJhbV90IHhwcDsKQEAgLTU3MjcsMjcgKzYwNjMsMjcgQEAKIAkJbGVuMiA9IHJlbW92ZV9zcGFjZShwLT50d28tPnBhdGgsIHN0cmxlbihwLT50d28tPnBhdGgpKTsKIAkJcGF0Y2hfaWRfYWRkX3N0cmluZygmY3R4LCAiZGlmZi0tZ2l0Iik7CiAJCXBhdGNoX2lkX2FkZF9zdHJpbmcoJmN0eCwgImEvIik7Ci0JCWdpdF9TSEExX1VwZGF0ZSgmY3R4LCBwLT5vbmUtPnBhdGgsIGxlbjEpOworCQl0aGVfaGFzaF9hbGdvLT51cGRhdGVfZm4oJmN0eCwgcC0+b25lLT5wYXRoLCBsZW4xKTsKIAkJcGF0Y2hfaWRfYWRkX3N0cmluZygmY3R4LCAiYi8iKTsKLQkJZ2l0X1NIQTFfVXBkYXRlKCZjdHgsIHAtPnR3by0+cGF0aCwgbGVuMik7CisJCXRoZV9oYXNoX2FsZ28tPnVwZGF0ZV9mbigmY3R4LCBwLT50d28tPnBhdGgsIGxlbjIpOwogCiAJCWlmIChwLT5vbmUtPm1vZGUgPT0gMCkgewogCQkJcGF0Y2hfaWRfYWRkX3N0cmluZygmY3R4LCAibmV3ZmlsZW1vZGUiKTsKIAkJCXBhdGNoX2lkX2FkZF9tb2RlKCZjdHgsIHAtPnR3by0+bW9kZSk7CiAJCQlwYXRjaF9pZF9hZGRfc3RyaW5nKCZjdHgsICItLS0vZGV2L251bGwiKTsKIAkJCXBhdGNoX2lkX2FkZF9zdHJpbmcoJmN0eCwgIisrK2IvIik7Ci0JCQlnaXRfU0hBMV9VcGRhdGUoJmN0eCwgcC0+dHdvLT5wYXRoLCBsZW4yKTsKKwkJCXRoZV9oYXNoX2FsZ28tPnVwZGF0ZV9mbigmY3R4LCBwLT50d28tPnBhdGgsIGxlbjIpOwogCQl9IGVsc2UgaWYgKHAtPnR3by0+bW9kZSA9PSAwKSB7CiAJCQlwYXRjaF9pZF9hZGRfc3RyaW5nKCZjdHgsICJkZWxldGVkZmlsZW1vZGUiKTsKIAkJCXBhdGNoX2lkX2FkZF9tb2RlKCZjdHgsIHAtPm9uZS0+bW9kZSk7CiAJCQlwYXRjaF9pZF9hZGRfc3RyaW5nKCZjdHgsICItLS1hLyIpOwotCQkJZ2l0X1NIQTFfVXBkYXRlKCZjdHgsIHAtPm9uZS0+cGF0aCwgbGVuMSk7CisJCQl0aGVfaGFzaF9hbGdvLT51cGRhdGVfZm4oJmN0eCwgcC0+b25lLT5wYXRoLCBsZW4xKTsKIAkJCXBhdGNoX2lkX2FkZF9zdHJpbmcoJmN0eCwgIisrKy9kZXYvbnVsbCIpOwogCQl9IGVsc2UgewogCQkJcGF0Y2hfaWRfYWRkX3N0cmluZygmY3R4LCAiLS0tYS8iKTsKLQkJCWdpdF9TSEExX1VwZGF0ZSgmY3R4LCBwLT5vbmUtPnBhdGgsIGxlbjEpOworCQkJdGhlX2hhc2hfYWxnby0+dXBkYXRlX2ZuKCZjdHgsIHAtPm9uZS0+cGF0aCwgbGVuMSk7CiAJCQlwYXRjaF9pZF9hZGRfc3RyaW5nKCZjdHgsICIrKytiLyIpOwotCQkJZ2l0X1NIQTFfVXBkYXRlKCZjdHgsIHAtPnR3by0+cGF0aCwgbGVuMik7CisJCQl0aGVfaGFzaF9hbGdvLT51cGRhdGVfZm4oJmN0eCwgcC0+dHdvLT5wYXRoLCBsZW4yKTsKIAkJfQogCiAJCWlmIChkaWZmX2hlYWRlcl9vbmx5KQpAQCAtNTc1OSwxMCArNjA5NSwxMCBAQAogCiAJCWlmIChkaWZmX2ZpbGVzcGVjX2lzX2JpbmFyeShvcHRpb25zLT5yZXBvLCBwLT5vbmUpIHx8CiAJCSAgICBkaWZmX2ZpbGVzcGVjX2lzX2JpbmFyeShvcHRpb25zLT5yZXBvLCBwLT50d28pKSB7Ci0JCQlnaXRfU0hBMV9VcGRhdGUoJmN0eCwgb2lkX3RvX2hleCgmcC0+b25lLT5vaWQpLAotCQkJCQlHSVRfU0hBMV9IRVhTWik7Ci0JCQlnaXRfU0hBMV9VcGRhdGUoJmN0eCwgb2lkX3RvX2hleCgmcC0+dHdvLT5vaWQpLAotCQkJCQlHSVRfU0hBMV9IRVhTWik7CisJCQl0aGVfaGFzaF9hbGdvLT51cGRhdGVfZm4oJmN0eCwgb2lkX3RvX2hleCgmcC0+b25lLT5vaWQpLAorCQkJCQl0aGVfaGFzaF9hbGdvLT5oZXhzeik7CisJCQl0aGVfaGFzaF9hbGdvLT51cGRhdGVfZm4oJmN0eCwgb2lkX3RvX2hleCgmcC0+dHdvLT5vaWQpLAorCQkJCQl0aGVfaGFzaF9hbGdvLT5oZXhzeik7CiAJCQljb250aW51ZTsKIAkJfQogCkBAIC01NzczLDE3ICs2MTA5LDIyIEBACiAJCQkJICBwYXRjaF9pZF9jb25zdW1lLCAmZGF0YSwgJnhwcCwgJnhlY2ZnKSkKIAkJCXJldHVybiBlcnJvcigidW5hYmxlIHRvIGdlbmVyYXRlIHBhdGNoLWlkIGRpZmYgZm9yICVzIiwKIAkJCQkgICAgIHAtPm9uZS0+cGF0aCk7CisKKwkJaWYgKHN0YWJsZSkKKwkJCWZsdXNoX29uZV9odW5rKG9pZCwgJmN0eCk7CiAJfQogCi0JZ2l0X1NIQTFfRmluYWwob2lkLT5oYXNoLCAmY3R4KTsKKwlpZiAoIXN0YWJsZSkKKwkJdGhlX2hhc2hfYWxnby0+ZmluYWxfZm4ob2lkLT5oYXNoLCAmY3R4KTsKKwogCXJldHVybiAwOwogfQogCi1pbnQgZGlmZl9mbHVzaF9wYXRjaF9pZChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBkaWZmX2hlYWRlcl9vbmx5KQoraW50IGRpZmZfZmx1c2hfcGF0Y2hfaWQoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucywgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBpbnQgZGlmZl9oZWFkZXJfb25seSwgaW50IHN0YWJsZSkKIHsKIAlzdHJ1Y3QgZGlmZl9xdWV1ZV9zdHJ1Y3QgKnEgPSAmZGlmZl9xdWV1ZWRfZGlmZjsKIAlpbnQgaTsKLQlpbnQgcmVzdWx0ID0gZGlmZl9nZXRfcGF0Y2hfaWQob3B0aW9ucywgb2lkLCBkaWZmX2hlYWRlcl9vbmx5KTsKKwlpbnQgcmVzdWx0ID0gZGlmZl9nZXRfcGF0Y2hfaWQob3B0aW9ucywgb2lkLCBkaWZmX2hlYWRlcl9vbmx5LCBzdGFibGUpOwogCiAJZm9yIChpID0gMDsgaSA8IHEtPm5yOyBpKyspCiAJCWRpZmZfZnJlZV9maWxlcGFpcihxLT5xdWV1ZVtpXSk7CkBAIC01ODc2LDggKzYyMTcsMTAgQEAKIAkJCWlmIChvLT5jb2xvcl9tb3ZlZCA9PSBDT0xPUl9NT1ZFRF9aRUJSQV9ESU0pCiAJCQkJZGltX21vdmVkX2xpbmVzKG8pOwogCi0JCQloYXNobWFwX2ZyZWUoJmFkZF9saW5lcywgMSk7Ci0JCQloYXNobWFwX2ZyZWUoJmRlbF9saW5lcywgMSk7CisJCQloYXNobWFwX2ZyZWVfZW50cmllcygmYWRkX2xpbmVzLCBzdHJ1Y3QgbW92ZWRfZW50cnksCisJCQkJCQllbnQpOworCQkJaGFzaG1hcF9mcmVlX2VudHJpZXMoJmRlbF9saW5lcywgc3RydWN0IG1vdmVkX2VudHJ5LAorCQkJCQkJZW50KTsKIAkJfQogCiAJCWZvciAoaSA9IDA7IGkgPCBlc20ubnI7IGkrKykKQEAgLTU4ODUsOCArNjIyOCwxMCBAQAogCiAJCWZvciAoaSA9IDA7IGkgPCBlc20ubnI7IGkrKykKIAkJCWZyZWUoKHZvaWQgKillc20uYnVmW2ldLmxpbmUpOworCQllc20ubnIgPSAwOworCisJCW8tPmVtaXR0ZWRfc3ltYm9scyA9IE5VTEw7CiAJfQotCWVzbS5uciA9IDA7CiB9CiAKIHZvaWQgZGlmZl9mbHVzaChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zKQpAQCAtNTkyMiwxMiArNjI2Nyw3IEBACiAJICAgIGRpcnN0YXRfYnlfbGluZSkgewogCQlzdHJ1Y3QgZGlmZnN0YXRfdCBkaWZmc3RhdDsKIAotCQltZW1zZXQoJmRpZmZzdGF0LCAwLCBzaXplb2Yoc3RydWN0IGRpZmZzdGF0X3QpKTsKLQkJZm9yIChpID0gMDsgaSA8IHEtPm5yOyBpKyspIHsKLQkJCXN0cnVjdCBkaWZmX2ZpbGVwYWlyICpwID0gcS0+cXVldWVbaV07Ci0JCQlpZiAoY2hlY2tfcGFpcl9zdGF0dXMocCkpCi0JCQkJZGlmZl9mbHVzaF9zdGF0KHAsIG9wdGlvbnMsICZkaWZmc3RhdCk7Ci0JCX0KKwkJY29tcHV0ZV9kaWZmc3RhdChvcHRpb25zLCAmZGlmZnN0YXQsIHEpOwogCQlpZiAob3V0cHV0X2Zvcm1hdCAmIERJRkZfRk9STUFUX05VTVNUQVQpCiAJCQlzaG93X251bXN0YXQoJmRpZmZzdGF0LCBvcHRpb25zKTsKIAkJaWYgKG91dHB1dF9mb3JtYXQgJiBESUZGX0ZPUk1BVF9ESUZGU1RBVCkKQEAgLTYxNDUsMTQgKzY0ODUsNDcgQEAKIAlyZXR1cm4gc3RyY21wKG5hbWVfYSwgbmFtZV9iKTsKIH0KIAotdm9pZCBkaWZmY29yZV9maXhfZGlmZl9pbmRleChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zKQordm9pZCBkaWZmY29yZV9maXhfZGlmZl9pbmRleCh2b2lkKQogewogCXN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCAqcSA9ICZkaWZmX3F1ZXVlZF9kaWZmOwogCVFTT1JUKHEtPnF1ZXVlLCBxLT5uciwgZGlmZm5hbWVjbXApOwogfQogCitzdGF0aWMgdm9pZCBhZGRfaWZfbWlzc2luZyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCSAgIHN0cnVjdCBvaWRfYXJyYXkgKnRvX2ZldGNoLAorCQkJICAgY29uc3Qgc3RydWN0IGRpZmZfZmlsZXNwZWMgKmZpbGVzcGVjKQoreworCWlmIChmaWxlc3BlYyAmJiBmaWxlc3BlYy0+b2lkX3ZhbGlkICYmCisJICAgICFTX0lTR0lUTElOSyhmaWxlc3BlYy0+bW9kZSkgJiYKKwkgICAgb2lkX29iamVjdF9pbmZvX2V4dGVuZGVkKHIsICZmaWxlc3BlYy0+b2lkLCBOVUxMLAorCQkJCSAgICAgT0JKRUNUX0lORk9fRk9SX1BSRUZFVENIKSkKKwkJb2lkX2FycmF5X2FwcGVuZCh0b19mZXRjaCwgJmZpbGVzcGVjLT5vaWQpOworfQorCiB2b2lkIGRpZmZjb3JlX3N0ZChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zKQogeworCWlmIChvcHRpb25zLT5yZXBvID09IHRoZV9yZXBvc2l0b3J5ICYmIGhhc19wcm9taXNvcl9yZW1vdGUoKSkgeworCQkvKgorCQkgKiBQcmVmZXRjaCB0aGUgZGlmZiBwYWlycyB0aGF0IGFyZSBhYm91dCB0byBiZSBmbHVzaGVkLgorCQkgKi8KKwkJaW50IGk7CisJCXN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCAqcSA9ICZkaWZmX3F1ZXVlZF9kaWZmOworCQlzdHJ1Y3Qgb2lkX2FycmF5IHRvX2ZldGNoID0gT0lEX0FSUkFZX0lOSVQ7CisKKwkJZm9yIChpID0gMDsgaSA8IHEtPm5yOyBpKyspIHsKKwkJCXN0cnVjdCBkaWZmX2ZpbGVwYWlyICpwID0gcS0+cXVldWVbaV07CisJCQlhZGRfaWZfbWlzc2luZyhvcHRpb25zLT5yZXBvLCAmdG9fZmV0Y2gsIHAtPm9uZSk7CisJCQlhZGRfaWZfbWlzc2luZyhvcHRpb25zLT5yZXBvLCAmdG9fZmV0Y2gsIHAtPnR3byk7CisJCX0KKwkJaWYgKHRvX2ZldGNoLm5yKQorCQkJLyoKKwkJCSAqIE5FRURTV09SSzogQ29uc2lkZXIgZGVkdXBsaWNhdGluZyB0aGUgT0lEcyBzZW50LgorCQkJICovCisJCQlwcm9taXNvcl9yZW1vdGVfZ2V0X2RpcmVjdChvcHRpb25zLT5yZXBvLAorCQkJCQkJICAgdG9fZmV0Y2gub2lkLCB0b19mZXRjaC5ucik7CisJCW9pZF9hcnJheV9jbGVhcigmdG9fZmV0Y2gpOworCX0KKwogCS8qIE5PVEUgcGxlYXNlIGtlZXAgdGhlIGZvbGxvd2luZyBpbiBzeW5jIHdpdGggZGlmZl90cmVlX2NvbWJpbmVkKCkgKi8KIAlpZiAob3B0aW9ucy0+c2tpcF9zdGF0X3VubWF0Y2gpCiAJCWRpZmZjb3JlX3NraXBfc3RhdF91bm1hdGNoKG9wdGlvbnMpOwpAQCAtNjIyNyw2ICs2NjAwLDIwIEBACiAJcmV0dXJuIGlnbm9yZWQ7CiB9CiAKK3ZvaWQgY29tcHV0ZV9kaWZmc3RhdChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zLAorCQkgICAgICBzdHJ1Y3QgZGlmZnN0YXRfdCAqZGlmZnN0YXQsCisJCSAgICAgIHN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCAqcSkKK3sKKwlpbnQgaTsKKworCW1lbXNldChkaWZmc3RhdCwgMCwgc2l6ZW9mKHN0cnVjdCBkaWZmc3RhdF90KSk7CisJZm9yIChpID0gMDsgaSA8IHEtPm5yOyBpKyspIHsKKwkJc3RydWN0IGRpZmZfZmlsZXBhaXIgKnAgPSBxLT5xdWV1ZVtpXTsKKwkJaWYgKGNoZWNrX3BhaXJfc3RhdHVzKHApKQorCQkJZGlmZl9mbHVzaF9zdGF0KHAsIG9wdGlvbnMsIGRpZmZzdGF0KTsKKwl9Cit9CisKIHZvaWQgZGlmZl9hZGRyZW1vdmUoc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucywKIAkJICAgIGludCBhZGRyZW1vdmUsIHVuc2lnbmVkIG1vZGUsCiAJCSAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCkBAIC02NDM0LDcgKzY4MjEsNyBAQAogCiAJZGYgPSBhbGxvY19maWxlc3BlYyhwYXRoKTsKIAlmaWxsX2ZpbGVzcGVjKGRmLCBvaWQsIG9pZF92YWxpZCwgbW9kZSk7Ci0JdGV4dGNvbnYgPSBnZXRfdGV4dGNvbnYoci0+aW5kZXgsIGRmKTsKKwl0ZXh0Y29udiA9IGdldF90ZXh0Y29udihyLCBkZik7CiAJaWYgKCF0ZXh0Y29udikgewogCQlmcmVlX2ZpbGVzcGVjKGRmKTsKIAkJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kaWZmLmggYi9kaWZmLmgKaW5kZXggY2U1ZThhOC4uNmZlYmU3ZSAxMDA2NDQKLS0tIGEvZGlmZi5oCisrKyBiL2RpZmYuaApAQCAtOSwxNiArOSw2MCBAQAogI2luY2x1ZGUgIm9iamVjdC5oIgogI2luY2x1ZGUgIm9pZHNldC5oIgogCi1zdHJ1Y3QgcmV2X2luZm87CisvKioKKyAqIFRoZSBkaWZmIEFQSSBpcyBmb3IgcHJvZ3JhbXMgdGhhdCBjb21wYXJlIHR3byBzZXRzIG9mIGZpbGVzIChlLmcuIHR3byB0cmVlcywKKyAqIG9uZSB0cmVlIGFuZCB0aGUgaW5kZXgpIGFuZCBwcmVzZW50IHRoZSBmb3VuZCBkaWZmZXJlbmNlIGluIHZhcmlvdXMgd2F5cy4KKyAqIFRoZSBjYWxsaW5nIHByb2dyYW0gaXMgcmVzcG9uc2libGUgZm9yIGZlZWRpbmcgdGhlIEFQSSBwYWlycyBvZiBmaWxlcywgb25lCisgKiBmcm9tIHRoZSAib2xkIiBzZXQgYW5kIHRoZSBjb3JyZXNwb25kaW5nIG9uZSBmcm9tICJuZXciIHNldCwgdGhhdCBhcmUKKyAqIGRpZmZlcmVudC4KKyAqIFRoZSBsaWJyYXJ5IGNhbGxlZCB0aHJvdWdoIHRoaXMgQVBJIGlzIGNhbGxlZCBkaWZmY29yZSwgYW5kIGlzIHJlc3BvbnNpYmxlCisgKiBmb3IgdHdvIHRoaW5ncy4KKyAqCisgKiAtIGZpbmRpbmcgdG90YWwgcmV3cml0ZXMgKGAtQmApLCByZW5hbWVzIChgLU1gKSBhbmQgY29waWVzIChgLUNgKSwgYW5kCisgKiBjaGFuZ2VzIHRoYXQgdG91Y2ggYSBzdHJpbmcgKGAtU2ApLCBhcyBzcGVjaWZpZWQgYnkgdGhlIGNhbGxlci4KKyAqCisgKiAtIG91dHB1dHRpbmcgdGhlIGRpZmZlcmVuY2VzIGluIHZhcmlvdXMgZm9ybWF0cywgYXMgc3BlY2lmaWVkIGJ5IHRoZSBjYWxsZXIuCisgKgorICogQ2FsbGluZyBzZXF1ZW5jZQorICogLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIC0gUHJlcGFyZSBgc3RydWN0IGRpZmZfb3B0aW9uc2AgdG8gcmVjb3JkIHRoZSBzZXQgb2YgZGlmZiBvcHRpb25zLCBhbmQgdGhlbgorICogY2FsbCBgcmVwb19kaWZmX3NldHVwKClgIHRvIGluaXRpYWxpemUgdGhpcyBzdHJ1Y3R1cmUuICBUaGlzIHNldHMgdXAgdGhlCisgKiB2YW5pbGxhIGRlZmF1bHQuCisgKgorICogLSBGaWxsIGluIHRoZSBvcHRpb25zIHN0cnVjdHVyZSB0byBzcGVjaWZ5IGRlc2lyZWQgb3V0cHV0IGZvcm1hdCwgcmVuYW1lCisgKiBkZXRlY3Rpb24sIGV0Yy4gIGBkaWZmX29wdF9wYXJzZSgpYCBjYW4gYmUgdXNlZCB0byBwYXJzZSBvcHRpb25zIGdpdmVuCisgKiBmcm9tIHRoZSBjb21tYW5kIGxpbmUgaW4gYSB3YXkgY29uc2lzdGVudCB3aXRoIGV4aXN0aW5nIGdpdC1kaWZmIGZhbWlseQorICogb2YgcHJvZ3JhbXMuCisgKgorICogLSBDYWxsIGBkaWZmX3NldHVwX2RvbmUoKWA7IHRoaXMgaW5zcGVjdHMgdGhlIG9wdGlvbnMgc2V0IHVwIHNvIGZhciBmb3IKKyAqIGludGVybmFsIGNvbnNpc3RlbmN5IGFuZCBtYWtlIG5lY2Vzc2FyeSB0d2Vha2luZyB0byBpdCAoZS5nLiBpZiB0ZXh0dWFsCisgKiBwYXRjaCBvdXRwdXQgd2FzIGFza2VkLCByZWN1cnNpdmUgYmVoYXZpb3VyIGlzIHR1cm5lZCBvbik7IHRoZSBjYWxsYmFjaworICogc2V0X2RlZmF1bHQgaW4gZGlmZl9vcHRpb25zIGNhbiBiZSB1c2VkIHRvIHR3ZWFrIHRoaXMgbW9yZS4KKyAqCisgKiAtIEFzIHlvdSBmaW5kIGRpZmZlcmVudCBwYWlycyBvZiBmaWxlcywgY2FsbCBgZGlmZl9jaGFuZ2UoKWAgdG8gZmVlZAorICogbW9kaWZpZWQgZmlsZXMsIGBkaWZmX2FkZHJlbW92ZSgpYCB0byBmZWVkIGNyZWF0ZWQgb3IgZGVsZXRlZCBmaWxlcywgb3IKKyAqIGBkaWZmX3VubWVyZ2UoKWAgdG8gZmVlZCBhIGZpbGUgd2hvc2Ugc3RhdGUgaXMgJ3VubWVyZ2VkJyB0byB0aGUgQVBJLgorICogVGhlc2UgYXJlIHRoaW4gd3JhcHBlcnMgdG8gYSBsb3dlci1sZXZlbCBgZGlmZl9xdWV1ZSgpYCBmdW5jdGlvbiB0aGF0IGlzCisgKiBmbGV4aWJsZSBlbm91Z2ggdG8gcmVjb3JkIGFueSBvZiB0aGVzZSBraW5kcyBvZiBjaGFuZ2VzLgorICoKKyAqIC0gT25jZSB5b3UgZmluaXNoIGZlZWRpbmcgdGhlIHBhaXJzIG9mIGZpbGVzLCBjYWxsIGBkaWZmY29yZV9zdGQoKWAuCisgKiBUaGlzIHdpbGwgdGVsbCB0aGUgZGlmZmNvcmUgbGlicmFyeSB0byBnbyBhaGVhZCBhbmQgZG8gaXRzIHdvcmsuCisgKgorICogLSBDYWxsaW5nIGBkaWZmX2ZsdXNoKClgIHdpbGwgcHJvZHVjZSB0aGUgb3V0cHV0LgorICovCisKK3N0cnVjdCBjb21iaW5lX2RpZmZfcGF0aDsKK3N0cnVjdCBjb21taXQ7CitzdHJ1Y3QgZGlmZl9maWxlc3BlYzsKIHN0cnVjdCBkaWZmX29wdGlvbnM7CiBzdHJ1Y3QgZGlmZl9xdWV1ZV9zdHJ1Y3Q7Ci1zdHJ1Y3Qgc3RyYnVmOwotc3RydWN0IGRpZmZfZmlsZXNwZWM7Ci1zdHJ1Y3QgdXNlcmRpZmZfZHJpdmVyOwogc3RydWN0IG9pZF9hcnJheTsKLXN0cnVjdCBjb21taXQ7Ci1zdHJ1Y3QgY29tYmluZV9kaWZmX3BhdGg7CitzdHJ1Y3Qgb3B0aW9uOwogc3RydWN0IHJlcG9zaXRvcnk7CitzdHJ1Y3QgcmV2X2luZm87CitzdHJ1Y3Qgc3RyYnVmOworc3RydWN0IHVzZXJkaWZmX2RyaXZlcjsKIAogdHlwZWRlZiBpbnQgKCpwYXRoY2hhbmdlX2ZuX3QpKHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMsCiAJCSBzdHJ1Y3QgY29tYmluZV9kaWZmX3BhdGggKnBhdGgpOwpAQCAtNjQsMzkgKzEwOCw4NSBAQAogCiAjZGVmaW5lIERJRkZfRkxBR1NfSU5JVCB7IDAgfQogc3RydWN0IGRpZmZfZmxhZ3MgewotCXVuc2lnbmVkIHJlY3Vyc2l2ZToxOwotCXVuc2lnbmVkIHRyZWVfaW5fcmVjdXJzaXZlOjE7Ci0JdW5zaWduZWQgYmluYXJ5OjE7Ci0JdW5zaWduZWQgdGV4dDoxOwotCXVuc2lnbmVkIGZ1bGxfaW5kZXg6MTsKLQl1bnNpZ25lZCBzaWxlbnRfb25fcmVtb3ZlOjE7Ci0JdW5zaWduZWQgZmluZF9jb3BpZXNfaGFyZGVyOjE7Ci0JdW5zaWduZWQgZm9sbG93X3JlbmFtZXM6MTsKLQl1bnNpZ25lZCByZW5hbWVfZW1wdHk6MTsKLQl1bnNpZ25lZCBoYXNfY2hhbmdlczoxOwotCXVuc2lnbmVkIHF1aWNrOjE7Ci0JdW5zaWduZWQgbm9faW5kZXg6MTsKLQl1bnNpZ25lZCBhbGxvd19leHRlcm5hbDoxOwotCXVuc2lnbmVkIGV4aXRfd2l0aF9zdGF0dXM6MTsKLQl1bnNpZ25lZCByZXZlcnNlX2RpZmY6MTsKLQl1bnNpZ25lZCBjaGVja19mYWlsZWQ6MTsKLQl1bnNpZ25lZCByZWxhdGl2ZV9uYW1lOjE7Ci0JdW5zaWduZWQgaWdub3JlX3N1Ym1vZHVsZXM6MTsKLQl1bnNpZ25lZCBkaXJzdGF0X2N1bXVsYXRpdmU6MTsKLQl1bnNpZ25lZCBkaXJzdGF0X2J5X2ZpbGU6MTsKLQl1bnNpZ25lZCBhbGxvd190ZXh0Y29udjoxOwotCXVuc2lnbmVkIHRleHRjb252X3NldF92aWFfY21kbGluZToxOwotCXVuc2lnbmVkIGRpZmZfZnJvbV9jb250ZW50czoxOwotCXVuc2lnbmVkIGRpcnR5X3N1Ym1vZHVsZXM6MTsKLQl1bnNpZ25lZCBpZ25vcmVfdW50cmFja2VkX2luX3N1Ym1vZHVsZXM6MTsKLQl1bnNpZ25lZCBpZ25vcmVfZGlydHlfc3VibW9kdWxlczoxOwotCXVuc2lnbmVkIG92ZXJyaWRlX3N1Ym1vZHVsZV9jb25maWc6MTsKLQl1bnNpZ25lZCBkaXJzdGF0X2J5X2xpbmU6MTsKLQl1bnNpZ25lZCBmdW5jY29udGV4dDoxOwotCXVuc2lnbmVkIGRlZmF1bHRfZm9sbG93X3JlbmFtZXM6MTsKLQl1bnNpZ25lZCBzdGF0X3dpdGhfc3VtbWFyeToxOwotCXVuc2lnbmVkIHN1cHByZXNzX2RpZmZfaGVhZGVyczoxOwotCXVuc2lnbmVkIGR1YWxfY29sb3JfZGlmZmVkX2RpZmZzOjE7CisKKwkvKioKKwkgKiBUZWxscyBpZiB0cmVlIHRyYXZlcnNhbCBkb25lIGJ5IHRyZWUtZGlmZiBzaG91bGQgcmVjdXJzaXZlbHkgZGVzY2VuZAorCSAqIGludG8gYSB0cmVlIG9iamVjdCBwYWlyIHRoYXQgYXJlIGRpZmZlcmVudCBpbiBwcmVpbWFnZSBhbmQgcG9zdGltYWdlIHNldC4KKwkgKi8KKwl1bnNpZ25lZCByZWN1cnNpdmU7CisJdW5zaWduZWQgdHJlZV9pbl9yZWN1cnNpdmU7CisKKwkvKiBBZmZlY3RzIHRoZSB3YXkgaG93IGEgZmlsZSB0aGF0IGlzIHNlZW1pbmdseSBiaW5hcnkgaXMgdHJlYXRlZC4gKi8KKwl1bnNpZ25lZCBiaW5hcnk7CisJdW5zaWduZWQgdGV4dDsKKworCS8qKgorCSAqIFRlbGxzIHRoZSBwYXRjaCBvdXRwdXQgZm9ybWF0IG5vdCB0byB1c2UgYWJicmV2aWF0ZWQgb2JqZWN0IG5hbWVzIG9uIHRoZQorCSAqICJpbmRleCIgbGluZXMuCisJICovCisJdW5zaWduZWQgZnVsbF9pbmRleDsKKworCS8qIEFmZmVjdHMgaWYgZGlmZi1maWxlcyBzaG93cyByZW1vdmVkIGZpbGVzLiAqLworCXVuc2lnbmVkIHNpbGVudF9vbl9yZW1vdmU7CisKKwkvKioKKwkgKiBUZWxscyB0aGUgZGlmZmNvcmUgbGlicmFyeSB0aGF0IHRoZSBjYWxsZXIgaXMgZmVlZGluZyB1bmNoYW5nZWQKKwkgKiBmaWxlcGFpcnMgdG8gYWxsb3cgY29waWVzIGZyb20gdW5tb2RpZmllZCBmaWxlcyBiZSBkZXRlY3RlZC4KKwkgKi8KKwl1bnNpZ25lZCBmaW5kX2NvcGllc19oYXJkZXI7CisKKwl1bnNpZ25lZCBmb2xsb3dfcmVuYW1lczsKKwl1bnNpZ25lZCByZW5hbWVfZW1wdHk7CisKKwkvKiBJbnRlcm5hbDsgdXNlZCBmb3Igb3B0aW1pemF0aW9uIHRvIHNlZSBpZiB0aGVyZSBpcyBhbnkgY2hhbmdlLiAqLworCXVuc2lnbmVkIGhhc19jaGFuZ2VzOworCisJdW5zaWduZWQgcXVpY2s7CisKKwkvKioKKwkgKiBUZWxscyBkaWZmLWZpbGVzIHRoYXQgdGhlIGlucHV0IGlzIG5vdCB0cmFja2VkIGZpbGVzIGJ1dCBmaWxlcyBpbiByYW5kb20KKwkgKiBsb2NhdGlvbnMgb24gdGhlIGZpbGVzeXN0ZW0uCisJICovCisJdW5zaWduZWQgbm9faW5kZXg7CisKKwkvKioKKwkgKiBUZWxscyBvdXRwdXQgcm91dGluZSB0aGF0IGl0IGlzIE9rIHRvIGNhbGwgdXNlciBzcGVjaWZpZWQgcGF0Y2ggb3V0cHV0CisJICogcm91dGluZS4gIFBsdW1iaW5nIGRpc2FibGVzIHRoaXMgdG8gZW5zdXJlIHN0YWJsZSBvdXRwdXQuCisJICovCisJdW5zaWduZWQgYWxsb3dfZXh0ZXJuYWw7CisKKwkvKioKKwkgKiBGb3IgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIHRoZSBjYWxsaW5nIHByb2dyYW0gYW5kIHRoZSBvcHRpb25zIHBhcnNlcjsKKwkgKiB0ZWxsIHRoZSBjYWxsaW5nIHByb2dyYW0gdG8gc2lnbmFsIHRoZSBwcmVzZW5jZSBvZiBkaWZmZXJlbmNlIHVzaW5nCisJICogcHJvZ3JhbSBleGl0IGNvZGUuCisJICovCisJdW5zaWduZWQgZXhpdF93aXRoX3N0YXR1czsKKworCS8qKgorCSAqIFRlbGxzIHRoZSBsaWJyYXJ5IHRoYXQgdGhlIGNhbGxpbmcgcHJvZ3JhbSBpcyBmZWVkaW5nIHRoZSBmaWxlcGFpcnMKKwkgKiByZXZlcnNlZDsgYG9uZWAgaXMgdHdvLCBhbmQgYHR3b2AgaXMgb25lLgorCSAqLworCXVuc2lnbmVkIHJldmVyc2VfZGlmZjsKKworCXVuc2lnbmVkIGNoZWNrX2ZhaWxlZDsKKwl1bnNpZ25lZCByZWxhdGl2ZV9uYW1lOworCXVuc2lnbmVkIGlnbm9yZV9zdWJtb2R1bGVzOworCXVuc2lnbmVkIGRpcnN0YXRfY3VtdWxhdGl2ZTsKKwl1bnNpZ25lZCBkaXJzdGF0X2J5X2ZpbGU7CisJdW5zaWduZWQgYWxsb3dfdGV4dGNvbnY7CisJdW5zaWduZWQgdGV4dGNvbnZfc2V0X3ZpYV9jbWRsaW5lOworCXVuc2lnbmVkIGRpZmZfZnJvbV9jb250ZW50czsKKwl1bnNpZ25lZCBkaXJ0eV9zdWJtb2R1bGVzOworCXVuc2lnbmVkIGlnbm9yZV91bnRyYWNrZWRfaW5fc3VibW9kdWxlczsKKwl1bnNpZ25lZCBpZ25vcmVfZGlydHlfc3VibW9kdWxlczsKKwl1bnNpZ25lZCBvdmVycmlkZV9zdWJtb2R1bGVfY29uZmlnOworCXVuc2lnbmVkIGRpcnN0YXRfYnlfbGluZTsKKwl1bnNpZ25lZCBmdW5jY29udGV4dDsKKwl1bnNpZ25lZCBkZWZhdWx0X2ZvbGxvd19yZW5hbWVzOworCXVuc2lnbmVkIHN0YXRfd2l0aF9zdW1tYXJ5OworCXVuc2lnbmVkIHN1cHByZXNzX2RpZmZfaGVhZGVyczsKKwl1bnNpZ25lZCBkdWFsX2NvbG9yX2RpZmZlZF9kaWZmczsKKwl1bnNpZ25lZCBzdXBwcmVzc19odW5rX2hlYWRlcl9saW5lX2NvdW50OwogfTsKIAogc3RhdGljIGlubGluZSB2b2lkIGRpZmZfZmxhZ3Nfb3Ioc3RydWN0IGRpZmZfZmxhZ3MgKmEsCkBAIC0xMjksMzYgKzIxOSw3MiBAQAogCURJRkZfU1VCTU9EVUxFX0lOTElORV9ESUZGCiB9OwogCisvKioKKyAqIHRoZSBzZXQgb2Ygb3B0aW9ucyB0aGUgY2FsbGluZyBwcm9ncmFtIHdhbnRzIHRvIGFmZmVjdCB0aGUgb3BlcmF0aW9uIG9mCisgKiBkaWZmY29yZSBsaWJyYXJ5IHdpdGguCisgKi8KIHN0cnVjdCBkaWZmX29wdGlvbnMgewogCWNvbnN0IGNoYXIgKm9yZGVyZmlsZTsKKworCS8qKgorCSAqIEEgY29uc3RhbnQgc3RyaW5nIChjYW4gYW5kIHR5cGljYWxseSBkb2VzIGNvbnRhaW4gbmV3bGluZXMgdG8gbG9vayBmb3IKKwkgKiBhIGJsb2NrIG9mIHRleHQsIG5vdCBqdXN0IGEgc2luZ2xlIGxpbmUpIHRvIGZpbHRlciBvdXQgdGhlIGZpbGVwYWlycworCSAqIHRoYXQgZG8gbm90IGNoYW5nZSB0aGUgbnVtYmVyIG9mIHN0cmluZ3MgY29udGFpbmVkIGluIGl0cyBwcmVpbWFnZSBhbmQKKwkgKiBwb3N0aW1hZ2Ugb2YgdGhlIGRpZmZfcXVldWUuCisJICovCiAJY29uc3QgY2hhciAqcGlja2F4ZTsKKwogCWNvbnN0IGNoYXIgKnNpbmdsZV9mb2xsb3c7CiAJY29uc3QgY2hhciAqYV9wcmVmaXgsICpiX3ByZWZpeDsKIAljb25zdCBjaGFyICpsaW5lX3ByZWZpeDsKIAlzaXplX3QgbGluZV9wcmVmaXhfbGVuZ3RoOworCisJLyoqCisJICogY29sbGVjdGlvbiBvZiBib29sZWFuIG9wdGlvbnMgdGhhdCBhZmZlY3RzIHRoZSBvcGVyYXRpb24sIGJ1dCBzb21lIGRvCisJICogbm90IGhhdmUgYW55dGhpbmcgdG8gZG8gd2l0aCB0aGUgZGlmZmNvcmUgbGlicmFyeS4KKwkgKi8KIAlzdHJ1Y3QgZGlmZl9mbGFncyBmbGFnczsKIAogCS8qIGRpZmYtZmlsdGVyIGJpdHMgKi8KIAl1bnNpZ25lZCBpbnQgZmlsdGVyOwogCiAJaW50IHVzZV9jb2xvcjsKKworCS8qIE51bWJlciBvZiBjb250ZXh0IGxpbmVzIHRvIGdlbmVyYXRlIGluIHBhdGNoIG91dHB1dC4gKi8KIAlpbnQgY29udGV4dDsKKwogCWludCBpbnRlcmh1bmtjb250ZXh0OworCisJLyogQWZmZWN0cyB0aGUgd2F5IGRldGVjdGlvbiBsb2dpYyBmb3IgY29tcGxldGUgcmV3cml0ZXMsIHJlbmFtZXMgYW5kCisJICogY29waWVzLgorCSAqLwogCWludCBicmVha19vcHQ7CiAJaW50IGRldGVjdF9yZW5hbWU7CisKIAlpbnQgaXJyZXZlcnNpYmxlX2RlbGV0ZTsKIAlpbnQgc2tpcF9zdGF0X3VubWF0Y2g7CiAJaW50IGxpbmVfdGVybWluYXRpb247CisKKwkvKiBUaGUgb3V0cHV0IGZvcm1hdCB1c2VkIHdoZW4gYGRpZmZfZmx1c2goKWAgaXMgcnVuLiAqLwogCWludCBvdXRwdXRfZm9ybWF0OworCiAJdW5zaWduZWQgcGlja2F4ZV9vcHRzOworCisJLyogQWZmZWN0cyB0aGUgd2F5IGRldGVjdGlvbiBsb2dpYyBmb3IgY29tcGxldGUgcmV3cml0ZXMsIHJlbmFtZXMgYW5kCisJICogY29waWVzLgorCSAqLwogCWludCByZW5hbWVfc2NvcmU7CiAJaW50IHJlbmFtZV9saW1pdDsKKwogCWludCBuZWVkZWRfcmVuYW1lX2xpbWl0OwogCWludCBkZWdyYWRlZF9jY190b19jOwogCWludCBzaG93X3JlbmFtZV9wcm9ncmVzczsKIAlpbnQgZGlyc3RhdF9wZXJtaWxsZTsKIAlpbnQgc2V0dXA7CisKKwkvKiBOdW1iZXIgb2YgaGV4ZGlnaXRzIHRvIGFiYnJldmlhdGUgcmF3IGZvcm1hdCBvdXRwdXQgdG8uICovCiAJaW50IGFiYnJldjsKKwogCWludCBpdGFfaW52aXNpYmxlX2luX2luZGV4OwogLyogd2hpdGUtc3BhY2UgZXJyb3IgaGlnaGxpZ2h0aW5nICovCiAjZGVmaW5lIFdTRUhfTkVXICgxPDwxMikKQEAgLTE2OCw3ICsyOTQsNyBAQAogCWNvbnN0IGNoYXIgKnByZWZpeDsKIAlpbnQgcHJlZml4X2xlbmd0aDsKIAljb25zdCBjaGFyICpzdGF0X3NlcDsKLQlsb25nIHhkbF9vcHRzOworCWludCB4ZGxfb3B0czsKIAogCS8qIHNlZSBEb2N1bWVudGF0aW9uL2RpZmYtb3B0aW9ucy50eHQgKi8KIAljaGFyICoqYW5jaG9yczsKQEAgLTE5MCw2ICszMTYsNyBAQAogCS8qIHRvIHN1cHBvcnQgaW50ZXJuYWwgZGlmZiByZWN1cnNpb24gYnkgLS1mb2xsb3cgaGFjayovCiAJaW50IGZvdW5kX2ZvbGxvdzsKIAorCS8qIENhbGxiYWNrIHdoaWNoIGFsbG93cyB0d2Vha2luZyB0aGUgb3B0aW9ucyBpbiBkaWZmX3NldHVwX2RvbmUoKS4gKi8KIAl2b2lkICgqc2V0X2RlZmF1bHQpKHN0cnVjdCBkaWZmX29wdGlvbnMgKik7CiAKIAlGSUxFICpmaWxlOwpAQCAtMjI1LDExICszNTIsMTUgQEAKIAogCS8qIFhERl9XSElURVNQQUNFX0ZMQUdTIHJlZ2FyZGluZyBibG9jayBkZXRlY3Rpb24gYXJlIHNldCBhdCAyLCAzLCA0ICovCiAJI2RlZmluZSBDT0xPUl9NT1ZFRF9XU19BTExPV19JTkRFTlRBVElPTl9DSEFOR0UgKDE8PDUpCi0JaW50IGNvbG9yX21vdmVkX3dzX2hhbmRsaW5nOworCSNkZWZpbmUgQ09MT1JfTU9WRURfV1NfRVJST1IgKDE8PDApCisJdW5zaWduZWQgY29sb3JfbW92ZWRfd3NfaGFuZGxpbmc7CiAKIAlzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbzsKKwlzdHJ1Y3Qgb3B0aW9uICpwYXJzZW9wdHM7CiB9OwogCit1bnNpZ25lZCBkaWZmX2ZpbHRlcl9iaXQoY2hhciBzdGF0dXMpOworCiB2b2lkIGRpZmZfZW1pdF9zdWJtb2R1bGVfZGVsKHN0cnVjdCBkaWZmX29wdGlvbnMgKm8sIGNvbnN0IGNoYXIgKmxpbmUpOwogdm9pZCBkaWZmX2VtaXRfc3VibW9kdWxlX2FkZChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvLCBjb25zdCBjaGFyICpsaW5lKTsKIHZvaWQgZGlmZl9lbWl0X3N1Ym1vZHVsZV91bnRyYWNrZWQoc3RydWN0IGRpZmZfb3B0aW9ucyAqbywgY29uc3QgY2hhciAqcGF0aCk7CkBAIC0yMzksNiArMzcwLDIyIEBACiB2b2lkIGRpZmZfZW1pdF9zdWJtb2R1bGVfcGlwZXRocm91Z2goc3RydWN0IGRpZmZfb3B0aW9ucyAqbywKIAkJCQkgICAgIGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4pOwogCitzdHJ1Y3QgZGlmZnN0YXRfdCB7CisJaW50IG5yOworCWludCBhbGxvYzsKKwlzdHJ1Y3QgZGlmZnN0YXRfZmlsZSB7CisJCWNoYXIgKmZyb21fbmFtZTsKKwkJY2hhciAqbmFtZTsKKwkJY2hhciAqcHJpbnRfbmFtZTsKKwkJY29uc3QgY2hhciAqY29tbWVudHM7CisJCXVuc2lnbmVkIGlzX3VubWVyZ2VkOjE7CisJCXVuc2lnbmVkIGlzX2JpbmFyeToxOworCQl1bnNpZ25lZCBpc19yZW5hbWVkOjE7CisJCXVuc2lnbmVkIGlzX2ludGVyZXN0aW5nOjE7CisJCXVpbnRtYXhfdCBhZGRlZCwgZGVsZXRlZDsKKwl9ICoqZmlsZXM7Cit9OworCiBlbnVtIGNvbG9yX2RpZmYgewogCURJRkZfUkVTRVQgPSAwLAogCURJRkZfQ09OVEVYVCA9IDEsCkBAIC0yNjQsNiArNDExLDcgQEAKIAlESUZGX0ZJTEVfT0xEX0JPTEQgPSAyMSwKIAlESUZGX0ZJTEVfTkVXX0JPTEQgPSAyMiwKIH07CisKIGNvbnN0IGNoYXIgKmRpZmZfZ2V0X2NvbG9yKGludCBkaWZmX3VzZV9jb2xvciwgZW51bSBjb2xvcl9kaWZmIGl4KTsKICNkZWZpbmUgZGlmZl9nZXRfY29sb3Jfb3B0KG8sIGl4KSBcCiAJZGlmZl9nZXRfY29sb3IoKG8pLT51c2VfY29sb3IsIGl4KQpAQCAtMjkzLDYgKzQ0MSw3IEBACiAJCWNoYXIgc3RhdHVzOwogCQl1bnNpZ25lZCBpbnQgbW9kZTsKIAkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CisJCXN0cnVjdCBzdHJidWYgcGF0aDsKIAl9IHBhcmVudFtGTEVYX0FSUkFZXTsKIH07CiAjZGVmaW5lIGNvbWJpbmVfZGlmZl9wYXRoX3NpemUobiwgbCkgXApAQCAtMzI3LDYgKzQ3NiwxMCBAQAogCiBzdHJ1Y3QgZGlmZl9maWxlcGFpciAqZGlmZl91bm1lcmdlKHN0cnVjdCBkaWZmX29wdGlvbnMgKiwgY29uc3QgY2hhciAqcGF0aCk7CiAKK3ZvaWQgY29tcHV0ZV9kaWZmc3RhdChzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zLCBzdHJ1Y3QgZGlmZnN0YXRfdCAqZGlmZnN0YXQsCisJCSAgICAgIHN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCAqcSk7Cit2b2lkIGZyZWVfZGlmZnN0YXRfaW5mbyhzdHJ1Y3QgZGlmZnN0YXRfdCAqZGlmZnN0YXQpOworCiAjZGVmaW5lIERJRkZfU0VUVVBfUkVWRVJTRSAgICAgIAkxCiAjZGVmaW5lIERJRkZfU0VUVVBfVVNFX1NJWkVfQ0FDSEUJNAogCkBAIC0zNjYsNyArNTE5LDcgQEAKICNkZWZpbmUgRElGRl9QSUNLQVhFX0lHTk9SRV9DQVNFCTMyCiAKIHZvaWQgZGlmZmNvcmVfc3RkKHN0cnVjdCBkaWZmX29wdGlvbnMgKik7Ci12b2lkIGRpZmZjb3JlX2ZpeF9kaWZmX2luZGV4KHN0cnVjdCBkaWZmX29wdGlvbnMgKik7Cit2b2lkIGRpZmZjb3JlX2ZpeF9kaWZmX2luZGV4KHZvaWQpOwogCiAjZGVmaW5lIENPTU1PTl9ESUZGX09QVElPTlNfSEVMUCBcCiAiXG5jb21tb24gZGlmZiBvcHRpb25zOlxuIiBcCkBAIC00MzAsMTMgKzU4MywxNiBAQAogaW50IHJ1bl9kaWZmX2luZGV4KHN0cnVjdCByZXZfaW5mbyAqcmV2cywgaW50IGNhY2hlZCk7CiAKIGludCBkb19kaWZmX2NhY2hlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKiwgc3RydWN0IGRpZmZfb3B0aW9ucyAqKTsKLWludCBkaWZmX2ZsdXNoX3BhdGNoX2lkKHN0cnVjdCBkaWZmX29wdGlvbnMgKiwgc3RydWN0IG9iamVjdF9pZCAqLCBpbnQpOworaW50IGRpZmZfZmx1c2hfcGF0Y2hfaWQoc3RydWN0IGRpZmZfb3B0aW9ucyAqLCBzdHJ1Y3Qgb2JqZWN0X2lkICosIGludCwgaW50KTsKK3ZvaWQgZmx1c2hfb25lX2h1bmsoc3RydWN0IG9iamVjdF9pZCAqcmVzdWx0LCBnaXRfaGFzaF9jdHggKmN0eCk7CiAKIGludCBkaWZmX3Jlc3VsdF9jb2RlKHN0cnVjdCBkaWZmX29wdGlvbnMgKiwgaW50KTsKIAotdm9pZCBkaWZmX25vX2luZGV4KHN0cnVjdCByZXBvc2l0b3J5ICosIHN0cnVjdCByZXZfaW5mbyAqLCBpbnQsIGNvbnN0IGNoYXIgKiopOworaW50IGRpZmZfbm9faW5kZXgoc3RydWN0IHJldl9pbmZvICosCisJCSAgaW50IGltcGxpY2l0X25vX2luZGV4LCBpbnQsIGNvbnN0IGNoYXIgKiopOwogCi1pbnQgaW5kZXhfZGlmZmVyc19mcm9tKGNvbnN0IGNoYXIgKmRlZiwgY29uc3Qgc3RydWN0IGRpZmZfZmxhZ3MgKmZsYWdzLAoraW50IGluZGV4X2RpZmZlcnNfZnJvbShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqZGVmLAorCQkgICAgICAgY29uc3Qgc3RydWN0IGRpZmZfZmxhZ3MgKmZsYWdzLAogCQkgICAgICAgaW50IGl0YV9pbnZpc2libGVfaW5faW5kZXgpOwogCiAvKgpAQCAtNDYwLDcgKzYxNiw3IEBACiAgKiBhbmQgb25seSBpZiBpdCBoYXMgdGV4dGNvbnYgZW5hYmxlZCAob3RoZXJ3aXNlIHJldHVybiBOVUxMKS4gVGhlIHJlc3VsdAogICogY2FuIGJlIHBhc3NlZCB0byBmaWxsX3RleHRjb252KCkuCiAgKi8KLXN0cnVjdCB1c2VyZGlmZl9kcml2ZXIgKmdldF90ZXh0Y29udihzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKK3N0cnVjdCB1c2VyZGlmZl9kcml2ZXIgKmdldF90ZXh0Y29udihzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKIAkJCQkgICAgIHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpvbmUpOwogCiAvKgpkaWZmIC0tZ2l0IGEvZGlmZmNvcmUtYnJlYWsuYyBiL2RpZmZjb3JlLWJyZWFrLmMKaW5kZXggODc1YWVmZC4uOWQyMGE2YSAxMDA2NDQKLS0tIGEvZGlmZmNvcmUtYnJlYWsuYworKysgYi9kaWZmY29yZS1icmVhay5jCkBAIC0yODYsMTcgKzI4NiwxNyBAQAogCQkJCQkvKiBQZWVyIHN1cnZpdmVkLiAgTWVyZ2UgdGhlbSAqLwogCQkJCQltZXJnZV9icm9rZW4ocCwgcHAsICZvdXRxKTsKIAkJCQkJcS0+cXVldWVbal0gPSBOVUxMOwotCQkJCQlicmVhazsKKwkJCQkJZ290byBuZXh0OwogCQkJCX0KIAkJCX0KLQkJCWlmIChxLT5uciA8PSBqKQotCQkJCS8qIFRoZSBwZWVyIGRpZCBub3Qgc3Vydml2ZSwgc28gd2Uga2VlcAotCQkJCSAqIGl0IGluIHRoZSBvdXRwdXQuCi0JCQkJICovCi0JCQkJZGlmZl9xKCZvdXRxLCBwKTsKKwkJCS8qIFRoZSBwZWVyIGRpZCBub3Qgc3Vydml2ZSwgc28gd2Uga2VlcAorCQkJICogaXQgaW4gdGhlIG91dHB1dC4KKwkJCSAqLworCQkJZGlmZl9xKCZvdXRxLCBwKTsKIAkJfQogCQllbHNlCiAJCQlkaWZmX3EoJm91dHEsIHApOworbmV4dDo7CiAJfQogCWZyZWUocS0+cXVldWUpOwogCSpxID0gb3V0cTsKZGlmZiAtLWdpdCBhL2RpZmZjb3JlLXBpY2theGUuYyBiL2RpZmZjb3JlLXBpY2theGUuYwppbmRleCA2OWZjNTVlLi5hOWM2ZDYwIDEwMDY0NAotLS0gYS9kaWZmY29yZS1waWNrYXhlLmMKKysrIGIvZGlmZmNvcmUtcGlja2F4ZS5jCkBAIC0xNDAsOCArMTQwLDggQEAKIAkJcmV0dXJuIDA7CiAKIAlpZiAoby0+ZmxhZ3MuYWxsb3dfdGV4dGNvbnYpIHsKLQkJdGV4dGNvbnZfb25lID0gZ2V0X3RleHRjb252KG8tPnJlcG8tPmluZGV4LCBwLT5vbmUpOwotCQl0ZXh0Y29udl90d28gPSBnZXRfdGV4dGNvbnYoby0+cmVwby0+aW5kZXgsIHAtPnR3byk7CisJCXRleHRjb252X29uZSA9IGdldF90ZXh0Y29udihvLT5yZXBvLCBwLT5vbmUpOworCQl0ZXh0Y29udl90d28gPSBnZXRfdGV4dGNvbnYoby0+cmVwbywgcC0+dHdvKTsKIAl9CiAKIAkvKgpAQCAtMTU0LDYgKzE1NCwxMiBAQAogCWlmICh0ZXh0Y29udl9vbmUgPT0gdGV4dGNvbnZfdHdvICYmIGRpZmZfdW5tb2RpZmllZF9wYWlyKHApKQogCQlyZXR1cm4gMDsKIAorCWlmICgoby0+cGlja2F4ZV9vcHRzICYgRElGRl9QSUNLQVhFX0tJTkRfRykgJiYKKwkgICAgIW8tPmZsYWdzLnRleHQgJiYKKwkgICAgKCghdGV4dGNvbnZfb25lICYmIGRpZmZfZmlsZXNwZWNfaXNfYmluYXJ5KG8tPnJlcG8sIHAtPm9uZSkpIHx8CisJICAgICAoIXRleHRjb252X3R3byAmJiBkaWZmX2ZpbGVzcGVjX2lzX2JpbmFyeShvLT5yZXBvLCBwLT50d28pKSkpCisJCXJldHVybiAwOworCiAJbWYxLnNpemUgPSBmaWxsX3RleHRjb252KG8tPnJlcG8sIHRleHRjb252X29uZSwgcC0+b25lLCAmbWYxLnB0cik7CiAJbWYyLnNpemUgPSBmaWxsX3RleHRjb252KG8tPnJlcG8sIHRleHRjb252X3R3bywgcC0+dHdvLCAmbWYyLnB0cik7CiAKZGlmZiAtLWdpdCBhL2RpZmZjb3JlLXJlbmFtZS5jIGIvZGlmZmNvcmUtcmVuYW1lLmMKaW5kZXggMDdiZDM0Yi4uZTE4OWY0MCAxMDA2NDQKLS0tIGEvZGlmZmNvcmUtcmVuYW1lLmMKKysrIGIvZGlmZmNvcmUtcmVuYW1lLmMKQEAgLTIzLDcgKzIzLDcgQEAKIAlmaXJzdCA9IDA7CiAJbGFzdCA9IHJlbmFtZV9kc3RfbnI7CiAJd2hpbGUgKGxhc3QgPiBmaXJzdCkgewotCQlpbnQgbmV4dCA9IChsYXN0ICsgZmlyc3QpID4+IDE7CisJCWludCBuZXh0ID0gZmlyc3QgKyAoKGxhc3QgLSBmaXJzdCkgPj4gMSk7CiAJCXN0cnVjdCBkaWZmX3JlbmFtZV9kc3QgKmRzdCA9ICYocmVuYW1lX2RzdFtuZXh0XSk7CiAJCWludCBjbXAgPSBzdHJjbXAodHdvLT5wYXRoLCBkc3QtPnR3by0+cGF0aCk7CiAJCWlmICghY21wKQpAQCAtODMsNyArODMsNyBAQAogCWZpcnN0ID0gMDsKIAlsYXN0ID0gcmVuYW1lX3NyY19ucjsKIAl3aGlsZSAobGFzdCA+IGZpcnN0KSB7Ci0JCWludCBuZXh0ID0gKGxhc3QgKyBmaXJzdCkgPj4gMTsKKwkJaW50IG5leHQgPSBmaXJzdCArICgobGFzdCAtIGZpcnN0KSA+PiAxKTsKIAkJc3RydWN0IGRpZmZfcmVuYW1lX3NyYyAqc3JjID0gJihyZW5hbWVfc3JjW25leHRdKTsKIAkJaW50IGNtcCA9IHN0cmNtcChvbmUtPnBhdGgsIHNyYy0+cC0+b25lLT5wYXRoKTsKIAkJaWYgKCFjbXApCkBAIC0yNjMsMTAgKzI2MywxMCBAQAogCWlmICghZmlsZXNwZWMtPm9pZF92YWxpZCkgewogCQlpZiAoZGlmZl9wb3B1bGF0ZV9maWxlc3BlYyhyLCBmaWxlc3BlYywgMCkpCiAJCQlyZXR1cm4gMDsKLQkJaGFzaF9vYmplY3RfZmlsZShmaWxlc3BlYy0+ZGF0YSwgZmlsZXNwZWMtPnNpemUsICJibG9iIiwKLQkJCQkgJmZpbGVzcGVjLT5vaWQpOworCQloYXNoX29iamVjdF9maWxlKHItPmhhc2hfYWxnbywgZmlsZXNwZWMtPmRhdGEsIGZpbGVzcGVjLT5zaXplLAorCQkJCSAiYmxvYiIsICZmaWxlc3BlYy0+b2lkKTsKIAl9Ci0JcmV0dXJuIHNoYTFoYXNoKGZpbGVzcGVjLT5vaWQuaGFzaCk7CisJcmV0dXJuIG9pZGhhc2goJmZpbGVzcGVjLT5vaWQpOwogfQogCiBzdGF0aWMgaW50IGZpbmRfaWRlbnRpY2FsX2ZpbGVzKHN0cnVjdCBoYXNobWFwICpzcmNzLApAQCAtMjc0LDE4ICsyNzQsMTcgQEAKIAkJCQlzdHJ1Y3QgZGlmZl9vcHRpb25zICpvcHRpb25zKQogewogCWludCByZW5hbWVzID0gMDsKLQogCXN0cnVjdCBkaWZmX2ZpbGVzcGVjICp0YXJnZXQgPSByZW5hbWVfZHN0W2RzdF9pbmRleF0udHdvOwogCXN0cnVjdCBmaWxlX3NpbWlsYXJpdHkgKnAsICpiZXN0ID0gTlVMTDsKIAlpbnQgaSA9IDEwMCwgYmVzdF9zY29yZSA9IC0xOworCXVuc2lnbmVkIGludCBoYXNoID0gaGFzaF9maWxlc3BlYyhvcHRpb25zLT5yZXBvLCB0YXJnZXQpOwogCiAJLyoKIAkgKiBGaW5kIHRoZSBiZXN0IHNvdXJjZSBtYXRjaCBmb3Igc3BlY2lmaWVkIGRlc3RpbmF0aW9uLgogCSAqLwotCXAgPSBoYXNobWFwX2dldF9mcm9tX2hhc2goc3JjcywKLQkJCQkgIGhhc2hfZmlsZXNwZWMob3B0aW9ucy0+cmVwbywgdGFyZ2V0KSwKLQkJCQkgIE5VTEwpOwotCWZvciAoOyBwOyBwID0gaGFzaG1hcF9nZXRfbmV4dChzcmNzLCBwKSkgeworCXAgPSBoYXNobWFwX2dldF9lbnRyeV9mcm9tX2hhc2goc3JjcywgaGFzaCwgTlVMTCwKKwkJCQkJc3RydWN0IGZpbGVfc2ltaWxhcml0eSwgZW50cnkpOworCWhhc2htYXBfZm9yX2VhY2hfZW50cnlfZnJvbShzcmNzLCBwLCBlbnRyeSkgewogCQlpbnQgc2NvcmU7CiAJCXN0cnVjdCBkaWZmX2ZpbGVzcGVjICpzb3VyY2UgPSBwLT5maWxlc3BlYzsKIApAQCAtMzI5LDggKzMyOCw4IEBACiAJZW50cnktPmluZGV4ID0gaW5kZXg7CiAJZW50cnktPmZpbGVzcGVjID0gZmlsZXNwZWM7CiAKLQloYXNobWFwX2VudHJ5X2luaXQoZW50cnksIGhhc2hfZmlsZXNwZWMociwgZmlsZXNwZWMpKTsKLQloYXNobWFwX2FkZCh0YWJsZSwgZW50cnkpOworCWhhc2htYXBfZW50cnlfaW5pdCgmZW50cnktPmVudHJ5LCBoYXNoX2ZpbGVzcGVjKHIsIGZpbGVzcGVjKSk7CisJaGFzaG1hcF9hZGQodGFibGUsICZlbnRyeS0+ZW50cnkpOwogfQogCiAvKgpAQCAtMzU5LDcgKzM1OCw3IEBACiAJCXJlbmFtZXMgKz0gZmluZF9pZGVudGljYWxfZmlsZXMoJmZpbGVfdGFibGUsIGksIG9wdGlvbnMpOwogCiAJLyogRnJlZSB0aGUgaGFzaCBkYXRhIHN0cnVjdHVyZSBhbmQgZW50cmllcyAqLwotCWhhc2htYXBfZnJlZSgmZmlsZV90YWJsZSwgMSk7CisJaGFzaG1hcF9mcmVlX2VudHJpZXMoJmZpbGVfdGFibGUsIHN0cnVjdCBmaWxlX3NpbWlsYXJpdHksIGVudHJ5KTsKIAogCXJldHVybiByZW5hbWVzOwogfQpAQCAtNTg1LDcgKzU4NCw3IEBACiAJc3RvcF9wcm9ncmVzcygmcHJvZ3Jlc3MpOwogCiAJLyogY29zdCBtYXRyaXggc29ydGVkIGJ5IG1vc3QgdG8gbGVhc3Qgc2ltaWxhciBwYWlyICovCi0JUVNPUlQobXgsIGRzdF9jbnQgKiBOVU1fQ0FORElEQVRFX1BFUl9EU1QsIHNjb3JlX2NvbXBhcmUpOworCVNUQUJMRV9RU09SVChteCwgZHN0X2NudCAqIE5VTV9DQU5ESURBVEVfUEVSX0RTVCwgc2NvcmVfY29tcGFyZSk7CiAKIAlyZW5hbWVfY291bnQgKz0gZmluZF9yZW5hbWVzKG14LCBkc3RfY250LCBtaW5pbXVtX3Njb3JlLCAwKTsKIAlpZiAoZGV0ZWN0X3JlbmFtZSA9PSBESUZGX0RFVEVDVF9DT1BZKQpkaWZmIC0tZ2l0IGEvZGlmZmNvcmUuaCBiL2RpZmZjb3JlLmgKaW5kZXggYjY1MTA2MS4uN2MwNzM0NyAxMDA2NDQKLS0tIGEvZGlmZmNvcmUuaAorKysgYi9kaWZmY29yZS5oCkBAIC0yOCw2ICsyOCwxMiBAQAogCiAjZGVmaW5lIE1JTklNVU1fQlJFQUtfU0laRSAgICAgNDAwIC8qIGRvIG5vdCBicmVhayBhIGZpbGUgc21hbGxlciB0aGFuIHRoaXMgKi8KIAorLyoqCisgKiB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gZm9yIGEgc2luZ2xlIGZpbGUgKGJsb2IpLiAgSXQgcmVjb3JkcyB0aGUgYmxvYgorICogb2JqZWN0IG5hbWUgKGlmIGtub3duIC0tIGZvciBhIHdvcmsgdHJlZSBmaWxlIGl0IHR5cGljYWxseSBpcyBhIE5VTCBTSEEtMSksCisgKiBmaWxlbW9kZSBhbmQgcGF0aG5hbWUuICBUaGlzIGlzIHdoYXQgdGhlIGBkaWZmX2FkZHJlbW92ZSgpYCwgYGRpZmZfY2hhbmdlKClgCisgKiBhbmQgYGRpZmZfdW5tZXJnZSgpYCBzeW50aGVzaXplIGFuZCBmZWVkIGBkaWZmX3F1ZXVlKClgIGZ1bmN0aW9uIHdpdGguCisgKi8KIHN0cnVjdCBkaWZmX2ZpbGVzcGVjIHsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAljaGFyICpwYXRoOwpAQCAtNjYsNiArNzIsMTcgQEAKIHZvaWQgZGlmZl9mcmVlX2ZpbGVzcGVjX2Jsb2Ioc3RydWN0IGRpZmZfZmlsZXNwZWMgKik7CiBpbnQgZGlmZl9maWxlc3BlY19pc19iaW5hcnkoc3RydWN0IHJlcG9zaXRvcnkgKiwgc3RydWN0IGRpZmZfZmlsZXNwZWMgKik7CiAKKy8qKgorICogVGhpcyByZWNvcmRzIGEgcGFpciBvZiBgc3RydWN0IGRpZmZfZmlsZXNwZWNgOyB0aGUgZmlsZXNwZWMgZm9yIGEgZmlsZSBpbgorICogdGhlICJvbGQiIHNldCAoaS5lLiBwcmVpbWFnZSkgaXMgY2FsbGVkIGBvbmVgLCBhbmQgdGhlIGZpbGVzcGVjIGZvciBhIGZpbGUKKyAqIGluIHRoZSAibmV3IiBzZXQgKGkuZS4gcG9zdGltYWdlKSBpcyBjYWxsZWQgYHR3b2AuICBBIGNoYW5nZSB0aGF0IHJlcHJlc2VudHMKKyAqIGZpbGUgY3JlYXRpb24gaGFzIE5VTEwgaW4gYG9uZWAsIGFuZCBmaWxlIGRlbGV0aW9uIGhhcyBOVUxMIGluIGB0d29gLgorICoKKyAqIEEgYGZpbGVwYWlyYCBzdGFydHMgcG9pbnRpbmcgYXQgYG9uZWAgYW5kIGB0d29gIHRoYXQgYXJlIGZyb20gdGhlIHNhbWUKKyAqIGZpbGVuYW1lLCBidXQgYGRpZmZjb3JlX3N0ZCgpYCBjYW4gYnJlYWsgcGFpcnMgYW5kIG1hdGNoIGNvbXBvbmVudCBmaWxlc3BlY3MKKyAqIHdpdGggb3RoZXIgZmlsZXNwZWNzIGZyb20gYSBkaWZmZXJlbnQgZmlsZXBhaXIgdG8gZm9ybSBuZXcgZmlsZXBhaXIuIFRoaXMgaXMKKyAqIGNhbGxlZCAncmVuYW1lIGRldGVjdGlvbicuCisgKi8KIHN0cnVjdCBkaWZmX2ZpbGVwYWlyIHsKIAlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqb25lOwogCXN0cnVjdCBkaWZmX2ZpbGVzcGVjICp0d287CkBAIC03Nyw2ICs5NCw3IEBACiAJdW5zaWduZWQgZG9uZV9za2lwX3N0YXRfdW5tYXRjaCA6IDE7CiAJdW5zaWduZWQgc2tpcF9zdGF0X3VubWF0Y2hfcmVzdWx0IDogMTsKIH07CisKICNkZWZpbmUgRElGRl9QQUlSX1VOTUVSR0VEKHApICgocCktPmlzX3VubWVyZ2VkKQogCiAjZGVmaW5lIERJRkZfUEFJUl9SRU5BTUUocCkgKChwKS0+cmVuYW1lZF9wYWlyKQpAQCAtOTQsMTEgKzExMiwyNSBAQAogCiBpbnQgZGlmZl91bm1vZGlmaWVkX3BhaXIoc3RydWN0IGRpZmZfZmlsZXBhaXIgKik7CiAKKy8qKgorICogVGhpcyBpcyBhIGNvbGxlY3Rpb24gb2YgZmlsZXBhaXJzLiAgTm90YWJsZSBtZW1iZXJzIGFyZToKKyAqCisgKiAtIGBxdWV1ZWA6CisgKiBBbiBhcnJheSBvZiBwb2ludGVycyB0byBgc3RydWN0IGRpZmZfZmlsZXBhaXJgLiBUaGlzIGR5bmFtaWNhbGx5IGdyb3dzIGFzCisgKiB5b3UgYWRkIGZpbGVwYWlyczsKKyAqCisgKiAtIGBhbGxvY2A6CisgKiBUaGUgYWxsb2NhdGVkIHNpemUgb2YgdGhlIGBxdWV1ZWAgYXJyYXk7CisgKgorICogLSBgbnJgOgorICogVGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgYHF1ZXVlYCBhcnJheS4KKyAqLwogc3RydWN0IGRpZmZfcXVldWVfc3RydWN0IHsKIAlzdHJ1Y3QgZGlmZl9maWxlcGFpciAqKnF1ZXVlOwogCWludCBhbGxvYzsKIAlpbnQgbnI7CiB9OworCiAjZGVmaW5lIERJRkZfUVVFVUVfQ0xFQVIocSkgXAogCWRvIHsgXAogCQkocSktPnF1ZXVlID0gTlVMTDsgXApkaWZmIC0tZ2l0IGEvZGlyLWl0ZXJhdG9yLmMgYi9kaXItaXRlcmF0b3IuYwppbmRleCBmMmRjZDgyLi5iMTdlOWY5IDEwMDY0NAotLS0gYS9kaXItaXRlcmF0b3IuYworKysgYi9kaXItaXRlcmF0b3IuYwpAQCAtNCw4ICs0LDYgQEAKICNpbmNsdWRlICJkaXItaXRlcmF0b3IuaCIKIAogc3RydWN0IGRpcl9pdGVyYXRvcl9sZXZlbCB7Ci0JaW50IGluaXRpYWxpemVkOwotCiAJRElSICpkaXI7CiAKIAkvKgpAQCAtMTMsMTYgKzExLDYgQEAKIAkgKiAoaW5jbHVkaW5nIGEgdHJhaWxpbmcgJy8nKToKIAkgKi8KIAlzaXplX3QgcHJlZml4X2xlbjsKLQotCS8qCi0JICogVGhlIGxhc3QgYWN0aW9uIHRoYXQgaGFzIGJlZW4gdGFrZW4gd2l0aCB0aGUgY3VycmVudCBlbnRyeQotCSAqIChuZWVkZWQgZm9yIGRpcmVjdG9yaWVzLCB3aGljaCBoYXZlIHRvIGJlIGluY2x1ZGVkIGluIHRoZQotCSAqIGl0ZXJhdGlvbiBhbmQgYWxzbyBpdGVyYXRlZCBpbnRvKToKLQkgKi8KLQllbnVtIHsKLQkJRElSX1NUQVRFX0lURVIsCi0JCURJUl9TVEFURV9SRUNVUlNFCi0JfSBkaXJfc3RhdGU7CiB9OwogCiAvKgpAQCAtMzQsOSArMjIsMTEgQEAKIAlzdHJ1Y3QgZGlyX2l0ZXJhdG9yIGJhc2U7CiAKIAkvKgotCSAqIFRoZSBudW1iZXIgb2YgbGV2ZWxzIGN1cnJlbnRseSBvbiB0aGUgc3RhY2suIFRoaXMgaXMgYWx3YXlzCi0JICogYXQgbGVhc3QgMSwgYmVjYXVzZSB3aGVuIGl0IGJlY29tZXMgemVybyB0aGUgaXRlcmF0aW9uIGlzCi0JICogZW5kZWQgYW5kIHRoaXMgc3RydWN0IGlzIGZyZWVkLgorCSAqIFRoZSBudW1iZXIgb2YgbGV2ZWxzIGN1cnJlbnRseSBvbiB0aGUgc3RhY2suIEFmdGVyIHRoZSBmaXJzdAorCSAqIGNhbGwgdG8gZGlyX2l0ZXJhdG9yX2JlZ2luKCksIGlmIGl0IHN1Y2NlZWRzIHRvIG9wZW4gdGhlCisJICogZmlyc3QgbGV2ZWwncyBkaXIsIHRoaXMgd2lsbCBhbHdheXMgYmUgYXQgbGVhc3QgMS4gVGhlbiwKKwkgKiB3aGVuIGl0IGNvbWVzIHRvIHplcm8gdGhlIGl0ZXJhdGlvbiBpcyBlbmRlZCBhbmQgdGhpcworCSAqIHN0cnVjdCBpcyBmcmVlZC4KIAkgKi8KIAlzaXplX3QgbGV2ZWxzX25yOwogCkBAIC00OCwxMTcgKzM4LDE0MiBAQAogCSAqIHRoYXQgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGlzIGl0ZXJhdGlvbi4KIAkgKi8KIAlzdHJ1Y3QgZGlyX2l0ZXJhdG9yX2xldmVsICpsZXZlbHM7CisKKwkvKiBDb21iaW5hdGlvbiBvZiBmbGFncyBmb3IgdGhpcyBkaXItaXRlcmF0b3IgKi8KKwl1bnNpZ25lZCBpbnQgZmxhZ3M7CiB9OwogCisvKgorICogUHVzaCBhIGxldmVsIGluIHRoZSBpdGVyIHN0YWNrIGFuZCBpbml0aWFsaXplIGl0IHdpdGggaW5mb3JtYXRpb24gZnJvbQorICogdGhlIGRpcmVjdG9yeSBwb2ludGVkIGJ5IGl0ZXItPmJhc2UtPnBhdGguIEl0IGlzIGFzc3VtZWQgdGhhdCB0aGlzCisgKiBzdHJidWYgcG9pbnRzIHRvIGEgdmFsaWQgZGlyZWN0b3J5IHBhdGguIFJldHVybiAwIG9uIHN1Y2Nlc3MgYW5kIC0xCisgKiBvdGhlcndpc2UsIHNldHRpbmcgZXJybm8gYWNjb3JkaW5nbHkgYW5kIGxlYXZpbmcgdGhlIHN0YWNrIHVuY2hhbmdlZC4KKyAqLworc3RhdGljIGludCBwdXNoX2xldmVsKHN0cnVjdCBkaXJfaXRlcmF0b3JfaW50ICppdGVyKQoreworCXN0cnVjdCBkaXJfaXRlcmF0b3JfbGV2ZWwgKmxldmVsOworCisJQUxMT0NfR1JPVyhpdGVyLT5sZXZlbHMsIGl0ZXItPmxldmVsc19uciArIDEsIGl0ZXItPmxldmVsc19hbGxvYyk7CisJbGV2ZWwgPSAmaXRlci0+bGV2ZWxzW2l0ZXItPmxldmVsc19ucisrXTsKKworCWlmICghaXNfZGlyX3NlcChpdGVyLT5iYXNlLnBhdGguYnVmW2l0ZXItPmJhc2UucGF0aC5sZW4gLSAxXSkpCisJCXN0cmJ1Zl9hZGRjaCgmaXRlci0+YmFzZS5wYXRoLCAnLycpOworCWxldmVsLT5wcmVmaXhfbGVuID0gaXRlci0+YmFzZS5wYXRoLmxlbjsKKworCWxldmVsLT5kaXIgPSBvcGVuZGlyKGl0ZXItPmJhc2UucGF0aC5idWYpOworCWlmICghbGV2ZWwtPmRpcikgeworCQlpbnQgc2F2ZWRfZXJybm8gPSBlcnJubzsKKwkJaWYgKGVycm5vICE9IEVOT0VOVCkgeworCQkJd2FybmluZ19lcnJubygiZXJyb3Igb3BlbmluZyBkaXJlY3RvcnkgJyVzJyIsCisJCQkJICAgICAgaXRlci0+YmFzZS5wYXRoLmJ1Zik7CisJCX0KKwkJaXRlci0+bGV2ZWxzX25yLS07CisJCWVycm5vID0gc2F2ZWRfZXJybm87CisJCXJldHVybiAtMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFBvcCB0aGUgdG9wIGxldmVsIG9uIHRoZSBpdGVyIHN0YWNrLCByZWxlYXNpbmcgYW55IHJlc291cmNlcyBhc3NvY2lhdGVkCisgKiB3aXRoIGl0LiBSZXR1cm4gdGhlIG5ldyB2YWx1ZSBvZiBpdGVyLT5sZXZlbHNfbnIuCisgKi8KK3N0YXRpYyBpbnQgcG9wX2xldmVsKHN0cnVjdCBkaXJfaXRlcmF0b3JfaW50ICppdGVyKQoreworCXN0cnVjdCBkaXJfaXRlcmF0b3JfbGV2ZWwgKmxldmVsID0KKwkJJml0ZXItPmxldmVsc1tpdGVyLT5sZXZlbHNfbnIgLSAxXTsKKworCWlmIChsZXZlbC0+ZGlyICYmIGNsb3NlZGlyKGxldmVsLT5kaXIpKQorCQl3YXJuaW5nX2Vycm5vKCJlcnJvciBjbG9zaW5nIGRpcmVjdG9yeSAnJXMnIiwKKwkJCSAgICAgIGl0ZXItPmJhc2UucGF0aC5idWYpOworCWxldmVsLT5kaXIgPSBOVUxMOworCisJcmV0dXJuIC0taXRlci0+bGV2ZWxzX25yOworfQorCisvKgorICogUG9wdWxhdGUgaXRlci0+YmFzZSB3aXRoIHRoZSBuZWNlc3NhcnkgaW5mb3JtYXRpb24gb24gdGhlIG5leHQgaXRlcmF0aW9uCisgKiBlbnRyeSwgcmVwcmVzZW50ZWQgYnkgdGhlIGdpdmVuIGRpcmVudCBkZS4gUmV0dXJuIDAgb24gc3VjY2VzcyBhbmQgLTEKKyAqIG90aGVyd2lzZSwgc2V0dGluZyBlcnJubyBhY2NvcmRpbmdseS4KKyAqLworc3RhdGljIGludCBwcmVwYXJlX25leHRfZW50cnlfZGF0YShzdHJ1Y3QgZGlyX2l0ZXJhdG9yX2ludCAqaXRlciwKKwkJCQkgICBzdHJ1Y3QgZGlyZW50ICpkZSkKK3sKKwlpbnQgZXJyLCBzYXZlZF9lcnJubzsKKworCXN0cmJ1Zl9hZGRzdHIoJml0ZXItPmJhc2UucGF0aCwgZGUtPmRfbmFtZSk7CisJLyoKKwkgKiBXZSBoYXZlIHRvIHJlc2V0IHRoZXNlIGJlY2F1c2UgdGhlIHBhdGggc3RyYnVmIG1pZ2h0IGhhdmUKKwkgKiBiZWVuIHJlYWxsb2MoKWVkIGF0IHRoZSBwcmV2aW91cyBzdHJidWZfYWRkc3RyKCkuCisJICovCisJaXRlci0+YmFzZS5yZWxhdGl2ZV9wYXRoID0gaXRlci0+YmFzZS5wYXRoLmJ1ZiArCisJCQkJICAgaXRlci0+bGV2ZWxzWzBdLnByZWZpeF9sZW47CisJaXRlci0+YmFzZS5iYXNlbmFtZSA9IGl0ZXItPmJhc2UucGF0aC5idWYgKworCQkJICAgICAgaXRlci0+bGV2ZWxzW2l0ZXItPmxldmVsc19uciAtIDFdLnByZWZpeF9sZW47CisKKwlpZiAoaXRlci0+ZmxhZ3MgJiBESVJfSVRFUkFUT1JfRk9MTE9XX1NZTUxJTktTKQorCQllcnIgPSBzdGF0KGl0ZXItPmJhc2UucGF0aC5idWYsICZpdGVyLT5iYXNlLnN0KTsKKwllbHNlCisJCWVyciA9IGxzdGF0KGl0ZXItPmJhc2UucGF0aC5idWYsICZpdGVyLT5iYXNlLnN0KTsKKworCXNhdmVkX2Vycm5vID0gZXJybm87CisJaWYgKGVyciAmJiBlcnJubyAhPSBFTk9FTlQpCisJCXdhcm5pbmdfZXJybm8oImZhaWxlZCB0byBzdGF0ICclcyciLCBpdGVyLT5iYXNlLnBhdGguYnVmKTsKKworCWVycm5vID0gc2F2ZWRfZXJybm87CisJcmV0dXJuIGVycjsKK30KKwogaW50IGRpcl9pdGVyYXRvcl9hZHZhbmNlKHN0cnVjdCBkaXJfaXRlcmF0b3IgKmRpcl9pdGVyYXRvcikKIHsKIAlzdHJ1Y3QgZGlyX2l0ZXJhdG9yX2ludCAqaXRlciA9CiAJCShzdHJ1Y3QgZGlyX2l0ZXJhdG9yX2ludCAqKWRpcl9pdGVyYXRvcjsKIAorCWlmIChTX0lTRElSKGl0ZXItPmJhc2Uuc3Quc3RfbW9kZSkgJiYgcHVzaF9sZXZlbChpdGVyKSkgeworCQlpZiAoZXJybm8gIT0gRU5PRU5UICYmIGl0ZXItPmZsYWdzICYgRElSX0lURVJBVE9SX1BFREFOVElDKQorCQkJZ290byBlcnJvcl9vdXQ7CisJCWlmIChpdGVyLT5sZXZlbHNfbnIgPT0gMCkKKwkJCWdvdG8gZXJyb3Jfb3V0OworCX0KKworCS8qIExvb3AgdW50aWwgd2UgZmluZCBhbiBlbnRyeSB0aGF0IHdlIGNhbiBnaXZlIGJhY2sgdG8gdGhlIGNhbGxlci4gKi8KIAl3aGlsZSAoMSkgeworCQlzdHJ1Y3QgZGlyZW50ICpkZTsKIAkJc3RydWN0IGRpcl9pdGVyYXRvcl9sZXZlbCAqbGV2ZWwgPQogCQkJJml0ZXItPmxldmVsc1tpdGVyLT5sZXZlbHNfbnIgLSAxXTsKLQkJc3RydWN0IGRpcmVudCAqZGU7CiAKLQkJaWYgKCFsZXZlbC0+aW5pdGlhbGl6ZWQpIHsKLQkJCS8qCi0JCQkgKiBOb3RlOiBkaXJfaXRlcmF0b3JfYmVnaW4oKSBlbnN1cmVzIHRoYXQKLQkJCSAqIHBhdGggaXMgbm90IHRoZSBlbXB0eSBzdHJpbmcuCi0JCQkgKi8KLQkJCWlmICghaXNfZGlyX3NlcChpdGVyLT5iYXNlLnBhdGguYnVmW2l0ZXItPmJhc2UucGF0aC5sZW4gLSAxXSkpCi0JCQkJc3RyYnVmX2FkZGNoKCZpdGVyLT5iYXNlLnBhdGgsICcvJyk7Ci0JCQlsZXZlbC0+cHJlZml4X2xlbiA9IGl0ZXItPmJhc2UucGF0aC5sZW47CisJCXN0cmJ1Zl9zZXRsZW4oJml0ZXItPmJhc2UucGF0aCwgbGV2ZWwtPnByZWZpeF9sZW4pOworCQllcnJubyA9IDA7CisJCWRlID0gcmVhZGRpcihsZXZlbC0+ZGlyKTsKIAotCQkJbGV2ZWwtPmRpciA9IG9wZW5kaXIoaXRlci0+YmFzZS5wYXRoLmJ1Zik7Ci0JCQlpZiAoIWxldmVsLT5kaXIgJiYgZXJybm8gIT0gRU5PRU5UKSB7Ci0JCQkJd2FybmluZygiZXJyb3Igb3BlbmluZyBkaXJlY3RvcnkgJXM6ICVzIiwKLQkJCQkJaXRlci0+YmFzZS5wYXRoLmJ1Ziwgc3RyZXJyb3IoZXJybm8pKTsKLQkJCQkvKiBQb3BwaW5nIHRoZSBsZXZlbCBpcyBoYW5kbGVkIGJlbG93ICovCi0JCQl9Ci0KLQkJCWxldmVsLT5pbml0aWFsaXplZCA9IDE7Ci0JCX0gZWxzZSBpZiAoU19JU0RJUihpdGVyLT5iYXNlLnN0LnN0X21vZGUpKSB7Ci0JCQlpZiAobGV2ZWwtPmRpcl9zdGF0ZSA9PSBESVJfU1RBVEVfSVRFUikgewotCQkJCS8qCi0JCQkJICogVGhlIGRpcmVjdG9yeSB3YXMganVzdCBpdGVyYXRlZAotCQkJCSAqIG92ZXI7IG5vdyBwcmVwYXJlIHRvIGl0ZXJhdGUgaW50bwotCQkJCSAqIGl0LgotCQkJCSAqLwotCQkJCWxldmVsLT5kaXJfc3RhdGUgPSBESVJfU1RBVEVfUkVDVVJTRTsKLQkJCQlBTExPQ19HUk9XKGl0ZXItPmxldmVscywgaXRlci0+bGV2ZWxzX25yICsgMSwKLQkJCQkJICAgaXRlci0+bGV2ZWxzX2FsbG9jKTsKLQkJCQlsZXZlbCA9ICZpdGVyLT5sZXZlbHNbaXRlci0+bGV2ZWxzX25yKytdOwotCQkJCWxldmVsLT5pbml0aWFsaXplZCA9IDA7Ci0JCQkJY29udGludWU7Ci0JCQl9IGVsc2UgewotCQkJCS8qCi0JCQkJICogVGhlIGRpcmVjdG9yeSBoYXMgYWxyZWFkeSBiZWVuCi0JCQkJICogaXRlcmF0ZWQgb3ZlciBhbmQgaXRlcmF0ZWQgaW50bzsKLQkJCQkgKiB3ZSdyZSBkb25lIHdpdGggaXQuCi0JCQkJICovCi0JCQl9Ci0JCX0KLQotCQlpZiAoIWxldmVsLT5kaXIpIHsKLQkJCS8qCi0JCQkgKiBUaGlzIGxldmVsIGlzIGV4aGF1c3RlZCAob3Igd2Fzbid0IG9wZW5lZAotCQkJICogc3VjY2Vzc2Z1bGx5KTsgcG9wIHVwIGEgbGV2ZWwuCi0JCQkgKi8KLQkJCWlmICgtLWl0ZXItPmxldmVsc19uciA9PSAwKQorCQlpZiAoIWRlKSB7CisJCQlpZiAoZXJybm8pIHsKKwkJCQl3YXJuaW5nX2Vycm5vKCJlcnJvciByZWFkaW5nIGRpcmVjdG9yeSAnJXMnIiwKKwkJCQkJICAgICAgaXRlci0+YmFzZS5wYXRoLmJ1Zik7CisJCQkJaWYgKGl0ZXItPmZsYWdzICYgRElSX0lURVJBVE9SX1BFREFOVElDKQorCQkJCQlnb3RvIGVycm9yX291dDsKKwkJCX0gZWxzZSBpZiAocG9wX2xldmVsKGl0ZXIpID09IDApIHsKIAkJCQlyZXR1cm4gZGlyX2l0ZXJhdG9yX2Fib3J0KGRpcl9pdGVyYXRvcik7Ci0KKwkJCX0KIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJLyoKLQkJICogTG9vcCB1bnRpbCB3ZSBmaW5kIGFuIGVudHJ5IHRoYXQgd2UgY2FuIGdpdmUgYmFjawotCQkgKiB0byB0aGUgY2FsbGVyOgotCQkgKi8KLQkJd2hpbGUgKDEpIHsKLQkJCXN0cmJ1Zl9zZXRsZW4oJml0ZXItPmJhc2UucGF0aCwgbGV2ZWwtPnByZWZpeF9sZW4pOwotCQkJZXJybm8gPSAwOwotCQkJZGUgPSByZWFkZGlyKGxldmVsLT5kaXIpOworCQlpZiAoaXNfZG90X29yX2RvdGRvdChkZS0+ZF9uYW1lKSkKKwkJCWNvbnRpbnVlOwogCi0JCQlpZiAoIWRlKSB7Ci0JCQkJLyogVGhpcyBsZXZlbCBpcyBleGhhdXN0ZWQ7IHBvcCB1cCBhIGxldmVsLiAqLwotCQkJCWlmIChlcnJubykgewotCQkJCQl3YXJuaW5nKCJlcnJvciByZWFkaW5nIGRpcmVjdG9yeSAlczogJXMiLAotCQkJCQkJaXRlci0+YmFzZS5wYXRoLmJ1Ziwgc3RyZXJyb3IoZXJybm8pKTsKLQkJCQl9IGVsc2UgaWYgKGNsb3NlZGlyKGxldmVsLT5kaXIpKQotCQkJCQl3YXJuaW5nKCJlcnJvciBjbG9zaW5nIGRpcmVjdG9yeSAlczogJXMiLAotCQkJCQkJaXRlci0+YmFzZS5wYXRoLmJ1Ziwgc3RyZXJyb3IoZXJybm8pKTsKLQotCQkJCWxldmVsLT5kaXIgPSBOVUxMOwotCQkJCWlmICgtLWl0ZXItPmxldmVsc19uciA9PSAwKQotCQkJCQlyZXR1cm4gZGlyX2l0ZXJhdG9yX2Fib3J0KGRpcl9pdGVyYXRvcik7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0KLQkJCWlmIChpc19kb3Rfb3JfZG90ZG90KGRlLT5kX25hbWUpKQotCQkJCWNvbnRpbnVlOwotCi0JCQlzdHJidWZfYWRkc3RyKCZpdGVyLT5iYXNlLnBhdGgsIGRlLT5kX25hbWUpOwotCQkJaWYgKGxzdGF0KGl0ZXItPmJhc2UucGF0aC5idWYsICZpdGVyLT5iYXNlLnN0KSA8IDApIHsKLQkJCQlpZiAoZXJybm8gIT0gRU5PRU5UKQotCQkJCQl3YXJuaW5nKCJlcnJvciByZWFkaW5nIHBhdGggJyVzJzogJXMiLAotCQkJCQkJaXRlci0+YmFzZS5wYXRoLmJ1ZiwKLQkJCQkJCXN0cmVycm9yKGVycm5vKSk7Ci0JCQkJY29udGludWU7Ci0JCQl9Ci0KLQkJCS8qCi0JCQkgKiBXZSBoYXZlIHRvIHNldCB0aGVzZSBlYWNoIHRpbWUgYmVjYXVzZQotCQkJICogdGhlIHBhdGggc3RyYnVmIG1pZ2h0IGhhdmUgYmVlbiByZWFsbG9jKCllZC4KLQkJCSAqLwotCQkJaXRlci0+YmFzZS5yZWxhdGl2ZV9wYXRoID0KLQkJCQlpdGVyLT5iYXNlLnBhdGguYnVmICsgaXRlci0+bGV2ZWxzWzBdLnByZWZpeF9sZW47Ci0JCQlpdGVyLT5iYXNlLmJhc2VuYW1lID0KLQkJCQlpdGVyLT5iYXNlLnBhdGguYnVmICsgbGV2ZWwtPnByZWZpeF9sZW47Ci0JCQlsZXZlbC0+ZGlyX3N0YXRlID0gRElSX1NUQVRFX0lURVI7Ci0KLQkJCXJldHVybiBJVEVSX09LOworCQlpZiAocHJlcGFyZV9uZXh0X2VudHJ5X2RhdGEoaXRlciwgZGUpKSB7CisJCQlpZiAoZXJybm8gIT0gRU5PRU5UICYmIGl0ZXItPmZsYWdzICYgRElSX0lURVJBVE9SX1BFREFOVElDKQorCQkJCWdvdG8gZXJyb3Jfb3V0OworCQkJY29udGludWU7CiAJCX0KKworCQlyZXR1cm4gSVRFUl9PSzsKIAl9CisKK2Vycm9yX291dDoKKwlkaXJfaXRlcmF0b3JfYWJvcnQoZGlyX2l0ZXJhdG9yKTsKKwlyZXR1cm4gSVRFUl9FUlJPUjsKIH0KIAogaW50IGRpcl9pdGVyYXRvcl9hYm9ydChzdHJ1Y3QgZGlyX2l0ZXJhdG9yICpkaXJfaXRlcmF0b3IpCkBAIC0xNzAsOSArMTg1LDExIEBACiAJCQkmaXRlci0+bGV2ZWxzW2l0ZXItPmxldmVsc19uciAtIDFdOwogCiAJCWlmIChsZXZlbC0+ZGlyICYmIGNsb3NlZGlyKGxldmVsLT5kaXIpKSB7CisJCQlpbnQgc2F2ZWRfZXJybm8gPSBlcnJubzsKIAkJCXN0cmJ1Zl9zZXRsZW4oJml0ZXItPmJhc2UucGF0aCwgbGV2ZWwtPnByZWZpeF9sZW4pOwotCQkJd2FybmluZygiZXJyb3IgY2xvc2luZyBkaXJlY3RvcnkgJXM6ICVzIiwKLQkJCQlpdGVyLT5iYXNlLnBhdGguYnVmLCBzdHJlcnJvcihlcnJubykpOworCQkJZXJybm8gPSBzYXZlZF9lcnJubzsKKwkJCXdhcm5pbmdfZXJybm8oImVycm9yIGNsb3NpbmcgZGlyZWN0b3J5ICclcyciLAorCQkJCSAgICAgIGl0ZXItPmJhc2UucGF0aC5idWYpOwogCQl9CiAJfQogCkBAIC0xODIsMjEgKzE5OSwzNyBAQAogCXJldHVybiBJVEVSX0RPTkU7CiB9CiAKLXN0cnVjdCBkaXJfaXRlcmF0b3IgKmRpcl9pdGVyYXRvcl9iZWdpbihjb25zdCBjaGFyICpwYXRoKQorc3RydWN0IGRpcl9pdGVyYXRvciAqZGlyX2l0ZXJhdG9yX2JlZ2luKGNvbnN0IGNoYXIgKnBhdGgsIHVuc2lnbmVkIGludCBmbGFncykKIHsKIAlzdHJ1Y3QgZGlyX2l0ZXJhdG9yX2ludCAqaXRlciA9IHhjYWxsb2MoMSwgc2l6ZW9mKCppdGVyKSk7CiAJc3RydWN0IGRpcl9pdGVyYXRvciAqZGlyX2l0ZXJhdG9yID0gJml0ZXItPmJhc2U7Ci0KLQlpZiAoIXBhdGggfHwgISpwYXRoKQotCQlCVUcoImVtcHR5IHBhdGggcGFzc2VkIHRvIGRpcl9pdGVyYXRvcl9iZWdpbigpIik7CisJaW50IHNhdmVkX2Vycm5vOwogCiAJc3RyYnVmX2luaXQoJml0ZXItPmJhc2UucGF0aCwgUEFUSF9NQVgpOwogCXN0cmJ1Zl9hZGRzdHIoJml0ZXItPmJhc2UucGF0aCwgcGF0aCk7CiAKIAlBTExPQ19HUk9XKGl0ZXItPmxldmVscywgMTAsIGl0ZXItPmxldmVsc19hbGxvYyk7CisJaXRlci0+bGV2ZWxzX25yID0gMDsKKwlpdGVyLT5mbGFncyA9IGZsYWdzOwogCi0JaXRlci0+bGV2ZWxzX25yID0gMTsKLQlpdGVyLT5sZXZlbHNbMF0uaW5pdGlhbGl6ZWQgPSAwOworCS8qCisJICogTm90ZTogc3RhdCBhbHJlYWR5IGNoZWNrcyBmb3IgTlVMTCBvciBlbXB0eSBzdHJpbmdzIGFuZAorCSAqIGluZXhpc3RlbnQgcGF0aHMuCisJICovCisJaWYgKHN0YXQoaXRlci0+YmFzZS5wYXRoLmJ1ZiwgJml0ZXItPmJhc2Uuc3QpIDwgMCkgeworCQlzYXZlZF9lcnJubyA9IGVycm5vOworCQlnb3RvIGVycm9yX291dDsKKwl9CisKKwlpZiAoIVNfSVNESVIoaXRlci0+YmFzZS5zdC5zdF9tb2RlKSkgeworCQlzYXZlZF9lcnJubyA9IEVOT1RESVI7CisJCWdvdG8gZXJyb3Jfb3V0OworCX0KIAogCXJldHVybiBkaXJfaXRlcmF0b3I7CisKK2Vycm9yX291dDoKKwlkaXJfaXRlcmF0b3JfYWJvcnQoZGlyX2l0ZXJhdG9yKTsKKwllcnJubyA9IHNhdmVkX2Vycm5vOworCXJldHVybiBOVUxMOwogfQpkaWZmIC0tZ2l0IGEvZGlyLWl0ZXJhdG9yLmggYi9kaXItaXRlcmF0b3IuaAppbmRleCA5NzA3OTNkLi4wODIyOTE1IDEwMDY0NAotLS0gYS9kaXItaXRlcmF0b3IuaAorKysgYi9kaXItaXRlcmF0b3IuaApAQCAtOCwxOCArOCwyMyBAQAogICoKICAqIEl0ZXJhdGUgb3ZlciBhIGRpcmVjdG9yeSB0cmVlLCByZWN1cnNpdmVseSwgaW5jbHVkaW5nIHBhdGhzIG9mIGFsbAogICogdHlwZXMgYW5kIGhpZGRlbiBwYXRocy4gU2tpcCAiLiIgYW5kICIuLiIgZW50cmllcyBhbmQgZG9uJ3QgZm9sbG93Ci0gKiBzeW1saW5rcyBleGNlcHQgZm9yIHRoZSBvcmlnaW5hbCBwYXRoLgorICogc3ltbGlua3MgZXhjZXB0IGZvciB0aGUgb3JpZ2luYWwgcGF0aC4gTm90ZSB0aGF0IHRoZSBvcmlnaW5hbCBwYXRoCisgKiBpcyBub3QgaW5jbHVkZWQgaW4gdGhlIGl0ZXJhdGlvbi4KICAqCiAgKiBFdmVyeSB0aW1lIGRpcl9pdGVyYXRvcl9hZHZhbmNlKCkgaXMgY2FsbGVkLCB1cGRhdGUgdGhlIG1lbWJlcnMgb2YKICAqIHRoZSBkaXJfaXRlcmF0b3Igc3RydWN0dXJlIHRvIHJlZmxlY3QgdGhlIG5leHQgcGF0aCBpbiB0aGUKICAqIGl0ZXJhdGlvbi4gVGhlIG9yZGVyIHRoYXQgcGF0aHMgYXJlIGl0ZXJhdGVkIG92ZXIgd2l0aGluIGEKLSAqIGRpcmVjdG9yeSBpcyB1bmRlZmluZWQsIGJ1dCBkaXJlY3RvcnkgcGF0aHMgYXJlIGFsd2F5cyBpdGVyYXRlZAotICogb3ZlciBiZWZvcmUgdGhlIHN1YmRpcmVjdG9yeSBjb250ZW50cy4KKyAqIGRpcmVjdG9yeSBpcyB1bmRlZmluZWQsIGRpcmVjdG9yeSBwYXRocyBhcmUgYWx3YXlzIGdpdmVuIGJlZm9yZQorICogdGhlaXIgY29udGVudHMuCiAgKgogICogQSB0eXBpY2FsIGl0ZXJhdGlvbiBsb29rcyBsaWtlIHRoaXM6CiAgKgogICogICAgIGludCBvazsKLSAqICAgICBzdHJ1Y3QgaXRlcmF0b3IgKml0ZXIgPSBkaXJfaXRlcmF0b3JfYmVnaW4ocGF0aCk7CisgKiAgICAgdW5zaWduZWQgaW50IGZsYWdzID0gRElSX0lURVJBVE9SX1BFREFOVElDOworICogICAgIHN0cnVjdCBkaXJfaXRlcmF0b3IgKml0ZXIgPSBkaXJfaXRlcmF0b3JfYmVnaW4ocGF0aCwgZmxhZ3MpOworICoKKyAqICAgICBpZiAoIWl0ZXIpCisgKiAgICAgICAgICAgICBnb3RvIGVycm9yX2hhbmRsZXI7CiAgKgogICogICAgIHdoaWxlICgob2sgPSBkaXJfaXRlcmF0b3JfYWR2YW5jZShpdGVyKSkgPT0gSVRFUl9PSykgewogICogICAgICAgICAgICAgaWYgKHdhbnRfdG9fc3RvcF9pdGVyYXRpb24oKSkgewpAQCAtNDAsNiArNDUsMjkgQEAKICAqIGRpcl9pdGVyYXRvcl9hZHZhbmNlKCkgYWdhaW4uCiAgKi8KIAorLyoKKyAqIEZsYWdzIGZvciBkaXJfaXRlcmF0b3JfYmVnaW46CisgKgorICogLSBESVJfSVRFUkFUT1JfUEVEQU5USUM6IG92ZXJyaWRlIGRpci1pdGVyYXRvcidzIGRlZmF1bHQgYmVoYXZpb3IKKyAqICAgaW4gY2FzZSBvZiBhbiBlcnJvciBhdCBkaXJfaXRlcmF0b3JfYWR2YW5jZSgpLCB3aGljaCBpcyB0byBrZWVwCisgKiAgIGxvb2tpbmcgZm9yIGEgbmV4dCB2YWxpZCBlbnRyeS4gV2l0aCB0aGlzIGZsYWcsIHJlc291cmNlcyBhcmUgZnJlZWQKKyAqICAgYW5kIElURVJfRVJST1IgaXMgcmV0dXJuZWQgaW1tZWRpYXRlbHkuIEluIGJvdGggY2FzZXMsIGEgbWVhbmluZ2Z1bAorICogICB3YXJuaW5nIGlzIGVtaXR0ZWQuIE5vdGU6IEVOT0VOVCBlcnJvcnMgYXJlIGFsd2F5cyBpZ25vcmVkIHNvIHRoYXQKKyAqICAgdGhlIEFQSSB1c2VycyBtYXkgcmVtb3ZlIGZpbGVzIGR1cmluZyBpdGVyYXRpb24uCisgKgorICogLSBESVJfSVRFUkFUT1JfRk9MTE9XX1NZTUxJTktTOiBtYWtlIGRpci1pdGVyYXRvciBmb2xsb3cgc3ltbGlua3MuCisgKiAgIGkuZS4sIGxpbmtlZCBkaXJlY3RvcmllcycgY29udGVudHMgd2lsbCBiZSBpdGVyYXRlZCBvdmVyIGFuZAorICogICBpdGVyLT5iYXNlLnN0IHdpbGwgY29udGFpbiBpbmZvcm1hdGlvbiBvbiB0aGUgcmVmZXJyZWQgZmlsZXMsCisgKiAgIG5vdCB0aGUgc3ltbGlua3MgdGhlbXNlbHZlcywgd2hpY2ggaXMgdGhlIGRlZmF1bHQgYmVoYXZpb3IuIEJyb2tlbgorICogICBzeW1saW5rcyBhcmUgaWdub3JlZC4KKyAqCisgKiBXYXJuaW5nOiBjaXJjdWxhciBzeW1saW5rcyBhcmUgYWxzbyBmb2xsb3dlZCB3aGVuCisgKiBESVJfSVRFUkFUT1JfRk9MTE9XX1NZTUxJTktTIGlzIHNldC4gVGhlIGl0ZXJhdGlvbiBtYXkgZW5kIHVwIHdpdGgKKyAqIGFuIEVMT09QIGlmIHRoZXkgaGFwcGVuIGFuZCBESVJfSVRFUkFUT1JfUEVEQU5USUMgaXMgc2V0LgorICovCisjZGVmaW5lIERJUl9JVEVSQVRPUl9QRURBTlRJQyAoMSA8PCAwKQorI2RlZmluZSBESVJfSVRFUkFUT1JfRk9MTE9XX1NZTUxJTktTICgxIDw8IDEpCisKIHN0cnVjdCBkaXJfaXRlcmF0b3IgewogCS8qIFRoZSBjdXJyZW50IHBhdGg6ICovCiAJc3RydWN0IHN0cmJ1ZiBwYXRoOwpAQCAtNTQsMjggKzgyLDM4IEBACiAJLyogVGhlIGN1cnJlbnQgYmFzZW5hbWU6ICovCiAJY29uc3QgY2hhciAqYmFzZW5hbWU7CiAKLQkvKiBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgbHN0YXQoKSBvbiBwYXRoOiAqLworCS8qCisJICogVGhlIHJlc3VsdCBvZiBjYWxsaW5nIGxzdGF0KCkgb24gcGF0aDsgb3Igc3RhdCgpLCBpZiB0aGUKKwkgKiBESVJfSVRFUkFUT1JfRk9MTE9XX1NZTUxJTktTIGZsYWcgd2FzIHNldCBhdAorCSAqIGRpcl9pdGVyYXRvcidzIGluaXRpYWxpemF0aW9uLgorCSAqLwogCXN0cnVjdCBzdGF0IHN0OwogfTsKIAogLyoKLSAqIFN0YXJ0IGEgZGlyZWN0b3J5IGl0ZXJhdGlvbiBvdmVyIHBhdGguIFJldHVybiBhIGRpcl9pdGVyYXRvciB0aGF0Ci0gKiBob2xkcyB0aGUgaW50ZXJuYWwgc3RhdGUgb2YgdGhlIGl0ZXJhdGlvbi4KKyAqIFN0YXJ0IGEgZGlyZWN0b3J5IGl0ZXJhdGlvbiBvdmVyIHBhdGggd2l0aCB0aGUgY29tYmluYXRpb24gb2YKKyAqIG9wdGlvbnMgc3BlY2lmaWVkIGJ5IGZsYWdzLiBPbiBzdWNjZXNzLCByZXR1cm4gYSBkaXJfaXRlcmF0b3IKKyAqIHRoYXQgaG9sZHMgdGhlIGludGVybmFsIHN0YXRlIG9mIHRoZSBpdGVyYXRpb24uIEluIGNhc2Ugb2YKKyAqIGZhaWx1cmUsIHJldHVybiBOVUxMIGFuZCBzZXQgZXJybm8gYWNjb3JkaW5nbHkuCiAgKgogICogVGhlIGl0ZXJhdGlvbiBpbmNsdWRlcyBhbGwgcGF0aHMgdW5kZXIgcGF0aCwgbm90IGluY2x1ZGluZyBwYXRoCiAgKiBpdHNlbGYgYW5kIG5vdCBpbmNsdWRpbmcgIi4iIG9yICIuLiIgZW50cmllcy4KICAqCi0gKiBwYXRoIGlzIHRoZSBzdGFydGluZyBkaXJlY3RvcnkuIEFuIGludGVybmFsIGNvcHkgd2lsbCBiZSBtYWRlLgorICogUGFyYW1ldGVycyBhcmU6CisgKiAgLSBwYXRoIGlzIHRoZSBzdGFydGluZyBkaXJlY3RvcnkuIEFuIGludGVybmFsIGNvcHkgd2lsbCBiZSBtYWRlLgorICogIC0gZmxhZ3MgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgcG9zc2libGUgZmxhZ3MgdG8gaW5pdGlhbGl6ZSBhCisgKiAgICBkaXItaXRlcmF0b3Igb3IgMCBmb3IgZGVmYXVsdCBiZWhhdmlvci4KICAqLwotc3RydWN0IGRpcl9pdGVyYXRvciAqZGlyX2l0ZXJhdG9yX2JlZ2luKGNvbnN0IGNoYXIgKnBhdGgpOworc3RydWN0IGRpcl9pdGVyYXRvciAqZGlyX2l0ZXJhdG9yX2JlZ2luKGNvbnN0IGNoYXIgKnBhdGgsIHVuc2lnbmVkIGludCBmbGFncyk7CiAKIC8qCiAgKiBBZHZhbmNlIHRoZSBpdGVyYXRvciB0byB0aGUgZmlyc3Qgb3IgbmV4dCBpdGVtIGFuZCByZXR1cm4gSVRFUl9PSy4KICAqIElmIHRoZSBpdGVyYXRpb24gaXMgZXhoYXVzdGVkLCBmcmVlIHRoZSBkaXJfaXRlcmF0b3IgYW5kIGFueQotICogcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBpdCBhbmQgcmV0dXJuIElURVJfRE9ORS4gT24gZXJyb3IsIGZyZWUKLSAqIGRpcl9pdGVyYXRvciBhbmQgYXNzb2NpYXRlZCByZXNvdXJjZXMgYW5kIHJldHVybiBJVEVSX0VSUk9SLiBJdCBpcwotICogYSBidWcgdG8gdXNlIGl0ZXJhdG9yIG9yIGNhbGwgdGhpcyBmdW5jdGlvbiBhZ2FpbiBhZnRlciBpdCBoYXMKLSAqIHJldHVybmVkIElURVJfRE9ORSBvciBJVEVSX0VSUk9SLgorICogcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBpdCBhbmQgcmV0dXJuIElURVJfRE9ORS4KKyAqCisgKiBJdCBpcyBhIGJ1ZyB0byB1c2UgaXRlcmF0b3Igb3IgY2FsbCB0aGlzIGZ1bmN0aW9uIGFnYWluIGFmdGVyIGl0CisgKiBoYXMgcmV0dXJuZWQgSVRFUl9ET05FIG9yIElURVJfRVJST1IgKHdoaWNoIG1heSBiZSByZXR1cm5lZCBpZmYKKyAqIHRoZSBESVJfSVRFUkFUT1JfUEVEQU5USUMgZmxhZyB3YXMgc2V0KS4KICAqLwogaW50IGRpcl9pdGVyYXRvcl9hZHZhbmNlKHN0cnVjdCBkaXJfaXRlcmF0b3IgKml0ZXJhdG9yKTsKIApkaWZmIC0tZ2l0IGEvZGlyLmMgYi9kaXIuYwppbmRleCBhYjY0NzdkLi4wZmZiMWIzIDEwMDY0NAotLS0gYS9kaXIuYworKysgYi9kaXIuYwpAQCAtMiwxMiArMiw5IEBACiAgKiBUaGlzIGhhbmRsZXMgcmVjdXJzaXZlIGZpbGVuYW1lIGRldGVjdGlvbiB3aXRoIGV4Y2x1ZGUKICAqIGZpbGVzLCBpbmRleCBrbm93bGVkZ2UgZXRjLi4KICAqCi0gKiBTZWUgRG9jdW1lbnRhdGlvbi90ZWNobmljYWwvYXBpLWRpcmVjdG9yeS1saXN0aW5nLnR4dAotICoKICAqIENvcHlyaWdodCAoQykgTGludXMgVG9ydmFsZHMsIDIwMDUtMjAwNgogICoJCSBKdW5pbyBIYW1hbm8sIDIwMDUtMjAwNgogICovCi0jZGVmaW5lIE5PX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiZGlyLmgiCkBAIC00NCw3ICs0MSw4IEBACiAJaW50IG5yX2ZpbGVzOwogCWludCBucl9kaXJzOwogCi0Jc3RydWN0IGRpcmVudCAqZGU7CisJY29uc3QgY2hhciAqZF9uYW1lOworCWludCBkX3R5cGU7CiAJY29uc3QgY2hhciAqZmlsZTsKIAlzdHJ1Y3QgdW50cmFja2VkX2NhY2hlX2RpciAqdWNkOwogfTsKQEAgLTUzLDggKzUxLDggQEAKIAlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgY29uc3QgY2hhciAqcGF0aCwgaW50IGxlbiwKIAlzdHJ1Y3QgdW50cmFja2VkX2NhY2hlX2RpciAqdW50cmFja2VkLAogCWludCBjaGVja19vbmx5LCBpbnQgc3RvcF9hdF9maXJzdF9maWxlLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKTsKLXN0YXRpYyBpbnQgZ2V0X2R0eXBlKHN0cnVjdCBkaXJlbnQgKmRlLCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKLQkJICAgICBjb25zdCBjaGFyICpwYXRoLCBpbnQgbGVuKTsKK3N0YXRpYyBpbnQgcmVzb2x2ZV9kdHlwZShpbnQgZHR5cGUsIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkJIGNvbnN0IGNoYXIgKnBhdGgsIGludCBsZW4pOwogCiBpbnQgY291bnRfc2xhc2hlcyhjb25zdCBjaGFyICpzKQogewpAQCAtMTQwLDcgKzEzOCw3IEBACiAJICogIjooaWNhc2UpcGF0aCIgaXMgdHJlYXRlZCBhcyBhIHBhdGhzcGVjIGZ1bGwgb2YKIAkgKiB3aWxkY2FyZC4gSW4gb3RoZXIgd29yZHMsIG9ubHkgcHJlZml4IGlzIGNvbnNpZGVyZWQgY29tbW9uCiAJICogcHJlZml4LiBJZiB0aGUgcGF0aHNwZWMgaXMgYWJjL2ZvbyBhYmMvYmFyLCBydW5uaW5nIGluCi0JICogc3ViZGlyIHh5eiwgdGhlIGNvbW1vbiBwcmVmaXggaXMgc3RpbGwgeHl6LCBub3QgeHV6L2FiYyBhcworCSAqIHN1YmRpciB4eXosIHRoZSBjb21tb24gcHJlZml4IGlzIHN0aWxsIHh5eiwgbm90IHh5ei9hYmMgYXMKIAkgKiBpbiBub24tOihpY2FzZSkuCiAJICovCiAJR1VBUkRfUEFUSFNQRUMocGF0aHNwZWMsCkBAIC0yNzQsNTcgKzI3MiwzMCBAQAogCiAjZGVmaW5lIERPX01BVENIX0VYQ0xVREUgICAoMTw8MCkKICNkZWZpbmUgRE9fTUFUQ0hfRElSRUNUT1JZICgxPDwxKQotI2RlZmluZSBET19NQVRDSF9TVUJNT0RVTEUgKDE8PDIpCi0KLXN0YXRpYyBpbnQgbWF0Y2hfYXR0cnMoY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCi0JCSAgICAgICBjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwKLQkJICAgICAgIGNvbnN0IHN0cnVjdCBwYXRoc3BlY19pdGVtICppdGVtKQotewotCWludCBpOwotCWNoYXIgKnRvX2ZyZWUgPSBOVUxMOwotCi0JaWYgKG5hbWVbbmFtZWxlbl0pCi0JCW5hbWUgPSB0b19mcmVlID0geG1lbWR1cHoobmFtZSwgbmFtZWxlbik7Ci0KLQlnaXRfY2hlY2tfYXR0cihpc3RhdGUsIG5hbWUsIGl0ZW0tPmF0dHJfY2hlY2spOwotCi0JZnJlZSh0b19mcmVlKTsKLQotCWZvciAoaSA9IDA7IGkgPCBpdGVtLT5hdHRyX21hdGNoX25yOyBpKyspIHsKLQkJY29uc3QgY2hhciAqdmFsdWU7Ci0JCWludCBtYXRjaGVkOwotCQllbnVtIGF0dHJfbWF0Y2hfbW9kZSBtYXRjaF9tb2RlOwotCi0JCXZhbHVlID0gaXRlbS0+YXR0cl9jaGVjay0+aXRlbXNbaV0udmFsdWU7Ci0JCW1hdGNoX21vZGUgPSBpdGVtLT5hdHRyX21hdGNoW2ldLm1hdGNoX21vZGU7Ci0KLQkJaWYgKEFUVFJfVFJVRSh2YWx1ZSkpCi0JCQltYXRjaGVkID0gKG1hdGNoX21vZGUgPT0gTUFUQ0hfU0VUKTsKLQkJZWxzZSBpZiAoQVRUUl9GQUxTRSh2YWx1ZSkpCi0JCQltYXRjaGVkID0gKG1hdGNoX21vZGUgPT0gTUFUQ0hfVU5TRVQpOwotCQllbHNlIGlmIChBVFRSX1VOU0VUKHZhbHVlKSkKLQkJCW1hdGNoZWQgPSAobWF0Y2hfbW9kZSA9PSBNQVRDSF9VTlNQRUNJRklFRCk7Ci0JCWVsc2UKLQkJCW1hdGNoZWQgPSAobWF0Y2hfbW9kZSA9PSBNQVRDSF9WQUxVRSAmJgotCQkJCSAgICFzdHJjbXAoaXRlbS0+YXR0cl9tYXRjaFtpXS52YWx1ZSwgdmFsdWUpKTsKLQkJaWYgKCFtYXRjaGVkKQotCQkJcmV0dXJuIDA7Ci0JfQotCi0JcmV0dXJuIDE7Ci19CisjZGVmaW5lIERPX01BVENIX0xFQURJTkdfUEFUSFNQRUMgKDE8PDIpCiAKIC8qCi0gKiBEb2VzICdtYXRjaCcgbWF0Y2ggdGhlIGdpdmVuIG5hbWU/Ci0gKiBBIG1hdGNoIGlzIGZvdW5kIGlmCisgKiBEb2VzIHRoZSBnaXZlbiBwYXRoc3BlYyBtYXRjaCB0aGUgZ2l2ZW4gbmFtZT8gIEEgbWF0Y2ggaXMgZm91bmQgaWYKICAqCi0gKiAoMSkgdGhlICdtYXRjaCcgc3RyaW5nIGlzIGxlYWRpbmcgZGlyZWN0b3J5IG9mICduYW1lJywgb3IKLSAqICgyKSB0aGUgJ21hdGNoJyBzdHJpbmcgaXMgYSB3aWxkY2FyZCBhbmQgbWF0Y2hlcyAnbmFtZScsIG9yCi0gKiAoMykgdGhlICdtYXRjaCcgc3RyaW5nIGlzIGV4YWN0bHkgdGhlIHNhbWUgYXMgJ25hbWUnLgorICogKDEpIHRoZSBwYXRoc3BlYyBzdHJpbmcgaXMgbGVhZGluZyBkaXJlY3Rvcnkgb2YgJ25hbWUnICgiUkVDVVJTSVZFTFkiKSwgb3IKKyAqICgyKSB0aGUgcGF0aHNwZWMgc3RyaW5nIGhhcyBhIGxlYWRpbmcgcGFydCBtYXRjaGluZyAnbmFtZScgKCJMRUFESU5HIiksIG9yCisgKiAoMykgdGhlIHBhdGhzcGVjIHN0cmluZyBpcyBhIHdpbGRjYXJkIGFuZCBtYXRjaGVzICduYW1lJyAoIldJTERDQVJEIiksIG9yCisgKiAoNCkgdGhlIHBhdGhzcGVjIHN0cmluZyBpcyBleGFjdGx5IHRoZSBzYW1lIGFzICduYW1lJyAoIkVYQUNUIikuCiAgKgotICogYW5kIHRoZSByZXR1cm4gdmFsdWUgdGVsbHMgd2hpY2ggY2FzZSBpdCB3YXMuCisgKiBSZXR1cm4gdmFsdWUgdGVsbHMgd2hpY2ggY2FzZSBpdCB3YXMgKDEtNCksIG9yIDAgd2hlbiB0aGVyZSBpcyBubyBtYXRjaC4KICAqCi0gKiBJdCByZXR1cm5zIDAgd2hlbiB0aGVyZSBpcyBubyBtYXRjaC4KKyAqIEl0IG1heSBiZSBpbnN0cnVjdGl2ZSB0byBsb29rIGF0IGEgc21hbGwgdGFibGUgb2YgY29uY3JldGUgZXhhbXBsZXMKKyAqIHRvIHVuZGVyc3RhbmQgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gMSwgMiwgYW5kIDQ6CisgKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXRoc3BlY3MKKyAqICAgICAgICAgICAgICAgIHwgICAgYS9iICAgIHwgICBhL2IvICAgIHwgICBhL2IvYworICogICAgICAgICAgLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorICogICAgICAgICAgYS9iICAgfCAgRVhBQ1QgICAgfCAgRVhBQ1RbMV0gfCBMRUFESU5HWzJdCisgKiAgTmFtZXMgICBhL2IvICB8IFJFQ1VSU0lWRSB8ICAgRVhBQ1QgICB8IExFQURJTkdbMl0KKyAqICAgICAgICAgIGEvYi9jIHwgUkVDVVJTSVZFIHwgUkVDVVJTSVZFIHwgICBFWEFDVAorICoKKyAqIFsxXSBPbmx5IGlmIERPX01BVENIX0RJUkVDVE9SWSBpcyBwYXNzZWQ7IG90aGVyd2lzZSwgdGhpcyBpcyBOT1QgYSBtYXRjaC4KKyAqIFsyXSBPbmx5IGlmIERPX01BVENIX0xFQURJTkdfUEFUSFNQRUMgaXMgcGFzc2VkOyBvdGhlcndpc2UsIG5vdCBhIG1hdGNoLgogICovCiBzdGF0aWMgaW50IG1hdGNoX3BhdGhzcGVjX2l0ZW0oY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCiAJCQkgICAgICAgY29uc3Qgc3RydWN0IHBhdGhzcGVjX2l0ZW0gKml0ZW0sIGludCBwcmVmaXgsCkBAIC0zNjcsNyArMzM4LDggQEAKIAkgICAgc3RybmNtcChpdGVtLT5tYXRjaCwgbmFtZSAtIHByZWZpeCwgaXRlbS0+cHJlZml4KSkKIAkJcmV0dXJuIDA7CiAKLQlpZiAoaXRlbS0+YXR0cl9tYXRjaF9uciAmJiAhbWF0Y2hfYXR0cnMoaXN0YXRlLCBuYW1lLCBuYW1lbGVuLCBpdGVtKSkKKwlpZiAoaXRlbS0+YXR0cl9tYXRjaF9uciAmJgorCSAgICAhbWF0Y2hfcGF0aHNwZWNfYXR0cnMoaXN0YXRlLCBuYW1lLCBuYW1lbGVuLCBpdGVtKSkKIAkJcmV0dXJuIDA7CiAKIAkvKiBJZiB0aGUgbWF0Y2ggd2FzIGp1c3QgdGhlIHByZWZpeCwgd2UgbWF0Y2hlZCAqLwpAQCAtMzkxLDIxICszNjMsMjkgQEAKIAkJCSBpdGVtLT5ub3dpbGRjYXJkX2xlbiAtIHByZWZpeCkpCiAJCXJldHVybiBNQVRDSEVEX0ZOTUFUQ0g7CiAKLQkvKiBQZXJmb3JtIGNoZWNrcyB0byBzZWUgaWYgIm5hbWUiIGlzIGEgc3VwZXIgc2V0IG9mIHRoZSBwYXRoc3BlYyAqLwotCWlmIChmbGFncyAmIERPX01BVENIX1NVQk1PRFVMRSkgeworCS8qIFBlcmZvcm0gY2hlY2tzIHRvIHNlZSBpZiAibmFtZSIgaXMgYSBsZWFkaW5nIHN0cmluZyBvZiB0aGUgcGF0aHNwZWMgKi8KKwlpZiAoZmxhZ3MgJiBET19NQVRDSF9MRUFESU5HX1BBVEhTUEVDKSB7CiAJCS8qIG5hbWUgaXMgYSBsaXRlcmFsIHByZWZpeCBvZiB0aGUgcGF0aHNwZWMgKi8KKwkJaW50IG9mZnNldCA9IG5hbWVbbmFtZWxlbi0xXSA9PSAnLycgPyAxIDogMDsKIAkJaWYgKChuYW1lbGVuIDwgbWF0Y2hsZW4pICYmCi0JCSAgICAobWF0Y2hbbmFtZWxlbl0gPT0gJy8nKSAmJgorCQkgICAgKG1hdGNoW25hbWVsZW4tb2Zmc2V0XSA9PSAnLycpICYmCiAJCSAgICAhcHNfc3RybmNtcChpdGVtLCBtYXRjaCwgbmFtZSwgbmFtZWxlbikpCi0JCQlyZXR1cm4gTUFUQ0hFRF9SRUNVUlNJVkVMWTsKKwkJCXJldHVybiBNQVRDSEVEX1JFQ1VSU0lWRUxZX0xFQURJTkdfUEFUSFNQRUM7CiAKLQkJLyogbmFtZSIgZG9lc24ndCBtYXRjaCB1cCB0byB0aGUgZmlyc3Qgd2lsZCBjaGFyYWN0ZXIgKi8KKwkJLyogbmFtZSBkb2Vzbid0IG1hdGNoIHVwIHRvIHRoZSBmaXJzdCB3aWxkIGNoYXJhY3RlciAqLwogCQlpZiAoaXRlbS0+bm93aWxkY2FyZF9sZW4gPCBpdGVtLT5sZW4gJiYKIAkJICAgIHBzX3N0cm5jbXAoaXRlbSwgbWF0Y2gsIG5hbWUsCiAJCQkgICAgICAgaXRlbS0+bm93aWxkY2FyZF9sZW4gLSBwcmVmaXgpKQogCQkJcmV0dXJuIDA7CiAKIAkJLyoKKwkJICogbmFtZSBoYXMgbm8gd2lsZGNhcmQsIGFuZCBpdCBkaWRuJ3QgbWF0Y2ggYXMgYSBsZWFkaW5nCisJCSAqIHBhdGhzcGVjIHNvIHJldHVybi4KKwkJICovCisJCWlmIChpdGVtLT5ub3dpbGRjYXJkX2xlbiA9PSBpdGVtLT5sZW4pCisJCQlyZXR1cm4gMDsKKworCQkvKgogCQkgKiBIZXJlIGlzIHdoZXJlIHdlIHdvdWxkIHBlcmZvcm0gYSB3aWxkbWF0Y2ggdG8gY2hlY2sgaWYKIAkJICogIm5hbWUiIGNhbiBiZSBtYXRjaGVkIGFzIGEgZGlyZWN0b3J5IChvciBhIHByZWZpeCkgYWdhaW5zdAogCQkgKiB0aGUgcGF0aHNwZWMuICBTaW5jZSB3aWxkbWF0Y2ggZG9lc24ndCBoYXZlIHRoaXMgY2FwYWJpbGl0eQpAQCAtNDE0LDcgKzM5NCw3IEBACiAJCSAqIFRoZSBzdWJtb2R1bGVzIHRoZW1zZWx2ZXMgd2lsbCBiZSBhYmxlIHRvIHBlcmZvcm0gbW9yZQogCQkgKiBhY2N1cmF0ZSBtYXRjaGluZyB0byBkZXRlcm1pbmUgaWYgdGhlIHBhdGhzcGVjIG1hdGNoZXMuCiAJCSAqLwotCQlyZXR1cm4gTUFUQ0hFRF9SRUNVUlNJVkVMWTsKKwkJcmV0dXJuIE1BVENIRURfUkVDVVJTSVZFTFlfTEVBRElOR19QQVRIU1BFQzsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTUzNSwxMyArNTE1LDEyIEBACiAJCQkJCXN0cmxlbihzdWJtb2R1bGVfbmFtZSksCiAJCQkJCTAsIHNlZW4sCiAJCQkJCURPX01BVENIX0RJUkVDVE9SWSB8Ci0JCQkJCURPX01BVENIX1NVQk1PRFVMRSk7CisJCQkJCURPX01BVENIX0xFQURJTkdfUEFUSFNQRUMpOwogCXJldHVybiBtYXRjaGVkOwogfQogCiBpbnQgcmVwb3J0X3BhdGhfZXJyb3IoY29uc3QgY2hhciAqcHNfbWF0Y2hlZCwKLQkJICAgICAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKLQkJICAgICAgY29uc3QgY2hhciAqcHJlZml4KQorCQkgICAgICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogewogCS8qCiAJICogTWFrZSBzdXJlIGFsbCBwYXRoc3BlYyBtYXRjaGVkOyBvdGhlcndpc2UgaXQgaXMgYW4gZXJyb3IuCkBAIC02MDAsNyArNTc5LDcgQEAKIAlyZXR1cm4gc3RyaW5nW3NpbXBsZV9sZW5ndGgoc3RyaW5nKV0gPT0gJ1wwJzsKIH0KIAotdm9pZCBwYXJzZV9leGNsdWRlX3BhdHRlcm4oY29uc3QgY2hhciAqKnBhdHRlcm4sCit2b2lkIHBhcnNlX3BhdGhfcGF0dGVybihjb25zdCBjaGFyICoqcGF0dGVybiwKIAkJCSAgIGludCAqcGF0dGVybmxlbiwKIAkJCSAgIHVuc2lnbmVkICpmbGFncywKIAkJCSAgIGludCAqbm93aWxkY2FyZGxlbikKQEAgLTYxMCwyMCArNTg5LDIwIEBACiAKIAkqZmxhZ3MgPSAwOwogCWlmICgqcCA9PSAnIScpIHsKLQkJKmZsYWdzIHw9IEVYQ19GTEFHX05FR0FUSVZFOworCQkqZmxhZ3MgfD0gUEFUVEVSTl9GTEFHX05FR0FUSVZFOwogCQlwKys7CiAJfQogCWxlbiA9IHN0cmxlbihwKTsKIAlpZiAobGVuICYmIHBbbGVuIC0gMV0gPT0gJy8nKSB7CiAJCWxlbi0tOwotCQkqZmxhZ3MgfD0gRVhDX0ZMQUdfTVVTVEJFRElSOworCQkqZmxhZ3MgfD0gUEFUVEVSTl9GTEFHX01VU1RCRURJUjsKIAl9CiAJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7CiAJCWlmIChwW2ldID09ICcvJykKIAkJCWJyZWFrOwogCX0KIAlpZiAoaSA9PSBsZW4pCi0JCSpmbGFncyB8PSBFWENfRkxBR19OT0RJUjsKKwkJKmZsYWdzIHw9IFBBVFRFUk5fRkxBR19OT0RJUjsKIAkqbm93aWxkY2FyZGxlbiA9IHNpbXBsZV9sZW5ndGgocCk7CiAJLyoKIAkgKiB3ZSBzaG91bGQgaGF2ZSBleGNsdWRlZCB0aGUgdHJhaWxpbmcgc2xhc2ggZnJvbSAncCcgdG9vLApAQCAtNjMzLDM1ICs2MTIsMjYxIEBACiAJaWYgKCpub3dpbGRjYXJkbGVuID4gbGVuKQogCQkqbm93aWxkY2FyZGxlbiA9IGxlbjsKIAlpZiAoKnAgPT0gJyonICYmIG5vX3dpbGRjYXJkKHAgKyAxKSkKLQkJKmZsYWdzIHw9IEVYQ19GTEFHX0VORFNXSVRIOworCQkqZmxhZ3MgfD0gUEFUVEVSTl9GTEFHX0VORFNXSVRIOwogCSpwYXR0ZXJuID0gcDsKIAkqcGF0dGVybmxlbiA9IGxlbjsKIH0KIAotdm9pZCBhZGRfZXhjbHVkZShjb25zdCBjaGFyICpzdHJpbmcsIGNvbnN0IGNoYXIgKmJhc2UsCi0JCSBpbnQgYmFzZWxlbiwgc3RydWN0IGV4Y2x1ZGVfbGlzdCAqZWwsIGludCBzcmNwb3MpCitpbnQgcGxfaGFzaG1hcF9jbXAoY29uc3Qgdm9pZCAqdW51c2VkX2NtcF9kYXRhLAorCQkgICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqYSwKKwkJICAgY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmIsCisJCSAgIGNvbnN0IHZvaWQgKmtleSkKIHsKLQlzdHJ1Y3QgZXhjbHVkZSAqeDsKKwljb25zdCBzdHJ1Y3QgcGF0dGVybl9lbnRyeSAqZWUxID0KKwkJCWNvbnRhaW5lcl9vZihhLCBzdHJ1Y3QgcGF0dGVybl9lbnRyeSwgZW50KTsKKwljb25zdCBzdHJ1Y3QgcGF0dGVybl9lbnRyeSAqZWUyID0KKwkJCWNvbnRhaW5lcl9vZihiLCBzdHJ1Y3QgcGF0dGVybl9lbnRyeSwgZW50KTsKKworCXNpemVfdCBtaW5fbGVuID0gZWUxLT5wYXR0ZXJubGVuIDw9IGVlMi0+cGF0dGVybmxlbgorCQkJID8gZWUxLT5wYXR0ZXJubGVuCisJCQkgOiBlZTItPnBhdHRlcm5sZW47CisKKwlpZiAoaWdub3JlX2Nhc2UpCisJCXJldHVybiBzdHJuY2FzZWNtcChlZTEtPnBhdHRlcm4sIGVlMi0+cGF0dGVybiwgbWluX2xlbik7CisJcmV0dXJuIHN0cm5jbXAoZWUxLT5wYXR0ZXJuLCBlZTItPnBhdHRlcm4sIG1pbl9sZW4pOworfQorCitzdGF0aWMgY2hhciAqZHVwX2FuZF9maWx0ZXJfcGF0dGVybihjb25zdCBjaGFyICpwYXR0ZXJuKQoreworCWNoYXIgKnNldCwgKnJlYWQ7CisJc2l6ZV90IGNvdW50ICA9IDA7CisJY2hhciAqcmVzdWx0ID0geHN0cmR1cChwYXR0ZXJuKTsKKworCXNldCA9IHJlc3VsdDsKKwlyZWFkID0gcmVzdWx0OworCisJd2hpbGUgKCpyZWFkKSB7CisJCS8qIHNraXAgZXNjYXBlIGNoYXJhY3RlcnMgKG9uY2UpICovCisJCWlmICgqcmVhZCA9PSAnXFwnKQorCQkJcmVhZCsrOworCisJCSpzZXQgPSAqcmVhZDsKKworCQlzZXQrKzsKKwkJcmVhZCsrOworCQljb3VudCsrOworCX0KKwkqc2V0ID0gMDsKKworCWlmIChjb3VudCA+IDIgJiYKKwkgICAgKihzZXQgLSAxKSA9PSAnKicgJiYKKwkgICAgKihzZXQgLSAyKSA9PSAnLycpCisJCSooc2V0IC0gMikgPSAwOworCisJcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIHZvaWQgYWRkX3BhdHRlcm5fdG9faGFzaHNldHMoc3RydWN0IHBhdHRlcm5fbGlzdCAqcGwsIHN0cnVjdCBwYXRoX3BhdHRlcm4gKmdpdmVuKQoreworCXN0cnVjdCBwYXR0ZXJuX2VudHJ5ICp0cmFuc2xhdGVkOworCWNoYXIgKnRydW5jYXRlZDsKKwljaGFyICpkYXRhID0gTlVMTDsKKwljb25zdCBjaGFyICpwcmV2LCAqY3VyLCAqbmV4dDsKKworCWlmICghcGwtPnVzZV9jb25lX3BhdHRlcm5zKQorCQlyZXR1cm47CisKKwlpZiAoZ2l2ZW4tPmZsYWdzICYgUEFUVEVSTl9GTEFHX05FR0FUSVZFICYmCisJICAgIGdpdmVuLT5mbGFncyAmIFBBVFRFUk5fRkxBR19NVVNUQkVESVIgJiYKKwkgICAgIXN0cmNtcChnaXZlbi0+cGF0dGVybiwgIi8qIikpIHsKKwkJcGwtPmZ1bGxfY29uZSA9IDA7CisJCXJldHVybjsKKwl9CisKKwlpZiAoIWdpdmVuLT5mbGFncyAmJiAhc3RyY21wKGdpdmVuLT5wYXR0ZXJuLCAiLyoiKSkgeworCQlwbC0+ZnVsbF9jb25lID0gMTsKKwkJcmV0dXJuOworCX0KKworCWlmIChnaXZlbi0+cGF0dGVybmxlbiA8IDIgfHwKKwkgICAgKmdpdmVuLT5wYXR0ZXJuID09ICcqJyB8fAorCSAgICBzdHJzdHIoZ2l2ZW4tPnBhdHRlcm4sICIqKiIpKSB7CisJCS8qIE5vdCBhIGNvbmUgcGF0dGVybi4gKi8KKwkJd2FybmluZyhfKCJ1bnJlY29nbml6ZWQgcGF0dGVybjogJyVzJyIpLCBnaXZlbi0+cGF0dGVybik7CisJCWdvdG8gY2xlYXJfaGFzaG1hcHM7CisJfQorCisJcHJldiA9IGdpdmVuLT5wYXR0ZXJuOworCWN1ciA9IGdpdmVuLT5wYXR0ZXJuICsgMTsKKwluZXh0ID0gZ2l2ZW4tPnBhdHRlcm4gKyAyOworCisJd2hpbGUgKCpjdXIpIHsKKwkJLyogV2F0Y2ggZm9yIGdsb2IgY2hhcmFjdGVycyAnKicsICdcJywgJ1snLCAnPycgKi8KKwkJaWYgKCFpc19nbG9iX3NwZWNpYWwoKmN1cikpCisJCQlnb3RvIGluY3JlbWVudDsKKworCQkvKiBCdXQgb25seSBpZiAqcHJldiAhPSAnXFwnICovCisJCWlmICgqcHJldiA9PSAnXFwnKQorCQkJZ290byBpbmNyZW1lbnQ7CisKKwkJLyogQnV0IGFsbG93IHRoZSBpbml0aWFsICdcJyAqLworCQlpZiAoKmN1ciA9PSAnXFwnICYmCisJCSAgICBpc19nbG9iX3NwZWNpYWwoKm5leHQpKQorCQkJZ290byBpbmNyZW1lbnQ7CisKKwkJLyogQnV0IGEgdHJhaWxpbmcgJy8nIHRoZW4gJyonIGlzIGZpbmUgKi8KKwkJaWYgKCpwcmV2ID09ICcvJyAmJgorCQkgICAgKmN1ciA9PSAnKicgJiYKKwkJICAgICpuZXh0ID09IDApCisJCQlnb3RvIGluY3JlbWVudDsKKworCQkvKiBOb3QgYSBjb25lIHBhdHRlcm4uICovCisJCXdhcm5pbmcoXygidW5yZWNvZ25pemVkIHBhdHRlcm46ICclcyciKSwgZ2l2ZW4tPnBhdHRlcm4pOworCQlnb3RvIGNsZWFyX2hhc2htYXBzOworCisJaW5jcmVtZW50OgorCQlwcmV2Kys7CisJCWN1cisrOworCQluZXh0Kys7CisJfQorCisJaWYgKGdpdmVuLT5wYXR0ZXJubGVuID4gMiAmJgorCSAgICAhc3RyY21wKGdpdmVuLT5wYXR0ZXJuICsgZ2l2ZW4tPnBhdHRlcm5sZW4gLSAyLCAiLyoiKSkgeworCQlpZiAoIShnaXZlbi0+ZmxhZ3MgJiBQQVRURVJOX0ZMQUdfTkVHQVRJVkUpKSB7CisJCQkvKiBOb3QgYSBjb25lIHBhdHRlcm4uICovCisJCQl3YXJuaW5nKF8oInVucmVjb2duaXplZCBwYXR0ZXJuOiAnJXMnIiksIGdpdmVuLT5wYXR0ZXJuKTsKKwkJCWdvdG8gY2xlYXJfaGFzaG1hcHM7CisJCX0KKworCQl0cnVuY2F0ZWQgPSBkdXBfYW5kX2ZpbHRlcl9wYXR0ZXJuKGdpdmVuLT5wYXR0ZXJuKTsKKworCQl0cmFuc2xhdGVkID0geG1hbGxvYyhzaXplb2Yoc3RydWN0IHBhdHRlcm5fZW50cnkpKTsKKwkJdHJhbnNsYXRlZC0+cGF0dGVybiA9IHRydW5jYXRlZDsKKwkJdHJhbnNsYXRlZC0+cGF0dGVybmxlbiA9IGdpdmVuLT5wYXR0ZXJubGVuIC0gMjsKKwkJaGFzaG1hcF9lbnRyeV9pbml0KCZ0cmFuc2xhdGVkLT5lbnQsCisJCQkJICAgaWdub3JlX2Nhc2UgPworCQkJCSAgIHN0cmloYXNoKHRyYW5zbGF0ZWQtPnBhdHRlcm4pIDoKKwkJCQkgICBzdHJoYXNoKHRyYW5zbGF0ZWQtPnBhdHRlcm4pKTsKKworCQlpZiAoIWhhc2htYXBfZ2V0X2VudHJ5KCZwbC0+cmVjdXJzaXZlX2hhc2htYXAsCisJCQkJICAgICAgIHRyYW5zbGF0ZWQsIGVudCwgTlVMTCkpIHsKKwkJCS8qIFdlIGRpZCBub3Qgc2VlIHRoZSAicGFyZW50IiBpbmNsdWRlZCAqLworCQkJd2FybmluZyhfKCJ1bnJlY29nbml6ZWQgbmVnYXRpdmUgcGF0dGVybjogJyVzJyIpLAorCQkJCWdpdmVuLT5wYXR0ZXJuKTsKKwkJCWZyZWUodHJ1bmNhdGVkKTsKKwkJCWZyZWUodHJhbnNsYXRlZCk7CisJCQlnb3RvIGNsZWFyX2hhc2htYXBzOworCQl9CisKKwkJaGFzaG1hcF9hZGQoJnBsLT5wYXJlbnRfaGFzaG1hcCwgJnRyYW5zbGF0ZWQtPmVudCk7CisJCWhhc2htYXBfcmVtb3ZlKCZwbC0+cmVjdXJzaXZlX2hhc2htYXAsICZ0cmFuc2xhdGVkLT5lbnQsICZkYXRhKTsKKwkJZnJlZShkYXRhKTsKKwkJcmV0dXJuOworCX0KKworCWlmIChnaXZlbi0+ZmxhZ3MgJiBQQVRURVJOX0ZMQUdfTkVHQVRJVkUpIHsKKwkJd2FybmluZyhfKCJ1bnJlY29nbml6ZWQgbmVnYXRpdmUgcGF0dGVybjogJyVzJyIpLAorCQkJZ2l2ZW4tPnBhdHRlcm4pOworCQlnb3RvIGNsZWFyX2hhc2htYXBzOworCX0KKworCXRyYW5zbGF0ZWQgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgcGF0dGVybl9lbnRyeSkpOworCisJdHJhbnNsYXRlZC0+cGF0dGVybiA9IGR1cF9hbmRfZmlsdGVyX3BhdHRlcm4oZ2l2ZW4tPnBhdHRlcm4pOworCXRyYW5zbGF0ZWQtPnBhdHRlcm5sZW4gPSBnaXZlbi0+cGF0dGVybmxlbjsKKwloYXNobWFwX2VudHJ5X2luaXQoJnRyYW5zbGF0ZWQtPmVudCwKKwkJCSAgIGlnbm9yZV9jYXNlID8KKwkJCSAgIHN0cmloYXNoKHRyYW5zbGF0ZWQtPnBhdHRlcm4pIDoKKwkJCSAgIHN0cmhhc2godHJhbnNsYXRlZC0+cGF0dGVybikpOworCisJaGFzaG1hcF9hZGQoJnBsLT5yZWN1cnNpdmVfaGFzaG1hcCwgJnRyYW5zbGF0ZWQtPmVudCk7CisKKwlpZiAoaGFzaG1hcF9nZXRfZW50cnkoJnBsLT5wYXJlbnRfaGFzaG1hcCwgdHJhbnNsYXRlZCwgZW50LCBOVUxMKSkgeworCQkvKiB3ZSBhbHJlYWR5IGluY2x1ZGVkIHRoaXMgYXQgdGhlIHBhcmVudCBsZXZlbCAqLworCQl3YXJuaW5nKF8oInlvdXIgc3BhcnNlLWNoZWNrb3V0IGZpbGUgbWF5IGhhdmUgaXNzdWVzOiBwYXR0ZXJuICclcycgaXMgcmVwZWF0ZWQiKSwKKwkJCWdpdmVuLT5wYXR0ZXJuKTsKKwkJaGFzaG1hcF9yZW1vdmUoJnBsLT5wYXJlbnRfaGFzaG1hcCwgJnRyYW5zbGF0ZWQtPmVudCwgJmRhdGEpOworCQlmcmVlKGRhdGEpOworCQlmcmVlKHRyYW5zbGF0ZWQpOworCX0KKworCXJldHVybjsKKworY2xlYXJfaGFzaG1hcHM6CisJd2FybmluZyhfKCJkaXNhYmxpbmcgY29uZSBwYXR0ZXJuIG1hdGNoaW5nIikpOworCWhhc2htYXBfZnJlZV9lbnRyaWVzKCZwbC0+cGFyZW50X2hhc2htYXAsIHN0cnVjdCBwYXR0ZXJuX2VudHJ5LCBlbnQpOworCWhhc2htYXBfZnJlZV9lbnRyaWVzKCZwbC0+cmVjdXJzaXZlX2hhc2htYXAsIHN0cnVjdCBwYXR0ZXJuX2VudHJ5LCBlbnQpOworCXBsLT51c2VfY29uZV9wYXR0ZXJucyA9IDA7Cit9CisKK3N0YXRpYyBpbnQgaGFzaG1hcF9jb250YWluc19wYXRoKHN0cnVjdCBoYXNobWFwICptYXAsCisJCQkJIHN0cnVjdCBzdHJidWYgKnBhdHRlcm4pCit7CisJc3RydWN0IHBhdHRlcm5fZW50cnkgcDsKKworCS8qIENoZWNrIHN0cmFpZ2h0IG1hcHBpbmcgKi8KKwlwLnBhdHRlcm4gPSBwYXR0ZXJuLT5idWY7CisJcC5wYXR0ZXJubGVuID0gcGF0dGVybi0+bGVuOworCWhhc2htYXBfZW50cnlfaW5pdCgmcC5lbnQsCisJCQkgICBpZ25vcmVfY2FzZSA/CisJCQkgICBzdHJpaGFzaChwLnBhdHRlcm4pIDoKKwkJCSAgIHN0cmhhc2gocC5wYXR0ZXJuKSk7CisJcmV0dXJuICEhaGFzaG1hcF9nZXRfZW50cnkobWFwLCAmcCwgZW50LCBOVUxMKTsKK30KKworaW50IGhhc2htYXBfY29udGFpbnNfcGFyZW50KHN0cnVjdCBoYXNobWFwICptYXAsCisJCQkgICAgY29uc3QgY2hhciAqcGF0aCwKKwkJCSAgICBzdHJ1Y3Qgc3RyYnVmICpidWZmZXIpCit7CisJY2hhciAqc2xhc2hfcG9zOworCisJc3RyYnVmX3NldGxlbihidWZmZXIsIDApOworCisJaWYgKHBhdGhbMF0gIT0gJy8nKQorCQlzdHJidWZfYWRkY2goYnVmZmVyLCAnLycpOworCisJc3RyYnVmX2FkZHN0cihidWZmZXIsIHBhdGgpOworCisJc2xhc2hfcG9zID0gc3RycmNocihidWZmZXItPmJ1ZiwgJy8nKTsKKworCXdoaWxlIChzbGFzaF9wb3MgPiBidWZmZXItPmJ1ZikgeworCQlzdHJidWZfc2V0bGVuKGJ1ZmZlciwgc2xhc2hfcG9zIC0gYnVmZmVyLT5idWYpOworCisJCWlmIChoYXNobWFwX2NvbnRhaW5zX3BhdGgobWFwLCBidWZmZXIpKQorCQkJcmV0dXJuIDE7CisKKwkJc2xhc2hfcG9zID0gc3RycmNocihidWZmZXItPmJ1ZiwgJy8nKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKwordm9pZCBhZGRfcGF0dGVybihjb25zdCBjaGFyICpzdHJpbmcsIGNvbnN0IGNoYXIgKmJhc2UsCisJCSBpbnQgYmFzZWxlbiwgc3RydWN0IHBhdHRlcm5fbGlzdCAqcGwsIGludCBzcmNwb3MpCit7CisJc3RydWN0IHBhdGhfcGF0dGVybiAqcGF0dGVybjsKIAlpbnQgcGF0dGVybmxlbjsKIAl1bnNpZ25lZCBmbGFnczsKIAlpbnQgbm93aWxkY2FyZGxlbjsKIAotCXBhcnNlX2V4Y2x1ZGVfcGF0dGVybigmc3RyaW5nLCAmcGF0dGVybmxlbiwgJmZsYWdzLCAmbm93aWxkY2FyZGxlbik7Ci0JaWYgKGZsYWdzICYgRVhDX0ZMQUdfTVVTVEJFRElSKSB7Ci0JCUZMRVhQVFJfQUxMT0NfTUVNKHgsIHBhdHRlcm4sIHN0cmluZywgcGF0dGVybmxlbik7CisJcGFyc2VfcGF0aF9wYXR0ZXJuKCZzdHJpbmcsICZwYXR0ZXJubGVuLCAmZmxhZ3MsICZub3dpbGRjYXJkbGVuKTsKKwlpZiAoZmxhZ3MgJiBQQVRURVJOX0ZMQUdfTVVTVEJFRElSKSB7CisJCUZMRVhQVFJfQUxMT0NfTUVNKHBhdHRlcm4sIHBhdHRlcm4sIHN0cmluZywgcGF0dGVybmxlbik7CiAJfSBlbHNlIHsKLQkJeCA9IHhtYWxsb2Moc2l6ZW9mKCp4KSk7Ci0JCXgtPnBhdHRlcm4gPSBzdHJpbmc7CisJCXBhdHRlcm4gPSB4bWFsbG9jKHNpemVvZigqcGF0dGVybikpOworCQlwYXR0ZXJuLT5wYXR0ZXJuID0gc3RyaW5nOwogCX0KLQl4LT5wYXR0ZXJubGVuID0gcGF0dGVybmxlbjsKLQl4LT5ub3dpbGRjYXJkbGVuID0gbm93aWxkY2FyZGxlbjsKLQl4LT5iYXNlID0gYmFzZTsKLQl4LT5iYXNlbGVuID0gYmFzZWxlbjsKLQl4LT5mbGFncyA9IGZsYWdzOwotCXgtPnNyY3BvcyA9IHNyY3BvczsKLQlBTExPQ19HUk9XKGVsLT5leGNsdWRlcywgZWwtPm5yICsgMSwgZWwtPmFsbG9jKTsKLQllbC0+ZXhjbHVkZXNbZWwtPm5yKytdID0geDsKLQl4LT5lbCA9IGVsOworCXBhdHRlcm4tPnBhdHRlcm5sZW4gPSBwYXR0ZXJubGVuOworCXBhdHRlcm4tPm5vd2lsZGNhcmRsZW4gPSBub3dpbGRjYXJkbGVuOworCXBhdHRlcm4tPmJhc2UgPSBiYXNlOworCXBhdHRlcm4tPmJhc2VsZW4gPSBiYXNlbGVuOworCXBhdHRlcm4tPmZsYWdzID0gZmxhZ3M7CisJcGF0dGVybi0+c3JjcG9zID0gc3JjcG9zOworCUFMTE9DX0dST1cocGwtPnBhdHRlcm5zLCBwbC0+bnIgKyAxLCBwbC0+YWxsb2MpOworCXBsLT5wYXR0ZXJuc1twbC0+bnIrK10gPSBwYXR0ZXJuOworCXBhdHRlcm4tPnBsID0gcGw7CisKKwlhZGRfcGF0dGVybl90b19oYXNoc2V0cyhwbCwgcGF0dGVybik7CiB9CiAKIHN0YXRpYyBpbnQgcmVhZF9za2lwX3dvcmt0cmVlX2ZpbGVfZnJvbV9pbmRleChjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKQEAgLTY4MiwxOSArODg3LDE5IEBACiB9CiAKIC8qCi0gKiBGcmVlcyBtZW1vcnkgd2l0aGluIGVsIHdoaWNoIHdhcyBhbGxvY2F0ZWQgZm9yIGV4Y2x1ZGUgcGF0dGVybnMgYW5kCi0gKiB0aGUgZmlsZSBidWZmZXIuICBEb2VzIG5vdCBmcmVlIGVsIGl0c2VsZi4KKyAqIEZyZWVzIG1lbW9yeSB3aXRoaW4gcGwgd2hpY2ggd2FzIGFsbG9jYXRlZCBmb3IgZXhjbHVkZSBwYXR0ZXJucyBhbmQKKyAqIHRoZSBmaWxlIGJ1ZmZlci4gIERvZXMgbm90IGZyZWUgcGwgaXRzZWxmLgogICovCi12b2lkIGNsZWFyX2V4Y2x1ZGVfbGlzdChzdHJ1Y3QgZXhjbHVkZV9saXN0ICplbCkKK3ZvaWQgY2xlYXJfcGF0dGVybl9saXN0KHN0cnVjdCBwYXR0ZXJuX2xpc3QgKnBsKQogewogCWludCBpOwogCi0JZm9yIChpID0gMDsgaSA8IGVsLT5ucjsgaSsrKQotCQlmcmVlKGVsLT5leGNsdWRlc1tpXSk7Ci0JZnJlZShlbC0+ZXhjbHVkZXMpOwotCWZyZWUoZWwtPmZpbGVidWYpOworCWZvciAoaSA9IDA7IGkgPCBwbC0+bnI7IGkrKykKKwkJZnJlZShwbC0+cGF0dGVybnNbaV0pOworCWZyZWUocGwtPnBhdHRlcm5zKTsKKwlmcmVlKHBsLT5maWxlYnVmKTsKIAotCW1lbXNldChlbCwgMCwgc2l6ZW9mKCplbCkpOworCW1lbXNldChwbCwgMCwgc2l6ZW9mKCpwbCkpOwogfQogCiBzdGF0aWMgdm9pZCB0cmltX3RyYWlsaW5nX3NwYWNlcyhjaGFyICpidWYpCkBAIC03NDAsNyArOTQ1LDcgQEAKIAlmaXJzdCA9IDA7CiAJbGFzdCA9IGRpci0+ZGlyc19ucjsKIAl3aGlsZSAobGFzdCA+IGZpcnN0KSB7Ci0JCWludCBjbXAsIG5leHQgPSAobGFzdCArIGZpcnN0KSA+PiAxOworCQlpbnQgY21wLCBuZXh0ID0gZmlyc3QgKyAoKGxhc3QgLSBmaXJzdCkgPj4gMSk7CiAJCWQgPSBkaXItPmRpcnNbbmV4dF07CiAJCWNtcCA9IHN0cm5jbXAobmFtZSwgZC0+bmFtZSwgbGVuKTsKIAkJaWYgKCFjbXAgJiYgc3RybGVuKGQtPm5hbWUpID4gbGVuKQpAQCAtODAxLDIxICsxMDA2LDIxIEBACiAJCWRpci0+ZGlyc1tpXS0+cmVjdXJzZSA9IDA7CiB9CiAKLXN0YXRpYyBpbnQgYWRkX2V4Y2x1ZGVzX2Zyb21fYnVmZmVyKGNoYXIgKmJ1Ziwgc2l6ZV90IHNpemUsCitzdGF0aWMgaW50IGFkZF9wYXR0ZXJuc19mcm9tX2J1ZmZlcihjaGFyICpidWYsIHNpemVfdCBzaXplLAogCQkJCSAgICBjb25zdCBjaGFyICpiYXNlLCBpbnQgYmFzZWxlbiwKLQkJCQkgICAgc3RydWN0IGV4Y2x1ZGVfbGlzdCAqZWwpOworCQkJCSAgICBzdHJ1Y3QgcGF0dGVybl9saXN0ICpwbCk7CiAKIC8qCiAgKiBHaXZlbiBhIGZpbGUgd2l0aCBuYW1lICJmbmFtZSIsIHJlYWQgaXQgKGVpdGhlciBmcm9tIGRpc2ssIG9yIGZyb20KICAqIGFuIGluZGV4IGlmICdpc3RhdGUnIGlzIG5vbi1udWxsKSwgcGFyc2UgaXQgYW5kIHN0b3JlIHRoZQotICogZXhjbHVkZSBydWxlcyBpbiAiZWwiLgorICogZXhjbHVkZSBydWxlcyBpbiAicGwiLgogICoKICAqIElmICJzcyIgaXMgbm90IE5VTEwsIGNvbXB1dGUgU0hBLTEgb2YgdGhlIGV4Y2x1ZGUgZmlsZSBhbmQgZmlsbAotICogc3RhdCBkYXRhIGZyb20gZGlzayAob25seSB2YWxpZCBpZiBhZGRfZXhjbHVkZXMgcmV0dXJucyB6ZXJvKS4gSWYKKyAqIHN0YXQgZGF0YSBmcm9tIGRpc2sgKG9ubHkgdmFsaWQgaWYgYWRkX3BhdHRlcm5zIHJldHVybnMgemVybykuIElmCiAgKiBzc192YWxpZCBpcyBub24temVybywgInNzIiBtdXN0IGNvbnRhaW4gZ29vZCB2YWx1ZSBhcyBpbnB1dC4KICAqLwotc3RhdGljIGludCBhZGRfZXhjbHVkZXMoY29uc3QgY2hhciAqZm5hbWUsIGNvbnN0IGNoYXIgKmJhc2UsIGludCBiYXNlbGVuLAotCQkJc3RydWN0IGV4Y2x1ZGVfbGlzdCAqZWwsIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorc3RhdGljIGludCBhZGRfcGF0dGVybnMoY29uc3QgY2hhciAqZm5hbWUsIGNvbnN0IGNoYXIgKmJhc2UsIGludCBiYXNlbGVuLAorCQkJc3RydWN0IHBhdHRlcm5fbGlzdCAqcGwsIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAogCQkJc3RydWN0IG9pZF9zdGF0ICpvaWRfc3RhdCkKIHsKIAlzdHJ1Y3Qgc3RhdCBzdDsKQEAgLTg2OSwyOCArMTA3NCwzMSBAQAogCQkJCW9pZGNweSgmb2lkX3N0YXQtPm9pZCwKIAkJCQkgICAgICAgJmlzdGF0ZS0+Y2FjaGVbcG9zXS0+b2lkKTsKIAkJCWVsc2UKLQkJCQloYXNoX29iamVjdF9maWxlKGJ1Ziwgc2l6ZSwgImJsb2IiLAotCQkJCQkJICZvaWRfc3RhdC0+b2lkKTsKKwkJCQloYXNoX29iamVjdF9maWxlKHRoZV9oYXNoX2FsZ28sIGJ1Ziwgc2l6ZSwKKwkJCQkJCSAiYmxvYiIsICZvaWRfc3RhdC0+b2lkKTsKIAkJCWZpbGxfc3RhdF9kYXRhKCZvaWRfc3RhdC0+c3RhdCwgJnN0KTsKIAkJCW9pZF9zdGF0LT52YWxpZCA9IDE7CiAJCX0KIAl9CiAKLQlhZGRfZXhjbHVkZXNfZnJvbV9idWZmZXIoYnVmLCBzaXplLCBiYXNlLCBiYXNlbGVuLCBlbCk7CisJYWRkX3BhdHRlcm5zX2Zyb21fYnVmZmVyKGJ1Ziwgc2l6ZSwgYmFzZSwgYmFzZWxlbiwgcGwpOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGFkZF9leGNsdWRlc19mcm9tX2J1ZmZlcihjaGFyICpidWYsIHNpemVfdCBzaXplLAorc3RhdGljIGludCBhZGRfcGF0dGVybnNfZnJvbV9idWZmZXIoY2hhciAqYnVmLCBzaXplX3Qgc2l6ZSwKIAkJCQkgICAgY29uc3QgY2hhciAqYmFzZSwgaW50IGJhc2VsZW4sCi0JCQkJICAgIHN0cnVjdCBleGNsdWRlX2xpc3QgKmVsKQorCQkJCSAgICBzdHJ1Y3QgcGF0dGVybl9saXN0ICpwbCkKIHsKIAlpbnQgaSwgbGluZW5vID0gMTsKIAljaGFyICplbnRyeTsKIAotCWVsLT5maWxlYnVmID0gYnVmOworCWhhc2htYXBfaW5pdCgmcGwtPnJlY3Vyc2l2ZV9oYXNobWFwLCBwbF9oYXNobWFwX2NtcCwgTlVMTCwgMCk7CisJaGFzaG1hcF9pbml0KCZwbC0+cGFyZW50X2hhc2htYXAsIHBsX2hhc2htYXBfY21wLCBOVUxMLCAwKTsKKworCXBsLT5maWxlYnVmID0gYnVmOwogCiAJaWYgKHNraXBfdXRmOF9ib20oJmJ1Ziwgc2l6ZSkpCi0JCXNpemUgLT0gYnVmIC0gZWwtPmZpbGVidWY7CisJCXNpemUgLT0gYnVmIC0gcGwtPmZpbGVidWY7CiAKIAllbnRyeSA9IGJ1ZjsKIApAQCAtODk5LDcgKzExMDcsNyBAQAogCQkJaWYgKGVudHJ5ICE9IGJ1ZiArIGkgJiYgZW50cnlbMF0gIT0gJyMnKSB7CiAJCQkJYnVmW2kgLSAoaSAmJiBidWZbaS0xXSA9PSAnXHInKV0gPSAwOwogCQkJCXRyaW1fdHJhaWxpbmdfc3BhY2VzKGVudHJ5KTsKLQkJCQlhZGRfZXhjbHVkZShlbnRyeSwgYmFzZSwgYmFzZWxlbiwgZWwsIGxpbmVubyk7CisJCQkJYWRkX3BhdHRlcm4oZW50cnksIGJhc2UsIGJhc2VsZW4sIHBsLCBsaW5lbm8pOwogCQkJfQogCQkJbGluZW5vKys7CiAJCQllbnRyeSA9IGJ1ZiArIGkgKyAxOwpAQCAtOTA4LDE3ICsxMTE2LDE3IEBACiAJcmV0dXJuIDA7CiB9CiAKLWludCBhZGRfZXhjbHVkZXNfZnJvbV9maWxlX3RvX2xpc3QoY29uc3QgY2hhciAqZm5hbWUsIGNvbnN0IGNoYXIgKmJhc2UsCi0JCQkJICAgaW50IGJhc2VsZW4sIHN0cnVjdCBleGNsdWRlX2xpc3QgKmVsLAoraW50IGFkZF9wYXR0ZXJuc19mcm9tX2ZpbGVfdG9fbGlzdChjb25zdCBjaGFyICpmbmFtZSwgY29uc3QgY2hhciAqYmFzZSwKKwkJCQkgICBpbnQgYmFzZWxlbiwgc3RydWN0IHBhdHRlcm5fbGlzdCAqcGwsCiAJCQkJICAgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpCiB7Ci0JcmV0dXJuIGFkZF9leGNsdWRlcyhmbmFtZSwgYmFzZSwgYmFzZWxlbiwgZWwsIGlzdGF0ZSwgTlVMTCk7CisJcmV0dXJuIGFkZF9wYXR0ZXJucyhmbmFtZSwgYmFzZSwgYmFzZWxlbiwgcGwsIGlzdGF0ZSwgTlVMTCk7CiB9CiAKLWludCBhZGRfZXhjbHVkZXNfZnJvbV9ibG9iX3RvX2xpc3QoCitpbnQgYWRkX3BhdHRlcm5zX2Zyb21fYmxvYl90b19saXN0KAogCXN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAljb25zdCBjaGFyICpiYXNlLCBpbnQgYmFzZWxlbiwKLQlzdHJ1Y3QgZXhjbHVkZV9saXN0ICplbCkKKwlzdHJ1Y3QgcGF0dGVybl9saXN0ICpwbCkKIHsKIAljaGFyICpidWY7CiAJc2l6ZV90IHNpemU7CkBAIC05MjgsMzEgKzExMzYsMzEgQEAKIAlpZiAociAhPSAxKQogCQlyZXR1cm4gcjsKIAotCWFkZF9leGNsdWRlc19mcm9tX2J1ZmZlcihidWYsIHNpemUsIGJhc2UsIGJhc2VsZW4sIGVsKTsKKwlhZGRfcGF0dGVybnNfZnJvbV9idWZmZXIoYnVmLCBzaXplLCBiYXNlLCBiYXNlbGVuLCBwbCk7CiAJcmV0dXJuIDA7CiB9CiAKLXN0cnVjdCBleGNsdWRlX2xpc3QgKmFkZF9leGNsdWRlX2xpc3Qoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKK3N0cnVjdCBwYXR0ZXJuX2xpc3QgKmFkZF9wYXR0ZXJuX2xpc3Qoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKIAkJCQkgICAgICBpbnQgZ3JvdXBfdHlwZSwgY29uc3QgY2hhciAqc3JjKQogewotCXN0cnVjdCBleGNsdWRlX2xpc3QgKmVsOworCXN0cnVjdCBwYXR0ZXJuX2xpc3QgKnBsOwogCXN0cnVjdCBleGNsdWRlX2xpc3RfZ3JvdXAgKmdyb3VwOwogCiAJZ3JvdXAgPSAmZGlyLT5leGNsdWRlX2xpc3RfZ3JvdXBbZ3JvdXBfdHlwZV07Ci0JQUxMT0NfR1JPVyhncm91cC0+ZWwsIGdyb3VwLT5uciArIDEsIGdyb3VwLT5hbGxvYyk7Ci0JZWwgPSAmZ3JvdXAtPmVsW2dyb3VwLT5ucisrXTsKLQltZW1zZXQoZWwsIDAsIHNpemVvZigqZWwpKTsKLQllbC0+c3JjID0gc3JjOwotCXJldHVybiBlbDsKKwlBTExPQ19HUk9XKGdyb3VwLT5wbCwgZ3JvdXAtPm5yICsgMSwgZ3JvdXAtPmFsbG9jKTsKKwlwbCA9ICZncm91cC0+cGxbZ3JvdXAtPm5yKytdOworCW1lbXNldChwbCwgMCwgc2l6ZW9mKCpwbCkpOworCXBsLT5zcmMgPSBzcmM7CisJcmV0dXJuIHBsOwogfQogCiAvKgogICogVXNlZCB0byBzZXQgdXAgY29yZS5leGNsdWRlc2ZpbGUgYW5kIC5naXQvaW5mby9leGNsdWRlIGxpc3RzLgogICovCi1zdGF0aWMgdm9pZCBhZGRfZXhjbHVkZXNfZnJvbV9maWxlXzEoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwgY29uc3QgY2hhciAqZm5hbWUsCitzdGF0aWMgdm9pZCBhZGRfcGF0dGVybnNfZnJvbV9maWxlXzEoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwgY29uc3QgY2hhciAqZm5hbWUsCiAJCQkJICAgICBzdHJ1Y3Qgb2lkX3N0YXQgKm9pZF9zdGF0KQogewotCXN0cnVjdCBleGNsdWRlX2xpc3QgKmVsOworCXN0cnVjdCBwYXR0ZXJuX2xpc3QgKnBsOwogCS8qCiAJICogY2F0Y2ggc2V0dXBfc3RhbmRhcmRfZXhjbHVkZXMoKSB0aGF0J3MgY2FsbGVkIGJlZm9yZQogCSAqIGRpci0+dW50cmFja2VkIGlzIGFzc2lnbmVkLiBUaGF0IGZ1bmN0aW9uIGJlaGF2ZXMKQEAgLTk2MCwxNSArMTE2OCwxNSBAQAogCSAqLwogCWlmICghZGlyLT51bnRyYWNrZWQpCiAJCWRpci0+dW5tYW5hZ2VkX2V4Y2x1ZGVfZmlsZXMrKzsKLQllbCA9IGFkZF9leGNsdWRlX2xpc3QoZGlyLCBFWENfRklMRSwgZm5hbWUpOwotCWlmIChhZGRfZXhjbHVkZXMoZm5hbWUsICIiLCAwLCBlbCwgTlVMTCwgb2lkX3N0YXQpIDwgMCkKKwlwbCA9IGFkZF9wYXR0ZXJuX2xpc3QoZGlyLCBFWENfRklMRSwgZm5hbWUpOworCWlmIChhZGRfcGF0dGVybnMoZm5hbWUsICIiLCAwLCBwbCwgTlVMTCwgb2lkX3N0YXQpIDwgMCkKIAkJZGllKF8oImNhbm5vdCB1c2UgJXMgYXMgYW4gZXhjbHVkZSBmaWxlIiksIGZuYW1lKTsKIH0KIAotdm9pZCBhZGRfZXhjbHVkZXNfZnJvbV9maWxlKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsIGNvbnN0IGNoYXIgKmZuYW1lKQordm9pZCBhZGRfcGF0dGVybnNfZnJvbV9maWxlKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsIGNvbnN0IGNoYXIgKmZuYW1lKQogewogCWRpci0+dW5tYW5hZ2VkX2V4Y2x1ZGVfZmlsZXMrKzsgLyogc2VlIHZhbGlkYXRlX3VudHJhY2tlZF9jYWNoZSgpICovCi0JYWRkX2V4Y2x1ZGVzX2Zyb21fZmlsZV8xKGRpciwgZm5hbWUsIE5VTEwpOworCWFkZF9wYXR0ZXJuc19mcm9tX2ZpbGVfMShkaXIsIGZuYW1lLCBOVUxMKTsKIH0KIAogaW50IG1hdGNoX2Jhc2VuYW1lKGNvbnN0IGNoYXIgKmJhc2VuYW1lLCBpbnQgYmFzZW5hbWVsZW4sCkBAIC05NzksNyArMTE4Nyw3IEBACiAJCWlmIChwYXR0ZXJubGVuID09IGJhc2VuYW1lbGVuICYmCiAJCSAgICAhZnNwYXRobmNtcChwYXR0ZXJuLCBiYXNlbmFtZSwgYmFzZW5hbWVsZW4pKQogCQkJcmV0dXJuIDE7Ci0JfSBlbHNlIGlmIChmbGFncyAmIEVYQ19GTEFHX0VORFNXSVRIKSB7CisJfSBlbHNlIGlmIChmbGFncyAmIFBBVFRFUk5fRkxBR19FTkRTV0lUSCkgewogCQkvKiAiKmxpdGVyYWwiIG1hdGNoaW5nIGFnYWluc3QgImZvb2xpdGVyYWwiICovCiAJCWlmIChwYXR0ZXJubGVuIC0gMSA8PSBiYXNlbmFtZWxlbiAmJgogCQkgICAgIWZzcGF0aG5jbXAocGF0dGVybiArIDEsCkBAIC0xMDYwLDg1ICsxMjY4LDEzOCBAQAogICogYW55LCBkZXRlcm1pbmVzIHRoZSBmYXRlLiAgUmV0dXJucyB0aGUgZXhjbHVkZV9saXN0IGVsZW1lbnQgd2hpY2gKICAqIG1hdGNoZWQsIG9yIE5VTEwgZm9yIHVuZGVjaWRlZC4KICAqLwotc3RhdGljIHN0cnVjdCBleGNsdWRlICpsYXN0X2V4Y2x1ZGVfbWF0Y2hpbmdfZnJvbV9saXN0KGNvbnN0IGNoYXIgKnBhdGhuYW1lLAorc3RhdGljIHN0cnVjdCBwYXRoX3BhdHRlcm4gKmxhc3RfbWF0Y2hpbmdfcGF0dGVybl9mcm9tX2xpc3QoY29uc3QgY2hhciAqcGF0aG5hbWUsCiAJCQkJCQkgICAgICAgaW50IHBhdGhsZW4sCiAJCQkJCQkgICAgICAgY29uc3QgY2hhciAqYmFzZW5hbWUsCiAJCQkJCQkgICAgICAgaW50ICpkdHlwZSwKLQkJCQkJCSAgICAgICBzdHJ1Y3QgZXhjbHVkZV9saXN0ICplbCwKKwkJCQkJCSAgICAgICBzdHJ1Y3QgcGF0dGVybl9saXN0ICpwbCwKIAkJCQkJCSAgICAgICBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSkKIHsKLQlzdHJ1Y3QgZXhjbHVkZSAqZXhjID0gTlVMTDsgLyogdW5kZWNpZGVkICovCisJc3RydWN0IHBhdGhfcGF0dGVybiAqcmVzID0gTlVMTDsgLyogdW5kZWNpZGVkICovCiAJaW50IGk7CiAKLQlpZiAoIWVsLT5ucikKKwlpZiAoIXBsLT5ucikKIAkJcmV0dXJuIE5VTEw7CS8qIHVuZGVmaW5lZCAqLwogCi0JZm9yIChpID0gZWwtPm5yIC0gMTsgMCA8PSBpOyBpLS0pIHsKLQkJc3RydWN0IGV4Y2x1ZGUgKnggPSBlbC0+ZXhjbHVkZXNbaV07Ci0JCWNvbnN0IGNoYXIgKmV4Y2x1ZGUgPSB4LT5wYXR0ZXJuOwotCQlpbnQgcHJlZml4ID0geC0+bm93aWxkY2FyZGxlbjsKKwlmb3IgKGkgPSBwbC0+bnIgLSAxOyAwIDw9IGk7IGktLSkgeworCQlzdHJ1Y3QgcGF0aF9wYXR0ZXJuICpwYXR0ZXJuID0gcGwtPnBhdHRlcm5zW2ldOworCQljb25zdCBjaGFyICpleGNsdWRlID0gcGF0dGVybi0+cGF0dGVybjsKKwkJaW50IHByZWZpeCA9IHBhdHRlcm4tPm5vd2lsZGNhcmRsZW47CiAKLQkJaWYgKHgtPmZsYWdzICYgRVhDX0ZMQUdfTVVTVEJFRElSKSB7Ci0JCQlpZiAoKmR0eXBlID09IERUX1VOS05PV04pCi0JCQkJKmR0eXBlID0gZ2V0X2R0eXBlKE5VTEwsIGlzdGF0ZSwgcGF0aG5hbWUsIHBhdGhsZW4pOworCQlpZiAocGF0dGVybi0+ZmxhZ3MgJiBQQVRURVJOX0ZMQUdfTVVTVEJFRElSKSB7CisJCQkqZHR5cGUgPSByZXNvbHZlX2R0eXBlKCpkdHlwZSwgaXN0YXRlLCBwYXRobmFtZSwgcGF0aGxlbik7CiAJCQlpZiAoKmR0eXBlICE9IERUX0RJUikKIAkJCQljb250aW51ZTsKIAkJfQogCi0JCWlmICh4LT5mbGFncyAmIEVYQ19GTEFHX05PRElSKSB7CisJCWlmIChwYXR0ZXJuLT5mbGFncyAmIFBBVFRFUk5fRkxBR19OT0RJUikgewogCQkJaWYgKG1hdGNoX2Jhc2VuYW1lKGJhc2VuYW1lLAogCQkJCQkgICBwYXRobGVuIC0gKGJhc2VuYW1lIC0gcGF0aG5hbWUpLAotCQkJCQkgICBleGNsdWRlLCBwcmVmaXgsIHgtPnBhdHRlcm5sZW4sCi0JCQkJCSAgIHgtPmZsYWdzKSkgewotCQkJCWV4YyA9IHg7CisJCQkJCSAgIGV4Y2x1ZGUsIHByZWZpeCwgcGF0dGVybi0+cGF0dGVybmxlbiwKKwkJCQkJICAgcGF0dGVybi0+ZmxhZ3MpKSB7CisJCQkJcmVzID0gcGF0dGVybjsKIAkJCQlicmVhazsKIAkJCX0KIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJYXNzZXJ0KHgtPmJhc2VsZW4gPT0gMCB8fCB4LT5iYXNlW3gtPmJhc2VsZW4gLSAxXSA9PSAnLycpOworCQlhc3NlcnQocGF0dGVybi0+YmFzZWxlbiA9PSAwIHx8CisJCSAgICAgICBwYXR0ZXJuLT5iYXNlW3BhdHRlcm4tPmJhc2VsZW4gLSAxXSA9PSAnLycpOwogCQlpZiAobWF0Y2hfcGF0aG5hbWUocGF0aG5hbWUsIHBhdGhsZW4sCi0JCQkJICAgeC0+YmFzZSwgeC0+YmFzZWxlbiA/IHgtPmJhc2VsZW4gLSAxIDogMCwKLQkJCQkgICBleGNsdWRlLCBwcmVmaXgsIHgtPnBhdHRlcm5sZW4sIHgtPmZsYWdzKSkgewotCQkJZXhjID0geDsKKwkJCQkgICBwYXR0ZXJuLT5iYXNlLAorCQkJCSAgIHBhdHRlcm4tPmJhc2VsZW4gPyBwYXR0ZXJuLT5iYXNlbGVuIC0gMSA6IDAsCisJCQkJICAgZXhjbHVkZSwgcHJlZml4LCBwYXR0ZXJuLT5wYXR0ZXJubGVuLAorCQkJCSAgIHBhdHRlcm4tPmZsYWdzKSkgeworCQkJcmVzID0gcGF0dGVybjsKIAkJCWJyZWFrOwogCQl9CiAJfQotCXJldHVybiBleGM7CisJcmV0dXJuIHJlczsKIH0KIAogLyoKLSAqIFNjYW4gdGhlIGxpc3QgYW5kIGxldCB0aGUgbGFzdCBtYXRjaCBkZXRlcm1pbmUgdGhlIGZhdGUuCi0gKiBSZXR1cm4gMSBmb3IgZXhjbHVkZSwgMCBmb3IgaW5jbHVkZSBhbmQgLTEgZm9yIHVuZGVjaWRlZC4KKyAqIFNjYW4gdGhlIGxpc3Qgb2YgcGF0dGVybnMgdG8gZGV0ZXJtaW5lIGlmIHRoZSBvcmRlcmVkIGxpc3QKKyAqIG9mIHBhdHRlcm5zIG1hdGNoZXMgb24gJ3BhdGhuYW1lJy4KKyAqCisgKiBSZXR1cm4gMSBmb3IgYSBtYXRjaCwgMCBmb3Igbm90IG1hdGNoZWQgYW5kIC0xIGZvciB1bmRlY2lkZWQuCiAgKi8KLWludCBpc19leGNsdWRlZF9mcm9tX2xpc3QoY29uc3QgY2hhciAqcGF0aG5hbWUsCi0JCQkgIGludCBwYXRobGVuLCBjb25zdCBjaGFyICpiYXNlbmFtZSwgaW50ICpkdHlwZSwKLQkJCSAgc3RydWN0IGV4Y2x1ZGVfbGlzdCAqZWwsIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKQorZW51bSBwYXR0ZXJuX21hdGNoX3Jlc3VsdCBwYXRoX21hdGNoZXNfcGF0dGVybl9saXN0KAorCQkJCWNvbnN0IGNoYXIgKnBhdGhuYW1lLCBpbnQgcGF0aGxlbiwKKwkJCQljb25zdCBjaGFyICpiYXNlbmFtZSwgaW50ICpkdHlwZSwKKwkJCQlzdHJ1Y3QgcGF0dGVybl9saXN0ICpwbCwKKwkJCQlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSkKIHsKLQlzdHJ1Y3QgZXhjbHVkZSAqZXhjbHVkZTsKLQlleGNsdWRlID0gbGFzdF9leGNsdWRlX21hdGNoaW5nX2Zyb21fbGlzdChwYXRobmFtZSwgcGF0aGxlbiwgYmFzZW5hbWUsCi0JCQkJCQkgIGR0eXBlLCBlbCwgaXN0YXRlKTsKLQlpZiAoZXhjbHVkZSkKLQkJcmV0dXJuIGV4Y2x1ZGUtPmZsYWdzICYgRVhDX0ZMQUdfTkVHQVRJVkUgPyAwIDogMTsKLQlyZXR1cm4gLTE7IC8qIHVuZGVjaWRlZCAqLworCXN0cnVjdCBwYXRoX3BhdHRlcm4gKnBhdHRlcm47CisJc3RydWN0IHN0cmJ1ZiBwYXJlbnRfcGF0aG5hbWUgPSBTVFJCVUZfSU5JVDsKKwlpbnQgcmVzdWx0ID0gTk9UX01BVENIRUQ7CisJY29uc3QgY2hhciAqc2xhc2hfcG9zOworCisJaWYgKCFwbC0+dXNlX2NvbmVfcGF0dGVybnMpIHsKKwkJcGF0dGVybiA9IGxhc3RfbWF0Y2hpbmdfcGF0dGVybl9mcm9tX2xpc3QocGF0aG5hbWUsIHBhdGhsZW4sIGJhc2VuYW1lLAorCQkJCQkJCWR0eXBlLCBwbCwgaXN0YXRlKTsKKwkJaWYgKHBhdHRlcm4pIHsKKwkJCWlmIChwYXR0ZXJuLT5mbGFncyAmIFBBVFRFUk5fRkxBR19ORUdBVElWRSkKKwkJCQlyZXR1cm4gTk9UX01BVENIRUQ7CisJCQllbHNlCisJCQkJcmV0dXJuIE1BVENIRUQ7CisJCX0KKworCQlyZXR1cm4gVU5ERUNJREVEOworCX0KKworCWlmIChwbC0+ZnVsbF9jb25lKQorCQlyZXR1cm4gTUFUQ0hFRDsKKworCXN0cmJ1Zl9hZGRjaCgmcGFyZW50X3BhdGhuYW1lLCAnLycpOworCXN0cmJ1Zl9hZGQoJnBhcmVudF9wYXRobmFtZSwgcGF0aG5hbWUsIHBhdGhsZW4pOworCisJaWYgKGhhc2htYXBfY29udGFpbnNfcGF0aCgmcGwtPnJlY3Vyc2l2ZV9oYXNobWFwLAorCQkJCSAgJnBhcmVudF9wYXRobmFtZSkpIHsKKwkJcmVzdWx0ID0gTUFUQ0hFRF9SRUNVUlNJVkU7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlzbGFzaF9wb3MgPSBzdHJyY2hyKHBhcmVudF9wYXRobmFtZS5idWYsICcvJyk7CisKKwlpZiAoc2xhc2hfcG9zID09IHBhcmVudF9wYXRobmFtZS5idWYpIHsKKwkJLyogaW5jbHVkZSBldmVyeSBmaWxlIGluIHJvb3QgKi8KKwkJcmVzdWx0ID0gTUFUQ0hFRDsKKwkJZ290byBkb25lOworCX0KKworCXN0cmJ1Zl9zZXRsZW4oJnBhcmVudF9wYXRobmFtZSwgc2xhc2hfcG9zIC0gcGFyZW50X3BhdGhuYW1lLmJ1Zik7CisKKwlpZiAoaGFzaG1hcF9jb250YWluc19wYXRoKCZwbC0+cGFyZW50X2hhc2htYXAsICZwYXJlbnRfcGF0aG5hbWUpKSB7CisJCXJlc3VsdCA9IE1BVENIRUQ7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlpZiAoaGFzaG1hcF9jb250YWluc19wYXJlbnQoJnBsLT5yZWN1cnNpdmVfaGFzaG1hcCwKKwkJCQkgICAgcGF0aG5hbWUsCisJCQkJICAgICZwYXJlbnRfcGF0aG5hbWUpKQorCQlyZXN1bHQgPSBNQVRDSEVEX1JFQ1VSU0lWRTsKKworZG9uZToKKwlzdHJidWZfcmVsZWFzZSgmcGFyZW50X3BhdGhuYW1lKTsKKwlyZXR1cm4gcmVzdWx0OwogfQogCi1zdGF0aWMgc3RydWN0IGV4Y2x1ZGUgKmxhc3RfZXhjbHVkZV9tYXRjaGluZ19mcm9tX2xpc3RzKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsCi0JCQkJCQkJc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCi0JCWNvbnN0IGNoYXIgKnBhdGhuYW1lLCBpbnQgcGF0aGxlbiwgY29uc3QgY2hhciAqYmFzZW5hbWUsCi0JCWludCAqZHR5cGVfcCkKK3N0YXRpYyBzdHJ1Y3QgcGF0aF9wYXR0ZXJuICpsYXN0X21hdGNoaW5nX3BhdHRlcm5fZnJvbV9saXN0cygKKwkJc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCisJCWNvbnN0IGNoYXIgKnBhdGhuYW1lLCBpbnQgcGF0aGxlbiwKKwkJY29uc3QgY2hhciAqYmFzZW5hbWUsIGludCAqZHR5cGVfcCkKIHsKIAlpbnQgaSwgajsKIAlzdHJ1Y3QgZXhjbHVkZV9saXN0X2dyb3VwICpncm91cDsKLQlzdHJ1Y3QgZXhjbHVkZSAqZXhjbHVkZTsKKwlzdHJ1Y3QgcGF0aF9wYXR0ZXJuICpwYXR0ZXJuOwogCWZvciAoaSA9IEVYQ19DTURMOyBpIDw9IEVYQ19GSUxFOyBpKyspIHsKIAkJZ3JvdXAgPSAmZGlyLT5leGNsdWRlX2xpc3RfZ3JvdXBbaV07CiAJCWZvciAoaiA9IGdyb3VwLT5uciAtIDE7IGogPj0gMDsgai0tKSB7Ci0JCQlleGNsdWRlID0gbGFzdF9leGNsdWRlX21hdGNoaW5nX2Zyb21fbGlzdCgKKwkJCXBhdHRlcm4gPSBsYXN0X21hdGNoaW5nX3BhdHRlcm5fZnJvbV9saXN0KAogCQkJCXBhdGhuYW1lLCBwYXRobGVuLCBiYXNlbmFtZSwgZHR5cGVfcCwKLQkJCQkmZ3JvdXAtPmVsW2pdLCBpc3RhdGUpOwotCQkJaWYgKGV4Y2x1ZGUpCi0JCQkJcmV0dXJuIGV4Y2x1ZGU7CisJCQkJJmdyb3VwLT5wbFtqXSwgaXN0YXRlKTsKKwkJCWlmIChwYXR0ZXJuKQorCQkJCXJldHVybiBwYXR0ZXJuOwogCQl9CiAJfQogCXJldHVybiBOVUxMOwpAQCAtMTE1Myw3ICsxNDE0LDcgQEAKIAkJCSBjb25zdCBjaGFyICpiYXNlLCBpbnQgYmFzZWxlbikKIHsKIAlzdHJ1Y3QgZXhjbHVkZV9saXN0X2dyb3VwICpncm91cDsKLQlzdHJ1Y3QgZXhjbHVkZV9saXN0ICplbDsKKwlzdHJ1Y3QgcGF0dGVybl9saXN0ICpwbDsKIAlzdHJ1Y3QgZXhjbHVkZV9zdGFjayAqc3RrID0gTlVMTDsKIAlzdHJ1Y3QgdW50cmFja2VkX2NhY2hlX2RpciAqdW50cmFja2VkOwogCWludCBjdXJyZW50OwpAQCAtMTE2OSwxNyArMTQzMCwxNyBAQAogCQlpZiAoc3RrLT5iYXNlbGVuIDw9IGJhc2VsZW4gJiYKIAkJICAgICFzdHJuY21wKGRpci0+YmFzZWJ1Zi5idWYsIGJhc2UsIHN0ay0+YmFzZWxlbikpCiAJCQlicmVhazsKLQkJZWwgPSAmZ3JvdXAtPmVsW2Rpci0+ZXhjbHVkZV9zdGFjay0+ZXhjbHVkZV9peF07CisJCXBsID0gJmdyb3VwLT5wbFtkaXItPmV4Y2x1ZGVfc3RhY2stPmV4Y2x1ZGVfaXhdOwogCQlkaXItPmV4Y2x1ZGVfc3RhY2sgPSBzdGstPnByZXY7Ci0JCWRpci0+ZXhjbHVkZSA9IE5VTEw7Ci0JCWZyZWUoKGNoYXIgKillbC0+c3JjKTsgLyogc2VlIHN0cmJ1Zl9kZXRhY2goKSBiZWxvdyAqLwotCQljbGVhcl9leGNsdWRlX2xpc3QoZWwpOworCQlkaXItPnBhdHRlcm4gPSBOVUxMOworCQlmcmVlKChjaGFyICopcGwtPnNyYyk7IC8qIHNlZSBzdHJidWZfZGV0YWNoKCkgYmVsb3cgKi8KKwkJY2xlYXJfcGF0dGVybl9saXN0KHBsKTsKIAkJZnJlZShzdGspOwogCQlncm91cC0+bnItLTsKIAl9CiAKIAkvKiBTa2lwIHRyYXZlcnNpbmcgaW50byBzdWIgZGlyZWN0b3JpZXMgaWYgdGhlIHBhcmVudCBpcyBleGNsdWRlZCAqLwotCWlmIChkaXItPmV4Y2x1ZGUpCisJaWYgKGRpci0+cGF0dGVybikKIAkJcmV0dXJuOwogCiAJLyoKQEAgLTEyMjAsNyArMTQ4MSw3IEBACiAJCXN0ay0+YmFzZWxlbiA9IGNwIC0gYmFzZTsKIAkJc3RrLT5leGNsdWRlX2l4ID0gZ3JvdXAtPm5yOwogCQlzdGstPnVjZCA9IHVudHJhY2tlZDsKLQkJZWwgPSBhZGRfZXhjbHVkZV9saXN0KGRpciwgRVhDX0RJUlMsIE5VTEwpOworCQlwbCA9IGFkZF9wYXR0ZXJuX2xpc3QoZGlyLCBFWENfRElSUywgTlVMTCk7CiAJCXN0cmJ1Zl9hZGQoJmRpci0+YmFzZWJ1ZiwgYmFzZSArIGN1cnJlbnQsIHN0ay0+YmFzZWxlbiAtIGN1cnJlbnQpOwogCQlhc3NlcnQoc3RrLT5iYXNlbGVuID09IGRpci0+YmFzZWJ1Zi5sZW4pOwogCkBAIC0xMjI4LDE1ICsxNDg5LDE1IEBACiAJCWlmIChzdGstPmJhc2VsZW4pIHsKIAkJCWludCBkdCA9IERUX0RJUjsKIAkJCWRpci0+YmFzZWJ1Zi5idWZbc3RrLT5iYXNlbGVuIC0gMV0gPSAwOwotCQkJZGlyLT5leGNsdWRlID0gbGFzdF9leGNsdWRlX21hdGNoaW5nX2Zyb21fbGlzdHMoZGlyLAorCQkJZGlyLT5wYXR0ZXJuID0gbGFzdF9tYXRjaGluZ19wYXR0ZXJuX2Zyb21fbGlzdHMoZGlyLAogCQkJCQkJCQkJaXN0YXRlLAogCQkJCWRpci0+YmFzZWJ1Zi5idWYsIHN0ay0+YmFzZWxlbiAtIDEsCiAJCQkJZGlyLT5iYXNlYnVmLmJ1ZiArIGN1cnJlbnQsICZkdCk7CiAJCQlkaXItPmJhc2VidWYuYnVmW3N0ay0+YmFzZWxlbiAtIDFdID0gJy8nOwotCQkJaWYgKGRpci0+ZXhjbHVkZSAmJgotCQkJICAgIGRpci0+ZXhjbHVkZS0+ZmxhZ3MgJiBFWENfRkxBR19ORUdBVElWRSkKLQkJCQlkaXItPmV4Y2x1ZGUgPSBOVUxMOwotCQkJaWYgKGRpci0+ZXhjbHVkZSkgeworCQkJaWYgKGRpci0+cGF0dGVybiAmJgorCQkJICAgIGRpci0+cGF0dGVybi0+ZmxhZ3MgJiBQQVRURVJOX0ZMQUdfTkVHQVRJVkUpCisJCQkJZGlyLT5wYXR0ZXJuID0gTlVMTDsKKwkJCWlmIChkaXItPnBhdHRlcm4pIHsKIAkJCQlkaXItPmV4Y2x1ZGVfc3RhY2sgPSBzdGs7CiAJCQkJcmV0dXJuOwogCQkJfQpAQCAtMTI2MiwzMCArMTUyMywzMCBAQAogCQkJLyoKIAkJCSAqIGRpci0+YmFzZWJ1ZiBnZXRzIHJldXNlZCBieSB0aGUgdHJhdmVyc2FsLCBidXQgd2UKIAkJCSAqIG5lZWQgZm5hbWUgdG8gcmVtYWluIHVuY2hhbmdlZCB0byBlbnN1cmUgdGhlIHNyYwotCQkJICogbWVtYmVyIG9mIGVhY2ggc3RydWN0IGV4Y2x1ZGUgY29ycmVjdGx5CisJCQkgKiBtZW1iZXIgb2YgZWFjaCBzdHJ1Y3QgcGF0aF9wYXR0ZXJuIGNvcnJlY3RseQogCQkJICogYmFjay1yZWZlcmVuY2VzIGl0cyBzb3VyY2UgZmlsZS4gIE90aGVyIGludm9jYXRpb25zCi0JCQkgKiBvZiBhZGRfZXhjbHVkZV9saXN0IHByb3ZpZGUgc3RhYmxlIHN0cmluZ3MsIHNvIHdlCisJCQkgKiBvZiBhZGRfcGF0dGVybl9saXN0IHByb3ZpZGUgc3RhYmxlIHN0cmluZ3MsIHNvIHdlCiAJCQkgKiBzdHJidWZfZGV0YWNoKCkgYW5kIGZyZWUoKSBoZXJlIGluIHRoZSBjYWxsZXIuCiAJCQkgKi8KIAkJCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKIAkJCXN0cmJ1Zl9hZGRidWYoJnNiLCAmZGlyLT5iYXNlYnVmKTsKIAkJCXN0cmJ1Zl9hZGRzdHIoJnNiLCBkaXItPmV4Y2x1ZGVfcGVyX2Rpcik7Ci0JCQllbC0+c3JjID0gc3RyYnVmX2RldGFjaCgmc2IsIE5VTEwpOwotCQkJYWRkX2V4Y2x1ZGVzKGVsLT5zcmMsIGVsLT5zcmMsIHN0ay0+YmFzZWxlbiwgZWwsIGlzdGF0ZSwKKwkJCXBsLT5zcmMgPSBzdHJidWZfZGV0YWNoKCZzYiwgTlVMTCk7CisJCQlhZGRfcGF0dGVybnMocGwtPnNyYywgcGwtPnNyYywgc3RrLT5iYXNlbGVuLCBwbCwgaXN0YXRlLAogCQkJCSAgICAgdW50cmFja2VkID8gJm9pZF9zdGF0IDogTlVMTCk7CiAJCX0KIAkJLyoKIAkJICogTkVFRFNXT1JLOiB3aGVuIHVudHJhY2tlZCBjYWNoZSBpcyBlbmFibGVkLCBwcmVwX2V4Y2x1ZGUoKQogCQkgKiB3aWxsIGZpcnN0IGJlIGNhbGxlZCBpbiB2YWxpZF9jYWNoZWRfZGlyKCkgdGhlbiBtYXliZSBtYW55Ci0JCSAqIHRpbWVzIG1vcmUgaW4gbGFzdF9leGNsdWRlX21hdGNoaW5nKCkuIFdoZW4gdGhlIGNhY2hlIGlzCi0JCSAqIHVzZWQsIGxhc3RfZXhjbHVkZV9tYXRjaGluZygpIHdpbGwgbm90IGJlIGNhbGxlZCBhbmQKKwkJICogdGltZXMgbW9yZSBpbiBsYXN0X21hdGNoaW5nX3BhdHRlcm4oKS4gV2hlbiB0aGUgY2FjaGUgaXMKKwkJICogdXNlZCwgbGFzdF9tYXRjaGluZ19wYXR0ZXJuKCkgd2lsbCBub3QgYmUgY2FsbGVkIGFuZAogCQkgKiByZWFkaW5nIC5naXRpZ25vcmUgY29udGVudCB3aWxsIGJlIGEgd2FzdGUuCiAJCSAqCiAJCSAqIFNvIHdoZW4gaXQncyBjYWxsZWQgYnkgdmFsaWRfY2FjaGVkX2RpcigpIGFuZCB3ZSBjYW4gZ2V0CiAJCSAqIC5naXRpZ25vcmUgU0hBLTEgZnJvbSB0aGUgaW5kZXggKGkuZS4gLmdpdGlnbm9yZSBpcyBub3QKIAkJICogbW9kaWZpZWQgb24gd29yayB0cmVlKSwgd2UgY291bGQgZGVsYXkgcmVhZGluZyB0aGUKIAkJICogLmdpdGlnbm9yZSBjb250ZW50IHVudGlsIHdlIGFic29sdXRlbHkgbmVlZCBpdCBpbgotCQkgKiBsYXN0X2V4Y2x1ZGVfbWF0Y2hpbmcoKS4gQmUgY2FyZWZ1bCBhYm91dCBpZ25vcmUgcnVsZQorCQkgKiBsYXN0X21hdGNoaW5nX3BhdHRlcm4oKS4gQmUgY2FyZWZ1bCBhYm91dCBpZ25vcmUgcnVsZQogCQkgKiBvcmRlciwgdGhvdWdoLCBpZiB5b3UgZG8gdGhhdC4KIAkJICovCiAJCWlmICh1bnRyYWNrZWQgJiYKQEAgLTEzMDUsNyArMTU2Niw3IEBACiAgKiBSZXR1cm5zIHRoZSBleGNsdWRlX2xpc3QgZWxlbWVudCB3aGljaCBtYXRjaGVkLCBvciBOVUxMIGZvcgogICogdW5kZWNpZGVkLgogICovCi1zdHJ1Y3QgZXhjbHVkZSAqbGFzdF9leGNsdWRlX21hdGNoaW5nKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsCitzdHJ1Y3QgcGF0aF9wYXR0ZXJuICpsYXN0X21hdGNoaW5nX3BhdHRlcm4oc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKIAkJCQkgICAgICBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKIAkJCQkgICAgICBjb25zdCBjaGFyICpwYXRobmFtZSwKIAkJCQkgICAgICBpbnQgKmR0eXBlX3ApCkBAIC0xMzE2LDEwICsxNTc3LDEwIEBACiAKIAlwcmVwX2V4Y2x1ZGUoZGlyLCBpc3RhdGUsIHBhdGhuYW1lLCBiYXNlbmFtZS1wYXRobmFtZSk7CiAKLQlpZiAoZGlyLT5leGNsdWRlKQotCQlyZXR1cm4gZGlyLT5leGNsdWRlOworCWlmIChkaXItPnBhdHRlcm4pCisJCXJldHVybiBkaXItPnBhdHRlcm47CiAKLQlyZXR1cm4gbGFzdF9leGNsdWRlX21hdGNoaW5nX2Zyb21fbGlzdHMoZGlyLCBpc3RhdGUsIHBhdGhuYW1lLCBwYXRobGVuLAorCXJldHVybiBsYXN0X21hdGNoaW5nX3BhdHRlcm5fZnJvbV9saXN0cyhkaXIsIGlzdGF0ZSwgcGF0aG5hbWUsIHBhdGhsZW4sCiAJCQliYXNlbmFtZSwgZHR5cGVfcCk7CiB9CiAKQEAgLTEzMzEsMTAgKzE1OTIsMTAgQEAKIGludCBpc19leGNsdWRlZChzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKIAkJY29uc3QgY2hhciAqcGF0aG5hbWUsIGludCAqZHR5cGVfcCkKIHsKLQlzdHJ1Y3QgZXhjbHVkZSAqZXhjbHVkZSA9Ci0JCWxhc3RfZXhjbHVkZV9tYXRjaGluZyhkaXIsIGlzdGF0ZSwgcGF0aG5hbWUsIGR0eXBlX3ApOwotCWlmIChleGNsdWRlKQotCQlyZXR1cm4gZXhjbHVkZS0+ZmxhZ3MgJiBFWENfRkxBR19ORUdBVElWRSA/IDAgOiAxOworCXN0cnVjdCBwYXRoX3BhdHRlcm4gKnBhdHRlcm4gPQorCQlsYXN0X21hdGNoaW5nX3BhdHRlcm4oZGlyLCBpc3RhdGUsIHBhdGhuYW1lLCBkdHlwZV9wKTsKKwlpZiAocGF0dGVybikKKwkJcmV0dXJuIHBhdHRlcm4tPmZsYWdzICYgUEFUVEVSTl9GTEFHX05FR0FUSVZFID8gMCA6IDE7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTE0NjksNiArMTczMCw4IEBACiAJY29uc3QgY2hhciAqZGlybmFtZSwgaW50IGxlbiwgaW50IGJhc2VsZW4sIGludCBleGNsdWRlLAogCWNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCiB7CisJaW50IG5lc3RlZF9yZXBvID0gMDsKKwogCS8qIFRoZSAibGVuLTEiIGlzIHRvIHN0cmlwIHRoZSBmaW5hbCAnLycgKi8KIAlzd2l0Y2ggKGRpcmVjdG9yeV9leGlzdHNfaW5faW5kZXgoaXN0YXRlLCBkaXJuYW1lLCBsZW4tMSkpIHsKIAljYXNlIGluZGV4X2RpcmVjdG9yeToKQEAgLTE0NzgsNiArMTc0MSwxNyBAQAogCQlyZXR1cm4gcGF0aF9ub25lOwogCiAJY2FzZSBpbmRleF9ub25leGlzdGVudDoKKwkJaWYgKChkaXItPmZsYWdzICYgRElSX1NLSVBfTkVTVEVEX0dJVCkgfHwKKwkJICAgICEoZGlyLT5mbGFncyAmIERJUl9OT19HSVRMSU5LUykpIHsKKwkJCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKwkJCXN0cmJ1Zl9hZGRzdHIoJnNiLCBkaXJuYW1lKTsKKwkJCW5lc3RlZF9yZXBvID0gaXNfbm9uYmFyZV9yZXBvc2l0b3J5X2Rpcigmc2IpOworCQkJc3RyYnVmX3JlbGVhc2UoJnNiKTsKKwkJfQorCQlpZiAobmVzdGVkX3JlcG8pCisJCQlyZXR1cm4gKChkaXItPmZsYWdzICYgRElSX1NLSVBfTkVTVEVEX0dJVCkgPyBwYXRoX25vbmUgOgorCQkJCShleGNsdWRlID8gcGF0aF9leGNsdWRlZCA6IHBhdGhfdW50cmFja2VkKSk7CisKIAkJaWYgKGRpci0+ZmxhZ3MgJiBESVJfU0hPV19PVEhFUl9ESVJFQ1RPUklFUykKIAkJCWJyZWFrOwogCQlpZiAoZXhjbHVkZSAmJgpAQCAtMTUwNCwxMSArMTc3OCw2IEBACiAKIAkJCXJldHVybiBwYXRoX25vbmU7CiAJCX0KLQkJaWYgKCEoZGlyLT5mbGFncyAmIERJUl9OT19HSVRMSU5LUykpIHsKLQkJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwotCQkJaWYgKHJlc29sdmVfZ2l0bGlua19yZWYoZGlybmFtZSwgIkhFQUQiLCAmb2lkKSA9PSAwKQotCQkJCXJldHVybiBleGNsdWRlID8gcGF0aF9leGNsdWRlZCA6IHBhdGhfdW50cmFja2VkOwotCQl9CiAJCXJldHVybiBwYXRoX3JlY3Vyc2U7CiAJfQogCkBAIC0xNjQ0LDEwICsxOTEzLDkgQEAKIAlyZXR1cm4gRFRfVU5LTk9XTjsKIH0KIAotc3RhdGljIGludCBnZXRfZHR5cGUoc3RydWN0IGRpcmVudCAqZGUsIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAotCQkgICAgIGNvbnN0IGNoYXIgKnBhdGgsIGludCBsZW4pCitzdGF0aWMgaW50IHJlc29sdmVfZHR5cGUoaW50IGR0eXBlLCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJCSBjb25zdCBjaGFyICpwYXRoLCBpbnQgbGVuKQogewotCWludCBkdHlwZSA9IGRlID8gRFRZUEUoZGUpIDogRFRfVU5LTk9XTjsKIAlzdHJ1Y3Qgc3RhdCBzdDsKIAogCWlmIChkdHlwZSAhPSBEVF9VTktOT1dOKQpAQCAtMTY3MiwxNCArMTk0MCwxMyBAQAogCQkJCQkgIHN0cnVjdCBzdHJidWYgKnBhdGgsCiAJCQkJCSAgaW50IGJhc2VsZW4sCiAJCQkJCSAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKLQkJCQkJICBpbnQgZHR5cGUsIHN0cnVjdCBkaXJlbnQgKmRlKQorCQkJCQkgIGludCBkdHlwZSkKIHsKIAlpbnQgZXhjbHVkZTsKIAlpbnQgaGFzX3BhdGhfaW5faW5kZXggPSAhIWluZGV4X2ZpbGVfZXhpc3RzKGlzdGF0ZSwgcGF0aC0+YnVmLCBwYXRoLT5sZW4sIGlnbm9yZV9jYXNlKTsKIAllbnVtIHBhdGhfdHJlYXRtZW50IHBhdGhfdHJlYXRtZW50OwogCi0JaWYgKGR0eXBlID09IERUX1VOS05PV04pCi0JCWR0eXBlID0gZ2V0X2R0eXBlKGRlLCBpc3RhdGUsIHBhdGgtPmJ1ZiwgcGF0aC0+bGVuKTsKKwlkdHlwZSA9IHJlc29sdmVfZHR5cGUoZHR5cGUsIGlzdGF0ZSwgcGF0aC0+YnVmLCBwYXRoLT5sZW4pOwogCiAJLyogQWx3YXlzIGV4Y2x1ZGUgaW5kZXhlZCBmaWxlcyAqLwogCWlmIChkdHlwZSAhPSBEVF9ESVIgJiYgaGFzX3BhdGhfaW5faW5kZXgpCkBAIC0xNzg3LDIxICsyMDU0LDE4IEBACiAJCQkJICAgICAgaW50IGJhc2VsZW4sCiAJCQkJICAgICAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYykKIHsKLQlpbnQgZHR5cGU7Ci0Jc3RydWN0IGRpcmVudCAqZGUgPSBjZGlyLT5kZTsKLQotCWlmICghZGUpCisJaWYgKCFjZGlyLT5kX25hbWUpCiAJCXJldHVybiB0cmVhdF9wYXRoX2Zhc3QoZGlyLCB1bnRyYWNrZWQsIGNkaXIsIGlzdGF0ZSwgcGF0aCwKIAkJCQkgICAgICAgYmFzZWxlbiwgcGF0aHNwZWMpOwotCWlmIChpc19kb3Rfb3JfZG90ZG90KGRlLT5kX25hbWUpIHx8ICFmc3BhdGhjbXAoZGUtPmRfbmFtZSwgIi5naXQiKSkKKwlpZiAoaXNfZG90X29yX2RvdGRvdChjZGlyLT5kX25hbWUpIHx8ICFmc3BhdGhjbXAoY2Rpci0+ZF9uYW1lLCAiLmdpdCIpKQogCQlyZXR1cm4gcGF0aF9ub25lOwogCXN0cmJ1Zl9zZXRsZW4ocGF0aCwgYmFzZWxlbik7Ci0Jc3RyYnVmX2FkZHN0cihwYXRoLCBkZS0+ZF9uYW1lKTsKKwlzdHJidWZfYWRkc3RyKHBhdGgsIGNkaXItPmRfbmFtZSk7CiAJaWYgKHNpbXBsaWZ5X2F3YXkocGF0aC0+YnVmLCBwYXRoLT5sZW4sIHBhdGhzcGVjKSkKIAkJcmV0dXJuIHBhdGhfbm9uZTsKIAotCWR0eXBlID0gRFRZUEUoZGUpOwotCXJldHVybiB0cmVhdF9vbmVfcGF0aChkaXIsIHVudHJhY2tlZCwgaXN0YXRlLCBwYXRoLCBiYXNlbGVuLCBwYXRoc3BlYywgZHR5cGUsIGRlKTsKKwlyZXR1cm4gdHJlYXRfb25lX3BhdGgoZGlyLCB1bnRyYWNrZWQsIGlzdGF0ZSwgcGF0aCwgYmFzZWxlbiwgcGF0aHNwZWMsCisJCQkgICAgICBjZGlyLT5kX3R5cGUpOwogfQogCiBzdGF0aWMgdm9pZCBhZGRfdW50cmFja2VkKHN0cnVjdCB1bnRyYWNrZWRfY2FjaGVfZGlyICpkaXIsIGNvbnN0IGNoYXIgKm5hbWUpCkBAIC0xODQ1LDcgKzIxMDksNyBAQAogCiAJLyoKIAkgKiBwcmVwX2V4Y2x1ZGUgd2lsbCBiZSBjYWxsZWQgZXZlbnR1YWxseSBvbiB0aGlzIGRpcmVjdG9yeSwKLQkgKiBidXQgaXQncyBjYWxsZWQgbXVjaCBsYXRlciBpbiBsYXN0X2V4Y2x1ZGVfbWF0Y2hpbmcoKS4gV2UKKwkgKiBidXQgaXQncyBjYWxsZWQgbXVjaCBsYXRlciBpbiBsYXN0X21hdGNoaW5nX3BhdHRlcm4oKS4gV2UKIAkgKiBuZWVkIGl0IG5vdyB0byBkZXRlcm1pbmUgdGhlIHZhbGlkaXR5IG9mIHRoZSBjYWNoZSBmb3IgdGhpcwogCSAqIHBhdGguIFRoZSBuZXh0IGNhbGxzIHdpbGwgYmUgbmVhcmx5IG5vLW9wLCB0aGUgd2F5CiAJICogcHJlcF9leGNsdWRlKCkgaXMgZGVzaWduZWQuCkBAIC0xODg5LDEwICsyMTUzLDE3IEBACiAKIHN0YXRpYyBpbnQgcmVhZF9jYWNoZWRfZGlyKHN0cnVjdCBjYWNoZWRfZGlyICpjZGlyKQogeworCXN0cnVjdCBkaXJlbnQgKmRlOworCiAJaWYgKGNkaXItPmZkaXIpIHsKLQkJY2Rpci0+ZGUgPSByZWFkZGlyKGNkaXItPmZkaXIpOwotCQlpZiAoIWNkaXItPmRlKQorCQlkZSA9IHJlYWRkaXIoY2Rpci0+ZmRpcik7CisJCWlmICghZGUpIHsKKwkJCWNkaXItPmRfbmFtZSA9IE5VTEw7CisJCQljZGlyLT5kX3R5cGUgPSBEVF9VTktOT1dOOwogCQkJcmV0dXJuIC0xOworCQl9CisJCWNkaXItPmRfbmFtZSA9IGRlLT5kX25hbWU7CisJCWNkaXItPmRfdHlwZSA9IERUWVBFKGRlKTsKIAkJcmV0dXJuIDA7CiAJfQogCXdoaWxlIChjZGlyLT5ucl9kaXJzIDwgY2Rpci0+dW50cmFja2VkLT5kaXJzX25yKSB7CkBAIC0xOTI4LDYgKzIxOTksNDAgQEAKIAl9CiB9CiAKK3N0YXRpYyB2b2lkIGFkZF9wYXRoX3RvX2FwcHJvcHJpYXRlX3Jlc3VsdF9saXN0KHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsCisJc3RydWN0IHVudHJhY2tlZF9jYWNoZV9kaXIgKnVudHJhY2tlZCwKKwlzdHJ1Y3QgY2FjaGVkX2RpciAqY2RpciwKKwlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwlzdHJ1Y3Qgc3RyYnVmICpwYXRoLAorCWludCBiYXNlbGVuLAorCWNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCisJZW51bSBwYXRoX3RyZWF0bWVudCBzdGF0ZSkKK3sKKwkvKiBhZGQgdGhlIHBhdGggdG8gdGhlIGFwcHJvcHJpYXRlIHJlc3VsdCBsaXN0ICovCisJc3dpdGNoIChzdGF0ZSkgeworCWNhc2UgcGF0aF9leGNsdWRlZDoKKwkJaWYgKGRpci0+ZmxhZ3MgJiBESVJfU0hPV19JR05PUkVEKQorCQkJZGlyX2FkZF9uYW1lKGRpciwgaXN0YXRlLCBwYXRoLT5idWYsIHBhdGgtPmxlbik7CisJCWVsc2UgaWYgKChkaXItPmZsYWdzICYgRElSX1NIT1dfSUdOT1JFRF9UT08pIHx8CisJCQkoKGRpci0+ZmxhZ3MgJiBESVJfQ09MTEVDVF9JR05PUkVEKSAmJgorCQkJZXhjbHVkZV9tYXRjaGVzX3BhdGhzcGVjKHBhdGgtPmJ1ZiwgcGF0aC0+bGVuLAorCQkJCQkJIHBhdGhzcGVjKSkpCisJCQlkaXJfYWRkX2lnbm9yZWQoZGlyLCBpc3RhdGUsIHBhdGgtPmJ1ZiwgcGF0aC0+bGVuKTsKKwkJYnJlYWs7CisKKwljYXNlIHBhdGhfdW50cmFja2VkOgorCQlpZiAoZGlyLT5mbGFncyAmIERJUl9TSE9XX0lHTk9SRUQpCisJCQlicmVhazsKKwkJZGlyX2FkZF9uYW1lKGRpciwgaXN0YXRlLCBwYXRoLT5idWYsIHBhdGgtPmxlbik7CisJCWlmIChjZGlyLT5mZGlyKQorCQkJYWRkX3VudHJhY2tlZCh1bnRyYWNrZWQsIHBhdGgtPmJ1ZiArIGJhc2VsZW4pOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KK30KKwogLyoKICAqIFJlYWQgYSBkaXJlY3RvcnkgdHJlZS4gV2UgY3VycmVudGx5IGlnbm9yZSBhbnl0aGluZyBidXQKICAqIGRpcmVjdG9yaWVzLCByZWd1bGFyIGZpbGVzIGFuZCBzeW1saW5rcy4gVGhhdCdzIGJlY2F1c2UgZ2l0CkBAIC0xOTUyLDYgKzIyNTcsMTUgQEAKIAlzdHJ1Y3QgdW50cmFja2VkX2NhY2hlX2RpciAqdW50cmFja2VkLCBpbnQgY2hlY2tfb25seSwKIAlpbnQgc3RvcF9hdF9maXJzdF9maWxlLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKQogeworCS8qCisJICogV0FSTklORyBXQVJOSU5HIFdBUk5JTkc6CisJICoKKwkgKiBBbnkgdXBkYXRlcyB0byB0aGUgdHJhdmVyc2FsIGxvZ2ljIGhlcmUgbWF5IG5lZWQgY29ycmVzcG9uZGluZworCSAqIHVwZGF0ZXMgaW4gdHJlYXRfbGVhZGluZ19wYXRoKCkuICBTZWUgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB0aGUKKwkgKiBjb21taXQgYWRkaW5nIHRoaXMgd2FybmluZyBhcyB3ZWxsIGFzIHRoZSBjb21taXQgcHJlY2VkaW5nIGl0CisJICogZm9yIGRldGFpbHMuCisJICovCisKIAlzdHJ1Y3QgY2FjaGVkX2RpciBjZGlyOwogCWVudW0gcGF0aF90cmVhdG1lbnQgc3RhdGUsIHN1YmRpcl9zdGF0ZSwgZGlyX3N0YXRlID0gcGF0aF9ub25lOwogCXN0cnVjdCBzdHJidWYgcGF0aCA9IFNUUkJVRl9JTklUOwpAQCAtMTk3NSw4ICsyMjg5LDExIEBACiAJCS8qIHJlY3Vyc2UgaW50byBzdWJkaXIgaWYgaW5zdHJ1Y3RlZCBieSB0cmVhdF9wYXRoICovCiAJCWlmICgoc3RhdGUgPT0gcGF0aF9yZWN1cnNlKSB8fAogCQkJKChzdGF0ZSA9PSBwYXRoX3VudHJhY2tlZCkgJiYKLQkJCSAoZGlyLT5mbGFncyAmIERJUl9TSE9XX0lHTk9SRURfVE9PKSAmJgotCQkJIChnZXRfZHR5cGUoY2Rpci5kZSwgaXN0YXRlLCBwYXRoLmJ1ZiwgcGF0aC5sZW4pID09IERUX0RJUikpKSB7CisJCQkgKHJlc29sdmVfZHR5cGUoY2Rpci5kX3R5cGUsIGlzdGF0ZSwgcGF0aC5idWYsIHBhdGgubGVuKSA9PSBEVF9ESVIpICYmCisJCQkgKChkaXItPmZsYWdzICYgRElSX1NIT1dfSUdOT1JFRF9UT08pIHx8CisJCQkgIChwYXRoc3BlYyAmJgorCQkJICAgZG9fbWF0Y2hfcGF0aHNwZWMoaXN0YXRlLCBwYXRoc3BlYywgcGF0aC5idWYsIHBhdGgubGVuLAorCQkJCQkgICAgIGJhc2VsZW4sIE5VTEwsIERPX01BVENIX0xFQURJTkdfUEFUSFNQRUMpID09IE1BVENIRURfUkVDVVJTSVZFTFlfTEVBRElOR19QQVRIU1BFQykpKSkgewogCQkJc3RydWN0IHVudHJhY2tlZF9jYWNoZV9kaXIgKnVkOwogCQkJdWQgPSBsb29rdXBfdW50cmFja2VkKGRpci0+dW50cmFja2VkLCB1bnRyYWNrZWQsCiAJCQkJCSAgICAgIHBhdGguYnVmICsgYmFzZWxlbiwKQEAgLTE5ODcsNiArMjMwNCwxMiBAQAogCQkJCQkJCSBjaGVja19vbmx5LCBzdG9wX2F0X2ZpcnN0X2ZpbGUsIHBhdGhzcGVjKTsKIAkJCWlmIChzdWJkaXJfc3RhdGUgPiBkaXJfc3RhdGUpCiAJCQkJZGlyX3N0YXRlID0gc3ViZGlyX3N0YXRlOworCisJCQlpZiAocGF0aHNwZWMgJiYKKwkJCSAgICAhbWF0Y2hfcGF0aHNwZWMoaXN0YXRlLCBwYXRoc3BlYywgcGF0aC5idWYsIHBhdGgubGVuLAorCQkJCQkgICAgMCAvKiBwcmVmaXggKi8sIE5VTEwsCisJCQkJCSAgICAwIC8qIGRvIE5PVCBzcGVjaWFsIGNhc2UgZGlycyAqLykpCisJCQkJc3RhdGUgPSBwYXRoX25vbmU7CiAJCX0KIAogCQlpZiAoY2hlY2tfb25seSkgewpAQCAtMjAyMiwyOSArMjM0NSw5IEBACiAJCQljb250aW51ZTsKIAkJfQogCi0JCS8qIGFkZCB0aGUgcGF0aCB0byB0aGUgYXBwcm9wcmlhdGUgcmVzdWx0IGxpc3QgKi8KLQkJc3dpdGNoIChzdGF0ZSkgewotCQljYXNlIHBhdGhfZXhjbHVkZWQ6Ci0JCQlpZiAoZGlyLT5mbGFncyAmIERJUl9TSE9XX0lHTk9SRUQpCi0JCQkJZGlyX2FkZF9uYW1lKGRpciwgaXN0YXRlLCBwYXRoLmJ1ZiwgcGF0aC5sZW4pOwotCQkJZWxzZSBpZiAoKGRpci0+ZmxhZ3MgJiBESVJfU0hPV19JR05PUkVEX1RPTykgfHwKLQkJCQkoKGRpci0+ZmxhZ3MgJiBESVJfQ09MTEVDVF9JR05PUkVEKSAmJgotCQkJCWV4Y2x1ZGVfbWF0Y2hlc19wYXRoc3BlYyhwYXRoLmJ1ZiwgcGF0aC5sZW4sCi0JCQkJCQkJIHBhdGhzcGVjKSkpCi0JCQkJZGlyX2FkZF9pZ25vcmVkKGRpciwgaXN0YXRlLCBwYXRoLmJ1ZiwgcGF0aC5sZW4pOwotCQkJYnJlYWs7Ci0KLQkJY2FzZSBwYXRoX3VudHJhY2tlZDoKLQkJCWlmIChkaXItPmZsYWdzICYgRElSX1NIT1dfSUdOT1JFRCkKLQkJCQlicmVhazsKLQkJCWRpcl9hZGRfbmFtZShkaXIsIGlzdGF0ZSwgcGF0aC5idWYsIHBhdGgubGVuKTsKLQkJCWlmIChjZGlyLmZkaXIpCi0JCQkJYWRkX3VudHJhY2tlZCh1bnRyYWNrZWQsIHBhdGguYnVmICsgYmFzZWxlbik7Ci0JCQlicmVhazsKLQotCQlkZWZhdWx0OgotCQkJYnJlYWs7Ci0JCX0KKwkJYWRkX3BhdGhfdG9fYXBwcm9wcmlhdGVfcmVzdWx0X2xpc3QoZGlyLCB1bnRyYWNrZWQsICZjZGlyLAorCQkJCQkJICAgIGlzdGF0ZSwgJnBhdGgsIGJhc2VsZW4sCisJCQkJCQkgICAgcGF0aHNwZWMsIHN0YXRlKTsKIAl9CiAJY2xvc2VfY2FjaGVkX2RpcigmY2Rpcik7CiAgb3V0OgpAQCAtMjA3NCw0MSArMjM3Nyw5NSBAQAogCQkJICAgICAgY29uc3QgY2hhciAqcGF0aCwgaW50IGxlbiwKIAkJCSAgICAgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpCiB7CisJLyoKKwkgKiBXQVJOSU5HIFdBUk5JTkcgV0FSTklORzoKKwkgKgorCSAqIEFueSB1cGRhdGVzIHRvIHRoZSB0cmF2ZXJzYWwgbG9naWMgaGVyZSBtYXkgbmVlZCBjb3JyZXNwb25kaW5nCisJICogdXBkYXRlcyBpbiByZWFkX2RpcmVjdG9yeV9yZWN1cnNpdmUoKS4gIFNlZSA3NzdiNDIwMzQ3IChkaXI6CisJICogc3luY2hyb25pemUgdHJlYXRfbGVhZGluZ19wYXRoKCkgYW5kIHJlYWRfZGlyZWN0b3J5X3JlY3Vyc2l2ZSgpLAorCSAqIDIwMTktMTItMTkpIGFuZCBpdHMgcGFyZW50IGNvbW1pdCBmb3IgZGV0YWlscy4KKwkgKi8KKwogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKLQlpbnQgYmFzZWxlbiwgcmMgPSAwOworCXN0cnVjdCBzdHJidWYgc3ViZGlyID0gU1RSQlVGX0lOSVQ7CisJaW50IHByZXZsZW4sIGJhc2VsZW47CiAJY29uc3QgY2hhciAqY3A7Ci0JaW50IG9sZF9mbGFncyA9IGRpci0+ZmxhZ3M7CisJc3RydWN0IGNhY2hlZF9kaXIgY2RpcjsKKwllbnVtIHBhdGhfdHJlYXRtZW50IHN0YXRlID0gcGF0aF9ub25lOworCisJLyoKKwkgKiBGb3IgZWFjaCBkaXJlY3RvcnkgY29tcG9uZW50IG9mIHBhdGgsIHdlIGFyZSBnb2luZyB0byBjaGVjayB3aGV0aGVyCisJICogdGhhdCBwYXRoIGlzIHJlbGV2YW50IGdpdmVuIHRoZSBwYXRoc3BlYy4gIEZvciBleGFtcGxlLCBpZiBwYXRoIGlzCisJICogICAgZm9vL2Jhci9iYXovCisJICogdGhlbiB3ZSB3aWxsIGFzayB0cmVhdF9wYXRoKCkgd2hldGhlciB3ZSBzaG91bGQgZ28gaW50byBmb28sIHRoZW4KKwkgKiB3aGV0aGVyIHdlIHNob3VsZCBnbyBpbnRvIGJhciwgdGhlbiB3aGV0aGVyIGJheiBpcyByZWxldmFudC4KKwkgKiBDaGVja2luZyBlYWNoIGlzIGltcG9ydGFudCBiZWNhdXNlIGUuZy4gaWYgcGF0aCBpcworCSAqICAgIC5naXQvaW5mby8KKwkgKiB0aGVuIHdlIG5lZWQgdG8gY2hlY2sgLmdpdCB0byBrbm93IHdlIHNob3VsZG4ndCB0cmF2ZXJzZSBpdC4KKwkgKiBJZiB0aGUgcmV0dXJuIGZyb20gdHJlYXRfcGF0aCgpIGlzOgorCSAqICAgICogcGF0aF9ub25lLCBmb3IgYW55IHBhdGgsIHdlIHJldHVybiBmYWxzZS4KKwkgKiAgICAqIHBhdGhfcmVjdXJzZSwgZm9yIGFsbCBwYXRoIGNvbXBvbmVudHMsIHdlIHJldHVybiB0cnVlCisJICogICAgKiA8YW55dGhpbmcgZWxzZT4gZm9yIHNvbWUgaW50ZXJtZWRpYXRlIGNvbXBvbmVudCwgd2UgbWFrZSBzdXJlCisJICogICAgICAgIHRvIGFkZCB0aGF0IHBhdGggdG8gdGhlIHJlbGV2YW50IGxpc3QgYnV0IHJldHVybiBmYWxzZQorCSAqICAgICAgICBzaWduaWZ5aW5nIHRoYXQgd2Ugc2hvdWxkbid0IHJlY3Vyc2UgaW50byBpdC4KKwkgKi8KIAogCXdoaWxlIChsZW4gJiYgcGF0aFtsZW4gLSAxXSA9PSAnLycpCiAJCWxlbi0tOwogCWlmICghbGVuKQogCQlyZXR1cm4gMTsKKworCW1lbXNldCgmY2RpciwgMCwgc2l6ZW9mKGNkaXIpKTsKKwljZGlyLmRfdHlwZSA9IERUX0RJUjsKIAliYXNlbGVuID0gMDsKLQlkaXItPmZsYWdzICY9IH5ESVJfU0hPV19PVEhFUl9ESVJFQ1RPUklFUzsKKwlwcmV2bGVuID0gMDsKIAl3aGlsZSAoMSkgewotCQljcCA9IHBhdGggKyBiYXNlbGVuICsgISFiYXNlbGVuOworCQlwcmV2bGVuID0gYmFzZWxlbiArICEhYmFzZWxlbjsKKwkJY3AgPSBwYXRoICsgcHJldmxlbjsKIAkJY3AgPSBtZW1jaHIoY3AsICcvJywgcGF0aCArIGxlbiAtIGNwKTsKIAkJaWYgKCFjcCkKIAkJCWJhc2VsZW4gPSBsZW47CiAJCWVsc2UKIAkJCWJhc2VsZW4gPSBjcCAtIHBhdGg7Ci0JCXN0cmJ1Zl9zZXRsZW4oJnNiLCAwKTsKKwkJc3RyYnVmX3Jlc2V0KCZzYik7CiAJCXN0cmJ1Zl9hZGQoJnNiLCBwYXRoLCBiYXNlbGVuKTsKIAkJaWYgKCFpc19kaXJlY3Rvcnkoc2IuYnVmKSkKIAkJCWJyZWFrOwotCQlpZiAoc2ltcGxpZnlfYXdheShzYi5idWYsIHNiLmxlbiwgcGF0aHNwZWMpKQotCQkJYnJlYWs7Ci0JCWlmICh0cmVhdF9vbmVfcGF0aChkaXIsIE5VTEwsIGlzdGF0ZSwgJnNiLCBiYXNlbGVuLCBwYXRoc3BlYywKLQkJCQkgICBEVF9ESVIsIE5VTEwpID09IHBhdGhfbm9uZSkKLQkJCWJyZWFrOyAvKiBkbyBub3QgcmVjdXJzZSBpbnRvIGl0ICovCi0JCWlmIChsZW4gPD0gYmFzZWxlbikgewotCQkJcmMgPSAxOwotCQkJYnJlYWs7IC8qIGZpbmlzaGVkIGNoZWNraW5nICovCisJCXN0cmJ1Zl9yZXNldCgmc2IpOworCQlzdHJidWZfYWRkKCZzYiwgcGF0aCwgcHJldmxlbik7CisJCXN0cmJ1Zl9yZXNldCgmc3ViZGlyKTsKKwkJc3RyYnVmX2FkZCgmc3ViZGlyLCBwYXRoK3ByZXZsZW4sIGJhc2VsZW4tcHJldmxlbik7CisJCWNkaXIuZF9uYW1lID0gc3ViZGlyLmJ1ZjsKKwkJc3RhdGUgPSB0cmVhdF9wYXRoKGRpciwgTlVMTCwgJmNkaXIsIGlzdGF0ZSwgJnNiLCBwcmV2bGVuLAorCQkJCSAgICBwYXRoc3BlYyk7CisJCWlmIChzdGF0ZSA9PSBwYXRoX3VudHJhY2tlZCAmJgorCQkgICAgcmVzb2x2ZV9kdHlwZShjZGlyLmRfdHlwZSwgaXN0YXRlLCBzYi5idWYsIHNiLmxlbikgPT0gRFRfRElSICYmCisJCSAgICAoZGlyLT5mbGFncyAmIERJUl9TSE9XX0lHTk9SRURfVE9PIHx8CisJCSAgICAgZG9fbWF0Y2hfcGF0aHNwZWMoaXN0YXRlLCBwYXRoc3BlYywgc2IuYnVmLCBzYi5sZW4sCisJCQkJICAgICAgIGJhc2VsZW4sIE5VTEwsIERPX01BVENIX0xFQURJTkdfUEFUSFNQRUMpID09IE1BVENIRURfUkVDVVJTSVZFTFlfTEVBRElOR19QQVRIU1BFQykpIHsKKwkJCWlmICghbWF0Y2hfcGF0aHNwZWMoaXN0YXRlLCBwYXRoc3BlYywgc2IuYnVmLCBzYi5sZW4sCisJCQkJCSAgICAwIC8qIHByZWZpeCAqLywgTlVMTCwKKwkJCQkJICAgIDAgLyogZG8gTk9UIHNwZWNpYWwgY2FzZSBkaXJzICovKSkKKwkJCQlzdGF0ZSA9IHBhdGhfbm9uZTsKKwkJCWFkZF9wYXRoX3RvX2FwcHJvcHJpYXRlX3Jlc3VsdF9saXN0KGRpciwgTlVMTCwgJmNkaXIsCisJCQkJCQkJICAgIGlzdGF0ZSwKKwkJCQkJCQkgICAgJnNiLCBiYXNlbGVuLAorCQkJCQkJCSAgICBwYXRoc3BlYywgc3RhdGUpOworCQkJc3RhdGUgPSBwYXRoX3JlY3Vyc2U7CiAJCX0KKworCQlpZiAoc3RhdGUgIT0gcGF0aF9yZWN1cnNlKQorCQkJYnJlYWs7IC8qIGRvIG5vdCByZWN1cnNlIGludG8gaXQgKi8KKwkJaWYgKGxlbiA8PSBiYXNlbGVuKQorCQkJYnJlYWs7IC8qIGZpbmlzaGVkIGNoZWNraW5nICovCiAJfQorCWFkZF9wYXRoX3RvX2FwcHJvcHJpYXRlX3Jlc3VsdF9saXN0KGRpciwgTlVMTCwgJmNkaXIsIGlzdGF0ZSwKKwkJCQkJICAgICZzYiwgYmFzZWxlbiwgcGF0aHNwZWMsCisJCQkJCSAgICBzdGF0ZSk7CisKKwlzdHJidWZfcmVsZWFzZSgmc3ViZGlyKTsKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwotCWRpci0+ZmxhZ3MgPSBvbGRfZmxhZ3M7Ci0JcmV0dXJuIHJjOworCXJldHVybiBzdGF0ZSA9PSBwYXRoX3JlY3Vyc2U7CiB9CiAKIHN0YXRpYyBjb25zdCBjaGFyICpnZXRfaWRlbnRfc3RyaW5nKHZvaWQpCkBAIC0yMzUzLDYgKzI3MTAsMTQgQEAKIAlyZXR1cm4gbHN0YXQoZiwgJnNiKSA9PSAwOwogfQogCitpbnQgcmVwb19maWxlX2V4aXN0cyhzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqcGF0aCkKK3sKKwlpZiAocmVwbyAhPSB0aGVfcmVwb3NpdG9yeSkKKwkJQlVHKCJkbyBub3Qga25vdyBob3cgdG8gY2hlY2sgZmlsZSBleGlzdGVuY2UgaW4gYXJiaXRyYXJ5IHJlcG8iKTsKKworCXJldHVybiBmaWxlX2V4aXN0cyhwYXRoKTsKK30KKwogc3RhdGljIGludCBjbXBfaWNhc2UoY2hhciBhLCBjaGFyIGIpCiB7CiAJaWYgKGEgPT0gYikKQEAgLTI0NzUsNyArMjg0MCw3IEBACiAJCQkJICogd2FudGVkIGFueXdheQogCQkJCSAqLwogCQkJCWNvbnRpbnVlOwotCQkJLyogZmFsbCB0aHJ1ICovCisJCQkvKiBmYWxsIHRocm91Z2ggKi8KIAkJfSBlbHNlIGlmIChTX0lTRElSKHN0LnN0X21vZGUpKSB7CiAJCQlpZiAoIXJlbW92ZV9kaXJfcmVjdXJzZShwYXRoLCBmbGFnLCAma2VwdF9kb3duKSkKIAkJCQljb250aW51ZTsgLyogaGFwcHkgKi8KQEAgLTI1MTcsMTQgKzI4ODIsMTQgQEAKIAlpZiAoIWV4Y2x1ZGVzX2ZpbGUpCiAJCWV4Y2x1ZGVzX2ZpbGUgPSB4ZGdfY29uZmlnX2hvbWUoImlnbm9yZSIpOwogCWlmIChleGNsdWRlc19maWxlICYmICFhY2Nlc3Nfb3Jfd2FybihleGNsdWRlc19maWxlLCBSX09LLCAwKSkKLQkJYWRkX2V4Y2x1ZGVzX2Zyb21fZmlsZV8xKGRpciwgZXhjbHVkZXNfZmlsZSwKKwkJYWRkX3BhdHRlcm5zX2Zyb21fZmlsZV8xKGRpciwgZXhjbHVkZXNfZmlsZSwKIAkJCQkJIGRpci0+dW50cmFja2VkID8gJmRpci0+c3NfZXhjbHVkZXNfZmlsZSA6IE5VTEwpOwogCiAJLyogcGVyIHJlcG9zaXRvcnkgdXNlciBwcmVmZXJlbmNlICovCiAJaWYgKHN0YXJ0dXBfaW5mby0+aGF2ZV9yZXBvc2l0b3J5KSB7CiAJCWNvbnN0IGNoYXIgKnBhdGggPSBnaXRfcGF0aF9pbmZvX2V4Y2x1ZGUoKTsKIAkJaWYgKCFhY2Nlc3Nfb3Jfd2FybihwYXRoLCBSX09LLCAwKSkKLQkJCWFkZF9leGNsdWRlc19mcm9tX2ZpbGVfMShkaXIsIHBhdGgsCisJCQlhZGRfcGF0dGVybnNfZnJvbV9maWxlXzEoZGlyLCBwYXRoLAogCQkJCQkJIGRpci0+dW50cmFja2VkID8gJmRpci0+c3NfaW5mb19leGNsdWRlIDogTlVMTCk7CiAJfQogfQpAQCAtMjU1NiwxOCArMjkyMSwxOCBAQAogewogCWludCBpLCBqOwogCXN0cnVjdCBleGNsdWRlX2xpc3RfZ3JvdXAgKmdyb3VwOwotCXN0cnVjdCBleGNsdWRlX2xpc3QgKmVsOworCXN0cnVjdCBwYXR0ZXJuX2xpc3QgKnBsOwogCXN0cnVjdCBleGNsdWRlX3N0YWNrICpzdGs7CiAKIAlmb3IgKGkgPSBFWENfQ01ETDsgaSA8PSBFWENfRklMRTsgaSsrKSB7CiAJCWdyb3VwID0gJmRpci0+ZXhjbHVkZV9saXN0X2dyb3VwW2ldOwogCQlmb3IgKGogPSAwOyBqIDwgZ3JvdXAtPm5yOyBqKyspIHsKLQkJCWVsID0gJmdyb3VwLT5lbFtqXTsKKwkJCXBsID0gJmdyb3VwLT5wbFtqXTsKIAkJCWlmIChpID09IEVYQ19ESVJTKQotCQkJCWZyZWUoKGNoYXIgKillbC0+c3JjKTsKLQkJCWNsZWFyX2V4Y2x1ZGVfbGlzdChlbCk7CisJCQkJZnJlZSgoY2hhciAqKXBsLT5zcmMpOworCQkJY2xlYXJfcGF0dGVybl9saXN0KHBsKTsKIAkJfQotCQlmcmVlKGdyb3VwLT5lbCk7CisJCWZyZWUoZ3JvdXAtPnBsKTsKIAl9CiAKIAlzdGsgPSBkaXItPmV4Y2x1ZGVfc3RhY2s7CkBAIC0yNTgzLDEzICsyOTQ4LDkgQEAKIAlzdHJ1Y3Qgc3RhdF9kYXRhIGluZm9fZXhjbHVkZV9zdGF0OwogCXN0cnVjdCBzdGF0X2RhdGEgZXhjbHVkZXNfZmlsZV9zdGF0OwogCXVpbnQzMl90IGRpcl9mbGFnczsKLQl1bnNpZ25lZCBjaGFyIGluZm9fZXhjbHVkZV9zaGExWzIwXTsKLQl1bnNpZ25lZCBjaGFyIGV4Y2x1ZGVzX2ZpbGVfc2hhMVsyMF07Ci0JY2hhciBleGNsdWRlX3Blcl9kaXJbRkxFWF9BUlJBWV07CiB9OwogCiAjZGVmaW5lIG91Y19vZmZzZXQoeCkgb2Zmc2V0b2Yoc3RydWN0IG9uZGlza191bnRyYWNrZWRfY2FjaGUsIHgpCi0jZGVmaW5lIG91Y19zaXplKGxlbikgKG91Y19vZmZzZXQoZXhjbHVkZV9wZXJfZGlyKSArIGxlbiArIDEpCiAKIHN0cnVjdCB3cml0ZV9kYXRhIHsKIAlpbnQgaW5kZXg7CSAgIC8qIG51bWJlciBvZiB3cml0dGVuIHVudHJhY2tlZF9jYWNoZV9kaXIgKi8KQEAgLTI2NzIsMjAgKzMwMzMsMjEgQEAKIAlzdHJ1Y3Qgd3JpdGVfZGF0YSB3ZDsKIAl1bnNpZ25lZCBjaGFyIHZhcmJ1ZlsxNl07CiAJaW50IHZhcmludF9sZW47Ci0Jc2l6ZV90IGxlbiA9IHN0cmxlbih1bnRyYWNrZWQtPmV4Y2x1ZGVfcGVyX2Rpcik7CisJY29uc3QgdW5zaWduZWQgaGFzaHN6ID0gdGhlX2hhc2hfYWxnby0+cmF3c3o7CiAKLQlGTEVYX0FMTE9DX01FTShvdWMsIGV4Y2x1ZGVfcGVyX2RpciwgdW50cmFja2VkLT5leGNsdWRlX3Blcl9kaXIsIGxlbik7CisJb3VjID0geGNhbGxvYygxLCBzaXplb2YoKm91YykpOwogCXN0YXRfZGF0YV90b19kaXNrKCZvdWMtPmluZm9fZXhjbHVkZV9zdGF0LCAmdW50cmFja2VkLT5zc19pbmZvX2V4Y2x1ZGUuc3RhdCk7CiAJc3RhdF9kYXRhX3RvX2Rpc2soJm91Yy0+ZXhjbHVkZXNfZmlsZV9zdGF0LCAmdW50cmFja2VkLT5zc19leGNsdWRlc19maWxlLnN0YXQpOwotCWhhc2hjcHkob3VjLT5pbmZvX2V4Y2x1ZGVfc2hhMSwgdW50cmFja2VkLT5zc19pbmZvX2V4Y2x1ZGUub2lkLmhhc2gpOwotCWhhc2hjcHkob3VjLT5leGNsdWRlc19maWxlX3NoYTEsIHVudHJhY2tlZC0+c3NfZXhjbHVkZXNfZmlsZS5vaWQuaGFzaCk7CiAJb3VjLT5kaXJfZmxhZ3MgPSBodG9ubCh1bnRyYWNrZWQtPmRpcl9mbGFncyk7CiAKIAl2YXJpbnRfbGVuID0gZW5jb2RlX3ZhcmludCh1bnRyYWNrZWQtPmlkZW50LmxlbiwgdmFyYnVmKTsKIAlzdHJidWZfYWRkKG91dCwgdmFyYnVmLCB2YXJpbnRfbGVuKTsKIAlzdHJidWZfYWRkYnVmKG91dCwgJnVudHJhY2tlZC0+aWRlbnQpOwogCi0Jc3RyYnVmX2FkZChvdXQsIG91Yywgb3VjX3NpemUobGVuKSk7CisJc3RyYnVmX2FkZChvdXQsIG91Yywgc2l6ZW9mKCpvdWMpKTsKKwlzdHJidWZfYWRkKG91dCwgdW50cmFja2VkLT5zc19pbmZvX2V4Y2x1ZGUub2lkLmhhc2gsIGhhc2hzeik7CisJc3RyYnVmX2FkZChvdXQsIHVudHJhY2tlZC0+c3NfZXhjbHVkZXNfZmlsZS5vaWQuaGFzaCwgaGFzaHN6KTsKKwlzdHJidWZfYWRkKG91dCwgdW50cmFja2VkLT5leGNsdWRlX3Blcl9kaXIsIHN0cmxlbih1bnRyYWNrZWQtPmV4Y2x1ZGVfcGVyX2RpcikgKyAxKTsKIAlGUkVFX0FORF9OVUxMKG91Yyk7CiAKIAlpZiAoIXVudHJhY2tlZC0+cm9vdCkgewpAQCAtMjc3MCw1NCArMzEzMiw0OSBAQAogCQkJc3RydWN0IHJlYWRfZGF0YSAqcmQpCiB7CiAJc3RydWN0IHVudHJhY2tlZF9jYWNoZV9kaXIgdWQsICp1bnRyYWNrZWQ7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqbmV4dCwgKmRhdGEgPSByZC0+ZGF0YSwgKmVuZCA9IHJkLT5lbmQ7CisJY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSA9IHJkLT5kYXRhLCAqZW5kID0gcmQtPmVuZDsKKwljb25zdCB1bnNpZ25lZCBjaGFyICplb3M7CiAJdW5zaWduZWQgaW50IHZhbHVlOwotCWludCBpLCBsZW47CisJaW50IGk7CiAKIAltZW1zZXQoJnVkLCAwLCBzaXplb2YodWQpKTsKIAotCW5leHQgPSBkYXRhOwotCXZhbHVlID0gZGVjb2RlX3ZhcmludCgmbmV4dCk7Ci0JaWYgKG5leHQgPiBlbmQpCisJdmFsdWUgPSBkZWNvZGVfdmFyaW50KCZkYXRhKTsKKwlpZiAoZGF0YSA+IGVuZCkKIAkJcmV0dXJuIC0xOwogCXVkLnJlY3Vyc2UJICAgPSAxOwogCXVkLnVudHJhY2tlZF9hbGxvYyA9IHZhbHVlOwogCXVkLnVudHJhY2tlZF9ucgkgICA9IHZhbHVlOwogCWlmICh1ZC51bnRyYWNrZWRfbnIpCiAJCUFMTE9DX0FSUkFZKHVkLnVudHJhY2tlZCwgdWQudW50cmFja2VkX25yKTsKLQlkYXRhID0gbmV4dDsKIAotCW5leHQgPSBkYXRhOwotCXVkLmRpcnNfYWxsb2MgPSB1ZC5kaXJzX25yID0gZGVjb2RlX3ZhcmludCgmbmV4dCk7Ci0JaWYgKG5leHQgPiBlbmQpCisJdWQuZGlyc19hbGxvYyA9IHVkLmRpcnNfbnIgPSBkZWNvZGVfdmFyaW50KCZkYXRhKTsKKwlpZiAoZGF0YSA+IGVuZCkKIAkJcmV0dXJuIC0xOwogCUFMTE9DX0FSUkFZKHVkLmRpcnMsIHVkLmRpcnNfbnIpOwotCWRhdGEgPSBuZXh0OwogCi0JbGVuID0gc3RybGVuKChjb25zdCBjaGFyICopZGF0YSk7Ci0JbmV4dCA9IGRhdGEgKyBsZW4gKyAxOwotCWlmIChuZXh0ID4gcmQtPmVuZCkKKwllb3MgPSBtZW1jaHIoZGF0YSwgJ1wwJywgZW5kIC0gZGF0YSk7CisJaWYgKCFlb3MgfHwgZW9zID09IGVuZCkKIAkJcmV0dXJuIC0xOwotCSp1bnRyYWNrZWRfID0gdW50cmFja2VkID0geG1hbGxvYyhzdF9hZGQoc2l6ZW9mKCp1bnRyYWNrZWQpLCBsZW4pKTsKKworCSp1bnRyYWNrZWRfID0gdW50cmFja2VkID0geG1hbGxvYyhzdF9hZGQzKHNpemVvZigqdW50cmFja2VkKSwgZW9zIC0gZGF0YSwgMSkpOwogCW1lbWNweSh1bnRyYWNrZWQsICZ1ZCwgc2l6ZW9mKHVkKSk7Ci0JbWVtY3B5KHVudHJhY2tlZC0+bmFtZSwgZGF0YSwgbGVuICsgMSk7Ci0JZGF0YSA9IG5leHQ7CisJbWVtY3B5KHVudHJhY2tlZC0+bmFtZSwgZGF0YSwgZW9zIC0gZGF0YSArIDEpOworCWRhdGEgPSBlb3MgKyAxOwogCiAJZm9yIChpID0gMDsgaSA8IHVudHJhY2tlZC0+dW50cmFja2VkX25yOyBpKyspIHsKLQkJbGVuID0gc3RybGVuKChjb25zdCBjaGFyICopZGF0YSk7Ci0JCW5leHQgPSBkYXRhICsgbGVuICsgMTsKLQkJaWYgKG5leHQgPiByZC0+ZW5kKQorCQllb3MgPSBtZW1jaHIoZGF0YSwgJ1wwJywgZW5kIC0gZGF0YSk7CisJCWlmICghZW9zIHx8IGVvcyA9PSBlbmQpCiAJCQlyZXR1cm4gLTE7Ci0JCXVudHJhY2tlZC0+dW50cmFja2VkW2ldID0geHN0cmR1cCgoY29uc3QgY2hhciopZGF0YSk7Ci0JCWRhdGEgPSBuZXh0OworCQl1bnRyYWNrZWQtPnVudHJhY2tlZFtpXSA9IHhtZW1kdXB6KGRhdGEsIGVvcyAtIGRhdGEpOworCQlkYXRhID0gZW9zICsgMTsKIAl9CiAKIAlyZC0+dWNkW3JkLT5pbmRleCsrXSA9IHVudHJhY2tlZDsKIAlyZC0+ZGF0YSA9IGRhdGE7CiAKIAlmb3IgKGkgPSAwOyBpIDwgdW50cmFja2VkLT5kaXJzX25yOyBpKyspIHsKLQkJbGVuID0gcmVhZF9vbmVfZGlyKHVudHJhY2tlZC0+ZGlycyArIGksIHJkKTsKLQkJaWYgKGxlbiA8IDApCisJCWlmIChyZWFkX29uZV9kaXIodW50cmFja2VkLT5kaXJzICsgaSwgcmQpIDwgMCkKIAkJCXJldHVybiAtMTsKIAl9CiAJcmV0dXJuIDA7CkBAIC0yODcyLDYgKzMyMjksOSBAQAogCWludCBpZGVudF9sZW47CiAJc3NpemVfdCBsZW47CiAJY29uc3QgY2hhciAqZXhjbHVkZV9wZXJfZGlyOworCWNvbnN0IHVuc2lnbmVkIGhhc2hzeiA9IHRoZV9oYXNoX2FsZ28tPnJhd3N6OworCWNvbnN0IHVuc2lnbmVkIG9mZnNldCA9IHNpemVvZihzdHJ1Y3Qgb25kaXNrX3VudHJhY2tlZF9jYWNoZSk7CisJY29uc3QgdW5zaWduZWQgZXhjbHVkZV9wZXJfZGlyX29mZnNldCA9IG9mZnNldCArIDIgKiBoYXNoc3o7CiAKIAlpZiAoc3ogPD0gMSB8fCBlbmRbLTFdICE9ICdcMCcpCiAJCXJldHVybiBOVUxMOwpAQCAtMjg4Myw3ICszMjQzLDcgQEAKIAlpZGVudCA9IChjb25zdCBjaGFyICopbmV4dDsKIAluZXh0ICs9IGlkZW50X2xlbjsKIAotCWlmIChuZXh0ICsgb3VjX3NpemUoMCkgPiBlbmQpCisJaWYgKG5leHQgKyBleGNsdWRlX3Blcl9kaXJfb2Zmc2V0ICsgMSA+IGVuZCkKIAkJcmV0dXJuIE5VTEw7CiAKIAl1YyA9IHhjYWxsb2MoMSwgc2l6ZW9mKCp1YykpOwpAQCAtMjg5MSwxNSArMzI1MSwxNSBAQAogCXN0cmJ1Zl9hZGQoJnVjLT5pZGVudCwgaWRlbnQsIGlkZW50X2xlbik7CiAJbG9hZF9vaWRfc3RhdCgmdWMtPnNzX2luZm9fZXhjbHVkZSwKIAkJICAgICAgbmV4dCArIG91Y19vZmZzZXQoaW5mb19leGNsdWRlX3N0YXQpLAotCQkgICAgICBuZXh0ICsgb3VjX29mZnNldChpbmZvX2V4Y2x1ZGVfc2hhMSkpOworCQkgICAgICBuZXh0ICsgb2Zmc2V0KTsKIAlsb2FkX29pZF9zdGF0KCZ1Yy0+c3NfZXhjbHVkZXNfZmlsZSwKIAkJICAgICAgbmV4dCArIG91Y19vZmZzZXQoZXhjbHVkZXNfZmlsZV9zdGF0KSwKLQkJICAgICAgbmV4dCArIG91Y19vZmZzZXQoZXhjbHVkZXNfZmlsZV9zaGExKSk7CisJCSAgICAgIG5leHQgKyBvZmZzZXQgKyBoYXNoc3opOwogCXVjLT5kaXJfZmxhZ3MgPSBnZXRfYmUzMihuZXh0ICsgb3VjX29mZnNldChkaXJfZmxhZ3MpKTsKLQlleGNsdWRlX3Blcl9kaXIgPSAoY29uc3QgY2hhciAqKW5leHQgKyBvdWNfb2Zmc2V0KGV4Y2x1ZGVfcGVyX2Rpcik7CisJZXhjbHVkZV9wZXJfZGlyID0gKGNvbnN0IGNoYXIgKiluZXh0ICsgZXhjbHVkZV9wZXJfZGlyX29mZnNldDsKIAl1Yy0+ZXhjbHVkZV9wZXJfZGlyID0geHN0cmR1cChleGNsdWRlX3Blcl9kaXIpOwogCS8qIE5VTCBhZnRlciBleGNsdWRlX3Blcl9kaXIgaXMgY292ZXJlZCBieSBzaXplb2YoKm91YykgKi8KLQluZXh0ICs9IG91Y19zaXplKHN0cmxlbihleGNsdWRlX3Blcl9kaXIpKTsKKwluZXh0ICs9IGV4Y2x1ZGVfcGVyX2Rpcl9vZmZzZXQgKyBzdHJsZW4oZXhjbHVkZV9wZXJfZGlyKSArIDE7CiAJaWYgKG5leHQgPj0gZW5kKQogCQlnb3RvIGRvbmUyOwogCmRpZmYgLS1naXQgYS9kaXIuaCBiL2Rpci5oCmluZGV4IGUzZWMyNjEuLjU4NTVjMDYgMTAwNjQ0Ci0tLSBhL2Rpci5oCisrKyBiL2Rpci5oCkBAIC0xLDM0ICsxLDY4IEBACiAjaWZuZGVmIERJUl9ICiAjZGVmaW5lIERJUl9ICiAKLS8qIFNlZSBEb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktZGlyZWN0b3J5LWxpc3RpbmcudHh0ICovCi0KICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImhhc2htYXAuaCIKICNpbmNsdWRlICJzdHJidWYuaCIKIAorLyoqCisgKiBUaGUgZGlyZWN0b3J5IGxpc3RpbmcgQVBJIGlzIHVzZWQgdG8gZW51bWVyYXRlIHBhdGhzIGluIHRoZSB3b3JrIHRyZWUsCisgKiBvcHRpb25hbGx5IHRha2luZyBgLmdpdC9pbmZvL2V4Y2x1ZGVgIGFuZCBgLmdpdGlnbm9yZWAgZmlsZXMgcGVyIGRpcmVjdG9yeQorICogaW50byBhY2NvdW50LgorICovCisKKy8qKgorICogQ2FsbGluZyBzZXF1ZW5jZQorICogLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIE5vdGU6IFRoZSBpbmRleCBtYXkgYmUgY2hlY2tlZCBmb3IgLmdpdGlnbm9yZSBmaWxlcyB0aGF0IGFyZQorICogQ0VfU0tJUF9XT1JLVFJFRSBtYXJrZWQuIElmIHlvdSB3YW50IHRvIGV4Y2x1ZGUgZmlsZXMsIG1ha2Ugc3VyZSB5b3UgaGF2ZQorICogbG9hZGVkIHRoZSBpbmRleCBmaXJzdC4KKyAqCisgKiAtIFByZXBhcmUgYHN0cnVjdCBkaXJfc3RydWN0IGRpcmAgYW5kIGNsZWFyIGl0IHdpdGggYG1lbXNldCgmZGlyLCAwLAorICogc2l6ZW9mKGRpcikpYC4KKyAqCisgKiAtIFRvIGFkZCBzaW5nbGUgZXhjbHVkZSBwYXR0ZXJuLCBjYWxsIGBhZGRfcGF0dGVybl9saXN0KClgIGFuZCB0aGVuCisgKiAgIGBhZGRfcGF0dGVybigpYC4KKyAqCisgKiAtIFRvIGFkZCBwYXR0ZXJucyBmcm9tIGEgZmlsZSAoZS5nLiBgLmdpdC9pbmZvL2V4Y2x1ZGVgKSwgY2FsbAorICogICBgYWRkX3BhdHRlcm5zX2Zyb21fZmlsZSgpYCAsIGFuZC9vciBzZXQgYGRpci5leGNsdWRlX3Blcl9kaXJgLiAgQQorICogICBzaG9ydC1oYW5kIGZ1bmN0aW9uIGBzZXR1cF9zdGFuZGFyZF9leGNsdWRlcygpYCBjYW4gYmUgdXNlZCB0byBzZXQKKyAqICAgdXAgdGhlIHN0YW5kYXJkIHNldCBvZiBleGNsdWRlIHNldHRpbmdzLgorICoKKyAqIC0gU2V0IG9wdGlvbnMgZGVzY3JpYmVkIGluIHRoZSBEYXRhIFN0cnVjdHVyZSBzZWN0aW9uIGFib3ZlLgorICoKKyAqIC0gQ2FsbCBgcmVhZF9kaXJlY3RvcnkoKWAuCisgKgorICogLSBVc2UgYGRpci5lbnRyaWVzW11gLgorICoKKyAqIC0gQ2FsbCBgY2xlYXJfZGlyZWN0b3J5KClgIHdoZW4gbm9uZSBvZiB0aGUgY29udGFpbmVkIGVsZW1lbnRzIGFyZSBubyBsb25nZXIgaW4gdXNlLgorICoKKyAqLworCiBzdHJ1Y3QgZGlyX2VudHJ5IHsKIAl1bnNpZ25lZCBpbnQgbGVuOwogCWNoYXIgbmFtZVtGTEVYX0FSUkFZXTsgLyogbW9yZSAqLwogfTsKIAotI2RlZmluZSBFWENfRkxBR19OT0RJUiAxCi0jZGVmaW5lIEVYQ19GTEFHX0VORFNXSVRIIDQKLSNkZWZpbmUgRVhDX0ZMQUdfTVVTVEJFRElSIDgKLSNkZWZpbmUgRVhDX0ZMQUdfTkVHQVRJVkUgMTYKKyNkZWZpbmUgUEFUVEVSTl9GTEFHX05PRElSIDEKKyNkZWZpbmUgUEFUVEVSTl9GTEFHX0VORFNXSVRIIDQKKyNkZWZpbmUgUEFUVEVSTl9GTEFHX01VU1RCRURJUiA4CisjZGVmaW5lIFBBVFRFUk5fRkxBR19ORUdBVElWRSAxNgogCi1zdHJ1Y3QgZXhjbHVkZSB7CitzdHJ1Y3QgcGF0aF9wYXR0ZXJuIHsKIAkvKgotCSAqIFRoaXMgYWxsb3dzIGNhbGxlcnMgb2YgbGFzdF9leGNsdWRlX21hdGNoaW5nKCkgZXRjLgorCSAqIFRoaXMgYWxsb3dzIGNhbGxlcnMgb2YgbGFzdF9tYXRjaGluZ19wYXR0ZXJuKCkgZXRjLgogCSAqIHRvIGRldGVybWluZSB0aGUgb3JpZ2luIG9mIHRoZSBtYXRjaGluZyBwYXR0ZXJuLgogCSAqLwotCXN0cnVjdCBleGNsdWRlX2xpc3QgKmVsOworCXN0cnVjdCBwYXR0ZXJuX2xpc3QgKnBsOwogCiAJY29uc3QgY2hhciAqcGF0dGVybjsKIAlpbnQgcGF0dGVybmxlbjsKIAlpbnQgbm93aWxkY2FyZGxlbjsKIAljb25zdCBjaGFyICpiYXNlOwogCWludCBiYXNlbGVuOwotCXVuc2lnbmVkIGZsYWdzOwkJLyogRVhDX0ZMQUdfKiAqLworCXVuc2lnbmVkIGZsYWdzOwkJLyogUEFUVEVSTl9GTEFHXyogKi8KIAogCS8qCiAJICogQ291bnRpbmcgc3RhcnRzIGZyb20gMSBmb3IgbGluZSBudW1iZXJzIGluIGlnbm9yZSBmaWxlcywKQEAgLTM3LDYgKzcxLDEzIEBACiAJaW50IHNyY3BvczsKIH07CiAKKy8qIHVzZWQgZm9yIGhhc2htYXBzIGZvciBjb25lIHBhdHRlcm5zICovCitzdHJ1Y3QgcGF0dGVybl9lbnRyeSB7CisJc3RydWN0IGhhc2htYXBfZW50cnkgZW50OworCWNoYXIgKnBhdHRlcm47CisJc2l6ZV90IHBhdHRlcm5sZW47Cit9OworCiAvKgogICogRWFjaCBleGNsdWRlcyBmaWxlIHdpbGwgYmUgcGFyc2VkIGludG8gYSBmcmVzaCBleGNsdWRlX2xpc3Qgd2hpY2gKICAqIGlzIGFwcGVuZGVkIHRvIHRoZSByZWxldmFudCBleGNsdWRlX2xpc3RfZ3JvdXAgKGVpdGhlciBFWENfRElSUyBvcgpAQCAtNDQsNyArODUsNyBAQAogICogY2FuIGFsc28gYmUgdXNlZCB0byByZXByZXNlbnQgdGhlIGxpc3Qgb2YgLS1leGNsdWRlIHZhbHVlcyBwYXNzZWQKICAqIHZpYSBDTEkgYXJncy4KICAqLwotc3RydWN0IGV4Y2x1ZGVfbGlzdCB7CitzdHJ1Y3QgcGF0dGVybl9saXN0IHsKIAlpbnQgbnI7CiAJaW50IGFsbG9jOwogCkBAIC01NCw3ICs5NSwyNyBAQAogCS8qIG9yaWdpbiBvZiBsaXN0LCBlLmcuIHBhdGggdG8gZmlsZW5hbWUsIG9yIGRlc2NyaXB0aXZlIHN0cmluZyAqLwogCWNvbnN0IGNoYXIgKnNyYzsKIAotCXN0cnVjdCBleGNsdWRlICoqZXhjbHVkZXM7CisJc3RydWN0IHBhdGhfcGF0dGVybiAqKnBhdHRlcm5zOworCisJLyoKKwkgKiBXaGlsZSBzY2FubmluZyB0aGUgZXhjbHVkZXMsIHdlIGF0dGVtcHQgdG8gbWF0Y2ggdGhlIHBhdHRlcm5zCisJICogd2l0aCBhIG1vcmUgcmVzdHJpY3RlZCBzZXQgdGhhdCBhbGxvd3MgdXMgdG8gdXNlIGhhc2hzZXRzIGZvcgorCSAqIG1hdGNoaW5nIGxvZ2ljLCB3aGljaCBpcyBmYXN0ZXIgdGhhbiB0aGUgbGluZWFyIGxvb2t1cCBpbiB0aGUKKwkgKiBleGNsdWRlcyBhcnJheSBhYm92ZS4gSWYgbm9uLXplcm8sIHRoYXQgY2hlY2sgc3VjY2VlZGVkLgorCSAqLworCXVuc2lnbmVkIHVzZV9jb25lX3BhdHRlcm5zOworCXVuc2lnbmVkIGZ1bGxfY29uZTsKKworCS8qCisJICogU3RvcmVzIHBhdGhzIHdoZXJlIGV2ZXJ5dGhpbmcgc3RhcnRpbmcgd2l0aCB0aG9zZSBwYXRocworCSAqIGlzIGluY2x1ZGVkLgorCSAqLworCXN0cnVjdCBoYXNobWFwIHJlY3Vyc2l2ZV9oYXNobWFwOworCisJLyoKKwkgKiBVc2VkIHRvIGNoZWNrIHNpbmdsZS1sZXZlbCBwYXJlbnRzIG9mIGJsb2JzLgorCSAqLworCXN0cnVjdCBoYXNobWFwIHBhcmVudF9oYXNobWFwOwogfTsKIAogLyoKQEAgLTcyLDcgKzEzMyw3IEBACiAKIHN0cnVjdCBleGNsdWRlX2xpc3RfZ3JvdXAgewogCWludCBuciwgYWxsb2M7Ci0Jc3RydWN0IGV4Y2x1ZGVfbGlzdCAqZWw7CisJc3RydWN0IHBhdHRlcm5fbGlzdCAqcGw7CiB9OwogCiBzdHJ1Y3Qgb2lkX3N0YXQgewpAQCAtMTQ0LDI0ICsyMDUsMTAxIEBACiAJdW5zaWduZWQgaW50IHVzZV9mc21vbml0b3IgOiAxOwogfTsKIAorLyoqCisgKiBzdHJ1Y3R1cmUgaXMgdXNlZCB0byBwYXNzIGRpcmVjdG9yeSB0cmF2ZXJzYWwgb3B0aW9ucyB0byB0aGUgbGlicmFyeSBhbmQgdG8KKyAqIHJlY29yZCB0aGUgcGF0aHMgZGlzY292ZXJlZC4gQSBzaW5nbGUgYHN0cnVjdCBkaXJfc3RydWN0YCBpcyB1c2VkIHJlZ2FyZGxlc3MKKyAqIG9mIHdoZXRoZXIgb3Igbm90IHRoZSB0cmF2ZXJzYWwgcmVjdXJzaXZlbHkgZGVzY2VuZHMgaW50byBzdWJkaXJlY3Rvcmllcy4KKyAqLwogc3RydWN0IGRpcl9zdHJ1Y3QgewotCWludCBuciwgYWxsb2M7Ci0JaW50IGlnbm9yZWRfbnIsIGlnbm9yZWRfYWxsb2M7CisKKwkvKiBUaGUgbnVtYmVyIG9mIG1lbWJlcnMgaW4gYGVudHJpZXNbXWAgYXJyYXkuICovCisJaW50IG5yOworCisJLyogSW50ZXJuYWwgdXNlOyBrZWVwcyB0cmFjayBvZiBhbGxvY2F0aW9uIG9mIGBlbnRyaWVzW11gIGFycmF5LiovCisJaW50IGFsbG9jOworCisJLyogVGhlIG51bWJlciBvZiBtZW1iZXJzIGluIGBpZ25vcmVkW11gIGFycmF5LiAqLworCWludCBpZ25vcmVkX25yOworCisJaW50IGlnbm9yZWRfYWxsb2M7CisKKwkvKiBiaXQtZmllbGQgb2Ygb3B0aW9ucyAqLwogCWVudW0geworCisJCS8qKgorCQkgKiBSZXR1cm4ganVzdCBpZ25vcmVkIGZpbGVzIGluIGBlbnRyaWVzW11gLCBub3QgdW50cmFja2VkIGZpbGVzLgorCQkgKiBUaGlzIGZsYWcgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYERJUl9TSE9XX0lHTk9SRURfVE9PYC4KKwkJICovCiAJCURJUl9TSE9XX0lHTk9SRUQgPSAxPDwwLAorCisJCS8qIEluY2x1ZGUgYSBkaXJlY3RvcnkgdGhhdCBpcyBub3QgdHJhY2tlZC4gKi8KIAkJRElSX1NIT1dfT1RIRVJfRElSRUNUT1JJRVMgPSAxPDwxLAorCisJCS8qIERvIG5vdCBpbmNsdWRlIGEgZGlyZWN0b3J5IHRoYXQgaXMgbm90IHRyYWNrZWQgYW5kIGlzIGVtcHR5LiAqLwogCQlESVJfSElERV9FTVBUWV9ESVJFQ1RPUklFUyA9IDE8PDIsCisKKwkJLyoqCisJCSAqIElmIHNldCwgcmVjdXJzZSBpbnRvIGEgZGlyZWN0b3J5IHRoYXQgbG9va3MgbGlrZSBhIEdpdCBkaXJlY3RvcnkuCisJCSAqIE90aGVyd2lzZSBpdCBpcyBzaG93biBhcyBhIGRpcmVjdG9yeS4KKwkJICovCiAJCURJUl9OT19HSVRMSU5LUyA9IDE8PDMsCisKKwkJLyoqCisJCSAqIFNwZWNpYWwgbW9kZSBmb3IgZ2l0LWFkZC4gUmV0dXJuIGlnbm9yZWQgZmlsZXMgaW4gYGlnbm9yZWRbXWAgYW5kCisJCSAqIHVudHJhY2tlZCBmaWxlcyBpbiBgZW50cmllc1tdYC4gT25seSByZXR1cm5zIGlnbm9yZWQgZmlsZXMgdGhhdCBtYXRjaAorCQkgKiBwYXRoc3BlYyBleGFjdGx5IChubyB3aWxkY2FyZHMpLiBEb2VzIG5vdCByZWN1cnNlIGludG8gaWdub3JlZAorCQkgKiBkaXJlY3Rvcmllcy4KKwkJICovCiAJCURJUl9DT0xMRUNUX0lHTk9SRUQgPSAxPDw0LAorCisJCS8qKgorCQkgKiBTaW1pbGFyIHRvIGBESVJfU0hPV19JR05PUkVEYCwgYnV0IHJldHVybiBpZ25vcmVkIGZpbGVzIGluCisJCSAqIGBpZ25vcmVkW11gIGluIGFkZGl0aW9uIHRvIHVudHJhY2tlZCBmaWxlcyBpbiBgZW50cmllc1tdYC4KKwkJICogVGhpcyBmbGFnIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGBESVJfU0hPV19JR05PUkVEYC4KKwkJICovCiAJCURJUl9TSE9XX0lHTk9SRURfVE9PID0gMTw8NSwKKwogCQlESVJfQ09MTEVDVF9LSUxMRURfT05MWSA9IDE8PDYsCisKKwkJLyoqCisJCSAqIE9ubHkgaGFzIG1lYW5pbmcgaWYgYERJUl9TSE9XX0lHTk9SRURfVE9PYCBpcyBhbHNvIHNldDsgaWYgdGhpcyBpcworCQkgKiBzZXQsIHRoZSB1bnRyYWNrZWQgY29udGVudHMgb2YgdW50cmFja2VkIGRpcmVjdG9yaWVzIGFyZSBhbHNvCisJCSAqIHJldHVybmVkIGluIGBlbnRyaWVzW11gLgorCQkgKi8KIAkJRElSX0tFRVBfVU5UUkFDS0VEX0NPTlRFTlRTID0gMTw8NywKLQkJRElSX1NIT1dfSUdOT1JFRF9UT09fTU9ERV9NQVRDSElORyA9IDE8PDgKKworCQkvKioKKwkJICogT25seSBoYXMgbWVhbmluZyBpZiBgRElSX1NIT1dfSUdOT1JFRF9UT09gIGlzIGFsc28gc2V0OyBpZiB0aGlzIGlzCisJCSAqIHNldCwgcmV0dXJucyBpZ25vcmVkIGZpbGVzIGFuZCBkaXJlY3RvcmllcyB0aGF0IG1hdGNoIGFuIGV4Y2x1ZGUKKwkJICogcGF0dGVybi4gSWYgYSBkaXJlY3RvcnkgbWF0Y2hlcyBhbiBleGNsdWRlIHBhdHRlcm4sIHRoZW4gdGhlCisJCSAqIGRpcmVjdG9yeSBpcyByZXR1cm5lZCBhbmQgdGhlIGNvbnRhaW5lZCBwYXRocyBhcmUgbm90LiBBIGRpcmVjdG9yeQorCQkgKiB0aGF0IGRvZXMgbm90IG1hdGNoIGFuIGV4Y2x1ZGUgcGF0dGVybiB3aWxsIG5vdCBiZSByZXR1cm5lZCBldmVuIGlmCisJCSAqIGFsbCBvZiBpdHMgY29udGVudHMgYXJlIGlnbm9yZWQuIEluIHRoaXMgY2FzZSwgdGhlIGNvbnRlbnRzIGFyZQorCQkgKiByZXR1cm5lZCBhcyBpbmRpdmlkdWFsIGVudHJpZXMuCisJCSAqCisJCSAqIElmIHRoaXMgaXMgc2V0LCBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgdGhhdCBleHBsaWNpdGx5IG1hdGNoIGFuIGlnbm9yZQorCQkgKiBwYXR0ZXJuIGFyZSByZXBvcnRlZC4gSW1wbGljaXRseSBpZ25vcmVkIGRpcmVjdG9yaWVzIChkaXJlY3RvcmllcyB0aGF0CisJCSAqIGRvIG5vdCBtYXRjaCBhbiBpZ25vcmUgcGF0dGVybiwgYnV0IHdob3NlIGNvbnRlbnRzIGFyZSBhbGwgaWdub3JlZCkKKwkJICogYXJlIG5vdCByZXBvcnRlZCwgaW5zdGVhZCBhbGwgb2YgdGhlIGNvbnRlbnRzIGFyZSByZXBvcnRlZC4KKwkJICovCisJCURJUl9TSE9XX0lHTk9SRURfVE9PX01PREVfTUFUQ0hJTkcgPSAxPDw4LAorCisJCURJUl9TS0lQX05FU1RFRF9HSVQgPSAxPDw5CiAJfSBmbGFnczsKKworCS8qIEFuIGFycmF5IG9mIGBzdHJ1Y3QgZGlyX2VudHJ5YCwgZWFjaCBlbGVtZW50IG9mIHdoaWNoIGRlc2NyaWJlcyBhIHBhdGguICovCiAJc3RydWN0IGRpcl9lbnRyeSAqKmVudHJpZXM7CisKKwkvKioKKwkgKiB1c2VkIGZvciBpZ25vcmVkIHBhdGhzIHdpdGggdGhlIGBESVJfU0hPV19JR05PUkVEX1RPT2AgYW5kCisJICogYERJUl9DT0xMRUNUX0lHTk9SRURgIGZsYWdzLgorCSAqLwogCXN0cnVjdCBkaXJfZW50cnkgKippZ25vcmVkOwogCi0JLyogRXhjbHVkZSBpbmZvICovCisJLyoqCisJICogVGhlIG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgcmVhZCBpbiBlYWNoIGRpcmVjdG9yeSBmb3IgZXhjbHVkZWQgZmlsZXMKKwkgKiAodHlwaWNhbGx5IGAuZ2l0aWdub3JlYCkuCisJICovCiAJY29uc3QgY2hhciAqZXhjbHVkZV9wZXJfZGlyOwogCiAJLyoKQEAgLTE5MSw3ICszMjksNyBAQAogCSAqIG1hdGNoaW5nIGV4Y2x1ZGUgc3RydWN0IGlmIHRoZSBkaXJlY3RvcnkgaXMgZXhjbHVkZWQuCiAJICovCiAJc3RydWN0IGV4Y2x1ZGVfc3RhY2sgKmV4Y2x1ZGVfc3RhY2s7Ci0Jc3RydWN0IGV4Y2x1ZGUgKmV4Y2x1ZGU7CisJc3RydWN0IHBhdGhfcGF0dGVybiAqcGF0dGVybjsKIAlzdHJ1Y3Qgc3RyYnVmIGJhc2VidWY7CiAKIAkvKiBFbmFibGUgdW50cmFja2VkIGZpbGUgY2FjaGUgaWYgc2V0ICovCkBAIC0yMDIsNyArMzQwLDcgQEAKIH07CiAKIC8qQ291bnQgdGhlIG51bWJlciBvZiBzbGFzaGVzIGZvciBzdHJpbmcgcyovCi1leHRlcm4gaW50IGNvdW50X3NsYXNoZXMoY29uc3QgY2hhciAqcyk7CitpbnQgY291bnRfc2xhc2hlcyhjb25zdCBjaGFyICpzKTsKIAogLyoKICAqIFRoZSBvcmRlcmluZyBvZiB0aGVzZSBjb25zdGFudHMgaXMgc2lnbmlmaWNhbnQsIHdpdGgKQEAgLTIxMSwyOSArMzQ5LDQ0IEBACiAgKiB3aGVuIHBvcHVsYXRpbmcgdGhlIHNlZW5bXSBhcnJheS4KICAqLwogI2RlZmluZSBNQVRDSEVEX1JFQ1VSU0lWRUxZIDEKLSNkZWZpbmUgTUFUQ0hFRF9GTk1BVENIIDIKLSNkZWZpbmUgTUFUQ0hFRF9FWEFDVExZIDMKLWV4dGVybiBpbnQgc2ltcGxlX2xlbmd0aChjb25zdCBjaGFyICptYXRjaCk7Ci1leHRlcm4gaW50IG5vX3dpbGRjYXJkKGNvbnN0IGNoYXIgKnN0cmluZyk7Ci1leHRlcm4gY2hhciAqY29tbW9uX3ByZWZpeChjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKTsKLWV4dGVybiBpbnQgbWF0Y2hfcGF0aHNwZWMoY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCi0JCQkgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCi0JCQkgIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLAotCQkJICBpbnQgcHJlZml4LCBjaGFyICpzZWVuLCBpbnQgaXNfZGlyKTsKLWV4dGVybiBpbnQgcmVwb3J0X3BhdGhfZXJyb3IoY29uc3QgY2hhciAqcHNfbWF0Y2hlZCwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywgY29uc3QgY2hhciAqcHJlZml4KTsKLWV4dGVybiBpbnQgd2l0aGluX2RlcHRoKGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLCBpbnQgZGVwdGgsIGludCBtYXhfZGVwdGgpOworI2RlZmluZSBNQVRDSEVEX1JFQ1VSU0lWRUxZX0xFQURJTkdfUEFUSFNQRUMgMgorI2RlZmluZSBNQVRDSEVEX0ZOTUFUQ0ggMworI2RlZmluZSBNQVRDSEVEX0VYQUNUTFkgNAoraW50IHNpbXBsZV9sZW5ndGgoY29uc3QgY2hhciAqbWF0Y2gpOworaW50IG5vX3dpbGRjYXJkKGNvbnN0IGNoYXIgKnN0cmluZyk7CitjaGFyICpjb21tb25fcHJlZml4KGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpOworaW50IG1hdGNoX3BhdGhzcGVjKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkgICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAorCQkgICBjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwKKwkJICAgaW50IHByZWZpeCwgY2hhciAqc2VlbiwgaW50IGlzX2Rpcik7CitpbnQgcmVwb3J0X3BhdGhfZXJyb3IoY29uc3QgY2hhciAqcHNfbWF0Y2hlZCwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYyk7CitpbnQgd2l0aGluX2RlcHRoKGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLCBpbnQgZGVwdGgsIGludCBtYXhfZGVwdGgpOwogCi1leHRlcm4gaW50IGZpbGxfZGlyZWN0b3J5KHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsCi0JCQkgIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAotCQkJICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKTsKLWV4dGVybiBpbnQgcmVhZF9kaXJlY3Rvcnkoc3RydWN0IGRpcl9zdHJ1Y3QgKiwgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCi0JCQkgIGNvbnN0IGNoYXIgKnBhdGgsIGludCBsZW4sCi0JCQkgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMpOworaW50IGZpbGxfZGlyZWN0b3J5KHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsCisJCSAgIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkgICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjKTsKK2ludCByZWFkX2RpcmVjdG9yeShzdHJ1Y3QgZGlyX3N0cnVjdCAqLCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJICAgY29uc3QgY2hhciAqcGF0aCwgaW50IGxlbiwKKwkJICAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYyk7CiAKLWV4dGVybiBpbnQgaXNfZXhjbHVkZWRfZnJvbV9saXN0KGNvbnN0IGNoYXIgKnBhdGhuYW1lLCBpbnQgcGF0aGxlbiwKLQkJCQkgY29uc3QgY2hhciAqYmFzZW5hbWUsIGludCAqZHR5cGUsCi0JCQkJIHN0cnVjdCBleGNsdWRlX2xpc3QgKmVsLAotCQkJCSBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSk7CitlbnVtIHBhdHRlcm5fbWF0Y2hfcmVzdWx0IHsKKwlVTkRFQ0lERUQgPSAtMSwKKwlOT1RfTUFUQ0hFRCA9IDAsCisJTUFUQ0hFRCA9IDEsCisJTUFUQ0hFRF9SRUNVUlNJVkUgPSAyLAorfTsKKworLyoKKyAqIFNjYW4gdGhlIGxpc3Qgb2YgcGF0dGVybnMgdG8gZGV0ZXJtaW5lIGlmIHRoZSBvcmRlcmVkIGxpc3QKKyAqIG9mIHBhdHRlcm5zIG1hdGNoZXMgb24gJ3BhdGhuYW1lJy4KKyAqCisgKiBSZXR1cm4gMSBmb3IgYSBtYXRjaCwgMCBmb3Igbm90IG1hdGNoZWQgYW5kIC0xIGZvciB1bmRlY2lkZWQuCisgKi8KK2VudW0gcGF0dGVybl9tYXRjaF9yZXN1bHQgcGF0aF9tYXRjaGVzX3BhdHRlcm5fbGlzdChjb25zdCBjaGFyICpwYXRobmFtZSwKKwkJCQlpbnQgcGF0aGxlbiwKKwkJCQljb25zdCBjaGFyICpiYXNlbmFtZSwgaW50ICpkdHlwZSwKKwkJCQlzdHJ1Y3QgcGF0dGVybl9saXN0ICpwbCwKKwkJCQlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSk7CiBzdHJ1Y3QgZGlyX2VudHJ5ICpkaXJfYWRkX2lnbm9yZWQoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKIAkJCQkgIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAogCQkJCSAgY29uc3QgY2hhciAqcGF0aG5hbWUsIGludCBsZW4pOwpAQCAtMjQyLDM3ICszOTUsNDYgQEAKICAqIHRoZXNlIGltcGxlbWVudCB0aGUgbWF0Y2hpbmcgbG9naWMgZm9yIGRpci5jOmV4Y2x1ZGVkX2Zyb21fbGlzdCBhbmQKICAqIGF0dHIuYzpwYXRoX21hdGNoZXMoKQogICovCi1leHRlcm4gaW50IG1hdGNoX2Jhc2VuYW1lKGNvbnN0IGNoYXIgKiwgaW50LAotCQkJICBjb25zdCBjaGFyICosIGludCwgaW50LCB1bnNpZ25lZCk7Ci1leHRlcm4gaW50IG1hdGNoX3BhdGhuYW1lKGNvbnN0IGNoYXIgKiwgaW50LAotCQkJICBjb25zdCBjaGFyICosIGludCwKLQkJCSAgY29uc3QgY2hhciAqLCBpbnQsIGludCwgdW5zaWduZWQpOworaW50IG1hdGNoX2Jhc2VuYW1lKGNvbnN0IGNoYXIgKiwgaW50LAorCQkgICBjb25zdCBjaGFyICosIGludCwgaW50LCB1bnNpZ25lZCk7CitpbnQgbWF0Y2hfcGF0aG5hbWUoY29uc3QgY2hhciAqLCBpbnQsCisJCSAgIGNvbnN0IGNoYXIgKiwgaW50LAorCQkgICBjb25zdCBjaGFyICosIGludCwgaW50LCB1bnNpZ25lZCk7CiAKLWV4dGVybiBzdHJ1Y3QgZXhjbHVkZSAqbGFzdF9leGNsdWRlX21hdGNoaW5nKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsCi0JCQkJCSAgICAgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCi0JCQkJCSAgICAgY29uc3QgY2hhciAqbmFtZSwgaW50ICpkdHlwZSk7CitzdHJ1Y3QgcGF0aF9wYXR0ZXJuICpsYXN0X21hdGNoaW5nX3BhdHRlcm4oc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKKwkJCQkJICAgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCisJCQkJCSAgIGNvbnN0IGNoYXIgKm5hbWUsIGludCAqZHR5cGUpOwogCi1leHRlcm4gaW50IGlzX2V4Y2x1ZGVkKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsCi0JCSAgICAgICBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKLQkJICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIGludCAqZHR5cGUpOworaW50IGlzX2V4Y2x1ZGVkKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIsCisJCXN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQljb25zdCBjaGFyICpuYW1lLCBpbnQgKmR0eXBlKTsKIAotZXh0ZXJuIHN0cnVjdCBleGNsdWRlX2xpc3QgKmFkZF9leGNsdWRlX2xpc3Qoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpciwKLQkJCQkJICAgICBpbnQgZ3JvdXBfdHlwZSwgY29uc3QgY2hhciAqc3JjKTsKLWV4dGVybiBpbnQgYWRkX2V4Y2x1ZGVzX2Zyb21fZmlsZV90b19saXN0KGNvbnN0IGNoYXIgKmZuYW1lLCBjb25zdCBjaGFyICpiYXNlLCBpbnQgYmFzZWxlbiwKLQkJCQkJICBzdHJ1Y3QgZXhjbHVkZV9saXN0ICplbCwgc3RydWN0ICBpbmRleF9zdGF0ZSAqaXN0YXRlKTsKLWV4dGVybiB2b2lkIGFkZF9leGNsdWRlc19mcm9tX2ZpbGUoc3RydWN0IGRpcl9zdHJ1Y3QgKiwgY29uc3QgY2hhciAqZm5hbWUpOwotZXh0ZXJuIGludCBhZGRfZXhjbHVkZXNfZnJvbV9ibG9iX3RvX2xpc3Qoc3RydWN0IG9iamVjdF9pZCAqb2lkLAotCQkJCQkgIGNvbnN0IGNoYXIgKmJhc2UsIGludCBiYXNlbGVuLAotCQkJCQkgIHN0cnVjdCBleGNsdWRlX2xpc3QgKmVsKTsKLWV4dGVybiB2b2lkIHBhcnNlX2V4Y2x1ZGVfcGF0dGVybihjb25zdCBjaGFyICoqc3RyaW5nLCBpbnQgKnBhdHRlcm5sZW4sIHVuc2lnbmVkICpmbGFncywgaW50ICpub3dpbGRjYXJkbGVuKTsKLWV4dGVybiB2b2lkIGFkZF9leGNsdWRlKGNvbnN0IGNoYXIgKnN0cmluZywgY29uc3QgY2hhciAqYmFzZSwKLQkJCWludCBiYXNlbGVuLCBzdHJ1Y3QgZXhjbHVkZV9saXN0ICplbCwgaW50IHNyY3Bvcyk7Ci1leHRlcm4gdm9pZCBjbGVhcl9leGNsdWRlX2xpc3Qoc3RydWN0IGV4Y2x1ZGVfbGlzdCAqZWwpOwotZXh0ZXJuIHZvaWQgY2xlYXJfZGlyZWN0b3J5KHN0cnVjdCBkaXJfc3RydWN0ICpkaXIpOwotZXh0ZXJuIGludCBmaWxlX2V4aXN0cyhjb25zdCBjaGFyICopOworaW50IHBsX2hhc2htYXBfY21wKGNvbnN0IHZvaWQgKnVudXNlZF9jbXBfZGF0YSwKKwkJICAgY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmEsCisJCSAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICpiLAorCQkgICBjb25zdCB2b2lkICprZXkpOworaW50IGhhc2htYXBfY29udGFpbnNfcGFyZW50KHN0cnVjdCBoYXNobWFwICptYXAsCisJCQkgICAgY29uc3QgY2hhciAqcGF0aCwKKwkJCSAgICBzdHJ1Y3Qgc3RyYnVmICpidWZmZXIpOworc3RydWN0IHBhdHRlcm5fbGlzdCAqYWRkX3BhdHRlcm5fbGlzdChzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyLAorCQkJCSAgICAgIGludCBncm91cF90eXBlLCBjb25zdCBjaGFyICpzcmMpOworaW50IGFkZF9wYXR0ZXJuc19mcm9tX2ZpbGVfdG9fbGlzdChjb25zdCBjaGFyICpmbmFtZSwgY29uc3QgY2hhciAqYmFzZSwgaW50IGJhc2VsZW4sCisJCQkJICAgc3RydWN0IHBhdHRlcm5fbGlzdCAqcGwsIHN0cnVjdCAgaW5kZXhfc3RhdGUgKmlzdGF0ZSk7Cit2b2lkIGFkZF9wYXR0ZXJuc19mcm9tX2ZpbGUoc3RydWN0IGRpcl9zdHJ1Y3QgKiwgY29uc3QgY2hhciAqZm5hbWUpOworaW50IGFkZF9wYXR0ZXJuc19mcm9tX2Jsb2JfdG9fbGlzdChzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkJICAgY29uc3QgY2hhciAqYmFzZSwgaW50IGJhc2VsZW4sCisJCQkJICAgc3RydWN0IHBhdHRlcm5fbGlzdCAqcGwpOwordm9pZCBwYXJzZV9wYXRoX3BhdHRlcm4oY29uc3QgY2hhciAqKnN0cmluZywgaW50ICpwYXR0ZXJubGVuLCB1bnNpZ25lZCAqZmxhZ3MsIGludCAqbm93aWxkY2FyZGxlbik7Cit2b2lkIGFkZF9wYXR0ZXJuKGNvbnN0IGNoYXIgKnN0cmluZywgY29uc3QgY2hhciAqYmFzZSwKKwkJIGludCBiYXNlbGVuLCBzdHJ1Y3QgcGF0dGVybl9saXN0ICpwbCwgaW50IHNyY3Bvcyk7Cit2b2lkIGNsZWFyX3BhdHRlcm5fbGlzdChzdHJ1Y3QgcGF0dGVybl9saXN0ICpwbCk7Cit2b2lkIGNsZWFyX2RpcmVjdG9yeShzdHJ1Y3QgZGlyX3N0cnVjdCAqZGlyKTsKIAotZXh0ZXJuIGludCBpc19pbnNpZGVfZGlyKGNvbnN0IGNoYXIgKmRpcik7Ci1leHRlcm4gaW50IGRpcl9pbnNpZGVfb2YoY29uc3QgY2hhciAqc3ViZGlyLCBjb25zdCBjaGFyICpkaXIpOworaW50IHJlcG9fZmlsZV9leGlzdHMoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sIGNvbnN0IGNoYXIgKnBhdGgpOworaW50IGZpbGVfZXhpc3RzKGNvbnN0IGNoYXIgKik7CisKK2ludCBpc19pbnNpZGVfZGlyKGNvbnN0IGNoYXIgKmRpcik7CitpbnQgZGlyX2luc2lkZV9vZihjb25zdCBjaGFyICpzdWJkaXIsIGNvbnN0IGNoYXIgKmRpcik7CiAKIHN0YXRpYyBpbmxpbmUgaW50IGlzX2RvdF9vcl9kb3Rkb3QoY29uc3QgY2hhciAqbmFtZSkKIHsKQEAgLTI4MSw5ICs0NDMsOSBAQAogCQkgKG5hbWVbMV0gPT0gJy4nICYmIG5hbWVbMl0gPT0gJ1wwJykpKTsKIH0KIAotZXh0ZXJuIGludCBpc19lbXB0eV9kaXIoY29uc3QgY2hhciAqZGlyKTsKK2ludCBpc19lbXB0eV9kaXIoY29uc3QgY2hhciAqZGlyKTsKIAotZXh0ZXJuIHZvaWQgc2V0dXBfc3RhbmRhcmRfZXhjbHVkZXMoc3RydWN0IGRpcl9zdHJ1Y3QgKmRpcik7Cit2b2lkIHNldHVwX3N0YW5kYXJkX2V4Y2x1ZGVzKHN0cnVjdCBkaXJfc3RydWN0ICpkaXIpOwogCiAKIC8qIENvbnN0YW50cyBmb3IgcmVtb3ZlX2Rpcl9yZWN1cnNpdmVseTogKi8KQEAgLTMxMSwyNiArNDczLDI2IEBACiAgKiBUaGlzIGZ1bmN0aW9uIHVzZXMgcGF0aCBhcyB0ZW1wb3Jhcnkgc2NyYXRjaCBzcGFjZSwgYnV0IHJlc3RvcmVzIGl0CiAgKiBiZWZvcmUgcmV0dXJuaW5nLgogICovCi1leHRlcm4gaW50IHJlbW92ZV9kaXJfcmVjdXJzaXZlbHkoc3RydWN0IHN0cmJ1ZiAqcGF0aCwgaW50IGZsYWcpOworaW50IHJlbW92ZV9kaXJfcmVjdXJzaXZlbHkoc3RydWN0IHN0cmJ1ZiAqcGF0aCwgaW50IGZsYWcpOwogCiAvKiB0cmllcyB0byByZW1vdmUgdGhlIHBhdGggd2l0aCBlbXB0eSBkaXJlY3RvcmllcyBhbG9uZyBpdCwgaWdub3JlcyBFTk9FTlQgKi8KLWV4dGVybiBpbnQgcmVtb3ZlX3BhdGgoY29uc3QgY2hhciAqcGF0aCk7CitpbnQgcmVtb3ZlX3BhdGgoY29uc3QgY2hhciAqcGF0aCk7CiAKLWV4dGVybiBpbnQgZnNwYXRoY21wKGNvbnN0IGNoYXIgKmEsIGNvbnN0IGNoYXIgKmIpOwotZXh0ZXJuIGludCBmc3BhdGhuY21wKGNvbnN0IGNoYXIgKmEsIGNvbnN0IGNoYXIgKmIsIHNpemVfdCBjb3VudCk7CitpbnQgZnNwYXRoY21wKGNvbnN0IGNoYXIgKmEsIGNvbnN0IGNoYXIgKmIpOworaW50IGZzcGF0aG5jbXAoY29uc3QgY2hhciAqYSwgY29uc3QgY2hhciAqYiwgc2l6ZV90IGNvdW50KTsKIAogLyoKICAqIFRoZSBwcmVmaXggcGFydCBvZiBwYXR0ZXJuIG11c3Qgbm90IGNvbnRhaW5zIHdpbGRjYXJkcy4KICAqLwogc3RydWN0IHBhdGhzcGVjX2l0ZW07Ci1leHRlcm4gaW50IGdpdF9mbm1hdGNoKGNvbnN0IHN0cnVjdCBwYXRoc3BlY19pdGVtICppdGVtLAotCQkgICAgICAgY29uc3QgY2hhciAqcGF0dGVybiwgY29uc3QgY2hhciAqc3RyaW5nLAotCQkgICAgICAgaW50IHByZWZpeCk7CitpbnQgZ2l0X2ZubWF0Y2goY29uc3Qgc3RydWN0IHBhdGhzcGVjX2l0ZW0gKml0ZW0sCisJCWNvbnN0IGNoYXIgKnBhdHRlcm4sIGNvbnN0IGNoYXIgKnN0cmluZywKKwkJaW50IHByZWZpeCk7CiAKLWV4dGVybiBpbnQgc3VibW9kdWxlX3BhdGhfbWF0Y2goY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCi0JCQkJY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwcywKLQkJCQljb25zdCBjaGFyICpzdWJtb2R1bGVfbmFtZSwKLQkJCQljaGFyICpzZWVuKTsKK2ludCBzdWJtb2R1bGVfcGF0aF9tYXRjaChjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJCSBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBzLAorCQkJIGNvbnN0IGNoYXIgKnN1Ym1vZHVsZV9uYW1lLAorCQkJIGNoYXIgKnNlZW4pOwogCiBzdGF0aWMgaW5saW5lIGludCBjZV9wYXRoX21hdGNoKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAogCQkJCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsCkBAIC0zNzIsMTAgKzUzNCwxMCBAQAogICogV2hlbiBgcmVjdXJzZV9pbnRvX25lc3RlZGAgaXMgc2V0LCByZWN1cnNlIGludG8gYW55IG5lc3RlZCBzdWJtb2R1bGVzLAogICogY29ubmVjdGluZyB0aGVtIGFzIHdlbGwuCiAgKi8KLWV4dGVybiB2b2lkIGNvbm5lY3Rfd29ya190cmVlX2FuZF9naXRfZGlyKGNvbnN0IGNoYXIgKndvcmtfdHJlZSwKLQkJCQkJICBjb25zdCBjaGFyICpnaXRfZGlyLAotCQkJCQkgIGludCByZWN1cnNlX2ludG9fbmVzdGVkKTsKLWV4dGVybiB2b2lkIHJlbG9jYXRlX2dpdGRpcihjb25zdCBjaGFyICpwYXRoLAotCQkJICAgIGNvbnN0IGNoYXIgKm9sZF9naXRfZGlyLAotCQkJICAgIGNvbnN0IGNoYXIgKm5ld19naXRfZGlyKTsKK3ZvaWQgY29ubmVjdF93b3JrX3RyZWVfYW5kX2dpdF9kaXIoY29uc3QgY2hhciAqd29ya190cmVlLAorCQkJCSAgIGNvbnN0IGNoYXIgKmdpdF9kaXIsCisJCQkJICAgaW50IHJlY3Vyc2VfaW50b19uZXN0ZWQpOwordm9pZCByZWxvY2F0ZV9naXRkaXIoY29uc3QgY2hhciAqcGF0aCwKKwkJICAgICBjb25zdCBjaGFyICpvbGRfZ2l0X2RpciwKKwkJICAgICBjb25zdCBjaGFyICpuZXdfZ2l0X2Rpcik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2VkaXRvci5jIGIvZWRpdG9yLmMKaW5kZXggYzk4NWVlZS4uZjA3OWFiYiAxMDA2NDQKLS0tIGEvZWRpdG9yLmMKKysrIGIvZWRpdG9yLmMKQEAgLTc4LDYgKzc4LDcgQEAKIAkJcC5hcmd2ID0gYXJnczsKIAkJcC5lbnYgPSBlbnY7CiAJCXAudXNlX3NoZWxsID0gMTsKKwkJcC50cmFjZTJfY2hpbGRfY2xhc3MgPSAiZWRpdG9yIjsKIAkJaWYgKHN0YXJ0X2NvbW1hbmQoJnApIDwgMCkKIAkJCXJldHVybiBlcnJvcigidW5hYmxlIHRvIHN0YXJ0IGVkaXRvciAnJXMnIiwgZWRpdG9yKTsKIApAQCAtOTUsMTAgKzk2LDEwIEBACiAKIAkJaWYgKHByaW50X3dhaXRpbmdfZm9yX2VkaXRvciAmJiAhaXNfdGVybWluYWxfZHVtYigpKQogCQkJLyoKLQkJCSAqIEdvIGJhY2sgdG8gdGhlIGJlZ2lubmluZyBhbmQgZXJhc2UgdGhlIGVudGlyZSBsaW5lIHRvCi0JCQkgKiBhdm9pZCB3YXN0aW5nIHRoZSB2ZXJ0aWNhbCBzcGFjZS4KKwkJCSAqIEVyYXNlIHRoZSBlbnRpcmUgbGluZSB0byBhdm9pZCB3YXN0aW5nIHRoZQorCQkJICogdmVydGljYWwgc3BhY2UuCiAJCQkgKi8KLQkJCWZwdXRzKCJcclwwMzNbSyIsIHN0ZGVycik7CisJCQl0ZXJtX2NsZWFyX2xpbmUoKTsKIAl9CiAKIAlpZiAoIWJ1ZmZlcikKZGlmZiAtLWdpdCBhL2VudHJ5LmMgYi9lbnRyeS5jCmluZGV4IDBhM2M0NTEuLjUzMzgwYmIgMTAwNjQ0Ci0tLSBhL2VudHJ5LmMKKysrIGIvZW50cnkuYwpAQCAtMTYxLDcgKzE2MSw3IEBACiAJcmV0dXJuICFhdmFpbGFibGU7CiB9CiAKLWludCBmaW5pc2hfZGVsYXllZF9jaGVja291dChzdHJ1Y3QgY2hlY2tvdXQgKnN0YXRlKQoraW50IGZpbmlzaF9kZWxheWVkX2NoZWNrb3V0KHN0cnVjdCBjaGVja291dCAqc3RhdGUsIGludCAqbnJfY2hlY2tvdXRzKQogewogCWludCBlcnJzID0gMDsKIAl1bnNpZ25lZCBkZWxheWVkX29iamVjdF9jb3VudDsKQEAgLTIyNiw3ICsyMjYsNyBAQAogCQkJCWNlID0gaW5kZXhfZmlsZV9leGlzdHMoc3RhdGUtPmlzdGF0ZSwgcGF0aC0+c3RyaW5nLAogCQkJCQkJICAgICAgIHN0cmxlbihwYXRoLT5zdHJpbmcpLCAwKTsKIAkJCQlpZiAoY2UpIHsKLQkJCQkJZXJycyB8PSBjaGVja291dF9lbnRyeShjZSwgc3RhdGUsIE5VTEwpOworCQkJCQllcnJzIHw9IGNoZWNrb3V0X2VudHJ5KGNlLCBzdGF0ZSwgTlVMTCwgbnJfY2hlY2tvdXRzKTsKIAkJCQkJZmlsdGVyZWRfYnl0ZXMgKz0gY2UtPmNlX3N0YXRfZGF0YS5zZF9zaXplOwogCQkJCQlkaXNwbGF5X3Rocm91Z2hwdXQocHJvZ3Jlc3MsIGZpbHRlcmVkX2J5dGVzKTsKIAkJCQl9IGVsc2UKQEAgLTM3Myw3ICszNzMsNyBAQAogCQkJaWYgKGxzdGF0KGNlLT5uYW1lLCAmc3QpIDwgMCkKIAkJCQlyZXR1cm4gZXJyb3JfZXJybm8oInVuYWJsZSB0byBzdGF0IGp1c3Qtd3JpdHRlbiBmaWxlICVzIiwKIAkJCQkJCSAgIGNlLT5uYW1lKTsKLQkJZmlsbF9zdGF0X2NhY2hlX2luZm8oY2UsICZzdCk7CisJCWZpbGxfc3RhdF9jYWNoZV9pbmZvKHN0YXRlLT5pc3RhdGUsIGNlLCAmc3QpOwogCQljZS0+Y2VfZmxhZ3MgfD0gQ0VfVVBEQVRFX0lOX0JBU0U7CiAJCW1hcmtfZnNtb25pdG9yX2ludmFsaWQoc3RhdGUtPmlzdGF0ZSwgY2UpOwogCQlzdGF0ZS0+aXN0YXRlLT5jYWNoZV9jaGFuZ2VkIHw9IENFX0VOVFJZX0NIQU5HRUQ7CkBAIC00MzUsMTIgKzQzNSwyMyBAQAogICogaXRzIG5hbWUgaXMgcmV0dXJuZWQgaW4gdG9wYXRoW10sIHdoaWNoIG11c3QgYmUgYWJsZSB0byBob2xkIGF0CiAgKiBsZWFzdCBURU1QT1JBUllfRklMRU5BTUVfTEVOR1RIIGJ5dGVzIGxvbmcuCiAgKi8KLWludCBjaGVja291dF9lbnRyeShzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLAotCQkgICBjb25zdCBzdHJ1Y3QgY2hlY2tvdXQgKnN0YXRlLCBjaGFyICp0b3BhdGgpCitpbnQgY2hlY2tvdXRfZW50cnkoc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwgY29uc3Qgc3RydWN0IGNoZWNrb3V0ICpzdGF0ZSwKKwkJICAgY2hhciAqdG9wYXRoLCBpbnQgKm5yX2NoZWNrb3V0cykKIHsKIAlzdGF0aWMgc3RydWN0IHN0cmJ1ZiBwYXRoID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0YXQgc3Q7CiAKKwlpZiAoY2UtPmNlX2ZsYWdzICYgQ0VfV1RfUkVNT1ZFKSB7CisJCWlmICh0b3BhdGgpCisJCQkvKgorCQkJICogTm8gY29udGVudCBhbmQgdGh1cyBubyBwYXRoIHRvIGNyZWF0ZSwgc28gd2UgaGF2ZQorCQkJICogbm8gcGF0aG5hbWUgdG8gcmV0dXJuLgorCQkJICovCisJCQlCVUcoIkNhbid0IHJlbW92ZSBlbnRyeSB0byBhIHBhdGgiKTsKKwkJdW5saW5rX2VudHJ5KGNlKTsKKwkJcmV0dXJuIDA7CisJfQorCiAJaWYgKHRvcGF0aCkKIAkJcmV0dXJuIHdyaXRlX2VudHJ5KGNlLCB0b3BhdGgsIHN0YXRlLCAxKTsKIApAQCAtNTA2LDUgKzUxNywyMiBAQAogCQlyZXR1cm4gMDsKIAogCWNyZWF0ZV9kaXJlY3RvcmllcyhwYXRoLmJ1ZiwgcGF0aC5sZW4sIHN0YXRlKTsKKwlpZiAobnJfY2hlY2tvdXRzKQorCQkoKm5yX2NoZWNrb3V0cykrKzsKIAlyZXR1cm4gd3JpdGVfZW50cnkoY2UsIHBhdGguYnVmLCBzdGF0ZSwgMCk7CiB9CisKK3ZvaWQgdW5saW5rX2VudHJ5KGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UpCit7CisJY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3ViID0gc3VibW9kdWxlX2Zyb21fY2UoY2UpOworCWlmIChzdWIpIHsKKwkJLyogc3RhdGUuZm9yY2UgaXMgc2V0IGF0IHRoZSBjYWxsZXIuICovCisJCXN1Ym1vZHVsZV9tb3ZlX2hlYWQoY2UtPm5hbWUsICJIRUFEIiwgTlVMTCwKKwkJCQkgICAgU1VCTU9EVUxFX01PVkVfSEVBRF9GT1JDRSk7CisJfQorCWlmICghY2hlY2tfbGVhZGluZ19wYXRoKGNlLT5uYW1lLCBjZV9uYW1lbGVuKGNlKSkpCisJCXJldHVybjsKKwlpZiAocmVtb3ZlX29yX3dhcm4oY2UtPmNlX21vZGUsIGNlLT5uYW1lKSkKKwkJcmV0dXJuOworCXNjaGVkdWxlX2Rpcl9mb3JfcmVtb3ZhbChjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSkpOworfQpkaWZmIC0tZ2l0IGEvZW52aXJvbm1lbnQuYyBiL2Vudmlyb25tZW50LmMKaW5kZXggYzdiNzZkMy4uZTcyYTAyZCAxMDA2NDQKLS0tIGEvZW52aXJvbm1lbnQuYworKysgYi9lbnZpcm9ubWVudC5jCkBAIC0zMSw4ICszMSw2IEBACiBpbnQgd2Fybl9vbl9vYmplY3RfcmVmbmFtZV9hbWJpZ3VpdHkgPSAxOwogaW50IHJlZl9wYXJhbm9pYSA9IC0xOwogaW50IHJlcG9zaXRvcnlfZm9ybWF0X3ByZWNpb3VzX29iamVjdHM7Ci1jaGFyICpyZXBvc2l0b3J5X2Zvcm1hdF9wYXJ0aWFsX2Nsb25lOwotY29uc3QgY2hhciAqY29yZV9wYXJ0aWFsX2Nsb25lX2ZpbHRlcl9kZWZhdWx0OwogaW50IHJlcG9zaXRvcnlfZm9ybWF0X3dvcmt0cmVlX2NvbmZpZzsKIGNvbnN0IGNoYXIgKmdpdF9jb21taXRfZW5jb2Rpbmc7CiBjb25zdCBjaGFyICpnaXRfbG9nX291dHB1dF9lbmNvZGluZzsKQEAgLTY5LDYgKzY3LDcgQEAKIGNoYXIgKm5vdGVzX3JlZl9uYW1lOwogaW50IGdyYWZ0c19yZXBsYWNlX3BhcmVudHMgPSAxOwogaW50IGNvcmVfYXBwbHlfc3BhcnNlX2NoZWNrb3V0OworaW50IGNvcmVfc3BhcnNlX2NoZWNrb3V0X2NvbmU7CiBpbnQgbWVyZ2VfbG9nX2NvbmZpZyA9IC0xOwogaW50IHByZWNvbXBvc2VkX3VuaWNvZGUgPSAtMTsgLyogc2VlIHByb2JlX3V0ZjhfcGF0aG5hbWVfY29tcG9zaXRpb24oKSAqLwogdW5zaWduZWQgbG9uZyBwYWNrX3NpemVfbGltaXRfY2ZnOwpAQCAtMTA3LDcgKzEwNiw3IEBACiAKIHN0YXRpYyBjaGFyICpnaXRfbmFtZXNwYWNlOwogCi1zdGF0aWMgY29uc3QgY2hhciAqc3VwZXJfcHJlZml4Oworc3RhdGljIGNoYXIgKnN1cGVyX3ByZWZpeDsKIAogLyoKICAqIFJlcG9zaXRvcnktbG9jYWwgR0lUXyogZW52aXJvbm1lbnQgdmFyaWFibGVzOyBzZWUgY2FjaGUuaCBmb3IgZGV0YWlscy4KQEAgLTI0MCw3ICsyMzksNyBAQAogewogCXN0YXRpYyBpbnQgaW5pdGlhbGl6ZWQ7CiAJaWYgKCFpbml0aWFsaXplZCkgewotCQlzdXBlcl9wcmVmaXggPSBnZXRlbnYoR0lUX1NVUEVSX1BSRUZJWF9FTlZJUk9OTUVOVCk7CisJCXN1cGVyX3ByZWZpeCA9IHhzdHJkdXBfb3JfbnVsbChnZXRlbnYoR0lUX1NVUEVSX1BSRUZJWF9FTlZJUk9OTUVOVCkpOwogCQlpbml0aWFsaXplZCA9IDE7CiAJfQogCXJldHVybiBzdXBlcl9wcmVmaXg7CkBAIC0yNzQsOSArMjczLDkgQEAKIAogY2hhciAqZ2V0X29iamVjdF9kaXJlY3Rvcnkodm9pZCkKIHsKLQlpZiAoIXRoZV9yZXBvc2l0b3J5LT5vYmplY3RzLT5vYmplY3RkaXIpCisJaWYgKCF0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cy0+b2RiKQogCQlCVUcoImdpdCBlbnZpcm9ubWVudCBoYXNuJ3QgYmVlbiBzZXR1cCIpOwotCXJldHVybiB0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cy0+b2JqZWN0ZGlyOworCXJldHVybiB0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cy0+b2RiLT5wYXRoOwogfQogCiBpbnQgb2RiX21rc3RlbXAoc3RydWN0IHN0cmJ1ZiAqdGVtcF9maWxlbmFtZSwgY29uc3QgY2hhciAqcGF0dGVybikKZGlmZiAtLWdpdCBhL2V3YWgvYml0bWFwLmMgYi9ld2FoL2JpdG1hcC5jCmluZGV4IDUyZjExNzguLmQ4Y2VjNTggMTAwNjQ0Ci0tLSBhL2V3YWgvYml0bWFwLmMKKysrIGIvZXdhaC9iaXRtYXAuYwpAQCAtMjIsMjEgKzIyLDI2IEBACiAjZGVmaW5lIEVXQUhfTUFTSyh4KSAoKGV3b3JkX3QpMSA8PCAoeCAlIEJJVFNfSU5fRVdPUkQpKQogI2RlZmluZSBFV0FIX0JMT0NLKHgpICh4IC8gQklUU19JTl9FV09SRCkKIAotc3RydWN0IGJpdG1hcCAqYml0bWFwX25ldyh2b2lkKQorc3RydWN0IGJpdG1hcCAqYml0bWFwX3dvcmRfYWxsb2Moc2l6ZV90IHdvcmRfYWxsb2MpCiB7CiAJc3RydWN0IGJpdG1hcCAqYml0bWFwID0geG1hbGxvYyhzaXplb2Yoc3RydWN0IGJpdG1hcCkpOwotCWJpdG1hcC0+d29yZHMgPSB4Y2FsbG9jKDMyLCBzaXplb2YoZXdvcmRfdCkpOwotCWJpdG1hcC0+d29yZF9hbGxvYyA9IDMyOworCWJpdG1hcC0+d29yZHMgPSB4Y2FsbG9jKHdvcmRfYWxsb2MsIHNpemVvZihld29yZF90KSk7CisJYml0bWFwLT53b3JkX2FsbG9jID0gd29yZF9hbGxvYzsKIAlyZXR1cm4gYml0bWFwOwogfQogCitzdHJ1Y3QgYml0bWFwICpiaXRtYXBfbmV3KHZvaWQpCit7CisJcmV0dXJuIGJpdG1hcF93b3JkX2FsbG9jKDMyKTsKK30KKwogdm9pZCBiaXRtYXBfc2V0KHN0cnVjdCBiaXRtYXAgKnNlbGYsIHNpemVfdCBwb3MpCiB7CiAJc2l6ZV90IGJsb2NrID0gRVdBSF9CTE9DSyhwb3MpOwogCiAJaWYgKGJsb2NrID49IHNlbGYtPndvcmRfYWxsb2MpIHsKIAkJc2l6ZV90IG9sZF9zaXplID0gc2VsZi0+d29yZF9hbGxvYzsKLQkJc2VsZi0+d29yZF9hbGxvYyA9IGJsb2NrICogMjsKKwkJc2VsZi0+d29yZF9hbGxvYyA9IGJsb2NrID8gYmxvY2sgKiAyIDogMTsKIAkJUkVBTExPQ19BUlJBWShzZWxmLT53b3Jkcywgc2VsZi0+d29yZF9hbGxvYyk7CiAJCW1lbXNldChzZWxmLT53b3JkcyArIG9sZF9zaXplLCAweDAsCiAJCQkoc2VsZi0+d29yZF9hbGxvYyAtIG9sZF9zaXplKSAqIHNpemVvZihld29yZF90KSk7CkBAIC00NSw2ICs1MCwxNCBAQAogCXNlbGYtPndvcmRzW2Jsb2NrXSB8PSBFV0FIX01BU0socG9zKTsKIH0KIAordm9pZCBiaXRtYXBfdW5zZXQoc3RydWN0IGJpdG1hcCAqc2VsZiwgc2l6ZV90IHBvcykKK3sKKwlzaXplX3QgYmxvY2sgPSBFV0FIX0JMT0NLKHBvcyk7CisKKwlpZiAoYmxvY2sgPCBzZWxmLT53b3JkX2FsbG9jKQorCQlzZWxmLT53b3Jkc1tibG9ja10gJj0gfkVXQUhfTUFTSyhwb3MpOworfQorCiBpbnQgYml0bWFwX2dldChzdHJ1Y3QgYml0bWFwICpzZWxmLCBzaXplX3QgcG9zKQogewogCXNpemVfdCBibG9jayA9IEVXQUhfQkxPQ0socG9zKTsKZGlmZiAtLWdpdCBhL2V3YWgvZXdvay5oIGIvZXdhaC9ld29rLmgKaW5kZXggODRiMmEyOS4uMDExODUyYiAxMDA2NDQKLS0tIGEvZXdhaC9ld29rLmgKKysrIGIvZXdhaC9ld29rLmgKQEAgLTE3Miw3ICsxNzIsOSBAQAogfTsKIAogc3RydWN0IGJpdG1hcCAqYml0bWFwX25ldyh2b2lkKTsKK3N0cnVjdCBiaXRtYXAgKmJpdG1hcF93b3JkX2FsbG9jKHNpemVfdCB3b3JkX2FsbG9jKTsKIHZvaWQgYml0bWFwX3NldChzdHJ1Y3QgYml0bWFwICpzZWxmLCBzaXplX3QgcG9zKTsKK3ZvaWQgYml0bWFwX3Vuc2V0KHN0cnVjdCBiaXRtYXAgKnNlbGYsIHNpemVfdCBwb3MpOwogaW50IGJpdG1hcF9nZXQoc3RydWN0IGJpdG1hcCAqc2VsZiwgc2l6ZV90IHBvcyk7CiB2b2lkIGJpdG1hcF9yZXNldChzdHJ1Y3QgYml0bWFwICpzZWxmKTsKIHZvaWQgYml0bWFwX2ZyZWUoc3RydWN0IGJpdG1hcCAqc2VsZik7CmRpZmYgLS1naXQgYS9leGVjLWNtZC5jIGIvZXhlYy1jbWQuYwppbmRleCA0ZjgxZjQ0Li43ZGVlYWIzIDEwMDY0NAotLS0gYS9leGVjLWNtZC5jCisrKyBiL2V4ZWMtY21kLmMKQEAgLTIwOSw2ICsyMDksOCBAQAogCQlyZXR1cm4gLTE7CiAJfQogCisJdHJhY2UyX2NtZF9wYXRoKGJ1Zi0+YnVmKTsKKwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9leGVjLWNtZC5oIGIvZXhlYy1jbWQuaAppbmRleCAyNTIyNDUzLi44Y2QxZGYyIDEwMDY0NAotLS0gYS9leGVjLWNtZC5oCisrKyBiL2V4ZWMtY21kLmgKQEAgLTMsMTQgKzMsMTQgQEAKIAogc3RydWN0IGFyZ3ZfYXJyYXk7CiAKLWV4dGVybiB2b2lkIGdpdF9zZXRfZXhlY19wYXRoKGNvbnN0IGNoYXIgKmV4ZWNfcGF0aCk7Ci1leHRlcm4gdm9pZCBnaXRfcmVzb2x2ZV9leGVjdXRhYmxlX2Rpcihjb25zdCBjaGFyICpwYXRoKTsKLWV4dGVybiBjb25zdCBjaGFyICpnaXRfZXhlY19wYXRoKHZvaWQpOwotZXh0ZXJuIHZvaWQgc2V0dXBfcGF0aCh2b2lkKTsKLWV4dGVybiBjb25zdCBjaGFyICoqcHJlcGFyZV9naXRfY21kKHN0cnVjdCBhcmd2X2FycmF5ICpvdXQsIGNvbnN0IGNoYXIgKiphcmd2KTsKLWV4dGVybiBpbnQgZXhlY3ZfZ2l0X2NtZChjb25zdCBjaGFyICoqYXJndik7IC8qIE5VTEwgdGVybWluYXRlZCAqLwordm9pZCBnaXRfc2V0X2V4ZWNfcGF0aChjb25zdCBjaGFyICpleGVjX3BhdGgpOwordm9pZCBnaXRfcmVzb2x2ZV9leGVjdXRhYmxlX2Rpcihjb25zdCBjaGFyICpwYXRoKTsKK2NvbnN0IGNoYXIgKmdpdF9leGVjX3BhdGgodm9pZCk7Cit2b2lkIHNldHVwX3BhdGgodm9pZCk7Citjb25zdCBjaGFyICoqcHJlcGFyZV9naXRfY21kKHN0cnVjdCBhcmd2X2FycmF5ICpvdXQsIGNvbnN0IGNoYXIgKiphcmd2KTsKK2ludCBleGVjdl9naXRfY21kKGNvbnN0IGNoYXIgKiphcmd2KTsgLyogTlVMTCB0ZXJtaW5hdGVkICovCiBMQVNUX0FSR19NVVNUX0JFX05VTEwKLWV4dGVybiBpbnQgZXhlY2xfZ2l0X2NtZChjb25zdCBjaGFyICpjbWQsIC4uLik7Ci1leHRlcm4gY2hhciAqc3lzdGVtX3BhdGgoY29uc3QgY2hhciAqcGF0aCk7CitpbnQgZXhlY2xfZ2l0X2NtZChjb25zdCBjaGFyICpjbWQsIC4uLik7CitjaGFyICpzeXN0ZW1fcGF0aChjb25zdCBjaGFyICpwYXRoKTsKIAogI2VuZGlmIC8qIEdJVF9FWEVDX0NNRF9IICovCmRpZmYgLS1naXQgYS9mYXN0LWltcG9ydC5jIGIvZmFzdC1pbXBvcnQuYwppbmRleCBjOGIzNzJiLi5iOGI2NWE4IDEwMDY0NAotLS0gYS9mYXN0LWltcG9ydC5jCisrKyBiL2Zhc3QtaW1wb3J0LmMKQEAgLTEsMTU3ICsxLDMgQEAKLS8qCi0oU2VlIERvY3VtZW50YXRpb24vZ2l0LWZhc3QtaW1wb3J0LnR4dCBmb3IgbWFpbnRhaW5lZCBkb2N1bWVudGF0aW9uLikKLUZvcm1hdCBvZiBTVERJTiBzdHJlYW06Ci0KLSAgc3RyZWFtIDo6PSBjbWQqOwotCi0gIGNtZCA6Oj0gbmV3X2Jsb2IKLSAgICAgICAgfCBuZXdfY29tbWl0Ci0gICAgICAgIHwgbmV3X3RhZwotICAgICAgICB8IHJlc2V0X2JyYW5jaAotICAgICAgICB8IGNoZWNrcG9pbnQKLSAgICAgICAgfCBwcm9ncmVzcwotICAgICAgICA7Ci0KLSAgbmV3X2Jsb2IgOjo9ICdibG9iJyBsZgotICAgIG1hcms/Ci0gICAgZmlsZV9jb250ZW50OwotICBmaWxlX2NvbnRlbnQgOjo9IGRhdGE7Ci0KLSAgbmV3X2NvbW1pdCA6Oj0gJ2NvbW1pdCcgc3AgcmVmX3N0ciBsZgotICAgIG1hcms/Ci0gICAgKCdhdXRob3InIChzcCBuYW1lKT8gc3AgJzwnIGVtYWlsICc+JyBzcCB3aGVuIGxmKT8KLSAgICAnY29tbWl0dGVyJyAoc3AgbmFtZSk/IHNwICc8JyBlbWFpbCAnPicgc3Agd2hlbiBsZgotICAgIGNvbW1pdF9tc2cKLSAgICAoJ2Zyb20nIHNwIGNvbW1pdC1pc2ggbGYpPwotICAgICgnbWVyZ2UnIHNwIGNvbW1pdC1pc2ggbGYpKgotICAgIChmaWxlX2NoYW5nZSB8IGxzKSoKLSAgICBsZj87Ci0gIGNvbW1pdF9tc2cgOjo9IGRhdGE7Ci0KLSAgbHMgOjo9ICdscycgc3AgJyInIHF1b3RlZChwYXRoKSAnIicgbGY7Ci0KLSAgZmlsZV9jaGFuZ2UgOjo9IGZpbGVfY2xyCi0gICAgfCBmaWxlX2RlbAotICAgIHwgZmlsZV9ybm0KLSAgICB8IGZpbGVfY3B5Ci0gICAgfCBmaWxlX29ibQotICAgIHwgZmlsZV9pbm07Ci0gIGZpbGVfY2xyIDo6PSAnZGVsZXRlYWxsJyBsZjsKLSAgZmlsZV9kZWwgOjo9ICdEJyBzcCBwYXRoX3N0ciBsZjsKLSAgZmlsZV9ybm0gOjo9ICdSJyBzcCBwYXRoX3N0ciBzcCBwYXRoX3N0ciBsZjsKLSAgZmlsZV9jcHkgOjo9ICdDJyBzcCBwYXRoX3N0ciBzcCBwYXRoX3N0ciBsZjsKLSAgZmlsZV9vYm0gOjo9ICdNJyBzcCBtb2RlIHNwIChoZXhzaGExIHwgaWRudW0pIHNwIHBhdGhfc3RyIGxmOwotICBmaWxlX2lubSA6Oj0gJ00nIHNwIG1vZGUgc3AgJ2lubGluZScgc3AgcGF0aF9zdHIgbGYKLSAgICBkYXRhOwotICBub3RlX29ibSA6Oj0gJ04nIHNwIChoZXhzaGExIHwgaWRudW0pIHNwIGNvbW1pdC1pc2ggbGY7Ci0gIG5vdGVfaW5tIDo6PSAnTicgc3AgJ2lubGluZScgc3AgY29tbWl0LWlzaCBsZgotICAgIGRhdGE7Ci0KLSAgbmV3X3RhZyA6Oj0gJ3RhZycgc3AgdGFnX3N0ciBsZgotICAgICdmcm9tJyBzcCBjb21taXQtaXNoIGxmCi0gICAgKCd0YWdnZXInIChzcCBuYW1lKT8gc3AgJzwnIGVtYWlsICc+JyBzcCB3aGVuIGxmKT8KLSAgICB0YWdfbXNnOwotICB0YWdfbXNnIDo6PSBkYXRhOwotCi0gIHJlc2V0X2JyYW5jaCA6Oj0gJ3Jlc2V0JyBzcCByZWZfc3RyIGxmCi0gICAgKCdmcm9tJyBzcCBjb21taXQtaXNoIGxmKT8KLSAgICBsZj87Ci0KLSAgY2hlY2twb2ludCA6Oj0gJ2NoZWNrcG9pbnQnIGxmCi0gICAgbGY/OwotCi0gIHByb2dyZXNzIDo6PSAncHJvZ3Jlc3MnIHNwIG5vdF9sZiogbGYKLSAgICBsZj87Ci0KLSAgICAgIyBub3RlOiB0aGUgZmlyc3QgaWRudW0gaW4gYSBzdHJlYW0gc2hvdWxkIGJlIDEgYW5kIHN1YnNlcXVlbnQKLSAgICAgIyBpZG51bXMgc2hvdWxkIG5vdCBoYXZlIGdhcHMgYmV0d2VlbiB2YWx1ZXMgYXMgdGhpcyB3aWxsIGNhdXNlCi0gICAgICMgdGhlIHN0cmVhbSBwYXJzZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIGdhcHBlZCB2YWx1ZXMuICBBbgotICAgICAjIGlkbnVtIGNhbiBiZSB1cGRhdGVkIGluIHRoZSBmdXR1cmUgdG8gYSBuZXcgb2JqZWN0IGJ5IGlzc3VpbmcKLSAgICAgIyBhIG5ldyBtYXJrIGRpcmVjdGl2ZSB3aXRoIHRoZSBvbGQgaWRudW0uCi0gICAgICMKLSAgbWFyayA6Oj0gJ21hcmsnIHNwIGlkbnVtIGxmOwotICBkYXRhIDo6PSAoZGVsaW1pdGVkX2RhdGEgfCBleGFjdF9kYXRhKQotICAgIGxmPzsKLQotICAgICMgbm90ZTogZGVsaW0gbWF5IGJlIGFueSBzdHJpbmcgYnV0IG11c3Qgbm90IGNvbnRhaW4gbGYuCi0gICAgIyBkYXRhX2xpbmUgbWF5IGNvbnRhaW4gYW55IGRhdGEgYnV0IG11c3Qgbm90IGJlIGV4YWN0bHkKLSAgICAjIGRlbGltLgotICBkZWxpbWl0ZWRfZGF0YSA6Oj0gJ2RhdGEnIHNwICc8PCcgZGVsaW0gbGYKLSAgICAoZGF0YV9saW5lIGxmKSoKLSAgICBkZWxpbSBsZjsKLQotICAgICAjIG5vdGU6IGRlY2xlbiBpbmRpY2F0ZXMgdGhlIGxlbmd0aCBvZiBiaW5hcnlfZGF0YSBpbiBieXRlcy4KLSAgICAgIyBkZWNsZW4gZG9lcyBub3QgaW5jbHVkZSB0aGUgbGYgcHJlY2VkaW5nIHRoZSBiaW5hcnkgZGF0YS4KLSAgICAgIwotICBleGFjdF9kYXRhIDo6PSAnZGF0YScgc3AgZGVjbGVuIGxmCi0gICAgYmluYXJ5X2RhdGE7Ci0KLSAgICAgIyBub3RlOiBxdW90ZWQgc3RyaW5ncyBhcmUgQy1zdHlsZSBxdW90aW5nIHN1cHBvcnRpbmcgXGMgZm9yCi0gICAgICMgY29tbW9uIGVzY2FwZXMgb2YgJ2MnIChlLi5nIFxuLCBcdCwgXFwsIFwiKSBvciBcbm5uIHdoZXJlIG5ubgotICAgICAjIGlzIHRoZSBzaWduZWQgYnl0ZSB2YWx1ZSBpbiBvY3RhbC4gIE5vdGUgdGhhdCB0aGUgb25seQotICAgICAjIGNoYXJhY3RlcnMgd2hpY2ggbXVzdCBhY3R1YWxseSBiZSBlc2NhcGVkIHRvIHByb3RlY3QgdGhlCi0gICAgICMgc3RyZWFtIGZvcm1hdHRpbmcgaXM6IFwsICIgYW5kIExGLiAgT3RoZXJ3aXNlIHRoZXNlIHZhbHVlcwotICAgICAjIGFyZSBVVEY4LgotICAgICAjCi0gIGNvbW1pdC1pc2ggIDo6PSAocmVmX3N0ciB8IGhleHNoYTEgfCBzaGExZXhwX3N0ciB8IGlkbnVtKTsKLSAgcmVmX3N0ciAgICAgOjo9IHJlZjsKLSAgc2hhMWV4cF9zdHIgOjo9IHNoYTFleHA7Ci0gIHRhZ19zdHIgICAgIDo6PSB0YWc7Ci0gIHBhdGhfc3RyICAgIDo6PSBwYXRoICAgIHwgJyInIHF1b3RlZChwYXRoKSAgICAnIicgOwotICBtb2RlICAgICAgICA6Oj0gJzEwMDY0NCcgfCAnNjQ0JwotICAgICAgICAgICAgICAgIHwgJzEwMDc1NScgfCAnNzU1JwotICAgICAgICAgICAgICAgIHwgJzEyMDAwMCcKLSAgICAgICAgICAgICAgICA7Ci0KLSAgZGVjbGVuIDo6PSAjIHVuc2lnbmVkIDMyIGJpdCB2YWx1ZSwgYXNjaWkgYmFzZTEwIG5vdGF0aW9uOwotICBiaWdpbnQgOjo9ICMgdW5zaWduZWQgaW50ZWdlciB2YWx1ZSwgYXNjaWkgYmFzZTEwIG5vdGF0aW9uOwotICBiaW5hcnlfZGF0YSA6Oj0gIyBmaWxlIGNvbnRlbnQsIG5vdCBpbnRlcnByZXRlZDsKLQotICB3aGVuICAgICAgICAgOjo9IHJhd193aGVuIHwgcmZjMjgyMl93aGVuOwotICByYXdfd2hlbiAgICAgOjo9IHRzIHNwIHR6OwotICByZmMyODIyX3doZW4gOjo9ICMgVmFsaWQgUkZDIDI4MjIgZGF0ZSBhbmQgdGltZTsKLQotICBzcCA6Oj0gIyBBU0NJSSBzcGFjZSBjaGFyYWN0ZXI7Ci0gIGxmIDo6PSAjIEFTQ0lJIG5ld2xpbmUgKExGKSBjaGFyYWN0ZXI7Ci0KLSAgICAgIyBub3RlOiBhIGNvbG9uICgnOicpIG11c3QgcHJlY2VkZSB0aGUgbnVtZXJpY2FsIHZhbHVlIGFzc2lnbmVkIHRvCi0gICAgICMgYW4gaWRudW0uICBUaGlzIGlzIHRvIGRpc3Rpbmd1aXNoIGl0IGZyb20gYSByZWYgb3IgdGFnIG5hbWUgYXMKLSAgICAgIyBHSVQgZG9lcyBub3QgcGVybWl0ICc6JyBpbiByZWYgb3IgdGFnIHN0cmluZ3MuCi0gICAgICMKLSAgaWRudW0gICA6Oj0gJzonIGJpZ2ludDsKLSAgcGF0aCAgICA6Oj0gIyBHSVQgc3R5bGUgZmlsZSBwYXRoLCBlLmcuICJhL2IvYyI7Ci0gIHJlZiAgICAgOjo9ICMgR0lUIHJlZiBuYW1lLCBlLmcuICJyZWZzL2hlYWRzL01PWl9HRUNLT19FWFBFUklNRU5UIjsKLSAgdGFnICAgICA6Oj0gIyBHSVQgdGFnIG5hbWUsIGUuZy4gIkZJUkVGT1hfMV81IjsKLSAgc2hhMWV4cCA6Oj0gIyBBbnkgdmFsaWQgR0lUIFNIQTEgZXhwcmVzc2lvbjsKLSAgaGV4c2hhMSA6Oj0gIyBTSEExIGluIGhleGFkZWNpbWFsIGZvcm1hdDsKLQotICAgICAjIG5vdGU6IG5hbWUgYW5kIGVtYWlsIGFyZSBVVEY4IHN0cmluZ3MsIGhvd2V2ZXIgbmFtZSBtdXN0IG5vdAotICAgICAjIGNvbnRhaW4gJzwnIG9yIGxmIGFuZCBlbWFpbCBtdXN0IG5vdCBjb250YWluIGFueSBvZiB0aGUKLSAgICAgIyBmb2xsb3dpbmc6ICc8JywgJz4nLCBsZi4KLSAgICAgIwotICBuYW1lICA6Oj0gIyB2YWxpZCBHSVQgYXV0aG9yL2NvbW1pdHRlciBuYW1lOwotICBlbWFpbCA6Oj0gIyB2YWxpZCBHSVQgYXV0aG9yL2NvbW1pdHRlciBlbWFpbDsKLSAgdHMgICAgOjo9ICMgdGltZSBzaW5jZSB0aGUgZXBvY2ggaW4gc2Vjb25kcywgYXNjaWkgYmFzZTEwIG5vdGF0aW9uOwotICB0eiAgICA6Oj0gIyBHSVQgc3R5bGUgdGltZXpvbmU7Ci0KLSAgICAgIyBub3RlOiBjb21tZW50cywgZ2V0LW1hcmssIGxzLXRyZWUsIGFuZCBjYXQtYmxvYiByZXF1ZXN0cyBtYXkKLSAgICAgIyBhcHBlYXIgYW55d2hlcmUgaW4gdGhlIGlucHV0LCBleGNlcHQgd2l0aGluIGEgZGF0YSBjb21tYW5kLiBBbnkKLSAgICAgIyBmb3JtIG9mIHRoZSBkYXRhIGNvbW1hbmQgYWx3YXlzIGVzY2FwZXMgdGhlIHJlbGF0ZWQgaW5wdXQgZnJvbQotICAgICAjIGNvbW1lbnQgcHJvY2Vzc2luZy4KLSAgICAgIwotICAgICAjIEluIGNhc2UgaXQgaXMgbm90IGNsZWFyLCB0aGUgJyMnIHRoYXQgc3RhcnRzIHRoZSBjb21tZW50Ci0gICAgICMgbXVzdCBiZSB0aGUgZmlyc3QgY2hhcmFjdGVyIG9uIHRoYXQgbGluZSAoYW4gbGYKLSAgICAgIyBwcmVjZWRlZCBpdCkuCi0gICAgICMKLQotICBnZXRfbWFyayA6Oj0gJ2dldC1tYXJrJyBzcCBpZG51bSBsZjsKLSAgY2F0X2Jsb2IgOjo9ICdjYXQtYmxvYicgc3AgKGhleHNoYTEgfCBpZG51bSkgbGY7Ci0gIGxzX3RyZWUgIDo6PSAnbHMnIHNwIChoZXhzaGExIHwgaWRudW0pIHNwIHBhdGhfc3RyIGxmOwotCi0gIGNvbW1lbnQgOjo9ICcjJyBub3RfbGYqIGxmOwotICBub3RfbGYgIDo6PSAjIEFueSBieXRlIHRoYXQgaXMgbm90IEFTQ0lJIG5ld2xpbmUgKExGKTsKLSovCi0KICNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJyZXBvc2l0b3J5LmgiCkBAIC0xODMsNiArMjksMTMgQEAKICAqLwogI2RlZmluZSBOT19ERUxUQSBTX0lTVUlECiAKKy8qCisgKiBUaGUgYW1vdW50IG9mIGFkZGl0aW9uYWwgc3BhY2UgcmVxdWlyZWQgaW4gb3JkZXIgdG8gd3JpdGUgYW4gb2JqZWN0IGludG8gdGhlCisgKiBjdXJyZW50IHBhY2suIFRoaXMgaXMgdGhlIGhhc2ggbGVuZ3RocyBhdCB0aGUgZW5kIG9mIHRoZSBwYWNrLCBwbHVzIHRoZQorICogbGVuZ3RoIG9mIG9uZSBvYmplY3QgSUQuCisgKi8KKyNkZWZpbmUgUEFDS19TSVpFX1RIUkVTSE9MRCAodGhlX2hhc2hfYWxnby0+cmF3c3ogKiAzKQorCiBzdHJ1Y3Qgb2JqZWN0X2VudHJ5IHsKIAlzdHJ1Y3QgcGFja19pZHhfZW50cnkgaWR4OwogCXN0cnVjdCBvYmplY3RfZW50cnkgKm5leHQ7CkBAIC03OTIsNyArNjQ1LDcgQEAKIAlzdHJ1Y3QgdHJlZV9jb250ZW50ICpyID0gbmV3X3RyZWVfY29udGVudCh0LT5lbnRyeV9jb3VudCArIGFtdCk7CiAJci0+ZW50cnlfY291bnQgPSB0LT5lbnRyeV9jb3VudDsKIAlyLT5kZWx0YV9kZXB0aCA9IHQtPmRlbHRhX2RlcHRoOwotCW1lbWNweShyLT5lbnRyaWVzLHQtPmVudHJpZXMsdC0+ZW50cnlfY291bnQqc2l6ZW9mKHQtPmVudHJpZXNbMF0pKTsKKwlDT1BZX0FSUkFZKHItPmVudHJpZXMsIHQtPmVudHJpZXMsIHQtPmVudHJ5X2NvdW50KTsKIAlyZWxlYXNlX3RyZWVfY29udGVudCh0KTsKIAlyZXR1cm4gcjsKIH0KQEAgLTg5Nyw3ICs3NTAsOCBAQAogCWlmIChjICE9IGxhc3QpCiAJCWRpZSgiaW50ZXJuYWwgY29uc2lzdGVuY3kgZXJyb3IgY3JlYXRpbmcgdGhlIGluZGV4Iik7CiAKLQl0bXBmaWxlID0gd3JpdGVfaWR4X2ZpbGUoTlVMTCwgaWR4LCBvYmplY3RfY291bnQsICZwYWNrX2lkeF9vcHRzLCBwYWNrX2RhdGEtPnNoYTEpOworCXRtcGZpbGUgPSB3cml0ZV9pZHhfZmlsZShOVUxMLCBpZHgsIG9iamVjdF9jb3VudCwgJnBhY2tfaWR4X29wdHMsCisJCQkJIHBhY2tfZGF0YS0+aGFzaCk7CiAJZnJlZShpZHgpOwogCXJldHVybiB0bXBmaWxlOwogfQpAQCAtOTA4LDcgKzc2Miw3IEBACiAJc3RydWN0IHN0cmJ1ZiBuYW1lID0gU1RSQlVGX0lOSVQ7CiAJaW50IGtlZXBfZmQ7CiAKLQlvZGJfcGFja19uYW1lKCZuYW1lLCBwYWNrX2RhdGEtPnNoYTEsICJrZWVwIik7CisJb2RiX3BhY2tfbmFtZSgmbmFtZSwgcGFja19kYXRhLT5oYXNoLCAia2VlcCIpOwogCWtlZXBfZmQgPSBvZGJfcGFja19rZWVwKG5hbWUuYnVmKTsKIAlpZiAoa2VlcF9mZCA8IDApCiAJCWRpZV9lcnJubygiY2Fubm90IGNyZWF0ZSBrZWVwIGZpbGUiKTsKQEAgLTkxNiwxMSArNzcwLDExIEBACiAJaWYgKGNsb3NlKGtlZXBfZmQpKQogCQlkaWVfZXJybm8oImZhaWxlZCB0byB3cml0ZSBrZWVwIGZpbGUiKTsKIAotCW9kYl9wYWNrX25hbWUoJm5hbWUsIHBhY2tfZGF0YS0+c2hhMSwgInBhY2siKTsKKwlvZGJfcGFja19uYW1lKCZuYW1lLCBwYWNrX2RhdGEtPmhhc2gsICJwYWNrIik7CiAJaWYgKGZpbmFsaXplX29iamVjdF9maWxlKHBhY2tfZGF0YS0+cGFja19uYW1lLCBuYW1lLmJ1ZikpCiAJCWRpZSgiY2Fubm90IHN0b3JlIHBhY2sgZmlsZSIpOwogCi0Jb2RiX3BhY2tfbmFtZSgmbmFtZSwgcGFja19kYXRhLT5zaGExLCAiaWR4Iik7CisJb2RiX3BhY2tfbmFtZSgmbmFtZSwgcGFja19kYXRhLT5oYXNoLCAiaWR4Iik7CiAJaWYgKGZpbmFsaXplX29iamVjdF9maWxlKGN1cnJfaW5kZXhfbmFtZSwgbmFtZS5idWYpKQogCQlkaWUoImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIik7CiAJZnJlZSgodm9pZCAqKWN1cnJfaW5kZXhfbmFtZSk7CkBAIC05MzQsNyArNzg4LDcgQEAKIAogCWZvciAoayA9IDA7IGsgPCBwYWNrX2lkOyBrKyspIHsKIAkJc3RydWN0IHBhY2tlZF9naXQgKnAgPSBhbGxfcGFja3Nba107Ci0JCW9kYl9wYWNrX25hbWUoJm5hbWUsIHAtPnNoYTEsICJrZWVwIik7CisJCW9kYl9wYWNrX25hbWUoJm5hbWUsIHAtPmhhc2gsICJrZWVwIik7CiAJCXVubGlua19vcl93YXJuKG5hbWUuYnVmKTsKIAl9CiAJc3RyYnVmX3JlbGVhc2UoJm5hbWUpOwpAQCAtOTc2LDkgKzgzMCw5IEBACiAKIAkJY2xvc2VfcGFja193aW5kb3dzKHBhY2tfZGF0YSk7CiAJCWZpbmFsaXplX2hhc2hmaWxlKHBhY2tfZmlsZSwgY3VyX3BhY2tfb2lkLmhhc2gsIDApOwotCQlmaXh1cF9wYWNrX2hlYWRlcl9mb290ZXIocGFja19kYXRhLT5wYWNrX2ZkLCBwYWNrX2RhdGEtPnNoYTEsCi0JCQkJICAgIHBhY2tfZGF0YS0+cGFja19uYW1lLCBvYmplY3RfY291bnQsCi0JCQkJICAgIGN1cl9wYWNrX29pZC5oYXNoLCBwYWNrX3NpemUpOworCQlmaXh1cF9wYWNrX2hlYWRlcl9mb290ZXIocGFja19kYXRhLT5wYWNrX2ZkLCBwYWNrX2RhdGEtPmhhc2gsCisJCQkJCSBwYWNrX2RhdGEtPnBhY2tfbmFtZSwgb2JqZWN0X2NvdW50LAorCQkJCQkgY3VyX3BhY2tfb2lkLmhhc2gsIHBhY2tfc2l6ZSk7CiAKIAkJaWYgKG9iamVjdF9jb3VudCA8PSB1bnBhY2tfbGltaXQpIHsKIAkJCWlmICghbG9vc2VuX3NtYWxsX3BhY2socGFja19kYXRhKSkgewpAQCAtMTEwMyw4ICs5NTcsOSBAQAogCWdpdF9kZWZsYXRlX2VuZCgmcyk7CiAKIAkvKiBEZXRlcm1pbmUgaWYgd2Ugc2hvdWxkIGF1dG8tY2hlY2twb2ludC4gKi8KLQlpZiAoKG1heF9wYWNrc2l6ZSAmJiAocGFja19zaXplICsgNjAgKyBzLnRvdGFsX291dCkgPiBtYXhfcGFja3NpemUpCi0JCXx8IChwYWNrX3NpemUgKyA2MCArIHMudG90YWxfb3V0KSA8IHBhY2tfc2l6ZSkgeworCWlmICgobWF4X3BhY2tzaXplCisJCSYmIChwYWNrX3NpemUgKyBQQUNLX1NJWkVfVEhSRVNIT0xEICsgcy50b3RhbF9vdXQpID4gbWF4X3BhY2tzaXplKQorCQl8fCAocGFja19zaXplICsgUEFDS19TSVpFX1RIUkVTSE9MRCArIHMudG90YWxfb3V0KSA8IHBhY2tfc2l6ZSkgewogCiAJCS8qIFRoaXMgbmV3IG9iamVjdCBuZWVkcyB0byAqbm90KiBoYXZlIHRoZSBjdXJyZW50IHBhY2tfaWQuICovCiAJCWUtPnBhY2tfaWQgPSBwYWNrX2lkICsgMTsKQEAgLTExOTksOCArMTA1NCw5IEBACiAJaW50IHN0YXR1cyA9IFpfT0s7CiAKIAkvKiBEZXRlcm1pbmUgaWYgd2Ugc2hvdWxkIGF1dG8tY2hlY2twb2ludC4gKi8KLQlpZiAoKG1heF9wYWNrc2l6ZSAmJiAocGFja19zaXplICsgNjAgKyBsZW4pID4gbWF4X3BhY2tzaXplKQotCQl8fCAocGFja19zaXplICsgNjAgKyBsZW4pIDwgcGFja19zaXplKQorCWlmICgobWF4X3BhY2tzaXplCisJCSYmIChwYWNrX3NpemUgKyBQQUNLX1NJWkVfVEhSRVNIT0xEICsgbGVuKSA+IG1heF9wYWNrc2l6ZSkKKwkJfHwgKHBhY2tfc2l6ZSArIFBBQ0tfU0laRV9USFJFU0hPTEQgKyBsZW4pIDwgcGFja19zaXplKQogCQljeWNsZV9wYWNrZmlsZSgpOwogCiAJaGFzaGZpbGVfY2hlY2twb2ludChwYWNrX2ZpbGUsICZjaGVja3BvaW50KTsKQEAgLTEzOTUsNyArMTI1MSw3IEBACiAJCWMgKz0gZS0+bmFtZS0+c3RyX2xlbiArIDE7CiAJCWhhc2hjcHkoZS0+dmVyc2lvbnNbMF0ub2lkLmhhc2gsICh1bnNpZ25lZCBjaGFyICopYyk7CiAJCWhhc2hjcHkoZS0+dmVyc2lvbnNbMV0ub2lkLmhhc2gsICh1bnNpZ25lZCBjaGFyICopYyk7Ci0JCWMgKz0gR0lUX1NIQTFfUkFXU1o7CisJCWMgKz0gdGhlX2hhc2hfYWxnby0+cmF3c3o7CiAJfQogCWZyZWUoYnVmKTsKIH0KQEAgLTE0NDIsNyArMTI5OCw3IEBACiAJCXN0cmJ1Zl9hZGRmKGIsICIlbyAlcyVjIiwKIAkJCSh1bnNpZ25lZCBpbnQpKGUtPnZlcnNpb25zW3ZdLm1vZGUgJiB+Tk9fREVMVEEpLAogCQkJZS0+bmFtZS0+c3RyX2RhdCwgJ1wwJyk7Ci0JCXN0cmJ1Zl9hZGQoYiwgZS0+dmVyc2lvbnNbdl0ub2lkLmhhc2gsIEdJVF9TSEExX1JBV1NaKTsKKwkJc3RyYnVmX2FkZChiLCBlLT52ZXJzaW9uc1t2XS5vaWQuaGFzaCwgdGhlX2hhc2hfYWxnby0+cmF3c3opOwogCX0KIH0KIApAQCAtMTkwOSwxNCArMTc2NSwxMSBAQAogCX0KIAogCWZvciAoOzspIHsKLQkJY29uc3QgY2hhciAqcDsKLQogCQlpZiAodW5yZWFkX2NvbW1hbmRfYnVmKSB7CiAJCQl1bnJlYWRfY29tbWFuZF9idWYgPSAwOwogCQl9IGVsc2UgewogCQkJc3RydWN0IHJlY2VudF9jb21tYW5kICpyYzsKIAotCQkJc3RyYnVmX2RldGFjaCgmY29tbWFuZF9idWYsIE5VTEwpOwogCQkJc3RkaW5fZW9mID0gc3RyYnVmX2dldGxpbmVfbGYoJmNvbW1hbmRfYnVmLCBzdGRpbik7CiAJCQlpZiAoc3RkaW5fZW9mKQogCQkJCXJldHVybiBFT0Y7CkBAIC0xOTM3LDIwICsxNzkwLDEyIEBACiAJCQkJZnJlZShyYy0+YnVmKTsKIAkJCX0KIAotCQkJcmMtPmJ1ZiA9IGNvbW1hbmRfYnVmLmJ1ZjsKKwkJCXJjLT5idWYgPSB4c3RyZHVwKGNvbW1hbmRfYnVmLmJ1Zik7CiAJCQlyYy0+cHJldiA9IGNtZF90YWlsOwogCQkJcmMtPm5leHQgPSBjbWRfaGlzdC5wcmV2OwogCQkJcmMtPnByZXYtPm5leHQgPSByYzsKIAkJCWNtZF90YWlsID0gcmM7CiAJCX0KLQkJaWYgKHNraXBfcHJlZml4KGNvbW1hbmRfYnVmLmJ1ZiwgImdldC1tYXJrICIsICZwKSkgewotCQkJcGFyc2VfZ2V0X21hcmsocCk7Ci0JCQljb250aW51ZTsKLQkJfQotCQlpZiAoc2tpcF9wcmVmaXgoY29tbWFuZF9idWYuYnVmLCAiY2F0LWJsb2IgIiwgJnApKSB7Ci0JCQlwYXJzZV9jYXRfYmxvYihwKTsKLQkJCWNvbnRpbnVlOwotCQl9CiAJCWlmIChjb21tYW5kX2J1Zi5idWZbMF0gPT0gJyMnKQogCQkJY29udGludWU7CiAJCXJldHVybiAwOwpAQCAtMTk3NSw2ICsxODIwLDEzIEBACiAJCW5leHRfbWFyayA9IDA7CiB9CiAKK3N0YXRpYyB2b2lkIHBhcnNlX29yaWdpbmFsX2lkZW50aWZpZXIodm9pZCkKK3sKKwljb25zdCBjaGFyICp2OworCWlmIChza2lwX3ByZWZpeChjb21tYW5kX2J1Zi5idWYsICJvcmlnaW5hbC1vaWQgIiwgJnYpKQorCQlyZWFkX25leHRfY29tbWFuZCgpOworfQorCiBzdGF0aWMgaW50IHBhcnNlX2RhdGEoc3RydWN0IHN0cmJ1ZiAqc2IsIHVpbnRtYXhfdCBsaW1pdCwgdWludG1heF90ICpsZW5fcmVzKQogewogCWNvbnN0IGNoYXIgKmRhdGE7CkBAIC0xOTg3LDcgKzE4MzksNiBAQAogCQljaGFyICp0ZXJtID0geHN0cmR1cChkYXRhKTsKIAkJc2l6ZV90IHRlcm1fbGVuID0gY29tbWFuZF9idWYubGVuIC0gKGRhdGEgLSBjb21tYW5kX2J1Zi5idWYpOwogCi0JCXN0cmJ1Zl9kZXRhY2goJmNvbW1hbmRfYnVmLCBOVUxMKTsKIAkJZm9yICg7OykgewogCQkJaWYgKHN0cmJ1Zl9nZXRsaW5lX2xmKCZjb21tYW5kX2J1Ziwgc3RkaW4pID09IEVPRikKIAkJCQlkaWUoIkVPRiBpbiBkYXRhICh0ZXJtaW5hdG9yICclcycgbm90IGZvdW5kKSIsIHRlcm0pOwpAQCAtMjExNyw2ICsxOTY4LDcgQEAKIHsKIAlyZWFkX25leHRfY29tbWFuZCgpOwogCXBhcnNlX21hcmsoKTsKKwlwYXJzZV9vcmlnaW5hbF9pZGVudGlmaWVyKCk7CiAJcGFyc2VfYW5kX3N0b3JlX2Jsb2IoJmxhc3RfYmxvYiwgTlVMTCwgbmV4dF9tYXJrKTsKIH0KIApAQCAtMjE5OSw3ICsyMDUxLDkgQEAKIAl1bnNpZ25lZCBpbnQgaSwgdG1wX2hleF9vaWRfbGVuLCB0bXBfZnVsbHBhdGhfbGVuOwogCXVpbnRtYXhfdCBudW1fbm90ZXMgPSAwOwogCXN0cnVjdCBvYmplY3RfaWQgb2lkOwotCWNoYXIgcmVhbHBhdGhbNjBdOworCS8qIGhleCBvaWQgKyAnLycgYmV0d2VlbiBlYWNoIHBhaXIgb2YgaGV4IGRpZ2l0cyArIE5VTCAqLworCWNoYXIgcmVhbHBhdGhbR0lUX01BWF9IRVhTWiArICgoR0lUX01BWF9IRVhTWiAvIDIpIC0gMSkgKyAxXTsKKwljb25zdCB1bnNpZ25lZCBoZXhzeiA9IHRoZV9oYXNoX2FsZ28tPmhleHN6OwogCiAJaWYgKCFyb290LT50cmVlKQogCQlsb2FkX3RyZWUocm9vdCk7CkBAIC0yMjE5LDcgKzIwNzMsNyBAQAogCQkgKiBvZiAyIGNoYXJzLgogCQkgKi8KIAkJaWYgKCFlLT52ZXJzaW9uc1sxXS5tb2RlIHx8Ci0JCSAgICB0bXBfaGV4X29pZF9sZW4gPiBHSVRfU0hBMV9IRVhTWiB8fAorCQkgICAgdG1wX2hleF9vaWRfbGVuID4gaGV4c3ogfHwKIAkJICAgIGUtPm5hbWUtPnN0cl9sZW4gJSAyKQogCQkJY29udGludWU7CiAKQEAgLTIyMzMsNyArMjA4Nyw3IEBACiAJCXRtcF9mdWxscGF0aF9sZW4gKz0gZS0+bmFtZS0+c3RyX2xlbjsKIAkJZnVsbHBhdGhbdG1wX2Z1bGxwYXRoX2xlbl0gPSAnXDAnOwogCi0JCWlmICh0bXBfaGV4X29pZF9sZW4gPT0gR0lUX1NIQTFfSEVYU1ogJiYgIWdldF9vaWRfaGV4KGhleF9vaWQsICZvaWQpKSB7CisJCWlmICh0bXBfaGV4X29pZF9sZW4gPT0gaGV4c3ogJiYgIWdldF9vaWRfaGV4KGhleF9vaWQsICZvaWQpKSB7CiAJCQkvKiBUaGlzIGlzIGEgbm90ZSBlbnRyeSAqLwogCQkJaWYgKGZhbm91dCA9PSAweGZmKSB7CiAJCQkJLyogQ291bnRpbmcgbW9kZSwgbm8gcmVuYW1lICovCkBAIC0yNDA3LDggKzIyNjEsMTUgQEAKIAkJCXN0cmJ1Zl9hZGRzdHIoJnVxLCBwKTsKIAkJCXAgPSB1cS5idWY7CiAJCX0KLQkJcmVhZF9uZXh0X2NvbW1hbmQoKTsKLQkJcGFyc2VfYW5kX3N0b3JlX2Jsb2IoJmxhc3RfYmxvYiwgJm9pZCwgMCk7CisJCXdoaWxlIChyZWFkX25leHRfY29tbWFuZCgpICE9IEVPRikgeworCQkJY29uc3QgY2hhciAqdjsKKwkJCWlmIChza2lwX3ByZWZpeChjb21tYW5kX2J1Zi5idWYsICJjYXQtYmxvYiAiLCAmdikpCisJCQkJcGFyc2VfY2F0X2Jsb2Iodik7CisJCQllbHNlIHsKKwkJCQlwYXJzZV9hbmRfc3RvcmVfYmxvYigmbGFzdF9ibG9iLCAmb2lkLCAwKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQogCX0gZWxzZSB7CiAJCWVudW0gb2JqZWN0X3R5cGUgZXhwZWN0ZWQgPSBTX0lTRElSKG1vZGUpID8KIAkJCQkJCU9CSl9UUkVFOiBPQkpfQkxPQjsKQEAgLTI1MDQsNyArMjM2NSw3IEBACiAJc3RydWN0IG9iamVjdF9lbnRyeSAqb2U7CiAJc3RydWN0IGJyYW5jaCAqczsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZCwgY29tbWl0X29pZDsKLQljaGFyIHBhdGhbNjBdOworCWNoYXIgcGF0aFtHSVRfTUFYX1JBV1NaICogM107CiAJdWludDE2X3QgaW5saW5lX2RhdGEgPSAwOwogCXVuc2lnbmVkIGNoYXIgbmV3X2Zhbm91dDsKIApAQCAtMjU1NCwxMCArMjQxNSwxMSBAQAogCQlvaWRjcHkoJmNvbW1pdF9vaWQsICZjb21taXRfb2UtPmlkeC5vaWQpOwogCX0gZWxzZSBpZiAoIWdldF9vaWQocCwgJmNvbW1pdF9vaWQpKSB7CiAJCXVuc2lnbmVkIGxvbmcgc2l6ZTsKLQkJY2hhciAqYnVmID0gcmVhZF9vYmplY3Rfd2l0aF9yZWZlcmVuY2UoJmNvbW1pdF9vaWQsCisJCWNoYXIgKmJ1ZiA9IHJlYWRfb2JqZWN0X3dpdGhfcmVmZXJlbmNlKHRoZV9yZXBvc2l0b3J5LAorCQkJCQkJICAgICAgICZjb21taXRfb2lkLAogCQkJCQkJICAgICAgIGNvbW1pdF90eXBlLCAmc2l6ZSwKIAkJCQkJCSAgICAgICAmY29tbWl0X29pZCk7Ci0JCWlmICghYnVmIHx8IHNpemUgPCA0NikKKwkJaWYgKCFidWYgfHwgc2l6ZSA8IHRoZV9oYXNoX2FsZ28tPmhleHN6ICsgNikKIAkJCWRpZSgiTm90IGEgdmFsaWQgY29tbWl0OiAlcyIsIHApOwogCQlmcmVlKGJ1Zik7CiAJfSBlbHNlCkBAIC0yNjA4LDcgKzI0NzAsNyBAQAogCiBzdGF0aWMgdm9pZCBwYXJzZV9mcm9tX2NvbW1pdChzdHJ1Y3QgYnJhbmNoICpiLCBjaGFyICpidWYsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKIHsKLQlpZiAoIWJ1ZiB8fCBzaXplIDwgR0lUX1NIQTFfSEVYU1ogKyA2KQorCWlmICghYnVmIHx8IHNpemUgPCB0aGVfaGFzaF9hbGdvLT5oZXhzeiArIDYpCiAJCWRpZSgiTm90IGEgdmFsaWQgY29tbWl0OiAlcyIsIG9pZF90b19oZXgoJmItPm9pZCkpOwogCWlmIChtZW1jbXAoInRyZWUgIiwgYnVmLCA1KQogCQl8fCBnZXRfb2lkX2hleChidWYgKyA1LCAmYi0+YnJhbmNoX3RyZWUudmVyc2lvbnNbMV0ub2lkKSkKQEAgLTI2MjYsMjUgKzI0ODgsMjIgQEAKIAkJdW5zaWduZWQgbG9uZyBzaXplOwogCQljaGFyICpidWY7CiAKLQkJYnVmID0gcmVhZF9vYmplY3Rfd2l0aF9yZWZlcmVuY2UoJmItPm9pZCwgY29tbWl0X3R5cGUsICZzaXplLAorCQlidWYgPSByZWFkX29iamVjdF93aXRoX3JlZmVyZW5jZSh0aGVfcmVwb3NpdG9yeSwKKwkJCQkJCSAmYi0+b2lkLCBjb21taXRfdHlwZSwgJnNpemUsCiAJCQkJCQkgJmItPm9pZCk7CiAJCXBhcnNlX2Zyb21fY29tbWl0KGIsIGJ1Ziwgc2l6ZSk7CiAJCWZyZWUoYnVmKTsKIAl9CiB9CiAKLXN0YXRpYyBpbnQgcGFyc2VfZnJvbShzdHJ1Y3QgYnJhbmNoICpiKQorc3RhdGljIGludCBwYXJzZV9vYmplY3Rpc2goc3RydWN0IGJyYW5jaCAqYiwgY29uc3QgY2hhciAqb2JqZWN0aXNoKQogewotCWNvbnN0IGNoYXIgKmZyb207CiAJc3RydWN0IGJyYW5jaCAqczsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAotCWlmICghc2tpcF9wcmVmaXgoY29tbWFuZF9idWYuYnVmLCAiZnJvbSAiLCAmZnJvbSkpCi0JCXJldHVybiAwOwotCiAJb2lkY3B5KCZvaWQsICZiLT5icmFuY2hfdHJlZS52ZXJzaW9uc1sxXS5vaWQpOwogCi0JcyA9IGxvb2t1cF9icmFuY2goZnJvbSk7CisJcyA9IGxvb2t1cF9icmFuY2gob2JqZWN0aXNoKTsKIAlpZiAoYiA9PSBzKQogCQlkaWUoIkNhbid0IGNyZWF0ZSBhIGJyYW5jaCBmcm9tIGl0c2VsZjogJXMiLCBiLT5uYW1lKTsKIAllbHNlIGlmIChzKSB7CkBAIC0yNjUyLDggKzI1MTEsOCBAQAogCQlvaWRjcHkoJmItPm9pZCwgJnMtPm9pZCk7CiAJCW9pZGNweSgmYi0+YnJhbmNoX3RyZWUudmVyc2lvbnNbMF0ub2lkLCB0KTsKIAkJb2lkY3B5KCZiLT5icmFuY2hfdHJlZS52ZXJzaW9uc1sxXS5vaWQsIHQpOwotCX0gZWxzZSBpZiAoKmZyb20gPT0gJzonKSB7Ci0JCXVpbnRtYXhfdCBpZG51bSA9IHBhcnNlX21hcmtfcmVmX2VvbChmcm9tKTsKKwl9IGVsc2UgaWYgKCpvYmplY3Rpc2ggPT0gJzonKSB7CisJCXVpbnRtYXhfdCBpZG51bSA9IHBhcnNlX21hcmtfcmVmX2VvbChvYmplY3Rpc2gpOwogCQlzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICpvZSA9IGZpbmRfbWFyayhpZG51bSk7CiAJCWlmIChvZS0+dHlwZSAhPSBPQkpfQ09NTUlUKQogCQkJZGllKCJNYXJrIDolIiBQUkl1TUFYICIgbm90IGEgY29tbWl0IiwgaWRudW0pOwpAQCAtMjY2NywxMyArMjUyNiwxMyBAQAogCQkJfSBlbHNlCiAJCQkJcGFyc2VfZnJvbV9leGlzdGluZyhiKTsKIAkJfQotCX0gZWxzZSBpZiAoIWdldF9vaWQoZnJvbSwgJmItPm9pZCkpIHsKKwl9IGVsc2UgaWYgKCFnZXRfb2lkKG9iamVjdGlzaCwgJmItPm9pZCkpIHsKIAkJcGFyc2VfZnJvbV9leGlzdGluZyhiKTsKIAkJaWYgKGlzX251bGxfb2lkKCZiLT5vaWQpKQogCQkJYi0+ZGVsZXRlID0gMTsKIAl9CiAJZWxzZQotCQlkaWUoIkludmFsaWQgcmVmIG5hbWUgb3IgU0hBMSBleHByZXNzaW9uOiAlcyIsIGZyb20pOworCQlkaWUoIkludmFsaWQgcmVmIG5hbWUgb3IgU0hBMSBleHByZXNzaW9uOiAlcyIsIG9iamVjdGlzaCk7CiAKIAlpZiAoYi0+YnJhbmNoX3RyZWUudHJlZSAmJiAhb2lkZXEoJm9pZCwgJmItPmJyYW5jaF90cmVlLnZlcnNpb25zWzFdLm9pZCkpIHsKIAkJcmVsZWFzZV90cmVlX2NvbnRlbnRfcmVjdXJzaXZlKGItPmJyYW5jaF90cmVlLnRyZWUpOwpAQCAtMjY4NCw2ICsyNTQzLDI2IEBACiAJcmV0dXJuIDE7CiB9CiAKK3N0YXRpYyBpbnQgcGFyc2VfZnJvbShzdHJ1Y3QgYnJhbmNoICpiKQoreworCWNvbnN0IGNoYXIgKmZyb207CisKKwlpZiAoIXNraXBfcHJlZml4KGNvbW1hbmRfYnVmLmJ1ZiwgImZyb20gIiwgJmZyb20pKQorCQlyZXR1cm4gMDsKKworCXJldHVybiBwYXJzZV9vYmplY3Rpc2goYiwgZnJvbSk7Cit9CisKK3N0YXRpYyBpbnQgcGFyc2Vfb2JqZWN0aXNoX3dpdGhfcHJlZml4KHN0cnVjdCBicmFuY2ggKmIsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwljb25zdCBjaGFyICpiYXNlOworCisJaWYgKCFza2lwX3ByZWZpeChjb21tYW5kX2J1Zi5idWYsIHByZWZpeCwgJmJhc2UpKQorCQlyZXR1cm4gMDsKKworCXJldHVybiBwYXJzZV9vYmplY3Rpc2goYiwgYmFzZSk7Cit9CisKIHN0YXRpYyBzdHJ1Y3QgaGFzaF9saXN0ICpwYXJzZV9tZXJnZSh1bnNpZ25lZCBpbnQgKmNvdW50KQogewogCXN0cnVjdCBoYXNoX2xpc3QgKmxpc3QgPSBOVUxMLCAqKnRhaWwgPSAmbGlzdCwgKm47CkBAIC0yNzA0LDEwICsyNTgzLDExIEBACiAJCQlvaWRjcHkoJm4tPm9pZCwgJm9lLT5pZHgub2lkKTsKIAkJfSBlbHNlIGlmICghZ2V0X29pZChmcm9tLCAmbi0+b2lkKSkgewogCQkJdW5zaWduZWQgbG9uZyBzaXplOwotCQkJY2hhciAqYnVmID0gcmVhZF9vYmplY3Rfd2l0aF9yZWZlcmVuY2UoJm4tPm9pZCwKKwkJCWNoYXIgKmJ1ZiA9IHJlYWRfb2JqZWN0X3dpdGhfcmVmZXJlbmNlKHRoZV9yZXBvc2l0b3J5LAorCQkJCQkJCSAgICAgICAmbi0+b2lkLAogCQkJCQkJCSAgICAgICBjb21taXRfdHlwZSwKIAkJCQkJCQkgICAgICAgJnNpemUsICZuLT5vaWQpOwotCQkJaWYgKCFidWYgfHwgc2l6ZSA8IDQ2KQorCQkJaWYgKCFidWYgfHwgc2l6ZSA8IHRoZV9oYXNoX2FsZ28tPmhleHN6ICsgNikKIAkJCQlkaWUoIk5vdCBhIHZhbGlkIGNvbW1pdDogJXMiLCBmcm9tKTsKIAkJCWZyZWUoYnVmKTsKIAkJfSBlbHNlCkBAIC0yNzI5LDYgKzI2MDksNyBAQAogCXN0cnVjdCBicmFuY2ggKmI7CiAJY2hhciAqYXV0aG9yID0gTlVMTDsKIAljaGFyICpjb21taXR0ZXIgPSBOVUxMOworCWNoYXIgKmVuY29kaW5nID0gTlVMTDsKIAlzdHJ1Y3QgaGFzaF9saXN0ICptZXJnZV9saXN0ID0gTlVMTDsKIAl1bnNpZ25lZCBpbnQgbWVyZ2VfY291bnQ7CiAJdW5zaWduZWQgY2hhciBwcmV2X2Zhbm91dCwgbmV3X2Zhbm91dDsKQEAgLTI3NDAsNiArMjYyMSw3IEBACiAKIAlyZWFkX25leHRfY29tbWFuZCgpOwogCXBhcnNlX21hcmsoKTsKKwlwYXJzZV9vcmlnaW5hbF9pZGVudGlmaWVyKCk7CiAJaWYgKHNraXBfcHJlZml4KGNvbW1hbmRfYnVmLmJ1ZiwgImF1dGhvciAiLCAmdikpIHsKIAkJYXV0aG9yID0gcGFyc2VfaWRlbnQodik7CiAJCXJlYWRfbmV4dF9jb21tYW5kKCk7CkBAIC0yNzUwLDYgKzI2MzIsMTAgQEAKIAl9CiAJaWYgKCFjb21taXR0ZXIpCiAJCWRpZSgiRXhwZWN0ZWQgY29tbWl0dGVyIGJ1dCBkaWRuJ3QgZ2V0IG9uZSIpOworCWlmIChza2lwX3ByZWZpeChjb21tYW5kX2J1Zi5idWYsICJlbmNvZGluZyAiLCAmdikpIHsKKwkJZW5jb2RpbmcgPSB4c3RyZHVwKHYpOworCQlyZWFkX25leHRfY29tbWFuZCgpOworCX0KIAlwYXJzZV9kYXRhKCZtc2csIDAsIE5VTEwpOwogCXJlYWRfbmV4dF9jb21tYW5kKCk7CiAJcGFyc2VfZnJvbShiKTsKQEAgLTI3NzksNiArMjY2NSw4IEBACiAJCQlmaWxlX2NoYW5nZV9kZWxldGVhbGwoYik7CiAJCWVsc2UgaWYgKHNraXBfcHJlZml4KGNvbW1hbmRfYnVmLmJ1ZiwgImxzICIsICZ2KSkKIAkJCXBhcnNlX2xzKHYsIGIpOworCQllbHNlIGlmIChza2lwX3ByZWZpeChjb21tYW5kX2J1Zi5idWYsICJjYXQtYmxvYiAiLCAmdikpCisJCQlwYXJzZV9jYXRfYmxvYih2KTsKIAkJZWxzZSB7CiAJCQl1bnJlYWRfY29tbWFuZF9idWYgPSAxOwogCQkJYnJlYWs7CkBAIC0yODExLDEyICsyNjk5LDE3IEBACiAJfQogCXN0cmJ1Zl9hZGRmKCZuZXdfZGF0YSwKIAkJImF1dGhvciAlc1xuIgotCQkiY29tbWl0dGVyICVzXG4iCi0JCSJcbiIsCisJCSJjb21taXR0ZXIgJXNcbiIsCiAJCWF1dGhvciA/IGF1dGhvciA6IGNvbW1pdHRlciwgY29tbWl0dGVyKTsKKwlpZiAoZW5jb2RpbmcpCisJCXN0cmJ1Zl9hZGRmKCZuZXdfZGF0YSwKKwkJCSJlbmNvZGluZyAlc1xuIiwKKwkJCWVuY29kaW5nKTsKKwlzdHJidWZfYWRkY2goJm5ld19kYXRhLCAnXG4nKTsKIAlzdHJidWZfYWRkYnVmKCZuZXdfZGF0YSwgJm1zZyk7CiAJZnJlZShhdXRob3IpOwogCWZyZWUoY29tbWl0dGVyKTsKKwlmcmVlKGVuY29kaW5nKTsKIAogCWlmICghc3RvcmVfb2JqZWN0KE9CSl9DT01NSVQsICZuZXdfZGF0YSwgTlVMTCwgJmItPm9pZCwgbmV4dF9tYXJrKSkKIAkJYi0+cGFja19pZCA9IHBhY2tfaWQ7CkBAIC0yODQ0LDYgKzI3MzcsNyBAQAogCQlmaXJzdF90YWcgPSB0OwogCWxhc3RfdGFnID0gdDsKIAlyZWFkX25leHRfY29tbWFuZCgpOworCXBhcnNlX21hcmsoKTsKIAogCS8qIGZyb20gLi4uICovCiAJaWYgKCFza2lwX3ByZWZpeChjb21tYW5kX2J1Zi5idWYsICJmcm9tICIsICZmcm9tKSkKQEAgLTI4NzIsNiArMjc2Niw5IEBACiAJCWRpZSgiSW52YWxpZCByZWYgbmFtZSBvciBTSEExIGV4cHJlc3Npb246ICVzIiwgZnJvbSk7CiAJcmVhZF9uZXh0X2NvbW1hbmQoKTsKIAorCS8qIG9yaWdpbmFsLW9pZCAuLi4gKi8KKwlwYXJzZV9vcmlnaW5hbF9pZGVudGlmaWVyKCk7CisKIAkvKiB0YWdnZXIgLi4uICovCiAJaWYgKHNraXBfcHJlZml4KGNvbW1hbmRfYnVmLmJ1ZiwgInRhZ2dlciAiLCAmdikpIHsKIAkJdGFnZ2VyID0gcGFyc2VfaWRlbnQodik7CkBAIC0yODk3LDcgKzI3OTQsNyBAQAogCXN0cmJ1Zl9hZGRidWYoJm5ld19kYXRhLCAmbXNnKTsKIAlmcmVlKHRhZ2dlcik7CiAKLQlpZiAoc3RvcmVfb2JqZWN0KE9CSl9UQUcsICZuZXdfZGF0YSwgTlVMTCwgJnQtPm9pZCwgMCkpCisJaWYgKHN0b3JlX29iamVjdChPQkpfVEFHLCAmbmV3X2RhdGEsIE5VTEwsICZ0LT5vaWQsIG5leHRfbWFyaykpCiAJCXQtPnBhY2tfaWQgPSBNQVhfUEFDS19JRDsKIAllbHNlCiAJCXQtPnBhY2tfaWQgPSBwYWNrX2lkOwpAQCAtMjkwNiw2ICsyODAzLDcgQEAKIHN0YXRpYyB2b2lkIHBhcnNlX3Jlc2V0X2JyYW5jaChjb25zdCBjaGFyICphcmcpCiB7CiAJc3RydWN0IGJyYW5jaCAqYjsKKwljb25zdCBjaGFyICp0YWdfbmFtZTsKIAogCWIgPSBsb29rdXBfYnJhbmNoKGFyZyk7CiAJaWYgKGIpIHsKQEAgLTI5MjEsNiArMjgxOSwzMiBAQAogCQliID0gbmV3X2JyYW5jaChhcmcpOwogCXJlYWRfbmV4dF9jb21tYW5kKCk7CiAJcGFyc2VfZnJvbShiKTsKKwlpZiAoYi0+ZGVsZXRlICYmIHNraXBfcHJlZml4KGItPm5hbWUsICJyZWZzL3RhZ3MvIiwgJnRhZ19uYW1lKSkgeworCQkvKgorCQkgKiBFbHNld2hlcmUsIHdlIGNhbGwgZHVtcF9icmFuY2hlcygpIGJlZm9yZSBkdW1wX3RhZ3MoKSwKKwkJICogYW5kIGR1bXBfYnJhbmNoZXMoKSB3aWxsIGhhbmRsZSByZWYgZGVsZXRpb25zIGZpcnN0LCBzbworCQkgKiBpbiBvcmRlciB0byBtYWtlIHN1cmUgdGhlIGRlbGV0aW9uIGFjdHVhbGx5IHRha2VzIGVmZmVjdCwKKwkJICogd2UgbmVlZCB0byByZW1vdmUgdGhlIHRhZyBmcm9tIG91ciBsaXN0IG9mIHRhZ3MgdG8gdXBkYXRlLgorCQkgKgorCQkgKiBORUVEU1dPUks6IHJlcGxhY2UgbGlzdCBvZiB0YWdzIHdpdGggaGFzaG1hcCBmb3IgZmFzdGVyCisJCSAqIGRlbGV0aW9uPworCQkgKi8KKwkJc3RydWN0IHRhZyAqdCwgKnByZXYgPSBOVUxMOworCQlmb3IgKHQgPSBmaXJzdF90YWc7IHQ7IHQgPSB0LT5uZXh0X3RhZykgeworCQkJaWYgKCFzdHJjbXAodC0+bmFtZSwgdGFnX25hbWUpKQorCQkJCWJyZWFrOworCQkJcHJldiA9IHQ7CisJCX0KKwkJaWYgKHQpIHsKKwkJCWlmIChwcmV2KQorCQkJCXByZXYtPm5leHRfdGFnID0gdC0+bmV4dF90YWc7CisJCQllbHNlCisJCQkJZmlyc3RfdGFnID0gdC0+bmV4dF90YWc7CisJCQlpZiAoIXQtPm5leHRfdGFnKQorCQkJCWxhc3RfdGFnID0gcHJldjsKKwkJCS8qIFRoZXJlIGlzIG5vIG1lbV9wb29sX2ZyZWUodCkgZnVuY3Rpb24gdG8gY2FsbC4gKi8KKwkJfQorCX0KIAlpZiAoY29tbWFuZF9idWYubGVuID4gMCkKIAkJdW5yZWFkX2NvbW1hbmRfYnVmID0gMTsKIH0KQEAgLTI5OTAsNyArMjkxNCw3IEBACiAJCWRpZSgiVW5rbm93biBtYXJrOiAlcyIsIGNvbW1hbmRfYnVmLmJ1Zik7CiAKIAl4c25wcmludGYob3V0cHV0LCBzaXplb2Yob3V0cHV0KSwgIiVzXG4iLCBvaWRfdG9faGV4KCZvZS0+aWR4Lm9pZCkpOwotCWNhdF9ibG9iX3dyaXRlKG91dHB1dCwgR0lUX1NIQTFfSEVYU1ogKyAxKTsKKwljYXRfYmxvYl93cml0ZShvdXRwdXQsIHRoZV9oYXNoX2FsZ28tPmhleHN6ICsgMSk7CiB9CiAKIHN0YXRpYyB2b2lkIHBhcnNlX2NhdF9ibG9iKGNvbnN0IGNoYXIgKnApCkBAIC0zMDIwLDYgKzI5NDQsOCBAQAogewogCXVuc2lnbmVkIGxvbmcgc2l6ZTsKIAljaGFyICpidWYgPSBOVUxMOworCWNvbnN0IHVuc2lnbmVkIGhleHN6ID0gdGhlX2hhc2hfYWxnby0+aGV4c3o7CisKIAlpZiAoIW9lKSB7CiAJCWVudW0gb2JqZWN0X3R5cGUgdHlwZSA9IG9pZF9vYmplY3RfaW5mbyh0aGVfcmVwb3NpdG9yeSwgb2lkLAogCQkJCQkJCU5VTEwpOwpAQCAtMzA1MywxMiArMjk3OSwxMiBAQAogCS8qIFBlZWwgb25lIGxheWVyLiAqLwogCXN3aXRjaCAob2UtPnR5cGUpIHsKIAljYXNlIE9CSl9UQUc6Ci0JCWlmIChzaXplIDwgR0lUX1NIQTFfSEVYU1ogKyBzdHJsZW4oIm9iamVjdCAiKSB8fAorCQlpZiAoc2l6ZSA8IGhleHN6ICsgc3RybGVuKCJvYmplY3QgIikgfHwKIAkJICAgIGdldF9vaWRfaGV4KGJ1ZiArIHN0cmxlbigib2JqZWN0ICIpLCBvaWQpKQogCQkJZGllKCJJbnZhbGlkIFNIQTEgaW4gdGFnOiAlcyIsIGNvbW1hbmRfYnVmLmJ1Zik7CiAJCWJyZWFrOwogCWNhc2UgT0JKX0NPTU1JVDoKLQkJaWYgKHNpemUgPCBHSVRfU0hBMV9IRVhTWiArIHN0cmxlbigidHJlZSAiKSB8fAorCQlpZiAoc2l6ZSA8IGhleHN6ICsgc3RybGVuKCJ0cmVlICIpIHx8CiAJCSAgICBnZXRfb2lkX2hleChidWYgKyBzdHJsZW4oInRyZWUgIiksIG9pZCkpCiAJCQlkaWUoIkludmFsaWQgU0hBMSBpbiBjb21taXQ6ICVzIiwgY29tbWFuZF9idWYuYnVmKTsKIAl9CkBAIC0zMDkwLDcgKzMwMTYsNyBAQAogCXJldHVybiBlOwogfQogCi1zdGF0aWMgdm9pZCBwcmludF9scyhpbnQgbW9kZSwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgY2hhciAqcGF0aCkKK3N0YXRpYyB2b2lkIHByaW50X2xzKGludCBtb2RlLCBjb25zdCB1bnNpZ25lZCBjaGFyICpoYXNoLCBjb25zdCBjaGFyICpwYXRoKQogewogCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIGxpbmUgPSBTVFJCVUZfSU5JVDsKIApAQCAtMzExMCw3ICszMDM2LDcgQEAKIAkJLyogbW9kZSBTUCB0eXBlIFNQIG9iamVjdF9uYW1lIFRBQiBwYXRoIExGICovCiAJCXN0cmJ1Zl9yZXNldCgmbGluZSk7CiAJCXN0cmJ1Zl9hZGRmKCZsaW5lLCAiJTA2byAlcyAlc1x0IiwKLQkJCQltb2RlICYgfk5PX0RFTFRBLCB0eXBlLCBzaGExX3RvX2hleChzaGExKSk7CisJCQkJbW9kZSAmIH5OT19ERUxUQSwgdHlwZSwgaGFzaF90b19oZXgoaGFzaCkpOwogCQlxdW90ZV9jX3N0eWxlKHBhdGgsICZsaW5lLCBOVUxMLCAwKTsKIAkJc3RyYnVmX2FkZGNoKCZsaW5lLCAnXG4nKTsKIAl9CkBAIC0zMTg1LDYgKzMxMTEsMjggQEAKIAlza2lwX29wdGlvbmFsX2xmKCk7CiB9CiAKK3N0YXRpYyB2b2lkIHBhcnNlX2FsaWFzKHZvaWQpCit7CisJc3RydWN0IG9iamVjdF9lbnRyeSAqZTsKKwlzdHJ1Y3QgYnJhbmNoIGI7CisKKwlza2lwX29wdGlvbmFsX2xmKCk7CisJcmVhZF9uZXh0X2NvbW1hbmQoKTsKKworCS8qIG1hcmsgLi4uICovCisJcGFyc2VfbWFyaygpOworCWlmICghbmV4dF9tYXJrKQorCQlkaWUoXygiRXhwZWN0ZWQgJ21hcmsnIGNvbW1hbmQsIGdvdCAlcyIpLCBjb21tYW5kX2J1Zi5idWYpOworCisJLyogdG8gLi4uICovCisJbWVtc2V0KCZiLCAwLCBzaXplb2YoYikpOworCWlmICghcGFyc2Vfb2JqZWN0aXNoX3dpdGhfcHJlZml4KCZiLCAidG8gIikpCisJCWRpZShfKCJFeHBlY3RlZCAndG8nIGNvbW1hbmQsIGdvdCAlcyIpLCBjb21tYW5kX2J1Zi5idWYpOworCWUgPSBmaW5kX29iamVjdCgmYi5vaWQpOworCWFzc2VydChlKTsKKwlpbnNlcnRfbWFyayhuZXh0X21hcmssIGUpOworfQorCiBzdGF0aWMgY2hhciogbWFrZV9mYXN0X2ltcG9ydF9wYXRoKGNvbnN0IGNoYXIgKnBhdGgpCiB7CiAJaWYgKCFyZWxhdGl2ZV9tYXJrc19wYXRocyB8fCBpc19hYnNvbHV0ZV9wYXRoKHBhdGgpKQpAQCAtMzMyMiw2ICszMjcwLDggQEAKIAl9IGVsc2UgaWYgKHNraXBfcHJlZml4KGZlYXR1cmUsICJleHBvcnQtbWFya3M9IiwgJmFyZykpIHsKIAkJY2hlY2tfdW5zYWZlX2ZlYXR1cmUoZmVhdHVyZSwgZnJvbV9zdHJlYW0pOwogCQlvcHRpb25fZXhwb3J0X21hcmtzKGFyZyk7CisJfSBlbHNlIGlmICghc3RyY21wKGZlYXR1cmUsICJhbGlhcyIpKSB7CisJCTsgLyogRG9uJ3QgZGllIC0gdGhpcyBmZWF0dXJlIGlzIHN1cHBvcnRlZCAqLwogCX0gZWxzZSBpZiAoIXN0cmNtcChmZWF0dXJlLCAiZ2V0LW1hcmsiKSkgewogCQk7IC8qIERvbid0IGRpZSAtIHRoaXMgZmVhdHVyZSBpcyBzdXBwb3J0ZWQgKi8KIAl9IGVsc2UgaWYgKCFzdHJjbXAoZmVhdHVyZSwgImNhdC1ibG9iIikpIHsKQEAgLTM0NzYsMTggKzM0MjYsMjQgQEAKIAkJY29uc3QgY2hhciAqdjsKIAkJaWYgKCFzdHJjbXAoImJsb2IiLCBjb21tYW5kX2J1Zi5idWYpKQogCQkJcGFyc2VfbmV3X2Jsb2IoKTsKLQkJZWxzZSBpZiAoc2tpcF9wcmVmaXgoY29tbWFuZF9idWYuYnVmLCAibHMgIiwgJnYpKQotCQkJcGFyc2VfbHModiwgTlVMTCk7CiAJCWVsc2UgaWYgKHNraXBfcHJlZml4KGNvbW1hbmRfYnVmLmJ1ZiwgImNvbW1pdCAiLCAmdikpCiAJCQlwYXJzZV9uZXdfY29tbWl0KHYpOwogCQllbHNlIGlmIChza2lwX3ByZWZpeChjb21tYW5kX2J1Zi5idWYsICJ0YWcgIiwgJnYpKQogCQkJcGFyc2VfbmV3X3RhZyh2KTsKIAkJZWxzZSBpZiAoc2tpcF9wcmVmaXgoY29tbWFuZF9idWYuYnVmLCAicmVzZXQgIiwgJnYpKQogCQkJcGFyc2VfcmVzZXRfYnJhbmNoKHYpOworCQllbHNlIGlmIChza2lwX3ByZWZpeChjb21tYW5kX2J1Zi5idWYsICJscyAiLCAmdikpCisJCQlwYXJzZV9scyh2LCBOVUxMKTsKKwkJZWxzZSBpZiAoc2tpcF9wcmVmaXgoY29tbWFuZF9idWYuYnVmLCAiY2F0LWJsb2IgIiwgJnYpKQorCQkJcGFyc2VfY2F0X2Jsb2Iodik7CisJCWVsc2UgaWYgKHNraXBfcHJlZml4KGNvbW1hbmRfYnVmLmJ1ZiwgImdldC1tYXJrICIsICZ2KSkKKwkJCXBhcnNlX2dldF9tYXJrKHYpOwogCQllbHNlIGlmICghc3RyY21wKCJjaGVja3BvaW50IiwgY29tbWFuZF9idWYuYnVmKSkKIAkJCXBhcnNlX2NoZWNrcG9pbnQoKTsKIAkJZWxzZSBpZiAoIXN0cmNtcCgiZG9uZSIsIGNvbW1hbmRfYnVmLmJ1ZikpCiAJCQlicmVhazsKKwkJZWxzZSBpZiAoIXN0cmNtcCgiYWxpYXMiLCBjb21tYW5kX2J1Zi5idWYpKQorCQkJcGFyc2VfYWxpYXMoKTsKIAkJZWxzZSBpZiAoc3RhcnRzX3dpdGgoY29tbWFuZF9idWYuYnVmLCAicHJvZ3Jlc3MgIikpCiAJCQlwYXJzZV9wcm9ncmVzcygpOwogCQllbHNlIGlmIChza2lwX3ByZWZpeChjb21tYW5kX2J1Zi5idWYsICJmZWF0dXJlICIsICZ2KSkKZGlmZiAtLWdpdCBhL2ZldGNoLW5lZ290aWF0b3IuYyBiL2ZldGNoLW5lZ290aWF0b3IuYwppbmRleCBkNmQ2ODVjLi4wYTEzNTdkIDEwMDY0NAotLS0gYS9mZXRjaC1uZWdvdGlhdG9yLmMKKysrIGIvZmV0Y2gtbmVnb3RpYXRvci5jCkBAIC0yLDE5ICsyLDIwIEBACiAjaW5jbHVkZSAiZmV0Y2gtbmVnb3RpYXRvci5oIgogI2luY2x1ZGUgIm5lZ290aWF0b3IvZGVmYXVsdC5oIgogI2luY2x1ZGUgIm5lZ290aWF0b3Ivc2tpcHBpbmcuaCIKKyNpbmNsdWRlICJyZXBvc2l0b3J5LmgiCiAKLXZvaWQgZmV0Y2hfbmVnb3RpYXRvcl9pbml0KHN0cnVjdCBmZXRjaF9uZWdvdGlhdG9yICpuZWdvdGlhdG9yLAotCQkJICAgY29uc3QgY2hhciAqYWxnb3JpdGhtKQordm9pZCBmZXRjaF9uZWdvdGlhdG9yX2luaXQoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgICBzdHJ1Y3QgZmV0Y2hfbmVnb3RpYXRvciAqbmVnb3RpYXRvcikKIHsKLQlpZiAoYWxnb3JpdGhtKSB7Ci0JCWlmICghc3RyY21wKGFsZ29yaXRobSwgInNraXBwaW5nIikpIHsKLQkJCXNraXBwaW5nX25lZ290aWF0b3JfaW5pdChuZWdvdGlhdG9yKTsKLQkJCXJldHVybjsKLQkJfSBlbHNlIGlmICghc3RyY21wKGFsZ29yaXRobSwgImRlZmF1bHQiKSkgewotCQkJLyogRmFsbCB0aHJvdWdoIHRvIGRlZmF1bHQgaW5pdGlhbGl6YXRpb24gKi8KLQkJfSBlbHNlIHsKLQkJCWRpZSgidW5rbm93biBmZXRjaCBuZWdvdGlhdGlvbiBhbGdvcml0aG0gJyVzJyIsIGFsZ29yaXRobSk7Ci0JCX0KKwlwcmVwYXJlX3JlcG9fc2V0dGluZ3Mocik7CisJc3dpdGNoKHItPnNldHRpbmdzLmZldGNoX25lZ290aWF0aW9uX2FsZ29yaXRobSkgeworCWNhc2UgRkVUQ0hfTkVHT1RJQVRJT05fU0tJUFBJTkc6CisJCXNraXBwaW5nX25lZ290aWF0b3JfaW5pdChuZWdvdGlhdG9yKTsKKwkJcmV0dXJuOworCisJY2FzZSBGRVRDSF9ORUdPVElBVElPTl9ERUZBVUxUOgorCWRlZmF1bHQ6CisJCWRlZmF1bHRfbmVnb3RpYXRvcl9pbml0KG5lZ290aWF0b3IpOworCQlyZXR1cm47CiAJfQotCWRlZmF1bHRfbmVnb3RpYXRvcl9pbml0KG5lZ290aWF0b3IpOwogfQpkaWZmIC0tZ2l0IGEvZmV0Y2gtbmVnb3RpYXRvci5oIGIvZmV0Y2gtbmVnb3RpYXRvci5oCmluZGV4IDllMzk2N2MuLmVhNzg4NjggMTAwNjQ0Ci0tLSBhL2ZldGNoLW5lZ290aWF0b3IuaAorKysgYi9mZXRjaC1uZWdvdGlhdG9yLmgKQEAgLTIsNiArMiw3IEBACiAjZGVmaW5lIEZFVENIX05FR09USUFUT1JfSAogCiBzdHJ1Y3QgY29tbWl0Oworc3RydWN0IHJlcG9zaXRvcnk7CiAKIC8qCiAgKiBBbiBvYmplY3QgdGhhdCBzdXBwbGllcyB0aGUgaW5mb3JtYXRpb24gbmVlZGVkIHRvIG5lZ290aWF0ZSB0aGUgY29udGVudHMgb2YKQEAgLTUyLDcgKzUzLDcgQEAKIAl2b2lkICpkYXRhOwogfTsKIAotdm9pZCBmZXRjaF9uZWdvdGlhdG9yX2luaXQoc3RydWN0IGZldGNoX25lZ290aWF0b3IgKm5lZ290aWF0b3IsCi0JCQkgICBjb25zdCBjaGFyICphbGdvcml0aG0pOwordm9pZCBmZXRjaF9uZWdvdGlhdG9yX2luaXQoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgICBzdHJ1Y3QgZmV0Y2hfbmVnb3RpYXRvciAqbmVnb3RpYXRvcik7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZmV0Y2gtb2JqZWN0LmMgYi9mZXRjaC1vYmplY3QuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDI2NjU0OC4uMDAwMDAwMAotLS0gYS9mZXRjaC1vYmplY3QuYworKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLSNpbmNsdWRlICJjYWNoZS5oIgotI2luY2x1ZGUgInBhY2tmaWxlLmgiCi0jaW5jbHVkZSAicGt0LWxpbmUuaCIKLSNpbmNsdWRlICJzdHJidWYuaCIKLSNpbmNsdWRlICJ0cmFuc3BvcnQuaCIKLSNpbmNsdWRlICJmZXRjaC1vYmplY3QuaCIKLQotc3RhdGljIHZvaWQgZmV0Y2hfcmVmcyhjb25zdCBjaGFyICpyZW1vdGVfbmFtZSwgc3RydWN0IHJlZiAqcmVmKQotewotCXN0cnVjdCByZW1vdGUgKnJlbW90ZTsKLQlzdHJ1Y3QgdHJhbnNwb3J0ICp0cmFuc3BvcnQ7Ci0JaW50IG9yaWdpbmFsX2ZldGNoX2lmX21pc3NpbmcgPSBmZXRjaF9pZl9taXNzaW5nOwotCi0JZmV0Y2hfaWZfbWlzc2luZyA9IDA7Ci0JcmVtb3RlID0gcmVtb3RlX2dldChyZW1vdGVfbmFtZSk7Ci0JaWYgKCFyZW1vdGUtPnVybFswXSkKLQkJZGllKF8oIlJlbW90ZSB3aXRoIG5vIFVSTCIpKTsKLQl0cmFuc3BvcnQgPSB0cmFuc3BvcnRfZ2V0KHJlbW90ZSwgcmVtb3RlLT51cmxbMF0pOwotCi0JdHJhbnNwb3J0X3NldF9vcHRpb24odHJhbnNwb3J0LCBUUkFOU19PUFRfRlJPTV9QUk9NSVNPUiwgIjEiKTsKLQl0cmFuc3BvcnRfc2V0X29wdGlvbih0cmFuc3BvcnQsIFRSQU5TX09QVF9OT19ERVBFTkRFTlRTLCAiMSIpOwotCXRyYW5zcG9ydF9mZXRjaF9yZWZzKHRyYW5zcG9ydCwgcmVmKTsKLQlmZXRjaF9pZl9taXNzaW5nID0gb3JpZ2luYWxfZmV0Y2hfaWZfbWlzc2luZzsKLX0KLQotdm9pZCBmZXRjaF9vYmplY3RzKGNvbnN0IGNoYXIgKnJlbW90ZV9uYW1lLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWRzLAotCQkgICBpbnQgb2lkX25yKQotewotCXN0cnVjdCByZWYgKnJlZiA9IE5VTEw7Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgb2lkX25yOyBpKyspIHsKLQkJc3RydWN0IHJlZiAqbmV3X3JlZiA9IGFsbG9jX3JlZihvaWRfdG9faGV4KCZvaWRzW2ldKSk7Ci0JCW9pZGNweSgmbmV3X3JlZi0+b2xkX29pZCwgJm9pZHNbaV0pOwotCQluZXdfcmVmLT5leGFjdF9vaWQgPSAxOwotCQluZXdfcmVmLT5uZXh0ID0gcmVmOwotCQlyZWYgPSBuZXdfcmVmOwotCX0KLQlmZXRjaF9yZWZzKHJlbW90ZV9uYW1lLCByZWYpOwotfQpkaWZmIC0tZ2l0IGEvZmV0Y2gtb2JqZWN0LmggYi9mZXRjaC1vYmplY3QuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDY0NDRjYS4uMDAwMDAwMAotLS0gYS9mZXRjaC1vYmplY3QuaAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotI2lmbmRlZiBGRVRDSF9PQkpFQ1RfSAotI2RlZmluZSBGRVRDSF9PQkpFQ1RfSAotCi1zdHJ1Y3Qgb2JqZWN0X2lkOwotCi12b2lkIGZldGNoX29iamVjdHMoY29uc3QgY2hhciAqcmVtb3RlX25hbWUsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZHMsCi0JCSAgIGludCBvaWRfbnIpOwotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL2ZldGNoLXBhY2suYyBiL2ZldGNoLXBhY2suYwppbmRleCA5NjkxMDQ2Li4xNzM0YTU3IDEwMDY0NAotLS0gYS9mZXRjaC1wYWNrLmMKKysrIGIvZmV0Y2gtcGFjay5jCkBAIC0zNiw3ICszNiw2IEBACiBzdGF0aWMgaW50IHNlcnZlcl9zdXBwb3J0c19maWx0ZXJpbmc7CiBzdGF0aWMgc3RydWN0IGxvY2tfZmlsZSBzaGFsbG93X2xvY2s7CiBzdGF0aWMgY29uc3QgY2hhciAqYWx0ZXJuYXRlX3NoYWxsb3dfZmlsZTsKLXN0YXRpYyBjaGFyICpuZWdvdGlhdGlvbl9hbGdvcml0aG07CiBzdGF0aWMgc3RydWN0IHN0cmJ1ZiBmc2NrX21zZ190eXBlcyA9IFNUUkJVRl9JTklUOwogCiAvKiBSZW1lbWJlciB0byB1cGRhdGUgb2JqZWN0IGZsYWcgYWxsb2NhdGlvbiBpbiBvYmplY3QuaCAqLwpAQCAtMTM1LDUyICsxMzQsNTQgQEAKIAlBQ0tfcmVhZHkKIH07CiAKLXN0YXRpYyB2b2lkIGNvbnN1bWVfc2hhbGxvd19saXN0KHN0cnVjdCBmZXRjaF9wYWNrX2FyZ3MgKmFyZ3MsIGludCBmZCkKK3N0YXRpYyB2b2lkIGNvbnN1bWVfc2hhbGxvd19saXN0KHN0cnVjdCBmZXRjaF9wYWNrX2FyZ3MgKmFyZ3MsCisJCQkJIHN0cnVjdCBwYWNrZXRfcmVhZGVyICpyZWFkZXIpCiB7CiAJaWYgKGFyZ3MtPnN0YXRlbGVzc19ycGMgJiYgYXJncy0+ZGVlcGVuKSB7CiAJCS8qIElmIHdlIHNlbnQgYSBkZXB0aCB3ZSB3aWxsIGdldCBiYWNrICJkdXBsaWNhdGUiCiAJCSAqIHNoYWxsb3cgYW5kIHVuc2hhbGxvdyBjb21tYW5kcyBldmVyeSB0aW1lIHRoZXJlCiAJCSAqIGlzIGEgYmxvY2sgb2YgaGF2ZSBsaW5lcyBleGNoYW5nZWQuCiAJCSAqLwotCQljaGFyICpsaW5lOwotCQl3aGlsZSAoKGxpbmUgPSBwYWNrZXRfcmVhZF9saW5lKGZkLCBOVUxMKSkpIHsKLQkJCWlmIChzdGFydHNfd2l0aChsaW5lLCAic2hhbGxvdyAiKSkKKwkJd2hpbGUgKHBhY2tldF9yZWFkZXJfcmVhZChyZWFkZXIpID09IFBBQ0tFVF9SRUFEX05PUk1BTCkgeworCQkJaWYgKHN0YXJ0c193aXRoKHJlYWRlci0+bGluZSwgInNoYWxsb3cgIikpCiAJCQkJY29udGludWU7Ci0JCQlpZiAoc3RhcnRzX3dpdGgobGluZSwgInVuc2hhbGxvdyAiKSkKKwkJCWlmIChzdGFydHNfd2l0aChyZWFkZXItPmxpbmUsICJ1bnNoYWxsb3cgIikpCiAJCQkJY29udGludWU7CiAJCQlkaWUoXygiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIpKTsKIAkJfQorCQlpZiAocmVhZGVyLT5zdGF0dXMgIT0gUEFDS0VUX1JFQURfRkxVU0gpCisJCQlkaWUoXygiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIGEgZmx1c2ggcGFja2V0IGFmdGVyIHNoYWxsb3cgbGlzdCIpKTsKIAl9CiB9CiAKLXN0YXRpYyBlbnVtIGFja190eXBlIGdldF9hY2soaW50IGZkLCBzdHJ1Y3Qgb2JqZWN0X2lkICpyZXN1bHRfb2lkKQorc3RhdGljIGVudW0gYWNrX3R5cGUgZ2V0X2FjayhzdHJ1Y3QgcGFja2V0X3JlYWRlciAqcmVhZGVyLAorCQkJICAgICBzdHJ1Y3Qgb2JqZWN0X2lkICpyZXN1bHRfb2lkKQogewogCWludCBsZW47Ci0JY2hhciAqbGluZSA9IHBhY2tldF9yZWFkX2xpbmUoZmQsICZsZW4pOwogCWNvbnN0IGNoYXIgKmFyZzsKIAotCWlmICghbGluZSkKKwlpZiAocGFja2V0X3JlYWRlcl9yZWFkKHJlYWRlcikgIT0gUEFDS0VUX1JFQURfTk9STUFMKQogCQlkaWUoXygiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBhIGZsdXNoIHBhY2tldCIpKTsKLQlpZiAoIXN0cmNtcChsaW5lLCAiTkFLIikpCisJbGVuID0gcmVhZGVyLT5wa3RsZW47CisKKwlpZiAoIXN0cmNtcChyZWFkZXItPmxpbmUsICJOQUsiKSkKIAkJcmV0dXJuIE5BSzsKLQlpZiAoc2tpcF9wcmVmaXgobGluZSwgIkFDSyAiLCAmYXJnKSkgewotCQlpZiAoIWdldF9vaWRfaGV4KGFyZywgcmVzdWx0X29pZCkpIHsKLQkJCWFyZyArPSA0MDsKLQkJCWxlbiAtPSBhcmcgLSBsaW5lOworCWlmIChza2lwX3ByZWZpeChyZWFkZXItPmxpbmUsICJBQ0sgIiwgJmFyZykpIHsKKwkJY29uc3QgY2hhciAqcDsKKwkJaWYgKCFwYXJzZV9vaWRfaGV4KGFyZywgcmVzdWx0X29pZCwgJnApKSB7CisJCQlsZW4gLT0gcCAtIHJlYWRlci0+bGluZTsKIAkJCWlmIChsZW4gPCAxKQogCQkJCXJldHVybiBBQ0s7Ci0JCQlpZiAoc3Ryc3RyKGFyZywgImNvbnRpbnVlIikpCisJCQlpZiAoc3Ryc3RyKHAsICJjb250aW51ZSIpKQogCQkJCXJldHVybiBBQ0tfY29udGludWU7Ci0JCQlpZiAoc3Ryc3RyKGFyZywgImNvbW1vbiIpKQorCQkJaWYgKHN0cnN0cihwLCAiY29tbW9uIikpCiAJCQkJcmV0dXJuIEFDS19jb21tb247Ci0JCQlpZiAoc3Ryc3RyKGFyZywgInJlYWR5IikpCisJCQlpZiAoc3Ryc3RyKHAsICJyZWFkeSIpKQogCQkJCXJldHVybiBBQ0tfcmVhZHk7CiAJCQlyZXR1cm4gQUNLOwogCQl9CiAJfQotCWlmIChza2lwX3ByZWZpeChsaW5lLCAiRVJSICIsICZhcmcpKQotCQlkaWUoXygicmVtb3RlIGVycm9yOiAlcyIpLCBhcmcpOwotCWRpZShfKCJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290ICclcyciKSwgbGluZSk7CisJZGllKF8oImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgJyVzJyIpLCByZWFkZXItPmxpbmUpOwogfQogCiBzdGF0aWMgdm9pZCBzZW5kX3JlcXVlc3Qoc3RydWN0IGZldGNoX3BhY2tfYXJncyAqYXJncywKQEAgLTE4OSw4ICsxOTAsMTAgQEAKIAlpZiAoYXJncy0+c3RhdGVsZXNzX3JwYykgewogCQlzZW5kX3NpZGViYW5kKGZkLCAtMSwgYnVmLT5idWYsIGJ1Zi0+bGVuLCBMQVJHRV9QQUNLRVRfTUFYKTsKIAkJcGFja2V0X2ZsdXNoKGZkKTsKLQl9IGVsc2UKLQkJd3JpdGVfb3JfZGllKGZkLCBidWYtPmJ1ZiwgYnVmLT5sZW4pOworCX0gZWxzZSB7CisJCWlmICh3cml0ZV9pbl9mdWxsKGZkLCBidWYtPmJ1ZiwgYnVmLT5sZW4pIDwgMCkKKwkJCWRpZV9lcnJubyhfKCJ1bmFibGUgdG8gd3JpdGUgdG8gcmVtb3RlIikpOworCX0KIH0KIAogc3RhdGljIHZvaWQgaW5zZXJ0X29uZV9hbHRlcm5hdGVfb2JqZWN0KHN0cnVjdCBmZXRjaF9uZWdvdGlhdG9yICpuZWdvdGlhdG9yLApAQCAtMjQ4LDEwICsyNTEsMTUgQEAKIAlpbnQgZ290X3JlYWR5ID0gMDsKIAlzdHJ1Y3Qgc3RyYnVmIHJlcV9idWYgPSBTVFJCVUZfSU5JVDsKIAlzaXplX3Qgc3RhdGVfbGVuID0gMDsKKwlzdHJ1Y3QgcGFja2V0X3JlYWRlciByZWFkZXI7CiAKIAlpZiAoYXJncy0+c3RhdGVsZXNzX3JwYyAmJiBtdWx0aV9hY2sgPT0gMSkKIAkJZGllKF8oIi0tc3RhdGVsZXNzLXJwYyByZXF1aXJlcyBtdWx0aV9hY2tfZGV0YWlsZWQiKSk7CiAKKwlwYWNrZXRfcmVhZGVyX2luaXQoJnJlYWRlciwgZmRbMF0sIE5VTEwsIDAsCisJCQkgICBQQUNLRVRfUkVBRF9DSE9NUF9ORVdMSU5FIHwKKwkJCSAgIFBBQ0tFVF9SRUFEX0RJRV9PTl9FUlJfUEFDS0VUKTsKKwogCWlmICghYXJncy0+bm9fZGVwZW5kZW50cykgewogCQltYXJrX3RpcHMobmVnb3RpYXRvciwgYXJncy0+bmVnb3RpYXRpb25fdGlwcyk7CiAJCWZvcl9lYWNoX2NhY2hlZF9hbHRlcm5hdGUobmVnb3RpYXRvciwgaW5zZXJ0X29uZV9hbHRlcm5hdGVfb2JqZWN0KTsKQEAgLTI3Nyw3ICsyODUsNyBAQAogCQkgKiB3ZSBjYW5ub3QgdHJ1c3QgdGhlIG9iamVjdCBmbGFncykuCiAJCSAqLwogCQlpZiAoIWFyZ3MtPm5vX2RlcGVuZGVudHMgJiYKLQkJICAgICgobyA9IGxvb2t1cF9vYmplY3QodGhlX3JlcG9zaXRvcnksIHJlbW90ZS0+aGFzaCkpICE9IE5VTEwpICYmCisJCSAgICAoKG8gPSBsb29rdXBfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCByZW1vdGUpKSAhPSBOVUxMKSAmJgogCQkJCShvLT5mbGFncyAmIENPTVBMRVRFKSkgewogCQkJY29udGludWU7CiAJCX0KQEAgLTMyOSwzOCArMzM3LDM5IEBACiAJCQlwYWNrZXRfYnVmX3dyaXRlKCZyZXFfYnVmLCAiZGVlcGVuLW5vdCAlcyIsIHMtPnN0cmluZyk7CiAJCX0KIAl9Ci0JaWYgKHNlcnZlcl9zdXBwb3J0c19maWx0ZXJpbmcgJiYgYXJncy0+ZmlsdGVyX29wdGlvbnMuY2hvaWNlKQotCQlwYWNrZXRfYnVmX3dyaXRlKCZyZXFfYnVmLCAiZmlsdGVyICVzIiwKLQkJCQkgYXJncy0+ZmlsdGVyX29wdGlvbnMuZmlsdGVyX3NwZWMpOworCWlmIChzZXJ2ZXJfc3VwcG9ydHNfZmlsdGVyaW5nICYmIGFyZ3MtPmZpbHRlcl9vcHRpb25zLmNob2ljZSkgeworCQljb25zdCBjaGFyICpzcGVjID0KKwkJCWV4cGFuZF9saXN0X29iamVjdHNfZmlsdGVyX3NwZWMoJmFyZ3MtPmZpbHRlcl9vcHRpb25zKTsKKwkJcGFja2V0X2J1Zl93cml0ZSgmcmVxX2J1ZiwgImZpbHRlciAlcyIsIHNwZWMpOworCX0KIAlwYWNrZXRfYnVmX2ZsdXNoKCZyZXFfYnVmKTsKIAlzdGF0ZV9sZW4gPSByZXFfYnVmLmxlbjsKIAogCWlmIChhcmdzLT5kZWVwZW4pIHsKLQkJY2hhciAqbGluZTsKIAkJY29uc3QgY2hhciAqYXJnOwogCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAogCQlzZW5kX3JlcXVlc3QoYXJncywgZmRbMV0sICZyZXFfYnVmKTsKLQkJd2hpbGUgKChsaW5lID0gcGFja2V0X3JlYWRfbGluZShmZFswXSwgTlVMTCkpKSB7Ci0JCQlpZiAoc2tpcF9wcmVmaXgobGluZSwgInNoYWxsb3cgIiwgJmFyZykpIHsKKwkJd2hpbGUgKHBhY2tldF9yZWFkZXJfcmVhZCgmcmVhZGVyKSA9PSBQQUNLRVRfUkVBRF9OT1JNQUwpIHsKKwkJCWlmIChza2lwX3ByZWZpeChyZWFkZXIubGluZSwgInNoYWxsb3cgIiwgJmFyZykpIHsKIAkJCQlpZiAoZ2V0X29pZF9oZXgoYXJnLCAmb2lkKSkKLQkJCQkJZGllKF8oImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIpLCBsaW5lKTsKKwkJCQkJZGllKF8oImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIpLCByZWFkZXIubGluZSk7CiAJCQkJcmVnaXN0ZXJfc2hhbGxvdyh0aGVfcmVwb3NpdG9yeSwgJm9pZCk7CiAJCQkJY29udGludWU7CiAJCQl9Ci0JCQlpZiAoc2tpcF9wcmVmaXgobGluZSwgInVuc2hhbGxvdyAiLCAmYXJnKSkgeworCQkJaWYgKHNraXBfcHJlZml4KHJlYWRlci5saW5lLCAidW5zaGFsbG93ICIsICZhcmcpKSB7CiAJCQkJaWYgKGdldF9vaWRfaGV4KGFyZywgJm9pZCkpCi0JCQkJCWRpZShfKCJpbnZhbGlkIHVuc2hhbGxvdyBsaW5lOiAlcyIpLCBsaW5lKTsKLQkJCQlpZiAoIWxvb2t1cF9vYmplY3QodGhlX3JlcG9zaXRvcnksIG9pZC5oYXNoKSkKLQkJCQkJZGllKF8oIm9iamVjdCBub3QgZm91bmQ6ICVzIiksIGxpbmUpOworCQkJCQlkaWUoXygiaW52YWxpZCB1bnNoYWxsb3cgbGluZTogJXMiKSwgcmVhZGVyLmxpbmUpOworCQkJCWlmICghbG9va3VwX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgJm9pZCkpCisJCQkJCWRpZShfKCJvYmplY3Qgbm90IGZvdW5kOiAlcyIpLCByZWFkZXIubGluZSk7CiAJCQkJLyogbWFrZSBzdXJlIHRoYXQgaXQgaXMgcGFyc2VkIGFzIHNoYWxsb3cgKi8KIAkJCQlpZiAoIXBhcnNlX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgJm9pZCkpCi0JCQkJCWRpZShfKCJlcnJvciBpbiBvYmplY3Q6ICVzIiksIGxpbmUpOworCQkJCQlkaWUoXygiZXJyb3IgaW4gb2JqZWN0OiAlcyIpLCByZWFkZXIubGluZSk7CiAJCQkJaWYgKHVucmVnaXN0ZXJfc2hhbGxvdygmb2lkKSkKLQkJCQkJZGllKF8oIm5vIHNoYWxsb3cgZm91bmQ6ICVzIiksIGxpbmUpOworCQkJCQlkaWUoXygibm8gc2hhbGxvdyBmb3VuZDogJXMiKSwgcmVhZGVyLmxpbmUpOwogCQkJCWNvbnRpbnVlOwogCQkJfQotCQkJZGllKF8oImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiKSwgbGluZSk7CisJCQlkaWUoXygiZXhwZWN0ZWQgc2hhbGxvdy91bnNoYWxsb3csIGdvdCAlcyIpLCByZWFkZXIubGluZSk7CiAJCX0KIAl9IGVsc2UgaWYgKCFhcmdzLT5zdGF0ZWxlc3NfcnBjKQogCQlzZW5kX3JlcXVlc3QoYXJncywgZmRbMV0sICZyZXFfYnVmKTsKQEAgLTM3Myw2ICszODIsNyBAQAogCQlzdGF0ZV9sZW4gPSAwOwogCX0KIAorCXRyYWNlMl9yZWdpb25fZW50ZXIoImZldGNoLXBhY2siLCAibmVnb3RpYXRpb25fdjBfdjEiLCB0aGVfcmVwb3NpdG9yeSk7CiAJZmx1c2hlcyA9IDA7CiAJcmV0dmFsID0gLTE7CiAJaWYgKGFyZ3MtPm5vX2RlcGVuZGVudHMpCkBAIC0zOTcsOSArNDA3LDkgQEAKIAkJCWlmICghYXJncy0+c3RhdGVsZXNzX3JwYyAmJiBjb3VudCA9PSBJTklUSUFMX0ZMVVNIKQogCQkJCWNvbnRpbnVlOwogCi0JCQljb25zdW1lX3NoYWxsb3dfbGlzdChhcmdzLCBmZFswXSk7CisJCQljb25zdW1lX3NoYWxsb3dfbGlzdChhcmdzLCAmcmVhZGVyKTsKIAkJCWRvIHsKLQkJCQlhY2sgPSBnZXRfYWNrKGZkWzBdLCByZXN1bHRfb2lkKTsKKwkJCQlhY2sgPSBnZXRfYWNrKCZyZWFkZXIsIHJlc3VsdF9vaWQpOwogCQkJCWlmIChhY2spCiAJCQkJCXByaW50X3ZlcmJvc2UoYXJncywgXygiZ290ICVzICVkICVzIiksICJhY2siLAogCQkJCQkJICAgICAgYWNrLCBvaWRfdG9faGV4KHJlc3VsdF9vaWQpKTsKQEAgLTQ1Nyw2ICs0NjcsNyBAQAogCQl9CiAJfQogZG9uZToKKwl0cmFjZTJfcmVnaW9uX2xlYXZlKCJmZXRjaC1wYWNrIiwgIm5lZ290aWF0aW9uX3YwX3YxIiwgdGhlX3JlcG9zaXRvcnkpOwogCWlmICghZ290X3JlYWR5IHx8ICFub19kb25lKSB7CiAJCXBhY2tldF9idWZfd3JpdGUoJnJlcV9idWYsICJkb25lXG4iKTsKIAkJc2VuZF9yZXF1ZXN0KGFyZ3MsIGZkWzFdLCAmcmVxX2J1Zik7CkBAIC00NjksOSArNDgwLDkgQEAKIAlzdHJidWZfcmVsZWFzZSgmcmVxX2J1Zik7CiAKIAlpZiAoIWdvdF9yZWFkeSB8fCAhbm9fZG9uZSkKLQkJY29uc3VtZV9zaGFsbG93X2xpc3QoYXJncywgZmRbMF0pOworCQljb25zdW1lX3NoYWxsb3dfbGlzdChhcmdzLCAmcmVhZGVyKTsKIAl3aGlsZSAoZmx1c2hlcyB8fCBtdWx0aV9hY2spIHsKLQkJaW50IGFjayA9IGdldF9hY2soZmRbMF0sIHJlc3VsdF9vaWQpOworCQlpbnQgYWNrID0gZ2V0X2FjaygmcmVhZGVyLCByZXN1bHRfb2lkKTsKIAkJaWYgKGFjaykgewogCQkJcHJpbnRfdmVyYm9zZShhcmdzLCBfKCJnb3QgJXMgKCVkKSAlcyIpLCAiYWNrIiwKIAkJCQkgICAgICBhY2ssIG9pZF90b19oZXgocmVzdWx0X29pZCkpOwpAQCAtNTYwLDkgKzU3MSwxNCBAQAogCQluZXh0ID0gcmVmLT5uZXh0OwogCiAJCWlmIChzdGFydHNfd2l0aChyZWYtPm5hbWUsICJyZWZzLyIpICYmCi0JCSAgICBjaGVja19yZWZuYW1lX2Zvcm1hdChyZWYtPm5hbWUsIDApKQotCQkJOyAvKiB0cmFzaCAqLwotCQllbHNlIHsKKwkJICAgIGNoZWNrX3JlZm5hbWVfZm9ybWF0KHJlZi0+bmFtZSwgMCkpIHsKKwkJCS8qCisJCQkgKiB0cmFzaCBvciBhIHBlZWxlZCB2YWx1ZTsgZG8gbm90IGV2ZW4gYWRkIGl0IHRvCisJCQkgKiB1bm1hdGNoZWQgbGlzdAorCQkJICovCisJCQlmcmVlX29uZV9yZWYocmVmKTsKKwkJCWNvbnRpbnVlOworCQl9IGVsc2UgewogCQkJd2hpbGUgKGkgPCBucl9zb3VnaHQpIHsKIAkJCQlpbnQgY21wID0gc3RyY21wKHJlZi0+bmFtZSwgc291Z2h0W2ldLT5uYW1lKTsKIAkJCQlpZiAoY21wIDwgMCkKQEAgLTYxNywxMCArNjMzLDcgQEAKIAl9CiAKIAlvaWRzZXRfY2xlYXIoJnRpcF9vaWRzKTsKLQlmb3IgKHJlZiA9IHVubWF0Y2hlZDsgcmVmOyByZWYgPSBuZXh0KSB7Ci0JCW5leHQgPSByZWYtPm5leHQ7Ci0JCWZyZWUocmVmKTsKLQl9CisJZnJlZV9yZWZzKHVubWF0Y2hlZCk7CiAKIAkqcmVmcyA9IG5ld2xpc3Q7CiB9CkBAIC02MzcsMjMgKzY1MCw2IEBACiB9OwogCiAvKgotICogIElmIHRoZSBudW1iZXIgb2YgcmVmcyBpcyBub3QgbGFyZ2VyIHRoYW4gdGhlIG51bWJlciBvZiBsb29zZSBvYmplY3RzLAotICogIHRoaXMgZnVuY3Rpb24gc3RvcHMgaW5zZXJ0aW5nLgotICovCi1zdGF0aWMgaW50IGFkZF9sb29zZV9vYmplY3RzX3RvX3NldChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCi0JCQkJICAgIGNvbnN0IGNoYXIgKnBhdGgsCi0JCQkJICAgIHZvaWQgKmRhdGEpCi17Ci0Jc3RydWN0IGxvb3NlX29iamVjdF9pdGVyICppdGVyID0gZGF0YTsKLQlvaWRzZXRfaW5zZXJ0KGl0ZXItPmxvb3NlX29iamVjdF9zZXQsIG9pZCk7Ci0JaWYgKGl0ZXItPnJlZnMgPT0gTlVMTCkKLQkJcmV0dXJuIDE7Ci0KLQlpdGVyLT5yZWZzID0gaXRlci0+cmVmcy0+bmV4dDsKLQlyZXR1cm4gMDsKLX0KLQotLyoKICAqIE1hcmsgcmVjZW50IGNvbW1pdHMgYXZhaWxhYmxlIGxvY2FsbHkgYW5kIHJlYWNoYWJsZSBmcm9tIGEgbG9jYWwgcmVmIGFzCiAgKiBDT01QTEVURS4gSWYgYXJncy0+bm9fZGVwZW5kZW50cyBpcyBmYWxzZSwgYWxzbyBtYXJrIENPTVBMRVRFIHJlbW90ZSByZWZzIGFzCiAgKiBDT01NT05fUkVGIChvdGhlcndpc2UsIHdlIGFyZSBub3QgcGxhbm5pbmcgdG8gcGFydGljaXBhdGUgaW4gbmVnb3RpYXRpb24sIGFuZApAQCAtNjcwLDM2ICs2NjYsMjMgQEAKIAlzdHJ1Y3QgcmVmICpyZWY7CiAJaW50IG9sZF9zYXZlX2NvbW1pdF9idWZmZXIgPSBzYXZlX2NvbW1pdF9idWZmZXI7CiAJdGltZXN0YW1wX3QgY3V0b2ZmID0gMDsKLQlzdHJ1Y3Qgb2lkc2V0IGxvb3NlX29pZF9zZXQgPSBPSURTRVRfSU5JVDsKLQlpbnQgdXNlX29pZHNldCA9IDA7Ci0Jc3RydWN0IGxvb3NlX29iamVjdF9pdGVyIGl0ZXIgPSB7Jmxvb3NlX29pZF9zZXQsICpyZWZzfTsKLQotCS8qIEVudW1lcmF0ZSBhbGwgbG9vc2Ugb2JqZWN0cyBvciBrbm93IHJlZnMgYXJlIG5vdCBzbyBtYW55LiAqLwotCXVzZV9vaWRzZXQgPSAhZm9yX2VhY2hfbG9vc2Vfb2JqZWN0KGFkZF9sb29zZV9vYmplY3RzX3RvX3NldCwKLQkJCQkJICAgICZpdGVyLCAwKTsKIAogCXNhdmVfY29tbWl0X2J1ZmZlciA9IDA7CiAKKwl0cmFjZTJfcmVnaW9uX2VudGVyKCJmZXRjaC1wYWNrIiwgInBhcnNlX3JlbW90ZV9yZWZzX2FuZF9maW5kX2N1dG9mZiIsIE5VTEwpOwogCWZvciAocmVmID0gKnJlZnM7IHJlZjsgcmVmID0gcmVmLT5uZXh0KSB7CiAJCXN0cnVjdCBvYmplY3QgKm87Ci0JCXVuc2lnbmVkIGludCBmbGFncyA9IE9CSkVDVF9JTkZPX1FVSUNLOwogCi0JCWlmICh1c2Vfb2lkc2V0ICYmCi0JCSAgICAhb2lkc2V0X2NvbnRhaW5zKCZsb29zZV9vaWRfc2V0LCAmcmVmLT5vbGRfb2lkKSkgewotCQkJLyoKLQkJCSAqIEkga25vdyB0aGlzIGRvZXMgbm90IGV4aXN0IGluIHRoZSBsb29zZSBmb3JtLAotCQkJICogc28gY2hlY2sgaWYgaXQgZXhpc3RzIGluIGEgbm9uLWxvb3NlIGZvcm0uCi0JCQkgKi8KLQkJCWZsYWdzIHw9IE9CSkVDVF9JTkZPX0lHTk9SRV9MT09TRTsKLQkJfQotCi0JCWlmICghaGFzX29iamVjdF9maWxlX3dpdGhfZmxhZ3MoJnJlZi0+b2xkX29pZCwgZmxhZ3MpKQorCQlpZiAoIWhhc19vYmplY3RfZmlsZV93aXRoX2ZsYWdzKCZyZWYtPm9sZF9vaWQsCisJCQkJCQlPQkpFQ1RfSU5GT19RVUlDSyB8CisJCQkJCQkJT0JKRUNUX0lORk9fU0tJUF9GRVRDSF9PQkpFQ1QpKQogCQkJY29udGludWU7CiAJCW8gPSBwYXJzZV9vYmplY3QodGhlX3JlcG9zaXRvcnksICZyZWYtPm9sZF9vaWQpOwogCQlpZiAoIW8pCiAJCQljb250aW51ZTsKIAotCQkvKiBXZSBhbHJlYWR5IGhhdmUgaXQgLS0gd2hpY2ggbWF5IG1lYW4gdGhhdCB3ZSB3ZXJlCisJCS8qCisJCSAqIFdlIGFscmVhZHkgaGF2ZSBpdCAtLSB3aGljaCBtYXkgbWVhbiB0aGF0IHdlIHdlcmUKIAkJICogaW4gc3luYyB3aXRoIHRoZSBvdGhlciBzaWRlIGF0IHNvbWUgdGltZSBhZnRlcgogCQkgKiB0aGF0IChpdCBpcyBPSyBpZiB3ZSBndWVzcyB3cm9uZyBoZXJlKS4KIAkJICovCkBAIC03MDksOSArNjkyLDEzIEBACiAJCQkJY3V0b2ZmID0gY29tbWl0LT5kYXRlOwogCQl9CiAJfQorCXRyYWNlMl9yZWdpb25fbGVhdmUoImZldGNoLXBhY2siLCAicGFyc2VfcmVtb3RlX3JlZnNfYW5kX2ZpbmRfY3V0b2ZmIiwgTlVMTCk7CiAKLQlvaWRzZXRfY2xlYXIoJmxvb3NlX29pZF9zZXQpOwotCisJLyoKKwkgKiBUaGlzIGJsb2NrIG1hcmtzIGFsbCBsb2NhbCByZWZzIGFzIENPTVBMRVRFLCBhbmQgdGhlbiByZWN1cnNpdmVseSBtYXJrcyBhbGwKKwkgKiBwYXJlbnRzIG9mIHRob3NlIHJlZnMgYXMgQ09NUExFVEUuCisJICovCisJdHJhY2UyX3JlZ2lvbl9lbnRlcigiZmV0Y2gtcGFjayIsICJtYXJrX2NvbXBsZXRlX2xvY2FsX3JlZnMiLCBOVUxMKTsKIAlpZiAoIWFyZ3MtPmRlZXBlbikgewogCQlmb3JfZWFjaF9yZWYobWFya19jb21wbGV0ZV9vaWQsIE5VTEwpOwogCQlmb3JfZWFjaF9jYWNoZWRfYWx0ZXJuYXRlKE5VTEwsIG1hcmtfYWx0ZXJuYXRlX2NvbXBsZXRlKTsKQEAgLTcxOSwxNSArNzA2LDE3IEBACiAJCWlmIChjdXRvZmYpCiAJCQltYXJrX3JlY2VudF9jb21wbGV0ZV9jb21taXRzKGFyZ3MsIGN1dG9mZik7CiAJfQorCXRyYWNlMl9yZWdpb25fbGVhdmUoImZldGNoLXBhY2siLCAibWFya19jb21wbGV0ZV9sb2NhbF9yZWZzIiwgTlVMTCk7CiAKIAkvKgogCSAqIE1hcmsgYWxsIGNvbXBsZXRlIHJlbW90ZSByZWZzIGFzIGNvbW1vbiByZWZzLgogCSAqIERvbid0IG1hcmsgdGhlbSBjb21tb24geWV0OyB0aGUgc2VydmVyIGhhcyB0byBiZSB0b2xkIHNvIGZpcnN0LgogCSAqLworCXRyYWNlMl9yZWdpb25fZW50ZXIoImZldGNoLXBhY2siLCAibWFya19jb21tb25fcmVtb3RlX3JlZnMiLCBOVUxMKTsKIAlmb3IgKHJlZiA9ICpyZWZzOyByZWY7IHJlZiA9IHJlZi0+bmV4dCkgewogCQlzdHJ1Y3Qgb2JqZWN0ICpvID0gZGVyZWZfdGFnKHRoZV9yZXBvc2l0b3J5LAogCQkJCQkgICAgIGxvb2t1cF9vYmplY3QodGhlX3JlcG9zaXRvcnksCi0JCQkJCSAgICAgcmVmLT5vbGRfb2lkLmhhc2gpLAorCQkJCQkgICAgICZyZWYtPm9sZF9vaWQpLAogCQkJCQkgICAgIE5VTEwsIDApOwogCiAJCWlmICghbyB8fCBvLT50eXBlICE9IE9CSl9DT01NSVQgfHwgIShvLT5mbGFncyAmIENPTVBMRVRFKSkKQEAgLTczNiw2ICs3MjUsNyBAQAogCQluZWdvdGlhdG9yLT5rbm93bl9jb21tb24obmVnb3RpYXRvciwKIAkJCQkJIChzdHJ1Y3QgY29tbWl0ICopbyk7CiAJfQorCXRyYWNlMl9yZWdpb25fbGVhdmUoImZldGNoLXBhY2siLCAibWFya19jb21tb25fcmVtb3RlX3JlZnMiLCBOVUxMKTsKIAogCXNhdmVfY29tbWl0X2J1ZmZlciA9IG9sZF9zYXZlX2NvbW1pdF9idWZmZXI7CiB9CkBAIC03NTQsNyArNzQ0LDcgQEAKIAkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqcmVtb3RlID0gJnJlZi0+b2xkX29pZDsKIAkJc3RydWN0IG9iamVjdCAqbzsKIAotCQlvID0gbG9va3VwX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgcmVtb3RlLT5oYXNoKTsKKwkJbyA9IGxvb2t1cF9vYmplY3QodGhlX3JlcG9zaXRvcnksIHJlbW90ZSk7CiAJCWlmICghbyB8fCAhKG8tPmZsYWdzICYgQ09NUExFVEUpKSB7CiAJCQlyZXR2YWwgPSAwOwogCQkJcHJpbnRfdmVyYm9zZShhcmdzLCAid2FudCAlcyAoJXMpIiwgb2lkX3RvX2hleChyZW1vdGUpLApAQCAtNzc4LDggKzc2OCwzMyBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyB2b2lkIHdyaXRlX3Byb21pc29yX2ZpbGUoY29uc3QgY2hhciAqa2VlcF9uYW1lLAorCQkJCXN0cnVjdCByZWYgKipzb3VnaHQsIGludCBucl9zb3VnaHQpCit7CisJc3RydWN0IHN0cmJ1ZiBwcm9taXNvcl9uYW1lID0gU1RSQlVGX0lOSVQ7CisJaW50IHN1ZmZpeF9zdHJpcHBlZDsKKwlGSUxFICpvdXRwdXQ7CisJaW50IGk7CisKKwlzdHJidWZfYWRkc3RyKCZwcm9taXNvcl9uYW1lLCBrZWVwX25hbWUpOworCXN1ZmZpeF9zdHJpcHBlZCA9IHN0cmJ1Zl9zdHJpcF9zdWZmaXgoJnByb21pc29yX25hbWUsICIua2VlcCIpOworCWlmICghc3VmZml4X3N0cmlwcGVkKQorCQlCVUcoIm5hbWUgb2YgcGFjayBsb2NrZmlsZSBzaG91bGQgZW5kIHdpdGggLmtlZXAgKHdhcyAnJXMnKSIsCisJCSAgICBrZWVwX25hbWUpOworCXN0cmJ1Zl9hZGRzdHIoJnByb21pc29yX25hbWUsICIucHJvbWlzb3IiKTsKKworCW91dHB1dCA9IHhmb3Blbihwcm9taXNvcl9uYW1lLmJ1ZiwgInciKTsKKwlmb3IgKGkgPSAwOyBpIDwgbnJfc291Z2h0OyBpKyspCisJCWZwcmludGYob3V0cHV0LCAiJXMgJXNcbiIsIG9pZF90b19oZXgoJnNvdWdodFtpXS0+b2xkX29pZCksCisJCQlzb3VnaHRbaV0tPm5hbWUpOworCWZjbG9zZShvdXRwdXQpOworCisJc3RyYnVmX3JlbGVhc2UoJnByb21pc29yX25hbWUpOworfQorCiBzdGF0aWMgaW50IGdldF9wYWNrKHN0cnVjdCBmZXRjaF9wYWNrX2FyZ3MgKmFyZ3MsCi0JCSAgICBpbnQgeGRbMl0sIGNoYXIgKipwYWNrX2xvY2tmaWxlKQorCQkgICAgaW50IHhkWzJdLCBjaGFyICoqcGFja19sb2NrZmlsZSwKKwkJICAgIHN0cnVjdCByZWYgKipzb3VnaHQsIGludCBucl9zb3VnaHQpCiB7CiAJc3RydWN0IGFzeW5jIGRlbXV4OwogCWludCBkb19rZWVwID0gYXJncy0+a2VlcF9wYWNrOwpAQCAtODQxLDcgKzg1NiwxMyBAQAogCQl9CiAJCWlmIChhcmdzLT5jaGVja19zZWxmX2NvbnRhaW5lZF9hbmRfY29ubmVjdGVkKQogCQkJYXJndl9hcnJheV9wdXNoKCZjbWQuYXJncywgIi0tY2hlY2stc2VsZi1jb250YWluZWQtYW5kLWNvbm5lY3RlZCIpOwotCQlpZiAoYXJncy0+ZnJvbV9wcm9taXNvcikKKwkJLyoKKwkJICogSWYgd2UncmUgb2J0YWluaW5nIHRoZSBmaWxlbmFtZSBvZiBhIGxvY2tmaWxlLCB3ZSdsbCB1c2UKKwkJICogdGhhdCBmaWxlbmFtZSB0byB3cml0ZSBhIC5wcm9taXNvciBmaWxlIHdpdGggbW9yZQorCQkgKiBpbmZvcm1hdGlvbiBiZWxvdy4gSWYgbm90LCB3ZSBuZWVkIGluZGV4LXBhY2sgdG8gZG8gaXQgZm9yCisJCSAqIHVzLgorCQkgKi8KKwkJaWYgKCEoZG9fa2VlcCAmJiBwYWNrX2xvY2tmaWxlKSAmJiBhcmdzLT5mcm9tX3Byb21pc29yKQogCQkJYXJndl9hcnJheV9wdXNoKCZjbWQuYXJncywgIi0tcHJvbWlzb3IiKTsKIAl9CiAJZWxzZSB7CkBAIC04OTUsNiArOTE2LDE0IEBACiAJCWRpZShfKCIlcyBmYWlsZWQiKSwgY21kX25hbWUpOwogCWlmICh1c2Vfc2lkZWJhbmQgJiYgZmluaXNoX2FzeW5jKCZkZW11eCkpCiAJCWRpZShfKCJlcnJvciBpbiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIikpOworCisJLyoKKwkgKiBOb3cgdGhhdCBpbmRleC1wYWNrIGhhcyBzdWNjZWVkZWQsIHdyaXRlIHRoZSBwcm9taXNvciBmaWxlIHVzaW5nIHRoZQorCSAqIG9idGFpbmVkIC5rZWVwIGZpbGVuYW1lIGlmIG5lY2Vzc2FyeQorCSAqLworCWlmIChkb19rZWVwICYmIHBhY2tfbG9ja2ZpbGUgJiYgYXJncy0+ZnJvbV9wcm9taXNvcikKKwkJd3JpdGVfcHJvbWlzb3JfZmlsZSgqcGFja19sb2NrZmlsZSwgc291Z2h0LCBucl9zb3VnaHQpOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTkxMiw4NiArOTQxLDEwNyBAQAogCQkJCSBzdHJ1Y3Qgc2hhbGxvd19pbmZvICpzaSwKIAkJCQkgY2hhciAqKnBhY2tfbG9ja2ZpbGUpCiB7CisJc3RydWN0IHJlcG9zaXRvcnkgKnIgPSB0aGVfcmVwb3NpdG9yeTsKIAlzdHJ1Y3QgcmVmICpyZWYgPSBjb3B5X3JlZl9saXN0KG9yaWdfcmVmKTsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAljb25zdCBjaGFyICphZ2VudF9mZWF0dXJlOwogCWludCBhZ2VudF9sZW47Ci0Jc3RydWN0IGZldGNoX25lZ290aWF0b3IgbmVnb3RpYXRvcjsKLQlmZXRjaF9uZWdvdGlhdG9yX2luaXQoJm5lZ290aWF0b3IsIG5lZ290aWF0aW9uX2FsZ29yaXRobSk7CisJc3RydWN0IGZldGNoX25lZ290aWF0b3IgbmVnb3RpYXRvcl9hbGxvYzsKKwlzdHJ1Y3QgZmV0Y2hfbmVnb3RpYXRvciAqbmVnb3RpYXRvcjsKKworCWlmIChhcmdzLT5ub19kZXBlbmRlbnRzKSB7CisJCW5lZ290aWF0b3IgPSBOVUxMOworCX0gZWxzZSB7CisJCW5lZ290aWF0b3IgPSAmbmVnb3RpYXRvcl9hbGxvYzsKKwkJZmV0Y2hfbmVnb3RpYXRvcl9pbml0KHIsIG5lZ290aWF0b3IpOworCX0KIAogCXNvcnRfcmVmX2xpc3QoJnJlZiwgcmVmX2NvbXBhcmVfbmFtZSk7CiAJUVNPUlQoc291Z2h0LCBucl9zb3VnaHQsIGNtcF9yZWZfYnlfbmFtZSk7CiAKLQlpZiAoKGFyZ3MtPmRlcHRoID4gMCB8fCBpc19yZXBvc2l0b3J5X3NoYWxsb3codGhlX3JlcG9zaXRvcnkpKSAmJiAhc2VydmVyX3N1cHBvcnRzKCJzaGFsbG93IikpCi0JCWRpZShfKCJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNsaWVudHMiKSk7Ci0JaWYgKGFyZ3MtPmRlcHRoID4gMCB8fCBhcmdzLT5kZWVwZW5fc2luY2UgfHwgYXJncy0+ZGVlcGVuX25vdCkKLQkJYXJncy0+ZGVlcGVuID0gMTsKLQlpZiAoc2VydmVyX3N1cHBvcnRzKCJtdWx0aV9hY2tfZGV0YWlsZWQiKSkgewotCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2tfZGV0YWlsZWQiKSk7Ci0JCW11bHRpX2FjayA9IDI7Ci0JCWlmIChzZXJ2ZXJfc3VwcG9ydHMoIm5vLWRvbmUiKSkgewotCQkJcHJpbnRfdmVyYm9zZShhcmdzLCBfKCJTZXJ2ZXIgc3VwcG9ydHMgbm8tZG9uZSIpKTsKLQkJCWlmIChhcmdzLT5zdGF0ZWxlc3NfcnBjKQotCQkJCW5vX2RvbmUgPSAxOwotCQl9Ci0JfQotCWVsc2UgaWYgKHNlcnZlcl9zdXBwb3J0cygibXVsdGlfYWNrIikpIHsKLQkJcHJpbnRfdmVyYm9zZShhcmdzLCBfKCJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrIikpOwotCQltdWx0aV9hY2sgPSAxOwotCX0KLQlpZiAoc2VydmVyX3N1cHBvcnRzKCJzaWRlLWJhbmQtNjRrIikpIHsKLQkJcHJpbnRfdmVyYm9zZShhcmdzLCBfKCJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kLTY0ayIpKTsKLQkJdXNlX3NpZGViYW5kID0gMjsKLQl9Ci0JZWxzZSBpZiAoc2VydmVyX3N1cHBvcnRzKCJzaWRlLWJhbmQiKSkgewotCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQiKSk7Ci0JCXVzZV9zaWRlYmFuZCA9IDE7Ci0JfQotCWlmIChzZXJ2ZXJfc3VwcG9ydHMoImFsbG93LXRpcC1zaGExLWluLXdhbnQiKSkgewotCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyBhbGxvdy10aXAtc2hhMS1pbi13YW50IikpOwotCQlhbGxvd191bmFkdmVydGlzZWRfb2JqZWN0X3JlcXVlc3QgfD0gQUxMT1dfVElQX1NIQTE7Ci0JfQotCWlmIChzZXJ2ZXJfc3VwcG9ydHMoImFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiKSkgewotCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IikpOwotCQlhbGxvd191bmFkdmVydGlzZWRfb2JqZWN0X3JlcXVlc3QgfD0gQUxMT1dfUkVBQ0hBQkxFX1NIQTE7Ci0JfQotCWlmICghc2VydmVyX3N1cHBvcnRzKCJ0aGluLXBhY2siKSkKLQkJYXJncy0+dXNlX3RoaW5fcGFjayA9IDA7Ci0JaWYgKCFzZXJ2ZXJfc3VwcG9ydHMoIm5vLXByb2dyZXNzIikpCi0JCWFyZ3MtPm5vX3Byb2dyZXNzID0gMDsKLQlpZiAoIXNlcnZlcl9zdXBwb3J0cygiaW5jbHVkZS10YWciKSkKLQkJYXJncy0+aW5jbHVkZV90YWcgPSAwOwotCWlmIChzZXJ2ZXJfc3VwcG9ydHMoIm9mcy1kZWx0YSIpKQotCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyBvZnMtZGVsdGEiKSk7Ci0JZWxzZQotCQlwcmVmZXJfb2ZzX2RlbHRhID0gMDsKLQotCWlmIChzZXJ2ZXJfc3VwcG9ydHMoImZpbHRlciIpKSB7Ci0JCXNlcnZlcl9zdXBwb3J0c19maWx0ZXJpbmcgPSAxOwotCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyBmaWx0ZXIiKSk7Ci0JfSBlbHNlIGlmIChhcmdzLT5maWx0ZXJfb3B0aW9ucy5jaG9pY2UpIHsKLQkJd2FybmluZygiZmlsdGVyaW5nIG5vdCByZWNvZ25pemVkIGJ5IHNlcnZlciwgaWdub3JpbmciKTsKLQl9Ci0KIAlpZiAoKGFnZW50X2ZlYXR1cmUgPSBzZXJ2ZXJfZmVhdHVyZV92YWx1ZSgiYWdlbnQiLCAmYWdlbnRfbGVuKSkpIHsKIAkJYWdlbnRfc3VwcG9ydGVkID0gMTsKIAkJaWYgKGFnZW50X2xlbikKIAkJCXByaW50X3ZlcmJvc2UoYXJncywgXygiU2VydmVyIHZlcnNpb24gaXMgJS4qcyIpLAogCQkJCSAgICAgIGFnZW50X2xlbiwgYWdlbnRfZmVhdHVyZSk7CiAJfQotCWlmIChzZXJ2ZXJfc3VwcG9ydHMoImRlZXBlbi1zaW5jZSIpKQorCisJaWYgKHNlcnZlcl9zdXBwb3J0cygic2hhbGxvdyIpKQorCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyAlcyIpLCAic2hhbGxvdyIpOworCWVsc2UgaWYgKGFyZ3MtPmRlcHRoID4gMCB8fCBpc19yZXBvc2l0b3J5X3NoYWxsb3cocikpCisJCWRpZShfKCJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNsaWVudHMiKSk7CisJaWYgKGFyZ3MtPmRlcHRoID4gMCB8fCBhcmdzLT5kZWVwZW5fc2luY2UgfHwgYXJncy0+ZGVlcGVuX25vdCkKKwkJYXJncy0+ZGVlcGVuID0gMTsKKwlpZiAoc2VydmVyX3N1cHBvcnRzKCJtdWx0aV9hY2tfZGV0YWlsZWQiKSkgeworCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyAlcyIpLCAibXVsdGlfYWNrX2RldGFpbGVkIik7CisJCW11bHRpX2FjayA9IDI7CisJCWlmIChzZXJ2ZXJfc3VwcG9ydHMoIm5vLWRvbmUiKSkgeworCQkJcHJpbnRfdmVyYm9zZShhcmdzLCBfKCJTZXJ2ZXIgc3VwcG9ydHMgJXMiKSwgIm5vLWRvbmUiKTsKKwkJCWlmIChhcmdzLT5zdGF0ZWxlc3NfcnBjKQorCQkJCW5vX2RvbmUgPSAxOworCQl9CisJfQorCWVsc2UgaWYgKHNlcnZlcl9zdXBwb3J0cygibXVsdGlfYWNrIikpIHsKKwkJcHJpbnRfdmVyYm9zZShhcmdzLCBfKCJTZXJ2ZXIgc3VwcG9ydHMgJXMiKSwgIm11bHRpX2FjayIpOworCQltdWx0aV9hY2sgPSAxOworCX0KKwlpZiAoc2VydmVyX3N1cHBvcnRzKCJzaWRlLWJhbmQtNjRrIikpIHsKKwkJcHJpbnRfdmVyYm9zZShhcmdzLCBfKCJTZXJ2ZXIgc3VwcG9ydHMgJXMiKSwgInNpZGUtYmFuZC02NGsiKTsKKwkJdXNlX3NpZGViYW5kID0gMjsKKwl9CisJZWxzZSBpZiAoc2VydmVyX3N1cHBvcnRzKCJzaWRlLWJhbmQiKSkgeworCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyAlcyIpLCAic2lkZS1iYW5kIik7CisJCXVzZV9zaWRlYmFuZCA9IDE7CisJfQorCWlmIChzZXJ2ZXJfc3VwcG9ydHMoImFsbG93LXRpcC1zaGExLWluLXdhbnQiKSkgeworCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyAlcyIpLCAiYWxsb3ctdGlwLXNoYTEtaW4td2FudCIpOworCQlhbGxvd191bmFkdmVydGlzZWRfb2JqZWN0X3JlcXVlc3QgfD0gQUxMT1dfVElQX1NIQTE7CisJfQorCWlmIChzZXJ2ZXJfc3VwcG9ydHMoImFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiKSkgeworCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyAlcyIpLCAiYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIpOworCQlhbGxvd191bmFkdmVydGlzZWRfb2JqZWN0X3JlcXVlc3QgfD0gQUxMT1dfUkVBQ0hBQkxFX1NIQTE7CisJfQorCWlmIChzZXJ2ZXJfc3VwcG9ydHMoInRoaW4tcGFjayIpKQorCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyAlcyIpLCAidGhpbi1wYWNrIik7CisJZWxzZQorCQlhcmdzLT51c2VfdGhpbl9wYWNrID0gMDsKKwlpZiAoc2VydmVyX3N1cHBvcnRzKCJuby1wcm9ncmVzcyIpKQorCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyAlcyIpLCAibm8tcHJvZ3Jlc3MiKTsKKwllbHNlCisJCWFyZ3MtPm5vX3Byb2dyZXNzID0gMDsKKwlpZiAoc2VydmVyX3N1cHBvcnRzKCJpbmNsdWRlLXRhZyIpKQorCQlwcmludF92ZXJib3NlKGFyZ3MsIF8oIlNlcnZlciBzdXBwb3J0cyAlcyIpLCAiaW5jbHVkZS10YWciKTsKKwllbHNlCisJCWFyZ3MtPmluY2x1ZGVfdGFnID0gMDsKKwlpZiAoc2VydmVyX3N1cHBvcnRzKCJvZnMtZGVsdGEiKSkKKwkJcHJpbnRfdmVyYm9zZShhcmdzLCBfKCJTZXJ2ZXIgc3VwcG9ydHMgJXMiKSwgIm9mcy1kZWx0YSIpOworCWVsc2UKKwkJcHJlZmVyX29mc19kZWx0YSA9IDA7CisKKwlpZiAoc2VydmVyX3N1cHBvcnRzKCJmaWx0ZXIiKSkgeworCQlzZXJ2ZXJfc3VwcG9ydHNfZmlsdGVyaW5nID0gMTsKKwkJcHJpbnRfdmVyYm9zZShhcmdzLCBfKCJTZXJ2ZXIgc3VwcG9ydHMgJXMiKSwgImZpbHRlciIpOworCX0gZWxzZSBpZiAoYXJncy0+ZmlsdGVyX29wdGlvbnMuY2hvaWNlKSB7CisJCXdhcm5pbmcoImZpbHRlcmluZyBub3QgcmVjb2duaXplZCBieSBzZXJ2ZXIsIGlnbm9yaW5nIik7CisJfQorCisJaWYgKHNlcnZlcl9zdXBwb3J0cygiZGVlcGVuLXNpbmNlIikpIHsKKwkJcHJpbnRfdmVyYm9zZShhcmdzLCBfKCJTZXJ2ZXIgc3VwcG9ydHMgJXMiKSwgImRlZXBlbi1zaW5jZSIpOwogCQlkZWVwZW5fc2luY2Vfb2sgPSAxOwotCWVsc2UgaWYgKGFyZ3MtPmRlZXBlbl9zaW5jZSkKKwl9IGVsc2UgaWYgKGFyZ3MtPmRlZXBlbl9zaW5jZSkKIAkJZGllKF8oIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1zaW5jZSIpKTsKLQlpZiAoc2VydmVyX3N1cHBvcnRzKCJkZWVwZW4tbm90IikpCisJaWYgKHNlcnZlcl9zdXBwb3J0cygiZGVlcGVuLW5vdCIpKSB7CisJCXByaW50X3ZlcmJvc2UoYXJncywgXygiU2VydmVyIHN1cHBvcnRzICVzIiksICJkZWVwZW4tbm90Iik7CiAJCWRlZXBlbl9ub3Rfb2sgPSAxOwotCWVsc2UgaWYgKGFyZ3MtPmRlZXBlbl9ub3QpCisJfSBlbHNlIGlmIChhcmdzLT5kZWVwZW5fbm90KQogCQlkaWUoXygiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LWV4Y2x1ZGUiKSk7Ci0JaWYgKCFzZXJ2ZXJfc3VwcG9ydHMoImRlZXBlbi1yZWxhdGl2ZSIpICYmIGFyZ3MtPmRlZXBlbl9yZWxhdGl2ZSkKKwlpZiAoc2VydmVyX3N1cHBvcnRzKCJkZWVwZW4tcmVsYXRpdmUiKSkKKwkJcHJpbnRfdmVyYm9zZShhcmdzLCBfKCJTZXJ2ZXIgc3VwcG9ydHMgJXMiKSwgImRlZXBlbi1yZWxhdGl2ZSIpOworCWVsc2UgaWYgKGFyZ3MtPmRlZXBlbl9yZWxhdGl2ZSkKIAkJZGllKF8oIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tZGVlcGVuIikpOwogCiAJaWYgKCFhcmdzLT5ub19kZXBlbmRlbnRzKSB7Ci0JCW1hcmtfY29tcGxldGVfYW5kX2NvbW1vbl9yZWYoJm5lZ290aWF0b3IsIGFyZ3MsICZyZWYpOworCQltYXJrX2NvbXBsZXRlX2FuZF9jb21tb25fcmVmKG5lZ290aWF0b3IsIGFyZ3MsICZyZWYpOwogCQlmaWx0ZXJfcmVmcyhhcmdzLCAmcmVmLCBzb3VnaHQsIG5yX3NvdWdodCk7CiAJCWlmIChldmVyeXRoaW5nX2xvY2FsKGFyZ3MsICZyZWYpKSB7CiAJCQlwYWNrZXRfZmx1c2goZmRbMV0pOwpAQCAtMTAwMCw3ICsxMDUwLDcgQEAKIAl9IGVsc2UgewogCQlmaWx0ZXJfcmVmcyhhcmdzLCAmcmVmLCBzb3VnaHQsIG5yX3NvdWdodCk7CiAJfQotCWlmIChmaW5kX2NvbW1vbigmbmVnb3RpYXRvciwgYXJncywgZmQsICZvaWQsIHJlZikgPCAwKQorCWlmIChmaW5kX2NvbW1vbihuZWdvdGlhdG9yLCBhcmdzLCBmZCwgJm9pZCwgcmVmKSA8IDApCiAJCWlmICghYXJncy0+a2VlcF9wYWNrKQogCQkJLyogV2hlbiBjbG9uaW5nLCBpdCBpcyBub3QgdW51c3VhbCB0byBoYXZlCiAJCQkgKiBubyBjb21tb24gY29tbWl0LgpAQCAtMTAxNiwxMSArMTA2NiwxMiBAQAogCQlhbHRlcm5hdGVfc2hhbGxvd19maWxlID0gc2V0dXBfdGVtcG9yYXJ5X3NoYWxsb3coc2ktPnNoYWxsb3cpOwogCWVsc2UKIAkJYWx0ZXJuYXRlX3NoYWxsb3dfZmlsZSA9IE5VTEw7Ci0JaWYgKGdldF9wYWNrKGFyZ3MsIGZkLCBwYWNrX2xvY2tmaWxlKSkKKwlpZiAoZ2V0X3BhY2soYXJncywgZmQsIHBhY2tfbG9ja2ZpbGUsIHNvdWdodCwgbnJfc291Z2h0KSkKIAkJZGllKF8oImdpdCBmZXRjaC1wYWNrOiBmZXRjaCBmYWlsZWQuIikpOwogCiAgYWxsX2RvbmU6Ci0JbmVnb3RpYXRvci5yZWxlYXNlKCZuZWdvdGlhdG9yKTsKKwlpZiAobmVnb3RpYXRvcikKKwkJbmVnb3RpYXRvci0+cmVsZWFzZShuZWdvdGlhdG9yKTsKIAlyZXR1cm4gcmVmOwogfQogCkBAIC0xMDQyLDYgKzEwOTMsOCBAQAogCQkJcGFja2V0X2J1Zl93cml0ZShyZXFfYnVmLCAiZGVlcGVuLW5vdCAlcyIsIHMtPnN0cmluZyk7CiAJCX0KIAl9CisJaWYgKGFyZ3MtPmRlZXBlbl9yZWxhdGl2ZSkKKwkJcGFja2V0X2J1Zl93cml0ZShyZXFfYnVmLCAiZGVlcGVuLXJlbGF0aXZlXG4iKTsKIH0KIAogc3RhdGljIHZvaWQgYWRkX3dhbnRzKGludCBub19kZXBlbmRlbnRzLCBjb25zdCBzdHJ1Y3QgcmVmICp3YW50cywgc3RydWN0IHN0cmJ1ZiAqcmVxX2J1ZikKQEAgLTEwNjYsNyArMTExOSw3IEBACiAJCSAqIHdlIGNhbm5vdCB0cnVzdCB0aGUgb2JqZWN0IGZsYWdzKS4KIAkJICovCiAJCWlmICghbm9fZGVwZW5kZW50cyAmJgotCQkgICAgKChvID0gbG9va3VwX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgcmVtb3RlLT5oYXNoKSkgIT0gTlVMTCkgJiYKKwkJICAgICgobyA9IGxvb2t1cF9vYmplY3QodGhlX3JlcG9zaXRvcnksIHJlbW90ZSkpICE9IE5VTEwpICYmCiAJCSAgICAoby0+ZmxhZ3MgJiBDT01QTEVURSkpIHsKIAkJCWNvbnRpbnVlOwogCQl9CkBAIC0xMTE3LDkgKzExNzAsMTAgQEAKIH0KIAogc3RhdGljIGludCBzZW5kX2ZldGNoX3JlcXVlc3Qoc3RydWN0IGZldGNoX25lZ290aWF0b3IgKm5lZ290aWF0b3IsIGludCBmZF9vdXQsCi0JCQkgICAgICBjb25zdCBzdHJ1Y3QgZmV0Y2hfcGFja19hcmdzICphcmdzLAorCQkJICAgICAgc3RydWN0IGZldGNoX3BhY2tfYXJncyAqYXJncywKIAkJCSAgICAgIGNvbnN0IHN0cnVjdCByZWYgKndhbnRzLCBzdHJ1Y3Qgb2lkc2V0ICpjb21tb24sCi0JCQkgICAgICBpbnQgKmhhdmVzX3RvX3NlbmQsIGludCAqaW5fdmFpbikKKwkJCSAgICAgIGludCAqaGF2ZXNfdG9fc2VuZCwgaW50ICppbl92YWluLAorCQkJICAgICAgaW50IHNpZGViYW5kX2FsbCkKIHsKIAlpbnQgcmV0ID0gMDsKIAlzdHJ1Y3Qgc3RyYnVmIHJlcV9idWYgPSBTVFJCVUZfSU5JVDsKQEAgLTExMzIsNyArMTE4Niw3IEBACiAJICAgIHNlcnZlcl9zdXBwb3J0c192Migic2VydmVyLW9wdGlvbiIsIDEpKSB7CiAJCWludCBpOwogCQlmb3IgKGkgPSAwOyBpIDwgYXJncy0+c2VydmVyX29wdGlvbnMtPm5yOyBpKyspCi0JCQlwYWNrZXRfd3JpdGVfZm10KGZkX291dCwgInNlcnZlci1vcHRpb249JXMiLAorCQkJcGFja2V0X2J1Zl93cml0ZSgmcmVxX2J1ZiwgInNlcnZlci1vcHRpb249JXMiLAogCQkJCQkgYXJncy0+c2VydmVyX29wdGlvbnMtPml0ZW1zW2ldLnN0cmluZyk7CiAJfQogCkBAIC0xMTQ1LDYgKzExOTksOCBAQAogCQlwYWNrZXRfYnVmX3dyaXRlKCZyZXFfYnVmLCAiaW5jbHVkZS10YWciKTsKIAlpZiAocHJlZmVyX29mc19kZWx0YSkKIAkJcGFja2V0X2J1Zl93cml0ZSgmcmVxX2J1ZiwgIm9mcy1kZWx0YSIpOworCWlmIChzaWRlYmFuZF9hbGwpCisJCXBhY2tldF9idWZfd3JpdGUoJnJlcV9idWYsICJzaWRlYmFuZC1hbGwiKTsKIAogCS8qIEFkZCBzaGFsbG93LWluZm8gYW5kIGRlZXBlbiByZXF1ZXN0ICovCiAJaWYgKHNlcnZlcl9zdXBwb3J0c19mZWF0dXJlKCJmZXRjaCIsICJzaGFsbG93IiwgMCkpCkBAIC0xMTU1LDkgKzEyMTEsMTAgQEAKIAkvKiBBZGQgZmlsdGVyICovCiAJaWYgKHNlcnZlcl9zdXBwb3J0c19mZWF0dXJlKCJmZXRjaCIsICJmaWx0ZXIiLCAwKSAmJgogCSAgICBhcmdzLT5maWx0ZXJfb3B0aW9ucy5jaG9pY2UpIHsKKwkJY29uc3QgY2hhciAqc3BlYyA9CisJCQlleHBhbmRfbGlzdF9vYmplY3RzX2ZpbHRlcl9zcGVjKCZhcmdzLT5maWx0ZXJfb3B0aW9ucyk7CiAJCXByaW50X3ZlcmJvc2UoYXJncywgXygiU2VydmVyIHN1cHBvcnRzIGZpbHRlciIpKTsKLQkJcGFja2V0X2J1Zl93cml0ZSgmcmVxX2J1ZiwgImZpbHRlciAlcyIsCi0JCQkJIGFyZ3MtPmZpbHRlcl9vcHRpb25zLmZpbHRlcl9zcGVjKTsKKwkJcGFja2V0X2J1Zl93cml0ZSgmcmVxX2J1ZiwgImZpbHRlciAlcyIsIHNwZWMpOwogCX0gZWxzZSBpZiAoYXJncy0+ZmlsdGVyX29wdGlvbnMuY2hvaWNlKSB7CiAJCXdhcm5pbmcoImZpbHRlcmluZyBub3QgcmVjb2duaXplZCBieSBzZXJ2ZXIsIGlnbm9yaW5nIik7CiAJfQpAQCAtMTE3OCw3ICsxMjM1LDggQEAKIAogCS8qIFNlbmQgcmVxdWVzdCAqLwogCXBhY2tldF9idWZfZmx1c2goJnJlcV9idWYpOwotCXdyaXRlX29yX2RpZShmZF9vdXQsIHJlcV9idWYuYnVmLCByZXFfYnVmLmxlbik7CisJaWYgKHdyaXRlX2luX2Z1bGwoZmRfb3V0LCByZXFfYnVmLmJ1ZiwgcmVxX2J1Zi5sZW4pIDwgMCkKKwkJZGllX2Vycm5vKF8oInVuYWJsZSB0byB3cml0ZSByZXF1ZXN0IHRvIHJlbW90ZSIpKTsKIAogCXN0cmJ1Zl9yZWxlYXNlKCZyZXFfYnVmKTsKIAlyZXR1cm4gcmV0OwpAQCAtMTIzMSw3ICsxMjg5LDggQEAKIAkJCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CiAJCQkJb2lkc2V0X2luc2VydChjb21tb24sICZvaWQpOwogCQkJCWNvbW1pdCA9IGxvb2t1cF9jb21taXQodGhlX3JlcG9zaXRvcnksICZvaWQpOwotCQkJCW5lZ290aWF0b3ItPmFjayhuZWdvdGlhdG9yLCBjb21taXQpOworCQkJCWlmIChuZWdvdGlhdG9yKQorCQkJCQluZWdvdGlhdG9yLT5hY2sobmVnb3RpYXRvciwgY29tbWl0KTsKIAkJCX0KIAkJCWNvbnRpbnVlOwogCQl9CkBAIC0xMjY1LDggKzEzMjQsMTIgQEAKIH0KIAogc3RhdGljIHZvaWQgcmVjZWl2ZV9zaGFsbG93X2luZm8oc3RydWN0IGZldGNoX3BhY2tfYXJncyAqYXJncywKLQkJCQkgc3RydWN0IHBhY2tldF9yZWFkZXIgKnJlYWRlcikKKwkJCQkgc3RydWN0IHBhY2tldF9yZWFkZXIgKnJlYWRlciwKKwkJCQkgc3RydWN0IG9pZF9hcnJheSAqc2hhbGxvd3MsCisJCQkJIHN0cnVjdCBzaGFsbG93X2luZm8gKnNpKQogeworCWludCB1bnNoYWxsb3dfcmVjZWl2ZWQgPSAwOworCiAJcHJvY2Vzc19zZWN0aW9uX2hlYWRlcihyZWFkZXIsICJzaGFsbG93LWluZm8iLCAwKTsKIAl3aGlsZSAocGFja2V0X3JlYWRlcl9yZWFkKHJlYWRlcikgPT0gUEFDS0VUX1JFQURfTk9STUFMKSB7CiAJCWNvbnN0IGNoYXIgKmFyZzsKQEAgLTEyNzUsMTkgKzEzMzgsMjAgQEAKIAkJaWYgKHNraXBfcHJlZml4KHJlYWRlci0+bGluZSwgInNoYWxsb3cgIiwgJmFyZykpIHsKIAkJCWlmIChnZXRfb2lkX2hleChhcmcsICZvaWQpKQogCQkJCWRpZShfKCJpbnZhbGlkIHNoYWxsb3cgbGluZTogJXMiKSwgcmVhZGVyLT5saW5lKTsKLQkJCXJlZ2lzdGVyX3NoYWxsb3codGhlX3JlcG9zaXRvcnksICZvaWQpOworCQkJb2lkX2FycmF5X2FwcGVuZChzaGFsbG93cywgJm9pZCk7CiAJCQljb250aW51ZTsKIAkJfQogCQlpZiAoc2tpcF9wcmVmaXgocmVhZGVyLT5saW5lLCAidW5zaGFsbG93ICIsICZhcmcpKSB7CiAJCQlpZiAoZ2V0X29pZF9oZXgoYXJnLCAmb2lkKSkKIAkJCQlkaWUoXygiaW52YWxpZCB1bnNoYWxsb3cgbGluZTogJXMiKSwgcmVhZGVyLT5saW5lKTsKLQkJCWlmICghbG9va3VwX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgb2lkLmhhc2gpKQorCQkJaWYgKCFsb29rdXBfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCAmb2lkKSkKIAkJCQlkaWUoXygib2JqZWN0IG5vdCBmb3VuZDogJXMiKSwgcmVhZGVyLT5saW5lKTsKIAkJCS8qIG1ha2Ugc3VyZSB0aGF0IGl0IGlzIHBhcnNlZCBhcyBzaGFsbG93ICovCiAJCQlpZiAoIXBhcnNlX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgJm9pZCkpCiAJCQkJZGllKF8oImVycm9yIGluIG9iamVjdDogJXMiKSwgcmVhZGVyLT5saW5lKTsKIAkJCWlmICh1bnJlZ2lzdGVyX3NoYWxsb3coJm9pZCkpCiAJCQkJZGllKF8oIm5vIHNoYWxsb3cgZm91bmQ6ICVzIiksIHJlYWRlci0+bGluZSk7CisJCQl1bnNoYWxsb3dfcmVjZWl2ZWQgPSAxOwogCQkJY29udGludWU7CiAJCX0KIAkJZGllKF8oImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiKSwgcmVhZGVyLT5saW5lKTsKQEAgLTEyOTcsOCArMTM2MSwzOSBAQAogCSAgICByZWFkZXItPnN0YXR1cyAhPSBQQUNLRVRfUkVBRF9ERUxJTSkKIAkJZGllKF8oImVycm9yIHByb2Nlc3Npbmcgc2hhbGxvdyBpbmZvOiAlZCIpLCByZWFkZXItPnN0YXR1cyk7CiAKLQlzZXR1cF9hbHRlcm5hdGVfc2hhbGxvdygmc2hhbGxvd19sb2NrLCAmYWx0ZXJuYXRlX3NoYWxsb3dfZmlsZSwgTlVMTCk7Ci0JYXJncy0+ZGVlcGVuID0gMTsKKwlpZiAoYXJncy0+ZGVlcGVuIHx8IHVuc2hhbGxvd19yZWNlaXZlZCkgeworCQkvKgorCQkgKiBUcmVhdCB0aGVzZSBhcyBzaGFsbG93IGxpbmVzIGNhdXNlZCBieSBvdXIgZGVwdGggc2V0dGluZ3MuCisJCSAqIEluIHYwLCB0aGVzZSBsaW5lcyBjYW5ub3QgY2F1c2UgcmVmcyB0byBiZSByZWplY3RlZDsgZG8gdGhlCisJCSAqIHNhbWUuCisJCSAqLworCQlpbnQgaTsKKworCQlmb3IgKGkgPSAwOyBpIDwgc2hhbGxvd3MtPm5yOyBpKyspCisJCQlyZWdpc3Rlcl9zaGFsbG93KHRoZV9yZXBvc2l0b3J5LCAmc2hhbGxvd3MtPm9pZFtpXSk7CisJCXNldHVwX2FsdGVybmF0ZV9zaGFsbG93KCZzaGFsbG93X2xvY2ssICZhbHRlcm5hdGVfc2hhbGxvd19maWxlLAorCQkJCQlOVUxMKTsKKwkJYXJncy0+ZGVlcGVuID0gMTsKKwl9IGVsc2UgaWYgKHNoYWxsb3dzLT5ucikgeworCQkvKgorCQkgKiBUcmVhdCB0aGVzZSBhcyBzaGFsbG93IGxpbmVzIGNhdXNlZCBieSB0aGUgcmVtb3RlIGJlaW5nCisJCSAqIHNoYWxsb3cuIEluIHYwLCByZW1vdGUgcmVmcyB0aGF0IHJlYWNoIHRoZXNlIG9iamVjdHMgYXJlCisJCSAqIHJlamVjdGVkICh1bmxlc3MgLS11cGRhdGUtc2hhbGxvdyBpcyBzZXQpOyBkbyB0aGUgc2FtZS4KKwkJICovCisJCXByZXBhcmVfc2hhbGxvd19pbmZvKHNpLCBzaGFsbG93cyk7CisJCWlmIChzaS0+bnJfb3VycyB8fCBzaS0+bnJfdGhlaXJzKQorCQkJYWx0ZXJuYXRlX3NoYWxsb3dfZmlsZSA9CisJCQkJc2V0dXBfdGVtcG9yYXJ5X3NoYWxsb3coc2ktPnNoYWxsb3cpOworCQllbHNlCisJCQlhbHRlcm5hdGVfc2hhbGxvd19maWxlID0gTlVMTDsKKwl9IGVsc2UgeworCQlhbHRlcm5hdGVfc2hhbGxvd19maWxlID0gTlVMTDsKKwl9Cit9CisKK3N0YXRpYyBpbnQgY21wX25hbWVfcmVmKGNvbnN0IHZvaWQgKm5hbWUsIGNvbnN0IHZvaWQgKnJlZikKK3sKKwlyZXR1cm4gc3RyY21wKG5hbWUsICgqKHN0cnVjdCByZWYgKiopcmVmKS0+bmFtZSk7CiB9CiAKIHN0YXRpYyB2b2lkIHJlY2VpdmVfd2FudGVkX3JlZnMoc3RydWN0IHBhY2tldF9yZWFkZXIgKnJlYWRlciwKQEAgLTEzMDgsMjAgKzE0MDMsMTYgQEAKIAl3aGlsZSAocGFja2V0X3JlYWRlcl9yZWFkKHJlYWRlcikgPT0gUEFDS0VUX1JFQURfTk9STUFMKSB7CiAJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQljb25zdCBjaGFyICplbmQ7Ci0JCWludCBpOworCQlzdHJ1Y3QgcmVmICoqZm91bmQ7CiAKIAkJaWYgKHBhcnNlX29pZF9oZXgocmVhZGVyLT5saW5lLCAmb2lkLCAmZW5kKSB8fCAqZW5kKysgIT0gJyAnKQogCQkJZGllKF8oImV4cGVjdGVkIHdhbnRlZC1yZWYsIGdvdCAnJXMnIiksIHJlYWRlci0+bGluZSk7CiAKLQkJZm9yIChpID0gMDsgaSA8IG5yX3NvdWdodDsgaSsrKSB7Ci0JCQlpZiAoIXN0cmNtcChlbmQsIHNvdWdodFtpXS0+bmFtZSkpIHsKLQkJCQlvaWRjcHkoJnNvdWdodFtpXS0+b2xkX29pZCwgJm9pZCk7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0JCX0KLQotCQlpZiAoaSA9PSBucl9zb3VnaHQpCisJCWZvdW5kID0gYnNlYXJjaChlbmQsIHNvdWdodCwgbnJfc291Z2h0LCBzaXplb2YoKnNvdWdodCksCisJCQkJY21wX25hbWVfcmVmKTsKKwkJaWYgKCFmb3VuZCkKIAkJCWRpZShfKCJ1bmV4cGVjdGVkIHdhbnRlZC1yZWY6ICclcyciKSwgcmVhZGVyLT5saW5lKTsKKwkJb2lkY3B5KCYoKmZvdW5kKS0+b2xkX29pZCwgJm9pZCk7CiAJfQogCiAJaWYgKHJlYWRlci0+c3RhdHVzICE9IFBBQ0tFVF9SRUFEX0RFTElNKQpAQCAtMTM0MCwxOCArMTQzMSwzNSBAQAogCQkJCSAgICBpbnQgZmRbMl0sCiAJCQkJICAgIGNvbnN0IHN0cnVjdCByZWYgKm9yaWdfcmVmLAogCQkJCSAgICBzdHJ1Y3QgcmVmICoqc291Z2h0LCBpbnQgbnJfc291Z2h0LAorCQkJCSAgICBzdHJ1Y3Qgb2lkX2FycmF5ICpzaGFsbG93cywKKwkJCQkgICAgc3RydWN0IHNoYWxsb3dfaW5mbyAqc2ksCiAJCQkJICAgIGNoYXIgKipwYWNrX2xvY2tmaWxlKQogeworCXN0cnVjdCByZXBvc2l0b3J5ICpyID0gdGhlX3JlcG9zaXRvcnk7CiAJc3RydWN0IHJlZiAqcmVmID0gY29weV9yZWZfbGlzdChvcmlnX3JlZik7CiAJZW51bSBmZXRjaF9zdGF0ZSBzdGF0ZSA9IEZFVENIX0NIRUNLX0xPQ0FMOwogCXN0cnVjdCBvaWRzZXQgY29tbW9uID0gT0lEU0VUX0lOSVQ7CiAJc3RydWN0IHBhY2tldF9yZWFkZXIgcmVhZGVyOwotCWludCBpbl92YWluID0gMDsKKwlpbnQgaW5fdmFpbiA9IDAsIG5lZ290aWF0aW9uX3N0YXJ0ZWQgPSAwOwogCWludCBoYXZlc190b19zZW5kID0gSU5JVElBTF9GTFVTSDsKLQlzdHJ1Y3QgZmV0Y2hfbmVnb3RpYXRvciBuZWdvdGlhdG9yOwotCWZldGNoX25lZ290aWF0b3JfaW5pdCgmbmVnb3RpYXRvciwgbmVnb3RpYXRpb25fYWxnb3JpdGhtKTsKKwlzdHJ1Y3QgZmV0Y2hfbmVnb3RpYXRvciBuZWdvdGlhdG9yX2FsbG9jOworCXN0cnVjdCBmZXRjaF9uZWdvdGlhdG9yICpuZWdvdGlhdG9yOworCisJaWYgKGFyZ3MtPm5vX2RlcGVuZGVudHMpIHsKKwkJbmVnb3RpYXRvciA9IE5VTEw7CisJfSBlbHNlIHsKKwkJbmVnb3RpYXRvciA9ICZuZWdvdGlhdG9yX2FsbG9jOworCQlmZXRjaF9uZWdvdGlhdG9yX2luaXQociwgbmVnb3RpYXRvcik7CisJfQorCiAJcGFja2V0X3JlYWRlcl9pbml0KCZyZWFkZXIsIGZkWzBdLCBOVUxMLCAwLAotCQkJICAgUEFDS0VUX1JFQURfQ0hPTVBfTkVXTElORSk7CisJCQkgICBQQUNLRVRfUkVBRF9DSE9NUF9ORVdMSU5FIHwKKwkJCSAgIFBBQ0tFVF9SRUFEX0RJRV9PTl9FUlJfUEFDS0VUKTsKKwlpZiAoZ2l0X2Vudl9ib29sKCJHSVRfVEVTVF9TSURFQkFORF9BTEwiLCAxKSAmJgorCSAgICBzZXJ2ZXJfc3VwcG9ydHNfZmVhdHVyZSgiZmV0Y2giLCAic2lkZWJhbmQtYWxsIiwgMCkpIHsKKwkJcmVhZGVyLnVzZV9zaWRlYmFuZCA9IDE7CisJCXJlYWRlci5tZSA9ICJmZXRjaC1wYWNrIjsKKwl9CiAKIAl3aGlsZSAoc3RhdGUgIT0gRkVUQ0hfRE9ORSkgewogCQlzd2l0Y2ggKHN0YXRlKSB7CkBAIC0xMzY3LDE1ICsxNDc1LDE1IEBACiAKIAkJCS8qIEZpbHRlciAncmVmJyBieSAnc291Z2h0JyBhbmQgdGhvc2UgdGhhdCBhcmVuJ3QgbG9jYWwgKi8KIAkJCWlmICghYXJncy0+bm9fZGVwZW5kZW50cykgewotCQkJCW1hcmtfY29tcGxldGVfYW5kX2NvbW1vbl9yZWYoJm5lZ290aWF0b3IsIGFyZ3MsICZyZWYpOworCQkJCW1hcmtfY29tcGxldGVfYW5kX2NvbW1vbl9yZWYobmVnb3RpYXRvciwgYXJncywgJnJlZik7CiAJCQkJZmlsdGVyX3JlZnMoYXJncywgJnJlZiwgc291Z2h0LCBucl9zb3VnaHQpOwogCQkJCWlmIChldmVyeXRoaW5nX2xvY2FsKGFyZ3MsICZyZWYpKQogCQkJCQlzdGF0ZSA9IEZFVENIX0RPTkU7CiAJCQkJZWxzZQogCQkJCQlzdGF0ZSA9IEZFVENIX1NFTkRfUkVRVUVTVDsKIAotCQkJCW1hcmtfdGlwcygmbmVnb3RpYXRvciwgYXJncy0+bmVnb3RpYXRpb25fdGlwcyk7Ci0JCQkJZm9yX2VhY2hfY2FjaGVkX2FsdGVybmF0ZSgmbmVnb3RpYXRvciwKKwkJCQltYXJrX3RpcHMobmVnb3RpYXRvciwgYXJncy0+bmVnb3RpYXRpb25fdGlwcyk7CisJCQkJZm9yX2VhY2hfY2FjaGVkX2FsdGVybmF0ZShuZWdvdGlhdG9yLAogCQkJCQkJCSAgaW5zZXJ0X29uZV9hbHRlcm5hdGVfb2JqZWN0KTsKIAkJCX0gZWxzZSB7CiAJCQkJZmlsdGVyX3JlZnMoYXJncywgJnJlZiwgc291Z2h0LCBucl9zb3VnaHQpOwpAQCAtMTM4MywxNiArMTQ5MSwyMyBAQAogCQkJfQogCQkJYnJlYWs7CiAJCWNhc2UgRkVUQ0hfU0VORF9SRVFVRVNUOgotCQkJaWYgKHNlbmRfZmV0Y2hfcmVxdWVzdCgmbmVnb3RpYXRvciwgZmRbMV0sIGFyZ3MsIHJlZiwKKwkJCWlmICghbmVnb3RpYXRpb25fc3RhcnRlZCkgeworCQkJCW5lZ290aWF0aW9uX3N0YXJ0ZWQgPSAxOworCQkJCXRyYWNlMl9yZWdpb25fZW50ZXIoImZldGNoLXBhY2siLAorCQkJCQkJICAgICJuZWdvdGlhdGlvbl92MiIsCisJCQkJCQkgICAgdGhlX3JlcG9zaXRvcnkpOworCQkJfQorCQkJaWYgKHNlbmRfZmV0Y2hfcmVxdWVzdChuZWdvdGlhdG9yLCBmZFsxXSwgYXJncywgcmVmLAogCQkJCQkgICAgICAgJmNvbW1vbiwKLQkJCQkJICAgICAgICZoYXZlc190b19zZW5kLCAmaW5fdmFpbikpCisJCQkJCSAgICAgICAmaGF2ZXNfdG9fc2VuZCwgJmluX3ZhaW4sCisJCQkJCSAgICAgICByZWFkZXIudXNlX3NpZGViYW5kKSkKIAkJCQlzdGF0ZSA9IEZFVENIX0dFVF9QQUNLOwogCQkJZWxzZQogCQkJCXN0YXRlID0gRkVUQ0hfUFJPQ0VTU19BQ0tTOwogCQkJYnJlYWs7CiAJCWNhc2UgRkVUQ0hfUFJPQ0VTU19BQ0tTOgogCQkJLyogUHJvY2VzcyBBQ0tzL05BS3MgKi8KLQkJCXN3aXRjaCAocHJvY2Vzc19hY2tzKCZuZWdvdGlhdG9yLCAmcmVhZGVyLCAmY29tbW9uKSkgeworCQkJc3dpdGNoIChwcm9jZXNzX2Fja3MobmVnb3RpYXRvciwgJnJlYWRlciwgJmNvbW1vbikpIHsKIAkJCWNhc2UgMjoKIAkJCQlzdGF0ZSA9IEZFVENIX0dFVF9QQUNLOwogCQkJCWJyZWFrOwpAQCAtMTQwNSwxNiArMTUyMCwxOSBAQAogCQkJfQogCQkJYnJlYWs7CiAJCWNhc2UgRkVUQ0hfR0VUX1BBQ0s6CisJCQl0cmFjZTJfcmVnaW9uX2xlYXZlKCJmZXRjaC1wYWNrIiwKKwkJCQkJICAgICJuZWdvdGlhdGlvbl92MiIsCisJCQkJCSAgICB0aGVfcmVwb3NpdG9yeSk7CiAJCQkvKiBDaGVjayBmb3Igc2hhbGxvdy1pbmZvIHNlY3Rpb24gKi8KIAkJCWlmIChwcm9jZXNzX3NlY3Rpb25faGVhZGVyKCZyZWFkZXIsICJzaGFsbG93LWluZm8iLCAxKSkKLQkJCQlyZWNlaXZlX3NoYWxsb3dfaW5mbyhhcmdzLCAmcmVhZGVyKTsKKwkJCQlyZWNlaXZlX3NoYWxsb3dfaW5mbyhhcmdzLCAmcmVhZGVyLCBzaGFsbG93cywgc2kpOwogCiAJCQlpZiAocHJvY2Vzc19zZWN0aW9uX2hlYWRlcigmcmVhZGVyLCAid2FudGVkLXJlZnMiLCAxKSkKIAkJCQlyZWNlaXZlX3dhbnRlZF9yZWZzKCZyZWFkZXIsIHNvdWdodCwgbnJfc291Z2h0KTsKIAogCQkJLyogZ2V0IHRoZSBwYWNrICovCiAJCQlwcm9jZXNzX3NlY3Rpb25faGVhZGVyKCZyZWFkZXIsICJwYWNrZmlsZSIsIDApOwotCQkJaWYgKGdldF9wYWNrKGFyZ3MsIGZkLCBwYWNrX2xvY2tmaWxlKSkKKwkJCWlmIChnZXRfcGFjayhhcmdzLCBmZCwgcGFja19sb2NrZmlsZSwgc291Z2h0LCBucl9zb3VnaHQpKQogCQkJCWRpZShfKCJnaXQgZmV0Y2gtcGFjazogZmV0Y2ggZmFpbGVkLiIpKTsKIAogCQkJc3RhdGUgPSBGRVRDSF9ET05FOwpAQCAtMTQyNCw3ICsxNTQyLDggQEAKIAkJfQogCX0KIAotCW5lZ290aWF0b3IucmVsZWFzZSgmbmVnb3RpYXRvcik7CisJaWYgKG5lZ290aWF0b3IpCisJCW5lZ290aWF0b3ItPnJlbGVhc2UobmVnb3RpYXRvcik7CiAJb2lkc2V0X2NsZWFyKCZjb21tb24pOwogCXJldHVybiByZWY7CiB9CkBAIC0xNDYxLDggKzE1ODAsNiBAQAogCWdpdF9jb25maWdfZ2V0X2Jvb2woInJlcGFjay51c2VkZWx0YWJhc2VvZmZzZXQiLCAmcHJlZmVyX29mc19kZWx0YSk7CiAJZ2l0X2NvbmZpZ19nZXRfYm9vbCgiZmV0Y2guZnNja29iamVjdHMiLCAmZmV0Y2hfZnNja19vYmplY3RzKTsKIAlnaXRfY29uZmlnX2dldF9ib29sKCJ0cmFuc2Zlci5mc2Nrb2JqZWN0cyIsICZ0cmFuc2Zlcl9mc2NrX29iamVjdHMpOwotCWdpdF9jb25maWdfZ2V0X3N0cmluZygiZmV0Y2gubmVnb3RpYXRpb25hbGdvcml0aG0iLAotCQkJICAgICAgJm5lZ290aWF0aW9uX2FsZ29yaXRobSk7CiAKIAlnaXRfY29uZmlnKGZldGNoX3BhY2tfY29uZmlnX2NiLCBOVUxMKTsKIH0KQEAgLTE1MTUsNiArMTYzMiw3IEBACiAJCQlyb2xsYmFja19sb2NrX2ZpbGUoJnNoYWxsb3dfbG9jayk7CiAJCX0gZWxzZQogCQkJY29tbWl0X2xvY2tfZmlsZSgmc2hhbGxvd19sb2NrKTsKKwkJYWx0ZXJuYXRlX3NoYWxsb3dfZmlsZSA9IE5VTEw7CiAJCXJldHVybjsKIAl9CiAKQEAgLTE1MzgsNiArMTY1Niw3IEBACiAJCQkJCQkmYWx0ZXJuYXRlX3NoYWxsb3dfZmlsZSwKIAkJCQkJCSZleHRyYSk7CiAJCQljb21taXRfbG9ja19maWxlKCZzaGFsbG93X2xvY2spOworCQkJYWx0ZXJuYXRlX3NoYWxsb3dfZmlsZSA9IE5VTEw7CiAJCX0KIAkJb2lkX2FycmF5X2NsZWFyKCZleHRyYSk7CiAJCXJldHVybjsKQEAgLTE1NzcsNiArMTY5Niw3IEBACiAJCWNvbW1pdF9sb2NrX2ZpbGUoJnNoYWxsb3dfbG9jayk7CiAJCW9pZF9hcnJheV9jbGVhcigmZXh0cmEpOwogCQlvaWRfYXJyYXlfY2xlYXIoJnJlZik7CisJCWFsdGVybmF0ZV9zaGFsbG93X2ZpbGUgPSBOVUxMOwogCQlyZXR1cm47CiAJfQogCkBAIC0xNjA4LDkgKzE3MjgsOCBAQAogfQogCiBzdHJ1Y3QgcmVmICpmZXRjaF9wYWNrKHN0cnVjdCBmZXRjaF9wYWNrX2FyZ3MgKmFyZ3MsCi0JCSAgICAgICBpbnQgZmRbXSwgc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNvbm4sCisJCSAgICAgICBpbnQgZmRbXSwKIAkJICAgICAgIGNvbnN0IHN0cnVjdCByZWYgKnJlZiwKLQkJICAgICAgIGNvbnN0IGNoYXIgKmRlc3QsCiAJCSAgICAgICBzdHJ1Y3QgcmVmICoqc291Z2h0LCBpbnQgbnJfc291Z2h0LAogCQkgICAgICAgc3RydWN0IG9pZF9hcnJheSAqc2hhbGxvdywKIAkJICAgICAgIGNoYXIgKipwYWNrX2xvY2tmaWxlLApAQCAtMTYxOCw2ICsxNzM3LDcgQEAKIHsKIAlzdHJ1Y3QgcmVmICpyZWZfY3B5OwogCXN0cnVjdCBzaGFsbG93X2luZm8gc2k7CisJc3RydWN0IG9pZF9hcnJheSBzaGFsbG93c19zY3JhdGNoID0gT0lEX0FSUkFZX0lOSVQ7CiAKIAlmZXRjaF9wYWNrX3NldHVwKCk7CiAJaWYgKG5yX3NvdWdodCkKQEAgLTE2NDEsMTMgKzE3NjEsMTggQEAKIAkJcGFja2V0X2ZsdXNoKGZkWzFdKTsKIAkJZGllKF8oIm5vIG1hdGNoaW5nIHJlbW90ZSBoZWFkIikpOwogCX0KLQlwcmVwYXJlX3NoYWxsb3dfaW5mbygmc2ksIHNoYWxsb3cpOwotCWlmICh2ZXJzaW9uID09IHByb3RvY29sX3YyKQorCWlmICh2ZXJzaW9uID09IHByb3RvY29sX3YyKSB7CisJCWlmIChzaGFsbG93LT5ucikKKwkJCUJVRygiUHJvdG9jb2wgVjIgZG9lcyBub3QgcHJvdmlkZSBzaGFsbG93cyBhdCB0aGlzIHBvaW50IGluIHRoZSBmZXRjaCIpOworCQltZW1zZXQoJnNpLCAwLCBzaXplb2Yoc2kpKTsKIAkJcmVmX2NweSA9IGRvX2ZldGNoX3BhY2tfdjIoYXJncywgZmQsIHJlZiwgc291Z2h0LCBucl9zb3VnaHQsCisJCQkJCSAgICZzaGFsbG93c19zY3JhdGNoLCAmc2ksCiAJCQkJCSAgIHBhY2tfbG9ja2ZpbGUpOwotCWVsc2UKKwl9IGVsc2UgeworCQlwcmVwYXJlX3NoYWxsb3dfaW5mbygmc2ksIHNoYWxsb3cpOwogCQlyZWZfY3B5ID0gZG9fZmV0Y2hfcGFjayhhcmdzLCBmZCwgcmVmLCBzb3VnaHQsIG5yX3NvdWdodCwKIAkJCQkJJnNpLCBwYWNrX2xvY2tmaWxlKTsKKwl9CiAJcmVwcmVwYXJlX3BhY2tlZF9naXQodGhlX3JlcG9zaXRvcnkpOwogCiAJaWYgKCFhcmdzLT5jbG9uaW5nICYmIGFyZ3MtPmRlZXBlbikgewpAQCAtMTY2OSw2ICsxNzk0LDcgQEAKIAl1cGRhdGVfc2hhbGxvdyhhcmdzLCBzb3VnaHQsIG5yX3NvdWdodCwgJnNpKTsKIGNsZWFudXA6CiAJY2xlYXJfc2hhbGxvd19pbmZvKCZzaSk7CisJb2lkX2FycmF5X2NsZWFyKCZzaGFsbG93c19zY3JhdGNoKTsKIAlyZXR1cm4gcmVmX2NweTsKIH0KIApkaWZmIC0tZ2l0IGEvZmV0Y2gtcGFjay5oIGIvZmV0Y2gtcGFjay5oCmluZGV4IDQzZWMzNDQuLjY3ZjY4NDIgMTAwNjQ0Ci0tLSBhL2ZldGNoLXBhY2suaAorKysgYi9mZXRjaC1wYWNrLmgKQEAgLTc4LDkgKzc4LDggQEAKICAqIG1hcmtlZCBhcyBzdWNoLgogICovCiBzdHJ1Y3QgcmVmICpmZXRjaF9wYWNrKHN0cnVjdCBmZXRjaF9wYWNrX2FyZ3MgKmFyZ3MsCi0JCSAgICAgICBpbnQgZmRbXSwgc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNvbm4sCisJCSAgICAgICBpbnQgZmRbXSwKIAkJICAgICAgIGNvbnN0IHN0cnVjdCByZWYgKnJlZiwKLQkJICAgICAgIGNvbnN0IGNoYXIgKmRlc3QsCiAJCSAgICAgICBzdHJ1Y3QgcmVmICoqc291Z2h0LAogCQkgICAgICAgaW50IG5yX3NvdWdodCwKIAkJICAgICAgIHN0cnVjdCBvaWRfYXJyYXkgKnNoYWxsb3csCmRpZmYgLS1naXQgYS9mbXQtbWVyZ2UtbXNnLmggYi9mbXQtbWVyZ2UtbXNnLmgKaW5kZXggYjI4ZDNhNi4uMDFlM2FhOCAxMDA2NDQKLS0tIGEvZm10LW1lcmdlLW1zZy5oCisrKyBiL2ZtdC1tZXJnZS1tc2cuaApAQCAtMiw2ICsyLDYgQEAKICNkZWZpbmUgRk1UX01FUkdFX01TR19ICiAKIGV4dGVybiBpbnQgbWVyZ2VfbG9nX2NvbmZpZzsKLWV4dGVybiBpbnQgZm10X21lcmdlX21zZ19jb25maWcoY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpOworaW50IGZtdF9tZXJnZV9tc2dfY29uZmlnKGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKTsKIAogI2VuZGlmIC8qIEZNVF9NRVJHRV9NU0dfSCAqLwpkaWZmIC0tZ2l0IGEvZnNjay5jIGIvZnNjay5jCmluZGV4IDUzNWY4MDYuLjY0MGQ4MTMgMTAwNjQ0Ci0tLSBhL2ZzY2suYworKysgYi9mc2NrLmMKQEAgLTQzLDIxICs0MywxNyBAQAogCUZVTkMoTUlTU0lOR19BVVRIT1IsIEVSUk9SKSBcCiAJRlVOQyhNSVNTSU5HX0NPTU1JVFRFUiwgRVJST1IpIFwKIAlGVU5DKE1JU1NJTkdfRU1BSUwsIEVSUk9SKSBcCi0JRlVOQyhNSVNTSU5HX0dSQUZULCBFUlJPUikgXAogCUZVTkMoTUlTU0lOR19OQU1FX0JFRk9SRV9FTUFJTCwgRVJST1IpIFwKIAlGVU5DKE1JU1NJTkdfT0JKRUNULCBFUlJPUikgXAotCUZVTkMoTUlTU0lOR19QQVJFTlQsIEVSUk9SKSBcCiAJRlVOQyhNSVNTSU5HX1NQQUNFX0JFRk9SRV9EQVRFLCBFUlJPUikgXAogCUZVTkMoTUlTU0lOR19TUEFDRV9CRUZPUkVfRU1BSUwsIEVSUk9SKSBcCiAJRlVOQyhNSVNTSU5HX1RBRywgRVJST1IpIFwKIAlGVU5DKE1JU1NJTkdfVEFHX0VOVFJZLCBFUlJPUikgXAotCUZVTkMoTUlTU0lOR19UQUdfT0JKRUNULCBFUlJPUikgXAogCUZVTkMoTUlTU0lOR19UUkVFLCBFUlJPUikgXAogCUZVTkMoTUlTU0lOR19UUkVFX09CSkVDVCwgRVJST1IpIFwKIAlGVU5DKE1JU1NJTkdfVFlQRSwgRVJST1IpIFwKIAlGVU5DKE1JU1NJTkdfVFlQRV9FTlRSWSwgRVJST1IpIFwKIAlGVU5DKE1VTFRJUExFX0FVVEhPUlMsIEVSUk9SKSBcCi0JRlVOQyhUQUdfT0JKRUNUX05PVF9UQUcsIEVSUk9SKSBcCiAJRlVOQyhUUkVFX05PVF9TT1JURUQsIEVSUk9SKSBcCiAJRlVOQyhVTktOT1dOX1RZUEUsIEVSUk9SKSBcCiAJRlVOQyhaRVJPX1BBRERFRF9EQVRFLCBFUlJPUikgXApAQCAtMTgyLDQxICsxNzgsNiBAQAogCXJldHVybiBtc2dfdHlwZTsKIH0KIAotc3RhdGljIHZvaWQgaW5pdF9za2lwbGlzdChzdHJ1Y3QgZnNja19vcHRpb25zICpvcHRpb25zLCBjb25zdCBjaGFyICpwYXRoKQotewotCUZJTEUgKmZwOwotCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKLQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKLQotCWZwID0gZm9wZW4ocGF0aCwgInIiKTsKLQlpZiAoIWZwKQotCQlkaWUoIkNvdWxkIG5vdCBvcGVuIHNraXAgbGlzdDogJXMiLCBwYXRoKTsKLQl3aGlsZSAoIXN0cmJ1Zl9nZXRsaW5lKCZzYiwgZnApKSB7Ci0JCWNvbnN0IGNoYXIgKnA7Ci0JCWNvbnN0IGNoYXIgKmhhc2g7Ci0KLQkJLyoKLQkJICogQWxsb3cgdHJhaWxpbmcgY29tbWVudHMsIGxlYWRpbmcgd2hpdGVzcGFjZQotCQkgKiAoaW5jbHVkaW5nIGJlZm9yZSBjb21taXRzKSwgYW5kIGVtcHR5IG9yIHdoaXRlc3BhY2UKLQkJICogb25seSBsaW5lcy4KLQkJICovCi0JCWhhc2ggPSBzdHJjaHIoc2IuYnVmLCAnIycpOwotCQlpZiAoaGFzaCkKLQkJCXN0cmJ1Zl9zZXRsZW4oJnNiLCBoYXNoIC0gc2IuYnVmKTsKLQkJc3RyYnVmX3RyaW0oJnNiKTsKLQkJaWYgKCFzYi5sZW4pCi0JCQljb250aW51ZTsKLQotCQlpZiAocGFyc2Vfb2lkX2hleChzYi5idWYsICZvaWQsICZwKSB8fCAqcCAhPSAnXDAnKQotCQkJZGllKCJJbnZhbGlkIFNIQS0xOiAlcyIsIHNiLmJ1Zik7Ci0JCW9pZHNldF9pbnNlcnQoJm9wdGlvbnMtPnNraXBsaXN0LCAmb2lkKTsKLQl9Ci0JaWYgKGZlcnJvcihmcCkpCi0JCWRpZV9lcnJubygiQ291bGQgbm90IHJlYWQgJyVzJyIsIHBhdGgpOwotCWZjbG9zZShmcCk7Ci0Jc3RyYnVmX3JlbGVhc2UoJnNiKTsKLX0KLQogc3RhdGljIGludCBwYXJzZV9tc2dfdHlwZShjb25zdCBjaGFyICpzdHIpCiB7CiAJaWYgKCFzdHJjbXAoc3RyLCAiZXJyb3IiKSkKQEAgLTI4NSw3ICsyNDYsNyBAQAogCQlpZiAoIXN0cmNtcChidWYsICJza2lwbGlzdCIpKSB7CiAJCQlpZiAoZXF1YWwgPT0gbGVuKQogCQkJCWRpZSgic2tpcGxpc3QgcmVxdWlyZXMgYSBwYXRoIik7Ci0JCQlpbml0X3NraXBsaXN0KG9wdGlvbnMsIGJ1ZiArIGVxdWFsICsgMSk7CisJCQlvaWRzZXRfcGFyc2VfZmlsZSgmb3B0aW9ucy0+c2tpcGxpc3QsIGJ1ZiArIGVxdWFsICsgMSk7CiAJCQlidWYgKz0gbGVuICsgMTsKIAkJCWNvbnRpbnVlOwogCQl9CkBAIC0zMTcsMTQgKzI3OCwxNiBAQAogCXN0cmJ1Zl9hZGRzdHIoc2IsICI6ICIpOwogfQogCi1zdGF0aWMgaW50IG9iamVjdF9vbl9za2lwbGlzdChzdHJ1Y3QgZnNja19vcHRpb25zICpvcHRzLCBzdHJ1Y3Qgb2JqZWN0ICpvYmopCitzdGF0aWMgaW50IG9iamVjdF9vbl9za2lwbGlzdChzdHJ1Y3QgZnNja19vcHRpb25zICpvcHRzLAorCQkJICAgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewotCXJldHVybiBvcHRzICYmIG9iaiAmJiBvaWRzZXRfY29udGFpbnMoJm9wdHMtPnNraXBsaXN0LCAmb2JqLT5vaWQpOworCXJldHVybiBvcHRzICYmIG9pZCAmJiBvaWRzZXRfY29udGFpbnMoJm9wdHMtPnNraXBsaXN0LCBvaWQpOwogfQogCi1fX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgNCwgNSkpKQotc3RhdGljIGludCByZXBvcnQoc3RydWN0IGZzY2tfb3B0aW9ucyAqb3B0aW9ucywgc3RydWN0IG9iamVjdCAqb2JqZWN0LAotCWVudW0gZnNja19tc2dfaWQgaWQsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQorX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDUsIDYpKSkKK3N0YXRpYyBpbnQgcmVwb3J0KHN0cnVjdCBmc2NrX29wdGlvbnMgKm9wdGlvbnMsCisJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBlbnVtIG9iamVjdF90eXBlIG9iamVjdF90eXBlLAorCQkgIGVudW0gZnNja19tc2dfaWQgaWQsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogewogCXZhX2xpc3QgYXA7CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwpAQCAtMzMzLDcgKzI5Niw3IEBACiAJaWYgKG1zZ190eXBlID09IEZTQ0tfSUdOT1JFKQogCQlyZXR1cm4gMDsKIAotCWlmIChvYmplY3Rfb25fc2tpcGxpc3Qob3B0aW9ucywgb2JqZWN0KSkKKwlpZiAob2JqZWN0X29uX3NraXBsaXN0KG9wdGlvbnMsIG9pZCkpCiAJCXJldHVybiAwOwogCiAJaWYgKG1zZ190eXBlID09IEZTQ0tfRkFUQUwpCkBAIC0zNDUsNDkgKzMwOCw3MSBAQAogCiAJdmFfc3RhcnQoYXAsIGZtdCk7CiAJc3RyYnVmX3ZhZGRmKCZzYiwgZm10LCBhcCk7Ci0JcmVzdWx0ID0gb3B0aW9ucy0+ZXJyb3JfZnVuYyhvcHRpb25zLCBvYmplY3QsIG1zZ190eXBlLCBzYi5idWYpOworCXJlc3VsdCA9IG9wdGlvbnMtPmVycm9yX2Z1bmMob3B0aW9ucywgb2lkLCBvYmplY3RfdHlwZSwKKwkJCQkgICAgIG1zZ190eXBlLCBzYi5idWYpOwogCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiAJdmFfZW5kKGFwKTsKIAogCXJldHVybiByZXN1bHQ7CiB9CiAKLXN0YXRpYyBjaGFyICpnZXRfb2JqZWN0X25hbWUoc3RydWN0IGZzY2tfb3B0aW9ucyAqb3B0aW9ucywgc3RydWN0IG9iamVjdCAqb2JqKQordm9pZCBmc2NrX2VuYWJsZV9vYmplY3RfbmFtZXMoc3RydWN0IGZzY2tfb3B0aW9ucyAqb3B0aW9ucykKIHsKIAlpZiAoIW9wdGlvbnMtPm9iamVjdF9uYW1lcykKLQkJcmV0dXJuIE5VTEw7Ci0JcmV0dXJuIGxvb2t1cF9kZWNvcmF0aW9uKG9wdGlvbnMtPm9iamVjdF9uYW1lcywgb2JqKTsKKwkJb3B0aW9ucy0+b2JqZWN0X25hbWVzID0ga2hfaW5pdF9vaWRfbWFwKCk7CiB9CiAKLXN0YXRpYyB2b2lkIHB1dF9vYmplY3RfbmFtZShzdHJ1Y3QgZnNja19vcHRpb25zICpvcHRpb25zLCBzdHJ1Y3Qgb2JqZWN0ICpvYmosCi0JY29uc3QgY2hhciAqZm10LCAuLi4pCitjb25zdCBjaGFyICpmc2NrX2dldF9vYmplY3RfbmFtZShzdHJ1Y3QgZnNja19vcHRpb25zICpvcHRpb25zLAorCQkJCSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCit7CisJa2hpdGVyX3QgcG9zOworCWlmICghb3B0aW9ucy0+b2JqZWN0X25hbWVzKQorCQlyZXR1cm4gTlVMTDsKKwlwb3MgPSBraF9nZXRfb2lkX21hcChvcHRpb25zLT5vYmplY3RfbmFtZXMsICpvaWQpOworCWlmIChwb3MgPj0ga2hfZW5kKG9wdGlvbnMtPm9iamVjdF9uYW1lcykpCisJCXJldHVybiBOVUxMOworCXJldHVybiBraF92YWx1ZShvcHRpb25zLT5vYmplY3RfbmFtZXMsIHBvcyk7Cit9CisKK3ZvaWQgZnNja19wdXRfb2JqZWN0X25hbWUoc3RydWN0IGZzY2tfb3B0aW9ucyAqb3B0aW9ucywKKwkJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJICBjb25zdCBjaGFyICpmbXQsIC4uLikKIHsKIAl2YV9saXN0IGFwOwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7Ci0JY2hhciAqZXhpc3Rpbmc7CisJa2hpdGVyX3QgcG9zOworCWludCBoYXNocmV0OwogCiAJaWYgKCFvcHRpb25zLT5vYmplY3RfbmFtZXMpCiAJCXJldHVybjsKLQlleGlzdGluZyA9IGxvb2t1cF9kZWNvcmF0aW9uKG9wdGlvbnMtPm9iamVjdF9uYW1lcywgb2JqKTsKLQlpZiAoZXhpc3RpbmcpCisKKwlwb3MgPSBraF9wdXRfb2lkX21hcChvcHRpb25zLT5vYmplY3RfbmFtZXMsICpvaWQsICZoYXNocmV0KTsKKwlpZiAoIWhhc2hyZXQpCiAJCXJldHVybjsKIAl2YV9zdGFydChhcCwgZm10KTsKIAlzdHJidWZfdmFkZGYoJmJ1ZiwgZm10LCBhcCk7Ci0JYWRkX2RlY29yYXRpb24ob3B0aW9ucy0+b2JqZWN0X25hbWVzLCBvYmosIHN0cmJ1Zl9kZXRhY2goJmJ1ZiwgTlVMTCkpOworCWtoX3ZhbHVlKG9wdGlvbnMtPm9iamVjdF9uYW1lcywgcG9zKSA9IHN0cmJ1Zl9kZXRhY2goJmJ1ZiwgTlVMTCk7CiAJdmFfZW5kKGFwKTsKIH0KIAotc3RhdGljIGNvbnN0IGNoYXIgKmRlc2NyaWJlX29iamVjdChzdHJ1Y3QgZnNja19vcHRpb25zICpvLCBzdHJ1Y3Qgb2JqZWN0ICpvYmopCitjb25zdCBjaGFyICpmc2NrX2Rlc2NyaWJlX29iamVjdChzdHJ1Y3QgZnNja19vcHRpb25zICpvcHRpb25zLAorCQkJCSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0Jc3RhdGljIHN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7Ci0JY2hhciAqbmFtZTsKKwlzdGF0aWMgc3RydWN0IHN0cmJ1ZiBidWZzW10gPSB7CisJCVNUUkJVRl9JTklULCBTVFJCVUZfSU5JVCwgU1RSQlVGX0lOSVQsIFNUUkJVRl9JTklUCisJfTsKKwlzdGF0aWMgaW50IGIgPSAwOworCXN0cnVjdCBzdHJidWYgKmJ1ZjsKKwljb25zdCBjaGFyICpuYW1lID0gZnNja19nZXRfb2JqZWN0X25hbWUob3B0aW9ucywgb2lkKTsKIAotCXN0cmJ1Zl9yZXNldCgmYnVmKTsKLQlzdHJidWZfYWRkc3RyKCZidWYsIG9pZF90b19oZXgoJm9iai0+b2lkKSk7Ci0JaWYgKG8tPm9iamVjdF9uYW1lcyAmJiAobmFtZSA9IGxvb2t1cF9kZWNvcmF0aW9uKG8tPm9iamVjdF9uYW1lcywgb2JqKSkpCi0JCXN0cmJ1Zl9hZGRmKCZidWYsICIgKCVzKSIsIG5hbWUpOworCWJ1ZiA9IGJ1ZnMgKyBiOworCWIgPSAoYiArIDEpICUgQVJSQVlfU0laRShidWZzKTsKKwlzdHJidWZfcmVzZXQoYnVmKTsKKwlzdHJidWZfYWRkc3RyKGJ1Ziwgb2lkX3RvX2hleChvaWQpKTsKKwlpZiAobmFtZSkKKwkJc3RyYnVmX2FkZGYoYnVmLCAiICglcykiLCBuYW1lKTsKIAotCXJldHVybiBidWYuYnVmOworCXJldHVybiBidWYtPmJ1ZjsKIH0KIAogc3RhdGljIGludCBmc2NrX3dhbGtfdHJlZShzdHJ1Y3QgdHJlZSAqdHJlZSwgdm9pZCAqZGF0YSwgc3RydWN0IGZzY2tfb3B0aW9ucyAqb3B0aW9ucykKQEAgLTQwMCw3ICszODUsNyBAQAogCWlmIChwYXJzZV90cmVlKHRyZWUpKQogCQlyZXR1cm4gLTE7CiAKLQluYW1lID0gZ2V0X29iamVjdF9uYW1lKG9wdGlvbnMsICZ0cmVlLT5vYmplY3QpOworCW5hbWUgPSBmc2NrX2dldF9vYmplY3RfbmFtZShvcHRpb25zLCAmdHJlZS0+b2JqZWN0Lm9pZCk7CiAJaWYgKGluaXRfdHJlZV9kZXNjX2dlbnRseSgmZGVzYywgdHJlZS0+YnVmZmVyLCB0cmVlLT5zaXplKSkKIAkJcmV0dXJuIC0xOwogCXdoaWxlICh0cmVlX2VudHJ5X2dlbnRseSgmZGVzYywgJmVudHJ5KSkgewpAQCAtNDExLDIyICszOTYsMjMgQEAKIAkJCWNvbnRpbnVlOwogCiAJCWlmIChTX0lTRElSKGVudHJ5Lm1vZGUpKSB7Ci0JCQlvYmogPSAoc3RydWN0IG9iamVjdCAqKWxvb2t1cF90cmVlKHRoZV9yZXBvc2l0b3J5LCBlbnRyeS5vaWQpOworCQkJb2JqID0gKHN0cnVjdCBvYmplY3QgKilsb29rdXBfdHJlZSh0aGVfcmVwb3NpdG9yeSwgJmVudHJ5Lm9pZCk7CiAJCQlpZiAobmFtZSAmJiBvYmopCi0JCQkJcHV0X29iamVjdF9uYW1lKG9wdGlvbnMsIG9iaiwgIiVzJXMvIiwgbmFtZSwKLQkJCQkJZW50cnkucGF0aCk7CisJCQkJZnNja19wdXRfb2JqZWN0X25hbWUob3B0aW9ucywgJmVudHJ5Lm9pZCwgIiVzJXMvIiwKKwkJCQkJCSAgICAgbmFtZSwgZW50cnkucGF0aCk7CiAJCQlyZXN1bHQgPSBvcHRpb25zLT53YWxrKG9iaiwgT0JKX1RSRUUsIGRhdGEsIG9wdGlvbnMpOwogCQl9CiAJCWVsc2UgaWYgKFNfSVNSRUcoZW50cnkubW9kZSkgfHwgU19JU0xOSyhlbnRyeS5tb2RlKSkgewotCQkJb2JqID0gKHN0cnVjdCBvYmplY3QgKilsb29rdXBfYmxvYih0aGVfcmVwb3NpdG9yeSwgZW50cnkub2lkKTsKKwkJCW9iaiA9IChzdHJ1Y3Qgb2JqZWN0ICopbG9va3VwX2Jsb2IodGhlX3JlcG9zaXRvcnksICZlbnRyeS5vaWQpOwogCQkJaWYgKG5hbWUgJiYgb2JqKQotCQkJCXB1dF9vYmplY3RfbmFtZShvcHRpb25zLCBvYmosICIlcyVzIiwgbmFtZSwKLQkJCQkJZW50cnkucGF0aCk7CisJCQkJZnNja19wdXRfb2JqZWN0X25hbWUob3B0aW9ucywgJmVudHJ5Lm9pZCwgIiVzJXMiLAorCQkJCQkJICAgICBuYW1lLCBlbnRyeS5wYXRoKTsKIAkJCXJlc3VsdCA9IG9wdGlvbnMtPndhbGsob2JqLCBPQkpfQkxPQiwgZGF0YSwgb3B0aW9ucyk7CiAJCX0KIAkJZWxzZSB7CiAJCQlyZXN1bHQgPSBlcnJvcigiaW4gdHJlZSAlczogZW50cnkgJXMgaGFzIGJhZCBtb2RlICUuNm8iLAotCQkJCQlkZXNjcmliZV9vYmplY3Qob3B0aW9ucywgJnRyZWUtPm9iamVjdCksIGVudHJ5LnBhdGgsIGVudHJ5Lm1vZGUpOworCQkJCSAgICAgICBmc2NrX2Rlc2NyaWJlX29iamVjdChvcHRpb25zLCAmdHJlZS0+b2JqZWN0Lm9pZCksCisJCQkJICAgICAgIGVudHJ5LnBhdGgsIGVudHJ5Lm1vZGUpOwogCQl9CiAJCWlmIChyZXN1bHQgPCAwKQogCQkJcmV0dXJuIHJlc3VsdDsKQEAgLTQ0NywxMCArNDMzLDEwIEBACiAJaWYgKHBhcnNlX2NvbW1pdChjb21taXQpKQogCQlyZXR1cm4gLTE7CiAKLQluYW1lID0gZ2V0X29iamVjdF9uYW1lKG9wdGlvbnMsICZjb21taXQtPm9iamVjdCk7CisJbmFtZSA9IGZzY2tfZ2V0X29iamVjdF9uYW1lKG9wdGlvbnMsICZjb21taXQtPm9iamVjdC5vaWQpOwogCWlmIChuYW1lKQotCQlwdXRfb2JqZWN0X25hbWUob3B0aW9ucywgJmdldF9jb21taXRfdHJlZShjb21taXQpLT5vYmplY3QsCi0JCQkJIiVzOiIsIG5hbWUpOworCQlmc2NrX3B1dF9vYmplY3RfbmFtZShvcHRpb25zLCBnZXRfY29tbWl0X3RyZWVfb2lkKGNvbW1pdCksCisJCQkJICAgICAiJXM6IiwgbmFtZSk7CiAKIAlyZXN1bHQgPSBvcHRpb25zLT53YWxrKChzdHJ1Y3Qgb2JqZWN0ICopZ2V0X2NvbW1pdF90cmVlKGNvbW1pdCksCiAJCQkgICAgICAgT0JKX1RSRUUsIGRhdGEsIG9wdGlvbnMpOwpAQCAtNDc4LDE2ICs0NjQsMTcgQEAKIAogCXdoaWxlIChwYXJlbnRzKSB7CiAJCWlmIChuYW1lKSB7Ci0JCQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSAmcGFyZW50cy0+aXRlbS0+b2JqZWN0OworCQkJc3RydWN0IG9iamVjdF9pZCAqb2lkID0gJnBhcmVudHMtPml0ZW0tPm9iamVjdC5vaWQ7CiAKIAkJCWlmIChjb3VudGVyKyspCi0JCQkJcHV0X29iamVjdF9uYW1lKG9wdGlvbnMsIG9iaiwgIiVzXiVkIiwKLQkJCQkJbmFtZSwgY291bnRlcik7CisJCQkJZnNja19wdXRfb2JqZWN0X25hbWUob3B0aW9ucywgb2lkLCAiJXNeJWQiLAorCQkJCQkJICAgICBuYW1lLCBjb3VudGVyKTsKIAkJCWVsc2UgaWYgKGdlbmVyYXRpb24gPiAwKQotCQkJCXB1dF9vYmplY3RfbmFtZShvcHRpb25zLCBvYmosICIlLipzfiVkIiwKLQkJCQkJbmFtZV9wcmVmaXhfbGVuLCBuYW1lLCBnZW5lcmF0aW9uICsgMSk7CisJCQkJZnNja19wdXRfb2JqZWN0X25hbWUob3B0aW9ucywgb2lkLCAiJS4qc34lZCIsCisJCQkJCQkgICAgIG5hbWVfcHJlZml4X2xlbiwgbmFtZSwKKwkJCQkJCSAgICAgZ2VuZXJhdGlvbiArIDEpOwogCQkJZWxzZQotCQkJCXB1dF9vYmplY3RfbmFtZShvcHRpb25zLCBvYmosICIlc14iLCBuYW1lKTsKKwkJCQlmc2NrX3B1dF9vYmplY3RfbmFtZShvcHRpb25zLCBvaWQsICIlc14iLCBuYW1lKTsKIAkJfQogCQlyZXN1bHQgPSBvcHRpb25zLT53YWxrKChzdHJ1Y3Qgb2JqZWN0ICopcGFyZW50cy0+aXRlbSwgT0JKX0NPTU1JVCwgZGF0YSwgb3B0aW9ucyk7CiAJCWlmIChyZXN1bHQgPCAwKQpAQCAtNTAxLDEyICs0ODgsMTIgQEAKIAogc3RhdGljIGludCBmc2NrX3dhbGtfdGFnKHN0cnVjdCB0YWcgKnRhZywgdm9pZCAqZGF0YSwgc3RydWN0IGZzY2tfb3B0aW9ucyAqb3B0aW9ucykKIHsKLQljaGFyICpuYW1lID0gZ2V0X29iamVjdF9uYW1lKG9wdGlvbnMsICZ0YWctPm9iamVjdCk7CisJY29uc3QgY2hhciAqbmFtZSA9IGZzY2tfZ2V0X29iamVjdF9uYW1lKG9wdGlvbnMsICZ0YWctPm9iamVjdC5vaWQpOwogCiAJaWYgKHBhcnNlX3RhZyh0YWcpKQogCQlyZXR1cm4gLTE7CiAJaWYgKG5hbWUpCi0JCXB1dF9vYmplY3RfbmFtZShvcHRpb25zLCB0YWctPnRhZ2dlZCwgIiVzIiwgbmFtZSk7CisJCWZzY2tfcHV0X29iamVjdF9uYW1lKG9wdGlvbnMsICZ0YWctPnRhZ2dlZC0+b2lkLCAiJXMiLCBuYW1lKTsKIAlyZXR1cm4gb3B0aW9ucy0+d2Fsayh0YWctPnRhZ2dlZCwgT0JKX0FOWSwgZGF0YSwgb3B0aW9ucyk7CiB9CiAKQEAgLTUyOCw3ICs1MTUsOCBAQAogCWNhc2UgT0JKX1RBRzoKIAkJcmV0dXJuIGZzY2tfd2Fsa190YWcoKHN0cnVjdCB0YWcgKilvYmosIGRhdGEsIG9wdGlvbnMpOwogCWRlZmF1bHQ6Ci0JCWVycm9yKCJVbmtub3duIG9iamVjdCB0eXBlIGZvciAlcyIsIGRlc2NyaWJlX29iamVjdChvcHRpb25zLCBvYmopKTsKKwkJZXJyb3IoIlVua25vd24gb2JqZWN0IHR5cGUgZm9yICVzIiwKKwkJICAgICAgZnNja19kZXNjcmliZV9vYmplY3Qob3B0aW9ucywgJm9iai0+b2lkKSk7CiAJCXJldHVybiAtMTsKIAl9CiB9CkBAIC01NzksNyArNTY3LDkgQEAKIAlyZXR1cm4gYzEgPCBjMiA/IDAgOiBUUkVFX1VOT1JERVJFRDsKIH0KIAotc3RhdGljIGludCBmc2NrX3RyZWUoc3RydWN0IHRyZWUgKml0ZW0sIHN0cnVjdCBmc2NrX29wdGlvbnMgKm9wdGlvbnMpCitzdGF0aWMgaW50IGZzY2tfdHJlZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCSAgICAgY29uc3QgY2hhciAqYnVmZmVyLCB1bnNpZ25lZCBsb25nIHNpemUsCisJCSAgICAgc3RydWN0IGZzY2tfb3B0aW9ucyAqb3B0aW9ucykKIHsKIAlpbnQgcmV0dmFsID0gMDsKIAlpbnQgaGFzX251bGxfc2hhMSA9IDA7CkBAIC01OTYsOCArNTg2LDggQEAKIAl1bnNpZ25lZCBvX21vZGU7CiAJY29uc3QgY2hhciAqb19uYW1lOwogCi0JaWYgKGluaXRfdHJlZV9kZXNjX2dlbnRseSgmZGVzYywgaXRlbS0+YnVmZmVyLCBpdGVtLT5zaXplKSkgewotCQlyZXR2YWwgKz0gcmVwb3J0KG9wdGlvbnMsICZpdGVtLT5vYmplY3QsIEZTQ0tfTVNHX0JBRF9UUkVFLCAiY2Fubm90IGJlIHBhcnNlZCBhcyBhIHRyZWUiKTsKKwlpZiAoaW5pdF90cmVlX2Rlc2NfZ2VudGx5KCZkZXNjLCBidWZmZXIsIHNpemUpKSB7CisJCXJldHZhbCArPSByZXBvcnQob3B0aW9ucywgb2lkLCBPQkpfVFJFRSwgRlNDS19NU0dfQkFEX1RSRUUsICJjYW5ub3QgYmUgcGFyc2VkIGFzIGEgdHJlZSIpOwogCQlyZXR1cm4gcmV0dmFsOwogCX0KIApAQCAtNjA1LDcgKzU5NSw3IEBACiAJb19uYW1lID0gTlVMTDsKIAogCXdoaWxlIChkZXNjLnNpemUpIHsKLQkJdW5zaWduZWQgbW9kZTsKKwkJdW5zaWduZWQgc2hvcnQgbW9kZTsKIAkJY29uc3QgY2hhciAqbmFtZSwgKmJhY2tzbGFzaDsKIAkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkOwogCkBAIC02MjMsNyArNjEzLDggQEAKIAkJCWlmICghU19JU0xOSyhtb2RlKSkKIAkJCQlvaWRzZXRfaW5zZXJ0KCZnaXRtb2R1bGVzX2ZvdW5kLCBvaWQpOwogCQkJZWxzZQotCQkJCXJldHZhbCArPSByZXBvcnQob3B0aW9ucywgJml0ZW0tPm9iamVjdCwKKwkJCQlyZXR2YWwgKz0gcmVwb3J0KG9wdGlvbnMsCisJCQkJCQkgb2lkLCBPQkpfVFJFRSwKIAkJCQkJCSBGU0NLX01TR19HSVRNT0RVTEVTX1NZTUxJTkssCiAJCQkJCQkgIi5naXRtb2R1bGVzIGlzIGEgc3ltYm9saWMgbGluayIpOwogCQl9CkBAIC02MzYsNyArNjI3LDcgQEAKIAkJCQkJaWYgKCFTX0lTTE5LKG1vZGUpKQogCQkJCQkJb2lkc2V0X2luc2VydCgmZ2l0bW9kdWxlc19mb3VuZCwgb2lkKTsKIAkJCQkJZWxzZQotCQkJCQkJcmV0dmFsICs9IHJlcG9ydChvcHRpb25zLCAmaXRlbS0+b2JqZWN0LAorCQkJCQkJcmV0dmFsICs9IHJlcG9ydChvcHRpb25zLCBvaWQsIE9CSl9UUkVFLAogCQkJCQkJCQkgRlNDS19NU0dfR0lUTU9EVUxFU19TWU1MSU5LLAogCQkJCQkJCQkgIi5naXRtb2R1bGVzIGlzIGEgc3ltYm9saWMgbGluayIpOwogCQkJCX0KQEAgLTY0NSw3ICs2MzYsNyBAQAogCQl9CiAKIAkJaWYgKHVwZGF0ZV90cmVlX2VudHJ5X2dlbnRseSgmZGVzYykpIHsKLQkJCXJldHZhbCArPSByZXBvcnQob3B0aW9ucywgJml0ZW0tPm9iamVjdCwgRlNDS19NU0dfQkFEX1RSRUUsICJjYW5ub3QgYmUgcGFyc2VkIGFzIGEgdHJlZSIpOworCQkJcmV0dmFsICs9IHJlcG9ydChvcHRpb25zLCBvaWQsIE9CSl9UUkVFLCBGU0NLX01TR19CQURfVFJFRSwgImNhbm5vdCBiZSBwYXJzZWQgYXMgYSB0cmVlIik7CiAJCQlicmVhazsKIAkJfQogCkBAIC02OTAsMzAgKzY4MSwzMSBAQAogCX0KIAogCWlmIChoYXNfbnVsbF9zaGExKQotCQlyZXR2YWwgKz0gcmVwb3J0KG9wdGlvbnMsICZpdGVtLT5vYmplY3QsIEZTQ0tfTVNHX05VTExfU0hBMSwgImNvbnRhaW5zIGVudHJpZXMgcG9pbnRpbmcgdG8gbnVsbCBzaGExIik7CisJCXJldHZhbCArPSByZXBvcnQob3B0aW9ucywgb2lkLCBPQkpfVFJFRSwgRlNDS19NU0dfTlVMTF9TSEExLCAiY29udGFpbnMgZW50cmllcyBwb2ludGluZyB0byBudWxsIHNoYTEiKTsKIAlpZiAoaGFzX2Z1bGxfcGF0aCkKLQkJcmV0dmFsICs9IHJlcG9ydChvcHRpb25zLCAmaXRlbS0+b2JqZWN0LCBGU0NLX01TR19GVUxMX1BBVEhOQU1FLCAiY29udGFpbnMgZnVsbCBwYXRobmFtZXMiKTsKKwkJcmV0dmFsICs9IHJlcG9ydChvcHRpb25zLCBvaWQsIE9CSl9UUkVFLCBGU0NLX01TR19GVUxMX1BBVEhOQU1FLCAiY29udGFpbnMgZnVsbCBwYXRobmFtZXMiKTsKIAlpZiAoaGFzX2VtcHR5X25hbWUpCi0JCXJldHZhbCArPSByZXBvcnQob3B0aW9ucywgJml0ZW0tPm9iamVjdCwgRlNDS19NU0dfRU1QVFlfTkFNRSwgImNvbnRhaW5zIGVtcHR5IHBhdGhuYW1lIik7CisJCXJldHZhbCArPSByZXBvcnQob3B0aW9ucywgb2lkLCBPQkpfVFJFRSwgRlNDS19NU0dfRU1QVFlfTkFNRSwgImNvbnRhaW5zIGVtcHR5IHBhdGhuYW1lIik7CiAJaWYgKGhhc19kb3QpCi0JCXJldHZhbCArPSByZXBvcnQob3B0aW9ucywgJml0ZW0tPm9iamVjdCwgRlNDS19NU0dfSEFTX0RPVCwgImNvbnRhaW5zICcuJyIpOworCQlyZXR2YWwgKz0gcmVwb3J0KG9wdGlvbnMsIG9pZCwgT0JKX1RSRUUsIEZTQ0tfTVNHX0hBU19ET1QsICJjb250YWlucyAnLiciKTsKIAlpZiAoaGFzX2RvdGRvdCkKLQkJcmV0dmFsICs9IHJlcG9ydChvcHRpb25zLCAmaXRlbS0+b2JqZWN0LCBGU0NLX01TR19IQVNfRE9URE9ULCAiY29udGFpbnMgJy4uJyIpOworCQlyZXR2YWwgKz0gcmVwb3J0KG9wdGlvbnMsIG9pZCwgT0JKX1RSRUUsIEZTQ0tfTVNHX0hBU19ET1RET1QsICJjb250YWlucyAnLi4nIik7CiAJaWYgKGhhc19kb3RnaXQpCi0JCXJldHZhbCArPSByZXBvcnQob3B0aW9ucywgJml0ZW0tPm9iamVjdCwgRlNDS19NU0dfSEFTX0RPVEdJVCwgImNvbnRhaW5zICcuZ2l0JyIpOworCQlyZXR2YWwgKz0gcmVwb3J0KG9wdGlvbnMsIG9pZCwgT0JKX1RSRUUsIEZTQ0tfTVNHX0hBU19ET1RHSVQsICJjb250YWlucyAnLmdpdCciKTsKIAlpZiAoaGFzX3plcm9fcGFkKQotCQlyZXR2YWwgKz0gcmVwb3J0KG9wdGlvbnMsICZpdGVtLT5vYmplY3QsIEZTQ0tfTVNHX1pFUk9fUEFEREVEX0ZJTEVNT0RFLCAiY29udGFpbnMgemVyby1wYWRkZWQgZmlsZSBtb2RlcyIpOworCQlyZXR2YWwgKz0gcmVwb3J0KG9wdGlvbnMsIG9pZCwgT0JKX1RSRUUsIEZTQ0tfTVNHX1pFUk9fUEFEREVEX0ZJTEVNT0RFLCAiY29udGFpbnMgemVyby1wYWRkZWQgZmlsZSBtb2RlcyIpOwogCWlmIChoYXNfYmFkX21vZGVzKQotCQlyZXR2YWwgKz0gcmVwb3J0KG9wdGlvbnMsICZpdGVtLT5vYmplY3QsIEZTQ0tfTVNHX0JBRF9GSUxFTU9ERSwgImNvbnRhaW5zIGJhZCBmaWxlIG1vZGVzIik7CisJCXJldHZhbCArPSByZXBvcnQob3B0aW9ucywgb2lkLCBPQkpfVFJFRSwgRlNDS19NU0dfQkFEX0ZJTEVNT0RFLCAiY29udGFpbnMgYmFkIGZpbGUgbW9kZXMiKTsKIAlpZiAoaGFzX2R1cF9lbnRyaWVzKQotCQlyZXR2YWwgKz0gcmVwb3J0KG9wdGlvbnMsICZpdGVtLT5vYmplY3QsIEZTQ0tfTVNHX0RVUExJQ0FURV9FTlRSSUVTLCAiY29udGFpbnMgZHVwbGljYXRlIGZpbGUgZW50cmllcyIpOworCQlyZXR2YWwgKz0gcmVwb3J0KG9wdGlvbnMsIG9pZCwgT0JKX1RSRUUsIEZTQ0tfTVNHX0RVUExJQ0FURV9FTlRSSUVTLCAiY29udGFpbnMgZHVwbGljYXRlIGZpbGUgZW50cmllcyIpOwogCWlmIChub3RfcHJvcGVybHlfc29ydGVkKQotCQlyZXR2YWwgKz0gcmVwb3J0KG9wdGlvbnMsICZpdGVtLT5vYmplY3QsIEZTQ0tfTVNHX1RSRUVfTk9UX1NPUlRFRCwgIm5vdCBwcm9wZXJseSBzb3J0ZWQiKTsKKwkJcmV0dmFsICs9IHJlcG9ydChvcHRpb25zLCBvaWQsIE9CSl9UUkVFLCBGU0NLX01TR19UUkVFX05PVF9TT1JURUQsICJub3QgcHJvcGVybHkgc29ydGVkIik7CiAJcmV0dXJuIHJldHZhbDsKIH0KIAogc3RhdGljIGludCB2ZXJpZnlfaGVhZGVycyhjb25zdCB2b2lkICpkYXRhLCB1bnNpZ25lZCBsb25nIHNpemUsCi0JCQkgIHN0cnVjdCBvYmplY3QgKm9iaiwgc3RydWN0IGZzY2tfb3B0aW9ucyAqb3B0aW9ucykKKwkJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBlbnVtIG9iamVjdF90eXBlIHR5cGUsCisJCQkgIHN0cnVjdCBmc2NrX29wdGlvbnMgKm9wdGlvbnMpCiB7CiAJY29uc3QgY2hhciAqYnVmZmVyID0gKGNvbnN0IGNoYXIgKilkYXRhOwogCXVuc2lnbmVkIGxvbmcgaTsKQEAgLTcyMSw3ICs3MTMsNyBAQAogCWZvciAoaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKIAkJc3dpdGNoIChidWZmZXJbaV0pIHsKIAkJY2FzZSAnXDAnOgotCQkJcmV0dXJuIHJlcG9ydChvcHRpb25zLCBvYmosCisJCQlyZXR1cm4gcmVwb3J0KG9wdGlvbnMsIG9pZCwgdHlwZSwKIAkJCQlGU0NLX01TR19OVUxfSU5fSEVBREVSLAogCQkJCSJ1bnRlcm1pbmF0ZWQgaGVhZGVyOiBOVUwgYXQgb2Zmc2V0ICVsZCIsIGkpOwogCQljYXNlICdcbic6CkBAIC03MzksMTEgKzczMSwxMyBAQAogCWlmIChzaXplICYmIGJ1ZmZlcltzaXplIC0gMV0gPT0gJ1xuJykKIAkJcmV0dXJuIDA7CiAKLQlyZXR1cm4gcmVwb3J0KG9wdGlvbnMsIG9iaiwKKwlyZXR1cm4gcmVwb3J0KG9wdGlvbnMsIG9pZCwgdHlwZSwKIAkJRlNDS19NU0dfVU5URVJNSU5BVEVEX0hFQURFUiwgInVudGVybWluYXRlZCBoZWFkZXIiKTsKIH0KIAotc3RhdGljIGludCBmc2NrX2lkZW50KGNvbnN0IGNoYXIgKippZGVudCwgc3RydWN0IG9iamVjdCAqb2JqLCBzdHJ1Y3QgZnNja19vcHRpb25zICpvcHRpb25zKQorc3RhdGljIGludCBmc2NrX2lkZW50KGNvbnN0IGNoYXIgKippZGVudCwKKwkJICAgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBlbnVtIG9iamVjdF90eXBlIHR5cGUsCisJCSAgICAgIHN0cnVjdCBmc2NrX29wdGlvbnMgKm9wdGlvbnMpCiB7CiAJY29uc3QgY2hhciAqcCA9ICppZGVudDsKIAljaGFyICplbmQ7CkBAIC03NTMsMjggKzc0NywyOCBAQAogCQkoKmlkZW50KSsrOwogCiAJaWYgKCpwID09ICc8JykKLQkJcmV0dXJuIHJlcG9ydChvcHRpb25zLCBvYmosIEZTQ0tfTVNHX01JU1NJTkdfTkFNRV9CRUZPUkVfRU1BSUwsICJpbnZhbGlkIGF1dGhvci9jb21taXR0ZXIgbGluZSAtIG1pc3Npbmcgc3BhY2UgYmVmb3JlIGVtYWlsIik7CisJCXJldHVybiByZXBvcnQob3B0aW9ucywgb2lkLCB0eXBlLCBGU0NLX01TR19NSVNTSU5HX05BTUVfQkVGT1JFX0VNQUlMLCAiaW52YWxpZCBhdXRob3IvY29tbWl0dGVyIGxpbmUgLSBtaXNzaW5nIHNwYWNlIGJlZm9yZSBlbWFpbCIpOwogCXAgKz0gc3RyY3NwbihwLCAiPD5cbiIpOwogCWlmICgqcCA9PSAnPicpCi0JCXJldHVybiByZXBvcnQob3B0aW9ucywgb2JqLCBGU0NLX01TR19CQURfTkFNRSwgImludmFsaWQgYXV0aG9yL2NvbW1pdHRlciBsaW5lIC0gYmFkIG5hbWUiKTsKKwkJcmV0dXJuIHJlcG9ydChvcHRpb25zLCBvaWQsIHR5cGUsIEZTQ0tfTVNHX0JBRF9OQU1FLCAiaW52YWxpZCBhdXRob3IvY29tbWl0dGVyIGxpbmUgLSBiYWQgbmFtZSIpOwogCWlmICgqcCAhPSAnPCcpCi0JCXJldHVybiByZXBvcnQob3B0aW9ucywgb2JqLCBGU0NLX01TR19NSVNTSU5HX0VNQUlMLCAiaW52YWxpZCBhdXRob3IvY29tbWl0dGVyIGxpbmUgLSBtaXNzaW5nIGVtYWlsIik7CisJCXJldHVybiByZXBvcnQob3B0aW9ucywgb2lkLCB0eXBlLCBGU0NLX01TR19NSVNTSU5HX0VNQUlMLCAiaW52YWxpZCBhdXRob3IvY29tbWl0dGVyIGxpbmUgLSBtaXNzaW5nIGVtYWlsIik7CiAJaWYgKHBbLTFdICE9ICcgJykKLQkJcmV0dXJuIHJlcG9ydChvcHRpb25zLCBvYmosIEZTQ0tfTVNHX01JU1NJTkdfU1BBQ0VfQkVGT1JFX0VNQUlMLCAiaW52YWxpZCBhdXRob3IvY29tbWl0dGVyIGxpbmUgLSBtaXNzaW5nIHNwYWNlIGJlZm9yZSBlbWFpbCIpOworCQlyZXR1cm4gcmVwb3J0KG9wdGlvbnMsIG9pZCwgdHlwZSwgRlNDS19NU0dfTUlTU0lOR19TUEFDRV9CRUZPUkVfRU1BSUwsICJpbnZhbGlkIGF1dGhvci9jb21taXR0ZXIgbGluZSAtIG1pc3Npbmcgc3BhY2UgYmVmb3JlIGVtYWlsIik7CiAJcCsrOwogCXAgKz0gc3RyY3NwbihwLCAiPD5cbiIpOwogCWlmICgqcCAhPSAnPicpCi0JCXJldHVybiByZXBvcnQob3B0aW9ucywgb2JqLCBGU0NLX01TR19CQURfRU1BSUwsICJpbnZhbGlkIGF1dGhvci9jb21taXR0ZXIgbGluZSAtIGJhZCBlbWFpbCIpOworCQlyZXR1cm4gcmVwb3J0KG9wdGlvbnMsIG9pZCwgdHlwZSwgRlNDS19NU0dfQkFEX0VNQUlMLCAiaW52YWxpZCBhdXRob3IvY29tbWl0dGVyIGxpbmUgLSBiYWQgZW1haWwiKTsKIAlwKys7CiAJaWYgKCpwICE9ICcgJykKLQkJcmV0dXJuIHJlcG9ydChvcHRpb25zLCBvYmosIEZTQ0tfTVNHX01JU1NJTkdfU1BBQ0VfQkVGT1JFX0RBVEUsICJpbnZhbGlkIGF1dGhvci9jb21taXR0ZXIgbGluZSAtIG1pc3Npbmcgc3BhY2UgYmVmb3JlIGRhdGUiKTsKKwkJcmV0dXJuIHJlcG9ydChvcHRpb25zLCBvaWQsIHR5cGUsIEZTQ0tfTVNHX01JU1NJTkdfU1BBQ0VfQkVGT1JFX0RBVEUsICJpbnZhbGlkIGF1dGhvci9jb21taXR0ZXIgbGluZSAtIG1pc3Npbmcgc3BhY2UgYmVmb3JlIGRhdGUiKTsKIAlwKys7CiAJaWYgKCpwID09ICcwJyAmJiBwWzFdICE9ICcgJykKLQkJcmV0dXJuIHJlcG9ydChvcHRpb25zLCBvYmosIEZTQ0tfTVNHX1pFUk9fUEFEREVEX0RBVEUsICJpbnZhbGlkIGF1dGhvci9jb21taXR0ZXIgbGluZSAtIHplcm8tcGFkZGVkIGRhdGUiKTsKKwkJcmV0dXJuIHJlcG9ydChvcHRpb25zLCBvaWQsIHR5cGUsIEZTQ0tfTVNHX1pFUk9fUEFEREVEX0RBVEUsICJpbnZhbGlkIGF1dGhvci9jb21taXR0ZXIgbGluZSAtIHplcm8tcGFkZGVkIGRhdGUiKTsKIAlpZiAoZGF0ZV9vdmVyZmxvd3MocGFyc2VfdGltZXN0YW1wKHAsICZlbmQsIDEwKSkpCi0JCXJldHVybiByZXBvcnQob3B0aW9ucywgb2JqLCBGU0NLX01TR19CQURfREFURV9PVkVSRkxPVywgImludmFsaWQgYXV0aG9yL2NvbW1pdHRlciBsaW5lIC0gZGF0ZSBjYXVzZXMgaW50ZWdlciBvdmVyZmxvdyIpOworCQlyZXR1cm4gcmVwb3J0KG9wdGlvbnMsIG9pZCwgdHlwZSwgRlNDS19NU0dfQkFEX0RBVEVfT1ZFUkZMT1csICJpbnZhbGlkIGF1dGhvci9jb21taXR0ZXIgbGluZSAtIGRhdGUgY2F1c2VzIGludGVnZXIgb3ZlcmZsb3ciKTsKIAlpZiAoKGVuZCA9PSBwIHx8ICplbmQgIT0gJyAnKSkKLQkJcmV0dXJuIHJlcG9ydChvcHRpb25zLCBvYmosIEZTQ0tfTVNHX0JBRF9EQVRFLCAiaW52YWxpZCBhdXRob3IvY29tbWl0dGVyIGxpbmUgLSBiYWQgZGF0ZSIpOworCQlyZXR1cm4gcmVwb3J0KG9wdGlvbnMsIG9pZCwgdHlwZSwgRlNDS19NU0dfQkFEX0RBVEUsICJpbnZhbGlkIGF1dGhvci9jb21taXR0ZXIgbGluZSAtIGJhZCBkYXRlIik7CiAJcCA9IGVuZCArIDE7CiAJaWYgKCgqcCAhPSAnKycgJiYgKnAgIT0gJy0nKSB8fAogCSAgICAhaXNkaWdpdChwWzFdKSB8fApAQCAtNzgyLDgzICs3NzYsNjAgQEAKIAkgICAgIWlzZGlnaXQocFszXSkgfHwKIAkgICAgIWlzZGlnaXQocFs0XSkgfHwKIAkgICAgKHBbNV0gIT0gJ1xuJykpCi0JCXJldHVybiByZXBvcnQob3B0aW9ucywgb2JqLCBGU0NLX01TR19CQURfVElNRVpPTkUsICJpbnZhbGlkIGF1dGhvci9jb21taXR0ZXIgbGluZSAtIGJhZCB0aW1lIHpvbmUiKTsKKwkJcmV0dXJuIHJlcG9ydChvcHRpb25zLCBvaWQsIHR5cGUsIEZTQ0tfTVNHX0JBRF9USU1FWk9ORSwgImludmFsaWQgYXV0aG9yL2NvbW1pdHRlciBsaW5lIC0gYmFkIHRpbWUgem9uZSIpOwogCXAgKz0gNjsKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBmc2NrX2NvbW1pdF9idWZmZXIoc3RydWN0IGNvbW1pdCAqY29tbWl0LCBjb25zdCBjaGFyICpidWZmZXIsCi0JdW5zaWduZWQgbG9uZyBzaXplLCBzdHJ1Y3QgZnNja19vcHRpb25zICpvcHRpb25zKQorc3RhdGljIGludCBmc2NrX2NvbW1pdChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCSAgICAgICBjb25zdCBjaGFyICpidWZmZXIsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKKwkJICAgICAgIHN0cnVjdCBmc2NrX29wdGlvbnMgKm9wdGlvbnMpCiB7Ci0Jc3RydWN0IG9iamVjdF9pZCB0cmVlX29pZCwgb2lkOwotCXN0cnVjdCBjb21taXRfZ3JhZnQgKmdyYWZ0OwotCXVuc2lnbmVkIHBhcmVudF9jb3VudCwgcGFyZW50X2xpbmVfY291bnQgPSAwLCBhdXRob3JfY291bnQ7CisJc3RydWN0IG9iamVjdF9pZCB0cmVlX29pZCwgcGFyZW50X29pZDsKKwl1bnNpZ25lZCBhdXRob3JfY291bnQ7CiAJaW50IGVycjsKIAljb25zdCBjaGFyICpidWZmZXJfYmVnaW4gPSBidWZmZXI7CiAJY29uc3QgY2hhciAqcDsKIAotCWlmICh2ZXJpZnlfaGVhZGVycyhidWZmZXIsIHNpemUsICZjb21taXQtPm9iamVjdCwgb3B0aW9ucykpCisJaWYgKHZlcmlmeV9oZWFkZXJzKGJ1ZmZlciwgc2l6ZSwgb2lkLCBPQkpfQ09NTUlULCBvcHRpb25zKSkKIAkJcmV0dXJuIC0xOwogCiAJaWYgKCFza2lwX3ByZWZpeChidWZmZXIsICJ0cmVlICIsICZidWZmZXIpKQotCQlyZXR1cm4gcmVwb3J0KG9wdGlvbnMsICZjb21taXQtPm9iamVjdCwgRlNDS19NU0dfTUlTU0lOR19UUkVFLCAiaW52YWxpZCBmb3JtYXQgLSBleHBlY3RlZCAndHJlZScgbGluZSIpOworCQlyZXR1cm4gcmVwb3J0KG9wdGlvbnMsIG9pZCwgT0JKX0NPTU1JVCwgRlNDS19NU0dfTUlTU0lOR19UUkVFLCAiaW52YWxpZCBmb3JtYXQgLSBleHBlY3RlZCAndHJlZScgbGluZSIpOwogCWlmIChwYXJzZV9vaWRfaGV4KGJ1ZmZlciwgJnRyZWVfb2lkLCAmcCkgfHwgKnAgIT0gJ1xuJykgewotCQllcnIgPSByZXBvcnQob3B0aW9ucywgJmNvbW1pdC0+b2JqZWN0LCBGU0NLX01TR19CQURfVFJFRV9TSEExLCAiaW52YWxpZCAndHJlZScgbGluZSBmb3JtYXQgLSBiYWQgc2hhMSIpOworCQllcnIgPSByZXBvcnQob3B0aW9ucywgb2lkLCBPQkpfQ09NTUlULCBGU0NLX01TR19CQURfVFJFRV9TSEExLCAiaW52YWxpZCAndHJlZScgbGluZSBmb3JtYXQgLSBiYWQgc2hhMSIpOwogCQlpZiAoZXJyKQogCQkJcmV0dXJuIGVycjsKIAl9CiAJYnVmZmVyID0gcCArIDE7CiAJd2hpbGUgKHNraXBfcHJlZml4KGJ1ZmZlciwgInBhcmVudCAiLCAmYnVmZmVyKSkgewotCQlpZiAocGFyc2Vfb2lkX2hleChidWZmZXIsICZvaWQsICZwKSB8fCAqcCAhPSAnXG4nKSB7Ci0JCQllcnIgPSByZXBvcnQob3B0aW9ucywgJmNvbW1pdC0+b2JqZWN0LCBGU0NLX01TR19CQURfUEFSRU5UX1NIQTEsICJpbnZhbGlkICdwYXJlbnQnIGxpbmUgZm9ybWF0IC0gYmFkIHNoYTEiKTsKKwkJaWYgKHBhcnNlX29pZF9oZXgoYnVmZmVyLCAmcGFyZW50X29pZCwgJnApIHx8ICpwICE9ICdcbicpIHsKKwkJCWVyciA9IHJlcG9ydChvcHRpb25zLCBvaWQsIE9CSl9DT01NSVQsIEZTQ0tfTVNHX0JBRF9QQVJFTlRfU0hBMSwgImludmFsaWQgJ3BhcmVudCcgbGluZSBmb3JtYXQgLSBiYWQgc2hhMSIpOwogCQkJaWYgKGVycikKIAkJCQlyZXR1cm4gZXJyOwogCQl9CiAJCWJ1ZmZlciA9IHAgKyAxOwotCQlwYXJlbnRfbGluZV9jb3VudCsrOwotCX0KLQlncmFmdCA9IGxvb2t1cF9jb21taXRfZ3JhZnQodGhlX3JlcG9zaXRvcnksICZjb21taXQtPm9iamVjdC5vaWQpOwotCXBhcmVudF9jb3VudCA9IGNvbW1pdF9saXN0X2NvdW50KGNvbW1pdC0+cGFyZW50cyk7Ci0JaWYgKGdyYWZ0KSB7Ci0JCWlmIChncmFmdC0+bnJfcGFyZW50ID09IC0xICYmICFwYXJlbnRfY291bnQpCi0JCQk7IC8qIHNoYWxsb3cgY29tbWl0ICovCi0JCWVsc2UgaWYgKGdyYWZ0LT5ucl9wYXJlbnQgIT0gcGFyZW50X2NvdW50KSB7Ci0JCQllcnIgPSByZXBvcnQob3B0aW9ucywgJmNvbW1pdC0+b2JqZWN0LCBGU0NLX01TR19NSVNTSU5HX0dSQUZULCAiZ3JhZnQgb2JqZWN0cyBtaXNzaW5nIik7Ci0JCQlpZiAoZXJyKQotCQkJCXJldHVybiBlcnI7Ci0JCX0KLQl9IGVsc2UgewotCQlpZiAocGFyZW50X2NvdW50ICE9IHBhcmVudF9saW5lX2NvdW50KSB7Ci0JCQllcnIgPSByZXBvcnQob3B0aW9ucywgJmNvbW1pdC0+b2JqZWN0LCBGU0NLX01TR19NSVNTSU5HX1BBUkVOVCwgInBhcmVudCBvYmplY3RzIG1pc3NpbmciKTsKLQkJCWlmIChlcnIpCi0JCQkJcmV0dXJuIGVycjsKLQkJfQogCX0KIAlhdXRob3JfY291bnQgPSAwOwogCXdoaWxlIChza2lwX3ByZWZpeChidWZmZXIsICJhdXRob3IgIiwgJmJ1ZmZlcikpIHsKIAkJYXV0aG9yX2NvdW50Kys7Ci0JCWVyciA9IGZzY2tfaWRlbnQoJmJ1ZmZlciwgJmNvbW1pdC0+b2JqZWN0LCBvcHRpb25zKTsKKwkJZXJyID0gZnNja19pZGVudCgmYnVmZmVyLCBvaWQsIE9CSl9DT01NSVQsIG9wdGlvbnMpOwogCQlpZiAoZXJyKQogCQkJcmV0dXJuIGVycjsKIAl9CiAJaWYgKGF1dGhvcl9jb3VudCA8IDEpCi0JCWVyciA9IHJlcG9ydChvcHRpb25zLCAmY29tbWl0LT5vYmplY3QsIEZTQ0tfTVNHX01JU1NJTkdfQVVUSE9SLCAiaW52YWxpZCBmb3JtYXQgLSBleHBlY3RlZCAnYXV0aG9yJyBsaW5lIik7CisJCWVyciA9IHJlcG9ydChvcHRpb25zLCBvaWQsIE9CSl9DT01NSVQsIEZTQ0tfTVNHX01JU1NJTkdfQVVUSE9SLCAiaW52YWxpZCBmb3JtYXQgLSBleHBlY3RlZCAnYXV0aG9yJyBsaW5lIik7CiAJZWxzZSBpZiAoYXV0aG9yX2NvdW50ID4gMSkKLQkJZXJyID0gcmVwb3J0KG9wdGlvbnMsICZjb21taXQtPm9iamVjdCwgRlNDS19NU0dfTVVMVElQTEVfQVVUSE9SUywgImludmFsaWQgZm9ybWF0IC0gbXVsdGlwbGUgJ2F1dGhvcicgbGluZXMiKTsKKwkJZXJyID0gcmVwb3J0KG9wdGlvbnMsIG9pZCwgT0JKX0NPTU1JVCwgRlNDS19NU0dfTVVMVElQTEVfQVVUSE9SUywgImludmFsaWQgZm9ybWF0IC0gbXVsdGlwbGUgJ2F1dGhvcicgbGluZXMiKTsKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwogCWlmICghc2tpcF9wcmVmaXgoYnVmZmVyLCAiY29tbWl0dGVyICIsICZidWZmZXIpKQotCQlyZXR1cm4gcmVwb3J0KG9wdGlvbnMsICZjb21taXQtPm9iamVjdCwgRlNDS19NU0dfTUlTU0lOR19DT01NSVRURVIsICJpbnZhbGlkIGZvcm1hdCAtIGV4cGVjdGVkICdjb21taXR0ZXInIGxpbmUiKTsKLQllcnIgPSBmc2NrX2lkZW50KCZidWZmZXIsICZjb21taXQtPm9iamVjdCwgb3B0aW9ucyk7CisJCXJldHVybiByZXBvcnQob3B0aW9ucywgb2lkLCBPQkpfQ09NTUlULCBGU0NLX01TR19NSVNTSU5HX0NPTU1JVFRFUiwgImludmFsaWQgZm9ybWF0IC0gZXhwZWN0ZWQgJ2NvbW1pdHRlcicgbGluZSIpOworCWVyciA9IGZzY2tfaWRlbnQoJmJ1ZmZlciwgb2lkLCBPQkpfQ09NTUlULCBvcHRpb25zKTsKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwotCWlmICghZ2V0X2NvbW1pdF90cmVlKGNvbW1pdCkpIHsKLQkJZXJyID0gcmVwb3J0KG9wdGlvbnMsICZjb21taXQtPm9iamVjdCwgRlNDS19NU0dfQkFEX1RSRUUsICJjb3VsZCBub3QgbG9hZCBjb21taXQncyB0cmVlICVzIiwgb2lkX3RvX2hleCgmdHJlZV9vaWQpKTsKLQkJaWYgKGVycikKLQkJCXJldHVybiBlcnI7Ci0JfQogCWlmIChtZW1jaHIoYnVmZmVyX2JlZ2luLCAnXDAnLCBzaXplKSkgewotCQllcnIgPSByZXBvcnQob3B0aW9ucywgJmNvbW1pdC0+b2JqZWN0LCBGU0NLX01TR19OVUxfSU5fQ09NTUlULAorCQllcnIgPSByZXBvcnQob3B0aW9ucywgb2lkLCBPQkpfQ09NTUlULCBGU0NLX01TR19OVUxfSU5fQ09NTUlULAogCQkJICAgICAiTlVMIGJ5dGUgaW4gdGhlIGNvbW1pdCBvYmplY3QgYm9keSIpOwogCQlpZiAoZXJyKQogCQkJcmV0dXJuIGVycjsKQEAgLTg2Niw5MSArODM3LDYwIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZnNja19jb21taXQoc3RydWN0IGNvbW1pdCAqY29tbWl0LCBjb25zdCBjaGFyICpkYXRhLAotCXVuc2lnbmVkIGxvbmcgc2l6ZSwgc3RydWN0IGZzY2tfb3B0aW9ucyAqb3B0aW9ucykKK3N0YXRpYyBpbnQgZnNja190YWcoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjb25zdCBjaGFyICpidWZmZXIsCisJCSAgICB1bnNpZ25lZCBsb25nIHNpemUsIHN0cnVjdCBmc2NrX29wdGlvbnMgKm9wdGlvbnMpCiB7Ci0JY29uc3QgY2hhciAqYnVmZmVyID0gZGF0YSA/ICBkYXRhIDogZ2V0X2NvbW1pdF9idWZmZXIoY29tbWl0LCAmc2l6ZSk7Ci0JaW50IHJldCA9IGZzY2tfY29tbWl0X2J1ZmZlcihjb21taXQsIGJ1ZmZlciwgc2l6ZSwgb3B0aW9ucyk7Ci0JaWYgKCFkYXRhKQotCQl1bnVzZV9jb21taXRfYnVmZmVyKGNvbW1pdCwgYnVmZmVyKTsKLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW50IGZzY2tfdGFnX2J1ZmZlcihzdHJ1Y3QgdGFnICp0YWcsIGNvbnN0IGNoYXIgKmRhdGEsCi0JdW5zaWduZWQgbG9uZyBzaXplLCBzdHJ1Y3QgZnNja19vcHRpb25zICpvcHRpb25zKQotewotCXN0cnVjdCBvYmplY3RfaWQgb2lkOworCXN0cnVjdCBvYmplY3RfaWQgdGFnZ2VkX29pZDsKIAlpbnQgcmV0ID0gMDsKLQljb25zdCBjaGFyICpidWZmZXI7Ci0JY2hhciAqdG9fZnJlZSA9IE5VTEwsICplb2w7CisJY2hhciAqZW9sOwogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKIAljb25zdCBjaGFyICpwOwogCi0JaWYgKGRhdGEpCi0JCWJ1ZmZlciA9IGRhdGE7Ci0JZWxzZSB7Ci0JCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKLQotCQlidWZmZXIgPSB0b19mcmVlID0KLQkJCXJlYWRfb2JqZWN0X2ZpbGUoJnRhZy0+b2JqZWN0Lm9pZCwgJnR5cGUsICZzaXplKTsKLQkJaWYgKCFidWZmZXIpCi0JCQlyZXR1cm4gcmVwb3J0KG9wdGlvbnMsICZ0YWctPm9iamVjdCwKLQkJCQlGU0NLX01TR19NSVNTSU5HX1RBR19PQkpFQ1QsCi0JCQkJImNhbm5vdCByZWFkIHRhZyBvYmplY3QiKTsKLQotCQlpZiAodHlwZSAhPSBPQkpfVEFHKSB7Ci0JCQlyZXQgPSByZXBvcnQob3B0aW9ucywgJnRhZy0+b2JqZWN0LAotCQkJCUZTQ0tfTVNHX1RBR19PQkpFQ1RfTk9UX1RBRywKLQkJCQkiZXhwZWN0ZWQgdGFnIGdvdCAlcyIsCi0JCQkgICAgdHlwZV9uYW1lKHR5cGUpKTsKLQkJCWdvdG8gZG9uZTsKLQkJfQotCX0KLQotCXJldCA9IHZlcmlmeV9oZWFkZXJzKGJ1ZmZlciwgc2l6ZSwgJnRhZy0+b2JqZWN0LCBvcHRpb25zKTsKKwlyZXQgPSB2ZXJpZnlfaGVhZGVycyhidWZmZXIsIHNpemUsIG9pZCwgT0JKX1RBRywgb3B0aW9ucyk7CiAJaWYgKHJldCkKIAkJZ290byBkb25lOwogCiAJaWYgKCFza2lwX3ByZWZpeChidWZmZXIsICJvYmplY3QgIiwgJmJ1ZmZlcikpIHsKLQkJcmV0ID0gcmVwb3J0KG9wdGlvbnMsICZ0YWctPm9iamVjdCwgRlNDS19NU0dfTUlTU0lOR19PQkpFQ1QsICJpbnZhbGlkIGZvcm1hdCAtIGV4cGVjdGVkICdvYmplY3QnIGxpbmUiKTsKKwkJcmV0ID0gcmVwb3J0KG9wdGlvbnMsIG9pZCwgT0JKX1RBRywgRlNDS19NU0dfTUlTU0lOR19PQkpFQ1QsICJpbnZhbGlkIGZvcm1hdCAtIGV4cGVjdGVkICdvYmplY3QnIGxpbmUiKTsKIAkJZ290byBkb25lOwogCX0KLQlpZiAocGFyc2Vfb2lkX2hleChidWZmZXIsICZvaWQsICZwKSB8fCAqcCAhPSAnXG4nKSB7Ci0JCXJldCA9IHJlcG9ydChvcHRpb25zLCAmdGFnLT5vYmplY3QsIEZTQ0tfTVNHX0JBRF9PQkpFQ1RfU0hBMSwgImludmFsaWQgJ29iamVjdCcgbGluZSBmb3JtYXQgLSBiYWQgc2hhMSIpOworCWlmIChwYXJzZV9vaWRfaGV4KGJ1ZmZlciwgJnRhZ2dlZF9vaWQsICZwKSB8fCAqcCAhPSAnXG4nKSB7CisJCXJldCA9IHJlcG9ydChvcHRpb25zLCBvaWQsIE9CSl9UQUcsIEZTQ0tfTVNHX0JBRF9PQkpFQ1RfU0hBMSwgImludmFsaWQgJ29iamVjdCcgbGluZSBmb3JtYXQgLSBiYWQgc2hhMSIpOwogCQlpZiAocmV0KQogCQkJZ290byBkb25lOwogCX0KIAlidWZmZXIgPSBwICsgMTsKIAogCWlmICghc2tpcF9wcmVmaXgoYnVmZmVyLCAidHlwZSAiLCAmYnVmZmVyKSkgewotCQlyZXQgPSByZXBvcnQob3B0aW9ucywgJnRhZy0+b2JqZWN0LCBGU0NLX01TR19NSVNTSU5HX1RZUEVfRU5UUlksICJpbnZhbGlkIGZvcm1hdCAtIGV4cGVjdGVkICd0eXBlJyBsaW5lIik7CisJCXJldCA9IHJlcG9ydChvcHRpb25zLCBvaWQsIE9CSl9UQUcsIEZTQ0tfTVNHX01JU1NJTkdfVFlQRV9FTlRSWSwgImludmFsaWQgZm9ybWF0IC0gZXhwZWN0ZWQgJ3R5cGUnIGxpbmUiKTsKIAkJZ290byBkb25lOwogCX0KIAllb2wgPSBzdHJjaHIoYnVmZmVyLCAnXG4nKTsKIAlpZiAoIWVvbCkgewotCQlyZXQgPSByZXBvcnQob3B0aW9ucywgJnRhZy0+b2JqZWN0LCBGU0NLX01TR19NSVNTSU5HX1RZUEUsICJpbnZhbGlkIGZvcm1hdCAtIHVuZXhwZWN0ZWQgZW5kIGFmdGVyICd0eXBlJyBsaW5lIik7CisJCXJldCA9IHJlcG9ydChvcHRpb25zLCBvaWQsIE9CSl9UQUcsIEZTQ0tfTVNHX01JU1NJTkdfVFlQRSwgImludmFsaWQgZm9ybWF0IC0gdW5leHBlY3RlZCBlbmQgYWZ0ZXIgJ3R5cGUnIGxpbmUiKTsKIAkJZ290byBkb25lOwogCX0KIAlpZiAodHlwZV9mcm9tX3N0cmluZ19nZW50bHkoYnVmZmVyLCBlb2wgLSBidWZmZXIsIDEpIDwgMCkKLQkJcmV0ID0gcmVwb3J0KG9wdGlvbnMsICZ0YWctPm9iamVjdCwgRlNDS19NU0dfQkFEX1RZUEUsICJpbnZhbGlkICd0eXBlJyB2YWx1ZSIpOworCQlyZXQgPSByZXBvcnQob3B0aW9ucywgb2lkLCBPQkpfVEFHLCBGU0NLX01TR19CQURfVFlQRSwgImludmFsaWQgJ3R5cGUnIHZhbHVlIik7CiAJaWYgKHJldCkKIAkJZ290byBkb25lOwogCWJ1ZmZlciA9IGVvbCArIDE7CiAKIAlpZiAoIXNraXBfcHJlZml4KGJ1ZmZlciwgInRhZyAiLCAmYnVmZmVyKSkgewotCQlyZXQgPSByZXBvcnQob3B0aW9ucywgJnRhZy0+b2JqZWN0LCBGU0NLX01TR19NSVNTSU5HX1RBR19FTlRSWSwgImludmFsaWQgZm9ybWF0IC0gZXhwZWN0ZWQgJ3RhZycgbGluZSIpOworCQlyZXQgPSByZXBvcnQob3B0aW9ucywgb2lkLCBPQkpfVEFHLCBGU0NLX01TR19NSVNTSU5HX1RBR19FTlRSWSwgImludmFsaWQgZm9ybWF0IC0gZXhwZWN0ZWQgJ3RhZycgbGluZSIpOwogCQlnb3RvIGRvbmU7CiAJfQogCWVvbCA9IHN0cmNocihidWZmZXIsICdcbicpOwogCWlmICghZW9sKSB7Ci0JCXJldCA9IHJlcG9ydChvcHRpb25zLCAmdGFnLT5vYmplY3QsIEZTQ0tfTVNHX01JU1NJTkdfVEFHLCAiaW52YWxpZCBmb3JtYXQgLSB1bmV4cGVjdGVkIGVuZCBhZnRlciAndHlwZScgbGluZSIpOworCQlyZXQgPSByZXBvcnQob3B0aW9ucywgb2lkLCBPQkpfVEFHLCBGU0NLX01TR19NSVNTSU5HX1RBRywgImludmFsaWQgZm9ybWF0IC0gdW5leHBlY3RlZCBlbmQgYWZ0ZXIgJ3R5cGUnIGxpbmUiKTsKIAkJZ290byBkb25lOwogCX0KIAlzdHJidWZfYWRkZigmc2IsICJyZWZzL3RhZ3MvJS4qcyIsIChpbnQpKGVvbCAtIGJ1ZmZlciksIGJ1ZmZlcik7CiAJaWYgKGNoZWNrX3JlZm5hbWVfZm9ybWF0KHNiLmJ1ZiwgMCkpIHsKLQkJcmV0ID0gcmVwb3J0KG9wdGlvbnMsICZ0YWctPm9iamVjdCwgRlNDS19NU0dfQkFEX1RBR19OQU1FLAotCQkJICAgImludmFsaWQgJ3RhZycgbmFtZTogJS4qcyIsCi0JCQkgICAoaW50KShlb2wgLSBidWZmZXIpLCBidWZmZXIpOworCQlyZXQgPSByZXBvcnQob3B0aW9ucywgb2lkLCBPQkpfVEFHLAorCQkJICAgICBGU0NLX01TR19CQURfVEFHX05BTUUsCisJCQkgICAgICJpbnZhbGlkICd0YWcnIG5hbWU6ICUuKnMiLAorCQkJICAgICAoaW50KShlb2wgLSBidWZmZXIpLCBidWZmZXIpOwogCQlpZiAocmV0KQogCQkJZ290byBkb25lOwogCX0KQEAgLTk1OCwzMiArODk4LDIwIEBACiAKIAlpZiAoIXNraXBfcHJlZml4KGJ1ZmZlciwgInRhZ2dlciAiLCAmYnVmZmVyKSkgewogCQkvKiBlYXJseSB0YWdzIGRvIG5vdCBjb250YWluICd0YWdnZXInIGxpbmVzOyB3YXJuIG9ubHkgKi8KLQkJcmV0ID0gcmVwb3J0KG9wdGlvbnMsICZ0YWctPm9iamVjdCwgRlNDS19NU0dfTUlTU0lOR19UQUdHRVJfRU5UUlksICJpbnZhbGlkIGZvcm1hdCAtIGV4cGVjdGVkICd0YWdnZXInIGxpbmUiKTsKKwkJcmV0ID0gcmVwb3J0KG9wdGlvbnMsIG9pZCwgT0JKX1RBRywgRlNDS19NU0dfTUlTU0lOR19UQUdHRVJfRU5UUlksICJpbnZhbGlkIGZvcm1hdCAtIGV4cGVjdGVkICd0YWdnZXInIGxpbmUiKTsKIAkJaWYgKHJldCkKIAkJCWdvdG8gZG9uZTsKIAl9CiAJZWxzZQotCQlyZXQgPSBmc2NrX2lkZW50KCZidWZmZXIsICZ0YWctPm9iamVjdCwgb3B0aW9ucyk7CisJCXJldCA9IGZzY2tfaWRlbnQoJmJ1ZmZlciwgb2lkLCBPQkpfVEFHLCBvcHRpb25zKTsKIAogZG9uZToKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwotCWZyZWUodG9fZnJlZSk7CiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGludCBmc2NrX3RhZyhzdHJ1Y3QgdGFnICp0YWcsIGNvbnN0IGNoYXIgKmRhdGEsCi0JdW5zaWduZWQgbG9uZyBzaXplLCBzdHJ1Y3QgZnNja19vcHRpb25zICpvcHRpb25zKQotewotCXN0cnVjdCBvYmplY3QgKnRhZ2dlZCA9IHRhZy0+dGFnZ2VkOwotCi0JaWYgKCF0YWdnZWQpCi0JCXJldHVybiByZXBvcnQob3B0aW9ucywgJnRhZy0+b2JqZWN0LCBGU0NLX01TR19CQURfVEFHX09CSkVDVCwgImNvdWxkIG5vdCBsb2FkIHRhZ2dlZCBvYmplY3QiKTsKLQotCXJldHVybiBmc2NrX3RhZ19idWZmZXIodGFnLCBkYXRhLCBzaXplLCBvcHRpb25zKTsKLX0KLQogc3RydWN0IGZzY2tfZ2l0bW9kdWxlc19kYXRhIHsKLQlzdHJ1Y3Qgb2JqZWN0ICpvYmo7CisJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkOwogCXN0cnVjdCBmc2NrX29wdGlvbnMgKm9wdGlvbnM7CiAJaW50IHJldDsKIH07CkBAIC0xMDAxLDI1ICs5MjksMjggQEAKIAogCW5hbWUgPSB4bWVtZHVweihzdWJzZWN0aW9uLCBzdWJzZWN0aW9uX2xlbik7CiAJaWYgKGNoZWNrX3N1Ym1vZHVsZV9uYW1lKG5hbWUpIDwgMCkKLQkJZGF0YS0+cmV0IHw9IHJlcG9ydChkYXRhLT5vcHRpb25zLCBkYXRhLT5vYmosCisJCWRhdGEtPnJldCB8PSByZXBvcnQoZGF0YS0+b3B0aW9ucywKKwkJCQkgICAgZGF0YS0+b2lkLCBPQkpfQkxPQiwKIAkJCQkgICAgRlNDS19NU0dfR0lUTU9EVUxFU19OQU1FLAogCQkJCSAgICAiZGlzYWxsb3dlZCBzdWJtb2R1bGUgbmFtZTogJXMiLAogCQkJCSAgICBuYW1lKTsKIAlpZiAoIXN0cmNtcChrZXksICJ1cmwiKSAmJiB2YWx1ZSAmJgogCSAgICBsb29rc19saWtlX2NvbW1hbmRfbGluZV9vcHRpb24odmFsdWUpKQotCQlkYXRhLT5yZXQgfD0gcmVwb3J0KGRhdGEtPm9wdGlvbnMsIGRhdGEtPm9iaiwKKwkJZGF0YS0+cmV0IHw9IHJlcG9ydChkYXRhLT5vcHRpb25zLAorCQkJCSAgICBkYXRhLT5vaWQsIE9CSl9CTE9CLAogCQkJCSAgICBGU0NLX01TR19HSVRNT0RVTEVTX1VSTCwKIAkJCQkgICAgImRpc2FsbG93ZWQgc3VibW9kdWxlIHVybDogJXMiLAogCQkJCSAgICB2YWx1ZSk7CiAJaWYgKCFzdHJjbXAoa2V5LCAicGF0aCIpICYmIHZhbHVlICYmCiAJICAgIGxvb2tzX2xpa2VfY29tbWFuZF9saW5lX29wdGlvbih2YWx1ZSkpCi0JCWRhdGEtPnJldCB8PSByZXBvcnQoZGF0YS0+b3B0aW9ucywgZGF0YS0+b2JqLAorCQlkYXRhLT5yZXQgfD0gcmVwb3J0KGRhdGEtPm9wdGlvbnMsCisJCQkJICAgIGRhdGEtPm9pZCwgT0JKX0JMT0IsCiAJCQkJICAgIEZTQ0tfTVNHX0dJVE1PRFVMRVNfUEFUSCwKIAkJCQkgICAgImRpc2FsbG93ZWQgc3VibW9kdWxlIHBhdGg6ICVzIiwKIAkJCQkgICAgdmFsdWUpOwogCWlmICghc3RyY21wKGtleSwgInVwZGF0ZSIpICYmIHZhbHVlICYmCiAJICAgIHBhcnNlX3N1Ym1vZHVsZV91cGRhdGVfdHlwZSh2YWx1ZSkgPT0gU01fVVBEQVRFX0NPTU1BTkQpCi0JCWRhdGEtPnJldCB8PSByZXBvcnQoZGF0YS0+b3B0aW9ucywgZGF0YS0+b2JqLAorCQlkYXRhLT5yZXQgfD0gcmVwb3J0KGRhdGEtPm9wdGlvbnMsIGRhdGEtPm9pZCwgT0JKX0JMT0IsCiAJCQkJICAgIEZTQ0tfTVNHX0dJVE1PRFVMRVNfVVBEQVRFLAogCQkJCSAgICAiZGlzYWxsb3dlZCBzdWJtb2R1bGUgdXBkYXRlIHNldHRpbmc6ICVzIiwKIAkJCQkgICAgdmFsdWUpOwpAQCAtMTAyOCwxNyArOTU5LDE3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZnNja19ibG9iKHN0cnVjdCBibG9iICpibG9iLCBjb25zdCBjaGFyICpidWYsCitzdGF0aWMgaW50IGZzY2tfYmxvYihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKmJ1ZiwKIAkJICAgICB1bnNpZ25lZCBsb25nIHNpemUsIHN0cnVjdCBmc2NrX29wdGlvbnMgKm9wdGlvbnMpCiB7CiAJc3RydWN0IGZzY2tfZ2l0bW9kdWxlc19kYXRhIGRhdGE7CiAJc3RydWN0IGNvbmZpZ19vcHRpb25zIGNvbmZpZ19vcHRzID0geyAwIH07CiAKLQlpZiAoIW9pZHNldF9jb250YWlucygmZ2l0bW9kdWxlc19mb3VuZCwgJmJsb2ItPm9iamVjdC5vaWQpKQorCWlmICghb2lkc2V0X2NvbnRhaW5zKCZnaXRtb2R1bGVzX2ZvdW5kLCBvaWQpKQogCQlyZXR1cm4gMDsKLQlvaWRzZXRfaW5zZXJ0KCZnaXRtb2R1bGVzX2RvbmUsICZibG9iLT5vYmplY3Qub2lkKTsKKwlvaWRzZXRfaW5zZXJ0KCZnaXRtb2R1bGVzX2RvbmUsIG9pZCk7CiAKLQlpZiAob2JqZWN0X29uX3NraXBsaXN0KG9wdGlvbnMsICZibG9iLT5vYmplY3QpKQorCWlmIChvYmplY3Rfb25fc2tpcGxpc3Qob3B0aW9ucywgb2lkKSkKIAkJcmV0dXJuIDA7CiAKIAlpZiAoIWJ1ZikgewpAQCAtMTA0NywxOCArOTc4LDE4IEBACiAJCSAqIGJsb2IgdG9vIGdpZ2FudGljIHRvIGxvYWQgaW50byBtZW1vcnkuIExldCdzIGp1c3QgY29uc2lkZXIKIAkJICogdGhhdCBhbiBlcnJvci4KIAkJICovCi0JCXJldHVybiByZXBvcnQob3B0aW9ucywgJmJsb2ItPm9iamVjdCwKKwkJcmV0dXJuIHJlcG9ydChvcHRpb25zLCBvaWQsIE9CSl9CTE9CLAogCQkJICAgICAgRlNDS19NU0dfR0lUTU9EVUxFU19MQVJHRSwKIAkJCSAgICAgICIuZ2l0bW9kdWxlcyB0b28gbGFyZ2UgdG8gcGFyc2UiKTsKIAl9CiAKLQlkYXRhLm9iaiA9ICZibG9iLT5vYmplY3Q7CisJZGF0YS5vaWQgPSBvaWQ7CiAJZGF0YS5vcHRpb25zID0gb3B0aW9uczsKIAlkYXRhLnJldCA9IDA7CiAJY29uZmlnX29wdHMuZXJyb3JfYWN0aW9uID0gQ09ORklHX0VSUk9SX1NJTEVOVDsKIAlpZiAoZ2l0X2NvbmZpZ19mcm9tX21lbShmc2NrX2dpdG1vZHVsZXNfZm4sIENPTkZJR19PUklHSU5fQkxPQiwKIAkJCQkiLmdpdG1vZHVsZXMiLCBidWYsIHNpemUsICZkYXRhLCAmY29uZmlnX29wdHMpKQotCQlkYXRhLnJldCB8PSByZXBvcnQob3B0aW9ucywgJmJsb2ItPm9iamVjdCwKKwkJZGF0YS5yZXQgfD0gcmVwb3J0KG9wdGlvbnMsIG9pZCwgT0JKX0JMT0IsCiAJCQkJICAgRlNDS19NU0dfR0lUTU9EVUxFU19QQVJTRSwKIAkJCQkgICAiY291bGQgbm90IHBhcnNlIGdpdG1vZHVsZXMgYmxvYiIpOwogCkBAIC0xMDY5LDMxICsxMDAwLDMzIEBACiAJc3RydWN0IGZzY2tfb3B0aW9ucyAqb3B0aW9ucykKIHsKIAlpZiAoIW9iaikKLQkJcmV0dXJuIHJlcG9ydChvcHRpb25zLCBvYmosIEZTQ0tfTVNHX0JBRF9PQkpFQ1RfU0hBMSwgIm5vIHZhbGlkIG9iamVjdCB0byBmc2NrIik7CisJCXJldHVybiByZXBvcnQob3B0aW9ucywgTlVMTCwgT0JKX05PTkUsIEZTQ0tfTVNHX0JBRF9PQkpFQ1RfU0hBMSwgIm5vIHZhbGlkIG9iamVjdCB0byBmc2NrIik7CiAKIAlpZiAob2JqLT50eXBlID09IE9CSl9CTE9CKQotCQlyZXR1cm4gZnNja19ibG9iKChzdHJ1Y3QgYmxvYiAqKW9iaiwgZGF0YSwgc2l6ZSwgb3B0aW9ucyk7CisJCXJldHVybiBmc2NrX2Jsb2IoJm9iai0+b2lkLCBkYXRhLCBzaXplLCBvcHRpb25zKTsKIAlpZiAob2JqLT50eXBlID09IE9CSl9UUkVFKQotCQlyZXR1cm4gZnNja190cmVlKChzdHJ1Y3QgdHJlZSAqKSBvYmosIG9wdGlvbnMpOworCQlyZXR1cm4gZnNja190cmVlKCZvYmotPm9pZCwgZGF0YSwgc2l6ZSwgb3B0aW9ucyk7CiAJaWYgKG9iai0+dHlwZSA9PSBPQkpfQ09NTUlUKQotCQlyZXR1cm4gZnNja19jb21taXQoKHN0cnVjdCBjb21taXQgKikgb2JqLCAoY29uc3QgY2hhciAqKSBkYXRhLAotCQkJc2l6ZSwgb3B0aW9ucyk7CisJCXJldHVybiBmc2NrX2NvbW1pdCgmb2JqLT5vaWQsIGRhdGEsIHNpemUsIG9wdGlvbnMpOwogCWlmIChvYmotPnR5cGUgPT0gT0JKX1RBRykKLQkJcmV0dXJuIGZzY2tfdGFnKChzdHJ1Y3QgdGFnICopIG9iaiwgKGNvbnN0IGNoYXIgKikgZGF0YSwKLQkJCXNpemUsIG9wdGlvbnMpOworCQlyZXR1cm4gZnNja190YWcoJm9iai0+b2lkLCBkYXRhLCBzaXplLCBvcHRpb25zKTsKIAotCXJldHVybiByZXBvcnQob3B0aW9ucywgb2JqLCBGU0NLX01TR19VTktOT1dOX1RZUEUsICJ1bmtub3duIHR5cGUgJyVkJyAoaW50ZXJuYWwgZnNjayBlcnJvcikiLAotCQkJICBvYmotPnR5cGUpOworCXJldHVybiByZXBvcnQob3B0aW9ucywgJm9iai0+b2lkLCBvYmotPnR5cGUsCisJCSAgICAgIEZTQ0tfTVNHX1VOS05PV05fVFlQRSwKKwkJICAgICAgInVua25vd24gdHlwZSAnJWQnIChpbnRlcm5hbCBmc2NrIGVycm9yKSIsCisJCSAgICAgIG9iai0+dHlwZSk7CiB9CiAKIGludCBmc2NrX2Vycm9yX2Z1bmN0aW9uKHN0cnVjdCBmc2NrX29wdGlvbnMgKm8sCi0Jc3RydWN0IG9iamVjdCAqb2JqLCBpbnQgbXNnX3R5cGUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UpCisJCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQllbnVtIG9iamVjdF90eXBlIG9iamVjdF90eXBlLAorCQkJaW50IG1zZ190eXBlLCBjb25zdCBjaGFyICptZXNzYWdlKQogewogCWlmIChtc2dfdHlwZSA9PSBGU0NLX1dBUk4pIHsKLQkJd2FybmluZygib2JqZWN0ICVzOiAlcyIsIGRlc2NyaWJlX29iamVjdChvLCBvYmopLCBtZXNzYWdlKTsKKwkJd2FybmluZygib2JqZWN0ICVzOiAlcyIsIGZzY2tfZGVzY3JpYmVfb2JqZWN0KG8sIG9pZCksIG1lc3NhZ2UpOwogCQlyZXR1cm4gMDsKIAl9Ci0JZXJyb3IoIm9iamVjdCAlczogJXMiLCBkZXNjcmliZV9vYmplY3Qobywgb2JqKSwgbWVzc2FnZSk7CisJZXJyb3IoIm9iamVjdCAlczogJXMiLCBmc2NrX2Rlc2NyaWJlX29iamVjdChvLCBvaWQpLCBtZXNzYWdlKTsKIAlyZXR1cm4gMTsKIH0KIApAQCAtMTEwNSw3ICsxMDM4LDYgQEAKIAogCW9pZHNldF9pdGVyX2luaXQoJmdpdG1vZHVsZXNfZm91bmQsICZpdGVyKTsKIAl3aGlsZSAoKG9pZCA9IG9pZHNldF9pdGVyX25leHQoJml0ZXIpKSkgewotCQlzdHJ1Y3QgYmxvYiAqYmxvYjsKIAkJZW51bSBvYmplY3RfdHlwZSB0eXBlOwogCQl1bnNpZ25lZCBsb25nIHNpemU7CiAJCWNoYXIgKmJ1ZjsKQEAgLTExMTMsMjkgKzEwNDUsMjIgQEAKIAkJaWYgKG9pZHNldF9jb250YWlucygmZ2l0bW9kdWxlc19kb25lLCBvaWQpKQogCQkJY29udGludWU7CiAKLQkJYmxvYiA9IGxvb2t1cF9ibG9iKHRoZV9yZXBvc2l0b3J5LCBvaWQpOwotCQlpZiAoIWJsb2IpIHsKLQkJCXN0cnVjdCBvYmplY3QgKm9iaiA9IGxvb2t1cF91bmtub3duX29iamVjdChvaWQtPmhhc2gpOwotCQkJcmV0IHw9IHJlcG9ydChvcHRpb25zLCBvYmosCi0JCQkJICAgICAgRlNDS19NU0dfR0lUTU9EVUxFU19CTE9CLAotCQkJCSAgICAgICJub24tYmxvYiBmb3VuZCBhdCAuZ2l0bW9kdWxlcyIpOwotCQkJY29udGludWU7Ci0JCX0KLQogCQlidWYgPSByZWFkX29iamVjdF9maWxlKG9pZCwgJnR5cGUsICZzaXplKTsKIAkJaWYgKCFidWYpIHsKLQkJCWlmIChpc19wcm9taXNvcl9vYmplY3QoJmJsb2ItPm9iamVjdC5vaWQpKQorCQkJaWYgKGlzX3Byb21pc29yX29iamVjdChvaWQpKQogCQkJCWNvbnRpbnVlOwotCQkJcmV0IHw9IHJlcG9ydChvcHRpb25zLCAmYmxvYi0+b2JqZWN0LAorCQkJcmV0IHw9IHJlcG9ydChvcHRpb25zLAorCQkJCSAgICAgIG9pZCwgT0JKX0JMT0IsCiAJCQkJICAgICAgRlNDS19NU0dfR0lUTU9EVUxFU19NSVNTSU5HLAogCQkJCSAgICAgICJ1bmFibGUgdG8gcmVhZCAuZ2l0bW9kdWxlcyBibG9iIik7CiAJCQljb250aW51ZTsKIAkJfQogCiAJCWlmICh0eXBlID09IE9CSl9CTE9CKQotCQkJcmV0IHw9IGZzY2tfYmxvYihibG9iLCBidWYsIHNpemUsIG9wdGlvbnMpOworCQkJcmV0IHw9IGZzY2tfYmxvYihvaWQsIGJ1Ziwgc2l6ZSwgb3B0aW9ucyk7CiAJCWVsc2UKLQkJCXJldCB8PSByZXBvcnQob3B0aW9ucywgJmJsb2ItPm9iamVjdCwKKwkJCXJldCB8PSByZXBvcnQob3B0aW9ucywKKwkJCQkgICAgICBvaWQsIHR5cGUsCiAJCQkJICAgICAgRlNDS19NU0dfR0lUTU9EVUxFU19CTE9CLAogCQkJCSAgICAgICJub24tYmxvYiBmb3VuZCBhdCAuZ2l0bW9kdWxlcyIpOwogCQlmcmVlKGJ1Zik7CmRpZmYgLS1naXQgYS9mc2NrLmggYi9mc2NrLmgKaW5kZXggYjk1NTk1YS4uNjljZjcxNSAxMDA2NDQKLS0tIGEvZnNjay5oCisrKyBiL2ZzY2suaApAQCAtMjcsMTAgKzI3LDEyIEBACiAKIC8qIGNhbGxiYWNrIGZvciBmc2NrX29iamVjdCwgdHlwZSBpcyBGU0NLX0VSUk9SIG9yIEZTQ0tfV0FSTiAqLwogdHlwZWRlZiBpbnQgKCpmc2NrX2Vycm9yKShzdHJ1Y3QgZnNja19vcHRpb25zICpvLAotCXN0cnVjdCBvYmplY3QgKm9iaiwgaW50IHR5cGUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOworCQkJICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGVudW0gb2JqZWN0X3R5cGUgb2JqZWN0X3R5cGUsCisJCQkgIGludCBtc2dfdHlwZSwgY29uc3QgY2hhciAqbWVzc2FnZSk7CiAKIGludCBmc2NrX2Vycm9yX2Z1bmN0aW9uKHN0cnVjdCBmc2NrX29wdGlvbnMgKm8sCi0Jc3RydWN0IG9iamVjdCAqb2JqLCBpbnQgdHlwZSwgY29uc3QgY2hhciAqbWVzc2FnZSk7CisJCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGVudW0gb2JqZWN0X3R5cGUgb2JqZWN0X3R5cGUsCisJCQlpbnQgbXNnX3R5cGUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOwogCiBzdHJ1Y3QgZnNja19vcHRpb25zIHsKIAlmc2NrX3dhbGtfZnVuYyB3YWxrOwpAQCAtMzgsNyArNDAsNyBAQAogCXVuc2lnbmVkIHN0cmljdDoxOwogCWludCAqbXNnX3R5cGU7CiAJc3RydWN0IG9pZHNldCBza2lwbGlzdDsKLQlzdHJ1Y3QgZGVjb3JhdGlvbiAqb2JqZWN0X25hbWVzOworCWtoX29pZF9tYXBfdCAqb2JqZWN0X25hbWVzOwogfTsKIAogI2RlZmluZSBGU0NLX09QVElPTlNfREVGQVVMVCB7IE5VTEwsIGZzY2tfZXJyb3JfZnVuY3Rpb24sIDAsIE5VTEwsIE9JRFNFVF9JTklUIH0KQEAgLTUyLDcgKzU0LDExIEBACiAgKiAgICAwCQlldmVyeXRoaW5nIE9LCiAgKi8KIGludCBmc2NrX3dhbGsoc3RydWN0IG9iamVjdCAqb2JqLCB2b2lkICpkYXRhLCBzdHJ1Y3QgZnNja19vcHRpb25zICpvcHRpb25zKTsKLS8qIElmIE5VTEwgaXMgcGFzc2VkIGZvciBkYXRhLCB3ZSBhc3N1bWUgdGhlIG9iamVjdCBpcyBsb2NhbCBhbmQgcmVhZCBpdC4gKi8KKworLyoKKyAqIEJsb2Igb2JqZWN0cyBteSBwYXNzIGEgTlVMTCBkYXRhIHBvaW50ZXIsIHdoaWNoIGluZGljYXRlcyB0aGV5IGFyZSB0b28gbGFyZ2UKKyAqIHRvIGZpdCBpbiBtZW1vcnkuIEFsbCBvdGhlciB0eXBlcyBtdXN0IHBhc3MgYSByZWFsIGJ1ZmZlci4KKyAqLwogaW50IGZzY2tfb2JqZWN0KHN0cnVjdCBvYmplY3QgKm9iaiwgdm9pZCAqZGF0YSwgdW5zaWduZWQgbG9uZyBzaXplLAogCXN0cnVjdCBmc2NrX29wdGlvbnMgKm9wdGlvbnMpOwogCkBAIC02Myw0ICs2OSwyOSBAQAogICovCiBpbnQgZnNja19maW5pc2goc3RydWN0IGZzY2tfb3B0aW9ucyAqb3B0aW9ucyk7CiAKKy8qCisgKiBTdWJzeXN0ZW0gZm9yIHN0b3JpbmcgaHVtYW4tcmVhZGFibGUgbmFtZXMgZm9yIGVhY2ggb2JqZWN0LgorICoKKyAqIElmIGZzY2tfZW5hYmxlX29iamVjdF9uYW1lcygpIGhhcyBub3QgYmVlbiBjYWxsZWQsIGFsbCBvdGhlciBmdW5jdGlvbnMgYXJlCisgKiBub29wcy4KKyAqCisgKiBVc2UgZnNja19wdXRfb2JqZWN0X25hbWUoKSB0byBzZWVkIGluaXRpYWwgbmFtZXMgKGUuZy4gZnJvbSByZWZuYW1lcyk7IHRoZQorICogZnNjayBjb2RlIHdpbGwgZXh0ZW5kIHRoYXQgd2hpbGUgd2Fsa2luZyB0cmVlcywgZXRjLgorICoKKyAqIFVzZSBmc2NrX2dldF9vYmplY3RfbmFtZSgpIHRvIGdldCBhIHNpbmdsZSBuYW1lIChvciBOVUxMIGlmIG5vbmUpLiBPciB0aGUKKyAqIG1vcmUgY29udmVuaWVudCBkZXNjcmliZV9vYmplY3QoKSwgd2hpY2ggYWx3YXlzIHByb2R1Y2VzIGFuIG91dHB1dCBzdHJpbmcKKyAqIHdpdGggdGhlIG9pZCBjb21iaW5lZCB3aXRoIHRoZSBuYW1lIChpZiBhbnkpLiBOb3RlIHRoYXQgdGhlIHJldHVybiB2YWx1ZQorICogcG9pbnRzIHRvIGEgcm90YXRpbmcgYXJyYXkgb2Ygc3RhdGljIGJ1ZmZlcnMsIGFuZCBtYXkgYmUgaW52YWxpZGF0ZWQgYnkgYQorICogc3Vic2VxdWVudCBjYWxsLgorICovCit2b2lkIGZzY2tfZW5hYmxlX29iamVjdF9uYW1lcyhzdHJ1Y3QgZnNja19vcHRpb25zICpvcHRpb25zKTsKK2NvbnN0IGNoYXIgKmZzY2tfZ2V0X29iamVjdF9uYW1lKHN0cnVjdCBmc2NrX29wdGlvbnMgKm9wdGlvbnMsCisJCQkJIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CitfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwzLDQpKSkKK3ZvaWQgZnNja19wdXRfb2JqZWN0X25hbWUoc3RydWN0IGZzY2tfb3B0aW9ucyAqb3B0aW9ucywKKwkJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJICBjb25zdCBjaGFyICpmbXQsIC4uLik7Citjb25zdCBjaGFyICpmc2NrX2Rlc2NyaWJlX29iamVjdChzdHJ1Y3QgZnNja19vcHRpb25zICpvcHRpb25zLAorCQkJCSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2ZzbW9uaXRvci5jIGIvZnNtb25pdG9yLmMKaW5kZXggNjY1YmQyZC4uOTMyYmQ5MCAxMDA2NDQKLS0tIGEvZnNtb25pdG9yLmMKKysrIGIvZnNtb25pdG9yLmMKQEAgLTYsMTkgKzYsNDIgQEAKICNpbmNsdWRlICJydW4tY29tbWFuZC5oIgogI2luY2x1ZGUgInN0cmJ1Zi5oIgogCi0jZGVmaW5lIElOREVYX0VYVEVOU0lPTl9WRVJTSU9OCSgxKQotI2RlZmluZSBIT09LX0lOVEVSRkFDRV9WRVJTSU9OCSgxKQorI2RlZmluZSBJTkRFWF9FWFRFTlNJT05fVkVSU0lPTjEJKDEpCisjZGVmaW5lIElOREVYX0VYVEVOU0lPTl9WRVJTSU9OMgkoMikKKyNkZWZpbmUgSE9PS19JTlRFUkZBQ0VfVkVSU0lPTjEJCSgxKQorI2RlZmluZSBIT09LX0lOVEVSRkFDRV9WRVJTSU9OMgkJKDIpCiAKIHN0cnVjdCB0cmFjZV9rZXkgdHJhY2VfZnNtb25pdG9yID0gVFJBQ0VfS0VZX0lOSVQoRlNNT05JVE9SKTsKIAogc3RhdGljIHZvaWQgZnNtb25pdG9yX2V3YWhfY2FsbGJhY2soc2l6ZV90IHBvcywgdm9pZCAqaXMpCiB7CiAJc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUgPSAoc3RydWN0IGluZGV4X3N0YXRlICopaXM7Ci0Jc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGlzdGF0ZS0+Y2FjaGVbcG9zXTsKKwlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlOwogCisJaWYgKHBvcyA+PSBpc3RhdGUtPmNhY2hlX25yKQorCQlCVUcoImZzbW9uaXRvcl9kaXJ0eSBoYXMgbW9yZSBlbnRyaWVzIHRoYW4gdGhlIGluZGV4ICglIlBSSXVNQVgiID49ICV1KSIsCisJCSAgICAodWludG1heF90KXBvcywgaXN0YXRlLT5jYWNoZV9ucik7CisKKwljZSA9IGlzdGF0ZS0+Y2FjaGVbcG9zXTsKIAljZS0+Y2VfZmxhZ3MgJj0gfkNFX0ZTTU9OSVRPUl9WQUxJRDsKIH0KIAorc3RhdGljIGludCBmc21vbml0b3JfaG9va192ZXJzaW9uKHZvaWQpCit7CisJaW50IGhvb2tfdmVyc2lvbjsKKworCWlmIChnaXRfY29uZmlnX2dldF9pbnQoImNvcmUuZnNtb25pdG9yaG9va3ZlcnNpb24iLCAmaG9va192ZXJzaW9uKSkKKwkJcmV0dXJuIC0xOworCisJaWYgKGhvb2tfdmVyc2lvbiA9PSBIT09LX0lOVEVSRkFDRV9WRVJTSU9OMSB8fAorCSAgICBob29rX3ZlcnNpb24gPT0gSE9PS19JTlRFUkZBQ0VfVkVSU0lPTjIpCisJCXJldHVybiBob29rX3ZlcnNpb247CisKKwl3YXJuaW5nKCJJbnZhbGlkIGhvb2sgdmVyc2lvbiAnJWknIGluIGNvcmUuZnNtb25pdG9yaG9va3ZlcnNpb24uICIKKwkJIk11c3QgYmUgMSBvciAyLiIsIGhvb2tfdmVyc2lvbik7CisJcmV0dXJuIC0xOworfQorCiBpbnQgcmVhZF9mc21vbml0b3JfZXh0ZW5zaW9uKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBjb25zdCB2b2lkICpkYXRhLAogCXVuc2lnbmVkIGxvbmcgc3opCiB7CkBAIC0yNywxNyArNTAsMjYgQEAKIAl1aW50MzJfdCBld2FoX3NpemU7CiAJc3RydWN0IGV3YWhfYml0bWFwICpmc21vbml0b3JfZGlydHk7CiAJaW50IHJldDsKKwl1aW50NjRfdCB0aW1lc3RhbXA7CisJc3RydWN0IHN0cmJ1ZiBsYXN0X3VwZGF0ZSA9IFNUUkJVRl9JTklUOwogCi0JaWYgKHN6IDwgc2l6ZW9mKHVpbnQzMl90KSArIHNpemVvZih1aW50NjRfdCkgKyBzaXplb2YodWludDMyX3QpKQorCWlmIChzeiA8IHNpemVvZih1aW50MzJfdCkgKyAxICsgc2l6ZW9mKHVpbnQzMl90KSkKIAkJcmV0dXJuIGVycm9yKCJjb3JydXB0IGZzbW9uaXRvciBleHRlbnNpb24gKHRvbyBzaG9ydCkiKTsKIAogCWhkcl92ZXJzaW9uID0gZ2V0X2JlMzIoaW5kZXgpOwogCWluZGV4ICs9IHNpemVvZih1aW50MzJfdCk7Ci0JaWYgKGhkcl92ZXJzaW9uICE9IElOREVYX0VYVEVOU0lPTl9WRVJTSU9OKQorCWlmIChoZHJfdmVyc2lvbiA9PSBJTkRFWF9FWFRFTlNJT05fVkVSU0lPTjEpIHsKKwkJdGltZXN0YW1wID0gZ2V0X2JlNjQoaW5kZXgpOworCQlzdHJidWZfYWRkZigmbGFzdF91cGRhdGUsICIlIlBSSXU2NCIiLCB0aW1lc3RhbXApOworCQlpbmRleCArPSBzaXplb2YodWludDY0X3QpOworCX0gZWxzZSBpZiAoaGRyX3ZlcnNpb24gPT0gSU5ERVhfRVhURU5TSU9OX1ZFUlNJT04yKSB7CisJCXN0cmJ1Zl9hZGRzdHIoJmxhc3RfdXBkYXRlLCBpbmRleCk7CisJCWluZGV4ICs9IGxhc3RfdXBkYXRlLmxlbiArIDE7CisJfSBlbHNlIHsKIAkJcmV0dXJuIGVycm9yKCJiYWQgZnNtb25pdG9yIHZlcnNpb24gJWQiLCBoZHJfdmVyc2lvbik7CisJfQogCi0JaXN0YXRlLT5mc21vbml0b3JfbGFzdF91cGRhdGUgPSBnZXRfYmU2NChpbmRleCk7Ci0JaW5kZXggKz0gc2l6ZW9mKHVpbnQ2NF90KTsKKwlpc3RhdGUtPmZzbW9uaXRvcl9sYXN0X3VwZGF0ZSA9IHN0cmJ1Zl9kZXRhY2goJmxhc3RfdXBkYXRlLCBOVUxMKTsKIAogCWV3YWhfc2l6ZSA9IGdldF9iZTMyKGluZGV4KTsKIAlpbmRleCArPSBzaXplb2YodWludDMyX3QpOwpAQCAtNTAsMzIgKzgyLDQ1IEBACiAJfQogCWlzdGF0ZS0+ZnNtb25pdG9yX2RpcnR5ID0gZnNtb25pdG9yX2RpcnR5OwogCisJaWYgKCFpc3RhdGUtPnNwbGl0X2luZGV4ICYmCisJICAgIGlzdGF0ZS0+ZnNtb25pdG9yX2RpcnR5LT5iaXRfc2l6ZSA+IGlzdGF0ZS0+Y2FjaGVfbnIpCisJCUJVRygiZnNtb25pdG9yX2RpcnR5IGhhcyBtb3JlIGVudHJpZXMgdGhhbiB0aGUgaW5kZXggKCUiUFJJdU1BWCIgPiAldSkiLAorCQkgICAgKHVpbnRtYXhfdClpc3RhdGUtPmZzbW9uaXRvcl9kaXJ0eS0+Yml0X3NpemUsIGlzdGF0ZS0+Y2FjaGVfbnIpOworCiAJdHJhY2VfcHJpbnRmX2tleSgmdHJhY2VfZnNtb25pdG9yLCAicmVhZCBmc21vbml0b3IgZXh0ZW5zaW9uIHN1Y2Nlc3NmdWwiKTsKIAlyZXR1cm4gMDsKIH0KIAogdm9pZCBmaWxsX2ZzbW9uaXRvcl9iaXRtYXAoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpCiB7Ci0JaW50IGk7CisJdW5zaWduZWQgaW50IGksIHNraXBwZWQgPSAwOwogCWlzdGF0ZS0+ZnNtb25pdG9yX2RpcnR5ID0gZXdhaF9uZXcoKTsKLQlmb3IgKGkgPSAwOyBpIDwgaXN0YXRlLT5jYWNoZV9ucjsgaSsrKQotCQlpZiAoIShpc3RhdGUtPmNhY2hlW2ldLT5jZV9mbGFncyAmIENFX0ZTTU9OSVRPUl9WQUxJRCkpCi0JCQlld2FoX3NldChpc3RhdGUtPmZzbW9uaXRvcl9kaXJ0eSwgaSk7CisJZm9yIChpID0gMDsgaSA8IGlzdGF0ZS0+Y2FjaGVfbnI7IGkrKykgeworCQlpZiAoaXN0YXRlLT5jYWNoZVtpXS0+Y2VfZmxhZ3MgJiBDRV9SRU1PVkUpCisJCQlza2lwcGVkKys7CisJCWVsc2UgaWYgKCEoaXN0YXRlLT5jYWNoZVtpXS0+Y2VfZmxhZ3MgJiBDRV9GU01PTklUT1JfVkFMSUQpKQorCQkJZXdhaF9zZXQoaXN0YXRlLT5mc21vbml0b3JfZGlydHksIGkgLSBza2lwcGVkKTsKKwl9CiB9CiAKIHZvaWQgd3JpdGVfZnNtb25pdG9yX2V4dGVuc2lvbihzdHJ1Y3Qgc3RyYnVmICpzYiwgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpCiB7CiAJdWludDMyX3QgaGRyX3ZlcnNpb247Ci0JdWludDY0X3QgdG07CiAJdWludDMyX3QgZXdhaF9zdGFydDsKIAl1aW50MzJfdCBld2FoX3NpemUgPSAwOwogCWludCBmaXh1cCA9IDA7CiAKLQlwdXRfYmUzMigmaGRyX3ZlcnNpb24sIElOREVYX0VYVEVOU0lPTl9WRVJTSU9OKTsKKwlpZiAoIWlzdGF0ZS0+c3BsaXRfaW5kZXggJiYKKwkgICAgaXN0YXRlLT5mc21vbml0b3JfZGlydHktPmJpdF9zaXplID4gaXN0YXRlLT5jYWNoZV9ucikKKwkJQlVHKCJmc21vbml0b3JfZGlydHkgaGFzIG1vcmUgZW50cmllcyB0aGFuIHRoZSBpbmRleCAoJSJQUkl1TUFYIiA+ICV1KSIsCisJCSAgICAodWludG1heF90KWlzdGF0ZS0+ZnNtb25pdG9yX2RpcnR5LT5iaXRfc2l6ZSwgaXN0YXRlLT5jYWNoZV9ucik7CisKKwlwdXRfYmUzMigmaGRyX3ZlcnNpb24sIElOREVYX0VYVEVOU0lPTl9WRVJTSU9OMik7CiAJc3RyYnVmX2FkZChzYiwgJmhkcl92ZXJzaW9uLCBzaXplb2YodWludDMyX3QpKTsKIAotCXB1dF9iZTY0KCZ0bSwgaXN0YXRlLT5mc21vbml0b3JfbGFzdF91cGRhdGUpOwotCXN0cmJ1Zl9hZGQoc2IsICZ0bSwgc2l6ZW9mKHVpbnQ2NF90KSk7CisJc3RyYnVmX2FkZHN0cihzYiwgaXN0YXRlLT5mc21vbml0b3JfbGFzdF91cGRhdGUpOworCXN0cmJ1Zl9hZGRjaChzYiwgMCk7IC8qIFdhbnQgdG8ga2VlcCBhIE5VTCAqLworCiAJZml4dXAgPSBzYi0+bGVuOwogCXN0cmJ1Zl9hZGQoc2IsICZld2FoX3NpemUsIHNpemVvZih1aW50MzJfdCkpOyAvKiB3ZSdsbCBmaXggdGhpcyB1cCBsYXRlciAqLwogCkBAIC05Miw5ICsxMzcsOSBAQAogfQogCiAvKgotICogQ2FsbCB0aGUgcXVlcnktZnNtb25pdG9yIGhvb2sgcGFzc2luZyB0aGUgdGltZSBvZiB0aGUgbGFzdCBzYXZlZCByZXN1bHRzLgorICogQ2FsbCB0aGUgcXVlcnktZnNtb25pdG9yIGhvb2sgcGFzc2luZyB0aGUgbGFzdCB1cGRhdGUgdG9rZW4gb2YgdGhlIHNhdmVkIHJlc3VsdHMuCiAgKi8KLXN0YXRpYyBpbnQgcXVlcnlfZnNtb25pdG9yKGludCB2ZXJzaW9uLCB1aW50NjRfdCBsYXN0X3VwZGF0ZSwgc3RydWN0IHN0cmJ1ZiAqcXVlcnlfcmVzdWx0KQorc3RhdGljIGludCBxdWVyeV9mc21vbml0b3IoaW50IHZlcnNpb24sIGNvbnN0IGNoYXIgKmxhc3RfdXBkYXRlLCBzdHJ1Y3Qgc3RyYnVmICpxdWVyeV9yZXN1bHQpCiB7CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CiAKQEAgLTEwMyw3ICsxNDgsNyBAQAogCiAJYXJndl9hcnJheV9wdXNoKCZjcC5hcmdzLCBjb3JlX2ZzbW9uaXRvcik7CiAJYXJndl9hcnJheV9wdXNoZigmY3AuYXJncywgIiVkIiwgdmVyc2lvbik7Ci0JYXJndl9hcnJheV9wdXNoZigmY3AuYXJncywgIiUiIFBSSXVNQVgsICh1aW50bWF4X3QpbGFzdF91cGRhdGUpOworCWFyZ3ZfYXJyYXlfcHVzaGYoJmNwLmFyZ3MsICIlcyIsIGxhc3RfdXBkYXRlKTsKIAljcC51c2Vfc2hlbGwgPSAxOwogCWNwLmRpciA9IGdldF9naXRfd29ya190cmVlKCk7CiAKQEAgLTEyOSwxNyArMTc0LDIwIEBACiAKIHZvaWQgcmVmcmVzaF9mc21vbml0b3Ioc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpCiB7Ci0Jc3RhdGljIGludCBoYXNfcnVuX29uY2UgPSAwOwogCXN0cnVjdCBzdHJidWYgcXVlcnlfcmVzdWx0ID0gU1RSQlVGX0lOSVQ7Ci0JaW50IHF1ZXJ5X3N1Y2Nlc3MgPSAwOwotCXNpemVfdCBib2w7IC8qIGJlZ2lubmluZyBvZiBsaW5lICovCisJaW50IHF1ZXJ5X3N1Y2Nlc3MgPSAwLCBob29rX3ZlcnNpb24gPSAtMTsKKwlzaXplX3QgYm9sID0gMDsgLyogYmVnaW5uaW5nIG9mIGxpbmUgKi8KIAl1aW50NjRfdCBsYXN0X3VwZGF0ZTsKKwlzdHJ1Y3Qgc3RyYnVmIGxhc3RfdXBkYXRlX3Rva2VuID0gU1RSQlVGX0lOSVQ7CiAJY2hhciAqYnVmOwotCWludCBpOworCXVuc2lnbmVkIGludCBpOwogCi0JaWYgKCFjb3JlX2ZzbW9uaXRvciB8fCBoYXNfcnVuX29uY2UpCisJaWYgKCFjb3JlX2ZzbW9uaXRvciB8fCBpc3RhdGUtPmZzbW9uaXRvcl9oYXNfcnVuX29uY2UpCiAJCXJldHVybjsKLQloYXNfcnVuX29uY2UgPSAxOworCisJaG9va192ZXJzaW9uID0gZnNtb25pdG9yX2hvb2tfdmVyc2lvbigpOworCisJaXN0YXRlLT5mc21vbml0b3JfaGFzX3J1bl9vbmNlID0gMTsKIAogCXRyYWNlX3ByaW50Zl9rZXkoJnRyYWNlX2ZzbW9uaXRvciwgInJlZnJlc2ggZnNtb25pdG9yIik7CiAJLyoKQEAgLTE0NywyNiArMTk1LDYwIEBACiAJICogc2hvdWxkIGJlIGluY2x1c2l2ZSB0byBlbnN1cmUgd2UgZG9uJ3QgbWlzcyBwb3RlbnRpYWwgY2hhbmdlcy4KIAkgKi8KIAlsYXN0X3VwZGF0ZSA9IGdldG5hbm90aW1lKCk7CisJaWYgKGhvb2tfdmVyc2lvbiA9PSBIT09LX0lOVEVSRkFDRV9WRVJTSU9OMSkKKwkJc3RyYnVmX2FkZGYoJmxhc3RfdXBkYXRlX3Rva2VuLCAiJSJQUkl1NjQiIiwgbGFzdF91cGRhdGUpOwogCiAJLyoKLQkgKiBJZiB3ZSBoYXZlIGEgbGFzdCB1cGRhdGUgdGltZSwgY2FsbCBxdWVyeV9mc21vbml0b3IgZm9yIHRoZSBzZXQgb2YKLQkgKiBjaGFuZ2VzIHNpbmNlIHRoYXQgdGltZSwgZWxzZSBhc3N1bWUgZXZlcnl0aGluZyBpcyBwb3NzaWJseSBkaXJ0eQorCSAqIElmIHdlIGhhdmUgYSBsYXN0IHVwZGF0ZSB0b2tlbiwgY2FsbCBxdWVyeV9mc21vbml0b3IgZm9yIHRoZSBzZXQgb2YKKwkgKiBjaGFuZ2VzIHNpbmNlIHRoYXQgdG9rZW4sIGVsc2UgYXNzdW1lIGV2ZXJ5dGhpbmcgaXMgcG9zc2libHkgZGlydHkKIAkgKiBhbmQgY2hlY2sgaXQgYWxsLgogCSAqLwogCWlmIChpc3RhdGUtPmZzbW9uaXRvcl9sYXN0X3VwZGF0ZSkgewotCQlxdWVyeV9zdWNjZXNzID0gIXF1ZXJ5X2ZzbW9uaXRvcihIT09LX0lOVEVSRkFDRV9WRVJTSU9OLAotCQkJaXN0YXRlLT5mc21vbml0b3JfbGFzdF91cGRhdGUsICZxdWVyeV9yZXN1bHQpOworCQlpZiAoaG9va192ZXJzaW9uID09IC0xIHx8IGhvb2tfdmVyc2lvbiA9PSBIT09LX0lOVEVSRkFDRV9WRVJTSU9OMikgeworCQkJcXVlcnlfc3VjY2VzcyA9ICFxdWVyeV9mc21vbml0b3IoSE9PS19JTlRFUkZBQ0VfVkVSU0lPTjIsCisJCQkJaXN0YXRlLT5mc21vbml0b3JfbGFzdF91cGRhdGUsICZxdWVyeV9yZXN1bHQpOworCisJCQlpZiAocXVlcnlfc3VjY2VzcykgeworCQkJCWlmIChob29rX3ZlcnNpb24gPCAwKQorCQkJCQlob29rX3ZlcnNpb24gPSBIT09LX0lOVEVSRkFDRV9WRVJTSU9OMjsKKworCQkJCS8qCisJCQkJICogRmlyc3QgZW50cnkgd2lsbCBiZSB0aGUgbGFzdCB1cGRhdGUgdG9rZW4KKwkJCQkgKiBOZWVkIHRvIHVzZSBhIGNoYXIgKiB2YXJpYWJsZSBiZWNhdXNlIHN0YXRpYworCQkJCSAqIGFuYWx5c2lzIHdhcyBzdWdnZXN0aW5nIHRvIHVzZSBzdHJidWZfYWRkYnVmCisJCQkJICogYnV0IHdlIGRvbid0IHdhbnQgdG8gY29weSB0aGUgZW50aXJlIHN0cmJ1ZgorCQkJCSAqIG9ubHkgdGhlIHRoZSBjaGFycyB1cCB0byB0aGUgZmlyc3QgTlVMCisJCQkJICovCisJCQkJYnVmID0gcXVlcnlfcmVzdWx0LmJ1ZjsKKwkJCQlzdHJidWZfYWRkc3RyKCZsYXN0X3VwZGF0ZV90b2tlbiwgYnVmKTsKKwkJCQlpZiAoIWxhc3RfdXBkYXRlX3Rva2VuLmxlbikgeworCQkJCQl3YXJuaW5nKCJFbXB0eSBsYXN0IHVwZGF0ZSB0b2tlbi4iKTsKKwkJCQkJcXVlcnlfc3VjY2VzcyA9IDA7CisJCQkJfSBlbHNlIHsKKwkJCQkJYm9sID0gbGFzdF91cGRhdGVfdG9rZW4ubGVuICsgMTsKKwkJCQl9CisJCQl9IGVsc2UgaWYgKGhvb2tfdmVyc2lvbiA8IDApIHsKKwkJCQlob29rX3ZlcnNpb24gPSBIT09LX0lOVEVSRkFDRV9WRVJTSU9OMTsKKwkJCQlpZiAoIWxhc3RfdXBkYXRlX3Rva2VuLmxlbikKKwkJCQkJc3RyYnVmX2FkZGYoJmxhc3RfdXBkYXRlX3Rva2VuLCAiJSJQUkl1NjQiIiwgbGFzdF91cGRhdGUpOworCQkJfQorCQl9CisKKwkJaWYgKGhvb2tfdmVyc2lvbiA9PSBIT09LX0lOVEVSRkFDRV9WRVJTSU9OMSkgeworCQkJcXVlcnlfc3VjY2VzcyA9ICFxdWVyeV9mc21vbml0b3IoSE9PS19JTlRFUkZBQ0VfVkVSU0lPTjEsCisJCQkJaXN0YXRlLT5mc21vbml0b3JfbGFzdF91cGRhdGUsICZxdWVyeV9yZXN1bHQpOworCQl9CisKIAkJdHJhY2VfcGVyZm9ybWFuY2Vfc2luY2UobGFzdF91cGRhdGUsICJmc21vbml0b3IgcHJvY2VzcyAnJXMnIiwgY29yZV9mc21vbml0b3IpOwogCQl0cmFjZV9wcmludGZfa2V5KCZ0cmFjZV9mc21vbml0b3IsICJmc21vbml0b3IgcHJvY2VzcyAnJXMnIHJldHVybmVkICVzIiwKIAkJCWNvcmVfZnNtb25pdG9yLCBxdWVyeV9zdWNjZXNzID8gInN1Y2Nlc3MiIDogImZhaWx1cmUiKTsKIAl9CiAKIAkvKiBhIGZzbW9uaXRvciBwcm9jZXNzIGNhbiByZXR1cm4gJy8nIHRvIGluZGljYXRlIGFsbCBlbnRyaWVzIGFyZSBpbnZhbGlkICovCi0JaWYgKHF1ZXJ5X3N1Y2Nlc3MgJiYgcXVlcnlfcmVzdWx0LmJ1ZlswXSAhPSAnLycpIHsKKwlpZiAocXVlcnlfc3VjY2VzcyAmJiBxdWVyeV9yZXN1bHQuYnVmW2JvbF0gIT0gJy8nKSB7CiAJCS8qIE1hcmsgYWxsIGVudHJpZXMgcmV0dXJuZWQgYnkgdGhlIG1vbml0b3IgYXMgZGlydHkgKi8KIAkJYnVmID0gcXVlcnlfcmVzdWx0LmJ1ZjsKLQkJYm9sID0gMDsKLQkJZm9yIChpID0gMDsgaSA8IHF1ZXJ5X3Jlc3VsdC5sZW47IGkrKykgeworCQlmb3IgKGkgPSBib2w7IGkgPCBxdWVyeV9yZXN1bHQubGVuOyBpKyspIHsKIAkJCWlmIChidWZbaV0gIT0gJ1wwJykKIAkJCQljb250aW51ZTsKIAkJCWZzbW9uaXRvcl9yZWZyZXNoX2NhbGxiYWNrKGlzdGF0ZSwgYnVmICsgYm9sKTsKQEAgLTE3NCwzMSArMjU2LDQ3IEBACiAJCX0KIAkJaWYgKGJvbCA8IHF1ZXJ5X3Jlc3VsdC5sZW4pCiAJCQlmc21vbml0b3JfcmVmcmVzaF9jYWxsYmFjayhpc3RhdGUsIGJ1ZiArIGJvbCk7CisKKwkJLyogTm93IG1hcmsgdGhlIHVudHJhY2tlZCBjYWNoZSBmb3IgZnNtb25pdG9yIHVzYWdlICovCisJCWlmIChpc3RhdGUtPnVudHJhY2tlZCkKKwkJCWlzdGF0ZS0+dW50cmFja2VkLT51c2VfZnNtb25pdG9yID0gMTsKIAl9IGVsc2UgeworCisJCS8qIFdlIG9ubHkgd2FudCB0byBydW4gdGhlIHBvc3QgaW5kZXggY2hhbmdlZCBob29rIGlmIHdlJ3ZlIGFjdHVhbGx5IGNoYW5nZWQgZW50cmllcywgc28ga2VlcCB0cmFjaworCQkgKiBpZiB3ZSBhY3R1YWxseSBjaGFuZ2VkIGVudHJpZXMgb3Igbm90ICovCisJCWludCBpc19jYWNoZV9jaGFuZ2VkID0gMDsKIAkJLyogTWFyayBhbGwgZW50cmllcyBpbnZhbGlkICovCi0JCWZvciAoaSA9IDA7IGkgPCBpc3RhdGUtPmNhY2hlX25yOyBpKyspCi0JCQlpc3RhdGUtPmNhY2hlW2ldLT5jZV9mbGFncyAmPSB+Q0VfRlNNT05JVE9SX1ZBTElEOworCQlmb3IgKGkgPSAwOyBpIDwgaXN0YXRlLT5jYWNoZV9ucjsgaSsrKSB7CisJCQlpZiAoaXN0YXRlLT5jYWNoZVtpXS0+Y2VfZmxhZ3MgJiBDRV9GU01PTklUT1JfVkFMSUQpIHsKKwkJCQlpc19jYWNoZV9jaGFuZ2VkID0gMTsKKwkJCQlpc3RhdGUtPmNhY2hlW2ldLT5jZV9mbGFncyAmPSB+Q0VfRlNNT05JVE9SX1ZBTElEOworCQkJfQorCQl9CiAKIAkJLyogSWYgd2UncmUgZ29pbmcgdG8gY2hlY2sgZXZlcnkgZmlsZSwgZW5zdXJlIHdlIHNhdmUgdGhlIHJlc3VsdHMgKi8KLQkJaXN0YXRlLT5jYWNoZV9jaGFuZ2VkIHw9IEZTTU9OSVRPUl9DSEFOR0VEOworCQlpZiAoaXNfY2FjaGVfY2hhbmdlZCkKKwkJCWlzdGF0ZS0+Y2FjaGVfY2hhbmdlZCB8PSBGU01PTklUT1JfQ0hBTkdFRDsKIAogCQlpZiAoaXN0YXRlLT51bnRyYWNrZWQpCiAJCQlpc3RhdGUtPnVudHJhY2tlZC0+dXNlX2ZzbW9uaXRvciA9IDA7CiAJfQogCXN0cmJ1Zl9yZWxlYXNlKCZxdWVyeV9yZXN1bHQpOwogCi0JLyogTm93IHRoYXQgd2UndmUgdXBkYXRlZCBpc3RhdGUsIHNhdmUgdGhlIGxhc3RfdXBkYXRlIHRpbWUgKi8KLQlpc3RhdGUtPmZzbW9uaXRvcl9sYXN0X3VwZGF0ZSA9IGxhc3RfdXBkYXRlOworCS8qIE5vdyB0aGF0IHdlJ3ZlIHVwZGF0ZWQgaXN0YXRlLCBzYXZlIHRoZSBsYXN0X3VwZGF0ZV90b2tlbiAqLworCUZSRUVfQU5EX05VTEwoaXN0YXRlLT5mc21vbml0b3JfbGFzdF91cGRhdGUpOworCWlzdGF0ZS0+ZnNtb25pdG9yX2xhc3RfdXBkYXRlID0gc3RyYnVmX2RldGFjaCgmbGFzdF91cGRhdGVfdG9rZW4sIE5VTEwpOwogfQogCiB2b2lkIGFkZF9mc21vbml0b3Ioc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpCiB7Ci0JaW50IGk7CisJdW5zaWduZWQgaW50IGk7CisJc3RydWN0IHN0cmJ1ZiBsYXN0X3VwZGF0ZSA9IFNUUkJVRl9JTklUOwogCiAJaWYgKCFpc3RhdGUtPmZzbW9uaXRvcl9sYXN0X3VwZGF0ZSkgewogCQl0cmFjZV9wcmludGZfa2V5KCZ0cmFjZV9mc21vbml0b3IsICJhZGQgZnNtb25pdG9yIik7CiAJCWlzdGF0ZS0+Y2FjaGVfY2hhbmdlZCB8PSBGU01PTklUT1JfQ0hBTkdFRDsKLQkJaXN0YXRlLT5mc21vbml0b3JfbGFzdF91cGRhdGUgPSBnZXRuYW5vdGltZSgpOworCQlzdHJidWZfYWRkZigmbGFzdF91cGRhdGUsICIlIlBSSXU2NCIiLCBnZXRuYW5vdGltZSgpKTsKKwkJaXN0YXRlLT5mc21vbml0b3JfbGFzdF91cGRhdGUgPSBzdHJidWZfZGV0YWNoKCZsYXN0X3VwZGF0ZSwgTlVMTCk7CiAKIAkJLyogcmVzZXQgdGhlIGZzbW9uaXRvciBzdGF0ZSAqLwogCQlmb3IgKGkgPSAwOyBpIDwgaXN0YXRlLT5jYWNoZV9ucjsgaSsrKQpAQCAtMjIwLDEzICszMTgsMTMgQEAKIAlpZiAoaXN0YXRlLT5mc21vbml0b3JfbGFzdF91cGRhdGUpIHsKIAkJdHJhY2VfcHJpbnRmX2tleSgmdHJhY2VfZnNtb25pdG9yLCAicmVtb3ZlIGZzbW9uaXRvciIpOwogCQlpc3RhdGUtPmNhY2hlX2NoYW5nZWQgfD0gRlNNT05JVE9SX0NIQU5HRUQ7Ci0JCWlzdGF0ZS0+ZnNtb25pdG9yX2xhc3RfdXBkYXRlID0gMDsKKwkJRlJFRV9BTkRfTlVMTChpc3RhdGUtPmZzbW9uaXRvcl9sYXN0X3VwZGF0ZSk7CiAJfQogfQogCiB2b2lkIHR3ZWFrX2ZzbW9uaXRvcihzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSkKIHsKLQlpbnQgaTsKKwl1bnNpZ25lZCBpbnQgaTsKIAlpbnQgZnNtb25pdG9yX2VuYWJsZWQgPSBnaXRfY29uZmlnX2dldF9mc21vbml0b3IoKTsKIAogCWlmIChpc3RhdGUtPmZzbW9uaXRvcl9kaXJ0eSkgewpAQCAtMjM3LDExICszMzUsMTIgQEAKIAkJCX0KIAogCQkJLyogTWFyayBhbGwgcHJldmlvdXNseSBzYXZlZCBlbnRyaWVzIGFzIGRpcnR5ICovCisJCQlpZiAoaXN0YXRlLT5mc21vbml0b3JfZGlydHktPmJpdF9zaXplID4gaXN0YXRlLT5jYWNoZV9ucikKKwkJCQlCVUcoImZzbW9uaXRvcl9kaXJ0eSBoYXMgbW9yZSBlbnRyaWVzIHRoYW4gdGhlIGluZGV4ICglIlBSSXVNQVgiID4gJXUpIiwKKwkJCQkgICAgKHVpbnRtYXhfdClpc3RhdGUtPmZzbW9uaXRvcl9kaXJ0eS0+Yml0X3NpemUsIGlzdGF0ZS0+Y2FjaGVfbnIpOwogCQkJZXdhaF9lYWNoX2JpdChpc3RhdGUtPmZzbW9uaXRvcl9kaXJ0eSwgZnNtb25pdG9yX2V3YWhfY2FsbGJhY2ssIGlzdGF0ZSk7CiAKLQkJCS8qIE5vdyBtYXJrIHRoZSB1bnRyYWNrZWQgY2FjaGUgZm9yIGZzbW9uaXRvciB1c2FnZSAqLwotCQkJaWYgKGlzdGF0ZS0+dW50cmFja2VkKQotCQkJCWlzdGF0ZS0+dW50cmFja2VkLT51c2VfZnNtb25pdG9yID0gMTsKKwkJCXJlZnJlc2hfZnNtb25pdG9yKGlzdGF0ZSk7CiAJCX0KIAogCQlld2FoX2ZyZWUoaXN0YXRlLT5mc21vbml0b3JfZGlydHkpOwpkaWZmIC0tZ2l0IGEvZnNtb25pdG9yLmggYi9mc21vbml0b3IuaAppbmRleCAwMTAxN2M0Li43MzkzMThhIDEwMDY0NAotLS0gYS9mc21vbml0b3IuaAorKysgYi9mc21vbml0b3IuaApAQCAtMTAsMzEgKzEwLDMxIEBACiAgKiBSZWFkIHRoZSBmc21vbml0b3IgaW5kZXggZXh0ZW5zaW9uIGFuZCAoaWYgY29uZmlndXJlZCkgcmVzdG9yZSB0aGUKICAqIENFX0ZTTU9OSVRPUl9WQUxJRCBzdGF0ZS4KICAqLwotZXh0ZXJuIGludCByZWFkX2ZzbW9uaXRvcl9leHRlbnNpb24oc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IHZvaWQgKmRhdGEsIHVuc2lnbmVkIGxvbmcgc3opOworaW50IHJlYWRfZnNtb25pdG9yX2V4dGVuc2lvbihzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgY29uc3Qgdm9pZCAqZGF0YSwgdW5zaWduZWQgbG9uZyBzeik7CiAKIC8qCiAgKiBGaWxsIHRoZSBmc21vbml0b3JfZGlydHkgZXdhaCBiaXRzIHdpdGggdGhlaXIgc3RhdGUgZnJvbSB0aGUgaW5kZXgsCiAgKiBiZWZvcmUgaXQgaXMgc3BsaXQgZHVyaW5nIHdyaXRpbmcuCiAgKi8KLWV4dGVybiB2b2lkIGZpbGxfZnNtb25pdG9yX2JpdG1hcChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSk7Cit2b2lkIGZpbGxfZnNtb25pdG9yX2JpdG1hcChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSk7CiAKIC8qCiAgKiBXcml0ZSB0aGUgQ0VfRlNNT05JVE9SX1ZBTElEIHN0YXRlIGludG8gdGhlIGZzbW9uaXRvciBpbmRleAogICogZXh0ZW5zaW9uLiAgUmVhZHMgZnJvbSB0aGUgZnNtb25pdG9yX2RpcnR5IGV3YWggaW4gdGhlIGluZGV4LgogICovCi1leHRlcm4gdm9pZCB3cml0ZV9mc21vbml0b3JfZXh0ZW5zaW9uKHN0cnVjdCBzdHJidWYgKnNiLCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSk7Cit2b2lkIHdyaXRlX2ZzbW9uaXRvcl9leHRlbnNpb24oc3RydWN0IHN0cmJ1ZiAqc2IsIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKTsKIAogLyoKICAqIEFkZC9yZW1vdmUgdGhlIGZzbW9uaXRvciBpbmRleCBleHRlbnNpb24KICAqLwotZXh0ZXJuIHZvaWQgYWRkX2ZzbW9uaXRvcihzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSk7Ci1leHRlcm4gdm9pZCByZW1vdmVfZnNtb25pdG9yKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKTsKK3ZvaWQgYWRkX2ZzbW9uaXRvcihzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSk7Cit2b2lkIHJlbW92ZV9mc21vbml0b3Ioc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpOwogCiAvKgogICogQWRkL3JlbW92ZSB0aGUgZnNtb25pdG9yIGluZGV4IGV4dGVuc2lvbiBhcyBuZWNlc3NhcnkgYmFzZWQgb24gdGhlIGN1cnJlbnQKICAqIGNvcmUuZnNtb25pdG9yIHNldHRpbmcuCiAgKi8KLWV4dGVybiB2b2lkIHR3ZWFrX2ZzbW9uaXRvcihzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSk7Cit2b2lkIHR3ZWFrX2ZzbW9uaXRvcihzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSk7CiAKIC8qCiAgKiBSdW4gdGhlIGNvbmZpZ3VyZWQgZnNtb25pdG9yIGludGVncmF0aW9uIHNjcmlwdCBhbmQgY2xlYXIgdGhlCkBAIC00MiwxNiArNDIsMTcgQEAKICAqIGFueSBjb3JyZXNwb25kaW5nIHVudHJhY2tlZCBjYWNoZSBkaXJlY3Rvcnkgc3RydWN0dXJlcy4gT3B0aW1pemVkIHRvIG9ubHkKICAqIHJ1biB0aGUgZmlyc3QgdGltZSBpdCBpcyBjYWxsZWQuCiAgKi8KLWV4dGVybiB2b2lkIHJlZnJlc2hfZnNtb25pdG9yKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKTsKK3ZvaWQgcmVmcmVzaF9mc21vbml0b3Ioc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpOwogCiAvKgogICogU2V0IHRoZSBnaXZlbiBjYWNoZSBlbnRyaWVzIENFX0ZTTU9OSVRPUl9WQUxJRCBiaXQuIFRoaXMgc2hvdWxkIGJlCiAgKiBjYWxsZWQgYW55IHRpbWUgdGhlIGNhY2hlIGVudHJ5IGhhcyBiZWVuIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUKICAqIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGZpbGUgb24gZGlzay4KICAqLwotc3RhdGljIGlubGluZSB2b2lkIG1hcmtfZnNtb25pdG9yX3ZhbGlkKHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UpCitzdGF0aWMgaW5saW5lIHZvaWQgbWFya19mc21vbml0b3JfdmFsaWQoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UpCiB7Ci0JaWYgKGNvcmVfZnNtb25pdG9yKSB7CisJaWYgKGNvcmVfZnNtb25pdG9yICYmICEoY2UtPmNlX2ZsYWdzICYgQ0VfRlNNT05JVE9SX1ZBTElEKSkgeworCQlpc3RhdGUtPmNhY2hlX2NoYW5nZWQgPSAxOwogCQljZS0+Y2VfZmxhZ3MgfD0gQ0VfRlNNT05JVE9SX1ZBTElEOwogCQl0cmFjZV9wcmludGZfa2V5KCZ0cmFjZV9mc21vbml0b3IsICJtYXJrX2ZzbW9uaXRvcl9jbGVhbiAnJXMnIiwgY2UtPm5hbWUpOwogCX0KZGlmZiAtLWdpdCBhL2Z1enotY29tbWl0LWdyYXBoLmMgYi9mdXp6LWNvbW1pdC1ncmFwaC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxNTdhY2IKLS0tIC9kZXYvbnVsbAorKysgYi9mdXp6LWNvbW1pdC1ncmFwaC5jCkBAIC0wLDAgKzEsMTkgQEAKKyNpbmNsdWRlICJjb21taXQtZ3JhcGguaCIKKyNpbmNsdWRlICJyZXBvc2l0b3J5LmgiCisKK3N0cnVjdCBjb21taXRfZ3JhcGggKnBhcnNlX2NvbW1pdF9ncmFwaCh2b2lkICpncmFwaF9tYXAsIGludCBmZCwKKwkJCQkJc2l6ZV90IGdyYXBoX3NpemUpOworCitpbnQgTExWTUZ1enplclRlc3RPbmVJbnB1dChjb25zdCB1aW50OF90ICpkYXRhLCBzaXplX3Qgc2l6ZSk7CisKK2ludCBMTFZNRnV6emVyVGVzdE9uZUlucHV0KGNvbnN0IHVpbnQ4X3QgKmRhdGEsIHNpemVfdCBzaXplKQoreworCXN0cnVjdCBjb21taXRfZ3JhcGggKmc7CisKKwlpbml0aWFsaXplX3RoZV9yZXBvc2l0b3J5KCk7CisJZyA9IHBhcnNlX2NvbW1pdF9ncmFwaCgodm9pZCAqKWRhdGEsIC0xLCBzaXplKTsKKwlyZXBvX2NsZWFyKHRoZV9yZXBvc2l0b3J5KTsKKwlmcmVlKGcpOworCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9nZW5lcmF0ZS1jbWRsaXN0LnNoIGIvZ2VuZXJhdGUtY21kbGlzdC5zaAppbmRleCA3MDlkNjc0Li43MTE1OGY3IDEwMDc1NQotLS0gYS9nZW5lcmF0ZS1jbWRsaXN0LnNoCisrKyBiL2dlbmVyYXRlLWNtZGxpc3Quc2gKQEAgLTYsNyArNiw3IEBACiB9CiAKIGNvbW1hbmRfbGlzdCAoKSB7Ci0JZ3JlcCAtdiAnXiMnICIkMSIKKwlldmFsICJncmVwIC12ZSAnXiMnICRleGNsdWRlX3Byb2dyYW1zIiA8IiQxIgogfQogCiBnZXRfY2F0ZWdvcmllcyAoKSB7CkBAIC05Myw2ICs5MywxNCBAQAogRU9GCiB9CiAKK2V4Y2x1ZGVfcHJvZ3JhbXM9Cit3aGlsZSB0ZXN0ICItLWV4Y2x1ZGUtcHJvZ3JhbSIgPSAiJDEiCitkbworCXNoaWZ0CisJZXhjbHVkZV9wcm9ncmFtcz0iJGV4Y2x1ZGVfcHJvZ3JhbXMgLWUgXCJeJDEgXCIiCisJc2hpZnQKK2RvbmUKKwogZWNobyAiLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtY21kbGlzdC5zaCAqLwogc3RydWN0IGNtZG5hbWVfaGVscCB7CiAJY29uc3QgY2hhciAqbmFtZTsKZGlmZiAtLWdpdCBhL2dldHRleHQuYyBiL2dldHRleHQuYwppbmRleCBkNDAyMWQ2Li4zNWQyYzEyIDEwMDY0NAotLS0gYS9nZXR0ZXh0LmMKKysrIGIvZ2V0dGV4dC5jCkBAIC0xMiw3ICsxMiwyNSBAQAogI2lmbmRlZiBOT19HRVRURVhUCiAjCWluY2x1ZGUgPGxvY2FsZS5oPgogIwlpbmNsdWRlIDxsaWJpbnRsLmg+Ci0jCWlmZGVmIEhBVkVfTElCQ0hBUlNFVF9ICisjCWlmZGVmIEdJVF9XSU5ET1dTX05BVElWRQorCitzdGF0aWMgY29uc3QgY2hhciAqbG9jYWxlX2NoYXJzZXQodm9pZCkKK3sKKwljb25zdCBjaGFyICplbnYgPSBnZXRlbnYoIkxDX0FMTCIpLCAqZG90OworCisJaWYgKCFlbnYgfHwgISplbnYpCisJCWVudiA9IGdldGVudigiTENfQ1RZUEUiKTsKKwlpZiAoIWVudiB8fCAhKmVudikKKwkJZW52ID0gZ2V0ZW52KCJMQU5HIik7CisKKwlpZiAoIWVudikKKwkJcmV0dXJuICJVVEYtOCI7CisKKwlkb3QgPSBzdHJjaHIoZW52LCAnLicpOworCXJldHVybiAhZG90ID8gZW52IDogZG90ICsgMTsKK30KKworIwllbGlmIGRlZmluZWQgSEFWRV9MSUJDSEFSU0VUX0gKICMJCWluY2x1ZGUgPGxpYmNoYXJzZXQuaD4KICMJZWxzZQogIwkJaW5jbHVkZSA8bGFuZ2luZm8uaD4KQEAgLTUwLDEwICs2OCw4IEBACiBpbnQgdXNlX2dldHRleHRfcG9pc29uKHZvaWQpCiB7CiAJc3RhdGljIGludCBwb2lzb25fcmVxdWVzdGVkID0gLTE7Ci0JaWYgKHBvaXNvbl9yZXF1ZXN0ZWQgPT0gLTEpIHsKLQkJY29uc3QgY2hhciAqdiA9IGdldGVudigiR0lUX1RFU1RfR0VUVEVYVF9QT0lTT04iKTsKLQkJcG9pc29uX3JlcXVlc3RlZCA9IHYgJiYgc3RybGVuKHYpID8gMSA6IDA7Ci0JfQorCWlmIChwb2lzb25fcmVxdWVzdGVkID09IC0xKQorCQlwb2lzb25fcmVxdWVzdGVkID0gZ2l0X2Vudl9ib29sKCJHSVRfVEVTVF9HRVRURVhUX1BPSVNPTiIsIDApOwogCXJldHVybiBwb2lzb25fcmVxdWVzdGVkOwogfQogCmRpZmYgLS1naXQgYS9nZXR0ZXh0LmggYi9nZXR0ZXh0LmgKaW5kZXggNzEyNTVlNS4uYmVlNTJlYiAxMDA2NDQKLS0tIGEvZ2V0dGV4dC5oCisrKyBiL2dldHRleHQuaApAQCAtMjgsMTEgKzI4LDExIEBACiAKICNkZWZpbmUgRk9STUFUX1BSRVNFUlZJTkcobikgX19hdHRyaWJ1dGVfXygoZm9ybWF0X2FyZyhuKSkpCiAKLWV4dGVybiBpbnQgdXNlX2dldHRleHRfcG9pc29uKHZvaWQpOworaW50IHVzZV9nZXR0ZXh0X3BvaXNvbih2b2lkKTsKIAogI2lmbmRlZiBOT19HRVRURVhUCi1leHRlcm4gdm9pZCBnaXRfc2V0dXBfZ2V0dGV4dCh2b2lkKTsKLWV4dGVybiBpbnQgZ2V0dGV4dF93aWR0aChjb25zdCBjaGFyICpzKTsKK3ZvaWQgZ2l0X3NldHVwX2dldHRleHQodm9pZCk7CitpbnQgZ2V0dGV4dF93aWR0aChjb25zdCBjaGFyICpzKTsKICNlbHNlCiBzdGF0aWMgaW5saW5lIHZvaWQgZ2l0X3NldHVwX2dldHRleHQodm9pZCkKIHsKQEAgLTg3LDYgKzg3LDYgQEAKICNlbmRpZgogCiBjb25zdCBjaGFyICpnZXRfcHJlZmVycmVkX2xhbmd1YWdlcyh2b2lkKTsKLWV4dGVybiBpbnQgaXNfdXRmOF9sb2NhbGUodm9pZCk7CitpbnQgaXNfdXRmOF9sb2NhbGUodm9pZCk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybCBiL2dpdC1hZGQtLWludGVyYWN0aXZlLnBlcmwKaW5kZXggMjBlYjgxYy4uMTBmZDMwYSAxMDA3NTUKLS0tIGEvZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybAorKysgYi9naXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsCkBAIC0xNDksNiArMTQ5LDIwIEBACiAJCUZJTFRFUiA9PiB1bmRlZiwKIAkJSVNfUkVWRVJTRSA9PiAwLAogCX0sCisJJ3dvcmt0cmVlX2hlYWQnID0+IHsKKwkJRElGRiA9PiAnZGlmZi1pbmRleCAtcCcsCisJCUFQUExZID0+IHN1YiB7IGFwcGx5X3BhdGNoICdhcHBseSAtUicsIEBfIH0sCisJCUFQUExZX0NIRUNLID0+ICdhcHBseSAtUicsCisJCUZJTFRFUiA9PiB1bmRlZiwKKwkJSVNfUkVWRVJTRSA9PiAxLAorCX0sCisJJ3dvcmt0cmVlX25vdGhlYWQnID0+IHsKKwkJRElGRiA9PiAnZGlmZi1pbmRleCAtUiAtcCcsCisJCUFQUExZID0+IHN1YiB7IGFwcGx5X3BhdGNoICdhcHBseScsIEBfIH0sCisJCUFQUExZX0NIRUNLID0+ICdhcHBseScsCisJCUZJTFRFUiA9PiB1bmRlZiwKKwkJSVNfUkVWRVJTRSA9PiAwLAorCX0sCiApOwogCiAkcGF0Y2hfbW9kZSA9ICdzdGFnZSc7CkBAIC0xNjMsNyArMTc3LDkgQEAKIAl9IGVsc2UgewogCQlteSAkZmggPSB1bmRlZjsKIAkJb3BlbigkZmgsICctfCcsIEBfKSBvciBkaWU7Ci0JCXJldHVybiA8JGZoPjsKKwkJbXkgQG91dCA9IDwkZmg+OworCQljbG9zZSAkZmggfHwgZGllICJDYW5ub3QgY2xvc2UgQF8gKCQhKSI7CisJCXJldHVybiBAb3V0OwogCX0KIH0KIApAQCAtMjEwLDcgKzIyNiw3IEBACiAJc3ViIGdldF9lbXB0eV90cmVlIHsKIAkJcmV0dXJuICRlbXB0eV90cmVlIGlmIGRlZmluZWQgJGVtcHR5X3RyZWU7CiAKLQkJJGVtcHR5X3RyZWUgPSBydW5fY21kX3BpcGUocXcoZ2l0IGhhc2gtb2JqZWN0IC10IHRyZWUgL2Rldi9udWxsKSk7CisJCSgkZW1wdHlfdHJlZSkgPSBydW5fY21kX3BpcGUocXcoZ2l0IGhhc2gtb2JqZWN0IC10IHRyZWUgL2Rldi9udWxsKSk7CiAJCWNob21wICRlbXB0eV90cmVlOwogCQlyZXR1cm4gJGVtcHR5X3RyZWU7CiAJfQpAQCAtOTcyLDcgKzk4OCwxMSBAQAogCQkJbmV4dDsKIAkJfQogCQlpZiAoJG9mc19kZWx0YSkgewotCQkJJG5fb2ZzICs9ICRvZnNfZGVsdGE7CisJCQlpZiAoJHBhdGNoX21vZGVfZmxhdm91cntJU19SRVZFUlNFfSkgeworCQkJCSRvX29mcyAtPSAkb2ZzX2RlbHRhOworCQkJfSBlbHNlIHsKKwkJCQkkbl9vZnMgKz0gJG9mc19kZWx0YTsKKwkJCX0KIAkJCSRfLT57VEVYVH0tPlswXSA9IGZvcm1hdF9odW5rX2hlYWRlcigkb19vZnMsICRvX2NudCwKIAkJCQkJCQkgICAgICRuX29mcywgJG5fY250KTsKIAkJfQpAQCAtMTA1MCw2ICsxMDcwLDEyIEBACiAJY2hlY2tvdXRfbm90aGVhZCA9PiBOX18oCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmUKIG1hcmtlZCBmb3IgYXBwbHlpbmcuIiksCisJd29ya3RyZWVfaGVhZCA9PiBOX18oCisiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmUKK21hcmtlZCBmb3IgZGlzY2FyZGluZy4iKSwKKwl3b3JrdHJlZV9ub3RoZWFkID0+IE5fXygKKyJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZQorbWFya2VkIGZvciBhcHBseWluZy4iKSwKICk7CiAKIHN1YiByZWNvdW50X2VkaXRlZF9odW5rIHsKQEAgLTExMDMsNyArMTEyOSw3IEBACiBFT0YyCiAJY2xvc2UgJGZoOwogCi0JY2hvbXAobXkgJGVkaXRvciA9IHJ1bl9jbWRfcGlwZShxdyhnaXQgdmFyIEdJVF9FRElUT1IpKSk7CisJY2hvbXAobXkgKCRlZGl0b3IpID0gcnVuX2NtZF9waXBlKHF3KGdpdCB2YXIgR0lUX0VESVRPUikpKTsKIAlzeXN0ZW0oJ3NoJywgJy1jJywgJGVkaXRvci4nICIkQCInLCAkZWRpdG9yLCAkaHVua2ZpbGUpOwogCiAJaWYgKCQ/ICE9IDApIHsKQEAgLTEyNjAsNiArMTI4NiwxOCBAQAogcSAtIHF1aXQ7IGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lcwogYSAtIGFwcGx5IHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlCiBkIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIiksCisJd29ya3RyZWVfaGVhZCA9PiBOX18oCisieSAtIGRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWUKK24gLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZQorcSAtIHF1aXQ7IGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzCithIC0gZGlzY2FyZCB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZQorZCAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIiksCisJd29ya3RyZWVfbm90aGVhZCA9PiBOX18oCisieSAtIGFwcGx5IHRoaXMgaHVuayB0byB3b3JrdHJlZQorbiAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgdG8gd29ya3RyZWUKK3EgLSBxdWl0OyBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXMKK2EgLSBhcHBseSB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZQorZCAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIpLAogKTsKIAogc3ViIGhlbHBfcGF0Y2hfY21kIHsKQEAgLTE0MjEsNiArMTQ1OSwxNiBAQAogCQlkZWxldGlvbiA9PiBOX18oIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIpLAogCQlodW5rID0+IE5fXygiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIpLAogCX0sCisJd29ya3RyZWVfaGVhZCA9PiB7CisJCW1vZGUgPT4gTl9fKCJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiKSwKKwkJZGVsZXRpb24gPT4gTl9fKCJEaXNjYXJkIGRlbGV0aW9uIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiKSwKKwkJaHVuayA9PiBOX18oIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiKSwKKwl9LAorCXdvcmt0cmVlX25vdGhlYWQgPT4geworCQltb2RlID0+IE5fXygiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiKSwKKwkJZGVsZXRpb24gPT4gTl9fKCJBcHBseSBkZWxldGlvbiB0byB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIpLAorCQlodW5rID0+IE5fXygiQXBwbHkgdGhpcyBodW5rIHRvIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIiksCisJfSwKICk7CiAKIHN1YiBwYXRjaF91cGRhdGVfZmlsZSB7CkBAIC0xNDk1LDcgKzE1NDMsNyBAQAogCQlmb3IgKEB7JGh1bmtbJGl4XXtESVNQTEFZfX0pIHsKIAkJCXByaW50OwogCQl9Ci0JCXByaW50IGNvbG9yZWQgJHByb21wdF9jb2xvciwKKwkJcHJpbnQgY29sb3JlZCAkcHJvbXB0X2NvbG9yLCAiKCIsICgkaXgrMSksICIvJG51bSkgIiwKIAkJCXNwcmludGYoX18oJHBhdGNoX3VwZGF0ZV9wcm9tcHRfbW9kZXN7JHBhdGNoX21vZGV9eyRodW5rWyRpeF17VFlQRX19KSwgJG90aGVyKTsKIAogCQlteSAkbGluZSA9IHByb21wdF9zaW5nbGVfY2hhcmFjdGVyOwpAQCAtMTc1Niw2ICsxODA0LDE2IEBACiAJCQkJCQkgICAgICAgJ2NoZWNrb3V0X2hlYWQnIDogJ2NoZWNrb3V0X25vdGhlYWQnKTsKIAkJCQkJJGFyZyA9IHNoaWZ0IEBBUkdWIG9yIGRpZSBfXygibWlzc2luZyAtLSIpOwogCQkJCX0KKwkJCX0gZWxzaWYgKCQxIGVxICd3b3JrdHJlZScpIHsKKwkJCQkkYXJnID0gc2hpZnQgQEFSR1Ygb3IgZGllIF9fKCJtaXNzaW5nIC0tIik7CisJCQkJaWYgKCRhcmcgZXEgJy0tJykgeworCQkJCQkkcGF0Y2hfbW9kZSA9ICdjaGVja291dF9pbmRleCc7CisJCQkJfSBlbHNlIHsKKwkJCQkJJHBhdGNoX21vZGVfcmV2aXNpb24gPSAkYXJnOworCQkJCQkkcGF0Y2hfbW9kZSA9ICgkYXJnIGVxICdIRUFEJyA/CisJCQkJCQkgICAgICAgJ3dvcmt0cmVlX2hlYWQnIDogJ3dvcmt0cmVlX25vdGhlYWQnKTsKKwkJCQkJJGFyZyA9IHNoaWZ0IEBBUkdWIG9yIGRpZSBfXygibWlzc2luZyAtLSIpOworCQkJCX0KIAkJCX0gZWxzaWYgKCQxIGVxICdzdGFnZScgb3IgJDEgZXEgJ3N0YXNoJykgewogCQkJCSRwYXRjaF9tb2RlID0gJDE7CiAJCQkJJGFyZyA9IHNoaWZ0IEBBUkdWIG9yIGRpZSBfXygibWlzc2luZyAtLSIpOwpkaWZmIC0tZ2l0IGEvZ2l0LWJpc2VjdC5zaCBiL2dpdC1iaXNlY3Quc2gKaW5kZXggNTRjYmZlYy4uZWZlZTEyYiAxMDA3NTUKLS0tIGEvZ2l0LWJpc2VjdC5zaAorKysgYi9naXQtYmlzZWN0LnNoCkBAIC03MSwxMjIgKzcxLDcgQEAKIH0KIAogYmlzZWN0X3N0YXJ0KCkgewotCSMKLQkjIENoZWNrIGZvciBvbmUgYmFkIGFuZCB0aGVuIHNvbWUgZ29vZCByZXZpc2lvbnMuCi0JIwotCWhhc19kb3VibGVfZGFzaD0wCi0JZm9yIGFyZzsgZG8KLQkJY2FzZSAiJGFyZyIgaW4gLS0pIGhhc19kb3VibGVfZGFzaD0xOyBicmVhayA7OyBlc2FjCi0JZG9uZQotCW9yaWdfYXJncz0kKGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSAiJEAiKQotCWJhZF9zZWVuPTAKLQlldmFsPScnCi0JbXVzdF93cml0ZV90ZXJtcz0wCi0JcmV2cz0nJwotCWlmIHRlc3QgInokKGdpdCByZXYtcGFyc2UgLS1pcy1iYXJlLXJlcG9zaXRvcnkpIiAhPSB6ZmFsc2UKLQl0aGVuCi0JCW1vZGU9LS1uby1jaGVja291dAotCWVsc2UKLQkJbW9kZT0nJwotCWZpCi0Jd2hpbGUgWyAkIyAtZ3QgMCBdOyBkbwotCQlhcmc9IiQxIgotCQljYXNlICIkYXJnIiBpbgotCQktLSkKLQkJCXNoaWZ0Ci0JCQlicmVhawotCQk7OwotCQktLW5vLWNoZWNrb3V0KQotCQkJbW9kZT0tLW5vLWNoZWNrb3V0Ci0JCQlzaGlmdCA7OwotCQktLXRlcm0tZ29vZHwtLXRlcm0tb2xkKQotCQkJc2hpZnQKLQkJCW11c3Rfd3JpdGVfdGVybXM9MQotCQkJVEVSTV9HT09EPSQxCi0JCQlzaGlmdCA7OwotCQktLXRlcm0tZ29vZD0qfC0tdGVybS1vbGQ9KikKLQkJCW11c3Rfd3JpdGVfdGVybXM9MQotCQkJVEVSTV9HT09EPSR7MSMqPX0KLQkJCXNoaWZ0IDs7Ci0JCS0tdGVybS1iYWR8LS10ZXJtLW5ldykKLQkJCXNoaWZ0Ci0JCQltdXN0X3dyaXRlX3Rlcm1zPTEKLQkJCVRFUk1fQkFEPSQxCi0JCQlzaGlmdCA7OwotCQktLXRlcm0tYmFkPSp8LS10ZXJtLW5ldz0qKQotCQkJbXVzdF93cml0ZV90ZXJtcz0xCi0JCQlURVJNX0JBRD0kezEjKj19Ci0JCQlzaGlmdCA7OwotCQktLSopCi0JCQlkaWUgIiQoZXZhbF9nZXR0ZXh0ICJ1bnJlY29nbmlzZWQgb3B0aW9uOiAnXCRhcmcnIikiIDs7Ci0JCSopCi0JCQlyZXY9JChnaXQgcmV2LXBhcnNlIC1xIC0tdmVyaWZ5ICIkYXJnXntjb21taXR9IikgfHwgewotCQkJCXRlc3QgJGhhc19kb3VibGVfZGFzaCAtZXEgMSAmJgotCQkJCWRpZSAiJChldmFsX2dldHRleHQgIidcJGFyZycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgdmFsaWQgcmV2aXNpb24iKSIKLQkJCQlicmVhawotCQkJfQotCQkJcmV2cz0iJHJldnMgJHJldiIKLQkJCXNoaWZ0Ci0JCQk7OwotCQllc2FjCi0JZG9uZQotCi0JZm9yIHJldiBpbiAkcmV2cwotCWRvCi0JCSMgVGhlIHVzZXIgcmFuICJnaXQgYmlzZWN0IHN0YXJ0IDxzaGExPgotCQkjIDxzaGExPiIsIGhlbmNlIGRpZCBub3QgZXhwbGljaXRseSBzcGVjaWZ5Ci0JCSMgdGhlIHRlcm1zLCBidXQgd2UgYXJlIGFscmVhZHkgc3RhcnRpbmcgdG8KLQkJIyBzZXQgcmVmZXJlbmNlcyBuYW1lZCB3aXRoIHRoZSBkZWZhdWx0IHRlcm1zLAotCQkjIGFuZCB3b24ndCBiZSBhYmxlIHRvIGNoYW5nZSBhZnRlcndhcmRzLgotCQltdXN0X3dyaXRlX3Rlcm1zPTEKLQotCQljYXNlICRiYWRfc2VlbiBpbgotCQkwKSBzdGF0ZT0kVEVSTV9CQUQgOyBiYWRfc2Vlbj0xIDs7Ci0JCSopIHN0YXRlPSRURVJNX0dPT0QgOzsKLQkJZXNhYwotCQlldmFsPSIkZXZhbCBiaXNlY3Rfd3JpdGUgJyRzdGF0ZScgJyRyZXYnICdub2xvZycgJiYiCi0JZG9uZQotCSMKLQkjIFZlcmlmeSBIRUFELgotCSMKLQloZWFkPSQoR0lUX0RJUj0iJEdJVF9ESVIiIGdpdCBzeW1ib2xpYy1yZWYgLXEgSEVBRCkgfHwKLQloZWFkPSQoR0lUX0RJUj0iJEdJVF9ESVIiIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCkgfHwKLQlkaWUgIiQoZ2V0dGV4dCAiQmFkIEhFQUQgLSBJIG5lZWQgYSBIRUFEIikiCi0KLQkjCi0JIyBDaGVjayBpZiB3ZSBhcmUgYmlzZWN0aW5nLgotCSMKLQlzdGFydF9oZWFkPScnCi0JaWYgdGVzdCAtcyAiJEdJVF9ESVIvQklTRUNUX1NUQVJUIgotCXRoZW4KLQkJIyBSZXNldCB0byB0aGUgcmV2IGZyb20gd2hlcmUgd2Ugc3RhcnRlZC4KLQkJc3RhcnRfaGVhZD0kKGNhdCAiJEdJVF9ESVIvQklTRUNUX1NUQVJUIikKLQkJaWYgdGVzdCAieiRtb2RlIiAhPSAiei0tbm8tY2hlY2tvdXQiCi0JCXRoZW4KLQkJCWdpdCBjaGVja291dCAiJHN0YXJ0X2hlYWQiIC0tIHx8Ci0JCQlkaWUgIiQoZXZhbF9nZXR0ZXh0ICJDaGVja2luZyBvdXQgJ1wkc3RhcnRfaGVhZCcgZmFpbGVkLiBUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPHZhbGlkLWJyYW5jaD4nLiIpIgotCQlmaQotCWVsc2UKLQkJIyBHZXQgcmV2IGZyb20gd2hlcmUgd2Ugc3RhcnQuCi0JCWNhc2UgIiRoZWFkIiBpbgotCQlyZWZzL2hlYWRzLyp8JF94NDApCi0JCQkjIFRoaXMgZXJyb3IgbWVzc2FnZSBzaG91bGQgb25seSBiZSB0cmlnZ2VyZWQgYnkKLQkJCSMgY29naXRvIHVzYWdlLCBhbmQgY29naXRvIHVzZXJzIHNob3VsZCB1bmRlcnN0YW5kCi0JCQkjIGl0IHJlbGF0ZXMgdG8gY2ctc2Vlay4KLQkJCVsgLXMgIiRHSVRfRElSL2hlYWQtbmFtZSIgXSAmJgotCQkJCWRpZSAiJChnZXR0ZXh0ICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIikiCi0JCQlzdGFydF9oZWFkPSIke2hlYWQjcmVmcy9oZWFkcy99IgotCQkJOzsKLQkJKikKLQkJCWRpZSAiJChnZXR0ZXh0ICJCYWQgSEVBRCAtIHN0cmFuZ2Ugc3ltYm9saWMgcmVmIikiCi0JCQk7OwotCQllc2FjCi0JZmkKLQotCSMKLQkjIEdldCByaWQgb2YgYW55IG9sZCBiaXNlY3Qgc3RhdGUuCi0JIwotCWdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1jbGVhbi1zdGF0ZSB8fCBleGl0CisJZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXN0YXJ0ICRAIHx8IGV4aXQKIAogCSMKIAkjIENoYW5nZSBzdGF0ZS4KQEAgLTE5OSw0NCArODQsMTQgQEAKIAl0cmFwICdleGl0IDI1NScgMSAyIDMgMTUKIAogCSMKLQkjIFdyaXRlIG5ldyBzdGFydCBzdGF0ZS4KLQkjCi0JZWNobyAiJHN0YXJ0X2hlYWQiID4iJEdJVF9ESVIvQklTRUNUX1NUQVJUIiAmJiB7Ci0JCXRlc3QgInokbW9kZSIgIT0gInotLW5vLWNoZWNrb3V0IiB8fAotCQlnaXQgdXBkYXRlLXJlZiAtLW5vLWRlcmVmIEJJU0VDVF9IRUFEICIkc3RhcnRfaGVhZCIKLQl9ICYmCi0JZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlICIkQCIgPiIkR0lUX0RJUi9CSVNFQ1RfTkFNRVMiICYmCi0JZXZhbCAiJGV2YWwgdHJ1ZSIgJiYKLQlpZiB0ZXN0ICRtdXN0X3dyaXRlX3Rlcm1zIC1lcSAxCi0JdGhlbgotCQlnaXQgYmlzZWN0LS1oZWxwZXIgLS13cml0ZS10ZXJtcyAiJFRFUk1fQkFEIiAiJFRFUk1fR09PRCIgfHwgZXhpdAotCWZpICYmCi0JZWNobyAiZ2l0IGJpc2VjdCBzdGFydCRvcmlnX2FyZ3MiID4+IiRHSVRfRElSL0JJU0VDVF9MT0ciIHx8IGV4aXQKLQkjCiAJIyBDaGVjayBpZiB3ZSBjYW4gcHJvY2VlZCB0byB0aGUgbmV4dCBiaXNlY3Qgc3RhdGUuCiAJIworCWdldF90ZXJtcwogCWJpc2VjdF9hdXRvX25leHQKIAogCXRyYXAgJy0nIDAKIH0KIAotYmlzZWN0X3dyaXRlKCkgewotCXN0YXRlPSIkMSIKLQlyZXY9IiQyIgotCW5vbG9nPSIkMyIKLQljYXNlICIkc3RhdGUiIGluCi0JCSIkVEVSTV9CQUQiKQotCQkJdGFnPSIkc3RhdGUiIDs7Ci0JCSIkVEVSTV9HT09EInxza2lwKQotCQkJdGFnPSIkc3RhdGUiLSIkcmV2IiA7OwotCQkqKQotCQkJZGllICIkKGV2YWxfZ2V0dGV4dCAiQmFkIGJpc2VjdF93cml0ZSBhcmd1bWVudDogXCRzdGF0ZSIpIiA7OwotCWVzYWMKLQlnaXQgdXBkYXRlLXJlZiAicmVmcy9iaXNlY3QvJHRhZyIgIiRyZXYiIHx8IGV4aXQKLQllY2hvICIjICRzdGF0ZTogJChnaXQgc2hvdy1icmFuY2ggJHJldikiID4+IiRHSVRfRElSL0JJU0VDVF9MT0ciCi0JdGVzdCAtbiAiJG5vbG9nIiB8fCBlY2hvICJnaXQgYmlzZWN0ICRzdGF0ZSAkcmV2IiA+PiIkR0lUX0RJUi9CSVNFQ1RfTE9HIgotfQotCiBiaXNlY3Rfc2tpcCgpIHsKIAlhbGw9JycKIAlmb3IgYXJnIGluICIkQCIKQEAgLTI1NSw3ICsxMTAsOCBAQAogYmlzZWN0X3N0YXRlKCkgewogCWJpc2VjdF9hdXRvc3RhcnQKIAlzdGF0ZT0kMQotCWNoZWNrX2FuZF9zZXRfdGVybXMgJHN0YXRlCisJZ2l0IGJpc2VjdC0taGVscGVyIC0tY2hlY2stYW5kLXNldC10ZXJtcyAkc3RhdGUgJFRFUk1fR09PRCAkVEVSTV9CQUQgfHwgZXhpdAorCWdldF90ZXJtcwogCWNhc2UgIiQjLCRzdGF0ZSIgaW4KIAkwLCopCiAJCWRpZSAiUGxlYXNlIGNhbGwgJ2Jpc2VjdF9zdGF0ZScgd2l0aCBhdCBsZWFzdCBvbmUgYXJndW1lbnQuIiA7OwpAQCAtMjYzLDcgKzExOSw3IEBACiAJCWJpc2VjdGVkX2hlYWQ9JChiaXNlY3RfaGVhZCkKIAkJcmV2PSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAiJGJpc2VjdGVkX2hlYWQiKSB8fAogCQkJZGllICIkKGV2YWxfZ2V0dGV4dCAiQmFkIHJldiBpbnB1dDogXCRiaXNlY3RlZF9oZWFkIikiCi0JCWJpc2VjdF93cml0ZSAiJHN0YXRlIiAiJHJldiIKKwkJZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXdyaXRlICIkc3RhdGUiICIkcmV2IiAiJFRFUk1fR09PRCIgIiRURVJNX0JBRCIgfHwgZXhpdAogCQlnaXQgYmlzZWN0LS1oZWxwZXIgLS1jaGVjay1leHBlY3RlZC1yZXZzICIkcmV2IiA7OwogCTIsIiRURVJNX0JBRCJ8KiwiJFRFUk1fR09PRCJ8Kixza2lwKQogCQlzaGlmdApAQCAtMjc2LDcgKzEzMiw3IEBACiAJCWRvbmUKIAkJZm9yIHJldiBpbiAkaGFzaF9saXN0CiAJCWRvCi0JCQliaXNlY3Rfd3JpdGUgIiRzdGF0ZSIgIiRyZXYiCisJCQlnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtd3JpdGUgIiRzdGF0ZSIgIiRyZXYiICIkVEVSTV9HT09EIiAiJFRFUk1fQkFEIiB8fCBleGl0CiAJCWRvbmUKIAkJZ2l0IGJpc2VjdC0taGVscGVyIC0tY2hlY2stZXhwZWN0ZWQtcmV2cyAkaGFzaF9saXN0IDs7CiAJKiwiJFRFUk1fQkFEIikKQEAgLTI4Nyw1OSArMTQzLDE0IEBACiAJYmlzZWN0X2F1dG9fbmV4dAogfQogCi1iaXNlY3RfbmV4dF9jaGVjaygpIHsKLQltaXNzaW5nX2dvb2Q9IG1pc3NpbmdfYmFkPQotCWdpdCBzaG93LXJlZiAtcSAtLXZlcmlmeSByZWZzL2Jpc2VjdC8kVEVSTV9CQUQgfHwgbWlzc2luZ19iYWQ9dAotCXRlc3QgLW4gIiQoZ2l0IGZvci1lYWNoLXJlZiAicmVmcy9iaXNlY3QvJFRFUk1fR09PRC0qIikiIHx8IG1pc3NpbmdfZ29vZD10Ci0KLQljYXNlICIkbWlzc2luZ19nb29kLCRtaXNzaW5nX2JhZCwkMSIgaW4KLQksLCopCi0JCTogaGF2ZSBib3RoICRURVJNX0dPT0QgYW5kICRURVJNX0JBRCAtIG9rCi0JCTs7Ci0JKiwpCi0JCSMgZG8gbm90IGhhdmUgYm90aCBidXQgbm90IGFza2VkIHRvIGZhaWwgLSBqdXN0IHJlcG9ydC4KLQkJZmFsc2UKLQkJOzsKLQl0LCwiJFRFUk1fR09PRCIpCi0JCSMgaGF2ZSBiYWQgKG9yIG5ldykgYnV0IG5vdCBnb29kIChvciBvbGQpLiAgd2UgY291bGQgYmlzZWN0IGFsdGhvdWdoCi0JCSMgdGhpcyBpcyBsZXNzIG9wdGltdW0uCi0JCWV2YWxfZ2V0dGV4dGxuICJXYXJuaW5nOiBiaXNlY3Rpbmcgb25seSB3aXRoIGEgXCRURVJNX0JBRCBjb21taXQuIiA+JjIKLQkJaWYgdGVzdCAtdCAwCi0JCXRoZW4KLQkJCSMgVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtZXSBhbmQgW25dIGluIHlvdXIKLQkJCSMgdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAotCQkJIyBhdCB0aGlzIHBvaW50LgotCQkJZ2V0dGV4dCAiQXJlIHlvdSBzdXJlIFtZL25dPyAiID4mMgotCQkJcmVhZCB5ZXNubwotCQkJY2FzZSAiJHllc25vIiBpbiBbTm5dKikgZXhpdCAxIDs7IGVzYWMKLQkJZmkKLQkJOiBiaXNlY3Qgd2l0aG91dCAkVEVSTV9HT09ELi4uCi0JCTs7Ci0JKikKLQkJYmFkX3N5bj0kKGJpc2VjdF92b2MgYmFkKQotCQlnb29kX3N5bj0kKGJpc2VjdF92b2MgZ29vZCkKLQkJaWYgdGVzdCAtcyAiJEdJVF9ESVIvQklTRUNUX1NUQVJUIgotCQl0aGVuCi0KLQkJCWV2YWxfZ2V0dGV4dGxuICJZb3UgbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSBcJGJhZF9zeW4gYW5kIG9uZSBcJGdvb2Rfc3luIHJldmlzaW9uLgotKFlvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCBcJGJhZF9zeW5cIiBhbmQgXCJnaXQgYmlzZWN0IFwkZ29vZF9zeW5cIiBmb3IgdGhhdC4pIiA+JjIKLQkJZWxzZQotCQkJZXZhbF9nZXR0ZXh0bG4gIllvdSBuZWVkIHRvIHN0YXJ0IGJ5IFwiZ2l0IGJpc2VjdCBzdGFydFwiLgotWW91IHRoZW4gbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSBcJGdvb2Rfc3luIGFuZCBvbmUgXCRiYWRfc3luIHJldmlzaW9uLgotKFlvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCBcJGJhZF9zeW5cIiBhbmQgXCJnaXQgYmlzZWN0IFwkZ29vZF9zeW5cIiBmb3IgdGhhdC4pIiA+JjIKLQkJZmkKLQkJZXhpdCAxIDs7Ci0JZXNhYwotfQotCiBiaXNlY3RfYXV0b19uZXh0KCkgewotCWJpc2VjdF9uZXh0X2NoZWNrICYmIGJpc2VjdF9uZXh0IHx8IDoKKwlnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtbmV4dC1jaGVjayAkVEVSTV9HT09EICRURVJNX0JBRCAmJiBiaXNlY3RfbmV4dCB8fCA6CiB9CiAKIGJpc2VjdF9uZXh0KCkgewogCWNhc2UgIiQjIiBpbiAwKSA7OyAqKSB1c2FnZSA7OyBlc2FjCiAJYmlzZWN0X2F1dG9zdGFydAotCWJpc2VjdF9uZXh0X2NoZWNrICRURVJNX0dPT0QKKwlnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtbmV4dC1jaGVjayAkVEVSTV9HT09EICRURVJNX0JBRCAkVEVSTV9HT09EfHwgZXhpdAogCiAJIyBQZXJmb3JtIGFsbCBiaXNlY3Rpb24gY29tcHV0YXRpb24sIGRpc3BsYXkgYW5kIGNoZWNrb3V0CiAJZ2l0IGJpc2VjdC0taGVscGVyIC0tbmV4dC1hbGwgJCh0ZXN0IC1mICIkR0lUX0RJUi9CSVNFQ1RfSEVBRCIgJiYgZWNobyAtLW5vLWNoZWNrb3V0KQpAQCAtMzcxLDcgKzE4Miw3IEBACiB9CiAKIGJpc2VjdF92aXN1YWxpemUoKSB7Ci0JYmlzZWN0X25leHRfY2hlY2sgZmFpbAorCWdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1uZXh0LWNoZWNrICRURVJNX0dPT0QgJFRFUk1fQkFEIGZhaWwgfHwgZXhpdAogCiAJaWYgdGVzdCAkIyA9IDAKIAl0aGVuCkBAIC0zOTMsMzUgKzIwNCwxMSBAQAogCWV2YWwgJyIkQCInIC0tYmlzZWN0IC0tICQoY2F0ICIkR0lUX0RJUi9CSVNFQ1RfTkFNRVMiKQogfQogCi1iaXNlY3RfcmVzZXQoKSB7Ci0JdGVzdCAtcyAiJEdJVF9ESVIvQklTRUNUX1NUQVJUIiB8fCB7Ci0JCWdldHRleHRsbiAiV2UgYXJlIG5vdCBiaXNlY3RpbmcuIgotCQlyZXR1cm4KLQl9Ci0JY2FzZSAiJCMiIGluCi0JMCkgYnJhbmNoPSQoY2F0ICIkR0lUX0RJUi9CSVNFQ1RfU1RBUlQiKSA7OwotCTEpIGdpdCByZXYtcGFyc2UgLS1xdWlldCAtLXZlcmlmeSAiJDFee2NvbW1pdH0iID4vZGV2L251bGwgfHwgewotCQkJaW52YWxpZD0iJDEiCi0JCQlkaWUgIiQoZXZhbF9nZXR0ZXh0ICInXCRpbnZhbGlkJyBpcyBub3QgYSB2YWxpZCBjb21taXQiKSIKLQkJfQotCQlicmFuY2g9IiQxIiA7OwotCSopCi0JCXVzYWdlIDs7Ci0JZXNhYwotCi0JaWYgISB0ZXN0IC1mICIkR0lUX0RJUi9CSVNFQ1RfSEVBRCIgJiYgISBnaXQgY2hlY2tvdXQgIiRicmFuY2giIC0tCi0JdGhlbgotCQlkaWUgIiQoZXZhbF9nZXR0ZXh0ICJDb3VsZCBub3QgY2hlY2sgb3V0IG9yaWdpbmFsIEhFQUQgJ1wkYnJhbmNoJy4KLVRyeSAnZ2l0IGJpc2VjdCByZXNldCA8Y29tbWl0PicuIikiCi0JZmkKLQlnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2xlYW4tc3RhdGUgfHwgZXhpdAotfQotCiBiaXNlY3RfcmVwbGF5ICgpIHsKIAlmaWxlPSIkMSIKIAl0ZXN0ICIkIyIgLWVxIDEgfHwgZGllICIkKGdldHRleHQgIk5vIGxvZ2ZpbGUgZ2l2ZW4iKSIKIAl0ZXN0IC1yICIkZmlsZSIgfHwgZGllICIkKGV2YWxfZ2V0dGV4dCAiY2Fubm90IHJlYWQgXCRmaWxlIGZvciByZXBsYXlpbmciKSIKLQliaXNlY3RfcmVzZXQKKwlnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtcmVzZXQgfHwgZXhpdAogCXdoaWxlIHJlYWQgZ2l0IGJpc2VjdCBjb21tYW5kIHJldgogCWRvCiAJCXRlc3QgIiRnaXQgJGJpc2VjdCIgPSAiZ2l0IGJpc2VjdCIgfHwgdGVzdCAiJGdpdCIgPSAiZ2l0LWJpc2VjdCIgfHwgY29udGludWUKQEAgLTQzMSwxNSArMjE4LDE2IEBACiAJCQljb21tYW5kPSIkYmlzZWN0IgogCQlmaQogCQlnZXRfdGVybXMKLQkJY2hlY2tfYW5kX3NldF90ZXJtcyAiJGNvbW1hbmQiCisJCWdpdCBiaXNlY3QtLWhlbHBlciAtLWNoZWNrLWFuZC1zZXQtdGVybXMgIiRjb21tYW5kIiAiJFRFUk1fR09PRCIgIiRURVJNX0JBRCIgfHwgZXhpdAorCQlnZXRfdGVybXMKIAkJY2FzZSAiJGNvbW1hbmQiIGluCiAJCXN0YXJ0KQogCQkJY21kPSJiaXNlY3Rfc3RhcnQgJHJldiIKIAkJCWV2YWwgIiRjbWQiIDs7CiAJCSIkVEVSTV9HT09EInwiJFRFUk1fQkFEInxza2lwKQotCQkJYmlzZWN0X3dyaXRlICIkY29tbWFuZCIgIiRyZXYiIDs7CisJCQlnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtd3JpdGUgIiRjb21tYW5kIiAiJHJldiIgIiRURVJNX0dPT0QiICIkVEVSTV9CQUQiIHx8IGV4aXQ7OwogCQl0ZXJtcykKLQkJCWJpc2VjdF90ZXJtcyAkcmV2IDs7CisJCQlnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtdGVybXMgJHJldiB8fCBleGl0OzsKIAkJKikKIAkJCWRpZSAiJChnZXR0ZXh0ICI/PyB3aGF0IGFyZSB5b3UgdGFsa2luZyBhYm91dD8iKSIgOzsKIAkJZXNhYwpAQCAtNDQ4LDcgKzIzNiw3IEBACiB9CiAKIGJpc2VjdF9ydW4gKCkgewotCWJpc2VjdF9uZXh0X2NoZWNrIGZhaWwKKwlnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtbmV4dC1jaGVjayAkVEVSTV9HT09EICRURVJNX0JBRCBmYWlsIHx8IGV4aXQKIAogCXRlc3QgLW4gIiQqIiB8fCBkaWUgIiQoZ2V0dGV4dCAiYmlzZWN0IHJ1biBmYWlsZWQ6IG5vIGNvbW1hbmQgcHJvdmlkZWQuIikiCiAKQEAgLTUyMyw3NCArMzExLDYgQEAKIAlmaQogfQogCi1jaGVja19hbmRfc2V0X3Rlcm1zICgpIHsKLQljbWQ9IiQxIgotCWNhc2UgIiRjbWQiIGluCi0Jc2tpcHxzdGFydHx0ZXJtcykgOzsKLQkqKQotCQlpZiB0ZXN0IC1zICIkR0lUX0RJUi9CSVNFQ1RfVEVSTVMiICYmIHRlc3QgIiRjbWQiICE9ICIkVEVSTV9CQUQiICYmIHRlc3QgIiRjbWQiICE9ICIkVEVSTV9HT09EIgotCQl0aGVuCi0JCQlkaWUgIiQoZXZhbF9nZXR0ZXh0ICJJbnZhbGlkIGNvbW1hbmQ6IHlvdSdyZSBjdXJyZW50bHkgaW4gYSBcJFRFUk1fQkFEL1wkVEVSTV9HT09EIGJpc2VjdC4iKSIKLQkJZmkKLQkJY2FzZSAiJGNtZCIgaW4KLQkJYmFkfGdvb2QpCi0JCQlpZiAhIHRlc3QgLXMgIiRHSVRfRElSL0JJU0VDVF9URVJNUyIKLQkJCXRoZW4KLQkJCQlURVJNX0JBRD1iYWQKLQkJCQlURVJNX0dPT0Q9Z29vZAotCQkJCWdpdCBiaXNlY3QtLWhlbHBlciAtLXdyaXRlLXRlcm1zICIkVEVSTV9CQUQiICIkVEVSTV9HT09EIiB8fCBleGl0Ci0JCQlmaQotCQkJOzsKLQkJbmV3fG9sZCkKLQkJCWlmICEgdGVzdCAtcyAiJEdJVF9ESVIvQklTRUNUX1RFUk1TIgotCQkJdGhlbgotCQkJCVRFUk1fQkFEPW5ldwotCQkJCVRFUk1fR09PRD1vbGQKLQkJCQlnaXQgYmlzZWN0LS1oZWxwZXIgLS13cml0ZS10ZXJtcyAiJFRFUk1fQkFEIiAiJFRFUk1fR09PRCIgfHwgZXhpdAotCQkJZmkKLQkJCTs7Ci0JCWVzYWMgOzsKLQllc2FjCi19Ci0KLWJpc2VjdF92b2MgKCkgewotCWNhc2UgIiQxIiBpbgotCWJhZCkgZWNobyAiYmFkfG5ldyIgOzsKLQlnb29kKSBlY2hvICJnb29kfG9sZCIgOzsKLQllc2FjCi19Ci0KLWJpc2VjdF90ZXJtcyAoKSB7Ci0JZ2V0X3Rlcm1zCi0JaWYgISB0ZXN0IC1zICIkR0lUX0RJUi9CSVNFQ1RfVEVSTVMiCi0JdGhlbgotCQlkaWUgIiQoZ2V0dGV4dCAibm8gdGVybXMgZGVmaW5lZCIpIgotCWZpCi0JY2FzZSAiJCMiIGluCi0JMCkKLQkJZ2V0dGV4dGxuICJZb3VyIGN1cnJlbnQgdGVybXMgYXJlICRURVJNX0dPT0QgZm9yIHRoZSBvbGQgc3RhdGUKLWFuZCAkVEVSTV9CQUQgZm9yIHRoZSBuZXcgc3RhdGUuIgotCQk7OwotCTEpCi0JCWFyZz0kMQotCQljYXNlICIkYXJnIiBpbgotCQkJLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCkKLQkJCQlwcmludGYgJyVzXG4nICIkVEVSTV9HT09EIgotCQkJCTs7Ci0JCQktLXRlcm0tYmFkfC0tdGVybS1uZXcpCi0JCQkJcHJpbnRmICclc1xuJyAiJFRFUk1fQkFEIgotCQkJCTs7Ci0JCQkqKQotCQkJCWRpZSAiJChldmFsX2dldHRleHQgImludmFsaWQgYXJndW1lbnQgXCRhcmcgZm9yICdnaXQgYmlzZWN0IHRlcm1zJy4KLVN1cHBvcnRlZCBvcHRpb25zIGFyZTogLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCBhbmQgLS10ZXJtLWJhZHwtLXRlcm0tbmV3LiIpIgotCQkJCTs7Ci0JCWVzYWMKLQkJOzsKLQkqKQotCQl1c2FnZSA7OwotCWVzYWMKLX0KLQogY2FzZSAiJCMiIGluCiAwKQogCXVzYWdlIDs7CkBAIC02MTMsNyArMzMzLDcgQEAKIAl2aXN1YWxpemV8dmlldykKIAkJYmlzZWN0X3Zpc3VhbGl6ZSAiJEAiIDs7CiAJcmVzZXQpCi0JCWJpc2VjdF9yZXNldCAiJEAiIDs7CisJCWdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1yZXNldCAiJEAiIDs7CiAJcmVwbGF5KQogCQliaXNlY3RfcmVwbGF5ICIkQCIgOzsKIAlsb2cpCkBAIC02MjEsNyArMzQxLDcgQEAKIAlydW4pCiAJCWJpc2VjdF9ydW4gIiRAIiA7OwogCXRlcm1zKQotCQliaXNlY3RfdGVybXMgIiRAIiA7OworCQlnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtdGVybXMgIiRAIiB8fCBleGl0OzsKIAkqKQogCQl1c2FnZSA7OwogCWVzYWMKZGlmZiAtLWdpdCBhL2dpdC1jb21wYXQtdXRpbC5oIGIvZ2l0LWNvbXBhdC11dGlsLmgKaW5kZXggZDE3MzYwZS4uYWVkMGI1ZCAxMDA2NDQKLS0tIGEvZ2l0LWNvbXBhdC11dGlsLmgKKysrIGIvZ2l0LWNvbXBhdC11dGlsLmgKQEAgLTEsNiArMSwxNSBAQAogI2lmbmRlZiBHSVRfQ09NUEFUX1VUSUxfSAogI2RlZmluZSBHSVRfQ09NUEFUX1VUSUxfSAogCisjaWZkZWYgVVNFX01TVkNfQ1JUREJHCisvKgorICogRm9yIHRoZXNlIHRvIHdvcmsgdGhleSBtdXN0IGFwcGVhciB2ZXJ5IGVhcmx5IGluIGVhY2gKKyAqIGZpbGUgLS0gYmVmb3JlIG1vc3Qgb2YgdGhlIHN0YW5kYXJkIGhlYWRlciBmaWxlcy4KKyAqLworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGNydGRiZy5oPgorI2VuZGlmCisKICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKIAogCkBAIC02OCw3ICs3Nyw3IEBACiAjZW5kaWYKIC8qCiAgKiBBUlJBWV9TSVpFIC0gZ2V0IHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gYSB2aXNpYmxlIGFycmF5Ci0gKiAgPGF0PiB4OiB0aGUgYXJyYXkgd2hvc2Ugc2l6ZSB5b3Ugd2FudC4KKyAqIEB4OiB0aGUgYXJyYXkgd2hvc2Ugc2l6ZSB5b3Ugd2FudC4KICAqCiAgKiBUaGlzIGRvZXMgbm90IHdvcmsgb24gcG9pbnRlcnMsIG9yIGFycmF5cyBkZWNsYXJlZCBhcyBbXSwgb3IKICAqIGZ1bmN0aW9uIHBhcmFtZXRlcnMuICBXaXRoIGNvcnJlY3QgY29tcGlsZXIgc3VwcG9ydCwgc3VjaCB1c2FnZQpAQCAtMTkzLDEyICsyMDIsMTQgQEAKICNlbmRpZgogCiAjaWYgZGVmaW5lZChfX0NZR1dJTl9fKQotI2luY2x1ZGUgImNvbXBhdC9jeWd3aW4uaCIKKyNpbmNsdWRlICJjb21wYXQvd2luMzIvcGF0aC11dGlscy5oIgogI2VuZGlmCiAjaWYgZGVmaW5lZChfX01JTkdXMzJfXykKIC8qIHB1bGwgaW4gV2luZG93cyBjb21wYXRpYmlsaXR5IHN0dWZmICovCisjaW5jbHVkZSAiY29tcGF0L3dpbjMyL3BhdGgtdXRpbHMuaCIKICNpbmNsdWRlICJjb21wYXQvbWluZ3cuaCIKICNlbGlmIGRlZmluZWQoX01TQ19WRVIpCisjaW5jbHVkZSAiY29tcGF0L3dpbjMyL3BhdGgtdXRpbHMuaCIKICNpbmNsdWRlICJjb21wYXQvbXN2Yy5oIgogI2Vsc2UKICNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgpAQCAtMjQ4LDcgKzI1OSw3IEBACiAKICNpZmRlZiBNS0RJUl9XT19UUkFJTElOR19TTEFTSAogI2RlZmluZSBta2RpcihhLGIpIGNvbXBhdF9ta2Rpcl93b190cmFpbGluZ19zbGFzaCgoYSksKGIpKQotZXh0ZXJuIGludCBjb21wYXRfbWtkaXJfd29fdHJhaWxpbmdfc2xhc2goY29uc3QgY2hhciosIG1vZGVfdCk7CitpbnQgY29tcGF0X21rZGlyX3dvX3RyYWlsaW5nX3NsYXNoKGNvbnN0IGNoYXIqLCBtb2RlX3QpOwogI2VuZGlmCiAKICNpZmRlZiBOT19TVFJVQ1RfSVRJTUVSVkFMCkBAIC0yNjYsOSArMjc3LDkgQEAKICNpbmNsdWRlIDxsaWJnZW4uaD4KICNlbHNlCiAjZGVmaW5lIGJhc2VuYW1lIGdpdGJhc2VuYW1lCi1leHRlcm4gY2hhciAqZ2l0YmFzZW5hbWUoY2hhciAqKTsKK2NoYXIgKmdpdGJhc2VuYW1lKGNoYXIgKik7CiAjZGVmaW5lIGRpcm5hbWUgZ2l0ZGlybmFtZQotZXh0ZXJuIGNoYXIgKmdpdGRpcm5hbWUoY2hhciAqKTsKK2NoYXIgKmdpdGRpcm5hbWUoY2hhciAqKTsKICNlbmRpZgogCiAjaWZuZGVmIE5PX0lDT05WCkBAIC0zMDksMzAgKzMyMCwxMSBAQAogI2RlZmluZSBQQVRIX01BWCA0MDk2CiAjZW5kaWYKIAotI2lmbmRlZiBQUkl1TUFYCi0jZGVmaW5lIFBSSXVNQVggImxsdSIKLSNlbmRpZgotCi0jaWZuZGVmIFNDTnVNQVgKLSNkZWZpbmUgU0NOdU1BWCBQUkl1TUFYCi0jZW5kaWYKLQotI2lmbmRlZiBQUkl1MzIKLSNkZWZpbmUgUFJJdTMyICJ1IgotI2VuZGlmCi0KLSNpZm5kZWYgUFJJeDMyCi0jZGVmaW5lIFBSSXgzMiAieCIKLSNlbmRpZgotCi0jaWZuZGVmIFBSSW8zMgotI2RlZmluZSBQUklvMzIgIm8iCi0jZW5kaWYKLQogdHlwZWRlZiB1aW50bWF4X3QgdGltZXN0YW1wX3Q7CiAjZGVmaW5lIFBSSXRpbWUgUFJJdU1BWAogI2RlZmluZSBwYXJzZV90aW1lc3RhbXAgc3RydG91bWF4CiAjZGVmaW5lIFRJTUVfTUFYIFVJTlRNQVhfTUFYCisjZGVmaW5lIFRJTUVfTUlOIDAKIAogI2lmbmRlZiBQQVRIX1NFUAogI2RlZmluZSBQQVRIX1NFUCAnOicKQEAgLTQwMSw2ICszOTMsMTkgQEAKICNkZWZpbmUgcXVlcnlfdXNlcl9lbWFpbCgpIE5VTEwKICNlbmRpZgogCisjaWZkZWYgX19UQU5ERU0KKyNpbmNsdWRlIDxmbG9zcy5oKGZsb3NzX2V4ZWNsLGZsb3NzX2V4ZWNscCxmbG9zc19leGVjdixmbG9zc19leGVjdnApPgorI2luY2x1ZGUgPGZsb3NzLmgoZmxvc3NfZ2V0cHd1aWQpPgorI2lmbmRlZiBOU0lHCisvKgorICogTm9uU3RvcCBOU0UgYW5kIE5TWCBkbyBub3QgcHJvdmlkZSBOU0lHLiBTSUdHVUFSRElBTig5OSkgaXMgdGhlIGhpZ2hlc3QKKyAqIGtub3duLCBieSBkZXRlY3RpdmUgd29yayB1c2luZyBraWxsIC1sIGFzIGEgbGlzdCBpcyBhbGwgc2lnbmFscworICogaW5zdGVhZCBvZiBzaWduYWwuaCB3aGVyZSBpdCBzaG91bGQgYmUuCisgKi8KKyMgZGVmaW5lIE5TSUcgMTAwCisjZW5kaWYKKyNlbmRpZgorCiAjaWYgZGVmaW5lZChfX0hQX2NjKSAmJiAoX19IUF9jYyA+PSA2MTAwMCkKICNkZWZpbmUgTk9SRVRVUk4gX19hdHRyaWJ1dGVfXygobm9yZXR1cm4pKQogI2RlZmluZSBOT1JFVFVSTl9QVFIKQEAgLTQzNiwxNSArNDQxLDE1IEBACiBzdHJ1Y3Qgc3RyYnVmOwogCiAvKiBHZW5lcmFsIGhlbHBlciBmdW5jdGlvbnMgKi8KLWV4dGVybiB2b2lkIHZyZXBvcnRmKGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqZXJyLCB2YV9saXN0IHBhcmFtcyk7Ci1leHRlcm4gTk9SRVRVUk4gdm9pZCB1c2FnZShjb25zdCBjaGFyICplcnIpOwotZXh0ZXJuIE5PUkVUVVJOIHZvaWQgdXNhZ2VmKGNvbnN0IGNoYXIgKmVyciwgLi4uKSBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKTsKLWV4dGVybiBOT1JFVFVSTiB2b2lkIGRpZShjb25zdCBjaGFyICplcnIsIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7Ci1leHRlcm4gTk9SRVRVUk4gdm9pZCBkaWVfZXJybm8oY29uc3QgY2hhciAqZXJyLCAuLi4pIF9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAxLCAyKSkpOwotZXh0ZXJuIGludCBlcnJvcihjb25zdCBjaGFyICplcnIsIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7Ci1leHRlcm4gaW50IGVycm9yX2Vycm5vKGNvbnN0IGNoYXIgKmVyciwgLi4uKSBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKTsKLWV4dGVybiB2b2lkIHdhcm5pbmcoY29uc3QgY2hhciAqZXJyLCAuLi4pIF9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAxLCAyKSkpOwotZXh0ZXJuIHZvaWQgd2FybmluZ19lcnJubyhjb25zdCBjaGFyICplcnIsIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7Cit2b2lkIHZyZXBvcnRmKGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqZXJyLCB2YV9saXN0IHBhcmFtcyk7CitOT1JFVFVSTiB2b2lkIHVzYWdlKGNvbnN0IGNoYXIgKmVycik7CitOT1JFVFVSTiB2b2lkIHVzYWdlZihjb25zdCBjaGFyICplcnIsIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7CitOT1JFVFVSTiB2b2lkIGRpZShjb25zdCBjaGFyICplcnIsIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7CitOT1JFVFVSTiB2b2lkIGRpZV9lcnJubyhjb25zdCBjaGFyICplcnIsIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7CitpbnQgZXJyb3IoY29uc3QgY2hhciAqZXJyLCAuLi4pIF9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAxLCAyKSkpOworaW50IGVycm9yX2Vycm5vKGNvbnN0IGNoYXIgKmVyciwgLi4uKSBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKTsKK3ZvaWQgd2FybmluZyhjb25zdCBjaGFyICplcnIsIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7Cit2b2lkIHdhcm5pbmdfZXJybm8oY29uc3QgY2hhciAqZXJyLCAuLi4pIF9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAxLCAyKSkpOwogCiAjaWZuZGVmIE5PX09QRU5TU0wKICNpZmRlZiBBUFBMRV9DT01NT05fQ1JZUFRPCkBAIC00NzIsMTUgKzQ3NywxNSBAQAogI2RlZmluZSBlcnJvcl9lcnJubyguLi4pIChlcnJvcl9lcnJubyhfX1ZBX0FSR1NfXyksIGNvbnN0X2Vycm9yKCkpCiAjZW5kaWYKIAotZXh0ZXJuIHZvaWQgc2V0X2RpZV9yb3V0aW5lKE5PUkVUVVJOX1BUUiB2b2lkICgqcm91dGluZSkoY29uc3QgY2hhciAqZXJyLCB2YV9saXN0IHBhcmFtcykpOwotZXh0ZXJuIHZvaWQgc2V0X2Vycm9yX3JvdXRpbmUodm9pZCAoKnJvdXRpbmUpKGNvbnN0IGNoYXIgKmVyciwgdmFfbGlzdCBwYXJhbXMpKTsKK3ZvaWQgc2V0X2RpZV9yb3V0aW5lKE5PUkVUVVJOX1BUUiB2b2lkICgqcm91dGluZSkoY29uc3QgY2hhciAqZXJyLCB2YV9saXN0IHBhcmFtcykpOwordm9pZCBzZXRfZXJyb3Jfcm91dGluZSh2b2lkICgqcm91dGluZSkoY29uc3QgY2hhciAqZXJyLCB2YV9saXN0IHBhcmFtcykpOwogZXh0ZXJuIHZvaWQgKCpnZXRfZXJyb3Jfcm91dGluZSh2b2lkKSkoY29uc3QgY2hhciAqZXJyLCB2YV9saXN0IHBhcmFtcyk7Ci1leHRlcm4gdm9pZCBzZXRfd2Fybl9yb3V0aW5lKHZvaWQgKCpyb3V0aW5lKShjb25zdCBjaGFyICp3YXJuLCB2YV9saXN0IHBhcmFtcykpOwordm9pZCBzZXRfd2Fybl9yb3V0aW5lKHZvaWQgKCpyb3V0aW5lKShjb25zdCBjaGFyICp3YXJuLCB2YV9saXN0IHBhcmFtcykpOwogZXh0ZXJuIHZvaWQgKCpnZXRfd2Fybl9yb3V0aW5lKHZvaWQpKShjb25zdCBjaGFyICp3YXJuLCB2YV9saXN0IHBhcmFtcyk7Ci1leHRlcm4gdm9pZCBzZXRfZGllX2lzX3JlY3Vyc2luZ19yb3V0aW5lKGludCAoKnJvdXRpbmUpKHZvaWQpKTsKK3ZvaWQgc2V0X2RpZV9pc19yZWN1cnNpbmdfcm91dGluZShpbnQgKCpyb3V0aW5lKSh2b2lkKSk7CiAKLWV4dGVybiBpbnQgc3RhcnRzX3dpdGgoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCBpc3RhcnRzX3dpdGgoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpwcmVmaXgpOworaW50IHN0YXJ0c193aXRoKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBpc3RhcnRzX3dpdGgoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpwcmVmaXgpOwogCiAvKgogICogSWYgdGhlIHN0cmluZyAic3RyIiBiZWdpbnMgd2l0aCB0aGUgc3RyaW5nIGZvdW5kIGluICJwcmVmaXgiLCByZXR1cm4gMS4KQEAgLTYwMyw4ICs2MDgsOCBAQAogCiAjZGVmaW5lIG1tYXAgZ2l0X21tYXAKICNkZWZpbmUgbXVubWFwIGdpdF9tdW5tYXAKLWV4dGVybiB2b2lkICpnaXRfbW1hcCh2b2lkICpzdGFydCwgc2l6ZV90IGxlbmd0aCwgaW50IHByb3QsIGludCBmbGFncywgaW50IGZkLCBvZmZfdCBvZmZzZXQpOwotZXh0ZXJuIGludCBnaXRfbXVubWFwKHZvaWQgKnN0YXJ0LCBzaXplX3QgbGVuZ3RoKTsKK3ZvaWQgKmdpdF9tbWFwKHZvaWQgKnN0YXJ0LCBzaXplX3QgbGVuZ3RoLCBpbnQgcHJvdCwgaW50IGZsYWdzLCBpbnQgZmQsIG9mZl90IG9mZnNldCk7CitpbnQgZ2l0X211bm1hcCh2b2lkICpzdGFydCwgc2l6ZV90IGxlbmd0aCk7CiAKICNlbHNlIC8qIE5PX01NQVAgfHwgVVNFX1dJTjMyX01NQVAgKi8KIApAQCAtNjU4LDE3ICs2NjMsMTcgQEAKICN1bmRlZiBzdGF0CiAjZW5kaWYKICNkZWZpbmUgc3RhdChwYXRoLCBidWYpIGdpdF9zdGF0KHBhdGgsIGJ1ZikKLWV4dGVybiBpbnQgZ2l0X3N0YXQoY29uc3QgY2hhciAqLCBzdHJ1Y3Qgc3RhdCAqKTsKK2ludCBnaXRfc3RhdChjb25zdCBjaGFyICosIHN0cnVjdCBzdGF0ICopOwogI2lmZGVmIGZzdGF0CiAjdW5kZWYgZnN0YXQKICNlbmRpZgogI2RlZmluZSBmc3RhdChmZCwgYnVmKSBnaXRfZnN0YXQoZmQsIGJ1ZikKLWV4dGVybiBpbnQgZ2l0X2ZzdGF0KGludCwgc3RydWN0IHN0YXQgKik7CitpbnQgZ2l0X2ZzdGF0KGludCwgc3RydWN0IHN0YXQgKik7CiAjaWZkZWYgbHN0YXQKICN1bmRlZiBsc3RhdAogI2VuZGlmCiAjZGVmaW5lIGxzdGF0KHBhdGgsIGJ1ZikgZ2l0X2xzdGF0KHBhdGgsIGJ1ZikKLWV4dGVybiBpbnQgZ2l0X2xzdGF0KGNvbnN0IGNoYXIgKiwgc3RydWN0IHN0YXQgKik7CitpbnQgZ2l0X2xzdGF0KGNvbnN0IGNoYXIgKiwgc3RydWN0IHN0YXQgKik7CiAjZW5kaWYKIAogI2RlZmluZSBERUZBVUxUX1BBQ0tFRF9HSVRfTElNSVQgXApAQCAtNjc2LDU2ICs2ODEsNTYgQEAKIAogI2lmZGVmIE5PX1BSRUFECiAjZGVmaW5lIHByZWFkIGdpdF9wcmVhZAotZXh0ZXJuIHNzaXplX3QgZ2l0X3ByZWFkKGludCBmZCwgdm9pZCAqYnVmLCBzaXplX3QgY291bnQsIG9mZl90IG9mZnNldCk7Citzc2l6ZV90IGdpdF9wcmVhZChpbnQgZmQsIHZvaWQgKmJ1Ziwgc2l6ZV90IGNvdW50LCBvZmZfdCBvZmZzZXQpOwogI2VuZGlmCiAvKgogICogRm9yd2FyZCBkZWNsIHRoYXQgd2lsbCByZW1pbmQgdXMgaWYgaXRzIHR3aW4gaW4gY2FjaGUuaCBjaGFuZ2VzLgogICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGluIGNvbXBhdC9wcmVhZC5jLiAgQnV0IHdlIGNhbid0IGluY2x1ZGUKICAqIGNhY2hlLmggdGhlcmUuCiAgKi8KLWV4dGVybiBzc2l6ZV90IHJlYWRfaW5fZnVsbChpbnQgZmQsIHZvaWQgKmJ1Ziwgc2l6ZV90IGNvdW50KTsKK3NzaXplX3QgcmVhZF9pbl9mdWxsKGludCBmZCwgdm9pZCAqYnVmLCBzaXplX3QgY291bnQpOwogCiAjaWZkZWYgTk9fU0VURU5WCiAjZGVmaW5lIHNldGVudiBnaXRzZXRlbnYKLWV4dGVybiBpbnQgZ2l0c2V0ZW52KGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBpbnQpOworaW50IGdpdHNldGVudihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgaW50KTsKICNlbmRpZgogCiAjaWZkZWYgTk9fTUtEVEVNUAogI2RlZmluZSBta2R0ZW1wIGdpdG1rZHRlbXAKLWV4dGVybiBjaGFyICpnaXRta2R0ZW1wKGNoYXIgKik7CitjaGFyICpnaXRta2R0ZW1wKGNoYXIgKik7CiAjZW5kaWYKIAogI2lmZGVmIE5PX1VOU0VURU5WCiAjZGVmaW5lIHVuc2V0ZW52IGdpdHVuc2V0ZW52Ci1leHRlcm4gdm9pZCBnaXR1bnNldGVudihjb25zdCBjaGFyICopOwordm9pZCBnaXR1bnNldGVudihjb25zdCBjaGFyICopOwogI2VuZGlmCiAKICNpZmRlZiBOT19TVFJDQVNFU1RSCiAjZGVmaW5lIHN0cmNhc2VzdHIgZ2l0c3RyY2FzZXN0cgotZXh0ZXJuIGNoYXIgKmdpdHN0cmNhc2VzdHIoY29uc3QgY2hhciAqaGF5c3RhY2ssIGNvbnN0IGNoYXIgKm5lZWRsZSk7CitjaGFyICpnaXRzdHJjYXNlc3RyKGNvbnN0IGNoYXIgKmhheXN0YWNrLCBjb25zdCBjaGFyICpuZWVkbGUpOwogI2VuZGlmCiAKICNpZmRlZiBOT19TVFJMQ1BZCiAjZGVmaW5lIHN0cmxjcHkgZ2l0c3RybGNweQotZXh0ZXJuIHNpemVfdCBnaXRzdHJsY3B5KGNoYXIgKiwgY29uc3QgY2hhciAqLCBzaXplX3QpOworc2l6ZV90IGdpdHN0cmxjcHkoY2hhciAqLCBjb25zdCBjaGFyICosIHNpemVfdCk7CiAjZW5kaWYKIAogI2lmZGVmIE5PX1NUUlRPVU1BWAogI2RlZmluZSBzdHJ0b3VtYXggZ2l0c3RydG91bWF4Ci1leHRlcm4gdWludG1heF90IGdpdHN0cnRvdW1heChjb25zdCBjaGFyICosIGNoYXIgKiosIGludCk7Cit1aW50bWF4X3QgZ2l0c3RydG91bWF4KGNvbnN0IGNoYXIgKiwgY2hhciAqKiwgaW50KTsKICNkZWZpbmUgc3RydG9pbWF4IGdpdHN0cnRvaW1heAotZXh0ZXJuIGludG1heF90IGdpdHN0cnRvaW1heChjb25zdCBjaGFyICosIGNoYXIgKiosIGludCk7CitpbnRtYXhfdCBnaXRzdHJ0b2ltYXgoY29uc3QgY2hhciAqLCBjaGFyICoqLCBpbnQpOwogI2VuZGlmCiAKICNpZmRlZiBOT19IU1RSRVJST1IKICNkZWZpbmUgaHN0cmVycm9yIGdpdGhzdHJlcnJvcgotZXh0ZXJuIGNvbnN0IGNoYXIgKmdpdGhzdHJlcnJvcihpbnQgaGVycm9yKTsKK2NvbnN0IGNoYXIgKmdpdGhzdHJlcnJvcihpbnQgaGVycm9yKTsKICNlbmRpZgogCiAjaWZkZWYgTk9fTUVNTUVNCiAjZGVmaW5lIG1lbW1lbSBnaXRtZW1tZW0KIHZvaWQgKmdpdG1lbW1lbShjb25zdCB2b2lkICpoYXlzdGFjaywgc2l6ZV90IGhheXN0YWNrbGVuLAotICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKm5lZWRsZSwgc2l6ZV90IG5lZWRsZWxlbik7CisJCWNvbnN0IHZvaWQgKm5lZWRsZSwgc2l6ZV90IG5lZWRsZWxlbik7CiAjZW5kaWYKIAogI2lmZGVmIE9WRVJSSURFX1NUUkRVUApAQCAtNzUxLDcgKzc1Niw3IEBACiAjICBlbmRpZgogIyAgZGVmaW5lIGZvcGVuKGEsYikgZ2l0X2ZvcGVuKGEsYikKICMgZW5kaWYKLWV4dGVybiBGSUxFICpnaXRfZm9wZW4oY29uc3QgY2hhciosIGNvbnN0IGNoYXIqKTsKK0ZJTEUgKmdpdF9mb3Blbihjb25zdCBjaGFyKiwgY29uc3QgY2hhciopOwogI2VuZGlmCiAKICNpZmRlZiBTTlBSSU5URl9SRVRVUk5TX0JPR1VTCkBAIC03NTksMTQgKzc2NCwxNCBAQAogI3VuZGVmIHNucHJpbnRmCiAjZW5kaWYKICNkZWZpbmUgc25wcmludGYgZ2l0X3NucHJpbnRmCi1leHRlcm4gaW50IGdpdF9zbnByaW50ZihjaGFyICpzdHIsIHNpemVfdCBtYXhzaXplLAotCQkJY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pOworaW50IGdpdF9zbnByaW50ZihjaGFyICpzdHIsIHNpemVfdCBtYXhzaXplLAorCQkgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pOwogI2lmZGVmIHZzbnByaW50ZgogI3VuZGVmIHZzbnByaW50ZgogI2VuZGlmCiAjZGVmaW5lIHZzbnByaW50ZiBnaXRfdnNucHJpbnRmCi1leHRlcm4gaW50IGdpdF92c25wcmludGYoY2hhciAqc3RyLCBzaXplX3QgbWF4c2l6ZSwKLQkJCSBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXApOworaW50IGdpdF92c25wcmludGYoY2hhciAqc3RyLCBzaXplX3QgbWF4c2l6ZSwKKwkJICBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXApOwogI2VuZGlmCiAKICNpZmRlZiBfX0dMSUJDX1BSRVJFUQpAQCAtNzk1LDEyICs4MDAsOSBAQAogCiAjaWZkZWYgTk9fUFRIUkVBRFMKICNkZWZpbmUgYXRleGl0IGdpdF9hdGV4aXQKLWV4dGVybiBpbnQgZ2l0X2F0ZXhpdCh2b2lkICgqaGFuZGxlcikodm9pZCkpOworaW50IGdpdF9hdGV4aXQodm9pZCAoKmhhbmRsZXIpKHZvaWQpKTsKICNlbmRpZgogCi10eXBlZGVmIHZvaWQgKCp0cnlfdG9fZnJlZV90KShzaXplX3QpOwotZXh0ZXJuIHRyeV90b19mcmVlX3Qgc2V0X3RyeV90b19mcmVlX3JvdXRpbmUodHJ5X3RvX2ZyZWVfdCk7Ci0KIHN0YXRpYyBpbmxpbmUgc2l6ZV90IHN0X2FkZChzaXplX3QgYSwgc2l6ZV90IGIpCiB7CiAJaWYgKHVuc2lnbmVkX2FkZF9vdmVyZmxvd3MoYSwgYikpCkBAIC04MzUsMjggKzgzNywyOCBAQAogIyBkZWZpbmUgeGFsbG9jYShzaXplKSAgICAgICh4bWFsbG9jKHNpemUpKQogIyBkZWZpbmUgeGFsbG9jYV9mcmVlKHApICAgIChmcmVlKHApKQogI2VuZGlmCi1leHRlcm4gY2hhciAqeHN0cmR1cChjb25zdCBjaGFyICpzdHIpOwotZXh0ZXJuIHZvaWQgKnhtYWxsb2Moc2l6ZV90IHNpemUpOwotZXh0ZXJuIHZvaWQgKnhtYWxsb2N6KHNpemVfdCBzaXplKTsKLWV4dGVybiB2b2lkICp4bWFsbG9jel9nZW50bHkoc2l6ZV90IHNpemUpOwotZXh0ZXJuIHZvaWQgKnhtZW1kdXB6KGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4pOwotZXh0ZXJuIGNoYXIgKnhzdHJuZHVwKGNvbnN0IGNoYXIgKnN0ciwgc2l6ZV90IGxlbik7Ci1leHRlcm4gdm9pZCAqeHJlYWxsb2Modm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSk7Ci1leHRlcm4gdm9pZCAqeGNhbGxvYyhzaXplX3Qgbm1lbWIsIHNpemVfdCBzaXplKTsKLWV4dGVybiB2b2lkICp4bW1hcCh2b2lkICpzdGFydCwgc2l6ZV90IGxlbmd0aCwgaW50IHByb3QsIGludCBmbGFncywgaW50IGZkLCBvZmZfdCBvZmZzZXQpOwotZXh0ZXJuIHZvaWQgKnhtbWFwX2dlbnRseSh2b2lkICpzdGFydCwgc2l6ZV90IGxlbmd0aCwgaW50IHByb3QsIGludCBmbGFncywgaW50IGZkLCBvZmZfdCBvZmZzZXQpOwotZXh0ZXJuIGludCB4b3Blbihjb25zdCBjaGFyICpwYXRoLCBpbnQgZmxhZ3MsIC4uLik7Ci1leHRlcm4gc3NpemVfdCB4cmVhZChpbnQgZmQsIHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbik7Ci1leHRlcm4gc3NpemVfdCB4d3JpdGUoaW50IGZkLCBjb25zdCB2b2lkICpidWYsIHNpemVfdCBsZW4pOwotZXh0ZXJuIHNzaXplX3QgeHByZWFkKGludCBmZCwgdm9pZCAqYnVmLCBzaXplX3QgbGVuLCBvZmZfdCBvZmZzZXQpOwotZXh0ZXJuIGludCB4ZHVwKGludCBmZCk7Ci1leHRlcm4gRklMRSAqeGZvcGVuKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm1vZGUpOwotZXh0ZXJuIEZJTEUgKnhmZG9wZW4oaW50IGZkLCBjb25zdCBjaGFyICptb2RlKTsKLWV4dGVybiBpbnQgeG1rc3RlbXAoY2hhciAqdGVtcF9maWxlbmFtZSk7Ci1leHRlcm4gaW50IHhta3N0ZW1wX21vZGUoY2hhciAqdGVtcF9maWxlbmFtZSwgaW50IG1vZGUpOwotZXh0ZXJuIGNoYXIgKnhnZXRjd2Qodm9pZCk7Ci1leHRlcm4gRklMRSAqZm9wZW5fZm9yX3dyaXRpbmcoY29uc3QgY2hhciAqcGF0aCk7Ci1leHRlcm4gRklMRSAqZm9wZW5fb3Jfd2Fybihjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICptb2RlKTsKK2NoYXIgKnhzdHJkdXAoY29uc3QgY2hhciAqc3RyKTsKK3ZvaWQgKnhtYWxsb2Moc2l6ZV90IHNpemUpOwordm9pZCAqeG1hbGxvY3ooc2l6ZV90IHNpemUpOwordm9pZCAqeG1hbGxvY3pfZ2VudGx5KHNpemVfdCBzaXplKTsKK3ZvaWQgKnhtZW1kdXB6KGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4pOworY2hhciAqeHN0cm5kdXAoY29uc3QgY2hhciAqc3RyLCBzaXplX3QgbGVuKTsKK3ZvaWQgKnhyZWFsbG9jKHZvaWQgKnB0ciwgc2l6ZV90IHNpemUpOwordm9pZCAqeGNhbGxvYyhzaXplX3Qgbm1lbWIsIHNpemVfdCBzaXplKTsKK3ZvaWQgKnhtbWFwKHZvaWQgKnN0YXJ0LCBzaXplX3QgbGVuZ3RoLCBpbnQgcHJvdCwgaW50IGZsYWdzLCBpbnQgZmQsIG9mZl90IG9mZnNldCk7Cit2b2lkICp4bW1hcF9nZW50bHkodm9pZCAqc3RhcnQsIHNpemVfdCBsZW5ndGgsIGludCBwcm90LCBpbnQgZmxhZ3MsIGludCBmZCwgb2ZmX3Qgb2Zmc2V0KTsKK2ludCB4b3Blbihjb25zdCBjaGFyICpwYXRoLCBpbnQgZmxhZ3MsIC4uLik7Citzc2l6ZV90IHhyZWFkKGludCBmZCwgdm9pZCAqYnVmLCBzaXplX3QgbGVuKTsKK3NzaXplX3QgeHdyaXRlKGludCBmZCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgbGVuKTsKK3NzaXplX3QgeHByZWFkKGludCBmZCwgdm9pZCAqYnVmLCBzaXplX3QgbGVuLCBvZmZfdCBvZmZzZXQpOworaW50IHhkdXAoaW50IGZkKTsKK0ZJTEUgKnhmb3Blbihjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICptb2RlKTsKK0ZJTEUgKnhmZG9wZW4oaW50IGZkLCBjb25zdCBjaGFyICptb2RlKTsKK2ludCB4bWtzdGVtcChjaGFyICp0ZW1wX2ZpbGVuYW1lKTsKK2ludCB4bWtzdGVtcF9tb2RlKGNoYXIgKnRlbXBfZmlsZW5hbWUsIGludCBtb2RlKTsKK2NoYXIgKnhnZXRjd2Qodm9pZCk7CitGSUxFICpmb3Blbl9mb3Jfd3JpdGluZyhjb25zdCBjaGFyICpwYXRoKTsKK0ZJTEUgKmZvcGVuX29yX3dhcm4oY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqbW9kZSk7CiAKIC8qCiAgKiBGUkVFX0FORF9OVUxMKHB0cikgaXMgbGlrZSBmcmVlKHB0cikgZm9sbG93ZWQgYnkgcHRyID0gTlVMTC4gTm90ZQpAQCAtOTU2LDEzICs5NTgsMTMgQEAKIH0KIAogX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDMsIDQpKSkKLWV4dGVybiBpbnQgeHNucHJpbnRmKGNoYXIgKmRzdCwgc2l6ZV90IG1heCwgY29uc3QgY2hhciAqZm10LCAuLi4pOworaW50IHhzbnByaW50ZihjaGFyICpkc3QsIHNpemVfdCBtYXgsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKIAogI2lmbmRlZiBIT1NUX05BTUVfTUFYCiAjZGVmaW5lIEhPU1RfTkFNRV9NQVggMjU2CiAjZW5kaWYKIAotZXh0ZXJuIGludCB4Z2V0aG9zdG5hbWUoY2hhciAqYnVmLCBzaXplX3QgbGVuKTsKK2ludCB4Z2V0aG9zdG5hbWUoY2hhciAqYnVmLCBzaXplX3QgbGVuKTsKIAogLyogaW4gY3R5cGUuYywgZm9yIGt3c2V0IHVzZXJzICovCiBleHRlcm4gY29uc3QgdW5zaWduZWQgY2hhciB0b2xvd2VyX3RyYW5zX3RibFsyNTZdOwpAQCAtMTA3NCwxMCArMTA3NiwxMCBAQAogCXJldHVybiAwOwogfQogCit2b2lkIGdpdF9zdGFibGVfcXNvcnQodm9pZCAqYmFzZSwgc2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSwKKwkJICAgICAgaW50KCpjb21wYXIpKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKSk7CiAjaWZkZWYgSU5URVJOQUxfUVNPUlQKLXZvaWQgZ2l0X3Fzb3J0KHZvaWQgKmJhc2UsIHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUsCi0JICAgICAgIGludCgqY29tcGFyKShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKikpOwotI2RlZmluZSBxc29ydCBnaXRfcXNvcnQKKyNkZWZpbmUgcXNvcnQgZ2l0X3N0YWJsZV9xc29ydAogI2VuZGlmCiAKICNkZWZpbmUgUVNPUlQoYmFzZSwgbiwgY29tcGFyKSBzYW5lX3Fzb3J0KChiYXNlKSwgKG4pLCBzaXplb2YoKihiYXNlKSksIGNvbXBhcikKQEAgLTEwODgsNiArMTA5MCw5IEBACiAJCXFzb3J0KGJhc2UsIG5tZW1iLCBzaXplLCBjb21wYXIpOwogfQogCisjZGVmaW5lIFNUQUJMRV9RU09SVChiYXNlLCBuLCBjb21wYXIpIFwKKwlnaXRfc3RhYmxlX3Fzb3J0KChiYXNlKSwgKG4pLCBzaXplb2YoKihiYXNlKSksIGNvbXBhcikKKwogI2lmbmRlZiBIQVZFX0lTT19RU09SVF9TCiBpbnQgZ2l0X3Fzb3J0X3Modm9pZCAqYmFzZSwgc2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSwKIAkJaW50ICgqY29tcGFyKShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKiwgdm9pZCAqKSwgdm9pZCAqY3R4KTsKQEAgLTEyMjQsNiArMTIyOSwyNCBAQAogI2RlZmluZSBnZXRjX3VubG9ja2VkKGZoKSBnZXRjKGZoKQogI2VuZGlmCiAKKyNpZmRlZiBGSUxFTk9fSVNfQV9NQUNSTworaW50IGdpdF9maWxlbm8oRklMRSAqc3RyZWFtKTsKKyMgaWZuZGVmIENPTVBBVF9DT0RFX0ZJTEVOTworIyAgdW5kZWYgZmlsZW5vCisjICBkZWZpbmUgZmlsZW5vKHApIGdpdF9maWxlbm8ocCkKKyMgZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgTkVFRF9BQ0NFU1NfUk9PVF9IQU5ETEVSCitpbnQgZ2l0X2FjY2Vzcyhjb25zdCBjaGFyICpwYXRoLCBpbnQgbW9kZSk7CisjIGlmbmRlZiBDT01QQVRfQ09ERV9BQ0NFU1MKKyMgIGlmZGVmIGFjY2VzcworIyAgdW5kZWYgYWNjZXNzCisjICBlbmRpZgorIyAgZGVmaW5lIGFjY2VzcyhwYXRoLCBtb2RlKSBnaXRfYWNjZXNzKHBhdGgsIG1vZGUpCisjIGVuZGlmCisjZW5kaWYKKwogLyoKICAqIE91ciBjb2RlIG9mdGVuIG9wZW5zIGEgcGF0aCB0byBhbiBvcHRpb25hbCBmaWxlLCB0byB3b3JrIG9uIGl0cwogICogY29udGVudHMgd2hlbiB3ZSBjYW4gc3VjY2Vzc2Z1bGx5IG9wZW4gaXQuICBXZSBjYW4gaWdub3JlIGEgZmFpbHVyZQpAQCAtMTIzOSw3ICsxMjYyLDE0IEBACiAJcmV0dXJuIChlcnJub18gPT0gRU5PRU5UIHx8IGVycm5vXyA9PSBFTk9URElSKTsKIH0KIAotZXh0ZXJuIGludCBjbWRfbWFpbihpbnQsIGNvbnN0IGNoYXIgKiopOworaW50IGNtZF9tYWluKGludCwgY29uc3QgY2hhciAqKik7CisKKy8qCisgKiBJbnRlcmNlcHQgYWxsIGNhbGxzIHRvIGV4aXQoKSBhbmQgcm91dGUgdGhlbSB0byB0cmFjZTIgdG8KKyAqIG9wdGlvbmFsbHkgZW1pdCBhIG1lc3NhZ2UgYmVmb3JlIGNhbGxpbmcgdGhlIHJlYWwgZXhpdCgpLgorICovCitpbnQgdHJhY2UyX2NtZF9leGl0X2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBpbnQgY29kZSk7CisjZGVmaW5lIGV4aXQoY29kZSkgZXhpdCh0cmFjZTJfY21kX2V4aXRfZmwoX19GSUxFX18sIF9fTElORV9fLCAoY29kZSkpKQogCiAvKgogICogWW91IGNhbiBtYXJrIGEgc3RhY2sgdmFyaWFibGUgd2l0aCBVTkxFQUsodmFyKSB0byBhdm9pZCBpdCBiZWluZwpAQCAtMTI1NSw3ICsxMjg1LDcgQEAKICAqIGFuIGFubm90YXRpb24sIGFuZCBkb2VzIG5vdGhpbmcgaW4gbm9uLWxlYWstY2hlY2tpbmcgYnVpbGRzLgogICovCiAjaWZkZWYgU1VQUFJFU1NfQU5OT1RBVEVEX0xFQUtTCi1leHRlcm4gdm9pZCB1bmxlYWtfbWVtb3J5KGNvbnN0IHZvaWQgKnB0ciwgc2l6ZV90IGxlbik7Cit2b2lkIHVubGVha19tZW1vcnkoY29uc3Qgdm9pZCAqcHRyLCBzaXplX3QgbGVuKTsKICNkZWZpbmUgVU5MRUFLKHZhcikgdW5sZWFrX21lbW9yeSgmKHZhciksIHNpemVvZih2YXIpKQogI2Vsc2UKICNkZWZpbmUgVU5MRUFLKHZhcikgZG8ge30gd2hpbGUgKDApCkBAIC0xMjY3LDQgKzEyOTcsNDIgQEAKICAqLwogI2luY2x1ZGUgImJhbm5lZC5oIgogCisvKgorICogY29udGFpbmVyX29mIC0gR2V0IHRoZSBhZGRyZXNzIG9mIGFuIG9iamVjdCBjb250YWluaW5nIGEgZmllbGQuCisgKgorICogQHB0cjogcG9pbnRlciB0byB0aGUgZmllbGQuCisgKiBAdHlwZTogdHlwZSBvZiB0aGUgb2JqZWN0LgorICogQG1lbWJlcjogbmFtZSBvZiB0aGUgZmllbGQgd2l0aGluIHRoZSBvYmplY3QuCisgKi8KKyNkZWZpbmUgY29udGFpbmVyX29mKHB0ciwgdHlwZSwgbWVtYmVyKSBcCisJKCh0eXBlICopICgoY2hhciAqKShwdHIpIC0gb2Zmc2V0b2YodHlwZSwgbWVtYmVyKSkpCisKKy8qCisgKiBoZWxwZXIgZnVuY3Rpb24gZm9yIGBjb250YWluZXJfb2Zfb3JfbnVsbCcgdG8gYXZvaWQgbXVsdGlwbGUKKyAqIGV2YWx1YXRpb24gb2YgQHB0cgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgKmNvbnRhaW5lcl9vZl9vcl9udWxsX29mZnNldCh2b2lkICpwdHIsIHNpemVfdCBvZmZzZXQpCit7CisJcmV0dXJuIHB0ciA/IChjaGFyICopcHRyIC0gb2Zmc2V0IDogTlVMTDsKK30KKworLyoKKyAqIGxpa2UgYGNvbnRhaW5lcl9vZicsIGJ1dCBhbGxvd3MgcmV0dXJuZWQgdmFsdWUgdG8gYmUgTlVMTAorICovCisjZGVmaW5lIGNvbnRhaW5lcl9vZl9vcl9udWxsKHB0ciwgdHlwZSwgbWVtYmVyKSBcCisJKHR5cGUgKiljb250YWluZXJfb2Zfb3JfbnVsbF9vZmZzZXQocHRyLCBvZmZzZXRvZih0eXBlLCBtZW1iZXIpKQorCisvKgorICogbGlrZSBvZmZzZXRvZigpLCBidXQgdGFrZXMgYSBwb2ludGVyIHRvIGEgYSB2YXJpYWJsZSBvZiB0eXBlIHdoaWNoCisgKiBjb250YWlucyBAbWVtYmVyLCBpbnN0ZWFkIG9mIGEgc3BlY2lmaWVkIHR5cGUuCisgKiBAcHRyIGlzIHN1YmplY3QgdG8gbXVsdGlwbGUgZXZhbHVhdGlvbiBzaW5jZSB3ZSBjYW4ndCByZWx5IG9uIF9fdHlwZW9mX18KKyAqIGV2ZXJ5d2hlcmUuCisgKi8KKyNpZiBkZWZpbmVkKF9fR05VQ19fKSAvKiBjbGFuZyBzZXRzIHRoaXMsIHRvbyAqLworI2RlZmluZSBPRkZTRVRPRl9WQVIocHRyLCBtZW1iZXIpIG9mZnNldG9mKF9fdHlwZW9mX18oKnB0ciksIG1lbWJlcikKKyNlbHNlIC8qICFfX0dOVUNfXyAqLworI2RlZmluZSBPRkZTRVRPRl9WQVIocHRyLCBtZW1iZXIpIFwKKwkoKHVpbnRwdHJfdCkmKHB0ciktPm1lbWJlciAtICh1aW50cHRyX3QpKHB0cikpCisjZW5kaWYgLyogIV9fR05VQ19fICovCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2l0LWN2c2V4cG9ydGNvbW1pdC5wZXJsIGIvZ2l0LWN2c2V4cG9ydGNvbW1pdC5wZXJsCmluZGV4IGQxM2YwMmQuLmZjMDBkNTkgMTAwNzU1Ci0tLSBhL2dpdC1jdnNleHBvcnRjb21taXQucGVybAorKysgYi9naXQtY3ZzZXhwb3J0Y29tbWl0LnBlcmwKQEAgLTQzMSw2ICs0MzEsNyBAQAogc3ViIHNhZmVfcGlwZV9jYXB0dXJlIHsKICAgICBteSBAb3V0cHV0OwogICAgIGlmIChteSAkcGlkID0gb3BlbiBteSAkY2hpbGQsICctfCcpIHsKKwliaW5tb2RlKCRjaGlsZCwgIjpjcmxmIik7CiAJQG91dHB1dCA9ICg8JGNoaWxkPik7CiAJY2xvc2UgJGNoaWxkIG9yIGRpZSBqb2luKCcgJyxAXykuIjogJCEgJD8iOwogICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9naXQtY3ZzaW1wb3J0LnBlcmwgYi9naXQtY3ZzaW1wb3J0LnBlcmwKaW5kZXggYjMxNjEzYy4uMTA1N2YzOCAxMDA3NTUKLS0tIGEvZ2l0LWN2c2ltcG9ydC5wZXJsCisrKyBiL2dpdC1jdnNpbXBvcnQucGVybApAQCAtNjAwLDcgKzYwMCw3IEBACiBzdWIgcGRhdGUoJCkgewogCW15ICgkZCkgPSBAXzsKIAltIyhcZHsyLDR9KS8oXGRcZCkvKFxkXGQpXHMoXGRcZCk6KFxkXGQpKD86OihcZFxkKSk/IwotCQlvciBkaWUgIlVucGFyc2VhYmxlIGRhdGU6ICRkXG4iOworCQlvciBkaWUgIlVucGFyc2FibGUgZGF0ZTogJGRcbiI7CiAJbXkgJHk9JDE7CiAJJHkrPTEwMCBpZiAkeTw3MDsKIAkkeSs9MTkwMCBpZiAkeTwxMDAwOwpkaWZmIC0tZ2l0IGEvZ2l0LWRpZmZ0b29sLS1oZWxwZXIuc2ggYi9naXQtZGlmZnRvb2wtLWhlbHBlci5zaAppbmRleCA3YmZiNjczLi40NmFmM2U2IDEwMDc1NQotLS0gYS9naXQtZGlmZnRvb2wtLWhlbHBlci5zaAorKysgYi9naXQtZGlmZnRvb2wtLWhlbHBlci5zaApAQCAtNzEsNyArNzEsNyBAQAogCXRoZW4KIAkJbWVyZ2VfdG9vbD0iJEdJVF9ESUZGX1RPT0wiCiAJZWxzZQotCQltZXJnZV90b29sPSIkKGdldF9tZXJnZV90b29sKSIgfHwgZXhpdAorCQltZXJnZV90b29sPSIkKGdldF9tZXJnZV90b29sKSIKIAlmaQogZmkKIApkaWZmIC0tZ2l0IGEvZ2l0LWZpbHRlci1icmFuY2guc2ggYi9naXQtZmlsdGVyLWJyYW5jaC5zaAppbmRleCA1YzVhZmEyLi5mZWE3OTY0IDEwMDc1NQotLS0gYS9naXQtZmlsdGVyLWJyYW5jaC5zaAorKysgYi9naXQtZmlsdGVyLWJyYW5jaC5zaApAQCAtODMsNiArODMsMjAgQEAKIAlmaW5pc2hfaWRlbnQgQ09NTUlUVEVSCiB9CiAKK2lmIHRlc3QgLXogIiRGSUxURVJfQlJBTkNIX1NRVUVMQ0hfV0FSTklORyRHSVRfVEVTVF9ESVNBTExPV19BQkJSRVZJQVRFRF9PUFRJT05TIgordGhlbgorCWNhdCA8PEVPRgorV0FSTklORzogZ2l0LWZpbHRlci1icmFuY2ggaGFzIGEgZ2x1dCBvZiBnb3RjaGFzIGdlbmVyYXRpbmcgbWFuZ2xlZCBoaXN0b3J5CisJIHJld3JpdGVzLiAgSGl0IEN0cmwtQyBiZWZvcmUgcHJvY2VlZGluZyB0byBhYm9ydCwgdGhlbiB1c2UgYW4KKwkgYWx0ZXJuYXRpdmUgZmlsdGVyaW5nIHRvb2wgc3VjaCBhcyAnZ2l0IGZpbHRlci1yZXBvJworCSAoaHR0cHM6Ly9naXRodWIuY29tL25ld3Jlbi9naXQtZmlsdGVyLXJlcG8vKSBpbnN0ZWFkLiAgU2VlIHRoZQorCSBmaWx0ZXItYnJhbmNoIG1hbnVhbCBwYWdlIGZvciBtb3JlIGRldGFpbHM7IHRvIHNxdWVsY2ggdGhpcyB3YXJuaW5nLAorCSBzZXQgRklMVEVSX0JSQU5DSF9TUVVFTENIX1dBUk5JTkc9MS4KK0VPRgorCXNsZWVwIDEwCisJcHJpbnRmICJQcm9jZWVkaW5nIHdpdGggZmlsdGVyLWJyYW5jaC4uLlxuXG4iCitmaQorCiBVU0FHRT0iWy0tc2V0dXAgPGNvbW1hbmQ+XSBbLS1zdWJkaXJlY3RvcnktZmlsdGVyIDxkaXJlY3Rvcnk+XSBbLS1lbnYtZmlsdGVyIDxjb21tYW5kPl0KIAlbLS10cmVlLWZpbHRlciA8Y29tbWFuZD5dIFstLWluZGV4LWZpbHRlciA8Y29tbWFuZD5dCiAJWy0tcGFyZW50LWZpbHRlciA8Y29tbWFuZD5dIFstLW1zZy1maWx0ZXIgPGNvbW1hbmQ+XQpkaWZmIC0tZ2l0IGEvZ2l0LWd1aS9SRUFETUUubWQgYi9naXQtZ3VpL1JFQURNRS5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2UyMTIyCi0tLSAvZGV2L251bGwKKysrIGIvZ2l0LWd1aS9SRUFETUUubWQKQEAgLTAsMCArMSwxNzQgQEAKKyMgR2l0IEdVSSAtIEEgZ3JhcGhpY2FsIHVzZXIgaW50ZXJmYWNlIGZvciBHaXQKKworR2l0IEdVSSBhbGxvd3MgeW91IHRvIHVzZSB0aGUgW0dpdCBzb3VyY2UgY29udHJvbCBtYW5hZ2VtZW50Cit0b29sc10oaHR0cHM6Ly9naXQtc2NtLmNvbS8pIHZpYSBhIEdVSS4gVGhpcyBpbmNsdWRlcyBzdGFnaW5nLCBjb21taXR0aW5nLAorYWRkaW5nLCBwdXNoaW5nLCBldGMuIEl0IGNhbiBhbHNvIGJlIHVzZWQgYXMgYSBibGFtZSB2aWV3ZXIsIGEgdHJlZSBicm93c2VyLAorYW5kIGEgY2l0b29sIChtYWtlIGV4YWN0bHkgb25lIGNvbW1pdCBiZWZvcmUgZXhpdGluZyBhbmQgcmV0dXJuaW5nIHRvIHNoZWxsKS4KK01vcmUgZGV0YWlscyBhYm91dCBHaXQgR1VJIGNhbiBiZSBmb3VuZCBpbiBpdHMgbWFudWFsIHBhZ2UgYnkgZWl0aGVyIHJ1bm5pbmcKK2BtYW4gZ2l0LWd1aWAsIG9yIGJ5IHZpc2l0aW5nIHRoZSBbb25saW5lIG1hbnVhbAorcGFnZV0oaHR0cHM6Ly9naXQtc2NtLmNvbS9kb2NzL2dpdC1ndWkpLgorCitHaXQgR1VJIHdhcyBpbml0aWFsbHkgd3JpdHRlbiBieSBTaGF3biBPLiBQZWFyY2UsIGFuZCBpcyBkaXN0cmlidXRlZCB3aXRoIHRoZQorc3RhbmRhcmQgR2l0IGluc3RhbGxhdGlvbi4KKworIyBCdWlsZGluZyBhbmQgaW5zdGFsbGluZworCitZb3UgbmVlZCB0byBoYXZlIHRoZSBmb2xsb3dpbmcgZGVwZW5kZW5jaWVzIGluc3RhbGxlZCBiZWZvcmUgeW91IGJlZ2luOgorCistIEdpdAorLSBUY2wKKy0gVGsKKy0gd2lzaAorLSBHaXRrIChuZWVkZWQgZm9yIGJyb3dzaW5nIGhpc3RvcnkpCistIG1zZ2ZtdAorCitNb3N0IG9mIEdpdCBHVUkgaXMgd3JpdHRlbiBpbiBUY2wsIHNvIHRoZXJlIGlzIG5vIGNvbXBpbGF0aW9uIGludm9sdmVkLiBTdGlsbCwKK3NvbWUgdGhpbmdzIGRvIG5lZWQgdG8gYmUgZG9uZSAobW9zdGx5IHNvbWUgc3Vic3RpdHV0aW9ucyksIHNvIHlvdSBkbyBuZWVkIHRvCisiYnVpbGQiIGl0LgorCitZb3UgY2FuIGJ1aWxkIEdpdCBHVUkgdXNpbmc6CisKK2BgYAorbWFrZQorYGBgCisKK0FuZCB0aGVuIGluc3RhbGwgaXQgdXNpbmc6CisKK2BgYAorbWFrZSBpbnN0YWxsCitgYGAKKworWW91IHByb2JhYmx5IG5lZWQgdG8gaGF2ZSByb290L2FkbWluIHBlcm1pc3Npb25zIHRvIGluc3RhbGwuCisKKyMgQ29udHJpYnV0aW5nCisKK1RoZSBwcm9qZWN0IGlzIGN1cnJlbnRseSBtYWludGFpbmVkIGJ5IFByYXR5dXNoIFlhZGF2IG92ZXIgYXQKK2h0dHBzOi8vZ2l0aHViLmNvbS9wcmF0aTAxMDAvZ2l0LWd1aS4gRXZlbiB0aG91Z2ggdGhlIHByb2plY3QgaXMgaG9zdGVkIGF0CitHaXRIdWIsIHRoZSBkZXZlbG9wbWVudCBkb2VzIG5vdCBoYXBwZW4gb3ZlciBHaXRIdWIgSXNzdWVzIGFuZCBQdWxsIFJlcXVlc3RzLgorSW5zdGVhZCwgYW4gZW1haWwgYmFzZWQgd29ya2Zsb3cgaXMgdXNlZC4gVGhlIEdpdCBtYWlsaW5nIGxpc3QKK1tnaXRAdmdlci5rZXJuZWwub3JnXShtYWlsdG86Z2l0QHZnZXIua2VybmVsLm9yZykgaXMgd2hlcmUgdGhlIHBhdGNoZXMgYXJlCitkaXNjdXNzZWQgYW5kIHJldmlld2VkLgorCitNb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBHaXQgbWFpbGluZyBsaXN0IGFuZCBpbnN0cnVjdGlvbnMgdG8gc3Vic2NyaWJlIGNhbgorYmUgZm91bmQgW2hlcmVdKGh0dHBzOi8vZ2l0Lndpa2kua2VybmVsLm9yZy9pbmRleC5waHAvR2l0Q29tbXVuaXR5KS4KKworIyMgU2VuZGluZyB5b3VyIGNoYW5nZXMKKworU2luY2UgdGhlIGRldmVsb3BtZW50IGhhcHBlbnMgb3ZlciBlbWFpbCwgeW91IG5lZWQgdG8gc2VuZCBpbiB5b3VyIGNvbW1pdHMgaW4KK3RleHQgZm9ybWF0LiBDb21taXRzIGNhbiBiZSBjb252ZXJ0ZWQgdG8gZW1haWxzIHZpYSB0aGUgdHdvIHRvb2xzIHByb3ZpZGVkIGJ5CitHaXQ6IGBnaXQtc2VuZC1lbWFpbGAgYW5kIGBnaXQtZm9ybWF0LXBhdGNoYC4KKworWW91IGNhbiB1c2UgYGdpdC1mb3JtYXQtcGF0Y2hgIHRvIGdlbmVyYXRlIHBhdGNoZXMgaW4gbWJveCBmb3JtYXQgZnJvbSB5b3VyCitjb21taXRzIHRoYXQgY2FuIHRoZW4gYmUgc2VudCB2aWEgZW1haWwuIExldCdzIHNheSB5b3UgYXJlIHdvcmtpbmcgb24gYSBicmFuY2gKK2NhbGxlZCAnZm9vJyB0aGF0IHdhcyBjcmVhdGVkIG9uIHRvcCBvZiAnbWFzdGVyJy4gWW91IGNhbiBydW46CisKK2BgYAorZ2l0IGZvcm1hdC1wYXRjaCAtbyBvdXRwdXRfZGlyIG1hc3Rlci4uZm9vCitgYGAKKwordG8gY29udmVydCBhbGwgdGhlIGV4dHJhIGNvbW1pdHMgaW4gJ2ZvbycgaW50byBhIHNldCBvZiBwYXRjaGVzIHNhdmVkIGluIHRoZQorZm9sZGVyIGBvdXRwdXRfZGlyYC4KKworSWYgeW91IGFyZSBzZW5kaW5nIG11bHRpcGxlIHBhdGNoZXMsIGl0IGlzIHJlY29tbWVuZGVkIHRvIGluY2x1ZGUgYSBjb3ZlcgorbGV0dGVyLiBBIGNvdmVyIGxldHRlciBpcyBhbiBlbWFpbCBleHBsYWluaW5nIGluIGJyaWVmIHdoYXQgdGhlIHNlcmllcyBpcworc3VwcG9zZWQgdG8gZG8uIEEgY292ZXIgbGV0dGVyIHRlbXBsYXRlIGNhbiBiZSBnZW5lcmF0ZWQgYnkgcGFzc2luZworYC0tY292ZXItbGV0dGVyYCB0byBgZ2l0LWZvcm1hdC1wYXRjaGAuCisKK0FmdGVyIHlvdSBzZW5kIHlvdXIgcGF0Y2hlcywgeW91IG1pZ2h0IGdldCBhIHJldmlldyBzdWdnZXN0aW5nIHNvbWUgY2hhbmdlcy4KK01ha2UgdGhvc2UgY2hhbmdlcywgYW5kIHJlLXNlbmQgeW91ciBwYXRjaChlcykgaW4gcmVwbHkgdG8gdGhlIGZpcnN0IHBhdGNoIG9mCit5b3VyIGluaXRpYWwgdmVyc2lvbi4gQWxzbyBwbGVhc2UgbWVudGlvbiB0aGUgdmVyc2lvbiBvZiB0aGUgcGF0Y2guIFRoaXMgY2FuIGJlCitkb25lIGJ5IHBhc3NpbmcgYC12IFhgIHRvIGBnaXQtZm9ybWF0LXBhdGNoYCwgd2hlcmUgJ1gnIGlzIHRoZSB2ZXJzaW9uIG51bWJlcgorb2YgdGhlIHBhdGNoKGVzKS4KKworIyMjIFVzaW5nIGdpdC1zZW5kLWVtYWlsCisKK1lvdSBjYW4gdXNlIGBnaXQtc2VuZC1lbWFpbGAgdG8gc2VuZCBwYXRjaGVzIGdlbmVyYXRlZCB2aWEgYGdpdC1mb3JtYXQtcGF0Y2hgLgorV2hpbGUgeW91IGNhbiBkaXJlY3RseSBzZW5kIHBhdGNoZXMgdmlhIGBnaXQtc2VuZC1lbWFpbGAsIGl0IGlzIHJlY29tbWVuZGVkCit0aGF0IHlvdSBmaXJzdCB1c2UgYGdpdC1mb3JtYXQtcGF0Y2hgIHRvIGdlbmVyYXRlIHRoZSBlbWFpbHMsIGF1ZGl0IHRoZW0sIGFuZAordGhlbiBzZW5kIHRoZW0gdmlhIGBnaXQtc2VuZC1lbWFpbGAuCisKK0EgcHJldHR5IGdvb2QgZ3VpZGUgdG8gY29uZmlndXJpbmcgYW5kIHVzaW5nIGBnaXQtc2VuZC1lbWFpbGAgY2FuIGJlIGZvdW5kCitbaGVyZV0oaHR0cHM6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvUHVsc2VBdWRpby9Ib3dUb1VzZUdpdFNlbmRFbWFpbC8pCisKKyMjIyBVc2luZyB5b3VyIGVtYWlsIGNsaWVudAorCitJZiB5b3VyIGVtYWlsIGNsaWVudCBzdXBwb3J0cyBzZW5kaW5nIG1ib3ggZm9ybWF0IGVtYWlscywgeW91IGNhbiB1c2UKK2BnaXQtZm9ybWF0LXBhdGNoYCB0byBnZXQgYW4gbWJveCBmaWxlIGZvciBlYWNoIGNvbW1pdCwgYW5kIHRoZW4gc2VuZCB0aGVtLiBJZgordGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBwYXRjaCBpbiB0aGUgc2VyaWVzLCB0aGVuIGFsbCBwYXRjaGVzIGFmdGVyIHRoZSBmaXJzdAorcGF0Y2ggKG9yIHRoZSBjb3ZlciBsZXR0ZXIpIG5lZWQgdG8gYmUgc2VudCBhcyByZXBsaWVzIHRvIHRoZSBmaXJzdC4KK2BnaXQtc2VuZC1lbWFpbGAgZG9lcyB0aGlzIGJ5IGRlZmF1bHQuCisKKyMjIyBVc2luZyBHaXRHaXRHYWRnZXQKKworU2luY2Ugc29tZSBwZW9wbGUgcHJlZmVyIGEgR2l0SHViIHB1bGwgcmVxdWVzdCBiYXNlZCB3b3JrZmxvdywgdGhleSBjYW4gdXNlCitbR2l0R2l0R2FkZ2V0XShodHRwczovL2dpdGdpdGdhZGdldC5naXRodWIuaW8vKSB0byBzZW5kIGluIHBhdGNoZXMuIFRoZSB0b29sCit3YXMgb3JpZ2luYWxseSB3cml0dGVuIGZvciBzZW5kaW5nIHBhdGNoZXMgdG8gdGhlIEdpdCBwcm9qZWN0LCBidXQgaXQgbm93IGFsc28KK3N1cHBvcnRzIHNlbmRpbmcgcGF0Y2hlcyBmb3IgZ2l0LWd1aS4KKworSW5zdHJ1Y3Rpb25zIGZvciB1c2luZyBHaXRHaXRHYWRnZXQgdG8gc2VuZCBnaXQtZ3VpIHBhdGNoZXMsIGNvdXJ0ZXN5IG9mCitKb2hhbm5lcyBTY2hpbmRlbGluOgorCitJZiB5b3UgZG9uJ3QgYWxyZWFkeSBoYXZlIGEgZm9yayBvZiB0aGUgW2dpdC9naXRdKGh0dHBzOi8vZ2l0aHViLmNvbS9naXQvZ2l0KQorcmVwbywgeW91IG5lZWQgdG8gbWFrZSBvbmUuIFRoZW4gY2xvbmUgeW91ciBmb3JrOgorCitgYGAKK2dpdCBjbG9uZSBodHRwczovL2dpdGh1Yi5jb20vPHlvdXItdXNlcm5hbWU+L2dpdAorYGBgCisKK1RoZW4gYWRkIEdpdEdpdEdhZGdldCBhcyBhIHJlbW90ZToKKworYGBgCitnaXQgcmVtb3RlIGFkZCBnaXRnaXRnYWRnZXQgaHR0cHM6Ly9naXRodWIuY29tL2dpdGdpdGdhZGdldC9naXQKK2BgYAorCitUaGVuIGZldGNoIHRoZSBnaXQtZ3VpIGJyYW5jaDoKKworYGBgCitnaXQgZmV0Y2ggZ2l0Z2l0Z2FkZ2V0IGdpdC1ndWkvbWFzdGVyCitgYGAKKworVGhlbiBjcmVhdGUgYSBuZXcgYnJhbmNoIGJhc2VkIG9uIGdpdC1ndWkvbWFzdGVyOgorCitgYGAKK2dpdCBjaGVja291dCAtYiA8eW91ci1icmFuY2gtbmFtZT4gZ2l0LWd1aS9tYXN0ZXIKK2BgYAorCitNYWtlIHdoYXRldmVyIGNvbW1pdHMgeW91IG5lZWQgdG8sIHB1c2ggdGhlbSB0byB5b3VyIGZvcmssIGFuZCB0aGVuIGhlYWQgb3ZlcgordG8gaHR0cHM6Ly9naXRodWIuY29tL2dpdGdpdGdhZGdldC9naXQvcHVsbHMgYW5kIG9wZW4gYSBQdWxsIFJlcXVlc3QgdGFyZ2V0aW5nCitnaXQtZ3VpL21hc3Rlci4KKworR2l0R2l0R2FkZ2V0IHdpbGwgd2VsY29tZSB5b3Ugd2l0aCBhIChob3BlZnVsbHkpIGhlbHBmdWwgbWVzc2FnZS4KKworIyMgU2lnbmluZyBvZmYKKworWW91IG5lZWQgdG8gc2lnbiBvZmYgeW91ciBjb21taXRzIGJlZm9yZSBzZW5kaW5nIHRoZW0gdG8gdGhlIGxpc3QuIFlvdSBjYW4gZG8KK3RoYXQgYnkgcGFzc2luZyB0aGUgYC1zYCBvcHRpb24gdG8gYGdpdC1jb21taXRgLiBZb3UgY2FuIGFsc28gdXNlIHRoZSAiU2lnbgorT2ZmIiBvcHRpb24gaW4gR2l0IEdVSS4KKworQSBzaWduLW9mZiBpcyBhIHNpbXBsZSAnU2lnbmVkLW9mZi1ieTogQSBVIFRob3IgXDxhdXRob3JAZXhhbXBsZS5jb21cPicgbGluZSBhdAordGhlIGVuZCBvZiB0aGUgY29tbWl0IG1lc3NhZ2UsIGFmdGVyIHlvdXIgZXhwbGFuYXRpb24gb2YgdGhlIGNvbW1pdC4KKworQSBzaWduLW9mZiBtZWFucyB0aGF0IHlvdSBhcmUgbGVnYWxseSBhbGxvd2VkIHRvIHNlbmQgdGhlIGNvZGUsIGFuZCBpdCBzZXJ2ZXMKK2FzIGEgY2VydGlmaWNhdGUgb2Ygb3JpZ2luLiBNb3JlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBhdAorW2RldmVsb3BlcmNlcnRpZmljYXRlLm9yZ10oaHR0cHM6Ly9kZXZlbG9wZXJjZXJ0aWZpY2F0ZS5vcmcvKS4KKworIyMgUmVzcG9uZGluZyB0byByZXZpZXcgY29tbWVudHMKKworSXQgaXMgcXVpdGUgbGlrZWx5IHlvdXIgcGF0Y2hlcyB3aWxsIGdldCByZXZpZXcgY29tbWVudHMuIFRob3NlIGNvbW1lbnRzIGFyZQorc2VudCBvbiB0aGUgR2l0IG1haWxpbmcgbGlzdCBhcyByZXBsaWVzIHRvIHlvdXIgcGF0Y2gsIGFuZCB5b3Ugd2lsbCB1c3VhbGx5IGJlCitDYydlZCBpbiB0aG9zZSByZXBsaWVzLgorCitZb3UgYXJlIGV4cGVjdGVkIHRvIHJlc3BvbmQgYnkgZWl0aGVyIGV4cGxhaW5pbmcgeW91ciBjb2RlIGZ1cnRoZXIgdG8gY29udmluY2UKK3RoZSByZXZpZXdlciB3aGF0IHlvdSBhcmUgZG9pbmcgaXMgY29ycmVjdCwgb3IgYWNrbm93bGVkZ2UgdGhlIGNvbW1lbnRzIGFuZAorcmUtc2VuZCB0aGUgcGF0Y2hlcyB3aXRoIHRob3NlIGNvbW1lbnRzIGFkZHJlc3NlZC4KKworU29tZSB0aXBzIGZvciB0aG9zZSBub3QgZmFtaWxpYXIgd2l0aCBjb21tdW5pY2F0aW9uIG9uIGEgbWFpbGluZyBsaXN0OgorCistIFVzZSBvbmx5IHBsYWluIHRleHQgZW1haWxzLiBObyBIVE1MIGF0IGFsbC4KKy0gV3JhcCBsaW5lcyBhdCBhcm91bmQgNzUgY2hhcmFjdGVycy4KKy0gRG8gbm90IHNlbmQgYXR0YWNobWVudHMuIElmIHlvdSBkbyBuZWVkIHRvIHNlbmQgc29tZSBmaWxlcywgY29uc2lkZXIgdXNpbmcgYQorICBob3N0aW5nIHNlcnZpY2UsIGFuZCBwYXN0ZSB0aGUgbGluayBpbiB5b3VyIGVtYWlsLgorLSBEbyBub3QgW3RvcCBwb3N0XShodHRwOi8vd3d3LmlkYWxsZW4uY29tL3RvcHBvc3RpbmcuaHRtbCkuCistIEFsd2F5cyAicmVwbHkgYWxsIi4gS2VlcCBhbGwgY29ycmVzcG9uZGVudHMgYW5kIHRoZSBsaXN0IGluIENjLiBJZiB5b3UgcmVwbHkKKyAgZGlyZWN0bHkgdG8gYSByZXZpZXdlciwgYW5kIG5vdCBDYyB0aGUgbGlzdCwgb3RoZXIgcGVvcGxlIHdvdWxkIG5vdCBiZSBhYmxlCisgIHRvIGNoaW1lIGluLgpkaWZmIC0tZ2l0IGEvZ2l0LWd1aS9naXQtZ3VpLnNoIGIvZ2l0LWd1aS9naXQtZ3VpLnNoCmluZGV4IDZkZTc0Y2UuLmY0MWVkMmUgMTAwNzU1Ci0tLSBhL2dpdC1ndWkvZ2l0LWd1aS5zaAorKysgYi9naXQtZ3VpL2dpdC1ndWkuc2gKQEAgLTMwLDggKzMwLDggQEAKICMjCiAjIyBUY2wvVGsgc2FuaXR5IGNoZWNrCiAKLWlmIHtbY2F0Y2gge3BhY2thZ2UgcmVxdWlyZSBUY2wgOC40fSBlcnJdCi0gfHwgW2NhdGNoIHtwYWNrYWdlIHJlcXVpcmUgVGsgIDguNH0gZXJyXQoraWYge1tjYXRjaCB7cGFja2FnZSByZXF1aXJlIFRjbCA4LjZ9IGVycl0KKyB8fCBbY2F0Y2gge3BhY2thZ2UgcmVxdWlyZSBUayAgOC42fSBlcnJdCiB9IHsKIAljYXRjaCB7d20gd2l0aGRyYXcgLn0KIAl0a19tZXNzYWdlQm94IFwKQEAgLTY4NCw2ICs2ODQsNyBAQAogCWdsb2JhbCBjdXJyZW50X2JyYW5jaCBpc19kZXRhY2hlZAogCiAJc2V0IGZkIFtvcGVuIFtnaXRkaXIgSEVBRF0gcl0KKwlmY29uZmlndXJlICRmZCAtdHJhbnNsYXRpb24gYmluYXJ5IC1lbmNvZGluZyB1dGYtOAogCWlmIHtbZ2V0cyAkZmQgcmVmXSA8IDF9IHsKIAkJc2V0IHJlZiB7fQogCX0KQEAgLTEzNDAsNiArMTM0MSw3IEBACiBzZXQgUEFSRU5UIHt9CiBzZXQgTUVSR0VfSEVBRCBbbGlzdF0KIHNldCBjb21taXRfdHlwZSB7fQorc2V0IGNvbW1pdF90eXBlX2lzX2FtZW5kIDAKIHNldCBlbXB0eV90cmVlIHt9CiBzZXQgY3VycmVudF9icmFuY2gge30KIHNldCBpc19kZXRhY2hlZCAwCkBAIC0xMzQ3LDggKzEzNDksOSBAQAogc2V0IGlzXzN3YXlfZGlmZiAwCiBzZXQgaXNfc3VibW9kdWxlX2RpZmYgMAogc2V0IGlzX2NvbmZsaWN0X2RpZmYgMAotc2V0IHNlbGVjdGVkX2NvbW1pdF90eXBlIG5ldwogc2V0IGRpZmZfZW1wdHlfY291bnQgMAorc2V0IGxhc3RfcmV2ZXJ0IHt9CitzZXQgbGFzdF9yZXZlcnRfZW5jIHt9CiAKIHNldCBudWxsaWQgIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiCiBzZXQgbnVsbGlkMiAiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSIKQEAgLTE0MzQsNyArMTQzNyw3IEBACiB9CiAKIHByb2MgZm9yY2VfYW1lbmQge30gewotCWdsb2JhbCBzZWxlY3RlZF9jb21taXRfdHlwZQorCWdsb2JhbCBjb21taXRfdHlwZV9pc19hbWVuZAogCWdsb2JhbCBIRUFEIFBBUkVOVCBNRVJHRV9IRUFEIGNvbW1pdF90eXBlCiAKIAlyZXBvc2l0b3J5X3N0YXRlIG5ld1R5cGUgbmV3SEVBRCBuZXdNRVJHRV9IRUFECkBAIC0xNDQzLDcgKzE0NDYsNyBAQAogCXNldCBNRVJHRV9IRUFEICRuZXdNRVJHRV9IRUFECiAJc2V0IGNvbW1pdF90eXBlICRuZXdUeXBlCiAKLQlzZXQgc2VsZWN0ZWRfY29tbWl0X3R5cGUgYW1lbmQKKwlzZXQgY29tbWl0X3R5cGVfaXNfYW1lbmQgMQogCWRvX3NlbGVjdF9jb21taXRfdHlwZQogfQogCkBAIC0xNzk1LDEwICsxNzk4LDEwIEBACiAJfQogfQogCi1wcm9jIHVpX3JlYWR5IHt7dGVzdCB7fX19IHsKK3Byb2MgdWlfcmVhZHkge30gewogCWdsb2JhbCBtYWluX3N0YXR1cwogCWlmIHtbaW5mbyBleGlzdHMgbWFpbl9zdGF0dXNdfSB7Ci0JCSRtYWluX3N0YXR1cyBzaG93IFttYyAiUmVhZHkuIl0gJHRlc3QKKwkJJG1haW5fc3RhdHVzIHNob3cgW21jICJSZWFkeS4iXQogCX0KIH0KIApAQCAtMjE0OCw4ICsyMTUxLDYgQEAKICMjCiAjIyB1aSBjb21tYW5kcwogCi1zZXQgc3RhcnRpbmdfZ2l0a19tc2cgW21jICJTdGFydGluZyBnaXRrLi4uIHBsZWFzZSB3YWl0Li4uIl0KLQogcHJvYyBkb19naXRrIHtyZXZzIHtpc19zdWJtb2R1bGUgZmFsc2V9fSB7CiAJZ2xvYmFsIGN1cnJlbnRfZGlmZl9wYXRoIGZpbGVfc3RhdGVzIGN1cnJlbnRfZGlmZl9zaWRlIHVpX2luZGV4CiAJZ2xvYmFsIF9naXRkaXIgX2dpdHdvcmt0cmVlCkBAIC0yMjA0LDEwICsyMjA1LDExIEBACiAJCXNldCBlbnYoR0lUX1dPUktfVFJFRSkgJF9naXR3b3JrdHJlZQogCQljZCAkcHdkCiAKLQkJdWlfc3RhdHVzICQ6OnN0YXJ0aW5nX2dpdGtfbXNnCi0JCWFmdGVyIDEwMDAwIHsKLQkJCXVpX3JlYWR5ICRzdGFydGluZ19naXRrX21zZwotCQl9CisJCXNldCBzdGF0dXNfb3BlcmF0aW9uIFskOjptYWluX3N0YXR1cyBcCisJCQlzdGFydCBcCisJCQlbbWMgIlN0YXJ0aW5nICVzLi4uIHBsZWFzZSB3YWl0Li4uIiAiZ2l0ayJdXQorCisJCWFmdGVyIDM1MDAgW2xpc3QgJHN0YXR1c19vcGVyYXRpb24gc3RvcF0KIAl9CiB9CiAKQEAgLTIyMzgsMTYgKzIyNDAsMTYgQEAKIAkJc2V0IGVudihHSVRfV09SS19UUkVFKSAkX2dpdHdvcmt0cmVlCiAJCWNkICRwd2QKIAotCQl1aV9zdGF0dXMgJDo6c3RhcnRpbmdfZ2l0a19tc2cKLQkJYWZ0ZXIgMTAwMDAgewotCQkJdWlfcmVhZHkgJHN0YXJ0aW5nX2dpdGtfbXNnCi0JCX0KKwkJc2V0IHN0YXR1c19vcGVyYXRpb24gWyQ6Om1haW5fc3RhdHVzIFwKKwkJCXN0YXJ0IFwKKwkJCVttYyAiU3RhcnRpbmcgJXMuLi4gcGxlYXNlIHdhaXQuLi4iICJnaXQtZ3VpIl1dCisKKwkJYWZ0ZXIgMzUwMCBbbGlzdCAkc3RhdHVzX29wZXJhdGlvbiBzdG9wXQogCX0KIH0KIAotcHJvYyBkb19leHBsb3JlIHt9IHsKLQlnbG9iYWwgX2dpdHdvcmt0cmVlCi0Jc2V0IGV4cGxvcmVyIHt9CisjIEdldCB0aGUgc3lzdGVtLXNwZWNpZmljIGV4cGxvcmVyIGFwcC9jb21tYW5kLgorcHJvYyBnZXRfZXhwbG9yZXIge30gewogCWlmIHtbaXNfQ3lnd2luXSB8fCBbaXNfV2luZG93c119IHsKIAkJc2V0IGV4cGxvcmVyICJleHBsb3Jlci5leGUiCiAJfSBlbHNlaWYge1tpc19NYWNPU1hdfSB7CkBAIC0yMjU2LDkgKzIyNTgsMjMgQEAKIAkJIyBmcmVlZGVza3RvcC5vcmctY29uZm9ybWluZyBzeXN0ZW0gaXMgb3VyIGJlc3Qgc2hvdAogCQlzZXQgZXhwbG9yZXIgInhkZy1vcGVuIgogCX0KKwlyZXR1cm4gJGV4cGxvcmVyCit9CisKK3Byb2MgZG9fZXhwbG9yZSB7fSB7CisJZ2xvYmFsIF9naXR3b3JrdHJlZQorCXNldCBleHBsb3JlciBbZ2V0X2V4cGxvcmVyXQogCWV2YWwgZXhlYyAkZXhwbG9yZXIgW2xpc3QgW2ZpbGUgbmF0aXZlbmFtZSAkX2dpdHdvcmt0cmVlXV0gJgogfQogCisjIE9wZW4gZmlsZSByZWxhdGl2ZSB0byB0aGUgd29ya2luZyB0cmVlIGJ5IHRoZSBkZWZhdWx0IGFzc29jaWF0ZWQgYXBwLgorcHJvYyBkb19maWxlX29wZW4ge2ZpbGV9IHsKKwlnbG9iYWwgX2dpdHdvcmt0cmVlCisJc2V0IGV4cGxvcmVyIFtnZXRfZXhwbG9yZXJdCisJc2V0IGZ1bGxfZmlsZV9wYXRoIFtmaWxlIGpvaW4gJF9naXR3b3JrdHJlZSAkZmlsZV0KKwlleGVjICRleHBsb3JlciBbZmlsZSBuYXRpdmVuYW1lICRmdWxsX2ZpbGVfcGF0aF0gJgorfQorCiBzZXQgaXNfcXVpdHRpbmcgMAogc2V0IHJldF9jb2RlICAgIDEKIApAQCAtMjQ5NCw3ICsyNTEwLDcgQEAKIAogcHJvYyB0b2dnbGVfb3JfZGlmZiB7bW9kZSB3IGFyZ3N9IHsKIAlnbG9iYWwgZmlsZV9zdGF0ZXMgZmlsZV9saXN0cyBjdXJyZW50X2RpZmZfcGF0aCB1aV9pbmRleCB1aV93b3JrZGlyCi0JZ2xvYmFsIGxhc3RfY2xpY2tlZCBzZWxlY3RlZF9wYXRocworCWdsb2JhbCBsYXN0X2NsaWNrZWQgc2VsZWN0ZWRfcGF0aHMgZmlsZV9saXN0c19sYXN0X2NsaWNrZWQKIAogCWlmIHskbW9kZSBlcSAiY2xpY2sifSB7CiAJCWZvcmVhY2gge3ggeX0gJGFyZ3MgYnJlYWsKQEAgLTI1NTEsNiArMjU2Nyw4IEBACiAJJHVpX2luZGV4IHRhZyByZW1vdmUgaW5fc2VsIDAuMCBlbmQKIAkkdWlfd29ya2RpciB0YWcgcmVtb3ZlIGluX3NlbCAwLjAgZW5kCiAKKwlzZXQgZmlsZV9saXN0c19sYXN0X2NsaWNrZWQoJHcpICRwYXRoCisKIAkjIERldGVybWluZSB0aGUgc3RhdGUgb2YgdGhlIGZpbGUKIAlpZiB7W2luZm8gZXhpc3RzIGZpbGVfc3RhdGVzKCRwYXRoKV19IHsKIAkJc2V0IHN0YXRlIFtsaW5kZXggJGZpbGVfc3RhdGVzKCRwYXRoKSAwXQpAQCAtMjY2NCw2ICsyNjgyLDMyIEBACiAJfQogfQogCitwcm9jIGZvY3VzX3dpZGdldCB7d2lkZ2V0fSB7CisJZ2xvYmFsIGZpbGVfbGlzdHMgbGFzdF9jbGlja2VkIHNlbGVjdGVkX3BhdGhzCisJZ2xvYmFsIGZpbGVfbGlzdHNfbGFzdF9jbGlja2VkCisKKwlpZiB7W2xsZW5ndGggJGZpbGVfbGlzdHMoJHdpZGdldCldID4gMH0geworCQlzZXQgcGF0aCAkZmlsZV9saXN0c19sYXN0X2NsaWNrZWQoJHdpZGdldCkKKwkJc2V0IGluZGV4IFtsc2VhcmNoIC1zb3J0ZWQgLWV4YWN0ICRmaWxlX2xpc3RzKCR3aWRnZXQpICRwYXRoXQorCQlpZiB7JGluZGV4IDwgMH0geworCQkJc2V0IGluZGV4IDAKKwkJCXNldCBwYXRoIFtsaW5kZXggJGZpbGVfbGlzdHMoJHdpZGdldCkgJGluZGV4XQorCQl9CisKKwkJZm9jdXMgJHdpZGdldAorCQlzZXQgbGFzdF9jbGlja2VkIFtsaXN0ICR3aWRnZXQgW2V4cHIgJGluZGV4ICsgMV1dCisJCWFycmF5IHVuc2V0IHNlbGVjdGVkX3BhdGhzCisJCXNldCBzZWxlY3RlZF9wYXRocygkcGF0aCkgMQorCQlzaG93X2RpZmYgJHBhdGggJHdpZGdldAorCX0KK30KKworcHJvYyB0b2dnbGVfY29tbWl0X3R5cGUge30geworCWdsb2JhbCBjb21taXRfdHlwZV9pc19hbWVuZAorCXNldCBjb21taXRfdHlwZV9pc19hbWVuZCBbZXhwciAhJGNvbW1pdF90eXBlX2lzX2FtZW5kXQorCWRvX3NlbGVjdF9jb21taXRfdHlwZQorfQorCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIwogIyMgdWkgY29uc3RydWN0aW9uCkBAIC0yNzA2LDEwICsyNzUwLDE4IEBACiB9CiAKIGlmIHtbaXNfV2luZG93c119IHsKKwkjIFVzZSAvZ2l0LWJhc2guZXhlIGlmIGF2YWlsYWJsZQorCXNldCBub3JtYWxpemVkIFtmaWxlIG5vcm1hbGl6ZSAkOjphcmd2MF0KKwlyZWdzdWIgIi9taW5ndy4uL2xpYmV4ZWMvZ2l0LWNvcmUvZ2l0LWd1aSQiIFwKKwkJJG5vcm1hbGl6ZWQgIi9naXQtYmFzaC5leGUiIGNtZExpbmUKKwlpZiB7JGNtZExpbmUgIT0gJG5vcm1hbGl6ZWQgJiYgW2ZpbGUgZXhpc3RzICRjbWRMaW5lXX0geworCQlzZXQgY21kTGluZSBbbGlzdCAiR2l0IEJhc2giICRjbWRMaW5lICZdCisJfSBlbHNlIHsKKwkJc2V0IGNtZExpbmUgW2xpc3QgIkdpdCBCYXNoIiBiYXNoIC0tbG9naW4gLWwgJl0KKwl9CiAJLm1iYXIucmVwb3NpdG9yeSBhZGQgY29tbWFuZCBcCiAJCS1sYWJlbCBbbWMgIkdpdCBCYXNoIl0gXAotCQktY29tbWFuZCB7ZXZhbCBleGVjIFthdXRvX2V4ZWNvayBzdGFydF0gXAotCQkJCQkgIFtsaXN0ICJHaXQgQmFzaCIgYmFzaCAtLWxvZ2luIC1sICZdfQorCQktY29tbWFuZCB7ZXZhbCBleGVjIFthdXRvX2V4ZWNvayBzdGFydF0gJGNtZExpbmV9CiB9CiAKIGlmIHtbaXNfV2luZG93c10gfHwgIVtpc19iYXJlXX0gewpAQCAtMjg1MiwxOSArMjkwNCwxMSBAQAogCW1lbnUgLm1iYXIuY29tbWl0CiAKIAlpZiB7IVtpc19lbmFibGVkIG5vY29tbWl0XX0gewotCQkubWJhci5jb21taXQgYWRkIHJhZGlvYnV0dG9uIFwKLQkJCS1sYWJlbCBbbWMgIk5ldyBDb21taXQiXSBcCi0JCQktY29tbWFuZCBkb19zZWxlY3RfY29tbWl0X3R5cGUgXAotCQkJLXZhcmlhYmxlIHNlbGVjdGVkX2NvbW1pdF90eXBlIFwKLQkJCS12YWx1ZSBuZXcKLQkJbGFwcGVuZCBkaXNhYmxlX29uX2xvY2sgXAotCQkJW2xpc3QgLm1iYXIuY29tbWl0IGVudHJ5Y29uZiBbLm1iYXIuY29tbWl0IGluZGV4IGxhc3RdIC1zdGF0ZV0KLQotCQkubWJhci5jb21taXQgYWRkIHJhZGlvYnV0dG9uIFwKKwkJLm1iYXIuY29tbWl0IGFkZCBjaGVja2J1dHRvbiBcCiAJCQktbGFiZWwgW21jICJBbWVuZCBMYXN0IENvbW1pdCJdIFwKLQkJCS1jb21tYW5kIGRvX3NlbGVjdF9jb21taXRfdHlwZSBcCi0JCQktdmFyaWFibGUgc2VsZWN0ZWRfY29tbWl0X3R5cGUgXAotCQkJLXZhbHVlIGFtZW5kCisJCQktYWNjZWxlcmF0b3IgJE0xVC1FIFwKKwkJCS12YXJpYWJsZSBjb21taXRfdHlwZV9pc19hbWVuZCBcCisJCQktY29tbWFuZCBkb19zZWxlY3RfY29tbWl0X3R5cGUKIAkJbGFwcGVuZCBkaXNhYmxlX29uX2xvY2sgXAogCQkJW2xpc3QgLm1iYXIuY29tbWl0IGVudHJ5Y29uZiBbLm1iYXIuY29tbWl0IGluZGV4IGxhc3RdIC1zdGF0ZV0KIApAQCAtMzAzMCw4ICszMDc0LDIzIEBACiB3bSBwcm90b2NvbCAuIFdNX0RFTEVURV9XSU5ET1cgZG9fcXVpdAogYmluZCBhbGwgPCRNMUItS2V5LXE+IGRvX3F1aXQKIGJpbmQgYWxsIDwkTTFCLUtleS1RPiBkb19xdWl0Ci1iaW5kIGFsbCA8JE0xQi1LZXktdz4ge2Rlc3Ryb3kgW3dpbmZvIHRvcGxldmVsICVXXX0KLWJpbmQgYWxsIDwkTTFCLUtleS1XPiB7ZGVzdHJveSBbd2luZm8gdG9wbGV2ZWwgJVddfQorCitzZXQgbTFiX3dfc2NyaXB0IHsKKwlzZXQgdG9wbHZsX3dpbiBbd2luZm8gdG9wbGV2ZWwgJVddCisKKwkjIElmIHdlIGFyZSBkZXN0cm95aW5nIHRoZSBtYWluIHdpbmRvdywgd2Ugc2hvdWxkIGNhbGwgZG9fcXVpdCB0byB0YWtlCisJIyBjYXJlIG9mIGNsZWFudXAgYmVmb3JlIGV4aXRpbmcgdGhlIHByb2dyYW0uCisJaWYgeyR0b3Bsdmxfd2luIGVxICIuIn0geworCQlkb19xdWl0CisJfSBlbHNlIHsKKwkJZGVzdHJveSAkdG9wbHZsX3dpbgorCX0KK30KKworYmluZCBhbGwgPCRNMUItS2V5LXc+ICRtMWJfd19zY3JpcHQKK2JpbmQgYWxsIDwkTTFCLUtleS1XPiAkbTFiX3dfc2NyaXB0CisKK3Vuc2V0IG0xYl93X3NjcmlwdAogCiBzZXQgc3ViY29tbWFuZF9hcmdzIHt9CiBwcm9jIHVzYWdlIHt9IHsKQEAgLTMzMzcsMTggKzMzOTYsMTAgQEAKIHNldCB1aV9jb21sIC52cGFuZS5sb3dlci5jb21tYXJlYS5idWZmZXIuaGVhZGVyLmwKIAogaWYgeyFbaXNfZW5hYmxlZCBub2NvbW1pdF19IHsKLQkke05TfTo6cmFkaW9idXR0b24gLnZwYW5lLmxvd2VyLmNvbW1hcmVhLmJ1ZmZlci5oZWFkZXIubmV3IFwKLQkJLXRleHQgW21jICJOZXcgQ29tbWl0Il0gXAotCQktY29tbWFuZCBkb19zZWxlY3RfY29tbWl0X3R5cGUgXAotCQktdmFyaWFibGUgc2VsZWN0ZWRfY29tbWl0X3R5cGUgXAotCQktdmFsdWUgbmV3Ci0JbGFwcGVuZCBkaXNhYmxlX29uX2xvY2sgXAotCQlbbGlzdCAudnBhbmUubG93ZXIuY29tbWFyZWEuYnVmZmVyLmhlYWRlci5uZXcgY29uZiAtc3RhdGVdCi0JJHtOU306OnJhZGlvYnV0dG9uIC52cGFuZS5sb3dlci5jb21tYXJlYS5idWZmZXIuaGVhZGVyLmFtZW5kIFwKKwkke05TfTo6Y2hlY2tidXR0b24gLnZwYW5lLmxvd2VyLmNvbW1hcmVhLmJ1ZmZlci5oZWFkZXIuYW1lbmQgXAogCQktdGV4dCBbbWMgIkFtZW5kIExhc3QgQ29tbWl0Il0gXAotCQktY29tbWFuZCBkb19zZWxlY3RfY29tbWl0X3R5cGUgXAotCQktdmFyaWFibGUgc2VsZWN0ZWRfY29tbWl0X3R5cGUgXAotCQktdmFsdWUgYW1lbmQKKwkJLXZhcmlhYmxlIGNvbW1pdF90eXBlX2lzX2FtZW5kIFwKKwkJLWNvbW1hbmQgZG9fc2VsZWN0X2NvbW1pdF90eXBlCiAJbGFwcGVuZCBkaXNhYmxlX29uX2xvY2sgXAogCQlbbGlzdCAudnBhbmUubG93ZXIuY29tbWFyZWEuYnVmZmVyLmhlYWRlci5hbWVuZCBjb25mIC1zdGF0ZV0KIH0KQEAgLTMzNzMsNyArMzQyNCw2IEBACiAKIGlmIHshW2lzX2VuYWJsZWQgbm9jb21taXRdfSB7CiAJcGFjayAudnBhbmUubG93ZXIuY29tbWFyZWEuYnVmZmVyLmhlYWRlci5hbWVuZCAtc2lkZSByaWdodAotCXBhY2sgLnZwYW5lLmxvd2VyLmNvbW1hcmVhLmJ1ZmZlci5oZWFkZXIubmV3IC1zaWRlIHJpZ2h0CiB9CiAKIHRleHRmcmFtZSAudnBhbmUubG93ZXIuY29tbWFyZWEuYnVmZmVyLmZyYW1lCkBAIC0zMzg3LDEwICszNDM3LDE2IEBACiAJLXJlbGllZiBzdW5rZW4gXAogCS13aWR0aCAkcmVwb19jb25maWcoZ3VpLmNvbW1pdG1zZ3dpZHRoKSAtaGVpZ2h0IDkgLXdyYXAgbm9uZSBcCiAJLWZvbnQgZm9udF9kaWZmIFwKKwkteHNjcm9sbGNvbW1hbmQgey52cGFuZS5sb3dlci5jb21tYXJlYS5idWZmZXIuZnJhbWUuc2J4IHNldH0gXAogCS15c2Nyb2xsY29tbWFuZCB7LnZwYW5lLmxvd2VyLmNvbW1hcmVhLmJ1ZmZlci5mcmFtZS5zYnkgc2V0fQorJHtOU306OnNjcm9sbGJhciAudnBhbmUubG93ZXIuY29tbWFyZWEuYnVmZmVyLmZyYW1lLnNieCBcCisJLW9yaWVudCBob3Jpem9udGFsIFwKKwktY29tbWFuZCBbbGlzdCAkdWlfY29tbSB4dmlld10KICR7TlN9OjpzY3JvbGxiYXIgLnZwYW5lLmxvd2VyLmNvbW1hcmVhLmJ1ZmZlci5mcmFtZS5zYnkgXAorCS1vcmllbnQgdmVydGljYWwgXAogCS1jb21tYW5kIFtsaXN0ICR1aV9jb21tIHl2aWV3XQogCitwYWNrIC52cGFuZS5sb3dlci5jb21tYXJlYS5idWZmZXIuZnJhbWUuc2J4IC1zaWRlIGJvdHRvbSAtZmlsbCB4CiBwYWNrIC52cGFuZS5sb3dlci5jb21tYXJlYS5idWZmZXIuZnJhbWUuc2J5IC1zaWRlIHJpZ2h0IC1maWxsIHkKIHBhY2sgJHVpX2NvbW0gLXNpZGUgbGVmdCAtZmlsbCB5CiBwYWNrIC52cGFuZS5sb3dlci5jb21tYXJlYS5idWZmZXIuaGVhZGVyIC1zaWRlIHRvcCAtZmlsbCB4CkBAIC0zNDcwLDkgKzM1MjYsMTEgQEAKIAktanVzdGlmeSBsZWZ0CiB0bGFiZWwgLnZwYW5lLmxvd2VyLmRpZmYuaGVhZGVyLnBhdGggXAogCS1iYWNrZ3JvdW5kIGdvbGQgXAotCS1mb3JlZ3JvdW5kIGJsYWNrIFwKKwktZm9yZWdyb3VuZCBibHVlIFwKIAktYW5jaG9yIHcgXAotCS1qdXN0aWZ5IGxlZnQKKwktanVzdGlmeSBsZWZ0IFwKKwktZm9udCBbZXZhbCBmb250IGNyZWF0ZSBbZm9udCBjb25maWd1cmUgZm9udF91aV0gLXVuZGVybGluZSAxXSBcCisJLWN1cnNvciBoYW5kMgogcGFjayAudnBhbmUubG93ZXIuZGlmZi5oZWFkZXIuc3RhdHVzIC1zaWRlIGxlZnQKIHBhY2sgLnZwYW5lLmxvd2VyLmRpZmYuaGVhZGVyLmZpbGUgLXNpZGUgbGVmdAogcGFjayAudnBhbmUubG93ZXIuZGlmZi5oZWFkZXIucGF0aCAtZmlsbCB4CkBAIC0zNDg3LDggKzM1NDUsMTIgQEAKIAkJCS10eXBlIFNUUklORyBcCiAJCQktLSAkY3VycmVudF9kaWZmX3BhdGgKIAl9CiskY3R4bSBhZGQgY29tbWFuZCBcCisJLWxhYmVsIFttYyBPcGVuXSBcCisJLWNvbW1hbmQge2RvX2ZpbGVfb3BlbiAkY3VycmVudF9kaWZmX3BhdGh9CiBsYXBwZW5kIGRpZmZfYWN0aW9ucyBbbGlzdCAkY3R4bSBlbnRyeWNvbmYgWyRjdHhtIGluZGV4IGxhc3RdIC1zdGF0ZV0KIGJpbmRfYnV0dG9uMyAudnBhbmUubG93ZXIuZGlmZi5oZWFkZXIucGF0aCAidGtfcG9wdXAgJGN0eG0gJVggJVkiCitiaW5kIC52cGFuZS5sb3dlci5kaWZmLmhlYWRlci5wYXRoIDxCdXR0b24tMT4ge2RvX2ZpbGVfb3BlbiAkY3VycmVudF9kaWZmX3BhdGh9CiAKICMgLS0gRGlmZiBCb2R5CiAjCkBAIC0zNTQ3LDYgKzM2MDksOSBAQAogJHVpX2RpZmYgdGFnIGNvbmYgZDwgXAogCS1mb3JlZ3JvdW5kIG9yYW5nZSBcCiAJLWZvbnQgZm9udF9kaWZmYm9sZAorJHVpX2RpZmYgdGFnIGNvbmYgZHwgXAorCS1mb3JlZ3JvdW5kIG9yYW5nZSBcCisJLWZvbnQgZm9udF9kaWZmYm9sZAogJHVpX2RpZmYgdGFnIGNvbmYgZD0gXAogCS1mb3JlZ3JvdW5kIG9yYW5nZSBcCiAJLWZvbnQgZm9udF9kaWZmYm9sZApAQCAtMzYwNiwxNiArMzY3MSwzMiBAQAogbWVudSAkY3R4bSAtdGVhcm9mZiAwCiAkY3R4bSBhZGQgY29tbWFuZCBcCiAJLWxhYmVsIFttYyAiQXBwbHkvUmV2ZXJzZSBIdW5rIl0gXAotCS1jb21tYW5kIHthcHBseV9odW5rICRjdXJzb3JYICRjdXJzb3JZfQorCS1jb21tYW5kIHthcHBseV9vcl9yZXZlcnRfaHVuayAkY3Vyc29yWCAkY3Vyc29yWSAwfQogc2V0IHVpX2RpZmZfYXBwbHlodW5rIFskY3R4bSBpbmRleCBsYXN0XQogbGFwcGVuZCBkaWZmX2FjdGlvbnMgW2xpc3QgJGN0eG0gZW50cnljb25mICR1aV9kaWZmX2FwcGx5aHVuayAtc3RhdGVdCiAkY3R4bSBhZGQgY29tbWFuZCBcCiAJLWxhYmVsIFttYyAiQXBwbHkvUmV2ZXJzZSBMaW5lIl0gXAotCS1jb21tYW5kIHthcHBseV9yYW5nZV9vcl9saW5lICRjdXJzb3JYICRjdXJzb3JZOyBkb19yZXNjYW59CisJLWNvbW1hbmQge2FwcGx5X29yX3JldmVydF9yYW5nZV9vcl9saW5lICRjdXJzb3JYICRjdXJzb3JZIDA7IGRvX3Jlc2Nhbn0KIHNldCB1aV9kaWZmX2FwcGx5bGluZSBbJGN0eG0gaW5kZXggbGFzdF0KIGxhcHBlbmQgZGlmZl9hY3Rpb25zIFtsaXN0ICRjdHhtIGVudHJ5Y29uZiAkdWlfZGlmZl9hcHBseWxpbmUgLXN0YXRlXQogJGN0eG0gYWRkIHNlcGFyYXRvcgogJGN0eG0gYWRkIGNvbW1hbmQgXAorCS1sYWJlbCBbbWMgIlJldmVydCBIdW5rIl0gXAorCS1jb21tYW5kIHthcHBseV9vcl9yZXZlcnRfaHVuayAkY3Vyc29yWCAkY3Vyc29yWSAxfQorc2V0IHVpX2RpZmZfcmV2ZXJ0aHVuayBbJGN0eG0gaW5kZXggbGFzdF0KK2xhcHBlbmQgZGlmZl9hY3Rpb25zIFtsaXN0ICRjdHhtIGVudHJ5Y29uZiAkdWlfZGlmZl9yZXZlcnRodW5rIC1zdGF0ZV0KKyRjdHhtIGFkZCBjb21tYW5kIFwKKwktbGFiZWwgW21jICJSZXZlcnQgTGluZSJdIFwKKwktY29tbWFuZCB7YXBwbHlfb3JfcmV2ZXJ0X3JhbmdlX29yX2xpbmUgJGN1cnNvclggJGN1cnNvclkgMTsgZG9fcmVzY2FufQorc2V0IHVpX2RpZmZfcmV2ZXJ0bGluZSBbJGN0eG0gaW5kZXggbGFzdF0KK2xhcHBlbmQgZGlmZl9hY3Rpb25zIFtsaXN0ICRjdHhtIGVudHJ5Y29uZiAkdWlfZGlmZl9yZXZlcnRsaW5lIC1zdGF0ZV0KKyRjdHhtIGFkZCBjb21tYW5kIFwKKwktbGFiZWwgW21jICJVbmRvIExhc3QgUmV2ZXJ0Il0gXAorCS1jb21tYW5kIHt1bmRvX2xhc3RfcmV2ZXJ0OyBkb19yZXNjYW59CitzZXQgdWlfZGlmZl91bmRvcmV2ZXJ0IFskY3R4bSBpbmRleCBsYXN0XQorbGFwcGVuZCBkaWZmX2FjdGlvbnMgW2xpc3QgJGN0eG0gZW50cnljb25mICR1aV9kaWZmX3VuZG9yZXZlcnQgLXN0YXRlXQorJGN0eG0gYWRkIHNlcGFyYXRvcgorJGN0eG0gYWRkIGNvbW1hbmQgXAogCS1sYWJlbCBbbWMgIlNob3cgTGVzcyBDb250ZXh0Il0gXAogCS1jb21tYW5kIHNob3dfbGVzc19jb250ZXh0CiBsYXBwZW5kIGRpZmZfYWN0aW9ucyBbbGlzdCAkY3R4bSBlbnRyeWNvbmYgWyRjdHhtIGluZGV4IGxhc3RdIC1zdGF0ZV0KQEAgLTM2OTMsNyArMzc3NCw3IEBACiB9CiAKIHByb2MgcG9wdXBfZGlmZl9tZW51IHtjdHhtIGN0eG1tZyBjdHhtc20geCB5IFggWX0gewotCWdsb2JhbCBjdXJyZW50X2RpZmZfcGF0aCBmaWxlX3N0YXRlcworCWdsb2JhbCBjdXJyZW50X2RpZmZfcGF0aCBmaWxlX3N0YXRlcyBsYXN0X3JldmVydAogCXNldCA6OmN1cnNvclggJHgKIAlzZXQgOjpjdXJzb3JZICR5CiAJaWYge1tpbmZvIGV4aXN0cyBmaWxlX3N0YXRlcygkY3VycmVudF9kaWZmX3BhdGgpXX0gewpAQCAtMzcwNywxOSArMzc4OCwyOCBAQAogCQl0a19wb3B1cCAkY3R4bXNtICRYICRZCiAJfSBlbHNlIHsKIAkJc2V0IGhhc19yYW5nZSBbZXhwciB7WyQ6OnVpX2RpZmYgdGFnIG5leHRyYW5nZSBzZWwgMC4wXSAhPSB7fX1dCisJCXNldCB1IFttYyAiVW5kbyBMYXN0IFJldmVydCJdCiAJCWlmIHskOjp1aV9pbmRleCBlcSAkOjpjdXJyZW50X2RpZmZfc2lkZX0gewogCQkJc2V0IGwgW21jICJVbnN0YWdlIEh1bmsgRnJvbSBDb21taXQiXQorCQkJc2V0IGggW21jICJSZXZlcnQgSHVuayJdCisKIAkJCWlmIHskaGFzX3JhbmdlfSB7CiAJCQkJc2V0IHQgW21jICJVbnN0YWdlIExpbmVzIEZyb20gQ29tbWl0Il0KKwkJCQlzZXQgciBbbWMgIlJldmVydCBMaW5lcyJdCiAJCQl9IGVsc2UgewogCQkJCXNldCB0IFttYyAiVW5zdGFnZSBMaW5lIEZyb20gQ29tbWl0Il0KKwkJCQlzZXQgciBbbWMgIlJldmVydCBMaW5lIl0KIAkJCX0KIAkJfSBlbHNlIHsKIAkJCXNldCBsIFttYyAiU3RhZ2UgSHVuayBGb3IgQ29tbWl0Il0KKwkJCXNldCBoIFttYyAiUmV2ZXJ0IEh1bmsiXQorCiAJCQlpZiB7JGhhc19yYW5nZX0gewogCQkJCXNldCB0IFttYyAiU3RhZ2UgTGluZXMgRm9yIENvbW1pdCJdCisJCQkJc2V0IHIgW21jICJSZXZlcnQgTGluZXMiXQogCQkJfSBlbHNlIHsKIAkJCQlzZXQgdCBbbWMgIlN0YWdlIExpbmUgRm9yIENvbW1pdCJdCisJCQkJc2V0IHIgW21jICJSZXZlcnQgTGluZSJdCiAJCQl9CiAJCX0KIAkJaWYgeyQ6OmlzXzN3YXlfZGlmZgpAQCAtMzczMCwxMSArMzgyMCwzNSBAQAogCQkJfHwgW3N0cmluZyBtYXRjaCB7VD99ICRzdGF0ZV0KIAkJCXx8IFtoYXNfdGV4dGNvbnYgJGN1cnJlbnRfZGlmZl9wYXRoXX0gewogCQkJc2V0IHMgZGlzYWJsZWQKKwkJCXNldCByZXZlcnRfc3RhdGUgZGlzYWJsZWQKIAkJfSBlbHNlIHsKIAkJCXNldCBzIG5vcm1hbAorCisJCQkjIE9ubHkgYWxsb3cgcmV2ZXJ0aW5nIGNoYW5nZXMgaW4gdGhlIHdvcmtpbmcgdHJlZS4gSWYKKwkJCSMgdGhlIHVzZXIgd2FudHMgdG8gcmV2ZXJ0IGNoYW5nZXMgaW4gdGhlIGluZGV4LCB0aGV5CisJCQkjIG5lZWQgdG8gdW5zdGFnZSB0aG9zZSBmaXJzdC4KKwkJCWlmIHskOjp1aV93b3JrZGlyIGVxICQ6OmN1cnJlbnRfZGlmZl9zaWRlfSB7CisJCQkJc2V0IHJldmVydF9zdGF0ZSBub3JtYWwKKwkJCX0gZWxzZSB7CisJCQkJc2V0IHJldmVydF9zdGF0ZSBkaXNhYmxlZAorCQkJfQogCQl9CisKKwkJaWYgeyRsYXN0X3JldmVydCBlcSB7fX0geworCQkJc2V0IHVuZG9fc3RhdGUgZGlzYWJsZWQKKwkJfSBlbHNlIHsKKwkJCXNldCB1bmRvX3N0YXRlIG5vcm1hbAorCQl9CisKIAkJJGN0eG0gZW50cnljb25mICQ6OnVpX2RpZmZfYXBwbHlodW5rIC1zdGF0ZSAkcyAtbGFiZWwgJGwKIAkJJGN0eG0gZW50cnljb25mICQ6OnVpX2RpZmZfYXBwbHlsaW5lIC1zdGF0ZSAkcyAtbGFiZWwgJHQKKwkJJGN0eG0gZW50cnljb25mICQ6OnVpX2RpZmZfcmV2ZXJ0bGluZSAtc3RhdGUgJHJldmVydF9zdGF0ZSBcCisJCQktbGFiZWwgJHIKKwkJJGN0eG0gZW50cnljb25mICQ6OnVpX2RpZmZfcmV2ZXJ0aHVuayAtc3RhdGUgJHJldmVydF9zdGF0ZSBcCisJCQktbGFiZWwgJGgKKwkJJGN0eG0gZW50cnljb25mICQ6OnVpX2RpZmZfdW5kb3JldmVydCAtc3RhdGUgJHVuZG9fc3RhdGUgXAorCQkJLWxhYmVsICR1CisKIAkJdGtfcG9wdXAgJGN0eG0gJFggJFkKIAl9CiB9CkBAIC0zODYxLDYgKzM5NzUsOCBAQAogYmluZCAuICAgPCRNMUItS2V5LUo+IGRvX3JldmVydF9zZWxlY3Rpb24KIGJpbmQgLiAgIDwkTTFCLUtleS1pPiBkb19hZGRfYWxsCiBiaW5kIC4gICA8JE0xQi1LZXktST4gZG9fYWRkX2FsbAorYmluZCAuICAgPCRNMUItS2V5LWU+IHRvZ2dsZV9jb21taXRfdHlwZQorYmluZCAuICAgPCRNMUItS2V5LUU+IHRvZ2dsZV9jb21taXRfdHlwZQogYmluZCAuICAgPCRNMUItS2V5LW1pbnVzPiB7c2hvd19sZXNzX2NvbnRleHQ7YnJlYWt9CiBiaW5kIC4gICA8JE0xQi1LZXktS1BfU3VidHJhY3Q+IHtzaG93X2xlc3NfY29udGV4dDticmVha30KIGJpbmQgLiAgIDwkTTFCLUtleS1lcXVhbD4ge3Nob3dfbW9yZV9jb250ZXh0O2JyZWFrfQpAQCAtMzg3Nyw2ICszOTkzLDE0IEBACiB9CiB1bnNldCBpCiAKK2JpbmQgLiAgIDxBbHQtS2V5LTE+IHtmb2N1c193aWRnZXQgJDo6dWlfd29ya2Rpcn0KK2JpbmQgLiAgIDxBbHQtS2V5LTI+IHtmb2N1c193aWRnZXQgJDo6dWlfaW5kZXh9CitiaW5kIC4gICA8QWx0LUtleS0zPiB7Zm9jdXMgJDo6dWlfZGlmZn0KK2JpbmQgLiAgIDxBbHQtS2V5LTQ+IHtmb2N1cyAkOjp1aV9jb21tfQorCitzZXQgZmlsZV9saXN0c19sYXN0X2NsaWNrZWQoJHVpX2luZGV4KSB7fQorc2V0IGZpbGVfbGlzdHNfbGFzdF9jbGlja2VkKCR1aV93b3JrZGlyKSB7fQorCiBzZXQgZmlsZV9saXN0cygkdWlfaW5kZXgpIFtsaXN0XQogc2V0IGZpbGVfbGlzdHMoJHVpX3dvcmtkaXIpIFtsaXN0XQogCkBAIC00MDU1LDYgKzQxNzksOSBAQAogCWRvX2V4cGxvcmUKIH0KIAorIyBDbGVhciAiSW5pdGlhbGl6aW5nLi4uIiBzdGF0dXMKK2FmdGVyIDUwMCB7JG1haW5fc3RhdHVzIHNob3cgIiJ9CisKICMgTG9jYWwgdmFyaWFibGVzOgogIyBtb2RlOiB0Y2wKICMgaW5kZW50LXRhYnMtbW9kZTogdApkaWZmIC0tZ2l0IGEvZ2l0LWd1aS9saWIvYmxhbWUudGNsIGIvZ2l0LWd1aS9saWIvYmxhbWUudGNsCmluZGV4IGExYWViOGIuLjYyZWMwODMgMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvbGliL2JsYW1lLnRjbAorKysgYi9naXQtZ3VpL2xpYi9ibGFtZS50Y2wKQEAgLTI0LDYgKzI0LDcgQEAKIGZpZWxkIGZpbmRlciAgICAgOyAjIGZpbmQgbWluaS1kaWFsb2cgZnJhbWUKIGZpZWxkIGdvdG9saW5lICAgOyAjIGxpbmUgZ290byBtaW5pLWRpYWxvZyBmcmFtZQogZmllbGQgc3RhdHVzICAgICA7ICMgc3RhdHVzIG1lZ2Etd2lkZ2V0IGluc3RhbmNlCitmaWVsZCBzdGF0dXNfb3BlcmF0aW9uIDsgIyBvcGVyYXRpb24gZGlzcGxheWVkIGJ5IHN0YXR1cyBtZWdhLXdpZGdldAogZmllbGQgb2xkX2hlaWdodCA7ICMgbGFzdCBrbm93biBoZWlnaHQgb2YgJHcuZmlsZV9wYW5lCiAKIApAQCAtMjc0LDYgKzI3NSw3IEBACiAJcGFjayAkd19jdmlld2VyIC1leHBhbmQgMSAtZmlsbCBib3RoCiAKIAlzZXQgc3RhdHVzIFs6OnN0YXR1c19iYXI6Om5ldyAkdy5zdGF0dXNdCisJc2V0IHN0YXR1c19vcGVyYXRpb24ge30KIAogCW1lbnUgJHcuY3R4bSAtdGVhcm9mZiAwCiAJJHcuY3R4bSBhZGQgY29tbWFuZCBcCkBAIC02MDIsMTYgKzYwNCwyMyBAQAogCX0gZWxzZSB7CiAJCWxhcHBlbmQgb3B0aW9ucyAkY29tbWl0CiAJfQorCisJIyBXZSBtYXkgcmVjdXJzZSBpbiBmcm9tIGFub3RoZXIgY2FsbCB0byBfZXhlY19ibGFtZSBhbmQgYWxyZWFkeSBoYXZlCisJIyBhIHN0YXR1cyBvcGVyYXRpb24uCisJaWYgeyRzdGF0dXNfb3BlcmF0aW9uID09IHt9fSB7CisJCXNldCBzdGF0dXNfb3BlcmF0aW9uIFskc3RhdHVzIHN0YXJ0IFwKKwkJCSRjdXJfcyBcCisJCQlbbWMgImxpbmVzIGFubm90YXRlZCJdXQorCX0gZWxzZSB7CisJCSRzdGF0dXNfb3BlcmF0aW9uIHJlc3RhcnQgJGN1cl9zCisJfQorCiAJbGFwcGVuZCBvcHRpb25zIC0tICRwYXRoCiAJc2V0IGZkIFtldmFsIGdpdF9yZWFkIC0tbmljZSBibGFtZSAkb3B0aW9uc10KIAlmY29uZmlndXJlICRmZCAtYmxvY2tpbmcgMCAtdHJhbnNsYXRpb24gbGYgLWVuY29kaW5nIHV0Zi04CiAJZmlsZWV2ZW50ICRmZCByZWFkYWJsZSBbY2IgX3JlYWRfYmxhbWUgJGZkICRjdXJfdyAkY3VyX2RdCiAJc2V0IGN1cnJlbnRfZmQgJGZkCiAJc2V0IGJsYW1lX2xpbmVzIDAKLQotCSRzdGF0dXMgc3RhcnQgXAotCQkkY3VyX3MgXAotCQlbbWMgImxpbmVzIGFubm90YXRlZCJdCiB9CiAKIG1ldGhvZCBfcmVhZF9ibGFtZSB7ZmQgY3VyX3cgY3VyX2R9IHsKQEAgLTgwNiwxMCArODE1LDExIEBACiAJCQkJW21jICJMb2FkaW5nIG9yaWdpbmFsIGxvY2F0aW9uIGFubm90YXRpb25zLi4uIl0KIAkJfSBlbHNlIHsKIAkJCXNldCBjdXJyZW50X2ZkIHt9Ci0JCQkkc3RhdHVzIHN0b3AgW21jICJBbm5vdGF0aW9uIGNvbXBsZXRlLiJdCisJCQkkc3RhdHVzX29wZXJhdGlvbiBzdG9wIFttYyAiQW5ub3RhdGlvbiBjb21wbGV0ZS4iXQorCQkJc2V0IHN0YXR1c19vcGVyYXRpb24ge30KIAkJfQogCX0gZWxzZSB7Ci0JCSRzdGF0dXMgdXBkYXRlICRibGFtZV9saW5lcyAkdG90YWxfbGluZXMKKwkJJHN0YXR1c19vcGVyYXRpb24gdXBkYXRlICRibGFtZV9saW5lcyAkdG90YWxfbGluZXMKIAl9CiB9IGlmZGVsZXRlZCB7IGNhdGNoIHtjbG9zZSAkZmR9IH0KIApAQCAtMTEyNCw3ICsxMTM0LDcgQEAKIAkJCXNldCBkaWZmY21kIFtsaXN0IGRpZmYtdHJlZSAtLXVuaWZpZWQ9MCAkY3BhcmVudCAkY21pdCAtLSAkbmV3X3BhdGhdCiAJCX0KIAkJaWYge1tjYXRjaCB7c2V0IGZkIFtldmFsIGdpdF9yZWFkICRkaWZmY21kXX0gZXJyXX0gewotCQkJJHN0YXR1cyBzdG9wIFttYyAiVW5hYmxlIHRvIGRpc3BsYXkgcGFyZW50Il0KKwkJCSRzdGF0dXNfb3BlcmF0aW9uIHN0b3AgW21jICJVbmFibGUgdG8gZGlzcGxheSBwYXJlbnQiXQogCQkJZXJyb3JfcG9wdXAgW3N0cmNhdCBbbWMgIkVycm9yIGxvYWRpbmcgZGlmZjoiXSAiXG5cbiRlcnIiXQogCQkJcmV0dXJuCiAJCX0KZGlmZiAtLWdpdCBhL2dpdC1ndWkvbGliL2JyYW5jaC50Y2wgYi9naXQtZ3VpL2xpYi9icmFuY2gudGNsCmluZGV4IDc3N2VlYjcuLjhiMGM0ODUgMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvbGliL2JyYW5jaC50Y2wKKysrIGIvZ2l0LWd1aS9saWIvYnJhbmNoLnRjbApAQCAtOCw2ICs4LDcgQEAKIAlzZXQgcmhfbGVuIFtleHByIHtbc3RyaW5nIGxlbmd0aCAkcmhdICsgMX1dCiAJc2V0IGFsbF9oZWFkcyBbbGlzdF0KIAlzZXQgZmQgW2dpdF9yZWFkIGZvci1lYWNoLXJlZiAtLWZvcm1hdD0lKHJlZm5hbWUpICRyaF0KKwlmY29uZmlndXJlICRmZCAtdHJhbnNsYXRpb24gYmluYXJ5IC1lbmNvZGluZyB1dGYtOAogCXdoaWxlIHtbZ2V0cyAkZmQgbGluZV0gPiAwfSB7CiAJCWlmIHshJHNvbWVfaGVhZHNfdHJhY2tpbmcgfHwgIVtpc190cmFja2luZ19icmFuY2ggJGxpbmVdfSB7CiAJCQlsYXBwZW5kIGFsbF9oZWFkcyBbc3RyaW5nIHJhbmdlICRsaW5lICRyaF9sZW4gZW5kXQpAQCAtMjQsNiArMjUsNyBAQAogCQktLXNvcnQ9LXRhZ2dlcmRhdGUgXAogCQktLWZvcm1hdD0lKHJlZm5hbWUpIFwKIAkJcmVmcy90YWdzXQorCWZjb25maWd1cmUgJGZkIC10cmFuc2xhdGlvbiBiaW5hcnkgLWVuY29kaW5nIHV0Zi04CiAJd2hpbGUge1tnZXRzICRmZCBsaW5lXSA+IDB9IHsKIAkJaWYgeyFbcmVnc3ViIF5yZWZzL3RhZ3MvICRsaW5lIHt9IG5hbWVdfSBjb250aW51ZQogCQlsYXBwZW5kIGFsbF90YWdzICRuYW1lCmRpZmYgLS1naXQgYS9naXQtZ3VpL2xpYi9jaGVja291dF9vcC50Y2wgYi9naXQtZ3VpL2xpYi9jaGVja291dF9vcC50Y2wKaW5kZXggOWU3NDEyYy4uMjFlYTc2OCAxMDA2NDQKLS0tIGEvZ2l0LWd1aS9saWIvY2hlY2tvdXRfb3AudGNsCisrKyBiL2dpdC1ndWkvbGliL2NoZWNrb3V0X29wLnRjbApAQCAtMzQxLDkgKzM0MSw5IEBACiAJZ2xvYmFsIEhFQUQKIAogCXNldCByZWFkdHJlZV9kIHt9Ci0JJDo6bWFpbl9zdGF0dXMgc3RhcnQgXAorCXNldCBzdGF0dXNfYmFyX29wZXJhdGlvbiBbJDo6bWFpbl9zdGF0dXMgc3RhcnQgXAogCQlbbWMgIlVwZGF0aW5nIHdvcmtpbmcgZGlyZWN0b3J5IHRvICclcycuLi4iIFtfbmFtZSAkdGhpc11dIFwKLQkJW21jICJmaWxlcyBjaGVja2VkIG91dCJdCisJCVttYyAiZmlsZXMgY2hlY2tlZCBvdXQiXV0KIAogCXNldCBmZCBbZ2l0X3JlYWQgLS1zdGRlcnIgcmVhZC10cmVlIFwKIAkJLW0gXApAQCAtMzU0LDI2ICszNTQsMjcgQEAKIAkJJG5ld19oYXNoIFwKIAkJXQogCWZjb25maWd1cmUgJGZkIC1ibG9ja2luZyAwIC10cmFuc2xhdGlvbiBiaW5hcnkKLQlmaWxlZXZlbnQgJGZkIHJlYWRhYmxlIFtjYiBfcmVhZHRyZWVfd2FpdCAkZmRdCisJZmlsZWV2ZW50ICRmZCByZWFkYWJsZSBbY2IgX3JlYWR0cmVlX3dhaXQgJGZkICRzdGF0dXNfYmFyX29wZXJhdGlvbl0KIH0KIAotbWV0aG9kIF9yZWFkdHJlZV93YWl0IHtmZH0geworbWV0aG9kIF9yZWFkdHJlZV93YWl0IHtmZCBzdGF0dXNfYmFyX29wZXJhdGlvbn0gewogCWdsb2JhbCBjdXJyZW50X2JyYW5jaAogCiAJc2V0IGJ1ZiBbcmVhZCAkZmRdCi0JJDo6bWFpbl9zdGF0dXMgdXBkYXRlX21ldGVyICRidWYKKwkkc3RhdHVzX2Jhcl9vcGVyYXRpb24gdXBkYXRlX21ldGVyICRidWYKIAlhcHBlbmQgcmVhZHRyZWVfZCAkYnVmCiAKIAlmY29uZmlndXJlICRmZCAtYmxvY2tpbmcgMQogCWlmIHshW2VvZiAkZmRdfSB7CiAJCWZjb25maWd1cmUgJGZkIC1ibG9ja2luZyAwCisJCSRzdGF0dXNfYmFyX29wZXJhdGlvbiBzdG9wCiAJCXJldHVybgogCX0KIAogCWlmIHtbY2F0Y2gge2Nsb3NlICRmZH1dfSB7CiAJCXNldCBlcnIgJHJlYWR0cmVlX2QKIAkJcmVnc3ViIHteZmF0YWw6IH0gJGVyciB7fSBlcnIKLQkJJDo6bWFpbl9zdGF0dXMgc3RvcCBbbWMgIkFib3J0ZWQgY2hlY2tvdXQgb2YgJyVzJyAoZmlsZSBsZXZlbCBtZXJnaW5nIGlzIHJlcXVpcmVkKS4iIFtfbmFtZSAkdGhpc11dCisJCSRzdGF0dXNfYmFyX29wZXJhdGlvbiBzdG9wIFttYyAiQWJvcnRlZCBjaGVja291dCBvZiAnJXMnIChmaWxlIGxldmVsIG1lcmdpbmcgaXMgcmVxdWlyZWQpLiIgW19uYW1lICR0aGlzXV0KIAkJd2Fybl9wb3B1cCBbc3RyY2F0IFttYyAiRmlsZSBsZXZlbCBtZXJnZSByZXF1aXJlZC4iXSAiCiAKICRlcnIKQEAgLTM4NCwxMiArMzg1LDEyIEBACiAJCXJldHVybgogCX0KIAotCSQ6Om1haW5fc3RhdHVzIHN0b3AKKwkkc3RhdHVzX2Jhcl9vcGVyYXRpb24gc3RvcAogCV9hZnRlcl9yZWFkdHJlZSAkdGhpcwogfQogCiBtZXRob2QgX2FmdGVyX3JlYWR0cmVlIHt9IHsKLQlnbG9iYWwgc2VsZWN0ZWRfY29tbWl0X3R5cGUgY29tbWl0X3R5cGUgSEVBRCBNRVJHRV9IRUFEIFBBUkVOVAorCWdsb2JhbCBjb21taXRfdHlwZSBIRUFEIE1FUkdFX0hFQUQgUEFSRU5UCiAJZ2xvYmFsIGN1cnJlbnRfYnJhbmNoIGlzX2RldGFjaGVkCiAJZ2xvYmFsIHVpX2NvbW0KIApAQCAtNDkwLDEyICs0OTEsMTIgQEAKIAkjICAgIGFtZW5kIG1vZGUgb3VyIGZpbGUgbGlzdHMgYXJlIGFjY3VyYXRlIGFuZCB3ZSBjYW4gYXZvaWQKIAkjICAgIHRoZSByZXNjYW4uCiAJIwotCWdsb2JhbCBzZWxlY3RlZF9jb21taXRfdHlwZSBjb21taXRfdHlwZSBIRUFEIE1FUkdFX0hFQUQgUEFSRU5UCisJZ2xvYmFsIGNvbW1pdF90eXBlX2lzX2FtZW5kIGNvbW1pdF90eXBlIEhFQUQgTUVSR0VfSEVBRCBQQVJFTlQKIAlnbG9iYWwgdWlfY29tbQogCiAJdW5sb2NrX2luZGV4CiAJc2V0IG5hbWUgW19uYW1lICR0aGlzXQotCXNldCBzZWxlY3RlZF9jb21taXRfdHlwZSBuZXcKKwlzZXQgY29tbWl0X3R5cGVfaXNfYW1lbmQgMAogCWlmIHtbc3RyaW5nIG1hdGNoIGFtZW5kKiAkY29tbWl0X3R5cGVdfSB7CiAJCSR1aV9jb21tIGRlbGV0ZSAwLjAgZW5kCiAJCSR1aV9jb21tIGVkaXQgcmVzZXQKZGlmZiAtLWdpdCBhL2dpdC1ndWkvbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbCBiL2dpdC1ndWkvbGliL2Nob29zZV9yZXBvc2l0b3J5LnRjbAppbmRleCA4MGY1YTU5Li5lNTRmM2U2IDEwMDY0NAotLS0gYS9naXQtZ3VpL2xpYi9jaG9vc2VfcmVwb3NpdG9yeS50Y2wKKysrIGIvZ2l0LWd1aS9saWIvY2hvb3NlX3JlcG9zaXRvcnkudGNsCkBAIC05LDYgKzksMTggQEAKIGZpZWxkIHdfbmV4dCAgICAgIDsgIyBOZXh0IGJ1dHRvbgogZmllbGQgd19xdWl0ICAgICAgOyAjIFF1aXQgYnV0dG9uCiBmaWVsZCBvX2NvbnMgICAgICA7ICMgQ29uc29sZSBvYmplY3QgKGlmIGFjdGl2ZSkKKworIyBTdGF0dXMgbWVnYS13aWRnZXQgaW5zdGFuY2UgZHVyaW5nIF9kb19jbG9uZTIgKHVzZWQgYnkgX2NvcHlfZmlsZXMgYW5kCisjIF9saW5rX2ZpbGVzKS4gV2lkZ2V0IGlzIGRlc3Ryb3llZCBiZWZvcmUgX2RvX2Nsb25lMiBjYWxscworIyBfZG9fY2xvbmVfY2hlY2tvdXQKK2ZpZWxkIG9fc3RhdHVzCisKKyMgT3BlcmF0aW9uIGRpc3BsYXllZCBieSBzdGF0dXMgbWVnYS13aWRnZXQgZHVyaW5nIF9kb19jbG9uZV9jaGVja291dCA9PgorIyBfcmVhZHRyZWVfd2FpdCA9PiBfcG9zdGNoZWNrb3V0X3dhaXQgPT4gX2RvX2Nsb25lX3N1Ym1vZHVsZXMgPT4KKyMgX2RvX3ZhbGlkYXRlX3N1Ym1vZHVsZV9jbG9uaW5nLiBUaGUgc3RhdHVzIG1lZ2Etd2lkZ2V0IGlzIGEgZGlmZmVyZW50CisjIGluc3RhbmNlIHRoYW4gdGhhdCBzdG9yZWQgaW4gJG9fc3RhdHVzIGluIGVhcmxpZXIgb3BlcmF0aW9ucy4KK2ZpZWxkIG9fc3RhdHVzX29wCisKIGZpZWxkIHdfdHlwZXMgICAgIDsgIyBMaXN0IG9mIHR5cGUgYnV0dG9ucyBpbiBjbG9uZQogZmllbGQgd19yZWNlbnRsaXN0IDsgIyBMaXN0Ym94IGNvbnRhaW5pbmcgcmVjZW50IHJlcG9zaXRvcmllcwogZmllbGQgd19sb2NhbHBhdGggIDsgIyBFbnRyeSB3aWRnZXQgYm91bmQgdG8gbG9jYWxfcGF0aApAQCAtNjU5LDEyICs2NzEsMTIgQEAKIAogCXN3aXRjaCAtZXhhY3QgLS0gJGNsb25lX3R5cGUgewogCWhhcmRsaW5rIHsKLQkJc2V0IG9fY29ucyBbc3RhdHVzX2Jhcjo6dHdvX2xpbmUgJHdfYm9keV0KKwkJc2V0IG9fc3RhdHVzIFtzdGF0dXNfYmFyOjp0d29fbGluZSAkd19ib2R5XQogCQlwYWNrICR3X2JvZHkgLWZpbGwgeCAtcGFkeCAxMCAtcGFkeSAxMAogCi0JCSRvX2NvbnMgc3RhcnQgXAorCQlzZXQgc3RhdHVzX29wIFskb19zdGF0dXMgc3RhcnQgXAogCQkJW21jICJDb3VudGluZyBvYmplY3RzIl0gXAotCQkJW21jICJidWNrZXRzIl0KKwkJCVttYyAiYnVja2V0cyJdXQogCQl1cGRhdGUKIAogCQlpZiB7W2ZpbGUgZXhpc3RzIFtmaWxlIGpvaW4gJG9iamRpciBpbmZvIGFsdGVybmF0ZXNdXX0gewpAQCAtNjg5LDYgKzcwMSw3IEBACiAJCQl9IGVycl19IHsKIAkJCQljYXRjaCB7Y2QgJHB3ZH0KIAkJCQlfY2xvbmVfZmFpbGVkICR0aGlzIFttYyAiVW5hYmxlIHRvIGNvcHkgb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXM6ICVzIiAkZXJyXQorCQkJCSRzdGF0dXNfb3Agc3RvcAogCQkJCXJldHVybgogCQkJfQogCQl9CkBAIC03MDAsNyArNzEzLDcgQEAKIAkJCS1kaXJlY3RvcnkgW2ZpbGUgam9pbiAkb2JqZGlyXSA/P10KIAkJc2V0IGJjbnQgW2V4cHIge1tsbGVuZ3RoICRidWNrZXRzXSArIDJ9XQogCQlzZXQgYmN1ciAxCi0JCSRvX2NvbnMgdXBkYXRlICRiY3VyICRiY250CisJCSRzdGF0dXNfb3AgdXBkYXRlICRiY3VyICRiY250CiAJCXVwZGF0ZQogCiAJCWZpbGUgbWtkaXIgW2ZpbGUgam9pbiAuZ2l0IG9iamVjdHMgcGFja10KQEAgLTcwOCw3ICs3MjEsNyBAQAogCQkJLWRpcmVjdG9yeSBbZmlsZSBqb2luICRvYmpkaXIgcGFja10gKl0gewogCQkJbGFwcGVuZCB0b2xpbmsgW2ZpbGUgam9pbiBwYWNrICRpXQogCQl9Ci0JCSRvX2NvbnMgdXBkYXRlIFtpbmNyIGJjdXJdICRiY250CisJCSRzdGF0dXNfb3AgdXBkYXRlIFtpbmNyIGJjdXJdICRiY250CiAJCXVwZGF0ZQogCiAJCWZvcmVhY2ggaSAkYnVja2V0cyB7CkBAIC03MTcsMTAgKzczMCwxMCBAQAogCQkJCS1kaXJlY3RvcnkgW2ZpbGUgam9pbiAkb2JqZGlyICRpXSAqXSB7CiAJCQkJbGFwcGVuZCB0b2xpbmsgW2ZpbGUgam9pbiAkaSAkal0KIAkJCX0KLQkJCSRvX2NvbnMgdXBkYXRlIFtpbmNyIGJjdXJdICRiY250CisJCQkkc3RhdHVzX29wIHVwZGF0ZSBbaW5jciBiY3VyXSAkYmNudAogCQkJdXBkYXRlCiAJCX0KLQkJJG9fY29ucyBzdG9wCisJCSRzdGF0dXNfb3Agc3RvcAogCiAJCWlmIHskdG9saW5rIGVxIHt9fSB7CiAJCQlpbmZvX3BvcHVwIFtzdHJjYXQgXApAQCAtNzQ3LDYgKzc2MCw4IEBACiAJCWlmIHshJGl9IHJldHVybgogCiAJCWRlc3Ryb3kgJHdfYm9keQorCisJCXNldCBvX3N0YXR1cyB7fQogCX0KIAlmdWxsIHsKIAkJc2V0IG9fY29ucyBbY29uc29sZTo6ZW1iZWQgXApAQCAtNzgxLDkgKzc5Niw5IEBACiB9CiAKIG1ldGhvZCBfY29weV9maWxlcyB7b2JqZGlyIHRvY29weX0gewotCSRvX2NvbnMgc3RhcnQgXAorCXNldCBzdGF0dXNfb3AgWyRvX3N0YXR1cyBzdGFydCBcCiAJCVttYyAiQ29weWluZyBvYmplY3RzIl0gXAotCQlbbWMgIktpQiJdCisJCVttYyAiS2lCIl1dCiAJc2V0IHRvdCAwCiAJc2V0IGNtcCAwCiAJZm9yZWFjaCBwICR0b2NvcHkgewpAQCAtNzk4LDcgKzgxMyw3IEBACiAKIAkJCQl3aGlsZSB7IVtlb2YgJGZfaW5dfSB7CiAJCQkJCWluY3IgY21wIFtmY29weSAkZl9pbiAkZl9jcCAtc2l6ZSAxNjM4NF0KLQkJCQkJJG9fY29ucyB1cGRhdGUgXAorCQkJCQkkc3RhdHVzX29wIHVwZGF0ZSBcCiAJCQkJCQlbZXhwciB7JGNtcCAvIDEwMjR9XSBcCiAJCQkJCQlbZXhwciB7JHRvdCAvIDEwMjR9XQogCQkJCQl1cGRhdGUKQEAgLTgwOCwxNyArODIzLDE5IEBACiAJCQkJY2xvc2UgJGZfY3AKIAkJCX0gZXJyXX0gewogCQkJX2Nsb25lX2ZhaWxlZCAkdGhpcyBbbWMgIlVuYWJsZSB0byBjb3B5IG9iamVjdDogJXMiICRlcnJdCisJCQkkc3RhdHVzX29wIHN0b3AKIAkJCXJldHVybiAwCiAJCX0KIAl9CisJJHN0YXR1c19vcCBzdG9wCiAJcmV0dXJuIDEKIH0KIAogbWV0aG9kIF9saW5rX2ZpbGVzIHtvYmpkaXIgdG9saW5rfSB7CiAJc2V0IHRvdGFsIFtsbGVuZ3RoICR0b2xpbmtdCi0JJG9fY29ucyBzdGFydCBcCisJc2V0IHN0YXR1c19vcCBbJG9fc3RhdHVzIHN0YXJ0IFwKIAkJW21jICJMaW5raW5nIG9iamVjdHMiXSBcCi0JCVttYyAib2JqZWN0cyJdCisJCVttYyAib2JqZWN0cyJdXQogCWZvciB7c2V0IGkgMH0geyRpIDwgJHRvdGFsfSB7fSB7CiAJCXNldCBwIFtsaW5kZXggJHRvbGluayAkaV0KIAkJaWYge1tjYXRjaCB7CkBAIC04MjcsMTUgKzg0NCwxNyBAQAogCQkJCQlbZmlsZSBqb2luICRvYmpkaXIgJHBdCiAJCQl9IGVycl19IHsKIAkJCV9jbG9uZV9mYWlsZWQgJHRoaXMgW21jICJVbmFibGUgdG8gaGFyZGxpbmsgb2JqZWN0OiAlcyIgJGVycl0KKwkJCSRzdGF0dXNfb3Agc3RvcAogCQkJcmV0dXJuIDAKIAkJfQogCiAJCWluY3IgaQogCQlpZiB7JGkgJSA1ID09IDB9IHsKLQkJCSRvX2NvbnMgdXBkYXRlICRpICR0b3RhbAorCQkJJHN0YXR1c19vcCB1cGRhdGUgJGkgJHRvdGFsCiAJCQl1cGRhdGUKIAkJfQogCX0KKwkkc3RhdHVzX29wIHN0b3AKIAlyZXR1cm4gMQogfQogCkBAIC05NTgsMTEgKzk3NywyNiBAQAogCQlyZXR1cm4KIAl9CiAKLQlzZXQgb19jb25zIFtzdGF0dXNfYmFyOjp0d29fbGluZSAkd19ib2R5XQorCXNldCBzdGF0dXMgW3N0YXR1c19iYXI6OnR3b19saW5lICR3X2JvZHldCiAJcGFjayAkd19ib2R5IC1maWxsIHggLXBhZHggMTAgLXBhZHkgMTAKLQkkb19jb25zIHN0YXJ0IFwKKworCSMgV2Ugc3RhcnQgdGhlIHN0YXR1cyBvcGVyYXRpb24gaGVyZS4KKwkjCisJIyBUaGlzIGZ1bmN0aW9uIGNhbGxzIF9yZWFkdHJlZV93YWl0IGFzIGEgY2FsbGJhY2suCisJIworCSMgX3JlYWR0cmVlX3dhaXQgaW4gdHVybiBlaXRoZXIgY2FsbHMgX2RvX2Nsb25lX3N1Ym1vZHVsZXMgZGlyZWN0bHksCisJIyBvciBjYWxscyBfcG9zdGNoZWNrb3V0X3dhaXQgYXMgYSBjYWxsYmFjayB3aGljaCB0aGVuIGNhbGxzCisJIyBfZG9fY2xvbmVfc3VibW9kdWxlcy4KKwkjCisJIyBfZG9fY2xvbmVfc3VibW9kdWxlcyBjYWxscyBfZG9fdmFsaWRhdGVfc3VibW9kdWxlX2Nsb25pbmcuCisJIworCSMgX2RvX3ZhbGlkYXRlX3N1Ym1vZHVsZV9jbG9uaW5nIHN0b3BzIHRoZSBzdGF0dXMgb3BlcmF0aW9uLgorCSMKKwkjIFRoZXJlIGFyZSBubyBvdGhlciBjYWxscyBpbnRvIHRoaXMgY2hhaW4gZnJvbSBvdGhlciBjb2RlLgorCisJc2V0IG9fc3RhdHVzX29wIFskc3RhdHVzIHN0YXJ0IFwKIAkJW21jICJDcmVhdGluZyB3b3JraW5nIGRpcmVjdG9yeSJdIFwKLQkJW21jICJmaWxlcyJdCisJCVttYyAiZmlsZXMiXV0KIAogCXNldCByZWFkdHJlZV9lcnIge30KIAlzZXQgZmQgW2dpdF9yZWFkIC0tc3RkZXJyIHJlYWQtdHJlZSBcCkBAIC05NzYsMzMgKzEwMTAsOSBAQAogCWZpbGVldmVudCAkZmQgcmVhZGFibGUgW2NiIF9yZWFkdHJlZV93YWl0ICRmZF0KIH0KIAotbWV0aG9kIF9kb192YWxpZGF0ZV9zdWJtb2R1bGVfY2xvbmluZyB7b2t9IHsKLQlpZiB7JG9rfSB7Ci0JCSRvX2NvbnMgZG9uZSAkb2sKLQkJc2V0IGRvbmUgMQotCX0gZWxzZSB7Ci0JCV9jbG9uZV9mYWlsZWQgJHRoaXMgW21jICJDYW5ub3QgY2xvbmUgc3VibW9kdWxlcy4iXQotCX0KLX0KLQotbWV0aG9kIF9kb19jbG9uZV9zdWJtb2R1bGVzIHt9IHsKLQlpZiB7JHJlY3Vyc2l2ZSBlcSB7dHJ1ZX19IHsKLQkJZGVzdHJveSAkd19ib2R5Ci0JCXNldCBvX2NvbnMgW2NvbnNvbGU6OmVtYmVkIFwKLQkJCSR3X2JvZHkgXAotCQkJW21jICJDbG9uaW5nIHN1Ym1vZHVsZXMiXV0KLQkJcGFjayAkd19ib2R5IC1maWxsIGJvdGggLWV4cGFuZCAxIC1wYWR4IDEwCi0JCSRvX2NvbnMgZXhlYyBcCi0JCQlbbGlzdCBnaXQgc3VibW9kdWxlIHVwZGF0ZSAtLWluaXQgLS1yZWN1cnNpdmVdIFwKLQkJCVtjYiBfZG9fdmFsaWRhdGVfc3VibW9kdWxlX2Nsb25pbmddCi0JfSBlbHNlIHsKLQkJc2V0IGRvbmUgMQotCX0KLX0KLQogbWV0aG9kIF9yZWFkdHJlZV93YWl0IHtmZH0gewogCXNldCBidWYgW3JlYWQgJGZkXQotCSRvX2NvbnMgdXBkYXRlX21ldGVyICRidWYKKwkkb19zdGF0dXNfb3AgdXBkYXRlX21ldGVyICRidWYKIAlhcHBlbmQgcmVhZHRyZWVfZXJyICRidWYKIAogCWZjb25maWd1cmUgJGZkIC1ibG9ja2luZyAxCkBAIC0xMDUwLDYgKzEwNjAsMzQgQEAKIAlmY29uZmlndXJlICRmZF9waCAtYmxvY2tpbmcgMAogfQogCittZXRob2QgX2RvX2Nsb25lX3N1Ym1vZHVsZXMge30geworCWlmIHskcmVjdXJzaXZlIGVxIHt0cnVlfX0geworCQkkb19zdGF0dXNfb3Agc3RvcAorCQlzZXQgb19zdGF0dXNfb3Age30KKworCQlkZXN0cm95ICR3X2JvZHkKKworCQlzZXQgb19jb25zIFtjb25zb2xlOjplbWJlZCBcCisJCQkkd19ib2R5IFwKKwkJCVttYyAiQ2xvbmluZyBzdWJtb2R1bGVzIl1dCisJCXBhY2sgJHdfYm9keSAtZmlsbCBib3RoIC1leHBhbmQgMSAtcGFkeCAxMAorCQkkb19jb25zIGV4ZWMgXAorCQkJW2xpc3QgZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLS1pbml0IC0tcmVjdXJzaXZlXSBcCisJCQlbY2IgX2RvX3ZhbGlkYXRlX3N1Ym1vZHVsZV9jbG9uaW5nXQorCX0gZWxzZSB7CisJCXNldCBkb25lIDEKKwl9Cit9CisKK21ldGhvZCBfZG9fdmFsaWRhdGVfc3VibW9kdWxlX2Nsb25pbmcge29rfSB7CisJaWYgeyRva30geworCQkkb19jb25zIGRvbmUgJG9rCisJCXNldCBkb25lIDEKKwl9IGVsc2UgeworCQlfY2xvbmVfZmFpbGVkICR0aGlzIFttYyAiQ2Fubm90IGNsb25lIHN1Ym1vZHVsZXMuIl0KKwl9Cit9CisKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMjCiAjIyBPcGVuIEV4aXN0aW5nIFJlcG9zaXRvcnkKZGlmZiAtLWdpdCBhL2dpdC1ndWkvbGliL2Nob3JkLnRjbCBiL2dpdC1ndWkvbGliL2Nob3JkLnRjbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzVhNmNkCi0tLSAvZGV2L251bGwKKysrIGIvZ2l0LWd1aS9saWIvY2hvcmQudGNsCkBAIC0wLDAgKzEsMTYwIEBACisjIFNpbXBsZSBDaG9yZCBmb3IgVGNsCisjCisjIEEgImNob3JkIiBpcyBhIG1ldGhvZCB3aXRoIG1vcmUgdGhhbiBvbmUgZW50cnlwb2ludCBhbmQgb25seSBvbmUgYm9keSwgc3VjaAorIyB0aGF0IHRoZSBib2R5IHJ1bnMgb25seSBvbmNlIGFsbCB0aGUgZW50cnlwb2ludHMgaGF2ZSBiZWVuIGNhbGxlZCBieQorIyBkaWZmZXJlbnQgYXN5bmNocm9ub3VzIHRhc2tzLiBJbiB0aGlzIGltcGxlbWVudGF0aW9uLCB0aGUgY2hvcmQgaXMgZGVmaW5lZAorIyBkeW5hbWljYWxseSBmb3IgZWFjaCBpbnZvY2F0aW9uLiBBIFNpbXBsZUNob3JkIG9iamVjdCBpcyBjcmVhdGVkLCBzdXBwbHlpbmcKKyMgYm9keSBzY3JpcHQgdG8gYmUgcnVuIHdoZW4gdGhlIGNob3JkIGlzIGNvbXBsZXRlZCwgYW5kIHRoZW4gb25lIG9yIG1vcmUgbm90ZXMKKyMgYXJlIGFkZGVkIHRvIHRoZSBjaG9yZC4gRWFjaCBub3RlIGNhbiBiZSBjYWxsZWQgbGlrZSBhIHByb2MsIGFuZCByZXR1cm5zCisjIGltbWVkaWF0ZWx5IGlmIHRoZSBjaG9yZCBpc24ndCB5ZXQgY29tcGxldGUuIFdoZW4gdGhlIGxhc3QgcmVtYWluaW5nIG5vdGUgaXMKKyMgY2FsbGVkLCB0aGUgYm9keSBydW5zIGJlZm9yZSB0aGUgbm90ZSByZXR1cm5zLgorIworIyBUaGUgU2ltcGxlQ2hvcmQgY2xhc3MgaGFzIGEgY29uc3RydWN0b3IgdGhhdCB0YWtlcyB0aGUgYm9keSBzY3JpcHQsIGFuZCBhCisjIG1ldGhvZCBhZGRfbm90ZSB0aGF0IHJldHVybnMgYSBub3RlIG9iamVjdC4gU2luY2UgdGhlIGJvZHkgc2NyaXB0IGRvZXMgbm90CisjIHJ1biBpbiB0aGUgY29udGV4dCBvZiB0aGUgcHJvY2VkdXJlIHRoYXQgZGVmaW5lZCBpdCwgYSBtZWNoYW5pc20gaXMgcHJvdmlkZWQKKyMgZm9yIGluamVjdGluZyB2YXJpYWJsZXMgaW50byB0aGUgY2hvcmQgZm9yIHVzZSBieSB0aGUgYm9keSBzY3JpcHQuIFRoZQorIyBhY3RpdmF0aW9uIG9mIGEgbm90ZSBpcyBpZGVtcG90ZW50OyBtdWx0aXBsZSBjYWxscyBoYXZlIHRoZSBzYW1lIGVmZmVjdCBhcworIyBhIHNpbXBsZSBjYWxsLgorIworIyBJZiB5b3UgYXJlIGludm9raW5nIGFzeW5jaHJvbm91cyBvcGVyYXRpb25zIHdpdGggY2hvcmQgbm90ZXMgYXMgY29tcGxldGlvbgorIyBjYWxsYmFja3MsIGFuZCB0aGVyZSBpcyBhIHBvc3NpYmlsaXR5IHRoYXQgZWFybGllciBvcGVyYXRpb25zIGNvdWxkIGNvbXBsZXRlCisjIGJlZm9yZSBsYXRlciBvbmVzIGFyZSBzdGFydGVkLCBpdCBpcyBhIGdvb2QgcHJhY3RpY2UgdG8gY3JlYXRlIGEgImNvbW1vbiIKKyMgbm90ZSBvbiB0aGUgY2hvcmQgdGhhdCBwcmV2ZW50cyBpdCBmcm9tIGJlaW5nIGNvbXBsZXRlIHVudGlsIHlvdSdyZSBjZXJ0YWluCisjIHlvdSd2ZSBhZGRlZCBhbGwgdGhlIG5vdGVzIHlvdSBuZWVkLgorIworIyBFeGFtcGxlOgorIworIyAgICMgVHVybiBvZmYgdGhlIFVJIHdoaWxlIHJ1bm5pbmcgYSBjb3VwbGUgb2YgYXN5bmMgb3BlcmF0aW9ucy4KKyMgICBsb2NrX3VpCisjCisjICAgc2V0IGNob3JkIFtTaW1wbGVDaG9yZCBuZXcgeworIyAgICAgdW5sb2NrX3VpCisjICAgICAjIE5vdGU6ICRub3RpY2UgaGVyZSBpcyBub3QgcmVmZXJlbmNlZCBpbiB0aGUgY2FsbGluZyBzY29wZQorIyAgICAgaWYgeyRub3RpY2V9IHsgaW5mb19wb3B1cCAkbm90aWNlIH0KKyMgICB9CisjCisjICAgIyBDb25maWd1cmUgYSBub3RlIHRvIGtlZXAgdGhlIGNob3JkIGZyb20gY29tcGxldGluZyB1bnRpbAorIyAgICMgYWxsIG9wZXJhdGlvbnMgaGF2ZSBiZWVuIGluaXRpYXRlZC4KKyMgICBzZXQgY29tbW9uX25vdGUgWyRjaG9yZCBhZGRfbm90ZV0KKyMKKyMgICAjIFBhc3Mgbm90ZXMgYXMgJ2FmdGVyJyBjYWxsYmFja3MgdG8gb3RoZXIgb3BlcmF0aW9ucworIyAgIGFzeW5jX29wZXJhdGlvbiAkYXJncyBbJGNob3JkIGFkZF9ub3RlXQorIyAgIG90aGVyX2FzeW5jX29wZXJhdGlvbiAkYXJncyBbJGNob3JkIGFkZF9ub3RlXQorIworIyAgICMgQ29tbXVuaWNhdGUgd2l0aCB0aGUgY2hvcmQgYm9keQorIyAgIGlmIHskY29uZGl0aW9ufSB7CisjICAgICAjIFRoaXMgc2V0cyAkbm90aWNlIGluIHRoZSBzYW1lIGNvbnRleHQgdGhhdCB0aGUgY2hvcmQgYm9keSBydW5zIGluLgorIyAgICAgJGNob3JkIGV2YWwgeyBzZXQgbm90aWNlICJTb21ldGhpbmcgaW50ZXJlc3RpbmciIH0KKyMgICB9CisjCisjICAgIyBBY3RpdmF0ZSB0aGUgY29tbW9uIG5vdGUsIG1ha2luZyB0aGUgY2hvcmQgZWxpZ2libGUgdG8gY29tcGxldGUKKyMgICAkY29tbW9uX25vdGUKKyMKKyMgQXQgdGhpcyBwb2ludCwgdGhlIGNob3JkIHdpbGwgY29tcGxldGUgYXQgc29tZSB1bmtub3duIHBvaW50IGluIHRoZSBmdXR1cmUuCisjIFRoZSBjb21tb24gbm90ZSBtaWdodCBoYXZlIGJlZW4gdGhlIGZpcnN0IG5vdGUgYWN0aXZhdGVkLCBvciB0aGUgYXN5bmMKKyMgb3BlcmF0aW9ucyBtaWdodCBoYXZlIGNvbXBsZXRlZCBzeW5jaHJvbm91c2x5IGFuZCB0aGUgY29tbW9uIG5vdGUgaXMgdGhlCisjIGxhc3Qgb25lLCBjb21wbGV0aW5nIHRoZSBjaG9yZCBiZWZvcmUgdGhpcyBjb2RlIGZpbmlzaGVzLCBvciBhbnl0aGluZyBpbgorIyBiZXR3ZWVuLiBUaGUgcHVycG9zZSBvZiB0aGUgY2hvcmQgaXMgdG8gbm90IGhhdmUgdG8gd29ycnkgYWJvdXQgdGhlIG9yZGVyLgorCisjIFNpbXBsZUNob3JkIGNsYXNzOgorIyAgIFJlcHJlc2VudHMgYSBwcm9jZWR1cmUgdGhhdCBjb25jZXB0dWFsbHkgaGFzIG11bHRpcGxlIGVudHJ5cG9pbnRzIHRoYXQgbXVzdAorIyAgIGFsbCBiZSBjYWxsZWQgYmVmb3JlIHRoZSBwcm9jZWR1cmUgZXhlY3V0ZXMuIEVhY2ggZW50cnlwb2ludCBpcyBjYWxsZWQgYQorIyAgICJub3RlIi4gVGhlIGNob3JkIGlzIG9ubHkgImNvbXBsZXRlZCIgd2hlbiBhbGwgdGhlIG5vdGVzIGFyZSAiYWN0aXZhdGVkIi4KK29vOjpjbGFzcyBjcmVhdGUgU2ltcGxlQ2hvcmQgeworCXZhcmlhYmxlIG5vdGVzIGJvZHkgaXNfY29tcGxldGVkCisKKwkjIENvbnN0cnVjdG9yOgorCSMgICBzZXQgY2hvcmQgW1NpbXBsZUNob3JkIG5ldyB7Ym9keX1dCisJIyAgICAgQ3JlYXRlcyBhIG5ldyBjaG9yZCBvYmplY3Qgd2l0aCB0aGUgc3BlY2lmaWVkIGJvZHkgc2NyaXB0LiBUaGUKKwkjICAgICBib2R5IHNjcmlwdCBpcyBldmFsdWF0ZWQgYXQgbW9zdCBvbmNlLCB3aGVuIGEgbm90ZSBpcyBhY3RpdmF0ZWQKKwkjICAgICBhbmQgdGhlIGNob3JkIGhhcyBubyBvdGhlciBub24tYWN0aXZhdGVkIG5vdGVzLgorCWNvbnN0cnVjdG9yIHtib2R5fSB7CisJCXNldCBub3RlcyBbbGlzdF0KKwkJbXkgZXZhbCBbbGlzdCBzZXQgYm9keSAkYm9keV0KKwkJc2V0IGlzX2NvbXBsZXRlZCAwCisJfQorCisJIyBNZXRob2Q6CisJIyAgICRjaG9yZCBldmFsIHtzY3JpcHR9CisJIyAgICAgUnVucyB0aGUgc3BlY2lmaWVkIHNjcmlwdCBpbiB0aGUgc2FtZSBjb250ZXh0IChuYW1lc3BhY2UpIGluIHdoaWNoCisJIyAgICAgdGhlIGNob3JkIGJvZHkgd2lsbCBiZSBldmFsdWF0ZWQuIFRoaXMgY2FuIGJlIHVzZWQgdG8gc2V0IHZhcmlhYmxlCisJIyAgICAgdmFsdWVzIGZvciB0aGUgY2hvcmQgYm9keSB0byB1c2UuCisJbWV0aG9kIGV2YWwge3NjcmlwdH0geworCQluYW1lc3BhY2UgZXZhbCBbc2VsZl0gJHNjcmlwdAorCX0KKworCSMgTWV0aG9kOgorCSMgICBzZXQgbm90ZSBbJGNob3JkIGFkZF9ub3RlXQorCSMgICAgIEFkZHMgYSBuZXcgbm90ZSB0byB0aGUgY2hvcmQsIGFuIGluc3RhbmNlIG9mIENob3JkTm90ZS4gUmFpc2VzIGFuCisJIyAgICAgZXJyb3IgaWYgdGhlIGNob3JkIGlzIGFscmVhZHkgY29tcGxldGVkLCBvdGhlcndpc2UgdGhlIGNob3JkIGlzCisJIyAgICAgdXBkYXRlZCBzbyB0aGF0IHRoZSBuZXcgbm90ZSBtdXN0IGFsc28gYmUgYWN0aXZhdGVkIGJlZm9yZSB0aGUKKwkjICAgICBib2R5IGlzIGV2YWx1YXRlZC4KKwltZXRob2QgYWRkX25vdGUge30geworCQlpZiB7JGlzX2NvbXBsZXRlZH0geyBlcnJvciAiQ2Fubm90IGFkZCBhIG5vdGUgdG8gYSBjb21wbGV0ZWQgY2hvcmQiIH0KKworCQlzZXQgbm90ZSBbQ2hvcmROb3RlIG5ldyBbc2VsZl1dCisKKwkJbGFwcGVuZCBub3RlcyAkbm90ZQorCisJCXJldHVybiAkbm90ZQorCX0KKworCSMgVGhpcyBtZXRob2QgaXMgZm9yIGludGVybmFsIHVzZSBvbmx5IGFuZCBpcyBpbnRlbnRpb25hbGx5IHVuZG9jdW1lbnRlZC4KKwltZXRob2Qgbm90aWZ5X25vdGVfYWN0aXZhdGlvbiB7fSB7CisJCWlmIHshJGlzX2NvbXBsZXRlZH0geworCQkJZm9yZWFjaCBub3RlICRub3RlcyB7CisJCQkJaWYgeyFbJG5vdGUgaXNfYWN0aXZhdGVkXX0geyByZXR1cm4gfQorCQkJfQorCisJCQlzZXQgaXNfY29tcGxldGVkIDEKKworCQkJbmFtZXNwYWNlIGV2YWwgW3NlbGZdICRib2R5CisJCQluYW1lc3BhY2UgZGVsZXRlIFtzZWxmXQorCQl9CisJfQorfQorCisjIENob3JkTm90ZSBjbGFzczoKKyMgICBSZXByZXNlbnRzIGEgbm90ZSB3aXRoaW4gYSBjaG9yZCwgcHJvdmlkaW5nIGEgd2F5IHRvIGFjdGl2YXRlIGl0LiBXaGVuIHRoZQorIyAgIGZpbmFsIG5vdGUgb2YgdGhlIGNob3JkIGlzIGFjdGl2YXRlZCAodGhpcyBjYW4gYmUgYW55IG5vdGUgaW4gdGhlIGNob3JkLAorIyAgIHdpdGggYWxsIG90aGVyIG5vdGVzIGFscmVhZHkgcHJldmlvdXNseSBhY3RpdmF0ZWQgaW4gYW55IG9yZGVyKSwgdGhlIGNob3JkJ3MKKyMgICBib2R5IGlzIGV2YWx1YXRlZC4KK29vOjpjbGFzcyBjcmVhdGUgQ2hvcmROb3RlIHsKKwl2YXJpYWJsZSBjaG9yZCBpc19hY3RpdmF0ZWQKKworCSMgQ29uc3RydWN0b3I6CisJIyAgIEluc3RhbmNlcyBvZiBDaG9yZE5vdGUgYXJlIGNyZWF0ZWQgaW50ZXJuYWxseSBieSBjYWxsaW5nIGFkZF9ub3RlIG9uCisJIyAgIFNpbXBsZUNob3JkIG9iamVjdHMuCisJY29uc3RydWN0b3Ige2Nob3JkfSB7CisJCW15IGV2YWwgc2V0IGNob3JkICRjaG9yZAorCQlzZXQgaXNfYWN0aXZhdGVkIDAKKwl9CisKKwkjIE1ldGhvZDoKKwkjICAgWyRub3RlIGlzX2FjdGl2YXRlZF0KKwkjICAgICBSZXR1cm5zIHRydWUgaWYgdGhpcyBub3RlIGhhcyBhbHJlYWR5IGJlZW4gYWN0aXZhdGVkLgorCW1ldGhvZCBpc19hY3RpdmF0ZWQge30geworCQlyZXR1cm4gJGlzX2FjdGl2YXRlZAorCX0KKworCSMgTWV0aG9kOgorCSMgICAkbm90ZQorCSMgICAgIEFjdGl2YXRlcyB0aGUgbm90ZSwgaWYgaXQgaGFzIG5vdCBhbHJlYWR5IGJlZW4gYWN0aXZhdGVkLCBhbmQKKwkjICAgICBjb21wbGV0ZXMgdGhlIGNob3JkIGlmIHRoZXJlIGFyZSBubyBvdGhlciBub3RlcyBhd2FpdGluZworCSMgICAgIGFjdGl2YXRpb24uIFN1YnNlcXVlbnQgY2FsbHMgd2lsbCBoYXZlIG5vIGZ1cnRoZXIgZWZmZWN0LgorCSMKKwkjIE5COiBJbiBUY2xPTywgaWYgYW4gb2JqZWN0IGlzIGludm9rZWQgbGlrZSBhIG1ldGhvZCB3aXRob3V0IHN1cHBseWluZworCSMgICAgIGFueSBtZXRob2QgbmFtZSwgdGhlbiB0aGlzIGludGVybmFsIG1ldGhvZCBgdW5rbm93bmAgaXMgd2hhdAorCSMgICAgIGFjdHVhbGx5IHJ1bnMgKHdpdGggbm8gcGFyYW1ldGVycykuIEl0IGlzIHVzZWQgaW4gdGhlIENob3JkTm90ZQorCSMgICAgIGNsYXNzIGZvciB0aGUgcHVycG9zZSBvZiBhbGxvd2luZyB0aGUgbm90ZSBvYmplY3QgdG8gYmUgY2FsbGVkIGFzCisJIyAgICAgYSBmdW5jdGlvbiAoc2VlIGV4YW1wbGUgYWJvdmUpLiAoVGhlIGB1bmtub3duYCBtZXRob2QgY2FuIGFsc28gYmUKKwkjICAgICB1c2VkIHRvIHN1cHBvcnQgZHluYW1pYyBkaXNwYXRjaCwgYnV0IG11c3QgdGFrZSBwYXJhbWV0ZXJzIHRvCisJIyAgICAgaWRlbnRpZnkgdGhlICJ1bmtub3duIiBtZXRob2QgdG8gYmUgaW52b2tlZC4gSW4gdGhpcyBmb3JtLCB0aGlzCisJIyAgICAgcHJvYyBzZXJ2ZXMgb25seSB0byBtYWtlIGluc3RhbmNlcyBiZWhhdmUgZGlyZWN0bHkgbGlrZSBtZXRob2RzLikKKwltZXRob2QgdW5rbm93biB7fSB7CisJCWlmIHshJGlzX2FjdGl2YXRlZH0geworCQkJc2V0IGlzX2FjdGl2YXRlZCAxCisJCQkkY2hvcmQgbm90aWZ5X25vdGVfYWN0aXZhdGlvbgorCQl9CisJfQorfQpkaWZmIC0tZ2l0IGEvZ2l0LWd1aS9saWIvY29tbWl0LnRjbCBiL2dpdC1ndWkvbGliL2NvbW1pdC50Y2wKaW5kZXggNzVlYTk2NS4uYjUxNmFhMiAxMDA2NDQKLS0tIGEvZ2l0LWd1aS9saWIvY29tbWl0LnRjbAorKysgYi9naXQtZ3VpL2xpYi9jb21taXQudGNsCkBAIC0zMzMsNyArMzMzLDcgQEAKIHByb2MgY29tbWl0X2NvbW1pdHRyZWUge2ZkX3d0IGN1ckhFQUQgbXNnX3B9IHsKIAlnbG9iYWwgSEVBRCBQQVJFTlQgTUVSR0VfSEVBRCBjb21taXRfdHlwZSBjb21taXRfYXV0aG9yCiAJZ2xvYmFsIGN1cnJlbnRfYnJhbmNoCi0JZ2xvYmFsIHVpX2NvbW0gc2VsZWN0ZWRfY29tbWl0X3R5cGUKKwlnbG9iYWwgdWlfY29tbSBjb21taXRfdHlwZV9pc19hbWVuZAogCWdsb2JhbCBmaWxlX3N0YXRlcyBzZWxlY3RlZF9wYXRocyByZXNjYW5fYWN0aXZlCiAJZ2xvYmFsIHJlcG9fY29uZmlnCiAJZ2xvYmFsIGVudgpAQCAtNDY3LDggKzQ2Nyw4IEBACiAKIAkjIC0tIFVwZGF0ZSBpbiBtZW1vcnkgc3RhdHVzCiAJIwotCXNldCBzZWxlY3RlZF9jb21taXRfdHlwZSBuZXcKIAlzZXQgY29tbWl0X3R5cGUgbm9ybWFsCisJc2V0IGNvbW1pdF90eXBlX2lzX2FtZW5kIDAKIAlzZXQgSEVBRCAkY210X2lkCiAJc2V0IFBBUkVOVCAkY210X2lkCiAJc2V0IE1FUkdFX0hFQUQgW2xpc3RdCmRpZmYgLS1naXQgYS9naXQtZ3VpL2xpYi9jb25zb2xlLnRjbCBiL2dpdC1ndWkvbGliL2NvbnNvbGUudGNsCmluZGV4IDFmMzI0OGYuLmJiNmI5YzggMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvbGliL2NvbnNvbGUudGNsCisrKyBiL2dpdC1ndWkvbGliL2NvbnNvbGUudGNsCkBAIC0yMDMsNiArMjAzLDggQEAKIAkJCWZvY3VzICR3Lm9rCiAJCX0KIAl9CisKKwliaW5kICR3IDxLZXktRXNjYXBlPiAiZGVzdHJveSAkdzticmVhayIKIH0KIAogbWV0aG9kIF9zYl9zZXQge3NiIG9yaWVudCBmaXJzdCBsYXN0fSB7CmRpZmYgLS1naXQgYS9naXQtZ3VpL2xpYi9kaWZmLnRjbCBiL2dpdC1ndWkvbGliL2RpZmYudGNsCmluZGV4IDY4YzRhNmMuLjg3MWFkNDggMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvbGliL2RpZmYudGNsCisrKyBiL2dpdC1ndWkvbGliL2RpZmYudGNsCkBAIC01NSw3ICs1NSw3IEBACiAKIHByb2MgZm9yY2VfZGlmZl9lbmNvZGluZyB7ZW5jfSB7CiAJZ2xvYmFsIGN1cnJlbnRfZGlmZl9wYXRoCi0JCisKIAlpZiB7JGN1cnJlbnRfZGlmZl9wYXRoIG5lIHt9fSB7CiAJCWZvcmNlX3BhdGhfZW5jb2RpbmcgJGN1cnJlbnRfZGlmZl9wYXRoICRlbmMKIAkJcmVzaG93X2RpZmYKQEAgLTI3MCwxOSArMjcwLDYgQEAKIAl9CiB9CiAKLXByb2MgZ2V0X2NvbmZsaWN0X21hcmtlcl9zaXplIHtwYXRofSB7Ci0Jc2V0IHNpemUgNwotCWNhdGNoIHsKLQkJc2V0IGZkX3JjIFtldmFsIFtsaXN0IGdpdF9yZWFkIGNoZWNrLWF0dHIgImNvbmZsaWN0LW1hcmtlci1zaXplIiAtLSAkcGF0aF1dCi0JCXNldCByZXQgW2dldHMgJGZkX3JjIGxpbmVdCi0JCWNsb3NlICRmZF9yYwotCQlpZiB7JHJldCA+IDB9IHsKLQkJCXJlZ2V4cCB7Lio6IGNvbmZsaWN0LW1hcmtlci1zaXplOiAoXGQrKSR9ICRsaW5lIGxpbmUgc2l6ZQotCQl9Ci0JfQotCXJldHVybiAkc2l6ZQotfQotCiBwcm9jIHN0YXJ0X3Nob3dfZGlmZiB7Y29udF9pbmZvIHthZGRfb3B0cyB7fX19IHsKIAlnbG9iYWwgZmlsZV9zdGF0ZXMgZmlsZV9saXN0cwogCWdsb2JhbCBpc18zd2F5X2RpZmYgaXNfc3VibW9kdWxlX2RpZmYgZGlmZl9hY3RpdmUgcmVwb19jb25maWcKQEAgLTI5OCw3ICsyODUsNyBAQAogCXNldCBpc19zdWJtb2R1bGVfZGlmZiAwCiAJc2V0IGRpZmZfYWN0aXZlIDEKIAlzZXQgY3VycmVudF9kaWZmX2hlYWRlciB7fQotCXNldCBjb25mbGljdF9zaXplIFtnZXRfY29uZmxpY3RfbWFya2VyX3NpemUgJHBhdGhdCisJc2V0IGNvbmZsaWN0X3NpemUgW2dpdGF0dHIgJHBhdGggY29uZmxpY3QtbWFya2VyLXNpemUgN10KIAogCXNldCBjbWQgW2xpc3RdCiAJaWYgeyR3IGVxICR1aV9pbmRleH0gewpAQCAtMzYwLDYgKzM0NywxMCBAQAogCX0KIAogCXNldCA6OmN1cnJlbnRfZGlmZl9pbmhlYWRlciAxCisJIyBEZXRlY3QgcHJlLWltYWdlIGxpbmVzIG9mIHRoZSBkaWZmMyBjb25mbGljdC1zdHlsZS4gVGhleSBhcmUganVzdAorCSMgJysrJyBsaW5lcyB3aGljaCBpcyBub3QgYmlqZWN0aXZlLiBUaHVzLCB3ZSBuZWVkIHRvIG1haW50YWluIGEgc3RhdGUKKwkjIGFjcm9zcyBsaW5lcy4KKwlzZXQgOjpjb25mbGljdF9pbl9wcmVfaW1hZ2UgMAogCWZjb25maWd1cmUgJGZkIFwKIAkJLWJsb2NraW5nIDAgXAogCQktZW5jb2RpbmcgW2dldF9wYXRoX2VuY29kaW5nICRwYXRoXSBcCkBAIC00NjIsMTEgKzQ1MywyMyBAQAogCQkJey0tfSB7c2V0IHRhZ3MgZF8tLX0KIAkJCXsrK30gewogCQkJCXNldCByZWdleHAgW3N0cmluZyBtYXAgW2xpc3QgJWNvbmZsaWN0X3NpemUgJGNvbmZsaWN0X3NpemVdXAotCQkJCQkJCQl7XlwrXCsoWzw+PV0peyVjb25mbGljdF9zaXplfSg/OiB8JCl9XQorCQkJCQkJCQl7XlwrXCsoWzw+PXxdKXslY29uZmxpY3Rfc2l6ZX0oPzogfCQpfV0KIAkJCQlpZiB7W3JlZ2V4cCAkcmVnZXhwICRsaW5lIF9nIG9wXX0gewogCQkJCQlzZXQgaXNfY29uZmxpY3RfZGlmZiAxCiAJCQkJCXNldCBsaW5lIFtzdHJpbmcgcmVwbGFjZSAkbGluZSAwIDEgeyAgfV0KIAkJCQkJc2V0IHRhZ3MgZCRvcAorCisJCQkJCSMgVGhlIHx8fCBjb25mbGljdC1tYXJrZXIgbWFya3MgdGhlIHN0YXJ0IG9mIHRoZSBwcmUtaW1hZ2UuCisJCQkJCSMgQWxsIHRob3NlIGxpbmVzIGFyZSBhbHNvIHByZWZpeGVkIHdpdGggJysrJy4gVGh1cyB3ZSBuZWVkCisJCQkJCSMgdG8gbWFpbnRhaW4gdGhpcyBzdGF0ZS4KKwkJCQkJc2V0IDo6Y29uZmxpY3RfaW5fcHJlX2ltYWdlIFtleHByIHskb3AgZXEge3x9fV0KKwkJCQl9IGVsc2VpZiB7JDo6Y29uZmxpY3RfaW5fcHJlX2ltYWdlfSB7CisJCQkJCSMgVGhpcyBpcyBhIHByZS1pbWFnZSBsaW5lLiBJdCBpcyB0aGUgb25lIHdoaWNoIGJvdGggc2lkZXMKKwkJCQkJIyBhcmUgYmFzZWQgb24uIEFzIGl0IGhhcyBhbHNvIHRoZSAnKysnIGxpbmUgc3RhcnQsIGl0IGlzCisJCQkJCSMgbm9ybWFsbHkgc2hvd24gYXMgJ2FkZGVkJy4gSW52ZXJ0IHRoaXMgdG8gJy0tJyB0byBtYWtlCisJCQkJCSMgaXQgYSAncmVtb3ZlZCcgbGluZS4KKwkJCQkJc2V0IGxpbmUgW3N0cmluZyByZXBsYWNlICRsaW5lIDAgMSB7LS19XQorCQkJCQlzZXQgdGFncyBkXy0tCiAJCQkJfSBlbHNlIHsKIAkJCQkJc2V0IHRhZ3MgZF8rKwogCQkJCX0KQEAgLTU2NywyNCArNTcwLDMxIEBACiAJfQogfQogCi1wcm9jIGFwcGx5X2h1bmsge3ggeX0geworcHJvYyBhcHBseV9vcl9yZXZlcnRfaHVuayB7eCB5IHJldmVydH0gewogCWdsb2JhbCBjdXJyZW50X2RpZmZfcGF0aCBjdXJyZW50X2RpZmZfaGVhZGVyIGN1cnJlbnRfZGlmZl9zaWRlCi0JZ2xvYmFsIHVpX2RpZmYgdWlfaW5kZXggZmlsZV9zdGF0ZXMKKwlnbG9iYWwgdWlfZGlmZiB1aV9pbmRleCBmaWxlX3N0YXRlcyBsYXN0X3JldmVydCBsYXN0X3JldmVydF9lbmMKIAogCWlmIHskY3VycmVudF9kaWZmX3BhdGggZXEge30gfHwgJGN1cnJlbnRfZGlmZl9oZWFkZXIgZXEge319IHJldHVybgogCWlmIHshW2xvY2tfaW5kZXggYXBwbHlfaHVua119IHJldHVybgogCi0Jc2V0IGFwcGx5X2NtZCB7YXBwbHkgLS1jYWNoZWQgLS13aGl0ZXNwYWNlPW5vd2Fybn0KKwlzZXQgYXBwbHlfY21kIHthcHBseSAtLXdoaXRlc3BhY2U9bm93YXJufQogCXNldCBtaSBbbGluZGV4ICRmaWxlX3N0YXRlcygkY3VycmVudF9kaWZmX3BhdGgpIDBdCiAJaWYgeyRjdXJyZW50X2RpZmZfc2lkZSBlcSAkdWlfaW5kZXh9IHsKIAkJc2V0IGZhaWxlZF9tc2cgW21jICJGYWlsZWQgdG8gdW5zdGFnZSBzZWxlY3RlZCBodW5rLiJdCi0JCWxhcHBlbmQgYXBwbHlfY21kIC0tcmV2ZXJzZQorCQlsYXBwZW5kIGFwcGx5X2NtZCAtLXJldmVyc2UgLS1jYWNoZWQKIAkJaWYge1tzdHJpbmcgaW5kZXggJG1pIDBdIG5lIHtNfX0gewogCQkJdW5sb2NrX2luZGV4CiAJCQlyZXR1cm4KIAkJfQogCX0gZWxzZSB7Ci0JCXNldCBmYWlsZWRfbXNnIFttYyAiRmFpbGVkIHRvIHN0YWdlIHNlbGVjdGVkIGh1bmsuIl0KKwkJaWYgeyRyZXZlcnR9IHsKKwkJCXNldCBmYWlsZWRfbXNnIFttYyAiRmFpbGVkIHRvIHJldmVydCBzZWxlY3RlZCBodW5rLiJdCisJCQlsYXBwZW5kIGFwcGx5X2NtZCAtLXJldmVyc2UKKwkJfSBlbHNlIHsKKwkJCXNldCBmYWlsZWRfbXNnIFttYyAiRmFpbGVkIHRvIHN0YWdlIHNlbGVjdGVkIGh1bmsuIl0KKwkJCWxhcHBlbmQgYXBwbHlfY21kIC0tY2FjaGVkCisJCX0KKwogCQlpZiB7W3N0cmluZyBpbmRleCAkbWkgMV0gbmUge019fSB7CiAJCQl1bmxvY2tfaW5kZXgKIAkJCXJldHVybgpAQCAtNjAzLDI5ICs2MTMsNDAgQEAKIAkJc2V0IGVfbG5vIGVuZAogCX0KIAorCXNldCB3aG9sZXBhdGNoICIkY3VycmVudF9kaWZmX2hlYWRlclskdWlfZGlmZiBnZXQgJHNfbG5vICRlX2xub10iCisKIAlpZiB7W2NhdGNoIHsKIAkJc2V0IGVuYyBbZ2V0X3BhdGhfZW5jb2RpbmcgJGN1cnJlbnRfZGlmZl9wYXRoXQogCQlzZXQgcCBbZXZhbCBnaXRfd3JpdGUgJGFwcGx5X2NtZF0KIAkJZmNvbmZpZ3VyZSAkcCAtdHJhbnNsYXRpb24gYmluYXJ5IC1lbmNvZGluZyAkZW5jCi0JCXB1dHMgLW5vbmV3bGluZSAkcCAkY3VycmVudF9kaWZmX2hlYWRlcgotCQlwdXRzIC1ub25ld2xpbmUgJHAgWyR1aV9kaWZmIGdldCAkc19sbm8gJGVfbG5vXQorCQlwdXRzIC1ub25ld2xpbmUgJHAgJHdob2xlcGF0Y2gKIAkJY2xvc2UgJHB9IGVycl19IHsKIAkJZXJyb3JfcG9wdXAgIiRmYWlsZWRfbXNnXG5cbiRlcnIiCiAJCXVubG9ja19pbmRleAogCQlyZXR1cm4KIAl9CiAKKwlpZiB7JHJldmVydH0geworCQkjIFNhdmUgYSBjb3B5IG9mIHRoaXMgcGF0Y2ggZm9yIHVuZG9pbmcgcmV2ZXJ0cy4KKwkJc2V0IGxhc3RfcmV2ZXJ0ICR3aG9sZXBhdGNoCisJCXNldCBsYXN0X3JldmVydF9lbmMgJGVuYworCX0KKwogCSR1aV9kaWZmIGNvbmYgLXN0YXRlIG5vcm1hbAogCSR1aV9kaWZmIGRlbGV0ZSAkc19sbm8gJGVfbG5vCiAJJHVpX2RpZmYgY29uZiAtc3RhdGUgZGlzYWJsZWQKIAorCSMgQ2hlY2sgaWYgdGhlIGh1bmsgd2FzIHRoZSBsYXN0IG9uZSBpbiB0aGUgZmlsZS4KIAlpZiB7WyR1aV9kaWZmIGdldCAxLjAgZW5kXSBlcSAiXG4ifSB7CiAJCXNldCBvIF8KIAl9IGVsc2UgewogCQlzZXQgbyA/CiAJfQogCi0JaWYgeyRjdXJyZW50X2RpZmZfc2lkZSBlcSAkdWlfaW5kZXh9IHsKKwkjIFVwZGF0ZSB0aGUgc3RhdHVzIGZsYWdzLgorCWlmIHskcmV2ZXJ0fSB7CisJCXNldCBtaSBbc3RyaW5nIGluZGV4ICRtaSAwXSRvCisJfSBlbHNlaWYgeyRjdXJyZW50X2RpZmZfc2lkZSBlcSAkdWlfaW5kZXh9IHsKIAkJc2V0IG1pICR7b31NCiAJfSBlbHNlaWYge1tzdHJpbmcgaW5kZXggJG1pIDBdIGVxIHtffX0gewogCQlzZXQgbWkgTSRvCkBAIC02NDAsOSArNjYxLDkgQEAKIAl9CiB9CiAKLXByb2MgYXBwbHlfcmFuZ2Vfb3JfbGluZSB7eCB5fSB7Citwcm9jIGFwcGx5X29yX3JldmVydF9yYW5nZV9vcl9saW5lIHt4IHkgcmV2ZXJ0fSB7CiAJZ2xvYmFsIGN1cnJlbnRfZGlmZl9wYXRoIGN1cnJlbnRfZGlmZl9oZWFkZXIgY3VycmVudF9kaWZmX3NpZGUKLQlnbG9iYWwgdWlfZGlmZiB1aV9pbmRleCBmaWxlX3N0YXRlcworCWdsb2JhbCB1aV9kaWZmIHVpX2luZGV4IGZpbGVfc3RhdGVzIGxhc3RfcmV2ZXJ0CiAKIAlzZXQgc2VsZWN0ZWQgWyR1aV9kaWZmIHRhZyBuZXh0cmFuZ2Ugc2VsIDAuMF0KIApAQCAtNjYwLDE5ICs2ODEsMjcgQEAKIAlpZiB7JGN1cnJlbnRfZGlmZl9wYXRoIGVxIHt9IHx8ICRjdXJyZW50X2RpZmZfaGVhZGVyIGVxIHt9fSByZXR1cm4KIAlpZiB7IVtsb2NrX2luZGV4IGFwcGx5X2h1bmtdfSByZXR1cm4KIAotCXNldCBhcHBseV9jbWQge2FwcGx5IC0tY2FjaGVkIC0td2hpdGVzcGFjZT1ub3dhcm59CisJc2V0IGFwcGx5X2NtZCB7YXBwbHkgLS13aGl0ZXNwYWNlPW5vd2Fybn0KIAlzZXQgbWkgW2xpbmRleCAkZmlsZV9zdGF0ZXMoJGN1cnJlbnRfZGlmZl9wYXRoKSAwXQogCWlmIHskY3VycmVudF9kaWZmX3NpZGUgZXEgJHVpX2luZGV4fSB7CiAJCXNldCBmYWlsZWRfbXNnIFttYyAiRmFpbGVkIHRvIHVuc3RhZ2Ugc2VsZWN0ZWQgbGluZS4iXQogCQlzZXQgdG9fY29udGV4dCB7K30KLQkJbGFwcGVuZCBhcHBseV9jbWQgLS1yZXZlcnNlCisJCWxhcHBlbmQgYXBwbHlfY21kIC0tcmV2ZXJzZSAtLWNhY2hlZAogCQlpZiB7W3N0cmluZyBpbmRleCAkbWkgMF0gbmUge019fSB7CiAJCQl1bmxvY2tfaW5kZXgKIAkJCXJldHVybgogCQl9CiAJfSBlbHNlIHsKLQkJc2V0IGZhaWxlZF9tc2cgW21jICJGYWlsZWQgdG8gc3RhZ2Ugc2VsZWN0ZWQgbGluZS4iXQotCQlzZXQgdG9fY29udGV4dCB7LX0KKwkJaWYgeyRyZXZlcnR9IHsKKwkJCXNldCBmYWlsZWRfbXNnIFttYyAiRmFpbGVkIHRvIHJldmVydCBzZWxlY3RlZCBsaW5lLiJdCisJCQlzZXQgdG9fY29udGV4dCB7K30KKwkJCWxhcHBlbmQgYXBwbHlfY21kIC0tcmV2ZXJzZQorCQl9IGVsc2UgeworCQkJc2V0IGZhaWxlZF9tc2cgW21jICJGYWlsZWQgdG8gc3RhZ2Ugc2VsZWN0ZWQgbGluZS4iXQorCQkJc2V0IHRvX2NvbnRleHQgey19CisJCQlsYXBwZW5kIGFwcGx5X2NtZCAtLWNhY2hlZAorCQl9CisKIAkJaWYge1tzdHJpbmcgaW5kZXggJG1pIDFdIG5lIHtNfX0gewogCQkJdW5sb2NrX2luZGV4CiAJCQlyZXR1cm4KQEAgLTgzMCw3ICs4NTksNDcgQEAKIAkJcHV0cyAtbm9uZXdsaW5lICRwICR3aG9sZXBhdGNoCiAJCWNsb3NlICRwfSBlcnJdfSB7CiAJCWVycm9yX3BvcHVwICIkZmFpbGVkX21zZ1xuXG4kZXJyIgorCQl1bmxvY2tfaW5kZXgKKwkJcmV0dXJuCiAJfQogCisJaWYgeyRyZXZlcnR9IHsKKwkJIyBTYXZlIGEgY29weSBvZiB0aGlzIHBhdGNoIGZvciB1bmRvaW5nIHJldmVydHMuCisJCXNldCBsYXN0X3JldmVydCAkY3VycmVudF9kaWZmX2hlYWRlciR3aG9sZXBhdGNoCisJCXNldCBsYXN0X3JldmVydF9lbmMgJGVuYworCX0KKworCXVubG9ja19pbmRleAorfQorCisjIFVuZG8gdGhlIGxhc3QgbGluZS9odW5rIHJldmVydGVkLiBXaGVuIGh1bmtzIGFuZCBsaW5lcyBhcmUgcmV2ZXJ0ZWQsIGEgY29weQorIyBvZiB0aGUgZGlmZiBhcHBsaWVkIGlzIHNhdmVkLiBSZS1hcHBseSB0aGF0IGRpZmYgdG8gdW5kbyB0aGUgcmV2ZXJ0LgorIworIyBSaWdodCBub3csIHdlIG9ubHkgdXNlIGEgc2luZ2xlIHZhcmlhYmxlIHRvIGhvbGQgdGhlIGNvcHksIGFuZCBub3QgYQorIyBzdGFjay9kZXF1ZSBmb3Igc2ltcGxpY2l0eSwgc28gbXVsdGlwbGUgdW5kb3MgYXJlIG5vdCBwb3NzaWJsZS4gTWF5YmUgdGhpcworIyBjYW4gYmUgYWRkZWQgaWYgdGhlIG5lZWQgZm9yIHNvbWV0aGluZyBsaWtlIHRoaXMgaXMgZmVsdCBpbiB0aGUgZnV0dXJlLgorcHJvYyB1bmRvX2xhc3RfcmV2ZXJ0IHt9IHsKKwlnbG9iYWwgbGFzdF9yZXZlcnQgY3VycmVudF9kaWZmX3BhdGggY3VycmVudF9kaWZmX2hlYWRlcgorCWdsb2JhbCBsYXN0X3JldmVydF9lbmMKKworCWlmIHskbGFzdF9yZXZlcnQgZXEge319IHJldHVybgorCWlmIHshW2xvY2tfaW5kZXggYXBwbHlfaHVua119IHJldHVybgorCisJc2V0IGFwcGx5X2NtZCB7YXBwbHkgLS13aGl0ZXNwYWNlPW5vd2Fybn0KKwlzZXQgZmFpbGVkX21zZyBbbWMgIkZhaWxlZCB0byB1bmRvIGxhc3QgcmV2ZXJ0LiJdCisKKwlpZiB7W2NhdGNoIHsKKwkJc2V0IGVuYyAkbGFzdF9yZXZlcnRfZW5jCisJCXNldCBwIFtldmFsIGdpdF93cml0ZSAkYXBwbHlfY21kXQorCQlmY29uZmlndXJlICRwIC10cmFuc2xhdGlvbiBiaW5hcnkgLWVuY29kaW5nICRlbmMKKwkJcHV0cyAtbm9uZXdsaW5lICRwICRsYXN0X3JldmVydAorCQljbG9zZSAkcH0gZXJyXX0geworCQllcnJvcl9wb3B1cCAiJGZhaWxlZF9tc2dcblxuJGVyciIKKwkJdW5sb2NrX2luZGV4CisJCXJldHVybgorCX0KKworCXNldCBsYXN0X3JldmVydCB7fQorCiAJdW5sb2NrX2luZGV4CiB9CmRpZmYgLS1naXQgYS9naXQtZ3VpL2xpYi9pbmRleC50Y2wgYi9naXQtZ3VpL2xpYi9pbmRleC50Y2wKaW5kZXggYjU4OGRiMS4uMTI1NDE0NSAxMDA2NDQKLS0tIGEvZ2l0LWd1aS9saWIvaW5kZXgudGNsCisrKyBiL2dpdC1ndWkvbGliL2luZGV4LnRjbApAQCAtNyw2NyArNyw3NCBAQAogCX0KIH0KIAotcHJvYyBfY2xvc2VfdXBkYXRlaW5kZXgge2ZkIGFmdGVyfSB7Ci0JZ2xvYmFsIHVzZV90dGsgTlMKLQlmY29uZmlndXJlICRmZCAtYmxvY2tpbmcgMQotCWlmIHtbY2F0Y2gge2Nsb3NlICRmZH0gZXJyXX0gewotCQlzZXQgdyAuaW5kZXhmcmllZAotCQlEaWFsb2cgJHcKLQkJd20gd2l0aGRyYXcgJHcKLQkJd20gdGl0bGUgJHcgW3N0cmNhdCAiW2FwcG5hbWVdIChbcmVwb25hbWVdKTogIiBbbWMgIkluZGV4IEVycm9yIl1dCi0JCXdtIGdlb21ldHJ5ICR3ICIrW3dpbmZvIHJvb3R4IC5dK1t3aW5mbyByb290eSAuXSIKLQkJc2V0IHMgW21jICJVcGRhdGluZyB0aGUgR2l0IGluZGV4IGZhaWxlZC4gIEEgcmVzY2FuIHdpbGwgYmUgYXV0b21hdGljYWxseSBzdGFydGVkIHRvIHJlc3luY2hyb25pemUgZ2l0LWd1aS4iXQotCQl0ZXh0ICR3Lm1zZyAteXNjcm9sbGNvbW1hbmQgW2xpc3QgJHcudnMgc2V0XSBcCi0JCQktd2lkdGggW3N0cmluZyBsZW5ndGggJHNdIC1yZWxpZWYgZmxhdCBcCi0JCQktYm9yZGVyd2lkdGggMCAtaGlnaGxpZ2h0dGhpY2tuZXNzIDAgXAotCQkJLWJhY2tncm91bmQgW2dldF9iZ19jb2xvciAkd10KLQkJJHcubXNnIHRhZyBjb25maWd1cmUgYm9sZCAtZm9udCBmb250X3VpYm9sZCAtanVzdGlmeSBjZW50ZXIKLQkJJHtOU306OnNjcm9sbGJhciAkdy52cyAtY29tbWFuZCBbbGlzdCAkdy5tc2cgeXZpZXddCi0JCSR3Lm1zZyBpbnNlcnQgZW5kICRzIGJvbGQgXG5cbiRlcnIge30KLQkJJHcubXNnIGNvbmZpZ3VyZSAtc3RhdGUgZGlzYWJsZWQKLQotCQkke05TfTo6YnV0dG9uICR3LmNvbnRpbnVlIFwKLQkJCS10ZXh0IFttYyAiQ29udGludWUiXSBcCi0JCQktY29tbWFuZCBbbGlzdCBkZXN0cm95ICR3XQotCQkke05TfTo6YnV0dG9uICR3LnVubG9jayBcCi0JCQktdGV4dCBbbWMgIlVubG9jayBJbmRleCJdIFwKLQkJCS1jb21tYW5kICJkZXN0cm95ICR3OyBfZGVsZXRlX2luZGV4bG9jayIKLQkJZ3JpZCAkdy5tc2cgLSAkdy52cyAtc3RpY2t5IG5ld3MKLQkJZ3JpZCAkdy51bmxvY2sgJHcuY29udGludWUgLSAtc3RpY2t5IHNlIC1wYWR4IDIgLXBhZHkgMgotCQlncmlkIGNvbHVtbmNvbmZpZ3VyZSAkdyAwIC13ZWlnaHQgMQotCQlncmlkIHJvd2NvbmZpZ3VyZSAkdyAwIC13ZWlnaHQgMQotCi0JCXdtIHByb3RvY29sICR3IFdNX0RFTEVURV9XSU5ET1cgdXBkYXRlCi0JCWJpbmQgJHcuY29udGludWUgPFZpc2liaWxpdHk+ICIKLQkJCWdyYWIgJHcKLQkJCWZvY3VzICVXCi0JCSIKLQkJd20gZGVpY29uaWZ5ICR3Ci0JCXRrd2FpdCB3aW5kb3cgJHcKLQotCQkkOjptYWluX3N0YXR1cyBzdG9wCitwcm9jIGNsb3NlX2FuZF91bmxvY2tfaW5kZXgge2ZkIGFmdGVyfSB7CisJaWYgeyFbY2F0Y2gge19jbG9zZV91cGRhdGVpbmRleCAkZmR9IGVycl19IHsKIAkJdW5sb2NrX2luZGV4Ci0JCXJlc2NhbiAkYWZ0ZXIgMAotCQlyZXR1cm4KKwkJdXBsZXZlbCAjMCAkYWZ0ZXIKKwl9IGVsc2UgeworCQlyZXNjYW5fb25fZXJyb3IgJGVyciAkYWZ0ZXIKIAl9Ci0KLQkkOjptYWluX3N0YXR1cyBzdG9wCi0JdW5sb2NrX2luZGV4Ci0JdXBsZXZlbCAjMCAkYWZ0ZXIKIH0KIAotcHJvYyB1cGRhdGVfaW5kZXhpbmZvIHttc2cgcGF0aExpc3QgYWZ0ZXJ9IHsKK3Byb2MgX2Nsb3NlX3VwZGF0ZWluZGV4IHtmZH0geworCWZjb25maWd1cmUgJGZkIC1ibG9ja2luZyAxCisJY2xvc2UgJGZkCit9CisKK3Byb2MgcmVzY2FuX29uX2Vycm9yIHtlcnIge2FmdGVyIHt9fX0geworCWdsb2JhbCB1c2VfdHRrIE5TCisKKwlzZXQgdyAuaW5kZXhmcmllZAorCURpYWxvZyAkdworCXdtIHdpdGhkcmF3ICR3CisJd20gdGl0bGUgJHcgW3N0cmNhdCAiW2FwcG5hbWVdIChbcmVwb25hbWVdKTogIiBbbWMgIkluZGV4IEVycm9yIl1dCisJd20gZ2VvbWV0cnkgJHcgIitbd2luZm8gcm9vdHggLl0rW3dpbmZvIHJvb3R5IC5dIgorCXNldCBzIFttYyAiVXBkYXRpbmcgdGhlIEdpdCBpbmRleCBmYWlsZWQuICBBIHJlc2NhbiB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc3RhcnRlZCB0byByZXN5bmNocm9uaXplIGdpdC1ndWkuIl0KKwl0ZXh0ICR3Lm1zZyAteXNjcm9sbGNvbW1hbmQgW2xpc3QgJHcudnMgc2V0XSBcCisJCS13aWR0aCBbc3RyaW5nIGxlbmd0aCAkc10gLXJlbGllZiBmbGF0IFwKKwkJLWJvcmRlcndpZHRoIDAgLWhpZ2hsaWdodHRoaWNrbmVzcyAwIFwKKwkJLWJhY2tncm91bmQgW2dldF9iZ19jb2xvciAkd10KKwkkdy5tc2cgdGFnIGNvbmZpZ3VyZSBib2xkIC1mb250IGZvbnRfdWlib2xkIC1qdXN0aWZ5IGNlbnRlcgorCSR7TlN9OjpzY3JvbGxiYXIgJHcudnMgLWNvbW1hbmQgW2xpc3QgJHcubXNnIHl2aWV3XQorCSR3Lm1zZyBpbnNlcnQgZW5kICRzIGJvbGQgXG5cbiRlcnIge30KKwkkdy5tc2cgY29uZmlndXJlIC1zdGF0ZSBkaXNhYmxlZAorCisJJHtOU306OmJ1dHRvbiAkdy5jb250aW51ZSBcCisJCS10ZXh0IFttYyAiQ29udGludWUiXSBcCisJCS1jb21tYW5kIFtsaXN0IGRlc3Ryb3kgJHddCisJJHtOU306OmJ1dHRvbiAkdy51bmxvY2sgXAorCQktdGV4dCBbbWMgIlVubG9jayBJbmRleCJdIFwKKwkJLWNvbW1hbmQgImRlc3Ryb3kgJHc7IF9kZWxldGVfaW5kZXhsb2NrIgorCWdyaWQgJHcubXNnIC0gJHcudnMgLXN0aWNreSBuZXdzCisJZ3JpZCAkdy51bmxvY2sgJHcuY29udGludWUgLSAtc3RpY2t5IHNlIC1wYWR4IDIgLXBhZHkgMgorCWdyaWQgY29sdW1uY29uZmlndXJlICR3IDAgLXdlaWdodCAxCisJZ3JpZCByb3djb25maWd1cmUgJHcgMCAtd2VpZ2h0IDEKKworCXdtIHByb3RvY29sICR3IFdNX0RFTEVURV9XSU5ET1cgdXBkYXRlCisJYmluZCAkdy5jb250aW51ZSA8VmlzaWJpbGl0eT4gIgorCQlncmFiICR3CisJCWZvY3VzICVXCisJIgorCXdtIGRlaWNvbmlmeSAkdworCXRrd2FpdCB3aW5kb3cgJHcKKworCSQ6Om1haW5fc3RhdHVzIHN0b3BfYWxsCisJdW5sb2NrX2luZGV4CisJcmVzY2FuIFtjb25jYXQgJGFmdGVyIFtsaXN0IHVpX3JlYWR5XV0gMAorfQorCitwcm9jIHVwZGF0ZV9pbmRleGluZm8ge21zZyBwYXRoX2xpc3QgYWZ0ZXJ9IHsKIAlnbG9iYWwgdXBkYXRlX2luZGV4X2NwCiAKIAlpZiB7IVtsb2NrX2luZGV4IHVwZGF0ZV19IHJldHVybgogCiAJc2V0IHVwZGF0ZV9pbmRleF9jcCAwCi0Jc2V0IHBhdGhMaXN0IFtsc29ydCAkcGF0aExpc3RdCi0Jc2V0IHRvdGFsQ250IFtsbGVuZ3RoICRwYXRoTGlzdF0KLQlzZXQgYmF0Y2ggW2V4cHIge2ludCgkdG90YWxDbnQgKiAuMDEpICsgMX1dCisJc2V0IHBhdGhfbGlzdCBbbHNvcnQgJHBhdGhfbGlzdF0KKwlzZXQgdG90YWxfY250IFtsbGVuZ3RoICRwYXRoX2xpc3RdCisJc2V0IGJhdGNoIFtleHByIHtpbnQoJHRvdGFsX2NudCAqIC4wMSkgKyAxfV0KIAlpZiB7JGJhdGNoID4gMjV9IHtzZXQgYmF0Y2ggMjV9CiAKLQkkOjptYWluX3N0YXR1cyBzdGFydCAkbXNnIFttYyAiZmlsZXMiXQorCXNldCBzdGF0dXNfYmFyX29wZXJhdGlvbiBbJDo6bWFpbl9zdGF0dXMgc3RhcnQgJG1zZyBbbWMgImZpbGVzIl1dCiAJc2V0IGZkIFtnaXRfd3JpdGUgdXBkYXRlLWluZGV4IC16IC0taW5kZXgtaW5mb10KIAlmY29uZmlndXJlICRmZCBcCiAJCS1ibG9ja2luZyAwIFwKQEAgLTc4LDI2ICs4NSwyOSBAQAogCWZpbGVldmVudCAkZmQgd3JpdGFibGUgW2xpc3QgXAogCQl3cml0ZV91cGRhdGVfaW5kZXhpbmZvIFwKIAkJJGZkIFwKLQkJJHBhdGhMaXN0IFwKLQkJJHRvdGFsQ250IFwKKwkJJHBhdGhfbGlzdCBcCisJCSR0b3RhbF9jbnQgXAogCQkkYmF0Y2ggXAorCQkkc3RhdHVzX2Jhcl9vcGVyYXRpb24gXAogCQkkYWZ0ZXIgXAogCQldCiB9CiAKLXByb2Mgd3JpdGVfdXBkYXRlX2luZGV4aW5mbyB7ZmQgcGF0aExpc3QgdG90YWxDbnQgYmF0Y2ggYWZ0ZXJ9IHsKK3Byb2Mgd3JpdGVfdXBkYXRlX2luZGV4aW5mbyB7ZmQgcGF0aF9saXN0IHRvdGFsX2NudCBiYXRjaCBzdGF0dXNfYmFyX29wZXJhdGlvbiBcCisJYWZ0ZXJ9IHsKIAlnbG9iYWwgdXBkYXRlX2luZGV4X2NwCiAJZ2xvYmFsIGZpbGVfc3RhdGVzIGN1cnJlbnRfZGlmZl9wYXRoCiAKLQlpZiB7JHVwZGF0ZV9pbmRleF9jcCA+PSAkdG90YWxDbnR9IHsKLQkJX2Nsb3NlX3VwZGF0ZWluZGV4ICRmZCAkYWZ0ZXIKKwlpZiB7JHVwZGF0ZV9pbmRleF9jcCA+PSAkdG90YWxfY250fSB7CisJCSRzdGF0dXNfYmFyX29wZXJhdGlvbiBzdG9wCisJCWNsb3NlX2FuZF91bmxvY2tfaW5kZXggJGZkICRhZnRlcgogCQlyZXR1cm4KIAl9CiAKIAlmb3Ige3NldCBpICRiYXRjaH0gXAotCQl7JHVwZGF0ZV9pbmRleF9jcCA8ICR0b3RhbENudCAmJiAkaSA+IDB9IFwKKwkJeyR1cGRhdGVfaW5kZXhfY3AgPCAkdG90YWxfY250ICYmICRpID4gMH0gXAogCQl7aW5jciBpIC0xfSB7Ci0JCXNldCBwYXRoIFtsaW5kZXggJHBhdGhMaXN0ICR1cGRhdGVfaW5kZXhfY3BdCisJCXNldCBwYXRoIFtsaW5kZXggJHBhdGhfbGlzdCAkdXBkYXRlX2luZGV4X2NwXQogCQlpbmNyIHVwZGF0ZV9pbmRleF9jcAogCiAJCXNldCBzICRmaWxlX3N0YXRlcygkcGF0aCkKQEAgLTExOSwyMSArMTI5LDIxIEBACiAJCWRpc3BsYXlfZmlsZSAkcGF0aCAkbmV3CiAJfQogCi0JJDo6bWFpbl9zdGF0dXMgdXBkYXRlICR1cGRhdGVfaW5kZXhfY3AgJHRvdGFsQ250CisJJHN0YXR1c19iYXJfb3BlcmF0aW9uIHVwZGF0ZSAkdXBkYXRlX2luZGV4X2NwICR0b3RhbF9jbnQKIH0KIAotcHJvYyB1cGRhdGVfaW5kZXgge21zZyBwYXRoTGlzdCBhZnRlcn0geworcHJvYyB1cGRhdGVfaW5kZXgge21zZyBwYXRoX2xpc3QgYWZ0ZXJ9IHsKIAlnbG9iYWwgdXBkYXRlX2luZGV4X2NwCiAKIAlpZiB7IVtsb2NrX2luZGV4IHVwZGF0ZV19IHJldHVybgogCiAJc2V0IHVwZGF0ZV9pbmRleF9jcCAwCi0Jc2V0IHBhdGhMaXN0IFtsc29ydCAkcGF0aExpc3RdCi0Jc2V0IHRvdGFsQ250IFtsbGVuZ3RoICRwYXRoTGlzdF0KLQlzZXQgYmF0Y2ggW2V4cHIge2ludCgkdG90YWxDbnQgKiAuMDEpICsgMX1dCisJc2V0IHBhdGhfbGlzdCBbbHNvcnQgJHBhdGhfbGlzdF0KKwlzZXQgdG90YWxfY250IFtsbGVuZ3RoICRwYXRoX2xpc3RdCisJc2V0IGJhdGNoIFtleHByIHtpbnQoJHRvdGFsX2NudCAqIC4wMSkgKyAxfV0KIAlpZiB7JGJhdGNoID4gMjV9IHtzZXQgYmF0Y2ggMjV9CiAKLQkkOjptYWluX3N0YXR1cyBzdGFydCAkbXNnIFttYyAiZmlsZXMiXQorCXNldCBzdGF0dXNfYmFyX29wZXJhdGlvbiBbJDo6bWFpbl9zdGF0dXMgc3RhcnQgJG1zZyBbbWMgImZpbGVzIl1dCiAJc2V0IGZkIFtnaXRfd3JpdGUgdXBkYXRlLWluZGV4IC0tYWRkIC0tcmVtb3ZlIC16IC0tc3RkaW5dCiAJZmNvbmZpZ3VyZSAkZmQgXAogCQktYmxvY2tpbmcgMCBcCkBAIC0xNDQsMjYgKzE1NCwyOSBAQAogCWZpbGVldmVudCAkZmQgd3JpdGFibGUgW2xpc3QgXAogCQl3cml0ZV91cGRhdGVfaW5kZXggXAogCQkkZmQgXAotCQkkcGF0aExpc3QgXAotCQkkdG90YWxDbnQgXAorCQkkcGF0aF9saXN0IFwKKwkJJHRvdGFsX2NudCBcCiAJCSRiYXRjaCBcCisJCSRzdGF0dXNfYmFyX29wZXJhdGlvbiBcCiAJCSRhZnRlciBcCiAJCV0KIH0KIAotcHJvYyB3cml0ZV91cGRhdGVfaW5kZXgge2ZkIHBhdGhMaXN0IHRvdGFsQ250IGJhdGNoIGFmdGVyfSB7Citwcm9jIHdyaXRlX3VwZGF0ZV9pbmRleCB7ZmQgcGF0aF9saXN0IHRvdGFsX2NudCBiYXRjaCBzdGF0dXNfYmFyX29wZXJhdGlvbiBcCisJYWZ0ZXJ9IHsKIAlnbG9iYWwgdXBkYXRlX2luZGV4X2NwCiAJZ2xvYmFsIGZpbGVfc3RhdGVzIGN1cnJlbnRfZGlmZl9wYXRoCiAKLQlpZiB7JHVwZGF0ZV9pbmRleF9jcCA+PSAkdG90YWxDbnR9IHsKLQkJX2Nsb3NlX3VwZGF0ZWluZGV4ICRmZCAkYWZ0ZXIKKwlpZiB7JHVwZGF0ZV9pbmRleF9jcCA+PSAkdG90YWxfY250fSB7CisJCSRzdGF0dXNfYmFyX29wZXJhdGlvbiBzdG9wCisJCWNsb3NlX2FuZF91bmxvY2tfaW5kZXggJGZkICRhZnRlcgogCQlyZXR1cm4KIAl9CiAKIAlmb3Ige3NldCBpICRiYXRjaH0gXAotCQl7JHVwZGF0ZV9pbmRleF9jcCA8ICR0b3RhbENudCAmJiAkaSA+IDB9IFwKKwkJeyR1cGRhdGVfaW5kZXhfY3AgPCAkdG90YWxfY250ICYmICRpID4gMH0gXAogCQl7aW5jciBpIC0xfSB7Ci0JCXNldCBwYXRoIFtsaW5kZXggJHBhdGhMaXN0ICR1cGRhdGVfaW5kZXhfY3BdCisJCXNldCBwYXRoIFtsaW5kZXggJHBhdGhfbGlzdCAkdXBkYXRlX2luZGV4X2NwXQogCQlpbmNyIHVwZGF0ZV9pbmRleF9jcAogCiAJCXN3aXRjaCAtZ2xvYiAtLSBbbGluZGV4ICRmaWxlX3N0YXRlcygkcGF0aCkgMF0gewpAQCAtMTkwLDIxICsyMDMsMjEgQEAKIAkJZGlzcGxheV9maWxlICRwYXRoICRuZXcKIAl9CiAKLQkkOjptYWluX3N0YXR1cyB1cGRhdGUgJHVwZGF0ZV9pbmRleF9jcCAkdG90YWxDbnQKKwkkc3RhdHVzX2Jhcl9vcGVyYXRpb24gdXBkYXRlICR1cGRhdGVfaW5kZXhfY3AgJHRvdGFsX2NudAogfQogCi1wcm9jIGNoZWNrb3V0X2luZGV4IHttc2cgcGF0aExpc3QgYWZ0ZXJ9IHsKK3Byb2MgY2hlY2tvdXRfaW5kZXgge21zZyBwYXRoX2xpc3QgYWZ0ZXIgY2FwdHVyZV9lcnJvcn0gewogCWdsb2JhbCB1cGRhdGVfaW5kZXhfY3AKIAogCWlmIHshW2xvY2tfaW5kZXggdXBkYXRlXX0gcmV0dXJuCiAKIAlzZXQgdXBkYXRlX2luZGV4X2NwIDAKLQlzZXQgcGF0aExpc3QgW2xzb3J0ICRwYXRoTGlzdF0KLQlzZXQgdG90YWxDbnQgW2xsZW5ndGggJHBhdGhMaXN0XQotCXNldCBiYXRjaCBbZXhwciB7aW50KCR0b3RhbENudCAqIC4wMSkgKyAxfV0KKwlzZXQgcGF0aF9saXN0IFtsc29ydCAkcGF0aF9saXN0XQorCXNldCB0b3RhbF9jbnQgW2xsZW5ndGggJHBhdGhfbGlzdF0KKwlzZXQgYmF0Y2ggW2V4cHIge2ludCgkdG90YWxfY250ICogLjAxKSArIDF9XQogCWlmIHskYmF0Y2ggPiAyNX0ge3NldCBiYXRjaCAyNX0KIAotCSQ6Om1haW5fc3RhdHVzIHN0YXJ0ICRtc2cgW21jICJmaWxlcyJdCisJc2V0IHN0YXR1c19iYXJfb3BlcmF0aW9uIFskOjptYWluX3N0YXR1cyBzdGFydCAkbXNnIFttYyAiZmlsZXMiXV0KIAlzZXQgZmQgW2dpdF93cml0ZSBjaGVja291dC1pbmRleCBcCiAJCS0taW5kZXggXAogCQktLXF1aWV0IFwKQEAgLTIyMSwyNiArMjM0LDQ1IEBACiAJZmlsZWV2ZW50ICRmZCB3cml0YWJsZSBbbGlzdCBcCiAJCXdyaXRlX2NoZWNrb3V0X2luZGV4IFwKIAkJJGZkIFwKLQkJJHBhdGhMaXN0IFwKLQkJJHRvdGFsQ250IFwKKwkJJHBhdGhfbGlzdCBcCisJCSR0b3RhbF9jbnQgXAogCQkkYmF0Y2ggXAorCQkkc3RhdHVzX2Jhcl9vcGVyYXRpb24gXAogCQkkYWZ0ZXIgXAorCQkkY2FwdHVyZV9lcnJvciBcCiAJCV0KIH0KIAotcHJvYyB3cml0ZV9jaGVja291dF9pbmRleCB7ZmQgcGF0aExpc3QgdG90YWxDbnQgYmF0Y2ggYWZ0ZXJ9IHsKK3Byb2Mgd3JpdGVfY2hlY2tvdXRfaW5kZXgge2ZkIHBhdGhfbGlzdCB0b3RhbF9jbnQgYmF0Y2ggc3RhdHVzX2Jhcl9vcGVyYXRpb24gXAorCWFmdGVyIGNhcHR1cmVfZXJyb3J9IHsKIAlnbG9iYWwgdXBkYXRlX2luZGV4X2NwCiAJZ2xvYmFsIGZpbGVfc3RhdGVzIGN1cnJlbnRfZGlmZl9wYXRoCiAKLQlpZiB7JHVwZGF0ZV9pbmRleF9jcCA+PSAkdG90YWxDbnR9IHsKLQkJX2Nsb3NlX3VwZGF0ZWluZGV4ICRmZCAkYWZ0ZXIKKwlpZiB7JHVwZGF0ZV9pbmRleF9jcCA+PSAkdG90YWxfY250fSB7CisJCSRzdGF0dXNfYmFyX29wZXJhdGlvbiBzdG9wCisKKwkJIyBXZSBkbyBub3QgdW5sb2NrIHRoZSBpbmRleCBkaXJlY3RseSBoZXJlIGJlY2F1c2UgdGhpcworCQkjIG9wZXJhdGlvbiBleHBlY3RzIHRvIHBvdGVudGlhbGx5IHJ1biBpbiBwYXJhbGxlbCB3aXRoIGZpbGUKKwkJIyBkZWxldGlvbnMgc2NoZWR1bGVkIGJ5IHJldmVydF9oZWxwZXIuIFdlJ3JlIGRvbmUgd2l0aCB0aGUKKwkJIyB1cGRhdGUgaW5kZXgsIHNvIHdlIGNsb3NlIGl0LCBidXQgYWN0dWFsbHkgdW5sb2NraW5nIHRoZSBpbmRleAorCQkjIGFuZCBkZWFsaW5nIHdpdGggcG90ZW50aWFsIGVycm9ycyBpcyBkZWZlcnJlZCB0byB0aGUgY2hvcmQKKwkJIyBib2R5IHRoYXQgcnVucyB3aGVuIGFsbCBhc3luYyBvcGVyYXRpb25zIGFyZSBjb21wbGV0ZWQuCisJCSMKKwkJIyAoU2VlIGFmdGVyX2Nob3JkIGluIHJldmVydF9oZWxwZXIuKQorCisJCWlmIHtbY2F0Y2gge19jbG9zZV91cGRhdGVpbmRleCAkZmR9IGVycl19IHsKKwkJCXVwbGV2ZWwgIzAgJGNhcHR1cmVfZXJyb3IgW2xpc3QgJGVycl0KKwkJfQorCisJCXVwbGV2ZWwgIzAgJGFmdGVyCisKIAkJcmV0dXJuCiAJfQogCiAJZm9yIHtzZXQgaSAkYmF0Y2h9IFwKLQkJeyR1cGRhdGVfaW5kZXhfY3AgPCAkdG90YWxDbnQgJiYgJGkgPiAwfSBcCisJCXskdXBkYXRlX2luZGV4X2NwIDwgJHRvdGFsX2NudCAmJiAkaSA+IDB9IFwKIAkJe2luY3IgaSAtMX0gewotCQlzZXQgcGF0aCBbbGluZGV4ICRwYXRoTGlzdCAkdXBkYXRlX2luZGV4X2NwXQorCQlzZXQgcGF0aCBbbGluZGV4ICRwYXRoX2xpc3QgJHVwZGF0ZV9pbmRleF9jcF0KIAkJaW5jciB1cGRhdGVfaW5kZXhfY3AKIAkJc3dpdGNoIC1nbG9iIC0tIFtsaW5kZXggJGZpbGVfc3RhdGVzKCRwYXRoKSAwXSB7CiAJCVU/IHtjb250aW51ZX0KQEAgLTI1Myw3ICsyODUsNyBAQAogCQl9CiAJfQogCi0JJDo6bWFpbl9zdGF0dXMgdXBkYXRlICR1cGRhdGVfaW5kZXhfY3AgJHRvdGFsQ250CisJJHN0YXR1c19iYXJfb3BlcmF0aW9uIHVwZGF0ZSAkdXBkYXRlX2luZGV4X2NwICR0b3RhbF9jbnQKIH0KIAogcHJvYyB1bnN0YWdlX2hlbHBlciB7dHh0IHBhdGhzfSB7CkBAIC0yNjEsNyArMjkzLDcgQEAKIAogCWlmIHshW2xvY2tfaW5kZXggYmVnaW4tdXBkYXRlXX0gcmV0dXJuCiAKLQlzZXQgcGF0aExpc3QgW2xpc3RdCisJc2V0IHBhdGhfbGlzdCBbbGlzdF0KIAlzZXQgYWZ0ZXIge30KIAlmb3JlYWNoIHBhdGggJHBhdGhzIHsKIAkJc3dpdGNoIC1nbG9iIC0tIFtsaW5kZXggJGZpbGVfc3RhdGVzKCRwYXRoKSAwXSB7CkBAIC0yNjksMTkgKzMwMSwxOSBAQAogCQlNPyAtCiAJCVQ/IC0KIAkJRD8gewotCQkJbGFwcGVuZCBwYXRoTGlzdCAkcGF0aAorCQkJbGFwcGVuZCBwYXRoX2xpc3QgJHBhdGgKIAkJCWlmIHskcGF0aCBlcSAkY3VycmVudF9kaWZmX3BhdGh9IHsKIAkJCQlzZXQgYWZ0ZXIge3Jlc2hvd19kaWZmO30KIAkJCX0KIAkJfQogCQl9CiAJfQotCWlmIHskcGF0aExpc3QgZXEge319IHsKKwlpZiB7JHBhdGhfbGlzdCBlcSB7fX0gewogCQl1bmxvY2tfaW5kZXgKIAl9IGVsc2UgewogCQl1cGRhdGVfaW5kZXhpbmZvIFwKIAkJCSR0eHQgXAotCQkJJHBhdGhMaXN0IFwKKwkJCSRwYXRoX2xpc3QgXAogCQkJW2NvbmNhdCAkYWZ0ZXIgW2xpc3QgdWlfcmVhZHldXQogCX0KIH0KQEAgLTMwNSw3ICszMzcsNyBAQAogCiAJaWYgeyFbbG9ja19pbmRleCBiZWdpbi11cGRhdGVdfSByZXR1cm4KIAotCXNldCBwYXRoTGlzdCBbbGlzdF0KKwlzZXQgcGF0aF9saXN0IFtsaXN0XQogCXNldCBhZnRlciB7fQogCWZvcmVhY2ggcGF0aCAkcGF0aHMgewogCQlzd2l0Y2ggLWdsb2IgLS0gW2xpbmRleCAkZmlsZV9zdGF0ZXMoJHBhdGgpIDBdIHsKQEAgLTMyMSwxOSArMzUzLDE5IEBACiAJCT9NIC0KIAkJP0QgLQogCQk/VCB7Ci0JCQlsYXBwZW5kIHBhdGhMaXN0ICRwYXRoCisJCQlsYXBwZW5kIHBhdGhfbGlzdCAkcGF0aAogCQkJaWYgeyRwYXRoIGVxICRjdXJyZW50X2RpZmZfcGF0aH0gewogCQkJCXNldCBhZnRlciB7cmVzaG93X2RpZmY7fQogCQkJfQogCQl9CiAJCX0KIAl9Ci0JaWYgeyRwYXRoTGlzdCBlcSB7fX0geworCWlmIHskcGF0aF9saXN0IGVxIHt9fSB7CiAJCXVubG9ja19pbmRleAogCX0gZWxzZSB7CiAJCXVwZGF0ZV9pbmRleCBcCiAJCQkkdHh0IFwKLQkJCSRwYXRoTGlzdCBcCisJCQkkcGF0aF9saXN0IFwKIAkJCVtjb25jYXQgJGFmdGVyIHt1aV9zdGF0dXMgW21jICJSZWFkeSB0byBjb21taXQuIl19XQogCX0KIH0KQEAgLTM4OCw2NiArNDIwLDMwMSBAQAogCWFkZF9oZWxwZXIgW21jICJBZGRpbmcgYWxsIGNoYW5nZWQgZmlsZXMiXSAkcGF0aHMKIH0KIAorIyBDb3BpZWQgZnJvbSBUY2xMaWIgcGFja2FnZSAibGFtYmRhIi4KK3Byb2MgbGFtYmRhIHthcmd1bWVudHMgYm9keSBhcmdzfSB7CisJcmV0dXJuIFtsaXN0IDo6YXBwbHkgW2xpc3QgJGFyZ3VtZW50cyAkYm9keV0geyp9JGFyZ3NdCit9CisKIHByb2MgcmV2ZXJ0X2hlbHBlciB7dHh0IHBhdGhzfSB7CiAJZ2xvYmFsIGZpbGVfc3RhdGVzIGN1cnJlbnRfZGlmZl9wYXRoCiAKIAlpZiB7IVtsb2NrX2luZGV4IGJlZ2luLXVwZGF0ZV19IHJldHVybgogCi0Jc2V0IHBhdGhMaXN0IFtsaXN0XQotCXNldCBhZnRlciB7fQorCSMgQ29tbW9uICJhZnRlciIgZnVuY3Rpb25hbGl0eSB0aGF0IHdhaXRzIHVudGlsIG11bHRpcGxlIGFzeW5jaHJvbm91cworCSMgb3BlcmF0aW9ucyBhcmUgY29tcGxldGUgKGJ5IHdhaXRpbmcgZm9yIHRoZW0gdG8gYWN0aXZhdGUgdGhlaXIgbm90ZXMKKwkjIG9uIHRoZSBjaG9yZCkuCisJIworCSMgVGhlIGFzeW5jaHJvbm91cyBvcGVyYXRpb25zIGFyZSBlYWNoIGluZGljYXRlZCBiZWxvdyBieSBhIGNvbW1lbnQKKwkjIGJlZm9yZSB0aGUgY29kZSBibG9jayB0aGF0IHN0YXJ0cyB0aGUgYXN5bmMgb3BlcmF0aW9uLgorCXNldCBhZnRlcl9jaG9yZCBbU2ltcGxlQ2hvcmQgbmV3IHsKKwkJaWYge1tzdHJpbmcgdHJpbSAkZXJyXSAhPSAiIn0geworCQkJcmVzY2FuX29uX2Vycm9yICRlcnIKKwkJfSBlbHNlIHsKKwkJCXVubG9ja19pbmRleAorCQkJaWYgeyRzaG91bGRfcmVzaG93X2RpZmZ9IHsgcmVzaG93X2RpZmYgfQorCQkJdWlfcmVhZHkKKwkJfQorCX1dCisKKwkkYWZ0ZXJfY2hvcmQgZXZhbCB7IHNldCBzaG91bGRfcmVzaG93X2RpZmYgMCB9CisKKwkjIFRoaXMgZnVuY3Rpb24gY2FwdHVyZXMgYW4gZXJyb3IgZm9yIHByb2Nlc3Npbmcgd2hlbiBhZnRlcl9jaG9yZCBpcworCSMgY29tcGxldGVkLiAoVGhlIGNob3JkIGlzIGN1cnJpZWQgaW50byB0aGUgbGFtYmRhIGZ1bmN0aW9uLikKKwlzZXQgY2FwdHVyZV9lcnJvciBbbGFtYmRhIFwKKwkJe2Nob3JkIGVycm9yfSBcCisJCXsgJGNob3JkIGV2YWwgW2xpc3Qgc2V0IGVyciAkZXJyb3JdIH0gXAorCQkkYWZ0ZXJfY2hvcmRdCisKKwkjIFdlIGRvbid0IGtub3cgaG93IG1hbnkgbm90ZXMgd2UncmUgZ29pbmcgdG8gY3JlYXRlIChpdCdzIGR5bmFtaWMgYmFzZWQKKwkjIG9uIGNvbmRpdGlvbmFsIHBhdGhzIGJlbG93KSwgc28gY3JlYXRlIGEgY29tbW9uIG5vdGUgdGhhdCB3aWxsIGRlbGF5CisJIyB0aGUgY2hvcmQncyBjb21wbGV0aW9uIHVudGlsIHdlIGFjdGl2YXRlIGl0LCBhbmQgdGhlbiBhY3RpdmF0ZSBpdAorCSMgYWZ0ZXIgYWxsIHRoZSBvdGhlciBub3RlcyBoYXZlIGJlZW4gY3JlYXRlZC4KKwlzZXQgYWZ0ZXJfY29tbW9uX25vdGUgWyRhZnRlcl9jaG9yZCBhZGRfbm90ZV0KKworCXNldCBwYXRoX2xpc3QgW2xpc3RdCisJc2V0IHVudHJhY2tlZF9saXN0IFtsaXN0XQorCiAJZm9yZWFjaCBwYXRoICRwYXRocyB7CiAJCXN3aXRjaCAtZ2xvYiAtLSBbbGluZGV4ICRmaWxlX3N0YXRlcygkcGF0aCkgMF0gewogCQlVPyB7Y29udGludWV9CisJCT9PIHsKKwkJCWxhcHBlbmQgdW50cmFja2VkX2xpc3QgJHBhdGgKKwkJfQogCQk/TSAtCiAJCT9UIC0KIAkJP0QgewotCQkJbGFwcGVuZCBwYXRoTGlzdCAkcGF0aAorCQkJbGFwcGVuZCBwYXRoX2xpc3QgJHBhdGgKIAkJCWlmIHskcGF0aCBlcSAkY3VycmVudF9kaWZmX3BhdGh9IHsKLQkJCQlzZXQgYWZ0ZXIge3Jlc2hvd19kaWZmO30KKwkJCQkkYWZ0ZXJfY2hvcmQgZXZhbCB7IHNldCBzaG91bGRfcmVzaG93X2RpZmYgMSB9CiAJCQl9CiAJCX0KIAkJfQogCX0KIAorCXNldCBwYXRoX2NudCBbbGxlbmd0aCAkcGF0aF9saXN0XQorCXNldCB1bnRyYWNrZWRfY250IFtsbGVuZ3RoICR1bnRyYWNrZWRfbGlzdF0KIAotCSMgU3BsaXQgcXVlc3Rpb24gYmV0d2VlbiBzaW5ndWxhciBhbmQgcGx1cmFsIGNhc2VzLCBiZWNhdXNlCi0JIyBzdWNoIGRpc3RpbmN0aW9uIGlzIG5lZWRlZCBpbiBzb21lIGxhbmd1YWdlcy4gUHJldmlvdXNseSwgdGhlCi0JIyBjb2RlIHVzZWQgIlJldmVydCBjaGFuZ2VzIGluIiBmb3IgYm90aCwgYnV0IHRoYXQgY2FuJ3Qgd29yawotCSMgaW4gbGFuZ3VhZ2VzIHdoZXJlICdpbicgbXVzdCBiZSBjb21iaW5lZCB3aXRoIHdvcmQgZnJvbQotCSMgcmVzdCBvZiBzdHJpbmcgKGluIGRpZmZlcmVudCB3YXkgZm9yIGJvdGggY2FzZXMgb2YgY291cnNlKS4KLQkjCi0JIyBGSVhNRTogVW5mb3J0dW5hdGVseSwgZXZlbiB0aGF0IGlzbid0IGVub3VnaCBpbiBzb21lIGxhbmd1YWdlcwotCSMgYXMgdGhleSBoYXZlIHF1aXRlIGNvbXBsZXggcGx1cmFsLWZvcm0gcnVsZXMuIFVuZm9ydHVuYXRlbHksCi0JIyBtc2djYXQgZG9lc24ndCBzZWVtIHRvIHN1cHBvcnQgdGhhdCBraW5kIG9mIHN0cmluZyB0cmFuc2xhdGlvbi4KLQkjCi0Jc2V0IG4gW2xsZW5ndGggJHBhdGhMaXN0XQotCWlmIHskbiA9PSAwfSB7Ci0JCXVubG9ja19pbmRleAotCQlyZXR1cm4KLQl9IGVsc2VpZiB7JG4gPT0gMX0gewotCQlzZXQgcXVlcnkgW21jICJSZXZlcnQgY2hhbmdlcyBpbiBmaWxlICVzPyIgW3Nob3J0X3BhdGggW2xpbmRleCAkcGF0aExpc3RdXV0KLQl9IGVsc2UgewotCQlzZXQgcXVlcnkgW21jICJSZXZlcnQgY2hhbmdlcyBpbiB0aGVzZSAlaSBmaWxlcz8iICRuXQotCX0KKwkjIEFzeW5jaHJvbm91cyBvcGVyYXRpb246IHJldmVydCBjaGFuZ2VzIGJ5IGNoZWNraW5nIHRoZW0gb3V0IGFmcmVzaAorCSMgZnJvbSB0aGUgaW5kZXguCisJaWYgeyRwYXRoX2NudCA+IDB9IHsKKwkJIyBTcGxpdCBxdWVzdGlvbiBiZXR3ZWVuIHNpbmd1bGFyIGFuZCBwbHVyYWwgY2FzZXMsIGJlY2F1c2UKKwkJIyBzdWNoIGRpc3RpbmN0aW9uIGlzIG5lZWRlZCBpbiBzb21lIGxhbmd1YWdlcy4gUHJldmlvdXNseSwgdGhlCisJCSMgY29kZSB1c2VkICJSZXZlcnQgY2hhbmdlcyBpbiIgZm9yIGJvdGgsIGJ1dCB0aGF0IGNhbid0IHdvcmsKKwkJIyBpbiBsYW5ndWFnZXMgd2hlcmUgJ2luJyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggd29yZCBmcm9tCisJCSMgcmVzdCBvZiBzdHJpbmcgKGluIGRpZmZlcmVudCB3YXkgZm9yIGJvdGggY2FzZXMgb2YgY291cnNlKS4KKwkJIworCQkjIEZJWE1FOiBVbmZvcnR1bmF0ZWx5LCBldmVuIHRoYXQgaXNuJ3QgZW5vdWdoIGluIHNvbWUgbGFuZ3VhZ2VzCisJCSMgYXMgdGhleSBoYXZlIHF1aXRlIGNvbXBsZXggcGx1cmFsLWZvcm0gcnVsZXMuIFVuZm9ydHVuYXRlbHksCisJCSMgbXNnY2F0IGRvZXNuJ3Qgc2VlbSB0byBzdXBwb3J0IHRoYXQga2luZCBvZiBzdHJpbmcKKwkJIyB0cmFuc2xhdGlvbi4KKwkJIworCQlpZiB7JHBhdGhfY250ID09IDF9IHsKKwkJCXNldCBxdWVyeSBbbWMgXAorCQkJCSJSZXZlcnQgY2hhbmdlcyBpbiBmaWxlICVzPyIgXAorCQkJCVtzaG9ydF9wYXRoIFtsaW5kZXggJHBhdGhfbGlzdF1dIFwKKwkJCQldCisJCX0gZWxzZSB7CisJCQlzZXQgcXVlcnkgW21jIFwKKwkJCQkiUmV2ZXJ0IGNoYW5nZXMgaW4gdGhlc2UgJWkgZmlsZXM/IiBcCisJCQkJJHBhdGhfY250XQorCQl9CiAKLQlzZXQgcmVwbHkgW3RrX2RpYWxvZyBcCi0JCS5jb25maXJtX3JldmVydCBcCi0JCSJbYXBwbmFtZV0gKFtyZXBvbmFtZV0pIiBcCi0JCSIkcXVlcnkKKwkJc2V0IHJlcGx5IFt0a19kaWFsb2cgXAorCQkJLmNvbmZpcm1fcmV2ZXJ0IFwKKwkJCSJbYXBwbmFtZV0gKFtyZXBvbmFtZV0pIiBcCisJCQkiJHF1ZXJ5CiAKIFttYyAiQW55IHVuc3RhZ2VkIGNoYW5nZXMgd2lsbCBiZSBwZXJtYW5lbnRseSBsb3N0IGJ5IHRoZSByZXZlcnQuIl0iIFwKLQkJcXVlc3Rpb24gXAotCQkxIFwKLQkJW21jICJEbyBOb3RoaW5nIl0gXAotCQlbbWMgIlJldmVydCBDaGFuZ2VzIl0gXAotCQldCi0JaWYgeyRyZXBseSA9PSAxfSB7Ci0JCWNoZWNrb3V0X2luZGV4IFwKLQkJCSR0eHQgXAotCQkJJHBhdGhMaXN0IFwKLQkJCVtjb25jYXQgJGFmdGVyIFtsaXN0IHVpX3JlYWR5XV0KKwkJCXF1ZXN0aW9uIFwKKwkJCTEgXAorCQkJW21jICJEbyBOb3RoaW5nIl0gXAorCQkJW21jICJSZXZlcnQgQ2hhbmdlcyJdIFwKKwkJCV0KKworCQlpZiB7JHJlcGx5ID09IDF9IHsKKwkJCWNoZWNrb3V0X2luZGV4IFwKKwkJCQkkdHh0IFwKKwkJCQkkcGF0aF9saXN0IFwKKwkJCQlbJGFmdGVyX2Nob3JkIGFkZF9ub3RlXSBcCisJCQkJJGNhcHR1cmVfZXJyb3IKKwkJfQorCX0KKworCSMgQXN5bmNocm9ub3VzIG9wZXJhdGlvbjogRGVsZXRpb24gb2YgdW50cmFja2VkIGZpbGVzLgorCWlmIHskdW50cmFja2VkX2NudCA+IDB9IHsKKwkJIyBTcGxpdCBxdWVzdGlvbiBiZXR3ZWVuIHNpbmd1bGFyIGFuZCBwbHVyYWwgY2FzZXMsIGJlY2F1c2UKKwkJIyBzdWNoIGRpc3RpbmN0aW9uIGlzIG5lZWRlZCBpbiBzb21lIGxhbmd1YWdlcy4KKwkJIworCQkjIEZJWE1FOiBVbmZvcnR1bmF0ZWx5LCBldmVuIHRoYXQgaXNuJ3QgZW5vdWdoIGluIHNvbWUgbGFuZ3VhZ2VzCisJCSMgYXMgdGhleSBoYXZlIHF1aXRlIGNvbXBsZXggcGx1cmFsLWZvcm0gcnVsZXMuIFVuZm9ydHVuYXRlbHksCisJCSMgbXNnY2F0IGRvZXNuJ3Qgc2VlbSB0byBzdXBwb3J0IHRoYXQga2luZCBvZiBzdHJpbmcKKwkJIyB0cmFuc2xhdGlvbi4KKwkJIworCQlpZiB7JHVudHJhY2tlZF9jbnQgPT0gMX0geworCQkJc2V0IHF1ZXJ5IFttYyBcCisJCQkJIkRlbGV0ZSB1bnRyYWNrZWQgZmlsZSAlcz8iIFwKKwkJCQlbc2hvcnRfcGF0aCBbbGluZGV4ICR1bnRyYWNrZWRfbGlzdF1dIFwKKwkJCQldCisJCX0gZWxzZSB7CisJCQlzZXQgcXVlcnkgW21jIFwKKwkJCQkiRGVsZXRlIHRoZXNlICVpIHVudHJhY2tlZCBmaWxlcz8iIFwKKwkJCQkkdW50cmFja2VkX2NudCBcCisJCQkJXQorCQl9CisKKwkJc2V0IHJlcGx5IFt0a19kaWFsb2cgXAorCQkJLmNvbmZpcm1fcmV2ZXJ0IFwKKwkJCSJbYXBwbmFtZV0gKFtyZXBvbmFtZV0pIiBcCisJCQkiJHF1ZXJ5CisKK1ttYyAiRmlsZXMgd2lsbCBiZSBwZXJtYW5lbnRseSBkZWxldGVkLiJdIiBcCisJCQlxdWVzdGlvbiBcCisJCQkxIFwKKwkJCVttYyAiRG8gTm90aGluZyJdIFwKKwkJCVttYyAiRGVsZXRlIEZpbGVzIl0gXAorCQkJXQorCisJCWlmIHskcmVwbHkgPT0gMX0geworCQkJJGFmdGVyX2Nob3JkIGV2YWwgeyBzZXQgc2hvdWxkX3Jlc2hvd19kaWZmIDEgfQorCisJCQlkZWxldGVfZmlsZXMgJHVudHJhY2tlZF9saXN0IFskYWZ0ZXJfY2hvcmQgYWRkX25vdGVdCisJCX0KKwl9CisKKwkjIEFjdGl2YXRlIHRoZSBjb21tb24gbm90ZS4gSWYgbm8gb3RoZXIgbm90ZXMgd2VyZSBjcmVhdGVkLCB0aGlzCisJIyBjb21wbGV0ZXMgdGhlIGNob3JkLiBJZiBvdGhlciBub3RlcyB3ZXJlIGNyZWF0ZWQsIHRoZW4gdGhpcyBjb21tb24KKwkjIG5vdGUgcHJldmVudHMgYSByYWNlIGNvbmRpdGlvbiB3aGVyZSB0aGUgY2hvcmQgbWlnaHQgY29tcGxldGUgZWFybHkuCisJJGFmdGVyX2NvbW1vbl9ub3RlCit9CisKKyMgRGVsZXRlIGFsbCBvZiB0aGUgc3BlY2lmaWVkIGZpbGVzLCBwZXJmb3JtaW5nIGRlbGV0aW9uIGluIGJhdGNoZXMgdG8gYWxsb3cgdGhlCisjIFVJIHRvIHJlbWFpbiByZXNwb25zaXZlIGFuZCB1cGRhdGVkLgorcHJvYyBkZWxldGVfZmlsZXMge3BhdGhfbGlzdCBhZnRlcn0geworCSMgRW5hYmxlIHByb2dyZXNzIGJhciBzdGF0dXMgdXBkYXRlcworCXNldCBzdGF0dXNfYmFyX29wZXJhdGlvbiBbJDo6bWFpbl9zdGF0dXMgXAorCQlzdGFydCBcCisJCVttYyAiRGVsZXRpbmciXSBcCisJCVttYyAiZmlsZXMiXV0KKworCXNldCBwYXRoX2luZGV4IDAKKwlzZXQgZGVsZXRpb25fZXJyb3JzIFtsaXN0XQorCXNldCBiYXRjaF9zaXplIDUwCisKKwlkZWxldGVfaGVscGVyIFwKKwkJJHBhdGhfbGlzdCBcCisJCSRwYXRoX2luZGV4IFwKKwkJJGRlbGV0aW9uX2Vycm9ycyBcCisJCSRiYXRjaF9zaXplIFwKKwkJJHN0YXR1c19iYXJfb3BlcmF0aW9uIFwKKwkJJGFmdGVyCit9CisKKyMgSGVscGVyIGZ1bmN0aW9uIHRvIGRlbGV0ZSBhIGxpc3Qgb2YgZmlsZXMgaW4gYmF0Y2hlcy4gRWFjaCBjYWxsIGRlbGV0ZXMgb25lCisjIGJhdGNoIG9mIGZpbGVzLCBhbmQgdGhlbiBzY2hlZHVsZXMgYSBjYWxsIGZvciB0aGUgbmV4dCBiYXRjaCBhZnRlciBhbnkgVUkKKyMgbWVzc2FnZXMgaGF2ZSBiZWVuIHByb2Nlc3NlZC4KK3Byb2MgZGVsZXRlX2hlbHBlciB7cGF0aF9saXN0IHBhdGhfaW5kZXggZGVsZXRpb25fZXJyb3JzIGJhdGNoX3NpemUgXAorCXN0YXR1c19iYXJfb3BlcmF0aW9uIGFmdGVyfSB7CisJZ2xvYmFsIGZpbGVfc3RhdGVzCisKKwlzZXQgcGF0aF9jbnQgW2xsZW5ndGggJHBhdGhfbGlzdF0KKworCXNldCBiYXRjaF9yZW1haW5pbmcgJGJhdGNoX3NpemUKKworCXdoaWxlIHskYmF0Y2hfcmVtYWluaW5nID4gMH0geworCQlpZiB7JHBhdGhfaW5kZXggPj0gJHBhdGhfY250fSB7IGJyZWFrIH0KKworCQlzZXQgcGF0aCBbbGluZGV4ICRwYXRoX2xpc3QgJHBhdGhfaW5kZXhdCisKKwkJc2V0IGRlbGV0aW9uX2ZhaWxlZCBbY2F0Y2gge2ZpbGUgZGVsZXRlIC0tICRwYXRofSBkZWxldGlvbl9lcnJvcl0KKworCQlpZiB7JGRlbGV0aW9uX2ZhaWxlZH0geworCQkJbGFwcGVuZCBkZWxldGlvbl9lcnJvcnMgW2xpc3QgIiRkZWxldGlvbl9lcnJvciJdCisJCX0gZWxzZSB7CisJCQlyZW1vdmVfZW1wdHlfZGlyZWN0b3JpZXMgW2ZpbGUgZGlybmFtZSAkcGF0aF0KKworCQkJIyBEb24ndCBhc3N1bWUgdGhlIGRlbGV0aW9uIHdvcmtlZC4gUmVtb3ZlIHRoZSBmaWxlIGZyb20KKwkJCSMgdGhlIFVJLCBidXQgb25seSBpZiBpdCBubyBsb25nZXIgZXhpc3RzLgorCQkJaWYgeyFbcGF0aF9leGlzdHMgJHBhdGhdfSB7CisJCQkJdW5zZXQgZmlsZV9zdGF0ZXMoJHBhdGgpCisJCQkJZGlzcGxheV9maWxlICRwYXRoIF9fCisJCQl9CisJCX0KKworCQlpbmNyIHBhdGhfaW5kZXggMQorCQlpbmNyIGJhdGNoX3JlbWFpbmluZyAtMQorCX0KKworCSMgVXBkYXRlIHRoZSBwcm9ncmVzcyBiYXIgdG8gaW5kaWNhdGUgdGhhdCB0aGlzIGJhdGNoIGhhcyBiZWVuCisJIyBjb21wbGV0ZWQuIFRoZSB1cGRhdGUgd2lsbCBiZSB2aXNpYmxlIHdoZW4gdGhpcyBwcm9jZWR1cmUgcmV0dXJucworCSMgYW5kIGFsbG93cyB0aGUgVUkgdGhyZWFkIHRvIHByb2Nlc3MgbWVzc2FnZXMuCisJJHN0YXR1c19iYXJfb3BlcmF0aW9uIHVwZGF0ZSAkcGF0aF9pbmRleCAkcGF0aF9jbnQKKworCWlmIHskcGF0aF9pbmRleCA8ICRwYXRoX2NudH0geworCQkjIFRoZSBUY2xlcidzIFdpa2kgbGlzdHMgdGhpcyBhcyB0aGUgYmVzdCBwcmFjdGljZSBmb3Iga2VlcGluZworCQkjIGEgVUkgYWN0aXZlIGFuZCBwcm9jZXNzaW5nIG1lc3NhZ2VzIGR1cmluZyBhIGxvbmctcnVubmluZworCQkjIG9wZXJhdGlvbi4KKworCQlhZnRlciBpZGxlIFtsaXN0IGFmdGVyIDAgW2xpc3QgXAorCQkJZGVsZXRlX2hlbHBlciBcCisJCQkkcGF0aF9saXN0IFwKKwkJCSRwYXRoX2luZGV4IFwKKwkJCSRkZWxldGlvbl9lcnJvcnMgXAorCQkJJGJhdGNoX3NpemUgXAorCQkJJHN0YXR1c19iYXJfb3BlcmF0aW9uIFwKKwkJCSRhZnRlcgorCQkJXV0KIAl9IGVsc2UgewotCQl1bmxvY2tfaW5kZXgKKwkJIyBGaW5pc2ggdGhlIHN0YXR1cyBiYXIgb3BlcmF0aW9uLgorCQkkc3RhdHVzX2Jhcl9vcGVyYXRpb24gc3RvcAorCisJCSMgUmVwb3J0IGVycm9yLCBpZiBhbnksIGJhc2VkIG9uIGhvdyBtYW55IGRlbGV0aW9ucyBmYWlsZWQuCisJCXNldCBkZWxldGlvbl9lcnJvcl9jbnQgW2xsZW5ndGggJGRlbGV0aW9uX2Vycm9yc10KKworCQlpZiB7KCRkZWxldGlvbl9lcnJvcl9jbnQgPiAwKQorCQkgJiYgKCRkZWxldGlvbl9lcnJvcl9jbnQgPD0gW01BWF9WRVJCT1NFX0ZJTEVTX0lOX0RFTEVUSU9OX0VSUk9SXSl9IHsKKwkJCXNldCBlcnJvcl90ZXh0IFttYyAiRW5jb3VudGVyZWQgZXJyb3JzIGRlbGV0aW5nIGZpbGVzOlxuIl0KKworCQkJZm9yZWFjaCBkZWxldGlvbl9lcnJvciAkZGVsZXRpb25fZXJyb3JzIHsKKwkJCQlhcHBlbmQgZXJyb3JfdGV4dCAiKiBbbGluZGV4ICRkZWxldGlvbl9lcnJvciAwXVxuIgorCQkJfQorCisJCQllcnJvcl9wb3B1cCAkZXJyb3JfdGV4dAorCQl9IGVsc2VpZiB7JGRlbGV0aW9uX2Vycm9yX2NudCA9PSAkcGF0aF9jbnR9IHsKKwkJCWVycm9yX3BvcHVwIFttYyBcCisJCQkJIk5vbmUgb2YgdGhlICVkIHNlbGVjdGVkIGZpbGVzIGNvdWxkIGJlIGRlbGV0ZWQuIiBcCisJCQkJJHBhdGhfY250IFwKKwkJCQldCisJCX0gZWxzZWlmIHskZGVsZXRpb25fZXJyb3JfY250ID4gMX0geworCQkJZXJyb3JfcG9wdXAgW21jIFwKKwkJCQkiJWQgb2YgdGhlICVkIHNlbGVjdGVkIGZpbGVzIGNvdWxkIG5vdCBiZSBkZWxldGVkLiIgXAorCQkJCSRkZWxldGlvbl9lcnJvcl9jbnQgXAorCQkJCSRwYXRoX2NudCBcCisJCQkJXQorCQl9CisKKwkJdXBsZXZlbCAjMCAkYWZ0ZXIKKwl9Cit9CisKK3Byb2MgTUFYX1ZFUkJPU0VfRklMRVNfSU5fREVMRVRJT05fRVJST1Ige30geyByZXR1cm4gMTA7IH0KKworIyBUaGlzIGZ1bmN0aW9uIGlzIGZyb20gdGhlIFRDTCBkb2N1bWVudGF0aW9uOgorIworIyAgIGh0dHBzOi8vd2lraS50Y2wtbGFuZy5vcmcvcGFnZS9maWxlK2V4aXN0cworIworIyBbZmlsZSBleGlzdHNdIHJldHVybnMgZmFsc2UgaWYgdGhlIHBhdGggZG9lcyBleGlzdCBidXQgaXMgYSBzeW1saW5rIHRvIGEgcGF0aAorIyB0aGF0IGRvZXNuJ3QgZXhpc3QuIFRoaXMgcHJvYyByZXR1cm5zIHRydWUgaWYgdGhlIHBhdGggZXhpc3RzLCByZWdhcmRsZXNzIG9mCisjIHdoZXRoZXIgaXQgaXMgYSBzeW1saW5rIGFuZCB3aGV0aGVyIGl0IGlzIGJyb2tlbi4KK3Byb2MgcGF0aF9leGlzdHMge25hbWV9IHsKKwlleHByIHshW2NhdGNoIHtmaWxlIGxzdGF0ICRuYW1lIGZpbmZvfV19Cit9CisKKyMgUmVtb3ZlIGFzIG1hbnkgZW1wdHkgZGlyZWN0b3JpZXMgYXMgd2UgY2FuIHN0YXJ0aW5nIGF0IHRoZSBzcGVjaWZpZWQgcGF0aCwKKyMgd2Fsa2luZyB1cCB0aGUgZGlyZWN0b3J5IHRyZWUuIElmIHdlIGVuY291bnRlciBhIGRpcmVjdG9yeSB0aGF0IGlzIG5vdAorIyBlbXB0eSwgb3IgaWYgYSBkaXJlY3RvcnkgZGVsZXRpb24gZmFpbHMsIHRoZW4gd2Ugc3RvcCB0aGUgb3BlcmF0aW9uIGFuZAorIyByZXR1cm4gdG8gdGhlIGNhbGxlci4gRXZlbiBpZiB0aGlzIHByb2NlZHVyZSBmYWlscyB0byBkZWxldGUgYW55CisjIGRpcmVjdG9yaWVzIGF0IGFsbCwgaXQgZG9lcyBub3QgcmVwb3J0IGZhaWx1cmUuCitwcm9jIHJlbW92ZV9lbXB0eV9kaXJlY3RvcmllcyB7ZGlyZWN0b3J5X3BhdGh9IHsKKwlzZXQgcGFyZW50X3BhdGggW2ZpbGUgZGlybmFtZSAkZGlyZWN0b3J5X3BhdGhdCisKKwl3aGlsZSB7JHBhcmVudF9wYXRoICE9ICRkaXJlY3RvcnlfcGF0aH0geworCQlzZXQgY29udGVudHMgW2dsb2IgLW5vY29tcGxhaW4gLWRpciAkZGlyZWN0b3J5X3BhdGggKl0KKworCQlpZiB7W2xsZW5ndGggJGNvbnRlbnRzXSA+IDB9IHsgYnJlYWsgfQorCQlpZiB7W2NhdGNoIHtmaWxlIGRlbGV0ZSAtLSAkZGlyZWN0b3J5X3BhdGh9XX0geyBicmVhayB9CisKKwkJc2V0IGRpcmVjdG9yeV9wYXRoICRwYXJlbnRfcGF0aAorCQlzZXQgcGFyZW50X3BhdGggW2ZpbGUgZGlybmFtZSAkZGlyZWN0b3J5X3BhdGhdCiAJfQogfQogCkBAIC00NjYsMTkgKzczMywxOSBAQAogfQogCiBwcm9jIGRvX3NlbGVjdF9jb21taXRfdHlwZSB7fSB7Ci0JZ2xvYmFsIGNvbW1pdF90eXBlIHNlbGVjdGVkX2NvbW1pdF90eXBlCisJZ2xvYmFsIGNvbW1pdF90eXBlIGNvbW1pdF90eXBlX2lzX2FtZW5kCiAKLQlpZiB7JHNlbGVjdGVkX2NvbW1pdF90eXBlIGVxIHtuZXd9CisJaWYgeyRjb21taXRfdHlwZV9pc19hbWVuZCA9PSAwCiAJCSYmIFtzdHJpbmcgbWF0Y2ggYW1lbmQqICRjb21taXRfdHlwZV19IHsKIAkJY3JlYXRlX25ld19jb21taXQKLQl9IGVsc2VpZiB7JHNlbGVjdGVkX2NvbW1pdF90eXBlIGVxIHthbWVuZH0KKwl9IGVsc2VpZiB7JGNvbW1pdF90eXBlX2lzX2FtZW5kID09IDEKIAkJJiYgIVtzdHJpbmcgbWF0Y2ggYW1lbmQqICRjb21taXRfdHlwZV19IHsKIAkJbG9hZF9sYXN0X2NvbW1pdAogCiAJCSMgVGhlIGFtZW5kIHJlcXVlc3Qgd2FzIHJlamVjdGVkLi4uCiAJCSMKIAkJaWYgeyFbc3RyaW5nIG1hdGNoIGFtZW5kKiAkY29tbWl0X3R5cGVdfSB7Ci0JCQlzZXQgc2VsZWN0ZWRfY29tbWl0X3R5cGUgbmV3CisJCQlzZXQgY29tbWl0X3R5cGVfaXNfYW1lbmQgMAogCQl9CiAJfQogfQpkaWZmIC0tZ2l0IGEvZ2l0LWd1aS9saWIvbWVyZ2UudGNsIGIvZ2l0LWd1aS9saWIvbWVyZ2UudGNsCmluZGV4IDlmMjUzZGIuLjhkZjhmZmEgMTAwNjQ0Ci0tLSBhL2dpdC1ndWkvbGliL21lcmdlLnRjbAorKysgYi9naXQtZ3VpL2xpYi9tZXJnZS50Y2wKQEAgLTI0MSwyMyArMjQxLDI3IEBACiAJaWYge1thc2tfcG9wdXAgJG9wX3F1ZXN0aW9uXSBlcSB7eWVzfX0gewogCQlzZXQgZmQgW2dpdF9yZWFkIC0tc3RkZXJyIHJlYWQtdHJlZSAtLXJlc2V0IC11IC12IEhFQURdCiAJCWZjb25maWd1cmUgJGZkIC1ibG9ja2luZyAwIC10cmFuc2xhdGlvbiBiaW5hcnkKLQkJZmlsZWV2ZW50ICRmZCByZWFkYWJsZSBbbmFtZXNwYWNlIGNvZGUgW2xpc3QgX3Jlc2V0X3dhaXQgJGZkXV0KLQkJJDo6bWFpbl9zdGF0dXMgc3RhcnQgW21jICJBYm9ydGluZyJdIFttYyAiZmlsZXMgcmVzZXQiXQorCQlzZXQgc3RhdHVzX2Jhcl9vcGVyYXRpb24gWyQ6Om1haW5fc3RhdHVzIFwKKwkJCXN0YXJ0IFwKKwkJCVttYyAiQWJvcnRpbmciXSBcCisJCQlbbWMgImZpbGVzIHJlc2V0Il0KKwkJZmlsZWV2ZW50ICRmZCByZWFkYWJsZSBbbmFtZXNwYWNlIGNvZGUgW2xpc3QgXAorCQkJX3Jlc2V0X3dhaXQgJGZkICRzdGF0dXNfYmFyX29wZXJhdGlvbl1dCiAJfSBlbHNlIHsKIAkJdW5sb2NrX2luZGV4CiAJfQogfQogCi1wcm9jIF9yZXNldF93YWl0IHtmZH0geworcHJvYyBfcmVzZXRfd2FpdCB7ZmQgc3RhdHVzX2Jhcl9vcGVyYXRpb259IHsKIAlnbG9iYWwgdWlfY29tbQogCi0JJDo6bWFpbl9zdGF0dXMgdXBkYXRlX21ldGVyIFtyZWFkICRmZF0KKwkkc3RhdHVzX2Jhcl9vcGVyYXRpb24gdXBkYXRlX21ldGVyIFtyZWFkICRmZF0KIAogCWZjb25maWd1cmUgJGZkIC1ibG9ja2luZyAxCiAJaWYge1tlb2YgJGZkXX0gewogCQlzZXQgZmFpbCBbY2F0Y2gge2Nsb3NlICRmZH0gZXJyXQotCQkkOjptYWluX3N0YXR1cyBzdG9wCiAJCXVubG9ja19pbmRleAorCQkkc3RhdHVzX2Jhcl9vcGVyYXRpb24gc3RvcAogCiAJCSR1aV9jb21tIGRlbGV0ZSAwLjAgZW5kCiAJCSR1aV9jb21tIGVkaXQgbW9kaWZpZWQgZmFsc2UKZGlmZiAtLWdpdCBhL2dpdC1ndWkvbGliL3N0YXR1c19iYXIudGNsIGIvZ2l0LWd1aS9saWIvc3RhdHVzX2Jhci50Y2wKaW5kZXggMDIxMTFhMS4uZDMyYjE0MSAxMDA2NDQKLS0tIGEvZ2l0LWd1aS9saWIvc3RhdHVzX2Jhci50Y2wKKysrIGIvZ2l0LWd1aS9saWIvc3RhdHVzX2Jhci50Y2wKQEAgLTEsMTYgKzEsNDIgQEAKICMgZ2l0LWd1aSBzdGF0dXMgYmFyIG1lZ2Etd2lkZ2V0CiAjIENvcHlyaWdodCAoQykgMjAwNyBTaGF3biBQZWFyY2UKIAorIyBUaGUgc3RhdHVzX2JhciBjbGFzcyBtYW5hZ2VzIHRoZSBlbnRpcmUgc3RhdHVzIGJhci4gSXQgaXMgcG9zc2libGUgZm9yCisjIG11bHRpcGxlIG92ZXJsYXBwaW5nIGFzeW5jaHJvbm91cyBvcGVyYXRpb25zIHRvIHdhbnQgdG8gZGlzcGxheSBzdGF0dXMKKyMgc2ltdWx0YW5lb3VzbHkuIEVhY2ggb25lIHJlY2VpdmVzIGEgc3RhdHVzX2Jhcl9vcGVyYXRpb24gd2hlbiBpdCBjYWxscyB0aGUKKyMgc3RhcnQgbWV0aG9kLCBhbmQgdGhlIHN0YXR1cyBiYXIgY29tYmluZXMgYWxsIGFjdGl2ZSBvcGVyYXRpb25zIGludG8gdGhlCisjIGxpbmUgb2YgdGV4dCBpdCBkaXNwbGF5cy4gTW9zdCBvZiB0aGUgdGltZSwgdGhlcmUgd2lsbCBiZSBhdCBtb3N0IG9uZQorIyBvbmdvaW5nIG9wZXJhdGlvbi4KKyMKKyMgTm90ZSB0aGF0IHRoZSBlbnRpcmUgc3RhdHVzIGJhciBjYW4gYmUgZWl0aGVyIGluIHNpbmdsZS1saW5lIG9yIHR3by1saW5lCisjIG1vZGUsIGRlcGVuZGluZyBvbiB0aGUgY29uc3RydWN0b3IuIE11bHRpcGxlIGFjdGl2ZSBvcGVyYXRpb25zIGFyZSBvbmx5CisjIHN1cHBvcnRlZCBmb3Igc2luZ2xlLWxpbmUgc3RhdHVzIGJhcnMuCisKIGNsYXNzIHN0YXR1c19iYXIgewogCitmaWVsZCBhbGxvd19tdWx0aXBsZSA7ICMgY29uZmlndXJlZCBhdCBjb25zdHJ1Y3Rpb24KKwogZmllbGQgdyAgICAgICAgIDsgIyBvdXIgb3duIHdpbmRvdyBwYXRoCiBmaWVsZCB3X2wgICAgICAgOyAjIHRleHQgd2lkZ2V0IHdlIGRyYXcgbWVzc2FnZXMgaW50bwogZmllbGQgd19jICAgICAgIDsgIyBjYW52YXMgd2UgZHJhdyBhIHByb2dyZXNzIGJhciBpbnRvCiBmaWVsZCBjX3BhY2sgICAgOyAjIHNjcmlwdCB0byBwYWNrIHRoZSBjYW52YXMgd2l0aAotZmllbGQgc3RhdHVzICB7fTsgIyBzaW5nbGUgbGluZSBvZiB0ZXh0IHdlIHNob3cKLWZpZWxkIHByZWZpeCAge307ICMgdGV4dCB3ZSBmb3JtYXQgaW50byBzdGF0dXMKLWZpZWxkIHVuaXRzICAge307ICMgdW5pdCBvZiBwcm9ncmVzcwotZmllbGQgbWV0ZXIgICB7fTsgIyBjdXJyZW50IGNvcmUgZ2l0IHByb2dyZXNzIG1ldGVyIChpZiBhY3RpdmUpCisKK2ZpZWxkIGJhc2VsaW5lX3RleHQgICA7ICMgdGV4dCB0byBzaG93IGlmIHRoZXJlIGFyZSBubyBvcGVyYXRpb25zCitmaWVsZCBzdGF0dXNfYmFyX3RleHQgOyAjIGNvbWJpbmVkIHRleHQgZm9yIGFsbCBvcGVyYXRpb25zCisKK2ZpZWxkIG9wZXJhdGlvbnMgOyAjIGxpc3Qgb2YgY3VycmVudCBvbmdvaW5nIG9wZXJhdGlvbnMKKworIyBUaGUgc3RhdHVzIGJhciBjYW4gZGlzcGxheSBhIHByb2dyZXNzIGJhciwgdXBkYXRlZCB3aGVuIGNvbnN1bWVycyBjYWxsIHRoZQorIyB1cGRhdGUgbWV0aG9kIG9uIHRoZWlyIHN0YXR1c19iYXJfb3BlcmF0aW9uLiBXaGVuIHRoZXJlIGFyZSBtdWx0aXBsZQorIyBvcGVyYXRpb25zLCB0aGUgc3RhdHVzIGJhciBzaG93cyB0aGUgY29tYmluZWQgc3RhdHVzIG9mIGFsbCBvcGVyYXRpb25zLgorIworIyBXaGVuIGFuIG92ZXJsYXBwaW5nIG9wZXJhdGlvbiBjb21wbGV0ZXMsIHRoZSBwcm9ncmVzcyBiYXIgaXMgZ29pbmcgdG8KKyMgYWJydXB0bHkgaGF2ZSBvbmUgZmV3ZXIgb3BlcmF0aW9uIGluIHRoZSBjYWxjdWxhdGlvbiwgY2F1c2luZyBhIGRpc2NvbnRpbnVpdHkuCisjIFRoZXJlZm9yZSwgd2hlbmV2ZXIgYW4gb3BlcmF0aW9uIGNvbXBsZXRlcywgaWYgaXQgaXMgbm90IHRoZSBsYXN0IG9wZXJhdGlvbiwKKyMgdGhpcyBjb3VudGVyIGlzIGluY3JlYXNlZCwgYW5kIHRoZSBwcm9ncmVzcyBiYXIgaXMgY2FsY3VsYXRlZCBhcyB0aG91Z2ggdGhlcmUKKyMgd2VyZSBzdGlsbCBhbm90aGVyIG9wZXJhdGlvbiBhdCAxMDAlLiBXaGVuIHRoZSBsYXN0IG9wZXJhdGlvbiBjb21wbGV0ZXMsIHRoaXMKKyMgaXMgcmVzZXQgdG8gMC4KK2ZpZWxkIGNvbXBsZXRlZF9vcGVyYXRpb25fY291bnQKIAogY29uc3RydWN0b3IgbmV3IHtwYXRofSB7CiAJZ2xvYmFsIHVzZV90dGsgTlMKQEAgLTE4LDEyICs0NCwxOSBAQAogCXNldCB3X2wgJHcubAogCXNldCB3X2MgJHcuYwogCisJIyBTdGFuZGFyZCBzaW5nbGUtbGluZSBzdGF0dXMgYmFyOiBQZXJtaXQgb3ZlcmxhcHBpbmcgb3BlcmF0aW9ucworCXNldCBhbGxvd19tdWx0aXBsZSAxCisKKwlzZXQgYmFzZWxpbmVfdGV4dCAiIgorCXNldCBvcGVyYXRpb25zIFtsaXN0XQorCXNldCBjb21wbGV0ZWRfb3BlcmF0aW9uX2NvdW50IDAKKwogCSR7TlN9OjpmcmFtZSAkdwogCWlmIHshJHVzZV90dGt9IHsKIAkJJHcgY29uZmlndXJlIC1ib3JkZXJ3aWR0aCAxIC1yZWxpZWYgc3Vua2VuCiAJfQogCSR7TlN9OjpsYWJlbCAkd19sIFwKLQkJLXRleHR2YXJpYWJsZSBAc3RhdHVzIFwKKwkJLXRleHR2YXJpYWJsZSBAc3RhdHVzX2Jhcl90ZXh0IFwKIAkJLWFuY2hvciB3IFwKIAkJLWp1c3RpZnkgbGVmdAogCXBhY2sgJHdfbCAtc2lkZSBsZWZ0CkBAIC00NCw5ICs3NywxNiBAQAogCXNldCB3X2wgJHcubAogCXNldCB3X2MgJHcuYwogCisJIyBUd28tbGluZSBzdGF0dXMgYmFyOiBPbmx5IG9uZSBvbmdvaW5nIG9wZXJhdGlvbiBwZXJtaXR0ZWQuCisJc2V0IGFsbG93X211bHRpcGxlIDAKKworCXNldCBiYXNlbGluZV90ZXh0ICIiCisJc2V0IG9wZXJhdGlvbnMgW2xpc3RdCisJc2V0IGNvbXBsZXRlZF9vcGVyYXRpb25fY291bnQgMAorCiAJJHtOU306OmZyYW1lICR3CiAJJHtOU306OmxhYmVsICR3X2wgXAotCQktdGV4dHZhcmlhYmxlIEBzdGF0dXMgXAorCQktdGV4dHZhcmlhYmxlIEBzdGF0dXNfYmFyX3RleHQgXAogCQktYW5jaG9yIHcgXAogCQktanVzdGlmeSBsZWZ0CiAJcGFjayAkd19sIC1hbmNob3IgdyAtZmlsbCB4CkBAIC01Niw3ICs5Niw3IEBACiAJcmV0dXJuICR0aGlzCiB9CiAKLW1ldGhvZCBzdGFydCB7bXNnIHVkc30geworbWV0aG9kIGVuc3VyZV9jYW52YXMge30gewogCWlmIHtbd2luZm8gZXhpc3RzICR3X2NdfSB7CiAJCSR3X2MgY29vcmRzIGJhciAwIDAgMCAyMAogCX0gZWxzZSB7CkBAIC02OCwzMSArMTA4LDE3MCBAQAogCQkkd19jIGNyZWF0ZSByZWN0YW5nbGUgMCAwIDAgMjAgLXRhZ3MgYmFyIC1maWxsIG5hdnkKIAkJZXZhbCAkY19wYWNrCiAJfQorfQorCittZXRob2Qgc2hvdyB7bXNnfSB7CisJJHRoaXMgZW5zdXJlX2NhbnZhcworCXNldCBiYXNlbGluZV90ZXh0ICRtc2cKKwkkdGhpcyByZWZyZXNoCit9CisKK21ldGhvZCBzdGFydCB7bXNnIHt1ZHMge319fSB7CisJc2V0IGJhc2VsaW5lX3RleHQgIiIKKworCWlmIHshJGFsbG93X211bHRpcGxlICYmIFtsbGVuZ3RoICRvcGVyYXRpb25zXX0geworCQlyZXR1cm4gW2xpbmRleCAkb3BlcmF0aW9ucyAwXQorCX0KKworCSR0aGlzIGVuc3VyZV9jYW52YXMKKworCXNldCBvcGVyYXRpb24gW3N0YXR1c19iYXJfb3BlcmF0aW9uOjpuZXcgJHRoaXMgJG1zZyAkdWRzXQorCisJbGFwcGVuZCBvcGVyYXRpb25zICRvcGVyYXRpb24KKworCSR0aGlzIHJlZnJlc2gKKworCXJldHVybiAkb3BlcmF0aW9uCit9CisKK21ldGhvZCByZWZyZXNoIHt9IHsKKwlzZXQgbmV3X3RleHQgIiIKKworCXNldCB0b3RhbCBbZXhwciAkY29tcGxldGVkX29wZXJhdGlvbl9jb3VudCAqIDEwMF0KKwlzZXQgaGF2ZSAkdG90YWwKKworCWZvcmVhY2ggb3BlcmF0aW9uICRvcGVyYXRpb25zIHsKKwkJaWYgeyRuZXdfdGV4dCAhPSAiIn0geworCQkJYXBwZW5kIG5ld190ZXh0ICIgLyAiCisJCX0KKworCQlhcHBlbmQgbmV3X3RleHQgWyRvcGVyYXRpb24gZ2V0X3N0YXR1c10KKworCQlzZXQgdG90YWwgW2V4cHIgJHRvdGFsICsgMTAwXQorCQlzZXQgaGF2ZSBbZXhwciAkaGF2ZSArIFskb3BlcmF0aW9uIGdldF9wcm9ncmVzc11dCisJfQorCisJaWYgeyRuZXdfdGV4dCA9PSAiIn0geworCQlzZXQgbmV3X3RleHQgJGJhc2VsaW5lX3RleHQKKwl9CisKKwlzZXQgc3RhdHVzX2Jhcl90ZXh0ICRuZXdfdGV4dAorCisJaWYge1t3aW5mbyBleGlzdHMgJHdfY119IHsKKwkJc2V0IHBpeGVsX3dpZHRoIDAKKwkJaWYgeyRoYXZlID4gMH0geworCQkJc2V0IHBpeGVsX3dpZHRoIFtleHByIHtbd2luZm8gd2lkdGggJHdfY10gKiAkaGF2ZSAvICR0b3RhbH1dCisJCX0KKworCQkkd19jIGNvb3JkcyBiYXIgMCAwICRwaXhlbF93aWR0aCAyMAorCX0KK30KKworbWV0aG9kIHN0b3Age29wZXJhdGlvbiBzdG9wX21zZ30geworCXNldCBpZHggW2xzZWFyY2ggJG9wZXJhdGlvbnMgJG9wZXJhdGlvbl0KKworCWlmIHskaWR4ID49IDB9IHsKKwkJc2V0IG9wZXJhdGlvbnMgW2xyZXBsYWNlICRvcGVyYXRpb25zICRpZHggJGlkeF0KKwkJc2V0IGNvbXBsZXRlZF9vcGVyYXRpb25fY291bnQgW2V4cHIgXAorCQkJJGNvbXBsZXRlZF9vcGVyYXRpb25fY291bnQgKyAxXQorCisJCWlmIHtbbGxlbmd0aCAkb3BlcmF0aW9uc10gPT0gMH0geworCQkJc2V0IGNvbXBsZXRlZF9vcGVyYXRpb25fY291bnQgMAorCisJCQlkZXN0cm95ICR3X2MKKwkJCWlmIHskc3RvcF9tc2cgbmUge319IHsKKwkJCQlzZXQgYmFzZWxpbmVfdGV4dCAkc3RvcF9tc2cKKwkJCX0KKwkJfQorCisJCSR0aGlzIHJlZnJlc2gKKwl9Cit9CisKK21ldGhvZCBzdG9wX2FsbCB7e3N0b3BfbXNnIHt9fX0geworCSMgVGhpcyBtYWtlcyB0aGUgb3BlcmF0aW9uJ3MgY2FsbCB0byBzdG9wIGEgbm8tb3AuCisJc2V0IG9wZXJhdGlvbnNfY29weSAkb3BlcmF0aW9ucworCXNldCBvcGVyYXRpb25zIFtsaXN0XQorCisJZm9yZWFjaCBvcGVyYXRpb24gJG9wZXJhdGlvbnNfY29weSB7CisJCSRvcGVyYXRpb24gc3RvcAorCX0KKworCWlmIHskc3RvcF9tc2cgbmUge319IHsKKwkJc2V0IGJhc2VsaW5lX3RleHQgJHN0b3BfbXNnCisJfQorCisJJHRoaXMgcmVmcmVzaAorfQorCittZXRob2QgX2RlbGV0ZSB7Y3VycmVudH0geworCWlmIHskY3VycmVudCBlcSAkd30geworCQlkZWxldGVfdGhpcworCX0KK30KKworfQorCisjIFRoZSBzdGF0dXNfYmFyX29wZXJhdGlvbiBjbGFzcyB0cmFja3MgYSBzaW5nbGUgY29uc3VtZXIncyBvbmdvaW5nIHN0YXR1cyBiYXIKKyMgYWN0aXZpdHksIHdpdGggdGhlIGNvbnRleHQgdGhhdCB0aGVyZSBhcmUgYSBmZXcgc2l0dWF0aW9ucyB3aGVyZSBtdWx0aXBsZQorIyBvdmVybGFwcGluZyBhc3luY2hyb25vdXMgb3BlcmF0aW9ucyBtaWdodCB3YW50IHRvIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uCisjIHNpbXVsdGFuZW91c2x5LiBJbnN0YW5jZXMgb2Ygc3RhdHVzX2Jhcl9vcGVyYXRpb24gYXJlIGNyZWF0ZWQgYnkgY2FsbGluZworIyBzdGFydCBvbiB0aGUgc3RhdHVzX2JhciwgYW5kIHdoZW4gdGhlIGNhbGxlciBpcyBkb25lIHdpdGggaXRzIHN0YXV0cyBiYXIKKyMgb3BlcmF0aW9uLCBpdCBjYWxscyBzdG9wIG9uIHRoZSBvcGVyYXRpb24uCisKK2NsYXNzIHN0YXR1c19iYXJfb3BlcmF0aW9uIHsKKworZmllbGQgc3RhdHVzX2JhcjsgIyByZWZlcmVuY2UgYmFjayB0byB0aGUgc3RhdHVzX2JhciB0aGF0IG93bnMgdGhpcyBvYmplY3QKKworZmllbGQgaXNfYWN0aXZlOworCitmaWVsZCBzdGF0dXMgICB7fTsgIyBzaW5nbGUgbGluZSBvZiB0ZXh0IHdlIHNob3cKK2ZpZWxkIHByb2dyZXNzIHt9OyAjIGN1cnJlbnQgcHJvZ3Jlc3MgKDAgdG8gMTAwKQorZmllbGQgcHJlZml4ICAge307ICMgdGV4dCB3ZSBmb3JtYXQgaW50byBzdGF0dXMKK2ZpZWxkIHVuaXRzICAgIHt9OyAjIHVuaXQgb2YgcHJvZ3Jlc3MKK2ZpZWxkIG1ldGVyICAgIHt9OyAjIGN1cnJlbnQgY29yZSBnaXQgcHJvZ3Jlc3MgbWV0ZXIgKGlmIGFjdGl2ZSkKKworY29uc3RydWN0b3IgbmV3IHtvd25lciBtc2cgdWRzfSB7CisJc2V0IHN0YXR1c19iYXIgJG93bmVyCiAKIAlzZXQgc3RhdHVzICRtc2cKKwlzZXQgcHJvZ3Jlc3MgMAogCXNldCBwcmVmaXggJG1zZwogCXNldCB1bml0cyAgJHVkcwogCXNldCBtZXRlciAge30KKworCXNldCBpc19hY3RpdmUgMQorCisJcmV0dXJuICR0aGlzCiB9CiAKK21ldGhvZCBnZXRfaXNfYWN0aXZlIHt9IHsgcmV0dXJuICRpc19hY3RpdmUgfQorbWV0aG9kIGdldF9zdGF0dXMge30geyByZXR1cm4gJHN0YXR1cyB9CittZXRob2QgZ2V0X3Byb2dyZXNzIHt9IHsgcmV0dXJuICRwcm9ncmVzcyB9CisKIG1ldGhvZCB1cGRhdGUge2hhdmUgdG90YWx9IHsKLQlzZXQgcGRvbmUgMAotCXNldCBjZG9uZSAwCisJaWYgeyEkaXNfYWN0aXZlfSB7IHJldHVybiB9CisKKwlzZXQgcHJvZ3Jlc3MgMAorCiAJaWYgeyR0b3RhbCA+IDB9IHsKLQkJc2V0IHBkb25lIFtleHByIHsxMDAgKiAkaGF2ZSAvICR0b3RhbH1dCi0JCXNldCBjZG9uZSBbZXhwciB7W3dpbmZvIHdpZHRoICR3X2NdICogJGhhdmUgLyAkdG90YWx9XQorCQlzZXQgcHJvZ3Jlc3MgW2V4cHIgezEwMCAqICRoYXZlIC8gJHRvdGFsfV0KIAl9CiAKIAlzZXQgcHJlYyBbc3RyaW5nIGxlbmd0aCBbZm9ybWF0ICVpICR0b3RhbF1dCisKIAlzZXQgc3RhdHVzIFttYyAiJXMgLi4uICUqaSBvZiAlKmkgJXMgKCUzaSUlKSIgXAogCQkkcHJlZml4IFwKIAkJJHByZWMgJGhhdmUgXAogCQkkcHJlYyAkdG90YWwgXAotCQkkdW5pdHMgJHBkb25lXQotCSR3X2MgY29vcmRzIGJhciAwIDAgJGNkb25lIDIwCisJCSR1bml0cyAkcHJvZ3Jlc3NdCisKKwkkc3RhdHVzX2JhciByZWZyZXNoCiB9CiAKIG1ldGhvZCB1cGRhdGVfbWV0ZXIge2J1Zn0geworCWlmIHshJGlzX2FjdGl2ZX0geyByZXR1cm4gfQorCiAJYXBwZW5kIG1ldGVyICRidWYKIAlzZXQgciBbc3RyaW5nIGxhc3QgIlxyIiAkbWV0ZXJdCiAJaWYgeyRyID09IC0xfSB7CkBAIC0xMDksMjMgKzI4OCwyNSBAQAogCX0KIH0KIAotbWV0aG9kIHN0b3Age3ttc2cge319fSB7Ci0JZGVzdHJveSAkd19jCi0JaWYgeyRtc2cgbmUge319IHsKLQkJc2V0IHN0YXR1cyAkbXNnCittZXRob2Qgc3RvcCB7e3N0b3BfbXNnIHt9fX0geworCWlmIHskaXNfYWN0aXZlfSB7CisJCXNldCBpc19hY3RpdmUgMAorCQkkc3RhdHVzX2JhciBzdG9wICR0aGlzICRzdG9wX21zZwogCX0KIH0KIAotbWV0aG9kIHNob3cge21zZyB7dGVzdCB7fX19IHsKLQlpZiB7JHRlc3QgZXEge30gfHwgJHN0YXR1cyBlcSAkdGVzdH0gewotCQlzZXQgc3RhdHVzICRtc2cKLQl9CittZXRob2QgcmVzdGFydCB7bXNnfSB7CisJaWYgeyEkaXNfYWN0aXZlfSB7IHJldHVybiB9CisKKwlzZXQgc3RhdHVzICRtc2cKKwlzZXQgcHJlZml4ICRtc2cKKwlzZXQgbWV0ZXIge30KKwkkc3RhdHVzX2JhciByZWZyZXNoCiB9CiAKLW1ldGhvZCBfZGVsZXRlIHtjdXJyZW50fSB7Ci0JaWYgeyRjdXJyZW50IGVxICR3fSB7Ci0JCWRlbGV0ZV90aGlzCi0JfQorbWV0aG9kIF9kZWxldGUge30geworCXN0b3AKKwlkZWxldGVfdGhpcwogfQogCiB9CmRpZmYgLS1naXQgYS9naXQtZ3VpL3BvL2phLnBvIGIvZ2l0LWd1aS9wby9qYS5wbwppbmRleCAyMDg2NTFjLi4yZjYxMTUzIDEwMDY0NAotLS0gYS9naXQtZ3VpL3BvL2phLnBvCisrKyBiL2dpdC1ndWkvcG8vamEucG8KQEAgLTQsMTQgKzQsMTUgQEAKICMKICMg44GX44KJ44GE44GXIOOBquOBquOBkyA8bmFuYWtvM0BibHVlYm90dGxlLmNvbT4sIDIwMDcuCiAjIFNhdG9zaGkgWWFzdXNoaW1hIDxzLnlhc3VzaGltYUBnbWFpbC5jb20+LCAyMDE2LgorIyBLSURBTkkgQWtpdG8gPGEua2lkLjE5ODVAZ21haWwuY29tPiwgMjAxOS4KICMKIG1zZ2lkICIiCiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGdpdC1ndWlcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCiAiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTYtMDUtMjcgMTc6NTIrMDkwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMDYtMjIgMTI6NTArMDkwMFxuIgotIkxhc3QtVHJhbnNsYXRvcjogU2F0b3NoaSBZYXN1c2hpbWEgPHMueWFzdXNoaW1hQGdtYWlsLmNvbT5cbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE5LTEwLTEzIDIzOjIwKzA5MDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IEtJREFOSSBBa2l0byA8YS5raWQuMTk4NUBnbWFpbC5jb20+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogSmFwYW5lc2VcbiIKICJMYW5ndWFnZTogamFcbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgpAQCAtNjYxLDcgKzY2Miw3IEBACiAjOiBsaWIvbWVyZ2UudGNsOjEwOAogIywgdGNsLWZvcm1hdAogbXNnaWQgIiVzIG9mICVzIgotbXNnc3RyICIlcyDjga4gJXMg44OW44Op44Oz44OBIgorbXNnc3RyICIlMiRzIOOBriAlMSRzIOODluODqeODs+ODgSIKIAogIzogbGliL21lcmdlLnRjbDoxMjIKICMsIHRjbC1mb3JtYXQKQEAgLTk1Niw3ICs5NTcsNyBAQAogIzogbGliL2NoZWNrb3V0X29wLnRjbDo4NQogIywgdGNsLWZvcm1hdAogbXNnaWQgIkZldGNoaW5nICVzIGZyb20gJXMiCi1tc2dzdHIgIiVzIOOBi+OCiSAlcyDjgpLjg5Xjgqfjg4Pjg4HjgZfjgabjgYTjgb7jgZkiCittc2dzdHIgIiUyJHMg44GL44KJICUxJHMg44KS44OV44Kn44OD44OB44GX44Gm44GE44G+44GZIgogCiAjOiBsaWIvY2hlY2tvdXRfb3AudGNsOjEzMwogIywgdGNsLWZvcm1hdApkaWZmIC0tZ2l0IGEvZ2l0LWluc3Rhd2ViLnNoIGIvZ2l0LWluc3Rhd2ViLnNoCmluZGV4IGVlYzI2NGUuLjdjNTUyMjkgMTAwNzU1Ci0tLSBhL2dpdC1pbnN0YXdlYi5zaAorKysgYi9naXQtaW5zdGF3ZWIuc2gKQEAgLTY3LDYgKzY3LDEzIEBACiAJCWh0dHBkX29ubHk9IiR7aHR0cGQlJSAqfSIgIyBjdXQgb24gZmlyc3Qgc3BhY2UKIAkJcmV0dXJuCiAJCTs7CisJKnB5dGhvbiopCisJCSMgc2VydmVyIGlzIHN0YXJ0ZWQgYnkgcnVubmluZyB2aWEgZ2VuZXJhdGVkIGdpdHdlYi5weSBpbgorCQkjICRmcWdpdGRpci9naXR3ZWIKKwkJZnVsbF9odHRwZD0iJGZxZ2l0ZGlyL2dpdHdlYi9naXR3ZWIucHkiCisJCWh0dHBkX29ubHk9IiR7aHR0cGQlJSAqfSIgIyBjdXQgb24gZmlyc3Qgc3BhY2UKKwkJcmV0dXJuCisJCTs7CiAJZXNhYwogCiAJaHR0cGRfb25seT0iJChlY2hvICRodHRwZCB8IGN1dCAtZjEgLWQnICcpIgpAQCAtMTEwLDcgKzExNyw3IEBACiAKIAkjIGRvbid0IHF1b3RlICRmdWxsX2h0dHBkLCB0aGVyZSBjYW4gYmUgYXJndW1lbnRzIHRvIGl0ICgtZikKIAljYXNlICIkaHR0cGQiIGluCi0JKm1vbmdvb3NlKnwqcGxhY2t1cCopCisJKm1vbmdvb3NlKnwqcGxhY2t1cCp8KnB5dGhvbiopCiAJCSNUaGVzZSBzZXJ2ZXJzIGRvbid0IGhhdmUgYSBkYWVtb24gbW9kZSBzbyB3ZSdsbCBoYXZlIHRvIGZvcmsgaXQKIAkJJGZ1bGxfaHR0cGQgIiRjb25mIiAmCiAJCSNTYXZlIHRoZSBwaWQgYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UgKHdlJ2xsIHByaW50IGl0IGxhdGVyKQpAQCAtNTk1LDYgKzYwMiwxMjEgQEAKIAlybSAtZiAiJGNvbmYiCiB9CiAKK3B5dGhvbl9jb25mKCkgeworCSMgUHl0aG9uJ3MgYnVpbHRpbiBodHRwLnNlcnZlciBhbmQgaXRzIENHSSBzdXBwb3J0IGlzIHZlcnkgbGltaXRlZC4KKwkjIENHSSBoYW5kbGVyIGlzIGNhcGFibGUgb2YgcnVubmluZyBDR0kgc2NyaXB0IG9ubHkgZnJvbSBpbnNpZGUgYSBkaXJlY3RvcnkuCisJIyBUcnlpbmcgdG8gc2V0IGNnaV9kaXJlY3Rvcmllcz1bIi8iXSB3aWxsIGFkZCBkb3VibGUgc2xhc2ggdG8gU0NSSVBUX05BTUUKKwkjIGFuZCB0aGF0IGluIHR1cm4gYnJlYWtzIGdpdHdlYidzIHJlbGF0aXZlIGxpbmsgZ2VuZXJhdGlvbi4KKworCSMgY3JlYXRlIGEgc2ltcGxlIHdlYiByb290IHdoZXJlICRmcWdpdGRpci9naXR3ZWIvJGh0dHBkX29ubHkgaXMgb3VyIHJvb3QKKwlta2RpciAtcCAiJGZxZ2l0ZGlyL2dpdHdlYi8kaHR0cGRfb25seS9jZ2ktYmluIgorCSMgUHl0aG9uIGh0dHAuc2VydmVyIGZvbGxvd3MgdGhlIHN5bWxpbmtzCisJbG4gLXNmICIkcm9vdC9naXR3ZWIuY2dpIiAiJGZxZ2l0ZGlyL2dpdHdlYi8kaHR0cGRfb25seS9jZ2ktYmluL2dpdHdlYi5jZ2kiCisJbG4gLXNmICIkcm9vdC9zdGF0aWMiICIkZnFnaXRkaXIvZ2l0d2ViLyRodHRwZF9vbmx5LyIKKworCSMgZ2VuZXJhdGUgYSBzdGFuZGFsb25lICdweXRob24gaHR0cC5zZXJ2ZXInIHNjcmlwdCBpbiAkZnFnaXRkaXIvZ2l0d2ViCisJIyBUaGlzIGFzdW1lcyB0aGF0IHB5dGhvbiBpcyBpbiB1c2VyJ3MgJFBBVEgKKwkjIFRoaXMgc2NyaXB0IGlzIFB5dGhvbiAyIGFuZCAzIGNvbXBhdGlibGUKKwljYXQgPiAiJGZxZ2l0ZGlyL2dpdHdlYi9naXR3ZWIucHkiIDw8RU9GCisjIS91c3IvYmluL2VudiBweXRob24KK2ltcG9ydCBvcworaW1wb3J0IHN5cworCisjIE9wZW4gbG9nIGZpbGUgaW4gbGluZSBidWZmZXJpbmcgbW9kZQorYWNjZXNzbG9nZmlsZSA9IG9wZW4oIiRmcWdpdGRpci9naXR3ZWIvYWNjZXNzLmxvZyIsICdhJywgYnVmZmVyaW5nPTEpCitlcnJvcmxvZ2ZpbGUgPSBvcGVuKCIkZnFnaXRkaXIvZ2l0d2ViL2Vycm9yLmxvZyIsICdhJywgYnVmZmVyaW5nPTEpCisKKyMgYW5kIHJlcGxhY2Ugb3VyIHN0ZG91dCBhbmQgc3RkZXJyIHdpdGggbG9nIGZpbGVzCisjIGFsc28gZG8gYSBsb3dsZXZlbCBkdXBsaWNhdGUgb2YgdGhlIGxvZ2ZpbGUgZmlsZSBkZXNjcmlwdG9ycyBzbyB0aGF0CisjIG91ciBDR0kgY2hpbGQgcHJvY2VzcyB3cml0ZXMgYW55IHN0ZGVyciB3YXJuaW5nIGFsc28gdG8gdGhlIGxvZyBmaWxlCitfb3JpZ19zdGRvdXRfZmQgPSBzeXMuc3Rkb3V0LmZpbGVubygpCitzeXMuc3Rkb3V0LmNsb3NlKCkKK29zLmR1cDIoYWNjZXNzbG9nZmlsZS5maWxlbm8oKSwgX29yaWdfc3Rkb3V0X2ZkKQorc3lzLnN0ZG91dCA9IGFjY2Vzc2xvZ2ZpbGUKKworX29yaWdfc3RkZXJyX2ZkID0gc3lzLnN0ZGVyci5maWxlbm8oKQorc3lzLnN0ZGVyci5jbG9zZSgpCitvcy5kdXAyKGVycm9ybG9nZmlsZS5maWxlbm8oKSwgX29yaWdfc3RkZXJyX2ZkKQorc3lzLnN0ZGVyciA9IGVycm9ybG9nZmlsZQorCitmcm9tIGZ1bmN0b29scyBpbXBvcnQgcGFydGlhbAorCitpZiBzeXMudmVyc2lvbl9pbmZvIDwgKDMsIDApOiAgIyBQeXRob24gMgorCWZyb20gQ0dJSFRUUFNlcnZlciBpbXBvcnQgQ0dJSFRUUFJlcXVlc3RIYW5kbGVyCisJZnJvbSBCYXNlSFRUUFNlcnZlciBpbXBvcnQgSFRUUFNlcnZlciBhcyBTZXJ2ZXJDbGFzcworZWxzZTogICMgUHl0aG9uIDMKKwlmcm9tIGh0dHAuc2VydmVyIGltcG9ydCBDR0lIVFRQUmVxdWVzdEhhbmRsZXIKKwlmcm9tIGh0dHAuc2VydmVyIGltcG9ydCBIVFRQU2VydmVyIGFzIFNlcnZlckNsYXNzCisKKworIyBUaG9zZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIGNnaSBzY3JpcHQKK29zLmVudmlyb24udXBkYXRlKHsKKwkiR0lUX0VYRUNfUEFUSCI6ICIkR0lUX0VYRUNfUEFUSCIsCisJIkdJVF9ESVIiOiAiJEdJVF9ESVIiLAorCSJHSVRXRUJfQ09ORklHIjogIiRHSVRXRUJfQ09ORklHIgorfSkKKworCitjbGFzcyBHaXRXZWJSZXF1ZXN0SGFuZGxlcihDR0lIVFRQUmVxdWVzdEhhbmRsZXIpOgorCisJZGVmIGxvZ19tZXNzYWdlKHNlbGYsIGZvcm1hdCwgKmFyZ3MpOgorCQkjIFdyaXRlIGFjY2VzcyBsb2dzIHRvIHN0ZG91dAorCQlzeXMuc3Rkb3V0LndyaXRlKCIlcyAtIC0gWyVzXSAlc1xuIiAlCisJCQkJKHNlbGYuYWRkcmVzc19zdHJpbmcoKSwKKwkJCQlzZWxmLmxvZ19kYXRlX3RpbWVfc3RyaW5nKCksCisJCQkJZm9ybWF0JWFyZ3MpKQorCisJZGVmIGRvX0hFQUQoc2VsZik6CisJCXNlbGYucmVkaXJlY3RfcGF0aCgpCisJCUNHSUhUVFBSZXF1ZXN0SGFuZGxlci5kb19IRUFEKHNlbGYpCisKKwlkZWYgZG9fR0VUKHNlbGYpOgorCQlpZiBzZWxmLnBhdGggPT0gIi8iOgorCQkJc2VsZi5zZW5kX3Jlc3BvbnNlKDMwMywgIlNlZSBPdGhlciIpCisJCQlzZWxmLnNlbmRfaGVhZGVyKCJMb2NhdGlvbiIsICIvY2dpLWJpbi9naXR3ZWIuY2dpIikKKwkJCXNlbGYuZW5kX2hlYWRlcnMoKQorCQkJcmV0dXJuCisJCXNlbGYucmVkaXJlY3RfcGF0aCgpCisJCUNHSUhUVFBSZXF1ZXN0SGFuZGxlci5kb19HRVQoc2VsZikKKworCWRlZiBkb19QT1NUKHNlbGYpOgorCQlzZWxmLnJlZGlyZWN0X3BhdGgoKQorCQlDR0lIVFRQUmVxdWVzdEhhbmRsZXIuZG9fUE9TVChzZWxmKQorCisJIyByZXdyaXRlIHBhdGggb2YgZXZlcnkgcmVxdWVzdCB0aGF0IGlzIG5vdCBnaXR3ZWIuY2dpIHRvIG91dCBvZiBjZ2ktYmluCisJZGVmIHJlZGlyZWN0X3BhdGgoc2VsZik6CisJCWlmIG5vdCBzZWxmLnBhdGguc3RhcnRzd2l0aCgiL2NnaS1iaW4vZ2l0d2ViLmNnaSIpOgorCQkJc2VsZi5wYXRoID0gc2VsZi5wYXRoLnJlcGxhY2UoIi9jZ2ktYmluLyIsICIvIikKKworCSMgZ2l0d2ViLmNnaSBpcyB0aGUgb25seSB0aGluZyB0aGF0IGlzIGV2ZXIgZ29pbmcgdG8gYmUgcnVuIGhlcmUuCisJIyBJZ25vcmUgZXZlcnl0aGluZyBlbHNlCisJZGVmIGlzX2NnaShzZWxmKToKKwkJcmVzdWx0ID0gRmFsc2UKKwkJaWYgc2VsZi5wYXRoLnN0YXJ0c3dpdGgoJy9jZ2ktYmluL2dpdHdlYi5jZ2knKToKKwkJCXJlc3VsdCA9IENHSUhUVFBSZXF1ZXN0SGFuZGxlci5pc19jZ2koc2VsZikKKwkJcmV0dXJuIHJlc3VsdAorCisKK2JpbmQgPSAiMTI3LjAuMC4xIgoraWYgIiRsb2NhbCIgPT0gInRydWUiOgorCWJpbmQgPSAiMC4wLjAuMCIKKworIyBTZXQgb3VyIGh0dHAgcm9vdCBkaXJlY3RvcnkKKyMgVGhpcyBpcyBhIHdvcmsgYXJvdW5kIGZvciBhIG1pc3NpbmcgZGlyZWN0b3J5IGFyZ3VtZW50IGluIG9sZGVyIFB5dGhvbiB2ZXJzaW9ucworIyBhcyB0aGlzIHdhcyBhZGRlZCB0byBTaW1wbGVIVFRQUmVxdWVzdEhhbmRsZXIgaW4gUHl0aG9uIDMuNworb3MuY2hkaXIoIiRmcWdpdGRpci9naXR3ZWIvJGh0dHBkX29ubHkvIikKKworR2l0V2ViUmVxdWVzdEhhbmRsZXIucHJvdG9jb2xfdmVyc2lvbiA9ICJIVFRQLzEuMCIKK2h0dHBkID0gU2VydmVyQ2xhc3MoKGJpbmQsICRwb3J0KSwgR2l0V2ViUmVxdWVzdEhhbmRsZXIpCisKK3NhID0gaHR0cGQuc29ja2V0LmdldHNvY2tuYW1lKCkKK3ByaW50KCJTZXJ2aW5nIEhUVFAgb24iLCBzYVswXSwgInBvcnQiLCBzYVsxXSwgIi4uLiIpCitodHRwZC5zZXJ2ZV9mb3JldmVyKCkKK0VPRgorCisJY2htb2QgYSt4ICIkZnFnaXRkaXIvZ2l0d2ViL2dpdHdlYi5weSIKK30KKwogZ2l0d2ViX2NvbmYoKSB7CiAJY2F0ID4gIiRmcWdpdGRpci9naXR3ZWIvZ2l0d2ViX2NvbmZpZy5wZXJsIiA8PEVPRgogIyFAQFBFUkxAQApAQCAtNjIzLDYgKzc0NSw5IEBACiAJKnBsYWNrdXAqKQogCQlwbGFja3VwX2NvbmYKIAkJOzsKKwkqcHl0aG9uKikKKwkJcHl0aG9uX2NvbmYKKwkJOzsKIAkqKQogCQllY2hvICJVbmtub3duIGh0dHBkIHNwZWNpZmllZDogJGh0dHBkIgogCQlleGl0IDEKZGlmZiAtLWdpdCBhL2dpdC1sZWdhY3ktcmViYXNlLnNoIGIvZ2l0LWxlZ2FjeS1yZWJhc2Uuc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGI0YzdkYmYuLjAwMDAwMDAKLS0tIGEvZ2l0LWxlZ2FjeS1yZWJhc2Uuc2gKKysrIC9kZXYvbnVsbApAQCAtMSw3NTkgKzAsMCBAQAotIyEvYmluL3NoCi0jCi0jIENvcHlyaWdodCAoYykgMjAwNSBKdW5pbyBDIEhhbWFuby4KLSMKLQotU1VCRElSRUNUT1JZX09LPVllcwotT1BUSU9OU19LRUVQREFTSERBU0g9Ci1PUFRJT05TX1NUVUNLTE9ORz10Ci1PUFRJT05TX1NQRUM9IlwKLWdpdCByZWJhc2UgWy1pXSBbb3B0aW9uc10gWy0tZXhlYyA8Y21kPl0gWy0tb250byA8bmV3YmFzZT5dIFs8dXBzdHJlYW0+XSBbPGJyYW5jaD5dCi1naXQgcmViYXNlIFstaV0gW29wdGlvbnNdIFstLWV4ZWMgPGNtZD5dIFstLW9udG8gPG5ld2Jhc2U+XSAtLXJvb3QgWzxicmFuY2g+XQotZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIHwgLS1hYm9ydCB8IC0tc2tpcCB8IC0tZWRpdC10b2RvCi0tLQotIEF2YWlsYWJsZSBvcHRpb25zIGFyZQotdix2ZXJib3NlISAgICAgICAgIGRpc3BsYXkgYSBkaWZmc3RhdCBvZiB3aGF0IGNoYW5nZWQgdXBzdHJlYW0KLXEscXVpZXQhICAgICAgICAgICBiZSBxdWlldC4gaW1wbGllcyAtLW5vLXN0YXQKLWF1dG9zdGFzaCAgICAgICAgICBhdXRvbWF0aWNhbGx5IHN0YXNoL3N0YXNoIHBvcCBiZWZvcmUgYW5kIGFmdGVyCi1mb3JrLXBvaW50ICAgICAgICAgdXNlICdtZXJnZS1iYXNlIC0tZm9yay1wb2ludCcgdG8gcmVmaW5lIHVwc3RyZWFtCi1vbnRvPSEgICAgICAgICAgICAgcmViYXNlIG9udG8gZ2l2ZW4gYnJhbmNoIGluc3RlYWQgb2YgdXBzdHJlYW0KLXIscmViYXNlLW1lcmdlcz8gICB0cnkgdG8gcmViYXNlIG1lcmdlcyBpbnN0ZWFkIG9mIHNraXBwaW5nIHRoZW0KLXAscHJlc2VydmUtbWVyZ2VzISB0cnkgdG8gcmVjcmVhdGUgbWVyZ2VzIGluc3RlYWQgb2YgaWdub3JpbmcgdGhlbQotcyxzdHJhdGVneT0hICAgICAgIHVzZSB0aGUgZ2l2ZW4gbWVyZ2Ugc3RyYXRlZ3kKLVgsc3RyYXRlZ3ktb3B0aW9uPSEgcGFzcyB0aGUgYXJndW1lbnQgdGhyb3VnaCB0byB0aGUgbWVyZ2Ugc3RyYXRlZ3kKLW5vLWZmISAgICAgICAgICAgICBjaGVycnktcGljayBhbGwgY29tbWl0cywgZXZlbiBpZiB1bmNoYW5nZWQKLWYsZm9yY2UtcmViYXNlISAgICBjaGVycnktcGljayBhbGwgY29tbWl0cywgZXZlbiBpZiB1bmNoYW5nZWQKLW0sbWVyZ2UhICAgICAgICAgICB1c2UgbWVyZ2luZyBzdHJhdGVnaWVzIHRvIHJlYmFzZQotaSxpbnRlcmFjdGl2ZSEgICAgIGxldCB0aGUgdXNlciBlZGl0IHRoZSBsaXN0IG9mIGNvbW1pdHMgdG8gcmViYXNlCi14LGV4ZWM9ISAgICAgICAgICAgYWRkIGV4ZWMgbGluZXMgYWZ0ZXIgZWFjaCBjb21taXQgb2YgdGhlIGVkaXRhYmxlIGxpc3QKLWssa2VlcC1lbXB0eQkgICBwcmVzZXJ2ZSBlbXB0eSBjb21taXRzIGR1cmluZyByZWJhc2UKLWFsbG93LWVtcHR5LW1lc3NhZ2UgYWxsb3cgcmViYXNpbmcgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzCi1zdGF0ISAgICAgICAgICAgICAgZGlzcGxheSBhIGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbQotbixuby1zdGF0ISAgICAgICAgIGRvIG5vdCBzaG93IGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbQotdmVyaWZ5ICAgICAgICAgICAgIGFsbG93IHByZS1yZWJhc2UgaG9vayB0byBydW4KLXJlcmVyZS1hdXRvdXBkYXRlICBhbGxvdyByZXJlcmUgdG8gdXBkYXRlIGluZGV4IHdpdGggcmVzb2x2ZWQgY29uZmxpY3RzCi1yb290ISAgICAgICAgICAgICAgcmViYXNlIGFsbCByZWFjaGFibGUgY29tbWl0cyB1cCB0byB0aGUgcm9vdChzKQotYXV0b3NxdWFzaCAgICAgICAgIG1vdmUgY29tbWl0cyB0aGF0IGJlZ2luIHdpdGggc3F1YXNoIS9maXh1cCEgdW5kZXIgLWkKLXNpZ25vZmYgICAgICAgICAgICBhZGQgYSBTaWduZWQtb2ZmLWJ5OiBsaW5lIHRvIGVhY2ggY29tbWl0Ci1jb21taXR0ZXItZGF0ZS1pcy1hdXRob3ItZGF0ZSEgcGFzc2VkIHRvICdnaXQgYW0nCi1pZ25vcmUtZGF0ZSEgICAgICAgcGFzc2VkIHRvICdnaXQgYW0nCi13aGl0ZXNwYWNlPSEgICAgICAgcGFzc2VkIHRvICdnaXQgYXBwbHknCi1pZ25vcmUtd2hpdGVzcGFjZSEgcGFzc2VkIHRvICdnaXQgYXBwbHknCi1DPSEgICAgICAgICAgICAgICAgcGFzc2VkIHRvICdnaXQgYXBwbHknCi1TLGdwZy1zaWduPyAgICAgICAgR1BHLXNpZ24gY29tbWl0cwotIEFjdGlvbnM6Ci1jb250aW51ZSEgICAgICAgICAgY29udGludWUKLWFib3J0ISAgICAgICAgICAgICBhYm9ydCBhbmQgY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gKLXNraXAhICAgICAgICAgICAgICBza2lwIGN1cnJlbnQgcGF0Y2ggYW5kIGNvbnRpbnVlCi1lZGl0LXRvZG8hICAgICAgICAgZWRpdCB0aGUgdG9kbyBsaXN0IGR1cmluZyBhbiBpbnRlcmFjdGl2ZSByZWJhc2UKLXF1aXQhICAgICAgICAgICAgICBhYm9ydCBidXQga2VlcCBIRUFEIHdoZXJlIGl0IGlzCi1zaG93LWN1cnJlbnQtcGF0Y2ghIHNob3cgdGhlIHBhdGNoIGZpbGUgYmVpbmcgYXBwbGllZCBvciBtZXJnZWQKLSIKLS4gZ2l0LXNoLXNldHVwCi1zZXRfcmVmbG9nX2FjdGlvbiByZWJhc2UKLXJlcXVpcmVfd29ya190cmVlX2V4aXN0cwotY2RfdG9fdG9wbGV2ZWwKLQotTEY9JwotJwotb2tfdG9fc2tpcF9wcmVfcmViYXNlPQotCi1zcXVhc2hfb250bz0KLXVuc2V0IG9udG8KLXVuc2V0IHJlc3RyaWN0X3JldmlzaW9uCi1jbWQ9Ci1zdHJhdGVneT0KLXN0cmF0ZWd5X29wdHM9Ci1kb19tZXJnZT0KLW1lcmdlX2Rpcj0iJEdJVF9ESVIiL3JlYmFzZS1tZXJnZQotYXBwbHlfZGlyPSIkR0lUX0RJUiIvcmViYXNlLWFwcGx5Ci12ZXJib3NlPQotZGlmZnN0YXQ9Ci10ZXN0ICIkKGdpdCBjb25maWcgLS1ib29sIHJlYmFzZS5zdGF0KSIgPSB0cnVlICYmIGRpZmZzdGF0PXQKLWF1dG9zdGFzaD0iJChnaXQgY29uZmlnIC0tYm9vbCByZWJhc2UuYXV0b3N0YXNoIHx8IGVjaG8gZmFsc2UpIgotZm9ya19wb2ludD1hdXRvCi1naXRfYW1fb3B0PQotZ2l0X2Zvcm1hdF9wYXRjaF9vcHQ9Ci1yZWJhc2Vfcm9vdD0KLWZvcmNlX3JlYmFzZT0KLWFsbG93X3JlcmVyZV9hdXRvdXBkYXRlPQotIyBOb24tZW1wdHkgaWYgYSByZWJhc2Ugd2FzIGluIHByb2dyZXNzIHdoZW4gJ2dpdCByZWJhc2UnIHdhcyBpbnZva2VkCi1pbl9wcm9ncmVzcz0KLSMgT25lIG9mIHthbSwgbWVyZ2UsIGludGVyYWN0aXZlfQotdHlwZT0KLSMgT25lIG9mIHsiJEdJVF9ESVIiL3JlYmFzZS1hcHBseSwgIiRHSVRfRElSIi9yZWJhc2UtbWVyZ2V9Ci1zdGF0ZV9kaXI9Ci0jIE9uZSBvZiB7JycsIGNvbnRpbnVlLCBza2lwLCBhYm9ydH0sIGFzIHBhcnNlZCBmcm9tIGNvbW1hbmQgbGluZQotYWN0aW9uPQotcmViYXNlX21lcmdlcz0KLXJlYmFzZV9jb3VzaW5zPQotcHJlc2VydmVfbWVyZ2VzPQotYXV0b3NxdWFzaD0KLWtlZXBfZW1wdHk9Ci1hbGxvd19lbXB0eV9tZXNzYWdlPS0tYWxsb3ctZW1wdHktbWVzc2FnZQotc2lnbm9mZj0KLXRlc3QgIiQoZ2l0IGNvbmZpZyAtLWJvb2wgcmViYXNlLmF1dG9zcXVhc2gpIiA9ICJ0cnVlIiAmJiBhdXRvc3F1YXNoPXQKLWNhc2UgIiQoZ2l0IGNvbmZpZyAtLWJvb2wgY29tbWl0LmdwZ3NpZ24pIiBpbgotdHJ1ZSkJZ3BnX3NpZ25fb3B0PS1TIDs7Ci0qKQlncGdfc2lnbl9vcHQ9IDs7Ci1lc2FjCi0uIGdpdC1yZWJhc2UtLWNvbW1vbgotCi1yZWFkX2Jhc2ljX3N0YXRlICgpIHsKLQl0ZXN0IC1mICIkc3RhdGVfZGlyL2hlYWQtbmFtZSIgJiYKLQl0ZXN0IC1mICIkc3RhdGVfZGlyL29udG8iICYmCi0JaGVhZF9uYW1lPSQoY2F0ICIkc3RhdGVfZGlyIi9oZWFkLW5hbWUpICYmCi0Jb250bz0kKGNhdCAiJHN0YXRlX2RpciIvb250bykgJiYKLQkjIFdlIGFsd2F5cyB3cml0ZSB0byBvcmlnLWhlYWQsIGJ1dCBpbnRlcmFjdGl2ZSByZWJhc2UgdXNlZCB0byB3cml0ZSB0bwotCSMgaGVhZC4gRmFsbCBiYWNrIHRvIHJlYWRpbmcgZnJvbSBoZWFkIHRvIGNvdmVyIGZvciB0aGUgY2FzZSB0aGF0IHRoZQotCSMgdXNlciB1cGdyYWRlZCBnaXQgd2l0aCBhbiBvbmdvaW5nIGludGVyYWN0aXZlIHJlYmFzZS4KLQlpZiB0ZXN0IC1mICIkc3RhdGVfZGlyIi9vcmlnLWhlYWQKLQl0aGVuCi0JCW9yaWdfaGVhZD0kKGNhdCAiJHN0YXRlX2RpciIvb3JpZy1oZWFkKQotCWVsc2UKLQkJb3JpZ19oZWFkPSQoY2F0ICIkc3RhdGVfZGlyIi9oZWFkKQotCWZpICYmCi0JR0lUX1FVSUVUPSQoY2F0ICIkc3RhdGVfZGlyIi9xdWlldCkgJiYKLQl0ZXN0IC1mICIkc3RhdGVfZGlyIi92ZXJib3NlICYmIHZlcmJvc2U9dAotCXRlc3QgLWYgIiRzdGF0ZV9kaXIiL3N0cmF0ZWd5ICYmIHN0cmF0ZWd5PSIkKGNhdCAiJHN0YXRlX2RpciIvc3RyYXRlZ3kpIgotCXRlc3QgLWYgIiRzdGF0ZV9kaXIiL3N0cmF0ZWd5X29wdHMgJiYKLQkJc3RyYXRlZ3lfb3B0cz0iJChjYXQgIiRzdGF0ZV9kaXIiL3N0cmF0ZWd5X29wdHMpIgotCXRlc3QgLWYgIiRzdGF0ZV9kaXIiL2FsbG93X3JlcmVyZV9hdXRvdXBkYXRlICYmCi0JCWFsbG93X3JlcmVyZV9hdXRvdXBkYXRlPSIkKGNhdCAiJHN0YXRlX2RpciIvYWxsb3dfcmVyZXJlX2F1dG91cGRhdGUpIgotCXRlc3QgLWYgIiRzdGF0ZV9kaXIiL2dwZ19zaWduX29wdCAmJgotCQlncGdfc2lnbl9vcHQ9IiQoY2F0ICIkc3RhdGVfZGlyIi9ncGdfc2lnbl9vcHQpIgotCXRlc3QgLWYgIiRzdGF0ZV9kaXIiL3NpZ25vZmYgJiYgewotCQlzaWdub2ZmPSIkKGNhdCAiJHN0YXRlX2RpciIvc2lnbm9mZikiCi0JCWZvcmNlX3JlYmFzZT10Ci0JfQotfQotCi1maW5pc2hfcmViYXNlICgpIHsKLQlybSAtZiAiJChnaXQgcmV2LXBhcnNlIC0tZ2l0LXBhdGggUkVCQVNFX0hFQUQpIgotCWFwcGx5X2F1dG9zdGFzaCAmJgotCXsgZ2l0IGdjIC0tYXV0byB8fCB0cnVlOyB9ICYmCi0Jcm0gLXJmICIkc3RhdGVfZGlyIgotfQotCi1ydW5faW50ZXJhY3RpdmUgKCkgewotCUdJVF9DSEVSUllfUElDS19IRUxQPSIkcmVzb2x2ZW1zZyIKLQlleHBvcnQgR0lUX0NIRVJSWV9QSUNLX0hFTFAKLQotCXRlc3QgLW4gIiRrZWVwX2VtcHR5IiAmJiBrZWVwX2VtcHR5PSItLWtlZXAtZW1wdHkiCi0JdGVzdCAtbiAiJHJlYmFzZV9tZXJnZXMiICYmIHJlYmFzZV9tZXJnZXM9Ii0tcmViYXNlLW1lcmdlcyIKLQl0ZXN0IC1uICIkcmViYXNlX2NvdXNpbnMiICYmIHJlYmFzZV9jb3VzaW5zPSItLXJlYmFzZS1jb3VzaW5zIgotCXRlc3QgLW4gIiRhdXRvc3F1YXNoIiAmJiBhdXRvc3F1YXNoPSItLWF1dG9zcXVhc2giCi0JdGVzdCAtbiAiJHZlcmJvc2UiICYmIHZlcmJvc2U9Ii0tdmVyYm9zZSIKLQl0ZXN0IC1uICIkZm9yY2VfcmViYXNlIiAmJiBmb3JjZV9yZWJhc2U9Ii0tbm8tZmYiCi0JdGVzdCAtbiAiJHJlc3RyaWN0X3JldmlzaW9uIiAmJiBcCi0JCXJlc3RyaWN0X3JldmlzaW9uPSItLXJlc3RyaWN0LXJldmlzaW9uPV4kcmVzdHJpY3RfcmV2aXNpb24iCi0JdGVzdCAtbiAiJHVwc3RyZWFtIiAmJiB1cHN0cmVhbT0iLS11cHN0cmVhbT0kdXBzdHJlYW0iCi0JdGVzdCAtbiAiJG9udG8iICYmIG9udG89Ii0tb250bz0kb250byIKLQl0ZXN0IC1uICIkc3F1YXNoX29udG8iICYmIHNxdWFzaF9vbnRvPSItLXNxdWFzaC1vbnRvPSRzcXVhc2hfb250byIKLQl0ZXN0IC1uICIkb250b19uYW1lIiAmJiBvbnRvX25hbWU9Ii0tb250by1uYW1lPSRvbnRvX25hbWUiCi0JdGVzdCAtbiAiJGhlYWRfbmFtZSIgJiYgaGVhZF9uYW1lPSItLWhlYWQtbmFtZT0kaGVhZF9uYW1lIgotCXRlc3QgLW4gIiRzdHJhdGVneSIgJiYgc3RyYXRlZ3k9Ii0tc3RyYXRlZ3k9JHN0cmF0ZWd5IgotCXRlc3QgLW4gIiRzdHJhdGVneV9vcHRzIiAmJiBzdHJhdGVneV9vcHRzPSItLXN0cmF0ZWd5LW9wdHM9JHN0cmF0ZWd5X29wdHMiCi0JdGVzdCAtbiAiJHN3aXRjaF90byIgJiYgc3dpdGNoX3RvPSItLXN3aXRjaC10bz0kc3dpdGNoX3RvIgotCXRlc3QgLW4gIiRjbWQiICYmIGNtZD0iLS1jbWQ9JGNtZCIKLQl0ZXN0IC1uICIkYWN0aW9uIiAmJiBhY3Rpb249Ii0tJGFjdGlvbiIKLQotCWV4ZWMgZ2l0IHJlYmFzZS0taW50ZXJhY3RpdmUgIiRhY3Rpb24iICIka2VlcF9lbXB0eSIgIiRyZWJhc2VfbWVyZ2VzIiAiJHJlYmFzZV9jb3VzaW5zIiBcCi0JCSIkdXBzdHJlYW0iICIkb250byIgIiRzcXVhc2hfb250byIgIiRyZXN0cmljdF9yZXZpc2lvbiIgXAotCQkiJGFsbG93X2VtcHR5X21lc3NhZ2UiICIkYXV0b3NxdWFzaCIgIiR2ZXJib3NlIiBcCi0JCSIkZm9yY2VfcmViYXNlIiAiJG9udG9fbmFtZSIgIiRoZWFkX25hbWUiICIkc3RyYXRlZ3kiIFwKLQkJIiRzdHJhdGVneV9vcHRzIiAiJGNtZCIgIiRzd2l0Y2hfdG8iIFwKLQkJIiRhbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSIgIiRncGdfc2lnbl9vcHQiICIkc2lnbm9mZiIKLX0KLQotcnVuX3NwZWNpZmljX3JlYmFzZSAoKSB7Ci0JaWYgWyAiJGludGVyYWN0aXZlX3JlYmFzZSIgPSBpbXBsaWVkIF07IHRoZW4KLQkJR0lUX0VESVRPUj06Ci0JCWV4cG9ydCBHSVRfRURJVE9SCi0JCWF1dG9zcXVhc2g9Ci0JZmkKLQotCWlmIHRlc3QgLW4gIiRpbnRlcmFjdGl2ZV9yZWJhc2UiIC1hIC16ICIkcHJlc2VydmVfbWVyZ2VzIgotCXRoZW4KLQkJcnVuX2ludGVyYWN0aXZlCi0JZWxzZQotCQkuIGdpdC1yZWJhc2UtLSR0eXBlCi0KLQkJaWYgdGVzdCAteiAiJHByZXNlcnZlX21lcmdlcyIKLQkJdGhlbgotCQkJZ2l0X3JlYmFzZV9fJHR5cGUKLQkJZWxzZQotCQkJZ2l0X3JlYmFzZV9fcHJlc2VydmVfbWVyZ2VzCi0JCWZpCi0JZmkKLQotCXJldD0kPwotCWlmIHRlc3QgJHJldCAtZXEgMAotCXRoZW4KLQkJZmluaXNoX3JlYmFzZQotCWVsaWYgdGVzdCAkcmV0IC1lcSAyICMgc3BlY2lhbCBleGl0IHN0YXR1cyBmb3IgcmViYXNlIC1wCi0JdGhlbgotCQlhcHBseV9hdXRvc3Rhc2ggJiYKLQkJcm0gLXJmICIkc3RhdGVfZGlyIiAmJgotCQlkaWUgIk5vdGhpbmcgdG8gZG8iCi0JZmkKLQlleGl0ICRyZXQKLX0KLQotcnVuX3ByZV9yZWJhc2VfaG9vayAoKSB7Ci0JaWYgdGVzdCAteiAiJG9rX3RvX3NraXBfcHJlX3JlYmFzZSIgJiYKLQkgICB0ZXN0IC14ICIkKGdpdCByZXYtcGFyc2UgLS1naXQtcGF0aCBob29rcy9wcmUtcmViYXNlKSIKLQl0aGVuCi0JCSIkKGdpdCByZXYtcGFyc2UgLS1naXQtcGF0aCBob29rcy9wcmUtcmViYXNlKSIgJHsxKyIkQCJ9IHx8Ci0JCWRpZSAiJChnZXR0ZXh0ICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIpIgotCWZpCi19Ci0KLXRlc3QgLWYgIiRhcHBseV9kaXIiL2FwcGx5aW5nICYmCi0JZGllICIkKGdldHRleHQgIkl0IGxvb2tzIGxpa2UgJ2dpdCBhbScgaXMgaW4gcHJvZ3Jlc3MuIENhbm5vdCByZWJhc2UuIikiCi0KLWlmIHRlc3QgLWQgIiRhcHBseV9kaXIiCi10aGVuCi0JdHlwZT1hbQotCXN0YXRlX2Rpcj0iJGFwcGx5X2RpciIKLWVsaWYgdGVzdCAtZCAiJG1lcmdlX2RpciIKLXRoZW4KLQlpZiB0ZXN0IC1kICIkbWVyZ2VfZGlyIi9yZXdyaXR0ZW4KLQl0aGVuCi0JCXR5cGU9cHJlc2VydmUtbWVyZ2VzCi0JCWludGVyYWN0aXZlX3JlYmFzZT1leHBsaWNpdAotCQlwcmVzZXJ2ZV9tZXJnZXM9dAotCWVsaWYgdGVzdCAtZiAiJG1lcmdlX2RpciIvaW50ZXJhY3RpdmUKLQl0aGVuCi0JCXR5cGU9aW50ZXJhY3RpdmUKLQkJaW50ZXJhY3RpdmVfcmViYXNlPWV4cGxpY2l0Ci0JZWxzZQotCQl0eXBlPW1lcmdlCi0JZmkKLQlzdGF0ZV9kaXI9IiRtZXJnZV9kaXIiCi1maQotdGVzdCAtbiAiJHR5cGUiICYmIGluX3Byb2dyZXNzPXQKLQotdG90YWxfYXJnYz0kIwotd2hpbGUgdGVzdCAkIyAhPSAwCi1kbwotCWNhc2UgIiQxIiBpbgotCS0tbm8tdmVyaWZ5KQotCQlva190b19za2lwX3ByZV9yZWJhc2U9eWVzCi0JCTs7Ci0JLS12ZXJpZnkpCi0JCW9rX3RvX3NraXBfcHJlX3JlYmFzZT0KLQkJOzsKLQktLWNvbnRpbnVlfC0tc2tpcHwtLWFib3J0fC0tcXVpdHwtLWVkaXQtdG9kb3wtLXNob3ctY3VycmVudC1wYXRjaCkKLQkJdGVzdCAkdG90YWxfYXJnYyAtZXEgMiB8fCB1c2FnZQotCQlhY3Rpb249JHsxIyMtLX0KLQkJOzsKLQktLW9udG89KikKLQkJb250bz0iJHsxIy0tb250bz19IgotCQk7OwotCS0tZXhlYz0qKQotCQljbWQ9IiR7Y21kfWV4ZWMgJHsxIy0tZXhlYz19JHtMRn0iCi0JCXRlc3QgLXogIiRpbnRlcmFjdGl2ZV9yZWJhc2UiICYmIGludGVyYWN0aXZlX3JlYmFzZT1pbXBsaWVkCi0JCTs7Ci0JLS1pbnRlcmFjdGl2ZSkKLQkJaW50ZXJhY3RpdmVfcmViYXNlPWV4cGxpY2l0Ci0JCTs7Ci0JLS1rZWVwLWVtcHR5KQotCQlrZWVwX2VtcHR5PXllcwotCQk7OwotCS0tYWxsb3ctZW1wdHktbWVzc2FnZSkKLQkJYWxsb3dfZW1wdHlfbWVzc2FnZT0tLWFsbG93LWVtcHR5LW1lc3NhZ2UKLQkJOzsKLQktLW5vLWtlZXAtZW1wdHkpCi0JCWtlZXBfZW1wdHk9Ci0JCTs7Ci0JLS1yZWJhc2UtbWVyZ2VzKQotCQlyZWJhc2VfbWVyZ2VzPXQKLQkJdGVzdCAteiAiJGludGVyYWN0aXZlX3JlYmFzZSIgJiYgaW50ZXJhY3RpdmVfcmViYXNlPWltcGxpZWQKLQkJOzsKLQktLXJlYmFzZS1tZXJnZXM9KikKLQkJcmViYXNlX21lcmdlcz10Ci0JCWNhc2UgIiR7MSMqPX0iIGluCi0JCXJlYmFzZS1jb3VzaW5zKSByZWJhc2VfY291c2lucz10OzsKLQkJbm8tcmViYXNlLWNvdXNpbnMpIHJlYmFzZV9jb3VzaW5zPTs7Ci0JCSopIGRpZSAiVW5rbm93biBtb2RlOiAkMSI7OwotCQllc2FjCi0JCXRlc3QgLXogIiRpbnRlcmFjdGl2ZV9yZWJhc2UiICYmIGludGVyYWN0aXZlX3JlYmFzZT1pbXBsaWVkCi0JCTs7Ci0JLS1wcmVzZXJ2ZS1tZXJnZXMpCi0JCXByZXNlcnZlX21lcmdlcz10Ci0JCXRlc3QgLXogIiRpbnRlcmFjdGl2ZV9yZWJhc2UiICYmIGludGVyYWN0aXZlX3JlYmFzZT1pbXBsaWVkCi0JCTs7Ci0JLS1hdXRvc3F1YXNoKQotCQlhdXRvc3F1YXNoPXQKLQkJOzsKLQktLW5vLWF1dG9zcXVhc2gpCi0JCWF1dG9zcXVhc2g9Ci0JCTs7Ci0JLS1mb3JrLXBvaW50KQotCQlmb3JrX3BvaW50PXQKLQkJOzsKLQktLW5vLWZvcmstcG9pbnQpCi0JCWZvcmtfcG9pbnQ9Ci0JCTs7Ci0JLS1tZXJnZSkKLQkJZG9fbWVyZ2U9dAotCQk7OwotCS0tc3RyYXRlZ3ktb3B0aW9uPSopCi0JCXN0cmF0ZWd5X29wdHM9IiRzdHJhdGVneV9vcHRzICQoZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlICItLSR7MSMtLXN0cmF0ZWd5LW9wdGlvbj19IiB8IHNlZCAtZSBzL14uLy8pIgotCQlkb19tZXJnZT10Ci0JCXRlc3QgLXogIiRzdHJhdGVneSIgJiYgc3RyYXRlZ3k9cmVjdXJzaXZlCi0JCTs7Ci0JLS1zdHJhdGVneT0qKQotCQlzdHJhdGVneT0iJHsxIy0tc3RyYXRlZ3k9fSIKLQkJZG9fbWVyZ2U9dAotCQk7OwotCS0tbm8tc3RhdCkKLQkJZGlmZnN0YXQ9Ci0JCTs7Ci0JLS1zdGF0KQotCQlkaWZmc3RhdD10Ci0JCTs7Ci0JLS1hdXRvc3Rhc2gpCi0JCWF1dG9zdGFzaD10cnVlCi0JCTs7Ci0JLS1uby1hdXRvc3Rhc2gpCi0JCWF1dG9zdGFzaD1mYWxzZQotCQk7OwotCS0tdmVyYm9zZSkKLQkJdmVyYm9zZT10Ci0JCWRpZmZzdGF0PXQKLQkJR0lUX1FVSUVUPQotCQk7OwotCS0tcXVpZXQpCi0JCUdJVF9RVUlFVD10Ci0JCWdpdF9hbV9vcHQ9IiRnaXRfYW1fb3B0IC1xIgotCQl2ZXJib3NlPQotCQlkaWZmc3RhdD0KLQkJOzsKLQktLXdoaXRlc3BhY2U9KikKLQkJZ2l0X2FtX29wdD0iJGdpdF9hbV9vcHQgLS13aGl0ZXNwYWNlPSR7MSMtLXdoaXRlc3BhY2U9fSIKLQkJY2FzZSAiJHsxIy0td2hpdGVzcGFjZT19IiBpbgotCQlmaXh8c3RyaXApCi0JCQlmb3JjZV9yZWJhc2U9dAotCQkJOzsKLQkJd2Fybnxub3dhcm58ZXJyb3J8ZXJyb3ItYWxsKQotCQkJOzsgIyBva2F5LCBrbm93biB3aGl0ZXNwYWNlIG9wdGlvbgotCQkqKQotCQkJZGllICJmYXRhbDogSW52YWxpZCB3aGl0ZXNwYWNlIG9wdGlvbjogJyR7MSMqPX0nIgotCQkJOzsKLQkJZXNhYwotCQk7OwotCS0taWdub3JlLXdoaXRlc3BhY2UpCi0JCWdpdF9hbV9vcHQ9IiRnaXRfYW1fb3B0ICQxIgotCQk7OwotCS0tc2lnbm9mZikKLQkJc2lnbm9mZj0tLXNpZ25vZmYKLQkJOzsKLQktLW5vLXNpZ25vZmYpCi0JCXNpZ25vZmY9Ci0JCTs7Ci0JLS1jb21taXR0ZXItZGF0ZS1pcy1hdXRob3ItZGF0ZXwtLWlnbm9yZS1kYXRlKQotCQlnaXRfYW1fb3B0PSIkZ2l0X2FtX29wdCAkMSIKLQkJZm9yY2VfcmViYXNlPXQKLQkJOzsKLQktQypbITAtOV0qKQotCQlkaWUgImZhdGFsOiBzd2l0Y2ggXGBDJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgotCQk7OwotCS1DKikKLQkJZ2l0X2FtX29wdD0iJGdpdF9hbV9vcHQgJDEiCi0JCTs7Ci0JLS1yb290KQotCQlyZWJhc2Vfcm9vdD10Ci0JCTs7Ci0JLS1mb3JjZS1yZWJhc2V8LS1uby1mZikKLQkJZm9yY2VfcmViYXNlPXQKLQkJOzsKLQktLXJlcmVyZS1hdXRvdXBkYXRlfC0tbm8tcmVyZXJlLWF1dG91cGRhdGUpCi0JCWFsbG93X3JlcmVyZV9hdXRvdXBkYXRlPSIkMSIKLQkJOzsKLQktLWdwZy1zaWduKQotCQlncGdfc2lnbl9vcHQ9LVMKLQkJOzsKLQktLWdwZy1zaWduPSopCi0JCWdwZ19zaWduX29wdD0iLVMkezEjLS1ncGctc2lnbj19IgotCQk7OwotCS0tKQotCQlzaGlmdAotCQlicmVhawotCQk7OwotCSopCi0JCXVzYWdlCi0JCTs7Ci0JZXNhYwotCXNoaWZ0Ci1kb25lCi10ZXN0ICQjIC1ndCAyICYmIHVzYWdlCi0KLWlmIHRlc3QgLW4gIiRhY3Rpb24iCi10aGVuCi0JdGVzdCAteiAiJGluX3Byb2dyZXNzIiAmJiBkaWUgIiQoZ2V0dGV4dCAiTm8gcmViYXNlIGluIHByb2dyZXNzPyIpIgotCSMgT25seSBpbnRlcmFjdGl2ZSByZWJhc2UgdXNlcyBkZXRhaWxlZCByZWZsb2cgbWVzc2FnZXMKLQlpZiB0ZXN0IC1uICIkaW50ZXJhY3RpdmVfcmViYXNlIiAmJiB0ZXN0ICIkR0lUX1JFRkxPR19BQ1RJT04iID0gcmViYXNlCi0JdGhlbgotCQlHSVRfUkVGTE9HX0FDVElPTj0icmViYXNlIC1pICgkYWN0aW9uKSIKLQkJZXhwb3J0IEdJVF9SRUZMT0dfQUNUSU9OCi0JZmkKLWZpCi0KLWlmIHRlc3QgIiRhY3Rpb24iID0gImVkaXQtdG9kbyIgJiYgdGVzdCAteiAiJGludGVyYWN0aXZlX3JlYmFzZSIKLXRoZW4KLQlkaWUgIiQoZ2V0dGV4dCAiVGhlIC0tZWRpdC10b2RvIGFjdGlvbiBjYW4gb25seSBiZSB1c2VkIGR1cmluZyBpbnRlcmFjdGl2ZSByZWJhc2UuIikiCi1maQotCi1jYXNlICIkYWN0aW9uIiBpbgotY29udGludWUpCi0JIyBTYW5pdHkgY2hlY2sKLQlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQgPi9kZXYvbnVsbCB8fAotCQlkaWUgIiQoZ2V0dGV4dCAiQ2Fubm90IHJlYWQgSEVBRCIpIgotCWdpdCB1cGRhdGUtaW5kZXggLS1pZ25vcmUtc3VibW9kdWxlcyAtLXJlZnJlc2ggJiYKLQlnaXQgZGlmZi1maWxlcyAtLXF1aWV0IC0taWdub3JlLXN1Ym1vZHVsZXMgfHwgewotCQllY2hvICIkKGdldHRleHQgIllvdSBtdXN0IGVkaXQgYWxsIG1lcmdlIGNvbmZsaWN0cyBhbmQgdGhlbgotbWFyayB0aGVtIGFzIHJlc29sdmVkIHVzaW5nIGdpdCBhZGQiKSIKLQkJZXhpdCAxCi0JfQotCXJlYWRfYmFzaWNfc3RhdGUKLQlydW5fc3BlY2lmaWNfcmViYXNlCi0JOzsKLXNraXApCi0Jb3V0cHV0IGdpdCByZXNldCAtLWhhcmQgSEVBRCB8fCBleGl0ICQ/Ci0JcmVhZF9iYXNpY19zdGF0ZQotCXJ1bl9zcGVjaWZpY19yZWJhc2UKLQk7OwotYWJvcnQpCi0JZ2l0IHJlcmVyZSBjbGVhcgotCXJlYWRfYmFzaWNfc3RhdGUKLQljYXNlICIkaGVhZF9uYW1lIiBpbgotCXJlZnMvKikKLQkJZ2l0IHN5bWJvbGljLXJlZiAtbSAicmViYXNlOiBhYm9ydGluZyIgSEVBRCAkaGVhZF9uYW1lIHx8Ci0JCWRpZSAiJChldmFsX2dldHRleHQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gXCRoZWFkX25hbWUiKSIKLQkJOzsKLQllc2FjCi0Jb3V0cHV0IGdpdCByZXNldCAtLWhhcmQgJG9yaWdfaGVhZAotCWZpbmlzaF9yZWJhc2UKLQlleGl0Ci0JOzsKLXF1aXQpCi0JZXhlYyBybSAtcmYgIiRzdGF0ZV9kaXIiCi0JOzsKLWVkaXQtdG9kbykKLQlydW5fc3BlY2lmaWNfcmViYXNlCi0JOzsKLXNob3ctY3VycmVudC1wYXRjaCkKLQlydW5fc3BlY2lmaWNfcmViYXNlCi0JZGllICJCVUc6IHJ1bl9zcGVjaWZpY19yZWJhc2UgaXMgbm90IHN1cHBvc2VkIHRvIHJldHVybiBoZXJlIgotCTs7Ci1lc2FjCi0KLSMgTWFrZSBzdXJlIG5vIHJlYmFzZSBpcyBpbiBwcm9ncmVzcwotaWYgdGVzdCAtbiAiJGluX3Byb2dyZXNzIgotdGhlbgotCXN0YXRlX2Rpcl9iYXNlPSR7c3RhdGVfZGlyIyMqL30KLQljbWRfbGl2ZV9yZWJhc2U9ImdpdCByZWJhc2UgKC0tY29udGludWUgfCAtLWFib3J0IHwgLS1za2lwKSIKLQljbWRfY2xlYXJfc3RhbGVfcmViYXNlPSJybSAtZnIgXCIkc3RhdGVfZGlyXCIiCi0JZGllICIKLSQoZXZhbF9nZXR0ZXh0ICdJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmQKLUkgd29uZGVyIGlmIHlvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbm90aGVyIHJlYmFzZS4gIElmIHRoYXQgaXMgdGhlCi1jYXNlLCBwbGVhc2UgdHJ5Ci0JJGNtZF9saXZlX3JlYmFzZQotSWYgdGhhdCBpcyBub3QgdGhlIGNhc2UsIHBsZWFzZQotCSRjbWRfY2xlYXJfc3RhbGVfcmViYXNlCi1hbmQgcnVuIG1lIGFnYWluLiAgSSBhbSBzdG9wcGluZyBpbiBjYXNlIHlvdSBzdGlsbCBoYXZlIHNvbWV0aGluZwotdmFsdWFibGUgdGhlcmUuJykiCi1maQotCi1pZiB0ZXN0IC1uICIkcmViYXNlX3Jvb3QiICYmIHRlc3QgLXogIiRvbnRvIgotdGhlbgotCXRlc3QgLXogIiRpbnRlcmFjdGl2ZV9yZWJhc2UiICYmIGludGVyYWN0aXZlX3JlYmFzZT1pbXBsaWVkCi1maQotCi1pZiB0ZXN0IC1uICIka2VlcF9lbXB0eSIKLXRoZW4KLQl0ZXN0IC16ICIkaW50ZXJhY3RpdmVfcmViYXNlIiAmJiBpbnRlcmFjdGl2ZV9yZWJhc2U9aW1wbGllZAotZmkKLQotaWYgdGVzdCAtbiAiJGludGVyYWN0aXZlX3JlYmFzZSIKLXRoZW4KLQlpZiB0ZXN0IC16ICIkcHJlc2VydmVfbWVyZ2VzIgotCXRoZW4KLQkJdHlwZT1pbnRlcmFjdGl2ZQotCWVsc2UKLQkJdHlwZT1wcmVzZXJ2ZS1tZXJnZXMKLQlmaQotCi0Jc3RhdGVfZGlyPSIkbWVyZ2VfZGlyIgotZWxpZiB0ZXN0IC1uICIkZG9fbWVyZ2UiCi10aGVuCi0JdHlwZT1tZXJnZQotCXN0YXRlX2Rpcj0iJG1lcmdlX2RpciIKLWVsc2UKLQl0eXBlPWFtCi0Jc3RhdGVfZGlyPSIkYXBwbHlfZGlyIgotZmkKLQotaWYgdGVzdCAtdCAyICYmIHRlc3QgLXogIiRHSVRfUVVJRVQiCi10aGVuCi0JZ2l0X2Zvcm1hdF9wYXRjaF9vcHQ9IiRnaXRfZm9ybWF0X3BhdGNoX29wdCAtLXByb2dyZXNzIgotZmkKLQotaWYgdGVzdCAtbiAiJGdpdF9hbV9vcHQiOyB0aGVuCi0JaW5jb21wYXRpYmxlX29wdHM9JChlY2hvICIgJGdpdF9hbV9vcHQgIiB8IFwKLQkJCSAgICBzZWQgLWUgJ3MvIC1xIC8gL2cnIC1lICdzL14gXCguKlwpICQvXDEvJykKLQlpZiB0ZXN0IC1uICIkaW50ZXJhY3RpdmVfcmViYXNlIgotCXRoZW4KLQkJaWYgdGVzdCAtbiAiJGluY29tcGF0aWJsZV9vcHRzIgotCQl0aGVuCi0JCQlkaWUgIiQoZ2V0dGV4dCAiZXJyb3I6IGNhbm5vdCBjb21iaW5lIGludGVyYWN0aXZlIG9wdGlvbnMgKC0taW50ZXJhY3RpdmUsIC0tZXhlYywgLS1yZWJhc2UtbWVyZ2VzLCAtLXByZXNlcnZlLW1lcmdlcywgLS1rZWVwLWVtcHR5LCAtLXJvb3QgKyAtLW9udG8pIHdpdGggYW0gb3B0aW9ucyAoJGluY29tcGF0aWJsZV9vcHRzKSIpIgotCQlmaQotCWZpCi0JaWYgdGVzdCAtbiAiJGRvX21lcmdlIjsgdGhlbgotCQlpZiB0ZXN0IC1uICIkaW5jb21wYXRpYmxlX29wdHMiCi0JCXRoZW4KLQkJCWRpZSAiJChnZXR0ZXh0ICJlcnJvcjogY2Fubm90IGNvbWJpbmUgbWVyZ2Ugb3B0aW9ucyAoLS1tZXJnZSwgLS1zdHJhdGVneSwgLS1zdHJhdGVneS1vcHRpb24pIHdpdGggYW0gb3B0aW9ucyAoJGluY29tcGF0aWJsZV9vcHRzKSIpIgotCQlmaQotCWZpCi1maQotCi1pZiB0ZXN0IC1uICIkc2lnbm9mZiIKLXRoZW4KLQl0ZXN0IC1uICIkcHJlc2VydmVfbWVyZ2VzIiAmJgotCQlkaWUgIiQoZ2V0dGV4dCAiZXJyb3I6IGNhbm5vdCBjb21iaW5lICctLXNpZ25vZmYnIHdpdGggJy0tcHJlc2VydmUtbWVyZ2VzJyIpIgotCWdpdF9hbV9vcHQ9IiRnaXRfYW1fb3B0ICRzaWdub2ZmIgotCWZvcmNlX3JlYmFzZT10Ci1maQotCi1pZiB0ZXN0IC1uICIkcHJlc2VydmVfbWVyZ2VzIgotdGhlbgotCSMgTm90ZTogaW5jb21wYXRpYmlsaXR5IHdpdGggLS1zaWdub2ZmIGhhbmRsZWQgaW4gc2lnbm9mZiBibG9jayBhYm92ZQotCSMgTm90ZTogaW5jb21wYXRpYmlsaXR5IHdpdGggLS1pbnRlcmFjdGl2ZSBpcyBqdXN0IGEgc3Ryb25nIHdhcm5pbmc7Ci0JIyAgICAgICBnaXQtcmViYXNlLnR4dCBjYXZlYXRzIHdpdGggInVubGVzcyB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmciCi0JdGVzdCAtbiAiJHJlYmFzZV9tZXJnZXMiICYmCi0JCWRpZSAiJChnZXR0ZXh0ICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcHJlc2VydmUtbWVyZ2VzJyB3aXRoICctLXJlYmFzZS1tZXJnZXMnIikiCi1maQotCi1pZiB0ZXN0IC1uICIkcmViYXNlX21lcmdlcyIKLXRoZW4KLQl0ZXN0IC1uICIkc3RyYXRlZ3lfb3B0cyIgJiYKLQkJZGllICIkKGdldHRleHQgImVycm9yOiBjYW5ub3QgY29tYmluZSAnLS1yZWJhc2UtbWVyZ2VzJyB3aXRoICctLXN0cmF0ZWd5LW9wdGlvbiciKSIKLQl0ZXN0IC1uICIkc3RyYXRlZ3kiICYmCi0JCWRpZSAiJChnZXR0ZXh0ICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneSciKSIKLWZpCi0KLWlmIHRlc3QgLXogIiRyZWJhc2Vfcm9vdCIKLXRoZW4KLQljYXNlICIkIyIgaW4KLQkwKQotCQlpZiAhIHVwc3RyZWFtX25hbWU9JChnaXQgcmV2LXBhcnNlIC0tc3ltYm9saWMtZnVsbC1uYW1lIFwKLQkJCS0tdmVyaWZ5IC1xIEB7dXBzdHJlYW19IDI+L2Rldi9udWxsKQotCQl0aGVuCi0JCQkuIGdpdC1wYXJzZS1yZW1vdGUKLQkJCWVycm9yX29uX21pc3NpbmdfZGVmYXVsdF91cHN0cmVhbSAicmViYXNlIiAicmViYXNlIiBcCi0JCQkJImFnYWluc3QiICJnaXQgcmViYXNlICQoZ2V0dGV4dCAnPGJyYW5jaD4nKSIKLQkJZmkKLQotCQl0ZXN0ICIkZm9ya19wb2ludCIgPSBhdXRvICYmIGZvcmtfcG9pbnQ9dAotCQk7OwotCSopCXVwc3RyZWFtX25hbWU9IiQxIgotCQlpZiB0ZXN0ICIkdXBzdHJlYW1fbmFtZSIgPSAiLSIKLQkJdGhlbgotCQkJdXBzdHJlYW1fbmFtZT0iQHstMX0iCi0JCWZpCi0JCXNoaWZ0Ci0JCTs7Ci0JZXNhYwotCXVwc3RyZWFtPSQocGVlbF9jb21taXR0aXNoICIke3Vwc3RyZWFtX25hbWV9IikgfHwKLQlkaWUgIiQoZXZhbF9nZXR0ZXh0ICJpbnZhbGlkIHVwc3RyZWFtICdcJHVwc3RyZWFtX25hbWUnIikiCi0JdXBzdHJlYW1fYXJnPSIkdXBzdHJlYW1fbmFtZSIKLWVsc2UKLQlpZiB0ZXN0IC16ICIkb250byIKLQl0aGVuCi0JCWVtcHR5X3RyZWU9JChnaXQgaGFzaC1vYmplY3QgLXQgdHJlZSAvZGV2L251bGwpCi0JCW9udG89JChnaXQgY29tbWl0LXRyZWUgJGVtcHR5X3RyZWUgPC9kZXYvbnVsbCkKLQkJc3F1YXNoX29udG89IiRvbnRvIgotCWZpCi0JdW5zZXQgdXBzdHJlYW1fbmFtZQotCXVuc2V0IHVwc3RyZWFtCi0JdGVzdCAkIyAtZ3QgMSAmJiB1c2FnZQotCXVwc3RyZWFtX2FyZz0tLXJvb3QKLWZpCi0KLSMgTWFrZSBzdXJlIHRoZSBicmFuY2ggdG8gcmViYXNlIG9udG8gaXMgdmFsaWQuCi1vbnRvX25hbWU9JHtvbnRvLSIkdXBzdHJlYW1fbmFtZSJ9Ci1jYXNlICIkb250b19uYW1lIiBpbgotKi4uLiopCi0JaWYJbGVmdD0ke29udG9fbmFtZSUuLi4qfSByaWdodD0ke29udG9fbmFtZSMqLi4ufSAmJgotCQlvbnRvPSQoZ2l0IG1lcmdlLWJhc2UgLS1hbGwgJHtsZWZ0Oi1IRUFEfSAke3JpZ2h0Oi1IRUFEfSkKLQl0aGVuCi0JCWNhc2UgIiRvbnRvIiBpbgotCQk/KiIkTEYiPyopCi0JCQlkaWUgIiQoZXZhbF9nZXR0ZXh0ICJcJG9udG9fbmFtZTogdGhlcmUgYXJlIG1vcmUgdGhhbiBvbmUgbWVyZ2UgYmFzZXMiKSIKLQkJCTs7Ci0JCScnKQotCQkJZGllICIkKGV2YWxfZ2V0dGV4dCAiXCRvbnRvX25hbWU6IHRoZXJlIGlzIG5vIG1lcmdlIGJhc2UiKSIKLQkJCTs7Ci0JCWVzYWMKLQllbHNlCi0JCWRpZSAiJChldmFsX2dldHRleHQgIlwkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIikiCi0JZmkKLQk7OwotKikKLQlvbnRvPSQocGVlbF9jb21taXR0aXNoICIkb250b19uYW1lIikgfHwKLQlkaWUgIiQoZXZhbF9nZXR0ZXh0ICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogXCRvbnRvX25hbWUiKSIKLQk7OwotZXNhYwotCi0jIElmIHRoZSBicmFuY2ggdG8gcmViYXNlIGlzIGdpdmVuLCB0aGF0IGlzIHRoZSBicmFuY2ggd2Ugd2lsbCByZWJhc2UKLSMgJGJyYW5jaF9uYW1lIC0tIGJyYW5jaC9jb21taXQgYmVpbmcgcmViYXNlZCwgb3IgSEVBRCAoYWxyZWFkeSBkZXRhY2hlZCkKLSMgJG9yaWdfaGVhZCAtLSBjb21taXQgb2JqZWN0IG5hbWUgb2YgdGlwIG9mIHRoZSBicmFuY2ggYmVmb3JlIHJlYmFzaW5nCi0jICRoZWFkX25hbWUgLS0gcmVmcy9oZWFkcy88dGhhdC1icmFuY2g+IG9yICJkZXRhY2hlZCBIRUFEIgotc3dpdGNoX3RvPQotY2FzZSAiJCMiIGluCi0xKQotCSMgSXMgaXQgInJlYmFzZSBvdGhlciAkYnJhbmNobmFtZSIgb3IgInJlYmFzZSBvdGhlciAkY29tbWl0Ij8KLQlicmFuY2hfbmFtZT0iJDEiCi0Jc3dpdGNoX3RvPSIkMSIKLQotCSMgSXMgaXQgYSBsb2NhbCBicmFuY2g/Ci0JaWYgZ2l0IHNob3ctcmVmIC0tdmVyaWZ5IC0tcXVpZXQgLS0gInJlZnMvaGVhZHMvJGJyYW5jaF9uYW1lIiAmJgotCSAgIG9yaWdfaGVhZD0kKGdpdCByZXYtcGFyc2UgLXEgLS12ZXJpZnkgInJlZnMvaGVhZHMvJGJyYW5jaF9uYW1lIikKLQl0aGVuCi0JCWhlYWRfbmFtZT0icmVmcy9oZWFkcy8kYnJhbmNoX25hbWUiCi0JIyBJZiBub3QgaXMgaXQgYSB2YWxpZCByZWYgKGJyYW5jaCBvciBjb21taXQpPwotCWVsaWYgb3JpZ19oZWFkPSQoZ2l0IHJldi1wYXJzZSAtcSAtLXZlcmlmeSAiJGJyYW5jaF9uYW1lIikKLQl0aGVuCi0JCWhlYWRfbmFtZT0iZGV0YWNoZWQgSEVBRCIKLQotCWVsc2UKLQkJZGllICIkKGV2YWxfZ2V0dGV4dCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoL2NvbW1pdCAnXCRicmFuY2hfbmFtZSciKSIKLQlmaQotCTs7Ci0wKQotCSMgRG8gbm90IG5lZWQgdG8gc3dpdGNoIGJyYW5jaGVzLCB3ZSBhcmUgYWxyZWFkeSBvbiBpdC4KLQlpZiBicmFuY2hfbmFtZT0kKGdpdCBzeW1ib2xpYy1yZWYgLXEgSEVBRCkKLQl0aGVuCi0JCWhlYWRfbmFtZT0kYnJhbmNoX25hbWUKLQkJYnJhbmNoX25hbWU9JChleHByICJ6JGJyYW5jaF9uYW1lIiA6ICd6cmVmcy9oZWFkcy9cKC4qXCknKQotCWVsc2UKLQkJaGVhZF9uYW1lPSJkZXRhY2hlZCBIRUFEIgotCQlicmFuY2hfbmFtZT1IRUFECi0JZmkKLQlvcmlnX2hlYWQ9JChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQpIHx8IGV4aXQKLQk7OwotKikKLQlkaWUgIkJVRzogdW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIGxlZnQgdG8gcGFyc2UiCi0JOzsKLWVzYWMKLQotaWYgdGVzdCAiJGZvcmtfcG9pbnQiID0gdAotdGhlbgotCW5ld191cHN0cmVhbT0kKGdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCAiJHVwc3RyZWFtX25hbWUiIFwKLQkJCSIke3N3aXRjaF90bzotSEVBRH0iKQotCWlmIHRlc3QgLW4gIiRuZXdfdXBzdHJlYW0iCi0JdGhlbgotCQlyZXN0cmljdF9yZXZpc2lvbj0kbmV3X3Vwc3RyZWFtCi0JZmkKLWZpCi0KLWlmIHRlc3QgIiRhdXRvc3Rhc2giID0gdHJ1ZSAmJiAhIChyZXF1aXJlX2NsZWFuX3dvcmtfdHJlZSkgMj4vZGV2L251bGwKLXRoZW4KLQlzdGFzaF9zaGExPSQoZ2l0IHN0YXNoIGNyZWF0ZSAiYXV0b3N0YXNoIikgfHwKLQlkaWUgIiQoZ2V0dGV4dCAnQ2Fubm90IGF1dG9zdGFzaCcpIgotCi0JbWtkaXIgLXAgIiRzdGF0ZV9kaXIiICYmCi0JZWNobyAkc3Rhc2hfc2hhMSA+IiRzdGF0ZV9kaXIvYXV0b3N0YXNoIiAmJgotCXN0YXNoX2FiYnJldj0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCAkc3Rhc2hfc2hhMSkgJiYKLQllY2hvICIkKGV2YWxfZ2V0dGV4dCAnQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYnKSIgJiYKLQlnaXQgcmVzZXQgLS1oYXJkCi1maQotCi1yZXF1aXJlX2NsZWFuX3dvcmtfdHJlZSAicmViYXNlIiAiJChnZXR0ZXh0ICJQbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIikiCi0KLSMgTm93IHdlIGFyZSByZWJhc2luZyBjb21taXRzICR1cHN0cmVhbS4uJG9yaWdfaGVhZCAob3Igd2l0aCAtLXJvb3QsCi0jIGV2ZXJ5dGhpbmcgbGVhZGluZyB1cCB0byAkb3JpZ19oZWFkKSBvbiB0b3Agb2YgJG9udG8KLQotIyBDaGVjayBpZiB3ZSBhcmUgYWxyZWFkeSBiYXNlZCBvbiAkb250byB3aXRoIGxpbmVhciBoaXN0b3J5LAotIyBidXQgdGhpcyBzaG91bGQgYmUgZG9uZSBvbmx5IHdoZW4gdXBzdHJlYW0gYW5kIG9udG8gYXJlIHRoZSBzYW1lCi0jIGFuZCBpZiB0aGlzIGlzIG5vdCBhbiBpbnRlcmFjdGl2ZSByZWJhc2UuCi1tYj0kKGdpdCBtZXJnZS1iYXNlICIkb250byIgIiRvcmlnX2hlYWQiKQotaWYgdGVzdCAteiAiJGludGVyYWN0aXZlX3JlYmFzZSIgJiYgdGVzdCAiJHVwc3RyZWFtIiA9ICIkb250byIgJiYKLQl0ZXN0ICIkbWIiID0gIiRvbnRvIiAmJiB0ZXN0IC16ICIkcmVzdHJpY3RfcmV2aXNpb24iICYmCi0JIyBsaW5lYXIgaGlzdG9yeT8KLQkhIChnaXQgcmV2LWxpc3QgLS1wYXJlbnRzICIkb250byIuLiIkb3JpZ19oZWFkIiB8IHNhbmVfZ3JlcCAiIC4qICIpID4gL2Rldi9udWxsCi10aGVuCi0JaWYgdGVzdCAteiAiJGZvcmNlX3JlYmFzZSIKLQl0aGVuCi0JCSMgTGF6aWx5IHN3aXRjaCB0byB0aGUgdGFyZ2V0IGJyYW5jaCBpZiBuZWVkZWQuLi4KLQkJdGVzdCAteiAiJHN3aXRjaF90byIgfHwKLQkJR0lUX1JFRkxPR19BQ1RJT049IiRHSVRfUkVGTE9HX0FDVElPTjogY2hlY2tvdXQgJHN3aXRjaF90byIgXAotCQkJZ2l0IGNoZWNrb3V0IC1xICIkc3dpdGNoX3RvIiAtLQotCQlpZiB0ZXN0ICIkYnJhbmNoX25hbWUiID0gIkhFQUQiICYmCi0JCQkgISBnaXQgc3ltYm9saWMtcmVmIC1xIEhFQUQKLQkJdGhlbgotCQkJc2F5ICIkKGV2YWxfZ2V0dGV4dCAiSEVBRCBpcyB1cCB0byBkYXRlLiIpIgotCQllbHNlCi0JCQlzYXkgIiQoZXZhbF9nZXR0ZXh0ICJDdXJyZW50IGJyYW5jaCBcJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUuIikiCi0JCWZpCi0JCWZpbmlzaF9yZWJhc2UKLQkJZXhpdCAwCi0JZWxzZQotCQlpZiB0ZXN0ICIkYnJhbmNoX25hbWUiID0gIkhFQUQiICYmCi0JCQkgISBnaXQgc3ltYm9saWMtcmVmIC1xIEhFQUQKLQkJdGhlbgotCQkJc2F5ICIkKGV2YWxfZ2V0dGV4dCAiSEVBRCBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIpIgotCQllbHNlCi0JCQlzYXkgIiQoZXZhbF9nZXR0ZXh0ICJDdXJyZW50IGJyYW5jaCBcJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIikiCi0JCWZpCi0JZmkKLWZpCi0KLSMgSWYgYSBob29rIGV4aXN0cywgZ2l2ZSBpdCBhIGNoYW5jZSB0byBpbnRlcnJ1cHQKLXJ1bl9wcmVfcmViYXNlX2hvb2sgIiR1cHN0cmVhbV9hcmciICIkQCIKLQotaWYgdGVzdCAtbiAiJGRpZmZzdGF0IgotdGhlbgotCWlmIHRlc3QgLW4gIiR2ZXJib3NlIgotCXRoZW4KLQkJaWYgdGVzdCAteiAiJG1iIgotCQl0aGVuCi0JCQllY2hvICIkKGV2YWxfZ2V0dGV4dCAiQ2hhbmdlcyB0byBcJG9udG86IikiCi0JCWVsc2UKLQkJCWVjaG8gIiQoZXZhbF9nZXR0ZXh0ICJDaGFuZ2VzIGZyb20gXCRtYiB0byBcJG9udG86IikiCi0JCWZpCi0JZmkKLQltYl90cmVlPSIke21iOi0kKGdpdCBoYXNoLW9iamVjdCAtdCB0cmVlIC9kZXYvbnVsbCl9IgotCSMgV2Ugd2FudCBjb2xvciAoaWYgc2V0KSwgYnV0IG5vIHBhZ2VyCi0JR0lUX1BBR0VSPScnIGdpdCBkaWZmIC0tc3RhdCAtLXN1bW1hcnkgIiRtYl90cmVlIiAiJG9udG8iCi1maQotCi10ZXN0IC1uICIkaW50ZXJhY3RpdmVfcmViYXNlIiAmJiBydW5fc3BlY2lmaWNfcmViYXNlCi0KLSMgRGV0YWNoIEhFQUQgYW5kIHJlc2V0IHRoZSB0cmVlCi1zYXkgIiQoZ2V0dGV4dCAiRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uIikiCi0KLUdJVF9SRUZMT0dfQUNUSU9OPSIkR0lUX1JFRkxPR19BQ1RJT046IGNoZWNrb3V0ICRvbnRvX25hbWUiIFwKLQlnaXQgY2hlY2tvdXQgLXEgIiRvbnRvXjAiIHx8IGRpZSAiY291bGQgbm90IGRldGFjaCBIRUFEIgotZ2l0IHVwZGF0ZS1yZWYgT1JJR19IRUFEICRvcmlnX2hlYWQKLQotIyBJZiB0aGUgJG9udG8gaXMgYSBwcm9wZXIgZGVzY2VuZGFudCBvZiB0aGUgdGlwIG9mIHRoZSBicmFuY2gsIHRoZW4KLSMgd2UganVzdCBmYXN0LWZvcndhcmRlZC4KLWlmIHRlc3QgIiRtYiIgPSAiJG9yaWdfaGVhZCIKLXRoZW4KLQlzYXkgIiQoZXZhbF9nZXR0ZXh0ICJGYXN0LWZvcndhcmRlZCBcJGJyYW5jaF9uYW1lIHRvIFwkb250b19uYW1lLiIpIgotCW1vdmVfdG9fb3JpZ2luYWxfYnJhbmNoCi0JZmluaXNoX3JlYmFzZQotCWV4aXQgMAotZmkKLQotaWYgdGVzdCAtbiAiJHJlYmFzZV9yb290IgotdGhlbgotCXJldmlzaW9ucz0iJG9udG8uLiRvcmlnX2hlYWQiCi1lbHNlCi0JcmV2aXNpb25zPSIke3Jlc3RyaWN0X3JldmlzaW9uLSR1cHN0cmVhbX0uLiRvcmlnX2hlYWQiCi1maQotCi1ydW5fc3BlY2lmaWNfcmViYXNlCmRpZmYgLS1naXQgYS9naXQtc3Rhc2guc2ggYi9naXQtbGVnYWN5LXN0YXNoLnNoCnNpbWlsYXJpdHkgaW5kZXggOTMlCnJlbmFtZSBmcm9tIGdpdC1zdGFzaC5zaApyZW5hbWUgdG8gZ2l0LWxlZ2FjeS1zdGFzaC5zaAppbmRleCA5NDc5M2MxLi40ZDRlYmI0IDEwMDc1NQotLS0gYS9naXQtc3Rhc2guc2gKKysrIGIvZ2l0LWxlZ2FjeS1zdGFzaC5zaApAQCAtNTUsNiArNTUsMjAgQEAKIAlnaXQgbHMtZmlsZXMgLW8gJHogJGV4Y2xfb3B0IC0tICIkQCIKIH0KIAorcHJlcGFyZV9mYWxsYmFja19pZGVudCAoKSB7CisJaWYgISBnaXQgLWMgdXNlci51c2Vjb25maWdvbmx5PXllcyB2YXIgR0lUX0NPTU1JVFRFUl9JREVOVCA+L2Rldi9udWxsIDI+JjEKKwl0aGVuCisJCUdJVF9BVVRIT1JfTkFNRT0iZ2l0IHN0YXNoIgorCQlHSVRfQVVUSE9SX0VNQUlMPWdpdEBzdGFzaAorCQlHSVRfQ09NTUlUVEVSX05BTUU9ImdpdCBzdGFzaCIKKwkJR0lUX0NPTU1JVFRFUl9FTUFJTD1naXRAc3Rhc2gKKwkJZXhwb3J0IEdJVF9BVVRIT1JfTkFNRQorCQlleHBvcnQgR0lUX0FVVEhPUl9FTUFJTAorCQlleHBvcnQgR0lUX0NPTU1JVFRFUl9OQU1FCisJCWV4cG9ydCBHSVRfQ09NTUlUVEVSX0VNQUlMCisJZmkKK30KKwogY2xlYXJfc3Rhc2ggKCkgewogCWlmIHRlc3QgJCMgIT0gMAogCXRoZW4KQEAgLTY2LDcgKzgwLDMyIEBACiAJZmkKIH0KIAorbWF5YmVfcXVpZXQgKCkgeworCWNhc2UgIiQxIiBpbgorCS0ta2VlcC1zdGRvdXQpCisJCXNoaWZ0CisJCWlmIHRlc3QgLW4gIiRHSVRfUVVJRVQiCisJCXRoZW4KKwkJCSIkQCIgMj4vZGV2L251bGwKKwkJZWxzZQorCQkJIiRAIgorCQlmaQorCQk7OworCSopCisJCWlmIHRlc3QgLW4gIiRHSVRfUVVJRVQiCisJCXRoZW4KKwkJCSIkQCIgPi9kZXYvbnVsbCAyPiYxCisJCWVsc2UKKwkJCSIkQCIKKwkJZmkKKwkJOzsKKwllc2FjCit9CisKIGNyZWF0ZV9zdGFzaCAoKSB7CisKKwlwcmVwYXJlX2ZhbGxiYWNrX2lkZW50CisKIAlzdGFzaF9tc2c9CiAJdW50cmFja2VkPQogCXdoaWxlIHRlc3QgJCMgIT0gMApAQCAtOTUsMTUgKzEzNCwxOCBAQAogCWRvbmUKIAogCWdpdCB1cGRhdGUtaW5kZXggLXEgLS1yZWZyZXNoCi0JaWYgbm9fY2hhbmdlcyAiJEAiCisJaWYgbWF5YmVfcXVpZXQgbm9fY2hhbmdlcyAiJEAiCiAJdGhlbgogCQlleGl0IDAKIAlmaQogCiAJIyBzdGF0ZSBvZiB0aGUgYmFzZSBjb21taXQKLQlpZiBiX2NvbW1pdD0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCkKKwlpZiBiX2NvbW1pdD0kKG1heWJlX3F1aWV0IC0ta2VlcC1zdGRvdXQgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKQogCXRoZW4KIAkJaGVhZD0kKGdpdCByZXYtbGlzdCAtLW9uZWxpbmUgLW4gMSBIRUFEIC0tKQorCWVsaWYgdGVzdCAtbiAiJEdJVF9RVUlFVCIKKwl0aGVuCisJCWV4aXQgMQogCWVsc2UKIAkJZGllICIkKGdldHRleHQgIllvdSBkbyBub3QgaGF2ZSB0aGUgaW5pdGlhbCBjb21taXQgeWV0IikiCiAJZmkKQEAgLTE1MSw3ICsxOTMsOCBAQAogCQkJR0lUX0lOREVYX0ZJTEU9IiRUTVBpbmRleCIgJiYKIAkJCWV4cG9ydCBHSVRfSU5ERVhfRklMRSAmJgogCQkJZ2l0IGRpZmYtaW5kZXggLS1uYW1lLW9ubHkgLXogSEVBRCAtLSAiJEAiID4iJFRNUC1zdGFnZW5hbWVzIiAmJgotCQkJZ2l0IHVwZGF0ZS1pbmRleCAteiAtLWFkZCAtLXJlbW92ZSAtLXN0ZGluIDwiJFRNUC1zdGFnZW5hbWVzIiAmJgorCQkJZ2l0IHVwZGF0ZS1pbmRleCAtLWlnbm9yZS1za2lwLXdvcmt0cmVlLWVudHJpZXMgXAorCQkJCS16IC0tYWRkIC0tcmVtb3ZlIC0tc3RkaW4gPCIkVE1QLXN0YWdlbmFtZXMiICYmCiAJCQlnaXQgd3JpdGUtdHJlZSAmJgogCQkJcm0gLWYgIiRUTVBpbmRleCIKIAkJKSApIHx8CkBAIC0xNjQsNyArMjA3LDcgQEAKIAogCQkjIGZpbmQgb3V0IHdoYXQgdGhlIHVzZXIgd2FudHMKIAkJR0lUX0lOREVYX0ZJTEU9IiRUTVAtaW5kZXgiIFwKLQkJCWdpdCBhZGQtLWludGVyYWN0aXZlIC0tcGF0Y2g9c3Rhc2ggLS0gIiRAIiAmJgorCQkJZ2l0IGFkZCAtLWxlZ2FjeS1zdGFzaC1wIC0tICIkQCIgJiYKIAogCQkjIHN0YXRlIG9mIHRoZSB3b3JraW5nIHRyZWUKIAkJd190cmVlPSQoR0lUX0lOREVYX0ZJTEU9IiRUTVAtaW5kZXgiIGdpdCB3cml0ZS10cmVlKSB8fApAQCAtMjk4LDcgKzM0MSw3IEBACiAJdGVzdCAtbiAiJHVudHJhY2tlZCIgfHwgZ2l0IGxzLWZpbGVzIC0tZXJyb3ItdW5tYXRjaCAtLSAiJEAiID4vZGV2L251bGwgfHwgZXhpdCAxCiAKIAlnaXQgdXBkYXRlLWluZGV4IC1xIC0tcmVmcmVzaAotCWlmIG5vX2NoYW5nZXMgIiRAIgorCWlmIG1heWJlX3F1aWV0IG5vX2NoYW5nZXMgIiRAIgogCXRoZW4KIAkJc2F5ICIkKGdldHRleHQgIk5vIGxvY2FsIGNoYW5nZXMgdG8gc2F2ZSIpIgogCQlleGl0IDAKQEAgLTMyOCw3ICszNzEsNyBAQAogCQkJZ2l0IGRpZmYtaW5kZXggLXAgLS1jYWNoZWQgLS1iaW5hcnkgSEVBRCAtLSAiJEAiIHwKIAkJCWdpdCBhcHBseSAtLWluZGV4IC1SCiAJCWVsc2UKLQkJCWdpdCByZXNldCAtLWhhcmQgLXEKKwkJCWdpdCByZXNldCAtLWhhcmQgLXEgLS1uby1yZWN1cnNlLXN1Ym1vZHVsZXMKIAkJZmkKIAogCQlpZiB0ZXN0ICIka2VlcF9pbmRleCIgPSAidCIgJiYgdGVzdCAtbiAiJGlfdHJlZSIKQEAgLTM1Myw2ICszOTYsOSBAQAogCXdoaWxlIHRlc3QgJCMgIT0gMAogCWRvCiAJCWNhc2UgIiQxIiBpbgorCQktcXwtLXF1aWV0KQorCQkJR0lUX1FVSUVUPXQKKwkJCTs7CiAJCS0tKQogCQkJc2hpZnQKIAkJCWJyZWFrCmRpZmYgLS1naXQgYS9naXQtbWVyZ2V0b29sLS1saWIuc2ggYi9naXQtbWVyZ2V0b29sLS1saWIuc2gKaW5kZXggODNiZjUyNC4uMjA0YTVhYyAxMDA2NDQKLS0tIGEvZ2l0LW1lcmdldG9vbC0tbGliLnNoCisrKyBiL2dpdC1tZXJnZXRvb2wtLWxpYi5zaApAQCAtODAsMTQgKzgwLDE4IEBACiAJfQogfQogCi1kaWZmX21vZGUoKSB7CitkaWZmX21vZGUgKCkgewogCXRlc3QgIiRUT09MX01PREUiID0gZGlmZgogfQogCi1tZXJnZV9tb2RlKCkgeworbWVyZ2VfbW9kZSAoKSB7CiAJdGVzdCAiJFRPT0xfTU9ERSIgPSBtZXJnZQogfQogCitndWlfbW9kZSAoKSB7CisJdGVzdCAiJEdJVF9NRVJHRVRPT0xfR1VJIiA9IHRydWUKK30KKwogdHJhbnNsYXRlX21lcmdlX3Rvb2xfcGF0aCAoKSB7CiAJZWNobyAiJDEiCiB9CkBAIC0yNzksNiArMjgzLDcgQEAKIAkJZmkKIAkJdG9vbHM9IiR0b29scyBndmltZGlmZiBkaWZmdXNlIGRpZmZtZXJnZSBlY21lcmdlIgogCQl0b29scz0iJHRvb2xzIHA0bWVyZ2UgYXJheGlzIGJjIGNvZGVjb21wYXJlIgorCQl0b29scz0iJHRvb2xzIHNtZXJnZSIKIAlmaQogCWNhc2UgIiR7VklTVUFMOi0kRURJVE9SfSIgaW4KIAkqdmltKikKQEAgLTM1MCwyMCArMzU1LDM2IEBACiB9CiAKIGdldF9jb25maWd1cmVkX21lcmdlX3Rvb2wgKCkgewotCSMgSWYgZmlyc3QgYXJndW1lbnQgaXMgdHJ1ZSwgZmluZCB0aGUgZ3VpdG9vbCBpbnN0ZWFkCi0JaWYgdGVzdCAiJDEiID0gdHJ1ZQotCXRoZW4KLQkJZ3VpX3ByZWZpeD1ndWkKLQlmaQotCi0JIyBEaWZmIG1vZGUgZmlyc3QgdHJpZXMgZGlmZi4oZ3VpKXRvb2wgYW5kIGZhbGxzIGJhY2sgdG8gbWVyZ2UuKGd1aSl0b29sLgotCSMgTWVyZ2UgbW9kZSBvbmx5IGNoZWNrcyBtZXJnZS4oZ3VpKXRvb2wKKwlrZXlzPQogCWlmIGRpZmZfbW9kZQogCXRoZW4KLQkJbWVyZ2VfdG9vbD0kKGdpdCBjb25maWcgZGlmZi4ke2d1aV9wcmVmaXh9dG9vbCB8fCBnaXQgY29uZmlnIG1lcmdlLiR7Z3VpX3ByZWZpeH10b29sKQorCQlpZiBndWlfbW9kZQorCQl0aGVuCisJCQlrZXlzPSJkaWZmLmd1aXRvb2wgbWVyZ2UuZ3VpdG9vbCBkaWZmLnRvb2wgbWVyZ2UudG9vbCIKKwkJZWxzZQorCQkJa2V5cz0iZGlmZi50b29sIG1lcmdlLnRvb2wiCisJCWZpCiAJZWxzZQotCQltZXJnZV90b29sPSQoZ2l0IGNvbmZpZyBtZXJnZS4ke2d1aV9wcmVmaXh9dG9vbCkKKwkJaWYgZ3VpX21vZGUKKwkJdGhlbgorCQkJa2V5cz0ibWVyZ2UuZ3VpdG9vbCBtZXJnZS50b29sIgorCQllbHNlCisJCQlrZXlzPSJtZXJnZS50b29sIgorCQlmaQogCWZpCisKKwltZXJnZV90b29sPSQoCisJCUlGUz0nICcKKwkJZm9yIGtleSBpbiAka2V5cworCQlkbworCQkJc2VsZWN0ZWQ9JChnaXQgY29uZmlnICRrZXkpCisJCQlpZiB0ZXN0IC1uICIkc2VsZWN0ZWQiCisJCQl0aGVuCisJCQkJZWNobyAiJHNlbGVjdGVkIgorCQkJCXJldHVybgorCQkJZmkKKwkJZG9uZSkKKwogCWlmIHRlc3QgLW4gIiRtZXJnZV90b29sIiAmJiAhIHZhbGlkX3Rvb2wgIiRtZXJnZV90b29sIgogCXRoZW4KIAkJZWNobyA+JjIgImdpdCBjb25maWcgb3B0aW9uICRUT09MX01PREUuJHtndWlfcHJlZml4fXRvb2wgc2V0IHRvIHVua25vd24gdG9vbDogJG1lcmdlX3Rvb2wiCkBAIC00MDMsMTQgKzQyNCwxNyBAQAogfQogCiBnZXRfbWVyZ2VfdG9vbCAoKSB7CisJaXNfZ3Vlc3NlZD1mYWxzZQogCSMgQ2hlY2sgaWYgYSBtZXJnZSB0b29sIGhhcyBiZWVuIGNvbmZpZ3VyZWQKIAltZXJnZV90b29sPSQoZ2V0X2NvbmZpZ3VyZWRfbWVyZ2VfdG9vbCkKIAkjIFRyeSB0byBndWVzcyBhbiBhcHByb3ByaWF0ZSBtZXJnZSB0b29sIGlmIG5vIHRvb2wgaGFzIGJlZW4gc2V0LgogCWlmIHRlc3QgLXogIiRtZXJnZV90b29sIgogCXRoZW4KIAkJbWVyZ2VfdG9vbD0kKGd1ZXNzX21lcmdlX3Rvb2wpIHx8IGV4aXQKKwkJaXNfZ3Vlc3NlZD10cnVlCiAJZmkKIAllY2hvICIkbWVyZ2VfdG9vbCIKKwl0ZXN0ICIkaXNfZ3Vlc3NlZCIgPSBmYWxzZQogfQogCiBtZXJnZXRvb2xfZmluZF93aW4zMl9jbWQgKCkgewpkaWZmIC0tZ2l0IGEvZ2l0LW1lcmdldG9vbC5zaCBiL2dpdC1tZXJnZXRvb2wuc2gKaW5kZXggMDFiOWFkNS4uZTNmNmQ1NCAxMDA3NTUKLS0tIGEvZ2l0LW1lcmdldG9vbC5zaAorKysgYi9naXQtbWVyZ2V0b29sLnNoCkBAIC0yMjgsOSArMjI4LDggQEAKIH0KIAogY2hlY2tvdXRfc3RhZ2VkX2ZpbGUgKCkgewotCXRtcGZpbGU9JChleHByIFwKLQkJIiQoZ2l0IGNoZWNrb3V0LWluZGV4IC0tdGVtcCAtLXN0YWdlPSIkMSIgIiQyIiAyPi9kZXYvbnVsbCkiIFwKLQkJOiAnXChbXgldKlwpCScpCisJdG1wZmlsZT0iJChnaXQgY2hlY2tvdXQtaW5kZXggLS10ZW1wIC0tc3RhZ2U9IiQxIiAiJDIiIDI+L2Rldi9udWxsKSIgJiYKKwl0bXBmaWxlPSR7dG1wZmlsZSUlJwknKn0KIAogCWlmIHRlc3QgJD8gLWVxIDAgJiYgdGVzdCAtbiAiJHRtcGZpbGUiCiAJdGhlbgpAQCAtMjU1LDEzICsyNTQsMTYgQEAKIAkJcmV0dXJuIDEKIAlmaQogCi0JaWYgQkFTRT0kKGV4cHIgIiRNRVJHRUQiIDogJ1woLipcKVwuW14vXSokJykKLQl0aGVuCi0JCWV4dD0kKGV4cHIgIiRNRVJHRUQiIDogJy4qXChcLlteL10qXCkkJykKLQllbHNlCisJIyBleHRyYWN0IGZpbGUgZXh0ZW5zaW9uIGZyb20gdGhlIGxhc3QgcGF0aCBjb21wb25lbnQKKwljYXNlICIke01FUkdFRCMjKi99IiBpbgorCSouKikKKwkJZXh0PS4ke01FUkdFRCMjKi59CisJCUJBU0U9JHtNRVJHRUQlIiRleHQifQorCQk7OworCSopCiAJCUJBU0U9JE1FUkdFRAogCQlleHQ9Ci0JZmkKKwllc2FjCiAKIAltZXJnZXRvb2xfdG1wZGlyX2luaXQKIApAQCAtMjc3LDE1ICsyNzksMzAgQEAKIAlSRU1PVEU9IiRNRVJHRVRPT0xfVE1QRElSLyR7QkFTRX1fUkVNT1RFXyQkJGV4dCIKIAlCQVNFPSIkTUVSR0VUT09MX1RNUERJUi8ke0JBU0V9X0JBU0VfJCQkZXh0IgogCi0JYmFzZV9tb2RlPSQoZ2l0IGxzLWZpbGVzIC11IC0tICIkTUVSR0VEIiB8IGF3ayAne2lmICgkMz09MSkgcHJpbnQgJDE7fScpCi0JbG9jYWxfbW9kZT0kKGdpdCBscy1maWxlcyAtdSAtLSAiJE1FUkdFRCIgfCBhd2sgJ3tpZiAoJDM9PTIpIHByaW50ICQxO30nKQotCXJlbW90ZV9tb2RlPSQoZ2l0IGxzLWZpbGVzIC11IC0tICIkTUVSR0VEIiB8IGF3ayAne2lmICgkMz09MykgcHJpbnQgJDE7fScpCisJYmFzZV9tb2RlPSBsb2NhbF9tb2RlPSByZW1vdGVfbW9kZT0KKworCSMgaGVyZSwgJElGUyBpcyBqdXN0IGEgTEYKKwlmb3IgbGluZSBpbiAkZgorCWRvCisJCW1vZGU9JHtsaW5lJSUgKn0JCSMgMXN0IHdvcmQKKwkJc2hhMT0ke2xpbmUjIiRtb2RlICJ9CisJCXNoYTE9JHtzaGExJSUgKn0JCSMgMm5kIHdvcmQKKwkJY2FzZSAiJHtsaW5lIyRtb2RlICRzaGExIH0iIGluCSMgcmVtYWluZGVyCisJCScxCScqKQorCQkJYmFzZV9tb2RlPSRtb2RlCisJCQk7OworCQknMgknKikKKwkJCWxvY2FsX21vZGU9JG1vZGUgbG9jYWxfc2hhMT0kc2hhMQorCQkJOzsKKwkJJzMJJyopCisJCQlyZW1vdGVfbW9kZT0kbW9kZSByZW1vdGVfc2hhMT0kc2hhMQorCQkJOzsKKwkJZXNhYworCWRvbmUKIAogCWlmIGlzX3N1Ym1vZHVsZSAiJGxvY2FsX21vZGUiIHx8IGlzX3N1Ym1vZHVsZSAiJHJlbW90ZV9tb2RlIgogCXRoZW4KIAkJZWNobyAiU3VibW9kdWxlIG1lcmdlIGNvbmZsaWN0IGZvciAnJE1FUkdFRCc6IgotCQlsb2NhbF9zaGExPSQoZ2l0IGxzLWZpbGVzIC11IC0tICIkTUVSR0VEIiB8IGF3ayAne2lmICgkMz09MikgcHJpbnQgJDI7fScpCi0JCXJlbW90ZV9zaGExPSQoZ2l0IGxzLWZpbGVzIC11IC0tICIkTUVSR0VEIiB8IGF3ayAne2lmICgkMz09MykgcHJpbnQgJDI7fScpCiAJCWRlc2NyaWJlX2ZpbGUgIiRsb2NhbF9tb2RlIiAibG9jYWwiICIkbG9jYWxfc2hhMSIKIAkJZGVzY3JpYmVfZmlsZSAiJHJlbW90ZV9tb2RlIiAicmVtb3RlIiAiJHJlbW90ZV9zaGExIgogCQlyZXNvbHZlX3N1Ym1vZHVsZV9tZXJnZQpAQCAtMzg5LDcgKzQwNiw3IEBACiAKIG1haW4gKCkgewogCXByb21wdD0kKGdpdCBjb25maWcgLS1ib29sIG1lcmdldG9vbC5wcm9tcHQpCi0JZ3VpX3Rvb2w9ZmFsc2UKKwlHSVRfTUVSR0VUT09MX0dVST1mYWxzZQogCWd1ZXNzZWRfbWVyZ2VfdG9vbD1mYWxzZQogCW9yZGVyZmlsZT0KIApAQCAtNDA2LDcgKzQyMyw3IEBACiAJCS10fC0tdG9vbCopCiAJCQljYXNlICIkIywkMSIgaW4KIAkJCSosKj0qKQotCQkJCW1lcmdlX3Rvb2w9JChleHByICJ6JDEiIDogJ3otW149XSo9XCguKlwpJykKKwkJCQltZXJnZV90b29sPSR7MSMqPX0KIAkJCQk7OwogCQkJMSwqKQogCQkJCXVzYWdlIDs7CkBAIC00MTYsMTAgKzQzMywxMCBAQAogCQkJZXNhYwogCQkJOzsKIAkJLS1uby1ndWkpCi0JCQlndWlfdG9vbD1mYWxzZQorCQkJR0lUX01FUkdFVE9PTF9HVUk9ZmFsc2UKIAkJCTs7CiAJCS1nfC0tZ3VpKQotCQkJZ3VpX3Rvb2w9dHJ1ZQorCQkJR0lUX01FUkdFVE9PTF9HVUk9dHJ1ZQogCQkJOzsKIAkJLXl8LS1uby1wcm9tcHQpCiAJCQlwcm9tcHQ9ZmFsc2UKQEAgLTQ0OSwxMiArNDY2LDggQEAKIAogCWlmIHRlc3QgLXogIiRtZXJnZV90b29sIgogCXRoZW4KLQkJIyBDaGVjayBpZiBhIG1lcmdlIHRvb2wgaGFzIGJlZW4gY29uZmlndXJlZAotCQltZXJnZV90b29sPSQoZ2V0X2NvbmZpZ3VyZWRfbWVyZ2VfdG9vbCAkZ3VpX3Rvb2wpCi0JCSMgVHJ5IHRvIGd1ZXNzIGFuIGFwcHJvcHJpYXRlIG1lcmdlIHRvb2wgaWYgbm8gdG9vbCBoYXMgYmVlbiBzZXQuCi0JCWlmIHRlc3QgLXogIiRtZXJnZV90b29sIgorCQlpZiAhIG1lcmdlX3Rvb2w9JChnZXRfbWVyZ2VfdG9vbCkKIAkJdGhlbgotCQkJbWVyZ2VfdG9vbD0kKGd1ZXNzX21lcmdlX3Rvb2wpIHx8IGV4aXQKIAkJCWd1ZXNzZWRfbWVyZ2VfdG9vbD10cnVlCiAJCWZpCiAJZmkKZGlmZiAtLWdpdCBhL2dpdC1wNC5weSBiL2dpdC1wNC5weQppbmRleCAxOTk4YzNlLi45YTcxYTY2IDEwMDc1NQotLS0gYS9naXQtcDQucHkKKysrIGIvZ2l0LXA0LnB5CkBAIC03LDYgKzcsMTQgQEAKICMgICAgICAgICAgICAyMDA3IFRyb2xsdGVjaCBBU0EKICMgTGljZW5zZTogTUlUIDxodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocD4KICMKKyMgcHlsaW50OiBkaXNhYmxlPWludmFsaWQtbmFtZSxtaXNzaW5nLWRvY3N0cmluZyx0b28tbWFueS1hcmd1bWVudHMsYnJvYWQtZXhjZXB0CisjIHB5bGludDogZGlzYWJsZT1uby1zZWxmLXVzZSx3cm9uZy1pbXBvcnQtcG9zaXRpb24sY29uc2lkZXItaXRlcmF0aW5nLWRpY3Rpb25hcnkKKyMgcHlsaW50OiBkaXNhYmxlPXdyb25nLWltcG9ydC1vcmRlcix1bnVzZWQtaW1wb3J0LHRvby1mZXctcHVibGljLW1ldGhvZHMKKyMgcHlsaW50OiBkaXNhYmxlPXRvby1tYW55LWxpbmVzLHVuZ3JvdXBlZC1pbXBvcnRzLGZpeG1lLHRvby1tYW55LWxvY2FscworIyBweWxpbnQ6IGRpc2FibGU9bGluZS10b28tbG9uZyxiYWQtd2hpdGVzcGFjZSxzdXBlcmZsdW91cy1wYXJlbnMKKyMgcHlsaW50OiBkaXNhYmxlPXRvby1tYW55LXN0YXRlbWVudHMsdG9vLW1hbnktaW5zdGFuY2UtYXR0cmlidXRlcworIyBweWxpbnQ6IGRpc2FibGU9dG9vLW1hbnktYnJhbmNoZXMsdG9vLW1hbnktbmVzdGVkLWJsb2NrcworIwogaW1wb3J0IHN5cwogaWYgc3lzLmhleHZlcnNpb24gPCAweDAyMDQwMDAwOgogICAgICMgVGhlIGxpbWl0ZXIgaXMgdGhlIHN1YnByb2Nlc3MgbW9kdWxlCkBAIC0xNjEsMTIgKzE2OSwzMCBAQAogICAgICAgICByZXR1cm4gc3QuZl9iYXZhaWwgKiBzdC5mX2Zyc2l6ZQogCiBkZWYgZGllKG1zZyk6CisgICAgIiIiIFRlcm1pbmF0ZSBleGVjdXRpb24uIE1ha2Ugc3VyZSB0aGF0IGFueSBydW5uaW5nIGNoaWxkIHByb2Nlc3NlcyBoYXZlIGJlZW4gd2FpdCgpZWQgZm9yIGJlZm9yZQorICAgICAgICBjYWxsaW5nIHRoaXMuCisgICAgIiIiCiAgICAgaWYgdmVyYm9zZToKICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKG1zZykKICAgICBlbHNlOgogICAgICAgICBzeXMuc3RkZXJyLndyaXRlKG1zZyArICJcbiIpCiAgICAgICAgIHN5cy5leGl0KDEpCiAKK2RlZiBwcm9tcHQocHJvbXB0X3RleHQpOgorICAgICIiIiBQcm9tcHQgdGhlIHVzZXIgdG8gY2hvb3NlIG9uZSBvZiB0aGUgY2hvaWNlcworCisgICAgQ2hvaWNlcyBhcmUgaWRlbnRpZmllZCBpbiB0aGUgcHJvbXB0X3RleHQgYnkgc3F1YXJlIGJyYWNrZXRzIGFyb3VuZAorICAgIGEgc2luZ2xlIGxldHRlciBvcHRpb24uCisgICAgIiIiCisgICAgY2hvaWNlcyA9IHNldChtLmdyb3VwKDEpIGZvciBtIGluIHJlLmZpbmRpdGVyKHIiXFsoLilcXSIsIHByb21wdF90ZXh0KSkKKyAgICB3aGlsZSBUcnVlOgorICAgICAgICByZXNwb25zZSA9IHJhd19pbnB1dChwcm9tcHRfdGV4dCkuc3RyaXAoKS5sb3dlcigpCisgICAgICAgIGlmIG5vdCByZXNwb25zZToKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIHJlc3BvbnNlID0gcmVzcG9uc2VbMF0KKyAgICAgICAgaWYgcmVzcG9uc2UgaW4gY2hvaWNlczoKKyAgICAgICAgICAgIHJldHVybiByZXNwb25zZQorCiBkZWYgd3JpdGVfcGlwZShjLCBzdGRpbik6CiAgICAgaWYgdmVyYm9zZToKICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnV3JpdGluZyBwaXBlOiAlc1xuJyAlIHN0cihjKSkKQEAgLTMzMiw2ICszNTgsOCBAQAogICAgICAgICAgICAgZGllX2JhZF9hY2Nlc3MoInA0IGVycm9yOiB7MH0iLmZvcm1hdChkYXRhKSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGRpZV9iYWRfYWNjZXNzKCJ1bmtub3duIGVycm9yIikKKyAgICBlbGlmIGNvZGUgPT0gImluZm8iOgorICAgICAgICByZXR1cm4KICAgICBlbHNlOgogICAgICAgICBkaWVfYmFkX2FjY2VzcygidW5rbm93biBlcnJvciBjb2RlIHswfSIuZm9ybWF0KGNvZGUpKQogCkBAIC02MDEsNiArNjI5LDE0IEBACiAgICAgICAgIHN1cGVyKFA0UmVxdWVzdFNpemVFeGNlcHRpb24sIHNlbGYpLl9faW5pdF9fKGV4aXRfY29kZSwgcDRfcmVzdWx0KQogICAgICAgICBzZWxmLmxpbWl0ID0gbGltaXQKIAorY2xhc3MgUDRDb21tYW5kRXhjZXB0aW9uKFA0RXhjZXB0aW9uKToKKyAgICAiIiIgU29tZXRoaW5nIHdlbnQgd3JvbmcgY2FsbGluZyBwNCB3aGljaCBtZWFucyB3ZSBoYXZlIHRvIGdpdmUgdXAgIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1zZyk6CisgICAgICAgIHNlbGYubXNnID0gbXNnCisKKyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYubXNnCisKIGRlZiBpc01vZGVFeGVjQ2hhbmdlZChzcmNfbW9kZSwgZHN0X21vZGUpOgogICAgIHJldHVybiBpc01vZGVFeGVjKHNyY19tb2RlKSAhPSBpc01vZGVFeGVjKGRzdF9tb2RlKQogCkBAIC03MzUsNyArNzcxLDcgQEAKIAogICAgICMjIGZpeG1lOiB0aXRsZSBpcyBmaXJzdCBsaW5lIG9mIGNvbW1pdCwgbm90IDFzdCBwYXJhZ3JhcGguCiAgICAgZm91bmRUaXRsZSA9IEZhbHNlCi0gICAgZm9yIGxvZyBpbiByZWFkX3BpcGVfbGluZXMoImdpdCBjYXQtZmlsZSBjb21taXQgJXMiICUgY29tbWl0KToKKyAgICBmb3IgbG9nIGluIHJlYWRfcGlwZV9saW5lcyhbImdpdCIsICJjYXQtZmlsZSIsICJjb21taXQiLCBjb21taXRdKToKICAgICAgICBpZiBub3QgZm91bmRUaXRsZToKICAgICAgICAgICAgaWYgbGVuKGxvZykgPT0gMToKICAgICAgICAgICAgICAgIGZvdW5kVGl0bGUgPSBUcnVlCkBAIC0xMTU4LDEzICsxMTk0LDExIEBACiAgICAgICAgICAgICBpZiBjb250ZW50c1NpemUgPD0gZ2l0Q29uZmlnSW50KCdnaXQtcDQubGFyZ2VGaWxlQ29tcHJlc3NlZFRocmVzaG9sZCcpOgogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICAgICAgY29udGVudFRlbXBGaWxlID0gc2VsZi5nZW5lcmF0ZVRlbXBGaWxlKGNvbnRlbnRzKQotICAgICAgICAgICAgY29tcHJlc3NlZENvbnRlbnRGaWxlID0gdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKHByZWZpeD0nZ2l0LXA0LWxhcmdlLWZpbGUnLCBkZWxldGU9RmFsc2UpCi0gICAgICAgICAgICB6ZiA9IHppcGZpbGUuWmlwRmlsZShjb21wcmVzc2VkQ29udGVudEZpbGUubmFtZSwgbW9kZT0ndycpCi0gICAgICAgICAgICB6Zi53cml0ZShjb250ZW50VGVtcEZpbGUsIGNvbXByZXNzX3R5cGU9emlwZmlsZS5aSVBfREVGTEFURUQpCi0gICAgICAgICAgICB6Zi5jbG9zZSgpCi0gICAgICAgICAgICBjb21wcmVzc2VkQ29udGVudHNTaXplID0gemYuaW5mb2xpc3QoKVswXS5jb21wcmVzc19zaXplCisgICAgICAgICAgICBjb21wcmVzc2VkQ29udGVudEZpbGUgPSB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUocHJlZml4PSdnaXQtcDQtbGFyZ2UtZmlsZScsIGRlbGV0ZT1UcnVlKQorICAgICAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoY29tcHJlc3NlZENvbnRlbnRGaWxlLCBtb2RlPSd3JykgYXMgemY6CisgICAgICAgICAgICAgICAgemYud3JpdGUoY29udGVudFRlbXBGaWxlLCBjb21wcmVzc190eXBlPXppcGZpbGUuWklQX0RFRkxBVEVEKQorICAgICAgICAgICAgICAgIGNvbXByZXNzZWRDb250ZW50c1NpemUgPSB6Zi5pbmZvbGlzdCgpWzBdLmNvbXByZXNzX3NpemUKICAgICAgICAgICAgIG9zLnJlbW92ZShjb250ZW50VGVtcEZpbGUpCi0gICAgICAgICAgICBvcy5yZW1vdmUoY29tcHJlc3NlZENvbnRlbnRGaWxlLm5hbWUpCiAgICAgICAgICAgICBpZiBjb21wcmVzc2VkQ29udGVudHNTaXplID4gZ2l0Q29uZmlnSW50KCdnaXQtcDQubGFyZ2VGaWxlQ29tcHJlc3NlZFRocmVzaG9sZCcpOgogICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgIHJldHVybiBGYWxzZQpAQCAtMTI1Nyw5ICsxMjkxLDE1IEBACiAgICAgICAgICAgICBwb2ludGVyRmlsZSA9IHJlLnN1YihyJ0dpdCBMRlMgcG9pbnRlciBmb3IuKlxuXG4nLCAnJywgcG9pbnRlckZpbGUpCiAKICAgICAgICAgb2lkID0gcmUuc2VhcmNoKHInXm9pZCBcdys6KFx3KyknLCBwb2ludGVyRmlsZSwgcmUuTVVMVElMSU5FKS5ncm91cCgxKQorICAgICAgICAjIGlmIHNvbWVvbmUgdXNlIGV4dGVybmFsIGxmcy5zdG9yYWdlICggbm90IGluIGxvY2FsIHJlcG8gZ2l0ICkKKyAgICAgICAgbGZzX3BhdGggPSBnaXRDb25maWcoJ2xmcy5zdG9yYWdlJykKKyAgICAgICAgaWYgbm90IGxmc19wYXRoOgorICAgICAgICAgICAgbGZzX3BhdGggPSAnbGZzJworICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2FicyhsZnNfcGF0aCk6CisgICAgICAgICAgICBsZnNfcGF0aCA9IG9zLnBhdGguam9pbihvcy5nZXRjd2QoKSwgJy5naXQnLCBsZnNfcGF0aCkKICAgICAgICAgbG9jYWxMYXJnZUZpbGUgPSBvcy5wYXRoLmpvaW4oCi0gICAgICAgICAgICBvcy5nZXRjd2QoKSwKLSAgICAgICAgICAgICcuZ2l0JywgJ2xmcycsICdvYmplY3RzJywgb2lkWzoyXSwgb2lkWzI6NF0sCisgICAgICAgICAgICBsZnNfcGF0aCwKKyAgICAgICAgICAgICdvYmplY3RzJywgb2lkWzoyXSwgb2lkWzI6NF0sCiAgICAgICAgICAgICBvaWQsCiAgICAgICAgICkKICAgICAgICAgIyBMRlMgU3BlYyBzdGF0ZXMgdGhhdCBwb2ludGVyIGZpbGVzIHNob3VsZCBub3QgaGF2ZSB0aGUgZXhlY3V0YWJsZSBiaXQgc2V0LgpAQCAtMTMwNywxNCArMTM0NywxNCBAQAogCiBjbGFzcyBDb21tYW5kOgogICAgIGRlbGV0ZV9hY3Rpb25zID0gKCAiZGVsZXRlIiwgIm1vdmUvZGVsZXRlIiwgInB1cmdlIiApCi0gICAgYWRkX2FjdGlvbnMgPSAoICJhZGQiLCAibW92ZS9hZGQiICkKKyAgICBhZGRfYWN0aW9ucyA9ICggImFkZCIsICJicmFuY2giLCAibW92ZS9hZGQiICkKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICAgc2VsZi51c2FnZSA9ICJ1c2FnZTogJXByb2cgW29wdGlvbnNdIgogICAgICAgICBzZWxmLm5lZWRzR2l0ID0gVHJ1ZQogICAgICAgICBzZWxmLnZlcmJvc2UgPSBGYWxzZQogCi0gICAgIyBUaGlzIGlzIHJlcXVpcmVkIGZvciB0aGUgImFwcGVuZCIgY2xvbmVFeGNsdWRlIGFjdGlvbgorICAgICMgVGhpcyBpcyByZXF1aXJlZCBmb3IgdGhlICJhcHBlbmQiIHVwZGF0ZV9zaGVsdmUgYWN0aW9uCiAgICAgZGVmIGVuc3VyZV92YWx1ZShzZWxmLCBhdHRyLCB2YWx1ZSk6CiAgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNlbGYsIGF0dHIpIG9yIGdldGF0dHIoc2VsZiwgYXR0cikgaXMgTm9uZToKICAgICAgICAgICAgIHNldGF0dHIoc2VsZiwgYXR0ciwgdmFsdWUpCkBAIC0xNzc4LDEyICsxODE4LDExIEBACiAgICAgICAgIGlmIG9zLnN0YXQodGVtcGxhdGVfZmlsZSkuc3RfbXRpbWUgPiBtdGltZToKICAgICAgICAgICAgIHJldHVybiBUcnVlCiAKLSAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgIHJlc3BvbnNlID0gcmF3X2lucHV0KCJTdWJtaXQgdGVtcGxhdGUgdW5jaGFuZ2VkLiBTdWJtaXQgYW55d2F5PyBbeV1lcywgW25dbyAoc2tpcCB0aGlzIHBhdGNoKSAiKQotICAgICAgICAgICAgaWYgcmVzcG9uc2UgPT0gJ3knOgotICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgICAgICBpZiByZXNwb25zZSA9PSAnbic6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJlc3BvbnNlID0gcHJvbXB0KCJTdWJtaXQgdGVtcGxhdGUgdW5jaGFuZ2VkLiBTdWJtaXQgYW55d2F5PyBbeV1lcywgW25dbyAoc2tpcCB0aGlzIHBhdGNoKSAiKQorICAgICAgICBpZiByZXNwb25zZSA9PSAneSc6CisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICBpZiByZXNwb25zZSA9PSAnbic6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgIGRlZiBnZXRfZGlmZl9kZXNjcmlwdGlvbihzZWxmLCBlZGl0ZWRGaWxlcywgZmlsZXNUb0FkZCwgc3ltbGlua3MpOgogICAgICAgICAjIGRpZmYKQEAgLTE4NTksNiArMTg5OCw3IEBACiAgICAgICAgICAgICAgICAgICAgIGZpbGVzVG9BZGQucmVtb3ZlKHBhdGgpCiAgICAgICAgICAgICBlbGlmIG1vZGlmaWVyID09ICJDIjoKICAgICAgICAgICAgICAgICBzcmMsIGRlc3QgPSBkaWZmWydzcmMnXSwgZGlmZlsnZHN0J10KKyAgICAgICAgICAgICAgICBhbGxfZmlsZXMuYXBwZW5kKGRlc3QpCiAgICAgICAgICAgICAgICAgcDRfaW50ZWdyYXRlKHNyYywgZGVzdCkKICAgICAgICAgICAgICAgICBwdXJlUmVuYW1lQ29weS5hZGQoZGVzdCkKICAgICAgICAgICAgICAgICBpZiBkaWZmWydzcmNfc2hhMSddICE9IGRpZmZbJ2RzdF9zaGExJ106CkBAIC0xODc1LDYgKzE5MTUsNyBAQAogICAgICAgICAgICAgICAgIGVkaXRlZEZpbGVzLmFkZChkZXN0KQogICAgICAgICAgICAgZWxpZiBtb2RpZmllciA9PSAiUiI6CiAgICAgICAgICAgICAgICAgc3JjLCBkZXN0ID0gZGlmZlsnc3JjJ10sIGRpZmZbJ2RzdCddCisgICAgICAgICAgICAgICAgYWxsX2ZpbGVzLmFwcGVuZChkZXN0KQogICAgICAgICAgICAgICAgIGlmIHNlbGYucDRIYXNNb3ZlQ29tbWFuZDoKICAgICAgICAgICAgICAgICAgICAgcDRfZWRpdChzcmMpICAgICAgICAjIHNyYyBtdXN0IGJlIG9wZW4gYmVmb3JlIG1vdmUKICAgICAgICAgICAgICAgICAgICAgcDRfbW92ZShzcmMsIGRlc3QpICAjIG9wZW5zIGZvciAobW92ZS9kZWxldGUsIG1vdmUvYWRkKQpAQCAtMjM0MywzMSArMjM4NCwyMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAiIC0tcHJlcGFyZS1wNC1vbmx5IikKICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICBpZiBpIDwgbGFzdDoKLSAgICAgICAgICAgICAgICAgICAgcXVpdCA9IEZhbHNlCi0gICAgICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAjIHByb21wdCBmb3Igd2hhdCB0byBkbywgb3IgdXNlIHRoZSBvcHRpb24vdmFyaWFibGUKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuY29uZmxpY3RfYmVoYXZpb3IgPT0gImFzayI6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoIldoYXQgZG8geW91IHdhbnQgdG8gZG8/IikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSA9IHJhd19pbnB1dCgiW3Nda2lwIHRoaXMgY29tbWl0IGJ1dCBhcHBseSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHRoZSByZXN0LCBvciBbcV11aXQ/ICIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHJlc3BvbnNlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgICAgICAgICAgZWxpZiBzZWxmLmNvbmZsaWN0X2JlaGF2aW9yID09ICJza2lwIjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSA9ICJzIgotICAgICAgICAgICAgICAgICAgICAgICAgZWxpZiBzZWxmLmNvbmZsaWN0X2JlaGF2aW9yID09ICJxdWl0IjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSA9ICJxIgotICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWUoIlVua25vd24gY29uZmxpY3RfYmVoYXZpb3IgJyVzJyIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbmZsaWN0X2JlaGF2aW9yKQorICAgICAgICAgICAgICAgICAgICAjIHByb21wdCBmb3Igd2hhdCB0byBkbywgb3IgdXNlIHRoZSBvcHRpb24vdmFyaWFibGUKKyAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5jb25mbGljdF9iZWhhdmlvciA9PSAiYXNrIjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHByaW50KCJXaGF0IGRvIHlvdSB3YW50IHRvIGRvPyIpCisgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSA9IHByb21wdCgiW3Nda2lwIHRoaXMgY29tbWl0IGJ1dCBhcHBseSB0aGUgcmVzdCwgb3IgW3FddWl0PyAiKQorICAgICAgICAgICAgICAgICAgICBlbGlmIHNlbGYuY29uZmxpY3RfYmVoYXZpb3IgPT0gInNraXAiOgorICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UgPSAicyIKKyAgICAgICAgICAgICAgICAgICAgZWxpZiBzZWxmLmNvbmZsaWN0X2JlaGF2aW9yID09ICJxdWl0IjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gInEiCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBkaWUoIlVua25vd24gY29uZmxpY3RfYmVoYXZpb3IgJyVzJyIgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY29uZmxpY3RfYmVoYXZpb3IpCiAKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIHJlc3BvbnNlWzBdID09ICJzIjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCgiU2tpcHBpbmcgdGhpcyBjb21taXQsIGJ1dCBhcHBseWluZyB0aGUgcmVzdCIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIHJlc3BvbnNlWzBdID09ICJxIjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCgiUXVpdHRpbmciKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1aXQgPSBUcnVlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICAgICAgaWYgcXVpdDoKKyAgICAgICAgICAgICAgICAgICAgaWYgcmVzcG9uc2UgPT0gInMiOgorICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoIlNraXBwaW5nIHRoaXMgY29tbWl0LCBidXQgYXBwbHlpbmcgdGhlIHJlc3QiKQorICAgICAgICAgICAgICAgICAgICBpZiByZXNwb25zZSA9PSAicSI6CisgICAgICAgICAgICAgICAgICAgICAgICBwcmludCgiUXVpdHRpbmciKQogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKIAogICAgICAgICBjaGRpcihzZWxmLm9sZFdvcmtpbmdEaXJlY3RvcnkpCkBAIC0yNTI2LDYgKzI1NTgsMTEgQEAKICAgICAgICAgZGllKCAiRXJyb3I6ICVzIGlzIG5vdCBmb3VuZCBpbiBjbGllbnQgc3BlYyBwYXRoIiAlIGRlcG90X3BhdGggKQogICAgICAgICByZXR1cm4gIiIKIAorZGVmIGNsb25lRXhjbHVkZUNhbGxiYWNrKG9wdGlvbiwgb3B0X3N0ciwgdmFsdWUsIHBhcnNlcik6CisgICAgIyBwcmVwZW5kICIvIiBiZWNhdXNlIHRoZSBmaXJzdCAiLyIgd2FzIGNvbnN1bWVkIGFzIHBhcnQgb2YgdGhlIG9wdGlvbiBpdHNlbGYuCisgICAgIyAoIi0vL2RlcG90L0EvLi4uIiBiZWNvbWVzICIvZGVwb3QvQS8uLi4iIGFmdGVyIG9wdGlvbiBwYXJzaW5nKQorICAgIHBhcnNlci52YWx1ZXMuY2xvbmVFeGNsdWRlICs9IFsiLyIgKyByZS5zdWIociJcLlwuXC4kIiwgIiIsIHZhbHVlKV0KKwogY2xhc3MgUDRTeW5jKENvbW1hbmQsIFA0VXNlck1hcCk6CiAKICAgICBkZWYgX19pbml0X18oc2VsZik6CkBAIC0yNTQ5LDcgKzI1ODYsNyBAQAogICAgICAgICAgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLXVzZS1jbGllbnQtc3BlYyIsIGRlc3Q9InVzZUNsaWVudFNwZWMiLCBhY3Rpb249J3N0b3JlX3RydWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9Ik9ubHkgc3luYyBmaWxlcyB0aGF0IGFyZSBpbmNsdWRlZCBpbiB0aGUgUGVyZm9yY2UgQ2xpZW50IFNwZWMiKSwKICAgICAgICAgICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS8iLCBkZXN0PSJjbG9uZUV4Y2x1ZGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0iYXBwZW5kIiwgdHlwZT0ic3RyaW5nIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249ImNhbGxiYWNrIiwgY2FsbGJhY2s9Y2xvbmVFeGNsdWRlQ2FsbGJhY2ssIHR5cGU9InN0cmluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iZXhjbHVkZSBkZXBvdCBwYXRoIiksCiAgICAgICAgIF0KICAgICAgICAgc2VsZi5kZXNjcmlwdGlvbiA9ICIiIkltcG9ydHMgZnJvbSBQZXJmb3JjZSBpbnRvIGEgZ2l0IHJlcG9zaXRvcnkuXG4KQEAgLTI2MTQsMjAgKzI2NTEsMjUgQEAKICAgICAgICAgaWYgc2VsZi52ZXJib3NlOgogICAgICAgICAgICAgcHJpbnQoImNoZWNrcG9pbnQgZmluaXNoZWQ6ICIgKyBvdXQpCiAKKyAgICBkZWYgaXNQYXRoV2FudGVkKHNlbGYsIHBhdGgpOgorICAgICAgICBmb3IgcCBpbiBzZWxmLmNsb25lRXhjbHVkZToKKyAgICAgICAgICAgIGlmIHAuZW5kc3dpdGgoIi8iKToKKyAgICAgICAgICAgICAgICBpZiBwNFBhdGhTdGFydHNXaXRoKHBhdGgsIHApOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAgICMgIi0vL2RlcG90L2ZpbGUxIiB3aXRob3V0IGEgdHJhaWxpbmcgIi8iIHNob3VsZCBvbmx5IGV4Y2x1ZGUgImZpbGUxIiwgYnV0IG5vdCAiZmlsZTExMSIgb3IgImZpbGUxX2Rpci9maWxlMiIKKyAgICAgICAgICAgIGVsaWYgcGF0aC5sb3dlcigpID09IHAubG93ZXIoKToKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgZm9yIHAgaW4gc2VsZi5kZXBvdFBhdGhzOgorICAgICAgICAgICAgaWYgcDRQYXRoU3RhcnRzV2l0aChwYXRoLCBwKToKKyAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICByZXR1cm4gRmFsc2UKKwogICAgIGRlZiBleHRyYWN0RmlsZXNGcm9tQ29tbWl0KHNlbGYsIGNvbW1pdCwgc2hlbHZlZD1GYWxzZSwgc2hlbHZlZF9jbCA9IDApOgotICAgICAgICBzZWxmLmNsb25lRXhjbHVkZSA9IFtyZS5zdWIociJcLlwuXC4kIiwgIiIsIHBhdGgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBwYXRoIGluIHNlbGYuY2xvbmVFeGNsdWRlXQogICAgICAgICBmaWxlcyA9IFtdCiAgICAgICAgIGZudW0gPSAwCiAgICAgICAgIHdoaWxlICJkZXBvdEZpbGUlcyIgJSBmbnVtIGluIGNvbW1pdDoKICAgICAgICAgICAgIHBhdGggPSAgY29tbWl0WyJkZXBvdEZpbGUlcyIgJSBmbnVtXQotCi0gICAgICAgICAgICBpZiBbcCBmb3IgcCBpbiBzZWxmLmNsb25lRXhjbHVkZQotICAgICAgICAgICAgICAgIGlmIHA0UGF0aFN0YXJ0c1dpdGgocGF0aCwgcCldOgotICAgICAgICAgICAgICAgIGZvdW5kID0gRmFsc2UKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZm91bmQgPSBbcCBmb3IgcCBpbiBzZWxmLmRlcG90UGF0aHMKLSAgICAgICAgICAgICAgICAgICAgICAgICBpZiBwNFBhdGhTdGFydHNXaXRoKHBhdGgsIHApXQorICAgICAgICAgICAgZm91bmQgPSBzZWxmLmlzUGF0aFdhbnRlZChwYXRoKQogICAgICAgICAgICAgaWYgbm90IGZvdW5kOgogICAgICAgICAgICAgICAgIGZudW0gPSBmbnVtICsgMQogICAgICAgICAgICAgICAgIGNvbnRpbnVlCkBAIC0yNjY0LDcgKzI3MDYsNyBAQAogICAgICAgICAgICAgcGF0aCA9IHNlbGYuY2xpZW50U3BlY0RpcnMubWFwX2luX2NsaWVudChwYXRoKQogICAgICAgICAgICAgaWYgc2VsZi5kZXRlY3RCcmFuY2hlczoKICAgICAgICAgICAgICAgICBmb3IgYiBpbiBzZWxmLmtub3duQnJhbmNoZXM6Ci0gICAgICAgICAgICAgICAgICAgIGlmIHBhdGguc3RhcnRzd2l0aChiICsgIi8iKToKKyAgICAgICAgICAgICAgICAgICAgaWYgcDRQYXRoU3RhcnRzV2l0aChwYXRoLCBiICsgIi8iKToKICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGggPSBwYXRoW2xlbihiKSsxOl0KIAogICAgICAgICBlbGlmIHNlbGYua2VlcFJlcG9QYXRoOgpAQCAtMjY5Niw4ICsyNzM4LDcgQEAKICAgICAgICAgZm51bSA9IDAKICAgICAgICAgd2hpbGUgImRlcG90RmlsZSVzIiAlIGZudW0gaW4gY29tbWl0OgogICAgICAgICAgICAgcGF0aCA9ICBjb21taXRbImRlcG90RmlsZSVzIiAlIGZudW1dCi0gICAgICAgICAgICBmb3VuZCA9IFtwIGZvciBwIGluIHNlbGYuZGVwb3RQYXRocwotICAgICAgICAgICAgICAgICAgICAgaWYgcDRQYXRoU3RhcnRzV2l0aChwYXRoLCBwKV0KKyAgICAgICAgICAgIGZvdW5kID0gc2VsZi5pc1BhdGhXYW50ZWQocGF0aCkKICAgICAgICAgICAgIGlmIG5vdCBmb3VuZDoKICAgICAgICAgICAgICAgICBmbnVtID0gZm51bSArIDEKICAgICAgICAgICAgICAgICBjb250aW51ZQpAQCAtMjcxOSw3ICsyNzYwLDcgQEAKICAgICAgICAgICAgIGZvciBicmFuY2ggaW4gc2VsZi5rbm93bkJyYW5jaGVzLmtleXMoKToKICAgICAgICAgICAgICAgICAjIGFkZCBhIHRyYWlsaW5nIHNsYXNoIHNvIHRoYXQgYSBjb21taXQgaW50byBxdC80LjJmb28KICAgICAgICAgICAgICAgICAjIGRvZXNuJ3QgZW5kIHVwIGluIHF0LzQuMiwgZS5nLgotICAgICAgICAgICAgICAgIGlmIHJlbFBhdGguc3RhcnRzd2l0aChicmFuY2ggKyAiLyIpOgorICAgICAgICAgICAgICAgIGlmIHA0UGF0aFN0YXJ0c1dpdGgocmVsUGF0aCwgYnJhbmNoICsgIi8iKToKICAgICAgICAgICAgICAgICAgICAgaWYgYnJhbmNoIG5vdCBpbiBicmFuY2hlczoKICAgICAgICAgICAgICAgICAgICAgICAgIGJyYW5jaGVzW2JyYW5jaF0gPSBbXQogICAgICAgICAgICAgICAgICAgICBicmFuY2hlc1ticmFuY2hdLmFwcGVuZChmaWxlKQpAQCAtMzMyMSw3ICszMzYyLDkgQEAKICAgICAgICAgICAgIGlmIGN1cnJlbnRDaGFuZ2UgPCBjaGFuZ2U6CiAgICAgICAgICAgICAgICAgZWFybGllc3RDb21taXQgPSAiXiVzIiAlIG5leHQKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgbGF0ZXN0Q29tbWl0ID0gIiVzIiAlIG5leHQKKyAgICAgICAgICAgICAgICBpZiBuZXh0ID09IGxhdGVzdENvbW1pdDoKKyAgICAgICAgICAgICAgICAgICAgZGllKCJJbmZpbml0ZSBsb29wIHdoaWxlIGxvb2tpbmcgaW4gcmVmICVzIGZvciBjaGFuZ2UgJXMuIENoZWNrIHlvdXIgYnJhbmNoIG1hcHBpbmdzIiAlIChyZWYsIGNoYW5nZSkpCisgICAgICAgICAgICAgICAgbGF0ZXN0Q29tbWl0ID0gIiVzXkAiICUgbmV4dAogCiAgICAgICAgIHJldHVybiAiIgogCkBAIC0zNTEwLDEwICszNTUzLDc5IEBACiAgICAgICAgIHNlbGYudXBkYXRlT3B0aW9uRGljdChkZXRhaWxzKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzZWxmLmNvbW1pdChkZXRhaWxzLCBzZWxmLmV4dHJhY3RGaWxlc0Zyb21Db21taXQoZGV0YWlscyksIHNlbGYuYnJhbmNoKQotICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZXJyOgogICAgICAgICAgICAgcHJpbnQoIklPIGVycm9yIHdpdGggZ2l0IGZhc3QtaW1wb3J0LiBJcyB5b3VyIGdpdCB2ZXJzaW9uIHJlY2VudCBlbm91Z2g/IikKKyAgICAgICAgICAgIHByaW50KCJJTyBlcnJvciBkZXRhaWxzOiB7fSIuZm9ybWF0KGVycikpCiAgICAgICAgICAgICBwcmludChzZWxmLmdpdEVycm9yLnJlYWQoKSkKIAorCisgICAgZGVmIGltcG9ydFJldmlzaW9ucyhzZWxmLCBhcmdzLCBicmFuY2hfYXJnX2dpdmVuKToKKyAgICAgICAgY2hhbmdlcyA9IFtdCisKKyAgICAgICAgaWYgbGVuKHNlbGYuY2hhbmdlc0ZpbGUpID4gMDoKKyAgICAgICAgICAgIHdpdGggb3BlbihzZWxmLmNoYW5nZXNGaWxlKSBhcyBmOgorICAgICAgICAgICAgICAgIG91dHB1dCA9IGYucmVhZGxpbmVzKCkKKyAgICAgICAgICAgIGNoYW5nZVNldCA9IHNldCgpCisgICAgICAgICAgICBmb3IgbGluZSBpbiBvdXRwdXQ6CisgICAgICAgICAgICAgICAgY2hhbmdlU2V0LmFkZChpbnQobGluZSkpCisKKyAgICAgICAgICAgIGZvciBjaGFuZ2UgaW4gY2hhbmdlU2V0OgorICAgICAgICAgICAgICAgIGNoYW5nZXMuYXBwZW5kKGNoYW5nZSkKKworICAgICAgICAgICAgY2hhbmdlcy5zb3J0KCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgY2F0Y2ggImdpdCBwNCBzeW5jIiB3aXRoIG5vIG5ldyBicmFuY2hlcywgaW4gYSByZXBvIHRoYXQKKyAgICAgICAgICAgICMgZG9lcyBub3QgaGF2ZSBhbnkgZXhpc3RpbmcgcDQgYnJhbmNoZXMKKyAgICAgICAgICAgIGlmIGxlbihhcmdzKSA9PSAwOgorICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLnA0QnJhbmNoZXNJbkdpdDoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgUDRDb21tYW5kRXhjZXB0aW9uKCJObyByZW1vdGUgcDQgYnJhbmNoZXMuICBQZXJoYXBzIHlvdSBuZXZlciBkaWQgXCJnaXQgcDQgY2xvbmVcIiBpbiBoZXJlLiIpCisKKyAgICAgICAgICAgICAgICAjIFRoZSBkZWZhdWx0IGJyYW5jaCBpcyBtYXN0ZXIsIHVubGVzcyAtLWJyYW5jaCBpcyB1c2VkIHRvCisgICAgICAgICAgICAgICAgIyBzcGVjaWZ5IHNvbWV0aGluZyBlbHNlLiAgTWFrZSBzdXJlIGl0IGV4aXN0cywgb3IgY29tcGxhaW4KKyAgICAgICAgICAgICAgICAjIG5pY2VseSBhYm91dCBob3cgdG8gdXNlIC0tYnJhbmNoLgorICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLmRldGVjdEJyYW5jaGVzOgorICAgICAgICAgICAgICAgICAgICBpZiBub3QgYnJhbmNoX2V4aXN0cyhzZWxmLmJyYW5jaCk6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiBicmFuY2hfYXJnX2dpdmVuOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFA0Q29tbWFuZEV4Y2VwdGlvbigiRXJyb3I6IGJyYW5jaCAlcyBkb2VzIG5vdCBleGlzdC4iICUgc2VsZi5icmFuY2gpCisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFA0Q29tbWFuZEV4Y2VwdGlvbigiRXJyb3I6IG5vIGJyYW5jaCAlczsgcGVyaGFwcyBzcGVjaWZ5IG9uZSB3aXRoIC0tYnJhbmNoLiIgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmJyYW5jaCkKKworICAgICAgICAgICAgaWYgc2VsZi52ZXJib3NlOgorICAgICAgICAgICAgICAgIHByaW50KCJHZXR0aW5nIHA0IGNoYW5nZXMgZm9yICVzLi4uJXMiICUgKCcsICcuam9pbihzZWxmLmRlcG90UGF0aHMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY2hhbmdlUmFuZ2UpKQorICAgICAgICAgICAgY2hhbmdlcyA9IHA0Q2hhbmdlc0ZvclBhdGhzKHNlbGYuZGVwb3RQYXRocywgc2VsZi5jaGFuZ2VSYW5nZSwgc2VsZi5jaGFuZ2VzX2Jsb2NrX3NpemUpCisKKyAgICAgICAgICAgIGlmIGxlbihzZWxmLm1heENoYW5nZXMpID4gMDoKKyAgICAgICAgICAgICAgICBjaGFuZ2VzID0gY2hhbmdlc1s6bWluKGludChzZWxmLm1heENoYW5nZXMpLCBsZW4oY2hhbmdlcykpXQorCisgICAgICAgIGlmIGxlbihjaGFuZ2VzKSA9PSAwOgorICAgICAgICAgICAgaWYgbm90IHNlbGYuc2lsZW50OgorICAgICAgICAgICAgICAgIHByaW50KCJObyBjaGFuZ2VzIHRvIGltcG9ydCEiKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgaWYgbm90IHNlbGYuc2lsZW50IGFuZCBub3Qgc2VsZi5kZXRlY3RCcmFuY2hlczoKKyAgICAgICAgICAgICAgICBwcmludCgiSW1wb3J0IGRlc3RpbmF0aW9uOiAlcyIgJSBzZWxmLmJyYW5jaCkKKworICAgICAgICAgICAgc2VsZi51cGRhdGVkQnJhbmNoZXMgPSBzZXQoKQorCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5kZXRlY3RCcmFuY2hlczoKKyAgICAgICAgICAgICAgICBpZiBhcmdzOgorICAgICAgICAgICAgICAgICAgICAjIHN0YXJ0IGEgbmV3IGJyYW5jaAorICAgICAgICAgICAgICAgICAgICBzZWxmLmluaXRpYWxQYXJlbnQgPSAiIgorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICMgYnVpbGQgb24gYSBwcmV2aW91cyByZXZpc2lvbgorICAgICAgICAgICAgICAgICAgICBzZWxmLmluaXRpYWxQYXJlbnQgPSBwYXJzZVJldmlzaW9uKHNlbGYuYnJhbmNoKQorCisgICAgICAgICAgICBzZWxmLmltcG9ydENoYW5nZXMoY2hhbmdlcykKKworICAgICAgICAgICAgaWYgbm90IHNlbGYuc2lsZW50OgorICAgICAgICAgICAgICAgIHByaW50KCIiKQorICAgICAgICAgICAgICAgIGlmIGxlbihzZWxmLnVwZGF0ZWRCcmFuY2hlcykgPiAwOgorICAgICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJVcGRhdGVkIGJyYW5jaGVzOiAiKQorICAgICAgICAgICAgICAgICAgICBmb3IgYiBpbiBzZWxmLnVwZGF0ZWRCcmFuY2hlczoKKyAgICAgICAgICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIiVzICIgJSBiKQorICAgICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJcbiIpCisKICAgICBkZWYgb3BlblN0cmVhbXMoc2VsZik6CiAgICAgICAgIHNlbGYuaW1wb3J0UHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9wZW4oWyJnaXQiLCAiZmFzdC1pbXBvcnQiXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRpbj1zdWJwcm9jZXNzLlBJUEUsCkBAIC0zNTI0LDExICszNjM2LDE0IEBACiAgICAgICAgIHNlbGYuZ2l0RXJyb3IgPSBzZWxmLmltcG9ydFByb2Nlc3Muc3RkZXJyCiAKICAgICBkZWYgY2xvc2VTdHJlYW1zKHNlbGYpOgorICAgICAgICBpZiBzZWxmLmdpdFN0cmVhbSBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIHNlbGYuZ2l0U3RyZWFtLmNsb3NlKCkKICAgICAgICAgaWYgc2VsZi5pbXBvcnRQcm9jZXNzLndhaXQoKSAhPSAwOgogICAgICAgICAgICAgZGllKCJmYXN0LWltcG9ydCBmYWlsZWQ6ICVzIiAlIHNlbGYuZ2l0RXJyb3IucmVhZCgpKQogICAgICAgICBzZWxmLmdpdE91dHB1dC5jbG9zZSgpCiAgICAgICAgIHNlbGYuZ2l0RXJyb3IuY2xvc2UoKQorICAgICAgICBzZWxmLmdpdFN0cmVhbSA9IE5vbmUKIAogICAgIGRlZiBydW4oc2VsZiwgYXJncyk6CiAgICAgICAgIGlmIHNlbGYuaW1wb3J0SW50b1JlbW90ZXM6CkBAIC0zNzEyLDg3ICszODI3LDM2IEBACiAgICAgICAgICAgICAgICAgICAgIGIgPSBiW2xlbihzZWxmLnByb2plY3ROYW1lKTpdCiAgICAgICAgICAgICAgICAgc2VsZi5jcmVhdGVkQnJhbmNoZXMuYWRkKGIpCiAKKyAgICAgICAgcDRfY2hlY2tfYWNjZXNzKCkKKwogICAgICAgICBzZWxmLm9wZW5TdHJlYW1zKCkKIAotICAgICAgICBpZiByZXZpc2lvbjoKLSAgICAgICAgICAgIHNlbGYuaW1wb3J0SGVhZFJldmlzaW9uKHJldmlzaW9uKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgY2hhbmdlcyA9IFtdCisgICAgICAgIGVyciA9IE5vbmUKIAotICAgICAgICAgICAgaWYgbGVuKHNlbGYuY2hhbmdlc0ZpbGUpID4gMDoKLSAgICAgICAgICAgICAgICBvdXRwdXQgPSBvcGVuKHNlbGYuY2hhbmdlc0ZpbGUpLnJlYWRsaW5lcygpCi0gICAgICAgICAgICAgICAgY2hhbmdlU2V0ID0gc2V0KCkKLSAgICAgICAgICAgICAgICBmb3IgbGluZSBpbiBvdXRwdXQ6Ci0gICAgICAgICAgICAgICAgICAgIGNoYW5nZVNldC5hZGQoaW50KGxpbmUpKQotCi0gICAgICAgICAgICAgICAgZm9yIGNoYW5nZSBpbiBjaGFuZ2VTZXQ6Ci0gICAgICAgICAgICAgICAgICAgIGNoYW5nZXMuYXBwZW5kKGNoYW5nZSkKLQotICAgICAgICAgICAgICAgIGNoYW5nZXMuc29ydCgpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGlmIHJldmlzaW9uOgorICAgICAgICAgICAgICAgIHNlbGYuaW1wb3J0SGVhZFJldmlzaW9uKHJldmlzaW9uKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAjIGNhdGNoICJnaXQgcDQgc3luYyIgd2l0aCBubyBuZXcgYnJhbmNoZXMsIGluIGEgcmVwbyB0aGF0Ci0gICAgICAgICAgICAgICAgIyBkb2VzIG5vdCBoYXZlIGFueSBleGlzdGluZyBwNCBicmFuY2hlcwotICAgICAgICAgICAgICAgIGlmIGxlbihhcmdzKSA9PSAwOgotICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5wNEJyYW5jaGVzSW5HaXQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICBkaWUoIk5vIHJlbW90ZSBwNCBicmFuY2hlcy4gIFBlcmhhcHMgeW91IG5ldmVyIGRpZCBcImdpdCBwNCBjbG9uZVwiIGluIGhlcmUuIikKKyAgICAgICAgICAgICAgICBzZWxmLmltcG9ydFJldmlzaW9ucyhhcmdzLCBicmFuY2hfYXJnX2dpdmVuKQogCi0gICAgICAgICAgICAgICAgICAgICMgVGhlIGRlZmF1bHQgYnJhbmNoIGlzIG1hc3RlciwgdW5sZXNzIC0tYnJhbmNoIGlzIHVzZWQgdG8KLSAgICAgICAgICAgICAgICAgICAgIyBzcGVjaWZ5IHNvbWV0aGluZyBlbHNlLiAgTWFrZSBzdXJlIGl0IGV4aXN0cywgb3IgY29tcGxhaW4KLSAgICAgICAgICAgICAgICAgICAgIyBuaWNlbHkgYWJvdXQgaG93IHRvIHVzZSAtLWJyYW5jaC4KLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuZGV0ZWN0QnJhbmNoZXM6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgYnJhbmNoX2V4aXN0cyhzZWxmLmJyYW5jaCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgYnJhbmNoX2FyZ19naXZlbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGllKCJFcnJvcjogYnJhbmNoICVzIGRvZXMgbm90IGV4aXN0LiIgJSBzZWxmLmJyYW5jaCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWUoIkVycm9yOiBubyBicmFuY2ggJXM7IHBlcmhhcHMgc3BlY2lmeSBvbmUgd2l0aCAtLWJyYW5jaC4iICUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYnJhbmNoKQorICAgICAgICAgICAgaWYgZ2l0Q29uZmlnQm9vbCgiZ2l0LXA0LmltcG9ydExhYmVscyIpOgorICAgICAgICAgICAgICAgIHNlbGYuaW1wb3J0TGFiZWxzID0gVHJ1ZQogCi0gICAgICAgICAgICAgICAgaWYgc2VsZi52ZXJib3NlOgotICAgICAgICAgICAgICAgICAgICBwcmludCgiR2V0dGluZyBwNCBjaGFuZ2VzIGZvciAlcy4uLiVzIiAlICgnLCAnLmpvaW4oc2VsZi5kZXBvdFBhdGhzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jaGFuZ2VSYW5nZSkpCi0gICAgICAgICAgICAgICAgY2hhbmdlcyA9IHA0Q2hhbmdlc0ZvclBhdGhzKHNlbGYuZGVwb3RQYXRocywgc2VsZi5jaGFuZ2VSYW5nZSwgc2VsZi5jaGFuZ2VzX2Jsb2NrX3NpemUpCisgICAgICAgICAgICBpZiBzZWxmLmltcG9ydExhYmVsczoKKyAgICAgICAgICAgICAgICBwNExhYmVscyA9IGdldFA0TGFiZWxzKHNlbGYuZGVwb3RQYXRocykKKyAgICAgICAgICAgICAgICBnaXRUYWdzID0gZ2V0R2l0VGFncygpCiAKLSAgICAgICAgICAgICAgICBpZiBsZW4oc2VsZi5tYXhDaGFuZ2VzKSA+IDA6Ci0gICAgICAgICAgICAgICAgICAgIGNoYW5nZXMgPSBjaGFuZ2VzWzptaW4oaW50KHNlbGYubWF4Q2hhbmdlcyksIGxlbihjaGFuZ2VzKSldCisgICAgICAgICAgICAgICAgbWlzc2luZ1A0TGFiZWxzID0gcDRMYWJlbHMgLSBnaXRUYWdzCisgICAgICAgICAgICAgICAgc2VsZi5pbXBvcnRQNExhYmVscyhzZWxmLmdpdFN0cmVhbSwgbWlzc2luZ1A0TGFiZWxzKQogCi0gICAgICAgICAgICBpZiBsZW4oY2hhbmdlcykgPT0gMDoKLSAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5zaWxlbnQ6Ci0gICAgICAgICAgICAgICAgICAgIHByaW50KCJObyBjaGFuZ2VzIHRvIGltcG9ydCEiKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5zaWxlbnQgYW5kIG5vdCBzZWxmLmRldGVjdEJyYW5jaGVzOgotICAgICAgICAgICAgICAgICAgICBwcmludCgiSW1wb3J0IGRlc3RpbmF0aW9uOiAlcyIgJSBzZWxmLmJyYW5jaCkKKyAgICAgICAgZXhjZXB0IFA0Q29tbWFuZEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgZXJyID0gZQogCi0gICAgICAgICAgICAgICAgc2VsZi51cGRhdGVkQnJhbmNoZXMgPSBzZXQoKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgc2VsZi5jbG9zZVN0cmVhbXMoKQogCi0gICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuZGV0ZWN0QnJhbmNoZXM6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGFyZ3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAjIHN0YXJ0IGEgbmV3IGJyYW5jaAotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5pbml0aWFsUGFyZW50ID0gIiIKLSAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgICMgYnVpbGQgb24gYSBwcmV2aW91cyByZXZpc2lvbgotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5pbml0aWFsUGFyZW50ID0gcGFyc2VSZXZpc2lvbihzZWxmLmJyYW5jaCkKLQotICAgICAgICAgICAgICAgIHNlbGYuaW1wb3J0Q2hhbmdlcyhjaGFuZ2VzKQotCi0gICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuc2lsZW50OgotICAgICAgICAgICAgICAgICAgICBwcmludCgiIikKLSAgICAgICAgICAgICAgICAgICAgaWYgbGVuKHNlbGYudXBkYXRlZEJyYW5jaGVzKSA+IDA6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJVcGRhdGVkIGJyYW5jaGVzOiAiKQotICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGIgaW4gc2VsZi51cGRhdGVkQnJhbmNoZXM6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiJXMgIiAlIGIpCi0gICAgICAgICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJcbiIpCi0KLSAgICAgICAgaWYgZ2l0Q29uZmlnQm9vbCgiZ2l0LXA0LmltcG9ydExhYmVscyIpOgotICAgICAgICAgICAgc2VsZi5pbXBvcnRMYWJlbHMgPSBUcnVlCi0KLSAgICAgICAgaWYgc2VsZi5pbXBvcnRMYWJlbHM6Ci0gICAgICAgICAgICBwNExhYmVscyA9IGdldFA0TGFiZWxzKHNlbGYuZGVwb3RQYXRocykKLSAgICAgICAgICAgIGdpdFRhZ3MgPSBnZXRHaXRUYWdzKCkKLQotICAgICAgICAgICAgbWlzc2luZ1A0TGFiZWxzID0gcDRMYWJlbHMgLSBnaXRUYWdzCi0gICAgICAgICAgICBzZWxmLmltcG9ydFA0TGFiZWxzKHNlbGYuZ2l0U3RyZWFtLCBtaXNzaW5nUDRMYWJlbHMpCi0KLSAgICAgICAgc2VsZi5jbG9zZVN0cmVhbXMoKQorICAgICAgICBpZiBlcnI6CisgICAgICAgICAgICBkaWUoc3RyKGVycikpCiAKICAgICAgICAgIyBDbGVhbnVwIHRlbXBvcmFyeSBicmFuY2hlcyBjcmVhdGVkIGR1cmluZyBpbXBvcnQKICAgICAgICAgaWYgc2VsZi50ZW1wQnJhbmNoZXMgIT0gW106CkBAIC0zODg0LDcgKzM5NDgsNiBAQAogICAgICAgICAgICAgc2VsZi5jbG9uZURlc3RpbmF0aW9uID0gZGVwb3RQYXRoc1stMV0KICAgICAgICAgICAgIGRlcG90UGF0aHMgPSBkZXBvdFBhdGhzWzotMV0KIAotICAgICAgICBzZWxmLmNsb25lRXhjbHVkZSA9IFsiLyIrcCBmb3IgcCBpbiBzZWxmLmNsb25lRXhjbHVkZV0KICAgICAgICAgZm9yIHAgaW4gZGVwb3RQYXRoczoKICAgICAgICAgICAgIGlmIG5vdCBwLnN0YXJ0c3dpdGgoIi8vIik6CiAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnRGVwb3QgcGF0aHMgbXVzdCBzdGFydCB3aXRoICIvLyI6ICVzXG4nICUgcCkKQEAgLTQxMjcsNyArNDE5MCwxMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiA9IGNtZC5kZXNjcmlwdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVyID0gSGVscEZvcm1hdHRlcigpKQogCi0gICAgKGNtZCwgYXJncykgPSBwYXJzZXIucGFyc2VfYXJncyhzeXMuYXJndlsyOl0sIGNtZCk7CisgICAgdHJ5OgorICAgICAgICAoY21kLCBhcmdzKSA9IHBhcnNlci5wYXJzZV9hcmdzKHN5cy5hcmd2WzI6XSwgY21kKTsKKyAgICBleGNlcHQ6CisgICAgICAgIHBhcnNlci5wcmludF9oZWxwKCkKKyAgICAgICAgcmFpc2UKKwogICAgIGdsb2JhbCB2ZXJib3NlCiAgICAgdmVyYm9zZSA9IGNtZC52ZXJib3NlCiAgICAgaWYgY21kLm5lZWRzR2l0OgpkaWZmIC0tZ2l0IGEvZ2l0LXF1aWx0aW1wb3J0LnNoIGIvZ2l0LXF1aWx0aW1wb3J0LnNoCmluZGV4IDZkM2E4OGQuLmUzZDM5MDkgMTAwNzU1Ci0tLSBhL2dpdC1xdWlsdGltcG9ydC5zaAorKysgYi9naXQtcXVpbHRpbXBvcnQuc2gKQEAgLTgsNiArOCw3IEBACiBhdXRob3I9ICAgICAgIGF1dGhvciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIGZvciBwYXRjaGVzIHdpdGhvdXQgYW55CiBwYXRjaGVzPSAgICAgIHBhdGggdG8gdGhlIHF1aWx0IHBhdGNoZXMKIHNlcmllcz0gICAgICAgcGF0aCB0byB0aGUgcXVpbHQgc2VyaWVzIGZpbGUKK2tlZXAtbm9uLXBhdGNoIFBhc3MgLWIgdG8gZ2l0IG1haWxpbmZvCiAiCiBTVUJESVJFQ1RPUllfT049WWVzCiAuIGdpdC1zaC1zZXR1cApAQCAtMzIsNiArMzMsOSBAQAogCQlzaGlmdAogCQlRVUlMVF9TRVJJRVM9IiQxIgogCQk7OworCS0ta2VlcC1ub24tcGF0Y2gpCisJCU1BSUxJTkZPX09QVD0iLWIiCisJCTs7CiAJLS0pCiAJCXNoaWZ0CiAJCWJyZWFrOzsKQEAgLTk4LDcgKzEwMiw3IEBACiAJCWNvbnRpbnVlCiAJZmkKIAllY2hvICRwYXRjaF9uYW1lCi0JZ2l0IG1haWxpbmZvICIkdG1wX21zZyIgIiR0bXBfcGF0Y2giIFwKKwlnaXQgbWFpbGluZm8gJE1BSUxJTkZPX09QVCAiJHRtcF9tc2ciICIkdG1wX3BhdGNoIiBcCiAJCTwiJFFVSUxUX1BBVENIRVMvJHBhdGNoX25hbWUiID4iJHRtcF9pbmZvIiB8fCBleGl0IDMKIAl0ZXN0IC1zICIkdG1wX3BhdGNoIiB8fCB7CiAJCWVjaG8gIlBhdGNoIGlzIGVtcHR5LiAgV2FzIGl0IHNwbGl0IHdyb25nPyIKZGlmZiAtLWdpdCBhL2dpdC1yZWJhc2UtLWFtLnNoIGIvZ2l0LXJlYmFzZS0tYW0uc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5YjhjMTcuLjAwMDAwMDAKLS0tIGEvZ2l0LXJlYmFzZS0tYW0uc2gKKysrIC9kZXYvbnVsbApAQCAtMSw4NSArMCwwIEBACi0jIFRoaXMgc2hlbGwgc2NyaXB0IGZyYWdtZW50IGlzIHNvdXJjZWQgYnkgZ2l0LXJlYmFzZSB0byBpbXBsZW1lbnQKLSMgaXRzIGRlZmF1bHQsIGZhc3QsIHBhdGNoLWJhc2VkLCBub24taW50ZXJhY3RpdmUgbW9kZS4KLSMKLSMgQ29weXJpZ2h0IChjKSAyMDEwIEp1bmlvIEMgSGFtYW5vLgotIwotCi1naXRfcmViYXNlX19hbSAoKSB7Ci0KLWNhc2UgIiRhY3Rpb24iIGluCi1jb250aW51ZSkKLQlnaXQgYW0gLS1yZXNvbHZlZCAtLXJlc29sdmVtc2c9IiRyZXNvbHZlbXNnIiBcCi0JCSR7Z3BnX3NpZ25fb3B0OisiJGdwZ19zaWduX29wdCJ9ICYmCi0JbW92ZV90b19vcmlnaW5hbF9icmFuY2gKLQlyZXR1cm4KLQk7Owotc2tpcCkKLQlnaXQgYW0gLS1za2lwIC0tcmVzb2x2ZW1zZz0iJHJlc29sdmVtc2ciICYmCi0JbW92ZV90b19vcmlnaW5hbF9icmFuY2gKLQlyZXR1cm4KLQk7Owotc2hvdy1jdXJyZW50LXBhdGNoKQotCWV4ZWMgZ2l0IGFtIC0tc2hvdy1jdXJyZW50LXBhdGNoCi0JOzsKLWVzYWMKLQotaWYgdGVzdCAteiAiJHJlYmFzZV9yb290IgotCSMgdGhpcyBpcyBub3cgZXF1aXZhbGVudCB0byAhIC16ICIkdXBzdHJlYW0iCi10aGVuCi0JcmV2aXNpb25zPSR1cHN0cmVhbS4uLiRvcmlnX2hlYWQKLWVsc2UKLQlyZXZpc2lvbnM9JG9udG8uLi4kb3JpZ19oZWFkCi1maQotCi1yZXQ9MAotcm0gLWYgIiRHSVRfRElSL3JlYmFzZWQtcGF0Y2hlcyIKLQotZ2l0IGZvcm1hdC1wYXRjaCAtayAtLXN0ZG91dCAtLWZ1bGwtaW5kZXggLS1jaGVycnktcGljayAtLXJpZ2h0LW9ubHkgXAotCS0tc3JjLXByZWZpeD1hLyAtLWRzdC1wcmVmaXg9Yi8gLS1uby1yZW5hbWVzIC0tbm8tY292ZXItbGV0dGVyIFwKLQktLXByZXR0eT1tYm94cmQgXAotCSRnaXRfZm9ybWF0X3BhdGNoX29wdCBcCi0JIiRyZXZpc2lvbnMiICR7cmVzdHJpY3RfcmV2aXNpb24rXiRyZXN0cmljdF9yZXZpc2lvbn0gXAotCT4iJEdJVF9ESVIvcmViYXNlZC1wYXRjaGVzIgotcmV0PSQ/Ci0KLWlmIHRlc3QgMCAhPSAkcmV0Ci10aGVuCi0Jcm0gLWYgIiRHSVRfRElSL3JlYmFzZWQtcGF0Y2hlcyIKLQljYXNlICIkaGVhZF9uYW1lIiBpbgotCXJlZnMvaGVhZHMvKikKLQkJZ2l0IGNoZWNrb3V0IC1xICIkaGVhZF9uYW1lIgotCQk7OwotCSopCi0JCWdpdCBjaGVja291dCAtcSAiJG9yaWdfaGVhZCIKLQkJOzsKLQllc2FjCi0KLQljYXQgPiYyIDw8LUVPRgotCi0JZ2l0IGVuY291bnRlcmVkIGFuIGVycm9yIHdoaWxlIHByZXBhcmluZyB0aGUgcGF0Y2hlcyB0byByZXBsYXkKLQl0aGVzZSByZXZpc2lvbnM6Ci0KLQkgICAgJHJldmlzaW9ucwotCi0JQXMgYSByZXN1bHQsIGdpdCBjYW5ub3QgcmViYXNlIHRoZW0uCi0JRU9GCi0JcmV0dXJuICRyZXQKLWZpCi0KLWdpdCBhbSAkZ2l0X2FtX29wdCAtLXJlYmFzaW5nIC0tcmVzb2x2ZW1zZz0iJHJlc29sdmVtc2ciIFwKLQktLXBhdGNoLWZvcm1hdD1tYm94cmQgXAotCSRhbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSBcCi0JJHtncGdfc2lnbl9vcHQ6KyIkZ3BnX3NpZ25fb3B0In0gPCIkR0lUX0RJUi9yZWJhc2VkLXBhdGNoZXMiCi1yZXQ9JD8KLQotcm0gLWYgIiRHSVRfRElSL3JlYmFzZWQtcGF0Y2hlcyIKLQotaWYgdGVzdCAwICE9ICRyZXQKLXRoZW4KLQl0ZXN0IC1kICIkc3RhdGVfZGlyIiAmJiB3cml0ZV9iYXNpY19zdGF0ZQotCXJldHVybiAkcmV0Ci1maQotCi1tb3ZlX3RvX29yaWdpbmFsX2JyYW5jaAotCi19CmRpZmYgLS1naXQgYS9naXQtcmViYXNlLS1jb21tb24uc2ggYi9naXQtcmViYXNlLS1jb21tb24uc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlMzlkMjIuLjAwMDAwMDAKLS0tIGEvZ2l0LXJlYmFzZS0tY29tbW9uLnNoCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotCi1yZXNvbHZlbXNnPSIKLSQoZ2V0dGV4dCAnUmVzb2x2ZSBhbGwgY29uZmxpY3RzIG1hbnVhbGx5LCBtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgd2l0aAotImdpdCBhZGQvcm0gPGNvbmZsaWN0ZWRfZmlsZXM+IiwgdGhlbiBydW4gImdpdCByZWJhc2UgLS1jb250aW51ZSIuCi1Zb3UgY2FuIGluc3RlYWQgc2tpcCB0aGlzIGNvbW1pdDogcnVuICJnaXQgcmViYXNlIC0tc2tpcCIuCi1UbyBhYm9ydCBhbmQgZ2V0IGJhY2sgdG8gdGhlIHN0YXRlIGJlZm9yZSAiZ2l0IHJlYmFzZSIsIHJ1biAiZ2l0IHJlYmFzZSAtLWFib3J0Ii4nKQotIgotCi13cml0ZV9iYXNpY19zdGF0ZSAoKSB7Ci0JZWNobyAiJGhlYWRfbmFtZSIgPiAiJHN0YXRlX2RpciIvaGVhZC1uYW1lICYmCi0JZWNobyAiJG9udG8iID4gIiRzdGF0ZV9kaXIiL29udG8gJiYKLQllY2hvICIkb3JpZ19oZWFkIiA+ICIkc3RhdGVfZGlyIi9vcmlnLWhlYWQgJiYKLQllY2hvICIkR0lUX1FVSUVUIiA+ICIkc3RhdGVfZGlyIi9xdWlldCAmJgotCXRlc3QgdCA9ICIkdmVyYm9zZSIgJiYgOiA+ICIkc3RhdGVfZGlyIi92ZXJib3NlCi0JdGVzdCAtbiAiJHN0cmF0ZWd5IiAmJiBlY2hvICIkc3RyYXRlZ3kiID4gIiRzdGF0ZV9kaXIiL3N0cmF0ZWd5Ci0JdGVzdCAtbiAiJHN0cmF0ZWd5X29wdHMiICYmIGVjaG8gIiRzdHJhdGVneV9vcHRzIiA+IFwKLQkJIiRzdGF0ZV9kaXIiL3N0cmF0ZWd5X29wdHMKLQl0ZXN0IC1uICIkYWxsb3dfcmVyZXJlX2F1dG91cGRhdGUiICYmIGVjaG8gIiRhbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSIgPiBcCi0JCSIkc3RhdGVfZGlyIi9hbGxvd19yZXJlcmVfYXV0b3VwZGF0ZQotCXRlc3QgLW4gIiRncGdfc2lnbl9vcHQiICYmIGVjaG8gIiRncGdfc2lnbl9vcHQiID4gIiRzdGF0ZV9kaXIiL2dwZ19zaWduX29wdAotCXRlc3QgLW4gIiRzaWdub2ZmIiAmJiBlY2hvICIkc2lnbm9mZiIgPiIkc3RhdGVfZGlyIi9zaWdub2ZmCi19Ci0KLWFwcGx5X2F1dG9zdGFzaCAoKSB7Ci0JaWYgdGVzdCAtZiAiJHN0YXRlX2Rpci9hdXRvc3Rhc2giCi0JdGhlbgotCQlzdGFzaF9zaGExPSQoY2F0ICIkc3RhdGVfZGlyL2F1dG9zdGFzaCIpCi0JCWlmIGdpdCBzdGFzaCBhcHBseSAkc3Rhc2hfc2hhMSA+L2Rldi9udWxsIDI+JjEKLQkJdGhlbgotCQkJZWNobyAiJChnZXR0ZXh0ICdBcHBsaWVkIGF1dG9zdGFzaC4nKSIgPiYyCi0JCWVsc2UKLQkJCWdpdCBzdGFzaCBzdG9yZSAtbSAiYXV0b3N0YXNoIiAtcSAkc3Rhc2hfc2hhMSB8fAotCQkJZGllICIkKGV2YWxfZ2V0dGV4dCAiQ2Fubm90IHN0b3JlIFwkc3Rhc2hfc2hhMSIpIgotCQkJZ2V0dGV4dCAnQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy4KLVlvdXIgY2hhbmdlcyBhcmUgc2FmZSBpbiB0aGUgc3Rhc2guCi1Zb3UgY2FuIHJ1biAiZ2l0IHN0YXNoIHBvcCIgb3IgImdpdCBzdGFzaCBkcm9wIiBhdCBhbnkgdGltZS4KLScgPiYyCi0JCWZpCi0JZmkKLX0KLQotbW92ZV90b19vcmlnaW5hbF9icmFuY2ggKCkgewotCWNhc2UgIiRoZWFkX25hbWUiIGluCi0JcmVmcy8qKQotCQltZXNzYWdlPSJyZWJhc2UgZmluaXNoZWQ6ICRoZWFkX25hbWUgb250byAkb250byIKLQkJZ2l0IHVwZGF0ZS1yZWYgLW0gIiRtZXNzYWdlIiBcCi0JCQkkaGVhZF9uYW1lICQoZ2l0IHJldi1wYXJzZSBIRUFEKSAkb3JpZ19oZWFkICYmCi0JCWdpdCBzeW1ib2xpYy1yZWYgXAotCQkJLW0gInJlYmFzZSBmaW5pc2hlZDogcmV0dXJuaW5nIHRvICRoZWFkX25hbWUiIFwKLQkJCUhFQUQgJGhlYWRfbmFtZSB8fAotCQlkaWUgIiQoZXZhbF9nZXR0ZXh0ICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvIFwkaGVhZF9uYW1lIikiCi0JCTs7Ci0JZXNhYwotfQotCi1vdXRwdXQgKCkgewotCWNhc2UgIiR2ZXJib3NlIiBpbgotCScnKQotCQlvdXRwdXQ9JCgiJEAiIDI+JjEgKQotCQlzdGF0dXM9JD8KLQkJdGVzdCAkc3RhdHVzICE9IDAgJiYgcHJpbnRmICIlc1xuIiAiJG91dHB1dCIKLQkJcmV0dXJuICRzdGF0dXMKLQkJOzsKLQkqKQotCQkiJEAiCi0JCTs7Ci0JZXNhYwotfQpkaWZmIC0tZ2l0IGEvZ2l0LXJlYmFzZS0tbWVyZ2Uuc2ggYi9naXQtcmViYXNlLS1tZXJnZS5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWEyZjJmMC4uMDAwMDAwMAotLS0gYS9naXQtcmViYXNlLS1tZXJnZS5zaAorKysgL2Rldi9udWxsCkBAIC0xLDE2NCArMCwwIEBACi0jIFRoaXMgc2hlbGwgc2NyaXB0IGZyYWdtZW50IGlzIHNvdXJjZWQgYnkgZ2l0LXJlYmFzZSB0byBpbXBsZW1lbnQKLSMgaXRzIG1lcmdlLWJhc2VkIG5vbi1pbnRlcmFjdGl2ZSBtb2RlIHRoYXQgY29wZXMgd2VsbCB3aXRoIHJlbmFtZWQKLSMgZmlsZXMuCi0jCi0jIENvcHlyaWdodCAoYykgMjAxMCBKdW5pbyBDIEhhbWFuby4KLSMKLQotcHJlYz00Ci0KLXJlYWRfc3RhdGUgKCkgewotCW9udG9fbmFtZT0kKGNhdCAiJHN0YXRlX2RpciIvb250b19uYW1lKSAmJgotCWVuZD0kKGNhdCAiJHN0YXRlX2RpciIvZW5kKSAmJgotCW1zZ251bT0kKGNhdCAiJHN0YXRlX2RpciIvbXNnbnVtKQotfQotCi1jb250aW51ZV9tZXJnZSAoKSB7Ci0JdGVzdCAtZCAiJHN0YXRlX2RpciIgfHwgZGllICIkc3RhdGVfZGlyIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCIKLQotCXVubWVyZ2VkPSQoZ2l0IGxzLWZpbGVzIC11KQotCWlmIHRlc3QgLW4gIiR1bm1lcmdlZCIKLQl0aGVuCi0JCWVjaG8gIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXgiCi0JCWVjaG8gImRpZCB5b3UgZm9yZ2V0IHRvIHVzZSBnaXQgYWRkPyIKLQkJZGllICIkcmVzb2x2ZW1zZyIKLQlmaQotCi0JY210PSQoY2F0ICIkc3RhdGVfZGlyL2N1cnJlbnQiKQotCWlmICEgZ2l0IGRpZmYtaW5kZXggLS1xdWlldCAtLWlnbm9yZS1zdWJtb2R1bGVzIEhFQUQgLS0KLQl0aGVuCi0JCWlmICEgZ2l0IGNvbW1pdCAke2dwZ19zaWduX29wdDorIiRncGdfc2lnbl9vcHQifSAkc2lnbm9mZiAkYWxsb3dfZW1wdHlfbWVzc2FnZSBcCi0JCQktLW5vLXZlcmlmeSAtQyAiJGNtdCIKLQkJdGhlbgotCQkJZWNobyAiQ29tbWl0IGZhaWxlZCwgcGxlYXNlIGRvIG5vdCBjYWxsIFwiZ2l0IGNvbW1pdFwiIgotCQkJZWNobyAiZGlyZWN0bHksIGJ1dCBpbnN0ZWFkIGRvIG9uZSBvZiB0aGUgZm9sbG93aW5nOiAiCi0JCQlkaWUgIiRyZXNvbHZlbXNnIgotCQlmaQotCQlpZiB0ZXN0IC16ICIkR0lUX1FVSUVUIgotCQl0aGVuCi0JCQlwcmludGYgIkNvbW1pdHRlZDogJTAke3ByZWN9ZCAiICRtc2dudW0KLQkJZmkKLQkJZWNobyAiJGNtdCAkKGdpdCByZXYtcGFyc2UgSEVBRF4wKSIgPj4gIiRzdGF0ZV9kaXIvcmV3cml0dGVuIgotCWVsc2UKLQkJaWYgdGVzdCAteiAiJEdJVF9RVUlFVCIKLQkJdGhlbgotCQkJcHJpbnRmICJBbHJlYWR5IGFwcGxpZWQ6ICUwJHtwcmVjfWQgIiAkbXNnbnVtCi0JCWZpCi0JZmkKLQl0ZXN0IC16ICIkR0lUX1FVSUVUIiAmJgotCUdJVF9QQUdFUj0nJyBnaXQgbG9nIC0tZm9ybWF0PSVzIC0xICIkY210IgotCi0JIyBvbnRvIHRoZSBuZXh0IHBhdGNoOgotCW1zZ251bT0kKCgkbXNnbnVtICsgMSkpCi0JZWNobyAiJG1zZ251bSIgPiIkc3RhdGVfZGlyL21zZ251bSIKLX0KLQotY2FsbF9tZXJnZSAoKSB7Ci0JbXNnbnVtPSIkMSIKLQllY2hvICIkbXNnbnVtIiA+IiRzdGF0ZV9kaXIvbXNnbnVtIgotCWNtdD0iJChjYXQgIiRzdGF0ZV9kaXIvY210LiRtc2dudW0iKSIKLQllY2hvICIkY210IiA+ICIkc3RhdGVfZGlyL2N1cnJlbnQiCi0JZ2l0IHVwZGF0ZS1yZWYgUkVCQVNFX0hFQUQgIiRjbXQiCi0JaGQ9JChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQpCi0JY210X25hbWU9JChnaXQgc3ltYm9saWMtcmVmIEhFQUQgMj4gL2Rldi9udWxsIHx8IGVjaG8gSEVBRCkKLQlldmFsIEdJVEhFQURfJGNtdD0nIiR7Y210X25hbWUjI3JlZnMvaGVhZHMvfX4kKCgkZW5kIC0gJG1zZ251bSkpIicKLQlldmFsIEdJVEhFQURfJGhkPSckb250b19uYW1lJwotCWV4cG9ydCBHSVRIRUFEXyRjbXQgR0lUSEVBRF8kaGQKLQlpZiB0ZXN0IC1uICIkR0lUX1FVSUVUIgotCXRoZW4KLQkJR0lUX01FUkdFX1ZFUkJPU0lUWT0xICYmIGV4cG9ydCBHSVRfTUVSR0VfVkVSQk9TSVRZCi0JZmkKLQl0ZXN0IC16ICIkc3RyYXRlZ3kiICYmIHN0cmF0ZWd5PXJlY3Vyc2l2ZQotCSMgSWYgY210IGRvZXNuJ3QgaGF2ZSBhIHBhcmVudCwgZG9uJ3QgaW5jbHVkZSBpdCBhcyBhIGJhc2UKLQliYXNlPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtLXF1aWV0ICRjbXReKQotCWV2YWwgJ2dpdCBtZXJnZS0kc3RyYXRlZ3knICRzdHJhdGVneV9vcHRzICRiYXNlICcgLS0gIiRoZCIgIiRjbXQiJwotCXJ2PSQ/Ci0JY2FzZSAiJHJ2IiBpbgotCTApCi0JCXVuc2V0IEdJVEhFQURfJGNtdCBHSVRIRUFEXyRoZAotCQlyZXR1cm4KLQkJOzsKLQkxKQotCQlnaXQgcmVyZXJlICRhbGxvd19yZXJlcmVfYXV0b3VwZGF0ZQotCQlkaWUgIiRyZXNvbHZlbXNnIgotCQk7OwotCTIpCi0JCWVjaG8gIlN0cmF0ZWd5OiAkc3RyYXRlZ3kgZmFpbGVkLCB0cnkgYW5vdGhlciIgMT4mMgotCQlkaWUgIiRyZXNvbHZlbXNnIgotCQk7OwotCSopCi0JCWRpZSAiVW5rbm93biBleGl0IGNvZGUgKCRydikgZnJvbSBjb21tYW5kOiIgXAotCQkJImdpdCBtZXJnZS0kc3RyYXRlZ3kgJGNtdF4gLS0gSEVBRCAkY210IgotCQk7OwotCWVzYWMKLX0KLQotZmluaXNoX3JiX21lcmdlICgpIHsKLQltb3ZlX3RvX29yaWdpbmFsX2JyYW5jaAotCWlmIHRlc3QgLXMgIiRzdGF0ZV9kaXIiL3Jld3JpdHRlbgotCXRoZW4KLQkJZ2l0IG5vdGVzIGNvcHkgLS1mb3ItcmV3cml0ZT1yZWJhc2UgPCIkc3RhdGVfZGlyIi9yZXdyaXR0ZW4KLQkJaG9vaz0iJChnaXQgcmV2LXBhcnNlIC0tZ2l0LXBhdGggaG9va3MvcG9zdC1yZXdyaXRlKSIKLQkJdGVzdCAteCAiJGhvb2siICYmICIkaG9vayIgcmViYXNlIDwiJHN0YXRlX2RpciIvcmV3cml0dGVuCi0JZmkKLQlzYXkgQWxsIGRvbmUuCi19Ci0KLWdpdF9yZWJhc2VfX21lcmdlICgpIHsKLQotY2FzZSAiJGFjdGlvbiIgaW4KLWNvbnRpbnVlKQotCXJlYWRfc3RhdGUKLQljb250aW51ZV9tZXJnZQotCXdoaWxlIHRlc3QgIiRtc2dudW0iIC1sZSAiJGVuZCIKLQlkbwotCQljYWxsX21lcmdlICIkbXNnbnVtIgotCQljb250aW51ZV9tZXJnZQotCWRvbmUKLQlmaW5pc2hfcmJfbWVyZ2UKLQlyZXR1cm4KLQk7Owotc2tpcCkKLQlyZWFkX3N0YXRlCi0JZ2l0IHJlcmVyZSBjbGVhcgotCW1zZ251bT0kKCgkbXNnbnVtICsgMSkpCi0Jd2hpbGUgdGVzdCAiJG1zZ251bSIgLWxlICIkZW5kIgotCWRvCi0JCWNhbGxfbWVyZ2UgIiRtc2dudW0iCi0JCWNvbnRpbnVlX21lcmdlCi0JZG9uZQotCWZpbmlzaF9yYl9tZXJnZQotCXJldHVybgotCTs7Ci1zaG93LWN1cnJlbnQtcGF0Y2gpCi0JZXhlYyBnaXQgc2hvdyBSRUJBU0VfSEVBRCAtLQotCTs7Ci1lc2FjCi0KLW1rZGlyIC1wICIkc3RhdGVfZGlyIgotZWNobyAiJG9udG9fbmFtZSIgPiAiJHN0YXRlX2Rpci9vbnRvX25hbWUiCi13cml0ZV9iYXNpY19zdGF0ZQotcm0gLWYgIiQoZ2l0IHJldi1wYXJzZSAtLWdpdC1wYXRoIFJFQkFTRV9IRUFEKSIKLQotbXNnbnVtPTAKLWZvciBjbXQgaW4gJChnaXQgcmV2LWxpc3QgLS1yZXZlcnNlIC0tbm8tbWVyZ2VzICIkcmV2aXNpb25zIikKLWRvCi0JbXNnbnVtPSQoKCRtc2dudW0gKyAxKSkKLQllY2hvICIkY210IiA+ICIkc3RhdGVfZGlyL2NtdC4kbXNnbnVtIgotZG9uZQotCi1lY2hvIDEgPiIkc3RhdGVfZGlyL21zZ251bSIKLWVjaG8gJG1zZ251bSA+IiRzdGF0ZV9kaXIvZW5kIgotCi1lbmQ9JG1zZ251bQotbXNnbnVtPTEKLQotd2hpbGUgdGVzdCAiJG1zZ251bSIgLWxlICIkZW5kIgotZG8KLQljYWxsX21lcmdlICIkbXNnbnVtIgotCWNvbnRpbnVlX21lcmdlCi1kb25lCi0KLWZpbmlzaF9yYl9tZXJnZQotCi19CmRpZmYgLS1naXQgYS9naXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2ggYi9naXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2gKaW5kZXggYWZiYjY1Ny4uZGVjOTBlOSAxMDA2NDQKLS0tIGEvZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoCisrKyBiL2dpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaApAQCAtNzcsNiArNzcsNjEgQEAKICMgYW5kIGxlYXZlcyBDUiBhdCB0aGUgZW5kIGluc3RlYWQuCiBjcj0kKHByaW50ZiAiXDAxNSIpCiAKK3Jlc29sdmVtc2c9IgorJChnZXR0ZXh0ICdSZXNvbHZlIGFsbCBjb25mbGljdHMgbWFudWFsbHksIG1hcmsgdGhlbSBhcyByZXNvbHZlZCB3aXRoCisiZ2l0IGFkZC9ybSA8Y29uZmxpY3RlZF9maWxlcz4iLCB0aGVuIHJ1biAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIi4KK1lvdSBjYW4gaW5zdGVhZCBza2lwIHRoaXMgY29tbWl0OiBydW4gImdpdCByZWJhc2UgLS1za2lwIi4KK1RvIGFib3J0IGFuZCBnZXQgYmFjayB0byB0aGUgc3RhdGUgYmVmb3JlICJnaXQgcmViYXNlIiwgcnVuICJnaXQgcmViYXNlIC0tYWJvcnQiLicpCisiCisKK3dyaXRlX2Jhc2ljX3N0YXRlICgpIHsKKwllY2hvICIkaGVhZF9uYW1lIiA+ICIkc3RhdGVfZGlyIi9oZWFkLW5hbWUgJiYKKwllY2hvICIkb250byIgPiAiJHN0YXRlX2RpciIvb250byAmJgorCWVjaG8gIiRvcmlnX2hlYWQiID4gIiRzdGF0ZV9kaXIiL29yaWctaGVhZCAmJgorCXRlc3QgdCA9ICIkR0lUX1FVSUVUIiAmJiA6ID4gIiRzdGF0ZV9kaXIiL3F1aWV0CisJdGVzdCB0ID0gIiR2ZXJib3NlIiAmJiA6ID4gIiRzdGF0ZV9kaXIiL3ZlcmJvc2UKKwl0ZXN0IC1uICIkc3RyYXRlZ3kiICYmIGVjaG8gIiRzdHJhdGVneSIgPiAiJHN0YXRlX2RpciIvc3RyYXRlZ3kKKwl0ZXN0IC1uICIkc3RyYXRlZ3lfb3B0cyIgJiYgZWNobyAiJHN0cmF0ZWd5X29wdHMiID4gXAorCQkiJHN0YXRlX2RpciIvc3RyYXRlZ3lfb3B0cworCXRlc3QgLW4gIiRhbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSIgJiYgZWNobyAiJGFsbG93X3JlcmVyZV9hdXRvdXBkYXRlIiA+IFwKKwkJIiRzdGF0ZV9kaXIiL2FsbG93X3JlcmVyZV9hdXRvdXBkYXRlCisJdGVzdCAtbiAiJGdwZ19zaWduX29wdCIgJiYgZWNobyAiJGdwZ19zaWduX29wdCIgPiAiJHN0YXRlX2RpciIvZ3BnX3NpZ25fb3B0CisJdGVzdCAtbiAiJHNpZ25vZmYiICYmIGVjaG8gIiRzaWdub2ZmIiA+IiRzdGF0ZV9kaXIiL3NpZ25vZmYKKwl0ZXN0IC1uICIkcmVzY2hlZHVsZV9mYWlsZWRfZXhlYyIgJiYgOiA+ICIkc3RhdGVfZGlyIi9yZXNjaGVkdWxlLWZhaWxlZC1leGVjCit9CisKK2FwcGx5X2F1dG9zdGFzaCAoKSB7CisJaWYgdGVzdCAtZiAiJHN0YXRlX2Rpci9hdXRvc3Rhc2giCisJdGhlbgorCQlzdGFzaF9zaGExPSQoY2F0ICIkc3RhdGVfZGlyL2F1dG9zdGFzaCIpCisJCWlmIGdpdCBzdGFzaCBhcHBseSAkc3Rhc2hfc2hhMSA+L2Rldi9udWxsIDI+JjEKKwkJdGhlbgorCQkJZWNobyAiJChnZXR0ZXh0ICdBcHBsaWVkIGF1dG9zdGFzaC4nKSIgPiYyCisJCWVsc2UKKwkJCWdpdCBzdGFzaCBzdG9yZSAtbSAiYXV0b3N0YXNoIiAtcSAkc3Rhc2hfc2hhMSB8fAorCQkJZGllICIkKGV2YWxfZ2V0dGV4dCAiQ2Fubm90IHN0b3JlIFwkc3Rhc2hfc2hhMSIpIgorCQkJZ2V0dGV4dCAnQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy4KK1lvdXIgY2hhbmdlcyBhcmUgc2FmZSBpbiB0aGUgc3Rhc2guCitZb3UgY2FuIHJ1biAiZ2l0IHN0YXNoIHBvcCIgb3IgImdpdCBzdGFzaCBkcm9wIiBhdCBhbnkgdGltZS4KKycgPiYyCisJCWZpCisJZmkKK30KKworb3V0cHV0ICgpIHsKKwljYXNlICIkdmVyYm9zZSIgaW4KKwknJykKKwkJb3V0cHV0PSQoIiRAIiAyPiYxICkKKwkJc3RhdHVzPSQ/CisJCXRlc3QgJHN0YXR1cyAhPSAwICYmIHByaW50ZiAiJXNcbiIgIiRvdXRwdXQiCisJCXJldHVybiAkc3RhdHVzCisJCTs7CisJKikKKwkJIiRAIgorCQk7OworCWVzYWMKK30KKwogc3RyYXRlZ3lfYXJncz0ke3N0cmF0ZWd5OistLXN0cmF0ZWd5PSRzdHJhdGVneX0KIHRlc3QgLW4gIiRzdHJhdGVneV9vcHRzIiAmJgogZXZhbCAnCmRpZmYgLS1naXQgYS9naXQtcmVxdWVzdC1wdWxsLnNoIGIvZ2l0LXJlcXVlc3QtcHVsbC5zaAppbmRleCAxM2MxNzJiLi4yZDBlNDQ2IDEwMDc1NQotLS0gYS9naXQtcmVxdWVzdC1wdWxsLnNoCisrKyBiL2dpdC1yZXF1ZXN0LXB1bGwuc2gKQEAgLTY1LDYgKzY1LDggQEAKIGhlYWRyZXY9JChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IC0tcXVpZXQgIiRoZWFkIl4wKQogdGVzdCAteiAiJGhlYWRyZXYiICYmIGRpZSAiZmF0YWw6IEFtYmlndW91cyByZXZpc2lvbjogJGxvY2FsIgogCitsb2NhbF9zaGExPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAtLXF1aWV0ICIkaGVhZCIpCisKICMgV2FzIGl0IGEgYnJhbmNoIHdpdGggYSBkZXNjcmlwdGlvbj8KIGJyYW5jaF9uYW1lPSR7aGVhZCNyZWZzL2hlYWRzL30KIGlmIHRlc3QgInokYnJhbmNoX25hbWUiID0gInokaGVhZHJlZiIgfHwKQEAgLTc3LDQzICs3OSw1MyBAQAogZGllICJmYXRhbDogTm8gY29tbWl0cyBpbiBjb21tb24gYmV0d2VlbiAkYmFzZSBhbmQgJGhlYWQiCiAKICMgJGhlYWQgaXMgdGhlIHJlZm5hbWUgZnJvbSB0aGUgY29tbWFuZCBsaW5lLgotIyBJZiBhIHJlZiB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgJGhlYWQgZXhpc3RzIGF0IHRoZSByZW1vdGUKLSMgYW5kIHRoZWlyIHZhbHVlcyBtYXRjaCwgdXNlIHRoYXQuCi0jCi0jIE90aGVyd2lzZSBmaW5kIGEgcmFuZG9tIHJlZiB0aGF0IG1hdGNoZXMgJGhlYWRyZXYuCisjIEZpbmQgYSByZWYgd2l0aCB0aGUgc2FtZSBuYW1lIGFzICRoZWFkIHRoYXQgZXhpc3RzIGF0IHRoZSByZW1vdGUKKyMgYW5kIHBvaW50cyB0byB0aGUgc2FtZSBjb21taXQgYXMgdGhlIGxvY2FsIG9iamVjdC4KIGZpbmRfbWF0Y2hpbmdfcmVmPScKIAlteSAoJGhlYWQsJGhlYWRyZXYpID0gKEBBUkdWKTsKLQlteSAoJGZvdW5kKTsKKwlteSAkcGF0dGVybiA9IHFyey9cUSRoZWFkXEUkfTsKKwlteSAoJHJlbW90ZV9zaGExLCAkZm91bmQpOwogCiAJd2hpbGUgKDxTVERJTj4pIHsKIAkJY2hvbXA7CiAJCW15ICgkc2hhMSwgJHJlZiwgJGRlcmVmKSA9IC9eKFxTKylccysoW15eXSspKFxTKikkLzsKLQkJbXkgKCRwYXR0ZXJuKTsKLQkJbmV4dCB1bmxlc3MgKCRzaGExIGVxICRoZWFkcmV2KTsKIAotCQkkcGF0dGVybj0iLyRoZWFkXCQiOwotCQlpZiAoJHJlZiBlcSAkaGVhZCkgewotCQkJJGZvdW5kID0gJHJlZjsKLQkJfQotCQlpZiAoJHJlZiA9fiAvJHBhdHRlcm4vKSB7Ci0JCQkkZm91bmQgPSAkcmVmOwotCQl9CiAJCWlmICgkc2hhMSBlcSAkaGVhZCkgewotCQkJJGZvdW5kID0gJHNoYTE7CisJCQkkZm91bmQgPSAkcmVtb3RlX3NoYTEgPSAkc2hhMTsKKwkJCWJyZWFrOworCQl9CisKKwkJaWYgKCRyZWYgZXEgJGhlYWQgfHwgJHJlZiA9fiAkcGF0dGVybikgeworCQkJaWYgKCRkZXJlZiBlcSAiIikgeworCQkJCSMgUmVtZW1iZXIgdGhlIG1hdGNoaW5nIG9iamVjdCBvbiB0aGUgcmVtb3RlIHNpZGUKKwkJCQkkcmVtb3RlX3NoYTEgPSAkc2hhMTsKKwkJCX0KKwkJCWlmICgkc2hhMSBlcSAkaGVhZHJldikgeworCQkJCSRmb3VuZCA9ICRyZWY7CisJCQkJYnJlYWs7CisJCQl9CiAJCX0KIAl9CiAJaWYgKCRmb3VuZCkgewotCQlwcmludCAiJGZvdW5kXG4iOworCQkkcmVtb3RlX3NoYTEgPSAkaGVhZHJldiBpZiAhIGRlZmluZWQgJHJlbW90ZV9zaGExOworCQlwcmludCAiJHJlbW90ZV9zaGExICRmb3VuZFxuIjsKIAl9CiAnCiAKLXJlZj0kKGdpdCBscy1yZW1vdGUgIiR1cmwiIHwgQEBQRVJMQEAgLWUgIiRmaW5kX21hdGNoaW5nX3JlZiIgIiR7cmVtb3RlOi1IRUFEfSIgIiRoZWFkcmV2IikKK3NldCBmbm9yZCAkKGdpdCBscy1yZW1vdGUgIiR1cmwiIHwgQEBQRVJMQEAgLWUgIiRmaW5kX21hdGNoaW5nX3JlZiIgIiR7cmVtb3RlOi1IRUFEfSIgIiRoZWFkcmV2IikKK3JlbW90ZV9zaGExPSQyCityZWY9JDMKIAogaWYgdGVzdCAteiAiJHJlZiIKIHRoZW4KIAllY2hvICJ3YXJuOiBObyBtYXRjaCBmb3IgY29tbWl0ICRoZWFkcmV2IGZvdW5kIGF0ICR1cmwiID4mMgogCWVjaG8gIndhcm46IEFyZSB5b3Ugc3VyZSB5b3UgcHVzaGVkICcke3JlbW90ZTotSEVBRH0nIHRoZXJlPyIgPiYyCiAJc3RhdHVzPTEKK2VsaWYgdGVzdCAiJGxvY2FsX3NoYTEiICE9ICIkcmVtb3RlX3NoYTEiCit0aGVuCisJZWNobyAid2FybjogJGhlYWQgZm91bmQgYXQgJHVybCBidXQgcG9pbnRzIHRvIGEgZGlmZmVyZW50IG9iamVjdCIgPiYyCisJZWNobyAid2FybjogQXJlIHlvdSBzdXJlIHlvdSBwdXNoZWQgJyR7cmVtb3RlOi1IRUFEfScgdGhlcmU/IiA+JjIKKwlzdGF0dXM9MQogZmkKIAogIyBTcGVjaWFsIGNhc2U6IHR1cm4gImZvcl9saW51cyIgdG8gInRhZ3MvZm9yX2xpbnVzIiB3aGVuIGl0IGlzIGNvcnJlY3QKZGlmZiAtLWdpdCBhL2dpdC1zZW5kLWVtYWlsLnBlcmwgYi9naXQtc2VuZC1lbWFpbC5wZXJsCmluZGV4IDhlYjYzYjUuLmRjOTU2NTYgMTAwNzU1Ci0tLSBhL2dpdC1zZW5kLWVtYWlsLnBlcmwKKysrIGIvZ2l0LXNlbmQtZW1haWwucGVybApAQCAtMTc3LDExICsxNzcsMTUgQEAKIG15ICRyZV9lbmNvZGVkX3dvcmQgPSBxci89XD8oJHJlX3Rva2VuKVw/KCRyZV90b2tlbilcPygkcmVfZW5jb2RlZF90ZXh0KVw/PS87CiAKICMgVmFyaWFibGVzIHdlIGZpbGwgaW4gYXV0b21hdGljYWxseSwgb3IgdmlhIHByb21wdGluZzoKLW15IChAdG8sJG5vX3RvLEBpbml0aWFsX3RvLEBjYywkbm9fY2MsQGluaXRpYWxfY2MsQGJjY2xpc3QsJG5vX2JjYyxAeGgsCitteSAoQHRvLEBjYyxAeGgsJGVudmVsb3BlX3NlbmRlciwKIAkkaW5pdGlhbF9pbl9yZXBseV90bywkcmVwbHlfdG8sJGluaXRpYWxfc3ViamVjdCxAZmlsZXMsCi0JJGF1dGhvciwkc2VuZGVyLCRzbXRwX2F1dGhwYXNzLCRhbm5vdGF0ZSwkdXNlX3htYWlsZXIsJGNvbXBvc2UsJHRpbWUpOwotCi1teSAkZW52ZWxvcGVfc2VuZGVyOworCSRhdXRob3IsJHNlbmRlciwkc210cF9hdXRocGFzcywkYW5ub3RhdGUsJGNvbXBvc2UsJHRpbWUpOworIyBUaGluZ3Mgd2UgZWl0aGVyIGdldCBmcm9tIGNvbmZpZywgKm9yKiBhcmUgb3ZlcnJpZGRlbiBvbiB0aGUKKyMgY29tbWFuZC1saW5lLgorbXkgKCRub19jYywgJG5vX3RvLCAkbm9fYmNjLCAkbm9faWRlbnRpdHkpOworbXkgKEBjb25maWdfdG8sIEBnZXRvcHRfdG8pOworbXkgKEBjb25maWdfY2MsIEBnZXRvcHRfY2MpOworbXkgKEBjb25maWdfYmNjLCBAZ2V0b3B0X2JjYyk7CiAKICMgRXhhbXBsZSByZXBseSB0bzoKICMkaW5pdGlhbF9pbl9yZXBseV90byA9ICcnOyAjPDIwMDUwMjAzMTczMjA4LkdBMjM5NjRAZm9vYmFyLmNvbT4nOwpAQCAtMjI4LDMzICsyMzIsMzcgQEAKIH0KIAogIyBWYXJpYWJsZXMgd2l0aCBjb3JyZXNwb25kaW5nIGNvbmZpZyBzZXR0aW5ncwotbXkgKCR0aHJlYWQsICRjaGFpbl9yZXBseV90bywgJHN1cHByZXNzX2Zyb20sICRzaWduZWRfb2ZmX2J5X2NjKTsKK215ICgkc3VwcHJlc3NfZnJvbSwgJHNpZ25lZF9vZmZfYnlfY2MpOwogbXkgKCRjb3Zlcl9jYywgJGNvdmVyX3RvKTsKIG15ICgkdG9fY21kLCAkY2NfY21kKTsKIG15ICgkc210cF9zZXJ2ZXIsICRzbXRwX3NlcnZlcl9wb3J0LCBAc210cF9zZXJ2ZXJfb3B0aW9ucyk7CiBteSAoJHNtdHBfYXV0aHVzZXIsICRzbXRwX2VuY3J5cHRpb24sICRzbXRwX3NzbF9jZXJ0X3BhdGgpOwogbXkgKCRiYXRjaF9zaXplLCAkcmVsb2dpbl9kZWxheSk7CiBteSAoJGlkZW50aXR5LCAkYWxpYXNmaWxldHlwZSwgQGFsaWFzX2ZpbGVzLCAkc210cF9kb21haW4sICRzbXRwX2F1dGgpOwotbXkgKCR2YWxpZGF0ZSwgJGNvbmZpcm0pOworbXkgKCRjb25maXJtKTsKIG15IChAc3VwcHJlc3NfY2MpOwogbXkgKCRhdXRvXzhiaXRfZW5jb2RpbmcpOwogbXkgKCRjb21wb3NlX2VuY29kaW5nKTsKKyMgVmFyaWFibGVzIHdpdGggY29ycmVzcG9uZGluZyBjb25maWcgc2V0dGluZ3MgJiBoYXJkY29kZWQgZGVmYXVsdHMKK215ICgkZGVidWdfbmV0X3NtdHApID0gMDsJCSMgTmV0OjpTTVRQLCBzZWUgc2VuZF9tZXNzYWdlKCkKK215ICR0aHJlYWQgPSAxOworbXkgJGNoYWluX3JlcGx5X3RvID0gMDsKK215ICR1c2VfeG1haWxlciA9IDE7CitteSAkdmFsaWRhdGUgPSAxOwogbXkgJHRhcmdldF94ZmVyX2VuY29kaW5nID0gJ2F1dG8nOwogCi1teSAoJGRlYnVnX25ldF9zbXRwKSA9IDA7CQkjIE5ldDo6U01UUCwgc2VlIHNlbmRfbWVzc2FnZSgpCi0KIG15ICVjb25maWdfYm9vbF9zZXR0aW5ncyA9ICgKLSAgICAidGhyZWFkIiA9PiBbXCR0aHJlYWQsIDFdLAotICAgICJjaGFpbnJlcGx5dG8iID0+IFtcJGNoYWluX3JlcGx5X3RvLCAwXSwKLSAgICAic3VwcHJlc3Nmcm9tIiA9PiBbXCRzdXBwcmVzc19mcm9tLCB1bmRlZl0sCi0gICAgInNpZ25lZG9mZmJ5Y2MiID0+IFtcJHNpZ25lZF9vZmZfYnlfY2MsIHVuZGVmXSwKLSAgICAiY2Njb3ZlciIgPT4gW1wkY292ZXJfY2MsIHVuZGVmXSwKLSAgICAidG9jb3ZlciIgPT4gW1wkY292ZXJfdG8sIHVuZGVmXSwKLSAgICAic2lnbmVkb2ZmY2MiID0+IFtcJHNpZ25lZF9vZmZfYnlfY2MsIHVuZGVmXSwgICAgICAjIERlcHJlY2F0ZWQKLSAgICAidmFsaWRhdGUiID0+IFtcJHZhbGlkYXRlLCAxXSwKLSAgICAibXVsdGllZGl0IiA9PiBbXCRtdWx0aWVkaXQsIHVuZGVmXSwKLSAgICAiYW5ub3RhdGUiID0+IFtcJGFubm90YXRlLCB1bmRlZl0sCi0gICAgInhtYWlsZXIiID0+IFtcJHVzZV94bWFpbGVyLCAxXQorICAgICJ0aHJlYWQiID0+IFwkdGhyZWFkLAorICAgICJjaGFpbnJlcGx5dG8iID0+IFwkY2hhaW5fcmVwbHlfdG8sCisgICAgInN1cHByZXNzZnJvbSIgPT4gXCRzdXBwcmVzc19mcm9tLAorICAgICJzaWduZWRvZmZieWNjIiA9PiBcJHNpZ25lZF9vZmZfYnlfY2MsCisgICAgImNjY292ZXIiID0+IFwkY292ZXJfY2MsCisgICAgInRvY292ZXIiID0+IFwkY292ZXJfdG8sCisgICAgInNpZ25lZG9mZmNjIiA9PiBcJHNpZ25lZF9vZmZfYnlfY2MsCisgICAgInZhbGlkYXRlIiA9PiBcJHZhbGlkYXRlLAorICAgICJtdWx0aWVkaXQiID0+IFwkbXVsdGllZGl0LAorICAgICJhbm5vdGF0ZSIgPT4gXCRhbm5vdGF0ZSwKKyAgICAieG1haWxlciIgPT4gXCR1c2VfeG1haWxlciwKICk7CiAKIG15ICVjb25maWdfc2V0dGluZ3MgPSAoCkBAIC0yNjcsMTIgKzI3NSwxMiBAQAogICAgICJzbXRwYXV0aCIgPT4gXCRzbXRwX2F1dGgsCiAgICAgInNtdHBiYXRjaHNpemUiID0+IFwkYmF0Y2hfc2l6ZSwKICAgICAic210cHJlbG9naW5kZWxheSIgPT4gXCRyZWxvZ2luX2RlbGF5LAotICAgICJ0byIgPT4gXEBpbml0aWFsX3RvLAorICAgICJ0byIgPT4gXEBjb25maWdfdG8sCiAgICAgInRvY21kIiA9PiBcJHRvX2NtZCwKLSAgICAiY2MiID0+IFxAaW5pdGlhbF9jYywKKyAgICAiY2MiID0+IFxAY29uZmlnX2NjLAogICAgICJjY2NtZCIgPT4gXCRjY19jbWQsCiAgICAgImFsaWFzZmlsZXR5cGUiID0+IFwkYWxpYXNmaWxldHlwZSwKLSAgICAiYmNjIiA9PiBcQGJjY2xpc3QsCisgICAgImJjYyIgPT4gXEBjb25maWdfYmNjLAogICAgICJzdXBwcmVzc2NjIiA9PiBcQHN1cHByZXNzX2NjLAogICAgICJlbnZlbG9wZXNlbmRlciIgPT4gXCRlbnZlbG9wZV9zZW5kZXIsCiAgICAgImNvbmZpcm0iICAgPT4gXCRjb25maXJtLApAQCAtMzE1LDEzICszMjMsODcgQEAKICRTSUd7VEVSTX0gPSBcJnNpZ25hbF9oYW5kbGVyOwogJFNJR3tJTlR9ICA9IFwmc2lnbmFsX2hhbmRsZXI7CiAKKyMgUmVhZCBvdXIgc2VuZGVtYWlsLiogY29uZmlnCitzdWIgcmVhZF9jb25maWcgeworCW15ICgkY29uZmlndXJlZCwgJHByZWZpeCkgPSBAXzsKKworCWZvcmVhY2ggbXkgJHNldHRpbmcgKGtleXMgJWNvbmZpZ19ib29sX3NldHRpbmdzKSB7CisJCW15ICR0YXJnZXQgPSAkY29uZmlnX2Jvb2xfc2V0dGluZ3N7JHNldHRpbmd9OworCQlteSAkdiA9IEdpdDo6Y29uZmlnX2Jvb2woQHJlcG8sICIkcHJlZml4LiRzZXR0aW5nIik7CisJCW5leHQgdW5sZXNzIGRlZmluZWQgJHY7CisJCW5leHQgaWYgJGNvbmZpZ3VyZWQtPnskc2V0dGluZ30rKzsKKwkJJCR0YXJnZXQgPSAkdjsKKwl9CisKKwlmb3JlYWNoIG15ICRzZXR0aW5nIChrZXlzICVjb25maWdfcGF0aF9zZXR0aW5ncykgeworCQlteSAkdGFyZ2V0ID0gJGNvbmZpZ19wYXRoX3NldHRpbmdzeyRzZXR0aW5nfTsKKwkJaWYgKHJlZigkdGFyZ2V0KSBlcSAiQVJSQVkiKSB7CisJCQlteSBAdmFsdWVzID0gR2l0Ojpjb25maWdfcGF0aChAcmVwbywgIiRwcmVmaXguJHNldHRpbmciKTsKKwkJCW5leHQgdW5sZXNzIEB2YWx1ZXM7CisJCQluZXh0IGlmICRjb25maWd1cmVkLT57JHNldHRpbmd9Kys7CisJCQlAJHRhcmdldCA9IEB2YWx1ZXM7CisJCX0KKwkJZWxzZSB7CisJCQlteSAkdiA9IEdpdDo6Y29uZmlnX3BhdGgoQHJlcG8sICIkcHJlZml4LiRzZXR0aW5nIik7CisJCQluZXh0IHVubGVzcyBkZWZpbmVkICR2OworCQkJbmV4dCBpZiAkY29uZmlndXJlZC0+eyRzZXR0aW5nfSsrOworCQkJJCR0YXJnZXQgPSAkdjsKKwkJfQorCX0KKworCWZvcmVhY2ggbXkgJHNldHRpbmcgKGtleXMgJWNvbmZpZ19zZXR0aW5ncykgeworCQlteSAkdGFyZ2V0ID0gJGNvbmZpZ19zZXR0aW5nc3skc2V0dGluZ307CisJCWlmIChyZWYoJHRhcmdldCkgZXEgIkFSUkFZIikgeworCQkJbXkgQHZhbHVlcyA9IEdpdDo6Y29uZmlnKEByZXBvLCAiJHByZWZpeC4kc2V0dGluZyIpOworCQkJbmV4dCB1bmxlc3MgQHZhbHVlczsKKwkJCW5leHQgaWYgJGNvbmZpZ3VyZWQtPnskc2V0dGluZ30rKzsKKwkJCUAkdGFyZ2V0ID0gQHZhbHVlczsKKwkJfQorCQllbHNlIHsKKwkJCW15ICR2ID0gR2l0Ojpjb25maWcoQHJlcG8sICIkcHJlZml4LiRzZXR0aW5nIik7CisJCQluZXh0IHVubGVzcyBkZWZpbmVkICR2OworCQkJbmV4dCBpZiAkY29uZmlndXJlZC0+eyRzZXR0aW5nfSsrOworCQkJJCR0YXJnZXQgPSAkdjsKKwkJfQorCX0KKworCWlmICghZGVmaW5lZCAkc210cF9lbmNyeXB0aW9uKSB7CisJCW15ICRzZXR0aW5nID0gIiRwcmVmaXguc210cGVuY3J5cHRpb24iOworCQlteSAkZW5jID0gR2l0Ojpjb25maWcoQHJlcG8sICRzZXR0aW5nKTsKKwkJcmV0dXJuIHVubGVzcyBkZWZpbmVkICRlbmM7CisJCXJldHVybiBpZiAkY29uZmlndXJlZC0+eyRzZXR0aW5nfSsrOworCQlpZiAoZGVmaW5lZCAkZW5jKSB7CisJCQkkc210cF9lbmNyeXB0aW9uID0gJGVuYzsKKwkJfSBlbHNpZiAoR2l0Ojpjb25maWdfYm9vbChAcmVwbywgIiRwcmVmaXguc210cHNzbCIpKSB7CisJCQkkc210cF9lbmNyeXB0aW9uID0gJ3NzbCc7CisJCX0KKwl9Cit9CisKKyMgc2VuZGVtYWlsLmlkZW50aXR5IHlpZWxkcyB0byAtLWlkZW50aXR5LiBXZSBtdXN0IHBhcnNlIHRoaXMKKyMgc3BlY2lhbC1jYXNlIGZpcnN0IGJlZm9yZSB0aGUgcmVzdCBvZiB0aGUgY29uZmlnIGlzIHJlYWQuCiskaWRlbnRpdHkgPSBHaXQ6OmNvbmZpZyhAcmVwbywgInNlbmRlbWFpbC5pZGVudGl0eSIpOworbXkgJHJjID0gR2V0T3B0aW9ucygKKwkiaWRlbnRpdHk9cyIgPT4gXCRpZGVudGl0eSwKKwkibm8taWRlbnRpdHkiID0+IFwkbm9faWRlbnRpdHksCispOwordXNhZ2UoKSB1bmxlc3MgJHJjOwordW5kZWYgJGlkZW50aXR5IGlmICRub19pZGVudGl0eTsKKworIyBOb3cgd2Uga25vdyBlbm91Z2ggdG8gcmVhZCB0aGUgY29uZmlnCit7CisgICAgbXkgJWNvbmZpZ3VyZWQ7CisgICAgcmVhZF9jb25maWcoXCVjb25maWd1cmVkLCAic2VuZGVtYWlsLiRpZGVudGl0eSIpIGlmIGRlZmluZWQgJGlkZW50aXR5OworICAgIHJlYWRfY29uZmlnKFwlY29uZmlndXJlZCwgInNlbmRlbWFpbCIpOworfQorCiAjIEJlZ2luIGJ5IGFjY3VtdWxhdGluZyBhbGwgdGhlIHZhcmlhYmxlcyAoZGVmaW5lZCBhYm92ZSksIHRoYXQgd2Ugd2lsbCBlbmQgdXAKICMgbmVlZGluZywgZmlyc3QsIGZyb20gdGhlIGNvbW1hbmQgbGluZToKIAogbXkgJGhlbHA7CiBteSAkZ2l0X2NvbXBsZXRpb25faGVscGVyOwotbXkgJHJjID0gR2V0T3B0aW9ucygiaCIgPT4gXCRoZWxwLAotICAgICAgICAgICAgICAgICAgICAiZHVtcC1hbGlhc2VzIiA9PiBcJGR1bXBfYWxpYXNlcyk7CiskcmMgPSBHZXRPcHRpb25zKCJoIiA9PiBcJGhlbHAsCisgICAgICAgICAgICAgICAgICJkdW1wLWFsaWFzZXMiID0+IFwkZHVtcF9hbGlhc2VzKTsKIHVzYWdlKCkgdW5sZXNzICRyYzsKIGRpZSBfXygiLS1kdW1wLWFsaWFzZXMgaW5jb21wYXRpYmxlIHdpdGggb3RoZXIgb3B0aW9uc1xuIikKICAgICBpZiAhJGhlbHAgYW5kICRkdW1wX2FsaWFzZXMgYW5kIEBBUkdWOwpAQCAtMzMwLDEyICs0MTIsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgImluLXJlcGx5LXRvPXMiID0+IFwkaW5pdGlhbF9pbl9yZXBseV90bywKIAkJICAgICJyZXBseS10bz1zIiA9PiBcJHJlcGx5X3RvLAogCQkgICAgInN1YmplY3Q9cyIgPT4gXCRpbml0aWFsX3N1YmplY3QsCi0JCSAgICAidG89cyIgPT4gXEBpbml0aWFsX3RvLAorCQkgICAgInRvPXMiID0+IFxAZ2V0b3B0X3RvLAogCQkgICAgInRvLWNtZD1zIiA9PiBcJHRvX2NtZCwKIAkJICAgICJuby10byIgPT4gXCRub190bywKLQkJICAgICJjYz1zIiA9PiBcQGluaXRpYWxfY2MsCisJCSAgICAiY2M9cyIgPT4gXEBnZXRvcHRfY2MsCiAJCSAgICAibm8tY2MiID0+IFwkbm9fY2MsCi0JCSAgICAiYmNjPXMiID0+IFxAYmNjbGlzdCwKKwkJICAgICJiY2M9cyIgPT4gXEBnZXRvcHRfYmNjLAogCQkgICAgIm5vLWJjYyIgPT4gXCRub19iY2MsCiAJCSAgICAiY2hhaW4tcmVwbHktdG8hIiA9PiBcJGNoYWluX3JlcGx5X3RvLAogCQkgICAgIm5vLWNoYWluLXJlcGx5LXRvIiA9PiBzdWIgeyRjaGFpbl9yZXBseV90byA9IDB9LApAQCAtMzUxLDcgKzQzMyw2IEBACiAJCSAgICAic210cC1kb21haW46cyIgPT4gXCRzbXRwX2RvbWFpbiwKIAkJICAgICJzbXRwLWF1dGg9cyIgPT4gXCRzbXRwX2F1dGgsCiAJCSAgICAibm8tc210cC1hdXRoIiA9PiBzdWIgeyRzbXRwX2F1dGggPSAnbm9uZSd9LAotCQkgICAgImlkZW50aXR5PXMiID0+IFwkaWRlbnRpdHksCiAJCSAgICAiYW5ub3RhdGUhIiA9PiBcJGFubm90YXRlLAogCQkgICAgIm5vLWFubm90YXRlIiA9PiBzdWIgeyRhbm5vdGF0ZSA9IDB9LAogCQkgICAgImNvbXBvc2UiID0+IFwkY29tcG9zZSwKQEAgLTM4Niw2ICs0NjcsMTEgQEAKIAkJICAgICJnaXQtY29tcGxldGlvbi1oZWxwZXIiID0+IFwkZ2l0X2NvbXBsZXRpb25faGVscGVyLAogCSApOwogCisjIE11bmdlIGFueSAiZWl0aGVyIGNvbmZpZyBvciBnZXRvcHQsIG5vdCBib3RoIiB2YXJpYWJsZXMKK215IEBpbml0aWFsX3RvID0gQGdldG9wdF90byA/IEBnZXRvcHRfdG8gOiAoJG5vX3RvID8gKCkgOiBAY29uZmlnX3RvKTsKK215IEBpbml0aWFsX2NjID0gQGdldG9wdF9jYyA/IEBnZXRvcHRfY2MgOiAoJG5vX2NjID8gKCkgOiBAY29uZmlnX2NjKTsKK215IEBpbml0aWFsX2JjYyA9IEBnZXRvcHRfYmNjID8gQGdldG9wdF9iY2MgOiAoJG5vX2JjYyA/ICgpIDogQGNvbmZpZ19iY2MpOworCiB1c2FnZSgpIGlmICRoZWxwOwogY29tcGxldGlvbl9oZWxwZXIoKSBpZiAkZ2l0X2NvbXBsZXRpb25faGVscGVyOwogdW5sZXNzICgkcmMpIHsKQEAgLTM5OSw2NSArNDg1LDYgQEAKIAkiKHZpYSBjb21tYW5kLWxpbmUgb3IgY29uZmlndXJhdGlvbiBvcHRpb24pXG4iKQogCWlmIGRlZmluZWQgJHJlbG9naW5fZGVsYXkgYW5kIG5vdCBkZWZpbmVkICRiYXRjaF9zaXplOwogCi0jIE5vdywgbGV0J3MgZmlsbCBhbnkgdGhhdCBhcmVuJ3Qgc2V0IGluIHdpdGggZGVmYXVsdHM6Ci0KLXN1YiByZWFkX2NvbmZpZyB7Ci0JbXkgKCRwcmVmaXgpID0gQF87Ci0KLQlmb3JlYWNoIG15ICRzZXR0aW5nIChrZXlzICVjb25maWdfYm9vbF9zZXR0aW5ncykgewotCQlteSAkdGFyZ2V0ID0gJGNvbmZpZ19ib29sX3NldHRpbmdzeyRzZXR0aW5nfS0+WzBdOwotCQkkJHRhcmdldCA9IEdpdDo6Y29uZmlnX2Jvb2woQHJlcG8sICIkcHJlZml4LiRzZXR0aW5nIikgdW5sZXNzIChkZWZpbmVkICQkdGFyZ2V0KTsKLQl9Ci0KLQlmb3JlYWNoIG15ICRzZXR0aW5nIChrZXlzICVjb25maWdfcGF0aF9zZXR0aW5ncykgewotCQlteSAkdGFyZ2V0ID0gJGNvbmZpZ19wYXRoX3NldHRpbmdzeyRzZXR0aW5nfTsKLQkJaWYgKHJlZigkdGFyZ2V0KSBlcSAiQVJSQVkiKSB7Ci0JCQl1bmxlc3MgKEAkdGFyZ2V0KSB7Ci0JCQkJbXkgQHZhbHVlcyA9IEdpdDo6Y29uZmlnX3BhdGgoQHJlcG8sICIkcHJlZml4LiRzZXR0aW5nIik7Ci0JCQkJQCR0YXJnZXQgPSBAdmFsdWVzIGlmIChAdmFsdWVzICYmIGRlZmluZWQgJHZhbHVlc1swXSk7Ci0JCQl9Ci0JCX0KLQkJZWxzZSB7Ci0JCQkkJHRhcmdldCA9IEdpdDo6Y29uZmlnX3BhdGgoQHJlcG8sICIkcHJlZml4LiRzZXR0aW5nIikgdW5sZXNzIChkZWZpbmVkICQkdGFyZ2V0KTsKLQkJfQotCX0KLQotCWZvcmVhY2ggbXkgJHNldHRpbmcgKGtleXMgJWNvbmZpZ19zZXR0aW5ncykgewotCQlteSAkdGFyZ2V0ID0gJGNvbmZpZ19zZXR0aW5nc3skc2V0dGluZ307Ci0JCW5leHQgaWYgJHNldHRpbmcgZXEgInRvIiBhbmQgZGVmaW5lZCAkbm9fdG87Ci0JCW5leHQgaWYgJHNldHRpbmcgZXEgImNjIiBhbmQgZGVmaW5lZCAkbm9fY2M7Ci0JCW5leHQgaWYgJHNldHRpbmcgZXEgImJjYyIgYW5kIGRlZmluZWQgJG5vX2JjYzsKLQkJaWYgKHJlZigkdGFyZ2V0KSBlcSAiQVJSQVkiKSB7Ci0JCQl1bmxlc3MgKEAkdGFyZ2V0KSB7Ci0JCQkJbXkgQHZhbHVlcyA9IEdpdDo6Y29uZmlnKEByZXBvLCAiJHByZWZpeC4kc2V0dGluZyIpOwotCQkJCUAkdGFyZ2V0ID0gQHZhbHVlcyBpZiAoQHZhbHVlcyAmJiBkZWZpbmVkICR2YWx1ZXNbMF0pOwotCQkJfQotCQl9Ci0JCWVsc2UgewotCQkJJCR0YXJnZXQgPSBHaXQ6OmNvbmZpZyhAcmVwbywgIiRwcmVmaXguJHNldHRpbmciKSB1bmxlc3MgKGRlZmluZWQgJCR0YXJnZXQpOwotCQl9Ci0JfQotCi0JaWYgKCFkZWZpbmVkICRzbXRwX2VuY3J5cHRpb24pIHsKLQkJbXkgJGVuYyA9IEdpdDo6Y29uZmlnKEByZXBvLCAiJHByZWZpeC5zbXRwZW5jcnlwdGlvbiIpOwotCQlpZiAoZGVmaW5lZCAkZW5jKSB7Ci0JCQkkc210cF9lbmNyeXB0aW9uID0gJGVuYzsKLQkJfSBlbHNpZiAoR2l0Ojpjb25maWdfYm9vbChAcmVwbywgIiRwcmVmaXguc210cHNzbCIpKSB7Ci0JCQkkc210cF9lbmNyeXB0aW9uID0gJ3NzbCc7Ci0JCX0KLQl9Ci19Ci0KLSMgcmVhZCBjb25maWd1cmF0aW9uIGZyb20gW3NlbmRlbWFpbCAiJGlkZW50aXR5Il0sIGZhbGwgYmFjayBvbiBbc2VuZGVtYWlsXQotJGlkZW50aXR5ID0gR2l0Ojpjb25maWcoQHJlcG8sICJzZW5kZW1haWwuaWRlbnRpdHkiKSB1bmxlc3MgKGRlZmluZWQgJGlkZW50aXR5KTsKLXJlYWRfY29uZmlnKCJzZW5kZW1haWwuJGlkZW50aXR5IikgaWYgKGRlZmluZWQgJGlkZW50aXR5KTsKLXJlYWRfY29uZmlnKCJzZW5kZW1haWwiKTsKLQotIyBmYWxsIGJhY2sgb24gYnVpbHRpbiBib29sIGRlZmF1bHRzCi1mb3JlYWNoIG15ICRzZXR0aW5nICh2YWx1ZXMgJWNvbmZpZ19ib29sX3NldHRpbmdzKSB7Ci0JJHskc2V0dGluZy0+WzBdfSA9ICRzZXR0aW5nLT5bMV0gdW5sZXNzIChkZWZpbmVkICgkeyRzZXR0aW5nLT5bMF19KSk7Ci19Ci0KICMgJ2RlZmF1bHQnIGVuY3J5cHRpb24gaXMgbm9uZSAtLSB0aGlzIG9ubHkgcHJldmVudHMgYSB3YXJuaW5nCiAkc210cF9lbmNyeXB0aW9uID0gJycgdW5sZXNzIChkZWZpbmVkICRzbXRwX2VuY3J5cHRpb24pOwogCkBAIC00NjUsNiArNDkyLDggQEAKIG15KCVzdXBwcmVzc19jYyk7CiBpZiAoQHN1cHByZXNzX2NjKSB7CiAJZm9yZWFjaCBteSAkZW50cnkgKEBzdXBwcmVzc19jYykgeworCQkjIFBsZWFzZSB1cGRhdGUgJF9fZ2l0X3NlbmRfZW1haWxfc3VwcHJlc3NjY19vcHRpb25zCisJCSMgaW4gZ2l0LWNvbXBsZXRpb24uYmFzaCB3aGVuIHlvdSBhZGQgbmV3IG9wdGlvbnMuCiAJCWRpZSBzcHJpbnRmKF9fKCJVbmtub3duIC0tc3VwcHJlc3MtY2MgZmllbGQ6ICclcydcbiIpLCAkZW50cnkpCiAJCQl1bmxlc3MgJGVudHJ5ID1+IC9eKD86YWxsfGNjY21kfGNjfGF1dGhvcnxzZWxmfHNvYnxib2R5fGJvZHljY3xtaXNjLWJ5KSQvOwogCQkkc3VwcHJlc3NfY2N7JGVudHJ5fSA9IDE7CkBAIC00OTQsNiArNTIzLDggQEAKIGlmICgkY29uZmlybV91bmNvbmZpZ3VyZWQpIHsKIAkkY29uZmlybSA9IHNjYWxhciAlc3VwcHJlc3NfY2MgPyAnY29tcG9zZScgOiAnYXV0byc7CiB9OworIyBQbGVhc2UgdXBkYXRlICRfX2dpdF9zZW5kX2VtYWlsX2NvbmZpcm1fb3B0aW9ucyBpbgorIyBnaXQtY29tcGxldGlvbi5iYXNoIHdoZW4geW91IGFkZCBuZXcgb3B0aW9ucy4KIGRpZSBzcHJpbnRmKF9fKCJVbmtub3duIC0tY29uZmlybSBzZXR0aW5nOiAnJXMnXG4iKSwgJGNvbmZpcm0pCiAJdW5sZXNzICRjb25maXJtID1+IC9eKD86YXV0b3xjY3xjb21wb3NlfGFsd2F5c3xuZXZlcikvOwogCkBAIC01ODcsNiArNjE4LDggQEAKIAkJaWYgKC9cKGRlZmluZS1tYWlsLWFsaWFzXHMrIihcUys/KSJccysiKFxTKz8pIlwpLykgewogCQkJJGFsaWFzZXN7JDF9ID0gWyAkMiBdOwogCQl9fX0KKwkjIFBsZWFzZSB1cGRhdGUgX2dpdF9jb25maWcoKSBpbiBnaXQtY29tcGxldGlvbi5iYXNoIHdoZW4geW91CisJIyBhZGQgbmV3IE1VQXMuCiApOwogCiBpZiAoQGFsaWFzX2ZpbGVzIGFuZCAkYWxpYXNmaWxldHlwZSBhbmQgZGVmaW5lZCAkcGFyc2VfYWxpYXN7JGFsaWFzZmlsZXR5cGV9KSB7CkBAIC05MzUsNyArOTY4LDcgQEAKIAogQGluaXRpYWxfdG8gPSBwcm9jZXNzX2FkZHJlc3NfbGlzdChAaW5pdGlhbF90byk7CiBAaW5pdGlhbF9jYyA9IHByb2Nlc3NfYWRkcmVzc19saXN0KEBpbml0aWFsX2NjKTsKLUBiY2NsaXN0ID0gcHJvY2Vzc19hZGRyZXNzX2xpc3QoQGJjY2xpc3QpOworQGluaXRpYWxfYmNjID0gcHJvY2Vzc19hZGRyZXNzX2xpc3QoQGluaXRpYWxfYmNjKTsKIAogaWYgKCR0aHJlYWQgJiYgIWRlZmluZWQgJGluaXRpYWxfaW5fcmVwbHlfdG8gJiYgJHByb21wdGluZykgewogCSRpbml0aWFsX2luX3JlcGx5X3RvID0gYXNrKApAQCAtMTE5NSw3ICsxMjI4LDcgQEAKICMgZG9tYWluIG5hbWUgdGhhdCBjb3JyZXNwb25kcyB0aGUgSVAgYWRkcmVzcyBpbiB0aGUgSEVMTy9FSExPCiAjIGhhbmRzaGFrZS4gVGhpcyBpcyB1c2VkIHRvIHZlcmlmeSB0aGUgY29ubmVjdGlvbiBhbmQgcHJldmVudAogIyBzcGFtbWVycyBmcm9tIHRyeWluZyB0byBoaWRlIHRoZWlyIGlkZW50aXR5LiBJZiB0aGUgRE5TIGFuZCBJUCBkb24ndAotIyBtYXRjaCwgdGhlIHJlY2VpdmVpbmcgTVRBIG1heSBkZW55IHRoZSBjb25uZWN0aW9uLgorIyBtYXRjaCwgdGhlIHJlY2VpdmluZyBNVEEgbWF5IGRlbnkgdGhlIGNvbm5lY3Rpb24uCiAjCiAjIEhlcmUgaXMgYSBkZW55IGV4YW1wbGUgb2YgTmV0OjpTTVRQIHdpdGggdGhlIGRlZmF1bHQgImxvY2FsaG9zdC5sb2NhbGRvbWFpbiIKICMKQEAgLTEzNTgsNyArMTM5MSw3IEBACiAJCSAgICB9CiAJICAgICAgIEBjYyk7CiAJbXkgJHRvID0gam9pbiAoIixcblx0IiwgQHJlY2lwaWVudHMpOwotCUByZWNpcGllbnRzID0gdW5pcXVlX2VtYWlsX2xpc3QoQHJlY2lwaWVudHMsQGNjLEBiY2NsaXN0KTsKKwlAcmVjaXBpZW50cyA9IHVuaXF1ZV9lbWFpbF9saXN0KEByZWNpcGllbnRzLEBjYyxAaW5pdGlhbF9iY2MpOwogCUByZWNpcGllbnRzID0gKG1hcCB7IGV4dHJhY3RfdmFsaWRfYWRkcmVzc19vcl9kaWUoJF8pIH0gQHJlY2lwaWVudHMpOwogCW15ICRkYXRlID0gZm9ybWF0XzI4MjJfdGltZSgkdGltZSsrKTsKIAlteSAkZ2l0dmVyc2lvbiA9ICdAQEdJVF9WRVJTSU9OQEAnOwpAQCAtMTY5Myw3ICsxNzI2LDcgQEAKIAkjIE5vdyBwYXJzZSB0aGUgbWVzc2FnZSBib2R5CiAJd2hpbGUoPCRmaD4pIHsKIAkJJG1lc3NhZ2UgLj0gICRfOwotCQlpZiAoL14oW2Etei1dKi1ieXxDYyk6ICguKikvaSkgeworCQlpZiAoL14oW2Etel1bYS16LV0qLWJ5fENjKTogKC4qKS9pKSB7CiAJCQljaG9tcDsKIAkJCW15ICgkd2hhdCwgJGMpID0gKCQxLCAkMik7CiAJCQkjIHN0cmlwIGdhcmJhZ2UgZm9yIHRoZSBhZGRyZXNzIHdlJ2xsIHVzZToKQEAgLTE4NjYsNyArMTg5OSw3IEBACiAJJG1lc3NhZ2UgPSBNSU1FOjpCYXNlNjQ6OmRlY29kZSgkbWVzc2FnZSkKIAkJaWYgKCRmcm9tIGVxICdiYXNlNjQnKTsKIAotCSR0byA9ICgkbWVzc2FnZSA9fiAvLns5OTksfS8pID8gJ3F1b3RlZC1wcmludGFibGUnIDogJzhiaXQnCisJJHRvID0gKCRtZXNzYWdlID1+IC8oPzouezk5OSx9fFxyKS8pID8gJ3F1b3RlZC1wcmludGFibGUnIDogJzhiaXQnCiAJCWlmICR0byBlcSAnYXV0byc7CiAKIAlkaWUgX18oImNhbm5vdCBzZW5kIG1lc3NhZ2UgYXMgN2JpdCIpCmRpZmYgLS1naXQgYS9naXQtc2gtaTE4bi5zaCBiL2dpdC1zaC1pMThuLnNoCmluZGV4IGUxZDkxN2YuLjhlZWY2MGIgMTAwNjQ0Ci0tLSBhL2dpdC1zaC1pMThuLnNoCisrKyBiL2dpdC1zaC1pMThuLnNoCkBAIC0xNyw3ICsxNyw5IEBACiAKICMgRmlyc3QgZGVjaWRlIHdoYXQgc2NoZW1lIHRvIHVzZS4uLgogR0lUX0lOVEVSTkFMX0dFVFRFWFRfU0hfU0NIRU1FPWZhbGx0aHJvdWdoCi1pZiB0ZXN0IC1uICIkR0lUX1RFU1RfR0VUVEVYVF9QT0lTT04iCitpZiB0ZXN0IC1uICIkR0lUX1RFU1RfR0VUVEVYVF9QT0lTT04iICYmCisJICAgIGdpdCBlbnYtLWhlbHBlciAtLXR5cGU9Ym9vbCAtLWRlZmF1bHQ9MCAtLWV4aXQtY29kZSBcCisJCUdJVF9URVNUX0dFVFRFWFRfUE9JU09OCiB0aGVuCiAJR0lUX0lOVEVSTkFMX0dFVFRFWFRfU0hfU0NIRU1FPXBvaXNvbgogZWxpZiB0ZXN0IC1uICJAQFVTRV9HRVRURVhUX1NDSEVNRUBAIgpkaWZmIC0tZ2l0IGEvZ2l0LXNoLXNldHVwLnNoIGIvZ2l0LXNoLXNldHVwLnNoCmluZGV4IDM3ODkyODUuLjEwZDk3NjQgMTAwNjQ0Ci0tLSBhL2dpdC1zaC1zZXR1cC5zaAorKysgYi9naXQtc2gtc2V0dXAuc2gKQEAgLTEwMSw2ICsxMDEsNyBAQAogCWNhc2UgIiQxIiBpbgogCQktaCkKIAkJZWNobyAiJExPTkdfVVNBR0UiCisJCWNhc2UgIiQwIiBpbiAqZ2l0LWxlZ2FjeS1zdGFzaCkgZXhpdCAxMjk7OyBlc2FjCiAJCWV4aXQKIAllc2FjCiBmaQpkaWZmIC0tZ2l0IGEvZ2l0LXN1Ym1vZHVsZS5zaCBiL2dpdC1zdWJtb2R1bGUuc2gKaW5kZXggNjVkNjJjOC4uODlmOTE1YyAxMDA3NTUKLS0tIGEvZ2l0LXN1Ym1vZHVsZS5zaAorKysgYi9naXQtc3VibW9kdWxlLnNoCkBAIC01LDExICs1LDE0IEBACiAjIENvcHlyaWdodCAoYykgMjAwNyBMYXJzIEhqZW1saQogCiBkYXNobGVzcz0kKGJhc2VuYW1lICIkMCIgfCBzZWQgLWUgJ3MvLS8gLycpCi1VU0FHRT0iWy0tcXVpZXRdIGFkZCBbLWIgPGJyYW5jaD5dIFstZnwtLWZvcmNlXSBbLS1uYW1lIDxuYW1lPl0gWy0tcmVmZXJlbmNlIDxyZXBvc2l0b3J5Pl0gWy0tXSA8cmVwb3NpdG9yeT4gWzxwYXRoPl0KK1VTQUdFPSJbLS1xdWlldF0gWy0tY2FjaGVkXQorICAgb3I6ICRkYXNobGVzcyBbLS1xdWlldF0gYWRkIFstYiA8YnJhbmNoPl0gWy1mfC0tZm9yY2VdIFstLW5hbWUgPG5hbWU+XSBbLS1yZWZlcmVuY2UgPHJlcG9zaXRvcnk+XSBbLS1dIDxyZXBvc2l0b3J5PiBbPHBhdGg+XQogICAgb3I6ICRkYXNobGVzcyBbLS1xdWlldF0gc3RhdHVzIFstLWNhY2hlZF0gWy0tcmVjdXJzaXZlXSBbLS1dIFs8cGF0aD4uLi5dCiAgICBvcjogJGRhc2hsZXNzIFstLXF1aWV0XSBpbml0IFstLV0gWzxwYXRoPi4uLl0KICAgIG9yOiAkZGFzaGxlc3MgWy0tcXVpZXRdIGRlaW5pdCBbLWZ8LS1mb3JjZV0gKC0tYWxsfCBbLS1dIDxwYXRoPi4uLikKLSAgIG9yOiAkZGFzaGxlc3MgWy0tcXVpZXRdIHVwZGF0ZSBbLS1pbml0XSBbLS1yZW1vdGVdIFstTnwtLW5vLWZldGNoXSBbLWZ8LS1mb3JjZV0gWy0tY2hlY2tvdXR8LS1tZXJnZXwtLXJlYmFzZV0gWy0tW25vLV1yZWNvbW1lbmQtc2hhbGxvd10gWy0tcmVmZXJlbmNlIDxyZXBvc2l0b3J5Pl0gWy0tcmVjdXJzaXZlXSBbLS1dIFs8cGF0aD4uLi5dCisgICBvcjogJGRhc2hsZXNzIFstLXF1aWV0XSB1cGRhdGUgWy0taW5pdF0gWy0tcmVtb3RlXSBbLU58LS1uby1mZXRjaF0gWy1mfC0tZm9yY2VdIFstLWNoZWNrb3V0fC0tbWVyZ2V8LS1yZWJhc2VdIFstLVtuby1dcmVjb21tZW5kLXNoYWxsb3ddIFstLXJlZmVyZW5jZSA8cmVwb3NpdG9yeT5dIFstLXJlY3Vyc2l2ZV0gWy0tW25vLV1zaW5nbGUtYnJhbmNoXSBbLS1dIFs8cGF0aD4uLi5dCisgICBvcjogJGRhc2hsZXNzIFstLXF1aWV0XSBzZXQtYnJhbmNoICgtLWRlZmF1bHR8LS1icmFuY2ggPGJyYW5jaD4pIFstLV0gPHBhdGg+CisgICBvcjogJGRhc2hsZXNzIFstLXF1aWV0XSBzZXQtdXJsIFstLV0gPHBhdGg+IDxuZXd1cmw+CiAgICBvcjogJGRhc2hsZXNzIFstLXF1aWV0XSBzdW1tYXJ5IFstLWNhY2hlZHwtLWZpbGVzXSBbLS1zdW1tYXJ5LWxpbWl0IDxuPl0gW2NvbW1pdF0gWy0tXSBbPHBhdGg+Li4uXQogICAgb3I6ICRkYXNobGVzcyBbLS1xdWlldF0gZm9yZWFjaCBbLS1yZWN1cnNpdmVdIDxjb21tYW5kPgogICAgb3I6ICRkYXNobGVzcyBbLS1xdWlldF0gc3luYyBbLS1yZWN1cnNpdmVdIFstLV0gWzxwYXRoPi4uLl0KQEAgLTQ0LDYgKzQ3LDcgQEAKIGRlcHRoPQogcHJvZ3Jlc3M9CiBkaXNzb2NpYXRlPQorc2luZ2xlX2JyYW5jaD0KIAogZGllX2lmX3VubWF0Y2hlZCAoKQogewpAQCAtMjMxLDEzICsyMzUsMjIgQEAKIAkJZGllICIkKGV2YWxfZ2V0dGV4dCAiJ1wkc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGluZGV4IGFuZCBpcyBub3QgYSBzdWJtb2R1bGUiKSIKIAlmaQogCi0JaWYgdGVzdCAteiAiJGZvcmNlIiAmJgotCQkhIGdpdCBhZGQgLS1kcnktcnVuIC0taWdub3JlLW1pc3NpbmcgLS1uby13YXJuLWVtYmVkZGVkLXJlcG8gIiRzbV9wYXRoIiA+IC9kZXYvbnVsbCAyPiYxCisJaWYgdGVzdCAtZCAiJHNtX3BhdGgiICYmCisJCXRlc3QgLXogJChnaXQgLUMgIiRzbV9wYXRoIiByZXYtcGFyc2UgLS1zaG93LWNkdXAgMj4vZGV2L251bGwpCiAJdGhlbgotCQlldmFsX2dldHRleHRsbiAiVGhlIGZvbGxvd2luZyBwYXRoIGlzIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczoKLVwkc21fcGF0aAotVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgaXQuIiA+JjIKLQkJZXhpdCAxCisJICAgIGdpdCAtQyAiJHNtX3BhdGgiIHJldi1wYXJzZSAtLXZlcmlmeSAtcSBIRUFEID4vZGV2L251bGwgfHwKKwkgICAgZGllICIkKGV2YWxfZ2V0dGV4dCAiJ1wkc21fcGF0aCcgZG9lcyBub3QgaGF2ZSBhIGNvbW1pdCBjaGVja2VkIG91dCIpIgorCWZpCisKKwlpZiB0ZXN0IC16ICIkZm9yY2UiCisJdGhlbgorCSAgICBkcnllcnI9JChnaXQgYWRkIC0tZHJ5LXJ1biAtLWlnbm9yZS1taXNzaW5nIC0tbm8td2Fybi1lbWJlZGRlZC1yZXBvICIkc21fcGF0aCIgMj4mMSA+L2Rldi9udWxsKQorCSAgICByZXM9JD8KKwkgICAgaWYgdGVzdCAkcmVzIC1uZSAwCisJICAgIHRoZW4KKwkJIGVjaG8gPiYyICIkZHJ5ZXJyIgorCQkgZXhpdCAkcmVzCisJICAgIGZpCiAJZmkKIAogCWlmIHRlc3QgLW4gIiRjdXN0b21fbmFtZSIKQEAgLTM0Niw3ICszNTksNyBAQAogCQlzaGlmdAogCWRvbmUKIAotCWdpdCAke3d0X3ByZWZpeDorLUMgIiR3dF9wcmVmaXgifSAke3ByZWZpeDorLS1zdXBlci1wcmVmaXggIiRwcmVmaXgifSBzdWJtb2R1bGUtLWhlbHBlciBmb3JlYWNoICR7R0lUX1FVSUVUOistLXF1aWV0fSAke3JlY3Vyc2l2ZTorLS1yZWN1cnNpdmV9ICIkQCIKKwlnaXQgJHt3dF9wcmVmaXg6Ky1DICIkd3RfcHJlZml4In0gJHtwcmVmaXg6Ky0tc3VwZXItcHJlZml4ICIkcHJlZml4In0gc3VibW9kdWxlLS1oZWxwZXIgZm9yZWFjaCAke0dJVF9RVUlFVDorLS1xdWlldH0gJHtyZWN1cnNpdmU6Ky0tcmVjdXJzaXZlfSAtLSAiJEAiCiB9CiAKICMKQEAgLTM3Nyw3ICszOTAsNyBAQAogCQlzaGlmdAogCWRvbmUKIAotCWdpdCAke3d0X3ByZWZpeDorLUMgIiR3dF9wcmVmaXgifSAke3ByZWZpeDorLS1zdXBlci1wcmVmaXggIiRwcmVmaXgifSBzdWJtb2R1bGUtLWhlbHBlciBpbml0ICR7R0lUX1FVSUVUOistLXF1aWV0fSAgIiRAIgorCWdpdCAke3d0X3ByZWZpeDorLUMgIiR3dF9wcmVmaXgifSAke3ByZWZpeDorLS1zdXBlci1wcmVmaXggIiRwcmVmaXgifSBzdWJtb2R1bGUtLWhlbHBlciBpbml0ICR7R0lUX1FVSUVUOistLXF1aWV0fSAtLSAiJEAiCiB9CiAKICMKQEAgLTQxMyw3ICs0MjYsNyBAQAogCQlzaGlmdAogCWRvbmUKIAotCWdpdCAke3d0X3ByZWZpeDorLUMgIiR3dF9wcmVmaXgifSBzdWJtb2R1bGUtLWhlbHBlciBkZWluaXQgJHtHSVRfUVVJRVQ6Ky0tcXVpZXR9ICR7cHJlZml4OistLXByZWZpeCAiJHByZWZpeCJ9ICR7Zm9yY2U6Ky0tZm9yY2V9ICR7ZGVpbml0X2FsbDorLS1hbGx9ICIkQCIKKwlnaXQgJHt3dF9wcmVmaXg6Ky1DICIkd3RfcHJlZml4In0gc3VibW9kdWxlLS1oZWxwZXIgZGVpbml0ICR7R0lUX1FVSUVUOistLXF1aWV0fSAke3ByZWZpeDorLS1wcmVmaXggIiRwcmVmaXgifSAke2ZvcmNlOistLWZvcmNlfSAke2RlaW5pdF9hbGw6Ky0tYWxsfSAtLSAiJEAiCiB9CiAKIGlzX3RpcF9yZWFjaGFibGUgKCkgKApAQCAtNTE2LDYgKzUyOSwxMiBAQAogCQktLWpvYnM9KikKIAkJCWpvYnM9JDEKIAkJCTs7CisJCS0tc2luZ2xlLWJyYW5jaCkKKwkJCXNpbmdsZV9icmFuY2g9Ii0tc2luZ2xlLWJyYW5jaCIKKwkJCTs7CisJCS0tbm8tc2luZ2xlLWJyYW5jaCkKKwkJCXNpbmdsZV9icmFuY2g9Ii0tbm8tc2luZ2xlLWJyYW5jaCIKKwkJCTs7CiAJCS0tKQogCQkJc2hpZnQKIAkJCWJyZWFrCkBAIC01NDUsOCArNTY0LDEwIEBACiAJCSR7ZGlzc29jaWF0ZTorIi0tZGlzc29jaWF0ZSJ9IFwKIAkJJHtkZXB0aDorLS1kZXB0aCAiJGRlcHRoIn0gXAogCQkke3JlcXVpcmVfaW5pdDorLS1yZXF1aXJlLWluaXR9IFwKKwkJJHNpbmdsZV9icmFuY2ggXAogCQkkcmVjb21tZW5kX3NoYWxsb3cgXAogCQkkam9icyBcCisJCS0tIFwKIAkJIiRAIiB8fCBlY2hvICIjdW5tYXRjaGVkIiAkPwogCX0gfCB7CiAJZXJyPQpAQCAtNTU0LDcgKzU3NSw3IEBACiAJZG8KIAkJZGllX2lmX3VubWF0Y2hlZCAiJHF1aWNrYWJvcnQiICIkc2hhMSIKIAotCQlnaXQgc3VibW9kdWxlLS1oZWxwZXIgZW5zdXJlLWNvcmUtd29ya3RyZWUgIiRzbV9wYXRoIgorCQlnaXQgc3VibW9kdWxlLS1oZWxwZXIgZW5zdXJlLWNvcmUtd29ya3RyZWUgIiRzbV9wYXRoIiB8fCBleGl0IDEKIAogCQl1cGRhdGVfbW9kdWxlPSQoZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZS1tb2R1bGUtbW9kZSAkanVzdF9jbG9uZWQgIiRzbV9wYXRoIiAkdXBkYXRlKQogCkBAIC01OTksNyArNjIwLDcgQEAKIAkJCQkjIGlzIG5vdCByZWFjaGFibGUgZnJvbSBhIHJlZi4KIAkJCQlpc190aXBfcmVhY2hhYmxlICIkc21fcGF0aCIgIiRzaGExIiB8fAogCQkJCWZldGNoX2luX3N1Ym1vZHVsZSAiJHNtX3BhdGgiICRkZXB0aCB8fAotCQkJCXNheSAiJChldmFsX2dldHRleHQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnXCRkaXNwbGF5cGF0aCciKSIKKwkJCQlzYXkgIiQoZXZhbF9nZXR0ZXh0ICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJ1wkZGlzcGxheXBhdGgnOyB0cnlpbmcgdG8gZGlyZWN0bHkgZmV0Y2ggXCRzaGExOiIpIgogCiAJCQkJIyBOb3cgd2UgdHJpZWQgdGhlIHVzdWFsIGZldGNoLCBidXQgJHNoYTEgbWF5CiAJCQkJIyBub3QgYmUgcmVhY2hhYmxlIGZyb20gYW55IG9mIHRoZSByZWZzCkBAIC02OTEsNiArNzEyLDEyMSBAQAogfQogCiAjCisjIENvbmZpZ3VyZXMgYSBzdWJtb2R1bGUncyBkZWZhdWx0IGJyYW5jaAorIworIyAkQCA9IHJlcXVlc3RlZCBwYXRoCisjCitjbWRfc2V0X2JyYW5jaCgpIHsKKwl1bnNldF9icmFuY2g9ZmFsc2UKKwlicmFuY2g9CisKKwl3aGlsZSB0ZXN0ICQjIC1uZSAwCisJZG8KKwkJY2FzZSAiJDEiIGluCisJCS1xfC0tcXVpZXQpCisJCQkjIHdlIGRvbid0IGRvIGFueXRoaW5nIHdpdGggdGhpcyBidXQgd2UgbmVlZCB0byBhY2NlcHQgaXQKKwkJCTs7CisJCS1kfC0tZGVmYXVsdCkKKwkJCXVuc2V0X2JyYW5jaD10cnVlCisJCQk7OworCQktYnwtLWJyYW5jaCkKKwkJCWNhc2UgIiQyIiBpbiAnJykgdXNhZ2UgOzsgZXNhYworCQkJYnJhbmNoPSQyCisJCQlzaGlmdAorCQkJOzsKKwkJLS0pCisJCQlzaGlmdAorCQkJYnJlYWsKKwkJCTs7CisJCS0qKQorCQkJdXNhZ2UKKwkJCTs7CisJCSopCisJCQlicmVhaworCQkJOzsKKwkJZXNhYworCQlzaGlmdAorCWRvbmUKKworCWlmIHRlc3QgJCMgLW5lIDEKKwl0aGVuCisJCXVzYWdlCisJZmkKKworCSMgd2UgY2FuJ3QgdXNlIGBnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZWAgaGVyZSBiZWNhdXNlIGludGVybmFsbHksIGl0CisJIyBoYXNoZXMgdGhlIHBhdGggc28gYSB0cmFpbGluZyBzbGFzaCBjb3VsZCBsZWFkIHRvIGFuIHVuaW50ZW50aW9uYWwgbm8gbWF0Y2gKKwluYW1lPSIkKGdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0ICIkMSIgfCBjdXQgLWYyKSIKKwlpZiB0ZXN0IC16ICIkbmFtZSIKKwl0aGVuCisJCWV4aXQgMQorCWZpCisKKwl0ZXN0IC1uICIkYnJhbmNoIjsgaGFzX2JyYW5jaD0kPworCXRlc3QgIiR1bnNldF9icmFuY2giID0gdHJ1ZTsgaGFzX3Vuc2V0X2JyYW5jaD0kPworCisJaWYgdGVzdCAkKCghJGhhc19icmFuY2ggIT0gISRoYXNfdW5zZXRfYnJhbmNoKSkgLWVxIDAKKwl0aGVuCisJCXVzYWdlCisJZmkKKworCWlmIHRlc3QgJGhhc19icmFuY2ggLWVxIDAKKwl0aGVuCisJCWdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgc3VibW9kdWxlLiIkbmFtZSIuYnJhbmNoICIkYnJhbmNoIgorCWVsc2UKKwkJZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLXVuc2V0IHN1Ym1vZHVsZS4iJG5hbWUiLmJyYW5jaAorCWZpCit9CisKKyMKKyMgQ29uZmlndXJlcyBhIHN1Ym1vZHVsZSdzIHJlbW90ZSB1cmwKKyMKKyMgJEAgPSByZXF1ZXN0ZWQgcGF0aCwgcmVxdWVzdGVkIHVybAorIworY21kX3NldF91cmwoKSB7CisJd2hpbGUgdGVzdCAkIyAtbmUgMAorCWRvCisJCWNhc2UgIiQxIiBpbgorCQktcXwtLXF1aWV0KQorCQkJR0lUX1FVSUVUPTEKKwkJCTs7CisJCS0tKQorCQkJc2hpZnQKKwkJCWJyZWFrCisJCQk7OworCQktKikKKwkJCXVzYWdlCisJCQk7OworCQkqKQorCQkJYnJlYWsKKwkJCTs7CisJCWVzYWMKKwkJc2hpZnQKKwlkb25lCisKKwlpZiB0ZXN0ICQjIC1uZSAyCisJdGhlbgorCQl1c2FnZQorCWZpCisKKwkjIHdlIGNhbid0IHVzZSBgZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWVgIGhlcmUgYmVjYXVzZSBpbnRlcm5hbGx5LCBpdAorCSMgaGFzaGVzIHRoZSBwYXRoIHNvIGEgdHJhaWxpbmcgc2xhc2ggY291bGQgbGVhZCB0byBhbiB1bmludGVudGlvbmFsIG5vIG1hdGNoCisJbmFtZT0iJChnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCAiJDEiIHwgY3V0IC1mMikiCisJaWYgdGVzdCAteiAiJG5hbWUiCisJdGhlbgorCQlleGl0IDEKKwlmaQorCisJdXJsPSIkMiIKKwlpZiB0ZXN0IC16ICIkdXJsIgorCXRoZW4KKwkJZXhpdCAxCisJZmkKKworCWdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgc3VibW9kdWxlLiIkbmFtZSIudXJsICIkdXJsIgorCWdpdCBzdWJtb2R1bGUtLWhlbHBlciBzeW5jICR7R0lUX1FVSUVUOistLXF1aWV0fSAiJG5hbWUiCit9CisKKyMKICMgU2hvdyBjb21taXQgc3VtbWFyeSBmb3Igc3VibW9kdWxlcyBpbiBpbmRleCBvciB3b3JraW5nIHRyZWUKICMKICMgSWYgJy0tY2FjaGVkJyBpcyBnaXZlbiwgc2hvdyBzdW1tYXJ5IGJldHdlZW4gaW5kZXggYW5kIGdpdmVuIGNvbW1pdCwKQEAgLTg1Niw4ICs5OTIsMTEgQEAKIAkJCTs7CiAJCWVzYWMKIAotCQlzaGExX2FiYnJfc3JjPSQoZWNobyAkc2hhMV9zcmMgfCBjdXQgLWMxLTcpCi0JCXNoYTFfYWJicl9kc3Q9JChlY2hvICRzaGExX2RzdCB8IGN1dCAtYzEtNykKKwkJc2hhMV9hYmJyX3NyYz0kKEdJVF9ESVI9IiRuYW1lLy5naXQiIGdpdCByZXYtcGFyc2UgLS1zaG9ydCAkc2hhMV9zcmMgMj4vZGV2L251bGwgfHwKKwkJCWVjaG8gJHNoYTFfc3JjIHwgY3V0IC1jMS03KQorCQlzaGExX2FiYnJfZHN0PSQoR0lUX0RJUj0iJG5hbWUvLmdpdCIgZ2l0IHJldi1wYXJzZSAtLXNob3J0ICRzaGExX2RzdCAyPi9kZXYvbnVsbCB8fAorCQkJZWNobyAkc2hhMV9kc3QgfCBjdXQgLWMxLTcpCisKIAkJaWYgdGVzdCAkc3RhdHVzID0gVAogCQl0aGVuCiAJCQlibG9iPSIkKGdldHRleHQgImJsb2IiKSIKQEAgLTkzNiw3ICsxMDc1LDcgQEAKIAkJc2hpZnQKIAlkb25lCiAKLQlnaXQgJHt3dF9wcmVmaXg6Ky1DICIkd3RfcHJlZml4In0gJHtwcmVmaXg6Ky0tc3VwZXItcHJlZml4ICIkcHJlZml4In0gc3VibW9kdWxlLS1oZWxwZXIgc3RhdHVzICR7R0lUX1FVSUVUOistLXF1aWV0fSAke2NhY2hlZDorLS1jYWNoZWR9ICR7cmVjdXJzaXZlOistLXJlY3Vyc2l2ZX0gIiRAIgorCWdpdCAke3d0X3ByZWZpeDorLUMgIiR3dF9wcmVmaXgifSAke3ByZWZpeDorLS1zdXBlci1wcmVmaXggIiRwcmVmaXgifSBzdWJtb2R1bGUtLWhlbHBlciBzdGF0dXMgJHtHSVRfUVVJRVQ6Ky0tcXVpZXR9ICR7Y2FjaGVkOistLWNhY2hlZH0gJHtyZWN1cnNpdmU6Ky0tcmVjdXJzaXZlfSAtLSAiJEAiCiB9CiAjCiAjIFN5bmMgcmVtb3RlIHVybHMgZm9yIHN1Ym1vZHVsZXMKQEAgLTk2OSw3ICsxMTA4LDcgQEAKIAkJZXNhYwogCWRvbmUKIAotCWdpdCAke3d0X3ByZWZpeDorLUMgIiR3dF9wcmVmaXgifSAke3ByZWZpeDorLS1zdXBlci1wcmVmaXggIiRwcmVmaXgifSBzdWJtb2R1bGUtLWhlbHBlciBzeW5jICR7R0lUX1FVSUVUOistLXF1aWV0fSAke3JlY3Vyc2l2ZTorLS1yZWN1cnNpdmV9ICIkQCIKKwlnaXQgJHt3dF9wcmVmaXg6Ky1DICIkd3RfcHJlZml4In0gJHtwcmVmaXg6Ky0tc3VwZXItcHJlZml4ICIkcHJlZml4In0gc3VibW9kdWxlLS1oZWxwZXIgc3luYyAke0dJVF9RVUlFVDorLS1xdWlldH0gJHtyZWN1cnNpdmU6Ky0tcmVjdXJzaXZlfSAtLSAiJEAiCiB9CiAKIGNtZF9hYnNvcmJnaXRkaXJzKCkKQEAgLTk4Niw3ICsxMTI1LDcgQEAKIHdoaWxlIHRlc3QgJCMgIT0gMCAmJiB0ZXN0IC16ICIkY29tbWFuZCIKIGRvCiAJY2FzZSAiJDEiIGluCi0JYWRkIHwgZm9yZWFjaCB8IGluaXQgfCBkZWluaXQgfCB1cGRhdGUgfCBzdGF0dXMgfCBzdW1tYXJ5IHwgc3luYyB8IGFic29yYmdpdGRpcnMpCisJYWRkIHwgZm9yZWFjaCB8IGluaXQgfCBkZWluaXQgfCB1cGRhdGUgfCBzZXQtYnJhbmNoIHwgc2V0LXVybCB8IHN0YXR1cyB8IHN1bW1hcnkgfCBzeW5jIHwgYWJzb3JiZ2l0ZGlycykKIAkJY29tbWFuZD0kMQogCQk7OwogCS1xfC0tcXVpZXQpCkBAIC0xMDI3LDggKzExNjYsOCBAQAogICAgIGZpCiBmaQogCi0jICItYiBicmFuY2giIGlzIGFjY2VwdGVkIG9ubHkgYnkgImFkZCIKLWlmIHRlc3QgLW4gIiRicmFuY2giICYmIHRlc3QgIiRjb21tYW5kIiAhPSBhZGQKKyMgIi1iIGJyYW5jaCIgaXMgYWNjZXB0ZWQgb25seSBieSAiYWRkIiBhbmQgInNldC1icmFuY2giCitpZiB0ZXN0IC1uICIkYnJhbmNoIiAmJiAodGVzdCAiJGNvbW1hbmQiICE9IGFkZCB8fCB0ZXN0ICIkY29tbWFuZCIgIT0gc2V0LWJyYW5jaCkKIHRoZW4KIAl1c2FnZQogZmkKQEAgLTEwMzksNCArMTE3OCw0IEBACiAJdXNhZ2UKIGZpCiAKLSJjbWRfJGNvbW1hbmQiICIkQCIKKyJjbWRfJChlY2hvICRjb21tYW5kIHwgc2VkIC1lIHMvLS9fL2cpIiAiJEAiCmRpZmYgLS1naXQgYS9naXQtc3ZuLnBlcmwgYi9naXQtc3ZuLnBlcmwKaW5kZXggMDUwZjJhMy4uNGFhMjA4ZiAxMDA3NTUKLS0tIGEvZ2l0LXN2bi5wZXJsCisrKyBiL2dpdC1zdm4ucGVybApAQCAtMTEwLDcgKzExMCw3IEBACiAJJF90ZW1wbGF0ZSwgJF9zaGFyZWQsCiAJJF92ZXJzaW9uLCAkX2ZldGNoX2FsbCwgJF9ub19yZWJhc2UsICRfZmV0Y2hfcGFyZW50LAogCSRfYmVmb3JlLCAkX2FmdGVyLAotCSRfbWVyZ2UsICRfc3RyYXRlZ3ksICRfcHJlc2VydmVfbWVyZ2VzLCAkX2RyeV9ydW4sICRfcGFyZW50cywgJF9sb2NhbCwKKwkkX21lcmdlLCAkX3N0cmF0ZWd5LCAkX3JlYmFzZV9tZXJnZXMsICRfZHJ5X3J1biwgJF9wYXJlbnRzLCAkX2xvY2FsLAogCSRfcHJlZml4LCAkX25vX2NoZWNrb3V0LCAkX3VybCwgJF92ZXJib3NlLAogCSRfY29tbWl0X3VybCwgJF90YWcsICRfbWVyZ2VfaW5mbywgJF9pbnRlcmFjdGl2ZSwgJF9zZXRfc3ZuX3Byb3BzKTsKIApAQCAtMjcwLDcgKzI3MCw4IEBACiAJCQkgICdsb2NhbHxsJyA9PiBcJF9sb2NhbCwKIAkJCSAgJ2ZldGNoLWFsbHxhbGwnID0+IFwkX2ZldGNoX2FsbCwKIAkJCSAgJ2RyeS1ydW58bicgPT4gXCRfZHJ5X3J1biwKLQkJCSAgJ3ByZXNlcnZlLW1lcmdlc3xwJyA9PiBcJF9wcmVzZXJ2ZV9tZXJnZXMsCisJCQkgICdyZWJhc2UtbWVyZ2VzfHAnID0+IFwkX3JlYmFzZV9tZXJnZXMsCisJCQkgICdwcmVzZXJ2ZS1tZXJnZXN8cCcgPT4gXCRfcmViYXNlX21lcmdlcywKIAkJCSAgJWZjX29wdHMgfSBdLAogCSdjb21taXQtZGlmZicgPT4gWyBcJmNtZF9jb21taXRfZGlmZiwKIAkgICAgICAgICAgICAgICAgICAgJ0NvbW1pdCBhIGRpZmYgYmV0d2VlbiB0d28gdHJlZXMnLApAQCAtMTA1NCw3ICsxMDU1LDcgQEAKIAkJCQkJICAnSWYgeW91IGFyZSBhdHRlbXB0aW5nIHRvIGNvbW1pdCAnLAogCQkJCQkgICJtZXJnZXMsIHRyeSBydW5uaW5nOlxuXHQiLAogCQkJCQkgICdnaXQgcmViYXNlIC0taW50ZXJhY3RpdmUnLAotCQkJCQkgICctLXByZXNlcnZlLW1lcmdlcyAnLAorCQkJCQkgICctLXJlYmFzZS1tZXJnZXMgJywKIAkJCQkJICAkZ3MtPnJlZm5hbWUsCiAJCQkJCSAgIlxuQmVmb3JlIGRjb21taXR0aW5nIjsKIAkJCQl9CkBAIC0xNzE3LDcgKzE3MTgsNyBAQAogCXB1c2ggQGNtZCwgJy12JyBpZiAkX3ZlcmJvc2U7CiAJcHVzaCBAY21kLCBxdy8tLW1lcmdlLyBpZiAkX21lcmdlOwogCXB1c2ggQGNtZCwgIi0tc3RyYXRlZ3k9JF9zdHJhdGVneSIgaWYgJF9zdHJhdGVneTsKLQlwdXNoIEBjbWQsICItLXByZXNlcnZlLW1lcmdlcyIgaWYgJF9wcmVzZXJ2ZV9tZXJnZXM7CisJcHVzaCBAY21kLCAiLS1yZWJhc2UtbWVyZ2VzIiBpZiAkX3JlYmFzZV9tZXJnZXM7CiAJQGNtZDsKIH0KIApkaWZmIC0tZ2l0IGEvZ2l0LmMgYi9naXQuYwppbmRleCAyZjYwNGE0Li43YmU3YWQzIDEwMDY0NAotLS0gYS9naXQuYworKysgYi9naXQuYwpAQCAtMzMsNyArMzMsOCBAQAogY29uc3QgY2hhciBnaXRfbW9yZV9pbmZvX3N0cmluZ1tdID0KIAlOXygiJ2dpdCBoZWxwIC1hJyBhbmQgJ2dpdCBoZWxwIC1nJyBsaXN0IGF2YWlsYWJsZSBzdWJjb21tYW5kcyBhbmQgc29tZVxuIgogCSAgICJjb25jZXB0IGd1aWRlcy4gU2VlICdnaXQgaGVscCA8Y29tbWFuZD4nIG9yICdnaXQgaGVscCA8Y29uY2VwdD4nXG4iCi0JICAgInRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIG9yIGNvbmNlcHQuIik7CisJICAgInRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIG9yIGNvbmNlcHQuXG4iCisJICAgIlNlZSAnZ2l0IGhlbHAgZ2l0JyBmb3IgYW4gb3ZlcnZpZXcgb2YgdGhlIHN5c3RlbS4iKTsKIAogc3RhdGljIGludCB1c2VfcGFnZXIgPSAtMTsKIApAQCAtNjIsNiArNjMsMTMgQEAKIHsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgbGlzdCA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwogCWludCBpOworCWludCBub25naXQ7CisKKwkvKgorCSogU2V0IHVwIHRoZSByZXBvc2l0b3J5IHNvIHdlIGNhbiBwaWNrIHVwIGFueSByZXBvLWxldmVsIGNvbmZpZyAobGlrZQorCSogY29tcGxldGlvbi5jb21tYW5kcykuCisJKi8KKwlzZXR1cF9naXRfZGlyZWN0b3J5X2dlbnRseSgmbm9uZ2l0KTsKIAogCXdoaWxlICgqc3BlYykgewogCQljb25zdCBjaGFyICpzZXAgPSBzdHJjaHJudWwoc3BlYywgJywnKTsKQEAgLTk4LDcgKzEwNiw4IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGNvbW1pdF9wYWdlcl9jaG9pY2Uodm9pZCkgeworc3RhdGljIHZvaWQgY29tbWl0X3BhZ2VyX2Nob2ljZSh2b2lkKQorewogCXN3aXRjaCAodXNlX3BhZ2VyKSB7CiAJY2FzZSAwOgogCQlzZXRlbnYoIkdJVF9QQUdFUiIsICJjYXQiLCAxKTsKQEAgLTE0NiwxNiArMTU1LDIwIEBACiAJCQkJZ2l0X3NldF9leGVjX3BhdGgoY21kICsgMSk7CiAJCQllbHNlIHsKIAkJCQlwdXRzKGdpdF9leGVjX3BhdGgoKSk7CisJCQkJdHJhY2UyX2NtZF9uYW1lKCJfcXVlcnlfIik7CiAJCQkJZXhpdCgwKTsKIAkJCX0KIAkJfSBlbHNlIGlmICghc3RyY21wKGNtZCwgIi0taHRtbC1wYXRoIikpIHsKIAkJCXB1dHMoc3lzdGVtX3BhdGgoR0lUX0hUTUxfUEFUSCkpOworCQkJdHJhY2UyX2NtZF9uYW1lKCJfcXVlcnlfIik7CiAJCQlleGl0KDApOwogCQl9IGVsc2UgaWYgKCFzdHJjbXAoY21kLCAiLS1tYW4tcGF0aCIpKSB7CiAJCQlwdXRzKHN5c3RlbV9wYXRoKEdJVF9NQU5fUEFUSCkpOworCQkJdHJhY2UyX2NtZF9uYW1lKCJfcXVlcnlfIik7CiAJCQlleGl0KDApOwogCQl9IGVsc2UgaWYgKCFzdHJjbXAoY21kLCAiLS1pbmZvLXBhdGgiKSkgewogCQkJcHV0cyhzeXN0ZW1fcGF0aChHSVRfSU5GT19QQVRIKSk7CisJCQl0cmFjZTJfY21kX25hbWUoIl9xdWVyeV8iKTsKIAkJCWV4aXQoMCk7CiAJCX0gZWxzZSBpZiAoIXN0cmNtcChjbWQsICItcCIpIHx8ICFzdHJjbXAoY21kLCAiLS1wYWdpbmF0ZSIpKSB7CiAJCQl1c2VfcGFnZXIgPSAxOwpAQCAtMjg0LDYgKzI5Nyw3IEBACiAJCQkoKmFyZ3YpKys7CiAJCQkoKmFyZ2MpLS07CiAJCX0gZWxzZSBpZiAoc2tpcF9wcmVmaXgoY21kLCAiLS1saXN0LWNtZHM9IiwgJmNtZCkpIHsKKwkJCXRyYWNlMl9jbWRfbmFtZSgiX3F1ZXJ5XyIpOwogCQkJaWYgKCFzdHJjbXAoY21kLCAicGFyc2VvcHQiKSkgewogCQkJCXN0cnVjdCBzdHJpbmdfbGlzdCBsaXN0ID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CiAJCQkJaW50IGk7CkBAIC0zMzEsMzQgKzM0NSwzOCBAQAogCQkJY29tbWl0X3BhZ2VyX2Nob2ljZSgpOwogCiAJCQljaGlsZC51c2Vfc2hlbGwgPSAxOworCQkJY2hpbGQudHJhY2UyX2NoaWxkX2NsYXNzID0gInNoZWxsX2FsaWFzIjsKIAkJCWFyZ3ZfYXJyYXlfcHVzaCgmY2hpbGQuYXJncywgYWxpYXNfc3RyaW5nICsgMSk7CiAJCQlhcmd2X2FycmF5X3B1c2h2KCZjaGlsZC5hcmdzLCAoKmFyZ3YpICsgMSk7CiAKKwkJCXRyYWNlMl9jbWRfYWxpYXMoYWxpYXNfY29tbWFuZCwgY2hpbGQuYXJncy5hcmd2KTsKKwkJCXRyYWNlMl9jbWRfbGlzdF9jb25maWcoKTsKKwkJCXRyYWNlMl9jbWRfbmFtZSgiX3J1bl9zaGVsbF9hbGlhc18iKTsKKwogCQkJcmV0ID0gcnVuX2NvbW1hbmQoJmNoaWxkKTsKIAkJCWlmIChyZXQgPj0gMCkgICAvKiBub3JtYWwgZXhpdCAqLwogCQkJCWV4aXQocmV0KTsKIAotCQkJZGllX2Vycm5vKCJ3aGlsZSBleHBhbmRpbmcgYWxpYXMgJyVzJzogJyVzJyIsCi0JCQkgICAgYWxpYXNfY29tbWFuZCwgYWxpYXNfc3RyaW5nICsgMSk7CisJCQlkaWVfZXJybm8oXygid2hpbGUgZXhwYW5kaW5nIGFsaWFzICclcyc6ICclcyciKSwKKwkJCQkgIGFsaWFzX2NvbW1hbmQsIGFsaWFzX3N0cmluZyArIDEpOwogCQl9CiAJCWNvdW50ID0gc3BsaXRfY21kbGluZShhbGlhc19zdHJpbmcsICZuZXdfYXJndik7CiAJCWlmIChjb3VudCA8IDApCi0JCQlkaWUoIkJhZCBhbGlhcy4lcyBzdHJpbmc6ICVzIiwgYWxpYXNfY29tbWFuZCwKLQkJCSAgICBzcGxpdF9jbWRsaW5lX3N0cmVycm9yKGNvdW50KSk7CisJCQlkaWUoXygiYmFkIGFsaWFzLiVzIHN0cmluZzogJXMiKSwgYWxpYXNfY29tbWFuZCwKKwkJCSAgICBfKHNwbGl0X2NtZGxpbmVfc3RyZXJyb3IoY291bnQpKSk7CiAJCW9wdGlvbl9jb3VudCA9IGhhbmRsZV9vcHRpb25zKCZuZXdfYXJndiwgJmNvdW50LCAmZW52Y2hhbmdlZCk7CiAJCWlmIChlbnZjaGFuZ2VkKQotCQkJZGllKCJhbGlhcyAnJXMnIGNoYW5nZXMgZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuIgotCQkJCSAiWW91IGNhbiB1c2UgJyFnaXQnIGluIHRoZSBhbGlhcyB0byBkbyB0aGlzIiwKLQkJCQkgYWxpYXNfY29tbWFuZCk7Ci0JCW1lbW1vdmUobmV3X2FyZ3YgLSBvcHRpb25fY291bnQsIG5ld19hcmd2LAotCQkJCWNvdW50ICogc2l6ZW9mKGNoYXIgKikpOworCQkJZGllKF8oImFsaWFzICclcycgY2hhbmdlcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4iCisJCQkgICAgICAiWW91IGNhbiB1c2UgJyFnaXQnIGluIHRoZSBhbGlhcyB0byBkbyB0aGlzIiksCisJCQkgICAgYWxpYXNfY29tbWFuZCk7CisJCU1PVkVfQVJSQVkobmV3X2FyZ3YgLSBvcHRpb25fY291bnQsIG5ld19hcmd2LCBjb3VudCk7CiAJCW5ld19hcmd2IC09IG9wdGlvbl9jb3VudDsKIAogCQlpZiAoY291bnQgPCAxKQotCQkJZGllKCJlbXB0eSBhbGlhcyBmb3IgJXMiLCBhbGlhc19jb21tYW5kKTsKKwkJCWRpZShfKCJlbXB0eSBhbGlhcyBmb3IgJXMiKSwgYWxpYXNfY29tbWFuZCk7CiAKIAkJaWYgKCFzdHJjbXAoYWxpYXNfY29tbWFuZCwgbmV3X2FyZ3ZbMF0pKQotCQkJZGllKCJyZWN1cnNpdmUgYWxpYXM6ICVzIiwgYWxpYXNfY29tbWFuZCk7CisJCQlkaWUoXygicmVjdXJzaXZlIGFsaWFzOiAlcyIpLCBhbGlhc19jb21tYW5kKTsKIAogCQl0cmFjZV9hcmd2X3ByaW50ZihuZXdfYXJndiwKIAkJCQkgICJ0cmFjZTogYWxpYXMgZXhwYW5zaW9uOiAlcyA9PiIsCkBAIC0zNjYsNyArMzg0LDEwIEBACiAKIAkJUkVBTExPQ19BUlJBWShuZXdfYXJndiwgY291bnQgKyAqYXJnY3ApOwogCQkvKiBpbnNlcnQgYWZ0ZXIgY29tbWFuZCBuYW1lICovCi0JCW1lbWNweShuZXdfYXJndiArIGNvdW50LCAqYXJndiArIDEsIHNpemVvZihjaGFyICopICogKmFyZ2NwKTsKKwkJQ09QWV9BUlJBWShuZXdfYXJndiArIGNvdW50LCAqYXJndiArIDEsICphcmdjcCk7CisKKwkJdHJhY2UyX2NtZF9hbGlhcyhhbGlhc19jb21tYW5kLCBuZXdfYXJndik7CisJCXRyYWNlMl9jbWRfbGlzdF9jb25maWcoKTsKIAogCQkqYXJndiA9IG5ld19hcmd2OwogCQkqYXJnY3AgKz0gY291bnQgLSAxOwpAQCAtNDA5LDE3ICs0MzAsMTkgQEAKIAogCWlmICghaGVscCAmJiBnZXRfc3VwZXJfcHJlZml4KCkpIHsKIAkJaWYgKCEocC0+b3B0aW9uICYgU1VQUE9SVF9TVVBFUl9QUkVGSVgpKQotCQkJZGllKCIlcyBkb2Vzbid0IHN1cHBvcnQgLS1zdXBlci1wcmVmaXgiLCBwLT5jbWQpOworCQkJZGllKF8oIiVzIGRvZXNuJ3Qgc3VwcG9ydCAtLXN1cGVyLXByZWZpeCIpLCBwLT5jbWQpOwogCX0KIAogCWlmICghaGVscCAmJiBwLT5vcHRpb24gJiBORUVEX1dPUktfVFJFRSkKIAkJc2V0dXBfd29ya190cmVlKCk7CiAKIAl0cmFjZV9hcmd2X3ByaW50Zihhcmd2LCAidHJhY2U6IGJ1aWx0LWluOiBnaXQiKTsKKwl0cmFjZTJfY21kX25hbWUocC0+Y21kKTsKKwl0cmFjZTJfY21kX2xpc3RfY29uZmlnKCk7CiAKLQl2YWxpZGF0ZV9jYWNoZV9lbnRyaWVzKCZ0aGVfaW5kZXgpOworCXZhbGlkYXRlX2NhY2hlX2VudHJpZXModGhlX3JlcG9zaXRvcnktPmluZGV4KTsKIAlzdGF0dXMgPSBwLT5mbihhcmdjLCBhcmd2LCBwcmVmaXgpOwotCXZhbGlkYXRlX2NhY2hlX2VudHJpZXMoJnRoZV9pbmRleCk7CisJdmFsaWRhdGVfY2FjaGVfZW50cmllcyh0aGVfcmVwb3NpdG9yeS0+aW5kZXgpOwogCiAJaWYgKHN0YXR1cykKIAkJcmV0dXJuIHN0YXR1czsKQEAgLTQzMywxMSArNDU2LDExIEBACiAKIAkvKiBDaGVjayBmb3IgRU5PU1BDIGFuZCBFSU8gZXJyb3JzLi4gKi8KIAlpZiAoZmZsdXNoKHN0ZG91dCkpCi0JCWRpZV9lcnJubygid3JpdGUgZmFpbHVyZSBvbiBzdGFuZGFyZCBvdXRwdXQiKTsKKwkJZGllX2Vycm5vKF8oIndyaXRlIGZhaWx1cmUgb24gc3RhbmRhcmQgb3V0cHV0IikpOwogCWlmIChmZXJyb3Ioc3Rkb3V0KSkKLQkJZGllKCJ1bmtub3duIHdyaXRlIGZhaWx1cmUgb24gc3RhbmRhcmQgb3V0cHV0Iik7CisJCWRpZShfKCJ1bmtub3duIHdyaXRlIGZhaWx1cmUgb24gc3RhbmRhcmQgb3V0cHV0IikpOwogCWlmIChmY2xvc2Uoc3Rkb3V0KSkKLQkJZGllX2Vycm5vKCJjbG9zZSBmYWlsZWQgb24gc3RhbmRhcmQgb3V0cHV0Iik7CisJCWRpZV9lcnJubyhfKCJjbG9zZSBmYWlsZWQgb24gc3RhbmRhcmQgb3V0cHV0IikpOwogCXJldHVybiAwOwogfQogCkBAIC00NzUsNyArNDk4LDggQEAKIAl7ICJkaWZmLWZpbGVzIiwgY21kX2RpZmZfZmlsZXMsIFJVTl9TRVRVUCB8IE5FRURfV09SS19UUkVFIHwgTk9fUEFSU0VPUFQgfSwKIAl7ICJkaWZmLWluZGV4IiwgY21kX2RpZmZfaW5kZXgsIFJVTl9TRVRVUCB8IE5PX1BBUlNFT1BUIH0sCiAJeyAiZGlmZi10cmVlIiwgY21kX2RpZmZfdHJlZSwgUlVOX1NFVFVQIHwgTk9fUEFSU0VPUFQgfSwKLQl7ICJkaWZmdG9vbCIsIGNtZF9kaWZmdG9vbCwgUlVOX1NFVFVQIHwgTkVFRF9XT1JLX1RSRUUgfSwKKwl7ICJkaWZmdG9vbCIsIGNtZF9kaWZmdG9vbCwgUlVOX1NFVFVQX0dFTlRMWSB9LAorCXsgImVudi0taGVscGVyIiwgY21kX2Vudl9faGVscGVyIH0sCiAJeyAiZmFzdC1leHBvcnQiLCBjbWRfZmFzdF9leHBvcnQsIFJVTl9TRVRVUCB9LAogCXsgImZldGNoIiwgY21kX2ZldGNoLCBSVU5fU0VUVVAgfSwKIAl7ICJmZXRjaC1wYWNrIiwgY21kX2ZldGNoX3BhY2ssIFJVTl9TRVRVUCB8IE5PX1BBUlNFT1BUIH0sCkBAIC01MjYsMTIgKzU1MCw3IEBACiAJeyAicHVzaCIsIGNtZF9wdXNoLCBSVU5fU0VUVVAgfSwKIAl7ICJyYW5nZS1kaWZmIiwgY21kX3JhbmdlX2RpZmYsIFJVTl9TRVRVUCB8IFVTRV9QQUdFUiB9LAogCXsgInJlYWQtdHJlZSIsIGNtZF9yZWFkX3RyZWUsIFJVTl9TRVRVUCB8IFNVUFBPUlRfU1VQRVJfUFJFRklYfSwKLQkvKgotCSAqIE5FRURTV09SSzogVW50aWwgdGhlIHJlYmFzZSBpcyBpbmRlcGVuZGVudCBhbmQgbmVlZHMgbm8gcmVkaXJlY3Rpb24KLQkgKiB0byByZWJhc2Ugc2hlbGwgc2NyaXB0IHRoaXMgaXMga2VwdCBhcyBpcywgdGhlbiBzaG91bGQgYmUgY2hhbmdlZCB0bwotCSAqIFJVTl9TRVRVUCB8IE5FRURfV09SS19UUkVFCi0JICovCi0JeyAicmViYXNlIiwgY21kX3JlYmFzZSB9LAorCXsgInJlYmFzZSIsIGNtZF9yZWJhc2UsIFJVTl9TRVRVUCB8IE5FRURfV09SS19UUkVFIH0sCiAJeyAicmViYXNlLS1pbnRlcmFjdGl2ZSIsIGNtZF9yZWJhc2VfX2ludGVyYWN0aXZlLCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAogCXsgInJlY2VpdmUtcGFjayIsIGNtZF9yZWNlaXZlX3BhY2sgfSwKIAl7ICJyZWZsb2ciLCBjbWRfcmVmbG9nLCBSVU5fU0VUVVAgfSwKQEAgLTU0MiwyMSArNTYxLDI5IEBACiAJeyAicmVwbGFjZSIsIGNtZF9yZXBsYWNlLCBSVU5fU0VUVVAgfSwKIAl7ICJyZXJlcmUiLCBjbWRfcmVyZXJlLCBSVU5fU0VUVVAgfSwKIAl7ICJyZXNldCIsIGNtZF9yZXNldCwgUlVOX1NFVFVQIH0sCisJeyAicmVzdG9yZSIsIGNtZF9yZXN0b3JlLCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAogCXsgInJldi1saXN0IiwgY21kX3Jldl9saXN0LCBSVU5fU0VUVVAgfCBOT19QQVJTRU9QVCB9LAogCXsgInJldi1wYXJzZSIsIGNtZF9yZXZfcGFyc2UsIE5PX1BBUlNFT1BUIH0sCiAJeyAicmV2ZXJ0IiwgY21kX3JldmVydCwgUlVOX1NFVFVQIHwgTkVFRF9XT1JLX1RSRUUgfSwKIAl7ICJybSIsIGNtZF9ybSwgUlVOX1NFVFVQIH0sCiAJeyAic2VuZC1wYWNrIiwgY21kX3NlbmRfcGFjaywgUlVOX1NFVFVQIH0sCi0JeyAic2VydmUiLCBjbWRfc2VydmUsIFJVTl9TRVRVUCB9LAogCXsgInNob3J0bG9nIiwgY21kX3Nob3J0bG9nLCBSVU5fU0VUVVBfR0VOVExZIHwgVVNFX1BBR0VSIH0sCiAJeyAic2hvdyIsIGNtZF9zaG93LCBSVU5fU0VUVVAgfSwKIAl7ICJzaG93LWJyYW5jaCIsIGNtZF9zaG93X2JyYW5jaCwgUlVOX1NFVFVQIH0sCiAJeyAic2hvdy1pbmRleCIsIGNtZF9zaG93X2luZGV4IH0sCiAJeyAic2hvdy1yZWYiLCBjbWRfc2hvd19yZWYsIFJVTl9TRVRVUCB9LAorCXsgInNwYXJzZS1jaGVja291dCIsIGNtZF9zcGFyc2VfY2hlY2tvdXQsIFJVTl9TRVRVUCB8IE5FRURfV09SS19UUkVFIH0sCiAJeyAic3RhZ2UiLCBjbWRfYWRkLCBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRSB9LAorCS8qCisJICogTkVFRFNXT1JLOiBVbnRpbCB0aGUgYnVpbHRpbiBzdGFzaCBpcyB0aG9yb3VnaGx5IHJvYnVzdCBhbmQgbm8KKwkgKiBsb25nZXIgbmVlZHMgcmVkaXJlY3Rpb24gdG8gdGhlIHN0YXNoIHNoZWxsIHNjcmlwdCB0aGlzIGlzIGtlcHQgYXMKKwkgKiBpcywgdGhlbiBzaG91bGQgYmUgY2hhbmdlZCB0byBSVU5fU0VUVVAgfCBORUVEX1dPUktfVFJFRQorCSAqLworCXsgInN0YXNoIiwgY21kX3N0YXNoIH0sCiAJeyAic3RhdHVzIiwgY21kX3N0YXR1cywgUlVOX1NFVFVQIHwgTkVFRF9XT1JLX1RSRUUgfSwKIAl7ICJzdHJpcHNwYWNlIiwgY21kX3N0cmlwc3BhY2UgfSwKIAl7ICJzdWJtb2R1bGUtLWhlbHBlciIsIGNtZF9zdWJtb2R1bGVfX2hlbHBlciwgUlVOX1NFVFVQIHwgU1VQUE9SVF9TVVBFUl9QUkVGSVggfCBOT19QQVJTRU9QVCB9LAorCXsgInN3aXRjaCIsIGNtZF9zd2l0Y2gsIFJVTl9TRVRVUCB8IE5FRURfV09SS19UUkVFIH0sCiAJeyAic3ltYm9saWMtcmVmIiwgY21kX3N5bWJvbGljX3JlZiwgUlVOX1NFVFVQIH0sCiAJeyAidGFnIiwgY21kX3RhZywgUlVOX1NFVFVQIHwgREVMQVlfUEFHRVJfQ09ORklHIH0sCiAJeyAidW5wYWNrLWZpbGUiLCBjbWRfdW5wYWNrX2ZpbGUsIFJVTl9TRVRVUCB8IE5PX1BBUlNFT1BUIH0sCkBAIC02NTQsNyArNjgxLDcgQEAKIAlpbnQgc3RhdHVzOwogCiAJaWYgKGdldF9zdXBlcl9wcmVmaXgoKSkKLQkJZGllKCIlcyBkb2Vzbid0IHN1cHBvcnQgLS1zdXBlci1wcmVmaXgiLCBhcmd2WzBdKTsKKwkJZGllKF8oIiVzIGRvZXNuJ3Qgc3VwcG9ydCAtLXN1cGVyLXByZWZpeCIpLCBhcmd2WzBdKTsKIAogCWlmICh1c2VfcGFnZXIgPT0gLTEgJiYgIWlzX2J1aWx0aW4oYXJndlswXSkpCiAJCXVzZV9wYWdlciA9IGNoZWNrX3BhZ2VyX2NvbmZpZyhhcmd2WzBdKTsKQEAgLTY2NSw3ICs2OTIsMTQgQEAKIAljbWQuY2xlYW5fb25fZXhpdCA9IDE7CiAJY21kLndhaXRfYWZ0ZXJfY2xlYW4gPSAxOwogCWNtZC5zaWxlbnRfZXhlY19mYWlsdXJlID0gMTsKKwljbWQudHJhY2UyX2NoaWxkX2NsYXNzID0gImRhc2hlZCI7CiAKKwl0cmFjZTJfY21kX25hbWUoIl9ydW5fZGFzaGVkXyIpOworCisJLyoKKwkgKiBUaGUgY29kZSBpbiBydW5fY29tbWFuZCgpIGxvZ3MgdHJhY2UyIGNoaWxkX3N0YXJ0L2NoaWxkX2V4aXQKKwkgKiBldmVudHMsIHNvIHdlIGRvIG5vdCBuZWVkIHRvIHJlcG9ydCBleGVjL2V4ZWNfcmVzdWx0IGV2ZW50cyBoZXJlLgorCSAqLwogCXRyYWNlX2FyZ3ZfcHJpbnRmKGNtZC5hcmdzLmFyZ3YsICJ0cmFjZTogZXhlYzoiKTsKIAogCS8qCkBAIC02NzUsNiArNzA5LDEyIEBACiAJICogdGhlIHByb2dyYW0uCiAJICovCiAJc3RhdHVzID0gcnVuX2NvbW1hbmQoJmNtZCk7CisKKwkvKgorCSAqIElmIHRoZSBjaGlsZCBwcm9jZXNzIHJhbiBhbmQgd2UgYXJlIG5vdyBnb2luZyB0byBleGl0LCBlbWl0IGEKKwkgKiBnZW5lcmljIHN0cmluZyBhcyBvdXIgdHJhY2UyIGNvbW1hbmQgdmVyYiB0byBpbmRpY2F0ZSB0aGF0IHdlCisJICogbGF1bmNoZWQgYSBkYXNoZWQgY29tbWFuZC4KKwkgKi8KIAlpZiAoc3RhdHVzID49IDApCiAJCWV4aXQoc3RhdHVzKTsKIAllbHNlIGlmIChlcnJubyAhPSBFTk9FTlQpCkBAIC02OTksNiArNzM5LDQwIEBACiAJCSAqLwogCQlpZiAoIWRvbmVfYWxpYXMpCiAJCQloYW5kbGVfYnVpbHRpbigqYXJnY3AsICphcmd2KTsKKwkJZWxzZSBpZiAoZ2V0X2J1aWx0aW4oKiphcmd2KSkgeworCQkJc3RydWN0IGFyZ3ZfYXJyYXkgYXJncyA9IEFSR1ZfQVJSQVlfSU5JVDsKKwkJCWludCBpOworCisJCQkvKgorCQkJICogVGhlIGN1cnJlbnQgcHJvY2VzcyBpcyBjb21taXR0ZWQgdG8gbGF1bmNoaW5nIGEKKwkJCSAqIGNoaWxkIHByb2Nlc3MgdG8gcnVuIHRoZSBjb21tYW5kIG5hbWVkIGluICgqKmFyZ3YpCisJCQkgKiBhbmQgZXhpdGluZy4gIExvZyBhIGdlbmVyaWMgc3RyaW5nIGFzIHRoZSB0cmFjZTIKKwkJCSAqIGNvbW1hbmQgdmVyYiB0byBpbmRpY2F0ZSB0aGlzLiAgTm90ZSB0aGF0IHRoZSBjaGlsZAorCQkJICogcHJvY2VzcyB3aWxsIGxvZyB0aGUgYWN0dWFsIHZlcmIgd2hlbiBpdCBydW5zLgorCQkJICovCisJCQl0cmFjZTJfY21kX25hbWUoIl9ydW5fZ2l0X2FsaWFzXyIpOworCisJCQlpZiAoZ2V0X3N1cGVyX3ByZWZpeCgpKQorCQkJCWRpZSgiJXMgZG9lc24ndCBzdXBwb3J0IC0tc3VwZXItcHJlZml4IiwgKiphcmd2KTsKKworCQkJY29tbWl0X3BhZ2VyX2Nob2ljZSgpOworCisJCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsICJnaXQiKTsKKwkJCWZvciAoaSA9IDA7IGkgPCAqYXJnY3A7IGkrKykKKwkJCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsICgqYXJndilbaV0pOworCisJCQl0cmFjZV9hcmd2X3ByaW50ZihhcmdzLmFyZ3YsICJ0cmFjZTogZXhlYzoiKTsKKworCQkJLyoKKwkJCSAqIGlmIHdlIGZhaWwgYmVjYXVzZSB0aGUgY29tbWFuZCBpcyBub3QgZm91bmQsIGl0IGlzCisJCQkgKiBPSyB0byByZXR1cm4uIE90aGVyd2lzZSwgd2UganVzdCBwYXNzIGFsb25nIHRoZSBzdGF0dXMgY29kZS4KKwkJCSAqLworCQkJaSA9IHJ1bl9jb21tYW5kX3Zfb3B0X3RyMihhcmdzLmFyZ3YsIFJVTl9TSUxFTlRfRVhFQ19GQUlMVVJFIHwKKwkJCQkJCSAgUlVOX0NMRUFOX09OX0VYSVQsICJnaXRfYWxpYXMiKTsKKwkJCWlmIChpID49IDAgfHwgZXJybm8gIT0gRU5PRU5UKQorCQkJCWV4aXQoaSk7CisJCQlkaWUoImNvdWxkIG5vdCBleGVjdXRlIGJ1aWx0aW4gJXMiLCAqKmFyZ3YpOworCQl9CiAKIAkJLyogLi4gdGhlbiB0cnkgdGhlIGV4dGVybmFsIG9uZXMgKi8KIAkJZXhlY3ZfZGFzaGVkX2V4dGVybmFsKCphcmd2KTsKQEAgLTc2Niw3ICs4NDAsNyBAQAogCWlmIChza2lwX3ByZWZpeChjbWQsICJnaXQtIiwgJmNtZCkpIHsKIAkJYXJndlswXSA9IGNtZDsKIAkJaGFuZGxlX2J1aWx0aW4oYXJnYywgYXJndik7Ci0JCWRpZSgiY2Fubm90IGhhbmRsZSAlcyBhcyBhIGJ1aWx0aW4iLCBjbWQpOworCQlkaWUoXygiY2Fubm90IGhhbmRsZSAlcyBhcyBhIGJ1aWx0aW4iKSwgY21kKTsKIAl9CiAKIAkvKiBMb29rIGZvciBmbGFncy4uICovCkBAIC03NzksNyArODUzLDcgQEAKIAl9IGVsc2UgewogCQkvKiBUaGUgdXNlciBkaWRuJ3Qgc3BlY2lmeSBhIGNvbW1hbmQ7IGdpdmUgdGhlbSBoZWxwICovCiAJCWNvbW1pdF9wYWdlcl9jaG9pY2UoKTsKLQkJcHJpbnRmKCJ1c2FnZTogJXNcblxuIiwgZ2l0X3VzYWdlX3N0cmluZyk7CisJCXByaW50ZihfKCJ1c2FnZTogJXNcblxuIiksIGdpdF91c2FnZV9zdHJpbmcpOwogCQlsaXN0X2NvbW1vbl9jbWRzX2hlbHAoKTsKIAkJcHJpbnRmKCJcbiVzXG4iLCBfKGdpdF9tb3JlX2luZm9fc3RyaW5nKSk7CiAJCWV4aXQoMSk7CmRpZmYgLS1naXQgYS9naXQucmMgYi9naXQucmMKaW5kZXggNDkwMDJlMC4uY2MzZmRjNiAxMDA2NDQKLS0tIGEvZ2l0LnJjCisrKyBiL2dpdC5yYwpAQCAtMjAsMyArMjAsNSBAQAogICAgIFZBTFVFICJUcmFuc2xhdGlvbiIsIDB4NDA5LCAxMjAwCiAgIEVORAogRU5ECisKKzEgUlRfTUFOSUZFU1QgImNvbXBhdC93aW4zMi9naXQubWFuaWZlc3QiCmRpZmYgLS1naXQgYS9naXRrLWdpdC9naXRrIGIvZ2l0ay1naXQvZ2l0awppbmRleCBhMTRkN2ExLi5hYmU0ODA1IDEwMDc1NQotLS0gYS9naXRrLWdpdC9naXRrCisrKyBiL2dpdGstZ2l0L2dpdGsKQEAgLTM0MDQsNiArMzQwNCw4IEBACiB9CiBpbWFnZSBjcmVhdGUgYml0bWFwIHJlZmljb24tSCAtYmFja2dyb3VuZCBibGFjayAtZm9yZWdyb3VuZCAiIzAwZmYwMCIgXAogICAgIC1kYXRhICRyZWN0ZGF0YSAtbWFza2RhdGEgJHJlY3RtYXNrCitpbWFnZSBjcmVhdGUgYml0bWFwIHJlZmljb24tUiAtYmFja2dyb3VuZCBibGFjayAtZm9yZWdyb3VuZCAiI2ZmZGRhYSIgXAorICAgIC1kYXRhICRyZWN0ZGF0YSAtbWFza2RhdGEgJHJlY3RtYXNrCiBpbWFnZSBjcmVhdGUgYml0bWFwIHJlZmljb24tbyAtYmFja2dyb3VuZCBibGFjayAtZm9yZWdyb3VuZCAiI2RkZGRmZiIgXAogICAgIC1kYXRhICRyZWN0ZGF0YSAtbWFza2RhdGEgJHJlY3RtYXNrCiAKQEAgLTcwMTYsNiArNzAxOCw3IEBACiAKICMgYXBwZW5kIHNvbWUgdGV4dCB0byB0aGUgY3RleHQgd2lkZ2V0LCBhbmQgbWFrZSBhbnkgU0hBMSBJRAogIyB0aGF0IHdlIGtub3cgYWJvdXQgYmUgYSBjbGlja2FibGUgbGluay4KKyMgQWxzbyBsb29rIGZvciBVUkxzIG9mIHRoZSBmb3JtICJodHRwW3NdOi8vLi4uIiBhbmQgbWFrZSB0aGVtIHdlYiBsaW5rcy4KIHByb2MgYXBwZW5kd2l0aGxpbmtzIHt0ZXh0IHRhZ3N9IHsKICAgICBnbG9iYWwgY3RleHQgbGlua251bSBjdXJ2aWV3CiAKQEAgLTcwMzIsNiArNzAzNSwxOCBAQAogCXNldGxpbmsgJGxpbmtpZCBsaW5rJGxpbmtudW0KIAlpbmNyIGxpbmtudW0KICAgICB9CisgICAgc2V0IHdsaW5rcyBbcmVnZXhwIC1pbmRpY2VzIC1hbGwgLWlubGluZSAtbGluZSBcCisJCSAgICB7aHR0cHM/Oi8vW15bOnNwYWNlOl1dK30gJHRleHRdCisgICAgZm9yZWFjaCBsICR3bGlua3MgeworCXNldCBzMiBbbGluZGV4ICRsIDBdCisJc2V0IGUyIFtsaW5kZXggJGwgMV0KKwlzZXQgdXJsIFtzdHJpbmcgcmFuZ2UgJHRleHQgJHMyICRlMl0KKwlpbmNyIGUyCisJJGN0ZXh0IHRhZyBkZWxldGUgbGluayRsaW5rbnVtCisJJGN0ZXh0IHRhZyBhZGQgbGluayRsaW5rbnVtICIkc3RhcnQgKyAkczIgYyIgIiRzdGFydCArICRlMiBjIgorCXNldHdsaW5rICR1cmwgbGluayRsaW5rbnVtCisJaW5jciBsaW5rbnVtCisgICAgfQogfQogCiBwcm9jIHNldGxpbmsge2lkIGxrfSB7CkBAIC03MDY0LDYgKzcwNzksMTggQEAKICAgICB9CiB9CiAKK3Byb2Mgc2V0d2xpbmsge3VybCBsa30geworICAgIGdsb2JhbCBjdGV4dAorICAgIGdsb2JhbCBsaW5rZmdjb2xvcgorICAgIGdsb2JhbCB3ZWJfYnJvd3NlcgorCisgICAgaWYgeyR3ZWJfYnJvd3NlciBlcSB7fX0gcmV0dXJuCisgICAgJGN0ZXh0IHRhZyBjb25mICRsayAtZm9yZWdyb3VuZCAkbGlua2ZnY29sb3IgLXVuZGVybGluZSAxCisgICAgJGN0ZXh0IHRhZyBiaW5kICRsayA8MT4gW2xpc3QgYnJvd3Nld2ViICR1cmxdCisgICAgJGN0ZXh0IHRhZyBiaW5kICRsayA8RW50ZXI+IHtsaW5rY3Vyc29yICVXIDF9CisgICAgJGN0ZXh0IHRhZyBiaW5kICRsayA8TGVhdmU+IHtsaW5rY3Vyc29yICVXIC0xfQorfQorCiBwcm9jIGFwcGVuZHNob3J0bGluayB7aWQge3ByZSB7fX0ge3Bvc3Qge319fSB7CiAgICAgZ2xvYmFsIGN0ZXh0IGxpbmtudW0KIApAQCAtNzA5OCw2ICs3MTI1LDE2IEBACiAgICAgfQogfQogCitwcm9jIGJyb3dzZXdlYiB7dXJsfSB7CisgICAgZ2xvYmFsIHdlYl9icm93c2VyCisKKyAgICBpZiB7JHdlYl9icm93c2VyIGVxIHt9fSByZXR1cm4KKyAgICAjIFVzZSBldmFsIGhlcmUgaW4gY2FzZSAkd2ViX2Jyb3dzZXIgaXMgYSBjb21tYW5kIHBsdXMgc29tZSBhcmd1bWVudHMKKyAgICBpZiB7W2NhdGNoIHtldmFsIGV4ZWMgJHdlYl9icm93c2VyIFtsaXN0ICR1cmxdICZ9IGVycl19IHsKKwllcnJvcl9wb3B1cCAiW21jICJFcnJvciBzdGFydGluZyB3ZWIgYnJvd3NlcjoiXSAkZXJyIgorICAgIH0KK30KKwogcHJvYyB2aWV3bmV4dGxpbmUge2Rpcn0gewogICAgIGdsb2JhbCBjYW52IGxpbmVzcGMKIApAQCAtODE5MSwxMSArODIyOCwxMSBAQAogCX0gZWxzZSB7CiAJICAgICRjdGV4dCBpbnNlcnQgZW5kICIkbGluZVxuIiBmaWxlc2VwCiAJfQotICAgIH0gZWxzZWlmIHshW3N0cmluZyBjb21wYXJlIC1sZW5ndGggMyAiICA+IiAkbGluZV19IHsKKyAgICB9IGVsc2VpZiB7JGN1cnJkaWZmc3VibW9kICE9ICIiICYmICFbc3RyaW5nIGNvbXBhcmUgLWxlbmd0aCAzICIgID4iICRsaW5lXX0gewogCXNldCAkY3VycmRpZmZzdWJtb2QgIiIKIAlzZXQgbGluZSBbZW5jb2RpbmcgY29udmVydGZyb20gJGRpZmZlbmNvZGluZyAkbGluZV0KIAkkY3RleHQgaW5zZXJ0IGVuZCAiJGxpbmVcbiIgZHJlc3VsdAotICAgIH0gZWxzZWlmIHshW3N0cmluZyBjb21wYXJlIC1sZW5ndGggMyAiICA8IiAkbGluZV19IHsKKyAgICB9IGVsc2VpZiB7JGN1cnJkaWZmc3VibW9kICE9ICIiICYmICFbc3RyaW5nIGNvbXBhcmUgLWxlbmd0aCAzICIgIDwiICRsaW5lXX0gewogCXNldCAkY3VycmRpZmZzdWJtb2QgIiIKIAlzZXQgbGluZSBbZW5jb2RpbmcgY29udmVydGZyb20gJGRpZmZlbmNvZGluZyAkbGluZV0KIAkkY3RleHQgaW5zZXJ0IGVuZCAiJGxpbmVcbiIgZDAKQEAgLTEwMDIyLDYgKzEwMDU5LDcgQEAKICAgICBzZXQgbiBbbGluZGV4ICRyZWYgMF0KICAgICBzd2l0Y2ggLS0gW2xpbmRleCAkcmVmIDFdIHsKIAkiSCIge3NlbGJ5aWQgJGhlYWRpZHMoJG4pfQorCSJSIiB7c2VsYnlpZCAkaGVhZGlkcygkbil9CiAJIlQiIHtzZWxieWlkICR0YWdpZHMoJG4pfQogCSJvIiB7c2VsYnlpZCAkb3RoZXJyZWZpZHMoJG4pfQogICAgIH0KQEAgLTEwMDUxLDcgKzEwMDg5LDExIEBACiAgICAgZm9yZWFjaCBuIFthcnJheSBuYW1lcyBoZWFkaWRzXSB7CiAJaWYge1tzdHJpbmcgbWF0Y2ggJHJlZmxpc3RmaWx0ZXIgJG5dfSB7CiAJICAgIGlmIHtbY29tbWl0aW52aWV3ICRoZWFkaWRzKCRuKSAkY3Vydmlld119IHsKLQkJbGFwcGVuZCByZWZzIFtsaXN0ICRuIEhdCisJCWlmIHtbc3RyaW5nIG1hdGNoICJyZW1vdGVzLyoiICRuXX0geworCQkgICAgbGFwcGVuZCByZWZzIFtsaXN0ICRuIFJdCisJCX0gZWxzZSB7CisJCSAgICBsYXBwZW5kIHJlZnMgW2xpc3QgJG4gSF0KKwkJfQogCSAgICB9IGVsc2UgewogCQlpbnRlcmVzdGVkaW4gJGhlYWRpZHMoJG4pIHtydW4gcmVmaWxsX3JlZmxpc3R9CiAJICAgIH0KQEAgLTExNDg4LDcgKzExNTMwLDcgQEAKIHByb2MgcHJlZnNwYWdlX2dlbmVyYWwge25vdGVib29rfSB7CiAgICAgZ2xvYmFsIE5TIG1heHdpZHRoIG1heGdyYXBocGN0IHNob3duZWFydGFncyBzaG93bG9jYWxjaGFuZ2VzCiAgICAgZ2xvYmFsIHRhYnN0b3AgbGltaXRkaWZmcyBhdXRvc2VsZWN0IGF1dG9zZWxsZW4gZXh0ZGlmZnRvb2wgcGVyZmlsZV9hdHRycwotICAgIGdsb2JhbCBoaWRlcmVtb3RlcyB3YW50X3R0ayBoYXZlX3R0ayBtYXhyZWZzCisgICAgZ2xvYmFsIGhpZGVyZW1vdGVzIHdhbnRfdHRrIGhhdmVfdHRrIG1heHJlZnMgd2ViX2Jyb3dzZXIKIAogICAgIHNldCBwYWdlIFtjcmVhdGVfcHJlZnNfcGFnZSAkbm90ZWJvb2suZ2VuZXJhbF0KIApAQCAtMTE1MzksNiArMTE1ODEsMTMgQEAKICAgICBwYWNrIGNvbmZpZ3VyZSAkcGFnZS5leHRkaWZmZi5sIC1wYWR4IDEwCiAgICAgZ3JpZCB4ICRwYWdlLmV4dGRpZmZmICRwYWdlLmV4dGRpZmZ0IC1zdGlja3kgZXcKIAorICAgICR7TlN9OjplbnRyeSAkcGFnZS53ZWJicm93c2VyIC10ZXh0dmFyaWFibGUgd2ViX2Jyb3dzZXIKKyAgICAke05TfTo6ZnJhbWUgJHBhZ2Uud2ViYnJvd3NlcmYKKyAgICAke05TfTo6bGFiZWwgJHBhZ2Uud2ViYnJvd3NlcmYubCAtdGV4dCBbbWMgIldlYiBicm93c2VyIiBdCisgICAgcGFjayAkcGFnZS53ZWJicm93c2VyZi5sIC1zaWRlIGxlZnQKKyAgICBwYWNrIGNvbmZpZ3VyZSAkcGFnZS53ZWJicm93c2VyZi5sIC1wYWR4IDEwCisgICAgZ3JpZCB4ICRwYWdlLndlYmJyb3dzZXJmICRwYWdlLndlYmJyb3dzZXIgLXN0aWNreSBldworCiAgICAgJHtOU306OmxhYmVsICRwYWdlLmxnZW4gLXRleHQgW21jICJHZW5lcmFsIG9wdGlvbnMiXQogICAgIGdyaWQgJHBhZ2UubGdlbiAtIC1zdGlja3kgdyAtcGFkeSAxMAogICAgICR7TlN9OjpjaGVja2J1dHRvbiAkcGFnZS53YW50X3R0ayAtdmFyaWFibGUgd2FudF90dGsgXApAQCAtMTIzMTAsNiArMTIzNTksNyBAQAogICAgIHNldCBiZ2NvbG9yIFN5c3RlbVdpbmRvdwogICAgIHNldCBmZ2NvbG9yIFN5c3RlbVdpbmRvd1RleHQKICAgICBzZXQgc2VsZWN0Ymdjb2xvciBTeXN0ZW1IaWdobGlnaHQKKyAgICBzZXQgd2ViX2Jyb3dzZXIgImNtZCAvYyBzdGFydCIKIH0gZWxzZSB7CiAgICAgc2V0IHVpY29sb3IgZ3JleTg1CiAgICAgc2V0IHVpZmdjb2xvciBibGFjawpAQCAtMTIzMTcsNiArMTIzNjcsMTEgQEAKICAgICBzZXQgYmdjb2xvciB3aGl0ZQogICAgIHNldCBmZ2NvbG9yIGJsYWNrCiAgICAgc2V0IHNlbGVjdGJnY29sb3IgZ3JheTg1CisgICAgaWYge1t0ayB3aW5kb3dpbmdzeXN0ZW1dIGVxICJhcXVhIn0geworCXNldCB3ZWJfYnJvd3NlciAib3BlbiIKKyAgICB9IGVsc2UgeworCXNldCB3ZWJfYnJvd3NlciAieGRnLW9wZW4iCisgICAgfQogfQogc2V0IGRpZmZjb2xvcnMge3JlZCAiIzAwYTAwMCIgYmx1ZX0KIHNldCBkaWZmY29udGV4dCAzCkBAIC0xMjM5MCw2ICsxMjQ0NSw3IEBACiAgICAgZmlsZXNlcGJnY29sb3IgZmlsZXNlcGZnY29sb3IgbGluZWhvdmVyYmdjb2xvciBsaW5laG92ZXJmZ2NvbG9yCiAgICAgbGluZWhvdmVyb3V0bGluZWNvbG9yIG1haW5oZWFkY2lyY2xlY29sb3Igd29ya2luZ2ZpbGVzY2lyY2xlY29sb3IKICAgICBpbmRleGNpcmNsZWNvbG9yIGNpcmNsZWNvbG9ycyBsaW5rZmdjb2xvciBjaXJjbGVvdXRsaW5lY29sb3IKKyAgICB3ZWJfYnJvd3NlcgogfQogZm9yZWFjaCB2YXIgJGNvbmZpZ192YXJpYWJsZXMgewogICAgIGNvbmZpZ19pbml0X3RyYWNlICR2YXIKZGlmZiAtLWdpdCBhL2dpdGstZ2l0L3BvL2JnLnBvIGIvZ2l0ay1naXQvcG8vYmcucG8KaW5kZXggNDA3ZDU1NS4uODdhYjFmYSAxMDA2NDQKLS0tIGEvZ2l0ay1naXQvcG8vYmcucG8KKysrIGIvZ2l0ay1naXQvcG8vYmcucG8KQEAgLTEsMTUgKzEsMTUgQEAKICMgQnVsZ2FyaWFuIHRyYW5zbGF0aW9uIG9mIGdpdGsgcG8tZmlsZS4KLSMgQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1IEFsZXhhbmRlciBTaG9wb3YgPGFzaEBrYW1iYW5hcmlhLm9yZz4uCisjIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSwgMjAxOSBBbGV4YW5kZXIgU2hvcG92IDxhc2hAa2FtYmFuYXJpYS5vcmc+LgogIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgZ2l0IHBhY2thZ2UuCi0jIEFsZXhhbmRlciBTaG9wb3YgPGFzaEBrYW1iYW5hcmlhLm9yZz4sIDIwMTQsIDIwMTUuCisjIEFsZXhhbmRlciBTaG9wb3YgPGFzaEBrYW1iYW5hcmlhLm9yZz4sIDIwMTQsIDIwMTUsIDIwMTkuCiAjCiAjCiBtc2dpZCAiIgogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBnaXRrIG1hc3RlclxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNS0xMi0xOSAxMTo0OCswMjAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxNS0xMi0xOSAxMTo0OSswMjAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTktMDMtMDQgMTE6MjcrMDEwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTktMDMtMDQgMTE6MzkrMDEwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogQWxleGFuZGVyIFNob3BvdiA8YXNoQGthbWJhbmFyaWEub3JnPlxuIgogIkxhbmd1YWdlLVRlYW06IEJ1bGdhcmlhbiA8ZGljdEBmc2EtYmcub3JnPlxuIgogIkxhbmd1YWdlOiBiZ1xuIgpAQCAtMjIsMTcgKzIyLDE3IEBACiBtc2dpZCAiQ291bGRuJ3QgZ2V0IGxpc3Qgb2YgdW5tZXJnZWQgZmlsZXM6IgogbXNnc3RyICLQodC/0LjRgdGK0LrRitGCINGBINC90LXRgdC70LXRgtC4INGE0LDQudC70L7QstC1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LvRg9GH0LXQvToiCiAKLSM6IGdpdGs6MjEyIGdpdGs6MjM5OQorIzogZ2l0azoyMTIgZ2l0azoyNDAzCiBtc2dpZCAiQ29sb3Igd29yZHMiCiBtc2dzdHIgItCe0YbQstC10YLRj9Cy0LDQvdC1INC90LAg0LTRg9C80LjRgtC1IgogCi0jOiBnaXRrOjIxNyBnaXRrOjIzOTkgZ2l0azo4MjM5IGdpdGs6ODI3MgorIzogZ2l0azoyMTcgZ2l0azoyNDAzIGdpdGs6ODI0OSBnaXRrOjgyODIKIG1zZ2lkICJNYXJrdXAgd29yZHMiCiBtc2dzdHIgItCe0YLQsdC10LvRj9C30LLQsNC90LUg0L3QsCDQtNGD0LzQuNGC0LUiCiAKICM6IGdpdGs6MzI0CiBtc2dpZCAiRXJyb3IgcGFyc2luZyByZXZpc2lvbnM6IgotbXNnc3RyICLQk9GA0LXRiNC60LAg0L/RgNC4INGA0LDQt9Cx0L7RgCDQvdCwINCy0LXRgNGB0LjQuNGC0LU6IgorbXNnc3RyICLQk9GA0LXRiNC60LAg0L/RgNC4INCw0L3QsNC70LjQtyDQvdCwINCy0LXRgNGB0LjQuNGC0LU6IgogCiAjOiBnaXRrOjM4MAogbXNnaWQgIkVycm9yIGV4ZWN1dGluZyAtLWFyZ3NjbWQgY29tbWFuZDoiCkBAIC01OSwzMTQgKzU5LDMxOCBAQAogbXNnaWQgIlJlYWRpbmciCiBtc2dzdHIgItCf0YDQvtGH0LjRgtCw0L3QtSIKIAotIzogZ2l0azo0OTYgZ2l0azo0NTQ0CisjOiBnaXRrOjQ5NiBnaXRrOjQ1NDkKIG1zZ2lkICJSZWFkaW5nIGNvbW1pdHMuLi4iCiBtc2dzdHIgItCf0YDQvtGH0LjRgtCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LjRj9GC0LDigKYiCiAKLSM6IGdpdGs6NDk5IGdpdGs6MTYzNyBnaXRrOjQ1NDcKKyM6IGdpdGs6NDk5IGdpdGs6MTY0MSBnaXRrOjQ1NTIKIG1zZ2lkICJObyBjb21taXRzIHNlbGVjdGVkIgogbXNnc3RyICLQndC1INGB0LAg0LjQt9Cx0YDQsNC90Lgg0L/QvtC00LDQstCw0L3QuNGPIgogCi0jOiBnaXRrOjE0NDUgZ2l0azo0MDY0IGdpdGs6MTI0NjkKKyM6IGdpdGs6MTQ0OSBnaXRrOjQwNjkgZ2l0azoxMjU4MwogbXNnaWQgIkNvbW1hbmQgbGluZSIKIG1zZ3N0ciAi0JrQvtC80LDQvdC00LXQvSDRgNC10LQiCiAKLSM6IGdpdGs6MTUxMQorIzogZ2l0azoxNTE1CiBtc2dpZCAiQ2FuJ3QgcGFyc2UgZ2l0IGxvZyBvdXRwdXQ6IgogbXNnc3RyICLQmNC30YXQvtC00YrRgiDQvtGCIOKAnmdpdCBsb2figJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LDQvdCw0LvQuNC30LjRgNCwOiIKIAotIzogZ2l0azoxNzQwCisjOiBnaXRrOjE3NDQKIG1zZ2lkICJObyBjb21taXQgaW5mb3JtYXRpb24gYXZhaWxhYmxlIgogbXNnc3RyICLQm9C40L/RgdCy0LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDQv9C+0LTQsNCy0LDQvdC40Y8iCiAKLSM6IGdpdGs6MTkwMyBnaXRrOjE5MzIgZ2l0azo0MzM0IGdpdGs6OTcwMiBnaXRrOjExMjc0IGdpdGs6MTE1NTQKKyM6IGdpdGs6MTkwNyBnaXRrOjE5MzYgZ2l0azo0MzM5IGdpdGs6OTc4OSBnaXRrOjExMzg4IGdpdGs6MTE2NjgKIG1zZ2lkICJPSyIKIG1zZ3N0ciAi0JTQvtCx0YDQtSIKIAotIzogZ2l0azoxOTM0IGdpdGs6NDMzNiBnaXRrOjkyMTUgZ2l0azo5Mjk0IGdpdGs6OTQyNCBnaXRrOjk0NzMgZ2l0azo5NzA0Ci0jOiBnaXRrOjExMjc1IGdpdGs6MTE1NTUKKyM6IGdpdGs6MTkzOCBnaXRrOjQzNDEgZ2l0azo5MjI1IGdpdGs6OTMwNCBnaXRrOjk0MzQgZ2l0azo5NTIwIGdpdGs6OTc5MQorIzogZ2l0azoxMTM4OSBnaXRrOjExNjY5CiBtc2dpZCAiQ2FuY2VsIgogbXNnc3RyICLQntGC0LrQsNC3IgogCi0jOiBnaXRrOjIwODMKKyM6IGdpdGs6MjA4NwogbXNnaWQgIiZVcGRhdGUiCiBtc2dzdHIgIibQntCx0L3QvtCy0Y/QstCw0L3QtSIKIAotIzogZ2l0azoyMDg0CisjOiBnaXRrOjIwODgKIG1zZ2lkICImUmVsb2FkIgogbXNnc3RyICIm0J/RgNC10LfQsNGA0LXQttC00LDQvdC1IgogCi0jOiBnaXRrOjIwODUKKyM6IGdpdGs6MjA4OQogbXNnaWQgIlJlcmVhZCByZSZmZXJlbmNlcyIKLW1zZ3N0ciAiJtCd0LDQvdC+0LLQviDQv9GA0L7Rh9C40YLQsNC90LUg0L3QsCDQvdCw0YHRgtGA0L7QudC60LjRgtC1IgorbXNnc3RyICIm0J3QsNC90L7QstC+INC/0YDQvtGH0LjRgtCw0L3QtSIKIAotIzogZ2l0azoyMDg2CisjOiBnaXRrOjIwOTAKIG1zZ2lkICImTGlzdCByZWZlcmVuY2VzIgogbXNnc3RyICIm0JjQt9Cx0YDQvtGP0LLQsNC90LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1IgogCi0jOiBnaXRrOjIwODgKKyM6IGdpdGs6MjA5MgogbXNnaWQgIlN0YXJ0IGdpdCAmZ3VpIgogbXNnc3RyICIm0KHRgtCw0YDRgtC40YDQsNC90LUg0L3QsCDigJ5naXQgZ3Vp4oCcIgogCi0jOiBnaXRrOjIwOTAKKyM6IGdpdGs6MjA5NAogbXNnaWQgIiZRdWl0IgogbXNnc3RyICIm0KHQv9C40YDQsNC90LUg0L3QsCDQv9GA0L7Qs9GA0LDQvNCw0YLQsCIKIAotIzogZ2l0azoyMDgyCisjOiBnaXRrOjIwODYKIG1zZ2lkICImRmlsZSIKIG1zZ3N0ciAiJtCk0LDQudC7IgogCi0jOiBnaXRrOjIwOTQKKyM6IGdpdGs6MjA5OAogbXNnaWQgIiZQcmVmZXJlbmNlcyIKIG1zZ3N0ciAiJtCd0LDRgdGC0YDQvtC50LrQuCIKIAotIzogZ2l0azoyMDkzCisjOiBnaXRrOjIwOTcKIG1zZ2lkICImRWRpdCIKIG1zZ3N0ciAiJtCg0LXQtNCw0LrRgtC40YDQsNC90LUiCiAKLSM6IGdpdGs6MjA5OAorIzogZ2l0azoyMTAyCiBtc2dpZCAiJk5ldyB2aWV3Li4uIgogbXNnc3RyICIm0J3QvtCyINC40LfQs9C70LXQtOKApiIKIAotIzogZ2l0azoyMDk5CisjOiBnaXRrOjIxMDMKIG1zZ2lkICImRWRpdCB2aWV3Li4uIgogbXNnc3RyICIm0KDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINC40LfQs9C70LXQtNCw4oCmIgogCi0jOiBnaXRrOjIxMDAKKyM6IGdpdGs6MjEwNAogbXNnaWQgIiZEZWxldGUgdmlldyIKIG1zZ3N0ciAiJtCY0LfRgtGA0LjQstCw0L3QtSDQvdCwINC40LfQs9C70LXQtNCwIgogCi0jOiBnaXRrOjIxMDIKKyM6IGdpdGs6MjEwNgogbXNnaWQgIiZBbGwgZmlsZXMiCiBtc2dzdHIgIibQktGB0LjRh9C60Lgg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGdpdGs6MjA5NworIzogZ2l0azoyMTAxCiBtc2dpZCAiJlZpZXciCiBtc2dzdHIgIibQmNC30LPQu9C10LQiCiAKLSM6IGdpdGs6MjEwNyBnaXRrOjIxMTcKKyM6IGdpdGs6MjExMSBnaXRrOjIxMjEKIG1zZ2lkICImQWJvdXQgZ2l0ayIKIG1zZ3N0ciAiJtCe0YLQvdC+0YHQvdC+IGdpdGsiCiAKLSM6IGdpdGs6MjEwOCBnaXRrOjIxMjIKKyM6IGdpdGs6MjExMiBnaXRrOjIxMjYKIG1zZ2lkICImS2V5IGJpbmRpbmdzIgogbXNnc3RyICIm0JrQu9Cw0LLQuNGI0L3QuCDQutC+0LzQsdC40L3QsNGG0LjQuCIKIAotIzogZ2l0azoyMTA2IGdpdGs6MjEyMQorIzogZ2l0azoyMTEwIGdpdGs6MjEyNQogbXNnaWQgIiZIZWxwIgogbXNnc3RyICLQn9C+0LzQvibRiSIKIAotIzogZ2l0azoyMTk5IGdpdGs6ODY3MQorIzogZ2l0azoyMjAzIGdpdGs6ODY4MQogbXNnaWQgIlNIQTEgSUQ6IgogbXNnc3RyICJTSEExOiIKIAotIzogZ2l0azoyMjQzCisjOiBnaXRrOjIyNDcKIG1zZ2lkICJSb3ciCiBtc2dzdHIgItCg0LXQtCIKIAotIzogZ2l0azoyMjgxCisjOiBnaXRrOjIyODUKIG1zZ2lkICJGaW5kIgogbXNnc3RyICLQotGK0YDRgdC10L3QtSIKIAotIzogZ2l0azoyMzA5CisjOiBnaXRrOjIzMTMKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgItC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGdpdGs6MjMxMyBnaXRrOjIzMTUgZ2l0azo0NzA2IGdpdGs6NDcyOSBnaXRrOjQ3NTMgZ2l0azo2Nzc0IGdpdGs6Njg0NgotIzogZ2l0azo2OTMxCisjOiBnaXRrOjIzMTcgZ2l0azoyMzE5IGdpdGs6NDcxMSBnaXRrOjQ3MzQgZ2l0azo0NzU4IGdpdGs6Njc3OSBnaXRrOjY4NTEKKyM6IGdpdGs6NjkzNgogbXNnaWQgImNvbnRhaW5pbmc6IgogbXNnc3RyICLRgdGK0LTRitGA0LbQsNGJ0L46IgogCi0jOiBnaXRrOjIzMTYgZ2l0azozNTQ1IGdpdGs6MzU1MCBnaXRrOjQ3ODIKKyM6IGdpdGs6MjMyMCBnaXRrOjM1NTAgZ2l0azozNTU1IGdpdGs6NDc4NwogbXNnaWQgInRvdWNoaW5nIHBhdGhzOiIKLW1zZ3N0ciAi0LfQsNGB0Y/Qs9Cw0YnQviDQv9GK0YLQuNGJ0LDRgtCwOiIKK21zZ3N0ciAi0LIg0L/RitGC0LjRidCw0YLQsDoiCiAKLSM6IGdpdGs6MjMxNyBnaXRrOjQ3OTYKKyM6IGdpdGs6MjMyMSBnaXRrOjQ4MDEKIG1zZ2lkICJhZGRpbmcvcmVtb3Zpbmcgc3RyaW5nOiIKIG1zZ3N0ciAi0LTQvtCx0LDQstGP0YnQvi/Qv9GA0LXQvNCw0YXQstCw0YnQviDQvdC40LciCiAKLSM6IGdpdGs6MjMxOCBnaXRrOjQ3OTgKKyM6IGdpdGs6MjMyMiBnaXRrOjQ4MDMKIG1zZ2lkICJjaGFuZ2luZyBsaW5lcyBtYXRjaGluZzoiCiBtc2dzdHIgItC/0YDQvtC80LXQvdGP0YnQviDRgNC10LTQvtCy0LUg0L3QsNC/0LDRgdCy0LDRidC4OiIKIAotIzogZ2l0azoyMzI3IGdpdGs6MjMyOSBnaXRrOjQ3ODUKKyM6IGdpdGs6MjMzMSBnaXRrOjIzMzMgZ2l0azo0NzkwCiBtc2dpZCAiRXhhY3QiCiBtc2dzdHIgItCi0L7Rh9C90L4iCiAKLSM6IGdpdGs6MjMyOSBnaXRrOjQ4NzMgZ2l0azo2NzQyCisjOiBnaXRrOjIzMzMgZ2l0azo0ODc4IGdpdGs6Njc0NwogbXNnaWQgIklnbkNhc2UiCiBtc2dzdHIgItCR0LXQtyDRgNC10LPQuNGB0YLRitGAIgogCi0jOiBnaXRrOjIzMjkgZ2l0azo0NzU1IGdpdGs6NDg3MSBnaXRrOjY3MzgKKyM6IGdpdGs6MjMzMyBnaXRrOjQ3NjAgZ2l0azo0ODc2IGdpdGs6Njc0MwogbXNnaWQgIlJlZ2V4cCIKIG1zZ3N0ciAi0KDQtdCzLiDQuNC30YDQsNC3IgogCi0jOiBnaXRrOjIzMzEgZ2l0azoyMzMyIGdpdGs6NDg5MyBnaXRrOjQ5MjMgZ2l0azo0OTMwIGdpdGs6Njg2NyBnaXRrOjY5MzUKKyM6IGdpdGs6MjMzNSBnaXRrOjIzMzYgZ2l0azo0ODk4IGdpdGs6NDkyOCBnaXRrOjQ5MzUgZ2l0azo2ODcyIGdpdGs6Njk0MAogbXNnaWQgIkFsbCBmaWVsZHMiCiBtc2dzdHIgItCS0YHQuNGH0LrQuCDQv9C+0LvQtdGC0LAiCiAKLSM6IGdpdGs6MjMzMiBnaXRrOjQ4OTAgZ2l0azo0OTIzIGdpdGs6NjgwNQorIzogZ2l0azoyMzM2IGdpdGs6NDg5NSBnaXRrOjQ5MjggZ2l0azo2ODEwCiBtc2dpZCAiSGVhZGxpbmUiCiBtc2dzdHIgItCf0YrRgNCy0Lgg0YDQtdC0IgogCi0jOiBnaXRrOjIzMzMgZ2l0azo0ODkwIGdpdGs6NjgwNSBnaXRrOjY5MzUgZ2l0azo3NDA4CisjOiBnaXRrOjIzMzcgZ2l0azo0ODk1IGdpdGs6NjgxMCBnaXRrOjY5NDAgZ2l0azo3NDEzCiBtc2dpZCAiQ29tbWVudHMiCiBtc2dzdHIgItCa0L7QvNC10L3RgtCw0YDQuCIKIAotIzogZ2l0azoyMzMzIGdpdGs6NDg5MCBnaXRrOjQ4OTUgZ2l0azo0OTMwIGdpdGs6NjgwNSBnaXRrOjczNDMgZ2l0azo4ODQ5Ci0jOiBnaXRrOjg4NjQKKyM6IGdpdGs6MjMzNyBnaXRrOjQ4OTUgZ2l0azo0OTAwIGdpdGs6NDkzNSBnaXRrOjY4MTAgZ2l0azo3MzQ4IGdpdGs6ODg1OQorIzogZ2l0azo4ODc0CiBtc2dpZCAiQXV0aG9yIgogbXNnc3RyICLQkNCy0YLQvtGAIgogCi0jOiBnaXRrOjIzMzMgZ2l0azo0ODkwIGdpdGs6NjgwNSBnaXRrOjczNDUKKyM6IGdpdGs6MjMzNyBnaXRrOjQ4OTUgZ2l0azo2ODEwIGdpdGs6NzM1MAogbXNnaWQgIkNvbW1pdHRlciIKIG1zZ3N0ciAi0J/QvtC00LDQstCw0YkiCiAKLSM6IGdpdGs6MjM2NworIzogZ2l0azoyMzcxCiBtc2dpZCAiU2VhcmNoIgogbXNnc3RyICLQotGK0YDRgdC10L3QtSIKIAotIzogZ2l0azoyMzc1CisjOiBnaXRrOjIzNzkKIG1zZ2lkICJEaWZmIgogbXNnc3RyICLQoNCw0LfQu9C40LrQuCIKIAotIzogZ2l0azoyMzc3CisjOiBnaXRrOjIzODEKIG1zZ2lkICJPbGQgdmVyc2lvbiIKIG1zZ3N0ciAi0KHRgtCw0YDQsCDQstC10YDRgdC40Y8iCiAKLSM6IGdpdGs6MjM3OQorIzogZ2l0azoyMzgzCiBtc2dpZCAiTmV3IHZlcnNpb24iCiBtc2dzdHIgItCd0L7QstCwINCy0LXRgNGB0LjRjyIKIAotIzogZ2l0azoyMzgyCisjOiBnaXRrOjIzODYKIG1zZ2lkICJMaW5lcyBvZiBjb250ZXh0IgogbXNnc3RyICLQmtC+0L3RgtC10LrRgdGCINCyINGA0LXQtNC+0LLQtSIKIAotIzogZ2l0azoyMzkyCisjOiBnaXRrOjIzOTYKIG1zZ2lkICJJZ25vcmUgc3BhY2UgY2hhbmdlIgogbXNnc3RyICLQn9GA0LDQt9C90LjRgtC1INC30L3QsNGG0Lgg0LHQtdC3INC30L3QsNGH0LXQvdC40LUiCiAKLSM6IGdpdGs6MjM5NiBnaXRrOjIzOTggZ2l0azo3OTc4IGdpdGs6ODIyNQorIzogZ2l0azoyNDAwIGdpdGs6MjQwMiBnaXRrOjc5ODMgZ2l0azo4MjM1CiBtc2dpZCAiTGluZSBkaWZmIgogbXNnc3RyICLQn9C+0YDQtdC00L7QstC4INGA0LDQt9C70LjQutC4IgogCi0jOiBnaXRrOjI0NjMKKyM6IGdpdGs6MjQ2NwogbXNnaWQgIlBhdGNoIgogbXNnc3RyICLQmtGA0YrQv9C60LAiCiAKLSM6IGdpdGs6MjQ2NQorIzogZ2l0azoyNDY5CiBtc2dpZCAiVHJlZSIKIG1zZ3N0ciAi0JTRitGA0LLQviIKIAotIzogZ2l0azoyNjM1IGdpdGs6MjY1NgorIzogZ2l0azoyNjM5IGdpdGs6MjY2MAogbXNnaWQgIkRpZmYgdGhpcyAtPiBzZWxlY3RlZCIKIG1zZ3N0ciAi0KDQsNC30LvQuNC60Lgg0LzQtdC20LTRgyDRgtC+0LLQsCDQuCDQuNC30LHRgNCw0L3QvtGC0L4iCiAKLSM6IGdpdGs6MjYzNiBnaXRrOjI2NTcKKyM6IGdpdGs6MjY0MCBnaXRrOjI2NjEKIG1zZ2lkICJEaWZmIHNlbGVjdGVkIC0+IHRoaXMiCiBtc2dzdHIgItCg0LDQt9C70LjQutC4INC80LXQttC00YMg0LjQt9Cx0YDQsNC90L7RgtC+INC4INGC0L7QstCwIgogCi0jOiBnaXRrOjI2MzcgZ2l0azoyNjU4CisjOiBnaXRrOjI2NDEgZ2l0azoyNjYyCiBtc2dpZCAiTWFrZSBwYXRjaCIKIG1zZ3N0ciAi0KHRitC30LTQsNCy0LDQvdC1INC90LAg0LrRgNGK0L/QutCwIgogCi0jOiBnaXRrOjI2MzggZ2l0azo5MjczCisjOiBnaXRrOjI2NDIgZ2l0azo5MjgzCiBtc2dpZCAiQ3JlYXRlIHRhZyIKIG1zZ3N0ciAi0KHRitC30LTQsNCy0LDQvdC1INC90LAg0LXRgtC40LrQtdGCIgogCi0jOiBnaXRrOjI2MzkKKyM6IGdpdGs6MjY0MwogbXNnaWQgIkNvcHkgY29tbWl0IHN1bW1hcnkiCiBtc2dzdHIgItCa0L7Qv9C40YDQsNC90LUg0L3QsCDQuNC90YTQvtGA0LzQsNGG0LjRj9GC0LAg0LfQsCDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBnaXRrOjI2NDAgZ2l0azo5NDA0CisjOiBnaXRrOjI2NDQgZ2l0azo5NDE0CiBtc2dpZCAiV3JpdGUgY29tbWl0IHRvIGZpbGUiCiBtc2dzdHIgItCX0LDQv9Cw0LfQstCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LXRgtC+INCy0YrQsiDRhNCw0LnQuyIKIAotIzogZ2l0azoyNjQxIGdpdGs6OTQ2MQorIzogZ2l0azoyNjQ1CiBtc2dpZCAiQ3JlYXRlIG5ldyBicmFuY2giCiBtc2dzdHIgItCh0YrQt9C00LDQstCw0L3QtSDQvdCwINC90L7QsiDQutC70L7QvSIKIAotIzogZ2l0azoyNjQyCisjOiBnaXRrOjI2NDYKIG1zZ2lkICJDaGVycnktcGljayB0aGlzIGNvbW1pdCIKIG1zZ3N0ciAi0J7RgtCx0LjRgNCw0L3QtSDQvdCwINGC0L7QstCwINC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGdpdGs6MjY0MworIzogZ2l0azoyNjQ3CiBtc2dpZCAiUmVzZXQgSEVBRCBicmFuY2ggdG8gaGVyZSIKIG1zZ3N0ciAi0J/RgNC40LLQtdC20LTQsNC90LUg0L3QsCDQstGK0YDRhdCwINC90LAg0LrQu9C+0L3QsCDQutGK0Lwg0YLQtdC60YPRidC+0YLQviDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBnaXRrOjI2NDQKKyM6IGdpdGs6MjY0OAogbXNnaWQgIk1hcmsgdGhpcyBjb21taXQiCiBtc2dzdHIgItCe0YLQsdC10LvRj9C30LLQsNC90LUg0L3QsCDRgtC+0LLQsCDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBnaXRrOjI2NDUKKyM6IGdpdGs6MjY0OQogbXNnaWQgIlJldHVybiB0byBtYXJrIgogbXNnc3RyICLQktGA0YrRidCw0L3QtSDQutGK0Lwg0L7RgtCx0LXQu9GP0LfQsNC90L7RgtC+INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGdpdGs6MjY0NgorIzogZ2l0azoyNjUwCiBtc2dpZCAiRmluZCBkZXNjZW5kYW50IG9mIHRoaXMgYW5kIG1hcmsiCiBtc2dzdHIgItCe0YLQutGA0LjQstCw0L3QtSDQuCDQvtGC0LHQtdC70Y/Qt9Cy0LDQvdC1INC90LAg0L3QsNGB0LvQtdC00L3QuNGG0LjRgtC1IgogCi0jOiBnaXRrOjI2NDcKKyM6IGdpdGs6MjY1MQogbXNnaWQgIkNvbXBhcmUgd2l0aCBtYXJrZWQgY29tbWl0IgogbXNnc3RyICLQodGA0LDQstC90LXQvdC40LUg0YEg0L7RgtCx0LXQu9GP0LfQsNC90L7RgtC+INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGdpdGs6MjY0OCBnaXRrOjI2NTkKKyM6IGdpdGs6MjY1MiBnaXRrOjI2NjMKIG1zZ2lkICJEaWZmIHRoaXMgLT4gbWFya2VkIGNvbW1pdCIKIG1zZ3N0ciAi0KDQsNC30LvQuNC60Lgg0LzQtdC20LTRgyDRgtC+0LLQsCDQuCDQvtGC0LHQtdC70Y/Qt9Cw0L3QvtGC0L4iCiAKLSM6IGdpdGs6MjY0OSBnaXRrOjI2NjAKKyM6IGdpdGs6MjY1MyBnaXRrOjI2NjQKIG1zZ2lkICJEaWZmIG1hcmtlZCBjb21taXQgLT4gdGhpcyIKIG1zZ3N0ciAi0KDQsNC30LvQuNC60Lgg0LzQtdC20LTRgyDQvtGC0LHQtdC70Y/Qt9Cw0L3QvtGC0L4g0Lgg0YLQvtCy0LAiCiAKLSM6IGdpdGs6MjY1MAorIzogZ2l0azoyNjU0CiBtc2dpZCAiUmV2ZXJ0IHRoaXMgY29tbWl0IgogbXNnc3RyICLQntGC0LzRj9C90LAg0L3QsCDRgtC+0LLQsCDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBnaXRrOjI2NjYKKyM6IGdpdGs6MjY3MAogbXNnaWQgIkNoZWNrIG91dCB0aGlzIGJyYW5jaCIKIG1zZ3N0ciAi0JjQt9GC0LXQs9C70Y/QvdC1INC90LAg0YLQvtC30Lgg0LrQu9C+0L0iCiAKLSM6IGdpdGs6MjY2NworIzogZ2l0azoyNjcxCittc2dpZCAiUmVuYW1lIHRoaXMgYnJhbmNoIgorbXNnc3RyICLQn9GA0LXQuNC80LXQvdGD0LLQsNC90LUg0L3QsCDRgtC+0LfQuCDQutC70L7QvSIKKworIzogZ2l0azoyNjcyCiBtc2dpZCAiUmVtb3ZlIHRoaXMgYnJhbmNoIgogbXNnc3RyICLQmNC30YLRgNC40LLQsNC90LUg0L3QsCDRgtC+0LfQuCDQutC70L7QvSIKIAotIzogZ2l0azoyNjY4CisjOiBnaXRrOjI2NzMKIG1zZ2lkICJDb3B5IGJyYW5jaCBuYW1lIgogbXNnc3RyICLQmtC+0L/QuNGA0LDQvdC1INC90LAg0LjQvNC10YLQviDQvdCwINC60LvQvtC90LAiCiAKLSM6IGdpdGs6MjY3NQorIzogZ2l0azoyNjgwCiBtc2dpZCAiSGlnaGxpZ2h0IHRoaXMgdG9vIgogbXNnc3RyICLQntGC0LHQtdC70Y/Qt9Cy0LDQvdC1INC4INC90LAg0YLQvtCy0LAiCiAKLSM6IGdpdGs6MjY3NgorIzogZ2l0azoyNjgxCiBtc2dpZCAiSGlnaGxpZ2h0IHRoaXMgb25seSIKIG1zZ3N0ciAi0J7RgtCx0LXQu9GP0LfQstCw0L3QtSDRgdCw0LzQviDQvdCwINGC0L7QstCwIgogCi0jOiBnaXRrOjI2NzcKKyM6IGdpdGs6MjY4MgogbXNnaWQgIkV4dGVybmFsIGRpZmYiCiBtc2dzdHIgItCS0YrQvdGI0L3QsCDQv9GA0L7Qs9GA0LDQvNCwINC30LAg0YDQsNC30LvQuNC60LgiCiAKLSM6IGdpdGs6MjY3OAorIzogZ2l0azoyNjgzCiBtc2dpZCAiQmxhbWUgcGFyZW50IGNvbW1pdCIKIG1zZ3N0ciAi0JDQvdC+0YLQuNGA0LDQvdC1INC90LAg0YDQvtC00LjRgtC10LvRgdC60L7RgtC+INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGdpdGs6MjY3OQorIzogZ2l0azoyNjg0CiBtc2dpZCAiQ29weSBwYXRoIgogbXNnc3RyICLQmtC+0L/QuNGA0LDQvdC1INC90LAg0L/RitGC0Y8iCiAKLSM6IGdpdGs6MjY4NgorIzogZ2l0azoyNjkxCiBtc2dpZCAiU2hvdyBvcmlnaW4gb2YgdGhpcyBsaW5lIgogbXNnc3RyICLQn9C+0LrQsNC30LLQsNC90LUg0L3QsCDQv9GA0L7QuNC30YXQvtC00LAg0L3QsCDRgtC+0LfQuCDRgNC10LQiCiAKLSM6IGdpdGs6MjY4NworIzogZ2l0azoyNjkyCiBtc2dpZCAiUnVuIGdpdCBndWkgYmxhbWUgb24gdGhpcyBsaW5lIgogbXNnc3RyICLQmNC30L/RitC70L3QtdC90LjQtSDQvdCwIOKAnmdpdCBndWkgYmxhbWXigJwg0LLRitGA0YXRgyDRgtC+0LfQuCDRgNC10LQiCiAKLSM6IGdpdGs6MzAzMQorIzogZ2l0azozMDM2CiBtc2dpZCAiQWJvdXQgZ2l0ayIKIG1zZ3N0ciAi0J7RgtC90L7RgdC90L4gZ2l0ayIKIAotIzogZ2l0azozMDMzCisjOiBnaXRrOjMwMzgKIG1zZ2lkICIiCiAiXG4iCiAiR2l0ayAtIGEgY29tbWl0IHZpZXdlciBmb3IgZ2l0XG4iCkBAIC0zODIsMzI0ICszODYsMzI0IEBACiAiXG4iCiAi0JjQt9C/0L7Qu9C30LLQsNC50YLQtSDQuCDRgNCw0LfQv9GA0L7RgdGC0YDQsNC90Y/QstCw0LnRgtC1INC/0YDQuCDRg9GB0LvQvtCy0LjRj9GC0LAg0L3QsCDQntCf0Jsg0L3QsCDQk9Cd0KMiCiAKLSM6IGdpdGs6MzA0MSBnaXRrOjMxMDggZ2l0azo5ODkwCisjOiBnaXRrOjMwNDYgZ2l0azozMTEzIGdpdGs6MTAwMDQKIG1zZ2lkICJDbG9zZSIKIG1zZ3N0ciAi0JfQsNGC0LLQsNGA0Y/QvdC1IgogCi0jOiBnaXRrOjMwNjIKKyM6IGdpdGs6MzA2NwogbXNnaWQgIkdpdGsga2V5IGJpbmRpbmdzIgogbXNnc3RyICLQmtC70LDQstC40YjQvdC4INC60L7QvNCx0LjQvdCw0YbQuNC4IgogCi0jOiBnaXRrOjMwNjUKKyM6IGdpdGs6MzA3MAogbXNnaWQgIkdpdGsga2V5IGJpbmRpbmdzOiIKIG1zZ3N0ciAi0JrQu9Cw0LLQuNGI0L3QuCDQutC+0LzQsdC40L3QsNGG0LjQuDoiCiAKLSM6IGdpdGs6MzA2NworIzogZ2l0azozMDcyCiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiPCVzLVE+XHRcdFF1aXQiCiBtc2dzdHIgIjwlcy1RPlx0XHTQodC/0LjRgNCw0L3QtSDQvdCwINC/0YDQvtCz0YDQsNC80LDRgtCwIgogCi0jOiBnaXRrOjMwNjgKKyM6IGdpdGs6MzA3MwogIywgdGNsLWZvcm1hdAogbXNnaWQgIjwlcy1XPlx0XHRDbG9zZSB3aW5kb3ciCiBtc2dzdHIgIjwlcy1XPlx0XHTQl9Cw0YLQstCw0YDRj9C90LUg0L3QsCDQv9GA0L7Qt9C+0YDQtdGG0LAiCiAKLSM6IGdpdGs6MzA2OQorIzogZ2l0azozMDc0CiBtc2dpZCAiPEhvbWU+XHRcdE1vdmUgdG8gZmlyc3QgY29tbWl0IgogbXNnc3RyICI8SG9tZT5cdFx00JrRitC8INC/0YrRgNCy0L7RgtC+INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGdpdGs6MzA3MAorIzogZ2l0azozMDc1CiBtc2dpZCAiPEVuZD5cdFx0TW92ZSB0byBsYXN0IGNvbW1pdCIKIG1zZ3N0ciAiPEVuZD5cdFx00JrRitC8INC/0L7RgdC70LXQtNC90L7RgtC+INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGdpdGs6MzA3MQorIzogZ2l0azozMDc2CiBtc2dpZCAiPFVwPiwgcCwga1x0TW92ZSB1cCBvbmUgY29tbWl0IgogbXNnc3RyICI8VXA+LCBwLCBrXHTQldC00L3QviDQv9C+0LTQsNCy0LDQvdC1INC90LDQs9C+0YDQtSIKIAotIzogZ2l0azozMDcyCisjOiBnaXRrOjMwNzcKIG1zZ2lkICI8RG93bj4sIG4sIGpcdE1vdmUgZG93biBvbmUgY29tbWl0IgogbXNnc3RyICI8RG93bj4sIG4sIGpcdNCV0LTQvdC+INC/0L7QtNCw0LLQsNC90LUg0L3QsNC00L7Qu9GDIgogCi0jOiBnaXRrOjMwNzMKKyM6IGdpdGs6MzA3OAogbXNnaWQgIjxMZWZ0PiwgeiwgaFx0R28gYmFjayBpbiBoaXN0b3J5IGxpc3QiCiBtc2dzdHIgIjxMZWZ0PiwgeiwgaFx00J3QsNC30LDQtCDQsiDQuNGB0YLQvtGA0LjRj9GC0LAiCiAKLSM6IGdpdGs6MzA3NAorIzogZ2l0azozMDc5CiBtc2dpZCAiPFJpZ2h0PiwgeCwgbFx0R28gZm9yd2FyZCBpbiBoaXN0b3J5IGxpc3QiCiBtc2dzdHIgIjxSaWdodD4sIHgsIGxcdNCd0LDQv9GA0LXQtCDQsiDQuNGB0YLQvtGA0LjRj9GC0LAiCiAKLSM6IGdpdGs6MzA3NQorIzogZ2l0azozMDgwCiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiPCVzLW4+XHRHbyB0byBuLXRoIHBhcmVudCBvZiBjdXJyZW50IGNvbW1pdCBpbiBoaXN0b3J5IGxpc3QiCiBtc2dzdHIgIjwlcy1uPlx00JrRitC8IG4t0YLQuNGPINGA0L7QtNC40YLQtdC7INC90LAg0YLQtdC60YPRidC+0YLQviDQv9C+0LTQsNCy0LDQvdC1INCyINC40YHRgtC+0YDQuNGP0YLQsCIKIAotIzogZ2l0azozMDc2CisjOiBnaXRrOjMwODEKIG1zZ2lkICI8UGFnZVVwPlx0TW92ZSB1cCBvbmUgcGFnZSBpbiBjb21taXQgbGlzdCIKIG1zZ3N0ciAiPFBhZ2VVcD5cdNCh0YLRgNCw0L3QuNGG0LAg0L3QsNCz0L7RgNC1INCyINGB0L/QuNGB0YrQutCwINGBINC/0L7QtNCw0LLQsNC90LjRj9GC0LAiCiAKLSM6IGdpdGs6MzA3NworIzogZ2l0azozMDgyCiBtc2dpZCAiPFBhZ2VEb3duPlx0TW92ZSBkb3duIG9uZSBwYWdlIGluIGNvbW1pdCBsaXN0IgogbXNnc3RyICI8UGFnZURvd24+XHTQodGC0YDQsNC90LjRhtCwINC90LDQtNC+0LvRgyDQsiDRgdC/0LjRgdGK0LrQsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwIgogCi0jOiBnaXRrOjMwNzgKKyM6IGdpdGs6MzA4MwogIywgdGNsLWZvcm1hdAogbXNnaWQgIjwlcy1Ib21lPlx0U2Nyb2xsIHRvIHRvcCBvZiBjb21taXQgbGlzdCIKIG1zZ3N0ciAiPCVzLUhvbWU+XHTQmtGK0Lwg0L3QsNGH0LDQu9C+0YLQviDQvdCwINGB0L/QuNGB0YrQutCwINGBINC/0L7QtNCw0LLQsNC90LjRj9GC0LAiCiAKLSM6IGdpdGs6MzA3OQorIzogZ2l0azozMDg0CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiPCVzLUVuZD5cdFNjcm9sbCB0byBib3R0b20gb2YgY29tbWl0IGxpc3QiCiBtc2dzdHIgIjwlcy1FbmQ+XHTQmtGK0Lwg0LrRgNCw0Y8g0L3QsCDRgdC/0LjRgdGK0LrQsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwIgogCi0jOiBnaXRrOjMwODAKKyM6IGdpdGs6MzA4NQogIywgdGNsLWZvcm1hdAogbXNnaWQgIjwlcy1VcD5cdFNjcm9sbCBjb21taXQgbGlzdCB1cCBvbmUgbGluZSIKIG1zZ3N0ciAiPCVzLVVwPlx00KDQtdC0INC90LDQs9C+0YDQtSDQsiDRgdC/0LjRgdGK0LrQsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y8iCiAKLSM6IGdpdGs6MzA4MQorIzogZ2l0azozMDg2CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiPCVzLURvd24+XHRTY3JvbGwgY29tbWl0IGxpc3QgZG93biBvbmUgbGluZSIKIG1zZ3N0ciAiPCVzLURvd24+XHTQoNC10LQg0L3QsNC00L7Qu9GDINCyINGB0L/QuNGB0YrQutCwINGBINC/0L7QtNCw0LLQsNC90LjRjyIKIAotIzogZ2l0azozMDgyCisjOiBnaXRrOjMwODcKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICI8JXMtUGFnZVVwPlx0U2Nyb2xsIGNvbW1pdCBsaXN0IHVwIG9uZSBwYWdlIgogbXNnc3RyICI8JXMtUGFnZVVwPlx00KHRgtGA0LDQvdC40YbQsCDQvdCw0LPQvtGA0LUg0LIg0YHQv9C40YHRitC60LAg0YEg0L/QvtC00LDQstCw0L3QuNGPIgogCi0jOiBnaXRrOjMwODMKKyM6IGdpdGs6MzA4OAogIywgdGNsLWZvcm1hdAogbXNnaWQgIjwlcy1QYWdlRG93bj5cdFNjcm9sbCBjb21taXQgbGlzdCBkb3duIG9uZSBwYWdlIgogbXNnc3RyICI8JXMtUGFnZURvd24+XHTQodGC0YDQsNC90LjRhtCwINC90LDQtNC+0LvRgyDQsiDRgdC/0LjRgdGK0LrQsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y8iCiAKLSM6IGdpdGs6MzA4NAorIzogZ2l0azozMDg5CiBtc2dpZCAiPFNoaWZ0LVVwPlx0RmluZCBiYWNrd2FyZHMgKHVwd2FyZHMsIGxhdGVyIGNvbW1pdHMpIgogbXNnc3RyICI8U2hpZnQtVXA+XHTQotGK0YDRgdC10L3QtSDQvdCw0LfQsNC0ICjQstC40LfRg9Cw0LvQvdC+INC90LDQs9C+0YDQtSwg0LjRgdGC0L7RgNC40YfQtdGB0LrQuCDigJQg0L/QvtGB0LvQtdC00LLQsNGJ0LgpIgogCi0jOiBnaXRrOjMwODUKKyM6IGdpdGs6MzA5MAogbXNnaWQgIjxTaGlmdC1Eb3duPlx0RmluZCBmb3J3YXJkcyAoZG93bndhcmRzLCBlYXJsaWVyIGNvbW1pdHMpIgogbXNnc3RyICIiCiAiPFNoaWZ0LURvd24+XHTQotGK0YDRgdC10L3QtSDQvdCw0L/RgNC10LQgKNCy0LjQt9GD0LDQu9C90L4g0L3QsNC00L7Qu9GDLCDQuNGB0YLQvtGA0LjRh9C10YHQutC4IOKAlCDQv9GA0LXQtNGF0L7QttC00LDRidC4KSIKIAotIzogZ2l0azozMDg2CisjOiBnaXRrOjMwOTEKIG1zZ2lkICI8RGVsZXRlPiwgYlx0U2Nyb2xsIGRpZmYgdmlldyB1cCBvbmUgcGFnZSIKIG1zZ3N0ciAiPERlbGV0ZT4sIGJcdNCh0YLRgNCw0L3QuNGG0LAg0L3QsNCz0L7RgNC1INCyINC40LfQs9C70LXQtNCwINC30LAg0YDQsNC30LvQuNC60LgiCiAKLSM6IGdpdGs6MzA4NworIzogZ2l0azozMDkyCiBtc2dpZCAiPEJhY2tzcGFjZT5cdFNjcm9sbCBkaWZmIHZpZXcgdXAgb25lIHBhZ2UiCiBtc2dzdHIgIjxCYWNrc3BhY2U+XHTQodGC0YDQsNC90LjRhtCwINC90LDQtNC+0LvRgyDQsiDQuNC30LPQu9C10LTQsCDQt9CwINGA0LDQt9C70LjQutC4IgogCi0jOiBnaXRrOjMwODgKKyM6IGdpdGs6MzA5MwogbXNnaWQgIjxTcGFjZT5cdFx0U2Nyb2xsIGRpZmYgdmlldyBkb3duIG9uZSBwYWdlIgogbXNnc3RyICI8U3BhY2U+XHRcdNCh0YLRgNCw0L3QuNGG0LAg0L3QsNC00L7Qu9GDINCyINC40LfQs9C70LXQtNCwINC30LAg0YDQsNC30LvQuNC60LgiCiAKLSM6IGdpdGs6MzA4OQorIzogZ2l0azozMDk0CiBtc2dpZCAidVx0XHRTY3JvbGwgZGlmZiB2aWV3IHVwIDE4IGxpbmVzIgogbXNnc3RyICJ1XHRcdDE4INGA0LXQtNCwINC90LDQs9C+0YDQtSDQsiDQuNC30LPQu9C10LTQsCDQt9CwINGA0LDQt9C70LjQutC4IgogCi0jOiBnaXRrOjMwOTAKKyM6IGdpdGs6MzA5NQogbXNnaWQgImRcdFx0U2Nyb2xsIGRpZmYgdmlldyBkb3duIDE4IGxpbmVzIgogbXNnc3RyICJkXHRcdDE4INGA0LXQtNCwINC90LDQtNC+0LvRgyDQsiDQuNC30LPQu9C10LTQsCDQt9CwINGA0LDQt9C70LjQutC4IgogCi0jOiBnaXRrOjMwOTEKKyM6IGdpdGs6MzA5NgogIywgdGNsLWZvcm1hdAogbXNnaWQgIjwlcy1GPlx0XHRGaW5kIgogbXNnc3RyICI8JXMtRj5cdFx00KLRitGA0YHQtdC90LUiCiAKLSM6IGdpdGs6MzA5MgorIzogZ2l0azozMDk3CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiPCVzLUc+XHRcdE1vdmUgdG8gbmV4dCBmaW5kIGhpdCIKIG1zZ3N0ciAiPCVzLUc+XHRcdNCa0YrQvCDRgdC70LXQtNCy0LDRidCw0YLQsCDQv9C+0Y/QstCwIgogCi0jOiBnaXRrOjMwOTMKKyM6IGdpdGs6MzA5OAogbXNnaWQgIjxSZXR1cm4+XHRNb3ZlIHRvIG5leHQgZmluZCBoaXQiCiBtc2dzdHIgIjxSZXR1cm4+XHTQmtGK0Lwg0YHQu9C10LTQstCw0YnQsNGC0LAg0L/QvtGP0LLQsCIKIAotIzogZ2l0azozMDk0CisjOiBnaXRrOjMwOTkKIG1zZ2lkICJnXHRcdEdvIHRvIGNvbW1pdCIKIG1zZ3N0ciAiZ1x0XHTQmtGK0Lwg0L/QvtGB0LvQtdC00L3QvtGC0L4g0L/QvtC00LDQstCw0L3QtSIKIAotIzogZ2l0azozMDk1CisjOiBnaXRrOjMxMDAKIG1zZ2lkICIvXHRcdEZvY3VzIHRoZSBzZWFyY2ggYm94IgogbXNnc3RyICIvXHRcdNCk0L7QutGD0YEg0LLRitGA0YXRgyDQv9C+0LvQtdGC0L4g0LfQsCDRgtGK0YDRgdC10L3QtSIKIAotIzogZ2l0azozMDk2CisjOiBnaXRrOjMxMDEKIG1zZ2lkICI/XHRcdE1vdmUgdG8gcHJldmlvdXMgZmluZCBoaXQiCiBtc2dzdHIgIj9cdFx00JrRitC8INC/0YDQtdC00LjRiNC90LDRgtCwINC/0L7Rj9Cy0LAiCiAKLSM6IGdpdGs6MzA5NworIzogZ2l0azozMTAyCiBtc2dpZCAiZlx0XHRTY3JvbGwgZGlmZiB2aWV3IHRvIG5leHQgZmlsZSIKIG1zZ3N0ciAiZlx0XHTQodC70LXQtNCy0LDRiSDRhNCw0LnQuyDQsiDQuNC30LPQu9C10LTQsCDQt9CwINGA0LDQt9C70LjQutC4IgogCi0jOiBnaXRrOjMwOTgKKyM6IGdpdGs6MzEwMwogIywgdGNsLWZvcm1hdAogbXNnaWQgIjwlcy1TPlx0XHRTZWFyY2ggZm9yIG5leHQgaGl0IGluIGRpZmYgdmlldyIKIG1zZ3N0ciAiPCVzLVM+XHRcdNCi0YrRgNGB0LXQvdC1INC90LAg0YHQu9C10LTQstCw0YnQsNGC0LAg0L/QvtGP0LLQsCDQsiDQuNC30LPQu9C10LTQsCDQt9CwINGA0LDQt9C70LjQutC4IgogCi0jOiBnaXRrOjMwOTkKKyM6IGdpdGs6MzEwNAogIywgdGNsLWZvcm1hdAogbXNnaWQgIjwlcy1SPlx0XHRTZWFyY2ggZm9yIHByZXZpb3VzIGhpdCBpbiBkaWZmIHZpZXciCiBtc2dzdHIgIjwlcy1SPlx0XHTQotGK0YDRgdC10L3QtSDQvdCwINC/0YDQtdC00LjRiNC90LDRgtCwINC/0L7Rj9Cy0LAg0LIg0LjQt9Cz0LvQtdC00LAg0LfQsCDRgNCw0LfQu9C40LrQuCIKIAotIzogZ2l0azozMTAwCisjOiBnaXRrOjMxMDUKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICI8JXMtS1ArPlx0SW5jcmVhc2UgZm9udCBzaXplIgogbXNnc3RyICI8JXMtS1ArPlx00J/Qvi3Qs9C+0LvRj9C8INGA0LDQt9C80LXRgCDQvdCwINGI0YDQuNGE0YLQsCIKIAotIzogZ2l0azozMTAxCisjOiBnaXRrOjMxMDYKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICI8JXMtcGx1cz5cdEluY3JlYXNlIGZvbnQgc2l6ZSIKIG1zZ3N0ciAiPCVzLXBsdXM+XHTQn9C+LdCz0L7Qu9GP0Lwg0YDQsNC30LzQtdGAINC90LAg0YjRgNC40YTRgtCwIgogCi0jOiBnaXRrOjMxMDIKKyM6IGdpdGs6MzEwNwogIywgdGNsLWZvcm1hdAogbXNnaWQgIjwlcy1LUC0+XHREZWNyZWFzZSBmb250IHNpemUiCiBtc2dzdHIgIjwlcy1LUC0+XHTQn9C+LdC80LDQu9GK0Log0YDQsNC30LzQtdGAINC90LAg0YjRgNC40YTRgtCwIgogCi0jOiBnaXRrOjMxMDMKKyM6IGdpdGs6MzEwOAogIywgdGNsLWZvcm1hdAogbXNnaWQgIjwlcy1taW51cz5cdERlY3JlYXNlIGZvbnQgc2l6ZSIKIG1zZ3N0ciAiPCVzLW1pbnVzPlx00J/Qvi3QvNCw0LvRitC6INGA0LDQt9C80LXRgCDQvdCwINGI0YDQuNGE0YLQsCIKIAotIzogZ2l0azozMTA0CisjOiBnaXRrOjMxMDkKIG1zZ2lkICI8RjU+XHRcdFVwZGF0ZSIKIG1zZ3N0ciAiPEY1Plx0XHTQntCx0L3QvtCy0Y/QstCw0L3QtSIKIAotIzogZ2l0azozNTY5IGdpdGs6MzU3OAorIzogZ2l0azozNTc0IGdpdGs6MzU4MwogIywgdGNsLWZvcm1hdAogbXNnaWQgIkVycm9yIGNyZWF0aW5nIHRlbXBvcmFyeSBkaXJlY3RvcnkgJXM6IgogbXNnc3RyICLQk9GA0LXRiNC60LAg0L/RgNC4INGB0YrQt9C00LDQstCw0L3QtdGC0L4g0L3QsCDQstGA0LXQvNC10L3QvdCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDigJ4lc+KAnDoiCiAKLSM6IGdpdGs6MzU5MQorIzogZ2l0azozNTk2CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZ2V0dGluZyBcIiVzXCIgZnJvbSAlczoiCiBtc2dzdHIgItCT0YDQtdGI0LrQsCDQv9GA0Lgg0L/QvtC70YPRh9Cw0LLQsNC90LXRgtC+INC90LAg4oCeJXPigJwg0L7RgiAlczoiCiAKLSM6IGdpdGs6MzY1NAorIzogZ2l0azozNjU5CiBtc2dpZCAiY29tbWFuZCBmYWlsZWQ6IgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDQutC+0LzQsNC90LTQsDoiCiAKLSM6IGdpdGs6MzgwMworIzogZ2l0azozODA4CiBtc2dpZCAiTm8gc3VjaCBjb21taXQiCiBtc2dzdHIgItCi0LDQutC+0LLQsCDQv9C+0LTQsNCy0LDQvdC1INC90Y/QvNCwIgogCi0jOiBnaXRrOjM4MTcKKyM6IGdpdGs6MzgyMgogbXNnaWQgImdpdCBndWkgYmxhbWU6IGNvbW1hbmQgZmFpbGVkOiIKIG1zZ3N0ciAi4oCeZ2l0IGd1aSBibGFtZeKAnDog0L3QtdGD0YHQv9C10YjQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg0LrQvtC80LDQvdC00LA6IgogCi0jOiBnaXRrOjM4NDgKKyM6IGdpdGs6Mzg1MwogIywgdGNsLWZvcm1hdAogbXNnaWQgIkNvdWxkbid0IHJlYWQgbWVyZ2UgaGVhZDogJXMiCiBtc2dzdHIgItCS0YrRgNGF0YrRgiDQt9CwINGB0LvQuNCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC9OiAlcyIKIAotIzogZ2l0azozODU2CisjOiBnaXRrOjM4NjEKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJFcnJvciByZWFkaW5nIGluZGV4OiAlcyIKIG1zZ3N0ciAi0JPRgNC10YjQutCwINC/0YDQuCDQv9GA0L7Rh9C40YLQsNC90LUg0L3QsCDQuNC90LTQtdC60YHQsDogJXMiCiAKLSM6IGdpdGs6Mzg4MQorIzogZ2l0azozODg2CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiQ291bGRuJ3Qgc3RhcnQgZ2l0IGJsYW1lOiAlcyIKIG1zZ3N0ciAi0JrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBibGFtZeKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRgtCw0YDRgtC40YDQsNC90LA6ICVzIgogCi0jOiBnaXRrOjM4ODQgZ2l0azo2NzczCisjOiBnaXRrOjM4ODkgZ2l0azo2Nzc4CiBtc2dpZCAiU2VhcmNoaW5nIgogbXNnc3RyICLQotGK0YDRgdC10L3QtSIKIAotIzogZ2l0azozOTE2CisjOiBnaXRrOjM5MjEKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJFcnJvciBydW5uaW5nIGdpdCBibGFtZTogJXMiCiBtc2dzdHIgItCT0YDQtdGI0LrQsCDQv9GA0Lgg0LjQt9C/0YrQu9C90LXQvdC40LXRgtC+INC90LAg4oCeZ2l0IGJsYW1l4oCcOiAlcyIKIAotIzogZ2l0azozOTQ0CisjOiBnaXRrOjM5NDkKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJUaGF0IGxpbmUgY29tZXMgZnJvbSBjb21taXQgJXMsICB3aGljaCBpcyBub3QgaW4gdGhpcyB2aWV3IgogbXNnc3RyICLQotC+0LfQuCDRgNC10LQg0LjQtNCy0LAg0L7RgiDQv9C+0LTQsNCy0LDQvdC10YLQviAlcywg0LrQvtC10YLQviDQvdC1INC1INCyINC40LfQs9C70LXQtNCwIgogCi0jOiBnaXRrOjM5NTgKKyM6IGdpdGs6Mzk2MwogbXNnaWQgIkV4dGVybmFsIGRpZmYgdmlld2VyIGZhaWxlZDoiCiBtc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwINCy0YrQvdGI0L3QsNGC0LAg0L/RgNC+0LPRgNCw0LzQsCDQt9CwINGA0LDQt9C70LjQutC4OiIKIAotIzogZ2l0azo0MDYyCisjOiBnaXRrOjQwNjcKIG1zZ2lkICJBbGwgZmlsZXMiCiBtc2dzdHIgItCS0YHQuNGH0LrQuCDRhNCw0LnQu9C+0LLQtSIKIAotIzogZ2l0azo0MDg2CisjOiBnaXRrOjQwOTEKIG1zZ2lkICJWaWV3IgogbXNnc3RyICLQmNC30LPQu9C10LQiCiAKLSM6IGdpdGs6NDA4OQorIzogZ2l0azo0MDk0CiBtc2dpZCAiR2l0ayB2aWV3IGRlZmluaXRpb24iCiBtc2dzdHIgItCU0LXRhNC40L3QuNGG0LjRjyDQvdCwINC40LfQs9C70LXQtCDQsiBHaXRrIgogCi0jOiBnaXRrOjQwOTMKKyM6IGdpdGs6NDA5OAogbXNnaWQgIlJlbWVtYmVyIHRoaXMgdmlldyIKIG1zZ3N0ciAi0JfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0YLQvtC30Lgg0LjQt9Cz0LvQtdC0IgogCi0jOiBnaXRrOjQwOTQKKyM6IGdpdGs6NDA5OQogbXNnaWQgIlJlZmVyZW5jZXMgKHNwYWNlIHNlcGFyYXRlZCBsaXN0KToiCiBtc2dzdHIgItCj0LrQsNC30LDRgtC10LvQuCAo0YHQv9C40YHRitC6INGBINGA0LDQt9C00LXQu9C40YLQtdC7INC40L3RgtC10YDQstCw0LspOiIKIAotIzogZ2l0azo0MDk1CisjOiBnaXRrOjQxMDAKIG1zZ2lkICJCcmFuY2hlcyAmIHRhZ3M6IgogbXNnc3RyICLQmtC70L7QvdC4INC4INC10YLQuNC60LXRgtC4OiIKIAotIzogZ2l0azo0MDk2CisjOiBnaXRrOjQxMDEKIG1zZ2lkICJBbGwgcmVmcyIKIG1zZ3N0ciAi0JLRgdC40YfQutC4INGD0LrQsNC30LDRgtC10LvQuCIKIAotIzogZ2l0azo0MDk3CisjOiBnaXRrOjQxMDIKIG1zZ2lkICJBbGwgKGxvY2FsKSBicmFuY2hlcyIKIG1zZ3N0ciAi0JLRgdC40YfQutC4ICjQu9C+0LrQsNC70L3QuCkg0LrQu9C+0L3QuCIKIAotIzogZ2l0azo0MDk4CisjOiBnaXRrOjQxMDMKIG1zZ2lkICJBbGwgdGFncyIKIG1zZ3N0ciAi0JLRgdC40YfQutC4INC10YLQuNC60LXRgtC4IgogCi0jOiBnaXRrOjQwOTkKKyM6IGdpdGs6NDEwNAogbXNnaWQgIkFsbCByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgItCS0YHQuNGH0LrQuCDRgdC70LXQtNGP0YnQuCDQutC70L7QvdC4IgogCi0jOiBnaXRrOjQxMDAKKyM6IGdpdGs6NDEwNQogbXNnaWQgIkNvbW1pdCBJbmZvIChyZWd1bGFyIGV4cHJlc3Npb25zKToiCiBtc2dzdHIgItCY0L3RhNC+0YDQvNCw0YbQuNGPINC30LAg0L/QvtC00LDQstCw0L3QtSAo0YDQtdCzLiDQuNC30YAuKToiCiAKLSM6IGdpdGs6NDEwMQorIzogZ2l0azo0MTA2CiBtc2dpZCAiQXV0aG9yOiIKIG1zZ3N0ciAi0JDQstGC0L7RgDoiCiAKLSM6IGdpdGs6NDEwMgorIzogZ2l0azo0MTA3CiBtc2dpZCAiQ29tbWl0dGVyOiIKIG1zZ3N0ciAi0J/QvtC00LDQuzoiCiAKLSM6IGdpdGs6NDEwMworIzogZ2l0azo0MTA4CiBtc2dpZCAiQ29tbWl0IE1lc3NhZ2U6IgogbXNnc3RyICLQodGK0L7QsdGJ0LXQvdC40LUg0L/RgNC4INC/0L7QtNCw0LLQsNC90LU6IgogCi0jOiBnaXRrOjQxMDQKKyM6IGdpdGs6NDEwOQogbXNnaWQgIk1hdGNoZXMgYWxsIENvbW1pdCBJbmZvIGNyaXRlcmlhIgogbXNnc3RyICLQodGK0LLQv9Cw0LTQtdC90LjQtSDQv9C+INCy0YHQuNGH0LrQuCDRhdCw0YDQsNC60YLQtdGA0LjRgdGC0LjQutC4INC90LAg0L/QvtC00LDQstCw0L3QtdGC0L4iCiAKLSM6IGdpdGs6NDEwNQorIzogZ2l0azo0MTEwCiBtc2dpZCAiTWF0Y2hlcyBubyBDb21taXQgSW5mbyBjcml0ZXJpYSIKIG1zZ3N0ciAi0J3QtSDRgdGK0LLQv9Cw0LTQsCDQv9C+INC90LjQutC+0Y8g0L7RgiDRhdCw0YDQsNC60YLQtdGA0LjRgdGC0LjQutC40YLQtSDQvdCwINC/0L7QtNCw0LLQsNC90LXRgtC+IgogCi0jOiBnaXRrOjQxMDYKKyM6IGdpdGs6NDExMQogbXNnaWQgIkNoYW5nZXMgdG8gRmlsZXM6IgogbXNnc3RyICLQn9GA0L7QvNC10L3QuCDQv9C+INGE0LDQudC70L7QstC10YLQtToiCiAKLSM6IGdpdGs6NDEwNworIzogZ2l0azo0MTEyCiBtc2dpZCAiRml4ZWQgU3RyaW5nIgogbXNnc3RyICLQlNC+0YHQu9C+0LLQtdC9INC90LjQtyIKIAotIzogZ2l0azo0MTA4CisjOiBnaXRrOjQxMTMKIG1zZ2lkICJSZWd1bGFyIEV4cHJlc3Npb24iCiBtc2dzdHIgItCg0LXQs9GD0LvRj9GA0LXQvSDQuNC30YDQsNC3IgogCi0jOiBnaXRrOjQxMDkKKyM6IGdpdGs6NDExNAogbXNnaWQgIlNlYXJjaCBzdHJpbmc6IgogbXNnc3RyICLQndC40Lcg0LfQsCDRgtGK0YDRgdC10L3QtToiCiAKLSM6IGdpdGs6NDExMAorIzogZ2l0azo0MTE1CiBtc2dpZCAiIgogIkNvbW1pdCBEYXRlcyAoXCIyIHdlZWtzIGFnb1wiLCBcIjIwMDktMDMtMTcgMTU6Mjc6MzhcIiwgXCJNYXJjaCAxNywgMjAwOSAiCiAiMTU6Mjc6MzhcIik6IgpAQCAtNzA3LDIwNCArNzExLDIwNCBAQAogItCU0LDRgtCwINC90LAg0L/QvtC00LDQstCw0L3QtSAo4oCeMiB3ZWVrcyBhZ2/igJwgKNC/0YDQtdC00LggMiDRgdC10LTQvNC40YbQuCksIOKAnjIwMDktMDMtMTcgMTU6Mjc6MzjigJwsICIKICLigJ5NYXJjaCAxNywgMjAwOSAxNToyNzozOOKAnCk6IgogCi0jOiBnaXRrOjQxMTEKKyM6IGdpdGs6NDExNgogbXNnaWQgIlNpbmNlOiIKIG1zZ3N0ciAi0J7RgjoiCiAKLSM6IGdpdGs6NDExMgorIzogZ2l0azo0MTE3CiBtc2dpZCAiVW50aWw6IgogbXNnc3RyICLQlNC+OiIKIAotIzogZ2l0azo0MTEzCisjOiBnaXRrOjQxMTgKIG1zZ2lkICJMaW1pdCBhbmQvb3Igc2tpcCBhIG51bWJlciBvZiByZXZpc2lvbnMgKHBvc2l0aXZlIGludGVnZXIpOiIKIG1zZ3N0ciAiIgogItCe0LPRgNCw0L3QuNGH0LDQstCw0L3QtSDQuC/QuNC70Lgg0L/RgNC10YHQutCw0YfQsNC90LUg0L3QsCDQvtC/0YDQtdC00LXQu9C10L0g0LHRgNC+0Lkg0LLQtdGA0YHQuNC4ICjQvdC10L7RgtGA0LjRhtCw0YLQtdC70L3QviDRhtGP0LvQviAiCiAi0YfQuNGB0LvQvik6IgogCi0jOiBnaXRrOjQxMTQKKyM6IGdpdGs6NDExOQogbXNnaWQgIk51bWJlciB0byBzaG93OiIKIG1zZ3N0ciAi0JHRgNC+0Lkg0L/QvtC60LDQt9Cw0L3QuDoiCiAKLSM6IGdpdGs6NDExNQorIzogZ2l0azo0MTIwCiBtc2dpZCAiTnVtYmVyIHRvIHNraXA6IgogbXNnc3RyICLQkdGA0L7QuSDQv9GA0LXRgdC60L7Rh9C10L3QuDoiCiAKLSM6IGdpdGs6NDExNgorIzogZ2l0azo0MTIxCiBtc2dpZCAiTWlzY2VsbGFuZW91cyBvcHRpb25zOiIKIG1zZ3N0ciAi0KDQsNC30L3QuDoiCiAKLSM6IGdpdGs6NDExNworIzogZ2l0azo0MTIyCiBtc2dpZCAiU3RyaWN0bHkgc29ydCBieSBkYXRlIgogbXNnc3RyICLQn9C+0LTRgNC10LbQtNCw0L3QtSDQv9C+INC00LDRgtCwIgogCi0jOiBnaXRrOjQxMTgKKyM6IGdpdGs6NDEyMwogbXNnaWQgIk1hcmsgYnJhbmNoIHNpZGVzIgogbXNnc3RyICLQntGC0LHQtdC70Y/Qt9Cy0LDQvdC1INC90LAg0YHRgtGA0LDQvdC40YLQtSDQv9C+INC60LvQvtC90LAiCiAKLSM6IGdpdGs6NDExOQorIzogZ2l0azo0MTI0CiBtc2dpZCAiTGltaXQgdG8gZmlyc3QgcGFyZW50IgogbXNnc3RyICLQodCw0LzQviDQv9GK0YDQstC40Y8g0YDQvtC00LjRgtC10LsiCiAKLSM6IGdpdGs6NDEyMAorIzogZ2l0azo0MTI1CiBtc2dpZCAiU2ltcGxlIGhpc3RvcnkiCiBtc2dzdHIgItCe0L/RgNC+0YHRgtC10L3QsCDQuNGB0YLQvtGA0LjRjyIKIAotIzogZ2l0azo0MTIxCisjOiBnaXRrOjQxMjYKIG1zZ2lkICJBZGRpdGlvbmFsIGFyZ3VtZW50cyB0byBnaXQgbG9nOiIKIG1zZ3N0ciAi0JTQvtC/0YrQu9C90LjRgtC10LvQvdC4INCw0YDQs9GD0LzQtdC90YLQuCDQutGK0Lwg4oCeZ2l0IGxvZ+KAnDoiCiAKLSM6IGdpdGs6NDEyMgorIzogZ2l0azo0MTI3CiBtc2dpZCAiRW50ZXIgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHRvIGluY2x1ZGUsIG9uZSBwZXIgbGluZToiCiBtc2dzdHIgItCS0YrQstC10LTQtdGC0LUg0YTQsNC50LvQvtCy0LXRgtC1INC4INC00LjRgNC10LrRgtC+0YDQuNC40YLQtSDQt9CwINCy0LrQu9GO0YfQstCw0L3QtSwg0L/QviDQtdC70LXQvNC10L3RgiDQvdCwINGA0LXQtCIKIAotIzogZ2l0azo0MTIzCisjOiBnaXRrOjQxMjgKIG1zZ2lkICJDb21tYW5kIHRvIGdlbmVyYXRlIG1vcmUgY29tbWl0cyB0byBpbmNsdWRlOiIKIG1zZ3N0ciAiIgogItCa0L7QvNCw0L3QtNCwINC30LAg0LPQtdC90LXRgNC40YDQsNC90LXRgtC+INC90LAg0LTQvtC/0YrQu9C90LjRgtC10LvQvdC4INC/0L7QtNCw0LLQsNC90LjRjywg0LrQvtC40YLQviDQtNCwINCx0YrQtNCw0YIg0LLQutC70Y7Rh9C10L3QuDoiCiAKLSM6IGdpdGs6NDI0NworIzogZ2l0azo0MjUyCiBtc2dpZCAiR2l0azogZWRpdCB2aWV3IgogbXNnc3RyICJHaXRrOiDRgNC10LTQsNC60YLQuNGA0LDQvdC1INC90LAg0LjQt9Cz0LvQtdC0IgogCi0jOiBnaXRrOjQyNTUKKyM6IGdpdGs6NDI2MAogbXNnaWQgIi0tIGNyaXRlcmlhIGZvciBzZWxlY3RpbmcgcmV2aXNpb25zIgogbXNnc3RyICLigJQg0LrRgNC40YLQtdGA0LjQuCDQt9CwINC40LfQsdC+0YAg0L3QsCDQstC10YDRgdC40LgiCiAKLSM6IGdpdGs6NDI2MAorIzogZ2l0azo0MjY1CiBtc2dpZCAiVmlldyBOYW1lIgogbXNnc3RyICLQmNC80LUg0L3QsCDQuNC30LPQu9C10LQiCiAKLSM6IGdpdGs6NDMzNQorIzogZ2l0azo0MzQwCiBtc2dpZCAiQXBwbHkgKEY1KSIKIG1zZ3N0ciAi0J/RgNC40LvQsNCz0LDQvdC1IChGNSkiCiAKLSM6IGdpdGs6NDM3MworIzogZ2l0azo0Mzc4CiBtc2dpZCAiRXJyb3IgaW4gY29tbWl0IHNlbGVjdGlvbiBhcmd1bWVudHM6IgogbXNnc3RyICLQk9GA0LXRiNC60LAg0LIg0LDRgNCz0YPQvNC10L3RgtC40YLQtSDQt9CwINC40LfQsdC+0YAg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y86IgogCi0jOiBnaXRrOjQ0MjggZ2l0azo0NDgxIGdpdGs6NDk0MyBnaXRrOjQ5NTcgZ2l0azo2MjI3IGdpdGs6MTI0MTAgZ2l0azoxMjQxMQorIzogZ2l0azo0NDMzIGdpdGs6NDQ4NiBnaXRrOjQ5NDggZ2l0azo0OTYyIGdpdGs6NjIzMiBnaXRrOjEyNTI0IGdpdGs6MTI1MjUKIG1zZ2lkICJOb25lIgogbXNnc3RyICLQndGP0LzQsCIKIAotIzogZ2l0azo1MDQwIGdpdGs6NTA0NQorIzogZ2l0azo1MDQ1IGdpdGs6NTA1MAogbXNnaWQgIkRlc2NlbmRhbnQiCiBtc2dzdHIgItCd0LDRgdC70LXQtNC90LjQuiIKIAotIzogZ2l0azo1MDQxCisjOiBnaXRrOjUwNDYKIG1zZ2lkICJOb3QgZGVzY2VuZGFudCIKIG1zZ3N0ciAi0J3QtSDQtSDQvdCw0YHQu9C10LTQvdC40LoiCiAKLSM6IGdpdGs6NTA0OCBnaXRrOjUwNTMKKyM6IGdpdGs6NTA1MyBnaXRrOjUwNTgKIG1zZ2lkICJBbmNlc3RvciIKIG1zZ3N0ciAi0J/RgNC10LTRiNC10YHRgtCy0LXQvdC40LoiCiAKLSM6IGdpdGs6NTA0OQorIzogZ2l0azo1MDU0CiBtc2dpZCAiTm90IGFuY2VzdG9yIgogbXNnc3RyICLQndC1INC1INC/0YDQtdC00YjQtdGB0YLQstC10L3QuNC6IgogCi0jOiBnaXRrOjUzNDMKKyM6IGdpdGs6NTM0OAogbXNnaWQgIkxvY2FsIGNoYW5nZXMgY2hlY2tlZCBpbiB0byBpbmRleCBidXQgbm90IGNvbW1pdHRlZCIKIG1zZ3N0ciAi0JvQvtC60LDQu9C90Lgg0L/RgNC+0LzQtdC90Lgg0LTQvtCx0LDQstC10L3QuCDQutGK0Lwg0LjQvdC00LXQutGB0LAsINC90L4g0L3QtdC/0L7QtNCw0LTQtdC90LgiCiAKLSM6IGdpdGs6NTM3OQorIzogZ2l0azo1Mzg0CiBtc2dpZCAiTG9jYWwgdW5jb21taXR0ZWQgY2hhbmdlcywgbm90IGNoZWNrZWQgaW4gdG8gaW5kZXgiCiBtc2dzdHIgItCb0L7QutCw0LvQvdC4INC/0YDQvtC80LXQvdC4INC40LfQstGK0L0g0LjQvdC00LXQutGB0LAiCiAKLSM6IGdpdGs6NzE1MworIzogZ2l0azo3MTU4CiBtc2dpZCAiYW5kIG1hbnkgbW9yZSIKIG1zZ3N0ciAi0Lgg0L7RidC1INC80L3QvtCz0L4iCiAKLSM6IGdpdGs6NzE1NgorIzogZ2l0azo3MTYxCiBtc2dpZCAibWFueSIKIG1zZ3N0ciAi0LzQvdC+0LPQviIKIAotIzogZ2l0azo3MzQ3CisjOiBnaXRrOjczNTIKIG1zZ2lkICJUYWdzOiIKIG1zZ3N0ciAi0JXRgtC40LrQtdGC0Lg6IgogCi0jOiBnaXRrOjczNjQgZ2l0azo3MzcwIGdpdGs6ODg0NAorIzogZ2l0azo3MzY5IGdpdGs6NzM3NSBnaXRrOjg4NTQKIG1zZ2lkICJQYXJlbnQiCiBtc2dzdHIgItCg0L7QtNC40YLQtdC7IgogCi0jOiBnaXRrOjczNzUKKyM6IGdpdGs6NzM4MAogbXNnaWQgIkNoaWxkIgogbXNnc3RyICLQlNC10YLQtSIKIAotIzogZ2l0azo3Mzg0CisjOiBnaXRrOjczODkKIG1zZ2lkICJCcmFuY2giCiBtc2dzdHIgItCa0LvQvtC9IgogCi0jOiBnaXRrOjczODcKKyM6IGdpdGs6NzM5MgogbXNnaWQgIkZvbGxvd3MiCiBtc2dzdHIgItCh0LvQtdC00LLQsCIKIAotIzogZ2l0azo3MzkwCisjOiBnaXRrOjczOTUKIG1zZ2lkICJQcmVjZWRlcyIKIG1zZ3N0ciAi0J/RgNC10LTRiNC10YHRgtCy0LAiCiAKLSM6IGdpdGs6Nzk4NQorIzogZ2l0azo3OTkwCiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZ2V0dGluZyBkaWZmczogJXMiCiBtc2dzdHIgItCT0YDQtdGI0LrQsCDQv9GA0Lgg0L/QvtC70YPRh9Cw0LLQsNC90LXRgtC+INC90LAg0YDQsNC30LvQuNC60LjRgtC1OiAlcyIKIAotIzogZ2l0azo4NjY5CisjOiBnaXRrOjg2NzkKIG1zZ2lkICJHb3RvOiIKIG1zZ3N0ciAi0JrRitC8INGA0LXQtDoiCiAKLSM6IGdpdGs6ODY5MAorIzogZ2l0azo4NzAwCiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiU2hvcnQgU0hBMSBpZCAlcyBpcyBhbWJpZ3VvdXMiCiBtc2dzdHIgItCh0YrQutGA0LDRgtC10L3QsNGC0LAg0YHRg9C80LAg0L/QviBTSEExICVzINC90LUg0LUg0LXQtNC90L7Qt9C90LDRh9C90LAiCiAKLSM6IGdpdGs6ODY5NworIzogZ2l0azo4NzA3CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiUmV2aXNpb24gJXMgaXMgbm90IGtub3duIgogbXNnc3RyICLQndC10L/QvtC30L3QsNGC0LAg0LLQtdGA0YHQuNGPICVzIgogCi0jOiBnaXRrOjg3MDcKKyM6IGdpdGs6ODcxNwogIywgdGNsLWZvcm1hdAogbXNnaWQgIlNIQTEgaWQgJXMgaXMgbm90IGtub3duIgogbXNnc3RyICLQndC10L/QvtC30L3QsNGC0LAg0YHRg9C80LAg0L/QviBTSEExICVzIgogCi0jOiBnaXRrOjg3MDkKKyM6IGdpdGs6ODcxOQogIywgdGNsLWZvcm1hdAogbXNnaWQgIlJldmlzaW9uICVzIGlzIG5vdCBpbiB0aGUgY3VycmVudCB2aWV3IgogbXNnc3RyICLQktC10YDRgdC40Y8gJXMg0L3QtSDQtSDQsiDRgtC10LrRg9GJ0LjRjyDQuNC30LPQu9C10LQiCiAKLSM6IGdpdGs6ODg1MSBnaXRrOjg4NjYKKyM6IGdpdGs6ODg2MSBnaXRrOjg4NzYKIG1zZ2lkICJEYXRlIgogbXNnc3RyICLQlNCw0YLQsCIKIAotIzogZ2l0azo4ODU0CisjOiBnaXRrOjg4NjQKIG1zZ2lkICJDaGlsZHJlbiIKIG1zZ3N0ciAi0JTQtdGG0LAiCiAKLSM6IGdpdGs6ODkxNworIzogZ2l0azo4OTI3CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiUmVzZXQgJXMgYnJhbmNoIHRvIGhlcmUiCiBtc2dzdHIgItCX0LDQvdGD0LvRj9Cy0LDQvdC1INC90LAg0LrQu9C+0L3QsCDigJ4lc+KAnCDQutGK0Lwg0YLQtdC60YPRidC+0YLQviDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBnaXRrOjg5MTkKKyM6IGdpdGs6ODkyOQogbXNnaWQgIkRldGFjaGVkIGhlYWQ6IGNhbid0IHJlc2V0IgogbXNnc3RyICLQndC10YHQstGK0YDQt9Cw0L0g0LLRgNGK0YU6INC90LXQstGK0LfQvNC+0LbQvdC+INC30LDQvdGD0LvRj9Cy0LDQvdC1IgogCi0jOiBnaXRrOjkwMjQgZ2l0azo5MDMwCisjOiBnaXRrOjkwMzQgZ2l0azo5MDQwCiBtc2dpZCAiU2tpcHBpbmcgbWVyZ2UgY29tbWl0ICIKIG1zZ3N0ciAi0J/RgNC+0L/Rg9GB0LrQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC10YLQviDQvdCwINGB0LvQuNCy0LDQvdC10YLQviIKIAotIzogZ2l0azo5MDM5IGdpdGs6OTA0NAorIzogZ2l0azo5MDQ5IGdpdGs6OTA1NAogbXNnaWQgIkVycm9yIGdldHRpbmcgcGF0Y2ggSUQgZm9yICIKIG1zZ3N0ciAi0JPRgNC10YjQutCwINC/0YDQuCDQv9C+0LvRg9GH0LDQstCw0L3QtdGC0L4g0L3QsCDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNCwINC90LAgIgogCi0jOiBnaXRrOjkwNDAgZ2l0azo5MDQ1CisjOiBnaXRrOjkwNTAgZ2l0azo5MDU1CiBtc2dpZCAiIC0gc3RvcHBpbmdcbiIKIG1zZ3N0ciAiIOKAlCDRgdC/0LjRgNCw0L3QtVxuIgogCi0jOiBnaXRrOjkwNTAgZ2l0azo5MDUzIGdpdGs6OTA2MSBnaXRrOjkwNzUgZ2l0azo5MDg0CisjOiBnaXRrOjkwNjAgZ2l0azo5MDYzIGdpdGs6OTA3MSBnaXRrOjkwODUgZ2l0azo5MDk0CiBtc2dpZCAiQ29tbWl0ICIKIG1zZ3N0ciAi0J/QvtC00LDQstCw0L3QtSIKIAotIzogZ2l0azo5MDU0CisjOiBnaXRrOjkwNjQKIG1zZ2lkICIiCiAiIGlzIHRoZSBzYW1lIHBhdGNoIGFzXG4iCiAiICAgICAgICIKQEAgLTkxMiw3ICs5MTYsNyBAQAogIiDQtSDRgdGK0YnQsNGC0LAg0LrRgNGK0L/QutCwINC60LDRgtC+XG4iCiAiICAgICAgICIKIAotIzogZ2l0azo5MDYyCisjOiBnaXRrOjkwNzIKIG1zZ2lkICIiCiAiIGRpZmZlcnMgZnJvbVxuIgogIiAgICAgICAiCkBAIC05MjAsNyArOTI0LDcgQEAKICIg0YHQtSDRgNCw0LfQu9C40YfQsNCy0LAg0L7RglxuIgogIiAgICAgICAiCiAKLSM6IGdpdGs6OTA2NAorIzogZ2l0azo5MDc0CiBtc2dpZCAiIgogIkRpZmYgb2YgY29tbWl0czpcbiIKICJcbiIKQEAgLTkyOCwxMzAgKzkzMiwxNDcgQEAKICLQoNCw0LfQu9C40LrQsCDQvNC10LbQtNGDINC/0L7QtNCw0LLQsNC90LjRj9GC0LA6XG4iCiAiXG4iCiAKLSM6IGdpdGs6OTA3NiBnaXRrOjkwODUKKyM6IGdpdGs6OTA4NiBnaXRrOjkwOTUKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICIgaGFzICVzIGNoaWxkcmVuIC0gc3RvcHBpbmdcbiIKIG1zZ3N0ciAiINC40LzQsCAlcyDQtNC10YbQsCDigJQg0YHQv9C40YDQsNC90LVcbiIKIAotIzogZ2l0azo5MTA0CisjOiBnaXRrOjkxMTQKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJFcnJvciB3cml0aW5nIGNvbW1pdCB0byBmaWxlOiAlcyIKIG1zZ3N0ciAi0JPRgNC10YjQutCwINC/0YDQuCDQt9Cw0L/QsNC30LLQsNC90LXRgtC+INC90LAg0L/QvtC00LDQstCw0L3QtdGC0L4g0LLRitCyINGE0LDQudC7OiAlcyIKIAotIzogZ2l0azo5MTEwCisjOiBnaXRrOjkxMjAKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJFcnJvciBkaWZmaW5nIGNvbW1pdHM6ICVzIgogbXNnc3RyICLQk9GA0LXRiNC60LAg0L/RgNC4INC40LfRh9C40YHQu9GP0LLQsNC90LXRgtC+INC90LAg0YDQsNC30LvQuNC60LjRgtC1INC80LXQttC00YMg0L/QvtC00LDQstCw0L3QuNGP0YLQsDogJXMiCiAKLSM6IGdpdGs6OTE1NgorIzogZ2l0azo5MTY2CiBtc2dpZCAiVG9wIgogbXNnc3RyICLQndCw0Lkt0LPQvtGA0LUiCiAKLSM6IGdpdGs6OTE1NworIzogZ2l0azo5MTY3CiBtc2dpZCAiRnJvbSIKIG1zZ3N0ciAi0J7RgiIKIAotIzogZ2l0azo5MTYyCisjOiBnaXRrOjkxNzIKIG1zZ2lkICJUbyIKIG1zZ3N0ciAi0JTQviIKIAotIzogZ2l0azo5MTg2CisjOiBnaXRrOjkxOTYKIG1zZ2lkICJHZW5lcmF0ZSBwYXRjaCIKIG1zZ3N0ciAi0JPQtdC90LXRgNC40YDQsNC90LUg0L3QsCDQutGA0YrQv9C60LAiCiAKLSM6IGdpdGs6OTE4OAorIzogZ2l0azo5MTk4CiBtc2dpZCAiRnJvbToiCiBtc2dzdHIgItCe0YI6IgogCi0jOiBnaXRrOjkxOTcKKyM6IGdpdGs6OTIwNwogbXNnaWQgIlRvOiIKIG1zZ3N0ciAi0JTQvjoiCiAKLSM6IGdpdGs6OTIwNgorIzogZ2l0azo5MjE2CiBtc2dpZCAiUmV2ZXJzZSIKIG1zZ3N0ciAi0J7QsdGA0YrRidCw0L3QtSIKIAotIzogZ2l0azo5MjA4IGdpdGs6OTQxOAorIzogZ2l0azo5MjE4IGdpdGs6OTQyOAogbXNnaWQgIk91dHB1dCBmaWxlOiIKIG1zZ3N0ciAi0JfQsNC/0LDQt9Cy0LDQvdC1INCy0YrQsiDRhNCw0LnQu9CwOiIKIAotIzogZ2l0azo5MjE0CisjOiBnaXRrOjkyMjQKIG1zZ2lkICJHZW5lcmF0ZSIKIG1zZ3N0ciAi0JPQtdC90LXRgNC40YDQsNC90LUiCiAKLSM6IGdpdGs6OTI1MgorIzogZ2l0azo5MjYyCiBtc2dpZCAiRXJyb3IgY3JlYXRpbmcgcGF0Y2g6IgogbXNnc3RyICLQk9GA0LXRiNC60LAg0L/RgNC4INGB0YrQt9C00LDQstCw0L3QtdGC0L4g0L3QsCDQutGA0YrQv9C60LA6IgogCi0jOiBnaXRrOjkyNzUgZ2l0azo5NDA2IGdpdGs6OTQ2MworIzogZ2l0azo5Mjg1IGdpdGs6OTQxNiBnaXRrOjk1MDQKIG1zZ2lkICJJRDoiCiBtc2dzdHIgItCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAOiIKIAotIzogZ2l0azo5Mjg0CisjOiBnaXRrOjkyOTQKIG1zZ2lkICJUYWcgbmFtZToiCiBtc2dzdHIgItCY0LzQtSDQvdCwINC10YLQuNC60LXRgjoiCiAKLSM6IGdpdGs6OTI4NworIzogZ2l0azo5Mjk3CiBtc2dpZCAiVGFnIG1lc3NhZ2UgaXMgb3B0aW9uYWwiCiBtc2dzdHIgItCh0YrQvtCx0YnQtdC90LjQtdGC0L4g0LfQsCDQtdGC0LjQutC10YIg0LUg0L3QtdC30LDQtNGK0LvQttC40YLQtdC70L3QviIKIAotIzogZ2l0azo5Mjg5CisjOiBnaXRrOjkyOTkKIG1zZ2lkICJUYWcgbWVzc2FnZToiCiBtc2dzdHIgItCh0YrQvtCx0YnQtdC90LjQtSDQt9CwINC10YLQuNC60LXRgjoiCiAKLSM6IGdpdGs6OTI5MyBnaXRrOjk0NzIKKyM6IGdpdGs6OTMwMyBnaXRrOjk0NzQKIG1zZ2lkICJDcmVhdGUiCiBtc2dzdHIgItCh0YrQt9C00LDQstCw0L3QtSIKIAotIzogZ2l0azo5MzExCisjOiBnaXRrOjkzMjEKIG1zZ2lkICJObyB0YWcgbmFtZSBzcGVjaWZpZWQiCiBtc2dzdHIgItCb0LjQv9GB0LLQsCDQuNC80LUg0L3QsCDQtdGC0LjQutC10YIiCiAKLSM6IGdpdGs6OTMxNQorIzogZ2l0azo5MzI1CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiVGFnIFwiJXNcIiBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAi0JXRgtC40LrQtdGC0YrRgiDigJ4lc+KAnCDQstC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCIKIAotIzogZ2l0azo5MzI1CisjOiBnaXRrOjkzMzUKIG1zZ2lkICJFcnJvciBjcmVhdGluZyB0YWc6IgogbXNnc3RyICLQk9GA0LXRiNC60LAg0L/RgNC4INGB0YrQt9C00LDQstCw0L3QtdGC0L4g0L3QsCDQtdGC0LjQutC10YI6IgogCi0jOiBnaXRrOjk0MTUKKyM6IGdpdGs6OTQyNQogbXNnaWQgIkNvbW1hbmQ6IgogbXNnc3RyICLQmtC+0LzQsNC90LTQsDoiCiAKLSM6IGdpdGs6OTQyMworIzogZ2l0azo5NDMzCiBtc2dpZCAiV3JpdGUiCiBtc2dzdHIgItCX0LDQv9Cw0LfQstCw0L3QtSIKIAotIzogZ2l0azo5NDQxCisjOiBnaXRrOjk0NTEKIG1zZ2lkICJFcnJvciB3cml0aW5nIGNvbW1pdDoiCiBtc2dzdHIgItCT0YDQtdGI0LrQsCDQv9GA0Lgg0LfQsNC/0LDQt9Cy0LDQvdC10YLQviDQvdCwINC/0L7QtNCw0LLQsNC90LXRgtC+OiIKIAotIzogZ2l0azo5NDY4CisjOiBnaXRrOjk0NzMKK21zZ2lkICJDcmVhdGUgYnJhbmNoIgorbXNnc3RyICLQodGK0LfQtNCw0LLQsNC90LUg0L3QsCDQutC70L7QvSIKKworIzogZ2l0azo5NDg5CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUmVuYW1lIGJyYW5jaCAlcyIKK21zZ3N0ciAi0J/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1INC90LAg0LrQu9C+0L3QsCDigJ4lc+KAnCIKKworIzogZ2l0azo5NDkwCittc2dpZCAiUmVuYW1lIgorbXNnc3RyICLQn9GA0LXQuNC80LXQvdGD0LLQsNC90LUiCisKKyM6IGdpdGs6OTUxNAogbXNnaWQgIk5hbWU6IgogbXNnc3RyICLQmNC80LU6IgogCi0jOiBnaXRrOjk0OTEKKyM6IGdpdGs6OTUzOAogbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IGEgbmFtZSBmb3IgdGhlIG5ldyBicmFuY2giCiBtc2dzdHIgItCj0LrQsNC20LXRgtC1INC40LzQtSDQt9CwINC90L7QstC40Y8g0LrQu9C+0L0iCiAKLSM6IGdpdGs6OTQ5NgorIzogZ2l0azo5NTQzCiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgYWxyZWFkeSBleGlzdHMuIE92ZXJ3cml0ZT8iCiBtc2dzdHIgItCa0LvQvtC90YrRgiDigJ4lc+KAnCDQstC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsC4g0JTQsCDQsdGK0LTQtSDQu9C4INC/0YDQtdC30LDQv9C40YHQsNC9PyIKIAotIzogZ2l0azo5NTYzCisjOiBnaXRrOjk1ODcKK21zZ2lkICJQbGVhc2Ugc3BlY2lmeSBhIG5ldyBuYW1lIGZvciB0aGUgYnJhbmNoIgorbXNnc3RyICLQo9C60LDQttC10YLQtSDQvdC+0LLQviDQuNC80LUg0LfQsCDQutC70L7QvdCwIgorCisjOiBnaXRrOjk2NTAKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaXMgYWxyZWFkeSBpbmNsdWRlZCBpbiBicmFuY2ggJXMgLS0gcmVhbGx5IHJlLWFwcGx5IGl0PyIKIG1zZ3N0ciAiIgogItCf0L7QtNCw0LLQsNC90LXRgtC+IOKAniVz4oCcINCy0LXRh9C1INC1INCy0LrQu9GO0YfQtdC90L4g0LIg0LrQu9C+0L3QsCDigJ4lc+KAnCDigJQg0LTQsCDQsdGK0LTQtSDQu9C4INC/0YDQuNC70L7QttC10L3QviDQvtGC0L3QvtCy0L4/IgogCi0jOiBnaXRrOjk1NjgKKyM6IGdpdGs6OTY1NQogbXNnaWQgIkNoZXJyeS1waWNraW5nIgogbXNnc3RyICLQntGC0LHQuNGA0LDQvdC1IgogCi0jOiBnaXRrOjk1NzcKKyM6IGdpdGs6OTY2NAogIywgdGNsLWZvcm1hdAogbXNnaWQgIiIKICJDaGVycnktcGljayBmYWlsZWQgYmVjYXVzZSBvZiBsb2NhbCBjaGFuZ2VzIHRvIGZpbGUgJyVzJy5cbiIKQEAgLTEwNjAsNyArMTA4MSw3IEBACiAi0J3QtdGD0YHQv9C10YjQvdC+INC+0YLQsdC40YDQsNC90LUsINC30LDRidC+0YLQviDQstGK0LIg0YTQsNC50LvQsCDigJ4lc+KAnCDQuNC80LAg0LvQvtC60LDQu9C90Lgg0L/RgNC+0LzQtdC90LguXG4iCiAi0J/QvtC00LDQudGC0LUsINC30LDQvdGD0LvQtdGC0LUg0LjQu9C4INCz0Lgg0YHQutCw0YLQsNC50YLQtSDQuCDQv9GA0L7QsdCy0LDQudGC0LUg0L7RgtC90L7QstC+LiIKIAotIzogZ2l0azo5NTgzCisjOiBnaXRrOjk2NzAKIG1zZ2lkICIiCiAiQ2hlcnJ5LXBpY2sgZmFpbGVkIGJlY2F1c2Ugb2YgbWVyZ2UgY29uZmxpY3QuXG4iCiAiRG8geW91IHdpc2ggdG8gcnVuIGdpdCBjaXRvb2wgdG8gcmVzb2x2ZSBpdD8iCkBAIC0xMDY4LDI5ICsxMDg5LDI5IEBACiAi0J3QtdGD0YHQv9C10YjQvdC+INC+0YLQsdC40YDQsNC90LUg0L/QvtGA0LDQtNC4INC60L7QvdGE0LvQuNC60YLQuCDQv9GA0Lgg0YHQu9C40LLQsNC90LUuXG4iCiAi0JjRgdC60LDRgtC1INC70Lgg0LTQsCDQs9C4INC60L7RgNC40LPQuNGA0LDRgtC1INGH0YDQtdC3IOKAnmdpdCBjaXRvb2zigJw/IgogCi0jOiBnaXRrOjk1OTkgZ2l0azo5NjU3CisjOiBnaXRrOjk2ODYgZ2l0azo5NzQ0CiBtc2dpZCAiTm8gY2hhbmdlcyBjb21taXR0ZWQiCiBtc2dzdHIgItCd0LUg0YHQsCDQv9C+0LTQsNC00LXQvdC4INC/0YDQvtC80LXQvdC4IgogCi0jOiBnaXRrOjk2MjYKKyM6IGdpdGs6OTcxMwogIywgdGNsLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBpcyBub3QgaW5jbHVkZWQgaW4gYnJhbmNoICVzIC0tIHJlYWxseSByZXZlcnQgaXQ/IgogbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC10YLQviDigJ4lc+KAnCDQvdC1INC1INCy0LrQu9GO0YfQtdC90L4g0LIg0LrQu9C+0L3QsCDigJ4lc+KAnC4g0JTQsCDQsdGK0LTQtSDQu9C4INC+0YLQvNC10L3QtdC90L4/IgogCi0jOiBnaXRrOjk2MzEKKyM6IGdpdGs6OTcxOAogbXNnaWQgIlJldmVydGluZyIKIG1zZ3N0ciAi0J7RgtC80Y/QvdCwIgogCi0jOiBnaXRrOjk2MzkKKyM6IGdpdGs6OTcyNgogIywgdGNsLWZvcm1hdAogbXNnaWQgIiIKICJSZXZlcnQgZmFpbGVkIGJlY2F1c2Ugb2YgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzOiVzIFBsZWFzZSAiCiAiY29tbWl0LCByZXNldCBvciBzdGFzaCAgeW91ciBjaGFuZ2VzIGFuZCB0cnkgYWdhaW4uIgogbXNnc3RyICIiCiAi0J3QtdGD0YHQv9C10YjQvdCwINC+0YLQvNGP0L3QsCwg0LfQsNGJ0L7RgtC+INCy0YrQsiDRhNCw0LnQu9CwIOKAniVz4oCcINC40LzQsCDQu9C+0LrQsNC70L3QuCDQv9GA0L7QvNC10L3QuC5cbiIKLSLQn9C+0LTQsNC50YLQtSwg0LfQsNC90YPQu9C10YLQtSDQuNC70Lgg0LPQuCDRgdC60LDRgtCw0LnRgtC1INC4INC/0YDQvtCx0LLQsNC50YLQtSDQvtGC0L3QvtCy0L4uPCIKKyLQn9C+0LTQsNC50YLQtSwg0LfQsNC90YPQu9C10YLQtSDQuNC70Lgg0LPQuCDRgdC60LDRgtCw0LnRgtC1INC4INC/0YDQvtCx0LLQsNC50YLQtSDQvtGC0L3QvtCy0L4uIgogCi0jOiBnaXRrOjk2NDMKKyM6IGdpdGs6OTczMAogbXNnaWQgIiIKICJSZXZlcnQgZmFpbGVkIGJlY2F1c2Ugb2YgbWVyZ2UgY29uZmxpY3QuXG4iCiAiIERvIHlvdSB3aXNoIHRvIHJ1biBnaXQgY2l0b29sIHRvIHJlc29sdmUgaXQ/IgpAQCAtMTA5OCw2NiArMTExOSw3MSBAQAogItCd0LXRg9GB0L/QtdGI0L3QviDQvtGC0LzRj9C90LAg0L/QvtGA0LDQtNC4INC60L7QvdGE0LvQuNC60YLQuCDQv9GA0Lgg0YHQu9C40LLQsNC90LUuXG4iCiAi0JjRgdC60LDRgtC1INC70Lgg0LTQsCDQs9C4INC60L7RgNC40LPQuNGA0LDRgtC1INGH0YDQtdC3IOKAnmdpdCBjaXRvb2zigJw/IgogCi0jOiBnaXRrOjk2ODYKKyM6IGdpdGs6OTc3MwogbXNnaWQgIkNvbmZpcm0gcmVzZXQiCiBtc2dzdHIgItCf0L7RgtCy0YrRgNC20LTQsNCy0LDQvdC1INC90LAg0LfQsNC90YPQu9GP0LLQsNC90LXRgtC+IgogCi0jOiBnaXRrOjk2ODgKKyM6IGdpdGs6OTc3NQogIywgdGNsLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAlcyB0byAlcz8iCiBtc2dzdHIgItCU0LAg0YHQtSDQt9Cw0L3Rg9C70Lgg0LvQuCDQutC70L7QvdGK0YIg4oCeJXPigJwg0LrRitC8IOKAniVz4oCcPyIKIAotIzogZ2l0azo5NjkwCisjOiBnaXRrOjk3NzcKIG1zZ2lkICJSZXNldCB0eXBlOiIKIG1zZ3N0ciAi0JLQuNC0INC30LDQvdGD0LvRj9Cy0LDQvdC1OiIKIAotIzogZ2l0azo5NjkzCisjOiBnaXRrOjk3ODAKIG1zZ2lkICJTb2Z0OiBMZWF2ZSB3b3JraW5nIHRyZWUgYW5kIGluZGV4IHVudG91Y2hlZCIKIG1zZ3N0ciAi0KHQu9Cw0LHQvjog0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0Lgg0LjQvdC00LXQutGB0LAg0L7RgdGC0LDQstCw0YIg0YHRitGJ0LjRgtC1IgogCi0jOiBnaXRrOjk2OTYKKyM6IGdpdGs6OTc4MwogbXNnaWQgIk1peGVkOiBMZWF2ZSB3b3JraW5nIHRyZWUgdW50b3VjaGVkLCByZXNldCBpbmRleCIKIG1zZ3N0ciAi0KHQvNC10YHQtdC90L46INGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+INC+0YHRgtCw0LLQsCDRgdGK0YnQvtGC0L4sINC40L3QtNC10LrRgdGK0YIg0YHQtSDQt9Cw0L3Rg9C70Y/QstCwIgogCi0jOiBnaXRrOjk2OTkKKyM6IGdpdGs6OTc4NgogbXNnaWQgIiIKICJIYXJkOiBSZXNldCB3b3JraW5nIHRyZWUgYW5kIGluZGV4XG4iCiAiKGRpc2NhcmQgQUxMIGxvY2FsIGNoYW5nZXMpIgogbXNnc3RyICIiCiAi0KHQuNC70L3Qvjog0LfQsNC90YPQu9GP0LLQsNC90LUg0Lgg0L3QsCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviwg0Lgg0L3QsCDQuNC90LTQtdC60YHQsFxuIgotIigq0JLQodCY0KfQmtCYKiDQu9C+0LrQsNC70L3QuCDQv9GA0L7QvNC10L3QuCDRidC1INCx0YrQtNCw0YIg0LHQtdC30LLRitC30LLRgNCw0YLQvdC+INC30LDQs9GD0LHQtdC90LgpIgorIijQktCh0JjQp9Ca0Jgg0LvQvtC60LDQu9C90Lgg0L/RgNC+0LzQtdC90Lgg0YnQtSDQsdGK0LTQsNGCINCx0LXQt9Cy0YrQt9Cy0YDQsNGC0L3QviDQt9Cw0LPRg9Cx0LXQvdC4KSIKIAotIzogZ2l0azo5NzE2CisjOiBnaXRrOjk4MDMKIG1zZ2lkICJSZXNldHRpbmciCiBtc2dzdHIgItCX0LDQvdGD0LvRj9Cy0LDQvdC1IgogCi0jOiBnaXRrOjk3NzYKKyM6IGdpdGs6OTg3NgorIywgdGNsLWZvcm1hdAorbXNnaWQgIkEgbG9jYWwgYnJhbmNoIG5hbWVkICVzIGV4aXN0cyBhbHJlYWR5IgorbXNnc3RyICLQktC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCDQu9C+0LrQsNC70LXQvSDQutC70L7QvSDigJ4lc+KAnC4iCisKKyM6IGdpdGs6OTg4NAogbXNnaWQgIkNoZWNraW5nIG91dCIKIG1zZ3N0ciAi0JjQt9GC0LXQs9C70Y/QvdC1IgogCi0jOiBnaXRrOjk4MjkKKyM6IGdpdGs6OTk0MwogbXNnaWQgIkNhbm5vdCBkZWxldGUgdGhlIGN1cnJlbnRseSBjaGVja2VkLW91dCBicmFuY2giCiBtc2dzdHIgItCi0LXQutGD0YnQviDQuNC30YLQtdCz0LvQtdC90LjRj9GCINC60LvQvtC9INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YIiCiAKLSM6IGdpdGs6OTgzNQorIzogZ2l0azo5OTQ5CiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBjb21taXRzIG9uIGJyYW5jaCAlcyBhcmVuJ3Qgb24gYW55IG90aGVyIGJyYW5jaC5cbiIKICJSZWFsbHkgZGVsZXRlIGJyYW5jaCAlcz8iCiBtc2dzdHIgIiIKICLQn9C+0LTQsNCy0LDQvdC40Y/RgtCwINC90LAg0LrQu9C+0L3QsCDigJ4lc+KAnCDQvdC1INGB0LAg0L3QsCDQvdC40LrQvtC5INC00YDRg9CzINC60LvQvtC9LlxuIgotItCd0LDQuNGB0YLQuNC90LAg0LvQuCDQtNCwINGB0LUg0LjQt9GC0YDQuNC1INC60LvQvtC90YrRgiDigJ4lc+KAnD8iCisi0J3QsNC40YHRgtC40L3QsCDQu9C4INC40YHQutCw0YLQtSDQtNCwINC40LfRgtGA0LjQtdGC0LUg0LrQu9C+0L3QsCDigJ4lc+KAnD8iCiAKLSM6IGdpdGs6OTg2NgorIzogZ2l0azo5OTgwCiAjLCB0Y2wtZm9ybWF0CiBtc2dpZCAiVGFncyBhbmQgaGVhZHM6ICVzIgogbXNnc3RyICLQldGC0LjQutC10YLQuCDQuCDQstGK0YDRhdC+0LLQtTogJXMiCiAKLSM6IGdpdGs6OTg4MworIzogZ2l0azo5OTk3CiBtc2dpZCAiRmlsdGVyIgogbXNnc3RyICLQpNC40LvRgtGA0LjRgNCw0L3QtSIKIAotIzogZ2l0azoxMDE3OQorIzogZ2l0azoxMDI5MwogbXNnaWQgIiIKICJFcnJvciByZWFkaW5nIGNvbW1pdCB0b3BvbG9neSBpbmZvcm1hdGlvbjsgYnJhbmNoIGFuZCBwcmVjZWRpbmcvZm9sbG93aW5nICIKICJ0YWcgaW5mb3JtYXRpb24gd2lsbCBiZSBpbmNvbXBsZXRlLiIKQEAgLTExNjUsMjAxICsxMTkxLDIwMSBAQAogItCT0YDQtdGI0LrQsCDQv9GA0Lgg0L/RgNC+0YfQuNGC0LDQvdC10YLQviDQvdCwINGC0L7Qv9C+0LvQvtCz0LjRj9GC0LAg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwLiDQmNC90YTQvtGA0LzQsNGG0LjRj9GC0LAg0LfQsCDQutC70L7QvdCwICIKICLQuCDQv9GA0LXQtNGI0LXRgdGC0LLQsNGJ0LjRgtC1L9GB0LvQtdC00LLQsNGJ0LjRgtC1INC10YLQuNC60LXRgtC4INGJ0LUg0LUg0L3QtdC/0YrQu9C90LAuIgogCi0jOiBnaXRrOjExMTU2CisjOiBnaXRrOjExMjcwCiBtc2dpZCAiVGFnIgogbXNnc3RyICLQldGC0LjQutC10YIiCiAKLSM6IGdpdGs6MTExNjAKKyM6IGdpdGs6MTEyNzQKIG1zZ2lkICJJZCIKIG1zZ3N0ciAi0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAiCiAKLSM6IGdpdGs6MTEyNDMKKyM6IGdpdGs6MTEzNTcKIG1zZ2lkICJHaXRrIGZvbnQgY2hvb3NlciIKIG1zZ3N0ciAi0JjQt9Cx0L7RgCDQvdCwINGI0YDQuNGE0YIg0LfQsCBHaXRrIgogCi0jOiBnaXRrOjExMjYwCisjOiBnaXRrOjExMzc0CiBtc2dpZCAiQiIKIG1zZ3N0ciAi0KciCiAKLSM6IGdpdGs6MTEyNjMKKyM6IGdpdGs6MTEzNzcKIG1zZ2lkICJJIgogbXNnc3RyICLQmiIKIAotIzogZ2l0azoxMTM4MQorIzogZ2l0azoxMTQ5NQogbXNnaWQgIkNvbW1pdCBsaXN0IGRpc3BsYXkgb3B0aW9ucyIKIG1zZ3N0ciAi0J3QsNGB0YLRgNC+0LnQutC4INC90LAg0YHQv9C40YHRitC60LAg0YEg0L/QvtC00LDQstCw0L3QuNGPIgogCi0jOiBnaXRrOjExMzg0CisjOiBnaXRrOjExNDk4CiBtc2dpZCAiTWF4aW11bSBncmFwaCB3aWR0aCAobGluZXMpIgogbXNnc3RyICLQnNCw0LrRgdC40LzQsNC70L3QsCDRiNC40YDQvtGH0LjQvdCwINC90LAg0LPRgNCw0YTQsCAo0LIg0YDQtdC00L7QstC1KSIKIAotIzogZ2l0azoxMTM4OAorIzogZ2l0azoxMTUwMgogIywgbm8tdGNsLWZvcm1hdAogbXNnaWQgIk1heGltdW0gZ3JhcGggd2lkdGggKCUgb2YgcGFuZSkiCiBtc2dzdHIgItCc0LDQutGB0LjQvNCw0LvQvdCwINGI0LjRgNC+0YfQuNC90LAg0L3QsCDQs9GA0LDRhNCwICglINC+0YIg0L/QsNC90LXQu9CwKSIKIAotIzogZ2l0azoxMTM5MQorIzogZ2l0azoxMTUwNQogbXNnaWQgIlNob3cgbG9jYWwgY2hhbmdlcyIKIG1zZ3N0ciAi0J/QvtC60LDQt9Cy0LDQvdC1INC90LAg0LvQvtC60LDQu9C90LjRgtC1INC/0YDQvtC80LXQvdC4IgogCi0jOiBnaXRrOjExMzk0CisjOiBnaXRrOjExNTA4CiBtc2dpZCAiQXV0by1zZWxlY3QgU0hBMSAobGVuZ3RoKSIKIG1zZ3N0ciAi0JDQstGC0L7QvNCw0YLQuNGH0L3QviDQuNC30LHQuNGA0LDQvdC1INC90LAgU0hBMSAo0LTRitC70LbQuNC90LApIgogCi0jOiBnaXRrOjExMzk4CisjOiBnaXRrOjExNTEyCiBtc2dpZCAiSGlkZSByZW1vdGUgcmVmcyIKIG1zZ3N0ciAi0KHQutGA0LjQstCw0L3QtSDQvdCwINC+0YLQtNCw0LvQtdGH0LXQvdC40YLQtSDRg9C60LDQt9Cw0YLQtdC70LgiCiAKLSM6IGdpdGs6MTE0MDIKKyM6IGdpdGs6MTE1MTYKIG1zZ2lkICJEaWZmIGRpc3BsYXkgb3B0aW9ucyIKIG1zZ3N0ciAi0J3QsNGB0YLRgNC+0LnQutC4INC90LAg0L/QvtC60LDQt9Cy0LDQvdC10YLQviDQvdCwINGA0LDQt9C70LjQutC40YLQtSIKIAotIzogZ2l0azoxMTQwNAorIzogZ2l0azoxMTUxOAogbXNnaWQgIlRhYiBzcGFjaW5nIgogbXNnc3RyICLQqNC40YDQvtGH0LjQvdCwINC90LAg0YLQsNCx0YPQu9Cw0YLQvtGA0LAiCiAKLSM6IGdpdGs6MTE0MDcKKyM6IGdpdGs6MTE1MjEKIG1zZ2lkICJEaXNwbGF5IG5lYXJieSB0YWdzL2hlYWRzIgogbXNnc3RyICLQmNC30LLQtdC20LTQsNC90LUg0L3QsCDQsdC70LjQt9C60LjRgtC1INC10YLQuNC60LXRgtC4INC4INCy0YrRgNGF0L7QstC1IgogCi0jOiBnaXRrOjExNDEwCisjOiBnaXRrOjExNTI0CiBtc2dpZCAiTWF4aW11bSAjIHRhZ3MvaGVhZHMgdG8gc2hvdyIKIG1zZ3N0ciAi0JzQsNC60YHQuNC80LDQu9C10L0g0LHRgNC+0Lkg0LXRgtC40LrQtdGC0Lgv0LLRitGA0YXQvtCy0LUg0LfQsCDQv9C+0LrQsNC30LLQsNC90LUiCiAKLSM6IGdpdGs6MTE0MTMKKyM6IGdpdGs6MTE1MjcKIG1zZ2lkICJMaW1pdCBkaWZmcyB0byBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgItCg0LDQt9C70LjQutCwINGB0LDQvNC+INCyINC40LfQsdGA0LDQvdC40YLQtSDQv9GK0YLQuNGJ0LAiCiAKLSM6IGdpdGs6MTE0MTYKKyM6IGdpdGs6MTE1MzAKIG1zZ2lkICJTdXBwb3J0IHBlci1maWxlIGVuY29kaW5ncyIKIG1zZ3N0ciAi0J/QvtC00LTRgNGK0LbQutCwINC90LAg0YDQsNC30LvQuNGH0L3QuCDQutC+0LTQuNGA0LDQvdC40Y8g0LfQsCDQstGB0LXQutC4INGE0LDQudC7IgogCi0jOiBnaXRrOjExNDIyIGdpdGs6MTE1NjkKKyM6IGdpdGs6MTE1MzYgZ2l0azoxMTY4MwogbXNnaWQgIkV4dGVybmFsIGRpZmYgdG9vbCIKIG1zZ3N0ciAi0JLRitC90YjQtdC9INC40L3RgdGC0YDRg9C80LXQvdGCINC30LAg0YDQsNC30LvQuNC60LgiCiAKLSM6IGdpdGs6MTE0MjMKKyM6IGdpdGs6MTE1MzcKIG1zZ2lkICJDaG9vc2UuLi4iCiBtc2dzdHIgItCY0LfQsdC+0YDigKYiCiAKLSM6IGdpdGs6MTE0MjgKKyM6IGdpdGs6MTE1NDIKIG1zZ2lkICJHZW5lcmFsIG9wdGlvbnMiCiBtc2dzdHIgItCe0LHRidC4INC90LDRgdGC0YDQvtC50LrQuCIKIAotIzogZ2l0azoxMTQzMQorIzogZ2l0azoxMTU0NQogbXNnaWQgIlVzZSB0aGVtZWQgd2lkZ2V0cyIKIG1zZ3N0ciAi0JjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRgtC10LzQsCDQt9CwINCz0YDQsNGE0LjRh9C90LjRgtC1INC+0LHQtdC60YLQuCIKIAotIzogZ2l0azoxMTQzMworIzogZ2l0azoxMTU0NwogbXNnaWQgIihjaGFuZ2UgcmVxdWlyZXMgcmVzdGFydCkiCiBtc2dzdHIgIijQv9GA0L7QvNGP0L3QsNGC0LAg0LjQt9C40YHQutCy0LAg0YDQtdGB0YLQsNGA0YLQuNGA0LDQvdC1INC90LAgR2l0aykiCiAKLSM6IGdpdGs6MTE0MzUKKyM6IGdpdGs6MTE1NDkKIG1zZ2lkICIoY3VycmVudGx5IHVuYXZhaWxhYmxlKSIKIG1zZ3N0ciAiKNCyINC80L7QvNC10L3RgtCwINC90LXQtNC+0YHRgtGK0L/QvdC+KSIKIAotIzogZ2l0azoxMTQ0NgorIzogZ2l0azoxMTU2MAogbXNnaWQgIkNvbG9yczogcHJlc3MgdG8gY2hvb3NlIgogbXNnc3RyICLQptCy0LXRgtC+0LLQtTog0LjQt9Cx0LjRgNCwINGB0LUg0YEg0L3QsNGC0LjRgdC60LDQvdC1IgogCi0jOiBnaXRrOjExNDQ5CisjOiBnaXRrOjExNTYzCiBtc2dpZCAiSW50ZXJmYWNlIgogbXNnc3RyICLQmNC90YLQtdGA0YTQtdC50YEiCiAKLSM6IGdpdGs6MTE0NTAKKyM6IGdpdGs6MTE1NjQKIG1zZ2lkICJpbnRlcmZhY2UiCiBtc2dzdHIgItC40L3RgtC10YDRhNC10LnRgSIKIAotIzogZ2l0azoxMTQ1MworIzogZ2l0azoxMTU2NwogbXNnaWQgIkJhY2tncm91bmQiCiBtc2dzdHIgItCk0L7QvSIKIAotIzogZ2l0azoxMTQ1NCBnaXRrOjExNDg0CisjOiBnaXRrOjExNTY4IGdpdGs6MTE1OTgKIG1zZ2lkICJiYWNrZ3JvdW5kIgogbXNnc3RyICLRhNC+0L0iCiAKLSM6IGdpdGs6MTE0NTcKKyM6IGdpdGs6MTE1NzEKIG1zZ2lkICJGb3JlZ3JvdW5kIgogbXNnc3RyICLQl9C90LDRhtC4IgogCi0jOiBnaXRrOjExNDU4CisjOiBnaXRrOjExNTcyCiBtc2dpZCAiZm9yZWdyb3VuZCIKIG1zZ3N0ciAi0LfQvdCw0YbQuCIKIAotIzogZ2l0azoxMTQ2MQorIzogZ2l0azoxMTU3NQogbXNnaWQgIkRpZmY6IG9sZCBsaW5lcyIKIG1zZ3N0ciAi0KDQsNC30LvQuNC60LA6INGB0YLQsNGA0Lgg0YDQtdC00L7QstC1IgogCi0jOiBnaXRrOjExNDYyCisjOiBnaXRrOjExNTc2CiBtc2dpZCAiZGlmZiBvbGQgbGluZXMiCiBtc2dzdHIgItGA0LDQt9C70LjQutCwLCDRgdGC0LDRgNC4INGA0LXQtNC+0LLQtSIKIAotIzogZ2l0azoxMTQ2NgorIzogZ2l0azoxMTU4MAogbXNnaWQgIkRpZmY6IG5ldyBsaW5lcyIKIG1zZ3N0ciAi0KDQsNC30LvQuNC60LA6INC90L7QstC4INGA0LXQtNC+0LLQtSIKIAotIzogZ2l0azoxMTQ2NworIzogZ2l0azoxMTU4MQogbXNnaWQgImRpZmYgbmV3IGxpbmVzIgogbXNnc3RyICLRgNCw0LfQu9C40LrQsCwg0L3QvtCy0Lgg0YDQtdC00L7QstC1IgogCi0jOiBnaXRrOjExNDcxCisjOiBnaXRrOjExNTg1CiBtc2dpZCAiRGlmZjogaHVuayBoZWFkZXIiCiBtc2dzdHIgItCg0LDQt9C70LjQutCwOiDQvdCw0YfQsNC70L4g0L3QsCDQv9Cw0YDRh9C1IgogCi0jOiBnaXRrOjExNDczCisjOiBnaXRrOjExNTg3CiBtc2dpZCAiZGlmZiBodW5rIGhlYWRlciIKIG1zZ3N0ciAi0YDQsNC30LvQuNC60LAsINC90LDRh9Cw0LvQviDQvdCwINC/0LDRgNGH0LUiCiAKLSM6IGdpdGs6MTE0NzcKKyM6IGdpdGs6MTE1OTEKIG1zZ2lkICJNYXJrZWQgbGluZSBiZyIKIG1zZ3N0ciAi0KTQvtC9INC90LAg0L7RgtCx0LXQu9GP0LfQsNC9INGA0LXQtCIKIAotIzogZ2l0azoxMTQ3OQorIzogZ2l0azoxMTU5MwogbXNnaWQgIm1hcmtlZCBsaW5lIGJhY2tncm91bmQiCiBtc2dzdHIgItGE0L7QvSDQvdCwINC+0YLQsdC10LvRj9C30LDQvSDRgNC10LQiCiAKLSM6IGdpdGs6MTE0ODMKKyM6IGdpdGs6MTE1OTcKIG1zZ2lkICJTZWxlY3QgYmciCiBtc2dzdHIgItCY0LfQsdC+0YAg0L3QsCDRhNC+0L0iCiAKLSM6IGdpdGs6MTE0OTIKKyM6IGdpdGs6MTE2MDYKIG1zZ2lkICJGb250czogcHJlc3MgdG8gY2hvb3NlIgogbXNnc3RyICLQqNGA0LjRhNGC0L7QstC1OiDQuNC30LHQuNGA0LAg0YHQtSDRgSDQvdCw0YLQuNGB0LrQsNC90LUiCiAKLSM6IGdpdGs6MTE0OTQKKyM6IGdpdGs6MTE2MDgKIG1zZ2lkICJNYWluIGZvbnQiCiBtc2dzdHIgItCe0YHQvdC+0LLQtdC9INGI0YDQuNGE0YIiCiAKLSM6IGdpdGs6MTE0OTUKKyM6IGdpdGs6MTE2MDkKIG1zZ2lkICJEaWZmIGRpc3BsYXkgZm9udCIKIG1zZ3N0ciAi0KjRgNC40YTRgiDQt9CwINGA0LDQt9C70LjQutC40YLQtSIKIAotIzogZ2l0azoxMTQ5NgorIzogZ2l0azoxMTYxMAogbXNnaWQgIlVzZXIgaW50ZXJmYWNlIGZvbnQiCiBtc2dzdHIgItCo0YDQuNGE0YIg0L3QsCDQuNC90YLQtdGA0YTQtdC50YHQsCIKIAotIzogZ2l0azoxMTUxOAorIzogZ2l0azoxMTYzMgogbXNnaWQgIkdpdGsgcHJlZmVyZW5jZXMiCiBtc2dzdHIgItCd0LDRgdGC0YDQvtC50LrQuCDQvdCwIEdpdGsiCiAKLSM6IGdpdGs6MTE1MjcKKyM6IGdpdGs6MTE2NDEKIG1zZ2lkICJHZW5lcmFsIgogbXNnc3RyICLQntCx0YnQuCIKIAotIzogZ2l0azoxMTUyOAorIzogZ2l0azoxMTY0MgogbXNnaWQgIkNvbG9ycyIKIG1zZ3N0ciAi0KbQstC10YLQvtCy0LUiCiAKLSM6IGdpdGs6MTE1MjkKKyM6IGdpdGs6MTE2NDMKIG1zZ2lkICJGb250cyIKIG1zZ3N0ciAi0KjRgNC40YTRgtC+0LLQtSIKIAotIzogZ2l0azoxMTU3OQorIzogZ2l0azoxMTY5MwogIywgdGNsLWZvcm1hdAogbXNnaWQgIkdpdGs6IGNob29zZSBjb2xvciBmb3IgJXMiCiBtc2dzdHIgIkdpdGs6INC40LfQsdC+0YAg0L3QsCDRhtCy0Y/RgiDQvdCwIOKAniVz4oCcIgogCi0jOiBnaXRrOjEyMDkyCisjOiBnaXRrOjEyMjA2CiBtc2dpZCAiIgogIlNvcnJ5LCBnaXRrIGNhbm5vdCBydW4gd2l0aCB0aGlzIHZlcnNpb24gb2YgVGNsL1RrLlxuIgogIiBHaXRrIHJlcXVpcmVzIGF0IGxlYXN0IFRjbC9UayA4LjQuIgpAQCAtMTM2NywxNSArMTM5MywxNSBAQAogItCi0LDQt9C4INCy0LXRgNGB0LjRjyDQvdCwIFRjbC9UayDQvdC1INGB0LUg0L/QvtC00LTRitGA0LbQsCDQvtGCIEdpdGsuXG4iCiAiINCd0LXQvtCx0YXQvtC00LjQvNCwINCy0Lgg0LUg0L/QvtC90LUgVGNsL1RrIDguNC4iCiAKLSM6IGdpdGs6MTIzMDIKKyM6IGdpdGs6MTI0MTYKIG1zZ2lkICJDYW5ub3QgZmluZCBhIGdpdCByZXBvc2l0b3J5IGhlcmUuIgogbXNnc3RyICLQotGD0Log0LvQuNC/0YHQstCwINGF0YDQsNC90LjQu9C40YnQtSDQvdCwIEdpdC4iCiAKLSM6IGdpdGs6MTIzNDkKKyM6IGdpdGs6MTI0NjMKICMsIHRjbC1mb3JtYXQKIG1zZ2lkICJBbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogYm90aCByZXZpc2lvbiBhbmQgZmlsZW5hbWUiCiBtc2dzdHIgItCd0LXQtdC00L3QvtC30L3QsNGH0LXQvSDQsNGA0LPRg9C80LXQvdGCIOKAniVz4oCcOiDQuNC80LAg0Lgg0YLQsNC60LDQstCwINCy0LXRgNGB0LjRjywg0Lgg0YLQsNC60YrQsiDRhNCw0LnQuyIKIAotIzogZ2l0azoxMjM2MQorIzogZ2l0azoxMjQ3NQogbXNnaWQgIkJhZCBhcmd1bWVudHMgdG8gZ2l0azoiCiBtc2dzdHIgItCd0LXQv9GA0LDQstC40LvQvdC4INCw0YDQs9GD0LzQtdC90YLQuCDQvdCwIGdpdGs6IgpkaWZmIC0tZ2l0IGEvZ2l0ay1naXQvcG8vemhfY24ucG8gYi9naXRrLWdpdC9wby96aF9jbi5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2I3Zjg5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2l0ay1naXQvcG8vemhfY24ucG8KQEAgLTAsMCArMSwxMzY3IEBACisjIFRyYW5zbGF0aW9uIG9mIGdpdGsgdG8gU2ltcGxpZmllZCBDaGluZXNlLgorIworIyBUcmFuc2xhdG9yczoKKyMgWWFuS2UgPGlteWFua2VAMTYzLmNvbT4sIDIwMTcKKworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogR2l0IENoaW5lc2UgTG9jYWxpemF0aW9uIFByb2plY3RcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTctMDItMjggMjM6MTErMDgwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTctMDMtMTEgMDI6MjcrMDgwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogWWFuS2UgPGlteWFua2VAMTYzLmNvbT5cbiIKKyJMYW5ndWFnZS1UZWFtOiBDaGluZXNlXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiTGFuZ3VhZ2U6IHpoX0NOXG4iCisKKyM6IGdpdGs6MTQwCittc2dpZCAiQ291bGRuJ3QgZ2V0IGxpc3Qgb2YgdW5tZXJnZWQgZmlsZXM6IgorbXNnc3RyICLkuI3og73ojrflj5bmnKrlkIjlubbmlofku7bliJfooajvvJoiCisKKyM6IGdpdGs6MjEyIGdpdGs6MjQwMworbXNnaWQgIkNvbG9yIHdvcmRzIgorbXNnc3RyICLnnYDoibLmmL7npLrlt67lvIIiCisKKyM6IGdpdGs6MjE3IGdpdGs6MjQwMyBnaXRrOjgyNDkgZ2l0azo4MjgyCittc2dpZCAiTWFya3VwIHdvcmRzIgorbXNnc3RyICLmoIforrDmmL7npLrlt67lvIIiCisKKyM6IGdpdGs6MzI0Cittc2dpZCAiRXJyb3IgcGFyc2luZyByZXZpc2lvbnM6IgorbXNnc3RyICLop6PmnpDniYjmnKzplJnor6/vvJoiCisKKyM6IGdpdGs6MzgwCittc2dpZCAiRXJyb3IgZXhlY3V0aW5nIC0tYXJnc2NtZCBjb21tYW5kOiIKK21zZ3N0ciAi6L+Q6KGMIC0tYXJnc2NtZOWRveS7pOWHuumUmSIKKworIzogZ2l0azozOTMKK21zZ2lkICJObyBmaWxlcyBzZWxlY3RlZDogLS1tZXJnZSBzcGVjaWZpZWQgYnV0IG5vIGZpbGVzIGFyZSB1bm1lcmdlZC4iCittc2dzdHIgIuayoeaciemAieS4reaWh+S7tu+8mi0t5oyH5a6abWVyZ2Xlj4LmlbDkvYbmsqHmnInmnKrlkIjlubbnmoTmlofku7bjgIIiCisKKyM6IGdpdGs6Mzk2Cittc2dpZCAiIgorIk5vIGZpbGVzIHNlbGVjdGVkOiAtLW1lcmdlIHNwZWNpZmllZCBidXQgbm8gdW5tZXJnZWQgZmlsZXMgYXJlIHdpdGhpbiBmaWxlICIKKyJsaW1pdC4iCittc2dzdHIgIuayoeaciemAieS4reaWh+S7tu+8mi0t5oyH5a6abWVyZ2Xlj4LmlbDkvYbmsqHmnInmnKrlkIjlubbnmoTmlofku7blnKjmlofku7bkuK0iCisKKyM6IGdpdGs6NDE4IGdpdGs6NTY2Cittc2dpZCAiRXJyb3IgZXhlY3V0aW5nIGdpdCBsb2c6IgorbXNnc3RyICLmiafooYxnaXQgbG9n5ZG95Luk5Ye66ZSZ77yaIgorCisjOiBnaXRrOjQzNiBnaXRrOjU4MgorbXNnaWQgIlJlYWRpbmciCittc2dzdHIgIuivu+WPluS4rSIKKworIzogZ2l0azo0OTYgZ2l0azo0NTQ5Cittc2dpZCAiUmVhZGluZyBjb21taXRzLi4uIgorbXNnc3RyICLmj5DkuqTorrDlvZXor7vlj5bkuK0uLi4iCisKKyM6IGdpdGs6NDk5IGdpdGs6MTY0MSBnaXRrOjQ1NTIKK21zZ2lkICJObyBjb21taXRzIHNlbGVjdGVkIgorbXNnc3RyICLmnKrpgInkuK3ku7vkvZXmj5DkuqQiCisKKyM6IGdpdGs6MTQ0OSBnaXRrOjQwNjkgZ2l0azoxMjU4MworbXNnaWQgIkNvbW1hbmQgbGluZSIKK21zZ3N0ciAi5ZG95Luk6KGMIgorCisjOiBnaXRrOjE1MTUKK21zZ2lkICJDYW4ndCBwYXJzZSBnaXQgbG9nIG91dHB1dDoiCittc2dzdHIgIuS4jeiDveino+aekGdpdCBsb2fovpPlh7rvvJoiCisKKyM6IGdpdGs6MTc0NAorbXNnaWQgIk5vIGNvbW1pdCBpbmZvcm1hdGlvbiBhdmFpbGFibGUiCittc2dzdHIgIuaXoOWPr+eUqOaPkOS6pOS/oeaBryIKKworIzogZ2l0azoxOTA3IGdpdGs6MTkzNiBnaXRrOjQzMzkgZ2l0azo5Nzg5IGdpdGs6MTEzODggZ2l0azoxMTY2OAorbXNnaWQgIk9LIgorbXNnc3RyICLnoa7lrpoiCisKKyM6IGdpdGs6MTkzOCBnaXRrOjQzNDEgZ2l0azo5MjI1IGdpdGs6OTMwNCBnaXRrOjk0MzQgZ2l0azo5NTIwIGdpdGs6OTc5MQorIzogZ2l0azoxMTM4OSBnaXRrOjExNjY5Cittc2dpZCAiQ2FuY2VsIgorbXNnc3RyICLlj5bmtogiCisKKyM6IGdpdGs6MjA4NworbXNnaWQgIiZVcGRhdGUiCittc2dzdHIgIuabtOaWsCIKKworIzogZ2l0azoyMDg4Cittc2dpZCAiJlJlbG9hZCIKK21zZ3N0ciAi6YeN5paw5Yqg6L29IgorCisjOiBnaXRrOjIwODkKK21zZ2lkICJSZXJlYWQgcmUmZmVyZW5jZXMiCittc2dzdHIgIumHjeaWsOivu+WPluW8leeUqCIKKworIzogZ2l0azoyMDkwCittc2dpZCAiJkxpc3QgcmVmZXJlbmNlcyIKK21zZ3N0ciAi5YiX5Ye65byV55SoKOWIhuaUr+S7peWPinRhZykiCisKKyM6IGdpdGs6MjA5MgorbXNnaWQgIlN0YXJ0IGdpdCAmZ3VpIgorbXNnc3RyICLlkK/liqhnaXQgZ3Vp5a6i5oi356uvIgorCisjOiBnaXRrOjIwOTQKK21zZ2lkICImUXVpdCIKK21zZ3N0ciAi6YCA5Ye6IgorCisjOiBnaXRrOjIwODYKK21zZ2lkICImRmlsZSIKK21zZ3N0ciAi5paH5Lu2IgorCisjOiBnaXRrOjIwOTgKK21zZ2lkICImUHJlZmVyZW5jZXMiCittc2dzdHIgIuWBj+Wlveiuvue9riIKKworIzogZ2l0azoyMDk3Cittc2dpZCAiJkVkaXQiCittc2dzdHIgIue8lui+kSIKKworIzogZ2l0azoyMTAyCittc2dpZCAiJk5ldyB2aWV3Li4uIgorbXNnc3RyICLmlrDop4blm74uLi4iCisKKyM6IGdpdGs6MjEwMworbXNnaWQgIiZFZGl0IHZpZXcuLi4iCittc2dzdHIgIue8lui+keinhuWbvi4uLiIKKworIzogZ2l0azoyMTA0Cittc2dpZCAiJkRlbGV0ZSB2aWV3IgorbXNnc3RyICLliKDpmaTop4blm74iCisKKyM6IGdpdGs6MjEwNgorbXNnaWQgIiZBbGwgZmlsZXMiCittc2dzdHIgIuaJgOacieaWh+S7tiIKKworIzogZ2l0azoyMTAxCittc2dpZCAiJlZpZXciCittc2dzdHIgIuinhuWbviIKKworIzogZ2l0azoyMTExIGdpdGs6MjEyMQorbXNnaWQgIiZBYm91dCBnaXRrIgorbXNnc3RyICLlhbPkuo5naXRrIgorCisjOiBnaXRrOjIxMTIgZ2l0azoyMTI2Cittc2dpZCAiJktleSBiaW5kaW5ncyIKK21zZ3N0ciAi5b+r5o236ZSuIgorCisjOiBnaXRrOjIxMTAgZ2l0azoyMTI1Cittc2dpZCAiJkhlbHAiCittc2dzdHIgIuW4ruWKqSIKKworIzogZ2l0azoyMjAzIGdpdGs6ODY4MQorbXNnaWQgIlNIQTEgSUQ6IgorbXNnc3RyICJTSEExIElE77yaIgorCisjOiBnaXRrOjIyNDcKK21zZ2lkICJSb3ciCittc2dzdHIgIuihjCIKKworIzogZ2l0azoyMjg1Cittc2dpZCAiRmluZCIKK21zZ3N0ciAi5p+l5om+IgorCisjOiBnaXRrOjIzMTMKK21zZ2lkICJjb21taXQiCittc2dzdHIgIuaPkOS6pCIKKworIzogZ2l0azoyMzE3IGdpdGs6MjMxOSBnaXRrOjQ3MTEgZ2l0azo0NzM0IGdpdGs6NDc1OCBnaXRrOjY3NzkgZ2l0azo2ODUxCisjOiBnaXRrOjY5MzYKK21zZ2lkICJjb250YWluaW5nOiIKK21zZ3N0ciAi5YyF5ZCr77yaIgorCisjOiBnaXRrOjIzMjAgZ2l0azozNTUwIGdpdGs6MzU1NSBnaXRrOjQ3ODcKK21zZ2lkICJ0b3VjaGluZyBwYXRoczoiCittc2dzdHIgIuW9seWTjei3r+W+hO+8miIKKworIzogZ2l0azoyMzIxIGdpdGs6NDgwMQorbXNnaWQgImFkZGluZy9yZW1vdmluZyBzdHJpbmc6IgorbXNnc3RyICLlop7liqAv5Yig6Zmk5a2X56ym5Liy77yaIgorCisjOiBnaXRrOjIzMjIgZ2l0azo0ODAzCittc2dpZCAiY2hhbmdpbmcgbGluZXMgbWF0Y2hpbmc6IgorbXNnc3RyICLmlLnlj5jooYzljLnphY3vvJoiCisKKyM6IGdpdGs6MjMzMSBnaXRrOjIzMzMgZ2l0azo0NzkwCittc2dpZCAiRXhhY3QiCittc2dzdHIgIueyvuehruWMuemFjSIKKworIzogZ2l0azoyMzMzIGdpdGs6NDg3OCBnaXRrOjY3NDcKK21zZ2lkICJJZ25DYXNlIgorbXNnc3RyICLlv73nlaXlpKflsI/lhpkiCisKKyM6IGdpdGs6MjMzMyBnaXRrOjQ3NjAgZ2l0azo0ODc2IGdpdGs6Njc0MworbXNnaWQgIlJlZ2V4cCIKK21zZ3N0ciAi5q2j5YiZIgorCisjOiBnaXRrOjIzMzUgZ2l0azoyMzM2IGdpdGs6NDg5OCBnaXRrOjQ5MjggZ2l0azo0OTM1IGdpdGs6Njg3MiBnaXRrOjY5NDAKK21zZ2lkICJBbGwgZmllbGRzIgorbXNnc3RyICLmiYDmnInlrZfmrrUiCisKKyM6IGdpdGs6MjMzNiBnaXRrOjQ4OTUgZ2l0azo0OTI4IGdpdGs6NjgxMAorbXNnaWQgIkhlYWRsaW5lIgorbXNnc3RyICLmoIfpopgiCisKKyM6IGdpdGs6MjMzNyBnaXRrOjQ4OTUgZ2l0azo2ODEwIGdpdGs6Njk0MCBnaXRrOjc0MTMKK21zZ2lkICJDb21tZW50cyIKK21zZ3N0ciAi5o+Q5Lqk5rOo6YeKIgorCisjOiBnaXRrOjIzMzcgZ2l0azo0ODk1IGdpdGs6NDkwMCBnaXRrOjQ5MzUgZ2l0azo2ODEwIGdpdGs6NzM0OCBnaXRrOjg4NTkKKyM6IGdpdGs6ODg3NAorbXNnaWQgIkF1dGhvciIKK21zZ3N0ciAi5L2c6ICFIgorCisjOiBnaXRrOjIzMzcgZ2l0azo0ODk1IGdpdGs6NjgxMCBnaXRrOjczNTAKK21zZ2lkICJDb21taXR0ZXIiCittc2dzdHIgIuaPkOS6pOiAhSIKKworIzogZ2l0azoyMzcxCittc2dpZCAiU2VhcmNoIgorbXNnc3RyICLmkJzntKIiCisKKyM6IGdpdGs6MjM3OQorbXNnaWQgIkRpZmYiCittc2dzdHIgIuW3ruW8giIKKworIzogZ2l0azoyMzgxCittc2dpZCAiT2xkIHZlcnNpb24iCittc2dzdHIgIuiAgeeJiOacrCIKKworIzogZ2l0azoyMzgzCittc2dpZCAiTmV3IHZlcnNpb24iCittc2dzdHIgIuaWsOeJiOacrCIKKworIzogZ2l0azoyMzg2Cittc2dpZCAiTGluZXMgb2YgY29udGV4dCIKK21zZ3N0ciAiRGlmZuS4iuS4i+aWh+aYvuekuuihjOaVsCIKKworIzogZ2l0azoyMzk2Cittc2dpZCAiSWdub3JlIHNwYWNlIGNoYW5nZSIKK21zZ3N0ciAi5b+955Wl56m65qC85L+u5pS5IgorCisjOiBnaXRrOjI0MDAgZ2l0azoyNDAyIGdpdGs6Nzk4MyBnaXRrOjgyMzUKK21zZ2lkICJMaW5lIGRpZmYiCittc2dzdHIgIuaMieihjOaYvuekuuW3ruW8giIKKworIzogZ2l0azoyNDY3Cittc2dpZCAiUGF0Y2giCittc2dzdHIgIuihpeS4gSIKKworIzogZ2l0azoyNDY5Cittc2dpZCAiVHJlZSIKK21zZ3N0ciAi5qCRIgorCisjOiBnaXRrOjI2MzkgZ2l0azoyNjYwCittc2dpZCAiRGlmZiB0aGlzIC0+IHNlbGVjdGVkIgorbXNnc3RyICLmr5TovoPku47lvZPliY3mj5DkuqTliLDpgInkuK3mj5DkuqTnmoTlt67lvIIiCisKKyM6IGdpdGs6MjY0MCBnaXRrOjI2NjEKK21zZ2lkICJEaWZmIHNlbGVjdGVkIC0+IHRoaXMiCittc2dzdHIgIuavlOi+g+S7jumAieS4reaPkOS6pOWIsOW9k+WJjeaPkOS6pOeahOW3ruW8giIKKworIzogZ2l0azoyNjQxIGdpdGs6MjY2MgorbXNnaWQgIk1ha2UgcGF0Y2giCittc2dzdHIgIuWItuS9nOihpeS4gSIKKworIzogZ2l0azoyNjQyIGdpdGs6OTI4MworbXNnaWQgIkNyZWF0ZSB0YWciCittc2dzdHIgIuWIm+W7unRhZyIKKworIzogZ2l0azoyNjQzCittc2dpZCAiQ29weSBjb21taXQgc3VtbWFyeSIKK21zZ3N0ciAi5aSN5Yi25o+Q5Lqk5pGY6KaBIgorCisjOiBnaXRrOjI2NDQgZ2l0azo5NDE0Cittc2dpZCAiV3JpdGUgY29tbWl0IHRvIGZpbGUiCittc2dzdHIgIuWGmeWFpeaPkOS6pOWIsOaWh+S7tiIKKworIzogZ2l0azoyNjQ1Cittc2dpZCAiQ3JlYXRlIG5ldyBicmFuY2giCittc2dzdHIgIuWIm+W7uuaWsOWIhuaUryIKKworIzogZ2l0azoyNjQ2Cittc2dpZCAiQ2hlcnJ5LXBpY2sgdGhpcyBjb21taXQiCittc2dzdHIgIuWcqOatpOaPkOS6pOi/kOeUqOihpeS4gShjaGVycnktcGljaynlkb3ku6QiCisKKyM6IGdpdGs6MjY0NworbXNnaWQgIlJlc2V0IEhFQUQgYnJhbmNoIHRvIGhlcmUiCittc2dzdHIgIuWwhuWIhuaUr+WktChIRUFEKemHjee9ruWIsOatpOWkhCIKKworIzogZ2l0azoyNjQ4Cittc2dpZCAiTWFyayB0aGlzIGNvbW1pdCIKK21zZ3N0ciAi5qCH6K6w5q2k5o+Q5LqkIgorCisjOiBnaXRrOjI2NDkKK21zZ2lkICJSZXR1cm4gdG8gbWFyayIKK21zZ3N0ciAi6L+U5Zue5Yiw5qCH6K6wIgorCisjOiBnaXRrOjI2NTAKK21zZ2lkICJGaW5kIGRlc2NlbmRhbnQgb2YgdGhpcyBhbmQgbWFyayIKK21zZ3N0ciAi5p+l5om+5pys5qyh5o+Q5Lqk55qE5a2Q5o+Q5Lqk5bm25qCH6K6wIgorCisjOiBnaXRrOjI2NTEKK21zZ2lkICJDb21wYXJlIHdpdGggbWFya2VkIGNvbW1pdCIKK21zZ3N0ciAi5ZKM5bey5qCH6K6w55qE5o+Q5Lqk5L2c5q+U6L6DIgorCisjOiBnaXRrOjI2NTIgZ2l0azoyNjYzCittc2dpZCAiRGlmZiB0aGlzIC0+IG1hcmtlZCBjb21taXQiCittc2dzdHIgIuavlOi+g+S7juW9k+WJjeaPkOS6pOWIsOW3suagh+iusOaPkOS6pOeahOW3ruW8giIKKworIzogZ2l0azoyNjUzIGdpdGs6MjY2NAorbXNnaWQgIkRpZmYgbWFya2VkIGNvbW1pdCAtPiB0aGlzIgorbXNnc3RyICLmr5TovoPku47lt7LmoIforrDmj5DkuqTliLDlvZPliY3mj5DkuqTnmoTlt67lvIIiCisKKyM6IGdpdGs6MjY1NAorbXNnaWQgIlJldmVydCB0aGlzIGNvbW1pdCIKK21zZ3N0ciAi5pKk6ZSAKHJldmVydCnmraTmj5DkuqQiCisKKyM6IGdpdGs6MjY3MAorbXNnaWQgIkNoZWNrIG91dCB0aGlzIGJyYW5jaCIKK21zZ3N0ciAi5qOA5Ye6KGNoZWNrb3V0KeatpOWIhuaUryIKKworIzogZ2l0azoyNjcxCittc2dpZCAiUmVuYW1lIHRoaXMgYnJhbmNoIgorbXNnc3RyICLph43lkb3lkI0oUmVuYW1lKeatpOWIhuaUryIKKworIzogZ2l0azoyNjcyCittc2dpZCAiUmVtb3ZlIHRoaXMgYnJhbmNoIgorbXNnc3RyICLliKDpmaQoUmVtb3ZlKeatpOWIhuaUryIKKworIzogZ2l0azoyNjczCittc2dpZCAiQ29weSBicmFuY2ggbmFtZSIKK21zZ3N0ciAi5aSN5Yi25YiG5pSv5ZCN56ewIgorCisjOiBnaXRrOjI2ODAKK21zZ2lkICJIaWdobGlnaHQgdGhpcyB0b28iCittc2dzdHIgIumrmOS6ruatpOWkhCIKKworIzogZ2l0azoyNjgxCittc2dpZCAiSGlnaGxpZ2h0IHRoaXMgb25seSIKK21zZ3N0ciAi5Y+q6auY5Lqu5q2k5aSEIgorCisjOiBnaXRrOjI2ODIKK21zZ2lkICJFeHRlcm5hbCBkaWZmIgorbXNnc3RyICLlpJbpg6hkaWZmIgorCisjOiBnaXRrOjI2ODMKK21zZ2lkICJCbGFtZSBwYXJlbnQgY29tbWl0IgorbXNnc3RyICJCbGFtZeeItuaPkOS6pCIKKworIzogZ2l0azoyNjg0Cittc2dpZCAiQ29weSBwYXRoIgorbXNnc3RyICLlpI3liLbot6/lvoQiCisKKyM6IGdpdGs6MjY5MQorbXNnaWQgIlNob3cgb3JpZ2luIG9mIHRoaXMgbGluZSIKK21zZ3N0ciAi5pi+56S65q2k6KGM5Y6f5aeL5o+Q5LqkIgorCisjOiBnaXRrOjI2OTIKK21zZ2lkICJSdW4gZ2l0IGd1aSBibGFtZSBvbiB0aGlzIGxpbmUiCittc2dzdHIgIuWcqOatpOihjOi/kOihjGdpdCBndWnlrqLmiLfnq6/nmoRibGFtZSIKKworIzogZ2l0azozMDM2Cittc2dpZCAiQWJvdXQgZ2l0ayIKK21zZ3N0ciAi5YWz5LqOZ2l0ayIKKworIzogZ2l0azozMDM4Cittc2dpZCAiIgorIlxuIgorIkdpdGsgLSBhIGNvbW1pdCB2aWV3ZXIgZm9yIGdpdFxuIgorIlxuIgorIkNvcHlyaWdodCDCqSAyMDA1LTIwMTYgUGF1bCBNYWNrZXJyYXNcbiIKKyJcbiIKKyJVc2UgYW5kIHJlZGlzdHJpYnV0ZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIgorbXNnc3RyICJcbkdpdGsg4oCUIOS4gOS4qmdpdOeahOaPkOS6pOafpeeci+WZqFxuXG7CqSAyMDA1LTIwMTYgUGF1bCBNYWNrZXJyYXNcblxu5ZyoR05V6K645Y+v6K+B5LiL5L2/55So5Lul5Y+K5YiG5Y+RIgorCisjOiBnaXRrOjMwNDYgZ2l0azozMTEzIGdpdGs6MTAwMDQKK21zZ2lkICJDbG9zZSIKK21zZ3N0ciAi5YWz6ZetIgorCisjOiBnaXRrOjMwNjcKK21zZ2lkICJHaXRrIGtleSBiaW5kaW5ncyIKK21zZ3N0ciAiR2l0a+W/q+aNt+mUriIKKworIzogZ2l0azozMDcwCittc2dpZCAiR2l0ayBrZXkgYmluZGluZ3M6IgorbXNnc3RyICJHaXRr5b+r5o236ZSu77yaIgorCisjOiBnaXRrOjMwNzIKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICI8JXMtUT5cdFx0UXVpdCIKK21zZ3N0ciAiPCVzLVE+XHRcdOmAgOWHuiIKKworIzogZ2l0azozMDczCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiPCVzLVc+XHRcdENsb3NlIHdpbmRvdyIKK21zZ3N0ciAiPCVzLVc+XHRcdOWFs+mXreeql+WPoyIKKworIzogZ2l0azozMDc0Cittc2dpZCAiPEhvbWU+XHRcdE1vdmUgdG8gZmlyc3QgY29tbWl0IgorbXNnc3RyICI8SG9tZT5cdFx056e75Yqo5Yiw56ys5LiA5qyh5o+Q5LqkIgorCisjOiBnaXRrOjMwNzUKK21zZ2lkICI8RW5kPlx0XHRNb3ZlIHRvIGxhc3QgY29tbWl0IgorbXNnc3RyICI8RW5kPlx0XHTnp7vliqjliLDmnIDlkI7kuIDmrKHmj5DkuqQiCisKKyM6IGdpdGs6MzA3NgorbXNnaWQgIjxVcD4sIHAsIGtcdE1vdmUgdXAgb25lIGNvbW1pdCIKK21zZ3N0ciAiPFVwPiwgcCwga1x056e75Yqo5Yiw5LiK5LiA5qyh5o+Q5LqkIgorCisjOiBnaXRrOjMwNzcKK21zZ2lkICI8RG93bj4sIG4sIGpcdE1vdmUgZG93biBvbmUgY29tbWl0IgorbXNnc3RyICI8RG93bj4sIG4sIGpcdOenu+WKqOWIsOS4i+S4gOasoeaPkOS6pCIKKworIzogZ2l0azozMDc4Cittc2dpZCAiPExlZnQ+LCB6LCBoXHRHbyBiYWNrIGluIGhpc3RvcnkgbGlzdCIKK21zZ3N0ciAiPExlZnQ+LCB6LCBoXHTljoblj7LliJfooajnmoTkuIrkuIDpobkiCisKKyM6IGdpdGs6MzA3OQorbXNnaWQgIjxSaWdodD4sIHgsIGxcdEdvIGZvcndhcmQgaW4gaGlzdG9yeSBsaXN0IgorbXNnc3RyICI8UmlnaHQ+LCB4LCBsXHTljoblj7LliJfooajnmoTkuIvkuIDpobkiCisKKyM6IGdpdGs6MzA4MAorIywgdGNsLWZvcm1hdAorbXNnaWQgIjwlcy1uPlx0R28gdG8gbi10aCBwYXJlbnQgb2YgY3VycmVudCBjb21taXQgaW4gaGlzdG9yeSBsaXN0IgorbXNnc3RyICI8JXMtbj5cdOWcqOWOhuWPsuWIl+ihqOS4reWJjeW+gOacrOasoeaPkOS6pOeahOesrG7kuKrniLbmj5DkuqQiCisKKyM6IGdpdGs6MzA4MQorbXNnaWQgIjxQYWdlVXA+XHRNb3ZlIHVwIG9uZSBwYWdlIGluIGNvbW1pdCBsaXN0IgorbXNnc3RyICI8UGFnZVVwPlx05LiK5LiA6aG15o+Q5Lqk5YiX6KGoIgorCisjOiBnaXRrOjMwODIKK21zZ2lkICI8UGFnZURvd24+XHRNb3ZlIGRvd24gb25lIHBhZ2UgaW4gY29tbWl0IGxpc3QiCittc2dzdHIgIjxQYWdlRG93bj5cdOS4i+S4gOmhteaPkOS6pOWIl+ihqCIKKworIzogZ2l0azozMDgzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiPCVzLUhvbWU+XHRTY3JvbGwgdG8gdG9wIG9mIGNvbW1pdCBsaXN0IgorbXNnc3RyICI8JXMtSG9tZT5cdOa7muWKqOWIsOaPkOS6pOWIl+ihqOmhtumDqCIKKworIzogZ2l0azozMDg0CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiPCVzLUVuZD5cdFNjcm9sbCB0byBib3R0b20gb2YgY29tbWl0IGxpc3QiCittc2dzdHIgIjwlcy1FbmQ+XHTmu5rliqjliLDmj5DkuqTliJfooajlupXpg6giCisKKyM6IGdpdGs6MzA4NQorIywgdGNsLWZvcm1hdAorbXNnaWQgIjwlcy1VcD5cdFNjcm9sbCBjb21taXQgbGlzdCB1cCBvbmUgbGluZSIKK21zZ3N0ciAiPCVzLVVwPlx05ZCR5LiK5rua5Yqo5LiA6KGM5o+Q5Lqk5YiX6KGoIgorCisjOiBnaXRrOjMwODYKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICI8JXMtRG93bj5cdFNjcm9sbCBjb21taXQgbGlzdCBkb3duIG9uZSBsaW5lIgorbXNnc3RyICI8JXMtRG93bj5cdOWQkeS4i+a7muWKqOS4gOihjOaPkOS6pOWIl+ihqCIKKworIzogZ2l0azozMDg3CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiPCVzLVBhZ2VVcD5cdFNjcm9sbCBjb21taXQgbGlzdCB1cCBvbmUgcGFnZSIKK21zZ3N0ciAiPCVzLVBhZ2VVcD5cdOWQkeS4iua7muWKqOS4gOmhteaPkOS6pOWIl+ihqCIKKworIzogZ2l0azozMDg4CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiPCVzLVBhZ2VEb3duPlx0U2Nyb2xsIGNvbW1pdCBsaXN0IGRvd24gb25lIHBhZ2UiCittc2dzdHIgIjwlcy1QYWdlRG93bj5cdOWQkeS4i+a7muWKqOS4gOmhteaPkOS6pOWIl+ihqCIKKworIzogZ2l0azozMDg5Cittc2dpZCAiPFNoaWZ0LVVwPlx0RmluZCBiYWNrd2FyZHMgKHVwd2FyZHMsIGxhdGVyIGNvbW1pdHMpIgorbXNnc3RyICI8U2hpZnQtVXA+XHTlkJHlkI7mn6Xmib4o5ZCR5LiK55qE77yM5pu05pma55qE5o+Q5LqkKSIKKworIzogZ2l0azozMDkwCittc2dpZCAiPFNoaWZ0LURvd24+XHRGaW5kIGZvcndhcmRzIChkb3dud2FyZHMsIGVhcmxpZXIgY29tbWl0cykiCittc2dzdHIgIjxTaGlmdC1Eb3duPlx05ZCR5YmN5p+l5om+KOWQkeS4i+eahO+8jOabtOaXqeeahOaPkOS6pCkiCisKKyM6IGdpdGs6MzA5MQorbXNnaWQgIjxEZWxldGU+LCBiXHRTY3JvbGwgZGlmZiB2aWV3IHVwIG9uZSBwYWdlIgorbXNnc3RyICI8RGVsZXRlPiwgYlx05ZCR5LiK5rua5YqoZGlmZuinhuWbvuS4gOmhtSIKKworIzogZ2l0azozMDkyCittc2dpZCAiPEJhY2tzcGFjZT5cdFNjcm9sbCBkaWZmIHZpZXcgdXAgb25lIHBhZ2UiCittc2dzdHIgIjxCYWNrc3BhY2U+XHTlkJHkuIrmu5rliqhkaWZm6KeG5Zu+5LiA6aG1IgorCisjOiBnaXRrOjMwOTMKK21zZ2lkICI8U3BhY2U+XHRcdFNjcm9sbCBkaWZmIHZpZXcgZG93biBvbmUgcGFnZSIKK21zZ3N0ciAiPFNwYWNlPlx0XHTlkJHkuIvmu5rliqhkaWZm6KeG5Zu+5LiA6aG1IgorCisjOiBnaXRrOjMwOTQKK21zZ2lkICJ1XHRcdFNjcm9sbCBkaWZmIHZpZXcgdXAgMTggbGluZXMiCittc2dzdHIgInVcdFx05ZCR5LiK5rua5YqoZGlmZuinhuWbvjE46KGMIgorCisjOiBnaXRrOjMwOTUKK21zZ2lkICJkXHRcdFNjcm9sbCBkaWZmIHZpZXcgZG93biAxOCBsaW5lcyIKK21zZ3N0ciAiZFx0XHTlkJHkuIvmu5rliqhkaWZm6KeG5Zu+MTjooYwiCisKKyM6IGdpdGs6MzA5NgorIywgdGNsLWZvcm1hdAorbXNnaWQgIjwlcy1GPlx0XHRGaW5kIgorbXNnc3RyICI8JXMtRj5cdFx05p+l5om+IgorCisjOiBnaXRrOjMwOTcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICI8JXMtRz5cdFx0TW92ZSB0byBuZXh0IGZpbmQgaGl0IgorbXNnc3RyICI8JXMtRz5cdFx056e75Yqo5Yiw5LiL5LiA5qyh5p+l5om+5ZG95LitIgorCisjOiBnaXRrOjMwOTgKK21zZ2lkICI8UmV0dXJuPlx0TW92ZSB0byBuZXh0IGZpbmQgaGl0IgorbXNnc3RyICI8UmV0dXJuPlx0XHTnp7vliqjliLDkuIvkuIDmrKHmn6Xmib7lkb3kuK0iCisKKyM6IGdpdGs6MzA5OQorbXNnaWQgImdcdFx0R28gdG8gY29tbWl0IgorbXNnc3RyICJnXHRcdOi9rOWIsOaPkOS6pCIKKworIzogZ2l0azozMTAwCittc2dpZCAiL1x0XHRGb2N1cyB0aGUgc2VhcmNoIGJveCIKK21zZ3N0ciAiL1x0XHTpgInkuK3mkJzntKLmoYYiCisKKyM6IGdpdGs6MzEwMQorbXNnaWQgIj9cdFx0TW92ZSB0byBwcmV2aW91cyBmaW5kIGhpdCIKK21zZ3N0ciAiP1x0XHTnp7vliqjliLDkuIrkuIDmrKHmn6Xmib7lkb3kuK0iCisKKyM6IGdpdGs6MzEwMgorbXNnaWQgImZcdFx0U2Nyb2xsIGRpZmYgdmlldyB0byBuZXh0IGZpbGUiCittc2dzdHIgImZcdFx05rua5YqoZGlmZuinhuWbvuWIsOS4i+S4gOS4quaWh+S7tiIKKworIzogZ2l0azozMTAzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiPCVzLVM+XHRcdFNlYXJjaCBmb3IgbmV4dCBoaXQgaW4gZGlmZiB2aWV3IgorbXNnc3RyICI8JXMtUz5cdFx05ZyoZGlmZuinhuWbvuS4reafpeaJvuS4i+S4gOatpOWRveS4rSIKKworIzogZ2l0azozMTA0CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiPCVzLVI+XHRcdFNlYXJjaCBmb3IgcHJldmlvdXMgaGl0IGluIGRpZmYgdmlldyIKK21zZ3N0ciAiPCVzLVI+XHRcdOWcqGRpZmbop4blm77kuK3mn6Xmib7kuIrkuIDmrKHlkb3kuK0iCisKKyM6IGdpdGs6MzEwNQorIywgdGNsLWZvcm1hdAorbXNnaWQgIjwlcy1LUCs+XHRJbmNyZWFzZSBmb250IHNpemUiCittc2dzdHIgIjwlcy1LUCs+XHTlop7lpKflrZfkvZPlpKflsI8iCisKKyM6IGdpdGs6MzEwNgorIywgdGNsLWZvcm1hdAorbXNnaWQgIjwlcy1wbHVzPlx0SW5jcmVhc2UgZm9udCBzaXplIgorbXNnc3RyICI8JXMtcGx1cz5cdOWinuWkp+Wtl+S9k+Wkp+WwjyIKKworIzogZ2l0azozMTA3CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiPCVzLUtQLT5cdERlY3JlYXNlIGZvbnQgc2l6ZSIKK21zZ3N0ciAiPCVzLUtQLT5cdOWHj+Wwj+Wtl+S9k+Wkp+WwjyIKKworIzogZ2l0azozMTA4CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiPCVzLW1pbnVzPlx0RGVjcmVhc2UgZm9udCBzaXplIgorbXNnc3RyICI8JXMtbWludXM+XHTlh4/lsI/lrZfkvZPlpKflsI8iCisKKyM6IGdpdGs6MzEwOQorbXNnaWQgIjxGNT5cdFx0VXBkYXRlIgorbXNnc3RyICI8RjU+XHRcdOabtOaWsCIKKworIzogZ2l0azozNTc0IGdpdGs6MzU4MworIywgdGNsLWZvcm1hdAorbXNnaWQgIkVycm9yIGNyZWF0aW5nIHRlbXBvcmFyeSBkaXJlY3RvcnkgJXM6IgorbXNnc3RyICLliJvlu7rkuLTml7bnm67lvZXlh7rplJklc++8miIKKworIzogZ2l0azozNTk2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRXJyb3IgZ2V0dGluZyBcIiVzXCIgZnJvbSAlczoiCittc2dzdHIgIuS7jiVz6I635Y+WXCIlc1wi5Ye66ZSZ77yaIgorCisjOiBnaXRrOjM2NTkKK21zZ2lkICJjb21tYW5kIGZhaWxlZDoiCittc2dzdHIgIuaJp+ihjOWRveS7pOWksei0pe+8miIKKworIzogZ2l0azozODA4Cittc2dpZCAiTm8gc3VjaCBjb21taXQiCittc2dzdHIgIuaXoOatpOaPkOS6pCIKKworIzogZ2l0azozODIyCittc2dpZCAiZ2l0IGd1aSBibGFtZTogY29tbWFuZCBmYWlsZWQ6IgorbXNnc3RyICJnaXQgZ3VpIGJsYW1l77ya5omn6KGM5ZG95Luk5aSx6LSl77yaIgorCisjOiBnaXRrOjM4NTMKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJDb3VsZG4ndCByZWFkIG1lcmdlIGhlYWQ6ICVzIgorbXNnc3RyICLkuI3og73or7vlj5blkIjlubblpLQobWVyZ2UgaGVhZCnvvJolcyIKKworIzogZ2l0azozODYxCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRXJyb3IgcmVhZGluZyBpbmRleDogJXMiCittc2dzdHIgIuivu+WPlue0ouW8leWHuumUme+8miVzIgorCisjOiBnaXRrOjM4ODYKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJDb3VsZG4ndCBzdGFydCBnaXQgYmxhbWU6ICVzIgorbXNnc3RyICLkuI3og73miafooYxnaXQgYmxhbWXvvJolcyIKKworIzogZ2l0azozODg5IGdpdGs6Njc3OAorbXNnaWQgIlNlYXJjaGluZyIKK21zZ3N0ciAi5pCc57Si5LitIgorCisjOiBnaXRrOjM5MjEKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJFcnJvciBydW5uaW5nIGdpdCBibGFtZTogJXMiCittc2dzdHIgIui/kOihjGdpdCBibGFtZeWHuumUme+8miVzIgorCisjOiBnaXRrOjM5NDkKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJUaGF0IGxpbmUgY29tZXMgZnJvbSBjb21taXQgJXMsICB3aGljaCBpcyBub3QgaW4gdGhpcyB2aWV3IgorbXNnc3RyICLmraTooYzmnaXoh6rmj5DkuqQlc++8jOS4jeWcqOatpOinhuWbvuS4rSIKKworIzogZ2l0azozOTYzCittc2dpZCAiRXh0ZXJuYWwgZGlmZiB2aWV3ZXIgZmFpbGVkOiIKK21zZ3N0ciAi5aSW6YOoZGlmZuafpeeci+WZqOWksei0pe+8miIKKworIzogZ2l0azo0MDY3Cittc2dpZCAiQWxsIGZpbGVzIgorbXNnc3RyICLmiYDmnInmlofku7YiCisKKyM6IGdpdGs6NDA5MQorbXNnaWQgIlZpZXciCittc2dzdHIgIuinhuWbviIKKworIzogZ2l0azo0MDk0Cittc2dpZCAiR2l0ayB2aWV3IGRlZmluaXRpb24iCittc2dzdHIgIkdpdGvop4blm77lrprkuYkiCisKKyM6IGdpdGs6NDA5OAorbXNnaWQgIlJlbWVtYmVyIHRoaXMgdmlldyIKK21zZ3N0ciAi6K6w5L2P5q2k6KeG5Zu+IgorCisjOiBnaXRrOjQwOTkKK21zZ2lkICJSZWZlcmVuY2VzIChzcGFjZSBzZXBhcmF0ZWQgbGlzdCk6IgorbXNnc3RyICLlvJXnlKgo56m65qC85YiH5YiG55qE5YiX6KGoKe+8miIKKworIzogZ2l0azo0MTAwCittc2dpZCAiQnJhbmNoZXMgJiB0YWdzOiIKK21zZ3N0ciAi5YiG5pSv5ZKMdGFncyIKKworIzogZ2l0azo0MTAxCittc2dpZCAiQWxsIHJlZnMiCittc2dzdHIgIuaJgOacieW8leeUqCIKKworIzogZ2l0azo0MTAyCittc2dpZCAiQWxsIChsb2NhbCkgYnJhbmNoZXMiCittc2dzdHIgIuaJgOaciSjmnKzlnLAp5YiG5pSvIgorCisjOiBnaXRrOjQxMDMKK21zZ2lkICJBbGwgdGFncyIKK21zZ3N0ciAi5omA5pyJdGFnIgorCisjOiBnaXRrOjQxMDQKK21zZ2lkICJBbGwgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgorbXNnc3RyICLmiYDmnInov5znqIvot5/ouKrliIbmlK8iCisKKyM6IGdpdGs6NDEwNQorbXNnaWQgIkNvbW1pdCBJbmZvIChyZWd1bGFyIGV4cHJlc3Npb25zKToiCittc2dzdHIgIuaPkOS6pOS/oeaBryAo5q2j5YiZ6KGo6L6+5byPKe+8miIKKworIzogZ2l0azo0MTA2Cittc2dpZCAiQXV0aG9yOiIKK21zZ3N0ciAi5L2c6ICF77yaIgorCisjOiBnaXRrOjQxMDcKK21zZ2lkICJDb21taXR0ZXI6IgorbXNnc3RyICLmj5DkuqTogIXvvJoiCisKKyM6IGdpdGs6NDEwOAorbXNnaWQgIkNvbW1pdCBNZXNzYWdlOiIKK21zZ3N0ciAi5o+Q5Lqk5L+h5oGv77yaIgorCisjOiBnaXRrOjQxMDkKK21zZ2lkICJNYXRjaGVzIGFsbCBDb21taXQgSW5mbyBjcml0ZXJpYSIKK21zZ3N0ciAi5Yy56YWN5omA5pyJ5o+Q5Lqk5L+h5oGv5qCH5YeGIgorCisjOiBnaXRrOjQxMTAKK21zZ2lkICJNYXRjaGVzIG5vIENvbW1pdCBJbmZvIGNyaXRlcmlhIgorbXNnc3RyICLljLnphY3ml6Dmj5DkuqTkv6Hmga/moIflh4YiCisKKyM6IGdpdGs6NDExMQorbXNnaWQgIkNoYW5nZXMgdG8gRmlsZXM6IgorbXNnc3RyICLmlofku7bkv67mlLnliJfooajvvJoiCisKKyM6IGdpdGs6NDExMgorbXNnaWQgIkZpeGVkIFN0cmluZyIKK21zZ3N0ciAi5Zu65a6a5a2X56ym5LiyIgorCisjOiBnaXRrOjQxMTMKK21zZ2lkICJSZWd1bGFyIEV4cHJlc3Npb24iCittc2dzdHIgIuato+WImeihqOi+vuW8j++8miIKKworIzogZ2l0azo0MTE0Cittc2dpZCAiU2VhcmNoIHN0cmluZzoiCittc2dzdHIgIuaQnOe0ouWtl+espuS4su+8miIKKworIzogZ2l0azo0MTE1Cittc2dpZCAiIgorIkNvbW1pdCBEYXRlcyAoXCIyIHdlZWtzIGFnb1wiLCBcIjIwMDktMDMtMTcgMTU6Mjc6MzhcIiwgXCJNYXJjaCAxNywgMjAwOSAiCisiMTU6Mjc6MzhcIik6IgorbXNnc3RyICLmj5DkuqTml6XmnJ8gKFwiMuaYn+acn+S5i+WJjVwiLCBcIjIwMDktMDMtMTcgMTU6Mjc6MzhcIiwgXCI15pyIIDE3LCAyMDA5IDE1OjI3OjM4XCIpOiIKKworIzogZ2l0azo0MTE2Cittc2dpZCAiU2luY2U6IgorbXNnc3RyICLoh6rvvJoiCisKKyM6IGdpdGs6NDExNworbXNnaWQgIlVudGlsOiIKK21zZ3N0ciAi5Yiw77yaIgorCisjOiBnaXRrOjQxMTgKK21zZ2lkICJMaW1pdCBhbmQvb3Igc2tpcCBhIG51bWJlciBvZiByZXZpc2lvbnMgKHBvc2l0aXZlIGludGVnZXIpOiIKK21zZ3N0ciAi6ZmQ5Yi2IOS4lC/miJYg6Lez6L+H5LiA5a6a5pWw6YeP55qE54mI5pysKOato+aVtOaVsCnvvJoiCisKKyM6IGdpdGs6NDExOQorbXNnaWQgIk51bWJlciB0byBzaG93OiIKK21zZ3N0ciAi5pi+56S65pWw6YeP77yaIgorCisjOiBnaXRrOjQxMjAKK21zZ2lkICJOdW1iZXIgdG8gc2tpcDoiCittc2dzdHIgIui3s+i/h+aVsOmHj++8miIKKworIzogZ2l0azo0MTIxCittc2dpZCAiTWlzY2VsbGFuZW91cyBvcHRpb25zOiIKK21zZ3N0ciAi5YW25LuW6YCJ6aG577yaIgorCisjOiBnaXRrOjQxMjIKK21zZ2lkICJTdHJpY3RseSBzb3J0IGJ5IGRhdGUiCittc2dzdHIgIuS4peagvOaMieaXpeacn+aVtOeQhiIKKworIzogZ2l0azo0MTIzCittc2dpZCAiTWFyayBicmFuY2ggc2lkZXMiCittc2dzdHIgIuagh+iusOWIhuaUr+i+ueeVjCIKKworIzogZ2l0azo0MTI0Cittc2dpZCAiTGltaXQgdG8gZmlyc3QgcGFyZW50IgorbXNnc3RyICLpmZDliLbliLDnrKzkuIDkuKrniLbmj5DkuqQiCisKKyM6IGdpdGs6NDEyNQorbXNnaWQgIlNpbXBsZSBoaXN0b3J5IgorbXNnc3RyICLnroDmmJPljoblj7IiCisKKyM6IGdpdGs6NDEyNgorbXNnaWQgIkFkZGl0aW9uYWwgYXJndW1lbnRzIHRvIGdpdCBsb2c6IgorbXNnc3RyICJnaXQgbG9n5ZG95Luk55qE6aKd5aSW5Y+C5pWw77yaIgorCisjOiBnaXRrOjQxMjcKK21zZ2lkICJFbnRlciBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgdG8gaW5jbHVkZSwgb25lIHBlciBsaW5lOiIKK21zZ3N0ciAi6L6T5YWl5paH5Lu25ZKM5paH5Lu25aS55p2l5byV55So77yM5q+P6KGM5LiA5Liq77yaIgorCisjOiBnaXRrOjQxMjgKK21zZ2lkICJDb21tYW5kIHRvIGdlbmVyYXRlIG1vcmUgY29tbWl0cyB0byBpbmNsdWRlOiIKK21zZ3N0ciAi5ZG95Luk5Lqn55Sf5pu05aSa55qE5o+Q5Lqk5p2l5byV55So77yaIgorCisjOiBnaXRrOjQyNTIKK21zZ2lkICJHaXRrOiBlZGl0IHZpZXciCittc2dzdHIgIkdpdGs6IOe8lui+keinhuWbviIKKworIzogZ2l0azo0MjYwCittc2dpZCAiLS0gY3JpdGVyaWEgZm9yIHNlbGVjdGluZyByZXZpc2lvbnMiCittc2dzdHIgIi0tIOeUqOadpemAieaLqeeJiOacrOeahOinhOWImSIKKworIzogZ2l0azo0MjY1Cittc2dpZCAiVmlldyBOYW1lIgorbXNnc3RyICLop4blm77lkI3np7AiCisKKyM6IGdpdGs6NDM0MAorbXNnaWQgIkFwcGx5IChGNSkiCittc2dzdHIgIuW6lOeUqChGNSkiCisKKyM6IGdpdGs6NDM3OAorbXNnaWQgIkVycm9yIGluIGNvbW1pdCBzZWxlY3Rpb24gYXJndW1lbnRzOiIKK21zZ3N0ciAi5o+Q5Lqk6YCJ5oup5Y+C5pWw6ZSZ6K+v77yaIgorCisjOiBnaXRrOjQ0MzMgZ2l0azo0NDg2IGdpdGs6NDk0OCBnaXRrOjQ5NjIgZ2l0azo2MjMyIGdpdGs6MTI1MjQgZ2l0azoxMjUyNQorbXNnaWQgIk5vbmUiCittc2dzdHIgIuaXoCIKKworIzogZ2l0azo1MDQ1IGdpdGs6NTA1MAorbXNnaWQgIkRlc2NlbmRhbnQiCittc2dzdHIgIuWtkOaPkOS6pCIKKworIzogZ2l0azo1MDQ2Cittc2dpZCAiTm90IGRlc2NlbmRhbnQiCittc2dzdHIgIumdnuWtkOaPkOS6pCIKKworIzogZ2l0azo1MDUzIGdpdGs6NTA1OAorbXNnaWQgIkFuY2VzdG9yIgorbXNnc3RyICLniLbmj5DkuqQiCisKKyM6IGdpdGs6NTA1NAorbXNnaWQgIk5vdCBhbmNlc3RvciIKK21zZ3N0ciAi6Z2e54i25o+Q5LqkIgorCisjOiBnaXRrOjUzNDgKK21zZ2lkICJMb2NhbCBjaGFuZ2VzIGNoZWNrZWQgaW4gdG8gaW5kZXggYnV0IG5vdCBjb21taXR0ZWQiCittc2dzdHIgIuW3sua3u+WKoOWIsOe0ouW8leS9huacquaPkOS6pOeahOS/ruaUuSIKKworIzogZ2l0azo1Mzg0Cittc2dpZCAiTG9jYWwgdW5jb21taXR0ZWQgY2hhbmdlcywgbm90IGNoZWNrZWQgaW4gdG8gaW5kZXgiCittc2dzdHIgIuacqua3u+WKoOWIsOe0ouW8leS4lOacquaPkOS6pOeahOS/ruaUuSIKKworIzogZ2l0azo3MTU4Cittc2dpZCAiYW5kIG1hbnkgbW9yZSIKK21zZ3N0ciAi5pu05aSaIgorCisjOiBnaXRrOjcxNjEKK21zZ2lkICJtYW55IgorbXNnc3RyICLlvojlpJoiCisKKyM6IGdpdGs6NzM1MgorbXNnaWQgIlRhZ3M6IgorbXNnc3RyICJUYWdzOiIKKworIzogZ2l0azo3MzY5IGdpdGs6NzM3NSBnaXRrOjg4NTQKK21zZ2lkICJQYXJlbnQiCittc2dzdHIgIueItuiKgueCuSIKKworIzogZ2l0azo3MzgwCittc2dpZCAiQ2hpbGQiCittc2dzdHIgIuWtkOiKgueCuSIKKworIzogZ2l0azo3Mzg5Cittc2dpZCAiQnJhbmNoIgorbXNnc3RyICLliIbmlK8iCisKKyM6IGdpdGs6NzM5MgorbXNnaWQgIkZvbGxvd3MiCittc2dzdHIgIuS5i+WQjueahHRhZyIKKworIzogZ2l0azo3Mzk1Cittc2dpZCAiUHJlY2VkZXMiCittc2dzdHIgIuS5i+WJjeeahHRhZyIKKworIzogZ2l0azo3OTkwCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRXJyb3IgZ2V0dGluZyBkaWZmczogJXMiCittc2dzdHIgIuiOt+WPluW3ruW8gumUmeivr++8miVzIgorCisjOiBnaXRrOjg2NzkKK21zZ2lkICJHb3RvOiIKK21zZ3N0ciAi6L2s5Yiw77yaIgorCisjOiBnaXRrOjg3MDAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJTaG9ydCBTSEExIGlkICVzIGlzIGFtYmlndW91cyIKK21zZ3N0ciAi55+t5qC85byP55qEU0hBMeaPkOS6pOWPtyVz5LiN5piO56Gu44CB5pyJ5q2n5LmJIgorCisjOiBnaXRrOjg3MDcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJSZXZpc2lvbiAlcyBpcyBub3Qga25vd24iCittc2dzdHIgIueJiOacrCVz5pyq55+lIgorCisjOiBnaXRrOjg3MTcKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJTSEExIGlkICVzIGlzIG5vdCBrbm93biIKK21zZ3N0ciAi5o+Q5Lqk5Y+3KFNIQTEgaWQpJXPmnKrnn6UiCisKKyM6IGdpdGs6ODcxOQorIywgdGNsLWZvcm1hdAorbXNnaWQgIlJldmlzaW9uICVzIGlzIG5vdCBpbiB0aGUgY3VycmVudCB2aWV3IgorbXNnc3RyICLniYjmnKwlc+S4jeWcqOW9k+WJjeinhuWbvuS4rSIKKworIzogZ2l0azo4ODYxIGdpdGs6ODg3NgorbXNnaWQgIkRhdGUiCittc2dzdHIgIuaXpeacnyIKKworIzogZ2l0azo4ODY0Cittc2dpZCAiQ2hpbGRyZW4iCittc2dzdHIgIuWtkOiKgueCuSIKKworIzogZ2l0azo4OTI3CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUmVzZXQgJXMgYnJhbmNoIHRvIGhlcmUiCittc2dzdHIgIumHjee9ruWIhuaUryVz5Yiw5q2k5aSEIgorCisjOiBnaXRrOjg5MjkKK21zZ2lkICJEZXRhY2hlZCBoZWFkOiBjYW4ndCByZXNldCIKK21zZ3N0ciAi5YiG56a755qE5aS0KGhlYWQp77ya5LiN6IO96YeN572uKHJlc2V0KSIKKworIzogZ2l0azo5MDM0IGdpdGs6OTA0MAorbXNnaWQgIlNraXBwaW5nIG1lcmdlIGNvbW1pdCAiCittc2dzdHIgIui3s+i/h+WQiOW5tuaPkOS6pCIKKworIzogZ2l0azo5MDQ5IGdpdGs6OTA1NAorbXNnaWQgIkVycm9yIGdldHRpbmcgcGF0Y2ggSUQgZm9yICIKK21zZ3N0ciAi6I635Y+W6KGl5LiBSUTlh7rplJkiCisKKyM6IGdpdGs6OTA1MCBnaXRrOjkwNTUKK21zZ2lkICIgLSBzdG9wcGluZ1xuIgorbXNnc3RyICIg4oCUIOWBnOatouS4rVxuIgorCisjOiBnaXRrOjkwNjAgZ2l0azo5MDYzIGdpdGs6OTA3MSBnaXRrOjkwODUgZ2l0azo5MDk0Cittc2dpZCAiQ29tbWl0ICIKK21zZ3N0ciAi5o+Q5LqkIgorCisjOiBnaXRrOjkwNjQKK21zZ2lkICIiCisiIGlzIHRoZSBzYW1lIHBhdGNoIGFzXG4iCisiICAgICAgICIKK21zZ3N0ciAiIOaYr+ebuOWQjOeahOihpeS4gShwYXRjaClcbiAgICAgICAiCisKKyM6IGdpdGs6OTA3MgorbXNnaWQgIiIKKyIgZGlmZmVycyBmcm9tXG4iCisiICAgICAgICIKK21zZ3N0ciAiIOW3ruW8guadpeiHqlxuICAgICAgICIKKworIzogZ2l0azo5MDc0Cittc2dpZCAiIgorIkRpZmYgb2YgY29tbWl0czpcbiIKKyJcbiIKK21zZ3N0ciAi5o+Q5Lqk55qE5beu5byCKERpZmYp77yaXG5cbiIKKworIzogZ2l0azo5MDg2IGdpdGs6OTA5NQorIywgdGNsLWZvcm1hdAorbXNnaWQgIiBoYXMgJXMgY2hpbGRyZW4gLSBzdG9wcGluZ1xuIgorbXNnc3RyICLmnIklc+WtkOiKgueCuSDigJQg5YGc5q2i5LitXG4iCisKKyM6IGdpdGs6OTExNAorIywgdGNsLWZvcm1hdAorbXNnaWQgIkVycm9yIHdyaXRpbmcgY29tbWl0IHRvIGZpbGU6ICVzIgorbXNnc3RyICLlhpnlhaXmj5DkuqTliLDmlofku7blh7rplJnvvJolcyIKKworIzogZ2l0azo5MTIwCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiRXJyb3IgZGlmZmluZyBjb21taXRzOiAlcyIKK21zZ3N0ciAi5q+U6L6D5o+Q5Lqk5beu5byC5Ye66ZSZ77yaJXMiCisKKyM6IGdpdGs6OTE2NgorbXNnaWQgIlRvcCIKK21zZ3N0ciAi6aG26YOoIgorCisjOiBnaXRrOjkxNjcKK21zZ2lkICJGcm9tIgorbXNnc3RyICLku44iCisKKyM6IGdpdGs6OTE3MgorbXNnaWQgIlRvIgorbXNnc3RyICLliLAiCisKKyM6IGdpdGs6OTE5NgorbXNnaWQgIkdlbmVyYXRlIHBhdGNoIgorbXNnc3RyICLnlJ/miJDooaXkuIEocGF0Y2gpIgorCisjOiBnaXRrOjkxOTgKK21zZ2lkICJGcm9tOiIKK21zZ3N0ciAi5LuO77yaIgorCisjOiBnaXRrOjkyMDcKK21zZ2lkICJUbzoiCittc2dzdHIgIuWIsO+8miIKKworIzogZ2l0azo5MjE2Cittc2dpZCAiUmV2ZXJzZSIKK21zZ3N0ciAi5Y+N5ZCRKFJldmVyc2UpIgorCisjOiBnaXRrOjkyMTggZ2l0azo5NDI4Cittc2dpZCAiT3V0cHV0IGZpbGU6IgorbXNnc3RyICLovpPlh7rmlofku7bvvJoiCisKKyM6IGdpdGs6OTIyNAorbXNnaWQgIkdlbmVyYXRlIgorbXNnc3RyICLnlJ/miJAiCisKKyM6IGdpdGs6OTI2MgorbXNnaWQgIkVycm9yIGNyZWF0aW5nIHBhdGNoOiIKK21zZ3N0ciAi5Yib5bu66KGl5LiBKHBhdGNoKeWHuumUme+8miIKKworIzogZ2l0azo5Mjg1IGdpdGs6OTQxNiBnaXRrOjk1MDQKK21zZ2lkICJJRDoiCittc2dzdHIgIklEOiIKKworIzogZ2l0azo5Mjk0Cittc2dpZCAiVGFnIG5hbWU6IgorbXNnc3RyICJUYWflkI3np7DvvJoiCisKKyM6IGdpdGs6OTI5NworbXNnaWQgIlRhZyBtZXNzYWdlIGlzIG9wdGlvbmFsIgorbXNnc3RyICJUYWfkv6Hmga/mmK/lj6/pgInnmoQiCisKKyM6IGdpdGs6OTI5OQorbXNnaWQgIlRhZyBtZXNzYWdlOiIKK21zZ3N0ciAiVGFn5L+h5oGv77yaIgorCisjOiBnaXRrOjkzMDMgZ2l0azo5NDc0Cittc2dpZCAiQ3JlYXRlIgorbXNnc3RyICLliJvlu7oiCisKKyM6IGdpdGs6OTMyMQorbXNnaWQgIk5vIHRhZyBuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAi5pyq5oyH5a6adGFn5ZCN56ewIgorCisjOiBnaXRrOjkzMjUKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJUYWcgXCIlc1wiIGFscmVhZHkgZXhpc3RzIgorbXNnc3RyICJUYWdcIiVzXCLlt7Lnu4/lrZjlnKgiCisKKyM6IGdpdGs6OTMzNQorbXNnaWQgIkVycm9yIGNyZWF0aW5nIHRhZzoiCittc2dzdHIgIuWIm+W7unRhZ+WHuumUme+8miIKKworIzogZ2l0azo5NDI1Cittc2dpZCAiQ29tbWFuZDoiCittc2dzdHIgIuWRveS7pO+8miIKKworIzogZ2l0azo5NDMzCittc2dpZCAiV3JpdGUiCittc2dzdHIgIuWGmeWFpSIKKworIzogZ2l0azo5NDUxCittc2dpZCAiRXJyb3Igd3JpdGluZyBjb21taXQ6IgorbXNnc3RyICLlhpnlhaXmj5DkuqTlh7rplJnvvJoiCisKKyM6IGdpdGs6OTQ3MworbXNnaWQgIkNyZWF0ZSBicmFuY2giCittc2dzdHIgIuWIm+W7uuWIhuaUryIKKworIzogZ2l0azo5NDg5CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUmVuYW1lIGJyYW5jaCAlcyIKK21zZ3N0ciAi6YeN5ZG95ZCN5YiG5pSvJXMiCisKKyM6IGdpdGs6OTQ5MAorbXNnaWQgIlJlbmFtZSIKK21zZ3N0ciAi6YeN5ZG95ZCNIgorCisjOiBnaXRrOjk1MTQKK21zZ2lkICJOYW1lOiIKK21zZ3N0ciAi5ZCN56ew77yaIgorCisjOiBnaXRrOjk1MzgKK21zZ2lkICJQbGVhc2Ugc3BlY2lmeSBhIG5hbWUgZm9yIHRoZSBuZXcgYnJhbmNoIgorbXNnc3RyICLor7fmjIflrprmlrDliIbmlK/nmoTlkI3np7AiCisKKyM6IGdpdGs6OTU0MworIywgdGNsLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAnJXMnIGFscmVhZHkgZXhpc3RzLiBPdmVyd3JpdGU/IgorbXNnc3RyICLliIbmlK9cIiVzXCLlt7Lnu4/lrZjlnKjjgILopobnm5blroPvvJ8iCisKKyM6IGdpdGs6OTU4NworbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IGEgbmV3IG5hbWUgZm9yIHRoZSBicmFuY2giCittc2dzdHIgIuivt+mHjeaWsOaMh+WumuaWsOWIhuaUr+eahOWQjeensCIKKworIzogZ2l0azo5NjUwCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiQ29tbWl0ICVzIGlzIGFscmVhZHkgaW5jbHVkZWQgaW4gYnJhbmNoICVzIC0tIHJlYWxseSByZS1hcHBseSBpdD8iCittc2dzdHIgIuaPkOS6pCVz5bey57uP5a2Y5Zyo5LqO5YiG5pSvJXPjgILnoa7lrprph43mlrDlupTnlKjlroPvvJ8iCisKKyM6IGdpdGs6OTY1NQorbXNnaWQgIkNoZXJyeS1waWNraW5nIgorbXNnc3RyICLmiZPooaXkuIHkuK0oQ2hlcnJ5LXBpY2tpbmcpIgorCisjOiBnaXRrOjk2NjQKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiQ2hlcnJ5LXBpY2sgZmFpbGVkIGJlY2F1c2Ugb2YgbG9jYWwgY2hhbmdlcyB0byBmaWxlICclcycuXG4iCisiUGxlYXNlIGNvbW1pdCwgcmVzZXQgb3Igc3Rhc2ggeW91ciBjaGFuZ2VzIGFuZCB0cnkgYWdhaW4uIgorbXNnc3RyICLmiZPooaXkuIEoQ2hlcnJ5LXBpY2sp5aSx6LSl77yM5Zug5Li65pys5Zyw5L+u5pS55LqG5paH5Lu2XCIlc1wi44CCXG7or7fmj5DkuqQoY29tbWl0KeOAgemHjee9rihyZXNldCnmiJbmmoLlrZgoc3Rhc2gp5L+u5pS55ZCO6YeN6K+V44CCIgorCisjOiBnaXRrOjk2NzAKK21zZ2lkICIiCisiQ2hlcnJ5LXBpY2sgZmFpbGVkIGJlY2F1c2Ugb2YgbWVyZ2UgY29uZmxpY3QuXG4iCisiRG8geW91IHdpc2ggdG8gcnVuIGdpdCBjaXRvb2wgdG8gcmVzb2x2ZSBpdD8iCittc2dzdHIgIuaJk+ihpeS4gShDaGVycnktcGljaynlpLHotKXlm6DkuLrlkIjlubblhrLnqoHjgIJcbuS9oOaYr+WQpuW4jOacm+i/kOihjGdpdCBjaXRvb2wg5p2l6Kej5Yaz5Yay56qB77yfIgorCisjOiBnaXRrOjk2ODYgZ2l0azo5NzQ0Cittc2dpZCAiTm8gY2hhbmdlcyBjb21taXR0ZWQiCittc2dzdHIgIuaXoOW3sue7j+aPkOS6pOeahOS/ruaUuSIKKworIzogZ2l0azo5NzEzCisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiQ29tbWl0ICVzIGlzIG5vdCBpbmNsdWRlZCBpbiBicmFuY2ggJXMgLS0gcmVhbGx5IHJldmVydCBpdD8iCittc2dzdHIgIuaPkOS6pCVz5LiN5YyF5ZCr5Zyo5YiG5pSvJXPkuK3vvIznoa7orqTlm57mu5oocmV2ZXJ0KeWug++8nyIKKworIzogZ2l0azo5NzE4Cittc2dpZCAiUmV2ZXJ0aW5nIgorbXNnc3RyICLlm57mu5rkuK0oUmV2ZXJ0aW5nKSIKKworIzogZ2l0azo5NzI2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiIgorIlJldmVydCBmYWlsZWQgYmVjYXVzZSBvZiBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXM6JXMgUGxlYXNlICIKKyJjb21taXQsIHJlc2V0IG9yIHN0YXNoICB5b3VyIGNoYW5nZXMgYW5kIHRyeSBhZ2Fpbi4iCittc2dzdHIgIuWbnua7mihyZXZlcnQp5aSx6LSl77yM5Zug5Li65aaC5LiL55qE5pys5Zyw5paH5Lu25L+u5pS577yaJXNcbuivt+aPkOS6pChjb21taXQp44CB6YeN572uKHJlc2V0KeaIluiAheaaguWtmChzdGFzaCnmlLnlj5jlkI7ph43or5XjgIIiCisKKyM6IGdpdGs6OTczMAorbXNnaWQgIiIKKyJSZXZlcnQgZmFpbGVkIGJlY2F1c2Ugb2YgbWVyZ2UgY29uZmxpY3QuXG4iCisiIERvIHlvdSB3aXNoIHRvIHJ1biBnaXQgY2l0b29sIHRvIHJlc29sdmUgaXQ/IgorbXNnc3RyICLlm57mu5oocmV2ZXJ0KeWksei0pe+8jOWboOS4uuWQiOW5tuWGsueqgeOAglxu5L2g5piv5ZCm5biM5pyb6L+Q6KGMZ2l0IGNpdG9vbOadpeino+WGs+WGsueqge+8nyIKKworIzogZ2l0azo5NzczCittc2dpZCAiQ29uZmlybSByZXNldCIKK21zZ3N0ciAi56Gu6K6k6YeN572uKHJlc2V0KSIKKworIzogZ2l0azo5Nzc1CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiUmVzZXQgYnJhbmNoICVzIHRvICVzPyIKK21zZ3N0ciAi6YeN572uKHJlc2V0KeWIhuaUryVz5YiwJXPvvJ8iCisKKyM6IGdpdGs6OTc3NworbXNnaWQgIlJlc2V0IHR5cGU6IgorbXNnc3RyICLph43nva4ocmVzZXQp57G75Z6L77yaIgorCisjOiBnaXRrOjk3ODAKK21zZ2lkICJTb2Z0OiBMZWF2ZSB3b3JraW5nIHRyZWUgYW5kIGluZGV4IHVudG91Y2hlZCIKK21zZ3N0ciAi6L2v5oCn77ya56a75byA5bel5L2c5qCR77yM57Si5byV5pyq5pS55Y+YIgorCisjOiBnaXRrOjk3ODMKK21zZ2lkICJNaXhlZDogTGVhdmUgd29ya2luZyB0cmVlIHVudG91Y2hlZCwgcmVzZXQgaW5kZXgiCittc2dzdHIgIua3t+WQiO+8muemu+W8gOW3peS9nOagkSjmnKrmlLnlj5gp77yM57Si5byV6YeN572uIgorCisjOiBnaXRrOjk3ODYKK21zZ2lkICIiCisiSGFyZDogUmVzZXQgd29ya2luZyB0cmVlIGFuZCBpbmRleFxuIgorIihkaXNjYXJkIEFMTCBsb2NhbCBjaGFuZ2VzKSIKK21zZ3N0ciAi56Gs5oCn77ya6YeN572u5bel5L2c5qCR5ZKM57Si5byVXG4o5Lii5byD5omA5pyJ55qE5pys5Zyw5L+u5pS5KSIKKworIzogZ2l0azo5ODAzCittc2dpZCAiUmVzZXR0aW5nIgorbXNnc3RyICLph43nva7kuK0oUmVzZXR0aW5nKSIKKworIzogZ2l0azo5ODc2CisjLCB0Y2wtZm9ybWF0Cittc2dpZCAiQSBsb2NhbCBicmFuY2ggbmFtZWQgJXMgZXhpc3RzIGFscmVhZHkiCittc2dzdHIgIuacrOWcsOWIhuaUryVz5bey57uP5a2Y5ZyoIgorCisjOiBnaXRrOjk4ODQKK21zZ2lkICJDaGVja2luZyBvdXQiCittc2dzdHIgIuajgOWHuuS4rShDaGVja2luZyBvdXQpIgorCisjOiBnaXRrOjk5NDMKK21zZ2lkICJDYW5ub3QgZGVsZXRlIHRoZSBjdXJyZW50bHkgY2hlY2tlZC1vdXQgYnJhbmNoIgorbXNnc3RyICLkuI3og73liKDpmaTlvZPliY3mo4Dlh7ooY2hlY2tvdXQp5YiG5pSvIgorCisjOiBnaXRrOjk5NDkKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGNvbW1pdHMgb24gYnJhbmNoICVzIGFyZW4ndCBvbiBhbnkgb3RoZXIgYnJhbmNoLlxuIgorIlJlYWxseSBkZWxldGUgYnJhbmNoICVzPyIKK21zZ3N0ciAi5Zyo5YiG5pSvJXPkuIrnmoTmj5DkuqTkuI3lnKjlhbbku5bku7vkvZXliIbmlK/kuIrjgIJcbuehruiupOWIoOmZpOWIhuaUryVz77yfIgorCisjOiBnaXRrOjk5ODAKKyMsIHRjbC1mb3JtYXQKK21zZ2lkICJUYWdzIGFuZCBoZWFkczogJXMiCittc2dzdHIgIlRhZ3PlkozlpLTmjIfpkogoaGVhZHMp77yaJXMiCisKKyM6IGdpdGs6OTk5NworbXNnaWQgIkZpbHRlciIKK21zZ3N0ciAi6L+H5ruk5ZmoIgorCisjOiBnaXRrOjEwMjkzCittc2dpZCAiIgorIkVycm9yIHJlYWRpbmcgY29tbWl0IHRvcG9sb2d5IGluZm9ybWF0aW9uOyBicmFuY2ggYW5kIHByZWNlZGluZy9mb2xsb3dpbmcgIgorInRhZyBpbmZvcm1hdGlvbiB3aWxsIGJlIGluY29tcGxldGUuIgorbXNnc3RyICLor7vlj5bmj5DkuqTmi5PmiZHkv6Hmga/lh7rplJnvvJvliIbmlK/lkozkuYvliY0v5LmL5ZCO55qEdGFn5L+h5oGv5bCG5LiN6IO95a6M5oiQ44CCIgorCisjOiBnaXRrOjExMjcwCittc2dpZCAiVGFnIgorbXNnc3RyICLmoIfnrb4oVGFnKSIKKworIzogZ2l0azoxMTI3NAorbXNnaWQgIklkIgorbXNnc3RyICJJZCIKKworIzogZ2l0azoxMTM1NworbXNnaWQgIkdpdGsgZm9udCBjaG9vc2VyIgorbXNnc3RyICJHaXRr5a2X5L2T6YCJ5oupIgorCisjOiBnaXRrOjExMzc0Cittc2dpZCAiQiIKK21zZ3N0ciAi57KX5L2TIgorCisjOiBnaXRrOjExMzc3Cittc2dpZCAiSSIKK21zZ3N0ciAi5pac5L2TIgorCisjOiBnaXRrOjExNDk1Cittc2dpZCAiQ29tbWl0IGxpc3QgZGlzcGxheSBvcHRpb25zIgorbXNnc3RyICLmj5DkuqTliJfooajlsZXnpLrpgInpobkiCisKKyM6IGdpdGs6MTE0OTgKK21zZ2lkICJNYXhpbXVtIGdyYXBoIHdpZHRoIChsaW5lcykiCittc2dzdHIgIuacgOWkp+WbvuWuveW6pijooYzmlbApIgorCisjOiBnaXRrOjExNTAyCisjLCBuby10Y2wtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBncmFwaCB3aWR0aCAoJSBvZiBwYW5lKSIKK21zZ3N0ciAi5pyA5aSn5Zu+5a695bqmKCXnqpflj6Pnmb7liIbmr5QpIgorCisjOiBnaXRrOjExNTA1Cittc2dpZCAiU2hvdyBsb2NhbCBjaGFuZ2VzIgorbXNnc3RyICLmmL7npLrmnKzlnLDkv67mlLkiCisKKyM6IGdpdGs6MTE1MDgKK21zZ2lkICJBdXRvLXNlbGVjdCBTSEExIChsZW5ndGgpIgorbXNnc3RyICLoh6rliqjpgInmi6lTSEExKOmVv+W6pikiCisKKyM6IGdpdGs6MTE1MTIKK21zZ2lkICJIaWRlIHJlbW90ZSByZWZzIgorbXNnc3RyICLpmpDol4/ov5znqIvlvJXnlKgiCisKKyM6IGdpdGs6MTE1MTYKK21zZ2lkICJEaWZmIGRpc3BsYXkgb3B0aW9ucyIKK21zZ3N0ciAi5beu5byCKERpZmYp5bGV56S66YCJ6aG5IgorCisjOiBnaXRrOjExNTE4Cittc2dpZCAiVGFiIHNwYWNpbmciCittc2dzdHIgIuWItuihqOespuWuveW6piIKKworIzogZ2l0azoxMTUyMQorbXNnaWQgIkRpc3BsYXkgbmVhcmJ5IHRhZ3MvaGVhZHMiCittc2dzdHIgIuaYvuekuuS4tOi/keeahHRhZ3MvaGVhZHMiCisKKyM6IGdpdGs6MTE1MjQKK21zZ2lkICJNYXhpbXVtICMgdGFncy9oZWFkcyB0byBzaG93IgorbXNnc3RyICLmnIDlpKd0YWdzL2hlYWRz5bGV56S65pWw6YePIgorCisjOiBnaXRrOjExNTI3Cittc2dpZCAiTGltaXQgZGlmZnMgdG8gbGlzdGVkIHBhdGhzIgorbXNnc3RyICJkaWZm5Lit5YiX5Ye65paH5Lu26ZmQ5Yi2IgorCisjOiBnaXRrOjExNTMwCittc2dpZCAiU3VwcG9ydCBwZXItZmlsZSBlbmNvZGluZ3MiCittc2dzdHIgIuWNleeLrOaWh+S7tue8lueggeaUr+aMgSIKKworIzogZ2l0azoxMTUzNiBnaXRrOjExNjgzCittc2dpZCAiRXh0ZXJuYWwgZGlmZiB0b29sIgorbXNnc3RyICLlpJbpg6jlt67lvIIoZGlmZinlt6XlhbciCisKKyM6IGdpdGs6MTE1MzcKK21zZ2lkICJDaG9vc2UuLi4iCittc2dzdHIgIumAieaLqS4uLiIKKworIzogZ2l0azoxMTU0MgorbXNnaWQgIkdlbmVyYWwgb3B0aW9ucyIKK21zZ3N0ciAi5bi46KeE6YCJ6aG5IgorCisjOiBnaXRrOjExNTQ1Cittc2dpZCAiVXNlIHRoZW1lZCB3aWRnZXRzIgorbXNnc3RyICLkvb/nlKjkuLvpopjlsI/pg6jku7YiCisKKyM6IGdpdGs6MTE1NDcKK21zZ2lkICIoY2hhbmdlIHJlcXVpcmVzIHJlc3RhcnQpIgorbXNnc3RyICIo6ZyA6YeN5ZCv55Sf5pWIKSIKKworIzogZ2l0azoxMTU0OQorbXNnaWQgIihjdXJyZW50bHkgdW5hdmFpbGFibGUpIgorbXNnc3RyICIo5b2T5YmN5LiN5Y+v55SoKSIKKworIzogZ2l0azoxMTU2MAorbXNnaWQgIkNvbG9yczogcHJlc3MgdG8gY2hvb3NlIgorbXNnc3RyICLpopzoibLvvJrngrnlh7vmnaXpgInmi6kiCisKKyM6IGdpdGs6MTE1NjMKK21zZ2lkICJJbnRlcmZhY2UiCittc2dzdHIgIueVjOmdoiIKKworIzogZ2l0azoxMTU2NAorbXNnaWQgImludGVyZmFjZSIKK21zZ3N0ciAi55WM6Z2iIgorCisjOiBnaXRrOjExNTY3Cittc2dpZCAiQmFja2dyb3VuZCIKK21zZ3N0ciAi6IOM5pmvIgorCisjOiBnaXRrOjExNTY4IGdpdGs6MTE1OTgKK21zZ2lkICJiYWNrZ3JvdW5kIgorbXNnc3RyICLog4zmma8iCisKKyM6IGdpdGs6MTE1NzEKK21zZ2lkICJGb3JlZ3JvdW5kIgorbXNnc3RyICLliY3mma8iCisKKyM6IGdpdGs6MTE1NzIKK21zZ2lkICJmb3JlZ3JvdW5kIgorbXNnc3RyICLliY3mma8iCisKKyM6IGdpdGs6MTE1NzUKK21zZ2lkICJEaWZmOiBvbGQgbGluZXMiCittc2dzdHIgIuW3ruW8gihEaWZmKe+8muiAgeS7o+eggeihjCIKKworIzogZ2l0azoxMTU3NgorbXNnaWQgImRpZmYgb2xkIGxpbmVzIgorbXNnc3RyICLlt67lvIIoZGlmZinogIHku6PnoIHooYwiCisKKyM6IGdpdGs6MTE1ODAKK21zZ2lkICJEaWZmOiBuZXcgbGluZXMiCittc2dzdHIgIuW3ruW8gihEaWZmKe+8muaWsOS7o+eggeihjCIKKworIzogZ2l0azoxMTU4MQorbXNnaWQgImRpZmYgbmV3IGxpbmVzIgorbXNnc3RyICLlt67lvIIoZGlmZinmlrDku6PnoIHooYwiCisKKyM6IGdpdGs6MTE1ODUKK21zZ2lkICJEaWZmOiBodW5rIGhlYWRlciIKK21zZ3N0ciAi5beu5byCKERpZmYp77ya6KGl5LiB54mH5q615aS05L+h5oGvIgorCisjOiBnaXRrOjExNTg3Cittc2dpZCAiZGlmZiBodW5rIGhlYWRlciIKK21zZ3N0ciAi5beu5byCKGRpZmYp6KGl5LiB54mH5q615aS05L+h5oGvIgorCisjOiBnaXRrOjExNTkxCittc2dpZCAiTWFya2VkIGxpbmUgYmciCittc2dzdHIgIuW3suagh+iusOS7o+eggeihjOiDjOaZryIKKworIzogZ2l0azoxMTU5MworbXNnaWQgIm1hcmtlZCBsaW5lIGJhY2tncm91bmQiCittc2dzdHIgIuW3suagh+iusOS7o+eggeihjOiDjOaZryIKKworIzogZ2l0azoxMTU5NworbXNnaWQgIlNlbGVjdCBiZyIKK21zZ3N0ciAi6YCJ5oup6IOM5pmvIgorCisjOiBnaXRrOjExNjA2Cittc2dpZCAiRm9udHM6IHByZXNzIHRvIGNob29zZSIKK21zZ3N0ciAi5a2X5L2T77ya54K55Ye75p2l6YCJ5oupIgorCisjOiBnaXRrOjExNjA4Cittc2dpZCAiTWFpbiBmb250IgorbXNnc3RyICLkuLvlrZfkvZMiCisKKyM6IGdpdGs6MTE2MDkKK21zZ2lkICJEaWZmIGRpc3BsYXkgZm9udCIKK21zZ3N0ciAi5beu5byCKERpZmYp5pi+56S65a2X5L2TIgorCisjOiBnaXRrOjExNjEwCittc2dpZCAiVXNlciBpbnRlcmZhY2UgZm9udCIKK21zZ3N0ciAi55So5oi355WM6Z2i5a2X5L2TIgorCisjOiBnaXRrOjExNjMyCittc2dpZCAiR2l0ayBwcmVmZXJlbmNlcyIKK21zZ3N0ciAiR2l0a+WBj+Wlveiuvue9riIKKworIzogZ2l0azoxMTY0MQorbXNnaWQgIkdlbmVyYWwiCittc2dzdHIgIuW4uOinhCIKKworIzogZ2l0azoxMTY0MgorbXNnaWQgIkNvbG9ycyIKK21zZ3N0ciAi6aKc6ImyIgorCisjOiBnaXRrOjExNjQzCittc2dpZCAiRm9udHMiCittc2dzdHIgIuWtl+S9kyIKKworIzogZ2l0azoxMTY5MworIywgdGNsLWZvcm1hdAorbXNnaWQgIkdpdGs6IGNob29zZSBjb2xvciBmb3IgJXMiCittc2dzdHIgIkdpdGvvvJrpgInmi6npopzoibLnlKjkuo4lcyIKKworIzogZ2l0azoxMjIwNgorbXNnaWQgIiIKKyJTb3JyeSwgZ2l0ayBjYW5ub3QgcnVuIHdpdGggdGhpcyB2ZXJzaW9uIG9mIFRjbC9Uay5cbiIKKyIgR2l0ayByZXF1aXJlcyBhdCBsZWFzdCBUY2wvVGsgOC40LiIKK21zZ3N0ciAi5a+55LiN6LW377yMZ2l0a+S4jeiDvei/kOihjOWcqOW9k+WJjeeJiOacrOeahFRjbC9Ua+S4reOAglxuR2l0a+i/kOihjOmcgOimgeacgOS9jueJiOacrOS4ulRjbC9UazguNOOAgiIKKworIzogZ2l0azoxMjQxNgorbXNnaWQgIkNhbm5vdCBmaW5kIGEgZ2l0IHJlcG9zaXRvcnkgaGVyZS4iCittc2dzdHIgIuWcqOatpOS9jee9ruacquWPkeeOsGdpdOS7k+W6k+OAgiIKKworIzogZ2l0azoxMjQ2MworIywgdGNsLWZvcm1hdAorbXNnaWQgIkFtYmlndW91cyBhcmd1bWVudCAnJXMnOiBib3RoIHJldmlzaW9uIGFuZCBmaWxlbmFtZSIKK21zZ3N0ciAi5LiN5piO56Gu5pyJ5q2n5LmJ55qE5Y+C5pWwXCIlc1wi77ya54mI5pys5ZKM5paH5Lu25ZCN56ewIgorCisjOiBnaXRrOjEyNDc1Cittc2dpZCAiQmFkIGFyZ3VtZW50cyB0byBnaXRrOiIKK21zZ3N0ciAi6L+Q6KGMZ2l0a+WPguaVsOmUmeivr++8miIKZGlmZiAtLWdpdCBhL2dpdHdlYi9naXR3ZWIucGVybCBiL2dpdHdlYi9naXR3ZWIucGVybAppbmRleCAyNTk0YTRiLi42NWEzYTllIDEwMDc1NQotLS0gYS9naXR3ZWIvZ2l0d2ViLnBlcmwKKysrIGIvZ2l0d2ViL2dpdHdlYi5wZXJsCkBAIC03NDEsNyArNzQxLDcgQEAKIAkkR0lUV0VCX0NPTkZJR19TWVNURU0gPSAiIiBpZiAoJEdJVFdFQl9DT05GSUdfU1lTVEVNIGVxICRHSVRXRUJfQ09ORklHX0NPTU1PTik7CiAKIAkjIENvbW1vbiBzeXN0ZW0td2lkZSBzZXR0aW5ncyBmb3IgY29udmVuaWVuY2UuCi0JIyBUaG9zZSBzZXR0aW5ncyBjYW4gYmUgb3Z2ZXJyaWRlbiBieSBHSVRXRUJfQ09ORklHIG9yIEdJVFdFQl9DT05GSUdfU1lTVEVNLgorCSMgVGhvc2Ugc2V0dGluZ3MgY2FuIGJlIG92ZXJyaWRkZW4gYnkgR0lUV0VCX0NPTkZJRyBvciBHSVRXRUJfQ09ORklHX1NZU1RFTS4KIAlyZWFkX2NvbmZpZ19maWxlKCRHSVRXRUJfQ09ORklHX0NPTU1PTik7CiAKIAkjIFVzZSBmaXJzdCBjb25maWcgZmlsZSB0aGF0IGV4aXN0cy4gIFRoaXMgbWVhbnMgdXNlIHRoZSBwZXItaW5zdGFuY2UKQEAgLTc4OCw2ICs3ODgsMzggQEAKICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogIyBpbnB1dCB2YWxpZGF0aW9uIGFuZCBkaXNwYXRjaAogCisjIFZhcmlvdXMgaGFzaCBzaXplLXJlbGF0ZWQgdmFsdWVzLgorbXkgJHNoYTFfbGVuID0gNDA7CitteSAkc2hhMjU2X2V4dHJhX2xlbiA9IDI0OworbXkgJHNoYTI1Nl9sZW4gPSAkc2hhMV9sZW4gKyAkc2hhMjU2X2V4dHJhX2xlbjsKKworIyBBIHJlZ2V4IG1hdGNoaW5nICRsZW4gaGV4IGNoYXJhY3RlcnMuICRsZW4gbWF5IGJlIGEgcmFuZ2UgKGUuZy4gNyw2NCkuCitzdWIgb2lkX25sZW5fcmVnZXggeworCW15ICRsZW4gPSBzaGlmdDsKKwlteSAkaGNociA9IHFyL1swLTlhLWZBLUZdLzsKKwlyZXR1cm4gcXIvKD86KD86JGhjaHIpeyRsZW59KS87Cit9CisKKyMgQSByZWdleCBtYXRjaGluZyB0d28gc2V0cyBvZiAkbmxlbiBoZXggY2hhcmFjdGVycywgcHJlZml4ZWQgYnkgdGhlIGxpdGVyYWwKKyMgc3RyaW5nICRwcmVmaXggYW5kIHdpdGggdGhlIGxpdGVyYWwgc3RyaW5nICRpbmZpeCBiZXR3ZWVuIHRoZW0uCitzdWIgb2lkX25sZW5fcHJlZml4X2luZml4X3JlZ2V4IHsKKwlteSAkbmxlbiA9IHNoaWZ0OworCW15ICRwcmVmaXggPSBzaGlmdDsKKwlteSAkaW5maXggPSBzaGlmdDsKKworCW15ICRyeCA9IG9pZF9ubGVuX3JlZ2V4KCRubGVuKTsKKworCXJldHVybiBxci9eXFEkcHJlZml4XEUkcnhcUSRpbmZpeFxFJHJ4JC87Cit9CisKKyMgQSByZWdleCBtYXRjaGluZyBhIHZhbGlkIG9iamVjdCBJRC4KK291ciAkb2lkX3JlZ2V4OworeworCW15ICR4ID0gb2lkX25sZW5fcmVnZXgoJHNoYTFfbGVuKTsKKwlteSAkeSA9IG9pZF9ubGVuX3JlZ2V4KCRzaGEyNTZfZXh0cmFfbGVuKTsKKwkkb2lkX3JlZ2V4ID0gcXIvKD86JHgoPzokeSk/KS87Cit9CisKICMgaW5wdXQgcGFyYW1ldGVycyBjYW4gYmUgY29sbGVjdGVkIGZyb20gYSB2YXJpZXR5IG9mIHNvdXJjZXMgKHByZXNlbnRseSwgQ0dJCiAjIGFuZCBQQVRIX0lORk8pLCBzbyB3ZSBkZWZpbmUgYW4gJWlucHV0X3BhcmFtcyBoYXNoIHRoYXQgY29sbGVjdHMgdGhlbSBhbGwKICMgdG9nZXRoZXIgZHVyaW5nIHZhbGlkYXRpb246IHRoaXMgYWxsb3dzIHN1YnNlcXVlbnQgdXNlcyAoZS5nLiBocmVmKCkpIHRvIGJlCkBAIC0xNTE2LDcgKzE1NDgsNyBAQAogCiAJcmV0dXJuIHVuZGVmIHVubGVzcyBkZWZpbmVkICRpbnB1dDsKIAkjIHRleHR1YWwgaGFzaGVzIGFyZSBPLksuCi0JaWYgKCRpbnB1dCA9fiBtL15bMC05YS1mQS1GXXs0MH0kLykgeworCWlmICgkaW5wdXQgPX4gbS9eJG9pZF9yZWdleCQvKSB7CiAJCXJldHVybiAxOwogCX0KIAkjIGl0IG11c3QgYmUgY29ycmVjdCBwYXRobmFtZQpAQCAtMTYyNSwxNSArMTY1NywxNSBAQAogCW15ICRjbnRybCA9IHNoaWZ0OwogCW15ICVvcHRzID0gQF87CiAJbXkgJWVzID0gKCAjIGNoYXJhY3RlciBlc2NhcGUgY29kZXMsIGFrYSBlc2NhcGUgc2VxdWVuY2VzCi0JCSJcdCIgPT4gJ1x0JywgICAjIHRhYiAgICAgICAgICAgIChIVCkKLQkJIlxuIiA9PiAnXG4nLCAgICMgbGluZSBmZWVkICAgICAgKExGKQotCQkiXHIiID0+ICdccicsICAgIyBjYXJyaWdlIHJldHVybiAoQ1IpCi0JCSJcZiIgPT4gJ1xmJywgICAjIGZvcm0gZmVlZCAgICAgIChGRikKLQkJIlxiIiA9PiAnXGInLCAgICMgYmFja3NwYWNlICAgICAgKEJTKQotCQkiXGEiID0+ICdcYScsICAgIyBhbGFybSAoYmVsbCkgICAoQkVMKQotCQkiXGUiID0+ICdcZScsICAgIyBlc2NhcGUgICAgICAgICAoRVNDKQotCQkiXDAxMyIgPT4gJ1x2JywgIyB2ZXJ0aWNhbCB0YWIgICAoVlQpCi0JCSJcMDAwIiA9PiAnXDAnLCAjIG51bCBjaGFyYWN0ZXIgIChOVUwpCisJCSJcdCIgPT4gJ1x0JywgICAjIHRhYiAgICAgICAgICAgICAoSFQpCisJCSJcbiIgPT4gJ1xuJywgICAjIGxpbmUgZmVlZCAgICAgICAoTEYpCisJCSJcciIgPT4gJ1xyJywgICAjIGNhcnJpYWdlIHJldHVybiAoQ1IpCisJCSJcZiIgPT4gJ1xmJywgICAjIGZvcm0gZmVlZCAgICAgICAoRkYpCisJCSJcYiIgPT4gJ1xiJywgICAjIGJhY2tzcGFjZSAgICAgICAoQlMpCisJCSJcYSIgPT4gJ1xhJywgICAjIGFsYXJtIChiZWxsKSAgICAoQkVMKQorCQkiXGUiID0+ICdcZScsICAgIyBlc2NhcGUgICAgICAgICAgKEVTQykKKwkJIlwwMTMiID0+ICdcdicsICMgdmVydGljYWwgdGFiICAgIChWVCkKKwkJIlwwMDAiID0+ICdcMCcsICMgbnVsIGNoYXJhY3RlciAgIChOVUwpCiAJKTsKIAlteSAkY2hyID0gKCAoZXhpc3RzICRlc3skY250cmx9KQogCQkgICAgPyAkZXN7JGNudHJsfQpAQCAtMjAyOCw2ICsyMDYwLDkgQEAKIHN1YiBmb3JtYXRfbG9nX2xpbmVfaHRtbCB7CiAJbXkgJGxpbmUgPSBzaGlmdDsKIAorCSMgUG90ZW50aWFsbHkgYWJicmV2aWF0ZWQgT0lELgorCW15ICRyZWdleCA9IG9pZF9ubGVuX3JlZ2V4KCI3LDY0Iik7CisKIAkkbGluZSA9IGVzY19odG1sKCRsaW5lLCAtbmJzcD0+MSk7CiAJJGxpbmUgPX4gc3sKICAgICAgICAgXGIKQEAgLTIwMzcsMTAgKzIwNzIsMTAgQEAKICAgICAgICAgICAgICg/PCEtKSAjIHNlZSBzdHJidWZfY2hlY2tfdGFnX3JlZigpLiBUYWdzIGNhbid0IHN0YXJ0IHdpdGggLQogICAgICAgICAgICAgW0EtWmEtejAtOS4tXSsKICAgICAgICAgICAgICg/IVwuKSAjIHJlZnMgY2FuJ3QgZW5kIHdpdGggIi4iLCBzZWUgY2hlY2tfcmVmbmFtZV9mb3JtYXQoKQotICAgICAgICAgICAgLWdbMC05YS1mQS1GXXs3LDQwfQorICAgICAgICAgICAgLWckcmVnZXgKICAgICAgICAgICAgIHwKICAgICAgICAgICAgICMgSnVzdCBhIG5vcm1hbCBsb29raW5nIEdpdCBTSEExCi0gICAgICAgICAgICBbMC05YS1mQS1GXXs3LDQwfQorCSAgICAkcmVnZXgKICAgICAgICAgKQogICAgICAgICBcYgogICAgIH17CkBAIC0yMjg2LDcgKzIzMjEsOCBAQAogCQkgICAgICAgICAnKTwvc3Bhbj4nOwogCX0KIAkjIG1hdGNoIDxoYXNoPgotCWlmICgkbGluZSA9fiBtL15pbmRleCBbMC05YS1mQS1GXXs0MH0sWzAtOWEtZkEtRl17NDB9LykgeworCWlmICgkbGluZSA9fiBvaWRfbmxlbl9wcmVmaXhfaW5maXhfcmVnZXgoJHNoYTFfbGVuLCAiaW5kZXggIiwgIiwiKSB8CisJICAgICRsaW5lID1+IG9pZF9ubGVuX3ByZWZpeF9pbmZpeF9yZWdleCgkc2hhMjU2X2xlbiwgImluZGV4ICIsICIsIikpIHsKIAkJIyBjYW4gbWF0Y2ggb25seSBmb3IgY29tYmluZWQgZGlmZgogCQkkbGluZSA9ICdpbmRleCAnOwogCQlmb3IgKG15ICRpID0gMDsgJGkgPCAkZGlmZmluZm8tPnsnbnBhcmVudHMnfTsgJGkrKykgewpAQCAtMjMwOCw3ICsyMzQ0LDggQEAKIAkJCSRsaW5lIC49ICcwJyB4IDc7CiAJCX0KIAotCX0gZWxzaWYgKCRsaW5lID1+IG0vXmluZGV4IFswLTlhLWZBLUZdezQwfS4uWzAtOWEtZkEtRl17NDB9LykgeworCX0gZWxzaWYgKCRsaW5lID1+IG9pZF9ubGVuX3ByZWZpeF9pbmZpeF9yZWdleCgkc2hhMV9sZW4sICJpbmRleCAiLCAiLi4iKSB8CisJCSAkbGluZSA9fiBvaWRfbmxlbl9wcmVmaXhfaW5maXhfcmVnZXgoJHNoYTI1Nl9sZW4sICJpbmRleCAiLCAiLi4iKSkgewogCQkjIGNhbiBtYXRjaCBvbmx5IGZvciBvcmRpbmFyeSBkaWZmCiAJCW15ICgkZnJvbV9saW5rLCAkdG9fbGluayk7CiAJCWlmICgkZnJvbS0+eydocmVmJ30pIHsKQEAgLTI4MzQsNyArMjg3MSw3IEBACiAJfQogCiAJIycxMDA2NDQgYmxvYiAwZmEzZjNhNjZmYjZhMTM3ZjZlYzJjMTkzNTFlZDRkODA3MDcwZmZhCXBhbmljLmMnCi0JJGxpbmUgPX4gbS9eKFswLTldKykgKC4rKSAoWzAtOWEtZkEtRl17NDB9KVx0LzsKKwkkbGluZSA9fiBtL14oWzAtOV0rKSAoLispICgkb2lkX3JlZ2V4KVx0LzsKIAlpZiAoZGVmaW5lZCAkdHlwZSAmJiAkdHlwZSBuZSAkMikgewogCQkjIHR5cGUgZG9lc24ndCBtYXRjaAogCQlyZXR1cm4gdW5kZWY7CkBAIC0zMzMzLDcgKzMzNzAsNyBAQAogCiAJd2hpbGUgKG15ICRsaW5lID0gPCRmZD4pIHsKIAkJY2hvbXAgJGxpbmU7Ci0JCWlmICgkbGluZSA9fiBtIV4oWzAtOWEtZkEtRl17NDB9KVxzcmVmcy8oJHR5cGUuKikkISkgeworCQlpZiAoJGxpbmUgPX4gbSFeKCRvaWRfcmVnZXgpXHNyZWZzLygkdHlwZS4qKSQhKSB7CiAJCQlpZiAoZGVmaW5lZCAkcmVmc3skMX0pIHsKIAkJCQlwdXNoIEB7JHJlZnN7JDF9fSwgJDI7CiAJCQl9IGVsc2UgewpAQCAtMzQwNyw3ICszNDQ0LDcgQEAKIAkkdGFneydpZCd9ID0gJHRhZ19pZDsKIAl3aGlsZSAobXkgJGxpbmUgPSA8JGZkPikgewogCQljaG9tcCAkbGluZTsKLQkJaWYgKCRsaW5lID1+IG0vXm9iamVjdCAoWzAtOWEtZkEtRl17NDB9KSQvKSB7CisJCWlmICgkbGluZSA9fiBtL15vYmplY3QgKCRvaWRfcmVnZXgpJC8pIHsKIAkJCSR0YWd7J29iamVjdCd9ID0gJDE7CiAJCX0gZWxzaWYgKCRsaW5lID1+IG0vXnR5cGUgKC4rKSQvKSB7CiAJCQkkdGFneyd0eXBlJ30gPSAkMTsKQEAgLTM0NTEsMTUgKzM0ODgsMTUgQEAKIAl9CiAKIAlteSAkaGVhZGVyID0gc2hpZnQgQGNvbW1pdF9saW5lczsKLQlpZiAoJGhlYWRlciAhfiBtL15bMC05YS1mQS1GXXs0MH0vKSB7CisJaWYgKCRoZWFkZXIgIX4gbS9eJG9pZF9yZWdleC8pIHsKIAkJcmV0dXJuOwogCX0KIAkoJGNveydpZCd9LCBteSBAcGFyZW50cykgPSBzcGxpdCAnICcsICRoZWFkZXI7CiAJd2hpbGUgKG15ICRsaW5lID0gc2hpZnQgQGNvbW1pdF9saW5lcykgewogCQlsYXN0IGlmICRsaW5lIGVxICJcbiI7Ci0JCWlmICgkbGluZSA9fiBtL150cmVlIChbMC05YS1mQS1GXXs0MH0pJC8pIHsKKwkJaWYgKCRsaW5lID1+IG0vXnRyZWUgKCRvaWRfcmVnZXgpJC8pIHsKIAkJCSRjb3sndHJlZSd9ID0gJDE7Ci0JCX0gZWxzaWYgKCghZGVmaW5lZCAkd2l0aHBhcmVudHMpICYmICgkbGluZSA9fiBtL15wYXJlbnQgKFswLTlhLWZBLUZdezQwfSkkLykpIHsKKwkJfSBlbHNpZiAoKCFkZWZpbmVkICR3aXRocGFyZW50cykgJiYgKCRsaW5lID1+IG0vXnBhcmVudCAoJG9pZF9yZWdleCkkLykpIHsKIAkJCXB1c2ggQHBhcmVudHMsICQxOwogCQl9IGVsc2lmICgkbGluZSA9fiBtL15hdXRob3IgKC4qKSAoWzAtOV0rKSAoLiopJC8pIHsKIAkJCSRjb3snYXV0aG9yJ30gPSB0b191dGY4KCQxKTsKQEAgLTM1OTEsNyArMzYyOCw3IEBACiAKIAkjICc6MTAwNjQ0IDEwMDY0NCAwM2IyMTgyNjBlOTliNzhjNmRmMGVkMzc4ZTU5ZWQ5MjA1Y2NjOTZkIDNiOTNkNWU3Y2M3ZjdkZDRlYmVkMTNhNWNjMWE0YWQ5NzZmYzk0ZDggTQlscy1maWxlcy5jJwogCSMgJzoxMDA2NDQgMTAwNjQ0IDdmOTI4MTk4NTA4Njk3MWQzODc3YWNhMjc3MDRmMmFhZjljNDQ4Y2UgYmMxOTBlYmM3MWJiZDkyM2YyYjcyOGU1MDU0MDhmNWU1NGJkMDczYSBNCXJldi10cmVlLmMnCi0JaWYgKCRsaW5lID1+IG0vXjooWzAtN117Nn0pIChbMC03XXs2fSkgKFswLTlhLWZBLUZdezQwfSkgKFswLTlhLWZBLUZdezQwfSkgKC4pKFswLTldezAsM30pXHQoLiopJC8pIHsKKwlpZiAoJGxpbmUgPX4gbS9eOihbMC03XXs2fSkgKFswLTddezZ9KSAoJG9pZF9yZWdleCkgKCRvaWRfcmVnZXgpICguKShbMC05XXswLDN9KVx0KC4qKSQvKSB7CiAJCSRyZXN7J2Zyb21fbW9kZSd9ID0gJDE7CiAJCSRyZXN7J3RvX21vZGUnfSA9ICQyOwogCQkkcmVzeydmcm9tX2lkJ30gPSAkMzsKQEAgLTM2MDYsNyArMzY0Myw3IEBACiAJfQogCSMgJzo6MTAwNzU1IDEwMDc1NSAxMDA3NTUgNjBlNzljYTFiMDFiYzhiMDU3YWJlMTdkZGFiNDg0Njk5YTdmNWZkYiA5NDA2N2NjNWY3MzM4OGYzMzcyMmQ1MmFlMDJmNDQ2OTJiYzA3NDkwIDk0MDY3Y2M1ZjczMzg4ZjMzNzIyZDUyYWUwMmY0NDY5MmJjMDc0OTAgTVIJZ2l0LWd1aS9naXQtZ3VpLnNoJwogCSMgY29tYmluZWQgZGlmZiAoZm9yIG1lcmdlIGNvbW1pdCkKLQllbHNpZiAoJGxpbmUgPX4gcy9eKDo6KykoKD86WzAtN117Nn0gKSspKCg/OlswLTlhLWZBLUZdezQwfSApKykoW2EtekEtWl0rKVx0KC4qKSQvLykgeworCWVsc2lmICgkbGluZSA9fiBzL14oOjorKSgoPzpbMC03XXs2fSApKykoKD86JG9pZF9yZWdleCApKykoW2EtekEtWl0rKVx0KC4qKSQvLykgewogCQkkcmVzeyducGFyZW50cyd9ICA9IGxlbmd0aCgkMSk7CiAJCSRyZXN7J2Zyb21fbW9kZSd9ID0gWyBzcGxpdCgnICcsICQyKSBdOwogCQkkcmVzeyd0b19tb2RlJ30gPSBwb3AgQHskcmVzeydmcm9tX21vZGUnfX07CkBAIC0zNjE2LDcgKzM2NTMsNyBAQAogCQkkcmVzeyd0b19maWxlJ30gPSB1bnF1b3RlKCQ1KTsKIAl9CiAJIyAnYzUxMmI1MjM0NzI0ODVhZWY0ZmZmOWU1N2IyMjlkOWQyNDNjOTY3ZicKLQllbHNpZiAoJGxpbmUgPX4gbS9eKFswLTlhLWZBLUZdezQwfSkkLykgeworCWVsc2lmICgkbGluZSA9fiBtL14oJG9pZF9yZWdleCkkLykgewogCQkkcmVzeydjb21taXQnfSA9ICQxOwogCX0KIApAQCAtMzY0NCw3ICszNjgxLDcgQEAKIAogCWlmICgkb3B0c3snLWwnfSkgewogCQkjJzEwMDY0NCBibG9iIDBmYTNmM2E2NmZiNmExMzdmNmVjMmMxOTM1MWVkNGQ4MDcwNzBmZmEgICAxNjcxNwlwYW5pYy5jJwotCQkkbGluZSA9fiBtL14oWzAtOV0rKSAoLispIChbMC05YS1mQS1GXXs0MH0pICsoLXxbMC05XSspXHQoLispJC9zOworCQkkbGluZSA9fiBtL14oWzAtOV0rKSAoLispICgkb2lkX3JlZ2V4KSArKC18WzAtOV0rKVx0KC4rKSQvczsKIAogCQkkcmVzeydtb2RlJ30gPSAkMTsKIAkJJHJlc3sndHlwZSd9ID0gJDI7CkBAIC0zNjU3LDcgKzM2OTQsNyBAQAogCQl9CiAJfSBlbHNlIHsKIAkJIycxMDA2NDQgYmxvYiAwZmEzZjNhNjZmYjZhMTM3ZjZlYzJjMTkzNTFlZDRkODA3MDcwZmZhCXBhbmljLmMnCi0JCSRsaW5lID1+IG0vXihbMC05XSspICguKykgKFswLTlhLWZBLUZdezQwfSlcdCguKykkL3M7CisJCSRsaW5lID1+IG0vXihbMC05XSspICguKykgKCRvaWRfcmVnZXgpXHQoLispJC9zOwogCiAJCSRyZXN7J21vZGUnfSA9ICQxOwogCQkkcmVzeyd0eXBlJ30gPSAkMjsKQEAgLTQwMTEsNyArNDA0OCw3IEBACiAKIAkJCSRocmVmX3BhcmFtc3snZXh0cmFfb3B0aW9ucyd9ID0gdW5kZWY7CiAJCQkkaHJlZl9wYXJhbXN7J2FjdGlvbid9ID0gJHR5cGU7Ci0JCQkkbGlua19hdHRyeyctaHJlZid9ID0gaHJlZiglaHJlZl9wYXJhbXMpOworCQkJJGxpbmtfYXR0cnsnLWhyZWYnfSA9IGVzY19hdHRyKGhyZWYoJWhyZWZfcGFyYW1zKSk7CiAJCQlwcmludCAiPGxpbmsgIi4KIAkJCSAgICAgICJyZWw9XCIkbGlua19hdHRyeyctcmVsJ31cIiAiLgogCQkJICAgICAgInRpdGxlPVwiJGxpbmtfYXR0cnsnLXRpdGxlJ31cIiAiLgpAQCAtNDAyMCw3ICs0MDU3LDcgQEAKIAkJCSAgICAgICIvPlxuIjsKIAogCQkJJGhyZWZfcGFyYW1zeydleHRyYV9vcHRpb25zJ30gPSAnLS1uby1tZXJnZXMnOwotCQkJJGxpbmtfYXR0cnsnLWhyZWYnfSA9IGhyZWYoJWhyZWZfcGFyYW1zKTsKKwkJCSRsaW5rX2F0dHJ7Jy1ocmVmJ30gPSBlc2NfYXR0cihocmVmKCVocmVmX3BhcmFtcykpOwogCQkJJGxpbmtfYXR0cnsnLXRpdGxlJ30gLj0gJyAobm8gbWVyZ2VzKSc7CiAJCQlwcmludCAiPGxpbmsgIi4KIAkJCSAgICAgICJyZWw9XCIkbGlua19hdHRyeyctcmVsJ31cIiAiLgpAQCAtNDAzMywxMCArNDA3MCwxMiBAQAogCX0gZWxzZSB7CiAJCXByaW50ZignPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSIlcyBwcm9qZWN0cyBsaXN0IiAnLgogCQkgICAgICAgJ2hyZWY9IiVzIiB0eXBlPSJ0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04IiAvPicuIlxuIiwKLQkJICAgICAgIGVzY19hdHRyKCRzaXRlX25hbWUpLCBocmVmKHByb2plY3Q9PnVuZGVmLCBhY3Rpb249PiJwcm9qZWN0X2luZGV4IikpOworCQkgICAgICAgZXNjX2F0dHIoJHNpdGVfbmFtZSksCisJCSAgICAgICBlc2NfYXR0cihocmVmKHByb2plY3Q9PnVuZGVmLCBhY3Rpb249PiJwcm9qZWN0X2luZGV4IikpKTsKIAkJcHJpbnRmKCc8bGluayByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IiVzIHByb2plY3RzIGZlZWRzIiAnLgogCQkgICAgICAgJ2hyZWY9IiVzIiB0eXBlPSJ0ZXh0L3gtb3BtbCIgLz4nLiJcbiIsCi0JCSAgICAgICBlc2NfYXR0cigkc2l0ZV9uYW1lKSwgaHJlZihwcm9qZWN0PT51bmRlZiwgYWN0aW9uPT4ib3BtbCIpKTsKKwkJICAgICAgIGVzY19hdHRyKCRzaXRlX25hbWUpLAorCQkgICAgICAgZXNjX2F0dHIoaHJlZihwcm9qZWN0PT51bmRlZiwgYWN0aW9uPT4ib3BtbCIpKSk7CiAJfQogfQogCkBAIC00MjUwLDggKzQyODksOCBAQAogCWlmIChkZWZpbmVkICRhY3Rpb24gJiYKIAkgICAgJGFjdGlvbiBlcSAnYmxhbWVfaW5jcmVtZW50YWwnKSB7CiAJCXByaW50IHFxITxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5cbiEuCi0JCSAgICAgIHFxIXN0YXJ0QmxhbWUoIiEuIGhyZWYoYWN0aW9uPT4iYmxhbWVfZGF0YSIsIC1yZXBsYXk9PjEpIC5xcSEiLFxuIS4KLQkJICAgICAgcXEhICAgICAgICAgICAiIS4gaHJlZigpIC5xcSEiKTtcbiEuCisJCSAgICAgIHFxIXN0YXJ0QmxhbWUoIiEuIGVzY19hdHRyKGhyZWYoYWN0aW9uPT4iYmxhbWVfZGF0YSIsIC1yZXBsYXk9PjEpKSAucXEhIixcbiEuCisJCSAgICAgIHFxISAgICAgICAgICAgIiEuIGVzY19hdHRyKGhyZWYoKSkgLnFxISIpO1xuIS4KIAkJICAgICAgcXEhPC9zY3JpcHQ+XG4hOwogCX0gZWxzZSB7CiAJCW15ICgkanN0aW1lem9uZSwgJHR6X2Nvb2tpZSwgJGRhdGV0aW1lX2NsYXNzKSA9CkBAIC00Nzk5LDcgKzQ4MzgsNyBAQAogc3ViIGlzX2RlbGV0ZWQgewogCW15ICRkaWZmaW5mbyA9IHNoaWZ0OwogCi0JcmV0dXJuICRkaWZmaW5mby0+eyd0b19pZCd9IGVxICgnMCcgeCA0MCk7CisJcmV0dXJuICRkaWZmaW5mby0+eyd0b19pZCd9IGVxICgnMCcgeCA0MCkgfHwgJGRpZmZpbmZvLT57J3RvX2lkJ30gZXEgKCcwJyB4IDY0KTsKIH0KIAogIyBkb2VzIHBhdGNoIGNvcnJlc3BvbmQgdG8gW3ByZXZpb3VzXSBkaWZmdHJlZSByYXcgbGluZQpAQCAtNTI0Niw3ICs1Mjg1LDcgQEAKIAkJIyAgICArIGMKIAkJIyAgICsgIGQKIAkJIwotCQkjIE90aGVyd2lzZSB0aGUgaGlnaGxpZ2h0bGluZyB3b3VsZCBiZSBjb25mdXNpbmcuCisJCSMgT3RoZXJ3aXNlIHRoZSBoaWdobGlnaHRpbmcgd291bGQgYmUgY29uZnVzaW5nLgogCQlpZiAoJGlzX2NvbWJpbmVkKSB7CiAJCQlmb3IgKG15ICRpID0gMDsgJGkgPCBAJGFkZDsgJGkrKykgewogCQkJCW15ICRwcmVmaXhfcmVtID0gc3Vic3RyKCRyZW0tPlskaV0sIDAsICRudW1fcGFyZW50cyk7CkBAIC02Mjg1LDcgKzYzMjQsNyBAQAogCQkJICAgICAgICAgICAgICAtY2xhc3MgPT4gImxpc3Qgc3ViamVjdCJ9LAogCQkJICAgICAgICAgICAgICBjaG9wX2FuZF9lc2NhcGVfc3RyKCRjb3sndGl0bGUnfSwgNTApIC4gIjxici8+Iik7CiAJCX0gZWxzaWYgKGRlZmluZWQgJHNldHsndG9faWQnfSkgewotCQkJbmV4dCBpZiAoJHNldHsndG9faWQnfSA9fiBtL14wezQwfSQvKTsKKwkJCW5leHQgaWYgaXNfZGVsZXRlZChcJXNldCk7CiAKIAkJCXByaW50ICRjZ2ktPmEoey1ocmVmID0+IGhyZWYoYWN0aW9uPT4iYmxvYiIsIGhhc2hfYmFzZT0+JGNveydpZCd9LAogCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNoPT4kc2V0eyd0b19pZCd9LCBmaWxlX25hbWU9PiRzZXR7J3RvX2ZpbGUnfSksCkBAIC02ODI5LDcgKzY4NjgsNyBAQAogCQkJIyB0aGUgaGVhZGVyOiA8U0hBLTE+IDxzcmMgbGluZW5vPiA8ZHN0IGxpbmVubz4gWzxsaW5lcyBpbiBncm91cD5dCiAJCQkjIG5vIDxsaW5lcyBpbiBncm91cD4gZm9yIHN1YnNlcXVlbnQgbGluZXMgaW4gZ3JvdXAgb2YgbGluZXMKIAkJCW15ICgkZnVsbF9yZXYsICRvcmlnX2xpbmVubywgJGxpbmVubywgJGdyb3VwX3NpemUpID0KLQkJCSAgICgkbGluZSA9fiAvXihbMC05YS1mXXs0MH0pIChcZCspIChcZCspKD86IChcZCspKT8kLyk7CisJCQkgICAoJGxpbmUgPX4gL14oJG9pZF9yZWdleCkgKFxkKykgKFxkKykoPzogKFxkKykpPyQvKTsKIAkJCWlmICghZXhpc3RzICRtZXRhaW5mb3skZnVsbF9yZXZ9KSB7CiAJCQkJJG1ldGFpbmZveyRmdWxsX3Jldn0gPSB7ICducHJldmlvdXMnID0+IDAgfTsKIAkJCX0KQEAgLTY4NzksNyArNjkxOCw3IEBACiAJCQl9CiAJCQkjICdwcmV2aW91cycgPHNoYTEgb2YgcGFyZW50IGNvbW1pdD4gPGZpbGVuYW1lIGF0IGNvbW1pdD4KIAkJCWlmIChleGlzdHMgJG1ldGEtPnsncHJldmlvdXMnfSAmJgotCQkJICAgICRtZXRhLT57J3ByZXZpb3VzJ30gPX4gL14oW2EtZkEtRjAtOV17NDB9KSAoLiopJC8pIHsKKwkJCSAgICAkbWV0YS0+eydwcmV2aW91cyd9ID1+IC9eKCRvaWRfcmVnZXgpICguKikkLykgewogCQkJCSRtZXRhLT57J3BhcmVudCd9ID0gJDE7CiAJCQkJJG1ldGEtPnsnZmlsZV9wYXJlbnQnfSA9IHVucXVvdGUoJDIpOwogCQkJfQpAQCAtNjk5Niw3ICs3MDM1LDcgQEAKIAkJfSBlbHNlIHsKIAkJCWRpZV9lcnJvcig0MDAsICJObyBmaWxlIG5hbWUgZGVmaW5lZCIpOwogCQl9Ci0JfSBlbHNpZiAoJGhhc2ggPX4gbS9eWzAtOWEtZkEtRl17NDB9JC8pIHsKKwl9IGVsc2lmICgkaGFzaCA9fiBtL14kb2lkX3JlZ2V4JC8pIHsKIAkJIyBibG9icyBkZWZpbmVkIGJ5IG5vbi10ZXh0dWFsIGhhc2ggaWQncyBjYW4gYmUgY2FjaGVkCiAJCSRleHBpcmVzID0gIisxZCI7CiAJfQpAQCAtNzA1Nyw3ICs3MDk2LDcgQEAKIAkJfSBlbHNlIHsKIAkJCWRpZV9lcnJvcig0MDAsICJObyBmaWxlIG5hbWUgZGVmaW5lZCIpOwogCQl9Ci0JfSBlbHNpZiAoJGhhc2ggPX4gbS9eWzAtOWEtZkEtRl17NDB9JC8pIHsKKwl9IGVsc2lmICgkaGFzaCA9fiBtL14kb2lkX3JlZ2V4JC8pIHsKIAkJIyBibG9icyBkZWZpbmVkIGJ5IG5vbi10ZXh0dWFsIGhhc2ggaWQncyBjYW4gYmUgY2FjaGVkCiAJCSRleHBpcmVzID0gIisxZCI7CiAJfQpAQCAtNzExOCw4ICs3MTU3LDggQEAKIAkJCXByaW50IHFxISBhbHQ9IiEuZXNjX2F0dHIoJGZpbGVfbmFtZSkucXEhIiB0aXRsZT0iIS5lc2NfYXR0cigkZmlsZV9uYW1lKS5xcSEiITsKIAkJfQogCQlwcmludCBxcSEgc3JjPSIhIC4KLQkJICAgICAgaHJlZihhY3Rpb249PiJibG9iX3BsYWluIiwgaGFzaD0+JGhhc2gsCi0JCSAgICAgICAgICAgaGFzaF9iYXNlPT4kaGFzaF9iYXNlLCBmaWxlX25hbWU9PiRmaWxlX25hbWUpIC4KKwkJICAgICAgZXNjX2F0dHIoaHJlZihhY3Rpb249PiJibG9iX3BsYWluIiwgaGFzaD0+JGhhc2gsCisJCSAgICAgICAgICAgaGFzaF9iYXNlPT4kaGFzaF9iYXNlLCBmaWxlX25hbWU9PiRmaWxlX25hbWUpKSAuCiAJCSAgICAgIHFxISIgLz5cbiE7CiAJfSBlbHNlIHsKIAkJbXkgJG5yOwpAQCAtNzUxNSw3ICs3NTU0LDcgQEAKIAogCSMgbm9uLXRleHR1YWwgaGFzaCBpZCdzIGNhbiBiZSBjYWNoZWQKIAlteSAkZXhwaXJlczsKLQlpZiAoJGhhc2ggPX4gbS9eWzAtOWEtZkEtRl17NDB9JC8pIHsKKwlpZiAoJGhhc2ggPX4gbS9eJG9pZF9yZWdleCQvKSB7CiAJCSRleHBpcmVzID0gIisxZCI7CiAJfQogCW15ICRyZWZzID0gZ2l0X2dldF9yZWZlcmVuY2VzKCk7CkBAIC03NjA5LDcgKzc2NDgsNyBAQAogCQljbG9zZSAkZmQ7CiAKIAkJIycxMDA2NDQgYmxvYiAwZmEzZjNhNjZmYjZhMTM3ZjZlYzJjMTkzNTFlZDRkODA3MDcwZmZhCXBhbmljLmMnCi0JCXVubGVzcyAoJGxpbmUgJiYgJGxpbmUgPX4gbS9eKFswLTldKykgKC4rKSAoWzAtOWEtZkEtRl17NDB9KVx0LykgeworCQl1bmxlc3MgKCRsaW5lICYmICRsaW5lID1+IG0vXihbMC05XSspICguKykgKCRvaWRfcmVnZXgpXHQvKSB7CiAJCQlkaWVfZXJyb3IoNDA0LCAiRmlsZSBvciBkaXJlY3RvcnkgZm9yIGdpdmVuIGJhc2UgZG9lcyBub3QgZXhpc3QiKTsKIAkJfQogCQkkdHlwZSA9ICQyOwpAQCAtNzY0OSw3ICs3Njg4LDcgQEAKIAkJCQlvciBkaWVfZXJyb3IoNDA0LCAiQmxvYiBkaWZmIG5vdCBmb3VuZCIpOwogCiAJCX0gZWxzaWYgKGRlZmluZWQgJGhhc2ggJiYKLQkJICAgICAgICAgJGhhc2ggPX4gL1swLTlhLWZBLUZdezQwfS8pIHsKKwkJICAgICAgICAgJGhhc2ggPX4gJG9pZF9yZWdleCkgewogCQkJIyB0cnkgdG8gZmluZCBmaWxlbmFtZSBmcm9tICRoYXNoCiAKIAkJCSMgcmVhZCBmaWx0ZXJlZCByYXcgb3V0cHV0CkBAIC03NjU5LDcgKzc2OTgsNyBAQAogCQkJQGRpZmZ0cmVlID0KIAkJCQkjICc6MTAwNjQ0IDEwMDY0NCAwM2IyMTgyNi4uLiAzYjkzZDVlNy4uLiBNCWxzLWZpbGVzLmMnCiAJCQkJIyAkaGFzaCA9PSB0b19pZAotCQkJCWdyZXAgeyAvXjpbMC03XXs2fSBbMC03XXs2fSBbMC05YS1mQS1GXXs0MH0gJGhhc2gvIH0KKwkJCQlncmVwIHsgL146WzAtN117Nn0gWzAtN117Nn0gJG9pZF9yZWdleCAkaGFzaC8gfQogCQkJCW1hcCB7IGNob21wOyAkXyB9IDwkZmQ+OwogCQkJY2xvc2UgJGZkCiAJCQkJb3IgZGllX2Vycm9yKDQwNCwgIlJlYWRpbmcgZ2l0LWRpZmYtdHJlZSBmYWlsZWQiKTsKQEAgLTc2ODIsOCArNzcyMSw4IEBACiAJCSRoYXNoICAgICAgICB8fD0gJGRpZmZpbmZveyd0b19pZCd9OwogCiAJCSMgbm9uLXRleHR1YWwgaGFzaCBpZCdzIGNhbiBiZSBjYWNoZWQKLQkJaWYgKCRoYXNoX2Jhc2UgPX4gbS9eWzAtOWEtZkEtRl17NDB9JC8gJiYKLQkJICAgICRoYXNoX3BhcmVudF9iYXNlID1+IG0vXlswLTlhLWZBLUZdezQwfSQvKSB7CisJCWlmICgkaGFzaF9iYXNlID1+IG0vXiRvaWRfcmVnZXgkLyAmJgorCQkgICAgJGhhc2hfcGFyZW50X2Jhc2UgPX4gbS9eJG9pZF9yZWdleCQvKSB7CiAJCQkkZXhwaXJlcyA9ICcrMWQnOwogCQl9CiAKQEAgLTc4MTksNyArNzg1OCw3IEBACiAJCSAgICAkaGFzaF9wYXJlbnQgbmUgJy1jJyAmJiAkaGFzaF9wYXJlbnQgbmUgJy0tY2MnKSB7CiAJCQkjIGNvbW1pdGRpZmYgd2l0aCB0d28gY29tbWl0cyBnaXZlbgogCQkJbXkgJGhhc2hfcGFyZW50X3Nob3J0ID0gJGhhc2hfcGFyZW50OwotCQkJaWYgKCRoYXNoX3BhcmVudCA9fiBtL15bMC05YS1mQS1GXXs0MH0kLykgeworCQkJaWYgKCRoYXNoX3BhcmVudCA9fiBtL14kb2lkX3JlZ2V4JC8pIHsKIAkJCQkkaGFzaF9wYXJlbnRfc2hvcnQgPSBzdWJzdHIoJGhhc2hfcGFyZW50LCAwLCA3KTsKIAkJCX0KIAkJCSRmb3JtYXRzX25hdiAuPQpAQCAtNzkyOCw3ICs3OTY3LDcgQEAKIAogCSMgbm9uLXRleHR1YWwgaGFzaCBpZCdzIGNhbiBiZSBjYWNoZWQKIAlteSAkZXhwaXJlczsKLQlpZiAoJGhhc2ggPX4gbS9eWzAtOWEtZkEtRl17NDB9JC8pIHsKKwlpZiAoJGhhc2ggPX4gbS9eJG9pZF9yZWdleCQvKSB7CiAJCSRleHBpcmVzID0gIisxZCI7CiAJfQogCkBAIC04MjAyLDYgKzgyNDEsNyBAQAogCX0gZWxzZSB7CiAJCSRhbHRfdXJsID0gaHJlZigtZnVsbD0+MSwgYWN0aW9uPT4ic3VtbWFyeSIpOwogCX0KKwkkYWx0X3VybCA9IGVzY19hdHRyKCRhbHRfdXJsKTsKIAlwcmludCBxcSE8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PlxuITsKIAlpZiAoJGZvcm1hdCBlcSAncnNzJykgewogCQlwcmludCA8PFhNTDsKQEAgLTgyMzksNyArODI3OSw3IEBACiAJCSAgICAgICRhbHRfdXJsIC4gJyIgLz4nIC4gIlxuIiAuCiAJCSAgICAgICc8bGluayByZWw9InNlbGYiIHR5cGU9IicgLiAkY29udGVudF90eXBlIC4gJyIgaHJlZj0iJyAuCiAJCSAgICAgICRjZ2ktPnNlbGZfdXJsKCkgLiAnIiAvPicgLiAiXG4iIC4KLQkJICAgICAgIjxpZD4iIC4gaHJlZigtZnVsbD0+MSkgLiAiPC9pZD5cbiIgLgorCQkgICAgICAiPGlkPiIgLiBlc2NfdXJsKGhyZWYoLWZ1bGw9PjEpKSAuICI8L2lkPlxuIiAuCiAJCSAgICAgICMgdXNlIHByb2plY3Qgb3duZXIgZm9yIGZlZWQgYXV0aG9yCiAJCSAgICAgICI8YXV0aG9yPjxuYW1lPiRvd25lcjwvbmFtZT48L2F1dGhvcj5cbiI7CiAJCWlmIChkZWZpbmVkICRmYXZpY29uKSB7CkBAIC04Mjg1LDcgKzgzMjUsNyBAQAogCQkJICAgICAgIjxhdXRob3I+IiAuIGVzY19odG1sKCRjb3snYXV0aG9yJ30pIC4gIjwvYXV0aG9yPlxuIiAuCiAJCQkgICAgICAiPHB1YkRhdGU+JGNkeydyZmMyODIyJ308L3B1YkRhdGU+XG4iIC4KIAkJCSAgICAgICI8Z3VpZCBpc1Blcm1hTGluaz1cInRydWVcIj4kY29fdXJsPC9ndWlkPlxuIiAuCi0JCQkgICAgICAiPGxpbms+JGNvX3VybDwvbGluaz5cbiIgLgorCQkJICAgICAgIjxsaW5rPiIgLiBlc2NfaHRtbCgkY29fdXJsKSAuICI8L2xpbms+XG4iIC4KIAkJCSAgICAgICI8ZGVzY3JpcHRpb24+IiAuIGVzY19odG1sKCRjb3sndGl0bGUnfSkgLiAiPC9kZXNjcmlwdGlvbj5cbiIgLgogCQkJICAgICAgIjxjb250ZW50OmVuY29kZWQ+IiAuCiAJCQkgICAgICAiPCFbQ0RBVEFbXG4iOwpAQCAtODMwNyw4ICs4MzQ3LDggQEAKIAkJCX0KIAkJCXByaW50ICI8L2NvbnRyaWJ1dG9yPlxuIiAuCiAJCQkgICAgICAiPHB1Ymxpc2hlZD4kY2R7J2lzby04NjAxJ308L3B1Ymxpc2hlZD5cbiIgLgotCQkJICAgICAgIjxsaW5rIHJlbD1cImFsdGVybmF0ZVwiIHR5cGU9XCJ0ZXh0L2h0bWxcIiBocmVmPVwiJGNvX3VybFwiIC8+XG4iIC4KLQkJCSAgICAgICI8aWQ+JGNvX3VybDwvaWQ+XG4iIC4KKwkJCSAgICAgICI8bGluayByZWw9XCJhbHRlcm5hdGVcIiB0eXBlPVwidGV4dC9odG1sXCIgaHJlZj1cIiIgLiBlc2NfYXR0cigkY29fdXJsKSAuICJcIiAvPlxuIiAuCisJCQkgICAgICAiPGlkPiIgLiBlc2NfaHRtbCgkY29fdXJsKSAuICI8L2lkPlxuIiAuCiAJCQkgICAgICAiPGNvbnRlbnQgdHlwZT1cInhodG1sXCIgeG1sOmJhc2U9XCIiIC4gZXNjX3VybCgkbXlfdXJsKSAuICJcIj5cbiIgLgogCQkJICAgICAgIjxkaXYgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXCI+XG4iOwogCQl9CkBAIC04NDE1LDggKzg0NTUsOCBAQAogCQl9CiAKIAkJbXkgJHBhdGggPSBlc2NfaHRtbChjaG9wX3N0cigkcHJvansncGF0aCd9LCAyNSwgNSkpOwotCQlteSAkcnNzICA9IGhyZWYoJ3Byb2plY3QnID0+ICRwcm9qeydwYXRoJ30sICdhY3Rpb24nID0+ICdyc3MnLCAtZnVsbCA9PiAxKTsKLQkJbXkgJGh0bWwgPSBocmVmKCdwcm9qZWN0JyA9PiAkcHJvansncGF0aCd9LCAnYWN0aW9uJyA9PiAnc3VtbWFyeScsIC1mdWxsID0+IDEpOworCQlteSAkcnNzICA9IGVzY19hdHRyKGhyZWYoJ3Byb2plY3QnID0+ICRwcm9qeydwYXRoJ30sICdhY3Rpb24nID0+ICdyc3MnLCAtZnVsbCA9PiAxKSk7CisJCW15ICRodG1sID0gZXNjX2F0dHIoaHJlZigncHJvamVjdCcgPT4gJHByb2p7J3BhdGgnfSwgJ2FjdGlvbicgPT4gJ3N1bW1hcnknLCAtZnVsbCA9PiAxKSk7CiAJCXByaW50ICI8b3V0bGluZSB0eXBlPVwicnNzXCIgdGV4dD1cIiRwYXRoXCIgdGl0bGU9XCIkcGF0aFwiIHhtbFVybD1cIiRyc3NcIiBodG1sVXJsPVwiJGh0bWxcIi8+XG4iOwogCX0KIAlwcmludCA8PFhNTDsKZGlmZiAtLWdpdCBhL2dpdHdlYi9zdGF0aWMvanMvYmxhbWVfaW5jcmVtZW50YWwuanMgYi9naXR3ZWIvc3RhdGljL2pzL2JsYW1lX2luY3JlbWVudGFsLmpzCmluZGV4IGRiNmViNTAuLmUxMDBkODIgMTAwNjQ0Ci0tLSBhL2dpdHdlYi9zdGF0aWMvanMvYmxhbWVfaW5jcmVtZW50YWwuanMKKysrIGIvZ2l0d2ViL3N0YXRpYy9qcy9ibGFtZV9pbmNyZW1lbnRhbC5qcwpAQCAtNDg0LDcgKzQ4NCw3IEBACiAJCQljYXNlICdwcmV2aW91cyc6CiAJCQkJY3VyQ29tbWl0Lm5wcmV2aW91cysrOwogCQkJCS8vIHN0b3JlIG9ubHkgZmlyc3QgJ3ByZXZpb3VzJyBoZWFkZXIKLQkJCQlpZiAoISdwcmV2aW91cycgaW4gY3VyQ29tbWl0KSB7CisJCQkJaWYgKCEoJ3ByZXZpb3VzJyBpbiBjdXJDb21taXQpKSB7CiAJCQkJCXZhciBwYXJ0cyA9IGRhdGEuc3BsaXQoJyAnLCAyKTsKIAkJCQkJY3VyQ29tbWl0LnByZXZpb3VzICAgID0gcGFydHNbMF07CiAJCQkJCWN1ckNvbW1pdC5maWxlX3BhcmVudCA9IHVucXVvdGUocGFydHNbMV0pOwpkaWZmIC0tZ2l0IGEvZ3BnLWludGVyZmFjZS5jIGIvZ3BnLWludGVyZmFjZS5jCmluZGV4IDhlZDI3NDUuLjE2NTI3NGQgMTAwNjQ0Ci0tLSBhL2dwZy1pbnRlcmZhY2UuYworKysgYi9ncGctaW50ZXJmYWNlLmMKQEAgLTcsNiArNyw4IEBACiAjaW5jbHVkZSAidGVtcGZpbGUuaCIKIAogc3RhdGljIGNoYXIgKmNvbmZpZ3VyZWRfc2lnbmluZ19rZXk7CitzdGF0aWMgZW51bSBzaWduYXR1cmVfdHJ1c3RfbGV2ZWwgY29uZmlndXJlZF9taW5fdHJ1c3RfbGV2ZWwgPSBUUlVTVF9VTkRFRklORUQ7CisKIHN0cnVjdCBncGdfZm9ybWF0IHsKIAljb25zdCBjaGFyICpuYW1lOwogCWNvbnN0IGNoYXIgKnByb2dyYW07CkBAIC04NSw2ICs4Nyw4IEBACiAjZGVmaW5lIEdQR19TVEFUVVNfVUlECQkoMTw8MikKIC8qIFRoZSBzdGF0dXMgaW5jbHVkZXMga2V5IGZpbmdlcnByaW50cyAqLwogI2RlZmluZSBHUEdfU1RBVFVTX0ZJTkdFUlBSSU5UCSgxPDwzKQorLyogVGhlIHN0YXR1cyBpbmNsdWRlcyB0cnVzdCBsZXZlbCAqLworI2RlZmluZSBHUEdfU1RBVFVTX1RSVVNUX0xFVkVMCSgxPDw0KQogCiAvKiBTaG9ydC1oYW5kIGZvciBzdGFuZGFyZCBleGNsdXNpdmUgKlNJRyBzdGF0dXMgd2l0aCBrZXlpZCAmIFVJRCAqLwogI2RlZmluZSBHUEdfU1RBVFVTX1NURFNJRwkoR1BHX1NUQVRVU19FWENMVVNJVkV8R1BHX1NUQVRVU19LRVlJRHxHUEdfU1RBVFVTX1VJRCkKQEAgLTk2LDE1ICsxMDAsNDkgQEAKIH0gc2lnY2hlY2tfZ3BnX3N0YXR1c1tdID0gewogCXsgJ0cnLCAiR09PRFNJRyAiLCBHUEdfU1RBVFVTX1NURFNJRyB9LAogCXsgJ0InLCAiQkFEU0lHICIsIEdQR19TVEFUVVNfU1REU0lHIH0sCi0JeyAnVScsICJUUlVTVF9ORVZFUiIsIDAgfSwKLQl7ICdVJywgIlRSVVNUX1VOREVGSU5FRCIsIDAgfSwKIAl7ICdFJywgIkVSUlNJRyAiLCBHUEdfU1RBVFVTX0VYQ0xVU0lWRXxHUEdfU1RBVFVTX0tFWUlEIH0sCiAJeyAnWCcsICJFWFBTSUcgIiwgR1BHX1NUQVRVU19TVERTSUcgfSwKIAl7ICdZJywgIkVYUEtFWVNJRyAiLCBHUEdfU1RBVFVTX1NURFNJRyB9LAogCXsgJ1InLCAiUkVWS0VZU0lHICIsIEdQR19TVEFUVVNfU1REU0lHIH0sCiAJeyAwLCAiVkFMSURTSUcgIiwgR1BHX1NUQVRVU19GSU5HRVJQUklOVCB9LAorCXsgMCwgIlRSVVNUXyIsIEdQR19TVEFUVVNfVFJVU1RfTEVWRUwgfSwKIH07CiAKK3N0YXRpYyBzdHJ1Y3QgeworCWNvbnN0IGNoYXIgKmtleTsKKwllbnVtIHNpZ25hdHVyZV90cnVzdF9sZXZlbCB2YWx1ZTsKK30gc2lnY2hlY2tfZ3BnX3RydXN0X2xldmVsW10gPSB7CisJeyAiVU5ERUZJTkVEIiwgVFJVU1RfVU5ERUZJTkVEIH0sCisJeyAiTkVWRVIiLCBUUlVTVF9ORVZFUiB9LAorCXsgIk1BUkdJTkFMIiwgVFJVU1RfTUFSR0lOQUwgfSwKKwl7ICJGVUxMWSIsIFRSVVNUX0ZVTExZIH0sCisJeyAiVUxUSU1BVEUiLCBUUlVTVF9VTFRJTUFURSB9LAorfTsKKworc3RhdGljIHZvaWQgcmVwbGFjZV9jc3RyaW5nKGNoYXIgKipmaWVsZCwgY29uc3QgY2hhciAqbGluZSwgY29uc3QgY2hhciAqbmV4dCkKK3sKKwlmcmVlKCpmaWVsZCk7CisKKwlpZiAobGluZSAmJiBuZXh0KQorCQkqZmllbGQgPSB4bWVtZHVweihsaW5lLCBuZXh0IC0gbGluZSk7CisJZWxzZQorCQkqZmllbGQgPSBOVUxMOworfQorCitzdGF0aWMgaW50IHBhcnNlX2dwZ190cnVzdF9sZXZlbChjb25zdCBjaGFyICpsZXZlbCwKKwkJCQkgZW51bSBzaWduYXR1cmVfdHJ1c3RfbGV2ZWwgKnJlcykKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNpZ2NoZWNrX2dwZ190cnVzdF9sZXZlbCk7IGkrKykgeworCQlpZiAoIXN0cmNtcChzaWdjaGVja19ncGdfdHJ1c3RfbGV2ZWxbaV0ua2V5LCBsZXZlbCkpIHsKKwkJCSpyZXMgPSBzaWdjaGVja19ncGdfdHJ1c3RfbGV2ZWxbaV0udmFsdWU7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKwlyZXR1cm4gMTsKK30KKwogc3RhdGljIHZvaWQgcGFyc2VfZ3BnX291dHB1dChzdHJ1Y3Qgc2lnbmF0dXJlX2NoZWNrICpzaWdjKQogewogCWNvbnN0IGNoYXIgKmJ1ZiA9IHNpZ2MtPmdwZ19zdGF0dXM7CkBAIC0xMTYsNiArMTU0LDkgQEAKIAlmb3IgKGxpbmUgPSBidWY7ICpsaW5lOyBsaW5lID0gc3RyY2hybnVsKGxpbmUrMSwgJ1xuJykpIHsKIAkJd2hpbGUgKCpsaW5lID09ICdcbicpCiAJCQlsaW5lKys7CisJCWlmICghKmxpbmUpCisJCQlicmVhazsKKwogCQkvKiBTa2lwIGxpbmVzIHRoYXQgZG9uJ3Qgc3RhcnQgd2l0aCBHTlVQRyBzdGF0dXMgKi8KIAkJaWYgKCFza2lwX3ByZWZpeChsaW5lLCAiW0dOVVBHOl0gIiwgJmxpbmUpKQogCQkJY29udGludWU7CkBAIC0xMjMsOSArMTY0LDE4IEBACiAJCS8qIEl0ZXJhdGUgb3ZlciBhbGwgc2VhcmNoIHN0cmluZ3MgKi8KIAkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc2lnY2hlY2tfZ3BnX3N0YXR1cyk7IGkrKykgewogCQkJaWYgKHNraXBfcHJlZml4KGxpbmUsIHNpZ2NoZWNrX2dwZ19zdGF0dXNbaV0uY2hlY2ssICZsaW5lKSkgeworCQkJCS8qCisJCQkJICogR09PRFNJRywgQkFEU0lHIGV0Yy4gY2FuIG9jY3VyIG9ubHkgb25jZSBmb3IKKwkJCQkgKiBlYWNoIHNpZ25hdHVyZS4gIFRoZXJlZm9yZSwgaWYgd2UgaGFkIG1vcmUKKwkJCQkgKiB0aGFuIG9uZSB0aGVuIHdlJ3JlIGRlYWxpbmcgd2l0aCBtdWx0aXBsZQorCQkJCSAqIHNpZ25hdHVyZXMuICBXZSBkb24ndCBzdXBwb3J0IHRoZW0KKwkJCQkgKiBjdXJyZW50bHksIGFuZCB0aGV5J3JlIHJhdGhlciBoYXJkIHRvCisJCQkJICogY3JlYXRlLCBzbyBzb21ldGhpbmcgaXMgbGlrZWx5IGZpc2h5IGFuZCB3ZQorCQkJCSAqIHNob3VsZCByZWplY3QgdGhlbSBhbHRvZ2V0aGVyLgorCQkJCSAqLwogCQkJCWlmIChzaWdjaGVja19ncGdfc3RhdHVzW2ldLmZsYWdzICYgR1BHX1NUQVRVU19FWENMVVNJVkUpIHsKIAkJCQkJaWYgKHNlZW5fZXhjbHVzaXZlX3N0YXR1cysrKQotCQkJCQkJZ290byBmb3VuZF9kdXBsaWNhdGVfc3RhdHVzOworCQkJCQkJZ290byBlcnJvcjsKIAkJCQl9CiAKIAkJCQlpZiAoc2lnY2hlY2tfZ3BnX3N0YXR1c1tpXS5yZXN1bHQpCkBAIC0xMzMsMzMgKzE4Myw2MiBAQAogCQkJCS8qIERvIHdlIGhhdmUga2V5IGluZm9ybWF0aW9uPyAqLwogCQkJCWlmIChzaWdjaGVja19ncGdfc3RhdHVzW2ldLmZsYWdzICYgR1BHX1NUQVRVU19LRVlJRCkgewogCQkJCQluZXh0ID0gc3RyY2hybnVsKGxpbmUsICcgJyk7Ci0JCQkJCWZyZWUoc2lnYy0+a2V5KTsKLQkJCQkJc2lnYy0+a2V5ID0geG1lbWR1cHoobGluZSwgbmV4dCAtIGxpbmUpOworCQkJCQlyZXBsYWNlX2NzdHJpbmcoJnNpZ2MtPmtleSwgbGluZSwgbmV4dCk7CiAJCQkJCS8qIERvIHdlIGhhdmUgc2lnbmVyIGluZm9ybWF0aW9uPyAqLwogCQkJCQlpZiAoKm5leHQgJiYgKHNpZ2NoZWNrX2dwZ19zdGF0dXNbaV0uZmxhZ3MgJiBHUEdfU1RBVFVTX1VJRCkpIHsKIAkJCQkJCWxpbmUgPSBuZXh0ICsgMTsKIAkJCQkJCW5leHQgPSBzdHJjaHJudWwobGluZSwgJ1xuJyk7Ci0JCQkJCQlmcmVlKHNpZ2MtPnNpZ25lcik7Ci0JCQkJCQlzaWdjLT5zaWduZXIgPSB4bWVtZHVweihsaW5lLCBuZXh0IC0gbGluZSk7CisJCQkJCQlyZXBsYWNlX2NzdHJpbmcoJnNpZ2MtPnNpZ25lciwgbGluZSwgbmV4dCk7CiAJCQkJCX0KIAkJCQl9CisKKwkJCQkvKiBEbyB3ZSBoYXZlIHRydXN0IGxldmVsPyAqLworCQkJCWlmIChzaWdjaGVja19ncGdfc3RhdHVzW2ldLmZsYWdzICYgR1BHX1NUQVRVU19UUlVTVF9MRVZFTCkgeworCQkJCQkvKgorCQkJCQkgKiBHUEcgdjEgYW5kIHYyIGRpZmZlcnMgaW4gaG93IHRoZQorCQkJCQkgKiBUUlVTVF8gbGluZXMgYXJlIHdyaXR0ZW4uICBTb21lCisJCQkJCSAqIHRydXN0IGxpbmVzIGNvbnRhaW4gbm8gYWRkaXRpb25hbAorCQkJCQkgKiBzcGFjZS1zZXBhcmF0ZWQgaW5mb3JtYXRpb24gZm9yIHYxLgorCQkJCQkgKi8KKwkJCQkJc2l6ZV90IHRydXN0X3NpemUgPSBzdHJjc3BuKGxpbmUsICIgXG4iKTsKKwkJCQkJY2hhciAqdHJ1c3QgPSB4bWVtZHVweihsaW5lLCB0cnVzdF9zaXplKTsKKworCQkJCQlpZiAocGFyc2VfZ3BnX3RydXN0X2xldmVsKHRydXN0LCAmc2lnYy0+dHJ1c3RfbGV2ZWwpKSB7CisJCQkJCQlmcmVlKHRydXN0KTsKKwkJCQkJCWdvdG8gZXJyb3I7CisJCQkJCX0KKwkJCQkJZnJlZSh0cnVzdCk7CisJCQkJfQorCiAJCQkJLyogRG8gd2UgaGF2ZSBmaW5nZXJwcmludD8gKi8KIAkJCQlpZiAoc2lnY2hlY2tfZ3BnX3N0YXR1c1tpXS5mbGFncyAmIEdQR19TVEFUVVNfRklOR0VSUFJJTlQpIHsKLQkJCQkJbmV4dCA9IHN0cmNocm51bChsaW5lLCAnICcpOwotCQkJCQlmcmVlKHNpZ2MtPmZpbmdlcnByaW50KTsKLQkJCQkJc2lnYy0+ZmluZ2VycHJpbnQgPSB4bWVtZHVweihsaW5lLCBuZXh0IC0gbGluZSk7CisJCQkJCWNvbnN0IGNoYXIgKmxpbWl0OworCQkJCQljaGFyICoqZmllbGQ7CiAKLQkJCQkJLyogU2tpcCBpbnRlcmltIGZpZWxkcyAqLworCQkJCQluZXh0ID0gc3RyY2hybnVsKGxpbmUsICcgJyk7CisJCQkJCXJlcGxhY2VfY3N0cmluZygmc2lnYy0+ZmluZ2VycHJpbnQsIGxpbmUsIG5leHQpOworCisJCQkJCS8qCisJCQkJCSAqIFNraXAgaW50ZXJpbSBmaWVsZHMuICBUaGUgc2VhcmNoIGlzCisJCQkJCSAqIGxpbWl0ZWQgdG8gdGhlIHNhbWUgbGluZSBzaW5jZSBvbmx5CisJCQkJCSAqIE9wZW5QR1Agc2lnbmF0dXJlcyBoYXMgYSBmaWVsZCB3aXRoCisJCQkJCSAqIHRoZSBwcmltYXJ5IGZpbmdlcnByaW50LgorCQkJCQkgKi8KKwkJCQkJbGltaXQgPSBzdHJjaHJudWwobGluZSwgJ1xuJyk7CiAJCQkJCWZvciAoaiA9IDk7IGogPiAwOyBqLS0pIHsKLQkJCQkJCWlmICghKm5leHQpCisJCQkJCQlpZiAoISpuZXh0IHx8IGxpbWl0IDw9IG5leHQpCiAJCQkJCQkJYnJlYWs7CiAJCQkJCQlsaW5lID0gbmV4dCArIDE7CiAJCQkJCQluZXh0ID0gc3RyY2hybnVsKGxpbmUsICcgJyk7CiAJCQkJCX0KIAotCQkJCQluZXh0ID0gc3RyY2hybnVsKGxpbmUsICdcbicpOwotCQkJCQlmcmVlKHNpZ2MtPnByaW1hcnlfa2V5X2ZpbmdlcnByaW50KTsKLQkJCQkJc2lnYy0+cHJpbWFyeV9rZXlfZmluZ2VycHJpbnQgPSB4bWVtZHVweihsaW5lLCBuZXh0IC0gbGluZSk7CisJCQkJCWZpZWxkID0gJnNpZ2MtPnByaW1hcnlfa2V5X2ZpbmdlcnByaW50OworCQkJCQlpZiAoIWopIHsKKwkJCQkJCW5leHQgPSBzdHJjaHJudWwobGluZSwgJ1xuJyk7CisJCQkJCQlyZXBsYWNlX2NzdHJpbmcoZmllbGQsIGxpbmUsIG5leHQpOworCQkJCQl9IGVsc2UgeworCQkJCQkJcmVwbGFjZV9jc3RyaW5nKGZpZWxkLCBOVUxMLCBOVUxMKTsKKwkJCQkJfQogCQkJCX0KIAogCQkJCWJyZWFrOwpAQCAtMTY4LDE0ICsyNDcsNyBAQAogCX0KIAlyZXR1cm47CiAKLWZvdW5kX2R1cGxpY2F0ZV9zdGF0dXM6Ci0JLyoKLQkgKiBHT09EU0lHLCBCQURTSUcgZXRjLiBjYW4gb2NjdXIgb25seSBvbmNlIGZvciBlYWNoIHNpZ25hdHVyZS4KLQkgKiBUaGVyZWZvcmUsIGlmIHdlIGhhZCBtb3JlIHRoYW4gb25lIHRoZW4gd2UncmUgZGVhbGluZyB3aXRoIG11bHRpcGxlCi0JICogc2lnbmF0dXJlcy4gIFdlIGRvbid0IHN1cHBvcnQgdGhlbSBjdXJyZW50bHksIGFuZCB0aGV5J3JlIHJhdGhlcgotCSAqIGhhcmQgdG8gY3JlYXRlLCBzbyBzb21ldGhpbmcgaXMgbGlrZWx5IGZpc2h5IGFuZCB3ZSBzaG91bGQgcmVqZWN0Ci0JICogdGhlbSBhbHRvZ2V0aGVyLgotCSAqLworZXJyb3I6CiAJc2lnYy0+cmVzdWx0ID0gJ0UnOwogCS8qIENsZWFyIHBhcnRpYWwgZGF0YSB0byBhdm9pZCBjb25mdXNpb24gKi8KIAlGUkVFX0FORF9OVUxMKHNpZ2MtPnByaW1hcnlfa2V5X2ZpbmdlcnByaW50KTsKQEAgLTE5Miw2ICsyNjQsNyBAQAogCWludCBzdGF0dXM7CiAKIAlzaWdjLT5yZXN1bHQgPSAnTic7CisJc2lnYy0+dHJ1c3RfbGV2ZWwgPSAtMTsKIAogCXN0YXR1cyA9IHZlcmlmeV9zaWduZWRfYnVmZmVyKHBheWxvYWQsIHBsZW4sIHNpZ25hdHVyZSwgc2xlbiwKIAkJCQkgICAgICAmZ3BnX291dHB1dCwgJmdwZ19zdGF0dXMpOwpAQCAtMjAxLDcgKzI3NCw4IEBACiAJc2lnYy0+Z3BnX291dHB1dCA9IHN0cmJ1Zl9kZXRhY2goJmdwZ19vdXRwdXQsIE5VTEwpOwogCXNpZ2MtPmdwZ19zdGF0dXMgPSBzdHJidWZfZGV0YWNoKCZncGdfc3RhdHVzLCBOVUxMKTsKIAlwYXJzZV9ncGdfb3V0cHV0KHNpZ2MpOwotCXN0YXR1cyB8PSBzaWdjLT5yZXN1bHQgIT0gJ0cnICYmIHNpZ2MtPnJlc3VsdCAhPSAnVSc7CisJc3RhdHVzIHw9IHNpZ2MtPnJlc3VsdCAhPSAnRyc7CisJc3RhdHVzIHw9IHNpZ2MtPnRydXN0X2xldmVsIDwgY29uZmlndXJlZF9taW5fdHJ1c3RfbGV2ZWw7CiAKICBvdXQ6CiAJc3RyYnVmX3JlbGVhc2UoJmdwZ19zdGF0dXMpOwpAQCAtMjQ4LDYgKzMyMiw4IEBACiB7CiAJc3RydWN0IGdwZ19mb3JtYXQgKmZtdCA9IE5VTEw7CiAJY2hhciAqZm10bmFtZSA9IE5VTEw7CisJY2hhciAqdHJ1c3Q7CisJaW50IHJldDsKIAogCWlmICghc3RyY21wKHZhciwgInVzZXIuc2lnbmluZ2tleSIpKSB7CiAJCWlmICghdmFsdWUpCkBAIC0yNjcsNiArMzQzLDIwIEBACiAJCXJldHVybiAwOwogCX0KIAorCWlmICghc3RyY21wKHZhciwgImdwZy5taW50cnVzdGxldmVsIikpIHsKKwkJaWYgKCF2YWx1ZSkKKwkJCXJldHVybiBjb25maWdfZXJyb3Jfbm9uYm9vbCh2YXIpOworCisJCXRydXN0ID0geHN0cmR1cF90b3VwcGVyKHZhbHVlKTsKKwkJcmV0ID0gcGFyc2VfZ3BnX3RydXN0X2xldmVsKHRydXN0LCAmY29uZmlndXJlZF9taW5fdHJ1c3RfbGV2ZWwpOworCQlmcmVlKHRydXN0KTsKKworCQlpZiAocmV0KQorCQkJcmV0dXJuIGVycm9yKCJ1bnN1cHBvcnRlZCB2YWx1ZSBmb3IgJXM6ICVzIiwgdmFyLAorCQkJCSAgICAgdmFsdWUpOworCQlyZXR1cm4gMDsKKwl9CisKIAlpZiAoIXN0cmNtcCh2YXIsICJncGcucHJvZ3JhbSIpIHx8ICFzdHJjbXAodmFyLCAiZ3BnLm9wZW5wZ3AucHJvZ3JhbSIpKQogCQlmbXRuYW1lID0gIm9wZW5wZ3AiOwogCmRpZmYgLS1naXQgYS9ncGctaW50ZXJmYWNlLmggYi9ncGctaW50ZXJmYWNlLmgKaW5kZXggM2U2MjRlYy4uNzk2NTcxZSAxMDA2NDQKLS0tIGEvZ3BnLWludGVyZmFjZS5oCisrKyBiL2dwZy1pbnRlcmZhY2UuaApAQCAtNyw2ICs3LDE0IEBACiAjZGVmaW5lIEdQR19WRVJJRllfUkFXCQkJMgogI2RlZmluZSBHUEdfVkVSSUZZX09NSVRfU1RBVFVTCTQKIAorZW51bSBzaWduYXR1cmVfdHJ1c3RfbGV2ZWwgeworCVRSVVNUX1VOREVGSU5FRCwKKwlUUlVTVF9ORVZFUiwKKwlUUlVTVF9NQVJHSU5BTCwKKwlUUlVTVF9GVUxMWSwKKwlUUlVTVF9VTFRJTUFURSwKK307CisKIHN0cnVjdCBzaWduYXR1cmVfY2hlY2sgewogCWNoYXIgKnBheWxvYWQ7CiAJY2hhciAqZ3BnX291dHB1dDsKQEAgLTE2LDcgKzI0LDYgQEAKIAkgKiBwb3NzaWJsZSAicmVzdWx0IjoKIAkgKiAwIChub3QgY2hlY2tlZCkKIAkgKiBOIChjaGVja2VkIGJ1dCBubyBmdXJ0aGVyIHJlc3VsdCkKLQkgKiBVICh1bnRydXN0ZWQgZ29vZCkKIAkgKiBHIChnb29kKQogCSAqIEIgKGJhZCkKIAkgKi8KQEAgLTI1LDYgKzMyLDcgQEAKIAljaGFyICprZXk7CiAJY2hhciAqZmluZ2VycHJpbnQ7CiAJY2hhciAqcHJpbWFyeV9rZXlfZmluZ2VycHJpbnQ7CisJZW51bSBzaWduYXR1cmVfdHJ1c3RfbGV2ZWwgdHJ1c3RfbGV2ZWw7CiB9OwogCiB2b2lkIHNpZ25hdHVyZV9jaGVja19jbGVhcihzdHJ1Y3Qgc2lnbmF0dXJlX2NoZWNrICpzaWdjKTsKZGlmZiAtLWdpdCBhL2dyYXBoLmMgYi9ncmFwaC5jCmluZGV4IGY1MzEzNTQuLjRmYjI1YWQgMTAwNjQ0Ci0tLSBhL2dyYXBoLmMKKysrIGIvZ3JhcGguYwpAQCAtMzQsNiArMzQsNyBAQAogICogaGFuZGxlIGRpcmVjdGx5LiBJdCBpcyBhc3N1bWVkIHRoYXQgdGhpcyBpcyB0aGUgc2FtZSBmaWxlIGhhbmRsZSBhcyB0aGUKICAqIGZpbGUgc3BlY2lmaWVkIGJ5IHRoZSBncmFwaCBkaWZmIG9wdGlvbnMuIFRoaXMgaXMgbmVjZXNzYXJ5IHNvIHRoYXQKICAqIGdyYXBoX3Nob3dfc3RyYnVmIGNhbiBiZSBjYWxsZWQgZXZlbiB3aXRoIGEgTlVMTCBncmFwaC4KKyAqIElmIGEgTlVMTCBncmFwaCBpcyBzdXBwbGllZCwgdGhlIHN0cmJ1ZiBpcyBwcmludGVkIGFzLWlzLgogICovCiBzdGF0aWMgdm9pZCBncmFwaF9zaG93X3N0cmJ1ZihzdHJ1Y3QgZ2l0X2dyYXBoICpncmFwaCwKIAkJCSAgICAgIEZJTEUgKmZpbGUsCkBAIC0xMTIsMTQgKzExMyw0MiBAQAogCXJldHVybiBjb2x1bW5fY29sb3JzW2NvbG9yXTsKIH0KIAotc3RhdGljIHZvaWQgc3RyYnVmX3dyaXRlX2NvbHVtbihzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3Qgc3RydWN0IGNvbHVtbiAqYywKLQkJCQljaGFyIGNvbF9jaGFyKQorc3RydWN0IGdyYXBoX2xpbmUgeworCXN0cnVjdCBzdHJidWYgKmJ1ZjsKKwlzaXplX3Qgd2lkdGg7Cit9OworCitzdGF0aWMgaW5saW5lIHZvaWQgZ3JhcGhfbGluZV9hZGRjaChzdHJ1Y3QgZ3JhcGhfbGluZSAqbGluZSwgaW50IGMpCit7CisJc3RyYnVmX2FkZGNoKGxpbmUtPmJ1ZiwgYyk7CisJbGluZS0+d2lkdGgrKzsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGdyYXBoX2xpbmVfYWRkY2hhcnMoc3RydWN0IGdyYXBoX2xpbmUgKmxpbmUsIGludCBjLCBzaXplX3QgbikKK3sKKwlzdHJidWZfYWRkY2hhcnMobGluZS0+YnVmLCBjLCBuKTsKKwlsaW5lLT53aWR0aCArPSBuOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZ3JhcGhfbGluZV9hZGRzdHIoc3RydWN0IGdyYXBoX2xpbmUgKmxpbmUsIGNvbnN0IGNoYXIgKnMpCit7CisJc3RyYnVmX2FkZHN0cihsaW5lLT5idWYsIHMpOworCWxpbmUtPndpZHRoICs9IHN0cmxlbihzKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGdyYXBoX2xpbmVfYWRkY29sb3Ioc3RydWN0IGdyYXBoX2xpbmUgKmxpbmUsIHVuc2lnbmVkIHNob3J0IGNvbG9yKQoreworCXN0cmJ1Zl9hZGRzdHIobGluZS0+YnVmLCBjb2x1bW5fZ2V0X2NvbG9yX2NvZGUoY29sb3IpKTsKK30KKworc3RhdGljIHZvaWQgZ3JhcGhfbGluZV93cml0ZV9jb2x1bW4oc3RydWN0IGdyYXBoX2xpbmUgKmxpbmUsIGNvbnN0IHN0cnVjdCBjb2x1bW4gKmMsCisJCQkJICAgIGNoYXIgY29sX2NoYXIpCiB7CiAJaWYgKGMtPmNvbG9yIDwgY29sdW1uX2NvbG9yc19tYXgpCi0JCXN0cmJ1Zl9hZGRzdHIoc2IsIGNvbHVtbl9nZXRfY29sb3JfY29kZShjLT5jb2xvcikpOwotCXN0cmJ1Zl9hZGRjaChzYiwgY29sX2NoYXIpOworCQlncmFwaF9saW5lX2FkZGNvbG9yKGxpbmUsIGMtPmNvbG9yKTsKKwlncmFwaF9saW5lX2FkZGNoKGxpbmUsIGNvbF9jaGFyKTsKIAlpZiAoYy0+Y29sb3IgPCBjb2x1bW5fY29sb3JzX21heCkKLQkJc3RyYnVmX2FkZHN0cihzYiwgY29sdW1uX2dldF9jb2xvcl9jb2RlKGNvbHVtbl9jb2xvcnNfbWF4KSk7CisJCWdyYXBoX2xpbmVfYWRkY29sb3IobGluZSwgY29sdW1uX2NvbG9yc19tYXgpOwogfQogCiBzdHJ1Y3QgZ2l0X2dyYXBoIHsKQEAgLTE3NSw5ICsyMDQsNjMgQEAKIAkgKi8KIAlpbnQgcHJldl9jb21taXRfaW5kZXg7CiAJLyoKKwkgKiBXaGljaCBsYXlvdXQgdmFyaWFudCB0byB1c2UgdG8gZGlzcGxheSBtZXJnZSBjb21taXRzLiBJZiB0aGUKKwkgKiBjb21taXQncyBmaXJzdCBwYXJlbnQgaXMga25vd24gdG8gYmUgaW4gYSBjb2x1bW4gdG8gdGhlIGxlZnQgb2YgdGhlCisJICogbWVyZ2UsIHRoZW4gdGhpcyB2YWx1ZSBpcyAwIGFuZCB3ZSB1c2UgdGhlIGxheW91dCBvbiB0aGUgbGVmdC4KKwkgKiBPdGhlcndpc2UsIHRoZSB2YWx1ZSBpcyAxIGFuZCB0aGUgbGF5b3V0IG9uIHRoZSByaWdodCBpcyB1c2VkLiBUaGlzCisJICogZmllbGQgdGVsbHMgdXMgaG93IG1hbnkgY29sdW1ucyB0aGUgZmlyc3QgcGFyZW50IG9jY3VwaWVzLgorCSAqCisJICogCQkwKQkJCTEpCisJICoKKwkgKiAJCXwgfCB8ICotLgkJfCB8ICotLS0uCisJICogCQl8IHxffC98XCBcCQl8IHwgfFwgXCBcCisJICogCQl8L3wgfCB8IHwgfAkJfCB8IHwgfCB8ICoKKwkgKi8KKwlpbnQgbWVyZ2VfbGF5b3V0OworCS8qCisJICogVGhlIG51bWJlciBvZiBjb2x1bW5zIGFkZGVkIHRvIHRoZSBncmFwaCBieSB0aGUgY3VycmVudCBjb21taXQuIEZvcgorCSAqIDItd2F5IGFuZCBvY3RvcHVzIG1lcmdlcywgdGhpcyBpcyB1c3VhbGx5IG9uZSBsZXNzIHRoYW4gdGhlCisJICogbnVtYmVyIG9mIHBhcmVudHM6CisJICoKKwkgKiAJCXwgfCB8CQkJfCB8ICAgIFwKKwkgKgkJfCAqIHwJCQl8ICotLS0uIFwKKwkgKgkJfCB8XCBcCQkJfCB8XCBcIFwgXAorCSAqCQl8IHwgfCB8ICAgICAgICAgCXwgfCB8IHwgfCB8CisJICoKKwkgKgkJbnVtX3BhcmVudHM6IDIJCW51bV9wYXJlbnRzOiA0CisJICoJCWVkZ2VzX2FkZGVkOiAxCQllZGdlc19hZGRlZDogMworCSAqCisJICogRm9yIGxlZnQtc2tld2VkIG1lcmdlcywgdGhlIGZpcnN0IHBhcmVudCBmdXNlcyB3aXRoIGl0cyBuZWlnaGJvciBhbmQKKwkgKiBzbyBvbmUgbGVzcyBjb2x1bW4gaXMgYWRkZWQ6CisJICoKKwkgKgkJfCB8IHwJCQl8IHwgIFwKKwkgKgkJfCAqIHwJCQl8ICotLiBcCisJICoJCXwvfCB8CQkJfC98XCBcIFwKKwkgKgkJfCB8IHwJCQl8IHwgfCB8IHwKKwkgKgorCSAqCQludW1fcGFyZW50czogMgkJbnVtX3BhcmVudHM6IDQKKwkgKgkJZWRnZXNfYWRkZWQ6IDAJCWVkZ2VzX2FkZGVkOiAyCisJICoKKwkgKiBUaGlzIG51bWJlciBkZXRlcm1pbmVzIGhvdyBlZGdlcyB0byB0aGUgcmlnaHQgb2YgdGhlIG1lcmdlIGFyZQorCSAqIGRpc3BsYXllZCBpbiBjb21taXQgYW5kIHBvc3QtbWVyZ2UgbGluZXM7IGlmIG5vIGNvbHVtbnMgaGF2ZSBiZWVuCisJICogYWRkZWQgdGhlbiBhIHZlcnRpY2FsIGxpbmUgc2hvdWxkIGJlIHVzZWQgd2hlcmUgYSByaWdodC10cmFja2luZworCSAqIGxpbmUgd291bGQgb3RoZXJ3aXNlIGJlIHVzZWQuCisJICoKKwkgKgkJfCAqIFwJCQl8ICogfAorCSAqCQl8IHxcIFwJCQl8L3wgfAorCSAqCQl8IHwgKiBcCQkJfCAqIHwKKwkgKi8KKwlpbnQgZWRnZXNfYWRkZWQ7CisJLyoKKwkgKiBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgYWRkZWQgYnkgdGhlIHByZXZpb3VzIGNvbW1pdCwgd2hpY2ggaXMgdXNlZCB0bworCSAqIHNtb290aCBlZGdlcyBhcHBlYXJpbmcgdG8gdGhlIHJpZ2h0IG9mIGEgY29tbWl0IGluIGEgY29tbWl0IGxpbmUKKwkgKiBmb2xsb3dpbmcgYSBwb3N0LW1lcmdlIGxpbmUuCisJICovCisJaW50IHByZXZfZWRnZXNfYWRkZWQ7CisJLyoKIAkgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgY29sdW1ucyB0aGF0IGNhbiBiZSBzdG9yZWQgaW4gdGhlIGNvbHVtbnMKIAkgKiBhbmQgbmV3X2NvbHVtbnMgYXJyYXlzLiAgVGhpcyBpcyBhbHNvIGhhbGYgdGhlIG51bWJlciBvZiBlbnRyaWVzCi0JICogdGhhdCBjYW4gYmUgc3RvcmVkIGluIHRoZSBtYXBwaW5nIGFuZCBuZXdfbWFwcGluZyBhcnJheXMuCisJICogdGhhdCBjYW4gYmUgc3RvcmVkIGluIHRoZSBtYXBwaW5nIGFuZCBvbGRfbWFwcGluZyBhcnJheXMuCiAJICovCiAJaW50IGNvbHVtbl9jYXBhY2l0eTsKIAkvKgpAQCAtMjE1LDEyICsyOTgsMTIgQEAKIAkgKi8KIAlpbnQgKm1hcHBpbmc7CiAJLyoKLQkgKiBBIHRlbXBvcmFyeSBhcnJheSBmb3IgY29tcHV0aW5nIHRoZSBuZXh0IG1hcHBpbmcgc3RhdGUKLQkgKiB3aGlsZSB3ZSBhcmUgb3V0cHV0dGluZyBhIG1hcHBpbmcgbGluZS4gIFRoaXMgaXMgc3RvcmVkIGFzIHBhcnQKLQkgKiBvZiB0aGUgZ2l0X2dyYXBoIHNpbXBseSBzbyB3ZSBkb24ndCBoYXZlIHRvIGFsbG9jYXRlIGEgbmV3Ci0JICogdGVtcG9yYXJ5IGFycmF5IGVhY2ggdGltZSB3ZSBoYXZlIHRvIG91dHB1dCBhIGNvbGxhcHNpbmcgbGluZS4KKwkgKiBBIGNvcHkgb2YgdGhlIGNvbnRlbnRzIG9mIHRoZSBtYXBwaW5nIGFycmF5IGZyb20gdGhlIGxhc3QgY29tbWl0LAorCSAqIHdoaWNoIHdlIHVzZSB0byBpbXByb3ZlIHRoZSBkaXNwbGF5IG9mIGNvbHVtbnMgdGhhdCBhcmUgdHJhY2tpbmcKKwkgKiBmcm9tIHJpZ2h0IHRvIGxlZnQgdGhyb3VnaCBhIGNvbW1pdCBsaW5lLiAgV2UgYWxzbyB1c2UgdGhpcyB0bworCSAqIGF2b2lkIGFsbG9jYXRpbmcgYSBmcmVzaCBhcnJheSB3aGVuIHdlIGNvbXB1dGUgdGhlIG5leHQgbWFwcGluZy4KIAkgKi8KLQlpbnQgKm5ld19tYXBwaW5nOworCWludCAqb2xkX21hcHBpbmc7CiAJLyoKIAkgKiBUaGUgY3VycmVudCBkZWZhdWx0IGNvbHVtbiBjb2xvciBiZWluZyB1c2VkLiAgVGhpcyBpcwogCSAqIHN0b3JlZCBhcyBhbiBpbmRleCBpbnRvIHRoZSBhcnJheSBjb2x1bW5fY29sb3JzLgpAQCAtMjg1LDYgKzM2OCw5IEBACiAJZ3JhcGgtPnByZXZfc3RhdGUgPSBHUkFQSF9QQURESU5HOwogCWdyYXBoLT5jb21taXRfaW5kZXggPSAwOwogCWdyYXBoLT5wcmV2X2NvbW1pdF9pbmRleCA9IDA7CisJZ3JhcGgtPm1lcmdlX2xheW91dCA9IDA7CisJZ3JhcGgtPmVkZ2VzX2FkZGVkID0gMDsKKwlncmFwaC0+cHJldl9lZGdlc19hZGRlZCA9IDA7CiAJZ3JhcGgtPm51bV9jb2x1bW5zID0gMDsKIAlncmFwaC0+bnVtX25ld19jb2x1bW5zID0gMDsKIAlncmFwaC0+bWFwcGluZ19zaXplID0gMDsKQEAgLTMwMyw3ICszODksNyBAQAogCUFMTE9DX0FSUkFZKGdyYXBoLT5jb2x1bW5zLCBncmFwaC0+Y29sdW1uX2NhcGFjaXR5KTsKIAlBTExPQ19BUlJBWShncmFwaC0+bmV3X2NvbHVtbnMsIGdyYXBoLT5jb2x1bW5fY2FwYWNpdHkpOwogCUFMTE9DX0FSUkFZKGdyYXBoLT5tYXBwaW5nLCAyICogZ3JhcGgtPmNvbHVtbl9jYXBhY2l0eSk7Ci0JQUxMT0NfQVJSQVkoZ3JhcGgtPm5ld19tYXBwaW5nLCAyICogZ3JhcGgtPmNvbHVtbl9jYXBhY2l0eSk7CisJQUxMT0NfQVJSQVkoZ3JhcGgtPm9sZF9tYXBwaW5nLCAyICogZ3JhcGgtPmNvbHVtbl9jYXBhY2l0eSk7CiAKIAkvKgogCSAqIFRoZSBkaWZmIG91dHB1dCBwcmVmaXggY2FsbGJhY2ssIHdpdGggdGhpcyB3ZSBjYW4gbWFrZQpAQCAtMzMzLDcgKzQxOSw3IEBACiAJUkVBTExPQ19BUlJBWShncmFwaC0+Y29sdW1ucywgZ3JhcGgtPmNvbHVtbl9jYXBhY2l0eSk7CiAJUkVBTExPQ19BUlJBWShncmFwaC0+bmV3X2NvbHVtbnMsIGdyYXBoLT5jb2x1bW5fY2FwYWNpdHkpOwogCVJFQUxMT0NfQVJSQVkoZ3JhcGgtPm1hcHBpbmcsIGdyYXBoLT5jb2x1bW5fY2FwYWNpdHkgKiAyKTsKLQlSRUFMTE9DX0FSUkFZKGdyYXBoLT5uZXdfbWFwcGluZywgZ3JhcGgtPmNvbHVtbl9jYXBhY2l0eSAqIDIpOworCVJFQUxMT0NfQVJSQVkoZ3JhcGgtPm9sZF9tYXBwaW5nLCBncmFwaC0+Y29sdW1uX2NhcGFjaXR5ICogMik7CiB9CiAKIC8qCkBAIC00MzIsNzQgKzUxOCw3NiBAQAogCXJldHVybiBncmFwaF9nZXRfY3VycmVudF9jb2x1bW5fY29sb3IoZ3JhcGgpOwogfQogCi1zdGF0aWMgdm9pZCBncmFwaF9pbnNlcnRfaW50b19uZXdfY29sdW1ucyhzdHJ1Y3QgZ2l0X2dyYXBoICpncmFwaCwKLQkJCQkJICBzdHJ1Y3QgY29tbWl0ICpjb21taXQsCi0JCQkJCSAgaW50ICptYXBwaW5nX2luZGV4KQorc3RhdGljIGludCBncmFwaF9maW5kX25ld19jb2x1bW5fYnlfY29tbWl0KHN0cnVjdCBnaXRfZ3JhcGggKmdyYXBoLAorCQkJCQkgICBzdHJ1Y3QgY29tbWl0ICpjb21taXQpCiB7CiAJaW50IGk7Ci0KLQkvKgotCSAqIElmIHRoZSBjb21taXQgaXMgYWxyZWFkeSBpbiB0aGUgbmV3X2NvbHVtbnMgbGlzdCwgd2UgZG9uJ3QgbmVlZCB0bwotCSAqIGFkZCBpdC4gIEp1c3QgdXBkYXRlIHRoZSBtYXBwaW5nIGNvcnJlY3RseS4KLQkgKi8KIAlmb3IgKGkgPSAwOyBpIDwgZ3JhcGgtPm51bV9uZXdfY29sdW1uczsgaSsrKSB7Ci0JCWlmIChncmFwaC0+bmV3X2NvbHVtbnNbaV0uY29tbWl0ID09IGNvbW1pdCkgewotCQkJZ3JhcGgtPm1hcHBpbmdbKm1hcHBpbmdfaW5kZXhdID0gaTsKLQkJCSptYXBwaW5nX2luZGV4ICs9IDI7Ci0JCQlyZXR1cm47Ci0JCX0KKwkJaWYgKGdyYXBoLT5uZXdfY29sdW1uc1tpXS5jb21taXQgPT0gY29tbWl0KQorCQkJcmV0dXJuIGk7CiAJfQotCi0JLyoKLQkgKiBUaGlzIGNvbW1pdCBpc24ndCBhbHJlYWR5IGluIG5ld19jb2x1bW5zLiAgQWRkIGl0LgotCSAqLwotCWdyYXBoLT5uZXdfY29sdW1uc1tncmFwaC0+bnVtX25ld19jb2x1bW5zXS5jb21taXQgPSBjb21taXQ7Ci0JZ3JhcGgtPm5ld19jb2x1bW5zW2dyYXBoLT5udW1fbmV3X2NvbHVtbnNdLmNvbG9yID0gZ3JhcGhfZmluZF9jb21taXRfY29sb3IoZ3JhcGgsIGNvbW1pdCk7Ci0JZ3JhcGgtPm1hcHBpbmdbKm1hcHBpbmdfaW5kZXhdID0gZ3JhcGgtPm51bV9uZXdfY29sdW1uczsKLQkqbWFwcGluZ19pbmRleCArPSAyOwotCWdyYXBoLT5udW1fbmV3X2NvbHVtbnMrKzsKKwlyZXR1cm4gLTE7CiB9CiAKLXN0YXRpYyB2b2lkIGdyYXBoX3VwZGF0ZV93aWR0aChzdHJ1Y3QgZ2l0X2dyYXBoICpncmFwaCwKLQkJCSAgICAgICBpbnQgaXNfY29tbWl0X2luX2V4aXN0aW5nX2NvbHVtbnMpCitzdGF0aWMgdm9pZCBncmFwaF9pbnNlcnRfaW50b19uZXdfY29sdW1ucyhzdHJ1Y3QgZ2l0X2dyYXBoICpncmFwaCwKKwkJCQkJICBzdHJ1Y3QgY29tbWl0ICpjb21taXQsCisJCQkJCSAgaW50IGlkeCkKIHsKLQkvKgotCSAqIENvbXB1dGUgdGhlIHdpZHRoIG5lZWRlZCB0byBkaXNwbGF5IHRoZSBncmFwaCBmb3IgdGhpcyBjb21taXQuCi0JICogVGhpcyBpcyB0aGUgbWF4aW11bSB3aWR0aCBuZWVkZWQgZm9yIGFueSByb3cuICBBbGwgb3RoZXIgcm93cwotCSAqIHdpbGwgYmUgcGFkZGVkIHRvIHRoaXMgd2lkdGguCi0JICoKLQkgKiBDb21wdXRlIHRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgd2lkZXN0IHJvdzoKLQkgKiBDb3VudCBlYWNoIGV4aXN0aW5nIGNvbHVtbiAoZ3JhcGgtPm51bV9jb2x1bW5zKSwgYW5kIGVhY2ggbmV3Ci0JICogY29sdW1uIGFkZGVkIGJ5IHRoaXMgY29tbWl0LgotCSAqLwotCWludCBtYXhfY29scyA9IGdyYXBoLT5udW1fY29sdW1ucyArIGdyYXBoLT5udW1fcGFyZW50czsKKwlpbnQgaSA9IGdyYXBoX2ZpbmRfbmV3X2NvbHVtbl9ieV9jb21taXQoZ3JhcGgsIGNvbW1pdCk7CisJaW50IG1hcHBpbmdfaWR4OwogCiAJLyoKLQkgKiBFdmVuIGlmIHRoZSBjdXJyZW50IGNvbW1pdCBoYXMgbm8gcGFyZW50cyB0byBiZSBwcmludGVkLCBpdAotCSAqIHN0aWxsIHRha2VzIHVwIGEgY29sdW1uIGZvciBpdHNlbGYuCisJICogSWYgdGhlIGNvbW1pdCBpcyBub3QgYWxyZWFkeSBpbiB0aGUgbmV3X2NvbHVtbnMgYXJyYXksIHRoZW4gYWRkIGl0CisJICogYW5kIHJlY29yZCBpdCBhcyBiZWluZyBpbiB0aGUgZmluYWwgY29sdW1uLgogCSAqLwotCWlmIChncmFwaC0+bnVtX3BhcmVudHMgPCAxKQotCQltYXhfY29scysrOworCWlmIChpIDwgMCkgeworCQlpID0gZ3JhcGgtPm51bV9uZXdfY29sdW1ucysrOworCQlncmFwaC0+bmV3X2NvbHVtbnNbaV0uY29tbWl0ID0gY29tbWl0OworCQlncmFwaC0+bmV3X2NvbHVtbnNbaV0uY29sb3IgPSBncmFwaF9maW5kX2NvbW1pdF9jb2xvcihncmFwaCwgY29tbWl0KTsKKwl9CiAKLQkvKgotCSAqIFdlIGFkZGVkIGEgY29sdW1uIGZvciB0aGUgY3VycmVudCBjb21taXQgYXMgcGFydCBvZgotCSAqIGdyYXBoLT5udW1fcGFyZW50cy4gIElmIHRoZSBjdXJyZW50IGNvbW1pdCB3YXMgYWxyZWFkeSBpbgotCSAqIGdyYXBoLT5jb2x1bW5zLCB0aGVuIHdlIGhhdmUgZG91YmxlIGNvdW50ZWQgaXQuCi0JICovCi0JaWYgKGlzX2NvbW1pdF9pbl9leGlzdGluZ19jb2x1bW5zKQotCQltYXhfY29scy0tOworCWlmIChncmFwaC0+bnVtX3BhcmVudHMgPiAxICYmIGlkeCA+IC0xICYmIGdyYXBoLT5tZXJnZV9sYXlvdXQgPT0gLTEpIHsKKwkJLyoKKwkJICogSWYgdGhpcyBpcyB0aGUgZmlyc3QgcGFyZW50IG9mIGEgbWVyZ2UsIGNob29zZSBhIGxheW91dCBmb3IKKwkJICogdGhlIG1lcmdlIGxpbmUgYmFzZWQgb24gd2hldGhlciB0aGUgcGFyZW50IGFwcGVhcnMgaW4gYQorCQkgKiBjb2x1bW4gdG8gdGhlIGxlZnQgb2YgdGhlIG1lcmdlCisJCSAqLworCQlpbnQgZGlzdCwgc2hpZnQ7CiAKLQkvKgotCSAqIEVhY2ggY29sdW1uIHRha2VzIHVwIDIgc3BhY2VzCi0JICovCi0JZ3JhcGgtPndpZHRoID0gbWF4X2NvbHMgKiAyOworCQlkaXN0ID0gaWR4IC0gaTsKKwkJc2hpZnQgPSAoZGlzdCA+IDEpID8gMiAqIGRpc3QgLSAzIDogMTsKKworCQlncmFwaC0+bWVyZ2VfbGF5b3V0ID0gKGRpc3QgPiAwKSA/IDAgOiAxOworCQlncmFwaC0+ZWRnZXNfYWRkZWQgPSBncmFwaC0+bnVtX3BhcmVudHMgKyBncmFwaC0+bWVyZ2VfbGF5b3V0ICAtIDI7CisKKwkJbWFwcGluZ19pZHggPSBncmFwaC0+d2lkdGggKyAoZ3JhcGgtPm1lcmdlX2xheW91dCAtIDEpICogc2hpZnQ7CisJCWdyYXBoLT53aWR0aCArPSAyICogZ3JhcGgtPm1lcmdlX2xheW91dDsKKworCX0gZWxzZSBpZiAoZ3JhcGgtPmVkZ2VzX2FkZGVkID4gMCAmJiBpID09IGdyYXBoLT5tYXBwaW5nW2dyYXBoLT53aWR0aCAtIDJdKSB7CisJCS8qCisJCSAqIElmIHNvbWUgY29sdW1ucyBoYXZlIGJlZW4gYWRkZWQgYnkgYSBtZXJnZSwgYnV0IHRoaXMgY29tbWl0CisJCSAqIHdhcyBmb3VuZCBpbiB0aGUgbGFzdCBleGlzdGluZyBjb2x1bW4sIHRoZW4gYWRqdXN0IHRoZQorCQkgKiBudW1iZXJzIHNvIHRoYXQgdGhlIHR3byBlZGdlcyBpbW1lZGlhdGVseSBqb2luLCBpLmUuOgorCQkgKgorCQkgKgkJKiB8CQkqIHwKKwkJICoJCXxcIFwJPT4JfFx8CisJCSAqCQl8IHwvCQl8ICoKKwkJICoJCXwgKgorCQkgKi8KKwkJbWFwcGluZ19pZHggPSBncmFwaC0+d2lkdGggLSAyOworCQlncmFwaC0+ZWRnZXNfYWRkZWQgPSAtMTsKKwl9IGVsc2UgeworCQltYXBwaW5nX2lkeCA9IGdyYXBoLT53aWR0aDsKKwkJZ3JhcGgtPndpZHRoICs9IDI7CisJfQorCisJZ3JhcGgtPm1hcHBpbmdbbWFwcGluZ19pZHhdID0gaTsKIH0KIAogc3RhdGljIHZvaWQgZ3JhcGhfdXBkYXRlX2NvbHVtbnMoc3RydWN0IGdpdF9ncmFwaCAqZ3JhcGgpCiB7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnQ7CiAJaW50IG1heF9uZXdfY29sdW1uczsKLQlpbnQgbWFwcGluZ19pZHg7CiAJaW50IGksIHNlZW5fdGhpcywgaXNfY29tbWl0X2luX2NvbHVtbnM7CiAKIAkvKgpAQCAtNTMyLDYgKzYyMCwxMCBAQAogCWZvciAoaSA9IDA7IGkgPCBncmFwaC0+bWFwcGluZ19zaXplOyBpKyspCiAJCWdyYXBoLT5tYXBwaW5nW2ldID0gLTE7CiAKKwlncmFwaC0+d2lkdGggPSAwOworCWdyYXBoLT5wcmV2X2VkZ2VzX2FkZGVkID0gZ3JhcGgtPmVkZ2VzX2FkZGVkOworCWdyYXBoLT5lZGdlc19hZGRlZCA9IDA7CisKIAkvKgogCSAqIFBvcHVsYXRlIGdyYXBoLT5uZXdfY29sdW1ucyBhbmQgZ3JhcGgtPm1hcHBpbmcKIAkgKgpAQCAtNTQyLDcgKzYzNCw2IEBACiAJICogc3VwcG9zZWQgdG8gZW5kIHVwIGFmdGVyIHRoZSBjb2xsYXBzaW5nIGlzIHBlcmZvcm1lZC4KIAkgKi8KIAlzZWVuX3RoaXMgPSAwOwotCW1hcHBpbmdfaWR4ID0gMDsKIAlpc19jb21taXRfaW5fY29sdW1ucyA9IDE7CiAJZm9yIChpID0gMDsgaSA8PSBncmFwaC0+bnVtX2NvbHVtbnM7IGkrKykgewogCQlzdHJ1Y3QgY29tbWl0ICpjb2xfY29tbWl0OwpAQCAtNTU2LDkgKzY0Nyw5IEBACiAJCX0KIAogCQlpZiAoY29sX2NvbW1pdCA9PSBncmFwaC0+Y29tbWl0KSB7Ci0JCQlpbnQgb2xkX21hcHBpbmdfaWR4ID0gbWFwcGluZ19pZHg7CiAJCQlzZWVuX3RoaXMgPSAxOwogCQkJZ3JhcGgtPmNvbW1pdF9pbmRleCA9IGk7CisJCQlncmFwaC0+bWVyZ2VfbGF5b3V0ID0gLTE7CiAJCQlmb3IgKHBhcmVudCA9IGZpcnN0X2ludGVyZXN0aW5nX3BhcmVudChncmFwaCk7CiAJCQkgICAgIHBhcmVudDsKIAkJCSAgICAgcGFyZW50ID0gbmV4dF9pbnRlcmVzdGluZ19wYXJlbnQoZ3JhcGgsIHBhcmVudCkpIHsKQEAgLTU3MSwyMSArNjYyLDE4IEBACiAJCQkJICAgICFpc19jb21taXRfaW5fY29sdW1ucykgewogCQkJCQlncmFwaF9pbmNyZW1lbnRfY29sdW1uX2NvbG9yKGdyYXBoKTsKIAkJCQl9Ci0JCQkJZ3JhcGhfaW5zZXJ0X2ludG9fbmV3X2NvbHVtbnMoZ3JhcGgsCi0JCQkJCQkJICAgICAgcGFyZW50LT5pdGVtLAotCQkJCQkJCSAgICAgICZtYXBwaW5nX2lkeCk7CisJCQkJZ3JhcGhfaW5zZXJ0X2ludG9fbmV3X2NvbHVtbnMoZ3JhcGgsIHBhcmVudC0+aXRlbSwgaSk7CiAJCQl9CiAJCQkvKgotCQkJICogV2UgYWx3YXlzIG5lZWQgdG8gaW5jcmVtZW50IG1hcHBpbmdfaWR4IGJ5IGF0CisJCQkgKiBXZSBhbHdheXMgbmVlZCB0byBpbmNyZW1lbnQgZ3JhcGgtPndpZHRoIGJ5IGF0CiAJCQkgKiBsZWFzdCAyLCBldmVuIGlmIGl0IGhhcyBubyBpbnRlcmVzdGluZyBwYXJlbnRzLgogCQkJICogVGhlIGN1cnJlbnQgY29tbWl0IGFsd2F5cyB0YWtlcyB1cCBhdCBsZWFzdCAyCiAJCQkgKiBzcGFjZXMuCiAJCQkgKi8KLQkJCWlmIChtYXBwaW5nX2lkeCA9PSBvbGRfbWFwcGluZ19pZHgpCi0JCQkJbWFwcGluZ19pZHggKz0gMjsKKwkJCWlmIChncmFwaC0+bnVtX3BhcmVudHMgPT0gMCkKKwkJCQlncmFwaC0+d2lkdGggKz0gMjsKIAkJfSBlbHNlIHsKLQkJCWdyYXBoX2luc2VydF9pbnRvX25ld19jb2x1bW5zKGdyYXBoLCBjb2xfY29tbWl0LAotCQkJCQkJICAgICAgJm1hcHBpbmdfaWR4KTsKKwkJCWdyYXBoX2luc2VydF9pbnRvX25ld19jb2x1bW5zKGdyYXBoLCBjb2xfY29tbWl0LCAtMSk7CiAJCX0KIAl9CiAKQEAgLTU5NSwxMSArNjgzLDQzIEBACiAJd2hpbGUgKGdyYXBoLT5tYXBwaW5nX3NpemUgPiAxICYmCiAJICAgICAgIGdyYXBoLT5tYXBwaW5nW2dyYXBoLT5tYXBwaW5nX3NpemUgLSAxXSA8IDApCiAJCWdyYXBoLT5tYXBwaW5nX3NpemUtLTsKK30KIAorc3RhdGljIGludCBncmFwaF9udW1fZGFzaGVkX3BhcmVudHMoc3RydWN0IGdpdF9ncmFwaCAqZ3JhcGgpCit7CisJcmV0dXJuIGdyYXBoLT5udW1fcGFyZW50cyArIGdyYXBoLT5tZXJnZV9sYXlvdXQgLSAzOworfQorCitzdGF0aWMgaW50IGdyYXBoX251bV9leHBhbnNpb25fcm93cyhzdHJ1Y3QgZ2l0X2dyYXBoICpncmFwaCkKK3sKIAkvKgotCSAqIENvbXB1dGUgZ3JhcGgtPndpZHRoIGZvciB0aGlzIGNvbW1pdAorCSAqIE5vcm1hbGx5LCB3ZSBuZWVkIHR3byBleHBhbnNpb24gcm93cyBmb3IgZWFjaCBkYXNoZWQgcGFyZW50IGxpbmUgZnJvbQorCSAqIGFuIG9jdG9wdXMgbWVyZ2U6CisJICoKKwkgKiAJCXwgKgorCSAqIAkJfCB8XAorCSAqIAkJfCB8IFwKKwkgKiAJCXwgfCAgXAorCSAqIAkJfCAqLS4gXAorCSAqIAkJfCB8XCBcIFwKKwkgKgorCSAqIElmIHRoZSBtZXJnZSBpcyBza2V3ZWQgdG8gdGhlIGxlZnQsIHRoZW4gaXRzIHBhcmVudHMgb2NjdXB5IG9uZSBsZXNzCisJICogY29sdW1uLCBhbmQgd2UgZG9uJ3QgbmVlZCBhcyBtYW55IGV4cGFuc2lvbiByb3dzIHRvIHJvdXRlIGFyb3VuZCBpdDsKKwkgKiBpbiBzb21lIGNhc2VzIHRoYXQgbWVhbnMgd2UgZG9uJ3QgbmVlZCBhbnkgZXhwYW5zaW9uIHJvd3MgYXQgYWxsOgorCSAqCisJICogCQl8ICoKKwkgKiAJCXwgfFwKKwkgKiAJCXwgKiBcCisJICogCQl8L3xcIFwKIAkgKi8KLQlncmFwaF91cGRhdGVfd2lkdGgoZ3JhcGgsIGlzX2NvbW1pdF9pbl9jb2x1bW5zKTsKKwlyZXR1cm4gZ3JhcGhfbnVtX2Rhc2hlZF9wYXJlbnRzKGdyYXBoKSAqIDI7Cit9CisKK3N0YXRpYyBpbnQgZ3JhcGhfbmVlZHNfcHJlX2NvbW1pdF9saW5lKHN0cnVjdCBnaXRfZ3JhcGggKmdyYXBoKQoreworCXJldHVybiBncmFwaC0+bnVtX3BhcmVudHMgPj0gMyAmJgorCSAgICAgICBncmFwaC0+Y29tbWl0X2luZGV4IDwgKGdyYXBoLT5udW1fY29sdW1ucyAtIDEpICYmCisJICAgICAgIGdyYXBoLT5leHBhbnNpb25fcm93IDwgZ3JhcGhfbnVtX2V4cGFuc2lvbl9yb3dzKGdyYXBoKTsKIH0KIAogdm9pZCBncmFwaF91cGRhdGUoc3RydWN0IGdpdF9ncmFwaCAqZ3JhcGgsIHN0cnVjdCBjb21taXQgKmNvbW1pdCkKQEAgLTY1Nyw4ICs3NzcsNyBAQAogCSAqLwogCWlmIChncmFwaC0+c3RhdGUgIT0gR1JBUEhfUEFERElORykKIAkJZ3JhcGgtPnN0YXRlID0gR1JBUEhfU0tJUDsKLQllbHNlIGlmIChncmFwaC0+bnVtX3BhcmVudHMgPj0gMyAmJgotCQkgZ3JhcGgtPmNvbW1pdF9pbmRleCA8IChncmFwaC0+bnVtX2NvbHVtbnMgLSAxKSkKKwllbHNlIGlmIChncmFwaF9uZWVkc19wcmVfY29tbWl0X2xpbmUoZ3JhcGgpKQogCQlncmFwaC0+c3RhdGUgPSBHUkFQSF9QUkVfQ09NTUlUOwogCWVsc2UKIAkJZ3JhcGgtPnN0YXRlID0gR1JBUEhfQ09NTUlUOwpAQCAtNjg2LDggKzgwNSw3IEBACiAJcmV0dXJuIDE7CiB9CiAKLXN0YXRpYyB2b2lkIGdyYXBoX3BhZF9ob3Jpem9udGFsbHkoc3RydWN0IGdpdF9ncmFwaCAqZ3JhcGgsIHN0cnVjdCBzdHJidWYgKnNiLAotCQkJCSAgIGludCBjaGFyc193cml0dGVuKQorc3RhdGljIHZvaWQgZ3JhcGhfcGFkX2hvcml6b250YWxseShzdHJ1Y3QgZ2l0X2dyYXBoICpncmFwaCwgc3RydWN0IGdyYXBoX2xpbmUgKmxpbmUpCiB7CiAJLyoKIAkgKiBBZGQgYWRkaXRpb25hbCBzcGFjZXMgdG8gdGhlIGVuZCBvZiB0aGUgc3RyYnVmLCBzbyB0aGF0IGFsbApAQCAtNjk2LDM0ICs4MTQsMjIgQEAKIAkgKiBUaGlzIHdheSwgZmllbGRzIHByaW50ZWQgdG8gdGhlIHJpZ2h0IG9mIHRoZSBncmFwaCB3aWxsIHJlbWFpbgogCSAqIGFsaWduZWQgZm9yIHRoZSBlbnRpcmUgY29tbWl0LgogCSAqLwotCWlmIChjaGFyc193cml0dGVuIDwgZ3JhcGgtPndpZHRoKQotCQlzdHJidWZfYWRkY2hhcnMoc2IsICcgJywgZ3JhcGgtPndpZHRoIC0gY2hhcnNfd3JpdHRlbik7CisJaWYgKGxpbmUtPndpZHRoIDwgZ3JhcGgtPndpZHRoKQorCQlncmFwaF9saW5lX2FkZGNoYXJzKGxpbmUsICcgJywgZ3JhcGgtPndpZHRoIC0gbGluZS0+d2lkdGgpOwogfQogCiBzdGF0aWMgdm9pZCBncmFwaF9vdXRwdXRfcGFkZGluZ19saW5lKHN0cnVjdCBnaXRfZ3JhcGggKmdyYXBoLAotCQkJCSAgICAgIHN0cnVjdCBzdHJidWYgKnNiKQorCQkJCSAgICAgIHN0cnVjdCBncmFwaF9saW5lICpsaW5lKQogewogCWludCBpOwogCiAJLyoKLQkgKiBXZSBjb3VsZCBjb25jZWl2YWJsZSBiZSBjYWxsZWQgd2l0aCBhIE5VTEwgY29tbWl0Ci0JICogaWYgb3VyIGNhbGxlciBoYXMgYSBidWcsIGFuZCBpbnZva2VzIGdyYXBoX25leHRfbGluZSgpCi0JICogaW1tZWRpYXRlbHkgYWZ0ZXIgZ3JhcGhfaW5pdCgpLCB3aXRob3V0IGZpcnN0IGNhbGxpbmcKLQkgKiBncmFwaF91cGRhdGUoKS4gIFJldHVybiB3aXRob3V0IG91dHB1dHRpbmcgYW55dGhpbmcgaW4gdGhpcwotCSAqIGNhc2UuCi0JICovCi0JaWYgKCFncmFwaC0+Y29tbWl0KQotCQlyZXR1cm47Ci0KLQkvKgogCSAqIE91dHB1dCBhIHBhZGRpbmcgcm93LCB0aGF0IGxlYXZlcyBhbGwgYnJhbmNoIGxpbmVzIHVuY2hhbmdlZAogCSAqLwogCWZvciAoaSA9IDA7IGkgPCBncmFwaC0+bnVtX25ld19jb2x1bW5zOyBpKyspIHsKLQkJc3RyYnVmX3dyaXRlX2NvbHVtbihzYiwgJmdyYXBoLT5uZXdfY29sdW1uc1tpXSwgJ3wnKTsKLQkJc3RyYnVmX2FkZGNoKHNiLCAnICcpOworCQlncmFwaF9saW5lX3dyaXRlX2NvbHVtbihsaW5lLCAmZ3JhcGgtPm5ld19jb2x1bW5zW2ldLCAnfCcpOworCQlncmFwaF9saW5lX2FkZGNoKGxpbmUsICcgJyk7CiAJfQotCi0JZ3JhcGhfcGFkX2hvcml6b250YWxseShncmFwaCwgc2IsIGdyYXBoLT5udW1fbmV3X2NvbHVtbnMgKiAyKTsKIH0KIAogCkBAIC03MzMsMjggKzgzOSwyNCBAQAogfQogCiAKLXN0YXRpYyB2b2lkIGdyYXBoX291dHB1dF9za2lwX2xpbmUoc3RydWN0IGdpdF9ncmFwaCAqZ3JhcGgsIHN0cnVjdCBzdHJidWYgKnNiKQorc3RhdGljIHZvaWQgZ3JhcGhfb3V0cHV0X3NraXBfbGluZShzdHJ1Y3QgZ2l0X2dyYXBoICpncmFwaCwgc3RydWN0IGdyYXBoX2xpbmUgKmxpbmUpCiB7CiAJLyoKIAkgKiBPdXRwdXQgYW4gZWxsaXBzaXMgdG8gaW5kaWNhdGUgdGhhdCBhIHBvcnRpb24KIAkgKiBvZiB0aGUgZ3JhcGggaXMgbWlzc2luZy4KIAkgKi8KLQlzdHJidWZfYWRkc3RyKHNiLCAiLi4uIik7Ci0JZ3JhcGhfcGFkX2hvcml6b250YWxseShncmFwaCwgc2IsIDMpOworCWdyYXBoX2xpbmVfYWRkc3RyKGxpbmUsICIuLi4iKTsKIAotCWlmIChncmFwaC0+bnVtX3BhcmVudHMgPj0gMyAmJgotCSAgICBncmFwaC0+Y29tbWl0X2luZGV4IDwgKGdyYXBoLT5udW1fY29sdW1ucyAtIDEpKQorCWlmIChncmFwaF9uZWVkc19wcmVfY29tbWl0X2xpbmUoZ3JhcGgpKQogCQlncmFwaF91cGRhdGVfc3RhdGUoZ3JhcGgsIEdSQVBIX1BSRV9DT01NSVQpOwogCWVsc2UKIAkJZ3JhcGhfdXBkYXRlX3N0YXRlKGdyYXBoLCBHUkFQSF9DT01NSVQpOwogfQogCiBzdGF0aWMgdm9pZCBncmFwaF9vdXRwdXRfcHJlX2NvbW1pdF9saW5lKHN0cnVjdCBnaXRfZ3JhcGggKmdyYXBoLAotCQkJCQkgc3RydWN0IHN0cmJ1ZiAqc2IpCisJCQkJCSBzdHJ1Y3QgZ3JhcGhfbGluZSAqbGluZSkKIHsKLQlpbnQgbnVtX2V4cGFuc2lvbl9yb3dzOwogCWludCBpLCBzZWVuX3RoaXM7Ci0JaW50IGNoYXJzX3dyaXR0ZW47CiAKIAkvKgogCSAqIFRoaXMgZnVuY3Rpb24gZm9ybWF0cyBhIHJvdyB0aGF0IGluY3JlYXNlcyB0aGUgc3BhY2UgYXJvdW5kIGEgY29tbWl0CkBAIC03NjQsMjcgKzg2NiwyNCBAQAogCSAqIFdlIG5lZWQgMiBleHRyYSByb3dzIGZvciBldmVyeSBwYXJlbnQgb3ZlciAyLgogCSAqLwogCWFzc2VydChncmFwaC0+bnVtX3BhcmVudHMgPj0gMyk7Ci0JbnVtX2V4cGFuc2lvbl9yb3dzID0gKGdyYXBoLT5udW1fcGFyZW50cyAtIDIpICogMjsKIAogCS8qCiAJICogZ3JhcGgtPmV4cGFuc2lvbl9yb3cgdHJhY2tzIHRoZSBjdXJyZW50IGV4cGFuc2lvbiByb3cgd2UgYXJlIG9uLgogCSAqIEl0IHNob3VsZCBiZSBpbiB0aGUgcmFuZ2UgWzAsIG51bV9leHBhbnNpb25fcm93cyAtIDFdCiAJICovCiAJYXNzZXJ0KDAgPD0gZ3JhcGgtPmV4cGFuc2lvbl9yb3cgJiYKLQkgICAgICAgZ3JhcGgtPmV4cGFuc2lvbl9yb3cgPCBudW1fZXhwYW5zaW9uX3Jvd3MpOworCSAgICAgICBncmFwaC0+ZXhwYW5zaW9uX3JvdyA8IGdyYXBoX251bV9leHBhbnNpb25fcm93cyhncmFwaCkpOwogCiAJLyoKIAkgKiBPdXRwdXQgdGhlIHJvdwogCSAqLwogCXNlZW5fdGhpcyA9IDA7Ci0JY2hhcnNfd3JpdHRlbiA9IDA7CiAJZm9yIChpID0gMDsgaSA8IGdyYXBoLT5udW1fY29sdW1uczsgaSsrKSB7CiAJCXN0cnVjdCBjb2x1bW4gKmNvbCA9ICZncmFwaC0+Y29sdW1uc1tpXTsKIAkJaWYgKGNvbC0+Y29tbWl0ID09IGdyYXBoLT5jb21taXQpIHsKIAkJCXNlZW5fdGhpcyA9IDE7Ci0JCQlzdHJidWZfd3JpdGVfY29sdW1uKHNiLCBjb2wsICd8Jyk7Ci0JCQlzdHJidWZfYWRkY2hhcnMoc2IsICcgJywgZ3JhcGgtPmV4cGFuc2lvbl9yb3cpOwotCQkJY2hhcnNfd3JpdHRlbiArPSAxICsgZ3JhcGgtPmV4cGFuc2lvbl9yb3c7CisJCQlncmFwaF9saW5lX3dyaXRlX2NvbHVtbihsaW5lLCBjb2wsICd8Jyk7CisJCQlncmFwaF9saW5lX2FkZGNoYXJzKGxpbmUsICcgJywgZ3JhcGgtPmV4cGFuc2lvbl9yb3cpOwogCQl9IGVsc2UgaWYgKHNlZW5fdGhpcyAmJiAoZ3JhcGgtPmV4cGFuc2lvbl9yb3cgPT0gMCkpIHsKIAkJCS8qCiAJCQkgKiBUaGlzIGlzIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBwcmUtY29tbWl0IG91dHB1dC4KQEAgLTc5NywzMyArODk2LDI3IEBACiAJCQkgKi8KIAkJCWlmIChncmFwaC0+cHJldl9zdGF0ZSA9PSBHUkFQSF9QT1NUX01FUkdFICYmCiAJCQkgICAgZ3JhcGgtPnByZXZfY29tbWl0X2luZGV4IDwgaSkKLQkJCQlzdHJidWZfd3JpdGVfY29sdW1uKHNiLCBjb2wsICdcXCcpOworCQkJCWdyYXBoX2xpbmVfd3JpdGVfY29sdW1uKGxpbmUsIGNvbCwgJ1xcJyk7CiAJCQllbHNlCi0JCQkJc3RyYnVmX3dyaXRlX2NvbHVtbihzYiwgY29sLCAnfCcpOwotCQkJY2hhcnNfd3JpdHRlbisrOworCQkJCWdyYXBoX2xpbmVfd3JpdGVfY29sdW1uKGxpbmUsIGNvbCwgJ3wnKTsKIAkJfSBlbHNlIGlmIChzZWVuX3RoaXMgJiYgKGdyYXBoLT5leHBhbnNpb25fcm93ID4gMCkpIHsKLQkJCXN0cmJ1Zl93cml0ZV9jb2x1bW4oc2IsIGNvbCwgJ1xcJyk7Ci0JCQljaGFyc193cml0dGVuKys7CisJCQlncmFwaF9saW5lX3dyaXRlX2NvbHVtbihsaW5lLCBjb2wsICdcXCcpOwogCQl9IGVsc2UgewotCQkJc3RyYnVmX3dyaXRlX2NvbHVtbihzYiwgY29sLCAnfCcpOwotCQkJY2hhcnNfd3JpdHRlbisrOworCQkJZ3JhcGhfbGluZV93cml0ZV9jb2x1bW4obGluZSwgY29sLCAnfCcpOwogCQl9Ci0JCXN0cmJ1Zl9hZGRjaChzYiwgJyAnKTsKLQkJY2hhcnNfd3JpdHRlbisrOworCQlncmFwaF9saW5lX2FkZGNoKGxpbmUsICcgJyk7CiAJfQogCi0JZ3JhcGhfcGFkX2hvcml6b250YWxseShncmFwaCwgc2IsIGNoYXJzX3dyaXR0ZW4pOwotCiAJLyoKIAkgKiBJbmNyZW1lbnQgZ3JhcGgtPmV4cGFuc2lvbl9yb3csCiAJICogYW5kIG1vdmUgdG8gc3RhdGUgR1JBUEhfQ09NTUlUIGlmIG5lY2Vzc2FyeQogCSAqLwogCWdyYXBoLT5leHBhbnNpb25fcm93Kys7Ci0JaWYgKGdyYXBoLT5leHBhbnNpb25fcm93ID49IG51bV9leHBhbnNpb25fcm93cykKKwlpZiAoIWdyYXBoX25lZWRzX3ByZV9jb21taXRfbGluZShncmFwaCkpCiAJCWdyYXBoX3VwZGF0ZV9zdGF0ZShncmFwaCwgR1JBUEhfQ09NTUlUKTsKIH0KIAotc3RhdGljIHZvaWQgZ3JhcGhfb3V0cHV0X2NvbW1pdF9jaGFyKHN0cnVjdCBnaXRfZ3JhcGggKmdyYXBoLCBzdHJ1Y3Qgc3RyYnVmICpzYikKK3N0YXRpYyB2b2lkIGdyYXBoX291dHB1dF9jb21taXRfY2hhcihzdHJ1Y3QgZ2l0X2dyYXBoICpncmFwaCwgc3RydWN0IGdyYXBoX2xpbmUgKmxpbmUpCiB7CiAJLyoKIAkgKiBGb3IgYm91bmRhcnkgY29tbWl0cywgcHJpbnQgJ28nCkBAIC04MzEsNzIgKzkyNCw2NyBAQAogCSAqLwogCWlmIChncmFwaC0+Y29tbWl0LT5vYmplY3QuZmxhZ3MgJiBCT1VOREFSWSkgewogCQlhc3NlcnQoZ3JhcGgtPnJldnMtPmJvdW5kYXJ5KTsKLQkJc3RyYnVmX2FkZGNoKHNiLCAnbycpOworCQlncmFwaF9saW5lX2FkZGNoKGxpbmUsICdvJyk7CiAJCXJldHVybjsKIAl9CiAKIAkvKgogCSAqIGdldF9yZXZpc2lvbl9tYXJrKCkgaGFuZGxlcyBhbGwgb3RoZXIgY2FzZXMgd2l0aG91dCBhc3NlcnQoKQogCSAqLwotCXN0cmJ1Zl9hZGRzdHIoc2IsIGdldF9yZXZpc2lvbl9tYXJrKGdyYXBoLT5yZXZzLCBncmFwaC0+Y29tbWl0KSk7CisJZ3JhcGhfbGluZV9hZGRzdHIobGluZSwgZ2V0X3JldmlzaW9uX21hcmsoZ3JhcGgtPnJldnMsIGdyYXBoLT5jb21taXQpKTsKIH0KIAogLyoKLSAqIERyYXcgdGhlIGhvcml6b250YWwgZGFzaGVzIG9mIGFuIG9jdG9wdXMgbWVyZ2UgYW5kIHJldHVybiB0aGUgbnVtYmVyIG9mCi0gKiBjaGFyYWN0ZXJzIHdyaXR0ZW4uCisgKiBEcmF3IHRoZSBob3Jpem9udGFsIGRhc2hlcyBvZiBhbiBvY3RvcHVzIG1lcmdlLgogICovCi1zdGF0aWMgaW50IGdyYXBoX2RyYXdfb2N0b3B1c19tZXJnZShzdHJ1Y3QgZ2l0X2dyYXBoICpncmFwaCwKLQkJCQkgICAgc3RydWN0IHN0cmJ1ZiAqc2IpCitzdGF0aWMgdm9pZCBncmFwaF9kcmF3X29jdG9wdXNfbWVyZ2Uoc3RydWN0IGdpdF9ncmFwaCAqZ3JhcGgsIHN0cnVjdCBncmFwaF9saW5lICpsaW5lKQogewogCS8qCi0JICogSGVyZSBkYXNobGVzc19wYXJlbnRzIHJlcHJlc2VudHMgdGhlIG51bWJlciBvZiBwYXJlbnRzIHdoaWNoIGRvbid0Ci0JICogbmVlZCB0byBoYXZlIGRhc2hlcyAodGhlIGVkZ2VzIGxhYmVsZWQgIjAiIGFuZCAiMSIpLiAgQW5kCi0JICogZGFzaGZ1bF9wYXJlbnRzIGFyZSB0aGUgcmVtYWluaW5nIG9uZXMuCisJICogVGhlIHBhcmVudHMgb2YgYSBtZXJnZSBjb21taXQgY2FuIGJlIGFyYml0cmFyaWx5IHJlb3JkZXJlZCBhcyB0aGV5CisJICogYXJlIG1hcHBlZCBvbnRvIGRpc3BsYXkgY29sdW1ucywgZm9yIGV4YW1wbGUgdGhpcyBpcyBhIHZhbGlkIG1lcmdlOgogCSAqCi0JICogfCAqLS0tLgotCSAqIHwgfFwgXCBcCi0JICogfCB8IHwgfCB8Ci0JICogeCAwIDEgMiAzCisJICoJfCB8ICotLS0uCisJICoJfCB8IHxcIFwgXAorCSAqCXwgfCB8LyAvIC8KKwkgKgl8IHwvfCB8IC8KKwkgKgl8IHxffF98LworCSAqCXwvfCB8IHwKKwkgKgkzIDEgMCAyCiAJICoKKwkgKiBUaGUgbnVtYmVycyBkZW5vdGUgd2hpY2ggcGFyZW50IG9mIHRoZSBtZXJnZSBlYWNoIHZpc3VhbCBjb2x1bW4KKwkgKiBjb3JyZXNwb25kcyB0bzsgd2UgY2FuJ3QgYXNzdW1lIHRoYXQgdGhlIHBhcmVudHMgd2lsbCBpbml0aWFsbHkKKwkgKiBkaXNwbGF5IGluIHRoZSBvcmRlciBnaXZlbiBieSBuZXdfY29sdW1ucy4KKwkgKgorCSAqIFRvIGZpbmQgdGhlIHJpZ2h0IGNvbG9yIGZvciBlYWNoIGRhc2gsIHdlIG5lZWQgdG8gY29uc3VsdCB0aGUKKwkgKiBtYXBwaW5nIGFycmF5LCBzdGFydGluZyBmcm9tIHRoZSBjb2x1bW4gMiBwbGFjZXMgdG8gdGhlIHJpZ2h0IG9mIHRoZQorCSAqIG1lcmdlIGNvbW1pdCwgYW5kIHVzZSB0aGF0IHRvIGZpbmQgb3V0IHdoaWNoIGxvZ2ljYWwgY29sdW1uIGVhY2gKKwkgKiBlZGdlIHdpbGwgY29sbGFwc2UgdG8uCisJICoKKwkgKiBDb21taXRzIGFyZSByZW5kZXJlZCBvbmNlIGFsbCBlZGdlcyBoYXZlIGNvbGxhcHNlZCB0byB0aGVpciBjb3JyZWN0CisJICogbG9nY2lhbCBjb2x1bW4sIHNvIGNvbW1pdF9pbmRleCBnaXZlcyB1cyB0aGUgcmlnaHQgdmlzdWFsIG9mZnNldCBmb3IKKwkgKiB0aGUgbWVyZ2UgY29tbWl0LgogCSAqLwotCWNvbnN0IGludCBkYXNobGVzc19wYXJlbnRzID0gMjsKLQlpbnQgZGFzaGZ1bF9wYXJlbnRzID0gZ3JhcGgtPm51bV9wYXJlbnRzIC0gZGFzaGxlc3NfcGFyZW50czsKIAotCS8qCi0JICogVXN1YWxseSwgd2UgYWRkIG9uZSBuZXcgY29sdW1uIGZvciBlYWNoIHBhcmVudCAobGlrZSB0aGUgZGlhZ3JhbQotCSAqIGFib3ZlKSBidXQgc29tZXRpbWVzIHRoZSBmaXJzdCBwYXJlbnQgZ29lcyBpbnRvIGFuIGV4aXN0aW5nIGNvbHVtbiwKLQkgKiBsaWtlIHRoaXM6Ci0JICoKLQkgKiB8ICotLS0uCi0JICogfCB8XCBcIFwKLQkgKiB8LyAvIC8gLwotCSAqIHggMCAxIDIKLQkgKgotCSAqIEluIHdoaWNoIGNhc2UgdGhlIG51bWJlciBvZiBwYXJlbnRzIHdpbGwgYmUgb25lIGdyZWF0ZXIgdGhhbiB0aGUKLQkgKiBudW1iZXIgb2YgYWRkZWQgY29sdW1ucy4KLQkgKi8KLQlpbnQgYWRkZWRfY29scyA9IChncmFwaC0+bnVtX25ld19jb2x1bW5zIC0gZ3JhcGgtPm51bV9jb2x1bW5zKTsKLQlpbnQgcGFyZW50X2luX29sZF9jb2xzID0gZ3JhcGgtPm51bV9wYXJlbnRzIC0gYWRkZWRfY29sczsKKwlpbnQgaSwgajsKKwlzdHJ1Y3QgY29sdW1uICpjb2w7CiAKLQkvKgotCSAqIEluIGJvdGggY2FzZXMsIGNvbW1pdF9pbmRleCBjb3JyZXNwb25kcyB0byB0aGUgZWRnZSBsYWJlbGVkICIwIi4KLQkgKi8KLQlpbnQgZmlyc3RfY29sID0gZ3JhcGgtPmNvbW1pdF9pbmRleCArIGRhc2hsZXNzX3BhcmVudHMKLQkgICAgLSBwYXJlbnRfaW5fb2xkX2NvbHM7CisJaW50IGRhc2hlZF9wYXJlbnRzID0gZ3JhcGhfbnVtX2Rhc2hlZF9wYXJlbnRzKGdyYXBoKTsKIAotCWludCBpOwotCWZvciAoaSA9IDA7IGkgPCBkYXNoZnVsX3BhcmVudHM7IGkrKykgewotCQlzdHJidWZfd3JpdGVfY29sdW1uKHNiLCAmZ3JhcGgtPm5ld19jb2x1bW5zW2krZmlyc3RfY29sXSwgJy0nKTsKLQkJc3RyYnVmX3dyaXRlX2NvbHVtbihzYiwgJmdyYXBoLT5uZXdfY29sdW1uc1tpK2ZpcnN0X2NvbF0sCi0JCQkJICAgIGkgPT0gZGFzaGZ1bF9wYXJlbnRzLTEgPyAnLicgOiAnLScpOworCWZvciAoaSA9IDA7IGkgPCBkYXNoZWRfcGFyZW50czsgaSsrKSB7CisJCWogPSBncmFwaC0+bWFwcGluZ1soZ3JhcGgtPmNvbW1pdF9pbmRleCArIGkgKyAyKSAqIDJdOworCQljb2wgPSAmZ3JhcGgtPm5ld19jb2x1bW5zW2pdOworCisJCWdyYXBoX2xpbmVfd3JpdGVfY29sdW1uKGxpbmUsIGNvbCwgJy0nKTsKKwkJZ3JhcGhfbGluZV93cml0ZV9jb2x1bW4obGluZSwgY29sLCAoaSA9PSBkYXNoZWRfcGFyZW50cyAtIDEpID8gJy4nIDogJy0nKTsKIAl9Ci0JcmV0dXJuIDIgKiBkYXNoZnVsX3BhcmVudHM7CisKKwlyZXR1cm47CiB9CiAKLXN0YXRpYyB2b2lkIGdyYXBoX291dHB1dF9jb21taXRfbGluZShzdHJ1Y3QgZ2l0X2dyYXBoICpncmFwaCwgc3RydWN0IHN0cmJ1ZiAqc2IpCitzdGF0aWMgdm9pZCBncmFwaF9vdXRwdXRfY29tbWl0X2xpbmUoc3RydWN0IGdpdF9ncmFwaCAqZ3JhcGgsIHN0cnVjdCBncmFwaF9saW5lICpsaW5lKQogewogCWludCBzZWVuX3RoaXMgPSAwOwotCWludCBpLCBjaGFyc193cml0dGVuOworCWludCBpOwogCiAJLyoKIAkgKiBPdXRwdXQgdGhlIHJvdyBjb250YWluaW5nIHRoaXMgY29tbWl0CkBAIC05MDYsNyArOTk0LDYgQEAKIAkgKiBjaGlsZHJlbiB0aGF0IHdlIGhhdmUgYWxyZWFkeSBwcm9jZXNzZWQuKQogCSAqLwogCXNlZW5fdGhpcyA9IDA7Ci0JY2hhcnNfd3JpdHRlbiA9IDA7CiAJZm9yIChpID0gMDsgaSA8PSBncmFwaC0+bnVtX2NvbHVtbnM7IGkrKykgewogCQlzdHJ1Y3QgY29sdW1uICpjb2wgPSAmZ3JhcGgtPmNvbHVtbnNbaV07CiAJCXN0cnVjdCBjb21taXQgKmNvbF9jb21taXQ7CkBAIC05MjAsMTkgKzEwMDcsMTcgQEAKIAogCQlpZiAoY29sX2NvbW1pdCA9PSBncmFwaC0+Y29tbWl0KSB7CiAJCQlzZWVuX3RoaXMgPSAxOwotCQkJZ3JhcGhfb3V0cHV0X2NvbW1pdF9jaGFyKGdyYXBoLCBzYik7Ci0JCQljaGFyc193cml0dGVuKys7CisJCQlncmFwaF9vdXRwdXRfY29tbWl0X2NoYXIoZ3JhcGgsIGxpbmUpOwogCiAJCQlpZiAoZ3JhcGgtPm51bV9wYXJlbnRzID4gMikKLQkJCQljaGFyc193cml0dGVuICs9IGdyYXBoX2RyYXdfb2N0b3B1c19tZXJnZShncmFwaCwKLQkJCQkJCQkJCSAgc2IpOwotCQl9IGVsc2UgaWYgKHNlZW5fdGhpcyAmJiAoZ3JhcGgtPm51bV9wYXJlbnRzID4gMikpIHsKLQkJCXN0cmJ1Zl93cml0ZV9jb2x1bW4oc2IsIGNvbCwgJ1xcJyk7Ci0JCQljaGFyc193cml0dGVuKys7Ci0JCX0gZWxzZSBpZiAoc2Vlbl90aGlzICYmIChncmFwaC0+bnVtX3BhcmVudHMgPT0gMikpIHsKKwkJCQlncmFwaF9kcmF3X29jdG9wdXNfbWVyZ2UoZ3JhcGgsIGxpbmUpOworCQl9IGVsc2UgaWYgKHNlZW5fdGhpcyAmJiAoZ3JhcGgtPmVkZ2VzX2FkZGVkID4gMSkpIHsKKwkJCWdyYXBoX2xpbmVfd3JpdGVfY29sdW1uKGxpbmUsIGNvbCwgJ1xcJyk7CisJCX0gZWxzZSBpZiAoc2Vlbl90aGlzICYmIChncmFwaC0+ZWRnZXNfYWRkZWQgPT0gMSkpIHsKIAkJCS8qCi0JCQkgKiBUaGlzIGlzIGEgMi13YXkgbWVyZ2UgY29tbWl0LgotCQkJICogVGhlcmUgaXMgbm8gR1JBUEhfUFJFX0NPTU1JVCBzdGFnZSBmb3IgMi13YXkKKwkJCSAqIFRoaXMgaXMgZWl0aGVyIGEgcmlnaHQtc2tld2VkIDItd2F5IG1lcmdlCisJCQkgKiBjb21taXQsIG9yIGEgbGVmdC1za2V3ZWQgMy13YXkgbWVyZ2UuCisJCQkgKiBUaGVyZSBpcyBubyBHUkFQSF9QUkVfQ09NTUlUIHN0YWdlIGZvciBzdWNoCiAJCQkgKiBtZXJnZXMsIHNvIHRoaXMgaXMgdGhlIGZpcnN0IGxpbmUgb2Ygb3V0cHV0CiAJCQkgKiBmb3IgdGhpcyBjb21taXQuICBDaGVjayB0byBzZWUgd2hhdCB0aGUgcHJldmlvdXMKIAkJCSAqIGxpbmUgb2Ygb3V0cHV0IHdhcy4KQEAgLTk0NCwyMSArMTAyOSwyMSBAQAogCQkJICogbWFrZXMgdGhlIG91dHB1dCBsb29rIG5pY2VyLgogCQkJICovCiAJCQlpZiAoZ3JhcGgtPnByZXZfc3RhdGUgPT0gR1JBUEhfUE9TVF9NRVJHRSAmJgorCQkJICAgIGdyYXBoLT5wcmV2X2VkZ2VzX2FkZGVkID4gMCAmJgogCQkJICAgIGdyYXBoLT5wcmV2X2NvbW1pdF9pbmRleCA8IGkpCi0JCQkJc3RyYnVmX3dyaXRlX2NvbHVtbihzYiwgY29sLCAnXFwnKTsKKwkJCQlncmFwaF9saW5lX3dyaXRlX2NvbHVtbihsaW5lLCBjb2wsICdcXCcpOwogCQkJZWxzZQotCQkJCXN0cmJ1Zl93cml0ZV9jb2x1bW4oc2IsIGNvbCwgJ3wnKTsKLQkJCWNoYXJzX3dyaXR0ZW4rKzsKKwkJCQlncmFwaF9saW5lX3dyaXRlX2NvbHVtbihsaW5lLCBjb2wsICd8Jyk7CisJCX0gZWxzZSBpZiAoZ3JhcGgtPnByZXZfc3RhdGUgPT0gR1JBUEhfQ09MTEFQU0lORyAmJgorCQkJICAgZ3JhcGgtPm9sZF9tYXBwaW5nWzIgKiBpICsgMV0gPT0gaSAmJgorCQkJICAgZ3JhcGgtPm1hcHBpbmdbMiAqIGldIDwgaSkgeworCQkJZ3JhcGhfbGluZV93cml0ZV9jb2x1bW4obGluZSwgY29sLCAnLycpOwogCQl9IGVsc2UgewotCQkJc3RyYnVmX3dyaXRlX2NvbHVtbihzYiwgY29sLCAnfCcpOwotCQkJY2hhcnNfd3JpdHRlbisrOworCQkJZ3JhcGhfbGluZV93cml0ZV9jb2x1bW4obGluZSwgY29sLCAnfCcpOwogCQl9Ci0JCXN0cmJ1Zl9hZGRjaChzYiwgJyAnKTsKLQkJY2hhcnNfd3JpdHRlbisrOworCQlncmFwaF9saW5lX2FkZGNoKGxpbmUsICcgJyk7CiAJfQogCi0JZ3JhcGhfcGFkX2hvcml6b250YWxseShncmFwaCwgc2IsIGNoYXJzX3dyaXR0ZW4pOwotCiAJLyoKIAkgKiBVcGRhdGUgZ3JhcGgtPnN0YXRlCiAJICovCkBAIC05NzAsMjYgKzEwNTUsMTkgQEAKIAkJZ3JhcGhfdXBkYXRlX3N0YXRlKGdyYXBoLCBHUkFQSF9DT0xMQVBTSU5HKTsKIH0KIAotc3RhdGljIHN0cnVjdCBjb2x1bW4gKmZpbmRfbmV3X2NvbHVtbl9ieV9jb21taXQoc3RydWN0IGdpdF9ncmFwaCAqZ3JhcGgsCi0JCQkJCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQpCi17Ci0JaW50IGk7Ci0JZm9yIChpID0gMDsgaSA8IGdyYXBoLT5udW1fbmV3X2NvbHVtbnM7IGkrKykgewotCQlpZiAoZ3JhcGgtPm5ld19jb2x1bW5zW2ldLmNvbW1pdCA9PSBjb21taXQpCi0JCQlyZXR1cm4gJmdyYXBoLT5uZXdfY29sdW1uc1tpXTsKLQl9Ci0JcmV0dXJuIE5VTEw7Ci19Citjb25zdCBjaGFyIG1lcmdlX2NoYXJzW10gPSB7Jy8nLCAnfCcsICdcXCd9OwogCi1zdGF0aWMgdm9pZCBncmFwaF9vdXRwdXRfcG9zdF9tZXJnZV9saW5lKHN0cnVjdCBnaXRfZ3JhcGggKmdyYXBoLCBzdHJ1Y3Qgc3RyYnVmICpzYikKK3N0YXRpYyB2b2lkIGdyYXBoX291dHB1dF9wb3N0X21lcmdlX2xpbmUoc3RydWN0IGdpdF9ncmFwaCAqZ3JhcGgsIHN0cnVjdCBncmFwaF9saW5lICpsaW5lKQogewogCWludCBzZWVuX3RoaXMgPSAwOwotCWludCBpLCBqLCBjaGFyc193cml0dGVuOworCWludCBpLCBqOworCisJc3RydWN0IGNvbW1pdF9saXN0ICpmaXJzdF9wYXJlbnQgPSBmaXJzdF9pbnRlcmVzdGluZ19wYXJlbnQoZ3JhcGgpOworCXN0cnVjdCBjb2x1bW4gKnBhcmVudF9jb2wgPSBOVUxMOwogCiAJLyoKIAkgKiBPdXRwdXQgdGhlIHBvc3QtbWVyZ2Ugcm93CiAJICovCi0JY2hhcnNfd3JpdHRlbiA9IDA7CiAJZm9yIChpID0gMDsgaSA8PSBncmFwaC0+bnVtX2NvbHVtbnM7IGkrKykgewogCQlzdHJ1Y3QgY29sdW1uICpjb2wgPSAmZ3JhcGgtPmNvbHVtbnNbaV07CiAJCXN0cnVjdCBjb21taXQgKmNvbF9jb21taXQ7CkBAIC0xMDA4LDM3ICsxMDg2LDQ5IEBACiAJCQkgKiBuZXdfY29sdW1ucyBhbmQgdXNlIHRob3NlIHRvIGZvcm1hdCB0aGUKIAkJCSAqIGVkZ2VzLgogCQkJICovCi0JCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudHMgPSBOVUxMOwotCQkJc3RydWN0IGNvbHVtbiAqcGFyX2NvbHVtbjsKKwkJCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50cyA9IGZpcnN0X3BhcmVudDsKKwkJCWludCBwYXJfY29sdW1uOworCQkJaW50IGlkeCA9IGdyYXBoLT5tZXJnZV9sYXlvdXQ7CisJCQljaGFyIGM7CiAJCQlzZWVuX3RoaXMgPSAxOwotCQkJcGFyZW50cyA9IGZpcnN0X2ludGVyZXN0aW5nX3BhcmVudChncmFwaCk7Ci0JCQlhc3NlcnQocGFyZW50cyk7Ci0JCQlwYXJfY29sdW1uID0gZmluZF9uZXdfY29sdW1uX2J5X2NvbW1pdChncmFwaCwgcGFyZW50cy0+aXRlbSk7Ci0JCQlhc3NlcnQocGFyX2NvbHVtbik7CiAKLQkJCXN0cmJ1Zl93cml0ZV9jb2x1bW4oc2IsIHBhcl9jb2x1bW4sICd8Jyk7Ci0JCQljaGFyc193cml0dGVuKys7Ci0JCQlmb3IgKGogPSAwOyBqIDwgZ3JhcGgtPm51bV9wYXJlbnRzIC0gMTsgaisrKSB7CisJCQlmb3IgKGogPSAwOyBqIDwgZ3JhcGgtPm51bV9wYXJlbnRzOyBqKyspIHsKKwkJCQlwYXJfY29sdW1uID0gZ3JhcGhfZmluZF9uZXdfY29sdW1uX2J5X2NvbW1pdChncmFwaCwgcGFyZW50cy0+aXRlbSk7CisJCQkJYXNzZXJ0KHBhcl9jb2x1bW4gPj0gMCk7CisKKwkJCQljID0gbWVyZ2VfY2hhcnNbaWR4XTsKKwkJCQlncmFwaF9saW5lX3dyaXRlX2NvbHVtbihsaW5lLCAmZ3JhcGgtPm5ld19jb2x1bW5zW3Bhcl9jb2x1bW5dLCBjKTsKKwkJCQlpZiAoaWR4ID09IDIpIHsKKwkJCQkJaWYgKGdyYXBoLT5lZGdlc19hZGRlZCA+IDAgfHwgaiA8IGdyYXBoLT5udW1fcGFyZW50cyAtIDEpCisJCQkJCQlncmFwaF9saW5lX2FkZGNoKGxpbmUsICcgJyk7CisJCQkJfSBlbHNlIHsKKwkJCQkJaWR4Kys7CisJCQkJfQogCQkJCXBhcmVudHMgPSBuZXh0X2ludGVyZXN0aW5nX3BhcmVudChncmFwaCwgcGFyZW50cyk7Ci0JCQkJYXNzZXJ0KHBhcmVudHMpOwotCQkJCXBhcl9jb2x1bW4gPSBmaW5kX25ld19jb2x1bW5fYnlfY29tbWl0KGdyYXBoLCBwYXJlbnRzLT5pdGVtKTsKLQkJCQlhc3NlcnQocGFyX2NvbHVtbik7Ci0JCQkJc3RyYnVmX3dyaXRlX2NvbHVtbihzYiwgcGFyX2NvbHVtbiwgJ1xcJyk7Ci0JCQkJc3RyYnVmX2FkZGNoKHNiLCAnICcpOwogCQkJfQotCQkJY2hhcnNfd3JpdHRlbiArPSBqICogMjsKLQkJfSBlbHNlIGlmIChzZWVuX3RoaXMpIHsKLQkJCXN0cmJ1Zl93cml0ZV9jb2x1bW4oc2IsIGNvbCwgJ1xcJyk7Ci0JCQlzdHJidWZfYWRkY2goc2IsICcgJyk7Ci0JCQljaGFyc193cml0dGVuICs9IDI7Ci0JCX0gZWxzZSB7Ci0JCQlzdHJidWZfd3JpdGVfY29sdW1uKHNiLCBjb2wsICd8Jyk7Ci0JCQlzdHJidWZfYWRkY2goc2IsICcgJyk7Ci0JCQljaGFyc193cml0dGVuICs9IDI7Ci0JCX0KLQl9CisJCQlpZiAoZ3JhcGgtPmVkZ2VzX2FkZGVkID09IDApCisJCQkJZ3JhcGhfbGluZV9hZGRjaChsaW5lLCAnICcpOwogCi0JZ3JhcGhfcGFkX2hvcml6b250YWxseShncmFwaCwgc2IsIGNoYXJzX3dyaXR0ZW4pOworCQl9IGVsc2UgaWYgKHNlZW5fdGhpcykgeworCQkJaWYgKGdyYXBoLT5lZGdlc19hZGRlZCA+IDApCisJCQkJZ3JhcGhfbGluZV93cml0ZV9jb2x1bW4obGluZSwgY29sLCAnXFwnKTsKKwkJCWVsc2UKKwkJCQlncmFwaF9saW5lX3dyaXRlX2NvbHVtbihsaW5lLCBjb2wsICd8Jyk7CisJCQlncmFwaF9saW5lX2FkZGNoKGxpbmUsICcgJyk7CisJCX0gZWxzZSB7CisJCQlncmFwaF9saW5lX3dyaXRlX2NvbHVtbihsaW5lLCBjb2wsICd8Jyk7CisJCQlpZiAoZ3JhcGgtPm1lcmdlX2xheW91dCAhPSAwIHx8IGkgIT0gZ3JhcGgtPmNvbW1pdF9pbmRleCAtIDEpIHsKKwkJCQlpZiAocGFyZW50X2NvbCkKKwkJCQkJZ3JhcGhfbGluZV93cml0ZV9jb2x1bW4oCisJCQkJCQlsaW5lLCBwYXJlbnRfY29sLCAnXycpOworCQkJCWVsc2UKKwkJCQkJZ3JhcGhfbGluZV9hZGRjaChsaW5lLCAnICcpOworCQkJfQorCQl9CisKKwkJaWYgKGNvbF9jb21taXQgPT0gZmlyc3RfcGFyZW50LT5pdGVtKQorCQkJcGFyZW50X2NvbCA9IGNvbDsKKwl9CiAKIAkvKgogCSAqIFVwZGF0ZSBncmFwaC0+c3RhdGUKQEAgLTEwNDksNyArMTEzOSw3IEBACiAJCWdyYXBoX3VwZGF0ZV9zdGF0ZShncmFwaCwgR1JBUEhfQ09MTEFQU0lORyk7CiB9CiAKLXN0YXRpYyB2b2lkIGdyYXBoX291dHB1dF9jb2xsYXBzaW5nX2xpbmUoc3RydWN0IGdpdF9ncmFwaCAqZ3JhcGgsIHN0cnVjdCBzdHJidWYgKnNiKQorc3RhdGljIHZvaWQgZ3JhcGhfb3V0cHV0X2NvbGxhcHNpbmdfbGluZShzdHJ1Y3QgZ2l0X2dyYXBoICpncmFwaCwgc3RydWN0IGdyYXBoX2xpbmUgKmxpbmUpCiB7CiAJaW50IGk7CiAJc2hvcnQgdXNlZF9ob3Jpem9udGFsID0gMDsKQEAgLTEwNTcsMTMgKzExNDcsMTggQEAKIAlpbnQgaG9yaXpvbnRhbF9lZGdlX3RhcmdldCA9IC0xOwogCiAJLyoKLQkgKiBDbGVhciBvdXQgdGhlIG5ld19tYXBwaW5nIGFycmF5CisJICogU3dhcCB0aGUgbWFwcGluZyBhbmQgb2xkX21hcHBpbmcgYXJyYXlzCisJICovCisJU1dBUChncmFwaC0+bWFwcGluZywgZ3JhcGgtPm9sZF9tYXBwaW5nKTsKKworCS8qCisJICogQ2xlYXIgb3V0IHRoZSBtYXBwaW5nIGFycmF5CiAJICovCiAJZm9yIChpID0gMDsgaSA8IGdyYXBoLT5tYXBwaW5nX3NpemU7IGkrKykKLQkJZ3JhcGgtPm5ld19tYXBwaW5nW2ldID0gLTE7CisJCWdyYXBoLT5tYXBwaW5nW2ldID0gLTE7CiAKIAlmb3IgKGkgPSAwOyBpIDwgZ3JhcGgtPm1hcHBpbmdfc2l6ZTsgaSsrKSB7Ci0JCWludCB0YXJnZXQgPSBncmFwaC0+bWFwcGluZ1tpXTsKKwkJaW50IHRhcmdldCA9IGdyYXBoLT5vbGRfbWFwcGluZ1tpXTsKIAkJaWYgKHRhcmdldCA8IDApCiAJCQljb250aW51ZTsKIApAQCAtMTA4NCwxNCArMTE3OSwxNCBAQAogCQkJICogVGhpcyBjb2x1bW4gaXMgYWxyZWFkeSBpbiB0aGUKIAkJCSAqIGNvcnJlY3QgcGxhY2UKIAkJCSAqLwotCQkJYXNzZXJ0KGdyYXBoLT5uZXdfbWFwcGluZ1tpXSA9PSAtMSk7Ci0JCQlncmFwaC0+bmV3X21hcHBpbmdbaV0gPSB0YXJnZXQ7Ci0JCX0gZWxzZSBpZiAoZ3JhcGgtPm5ld19tYXBwaW5nW2kgLSAxXSA8IDApIHsKKwkJCWFzc2VydChncmFwaC0+bWFwcGluZ1tpXSA9PSAtMSk7CisJCQlncmFwaC0+bWFwcGluZ1tpXSA9IHRhcmdldDsKKwkJfSBlbHNlIGlmIChncmFwaC0+bWFwcGluZ1tpIC0gMV0gPCAwKSB7CiAJCQkvKgogCQkJICogTm90aGluZyBpcyB0byB0aGUgbGVmdC4KIAkJCSAqIE1vdmUgdG8gdGhlIGxlZnQgYnkgb25lCiAJCQkgKi8KLQkJCWdyYXBoLT5uZXdfbWFwcGluZ1tpIC0gMV0gPSB0YXJnZXQ7CisJCQlncmFwaC0+bWFwcGluZ1tpIC0gMV0gPSB0YXJnZXQ7CiAJCQkvKgogCQkJICogSWYgdGhlcmUgaXNuJ3QgYWxyZWFkeSBhbiBlZGdlIG1vdmluZyBob3Jpem9udGFsbHkKIAkJCSAqIHNlbGVjdCB0aGlzIG9uZS4KQEAgLTExMDcsOSArMTIwMiw5IEBACiAJCQkJICogbGluZS4KIAkJCQkgKi8KIAkJCQlmb3IgKGogPSAodGFyZ2V0ICogMikrMzsgaiA8IChpIC0gMik7IGogKz0gMikKLQkJCQkJZ3JhcGgtPm5ld19tYXBwaW5nW2pdID0gdGFyZ2V0OworCQkJCQlncmFwaC0+bWFwcGluZ1tqXSA9IHRhcmdldDsKIAkJCX0KLQkJfSBlbHNlIGlmIChncmFwaC0+bmV3X21hcHBpbmdbaSAtIDFdID09IHRhcmdldCkgeworCQl9IGVsc2UgaWYgKGdyYXBoLT5tYXBwaW5nW2kgLSAxXSA9PSB0YXJnZXQpIHsKIAkJCS8qCiAJCQkgKiBUaGVyZSBpcyBhIGJyYW5jaCBsaW5lIHRvIG91ciBsZWZ0CiAJCQkgKiBhbHJlYWR5LCBhbmQgaXQgaXMgb3VyIHRhcmdldC4gIFdlCkBAIC0xMTE3LDcgKzEyMTIsNyBAQAogCQkJICogdGhlIHNhbWUgcGFyZW50IGNvbW1pdC4KIAkJCSAqCiAJCQkgKiBXZSBkb24ndCBoYXZlIHRvIGFkZCBhbnl0aGluZyB0byB0aGUKLQkJCSAqIG91dHB1dCBvciBuZXdfbWFwcGluZywgc2luY2UgdGhlCisJCQkgKiBvdXRwdXQgb3IgbWFwcGluZywgc2luY2UgdGhlCiAJCQkgKiBleGlzdGluZyBicmFuY2ggbGluZSBoYXMgYWxyZWFkeSB0YWtlbgogCQkJICogY2FyZSBvZiBpdC4KIAkJCSAqLwpAQCAtMTEyOSwzOSArMTIyNCw0NiBAQAogCQkJICoKIAkJCSAqIFRoZSBzcGFjZSBqdXN0IHRvIHRoZSBsZWZ0IG9mIHRoaXMKIAkJCSAqIGJyYW5jaCBzaG91bGQgYWx3YXlzIGJlIGVtcHR5LgotCQkJICoKLQkJCSAqIFRoZSBicmFuY2ggdG8gdGhlIGxlZnQgb2YgdGhhdCBzcGFjZQotCQkJICogc2hvdWxkIGJlIG91ciBldmVudHVhbCB0YXJnZXQuCiAJCQkgKi8KLQkJCWFzc2VydChncmFwaC0+bmV3X21hcHBpbmdbaSAtIDFdID4gdGFyZ2V0KTsKLQkJCWFzc2VydChncmFwaC0+bmV3X21hcHBpbmdbaSAtIDJdIDwgMCk7Ci0JCQlhc3NlcnQoZ3JhcGgtPm5ld19tYXBwaW5nW2kgLSAzXSA9PSB0YXJnZXQpOwotCQkJZ3JhcGgtPm5ld19tYXBwaW5nW2kgLSAyXSA9IHRhcmdldDsKKwkJCWFzc2VydChncmFwaC0+bWFwcGluZ1tpIC0gMV0gPiB0YXJnZXQpOworCQkJYXNzZXJ0KGdyYXBoLT5tYXBwaW5nW2kgLSAyXSA8IDApOworCQkJZ3JhcGgtPm1hcHBpbmdbaSAtIDJdID0gdGFyZ2V0OwogCQkJLyoKIAkJCSAqIE1hcmsgdGhpcyBicmFuY2ggYXMgdGhlIGhvcml6b250YWwgZWRnZSB0bwogCQkJICogcHJldmVudCBhbnkgb3RoZXIgZWRnZXMgZnJvbSBtb3ZpbmcKIAkJCSAqIGhvcml6b250YWxseS4KIAkJCSAqLwotCQkJaWYgKGhvcml6b250YWxfZWRnZSA9PSAtMSkKLQkJCQlob3Jpem9udGFsX2VkZ2UgPSBpOworCQkJaWYgKGhvcml6b250YWxfZWRnZSA9PSAtMSkgeworCQkJCWludCBqOworCQkJCWhvcml6b250YWxfZWRnZV90YXJnZXQgPSB0YXJnZXQ7CisJCQkJaG9yaXpvbnRhbF9lZGdlID0gaSAtIDE7CisKKwkJCQlmb3IgKGogPSAodGFyZ2V0ICogMikgKyAzOyBqIDwgKGkgLSAyKTsgaiArPSAyKQorCQkJCQlncmFwaC0+bWFwcGluZ1tqXSA9IHRhcmdldDsKKwkJCX0KIAkJfQogCX0KIAogCS8qCisJICogQ29weSB0aGUgY3VycmVudCBtYXBwaW5nIGFycmF5IGludG8gb2xkX21hcHBpbmcKKwkgKi8KKwlDT1BZX0FSUkFZKGdyYXBoLT5vbGRfbWFwcGluZywgZ3JhcGgtPm1hcHBpbmcsIGdyYXBoLT5tYXBwaW5nX3NpemUpOworCisJLyoKIAkgKiBUaGUgbmV3IG1hcHBpbmcgbWF5IGJlIDEgc21hbGxlciB0aGFuIHRoZSBvbGQgbWFwcGluZwogCSAqLwotCWlmIChncmFwaC0+bmV3X21hcHBpbmdbZ3JhcGgtPm1hcHBpbmdfc2l6ZSAtIDFdIDwgMCkKKwlpZiAoZ3JhcGgtPm1hcHBpbmdbZ3JhcGgtPm1hcHBpbmdfc2l6ZSAtIDFdIDwgMCkKIAkJZ3JhcGgtPm1hcHBpbmdfc2l6ZS0tOwogCiAJLyoKIAkgKiBPdXRwdXQgb3V0IGEgbGluZSBiYXNlZCBvbiB0aGUgbmV3IG1hcHBpbmcgaW5mbwogCSAqLwogCWZvciAoaSA9IDA7IGkgPCBncmFwaC0+bWFwcGluZ19zaXplOyBpKyspIHsKLQkJaW50IHRhcmdldCA9IGdyYXBoLT5uZXdfbWFwcGluZ1tpXTsKKwkJaW50IHRhcmdldCA9IGdyYXBoLT5tYXBwaW5nW2ldOwogCQlpZiAodGFyZ2V0IDwgMCkKLQkJCXN0cmJ1Zl9hZGRjaChzYiwgJyAnKTsKKwkJCWdyYXBoX2xpbmVfYWRkY2gobGluZSwgJyAnKTsKIAkJZWxzZSBpZiAodGFyZ2V0ICogMiA9PSBpKQotCQkJc3RyYnVmX3dyaXRlX2NvbHVtbihzYiwgJmdyYXBoLT5uZXdfY29sdW1uc1t0YXJnZXRdLCAnfCcpOworCQkJZ3JhcGhfbGluZV93cml0ZV9jb2x1bW4obGluZSwgJmdyYXBoLT5uZXdfY29sdW1uc1t0YXJnZXRdLCAnfCcpOwogCQllbHNlIGlmICh0YXJnZXQgPT0gaG9yaXpvbnRhbF9lZGdlX3RhcmdldCAmJgogCQkJIGkgIT0gaG9yaXpvbnRhbF9lZGdlIC0gMSkgewogCQkJCS8qCkBAIC0xMTcwLDI0ICsxMjcyLDE3IEBACiAJCQkJICogd29uJ3QgY29udGludWUgaW50byB0aGUgbmV4dCBsaW5lLgogCQkJCSAqLwogCQkJCWlmIChpICE9ICh0YXJnZXQgKiAyKSszKQotCQkJCQlncmFwaC0+bmV3X21hcHBpbmdbaV0gPSAtMTsKKwkJCQkJZ3JhcGgtPm1hcHBpbmdbaV0gPSAtMTsKIAkJCQl1c2VkX2hvcml6b250YWwgPSAxOwotCQkJc3RyYnVmX3dyaXRlX2NvbHVtbihzYiwgJmdyYXBoLT5uZXdfY29sdW1uc1t0YXJnZXRdLCAnXycpOworCQkJZ3JhcGhfbGluZV93cml0ZV9jb2x1bW4obGluZSwgJmdyYXBoLT5uZXdfY29sdW1uc1t0YXJnZXRdLCAnXycpOwogCQl9IGVsc2UgewogCQkJaWYgKHVzZWRfaG9yaXpvbnRhbCAmJiBpIDwgaG9yaXpvbnRhbF9lZGdlKQotCQkJCWdyYXBoLT5uZXdfbWFwcGluZ1tpXSA9IC0xOwotCQkJc3RyYnVmX3dyaXRlX2NvbHVtbihzYiwgJmdyYXBoLT5uZXdfY29sdW1uc1t0YXJnZXRdLCAnLycpOworCQkJCWdyYXBoLT5tYXBwaW5nW2ldID0gLTE7CisJCQlncmFwaF9saW5lX3dyaXRlX2NvbHVtbihsaW5lLCAmZ3JhcGgtPm5ld19jb2x1bW5zW3RhcmdldF0sICcvJyk7CiAKIAkJfQogCX0KIAotCWdyYXBoX3BhZF9ob3Jpem9udGFsbHkoZ3JhcGgsIHNiLCBncmFwaC0+bWFwcGluZ19zaXplKTsKLQotCS8qCi0JICogU3dhcCBtYXBwaW5nIGFuZCBuZXdfbWFwcGluZwotCSAqLwotCVNXQVAoZ3JhcGgtPm1hcHBpbmcsIGdyYXBoLT5uZXdfbWFwcGluZyk7Ci0KIAkvKgogCSAqIElmIGdyYXBoLT5tYXBwaW5nIGluZGljYXRlcyB0aGF0IGFsbCBvZiB0aGUgYnJhbmNoIGxpbmVzCiAJICogYXJlIGFscmVhZHkgaW4gdGhlIGNvcnJlY3QgcG9zaXRpb25zLCB3ZSBhcmUgZG9uZS4KQEAgLTExOTksMzUgKzEyOTQsNDkgQEAKIAogaW50IGdyYXBoX25leHRfbGluZShzdHJ1Y3QgZ2l0X2dyYXBoICpncmFwaCwgc3RydWN0IHN0cmJ1ZiAqc2IpCiB7CisJaW50IHNob3duX2NvbW1pdF9saW5lID0gMDsKKwlzdHJ1Y3QgZ3JhcGhfbGluZSBsaW5lID0geyAuYnVmID0gc2IsIC53aWR0aCA9IDAgfTsKKworCS8qCisJICogV2UgY291bGQgY29uY2VpdmFibGUgYmUgY2FsbGVkIHdpdGggYSBOVUxMIGNvbW1pdAorCSAqIGlmIG91ciBjYWxsZXIgaGFzIGEgYnVnLCBhbmQgaW52b2tlcyBncmFwaF9uZXh0X2xpbmUoKQorCSAqIGltbWVkaWF0ZWx5IGFmdGVyIGdyYXBoX2luaXQoKSwgd2l0aG91dCBmaXJzdCBjYWxsaW5nCisJICogZ3JhcGhfdXBkYXRlKCkuICBSZXR1cm4gd2l0aG91dCBvdXRwdXR0aW5nIGFueXRoaW5nIGluIHRoaXMKKwkgKiBjYXNlLgorCSAqLworCWlmICghZ3JhcGgtPmNvbW1pdCkKKwkJcmV0dXJuIC0xOworCiAJc3dpdGNoIChncmFwaC0+c3RhdGUpIHsKIAljYXNlIEdSQVBIX1BBRERJTkc6Ci0JCWdyYXBoX291dHB1dF9wYWRkaW5nX2xpbmUoZ3JhcGgsIHNiKTsKLQkJcmV0dXJuIDA7CisJCWdyYXBoX291dHB1dF9wYWRkaW5nX2xpbmUoZ3JhcGgsICZsaW5lKTsKKwkJYnJlYWs7CiAJY2FzZSBHUkFQSF9TS0lQOgotCQlncmFwaF9vdXRwdXRfc2tpcF9saW5lKGdyYXBoLCBzYik7Ci0JCXJldHVybiAwOworCQlncmFwaF9vdXRwdXRfc2tpcF9saW5lKGdyYXBoLCAmbGluZSk7CisJCWJyZWFrOwogCWNhc2UgR1JBUEhfUFJFX0NPTU1JVDoKLQkJZ3JhcGhfb3V0cHV0X3ByZV9jb21taXRfbGluZShncmFwaCwgc2IpOwotCQlyZXR1cm4gMDsKKwkJZ3JhcGhfb3V0cHV0X3ByZV9jb21taXRfbGluZShncmFwaCwgJmxpbmUpOworCQlicmVhazsKIAljYXNlIEdSQVBIX0NPTU1JVDoKLQkJZ3JhcGhfb3V0cHV0X2NvbW1pdF9saW5lKGdyYXBoLCBzYik7Ci0JCXJldHVybiAxOworCQlncmFwaF9vdXRwdXRfY29tbWl0X2xpbmUoZ3JhcGgsICZsaW5lKTsKKwkJc2hvd25fY29tbWl0X2xpbmUgPSAxOworCQlicmVhazsKIAljYXNlIEdSQVBIX1BPU1RfTUVSR0U6Ci0JCWdyYXBoX291dHB1dF9wb3N0X21lcmdlX2xpbmUoZ3JhcGgsIHNiKTsKLQkJcmV0dXJuIDA7CisJCWdyYXBoX291dHB1dF9wb3N0X21lcmdlX2xpbmUoZ3JhcGgsICZsaW5lKTsKKwkJYnJlYWs7CiAJY2FzZSBHUkFQSF9DT0xMQVBTSU5HOgotCQlncmFwaF9vdXRwdXRfY29sbGFwc2luZ19saW5lKGdyYXBoLCBzYik7Ci0JCXJldHVybiAwOworCQlncmFwaF9vdXRwdXRfY29sbGFwc2luZ19saW5lKGdyYXBoLCAmbGluZSk7CisJCWJyZWFrOwogCX0KIAotCWFzc2VydCgwKTsKLQlyZXR1cm4gMDsKKwlncmFwaF9wYWRfaG9yaXpvbnRhbGx5KGdyYXBoLCAmbGluZSk7CisJcmV0dXJuIHNob3duX2NvbW1pdF9saW5lOwogfQogCiBzdGF0aWMgdm9pZCBncmFwaF9wYWRkaW5nX2xpbmUoc3RydWN0IGdpdF9ncmFwaCAqZ3JhcGgsIHN0cnVjdCBzdHJidWYgKnNiKQogewogCWludCBpOwotCWludCBjaGFyc193cml0dGVuID0gMDsKKwlzdHJ1Y3QgZ3JhcGhfbGluZSBsaW5lID0geyAuYnVmID0gc2IsIC53aWR0aCA9IDAgfTsKIAogCWlmIChncmFwaC0+c3RhdGUgIT0gR1JBUEhfQ09NTUlUKSB7CiAJCWdyYXBoX25leHRfbGluZShncmFwaCwgc2IpOwpAQCAtMTI0NCwyMCArMTM1MywxNyBAQAogCWZvciAoaSA9IDA7IGkgPCBncmFwaC0+bnVtX2NvbHVtbnM7IGkrKykgewogCQlzdHJ1Y3QgY29sdW1uICpjb2wgPSAmZ3JhcGgtPmNvbHVtbnNbaV07CiAKLQkJc3RyYnVmX3dyaXRlX2NvbHVtbihzYiwgY29sLCAnfCcpOwotCQljaGFyc193cml0dGVuKys7CisJCWdyYXBoX2xpbmVfd3JpdGVfY29sdW1uKCZsaW5lLCBjb2wsICd8Jyk7CiAKIAkJaWYgKGNvbC0+Y29tbWl0ID09IGdyYXBoLT5jb21taXQgJiYgZ3JhcGgtPm51bV9wYXJlbnRzID4gMikgewogCQkJaW50IGxlbiA9IChncmFwaC0+bnVtX3BhcmVudHMgLSAyKSAqIDI7Ci0JCQlzdHJidWZfYWRkY2hhcnMoc2IsICcgJywgbGVuKTsKLQkJCWNoYXJzX3dyaXR0ZW4gKz0gbGVuOworCQkJZ3JhcGhfbGluZV9hZGRjaGFycygmbGluZSwgJyAnLCBsZW4pOwogCQl9IGVsc2UgewotCQkJc3RyYnVmX2FkZGNoKHNiLCAnICcpOwotCQkJY2hhcnNfd3JpdHRlbisrOworCQkJZ3JhcGhfbGluZV9hZGRjaCgmbGluZSwgJyAnKTsKIAkJfQogCX0KIAotCWdyYXBoX3BhZF9ob3Jpem9udGFsbHkoZ3JhcGgsIHNiLCBjaGFyc193cml0dGVuKTsKKwlncmFwaF9wYWRfaG9yaXpvbnRhbGx5KGdyYXBoLCAmbGluZSk7CiAKIAkvKgogCSAqIFVwZGF0ZSBncmFwaC0+cHJldl9zdGF0ZSBzaW5jZSB3ZSBoYXZlIG91dHB1dCBhIHBhZGRpbmcgbGluZQpkaWZmIC0tZ2l0IGEvZ3JhcGguaCBiL2dyYXBoLmgKaW5kZXggYWY2MjMzOS4uODMxM2UyOSAxMDA2NDQKLS0tIGEvZ3JhcGguaAorKysgYi9ncmFwaC5oCkBAIC0yLDYgKzIsMTAzIEBACiAjZGVmaW5lIEdSQVBIX0gKICNpbmNsdWRlICJkaWZmLmgiCiAKKy8qKgorICogVGhlIGdyYXBoIEFQSSBpcyB1c2VkIHRvIGRyYXcgYSB0ZXh0LWJhc2VkIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjb21taXQKKyAqIGhpc3RvcnkuIFRoZSBBUEkgZ2VuZXJhdGVzIHRoZSBncmFwaCBpbiBhIGxpbmUtYnktbGluZSBmYXNoaW9uLgorICoKKyAqIENhbGxpbmcgc2VxdWVuY2UKKyAqIC0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiAtIENyZWF0ZSBhIGBzdHJ1Y3QgZ2l0X2dyYXBoYCBieSBjYWxsaW5nIGBncmFwaF9pbml0KClgLiAgV2hlbiB1c2luZyB0aGUKKyAqICAgcmV2aXNpb24gd2Fsa2luZyBBUEksIHRoaXMgaXMgZG9uZSBhdXRvbWF0aWNhbGx5IGJ5IGBzZXR1cF9yZXZpc2lvbnMoKWAgaWYKKyAqICAgdGhlICctLWdyYXBoJyBvcHRpb24gaXMgc3VwcGxpZWQuCisgKgorICogLSBVc2UgdGhlIHJldmlzaW9uIHdhbGtpbmcgQVBJIHRvIHdhbGsgdGhyb3VnaCBhIGdyb3VwIG9mIGNvbnRpZ3VvdXMgY29tbWl0cy4KKyAqICAgVGhlIGBnZXRfcmV2aXNpb24oKWAgZnVuY3Rpb24gYXV0b21hdGljYWxseSBjYWxscyBgZ3JhcGhfdXBkYXRlKClgIGVhY2ggdGltZQorICogICBpdCBpcyBpbnZva2VkLgorICoKKyAqIC0gRm9yIGVhY2ggY29tbWl0LCBjYWxsIGBncmFwaF9uZXh0X2xpbmUoKWAgcmVwZWF0ZWRseSwgdW50aWwKKyAqICAgYGdyYXBoX2lzX2NvbW1pdF9maW5pc2hlZCgpYCByZXR1cm5zIG5vbi16ZXJvLiAgRWFjaCBjYWxsIHRvCisgKiAgIGBncmFwaF9uZXh0X2xpbmUoKWAgd2lsbCBvdXRwdXQgYSBzaW5nbGUgbGluZSBvZiB0aGUgZ3JhcGguICBUaGUgcmVzdWx0aW5nCisgKiAgIGxpbmVzIHdpbGwgbm90IGNvbnRhaW4gYW55IG5ld2xpbmVzLiAgYGdyYXBoX25leHRfbGluZSgpYCByZXR1cm5zIDEgaWYgdGhlCisgKiAgIHJlc3VsdGluZyBsaW5lIGNvbnRhaW5zIHRoZSBjdXJyZW50IGNvbW1pdCwgb3IgMCBpZiB0aGlzIGlzIG1lcmVseSBhIGxpbmUKKyAqICAgbmVlZGVkIHRvIGFkanVzdCB0aGUgZ3JhcGggYmVmb3JlIG9yIGFmdGVyIHRoZSBjdXJyZW50IGNvbW1pdC4gIFRoaXMgcmV0dXJuCisgKiAgIHZhbHVlIGNhbiBiZSB1c2VkIHRvIGRldGVybWluZSB3aGVyZSB0byBwcmludCB0aGUgY29tbWl0IHN1bW1hcnkgaW5mb3JtYXRpb24KKyAqICAgYWxvbmdzaWRlIHRoZSBncmFwaCBvdXRwdXQuCisgKgorICogTGltaXRhdGlvbnMKKyAqIC0tLS0tLS0tLS0tCisgKiAtIENoZWNrIHRoZSBncmFwaF91cGRhdGUoKSBmdW5jdGlvbiBmb3IgaXRzIGxpbWl0YXRpb25zLgorICoKKyAqIC0gVGhlIGdyYXBoIEFQSSBkb2VzIG5vdCBjdXJyZW50bHkgc3VwcG9ydCByZXZlcnNlIGNvbW1pdCBvcmRlcmluZy4gIEluCisgKiAgIG9yZGVyIHRvIGltcGxlbWVudCByZXZlcnNlIG9yZGVyaW5nLCB0aGUgZ3JhcGhpbmcgQVBJIG5lZWRzIGFuCisgKiAgIChlZmZpY2llbnQpIG1lY2hhbmlzbSB0byBmaW5kIHRoZSBjaGlsZHJlbiBvZiBhIGNvbW1pdC4KKyAqCisgKiBTYW1wbGUgdXNhZ2UKKyAqIC0tLS0tLS0tLS0tLQorICoKKyAqIC0tLS0tLS0tLS0tLQorICogc3RydWN0IGNvbW1pdCAqY29tbWl0OworICogc3RydWN0IGdpdF9ncmFwaCAqZ3JhcGggPSBncmFwaF9pbml0KG9wdHMpOworICoKKyAqIHdoaWxlICgoY29tbWl0ID0gZ2V0X3JldmlzaW9uKG9wdHMpKSAhPSBOVUxMKSB7CisgKiAJd2hpbGUgKCFncmFwaF9pc19jb21taXRfZmluaXNoZWQoZ3JhcGgpKQorICogCXsKKyAqIAkJc3RydWN0IHN0cmJ1ZiBzYjsKKyAqIAkJaW50IGlzX2NvbW1pdF9saW5lOworICoKKyAqIAkJc3RyYnVmX2luaXQoJnNiLCAwKTsKKyAqIAkJaXNfY29tbWl0X2xpbmUgPSBncmFwaF9uZXh0X2xpbmUoZ3JhcGgsICZzYik7CisgKiAJCWZwdXRzKHNiLmJ1Ziwgc3Rkb3V0KTsKKyAqCisgKiAJCWlmIChpc19jb21taXRfbGluZSkKKyAqIAkJCWxvZ190cmVlX2NvbW1pdChvcHRzLCBjb21taXQpOworICogCQllbHNlCisgKiAJCQlwdXRjaGFyKG9wdHMtPmRpZmZvcHQubGluZV90ZXJtaW5hdGlvbik7CisgKiAJfQorICogfQorICogLS0tLS0tLS0tLS0tCisgKiBTYW1wbGUgb3V0cHV0CisgKiAtLS0tLS0tLS0tLS0tCisgKgorICogVGhlIGZvbGxvd2luZyBpcyBhbiBleGFtcGxlIG9mIHRoZSBvdXRwdXQgZnJvbSB0aGUgZ3JhcGggQVBJLiAgVGhpcyBvdXRwdXQgZG9lcworICogbm90IGluY2x1ZGUgYW55IGNvbW1pdCBzdW1tYXJ5IGluZm9ybWF0aW9uLS1jYWxsZXJzIGFyZSByZXNwb25zaWJsZSBmb3IKKyAqIG91dHB1dHRpbmcgdGhhdCBpbmZvcm1hdGlvbiwgaWYgZGVzaXJlZC4KKyAqIC0tLS0tLS0tLS0tLQorICogKgorICogKgorICogKgorICogfFwKKyAqICogfAorICogfCB8ICoKKyAqIHwgXCBcCisgKiB8ICBcIFwKKyAqICotLiBcIFwKKyAqIHxcIFwgXCBcCisgKiB8IHwgKiB8IHwKKyAqIHwgfCB8IHwgfCAqCisgKiB8IHwgfCB8IHwgKgorICogfCB8IHwgfCB8ICoKKyAqIHwgfCB8IHwgfCB8XAorICogfCB8IHwgfCB8IHwgKgorICogfCAqIHwgfCB8IHwgfAorICogfCB8IHwgfCB8ICogIFwKKyAqIHwgfCB8IHwgfCB8XCAgfAorICogfCB8IHwgfCAqIHwgfCB8CisgKiB8IHwgfCB8ICogfCB8IHwKKyAqICogfCB8IHwgfCB8IHwgfAorICogfCB8LyAvIC8gLyAvIC8KKyAqIHwvfCAvIC8gLyAvIC8KKyAqICogfCB8IHwgfCB8IHwKKyAqIHwvIC8gLyAvIC8gLworICogKiB8IHwgfCB8IHwKKyAqIHwgfCB8IHwgfCAqCisgKiB8IHwgfCB8IHwvCisgKiB8IHwgfCB8ICoKKyAqIC0tLS0tLS0tLS0tLQorICoKKyAqLworCiAvKiBBIGdyYXBoIGlzIGEgcG9pbnRlciB0byB0aGlzIG9wYXF1ZSBzdHJ1Y3R1cmUgKi8KIHN0cnVjdCBnaXRfZ3JhcGg7CiAKQEAgLTUwLDYgKzE0NywyMSBAQAogICogSWYgZ3JhcGhfdXBkYXRlKCkgaXMgY2FsbGVkIGJlZm9yZSBncmFwaF9pc19jb21taXRfZmluaXNoZWQoKSByZXR1cm5zIDEsCiAgKiB0aGUgbmV4dCBjYWxsIHRvIGdyYXBoX25leHRfbGluZSgpIHdpbGwgb3V0cHV0IGFuIGVsbGlwc2lzICgiLi4uIikKICAqIHRvIGluZGljYXRlIHRoYXQgYSBwb3J0aW9uIG9mIHRoZSBncmFwaCBpcyBtaXNzaW5nLgorICoKKyAqIExpbWl0YXRpb25zOgorICogLS0tLS0tLS0tLS0KKyAqCisgKiAtIGBncmFwaF91cGRhdGUoKWAgbXVzdCBiZSBjYWxsZWQgd2l0aCBjb21taXRzIGluIHRvcG9sb2dpY2FsIG9yZGVyLiAgSXQgc2hvdWxkCisgKiAgIG5vdCBiZSBjYWxsZWQgb24gYSBjb21taXQgaWYgaXQgaGFzIGFscmVhZHkgYmVlbiBpbnZva2VkIHdpdGggYW4gYW5jZXN0b3Igb2YKKyAqICAgdGhhdCBjb21taXQsIG9yIHRoZSBncmFwaCBvdXRwdXQgd2lsbCBiZSBpbmNvcnJlY3QuCisgKgorICogLSBgZ3JhcGhfdXBkYXRlKClgIG11c3QgYmUgY2FsbGVkIG9uIGEgY29udGlndW91cyBncm91cCBvZiBjb21taXRzLiAgSWYKKyAqICAgYGdyYXBoX3VwZGF0ZSgpYCBpcyBjYWxsZWQgb24gYSBwYXJ0aWN1bGFyIGNvbW1pdCwgaXQgc2hvdWxkIGxhdGVyIGJlIGNhbGxlZAorICogICBvbiBhbGwgcGFyZW50cyBvZiB0aGF0IGNvbW1pdC4gIFBhcmVudHMgbXVzdCBub3QgYmUgc2tpcHBlZCwgb3IgdGhlIGdyYXBoCisgKiAgIG91dHB1dCB3aWxsIGFwcGVhciBpbmNvcnJlY3QuCisgKgorICogLSBgZ3JhcGhfdXBkYXRlKClgIG1heSBiZSB1c2VkIG9uIGEgcHJ1bmVkIHNldCBvZiBjb21taXRzIG9ubHkgaWYgdGhlIHBhcmVudCBsaXN0CisgKiAgIGhhcyBiZWVuIHJld3JpdHRlbiBzbyBhcyB0byBpbmNsdWRlIG9ubHkgYW5jZXN0b3JzIGZyb20gdGhlIHBydW5lZCBzZXQuCiAgKi8KIHZvaWQgZ3JhcGhfdXBkYXRlKHN0cnVjdCBnaXRfZ3JhcGggKmdyYXBoLCBzdHJ1Y3QgY29tbWl0ICpjb21taXQpOwogCkBAIC02Miw2ICsxNzQsMTAgQEAKICAqIGZvciB0aGlzIGNvbW1pdC4gIElmIDAgaXMgcmV0dXJuZWQsIGdyYXBoX25leHRfbGluZSgpIG1heSBzdGlsbCBiZQogICogY2FsbGVkIHdpdGhvdXQgY2FsbGluZyBncmFwaF91cGRhdGUoKSwgYW5kIGl0IHdpbGwgbWVyZWx5IG91dHB1dAogICogYXBwcm9wcmlhdGUgInZlcnRpY2FsIHBhZGRpbmciIGluIHRoZSBncmFwaC4KKyAqCisgKiBJZiBgZ3JhcGhfdXBkYXRlKClgIGlzIGNhbGxlZCBiZWZvcmUgYWxsIGxpbmVzIGZvciB0aGUgY3VycmVudCBjb21taXQgaGF2ZQorICogYmVlbiBwcmludGVkLCB0aGUgbmV4dCBjYWxsIHRvIGBncmFwaF9uZXh0X2xpbmUoKWAgd2lsbCBvdXRwdXQgYW4gZWxsaXBzaXMsCisgKiB0byBpbmRpY2F0ZSB0aGF0IGEgcG9ydGlvbiBvZiB0aGUgZ3JhcGggd2FzIG9taXR0ZWQuCiAgKi8KIGludCBncmFwaF9pc19jb21taXRfZmluaXNoZWQoc3RydWN0IGdpdF9ncmFwaCBjb25zdCAqZ3JhcGgpOwogCkBAIC0xMTIsNiArMjI4LDcgQEAKIC8qCiAgKiBJZiB0aGUgZ3JhcGggaXMgbm9uLU5VTEwsIHByaW50IHRoZSByZXN0IG9mIHRoZSBoaXN0b3J5IGdyYXBoIGZvciB0aGlzCiAgKiBjb21taXQgdG8gc3Rkb3V0LiAgRG9lcyBub3QgcHJpbnQgYSB0ZXJtaW5hdGluZyBuZXdsaW5lIG9uIHRoZSBsYXN0IGxpbmUuCisgKiBSZXR1cm5zIDEgaWYgb3V0cHV0IHdhcyBwcmludGVkLCBhbmQgMCBpZiBubyBvdXRwdXQgd2FzIG5lY2Vzc2FyeS4KICAqLwogaW50IGdyYXBoX3Nob3dfcmVtYWluZGVyKHN0cnVjdCBnaXRfZ3JhcGggKmdyYXBoKTsKIApAQCAtMTIxLDYgKzIzOCwxMCBAQAogICogVGhpcyBpcyBzaW1pbGFyIHRvIGdyYXBoX3Nob3dfc3RyYnVmKCksIGJ1dCBpdCBhbHdheXMgcHJpbnRzIHRoZQogICogcmVtYWluZGVyIG9mIHRoZSBncmFwaC4KICAqCisgKiBJdCBpcyBiZXR0ZXIgdGhhbiBkaXJlY3RseSBjYWxsaW5nIGBncmFwaF9zaG93X3N0cmJ1ZigpYCBmb2xsb3dlZCBieQorICogYGdyYXBoX3Nob3dfcmVtYWluZGVyKClgIHNpbmNlIGl0IHByb3Blcmx5IGhhbmRsZXMgYnVmZmVycyB0aGF0IGRvIG5vdCBlbmQgaW4KKyAqIGEgdGVybWluYXRpbmcgbmV3bGluZS4KKyAqCiAgKiBJZiB0aGUgc3RyYnVmIGVuZHMgd2l0aCBhIG5ld2xpbmUsIHRoZSBvdXRwdXQgcHJpbnRlZCBieQogICogZ3JhcGhfc2hvd19jb21taXRfbXNnKCkgd2lsbCBlbmQgd2l0aCBhIG5ld2xpbmUuICBJZiB0aGUgc3RyYnVmIGlzCiAgKiBtaXNzaW5nIGEgdGVybWluYXRpbmcgbmV3bGluZSAoaW5jbHVkaW5nIGlmIGl0IGlzIGVtcHR5KSwgdGhlIG91dHB1dApkaWZmIC0tZ2l0IGEvZ3JlcC5jIGIvZ3JlcC5jCmluZGV4IDRkYjE1MTAuLjEzMjMyYTkgMTAwNjQ0Ci0tLSBhL2dyZXAuYworKysgYi9ncmVwLmMKQEAgLTE2LDYgKzE2LDIwIEBACiAKIHN0YXRpYyBzdHJ1Y3QgZ3JlcF9vcHQgZ3JlcF9kZWZhdWx0czsKIAorI2lmZGVmIFVTRV9MSUJQQ1JFMgorc3RhdGljIHBjcmUyX2dlbmVyYWxfY29udGV4dCAqcGNyZTJfZ2xvYmFsX2NvbnRleHQ7CisKK3N0YXRpYyB2b2lkICpwY3JlMl9tYWxsb2MoUENSRTJfU0laRSBzaXplLCBNQVlCRV9VTlVTRUQgdm9pZCAqbWVtb3J5X2RhdGEpCit7CisJcmV0dXJuIG1hbGxvYyhzaXplKTsKK30KKworc3RhdGljIHZvaWQgcGNyZTJfZnJlZSh2b2lkICpwb2ludGVyLCBNQVlCRV9VTlVTRUQgdm9pZCAqbWVtb3J5X2RhdGEpCit7CisJZnJlZShwb2ludGVyKTsKK30KKyNlbmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciAqY29sb3JfZ3JlcF9zbG90c1tdID0gewogCVtHUkVQX0NPTE9SX0NPTlRFWFRdCSAgICA9ICJjb250ZXh0IiwKIAlbR1JFUF9DT0xPUl9GSUxFTkFNRV0JICAgID0gImZpbGVuYW1lIiwKQEAgLTE1MCwxMiArMTY0LDI4IEBACiAgKiBJbml0aWFsaXplIG9uZSBpbnN0YW5jZSBvZiBncmVwX29wdCBhbmQgY29weSB0aGUKICAqIGRlZmF1bHQgdmFsdWVzIGZyb20gdGhlIHRlbXBsYXRlIHdlIHJlYWQgdGhlIGNvbmZpZ3VyYXRpb24KICAqIGluZm9ybWF0aW9uIGluIGFuIGVhcmxpZXIgY2FsbCB0byBnaXRfY29uZmlnKGdyZXBfY29uZmlnKS4KKyAqCisgKiBJZiB1c2luZyBQQ1JFLCBtYWtlIHN1cmUgdGhhdCB0aGUgbGlicmFyeSBpcyBjb25maWd1cmVkCisgKiB0byB1c2UgdGhlIHNhbWUgYWxsb2NhdG9yIGFzIEdpdCAoZS5nLiBuZWRtYWxsb2Mgb24gV2luZG93cykuCisgKgorICogQW55IGFsbG9jYXRlZCBtZW1vcnkgbmVlZHMgdG8gYmUgcmVsZWFzZWQgaW4gZ3JlcF9kZXN0cm95KCkuCiAgKi8KIHZvaWQgZ3JlcF9pbml0KHN0cnVjdCBncmVwX29wdCAqb3B0LCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqcHJlZml4KQogewogCXN0cnVjdCBncmVwX29wdCAqZGVmID0gJmdyZXBfZGVmYXVsdHM7CiAJaW50IGk7CiAKKyNpZiBkZWZpbmVkKFVTRV9MSUJQQ1JFMikKKwlpZiAoIXBjcmUyX2dsb2JhbF9jb250ZXh0KQorCQlwY3JlMl9nbG9iYWxfY29udGV4dCA9IHBjcmUyX2dlbmVyYWxfY29udGV4dF9jcmVhdGUoCisJCQkJCXBjcmUyX21hbGxvYywgcGNyZTJfZnJlZSwgTlVMTCk7CisjZW5kaWYKKworI2lmZGVmIFVTRV9MSUJQQ1JFMQorCXBjcmVfbWFsbG9jID0gbWFsbG9jOworCXBjcmVfZnJlZSA9IGZyZWU7CisjZW5kaWYKKwogCW1lbXNldChvcHQsIDAsIHNpemVvZigqb3B0KSk7CiAJb3B0LT5yZXBvID0gcmVwbzsKIAlvcHQtPnByZWZpeCA9IHByZWZpeDsKQEAgLTE3OCw2ICsyMDgsMTMgQEAKIAkJY29sb3Jfc2V0KG9wdC0+Y29sb3JzW2ldLCBkZWYtPmNvbG9yc1tpXSk7CiB9CiAKK3ZvaWQgZ3JlcF9kZXN0cm95KHZvaWQpCit7CisjaWZkZWYgVVNFX0xJQlBDUkUyCisJcGNyZTJfZ2VuZXJhbF9jb250ZXh0X2ZyZWUocGNyZTJfZ2xvYmFsX2NvbnRleHQpOworI2VuZGlmCit9CisKIHN0YXRpYyB2b2lkIGdyZXBfc2V0X3BhdHRlcm5fdHlwZV9vcHRpb24oZW51bSBncmVwX3BhdHRlcm5fdHlwZSBwYXR0ZXJuX3R5cGUsIHN0cnVjdCBncmVwX29wdCAqb3B0KQogewogCS8qCkBAIC0zNjgsMzEgKzQwNSwyMCBAQAogCXJldHVybiAxOwogfQogCi1zdGF0aWMgaW50IGhhc19udWxsKGNvbnN0IGNoYXIgKnMsIHNpemVfdCBsZW4pCi17Ci0JLyoKLQkgKiByZWdjb21wIGNhbm5vdCBhY2NlcHQgcGF0dGVybnMgd2l0aCBOVUxzIHNvIHdoZW4gdXNpbmcgaXQKLQkgKiB3ZSBjb25zaWRlciBhbnkgcGF0dGVybiBjb250YWluaW5nIGEgTlVMIGZpeGVkLgotCSAqLwotCWlmIChtZW1jaHIocywgMCwgbGVuKSkKLQkJcmV0dXJuIDE7Ci0KLQlyZXR1cm4gMDsKLX0KLQogI2lmZGVmIFVTRV9MSUJQQ1JFMQogc3RhdGljIHZvaWQgY29tcGlsZV9wY3JlMV9yZWdleHAoc3RydWN0IGdyZXBfcGF0ICpwLCBjb25zdCBzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCkKIHsKIAljb25zdCBjaGFyICplcnJvcjsKIAlpbnQgZXJyb2Zmc2V0OwogCWludCBvcHRpb25zID0gUENSRV9NVUxUSUxJTkU7CisJaW50IHN0dWR5X29wdGlvbnMgPSAwOwogCiAJaWYgKG9wdC0+aWdub3JlX2Nhc2UpIHsKLQkJaWYgKGhhc19ub25fYXNjaWkocC0+cGF0dGVybikpCisJCWlmICghb3B0LT5pZ25vcmVfbG9jYWxlICYmIGhhc19ub25fYXNjaWkocC0+cGF0dGVybikpCiAJCQlwLT5wY3JlMV90YWJsZXMgPSBwY3JlX21ha2V0YWJsZXMoKTsKIAkJb3B0aW9ucyB8PSBQQ1JFX0NBU0VMRVNTOwogCX0KLQlpZiAoaXNfdXRmOF9sb2NhbGUoKSAmJiBoYXNfbm9uX2FzY2lpKHAtPnBhdHRlcm4pKQorCWlmICghb3B0LT5pZ25vcmVfbG9jYWxlICYmIGlzX3V0ZjhfbG9jYWxlKCkgJiYgaGFzX25vbl9hc2NpaShwLT5wYXR0ZXJuKSkKIAkJb3B0aW9ucyB8PSBQQ1JFX1VURjg7CiAKIAlwLT5wY3JlMV9yZWdleHAgPSBwY3JlX2NvbXBpbGUocC0+cGF0dGVybiwgb3B0aW9ucywgJmVycm9yLCAmZXJyb2Zmc2V0LApAQCAtNDAwLDQ0ICs0MjYsMzEgQEAKIAlpZiAoIXAtPnBjcmUxX3JlZ2V4cCkKIAkJY29tcGlsZV9yZWdleHBfZmFpbGVkKHAsIGVycm9yKTsKIAotCXAtPnBjcmUxX2V4dHJhX2luZm8gPSBwY3JlX3N0dWR5KHAtPnBjcmUxX3JlZ2V4cCwgR0lUX1BDUkVfU1RVRFlfSklUX0NPTVBJTEUsICZlcnJvcik7CisjaWYgZGVmaW5lZChQQ1JFX0NPTkZJR19KSVQpICYmICFkZWZpbmVkKE5PX0xJQlBDUkUxX0pJVCkKKwlwY3JlX2NvbmZpZyhQQ1JFX0NPTkZJR19KSVQsICZwLT5wY3JlMV9qaXRfb24pOworCWlmIChvcHQtPmRlYnVnKQorCQlmcHJpbnRmKHN0ZGVyciwgInBjcmUxX2ppdF9vbj0lZFxuIiwgcC0+cGNyZTFfaml0X29uKTsKKworCWlmIChwLT5wY3JlMV9qaXRfb24pCisJCXN0dWR5X29wdGlvbnMgPSBQQ1JFX1NUVURZX0pJVF9DT01QSUxFOworI2VuZGlmCisKKwlwLT5wY3JlMV9leHRyYV9pbmZvID0gcGNyZV9zdHVkeShwLT5wY3JlMV9yZWdleHAsIHN0dWR5X29wdGlvbnMsICZlcnJvcik7CiAJaWYgKCFwLT5wY3JlMV9leHRyYV9pbmZvICYmIGVycm9yKQogCQlkaWUoIiVzIiwgZXJyb3IpOwotCi0jaWZkZWYgR0lUX1BDUkUxX1VTRV9KSVQKLQlwY3JlX2NvbmZpZyhQQ1JFX0NPTkZJR19KSVQsICZwLT5wY3JlMV9qaXRfb24pOwotCWlmIChwLT5wY3JlMV9qaXRfb24gPT0gMSkgewotCQlwLT5wY3JlMV9qaXRfc3RhY2sgPSBwY3JlX2ppdF9zdGFja19hbGxvYygxLCAxMDI0ICogMTAyNCk7Ci0JCWlmICghcC0+cGNyZTFfaml0X3N0YWNrKQotCQkJZGllKCJDb3VsZG4ndCBhbGxvY2F0ZSBQQ1JFIEpJVCBzdGFjayIpOwotCQlwY3JlX2Fzc2lnbl9qaXRfc3RhY2socC0+cGNyZTFfZXh0cmFfaW5mbywgTlVMTCwgcC0+cGNyZTFfaml0X3N0YWNrKTsKLQl9IGVsc2UgaWYgKHAtPnBjcmUxX2ppdF9vbiAhPSAwKSB7Ci0JCUJVRygiVGhlIHBjcmUxX2ppdF9vbiB2YXJpYWJsZSBzaG91bGQgYmUgMCBvciAxLCBub3QgJWQiLAotCQkgICAgcC0+cGNyZTFfaml0X29uKTsKLQl9Ci0jZW5kaWYKIH0KIAogc3RhdGljIGludCBwY3JlMW1hdGNoKHN0cnVjdCBncmVwX3BhdCAqcCwgY29uc3QgY2hhciAqbGluZSwgY29uc3QgY2hhciAqZW9sLAogCQlyZWdtYXRjaF90ICptYXRjaCwgaW50IGVmbGFncykKIHsKLQlpbnQgb3ZlY3RvclszMF0sIHJldCwgZmxhZ3MgPSAwOworCWludCBvdmVjdG9yWzMwXSwgcmV0LCBmbGFncyA9IFBDUkVfTk9fVVRGOF9DSEVDSzsKIAogCWlmIChlZmxhZ3MgJiBSRUdfTk9UQk9MKQogCQlmbGFncyB8PSBQQ1JFX05PVEJPTDsKIAotI2lmZGVmIEdJVF9QQ1JFMV9VU0VfSklUCi0JaWYgKHAtPnBjcmUxX2ppdF9vbikgewotCQlyZXQgPSBwY3JlX2ppdF9leGVjKHAtPnBjcmUxX3JlZ2V4cCwgcC0+cGNyZTFfZXh0cmFfaW5mbywgbGluZSwKLQkJCQkgICAgZW9sIC0gbGluZSwgMCwgZmxhZ3MsIG92ZWN0b3IsCi0JCQkJICAgIEFSUkFZX1NJWkUob3ZlY3RvciksIHAtPnBjcmUxX2ppdF9zdGFjayk7Ci0JfSBlbHNlCi0jZW5kaWYKLQl7Ci0JCXJldCA9IHBjcmVfZXhlYyhwLT5wY3JlMV9yZWdleHAsIHAtPnBjcmUxX2V4dHJhX2luZm8sIGxpbmUsCi0JCQkJZW9sIC0gbGluZSwgMCwgZmxhZ3MsIG92ZWN0b3IsCi0JCQkJQVJSQVlfU0laRShvdmVjdG9yKSk7Ci0JfQorCXJldCA9IHBjcmVfZXhlYyhwLT5wY3JlMV9yZWdleHAsIHAtPnBjcmUxX2V4dHJhX2luZm8sIGxpbmUsCisJCQllb2wgLSBsaW5lLCAwLCBmbGFncywgb3ZlY3RvciwKKwkJCUFSUkFZX1NJWkUob3ZlY3RvcikpOwogCiAJaWYgKHJldCA8IDAgJiYgcmV0ICE9IFBDUkVfRVJST1JfTk9NQVRDSCkKIAkJZGllKCJwY3JlX2V4ZWMgZmFpbGVkIHdpdGggZXJyb3IgY29kZSAlZCIsIHJldCk7CkBAIC00NTMsMTUgKzQ2NiwxMiBAQAogc3RhdGljIHZvaWQgZnJlZV9wY3JlMV9yZWdleHAoc3RydWN0IGdyZXBfcGF0ICpwKQogewogCXBjcmVfZnJlZShwLT5wY3JlMV9yZWdleHApOwotI2lmZGVmIEdJVF9QQ1JFMV9VU0VfSklUCi0JaWYgKHAtPnBjcmUxX2ppdF9vbikgeworI2lmZGVmIFBDUkVfQ09ORklHX0pJVAorCWlmIChwLT5wY3JlMV9qaXRfb24pCiAJCXBjcmVfZnJlZV9zdHVkeShwLT5wY3JlMV9leHRyYV9pbmZvKTsKLQkJcGNyZV9qaXRfc3RhY2tfZnJlZShwLT5wY3JlMV9qaXRfc3RhY2spOwotCX0gZWxzZQorCWVsc2UKICNlbmRpZgotCXsKIAkJcGNyZV9mcmVlKHAtPnBjcmUxX2V4dHJhX2luZm8pOwotCX0KIAlwY3JlX2ZyZWUoKHZvaWQgKilwLT5wY3JlMV90YWJsZXMpOwogfQogI2Vsc2UgLyogIVVTRV9MSUJQQ1JFMSAqLwpAQCAtNDg4LDcgKzQ5OCw2IEBACiAJUENSRTJfVUNIQVIgZXJyYnVmWzI1Nl07CiAJUENSRTJfU0laRSBlcnJvZmZzZXQ7CiAJaW50IG9wdGlvbnMgPSBQQ1JFMl9NVUxUSUxJTkU7Ci0JY29uc3QgdWludDhfdCAqY2hhcmFjdGVyX3RhYmxlcyA9IE5VTEw7CiAJaW50IGppdHJldDsKIAlpbnQgcGF0aW5mb3JldDsKIAlzaXplX3Qgaml0c2l6ZWFyZzsKQEAgLTQ5NywxNSArNTA2LDIwIEBACiAKIAlwLT5wY3JlMl9jb21waWxlX2NvbnRleHQgPSBOVUxMOwogCisJLyogcGNyZTJfZ2xvYmFsX2NvbnRleHQgaXMgaW5pdGlhbGl6ZWQgaW4gYXBwZW5kX2dyZXBfcGF0dGVybiAqLwogCWlmIChvcHQtPmlnbm9yZV9jYXNlKSB7Ci0JCWlmIChoYXNfbm9uX2FzY2lpKHAtPnBhdHRlcm4pKSB7Ci0JCQljaGFyYWN0ZXJfdGFibGVzID0gcGNyZTJfbWFrZXRhYmxlcyhOVUxMKTsKKwkJaWYgKCFvcHQtPmlnbm9yZV9sb2NhbGUgJiYgaGFzX25vbl9hc2NpaShwLT5wYXR0ZXJuKSkgeworCQkJaWYgKCFwY3JlMl9nbG9iYWxfY29udGV4dCkKKwkJCQlCVUcoInBjcmUyX2dsb2JhbF9jb250ZXh0IHVuaW5pdGlhbGl6ZWQiKTsKKwkJCXAtPnBjcmUyX3RhYmxlcyA9IHBjcmUyX21ha2V0YWJsZXMocGNyZTJfZ2xvYmFsX2NvbnRleHQpOwogCQkJcC0+cGNyZTJfY29tcGlsZV9jb250ZXh0ID0gcGNyZTJfY29tcGlsZV9jb250ZXh0X2NyZWF0ZShOVUxMKTsKLQkJCXBjcmUyX3NldF9jaGFyYWN0ZXJfdGFibGVzKHAtPnBjcmUyX2NvbXBpbGVfY29udGV4dCwgY2hhcmFjdGVyX3RhYmxlcyk7CisJCQlwY3JlMl9zZXRfY2hhcmFjdGVyX3RhYmxlcyhwLT5wY3JlMl9jb21waWxlX2NvbnRleHQsCisJCQkJCQkJcC0+cGNyZTJfdGFibGVzKTsKIAkJfQogCQlvcHRpb25zIHw9IFBDUkUyX0NBU0VMRVNTOwogCX0KLQlpZiAoaXNfdXRmOF9sb2NhbGUoKSAmJiBoYXNfbm9uX2FzY2lpKHAtPnBhdHRlcm4pKQorCWlmICghb3B0LT5pZ25vcmVfbG9jYWxlICYmIGlzX3V0ZjhfbG9jYWxlKCkgJiYgaGFzX25vbl9hc2NpaShwLT5wYXR0ZXJuKSAmJgorCSAgICAhKCFvcHQtPmlnbm9yZV9jYXNlICYmIChwLT5maXhlZCB8fCBwLT5pc19maXhlZCkpKQogCQlvcHRpb25zIHw9IFBDUkUyX1VURjsKIAogCXAtPnBjcmUyX3BhdHRlcm4gPSBwY3JlMl9jb21waWxlKChQQ1JFMl9TUFRSKXAtPnBhdHRlcm4sCkBAIC01MjIsNyArNTM2LDkgQEAKIAl9CiAKIAlwY3JlMl9jb25maWcoUENSRTJfQ09ORklHX0pJVCwgJnAtPnBjcmUyX2ppdF9vbik7Ci0JaWYgKHAtPnBjcmUyX2ppdF9vbiA9PSAxKSB7CisJaWYgKG9wdC0+ZGVidWcpCisJCWZwcmludGYoc3RkZXJyLCAicGNyZTJfaml0X29uPSVkXG4iLCBwLT5wY3JlMl9qaXRfb24pOworCWlmIChwLT5wY3JlMl9qaXRfb24pIHsKIAkJaml0cmV0ID0gcGNyZTJfaml0X2NvbXBpbGUocC0+cGNyZTJfcGF0dGVybiwgUENSRTJfSklUX0NPTVBMRVRFKTsKIAkJaWYgKGppdHJldCkKIAkJCWRpZSgiQ291bGRuJ3QgSklUIHRoZSBQQ1JFMiBwYXR0ZXJuICclcycsIGdvdCAnJWQnXG4iLCBwLT5wYXR0ZXJuLCBqaXRyZXQpOwpAQCAtNTQ3LDE5ICs1NjMsMTEgQEAKIAkJCUJVRygicGNyZTJfcGF0dGVybl9pbmZvKCkgZmFpbGVkOiAlZCIsIHBhdGluZm9yZXQpOwogCQlpZiAoaml0c2l6ZWFyZyA9PSAwKSB7CiAJCQlwLT5wY3JlMl9qaXRfb24gPSAwOworCQkJaWYgKG9wdC0+ZGVidWcpCisJCQkJZnByaW50ZihzdGRlcnIsICJwY3JlMl9qaXRfb249JWQ6ICgqTk9fSklUKSBpbiByZWdleFxuIiwKKwkJCQkJcC0+cGNyZTJfaml0X29uKTsKIAkJCXJldHVybjsKIAkJfQotCi0JCXAtPnBjcmUyX2ppdF9zdGFjayA9IHBjcmUyX2ppdF9zdGFja19jcmVhdGUoMSwgMTAyNCAqIDEwMjQsIE5VTEwpOwotCQlpZiAoIXAtPnBjcmUyX2ppdF9zdGFjaykKLQkJCWRpZSgiQ291bGRuJ3QgYWxsb2NhdGUgUENSRTIgSklUIHN0YWNrIik7Ci0JCXAtPnBjcmUyX21hdGNoX2NvbnRleHQgPSBwY3JlMl9tYXRjaF9jb250ZXh0X2NyZWF0ZShOVUxMKTsKLQkJaWYgKCFwLT5wY3JlMl9tYXRjaF9jb250ZXh0KQotCQkJZGllKCJDb3VsZG4ndCBhbGxvY2F0ZSBQQ1JFMiBtYXRjaCBjb250ZXh0Iik7Ci0JCXBjcmUyX2ppdF9zdGFja19hc3NpZ24ocC0+cGNyZTJfbWF0Y2hfY29udGV4dCwgTlVMTCwgcC0+cGNyZTJfaml0X3N0YWNrKTsKLQl9IGVsc2UgaWYgKHAtPnBjcmUyX2ppdF9vbiAhPSAwKSB7Ci0JCUJVRygiVGhlIHBjcmUyX2ppdF9vbiB2YXJpYWJsZSBzaG91bGQgYmUgMCBvciAxLCBub3QgJWQiLAotCQkgICAgcC0+cGNyZTFfaml0X29uKTsKIAl9CiB9CiAKQEAgLTYwMyw4ICs2MTEsNyBAQAogCXBjcmUyX2NvbXBpbGVfY29udGV4dF9mcmVlKHAtPnBjcmUyX2NvbXBpbGVfY29udGV4dCk7CiAJcGNyZTJfY29kZV9mcmVlKHAtPnBjcmUyX3BhdHRlcm4pOwogCXBjcmUyX21hdGNoX2RhdGFfZnJlZShwLT5wY3JlMl9tYXRjaF9kYXRhKTsKLQlwY3JlMl9qaXRfc3RhY2tfZnJlZShwLT5wY3JlMl9qaXRfc3RhY2spOwotCXBjcmUyX21hdGNoX2NvbnRleHRfZnJlZShwLT5wY3JlMl9tYXRjaF9jb250ZXh0KTsKKwlmcmVlKCh2b2lkICopcC0+cGNyZTJfdGFibGVzKTsKIH0KICNlbHNlIC8qICFVU0VfTElCUENSRTIgKi8KIHN0YXRpYyB2b2lkIGNvbXBpbGVfcGNyZTJfcGF0dGVybihzdHJ1Y3QgZ3JlcF9wYXQgKnAsIGNvbnN0IHN0cnVjdCBncmVwX29wdCAqb3B0KQpAQCAtNjI2LDcgKzYzMyw2IEBACiBzdGF0aWMgdm9pZCBmcmVlX3BjcmUyX3BhdHRlcm4oc3RydWN0IGdyZXBfcGF0ICpwKQogewogfQotI2VuZGlmIC8qICFVU0VfTElCUENSRTIgKi8KIAogc3RhdGljIHZvaWQgY29tcGlsZV9maXhlZF9yZWdleHAoc3RydWN0IGdyZXBfcGF0ICpwLCBzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCkKIHsKQEAgLTY0Nyw0NiArNjUzLDY2IEBACiAJCWNvbXBpbGVfcmVnZXhwX2ZhaWxlZChwLCBlcnJidWYpOwogCX0KIH0KKyNlbmRpZiAvKiAhVVNFX0xJQlBDUkUyICovCiAKIHN0YXRpYyB2b2lkIGNvbXBpbGVfcmVnZXhwKHN0cnVjdCBncmVwX3BhdCAqcCwgc3RydWN0IGdyZXBfb3B0ICpvcHQpCiB7Ci0JaW50IGFzY2lpX29ubHk7CiAJaW50IGVycjsKIAlpbnQgcmVnZmxhZ3MgPSBSRUdfTkVXTElORTsKIAogCXAtPndvcmRfcmVnZXhwID0gb3B0LT53b3JkX3JlZ2V4cDsKIAlwLT5pZ25vcmVfY2FzZSA9IG9wdC0+aWdub3JlX2Nhc2U7Ci0JYXNjaWlfb25seSAgICAgPSAhaGFzX25vbl9hc2NpaShwLT5wYXR0ZXJuKTsKKwlwLT5maXhlZCA9IG9wdC0+Zml4ZWQ7CiAKLQkvKgotCSAqIEV2ZW4gd2hlbiAtRiAoZml4ZWQpIGFza3MgdXMgdG8gZG8gYSBub24tcmVnZXhwIHNlYXJjaCwgd2UKLQkgKiBtYXkgbm90IGJlIGFibGUgdG8gY29ycmVjdGx5IGNhc2UtZm9sZCB3aGVuIC1pCi0JICogKGlnbm9yZS1jYXNlKSBpcyBhc2tlZCAoaW4gd2hpY2ggY2FzZSwgd2UnbGwgc3ludGhlc2l6ZSBhCi0JICogcmVnZXhwIHRvIG1hdGNoIHRoZSBwYXR0ZXJuIHRoYXQgbWF0Y2hlcyByZWdleHAgc3BlY2lhbAotCSAqIGNoYXJhY3RlcnMgbGl0ZXJhbGx5LCB3aGlsZSBpZ25vcmluZyBjYXNlIGRpZmZlcmVuY2VzKS4gIE9uCi0JICogdGhlIG90aGVyIGhhbmQsIGV2ZW4gd2l0aG91dCAtRiwgaWYgdGhlIHBhdHRlcm4gZG9lcyBub3QKLQkgKiBoYXZlIGFueSByZWdleHAgc3BlY2lhbCBjaGFyYWN0ZXJzIGFuZCB0aGVyZSBpcyBubyBuZWVkIGZvcgotCSAqIGNhc2UtZm9sZGluZyBzZWFyY2gsIHdlIGNhbiBpbnRlcm5hbGx5IHR1cm4gaXQgaW50byBhCi0JICogc2ltcGxlIHN0cmluZyBtYXRjaCB1c2luZyBrd3MuICBwLT5maXhlZCB0ZWxscyB1cyBpZiB3ZQotCSAqIHdhbnQgdG8gdXNlIGt3cy4KLQkgKi8KLQlpZiAob3B0LT5maXhlZCB8fAotCSAgICBoYXNfbnVsbChwLT5wYXR0ZXJuLCBwLT5wYXR0ZXJubGVuKSB8fAotCSAgICBpc19maXhlZChwLT5wYXR0ZXJuLCBwLT5wYXR0ZXJubGVuKSkKLQkJcC0+Zml4ZWQgPSAhcC0+aWdub3JlX2Nhc2UgfHwgYXNjaWlfb25seTsKKwlpZiAobWVtY2hyKHAtPnBhdHRlcm4sIDAsIHAtPnBhdHRlcm5sZW4pICYmICFvcHQtPnBjcmUyKQorCQlkaWUoXygiZ2l2ZW4gcGF0dGVybiBjb250YWlucyBOVUxMIGJ5dGUgKHZpYSAtZiA8ZmlsZT4pLiBUaGlzIGlzIG9ubHkgc3VwcG9ydGVkIHdpdGggLVAgdW5kZXIgUENSRSB2MiIpKTsKIAotCWlmIChwLT5maXhlZCkgewotCQlwLT5rd3MgPSBrd3NhbGxvYyhwLT5pZ25vcmVfY2FzZSA/IHRvbG93ZXJfdHJhbnNfdGJsIDogTlVMTCk7Ci0JCWt3c2luY3IocC0+a3dzLCBwLT5wYXR0ZXJuLCBwLT5wYXR0ZXJubGVuKTsKLQkJa3dzcHJlcChwLT5rd3MpOwotCQlyZXR1cm47Ci0JfSBlbHNlIGlmIChvcHQtPmZpeGVkKSB7Ci0JCS8qCi0JCSAqIFdlIGNvbWUgaGVyZSB3aGVuIHRoZSBwYXR0ZXJuIGhhcyB0aGUgbm9uLWFzY2lpCi0JCSAqIGNoYXJhY3RlcnMgd2UgY2Fubm90IGNhc2UtZm9sZCwgYW5kIGFza2VkIHRvCi0JCSAqIGlnbm9yZS1jYXNlLgotCQkgKi8KKwlwLT5pc19maXhlZCA9IGlzX2ZpeGVkKHAtPnBhdHRlcm4sIHAtPnBhdHRlcm5sZW4pOworI2lmZGVmIFVTRV9MSUJQQ1JFMgorICAgICAgIGlmICghcC0+Zml4ZWQgJiYgIXAtPmlzX2ZpeGVkKSB7CisJICAgICAgIGNvbnN0IGNoYXIgKm5vX2ppdCA9ICIoKk5PX0pJVCkiOworCSAgICAgICBjb25zdCBpbnQgbm9faml0X2xlbiA9IHN0cmxlbihub19qaXQpOworCSAgICAgICBpZiAoc3RhcnRzX3dpdGgocC0+cGF0dGVybiwgbm9faml0KSAmJgorCQkgICBpc19maXhlZChwLT5wYXR0ZXJuICsgbm9faml0X2xlbiwKKwkJCSAgICBwLT5wYXR0ZXJubGVuIC0gbm9faml0X2xlbikpCisJCSAgICAgICBwLT5pc19maXhlZCA9IDE7CisgICAgICAgfQorI2VuZGlmCisJaWYgKHAtPmZpeGVkIHx8IHAtPmlzX2ZpeGVkKSB7CisjaWZkZWYgVVNFX0xJQlBDUkUyCisJCW9wdC0+cGNyZTIgPSAxOworCQlpZiAocC0+aXNfZml4ZWQpIHsKKwkJCWNvbXBpbGVfcGNyZTJfcGF0dGVybihwLCBvcHQpOworCQl9IGVsc2UgeworCQkJLyoKKwkJCSAqIEUuZy4gdDc4MTEtZ3JlcC1vcGVuLnNoIHJlbGllcyBvbiB0aGUKKwkJCSAqIHBhdHRlcm4gYmVpbmcgcmVzdG9yZWQuCisJCQkgKi8KKwkJCWNoYXIgKm9sZF9wYXR0ZXJuID0gcC0+cGF0dGVybjsKKwkJCXNpemVfdCBvbGRfcGF0dGVybmxlbiA9IHAtPnBhdHRlcm5sZW47CisJCQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CisKKwkJCS8qCisJCQkgKiBUaGVyZSBpcyB0aGUgUENSRTJfTElURVJBTCBmbGFnLCBidXQgaXQncworCQkJICogb25seSBpbiBQQ1JFIHYyIDEwLjMwIGFuZCBsYXRlci4gTmVlZGluZyB0bworCQkJICogaWZkZWYgb3VyIHdheSBhcm91bmQgdGhhdCBhbmQgZGVhbGluZyB3aXRoCisJCQkgKiBpdCArIFBDUkUyX01VTFRJTElORSBiZWluZyBhbiBlcnJvciBpcyBtb3JlCisJCQkgKiBjb21wbGV4IHRoYW4ganVzdCBxdW90aW5nIHRoaXMgb3Vyc2VsdmVzLgorCQkJKi8KKwkJCXN0cmJ1Zl9hZGQoJnNiLCAiXFxRIiwgMik7CisJCQlzdHJidWZfYWRkKCZzYiwgcC0+cGF0dGVybiwgcC0+cGF0dGVybmxlbik7CisJCQlzdHJidWZfYWRkKCZzYiwgIlxcRSIsIDIpOworCisJCQlwLT5wYXR0ZXJuID0gc2IuYnVmOworCQkJcC0+cGF0dGVybmxlbiA9IHNiLmxlbjsKKwkJCWNvbXBpbGVfcGNyZTJfcGF0dGVybihwLCBvcHQpOworCQkJcC0+cGF0dGVybiA9IG9sZF9wYXR0ZXJuOworCQkJcC0+cGF0dGVybmxlbiA9IG9sZF9wYXR0ZXJubGVuOworCQkJc3RyYnVmX3JlbGVhc2UoJnNiKTsKKwkJfQorI2Vsc2UgLyogIVVTRV9MSUJQQ1JFMiAqLwogCQljb21waWxlX2ZpeGVkX3JlZ2V4cChwLCBvcHQpOworI2VuZGlmIC8qICFVU0VfTElCUENSRTIgKi8KIAkJcmV0dXJuOwogCX0KIApAQCAtMTA1Myw5ICsxMDc5LDcgQEAKIAkJY2FzZSBHUkVQX1BBVFRFUk46IC8qIGF0b20gKi8KIAkJY2FzZSBHUkVQX1BBVFRFUk5fSEVBRDoKIAkJY2FzZSBHUkVQX1BBVFRFUk5fQk9EWToKLQkJCWlmIChwLT5rd3MpCi0JCQkJa3dzZnJlZShwLT5rd3MpOwotCQkJZWxzZSBpZiAocC0+cGNyZTFfcmVnZXhwKQorCQkJaWYgKHAtPnBjcmUxX3JlZ2V4cCkKIAkJCQlmcmVlX3BjcmUxX3JlZ2V4cChwKTsKIAkJCWVsc2UgaWYgKHAtPnBjcmUyX3BhdHRlcm4pCiAJCQkJZnJlZV9wY3JlMl9wYXR0ZXJuKHApOwpAQCAtMTExNSwyOSArMTEzOSwxMiBAQAogCW9wdC0+b3V0cHV0KG9wdCwgb3B0LT5udWxsX2ZvbGxvd2luZ19uYW1lID8gIlwwIiA6ICJcbiIsIDEpOwogfQogCi1zdGF0aWMgaW50IGZpeG1hdGNoKHN0cnVjdCBncmVwX3BhdCAqcCwgY2hhciAqbGluZSwgY2hhciAqZW9sLAotCQkgICAgcmVnbWF0Y2hfdCAqbWF0Y2gpCi17Ci0Jc3RydWN0IGt3c21hdGNoIGt3c207Ci0Jc2l6ZV90IG9mZnNldCA9IGt3c2V4ZWMocC0+a3dzLCBsaW5lLCBlb2wgLSBsaW5lLCAma3dzbSk7Ci0JaWYgKG9mZnNldCA9PSAtMSkgewotCQltYXRjaC0+cm1fc28gPSBtYXRjaC0+cm1fZW8gPSAtMTsKLQkJcmV0dXJuIFJFR19OT01BVENIOwotCX0gZWxzZSB7Ci0JCW1hdGNoLT5ybV9zbyA9IG9mZnNldDsKLQkJbWF0Y2gtPnJtX2VvID0gbWF0Y2gtPnJtX3NvICsga3dzbS5zaXplWzBdOwotCQlyZXR1cm4gMDsKLQl9Ci19Ci0KIHN0YXRpYyBpbnQgcGF0bWF0Y2goc3RydWN0IGdyZXBfcGF0ICpwLCBjaGFyICpsaW5lLCBjaGFyICplb2wsCiAJCSAgICByZWdtYXRjaF90ICptYXRjaCwgaW50IGVmbGFncykKIHsKIAlpbnQgaGl0OwogCi0JaWYgKHAtPmZpeGVkKQotCQloaXQgPSAhZml4bWF0Y2gocCwgbGluZSwgZW9sLCBtYXRjaCk7Ci0JZWxzZSBpZiAocC0+cGNyZTFfcmVnZXhwKQorCWlmIChwLT5wY3JlMV9yZWdleHApCiAJCWhpdCA9ICFwY3JlMW1hdGNoKHAsIGxpbmUsIGVvbCwgbWF0Y2gsIGVmbGFncyk7CiAJZWxzZSBpZiAocC0+cGNyZTJfcGF0dGVybikKIAkJaGl0ID0gIXBjcmUybWF0Y2gocCwgbGluZSwgZW9sLCBtYXRjaCwgZWZsYWdzKTsKQEAgLTE1MzMsMTEgKzE1NDAsNiBAQAogCQlwdGhyZWFkX211dGV4X3VubG9jaygmZ3JlcF9hdHRyX211dGV4KTsKIH0KIAotLyoKLSAqIFNhbWUgYXMgZ2l0X2F0dHJfbXV0ZXgsIGJ1dCBwcm90ZWN0aW5nIHRoZSB0aHJlYWQtdW5zYWZlIG9iamVjdCBkYiBhY2Nlc3MuCi0gKi8KLXB0aHJlYWRfbXV0ZXhfdCBncmVwX3JlYWRfbXV0ZXg7Ci0KIHN0YXRpYyBpbnQgbWF0Y2hfZnVuY25hbWUoc3RydWN0IGdyZXBfb3B0ICpvcHQsIHN0cnVjdCBncmVwX3NvdXJjZSAqZ3MsIGNoYXIgKmJvbCwgY2hhciAqZW9sKQogewogCXhkZW1pdGNvbmZfdCAqeGVjZmcgPSBvcHQtPnByaXY7CkBAIC0xNzM0LDEzICsxNzM2LDIwIEBACiAJfQogCiAJLyoKLQkgKiBmaWxsX3RleHRjb252IGlzIG5vdCByZW1vdGVseSB0aHJlYWQtc2FmZTsgaXQgbWF5IGxvYWQgb2JqZWN0cwotCSAqIGJlaGluZCB0aGUgc2NlbmVzLCBhbmQgaXQgbW9kaWZpZXMgdGhlIGdsb2JhbCBkaWZmIHRlbXBmaWxlCi0JICogc3RydWN0dXJlLgorCSAqIGZpbGxfdGV4dGNvbnYgaXMgbm90IHJlbW90ZWx5IHRocmVhZC1zYWZlOyBpdCBtb2RpZmllcyB0aGUgZ2xvYmFsCisJICogZGlmZiB0ZW1wZmlsZSBzdHJ1Y3R1cmUsIHdyaXRlcyB0byB0aGVfcmVwbydzIG9kYiBhbmQgbWlnaHQKKwkgKiBpbnRlcm5hbGx5IGNhbGwgdGhyZWFkLXVuc2FmZSBmdW5jdGlvbnMgc3VjaCBhcyB0aGUKKwkgKiBwcmVwYXJlX3BhY2tlZF9naXQoKSBsYXp5LWluaXRpYWxpemF0b3IuIEJlY2F1c2Ugb2YgdGhlIGxhc3QgdHdvLCB3ZQorCSAqIG11c3QgZW5zdXJlIG11dHVhbCBleGNsdXNpb24gYmV0d2VlbiB0aGlzIGNhbGwgYW5kIHRoZSBvYmplY3QgcmVhZGluZworCSAqIEFQSSwgdGh1cyB3ZSB1c2Ugb2JqX3JlYWRfbG9jaygpIGhlcmUuCisJICoKKwkgKiBUT0RPOiBhbGxvd2luZyB0ZXh0IGNvbnZlcnNpb24gdG8gcnVuIGluIHBhcmFsbGVsIHdpdGggb2JqZWN0CisJICogcmVhZGluZyBvcGVyYXRpb25zIG1pZ2h0IGluY3JlYXNlIHBlcmZvcm1hbmNlIGluIHRoZSBtdWx0aXRocmVhZGVkCisJICogbm9uLXdvcmt0cmVlZSBnaXQtZ3JlcCB3aXRoIC0tdGV4dGNvbnYuCiAJICovCi0JZ3JlcF9yZWFkX2xvY2soKTsKKwlvYmpfcmVhZF9sb2NrKCk7CiAJc2l6ZSA9IGZpbGxfdGV4dGNvbnYociwgZHJpdmVyLCBkZiwgJmJ1Zik7Ci0JZ3JlcF9yZWFkX3VubG9jaygpOworCW9ial9yZWFkX3VubG9jaygpOwogCWZyZWVfZmlsZXNwZWMoZGYpOwogCiAJLyoKQEAgLTE3ODAsNiArMTc4OSwxMCBAQAogCWVudW0gZ3JlcF9jb250ZXh0IGN0eCA9IEdSRVBfQ09OVEVYVF9IRUFEOwogCXhkZW1pdGNvbmZfdCB4ZWNmZzsKIAorCWlmICghb3B0LT5zdGF0dXNfb25seSAmJiBncy0+bmFtZSA9PSBOVUxMKQorCQlCVUcoImdyZXAgY2FsbCB3aGljaCBjb3VsZCBwcmludCBhIG5hbWUgcmVxdWlyZXMgIgorCQkgICAgImdyZXBfc291cmNlLm5hbWUgYmUgbm9uLU5VTEwiKTsKKwogCWlmICghb3B0LT5vdXRwdXQpCiAJCW9wdC0+b3V0cHV0ID0gc3RkX291dHB1dDsKIApAQCAtMTgwMiwxMCArMTgxNSwxNSBAQAogCQlncmVwX3NvdXJjZV9sb2FkX2RyaXZlcihncywgb3B0LT5yZXBvLT5pbmRleCk7CiAJCS8qCiAJCSAqIFdlIG1pZ2h0IHNldCB1cCB0aGUgc2hhcmVkIHRleHRjb252IGNhY2hlIGRhdGEgaGVyZSwgd2hpY2gKLQkJICogaXMgbm90IHRocmVhZC1zYWZlLgorCQkgKiBpcyBub3QgdGhyZWFkLXNhZmUuIEFsc28sIGdldF9vaWRfd2l0aF9jb250ZXh0KCkgYW5kCisJCSAqIHBhcnNlX29iamVjdCgpIG1pZ2h0IGJlIGludGVybmFsbHkgY2FsbGVkLiBBcyB0aGV5IGFyZSBub3QKKwkJICogY3VycmVudHkgdGhyZWFkLXNhZmUgYW5kIG1pZ2h0IGJlIHJhY3kgd2l0aCBvYmplY3QgcmVhZGluZywKKwkJICogb2JqX3JlYWRfbG9jaygpIG11c3QgYmUgY2FsbGVkLgogCQkgKi8KIAkJZ3JlcF9hdHRyX2xvY2soKTsKLQkJdGV4dGNvbnYgPSB1c2VyZGlmZl9nZXRfdGV4dGNvbnYoZ3MtPmRyaXZlcik7CisJCW9ial9yZWFkX2xvY2soKTsKKwkJdGV4dGNvbnYgPSB1c2VyZGlmZl9nZXRfdGV4dGNvbnYob3B0LT5yZXBvLCBncy0+ZHJpdmVyKTsKKwkJb2JqX3JlYWRfdW5sb2NrKCk7CiAJCWdyZXBfYXR0cl91bmxvY2soKTsKIAl9CiAKQEAgLTIxMDUsMTAgKzIxMjMsNyBAQAogewogCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKIAotCWdyZXBfcmVhZF9sb2NrKCk7CiAJZ3MtPmJ1ZiA9IHJlYWRfb2JqZWN0X2ZpbGUoZ3MtPmlkZW50aWZpZXIsICZ0eXBlLCAmZ3MtPnNpemUpOwotCWdyZXBfcmVhZF91bmxvY2soKTsKLQogCWlmICghZ3MtPmJ1ZikKIAkJcmV0dXJuIGVycm9yKF8oIiclcyc6IHVuYWJsZSB0byByZWFkICVzIiksCiAJCQkgICAgIGdzLT5uYW1lLApkaWZmIC0tZ2l0IGEvZ3JlcC5oIGIvZ3JlcC5oCmluZGV4IGZiMDQ4OTMuLjkxMTVkYjggMTAwNjQ0Ci0tLSBhL2dyZXAuaAorKysgYi9ncmVwLmgKQEAgLTMsMjQgKzMsMTIgQEAKICNpbmNsdWRlICJjb2xvci5oIgogI2lmZGVmIFVTRV9MSUJQQ1JFMQogI2luY2x1ZGUgPHBjcmUuaD4KLSNpZmRlZiBQQ1JFX0NPTkZJR19KSVQKLSNpZiBQQ1JFX01BSk9SID49IDggJiYgUENSRV9NSU5PUiA+PSAzMgotI2lmbmRlZiBOT19MSUJQQ1JFMV9KSVQKLSNkZWZpbmUgR0lUX1BDUkUxX1VTRV9KSVQKLSNkZWZpbmUgR0lUX1BDUkVfU1RVRFlfSklUX0NPTVBJTEUgUENSRV9TVFVEWV9KSVRfQ09NUElMRQotI2VuZGlmCi0jZW5kaWYKLSNlbmRpZgotI2lmbmRlZiBHSVRfUENSRV9TVFVEWV9KSVRfQ09NUElMRQotI2RlZmluZSBHSVRfUENSRV9TVFVEWV9KSVRfQ09NUElMRSAwCi0jZW5kaWYKLSNpZiBQQ1JFX01BSk9SIDw9IDggJiYgUENSRV9NSU5PUiA8IDIwCi10eXBlZGVmIGludCBwY3JlX2ppdF9zdGFjazsKKyNpZm5kZWYgUENSRV9OT19VVEY4X0NIRUNLCisjZGVmaW5lIFBDUkVfTk9fVVRGOF9DSEVDSyAwCiAjZW5kaWYKICNlbHNlCiB0eXBlZGVmIGludCBwY3JlOwogdHlwZWRlZiBpbnQgcGNyZV9leHRyYTsKLXR5cGVkZWYgaW50IHBjcmVfaml0X3N0YWNrOwogI2VuZGlmCiAjaWZkZWYgVVNFX0xJQlBDUkUyCiAjZGVmaW5lIFBDUkUyX0NPREVfVU5JVF9XSURUSCA4CkBAIC0yOSwxMCArMTcsNyBAQAogdHlwZWRlZiBpbnQgcGNyZTJfY29kZTsKIHR5cGVkZWYgaW50IHBjcmUyX21hdGNoX2RhdGE7CiB0eXBlZGVmIGludCBwY3JlMl9jb21waWxlX2NvbnRleHQ7Ci10eXBlZGVmIGludCBwY3JlMl9tYXRjaF9jb250ZXh0OwotdHlwZWRlZiBpbnQgcGNyZTJfaml0X3N0YWNrOwogI2VuZGlmCi0jaW5jbHVkZSAia3dzZXQuaCIKICNpbmNsdWRlICJ0aHJlYWQtdXRpbHMuaCIKICNpbmNsdWRlICJ1c2VyZGlmZi5oIgogCkBAIC04OCwxNyArNzMsMTUgQEAKIAlyZWdleF90IHJlZ2V4cDsKIAlwY3JlICpwY3JlMV9yZWdleHA7CiAJcGNyZV9leHRyYSAqcGNyZTFfZXh0cmFfaW5mbzsKLQlwY3JlX2ppdF9zdGFjayAqcGNyZTFfaml0X3N0YWNrOwogCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnBjcmUxX3RhYmxlczsKIAlpbnQgcGNyZTFfaml0X29uOwogCXBjcmUyX2NvZGUgKnBjcmUyX3BhdHRlcm47CiAJcGNyZTJfbWF0Y2hfZGF0YSAqcGNyZTJfbWF0Y2hfZGF0YTsKIAlwY3JlMl9jb21waWxlX2NvbnRleHQgKnBjcmUyX2NvbXBpbGVfY29udGV4dDsKLQlwY3JlMl9tYXRjaF9jb250ZXh0ICpwY3JlMl9tYXRjaF9jb250ZXh0OwotCXBjcmUyX2ppdF9zdGFjayAqcGNyZTJfaml0X3N0YWNrOworCWNvbnN0IHVpbnQ4X3QgKnBjcmUyX3RhYmxlczsKIAl1aW50MzJfdCBwY3JlMl9qaXRfb247Ci0Ja3dzZXRfdCBrd3M7CiAJdW5zaWduZWQgZml4ZWQ6MTsKKwl1bnNpZ25lZCBpc19maXhlZDoxOwogCXVuc2lnbmVkIGlnbm9yZV9jYXNlOjE7CiAJdW5zaWduZWQgd29yZF9yZWdleHA6MTsKIH07CkBAIC0xNzMsNiArMTU2LDcgQEAKIAlpbnQgZnVuY2JvZHk7CiAJaW50IGV4dGVuZGVkX3JlZ2V4cF9vcHRpb247CiAJaW50IHBhdHRlcm5fdHlwZV9vcHRpb247CisJaW50IGlnbm9yZV9sb2NhbGU7CiAJY2hhciBjb2xvcnNbTlJfR1JFUF9DT0xPUlNdW0NPTE9SX01BWExFTl07CiAJdW5zaWduZWQgcHJlX2NvbnRleHQ7CiAJdW5zaWduZWQgcG9zdF9jb250ZXh0OwpAQCAtMTg2LDE3ICsxNzAsMTggQEAKIAl2b2lkICpvdXRwdXRfcHJpdjsKIH07CiAKLWV4dGVybiB2b2lkIGluaXRfZ3JlcF9kZWZhdWx0cyhzdHJ1Y3QgcmVwb3NpdG9yeSAqKTsKLWV4dGVybiBpbnQgZ3JlcF9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqKTsKLWV4dGVybiB2b2lkIGdyZXBfaW5pdChzdHJ1Y3QgZ3JlcF9vcHQgKiwgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sIGNvbnN0IGNoYXIgKnByZWZpeCk7Cit2b2lkIGluaXRfZ3JlcF9kZWZhdWx0cyhzdHJ1Y3QgcmVwb3NpdG9yeSAqKTsKK2ludCBncmVwX2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICopOwordm9pZCBncmVwX2luaXQoc3RydWN0IGdyZXBfb3B0ICosIHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLCBjb25zdCBjaGFyICpwcmVmaXgpOwordm9pZCBncmVwX2Rlc3Ryb3kodm9pZCk7CiB2b2lkIGdyZXBfY29tbWl0X3BhdHRlcm5fdHlwZShlbnVtIGdyZXBfcGF0dGVybl90eXBlLCBzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCk7CiAKLWV4dGVybiB2b2lkIGFwcGVuZF9ncmVwX3BhdChzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCwgY29uc3QgY2hhciAqcGF0LCBzaXplX3QgcGF0bGVuLCBjb25zdCBjaGFyICpvcmlnaW4sIGludCBubywgZW51bSBncmVwX3BhdF90b2tlbiB0KTsKLWV4dGVybiB2b2lkIGFwcGVuZF9ncmVwX3BhdHRlcm4oc3RydWN0IGdyZXBfb3B0ICpvcHQsIGNvbnN0IGNoYXIgKnBhdCwgY29uc3QgY2hhciAqb3JpZ2luLCBpbnQgbm8sIGVudW0gZ3JlcF9wYXRfdG9rZW4gdCk7Ci1leHRlcm4gdm9pZCBhcHBlbmRfaGVhZGVyX2dyZXBfcGF0dGVybihzdHJ1Y3QgZ3JlcF9vcHQgKiwgZW51bSBncmVwX2hlYWRlcl9maWVsZCwgY29uc3QgY2hhciAqKTsKLWV4dGVybiB2b2lkIGNvbXBpbGVfZ3JlcF9wYXR0ZXJucyhzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCk7Ci1leHRlcm4gdm9pZCBmcmVlX2dyZXBfcGF0dGVybnMoc3RydWN0IGdyZXBfb3B0ICpvcHQpOwotZXh0ZXJuIGludCBncmVwX2J1ZmZlcihzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCwgY2hhciAqYnVmLCB1bnNpZ25lZCBsb25nIHNpemUpOwordm9pZCBhcHBlbmRfZ3JlcF9wYXQoc3RydWN0IGdyZXBfb3B0ICpvcHQsIGNvbnN0IGNoYXIgKnBhdCwgc2l6ZV90IHBhdGxlbiwgY29uc3QgY2hhciAqb3JpZ2luLCBpbnQgbm8sIGVudW0gZ3JlcF9wYXRfdG9rZW4gdCk7Cit2b2lkIGFwcGVuZF9ncmVwX3BhdHRlcm4oc3RydWN0IGdyZXBfb3B0ICpvcHQsIGNvbnN0IGNoYXIgKnBhdCwgY29uc3QgY2hhciAqb3JpZ2luLCBpbnQgbm8sIGVudW0gZ3JlcF9wYXRfdG9rZW4gdCk7Cit2b2lkIGFwcGVuZF9oZWFkZXJfZ3JlcF9wYXR0ZXJuKHN0cnVjdCBncmVwX29wdCAqLCBlbnVtIGdyZXBfaGVhZGVyX2ZpZWxkLCBjb25zdCBjaGFyICopOwordm9pZCBjb21waWxlX2dyZXBfcGF0dGVybnMoc3RydWN0IGdyZXBfb3B0ICpvcHQpOwordm9pZCBmcmVlX2dyZXBfcGF0dGVybnMoc3RydWN0IGdyZXBfb3B0ICpvcHQpOworaW50IGdyZXBfYnVmZmVyKHN0cnVjdCBncmVwX29wdCAqb3B0LCBjaGFyICpidWYsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CiAKIHN0cnVjdCBncmVwX3NvdXJjZSB7CiAJY2hhciAqbmFtZTsKQEAgLTIyNiw4ICsyMTEsOCBAQAogCiBpbnQgZ3JlcF9zb3VyY2Uoc3RydWN0IGdyZXBfb3B0ICpvcHQsIHN0cnVjdCBncmVwX3NvdXJjZSAqZ3MpOwogCi1leHRlcm4gc3RydWN0IGdyZXBfb3B0ICpncmVwX29wdF9kdXAoY29uc3Qgc3RydWN0IGdyZXBfb3B0ICpvcHQpOwotZXh0ZXJuIGludCBncmVwX3RocmVhZHNfb2soY29uc3Qgc3RydWN0IGdyZXBfb3B0ICpvcHQpOworc3RydWN0IGdyZXBfb3B0ICpncmVwX29wdF9kdXAoY29uc3Qgc3RydWN0IGdyZXBfb3B0ICpvcHQpOworaW50IGdyZXBfdGhyZWFkc19vayhjb25zdCBzdHJ1Y3QgZ3JlcF9vcHQgKm9wdCk7CiAKIC8qCiAgKiBNdXRleCB1c2VkIGFyb3VuZCBhY2Nlc3MgdG8gdGhlIGF0dHJpYnV0ZXMgbWFjaGluZXJ5IGlmCkBAIC0yMzUsMTggKzIyMCw1IEBACiAgKi8KIGV4dGVybiBpbnQgZ3JlcF91c2VfbG9ja3M7CiBleHRlcm4gcHRocmVhZF9tdXRleF90IGdyZXBfYXR0cl9tdXRleDsKLWV4dGVybiBwdGhyZWFkX211dGV4X3QgZ3JlcF9yZWFkX211dGV4OwotCi1zdGF0aWMgaW5saW5lIHZvaWQgZ3JlcF9yZWFkX2xvY2sodm9pZCkKLXsKLQlpZiAoZ3JlcF91c2VfbG9ja3MpCi0JCXB0aHJlYWRfbXV0ZXhfbG9jaygmZ3JlcF9yZWFkX211dGV4KTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGdyZXBfcmVhZF91bmxvY2sodm9pZCkKLXsKLQlpZiAoZ3JlcF91c2VfbG9ja3MpCi0JCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZncmVwX3JlYWRfbXV0ZXgpOwotfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2hhc2guaCBiL2hhc2guaAppbmRleCA3YzgyMzhiLi41MmE0ZjFhIDEwMDY0NAotLS0gYS9oYXNoLmgKKysrIGIvaGFzaC5oCkBAIC0xNSw2ICsxNSwxNCBAQAogI2luY2x1ZGUgImJsb2NrLXNoYTEvc2hhMS5oIgogI2VuZGlmCiAKKyNpZiBkZWZpbmVkKFNIQTI1Nl9HQ1JZUFQpCisjaW5jbHVkZSAic2hhMjU2L2djcnlwdC5oIgorI2VsaWYgZGVmaW5lZChTSEEyNTZfT1BFTlNTTCkKKyNpbmNsdWRlIDxvcGVuc3NsL3NoYS5oPgorI2Vsc2UKKyNpbmNsdWRlICJzaGEyNTYvYmxvY2svc2hhMjU2LmgiCisjZW5kaWYKKwogI2lmbmRlZiBwbGF0Zm9ybV9TSEFfQ1RYCiAvKgogICogcGxhdGZvcm0ncyB1bmRlcmx5aW5nIGltcGxlbWVudGF0aW9uIG9mIFNIQS0xOyBjb3VsZCBiZSBPcGVuU1NMLApAQCAtMzQsNiArNDIsMTggQEAKICNkZWZpbmUgZ2l0X1NIQTFfVXBkYXRlCQlwbGF0Zm9ybV9TSEExX1VwZGF0ZQogI2RlZmluZSBnaXRfU0hBMV9GaW5hbAkJcGxhdGZvcm1fU0hBMV9GaW5hbAogCisjaWZuZGVmIHBsYXRmb3JtX1NIQTI1Nl9DVFgKKyNkZWZpbmUgcGxhdGZvcm1fU0hBMjU2X0NUWAlTSEEyNTZfQ1RYCisjZGVmaW5lIHBsYXRmb3JtX1NIQTI1Nl9Jbml0CVNIQTI1Nl9Jbml0CisjZGVmaW5lIHBsYXRmb3JtX1NIQTI1Nl9VcGRhdGUJU0hBMjU2X1VwZGF0ZQorI2RlZmluZSBwbGF0Zm9ybV9TSEEyNTZfRmluYWwJU0hBMjU2X0ZpbmFsCisjZW5kaWYKKworI2RlZmluZSBnaXRfU0hBMjU2X0NUWAkJcGxhdGZvcm1fU0hBMjU2X0NUWAorI2RlZmluZSBnaXRfU0hBMjU2X0luaXQJCXBsYXRmb3JtX1NIQTI1Nl9Jbml0CisjZGVmaW5lIGdpdF9TSEEyNTZfVXBkYXRlCXBsYXRmb3JtX1NIQTI1Nl9VcGRhdGUKKyNkZWZpbmUgZ2l0X1NIQTI1Nl9GaW5hbAlwbGF0Zm9ybV9TSEEyNTZfRmluYWwKKwogI2lmZGVmIFNIQTFfTUFYX0JMT0NLX1NJWkUKICNpbmNsdWRlICJjb21wYXQvc2hhMS1jaHVua2VkLmgiCiAjdW5kZWYgZ2l0X1NIQTFfVXBkYXRlCkBAIC01MiwxMiArNzIsMTUgQEAKICNkZWZpbmUgR0lUX0hBU0hfVU5LTk9XTiAwCiAvKiBTSEEtMSAqLwogI2RlZmluZSBHSVRfSEFTSF9TSEExIDEKKy8qIFNIQS0yNTYgICovCisjZGVmaW5lIEdJVF9IQVNIX1NIQTI1NiAyCiAvKiBOdW1iZXIgb2YgYWxnb3JpdGhtcyBzdXBwb3J0ZWQgKGluY2x1ZGluZyB1bmtub3duKS4gKi8KLSNkZWZpbmUgR0lUX0hBU0hfTkFMR09TIChHSVRfSEFTSF9TSEExICsgMSkKKyNkZWZpbmUgR0lUX0hBU0hfTkFMR09TIChHSVRfSEFTSF9TSEEyNTYgKyAxKQogCiAvKiBBIHN1aXRhYmx5IGFsaWduZWQgdHlwZSBmb3Igc3RhY2sgYWxsb2NhdGlvbnMgb2YgaGFzaCBjb250ZXh0cy4gKi8KIHVuaW9uIGdpdF9oYXNoX2N0eCB7CiAJZ2l0X1NIQV9DVFggc2hhMTsKKwlnaXRfU0hBMjU2X0NUWCBzaGEyNTY7CiB9OwogdHlwZWRlZiB1bmlvbiBnaXRfaGFzaF9jdHggZ2l0X2hhc2hfY3R4OwogCkBAIC04MSw2ICsxMDQsOSBAQAogCS8qIFRoZSBsZW5ndGggb2YgdGhlIGhhc2ggaW4gaGV4IGNoYXJhY3RlcnMuICovCiAJc2l6ZV90IGhleHN6OwogCisJLyogVGhlIGJsb2NrIHNpemUgb2YgdGhlIGhhc2guICovCisJc2l6ZV90IGJsa3N6OworCiAJLyogVGhlIGhhc2ggaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24uICovCiAJZ2l0X2hhc2hfaW5pdF9mbiBpbml0X2ZuOwogCkBAIC05OCw0ICsxMjQsNDMgQEAKIH07CiBleHRlcm4gY29uc3Qgc3RydWN0IGdpdF9oYXNoX2FsZ28gaGFzaF9hbGdvc1tHSVRfSEFTSF9OQUxHT1NdOwogCisvKgorICogUmV0dXJuIGEgR0lUX0hBU0hfKiBjb25zdGFudCBiYXNlZCBvbiB0aGUgbmFtZS4gIFJldHVybnMgR0lUX0hBU0hfVU5LTk9XTiBpZgorICogdGhlIG5hbWUgZG9lc24ndCBtYXRjaCBhIGtub3duIGFsZ29yaXRobS4KKyAqLworaW50IGhhc2hfYWxnb19ieV9uYW1lKGNvbnN0IGNoYXIgKm5hbWUpOworLyogSWRlbnRpY2FsLCBleGNlcHQgYmFzZWQgb24gdGhlIGZvcm1hdCBJRC4gKi8KK2ludCBoYXNoX2FsZ29fYnlfaWQodWludDMyX3QgZm9ybWF0X2lkKTsKKy8qIElkZW50aWNhbCwgZXhjZXB0IGJhc2VkIG9uIHRoZSBsZW5ndGguICovCitpbnQgaGFzaF9hbGdvX2J5X2xlbmd0aChpbnQgbGVuKTsKKy8qIElkZW50aWNhbCwgZXhjZXB0IGZvciBhIHBvaW50ZXIgdG8gc3RydWN0IGdpdF9oYXNoX2FsZ28uICovCitzdGF0aWMgaW5saW5lIGludCBoYXNoX2FsZ29fYnlfcHRyKGNvbnN0IHN0cnVjdCBnaXRfaGFzaF9hbGdvICpwKQoreworCXJldHVybiBwIC0gaGFzaF9hbGdvczsKK30KKworLyogVGhlIGxlbmd0aCBpbiBieXRlcyBhbmQgaW4gaGV4IGRpZ2l0cyBvZiBhbiBvYmplY3QgbmFtZSAoU0hBLTEgdmFsdWUpLiAqLworI2RlZmluZSBHSVRfU0hBMV9SQVdTWiAyMAorI2RlZmluZSBHSVRfU0hBMV9IRVhTWiAoMiAqIEdJVF9TSEExX1JBV1NaKQorLyogVGhlIGJsb2NrIHNpemUgb2YgU0hBLTEuICovCisjZGVmaW5lIEdJVF9TSEExX0JMS1NaIDY0CisKKy8qIFRoZSBsZW5ndGggaW4gYnl0ZXMgYW5kIGluIGhleCBkaWdpdHMgb2YgYW4gb2JqZWN0IG5hbWUgKFNIQS0yNTYgdmFsdWUpLiAqLworI2RlZmluZSBHSVRfU0hBMjU2X1JBV1NaIDMyCisjZGVmaW5lIEdJVF9TSEEyNTZfSEVYU1ogKDIgKiBHSVRfU0hBMjU2X1JBV1NaKQorLyogVGhlIGJsb2NrIHNpemUgb2YgU0hBLTI1Ni4gKi8KKyNkZWZpbmUgR0lUX1NIQTI1Nl9CTEtTWiA2NAorCisvKiBUaGUgbGVuZ3RoIGluIGJ5dGUgYW5kIGluIGhleCBkaWdpdHMgb2YgdGhlIGxhcmdlc3QgcG9zc2libGUgaGFzaCB2YWx1ZS4gKi8KKyNkZWZpbmUgR0lUX01BWF9SQVdTWiBHSVRfU0hBMjU2X1JBV1NaCisjZGVmaW5lIEdJVF9NQVhfSEVYU1ogR0lUX1NIQTI1Nl9IRVhTWgorLyogVGhlIGxhcmdlc3QgcG9zc2libGUgYmxvY2sgc2l6ZSBmb3IgYW55IHN1cHBvcnRlZCBoYXNoLiAqLworI2RlZmluZSBHSVRfTUFYX0JMS1NaIEdJVF9TSEEyNTZfQkxLU1oKKworc3RydWN0IG9iamVjdF9pZCB7CisJdW5zaWduZWQgY2hhciBoYXNoW0dJVF9NQVhfUkFXU1pdOworfTsKKworI2RlZmluZSB0aGVfaGFzaF9hbGdvIHRoZV9yZXBvc2l0b3J5LT5oYXNoX2FsZ28KKwogI2VuZGlmCmRpZmYgLS1naXQgYS9oYXNobWFwLmMgYi9oYXNobWFwLmMKaW5kZXggZDQyZjAxZi4uMDk4MTNlMSAxMDA2NDQKLS0tIGEvaGFzaG1hcC5jCisrKyBiL2hhc2htYXAuYwpAQCAtNTEsNyArNTEsNyBAQAogfQogCiAvKgotICogSW5jb3BvcmF0ZSBhbm90aGVyIGNodW5rIG9mIGRhdGEgaW50byBhIG1lbWloYXNoCisgKiBJbmNvcnBvcmF0ZSBhbm90aGVyIGNodW5rIG9mIGRhdGEgaW50byBhIG1lbWloYXNoCiAgKiBjb21wdXRhdGlvbi4KICAqLwogdW5zaWduZWQgaW50IG1lbWloYXNoX2NvbnQodW5zaWduZWQgaW50IGhhc2hfc2VlZCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgbGVuKQpAQCAtMTQwLDggKzE0MCw4IEBACiB9CiAKIHN0YXRpYyBpbnQgYWx3YXlzX2VxdWFsKGNvbnN0IHZvaWQgKnVudXNlZF9jbXBfZGF0YSwKLQkJCWNvbnN0IHZvaWQgKnVudXNlZDEsCi0JCQljb25zdCB2b2lkICp1bnVzZWQyLAorCQkJY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKnVudXNlZDEsCisJCQljb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqdW51c2VkMiwKIAkJCWNvbnN0IHZvaWQgKnVudXNlZF9rZXlkYXRhKQogewogCXJldHVybiAwOwpAQCAtMTcxLDQxICsxNzEsNDkgQEAKIAltYXAtPmRvX2NvdW50X2l0ZW1zID0gMTsKIH0KIAotdm9pZCBoYXNobWFwX2ZyZWUoc3RydWN0IGhhc2htYXAgKm1hcCwgaW50IGZyZWVfZW50cmllcykKK3ZvaWQgaGFzaG1hcF9mcmVlXyhzdHJ1Y3QgaGFzaG1hcCAqbWFwLCBzc2l6ZV90IGVudHJ5X29mZnNldCkKIHsKIAlpZiAoIW1hcCB8fCAhbWFwLT50YWJsZSkKIAkJcmV0dXJuOwotCWlmIChmcmVlX2VudHJpZXMpIHsKKwlpZiAoZW50cnlfb2Zmc2V0ID49IDApIHsgLyogY2FsbGVkIGJ5IGhhc2htYXBfZnJlZV9lbnRyaWVzICovCiAJCXN0cnVjdCBoYXNobWFwX2l0ZXIgaXRlcjsKIAkJc3RydWN0IGhhc2htYXBfZW50cnkgKmU7CisKIAkJaGFzaG1hcF9pdGVyX2luaXQobWFwLCAmaXRlcik7CiAJCXdoaWxlICgoZSA9IGhhc2htYXBfaXRlcl9uZXh0KCZpdGVyKSkpCi0JCQlmcmVlKGUpOworCQkJLyoKKwkJCSAqIGxpa2UgY29udGFpbmVyX29mLCBidXQgdXNpbmcgY2FsbGVyLWNhbGN1bGF0ZWQKKwkJCSAqIG9mZnNldCAoY2FsbGVyIGJlaW5nIGhhc2htYXBfZnJlZV9lbnRyaWVzKQorCQkJICovCisJCQlmcmVlKChjaGFyICopZSAtIGVudHJ5X29mZnNldCk7CiAJfQogCWZyZWUobWFwLT50YWJsZSk7CiAJbWVtc2V0KG1hcCwgMCwgc2l6ZW9mKCptYXApKTsKIH0KIAotdm9pZCAqaGFzaG1hcF9nZXQoY29uc3Qgc3RydWN0IGhhc2htYXAgKm1hcCwgY29uc3Qgdm9pZCAqa2V5LCBjb25zdCB2b2lkICprZXlkYXRhKQorc3RydWN0IGhhc2htYXBfZW50cnkgKmhhc2htYXBfZ2V0KGNvbnN0IHN0cnVjdCBoYXNobWFwICptYXAsCisJCQkJY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmtleSwKKwkJCQljb25zdCB2b2lkICprZXlkYXRhKQogewogCXJldHVybiAqZmluZF9lbnRyeV9wdHIobWFwLCBrZXksIGtleWRhdGEpOwogfQogCi12b2lkICpoYXNobWFwX2dldF9uZXh0KGNvbnN0IHN0cnVjdCBoYXNobWFwICptYXAsIGNvbnN0IHZvaWQgKmVudHJ5KQorc3RydWN0IGhhc2htYXBfZW50cnkgKmhhc2htYXBfZ2V0X25leHQoY29uc3Qgc3RydWN0IGhhc2htYXAgKm1hcCwKKwkJCWNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeSkKIHsKLQlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZSA9ICgoc3RydWN0IGhhc2htYXBfZW50cnkgKikgZW50cnkpLT5uZXh0OworCXN0cnVjdCBoYXNobWFwX2VudHJ5ICplID0gZW50cnktPm5leHQ7CiAJZm9yICg7IGU7IGUgPSBlLT5uZXh0KQogCQlpZiAoZW50cnlfZXF1YWxzKG1hcCwgZW50cnksIGUsIE5VTEwpKQogCQkJcmV0dXJuIGU7CiAJcmV0dXJuIE5VTEw7CiB9CiAKLXZvaWQgaGFzaG1hcF9hZGQoc3RydWN0IGhhc2htYXAgKm1hcCwgdm9pZCAqZW50cnkpCit2b2lkIGhhc2htYXBfYWRkKHN0cnVjdCBoYXNobWFwICptYXAsIHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeSkKIHsKIAl1bnNpZ25lZCBpbnQgYiA9IGJ1Y2tldChtYXAsIGVudHJ5KTsKIAogCS8qIGFkZCBlbnRyeSAqLwotCSgoc3RydWN0IGhhc2htYXBfZW50cnkgKikgZW50cnkpLT5uZXh0ID0gbWFwLT50YWJsZVtiXTsKKwllbnRyeS0+bmV4dCA9IG1hcC0+dGFibGVbYl07CiAJbWFwLT50YWJsZVtiXSA9IGVudHJ5OwogCiAJLyogZml4IHNpemUgYW5kIHJlaGFzaCBpZiBhcHByb3ByaWF0ZSAqLwpAQCAtMjE2LDcgKzIyNCw5IEBACiAJfQogfQogCi12b2lkICpoYXNobWFwX3JlbW92ZShzdHJ1Y3QgaGFzaG1hcCAqbWFwLCBjb25zdCB2b2lkICprZXksIGNvbnN0IHZvaWQgKmtleWRhdGEpCitzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqaGFzaG1hcF9yZW1vdmUoc3RydWN0IGhhc2htYXAgKm1hcCwKKwkJCQkJY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmtleSwKKwkJCQkJY29uc3Qgdm9pZCAqa2V5ZGF0YSkKIHsKIAlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqb2xkOwogCXN0cnVjdCBoYXNobWFwX2VudHJ5ICoqZSA9IGZpbmRfZW50cnlfcHRyKG1hcCwga2V5LCBrZXlkYXRhKTsKQEAgLTIzOCw3ICsyNDgsOCBAQAogCXJldHVybiBvbGQ7CiB9CiAKLXZvaWQgKmhhc2htYXBfcHV0KHN0cnVjdCBoYXNobWFwICptYXAsIHZvaWQgKmVudHJ5KQorc3RydWN0IGhhc2htYXBfZW50cnkgKmhhc2htYXBfcHV0KHN0cnVjdCBoYXNobWFwICptYXAsCisJCQkJc3RydWN0IGhhc2htYXBfZW50cnkgKmVudHJ5KQogewogCXN0cnVjdCBoYXNobWFwX2VudHJ5ICpvbGQgPSBoYXNobWFwX3JlbW92ZShtYXAsIGVudHJ5LCBOVUxMKTsKIAloYXNobWFwX2FkZChtYXAsIGVudHJ5KTsKQEAgLTI1Miw3ICsyNjMsNyBAQAogCWl0ZXItPm5leHQgPSBOVUxMOwogfQogCi12b2lkICpoYXNobWFwX2l0ZXJfbmV4dChzdHJ1Y3QgaGFzaG1hcF9pdGVyICppdGVyKQorc3RydWN0IGhhc2htYXBfZW50cnkgKmhhc2htYXBfaXRlcl9uZXh0KHN0cnVjdCBoYXNobWFwX2l0ZXIgKml0ZXIpCiB7CiAJc3RydWN0IGhhc2htYXBfZW50cnkgKmN1cnJlbnQgPSBpdGVyLT5uZXh0OwogCWZvciAoOzspIHsKQEAgLTI3NSwxMCArMjg2LDE1IEBACiB9OwogCiBzdGF0aWMgaW50IHBvb2xfZW50cnlfY21wKGNvbnN0IHZvaWQgKnVudXNlZF9jbXBfZGF0YSwKLQkJCSAgY29uc3Qgc3RydWN0IHBvb2xfZW50cnkgKmUxLAotCQkJICBjb25zdCBzdHJ1Y3QgcG9vbF9lbnRyeSAqZTIsCi0JCQkgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmtleWRhdGEpCisJCQkgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplcHRyLAorCQkJICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZW50cnlfb3Jfa2V5LAorCQkJICBjb25zdCB2b2lkICprZXlkYXRhKQogeworCWNvbnN0IHN0cnVjdCBwb29sX2VudHJ5ICplMSwgKmUyOworCisJZTEgPSBjb250YWluZXJfb2YoZXB0ciwgY29uc3Qgc3RydWN0IHBvb2xfZW50cnksIGVudCk7CisJZTIgPSBjb250YWluZXJfb2YoZW50cnlfb3Jfa2V5LCBjb25zdCBzdHJ1Y3QgcG9vbF9lbnRyeSwgZW50KTsKKwogCXJldHVybiBlMS0+ZGF0YSAhPSBrZXlkYXRhICYmCiAJICAgICAgIChlMS0+bGVuICE9IGUyLT5sZW4gfHwgbWVtY21wKGUxLT5kYXRhLCBrZXlkYXRhLCBlMS0+bGVuKSk7CiB9CkBAIC0yOTAsMTggKzMwNiwxOCBAQAogCiAJLyogaW5pdGlhbGl6ZSBzdHJpbmcgcG9vbCBoYXNobWFwICovCiAJaWYgKCFtYXAudGFibGVzaXplKQotCQloYXNobWFwX2luaXQoJm1hcCwgKGhhc2htYXBfY21wX2ZuKSBwb29sX2VudHJ5X2NtcCwgTlVMTCwgMCk7CisJCWhhc2htYXBfaW5pdCgmbWFwLCBwb29sX2VudHJ5X2NtcCwgTlVMTCwgMCk7CiAKIAkvKiBsb29rdXAgaW50ZXJuZWQgc3RyaW5nIGluIHBvb2wgKi8KLQloYXNobWFwX2VudHJ5X2luaXQoJmtleSwgbWVtaGFzaChkYXRhLCBsZW4pKTsKKwloYXNobWFwX2VudHJ5X2luaXQoJmtleS5lbnQsIG1lbWhhc2goZGF0YSwgbGVuKSk7CiAJa2V5LmxlbiA9IGxlbjsKLQllID0gaGFzaG1hcF9nZXQoJm1hcCwgJmtleSwgZGF0YSk7CisJZSA9IGhhc2htYXBfZ2V0X2VudHJ5KCZtYXAsICZrZXksIGVudCwgZGF0YSk7CiAJaWYgKCFlKSB7CiAJCS8qIG5vdCBmb3VuZDogY3JlYXRlIGl0ICovCiAJCUZMRVhfQUxMT0NfTUVNKGUsIGRhdGEsIGRhdGEsIGxlbik7Ci0JCWhhc2htYXBfZW50cnlfaW5pdChlLCBrZXkuZW50Lmhhc2gpOworCQloYXNobWFwX2VudHJ5X2luaXQoJmUtPmVudCwga2V5LmVudC5oYXNoKTsKIAkJZS0+bGVuID0gbGVuOwotCQloYXNobWFwX2FkZCgmbWFwLCBlKTsKKwkJaGFzaG1hcF9hZGQoJm1hcCwgJmUtPmVudCk7CiAJfQogCXJldHVybiBlLT5kYXRhOwogfQpkaWZmIC0tZ2l0IGEvaGFzaG1hcC5oIGIvaGFzaG1hcC5oCmluZGV4IGQzNzVkOWMuLjc5YWU5ZjggMTAwNjQ0Ci0tLSBhL2hhc2htYXAuaAorKysgYi9oYXNobWFwLmgKQEAgLTEsNiArMSw4IEBACiAjaWZuZGVmIEhBU0hNQVBfSAogI2RlZmluZSBIQVNITUFQX0gKIAorI2luY2x1ZGUgImhhc2guaCIKKwogLyoKICAqIEdlbmVyaWMgaW1wbGVtZW50YXRpb24gb2YgaGFzaC1iYXNlZCBrZXktdmFsdWUgbWFwcGluZ3MuCiAgKgpAQCAtMTEsNyArMTMsNyBAQAogICoKICAqIHN0cnVjdCBoYXNobWFwIG1hcDsKICAqIHN0cnVjdCBsb25nMnN0cmluZyB7Ci0gKiAgICAgc3RydWN0IGhhc2htYXBfZW50cnkgZW50OyAvLyBtdXN0IGJlIHRoZSBmaXJzdCBtZW1iZXIhCisgKiAgICAgc3RydWN0IGhhc2htYXBfZW50cnkgZW50OwogICogICAgIGxvbmcga2V5OwogICogICAgIGNoYXIgdmFsdWVbRkxFWF9BUlJBWV07ICAgLy8gYmUgY2FyZWZ1bCB3aXRoIGFsbG9jYXRpbmcgb24gc3RhY2shCiAgKiB9OwpAQCAtMTksMTIgKzIxLDE2IEBACiAgKiAjZGVmaW5lIENPTVBBUkVfVkFMVUUgMQogICoKICAqIHN0YXRpYyBpbnQgbG9uZzJzdHJpbmdfY21wKGNvbnN0IHZvaWQgKmhhc2htYXBfY21wX2ZuX2RhdGEsCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbG9uZzJzdHJpbmcgKmUxLAotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGxvbmcyc3RyaW5nICplMiwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplcHRyLAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmVudHJ5X29yX2tleSwKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmtleWRhdGEpCiAgKiB7CiAgKiAgICAgY29uc3QgY2hhciAqc3RyaW5nID0ga2V5ZGF0YTsKICAqICAgICB1bnNpZ25lZCBmbGFncyA9ICoodW5zaWduZWQgKiloYXNobWFwX2NtcF9mbl9kYXRhOworICogICAgIGNvbnN0IHN0cnVjdCBsb25nMnN0cmluZyAqZTEsICplMjsKKyAqCisgKiAgICAgZTEgPSBjb250YWluZXJfb2YoZXB0ciwgY29uc3Qgc3RydWN0IGxvbmcyc3RyaW5nLCBlbnQpOworICogICAgIGUyID0gY29udGFpbmVyX29mKGVudHJ5X29yX2tleSwgY29uc3Qgc3RydWN0IGxvbmcyc3RyaW5nLCBlbnQpOwogICoKICAqICAgICBpZiAoZmxhZ3MgJiBDT01QQVJFX1ZBTFVFKQogICogICAgICAgICByZXR1cm4gZTEtPmtleSAhPSBlMi0+a2V5IHx8CkBAIC0zOSw1NCArNDUsNTggQEAKICAqICAgICBjaGFyIHZhbHVlWzI1NV0sIGFjdGlvblszMl07CiAgKiAgICAgdW5zaWduZWQgZmxhZ3MgPSAwOwogICoKLSAqICAgICBoYXNobWFwX2luaXQoJm1hcCwgKGhhc2htYXBfY21wX2ZuKSBsb25nMnN0cmluZ19jbXAsICZmbGFncywgMCk7CisgKiAgICAgaGFzaG1hcF9pbml0KCZtYXAsIGxvbmcyc3RyaW5nX2NtcCwgJmZsYWdzLCAwKTsKICAqCiAgKiAgICAgd2hpbGUgKHNjYW5mKCIlcyAlbGQgJXMiLCBhY3Rpb24sICZrZXksIHZhbHVlKSkgewogICoKICAqICAgICAgICAgaWYgKCFzdHJjbXAoImFkZCIsIGFjdGlvbikpIHsKICAqICAgICAgICAgICAgIHN0cnVjdCBsb25nMnN0cmluZyAqZTsKICAqICAgICAgICAgICAgIEZMRVhfQUxMT0NfU1RSKGUsIHZhbHVlLCB2YWx1ZSk7Ci0gKiAgICAgICAgICAgICBoYXNobWFwX2VudHJ5X2luaXQoZSwgbWVtaGFzaCgma2V5LCBzaXplb2YobG9uZykpKTsKKyAqICAgICAgICAgICAgIGhhc2htYXBfZW50cnlfaW5pdCgmZS0+ZW50LCBtZW1oYXNoKCZrZXksIHNpemVvZihsb25nKSkpOwogICogICAgICAgICAgICAgZS0+a2V5ID0ga2V5OwotICogICAgICAgICAgICAgaGFzaG1hcF9hZGQoJm1hcCwgZSk7CisgKiAgICAgICAgICAgICBoYXNobWFwX2FkZCgmbWFwLCAmZS0+ZW50KTsKICAqICAgICAgICAgfQogICoKICAqICAgICAgICAgaWYgKCFzdHJjbXAoInByaW50X2FsbF9ieV9rZXkiLCBhY3Rpb24pKSB7CiAgKiAgICAgICAgICAgICBzdHJ1Y3QgbG9uZzJzdHJpbmcgaywgKmU7Ci0gKiAgICAgICAgICAgICBoYXNobWFwX2VudHJ5X2luaXQoJmssIG1lbWhhc2goJmtleSwgc2l6ZW9mKGxvbmcpKSk7CisgKiAgICAgICAgICAgICBoYXNobWFwX2VudHJ5X2luaXQoJmsuZW50LCBtZW1oYXNoKCZrZXksIHNpemVvZihsb25nKSkpOwogICogICAgICAgICAgICAgay5rZXkgPSBrZXk7CiAgKgogICogICAgICAgICAgICAgZmxhZ3MgJj0gfkNPTVBBUkVfVkFMVUU7Ci0gKiAgICAgICAgICAgICBlID0gaGFzaG1hcF9nZXQoJm1hcCwgJmssIE5VTEwpOworICogICAgICAgICAgICAgZSA9IGhhc2htYXBfZ2V0X2VudHJ5KCZtYXAsICZrLCBlbnQsIE5VTEwpOwogICogICAgICAgICAgICAgaWYgKGUpIHsKICAqICAgICAgICAgICAgICAgICBwcmludGYoImZpcnN0OiAlbGQgJXNcbiIsIGUtPmtleSwgZS0+dmFsdWUpOwotICogICAgICAgICAgICAgICAgIHdoaWxlICgoZSA9IGhhc2htYXBfZ2V0X25leHQoJm1hcCwgZSkpKQorICogICAgICAgICAgICAgICAgIHdoaWxlICgoZSA9IGhhc2htYXBfZ2V0X25leHRfZW50cnkoJm1hcCwgZSwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBsb25nMnN0cmluZywgZW50KSkpIHsKICAqICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJmb3VuZCBtb3JlOiAlbGQgJXNcbiIsIGUtPmtleSwgZS0+dmFsdWUpOworICogICAgICAgICAgICAgICAgIH0KICAqICAgICAgICAgICAgIH0KICAqICAgICAgICAgfQogICoKICAqICAgICAgICAgaWYgKCFzdHJjbXAoImhhc19leGFjdF9tYXRjaCIsIGFjdGlvbikpIHsKICAqICAgICAgICAgICAgIHN0cnVjdCBsb25nMnN0cmluZyAqZTsKICAqICAgICAgICAgICAgIEZMRVhfQUxMT0NfU1RSKGUsIHZhbHVlLCB2YWx1ZSk7Ci0gKiAgICAgICAgICAgICBoYXNobWFwX2VudHJ5X2luaXQoZSwgbWVtaGFzaCgma2V5LCBzaXplb2YobG9uZykpKTsKKyAqICAgICAgICAgICAgIGhhc2htYXBfZW50cnlfaW5pdCgmZS0+ZW50LCBtZW1oYXNoKCZrZXksIHNpemVvZihsb25nKSkpOwogICogICAgICAgICAgICAgZS0+a2V5ID0ga2V5OwogICoKICAqICAgICAgICAgICAgIGZsYWdzIHw9IENPTVBBUkVfVkFMVUU7Ci0gKiAgICAgICAgICAgICBwcmludGYoIiVzZm91bmRcbiIsIGhhc2htYXBfZ2V0KCZtYXAsIGUsIE5VTEwpID8gIiIgOiAibm90ICIpOworICogICAgICAgICAgICAgcHJpbnRmKCIlc2ZvdW5kXG4iLAorICogICAgICAgICAgICAgICAgICAgIGhhc2htYXBfZ2V0KCZtYXAsICZlLT5lbnQsIE5VTEwpID8gIiIgOiAibm90ICIpOwogICogICAgICAgICAgICAgZnJlZShlKTsKICAqICAgICAgICAgfQogICoKICAqICAgICAgICAgaWYgKCFzdHJjbXAoImhhc19leGFjdF9tYXRjaF9ub19oZWFwX2FsbG9jIiwgYWN0aW9uKSkgewogICogICAgICAgICAgICAgc3RydWN0IGxvbmcyc3RyaW5nIGs7Ci0gKiAgICAgICAgICAgICBoYXNobWFwX2VudHJ5X2luaXQoJmssIG1lbWhhc2goJmtleSwgc2l6ZW9mKGxvbmcpKSk7CisgKiAgICAgICAgICAgICBoYXNobWFwX2VudHJ5X2luaXQoJmsuZW50LCBtZW1oYXNoKCZrZXksIHNpemVvZihsb25nKSkpOwogICogICAgICAgICAgICAgay5rZXkgPSBrZXk7CiAgKgogICogICAgICAgICAgICAgZmxhZ3MgfD0gQ09NUEFSRV9WQUxVRTsKLSAqICAgICAgICAgICAgIHByaW50ZigiJXNmb3VuZFxuIiwgaGFzaG1hcF9nZXQoJm1hcCwgJmssIHZhbHVlKSA/ICIiIDogIm5vdCAiKTsKKyAqICAgICAgICAgICAgIHByaW50ZigiJXNmb3VuZFxuIiwKKyAqICAgICAgICAgICAgICAgICAgICBoYXNobWFwX2dldCgmbWFwLCAmay5lbnQsIHZhbHVlKSA/ICIiIDogIm5vdCAiKTsKICAqICAgICAgICAgfQogICoKICAqICAgICAgICAgaWYgKCFzdHJjbXAoImVuZCIsIGFjdGlvbikpIHsKLSAqICAgICAgICAgICAgIGhhc2htYXBfZnJlZSgmbWFwLCAxKTsKKyAqICAgICAgICAgICAgIGhhc2htYXBfZnJlZV9lbnRyaWVzKCZtYXAsIHN0cnVjdCBsb25nMnN0cmluZywgZW50KTsKICAqICAgICAgICAgICAgIGJyZWFrOwogICogICAgICAgICB9CiAgKiAgICAgfQpAQCAtMTA0LDExICsxMTQsMTEgQEAKICAqIGBtZW1paGFzaF9jb250YCBpcyBhIHZhcmlhbnQgb2YgYG1lbWloYXNoYCB0aGF0IGFsbG93cyBhIGNvbXB1dGF0aW9uIHRvIGJlCiAgKiBjb250aW51ZWQgd2l0aCBhbm90aGVyIGNodW5rIG9mIGRhdGEuCiAgKi8KLWV4dGVybiB1bnNpZ25lZCBpbnQgc3RyaGFzaChjb25zdCBjaGFyICpidWYpOwotZXh0ZXJuIHVuc2lnbmVkIGludCBzdHJpaGFzaChjb25zdCBjaGFyICpidWYpOwotZXh0ZXJuIHVuc2lnbmVkIGludCBtZW1oYXNoKGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbik7Ci1leHRlcm4gdW5zaWduZWQgaW50IG1lbWloYXNoKGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbik7Ci1leHRlcm4gdW5zaWduZWQgaW50IG1lbWloYXNoX2NvbnQodW5zaWduZWQgaW50IGhhc2hfc2VlZCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgbGVuKTsKK3Vuc2lnbmVkIGludCBzdHJoYXNoKGNvbnN0IGNoYXIgKmJ1Zik7Cit1bnNpZ25lZCBpbnQgc3RyaWhhc2goY29uc3QgY2hhciAqYnVmKTsKK3Vuc2lnbmVkIGludCBtZW1oYXNoKGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbik7Cit1bnNpZ25lZCBpbnQgbWVtaWhhc2goY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgbGVuKTsKK3Vuc2lnbmVkIGludCBtZW1paGFzaF9jb250KHVuc2lnbmVkIGludCBoYXNoX3NlZWQsIGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbik7CiAKIC8qCiAgKiBDb252ZXJ0cyBhIGNyeXB0b2dyYXBoaWMgaGFzaCAoZS5nLiBTSEEtMSkgaW50byBhbiBpbnQtc2l6ZWQgaGFzaCBjb2RlCkBAIC0xMTgsMjAgKzEyOCwyMCBAQAogICogdGhlIHJlc3VsdHMgd2lsbCBiZSBkaWZmZXJlbnQgb24gYmlnLWVuZGlhbiBhbmQgbGl0dGxlLWVuZGlhbgogICogcGxhdGZvcm1zLCBzbyB0aGV5IHNob3VsZCBub3QgYmUgc3RvcmVkIG9yIHRyYW5zZmVycmVkIG92ZXIgdGhlIG5ldC4KICAqLwotc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgc2hhMWhhc2goY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IG9pZGhhc2goY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCS8qCi0JICogRXF1aXZhbGVudCB0byAncmV0dXJuICoodW5zaWduZWQgaW50ICopc2hhMTsnLCBidXQgc2FmZSBvbgorCSAqIEVxdWl2YWxlbnQgdG8gJ3JldHVybiAqKHVuc2lnbmVkIGludCAqKW9pZC0+aGFzaDsnLCBidXQgc2FmZSBvbgogCSAqIHBsYXRmb3JtcyB0aGF0IGRvbid0IHN1cHBvcnQgdW5hbGlnbmVkIHJlYWRzLgogCSAqLwogCXVuc2lnbmVkIGludCBoYXNoOwotCW1lbWNweSgmaGFzaCwgc2hhMSwgc2l6ZW9mKGhhc2gpKTsKKwltZW1jcHkoJmhhc2gsIG9pZC0+aGFzaCwgc2l6ZW9mKGhhc2gpKTsKIAlyZXR1cm4gaGFzaDsKIH0KIAogLyoKICAqIHN0cnVjdCBoYXNobWFwX2VudHJ5IGlzIGFuIG9wYXF1ZSBzdHJ1Y3R1cmUgcmVwcmVzZW50aW5nIGFuIGVudHJ5IGluIHRoZQotICogaGFzaCB0YWJsZSwgd2hpY2ggbXVzdCBiZSB1c2VkIGFzIGZpcnN0IG1lbWJlciBvZiB1c2VyIGRhdGEgc3RydWN0dXJlcy4KKyAqIGhhc2ggdGFibGUuCiAgKiBJZGVhbGx5IGl0IHNob3VsZCBiZSBmb2xsb3dlZCBieSBhbiBpbnQtc2l6ZWQgbWVtYmVyIHRvIHByZXZlbnQgdW51c2VkCiAgKiBtZW1vcnkgb24gNjQtYml0IHN5c3RlbXMgZHVlIHRvIGFsaWdubWVudC4KICAqLwpAQCAtMTY2LDcgKzE3Niw4IEBACiAgKiBUaGUgYGhhc2htYXBfY21wX2ZuX2RhdGFgIGVudHJ5IGlzIHRoZSBwb2ludGVyIGdpdmVuIGluIHRoZSBpbml0IGZ1bmN0aW9uLgogICovCiB0eXBlZGVmIGludCAoKmhhc2htYXBfY21wX2ZuKShjb25zdCB2b2lkICpoYXNobWFwX2NtcF9mbl9kYXRhLAotCQkJICAgICAgY29uc3Qgdm9pZCAqZW50cnksIGNvbnN0IHZvaWQgKmVudHJ5X29yX2tleSwKKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeSwKKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeV9vcl9rZXksCiAJCQkgICAgICBjb25zdCB2b2lkICprZXlkYXRhKTsKIAogLyoKQEAgLTIxNiwxOCArMjI3LDI1IEBACiAgKiBwYXJhbWV0ZXIgbWF5IGJlIHVzZWQgdG8gcHJlYWxsb2NhdGUgYSBzdWZmaWNpZW50bHkgbGFyZ2UgdGFibGUgYW5kIHRodXMKICAqIHByZXZlbnQgZXhwZW5zaXZlIHJlc2l6aW5nLiBJZiAwLCB0aGUgdGFibGUgaXMgZHluYW1pY2FsbHkgcmVzaXplZC4KICAqLwotZXh0ZXJuIHZvaWQgaGFzaG1hcF9pbml0KHN0cnVjdCBoYXNobWFwICptYXAsCit2b2lkIGhhc2htYXBfaW5pdChzdHJ1Y3QgaGFzaG1hcCAqbWFwLAogCQkJIGhhc2htYXBfY21wX2ZuIGVxdWFsc19mdW5jdGlvbiwKIAkJCSBjb25zdCB2b2lkICplcXVhbHNfZnVuY3Rpb25fZGF0YSwKIAkJCSBzaXplX3QgaW5pdGlhbF9zaXplKTsKIAorLyogaW50ZXJuYWwgZnVuY3Rpb24gZm9yIGZyZWVpbmcgaGFzaG1hcCAqLwordm9pZCBoYXNobWFwX2ZyZWVfKHN0cnVjdCBoYXNobWFwICptYXAsIHNzaXplX3Qgb2Zmc2V0KTsKKwogLyoKLSAqIEZyZWVzIGEgaGFzaG1hcCBzdHJ1Y3R1cmUgYW5kIGFsbG9jYXRlZCBtZW1vcnkuCi0gKgotICogSWYgYGZyZWVfZW50cmllc2AgaXMgdHJ1ZSwgZWFjaCBoYXNobWFwX2VudHJ5IGluIHRoZSBtYXAgaXMgZnJlZWQgYXMgd2VsbAotICogdXNpbmcgc3RkbGlicyBmcmVlKCkuCisgKiBGcmVlcyBhIGhhc2htYXAgc3RydWN0dXJlIGFuZCBhbGxvY2F0ZWQgbWVtb3J5LCBsZWF2ZXMgZW50cmllcyB1bmRpc3R1cmJlZAogICovCi1leHRlcm4gdm9pZCBoYXNobWFwX2ZyZWUoc3RydWN0IGhhc2htYXAgKm1hcCwgaW50IGZyZWVfZW50cmllcyk7CisjZGVmaW5lIGhhc2htYXBfZnJlZShtYXApIGhhc2htYXBfZnJlZV8obWFwLCAtMSkKKworLyoKKyAqIEZyZWVzIEBtYXAgYW5kIGFsbCBlbnRyaWVzLiAgQHR5cGUgaXMgdGhlIHN0cnVjdCB0eXBlIG9mIHRoZSBlbnRyeQorICogd2hlcmUgQG1lbWJlciBpcyB0aGUgaGFzaG1hcF9lbnRyeSBzdHJ1Y3QgdXNlZCB0byBhc3NvY2lhdGUgd2l0aCBAbWFwCisgKi8KKyNkZWZpbmUgaGFzaG1hcF9mcmVlX2VudHJpZXMobWFwLCB0eXBlLCBtZW1iZXIpIFwKKwloYXNobWFwX2ZyZWVfKG1hcCwgb2Zmc2V0b2YodHlwZSwgbWVtYmVyKSk7CiAKIC8qIGhhc2htYXBfZW50cnkgZnVuY3Rpb25zICovCiAKQEAgLTI0Miw5ICsyNjAsOSBAQAogICogeW91ciBzdHJ1Y3R1cmUgd2FzIGFsbG9jYXRlZCB3aXRoIHhtYWxsb2MoKSwgeW91IGNhbiBqdXN0IGZyZWUoMykgaXQsCiAgKiBhbmQgaWYgaXQgaXMgb24gc3RhY2ssIHlvdSBjYW4ganVzdCBsZXQgaXQgZ28gb3V0IG9mIHNjb3BlKS4KICAqLwotc3RhdGljIGlubGluZSB2b2lkIGhhc2htYXBfZW50cnlfaW5pdCh2b2lkICplbnRyeSwgdW5zaWduZWQgaW50IGhhc2gpCitzdGF0aWMgaW5saW5lIHZvaWQgaGFzaG1hcF9lbnRyeV9pbml0KHN0cnVjdCBoYXNobWFwX2VudHJ5ICplLAorCQkJCQl1bnNpZ25lZCBpbnQgaGFzaCkKIHsKLQlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZSA9IGVudHJ5OwogCWUtPmhhc2ggPSBoYXNoOwogCWUtPm5leHQgPSBOVUxMOwogfQpAQCAtMjg0LDggKzMwMiw5IEBACiAgKiBJZiBhbiBlbnRyeSB3aXRoIG1hdGNoaW5nIGhhc2ggY29kZSBpcyBmb3VuZCwgYGtleWAgYW5kIGBrZXlkYXRhYCBhcmUgcGFzc2VkCiAgKiB0byBgaGFzaG1hcF9jbXBfZm5gIHRvIGRlY2lkZSB3aGV0aGVyIHRoZSBlbnRyeSBtYXRjaGVzIHRoZSBrZXkuCiAgKi8KLWV4dGVybiB2b2lkICpoYXNobWFwX2dldChjb25zdCBzdHJ1Y3QgaGFzaG1hcCAqbWFwLCBjb25zdCB2b2lkICprZXksCi0JCQkgY29uc3Qgdm9pZCAqa2V5ZGF0YSk7CitzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqaGFzaG1hcF9nZXQoY29uc3Qgc3RydWN0IGhhc2htYXAgKm1hcCwKKwkJCQljb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqa2V5LAorCQkJCWNvbnN0IHZvaWQgKmtleWRhdGEpOwogCiAvKgogICogUmV0dXJucyB0aGUgaGFzaG1hcCBlbnRyeSBmb3IgdGhlIHNwZWNpZmllZCBoYXNoIGNvZGUgYW5kIGtleSBkYXRhLApAQCAtMjk5LDkgKzMxOCwxMCBAQAogICogYGVudHJ5X29yX2tleWAgcGFyYW1ldGVyIG9mIGBoYXNobWFwX2NtcF9mbmAgcG9pbnRzIHRvIGEgaGFzaG1hcF9lbnRyeQogICogc3RydWN0dXJlIHRoYXQgc2hvdWxkIG5vdCBiZSB1c2VkIGluIHRoZSBjb21wYXJpc29uLgogICovCi1zdGF0aWMgaW5saW5lIHZvaWQgKmhhc2htYXBfZ2V0X2Zyb21faGFzaChjb25zdCBzdHJ1Y3QgaGFzaG1hcCAqbWFwLAotCQkJCQkgIHVuc2lnbmVkIGludCBoYXNoLAotCQkJCQkgIGNvbnN0IHZvaWQgKmtleWRhdGEpCitzdGF0aWMgaW5saW5lIHN0cnVjdCBoYXNobWFwX2VudHJ5ICpoYXNobWFwX2dldF9mcm9tX2hhc2goCisJCQkJCWNvbnN0IHN0cnVjdCBoYXNobWFwICptYXAsCisJCQkJCXVuc2lnbmVkIGludCBoYXNoLAorCQkJCQljb25zdCB2b2lkICprZXlkYXRhKQogewogCXN0cnVjdCBoYXNobWFwX2VudHJ5IGtleTsKIAloYXNobWFwX2VudHJ5X2luaXQoJmtleSwgaGFzaCk7CkBAIC0zMTYsNyArMzM2LDggQEAKICAqIGBlbnRyeWAgaXMgdGhlIGhhc2htYXBfZW50cnkgdG8gc3RhcnQgdGhlIHNlYXJjaCBmcm9tLCBvYnRhaW5lZCB2aWEgYSBwcmV2aW91cwogICogY2FsbCB0byBgaGFzaG1hcF9nZXRgIG9yIGBoYXNobWFwX2dldF9uZXh0YC4KICAqLwotZXh0ZXJuIHZvaWQgKmhhc2htYXBfZ2V0X25leHQoY29uc3Qgc3RydWN0IGhhc2htYXAgKm1hcCwgY29uc3Qgdm9pZCAqZW50cnkpOworc3RydWN0IGhhc2htYXBfZW50cnkgKmhhc2htYXBfZ2V0X25leHQoY29uc3Qgc3RydWN0IGhhc2htYXAgKm1hcCwKKwkJCWNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeSk7CiAKIC8qCiAgKiBBZGRzIGEgaGFzaG1hcCBlbnRyeS4gVGhpcyBhbGxvd3MgdG8gYWRkIGR1cGxpY2F0ZSBlbnRyaWVzIChpLmUuCkBAIC0zMjUsNyArMzQ2LDcgQEAKICAqIGBtYXBgIGlzIHRoZSBoYXNobWFwIHN0cnVjdHVyZS4KICAqIGBlbnRyeWAgaXMgdGhlIGVudHJ5IHRvIGFkZC4KICAqLwotZXh0ZXJuIHZvaWQgaGFzaG1hcF9hZGQoc3RydWN0IGhhc2htYXAgKm1hcCwgdm9pZCAqZW50cnkpOwordm9pZCBoYXNobWFwX2FkZChzdHJ1Y3QgaGFzaG1hcCAqbWFwLCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZW50cnkpOwogCiAvKgogICogQWRkcyBvciByZXBsYWNlcyBhIGhhc2htYXAgZW50cnkuIElmIHRoZSBoYXNobWFwIGNvbnRhaW5zIGR1cGxpY2F0ZQpAQCAtMzM1LDcgKzM1NiwyMCBAQAogICogYGVudHJ5YCBpcyB0aGUgZW50cnkgdG8gYWRkIG9yIHJlcGxhY2UuCiAgKiBSZXR1cm5zIHRoZSByZXBsYWNlZCBlbnRyeSwgb3IgTlVMTCBpZiBub3QgZm91bmQgKGkuZS4gdGhlIGVudHJ5IHdhcyBhZGRlZCkuCiAgKi8KLWV4dGVybiB2b2lkICpoYXNobWFwX3B1dChzdHJ1Y3QgaGFzaG1hcCAqbWFwLCB2b2lkICplbnRyeSk7CitzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqaGFzaG1hcF9wdXQoc3RydWN0IGhhc2htYXAgKm1hcCwKKwkJCQlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZW50cnkpOworCisvKgorICogQWRkcyBvciByZXBsYWNlcyBhIGhhc2htYXAgZW50cnkgY29udGFpbmVkIHdpdGhpbiBAa2V5dmFyLAorICogd2hlcmUgQGtleXZhciBpcyBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgY29udGFpbmluZyBhCisgKiAic3RydWN0IGhhc2htYXBfZW50cnkiIEBtZW1iZXIuCisgKgorICogUmV0dXJucyB0aGUgcmVwbGFjZWQgcG9pbnRlciB3aGljaCBpcyBvZiB0aGUgc2FtZSB0eXBlIGFzIEBrZXl2YXIsCisgKiBvciBOVUxMIGlmIG5vdCBmb3VuZC4KKyAqLworI2RlZmluZSBoYXNobWFwX3B1dF9lbnRyeShtYXAsIGtleXZhciwgbWVtYmVyKSBcCisJY29udGFpbmVyX29mX29yX251bGxfb2Zmc2V0KGhhc2htYXBfcHV0KG1hcCwgJihrZXl2YXIpLT5tZW1iZXIpLCBcCisJCQkJT0ZGU0VUT0ZfVkFSKGtleXZhciwgbWVtYmVyKSkKIAogLyoKICAqIFJlbW92ZXMgYSBoYXNobWFwIGVudHJ5IG1hdGNoaW5nIHRoZSBzcGVjaWZpZWQga2V5LiBJZiB0aGUgaGFzaG1hcCBjb250YWlucwpAQCAtMzQ0LDggKzM3OCwyNCBAQAogICoKICAqIEFyZ3VtZW50IGV4cGxhbmF0aW9uIGlzIHRoZSBzYW1lIGFzIGluIGBoYXNobWFwX2dldGAuCiAgKi8KLWV4dGVybiB2b2lkICpoYXNobWFwX3JlbW92ZShzdHJ1Y3QgaGFzaG1hcCAqbWFwLCBjb25zdCB2b2lkICprZXksCi0JCWNvbnN0IHZvaWQgKmtleWRhdGEpOworc3RydWN0IGhhc2htYXBfZW50cnkgKmhhc2htYXBfcmVtb3ZlKHN0cnVjdCBoYXNobWFwICptYXAsCisJCQkJCWNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICprZXksCisJCQkJCWNvbnN0IHZvaWQgKmtleWRhdGEpOworCisvKgorICogUmVtb3ZlcyBhIGhhc2htYXAgZW50cnkgY29udGFpbmVkIHdpdGhpbiBAa2V5dmFyLAorICogd2hlcmUgQGtleXZhciBpcyBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgY29udGFpbmluZyBhCisgKiAic3RydWN0IGhhc2htYXBfZW50cnkiIEBtZW1iZXIuCisgKgorICogU2VlIGBoYXNobWFwX2dldGAgZm9yIGFuIGV4cGxhbmF0aW9uIG9mIEBrZXlkYXRhCisgKgorICogUmV0dXJucyB0aGUgcmVwbGFjZWQgcG9pbnRlciB3aGljaCBpcyBvZiB0aGUgc2FtZSB0eXBlIGFzIEBrZXl2YXIsCisgKiBvciBOVUxMIGlmIG5vdCBmb3VuZC4KKyAqLworI2RlZmluZSBoYXNobWFwX3JlbW92ZV9lbnRyeShtYXAsIGtleXZhciwgbWVtYmVyLCBrZXlkYXRhKSBcCisJY29udGFpbmVyX29mX29yX251bGxfb2Zmc2V0KCBcCisJCQloYXNobWFwX3JlbW92ZShtYXAsICYoa2V5dmFyKS0+bWVtYmVyLCBrZXlkYXRhKSwgXAorCQkJT0ZGU0VUT0ZfVkFSKGtleXZhciwgbWVtYmVyKSkKIAogLyoKICAqIFJldHVybnMgdGhlIGBidWNrZXRgIGFuIGVudHJ5IGlzIHN0b3JlZCBpbi4KQEAgLTM2NSwxMyArNDE1LDEzIEBACiB9OwogCiAvKiBJbml0aWFsaXplcyBhIGBoYXNobWFwX2l0ZXJgIHN0cnVjdHVyZS4gKi8KLWV4dGVybiB2b2lkIGhhc2htYXBfaXRlcl9pbml0KHN0cnVjdCBoYXNobWFwICptYXAsIHN0cnVjdCBoYXNobWFwX2l0ZXIgKml0ZXIpOwordm9pZCBoYXNobWFwX2l0ZXJfaW5pdChzdHJ1Y3QgaGFzaG1hcCAqbWFwLCBzdHJ1Y3QgaGFzaG1hcF9pdGVyICppdGVyKTsKIAogLyogUmV0dXJucyB0aGUgbmV4dCBoYXNobWFwX2VudHJ5LCBvciBOVUxMIGlmIHRoZXJlIGFyZSBubyBtb3JlIGVudHJpZXMuICovCi1leHRlcm4gdm9pZCAqaGFzaG1hcF9pdGVyX25leHQoc3RydWN0IGhhc2htYXBfaXRlciAqaXRlcik7CitzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqaGFzaG1hcF9pdGVyX25leHQoc3RydWN0IGhhc2htYXBfaXRlciAqaXRlcik7CiAKIC8qIEluaXRpYWxpemVzIHRoZSBpdGVyYXRvciBhbmQgcmV0dXJucyB0aGUgZmlyc3QgZW50cnksIGlmIGFueS4gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCAqaGFzaG1hcF9pdGVyX2ZpcnN0KHN0cnVjdCBoYXNobWFwICptYXAsCitzdGF0aWMgaW5saW5lIHN0cnVjdCBoYXNobWFwX2VudHJ5ICpoYXNobWFwX2l0ZXJfZmlyc3Qoc3RydWN0IGhhc2htYXAgKm1hcCwKIAkJc3RydWN0IGhhc2htYXBfaXRlciAqaXRlcikKIHsKIAloYXNobWFwX2l0ZXJfaW5pdChtYXAsIGl0ZXIpOwpAQCAtMzc5LDYgKzQyOSw2NCBAQAogfQogCiAvKgorICogcmV0dXJucyB0aGUgZmlyc3QgZW50cnkgaW4gQG1hcCB1c2luZyBAaXRlciwgd2hlcmUgdGhlIGVudHJ5IGlzIG9mCisgKiBAdHlwZSAoZS5nLiAic3RydWN0IGZvbyIpIGFuZCBAbWVtYmVyIGlzIHRoZSBuYW1lIG9mIHRoZQorICogInN0cnVjdCBoYXNobWFwX2VudHJ5IiBpbiBAdHlwZQorICovCisjZGVmaW5lIGhhc2htYXBfaXRlcl9maXJzdF9lbnRyeShtYXAsIGl0ZXIsIHR5cGUsIG1lbWJlcikgXAorCWNvbnRhaW5lcl9vZl9vcl9udWxsKGhhc2htYXBfaXRlcl9maXJzdChtYXAsIGl0ZXIpLCB0eXBlLCBtZW1iZXIpCisKKy8qIGludGVybmFsIG1hY3JvIGZvciBoYXNobWFwX2Zvcl9lYWNoX2VudHJ5ICovCisjZGVmaW5lIGhhc2htYXBfaXRlcl9uZXh0X2VudHJ5X29mZnNldChpdGVyLCBvZmZzZXQpIFwKKwljb250YWluZXJfb2Zfb3JfbnVsbF9vZmZzZXQoaGFzaG1hcF9pdGVyX25leHQoaXRlciksIG9mZnNldCkKKworLyogaW50ZXJuYWwgbWFjcm8gZm9yIGhhc2htYXBfZm9yX2VhY2hfZW50cnkgKi8KKyNkZWZpbmUgaGFzaG1hcF9pdGVyX2ZpcnN0X2VudHJ5X29mZnNldChtYXAsIGl0ZXIsIG9mZnNldCkgXAorCWNvbnRhaW5lcl9vZl9vcl9udWxsX29mZnNldChoYXNobWFwX2l0ZXJfZmlyc3QobWFwLCBpdGVyKSwgb2Zmc2V0KQorCisvKgorICogaXRlcmF0ZSB0aHJvdWdoIEBtYXAgdXNpbmcgQGl0ZXIsIEB2YXIgaXMgYSBwb2ludGVyIHRvIGEgdHlwZQorICogY29udGFpbmluZyBhIEBtZW1iZXIgd2hpY2ggaXMgYSAic3RydWN0IGhhc2htYXBfZW50cnkiCisgKi8KKyNkZWZpbmUgaGFzaG1hcF9mb3JfZWFjaF9lbnRyeShtYXAsIGl0ZXIsIHZhciwgbWVtYmVyKSBcCisJZm9yICh2YXIgPSBoYXNobWFwX2l0ZXJfZmlyc3RfZW50cnlfb2Zmc2V0KG1hcCwgaXRlciwgXAorCQkJCQkJT0ZGU0VUT0ZfVkFSKHZhciwgbWVtYmVyKSk7IFwKKwkJdmFyOyBcCisJCXZhciA9IGhhc2htYXBfaXRlcl9uZXh0X2VudHJ5X29mZnNldChpdGVyLCBcCisJCQkJCQlPRkZTRVRPRl9WQVIodmFyLCBtZW1iZXIpKSkKKworLyoKKyAqIHJldHVybnMgYSBwb2ludGVyIG9mIHR5cGUgbWF0Y2hpbmcgQGtleXZhciwgb3IgTlVMTCBpZiBub3RoaW5nIGZvdW5kLgorICogQGtleXZhciBpcyBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgY29udGFpbmluZyBhCisgKiAic3RydWN0IGhhc2htYXBfZW50cnkiIEBtZW1iZXIuCisgKi8KKyNkZWZpbmUgaGFzaG1hcF9nZXRfZW50cnkobWFwLCBrZXl2YXIsIG1lbWJlciwga2V5ZGF0YSkgXAorCWNvbnRhaW5lcl9vZl9vcl9udWxsX29mZnNldCggXAorCQkJCWhhc2htYXBfZ2V0KG1hcCwgJihrZXl2YXIpLT5tZW1iZXIsIGtleWRhdGEpLCBcCisJCQkJT0ZGU0VUT0ZfVkFSKGtleXZhciwgbWVtYmVyKSkKKworI2RlZmluZSBoYXNobWFwX2dldF9lbnRyeV9mcm9tX2hhc2gobWFwLCBoYXNoLCBrZXlkYXRhLCB0eXBlLCBtZW1iZXIpIFwKKwljb250YWluZXJfb2Zfb3JfbnVsbChoYXNobWFwX2dldF9mcm9tX2hhc2gobWFwLCBoYXNoLCBrZXlkYXRhKSwgXAorCQkJCXR5cGUsIG1lbWJlcikKKy8qCisgKiByZXR1cm5zIHRoZSBuZXh0IGVxdWFsIHBvaW50ZXIgdG8gQHZhciwgb3IgTlVMTCBpZiBub3QgZm91bmQuCisgKiBAdmFyIGlzIGEgcG9pbnRlciBvZiBhbnkgdHlwZSBjb250YWluaW5nICJzdHJ1Y3QgaGFzaG1hcF9lbnRyeSIKKyAqIEBtZW1iZXIgaXMgdGhlIG5hbWUgb2YgdGhlICJzdHJ1Y3QgaGFzaG1hcF9lbnRyeSIgZmllbGQKKyAqLworI2RlZmluZSBoYXNobWFwX2dldF9uZXh0X2VudHJ5KG1hcCwgdmFyLCBtZW1iZXIpIFwKKwljb250YWluZXJfb2Zfb3JfbnVsbF9vZmZzZXQoaGFzaG1hcF9nZXRfbmV4dChtYXAsICYodmFyKS0+bWVtYmVyKSwgXAorCQkJCU9GRlNFVE9GX1ZBUih2YXIsIG1lbWJlcikpCisKKy8qCisgKiBpdGVyYXRlIEBtYXAgc3RhcnRpbmcgZnJvbSBAdmFyLCB3aGVyZSBAdmFyIGlzIGEgcG9pbnRlciBvZiBAdHlwZQorICogYW5kIEBtZW1iZXIgaXMgdGhlIG5hbWUgb2YgdGhlICJzdHJ1Y3QgaGFzaG1hcF9lbnRyeSIgZmllbGQgaW4gQHR5cGUKKyAqLworI2RlZmluZSBoYXNobWFwX2Zvcl9lYWNoX2VudHJ5X2Zyb20obWFwLCB2YXIsIG1lbWJlcikgXAorCWZvciAoOyBcCisJCXZhcjsgXAorCQl2YXIgPSBoYXNobWFwX2dldF9uZXh0X2VudHJ5KG1hcCwgdmFyLCBtZW1iZXIpKQorCisvKgogICogRGlzYWJsZSBpdGVtIGNvdW50aW5nIGFuZCBhdXRvbWF0aWMgcmVoYXNoaW5nIHdoZW4gYWRkaW5nL3JlbW92aW5nIGl0ZW1zLgogICoKICAqIE5vcm1hbGx5LCB0aGUgaGFzaG1hcCBrZWVwcyB0cmFjayBvZiB0aGUgbnVtYmVyIG9mIGl0ZW1zIGluIHRoZSBtYXAKQEAgLTM5NCw3ICs1MDIsNyBAQAogfQogCiAvKgotICogUmUtZW5hYmxlIGl0ZW0gY291dGluZyB3aGVuIGFkZGluZy9yZW1vdmluZyBpdGVtcy4KKyAqIFJlLWVuYWJsZSBpdGVtIGNvdW50aW5nIHdoZW4gYWRkaW5nL3JlbW92aW5nIGl0ZW1zLgogICogSWYgY291bnRpbmcgaXMgY3VycmVudGx5IGRpc2FibGVkLCBpdCB3aWxsIGZvcmNlIGNvdW50IHRoZW0uCiAgKiBJdCBXSUxMIE5PVCBhdXRvbWF0aWNhbGx5IHJlaGFzaCB0aGVtLgogICovCkBAIC00MjksNyArNTM3LDcgQEAKICAqCiAgKiBVc2VzIGEgaGFzaG1hcCB0byBzdG9yZSB0aGUgcG9vbCBvZiBpbnRlcm5lZCBzdHJpbmdzLgogICovCi1leHRlcm4gY29uc3Qgdm9pZCAqbWVtaW50ZXJuKGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4pOworY29uc3Qgdm9pZCAqbWVtaW50ZXJuKGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4pOwogc3RhdGljIGlubGluZSBjb25zdCBjaGFyICpzdHJpbnRlcm4oY29uc3QgY2hhciAqc3RyaW5nKQogewogCXJldHVybiBtZW1pbnRlcm4oc3RyaW5nLCBzdHJsZW4oc3RyaW5nKSk7CmRpZmYgLS1naXQgYS9oZWxwLmMgYi9oZWxwLmMKaW5kZXggZmYwNWZkMi4uY2Y2NzYyNCAxMDA2NDQKLS0tIGEvaGVscC5jCisrKyBiL2hlbHAuYwpAQCAtMzQsNyArMzQsNyBAQAogCXsgQ0FUX2ZvcmVpZ25zY21pbnRlcmZhY2UsIE5fKCJJbnRlcmFjdGluZyB3aXRoIE90aGVycyIpIH0sCiAJeyBDQVRfcGx1bWJpbmdtYW5pcHVsYXRvcnMsIE5fKCJMb3ctbGV2ZWwgQ29tbWFuZHMgLyBNYW5pcHVsYXRvcnMiKSB9LAogCXsgQ0FUX3BsdW1iaW5naW50ZXJyb2dhdG9ycywgTl8oIkxvdy1sZXZlbCBDb21tYW5kcyAvIEludGVycm9nYXRvcnMiKSB9LAotCXsgQ0FUX3N5bmNoaW5ncmVwb3NpdG9yaWVzLCBOXygiTG93LWxldmVsIENvbW1hbmRzIC8gU3luY2hpbmcgUmVwb3NpdG9yaWVzIikgfSwKKwl7IENBVF9zeW5jaGluZ3JlcG9zaXRvcmllcywgTl8oIkxvdy1sZXZlbCBDb21tYW5kcyAvIFN5bmNpbmcgUmVwb3NpdG9yaWVzIikgfSwKIAl7IENBVF9wdXJlaGVscGVycywgTl8oIkxvdy1sZXZlbCBDb21tYW5kcyAvIEludGVybmFsIEhlbHBlcnMiKSB9LAogCXsgMCwgTlVMTCB9CiB9OwpAQCAtODUsNyArODUsOCBAQAogCQlpZiAoY21kc1tpXS5jYXRlZ29yeSAmIG1hc2spIHsKIAkJCXNpemVfdCBsZW4gPSBzdHJsZW4oY21kc1tpXS5uYW1lKTsKIAkJCXByaW50ZigiICAgJXMgICAiLCBjbWRzW2ldLm5hbWUpOwotCQkJbXB1dF9jaGFyKCcgJywgbG9uZ2VzdCA+IGxlbiA/IGxvbmdlc3QgLSBsZW4gOiAxKTsKKwkJCWlmIChsb25nZXN0ID4gbGVuKQorCQkJCW1wdXRfY2hhcignICcsIGxvbmdlc3QgLSBsZW4pOwogCQkJcHV0cyhfKGNtZHNbaV0uaGVscCkpOwogCQl9CiAJfQpAQCAtMzc0LDEzICszNzUsNiBAQAogewogCWNvbnN0IGNoYXIgKmNtZF9saXN0OwogCi0JLyoKLQkgKiBUaGVyZSdzIG5vIGFjdHVhbCByZXBvc2l0b3J5IHNldHVwIGF0IHRoaXMgcG9pbnQgKGFuZCBldmVuCi0JICogaWYgdGhlcmUgaXMsIHdlIGRvbid0IHJlYWxseSBjYXJlOyBvbmx5IGdsb2JhbCBjb25maWcKLQkgKiBtYXR0ZXJzKS4gSWYgd2UgYWNjaWRlbnRhbGx5IHNldCB1cCBhIHJlcG9zaXRvcnksIGl0J3Mgb2sKLQkgKiB0b28gc2luY2UgdGhlIGNhbGxlciAoZ2l0IC0tbGlzdC1jbWRzPSkgc2hvdWxkIGV4aXQgc2hvcnRseQotCSAqIGFueXdheS4KLQkgKi8KIAlpZiAoZ2l0X2NvbmZpZ19nZXRfc3RyaW5nX2NvbnN0KCJjb21wbGV0aW9uLmNvbW1hbmRzIiwgJmNtZF9saXN0KSkKIAkJcmV0dXJuOwogCkBAIC0zOTIsOCArMzg2LDggQEAKIAkJY29uc3QgY2hhciAqcCA9IHN0cmNocm51bChjbWRfbGlzdCwgJyAnKTsKIAogCQlzdHJidWZfYWRkKCZzYiwgY21kX2xpc3QsIHAgLSBjbWRfbGlzdCk7Ci0JCWlmICgqY21kX2xpc3QgPT0gJy0nKQotCQkJc3RyaW5nX2xpc3RfcmVtb3ZlKGxpc3QsIGNtZF9saXN0ICsgMSwgMCk7CisJCWlmIChzYi5idWZbMF0gPT0gJy0nKQorCQkJc3RyaW5nX2xpc3RfcmVtb3ZlKGxpc3QsIHNiLmJ1ZiArIDEsIDApOwogCQllbHNlCiAJCQlzdHJpbmdfbGlzdF9pbnNlcnQobGlzdCwgc2IuYnVmKTsKIAkJc3RyYnVmX3JlbGVhc2UoJnNiKTsKQEAgLTc2MCwxOSArNzU0LDE5IEBACiB7CiAJc3RydWN0IHNpbWlsYXJfcmVmX2NiICpjYiA9IChzdHJ1Y3Qgc2ltaWxhcl9yZWZfY2IgKikoY2JfZGF0YSk7CiAJY2hhciAqYnJhbmNoID0gc3RycmNocihyZWZuYW1lLCAnLycpICsgMTsKLQljb25zdCBjaGFyICpyZW1vdGU7CiAKIAkvKiBBIHJlbW90ZSBicmFuY2ggb2YgdGhlIHNhbWUgbmFtZSBpcyBkZWVtZWQgc2ltaWxhciAqLwotCWlmIChza2lwX3ByZWZpeChyZWZuYW1lLCAicmVmcy9yZW1vdGVzLyIsICZyZW1vdGUpICYmCisJaWYgKHN0YXJ0c193aXRoKHJlZm5hbWUsICJyZWZzL3JlbW90ZXMvIikgJiYKIAkgICAgIXN0cmNtcChicmFuY2gsIGNiLT5iYXNlX3JlZikpCi0JCXN0cmluZ19saXN0X2FwcGVuZChjYi0+c2ltaWxhcl9yZWZzLCByZW1vdGUpOworCQlzdHJpbmdfbGlzdF9hcHBlbmRfbm9kdXAoY2ItPnNpbWlsYXJfcmVmcywKKwkJCQkJIHNob3J0ZW5fdW5hbWJpZ3VvdXNfcmVmKHJlZm5hbWUsIDEpKTsKIAlyZXR1cm4gMDsKIH0KIAogc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBndWVzc19yZWZzKGNvbnN0IGNoYXIgKnJlZikKIHsKIAlzdHJ1Y3Qgc2ltaWxhcl9yZWZfY2IgcmVmX2NiOwotCXN0cnVjdCBzdHJpbmdfbGlzdCBzaW1pbGFyX3JlZnMgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOworCXN0cnVjdCBzdHJpbmdfbGlzdCBzaW1pbGFyX3JlZnMgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKIAogCXJlZl9jYi5iYXNlX3JlZiA9IHJlZjsKIAlyZWZfY2Iuc2ltaWxhcl9yZWZzID0gJnNpbWlsYXJfcmVmczsKQEAgLTc4MCw3ICs3NzQsOCBAQAogCXJldHVybiBzaW1pbGFyX3JlZnM7CiB9CiAKLXZvaWQgaGVscF91bmtub3duX3JlZihjb25zdCBjaGFyICpyZWYsIGNvbnN0IGNoYXIgKmNtZCwgY29uc3QgY2hhciAqZXJyb3IpCitOT1JFVFVSTiB2b2lkIGhlbHBfdW5rbm93bl9yZWYoY29uc3QgY2hhciAqcmVmLCBjb25zdCBjaGFyICpjbWQsCisJCQkgICAgICAgY29uc3QgY2hhciAqZXJyb3IpCiB7CiAJaW50IGk7CiAJc3RydWN0IHN0cmluZ19saXN0IHN1Z2dlc3RlZF9yZWZzID0gZ3Vlc3NfcmVmcyhyZWYpOwpkaWZmIC0tZ2l0IGEvaGVscC5oIGIvaGVscC5oCmluZGV4IGExNDFlMjAuLjdhNDU1YmUgMTAwNjQ0Ci0tLSBhL2hlbHAuaAorKysgYi9oZWxwLmgKQEAgLTE5LDMxICsxOSwzMSBAQAogCQlwdXRjaGFyKGMpOwogfQogCi1leHRlcm4gdm9pZCBsaXN0X2NvbW1vbl9jbWRzX2hlbHAodm9pZCk7Ci1leHRlcm4gdm9pZCBsaXN0X2FsbF9jbWRzX2hlbHAodm9pZCk7Ci1leHRlcm4gdm9pZCBsaXN0X2NvbW1vbl9ndWlkZXNfaGVscCh2b2lkKTsKLWV4dGVybiB2b2lkIGxpc3RfY29uZmlnX2hlbHAoaW50IGZvcl9odW1hbik7Cit2b2lkIGxpc3RfY29tbW9uX2NtZHNfaGVscCh2b2lkKTsKK3ZvaWQgbGlzdF9hbGxfY21kc19oZWxwKHZvaWQpOwordm9pZCBsaXN0X2NvbW1vbl9ndWlkZXNfaGVscCh2b2lkKTsKK3ZvaWQgbGlzdF9jb25maWdfaGVscChpbnQgZm9yX2h1bWFuKTsKIAotZXh0ZXJuIHZvaWQgbGlzdF9hbGxfbWFpbl9jbWRzKHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCk7Ci1leHRlcm4gdm9pZCBsaXN0X2FsbF9vdGhlcl9jbWRzKHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCk7Ci1leHRlcm4gdm9pZCBsaXN0X2NtZHNfYnlfY2F0ZWdvcnkoc3RydWN0IHN0cmluZ19saXN0ICpsaXN0LAotCQkJCSAgY29uc3QgY2hhciAqY2F0ZWdvcnkpOwotZXh0ZXJuIHZvaWQgbGlzdF9jbWRzX2J5X2NvbmZpZyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QpOwotZXh0ZXJuIGNvbnN0IGNoYXIgKmhlbHBfdW5rbm93bl9jbWQoY29uc3QgY2hhciAqY21kKTsKLWV4dGVybiB2b2lkIGxvYWRfY29tbWFuZF9saXN0KGNvbnN0IGNoYXIgKnByZWZpeCwKLQkJCSAgICAgIHN0cnVjdCBjbWRuYW1lcyAqbWFpbl9jbWRzLAotCQkJICAgICAgc3RydWN0IGNtZG5hbWVzICpvdGhlcl9jbWRzKTsKLWV4dGVybiB2b2lkIGFkZF9jbWRuYW1lKHN0cnVjdCBjbWRuYW1lcyAqY21kcywgY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbik7Cit2b2lkIGxpc3RfYWxsX21haW5fY21kcyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QpOwordm9pZCBsaXN0X2FsbF9vdGhlcl9jbWRzKHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCk7Cit2b2lkIGxpc3RfY21kc19ieV9jYXRlZ29yeShzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QsCisJCQkgICBjb25zdCBjaGFyICpjYXRlZ29yeSk7Cit2b2lkIGxpc3RfY21kc19ieV9jb25maWcoc3RydWN0IHN0cmluZ19saXN0ICpsaXN0KTsKK2NvbnN0IGNoYXIgKmhlbHBfdW5rbm93bl9jbWQoY29uc3QgY2hhciAqY21kKTsKK3ZvaWQgbG9hZF9jb21tYW5kX2xpc3QoY29uc3QgY2hhciAqcHJlZml4LAorCQkgICAgICAgc3RydWN0IGNtZG5hbWVzICptYWluX2NtZHMsCisJCSAgICAgICBzdHJ1Y3QgY21kbmFtZXMgKm90aGVyX2NtZHMpOwordm9pZCBhZGRfY21kbmFtZShzdHJ1Y3QgY21kbmFtZXMgKmNtZHMsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4pOwogLyogSGVyZSB3ZSByZXF1aXJlIHRoYXQgZXhjbHVkZXMgaXMgYSBzb3J0ZWQgbGlzdC4gKi8KLWV4dGVybiB2b2lkIGV4Y2x1ZGVfY21kcyhzdHJ1Y3QgY21kbmFtZXMgKmNtZHMsIHN0cnVjdCBjbWRuYW1lcyAqZXhjbHVkZXMpOwotZXh0ZXJuIGludCBpc19pbl9jbWRsaXN0KHN0cnVjdCBjbWRuYW1lcyAqY21kcywgY29uc3QgY2hhciAqbmFtZSk7Ci1leHRlcm4gdm9pZCBsaXN0X2NvbW1hbmRzKHVuc2lnbmVkIGludCBjb2xvcHRzLCBzdHJ1Y3QgY21kbmFtZXMgKm1haW5fY21kcywgc3RydWN0IGNtZG5hbWVzICpvdGhlcl9jbWRzKTsKK3ZvaWQgZXhjbHVkZV9jbWRzKHN0cnVjdCBjbWRuYW1lcyAqY21kcywgc3RydWN0IGNtZG5hbWVzICpleGNsdWRlcyk7CitpbnQgaXNfaW5fY21kbGlzdChzdHJ1Y3QgY21kbmFtZXMgKmNtZHMsIGNvbnN0IGNoYXIgKm5hbWUpOwordm9pZCBsaXN0X2NvbW1hbmRzKHVuc2lnbmVkIGludCBjb2xvcHRzLCBzdHJ1Y3QgY21kbmFtZXMgKm1haW5fY21kcywgc3RydWN0IGNtZG5hbWVzICpvdGhlcl9jbWRzKTsKIAogLyoKICAqIGNhbGwgdGhpcyB0byBkaWUoKSwgd2hlbiBpdCBpcyBzdXNwZWN0ZWQgdGhhdCB0aGUgdXNlciBtaXN0eXBlZCBhCiAgKiByZWYgdG8gdGhlIGNvbW1hbmQsIHRvIGdpdmUgc3VnZ2VzdGVkICJjb3JyZWN0IiByZWZzLgogICovCi1leHRlcm4gdm9pZCBoZWxwX3Vua25vd25fcmVmKGNvbnN0IGNoYXIgKnJlZiwgY29uc3QgY2hhciAqY21kLCBjb25zdCBjaGFyICplcnJvcik7CitOT1JFVFVSTiB2b2lkIGhlbHBfdW5rbm93bl9yZWYoY29uc3QgY2hhciAqcmVmLCBjb25zdCBjaGFyICpjbWQsIGNvbnN0IGNoYXIgKmVycm9yKTsKIAogc3RhdGljIGlubGluZSB2b2lkIGxpc3RfY29uZmlnX2l0ZW0oc3RydWN0IHN0cmluZ19saXN0ICpsaXN0LAogCQkJCSAgICBjb25zdCBjaGFyICpwcmVmaXgsCmRpZmYgLS1naXQgYS9oZXguYyBiL2hleC5jCmluZGV4IDEwYWYxYTIuLmZkN2YwMGMgMTAwNjQ0Ci0tLSBhL2hleC5jCisrKyBiL2hleC5jCkBAIC03MywxNCArNzMsMTUgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1jaGFyICpzaGExX3RvX2hleF9yKGNoYXIgKmJ1ZmZlciwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKK2NoYXIgKmhhc2hfdG9faGV4X2FsZ29wX3IoY2hhciAqYnVmZmVyLCBjb25zdCB1bnNpZ25lZCBjaGFyICpoYXNoLAorCQkJICBjb25zdCBzdHJ1Y3QgZ2l0X2hhc2hfYWxnbyAqYWxnb3ApCiB7CiAJc3RhdGljIGNvbnN0IGNoYXIgaGV4W10gPSAiMDEyMzQ1Njc4OWFiY2RlZiI7CiAJY2hhciAqYnVmID0gYnVmZmVyOwogCWludCBpOwogCi0JZm9yIChpID0gMDsgaSA8IHRoZV9oYXNoX2FsZ28tPnJhd3N6OyBpKyspIHsKLQkJdW5zaWduZWQgaW50IHZhbCA9ICpzaGExKys7CisJZm9yIChpID0gMDsgaSA8IGFsZ29wLT5yYXdzejsgaSsrKSB7CisJCXVuc2lnbmVkIGludCB2YWwgPSAqaGFzaCsrOwogCQkqYnVmKysgPSBoZXhbdmFsID4+IDRdOwogCQkqYnVmKysgPSBoZXhbdmFsICYgMHhmXTsKIAl9CkBAIC05MSwxOCArOTIsMjMgQEAKIAogY2hhciAqb2lkX3RvX2hleF9yKGNoYXIgKmJ1ZmZlciwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewotCXJldHVybiBzaGExX3RvX2hleF9yKGJ1ZmZlciwgb2lkLT5oYXNoKTsKKwlyZXR1cm4gaGFzaF90b19oZXhfYWxnb3BfcihidWZmZXIsIG9pZC0+aGFzaCwgdGhlX2hhc2hfYWxnbyk7CiB9CiAKLWNoYXIgKnNoYTFfdG9faGV4KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCitjaGFyICpoYXNoX3RvX2hleF9hbGdvcChjb25zdCB1bnNpZ25lZCBjaGFyICpoYXNoLCBjb25zdCBzdHJ1Y3QgZ2l0X2hhc2hfYWxnbyAqYWxnb3ApCiB7CiAJc3RhdGljIGludCBidWZubzsKIAlzdGF0aWMgY2hhciBoZXhidWZmZXJbNF1bR0lUX01BWF9IRVhTWiArIDFdOwogCWJ1Zm5vID0gKGJ1Zm5vICsgMSkgJSBBUlJBWV9TSVpFKGhleGJ1ZmZlcik7Ci0JcmV0dXJuIHNoYTFfdG9faGV4X3IoaGV4YnVmZmVyW2J1Zm5vXSwgc2hhMSk7CisJcmV0dXJuIGhhc2hfdG9faGV4X2FsZ29wX3IoaGV4YnVmZmVyW2J1Zm5vXSwgaGFzaCwgYWxnb3ApOworfQorCitjaGFyICpoYXNoX3RvX2hleChjb25zdCB1bnNpZ25lZCBjaGFyICpoYXNoKQoreworCXJldHVybiBoYXNoX3RvX2hleF9hbGdvcChoYXNoLCB0aGVfaGFzaF9hbGdvKTsKIH0KIAogY2hhciAqb2lkX3RvX2hleChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0JcmV0dXJuIHNoYTFfdG9faGV4KG9pZC0+aGFzaCk7CisJcmV0dXJuIGhhc2hfdG9faGV4X2FsZ29wKG9pZC0+aGFzaCwgdGhlX2hhc2hfYWxnbyk7CiB9CmRpZmYgLS1naXQgYS9odHRwLWJhY2tlbmQuYyBiL2h0dHAtYmFja2VuZC5jCmluZGV4IDllODk0ZjEuLmVjMzE0NGIgMTAwNjQ0Ci0tLSBhL2h0dHAtYmFja2VuZC5jCisrKyBiL2h0dHAtYmFja2VuZC5jCkBAIC00ODYsNiArNDg2LDggQEAKIAlpZiAoYnVmZmVyX2lucHV0IHx8IGd6aXBwZWRfcmVxdWVzdCB8fCByZXFfbGVuID49IDApCiAJCWNsZC5pbiA9IC0xOwogCWNsZC5naXRfY21kID0gMTsKKwljbGQuY2xlYW5fb25fZXhpdCA9IDE7CisJY2xkLndhaXRfYWZ0ZXJfY2xlYW4gPSAxOwogCWlmIChzdGFydF9jb21tYW5kKCZjbGQpKQogCQlleGl0KDEpOwogCkBAIC03MDksOCArNzExLDExIEBACiAJeyJHRVQiLCAiL29iamVjdHMvaW5mby9odHRwLWFsdGVybmF0ZXMkIiwgZ2V0X3RleHRfZmlsZX0sCiAJeyJHRVQiLCAiL29iamVjdHMvaW5mby9wYWNrcyQiLCBnZXRfaW5mb19wYWNrc30sCiAJeyJHRVQiLCAiL29iamVjdHMvWzAtOWEtZl17Mn0vWzAtOWEtZl17Mzh9JCIsIGdldF9sb29zZV9vYmplY3R9LAorCXsiR0VUIiwgIi9vYmplY3RzL1swLTlhLWZdezJ9L1swLTlhLWZdezYyfSQiLCBnZXRfbG9vc2Vfb2JqZWN0fSwKIAl7IkdFVCIsICIvb2JqZWN0cy9wYWNrL3BhY2stWzAtOWEtZl17NDB9XFwucGFjayQiLCBnZXRfcGFja19maWxlfSwKKwl7IkdFVCIsICIvb2JqZWN0cy9wYWNrL3BhY2stWzAtOWEtZl17NjR9XFwucGFjayQiLCBnZXRfcGFja19maWxlfSwKIAl7IkdFVCIsICIvb2JqZWN0cy9wYWNrL3BhY2stWzAtOWEtZl17NDB9XFwuaWR4JCIsIGdldF9pZHhfZmlsZX0sCisJeyJHRVQiLCAiL29iamVjdHMvcGFjay9wYWNrLVswLTlhLWZdezY0fVxcLmlkeCQiLCBnZXRfaWR4X2ZpbGV9LAogCiAJeyJQT1NUIiwgIi9naXQtdXBsb2FkLXBhY2skIiwgc2VydmljZV9ycGN9LAogCXsiUE9TVCIsICIvZ2l0LXJlY2VpdmUtcGFjayQiLCBzZXJ2aWNlX3JwY30KZGlmZiAtLWdpdCBhL2h0dHAtcHVzaC5jIGIvaHR0cC1wdXNoLmMKaW5kZXggY2Q0ODU5MC4uODIyZjMyNiAxMDA2NDQKLS0tIGEvaHR0cC1wdXNoLmMKKysrIGIvaHR0cC1wdXNoLmMKQEAgLTE0NSw3ICsxNDUsNyBAQAogCWNoYXIgKnVybDsKIAljaGFyICpvd25lcjsKIAljaGFyICp0b2tlbjsKLQljaGFyIHRtcGZpbGVfc3VmZml4WzQxXTsKKwljaGFyIHRtcGZpbGVfc3VmZml4W0dJVF9NQVhfSEVYU1ogKyAxXTsKIAl0aW1lX3Qgc3RhcnRfdGltZTsKIAlsb25nIHRpbWVvdXQ7CiAJaW50IHJlZnJlc2hpbmc7CkBAIC0yNTUsNyArMjU1LDcgQEAKIAlzdHJ1Y3QgYWN0aXZlX3JlcXVlc3Rfc2xvdCAqc2xvdDsKIAlzdHJ1Y3QgaHR0cF9vYmplY3RfcmVxdWVzdCAqb2JqX3JlcTsKIAotCW9ial9yZXEgPSBuZXdfaHR0cF9vYmplY3RfcmVxdWVzdChyZXBvLT51cmwsIHJlcXVlc3QtPm9iai0+b2lkLmhhc2gpOworCW9ial9yZXEgPSBuZXdfaHR0cF9vYmplY3RfcmVxdWVzdChyZXBvLT51cmwsICZyZXF1ZXN0LT5vYmotPm9pZCk7CiAJaWYgKG9ial9yZXEgPT0gTlVMTCkgewogCQlyZXF1ZXN0LT5zdGF0ZSA9IEFCT1JURUQ7CiAJCXJldHVybjsKQEAgLTMxNSw3ICszMTUsOCBAQAogCQlyZXR1cm47CiAJfQogCi0JZnByaW50ZihzdGRlcnIsCSJGZXRjaGluZyBwYWNrICVzXG4iLCBzaGExX3RvX2hleCh0YXJnZXQtPnNoYTEpKTsKKwlmcHJpbnRmKHN0ZGVyciwJIkZldGNoaW5nIHBhY2sgJXNcbiIsCisJCWhhc2hfdG9faGV4KHRhcmdldC0+aGFzaCkpOwogCWZwcmludGYoc3RkZXJyLCAiIHdoaWNoIGNvbnRhaW5zICVzXG4iLCBvaWRfdG9faGV4KCZyZXF1ZXN0LT5vYmotPm9pZCkpOwogCiAJcHJlcSA9IG5ld19odHRwX3BhY2tfcmVxdWVzdCh0YXJnZXQsIHJlcG8tPnVybCk7CkBAIC0zOTgsNyArMzk5LDcgQEAKIAlyZXF1ZXN0LT5kZXN0ID0gc3RyYnVmX2RldGFjaCgmYnVmLCBOVUxMKTsKIAogCWFwcGVuZF9yZW1vdGVfb2JqZWN0X3VybCgmYnVmLCByZXBvLT51cmwsIGhleCwgMCk7Ci0Jc3RyYnVmX2FkZCgmYnVmLCByZXF1ZXN0LT5sb2NrLT50bXBmaWxlX3N1ZmZpeCwgNDEpOworCXN0cmJ1Zl9hZGQoJmJ1ZiwgcmVxdWVzdC0+bG9jay0+dG1wZmlsZV9zdWZmaXgsIHRoZV9oYXNoX2FsZ28tPmhleHN6ICsgMSk7CiAJcmVxdWVzdC0+dXJsID0gc3RyYnVmX2RldGFjaCgmYnVmLCBOVUxMKTsKIAogCXNsb3QgPSBnZXRfYWN0aXZlX3Nsb3QoKTsKQEAgLTUwMCwxMCArNTAxLDEwIEBACiAJaWYgKHJlcXVlc3QgPT0gcmVxdWVzdF9xdWV1ZV9oZWFkKSB7CiAJCXJlcXVlc3RfcXVldWVfaGVhZCA9IHJlcXVlc3QtPm5leHQ7CiAJfSBlbHNlIHsKLQkJd2hpbGUgKGVudHJ5LT5uZXh0ICE9IE5VTEwgJiYgZW50cnktPm5leHQgIT0gcmVxdWVzdCkKKwkJd2hpbGUgKGVudHJ5ICYmIGVudHJ5LT5uZXh0ICE9IHJlcXVlc3QpCiAJCQllbnRyeSA9IGVudHJ5LT5uZXh0OwotCQlpZiAoZW50cnktPm5leHQgPT0gcmVxdWVzdCkKLQkJCWVudHJ5LT5uZXh0ID0gZW50cnktPm5leHQtPm5leHQ7CisJCWlmIChlbnRyeSkKKwkJCWVudHJ5LT5uZXh0ID0gcmVxdWVzdC0+bmV4dDsKIAl9CiAKIAlmcmVlKHJlcXVlc3QtPnVybCk7CkBAIC01MjUsOCArNTI2LDggQEAKIAlpZiAocmVxdWVzdC0+aGVhZGVycyAhPSBOVUxMKQogCQljdXJsX3NsaXN0X2ZyZWVfYWxsKHJlcXVlc3QtPmhlYWRlcnMpOwogCi0JLyogVVJMIGlzIHJldXNlZCBmb3IgTU9WRSBhZnRlciBQVVQgKi8KLQlpZiAocmVxdWVzdC0+c3RhdGUgIT0gUlVOX1BVVCkgeworCS8qIFVSTCBpcyByZXVzZWQgZm9yIE1PVkUgYWZ0ZXIgUFVUIGFuZCB1c2VkIGR1cmluZyBGRVRDSCAqLworCWlmIChyZXF1ZXN0LT5zdGF0ZSAhPSBSVU5fUFVUICYmIHJlcXVlc3QtPnN0YXRlICE9IFJVTl9GRVRDSF9QQUNLRUQpIHsKIAkJRlJFRV9BTkRfTlVMTChyZXF1ZXN0LT51cmwpOwogCX0KIApAQCAtNzIyLDcgKzcyMyw3IEBACiB7CiAJc3RydWN0IG9iamVjdCAqb2JqOwogCi0Jb2JqID0gbG9va3VwX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgb2lkLT5oYXNoKTsKKwlvYmogPSBsb29rdXBfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCBvaWQpOwogCWlmICghb2JqKQogCQlvYmogPSBwYXJzZV9vYmplY3QodGhlX3JlcG9zaXRvcnksIG9pZCk7CiAKQEAgLTc1Nyw4ICs3NTgsOCBAQAogc3RhdGljIHZvaWQgaGFuZGxlX25ld19sb2NrX2N0eChzdHJ1Y3QgeG1sX2N0eCAqY3R4LCBpbnQgdGFnX2Nsb3NlZCkKIHsKIAlzdHJ1Y3QgcmVtb3RlX2xvY2sgKmxvY2sgPSAoc3RydWN0IHJlbW90ZV9sb2NrICopY3R4LT51c2VyRGF0YTsKLQlnaXRfU0hBX0NUWCBzaGFfY3R4OwotCXVuc2lnbmVkIGNoYXIgbG9ja190b2tlbl9zaGExWzIwXTsKKwlnaXRfaGFzaF9jdHggaGFzaF9jdHg7CisJdW5zaWduZWQgY2hhciBsb2NrX3Rva2VuX2hhc2hbR0lUX01BWF9SQVdTWl07CiAKIAlpZiAodGFnX2Nsb3NlZCAmJiBjdHgtPmNkYXRhKSB7CiAJCWlmICghc3RyY21wKGN0eC0+bmFtZSwgREFWX0FDVElWRUxPQ0tfT1dORVIpKSB7CkBAIC03NzAsMTIgKzc3MSwxMiBAQAogCQl9IGVsc2UgaWYgKCFzdHJjbXAoY3R4LT5uYW1lLCBEQVZfQUNUSVZFTE9DS19UT0tFTikpIHsKIAkJCWxvY2stPnRva2VuID0geHN0cmR1cChjdHgtPmNkYXRhKTsKIAotCQkJZ2l0X1NIQTFfSW5pdCgmc2hhX2N0eCk7Ci0JCQlnaXRfU0hBMV9VcGRhdGUoJnNoYV9jdHgsIGxvY2stPnRva2VuLCBzdHJsZW4obG9jay0+dG9rZW4pKTsKLQkJCWdpdF9TSEExX0ZpbmFsKGxvY2tfdG9rZW5fc2hhMSwgJnNoYV9jdHgpOworCQkJdGhlX2hhc2hfYWxnby0+aW5pdF9mbigmaGFzaF9jdHgpOworCQkJdGhlX2hhc2hfYWxnby0+dXBkYXRlX2ZuKCZoYXNoX2N0eCwgbG9jay0+dG9rZW4sIHN0cmxlbihsb2NrLT50b2tlbikpOworCQkJdGhlX2hhc2hfYWxnby0+ZmluYWxfZm4obG9ja190b2tlbl9oYXNoLCAmaGFzaF9jdHgpOwogCiAJCQlsb2NrLT50bXBmaWxlX3N1ZmZpeFswXSA9ICdfJzsKLQkJCW1lbWNweShsb2NrLT50bXBmaWxlX3N1ZmZpeCArIDEsIHNoYTFfdG9faGV4KGxvY2tfdG9rZW5fc2hhMSksIDQwKTsKKwkJCW1lbWNweShsb2NrLT50bXBmaWxlX3N1ZmZpeCArIDEsIGhhc2hfdG9faGV4KGxvY2tfdG9rZW5faGFzaCksIHRoZV9oYXNoX2FsZ28tPmhleHN6KTsKIAkJfQogCX0KIH0KQEAgLTk4MCw3ICs5ODEsNyBAQAogCQl3aGlsZSAocHJldiAmJiBwcmV2LT5uZXh0ICE9IGxvY2spCiAJCQlwcmV2ID0gcHJldi0+bmV4dDsKIAkJaWYgKHByZXYpCi0JCQlwcmV2LT5uZXh0ID0gcHJldi0+bmV4dC0+bmV4dDsKKwkJCXByZXYtPm5leHQgPSBsb2NrLT5uZXh0OwogCX0KIAogCWZyZWUobG9jay0+b3duZXIpOwpAQCAtMTAxNyw3ICsxMDE4LDcgQEAKIC8qIGV4dHJhY3QgaGV4IGZyb20gc2hhcmRlZCAieHgveHszOH0iIGZpbGVuYW1lICovCiBzdGF0aWMgaW50IGdldF9vaWRfaGV4X2Zyb21fb2JqcGF0aChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0JaWYgKHN0cmxlbihwYXRoKSAhPSBHSVRfU0hBMV9IRVhTWiArIDEpCisJaWYgKHN0cmxlbihwYXRoKSAhPSB0aGVfaGFzaF9hbGdvLT5oZXhzeiArIDEpCiAJCXJldHVybiAtMTsKIAogCWlmIChoZXhfdG9fYnl0ZXMob2lkLT5oYXNoLCBwYXRoLCAxKSkKQEAgLTEwMjUsNyArMTAyNiw3IEBACiAJcGF0aCArPSAyOwogCXBhdGgrKzsgLyogc2tpcCAnLycgKi8KIAotCXJldHVybiBoZXhfdG9fYnl0ZXMob2lkLT5oYXNoICsgMSwgcGF0aCwgR0lUX1NIQTFfUkFXU1ogLSAxKTsKKwlyZXR1cm4gaGV4X3RvX2J5dGVzKG9pZC0+aGFzaCArIDEsIHBhdGgsIHRoZV9oYXNoX2FsZ28tPnJhd3N6IC0gMSk7CiB9CiAKIHN0YXRpYyB2b2lkIHByb2Nlc3NfbHNfb2JqZWN0KHN0cnVjdCByZW1vdGVfbHNfY3R4ICpscykKQEAgLTEzMTEsMTEgKzEzMTIsMTEgQEAKIAl3aGlsZSAodHJlZV9lbnRyeSgmZGVzYywgJmVudHJ5KSkKIAkJc3dpdGNoIChvYmplY3RfdHlwZShlbnRyeS5tb2RlKSkgewogCQljYXNlIE9CSl9UUkVFOgotCQkJcCA9IHByb2Nlc3NfdHJlZShsb29rdXBfdHJlZSh0aGVfcmVwb3NpdG9yeSwgZW50cnkub2lkKSwKKwkJCXAgPSBwcm9jZXNzX3RyZWUobG9va3VwX3RyZWUodGhlX3JlcG9zaXRvcnksICZlbnRyeS5vaWQpLAogCQkJCQkgcCk7CiAJCQlicmVhazsKIAkJY2FzZSBPQkpfQkxPQjoKLQkJCXAgPSBwcm9jZXNzX2Jsb2IobG9va3VwX2Jsb2IodGhlX3JlcG9zaXRvcnksIGVudHJ5Lm9pZCksCisJCQlwID0gcHJvY2Vzc19ibG9iKGxvb2t1cF9ibG9iKHRoZV9yZXBvc2l0b3J5LCAmZW50cnkub2lkKSwKIAkJCQkJIHApOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CkBAIC0xMzczLDcgKzEzNzQsNyBAQAogCXJldHVybiBjb3VudDsKIH0KIAotc3RhdGljIGludCB1cGRhdGVfcmVtb3RlKHVuc2lnbmVkIGNoYXIgKnNoYTEsIHN0cnVjdCByZW1vdGVfbG9jayAqbG9jaykKK3N0YXRpYyBpbnQgdXBkYXRlX3JlbW90ZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHN0cnVjdCByZW1vdGVfbG9jayAqbG9jaykKIHsKIAlzdHJ1Y3QgYWN0aXZlX3JlcXVlc3Rfc2xvdCAqc2xvdDsKIAlzdHJ1Y3Qgc2xvdF9yZXN1bHRzIHJlc3VsdHM7CkBAIC0xMzgyLDcgKzEzODMsNyBAQAogCiAJZGF2X2hlYWRlcnMgPSBnZXRfZGF2X3Rva2VuX2hlYWRlcnMobG9jaywgREFWX0hFQURFUl9JRik7CiAKLQlzdHJidWZfYWRkZigmb3V0X2J1ZmZlci5idWYsICIlc1xuIiwgc2hhMV90b19oZXgoc2hhMSkpOworCXN0cmJ1Zl9hZGRmKCZvdXRfYnVmZmVyLmJ1ZiwgIiVzXG4iLCBvaWRfdG9faGV4KG9pZCkpOwogCiAJc2xvdCA9IGdldF9hY3RpdmVfc2xvdCgpOwogCXNsb3QtPnJlc3VsdHMgPSAmcmVzdWx0czsKQEAgLTE0MzEsNyArMTQzMiw3IEBACiAJICogbWF5IGJlIHJlcXVpcmVkIGZvciB1cGRhdGluZyBzZXJ2ZXIgaW5mbyBsYXRlci4KIAkgKi8KIAlpZiAocmVwby0+Y2FuX3VwZGF0ZV9pbmZvX3JlZnMgJiYgIWhhc19vYmplY3RfZmlsZSgmcmVmLT5vbGRfb2lkKSkgewotCQlvYmogPSBsb29rdXBfdW5rbm93bl9vYmplY3QocmVmLT5vbGRfb2lkLmhhc2gpOworCQlvYmogPSBsb29rdXBfdW5rbm93bl9vYmplY3QoJnJlZi0+b2xkX29pZCk7CiAJCWZwcmludGYoc3RkZXJyLAkiICBmZXRjaCAlcyBmb3IgJXNcbiIsCiAJCQlvaWRfdG9faGV4KCZyZWYtPm9sZF9vaWQpLCByZWZuYW1lKTsKIAkJYWRkX2ZldGNoX3JlcXVlc3Qob2JqKTsKQEAgLTE5MzMsNyArMTkzNCw3IEBACiAJCXB1c2hpbmcgPSAwOwogCQlpZiAocHJlcGFyZV9yZXZpc2lvbl93YWxrKCZyZXZzKSkKIAkJCWRpZSgicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiKTsKLQkJbWFya19lZGdlc191bmludGVyZXN0aW5nKCZyZXZzLCBOVUxMKTsKKwkJbWFya19lZGdlc191bmludGVyZXN0aW5nKCZyZXZzLCBOVUxMLCAwKTsKIAkJb2JqZWN0c190b19zZW5kID0gZ2V0X2RlbHRhKCZyZXZzLCByZWZfbG9jayk7CiAJCWZpbmlzaF9hbGxfYWN0aXZlX3Nsb3RzKCk7CiAKQEAgLTE5NDcsNyArMTk0OCw3IEBACiAJCXJ1bl9yZXF1ZXN0X3F1ZXVlKCk7CiAKIAkJLyogVXBkYXRlIHRoZSByZW1vdGUgYnJhbmNoIGlmIGFsbCB3ZW50IHdlbGwgKi8KLQkJaWYgKGFib3J0ZWQgfHwgIXVwZGF0ZV9yZW1vdGUocmVmLT5uZXdfb2lkLmhhc2gsIHJlZl9sb2NrKSkKKwkJaWYgKGFib3J0ZWQgfHwgIXVwZGF0ZV9yZW1vdGUoJnJlZi0+bmV3X29pZCwgcmVmX2xvY2spKQogCQkJcmMgPSAxOwogCiAJCWlmICghcmMpCmRpZmYgLS1naXQgYS9odHRwLXdhbGtlci5jIGIvaHR0cC13YWxrZXIuYwppbmRleCBiMzMzNGJmLi5mZTE1ZTMyIDEwMDY0NAotLS0gYS9odHRwLXdhbGtlci5jCisrKyBiL2h0dHAtd2Fsa2VyLmMKQEAgLTU4LDcgKzU4LDcgQEAKIAlzdHJ1Y3QgYWN0aXZlX3JlcXVlc3Rfc2xvdCAqc2xvdDsKIAlzdHJ1Y3QgaHR0cF9vYmplY3RfcmVxdWVzdCAqcmVxOwogCi0JcmVxID0gbmV3X2h0dHBfb2JqZWN0X3JlcXVlc3Qob2JqX3JlcS0+cmVwby0+YmFzZSwgb2JqX3JlcS0+b2lkLmhhc2gpOworCXJlcSA9IG5ld19odHRwX29iamVjdF9yZXF1ZXN0KG9ial9yZXEtPnJlcG8tPmJhc2UsICZvYmpfcmVxLT5vaWQpOwogCWlmIChyZXEgPT0gTlVMTCkgewogCQlvYmpfcmVxLT5zdGF0ZSA9IEFCT1JURUQ7CiAJCXJldHVybjsKQEAgLTk4LDYgKzk4LDExIEBACiAJcHJvY2Vzc19odHRwX29iamVjdF9yZXF1ZXN0KG9ial9yZXEtPnJlcSk7CiAJb2JqX3JlcS0+c3RhdGUgPSBDT01QTEVURTsKIAorCW5vcm1hbGl6ZV9jdXJsX3Jlc3VsdCgmb2JqX3JlcS0+cmVxLT5jdXJsX3Jlc3VsdCwKKwkJCSAgICAgIG9ial9yZXEtPnJlcS0+aHR0cF9jb2RlLAorCQkJICAgICAgb2JqX3JlcS0+cmVxLT5lcnJvcnN0ciwKKwkJCSAgICAgIHNpemVvZihvYmpfcmVxLT5yZXEtPmVycm9yc3RyKSk7CisKIAkvKiBVc2UgYWx0ZXJuYXRlcyBpZiBuZWNlc3NhcnkgKi8KIAlpZiAobWlzc2luZ190YXJnZXQob2JqX3JlcS0+cmVxKSkgewogCQlmZXRjaF9hbHRlcm5hdGVzKHdhbGtlciwgYWx0LT5iYXNlKTsKQEAgLTEzMSw3ICsxMzYsNyBAQAogCWxpc3RfZm9yX2VhY2hfc2FmZShwb3MsIHRtcCwgaGVhZCkgewogCQlvYmpfcmVxID0gbGlzdF9lbnRyeShwb3MsIHN0cnVjdCBvYmplY3RfcmVxdWVzdCwgbm9kZSk7CiAJCWlmIChvYmpfcmVxLT5zdGF0ZSA9PSBXQUlUSU5HKSB7Ci0JCQlpZiAoaGFzX3NoYTFfZmlsZShvYmpfcmVxLT5vaWQuaGFzaCkpCisJCQlpZiAoaGFzX29iamVjdF9maWxlKCZvYmpfcmVxLT5vaWQpKQogCQkJCW9ial9yZXEtPnN0YXRlID0gQ09NUExFVEU7CiAJCQllbHNlIHsKIAkJCQlzdGFydF9vYmplY3RfcmVxdWVzdCh3YWxrZXIsIG9ial9yZXEpOwpAQCAtMjA4LDYgKzIxMyw5IEBACiAJY2hhciAqZGF0YTsKIAlpbnQgaSA9IDA7CiAKKwlub3JtYWxpemVfY3VybF9yZXN1bHQoJnNsb3QtPmN1cmxfcmVzdWx0LCBzbG90LT5odHRwX2NvZGUsCisJCQkgICAgICBjdXJsX2Vycm9yc3RyLCBzaXplb2YoY3VybF9lcnJvcnN0cikpOworCiAJaWYgKGFsdF9yZXEtPmh0dHBfc3BlY2lmaWMpIHsKIAkJaWYgKHNsb3QtPmN1cmxfcmVzdWx0ICE9IENVUkxFX09LIHx8CiAJCSAgICAhYWx0X3JlcS0+YnVmZmVyLT5sZW4pIHsKQEAgLTQzNCw5ICs0NDIsOSBAQAogCiAJaWYgKHdhbGtlci0+Z2V0X3ZlcmJvc2VseSkgewogCQlmcHJpbnRmKHN0ZGVyciwgIkdldHRpbmcgcGFjayAlc1xuIiwKLQkJCXNoYTFfdG9faGV4KHRhcmdldC0+c2hhMSkpOworCQkJaGFzaF90b19oZXgodGFyZ2V0LT5oYXNoKSk7CiAJCWZwcmludGYoc3RkZXJyLCAiIHdoaWNoIGNvbnRhaW5zICVzXG4iLAotCQkJc2hhMV90b19oZXgoc2hhMSkpOworCQkJaGFzaF90b19oZXgoc2hhMSkpOwogCX0KIAogCXByZXEgPSBuZXdfaHR0cF9wYWNrX3JlcXVlc3QodGFyZ2V0LCByZXBvLT5iYXNlKTsKQEAgLTQ3Myw5ICs0ODEsOSBAQAogCXJlbGVhc2Vfb2JqZWN0X3JlcXVlc3Qob2JqX3JlcSk7CiB9CiAKLXN0YXRpYyBpbnQgZmV0Y2hfb2JqZWN0KHN0cnVjdCB3YWxrZXIgKndhbGtlciwgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyBpbnQgZmV0Y2hfb2JqZWN0KHN0cnVjdCB3YWxrZXIgKndhbGtlciwgdW5zaWduZWQgY2hhciAqaGFzaCkKIHsKLQljaGFyICpoZXggPSBzaGExX3RvX2hleChzaGExKTsKKwljaGFyICpoZXggPSBoYXNoX3RvX2hleChoYXNoKTsKIAlpbnQgcmV0ID0gMDsKIAlzdHJ1Y3Qgb2JqZWN0X3JlcXVlc3QgKm9ial9yZXEgPSBOVUxMOwogCXN0cnVjdCBodHRwX29iamVjdF9yZXF1ZXN0ICpyZXE7CkBAIC00ODMsMTMgKzQ5MSwxMyBAQAogCiAJbGlzdF9mb3JfZWFjaChwb3MsIGhlYWQpIHsKIAkJb2JqX3JlcSA9IGxpc3RfZW50cnkocG9zLCBzdHJ1Y3Qgb2JqZWN0X3JlcXVlc3QsIG5vZGUpOwotCQlpZiAoaGFzaGVxKG9ial9yZXEtPm9pZC5oYXNoLCBzaGExKSkKKwkJaWYgKGhhc2hlcShvYmpfcmVxLT5vaWQuaGFzaCwgaGFzaCkpCiAJCQlicmVhazsKIAl9CiAJaWYgKG9ial9yZXEgPT0gTlVMTCkKIAkJcmV0dXJuIGVycm9yKCJDb3VsZG4ndCBmaW5kIHJlcXVlc3QgZm9yICVzIGluIHRoZSBxdWV1ZSIsIGhleCk7CiAKLQlpZiAoaGFzX3NoYTFfZmlsZShvYmpfcmVxLT5vaWQuaGFzaCkpIHsKKwlpZiAoaGFzX29iamVjdF9maWxlKCZvYmpfcmVxLT5vaWQpKSB7CiAJCWlmIChvYmpfcmVxLT5yZXEgIT0gTlVMTCkKIAkJCWFib3J0X2h0dHBfb2JqZWN0X3JlcXVlc3Qob2JqX3JlcS0+cmVxKTsKIAkJYWJvcnRfb2JqZWN0X3JlcXVlc3Qob2JqX3JlcSk7CkBAIC01MTgsMTcgKzUyNiw4IEBACiAJCXJlcS0+bG9jYWxmaWxlID0gLTE7CiAJfQogCi0JLyoKLQkgKiB3ZSB0dXJuZWQgb2ZmIENVUkxPUFRfRkFJTE9ORVJST1IgdG8gYXZvaWQgbG9zaW5nIGEKLQkgKiBwZXJzaXN0ZW50IGNvbm5lY3Rpb24gYW5kIGdvdCBDVVJMRV9PSy4KLQkgKi8KLQlpZiAocmVxLT5odHRwX2NvZGUgPj0gMzAwICYmIHJlcS0+Y3VybF9yZXN1bHQgPT0gQ1VSTEVfT0sgJiYKLQkJCShzdGFydHNfd2l0aChyZXEtPnVybCwgImh0dHA6Ly8iKSB8fAotCQkJIHN0YXJ0c193aXRoKHJlcS0+dXJsLCAiaHR0cHM6Ly8iKSkpIHsKLQkJcmVxLT5jdXJsX3Jlc3VsdCA9IENVUkxFX0hUVFBfUkVUVVJORURfRVJST1I7Ci0JCXhzbnByaW50ZihyZXEtPmVycm9yc3RyLCBzaXplb2YocmVxLT5lcnJvcnN0ciksCi0JCQkgICJIVFRQIHJlcXVlc3QgZmFpbGVkIik7Ci0JfQorCW5vcm1hbGl6ZV9jdXJsX3Jlc3VsdCgmcmVxLT5jdXJsX3Jlc3VsdCwgcmVxLT5odHRwX2NvZGUsCisJCQkgICAgICByZXEtPmVycm9yc3RyLCBzaXplb2YocmVxLT5lcnJvcnN0cikpOwogCiAJaWYgKG9ial9yZXEtPnN0YXRlID09IEFCT1JURUQpIHsKIAkJcmV0ID0gZXJyb3IoIlJlcXVlc3QgZm9yICVzIGFib3J0ZWQiLCBoZXgpOwpAQCAtNTQzLDExICs1NDIsMTEgQEAKIAl9IGVsc2UgaWYgKHJlcS0+enJldCAhPSBaX1NUUkVBTV9FTkQpIHsKIAkJd2Fsa2VyLT5jb3JydXB0X29iamVjdF9mb3VuZCsrOwogCQlyZXQgPSBlcnJvcigiRmlsZSAlcyAoJXMpIGNvcnJ1cHQiLCBoZXgsIHJlcS0+dXJsKTsKLQl9IGVsc2UgaWYgKCFoYXNoZXEob2JqX3JlcS0+b2lkLmhhc2gsIHJlcS0+cmVhbF9zaGExKSkgeworCX0gZWxzZSBpZiAoIW9pZGVxKCZvYmpfcmVxLT5vaWQsICZyZXEtPnJlYWxfb2lkKSkgewogCQlyZXQgPSBlcnJvcigiRmlsZSAlcyBoYXMgYmFkIGhhc2giLCBoZXgpOwogCX0gZWxzZSBpZiAocmVxLT5yZW5hbWUgPCAwKSB7CiAJCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7Ci0JCXNoYTFfZmlsZV9uYW1lKHRoZV9yZXBvc2l0b3J5LCAmYnVmLCByZXEtPnNoYTEpOworCQlsb29zZV9vYmplY3RfcGF0aCh0aGVfcmVwb3NpdG9yeSwgJmJ1ZiwgJnJlcS0+b2lkKTsKIAkJcmV0ID0gZXJyb3IoInVuYWJsZSB0byB3cml0ZSBzaGExIGZpbGVuYW1lICVzIiwgYnVmLmJ1Zik7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCX0KQEAgLTU1NywyMCArNTU2LDIwIEBACiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGludCBmZXRjaChzdHJ1Y3Qgd2Fsa2VyICp3YWxrZXIsIHVuc2lnbmVkIGNoYXIgKnNoYTEpCitzdGF0aWMgaW50IGZldGNoKHN0cnVjdCB3YWxrZXIgKndhbGtlciwgdW5zaWduZWQgY2hhciAqaGFzaCkKIHsKIAlzdHJ1Y3Qgd2Fsa2VyX2RhdGEgKmRhdGEgPSB3YWxrZXItPmRhdGE7CiAJc3RydWN0IGFsdF9iYXNlICphbHRiYXNlID0gZGF0YS0+YWx0OwogCi0JaWYgKCFmZXRjaF9vYmplY3Qod2Fsa2VyLCBzaGExKSkKKwlpZiAoIWZldGNoX29iamVjdCh3YWxrZXIsIGhhc2gpKQogCQlyZXR1cm4gMDsKIAl3aGlsZSAoYWx0YmFzZSkgewotCQlpZiAoIWh0dHBfZmV0Y2hfcGFjayh3YWxrZXIsIGFsdGJhc2UsIHNoYTEpKQorCQlpZiAoIWh0dHBfZmV0Y2hfcGFjayh3YWxrZXIsIGFsdGJhc2UsIGhhc2gpKQogCQkJcmV0dXJuIDA7CiAJCWZldGNoX2FsdGVybmF0ZXMod2Fsa2VyLCBkYXRhLT5hbHQtPmJhc2UpOwogCQlhbHRiYXNlID0gYWx0YmFzZS0+bmV4dDsKIAl9Ci0JcmV0dXJuIGVycm9yKCJVbmFibGUgdG8gZmluZCAlcyB1bmRlciAlcyIsIHNoYTFfdG9faGV4KHNoYTEpLAorCXJldHVybiBlcnJvcigiVW5hYmxlIHRvIGZpbmQgJXMgdW5kZXIgJXMiLCBoYXNoX3RvX2hleChoYXNoKSwKIAkJICAgICBkYXRhLT5hbHQtPmJhc2UpOwogfQogCmRpZmYgLS1naXQgYS9odHRwLmMgYi9odHRwLmMKaW5kZXggZWFjYzJhNy4uMDBhMGU1MCAxMDA2NDQKLS0tIGEvaHR0cC5jCisrKyBiL2h0dHAuYwpAQCAtNDgsNiArNDgsNyBAQAogCiBzdGF0aWMgaW50IGN1cmxfc3NsX3ZlcmlmeSA9IC0xOwogc3RhdGljIGludCBjdXJsX3NzbF90cnk7CitzdGF0aWMgY29uc3QgY2hhciAqY3VybF9odHRwX3ZlcnNpb24gPSBOVUxMOwogc3RhdGljIGNvbnN0IGNoYXIgKnNzbF9jZXJ0Owogc3RhdGljIGNvbnN0IGNoYXIgKnNzbF9jaXBoZXJsaXN0Owogc3RhdGljIGNvbnN0IGNoYXIgKnNzbF92ZXJzaW9uOwpAQCAtMTQ5LDcgKzE1MCw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgY3VybF9zbGlzdCAqcHJhZ21hX2hlYWRlcjsKIHN0YXRpYyBzdHJ1Y3QgY3VybF9zbGlzdCAqbm9fcHJhZ21hX2hlYWRlcjsKLXN0YXRpYyBzdHJ1Y3QgY3VybF9zbGlzdCAqZXh0cmFfaHR0cF9oZWFkZXJzOworc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBleHRyYV9odHRwX2hlYWRlcnMgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKIAogc3RhdGljIHN0cnVjdCBhY3RpdmVfcmVxdWVzdF9zbG90ICphY3RpdmVfcXVldWVfaGVhZDsKIApAQCAtMTc1LDcgKzE3Niw3IEBACiAJbWVtY3B5KHB0ciwgYnVmZmVyLT5idWYuYnVmICsgYnVmZmVyLT5wb3NuLCBzaXplKTsKIAlidWZmZXItPnBvc24gKz0gc2l6ZTsKIAotCXJldHVybiBzaXplOworCXJldHVybiBzaXplIC8gZWx0c2l6ZTsKIH0KIAogI2lmbmRlZiBOT19DVVJMX0lPQ1RMCkBAIC0yMDMsMTIgKzIwNCwxMiBAQAogCXN0cnVjdCBzdHJidWYgKmJ1ZmZlciA9IGJ1ZmZlcl87CiAKIAlzdHJidWZfYWRkKGJ1ZmZlciwgcHRyLCBzaXplKTsKLQlyZXR1cm4gc2l6ZTsKKwlyZXR1cm4gbm1lbWI7CiB9CiAKIHNpemVfdCBmd3JpdGVfbnVsbChjaGFyICpwdHIsIHNpemVfdCBlbHRzaXplLCBzaXplX3Qgbm1lbWIsIHZvaWQgKnN0cmJ1ZikKIHsKLQlyZXR1cm4gZWx0c2l6ZSAqIG5tZW1iOworCXJldHVybiBubWVtYjsKIH0KIAogc3RhdGljIHZvaWQgY2xvc2Vkb3duX2FjdGl2ZV9zbG90KHN0cnVjdCBhY3RpdmVfcmVxdWVzdF9zbG90ICpzbG90KQpAQCAtMjg0LDYgKzI4NSw5IEBACiAKIHN0YXRpYyBpbnQgaHR0cF9vcHRpb25zKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKQogeworCWlmICghc3RyY21wKCJodHRwLnZlcnNpb24iLCB2YXIpKSB7CisJCXJldHVybiBnaXRfY29uZmlnX3N0cmluZygmY3VybF9odHRwX3ZlcnNpb24sIHZhciwgdmFsdWUpOworCX0KIAlpZiAoIXN0cmNtcCgiaHR0cC5zc2x2ZXJpZnkiLCB2YXIpKSB7CiAJCWN1cmxfc3NsX3ZlcmlmeSA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKIAkJcmV0dXJuIDA7CkBAIC00MTAsMTEgKzQxNCw5IEBACiAJCWlmICghdmFsdWUpIHsKIAkJCXJldHVybiBjb25maWdfZXJyb3Jfbm9uYm9vbCh2YXIpOwogCQl9IGVsc2UgaWYgKCEqdmFsdWUpIHsKLQkJCWN1cmxfc2xpc3RfZnJlZV9hbGwoZXh0cmFfaHR0cF9oZWFkZXJzKTsKLQkJCWV4dHJhX2h0dHBfaGVhZGVycyA9IE5VTEw7CisJCQlzdHJpbmdfbGlzdF9jbGVhcigmZXh0cmFfaHR0cF9oZWFkZXJzLCAwKTsKIAkJfSBlbHNlIHsKLQkJCWV4dHJhX2h0dHBfaGVhZGVycyA9Ci0JCQkJY3VybF9zbGlzdF9hcHBlbmQoZXh0cmFfaHR0cF9oZWFkZXJzLCB2YWx1ZSk7CisJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmV4dHJhX2h0dHBfaGVhZGVycywgdmFsdWUpOwogCQl9CiAJCXJldHVybiAwOwogCX0KQEAgLTUwOSw5ICs1MTEsMTEgQEAKICNlbHNlCiAJCXN0cnVjdCBzdHJidWYgcyA9IFNUUkJVRl9JTklUOwogCi0JCXN0cmJ1Zl9hZGRzdHJfdXJsZW5jb2RlKCZzLCBwcm94eV9hdXRoLnVzZXJuYW1lLCAxKTsKKwkJc3RyYnVmX2FkZHN0cl91cmxlbmNvZGUoJnMsIHByb3h5X2F1dGgudXNlcm5hbWUsCisJCQkJCWlzX3JmYzM5ODZfdW5yZXNlcnZlZCk7CiAJCXN0cmJ1Zl9hZGRjaCgmcywgJzonKTsKLQkJc3RyYnVmX2FkZHN0cl91cmxlbmNvZGUoJnMsIHByb3h5X2F1dGgucGFzc3dvcmQsIDEpOworCQlzdHJidWZfYWRkc3RyX3VybGVuY29kZSgmcywgcHJveHlfYXV0aC5wYXNzd29yZCwKKwkJCQkJaXNfcmZjMzk4Nl91bnJlc2VydmVkKTsKIAkJY3VybF9wcm94eXVzZXJwd2QgPSBzdHJidWZfZGV0YWNoKCZzLCBOVUxMKTsKIAkJY3VybF9lYXN5X3NldG9wdChyZXN1bHQsIENVUkxPUFRfUFJPWFlVU0VSUFdELCBjdXJsX3Byb3h5dXNlcnB3ZCk7CiAjZW5kaWYKQEAgLTY3Niw4ICs2ODAsOCBAQAogCWZvciAoaGVhZGVyID0gaGVhZGVyczsgKmhlYWRlcjsgaGVhZGVyKyspIHsKIAkJaWYgKGhpZGVfc2Vuc2l0aXZlX2hlYWRlcikKIAkJCXJlZGFjdF9zZW5zaXRpdmVfaGVhZGVyKCpoZWFkZXIpOwotCQlzdHJidWZfaW5zZXJ0KCgqaGVhZGVyKSwgMCwgdGV4dCwgc3RybGVuKHRleHQpKTsKLQkJc3RyYnVmX2luc2VydCgoKmhlYWRlciksIHN0cmxlbih0ZXh0KSwgIjogIiwgMik7CisJCXN0cmJ1Zl9pbnNlcnRzdHIoKCpoZWFkZXIpLCAwLCB0ZXh0KTsKKwkJc3RyYnVmX2luc2VydHN0cigoKmhlYWRlciksIHN0cmxlbih0ZXh0KSwgIjogIik7CiAJCXN0cmJ1Zl9ydHJpbSgoKmhlYWRlcikpOwogCQlzdHJidWZfYWRkY2goKCpoZWFkZXIpLCAnXG4nKTsKIAkJdHJhY2Vfc3RyYnVmKCZ0cmFjZV9jdXJsLCAoKmhlYWRlcikpOwpAQCAtNzg5LDYgKzc5MywzMSBAQAogfQogI2VuZGlmCiAKKyNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNID49MHgwNzJmMDAKK3N0YXRpYyBpbnQgZ2V0X2N1cmxfaHR0cF92ZXJzaW9uX29wdChjb25zdCBjaGFyICp2ZXJzaW9uX3N0cmluZywgbG9uZyAqb3B0KQoreworCWludCBpOworCXN0YXRpYyBzdHJ1Y3QgeworCQljb25zdCBjaGFyICpuYW1lOworCQlsb25nIG9wdF90b2tlbjsKKwl9IGNob2ljZVtdID0geworCQl7ICJIVFRQLzEuMSIsIENVUkxfSFRUUF9WRVJTSU9OXzFfMSB9LAorCQl7ICJIVFRQLzIiLCBDVVJMX0hUVFBfVkVSU0lPTl8yIH0KKwl9OworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY2hvaWNlKTsgaSsrKSB7CisJCWlmICghc3RyY21wKHZlcnNpb25fc3RyaW5nLCBjaG9pY2VbaV0ubmFtZSkpIHsKKwkJCSpvcHQgPSBjaG9pY2VbaV0ub3B0X3Rva2VuOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisKKwl3YXJuaW5nKCJ1bmtub3duIHZhbHVlIGdpdmVuIHRvIGh0dHAudmVyc2lvbjogJyVzJyIsIHZlcnNpb25fc3RyaW5nKTsKKwlyZXR1cm4gLTE7IC8qIG5vdCBmb3VuZCAqLworfQorCisjZW5kaWYKKwogc3RhdGljIENVUkwgKmdldF9jdXJsX2hhbmRsZSh2b2lkKQogewogCUNVUkwgKnJlc3VsdCA9IGN1cmxfZWFzeV9pbml0KCk7CkBAIC04MDYsNiArODM1LDE2IEBACiAJCWN1cmxfZWFzeV9zZXRvcHQocmVzdWx0LCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCAyKTsKIAl9CiAKKyNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNID49IDB4MDcyZjAwIC8vIDcuNDcuMAorICAgIGlmIChjdXJsX2h0dHBfdmVyc2lvbikgeworCQlsb25nIG9wdDsKKwkJaWYgKCFnZXRfY3VybF9odHRwX3ZlcnNpb25fb3B0KGN1cmxfaHR0cF92ZXJzaW9uLCAmb3B0KSkgeworCQkJLyogU2V0IHJlcXVlc3QgdXNlIGh0dHAgdmVyc2lvbiAqLworCQkJY3VybF9lYXN5X3NldG9wdChyZXN1bHQsIENVUkxPUFRfSFRUUF9WRVJTSU9OLCBvcHQpOworCQl9CisgICAgfQorI2VuZGlmCisKICNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNID49IDB4MDcwOTA3CiAJY3VybF9lYXN5X3NldG9wdChyZXN1bHQsIENVUkxPUFRfTkVUUkMsIENVUkxfTkVUUkNfT1BUSU9OQUwpOwogI2VuZGlmCkBAIC0xMDM0LDYgKzEwNzMsNyBAQAogCiAJZ2l0X2NvbmZpZyh1cmxtYXRjaF9jb25maWdfZW50cnksICZjb25maWcpOwogCWZyZWUobm9ybWFsaXplZF91cmwpOworCXN0cmluZ19saXN0X2NsZWFyKCZjb25maWcudmFycywgMSk7CiAKICNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNID49IDB4MDczODAwCiAJaWYgKGh0dHBfc3NsX2JhY2tlbmQpIHsKQEAgLTExNjAsOCArMTIwMCw3IEBACiAjZW5kaWYKIAljdXJsX2dsb2JhbF9jbGVhbnVwKCk7CiAKLQljdXJsX3NsaXN0X2ZyZWVfYWxsKGV4dHJhX2h0dHBfaGVhZGVycyk7Ci0JZXh0cmFfaHR0cF9oZWFkZXJzID0gTlVMTDsKKwlzdHJpbmdfbGlzdF9jbGVhcigmZXh0cmFfaHR0cF9oZWFkZXJzLCAwKTsKIAogCWN1cmxfc2xpc3RfZnJlZV9hbGwocHJhZ21hX2hlYWRlcik7CiAJcHJhZ21hX2hlYWRlciA9IE5VTEw7CkBAIC0xNTA1LDcgKzE1NDQsOCBAQAogCXJldHVybiBzdHJidWZfZGV0YWNoKCZidWYsIE5VTEwpOwogfQogCi1zdGF0aWMgaW50IGhhbmRsZV9jdXJsX3Jlc3VsdChzdHJ1Y3Qgc2xvdF9yZXN1bHRzICpyZXN1bHRzKQordm9pZCBub3JtYWxpemVfY3VybF9yZXN1bHQoQ1VSTGNvZGUgKnJlc3VsdCwgbG9uZyBodHRwX2NvZGUsCisJCQkgICBjaGFyICplcnJvcnN0ciwgc2l6ZV90IGVycm9ybGVuKQogewogCS8qCiAJICogSWYgd2Ugc2VlIGEgZmFpbGluZyBodHRwIGNvZGUgd2l0aCBDVVJMRV9PSywgd2UgaGF2ZSB0dXJuZWQgb2ZmCkBAIC0xNTE1LDE5ICsxNTU1LDI0IEBACiAJICogTGlrZXdpc2UsIGlmIHdlIHNlZSBhIHJlZGlyZWN0ICgzMHggY29kZSksIHRoYXQgbWVhbnMgd2UgdHVybmVkIG9mZgogCSAqIHJlZGlyZWN0LWZvbGxvd2luZywgYW5kIHdlIHNob3VsZCB0cmVhdCB0aGUgcmVzdWx0IGFzIGFuIGVycm9yLgogCSAqLwotCWlmIChyZXN1bHRzLT5jdXJsX3Jlc3VsdCA9PSBDVVJMRV9PSyAmJgotCSAgICByZXN1bHRzLT5odHRwX2NvZGUgPj0gMzAwKSB7Ci0JCXJlc3VsdHMtPmN1cmxfcmVzdWx0ID0gQ1VSTEVfSFRUUF9SRVRVUk5FRF9FUlJPUjsKKwlpZiAoKnJlc3VsdCA9PSBDVVJMRV9PSyAmJiBodHRwX2NvZGUgPj0gMzAwKSB7CisJCSpyZXN1bHQgPSBDVVJMRV9IVFRQX1JFVFVSTkVEX0VSUk9SOwogCQkvKgogCQkgKiBOb3JtYWxseSBjdXJsIHdpbGwgYWxyZWFkeSBoYXZlIHB1dCB0aGUgInJlYXNvbiBwaHJhc2UiCiAJCSAqIGZyb20gdGhlIHNlcnZlciBpbnRvIGN1cmxfZXJyb3JzdHI7IHVuZm9ydHVuYXRlbHkgd2l0aG91dAogCQkgKiBGQUlMT05FUlJPUiBpdCBpcyBsb3N0LCBzbyB3ZSBjYW4gZ2l2ZSBvbmx5IHRoZSBudW1lcmljCiAJCSAqIHN0YXR1cyBjb2RlLgogCQkgKi8KLQkJeHNucHJpbnRmKGN1cmxfZXJyb3JzdHIsIHNpemVvZihjdXJsX2Vycm9yc3RyKSwKKwkJeHNucHJpbnRmKGVycm9yc3RyLCBlcnJvcmxlbiwKIAkJCSAgIlRoZSByZXF1ZXN0ZWQgVVJMIHJldHVybmVkIGVycm9yOiAlbGQiLAotCQkJICByZXN1bHRzLT5odHRwX2NvZGUpOworCQkJICBodHRwX2NvZGUpOwogCX0KK30KKworc3RhdGljIGludCBoYW5kbGVfY3VybF9yZXN1bHQoc3RydWN0IHNsb3RfcmVzdWx0cyAqcmVzdWx0cykKK3sKKwlub3JtYWxpemVfY3VybF9yZXN1bHQoJnJlc3VsdHMtPmN1cmxfcmVzdWx0LCByZXN1bHRzLT5odHRwX2NvZGUsCisJCQkgICAgICBjdXJsX2Vycm9yc3RyLCBzaXplb2YoY3VybF9lcnJvcnN0cikpOwogCiAJaWYgKHJlc3VsdHMtPmN1cmxfcmVzdWx0ID09IENVUkxFX09LKSB7CiAJCWNyZWRlbnRpYWxfYXBwcm92ZSgmaHR0cF9hdXRoKTsKQEAgLTE1NzksMTAgKzE2MjQsMTEgQEAKIAogc3RydWN0IGN1cmxfc2xpc3QgKmh0dHBfY29weV9kZWZhdWx0X2hlYWRlcnModm9pZCkKIHsKLQlzdHJ1Y3QgY3VybF9zbGlzdCAqaGVhZGVycyA9IE5VTEwsICpoOworCXN0cnVjdCBjdXJsX3NsaXN0ICpoZWFkZXJzID0gTlVMTDsKKwljb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKIAotCWZvciAoaCA9IGV4dHJhX2h0dHBfaGVhZGVyczsgaDsgaCA9IGgtPm5leHQpCi0JCWhlYWRlcnMgPSBjdXJsX3NsaXN0X2FwcGVuZChoZWFkZXJzLCBoLT5kYXRhKTsKKwlmb3JfZWFjaF9zdHJpbmdfbGlzdF9pdGVtKGl0ZW0sICZleHRyYV9odHRwX2hlYWRlcnMpCisJCWhlYWRlcnMgPSBjdXJsX3NsaXN0X2FwcGVuZChoZWFkZXJzLCBpdGVtLT5zdHJpbmcpOwogCiAJcmV0dXJuIGhlYWRlcnM7CiB9CkBAIC0xODM3LDggKzE4ODMsNiBAQAogCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgIlByYWdtYToiKTsKIAlpZiAob3B0aW9ucyAmJiBvcHRpb25zLT5ub19jYWNoZSkKIAkJc3RyYnVmX2FkZHN0cigmYnVmLCAiIG5vLWNhY2hlIik7Ci0JaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy0+a2VlcF9lcnJvcikKLQkJY3VybF9lYXN5X3NldG9wdChzbG90LT5jdXJsLCBDVVJMT1BUX0ZBSUxPTkVSUk9SLCAwKTsKIAlpZiAob3B0aW9ucyAmJiBvcHRpb25zLT5pbml0aWFsX3JlcXVlc3QgJiYKIAkgICAgaHR0cF9mb2xsb3dfY29uZmlnID09IEhUVFBfRk9MTE9XX0lOSVRJQUwpCiAJCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiwgMSk7CkBAIC0xODU2LDYgKzE5MDAsNyBAQAogCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9VUkwsIHVybCk7CiAJY3VybF9lYXN5X3NldG9wdChzbG90LT5jdXJsLCBDVVJMT1BUX0hUVFBIRUFERVIsIGhlYWRlcnMpOwogCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9FTkNPRElORywgIiIpOworCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9GQUlMT05FUlJPUiwgMCk7CiAKIAlyZXQgPSBydW5fb25lX3Nsb3Qoc2xvdCwgJnJlc3VsdHMpOwogCkBAIC0xOTUwLDE5ICsxOTk1LDI2IEBACiAJCXJldHVybiByZXQ7CiAKIAkvKgotCSAqIElmIHdlIGFyZSB1c2luZyBLRUVQX0VSUk9SLCB0aGUgcHJldmlvdXMgcmVxdWVzdCBtYXkgaGF2ZQotCSAqIHB1dCBjcnVmdCBpbnRvIG91ciBvdXRwdXQgc3RyZWFtOyB3ZSBzaG91bGQgY2xlYXIgaXQgb3V0IGJlZm9yZQotCSAqIG1ha2luZyBvdXIgbmV4dCByZXF1ZXN0LiBXZSBvbmx5IGtub3cgaG93IHRvIGRvIHRoaXMgZm9yCi0JICogdGhlIHN0cmJ1ZiBjYXNlLCBidXQgdGhhdCBpcyBlbm91Z2ggdG8gc2F0aXNmeSBjdXJyZW50IGNhbGxlcnMuCisJICogVGhlIHByZXZpb3VzIHJlcXVlc3QgbWF5IGhhdmUgcHV0IGNydWZ0IGludG8gb3VyIG91dHB1dCBzdHJlYW07IHdlCisJICogc2hvdWxkIGNsZWFyIGl0IG91dCBiZWZvcmUgbWFraW5nIG91ciBuZXh0IHJlcXVlc3QuCiAJICovCi0JaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy0+a2VlcF9lcnJvcikgewotCQlzd2l0Y2ggKHRhcmdldCkgewotCQljYXNlIEhUVFBfUkVRVUVTVF9TVFJCVUY6Ci0JCQlzdHJidWZfcmVzZXQocmVzdWx0KTsKLQkJCWJyZWFrOwotCQlkZWZhdWx0OgotCQkJQlVHKCJIVFRQX0tFRVBfRVJST1IgaXMgb25seSBzdXBwb3J0ZWQgd2l0aCBzdHJidWZzIik7CisJc3dpdGNoICh0YXJnZXQpIHsKKwljYXNlIEhUVFBfUkVRVUVTVF9TVFJCVUY6CisJCXN0cmJ1Zl9yZXNldChyZXN1bHQpOworCQlicmVhazsKKwljYXNlIEhUVFBfUkVRVUVTVF9GSUxFOgorCQlpZiAoZmZsdXNoKHJlc3VsdCkpIHsKKwkJCWVycm9yX2Vycm5vKCJ1bmFibGUgdG8gZmx1c2ggYSBmaWxlIik7CisJCQlyZXR1cm4gSFRUUF9TVEFSVF9GQUlMRUQ7CiAJCX0KKwkJcmV3aW5kKHJlc3VsdCk7CisJCWlmIChmdHJ1bmNhdGUoZmlsZW5vKHJlc3VsdCksIDApIDwgMCkgeworCQkJZXJyb3JfZXJybm8oInVuYWJsZSB0byB0cnVuY2F0ZSBhIGZpbGUiKTsKKwkJCXJldHVybiBIVFRQX1NUQVJUX0ZBSUxFRDsKKwkJfQorCQlicmVhazsKKwlkZWZhdWx0OgorCQlCVUcoIlVua25vd24gaHR0cF9yZXF1ZXN0IHRhcmdldCIpOwogCX0KIAogCWNyZWRlbnRpYWxfZmlsbCgmaHR0cF9hdXRoKTsKQEAgLTIwMjAsNyArMjA3Miw3IEBACiAJdXJsID0gcXVvdGVfcmVmX3VybChiYXNlLCByZWYtPm5hbWUpOwogCWlmIChodHRwX2dldF9zdHJidWYodXJsLCAmYnVmZmVyLCAmb3B0aW9ucykgPT0gSFRUUF9PSykgewogCQlzdHJidWZfcnRyaW0oJmJ1ZmZlcik7Ci0JCWlmIChidWZmZXIubGVuID09IDQwKQorCQlpZiAoYnVmZmVyLmxlbiA9PSB0aGVfaGFzaF9hbGdvLT5oZXhzeikKIAkJCXJldCA9IGdldF9vaWRfaGV4KGJ1ZmZlci5idWYsICZyZWYtPm9sZF9vaWQpOwogCQllbHNlIGlmIChzdGFydHNfd2l0aChidWZmZXIuYnVmLCAicmVmOiAiKSkgewogCQkJcmVmLT5zeW1yZWYgPSB4c3RyZHVwKGJ1ZmZlci5idWYgKyA1KTsKQEAgLTIwMzQsMTkgKzIwODYsMTkgQEAKIH0KIAogLyogSGVscGVycyBmb3IgZmV0Y2hpbmcgcGFja3MgKi8KLXN0YXRpYyBjaGFyICpmZXRjaF9wYWNrX2luZGV4KHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKmJhc2VfdXJsKQorc3RhdGljIGNoYXIgKmZldGNoX3BhY2tfaW5kZXgodW5zaWduZWQgY2hhciAqaGFzaCwgY29uc3QgY2hhciAqYmFzZV91cmwpCiB7CiAJY2hhciAqdXJsLCAqdG1wOwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAKIAlpZiAoaHR0cF9pc192ZXJib3NlKQotCQlmcHJpbnRmKHN0ZGVyciwgIkdldHRpbmcgaW5kZXggZm9yIHBhY2sgJXNcbiIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJZnByaW50ZihzdGRlcnIsICJHZXR0aW5nIGluZGV4IGZvciBwYWNrICVzXG4iLCBoYXNoX3RvX2hleChoYXNoKSk7CiAKIAllbmRfdXJsX3dpdGhfc2xhc2goJmJ1ZiwgYmFzZV91cmwpOwotCXN0cmJ1Zl9hZGRmKCZidWYsICJvYmplY3RzL3BhY2svcGFjay0lcy5pZHgiLCBzaGExX3RvX2hleChzaGExKSk7CisJc3RyYnVmX2FkZGYoJmJ1ZiwgIm9iamVjdHMvcGFjay9wYWNrLSVzLmlkeCIsIGhhc2hfdG9faGV4KGhhc2gpKTsKIAl1cmwgPSBzdHJidWZfZGV0YWNoKCZidWYsIE5VTEwpOwogCi0Jc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzLnRlbXAiLCBzaGExX3BhY2tfaW5kZXhfbmFtZShzaGExKSk7CisJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzLnRlbXAiLCBzaGExX3BhY2tfaW5kZXhfbmFtZShoYXNoKSk7CiAJdG1wID0gc3RyYnVmX2RldGFjaCgmYnVmLCBOVUxMKTsKIAogCWlmIChodHRwX2dldF9maWxlKHVybCwgdG1wLCBOVUxMKSAhPSBIVFRQX09LKSB7CkBAIC0yMTAyLDExICsyMTU0LDExIEBACiBpbnQgaHR0cF9nZXRfaW5mb19wYWNrcyhjb25zdCBjaGFyICpiYXNlX3VybCwgc3RydWN0IHBhY2tlZF9naXQgKipwYWNrc19oZWFkKQogewogCXN0cnVjdCBodHRwX2dldF9vcHRpb25zIG9wdGlvbnMgPSB7MH07Ci0JaW50IHJldCA9IDAsIGkgPSAwOwotCWNoYXIgKnVybCwgKmRhdGE7CisJaW50IHJldCA9IDA7CisJY2hhciAqdXJsOworCWNvbnN0IGNoYXIgKmRhdGE7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQl1bnNpZ25lZCBjaGFyIGhhc2hbR0lUX01BWF9SQVdTWl07Ci0JY29uc3QgdW5zaWduZWQgaGV4c3ogPSB0aGVfaGFzaF9hbGdvLT5oZXhzejsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAogCWVuZF91cmxfd2l0aF9zbGFzaCgmYnVmLCBiYXNlX3VybCk7CiAJc3RyYnVmX2FkZHN0cigmYnVmLCAib2JqZWN0cy9pbmZvL3BhY2tzIik7CkBAIC0yMTE4LDI0ICsyMTcwLDE3IEBACiAJCWdvdG8gY2xlYW51cDsKIAogCWRhdGEgPSBidWYuYnVmOwotCXdoaWxlIChpIDwgYnVmLmxlbikgewotCQlzd2l0Y2ggKGRhdGFbaV0pIHsKLQkJY2FzZSAnUCc6Ci0JCQlpKys7Ci0JCQlpZiAoaSArIGhleHN6ICsgMTIgPD0gYnVmLmxlbiAmJgotCQkJICAgIHN0YXJ0c193aXRoKGRhdGEgKyBpLCAiIHBhY2stIikgJiYKLQkJCSAgICBzdGFydHNfd2l0aChkYXRhICsgaSArIGhleHN6ICsgNiwgIi5wYWNrXG4iKSkgewotCQkJCWdldF9zaGExX2hleChkYXRhICsgaSArIDYsIGhhc2gpOwotCQkJCWZldGNoX2FuZF9zZXR1cF9wYWNrX2luZGV4KHBhY2tzX2hlYWQsIGhhc2gsCi0JCQkJCQkgICAgICBiYXNlX3VybCk7Ci0JCQkJaSArPSBoZXhzeiArIDExOwotCQkJCWJyZWFrOwotCQkJfQotCQlkZWZhdWx0OgotCQkJd2hpbGUgKGkgPCBidWYubGVuICYmIGRhdGFbaV0gIT0gJ1xuJykKLQkJCQlpKys7CisJd2hpbGUgKCpkYXRhKSB7CisJCWlmIChza2lwX3ByZWZpeChkYXRhLCAiUCBwYWNrLSIsICZkYXRhKSAmJgorCQkgICAgIXBhcnNlX29pZF9oZXgoZGF0YSwgJm9pZCwgJmRhdGEpICYmCisJCSAgICBza2lwX3ByZWZpeChkYXRhLCAiLnBhY2siLCAmZGF0YSkgJiYKKwkJICAgICgqZGF0YSA9PSAnXG4nIHx8ICpkYXRhID09ICdcMCcpKSB7CisJCQlmZXRjaF9hbmRfc2V0dXBfcGFja19pbmRleChwYWNrc19oZWFkLCBvaWQuaGFzaCwgYmFzZV91cmwpOworCQl9IGVsc2UgeworCQkJZGF0YSA9IHN0cmNocm51bChkYXRhLCAnXG4nKTsKIAkJfQotCQlpKys7CisJCWlmICgqZGF0YSkKKwkJCWRhdGErKzsgLyogc2tpcCBwYXN0IG5ld2xpbmUgKi8KIAl9CiAKIGNsZWFudXA6CkBAIC0yMTkxLDEwICsyMjM2LDEwIEBACiAJCXJldHVybiAtMTsKIAl9CiAKLQl1bmxpbmsoc2hhMV9wYWNrX2luZGV4X25hbWUocC0+c2hhMSkpOworCXVubGluayhzaGExX3BhY2tfaW5kZXhfbmFtZShwLT5oYXNoKSk7CiAKLQlpZiAoZmluYWxpemVfb2JqZWN0X2ZpbGUocHJlcS0+dG1wZmlsZS5idWYsIHNoYTFfcGFja19uYW1lKHAtPnNoYTEpKQotCSB8fCBmaW5hbGl6ZV9vYmplY3RfZmlsZSh0bXBfaWR4LCBzaGExX3BhY2tfaW5kZXhfbmFtZShwLT5zaGExKSkpIHsKKwlpZiAoZmluYWxpemVfb2JqZWN0X2ZpbGUocHJlcS0+dG1wZmlsZS5idWYsIHNoYTFfcGFja19uYW1lKHAtPmhhc2gpKQorCSB8fCBmaW5hbGl6ZV9vYmplY3RfZmlsZSh0bXBfaWR4LCBzaGExX3BhY2tfaW5kZXhfbmFtZShwLT5oYXNoKSkpIHsKIAkJZnJlZSh0bXBfaWR4KTsKIAkJcmV0dXJuIC0xOwogCX0KQEAgLTIyMTcsMTAgKzIyNjIsMTAgQEAKIAogCWVuZF91cmxfd2l0aF9zbGFzaCgmYnVmLCBiYXNlX3VybCk7CiAJc3RyYnVmX2FkZGYoJmJ1ZiwgIm9iamVjdHMvcGFjay9wYWNrLSVzLnBhY2siLAotCQlzaGExX3RvX2hleCh0YXJnZXQtPnNoYTEpKTsKKwkJaGFzaF90b19oZXgodGFyZ2V0LT5oYXNoKSk7CiAJcHJlcS0+dXJsID0gc3RyYnVmX2RldGFjaCgmYnVmLCBOVUxMKTsKIAotCXN0cmJ1Zl9hZGRmKCZwcmVxLT50bXBmaWxlLCAiJXMudGVtcCIsIHNoYTFfcGFja19uYW1lKHRhcmdldC0+c2hhMSkpOworCXN0cmJ1Zl9hZGRmKCZwcmVxLT50bXBmaWxlLCAiJXMudGVtcCIsIHNoYTFfcGFja19uYW1lKHRhcmdldC0+aGFzaCkpOwogCXByZXEtPnBhY2tmaWxlID0gZm9wZW4ocHJlcS0+dG1wZmlsZS5idWYsICJhIik7CiAJaWYgKCFwcmVxLT5wYWNrZmlsZSkgewogCQllcnJvcigiVW5hYmxlIHRvIG9wZW4gbG9jYWwgZmlsZSAlcyBmb3IgcGFjayIsCkBAIC0yMjQ0LDcgKzIyODksOCBAQAogCQlpZiAoaHR0cF9pc192ZXJib3NlKQogCQkJZnByaW50ZihzdGRlcnIsCiAJCQkJIlJlc3VtaW5nIGZldGNoIG9mIHBhY2sgJXMgYXQgYnl0ZSAlIlBSSXVNQVgiXG4iLAotCQkJCXNoYTFfdG9faGV4KHRhcmdldC0+c2hhMSksICh1aW50bWF4X3QpcHJldl9wb3NuKTsKKwkJCQloYXNoX3RvX2hleCh0YXJnZXQtPmhhc2gpLAorCQkJCSh1aW50bWF4X3QpcHJldl9wb3NuKTsKIAkJaHR0cF9vcHRfcmVxdWVzdF9yZW1haW5kZXIocHJlcS0+c2xvdC0+Y3VybCwgcHJldl9wb3NuKTsKIAl9CiAKQEAgLTIyNzQsMTQgKzIzMjAsMTQgQEAKIAkJCUJVRygiY3VybF9lYXN5X2dldGluZm8gZm9yIEhUVFAgY29kZSBmYWlsZWQ6ICVzIiwKIAkJCQljdXJsX2Vhc3lfc3RyZXJyb3IoYykpOwogCQlpZiAoc2xvdC0+aHR0cF9jb2RlID49IDMwMCkKLQkJCXJldHVybiBzaXplOworCQkJcmV0dXJuIG5tZW1iOwogCX0KIAogCWRvIHsKIAkJc3NpemVfdCByZXR2YWwgPSB4d3JpdGUoZnJlcS0+bG9jYWxmaWxlLAogCQkJCQkoY2hhciAqKSBwdHIgKyBwb3NuLCBzaXplIC0gcG9zbik7CiAJCWlmIChyZXR2YWwgPCAwKQotCQkJcmV0dXJuIHBvc247CisJCQlyZXR1cm4gcG9zbiAvIGVsdHNpemU7CiAJCXBvc24gKz0gcmV0dmFsOwogCX0gd2hpbGUgKHBvc24gPCBzaXplKTsKIApAQCAtMjI5MSwxNiArMjMzNywxNiBAQAogCQlmcmVxLT5zdHJlYW0ubmV4dF9vdXQgPSBleHBuOwogCQlmcmVxLT5zdHJlYW0uYXZhaWxfb3V0ID0gc2l6ZW9mKGV4cG4pOwogCQlmcmVxLT56cmV0ID0gZ2l0X2luZmxhdGUoJmZyZXEtPnN0cmVhbSwgWl9TWU5DX0ZMVVNIKTsKLQkJZ2l0X1NIQTFfVXBkYXRlKCZmcmVxLT5jLCBleHBuLAotCQkJCXNpemVvZihleHBuKSAtIGZyZXEtPnN0cmVhbS5hdmFpbF9vdXQpOworCQl0aGVfaGFzaF9hbGdvLT51cGRhdGVfZm4oJmZyZXEtPmMsIGV4cG4sCisJCQkJCSBzaXplb2YoZXhwbikgLSBmcmVxLT5zdHJlYW0uYXZhaWxfb3V0KTsKIAl9IHdoaWxlIChmcmVxLT5zdHJlYW0uYXZhaWxfaW4gJiYgZnJlcS0+enJldCA9PSBaX09LKTsKLQlyZXR1cm4gc2l6ZTsKKwlyZXR1cm4gbm1lbWI7CiB9CiAKIHN0cnVjdCBodHRwX29iamVjdF9yZXF1ZXN0ICpuZXdfaHR0cF9vYmplY3RfcmVxdWVzdChjb25zdCBjaGFyICpiYXNlX3VybCwKLQl1bnNpZ25lZCBjaGFyICpzaGExKQorCQkJCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQljaGFyICpoZXggPSBzaGExX3RvX2hleChzaGExKTsKKwljaGFyICpoZXggPSBvaWRfdG9faGV4KG9pZCk7CiAJc3RydWN0IHN0cmJ1ZiBmaWxlbmFtZSA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJidWYgcHJldmZpbGUgPSBTVFJCVUZfSU5JVDsKIAlpbnQgcHJldmxvY2FsOwpAQCAtMjMxMSwxMCArMjM1NywxMCBAQAogCiAJZnJlcSA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpmcmVxKSk7CiAJc3RyYnVmX2luaXQoJmZyZXEtPnRtcGZpbGUsIDApOwotCWhhc2hjcHkoZnJlcS0+c2hhMSwgc2hhMSk7CisJb2lkY3B5KCZmcmVxLT5vaWQsIG9pZCk7CiAJZnJlcS0+bG9jYWxmaWxlID0gLTE7CiAKLQlzaGExX2ZpbGVfbmFtZSh0aGVfcmVwb3NpdG9yeSwgJmZpbGVuYW1lLCBzaGExKTsKKwlsb29zZV9vYmplY3RfcGF0aCh0aGVfcmVwb3NpdG9yeSwgJmZpbGVuYW1lLCBvaWQpOwogCXN0cmJ1Zl9hZGRmKCZmcmVxLT50bXBmaWxlLCAiJXMudGVtcCIsIGZpbGVuYW1lLmJ1Zik7CiAKIAlzdHJidWZfYWRkZigmcHJldmZpbGUsICIlcy5wcmV2IiwgZmlsZW5hbWUuYnVmKTsKQEAgLTIzNTAsNyArMjM5Niw3IEBACiAKIAlnaXRfaW5mbGF0ZV9pbml0KCZmcmVxLT5zdHJlYW0pOwogCi0JZ2l0X1NIQTFfSW5pdCgmZnJlcS0+Yyk7CisJdGhlX2hhc2hfYWxnby0+aW5pdF9mbigmZnJlcS0+Yyk7CiAKIAlmcmVxLT51cmwgPSBnZXRfcmVtb3RlX29iamVjdF91cmwoYmFzZV91cmwsIGhleCwgMCk7CiAKQEAgLTIzODUsNyArMjQzMSw3IEBACiAJaWYgKHByZXZfcmVhZCA9PSAtMSkgewogCQltZW1zZXQoJmZyZXEtPnN0cmVhbSwgMCwgc2l6ZW9mKGZyZXEtPnN0cmVhbSkpOwogCQlnaXRfaW5mbGF0ZV9pbml0KCZmcmVxLT5zdHJlYW0pOwotCQlnaXRfU0hBMV9Jbml0KCZmcmVxLT5jKTsKKwkJdGhlX2hhc2hfYWxnby0+aW5pdF9mbigmZnJlcS0+Yyk7CiAJCWlmIChwcmV2X3Bvc24+MCkgewogCQkJcHJldl9wb3NuID0gMDsKIAkJCWxzZWVrKGZyZXEtPmxvY2FsZmlsZSwgMCwgU0VFS19TRVQpOwpAQCAtMjQ1NiwxNiArMjUwMiwxNiBAQAogCX0KIAogCWdpdF9pbmZsYXRlX2VuZCgmZnJlcS0+c3RyZWFtKTsKLQlnaXRfU0hBMV9GaW5hbChmcmVxLT5yZWFsX3NoYTEsICZmcmVxLT5jKTsKKwl0aGVfaGFzaF9hbGdvLT5maW5hbF9mbihmcmVxLT5yZWFsX29pZC5oYXNoLCAmZnJlcS0+Yyk7CiAJaWYgKGZyZXEtPnpyZXQgIT0gWl9TVFJFQU1fRU5EKSB7CiAJCXVubGlua19vcl93YXJuKGZyZXEtPnRtcGZpbGUuYnVmKTsKIAkJcmV0dXJuIC0xOwogCX0KLQlpZiAoIWhhc2hlcShmcmVxLT5zaGExLCBmcmVxLT5yZWFsX3NoYTEpKSB7CisJaWYgKCFvaWRlcSgmZnJlcS0+b2lkLCAmZnJlcS0+cmVhbF9vaWQpKSB7CiAJCXVubGlua19vcl93YXJuKGZyZXEtPnRtcGZpbGUuYnVmKTsKIAkJcmV0dXJuIC0xOwogCX0KLQlzaGExX2ZpbGVfbmFtZSh0aGVfcmVwb3NpdG9yeSwgJmZpbGVuYW1lLCBmcmVxLT5zaGExKTsKKwlsb29zZV9vYmplY3RfcGF0aCh0aGVfcmVwb3NpdG9yeSwgJmZpbGVuYW1lLCAmZnJlcS0+b2lkKTsKIAlmcmVxLT5yZW5hbWUgPSBmaW5hbGl6ZV9vYmplY3RfZmlsZShmcmVxLT50bXBmaWxlLmJ1ZiwgZmlsZW5hbWUuYnVmKTsKIAlzdHJidWZfcmVsZWFzZSgmZmlsZW5hbWUpOwogCmRpZmYgLS1naXQgYS9odHRwLmggYi9odHRwLmgKaW5kZXggZDMwNWNhMS4uNWUwYWQ3MiAxMDA2NDQKLS0tIGEvaHR0cC5oCisrKyBiL2h0dHAuaApAQCAtMjUsOCArMjUsMTIgQEAKICNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNIDwgMHgwNzA3MDQKICNkZWZpbmUgY3VybF9nbG9iYWxfY2xlYW51cCgpIGRvIHsgLyogbm90aGluZyAqLyB9IHdoaWxlICgwKQogI2VuZGlmCisKICNpZiBMSUJDVVJMX1ZFUlNJT05fTlVNIDwgMHgwNzA4MDAKICNkZWZpbmUgY3VybF9nbG9iYWxfaW5pdChhKSBkbyB7IC8qIG5vdGhpbmcgKi8gfSB3aGlsZSAoMCkKKyNlbGlmIExJQkNVUkxfVkVSU0lPTl9OVU0gPj0gMHgwNzBjMDAKKyNkZWZpbmUgY3VybF9nbG9iYWxfaW5pdChhKSBjdXJsX2dsb2JhbF9pbml0X21lbShhLCB4bWFsbG9jLCBmcmVlLCBcCisJCQkJCQl4cmVhbGxvYywgeHN0cmR1cCwgeGNhbGxvYykKICNlbmRpZgogCiAjaWYgKExJQkNVUkxfVkVSU0lPTl9OVU0gPCAweDA3MGMwNCkgfHwgKExJQkNVUkxfVkVSU0lPTl9OVU0gPT0gMHgwNzEwMDApCkBAIC03NSwxOCArNzksMTggQEAKIH07CiAKIC8qIEN1cmwgcmVxdWVzdCByZWFkL3dyaXRlIGNhbGxiYWNrcyAqLwotZXh0ZXJuIHNpemVfdCBmcmVhZF9idWZmZXIoY2hhciAqcHRyLCBzaXplX3QgZWx0c2l6ZSwgc2l6ZV90IG5tZW1iLCB2b2lkICpzdHJidWYpOwotZXh0ZXJuIHNpemVfdCBmd3JpdGVfYnVmZmVyKGNoYXIgKnB0ciwgc2l6ZV90IGVsdHNpemUsIHNpemVfdCBubWVtYiwgdm9pZCAqc3RyYnVmKTsKLWV4dGVybiBzaXplX3QgZndyaXRlX251bGwoY2hhciAqcHRyLCBzaXplX3QgZWx0c2l6ZSwgc2l6ZV90IG5tZW1iLCB2b2lkICpzdHJidWYpOworc2l6ZV90IGZyZWFkX2J1ZmZlcihjaGFyICpwdHIsIHNpemVfdCBlbHRzaXplLCBzaXplX3Qgbm1lbWIsIHZvaWQgKnN0cmJ1Zik7CitzaXplX3QgZndyaXRlX2J1ZmZlcihjaGFyICpwdHIsIHNpemVfdCBlbHRzaXplLCBzaXplX3Qgbm1lbWIsIHZvaWQgKnN0cmJ1Zik7CitzaXplX3QgZndyaXRlX251bGwoY2hhciAqcHRyLCBzaXplX3QgZWx0c2l6ZSwgc2l6ZV90IG5tZW1iLCB2b2lkICpzdHJidWYpOwogI2lmbmRlZiBOT19DVVJMX0lPQ1RMCi1leHRlcm4gY3VybGlvZXJyIGlvY3RsX2J1ZmZlcihDVVJMICpoYW5kbGUsIGludCBjbWQsIHZvaWQgKmNsaWVudHApOworY3VybGlvZXJyIGlvY3RsX2J1ZmZlcihDVVJMICpoYW5kbGUsIGludCBjbWQsIHZvaWQgKmNsaWVudHApOwogI2VuZGlmCiAKIC8qIFNsb3QgbGlmZWN5Y2xlIGZ1bmN0aW9ucyAqLwotZXh0ZXJuIHN0cnVjdCBhY3RpdmVfcmVxdWVzdF9zbG90ICpnZXRfYWN0aXZlX3Nsb3Qodm9pZCk7Ci1leHRlcm4gaW50IHN0YXJ0X2FjdGl2ZV9zbG90KHN0cnVjdCBhY3RpdmVfcmVxdWVzdF9zbG90ICpzbG90KTsKLWV4dGVybiB2b2lkIHJ1bl9hY3RpdmVfc2xvdChzdHJ1Y3QgYWN0aXZlX3JlcXVlc3Rfc2xvdCAqc2xvdCk7Ci1leHRlcm4gdm9pZCBmaW5pc2hfYWxsX2FjdGl2ZV9zbG90cyh2b2lkKTsKK3N0cnVjdCBhY3RpdmVfcmVxdWVzdF9zbG90ICpnZXRfYWN0aXZlX3Nsb3Qodm9pZCk7CitpbnQgc3RhcnRfYWN0aXZlX3Nsb3Qoc3RydWN0IGFjdGl2ZV9yZXF1ZXN0X3Nsb3QgKnNsb3QpOwordm9pZCBydW5fYWN0aXZlX3Nsb3Qoc3RydWN0IGFjdGl2ZV9yZXF1ZXN0X3Nsb3QgKnNsb3QpOwordm9pZCBmaW5pc2hfYWxsX2FjdGl2ZV9zbG90cyh2b2lkKTsKIAogLyoKICAqIFRoaXMgd2lsbCBydW4gb25lIHNsb3QgdG8gY29tcGxldGlvbiBpbiBhIGJsb2NraW5nIG1hbm5lciwgc2ltaWxhciB0byBob3cKQEAgLTk4LDE1ICsxMDIsMTUgQEAKIAkJIHN0cnVjdCBzbG90X3Jlc3VsdHMgKnJlc3VsdHMpOwogCiAjaWZkZWYgVVNFX0NVUkxfTVVMVEkKLWV4dGVybiB2b2lkIGZpbGxfYWN0aXZlX3Nsb3RzKHZvaWQpOwotZXh0ZXJuIHZvaWQgYWRkX2ZpbGxfZnVuY3Rpb24odm9pZCAqZGF0YSwgaW50ICgqZmlsbCkodm9pZCAqKSk7Ci1leHRlcm4gdm9pZCBzdGVwX2FjdGl2ZV9zbG90cyh2b2lkKTsKK3ZvaWQgZmlsbF9hY3RpdmVfc2xvdHModm9pZCk7Cit2b2lkIGFkZF9maWxsX2Z1bmN0aW9uKHZvaWQgKmRhdGEsIGludCAoKmZpbGwpKHZvaWQgKikpOwordm9pZCBzdGVwX2FjdGl2ZV9zbG90cyh2b2lkKTsKICNlbmRpZgogCi1leHRlcm4gdm9pZCBodHRwX2luaXQoc3RydWN0IHJlbW90ZSAqcmVtb3RlLCBjb25zdCBjaGFyICp1cmwsCi0JCSAgICAgIGludCBwcm9hY3RpdmVfYXV0aCk7Ci1leHRlcm4gdm9pZCBodHRwX2NsZWFudXAodm9pZCk7Ci1leHRlcm4gc3RydWN0IGN1cmxfc2xpc3QgKmh0dHBfY29weV9kZWZhdWx0X2hlYWRlcnModm9pZCk7Cit2b2lkIGh0dHBfaW5pdChzdHJ1Y3QgcmVtb3RlICpyZW1vdGUsIGNvbnN0IGNoYXIgKnVybCwKKwkgICAgICAgaW50IHByb2FjdGl2ZV9hdXRoKTsKK3ZvaWQgaHR0cF9jbGVhbnVwKHZvaWQpOworc3RydWN0IGN1cmxfc2xpc3QgKmh0dHBfY29weV9kZWZhdWx0X2hlYWRlcnModm9pZCk7CiAKIGV4dGVybiBsb25nIGludCBnaXRfY3VybF9pcHJlc29sdmU7CiBleHRlcm4gaW50IGFjdGl2ZV9yZXF1ZXN0czsKQEAgLTEzNiwxNyArMTQwLDI1IEBACiAKICNkZWZpbmUgbWlzc2luZ190YXJnZXQoYSkgbWlzc2luZ19fdGFyZ2V0KChhKS0+aHR0cF9jb2RlLCAoYSktPmN1cmxfcmVzdWx0KQogCisvKgorICogTm9ybWFsaXplIGN1cmwgcmVzdWx0cyB0byBoYW5kbGUgQ1VSTF9GQUlMT05FUlJPUiAob3IgbGFjayB0aGVyZW9mKS4gRmFpbGluZworICogaHR0cCBjb2RlcyBoYXZlIHRoZWlyICJyZXN1bHQiIGNvbnZlcnRlZCB0byBDVVJMRV9IVFRQX1JFVFVSTkVEX0VSUk9SLCBhbmQKKyAqIGFuIGFwcHJvcHJpYXRlIHN0cmluZyBwbGFjZWQgaW4gdGhlIGVycm9yc3RyIGJ1ZmZlciAocGFzcyBjdXJsX2Vycm9yc3RyIGlmCisgKiB5b3UgZG9uJ3QgaGF2ZSBhIGN1c3RvbSBidWZmZXIpLgorICovCit2b2lkIG5vcm1hbGl6ZV9jdXJsX3Jlc3VsdChDVVJMY29kZSAqcmVzdWx0LCBsb25nIGh0dHBfY29kZSwgY2hhciAqZXJyb3JzdHIsCisJCQkgICBzaXplX3QgZXJyb3JsZW4pOworCiAvKiBIZWxwZXJzIGZvciBtb2RpZnlpbmcgYW5kIGNyZWF0aW5nIFVSTHMgKi8KLWV4dGVybiB2b2lkIGFwcGVuZF9yZW1vdGVfb2JqZWN0X3VybChzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IGNoYXIgKnVybCwKLQkJCQkgICAgIGNvbnN0IGNoYXIgKmhleCwKLQkJCQkgICAgIGludCBvbmx5X3R3b19kaWdpdF9wcmVmaXgpOwotZXh0ZXJuIGNoYXIgKmdldF9yZW1vdGVfb2JqZWN0X3VybChjb25zdCBjaGFyICp1cmwsIGNvbnN0IGNoYXIgKmhleCwKLQkJCQkgICBpbnQgb25seV90d29fZGlnaXRfcHJlZml4KTsKK3ZvaWQgYXBwZW5kX3JlbW90ZV9vYmplY3RfdXJsKHN0cnVjdCBzdHJidWYgKmJ1ZiwgY29uc3QgY2hhciAqdXJsLAorCQkJICAgICAgY29uc3QgY2hhciAqaGV4LAorCQkJICAgICAgaW50IG9ubHlfdHdvX2RpZ2l0X3ByZWZpeCk7CitjaGFyICpnZXRfcmVtb3RlX29iamVjdF91cmwoY29uc3QgY2hhciAqdXJsLCBjb25zdCBjaGFyICpoZXgsCisJCQkgICAgaW50IG9ubHlfdHdvX2RpZ2l0X3ByZWZpeCk7CiAKIC8qIE9wdGlvbnMgZm9yIGh0dHBfZ2V0XyooKSAqLwogc3RydWN0IGh0dHBfZ2V0X29wdGlvbnMgewogCXVuc2lnbmVkIG5vX2NhY2hlOjEsCi0JCSBrZWVwX2Vycm9yOjEsCiAJCSBpbml0aWFsX3JlcXVlc3Q6MTsKIAogCS8qIElmIG5vbi1OVUxMLCByZXR1cm5zIHRoZSBjb250ZW50LXR5cGUgb2YgdGhlIHJlc3BvbnNlLiAqLwpAQCAtMTk2LDExICsyMDgsMTEgQEAKICAqLwogaW50IGh0dHBfZ2V0X3N0cmJ1Zihjb25zdCBjaGFyICp1cmwsIHN0cnVjdCBzdHJidWYgKnJlc3VsdCwgc3RydWN0IGh0dHBfZ2V0X29wdGlvbnMgKm9wdGlvbnMpOwogCi1leHRlcm4gaW50IGh0dHBfZmV0Y2hfcmVmKGNvbnN0IGNoYXIgKmJhc2UsIHN0cnVjdCByZWYgKnJlZik7CitpbnQgaHR0cF9mZXRjaF9yZWYoY29uc3QgY2hhciAqYmFzZSwgc3RydWN0IHJlZiAqcmVmKTsKIAogLyogSGVscGVycyBmb3IgZmV0Y2hpbmcgcGFja3MgKi8KLWV4dGVybiBpbnQgaHR0cF9nZXRfaW5mb19wYWNrcyhjb25zdCBjaGFyICpiYXNlX3VybCwKLQlzdHJ1Y3QgcGFja2VkX2dpdCAqKnBhY2tzX2hlYWQpOworaW50IGh0dHBfZ2V0X2luZm9fcGFja3MoY29uc3QgY2hhciAqYmFzZV91cmwsCisJCQlzdHJ1Y3QgcGFja2VkX2dpdCAqKnBhY2tzX2hlYWQpOwogCiBzdHJ1Y3QgaHR0cF9wYWNrX3JlcXVlc3QgewogCWNoYXIgKnVybDsKQEAgLTIxMSwxMCArMjIzLDEwIEBACiAJc3RydWN0IGFjdGl2ZV9yZXF1ZXN0X3Nsb3QgKnNsb3Q7CiB9OwogCi1leHRlcm4gc3RydWN0IGh0dHBfcGFja19yZXF1ZXN0ICpuZXdfaHR0cF9wYWNrX3JlcXVlc3QoCitzdHJ1Y3QgaHR0cF9wYWNrX3JlcXVlc3QgKm5ld19odHRwX3BhY2tfcmVxdWVzdCgKIAlzdHJ1Y3QgcGFja2VkX2dpdCAqdGFyZ2V0LCBjb25zdCBjaGFyICpiYXNlX3VybCk7Ci1leHRlcm4gaW50IGZpbmlzaF9odHRwX3BhY2tfcmVxdWVzdChzdHJ1Y3QgaHR0cF9wYWNrX3JlcXVlc3QgKnByZXEpOwotZXh0ZXJuIHZvaWQgcmVsZWFzZV9odHRwX3BhY2tfcmVxdWVzdChzdHJ1Y3QgaHR0cF9wYWNrX3JlcXVlc3QgKnByZXEpOworaW50IGZpbmlzaF9odHRwX3BhY2tfcmVxdWVzdChzdHJ1Y3QgaHR0cF9wYWNrX3JlcXVlc3QgKnByZXEpOwordm9pZCByZWxlYXNlX2h0dHBfcGFja19yZXF1ZXN0KHN0cnVjdCBodHRwX3BhY2tfcmVxdWVzdCAqcHJlcSk7CiAKIC8qIEhlbHBlcnMgZm9yIGZldGNoaW5nIG9iamVjdCAqLwogc3RydWN0IGh0dHBfb2JqZWN0X3JlcXVlc3QgewpAQCAtMjI0LDIxICsyMzYsMjEgQEAKIAlDVVJMY29kZSBjdXJsX3Jlc3VsdDsKIAljaGFyIGVycm9yc3RyW0NVUkxfRVJST1JfU0laRV07CiAJbG9uZyBodHRwX2NvZGU7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQl1bnNpZ25lZCBjaGFyIHJlYWxfc2hhMVsyMF07Ci0JZ2l0X1NIQV9DVFggYzsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwlzdHJ1Y3Qgb2JqZWN0X2lkIHJlYWxfb2lkOworCWdpdF9oYXNoX2N0eCBjOwogCWdpdF96c3RyZWFtIHN0cmVhbTsKIAlpbnQgenJldDsKIAlpbnQgcmVuYW1lOwogCXN0cnVjdCBhY3RpdmVfcmVxdWVzdF9zbG90ICpzbG90OwogfTsKIAotZXh0ZXJuIHN0cnVjdCBodHRwX29iamVjdF9yZXF1ZXN0ICpuZXdfaHR0cF9vYmplY3RfcmVxdWVzdCgKLQljb25zdCBjaGFyICpiYXNlX3VybCwgdW5zaWduZWQgY2hhciAqc2hhMSk7Ci1leHRlcm4gdm9pZCBwcm9jZXNzX2h0dHBfb2JqZWN0X3JlcXVlc3Qoc3RydWN0IGh0dHBfb2JqZWN0X3JlcXVlc3QgKmZyZXEpOwotZXh0ZXJuIGludCBmaW5pc2hfaHR0cF9vYmplY3RfcmVxdWVzdChzdHJ1Y3QgaHR0cF9vYmplY3RfcmVxdWVzdCAqZnJlcSk7Ci1leHRlcm4gdm9pZCBhYm9ydF9odHRwX29iamVjdF9yZXF1ZXN0KHN0cnVjdCBodHRwX29iamVjdF9yZXF1ZXN0ICpmcmVxKTsKLWV4dGVybiB2b2lkIHJlbGVhc2VfaHR0cF9vYmplY3RfcmVxdWVzdChzdHJ1Y3QgaHR0cF9vYmplY3RfcmVxdWVzdCAqZnJlcSk7CitzdHJ1Y3QgaHR0cF9vYmplY3RfcmVxdWVzdCAqbmV3X2h0dHBfb2JqZWN0X3JlcXVlc3QoCisJY29uc3QgY2hhciAqYmFzZV91cmwsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7Cit2b2lkIHByb2Nlc3NfaHR0cF9vYmplY3RfcmVxdWVzdChzdHJ1Y3QgaHR0cF9vYmplY3RfcmVxdWVzdCAqZnJlcSk7CitpbnQgZmluaXNoX2h0dHBfb2JqZWN0X3JlcXVlc3Qoc3RydWN0IGh0dHBfb2JqZWN0X3JlcXVlc3QgKmZyZXEpOwordm9pZCBhYm9ydF9odHRwX29iamVjdF9yZXF1ZXN0KHN0cnVjdCBodHRwX29iamVjdF9yZXF1ZXN0ICpmcmVxKTsKK3ZvaWQgcmVsZWFzZV9odHRwX29iamVjdF9yZXF1ZXN0KHN0cnVjdCBodHRwX29iamVjdF9yZXF1ZXN0ICpmcmVxKTsKIAogLyogc2V0dXAgcm91dGluZSBmb3IgY3VybF9lYXN5X3NldG9wdCBDVVJMT1BUX0RFQlVHRlVOQ1RJT04gKi8KIHZvaWQgc2V0dXBfY3VybF90cmFjZShDVVJMICpoYW5kbGUpOwpkaWZmIC0tZ2l0IGEvaWRlbnQuYyBiL2lkZW50LmMKaW5kZXggMzNiY2Y0MC4uZTY2NmVlNCAxMDA2NDQKLS0tIGEvaWRlbnQuYworKysgYi9pZGVudC5jCkBAIC0xMSw2ICsxMSwxMCBAQAogc3RhdGljIHN0cnVjdCBzdHJidWYgZ2l0X2RlZmF1bHRfbmFtZSA9IFNUUkJVRl9JTklUOwogc3RhdGljIHN0cnVjdCBzdHJidWYgZ2l0X2RlZmF1bHRfZW1haWwgPSBTVFJCVUZfSU5JVDsKIHN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIGdpdF9kZWZhdWx0X2RhdGUgPSBTVFJCVUZfSU5JVDsKK3N0YXRpYyBzdHJ1Y3Qgc3RyYnVmIGdpdF9hdXRob3JfbmFtZSA9IFNUUkJVRl9JTklUOworc3RhdGljIHN0cnVjdCBzdHJidWYgZ2l0X2F1dGhvcl9lbWFpbCA9IFNUUkJVRl9JTklUOworc3RhdGljIHN0cnVjdCBzdHJidWYgZ2l0X2NvbW1pdHRlcl9uYW1lID0gU1RSQlVGX0lOSVQ7CitzdGF0aWMgc3RydWN0IHN0cmJ1ZiBnaXRfY29tbWl0dGVyX2VtYWlsID0gU1RSQlVGX0lOSVQ7CiBzdGF0aWMgaW50IGRlZmF1bHRfZW1haWxfaXNfYm9ndXM7CiBzdGF0aWMgaW50IGRlZmF1bHRfbmFtZV9pc19ib2d1czsKIApAQCAtMzU1LDcgKzM1OSw3IEBACiAgICAiXG4iKTsKIAogY29uc3QgY2hhciAqZm10X2lkZW50KGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmVtYWlsLAotCQkgICAgICBjb25zdCBjaGFyICpkYXRlX3N0ciwgaW50IGZsYWcpCisJCSAgICAgIGVudW0gd2FudF9pZGVudCB3aG9zZV9pZGVudCwgY29uc3QgY2hhciAqZGF0ZV9zdHIsIGludCBmbGFnKQogewogCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIGlkZW50ID0gU1RSQlVGX0lOSVQ7CiAJaW50IHN0cmljdCA9IChmbGFnICYgSURFTlRfU1RSSUNUKTsKQEAgLTM2Myw2ICszNjcsMTIgQEAKIAlpbnQgd2FudF9uYW1lID0gIShmbGFnICYgSURFTlRfTk9fTkFNRSk7CiAKIAlpZiAoIWVtYWlsKSB7CisJCWlmICh3aG9zZV9pZGVudCA9PSBXQU5UX0FVVEhPUl9JREVOVCAmJiBnaXRfYXV0aG9yX2VtYWlsLmxlbikKKwkJCWVtYWlsID0gZ2l0X2F1dGhvcl9lbWFpbC5idWY7CisJCWVsc2UgaWYgKHdob3NlX2lkZW50ID09IFdBTlRfQ09NTUlUVEVSX0lERU5UICYmIGdpdF9jb21taXR0ZXJfZW1haWwubGVuKQorCQkJZW1haWwgPSBnaXRfY29tbWl0dGVyX2VtYWlsLmJ1ZjsKKwl9CisJaWYgKCFlbWFpbCkgewogCQlpZiAoc3RyaWN0ICYmIGlkZW50X3VzZV9jb25maWdfb25seQogCQkgICAgJiYgIShpZGVudF9jb25maWdfZ2l2ZW4gJiBJREVOVF9NQUlMX0dJVkVOKSkgewogCQkJZnB1dHMoXyhlbnZfaGludCksIHN0ZGVycik7CkBAIC0zNzgsNiArMzg4LDEzIEBACiAJaWYgKHdhbnRfbmFtZSkgewogCQlpbnQgdXNpbmdfZGVmYXVsdCA9IDA7CiAJCWlmICghbmFtZSkgeworCQkJaWYgKHdob3NlX2lkZW50ID09IFdBTlRfQVVUSE9SX0lERU5UICYmIGdpdF9hdXRob3JfbmFtZS5sZW4pCisJCQkJbmFtZSA9IGdpdF9hdXRob3JfbmFtZS5idWY7CisJCQllbHNlIGlmICh3aG9zZV9pZGVudCA9PSBXQU5UX0NPTU1JVFRFUl9JREVOVCAmJgorCQkJCQlnaXRfY29tbWl0dGVyX25hbWUubGVuKQorCQkJCW5hbWUgPSBnaXRfY29tbWl0dGVyX25hbWUuYnVmOworCQl9CisJCWlmICghbmFtZSkgewogCQkJaWYgKHN0cmljdCAmJiBpZGVudF91c2VfY29uZmlnX29ubHkKIAkJCSAgICAmJiAhKGlkZW50X2NvbmZpZ19naXZlbiAmIElERU5UX05BTUVfR0lWRU4pKSB7CiAJCQkJZnB1dHMoXyhlbnZfaGludCksIHN0ZGVycik7CkBAIC00MjUsOSArNDQyLDI1IEBACiAJcmV0dXJuIGlkZW50LmJ1ZjsKIH0KIAotY29uc3QgY2hhciAqZm10X25hbWUoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqZW1haWwpCitjb25zdCBjaGFyICpmbXRfbmFtZShlbnVtIHdhbnRfaWRlbnQgd2hvc2VfaWRlbnQpCiB7Ci0JcmV0dXJuIGZtdF9pZGVudChuYW1lLCBlbWFpbCwgTlVMTCwgSURFTlRfU1RSSUNUIHwgSURFTlRfTk9fREFURSk7CisJY2hhciAqbmFtZSA9IE5VTEw7CisJY2hhciAqZW1haWwgPSBOVUxMOworCisJc3dpdGNoICh3aG9zZV9pZGVudCkgeworCWNhc2UgV0FOVF9CTEFOS19JREVOVDoKKwkJYnJlYWs7CisJY2FzZSBXQU5UX0FVVEhPUl9JREVOVDoKKwkJbmFtZSA9IGdldGVudigiR0lUX0FVVEhPUl9OQU1FIik7CisJCWVtYWlsID0gZ2V0ZW52KCJHSVRfQVVUSE9SX0VNQUlMIik7CisJCWJyZWFrOworCWNhc2UgV0FOVF9DT01NSVRURVJfSURFTlQ6CisJCW5hbWUgPSBnZXRlbnYoIkdJVF9DT01NSVRURVJfTkFNRSIpOworCQllbWFpbCA9IGdldGVudigiR0lUX0NPTU1JVFRFUl9FTUFJTCIpOworCQlicmVhazsKKwl9CisJcmV0dXJuIGZtdF9pZGVudChuYW1lLCBlbWFpbCwgd2hvc2VfaWRlbnQsIE5VTEwsCisJCQlJREVOVF9TVFJJQ1QgfCBJREVOVF9OT19EQVRFKTsKIH0KIAogY29uc3QgY2hhciAqZ2l0X2F1dGhvcl9pbmZvKGludCBmbGFnKQpAQCAtNDM4LDYgKzQ3MSw3IEBACiAJCWF1dGhvcl9pZGVudF9leHBsaWNpdGx5X2dpdmVuIHw9IElERU5UX01BSUxfR0lWRU47CiAJcmV0dXJuIGZtdF9pZGVudChnZXRlbnYoIkdJVF9BVVRIT1JfTkFNRSIpLAogCQkJIGdldGVudigiR0lUX0FVVEhPUl9FTUFJTCIpLAorCQkJIFdBTlRfQVVUSE9SX0lERU5ULAogCQkJIGdldGVudigiR0lUX0FVVEhPUl9EQVRFIiksCiAJCQkgZmxhZyk7CiB9CkBAIC00NTAsNiArNDg0LDcgQEAKIAkJY29tbWl0dGVyX2lkZW50X2V4cGxpY2l0bHlfZ2l2ZW4gfD0gSURFTlRfTUFJTF9HSVZFTjsKIAlyZXR1cm4gZm10X2lkZW50KGdldGVudigiR0lUX0NPTU1JVFRFUl9OQU1FIiksCiAJCQkgZ2V0ZW52KCJHSVRfQ09NTUlUVEVSX0VNQUlMIiksCisJCQkgV0FOVF9DT01NSVRURVJfSURFTlQsCiAJCQkgZ2V0ZW52KCJHSVRfQ09NTUlUVEVSX0RBVEUiKSwKIAkJCSBmbGFnKTsKIH0KQEAgLTQ3MywxMCArNTA4LDQ1IEBACiAJcmV0dXJuIGlkZW50X2lzX3N1ZmZpY2llbnQoYXV0aG9yX2lkZW50X2V4cGxpY2l0bHlfZ2l2ZW4pOwogfQogCi1pbnQgZ2l0X2lkZW50X2NvbmZpZyhjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpkYXRhKQorc3RhdGljIGludCBzZXRfaWRlbnQoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSkKIHsKLQlpZiAoIXN0cmNtcCh2YXIsICJ1c2VyLnVzZWNvbmZpZ29ubHkiKSkgewotCQlpZGVudF91c2VfY29uZmlnX29ubHkgPSBnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSk7CisJaWYgKCFzdHJjbXAodmFyLCAiYXV0aG9yLm5hbWUiKSkgeworCQlpZiAoIXZhbHVlKQorCQkJcmV0dXJuIGNvbmZpZ19lcnJvcl9ub25ib29sKHZhcik7CisJCXN0cmJ1Zl9yZXNldCgmZ2l0X2F1dGhvcl9uYW1lKTsKKwkJc3RyYnVmX2FkZHN0cigmZ2l0X2F1dGhvcl9uYW1lLCB2YWx1ZSk7CisJCWF1dGhvcl9pZGVudF9leHBsaWNpdGx5X2dpdmVuIHw9IElERU5UX05BTUVfR0lWRU47CisJCWlkZW50X2NvbmZpZ19naXZlbiB8PSBJREVOVF9OQU1FX0dJVkVOOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoIXN0cmNtcCh2YXIsICJhdXRob3IuZW1haWwiKSkgeworCQlpZiAoIXZhbHVlKQorCQkJcmV0dXJuIGNvbmZpZ19lcnJvcl9ub25ib29sKHZhcik7CisJCXN0cmJ1Zl9yZXNldCgmZ2l0X2F1dGhvcl9lbWFpbCk7CisJCXN0cmJ1Zl9hZGRzdHIoJmdpdF9hdXRob3JfZW1haWwsIHZhbHVlKTsKKwkJYXV0aG9yX2lkZW50X2V4cGxpY2l0bHlfZ2l2ZW4gfD0gSURFTlRfTUFJTF9HSVZFTjsKKwkJaWRlbnRfY29uZmlnX2dpdmVuIHw9IElERU5UX01BSUxfR0lWRU47CisJCXJldHVybiAwOworCX0KKworCWlmICghc3RyY21wKHZhciwgImNvbW1pdHRlci5uYW1lIikpIHsKKwkJaWYgKCF2YWx1ZSkKKwkJCXJldHVybiBjb25maWdfZXJyb3Jfbm9uYm9vbCh2YXIpOworCQlzdHJidWZfcmVzZXQoJmdpdF9jb21taXR0ZXJfbmFtZSk7CisJCXN0cmJ1Zl9hZGRzdHIoJmdpdF9jb21taXR0ZXJfbmFtZSwgdmFsdWUpOworCQljb21taXR0ZXJfaWRlbnRfZXhwbGljaXRseV9naXZlbiB8PSBJREVOVF9OQU1FX0dJVkVOOworCQlpZGVudF9jb25maWdfZ2l2ZW4gfD0gSURFTlRfTkFNRV9HSVZFTjsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKCFzdHJjbXAodmFyLCAiY29tbWl0dGVyLmVtYWlsIikpIHsKKwkJaWYgKCF2YWx1ZSkKKwkJCXJldHVybiBjb25maWdfZXJyb3Jfbm9uYm9vbCh2YXIpOworCQlzdHJidWZfcmVzZXQoJmdpdF9jb21taXR0ZXJfZW1haWwpOworCQlzdHJidWZfYWRkc3RyKCZnaXRfY29tbWl0dGVyX2VtYWlsLCB2YWx1ZSk7CisJCWNvbW1pdHRlcl9pZGVudF9leHBsaWNpdGx5X2dpdmVuIHw9IElERU5UX01BSUxfR0lWRU47CisJCWlkZW50X2NvbmZpZ19naXZlbiB8PSBJREVOVF9NQUlMX0dJVkVOOwogCQlyZXR1cm4gMDsKIAl9CiAKQEAgLTUwNSw2ICs1NzUsMzYgQEAKIAlyZXR1cm4gMDsKIH0KIAoraW50IGdpdF9pZGVudF9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqZGF0YSkKK3sKKwlpZiAoIXN0cmNtcCh2YXIsICJ1c2VyLnVzZWNvbmZpZ29ubHkiKSkgeworCQlpZGVudF91c2VfY29uZmlnX29ubHkgPSBnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSk7CisJCXJldHVybiAwOworCX0KKworCXJldHVybiBzZXRfaWRlbnQodmFyLCB2YWx1ZSk7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9lbnZfaWYoY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICp2YWx1ZSwgaW50ICpnaXZlbiwgaW50IGJpdCkKK3sKKwlpZiAoKCpnaXZlbiAmIGJpdCkgfHwgZ2V0ZW52KGtleSkpCisJCXJldHVybjsgLyogbm90aGluZyB0byBkbyAqLworCXNldGVudihrZXksIHZhbHVlLCAwKTsKKwkqZ2l2ZW4gfD0gYml0OworfQorCit2b2lkIHByZXBhcmVfZmFsbGJhY2tfaWRlbnQoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqZW1haWwpCit7CisJc2V0X2Vudl9pZigiR0lUX0FVVEhPUl9OQU1FIiwgbmFtZSwKKwkJICAgJmF1dGhvcl9pZGVudF9leHBsaWNpdGx5X2dpdmVuLCBJREVOVF9OQU1FX0dJVkVOKTsKKwlzZXRfZW52X2lmKCJHSVRfQVVUSE9SX0VNQUlMIiwgZW1haWwsCisJCSAgICZhdXRob3JfaWRlbnRfZXhwbGljaXRseV9naXZlbiwgSURFTlRfTUFJTF9HSVZFTik7CisJc2V0X2Vudl9pZigiR0lUX0NPTU1JVFRFUl9OQU1FIiwgbmFtZSwKKwkJICAgJmNvbW1pdHRlcl9pZGVudF9leHBsaWNpdGx5X2dpdmVuLCBJREVOVF9OQU1FX0dJVkVOKTsKKwlzZXRfZW52X2lmKCJHSVRfQ09NTUlUVEVSX0VNQUlMIiwgZW1haWwsCisJCSAgICZjb21taXR0ZXJfaWRlbnRfZXhwbGljaXRseV9naXZlbiwgSURFTlRfTUFJTF9HSVZFTik7Cit9CisKIHN0YXRpYyBpbnQgYnVmX2NtcChjb25zdCBjaGFyICphX2JlZ2luLCBjb25zdCBjaGFyICphX2VuZCwKIAkJICAgY29uc3QgY2hhciAqYl9iZWdpbiwgY29uc3QgY2hhciAqYl9lbmQpCiB7CmRpZmYgLS1naXQgYS9pbWFwLXNlbmQuYyBiL2ltYXAtc2VuZC5jCmluZGV4IGI0ZWI4ODYuLjZjNTRkOGMgMTAwNjQ0Ci0tLSBhL2ltYXAtc2VuZC5jCisrKyBiL2ltYXAtc2VuZC5jCkBAIC0xMTE0LDcgKzExMTQsNyBAQAogCiAJCQlpZiAoIXN0cmNtcChzcnZjLT5hdXRoX21ldGhvZCwgIkNSQU0tTUQ1IikpIHsKIAkJCQlpZiAoIUNBUChBVVRIX0NSQU1fTUQ1KSkgewotCQkJCQlmcHJpbnRmKHN0ZGVyciwgIllvdSBzcGVjaWZpZWQiCisJCQkJCWZwcmludGYoc3RkZXJyLCAiWW91IHNwZWNpZmllZCAiCiAJCQkJCQkiQ1JBTS1NRDUgYXMgYXV0aGVudGljYXRpb24gbWV0aG9kLCAiCiAJCQkJCQkiYnV0ICVzIGRvZXNuJ3Qgc3VwcG9ydCBpdC5cbiIsIHNydmMtPmhvc3QpOwogCQkJCQlnb3RvIGJhaWw7CkBAIC0xNDcxLDcgKzE0NzEsOCBAQAogfQogCiBzdGF0aWMgaW50IGN1cmxfYXBwZW5kX21zZ3NfdG9faW1hcChzdHJ1Y3QgaW1hcF9zZXJ2ZXJfY29uZiAqc2VydmVyLAotCQkJCSAgICBzdHJ1Y3Qgc3RyYnVmKiBhbGxfbXNncywgaW50IHRvdGFsKSB7CisJCQkJICAgIHN0cnVjdCBzdHJidWYqIGFsbF9tc2dzLCBpbnQgdG90YWwpCit7CiAJaW50IG9mcyA9IDA7CiAJaW50IG4gPSAwOwogCXN0cnVjdCBidWZmZXIgbXNnYnVmID0geyBTVFJCVUZfSU5JVCwgMCB9OwpkaWZmIC0tZ2l0IGEva2hhc2guaCBiL2toYXNoLmgKaW5kZXggNTMyMTA5Yy4uMjFjMjA5NSAxMDA2NDQKLS0tIGEva2hhc2guaAorKysgYi9raGFzaC5oCkBAIC02OSwxNCArNjksMTQgQEAKIAkJa2h2YWxfdCAqdmFsczsgXAogCX0ga2hfIyNuYW1lIyNfdDsKIAotI2RlZmluZSBfX0tIQVNIX1BST1RPVFlQRVMobmFtZSwga2hrZXlfdCwga2h2YWxfdCkJIAkJCQkJXAotCWV4dGVybiBraF8jI25hbWUjI190ICpraF9pbml0XyMjbmFtZSh2b2lkKTsJCQkJCQkJXAotCWV4dGVybiB2b2lkIGtoX2Rlc3Ryb3lfIyNuYW1lKGtoXyMjbmFtZSMjX3QgKmgpOwkJCQkJXAotCWV4dGVybiB2b2lkIGtoX2NsZWFyXyMjbmFtZShraF8jI25hbWUjI190ICpoKTsJCQkJCQlcCi0JZXh0ZXJuIGtoaW50X3Qga2hfZ2V0XyMjbmFtZShjb25zdCBraF8jI25hbWUjI190ICpoLCBraGtleV90IGtleSk7IAlcCi0JZXh0ZXJuIGludCBraF9yZXNpemVfIyNuYW1lKGtoXyMjbmFtZSMjX3QgKmgsIGtoaW50X3QgbmV3X25fYnVja2V0cyk7IFwKLQlleHRlcm4ga2hpbnRfdCBraF9wdXRfIyNuYW1lKGtoXyMjbmFtZSMjX3QgKmgsIGtoa2V5X3Qga2V5LCBpbnQgKnJldCk7IFwKLQlleHRlcm4gdm9pZCBraF9kZWxfIyNuYW1lKGtoXyMjbmFtZSMjX3QgKmgsIGtoaW50X3QgeCk7CisjZGVmaW5lIF9fS0hBU0hfUFJPVE9UWVBFUyhuYW1lLCBraGtleV90LCBraHZhbF90KQkgCQkJXAorCWtoXyMjbmFtZSMjX3QgKmtoX2luaXRfIyNuYW1lKHZvaWQpOwkJCQkJCVwKKwl2b2lkIGtoX2Rlc3Ryb3lfIyNuYW1lKGtoXyMjbmFtZSMjX3QgKmgpOwkJCQkJXAorCXZvaWQga2hfY2xlYXJfIyNuYW1lKGtoXyMjbmFtZSMjX3QgKmgpOwkJCQkJCVwKKwlraGludF90IGtoX2dldF8jI25hbWUoY29uc3Qga2hfIyNuYW1lIyNfdCAqaCwga2hrZXlfdCBrZXkpOyBcCisJaW50IGtoX3Jlc2l6ZV8jI25hbWUoa2hfIyNuYW1lIyNfdCAqaCwga2hpbnRfdCBuZXdfbl9idWNrZXRzKTsgXAorCWtoaW50X3Qga2hfcHV0XyMjbmFtZShraF8jI25hbWUjI190ICpoLCBraGtleV90IGtleSwgaW50ICpyZXQpOyBcCisJdm9pZCBraF9kZWxfIyNuYW1lKGtoXyMjbmFtZSMjX3QgKmgsIGtoaW50X3QgeCk7CiAKICNkZWZpbmUgX19LSEFTSF9JTVBMKG5hbWUsIFNDT1BFLCBraGtleV90LCBraHZhbF90LCBraF9pc19tYXAsIF9faGFzaF9mdW5jLCBfX2hhc2hfZXF1YWwpIFwKIAlTQ09QRSBraF8jI25hbWUjI190ICpraF9pbml0XyMjbmFtZSh2b2lkKSB7CQkJCQkJCVwKQEAgLTMyNCwxMiArMzI0LDIwIEBACiAJCWNvZGU7CQkJCQkJCQkJCQkJXAogCX0gfQogCi0jZGVmaW5lIF9fa2hfb2lkX2NtcChhLCBiKSAoaGFzaGNtcChhLCBiKSA9PSAwKQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgb2lkaGFzaF9ieV92YWx1ZShzdHJ1Y3Qgb2JqZWN0X2lkIG9pZCkKK3sKKwlyZXR1cm4gb2lkaGFzaCgmb2lkKTsKK30KIAotS0hBU0hfSU5JVChzaGExLCBjb25zdCB1bnNpZ25lZCBjaGFyICosIHZvaWQgKiwgMSwgc2hhMWhhc2gsIF9fa2hfb2lkX2NtcCkKLXR5cGVkZWYga2hfc2hhMV90IGtoYXNoX3NoYTE7CitzdGF0aWMgaW5saW5lIGludCBvaWRlcV9ieV92YWx1ZShzdHJ1Y3Qgb2JqZWN0X2lkIGEsIHN0cnVjdCBvYmplY3RfaWQgYikKK3sKKwlyZXR1cm4gb2lkZXEoJmEsICZiKTsKK30KIAotS0hBU0hfSU5JVChzaGExX3BvcywgY29uc3QgdW5zaWduZWQgY2hhciAqLCBpbnQsIDEsIHNoYTFoYXNoLCBfX2toX29pZF9jbXApCi10eXBlZGVmIGtoX3NoYTFfcG9zX3Qga2hhc2hfc2hhMV9wb3M7CitLSEFTSF9JTklUKG9pZF9zZXQsIHN0cnVjdCBvYmplY3RfaWQsIGludCwgMCwgb2lkaGFzaF9ieV92YWx1ZSwgb2lkZXFfYnlfdmFsdWUpCisKK0tIQVNIX0lOSVQob2lkX21hcCwgc3RydWN0IG9iamVjdF9pZCwgdm9pZCAqLCAxLCBvaWRoYXNoX2J5X3ZhbHVlLCBvaWRlcV9ieV92YWx1ZSkKKworS0hBU0hfSU5JVChvaWRfcG9zLCBzdHJ1Y3Qgb2JqZWN0X2lkLCBpbnQsIDEsIG9pZGhhc2hfYnlfdmFsdWUsIG9pZGVxX2J5X3ZhbHVlKQogCiAjZW5kaWYgLyogX19BQ19LSEFTSF9IICovCmRpZmYgLS1naXQgYS9rd3NldC5jIGIva3dzZXQuYwppbmRleCA0ZmI2NDU1Li5mYzQzOWUwIDEwMDY0NAotLS0gYS9rd3NldC5jCisrKyBiL2t3c2V0LmMKQEAgLTM4LDcgKzM4LDEzIEBACiAjaW5jbHVkZSAiY29tcGF0L29ic3RhY2suaCIKIAogI2RlZmluZSBOQ0hBUiAoVUNIQVJfTUFYICsgMSkKLSNkZWZpbmUgb2JzdGFja19jaHVua19hbGxvYyB4bWFsbG9jCisvKiBhZGFwdGVyIGZvciBgeG1hbGxvYygpYCwgd2hpY2ggdGFrZXMgYHNpemVfdGAsIG5vdCBgbG9uZ2AgKi8KK3N0YXRpYyB2b2lkICpvYnN0YWNrX2NodW5rX2FsbG9jKGxvbmcgc2l6ZSkKK3sKKwlpZiAoc2l6ZSA8IDApCisJCUJVRygiQ2Fubm90IGFsbG9jYXRlIGEgbmVnYXRpdmUgYW1vdW50OiAlbGQiLCBzaXplKTsKKwlyZXR1cm4geG1hbGxvYyhzaXplKTsKK30KICNkZWZpbmUgb2JzdGFja19jaHVua19mcmVlIGZyZWUKIAogI2RlZmluZSBVKGMpICgodW5zaWduZWQgY2hhcikgKGMpKQpAQCAtNDc1LDcgKzQ4MSw3IEBACiAJZm9yIChpID0gMDsgaSA8IE5DSEFSOyArK2kpCiAJICBrd3NldC0+bmV4dFtpXSA9IG5leHRbVSh0cmFuc1tpXSldOwogICAgICAgZWxzZQotCW1lbWNweShrd3NldC0+bmV4dCwgbmV4dCwgTkNIQVIgKiBzaXplb2Yoc3RydWN0IHRyaWUgKikpOworCUNPUFlfQVJSQVkoa3dzZXQtPm5leHQsIG5leHQsIE5DSEFSKTsKICAgICB9CiAKICAgLyogRml4IHRoaW5ncyB1cCBmb3IgYW55IHRyYW5zbGF0aW9uIHRhYmxlLiAqLwpkaWZmIC0tZ2l0IGEva3dzZXQuaCBiL2t3c2V0LmgKaW5kZXggNTgzZjYyNi4uZjUwZWNhZSAxMDA2NDQKLS0tIGEva3dzZXQuaAorKysgYi9rd3NldC5oCkBAIC0xLDMgKzEsNiBAQAorI2lmbmRlZiBLV1NFVF9ICisjZGVmaW5lIEtXU0VUX0gKKwogLyogVGhpcyBmaWxlIGhhcyBiZWVuIGNvcGllZCBmcm9tIGNvbW1pdCBlN2FjNzEzZF4gaW4gdGhlIEdOVSBncmVwIGdpdAogICogcmVwb3NpdG9yeS4gQSBmZXcgc21hbGwgY2hhbmdlcyBoYXZlIGJlZW4gbWFkZSB0byBhZGFwdCB0aGUgY29kZSB0bwogICogR2l0LgpAQCAtMzcsMTYgKzQwLDE2IEBACiAgICBpZiBlbm91Z2ggbWVtb3J5IGNhbm5vdCBiZSBvYnRhaW5lZC4gIFRoZSBhcmd1bWVudCBpZiBub24tTlVMTAogICAgc3BlY2lmaWVzIGEgdGFibGUgb2YgY2hhcmFjdGVyIHRyYW5zbGF0aW9ucyB0byBiZSBhcHBsaWVkIHRvIGFsbAogICAgcGF0dGVybiBhbmQgc2VhcmNoIHRleHQuICovCi1leHRlcm4ga3dzZXRfdCBrd3NhbGxvYyh1bnNpZ25lZCBjaGFyIGNvbnN0ICopOwora3dzZXRfdCBrd3NhbGxvYyh1bnNpZ25lZCBjaGFyIGNvbnN0ICopOwogCiAvKiBJbmNyZW1lbnRhbGx5IGV4dGVuZCB0aGUga2V5d29yZCBzZXQgdG8gaW5jbHVkZSB0aGUgZ2l2ZW4gc3RyaW5nLgogICAgUmV0dXJuIE5VTEwgZm9yIHN1Y2Nlc3MsIG9yIGFuIGVycm9yIG1lc3NhZ2UuICBSZW1lbWJlciBhbiBpbmRleAogICAgbnVtYmVyIGZvciBlYWNoIGtleXdvcmQgaW5jbHVkZWQgaW4gdGhlIHNldC4gKi8KLWV4dGVybiBjb25zdCBjaGFyICprd3NpbmNyKGt3c2V0X3QsIGNoYXIgY29uc3QgKiwgc2l6ZV90KTsKK2NvbnN0IGNoYXIgKmt3c2luY3Ioa3dzZXRfdCwgY2hhciBjb25zdCAqLCBzaXplX3QpOwogCiAvKiBXaGVuIHRoZSBrZXl3b3JkIHNldCBoYXMgYmVlbiBjb21wbGV0ZWx5IGJ1aWx0LCBwcmVwYXJlIGl0IGZvcgogICAgdXNlLiAgUmV0dXJuIE5VTEwgZm9yIHN1Y2Nlc3MsIG9yIGFuIGVycm9yIG1lc3NhZ2UuICovCi1leHRlcm4gY29uc3QgY2hhciAqa3dzcHJlcChrd3NldF90KTsKK2NvbnN0IGNoYXIgKmt3c3ByZXAoa3dzZXRfdCk7CiAKIC8qIFNlYXJjaCB0aHJvdWdoIHRoZSBnaXZlbiBidWZmZXIgZm9yIGEgbWVtYmVyIG9mIHRoZSBrZXl3b3JkIHNldC4KICAgIFJldHVybiBhIHBvaW50ZXIgdG8gdGhlIGxlZnRtb3N0IGxvbmdlc3QgbWF0Y2ggZm91bmQsIG9yIE5VTEwgaWYKQEAgLTU0LDggKzU3LDkgQEAKICAgIHRoZSBtYXRjaGluZyBzdWJzdHJpbmcgaW4gdGhlIGludGVnZXIgaXQgcG9pbnRzIHRvLiAgU2ltaWxhcmx5LAogICAgaWYgZm91bmRpbmRleCBpcyBub24tTlVMTCwgc3RvcmUgdGhlIGluZGV4IG9mIHRoZSBwYXJ0aWN1bGFyCiAgICBrZXl3b3JkIGZvdW5kIHRoZXJlaW4uICovCi1leHRlcm4gc2l6ZV90IGt3c2V4ZWMoa3dzZXRfdCwgY2hhciBjb25zdCAqLCBzaXplX3QsIHN0cnVjdCBrd3NtYXRjaCAqKTsKK3NpemVfdCBrd3NleGVjKGt3c2V0X3QsIGNoYXIgY29uc3QgKiwgc2l6ZV90LCBzdHJ1Y3Qga3dzbWF0Y2ggKik7CiAKIC8qIERlYWxsb2NhdGUgdGhlIGdpdmVuIGtleXdvcmQgc2V0IGFuZCBhbGwgaXRzIGFzc29jaWF0ZWQgc3RvcmFnZS4gKi8KLWV4dGVybiB2b2lkIGt3c2ZyZWUoa3dzZXRfdCk7Cit2b2lkIGt3c2ZyZWUoa3dzZXRfdCk7CiAKKyNlbmRpZiAvKiBLV1NFVF9IICovCmRpZmYgLS1naXQgYS9saW5lLWxvZy5jIGIvbGluZS1sb2cuYwppbmRleCBkMWQ0MjlkLi45MDEwZTAwIDEwMDY0NAotLS0gYS9saW5lLWxvZy5jCisrKyBiL2xpbmUtbG9nLmMKQEAgLTQ3OSw3ICs0NzksNyBAQAogCQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSByZXZzLT5wZW5kaW5nLm9iamVjdHNbaV0uaXRlbTsKIAkJaWYgKG9iai0+ZmxhZ3MgJiBVTklOVEVSRVNUSU5HKQogCQkJY29udGludWU7Ci0JCW9iaiA9IGRlcmVmX3RhZyh0aGVfcmVwb3NpdG9yeSwgb2JqLCBOVUxMLCAwKTsKKwkJb2JqID0gZGVyZWZfdGFnKHJldnMtPnJlcG8sIG9iaiwgTlVMTCwgMCk7CiAJCWlmIChvYmotPnR5cGUgIT0gT0JKX0NPTU1JVCkKIAkJCWRpZSgiTm9uIGNvbW1pdCAlcz8iLCByZXZzLT5wZW5kaW5nLm9iamVjdHNbaV0ubmFtZSk7CiAJCWlmIChjb21taXQpCkBAIC00OTYsMTIgKzQ5NiwxMyBAQAogCXJldHVybiAoc3RydWN0IGNvbW1pdCAqKSBjb21taXQ7CiB9CiAKLXN0YXRpYyB2b2lkIGZpbGxfYmxvYl9zaGExKHN0cnVjdCBjb21taXQgKmNvbW1pdCwgc3RydWN0IGRpZmZfZmlsZXNwZWMgKnNwZWMpCitzdGF0aWMgdm9pZCBmaWxsX2Jsb2Jfc2hhMShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IGNvbW1pdCAqY29tbWl0LAorCQkJICAgc3RydWN0IGRpZmZfZmlsZXNwZWMgKnNwZWMpCiB7Ci0JdW5zaWduZWQgbW9kZTsKKwl1bnNpZ25lZCBzaG9ydCBtb2RlOwogCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCi0JaWYgKGdldF90cmVlX2VudHJ5KCZjb21taXQtPm9iamVjdC5vaWQsIHNwZWMtPnBhdGgsICZvaWQsICZtb2RlKSkKKwlpZiAoZ2V0X3RyZWVfZW50cnkociwgJmNvbW1pdC0+b2JqZWN0Lm9pZCwgc3BlYy0+cGF0aCwgJm9pZCwgJm1vZGUpKQogCQlkaWUoIlRoZXJlIGlzIG5vIHBhdGggJXMgaW4gdGhlIGNvbW1pdCIsIHNwZWMtPnBhdGgpOwogCWZpbGxfZmlsZXNwZWMoc3BlYywgJm9pZCwgMSwgbW9kZSk7CiAKQEAgLTU4NSw3ICs1ODYsNyBAQAogCQkJCQluYW1lX3BhcnQpOwogCiAJCXNwZWMgPSBhbGxvY19maWxlc3BlYyhmdWxsX25hbWUpOwotCQlmaWxsX2Jsb2Jfc2hhMShjb21taXQsIHNwZWMpOworCQlmaWxsX2Jsb2Jfc2hhMShyLCBjb21taXQsIHNwZWMpOwogCQlmaWxsX2xpbmVfZW5kcyhyLCBzcGVjLCAmbGluZXMsICZlbmRzKTsKIAkJY2JfZGF0YS5zcGVjID0gc3BlYzsKIAkJY2JfZGF0YS5saW5lcyA9IGxpbmVzOwpAQCAtNzM2LDYgKzczNywzOCBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQgc2FtZV9wYXRoc19pbl9wYXRoc3BlY19hbmRfcmFuZ2Uoc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKKwkJCQkJICAgIHN0cnVjdCBsaW5lX2xvZ19kYXRhICpyYW5nZSkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgbGluZV9sb2dfZGF0YSAqcjsKKworCWZvciAoaSA9IDAsIHIgPSByYW5nZTsgaSA8IHBhdGhzcGVjLT5uciAmJiByOyBpKyssIHIgPSByLT5uZXh0KQorCQlpZiAoc3RyY21wKHBhdGhzcGVjLT5pdGVtc1tpXS5tYXRjaCwgci0+cGF0aCkpCisJCQlyZXR1cm4gMDsKKwlpZiAoaSA8IHBhdGhzcGVjLT5uciB8fCByKQorCQkvKiBkaWZmZXJlbnQgbnVtYmVyIG9mIHBhdGhzcGVjIGl0ZW1zIGFuZCByYW5nZXMgKi8KKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHZvaWQgcGFyc2VfcGF0aHNwZWNfZnJvbV9yYW5nZXMoc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKKwkJCQkgICAgICAgc3RydWN0IGxpbmVfbG9nX2RhdGEgKnJhbmdlKQoreworCXN0cnVjdCBsaW5lX2xvZ19kYXRhICpyOworCXN0cnVjdCBhcmd2X2FycmF5IGFycmF5ID0gQVJHVl9BUlJBWV9JTklUOworCWNvbnN0IGNoYXIgKipwYXRoczsKKworCWZvciAociA9IHJhbmdlOyByOyByID0gci0+bmV4dCkKKwkJYXJndl9hcnJheV9wdXNoKCZhcnJheSwgci0+cGF0aCk7CisJcGF0aHMgPSBhcmd2X2FycmF5X2RldGFjaCgmYXJyYXkpOworCisJcGFyc2VfcGF0aHNwZWMocGF0aHNwZWMsIDAsIFBBVEhTUEVDX1BSRUZFUl9GVUxMLCAiIiwgcGF0aHMpOworCS8qIHN0cmluZ3MgYXJlIG5vdyBvd25lZCBieSBwYXRoc3BlYyAqLworCWZyZWUocGF0aHMpOworfQorCiB2b2lkIGxpbmVfbG9nX2luaXQoc3RydWN0IHJldl9pbmZvICpyZXYsIGNvbnN0IGNoYXIgKnByZWZpeCwgc3RydWN0IHN0cmluZ19saXN0ICphcmdzKQogewogCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IE5VTEw7CkBAIC03NDUsMjAgKzc3OCw3IEBACiAJcmFuZ2UgPSBwYXJzZV9saW5lcyhyZXYtPmRpZmZvcHQucmVwbywgY29tbWl0LCBwcmVmaXgsIGFyZ3MpOwogCWFkZF9saW5lX3JhbmdlKHJldiwgY29tbWl0LCByYW5nZSk7CiAKLQlpZiAoIXJldi0+ZGlmZm9wdC5kZXRlY3RfcmVuYW1lKSB7Ci0JCXN0cnVjdCBsaW5lX2xvZ19kYXRhICpyOwotCQlzdHJ1Y3QgYXJndl9hcnJheSBhcnJheSA9IEFSR1ZfQVJSQVlfSU5JVDsKLQkJY29uc3QgY2hhciAqKnBhdGhzOwotCi0JCWZvciAociA9IHJhbmdlOyByOyByID0gci0+bmV4dCkKLQkJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJyYXksIHItPnBhdGgpOwotCQlwYXRocyA9IGFyZ3ZfYXJyYXlfZGV0YWNoKCZhcnJheSk7Ci0KLQkJcGFyc2VfcGF0aHNwZWMoJnJldi0+ZGlmZm9wdC5wYXRoc3BlYywgMCwKLQkJCSAgICAgICBQQVRIU1BFQ19QUkVGRVJfRlVMTCwgIiIsIHBhdGhzKTsKLQkJLyogc3RyaW5ncyBhcmUgbm93IG93bmVkIGJ5IHBhdGhzcGVjICovCi0JCWZyZWUocGF0aHMpOwotCX0KKwlwYXJzZV9wYXRoc3BlY19mcm9tX3JhbmdlcygmcmV2LT5kaWZmb3B0LnBhdGhzcGVjLCByYW5nZSk7CiB9CiAKIHN0YXRpYyB2b2lkIG1vdmVfZGlmZl9xdWV1ZShzdHJ1Y3QgZGlmZl9xdWV1ZV9zdHJ1Y3QgKmRzdCwKQEAgLTgxNiwxNSArODM2LDI5IEBACiAJCQlzdHJ1Y3QgZGlmZl9xdWV1ZV9zdHJ1Y3QgKnF1ZXVlLAogCQkJc3RydWN0IGNvbW1pdCAqY29tbWl0LCBzdHJ1Y3QgY29tbWl0ICpwYXJlbnQpCiB7CisJc3RydWN0IG9iamVjdF9pZCAqdHJlZV9vaWQsICpwYXJlbnRfdHJlZV9vaWQ7CisKIAlhc3NlcnQoY29tbWl0KTsKIAorCXRyZWVfb2lkID0gZ2V0X2NvbW1pdF90cmVlX29pZChjb21taXQpOworCXBhcmVudF90cmVlX29pZCA9IHBhcmVudCA/IGdldF9jb21taXRfdHJlZV9vaWQocGFyZW50KSA6IE5VTEw7CisKKwlpZiAob3B0LT5kZXRlY3RfcmVuYW1lICYmCisJICAgICFzYW1lX3BhdGhzX2luX3BhdGhzcGVjX2FuZF9yYW5nZSgmb3B0LT5wYXRoc3BlYywgcmFuZ2UpKSB7CisJCWNsZWFyX3BhdGhzcGVjKCZvcHQtPnBhdGhzcGVjKTsKKwkJcGFyc2VfcGF0aHNwZWNfZnJvbV9yYW5nZXMoJm9wdC0+cGF0aHNwZWMsIHJhbmdlKTsKKwl9CiAJRElGRl9RVUVVRV9DTEVBUigmZGlmZl9xdWV1ZWRfZGlmZik7Ci0JZGlmZl90cmVlX29pZChwYXJlbnQgPyBnZXRfY29tbWl0X3RyZWVfb2lkKHBhcmVudCkgOiBOVUxMLAotCQkgICAgICBnZXRfY29tbWl0X3RyZWVfb2lkKGNvbW1pdCksICIiLCBvcHQpOwotCWlmIChvcHQtPmRldGVjdF9yZW5hbWUpIHsKKwlkaWZmX3RyZWVfb2lkKHBhcmVudF90cmVlX29pZCwgdHJlZV9vaWQsICIiLCBvcHQpOworCWlmIChvcHQtPmRldGVjdF9yZW5hbWUgJiYgZGlmZl9taWdodF9iZV9yZW5hbWUoKSkgeworCQkvKiBtdXN0IGxvb2sgYXQgdGhlIGZ1bGwgdHJlZSBkaWZmIHRvIGRldGVjdCByZW5hbWVzICovCisJCWNsZWFyX3BhdGhzcGVjKCZvcHQtPnBhdGhzcGVjKTsKKwkJRElGRl9RVUVVRV9DTEVBUigmZGlmZl9xdWV1ZWRfZGlmZik7CisKKwkJZGlmZl90cmVlX29pZChwYXJlbnRfdHJlZV9vaWQsIHRyZWVfb2lkLCAiIiwgb3B0KTsKKwogCQlmaWx0ZXJfZGlmZnNfZm9yX3BhdGhzKHJhbmdlLCAxKTsKLQkJaWYgKGRpZmZfbWlnaHRfYmVfcmVuYW1lKCkpCi0JCQlkaWZmY29yZV9zdGQob3B0KTsKKwkJZGlmZmNvcmVfc3RkKG9wdCk7CiAJCWZpbHRlcl9kaWZmc19mb3JfcGF0aHMocmFuZ2UsIDApOwogCX0KIAltb3ZlX2RpZmZfcXVldWUocXVldWUsICZkaWZmX3F1ZXVlZF9kaWZmKTsKQEAgLTExMDMsMTAgKzExMzcsMTIgQEAKIAogaW50IGxpbmVfbG9nX3ByaW50KHN0cnVjdCByZXZfaW5mbyAqcmV2LCBzdHJ1Y3QgY29tbWl0ICpjb21taXQpCiB7Ci0Jc3RydWN0IGxpbmVfbG9nX2RhdGEgKnJhbmdlID0gbG9va3VwX2xpbmVfcmFuZ2UocmV2LCBjb21taXQpOwogCiAJc2hvd19sb2cocmV2KTsKLQlkdW1wX2RpZmZfaGFja3kocmV2LCByYW5nZSk7CisJaWYgKCEocmV2LT5kaWZmb3B0Lm91dHB1dF9mb3JtYXQgJiBESUZGX0ZPUk1BVF9OT19PVVRQVVQpKSB7CisJCXN0cnVjdCBsaW5lX2xvZ19kYXRhICpyYW5nZSA9IGxvb2t1cF9saW5lX3JhbmdlKHJldiwgY29tbWl0KTsKKwkJZHVtcF9kaWZmX2hhY2t5KHJldiwgcmFuZ2UpOworCX0KIAlyZXR1cm4gMTsKIH0KIApkaWZmIC0tZ2l0IGEvbGluZS1sb2cuaCBiL2xpbmUtbG9nLmgKaW5kZXggZTJhNWVlNy4uOGVlN2EyYiAxMDA2NDQKLS0tIGEvbGluZS1sb2cuaAorKysgYi9saW5lLWxvZy5oCkBAIC0yNSwxNyArMjUsMTcgQEAKIAlzdHJ1Y3QgcmFuZ2Vfc2V0IHRhcmdldDsKIH07CiAKLWV4dGVybiB2b2lkIHJhbmdlX3NldF9pbml0KHN0cnVjdCByYW5nZV9zZXQgKiwgc2l6ZV90IHByZWFsbG9jKTsKLWV4dGVybiB2b2lkIHJhbmdlX3NldF9yZWxlYXNlKHN0cnVjdCByYW5nZV9zZXQgKik7Cit2b2lkIHJhbmdlX3NldF9pbml0KHN0cnVjdCByYW5nZV9zZXQgKiwgc2l6ZV90IHByZWFsbG9jKTsKK3ZvaWQgcmFuZ2Vfc2V0X3JlbGVhc2Uoc3RydWN0IHJhbmdlX3NldCAqKTsKIC8qIFJhbmdlIGluY2x1ZGVzIHN0YXJ0OyBleGNsdWRlcyBlbmQgKi8KLWV4dGVybiB2b2lkIHJhbmdlX3NldF9hcHBlbmRfdW5zYWZlKHN0cnVjdCByYW5nZV9zZXQgKiwgbG9uZyBzdGFydCwgbG9uZyBlbmQpOwordm9pZCByYW5nZV9zZXRfYXBwZW5kX3Vuc2FmZShzdHJ1Y3QgcmFuZ2Vfc2V0ICosIGxvbmcgc3RhcnQsIGxvbmcgZW5kKTsKIC8qIE5ldyByYW5nZSBtdXN0IGJlZ2luIGF0IG9yIGFmdGVyIGVuZCBvZiBsYXN0IGFkZGVkIHJhbmdlICovCi1leHRlcm4gdm9pZCByYW5nZV9zZXRfYXBwZW5kKHN0cnVjdCByYW5nZV9zZXQgKiwgbG9uZyBzdGFydCwgbG9uZyBlbmQpOwordm9pZCByYW5nZV9zZXRfYXBwZW5kKHN0cnVjdCByYW5nZV9zZXQgKiwgbG9uZyBzdGFydCwgbG9uZyBlbmQpOwogLyoKICAqIEluLXBsYWNlIHBhc3Mgb2Ygc29ydGluZyBhbmQgbWVyZ2luZyB0aGUgcmFuZ2VzIGluIHRoZSByYW5nZSBzZXQsCiAgKiB0byBzb3J0IGFuZCBtYWtlIHRoZSByYW5nZXMgZGlzam9pbnQuCiAgKi8KLWV4dGVybiB2b2lkIHNvcnRfYW5kX21lcmdlX3JhbmdlX3NldChzdHJ1Y3QgcmFuZ2Vfc2V0ICopOwordm9pZCBzb3J0X2FuZF9tZXJnZV9yYW5nZV9zZXQoc3RydWN0IHJhbmdlX3NldCAqKTsKIAogLyogTGlua2VkIGxpc3Qgb2YgaW50ZXJlc3RpbmcgZmlsZXMgYW5kIHRoZWlyIGFzc29jaWF0ZWQgcmFuZ2VzLiAgVGhlCiAgKiBsaXN0IG11c3QgYmUga2VwdCBzb3J0ZWQgYnkgcGF0aC4KQEAgLTU0LDEwICs1NCwxMCBAQAogCXN0cnVjdCBkaWZmX3JhbmdlcyBkaWZmOwogfTsKIAotZXh0ZXJuIHZvaWQgbGluZV9sb2dfaW5pdChzdHJ1Y3QgcmV2X2luZm8gKnJldiwgY29uc3QgY2hhciAqcHJlZml4LCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmFyZ3MpOwordm9pZCBsaW5lX2xvZ19pbml0KHN0cnVjdCByZXZfaW5mbyAqcmV2LCBjb25zdCBjaGFyICpwcmVmaXgsIHN0cnVjdCBzdHJpbmdfbGlzdCAqYXJncyk7CiAKLWV4dGVybiBpbnQgbGluZV9sb2dfZmlsdGVyKHN0cnVjdCByZXZfaW5mbyAqcmV2KTsKK2ludCBsaW5lX2xvZ19maWx0ZXIoc3RydWN0IHJldl9pbmZvICpyZXYpOwogCi1leHRlcm4gaW50IGxpbmVfbG9nX3ByaW50KHN0cnVjdCByZXZfaW5mbyAqcmV2LCBzdHJ1Y3QgY29tbWl0ICpjb21taXQpOworaW50IGxpbmVfbG9nX3ByaW50KHN0cnVjdCByZXZfaW5mbyAqcmV2LCBzdHJ1Y3QgY29tbWl0ICpjb21taXQpOwogCiAjZW5kaWYgLyogTElORV9MT0dfSCAqLwpkaWZmIC0tZ2l0IGEvbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmMgYi9saXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYwppbmRleCBlOGRhMmU4Li4yNTZiY2ZiIDEwMDY0NAotLS0gYS9saXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYworKysgYi9saXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYwpAQCAtNiw2ICs2LDE0IEBACiAjaW5jbHVkZSAibGlzdC1vYmplY3RzLmgiCiAjaW5jbHVkZSAibGlzdC1vYmplY3RzLWZpbHRlci5oIgogI2luY2x1ZGUgImxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oIgorI2luY2x1ZGUgInByb21pc29yLXJlbW90ZS5oIgorI2luY2x1ZGUgInRyYWNlLmgiCisjaW5jbHVkZSAidXJsLmgiCisKK3N0YXRpYyBpbnQgcGFyc2VfY29tYmluZV9maWx0ZXIoCisJc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyAqZmlsdGVyX29wdGlvbnMsCisJY29uc3QgY2hhciAqYXJnLAorCXN0cnVjdCBzdHJidWYgKmVycmJ1Zik7CiAKIC8qCiAgKiBQYXJzZSB2YWx1ZSBvZiB0aGUgYXJndW1lbnQgdG8gdGhlICJmaWx0ZXIiIGtleXdvcmQuCkBAIC0xOCw4ICsyNiw5IEBACiAgKiBTZWUgRG9jdW1lbnRhdGlvbi9yZXYtbGlzdC1vcHRpb25zLnR4dCBmb3IgYWxsb3dlZCB2YWx1ZXMgZm9yIDxhcmc+LgogICoKICAqIENhcHR1cmUgdGhlIGdpdmVuIGFyZyBhcyB0aGUgImZpbHRlcl9zcGVjIi4gIFRoaXMgY2FuIGJlIGZvcndhcmRlZCB0bwotICogc3Vib3JkaW5hdGUgY29tbWFuZHMgd2hlbiBuZWNlc3NhcnkuICBXZSBhbHNvICJpbnRlcm4iIHRoZSBhcmcgZm9yCi0gKiB0aGUgY29udmVuaWVuY2Ugb2YgdGhlIGN1cnJlbnQgY29tbWFuZC4KKyAqIHN1Ym9yZGluYXRlIGNvbW1hbmRzIHdoZW4gbmVjZXNzYXJ5IChhbHRob3VnaCBpdCdzIGJldHRlciB0byBwYXNzIGl0IHRocm91Z2gKKyAqIGV4cGFuZF9saXN0X29iamVjdHNfZmlsdGVyX3NwZWMoKSBmaXJzdCkuICBXZSBhbHNvICJpbnRlcm4iIHRoZSBhcmcgZm9yIHRoZQorICogY29udmVuaWVuY2Ugb2YgdGhlIGN1cnJlbnQgY29tbWFuZC4KICAqLwogc3RhdGljIGludCBnZW50bHlfcGFyc2VfbGlzdF9vYmplY3RzX2ZpbHRlcigKIAlzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zICpmaWx0ZXJfb3B0aW9ucywKQEAgLTI4LDE2ICszNywxMSBAQAogewogCWNvbnN0IGNoYXIgKnYwOwogCi0JaWYgKGZpbHRlcl9vcHRpb25zLT5jaG9pY2UpIHsKLQkJaWYgKGVycmJ1ZikgewotCQkJc3RyYnVmX2FkZHN0cigKLQkJCQllcnJidWYsCi0JCQkJXygibXVsdGlwbGUgZmlsdGVyLXNwZWNzIGNhbm5vdCBiZSBjb21iaW5lZCIpKTsKLQkJfQotCQlyZXR1cm4gMTsKLQl9CisJaWYgKCFhcmcpCisJCXJldHVybiAwOwogCi0JZmlsdGVyX29wdGlvbnMtPmZpbHRlcl9zcGVjID0gc3RyZHVwKGFyZyk7CisJaWYgKGZpbHRlcl9vcHRpb25zLT5jaG9pY2UpCisJCUJVRygiZmlsdGVyX29wdGlvbnMgYWxyZWFkeSBwb3B1bGF0ZWQiKTsKIAogCWlmICghc3RyY21wKGFyZywgImJsb2I6bm9uZSIpKSB7CiAJCWZpbHRlcl9vcHRpb25zLT5jaG9pY2UgPSBMT0ZDX0JMT0JfTk9ORTsKQEAgLTUwLDUzICs1NCwyMDggQEAKIAkJfQogCiAJfSBlbHNlIGlmIChza2lwX3ByZWZpeChhcmcsICJ0cmVlOiIsICZ2MCkpIHsKLQkJdW5zaWduZWQgbG9uZyBkZXB0aDsKLQkJaWYgKCFnaXRfcGFyc2VfdWxvbmcodjAsICZkZXB0aCkgfHwgZGVwdGggIT0gMCkgewotCQkJaWYgKGVycmJ1ZikgewotCQkJCXN0cmJ1Zl9hZGRzdHIoCi0JCQkJCWVycmJ1ZiwKLQkJCQkJXygib25seSAndHJlZTowJyBpcyBzdXBwb3J0ZWQiKSk7Ci0JCQl9CisJCWlmICghZ2l0X3BhcnNlX3Vsb25nKHYwLCAmZmlsdGVyX29wdGlvbnMtPnRyZWVfZXhjbHVkZV9kZXB0aCkpIHsKKwkJCXN0cmJ1Zl9hZGRzdHIoZXJyYnVmLCBfKCJleHBlY3RlZCAndHJlZTo8ZGVwdGg+JyIpKTsKIAkJCXJldHVybiAxOwogCQl9Ci0JCWZpbHRlcl9vcHRpb25zLT5jaG9pY2UgPSBMT0ZDX1RSRUVfTk9ORTsKKwkJZmlsdGVyX29wdGlvbnMtPmNob2ljZSA9IExPRkNfVFJFRV9ERVBUSDsKIAkJcmV0dXJuIDA7CiAKIAl9IGVsc2UgaWYgKHNraXBfcHJlZml4KGFyZywgInNwYXJzZTpvaWQ9IiwgJnYwKSkgewotCQlzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgb2M7Ci0JCXN0cnVjdCBvYmplY3RfaWQgc3BhcnNlX29pZDsKLQotCQkvKgotCQkgKiBUcnkgdG8gcGFyc2UgPG9pZC1leHByZXNzaW9uPiBpbnRvIGFuIE9JRCBmb3IgdGhlIGN1cnJlbnQKLQkJICogY29tbWFuZCwgYnV0IERPIE5PVCBjb21wbGFpbiBpZiB3ZSBkb24ndCBoYXZlIHRoZSBibG9iIG9yCi0JCSAqIHJlZiBsb2NhbGx5LgotCQkgKi8KLQkJaWYgKCFnZXRfb2lkX3dpdGhfY29udGV4dCh2MCwgR0VUX09JRF9CTE9CLAotCQkJCQkgICZzcGFyc2Vfb2lkLCAmb2MpKQotCQkJZmlsdGVyX29wdGlvbnMtPnNwYXJzZV9vaWRfdmFsdWUgPSBvaWRkdXAoJnNwYXJzZV9vaWQpOworCQlmaWx0ZXJfb3B0aW9ucy0+c3BhcnNlX29pZF9uYW1lID0geHN0cmR1cCh2MCk7CiAJCWZpbHRlcl9vcHRpb25zLT5jaG9pY2UgPSBMT0ZDX1NQQVJTRV9PSUQ7CiAJCXJldHVybiAwOwogCiAJfSBlbHNlIGlmIChza2lwX3ByZWZpeChhcmcsICJzcGFyc2U6cGF0aD0iLCAmdjApKSB7Ci0JCWZpbHRlcl9vcHRpb25zLT5jaG9pY2UgPSBMT0ZDX1NQQVJTRV9QQVRIOwotCQlmaWx0ZXJfb3B0aW9ucy0+c3BhcnNlX3BhdGhfdmFsdWUgPSBzdHJkdXAodjApOwotCQlyZXR1cm4gMDsKLQl9CisJCWlmIChlcnJidWYpIHsKKwkJCXN0cmJ1Zl9hZGRzdHIoCisJCQkJZXJyYnVmLAorCQkJCV8oInNwYXJzZTpwYXRoIGZpbHRlcnMgc3VwcG9ydCBoYXMgYmVlbiBkcm9wcGVkIikpOworCQl9CisJCXJldHVybiAxOwogCi0JaWYgKGVycmJ1ZikKLQkJc3RyYnVmX2FkZGYoZXJyYnVmLCAiaW52YWxpZCBmaWx0ZXItc3BlYyAnJXMnIiwgYXJnKTsKKwl9IGVsc2UgaWYgKHNraXBfcHJlZml4KGFyZywgImNvbWJpbmU6IiwgJnYwKSkgeworCQlyZXR1cm4gcGFyc2VfY29tYmluZV9maWx0ZXIoZmlsdGVyX29wdGlvbnMsIHYwLCBlcnJidWYpOworCisJfQorCS8qCisJICogUGxlYXNlIHVwZGF0ZSBfZ2l0X2ZldGNoKCkgaW4gZ2l0LWNvbXBsZXRpb24uYmFzaCB3aGVuIHlvdQorCSAqIGFkZCBuZXcgZmlsdGVycworCSAqLworCisJc3RyYnVmX2FkZGYoZXJyYnVmLCBfKCJpbnZhbGlkIGZpbHRlci1zcGVjICclcyciKSwgYXJnKTsKIAogCW1lbXNldChmaWx0ZXJfb3B0aW9ucywgMCwgc2l6ZW9mKCpmaWx0ZXJfb3B0aW9ucykpOwogCXJldHVybiAxOwogfQogCi1pbnQgcGFyc2VfbGlzdF9vYmplY3RzX2ZpbHRlcihzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zICpmaWx0ZXJfb3B0aW9ucywKLQkJCSAgICAgIGNvbnN0IGNoYXIgKmFyZykKK3N0YXRpYyBjb25zdCBjaGFyICpSRVNFUlZFRF9OT05fV1MgPSAifmAhQCMkXiYqKClbXXt9XFw7J1wiLDw+PyI7CisKK3N0YXRpYyBpbnQgaGFzX3Jlc2VydmVkX2NoYXJhY3RlcigKKwlzdHJ1Y3Qgc3RyYnVmICpzdWJfc3BlYywgc3RydWN0IHN0cmJ1ZiAqZXJyYnVmKQoreworCWNvbnN0IGNoYXIgKmMgPSBzdWJfc3BlYy0+YnVmOworCXdoaWxlICgqYykgeworCQlpZiAoKmMgPD0gJyAnIHx8IHN0cmNocihSRVNFUlZFRF9OT05fV1MsICpjKSkgeworCQkJc3RyYnVmX2FkZGYoCisJCQkJZXJyYnVmLAorCQkJCV8oIm11c3QgZXNjYXBlIGNoYXIgaW4gc3ViLWZpbHRlci1zcGVjOiAnJWMnIiksCisJCQkJKmMpOworCQkJcmV0dXJuIDE7CisJCX0KKwkJYysrOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHBhcnNlX2NvbWJpbmVfc3ViZmlsdGVyKAorCXN0cnVjdCBsaXN0X29iamVjdHNfZmlsdGVyX29wdGlvbnMgKmZpbHRlcl9vcHRpb25zLAorCXN0cnVjdCBzdHJidWYgKnN1YnNwZWMsCisJc3RydWN0IHN0cmJ1ZiAqZXJyYnVmKQoreworCXNpemVfdCBuZXdfaW5kZXggPSBmaWx0ZXJfb3B0aW9ucy0+c3ViX25yOworCWNoYXIgKmRlY29kZWQ7CisJaW50IHJlc3VsdDsKKworCUFMTE9DX0dST1dfQlkoZmlsdGVyX29wdGlvbnMtPnN1YiwgZmlsdGVyX29wdGlvbnMtPnN1Yl9uciwgMSwKKwkJICAgICAgZmlsdGVyX29wdGlvbnMtPnN1Yl9hbGxvYyk7CisKKwlkZWNvZGVkID0gdXJsX3BlcmNlbnRfZGVjb2RlKHN1YnNwZWMtPmJ1Zik7CisKKwlyZXN1bHQgPSBoYXNfcmVzZXJ2ZWRfY2hhcmFjdGVyKHN1YnNwZWMsIGVycmJ1ZikgfHwKKwkJZ2VudGx5X3BhcnNlX2xpc3Rfb2JqZWN0c19maWx0ZXIoCisJCQkmZmlsdGVyX29wdGlvbnMtPnN1YltuZXdfaW5kZXhdLCBkZWNvZGVkLCBlcnJidWYpOworCisJZnJlZShkZWNvZGVkKTsKKwlyZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgaW50IHBhcnNlX2NvbWJpbmVfZmlsdGVyKAorCXN0cnVjdCBsaXN0X29iamVjdHNfZmlsdGVyX29wdGlvbnMgKmZpbHRlcl9vcHRpb25zLAorCWNvbnN0IGNoYXIgKmFyZywKKwlzdHJ1Y3Qgc3RyYnVmICplcnJidWYpCit7CisJc3RydWN0IHN0cmJ1ZiAqKnN1YnNwZWNzID0gc3RyYnVmX3NwbGl0X3N0cihhcmcsICcrJywgMCk7CisJc2l6ZV90IHN1YjsKKwlpbnQgcmVzdWx0ID0gMDsKKworCWlmICghc3Vic3BlY3NbMF0pIHsKKwkJc3RyYnVmX2FkZHN0cihlcnJidWYsIF8oImV4cGVjdGVkIHNvbWV0aGluZyBhZnRlciBjb21iaW5lOiIpKTsKKwkJcmVzdWx0ID0gMTsKKwkJZ290byBjbGVhbnVwOworCX0KKworCWZvciAoc3ViID0gMDsgc3Vic3BlY3Nbc3ViXSAmJiAhcmVzdWx0OyBzdWIrKykgeworCQlpZiAoc3Vic3BlY3Nbc3ViICsgMV0pIHsKKwkJCS8qCisJCQkgKiBUaGlzIGlzIG5vdCB0aGUgbGFzdCBzdWJzcGVjLiBSZW1vdmUgdHJhaWxpbmcgIisiIHNvCisJCQkgKiB3ZSBjYW4gcGFyc2UgaXQuCisJCQkgKi8KKwkJCXNpemVfdCBsYXN0ID0gc3Vic3BlY3Nbc3ViXS0+bGVuIC0gMTsKKwkJCWFzc2VydChzdWJzcGVjc1tzdWJdLT5idWZbbGFzdF0gPT0gJysnKTsKKwkJCXN0cmJ1Zl9yZW1vdmUoc3Vic3BlY3Nbc3ViXSwgbGFzdCwgMSk7CisJCX0KKwkJcmVzdWx0ID0gcGFyc2VfY29tYmluZV9zdWJmaWx0ZXIoCisJCQlmaWx0ZXJfb3B0aW9ucywgc3Vic3BlY3Nbc3ViXSwgZXJyYnVmKTsKKwl9CisKKwlmaWx0ZXJfb3B0aW9ucy0+Y2hvaWNlID0gTE9GQ19DT01CSU5FOworCitjbGVhbnVwOgorCXN0cmJ1Zl9saXN0X2ZyZWUoc3Vic3BlY3MpOworCWlmIChyZXN1bHQpIHsKKwkJbGlzdF9vYmplY3RzX2ZpbHRlcl9yZWxlYXNlKGZpbHRlcl9vcHRpb25zKTsKKwkJbWVtc2V0KGZpbHRlcl9vcHRpb25zLCAwLCBzaXplb2YoKmZpbHRlcl9vcHRpb25zKSk7CisJfQorCXJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBpbnQgYWxsb3dfdW5lbmNvZGVkKGNoYXIgY2gpCit7CisJaWYgKGNoIDw9ICcgJyB8fCBjaCA9PSAnJScgfHwgY2ggPT0gJysnKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gIXN0cmNocihSRVNFUlZFRF9OT05fV1MsIGNoKTsKK30KKworc3RhdGljIHZvaWQgZmlsdGVyX3NwZWNfYXBwZW5kX3VybGVuY29kZSgKKwlzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zICpmaWx0ZXIsIGNvbnN0IGNoYXIgKnJhdykKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwotCWlmIChnZW50bHlfcGFyc2VfbGlzdF9vYmplY3RzX2ZpbHRlcihmaWx0ZXJfb3B0aW9ucywgYXJnLCAmYnVmKSkKLQkJZGllKCIlcyIsIGJ1Zi5idWYpOwotCXJldHVybiAwOworCXN0cmJ1Zl9hZGRzdHJfdXJsZW5jb2RlKCZidWYsIHJhdywgYWxsb3dfdW5lbmNvZGVkKTsKKwl0cmFjZV9wcmludGYoIkFkZCB0byBjb21iaW5lIGZpbHRlci1zcGVjOiAlc1xuIiwgYnVmLmJ1Zik7CisJc3RyaW5nX2xpc3RfYXBwZW5kKCZmaWx0ZXItPmZpbHRlcl9zcGVjLCBzdHJidWZfZGV0YWNoKCZidWYsIE5VTEwpKTsKK30KKworLyoKKyAqIENoYW5nZXMgZmlsdGVyX29wdGlvbnMgaW50byBhbiBlcXVpdmFsZW50IExPRkNfQ09NQklORSBmaWx0ZXIgb3B0aW9ucworICogaW5zdGFuY2UuIERvZXMgbm90IGRvIGFueXRoaW5nIGlmIGZpbHRlcl9vcHRpb25zIGlzIGFscmVhZHkgTE9GQ19DT01CSU5FLgorICovCitzdGF0aWMgdm9pZCB0cmFuc2Zvcm1fdG9fY29tYmluZV90eXBlKAorCXN0cnVjdCBsaXN0X29iamVjdHNfZmlsdGVyX29wdGlvbnMgKmZpbHRlcl9vcHRpb25zKQoreworCWFzc2VydChmaWx0ZXJfb3B0aW9ucy0+Y2hvaWNlKTsKKwlpZiAoZmlsdGVyX29wdGlvbnMtPmNob2ljZSA9PSBMT0ZDX0NPTUJJTkUpCisJCXJldHVybjsKKwl7CisJCWNvbnN0IGludCBpbml0aWFsX3N1Yl9hbGxvYyA9IDI7CisJCXN0cnVjdCBsaXN0X29iamVjdHNfZmlsdGVyX29wdGlvbnMgKnN1Yl9hcnJheSA9CisJCQl4Y2FsbG9jKGluaXRpYWxfc3ViX2FsbG9jLCBzaXplb2YoKnN1Yl9hcnJheSkpOworCQlzdWJfYXJyYXlbMF0gPSAqZmlsdGVyX29wdGlvbnM7CisJCW1lbXNldChmaWx0ZXJfb3B0aW9ucywgMCwgc2l6ZW9mKCpmaWx0ZXJfb3B0aW9ucykpOworCQlmaWx0ZXJfb3B0aW9ucy0+c3ViID0gc3ViX2FycmF5OworCQlmaWx0ZXJfb3B0aW9ucy0+c3ViX2FsbG9jID0gaW5pdGlhbF9zdWJfYWxsb2M7CisJfQorCWZpbHRlcl9vcHRpb25zLT5zdWJfbnIgPSAxOworCWZpbHRlcl9vcHRpb25zLT5jaG9pY2UgPSBMT0ZDX0NPTUJJTkU7CisJc3RyaW5nX2xpc3RfYXBwZW5kKCZmaWx0ZXJfb3B0aW9ucy0+ZmlsdGVyX3NwZWMsIHhzdHJkdXAoImNvbWJpbmU6IikpOworCWZpbHRlcl9zcGVjX2FwcGVuZF91cmxlbmNvZGUoCisJCWZpbHRlcl9vcHRpb25zLAorCQlsaXN0X29iamVjdHNfZmlsdGVyX3NwZWMoJmZpbHRlcl9vcHRpb25zLT5zdWJbMF0pKTsKKwkvKgorCSAqIFdlIGRvbid0IG5lZWQgdGhlIGZpbHRlcl9zcGVjIHN0cmluZ3MgZm9yIHN1YmZpbHRlciBzcGVjcywgb25seSB0aGUKKwkgKiB0b3AgbGV2ZWwuCisJICovCisJc3RyaW5nX2xpc3RfY2xlYXIoJmZpbHRlcl9vcHRpb25zLT5zdWJbMF0uZmlsdGVyX3NwZWMsIC8qZnJlZV91dGlsPSovMCk7Cit9CisKK3ZvaWQgbGlzdF9vYmplY3RzX2ZpbHRlcl9kaWVfaWZfcG9wdWxhdGVkKAorCXN0cnVjdCBsaXN0X29iamVjdHNfZmlsdGVyX29wdGlvbnMgKmZpbHRlcl9vcHRpb25zKQoreworCWlmIChmaWx0ZXJfb3B0aW9ucy0+Y2hvaWNlKQorCQlkaWUoXygibXVsdGlwbGUgZmlsdGVyLXNwZWNzIGNhbm5vdCBiZSBjb21iaW5lZCIpKTsKK30KKwordm9pZCBwYXJzZV9saXN0X29iamVjdHNfZmlsdGVyKAorCXN0cnVjdCBsaXN0X29iamVjdHNfZmlsdGVyX29wdGlvbnMgKmZpbHRlcl9vcHRpb25zLAorCWNvbnN0IGNoYXIgKmFyZykKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGVycmJ1ZiA9IFNUUkJVRl9JTklUOworCWludCBwYXJzZV9lcnJvcjsKKworCWlmICghZmlsdGVyX29wdGlvbnMtPmNob2ljZSkgeworCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmZpbHRlcl9vcHRpb25zLT5maWx0ZXJfc3BlYywgeHN0cmR1cChhcmcpKTsKKworCQlwYXJzZV9lcnJvciA9IGdlbnRseV9wYXJzZV9saXN0X29iamVjdHNfZmlsdGVyKAorCQkJZmlsdGVyX29wdGlvbnMsIGFyZywgJmVycmJ1Zik7CisJfSBlbHNlIHsKKwkJLyoKKwkJICogTWFrZSBmaWx0ZXJfb3B0aW9ucyBhbiBMT0ZDX0NPTUJJTkUgc3BlYyBzbyB3ZSBjYW4gdHJpdmlhbGx5CisJCSAqIGFkZCBzdWJzcGVjcyB0byBpdC4KKwkJICovCisJCXRyYW5zZm9ybV90b19jb21iaW5lX3R5cGUoZmlsdGVyX29wdGlvbnMpOworCisJCXN0cmluZ19saXN0X2FwcGVuZCgmZmlsdGVyX29wdGlvbnMtPmZpbHRlcl9zcGVjLCB4c3RyZHVwKCIrIikpOworCQlmaWx0ZXJfc3BlY19hcHBlbmRfdXJsZW5jb2RlKGZpbHRlcl9vcHRpb25zLCBhcmcpOworCQlBTExPQ19HUk9XX0JZKGZpbHRlcl9vcHRpb25zLT5zdWIsIGZpbHRlcl9vcHRpb25zLT5zdWJfbnIsIDEsCisJCQkgICAgICBmaWx0ZXJfb3B0aW9ucy0+c3ViX2FsbG9jKTsKKworCQlwYXJzZV9lcnJvciA9IGdlbnRseV9wYXJzZV9saXN0X29iamVjdHNfZmlsdGVyKAorCQkJJmZpbHRlcl9vcHRpb25zLT5zdWJbZmlsdGVyX29wdGlvbnMtPnN1Yl9uciAtIDFdLCBhcmcsCisJCQkmZXJyYnVmKTsKKwl9CisJaWYgKHBhcnNlX2Vycm9yKQorCQlkaWUoIiVzIiwgZXJyYnVmLmJ1Zik7CiB9CiAKIGludCBvcHRfcGFyc2VfbGlzdF9vYmplY3RzX2ZpbHRlcihjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCkBAIC0xMDQsNjIgKzI2MywxMDggQEAKIHsKIAlzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zICpmaWx0ZXJfb3B0aW9ucyA9IG9wdC0+dmFsdWU7CiAKLQlpZiAodW5zZXQgfHwgIWFyZykgeworCWlmICh1bnNldCB8fCAhYXJnKQogCQlsaXN0X29iamVjdHNfZmlsdGVyX3NldF9ub19maWx0ZXIoZmlsdGVyX29wdGlvbnMpOwotCQlyZXR1cm4gMDsKKwllbHNlCisJCXBhcnNlX2xpc3Rfb2JqZWN0c19maWx0ZXIoZmlsdGVyX29wdGlvbnMsIGFyZyk7CisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IGNoYXIgKmxpc3Rfb2JqZWN0c19maWx0ZXJfc3BlYyhzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zICpmaWx0ZXIpCit7CisJaWYgKCFmaWx0ZXItPmZpbHRlcl9zcGVjLm5yKQorCQlCVUcoIm5vIGZpbHRlcl9zcGVjIGF2YWlsYWJsZSBmb3IgdGhpcyBmaWx0ZXIiKTsKKwlpZiAoZmlsdGVyLT5maWx0ZXJfc3BlYy5uciAhPSAxKSB7CisJCXN0cnVjdCBzdHJidWYgY29uY2F0dGVkID0gU1RSQlVGX0lOSVQ7CisJCXN0cmJ1Zl9hZGRfc2VwYXJhdGVkX3N0cmluZ19saXN0KAorCQkJJmNvbmNhdHRlZCwgIiIsICZmaWx0ZXItPmZpbHRlcl9zcGVjKTsKKwkJc3RyaW5nX2xpc3RfY2xlYXIoJmZpbHRlci0+ZmlsdGVyX3NwZWMsIC8qZnJlZV91dGlsPSovMCk7CisJCXN0cmluZ19saXN0X2FwcGVuZCgKKwkJCSZmaWx0ZXItPmZpbHRlcl9zcGVjLCBzdHJidWZfZGV0YWNoKCZjb25jYXR0ZWQsIE5VTEwpKTsKIAl9CiAKLQlyZXR1cm4gcGFyc2VfbGlzdF9vYmplY3RzX2ZpbHRlcihmaWx0ZXJfb3B0aW9ucywgYXJnKTsKKwlyZXR1cm4gZmlsdGVyLT5maWx0ZXJfc3BlYy5pdGVtc1swXS5zdHJpbmc7Cit9CisKK2NvbnN0IGNoYXIgKmV4cGFuZF9saXN0X29iamVjdHNfZmlsdGVyX3NwZWMoCisJc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyAqZmlsdGVyKQoreworCWlmIChmaWx0ZXItPmNob2ljZSA9PSBMT0ZDX0JMT0JfTElNSVQpIHsKKwkJc3RydWN0IHN0cmJ1ZiBleHBhbmRlZF9zcGVjID0gU1RSQlVGX0lOSVQ7CisJCXN0cmJ1Zl9hZGRmKCZleHBhbmRlZF9zcGVjLCAiYmxvYjpsaW1pdD0lbHUiLAorCQkJICAgIGZpbHRlci0+YmxvYl9saW1pdF92YWx1ZSk7CisJCXN0cmluZ19saXN0X2NsZWFyKCZmaWx0ZXItPmZpbHRlcl9zcGVjLCAvKmZyZWVfdXRpbD0qLzApOworCQlzdHJpbmdfbGlzdF9hcHBlbmQoCisJCQkmZmlsdGVyLT5maWx0ZXJfc3BlYywKKwkJCXN0cmJ1Zl9kZXRhY2goJmV4cGFuZGVkX3NwZWMsIE5VTEwpKTsKKwl9CisKKwlyZXR1cm4gbGlzdF9vYmplY3RzX2ZpbHRlcl9zcGVjKGZpbHRlcik7CiB9CiAKIHZvaWQgbGlzdF9vYmplY3RzX2ZpbHRlcl9yZWxlYXNlKAogCXN0cnVjdCBsaXN0X29iamVjdHNfZmlsdGVyX29wdGlvbnMgKmZpbHRlcl9vcHRpb25zKQogewotCWZyZWUoZmlsdGVyX29wdGlvbnMtPmZpbHRlcl9zcGVjKTsKLQlmcmVlKGZpbHRlcl9vcHRpb25zLT5zcGFyc2Vfb2lkX3ZhbHVlKTsKLQlmcmVlKGZpbHRlcl9vcHRpb25zLT5zcGFyc2VfcGF0aF92YWx1ZSk7CisJc2l6ZV90IHN1YjsKKworCWlmICghZmlsdGVyX29wdGlvbnMpCisJCXJldHVybjsKKwlzdHJpbmdfbGlzdF9jbGVhcigmZmlsdGVyX29wdGlvbnMtPmZpbHRlcl9zcGVjLCAvKmZyZWVfdXRpbD0qLzApOworCWZyZWUoZmlsdGVyX29wdGlvbnMtPnNwYXJzZV9vaWRfbmFtZSk7CisJZm9yIChzdWIgPSAwOyBzdWIgPCBmaWx0ZXJfb3B0aW9ucy0+c3ViX25yOyBzdWIrKykKKwkJbGlzdF9vYmplY3RzX2ZpbHRlcl9yZWxlYXNlKCZmaWx0ZXJfb3B0aW9ucy0+c3ViW3N1Yl0pOworCWZyZWUoZmlsdGVyX29wdGlvbnMtPnN1Yik7CiAJbWVtc2V0KGZpbHRlcl9vcHRpb25zLCAwLCBzaXplb2YoKmZpbHRlcl9vcHRpb25zKSk7CiB9CiAKIHZvaWQgcGFydGlhbF9jbG9uZV9yZWdpc3RlcigKIAljb25zdCBjaGFyICpyZW1vdGUsCi0JY29uc3Qgc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyAqZmlsdGVyX29wdGlvbnMpCisJc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyAqZmlsdGVyX29wdGlvbnMpCiB7Ci0JLyoKLQkgKiBSZWNvcmQgdGhlIG5hbWUgb2YgdGhlIHBhcnRpYWwgY2xvbmUgcmVtb3RlIGluIHRoZQotCSAqIGNvbmZpZyBhbmQgaW4gdGhlIGdsb2JhbCB2YXJpYWJsZSAtLSB0aGUgbGF0dGVyIGlzCi0JICogdXNlZCB0aHJvdWdob3V0IHRvIGluZGljYXRlIHRoYXQgcGFydGlhbCBjbG9uZSBpcwotCSAqIGVuYWJsZWQgYW5kIHRvIGV4cGVjdCBtaXNzaW5nIG9iamVjdHMuCi0JICovCi0JaWYgKHJlcG9zaXRvcnlfZm9ybWF0X3BhcnRpYWxfY2xvbmUgJiYKLQkgICAgKnJlcG9zaXRvcnlfZm9ybWF0X3BhcnRpYWxfY2xvbmUgJiYKLQkgICAgc3RyY21wKHJlbW90ZSwgcmVwb3NpdG9yeV9mb3JtYXRfcGFydGlhbF9jbG9uZSkpCi0JCWRpZShfKCJjYW5ub3QgY2hhbmdlIHBhcnRpYWwgY2xvbmUgcHJvbWlzb3IgcmVtb3RlIikpOworCWNoYXIgKmNmZ19uYW1lOworCWNoYXIgKmZpbHRlcl9uYW1lOwogCi0JZ2l0X2NvbmZpZ19zZXQoImNvcmUucmVwb3NpdG9yeWZvcm1hdHZlcnNpb24iLCAiMSIpOwotCWdpdF9jb25maWdfc2V0KCJleHRlbnNpb25zLnBhcnRpYWxjbG9uZSIsIHJlbW90ZSk7CisJLyogQ2hlY2sgaWYgaXQgaXMgYWxyZWFkeSByZWdpc3RlcmVkICovCisJaWYgKCFwcm9taXNvcl9yZW1vdGVfZmluZChyZW1vdGUpKSB7CisJCWdpdF9jb25maWdfc2V0KCJjb3JlLnJlcG9zaXRvcnlmb3JtYXR2ZXJzaW9uIiwgIjEiKTsKIAotCXJlcG9zaXRvcnlfZm9ybWF0X3BhcnRpYWxfY2xvbmUgPSB4c3RyZHVwKHJlbW90ZSk7CisJCS8qIEFkZCBwcm9taXNvciBjb25maWcgZm9yIHRoZSByZW1vdGUgKi8KKwkJY2ZnX25hbWUgPSB4c3RyZm10KCJyZW1vdGUuJXMucHJvbWlzb3IiLCByZW1vdGUpOworCQlnaXRfY29uZmlnX3NldChjZmdfbmFtZSwgInRydWUiKTsKKwkJZnJlZShjZmdfbmFtZSk7CisJfQogCiAJLyoKIAkgKiBSZWNvcmQgdGhlIGluaXRpYWwgZmlsdGVyLXNwZWMgaW4gdGhlIGNvbmZpZyBhcwogCSAqIHRoZSBkZWZhdWx0IGZvciBzdWJzZXF1ZW50IGZldGNoZXMgZnJvbSB0aGlzIHJlbW90ZS4KIAkgKi8KLQljb3JlX3BhcnRpYWxfY2xvbmVfZmlsdGVyX2RlZmF1bHQgPQotCQl4c3RyZHVwKGZpbHRlcl9vcHRpb25zLT5maWx0ZXJfc3BlYyk7Ci0JZ2l0X2NvbmZpZ19zZXQoImNvcmUucGFydGlhbGNsb25lZmlsdGVyIiwKLQkJICAgICAgIGNvcmVfcGFydGlhbF9jbG9uZV9maWx0ZXJfZGVmYXVsdCk7CisJZmlsdGVyX25hbWUgPSB4c3RyZm10KCJyZW1vdGUuJXMucGFydGlhbGNsb25lZmlsdGVyIiwgcmVtb3RlKTsKKwkvKiBORUVEU1dPUks6ICdleHBhbmQnIHJlc3VsdCBsZWFraW5nPz8/ICovCisJZ2l0X2NvbmZpZ19zZXQoZmlsdGVyX25hbWUsCisJCSAgICAgICBleHBhbmRfbGlzdF9vYmplY3RzX2ZpbHRlcl9zcGVjKGZpbHRlcl9vcHRpb25zKSk7CisJZnJlZShmaWx0ZXJfbmFtZSk7CisKKwkvKiBNYWtlIHN1cmUgdGhlIGNvbmZpZyBpbmZvIGFyZSByZXNldCAqLworCXByb21pc29yX3JlbW90ZV9yZWluaXQoKTsKIH0KIAogdm9pZCBwYXJ0aWFsX2Nsb25lX2dldF9kZWZhdWx0X2ZpbHRlcl9zcGVjKAotCXN0cnVjdCBsaXN0X29iamVjdHNfZmlsdGVyX29wdGlvbnMgKmZpbHRlcl9vcHRpb25zKQorCXN0cnVjdCBsaXN0X29iamVjdHNfZmlsdGVyX29wdGlvbnMgKmZpbHRlcl9vcHRpb25zLAorCWNvbnN0IGNoYXIgKnJlbW90ZSkKIHsKKwlzdHJ1Y3QgcHJvbWlzb3JfcmVtb3RlICpwcm9taXNvciA9IHByb21pc29yX3JlbW90ZV9maW5kKHJlbW90ZSk7CisJc3RydWN0IHN0cmJ1ZiBlcnJidWYgPSBTVFJCVUZfSU5JVDsKKwogCS8qCiAJICogUGFyc2UgZGVmYXVsdCB2YWx1ZSwgYnV0IHNpbGVudGx5IGlnbm9yZSBpdCBpZiBpdCBpcyBpbnZhbGlkLgogCSAqLwotCWlmICghY29yZV9wYXJ0aWFsX2Nsb25lX2ZpbHRlcl9kZWZhdWx0KQorCWlmICghcHJvbWlzb3IpCiAJCXJldHVybjsKKworCXN0cmluZ19saXN0X2FwcGVuZCgmZmlsdGVyX29wdGlvbnMtPmZpbHRlcl9zcGVjLAorCQkJICAgcHJvbWlzb3ItPnBhcnRpYWxfY2xvbmVfZmlsdGVyKTsKIAlnZW50bHlfcGFyc2VfbGlzdF9vYmplY3RzX2ZpbHRlcihmaWx0ZXJfb3B0aW9ucywKLQkJCQkJIGNvcmVfcGFydGlhbF9jbG9uZV9maWx0ZXJfZGVmYXVsdCwKLQkJCQkJIE5VTEwpOworCQkJCQkgcHJvbWlzb3ItPnBhcnRpYWxfY2xvbmVfZmlsdGVyLAorCQkJCQkgJmVycmJ1Zik7CisJc3RyYnVmX3JlbGVhc2UoJmVycmJ1Zik7CiB9CmRpZmYgLS1naXQgYS9saXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaCBiL2xpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oCmluZGV4IGFmNjRlNWMuLjJmZmIzOTIgMTAwNjQ0Ci0tLSBhL2xpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oCisrKyBiL2xpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oCkBAIC0yLDYgKzIsNyBAQAogI2RlZmluZSBMSVNUX09CSkVDVFNfRklMVEVSX09QVElPTlNfSAogCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgorI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCiAKIC8qCiAgKiBUaGUgbGlzdCBvZiBkZWZpbmVkIGZpbHRlcnMgZm9yIGxpc3Qtb2JqZWN0cy4KQEAgLTEwLDkgKzExLDkgQEAKIAlMT0ZDX0RJU0FCTEVEID0gMCwKIAlMT0ZDX0JMT0JfTk9ORSwKIAlMT0ZDX0JMT0JfTElNSVQsCi0JTE9GQ19UUkVFX05PTkUsCisJTE9GQ19UUkVFX0RFUFRILAogCUxPRkNfU1BBUlNFX09JRCwKLQlMT0ZDX1NQQVJTRV9QQVRILAorCUxPRkNfQ09NQklORSwKIAlMT0ZDX19DT1VOVCAvKiBtdXN0IGJlIGxhc3QgKi8KIH07CiAKQEAgLTIwLDEwICsyMSwxMyBAQAogCS8qCiAJICogJ2ZpbHRlcl9zcGVjJyBpcyB0aGUgcmF3IGFyZ3VtZW50IHZhbHVlIGdpdmVuIG9uIHRoZSBjb21tYW5kIGxpbmUKIAkgKiBvciBwcm90b2NvbCByZXF1ZXN0LiAgKFRoZSBwYXJ0IGFmdGVyIHRoZSAiLS1rZXl3b3JkPSIuKSAgRm9yCi0JICogY29tbWFuZHMgdGhhdCBsYXVuY2ggZmlsdGVyaW5nIHN1Yi1wcm9jZXNzZXMsIHRoaXMgdmFsdWUgc2hvdWxkIGJlCi0JICogcGFzc2VkIHRvIHRoZW0gYXMgcmVjZWl2ZWQgYnkgdGhlIGN1cnJlbnQgcHJvY2Vzcy4KKwkgKiBjb21tYW5kcyB0aGF0IGxhdW5jaCBmaWx0ZXJpbmcgc3ViLXByb2Nlc3Nlcywgb3IgZm9yIGNvbW11bmljYXRpb24KKwkgKiBvdmVyIHRoZSBuZXR3b3JrLCBkb24ndCB1c2UgdGhpcyB2YWx1ZTsgdXNlIHRoZSByZXN1bHQgb2YKKwkgKiBleHBhbmRfbGlzdF9vYmplY3RzX2ZpbHRlcl9zcGVjKCkgaW5zdGVhZC4KKwkgKiBUbyBnZXQgdGhlIHJhdyBmaWx0ZXIgc3BlYyBnaXZlbiBieSB0aGUgdXNlciwgdXNlIHRoZSByZXN1bHQgb2YKKwkgKiBsaXN0X29iamVjdHNfZmlsdGVyX3NwZWMoKS4KIAkgKi8KLQljaGFyICpmaWx0ZXJfc3BlYzsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgZmlsdGVyX3NwZWM7CiAKIAkvKgogCSAqICdjaG9pY2UnIGlzIGRldGVybWluZWQgYnkgcGFyc2luZyB0aGUgZmlsdGVyLXNwZWMuICBUaGlzIGluZGljYXRlcwpAQCAtMzcsMTkgKzQxLDQwIEBACiAJdW5zaWduZWQgaW50IG5vX2ZpbHRlciA6IDE7CiAKIAkvKgotCSAqIFBhcnNlZCB2YWx1ZXMgKGZpZWxkcykgZnJvbSB3aXRoaW4gdGhlIGZpbHRlci1zcGVjLiAgVGhlc2UgYXJlCi0JICogY2hvaWNlLXNwZWNpZmljOyBub3QgYWxsIHZhbHVlcyB3aWxsIGJlIGRlZmluZWQgZm9yIGFueSBnaXZlbgotCSAqIGNob2ljZS4KKwkgKiBCRUdJTiBjaG9pY2Utc3BlY2lmaWMgcGFyc2VkIHZhbHVlcyBmcm9tIHdpdGhpbiB0aGUgZmlsdGVyLXNwZWMuIE9ubHkKKwkgKiBzb21lIHZhbHVlcyB3aWxsIGJlIGRlZmluZWQgZm9yIGFueSBnaXZlbiBjaG9pY2UuCiAJICovCi0Jc3RydWN0IG9iamVjdF9pZCAqc3BhcnNlX29pZF92YWx1ZTsKLQljaGFyICpzcGFyc2VfcGF0aF92YWx1ZTsKKworCWNoYXIgKnNwYXJzZV9vaWRfbmFtZTsKIAl1bnNpZ25lZCBsb25nIGJsb2JfbGltaXRfdmFsdWU7CisJdW5zaWduZWQgbG9uZyB0cmVlX2V4Y2x1ZGVfZGVwdGg7CisKKwkvKiBMT0ZDX0NPTUJJTkUgdmFsdWVzICovCisKKwkvKiBUaGlzIGFycmF5IGNvbnRhaW5zIGFsbCB0aGUgc3ViZmlsdGVycyB3aGljaCB0aGlzIGZpbHRlciBjb21iaW5lcy4gKi8KKwlzaXplX3Qgc3ViX25yLCBzdWJfYWxsb2M7CisJc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyAqc3ViOworCisJLyoKKwkgKiBFTkQgY2hvaWNlLXNwZWNpZmljIHBhcnNlZCB2YWx1ZXMuCisJICovCiB9OwogCiAvKiBOb3JtYWxpemVkIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgKi8KICNkZWZpbmUgQ0xfQVJHX19GSUxURVIgImZpbHRlciIKIAotaW50IHBhcnNlX2xpc3Rfb2JqZWN0c19maWx0ZXIoCit2b2lkIGxpc3Rfb2JqZWN0c19maWx0ZXJfZGllX2lmX3BvcHVsYXRlZCgKKwlzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zICpmaWx0ZXJfb3B0aW9ucyk7CisKKy8qCisgKiBQYXJzZXMgdGhlIGZpbHRlciBzcGVjIHN0cmluZyBnaXZlbiBieSBhcmcgYW5kIGVpdGhlciAoMSkgc2ltcGx5IHBsYWNlcyB0aGUKKyAqIHJlc3VsdCBpbiBmaWx0ZXJfb3B0aW9ucyBpZiBpdCBpcyBub3QgeWV0IHBvcHVsYXRlZCBvciAoMikgY29tYmluZXMgaXQgd2l0aAorICogdGhlIGZpbHRlciBhbHJlYWR5IGluIGZpbHRlcl9vcHRpb25zIGlmIGl0IGlzIGFscmVhZHkgcG9wdWxhdGVkLiBJbiB0aGUgY2FzZQorICogb2YgKDIpLCB0aGUgZmlsdGVyIHNwZWNzIGFyZSBjb21iaW5lZCBhcyBpZiBzcGVjaWZpZWQgd2l0aCAnY29tYmluZTonLgorICoKKyAqIERpZXMgYW5kIHByaW50cyBhIHVzZXItZmFjaW5nIG1lc3NhZ2UgaWYgYW4gZXJyb3Igb2NjdXJzLgorICovCit2b2lkIHBhcnNlX2xpc3Rfb2JqZWN0c19maWx0ZXIoCiAJc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyAqZmlsdGVyX29wdGlvbnMsCiAJY29uc3QgY2hhciAqYXJnKTsKIApAQCAtNjEsNiArODYsMjYgQEAKIAkgIE5fKCJvYmplY3QgZmlsdGVyaW5nIiksIDAsIFwKIAkgIG9wdF9wYXJzZV9saXN0X29iamVjdHNfZmlsdGVyIH0KIAorLyoKKyAqIFRyYW5zbGF0ZXMgYWJicmV2aWF0ZWQgbnVtYmVycyBpbiB0aGUgZmlsdGVyJ3MgZmlsdGVyX3NwZWMgaW50byB0aGVpcgorICogZnVsbHktZXhwYW5kZWQgZm9ybXMgKGUuZy4sICJsaW1pdDpibG9iPTFrIiBiZWNvbWVzICJsaW1pdDpibG9iPTEwMjQiKS4KKyAqIFJldHVybnMgYSBzdHJpbmcgb3duZWQgYnkgdGhlIGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyBvYmplY3QuCisgKgorICogVGhpcyBmb3JtIHNob3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIHJhdyBsaXN0X29iamVjdHNfZmlsdGVyX3NwZWMoKQorICogdmFsdWUgd2hlbiBjb21tdW5pY2F0aW5nIHdpdGggYSByZW1vdGUgcHJvY2VzcyBvciBzdWJwcm9jZXNzLgorICovCitjb25zdCBjaGFyICpleHBhbmRfbGlzdF9vYmplY3RzX2ZpbHRlcl9zcGVjKAorCXN0cnVjdCBsaXN0X29iamVjdHNfZmlsdGVyX29wdGlvbnMgKmZpbHRlcik7CisKKy8qCisgKiBSZXR1cm5zIHRoZSBmaWx0ZXIgc3BlYyBzdHJpbmcgbW9yZSBvciBsZXNzIGluIHRoZSBmb3JtIGFzIHRoZSB1c2VyCisgKiBlbnRlcmVkIGl0LiBUaGlzIGZvcm0gb2YgdGhlIGZpbHRlcl9zcGVjIGNhbiBiZSB1c2VkIGluIHVzZXItZmFjaW5nCisgKiBtZXNzYWdlcy4gIFJldHVybnMgYSBzdHJpbmcgb3duZWQgYnkgdGhlIGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucworICogb2JqZWN0LgorICovCitjb25zdCBjaGFyICpsaXN0X29iamVjdHNfZmlsdGVyX3NwZWMoCisJc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyAqZmlsdGVyKTsKKwogdm9pZCBsaXN0X29iamVjdHNfZmlsdGVyX3JlbGVhc2UoCiAJc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyAqZmlsdGVyX29wdGlvbnMpOwogCkBAIC03Myw4ICsxMTgsOSBAQAogCiB2b2lkIHBhcnRpYWxfY2xvbmVfcmVnaXN0ZXIoCiAJY29uc3QgY2hhciAqcmVtb3RlLAotCWNvbnN0IHN0cnVjdCBsaXN0X29iamVjdHNfZmlsdGVyX29wdGlvbnMgKmZpbHRlcl9vcHRpb25zKTsKLXZvaWQgcGFydGlhbF9jbG9uZV9nZXRfZGVmYXVsdF9maWx0ZXJfc3BlYygKIAlzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zICpmaWx0ZXJfb3B0aW9ucyk7Cit2b2lkIHBhcnRpYWxfY2xvbmVfZ2V0X2RlZmF1bHRfZmlsdGVyX3NwZWMoCisJc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyAqZmlsdGVyX29wdGlvbnMsCisJY29uc3QgY2hhciAqcmVtb3RlKTsKIAogI2VuZGlmIC8qIExJU1RfT0JKRUNUU19GSUxURVJfT1BUSU9OU19IICovCmRpZmYgLS1naXQgYS9saXN0LW9iamVjdHMtZmlsdGVyLmMgYi9saXN0LW9iamVjdHMtZmlsdGVyLmMKaW5kZXggNzY1ZjNkZi4uMWU4ZDRlNyAxMDA2NDQKLS0tIGEvbGlzdC1vYmplY3RzLWZpbHRlci5jCisrKyBiL2xpc3Qtb2JqZWN0cy1maWx0ZXIuYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgImxpc3Qtb2JqZWN0cy5oIgogI2luY2x1ZGUgImxpc3Qtb2JqZWN0cy1maWx0ZXIuaCIKICNpbmNsdWRlICJsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaCIKKyNpbmNsdWRlICJvaWRtYXAuaCIKICNpbmNsdWRlICJvaWRzZXQuaCIKICNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKIApAQCAtMjUsMjMgKzI2LDU4IEBACiAgKi8KICNkZWZpbmUgRklMVEVSX1NIT1dOX0JVVF9SRVZJU0lUICgxPDwyMSkKIAotLyoKLSAqIEEgZmlsdGVyIGZvciBsaXN0LW9iamVjdHMgdG8gb21pdCBBTEwgYmxvYnMgZnJvbSB0aGUgdHJhdmVyc2FsLgotICogQW5kIHRvIE9QVElPTkFMTFkgY29sbGVjdCBhIGxpc3Qgb2YgdGhlIG9taXR0ZWQgT0lEcy4KLSAqLwotc3RydWN0IGZpbHRlcl9ibG9ic19ub25lX2RhdGEgeworc3RydWN0IHN1YmZpbHRlciB7CisJc3RydWN0IGZpbHRlciAqZmlsdGVyOworCXN0cnVjdCBvaWRzZXQgc2VlbjsKKwlzdHJ1Y3Qgb2lkc2V0IG9taXRzOworCXN0cnVjdCBvYmplY3RfaWQgc2tpcF90cmVlOworCXVuc2lnbmVkIGlzX3NraXBwaW5nX3RyZWUgOiAxOworfTsKKworc3RydWN0IGZpbHRlciB7CisJZW51bSBsaXN0X29iamVjdHNfZmlsdGVyX3Jlc3VsdCAoKmZpbHRlcl9vYmplY3RfZm4pKAorCQlzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJZW51bSBsaXN0X29iamVjdHNfZmlsdGVyX3NpdHVhdGlvbiBmaWx0ZXJfc2l0dWF0aW9uLAorCQlzdHJ1Y3Qgb2JqZWN0ICpvYmosCisJCWNvbnN0IGNoYXIgKnBhdGhuYW1lLAorCQljb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJc3RydWN0IG9pZHNldCAqb21pdHMsCisJCXZvaWQgKmZpbHRlcl9kYXRhKTsKKworCS8qCisJICogT3B0aW9uYWwuIElmIHRoaXMgZnVuY3Rpb24gaXMgc3VwcGxpZWQgYW5kIHRoZSBmaWx0ZXIgbmVlZHMKKwkgKiB0byBjb2xsZWN0IG9taXRzLCB0aGVuIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9uY2UgYmVmb3JlCisJICogZnJlZV9mbiBpcyBjYWxsZWQuCisJICoKKwkgKiBUaGlzIGlzIHJlcXVpcmVkIGJlY2F1c2UgdGhlIGZvbGxvd2luZyB0d28gY29uZGl0aW9ucyBob2xkOgorCSAqCisJICogICBhLiBBIHRyZWUgZmlsdGVyIGNhbiBhZGQgYW5kIHJlbW92ZSBvYmplY3RzIGFzIGFuIG9iamVjdAorCSAqICAgICAgZ3JhcGggaXMgdHJhdmVyc2VkLgorCSAqICAgYi4gQSBjb21iaW5lIGZpbHRlcidzIG9taXQgc2V0IGlzIHRoZSB1bmlvbiBvZiBhbGwgaXRzCisJICogICAgICBzdWJmaWx0ZXJzLCB3aGljaCBtYXkgaW5jbHVkZSB0cmVlOiBmaWx0ZXJzLgorCSAqCisJICogQXMgc3VjaCwgdGhlIG9taXRzIHNldHMgbXVzdCBiZSBzZXBhcmF0ZSBzZXRzLCBhbmQgY2FuIG9ubHkKKwkgKiBiZSB1bmlvbmVkIGFmdGVyIHRoZSB0cmF2ZXJzYWwgaXMgY29tcGxldGVkLgorCSAqLworCXZvaWQgKCpmaW5hbGl6ZV9vbWl0c19mbikoc3RydWN0IG9pZHNldCAqb21pdHMsIHZvaWQgKmZpbHRlcl9kYXRhKTsKKworCXZvaWQgKCpmcmVlX2ZuKSh2b2lkICpmaWx0ZXJfZGF0YSk7CisKKwl2b2lkICpmaWx0ZXJfZGF0YTsKKworCS8qIElmIG5vbi1OVUxMLCB0aGUgZmlsdGVyIGNvbGxlY3RzIGEgbGlzdCBvZiB0aGUgb21pdHRlZCBPSURzIGhlcmUuICovCiAJc3RydWN0IG9pZHNldCAqb21pdHM7CiB9OwogCiBzdGF0aWMgZW51bSBsaXN0X29iamVjdHNfZmlsdGVyX3Jlc3VsdCBmaWx0ZXJfYmxvYnNfbm9uZSgKKwlzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKIAllbnVtIGxpc3Rfb2JqZWN0c19maWx0ZXJfc2l0dWF0aW9uIGZpbHRlcl9zaXR1YXRpb24sCiAJc3RydWN0IG9iamVjdCAqb2JqLAogCWNvbnN0IGNoYXIgKnBhdGhuYW1lLAogCWNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCXN0cnVjdCBvaWRzZXQgKm9taXRzLAogCXZvaWQgKmZpbHRlcl9kYXRhXykKIHsKLQlzdHJ1Y3QgZmlsdGVyX2Jsb2JzX25vbmVfZGF0YSAqZmlsdGVyX2RhdGEgPSBmaWx0ZXJfZGF0YV87Ci0KIAlzd2l0Y2ggKGZpbHRlcl9zaXR1YXRpb24pIHsKIAlkZWZhdWx0OgogCQlCVUcoInVua25vd24gZmlsdGVyX3NpdHVhdGlvbjogJWQiLCBmaWx0ZXJfc2l0dWF0aW9uKTsKQEAgLTU5LDc5ICs5NSwxNTEgQEAKIAkJYXNzZXJ0KG9iai0+dHlwZSA9PSBPQkpfQkxPQik7CiAJCWFzc2VydCgob2JqLT5mbGFncyAmIFNFRU4pID09IDApOwogCi0JCWlmIChmaWx0ZXJfZGF0YS0+b21pdHMpCi0JCQlvaWRzZXRfaW5zZXJ0KGZpbHRlcl9kYXRhLT5vbWl0cywgJm9iai0+b2lkKTsKKwkJaWYgKG9taXRzKQorCQkJb2lkc2V0X2luc2VydChvbWl0cywgJm9iai0+b2lkKTsKIAkJcmV0dXJuIExPRlJfTUFSS19TRUVOOyAvKiBidXQgbm90IExPRlJfRE9fU0hPVyAoaGFyZCBvbWl0KSAqLwogCX0KIH0KIAotc3RhdGljIHZvaWQgKmZpbHRlcl9ibG9ic19ub25lX19pbml0KAotCXN0cnVjdCBvaWRzZXQgKm9taXR0ZWQsCitzdGF0aWMgdm9pZCBmaWx0ZXJfYmxvYnNfbm9uZV9faW5pdCgKIAlzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zICpmaWx0ZXJfb3B0aW9ucywKLQlmaWx0ZXJfb2JqZWN0X2ZuICpmaWx0ZXJfZm4sCi0JZmlsdGVyX2ZyZWVfZm4gKmZpbHRlcl9mcmVlX2ZuKQorCXN0cnVjdCBmaWx0ZXIgKmZpbHRlcikKIHsKLQlzdHJ1Y3QgZmlsdGVyX2Jsb2JzX25vbmVfZGF0YSAqZCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpkKSk7Ci0JZC0+b21pdHMgPSBvbWl0dGVkOwotCi0JKmZpbHRlcl9mbiA9IGZpbHRlcl9ibG9ic19ub25lOwotCSpmaWx0ZXJfZnJlZV9mbiA9IGZyZWU7Ci0JcmV0dXJuIGQ7CisJZmlsdGVyLT5maWx0ZXJfb2JqZWN0X2ZuID0gZmlsdGVyX2Jsb2JzX25vbmU7CisJZmlsdGVyLT5mcmVlX2ZuID0gZnJlZTsKIH0KIAogLyoKICAqIEEgZmlsdGVyIGZvciBsaXN0LW9iamVjdHMgdG8gb21pdCBBTEwgdHJlZXMgYW5kIGJsb2JzIGZyb20gdGhlIHRyYXZlcnNhbC4KICAqIENhbiBPUFRJT05BTExZIGNvbGxlY3QgYSBsaXN0IG9mIHRoZSBvbWl0dGVkIE9JRHMuCiAgKi8KLXN0cnVjdCBmaWx0ZXJfdHJlZXNfbm9uZV9kYXRhIHsKLQlzdHJ1Y3Qgb2lkc2V0ICpvbWl0czsKK3N0cnVjdCBmaWx0ZXJfdHJlZXNfZGVwdGhfZGF0YSB7CisJLyoKKwkgKiBNYXBzIHRyZWVzIHRvIHRoZSBtaW5pbXVtIGRlcHRoIGF0IHdoaWNoIHRoZXkgd2VyZSBzZWVuLiBJdCBpcyBub3QKKwkgKiBuZWNlc3NhcnkgdG8gcmUtdHJhdmVyc2UgYSB0cmVlIGF0IGRlZXBlciBvciBlcXVhbCBkZXB0aHMgdGhhbiBpdCBoYXMKKwkgKiBhbHJlYWR5IGJlZW4gdHJhdmVyc2VkLgorCSAqCisJICogV2UgY2FuJ3QgdXNlIExPRlJfTUFSS19TRUVOIGZvciB0cmVlIG9iamVjdHMgc2luY2UgdGhpcyB3aWxsIHByZXZlbnQKKwkgKiBpdCBmcm9tIGJlaW5nIHRyYXZlcnNlZCBhdCBzaGFsbG93ZXIgZGVwdGhzLgorCSAqLworCXN0cnVjdCBvaWRtYXAgc2Vlbl9hdF9kZXB0aDsKKworCXVuc2lnbmVkIGxvbmcgZXhjbHVkZV9kZXB0aDsKKwl1bnNpZ25lZCBsb25nIGN1cnJlbnRfZGVwdGg7CiB9OwogCi1zdGF0aWMgZW51bSBsaXN0X29iamVjdHNfZmlsdGVyX3Jlc3VsdCBmaWx0ZXJfdHJlZXNfbm9uZSgKK3N0cnVjdCBzZWVuX21hcF9lbnRyeSB7CisJc3RydWN0IG9pZG1hcF9lbnRyeSBiYXNlOworCXNpemVfdCBkZXB0aDsKK307CisKKy8qIFJldHVybnMgMSBpZiB0aGUgb2lkIHdhcyBpbiB0aGUgb21pdHMgc2V0IGJlZm9yZSBpdCB3YXMgaW52b2tlZC4gKi8KK3N0YXRpYyBpbnQgZmlsdGVyX3RyZWVzX3VwZGF0ZV9vbWl0cygKKwlzdHJ1Y3Qgb2JqZWN0ICpvYmosCisJc3RydWN0IG9pZHNldCAqb21pdHMsCisJaW50IGluY2x1ZGVfaXQpCit7CisJaWYgKCFvbWl0cykKKwkJcmV0dXJuIDA7CisKKwlpZiAoaW5jbHVkZV9pdCkKKwkJcmV0dXJuIG9pZHNldF9yZW1vdmUob21pdHMsICZvYmotPm9pZCk7CisJZWxzZQorCQlyZXR1cm4gb2lkc2V0X2luc2VydChvbWl0cywgJm9iai0+b2lkKTsKK30KKworc3RhdGljIGVudW0gbGlzdF9vYmplY3RzX2ZpbHRlcl9yZXN1bHQgZmlsdGVyX3RyZWVzX2RlcHRoKAorCXN0cnVjdCByZXBvc2l0b3J5ICpyLAogCWVudW0gbGlzdF9vYmplY3RzX2ZpbHRlcl9zaXR1YXRpb24gZmlsdGVyX3NpdHVhdGlvbiwKIAlzdHJ1Y3Qgb2JqZWN0ICpvYmosCiAJY29uc3QgY2hhciAqcGF0aG5hbWUsCiAJY29uc3QgY2hhciAqZmlsZW5hbWUsCisJc3RydWN0IG9pZHNldCAqb21pdHMsCiAJdm9pZCAqZmlsdGVyX2RhdGFfKQogewotCXN0cnVjdCBmaWx0ZXJfdHJlZXNfbm9uZV9kYXRhICpmaWx0ZXJfZGF0YSA9IGZpbHRlcl9kYXRhXzsKKwlzdHJ1Y3QgZmlsdGVyX3RyZWVzX2RlcHRoX2RhdGEgKmZpbHRlcl9kYXRhID0gZmlsdGVyX2RhdGFfOworCXN0cnVjdCBzZWVuX21hcF9lbnRyeSAqc2Vlbl9pbmZvOworCWludCBpbmNsdWRlX2l0ID0gZmlsdGVyX2RhdGEtPmN1cnJlbnRfZGVwdGggPAorCQlmaWx0ZXJfZGF0YS0+ZXhjbHVkZV9kZXB0aDsKKwlpbnQgZmlsdGVyX3JlczsKKwlpbnQgYWxyZWFkeV9zZWVuOworCisJLyoKKwkgKiBOb3RlIHRoYXQgd2UgZG8gbm90IHVzZSBfTUFSS19TRUVOIGluIG9yZGVyIHRvIGFsbG93IHJlLXRyYXZlcnNhbCBpbgorCSAqIGNhc2Ugd2UgZW5jb3VudGVyIGEgdHJlZSBvciBibG9iIGFnYWluIGF0IGEgc2hhbGxvd2VyIGRlcHRoLgorCSAqLwogCiAJc3dpdGNoIChmaWx0ZXJfc2l0dWF0aW9uKSB7CiAJZGVmYXVsdDoKIAkJQlVHKCJ1bmtub3duIGZpbHRlcl9zaXR1YXRpb246ICVkIiwgZmlsdGVyX3NpdHVhdGlvbik7CiAKLQljYXNlIExPRlNfQkVHSU5fVFJFRToKLQljYXNlIExPRlNfQkxPQjoKLQkJaWYgKGZpbHRlcl9kYXRhLT5vbWl0cykgewotCQkJb2lkc2V0X2luc2VydChmaWx0ZXJfZGF0YS0+b21pdHMsICZvYmotPm9pZCk7Ci0JCQkvKiBfTUFSS19TRUVOIGJ1dCBub3QgX0RPX1NIT1cgKGhhcmQgb21pdCkgKi8KLQkJCXJldHVybiBMT0ZSX01BUktfU0VFTjsKLQkJfSBlbHNlIHsKLQkJCS8qCi0JCQkgKiBOb3QgY29sbGVjdGluZyBvbWl0cyBzbyBubyBuZWVkIHRvIHRvIHRyYXZlcnNlIHRyZWUuCi0JCQkgKi8KLQkJCXJldHVybiBMT0ZSX1NLSVBfVFJFRSB8IExPRlJfTUFSS19TRUVOOwotCQl9Ci0KIAljYXNlIExPRlNfRU5EX1RSRUU6CiAJCWFzc2VydChvYmotPnR5cGUgPT0gT0JKX1RSRUUpOworCQlmaWx0ZXJfZGF0YS0+Y3VycmVudF9kZXB0aC0tOwogCQlyZXR1cm4gTE9GUl9aRVJPOwogCisJY2FzZSBMT0ZTX0JMT0I6CisJCWZpbHRlcl90cmVlc191cGRhdGVfb21pdHMob2JqLCBvbWl0cywgaW5jbHVkZV9pdCk7CisJCXJldHVybiBpbmNsdWRlX2l0ID8gTE9GUl9NQVJLX1NFRU4gfCBMT0ZSX0RPX1NIT1cgOiBMT0ZSX1pFUk87CisKKwljYXNlIExPRlNfQkVHSU5fVFJFRToKKwkJc2Vlbl9pbmZvID0gb2lkbWFwX2dldCgKKwkJCSZmaWx0ZXJfZGF0YS0+c2Vlbl9hdF9kZXB0aCwgJm9iai0+b2lkKTsKKwkJaWYgKCFzZWVuX2luZm8pIHsKKwkJCXNlZW5faW5mbyA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpzZWVuX2luZm8pKTsKKwkJCW9pZGNweSgmc2Vlbl9pbmZvLT5iYXNlLm9pZCwgJm9iai0+b2lkKTsKKwkJCXNlZW5faW5mby0+ZGVwdGggPSBmaWx0ZXJfZGF0YS0+Y3VycmVudF9kZXB0aDsKKwkJCW9pZG1hcF9wdXQoJmZpbHRlcl9kYXRhLT5zZWVuX2F0X2RlcHRoLCBzZWVuX2luZm8pOworCQkJYWxyZWFkeV9zZWVuID0gMDsKKwkJfSBlbHNlIHsKKwkJCWFscmVhZHlfc2VlbiA9CisJCQkJZmlsdGVyX2RhdGEtPmN1cnJlbnRfZGVwdGggPj0gc2Vlbl9pbmZvLT5kZXB0aDsKKwkJfQorCisJCWlmIChhbHJlYWR5X3NlZW4pIHsKKwkJCWZpbHRlcl9yZXMgPSBMT0ZSX1NLSVBfVFJFRTsKKwkJfSBlbHNlIHsKKwkJCWludCBiZWVuX29taXR0ZWQgPSBmaWx0ZXJfdHJlZXNfdXBkYXRlX29taXRzKAorCQkJCW9iaiwgb21pdHMsIGluY2x1ZGVfaXQpOworCQkJc2Vlbl9pbmZvLT5kZXB0aCA9IGZpbHRlcl9kYXRhLT5jdXJyZW50X2RlcHRoOworCisJCQlpZiAoaW5jbHVkZV9pdCkKKwkJCQlmaWx0ZXJfcmVzID0gTE9GUl9ET19TSE9XOworCQkJZWxzZSBpZiAob21pdHMgJiYgIWJlZW5fb21pdHRlZCkKKwkJCQkvKgorCQkJCSAqIE11c3QgdXBkYXRlIG9taXQgaW5mb3JtYXRpb24gb2YgY2hpbGRyZW4KKwkJCQkgKiByZWN1cnNpdmVseTsgdGhleSBoYXZlIG5vdCBiZWVuIG9taXR0ZWQgeWV0LgorCQkJCSAqLworCQkJCWZpbHRlcl9yZXMgPSBMT0ZSX1pFUk87CisJCQllbHNlCisJCQkJZmlsdGVyX3JlcyA9IExPRlJfU0tJUF9UUkVFOworCQl9CisKKwkJZmlsdGVyX2RhdGEtPmN1cnJlbnRfZGVwdGgrKzsKKwkJcmV0dXJuIGZpbHRlcl9yZXM7CiAJfQogfQogCi1zdGF0aWMgdm9pZCogZmlsdGVyX3RyZWVzX25vbmVfX2luaXQoCi0Jc3RydWN0IG9pZHNldCAqb21pdHRlZCwKLQlzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zICpmaWx0ZXJfb3B0aW9ucywKLQlmaWx0ZXJfb2JqZWN0X2ZuICpmaWx0ZXJfZm4sCi0JZmlsdGVyX2ZyZWVfZm4gKmZpbHRlcl9mcmVlX2ZuKQotewotCXN0cnVjdCBmaWx0ZXJfdHJlZXNfbm9uZV9kYXRhICpkID0geGNhbGxvYygxLCBzaXplb2YoKmQpKTsKLQlkLT5vbWl0cyA9IG9taXR0ZWQ7CitzdGF0aWMgdm9pZCBmaWx0ZXJfdHJlZXNfZnJlZSh2b2lkICpmaWx0ZXJfZGF0YSkgeworCXN0cnVjdCBmaWx0ZXJfdHJlZXNfZGVwdGhfZGF0YSAqZCA9IGZpbHRlcl9kYXRhOworCWlmICghZCkKKwkJcmV0dXJuOworCW9pZG1hcF9mcmVlKCZkLT5zZWVuX2F0X2RlcHRoLCAxKTsKKwlmcmVlKGQpOworfQogCi0JKmZpbHRlcl9mbiA9IGZpbHRlcl90cmVlc19ub25lOwotCSpmaWx0ZXJfZnJlZV9mbiA9IGZyZWU7Ci0JcmV0dXJuIGQ7CitzdGF0aWMgdm9pZCBmaWx0ZXJfdHJlZXNfZGVwdGhfX2luaXQoCisJc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyAqZmlsdGVyX29wdGlvbnMsCisJc3RydWN0IGZpbHRlciAqZmlsdGVyKQoreworCXN0cnVjdCBmaWx0ZXJfdHJlZXNfZGVwdGhfZGF0YSAqZCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpkKSk7CisJb2lkbWFwX2luaXQoJmQtPnNlZW5fYXRfZGVwdGgsIDApOworCWQtPmV4Y2x1ZGVfZGVwdGggPSBmaWx0ZXJfb3B0aW9ucy0+dHJlZV9leGNsdWRlX2RlcHRoOworCWQtPmN1cnJlbnRfZGVwdGggPSAwOworCisJZmlsdGVyLT5maWx0ZXJfZGF0YSA9IGQ7CisJZmlsdGVyLT5maWx0ZXJfb2JqZWN0X2ZuID0gZmlsdGVyX3RyZWVzX2RlcHRoOworCWZpbHRlci0+ZnJlZV9mbiA9IGZpbHRlcl90cmVlc19mcmVlOwogfQogCiAvKgpAQCAtMTM5LDE1ICsyNDcsMTYgQEAKICAqIEFuZCB0byBPUFRJT05BTExZIGNvbGxlY3QgYSBsaXN0IG9mIHRoZSBvbWl0dGVkIE9JRHMuCiAgKi8KIHN0cnVjdCBmaWx0ZXJfYmxvYnNfbGltaXRfZGF0YSB7Ci0Jc3RydWN0IG9pZHNldCAqb21pdHM7CiAJdW5zaWduZWQgbG9uZyBtYXhfYnl0ZXM7CiB9OwogCiBzdGF0aWMgZW51bSBsaXN0X29iamVjdHNfZmlsdGVyX3Jlc3VsdCBmaWx0ZXJfYmxvYnNfbGltaXQoCisJc3RydWN0IHJlcG9zaXRvcnkgKnIsCiAJZW51bSBsaXN0X29iamVjdHNfZmlsdGVyX3NpdHVhdGlvbiBmaWx0ZXJfc2l0dWF0aW9uLAogCXN0cnVjdCBvYmplY3QgKm9iaiwKIAljb25zdCBjaGFyICpwYXRobmFtZSwKIAljb25zdCBjaGFyICpmaWxlbmFtZSwKKwlzdHJ1Y3Qgb2lkc2V0ICpvbWl0cywKIAl2b2lkICpmaWx0ZXJfZGF0YV8pCiB7CiAJc3RydWN0IGZpbHRlcl9ibG9ic19saW1pdF9kYXRhICpmaWx0ZXJfZGF0YSA9IGZpbHRlcl9kYXRhXzsKQEAgLTE3MSw3ICsyODAsNyBAQAogCQlhc3NlcnQob2JqLT50eXBlID09IE9CSl9CTE9CKTsKIAkJYXNzZXJ0KChvYmotPmZsYWdzICYgU0VFTikgPT0gMCk7CiAKLQkJdCA9IG9pZF9vYmplY3RfaW5mbyh0aGVfcmVwb3NpdG9yeSwgJm9iai0+b2lkLCAmb2JqZWN0X2xlbmd0aCk7CisJCXQgPSBvaWRfb2JqZWN0X2luZm8ociwgJm9iai0+b2lkLCAmb2JqZWN0X2xlbmd0aCk7CiAJCWlmICh0ICE9IE9CSl9CTE9CKSB7IC8qIHByb2JhYmx5IE9CSl9OT05FICovCiAJCQkvKgogCQkJICogV2UgRE8gTk9UIGhhdmUgdGhlIGJsb2IgbG9jYWxseSwgc28gd2UgY2Fubm90CkBAIC0xODUsMzAgKzI5NCwyNyBAQAogCQlpZiAob2JqZWN0X2xlbmd0aCA8IGZpbHRlcl9kYXRhLT5tYXhfYnl0ZXMpCiAJCQlnb3RvIGluY2x1ZGVfaXQ7CiAKLQkJaWYgKGZpbHRlcl9kYXRhLT5vbWl0cykKLQkJCW9pZHNldF9pbnNlcnQoZmlsdGVyX2RhdGEtPm9taXRzLCAmb2JqLT5vaWQpOworCQlpZiAob21pdHMpCisJCQlvaWRzZXRfaW5zZXJ0KG9taXRzLCAmb2JqLT5vaWQpOwogCQlyZXR1cm4gTE9GUl9NQVJLX1NFRU47IC8qIGJ1dCBub3QgTE9GUl9ET19TSE9XIChoYXJkIG9taXQpICovCiAJfQogCiBpbmNsdWRlX2l0OgotCWlmIChmaWx0ZXJfZGF0YS0+b21pdHMpCi0JCW9pZHNldF9yZW1vdmUoZmlsdGVyX2RhdGEtPm9taXRzLCAmb2JqLT5vaWQpOworCWlmIChvbWl0cykKKwkJb2lkc2V0X3JlbW92ZShvbWl0cywgJm9iai0+b2lkKTsKIAlyZXR1cm4gTE9GUl9NQVJLX1NFRU4gfCBMT0ZSX0RPX1NIT1c7CiB9CiAKLXN0YXRpYyB2b2lkICpmaWx0ZXJfYmxvYnNfbGltaXRfX2luaXQoCi0Jc3RydWN0IG9pZHNldCAqb21pdHRlZCwKK3N0YXRpYyB2b2lkIGZpbHRlcl9ibG9ic19saW1pdF9faW5pdCgKIAlzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zICpmaWx0ZXJfb3B0aW9ucywKLQlmaWx0ZXJfb2JqZWN0X2ZuICpmaWx0ZXJfZm4sCi0JZmlsdGVyX2ZyZWVfZm4gKmZpbHRlcl9mcmVlX2ZuKQorCXN0cnVjdCBmaWx0ZXIgKmZpbHRlcikKIHsKIAlzdHJ1Y3QgZmlsdGVyX2Jsb2JzX2xpbWl0X2RhdGEgKmQgPSB4Y2FsbG9jKDEsIHNpemVvZigqZCkpOwotCWQtPm9taXRzID0gb21pdHRlZDsKIAlkLT5tYXhfYnl0ZXMgPSBmaWx0ZXJfb3B0aW9ucy0+YmxvYl9saW1pdF92YWx1ZTsKIAotCSpmaWx0ZXJfZm4gPSBmaWx0ZXJfYmxvYnNfbGltaXQ7Ci0JKmZpbHRlcl9mcmVlX2ZuID0gZnJlZTsKLQlyZXR1cm4gZDsKKwlmaWx0ZXItPmZpbHRlcl9kYXRhID0gZDsKKwlmaWx0ZXItPmZpbHRlcl9vYmplY3RfZm4gPSBmaWx0ZXJfYmxvYnNfbGltaXQ7CisJZmlsdGVyLT5mcmVlX2ZuID0gZnJlZTsKIH0KIAogLyoKQEAgLTIyMiwxMiArMzI4LDEyIEBACiAgKi8KIHN0cnVjdCBmcmFtZSB7CiAJLyoKLQkgKiBkZWZ2YWwgaXMgdGhlIHVzdWFsIGRlZmF1bHQgaW5jbHVkZS9leGNsdWRlIHZhbHVlIHRoYXQKKwkgKiBkZWZhdWx0X21hdGNoIGlzIHRoZSB1c3VhbCBkZWZhdWx0IGluY2x1ZGUvZXhjbHVkZSB2YWx1ZSB0aGF0CiAJICogc2hvdWxkIGJlIGluaGVyaXRlZCBhcyB3ZSByZWN1cnNlIGludG8gZGlyZWN0b3JpZXMgYmFzZWQKIAkgKiB1cG9uIHBhdHRlcm4gbWF0Y2hpbmcgb2YgdGhlIGRpcmVjdG9yeSBpdHNlbGYgb3Igb2YgYQogCSAqIGNvbnRhaW5pbmcgZGlyZWN0b3J5LgogCSAqLwotCWludCBkZWZ2YWw7CisJZW51bSBwYXR0ZXJuX21hdGNoX3Jlc3VsdCBkZWZhdWx0X21hdGNoOwogCiAJLyoKIAkgKiAxIGlmIHRoZSBkaXJlY3RvcnkgKHJlY3Vyc2l2ZWx5KSBjb250YWlucyBhbnkgcHJvdmlzaW9uYWxseQpAQCAtMjQxLDIzICszNDcsMjUgQEAKIH07CiAKIHN0cnVjdCBmaWx0ZXJfc3BhcnNlX2RhdGEgewotCXN0cnVjdCBvaWRzZXQgKm9taXRzOwotCXN0cnVjdCBleGNsdWRlX2xpc3QgZWw7CisJc3RydWN0IHBhdHRlcm5fbGlzdCBwbDsKIAogCXNpemVfdCBuciwgYWxsb2M7CiAJc3RydWN0IGZyYW1lICphcnJheV9mcmFtZTsKIH07CiAKIHN0YXRpYyBlbnVtIGxpc3Rfb2JqZWN0c19maWx0ZXJfcmVzdWx0IGZpbHRlcl9zcGFyc2UoCisJc3RydWN0IHJlcG9zaXRvcnkgKnIsCiAJZW51bSBsaXN0X29iamVjdHNfZmlsdGVyX3NpdHVhdGlvbiBmaWx0ZXJfc2l0dWF0aW9uLAogCXN0cnVjdCBvYmplY3QgKm9iaiwKIAljb25zdCBjaGFyICpwYXRobmFtZSwKIAljb25zdCBjaGFyICpmaWxlbmFtZSwKKwlzdHJ1Y3Qgb2lkc2V0ICpvbWl0cywKIAl2b2lkICpmaWx0ZXJfZGF0YV8pCiB7CiAJc3RydWN0IGZpbHRlcl9zcGFyc2VfZGF0YSAqZmlsdGVyX2RhdGEgPSBmaWx0ZXJfZGF0YV87Ci0JaW50IHZhbCwgZHR5cGU7CisJaW50IGR0eXBlOwogCXN0cnVjdCBmcmFtZSAqZnJhbWU7CisJZW51bSBwYXR0ZXJuX21hdGNoX3Jlc3VsdCBtYXRjaDsKIAogCXN3aXRjaCAoZmlsdGVyX3NpdHVhdGlvbikgewogCWRlZmF1bHQ6CkBAIC0yNjYsMTcgKzM3NCwxNyBAQAogCWNhc2UgTE9GU19CRUdJTl9UUkVFOgogCQlhc3NlcnQob2JqLT50eXBlID09IE9CSl9UUkVFKTsKIAkJZHR5cGUgPSBEVF9ESVI7Ci0JCXZhbCA9IGlzX2V4Y2x1ZGVkX2Zyb21fbGlzdChwYXRobmFtZSwgc3RybGVuKHBhdGhuYW1lKSwKLQkJCQkJICAgIGZpbGVuYW1lLCAmZHR5cGUsICZmaWx0ZXJfZGF0YS0+ZWwsCi0JCQkJCSAgICAmdGhlX2luZGV4KTsKLQkJaWYgKHZhbCA8IDApCi0JCQl2YWwgPSBmaWx0ZXJfZGF0YS0+YXJyYXlfZnJhbWVbZmlsdGVyX2RhdGEtPm5yXS5kZWZ2YWw7CisJCW1hdGNoID0gcGF0aF9tYXRjaGVzX3BhdHRlcm5fbGlzdChwYXRobmFtZSwgc3RybGVuKHBhdGhuYW1lKSwKKwkJCQkJCSAgZmlsZW5hbWUsICZkdHlwZSwgJmZpbHRlcl9kYXRhLT5wbCwKKwkJCQkJCSAgci0+aW5kZXgpOworCQlpZiAobWF0Y2ggPT0gVU5ERUNJREVEKQorCQkJbWF0Y2ggPSBmaWx0ZXJfZGF0YS0+YXJyYXlfZnJhbWVbZmlsdGVyX2RhdGEtPm5yIC0gMV0uZGVmYXVsdF9tYXRjaDsKIAogCQlBTExPQ19HUk9XKGZpbHRlcl9kYXRhLT5hcnJheV9mcmFtZSwgZmlsdGVyX2RhdGEtPm5yICsgMSwKIAkJCSAgIGZpbHRlcl9kYXRhLT5hbGxvYyk7Ci0JCWZpbHRlcl9kYXRhLT5ucisrOwotCQlmaWx0ZXJfZGF0YS0+YXJyYXlfZnJhbWVbZmlsdGVyX2RhdGEtPm5yXS5kZWZ2YWwgPSB2YWw7CisJCWZpbHRlcl9kYXRhLT5hcnJheV9mcmFtZVtmaWx0ZXJfZGF0YS0+bnJdLmRlZmF1bHRfbWF0Y2ggPSBtYXRjaDsKIAkJZmlsdGVyX2RhdGEtPmFycmF5X2ZyYW1lW2ZpbHRlcl9kYXRhLT5ucl0uY2hpbGRfcHJvdl9vbWl0ID0gMDsKKwkJZmlsdGVyX2RhdGEtPm5yKys7CiAKIAkJLyoKIAkJICogQSBkaXJlY3Rvcnkgd2l0aCB0aGlzIHRyZWUgT0lEIG1heSBhcHBlYXIgaW4gbXVsdGlwbGUKQEAgLTMwMSwxNiArNDA5LDE1IEBACiAKIAljYXNlIExPRlNfRU5EX1RSRUU6CiAJCWFzc2VydChvYmotPnR5cGUgPT0gT0JKX1RSRUUpOwotCQlhc3NlcnQoZmlsdGVyX2RhdGEtPm5yID4gMCk7CisJCWFzc2VydChmaWx0ZXJfZGF0YS0+bnIgPiAxKTsKIAotCQlmcmFtZSA9ICZmaWx0ZXJfZGF0YS0+YXJyYXlfZnJhbWVbZmlsdGVyX2RhdGEtPm5yXTsKLQkJZmlsdGVyX2RhdGEtPm5yLS07CisJCWZyYW1lID0gJmZpbHRlcl9kYXRhLT5hcnJheV9mcmFtZVstLWZpbHRlcl9kYXRhLT5ucl07CiAKIAkJLyoKIAkJICogVGVsbCBvdXIgcGFyZW50IGRpcmVjdG9yeSBpZiBhbnkgb2Ygb3VyIGNoaWxkcmVuIHdlcmUKIAkJICogcHJvdmlzaW9uYWxseSBvbWl0dGVkLgogCQkgKi8KLQkJZmlsdGVyX2RhdGEtPmFycmF5X2ZyYW1lW2ZpbHRlcl9kYXRhLT5ucl0uY2hpbGRfcHJvdl9vbWl0IHw9CisJCWZpbHRlcl9kYXRhLT5hcnJheV9mcmFtZVtmaWx0ZXJfZGF0YS0+bnIgLSAxXS5jaGlsZF9wcm92X29taXQgfD0KIAkJCWZyYW1lLT5jaGlsZF9wcm92X29taXQ7CiAKIAkJLyoKQEAgLTMyNiwxNyArNDMzLDE3IEBACiAJCWFzc2VydChvYmotPnR5cGUgPT0gT0JKX0JMT0IpOwogCQlhc3NlcnQoKG9iai0+ZmxhZ3MgJiBTRUVOKSA9PSAwKTsKIAotCQlmcmFtZSA9ICZmaWx0ZXJfZGF0YS0+YXJyYXlfZnJhbWVbZmlsdGVyX2RhdGEtPm5yXTsKKwkJZnJhbWUgPSAmZmlsdGVyX2RhdGEtPmFycmF5X2ZyYW1lW2ZpbHRlcl9kYXRhLT5uciAtIDFdOwogCiAJCWR0eXBlID0gRFRfUkVHOwotCQl2YWwgPSBpc19leGNsdWRlZF9mcm9tX2xpc3QocGF0aG5hbWUsIHN0cmxlbihwYXRobmFtZSksCi0JCQkJCSAgICBmaWxlbmFtZSwgJmR0eXBlLCAmZmlsdGVyX2RhdGEtPmVsLAotCQkJCQkgICAgJnRoZV9pbmRleCk7Ci0JCWlmICh2YWwgPCAwKQotCQkJdmFsID0gZnJhbWUtPmRlZnZhbDsKLQkJaWYgKHZhbCA+IDApIHsKLQkJCWlmIChmaWx0ZXJfZGF0YS0+b21pdHMpCi0JCQkJb2lkc2V0X3JlbW92ZShmaWx0ZXJfZGF0YS0+b21pdHMsICZvYmotPm9pZCk7CisJCW1hdGNoID0gcGF0aF9tYXRjaGVzX3BhdHRlcm5fbGlzdChwYXRobmFtZSwgc3RybGVuKHBhdGhuYW1lKSwKKwkJCQkJICAgIGZpbGVuYW1lLCAmZHR5cGUsICZmaWx0ZXJfZGF0YS0+cGwsCisJCQkJCSAgICByLT5pbmRleCk7CisJCWlmIChtYXRjaCA9PSBVTkRFQ0lERUQpCisJCQltYXRjaCA9IGZyYW1lLT5kZWZhdWx0X21hdGNoOworCQlpZiAobWF0Y2ggPT0gTUFUQ0hFRCkgeworCQkJaWYgKG9taXRzKQorCQkJCW9pZHNldF9yZW1vdmUob21pdHMsICZvYmotPm9pZCk7CiAJCQlyZXR1cm4gTE9GUl9NQVJLX1NFRU4gfCBMT0ZSX0RPX1NIT1c7CiAJCX0KIApAQCAtMzUwLDggKzQ1Nyw4IEBACiAJCSAqIExlYXZlIHRoZSBMT0ZSXyBiaXRzIHVuc2V0IHNvIHRoYXQgaWYgdGhlIGJsb2IgYXBwZWFycwogCQkgKiBhZ2FpbiBpbiB0aGUgdHJhdmVyc2FsLCB3ZSB3aWxsIGJlIGFza2VkIGFnYWluLgogCQkgKi8KLQkJaWYgKGZpbHRlcl9kYXRhLT5vbWl0cykKLQkJCW9pZHNldF9pbnNlcnQoZmlsdGVyX2RhdGEtPm9taXRzLCAmb2JqLT5vaWQpOworCQlpZiAob21pdHMpCisJCQlvaWRzZXRfaW5zZXJ0KG9taXRzLCAmb2JqLT5vaWQpOwogCiAJCS8qCiAJCSAqIFJlbWVtYmVyIHRoYXQgYXQgbGVhc3QgMSBibG9iIGluIHRoaXMgdHJlZSB3YXMKQEAgLTM2Nyw1NyArNDc0LDE3MyBAQAogc3RhdGljIHZvaWQgZmlsdGVyX3NwYXJzZV9mcmVlKHZvaWQgKmZpbHRlcl9kYXRhKQogewogCXN0cnVjdCBmaWx0ZXJfc3BhcnNlX2RhdGEgKmQgPSBmaWx0ZXJfZGF0YTsKLQkvKiBUT0RPIGZyZWUgY29udGVudHMgb2YgJ2QnICovCisJZnJlZShkLT5hcnJheV9mcmFtZSk7CiAJZnJlZShkKTsKIH0KIAotc3RhdGljIHZvaWQgKmZpbHRlcl9zcGFyc2Vfb2lkX19pbml0KAotCXN0cnVjdCBvaWRzZXQgKm9taXR0ZWQsCitzdGF0aWMgdm9pZCBmaWx0ZXJfc3BhcnNlX29pZF9faW5pdCgKIAlzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zICpmaWx0ZXJfb3B0aW9ucywKLQlmaWx0ZXJfb2JqZWN0X2ZuICpmaWx0ZXJfZm4sCi0JZmlsdGVyX2ZyZWVfZm4gKmZpbHRlcl9mcmVlX2ZuKQorCXN0cnVjdCBmaWx0ZXIgKmZpbHRlcikKIHsKIAlzdHJ1Y3QgZmlsdGVyX3NwYXJzZV9kYXRhICpkID0geGNhbGxvYygxLCBzaXplb2YoKmQpKTsKLQlkLT5vbWl0cyA9IG9taXR0ZWQ7Ci0JaWYgKGFkZF9leGNsdWRlc19mcm9tX2Jsb2JfdG9fbGlzdChmaWx0ZXJfb3B0aW9ucy0+c3BhcnNlX29pZF92YWx1ZSwKLQkJCQkJICAgTlVMTCwgMCwgJmQtPmVsKSA8IDApCi0JCWRpZSgiY291bGQgbm90IGxvYWQgZmlsdGVyIHNwZWNpZmljYXRpb24iKTsKKwlzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgb2M7CisJc3RydWN0IG9iamVjdF9pZCBzcGFyc2Vfb2lkOworCisJaWYgKGdldF9vaWRfd2l0aF9jb250ZXh0KHRoZV9yZXBvc2l0b3J5LAorCQkJCSBmaWx0ZXJfb3B0aW9ucy0+c3BhcnNlX29pZF9uYW1lLAorCQkJCSBHRVRfT0lEX0JMT0IsICZzcGFyc2Vfb2lkLCAmb2MpKQorCQlkaWUoXygidW5hYmxlIHRvIGFjY2VzcyBzcGFyc2UgYmxvYiBpbiAnJXMnIiksCisJCSAgICBmaWx0ZXJfb3B0aW9ucy0+c3BhcnNlX29pZF9uYW1lKTsKKwlpZiAoYWRkX3BhdHRlcm5zX2Zyb21fYmxvYl90b19saXN0KCZzcGFyc2Vfb2lkLCAiIiwgMCwgJmQtPnBsKSA8IDApCisJCWRpZShfKCJ1bmFibGUgdG8gcGFyc2Ugc3BhcnNlIGZpbHRlciBkYXRhIGluICVzIiksCisJCSAgICBvaWRfdG9faGV4KCZzcGFyc2Vfb2lkKSk7CiAKIAlBTExPQ19HUk9XKGQtPmFycmF5X2ZyYW1lLCBkLT5uciArIDEsIGQtPmFsbG9jKTsKLQlkLT5hcnJheV9mcmFtZVtkLT5ucl0uZGVmdmFsID0gMDsgLyogZGVmYXVsdCB0byBpbmNsdWRlICovCisJZC0+YXJyYXlfZnJhbWVbZC0+bnJdLmRlZmF1bHRfbWF0Y2ggPSAwOyAvKiBkZWZhdWx0IHRvIGluY2x1ZGUgKi8KIAlkLT5hcnJheV9mcmFtZVtkLT5ucl0uY2hpbGRfcHJvdl9vbWl0ID0gMDsKKwlkLT5ucisrOwogCi0JKmZpbHRlcl9mbiA9IGZpbHRlcl9zcGFyc2U7Ci0JKmZpbHRlcl9mcmVlX2ZuID0gZmlsdGVyX3NwYXJzZV9mcmVlOwotCXJldHVybiBkOworCWZpbHRlci0+ZmlsdGVyX2RhdGEgPSBkOworCWZpbHRlci0+ZmlsdGVyX29iamVjdF9mbiA9IGZpbHRlcl9zcGFyc2U7CisJZmlsdGVyLT5mcmVlX2ZuID0gZmlsdGVyX3NwYXJzZV9mcmVlOwogfQogCi1zdGF0aWMgdm9pZCAqZmlsdGVyX3NwYXJzZV9wYXRoX19pbml0KAotCXN0cnVjdCBvaWRzZXQgKm9taXR0ZWQsCi0Jc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyAqZmlsdGVyX29wdGlvbnMsCi0JZmlsdGVyX29iamVjdF9mbiAqZmlsdGVyX2ZuLAotCWZpbHRlcl9mcmVlX2ZuICpmaWx0ZXJfZnJlZV9mbikKKy8qIEEgZmlsdGVyIHdoaWNoIG9ubHkgc2hvd3Mgb2JqZWN0cyBzaG93biBieSBhbGwgc3ViLWZpbHRlcnMuICovCitzdHJ1Y3QgY29tYmluZV9maWx0ZXJfZGF0YSB7CisJc3RydWN0IHN1YmZpbHRlciAqc3ViOworCXNpemVfdCBucjsKK307CisKK3N0YXRpYyBlbnVtIGxpc3Rfb2JqZWN0c19maWx0ZXJfcmVzdWx0IHByb2Nlc3Nfc3ViZmlsdGVyKAorCXN0cnVjdCByZXBvc2l0b3J5ICpyLAorCWVudW0gbGlzdF9vYmplY3RzX2ZpbHRlcl9zaXR1YXRpb24gZmlsdGVyX3NpdHVhdGlvbiwKKwlzdHJ1Y3Qgb2JqZWN0ICpvYmosCisJY29uc3QgY2hhciAqcGF0aG5hbWUsCisJY29uc3QgY2hhciAqZmlsZW5hbWUsCisJc3RydWN0IHN1YmZpbHRlciAqc3ViKQogewotCXN0cnVjdCBmaWx0ZXJfc3BhcnNlX2RhdGEgKmQgPSB4Y2FsbG9jKDEsIHNpemVvZigqZCkpOwotCWQtPm9taXRzID0gb21pdHRlZDsKLQlpZiAoYWRkX2V4Y2x1ZGVzX2Zyb21fZmlsZV90b19saXN0KGZpbHRlcl9vcHRpb25zLT5zcGFyc2VfcGF0aF92YWx1ZSwKLQkJCQkJICAgTlVMTCwgMCwgJmQtPmVsLCBOVUxMKSA8IDApCi0JCWRpZSgiY291bGQgbm90IGxvYWQgZmlsdGVyIHNwZWNpZmljYXRpb24iKTsKKwllbnVtIGxpc3Rfb2JqZWN0c19maWx0ZXJfcmVzdWx0IHJlc3VsdDsKIAotCUFMTE9DX0dST1coZC0+YXJyYXlfZnJhbWUsIGQtPm5yICsgMSwgZC0+YWxsb2MpOwotCWQtPmFycmF5X2ZyYW1lW2QtPm5yXS5kZWZ2YWwgPSAwOyAvKiBkZWZhdWx0IHRvIGluY2x1ZGUgKi8KLQlkLT5hcnJheV9mcmFtZVtkLT5ucl0uY2hpbGRfcHJvdl9vbWl0ID0gMDsKKwkvKgorCSAqIENoZWNrIGFuZCB1cGRhdGUgaXNfc2tpcHBpbmdfdHJlZSBiZWZvcmUgb2lkc2V0X2NvbnRhaW5zIHNvCisJICogdGhhdCBpc19za2lwcGluZ190cmVlIGdldHMgdW5zZXQgZXZlbiB3aGVuIHRoZSBvYmplY3QgaXMKKwkgKiBtYXJrZWQgYXMgc2Vlbi4gIEFzIG9mIHRoaXMgd3JpdGluZywgbm8gZmlsdGVyIHVzZXMKKwkgKiBMT0ZSX01BUktfU0VFTiBvbiB0cmVlcyB0aGF0IGFsc28gdXNlcyBMT0ZSX1NLSVBfVFJFRSwgc28gdGhlCisJICogb3JkZXJpbmcgaXMgb25seSB0aGVvcmV0aWNhbGx5IGltcG9ydGFudC4gQmUgY2F1dGlvdXMgaWYgeW91CisJICogY2hhbmdlIHRoZSBvcmRlciBvZiB0aGUgYmVsb3cgY2hlY2tzIGFuZCBtb3JlIGZpbHRlcnMgaGF2ZQorCSAqIGJlZW4gYWRkZWQhCisJICovCisJaWYgKHN1Yi0+aXNfc2tpcHBpbmdfdHJlZSkgeworCQlpZiAoZmlsdGVyX3NpdHVhdGlvbiA9PSBMT0ZTX0VORF9UUkVFICYmCisJCSAgICBvaWRlcSgmb2JqLT5vaWQsICZzdWItPnNraXBfdHJlZSkpCisJCQlzdWItPmlzX3NraXBwaW5nX3RyZWUgPSAwOworCQllbHNlCisJCQlyZXR1cm4gTE9GUl9aRVJPOworCX0KKwlpZiAob2lkc2V0X2NvbnRhaW5zKCZzdWItPnNlZW4sICZvYmotPm9pZCkpCisJCXJldHVybiBMT0ZSX1pFUk87CiAKLQkqZmlsdGVyX2ZuID0gZmlsdGVyX3NwYXJzZTsKLQkqZmlsdGVyX2ZyZWVfZm4gPSBmaWx0ZXJfc3BhcnNlX2ZyZWU7Ci0JcmV0dXJuIGQ7CisJcmVzdWx0ID0gbGlzdF9vYmplY3RzX2ZpbHRlcl9fZmlsdGVyX29iamVjdCgKKwkJciwgZmlsdGVyX3NpdHVhdGlvbiwgb2JqLCBwYXRobmFtZSwgZmlsZW5hbWUsIHN1Yi0+ZmlsdGVyKTsKKworCWlmIChyZXN1bHQgJiBMT0ZSX01BUktfU0VFTikKKwkJb2lkc2V0X2luc2VydCgmc3ViLT5zZWVuLCAmb2JqLT5vaWQpOworCisJaWYgKHJlc3VsdCAmIExPRlJfU0tJUF9UUkVFKSB7CisJCXN1Yi0+aXNfc2tpcHBpbmdfdHJlZSA9IDE7CisJCXN1Yi0+c2tpcF90cmVlID0gb2JqLT5vaWQ7CisJfQorCisJcmV0dXJuIHJlc3VsdDsKIH0KIAotdHlwZWRlZiB2b2lkICooKmZpbHRlcl9pbml0X2ZuKSgKLQlzdHJ1Y3Qgb2lkc2V0ICpvbWl0dGVkLAorc3RhdGljIGVudW0gbGlzdF9vYmplY3RzX2ZpbHRlcl9yZXN1bHQgZmlsdGVyX2NvbWJpbmUoCisJc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJZW51bSBsaXN0X29iamVjdHNfZmlsdGVyX3NpdHVhdGlvbiBmaWx0ZXJfc2l0dWF0aW9uLAorCXN0cnVjdCBvYmplY3QgKm9iaiwKKwljb25zdCBjaGFyICpwYXRobmFtZSwKKwljb25zdCBjaGFyICpmaWxlbmFtZSwKKwlzdHJ1Y3Qgb2lkc2V0ICpvbWl0cywKKwl2b2lkICpmaWx0ZXJfZGF0YSkKK3sKKwlzdHJ1Y3QgY29tYmluZV9maWx0ZXJfZGF0YSAqZCA9IGZpbHRlcl9kYXRhOworCWVudW0gbGlzdF9vYmplY3RzX2ZpbHRlcl9yZXN1bHQgY29tYmluZWRfcmVzdWx0ID0KKwkJTE9GUl9ET19TSE9XIHwgTE9GUl9NQVJLX1NFRU4gfCBMT0ZSX1NLSVBfVFJFRTsKKwlzaXplX3Qgc3ViOworCisJZm9yIChzdWIgPSAwOyBzdWIgPCBkLT5ucjsgc3ViKyspIHsKKwkJZW51bSBsaXN0X29iamVjdHNfZmlsdGVyX3Jlc3VsdCBzdWJfcmVzdWx0ID0gcHJvY2Vzc19zdWJmaWx0ZXIoCisJCQlyLCBmaWx0ZXJfc2l0dWF0aW9uLCBvYmosIHBhdGhuYW1lLCBmaWxlbmFtZSwKKwkJCSZkLT5zdWJbc3ViXSk7CisJCWlmICghKHN1Yl9yZXN1bHQgJiBMT0ZSX0RPX1NIT1cpKQorCQkJY29tYmluZWRfcmVzdWx0ICY9IH5MT0ZSX0RPX1NIT1c7CisJCWlmICghKHN1Yl9yZXN1bHQgJiBMT0ZSX01BUktfU0VFTikpCisJCQljb21iaW5lZF9yZXN1bHQgJj0gfkxPRlJfTUFSS19TRUVOOworCQlpZiAoIWQtPnN1YltzdWJdLmlzX3NraXBwaW5nX3RyZWUpCisJCQljb21iaW5lZF9yZXN1bHQgJj0gfkxPRlJfU0tJUF9UUkVFOworCX0KKworCXJldHVybiBjb21iaW5lZF9yZXN1bHQ7Cit9CisKK3N0YXRpYyB2b2lkIGZpbHRlcl9jb21iaW5lX19mcmVlKHZvaWQgKmZpbHRlcl9kYXRhKQoreworCXN0cnVjdCBjb21iaW5lX2ZpbHRlcl9kYXRhICpkID0gZmlsdGVyX2RhdGE7CisJc2l6ZV90IHN1YjsKKwlmb3IgKHN1YiA9IDA7IHN1YiA8IGQtPm5yOyBzdWIrKykgeworCQlsaXN0X29iamVjdHNfZmlsdGVyX19mcmVlKGQtPnN1YltzdWJdLmZpbHRlcik7CisJCW9pZHNldF9jbGVhcigmZC0+c3ViW3N1Yl0uc2Vlbik7CisJCWlmIChkLT5zdWJbc3ViXS5vbWl0cy5zZXQuc2l6ZSkKKwkJCUJVRygiZXhwZWN0ZWQgb2lkc2V0IHRvIGJlIGNsZWFyZWQgYWxyZWFkeSIpOworCX0KKwlmcmVlKGQtPnN1Yik7Cit9CisKK3N0YXRpYyB2b2lkIGFkZF9hbGwoc3RydWN0IG9pZHNldCAqZGVzdCwgc3RydWN0IG9pZHNldCAqc3JjKSB7CisJc3RydWN0IG9pZHNldF9pdGVyIGl0ZXI7CisJc3RydWN0IG9iamVjdF9pZCAqc3JjX29pZDsKKworCW9pZHNldF9pdGVyX2luaXQoc3JjLCAmaXRlcik7CisJd2hpbGUgKChzcmNfb2lkID0gb2lkc2V0X2l0ZXJfbmV4dCgmaXRlcikpICE9IE5VTEwpCisJCW9pZHNldF9pbnNlcnQoZGVzdCwgc3JjX29pZCk7Cit9CisKK3N0YXRpYyB2b2lkIGZpbHRlcl9jb21iaW5lX19maW5hbGl6ZV9vbWl0cygKKwlzdHJ1Y3Qgb2lkc2V0ICpvbWl0cywKKwl2b2lkICpmaWx0ZXJfZGF0YSkKK3sKKwlzdHJ1Y3QgY29tYmluZV9maWx0ZXJfZGF0YSAqZCA9IGZpbHRlcl9kYXRhOworCXNpemVfdCBzdWI7CisKKwlmb3IgKHN1YiA9IDA7IHN1YiA8IGQtPm5yOyBzdWIrKykgeworCQlhZGRfYWxsKG9taXRzLCAmZC0+c3ViW3N1Yl0ub21pdHMpOworCQlvaWRzZXRfY2xlYXIoJmQtPnN1YltzdWJdLm9taXRzKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGZpbHRlcl9jb21iaW5lX19pbml0KAogCXN0cnVjdCBsaXN0X29iamVjdHNfZmlsdGVyX29wdGlvbnMgKmZpbHRlcl9vcHRpb25zLAotCWZpbHRlcl9vYmplY3RfZm4gKmZpbHRlcl9mbiwKLQlmaWx0ZXJfZnJlZV9mbiAqZmlsdGVyX2ZyZWVfZm4pOworCXN0cnVjdCBmaWx0ZXIqIGZpbHRlcikKK3sKKwlzdHJ1Y3QgY29tYmluZV9maWx0ZXJfZGF0YSAqZCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpkKSk7CisJc2l6ZV90IHN1YjsKKworCWQtPm5yID0gZmlsdGVyX29wdGlvbnMtPnN1Yl9ucjsKKwlkLT5zdWIgPSB4Y2FsbG9jKGQtPm5yLCBzaXplb2YoKmQtPnN1YikpOworCWZvciAoc3ViID0gMDsgc3ViIDwgZC0+bnI7IHN1YisrKQorCQlkLT5zdWJbc3ViXS5maWx0ZXIgPSBsaXN0X29iamVjdHNfZmlsdGVyX19pbml0KAorCQkJZmlsdGVyLT5vbWl0cyA/ICZkLT5zdWJbc3ViXS5vbWl0cyA6IE5VTEwsCisJCQkmZmlsdGVyX29wdGlvbnMtPnN1YltzdWJdKTsKKworCWZpbHRlci0+ZmlsdGVyX2RhdGEgPSBkOworCWZpbHRlci0+ZmlsdGVyX29iamVjdF9mbiA9IGZpbHRlcl9jb21iaW5lOworCWZpbHRlci0+ZnJlZV9mbiA9IGZpbHRlcl9jb21iaW5lX19mcmVlOworCWZpbHRlci0+ZmluYWxpemVfb21pdHNfZm4gPSBmaWx0ZXJfY29tYmluZV9fZmluYWxpemVfb21pdHM7Cit9CisKK3R5cGVkZWYgdm9pZCAoKmZpbHRlcl9pbml0X2ZuKSgKKwlzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zICpmaWx0ZXJfb3B0aW9ucywKKwlzdHJ1Y3QgZmlsdGVyICpmaWx0ZXIpOwogCiAvKgogICogTXVzdCBtYXRjaCAiZW51bSBsaXN0X29iamVjdHNfZmlsdGVyX2Nob2ljZSIuCkBAIC00MjYsMTcgKzY0OSwxNiBAQAogCU5VTEwsCiAJZmlsdGVyX2Jsb2JzX25vbmVfX2luaXQsCiAJZmlsdGVyX2Jsb2JzX2xpbWl0X19pbml0LAotCWZpbHRlcl90cmVlc19ub25lX19pbml0LAorCWZpbHRlcl90cmVlc19kZXB0aF9faW5pdCwKIAlmaWx0ZXJfc3BhcnNlX29pZF9faW5pdCwKLQlmaWx0ZXJfc3BhcnNlX3BhdGhfX2luaXQsCisJZmlsdGVyX2NvbWJpbmVfX2luaXQsCiB9OwogCi12b2lkICpsaXN0X29iamVjdHNfZmlsdGVyX19pbml0KAorc3RydWN0IGZpbHRlciAqbGlzdF9vYmplY3RzX2ZpbHRlcl9faW5pdCgKIAlzdHJ1Y3Qgb2lkc2V0ICpvbWl0dGVkLAotCXN0cnVjdCBsaXN0X29iamVjdHNfZmlsdGVyX29wdGlvbnMgKmZpbHRlcl9vcHRpb25zLAotCWZpbHRlcl9vYmplY3RfZm4gKmZpbHRlcl9mbiwKLQlmaWx0ZXJfZnJlZV9mbiAqZmlsdGVyX2ZyZWVfZm4pCisJc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyAqZmlsdGVyX29wdGlvbnMpCiB7CisJc3RydWN0IGZpbHRlciAqZmlsdGVyOwogCWZpbHRlcl9pbml0X2ZuIGluaXRfZm47CiAKIAlhc3NlcnQoKHNpemVvZihzX2ZpbHRlcnMpIC8gc2l6ZW9mKHNfZmlsdGVyc1swXSkpID09IExPRkNfX0NPVU5UKTsKQEAgLTQ0NiwxMCArNjY4LDQ0IEBACiAJCSAgICBmaWx0ZXJfb3B0aW9ucy0+Y2hvaWNlKTsKIAogCWluaXRfZm4gPSBzX2ZpbHRlcnNbZmlsdGVyX29wdGlvbnMtPmNob2ljZV07Ci0JaWYgKGluaXRfZm4pCi0JCXJldHVybiBpbml0X2ZuKG9taXR0ZWQsIGZpbHRlcl9vcHRpb25zLAotCQkJICAgICAgIGZpbHRlcl9mbiwgZmlsdGVyX2ZyZWVfZm4pOwotCSpmaWx0ZXJfZm4gPSBOVUxMOwotCSpmaWx0ZXJfZnJlZV9mbiA9IE5VTEw7Ci0JcmV0dXJuIE5VTEw7CisJaWYgKCFpbml0X2ZuKQorCQlyZXR1cm4gTlVMTDsKKworCWZpbHRlciA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpmaWx0ZXIpKTsKKwlmaWx0ZXItPm9taXRzID0gb21pdHRlZDsKKwlpbml0X2ZuKGZpbHRlcl9vcHRpb25zLCBmaWx0ZXIpOworCXJldHVybiBmaWx0ZXI7Cit9CisKK2VudW0gbGlzdF9vYmplY3RzX2ZpbHRlcl9yZXN1bHQgbGlzdF9vYmplY3RzX2ZpbHRlcl9fZmlsdGVyX29iamVjdCgKKwlzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwllbnVtIGxpc3Rfb2JqZWN0c19maWx0ZXJfc2l0dWF0aW9uIGZpbHRlcl9zaXR1YXRpb24sCisJc3RydWN0IG9iamVjdCAqb2JqLAorCWNvbnN0IGNoYXIgKnBhdGhuYW1lLAorCWNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCXN0cnVjdCBmaWx0ZXIgKmZpbHRlcikKK3sKKwlpZiAoZmlsdGVyICYmIChvYmotPmZsYWdzICYgTk9UX1VTRVJfR0lWRU4pKQorCQlyZXR1cm4gZmlsdGVyLT5maWx0ZXJfb2JqZWN0X2ZuKHIsIGZpbHRlcl9zaXR1YXRpb24sIG9iaiwKKwkJCQkJCXBhdGhuYW1lLCBmaWxlbmFtZSwKKwkJCQkJCWZpbHRlci0+b21pdHMsCisJCQkJCQlmaWx0ZXItPmZpbHRlcl9kYXRhKTsKKwkvKgorCSAqIE5vIGZpbHRlciBpcyBhY3RpdmUgb3IgdXNlciBnYXZlIG9iamVjdCBleHBsaWNpdGx5LiBJbiB0aGlzIGNhc2UsCisJICogYWx3YXlzIHNob3cgdGhlIG9iamVjdCAoZXhjZXB0IHdoZW4gTE9GU19FTkRfVFJFRSwgc2luY2UgdGhpcyB0cmVlCisJICogaGFkIGFscmVhZHkgYmVlbiBzaG93biB3aGVuIExPRlNfQkVHSU5fVFJFRSkuCisJICovCisJaWYgKGZpbHRlcl9zaXR1YXRpb24gPT0gTE9GU19FTkRfVFJFRSkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIExPRlJfTUFSS19TRUVOIHwgTE9GUl9ET19TSE9XOworfQorCit2b2lkIGxpc3Rfb2JqZWN0c19maWx0ZXJfX2ZyZWUoc3RydWN0IGZpbHRlciAqZmlsdGVyKQoreworCWlmICghZmlsdGVyKQorCQlyZXR1cm47CisJaWYgKGZpbHRlci0+ZmluYWxpemVfb21pdHNfZm4gJiYgZmlsdGVyLT5vbWl0cykKKwkJZmlsdGVyLT5maW5hbGl6ZV9vbWl0c19mbihmaWx0ZXItPm9taXRzLCBmaWx0ZXItPmZpbHRlcl9kYXRhKTsKKwlmaWx0ZXItPmZyZWVfZm4oZmlsdGVyLT5maWx0ZXJfZGF0YSk7CisJZnJlZShmaWx0ZXIpOwogfQpkaWZmIC0tZ2l0IGEvbGlzdC1vYmplY3RzLWZpbHRlci5oIGIvbGlzdC1vYmplY3RzLWZpbHRlci5oCmluZGV4IDUyYjRhODQuLmNmZDc4NGUgMTAwNjQ0Ci0tLSBhL2xpc3Qtb2JqZWN0cy1maWx0ZXIuaAorKysgYi9saXN0LW9iamVjdHMtZmlsdGVyLmgKQEAgLTQsNiArNCw3IEBACiBzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zOwogc3RydWN0IG9iamVjdDsKIHN0cnVjdCBvaWRzZXQ7CitzdHJ1Y3QgcmVwb3NpdG9yeTsKIAogLyoKICAqIER1cmluZyBsaXN0LW9iamVjdCB0cmF2ZXJzYWwgd2UgYWxsb3cgY2VydGFpbiBvYmplY3RzIHRvIGJlCkBAIC01OSwyOSArNjAsMzYgQEAKIAlMT0ZTX0JMT0IKIH07CiAKLXR5cGVkZWYgZW51bSBsaXN0X29iamVjdHNfZmlsdGVyX3Jlc3VsdCAoKmZpbHRlcl9vYmplY3RfZm4pKAorc3RydWN0IGZpbHRlcjsKKworLyoKKyAqIENvbnN0cnVjdG9yIGZvciB0aGUgc2V0IG9mIGRlZmluZWQgbGlzdC1vYmplY3RzIGZpbHRlcnMuCisgKiBUaGUgYG9taXR0ZWRgIHNldCBpcyBvcHRpb25hbC4gSXQgaXMgcG9wdWxhdGVkIHdpdGggb2JqZWN0cyB0aGF0IHRoZQorICogZmlsdGVyIGV4Y2x1ZGVzLiBUaGlzIHNldCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgZmluYWxpemVkIHVudGlsCisgKiBhZnRlciBsaXN0X29iamVjdHNfZmlsdGVyX19mcmVlIGlzIGNhbGxlZCBvbiB0aGUgcmV0dXJuZWQgYHN0cnVjdAorICogZmlsdGVyICpgLgorICovCitzdHJ1Y3QgZmlsdGVyICpsaXN0X29iamVjdHNfZmlsdGVyX19pbml0KAorCXN0cnVjdCBvaWRzZXQgKm9taXR0ZWQsCisJc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyAqZmlsdGVyX29wdGlvbnMpOworCisvKgorICogTGV0cyBgZmlsdGVyYCBkZWNpZGUgaG93IHRvIGhhbmRsZSB0aGUgYG9iamAuIElmIGBmaWx0ZXJgIGlzIE5VTEwsIHRoaXMKKyAqIGZ1bmN0aW9uIGJlaGF2ZXMgYXMgZXhwZWN0ZWQgaWYgbm8gZmlsdGVyIGlzIGNvbmZpZ3VyZWQ6IGFsbCBvYmplY3RzIGFyZQorICogaW5jbHVkZWQuCisgKi8KK2VudW0gbGlzdF9vYmplY3RzX2ZpbHRlcl9yZXN1bHQgbGlzdF9vYmplY3RzX2ZpbHRlcl9fZmlsdGVyX29iamVjdCgKKwlzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKIAllbnVtIGxpc3Rfb2JqZWN0c19maWx0ZXJfc2l0dWF0aW9uIGZpbHRlcl9zaXR1YXRpb24sCiAJc3RydWN0IG9iamVjdCAqb2JqLAogCWNvbnN0IGNoYXIgKnBhdGhuYW1lLAogCWNvbnN0IGNoYXIgKmZpbGVuYW1lLAotCXZvaWQgKmZpbHRlcl9kYXRhKTsKLQotdHlwZWRlZiB2b2lkICgqZmlsdGVyX2ZyZWVfZm4pKHZvaWQgKmZpbHRlcl9kYXRhKTsKKwlzdHJ1Y3QgZmlsdGVyICpmaWx0ZXIpOwogCiAvKgotICogQ29uc3RydWN0b3IgZm9yIHRoZSBzZXQgb2YgZGVmaW5lZCBsaXN0LW9iamVjdHMgZmlsdGVycy4KLSAqIFJldHVybnMgYSBnZW5lcmljICJ2b2lkICpmaWx0ZXJfZGF0YSIuCi0gKgotICogVGhlIHJldHVybmVkICJmaWx0ZXJfZm4iIHdpbGwgYmUgdXNlZCBieSB0cmF2ZXJzZV9jb21taXRfbGlzdCgpCi0gKiB0byBmaWx0ZXIgdGhlIHJlc3VsdHMuCi0gKgotICogVGhlIHJldHVybmVkICJmaWx0ZXJfZnJlZV9mbiIgaXMgYSBkZXN0cnVjdG9yIGZvciB0aGUKLSAqIGZpbHRlcl9kYXRhLgorICogRGVzdHJveXMgYGZpbHRlcmAgYW5kIGZpbmFsaXplcyB0aGUgYG9taXR0ZWRgIHNldCwgaWYgcHJlc2VudC4gRG9lcworICogbm90aGluZyBpZiBgZmlsdGVyYCBpcyBudWxsLgogICovCi12b2lkICpsaXN0X29iamVjdHNfZmlsdGVyX19pbml0KAotCXN0cnVjdCBvaWRzZXQgKm9taXR0ZWQsCi0Jc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyAqZmlsdGVyX29wdGlvbnMsCi0JZmlsdGVyX29iamVjdF9mbiAqZmlsdGVyX2ZuLAotCWZpbHRlcl9mcmVlX2ZuICpmaWx0ZXJfZnJlZV9mbik7Cit2b2lkIGxpc3Rfb2JqZWN0c19maWx0ZXJfX2ZyZWUoc3RydWN0IGZpbHRlciAqZmlsdGVyKTsKIAogI2VuZGlmIC8qIExJU1RfT0JKRUNUU19GSUxURVJfSCAqLwpkaWZmIC0tZ2l0IGEvbGlzdC1vYmplY3RzLmMgYi9saXN0LW9iamVjdHMuYwppbmRleCBjNDFjYzgwLi5lMTk1ODliIDEwMDY0NAotLS0gYS9saXN0LW9iamVjdHMuYworKysgYi9saXN0LW9iamVjdHMuYwpAQCAtMTgsOCArMTgsNyBAQAogCXNob3dfb2JqZWN0X2ZuIHNob3dfb2JqZWN0OwogCXNob3dfY29tbWl0X2ZuIHNob3dfY29tbWl0OwogCXZvaWQgKnNob3dfZGF0YTsKLQlmaWx0ZXJfb2JqZWN0X2ZuIGZpbHRlcl9mbjsKLQl2b2lkICpmaWx0ZXJfZGF0YTsKKwlzdHJ1Y3QgZmlsdGVyICpmaWx0ZXI7CiB9OwogCiBzdGF0aWMgdm9pZCBwcm9jZXNzX2Jsb2Ioc3RydWN0IHRyYXZlcnNhbF9jb250ZXh0ICpjdHgsCkBAIC0yOSw3ICsyOCw3IEBACiB7CiAJc3RydWN0IG9iamVjdCAqb2JqID0gJmJsb2ItPm9iamVjdDsKIAlzaXplX3QgcGF0aGxlbjsKLQllbnVtIGxpc3Rfb2JqZWN0c19maWx0ZXJfcmVzdWx0IHIgPSBMT0ZSX01BUktfU0VFTiB8IExPRlJfRE9fU0hPVzsKKwllbnVtIGxpc3Rfb2JqZWN0c19maWx0ZXJfcmVzdWx0IHI7CiAKIAlpZiAoIWN0eC0+cmV2cy0+YmxvYl9vYmplY3RzKQogCQlyZXR1cm47CkBAIC01NCwxMCArNTMsMTAgQEAKIAogCXBhdGhsZW4gPSBwYXRoLT5sZW47CiAJc3RyYnVmX2FkZHN0cihwYXRoLCBuYW1lKTsKLQlpZiAoKG9iai0+ZmxhZ3MgJiBOT1RfVVNFUl9HSVZFTikgJiYgY3R4LT5maWx0ZXJfZm4pCi0JCXIgPSBjdHgtPmZpbHRlcl9mbihMT0ZTX0JMT0IsIG9iaiwKLQkJCQkgICBwYXRoLT5idWYsICZwYXRoLT5idWZbcGF0aGxlbl0sCi0JCQkJICAgY3R4LT5maWx0ZXJfZGF0YSk7CisJciA9IGxpc3Rfb2JqZWN0c19maWx0ZXJfX2ZpbHRlcl9vYmplY3QoY3R4LT5yZXZzLT5yZXBvLAorCQkJCQkgICAgICAgTE9GU19CTE9CLCBvYmosCisJCQkJCSAgICAgICBwYXRoLT5idWYsICZwYXRoLT5idWZbcGF0aGxlbl0sCisJCQkJCSAgICAgICBjdHgtPmZpbHRlcik7CiAJaWYgKHIgJiBMT0ZSX01BUktfU0VFTikKIAkJb2JqLT5mbGFncyB8PSBTRUVOOwogCWlmIChyICYgTE9GUl9ET19TSE9XKQpAQCAtMTEzLDcgKzExMiw4IEBACiAKIAl3aGlsZSAodHJlZV9lbnRyeSgmZGVzYywgJmVudHJ5KSkgewogCQlpZiAobWF0Y2ggIT0gYWxsX2VudHJpZXNfaW50ZXJlc3RpbmcpIHsKLQkJCW1hdGNoID0gdHJlZV9lbnRyeV9pbnRlcmVzdGluZygmZW50cnksIGJhc2UsIDAsCisJCQltYXRjaCA9IHRyZWVfZW50cnlfaW50ZXJlc3RpbmcoY3R4LT5yZXZzLT5yZXBvLT5pbmRleCwKKwkJCQkJCSAgICAgICAmZW50cnksIGJhc2UsIDAsCiAJCQkJCQkgICAgICAgJmN0eC0+cmV2cy0+ZGlmZm9wdC5wYXRoc3BlYyk7CiAJCQlpZiAobWF0Y2ggPT0gYWxsX2VudHJpZXNfbm90X2ludGVyZXN0aW5nKQogCQkJCWJyZWFrOwpAQCAtMTIyLDE1ICsxMjIsMjUgQEAKIAkJfQogCiAJCWlmIChTX0lTRElSKGVudHJ5Lm1vZGUpKSB7Ci0JCQlzdHJ1Y3QgdHJlZSAqdCA9IGxvb2t1cF90cmVlKHRoZV9yZXBvc2l0b3J5LCBlbnRyeS5vaWQpOworCQkJc3RydWN0IHRyZWUgKnQgPSBsb29rdXBfdHJlZShjdHgtPnJldnMtPnJlcG8sICZlbnRyeS5vaWQpOworCQkJaWYgKCF0KSB7CisJCQkJZGllKF8oImVudHJ5ICclcycgaW4gdHJlZSAlcyBoYXMgdHJlZSBtb2RlLCAiCisJCQkJICAgICAgImJ1dCBpcyBub3QgYSB0cmVlIiksCisJCQkJICAgIGVudHJ5LnBhdGgsIG9pZF90b19oZXgoJnRyZWUtPm9iamVjdC5vaWQpKTsKKwkJCX0KIAkJCXQtPm9iamVjdC5mbGFncyB8PSBOT1RfVVNFUl9HSVZFTjsKIAkJCXByb2Nlc3NfdHJlZShjdHgsIHQsIGJhc2UsIGVudHJ5LnBhdGgpOwogCQl9CiAJCWVsc2UgaWYgKFNfSVNHSVRMSU5LKGVudHJ5Lm1vZGUpKQotCQkJcHJvY2Vzc19naXRsaW5rKGN0eCwgZW50cnkub2lkLT5oYXNoLAorCQkJcHJvY2Vzc19naXRsaW5rKGN0eCwgZW50cnkub2lkLmhhc2gsCiAJCQkJCWJhc2UsIGVudHJ5LnBhdGgpOwogCQllbHNlIHsKLQkJCXN0cnVjdCBibG9iICpiID0gbG9va3VwX2Jsb2IodGhlX3JlcG9zaXRvcnksIGVudHJ5Lm9pZCk7CisJCQlzdHJ1Y3QgYmxvYiAqYiA9IGxvb2t1cF9ibG9iKGN0eC0+cmV2cy0+cmVwbywgJmVudHJ5Lm9pZCk7CisJCQlpZiAoIWIpIHsKKwkJCQlkaWUoXygiZW50cnkgJyVzJyBpbiB0cmVlICVzIGhhcyBibG9iIG1vZGUsICIKKwkJCQkgICAgICAiYnV0IGlzIG5vdCBhIGJsb2IiKSwKKwkJCQkgICAgZW50cnkucGF0aCwgb2lkX3RvX2hleCgmdHJlZS0+b2JqZWN0Lm9pZCkpOworCQkJfQogCQkJYi0+b2JqZWN0LmZsYWdzIHw9IE5PVF9VU0VSX0dJVkVOOwogCQkJcHJvY2Vzc19ibG9iKGN0eCwgYiwgYmFzZSwgZW50cnkucGF0aCk7CiAJCX0KQEAgLTE0NSw3ICsxNTUsNyBAQAogCXN0cnVjdCBvYmplY3QgKm9iaiA9ICZ0cmVlLT5vYmplY3Q7CiAJc3RydWN0IHJldl9pbmZvICpyZXZzID0gY3R4LT5yZXZzOwogCWludCBiYXNlbGVuID0gYmFzZS0+bGVuOwotCWVudW0gbGlzdF9vYmplY3RzX2ZpbHRlcl9yZXN1bHQgciA9IExPRlJfTUFSS19TRUVOIHwgTE9GUl9ET19TSE9XOworCWVudW0gbGlzdF9vYmplY3RzX2ZpbHRlcl9yZXN1bHQgcjsKIAlpbnQgZmFpbGVkX3BhcnNlOwogCiAJaWYgKCFyZXZzLT50cmVlX29iamVjdHMpCkBAIC0xNzQsMTAgKzE4NCwxMCBAQAogCX0KIAogCXN0cmJ1Zl9hZGRzdHIoYmFzZSwgbmFtZSk7Ci0JaWYgKChvYmotPmZsYWdzICYgTk9UX1VTRVJfR0lWRU4pICYmIGN0eC0+ZmlsdGVyX2ZuKQotCQlyID0gY3R4LT5maWx0ZXJfZm4oTE9GU19CRUdJTl9UUkVFLCBvYmosCi0JCQkJICAgYmFzZS0+YnVmLCAmYmFzZS0+YnVmW2Jhc2VsZW5dLAotCQkJCSAgIGN0eC0+ZmlsdGVyX2RhdGEpOworCXIgPSBsaXN0X29iamVjdHNfZmlsdGVyX19maWx0ZXJfb2JqZWN0KGN0eC0+cmV2cy0+cmVwbywKKwkJCQkJICAgICAgIExPRlNfQkVHSU5fVFJFRSwgb2JqLAorCQkJCQkgICAgICAgYmFzZS0+YnVmLCAmYmFzZS0+YnVmW2Jhc2VsZW5dLAorCQkJCQkgICAgICAgY3R4LT5maWx0ZXIpOwogCWlmIChyICYgTE9GUl9NQVJLX1NFRU4pCiAJCW9iai0+ZmxhZ3MgfD0gU0VFTjsKIAlpZiAociAmIExPRlJfRE9fU0hPVykKQEAgLTE5MCwxNSArMjAwLDE0IEBACiAJZWxzZSBpZiAoIWZhaWxlZF9wYXJzZSkKIAkJcHJvY2Vzc190cmVlX2NvbnRlbnRzKGN0eCwgdHJlZSwgYmFzZSk7CiAKLQlpZiAoKG9iai0+ZmxhZ3MgJiBOT1RfVVNFUl9HSVZFTikgJiYgY3R4LT5maWx0ZXJfZm4pIHsKLQkJciA9IGN0eC0+ZmlsdGVyX2ZuKExPRlNfRU5EX1RSRUUsIG9iaiwKLQkJCQkgICBiYXNlLT5idWYsICZiYXNlLT5idWZbYmFzZWxlbl0sCi0JCQkJICAgY3R4LT5maWx0ZXJfZGF0YSk7Ci0JCWlmIChyICYgTE9GUl9NQVJLX1NFRU4pCi0JCQlvYmotPmZsYWdzIHw9IFNFRU47Ci0JCWlmIChyICYgTE9GUl9ET19TSE9XKQotCQkJY3R4LT5zaG93X29iamVjdChvYmosIGJhc2UtPmJ1ZiwgY3R4LT5zaG93X2RhdGEpOwotCX0KKwlyID0gbGlzdF9vYmplY3RzX2ZpbHRlcl9fZmlsdGVyX29iamVjdChjdHgtPnJldnMtPnJlcG8sCisJCQkJCSAgICAgICBMT0ZTX0VORF9UUkVFLCBvYmosCisJCQkJCSAgICAgICBiYXNlLT5idWYsICZiYXNlLT5idWZbYmFzZWxlbl0sCisJCQkJCSAgICAgICBjdHgtPmZpbHRlcik7CisJaWYgKHIgJiBMT0ZSX01BUktfU0VFTikKKwkJb2JqLT5mbGFncyB8PSBTRUVOOworCWlmIChyICYgTE9GUl9ET19TSE9XKQorCQljdHgtPnNob3dfb2JqZWN0KG9iaiwgYmFzZS0+YnVmLCBjdHgtPnNob3dfZGF0YSk7CiAKIAlzdHJidWZfc2V0bGVuKGJhc2UsIGJhc2VsZW4pOwogCWZyZWVfdHJlZV9idWZmZXIodHJlZSk7CkBAIC0yMjIsMjUgKzIzMSw3MyBAQAogCX0KIH0KIAotdm9pZCBtYXJrX2VkZ2VzX3VuaW50ZXJlc3Rpbmcoc3RydWN0IHJldl9pbmZvICpyZXZzLCBzaG93X2VkZ2VfZm4gc2hvd19lZGdlKQorc3RhdGljIHZvaWQgYWRkX2VkZ2VfcGFyZW50cyhzdHJ1Y3QgY29tbWl0ICpjb21taXQsCisJCQkgICAgIHN0cnVjdCByZXZfaW5mbyAqcmV2cywKKwkJCSAgICAgc2hvd19lZGdlX2ZuIHNob3dfZWRnZSwKKwkJCSAgICAgc3RydWN0IG9pZHNldCAqc2V0KQoreworCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50czsKKworCWZvciAocGFyZW50cyA9IGNvbW1pdC0+cGFyZW50czsgcGFyZW50czsgcGFyZW50cyA9IHBhcmVudHMtPm5leHQpIHsKKwkJc3RydWN0IGNvbW1pdCAqcGFyZW50ID0gcGFyZW50cy0+aXRlbTsKKwkJc3RydWN0IHRyZWUgKnRyZWUgPSBnZXRfY29tbWl0X3RyZWUocGFyZW50KTsKKworCQlpZiAoIXRyZWUpCisJCQljb250aW51ZTsKKworCQlvaWRzZXRfaW5zZXJ0KHNldCwgJnRyZWUtPm9iamVjdC5vaWQpOworCisJCWlmICghKHBhcmVudC0+b2JqZWN0LmZsYWdzICYgVU5JTlRFUkVTVElORykpCisJCQljb250aW51ZTsKKwkJdHJlZS0+b2JqZWN0LmZsYWdzIHw9IFVOSU5URVJFU1RJTkc7CisKKwkJaWYgKHJldnMtPmVkZ2VfaGludCAmJiAhKHBhcmVudC0+b2JqZWN0LmZsYWdzICYgU0hPV04pKSB7CisJCQlwYXJlbnQtPm9iamVjdC5mbGFncyB8PSBTSE9XTjsKKwkJCXNob3dfZWRnZShwYXJlbnQpOworCQl9CisJfQorfQorCit2b2lkIG1hcmtfZWRnZXNfdW5pbnRlcmVzdGluZyhzdHJ1Y3QgcmV2X2luZm8gKnJldnMsCisJCQkgICAgICBzaG93X2VkZ2VfZm4gc2hvd19lZGdlLAorCQkJICAgICAgaW50IHNwYXJzZSkKIHsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKmxpc3Q7CiAJaW50IGk7CiAKLQlmb3IgKGxpc3QgPSByZXZzLT5jb21taXRzOyBsaXN0OyBsaXN0ID0gbGlzdC0+bmV4dCkgewotCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBsaXN0LT5pdGVtOworCWlmIChzcGFyc2UpIHsKKwkJc3RydWN0IG9pZHNldCBzZXQ7CisJCW9pZHNldF9pbml0KCZzZXQsIDE2KTsKIAotCQlpZiAoY29tbWl0LT5vYmplY3QuZmxhZ3MgJiBVTklOVEVSRVNUSU5HKSB7Ci0JCQltYXJrX3RyZWVfdW5pbnRlcmVzdGluZyhyZXZzLT5yZXBvLAotCQkJCQkJZ2V0X2NvbW1pdF90cmVlKGNvbW1pdCkpOwotCQkJaWYgKHJldnMtPmVkZ2VfaGludF9hZ2dyZXNzaXZlICYmICEoY29tbWl0LT5vYmplY3QuZmxhZ3MgJiBTSE9XTikpIHsKLQkJCQljb21taXQtPm9iamVjdC5mbGFncyB8PSBTSE9XTjsKLQkJCQlzaG93X2VkZ2UoY29tbWl0KTsKLQkJCX0KLQkJCWNvbnRpbnVlOworCQlmb3IgKGxpc3QgPSByZXZzLT5jb21taXRzOyBsaXN0OyBsaXN0ID0gbGlzdC0+bmV4dCkgeworCQkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gbGlzdC0+aXRlbTsKKwkJCXN0cnVjdCB0cmVlICp0cmVlID0gZ2V0X2NvbW1pdF90cmVlKGNvbW1pdCk7CisKKwkJCWlmIChjb21taXQtPm9iamVjdC5mbGFncyAmIFVOSU5URVJFU1RJTkcpCisJCQkJdHJlZS0+b2JqZWN0LmZsYWdzIHw9IFVOSU5URVJFU1RJTkc7CisKKwkJCW9pZHNldF9pbnNlcnQoJnNldCwgJnRyZWUtPm9iamVjdC5vaWQpOworCQkJYWRkX2VkZ2VfcGFyZW50cyhjb21taXQsIHJldnMsIHNob3dfZWRnZSwgJnNldCk7CiAJCX0KLQkJbWFya19lZGdlX3BhcmVudHNfdW5pbnRlcmVzdGluZyhjb21taXQsIHJldnMsIHNob3dfZWRnZSk7CisKKwkJbWFya190cmVlc191bmludGVyZXN0aW5nX3NwYXJzZShyZXZzLT5yZXBvLCAmc2V0KTsKKwkJb2lkc2V0X2NsZWFyKCZzZXQpOworCX0gZWxzZSB7CisJCWZvciAobGlzdCA9IHJldnMtPmNvbW1pdHM7IGxpc3Q7IGxpc3QgPSBsaXN0LT5uZXh0KSB7CisJCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBsaXN0LT5pdGVtOworCQkJaWYgKGNvbW1pdC0+b2JqZWN0LmZsYWdzICYgVU5JTlRFUkVTVElORykgeworCQkJCW1hcmtfdHJlZV91bmludGVyZXN0aW5nKHJldnMtPnJlcG8sCisJCQkJCQkJZ2V0X2NvbW1pdF90cmVlKGNvbW1pdCkpOworCQkJCWlmIChyZXZzLT5lZGdlX2hpbnRfYWdncmVzc2l2ZSAmJiAhKGNvbW1pdC0+b2JqZWN0LmZsYWdzICYgU0hPV04pKSB7CisJCQkJCWNvbW1pdC0+b2JqZWN0LmZsYWdzIHw9IFNIT1dOOworCQkJCQlzaG93X2VkZ2UoY29tbWl0KTsKKwkJCQl9CisJCQkJY29udGludWU7CisJCQl9CisJCQltYXJrX2VkZ2VfcGFyZW50c191bmludGVyZXN0aW5nKGNvbW1pdCwgcmV2cywgc2hvd19lZGdlKTsKKwkJfQogCX0KKwogCWlmIChyZXZzLT5lZGdlX2hpbnRfYWdncmVzc2l2ZSkgewogCQlmb3IgKGkgPSAwOyBpIDwgcmV2cy0+Y21kbGluZS5ucjsgaSsrKSB7CiAJCQlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSByZXZzLT5jbWRsaW5lLnJldltpXS5pdGVtOwpAQCAtMzA4LDEwICszNjUsMTUgQEAKIAkJICogYW4gdW5pbnRlcmVzdGluZyBib3VuZGFyeSBjb21taXQgbWF5IG5vdCBoYXZlIGl0cyB0cmVlCiAJCSAqIHBhcnNlZCB5ZXQsIGJ1dCB3ZSBhcmUgbm90IGdvaW5nIHRvIHNob3cgdGhlbSBhbnl3YXkKIAkJICovCi0JCWlmIChnZXRfY29tbWl0X3RyZWUoY29tbWl0KSkgeworCQlpZiAoIWN0eC0+cmV2cy0+dHJlZV9vYmplY3RzKQorCQkJOyAvKiBkbyBub3QgYm90aGVyIGxvYWRpbmcgdHJlZSAqLworCQllbHNlIGlmIChnZXRfY29tbWl0X3RyZWUoY29tbWl0KSkgewogCQkJc3RydWN0IHRyZWUgKnRyZWUgPSBnZXRfY29tbWl0X3RyZWUoY29tbWl0KTsKIAkJCXRyZWUtPm9iamVjdC5mbGFncyB8PSBOT1RfVVNFUl9HSVZFTjsKIAkJCWFkZF9wZW5kaW5nX3RyZWUoY3R4LT5yZXZzLCB0cmVlKTsKKwkJfSBlbHNlIGlmIChjb21taXQtPm9iamVjdC5wYXJzZWQpIHsKKwkJCWRpZShfKCJ1bmFibGUgdG8gbG9hZCByb290IHRyZWUgZm9yIGNvbW1pdCAlcyIpLAorCQkJICAgICAgb2lkX3RvX2hleCgmY29tbWl0LT5vYmplY3Qub2lkKSk7CiAJCX0KIAkJY3R4LT5zaG93X2NvbW1pdChjb21taXQsIGN0eC0+c2hvd19kYXRhKTsKIApAQCAtMzM3LDggKzM5OSw3IEBACiAJY3R4LnNob3dfY29tbWl0ID0gc2hvd19jb21taXQ7CiAJY3R4LnNob3dfb2JqZWN0ID0gc2hvd19vYmplY3Q7CiAJY3R4LnNob3dfZGF0YSA9IHNob3dfZGF0YTsKLQljdHguZmlsdGVyX2ZuID0gTlVMTDsKLQljdHguZmlsdGVyX2RhdGEgPSBOVUxMOworCWN0eC5maWx0ZXIgPSBOVUxMOwogCWRvX3RyYXZlcnNlKCZjdHgpOwogfQogCkBAIC0zNTEsMTcgKzQxMiwxMiBAQAogCXN0cnVjdCBvaWRzZXQgKm9taXR0ZWQpCiB7CiAJc3RydWN0IHRyYXZlcnNhbF9jb250ZXh0IGN0eDsKLQlmaWx0ZXJfZnJlZV9mbiBmaWx0ZXJfZnJlZV9mbiA9IE5VTEw7CiAKIAljdHgucmV2cyA9IHJldnM7CiAJY3R4LnNob3dfb2JqZWN0ID0gc2hvd19vYmplY3Q7CiAJY3R4LnNob3dfY29tbWl0ID0gc2hvd19jb21taXQ7CiAJY3R4LnNob3dfZGF0YSA9IHNob3dfZGF0YTsKLQljdHguZmlsdGVyX2ZuID0gTlVMTDsKLQotCWN0eC5maWx0ZXJfZGF0YSA9IGxpc3Rfb2JqZWN0c19maWx0ZXJfX2luaXQob21pdHRlZCwgZmlsdGVyX29wdGlvbnMsCi0JCQkJCQkgICAgJmN0eC5maWx0ZXJfZm4sICZmaWx0ZXJfZnJlZV9mbik7CisJY3R4LmZpbHRlciA9IGxpc3Rfb2JqZWN0c19maWx0ZXJfX2luaXQob21pdHRlZCwgZmlsdGVyX29wdGlvbnMpOwogCWRvX3RyYXZlcnNlKCZjdHgpOwotCWlmIChjdHguZmlsdGVyX2RhdGEgJiYgZmlsdGVyX2ZyZWVfZm4pCi0JCWZpbHRlcl9mcmVlX2ZuKGN0eC5maWx0ZXJfZGF0YSk7CisJbGlzdF9vYmplY3RzX2ZpbHRlcl9fZnJlZShjdHguZmlsdGVyKTsKIH0KZGlmZiAtLWdpdCBhL2xpc3Qtb2JqZWN0cy5oIGIvbGlzdC1vYmplY3RzLmgKaW5kZXggYWQ0MDc2Mi4uYTk1MjY4MCAxMDA2NDQKLS0tIGEvbGlzdC1vYmplY3RzLmgKKysrIGIvbGlzdC1vYmplY3RzLmgKQEAgLTEwLDcgKzEwLDkgQEAKIHZvaWQgdHJhdmVyc2VfY29tbWl0X2xpc3Qoc3RydWN0IHJldl9pbmZvICosIHNob3dfY29tbWl0X2ZuLCBzaG93X29iamVjdF9mbiwgdm9pZCAqKTsKIAogdHlwZWRlZiB2b2lkICgqc2hvd19lZGdlX2ZuKShzdHJ1Y3QgY29tbWl0ICopOwotdm9pZCBtYXJrX2VkZ2VzX3VuaW50ZXJlc3Rpbmcoc3RydWN0IHJldl9pbmZvICosIHNob3dfZWRnZV9mbik7Cit2b2lkIG1hcmtfZWRnZXNfdW5pbnRlcmVzdGluZyhzdHJ1Y3QgcmV2X2luZm8gKnJldnMsCisJCQkgICAgICBzaG93X2VkZ2VfZm4gc2hvd19lZGdlLAorCQkJICAgICAgaW50IHNwYXJzZSk7CiAKIHN0cnVjdCBvaWRzZXQ7CiBzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zOwpkaWZmIC0tZ2l0IGEvbGwtbWVyZ2UuYyBiL2xsLW1lcmdlLmMKaW5kZXggM2M4ZmI5MS4uZDY1YTg5NyAxMDA2NDQKLS0tIGEvbGwtbWVyZ2UuYworKysgYi9sbC1tZXJnZS5jCkBAIC0zMiw2ICszMiwyMCBAQAogCWNoYXIgKmNtZGxpbmU7CiB9OwogCitzdGF0aWMgc3RydWN0IGF0dHJfY2hlY2sgKm1lcmdlX2F0dHJpYnV0ZXM7CitzdGF0aWMgc3RydWN0IGF0dHJfY2hlY2sgKmxvYWRfbWVyZ2VfYXR0cmlidXRlcyh2b2lkKQoreworCWlmICghbWVyZ2VfYXR0cmlidXRlcykKKwkJbWVyZ2VfYXR0cmlidXRlcyA9IGF0dHJfY2hlY2tfaW5pdGwoIm1lcmdlIiwgImNvbmZsaWN0LW1hcmtlci1zaXplIiwgTlVMTCk7CisJcmV0dXJuIG1lcmdlX2F0dHJpYnV0ZXM7Cit9CisKK3ZvaWQgcmVzZXRfbWVyZ2VfYXR0cmlidXRlcyh2b2lkKQoreworCWF0dHJfY2hlY2tfZnJlZShtZXJnZV9hdHRyaWJ1dGVzKTsKKwltZXJnZV9hdHRyaWJ1dGVzID0gTlVMTDsKK30KKwogLyoKICAqIEJ1aWx0LWluIGxvdy1sZXZlbHMKICAqLwpAQCAtMzU0LDcgKzM2OCw3IEBACiAJICAgICBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKIAkgICAgIGNvbnN0IHN0cnVjdCBsbF9tZXJnZV9vcHRpb25zICpvcHRzKQogewotCXN0YXRpYyBzdHJ1Y3QgYXR0cl9jaGVjayAqY2hlY2s7CisJc3RydWN0IGF0dHJfY2hlY2sgKmNoZWNrID0gbG9hZF9tZXJnZV9hdHRyaWJ1dGVzKCk7CiAJc3RhdGljIGNvbnN0IHN0cnVjdCBsbF9tZXJnZV9vcHRpb25zIGRlZmF1bHRfb3B0czsKIAljb25zdCBjaGFyICpsbF9kcml2ZXJfbmFtZSA9IE5VTEw7CiAJaW50IG1hcmtlcl9zaXplID0gREVGQVVMVF9DT05GTElDVF9NQVJLRVJfU0laRTsKQEAgLTM2OSw5ICszODMsNiBAQAogCQlub3JtYWxpemVfZmlsZSh0aGVpcnMsIHBhdGgsIGlzdGF0ZSk7CiAJfQogCi0JaWYgKCFjaGVjaykKLQkJY2hlY2sgPSBhdHRyX2NoZWNrX2luaXRsKCJtZXJnZSIsICJjb25mbGljdC1tYXJrZXItc2l6ZSIsIE5VTEwpOwotCiAJZ2l0X2NoZWNrX2F0dHIoaXN0YXRlLCBwYXRoLCBjaGVjayk7CiAJbGxfZHJpdmVyX25hbWUgPSBjaGVjay0+aXRlbXNbMF0udmFsdWU7CiAJaWYgKGNoZWNrLT5pdGVtc1sxXS52YWx1ZSkgewpAQCAtMzg0LDcgKzM5NSw5IEBACiAJaWYgKG9wdHMtPnZpcnR1YWxfYW5jZXN0b3IpIHsKIAkJaWYgKGRyaXZlci0+cmVjdXJzaXZlKQogCQkJZHJpdmVyID0gZmluZF9sbF9tZXJnZV9kcml2ZXIoZHJpdmVyLT5yZWN1cnNpdmUpOwotCQltYXJrZXJfc2l6ZSArPSAyOworCX0KKwlpZiAob3B0cy0+ZXh0cmFfbWFya2VyX3NpemUpIHsKKwkJbWFya2VyX3NpemUgKz0gb3B0cy0+ZXh0cmFfbWFya2VyX3NpemU7CiAJfQogCXJldHVybiBkcml2ZXItPmZuKGRyaXZlciwgcmVzdWx0X2J1ZiwgcGF0aCwgYW5jZXN0b3IsIGFuY2VzdG9yX2xhYmVsLAogCQkJICBvdXJzLCBvdXJfbGFiZWwsIHRoZWlycywgdGhlaXJfbGFiZWwsCmRpZmYgLS1naXQgYS9sbC1tZXJnZS5oIGIvbGwtbWVyZ2UuaAppbmRleCA2YzZlMjJlLi5hY2ViMWIyIDEwMDY0NAotLS0gYS9sbC1tZXJnZS5oCisrKyBiL2xsLW1lcmdlLmgKQEAgLTcsMTUgKzcsODcgQEAKIAogI2luY2x1ZGUgInhkaWZmL3hkaWZmLmgiCiAKKy8qKgorICoKKyAqIENhbGxpbmcgc2VxdWVuY2U6CisgKiAtLS0tLS0tLS0tLS0tLS0tCisgKgorICogLSBQcmVwYXJlIGEgYHN0cnVjdCBsbF9tZXJnZV9vcHRpb25zYCB0byByZWNvcmQgb3B0aW9ucy4KKyAqICAgSWYgeW91IGhhdmUgbm8gc3BlY2lhbCByZXF1ZXN0cywgc2tpcCB0aGlzIGFuZCBwYXNzIGBOVUxMYAorICogICBhcyB0aGUgYG9wdHNgIHBhcmFtZXRlciB0byB1c2UgdGhlIGRlZmF1bHQgb3B0aW9ucy4KKyAqCisgKiAtIEFsbG9jYXRlIGFuIG1tYnVmZmVyX3QgdmFyaWFibGUgZm9yIHRoZSByZXN1bHQuCisgKgorICogLSBBbGxvY2F0ZSBhbmQgZmlsbCB2YXJpYWJsZXMgd2l0aCB0aGUgZmlsZSdzIG9yaWdpbmFsIGNvbnRlbnQKKyAqICAgYW5kIHR3byBtb2RpZmllZCB2ZXJzaW9ucyAodXNpbmcgYHJlYWRfbW1maWxlYCwgZm9yIGV4YW1wbGUpLgorICoKKyAqIC0gQ2FsbCBgbGxfbWVyZ2UoKWAuCisgKgorICogLSBSZWFkIHRoZSBtZXJnZWQgY29udGVudCBmcm9tIGByZXN1bHRfYnVmLnB0cmAgYW5kIGByZXN1bHRfYnVmLnNpemVgLgorICoKKyAqIC0gUmVsZWFzZSBidWZmZXJzIHdoZW4gZmluaXNoZWQuICBBIHNpbXBsZQorICogICBgZnJlZShhbmNlc3Rvci5wdHIpOyBmcmVlKG91cnMucHRyKTsgZnJlZSh0aGVpcnMucHRyKTsKKyAqICAgZnJlZShyZXN1bHRfYnVmLnB0cik7YCB3aWxsIGRvLgorICoKKyAqIElmIHRoZSBtb2RpZmljYXRpb25zIGRvIG5vdCBtZXJnZSBjbGVhbmx5LCBgbGxfbWVyZ2VgIHdpbGwgcmV0dXJuIGEKKyAqIG5vbnplcm8gdmFsdWUgYW5kIGByZXN1bHRfYnVmYCB3aWxsIGdlbmVyYWxseSBpbmNsdWRlIGEgZGVzY3JpcHRpb24gb2YKKyAqIHRoZSBjb25mbGljdCBicmFja2V0ZWQgYnkgbWFya2VycyBzdWNoIGFzIHRoZSB0cmFkaXRpb25hbCBgPDw8PDw8PGAKKyAqIGFuZCBgPj4+Pj4+PmAuCisgKgorICogVGhlIGBhbmNlc3Rvcl9sYWJlbGAsIGBvdXJfbGFiZWxgLCBhbmQgYHRoZWlyX2xhYmVsYCBwYXJhbWV0ZXJzIGFyZQorICogdXNlZCB0byBsYWJlbCB0aGUgZGlmZmVyZW50IHNpZGVzIG9mIGEgY29uZmxpY3QgaWYgdGhlIG1lcmdlIGRyaXZlcgorICogc3VwcG9ydHMgdGhpcy4KKyAqLworCisKIHN0cnVjdCBpbmRleF9zdGF0ZTsKIAorLyoqCisgKiBUaGlzIGRlc2NyaWJlcyB0aGUgc2V0IG9mIG9wdGlvbnMgdGhlIGNhbGxpbmcgcHJvZ3JhbSB3YW50cyB0byBhZmZlY3QKKyAqIHRoZSBvcGVyYXRpb24gb2YgYSBsb3ctbGV2ZWwgKHNpbmdsZSBmaWxlKSBtZXJnZS4KKyAqLwogc3RydWN0IGxsX21lcmdlX29wdGlvbnMgeworCisJLyoqCisJICogQmVoYXZlIGFzIHRob3VnaCB0aGlzIHdlcmUgcGFydCBvZiBhIG1lcmdlIGJldHdlZW4gY29tbW9uIGFuY2VzdG9ycyBpbgorCSAqIGEgcmVjdXJzaXZlIG1lcmdlIChtZXJnZXMgb2YgYmluYXJ5IGZpbGVzIG1heSBuZWVkIHRvIGJlIGhhbmRsZWQKKwkgKiBkaWZmZXJlbnRseSBpbiBzdWNoIGNhc2VzLCBmb3IgZXhhbXBsZSkuIElmIGEgaGVscGVyIHByb2dyYW0gaXMKKwkgKiBzcGVjaWZpZWQgYnkgdGhlIGBbbWVyZ2UgIjxkcml2ZXI+Il0gcmVjdXJzaXZlYCBjb25maWd1cmF0aW9uLCBpdCB3aWxsCisJICogYmUgdXNlZC4KKwkgKi8KIAl1bnNpZ25lZCB2aXJ0dWFsX2FuY2VzdG9yIDogMTsKLQl1bnNpZ25lZCB2YXJpYW50IDogMjsJLyogZmF2b3Igb3VycywgZmF2b3IgdGhlaXJzLCBvciB1bmlvbiBtZXJnZSAqLworCisJLyoqCisJICogUmVzb2x2ZSBsb2NhbCBjb25mbGljdHMgYXV0b21hdGljYWxseSBpbiBmYXZvciBvZiBvbmUgc2lkZSBvciB0aGUgb3RoZXIKKwkgKiAoYXMgaW4gJ2dpdCBtZXJnZS1maWxlJyBgLS1vdXJzYC9gLS10aGVpcnNgL2AtLXVuaW9uYCkuICBDYW4gYmUgYDBgLAorCSAqIGBYRExfTUVSR0VfRkFWT1JfT1VSU2AsIGBYRExfTUVSR0VfRkFWT1JfVEhFSVJTYCwKKwkgKiBvciBgWERMX01FUkdFX0ZBVk9SX1VOSU9OYC4KKwkgKi8KKwl1bnNpZ25lZCB2YXJpYW50IDogMjsKKworCS8qKgorCSAqIFJlc211ZGdlIGFuZCBjbGVhbiB0aGUgImJhc2UiLCAidGhlaXJzIiBhbmQgIm91cnMiIGZpbGVzIGJlZm9yZSBtZXJnaW5nLgorCSAqIFVzZSB0aGlzIHdoZW4gdGhlIG1lcmdlIGlzIGxpa2VseSB0byBoYXZlIG92ZXJsYXBwZWQgd2l0aCBhIGNoYW5nZSBpbgorCSAqIHNtdWRnZS9jbGVhbiBvciBlbmQtb2YtbGluZSBub3JtYWxpemF0aW9uIHJ1bGVzLgorCSAqLwogCXVuc2lnbmVkIHJlbm9ybWFsaXplIDogMTsKKworCS8qKgorCSAqIEluY3JlYXNlIHRoZSBsZW5ndGggb2YgY29uZmxpY3QgbWFya2VycyBzbyB0aGF0IG5lc3RlZCBjb25mbGljdHMKKwnCoCogY2FuIGJlIGRpZmZlcmVudGlhdGVkLgorCSAqLworCXVuc2lnbmVkIGV4dHJhX21hcmtlcl9zaXplOworCisJLyogRXh0cmEgeHBwYXJhbV90IGZsYWdzIGFzIGRlZmluZWQgaW4geGRpZmYveGRpZmYuaC4gKi8KIAlsb25nIHhkbF9vcHRzOwogfTsKIAorLyoqCisgKiBQZXJmb3JtIGEgdGhyZWUtd2F5IHNpbmdsZS1maWxlIG1lcmdlIGluIGNvcmUuICBUaGlzIGlzIGEgdGhpbiB3cmFwcGVyCisgKiBhcm91bmQgYHhkbF9tZXJnZWAgdGhhdCB0YWtlcyB0aGUgcGF0aCBhbmQgYW55IG1lcmdlIGJhY2tlbmQgc3BlY2lmaWVkIGluCisgKiBgLmdpdGF0dHJpYnV0ZXNgIG9yIGAuZ2l0L2luZm8vYXR0cmlidXRlc2AgaW50byBhY2NvdW50LgorICogUmV0dXJucyAwIGZvciBhIGNsZWFuIG1lcmdlLgorICovCiBpbnQgbGxfbWVyZ2UobW1idWZmZXJfdCAqcmVzdWx0X2J1ZiwKIAkgICAgIGNvbnN0IGNoYXIgKnBhdGgsCiAJICAgICBtbWZpbGVfdCAqYW5jZXN0b3IsIGNvbnN0IGNoYXIgKmFuY2VzdG9yX2xhYmVsLApAQCAtMjUsNSArOTcsNiBAQAogCSAgICAgY29uc3Qgc3RydWN0IGxsX21lcmdlX29wdGlvbnMgKm9wdHMpOwogCiBpbnQgbGxfbWVyZ2VfbWFya2VyX3NpemUoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKnBhdGgpOwordm9pZCByZXNldF9tZXJnZV9hdHRyaWJ1dGVzKHZvaWQpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xvY2tmaWxlLmggYi9sb2NrZmlsZS5oCmluZGV4IDM1NDAzY2MuLjk4NDMwNTMgMTAwNjQ0Ci0tLSBhL2xvY2tmaWxlLmgKKysrIGIvbG9ja2ZpbGUuaApAQCAtMTU5LDcgKzE1OSw3IEBACiAgKiB0aW1lb3V0X21zIGlzIC0xLCByZXRyeSBpbmRlZmluaXRlbHkuIFRoZSBmbGFncyBhcmd1bWVudCBhbmQgZXJyb3IKICAqIGhhbmRsaW5nIGFyZSBkZXNjcmliZWQgYWJvdmUuCiAgKi8KLWV4dGVybiBpbnQgaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZV90aW1lb3V0KAoraW50IGhvbGRfbG9ja19maWxlX2Zvcl91cGRhdGVfdGltZW91dCgKIAkJc3RydWN0IGxvY2tfZmlsZSAqbGssIGNvbnN0IGNoYXIgKnBhdGgsCiAJCWludCBmbGFncywgbG9uZyB0aW1lb3V0X21zKTsKIApAQCAtMTg4LDggKzE4OCw4IEBACiAgKiBvZiBgaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZSgpYCB0byBsb2NrIGBwYXRoYC4gYGVycmAgc2hvdWxkIGJlIHRoZQogICogYGVycm5vYCBzZXQgYnkgdGhlIGZhaWxpbmcgY2FsbC4KICAqLwotZXh0ZXJuIHZvaWQgdW5hYmxlX3RvX2xvY2tfbWVzc2FnZShjb25zdCBjaGFyICpwYXRoLCBpbnQgZXJyLAotCQkJCSAgIHN0cnVjdCBzdHJidWYgKmJ1Zik7Cit2b2lkIHVuYWJsZV90b19sb2NrX21lc3NhZ2UoY29uc3QgY2hhciAqcGF0aCwgaW50IGVyciwKKwkJCSAgICBzdHJ1Y3Qgc3RyYnVmICpidWYpOwogCiAvKgogICogRW1pdCBhbiBhcHByb3ByaWF0ZSBlcnJvciBtZXNzYWdlIGFuZCBgZGllKClgIGZvbGxvd2luZyB0aGUgZmFpbHVyZQpAQCAtMTk3LDcgKzE5Nyw3IEBACiAgKiBgZXJybm9gIHNldCBieSB0aGUgZmFpbGluZwogICogY2FsbC4KICAqLwotZXh0ZXJuIE5PUkVUVVJOIHZvaWQgdW5hYmxlX3RvX2xvY2tfZGllKGNvbnN0IGNoYXIgKnBhdGgsIGludCBlcnIpOworTk9SRVRVUk4gdm9pZCB1bmFibGVfdG9fbG9ja19kaWUoY29uc3QgY2hhciAqcGF0aCwgaW50IGVycik7CiAKIC8qCiAgKiBBc3NvY2lhdGUgYSBzdGRpbyBzdHJlYW0gd2l0aCB0aGUgbG9ja2ZpbGUgKHdoaWNoIG11c3Qgc3RpbGwgYmUKQEAgLTIzNCw3ICsyMzQsNyBAQAogICogUmV0dXJuIHRoZSBwYXRoIG9mIHRoZSBmaWxlIHRoYXQgaXMgbG9ja2VkIGJ5IHRoZSBzcGVjaWZpZWQKICAqIGxvY2tfZmlsZSBvYmplY3QuIFRoZSBjYWxsZXIgbXVzdCBmcmVlIHRoZSBtZW1vcnkuCiAgKi8KLWV4dGVybiBjaGFyICpnZXRfbG9ja2VkX2ZpbGVfcGF0aChzdHJ1Y3QgbG9ja19maWxlICpsayk7CitjaGFyICpnZXRfbG9ja2VkX2ZpbGVfcGF0aChzdHJ1Y3QgbG9ja19maWxlICpsayk7CiAKIC8qCiAgKiBJZiB0aGUgbG9ja2ZpbGUgaXMgc3RpbGwgb3BlbiwgY2xvc2UgaXQgKGFuZCB0aGUgZmlsZSBwb2ludGVyIGlmIGl0CkBAIC0yODIsNyArMjgyLDcgQEAKICAqIGNhbGwgYGNvbW1pdF9sb2NrX2ZpbGUoKWAgZm9yIGEgYGxvY2tfZmlsZWAgb2JqZWN0IHRoYXQgaXMgbm90CiAgKiBjdXJyZW50bHkgbG9ja2VkLgogICovCi1leHRlcm4gaW50IGNvbW1pdF9sb2NrX2ZpbGUoc3RydWN0IGxvY2tfZmlsZSAqbGspOworaW50IGNvbW1pdF9sb2NrX2ZpbGUoc3RydWN0IGxvY2tfZmlsZSAqbGspOwogCiAvKgogICogTGlrZSBgY29tbWl0X2xvY2tfZmlsZSgpYCwgYnV0IHJlbmFtZSB0aGUgbG9ja2ZpbGUgdG8gdGhlIHByb3ZpZGVkCmRpZmYgLS1naXQgYS9sb2ctdHJlZS5jIGIvbG9nLXRyZWUuYwppbmRleCAxMDY4MGMxLi41MjEyNzQyIDEwMDY0NAotLS0gYS9sb2ctdHJlZS5jCisrKyBiL2xvZy10cmVlLmMKQEAgLTc3LDYgKzc3LDcgQEAKIAogY29uc3Qgc3RydWN0IG5hbWVfZGVjb3JhdGlvbiAqZ2V0X25hbWVfZGVjb3JhdGlvbihjb25zdCBzdHJ1Y3Qgb2JqZWN0ICpvYmopCiB7CisJbG9hZF9yZWZfZGVjb3JhdGlvbnMoTlVMTCwgREVDT1JBVEVfU0hPUlRfUkVGUyk7CiAJcmV0dXJuIGxvb2t1cF9kZWNvcmF0aW9uKCZuYW1lX2RlY29yYXRpb24sIG9iaik7CiB9CiAKQEAgLTQ5OSw3ICs1MDAsOCBAQAogCWludCBzdGF0dXMsIG50aDsKIAlzaXplX3QgcGF5bG9hZF9zaXplLCBncGdfbWVzc2FnZV9vZmZzZXQ7CiAKLQloYXNoX29iamVjdF9maWxlKGV4dHJhLT52YWx1ZSwgZXh0cmEtPmxlbiwgdHlwZV9uYW1lKE9CSl9UQUcpLCAmb2lkKTsKKwloYXNoX29iamVjdF9maWxlKHRoZV9oYXNoX2FsZ28sIGV4dHJhLT52YWx1ZSwgZXh0cmEtPmxlbiwKKwkJCSB0eXBlX25hbWUoT0JKX1RBRyksICZvaWQpOwogCXRhZyA9IGxvb2t1cF90YWcodGhlX3JlcG9zaXRvcnksICZvaWQpOwogCWlmICghdGFnKQogCQlyZXR1cm4gLTE7IC8qIGVycm9yIG1lc3NhZ2UgYWxyZWFkeSBnaXZlbiAqLwpAQCAtNTE0LDcgKzUxNiw3IEBACiAJCQkgICAgIm1lcmdlZCB0YWcgJyVzJ1xuIiwgdGFnLT50YWcpOwogCWVsc2UgaWYgKChudGggPSB3aGljaF9wYXJlbnQoJnRhZy0+dGFnZ2VkLT5vaWQsIGNvbW1pdCkpIDwgMCkKIAkJc3RyYnVmX2FkZGYoJnZlcmlmeV9tZXNzYWdlLCAidGFnICVzIG5hbWVzIGEgbm9uLXBhcmVudCAlc1xuIiwKLQkJCQkgICAgdGFnLT50YWcsIHRhZy0+dGFnZ2VkLT5vaWQuaGFzaCk7CisJCQkJICAgIHRhZy0+dGFnLCBvaWRfdG9faGV4KCZ0YWctPnRhZ2dlZC0+b2lkKSk7CiAJZWxzZQogCQlzdHJidWZfYWRkZigmdmVyaWZ5X21lc3NhZ2UsCiAJCQkgICAgInBhcmVudCAjJWQsIHRhZ2dlZCAnJXMnXG4iLCBudGggKyAxLCB0YWctPnRhZyk7CkBAIC02NzcsOSArNjc5LDcgQEAKIAkJcmF3ID0gKG9wdC0+Y29tbWl0X2Zvcm1hdCA9PSBDTUlUX0ZNVF9VU0VSRk9STUFUKTsKIAkJZm9ybWF0X2Rpc3BsYXlfbm90ZXMoJmNvbW1pdC0+b2JqZWN0Lm9pZCwgJm5vdGVidWYsCiAJCQkJICAgICBnZXRfbG9nX291dHB1dF9lbmNvZGluZygpLCByYXcpOwotCQljdHgubm90ZXNfbWVzc2FnZSA9IG5vdGVidWYubGVuCi0JCQk/IHN0cmJ1Zl9kZXRhY2goJm5vdGVidWYsIE5VTEwpCi0JCQk6IHhjYWxsb2MoMSwgMSk7CisJCWN0eC5ub3Rlc19tZXNzYWdlID0gc3RyYnVmX2RldGFjaCgmbm90ZWJ1ZiwgTlVMTCk7CiAJfQogCiAJLyoKQEAgLTY4Nyw4ICs2ODcsNyBAQAogCSAqLwogCWlmIChjdHgubmVlZF84Yml0X2N0ZSA+PSAwICYmIG9wdC0+YWRkX3NpZ25vZmYpCiAJCWN0eC5uZWVkXzhiaXRfY3RlID0KLQkJCWhhc19ub25fYXNjaWkoZm10X25hbWUoZ2V0ZW52KCJHSVRfQ09NTUlUVEVSX05BTUUiKSwKLQkJCQkJICAgICAgIGdldGVudigiR0lUX0NPTU1JVFRFUl9FTUFJTCIpKSk7CisJCQloYXNfbm9uX2FzY2lpKGZtdF9uYW1lKFdBTlRfQ09NTUlUVEVSX0lERU5UKSk7CiAJY3R4LmRhdGVfbW9kZSA9IG9wdC0+ZGF0ZV9tb2RlOwogCWN0eC5kYXRlX21vZGVfZXhwbGljaXQgPSBvcHQtPmRhdGVfbW9kZV9leHBsaWNpdDsKIAljdHguYWJicmV2ID0gb3B0LT5kaWZmb3B0LmFiYnJldjsKQEAgLTcwMCw2ICs2OTksNyBAQAogCWN0eC5jb2xvciA9IG9wdC0+ZGlmZm9wdC51c2VfY29sb3I7CiAJY3R4LmV4cGFuZF90YWJzX2luX2xvZyA9IG9wdC0+ZXhwYW5kX3RhYnNfaW5fbG9nOwogCWN0eC5vdXRwdXRfZW5jb2RpbmcgPSBnZXRfbG9nX291dHB1dF9lbmNvZGluZygpOworCWN0eC5yZXYgPSBvcHQ7CiAJaWYgKG9wdC0+ZnJvbV9pZGVudC5tYWlsX2JlZ2luICYmIG9wdC0+ZnJvbV9pZGVudC5uYW1lX2JlZ2luKQogCQljdHguZnJvbV9pZGVudCA9ICZvcHQtPmZyb21faWRlbnQ7CiAJaWYgKG9wdC0+Z3JhcGgpCkBAIC03NzEsNyArNzcxLDcgQEAKIAkJb3B0cy51c2VfY29sb3IgPSBvcHQtPmRpZmZvcHQudXNlX2NvbG9yOwogCQlkaWZmX3NldHVwX2RvbmUoJm9wdHMpOwogCQlzaG93X3JhbmdlX2RpZmYob3B0LT5yZGlmZjEsIG9wdC0+cmRpZmYyLAotCQkJCW9wdC0+Y3JlYXRpb25fZmFjdG9yLCAxLCAmb3B0cyk7CisJCQkJb3B0LT5jcmVhdGlvbl9mYWN0b3IsIDEsICZvcHRzLCBOVUxMKTsKIAogCQltZW1jcHkoJmRpZmZfcXVldWVkX2RpZmYsICZkcSwgc2l6ZW9mKGRpZmZfcXVldWVkX2RpZmYpKTsKIAl9CmRpZmYgLS1naXQgYS9scy1yZWZzLmMgYi9scy1yZWZzLmMKaW5kZXggYTA2ZjEyZS4uODE4YWVmNyAxMDA2NDQKLS0tIGEvbHMtcmVmcy5jCisrKyBiL2xzLXJlZnMuYwpAQCAtNSw2ICs1LDcgQEAKICNpbmNsdWRlICJhcmd2LWFycmF5LmgiCiAjaW5jbHVkZSAibHMtcmVmcy5oIgogI2luY2x1ZGUgInBrdC1saW5lLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCiAKIC8qCiAgKiBDaGVjayBpZiBvbmUgb2YgdGhlIHByZWZpeGVzIGlzIGEgcHJlZml4IG9mIHRoZSByZWYuCkBAIC00MCw3ICs0MSwxMCBAQAogCWNvbnN0IGNoYXIgKnJlZm5hbWVfbm9ucyA9IHN0cmlwX25hbWVzcGFjZShyZWZuYW1lKTsKIAlzdHJ1Y3Qgc3RyYnVmIHJlZmxpbmUgPSBTVFJCVUZfSU5JVDsKIAotCWlmICghcmVmX21hdGNoKCZkYXRhLT5wcmVmaXhlcywgcmVmbmFtZSkpCisJaWYgKHJlZl9pc19oaWRkZW4ocmVmbmFtZV9ub25zLCByZWZuYW1lKSkKKwkJcmV0dXJuIDA7CisKKwlpZiAoIXJlZl9tYXRjaCgmZGF0YS0+cHJlZml4ZXMsIHJlZm5hbWVfbm9ucykpCiAJCXJldHVybiAwOwogCiAJc3RyYnVmX2FkZGYoJnJlZmxpbmUsICIlcyAlcyIsIG9pZF90b19oZXgob2lkKSwgcmVmbmFtZV9ub25zKTsKQEAgLTUzLDcgKzU3LDggQEAKIAkJaWYgKCFzeW1yZWZfdGFyZ2V0KQogCQkJZGllKCInJXMnIGlzIGEgc3ltcmVmIGJ1dCBpdCBpcyBub3Q/IiwgcmVmbmFtZSk7CiAKLQkJc3RyYnVmX2FkZGYoJnJlZmxpbmUsICIgc3ltcmVmLXRhcmdldDolcyIsIHN5bXJlZl90YXJnZXQpOworCQlzdHJidWZfYWRkZigmcmVmbGluZSwgIiBzeW1yZWYtdGFyZ2V0OiVzIiwKKwkJCSAgICBzdHJpcF9uYW1lc3BhY2Uoc3ltcmVmX3RhcmdldCkpOwogCX0KIAogCWlmIChkYXRhLT5wZWVsKSB7CkBAIC02OSw2ICs3NCwxNiBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGxzX3JlZnNfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmRhdGEpCit7CisJLyoKKwkgKiBXZSBvbmx5IHNlcnZlIGZldGNoZXMgb3ZlciB2MiBmb3Igbm93LCBzbyByZXNwZWN0IG9ubHkgInVwbG9hZHBhY2siCisJICogY29uZmlnLiBUaGlzIG1heSBuZWVkIHRvIGV2ZW50dWFsbHkgYmUgZXhwYW5kZWQgdG8gInJlY2VpdmUiLCBidXQgd2UKKwkgKiBkb24ndCB5ZXQga25vdyBob3cgdGhhdCBpbmZvcm1hdGlvbiB3aWxsIGJlIHBhc3NlZCB0byBscy1yZWZzLgorCSAqLworCXJldHVybiBwYXJzZV9oaWRlX3JlZnNfY29uZmlnKHZhciwgdmFsdWUsICJ1cGxvYWRwYWNrIik7Cit9CisKIGludCBsc19yZWZzKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3QgYXJndl9hcnJheSAqa2V5cywKIAkgICAgc3RydWN0IHBhY2tldF9yZWFkZXIgKnJlcXVlc3QpCiB7CkBAIC03Niw2ICs5MSw4IEBACiAKIAltZW1zZXQoJmRhdGEsIDAsIHNpemVvZihkYXRhKSk7CiAKKwlnaXRfY29uZmlnKGxzX3JlZnNfY29uZmlnLCBOVUxMKTsKKwogCXdoaWxlIChwYWNrZXRfcmVhZGVyX3JlYWQocmVxdWVzdCkgIT0gUEFDS0VUX1JFQURfRkxVU0gpIHsKIAkJY29uc3QgY2hhciAqYXJnID0gcmVxdWVzdC0+bGluZTsKIAkJY29uc3QgY2hhciAqb3V0OwpkaWZmIC0tZ2l0IGEvbHMtcmVmcy5oIGIvbHMtcmVmcy5oCmluZGV4IGI2Mjg3N2UuLjdlNTY0NmYgMTAwNjQ0Ci0tLSBhL2xzLXJlZnMuaAorKysgYi9scy1yZWZzLmgKQEAgLTQsNyArNCw3IEBACiBzdHJ1Y3QgcmVwb3NpdG9yeTsKIHN0cnVjdCBhcmd2X2FycmF5Owogc3RydWN0IHBhY2tldF9yZWFkZXI7Ci1leHRlcm4gaW50IGxzX3JlZnMoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBhcmd2X2FycmF5ICprZXlzLAotCQkgICBzdHJ1Y3QgcGFja2V0X3JlYWRlciAqcmVxdWVzdCk7CitpbnQgbHNfcmVmcyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IGFyZ3ZfYXJyYXkgKmtleXMsCisJICAgIHN0cnVjdCBwYWNrZXRfcmVhZGVyICpyZXF1ZXN0KTsKIAogI2VuZGlmIC8qIExTX1JFRlNfSCAqLwpkaWZmIC0tZ2l0IGEvbWFpbGluZm8uYyBiL21haWxpbmZvLmMKaW5kZXggYjM5NWFkYi4uNzQyZmEzNyAxMDA2NDQKLS0tIGEvbWFpbGluZm8uYworKysgYi9tYWlsaW5mby5jCkBAIC0xOSw4ICsxOSw3IEBACiBzdGF0aWMgdm9pZCBnZXRfc2FuZV9uYW1lKHN0cnVjdCBzdHJidWYgKm91dCwgc3RydWN0IHN0cmJ1ZiAqbmFtZSwgc3RydWN0IHN0cmJ1ZiAqZW1haWwpCiB7CiAJc3RydWN0IHN0cmJ1ZiAqc3JjID0gbmFtZTsKLQlpZiAobmFtZS0+bGVuIDwgMyB8fCA2MCA8IG5hbWUtPmxlbiB8fCBzdHJjaHIobmFtZS0+YnVmLCAnQCcpIHx8Ci0JCXN0cmNocihuYW1lLT5idWYsICc8JykgfHwgc3RyY2hyKG5hbWUtPmJ1ZiwgJz4nKSkKKwlpZiAobmFtZS0+bGVuIDwgMyB8fCA2MCA8IG5hbWUtPmxlbiB8fCBzdHJwYnJrKG5hbWUtPmJ1ZiwgIkA8PiIpKQogCQlzcmMgPSBlbWFpbDsKIAllbHNlIGlmIChuYW1lID09IG91dCkKIAkJcmV0dXJuOwpAQCAtMjU0LDcgKzI1Myw3IEBACiAJbWktPmRlbHNwID0gaGFzX2F0dHJfdmFsdWUobGluZS0+YnVmLCAiZGVsc3A9IiwgInllcyIpOwogCiAJaWYgKHNsdXJwX2F0dHIobGluZS0+YnVmLCAiYm91bmRhcnk9IiwgYm91bmRhcnkpKSB7Ci0JCXN0cmJ1Zl9pbnNlcnQoYm91bmRhcnksIDAsICItLSIsIDIpOworCQlzdHJidWZfaW5zZXJ0c3RyKGJvdW5kYXJ5LCAwLCAiLS0iKTsKIAkJaWYgKCsrbWktPmNvbnRlbnRfdG9wID49ICZtaS0+Y29udGVudFtNQVhfQk9VTkRBUklFU10pIHsKIAkJCWVycm9yKCJUb28gbWFueSBib3VuZGFyaWVzIHRvIGhhbmRsZSIpOwogCQkJbWktPmlucHV0X2Vycm9yID0gLTE7CkBAIC0zNDYsMTEgKzM0NSwxNyBAQAogCSJGcm9tIiwiU3ViamVjdCIsIkRhdGUiLAogfTsKIAotc3RhdGljIGlubGluZSBpbnQgY21wX2hlYWRlcihjb25zdCBzdHJ1Y3Qgc3RyYnVmICpsaW5lLCBjb25zdCBjaGFyICpoZHIpCitzdGF0aWMgaW5saW5lIGludCBza2lwX2hlYWRlcihjb25zdCBzdHJ1Y3Qgc3RyYnVmICpsaW5lLCBjb25zdCBjaGFyICpoZHIsCisJCQkgICAgICBjb25zdCBjaGFyICoqb3V0dmFsKQogewotCWludCBsZW4gPSBzdHJsZW4oaGRyKTsKLQlyZXR1cm4gIXN0cm5jYXNlY21wKGxpbmUtPmJ1ZiwgaGRyLCBsZW4pICYmIGxpbmUtPmxlbiA+IGxlbiAmJgotCQkJbGluZS0+YnVmW2xlbl0gPT0gJzonICYmIGlzc3BhY2UobGluZS0+YnVmW2xlbiArIDFdKTsKKwljb25zdCBjaGFyICp2YWw7CisJaWYgKCFza2lwX2lwcmVmaXgobGluZS0+YnVmLCBoZHIsICZ2YWwpIHx8CisJICAgICp2YWwrKyAhPSAnOicpCisJCXJldHVybiAwOworCXdoaWxlIChpc3NwYWNlKCp2YWwpKQorCQl2YWwrKzsKKwkqb3V0dmFsID0gdmFsOworCXJldHVybiAxOwogfQogCiBzdGF0aWMgaW50IGlzX2Zvcm1hdF9wYXRjaF9zZXBhcmF0b3IoY29uc3QgY2hhciAqbGluZSwgaW50IGxlbikKQEAgLTU0MywyMiArNTQ4LDM2IEBACiAJCW1pLT5pbnB1dF9lcnJvciA9IC0xOwogfQogCisvKgorICogUmV0dXJucyB0cnVlIGlmICJsaW5lIiBjb250YWlucyBhIGhlYWRlciBtYXRjaGluZyAiaGRyIiwgaW4gd2hpY2ggY2FzZSAidmFsIgorICogd2lsbCBjb250YWluIHRoZSB2YWx1ZSBvZiB0aGUgaGVhZGVyIHdpdGggYW55IFJGQzIwNDcgQiBhbmQgUSBlbmNvZGluZworICogdW53cmFwcGVkLCBhbmQgb3B0aW9uYWxseSBub3JtYWxpemUgdGhlIG1ldGEgaW5mb3JtYXRpb24gdG8gdXRmOC4KKyAqLworc3RhdGljIGludCBwYXJzZV9oZWFkZXIoY29uc3Qgc3RydWN0IHN0cmJ1ZiAqbGluZSwKKwkJCWNvbnN0IGNoYXIgKmhkciwKKwkJCXN0cnVjdCBtYWlsaW5mbyAqbWksCisJCQlzdHJ1Y3Qgc3RyYnVmICp2YWwpCit7CisJY29uc3QgY2hhciAqdmFsX3N0cjsKKworCWlmICghc2tpcF9oZWFkZXIobGluZSwgaGRyLCAmdmFsX3N0cikpCisJCXJldHVybiAwOworCXN0cmJ1Zl9hZGRzdHIodmFsLCB2YWxfc3RyKTsKKwlkZWNvZGVfaGVhZGVyKG1pLCB2YWwpOworCXJldHVybiAxOworfQorCiBzdGF0aWMgaW50IGNoZWNrX2hlYWRlcihzdHJ1Y3QgbWFpbGluZm8gKm1pLAogCQkJY29uc3Qgc3RydWN0IHN0cmJ1ZiAqbGluZSwKIAkJCXN0cnVjdCBzdHJidWYgKmhkcl9kYXRhW10sIGludCBvdmVyd3JpdGUpCiB7Ci0JaW50IGksIHJldCA9IDAsIGxlbjsKKwlpbnQgaSwgcmV0ID0gMDsKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAKIAkvKiBzZWFyY2ggZm9yIHRoZSBpbnRlcmVzdGluZyBwYXJ0cyAqLwogCWZvciAoaSA9IDA7IGhlYWRlcltpXTsgaSsrKSB7Ci0JCWludCBsZW4gPSBzdHJsZW4oaGVhZGVyW2ldKTsKLQkJaWYgKCghaGRyX2RhdGFbaV0gfHwgb3ZlcndyaXRlKSAmJiBjbXBfaGVhZGVyKGxpbmUsIGhlYWRlcltpXSkpIHsKLQkJCS8qIFVud3JhcCBpbmxpbmUgQiBhbmQgUSBlbmNvZGluZywgYW5kIG9wdGlvbmFsbHkKLQkJCSAqIG5vcm1hbGl6ZSB0aGUgbWV0YSBpbmZvcm1hdGlvbiB0byB1dGY4LgotCQkJICovCi0JCQlzdHJidWZfYWRkKCZzYiwgbGluZS0+YnVmICsgbGVuICsgMiwgbGluZS0+bGVuIC0gbGVuIC0gMik7Ci0JCQlkZWNvZGVfaGVhZGVyKG1pLCAmc2IpOworCQlpZiAoKCFoZHJfZGF0YVtpXSB8fCBvdmVyd3JpdGUpICYmCisJCSAgICBwYXJzZV9oZWFkZXIobGluZSwgaGVhZGVyW2ldLCBtaSwgJnNiKSkgewogCQkJaGFuZGxlX2hlYWRlcigmaGRyX2RhdGFbaV0sICZzYik7CiAJCQlyZXQgPSAxOwogCQkJZ290byBjaGVja19oZWFkZXJfb3V0OwpAQCAtNTY2LDI3ICs1ODUsMTcgQEAKIAl9CiAKIAkvKiBDb250ZW50IHN0dWZmICovCi0JaWYgKGNtcF9oZWFkZXIobGluZSwgIkNvbnRlbnQtVHlwZSIpKSB7Ci0JCWxlbiA9IHN0cmxlbigiQ29udGVudC1UeXBlOiAiKTsKLQkJc3RyYnVmX2FkZCgmc2IsIGxpbmUtPmJ1ZiArIGxlbiwgbGluZS0+bGVuIC0gbGVuKTsKLQkJZGVjb2RlX2hlYWRlcihtaSwgJnNiKTsKLQkJc3RyYnVmX2luc2VydCgmc2IsIDAsICJDb250ZW50LVR5cGU6ICIsIGxlbik7CisJaWYgKHBhcnNlX2hlYWRlcihsaW5lLCAiQ29udGVudC1UeXBlIiwgbWksICZzYikpIHsKIAkJaGFuZGxlX2NvbnRlbnRfdHlwZShtaSwgJnNiKTsKIAkJcmV0ID0gMTsKIAkJZ290byBjaGVja19oZWFkZXJfb3V0OwogCX0KLQlpZiAoY21wX2hlYWRlcihsaW5lLCAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZyIpKSB7Ci0JCWxlbiA9IHN0cmxlbigiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogIik7Ci0JCXN0cmJ1Zl9hZGQoJnNiLCBsaW5lLT5idWYgKyBsZW4sIGxpbmUtPmxlbiAtIGxlbik7Ci0JCWRlY29kZV9oZWFkZXIobWksICZzYik7CisJaWYgKHBhcnNlX2hlYWRlcihsaW5lLCAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZyIsIG1pLCAmc2IpKSB7CiAJCWhhbmRsZV9jb250ZW50X3RyYW5zZmVyX2VuY29kaW5nKG1pLCAmc2IpOwogCQlyZXQgPSAxOwogCQlnb3RvIGNoZWNrX2hlYWRlcl9vdXQ7CiAJfQotCWlmIChjbXBfaGVhZGVyKGxpbmUsICJNZXNzYWdlLUlkIikpIHsKLQkJbGVuID0gc3RybGVuKCJNZXNzYWdlLUlkOiAiKTsKLQkJc3RyYnVmX2FkZCgmc2IsIGxpbmUtPmJ1ZiArIGxlbiwgbGluZS0+bGVuIC0gbGVuKTsKLQkJZGVjb2RlX2hlYWRlcihtaSwgJnNiKTsKKwlpZiAocGFyc2VfaGVhZGVyKGxpbmUsICJNZXNzYWdlLUlkIiwgbWksICZzYikpIHsKIAkJaWYgKG1pLT5hZGRfbWVzc2FnZV9pZCkKIAkJCW1pLT5tZXNzYWdlX2lkID0gc3RyYnVmX2RldGFjaCgmc2IsIE5VTEwpOwogCQlyZXQgPSAxOwpAQCAtNjA3LDggKzYxNiw5IEBACiAJCQkgICAgY29uc3Qgc3RydWN0IHN0cmJ1ZiAqbGluZSkKIHsKIAlpbnQgaTsKKwljb25zdCBjaGFyICp2YWw7CiAJZm9yIChpID0gMDsgaGVhZGVyW2ldOyBpKyspCi0JCWlmICghbWktPnNfaGRyX2RhdGFbaV0gJiYgY21wX2hlYWRlcihsaW5lLCBoZWFkZXJbaV0pKQorCQlpZiAoIW1pLT5zX2hkcl9kYXRhW2ldICYmIHNraXBfaGVhZGVyKGxpbmUsIGhlYWRlcltpXSwgJnZhbCkpCiAJCQlyZXR1cm4gMTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL21haWxpbmZvLmggYi9tYWlsaW5mby5oCmluZGV4IDY4MzBlMWUuLjc5YjFkNjcgMTAwNjQ0Ci0tLSBhL21haWxpbmZvLmgKKysrIGIvbWFpbGluZm8uaApAQCAtMzksOCArMzksOCBAQAogCWludCBpbnB1dF9lcnJvcjsKIH07CiAKLWV4dGVybiB2b2lkIHNldHVwX21haWxpbmZvKHN0cnVjdCBtYWlsaW5mbyAqKTsKLWV4dGVybiBpbnQgbWFpbGluZm8oc3RydWN0IG1haWxpbmZvICosIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgY2hhciAqcGF0Y2gpOwotZXh0ZXJuIHZvaWQgY2xlYXJfbWFpbGluZm8oc3RydWN0IG1haWxpbmZvICopOwordm9pZCBzZXR1cF9tYWlsaW5mbyhzdHJ1Y3QgbWFpbGluZm8gKik7CitpbnQgbWFpbGluZm8oc3RydWN0IG1haWxpbmZvICosIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgY2hhciAqcGF0Y2gpOwordm9pZCBjbGVhcl9tYWlsaW5mbyhzdHJ1Y3QgbWFpbGluZm8gKik7CiAKICNlbmRpZiAvKiBNQUlMSU5GT19IICovCmRpZmYgLS1naXQgYS9tYXRjaC10cmVlcy5jIGIvbWF0Y2gtdHJlZXMuYwppbmRleCAyYjZkMzFlLi5mNmMxOTRjIDEwMDY0NAotLS0gYS9tYXRjaC10cmVlcy5jCisrKyBiL21hdGNoLXRyZWVzLmMKQEAgLTMsNyArMyw3IEBACiAjaW5jbHVkZSAidHJlZS13YWxrLmgiCiAjaW5jbHVkZSAib2JqZWN0LXN0b3JlLmgiCiAKLXN0YXRpYyBpbnQgc2NvcmVfbWlzc2luZyh1bnNpZ25lZCBtb2RlLCBjb25zdCBjaGFyICpwYXRoKQorc3RhdGljIGludCBzY29yZV9taXNzaW5nKHVuc2lnbmVkIG1vZGUpCiB7CiAJaW50IHNjb3JlOwogCkBAIC0xNiw3ICsxNiw3IEBACiAJcmV0dXJuIHNjb3JlOwogfQogCi1zdGF0aWMgaW50IHNjb3JlX2RpZmZlcnModW5zaWduZWQgbW9kZTEsIHVuc2lnbmVkIG1vZGUyLCBjb25zdCBjaGFyICpwYXRoKQorc3RhdGljIGludCBzY29yZV9kaWZmZXJzKHVuc2lnbmVkIG1vZGUxLCB1bnNpZ25lZCBtb2RlMikKIHsKIAlpbnQgc2NvcmU7CiAKQEAgLTI5LDcgKzI5LDcgQEAKIAlyZXR1cm4gc2NvcmU7CiB9CiAKLXN0YXRpYyBpbnQgc2NvcmVfbWF0Y2hlcyh1bnNpZ25lZCBtb2RlMSwgdW5zaWduZWQgbW9kZTIsIGNvbnN0IGNoYXIgKnBhdGgpCitzdGF0aWMgaW50IHNjb3JlX21hdGNoZXModW5zaWduZWQgbW9kZTEsIHVuc2lnbmVkIG1vZGUyKQogewogCWludCBzY29yZTsKIApAQCAtOTgsMjQgKzk4LDIyIEBACiAKIAkJaWYgKGNtcCA8IDApIHsKIAkJCS8qIHBhdGgxIGRvZXMgbm90IGFwcGVhciBpbiB0d28gKi8KLQkJCXNjb3JlICs9IHNjb3JlX21pc3Npbmcob25lLmVudHJ5Lm1vZGUsIG9uZS5lbnRyeS5wYXRoKTsKKwkJCXNjb3JlICs9IHNjb3JlX21pc3Npbmcob25lLmVudHJ5Lm1vZGUpOwogCQkJdXBkYXRlX3RyZWVfZW50cnkoJm9uZSk7CiAJCX0gZWxzZSBpZiAoY21wID4gMCkgewogCQkJLyogcGF0aDIgZG9lcyBub3QgYXBwZWFyIGluIG9uZSAqLwotCQkJc2NvcmUgKz0gc2NvcmVfbWlzc2luZyh0d28uZW50cnkubW9kZSwgdHdvLmVudHJ5LnBhdGgpOworCQkJc2NvcmUgKz0gc2NvcmVfbWlzc2luZyh0d28uZW50cnkubW9kZSk7CiAJCQl1cGRhdGVfdHJlZV9lbnRyeSgmdHdvKTsKIAkJfSBlbHNlIHsKIAkJCS8qIHBhdGggYXBwZWFycyBpbiBib3RoICovCi0JCQlpZiAoIW9pZGVxKG9uZS5lbnRyeS5vaWQsIHR3by5lbnRyeS5vaWQpKSB7CisJCQlpZiAoIW9pZGVxKCZvbmUuZW50cnkub2lkLCAmdHdvLmVudHJ5Lm9pZCkpIHsKIAkJCQkvKiB0aGV5IGFyZSBkaWZmZXJlbnQgKi8KIAkJCQlzY29yZSArPSBzY29yZV9kaWZmZXJzKG9uZS5lbnRyeS5tb2RlLAotCQkJCQkJICAgICAgIHR3by5lbnRyeS5tb2RlLAotCQkJCQkJICAgICAgIG9uZS5lbnRyeS5wYXRoKTsKKwkJCQkJCSAgICAgICB0d28uZW50cnkubW9kZSk7CiAJCQl9IGVsc2UgewogCQkJCS8qIHNhbWUgc3VidHJlZSBvciBibG9iICovCiAJCQkJc2NvcmUgKz0gc2NvcmVfbWF0Y2hlcyhvbmUuZW50cnkubW9kZSwKLQkJCQkJCSAgICAgICB0d28uZW50cnkubW9kZSwKLQkJCQkJCSAgICAgICBvbmUuZW50cnkucGF0aCk7CisJCQkJCQkgICAgICAgdHdvLmVudHJ5Lm1vZGUpOwogCQkJfQogCQkJdXBkYXRlX3RyZWVfZW50cnkoJm9uZSk7CiAJCQl1cGRhdGVfdHJlZV9lbnRyeSgmdHdvKTsKQEAgLTE0Miw3ICsxNDAsNyBAQAogCXdoaWxlIChvbmUuc2l6ZSkgewogCQljb25zdCBjaGFyICpwYXRoOwogCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICplbGVtOwotCQl1bnNpZ25lZCBtb2RlOworCQl1bnNpZ25lZCBzaG9ydCBtb2RlOwogCQlpbnQgc2NvcmU7CiAKIAkJZWxlbSA9IHRyZWVfZW50cnlfZXh0cmFjdCgmb25lLCAmcGF0aCwgJm1vZGUpOwpAQCAtMTc5LDcgKzE3Nyw3IEBACiAJY2hhciAqYnVmOwogCXVuc2lnbmVkIGxvbmcgc3o7CiAJc3RydWN0IHRyZWVfZGVzYyBkZXNjOwotCXN0cnVjdCBvYmplY3RfaWQgKnJld3JpdGVfaGVyZTsKKwl1bnNpZ25lZCBjaGFyICpyZXdyaXRlX2hlcmU7CiAJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqcmV3cml0ZV93aXRoOwogCXN0cnVjdCBvYmplY3RfaWQgc3VidHJlZTsKIAllbnVtIG9iamVjdF90eXBlIHR5cGU7CkBAIC0xOTgsMTYgKzE5NiwyNyBAQAogCXJld3JpdGVfaGVyZSA9IE5VTEw7CiAJd2hpbGUgKGRlc2Muc2l6ZSkgewogCQljb25zdCBjaGFyICpuYW1lOwotCQl1bnNpZ25lZCBtb2RlOwotCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQ7CisJCXVuc2lnbmVkIHNob3J0IG1vZGU7CiAKLQkJb2lkID0gdHJlZV9lbnRyeV9leHRyYWN0KCZkZXNjLCAmbmFtZSwgJm1vZGUpOworCQl0cmVlX2VudHJ5X2V4dHJhY3QoJmRlc2MsICZuYW1lLCAmbW9kZSk7CiAJCWlmIChzdHJsZW4obmFtZSkgPT0gdG9wbGVuICYmCiAJCSAgICAhbWVtY21wKG5hbWUsIHByZWZpeCwgdG9wbGVuKSkgewogCQkJaWYgKCFTX0lTRElSKG1vZGUpKQogCQkJCWRpZSgiZW50cnkgJXMgaW4gdHJlZSAlcyBpcyBub3QgYSB0cmVlIiwgbmFtZSwKIAkJCQkgICAgb2lkX3RvX2hleChvaWQxKSk7Ci0JCQlyZXdyaXRlX2hlcmUgPSAoc3RydWN0IG9iamVjdF9pZCAqKW9pZDsKKworCQkJLyoKKwkJCSAqIFdlIGNhc3QgaGVyZSBmb3IgdHdvIHJlYXNvbnM6CisJCQkgKgorCQkJICogICAtIHRvIGZsaXAgdGhlICJjaGFyICoiIChmb3IgdGhlIHBhdGgpIHRvICJ1bnNpZ25lZAorCQkJICogICAgIGNoYXIgKiIgKGZvciB0aGUgaGFzaCBzdG9yZWQgYWZ0ZXIgaXQpCisJCQkgKgorCQkJICogICAtIHRvIGRpc2NhcmQgdGhlICJjb25zdCI7IHRoaXMgaXMgT0sgYmVjYXVzZSB3ZQorCQkJICogICAgIGtub3cgaXQgcG9pbnRzIGludG8gb3VyIG5vbi1jb25zdCAiYnVmIgorCQkJICovCisJCQlyZXdyaXRlX2hlcmUgPSAodW5zaWduZWQgY2hhciAqKShkZXNjLmVudHJ5LnBhdGggKworCQkJCQkJCSBzdHJsZW4oZGVzYy5lbnRyeS5wYXRoKSArCisJCQkJCQkJIDEpOwogCQkJYnJlYWs7CiAJCX0KIAkJdXBkYXRlX3RyZWVfZW50cnkoJmRlc2MpOwpAQCAtMjE2LDE0ICsyMjUsMTYgQEAKIAkJZGllKCJlbnRyeSAlLipzIG5vdCBmb3VuZCBpbiB0cmVlICVzIiwgdG9wbGVuLCBwcmVmaXgsCiAJCSAgICBvaWRfdG9faGV4KG9pZDEpKTsKIAlpZiAoKnN1YnBhdGgpIHsKLQkJc3RhdHVzID0gc3BsaWNlX3RyZWUocmV3cml0ZV9oZXJlLCBzdWJwYXRoLCBvaWQyLCAmc3VidHJlZSk7CisJCXN0cnVjdCBvYmplY3RfaWQgdHJlZV9vaWQ7CisJCWhhc2hjcHkodHJlZV9vaWQuaGFzaCwgcmV3cml0ZV9oZXJlKTsKKwkJc3RhdHVzID0gc3BsaWNlX3RyZWUoJnRyZWVfb2lkLCBzdWJwYXRoLCBvaWQyLCAmc3VidHJlZSk7CiAJCWlmIChzdGF0dXMpCiAJCQlyZXR1cm4gc3RhdHVzOwogCQlyZXdyaXRlX3dpdGggPSAmc3VidHJlZTsKIAl9IGVsc2UgewogCQlyZXdyaXRlX3dpdGggPSBvaWQyOwogCX0KLQlvaWRjcHkocmV3cml0ZV9oZXJlLCByZXdyaXRlX3dpdGgpOworCWhhc2hjcHkocmV3cml0ZV9oZXJlLCByZXdyaXRlX3dpdGgtPmhhc2gpOwogCXN0YXR1cyA9IHdyaXRlX29iamVjdF9maWxlKGJ1Ziwgc3osIHRyZWVfdHlwZSwgcmVzdWx0KTsKIAlmcmVlKGJ1Zik7CiAJcmV0dXJuIHN0YXR1czsKQEAgLTIzNyw3ICsyNDgsOCBAQAogICogb3RoZXIgaGFuZCwgaXQgY291bGQgY292ZXIgdHJlZSBvbmUgYW5kIHdlIG1pZ2h0IG5lZWQgdG8gcGljayBhCiAgKiBzdWJ0cmVlIG9mIGl0LgogICovCi12b2lkIHNoaWZ0X3RyZWUoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqaGFzaDEsCit2b2lkIHNoaWZ0X3RyZWUoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmhhc2gxLAogCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpoYXNoMiwKIAkJc3RydWN0IG9iamVjdF9pZCAqc2hpZnRlZCwKIAkJaW50IGRlcHRoX2xpbWl0KQpAQCAtMjc0LDEyICsyODYsMTIgQEAKIAogCWlmIChhZGRfc2NvcmUgPCBkZWxfc2NvcmUpIHsKIAkJLyogV2UgbmVlZCB0byBwaWNrIGEgc3VidHJlZSBvZiB0d28gKi8KLQkJdW5zaWduZWQgbW9kZTsKKwkJdW5zaWduZWQgc2hvcnQgbW9kZTsKIAogCQlpZiAoISpkZWxfcHJlZml4KQogCQkJcmV0dXJuOwogCi0JCWlmIChnZXRfdHJlZV9lbnRyeShoYXNoMiwgZGVsX3ByZWZpeCwgc2hpZnRlZCwgJm1vZGUpKQorCQlpZiAoZ2V0X3RyZWVfZW50cnkociwgaGFzaDIsIGRlbF9wcmVmaXgsIHNoaWZ0ZWQsICZtb2RlKSkKIAkJCWRpZSgiY2Fubm90IGZpbmQgcGF0aCAlcyBpbiB0cmVlICVzIiwKIAkJCSAgICBkZWxfcHJlZml4LCBvaWRfdG9faGV4KGhhc2gyKSk7CiAJCXJldHVybjsKQEAgLTI5NiwyMiArMzA4LDIzIEBACiAgKiBVbmZvcnR1bmF0ZWx5IHdlIGNhbm5vdCBmdW5kYW1lbnRhbGx5IHRlbGwgd2hpY2ggb25lIHRvCiAgKiBiZSBwcmVmaXhlZCwgYXMgcmVjdXJzaXZlIG1lcmdlIGNhbiB3b3JrIGluIGVpdGhlciBkaXJlY3Rpb24uCiAgKi8KLXZvaWQgc2hpZnRfdHJlZV9ieShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpoYXNoMSwKK3ZvaWQgc2hpZnRfdHJlZV9ieShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqaGFzaDEsCiAJCSAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmhhc2gyLAogCQkgICBzdHJ1Y3Qgb2JqZWN0X2lkICpzaGlmdGVkLAogCQkgICBjb25zdCBjaGFyICpzaGlmdF9wcmVmaXgpCiB7CiAJc3RydWN0IG9iamVjdF9pZCBzdWIxLCBzdWIyOwotCXVuc2lnbmVkIG1vZGUxLCBtb2RlMjsKKwl1bnNpZ25lZCBzaG9ydCBtb2RlMSwgbW9kZTI7CiAJdW5zaWduZWQgY2FuZGlkYXRlID0gMDsKIAogCS8qIENhbiBoYXNoMiBiZSBhIHRyZWUgYXQgc2hpZnRfcHJlZml4IGluIHRyZWUgaGFzaDE/ICovCi0JaWYgKCFnZXRfdHJlZV9lbnRyeShoYXNoMSwgc2hpZnRfcHJlZml4LCAmc3ViMSwgJm1vZGUxKSAmJgorCWlmICghZ2V0X3RyZWVfZW50cnkociwgaGFzaDEsIHNoaWZ0X3ByZWZpeCwgJnN1YjEsICZtb2RlMSkgJiYKIAkgICAgU19JU0RJUihtb2RlMSkpCiAJCWNhbmRpZGF0ZSB8PSAxOwogCiAJLyogQ2FuIGhhc2gxIGJlIGEgdHJlZSBhdCBzaGlmdF9wcmVmaXggaW4gdHJlZSBoYXNoMj8gKi8KLQlpZiAoIWdldF90cmVlX2VudHJ5KGhhc2gyLCBzaGlmdF9wcmVmaXgsICZzdWIyLCAmbW9kZTIpICYmCisJaWYgKCFnZXRfdHJlZV9lbnRyeShyLCBoYXNoMiwgc2hpZnRfcHJlZml4LCAmc3ViMiwgJm1vZGUyKSAmJgogCSAgICBTX0lTRElSKG1vZGUyKSkKIAkJY2FuZGlkYXRlIHw9IDI7CiAKZGlmZiAtLWdpdCBhL21lcmdlLWJsb2JzLmggYi9tZXJnZS1ibG9icy5oCmluZGV4IGNjMzEwMzguLjEzY2Y5NjYgMTAwNjQ0Ci0tLSBhL21lcmdlLWJsb2JzLmgKKysrIGIvbWVyZ2UtYmxvYnMuaApAQCAtNCw4ICs0LDggQEAKIHN0cnVjdCBibG9iOwogc3RydWN0IGluZGV4X3N0YXRlOwogCi1leHRlcm4gdm9pZCAqbWVyZ2VfYmxvYnMoc3RydWN0IGluZGV4X3N0YXRlICosIGNvbnN0IGNoYXIgKiwKLQkJCSBzdHJ1Y3QgYmxvYiAqLCBzdHJ1Y3QgYmxvYiAqLAotCQkJIHN0cnVjdCBibG9iICosIHVuc2lnbmVkIGxvbmcgKik7Cit2b2lkICptZXJnZV9ibG9icyhzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgY29uc3QgY2hhciAqLAorCQkgIHN0cnVjdCBibG9iICosIHN0cnVjdCBibG9iICosCisJCSAgc3RydWN0IGJsb2IgKiwgdW5zaWduZWQgbG9uZyAqKTsKIAogI2VuZGlmIC8qIE1FUkdFX0JMT0JTX0ggKi8KZGlmZiAtLWdpdCBhL21lcmdlLXJlY3Vyc2l2ZS5jIGIvbWVyZ2UtcmVjdXJzaXZlLmMKaW5kZXggYWNjMmY2NC4uN2E0ZTZmMiAxMDA2NDQKLS0tIGEvbWVyZ2UtcmVjdXJzaXZlLmMKKysrIGIvbWVyZ2UtcmVjdXJzaXZlLmMKQEAgLTQsMzAgKzQsNDAgQEAKICAqIFRoZSB0aGlldmVzIHdlcmUgQWxleCBSaWVzZW4gYW5kIEpvaGFubmVzIFNjaGluZGVsaW4sIGluIEp1bmUvSnVseSAyMDA2CiAgKi8KICNpbmNsdWRlICJjYWNoZS5oIgotI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIm1lcmdlLXJlY3Vyc2l2ZS5oIgorCiAjaW5jbHVkZSAiYWR2aWNlLmgiCi0jaW5jbHVkZSAibG9ja2ZpbGUuaCIKLSNpbmNsdWRlICJjYWNoZS10cmVlLmgiCi0jaW5jbHVkZSAib2JqZWN0LXN0b3JlLmgiCi0jaW5jbHVkZSAicmVwb3NpdG9yeS5oIgotI2luY2x1ZGUgImNvbW1pdC5oIgorI2luY2x1ZGUgImFsbG9jLmgiCisjaW5jbHVkZSAiYXR0ci5oIgogI2luY2x1ZGUgImJsb2IuaCIKICNpbmNsdWRlICJidWlsdGluLmgiCi0jaW5jbHVkZSAidHJlZS13YWxrLmgiCisjaW5jbHVkZSAiY2FjaGUtdHJlZS5oIgorI2luY2x1ZGUgImNvbW1pdC5oIgorI2luY2x1ZGUgImNvbW1pdC1yZWFjaC5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImRpZmYuaCIKICNpbmNsdWRlICJkaWZmY29yZS5oIgotI2luY2x1ZGUgInRhZy5oIgotI2luY2x1ZGUgImFsbG9jLmgiCi0jaW5jbHVkZSAidW5wYWNrLXRyZWVzLmgiCi0jaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKLSNpbmNsdWRlICJ4ZGlmZi1pbnRlcmZhY2UuaCIKLSNpbmNsdWRlICJsbC1tZXJnZS5oIgotI2luY2x1ZGUgImF0dHIuaCIKLSNpbmNsdWRlICJtZXJnZS1yZWN1cnNpdmUuaCIKICNpbmNsdWRlICJkaXIuaCIKLSNpbmNsdWRlICJzdWJtb2R1bGUuaCIKKyNpbmNsdWRlICJsbC1tZXJnZS5oIgorI2luY2x1ZGUgImxvY2tmaWxlLmgiCisjaW5jbHVkZSAib2JqZWN0LXN0b3JlLmgiCisjaW5jbHVkZSAicmVwb3NpdG9yeS5oIgogI2luY2x1ZGUgInJldmlzaW9uLmgiCi0jaW5jbHVkZSAiY29tbWl0LXJlYWNoLmgiCisjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKKyNpbmNsdWRlICJzdWJtb2R1bGUuaCIKKyNpbmNsdWRlICJ0YWcuaCIKKyNpbmNsdWRlICJ0cmVlLXdhbGsuaCIKKyNpbmNsdWRlICJ1bnBhY2stdHJlZXMuaCIKKyNpbmNsdWRlICJ4ZGlmZi1pbnRlcmZhY2UuaCIKKworc3RydWN0IG1lcmdlX29wdGlvbnNfaW50ZXJuYWwgeworCWludCBjYWxsX2RlcHRoOworCWludCBuZWVkZWRfcmVuYW1lX2xpbWl0OworCXN0cnVjdCBoYXNobWFwIGN1cnJlbnRfZmlsZV9kaXJfc2V0OworCXN0cnVjdCBzdHJpbmdfbGlzdCBkZl9jb25mbGljdF9maWxlX3NldDsKKwlzdHJ1Y3QgdW5wYWNrX3RyZWVzX29wdGlvbnMgdW5wYWNrX29wdHM7CisJc3RydWN0IGluZGV4X3N0YXRlIG9yaWdfaW5kZXg7Cit9OwogCiBzdHJ1Y3QgcGF0aF9oYXNobWFwX2VudHJ5IHsKIAlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSBlOwpAQCAtMzUsMTQgKzQ1LDE2IEBACiB9OwogCiBzdGF0aWMgaW50IHBhdGhfaGFzaG1hcF9jbXAoY29uc3Qgdm9pZCAqY21wX2RhdGEsCi0JCQkgICAgY29uc3Qgdm9pZCAqZW50cnksCi0JCQkgICAgY29uc3Qgdm9pZCAqZW50cnlfb3Jfa2V5LAorCQkJICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplcHRyLAorCQkJICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeV9vcl9rZXksCiAJCQkgICAgY29uc3Qgdm9pZCAqa2V5ZGF0YSkKIHsKLQljb25zdCBzdHJ1Y3QgcGF0aF9oYXNobWFwX2VudHJ5ICphID0gZW50cnk7Ci0JY29uc3Qgc3RydWN0IHBhdGhfaGFzaG1hcF9lbnRyeSAqYiA9IGVudHJ5X29yX2tleTsKKwljb25zdCBzdHJ1Y3QgcGF0aF9oYXNobWFwX2VudHJ5ICphLCAqYjsKIAljb25zdCBjaGFyICprZXkgPSBrZXlkYXRhOwogCisJYSA9IGNvbnRhaW5lcl9vZihlcHRyLCBjb25zdCBzdHJ1Y3QgcGF0aF9oYXNobWFwX2VudHJ5LCBlKTsKKwliID0gY29udGFpbmVyX29mKGVudHJ5X29yX2tleSwgY29uc3Qgc3RydWN0IHBhdGhfaGFzaG1hcF9lbnRyeSwgZSk7CisKIAlpZiAoaWdub3JlX2Nhc2UpCiAJCXJldHVybiBzdHJjYXNlY21wKGEtPnBhdGgsIGtleSA/IGtleSA6IGItPnBhdGgpOwogCWVsc2UKQEAgLTU0LDYgKzY2LDI0IEBACiAJcmV0dXJuIGlnbm9yZV9jYXNlID8gc3RyaWhhc2gocGF0aCkgOiBzdHJoYXNoKHBhdGgpOwogfQogCisvKgorICogRm9yIGRpcl9yZW5hbWVfZW50cnksIGRpcmVjdG9yeSBuYW1lcyBhcmUgc3RvcmVkIGFzIGEgZnVsbCBwYXRoIGZyb20gdGhlCisgKiB0b3BsZXZlbCBvZiB0aGUgcmVwb3NpdG9yeSBhbmQgZG8gbm90IGluY2x1ZGUgYSB0cmFpbGluZyAnLycuICBBbHNvOgorICoKKyAqICAgZGlyOiAgICAgICAgICAgICAgICBvcmlnaW5hbCBuYW1lIG9mIGRpcmVjdG9yeSBiZWluZyByZW5hbWVkCisgKiAgIG5vbl91bmlxdWVfbmV3X2RpcjogaWYgdHJ1ZSwgY291bGQgbm90IGRldGVybWluZSBuZXdfZGlyCisgKiAgIG5ld19kaXI6ICAgICAgICAgICAgZmluYWwgbmFtZSBvZiBkaXJlY3RvcnkgYmVpbmcgcmVuYW1lZAorICogICBwb3NzaWJsZV9uZXdfZGlyczogIHRlbXBvcmFyeSB1c2VkIHRvIGhlbHAgZGV0ZXJtaW5lIG5ld19kaXI7IHNlZSBjb21tZW50cworICogICAgICAgICAgICAgICAgICAgICAgIGluIGdldF9kaXJlY3RvcnlfcmVuYW1lcygpIGZvciBkZXRhaWxzCisgKi8KK3N0cnVjdCBkaXJfcmVuYW1lX2VudHJ5IHsKKwlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSBlbnQ7CisJY2hhciAqZGlyOworCXVuc2lnbmVkIG5vbl91bmlxdWVfbmV3X2RpcjoxOworCXN0cnVjdCBzdHJidWYgbmV3X2RpcjsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgcG9zc2libGVfbmV3X2RpcnM7Cit9OworCiBzdGF0aWMgc3RydWN0IGRpcl9yZW5hbWVfZW50cnkgKmRpcl9yZW5hbWVfZmluZF9lbnRyeShzdHJ1Y3QgaGFzaG1hcCAqaGFzaG1hcCwKIAkJCQkJCSAgICAgIGNoYXIgKmRpcikKIHsKQEAgLTYxLDE4ICs5MSwyMCBAQAogCiAJaWYgKGRpciA9PSBOVUxMKQogCQlyZXR1cm4gTlVMTDsKLQloYXNobWFwX2VudHJ5X2luaXQoJmtleSwgc3RyaGFzaChkaXIpKTsKKwloYXNobWFwX2VudHJ5X2luaXQoJmtleS5lbnQsIHN0cmhhc2goZGlyKSk7CiAJa2V5LmRpciA9IGRpcjsKLQlyZXR1cm4gaGFzaG1hcF9nZXQoaGFzaG1hcCwgJmtleSwgTlVMTCk7CisJcmV0dXJuIGhhc2htYXBfZ2V0X2VudHJ5KGhhc2htYXAsICZrZXksIGVudCwgTlVMTCk7CiB9CiAKIHN0YXRpYyBpbnQgZGlyX3JlbmFtZV9jbXAoY29uc3Qgdm9pZCAqdW51c2VkX2NtcF9kYXRhLAotCQkJICBjb25zdCB2b2lkICplbnRyeSwKLQkJCSAgY29uc3Qgdm9pZCAqZW50cnlfb3Jfa2V5LAorCQkJICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZXB0ciwKKwkJCSAgY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmVudHJ5X29yX2tleSwKIAkJCSAgY29uc3Qgdm9pZCAqdW51c2VkX2tleWRhdGEpCiB7Ci0JY29uc3Qgc3RydWN0IGRpcl9yZW5hbWVfZW50cnkgKmUxID0gZW50cnk7Ci0JY29uc3Qgc3RydWN0IGRpcl9yZW5hbWVfZW50cnkgKmUyID0gZW50cnlfb3Jfa2V5OworCWNvbnN0IHN0cnVjdCBkaXJfcmVuYW1lX2VudHJ5ICplMSwgKmUyOworCisJZTEgPSBjb250YWluZXJfb2YoZXB0ciwgY29uc3Qgc3RydWN0IGRpcl9yZW5hbWVfZW50cnksIGVudCk7CisJZTIgPSBjb250YWluZXJfb2YoZW50cnlfb3Jfa2V5LCBjb25zdCBzdHJ1Y3QgZGlyX3JlbmFtZV9lbnRyeSwgZW50KTsKIAogCXJldHVybiBzdHJjbXAoZTEtPmRpciwgZTItPmRpcik7CiB9CkBAIC04NSwxNDggKzExNywxNzcgQEAKIHN0YXRpYyB2b2lkIGRpcl9yZW5hbWVfZW50cnlfaW5pdChzdHJ1Y3QgZGlyX3JlbmFtZV9lbnRyeSAqZW50cnksCiAJCQkJICBjaGFyICpkaXJlY3RvcnkpCiB7Ci0JaGFzaG1hcF9lbnRyeV9pbml0KGVudHJ5LCBzdHJoYXNoKGRpcmVjdG9yeSkpOworCWhhc2htYXBfZW50cnlfaW5pdCgmZW50cnktPmVudCwgc3RyaGFzaChkaXJlY3RvcnkpKTsKIAllbnRyeS0+ZGlyID0gZGlyZWN0b3J5OwogCWVudHJ5LT5ub25fdW5pcXVlX25ld19kaXIgPSAwOwogCXN0cmJ1Zl9pbml0KCZlbnRyeS0+bmV3X2RpciwgMCk7CiAJc3RyaW5nX2xpc3RfaW5pdCgmZW50cnktPnBvc3NpYmxlX25ld19kaXJzLCAwKTsKIH0KIAorc3RydWN0IGNvbGxpc2lvbl9lbnRyeSB7CisJc3RydWN0IGhhc2htYXBfZW50cnkgZW50OworCWNoYXIgKnRhcmdldF9maWxlOworCXN0cnVjdCBzdHJpbmdfbGlzdCBzb3VyY2VfZmlsZXM7CisJdW5zaWduZWQgcmVwb3J0ZWRfYWxyZWFkeToxOworfTsKKwogc3RhdGljIHN0cnVjdCBjb2xsaXNpb25fZW50cnkgKmNvbGxpc2lvbl9maW5kX2VudHJ5KHN0cnVjdCBoYXNobWFwICpoYXNobWFwLAogCQkJCQkJICAgIGNoYXIgKnRhcmdldF9maWxlKQogewogCXN0cnVjdCBjb2xsaXNpb25fZW50cnkga2V5OwogCi0JaGFzaG1hcF9lbnRyeV9pbml0KCZrZXksIHN0cmhhc2godGFyZ2V0X2ZpbGUpKTsKKwloYXNobWFwX2VudHJ5X2luaXQoJmtleS5lbnQsIHN0cmhhc2godGFyZ2V0X2ZpbGUpKTsKIAlrZXkudGFyZ2V0X2ZpbGUgPSB0YXJnZXRfZmlsZTsKLQlyZXR1cm4gaGFzaG1hcF9nZXQoaGFzaG1hcCwgJmtleSwgTlVMTCk7CisJcmV0dXJuIGhhc2htYXBfZ2V0X2VudHJ5KGhhc2htYXAsICZrZXksIGVudCwgTlVMTCk7CiB9CiAKLXN0YXRpYyBpbnQgY29sbGlzaW9uX2NtcCh2b2lkICp1bnVzZWRfY21wX2RhdGEsCi0JCQkgY29uc3Qgc3RydWN0IGNvbGxpc2lvbl9lbnRyeSAqZTEsCi0JCQkgY29uc3Qgc3RydWN0IGNvbGxpc2lvbl9lbnRyeSAqZTIsCitzdGF0aWMgaW50IGNvbGxpc2lvbl9jbXAoY29uc3Qgdm9pZCAqdW51c2VkX2NtcF9kYXRhLAorCQkJIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplcHRyLAorCQkJIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeV9vcl9rZXksCiAJCQkgY29uc3Qgdm9pZCAqdW51c2VkX2tleWRhdGEpCiB7CisJY29uc3Qgc3RydWN0IGNvbGxpc2lvbl9lbnRyeSAqZTEsICplMjsKKworCWUxID0gY29udGFpbmVyX29mKGVwdHIsIGNvbnN0IHN0cnVjdCBjb2xsaXNpb25fZW50cnksIGVudCk7CisJZTIgPSBjb250YWluZXJfb2YoZW50cnlfb3Jfa2V5LCBjb25zdCBzdHJ1Y3QgY29sbGlzaW9uX2VudHJ5LCBlbnQpOworCiAJcmV0dXJuIHN0cmNtcChlMS0+dGFyZ2V0X2ZpbGUsIGUyLT50YXJnZXRfZmlsZSk7CiB9CiAKIHN0YXRpYyB2b2lkIGNvbGxpc2lvbl9pbml0KHN0cnVjdCBoYXNobWFwICptYXApCiB7Ci0JaGFzaG1hcF9pbml0KG1hcCwgKGhhc2htYXBfY21wX2ZuKSBjb2xsaXNpb25fY21wLCBOVUxMLCAwKTsKKwloYXNobWFwX2luaXQobWFwLCBjb2xsaXNpb25fY21wLCBOVUxMLCAwKTsKIH0KIAotc3RhdGljIHZvaWQgZmx1c2hfb3V0cHV0KHN0cnVjdCBtZXJnZV9vcHRpb25zICpvKQorc3RhdGljIHZvaWQgZmx1c2hfb3V0cHV0KHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQpCiB7Ci0JaWYgKG8tPmJ1ZmZlcl9vdXRwdXQgPCAyICYmIG8tPm9idWYubGVuKSB7Ci0JCWZwdXRzKG8tPm9idWYuYnVmLCBzdGRvdXQpOwotCQlzdHJidWZfcmVzZXQoJm8tPm9idWYpOworCWlmIChvcHQtPmJ1ZmZlcl9vdXRwdXQgPCAyICYmIG9wdC0+b2J1Zi5sZW4pIHsKKwkJZnB1dHMob3B0LT5vYnVmLmJ1Ziwgc3Rkb3V0KTsKKwkJc3RyYnVmX3Jlc2V0KCZvcHQtPm9idWYpOwogCX0KIH0KIAotc3RhdGljIGludCBlcnIoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sIGNvbnN0IGNoYXIgKmVyciwgLi4uKQorc3RhdGljIGludCBlcnIoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwgY29uc3QgY2hhciAqZXJyLCAuLi4pCiB7CiAJdmFfbGlzdCBwYXJhbXM7CiAKLQlpZiAoby0+YnVmZmVyX291dHB1dCA8IDIpCi0JCWZsdXNoX291dHB1dChvKTsKKwlpZiAob3B0LT5idWZmZXJfb3V0cHV0IDwgMikKKwkJZmx1c2hfb3V0cHV0KG9wdCk7CiAJZWxzZSB7Ci0JCXN0cmJ1Zl9jb21wbGV0ZSgmby0+b2J1ZiwgJ1xuJyk7Ci0JCXN0cmJ1Zl9hZGRzdHIoJm8tPm9idWYsICJlcnJvcjogIik7CisJCXN0cmJ1Zl9jb21wbGV0ZSgmb3B0LT5vYnVmLCAnXG4nKTsKKwkJc3RyYnVmX2FkZHN0cigmb3B0LT5vYnVmLCAiZXJyb3I6ICIpOwogCX0KIAl2YV9zdGFydChwYXJhbXMsIGVycik7Ci0Jc3RyYnVmX3ZhZGRmKCZvLT5vYnVmLCBlcnIsIHBhcmFtcyk7CisJc3RyYnVmX3ZhZGRmKCZvcHQtPm9idWYsIGVyciwgcGFyYW1zKTsKIAl2YV9lbmQocGFyYW1zKTsKLQlpZiAoby0+YnVmZmVyX291dHB1dCA+IDEpCi0JCXN0cmJ1Zl9hZGRjaCgmby0+b2J1ZiwgJ1xuJyk7CisJaWYgKG9wdC0+YnVmZmVyX291dHB1dCA+IDEpCisJCXN0cmJ1Zl9hZGRjaCgmb3B0LT5vYnVmLCAnXG4nKTsKIAllbHNlIHsKLQkJZXJyb3IoIiVzIiwgby0+b2J1Zi5idWYpOwotCQlzdHJidWZfcmVzZXQoJm8tPm9idWYpOworCQllcnJvcigiJXMiLCBvcHQtPm9idWYuYnVmKTsKKwkJc3RyYnVmX3Jlc2V0KCZvcHQtPm9idWYpOwogCX0KIAogCXJldHVybiAtMTsKIH0KIAotc3RhdGljIHN0cnVjdCB0cmVlICpzaGlmdF90cmVlX29iamVjdChzdHJ1Y3QgdHJlZSAqb25lLCBzdHJ1Y3QgdHJlZSAqdHdvLAorc3RhdGljIHN0cnVjdCB0cmVlICpzaGlmdF90cmVlX29iamVjdChzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCQkgICAgICBzdHJ1Y3QgdHJlZSAqb25lLCBzdHJ1Y3QgdHJlZSAqdHdvLAogCQkJCSAgICAgIGNvbnN0IGNoYXIgKnN1YnRyZWVfc2hpZnQpCiB7CiAJc3RydWN0IG9iamVjdF9pZCBzaGlmdGVkOwogCiAJaWYgKCEqc3VidHJlZV9zaGlmdCkgewotCQlzaGlmdF90cmVlKCZvbmUtPm9iamVjdC5vaWQsICZ0d28tPm9iamVjdC5vaWQsICZzaGlmdGVkLCAwKTsKKwkJc2hpZnRfdHJlZShyZXBvLCAmb25lLT5vYmplY3Qub2lkLCAmdHdvLT5vYmplY3Qub2lkLCAmc2hpZnRlZCwgMCk7CiAJfSBlbHNlIHsKLQkJc2hpZnRfdHJlZV9ieSgmb25lLT5vYmplY3Qub2lkLCAmdHdvLT5vYmplY3Qub2lkLCAmc2hpZnRlZCwKKwkJc2hpZnRfdHJlZV9ieShyZXBvLCAmb25lLT5vYmplY3Qub2lkLCAmdHdvLT5vYmplY3Qub2lkLCAmc2hpZnRlZCwKIAkJCSAgICAgIHN1YnRyZWVfc2hpZnQpOwogCX0KIAlpZiAob2lkZXEoJnR3by0+b2JqZWN0Lm9pZCwgJnNoaWZ0ZWQpKQogCQlyZXR1cm4gdHdvOwotCXJldHVybiBsb29rdXBfdHJlZSh0aGVfcmVwb3NpdG9yeSwgJnNoaWZ0ZWQpOworCXJldHVybiBsb29rdXBfdHJlZShyZXBvLCAmc2hpZnRlZCk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgY29tbWl0ICptYWtlX3ZpcnR1YWxfY29tbWl0KHN0cnVjdCB0cmVlICp0cmVlLCBjb25zdCBjaGFyICpjb21tZW50KQorc3RhdGljIGlubGluZSB2b2lkIHNldF9jb21taXRfdHJlZShzdHJ1Y3QgY29tbWl0ICpjLCBzdHJ1Y3QgdHJlZSAqdCkKIHsKLQlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSBhbGxvY19jb21taXRfbm9kZSh0aGVfcmVwb3NpdG9yeSk7CisJYy0+bWF5YmVfdHJlZSA9IHQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY29tbWl0ICptYWtlX3ZpcnR1YWxfY29tbWl0KHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJCQkgIHN0cnVjdCB0cmVlICp0cmVlLAorCQkJCQkgIGNvbnN0IGNoYXIgKmNvbW1lbnQpCit7CisJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gYWxsb2NfY29tbWl0X25vZGUocmVwbyk7CiAKIAlzZXRfbWVyZ2VfcmVtb3RlX2Rlc2MoY29tbWl0LCBjb21tZW50LCAoc3RydWN0IG9iamVjdCAqKWNvbW1pdCk7Ci0JY29tbWl0LT5tYXliZV90cmVlID0gdHJlZTsKKwlzZXRfY29tbWl0X3RyZWUoY29tbWl0LCB0cmVlKTsKIAljb21taXQtPm9iamVjdC5wYXJzZWQgPSAxOwogCXJldHVybiBjb21taXQ7CiB9CiAKLS8qCi0gKiBTaW5jZSB3ZSB1c2UgZ2V0X3RyZWVfZW50cnkoKSwgd2hpY2ggZG9lcyBub3QgcHV0IHRoZSByZWFkIG9iamVjdCBpbnRvCi0gKiB0aGUgb2JqZWN0IHBvb2wsIHdlIGNhbm5vdCByZWx5IG9uIGEgPT0gYi4KLSAqLwotc3RhdGljIGludCBvaWRfZXEoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqYSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqYikKLXsKLQlpZiAoIWEgJiYgIWIpCi0JCXJldHVybiAyOwotCXJldHVybiBhICYmIGIgJiYgb2lkZXEoYSwgYik7Ci19Ci0KIGVudW0gcmVuYW1lX3R5cGUgewogCVJFTkFNRV9OT1JNQUwgPSAwLAogCVJFTkFNRV9WSUFfRElSLAorCVJFTkFNRV9BREQsCiAJUkVOQU1FX0RFTEVURSwKIAlSRU5BTUVfT05FX0ZJTEVfVE9fT05FLAogCVJFTkFNRV9PTkVfRklMRV9UT19UV08sCiAJUkVOQU1FX1RXT19GSUxFU19UT19PTkUKIH07CiAKLXN0cnVjdCByZW5hbWVfY29uZmxpY3RfaW5mbyB7Ci0JZW51bSByZW5hbWVfdHlwZSByZW5hbWVfdHlwZTsKLQlzdHJ1Y3QgZGlmZl9maWxlcGFpciAqcGFpcjE7Ci0Jc3RydWN0IGRpZmZfZmlsZXBhaXIgKnBhaXIyOwotCWNvbnN0IGNoYXIgKmJyYW5jaDE7Ci0JY29uc3QgY2hhciAqYnJhbmNoMjsKLQlzdHJ1Y3Qgc3RhZ2VfZGF0YSAqZHN0X2VudHJ5MTsKLQlzdHJ1Y3Qgc3RhZ2VfZGF0YSAqZHN0X2VudHJ5MjsKLQlzdHJ1Y3QgZGlmZl9maWxlc3BlYyByZW4xX290aGVyOwotCXN0cnVjdCBkaWZmX2ZpbGVzcGVjIHJlbjJfb3RoZXI7Ci19OwotCiAvKgogICogU2luY2Ugd2Ugd2FudCB0byB3cml0ZSB0aGUgaW5kZXggZXZlbnR1YWxseSwgd2UgY2Fubm90IHJldXNlIHRoZSBpbmRleAogICogZm9yIHRoZXNlICh0ZW1wb3JhcnkpIGRhdGEuCiAgKi8KIHN0cnVjdCBzdGFnZV9kYXRhIHsKLQlzdHJ1Y3QgewotCQl1bnNpZ25lZCBtb2RlOwotCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKLQl9IHN0YWdlc1s0XTsKKwlzdHJ1Y3QgZGlmZl9maWxlc3BlYyBzdGFnZXNbNF07IC8qIG1vc3RseSBmb3Igb2lkICYgbW9kZTsgbWF5YmUgcGF0aCAqLwogCXN0cnVjdCByZW5hbWVfY29uZmxpY3RfaW5mbyAqcmVuYW1lX2NvbmZsaWN0X2luZm87CiAJdW5zaWduZWQgcHJvY2Vzc2VkOjE7CiB9OwogCitzdHJ1Y3QgcmVuYW1lIHsKKwl1bnNpZ25lZCBwcm9jZXNzZWQ6MTsKKwlzdHJ1Y3QgZGlmZl9maWxlcGFpciAqcGFpcjsKKwljb25zdCBjaGFyICpicmFuY2g7IC8qIGJyYW5jaCB0aGF0IHRoZSByZW5hbWUgb2NjdXJyZWQgb24gKi8KKwkvKgorCSAqIElmIGRpcmVjdG9yeSByZW5hbWUgZGV0ZWN0aW9uIGFmZmVjdGVkIHRoaXMgcmVuYW1lLCB3aGF0IHdhcyBpdHMKKwkgKiBvcmlnaW5hbCB0eXBlICgnQScgb3IgJ1InKSBhbmQgaXQncyBvcmlnaW5hbCBkZXN0aW5hdGlvbiBiZWZvcmUKKwkgKiB0aGUgZGlyZWN0b3J5IHJlbmFtZSAob3RoZXJ3aXNlLCAnXDAnIGFuZCBOVUxMIGZvciB0aGVzZSB0d28gdmFycykuCisJICovCisJY2hhciBkaXJfcmVuYW1lX29yaWdpbmFsX3R5cGU7CisJY2hhciAqZGlyX3JlbmFtZV9vcmlnaW5hbF9kZXN0OworCS8qCisJICogUHVycG9zZSBvZiBzcmNfZW50cnkgYW5kIGRzdF9lbnRyeToKKwkgKgorCSAqIElmICdiZWZvcmUnIGlzIHJlbmFtZWQgdG8gJ2FmdGVyJyB0aGVuIHNyY19lbnRyeSB3aWxsIGNvbnRhaW4KKwkgKiB0aGUgdmVyc2lvbnMgb2YgJ2JlZm9yZScgZnJvbSB0aGUgbWVyZ2VfYmFzZSwgSEVBRCwgYW5kIE1FUkdFIGluCisJICogc3RhZ2VzIDEsIDIsIGFuZCAzOyBkc3RfZW50cnkgd2lsbCBjb250YWluIHRoZSByZXNwZWN0aXZlCisJICogdmVyc2lvbnMgb2YgJ2FmdGVyJyBpbiBjb3JyZXNwb25kaW5nIGxvY2F0aW9ucy4gIFRodXMsIHdlIGhhdmUgYQorCSAqIHRvdGFsIG9mIHNpeCBtb2RlcyBhbmQgb2lkcywgdGhvdWdoIHNvbWUgd2lsbCBiZSBudWxsLiAgKFN0YWdlIDAKKwkgKiBpcyBpZ25vcmVkOyB3ZSdyZSBpbnRlcmVzdGVkIGluIGhhbmRsaW5nIGNvbmZsaWN0cy4pCisJICoKKwkgKiBTaW5jZSB3ZSBkb24ndCB0dXJuIG9uIGJyZWFrLXJld3JpdGVzIGJ5IGRlZmF1bHQsIG5laXRoZXIKKwkgKiBzcmNfZW50cnkgbm9yIGRzdF9lbnRyeSBjYW4gaGF2ZSBhbGwgdGhyZWUgb2YgdGhlaXIgc3RhZ2VzIGhhdmUKKwkgKiBub24tbnVsbCBvaWRzLCBtZWFuaW5nIGF0IG1vc3QgZm91ciBvZiB0aGUgc2l4IHdpbGwgYmUgbm9uLW51bGwuCisJICogQWxzbywgc2luY2UgdGhpcyBpcyBhIHJlbmFtZSwgYm90aCBzcmNfZW50cnkgYW5kIGRzdF9lbnRyeSB3aWxsCisJICogaGF2ZSBhdCBsZWFzdCBvbmUgbm9uLW51bGwgb2lkLCBtZWFuaW5nIGF0IGxlYXN0IHR3byB3aWxsIGJlCisJICogbm9uLW51bGwuICBPZiB0aGUgc2l4IG9pZHMsIGEgdHlwaWNhbCByZW5hbWUgd2lsbCBoYXZlIHRocmVlIGJlCisJICogbm9uLW51bGwuICBPbmx5IHR3byBpbXBsaWVzIGEgcmVuYW1lL2RlbGV0ZSwgYW5kIGZvdXIgaW1wbGllcyBhCisJICogcmVuYW1lL2FkZC4KKwkgKi8KKwlzdHJ1Y3Qgc3RhZ2VfZGF0YSAqc3JjX2VudHJ5OworCXN0cnVjdCBzdGFnZV9kYXRhICpkc3RfZW50cnk7Cit9OworCitzdHJ1Y3QgcmVuYW1lX2NvbmZsaWN0X2luZm8geworCWVudW0gcmVuYW1lX3R5cGUgcmVuYW1lX3R5cGU7CisJc3RydWN0IHJlbmFtZSAqcmVuMTsKKwlzdHJ1Y3QgcmVuYW1lICpyZW4yOworfTsKKwogc3RhdGljIGlubGluZSB2b2lkIHNldHVwX3JlbmFtZV9jb25mbGljdF9pbmZvKGVudW0gcmVuYW1lX3R5cGUgcmVuYW1lX3R5cGUsCi0JCQkJCSAgICAgIHN0cnVjdCBkaWZmX2ZpbGVwYWlyICpwYWlyMSwKLQkJCQkJICAgICAgc3RydWN0IGRpZmZfZmlsZXBhaXIgKnBhaXIyLAotCQkJCQkgICAgICBjb25zdCBjaGFyICpicmFuY2gxLAotCQkJCQkgICAgICBjb25zdCBjaGFyICpicmFuY2gyLAotCQkJCQkgICAgICBzdHJ1Y3Qgc3RhZ2VfZGF0YSAqZHN0X2VudHJ5MSwKLQkJCQkJICAgICAgc3RydWN0IHN0YWdlX2RhdGEgKmRzdF9lbnRyeTIsCi0JCQkJCSAgICAgIHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAotCQkJCQkgICAgICBzdHJ1Y3Qgc3RhZ2VfZGF0YSAqc3JjX2VudHJ5MSwKLQkJCQkJICAgICAgc3RydWN0IHN0YWdlX2RhdGEgKnNyY19lbnRyeTIpCisJCQkJCSAgICAgIHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsCisJCQkJCSAgICAgIHN0cnVjdCByZW5hbWUgKnJlbjEsCisJCQkJCSAgICAgIHN0cnVjdCByZW5hbWUgKnJlbjIpCiB7CiAJc3RydWN0IHJlbmFtZV9jb25mbGljdF9pbmZvICpjaTsKIApAQCAtMjM0LDEzNiArMjk1LDExNSBAQAogCSAqIFdoZW4gd2UgaGF2ZSB0d28gcmVuYW1lcyBpbnZvbHZlZCwgaXQncyBlYXNpZXN0IHRvIGdldCB0aGUKIAkgKiBjb3JyZWN0IHRoaW5ncyBpbnRvIHN0YWdlIDIgYW5kIDMsIGFuZCB0byBtYWtlIHN1cmUgdGhhdCB0aGUKIAkgKiBjb250ZW50IG1lcmdlIHB1dHMgSEVBRCBiZWZvcmUgdGhlIG90aGVyIGJyYW5jaCBpZiB3ZSBqdXN0Ci0JICogZW5zdXJlIHRoYXQgYnJhbmNoMSA9PSBvLT5icmFuY2gxLiAgU28sIHNpbXBseSBmbGlwIGFyZ3VtZW50cworCSAqIGVuc3VyZSB0aGF0IGJyYW5jaDEgPT0gb3B0LT5icmFuY2gxLiAgU28sIHNpbXBseSBmbGlwIGFyZ3VtZW50cwogCSAqIGFyb3VuZCBpZiB3ZSBkb24ndCBoYXZlIHRoYXQuCiAJICovCi0JaWYgKGRzdF9lbnRyeTIgJiYgYnJhbmNoMSAhPSBvLT5icmFuY2gxKSB7Ci0JCXNldHVwX3JlbmFtZV9jb25mbGljdF9pbmZvKHJlbmFtZV90eXBlLAotCQkJCQkgICBwYWlyMiwgICAgICBwYWlyMSwKLQkJCQkJICAgYnJhbmNoMiwgICAgYnJhbmNoMSwKLQkJCQkJICAgZHN0X2VudHJ5MiwgZHN0X2VudHJ5MSwKLQkJCQkJICAgbywKLQkJCQkJICAgc3JjX2VudHJ5Miwgc3JjX2VudHJ5MSk7CisJaWYgKHJlbjIgJiYgcmVuMS0+YnJhbmNoICE9IG9wdC0+YnJhbmNoMSkgeworCQlzZXR1cF9yZW5hbWVfY29uZmxpY3RfaW5mbyhyZW5hbWVfdHlwZSwgb3B0LCByZW4yLCByZW4xKTsKIAkJcmV0dXJuOwogCX0KIAogCWNpID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHJlbmFtZV9jb25mbGljdF9pbmZvKSk7CiAJY2ktPnJlbmFtZV90eXBlID0gcmVuYW1lX3R5cGU7Ci0JY2ktPnBhaXIxID0gcGFpcjE7Ci0JY2ktPmJyYW5jaDEgPSBicmFuY2gxOwotCWNpLT5icmFuY2gyID0gYnJhbmNoMjsKKwljaS0+cmVuMSA9IHJlbjE7CisJY2ktPnJlbjIgPSByZW4yOwogCi0JY2ktPmRzdF9lbnRyeTEgPSBkc3RfZW50cnkxOwotCWRzdF9lbnRyeTEtPnJlbmFtZV9jb25mbGljdF9pbmZvID0gY2k7Ci0JZHN0X2VudHJ5MS0+cHJvY2Vzc2VkID0gMDsKLQotCWFzc2VydCghcGFpcjIgPT0gIWRzdF9lbnRyeTIpOwotCWlmIChkc3RfZW50cnkyKSB7Ci0JCWNpLT5kc3RfZW50cnkyID0gZHN0X2VudHJ5MjsKLQkJY2ktPnBhaXIyID0gcGFpcjI7Ci0JCWRzdF9lbnRyeTItPnJlbmFtZV9jb25mbGljdF9pbmZvID0gY2k7Ci0JfQotCi0JaWYgKHJlbmFtZV90eXBlID09IFJFTkFNRV9UV09fRklMRVNfVE9fT05FKSB7Ci0JCS8qCi0JCSAqIEZvciBlYWNoIHJlbmFtZSwgdGhlcmUgY291bGQgaGF2ZSBiZWVuCi0JCSAqIG1vZGlmaWNhdGlvbnMgb24gdGhlIHNpZGUgb2YgaGlzdG9yeSB3aGVyZSB0aGF0Ci0JCSAqIGZpbGUgd2FzIG5vdCByZW5hbWVkLgotCQkgKi8KLQkJaW50IG9zdGFnZTEgPSBvLT5icmFuY2gxID09IGJyYW5jaDEgPyAzIDogMjsKLQkJaW50IG9zdGFnZTIgPSBvc3RhZ2UxIF4gMTsKLQotCQljaS0+cmVuMV9vdGhlci5wYXRoID0gcGFpcjEtPm9uZS0+cGF0aDsKLQkJb2lkY3B5KCZjaS0+cmVuMV9vdGhlci5vaWQsICZzcmNfZW50cnkxLT5zdGFnZXNbb3N0YWdlMV0ub2lkKTsKLQkJY2ktPnJlbjFfb3RoZXIubW9kZSA9IHNyY19lbnRyeTEtPnN0YWdlc1tvc3RhZ2UxXS5tb2RlOwotCi0JCWNpLT5yZW4yX290aGVyLnBhdGggPSBwYWlyMi0+b25lLT5wYXRoOwotCQlvaWRjcHkoJmNpLT5yZW4yX290aGVyLm9pZCwgJnNyY19lbnRyeTItPnN0YWdlc1tvc3RhZ2UyXS5vaWQpOwotCQljaS0+cmVuMl9vdGhlci5tb2RlID0gc3JjX2VudHJ5Mi0+c3RhZ2VzW29zdGFnZTJdLm1vZGU7CisJY2ktPnJlbjEtPmRzdF9lbnRyeS0+cHJvY2Vzc2VkID0gMDsKKwljaS0+cmVuMS0+ZHN0X2VudHJ5LT5yZW5hbWVfY29uZmxpY3RfaW5mbyA9IGNpOworCWlmIChyZW4yKSB7CisJCWNpLT5yZW4yLT5kc3RfZW50cnktPnJlbmFtZV9jb25mbGljdF9pbmZvID0gY2k7CiAJfQogfQogCi1zdGF0aWMgaW50IHNob3coc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sIGludCB2KQorc3RhdGljIGludCBzaG93KHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsIGludCB2KQogewotCXJldHVybiAoIW8tPmNhbGxfZGVwdGggJiYgby0+dmVyYm9zaXR5ID49IHYpIHx8IG8tPnZlcmJvc2l0eSA+PSA1OworCXJldHVybiAoIW9wdC0+cHJpdi0+Y2FsbF9kZXB0aCAmJiBvcHQtPnZlcmJvc2l0eSA+PSB2KSB8fAorCQlvcHQtPnZlcmJvc2l0eSA+PSA1OwogfQogCiBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMywgNCkpKQotc3RhdGljIHZvaWQgb3V0cHV0KHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLCBpbnQgdiwgY29uc3QgY2hhciAqZm10LCAuLi4pCitzdGF0aWMgdm9pZCBvdXRwdXQoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwgaW50IHYsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogewogCXZhX2xpc3QgYXA7CiAKLQlpZiAoIXNob3cobywgdikpCisJaWYgKCFzaG93KG9wdCwgdikpCiAJCXJldHVybjsKIAotCXN0cmJ1Zl9hZGRjaGFycygmby0+b2J1ZiwgJyAnLCBvLT5jYWxsX2RlcHRoICogMik7CisJc3RyYnVmX2FkZGNoYXJzKCZvcHQtPm9idWYsICcgJywgb3B0LT5wcml2LT5jYWxsX2RlcHRoICogMik7CiAKIAl2YV9zdGFydChhcCwgZm10KTsKLQlzdHJidWZfdmFkZGYoJm8tPm9idWYsIGZtdCwgYXApOworCXN0cmJ1Zl92YWRkZigmb3B0LT5vYnVmLCBmbXQsIGFwKTsKIAl2YV9lbmQoYXApOwogCi0Jc3RyYnVmX2FkZGNoKCZvLT5vYnVmLCAnXG4nKTsKLQlpZiAoIW8tPmJ1ZmZlcl9vdXRwdXQpCi0JCWZsdXNoX291dHB1dChvKTsKKwlzdHJidWZfYWRkY2goJm9wdC0+b2J1ZiwgJ1xuJyk7CisJaWYgKCFvcHQtPmJ1ZmZlcl9vdXRwdXQpCisJCWZsdXNoX291dHB1dChvcHQpOwogfQogCi1zdGF0aWMgdm9pZCBvdXRwdXRfY29tbWl0X3RpdGxlKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLCBzdHJ1Y3QgY29tbWl0ICpjb21taXQpCitzdGF0aWMgdm9pZCBvdXRwdXRfY29tbWl0X3RpdGxlKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsIHN0cnVjdCBjb21taXQgKmNvbW1pdCkKIHsKIAlzdHJ1Y3QgbWVyZ2VfcmVtb3RlX2Rlc2MgKmRlc2M7CiAKLQlzdHJidWZfYWRkY2hhcnMoJm8tPm9idWYsICcgJywgby0+Y2FsbF9kZXB0aCAqIDIpOworCXN0cmJ1Zl9hZGRjaGFycygmb3B0LT5vYnVmLCAnICcsIG9wdC0+cHJpdi0+Y2FsbF9kZXB0aCAqIDIpOwogCWRlc2MgPSBtZXJnZV9yZW1vdGVfdXRpbChjb21taXQpOwogCWlmIChkZXNjKQotCQlzdHJidWZfYWRkZigmby0+b2J1ZiwgInZpcnR1YWwgJXNcbiIsIGRlc2MtPm5hbWUpOworCQlzdHJidWZfYWRkZigmb3B0LT5vYnVmLCAidmlydHVhbCAlc1xuIiwgZGVzYy0+bmFtZSk7CiAJZWxzZSB7Ci0JCXN0cmJ1Zl9hZGRfdW5pcXVlX2FiYnJldigmby0+b2J1ZiwgJmNvbW1pdC0+b2JqZWN0Lm9pZCwKKwkJc3RyYnVmX2FkZF91bmlxdWVfYWJicmV2KCZvcHQtPm9idWYsICZjb21taXQtPm9iamVjdC5vaWQsCiAJCQkJCSBERUZBVUxUX0FCQlJFVik7Ci0JCXN0cmJ1Zl9hZGRjaCgmby0+b2J1ZiwgJyAnKTsKKwkJc3RyYnVmX2FkZGNoKCZvcHQtPm9idWYsICcgJyk7CiAJCWlmIChwYXJzZV9jb21taXQoY29tbWl0KSAhPSAwKQotCQkJc3RyYnVmX2FkZHN0cigmby0+b2J1ZiwgXygiKGJhZCBjb21taXQpXG4iKSk7CisJCQlzdHJidWZfYWRkc3RyKCZvcHQtPm9idWYsIF8oIihiYWQgY29tbWl0KVxuIikpOwogCQllbHNlIHsKIAkJCWNvbnN0IGNoYXIgKnRpdGxlOwogCQkJY29uc3QgY2hhciAqbXNnID0gZ2V0X2NvbW1pdF9idWZmZXIoY29tbWl0LCBOVUxMKTsKIAkJCWludCBsZW4gPSBmaW5kX2NvbW1pdF9zdWJqZWN0KG1zZywgJnRpdGxlKTsKIAkJCWlmIChsZW4pCi0JCQkJc3RyYnVmX2FkZGYoJm8tPm9idWYsICIlLipzXG4iLCBsZW4sIHRpdGxlKTsKKwkJCQlzdHJidWZfYWRkZigmb3B0LT5vYnVmLCAiJS4qc1xuIiwgbGVuLCB0aXRsZSk7CiAJCQl1bnVzZV9jb21taXRfYnVmZmVyKGNvbW1pdCwgbXNnKTsKIAkJfQogCX0KLQlmbHVzaF9vdXRwdXQobyk7CisJZmx1c2hfb3V0cHV0KG9wdCk7CiB9CiAKLXN0YXRpYyBpbnQgYWRkX2NhY2hlaW5mbyhzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKLQkJCSB1bnNpZ25lZCBpbnQgbW9kZSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorc3RhdGljIGludCBhZGRfY2FjaGVpbmZvKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsCisJCQkgY29uc3Qgc3RydWN0IGRpZmZfZmlsZXNwZWMgKmJsb2IsCiAJCQkgY29uc3QgY2hhciAqcGF0aCwgaW50IHN0YWdlLCBpbnQgcmVmcmVzaCwgaW50IG9wdGlvbnMpCiB7CisJc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUgPSBvcHQtPnJlcG8tPmluZGV4OwogCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2U7CiAJaW50IHJldDsKIAotCWNlID0gbWFrZV9jYWNoZV9lbnRyeSgmdGhlX2luZGV4LCBtb2RlLCBvaWQgPyBvaWQgOiAmbnVsbF9vaWQsIHBhdGgsIHN0YWdlLCAwKTsKKwljZSA9IG1ha2VfY2FjaGVfZW50cnkoaXN0YXRlLCBibG9iLT5tb2RlLCAmYmxvYi0+b2lkLCBwYXRoLCBzdGFnZSwgMCk7CiAJaWYgKCFjZSkKLQkJcmV0dXJuIGVycihvLCBfKCJhZGRfY2FjaGVpbmZvIGZhaWxlZCBmb3IgcGF0aCAnJXMnOyBtZXJnZSBhYm9ydGluZy4iKSwgcGF0aCk7CisJCXJldHVybiBlcnIob3B0LCBfKCJhZGRfY2FjaGVpbmZvIGZhaWxlZCBmb3IgcGF0aCAnJXMnOyBtZXJnZSBhYm9ydGluZy4iKSwgcGF0aCk7CiAKLQlyZXQgPSBhZGRfY2FjaGVfZW50cnkoY2UsIG9wdGlvbnMpOworCXJldCA9IGFkZF9pbmRleF9lbnRyeShpc3RhdGUsIGNlLCBvcHRpb25zKTsKIAlpZiAocmVmcmVzaCkgewogCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKm5jZTsKIAotCQluY2UgPSByZWZyZXNoX2NhY2hlX2VudHJ5KCZ0aGVfaW5kZXgsIGNlLCBDRV9NQVRDSF9SRUZSRVNIIHwgQ0VfTUFUQ0hfSUdOT1JFX01JU1NJTkcpOworCQluY2UgPSByZWZyZXNoX2NhY2hlX2VudHJ5KGlzdGF0ZSwgY2UsCisJCQkJCSAgQ0VfTUFUQ0hfUkVGUkVTSCB8IENFX01BVENIX0lHTk9SRV9NSVNTSU5HKTsKIAkJaWYgKCFuY2UpCi0JCQlyZXR1cm4gZXJyKG8sIF8oImFkZF9jYWNoZWluZm8gZmFpbGVkIHRvIHJlZnJlc2ggZm9yIHBhdGggJyVzJzsgbWVyZ2UgYWJvcnRpbmcuIiksIHBhdGgpOworCQkJcmV0dXJuIGVycihvcHQsIF8oImFkZF9jYWNoZWluZm8gZmFpbGVkIHRvIHJlZnJlc2ggZm9yIHBhdGggJyVzJzsgbWVyZ2UgYWJvcnRpbmcuIiksIHBhdGgpOwogCQlpZiAobmNlICE9IGNlKQotCQkJcmV0ID0gYWRkX2NhY2hlX2VudHJ5KG5jZSwgb3B0aW9ucyk7CisJCQlyZXQgPSBhZGRfaW5kZXhfZW50cnkoaXN0YXRlLCBuY2UsIG9wdGlvbnMpOwogCX0KIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgaW5saW5lIGludCBtZXJnZV9kZXRlY3RfcmVuYW1lKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQpCit7CisJcmV0dXJuIChvcHQtPmRldGVjdF9yZW5hbWVzID49IDApID8gb3B0LT5kZXRlY3RfcmVuYW1lcyA6IDE7Cit9CisKIHN0YXRpYyB2b2lkIGluaXRfdHJlZV9kZXNjX2Zyb21fdHJlZShzdHJ1Y3QgdHJlZV9kZXNjICpkZXNjLCBzdHJ1Y3QgdHJlZSAqdHJlZSkKIHsKIAlwYXJzZV90cmVlKHRyZWUpOwogCWluaXRfdHJlZV9kZXNjKGRlc2MsIHRyZWUtPmJ1ZmZlciwgdHJlZS0+c2l6ZSk7CiB9CiAKLXN0YXRpYyBpbnQgdW5wYWNrX3RyZWVzX3N0YXJ0KHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAorc3RhdGljIGludCB1bnBhY2tfdHJlZXNfc3RhcnQoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwKIAkJCSAgICAgIHN0cnVjdCB0cmVlICpjb21tb24sCiAJCQkgICAgICBzdHJ1Y3QgdHJlZSAqaGVhZCwKIAkJCSAgICAgIHN0cnVjdCB0cmVlICptZXJnZSkKQEAgLTM3Miw3MyArNDEyLDQzIEBACiAJc3RydWN0IHRyZWVfZGVzYyB0WzNdOwogCXN0cnVjdCBpbmRleF9zdGF0ZSB0bXBfaW5kZXggPSB7IE5VTEwgfTsKIAotCW1lbXNldCgmby0+dW5wYWNrX29wdHMsIDAsIHNpemVvZihvLT51bnBhY2tfb3B0cykpOwotCWlmIChvLT5jYWxsX2RlcHRoKQotCQlvLT51bnBhY2tfb3B0cy5pbmRleF9vbmx5ID0gMTsKKwltZW1zZXQoJm9wdC0+cHJpdi0+dW5wYWNrX29wdHMsIDAsIHNpemVvZihvcHQtPnByaXYtPnVucGFja19vcHRzKSk7CisJaWYgKG9wdC0+cHJpdi0+Y2FsbF9kZXB0aCkKKwkJb3B0LT5wcml2LT51bnBhY2tfb3B0cy5pbmRleF9vbmx5ID0gMTsKIAllbHNlCi0JCW8tPnVucGFja19vcHRzLnVwZGF0ZSA9IDE7Ci0Jby0+dW5wYWNrX29wdHMubWVyZ2UgPSAxOwotCW8tPnVucGFja19vcHRzLmhlYWRfaWR4ID0gMjsKLQlvLT51bnBhY2tfb3B0cy5mbiA9IHRocmVld2F5X21lcmdlOwotCW8tPnVucGFja19vcHRzLnNyY19pbmRleCA9ICZ0aGVfaW5kZXg7Ci0Jby0+dW5wYWNrX29wdHMuZHN0X2luZGV4ID0gJnRtcF9pbmRleDsKLQlvLT51bnBhY2tfb3B0cy5hZ2dyZXNzaXZlID0gIW1lcmdlX2RldGVjdF9yZW5hbWUobyk7Ci0Jc2V0dXBfdW5wYWNrX3RyZWVzX3BvcmNlbGFpbigmby0+dW5wYWNrX29wdHMsICJtZXJnZSIpOworCQlvcHQtPnByaXYtPnVucGFja19vcHRzLnVwZGF0ZSA9IDE7CisJb3B0LT5wcml2LT51bnBhY2tfb3B0cy5tZXJnZSA9IDE7CisJb3B0LT5wcml2LT51bnBhY2tfb3B0cy5oZWFkX2lkeCA9IDI7CisJb3B0LT5wcml2LT51bnBhY2tfb3B0cy5mbiA9IHRocmVld2F5X21lcmdlOworCW9wdC0+cHJpdi0+dW5wYWNrX29wdHMuc3JjX2luZGV4ID0gb3B0LT5yZXBvLT5pbmRleDsKKwlvcHQtPnByaXYtPnVucGFja19vcHRzLmRzdF9pbmRleCA9ICZ0bXBfaW5kZXg7CisJb3B0LT5wcml2LT51bnBhY2tfb3B0cy5hZ2dyZXNzaXZlID0gIW1lcmdlX2RldGVjdF9yZW5hbWUob3B0KTsKKwlzZXR1cF91bnBhY2tfdHJlZXNfcG9yY2VsYWluKCZvcHQtPnByaXYtPnVucGFja19vcHRzLCAibWVyZ2UiKTsKIAogCWluaXRfdHJlZV9kZXNjX2Zyb21fdHJlZSh0KzAsIGNvbW1vbik7CiAJaW5pdF90cmVlX2Rlc2NfZnJvbV90cmVlKHQrMSwgaGVhZCk7CiAJaW5pdF90cmVlX2Rlc2NfZnJvbV90cmVlKHQrMiwgbWVyZ2UpOwogCi0JcmMgPSB1bnBhY2tfdHJlZXMoMywgdCwgJm8tPnVucGFja19vcHRzKTsKLQljYWNoZV90cmVlX2ZyZWUoJmFjdGl2ZV9jYWNoZV90cmVlKTsKKwlyYyA9IHVucGFja190cmVlcygzLCB0LCAmb3B0LT5wcml2LT51bnBhY2tfb3B0cyk7CisJY2FjaGVfdHJlZV9mcmVlKCZvcHQtPnJlcG8tPmluZGV4LT5jYWNoZV90cmVlKTsKIAogCS8qCi0JICogVXBkYXRlIHRoZV9pbmRleCB0byBtYXRjaCB0aGUgbmV3IHJlc3VsdHMsIEFGVEVSIHNhdmluZyBhIGNvcHkKLQkgKiBpbiBvLT5vcmlnX2luZGV4LiAgVXBkYXRlIHNyY19pbmRleCB0byBwb2ludCB0byB0aGUgc2F2ZWQgY29weS4KLQkgKiAodmVyaWZ5X3VwdG9kYXRlKCkgY2hlY2tzIHNyY19pbmRleCwgYW5kIHRoZSBvcmlnaW5hbCBpbmRleCBpcwotCSAqIHRoZSBvbmUgdGhhdCBoYWQgdGhlIG5lY2Vzc2FyeSBtb2RpZmljYXRpb24gdGltZXN0YW1wcy4pCisJICogVXBkYXRlIG9wdC0+cmVwby0+aW5kZXggdG8gbWF0Y2ggdGhlIG5ldyByZXN1bHRzLCBBRlRFUiBzYXZpbmcgYQorCSAqIGNvcHkgaW4gb3B0LT5wcml2LT5vcmlnX2luZGV4LiAgVXBkYXRlIHNyY19pbmRleCB0byBwb2ludCB0byB0aGUKKwkgKiBzYXZlZCBjb3B5LiAgKHZlcmlmeV91cHRvZGF0ZSgpIGNoZWNrcyBzcmNfaW5kZXgsIGFuZCB0aGUgb3JpZ2luYWwKKwkgKiBpbmRleCBpcyB0aGUgb25lIHRoYXQgaGFkIHRoZSBuZWNlc3NhcnkgbW9kaWZpY2F0aW9uIHRpbWVzdGFtcHMuKQogCSAqLwotCW8tPm9yaWdfaW5kZXggPSB0aGVfaW5kZXg7Ci0JdGhlX2luZGV4ID0gdG1wX2luZGV4OwotCW8tPnVucGFja19vcHRzLnNyY19pbmRleCA9ICZvLT5vcmlnX2luZGV4OworCW9wdC0+cHJpdi0+b3JpZ19pbmRleCA9ICpvcHQtPnJlcG8tPmluZGV4OworCSpvcHQtPnJlcG8tPmluZGV4ID0gdG1wX2luZGV4OworCW9wdC0+cHJpdi0+dW5wYWNrX29wdHMuc3JjX2luZGV4ID0gJm9wdC0+cHJpdi0+b3JpZ19pbmRleDsKIAogCXJldHVybiByYzsKIH0KIAotc3RhdGljIHZvaWQgdW5wYWNrX3RyZWVzX2ZpbmlzaChzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbykKK3N0YXRpYyB2b2lkIHVucGFja190cmVlc19maW5pc2goc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCkKIHsKLQlkaXNjYXJkX2luZGV4KCZvLT5vcmlnX2luZGV4KTsKLQljbGVhcl91bnBhY2tfdHJlZXNfcG9yY2VsYWluKCZvLT51bnBhY2tfb3B0cyk7Ci19Ci0KLXN0cnVjdCB0cmVlICp3cml0ZV90cmVlX2Zyb21fbWVtb3J5KHN0cnVjdCBtZXJnZV9vcHRpb25zICpvKQotewotCXN0cnVjdCB0cmVlICpyZXN1bHQgPSBOVUxMOwotCi0JaWYgKHVubWVyZ2VkX2NhY2hlKCkpIHsKLQkJaW50IGk7Ci0JCWZwcmludGYoc3RkZXJyLCAiQlVHOiBUaGVyZSBhcmUgdW5tZXJnZWQgaW5kZXggZW50cmllczpcbiIpOwotCQlmb3IgKGkgPSAwOyBpIDwgYWN0aXZlX25yOyBpKyspIHsKLQkJCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBhY3RpdmVfY2FjaGVbaV07Ci0JCQlpZiAoY2Vfc3RhZ2UoY2UpKQotCQkJCWZwcmludGYoc3RkZXJyLCAiQlVHOiAlZCAlLipzXG4iLCBjZV9zdGFnZShjZSksCi0JCQkJCShpbnQpY2VfbmFtZWxlbihjZSksIGNlLT5uYW1lKTsKLQkJfQotCQlCVUcoInVubWVyZ2VkIGluZGV4IGVudHJpZXMgaW4gbWVyZ2UtcmVjdXJzaXZlLmMiKTsKLQl9Ci0KLQlpZiAoIWFjdGl2ZV9jYWNoZV90cmVlKQotCQlhY3RpdmVfY2FjaGVfdHJlZSA9IGNhY2hlX3RyZWUoKTsKLQotCWlmICghY2FjaGVfdHJlZV9mdWxseV92YWxpZChhY3RpdmVfY2FjaGVfdHJlZSkgJiYKLQkgICAgY2FjaGVfdHJlZV91cGRhdGUoJnRoZV9pbmRleCwgMCkgPCAwKSB7Ci0JCWVycihvLCBfKCJlcnJvciBidWlsZGluZyB0cmVlcyIpKTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCi0JcmVzdWx0ID0gbG9va3VwX3RyZWUodGhlX3JlcG9zaXRvcnksICZhY3RpdmVfY2FjaGVfdHJlZS0+b2lkKTsKLQotCXJldHVybiByZXN1bHQ7CisJZGlzY2FyZF9pbmRleCgmb3B0LT5wcml2LT5vcmlnX2luZGV4KTsKKwljbGVhcl91bnBhY2tfdHJlZXNfcG9yY2VsYWluKCZvcHQtPnByaXYtPnVucGFja19vcHRzKTsKIH0KIAogc3RhdGljIGludCBzYXZlX2ZpbGVzX2RpcnMoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLApAQCAtNDQ3LDM2ICs0NTcsMzcgQEAKIHsKIAlzdHJ1Y3QgcGF0aF9oYXNobWFwX2VudHJ5ICplbnRyeTsKIAlpbnQgYmFzZWxlbiA9IGJhc2UtPmxlbjsKLQlzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbyA9IGNvbnRleHQ7CisJc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCA9IGNvbnRleHQ7CiAKIAlzdHJidWZfYWRkc3RyKGJhc2UsIHBhdGgpOwogCiAJRkxFWF9BTExPQ19NRU0oZW50cnksIHBhdGgsIGJhc2UtPmJ1ZiwgYmFzZS0+bGVuKTsKLQloYXNobWFwX2VudHJ5X2luaXQoZW50cnksIHBhdGhfaGFzaChlbnRyeS0+cGF0aCkpOwotCWhhc2htYXBfYWRkKCZvLT5jdXJyZW50X2ZpbGVfZGlyX3NldCwgZW50cnkpOworCWhhc2htYXBfZW50cnlfaW5pdCgmZW50cnktPmUsIHBhdGhfaGFzaChlbnRyeS0+cGF0aCkpOworCWhhc2htYXBfYWRkKCZvcHQtPnByaXYtPmN1cnJlbnRfZmlsZV9kaXJfc2V0LCAmZW50cnktPmUpOwogCiAJc3RyYnVmX3NldGxlbihiYXNlLCBiYXNlbGVuKTsKIAlyZXR1cm4gKFNfSVNESVIobW9kZSkgPyBSRUFEX1RSRUVfUkVDVVJTSVZFIDogMCk7CiB9CiAKLXN0YXRpYyB2b2lkIGdldF9maWxlc19kaXJzKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLCBzdHJ1Y3QgdHJlZSAqdHJlZSkKK3N0YXRpYyB2b2lkIGdldF9maWxlc19kaXJzKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsIHN0cnVjdCB0cmVlICp0cmVlKQogewogCXN0cnVjdCBwYXRoc3BlYyBtYXRjaF9hbGw7CiAJbWVtc2V0KCZtYXRjaF9hbGwsIDAsIHNpemVvZihtYXRjaF9hbGwpKTsKLQlyZWFkX3RyZWVfcmVjdXJzaXZlKHRyZWUsICIiLCAwLCAwLCAmbWF0Y2hfYWxsLCBzYXZlX2ZpbGVzX2RpcnMsIG8pOworCXJlYWRfdHJlZV9yZWN1cnNpdmUob3B0LT5yZXBvLCB0cmVlLCAiIiwgMCwgMCwKKwkJCSAgICAmbWF0Y2hfYWxsLCBzYXZlX2ZpbGVzX2RpcnMsIG9wdCk7CiB9CiAKLXN0YXRpYyBpbnQgZ2V0X3RyZWVfZW50cnlfaWZfYmxvYihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICp0cmVlLAorc3RhdGljIGludCBnZXRfdHJlZV9lbnRyeV9pZl9ibG9iKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqdHJlZSwKIAkJCQkgIGNvbnN0IGNoYXIgKnBhdGgsCi0JCQkJICBzdHJ1Y3Qgb2JqZWN0X2lkICpoYXNoeSwKLQkJCQkgIHVuc2lnbmVkIGludCAqbW9kZV9vKQorCQkJCSAgc3RydWN0IGRpZmZfZmlsZXNwZWMgKmRmcykKIHsKIAlpbnQgcmV0OwogCi0JcmV0ID0gZ2V0X3RyZWVfZW50cnkodHJlZSwgcGF0aCwgaGFzaHksIG1vZGVfbyk7Ci0JaWYgKFNfSVNESVIoKm1vZGVfbykpIHsKLQkJb2lkY3B5KGhhc2h5LCAmbnVsbF9vaWQpOwotCQkqbW9kZV9vID0gMDsKKwlyZXQgPSBnZXRfdHJlZV9lbnRyeShyLCB0cmVlLCBwYXRoLCAmZGZzLT5vaWQsICZkZnMtPm1vZGUpOworCWlmIChTX0lTRElSKGRmcy0+bW9kZSkpIHsKKwkJb2lkY3B5KCZkZnMtPm9pZCwgJm51bGxfb2lkKTsKKwkJZGZzLT5tb2RlID0gMDsKIAl9CiAJcmV0dXJuIHJldDsKIH0KQEAgLTQ4NSwxOCArNDk2LDE2IEBACiAgKiBSZXR1cm5zIGFuIGluZGV4X2VudHJ5IGluc3RhbmNlIHdoaWNoIGRvZXNuJ3QgaGF2ZSB0byBjb3JyZXNwb25kIHRvCiAgKiBhIHJlYWwgY2FjaGUgZW50cnkgaW4gR2l0J3MgaW5kZXguCiAgKi8KLXN0YXRpYyBzdHJ1Y3Qgc3RhZ2VfZGF0YSAqaW5zZXJ0X3N0YWdlX2RhdGEoY29uc3QgY2hhciAqcGF0aCwKK3N0YXRpYyBzdHJ1Y3Qgc3RhZ2VfZGF0YSAqaW5zZXJ0X3N0YWdlX2RhdGEoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCWNvbnN0IGNoYXIgKnBhdGgsCiAJCXN0cnVjdCB0cmVlICpvLCBzdHJ1Y3QgdHJlZSAqYSwgc3RydWN0IHRyZWUgKmIsCiAJCXN0cnVjdCBzdHJpbmdfbGlzdCAqZW50cmllcykKIHsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKIAlzdHJ1Y3Qgc3RhZ2VfZGF0YSAqZSA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBzdGFnZV9kYXRhKSk7Ci0JZ2V0X3RyZWVfZW50cnlfaWZfYmxvYigmby0+b2JqZWN0Lm9pZCwgcGF0aCwKLQkJCSAgICAgICAmZS0+c3RhZ2VzWzFdLm9pZCwgJmUtPnN0YWdlc1sxXS5tb2RlKTsKLQlnZXRfdHJlZV9lbnRyeV9pZl9ibG9iKCZhLT5vYmplY3Qub2lkLCBwYXRoLAotCQkJICAgICAgICZlLT5zdGFnZXNbMl0ub2lkLCAmZS0+c3RhZ2VzWzJdLm1vZGUpOwotCWdldF90cmVlX2VudHJ5X2lmX2Jsb2IoJmItPm9iamVjdC5vaWQsIHBhdGgsCi0JCQkgICAgICAgJmUtPnN0YWdlc1szXS5vaWQsICZlLT5zdGFnZXNbM10ubW9kZSk7CisJZ2V0X3RyZWVfZW50cnlfaWZfYmxvYihyLCAmby0+b2JqZWN0Lm9pZCwgcGF0aCwgJmUtPnN0YWdlc1sxXSk7CisJZ2V0X3RyZWVfZW50cnlfaWZfYmxvYihyLCAmYS0+b2JqZWN0Lm9pZCwgcGF0aCwgJmUtPnN0YWdlc1syXSk7CisJZ2V0X3RyZWVfZW50cnlfaWZfYmxvYihyLCAmYi0+b2JqZWN0Lm9pZCwgcGF0aCwgJmUtPnN0YWdlc1szXSk7CiAJaXRlbSA9IHN0cmluZ19saXN0X2luc2VydChlbnRyaWVzLCBwYXRoKTsKIAlpdGVtLT51dGlsID0gZTsKIAlyZXR1cm4gZTsKQEAgLTUwNiwxNyArNTE1LDE3IEBACiAgKiBDcmVhdGUgYSBkaWN0aW9uYXJ5IG1hcHBpbmcgZmlsZSBuYW1lcyB0byBzdGFnZV9kYXRhIG9iamVjdHMuIFRoZQogICogZGljdGlvbmFyeSBjb250YWlucyBvbmUgZW50cnkgZm9yIGV2ZXJ5IHBhdGggd2l0aCBhIG5vbi16ZXJvIHN0YWdlIGVudHJ5LgogICovCi1zdGF0aWMgc3RydWN0IHN0cmluZ19saXN0ICpnZXRfdW5tZXJnZWQodm9pZCkKK3N0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmdldF91bm1lcmdlZChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSkKIHsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnVubWVyZ2VkID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHN0cmluZ19saXN0KSk7CiAJaW50IGk7CiAKIAl1bm1lcmdlZC0+c3RyZHVwX3N0cmluZ3MgPSAxOwogCi0JZm9yIChpID0gMDsgaSA8IGFjdGl2ZV9ucjsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IGlzdGF0ZS0+Y2FjaGVfbnI7IGkrKykgewogCQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKIAkJc3RydWN0IHN0YWdlX2RhdGEgKmU7Ci0JCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBhY3RpdmVfY2FjaGVbaV07CisJCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBpc3RhdGUtPmNhY2hlW2ldOwogCQlpZiAoIWNlX3N0YWdlKGNlKSkKIAkJCWNvbnRpbnVlOwogCkBAIC01NjAsNyArNTY5LDcgQEAKIAlyZXR1cm4gb25lbGVuIC0gdHdvbGVuOwogfQogCi1zdGF0aWMgdm9pZCByZWNvcmRfZGZfY29uZmxpY3RfZmlsZXMoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sCitzdGF0aWMgdm9pZCByZWNvcmRfZGZfY29uZmxpY3RfZmlsZXMoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwKIAkJCQkgICAgIHN0cnVjdCBzdHJpbmdfbGlzdCAqZW50cmllcykKIHsKIAkvKiBJZiB0aGVyZSBpcyBhIEQvRiBjb25mbGljdCBhbmQgdGhlIGZpbGUgZm9yIHN1Y2ggYSBjb25mbGljdApAQCAtNTg1LDcgKzU5NCw3IEBACiAJICogSWYgd2UncmUgbWVyZ2luZyBtZXJnZS1iYXNlcywgd2UgZG9uJ3Qgd2FudCB0byBib3RoZXIgd2l0aAogCSAqIGFueSB3b3JraW5nIGRpcmVjdG9yeSBjaGFuZ2VzLgogCSAqLwotCWlmIChvLT5jYWxsX2RlcHRoKQorCWlmIChvcHQtPnByaXYtPmNhbGxfZGVwdGgpCiAJCXJldHVybjsKIAogCS8qIEVuc3VyZSBEL0YgY29uZmxpY3RzIGFyZSBhZGphY2VudCBpbiB0aGUgZW50cmllcyBsaXN0LiAqLwpAQCAtNTk3LDcgKzYwNiw3IEBACiAJZGZfc29ydGVkX2VudHJpZXMuY21wID0gc3RyaW5nX2xpc3RfZGZfbmFtZV9jb21wYXJlOwogCXN0cmluZ19saXN0X3NvcnQoJmRmX3NvcnRlZF9lbnRyaWVzKTsKIAotCXN0cmluZ19saXN0X2NsZWFyKCZvLT5kZl9jb25mbGljdF9maWxlX3NldCwgMSk7CisJc3RyaW5nX2xpc3RfY2xlYXIoJm9wdC0+cHJpdi0+ZGZfY29uZmxpY3RfZmlsZV9zZXQsIDEpOwogCWZvciAoaSA9IDA7IGkgPCBkZl9zb3J0ZWRfZW50cmllcy5ucjsgaSsrKSB7CiAJCWNvbnN0IGNoYXIgKnBhdGggPSBkZl9zb3J0ZWRfZW50cmllcy5pdGVtc1tpXS5zdHJpbmc7CiAJCWludCBsZW4gPSBzdHJsZW4ocGF0aCk7CkBAIC02MTMsNyArNjIyLDcgQEAKIAkJICAgIGxlbiA+IGxhc3RfbGVuICYmCiAJCSAgICBtZW1jbXAocGF0aCwgbGFzdF9maWxlLCBsYXN0X2xlbikgPT0gMCAmJgogCQkgICAgcGF0aFtsYXN0X2xlbl0gPT0gJy8nKSB7Ci0JCQlzdHJpbmdfbGlzdF9pbnNlcnQoJm8tPmRmX2NvbmZsaWN0X2ZpbGVfc2V0LCBsYXN0X2ZpbGUpOworCQkJc3RyaW5nX2xpc3RfaW5zZXJ0KCZvcHQtPnByaXYtPmRmX2NvbmZsaWN0X2ZpbGVfc2V0LCBsYXN0X2ZpbGUpOwogCQl9CiAKIAkJLyoKQEAgLTYzMiwzMyArNjQxLDYgQEAKIAlzdHJpbmdfbGlzdF9jbGVhcigmZGZfc29ydGVkX2VudHJpZXMsIDApOwogfQogCi1zdHJ1Y3QgcmVuYW1lIHsKLQlzdHJ1Y3QgZGlmZl9maWxlcGFpciAqcGFpcjsKLQkvKgotCSAqIFB1cnBvc2Ugb2Ygc3JjX2VudHJ5IGFuZCBkc3RfZW50cnk6Ci0JICoKLQkgKiBJZiAnYmVmb3JlJyBpcyByZW5hbWVkIHRvICdhZnRlcicgdGhlbiBzcmNfZW50cnkgd2lsbCBjb250YWluCi0JICogdGhlIHZlcnNpb25zIG9mICdiZWZvcmUnIGZyb20gdGhlIG1lcmdlX2Jhc2UsIEhFQUQsIGFuZCBNRVJHRSBpbgotCSAqIHN0YWdlcyAxLCAyLCBhbmQgMzsgZHN0X2VudHJ5IHdpbGwgY29udGFpbiB0aGUgcmVzcGVjdGl2ZQotCSAqIHZlcnNpb25zIG9mICdhZnRlcicgaW4gY29ycmVzcG9uZGluZyBsb2NhdGlvbnMuICBUaHVzLCB3ZSBoYXZlIGEKLQkgKiB0b3RhbCBvZiBzaXggbW9kZXMgYW5kIG9pZHMsIHRob3VnaCBzb21lIHdpbGwgYmUgbnVsbC4gIChTdGFnZSAwCi0JICogaXMgaWdub3JlZDsgd2UncmUgaW50ZXJlc3RlZCBpbiBoYW5kbGluZyBjb25mbGljdHMuKQotCSAqCi0JICogU2luY2Ugd2UgZG9uJ3QgdHVybiBvbiBicmVhay1yZXdyaXRlcyBieSBkZWZhdWx0LCBuZWl0aGVyCi0JICogc3JjX2VudHJ5IG5vciBkc3RfZW50cnkgY2FuIGhhdmUgYWxsIHRocmVlIG9mIHRoZWlyIHN0YWdlcyBoYXZlCi0JICogbm9uLW51bGwgb2lkcywgbWVhbmluZyBhdCBtb3N0IGZvdXIgb2YgdGhlIHNpeCB3aWxsIGJlIG5vbi1udWxsLgotCSAqIEFsc28sIHNpbmNlIHRoaXMgaXMgYSByZW5hbWUsIGJvdGggc3JjX2VudHJ5IGFuZCBkc3RfZW50cnkgd2lsbAotCSAqIGhhdmUgYXQgbGVhc3Qgb25lIG5vbi1udWxsIG9pZCwgbWVhbmluZyBhdCBsZWFzdCB0d28gd2lsbCBiZQotCSAqIG5vbi1udWxsLiAgT2YgdGhlIHNpeCBvaWRzLCBhIHR5cGljYWwgcmVuYW1lIHdpbGwgaGF2ZSB0aHJlZSBiZQotCSAqIG5vbi1udWxsLiAgT25seSB0d28gaW1wbGllcyBhIHJlbmFtZS9kZWxldGUsIGFuZCBmb3VyIGltcGxpZXMgYQotCSAqIHJlbmFtZS9hZGQuCi0JICovCi0Jc3RydWN0IHN0YWdlX2RhdGEgKnNyY19lbnRyeTsKLQlzdHJ1Y3Qgc3RhZ2VfZGF0YSAqZHN0X2VudHJ5OwotCXVuc2lnbmVkIGFkZF90dXJuZWRfaW50b19yZW5hbWU6MTsKLQl1bnNpZ25lZCBwcm9jZXNzZWQ6MTsKLX07Ci0KIHN0YXRpYyBpbnQgdXBkYXRlX3N0YWdlcyhzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LCBjb25zdCBjaGFyICpwYXRoLAogCQkJIGNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpvLAogCQkJIGNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICphLApAQCAtNjc2LDQxICs2NTgsMjAgQEAKIAlpbnQgY2xlYXIgPSAxOwogCWludCBvcHRpb25zID0gQUREX0NBQ0hFX09LX1RPX0FERCB8IEFERF9DQUNIRV9TS0lQX0RGQ0hFQ0s7CiAJaWYgKGNsZWFyKQotCQlpZiAocmVtb3ZlX2ZpbGVfZnJvbV9jYWNoZShwYXRoKSkKKwkJaWYgKHJlbW92ZV9maWxlX2Zyb21faW5kZXgob3B0LT5yZXBvLT5pbmRleCwgcGF0aCkpCiAJCQlyZXR1cm4gLTE7CiAJaWYgKG8pCi0JCWlmIChhZGRfY2FjaGVpbmZvKG9wdCwgby0+bW9kZSwgJm8tPm9pZCwgcGF0aCwgMSwgMCwgb3B0aW9ucykpCisJCWlmIChhZGRfY2FjaGVpbmZvKG9wdCwgbywgcGF0aCwgMSwgMCwgb3B0aW9ucykpCiAJCQlyZXR1cm4gLTE7CiAJaWYgKGEpCi0JCWlmIChhZGRfY2FjaGVpbmZvKG9wdCwgYS0+bW9kZSwgJmEtPm9pZCwgcGF0aCwgMiwgMCwgb3B0aW9ucykpCisJCWlmIChhZGRfY2FjaGVpbmZvKG9wdCwgYSwgcGF0aCwgMiwgMCwgb3B0aW9ucykpCiAJCQlyZXR1cm4gLTE7CiAJaWYgKGIpCi0JCWlmIChhZGRfY2FjaGVpbmZvKG9wdCwgYi0+bW9kZSwgJmItPm9pZCwgcGF0aCwgMywgMCwgb3B0aW9ucykpCisJCWlmIChhZGRfY2FjaGVpbmZvKG9wdCwgYiwgcGF0aCwgMywgMCwgb3B0aW9ucykpCiAJCQlyZXR1cm4gLTE7CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgdXBkYXRlX3N0YWdlc19mb3Jfc3RhZ2VfZGF0YShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LAotCQkJCQljb25zdCBjaGFyICpwYXRoLAotCQkJCQljb25zdCBzdHJ1Y3Qgc3RhZ2VfZGF0YSAqc3RhZ2VfZGF0YSkKLXsKLQlzdHJ1Y3QgZGlmZl9maWxlc3BlYyBvLCBhLCBiOwotCi0Jby5tb2RlID0gc3RhZ2VfZGF0YS0+c3RhZ2VzWzFdLm1vZGU7Ci0Jb2lkY3B5KCZvLm9pZCwgJnN0YWdlX2RhdGEtPnN0YWdlc1sxXS5vaWQpOwotCi0JYS5tb2RlID0gc3RhZ2VfZGF0YS0+c3RhZ2VzWzJdLm1vZGU7Ci0Jb2lkY3B5KCZhLm9pZCwgJnN0YWdlX2RhdGEtPnN0YWdlc1syXS5vaWQpOwotCi0JYi5tb2RlID0gc3RhZ2VfZGF0YS0+c3RhZ2VzWzNdLm1vZGU7Ci0Jb2lkY3B5KCZiLm9pZCwgJnN0YWdlX2RhdGEtPnN0YWdlc1szXS5vaWQpOwotCi0JcmV0dXJuIHVwZGF0ZV9zdGFnZXMob3B0LCBwYXRoLAotCQkJICAgICBpc19udWxsX29pZCgmby5vaWQpID8gTlVMTCA6ICZvLAotCQkJICAgICBpc19udWxsX29pZCgmYS5vaWQpID8gTlVMTCA6ICZhLAotCQkJICAgICBpc19udWxsX29pZCgmYi5vaWQpID8gTlVMTCA6ICZiKTsKLX0KLQogc3RhdGljIHZvaWQgdXBkYXRlX2VudHJ5KHN0cnVjdCBzdGFnZV9kYXRhICplbnRyeSwKIAkJCSBzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqbywKIAkJCSBzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqYSwKQEAgLTcyNSwyMCArNjg2LDIxIEBACiAJb2lkY3B5KCZlbnRyeS0+c3RhZ2VzWzNdLm9pZCwgJmItPm9pZCk7CiB9CiAKLXN0YXRpYyBpbnQgcmVtb3ZlX2ZpbGUoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sIGludCBjbGVhbiwKK3N0YXRpYyBpbnQgcmVtb3ZlX2ZpbGUoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwgaW50IGNsZWFuLAogCQkgICAgICAgY29uc3QgY2hhciAqcGF0aCwgaW50IG5vX3dkKQogewotCWludCB1cGRhdGVfY2FjaGUgPSBvLT5jYWxsX2RlcHRoIHx8IGNsZWFuOwotCWludCB1cGRhdGVfd29ya2luZ19kaXJlY3RvcnkgPSAhby0+Y2FsbF9kZXB0aCAmJiAhbm9fd2Q7CisJaW50IHVwZGF0ZV9jYWNoZSA9IG9wdC0+cHJpdi0+Y2FsbF9kZXB0aCB8fCBjbGVhbjsKKwlpbnQgdXBkYXRlX3dvcmtpbmdfZGlyZWN0b3J5ID0gIW9wdC0+cHJpdi0+Y2FsbF9kZXB0aCAmJiAhbm9fd2Q7CiAKIAlpZiAodXBkYXRlX2NhY2hlKSB7Ci0JCWlmIChyZW1vdmVfZmlsZV9mcm9tX2NhY2hlKHBhdGgpKQorCQlpZiAocmVtb3ZlX2ZpbGVfZnJvbV9pbmRleChvcHQtPnJlcG8tPmluZGV4LCBwYXRoKSkKIAkJCXJldHVybiAtMTsKIAl9CiAJaWYgKHVwZGF0ZV93b3JraW5nX2RpcmVjdG9yeSkgewogCQlpZiAoaWdub3JlX2Nhc2UpIHsKIAkJCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2U7Ci0JCQljZSA9IGNhY2hlX2ZpbGVfZXhpc3RzKHBhdGgsIHN0cmxlbihwYXRoKSwgaWdub3JlX2Nhc2UpOworCQkJY2UgPSBpbmRleF9maWxlX2V4aXN0cyhvcHQtPnJlcG8tPmluZGV4LCBwYXRoLCBzdHJsZW4ocGF0aCksCisJCQkJCSAgICAgICBpZ25vcmVfY2FzZSk7CiAJCQlpZiAoY2UgJiYgY2Vfc3RhZ2UoY2UpID09IDAgJiYgc3RyY21wKHBhdGgsIGNlLT5uYW1lKSkKIAkJCQlyZXR1cm4gMDsKIAkJfQpAQCAtNzU4LDcgKzcyMCw5IEBACiAJCQlvdXQtPmJ1ZltpXSA9ICdfJzsKIH0KIAotc3RhdGljIGNoYXIgKnVuaXF1ZV9wYXRoKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLCBjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpicmFuY2gpCitzdGF0aWMgY2hhciAqdW5pcXVlX3BhdGgoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwKKwkJCSBjb25zdCBjaGFyICpwYXRoLAorCQkJIGNvbnN0IGNoYXIgKmJyYW5jaCkKIHsKIAlzdHJ1Y3QgcGF0aF9oYXNobWFwX2VudHJ5ICplbnRyeTsKIAlzdHJ1Y3Qgc3RyYnVmIG5ld3BhdGggPSBTVFJCVUZfSU5JVDsKQEAgLTc2OSwxNiArNzMzLDE2IEBACiAJYWRkX2ZsYXR0ZW5lZF9wYXRoKCZuZXdwYXRoLCBicmFuY2gpOwogCiAJYmFzZV9sZW4gPSBuZXdwYXRoLmxlbjsKLQl3aGlsZSAoaGFzaG1hcF9nZXRfZnJvbV9oYXNoKCZvLT5jdXJyZW50X2ZpbGVfZGlyX3NldCwKKwl3aGlsZSAoaGFzaG1hcF9nZXRfZnJvbV9oYXNoKCZvcHQtPnByaXYtPmN1cnJlbnRfZmlsZV9kaXJfc2V0LAogCQkJCSAgICAgcGF0aF9oYXNoKG5ld3BhdGguYnVmKSwgbmV3cGF0aC5idWYpIHx8Ci0JICAgICAgICghby0+Y2FsbF9kZXB0aCAmJiBmaWxlX2V4aXN0cyhuZXdwYXRoLmJ1ZikpKSB7CisJICAgICAgICghb3B0LT5wcml2LT5jYWxsX2RlcHRoICYmIGZpbGVfZXhpc3RzKG5ld3BhdGguYnVmKSkpIHsKIAkJc3RyYnVmX3NldGxlbigmbmV3cGF0aCwgYmFzZV9sZW4pOwogCQlzdHJidWZfYWRkZigmbmV3cGF0aCwgIl8lZCIsIHN1ZmZpeCsrKTsKIAl9CiAKIAlGTEVYX0FMTE9DX01FTShlbnRyeSwgcGF0aCwgbmV3cGF0aC5idWYsIG5ld3BhdGgubGVuKTsKLQloYXNobWFwX2VudHJ5X2luaXQoZW50cnksIHBhdGhfaGFzaChlbnRyeS0+cGF0aCkpOwotCWhhc2htYXBfYWRkKCZvLT5jdXJyZW50X2ZpbGVfZGlyX3NldCwgZW50cnkpOworCWhhc2htYXBfZW50cnlfaW5pdCgmZW50cnktPmUsIHBhdGhfaGFzaChlbnRyeS0+cGF0aCkpOworCWhhc2htYXBfYWRkKCZvcHQtPnByaXYtPmN1cnJlbnRfZmlsZV9kaXJfc2V0LCAmZW50cnktPmUpOwogCXJldHVybiBzdHJidWZfZGV0YWNoKCZuZXdwYXRoLCBOVUxMKTsKIH0KIApAQCAtNzg4LDcgKzc1Miw4IEBACiAgKiBjaGVjayB0aGUgd29ya2luZyBkaXJlY3RvcnkuICBJZiBlbXB0eV9vayBpcyBub24temVybywgYWxzbyByZXR1cm4KICAqIDAgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIHdvcmtpbmctdHJlZSBkaXIgZXhpc3RzIGJ1dCBpcyBlbXB0eS4KICAqLwotc3RhdGljIGludCBkaXJfaW5fd2F5KGNvbnN0IGNoYXIgKnBhdGgsIGludCBjaGVja193b3JraW5nX2NvcHksIGludCBlbXB0eV9vaykKK3N0YXRpYyBpbnQgZGlyX2luX3dheShzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgY29uc3QgY2hhciAqcGF0aCwKKwkJICAgICAgaW50IGNoZWNrX3dvcmtpbmdfY29weSwgaW50IGVtcHR5X29rKQogewogCWludCBwb3M7CiAJc3RydWN0IHN0cmJ1ZiBkaXJwYXRoID0gU1RSQlVGX0lOSVQ7CkBAIC03OTcsMjkgKzc2MiwzMCBAQAogCXN0cmJ1Zl9hZGRzdHIoJmRpcnBhdGgsIHBhdGgpOwogCXN0cmJ1Zl9hZGRjaCgmZGlycGF0aCwgJy8nKTsKIAotCXBvcyA9IGNhY2hlX25hbWVfcG9zKGRpcnBhdGguYnVmLCBkaXJwYXRoLmxlbik7CisJcG9zID0gaW5kZXhfbmFtZV9wb3MoaXN0YXRlLCBkaXJwYXRoLmJ1ZiwgZGlycGF0aC5sZW4pOwogCiAJaWYgKHBvcyA8IDApCiAJCXBvcyA9IC0xIC0gcG9zOwotCWlmIChwb3MgPCBhY3RpdmVfbnIgJiYKLQkgICAgIXN0cm5jbXAoZGlycGF0aC5idWYsIGFjdGl2ZV9jYWNoZVtwb3NdLT5uYW1lLCBkaXJwYXRoLmxlbikpIHsKKwlpZiAocG9zIDwgaXN0YXRlLT5jYWNoZV9uciAmJgorCSAgICAhc3RybmNtcChkaXJwYXRoLmJ1ZiwgaXN0YXRlLT5jYWNoZVtwb3NdLT5uYW1lLCBkaXJwYXRoLmxlbikpIHsKIAkJc3RyYnVmX3JlbGVhc2UoJmRpcnBhdGgpOwogCQlyZXR1cm4gMTsKIAl9CiAKIAlzdHJidWZfcmVsZWFzZSgmZGlycGF0aCk7CiAJcmV0dXJuIGNoZWNrX3dvcmtpbmdfY29weSAmJiAhbHN0YXQocGF0aCwgJnN0KSAmJiBTX0lTRElSKHN0LnN0X21vZGUpICYmCi0JCSEoZW1wdHlfb2sgJiYgaXNfZW1wdHlfZGlyKHBhdGgpKTsKKwkJIShlbXB0eV9vayAmJiBpc19lbXB0eV9kaXIocGF0aCkpICYmCisJCSFoYXNfc3ltbGlua19sZWFkaW5nX3BhdGgocGF0aCwgc3RybGVuKHBhdGgpKTsKIH0KIAogLyoKICAqIFJldHVybnMgd2hldGhlciBwYXRoIHdhcyB0cmFja2VkIGluIHRoZSBpbmRleCBiZWZvcmUgdGhlIG1lcmdlIHN0YXJ0ZWQsCiAgKiBhbmQgaXRzIG9pZCBhbmQgbW9kZSBtYXRjaCB0aGUgc3BlY2lmaWVkIHZhbHVlcwogICovCi1zdGF0aWMgaW50IHdhc190cmFja2VkX2FuZF9tYXRjaGVzKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLCBjb25zdCBjaGFyICpwYXRoLAotCQkJCSAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgdW5zaWduZWQgbW9kZSkKK3N0YXRpYyBpbnQgd2FzX3RyYWNrZWRfYW5kX21hdGNoZXMoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwgY29uc3QgY2hhciAqcGF0aCwKKwkJCQkgICBjb25zdCBzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqYmxvYikKIHsKLQlpbnQgcG9zID0gaW5kZXhfbmFtZV9wb3MoJm8tPm9yaWdfaW5kZXgsIHBhdGgsIHN0cmxlbihwYXRoKSk7CisJaW50IHBvcyA9IGluZGV4X25hbWVfcG9zKCZvcHQtPnByaXYtPm9yaWdfaW5kZXgsIHBhdGgsIHN0cmxlbihwYXRoKSk7CiAJc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKIAogCWlmICgwID4gcG9zKQpAQCAtODI3LDE2ICs3OTMsMTYgQEAKIAkJcmV0dXJuIDA7CiAKIAkvKiBTZWUgaWYgdGhlIGZpbGUgd2Ugd2VyZSB0cmFja2luZyBiZWZvcmUgbWF0Y2hlcyAqLwotCWNlID0gby0+b3JpZ19pbmRleC5jYWNoZVtwb3NdOwotCXJldHVybiAob2lkX2VxKCZjZS0+b2lkLCBvaWQpICYmIGNlLT5jZV9tb2RlID09IG1vZGUpOworCWNlID0gb3B0LT5wcml2LT5vcmlnX2luZGV4LmNhY2hlW3Bvc107CisJcmV0dXJuIChvaWRlcSgmY2UtPm9pZCwgJmJsb2ItPm9pZCkgJiYgY2UtPmNlX21vZGUgPT0gYmxvYi0+bW9kZSk7CiB9CiAKIC8qCiAgKiBSZXR1cm5zIHdoZXRoZXIgcGF0aCB3YXMgdHJhY2tlZCBpbiB0aGUgaW5kZXggYmVmb3JlIHRoZSBtZXJnZSBzdGFydGVkCiAgKi8KLXN0YXRpYyBpbnQgd2FzX3RyYWNrZWQoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sIGNvbnN0IGNoYXIgKnBhdGgpCitzdGF0aWMgaW50IHdhc190cmFja2VkKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsIGNvbnN0IGNoYXIgKnBhdGgpCiB7Ci0JaW50IHBvcyA9IGluZGV4X25hbWVfcG9zKCZvLT5vcmlnX2luZGV4LCBwYXRoLCBzdHJsZW4ocGF0aCkpOworCWludCBwb3MgPSBpbmRleF9uYW1lX3Bvcygmb3B0LT5wcml2LT5vcmlnX2luZGV4LCBwYXRoLCBzdHJsZW4ocGF0aCkpOwogCiAJaWYgKDAgPD0gcG9zKQogCQkvKiB3ZSB3ZXJlIHRyYWNraW5nIHRoaXMgcGF0aCBiZWZvcmUgdGhlIG1lcmdlICovCkBAIC04NDUsMTEgKzgxMSwxMyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHdvdWxkX2xvc2VfdW50cmFja2VkKGNvbnN0IGNoYXIgKnBhdGgpCitzdGF0aWMgaW50IHdvdWxkX2xvc2VfdW50cmFja2VkKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsIGNvbnN0IGNoYXIgKnBhdGgpCiB7CisJc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUgPSBvcHQtPnJlcG8tPmluZGV4OworCiAJLyoKIAkgKiBUaGlzIG1heSBsb29rIGxpa2UgaXQgY2FuIGJlIHNpbXBsaWZpZWQgdG86Ci0JICogICByZXR1cm4gIXdhc190cmFja2VkKG8sIHBhdGgpICYmIGZpbGVfZXhpc3RzKHBhdGgpCisJICogICByZXR1cm4gIXdhc190cmFja2VkKG9wdCwgcGF0aCkgJiYgZmlsZV9leGlzdHMocGF0aCkKIAkgKiBidXQgaXQgY2FuJ3QuICBUaGlzIGZ1bmN0aW9uIG5lZWRzIHRvIGtub3cgd2hldGhlciBwYXRoIHdhcyBpbgogCSAqIHRoZSB3b3JraW5nIHRyZWUgZHVlIHRvIEVJVEhFUiBoYXZpbmcgYmVlbiB0cmFja2VkIGluIHRoZSBpbmRleAogCSAqIGJlZm9yZSB0aGUgbWVyZ2UgT1IgaGF2aW5nIGJlZW4gcHV0IGludG8gdGhlIHdvcmtpbmcgY29weSBhbmQKQEAgLTg2NCwxOSArODMyLDE5IEBACiAJICogdXBkYXRlX2ZpbGUoKS93b3VsZF9sb3NlX3VudHJhY2tlZCgpOyBzZWUgZXZlcnkgY29tbWVudCBpbiB0aGlzCiAJICogZmlsZSB3aGljaCBtZW50aW9ucyAidXBkYXRlX3N0YWdlcyIuCiAJICovCi0JaW50IHBvcyA9IGNhY2hlX25hbWVfcG9zKHBhdGgsIHN0cmxlbihwYXRoKSk7CisJaW50IHBvcyA9IGluZGV4X25hbWVfcG9zKGlzdGF0ZSwgcGF0aCwgc3RybGVuKHBhdGgpKTsKIAogCWlmIChwb3MgPCAwKQogCQlwb3MgPSAtMSAtIHBvczsKLQl3aGlsZSAocG9zIDwgYWN0aXZlX25yICYmCi0JICAgICAgICFzdHJjbXAocGF0aCwgYWN0aXZlX2NhY2hlW3Bvc10tPm5hbWUpKSB7CisJd2hpbGUgKHBvcyA8IGlzdGF0ZS0+Y2FjaGVfbnIgJiYKKwkgICAgICAgIXN0cmNtcChwYXRoLCBpc3RhdGUtPmNhY2hlW3Bvc10tPm5hbWUpKSB7CiAJCS8qCiAJCSAqIElmIHN0YWdlICMwLCBpdCBpcyBkZWZpbml0ZWx5IHRyYWNrZWQuCiAJCSAqIElmIGl0IGhhcyBzdGFnZSAjMiB0aGVuIGl0IHdhcyB0cmFja2VkCiAJCSAqIGJlZm9yZSB0aGlzIG1lcmdlIHN0YXJ0ZWQuICBBbGwgb3RoZXIKIAkJICogY2FzZXMgdGhlIHBhdGggd2FzIG5vdCB0cmFja2VkLgogCQkgKi8KLQkJc3dpdGNoIChjZV9zdGFnZShhY3RpdmVfY2FjaGVbcG9zXSkpIHsKKwkJc3dpdGNoIChjZV9zdGFnZShpc3RhdGUtPmNhY2hlW3Bvc10pKSB7CiAJCWNhc2UgMDoKIAkJY2FzZSAyOgogCQkJcmV0dXJuIDA7CkBAIC04ODYsMzggKzg1NCwzOCBAQAogCXJldHVybiBmaWxlX2V4aXN0cyhwYXRoKTsKIH0KIAotc3RhdGljIGludCB3YXNfZGlydHkoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sIGNvbnN0IGNoYXIgKnBhdGgpCitzdGF0aWMgaW50IHdhc19kaXJ0eShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LCBjb25zdCBjaGFyICpwYXRoKQogewogCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2U7CiAJaW50IGRpcnR5ID0gMTsKIAotCWlmIChvLT5jYWxsX2RlcHRoIHx8ICF3YXNfdHJhY2tlZChvLCBwYXRoKSkKKwlpZiAob3B0LT5wcml2LT5jYWxsX2RlcHRoIHx8ICF3YXNfdHJhY2tlZChvcHQsIHBhdGgpKQogCQlyZXR1cm4gIWRpcnR5OwogCi0JY2UgPSBpbmRleF9maWxlX2V4aXN0cyhvLT51bnBhY2tfb3B0cy5zcmNfaW5kZXgsCisJY2UgPSBpbmRleF9maWxlX2V4aXN0cyhvcHQtPnByaXYtPnVucGFja19vcHRzLnNyY19pbmRleCwKIAkJCSAgICAgICBwYXRoLCBzdHJsZW4ocGF0aCksIGlnbm9yZV9jYXNlKTsKLQlkaXJ0eSA9IHZlcmlmeV91cHRvZGF0ZShjZSwgJm8tPnVucGFja19vcHRzKSAhPSAwOworCWRpcnR5ID0gdmVyaWZ5X3VwdG9kYXRlKGNlLCAmb3B0LT5wcml2LT51bnBhY2tfb3B0cykgIT0gMDsKIAlyZXR1cm4gZGlydHk7CiB9CiAKLXN0YXRpYyBpbnQgbWFrZV9yb29tX2Zvcl9wYXRoKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLCBjb25zdCBjaGFyICpwYXRoKQorc3RhdGljIGludCBtYWtlX3Jvb21fZm9yX3BhdGgoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwgY29uc3QgY2hhciAqcGF0aCkKIHsKIAlpbnQgc3RhdHVzLCBpOwogCWNvbnN0IGNoYXIgKm1zZyA9IF8oImZhaWxlZCB0byBjcmVhdGUgcGF0aCAnJXMnJXMiKTsKIAogCS8qIFVubGluayBhbnkgRC9GIGNvbmZsaWN0IGZpbGVzIHRoYXQgYXJlIGluIHRoZSB3YXkgKi8KLQlmb3IgKGkgPSAwOyBpIDwgby0+ZGZfY29uZmxpY3RfZmlsZV9zZXQubnI7IGkrKykgewotCQljb25zdCBjaGFyICpkZl9wYXRoID0gby0+ZGZfY29uZmxpY3RfZmlsZV9zZXQuaXRlbXNbaV0uc3RyaW5nOworCWZvciAoaSA9IDA7IGkgPCBvcHQtPnByaXYtPmRmX2NvbmZsaWN0X2ZpbGVfc2V0Lm5yOyBpKyspIHsKKwkJY29uc3QgY2hhciAqZGZfcGF0aCA9IG9wdC0+cHJpdi0+ZGZfY29uZmxpY3RfZmlsZV9zZXQuaXRlbXNbaV0uc3RyaW5nOwogCQlzaXplX3QgcGF0aGxlbiA9IHN0cmxlbihwYXRoKTsKIAkJc2l6ZV90IGRmX3BhdGhsZW4gPSBzdHJsZW4oZGZfcGF0aCk7CiAJCWlmIChkZl9wYXRobGVuIDwgcGF0aGxlbiAmJgogCQkgICAgcGF0aFtkZl9wYXRobGVuXSA9PSAnLycgJiYKIAkJICAgIHN0cm5jbXAocGF0aCwgZGZfcGF0aCwgZGZfcGF0aGxlbikgPT0gMCkgewotCQkJb3V0cHV0KG8sIDMsCisJCQlvdXRwdXQob3B0LCAzLAogCQkJICAgICAgIF8oIlJlbW92aW5nICVzIHRvIG1ha2Ugcm9vbSBmb3Igc3ViZGlyZWN0b3J5XG4iKSwKIAkJCSAgICAgICBkZl9wYXRoKTsKIAkJCXVubGluayhkZl9wYXRoKTsKLQkJCXVuc29ydGVkX3N0cmluZ19saXN0X2RlbGV0ZV9pdGVtKCZvLT5kZl9jb25mbGljdF9maWxlX3NldCwKKwkJCXVuc29ydGVkX3N0cmluZ19saXN0X2RlbGV0ZV9pdGVtKCZvcHQtPnByaXYtPmRmX2NvbmZsaWN0X2ZpbGVfc2V0LAogCQkJCQkJCSBpLCAwKTsKIAkJCWJyZWFrOwogCQl9CkBAIC05MjgsMTYgKzg5NiwxNiBAQAogCWlmIChzdGF0dXMpIHsKIAkJaWYgKHN0YXR1cyA9PSBTQ0xEX0VYSVNUUykKIAkJCS8qIHNvbWV0aGluZyBlbHNlIGV4aXN0cyAqLwotCQkJcmV0dXJuIGVycihvLCBtc2csIHBhdGgsIF8oIjogcGVyaGFwcyBhIEQvRiBjb25mbGljdD8iKSk7Ci0JCXJldHVybiBlcnIobywgbXNnLCBwYXRoLCAiIik7CisJCQlyZXR1cm4gZXJyKG9wdCwgbXNnLCBwYXRoLCBfKCI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IikpOworCQlyZXR1cm4gZXJyKG9wdCwgbXNnLCBwYXRoLCAiIik7CiAJfQogCiAJLyoKIAkgKiBEbyBub3QgdW5saW5rIGEgZmlsZSBpbiB0aGUgd29yayB0cmVlIGlmIHdlIGFyZSBub3QKIAkgKiB0cmFja2luZyBpdC4KIAkgKi8KLQlpZiAod291bGRfbG9zZV91bnRyYWNrZWQocGF0aCkpCi0JCXJldHVybiBlcnIobywgXygicmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAnJXMnIiksCisJaWYgKHdvdWxkX2xvc2VfdW50cmFja2VkKG9wdCwgcGF0aCkpCisJCXJldHVybiBlcnIob3B0LCBfKCJyZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICclcyciKSwKIAkJCSAgIHBhdGgpOwogCiAJLyogU3VjY2Vzc2Z1bCB1bmxpbmsgaXMgZ29vZC4uICovCkBAIC05NDcsMTkgKzkxNSwxOCBAQAogCWlmIChlcnJubyA9PSBFTk9FTlQpCiAJCXJldHVybiAwOwogCS8qIC4uIGJ1dCBub3Qgc29tZSBvdGhlciBlcnJvciAod2hvIHJlYWxseSBjYXJlcyB3aGF0PykgKi8KLQlyZXR1cm4gZXJyKG8sIG1zZywgcGF0aCwgXygiOiBwZXJoYXBzIGEgRC9GIGNvbmZsaWN0PyIpKTsKKwlyZXR1cm4gZXJyKG9wdCwgbXNnLCBwYXRoLCBfKCI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IikpOwogfQogCi1zdGF0aWMgaW50IHVwZGF0ZV9maWxlX2ZsYWdzKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAotCQkJICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCi0JCQkgICAgIHVuc2lnbmVkIG1vZGUsCitzdGF0aWMgaW50IHVwZGF0ZV9maWxlX2ZsYWdzKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsCisJCQkgICAgIGNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpjb250ZW50cywKIAkJCSAgICAgY29uc3QgY2hhciAqcGF0aCwKIAkJCSAgICAgaW50IHVwZGF0ZV9jYWNoZSwKIAkJCSAgICAgaW50IHVwZGF0ZV93ZCkKIHsKIAlpbnQgcmV0ID0gMDsKIAotCWlmIChvLT5jYWxsX2RlcHRoKQorCWlmIChvcHQtPnByaXYtPmNhbGxfZGVwdGgpCiAJCXVwZGF0ZV93ZCA9IDA7CiAKIAlpZiAodXBkYXRlX3dkKSB7CkBAIC05NjcsNyArOTM0LDcgQEAKIAkJdm9pZCAqYnVmOwogCQl1bnNpZ25lZCBsb25nIHNpemU7CiAKLQkJaWYgKFNfSVNHSVRMSU5LKG1vZGUpKSB7CisJCWlmIChTX0lTR0lUTElOSyhjb250ZW50cy0+bW9kZSkpIHsKIAkJCS8qCiAJCQkgKiBXZSBtYXkgbGF0ZXIgZGVjaWRlIHRvIHJlY3Vyc2l2ZWx5IGRlc2NlbmQgaW50bwogCQkJICogdGhlIHN1Ym1vZHVsZSBkaXJlY3RvcnkgYW5kIHVwZGF0ZSBpdHMgaW5kZXgKQEAgLTk3NywxMDYgKzk0NCwxMTQgQEAKIAkJCWdvdG8gdXBkYXRlX2luZGV4OwogCQl9CiAKLQkJYnVmID0gcmVhZF9vYmplY3RfZmlsZShvaWQsICZ0eXBlLCAmc2l6ZSk7Ci0JCWlmICghYnVmKQotCQkJcmV0dXJuIGVycihvLCBfKCJjYW5ub3QgcmVhZCBvYmplY3QgJXMgJyVzJyIpLCBvaWRfdG9faGV4KG9pZCksIHBhdGgpOwotCQlpZiAodHlwZSAhPSBPQkpfQkxPQikgewotCQkJcmV0ID0gZXJyKG8sIF8oImJsb2IgZXhwZWN0ZWQgZm9yICVzICclcyciKSwgb2lkX3RvX2hleChvaWQpLCBwYXRoKTsKKwkJYnVmID0gcmVhZF9vYmplY3RfZmlsZSgmY29udGVudHMtPm9pZCwgJnR5cGUsICZzaXplKTsKKwkJaWYgKCFidWYpIHsKKwkJCXJldCA9IGVycihvcHQsIF8oImNhbm5vdCByZWFkIG9iamVjdCAlcyAnJXMnIiksCisJCQkJICBvaWRfdG9faGV4KCZjb250ZW50cy0+b2lkKSwgcGF0aCk7CiAJCQlnb3RvIGZyZWVfYnVmOwogCQl9Ci0JCWlmIChTX0lTUkVHKG1vZGUpKSB7CisJCWlmICh0eXBlICE9IE9CSl9CTE9CKSB7CisJCQlyZXQgPSBlcnIob3B0LCBfKCJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIiksCisJCQkJICBvaWRfdG9faGV4KCZjb250ZW50cy0+b2lkKSwgcGF0aCk7CisJCQlnb3RvIGZyZWVfYnVmOworCQl9CisJCWlmIChTX0lTUkVHKGNvbnRlbnRzLT5tb2RlKSkgewogCQkJc3RydWN0IHN0cmJ1ZiBzdHJidWYgPSBTVFJCVUZfSU5JVDsKLQkJCWlmIChjb252ZXJ0X3RvX3dvcmtpbmdfdHJlZSgmdGhlX2luZGV4LCBwYXRoLCBidWYsIHNpemUsICZzdHJidWYpKSB7CisJCQlpZiAoY29udmVydF90b193b3JraW5nX3RyZWUob3B0LT5yZXBvLT5pbmRleCwKKwkJCQkJCSAgICBwYXRoLCBidWYsIHNpemUsICZzdHJidWYpKSB7CiAJCQkJZnJlZShidWYpOwogCQkJCXNpemUgPSBzdHJidWYubGVuOwogCQkJCWJ1ZiA9IHN0cmJ1Zl9kZXRhY2goJnN0cmJ1ZiwgTlVMTCk7CiAJCQl9CiAJCX0KIAotCQlpZiAobWFrZV9yb29tX2Zvcl9wYXRoKG8sIHBhdGgpIDwgMCkgeworCQlpZiAobWFrZV9yb29tX2Zvcl9wYXRoKG9wdCwgcGF0aCkgPCAwKSB7CiAJCQl1cGRhdGVfd2QgPSAwOwogCQkJZ290byBmcmVlX2J1ZjsKIAkJfQotCQlpZiAoU19JU1JFRyhtb2RlKSB8fCAoIWhhc19zeW1saW5rcyAmJiBTX0lTTE5LKG1vZGUpKSkgeworCQlpZiAoU19JU1JFRyhjb250ZW50cy0+bW9kZSkgfHwKKwkJICAgICghaGFzX3N5bWxpbmtzICYmIFNfSVNMTksoY29udGVudHMtPm1vZGUpKSkgewogCQkJaW50IGZkOwotCQkJaWYgKG1vZGUgJiAwMTAwKQotCQkJCW1vZGUgPSAwNzc3OwotCQkJZWxzZQotCQkJCW1vZGUgPSAwNjY2OworCQkJaW50IG1vZGUgPSAoY29udGVudHMtPm1vZGUgJiAwMTAwID8gMDc3NyA6IDA2NjYpOworCiAJCQlmZCA9IG9wZW4ocGF0aCwgT19XUk9OTFkgfCBPX1RSVU5DIHwgT19DUkVBVCwgbW9kZSk7CiAJCQlpZiAoZmQgPCAwKSB7Ci0JCQkJcmV0ID0gZXJyKG8sIF8oImZhaWxlZCB0byBvcGVuICclcyc6ICVzIiksCisJCQkJcmV0ID0gZXJyKG9wdCwgXygiZmFpbGVkIHRvIG9wZW4gJyVzJzogJXMiKSwKIAkJCQkJICBwYXRoLCBzdHJlcnJvcihlcnJubykpOwogCQkJCWdvdG8gZnJlZV9idWY7CiAJCQl9CiAJCQl3cml0ZV9pbl9mdWxsKGZkLCBidWYsIHNpemUpOwogCQkJY2xvc2UoZmQpOwotCQl9IGVsc2UgaWYgKFNfSVNMTksobW9kZSkpIHsKKwkJfSBlbHNlIGlmIChTX0lTTE5LKGNvbnRlbnRzLT5tb2RlKSkgewogCQkJY2hhciAqbG5rID0geG1lbWR1cHooYnVmLCBzaXplKTsKIAkJCXNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXNfY29uc3QocGF0aCk7CiAJCQl1bmxpbmsocGF0aCk7CiAJCQlpZiAoc3ltbGluayhsbmssIHBhdGgpKQotCQkJCXJldCA9IGVycihvLCBfKCJmYWlsZWQgdG8gc3ltbGluayAnJXMnOiAlcyIpLAorCQkJCXJldCA9IGVycihvcHQsIF8oImZhaWxlZCB0byBzeW1saW5rICclcyc6ICVzIiksCiAJCQkJCSAgcGF0aCwgc3RyZXJyb3IoZXJybm8pKTsKIAkJCWZyZWUobG5rKTsKIAkJfSBlbHNlCi0JCQlyZXQgPSBlcnIobywKKwkJCXJldCA9IGVycihvcHQsCiAJCQkJICBfKCJkbyBub3Qga25vdyB3aGF0IHRvIGRvIHdpdGggJTA2byAlcyAnJXMnIiksCi0JCQkJICBtb2RlLCBvaWRfdG9faGV4KG9pZCksIHBhdGgpOworCQkJCSAgY29udGVudHMtPm1vZGUsIG9pZF90b19oZXgoJmNvbnRlbnRzLT5vaWQpLCBwYXRoKTsKIAlmcmVlX2J1ZjoKIAkJZnJlZShidWYpOwogCX0KIHVwZGF0ZV9pbmRleDoKLQlpZiAoIXJldCAmJiB1cGRhdGVfY2FjaGUpCi0JCWlmIChhZGRfY2FjaGVpbmZvKG8sIG1vZGUsIG9pZCwgcGF0aCwgMCwgdXBkYXRlX3dkLAorCWlmICghcmV0ICYmIHVwZGF0ZV9jYWNoZSkgeworCQlpbnQgcmVmcmVzaCA9ICghb3B0LT5wcml2LT5jYWxsX2RlcHRoICYmCisJCQkgICAgICAgY29udGVudHMtPm1vZGUgIT0gU19JRkdJVExJTkspOworCQlpZiAoYWRkX2NhY2hlaW5mbyhvcHQsIGNvbnRlbnRzLCBwYXRoLCAwLCByZWZyZXNoLAogCQkJCSAgQUREX0NBQ0hFX09LX1RPX0FERCkpCiAJCQlyZXR1cm4gLTE7CisJfQogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgdXBkYXRlX2ZpbGUoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sCitzdGF0aWMgaW50IHVwZGF0ZV9maWxlKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsCiAJCSAgICAgICBpbnQgY2xlYW4sCi0JCSAgICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCi0JCSAgICAgICB1bnNpZ25lZCBtb2RlLAorCQkgICAgICAgY29uc3Qgc3RydWN0IGRpZmZfZmlsZXNwZWMgKmNvbnRlbnRzLAogCQkgICAgICAgY29uc3QgY2hhciAqcGF0aCkKIHsKLQlyZXR1cm4gdXBkYXRlX2ZpbGVfZmxhZ3Mobywgb2lkLCBtb2RlLCBwYXRoLCBvLT5jYWxsX2RlcHRoIHx8IGNsZWFuLCAhby0+Y2FsbF9kZXB0aCk7CisJcmV0dXJuIHVwZGF0ZV9maWxlX2ZsYWdzKG9wdCwgY29udGVudHMsIHBhdGgsCisJCQkJIG9wdC0+cHJpdi0+Y2FsbF9kZXB0aCB8fCBjbGVhbiwgIW9wdC0+cHJpdi0+Y2FsbF9kZXB0aCk7CiB9CiAKIC8qIExvdyBsZXZlbCBmaWxlIG1lcmdpbmcsIHVwZGF0ZSBhbmQgcmVtb3ZhbCAqLwogCiBzdHJ1Y3QgbWVyZ2VfZmlsZV9pbmZvIHsKLQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKLQl1bnNpZ25lZCBtb2RlOworCXN0cnVjdCBkaWZmX2ZpbGVzcGVjIGJsb2I7IC8qIG1vc3RseSB1c2Ugb2lkICYgbW9kZTsgc29tZXRpbWVzIHBhdGggKi8KIAl1bnNpZ25lZCBjbGVhbjoxLAogCQkgbWVyZ2U6MTsKIH07CiAKLXN0YXRpYyBpbnQgbWVyZ2VfM3dheShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKK3N0YXRpYyBpbnQgbWVyZ2VfM3dheShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LAogCQkgICAgICBtbWJ1ZmZlcl90ICpyZXN1bHRfYnVmLAotCQkgICAgICBjb25zdCBzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqb25lLAorCQkgICAgICBjb25zdCBzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqbywKIAkJICAgICAgY29uc3Qgc3RydWN0IGRpZmZfZmlsZXNwZWMgKmEsCiAJCSAgICAgIGNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpiLAogCQkgICAgICBjb25zdCBjaGFyICpicmFuY2gxLAotCQkgICAgICBjb25zdCBjaGFyICpicmFuY2gyKQorCQkgICAgICBjb25zdCBjaGFyICpicmFuY2gyLAorCQkgICAgICBjb25zdCBpbnQgZXh0cmFfbWFya2VyX3NpemUpCiB7CiAJbW1maWxlX3Qgb3JpZywgc3JjMSwgc3JjMjsKIAlzdHJ1Y3QgbGxfbWVyZ2Vfb3B0aW9ucyBsbF9vcHRzID0gezB9OwotCWNoYXIgKmJhc2VfbmFtZSwgKm5hbWUxLCAqbmFtZTI7CisJY2hhciAqYmFzZSwgKm5hbWUxLCAqbmFtZTI7CiAJaW50IG1lcmdlX3N0YXR1czsKIAotCWxsX29wdHMucmVub3JtYWxpemUgPSBvLT5yZW5vcm1hbGl6ZTsKLQlsbF9vcHRzLnhkbF9vcHRzID0gby0+eGRsX29wdHM7CisJbGxfb3B0cy5yZW5vcm1hbGl6ZSA9IG9wdC0+cmVub3JtYWxpemU7CisJbGxfb3B0cy5leHRyYV9tYXJrZXJfc2l6ZSA9IGV4dHJhX21hcmtlcl9zaXplOworCWxsX29wdHMueGRsX29wdHMgPSBvcHQtPnhkbF9vcHRzOwogCi0JaWYgKG8tPmNhbGxfZGVwdGgpIHsKKwlpZiAob3B0LT5wcml2LT5jYWxsX2RlcHRoKSB7CiAJCWxsX29wdHMudmlydHVhbF9hbmNlc3RvciA9IDE7CiAJCWxsX29wdHMudmFyaWFudCA9IDA7CiAJfSBlbHNlIHsKLQkJc3dpdGNoIChvLT5yZWN1cnNpdmVfdmFyaWFudCkgewotCQljYXNlIE1FUkdFX1JFQ1VSU0lWRV9PVVJTOgorCQlzd2l0Y2ggKG9wdC0+cmVjdXJzaXZlX3ZhcmlhbnQpIHsKKwkJY2FzZSBNRVJHRV9WQVJJQU5UX09VUlM6CiAJCQlsbF9vcHRzLnZhcmlhbnQgPSBYRExfTUVSR0VfRkFWT1JfT1VSUzsKIAkJCWJyZWFrOwotCQljYXNlIE1FUkdFX1JFQ1VSU0lWRV9USEVJUlM6CisJCWNhc2UgTUVSR0VfVkFSSUFOVF9USEVJUlM6CiAJCQlsbF9vcHRzLnZhcmlhbnQgPSBYRExfTUVSR0VfRkFWT1JfVEhFSVJTOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CkBAIC0xMDg1LDI4ICsxMDYwLDI2IEBACiAJCX0KIAl9CiAKLQlpZiAoc3RyY21wKGEtPnBhdGgsIGItPnBhdGgpIHx8Ci0JICAgIChvLT5hbmNlc3RvciAhPSBOVUxMICYmIHN0cmNtcChhLT5wYXRoLCBvbmUtPnBhdGgpICE9IDApKSB7Ci0JCWJhc2VfbmFtZSA9IG8tPmFuY2VzdG9yID09IE5VTEwgPyBOVUxMIDoKLQkJCW1rcGF0aGR1cCgiJXM6JXMiLCBvLT5hbmNlc3Rvciwgb25lLT5wYXRoKTsKKwlhc3NlcnQoYS0+cGF0aCAmJiBiLT5wYXRoICYmIG8tPnBhdGggJiYgb3B0LT5hbmNlc3Rvcik7CisJaWYgKHN0cmNtcChhLT5wYXRoLCBiLT5wYXRoKSB8fCBzdHJjbXAoYS0+cGF0aCwgby0+cGF0aCkgIT0gMCkgeworCQliYXNlICA9IG1rcGF0aGR1cCgiJXM6JXMiLCBvcHQtPmFuY2VzdG9yLCBvLT5wYXRoKTsKIAkJbmFtZTEgPSBta3BhdGhkdXAoIiVzOiVzIiwgYnJhbmNoMSwgYS0+cGF0aCk7CiAJCW5hbWUyID0gbWtwYXRoZHVwKCIlczolcyIsIGJyYW5jaDIsIGItPnBhdGgpOwogCX0gZWxzZSB7Ci0JCWJhc2VfbmFtZSA9IG8tPmFuY2VzdG9yID09IE5VTEwgPyBOVUxMIDoKLQkJCW1rcGF0aGR1cCgiJXMiLCBvLT5hbmNlc3Rvcik7CisJCWJhc2UgID0gbWtwYXRoZHVwKCIlcyIsIG9wdC0+YW5jZXN0b3IpOwogCQluYW1lMSA9IG1rcGF0aGR1cCgiJXMiLCBicmFuY2gxKTsKIAkJbmFtZTIgPSBta3BhdGhkdXAoIiVzIiwgYnJhbmNoMik7CiAJfQogCi0JcmVhZF9tbWJsb2IoJm9yaWcsICZvbmUtPm9pZCk7CisJcmVhZF9tbWJsb2IoJm9yaWcsICZvLT5vaWQpOwogCXJlYWRfbW1ibG9iKCZzcmMxLCAmYS0+b2lkKTsKIAlyZWFkX21tYmxvYigmc3JjMiwgJmItPm9pZCk7CiAKLQltZXJnZV9zdGF0dXMgPSBsbF9tZXJnZShyZXN1bHRfYnVmLCBhLT5wYXRoLCAmb3JpZywgYmFzZV9uYW1lLAorCW1lcmdlX3N0YXR1cyA9IGxsX21lcmdlKHJlc3VsdF9idWYsIGEtPnBhdGgsICZvcmlnLCBiYXNlLAogCQkJCSZzcmMxLCBuYW1lMSwgJnNyYzIsIG5hbWUyLAotCQkJCSZ0aGVfaW5kZXgsICZsbF9vcHRzKTsKKwkJCQlvcHQtPnJlcG8tPmluZGV4LCAmbGxfb3B0cyk7CiAKLQlmcmVlKGJhc2VfbmFtZSk7CisJZnJlZShiYXNlKTsKIAlmcmVlKG5hbWUxKTsKIAlmcmVlKG5hbWUyKTsKIAlmcmVlKG9yaWcucHRyKTsKQEAgLTExMTUsNyArMTA4OCw4IEBACiAJcmV0dXJuIG1lcmdlX3N0YXR1czsKIH0KIAotc3RhdGljIGludCBmaW5kX2ZpcnN0X21lcmdlcyhzdHJ1Y3Qgb2JqZWN0X2FycmF5ICpyZXN1bHQsIGNvbnN0IGNoYXIgKnBhdGgsCitzdGF0aWMgaW50IGZpbmRfZmlyc3RfbWVyZ2VzKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJICAgICBzdHJ1Y3Qgb2JqZWN0X2FycmF5ICpyZXN1bHQsIGNvbnN0IGNoYXIgKnBhdGgsCiAJCQkgICAgIHN0cnVjdCBjb21taXQgKmEsIHN0cnVjdCBjb21taXQgKmIpCiB7CiAJaW50IGksIGo7CkBAIC0xMTIzLDcgKzEwOTcsNyBAQAogCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKIAlpbnQgY29udGFpbnNfYW5vdGhlcjsKIAotCWNoYXIgbWVyZ2VkX3JldmlzaW9uWzQyXTsKKwljaGFyIG1lcmdlZF9yZXZpc2lvbltHSVRfTUFYX0hFWFNaICsgMl07CiAJY29uc3QgY2hhciAqcmV2X2FyZ3NbXSA9IHsgInJldi1saXN0IiwgIi0tbWVyZ2VzIiwgIi0tYW5jZXN0cnktcGF0aCIsCiAJCQkJICAgIi0tYWxsIiwgbWVyZ2VkX3JldmlzaW9uLCBOVUxMIH07CiAJc3RydWN0IHJldl9pbmZvIHJldnM7CkBAIC0xMTM1LDcgKzExMDksNyBAQAogCS8qIGdldCBhbGwgcmV2aXNpb25zIHRoYXQgbWVyZ2UgY29tbWl0IGEgKi8KIAl4c25wcmludGYobWVyZ2VkX3JldmlzaW9uLCBzaXplb2YobWVyZ2VkX3JldmlzaW9uKSwgIl4lcyIsCiAJCSAgb2lkX3RvX2hleCgmYS0+b2JqZWN0Lm9pZCkpOwotCXJlcG9faW5pdF9yZXZpc2lvbnModGhlX3JlcG9zaXRvcnksICZyZXZzLCBOVUxMKTsKKwlyZXBvX2luaXRfcmV2aXNpb25zKHJlcG8sICZyZXZzLCBOVUxMKTsKIAlyZXZfb3B0cy5zdWJtb2R1bGUgPSBwYXRoOwogCS8qIEZJWE1FOiBjYW4ndCBoYW5kbGUgbGlua2VkIHdvcmt0cmVlcyBpbiBzdWJtb2R1bGVzIHlldCAqLwogCXJldnMuc2luZ2xlX3dvcmt0cmVlID0gcGF0aCAhPSBOVUxMOwpAQCAtMTE4NSw3ICsxMTU5LDEyIEBACiAJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIH0KIAotc3RhdGljIGludCBtZXJnZV9zdWJtb2R1bGUoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sCitzdGF0aWMgaW50IGlzX3ZhbGlkKGNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpkZnMpCit7CisJcmV0dXJuIGRmcy0+bW9kZSAhPSAwICYmICFpc19udWxsX29pZCgmZGZzLT5vaWQpOworfQorCitzdGF0aWMgaW50IG1lcmdlX3N1Ym1vZHVsZShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LAogCQkJICAgc3RydWN0IG9iamVjdF9pZCAqcmVzdWx0LCBjb25zdCBjaGFyICpwYXRoLAogCQkJICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqYmFzZSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqYSwKIAkJCSAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmIpCkBAIC0xMTk1LDcgKzExNzQsNyBAQAogCXN0cnVjdCBvYmplY3RfYXJyYXkgbWVyZ2VzOwogCiAJaW50IGk7Ci0JaW50IHNlYXJjaCA9ICFvLT5jYWxsX2RlcHRoOworCWludCBzZWFyY2ggPSAhb3B0LT5wcml2LT5jYWxsX2RlcHRoOwogCiAJLyogc3RvcmUgYSBpbiByZXN1bHQgaW4gY2FzZSB3ZSBmYWlsICovCiAJb2lkY3B5KHJlc3VsdCwgYSk7CkBAIC0xMjA5LDMyICsxMTg4LDMyIEBACiAJCXJldHVybiAwOwogCiAJaWYgKGFkZF9zdWJtb2R1bGVfb2RiKHBhdGgpKSB7Ci0JCW91dHB1dChvLCAxLCBfKCJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChub3QgY2hlY2tlZCBvdXQpIiksIHBhdGgpOworCQlvdXRwdXQob3B0LCAxLCBfKCJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChub3QgY2hlY2tlZCBvdXQpIiksIHBhdGgpOwogCQlyZXR1cm4gMDsKIAl9CiAKLQlpZiAoIShjb21taXRfYmFzZSA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHRoZV9yZXBvc2l0b3J5LCBiYXNlKSkgfHwKLQkgICAgIShjb21taXRfYSA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHRoZV9yZXBvc2l0b3J5LCBhKSkgfHwKLQkgICAgIShjb21taXRfYiA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHRoZV9yZXBvc2l0b3J5LCBiKSkpIHsKLQkJb3V0cHV0KG8sIDEsIF8oIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKGNvbW1pdHMgbm90IHByZXNlbnQpIiksIHBhdGgpOworCWlmICghKGNvbW1pdF9iYXNlID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uob3B0LT5yZXBvLCBiYXNlKSkgfHwKKwkgICAgIShjb21taXRfYSA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKG9wdC0+cmVwbywgYSkpIHx8CisJICAgICEoY29tbWl0X2IgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShvcHQtPnJlcG8sIGIpKSkgeworCQlvdXRwdXQob3B0LCAxLCBfKCJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChjb21taXRzIG5vdCBwcmVzZW50KSIpLCBwYXRoKTsKIAkJcmV0dXJuIDA7CiAJfQogCiAJLyogY2hlY2sgd2hldGhlciBib3RoIGNoYW5nZXMgYXJlIGZvcndhcmQgKi8KIAlpZiAoIWluX21lcmdlX2Jhc2VzKGNvbW1pdF9iYXNlLCBjb21taXRfYSkgfHwKIAkgICAgIWluX21lcmdlX2Jhc2VzKGNvbW1pdF9iYXNlLCBjb21taXRfYikpIHsKLQkJb3V0cHV0KG8sIDEsIF8oIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKGNvbW1pdHMgZG9uJ3QgZm9sbG93IG1lcmdlLWJhc2UpIiksIHBhdGgpOworCQlvdXRwdXQob3B0LCAxLCBfKCJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChjb21taXRzIGRvbid0IGZvbGxvdyBtZXJnZS1iYXNlKSIpLCBwYXRoKTsKIAkJcmV0dXJuIDA7CiAJfQogCiAJLyogQ2FzZSAjMTogYSBpcyBjb250YWluZWQgaW4gYiBvciB2aWNlIHZlcnNhICovCiAJaWYgKGluX21lcmdlX2Jhc2VzKGNvbW1pdF9hLCBjb21taXRfYikpIHsKIAkJb2lkY3B5KHJlc3VsdCwgYik7Ci0JCWlmIChzaG93KG8sIDMpKSB7Ci0JCQlvdXRwdXQobywgMywgXygiRmFzdC1mb3J3YXJkaW5nIHN1Ym1vZHVsZSAlcyB0byB0aGUgZm9sbG93aW5nIGNvbW1pdDoiKSwgcGF0aCk7Ci0JCQlvdXRwdXRfY29tbWl0X3RpdGxlKG8sIGNvbW1pdF9iKTsKLQkJfSBlbHNlIGlmIChzaG93KG8sIDIpKQotCQkJb3V0cHV0KG8sIDIsIF8oIkZhc3QtZm9yd2FyZGluZyBzdWJtb2R1bGUgJXMiKSwgcGF0aCk7CisJCWlmIChzaG93KG9wdCwgMykpIHsKKwkJCW91dHB1dChvcHQsIDMsIF8oIkZhc3QtZm9yd2FyZGluZyBzdWJtb2R1bGUgJXMgdG8gdGhlIGZvbGxvd2luZyBjb21taXQ6IiksIHBhdGgpOworCQkJb3V0cHV0X2NvbW1pdF90aXRsZShvcHQsIGNvbW1pdF9iKTsKKwkJfSBlbHNlIGlmIChzaG93KG9wdCwgMikpCisJCQlvdXRwdXQob3B0LCAyLCBfKCJGYXN0LWZvcndhcmRpbmcgc3VibW9kdWxlICVzIiksIHBhdGgpOwogCQllbHNlCiAJCQk7IC8qIG5vIG91dHB1dCAqLwogCkBAIC0xMjQyLDExICsxMjIxLDExIEBACiAJfQogCWlmIChpbl9tZXJnZV9iYXNlcyhjb21taXRfYiwgY29tbWl0X2EpKSB7CiAJCW9pZGNweShyZXN1bHQsIGEpOwotCQlpZiAoc2hvdyhvLCAzKSkgewotCQkJb3V0cHV0KG8sIDMsIF8oIkZhc3QtZm9yd2FyZGluZyBzdWJtb2R1bGUgJXMgdG8gdGhlIGZvbGxvd2luZyBjb21taXQ6IiksIHBhdGgpOwotCQkJb3V0cHV0X2NvbW1pdF90aXRsZShvLCBjb21taXRfYSk7Ci0JCX0gZWxzZSBpZiAoc2hvdyhvLCAyKSkKLQkJCW91dHB1dChvLCAyLCBfKCJGYXN0LWZvcndhcmRpbmcgc3VibW9kdWxlICVzIiksIHBhdGgpOworCQlpZiAoc2hvdyhvcHQsIDMpKSB7CisJCQlvdXRwdXQob3B0LCAzLCBfKCJGYXN0LWZvcndhcmRpbmcgc3VibW9kdWxlICVzIHRvIHRoZSBmb2xsb3dpbmcgY29tbWl0OiIpLCBwYXRoKTsKKwkJCW91dHB1dF9jb21taXRfdGl0bGUob3B0LCBjb21taXRfYSk7CisJCX0gZWxzZSBpZiAoc2hvdyhvcHQsIDIpKQorCQkJb3V0cHV0KG9wdCwgMiwgXygiRmFzdC1mb3J3YXJkaW5nIHN1Ym1vZHVsZSAlcyIpLCBwYXRoKTsKIAkJZWxzZQogCQkJOyAvKiBubyBvdXRwdXQgKi8KIApAQCAtMTI2NSwxNyArMTI0NCwxOCBAQAogCQlyZXR1cm4gMDsKIAogCS8qIGZpbmQgY29tbWl0IHdoaWNoIG1lcmdlcyB0aGVtICovCi0JcGFyZW50X2NvdW50ID0gZmluZF9maXJzdF9tZXJnZXMoJm1lcmdlcywgcGF0aCwgY29tbWl0X2EsIGNvbW1pdF9iKTsKKwlwYXJlbnRfY291bnQgPSBmaW5kX2ZpcnN0X21lcmdlcyhvcHQtPnJlcG8sICZtZXJnZXMsIHBhdGgsCisJCQkJCSBjb21taXRfYSwgY29tbWl0X2IpOwogCXN3aXRjaCAocGFyZW50X2NvdW50KSB7CiAJY2FzZSAwOgotCQlvdXRwdXQobywgMSwgXygiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobWVyZ2UgZm9sbG93aW5nIGNvbW1pdHMgbm90IGZvdW5kKSIpLCBwYXRoKTsKKwkJb3V0cHV0KG9wdCwgMSwgXygiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobWVyZ2UgZm9sbG93aW5nIGNvbW1pdHMgbm90IGZvdW5kKSIpLCBwYXRoKTsKIAkJYnJlYWs7CiAKIAljYXNlIDE6Ci0JCW91dHB1dChvLCAxLCBfKCJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChub3QgZmFzdC1mb3J3YXJkKSIpLCBwYXRoKTsKLQkJb3V0cHV0KG8sIDIsIF8oIkZvdW5kIGEgcG9zc2libGUgbWVyZ2UgcmVzb2x1dGlvbiBmb3IgdGhlIHN1Ym1vZHVsZTpcbiIpKTsKKwkJb3V0cHV0KG9wdCwgMSwgXygiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobm90IGZhc3QtZm9yd2FyZCkiKSwgcGF0aCk7CisJCW91dHB1dChvcHQsIDIsIF8oIkZvdW5kIGEgcG9zc2libGUgbWVyZ2UgcmVzb2x1dGlvbiBmb3IgdGhlIHN1Ym1vZHVsZTpcbiIpKTsKIAkJcHJpbnRfY29tbWl0KChzdHJ1Y3QgY29tbWl0ICopIG1lcmdlcy5vYmplY3RzWzBdLml0ZW0pOwotCQlvdXRwdXQobywgMiwgXygKKwkJb3V0cHV0KG9wdCwgMiwgXygKIAkJICAgICAgICJJZiB0aGlzIGlzIGNvcnJlY3Qgc2ltcGx5IGFkZCBpdCB0byB0aGUgaW5kZXggIgogCQkgICAgICAgImZvciBleGFtcGxlXG4iCiAJCSAgICAgICAiYnkgdXNpbmc6XG5cbiIKQEAgLTEyODUsNyArMTI2NSw3IEBACiAJCWJyZWFrOwogCiAJZGVmYXVsdDoKLQkJb3V0cHV0KG8sIDEsIF8oIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG11bHRpcGxlIG1lcmdlcyBmb3VuZCkiKSwgcGF0aCk7CisJCW91dHB1dChvcHQsIDEsIF8oIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG11bHRpcGxlIG1lcmdlcyBmb3VuZCkiKSwgcGF0aCk7CiAJCWZvciAoaSA9IDA7IGkgPCBtZXJnZXMubnI7IGkrKykKIAkJCXByaW50X2NvbW1pdCgoc3RydWN0IGNvbW1pdCAqKSBtZXJnZXMub2JqZWN0c1tpXS5pdGVtKTsKIAl9CkBAIC0xMjk0LDI0ICsxMjc0LDI2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgbWVyZ2VfbW9kZV9hbmRfY29udGVudHMoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sCi0JCQkJICAgY29uc3Qgc3RydWN0IGRpZmZfZmlsZXNwZWMgKm9uZSwKK3N0YXRpYyBpbnQgbWVyZ2VfbW9kZV9hbmRfY29udGVudHMoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwKKwkJCQkgICBjb25zdCBzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqbywKIAkJCQkgICBjb25zdCBzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqYSwKIAkJCQkgICBjb25zdCBzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqYiwKIAkJCQkgICBjb25zdCBjaGFyICpmaWxlbmFtZSwKIAkJCQkgICBjb25zdCBjaGFyICpicmFuY2gxLAogCQkJCSAgIGNvbnN0IGNoYXIgKmJyYW5jaDIsCisJCQkJICAgY29uc3QgaW50IGV4dHJhX21hcmtlcl9zaXplLAogCQkJCSAgIHN0cnVjdCBtZXJnZV9maWxlX2luZm8gKnJlc3VsdCkKIHsKLQlpZiAoby0+YnJhbmNoMSAhPSBicmFuY2gxKSB7CisJaWYgKG9wdC0+YnJhbmNoMSAhPSBicmFuY2gxKSB7CiAJCS8qCiAJCSAqIEl0J3Mgd2VpcmQgZ2V0dGluZyBhIHJldmVyc2UgbWVyZ2Ugd2l0aCBIRUFEIG9uIHRoZSBib3R0b20KIAkJICogc2lkZSBvZiB0aGUgY29uZmxpY3QgbWFya2VycyBhbmQgdGhlIG90aGVyIGJyYW5jaCBvbiB0aGUKIAkJICogdG9wLiAgRml4IHRoYXQuCiAJCSAqLwotCQlyZXR1cm4gbWVyZ2VfbW9kZV9hbmRfY29udGVudHMobywgb25lLCBiLCBhLAorCQlyZXR1cm4gbWVyZ2VfbW9kZV9hbmRfY29udGVudHMob3B0LCBvLCBiLCBhLAogCQkJCQkgICAgICAgZmlsZW5hbWUsCi0JCQkJCSAgICAgICBicmFuY2gyLCBicmFuY2gxLCByZXN1bHQpOworCQkJCQkgICAgICAgYnJhbmNoMiwgYnJhbmNoMSwKKwkJCQkJICAgICAgIGV4dHJhX21hcmtlcl9zaXplLCByZXN1bHQpOwogCX0KIAogCXJlc3VsdC0+bWVyZ2UgPSAwOwpAQCAtMTMyMCw0NyArMTMwMiw0OCBAQAogCWlmICgoU19JRk1UICYgYS0+bW9kZSkgIT0gKFNfSUZNVCAmIGItPm1vZGUpKSB7CiAJCXJlc3VsdC0+Y2xlYW4gPSAwOwogCQlpZiAoU19JU1JFRyhhLT5tb2RlKSkgewotCQkJcmVzdWx0LT5tb2RlID0gYS0+bW9kZTsKLQkJCW9pZGNweSgmcmVzdWx0LT5vaWQsICZhLT5vaWQpOworCQkJcmVzdWx0LT5ibG9iLm1vZGUgPSBhLT5tb2RlOworCQkJb2lkY3B5KCZyZXN1bHQtPmJsb2Iub2lkLCAmYS0+b2lkKTsKIAkJfSBlbHNlIHsKLQkJCXJlc3VsdC0+bW9kZSA9IGItPm1vZGU7Ci0JCQlvaWRjcHkoJnJlc3VsdC0+b2lkLCAmYi0+b2lkKTsKKwkJCXJlc3VsdC0+YmxvYi5tb2RlID0gYi0+bW9kZTsKKwkJCW9pZGNweSgmcmVzdWx0LT5ibG9iLm9pZCwgJmItPm9pZCk7CiAJCX0KIAl9IGVsc2UgewotCQlpZiAoIW9pZF9lcSgmYS0+b2lkLCAmb25lLT5vaWQpICYmICFvaWRfZXEoJmItPm9pZCwgJm9uZS0+b2lkKSkKKwkJaWYgKCFvaWRlcSgmYS0+b2lkLCAmby0+b2lkKSAmJiAhb2lkZXEoJmItPm9pZCwgJm8tPm9pZCkpCiAJCQlyZXN1bHQtPm1lcmdlID0gMTsKIAogCQkvKgogCQkgKiBNZXJnZSBtb2RlcwogCQkgKi8KLQkJaWYgKGEtPm1vZGUgPT0gYi0+bW9kZSB8fCBhLT5tb2RlID09IG9uZS0+bW9kZSkKLQkJCXJlc3VsdC0+bW9kZSA9IGItPm1vZGU7CisJCWlmIChhLT5tb2RlID09IGItPm1vZGUgfHwgYS0+bW9kZSA9PSBvLT5tb2RlKQorCQkJcmVzdWx0LT5ibG9iLm1vZGUgPSBiLT5tb2RlOwogCQllbHNlIHsKLQkJCXJlc3VsdC0+bW9kZSA9IGEtPm1vZGU7Ci0JCQlpZiAoYi0+bW9kZSAhPSBvbmUtPm1vZGUpIHsKKwkJCXJlc3VsdC0+YmxvYi5tb2RlID0gYS0+bW9kZTsKKwkJCWlmIChiLT5tb2RlICE9IG8tPm1vZGUpIHsKIAkJCQlyZXN1bHQtPmNsZWFuID0gMDsKIAkJCQlyZXN1bHQtPm1lcmdlID0gMTsKIAkJCX0KIAkJfQogCi0JCWlmIChvaWRfZXEoJmEtPm9pZCwgJmItPm9pZCkgfHwgb2lkX2VxKCZhLT5vaWQsICZvbmUtPm9pZCkpCi0JCQlvaWRjcHkoJnJlc3VsdC0+b2lkLCAmYi0+b2lkKTsKLQkJZWxzZSBpZiAob2lkX2VxKCZiLT5vaWQsICZvbmUtPm9pZCkpCi0JCQlvaWRjcHkoJnJlc3VsdC0+b2lkLCAmYS0+b2lkKTsKKwkJaWYgKG9pZGVxKCZhLT5vaWQsICZiLT5vaWQpIHx8IG9pZGVxKCZhLT5vaWQsICZvLT5vaWQpKQorCQkJb2lkY3B5KCZyZXN1bHQtPmJsb2Iub2lkLCAmYi0+b2lkKTsKKwkJZWxzZSBpZiAob2lkZXEoJmItPm9pZCwgJm8tPm9pZCkpCisJCQlvaWRjcHkoJnJlc3VsdC0+YmxvYi5vaWQsICZhLT5vaWQpOwogCQllbHNlIGlmIChTX0lTUkVHKGEtPm1vZGUpKSB7CiAJCQltbWJ1ZmZlcl90IHJlc3VsdF9idWY7CiAJCQlpbnQgcmV0ID0gMCwgbWVyZ2Vfc3RhdHVzOwogCi0JCQltZXJnZV9zdGF0dXMgPSBtZXJnZV8zd2F5KG8sICZyZXN1bHRfYnVmLCBvbmUsIGEsIGIsCi0JCQkJCQkgIGJyYW5jaDEsIGJyYW5jaDIpOworCQkJbWVyZ2Vfc3RhdHVzID0gbWVyZ2VfM3dheShvcHQsICZyZXN1bHRfYnVmLCBvLCBhLCBiLAorCQkJCQkJICBicmFuY2gxLCBicmFuY2gyLAorCQkJCQkJICBleHRyYV9tYXJrZXJfc2l6ZSk7CiAKIAkJCWlmICgobWVyZ2Vfc3RhdHVzIDwgMCkgfHwgIXJlc3VsdF9idWYucHRyKQotCQkJCXJldCA9IGVycihvLCBfKCJGYWlsZWQgdG8gZXhlY3V0ZSBpbnRlcm5hbCBtZXJnZSIpKTsKKwkJCQlyZXQgPSBlcnIob3B0LCBfKCJGYWlsZWQgdG8gZXhlY3V0ZSBpbnRlcm5hbCBtZXJnZSIpKTsKIAogCQkJaWYgKCFyZXQgJiYKIAkJCSAgICB3cml0ZV9vYmplY3RfZmlsZShyZXN1bHRfYnVmLnB0ciwgcmVzdWx0X2J1Zi5zaXplLAotCQkJCQkgICAgICBibG9iX3R5cGUsICZyZXN1bHQtPm9pZCkpCi0JCQkJcmV0ID0gZXJyKG8sIF8oIlVuYWJsZSB0byBhZGQgJXMgdG8gZGF0YWJhc2UiKSwKKwkJCQkJICAgICAgYmxvYl90eXBlLCAmcmVzdWx0LT5ibG9iLm9pZCkpCisJCQkJcmV0ID0gZXJyKG9wdCwgXygiVW5hYmxlIHRvIGFkZCAlcyB0byBkYXRhYmFzZSIpLAogCQkJCQkgIGEtPnBhdGgpOwogCiAJCQlmcmVlKHJlc3VsdF9idWYucHRyKTsKQEAgLTEzNjgsMjMgKzEzNTEsMjMgQEAKIAkJCQlyZXR1cm4gcmV0OwogCQkJcmVzdWx0LT5jbGVhbiA9IChtZXJnZV9zdGF0dXMgPT0gMCk7CiAJCX0gZWxzZSBpZiAoU19JU0dJVExJTksoYS0+bW9kZSkpIHsKLQkJCXJlc3VsdC0+Y2xlYW4gPSBtZXJnZV9zdWJtb2R1bGUobywgJnJlc3VsdC0+b2lkLAotCQkJCQkJCW9uZS0+cGF0aCwKLQkJCQkJCQkmb25lLT5vaWQsCisJCQlyZXN1bHQtPmNsZWFuID0gbWVyZ2Vfc3VibW9kdWxlKG9wdCwgJnJlc3VsdC0+YmxvYi5vaWQsCisJCQkJCQkJby0+cGF0aCwKKwkJCQkJCQkmby0+b2lkLAogCQkJCQkJCSZhLT5vaWQsCiAJCQkJCQkJJmItPm9pZCk7CiAJCX0gZWxzZSBpZiAoU19JU0xOSyhhLT5tb2RlKSkgewotCQkJc3dpdGNoIChvLT5yZWN1cnNpdmVfdmFyaWFudCkgewotCQkJY2FzZSBNRVJHRV9SRUNVUlNJVkVfTk9STUFMOgotCQkJCW9pZGNweSgmcmVzdWx0LT5vaWQsICZhLT5vaWQpOwotCQkJCWlmICghb2lkX2VxKCZhLT5vaWQsICZiLT5vaWQpKQorCQkJc3dpdGNoIChvcHQtPnJlY3Vyc2l2ZV92YXJpYW50KSB7CisJCQljYXNlIE1FUkdFX1ZBUklBTlRfTk9STUFMOgorCQkJCW9pZGNweSgmcmVzdWx0LT5ibG9iLm9pZCwgJmEtPm9pZCk7CisJCQkJaWYgKCFvaWRlcSgmYS0+b2lkLCAmYi0+b2lkKSkKIAkJCQkJcmVzdWx0LT5jbGVhbiA9IDA7CiAJCQkJYnJlYWs7Ci0JCQljYXNlIE1FUkdFX1JFQ1VSU0lWRV9PVVJTOgotCQkJCW9pZGNweSgmcmVzdWx0LT5vaWQsICZhLT5vaWQpOworCQkJY2FzZSBNRVJHRV9WQVJJQU5UX09VUlM6CisJCQkJb2lkY3B5KCZyZXN1bHQtPmJsb2Iub2lkLCAmYS0+b2lkKTsKIAkJCQlicmVhazsKLQkJCWNhc2UgTUVSR0VfUkVDVVJTSVZFX1RIRUlSUzoKLQkJCQlvaWRjcHkoJnJlc3VsdC0+b2lkLCAmYi0+b2lkKTsKKwkJCWNhc2UgTUVSR0VfVkFSSUFOVF9USEVJUlM6CisJCQkJb2lkY3B5KCZyZXN1bHQtPmJsb2Iub2lkLCAmYi0+b2lkKTsKIAkJCQlicmVhazsKIAkJCX0KIAkJfSBlbHNlCkBAIC0xMzkyLDE1ICsxMzc1LDEzIEBACiAJfQogCiAJaWYgKHJlc3VsdC0+bWVyZ2UpCi0JCW91dHB1dChvLCAyLCBfKCJBdXRvLW1lcmdpbmcgJXMiKSwgZmlsZW5hbWUpOworCQlvdXRwdXQob3B0LCAyLCBfKCJBdXRvLW1lcmdpbmcgJXMiKSwgZmlsZW5hbWUpOwogCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgaGFuZGxlX3JlbmFtZV92aWFfZGlyKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAotCQkJCSBzdHJ1Y3QgZGlmZl9maWxlcGFpciAqcGFpciwKLQkJCQkgY29uc3QgY2hhciAqcmVuYW1lX2JyYW5jaCwKLQkJCQkgY29uc3QgY2hhciAqb3RoZXJfYnJhbmNoKQorc3RhdGljIGludCBoYW5kbGVfcmVuYW1lX3ZpYV9kaXIoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwKKwkJCQkgc3RydWN0IHJlbmFtZV9jb25mbGljdF9pbmZvICpjaSkKIHsKIAkvKgogCSAqIEhhbmRsZSBmaWxlIGFkZHMgdGhhdCBuZWVkIHRvIGJlIHJlbmFtZWQgZHVlIHRvIGRpcmVjdG9yeSByZW5hbWUKQEAgLTE0MDgsMzggKzEzODksNDggQEAKIAkgKiB0aGVyZSBpcyBubyBjb250ZW50IG1lcmdlIHRvIGRvOyBqdXN0IG1vdmUgdGhlIGZpbGUgaW50byB0aGUKIAkgKiBkZXNpcmVkIGZpbmFsIGxvY2F0aW9uLgogCSAqLwotCWNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpkZXN0ID0gcGFpci0+dHdvOworCWNvbnN0IHN0cnVjdCByZW5hbWUgKnJlbiA9IGNpLT5yZW4xOworCWNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpkZXN0ID0gcmVuLT5wYWlyLT50d287CisJY2hhciAqZmlsZV9wYXRoID0gZGVzdC0+cGF0aDsKKwlpbnQgbWFya19jb25mbGljdGVkID0gKG9wdC0+ZGV0ZWN0X2RpcmVjdG9yeV9yZW5hbWVzID09CisJCQkgICAgICAgTUVSR0VfRElSRUNUT1JZX1JFTkFNRVNfQ09ORkxJQ1QpOworCWFzc2VydChyZW4tPmRpcl9yZW5hbWVfb3JpZ2luYWxfZGVzdCk7CiAKLQlpZiAoIW8tPmNhbGxfZGVwdGggJiYgd291bGRfbG9zZV91bnRyYWNrZWQoZGVzdC0+cGF0aCkpIHsKLQkJY2hhciAqYWx0X3BhdGggPSB1bmlxdWVfcGF0aChvLCBkZXN0LT5wYXRoLCByZW5hbWVfYnJhbmNoKTsKLQotCQlvdXRwdXQobywgMSwgXygiRXJyb3I6IFJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJXM7ICIKLQkJCSAgICAgICAid3JpdGluZyB0byAlcyBpbnN0ZWFkLiIpLAotCQkgICAgICAgZGVzdC0+cGF0aCwgYWx0X3BhdGgpOwotCQkvKgotCQkgKiBXcml0ZSB0aGUgZmlsZSBpbiB3b3JrdHJlZSBhdCBhbHRfcGF0aCwgYnV0IG5vdCBpbiB0aGUKLQkJICogaW5kZXguICBJbnN0ZWFkLCB3cml0ZSB0byBkZXN0LT5wYXRoIGZvciB0aGUgaW5kZXggYnV0Ci0JCSAqIG9ubHkgYXQgdGhlIGhpZ2hlciBhcHByb3ByaWF0ZSBzdGFnZS4KLQkJICovCi0JCWlmICh1cGRhdGVfZmlsZShvLCAwLCAmZGVzdC0+b2lkLCBkZXN0LT5tb2RlLCBhbHRfcGF0aCkpCi0JCQlyZXR1cm4gLTE7Ci0JCWZyZWUoYWx0X3BhdGgpOwotCQlyZXR1cm4gdXBkYXRlX3N0YWdlcyhvLCBkZXN0LT5wYXRoLCBOVUxMLAotCQkJCSAgICAgcmVuYW1lX2JyYW5jaCA9PSBvLT5icmFuY2gxID8gZGVzdCA6IE5VTEwsCi0JCQkJICAgICByZW5hbWVfYnJhbmNoID09IG8tPmJyYW5jaDEgPyBOVUxMIDogZGVzdCk7CisJaWYgKCFvcHQtPnByaXYtPmNhbGxfZGVwdGggJiYgd291bGRfbG9zZV91bnRyYWNrZWQob3B0LCBkZXN0LT5wYXRoKSkgeworCQltYXJrX2NvbmZsaWN0ZWQgPSAxOworCQlmaWxlX3BhdGggPSB1bmlxdWVfcGF0aChvcHQsIGRlc3QtPnBhdGgsIHJlbi0+YnJhbmNoKTsKKwkJb3V0cHV0KG9wdCwgMSwgXygiRXJyb3I6IFJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJXM7ICIKKwkJCQkgIndyaXRpbmcgdG8gJXMgaW5zdGVhZC4iKSwKKwkJICAgICAgIGRlc3QtPnBhdGgsIGZpbGVfcGF0aCk7CiAJfQogCi0JLyogVXBkYXRlIGRlc3QtPnBhdGggYm90aCBpbiBpbmRleCBhbmQgaW4gd29ya3RyZWUgKi8KLQlpZiAodXBkYXRlX2ZpbGUobywgMSwgJmRlc3QtPm9pZCwgZGVzdC0+bW9kZSwgZGVzdC0+cGF0aCkpCi0JCXJldHVybiAtMTsKLQlyZXR1cm4gMDsKKwlpZiAobWFya19jb25mbGljdGVkKSB7CisJCS8qCisJCSAqIFdyaXRlIHRoZSBmaWxlIGluIHdvcmt0cmVlIGF0IGZpbGVfcGF0aC4gIEluIHRoZSBpbmRleCwKKwkJICogb25seSByZWNvcmQgdGhlIGZpbGUgYXQgZGVzdC0+cGF0aCBpbiB0aGUgYXBwcm9wcmlhdGUKKwkJICogaGlnaGVyIHN0YWdlLgorCQkgKi8KKwkJaWYgKHVwZGF0ZV9maWxlKG9wdCwgMCwgZGVzdCwgZmlsZV9wYXRoKSkKKwkJCXJldHVybiAtMTsKKwkJaWYgKGZpbGVfcGF0aCAhPSBkZXN0LT5wYXRoKQorCQkJZnJlZShmaWxlX3BhdGgpOworCQlpZiAodXBkYXRlX3N0YWdlcyhvcHQsIGRlc3QtPnBhdGgsIE5VTEwsCisJCQkJICByZW4tPmJyYW5jaCA9PSBvcHQtPmJyYW5jaDEgPyBkZXN0IDogTlVMTCwKKwkJCQkgIHJlbi0+YnJhbmNoID09IG9wdC0+YnJhbmNoMSA/IE5VTEwgOiBkZXN0KSkKKwkJCXJldHVybiAtMTsKKwkJcmV0dXJuIDA7IC8qIG5vdCBjbGVhbiwgYnV0IGNvbmZsaWN0ZWQgKi8KKwl9IGVsc2UgeworCQkvKiBVcGRhdGUgZGVzdC0+cGF0aCBib3RoIGluIGluZGV4IGFuZCBpbiB3b3JrdHJlZSAqLworCQlpZiAodXBkYXRlX2ZpbGUob3B0LCAxLCBkZXN0LCBkZXN0LT5wYXRoKSkKKwkJCXJldHVybiAtMTsKKwkJcmV0dXJuIDE7IC8qIGNsZWFuICovCisJfQogfQogCi1zdGF0aWMgaW50IGhhbmRsZV9jaGFuZ2VfZGVsZXRlKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAorc3RhdGljIGludCBoYW5kbGVfY2hhbmdlX2RlbGV0ZShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LAogCQkJCWNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm9sZF9wYXRoLAotCQkJCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9fb2lkLCBpbnQgb19tb2RlLAotCQkJCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmNoYW5nZWRfb2lkLAotCQkJCWludCBjaGFuZ2VkX21vZGUsCisJCQkJY29uc3Qgc3RydWN0IGRpZmZfZmlsZXNwZWMgKm8sCisJCQkJY29uc3Qgc3RydWN0IGRpZmZfZmlsZXNwZWMgKmNoYW5nZWQsCiAJCQkJY29uc3QgY2hhciAqY2hhbmdlX2JyYW5jaCwKIAkJCQljb25zdCBjaGFyICpkZWxldGVfYnJhbmNoLAogCQkJCWNvbnN0IGNoYXIgKmNoYW5nZSwgY29uc3QgY2hhciAqY2hhbmdlX3Bhc3QpCkBAIC0xNDQ4LDIwICsxNDM5LDIwIEBACiAJY29uc3QgY2hhciAqdXBkYXRlX3BhdGggPSBwYXRoOwogCWludCByZXQgPSAwOwogCi0JaWYgKGRpcl9pbl93YXkocGF0aCwgIW8tPmNhbGxfZGVwdGgsIDApIHx8Ci0JICAgICghby0+Y2FsbF9kZXB0aCAmJiB3b3VsZF9sb3NlX3VudHJhY2tlZChwYXRoKSkpIHsKLQkJdXBkYXRlX3BhdGggPSBhbHRfcGF0aCA9IHVuaXF1ZV9wYXRoKG8sIHBhdGgsIGNoYW5nZV9icmFuY2gpOworCWlmIChkaXJfaW5fd2F5KG9wdC0+cmVwby0+aW5kZXgsIHBhdGgsICFvcHQtPnByaXYtPmNhbGxfZGVwdGgsIDApIHx8CisJICAgICghb3B0LT5wcml2LT5jYWxsX2RlcHRoICYmIHdvdWxkX2xvc2VfdW50cmFja2VkKG9wdCwgcGF0aCkpKSB7CisJCXVwZGF0ZV9wYXRoID0gYWx0X3BhdGggPSB1bmlxdWVfcGF0aChvcHQsIHBhdGgsIGNoYW5nZV9icmFuY2gpOwogCX0KIAotCWlmIChvLT5jYWxsX2RlcHRoKSB7CisJaWYgKG9wdC0+cHJpdi0+Y2FsbF9kZXB0aCkgewogCQkvKgogCQkgKiBXZSBjYW5ub3QgYXJiaXRyYXJpbHkgYWNjZXB0IGVpdGhlciBhX3NoYSBvciBiX3NoYSBhcwogCQkgKiBjb3JyZWN0OyBzaW5jZSB0aGVyZSBpcyBubyB0cnVlICJtaWRkbGUgcG9pbnQiIGJldHdlZW4KIAkJICogdGhlbSwgc2ltcGx5IHJldXNlIHRoZSBiYXNlIHZlcnNpb24gZm9yIHZpcnR1YWwgbWVyZ2UgYmFzZS4KIAkJICovCi0JCXJldCA9IHJlbW92ZV9maWxlX2Zyb21fY2FjaGUocGF0aCk7CisJCXJldCA9IHJlbW92ZV9maWxlX2Zyb21faW5kZXgob3B0LT5yZXBvLT5pbmRleCwgcGF0aCk7CiAJCWlmICghcmV0KQotCQkJcmV0ID0gdXBkYXRlX2ZpbGUobywgMCwgb19vaWQsIG9fbW9kZSwgdXBkYXRlX3BhdGgpOworCQkJcmV0ID0gdXBkYXRlX2ZpbGUob3B0LCAwLCBvLCB1cGRhdGVfcGF0aCk7CiAJfSBlbHNlIHsKIAkJLyoKIAkJICogRGVzcGl0ZSB0aGUgZm91ciBuZWFybHkgZHVwbGljYXRlIG1lc3NhZ2VzIGFuZCBhcmd1bWVudApAQCAtMTQ4MCwyNCArMTQ3MSwyNCBAQAogCQkgKi8KIAkJaWYgKCFhbHRfcGF0aCkgewogCQkJaWYgKCFvbGRfcGF0aCkgewotCQkJCW91dHB1dChvLCAxLCBfKCJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyAiCisJCQkJb3V0cHV0KG9wdCwgMSwgXygiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgIgogCQkJCSAgICAgICAiYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgaW4gdHJlZS4iKSwKIAkJCQkgICAgICAgY2hhbmdlLCBwYXRoLCBkZWxldGVfYnJhbmNoLCBjaGFuZ2VfcGFzdCwKIAkJCQkgICAgICAgY2hhbmdlX2JyYW5jaCwgY2hhbmdlX2JyYW5jaCwgcGF0aCk7CiAJCQl9IGVsc2UgewotCQkJCW91dHB1dChvLCAxLCBfKCJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyAiCisJCQkJb3V0cHV0KG9wdCwgMSwgXygiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgIgogCQkJCSAgICAgICAiYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgaW4gdHJlZS4iKSwKIAkJCQkgICAgICAgY2hhbmdlLCBvbGRfcGF0aCwgZGVsZXRlX2JyYW5jaCwgY2hhbmdlX3Bhc3QsIHBhdGgsCiAJCQkJICAgICAgIGNoYW5nZV9icmFuY2gsIGNoYW5nZV9icmFuY2gsIHBhdGgpOwogCQkJfQogCQl9IGVsc2UgewogCQkJaWYgKCFvbGRfcGF0aCkgewotCQkJCW91dHB1dChvLCAxLCBfKCJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyAiCisJCQkJb3V0cHV0KG9wdCwgMSwgXygiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgIgogCQkJCSAgICAgICAiYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgaW4gdHJlZSBhdCAlcy4iKSwKIAkJCQkgICAgICAgY2hhbmdlLCBwYXRoLCBkZWxldGVfYnJhbmNoLCBjaGFuZ2VfcGFzdCwKIAkJCQkgICAgICAgY2hhbmdlX2JyYW5jaCwgY2hhbmdlX2JyYW5jaCwgcGF0aCwgYWx0X3BhdGgpOwogCQkJfSBlbHNlIHsKLQkJCQlvdXRwdXQobywgMSwgXygiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgIgorCQkJCW91dHB1dChvcHQsIDEsIF8oIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzICIKIAkJCQkgICAgICAgImFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0IGluIHRyZWUgYXQgJXMuIiksCiAJCQkJICAgICAgIGNoYW5nZSwgb2xkX3BhdGgsIGRlbGV0ZV9icmFuY2gsIGNoYW5nZV9wYXN0LCBwYXRoLAogCQkJCSAgICAgICBjaGFuZ2VfYnJhbmNoLCBjaGFuZ2VfYnJhbmNoLCBwYXRoLCBhbHRfcGF0aCk7CkBAIC0xNTA1LDI5MiArMTQ5NiwzNDcgQEAKIAkJfQogCQkvKgogCQkgKiBObyBuZWVkIHRvIGNhbGwgdXBkYXRlX2ZpbGUoKSBvbiBwYXRoIHdoZW4gY2hhbmdlX2JyYW5jaCA9PQotCQkgKiBvLT5icmFuY2gxICYmICFhbHRfcGF0aCwgc2luY2UgdGhhdCB3b3VsZCBuZWVkbGVzc2x5IHRvdWNoCisJCSAqIG9wdC0+YnJhbmNoMSAmJiAhYWx0X3BhdGgsIHNpbmNlIHRoYXQgd291bGQgbmVlZGxlc3NseSB0b3VjaAogCQkgKiBwYXRoLiAgV2UgY291bGQgY2FsbCB1cGRhdGVfZmlsZV9mbGFncygpIHdpdGggdXBkYXRlX2NhY2hlPTAKIAkJICogYW5kIHVwZGF0ZV93ZD0wLCBidXQgdGhhdCdzIGEgbm8tb3AuCiAJCSAqLwotCQlpZiAoY2hhbmdlX2JyYW5jaCAhPSBvLT5icmFuY2gxIHx8IGFsdF9wYXRoKQotCQkJcmV0ID0gdXBkYXRlX2ZpbGUobywgMCwgY2hhbmdlZF9vaWQsIGNoYW5nZWRfbW9kZSwgdXBkYXRlX3BhdGgpOworCQlpZiAoY2hhbmdlX2JyYW5jaCAhPSBvcHQtPmJyYW5jaDEgfHwgYWx0X3BhdGgpCisJCQlyZXQgPSB1cGRhdGVfZmlsZShvcHQsIDAsIGNoYW5nZWQsIHVwZGF0ZV9wYXRoKTsKIAl9CiAJZnJlZShhbHRfcGF0aCk7CiAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW50IGhhbmRsZV9yZW5hbWVfZGVsZXRlKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAotCQkJCXN0cnVjdCBkaWZmX2ZpbGVwYWlyICpwYWlyLAotCQkJCWNvbnN0IGNoYXIgKnJlbmFtZV9icmFuY2gsCi0JCQkJY29uc3QgY2hhciAqZGVsZXRlX2JyYW5jaCkKK3N0YXRpYyBpbnQgaGFuZGxlX3JlbmFtZV9kZWxldGUoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwKKwkJCQlzdHJ1Y3QgcmVuYW1lX2NvbmZsaWN0X2luZm8gKmNpKQogewotCWNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpvcmlnID0gcGFpci0+b25lOwotCWNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpkZXN0ID0gcGFpci0+dHdvOworCWNvbnN0IHN0cnVjdCByZW5hbWUgKnJlbiA9IGNpLT5yZW4xOworCWNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpvcmlnID0gcmVuLT5wYWlyLT5vbmU7CisJY29uc3Qgc3RydWN0IGRpZmZfZmlsZXNwZWMgKmRlc3QgPSByZW4tPnBhaXItPnR3bzsKKwljb25zdCBjaGFyICpyZW5hbWVfYnJhbmNoID0gcmVuLT5icmFuY2g7CisJY29uc3QgY2hhciAqZGVsZXRlX2JyYW5jaCA9IChvcHQtPmJyYW5jaDEgPT0gcmVuLT5icmFuY2ggPworCQkJCSAgICAgb3B0LT5icmFuY2gyIDogb3B0LT5icmFuY2gxKTsKIAotCWlmIChoYW5kbGVfY2hhbmdlX2RlbGV0ZShvLAotCQkJCSBvLT5jYWxsX2RlcHRoID8gb3JpZy0+cGF0aCA6IGRlc3QtPnBhdGgsCi0JCQkJIG8tPmNhbGxfZGVwdGggPyBOVUxMIDogb3JpZy0+cGF0aCwKLQkJCQkgJm9yaWctPm9pZCwgb3JpZy0+bW9kZSwKLQkJCQkgJmRlc3QtPm9pZCwgZGVzdC0+bW9kZSwKKwlpZiAoaGFuZGxlX2NoYW5nZV9kZWxldGUob3B0LAorCQkJCSBvcHQtPnByaXYtPmNhbGxfZGVwdGggPyBvcmlnLT5wYXRoIDogZGVzdC0+cGF0aCwKKwkJCQkgb3B0LT5wcml2LT5jYWxsX2RlcHRoID8gTlVMTCA6IG9yaWctPnBhdGgsCisJCQkJIG9yaWcsIGRlc3QsCiAJCQkJIHJlbmFtZV9icmFuY2gsIGRlbGV0ZV9icmFuY2gsCiAJCQkJIF8oInJlbmFtZSIpLCBfKCJyZW5hbWVkIikpKQogCQlyZXR1cm4gLTE7CiAKLQlpZiAoby0+Y2FsbF9kZXB0aCkKLQkJcmV0dXJuIHJlbW92ZV9maWxlX2Zyb21fY2FjaGUoZGVzdC0+cGF0aCk7CisJaWYgKG9wdC0+cHJpdi0+Y2FsbF9kZXB0aCkKKwkJcmV0dXJuIHJlbW92ZV9maWxlX2Zyb21faW5kZXgob3B0LT5yZXBvLT5pbmRleCwgZGVzdC0+cGF0aCk7CiAJZWxzZQotCQlyZXR1cm4gdXBkYXRlX3N0YWdlcyhvLCBkZXN0LT5wYXRoLCBOVUxMLAotCQkJCSAgICAgcmVuYW1lX2JyYW5jaCA9PSBvLT5icmFuY2gxID8gZGVzdCA6IE5VTEwsCi0JCQkJICAgICByZW5hbWVfYnJhbmNoID09IG8tPmJyYW5jaDEgPyBOVUxMIDogZGVzdCk7CisJCXJldHVybiB1cGRhdGVfc3RhZ2VzKG9wdCwgZGVzdC0+cGF0aCwgTlVMTCwKKwkJCQkgICAgIHJlbmFtZV9icmFuY2ggPT0gb3B0LT5icmFuY2gxID8gZGVzdCA6IE5VTEwsCisJCQkJICAgICByZW5hbWVfYnJhbmNoID09IG9wdC0+YnJhbmNoMSA/IE5VTEwgOiBkZXN0KTsKIH0KIAotc3RhdGljIHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpmaWxlc3BlY19mcm9tX2VudHJ5KHN0cnVjdCBkaWZmX2ZpbGVzcGVjICp0YXJnZXQsCi0JCQkJCQkgc3RydWN0IHN0YWdlX2RhdGEgKmVudHJ5LAotCQkJCQkJIGludCBzdGFnZSkKK3N0YXRpYyBpbnQgaGFuZGxlX2ZpbGVfY29sbGlzaW9uKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsCisJCQkJIGNvbnN0IGNoYXIgKmNvbGxpZGVfcGF0aCwKKwkJCQkgY29uc3QgY2hhciAqcHJldl9wYXRoMSwKKwkJCQkgY29uc3QgY2hhciAqcHJldl9wYXRoMiwKKwkJCQkgY29uc3QgY2hhciAqYnJhbmNoMSwgY29uc3QgY2hhciAqYnJhbmNoMiwKKwkJCQkgc3RydWN0IGRpZmZfZmlsZXNwZWMgKmEsCisJCQkJIHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpiKQogewotCXN0cnVjdCBvYmplY3RfaWQgKm9pZCA9ICZlbnRyeS0+c3RhZ2VzW3N0YWdlXS5vaWQ7Ci0JdW5zaWduZWQgbW9kZSA9IGVudHJ5LT5zdGFnZXNbc3RhZ2VdLm1vZGU7Ci0JaWYgKG1vZGUgPT0gMCB8fCBpc19udWxsX29pZChvaWQpKQotCQlyZXR1cm4gTlVMTDsKLQlvaWRjcHkoJnRhcmdldC0+b2lkLCBvaWQpOwotCXRhcmdldC0+bW9kZSA9IG1vZGU7Ci0JcmV0dXJuIHRhcmdldDsKLX0KKwlzdHJ1Y3QgbWVyZ2VfZmlsZV9pbmZvIG1maTsKKwlzdHJ1Y3QgZGlmZl9maWxlc3BlYyBudWxsOworCWNoYXIgKmFsdF9wYXRoID0gTlVMTDsKKwljb25zdCBjaGFyICp1cGRhdGVfcGF0aCA9IGNvbGxpZGVfcGF0aDsKIAotc3RhdGljIGludCBoYW5kbGVfZmlsZShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKLQkJCXN0cnVjdCBkaWZmX2ZpbGVzcGVjICpyZW5hbWUsCi0JCQlpbnQgc3RhZ2UsCi0JCQlzdHJ1Y3QgcmVuYW1lX2NvbmZsaWN0X2luZm8gKmNpKQotewotCWNoYXIgKmRzdF9uYW1lID0gcmVuYW1lLT5wYXRoOwotCXN0cnVjdCBzdGFnZV9kYXRhICpkc3RfZW50cnk7Ci0JY29uc3QgY2hhciAqY3VyX2JyYW5jaCwgKm90aGVyX2JyYW5jaDsKLQlzdHJ1Y3QgZGlmZl9maWxlc3BlYyBvdGhlcjsKLQlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqYWRkOwotCWludCByZXQ7Ci0KLQlpZiAoc3RhZ2UgPT0gMikgewotCQlkc3RfZW50cnkgPSBjaS0+ZHN0X2VudHJ5MTsKLQkJY3VyX2JyYW5jaCA9IGNpLT5icmFuY2gxOwotCQlvdGhlcl9icmFuY2ggPSBjaS0+YnJhbmNoMjsKLQl9IGVsc2UgewotCQlkc3RfZW50cnkgPSBjaS0+ZHN0X2VudHJ5MjsKLQkJY3VyX2JyYW5jaCA9IGNpLT5icmFuY2gyOwotCQlvdGhlcl9icmFuY2ggPSBjaS0+YnJhbmNoMTsKKwkvKgorCSAqIEl0J3MgZWFzaWVzdCB0byBnZXQgdGhlIGNvcnJlY3QgdGhpbmdzIGludG8gc3RhZ2UgMiBhbmQgMywgYW5kCisJICogdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGNvbnRlbnQgbWVyZ2UgcHV0cyBIRUFEIGJlZm9yZSB0aGUgb3RoZXIKKwkgKiBicmFuY2ggaWYgd2UganVzdCBlbnN1cmUgdGhhdCBicmFuY2gxID09IG9wdC0+YnJhbmNoMS4gIFNvLCBzaW1wbHkKKwkgKiBmbGlwIGFyZ3VtZW50cyBhcm91bmQgaWYgd2UgZG9uJ3QgaGF2ZSB0aGF0LgorCSAqLworCWlmIChicmFuY2gxICE9IG9wdC0+YnJhbmNoMSkgeworCQlyZXR1cm4gaGFuZGxlX2ZpbGVfY29sbGlzaW9uKG9wdCwgY29sbGlkZV9wYXRoLAorCQkJCQkgICAgIHByZXZfcGF0aDIsIHByZXZfcGF0aDEsCisJCQkJCSAgICAgYnJhbmNoMiwgYnJhbmNoMSwKKwkJCQkJICAgICBiLCBhKTsKIAl9CiAKLQlhZGQgPSBmaWxlc3BlY19mcm9tX2VudHJ5KCZvdGhlciwgZHN0X2VudHJ5LCBzdGFnZSBeIDEpOwotCWlmIChhZGQpIHsKLQkJaW50IHJlbl9zcmNfd2FzX2RpcnR5ID0gd2FzX2RpcnR5KG8sIHJlbmFtZS0+cGF0aCk7Ci0JCWNoYXIgKmFkZF9uYW1lID0gdW5pcXVlX3BhdGgobywgcmVuYW1lLT5wYXRoLCBvdGhlcl9icmFuY2gpOwotCQlpZiAodXBkYXRlX2ZpbGUobywgMCwgJmFkZC0+b2lkLCBhZGQtPm1vZGUsIGFkZF9uYW1lKSkKLQkJCXJldHVybiAtMTsKKwkvKiBSZW1vdmUgcmVuYW1lIHNvdXJjZXMgaWYgcmVuYW1lL2FkZCBvciByZW5hbWUvcmVuYW1lKDJ0bzEpICovCisJaWYgKHByZXZfcGF0aDEpCisJCXJlbW92ZV9maWxlKG9wdCwgMSwgcHJldl9wYXRoMSwKKwkJCSAgICBvcHQtPnByaXYtPmNhbGxfZGVwdGggfHwgd291bGRfbG9zZV91bnRyYWNrZWQob3B0LCBwcmV2X3BhdGgxKSk7CisJaWYgKHByZXZfcGF0aDIpCisJCXJlbW92ZV9maWxlKG9wdCwgMSwgcHJldl9wYXRoMiwKKwkJCSAgICBvcHQtPnByaXYtPmNhbGxfZGVwdGggfHwgd291bGRfbG9zZV91bnRyYWNrZWQob3B0LCBwcmV2X3BhdGgyKSk7CiAKLQkJaWYgKHJlbl9zcmNfd2FzX2RpcnR5KSB7Ci0JCQlvdXRwdXQobywgMSwgXygiUmVmdXNpbmcgdG8gbG9zZSBkaXJ0eSBmaWxlIGF0ICVzIiksCi0JCQkgICAgICAgcmVuYW1lLT5wYXRoKTsKLQkJfQorCS8qCisJICogUmVtb3ZlIHRoZSBjb2xsaXNpb24gcGF0aCwgaWYgaXQgd291bGRuJ3QgY2F1c2UgZGlydHkgY29udGVudHMKKwkgKiBvciBhbiB1bnRyYWNrZWQgZmlsZSB0byBnZXQgbG9zdC4gIFdlJ2xsIGVpdGhlciBvdmVyd3JpdGUgd2l0aAorCSAqIG1lcmdlZCBjb250ZW50cywgb3IganVzdCB3cml0ZSBvdXQgdG8gZGlmZmVyZW50bHkgbmFtZWQgZmlsZXMuCisJICovCisJaWYgKHdhc19kaXJ0eShvcHQsIGNvbGxpZGVfcGF0aCkpIHsKKwkJb3V0cHV0KG9wdCwgMSwgXygiUmVmdXNpbmcgdG8gbG9zZSBkaXJ0eSBmaWxlIGF0ICVzIiksCisJCSAgICAgICBjb2xsaWRlX3BhdGgpOworCQl1cGRhdGVfcGF0aCA9IGFsdF9wYXRoID0gdW5pcXVlX3BhdGgob3B0LCBjb2xsaWRlX3BhdGgsICJtZXJnZWQiKTsKKwl9IGVsc2UgaWYgKHdvdWxkX2xvc2VfdW50cmFja2VkKG9wdCwgY29sbGlkZV9wYXRoKSkgewogCQkvKgotCQkgKiBCZWNhdXNlIHRoZSBkb3VibGUgbmVnYXRpdmVzIHNvbWVob3cga2VlcCBjb25mdXNpbmcgbWUuLi4KLQkJICogICAgMSkgdXBkYXRlX3dkIGlmZiAhcmVuX3NyY193YXNfZGlydHkuCi0JCSAqICAgIDIpIG5vX3dkIGlmZiAhdXBkYXRlX3dkCi0JCSAqICAgIDMpIHNvLCBub193ZCA9PSAhIXJlbl9zcmNfd2FzX2RpcnR5ID09IHJlbl9zcmNfd2FzX2RpcnR5CisJCSAqIE9ubHkgd2F5IHdlIGdldCBoZXJlIGlzIGlmIGJvdGggcmVuYW1lcyB3ZXJlIGZyb20KKwkJICogYSBkaXJlY3RvcnkgcmVuYW1lIEFORCB1c2VyIGhhZCBhbiB1bnRyYWNrZWQgZmlsZQorCQkgKiBhdCB0aGUgbG9jYXRpb24gd2hlcmUgYm90aCBmaWxlcyBlbmQgdXAgYWZ0ZXIgdGhlCisJCSAqIHR3byBkaXJlY3RvcnkgcmVuYW1lcy4gIFNlZSB0ZXN0Y2FzZSAxMGQgb2YgdDYwNDMuCiAJCSAqLwotCQlyZW1vdmVfZmlsZShvLCAwLCByZW5hbWUtPnBhdGgsIHJlbl9zcmNfd2FzX2RpcnR5KTsKLQkJZHN0X25hbWUgPSB1bmlxdWVfcGF0aChvLCByZW5hbWUtPnBhdGgsIGN1cl9icmFuY2gpOworCQlvdXRwdXQob3B0LCAxLCBfKCJSZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICIKKwkJCSAgICAgICAiJXMsIGV2ZW4gdGhvdWdoIGl0J3MgaW4gdGhlIHdheS4iKSwKKwkJICAgICAgIGNvbGxpZGVfcGF0aCk7CisJCXVwZGF0ZV9wYXRoID0gYWx0X3BhdGggPSB1bmlxdWVfcGF0aChvcHQsIGNvbGxpZGVfcGF0aCwgIm1lcmdlZCIpOwogCX0gZWxzZSB7Ci0JCWlmIChkaXJfaW5fd2F5KHJlbmFtZS0+cGF0aCwgIW8tPmNhbGxfZGVwdGgsIDApKSB7Ci0JCQlkc3RfbmFtZSA9IHVuaXF1ZV9wYXRoKG8sIHJlbmFtZS0+cGF0aCwgY3VyX2JyYW5jaCk7Ci0JCQlvdXRwdXQobywgMSwgXygiJXMgaXMgYSBkaXJlY3RvcnkgaW4gJXMgYWRkaW5nIGFzICVzIGluc3RlYWQiKSwKLQkJCSAgICAgICByZW5hbWUtPnBhdGgsIG90aGVyX2JyYW5jaCwgZHN0X25hbWUpOwotCQl9IGVsc2UgaWYgKCFvLT5jYWxsX2RlcHRoICYmCi0JCQkgICB3b3VsZF9sb3NlX3VudHJhY2tlZChyZW5hbWUtPnBhdGgpKSB7Ci0JCQlkc3RfbmFtZSA9IHVuaXF1ZV9wYXRoKG8sIHJlbmFtZS0+cGF0aCwgY3VyX2JyYW5jaCk7Ci0JCQlvdXRwdXQobywgMSwgXygiUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlczsgIgotCQkJCSAgICAgICAiYWRkaW5nIGFzICVzIGluc3RlYWQiKSwKLQkJCSAgICAgICByZW5hbWUtPnBhdGgsIGRzdF9uYW1lKTsKLQkJfQorCQkvKgorCQkgKiBGSVhNRTogSXQncyBwb3NzaWJsZSB0aGF0IHRoZSB0d28gZmlsZXMgYXJlIGlkZW50aWNhbAorCQkgKiBhbmQgdGhhdCB0aGUgY3VycmVudCB3b3JraW5nIGNvcHkgaGFwcGVucyB0byBtYXRjaCwgaW4KKwkJICogd2hpY2ggY2FzZSB3ZSBhcmUgdW5uZWNlc3NhcmlseSB0b3VjaGluZyB0aGUgd29ya2luZworCQkgKiB0cmVlIGZpbGUuICBJdCdzIG5vdCBhIGxpa2VseSBlbm91Z2ggc2NlbmFyaW8gdGhhdCBJCisJCSAqIHdhbnQgdG8gY29kZSB1cCB0aGUgY2hlY2tzIGZvciBpdCBhbmQgYSBiZXR0ZXIgZml4IGlzCisJCSAqIGF2YWlsYWJsZSBpZiB3ZSByZXN0cnVjdHVyZSBob3cgdW5wYWNrX3RyZWVzKCkgYW5kCisJCSAqIG1lcmdlLXJlY3Vyc2l2ZSBpbnRlcm9wZXJhdGUgYW55d2F5LCBzbyBwdW50aW5nIGZvcgorCQkgKiBub3cuLi4KKwkJICovCisJCXJlbW92ZV9maWxlKG9wdCwgMCwgY29sbGlkZV9wYXRoLCAwKTsKIAl9Ci0JaWYgKChyZXQgPSB1cGRhdGVfZmlsZShvLCAwLCAmcmVuYW1lLT5vaWQsIHJlbmFtZS0+bW9kZSwgZHN0X25hbWUpKSkKLQkJOyAvKiBmYWxsIHRocm91Z2gsIGRvIGFsbG93IGRzdF9uYW1lIHRvIGJlIHJlbGVhc2VkICovCi0JZWxzZSBpZiAoc3RhZ2UgPT0gMikKLQkJcmV0ID0gdXBkYXRlX3N0YWdlcyhvLCByZW5hbWUtPnBhdGgsIE5VTEwsIHJlbmFtZSwgYWRkKTsKLQllbHNlCi0JCXJldCA9IHVwZGF0ZV9zdGFnZXMobywgcmVuYW1lLT5wYXRoLCBOVUxMLCBhZGQsIHJlbmFtZSk7CiAKLQlpZiAoZHN0X25hbWUgIT0gcmVuYW1lLT5wYXRoKQotCQlmcmVlKGRzdF9uYW1lKTsKKwkvKiBTdG9yZSB0aGluZ3MgaW4gZGlmZl9maWxlc3BlY3MgZm9yIGZ1bmN0aW9ucyB0aGF0IG5lZWQgaXQgKi8KKwludWxsLnBhdGggPSAoY2hhciAqKWNvbGxpZGVfcGF0aDsKKwlvaWRjcHkoJm51bGwub2lkLCAmbnVsbF9vaWQpOworCW51bGwubW9kZSA9IDA7CiAKLQlyZXR1cm4gcmV0OworCWlmIChtZXJnZV9tb2RlX2FuZF9jb250ZW50cyhvcHQsICZudWxsLCBhLCBiLCBjb2xsaWRlX3BhdGgsCisJCQkJICAgIGJyYW5jaDEsIGJyYW5jaDIsIG9wdC0+cHJpdi0+Y2FsbF9kZXB0aCAqIDIsICZtZmkpKQorCQlyZXR1cm4gLTE7CisJbWZpLmNsZWFuICY9ICFhbHRfcGF0aDsKKwlpZiAodXBkYXRlX2ZpbGUob3B0LCBtZmkuY2xlYW4sICZtZmkuYmxvYiwgdXBkYXRlX3BhdGgpKQorCQlyZXR1cm4gLTE7CisJaWYgKCFtZmkuY2xlYW4gJiYgIW9wdC0+cHJpdi0+Y2FsbF9kZXB0aCAmJgorCSAgICB1cGRhdGVfc3RhZ2VzKG9wdCwgY29sbGlkZV9wYXRoLCBOVUxMLCBhLCBiKSkKKwkJcmV0dXJuIC0xOworCWZyZWUoYWx0X3BhdGgpOworCS8qCisJICogRklYTUU6IElmIGJvdGggYSAmIGIgYm90aCBzdGFydGVkIHdpdGggY29uZmxpY3RzIChvbmx5IHBvc3NpYmxlCisJICogaWYgdGhleSBjYW1lIGZyb20gYSByZW5hbWUvcmVuYW1lKDJ0bzEpKSwgYnV0IGhhZCBJREVOVElDQUwKKwkgKiBjb250ZW50cyBpbmNsdWRpbmcgdGhvc2UgY29uZmxpY3RzLCB0aGVuIGluIHRoZSBuZXh0IGxpbmUgd2UgY2xhaW0KKwkgKiBpdCB3YXMgY2xlYW4uICBJZiBzb21lb25lIGNhcmVzIGFib3V0IHRoaXMgY2FzZSwgd2Ugc2hvdWxkIGhhdmUgdGhlCisJICogY2FsbGVyIG5vdGlmeSB1cyBpZiB3ZSBzdGFydGVkIHdpdGggY29uZmxpY3RzLgorCSAqLworCXJldHVybiBtZmkuY2xlYW47CiB9CiAKLXN0YXRpYyBpbnQgaGFuZGxlX3JlbmFtZV9yZW5hbWVfMXRvMihzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKK3N0YXRpYyBpbnQgaGFuZGxlX3JlbmFtZV9hZGQoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwKKwkJCSAgICAgc3RydWN0IHJlbmFtZV9jb25mbGljdF9pbmZvICpjaSkKK3sKKwkvKiBhIHdhcyByZW5hbWVkIHRvIGMsIGFuZCBhIHNlcGFyYXRlIGMgd2FzIGFkZGVkLiAqLworCXN0cnVjdCBkaWZmX2ZpbGVzcGVjICphID0gY2ktPnJlbjEtPnBhaXItPm9uZTsKKwlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqYyA9IGNpLT5yZW4xLT5wYWlyLT50d287CisJY2hhciAqcGF0aCA9IGMtPnBhdGg7CisJY2hhciAqcHJldl9wYXRoX2Rlc2M7CisJc3RydWN0IG1lcmdlX2ZpbGVfaW5mbyBtZmk7CisKKwljb25zdCBjaGFyICpyZW5hbWVfYnJhbmNoID0gY2ktPnJlbjEtPmJyYW5jaDsKKwljb25zdCBjaGFyICphZGRfYnJhbmNoID0gKG9wdC0+YnJhbmNoMSA9PSByZW5hbWVfYnJhbmNoID8KKwkJCQkgIG9wdC0+YnJhbmNoMiA6IG9wdC0+YnJhbmNoMSk7CisJaW50IG90aGVyX3N0YWdlID0gKGNpLT5yZW4xLT5icmFuY2ggPT0gb3B0LT5icmFuY2gxID8gMyA6IDIpOworCisJb3V0cHV0KG9wdCwgMSwgXygiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiAiCisJICAgICAgICJSZW5hbWUgJXMtPiVzIGluICVzLiAgQWRkZWQgJXMgaW4gJXMiKSwKKwkgICAgICAgYS0+cGF0aCwgYy0+cGF0aCwgcmVuYW1lX2JyYW5jaCwKKwkgICAgICAgYy0+cGF0aCwgYWRkX2JyYW5jaCk7CisKKwlwcmV2X3BhdGhfZGVzYyA9IHhzdHJmbXQoInZlcnNpb24gb2YgJXMgZnJvbSAlcyIsIHBhdGgsIGEtPnBhdGgpOworCWNpLT5yZW4xLT5zcmNfZW50cnktPnN0YWdlc1tvdGhlcl9zdGFnZV0ucGF0aCA9IGEtPnBhdGg7CisJaWYgKG1lcmdlX21vZGVfYW5kX2NvbnRlbnRzKG9wdCwgYSwgYywKKwkJCQkgICAgJmNpLT5yZW4xLT5zcmNfZW50cnktPnN0YWdlc1tvdGhlcl9zdGFnZV0sCisJCQkJICAgIHByZXZfcGF0aF9kZXNjLAorCQkJCSAgICBvcHQtPmJyYW5jaDEsIG9wdC0+YnJhbmNoMiwKKwkJCQkgICAgMSArIG9wdC0+cHJpdi0+Y2FsbF9kZXB0aCAqIDIsICZtZmkpKQorCQlyZXR1cm4gLTE7CisJZnJlZShwcmV2X3BhdGhfZGVzYyk7CisKKwljaS0+cmVuMS0+ZHN0X2VudHJ5LT5zdGFnZXNbb3RoZXJfc3RhZ2VdLnBhdGggPSBtZmkuYmxvYi5wYXRoID0gYy0+cGF0aDsKKwlyZXR1cm4gaGFuZGxlX2ZpbGVfY29sbGlzaW9uKG9wdCwKKwkJCQkgICAgIGMtPnBhdGgsIGEtPnBhdGgsIE5VTEwsCisJCQkJICAgICByZW5hbWVfYnJhbmNoLCBhZGRfYnJhbmNoLAorCQkJCSAgICAgJm1maS5ibG9iLAorCQkJCSAgICAgJmNpLT5yZW4xLT5kc3RfZW50cnktPnN0YWdlc1tvdGhlcl9zdGFnZV0pOworfQorCitzdGF0aWMgY2hhciAqZmluZF9wYXRoX2Zvcl9jb25mbGljdChzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LAorCQkJCSAgICBjb25zdCBjaGFyICpwYXRoLAorCQkJCSAgICBjb25zdCBjaGFyICpicmFuY2gxLAorCQkJCSAgICBjb25zdCBjaGFyICpicmFuY2gyKQoreworCWNoYXIgKm5ld19wYXRoID0gTlVMTDsKKwlpZiAoZGlyX2luX3dheShvcHQtPnJlcG8tPmluZGV4LCBwYXRoLCAhb3B0LT5wcml2LT5jYWxsX2RlcHRoLCAwKSkgeworCQluZXdfcGF0aCA9IHVuaXF1ZV9wYXRoKG9wdCwgcGF0aCwgYnJhbmNoMSk7CisJCW91dHB1dChvcHQsIDEsIF8oIiVzIGlzIGEgZGlyZWN0b3J5IGluICVzIGFkZGluZyAiCisJCQkgICAgICAgImFzICVzIGluc3RlYWQiKSwKKwkJICAgICAgIHBhdGgsIGJyYW5jaDIsIG5ld19wYXRoKTsKKwl9IGVsc2UgaWYgKHdvdWxkX2xvc2VfdW50cmFja2VkKG9wdCwgcGF0aCkpIHsKKwkJbmV3X3BhdGggPSB1bmlxdWVfcGF0aChvcHQsIHBhdGgsIGJyYW5jaDEpOworCQlvdXRwdXQob3B0LCAxLCBfKCJSZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIgorCQkJICAgICAgICIgYXQgJXM7IGFkZGluZyBhcyAlcyBpbnN0ZWFkIiksCisJCSAgICAgICBwYXRoLCBuZXdfcGF0aCk7CisJfQorCisJcmV0dXJuIG5ld19wYXRoOworfQorCisvKgorICogVG9nZ2xlIHRoZSBzdGFnZSBudW1iZXIgYmV0d2VlbiAib3VycyIgYW5kICJ0aGVpcnMiICgyIGFuZCAzKS4KKyAqLworc3RhdGljIGlubGluZSBpbnQgZmxpcF9zdGFnZShpbnQgc3RhZ2UpCit7CisJcmV0dXJuICgyICsgMykgLSBzdGFnZTsKK30KKworc3RhdGljIGludCBoYW5kbGVfcmVuYW1lX3JlbmFtZV8xdG8yKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsCiAJCQkJICAgICBzdHJ1Y3QgcmVuYW1lX2NvbmZsaWN0X2luZm8gKmNpKQogewogCS8qIE9uZSBmaWxlIHdhcyByZW5hbWVkIGluIGJvdGggYnJhbmNoZXMsIGJ1dCB0byBkaWZmZXJlbnQgbmFtZXMuICovCi0Jc3RydWN0IGRpZmZfZmlsZXNwZWMgKm9uZSA9IGNpLT5wYWlyMS0+b25lOwotCXN0cnVjdCBkaWZmX2ZpbGVzcGVjICphID0gY2ktPnBhaXIxLT50d287Ci0Jc3RydWN0IGRpZmZfZmlsZXNwZWMgKmIgPSBjaS0+cGFpcjItPnR3bzsKKwlzdHJ1Y3QgbWVyZ2VfZmlsZV9pbmZvIG1maTsKKwlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqYWRkOworCXN0cnVjdCBkaWZmX2ZpbGVzcGVjICpvID0gY2ktPnJlbjEtPnBhaXItPm9uZTsKKwlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqYSA9IGNpLT5yZW4xLT5wYWlyLT50d287CisJc3RydWN0IGRpZmZfZmlsZXNwZWMgKmIgPSBjaS0+cmVuMi0+cGFpci0+dHdvOworCWNoYXIgKnBhdGhfZGVzYzsKIAotCW91dHB1dChvLCAxLCBfKCJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6ICIKKwlvdXRwdXQob3B0LCAxLCBfKCJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6ICIKIAkgICAgICAgIlJlbmFtZSBcIiVzXCItPlwiJXNcIiBpbiBicmFuY2ggXCIlc1wiICIKIAkgICAgICAgInJlbmFtZSBcIiVzXCItPlwiJXNcIiBpbiBcIiVzXCIlcyIpLAotCSAgICAgICBvbmUtPnBhdGgsIGEtPnBhdGgsIGNpLT5icmFuY2gxLAotCSAgICAgICBvbmUtPnBhdGgsIGItPnBhdGgsIGNpLT5icmFuY2gyLAotCSAgICAgICBvLT5jYWxsX2RlcHRoID8gXygiIChsZWZ0IHVucmVzb2x2ZWQpIikgOiAiIik7Ci0JaWYgKG8tPmNhbGxfZGVwdGgpIHsKLQkJc3RydWN0IG1lcmdlX2ZpbGVfaW5mbyBtZmk7Ci0JCXN0cnVjdCBkaWZmX2ZpbGVzcGVjIG90aGVyOwotCQlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqYWRkOwotCQlpZiAobWVyZ2VfbW9kZV9hbmRfY29udGVudHMobywgb25lLCBhLCBiLCBvbmUtPnBhdGgsCi0JCQkJCSAgICBjaS0+YnJhbmNoMSwgY2ktPmJyYW5jaDIsICZtZmkpKQotCQkJcmV0dXJuIC0xOworCSAgICAgICBvLT5wYXRoLCBhLT5wYXRoLCBjaS0+cmVuMS0+YnJhbmNoLAorCSAgICAgICBvLT5wYXRoLCBiLT5wYXRoLCBjaS0+cmVuMi0+YnJhbmNoLAorCSAgICAgICBvcHQtPnByaXYtPmNhbGxfZGVwdGggPyBfKCIgKGxlZnQgdW5yZXNvbHZlZCkiKSA6ICIiKTsKIAotCQkvKgotCQkgKiBGSVhNRTogRm9yIHJlbmFtZS9hZGQtc291cmNlIGNvbmZsaWN0cyAoaWYgd2UgY291bGQgZGV0ZWN0Ci0JCSAqIHN1Y2gpLCB0aGlzIGlzIHdyb25nLiAgV2Ugc2hvdWxkIGluc3RlYWQgZmluZCBhIHVuaXF1ZQotCQkgKiBwYXRobmFtZSBhbmQgdGhlbiBlaXRoZXIgcmVuYW1lIHRoZSBhZGQtc291cmNlIGZpbGUgdG8gdGhhdAotCQkgKiB1bmlxdWUgcGF0aCwgb3IgdXNlIHRoYXQgdW5pcXVlIHBhdGggaW5zdGVhZCBvZiBzcmMgaGVyZS4KLQkJICovCi0JCWlmICh1cGRhdGVfZmlsZShvLCAwLCAmbWZpLm9pZCwgbWZpLm1vZGUsIG9uZS0+cGF0aCkpCi0JCQlyZXR1cm4gLTE7Ci0KLQkJLyoKLQkJICogQWJvdmUsIHdlIHB1dCB0aGUgbWVyZ2VkIGNvbnRlbnQgYXQgdGhlIG1lcmdlLWJhc2UncwotCQkgKiBwYXRoLiAgTm93IHdlIHVzdWFsbHkgbmVlZCB0byBkZWxldGUgYm90aCBhLT5wYXRoIGFuZAotCQkgKiBiLT5wYXRoLiAgSG93ZXZlciwgdGhlIHJlbmFtZSBvbiBlYWNoIHNpZGUgb2YgdGhlIG1lcmdlCi0JCSAqIGNvdWxkIGFsc28gYmUgaW52b2x2ZWQgaW4gYSByZW5hbWUvYWRkIGNvbmZsaWN0LiAgSW4KLQkJICogc3VjaCBjYXNlcywgd2Ugc2hvdWxkIGtlZXAgdGhlIGFkZGVkIGZpbGUgYXJvdW5kLAotCQkgKiByZXNvbHZpbmcgdGhlIGNvbmZsaWN0IGF0IHRoYXQgcGF0aCBpbiBpdHMgZmF2b3IuCi0JCSAqLwotCQlhZGQgPSBmaWxlc3BlY19mcm9tX2VudHJ5KCZvdGhlciwgY2ktPmRzdF9lbnRyeTEsIDIgXiAxKTsKLQkJaWYgKGFkZCkgewotCQkJaWYgKHVwZGF0ZV9maWxlKG8sIDAsICZhZGQtPm9pZCwgYWRkLT5tb2RlLCBhLT5wYXRoKSkKLQkJCQlyZXR1cm4gLTE7Ci0JCX0KLQkJZWxzZQotCQkJcmVtb3ZlX2ZpbGVfZnJvbV9jYWNoZShhLT5wYXRoKTsKLQkJYWRkID0gZmlsZXNwZWNfZnJvbV9lbnRyeSgmb3RoZXIsIGNpLT5kc3RfZW50cnkyLCAzIF4gMSk7Ci0JCWlmIChhZGQpIHsKLQkJCWlmICh1cGRhdGVfZmlsZShvLCAwLCAmYWRkLT5vaWQsIGFkZC0+bW9kZSwgYi0+cGF0aCkpCi0JCQkJcmV0dXJuIC0xOwotCQl9Ci0JCWVsc2UKLQkJCXJlbW92ZV9maWxlX2Zyb21fY2FjaGUoYi0+cGF0aCk7Ci0JfSBlbHNlIGlmIChoYW5kbGVfZmlsZShvLCBhLCAyLCBjaSkgfHwgaGFuZGxlX2ZpbGUobywgYiwgMywgY2kpKQorCXBhdGhfZGVzYyA9IHhzdHJmbXQoIiVzIGFuZCAlcywgYm90aCByZW5hbWVkIGZyb20gJXMiLAorCQkJICAgIGEtPnBhdGgsIGItPnBhdGgsIG8tPnBhdGgpOworCWlmIChtZXJnZV9tb2RlX2FuZF9jb250ZW50cyhvcHQsIG8sIGEsIGIsIHBhdGhfZGVzYywKKwkJCQkgICAgY2ktPnJlbjEtPmJyYW5jaCwgY2ktPnJlbjItPmJyYW5jaCwKKwkJCQkgICAgb3B0LT5wcml2LT5jYWxsX2RlcHRoICogMiwgJm1maSkpCiAJCXJldHVybiAtMTsKKwlmcmVlKHBhdGhfZGVzYyk7CisKKwlpZiAob3B0LT5wcml2LT5jYWxsX2RlcHRoKQorCQlyZW1vdmVfZmlsZV9mcm9tX2luZGV4KG9wdC0+cmVwby0+aW5kZXgsIG8tPnBhdGgpOworCisJLyoKKwkgKiBGb3IgZWFjaCBkZXN0aW5hdGlvbiBwYXRoLCB3ZSBuZWVkIHRvIHNlZSBpZiB0aGVyZSBpcyBhCisJICogcmVuYW1lL2FkZCBjb2xsaXNpb24uICBJZiBub3QsIHdlIGNhbiB3cml0ZSB0aGUgZmlsZSBvdXQKKwkgKiB0byB0aGUgc3BlY2lmaWVkIGxvY2F0aW9uLgorCSAqLworCWFkZCA9ICZjaS0+cmVuMS0+ZHN0X2VudHJ5LT5zdGFnZXNbZmxpcF9zdGFnZSgyKV07CisJaWYgKGlzX3ZhbGlkKGFkZCkpIHsKKwkJYWRkLT5wYXRoID0gbWZpLmJsb2IucGF0aCA9IGEtPnBhdGg7CisJCWlmIChoYW5kbGVfZmlsZV9jb2xsaXNpb24ob3B0LCBhLT5wYXRoLAorCQkJCQkgIE5VTEwsIE5VTEwsCisJCQkJCSAgY2ktPnJlbjEtPmJyYW5jaCwKKwkJCQkJICBjaS0+cmVuMi0+YnJhbmNoLAorCQkJCQkgICZtZmkuYmxvYiwgYWRkKSA8IDApCisJCQlyZXR1cm4gLTE7CisJfSBlbHNlIHsKKwkJY2hhciAqbmV3X3BhdGggPSBmaW5kX3BhdGhfZm9yX2NvbmZsaWN0KG9wdCwgYS0+cGF0aCwKKwkJCQkJCQljaS0+cmVuMS0+YnJhbmNoLAorCQkJCQkJCWNpLT5yZW4yLT5icmFuY2gpOworCQlpZiAodXBkYXRlX2ZpbGUob3B0LCAwLCAmbWZpLmJsb2IsCisJCQkJbmV3X3BhdGggPyBuZXdfcGF0aCA6IGEtPnBhdGgpKQorCQkJcmV0dXJuIC0xOworCQlmcmVlKG5ld19wYXRoKTsKKwkJaWYgKCFvcHQtPnByaXYtPmNhbGxfZGVwdGggJiYKKwkJICAgIHVwZGF0ZV9zdGFnZXMob3B0LCBhLT5wYXRoLCBOVUxMLCBhLCBOVUxMKSkKKwkJCXJldHVybiAtMTsKKwl9CisKKwlhZGQgPSAmY2ktPnJlbjItPmRzdF9lbnRyeS0+c3RhZ2VzW2ZsaXBfc3RhZ2UoMyldOworCWlmIChpc192YWxpZChhZGQpKSB7CisJCWFkZC0+cGF0aCA9IG1maS5ibG9iLnBhdGggPSBiLT5wYXRoOworCQlpZiAoaGFuZGxlX2ZpbGVfY29sbGlzaW9uKG9wdCwgYi0+cGF0aCwKKwkJCQkJICBOVUxMLCBOVUxMLAorCQkJCQkgIGNpLT5yZW4xLT5icmFuY2gsCisJCQkJCSAgY2ktPnJlbjItPmJyYW5jaCwKKwkJCQkJICBhZGQsICZtZmkuYmxvYikgPCAwKQorCQkJcmV0dXJuIC0xOworCX0gZWxzZSB7CisJCWNoYXIgKm5ld19wYXRoID0gZmluZF9wYXRoX2Zvcl9jb25mbGljdChvcHQsIGItPnBhdGgsCisJCQkJCQkJY2ktPnJlbjItPmJyYW5jaCwKKwkJCQkJCQljaS0+cmVuMS0+YnJhbmNoKTsKKwkJaWYgKHVwZGF0ZV9maWxlKG9wdCwgMCwgJm1maS5ibG9iLAorCQkJCW5ld19wYXRoID8gbmV3X3BhdGggOiBiLT5wYXRoKSkKKwkJCXJldHVybiAtMTsKKwkJZnJlZShuZXdfcGF0aCk7CisJCWlmICghb3B0LT5wcml2LT5jYWxsX2RlcHRoICYmCisJCSAgICB1cGRhdGVfc3RhZ2VzKG9wdCwgYi0+cGF0aCwgTlVMTCwgTlVMTCwgYikpCisJCQlyZXR1cm4gLTE7CisJfQogCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgaGFuZGxlX3JlbmFtZV9yZW5hbWVfMnRvMShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKK3N0YXRpYyBpbnQgaGFuZGxlX3JlbmFtZV9yZW5hbWVfMnRvMShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LAogCQkJCSAgICAgc3RydWN0IHJlbmFtZV9jb25mbGljdF9pbmZvICpjaSkKIHsKIAkvKiBUd28gZmlsZXMsIGEgJiBiLCB3ZXJlIHJlbmFtZWQgdG8gdGhlIHNhbWUgdGhpbmcsIGMuICovCi0Jc3RydWN0IGRpZmZfZmlsZXNwZWMgKmEgPSBjaS0+cGFpcjEtPm9uZTsKLQlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqYiA9IGNpLT5wYWlyMi0+b25lOwotCXN0cnVjdCBkaWZmX2ZpbGVzcGVjICpjMSA9IGNpLT5wYWlyMS0+dHdvOwotCXN0cnVjdCBkaWZmX2ZpbGVzcGVjICpjMiA9IGNpLT5wYWlyMi0+dHdvOworCXN0cnVjdCBkaWZmX2ZpbGVzcGVjICphID0gY2ktPnJlbjEtPnBhaXItPm9uZTsKKwlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqYiA9IGNpLT5yZW4yLT5wYWlyLT5vbmU7CisJc3RydWN0IGRpZmZfZmlsZXNwZWMgKmMxID0gY2ktPnJlbjEtPnBhaXItPnR3bzsKKwlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqYzIgPSBjaS0+cmVuMi0+cGFpci0+dHdvOwogCWNoYXIgKnBhdGggPSBjMS0+cGF0aDsgLyogPT0gYzItPnBhdGggKi8KIAljaGFyICpwYXRoX3NpZGVfMV9kZXNjOwogCWNoYXIgKnBhdGhfc2lkZV8yX2Rlc2M7CiAJc3RydWN0IG1lcmdlX2ZpbGVfaW5mbyBtZmlfYzE7CiAJc3RydWN0IG1lcmdlX2ZpbGVfaW5mbyBtZmlfYzI7Ci0JaW50IHJldDsKKwlpbnQgb3N0YWdlMSwgb3N0YWdlMjsKIAotCW91dHB1dChvLCAxLCBfKCJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6ICIKKwlvdXRwdXQob3B0LCAxLCBfKCJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6ICIKIAkgICAgICAgIlJlbmFtZSAlcy0+JXMgaW4gJXMuICIKIAkgICAgICAgIlJlbmFtZSAlcy0+JXMgaW4gJXMiKSwKLQkgICAgICAgYS0+cGF0aCwgYzEtPnBhdGgsIGNpLT5icmFuY2gxLAotCSAgICAgICBiLT5wYXRoLCBjMi0+cGF0aCwgY2ktPmJyYW5jaDIpOwotCi0JcmVtb3ZlX2ZpbGUobywgMSwgYS0+cGF0aCwgby0+Y2FsbF9kZXB0aCB8fCB3b3VsZF9sb3NlX3VudHJhY2tlZChhLT5wYXRoKSk7Ci0JcmVtb3ZlX2ZpbGUobywgMSwgYi0+cGF0aCwgby0+Y2FsbF9kZXB0aCB8fCB3b3VsZF9sb3NlX3VudHJhY2tlZChiLT5wYXRoKSk7CisJICAgICAgIGEtPnBhdGgsIGMxLT5wYXRoLCBjaS0+cmVuMS0+YnJhbmNoLAorCSAgICAgICBiLT5wYXRoLCBjMi0+cGF0aCwgY2ktPnJlbjItPmJyYW5jaCk7CiAKIAlwYXRoX3NpZGVfMV9kZXNjID0geHN0cmZtdCgidmVyc2lvbiBvZiAlcyBmcm9tICVzIiwgcGF0aCwgYS0+cGF0aCk7CiAJcGF0aF9zaWRlXzJfZGVzYyA9IHhzdHJmbXQoInZlcnNpb24gb2YgJXMgZnJvbSAlcyIsIHBhdGgsIGItPnBhdGgpOwotCWlmIChtZXJnZV9tb2RlX2FuZF9jb250ZW50cyhvLCBhLCBjMSwgJmNpLT5yZW4xX290aGVyLCBwYXRoX3NpZGVfMV9kZXNjLAotCQkJCSAgICBvLT5icmFuY2gxLCBvLT5icmFuY2gyLCAmbWZpX2MxKSB8fAotCSAgICBtZXJnZV9tb2RlX2FuZF9jb250ZW50cyhvLCBiLCAmY2ktPnJlbjJfb3RoZXIsIGMyLCBwYXRoX3NpZGVfMl9kZXNjLAotCQkJCSAgICBvLT5icmFuY2gxLCBvLT5icmFuY2gyLCAmbWZpX2MyKSkKKwlvc3RhZ2UxID0gY2ktPnJlbjEtPmJyYW5jaCA9PSBvcHQtPmJyYW5jaDEgPyAzIDogMjsKKwlvc3RhZ2UyID0gZmxpcF9zdGFnZShvc3RhZ2UxKTsKKwljaS0+cmVuMS0+c3JjX2VudHJ5LT5zdGFnZXNbb3N0YWdlMV0ucGF0aCA9IGEtPnBhdGg7CisJY2ktPnJlbjItPnNyY19lbnRyeS0+c3RhZ2VzW29zdGFnZTJdLnBhdGggPSBiLT5wYXRoOworCWlmIChtZXJnZV9tb2RlX2FuZF9jb250ZW50cyhvcHQsIGEsIGMxLAorCQkJCSAgICAmY2ktPnJlbjEtPnNyY19lbnRyeS0+c3RhZ2VzW29zdGFnZTFdLAorCQkJCSAgICBwYXRoX3NpZGVfMV9kZXNjLAorCQkJCSAgICBvcHQtPmJyYW5jaDEsIG9wdC0+YnJhbmNoMiwKKwkJCQkgICAgMSArIG9wdC0+cHJpdi0+Y2FsbF9kZXB0aCAqIDIsICZtZmlfYzEpIHx8CisJICAgIG1lcmdlX21vZGVfYW5kX2NvbnRlbnRzKG9wdCwgYiwKKwkJCQkgICAgJmNpLT5yZW4yLT5zcmNfZW50cnktPnN0YWdlc1tvc3RhZ2UyXSwKKwkJCQkgICAgYzIsIHBhdGhfc2lkZV8yX2Rlc2MsCisJCQkJICAgIG9wdC0+YnJhbmNoMSwgb3B0LT5icmFuY2gyLAorCQkJCSAgICAxICsgb3B0LT5wcml2LT5jYWxsX2RlcHRoICogMiwgJm1maV9jMikpCiAJCXJldHVybiAtMTsKIAlmcmVlKHBhdGhfc2lkZV8xX2Rlc2MpOwogCWZyZWUocGF0aF9zaWRlXzJfZGVzYyk7CisJbWZpX2MxLmJsb2IucGF0aCA9IHBhdGg7CisJbWZpX2MyLmJsb2IucGF0aCA9IHBhdGg7CiAKLQlpZiAoby0+Y2FsbF9kZXB0aCkgewotCQkvKgotCQkgKiBJZiBtZmlfYzEuY2xlYW4gJiYgbWZpX2MyLmNsZWFuLCB0aGVuIGl0IG1pZ2h0IG1ha2UKLQkJICogc2Vuc2UgdG8gZG8gYSB0d28td2F5IG1lcmdlIG9mIHRob3NlIHJlc3VsdHMuICBCdXQsIEkKLQkJICogdGhpbmsgaW4gYWxsIGNhc2VzLCBpdCBtYWtlcyBzZW5zZSB0byBoYXZlIHRoZSB2aXJ0dWFsCi0JCSAqIG1lcmdlIGJhc2UganVzdCB1bmRvIHRoZSByZW5hbWVzOyB0aGV5IGNhbiBiZSBkZXRlY3RlZAotCQkgKiBhZ2FpbiBsYXRlciBmb3IgdGhlIG5vbi1yZWN1cnNpdmUgbWVyZ2UuCi0JCSAqLwotCQlyZW1vdmVfZmlsZShvLCAwLCBwYXRoLCAwKTsKLQkJcmV0ID0gdXBkYXRlX2ZpbGUobywgMCwgJm1maV9jMS5vaWQsIG1maV9jMS5tb2RlLCBhLT5wYXRoKTsKLQkJaWYgKCFyZXQpCi0JCQlyZXQgPSB1cGRhdGVfZmlsZShvLCAwLCAmbWZpX2MyLm9pZCwgbWZpX2MyLm1vZGUsCi0JCQkJCSAgYi0+cGF0aCk7Ci0JfSBlbHNlIHsKLQkJY2hhciAqbmV3X3BhdGgxID0gdW5pcXVlX3BhdGgobywgcGF0aCwgY2ktPmJyYW5jaDEpOwotCQljaGFyICpuZXdfcGF0aDIgPSB1bmlxdWVfcGF0aChvLCBwYXRoLCBjaS0+YnJhbmNoMik7Ci0JCW91dHB1dChvLCAxLCBfKCJSZW5hbWluZyAlcyB0byAlcyBhbmQgJXMgdG8gJXMgaW5zdGVhZCIpLAotCQkgICAgICAgYS0+cGF0aCwgbmV3X3BhdGgxLCBiLT5wYXRoLCBuZXdfcGF0aDIpOwotCQlpZiAod2FzX2RpcnR5KG8sIHBhdGgpKQotCQkJb3V0cHV0KG8sIDEsIF8oIlJlZnVzaW5nIHRvIGxvc2UgZGlydHkgZmlsZSBhdCAlcyIpLAotCQkJICAgICAgIHBhdGgpOwotCQllbHNlIGlmICh3b3VsZF9sb3NlX3VudHJhY2tlZChwYXRoKSkKLQkJCS8qCi0JCQkgKiBPbmx5IHdheSB3ZSBnZXQgaGVyZSBpcyBpZiBib3RoIHJlbmFtZXMgd2VyZSBmcm9tCi0JCQkgKiBhIGRpcmVjdG9yeSByZW5hbWUgQU5EIHVzZXIgaGFkIGFuIHVudHJhY2tlZCBmaWxlCi0JCQkgKiBhdCB0aGUgbG9jYXRpb24gd2hlcmUgYm90aCBmaWxlcyBlbmQgdXAgYWZ0ZXIgdGhlCi0JCQkgKiB0d28gZGlyZWN0b3J5IHJlbmFtZXMuICBTZWUgdGVzdGNhc2UgMTBkIG9mIHQ2MDQzLgotCQkJICovCi0JCQlvdXRwdXQobywgMSwgXygiUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAiCi0JCQkJICAgICAgICIlcywgZXZlbiB0aG91Z2ggaXQncyBpbiB0aGUgd2F5LiIpLAotCQkJICAgICAgIHBhdGgpOwotCQllbHNlCi0JCQlyZW1vdmVfZmlsZShvLCAwLCBwYXRoLCAwKTsKLQkJcmV0ID0gdXBkYXRlX2ZpbGUobywgMCwgJm1maV9jMS5vaWQsIG1maV9jMS5tb2RlLCBuZXdfcGF0aDEpOwotCQlpZiAoIXJldCkKLQkJCXJldCA9IHVwZGF0ZV9maWxlKG8sIDAsICZtZmlfYzIub2lkLCBtZmlfYzIubW9kZSwKLQkJCQkJICBuZXdfcGF0aDIpOwotCQkvKgotCQkgKiB1bnBhY2tfdHJlZXMoKSBhY3R1YWxseSBwb3B1bGF0ZXMgdGhlIGluZGV4IGZvciB1cyBmb3IKLQkJICogIm5vcm1hbCIgcmVuYW1lL3JlbmFtZSgydG8xKSBzaXR1dGF0aW9ucyBzbyB0aGF0IHRoZQotCQkgKiBjb3JyZWN0IGVudHJpZXMgYXJlIGF0IHRoZSBoaWdoZXIgc3RhZ2VzLCB3aGljaCB3b3VsZAotCQkgKiBtYWtlIHRoZSBjYWxsIGJlbG93IHRvIHVwZGF0ZV9zdGFnZXNfZm9yX3N0YWdlX2RhdGEKLQkJICogdW5uZWNlc3NhcnkuICBIb3dldmVyLCBpZiBlaXRoZXIgb2YgdGhlIHJlbmFtZXMgY2FtZQotCQkgKiBmcm9tIGEgZGlyZWN0b3J5IHJlbmFtZSwgdGhlbiB1bnBhY2tfdHJlZXMoKSB3aWxsIG5vdAotCQkgKiBoYXZlIGdvdHRlbiB0aGUgcmlnaHQgZGF0YSBsb2FkZWQgaW50byB0aGUgaW5kZXgsIHNvIHdlCi0JCSAqIG5lZWQgdG8gZG8gc28gbm93LiAgKFdoaWxlIGl0J2QgYmUgdGVtcHRpbmcgdG8gbW92ZSB0aGlzCi0JCSAqIGNhbGwgdG8gdXBkYXRlX3N0YWdlc19mb3Jfc3RhZ2VfZGF0YSgpIHRvCi0JCSAqIGFwcGx5X2RpcmVjdG9yeV9yZW5hbWVfbW9kaWZpY2F0aW9ucygpLCB0aGF0IHdvdWxkIGJyZWFrCi0JCSAqIG91ciBpbnRlcm1lZGlhdGUgY2FsbHMgdG8gd291bGRfbG9zZV91bnRyYWNrZWQoKSBzaW5jZQotCQkgKiB0aG9zZSByZWx5IG9uIHRoZSBjdXJyZW50IGluLW1lbW9yeSBpbmRleC4gIFNlZSBhbHNvIHRoZQotCQkgKiBiaWcgIk5PVEUiIGluIHVwZGF0ZV9zdGFnZXMoKSkuCi0JCSAqLwotCQlpZiAodXBkYXRlX3N0YWdlc19mb3Jfc3RhZ2VfZGF0YShvLCBwYXRoLCBjaS0+ZHN0X2VudHJ5MSkpCi0JCQlyZXQgPSAtMTsKLQotCQlmcmVlKG5ld19wYXRoMik7Ci0JCWZyZWUobmV3X3BhdGgxKTsKLQl9Ci0KLQlyZXR1cm4gcmV0OworCXJldHVybiBoYW5kbGVfZmlsZV9jb2xsaXNpb24ob3B0LCBwYXRoLCBhLT5wYXRoLCBiLT5wYXRoLAorCQkJCSAgICAgY2ktPnJlbjEtPmJyYW5jaCwgY2ktPnJlbjItPmJyYW5jaCwKKwkJCQkgICAgICZtZmlfYzEuYmxvYiwgJm1maV9jMi5ibG9iKTsKIH0KIAogLyoKICAqIEdldCB0aGUgZGlmZl9maWxlcGFpcnMgY2hhbmdlZCBiZXR3ZWVuIG9fdHJlZSBhbmQgdHJlZS4KICAqLwotc3RhdGljIHN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCAqZ2V0X2RpZmZwYWlycyhzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKK3N0YXRpYyBzdHJ1Y3QgZGlmZl9xdWV1ZV9zdHJ1Y3QgKmdldF9kaWZmcGFpcnMoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwKIAkJCQkJICAgICAgIHN0cnVjdCB0cmVlICpvX3RyZWUsCiAJCQkJCSAgICAgICBzdHJ1Y3QgdHJlZSAqdHJlZSkKIHsKIAlzdHJ1Y3QgZGlmZl9xdWV1ZV9zdHJ1Y3QgKnJldDsKIAlzdHJ1Y3QgZGlmZl9vcHRpb25zIG9wdHM7CiAKLQlyZXBvX2RpZmZfc2V0dXAodGhlX3JlcG9zaXRvcnksICZvcHRzKTsKKwlyZXBvX2RpZmZfc2V0dXAob3B0LT5yZXBvLCAmb3B0cyk7CiAJb3B0cy5mbGFncy5yZWN1cnNpdmUgPSAxOwogCW9wdHMuZmxhZ3MucmVuYW1lX2VtcHR5ID0gMDsKLQlvcHRzLmRldGVjdF9yZW5hbWUgPSBtZXJnZV9kZXRlY3RfcmVuYW1lKG8pOworCW9wdHMuZGV0ZWN0X3JlbmFtZSA9IG1lcmdlX2RldGVjdF9yZW5hbWUob3B0KTsKIAkvKgogCSAqIFdlIGRvIG5vdCBoYXZlIGxvZ2ljIHRvIGhhbmRsZSB0aGUgZGV0ZWN0aW9uIG9mIGNvcGllcy4gIEluCiAJICogZmFjdCwgaXQgbWF5IG5vdCBldmVuIG1ha2Ugc2Vuc2UgdG8gYWRkIHN1Y2ggbG9naWM6IHdvdWxkIHdlCkBAIC0xNzk5LDE3ICsxODQ1LDE1IEBACiAJICovCiAJaWYgKG9wdHMuZGV0ZWN0X3JlbmFtZSA+IERJRkZfREVURUNUX1JFTkFNRSkKIAkJb3B0cy5kZXRlY3RfcmVuYW1lID0gRElGRl9ERVRFQ1RfUkVOQU1FOwotCW9wdHMucmVuYW1lX2xpbWl0ID0gby0+bWVyZ2VfcmVuYW1lX2xpbWl0ID49IDAgPyBvLT5tZXJnZV9yZW5hbWVfbGltaXQgOgotCQkJICAgIG8tPmRpZmZfcmVuYW1lX2xpbWl0ID49IDAgPyBvLT5kaWZmX3JlbmFtZV9saW1pdCA6Ci0JCQkgICAgMTAwMDsKLQlvcHRzLnJlbmFtZV9zY29yZSA9IG8tPnJlbmFtZV9zY29yZTsKLQlvcHRzLnNob3dfcmVuYW1lX3Byb2dyZXNzID0gby0+c2hvd19yZW5hbWVfcHJvZ3Jlc3M7CisJb3B0cy5yZW5hbWVfbGltaXQgPSAob3B0LT5yZW5hbWVfbGltaXQgPj0gMCkgPyBvcHQtPnJlbmFtZV9saW1pdCA6IDEwMDA7CisJb3B0cy5yZW5hbWVfc2NvcmUgPSBvcHQtPnJlbmFtZV9zY29yZTsKKwlvcHRzLnNob3dfcmVuYW1lX3Byb2dyZXNzID0gb3B0LT5zaG93X3JlbmFtZV9wcm9ncmVzczsKIAlvcHRzLm91dHB1dF9mb3JtYXQgPSBESUZGX0ZPUk1BVF9OT19PVVRQVVQ7CiAJZGlmZl9zZXR1cF9kb25lKCZvcHRzKTsKIAlkaWZmX3RyZWVfb2lkKCZvX3RyZWUtPm9iamVjdC5vaWQsICZ0cmVlLT5vYmplY3Qub2lkLCAiIiwgJm9wdHMpOwogCWRpZmZjb3JlX3N0ZCgmb3B0cyk7Ci0JaWYgKG9wdHMubmVlZGVkX3JlbmFtZV9saW1pdCA+IG8tPm5lZWRlZF9yZW5hbWVfbGltaXQpCi0JCW8tPm5lZWRlZF9yZW5hbWVfbGltaXQgPSBvcHRzLm5lZWRlZF9yZW5hbWVfbGltaXQ7CisJaWYgKG9wdHMubmVlZGVkX3JlbmFtZV9saW1pdCA+IG9wdC0+cHJpdi0+bmVlZGVkX3JlbmFtZV9saW1pdCkKKwkJb3B0LT5wcml2LT5uZWVkZWRfcmVuYW1lX2xpbWl0ID0gb3B0cy5uZWVkZWRfcmVuYW1lX2xpbWl0OwogCiAJcmV0ID0geG1hbGxvYyhzaXplb2YoKnJldCkpOwogCSpyZXQgPSBkaWZmX3F1ZXVlZF9kaWZmOwpAQCAtMTgyMSwxMiArMTg2NSwxNCBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgdHJlZV9oYXNfcGF0aChzdHJ1Y3QgdHJlZSAqdHJlZSwgY29uc3QgY2hhciAqcGF0aCkKK3N0YXRpYyBpbnQgdHJlZV9oYXNfcGF0aChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHRyZWUgKnRyZWUsCisJCQkgY29uc3QgY2hhciAqcGF0aCkKIHsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIGhhc2h5OwotCXVuc2lnbmVkIGludCBtb2RlX287CisJdW5zaWduZWQgc2hvcnQgbW9kZV9vOwogCi0JcmV0dXJuICFnZXRfdHJlZV9lbnRyeSgmdHJlZS0+b2JqZWN0Lm9pZCwgcGF0aCwKKwlyZXR1cm4gIWdldF90cmVlX2VudHJ5KHIsCisJCQkgICAgICAgJnRyZWUtPm9iamVjdC5vaWQsIHBhdGgsCiAJCQkgICAgICAgJmhhc2h5LCAmbW9kZV9vKTsKIH0KIApAQCAtMTg0Nyw2ICsxODkzLDE2IEBACiAJCXJldHVybiBOVUxMOwogCiAJb2xkbGVuID0gc3RybGVuKGVudHJ5LT5kaXIpOworCWlmIChlbnRyeS0+bmV3X2Rpci5sZW4gPT0gMCkKKwkJLyoKKwkJICogSWYgc29tZW9uZSByZW5hbWVkL21lcmdlZCBhIHN1YmRpcmVjdG9yeSBpbnRvIHRoZSByb290CisJCSAqIGRpcmVjdG9yeSAoZS5nLiAnc29tZS9zdWJkaXInIC0+ICcnKSwgdGhlbiB3ZSB3YW50IHRvCisJCSAqIGF2b2lkIHJldHVybmluZworCQkgKiAgICAgJycgKyAnL2ZpbGVuYW1lJworCQkgKiBhcyB0aGUgcmVuYW1lOyB3ZSBuZWVkIHRvIG1ha2Ugb2xkX3BhdGggKyBvbGRsZW4gYWR2YW5jZQorCQkgKiBwYXN0IHRoZSAnLycgY2hhcmFjdGVyLgorCQkgKi8KKwkJb2xkbGVuKys7CiAJbmV3bGVuID0gZW50cnktPm5ld19kaXIubGVuICsgKHN0cmxlbihvbGRfcGF0aCkgLSBvbGRsZW4pICsgMTsKIAlzdHJidWZfZ3JvdygmbmV3X3BhdGgsIG5ld2xlbik7CiAJc3RyYnVmX2FkZGJ1ZigmbmV3X3BhdGgsICZlbnRyeS0+bmV3X2Rpcik7CkBAIC0xODU5LDggKzE5MTUsOCBAQAogCQkJCSAgICBjaGFyICoqb2xkX2RpciwgY2hhciAqKm5ld19kaXIpCiB7CiAJY2hhciAqZW5kX29mX29sZCwgKmVuZF9vZl9uZXc7Ci0JaW50IG9sZF9sZW4sIG5ld19sZW47CiAKKwkvKiBEZWZhdWx0IHJldHVybiB2YWx1ZXM6IE5VTEwsIG1lYW5pbmcgbm8gcmVuYW1lICovCiAJKm9sZF9kaXIgPSBOVUxMOwogCSpuZXdfZGlyID0gTlVMTDsKIApAQCAtMTg3MSw0MyArMTkyNyw5MSBAQAogCSAqICAgICJhL2IvYy9kIiB3YXMgcmVuYW1lZCB0byAiYS9iL3NvbWUvdGhpbmcvZWxzZSIKIAkgKiBzbywgZm9yIHRoaXMgZXhhbXBsZSwgdGhpcyBmdW5jdGlvbiByZXR1cm5zICJhL2IvYy9kIiBpbgogCSAqICpvbGRfZGlyIGFuZCAiYS9iL3NvbWUvdGhpbmcvZWxzZSIgaW4gKm5ld19kaXIuCi0JICoKLQkgKiBBbHNvLCBpZiB0aGUgYmFzZW5hbWUgb2YgdGhlIGZpbGUgY2hhbmdlZCwgd2UgZG9uJ3QgY2FyZS4gIFdlCi0JICogd2FudCB0byBrbm93IHdoaWNoIHBvcnRpb24gb2YgdGhlIGRpcmVjdG9yeSwgaWYgYW55LCBjaGFuZ2VkLgorCSAqLworCisJLyoKKwkgKiBJZiB0aGUgYmFzZW5hbWUgb2YgdGhlIGZpbGUgY2hhbmdlZCwgd2UgZG9uJ3QgY2FyZS4gIFdlIHdhbnQKKwkgKiB0byBrbm93IHdoaWNoIHBvcnRpb24gb2YgdGhlIGRpcmVjdG9yeSwgaWYgYW55LCBjaGFuZ2VkLgogCSAqLwogCWVuZF9vZl9vbGQgPSBzdHJyY2hyKG9sZF9wYXRoLCAnLycpOwogCWVuZF9vZl9uZXcgPSBzdHJyY2hyKG5ld19wYXRoLCAnLycpOwogCi0JaWYgKGVuZF9vZl9vbGQgPT0gTlVMTCB8fCBlbmRfb2ZfbmV3ID09IE5VTEwpCisJLyoKKwkgKiBJZiBlbmRfb2Zfb2xkIGlzIE5VTEwsIG9sZF9wYXRoIHdhc24ndCBpbiBhIGRpcmVjdG9yeSwgc28gdGhlcmUKKwkgKiBjb3VsZCBub3QgYmUgYSBkaXJlY3RvcnkgcmVuYW1lIChvdXIgcnVsZSBlbHNld2hlcmUgdGhhdCBhCisJICogZGlyZWN0b3J5IHdoaWNoIHN0aWxsIGV4aXN0cyBpcyBub3QgY29uc2lkZXJlZCB0byBoYXZlIGJlZW4KKwkgKiByZW5hbWVkIG1lYW5zIHRoZSByb290IGRpcmVjdG9yeSBjYW4gbmV2ZXIgYmUgcmVuYW1lZCAtLSBiZWNhdXNlCisJICogdGhlIHJvb3QgZGlyZWN0b3J5IGFsd2F5cyBleGlzdHMpLgorCSAqLworCWlmIChlbmRfb2Zfb2xkID09IE5VTEwpCisJCXJldHVybjsgLyogTm90ZTogKm9sZF9kaXIgYW5kICpuZXdfZGlyIGFyZSBzdGlsbCBOVUxMICovCisKKwkvKgorCSAqIElmIG5ld19wYXRoIGNvbnRhaW5zIG5vIGRpcmVjdG9yeSAoZW5kX29mX25ldyBpcyBOVUxMKSwgdGhlbiB3ZQorCSAqIGhhdmUgYSByZW5hbWUgb2Ygb2xkX3BhdGgncyBkaXJlY3RvcnkgdG8gdGhlIHJvb3QgZGlyZWN0b3J5LgorCSAqLworCWlmIChlbmRfb2ZfbmV3ID09IE5VTEwpIHsKKwkJKm9sZF9kaXIgPSB4c3RybmR1cChvbGRfcGF0aCwgZW5kX29mX29sZCAtIG9sZF9wYXRoKTsKKwkJKm5ld19kaXIgPSB4c3RyZHVwKCIiKTsKIAkJcmV0dXJuOworCX0KKworCS8qIEZpbmQgdGhlIGZpcnN0IG5vbi1tYXRjaGluZyBjaGFyYWN0ZXIgdHJhdmVyc2luZyBiYWNrd2FyZHMgKi8KIAl3aGlsZSAoKi0tZW5kX29mX25ldyA9PSAqLS1lbmRfb2Zfb2xkICYmCiAJICAgICAgIGVuZF9vZl9vbGQgIT0gb2xkX3BhdGggJiYKIAkgICAgICAgZW5kX29mX25ldyAhPSBuZXdfcGF0aCkKIAkJOyAvKiBEbyBub3RoaW5nOyBhbGwgaW4gdGhlIHdoaWxlIGxvb3AgKi8KKworCS8qCisJICogSWYgYm90aCBnb3QgYmFjayB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZWlyIHN0cmluZ3MsIHRoZW4gdGhlCisJICogZGlyZWN0b3J5IGRpZG4ndCBjaGFuZ2UgYXQgYWxsLCBvbmx5IHRoZSBiYXNlbmFtZSBkaWQuCisJICovCisJaWYgKGVuZF9vZl9vbGQgPT0gb2xkX3BhdGggJiYgZW5kX29mX25ldyA9PSBuZXdfcGF0aCAmJgorCSAgICAqZW5kX29mX29sZCA9PSAqZW5kX29mX25ldykKKwkJcmV0dXJuOyAvKiBOb3RlOiAqb2xkX2RpciBhbmQgKm5ld19kaXIgYXJlIHN0aWxsIE5VTEwgKi8KKworCS8qCisJICogSWYgZW5kX29mX25ldyBnb3QgYmFjayB0byB0aGUgYmVnaW5uaW5nIG9mIGl0cyBzdHJpbmcsIGFuZAorCSAqIGVuZF9vZl9vbGQgZ290IGJhY2sgdG8gdGhlIGJlZ2lubmluZyBvZiBzb21lIHN1YmRpcmVjdG9yeSwgdGhlbgorCSAqIHdlIGhhdmUgYSByZW5hbWUvbWVyZ2Ugb2YgYSBzdWJkaXJlY3RvcnkgaW50byB0aGUgcm9vdCwgd2hpY2gKKwkgKiBuZWVkcyBzbGlnaHRseSBzcGVjaWFsIGhhbmRsaW5nLgorCSAqCisJICogTm90ZTogVGhlcmUgaXMgbm8gbmVlZCB0byBjb25zaWRlciB0aGUgb3Bwb3NpdGUgY2FzZSwgd2l0aCBhCisJICogcmVuYW1lL21lcmdlIG9mIHRoZSByb290IGRpcmVjdG9yeSBpbnRvIHNvbWUgc3ViZGlyZWN0b3J5CisJICogYmVjYXVzZSBhcyBub3RlZCBhYm92ZSB0aGUgcm9vdCBkaXJlY3RvcnkgYWx3YXlzIGV4aXN0cyBzbyBpdAorCSAqIGNhbm5vdCBiZSBjb25zaWRlcmVkIHRvIGJlIHJlbmFtZWQuCisJICovCisJaWYgKGVuZF9vZl9uZXcgPT0gbmV3X3BhdGggJiYKKwkgICAgZW5kX29mX29sZCAhPSBvbGRfcGF0aCAmJiBlbmRfb2Zfb2xkWy0xXSA9PSAnLycpIHsKKwkJKm9sZF9kaXIgPSB4c3RybmR1cChvbGRfcGF0aCwgLS1lbmRfb2Zfb2xkIC0gb2xkX3BhdGgpOworCQkqbmV3X2RpciA9IHhzdHJkdXAoIiIpOworCQlyZXR1cm47CisJfQorCiAJLyoKIAkgKiBXZSd2ZSBmb3VuZCB0aGUgZmlyc3Qgbm9uLW1hdGNoaW5nIGNoYXJhY3RlciBpbiB0aGUgZGlyZWN0b3J5Ci0JICogcGF0aHMuICBUaGF0IG1lYW5zIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB3ZSB3ZXJlIGNvbXBhcmluZwotCSAqIHJlcHJlc2VudHMgdGhlIHJlbmFtZS4gIE1vdmUgZW5kX29mX29sZCBhbmQgZW5kX29mX25ldyBiYWNrCi0JICogdG8gdGhlIGZ1bGwgZGlyZWN0b3J5IG5hbWUuCisJICogcGF0aHMuICBUaGF0IG1lYW5zIHRoZSBjdXJyZW50IGNoYXJhY3RlcnMgd2Ugd2VyZSBsb29raW5nIGF0CisJICogd2VyZSBwYXJ0IG9mIHRoZSBmaXJzdCBub24tbWF0Y2hpbmcgc3ViZGlyIG5hbWUgZ29pbmcgYmFjayBmcm9tCisJICogdGhlIGVuZCBvZiB0aGUgc3RyaW5ncy4gIEdldCB0aGUgd2hvbGUgbmFtZSBieSBhZHZhbmNpbmcgYm90aAorCSAqIGVuZF9vZl9vbGQgYW5kIGVuZF9vZl9uZXcgdG8gdGhlIE5FWFQgJy8nIGNoYXJhY3Rlci4gIFRoYXQgd2lsbAorCSAqIHJlcHJlc2VudCB0aGUgZW50aXJlIGRpcmVjdG9yeSByZW5hbWUuCisJICoKKwkgKiBUaGUgcmVhc29uIGZvciB0aGUgaW5jcmVtZW50IGlzIGNhc2VzIGxpa2UKKwkgKiAgICBhL2Ivc3Rhci9mb28vd2hhdGV2ZXIuYyAtPiBhL2IvdGFyL2Zvby9yYW5kb20uYworCSAqIEFmdGVyIGRyb3BwaW5nIHRoZSBiYXNlbmFtZSBhbmQgZ29pbmcgYmFjayB0byB0aGUgZmlyc3QKKwkgKiBub24tbWF0Y2hpbmcgY2hhcmFjdGVyLCB3ZSdyZSBub3cgY29tcGFyaW5nOgorCSAqICAgIGEvYi9zICAgICAgICAgIGFuZCAgICAgICAgIGEvYi8KKwkgKiBhbmQgd2Ugd2FudCB0byBiZSBjb21wYXJpbmc6CisJICogICAgYS9iL3N0YXIvICAgICAgYW5kICAgICAgICAgYS9iL3Rhci8KKwkgKiBidXQgd2l0aG91dCB0aGUgcHJlLWluY3JlbWVudCwgdGhlIG9uZSBvbiB0aGUgcmlnaHQgd291bGQgc3RheQorCSAqIGEvYi8uCiAJICovCi0JaWYgKCplbmRfb2Zfb2xkID09ICcvJykKLQkJZW5kX29mX29sZCsrOwotCWlmICgqZW5kX29mX29sZCAhPSAnLycpCi0JCWVuZF9vZl9uZXcrKzsKLQllbmRfb2Zfb2xkID0gc3RyY2hyKGVuZF9vZl9vbGQsICcvJyk7Ci0JZW5kX29mX25ldyA9IHN0cmNocihlbmRfb2ZfbmV3LCAnLycpOworCWVuZF9vZl9vbGQgPSBzdHJjaHIoKytlbmRfb2Zfb2xkLCAnLycpOworCWVuZF9vZl9uZXcgPSBzdHJjaHIoKytlbmRfb2ZfbmV3LCAnLycpOwogCi0JLyoKLQkgKiBJdCBtYXkgaGF2ZSBiZWVuIHRoZSBjYXNlIHRoYXQgb2xkX3BhdGggYW5kIG5ld19wYXRoIHdlcmUgdGhlIHNhbWUKLQkgKiBkaXJlY3RvcnkgYWxsIGFsb25nLiAgRG9uJ3QgY2xhaW0gYSByZW5hbWUgaWYgdGhleSdyZSB0aGUgc2FtZS4KLQkgKi8KLQlvbGRfbGVuID0gZW5kX29mX29sZCAtIG9sZF9wYXRoOwotCW5ld19sZW4gPSBlbmRfb2ZfbmV3IC0gbmV3X3BhdGg7Ci0KLQlpZiAob2xkX2xlbiAhPSBuZXdfbGVuIHx8IHN0cm5jbXAob2xkX3BhdGgsIG5ld19wYXRoLCBvbGRfbGVuKSkgewotCQkqb2xkX2RpciA9IHhzdHJuZHVwKG9sZF9wYXRoLCBvbGRfbGVuKTsKLQkJKm5ld19kaXIgPSB4c3RybmR1cChuZXdfcGF0aCwgbmV3X2xlbik7Ci0JfQorCS8qIENvcHkgdGhlIG9sZCBhbmQgbmV3IGRpcmVjdG9yaWVzIGludG8gKm9sZF9kaXIgYW5kICpuZXdfZGlyLiAqLworCSpvbGRfZGlyID0geHN0cm5kdXAob2xkX3BhdGgsIGVuZF9vZl9vbGQgLSBvbGRfcGF0aCk7CisJKm5ld19kaXIgPSB4c3RybmR1cChuZXdfcGF0aCwgZW5kX29mX25ldyAtIG5ld19wYXRoKTsKIH0KIAogc3RhdGljIHZvaWQgcmVtb3ZlX2hhc2htYXBfZW50cmllcyhzdHJ1Y3QgaGFzaG1hcCAqZGlyX3JlbmFtZXMsCkBAIC0xOTE4LDcgKzIwMjIsNyBAQAogCiAJZm9yIChpID0gMDsgaSA8IGl0ZW1zX3RvX3JlbW92ZS0+bnI7IGkrKykgewogCQllbnRyeSA9IGl0ZW1zX3RvX3JlbW92ZS0+aXRlbXNbaV0udXRpbDsKLQkJaGFzaG1hcF9yZW1vdmUoZGlyX3JlbmFtZXMsIGVudHJ5LCBOVUxMKTsKKwkJaGFzaG1hcF9yZW1vdmUoZGlyX3JlbmFtZXMsICZlbnRyeS0+ZW50LCBOVUxMKTsKIAl9CiAJc3RyaW5nX2xpc3RfY2xlYXIoaXRlbXNfdG9fcmVtb3ZlLCAwKTsKIH0KQEAgLTE5MjgsNyArMjAzMiw3IEBACiAgKiBsZXZlbCBjb25mbGljdHMgZm9yIHRoZSByZW5hbWVkIGxvY2F0aW9uLiAgSWYgdGhlcmUgaXMgYSByZW5hbWUgYW5kCiAgKiB0aGVyZSBhcmUgbm8gY29uZmxpY3RzLCByZXR1cm4gdGhlIG5ldyBuYW1lLiAgT3RoZXJ3aXNlLCByZXR1cm4gTlVMTC4KICAqLwotc3RhdGljIGNoYXIgKmhhbmRsZV9wYXRoX2xldmVsX2NvbmZsaWN0cyhzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKK3N0YXRpYyBjaGFyICpoYW5kbGVfcGF0aF9sZXZlbF9jb25mbGljdHMoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwKIAkJCQkJIGNvbnN0IGNoYXIgKnBhdGgsCiAJCQkJCSBzdHJ1Y3QgZGlyX3JlbmFtZV9lbnRyeSAqZW50cnksCiAJCQkJCSBzdHJ1Y3QgaGFzaG1hcCAqY29sbGlzaW9ucywKQEAgLTE5NDksNyArMjA1Myw3IEBACiAJCS8qIFRoaXMgc2hvdWxkIG9ubHkgaGFwcGVuIHdoZW4gZW50cnktPm5vbl91bmlxdWVfbmV3X2RpciBzZXQgKi8KIAkJaWYgKCFlbnRyeS0+bm9uX3VuaXF1ZV9uZXdfZGlyKQogCQkJQlVHKCJlbnRyeS0+bm9uX3VucWl1ZV9kaXIgbm90IHNldCBhbmQgIW5ld19wYXRoIik7Ci0JCW91dHB1dChvLCAxLCBfKCJDT05GTElDVCAoZGlyZWN0b3J5IHJlbmFtZSBzcGxpdCk6ICIKKwkJb3V0cHV0KG9wdCwgMSwgXygiQ09ORkxJQ1QgKGRpcmVjdG9yeSByZW5hbWUgc3BsaXQpOiAiCiAJCQkgICAgICAgIlVuY2xlYXIgd2hlcmUgdG8gcGxhY2UgJXMgYmVjYXVzZSBkaXJlY3RvcnkgIgogCQkJICAgICAgICIlcyB3YXMgcmVuYW1lZCB0byBtdWx0aXBsZSBvdGhlciBkaXJlY3RvcmllcywgIgogCQkJICAgICAgICJ3aXRoIG5vIGRlc3RpbmF0aW9uIGdldHRpbmcgYSBtYWpvcml0eSBvZiB0aGUgIgpAQCAtMTk3NywxMSArMjA4MSwxMSBAQAogCSAqLwogCWlmIChjb2xsaXNpb25fZW50LT5yZXBvcnRlZF9hbHJlYWR5KSB7CiAJCWNsZWFuID0gMDsKLQl9IGVsc2UgaWYgKHRyZWVfaGFzX3BhdGgodHJlZSwgbmV3X3BhdGgpKSB7CisJfSBlbHNlIGlmICh0cmVlX2hhc19wYXRoKG9wdC0+cmVwbywgdHJlZSwgbmV3X3BhdGgpKSB7CiAJCWNvbGxpc2lvbl9lbnQtPnJlcG9ydGVkX2FscmVhZHkgPSAxOwogCQlzdHJidWZfYWRkX3NlcGFyYXRlZF9zdHJpbmdfbGlzdCgmY29sbGlzaW9uX3BhdGhzLCAiLCAiLAogCQkJCQkJICZjb2xsaXNpb25fZW50LT5zb3VyY2VfZmlsZXMpOwotCQlvdXRwdXQobywgMSwgXygiQ09ORkxJQ1QgKGltcGxpY2l0IGRpciByZW5hbWUpOiBFeGlzdGluZyAiCisJCW91dHB1dChvcHQsIDEsIF8oIkNPTkZMSUNUIChpbXBsaWNpdCBkaXIgcmVuYW1lKTogRXhpc3RpbmcgIgogCQkJICAgICAgICJmaWxlL2RpciBhdCAlcyBpbiB0aGUgd2F5IG9mIGltcGxpY2l0ICIKIAkJCSAgICAgICAiZGlyZWN0b3J5IHJlbmFtZShzKSBwdXR0aW5nIHRoZSBmb2xsb3dpbmcgIgogCQkJICAgICAgICJwYXRoKHMpIHRoZXJlOiAlcy4iKSwKQEAgLTE5OTEsNyArMjA5NSw3IEBACiAJCWNvbGxpc2lvbl9lbnQtPnJlcG9ydGVkX2FscmVhZHkgPSAxOwogCQlzdHJidWZfYWRkX3NlcGFyYXRlZF9zdHJpbmdfbGlzdCgmY29sbGlzaW9uX3BhdGhzLCAiLCAiLAogCQkJCQkJICZjb2xsaXNpb25fZW50LT5zb3VyY2VfZmlsZXMpOwotCQlvdXRwdXQobywgMSwgXygiQ09ORkxJQ1QgKGltcGxpY2l0IGRpciByZW5hbWUpOiBDYW5ub3QgbWFwICIKKwkJb3V0cHV0KG9wdCwgMSwgXygiQ09ORkxJQ1QgKGltcGxpY2l0IGRpciByZW5hbWUpOiBDYW5ub3QgbWFwICIKIAkJCSAgICAgICAibW9yZSB0aGFuIG9uZSBwYXRoIHRvICVzOyBpbXBsaWNpdCBkaXJlY3RvcnkgIgogCQkJICAgICAgICJyZW5hbWVzIHRyaWVkIHRvIHB1dCB0aGVzZSBwYXRocyB0aGVyZTogJXMiKSwKIAkJICAgICAgIG5ld19wYXRoLCBjb2xsaXNpb25fcGF0aHMuYnVmKTsKQEAgLTIwMjgsNyArMjEzMiw3IEBACiAgKiAgICAgICAgIGNhdXNlcyBjb25mbGljdHMgZm9yIGZpbGVzIHdpdGhpbiB0aG9zZSBtZXJnZWQgZGlyZWN0b3JpZXMsIHRoZW4KICAqICAgICAgICAgdGhhdCBzaG91bGQgYmUgZGV0ZWN0ZWQgYXQgdGhlIGluZGl2aWR1YWwgcGF0aCBsZXZlbC4KICAqLwotc3RhdGljIHZvaWQgaGFuZGxlX2RpcmVjdG9yeV9sZXZlbF9jb25mbGljdHMoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sCitzdGF0aWMgdm9pZCBoYW5kbGVfZGlyZWN0b3J5X2xldmVsX2NvbmZsaWN0cyhzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LAogCQkJCQkgICAgIHN0cnVjdCBoYXNobWFwICpkaXJfcmVfaGVhZCwKIAkJCQkJICAgICBzdHJ1Y3QgdHJlZSAqaGVhZCwKIAkJCQkJICAgICBzdHJ1Y3QgaGFzaG1hcCAqZGlyX3JlX21lcmdlLApAQCAtMjA0MSw4ICsyMTQ1LDggQEAKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgcmVtb3ZlX2Zyb21faGVhZCA9IFNUUklOR19MSVNUX0lOSVRfTk9EVVA7CiAJc3RydWN0IHN0cmluZ19saXN0IHJlbW92ZV9mcm9tX21lcmdlID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKIAotCWhhc2htYXBfaXRlcl9pbml0KGRpcl9yZV9oZWFkLCAmaXRlcik7Ci0Jd2hpbGUgKChoZWFkX2VudCA9IGhhc2htYXBfaXRlcl9uZXh0KCZpdGVyKSkpIHsKKwloYXNobWFwX2Zvcl9lYWNoX2VudHJ5KGRpcl9yZV9oZWFkLCAmaXRlciwgaGVhZF9lbnQsCisJCQkJZW50IC8qIG1lbWJlciBuYW1lICovKSB7CiAJCW1lcmdlX2VudCA9IGRpcl9yZW5hbWVfZmluZF9lbnRyeShkaXJfcmVfbWVyZ2UsIGhlYWRfZW50LT5kaXIpOwogCQlpZiAobWVyZ2VfZW50ICYmCiAJCSAgICAhaGVhZF9lbnQtPm5vbl91bmlxdWVfbmV3X2RpciAmJgpAQCAtMjA1NSw3ICsyMTU5LDcgQEAKIAkJCXN0cmluZ19saXN0X2FwcGVuZCgmcmVtb3ZlX2Zyb21fbWVyZ2UsCiAJCQkJCSAgIG1lcmdlX2VudC0+ZGlyKS0+dXRpbCA9IG1lcmdlX2VudDsKIAkJCXN0cmJ1Zl9yZWxlYXNlKCZtZXJnZV9lbnQtPm5ld19kaXIpOwotCQl9IGVsc2UgaWYgKHRyZWVfaGFzX3BhdGgoaGVhZCwgaGVhZF9lbnQtPmRpcikpIHsKKwkJfSBlbHNlIGlmICh0cmVlX2hhc19wYXRoKG9wdC0+cmVwbywgaGVhZCwgaGVhZF9lbnQtPmRpcikpIHsKIAkJCS8qIDIuIFRoaXMgd2Fzbid0IGEgZGlyZWN0b3J5IHJlbmFtZSBhZnRlciBhbGwgKi8KIAkJCXN0cmluZ19saXN0X2FwcGVuZCgmcmVtb3ZlX2Zyb21faGVhZCwKIAkJCQkJICAgaGVhZF9lbnQtPmRpciktPnV0aWwgPSBoZWFkX2VudDsKQEAgLTIwNjYsMTAgKzIxNzAsMTAgQEAKIAlyZW1vdmVfaGFzaG1hcF9lbnRyaWVzKGRpcl9yZV9oZWFkLCAmcmVtb3ZlX2Zyb21faGVhZCk7CiAJcmVtb3ZlX2hhc2htYXBfZW50cmllcyhkaXJfcmVfbWVyZ2UsICZyZW1vdmVfZnJvbV9tZXJnZSk7CiAKLQloYXNobWFwX2l0ZXJfaW5pdChkaXJfcmVfbWVyZ2UsICZpdGVyKTsKLQl3aGlsZSAoKG1lcmdlX2VudCA9IGhhc2htYXBfaXRlcl9uZXh0KCZpdGVyKSkpIHsKKwloYXNobWFwX2Zvcl9lYWNoX2VudHJ5KGRpcl9yZV9tZXJnZSwgJml0ZXIsIG1lcmdlX2VudCwKKwkJCQllbnQgLyogbWVtYmVyIG5hbWUgKi8pIHsKIAkJaGVhZF9lbnQgPSBkaXJfcmVuYW1lX2ZpbmRfZW50cnkoZGlyX3JlX2hlYWQsIG1lcmdlX2VudC0+ZGlyKTsKLQkJaWYgKHRyZWVfaGFzX3BhdGgobWVyZ2UsIG1lcmdlX2VudC0+ZGlyKSkgeworCQlpZiAodHJlZV9oYXNfcGF0aChvcHQtPnJlcG8sIG1lcmdlLCBtZXJnZV9lbnQtPmRpcikpIHsKIAkJCS8qIDIuIFRoaXMgd2Fzbid0IGEgZGlyZWN0b3J5IHJlbmFtZSBhZnRlciBhbGwgKi8KIAkJCXN0cmluZ19saXN0X2FwcGVuZCgmcmVtb3ZlX2Zyb21fbWVyZ2UsCiAJCQkJCSAgIG1lcmdlX2VudC0+ZGlyKS0+dXRpbCA9IG1lcmdlX2VudDsKQEAgLTIwODMsMTEgKzIxODcsMTEgQEAKIAkJCSAqIGtub3cgdGhhdCBoZWFkX2VudC0+bmV3X2RpciBhbmQgbWVyZ2VfZW50LT5uZXdfZGlyCiAJCQkgKiBhcmUgZGlmZmVyZW50IHN0cmluZ3MuCiAJCQkgKi8KLQkJCW91dHB1dChvLCAxLCBfKCJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6ICIKKwkJCW91dHB1dChvcHQsIDEsIF8oIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogIgogCQkJCSAgICAgICAiUmVuYW1lIGRpcmVjdG9yeSAlcy0+JXMgaW4gJXMuICIKIAkJCQkgICAgICAgIlJlbmFtZSBkaXJlY3RvcnkgJXMtPiVzIGluICVzIiksCi0JCQkgICAgICAgaGVhZF9lbnQtPmRpciwgaGVhZF9lbnQtPm5ld19kaXIuYnVmLCBvLT5icmFuY2gxLAotCQkJICAgICAgIGhlYWRfZW50LT5kaXIsIG1lcmdlX2VudC0+bmV3X2Rpci5idWYsIG8tPmJyYW5jaDIpOworCQkJICAgICAgIGhlYWRfZW50LT5kaXIsIGhlYWRfZW50LT5uZXdfZGlyLmJ1Ziwgb3B0LT5icmFuY2gxLAorCQkJICAgICAgIGhlYWRfZW50LT5kaXIsIG1lcmdlX2VudC0+bmV3X2Rpci5idWYsIG9wdC0+YnJhbmNoMik7CiAJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJnJlbW92ZV9mcm9tX2hlYWQsCiAJCQkJCSAgIGhlYWRfZW50LT5kaXIpLT51dGlsID0gaGVhZF9lbnQ7CiAJCQlzdHJidWZfcmVsZWFzZSgmaGVhZF9lbnQtPm5ld19kaXIpOwpAQCAtMjEwMSw4ICsyMjA1LDcgQEAKIAlyZW1vdmVfaGFzaG1hcF9lbnRyaWVzKGRpcl9yZV9tZXJnZSwgJnJlbW92ZV9mcm9tX21lcmdlKTsKIH0KIAotc3RhdGljIHN0cnVjdCBoYXNobWFwICpnZXRfZGlyZWN0b3J5X3JlbmFtZXMoc3RydWN0IGRpZmZfcXVldWVfc3RydWN0ICpwYWlycywKLQkJCQkJICAgICBzdHJ1Y3QgdHJlZSAqdHJlZSkKK3N0YXRpYyBzdHJ1Y3QgaGFzaG1hcCAqZ2V0X2RpcmVjdG9yeV9yZW5hbWVzKHN0cnVjdCBkaWZmX3F1ZXVlX3N0cnVjdCAqcGFpcnMpCiB7CiAJc3RydWN0IGhhc2htYXAgKmRpcl9yZW5hbWVzOwogCXN0cnVjdCBoYXNobWFwX2l0ZXIgaXRlcjsKQEAgLTIxNDcsNyArMjI1MCw3IEBACiAJCWlmICghZW50cnkpIHsKIAkJCWVudHJ5ID0geG1hbGxvYyhzaXplb2YoKmVudHJ5KSk7CiAJCQlkaXJfcmVuYW1lX2VudHJ5X2luaXQoZW50cnksIG9sZF9kaXIpOwotCQkJaGFzaG1hcF9wdXQoZGlyX3JlbmFtZXMsIGVudHJ5KTsKKwkJCWhhc2htYXBfcHV0KGRpcl9yZW5hbWVzLCAmZW50cnktPmVudCk7CiAJCX0gZWxzZSB7CiAJCQlmcmVlKG9sZF9kaXIpOwogCQl9CkBAIC0yMTcyLDggKzIyNzUsOCBAQAogCSAqIHdlIHNldCBub25fdW5pcXVlX25ld19kaXIuICBPbmNlIHdlJ3ZlIGRldGVybWluZWQgdGhlIHdpbm5lciAob3IKIAkgKiB0aGF0IHRoZXJlIGlzIG5vIHdpbm5lciksIHdlIG5vIGxvbmdlciBuZWVkIHBvc3NpYmxlX25ld19kaXJzLgogCSAqLwotCWhhc2htYXBfaXRlcl9pbml0KGRpcl9yZW5hbWVzLCAmaXRlcik7Ci0Jd2hpbGUgKChlbnRyeSA9IGhhc2htYXBfaXRlcl9uZXh0KCZpdGVyKSkpIHsKKwloYXNobWFwX2Zvcl9lYWNoX2VudHJ5KGRpcl9yZW5hbWVzLCAmaXRlciwgZW50cnksCisJCQkJZW50IC8qIG1lbWJlciBuYW1lICovKSB7CiAJCWludCBtYXggPSAwOwogCQlpbnQgYmFkX21heCA9IDA7CiAJCWNoYXIgKmJlc3QgPSBOVUxMOwpAQCAtMjI3Niw4ICsyMzc5LDkgQEAKIAkJaWYgKCFjb2xsaXNpb25fZW50KSB7CiAJCQljb2xsaXNpb25fZW50ID0geGNhbGxvYygxLAogCQkJCQkJc2l6ZW9mKHN0cnVjdCBjb2xsaXNpb25fZW50cnkpKTsKLQkJCWhhc2htYXBfZW50cnlfaW5pdChjb2xsaXNpb25fZW50LCBzdHJoYXNoKG5ld19wYXRoKSk7Ci0JCQloYXNobWFwX3B1dChjb2xsaXNpb25zLCBjb2xsaXNpb25fZW50KTsKKwkJCWhhc2htYXBfZW50cnlfaW5pdCgmY29sbGlzaW9uX2VudC0+ZW50LAorCQkJCQkJc3RyaGFzaChuZXdfcGF0aCkpOworCQkJaGFzaG1hcF9wdXQoY29sbGlzaW9ucywgJmNvbGxpc2lvbl9lbnQtPmVudCk7CiAJCQljb2xsaXNpb25fZW50LT50YXJnZXRfZmlsZSA9IG5ld19wYXRoOwogCQl9IGVsc2UgewogCQkJZnJlZShuZXdfcGF0aCk7CkBAIC0yMjg3LDcgKzIzOTEsNyBAQAogCX0KIH0KIAotc3RhdGljIGNoYXIgKmNoZWNrX2Zvcl9kaXJlY3RvcnlfcmVuYW1lKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAorc3RhdGljIGNoYXIgKmNoZWNrX2Zvcl9kaXJlY3RvcnlfcmVuYW1lKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsCiAJCQkJCWNvbnN0IGNoYXIgKnBhdGgsCiAJCQkJCXN0cnVjdCB0cmVlICp0cmVlLAogCQkJCQlzdHJ1Y3QgaGFzaG1hcCAqZGlyX3JlbmFtZXMsCkBAIC0yMzI4LDExICsyNDMyLDExIEBACiAJICovCiAJb2VudHJ5ID0gZGlyX3JlbmFtZV9maW5kX2VudHJ5KGRpcl9yZW5hbWVfZXhjbHVzaW9ucywgZW50cnktPm5ld19kaXIuYnVmKTsKIAlpZiAob2VudHJ5KSB7Ci0JCW91dHB1dChvLCAxLCBfKCJXQVJOSU5HOiBBdm9pZGluZyBhcHBseWluZyAlcyAtPiAlcyByZW5hbWUgIgorCQlvdXRwdXQob3B0LCAxLCBfKCJXQVJOSU5HOiBBdm9pZGluZyBhcHBseWluZyAlcyAtPiAlcyByZW5hbWUgIgogCQkJICAgICAgICJ0byAlcywgYmVjYXVzZSAlcyBpdHNlbGYgd2FzIHJlbmFtZWQuIiksCiAJCSAgICAgICBlbnRyeS0+ZGlyLCBlbnRyeS0+bmV3X2Rpci5idWYsIHBhdGgsIGVudHJ5LT5uZXdfZGlyLmJ1Zik7CiAJfSBlbHNlIHsKLQkJbmV3X3BhdGggPSBoYW5kbGVfcGF0aF9sZXZlbF9jb25mbGljdHMobywgcGF0aCwgZW50cnksCisJCW5ld19wYXRoID0gaGFuZGxlX3BhdGhfbGV2ZWxfY29uZmxpY3RzKG9wdCwgcGF0aCwgZW50cnksCiAJCQkJCQkgICAgICAgY29sbGlzaW9ucywgdHJlZSk7CiAJCSpjbGVhbl9tZXJnZSAmPSAobmV3X3BhdGggIT0gTlVMTCk7CiAJfQpAQCAtMjM0MCw3ICsyNDQ0LDcgQEAKIAlyZXR1cm4gbmV3X3BhdGg7CiB9CiAKLXN0YXRpYyB2b2lkIGFwcGx5X2RpcmVjdG9yeV9yZW5hbWVfbW9kaWZpY2F0aW9ucyhzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKK3N0YXRpYyB2b2lkIGFwcGx5X2RpcmVjdG9yeV9yZW5hbWVfbW9kaWZpY2F0aW9ucyhzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LAogCQkJCQkJIHN0cnVjdCBkaWZmX2ZpbGVwYWlyICpwYWlyLAogCQkJCQkJIGNoYXIgKm5ld19wYXRoLAogCQkJCQkJIHN0cnVjdCByZW5hbWUgKnJlLApAQCAtMjM0OCw4ICsyNDUyLDcgQEAKIAkJCQkJCSBzdHJ1Y3QgdHJlZSAqb190cmVlLAogCQkJCQkJIHN0cnVjdCB0cmVlICphX3RyZWUsCiAJCQkJCQkgc3RydWN0IHRyZWUgKmJfdHJlZSwKLQkJCQkJCSBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmVudHJpZXMsCi0JCQkJCQkgaW50ICpjbGVhbikKKwkJCQkJCSBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmVudHJpZXMpCiB7CiAJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW07CiAJaW50IHN0YWdlID0gKHRyZWUgPT0gYV90cmVlID8gMiA6IDMpOwpAQCAtMjM2NCwxMSArMjQ2NywxMSBAQAogCSAqIHNheWluZyB0aGUgZmlsZSB3b3VsZCBoYXZlIGJlZW4gb3ZlcndyaXR0ZW4pLCBidXQgaXQgbWlnaHQKIAkgKiBiZSBkaXJ0eSwgdGhvdWdoLgogCSAqLwotCXVwZGF0ZV93ZCA9ICF3YXNfZGlydHkobywgcGFpci0+dHdvLT5wYXRoKTsKKwl1cGRhdGVfd2QgPSAhd2FzX2RpcnR5KG9wdCwgcGFpci0+dHdvLT5wYXRoKTsKIAlpZiAoIXVwZGF0ZV93ZCkKLQkJb3V0cHV0KG8sIDEsIF8oIlJlZnVzaW5nIHRvIGxvc2UgZGlydHkgZmlsZSBhdCAlcyIpLAorCQlvdXRwdXQob3B0LCAxLCBfKCJSZWZ1c2luZyB0byBsb3NlIGRpcnR5IGZpbGUgYXQgJXMiKSwKIAkJICAgICAgIHBhaXItPnR3by0+cGF0aCk7Ci0JcmVtb3ZlX2ZpbGUobywgMSwgcGFpci0+dHdvLT5wYXRoLCAhdXBkYXRlX3dkKTsKKwlyZW1vdmVfZmlsZShvcHQsIDEsIHBhaXItPnR3by0+cGF0aCwgIXVwZGF0ZV93ZCk7CiAKIAkvKiBGaW5kIG9yIGNyZWF0ZSBhIG5ldyByZS0+ZHN0X2VudHJ5ICovCiAJaXRlbSA9IHN0cmluZ19saXN0X2xvb2t1cChlbnRyaWVzLCBuZXdfcGF0aCk7CkBAIC0yNDAwLDcgKzI1MDMsNyBAQAogCQlpZiAocGFpci0+c3RhdHVzID09ICdSJykKIAkJCXJlLT5kc3RfZW50cnktPnByb2Nlc3NlZCA9IDE7CiAKLQkJcmUtPmRzdF9lbnRyeSA9IGluc2VydF9zdGFnZV9kYXRhKG5ld19wYXRoLAorCQlyZS0+ZHN0X2VudHJ5ID0gaW5zZXJ0X3N0YWdlX2RhdGEob3B0LT5yZXBvLCBuZXdfcGF0aCwKIAkJCQkJCSAgb190cmVlLCBhX3RyZWUsIGJfdHJlZSwKIAkJCQkJCSAgZW50cmllcyk7CiAJCWl0ZW0gPSBzdHJpbmdfbGlzdF9pbnNlcnQoZW50cmllcywgbmV3X3BhdGgpOwpAQCAtMjQyMywyMSArMjUyNiwyNCBAQAogCSAqIHRoZSB2YXJpb3VzIGhhbmRsZV9yZW5hbWVfKigpIGZ1bmN0aW9ucyB1cGRhdGUgdGhlIGluZGV4CiAJICogZXhwbGljaXRseSByYXRoZXIgdGhhbiByZWx5aW5nIG9uIHVucGFja190cmVlcygpIHRvIGhhdmUgZG9uZSBpdC4KIAkgKi8KLQlnZXRfdHJlZV9lbnRyeSgmdHJlZS0+b2JqZWN0Lm9pZCwKKwlnZXRfdHJlZV9lbnRyeShvcHQtPnJlcG8sCisJCSAgICAgICAmdHJlZS0+b2JqZWN0Lm9pZCwKIAkJICAgICAgIHBhaXItPnR3by0+cGF0aCwKIAkJICAgICAgICZyZS0+ZHN0X2VudHJ5LT5zdGFnZXNbc3RhZ2VdLm9pZCwKIAkJICAgICAgICZyZS0+ZHN0X2VudHJ5LT5zdGFnZXNbc3RhZ2VdLm1vZGUpOwogCi0JLyogVXBkYXRlIHBhaXIgc3RhdHVzICovCi0JaWYgKHBhaXItPnN0YXR1cyA9PSAnQScpIHsKLQkJLyoKLQkJICogUmVjb3JkaW5nIHJlbmFtZSBpbmZvcm1hdGlvbiBmb3IgdGhpcyBhZGQgbWFrZXMgaXQgbG9vawotCQkgKiBsaWtlIGEgcmVuYW1lL2RlbGV0ZSBjb25mbGljdC4gIE1ha2Ugc3VyZSB3ZSBjYW4KLQkJICogY29ycmVjdGx5IGhhbmRsZSB0aGlzIGFzIGFuIGFkZCB0aGF0IHdhcyBtb3ZlZCB0byBhIG5ldwotCQkgKiBkaXJlY3RvcnkgaW5zdGVhZCBvZiByZXBvcnRpbmcgYSByZW5hbWUvZGVsZXRlIGNvbmZsaWN0LgotCQkgKi8KLQkJcmUtPmFkZF90dXJuZWRfaW50b19yZW5hbWUgPSAxOwotCX0KKwkvKgorCSAqIFJlY29yZCB0aGUgb3JpZ2luYWwgY2hhbmdlIHN0YXR1cyAob3IgJ3R5cGUnIG9mIGNoYW5nZSkuICBJZiBpdAorCSAqIHdhcyBvcmlnaW5hbGx5IGFuIGFkZCAoJ0EnKSwgdGhpcyBsZXRzIHVzIGRpZmZlcmVudGlhdGUgbGF0ZXIKKwkgKiBiZXR3ZWVuIGEgUkVOQU1FX0RFTEVURSBjb25mbGljdCBhbmQgUkVOQU1FX1ZJQV9ESVIgKHRoZXkKKwkgKiBvdGhlcndpc2UgbG9vayB0aGUgc2FtZSkuICBJZiBpdCB3YXMgb3JpZ2luYWxseSBhIHJlbmFtZSAoJ1InKSwKKwkgKiB0aGlzIGxldHMgdXMgcmVtZW1iZXIgYW5kIHJlcG9ydCBhY2N1cmF0ZWx5IGFib3V0IHRoZSB0cmFuc2l0aXZlCisJICogcmVuYW1pbmcgdGhhdCBvY2N1cnJlZCB2aWEgdGhlIGRpcmVjdG9yeSByZW5hbWUgZGV0ZWN0aW9uLiAgQWxzbywKKwkgKiByZWNvcmQgdGhlIG9yaWdpbmFsIGRlc3RpbmF0aW9uIG5hbWUuCisJICovCisJcmUtPmRpcl9yZW5hbWVfb3JpZ2luYWxfdHlwZSA9IHBhaXItPnN0YXR1czsKKwlyZS0+ZGlyX3JlbmFtZV9vcmlnaW5hbF9kZXN0ID0gcGFpci0+dHdvLT5wYXRoOworCiAJLyoKIAkgKiBXZSBkb24ndCBhY3R1YWxseSBsb29rIGF0IHBhaXItPnN0YXR1cyBhZ2FpbiwgYnV0IGl0IHNlZW1zCiAJICogcGVkYWdvZ2ljYWxseSBjb3JyZWN0IHRvIGFkanVzdCBpdC4KQEAgLTI0NTcsNyArMjU2Myw4IEBACiAgKiB0byBiZSBhYmxlIHRvIGFzc29jaWF0ZSB0aGUgY29ycmVjdCBjYWNoZSBlbnRyaWVzIHdpdGggdGhlIHJlbmFtZQogICogaW5mb3JtYXRpb247IHRyZWUgaXMgYWx3YXlzIGVxdWFsIHRvIGVpdGhlciBhX3RyZWUgb3IgYl90cmVlLgogICovCi1zdGF0aWMgc3RydWN0IHN0cmluZ19saXN0ICpnZXRfcmVuYW1lcyhzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKK3N0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmdldF9yZW5hbWVzKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsCisJCQkJICAgICAgIGNvbnN0IGNoYXIgKmJyYW5jaCwKIAkJCQkgICAgICAgc3RydWN0IGRpZmZfcXVldWVfc3RydWN0ICpwYWlycywKIAkJCQkgICAgICAgc3RydWN0IGhhc2htYXAgKmRpcl9yZW5hbWVzLAogCQkJCSAgICAgICBzdHJ1Y3QgaGFzaG1hcCAqZGlyX3JlbmFtZV9leGNsdXNpb25zLApAQCAtMjQ4Nyw3ICsyNTk0LDcgQEAKIAkJCWRpZmZfZnJlZV9maWxlcGFpcihwYWlyKTsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCW5ld19wYXRoID0gY2hlY2tfZm9yX2RpcmVjdG9yeV9yZW5hbWUobywgcGFpci0+dHdvLT5wYXRoLCB0cmVlLAorCQluZXdfcGF0aCA9IGNoZWNrX2Zvcl9kaXJlY3RvcnlfcmVuYW1lKG9wdCwgcGFpci0+dHdvLT5wYXRoLCB0cmVlLAogCQkJCQkJICAgICAgZGlyX3JlbmFtZXMsCiAJCQkJCQkgICAgICBkaXJfcmVuYW1lX2V4Y2x1c2lvbnMsCiAJCQkJCQkgICAgICAmY29sbGlzaW9ucywKQEAgLTI0OTksNDEgKzI2MDYsNDQgQEAKIAogCQlyZSA9IHhtYWxsb2Moc2l6ZW9mKCpyZSkpOwogCQlyZS0+cHJvY2Vzc2VkID0gMDsKLQkJcmUtPmFkZF90dXJuZWRfaW50b19yZW5hbWUgPSAwOwogCQlyZS0+cGFpciA9IHBhaXI7CisJCXJlLT5icmFuY2ggPSBicmFuY2g7CisJCXJlLT5kaXJfcmVuYW1lX29yaWdpbmFsX3R5cGUgPSAnXDAnOworCQlyZS0+ZGlyX3JlbmFtZV9vcmlnaW5hbF9kZXN0ID0gTlVMTDsKIAkJaXRlbSA9IHN0cmluZ19saXN0X2xvb2t1cChlbnRyaWVzLCByZS0+cGFpci0+b25lLT5wYXRoKTsKIAkJaWYgKCFpdGVtKQotCQkJcmUtPnNyY19lbnRyeSA9IGluc2VydF9zdGFnZV9kYXRhKHJlLT5wYWlyLT5vbmUtPnBhdGgsCisJCQlyZS0+c3JjX2VudHJ5ID0gaW5zZXJ0X3N0YWdlX2RhdGEob3B0LT5yZXBvLAorCQkJCQlyZS0+cGFpci0+b25lLT5wYXRoLAogCQkJCQlvX3RyZWUsIGFfdHJlZSwgYl90cmVlLCBlbnRyaWVzKTsKIAkJZWxzZQogCQkJcmUtPnNyY19lbnRyeSA9IGl0ZW0tPnV0aWw7CiAKIAkJaXRlbSA9IHN0cmluZ19saXN0X2xvb2t1cChlbnRyaWVzLCByZS0+cGFpci0+dHdvLT5wYXRoKTsKIAkJaWYgKCFpdGVtKQotCQkJcmUtPmRzdF9lbnRyeSA9IGluc2VydF9zdGFnZV9kYXRhKHJlLT5wYWlyLT50d28tPnBhdGgsCisJCQlyZS0+ZHN0X2VudHJ5ID0gaW5zZXJ0X3N0YWdlX2RhdGEob3B0LT5yZXBvLAorCQkJCQlyZS0+cGFpci0+dHdvLT5wYXRoLAogCQkJCQlvX3RyZWUsIGFfdHJlZSwgYl90cmVlLCBlbnRyaWVzKTsKIAkJZWxzZQogCQkJcmUtPmRzdF9lbnRyeSA9IGl0ZW0tPnV0aWw7CiAJCWl0ZW0gPSBzdHJpbmdfbGlzdF9pbnNlcnQocmVuYW1lcywgcGFpci0+b25lLT5wYXRoKTsKIAkJaXRlbS0+dXRpbCA9IHJlOwogCQlpZiAobmV3X3BhdGgpCi0JCQlhcHBseV9kaXJlY3RvcnlfcmVuYW1lX21vZGlmaWNhdGlvbnMobywgcGFpciwgbmV3X3BhdGgsCisJCQlhcHBseV9kaXJlY3RvcnlfcmVuYW1lX21vZGlmaWNhdGlvbnMob3B0LCBwYWlyLCBuZXdfcGF0aCwKIAkJCQkJCQkgICAgIHJlLCB0cmVlLCBvX3RyZWUsCiAJCQkJCQkJICAgICBhX3RyZWUsIGJfdHJlZSwKLQkJCQkJCQkgICAgIGVudHJpZXMsCi0JCQkJCQkJICAgICBjbGVhbl9tZXJnZSk7CisJCQkJCQkJICAgICBlbnRyaWVzKTsKIAl9CiAKLQloYXNobWFwX2l0ZXJfaW5pdCgmY29sbGlzaW9ucywgJml0ZXIpOwotCXdoaWxlICgoZSA9IGhhc2htYXBfaXRlcl9uZXh0KCZpdGVyKSkpIHsKKwloYXNobWFwX2Zvcl9lYWNoX2VudHJ5KCZjb2xsaXNpb25zLCAmaXRlciwgZSwKKwkJCQllbnQgLyogbWVtYmVyIG5hbWUgKi8pIHsKIAkJZnJlZShlLT50YXJnZXRfZmlsZSk7CiAJCXN0cmluZ19saXN0X2NsZWFyKCZlLT5zb3VyY2VfZmlsZXMsIDApOwogCX0KLQloYXNobWFwX2ZyZWUoJmNvbGxpc2lvbnMsIDEpOworCWhhc2htYXBfZnJlZV9lbnRyaWVzKCZjb2xsaXNpb25zLCBzdHJ1Y3QgY29sbGlzaW9uX2VudHJ5LCBlbnQpOwogCXJldHVybiByZW5hbWVzOwogfQogCi1zdGF0aWMgaW50IHByb2Nlc3NfcmVuYW1lcyhzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKK3N0YXRpYyBpbnQgcHJvY2Vzc19yZW5hbWVzKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsCiAJCQkgICBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmFfcmVuYW1lcywKIAkJCSAgIHN0cnVjdCBzdHJpbmdfbGlzdCAqYl9yZW5hbWVzKQogewpAQCAtMjU1Niw3ICsyNjY2LDYgQEAKIAlmb3IgKGkgPSAwLCBqID0gMDsgaSA8IGFfcmVuYW1lcy0+bnIgfHwgaiA8IGJfcmVuYW1lcy0+bnI7KSB7CiAJCXN0cnVjdCBzdHJpbmdfbGlzdCAqcmVuYW1lczEsICpyZW5hbWVzMkRzdDsKIAkJc3RydWN0IHJlbmFtZSAqcmVuMSA9IE5VTEwsICpyZW4yID0gTlVMTDsKLQkJY29uc3QgY2hhciAqYnJhbmNoMSwgKmJyYW5jaDI7CiAJCWNvbnN0IGNoYXIgKnJlbjFfc3JjLCAqcmVuMV9kc3Q7CiAJCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICpsb29rdXA7CiAKQEAgLTI1NzcsMTMgKzI2ODYsOSBAQAogCQlpZiAocmVuMSkgewogCQkJcmVuYW1lczEgPSBhX3JlbmFtZXM7CiAJCQlyZW5hbWVzMkRzdCA9ICZiX2J5X2RzdDsKLQkJCWJyYW5jaDEgPSBvLT5icmFuY2gxOwotCQkJYnJhbmNoMiA9IG8tPmJyYW5jaDI7CiAJCX0gZWxzZSB7CiAJCQlyZW5hbWVzMSA9IGJfcmVuYW1lczsKIAkJCXJlbmFtZXMyRHN0ID0gJmFfYnlfZHN0OwotCQkJYnJhbmNoMSA9IG8tPmJyYW5jaDI7Ci0JCQlicmFuY2gyID0gby0+YnJhbmNoMTsKIAkJCVNXQVAocmVuMiwgcmVuMSk7CiAJCX0KIApAQCAtMjYxNywyMiArMjcyMiwxMyBAQAogCQkJCSAqIHRoZSBiYXNlIHN0YWdlICh0aGluayBvZiByZW5hbWUgKwogCQkJCSAqIGFkZC1zb3VyY2UgY2FzZXMpLgogCQkJCSAqLwotCQkJCXJlbW92ZV9maWxlKG8sIDEsIHJlbjFfc3JjLCAxKTsKKwkJCQlyZW1vdmVfZmlsZShvcHQsIDEsIHJlbjFfc3JjLCAxKTsKIAkJCQl1cGRhdGVfZW50cnkocmVuMS0+ZHN0X2VudHJ5LAogCQkJCQkgICAgIHJlbjEtPnBhaXItPm9uZSwKIAkJCQkJICAgICByZW4xLT5wYWlyLT50d28sCiAJCQkJCSAgICAgcmVuMi0+cGFpci0+dHdvKTsKIAkJCX0KLQkJCXNldHVwX3JlbmFtZV9jb25mbGljdF9pbmZvKHJlbmFtZV90eXBlLAotCQkJCQkJICAgcmVuMS0+cGFpciwKLQkJCQkJCSAgIHJlbjItPnBhaXIsCi0JCQkJCQkgICBicmFuY2gxLAotCQkJCQkJICAgYnJhbmNoMiwKLQkJCQkJCSAgIHJlbjEtPmRzdF9lbnRyeSwKLQkJCQkJCSAgIHJlbjItPmRzdF9lbnRyeSwKLQkJCQkJCSAgIG8sCi0JCQkJCQkgICBOVUxMLAotCQkJCQkJICAgTlVMTCk7CisJCQlzZXR1cF9yZW5hbWVfY29uZmxpY3RfaW5mbyhyZW5hbWVfdHlwZSwgb3B0LCByZW4xLCByZW4yKTsKIAkJfSBlbHNlIGlmICgobG9va3VwID0gc3RyaW5nX2xpc3RfbG9va3VwKHJlbmFtZXMyRHN0LCByZW4xX2RzdCkpKSB7CiAJCQkvKiBUd28gZGlmZmVyZW50IGZpbGVzIHJlbmFtZWQgdG8gdGhlIHNhbWUgdGhpbmcgKi8KIAkJCWNoYXIgKnJlbjJfZHN0OwpAQCAtMjY1MSwxNiArMjc0Nyw3IEBACiAJCQlyZW4yLT5zcmNfZW50cnktPnByb2Nlc3NlZCA9IDE7CiAKIAkJCXNldHVwX3JlbmFtZV9jb25mbGljdF9pbmZvKFJFTkFNRV9UV09fRklMRVNfVE9fT05FLAotCQkJCQkJICAgcmVuMS0+cGFpciwKLQkJCQkJCSAgIHJlbjItPnBhaXIsCi0JCQkJCQkgICBicmFuY2gxLAotCQkJCQkJICAgYnJhbmNoMiwKLQkJCQkJCSAgIHJlbjEtPmRzdF9lbnRyeSwKLQkJCQkJCSAgIHJlbjItPmRzdF9lbnRyeSwKLQkJCQkJCSAgIG8sCi0JCQkJCQkgICByZW4xLT5zcmNfZW50cnksCi0JCQkJCQkgICByZW4yLT5zcmNfZW50cnkpOwotCisJCQkJCQkgICBvcHQsIHJlbjEsIHJlbjIpOwogCQl9IGVsc2UgewogCQkJLyogUmVuYW1lZCBpbiAxLCBtYXliZSBjaGFuZ2VkIGluIDIgKi8KIAkJCS8qIHdlIG9ubHkgdXNlIHNoYTEgYW5kIG1vZGUgb2YgdGhlc2UgKi8KQEAgLTI2ODAsOCArMjc2Nyw4IEBACiAJCQkgKiBzdGFnZSBhbmQgaW4gb3RoZXJfc3RhZ2UgKHRoaW5rIG9mIHJlbmFtZSArCiAJCQkgKiBhZGQtc291cmNlIGNhc2UpLgogCQkJICovCi0JCQlyZW1vdmVfZmlsZShvLCAxLCByZW4xX3NyYywKLQkJCQkgICAgcmVuYW1lZF9zdGFnZSA9PSAyIHx8ICF3YXNfdHJhY2tlZChvLCByZW4xX3NyYykpOworCQkJcmVtb3ZlX2ZpbGUob3B0LCAxLCByZW4xX3NyYywKKwkJCQkgICAgcmVuYW1lZF9zdGFnZSA9PSAyIHx8ICF3YXNfdHJhY2tlZChvcHQsIHJlbjFfc3JjKSk7CiAKIAkJCW9pZGNweSgmc3JjX290aGVyLm9pZCwKIAkJCSAgICAgICAmcmVuMS0+c3JjX2VudHJ5LT5zdGFnZXNbb3RoZXJfc3RhZ2VdLm9pZCk7CkBAIC0yNjkxLDMxICsyNzc4LDE1IEBACiAJCQlkc3Rfb3RoZXIubW9kZSA9IHJlbjEtPmRzdF9lbnRyeS0+c3RhZ2VzW290aGVyX3N0YWdlXS5tb2RlOwogCQkJdHJ5X21lcmdlID0gMDsKIAotCQkJaWYgKG9pZF9lcSgmc3JjX290aGVyLm9pZCwgJm51bGxfb2lkKSAmJgotCQkJICAgIHJlbjEtPmFkZF90dXJuZWRfaW50b19yZW5hbWUpIHsKKwkJCWlmIChvaWRlcSgmc3JjX290aGVyLm9pZCwgJm51bGxfb2lkKSAmJgorCQkJICAgIHJlbjEtPmRpcl9yZW5hbWVfb3JpZ2luYWxfdHlwZSA9PSAnQScpIHsKIAkJCQlzZXR1cF9yZW5hbWVfY29uZmxpY3RfaW5mbyhSRU5BTUVfVklBX0RJUiwKLQkJCQkJCQkgICByZW4xLT5wYWlyLAotCQkJCQkJCSAgIE5VTEwsCi0JCQkJCQkJICAgYnJhbmNoMSwKLQkJCQkJCQkgICBicmFuY2gyLAotCQkJCQkJCSAgIHJlbjEtPmRzdF9lbnRyeSwKLQkJCQkJCQkgICBOVUxMLAotCQkJCQkJCSAgIG8sCi0JCQkJCQkJICAgTlVMTCwKLQkJCQkJCQkgICBOVUxMKTsKLQkJCX0gZWxzZSBpZiAob2lkX2VxKCZzcmNfb3RoZXIub2lkLCAmbnVsbF9vaWQpKSB7CisJCQkJCQkJICAgb3B0LCByZW4xLCBOVUxMKTsKKwkJCX0gZWxzZSBpZiAob2lkZXEoJnNyY19vdGhlci5vaWQsICZudWxsX29pZCkpIHsKIAkJCQlzZXR1cF9yZW5hbWVfY29uZmxpY3RfaW5mbyhSRU5BTUVfREVMRVRFLAotCQkJCQkJCSAgIHJlbjEtPnBhaXIsCi0JCQkJCQkJICAgTlVMTCwKLQkJCQkJCQkgICBicmFuY2gxLAotCQkJCQkJCSAgIGJyYW5jaDIsCi0JCQkJCQkJICAgcmVuMS0+ZHN0X2VudHJ5LAotCQkJCQkJCSAgIE5VTEwsCi0JCQkJCQkJICAgbywKLQkJCQkJCQkgICBOVUxMLAotCQkJCQkJCSAgIE5VTEwpOworCQkJCQkJCSAgIG9wdCwgcmVuMSwgTlVMTCk7CiAJCQl9IGVsc2UgaWYgKChkc3Rfb3RoZXIubW9kZSA9PSByZW4xLT5wYWlyLT50d28tPm1vZGUpICYmCi0JCQkJICAgb2lkX2VxKCZkc3Rfb3RoZXIub2lkLCAmcmVuMS0+cGFpci0+dHdvLT5vaWQpKSB7CisJCQkJICAgb2lkZXEoJmRzdF9vdGhlci5vaWQsICZyZW4xLT5wYWlyLT50d28tPm9pZCkpIHsKIAkJCQkvKgogCQkJCSAqIEFkZGVkIGZpbGUgb24gdGhlIG90aGVyIHNpZGUgaWRlbnRpY2FsIHRvCiAJCQkJICogdGhlIGZpbGUgYmVpbmcgcmVuYW1lZDogY2xlYW4gbWVyZ2UuCkBAIC0yNzI0LDY1ICsyNzk1LDMyIEBACiAJCQkJICogdXBkYXRlX2ZpbGVfZmxhZ3MoKSBpbnN0ZWFkIG9mCiAJCQkJICogdXBkYXRlX2ZpbGUoKS4KIAkJCQkgKi8KLQkJCQlpZiAodXBkYXRlX2ZpbGVfZmxhZ3MobywKLQkJCQkJCSAgICAgICZyZW4xLT5wYWlyLT50d28tPm9pZCwKLQkJCQkJCSAgICAgIHJlbjEtPnBhaXItPnR3by0+bW9kZSwKKwkJCQlpZiAodXBkYXRlX2ZpbGVfZmxhZ3Mob3B0LAorCQkJCQkJICAgICAgcmVuMS0+cGFpci0+dHdvLAogCQkJCQkJICAgICAgcmVuMV9kc3QsCiAJCQkJCQkgICAgICAxLCAvKiB1cGRhdGVfY2FjaGUgKi8KIAkJCQkJCSAgICAgIDAgIC8qIHVwZGF0ZV93ZCAgICAqLykpCiAJCQkJCWNsZWFuX21lcmdlID0gLTE7Ci0JCQl9IGVsc2UgaWYgKCFvaWRfZXEoJmRzdF9vdGhlci5vaWQsICZudWxsX29pZCkpIHsKLQkJCQljbGVhbl9tZXJnZSA9IDA7Ci0JCQkJdHJ5X21lcmdlID0gMTsKLQkJCQlvdXRwdXQobywgMSwgXygiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAiCi0JCQkJICAgICAgICIlcyBhZGRlZCBpbiAlcyIpLAotCQkJCSAgICAgICByZW4xX3NyYywgcmVuMV9kc3QsIGJyYW5jaDEsCi0JCQkJICAgICAgIHJlbjFfZHN0LCBicmFuY2gyKTsKLQkJCQlpZiAoby0+Y2FsbF9kZXB0aCkgewotCQkJCQlzdHJ1Y3QgbWVyZ2VfZmlsZV9pbmZvIG1maTsKLQkJCQkJc3RydWN0IGRpZmZfZmlsZXNwZWMgb25lLCBhLCBiOwotCi0JCQkJCW9pZGNweSgmb25lLm9pZCwgJm51bGxfb2lkKTsKLQkJCQkJb25lLm1vZGUgPSAwOwotCQkJCQlvbmUucGF0aCA9IHJlbjEtPnBhaXItPnR3by0+cGF0aDsKLQotCQkJCQlvaWRjcHkoJmEub2lkLCAmcmVuMS0+cGFpci0+dHdvLT5vaWQpOwotCQkJCQlhLm1vZGUgPSByZW4xLT5wYWlyLT50d28tPm1vZGU7Ci0JCQkJCWEucGF0aCA9IG9uZS5wYXRoOwotCi0JCQkJCW9pZGNweSgmYi5vaWQsICZkc3Rfb3RoZXIub2lkKTsKLQkJCQkJYi5tb2RlID0gZHN0X290aGVyLm1vZGU7Ci0JCQkJCWIucGF0aCA9IG9uZS5wYXRoOwotCi0JCQkJCWlmIChtZXJnZV9tb2RlX2FuZF9jb250ZW50cyhvLCAmb25lLCAmYSwgJmIsIHJlbjFfZHN0LAotCQkJCQkJCQkgICAgYnJhbmNoMSwgYnJhbmNoMiwKLQkJCQkJCQkJICAgICZtZmkpKSB7Ci0JCQkJCQljbGVhbl9tZXJnZSA9IC0xOwotCQkJCQkJZ290byBjbGVhbnVwX2FuZF9yZXR1cm47Ci0JCQkJCX0KLQkJCQkJb3V0cHV0KG8sIDEsIF8oIkFkZGluZyBtZXJnZWQgJXMiKSwgcmVuMV9kc3QpOwotCQkJCQlpZiAodXBkYXRlX2ZpbGUobywgMCwgJm1maS5vaWQsCi0JCQkJCQkJbWZpLm1vZGUsIHJlbjFfZHN0KSkKLQkJCQkJCWNsZWFuX21lcmdlID0gLTE7Ci0JCQkJCXRyeV9tZXJnZSA9IDA7Ci0JCQkJfSBlbHNlIHsKLQkJCQkJY2hhciAqbmV3X3BhdGggPSB1bmlxdWVfcGF0aChvLCByZW4xX2RzdCwgYnJhbmNoMik7Ci0JCQkJCW91dHB1dChvLCAxLCBfKCJBZGRpbmcgYXMgJXMgaW5zdGVhZCIpLCBuZXdfcGF0aCk7Ci0JCQkJCWlmICh1cGRhdGVfZmlsZShvLCAwLCAmZHN0X290aGVyLm9pZCwKLQkJCQkJCQlkc3Rfb3RoZXIubW9kZSwgbmV3X3BhdGgpKQotCQkJCQkJY2xlYW5fbWVyZ2UgPSAtMTsKLQkJCQkJZnJlZShuZXdfcGF0aCk7Ci0JCQkJfQorCQkJfSBlbHNlIGlmICghb2lkZXEoJmRzdF9vdGhlci5vaWQsICZudWxsX29pZCkpIHsKKwkJCQkvKgorCQkJCSAqIFByb2JhYmx5IG5vdCBhIGNsZWFuIG1lcmdlLCBidXQgaXQncworCQkJCSAqIHByZW1hdHVyZSB0byBzZXQgY2xlYW5fbWVyZ2UgdG8gMCBoZXJlLAorCQkJCSAqIGJlY2F1c2UgaWYgdGhlIHJlbmFtZSBtZXJnZXMgY2xlYW5seSBhbmQKKwkJCQkgKiB0aGUgbWVyZ2UgZXhhY3RseSBtYXRjaGVzIHRoZSBuZXdseSBhZGRlZAorCQkJCSAqIGZpbGUsIHRoZW4gdGhlIG1lcmdlIHdpbGwgYmUgY2xlYW4uCisJCQkJICovCisJCQkJc2V0dXBfcmVuYW1lX2NvbmZsaWN0X2luZm8oUkVOQU1FX0FERCwKKwkJCQkJCQkgICBvcHQsIHJlbjEsIE5VTEwpOwogCQkJfSBlbHNlCiAJCQkJdHJ5X21lcmdlID0gMTsKIAogCQkJaWYgKGNsZWFuX21lcmdlIDwgMCkKIAkJCQlnb3RvIGNsZWFudXBfYW5kX3JldHVybjsKIAkJCWlmICh0cnlfbWVyZ2UpIHsKLQkJCQlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqb25lLCAqYSwgKmI7CisJCQkJc3RydWN0IGRpZmZfZmlsZXNwZWMgKm8sICphLCAqYjsKIAkJCQlzcmNfb3RoZXIucGF0aCA9IChjaGFyICopcmVuMV9zcmM7CiAKLQkJCQlvbmUgPSByZW4xLT5wYWlyLT5vbmU7CisJCQkJbyA9IHJlbjEtPnBhaXItPm9uZTsKIAkJCQlpZiAoYV9yZW5hbWVzID09IHJlbmFtZXMxKSB7CiAJCQkJCWEgPSByZW4xLT5wYWlyLT50d287CiAJCQkJCWIgPSAmc3JjX290aGVyOwpAQCAtMjc5MCwxNyArMjgyOCw5IEBACiAJCQkJCWIgPSByZW4xLT5wYWlyLT50d287CiAJCQkJCWEgPSAmc3JjX290aGVyOwogCQkJCX0KLQkJCQl1cGRhdGVfZW50cnkocmVuMS0+ZHN0X2VudHJ5LCBvbmUsIGEsIGIpOworCQkJCXVwZGF0ZV9lbnRyeShyZW4xLT5kc3RfZW50cnksIG8sIGEsIGIpOwogCQkJCXNldHVwX3JlbmFtZV9jb25mbGljdF9pbmZvKFJFTkFNRV9OT1JNQUwsCi0JCQkJCQkJICAgcmVuMS0+cGFpciwKLQkJCQkJCQkgICBOVUxMLAotCQkJCQkJCSAgIGJyYW5jaDEsCi0JCQkJCQkJICAgTlVMTCwKLQkJCQkJCQkgICByZW4xLT5kc3RfZW50cnksCi0JCQkJCQkJICAgTlVMTCwKLQkJCQkJCQkgICBvLAotCQkJCQkJCSAgIE5VTEwsCi0JCQkJCQkJICAgTlVMTCk7CisJCQkJCQkJICAgb3B0LCByZW4xLCBOVUxMKTsKIAkJCX0KIAkJfQogCX0KQEAgLTI4MjIsMjAgKzI4NTIsMjAgQEAKIAlzdHJ1Y3QgaGFzaG1hcF9pdGVyIGl0ZXI7CiAJc3RydWN0IGRpcl9yZW5hbWVfZW50cnkgKmU7CiAKLQloYXNobWFwX2l0ZXJfaW5pdChkaXJfcmVuYW1lcywgJml0ZXIpOwotCXdoaWxlICgoZSA9IGhhc2htYXBfaXRlcl9uZXh0KCZpdGVyKSkpIHsKKwloYXNobWFwX2Zvcl9lYWNoX2VudHJ5KGRpcl9yZW5hbWVzLCAmaXRlciwgZSwKKwkJCQllbnQgLyogbWVtYmVyIG5hbWUgKi8pIHsKIAkJZnJlZShlLT5kaXIpOwogCQlzdHJidWZfcmVsZWFzZSgmZS0+bmV3X2Rpcik7CiAJCS8qIHBvc3NpYmxlX25ld19kaXJzIGFscmVhZHkgY2xlYXJlZCBpbiBnZXRfZGlyZWN0b3J5X3JlbmFtZXMgKi8KIAl9Ci0JaGFzaG1hcF9mcmVlKGRpcl9yZW5hbWVzLCAxKTsKKwloYXNobWFwX2ZyZWVfZW50cmllcyhkaXJfcmVuYW1lcywgc3RydWN0IGRpcl9yZW5hbWVfZW50cnksIGVudCk7CiAJZnJlZShkaXJfcmVuYW1lcyk7CiAKIAlmcmVlKHBhaXJzLT5xdWV1ZSk7CiAJZnJlZShwYWlycyk7CiB9CiAKLXN0YXRpYyBpbnQgZGV0ZWN0X2FuZF9wcm9jZXNzX3JlbmFtZXMoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sCitzdGF0aWMgaW50IGRldGVjdF9hbmRfcHJvY2Vzc19yZW5hbWVzKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsCiAJCQkJICAgICAgc3RydWN0IHRyZWUgKmNvbW1vbiwKIAkJCQkgICAgICBzdHJ1Y3QgdHJlZSAqaGVhZCwKIAkJCQkgICAgICBzdHJ1Y3QgdHJlZSAqbWVyZ2UsCkBAIC0yODQ5LDE3ICsyODc5LDE5IEBACiAJcmktPmhlYWRfcmVuYW1lcyA9IE5VTEw7CiAJcmktPm1lcmdlX3JlbmFtZXMgPSBOVUxMOwogCi0JaWYgKCFtZXJnZV9kZXRlY3RfcmVuYW1lKG8pKQorCWlmICghbWVyZ2VfZGV0ZWN0X3JlbmFtZShvcHQpKQogCQlyZXR1cm4gMTsKIAotCWhlYWRfcGFpcnMgPSBnZXRfZGlmZnBhaXJzKG8sIGNvbW1vbiwgaGVhZCk7Ci0JbWVyZ2VfcGFpcnMgPSBnZXRfZGlmZnBhaXJzKG8sIGNvbW1vbiwgbWVyZ2UpOworCWhlYWRfcGFpcnMgPSBnZXRfZGlmZnBhaXJzKG9wdCwgY29tbW9uLCBoZWFkKTsKKwltZXJnZV9wYWlycyA9IGdldF9kaWZmcGFpcnMob3B0LCBjb21tb24sIG1lcmdlKTsKIAotCWlmIChvLT5kZXRlY3RfZGlyZWN0b3J5X3JlbmFtZXMpIHsKLQkJZGlyX3JlX2hlYWQgPSBnZXRfZGlyZWN0b3J5X3JlbmFtZXMoaGVhZF9wYWlycywgaGVhZCk7Ci0JCWRpcl9yZV9tZXJnZSA9IGdldF9kaXJlY3RvcnlfcmVuYW1lcyhtZXJnZV9wYWlycywgbWVyZ2UpOworCWlmICgob3B0LT5kZXRlY3RfZGlyZWN0b3J5X3JlbmFtZXMgPT0gTUVSR0VfRElSRUNUT1JZX1JFTkFNRVNfVFJVRSkgfHwKKwkgICAgKG9wdC0+ZGV0ZWN0X2RpcmVjdG9yeV9yZW5hbWVzID09IE1FUkdFX0RJUkVDVE9SWV9SRU5BTUVTX0NPTkZMSUNUICYmCisJICAgICAhb3B0LT5wcml2LT5jYWxsX2RlcHRoKSkgeworCQlkaXJfcmVfaGVhZCA9IGdldF9kaXJlY3RvcnlfcmVuYW1lcyhoZWFkX3BhaXJzKTsKKwkJZGlyX3JlX21lcmdlID0gZ2V0X2RpcmVjdG9yeV9yZW5hbWVzKG1lcmdlX3BhaXJzKTsKIAotCQloYW5kbGVfZGlyZWN0b3J5X2xldmVsX2NvbmZsaWN0cyhvLAorCQloYW5kbGVfZGlyZWN0b3J5X2xldmVsX2NvbmZsaWN0cyhvcHQsCiAJCQkJCQkgZGlyX3JlX2hlYWQsIGhlYWQsCiAJCQkJCQkgZGlyX3JlX21lcmdlLCBtZXJnZSk7CiAJfSBlbHNlIHsKQEAgLTI4NjksMTkgKzI5MDEsMTkgQEAKIAkJZGlyX3JlbmFtZV9pbml0KGRpcl9yZV9tZXJnZSk7CiAJfQogCi0JcmktPmhlYWRfcmVuYW1lcyAgPSBnZXRfcmVuYW1lcyhvLCBoZWFkX3BhaXJzLAorCXJpLT5oZWFkX3JlbmFtZXMgID0gZ2V0X3JlbmFtZXMob3B0LCBvcHQtPmJyYW5jaDEsIGhlYWRfcGFpcnMsCiAJCQkJCWRpcl9yZV9tZXJnZSwgZGlyX3JlX2hlYWQsIGhlYWQsCiAJCQkJCWNvbW1vbiwgaGVhZCwgbWVyZ2UsIGVudHJpZXMsCiAJCQkJCSZjbGVhbik7CiAJaWYgKGNsZWFuIDwgMCkKIAkJZ290byBjbGVhbnVwOwotCXJpLT5tZXJnZV9yZW5hbWVzID0gZ2V0X3JlbmFtZXMobywgbWVyZ2VfcGFpcnMsCisJcmktPm1lcmdlX3JlbmFtZXMgPSBnZXRfcmVuYW1lcyhvcHQsIG9wdC0+YnJhbmNoMiwgbWVyZ2VfcGFpcnMsCiAJCQkJCWRpcl9yZV9oZWFkLCBkaXJfcmVfbWVyZ2UsIG1lcmdlLAogCQkJCQljb21tb24sIGhlYWQsIG1lcmdlLCBlbnRyaWVzLAogCQkJCQkmY2xlYW4pOwogCWlmIChjbGVhbiA8IDApCiAJCWdvdG8gY2xlYW51cDsKLQljbGVhbiAmPSBwcm9jZXNzX3JlbmFtZXMobywgcmktPmhlYWRfcmVuYW1lcywgcmktPm1lcmdlX3JlbmFtZXMpOworCWNsZWFuICY9IHByb2Nlc3NfcmVuYW1lcyhvcHQsIHJpLT5oZWFkX3JlbmFtZXMsIHJpLT5tZXJnZV9yZW5hbWVzKTsKIAogY2xlYW51cDoKIAkvKgpAQCAtMjkxNywxMiArMjk0OSw3IEBACiAJZmluYWxfY2xlYW51cF9yZW5hbWUocmVfaW5mby0+bWVyZ2VfcmVuYW1lcyk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3Qgb2JqZWN0X2lkICpzdGFnZV9vaWQoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCB1bnNpZ25lZCBtb2RlKQotewotCXJldHVybiAoaXNfbnVsbF9vaWQob2lkKSB8fCBtb2RlID09IDApID8gTlVMTDogKHN0cnVjdCBvYmplY3RfaWQgKilvaWQ7Ci19Ci0KLXN0YXRpYyBpbnQgcmVhZF9vaWRfc3RyYnVmKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAorc3RhdGljIGludCByZWFkX29pZF9zdHJidWYoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwKIAkJCSAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCSAgIHN0cnVjdCBzdHJidWYgKmRzdCkKIHsKQEAgLTI5MzEsMTI5ICsyOTU4LDk5IEBACiAJdW5zaWduZWQgbG9uZyBzaXplOwogCWJ1ZiA9IHJlYWRfb2JqZWN0X2ZpbGUob2lkLCAmdHlwZSwgJnNpemUpOwogCWlmICghYnVmKQotCQlyZXR1cm4gZXJyKG8sIF8oImNhbm5vdCByZWFkIG9iamVjdCAlcyIpLCBvaWRfdG9faGV4KG9pZCkpOworCQlyZXR1cm4gZXJyKG9wdCwgXygiY2Fubm90IHJlYWQgb2JqZWN0ICVzIiksIG9pZF90b19oZXgob2lkKSk7CiAJaWYgKHR5cGUgIT0gT0JKX0JMT0IpIHsKIAkJZnJlZShidWYpOwotCQlyZXR1cm4gZXJyKG8sIF8oIm9iamVjdCAlcyBpcyBub3QgYSBibG9iIiksIG9pZF90b19oZXgob2lkKSk7CisJCXJldHVybiBlcnIob3B0LCBfKCJvYmplY3QgJXMgaXMgbm90IGEgYmxvYiIpLCBvaWRfdG9faGV4KG9pZCkpOwogCX0KIAlzdHJidWZfYXR0YWNoKGRzdCwgYnVmLCBzaXplLCBzaXplICsgMSk7CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgYmxvYl91bmNoYW5nZWQoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwKLQkJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb19vaWQsCi0JCQkgIHVuc2lnbmVkIG9fbW9kZSwKLQkJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqYV9vaWQsCi0JCQkgIHVuc2lnbmVkIGFfbW9kZSwKKwkJCSAgY29uc3Qgc3RydWN0IGRpZmZfZmlsZXNwZWMgKm8sCisJCQkgIGNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICphLAogCQkJICBpbnQgcmVub3JtYWxpemUsIGNvbnN0IGNoYXIgKnBhdGgpCiB7Ci0Jc3RydWN0IHN0cmJ1ZiBvID0gU1RSQlVGX0lOSVQ7Ci0Jc3RydWN0IHN0cmJ1ZiBhID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiBvYnVmID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiBhYnVmID0gU1RSQlVGX0lOSVQ7CiAJaW50IHJldCA9IDA7IC8qIGFzc3VtZSBjaGFuZ2VkIGZvciBzYWZldHkgKi8KKwljb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlkeCA9IG9wdC0+cmVwby0+aW5kZXg7CiAKLQlpZiAoYV9tb2RlICE9IG9fbW9kZSkKKwlpZiAoYS0+bW9kZSAhPSBvLT5tb2RlKQogCQlyZXR1cm4gMDsKLQlpZiAob2lkX2VxKG9fb2lkLCBhX29pZCkpCisJaWYgKG9pZGVxKCZvLT5vaWQsICZhLT5vaWQpKQogCQlyZXR1cm4gMTsKIAlpZiAoIXJlbm9ybWFsaXplKQogCQlyZXR1cm4gMDsKIAotCWFzc2VydChvX29pZCAmJiBhX29pZCk7Ci0JaWYgKHJlYWRfb2lkX3N0cmJ1ZihvcHQsIG9fb2lkLCAmbykgfHwgcmVhZF9vaWRfc3RyYnVmKG9wdCwgYV9vaWQsICZhKSkKKwlpZiAocmVhZF9vaWRfc3RyYnVmKG9wdCwgJm8tPm9pZCwgJm9idWYpIHx8CisJICAgIHJlYWRfb2lkX3N0cmJ1ZihvcHQsICZhLT5vaWQsICZhYnVmKSkKIAkJZ290byBlcnJvcl9yZXR1cm47CiAJLyoKIAkgKiBOb3RlOiBiaW5hcnkgfCBpcyB1c2VkIHNvIHRoYXQgYm90aCByZW5vcm1hbGl6YXRpb25zIGFyZQogCSAqIHBlcmZvcm1lZC4gIENvbXBhcmlzb24gY2FuIGJlIHNraXBwZWQgaWYgYm90aCBmaWxlcyBhcmUKIAkgKiB1bmNoYW5nZWQgc2luY2UgdGhlaXIgc2hhMXMgaGF2ZSBhbHJlYWR5IGJlZW4gY29tcGFyZWQuCiAJICovCi0JaWYgKHJlbm9ybWFsaXplX2J1ZmZlcigmdGhlX2luZGV4LCBwYXRoLCBvLmJ1Ziwgby5sZW4sICZvKSB8Ci0JICAgIHJlbm9ybWFsaXplX2J1ZmZlcigmdGhlX2luZGV4LCBwYXRoLCBhLmJ1ZiwgYS5sZW4sICZhKSkKLQkJcmV0ID0gKG8ubGVuID09IGEubGVuICYmICFtZW1jbXAoby5idWYsIGEuYnVmLCBvLmxlbikpOworCWlmIChyZW5vcm1hbGl6ZV9idWZmZXIoaWR4LCBwYXRoLCBvYnVmLmJ1Ziwgb2J1Zi5sZW4sICZvYnVmKSB8CisJICAgIHJlbm9ybWFsaXplX2J1ZmZlcihpZHgsIHBhdGgsIGFidWYuYnVmLCBhYnVmLmxlbiwgJmFidWYpKQorCQlyZXQgPSAob2J1Zi5sZW4gPT0gYWJ1Zi5sZW4gJiYgIW1lbWNtcChvYnVmLmJ1ZiwgYWJ1Zi5idWYsIG9idWYubGVuKSk7CiAKIGVycm9yX3JldHVybjoKLQlzdHJidWZfcmVsZWFzZSgmbyk7Ci0Jc3RyYnVmX3JlbGVhc2UoJmEpOworCXN0cmJ1Zl9yZWxlYXNlKCZvYnVmKTsKKwlzdHJidWZfcmVsZWFzZSgmYWJ1Zik7CiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGludCBoYW5kbGVfbW9kaWZ5X2RlbGV0ZShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKK3N0YXRpYyBpbnQgaGFuZGxlX21vZGlmeV9kZWxldGUoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwKIAkJCQljb25zdCBjaGFyICpwYXRoLAotCQkJCXN0cnVjdCBvYmplY3RfaWQgKm9fb2lkLCBpbnQgb19tb2RlLAotCQkJCXN0cnVjdCBvYmplY3RfaWQgKmFfb2lkLCBpbnQgYV9tb2RlLAotCQkJCXN0cnVjdCBvYmplY3RfaWQgKmJfb2lkLCBpbnQgYl9tb2RlKQorCQkJCWNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpvLAorCQkJCWNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICphLAorCQkJCWNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpiKQogewogCWNvbnN0IGNoYXIgKm1vZGlmeV9icmFuY2gsICpkZWxldGVfYnJhbmNoOwotCXN0cnVjdCBvYmplY3RfaWQgKmNoYW5nZWRfb2lkOwotCWludCBjaGFuZ2VkX21vZGU7CisJY29uc3Qgc3RydWN0IGRpZmZfZmlsZXNwZWMgKmNoYW5nZWQ7CiAKLQlpZiAoYV9vaWQpIHsKLQkJbW9kaWZ5X2JyYW5jaCA9IG8tPmJyYW5jaDE7Ci0JCWRlbGV0ZV9icmFuY2ggPSBvLT5icmFuY2gyOwotCQljaGFuZ2VkX29pZCA9IGFfb2lkOwotCQljaGFuZ2VkX21vZGUgPSBhX21vZGU7CisJaWYgKGlzX3ZhbGlkKGEpKSB7CisJCW1vZGlmeV9icmFuY2ggPSBvcHQtPmJyYW5jaDE7CisJCWRlbGV0ZV9icmFuY2ggPSBvcHQtPmJyYW5jaDI7CisJCWNoYW5nZWQgPSBhOwogCX0gZWxzZSB7Ci0JCW1vZGlmeV9icmFuY2ggPSBvLT5icmFuY2gyOwotCQlkZWxldGVfYnJhbmNoID0gby0+YnJhbmNoMTsKLQkJY2hhbmdlZF9vaWQgPSBiX29pZDsKLQkJY2hhbmdlZF9tb2RlID0gYl9tb2RlOworCQltb2RpZnlfYnJhbmNoID0gb3B0LT5icmFuY2gyOworCQlkZWxldGVfYnJhbmNoID0gb3B0LT5icmFuY2gxOworCQljaGFuZ2VkID0gYjsKIAl9CiAKLQlyZXR1cm4gaGFuZGxlX2NoYW5nZV9kZWxldGUobywKKwlyZXR1cm4gaGFuZGxlX2NoYW5nZV9kZWxldGUob3B0LAogCQkJCSAgICBwYXRoLCBOVUxMLAotCQkJCSAgICBvX29pZCwgb19tb2RlLAotCQkJCSAgICBjaGFuZ2VkX29pZCwgY2hhbmdlZF9tb2RlLAorCQkJCSAgICBvLCBjaGFuZ2VkLAogCQkJCSAgICBtb2RpZnlfYnJhbmNoLCBkZWxldGVfYnJhbmNoLAogCQkJCSAgICBfKCJtb2RpZnkiKSwgXygibW9kaWZpZWQiKSk7CiB9CiAKLXN0YXRpYyBpbnQgaGFuZGxlX2NvbnRlbnRfbWVyZ2Uoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sCitzdGF0aWMgaW50IGhhbmRsZV9jb250ZW50X21lcmdlKHN0cnVjdCBtZXJnZV9maWxlX2luZm8gKm1maSwKKwkJCQlzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LAogCQkJCWNvbnN0IGNoYXIgKnBhdGgsCiAJCQkJaW50IGlzX2RpcnR5LAotCQkJCXN0cnVjdCBvYmplY3RfaWQgKm9fb2lkLCBpbnQgb19tb2RlLAotCQkJCXN0cnVjdCBvYmplY3RfaWQgKmFfb2lkLCBpbnQgYV9tb2RlLAotCQkJCXN0cnVjdCBvYmplY3RfaWQgKmJfb2lkLCBpbnQgYl9tb2RlLAotCQkJCXN0cnVjdCByZW5hbWVfY29uZmxpY3RfaW5mbyAqcmVuYW1lX2NvbmZsaWN0X2luZm8pCisJCQkJY29uc3Qgc3RydWN0IGRpZmZfZmlsZXNwZWMgKm8sCisJCQkJY29uc3Qgc3RydWN0IGRpZmZfZmlsZXNwZWMgKmEsCisJCQkJY29uc3Qgc3RydWN0IGRpZmZfZmlsZXNwZWMgKmIsCisJCQkJc3RydWN0IHJlbmFtZV9jb25mbGljdF9pbmZvICpjaSkKIHsKIAljb25zdCBjaGFyICpyZWFzb24gPSBfKCJjb250ZW50Iik7Ci0JY29uc3QgY2hhciAqcGF0aDEgPSBOVUxMLCAqcGF0aDIgPSBOVUxMOwotCXN0cnVjdCBtZXJnZV9maWxlX2luZm8gbWZpOwotCXN0cnVjdCBkaWZmX2ZpbGVzcGVjIG9uZSwgYSwgYjsKIAl1bnNpZ25lZCBkZl9jb25mbGljdF9yZW1haW5zID0gMDsKIAotCWlmICghb19vaWQpIHsKKwlpZiAoIWlzX3ZhbGlkKG8pKQogCQlyZWFzb24gPSBfKCJhZGQvYWRkIik7Ci0JCW9fb2lkID0gKHN0cnVjdCBvYmplY3RfaWQgKikmbnVsbF9vaWQ7Ci0JfQotCW9uZS5wYXRoID0gYS5wYXRoID0gYi5wYXRoID0gKGNoYXIgKilwYXRoOwotCW9pZGNweSgmb25lLm9pZCwgb19vaWQpOwotCW9uZS5tb2RlID0gb19tb2RlOwotCW9pZGNweSgmYS5vaWQsIGFfb2lkKTsKLQlhLm1vZGUgPSBhX21vZGU7Ci0Jb2lkY3B5KCZiLm9pZCwgYl9vaWQpOwotCWIubW9kZSA9IGJfbW9kZTsKIAotCWlmIChyZW5hbWVfY29uZmxpY3RfaW5mbykgewotCQlzdHJ1Y3QgZGlmZl9maWxlcGFpciAqcGFpcjEgPSByZW5hbWVfY29uZmxpY3RfaW5mby0+cGFpcjE7CisJYXNzZXJ0KG8tPnBhdGggJiYgYS0+cGF0aCAmJiBiLT5wYXRoKTsKKwlpZiAoY2kgJiYgZGlyX2luX3dheShvcHQtPnJlcG8tPmluZGV4LCBwYXRoLCAhb3B0LT5wcml2LT5jYWxsX2RlcHRoLAorCQkJICAgICBTX0lTR0lUTElOSyhjaS0+cmVuMS0+cGFpci0+dHdvLT5tb2RlKSkpCisJCWRmX2NvbmZsaWN0X3JlbWFpbnMgPSAxOwogCi0JCXBhdGgxID0gKG8tPmJyYW5jaDEgPT0gcmVuYW1lX2NvbmZsaWN0X2luZm8tPmJyYW5jaDEpID8KLQkJCXBhaXIxLT50d28tPnBhdGggOiBwYWlyMS0+b25lLT5wYXRoOwotCQkvKiBJZiByZW5hbWVfY29uZmxpY3RfaW5mby0+cGFpcjIgIT0gTlVMTCwgd2UgYXJlIGluCi0JCSAqIFJFTkFNRV9PTkVfRklMRV9UT19PTkUgY2FzZS4gIE90aGVyd2lzZSwgd2UgaGF2ZSBhCi0JCSAqIG5vcm1hbCByZW5hbWUuCi0JCSAqLwotCQlwYXRoMiA9IChyZW5hbWVfY29uZmxpY3RfaW5mby0+cGFpcjIgfHwKLQkJCSBvLT5icmFuY2gyID09IHJlbmFtZV9jb25mbGljdF9pbmZvLT5icmFuY2gxKSA/Ci0JCQlwYWlyMS0+dHdvLT5wYXRoIDogcGFpcjEtPm9uZS0+cGF0aDsKLQkJb25lLnBhdGggPSBwYWlyMS0+b25lLT5wYXRoOwotCQlhLnBhdGggPSAoY2hhciAqKXBhdGgxOwotCQliLnBhdGggPSAoY2hhciAqKXBhdGgyOwotCi0JCWlmIChkaXJfaW5fd2F5KHBhdGgsICFvLT5jYWxsX2RlcHRoLAotCQkJICAgICAgIFNfSVNHSVRMSU5LKHBhaXIxLT50d28tPm1vZGUpKSkKLQkJCWRmX2NvbmZsaWN0X3JlbWFpbnMgPSAxOwotCX0KLQlpZiAobWVyZ2VfbW9kZV9hbmRfY29udGVudHMobywgJm9uZSwgJmEsICZiLCBwYXRoLAotCQkJCSAgICBvLT5icmFuY2gxLCBvLT5icmFuY2gyLCAmbWZpKSkKKwlpZiAobWVyZ2VfbW9kZV9hbmRfY29udGVudHMob3B0LCBvLCBhLCBiLCBwYXRoLAorCQkJCSAgICBvcHQtPmJyYW5jaDEsIG9wdC0+YnJhbmNoMiwKKwkJCQkgICAgb3B0LT5wcml2LT5jYWxsX2RlcHRoICogMiwgbWZpKSkKIAkJcmV0dXJuIC0xOwogCiAJLyoKQEAgLTMwNjIsMTUgKzMwNTksMTQgQEAKIAkgKiAgIGIpIFRoZSBtZXJnZSBtYXRjaGVzIHdoYXQgd2FzIGluIEhFQUQgKGNvbnRlbnQsIG1vZGUsIHBhdGhuYW1lKQogCSAqICAgYykgVGhlIHRhcmdldCBwYXRoIGlzIHVzYWJsZSAoaS5lLiBub3QgaW52b2x2ZWQgaW4gRC9GIGNvbmZsaWN0KQogCSAqLwotCWlmIChtZmkuY2xlYW4gJiYKLQkgICAgd2FzX3RyYWNrZWRfYW5kX21hdGNoZXMobywgcGF0aCwgJm1maS5vaWQsIG1maS5tb2RlKSAmJgorCWlmIChtZmktPmNsZWFuICYmIHdhc190cmFja2VkX2FuZF9tYXRjaGVzKG9wdCwgcGF0aCwgJm1maS0+YmxvYikgJiYKIAkgICAgIWRmX2NvbmZsaWN0X3JlbWFpbnMpIHsKIAkJaW50IHBvczsKIAkJc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKIAotCQlvdXRwdXQobywgMywgXygiU2tpcHBlZCAlcyAobWVyZ2VkIHNhbWUgYXMgZXhpc3RpbmcpIiksIHBhdGgpOwotCQlpZiAoYWRkX2NhY2hlaW5mbyhvLCBtZmkubW9kZSwgJm1maS5vaWQsIHBhdGgsCi0JCQkJICAwLCAoIW8tPmNhbGxfZGVwdGggJiYgIWlzX2RpcnR5KSwgMCkpCisJCW91dHB1dChvcHQsIDMsIF8oIlNraXBwZWQgJXMgKG1lcmdlZCBzYW1lIGFzIGV4aXN0aW5nKSIpLCBwYXRoKTsKKwkJaWYgKGFkZF9jYWNoZWluZm8ob3B0LCAmbWZpLT5ibG9iLCBwYXRoLAorCQkJCSAgMCwgKCFvcHQtPnByaXYtPmNhbGxfZGVwdGggJiYgIWlzX2RpcnR5KSwgMCkpCiAJCQlyZXR1cm4gLTE7CiAJCS8qCiAJCSAqIEhvd2V2ZXIsIGFkZF9jYWNoZWluZm8oKSB3aWxsIGRlbGV0ZSB0aGUgb2xkIGNhY2hlIGVudHJ5CkBAIC0zMDc4LDI1MyArMzA3NCwzNzAgQEAKIAkJICogZmxhZyB0byBhdm9pZCBtYWtpbmcgdGhlIGZpbGUgYXBwZWFyIGFzIGlmIGl0IHdlcmUKIAkJICogZGVsZXRlZCBieSB0aGUgdXNlci4KIAkJICovCi0JCXBvcyA9IGluZGV4X25hbWVfcG9zKCZvLT5vcmlnX2luZGV4LCBwYXRoLCBzdHJsZW4ocGF0aCkpOwotCQljZSA9IG8tPm9yaWdfaW5kZXguY2FjaGVbcG9zXTsKKwkJcG9zID0gaW5kZXhfbmFtZV9wb3MoJm9wdC0+cHJpdi0+b3JpZ19pbmRleCwgcGF0aCwgc3RybGVuKHBhdGgpKTsKKwkJY2UgPSBvcHQtPnByaXYtPm9yaWdfaW5kZXguY2FjaGVbcG9zXTsKIAkJaWYgKGNlX3NraXBfd29ya3RyZWUoY2UpKSB7Ci0JCQlwb3MgPSBpbmRleF9uYW1lX3BvcygmdGhlX2luZGV4LCBwYXRoLCBzdHJsZW4ocGF0aCkpOwotCQkJY2UgPSB0aGVfaW5kZXguY2FjaGVbcG9zXTsKKwkJCXBvcyA9IGluZGV4X25hbWVfcG9zKG9wdC0+cmVwby0+aW5kZXgsIHBhdGgsIHN0cmxlbihwYXRoKSk7CisJCQljZSA9IG9wdC0+cmVwby0+aW5kZXgtPmNhY2hlW3Bvc107CiAJCQljZS0+Y2VfZmxhZ3MgfD0gQ0VfU0tJUF9XT1JLVFJFRTsKIAkJfQotCQlyZXR1cm4gbWZpLmNsZWFuOworCQlyZXR1cm4gbWZpLT5jbGVhbjsKIAl9CiAKLQlpZiAoIW1maS5jbGVhbikgewotCQlpZiAoU19JU0dJVExJTksobWZpLm1vZGUpKQorCWlmICghbWZpLT5jbGVhbikgeworCQlpZiAoU19JU0dJVExJTksobWZpLT5ibG9iLm1vZGUpKQogCQkJcmVhc29uID0gXygic3VibW9kdWxlIik7Ci0JCW91dHB1dChvLCAxLCBfKCJDT05GTElDVCAoJXMpOiBNZXJnZSBjb25mbGljdCBpbiAlcyIpLAorCQlvdXRwdXQob3B0LCAxLCBfKCJDT05GTElDVCAoJXMpOiBNZXJnZSBjb25mbGljdCBpbiAlcyIpLAogCQkJCXJlYXNvbiwgcGF0aCk7Ci0JCWlmIChyZW5hbWVfY29uZmxpY3RfaW5mbyAmJiAhZGZfY29uZmxpY3RfcmVtYWlucykKLQkJCWlmICh1cGRhdGVfc3RhZ2VzKG8sIHBhdGgsICZvbmUsICZhLCAmYikpCisJCWlmIChjaSAmJiAhZGZfY29uZmxpY3RfcmVtYWlucykKKwkJCWlmICh1cGRhdGVfc3RhZ2VzKG9wdCwgcGF0aCwgbywgYSwgYikpCiAJCQkJcmV0dXJuIC0xOwogCX0KIAogCWlmIChkZl9jb25mbGljdF9yZW1haW5zIHx8IGlzX2RpcnR5KSB7CiAJCWNoYXIgKm5ld19wYXRoOwotCQlpZiAoby0+Y2FsbF9kZXB0aCkgewotCQkJcmVtb3ZlX2ZpbGVfZnJvbV9jYWNoZShwYXRoKTsKKwkJaWYgKG9wdC0+cHJpdi0+Y2FsbF9kZXB0aCkgeworCQkJcmVtb3ZlX2ZpbGVfZnJvbV9pbmRleChvcHQtPnJlcG8tPmluZGV4LCBwYXRoKTsKIAkJfSBlbHNlIHsKLQkJCWlmICghbWZpLmNsZWFuKSB7Ci0JCQkJaWYgKHVwZGF0ZV9zdGFnZXMobywgcGF0aCwgJm9uZSwgJmEsICZiKSkKKwkJCWlmICghbWZpLT5jbGVhbikgeworCQkJCWlmICh1cGRhdGVfc3RhZ2VzKG9wdCwgcGF0aCwgbywgYSwgYikpCiAJCQkJCXJldHVybiAtMTsKIAkJCX0gZWxzZSB7Ci0JCQkJaW50IGZpbGVfZnJvbV9zdGFnZTIgPSB3YXNfdHJhY2tlZChvLCBwYXRoKTsKLQkJCQlzdHJ1Y3QgZGlmZl9maWxlc3BlYyBtZXJnZWQ7Ci0JCQkJb2lkY3B5KCZtZXJnZWQub2lkLCAmbWZpLm9pZCk7Ci0JCQkJbWVyZ2VkLm1vZGUgPSBtZmkubW9kZTsKKwkJCQlpbnQgZmlsZV9mcm9tX3N0YWdlMiA9IHdhc190cmFja2VkKG9wdCwgcGF0aCk7CiAKLQkJCQlpZiAodXBkYXRlX3N0YWdlcyhvLCBwYXRoLCBOVUxMLAotCQkJCQkJICBmaWxlX2Zyb21fc3RhZ2UyID8gJm1lcmdlZCA6IE5VTEwsCi0JCQkJCQkgIGZpbGVfZnJvbV9zdGFnZTIgPyBOVUxMIDogJm1lcmdlZCkpCisJCQkJaWYgKHVwZGF0ZV9zdGFnZXMob3B0LCBwYXRoLCBOVUxMLAorCQkJCQkJICBmaWxlX2Zyb21fc3RhZ2UyID8gJm1maS0+YmxvYiA6IE5VTEwsCisJCQkJCQkgIGZpbGVfZnJvbV9zdGFnZTIgPyBOVUxMIDogJm1maS0+YmxvYikpCiAJCQkJCXJldHVybiAtMTsKIAkJCX0KIAogCQl9Ci0JCW5ld19wYXRoID0gdW5pcXVlX3BhdGgobywgcGF0aCwgcmVuYW1lX2NvbmZsaWN0X2luZm8tPmJyYW5jaDEpOworCQluZXdfcGF0aCA9IHVuaXF1ZV9wYXRoKG9wdCwgcGF0aCwgY2ktPnJlbjEtPmJyYW5jaCk7CiAJCWlmIChpc19kaXJ0eSkgewotCQkJb3V0cHV0KG8sIDEsIF8oIlJlZnVzaW5nIHRvIGxvc2UgZGlydHkgZmlsZSBhdCAlcyIpLAorCQkJb3V0cHV0KG9wdCwgMSwgXygiUmVmdXNpbmcgdG8gbG9zZSBkaXJ0eSBmaWxlIGF0ICVzIiksCiAJCQkgICAgICAgcGF0aCk7CiAJCX0KLQkJb3V0cHV0KG8sIDEsIF8oIkFkZGluZyBhcyAlcyBpbnN0ZWFkIiksIG5ld19wYXRoKTsKLQkJaWYgKHVwZGF0ZV9maWxlKG8sIDAsICZtZmkub2lkLCBtZmkubW9kZSwgbmV3X3BhdGgpKSB7CisJCW91dHB1dChvcHQsIDEsIF8oIkFkZGluZyBhcyAlcyBpbnN0ZWFkIiksIG5ld19wYXRoKTsKKwkJaWYgKHVwZGF0ZV9maWxlKG9wdCwgMCwgJm1maS0+YmxvYiwgbmV3X3BhdGgpKSB7CiAJCQlmcmVlKG5ld19wYXRoKTsKIAkJCXJldHVybiAtMTsKIAkJfQogCQlmcmVlKG5ld19wYXRoKTsKLQkJbWZpLmNsZWFuID0gMDsKLQl9IGVsc2UgaWYgKHVwZGF0ZV9maWxlKG8sIG1maS5jbGVhbiwgJm1maS5vaWQsIG1maS5tb2RlLCBwYXRoKSkKKwkJbWZpLT5jbGVhbiA9IDA7CisJfSBlbHNlIGlmICh1cGRhdGVfZmlsZShvcHQsIG1maS0+Y2xlYW4sICZtZmktPmJsb2IsIHBhdGgpKQogCQlyZXR1cm4gLTE7Ci0JcmV0dXJuICFpc19kaXJ0eSAmJiBtZmkuY2xlYW47CisJcmV0dXJuICFpc19kaXJ0eSAmJiBtZmktPmNsZWFuOwogfQogCi1zdGF0aWMgaW50IGhhbmRsZV9yZW5hbWVfbm9ybWFsKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAorc3RhdGljIGludCBoYW5kbGVfcmVuYW1lX25vcm1hbChzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LAogCQkJCWNvbnN0IGNoYXIgKnBhdGgsCi0JCQkJc3RydWN0IG9iamVjdF9pZCAqb19vaWQsIHVuc2lnbmVkIGludCBvX21vZGUsCi0JCQkJc3RydWN0IG9iamVjdF9pZCAqYV9vaWQsIHVuc2lnbmVkIGludCBhX21vZGUsCi0JCQkJc3RydWN0IG9iamVjdF9pZCAqYl9vaWQsIHVuc2lnbmVkIGludCBiX21vZGUsCisJCQkJY29uc3Qgc3RydWN0IGRpZmZfZmlsZXNwZWMgKm8sCisJCQkJY29uc3Qgc3RydWN0IGRpZmZfZmlsZXNwZWMgKmEsCisJCQkJY29uc3Qgc3RydWN0IGRpZmZfZmlsZXNwZWMgKmIsCiAJCQkJc3RydWN0IHJlbmFtZV9jb25mbGljdF9pbmZvICpjaSkKIHsKKwlzdHJ1Y3QgcmVuYW1lICpyZW4gPSBjaS0+cmVuMTsKKwlzdHJ1Y3QgbWVyZ2VfZmlsZV9pbmZvIG1maTsKKwlpbnQgY2xlYW47CisJaW50IHNpZGUgPSAocmVuLT5icmFuY2ggPT0gb3B0LT5icmFuY2gxID8gMiA6IDMpOworCiAJLyogTWVyZ2UgdGhlIGNvbnRlbnQgYW5kIHdyaXRlIGl0IG91dCAqLwotCXJldHVybiBoYW5kbGVfY29udGVudF9tZXJnZShvLCBwYXRoLCB3YXNfZGlydHkobywgcGF0aCksCi0JCQkJICAgIG9fb2lkLCBvX21vZGUsIGFfb2lkLCBhX21vZGUsIGJfb2lkLCBiX21vZGUsCi0JCQkJICAgIGNpKTsKKwljbGVhbiA9IGhhbmRsZV9jb250ZW50X21lcmdlKCZtZmksIG9wdCwgcGF0aCwgd2FzX2RpcnR5KG9wdCwgcGF0aCksCisJCQkJICAgICBvLCBhLCBiLCBjaSk7CisKKwlpZiAoY2xlYW4gJiYKKwkgICAgb3B0LT5kZXRlY3RfZGlyZWN0b3J5X3JlbmFtZXMgPT0gTUVSR0VfRElSRUNUT1JZX1JFTkFNRVNfQ09ORkxJQ1QgJiYKKwkgICAgcmVuLT5kaXJfcmVuYW1lX29yaWdpbmFsX2Rlc3QpIHsKKwkJaWYgKHVwZGF0ZV9zdGFnZXMob3B0LCBwYXRoLAorCQkJCSAgTlVMTCwKKwkJCQkgIHNpZGUgPT0gMiA/ICZtZmkuYmxvYiA6IE5VTEwsCisJCQkJICBzaWRlID09IDIgPyBOVUxMIDogJm1maS5ibG9iKSkKKwkJCXJldHVybiAtMTsKKwkJY2xlYW4gPSAwOyAvKiBub3QgY2xlYW4sIGJ1dCBjb25mbGljdGVkICovCisJfQorCXJldHVybiBjbGVhbjsKK30KKworc3RhdGljIHZvaWQgZGlyX3JlbmFtZV93YXJuaW5nKGNvbnN0IGNoYXIgKm1zZywKKwkJCSAgICAgICBpbnQgaXNfYWRkLAorCQkJICAgICAgIGludCBjbGVhbiwKKwkJCSAgICAgICBzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LAorCQkJICAgICAgIHN0cnVjdCByZW5hbWUgKnJlbikKK3sKKwljb25zdCBjaGFyICpvdGhlcl9icmFuY2g7CisJb3RoZXJfYnJhbmNoID0gKHJlbi0+YnJhbmNoID09IG9wdC0+YnJhbmNoMSA/CisJCQlvcHQtPmJyYW5jaDIgOiBvcHQtPmJyYW5jaDEpOworCWlmIChpc19hZGQpIHsKKwkJb3V0cHV0KG9wdCwgY2xlYW4gPyAyIDogMSwgbXNnLAorCQkgICAgICAgcmVuLT5wYWlyLT5vbmUtPnBhdGgsIHJlbi0+YnJhbmNoLAorCQkgICAgICAgb3RoZXJfYnJhbmNoLCByZW4tPnBhaXItPnR3by0+cGF0aCk7CisJCXJldHVybjsKKwl9CisJb3V0cHV0KG9wdCwgY2xlYW4gPyAyIDogMSwgbXNnLAorCSAgICAgICByZW4tPnBhaXItPm9uZS0+cGF0aCwgcmVuLT5kaXJfcmVuYW1lX29yaWdpbmFsX2Rlc3QsIHJlbi0+YnJhbmNoLAorCSAgICAgICBvdGhlcl9icmFuY2gsIHJlbi0+cGFpci0+dHdvLT5wYXRoKTsKK30KK3N0YXRpYyBpbnQgd2Fybl9hYm91dF9kaXJfcmVuYW1lZF9lbnRyaWVzKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsCisJCQkJCSAgc3RydWN0IHJlbmFtZSAqcmVuKQoreworCWNvbnN0IGNoYXIgKm1zZzsKKwlpbnQgY2xlYW4gPSAxLCBpc19hZGQ7CisKKwlpZiAoIXJlbikKKwkJcmV0dXJuIGNsZWFuOworCisJLyogUmV0dXJuIGVhcmx5IGlmIHJlbiB3YXMgbm90IGFmZmVjdGVkL2NyZWF0ZWQgYnkgYSBkaXJlY3RvcnkgcmVuYW1lICovCisJaWYgKCFyZW4tPmRpcl9yZW5hbWVfb3JpZ2luYWxfZGVzdCkKKwkJcmV0dXJuIGNsZWFuOworCisJLyogU2FuaXR5IGNoZWNrcyAqLworCWFzc2VydChvcHQtPmRldGVjdF9kaXJlY3RvcnlfcmVuYW1lcyA+IE1FUkdFX0RJUkVDVE9SWV9SRU5BTUVTX05PTkUpOworCWFzc2VydChyZW4tPmRpcl9yZW5hbWVfb3JpZ2luYWxfdHlwZSA9PSAnQScgfHwKKwkgICAgICAgcmVuLT5kaXJfcmVuYW1lX29yaWdpbmFsX3R5cGUgPT0gJ1InKTsKKworCS8qIENoZWNrIHdoZXRoZXIgdG8gdHJlYXQgZGlyZWN0b3J5IHJlbmFtZXMgYXMgYSBjb25mbGljdCAqLworCWNsZWFuID0gKG9wdC0+ZGV0ZWN0X2RpcmVjdG9yeV9yZW5hbWVzID09IE1FUkdFX0RJUkVDVE9SWV9SRU5BTUVTX1RSVUUpOworCisJaXNfYWRkID0gKHJlbi0+ZGlyX3JlbmFtZV9vcmlnaW5hbF90eXBlID09ICdBJyk7CisJaWYgKHJlbi0+ZGlyX3JlbmFtZV9vcmlnaW5hbF90eXBlID09ICdBJyAmJiBjbGVhbikgeworCQltc2cgPSBfKCJQYXRoIHVwZGF0ZWQ6ICVzIGFkZGVkIGluICVzIGluc2lkZSBhICIKKwkJCSJkaXJlY3RvcnkgdGhhdCB3YXMgcmVuYW1lZCBpbiAlczsgbW92aW5nIGl0IHRvICVzLiIpOworCX0gZWxzZSBpZiAocmVuLT5kaXJfcmVuYW1lX29yaWdpbmFsX3R5cGUgPT0gJ0EnICYmICFjbGVhbikgeworCQltc2cgPSBfKCJDT05GTElDVCAoZmlsZSBsb2NhdGlvbik6ICVzIGFkZGVkIGluICVzICIKKwkJCSJpbnNpZGUgYSBkaXJlY3RvcnkgdGhhdCB3YXMgcmVuYW1lZCBpbiAlcywgIgorCQkJInN1Z2dlc3RpbmcgaXQgc2hvdWxkIHBlcmhhcHMgYmUgbW92ZWQgdG8gJXMuIik7CisJfSBlbHNlIGlmIChyZW4tPmRpcl9yZW5hbWVfb3JpZ2luYWxfdHlwZSA9PSAnUicgJiYgY2xlYW4pIHsKKwkJbXNnID0gXygiUGF0aCB1cGRhdGVkOiAlcyByZW5hbWVkIHRvICVzIGluICVzLCBpbnNpZGUgYSAiCisJCQkiZGlyZWN0b3J5IHRoYXQgd2FzIHJlbmFtZWQgaW4gJXM7IG1vdmluZyBpdCB0byAlcy4iKTsKKwl9IGVsc2UgaWYgKHJlbi0+ZGlyX3JlbmFtZV9vcmlnaW5hbF90eXBlID09ICdSJyAmJiAhY2xlYW4pIHsKKwkJbXNnID0gXygiQ09ORkxJQ1QgKGZpbGUgbG9jYXRpb24pOiAlcyByZW5hbWVkIHRvICVzIGluICVzLCAiCisJCQkiaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgd2FzIHJlbmFtZWQgaW4gJXMsICIKKwkJCSJzdWdnZXN0aW5nIGl0IHNob3VsZCBwZXJoYXBzIGJlIG1vdmVkIHRvICVzLiIpOworCX0gZWxzZSB7CisJCUJVRygiSW1wb3NzaWJsZSBkaXJfcmVuYW1lX29yaWdpbmFsX3R5cGUvY2xlYW4gY29tYmluYXRpb24iKTsKKwl9CisJZGlyX3JlbmFtZV93YXJuaW5nKG1zZywgaXNfYWRkLCBjbGVhbiwgb3B0LCByZW4pOworCisJcmV0dXJuIGNsZWFuOwogfQogCiAvKiBQZXIgZW50cnkgbWVyZ2UgZnVuY3Rpb24gKi8KLXN0YXRpYyBpbnQgcHJvY2Vzc19lbnRyeShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKK3N0YXRpYyBpbnQgcHJvY2Vzc19lbnRyeShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LAogCQkJIGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGFnZV9kYXRhICplbnRyeSkKIHsKIAlpbnQgY2xlYW5fbWVyZ2UgPSAxOwotCWludCBub3JtYWxpemUgPSBvLT5yZW5vcm1hbGl6ZTsKLQl1bnNpZ25lZCBvX21vZGUgPSBlbnRyeS0+c3RhZ2VzWzFdLm1vZGU7Ci0JdW5zaWduZWQgYV9tb2RlID0gZW50cnktPnN0YWdlc1syXS5tb2RlOwotCXVuc2lnbmVkIGJfbW9kZSA9IGVudHJ5LT5zdGFnZXNbM10ubW9kZTsKLQlzdHJ1Y3Qgb2JqZWN0X2lkICpvX29pZCA9IHN0YWdlX29pZCgmZW50cnktPnN0YWdlc1sxXS5vaWQsIG9fbW9kZSk7Ci0Jc3RydWN0IG9iamVjdF9pZCAqYV9vaWQgPSBzdGFnZV9vaWQoJmVudHJ5LT5zdGFnZXNbMl0ub2lkLCBhX21vZGUpOwotCXN0cnVjdCBvYmplY3RfaWQgKmJfb2lkID0gc3RhZ2Vfb2lkKCZlbnRyeS0+c3RhZ2VzWzNdLm9pZCwgYl9tb2RlKTsKKwlpbnQgbm9ybWFsaXplID0gb3B0LT5yZW5vcm1hbGl6ZTsKKworCXN0cnVjdCBkaWZmX2ZpbGVzcGVjICpvID0gJmVudHJ5LT5zdGFnZXNbMV07CisJc3RydWN0IGRpZmZfZmlsZXNwZWMgKmEgPSAmZW50cnktPnN0YWdlc1syXTsKKwlzdHJ1Y3QgZGlmZl9maWxlc3BlYyAqYiA9ICZlbnRyeS0+c3RhZ2VzWzNdOworCWludCBvX3ZhbGlkID0gaXNfdmFsaWQobyk7CisJaW50IGFfdmFsaWQgPSBpc192YWxpZChhKTsKKwlpbnQgYl92YWxpZCA9IGlzX3ZhbGlkKGIpOworCW8tPnBhdGggPSBhLT5wYXRoID0gYi0+cGF0aCA9IChjaGFyKilwYXRoOwogCiAJZW50cnktPnByb2Nlc3NlZCA9IDE7CiAJaWYgKGVudHJ5LT5yZW5hbWVfY29uZmxpY3RfaW5mbykgewotCQlzdHJ1Y3QgcmVuYW1lX2NvbmZsaWN0X2luZm8gKmNvbmZsaWN0X2luZm8gPSBlbnRyeS0+cmVuYW1lX2NvbmZsaWN0X2luZm87Ci0JCXN3aXRjaCAoY29uZmxpY3RfaW5mby0+cmVuYW1lX3R5cGUpIHsKKwkJc3RydWN0IHJlbmFtZV9jb25mbGljdF9pbmZvICpjaSA9IGVudHJ5LT5yZW5hbWVfY29uZmxpY3RfaW5mbzsKKwkJc3RydWN0IGRpZmZfZmlsZXNwZWMgKnRlbXA7CisJCWludCBwYXRoX2NsZWFuOworCisJCXBhdGhfY2xlYW4gPSB3YXJuX2Fib3V0X2Rpcl9yZW5hbWVkX2VudHJpZXMob3B0LCBjaS0+cmVuMSk7CisJCXBhdGhfY2xlYW4gJj0gd2Fybl9hYm91dF9kaXJfcmVuYW1lZF9lbnRyaWVzKG9wdCwgY2ktPnJlbjIpOworCisJCS8qCisJCSAqIEZvciBjYXNlcyB3aXRoIGEgc2luZ2xlIHJlbmFtZSwge28sYSxifS0+cGF0aCBoYXZlIGFsbCBiZWVuCisJCSAqIHNldCB0byB0aGUgcmVuYW1lIHRhcmdldCBwYXRoOyB3ZSBuZWVkIHRvIHNldCB0d28gb2YgdGhlc2UKKwkJICogYmFjayB0byB0aGUgcmVuYW1lIHNvdXJjZS4KKwkJICogRm9yIHJlbmFtZS9yZW5hbWUgY29uZmxpY3RzLCB3ZSdsbCBtYW51YWxseSBmaXggcGF0aHMgYmVsb3cuCisJCSAqLworCQl0ZW1wID0gKG9wdC0+YnJhbmNoMSA9PSBjaS0+cmVuMS0+YnJhbmNoKSA/IGIgOiBhOworCQlvLT5wYXRoID0gdGVtcC0+cGF0aCA9IGNpLT5yZW4xLT5wYWlyLT5vbmUtPnBhdGg7CisJCWlmIChjaS0+cmVuMikgeworCQkJYXNzZXJ0KG9wdC0+YnJhbmNoMSA9PSBjaS0+cmVuMS0+YnJhbmNoKTsKKwkJfQorCisJCXN3aXRjaCAoY2ktPnJlbmFtZV90eXBlKSB7CiAJCWNhc2UgUkVOQU1FX05PUk1BTDoKIAkJY2FzZSBSRU5BTUVfT05FX0ZJTEVfVE9fT05FOgotCQkJY2xlYW5fbWVyZ2UgPSBoYW5kbGVfcmVuYW1lX25vcm1hbChvLAotCQkJCQkJCSAgIHBhdGgsCi0JCQkJCQkJICAgb19vaWQsIG9fbW9kZSwKLQkJCQkJCQkgICBhX29pZCwgYV9tb2RlLAotCQkJCQkJCSAgIGJfb2lkLCBiX21vZGUsCi0JCQkJCQkJICAgY29uZmxpY3RfaW5mbyk7CisJCQljbGVhbl9tZXJnZSA9IGhhbmRsZV9yZW5hbWVfbm9ybWFsKG9wdCwgcGF0aCwgbywgYSwgYiwKKwkJCQkJCQkgICBjaSk7CiAJCQlicmVhazsKIAkJY2FzZSBSRU5BTUVfVklBX0RJUjoKLQkJCWNsZWFuX21lcmdlID0gMTsKLQkJCWlmIChoYW5kbGVfcmVuYW1lX3ZpYV9kaXIobywKLQkJCQkJCSAgY29uZmxpY3RfaW5mby0+cGFpcjEsCi0JCQkJCQkgIGNvbmZsaWN0X2luZm8tPmJyYW5jaDEsCi0JCQkJCQkgIGNvbmZsaWN0X2luZm8tPmJyYW5jaDIpKQotCQkJCWNsZWFuX21lcmdlID0gLTE7CisJCQljbGVhbl9tZXJnZSA9IGhhbmRsZV9yZW5hbWVfdmlhX2RpcihvcHQsIGNpKTsKKwkJCWJyZWFrOworCQljYXNlIFJFTkFNRV9BREQ6CisJCQkvKgorCQkJICogUHJvYmFibHkgdW5jbGVhbiBtZXJnZSwgYnV0IGlmIHRoZSByZW5hbWVkIGZpbGUKKwkJCSAqIG1lcmdlcyBjbGVhbmx5IGFuZCB0aGUgcmVzdWx0IGNhbiB0aGVuIGJlCisJCQkgKiB0d28td2F5IG1lcmdlZCBjbGVhbmx5IHdpdGggdGhlIGFkZGVkIGZpbGUsIEkKKwkJCSAqIGd1ZXNzIGl0J3MgYSBjbGVhbiBtZXJnZT8KKwkJCSAqLworCQkJY2xlYW5fbWVyZ2UgPSBoYW5kbGVfcmVuYW1lX2FkZChvcHQsIGNpKTsKIAkJCWJyZWFrOwogCQljYXNlIFJFTkFNRV9ERUxFVEU6CiAJCQljbGVhbl9tZXJnZSA9IDA7Ci0JCQlpZiAoaGFuZGxlX3JlbmFtZV9kZWxldGUobywKLQkJCQkJCSBjb25mbGljdF9pbmZvLT5wYWlyMSwKLQkJCQkJCSBjb25mbGljdF9pbmZvLT5icmFuY2gxLAotCQkJCQkJIGNvbmZsaWN0X2luZm8tPmJyYW5jaDIpKQorCQkJaWYgKGhhbmRsZV9yZW5hbWVfZGVsZXRlKG9wdCwgY2kpKQogCQkJCWNsZWFuX21lcmdlID0gLTE7CiAJCQlicmVhazsKIAkJY2FzZSBSRU5BTUVfT05FX0ZJTEVfVE9fVFdPOgorCQkJLyoKKwkJCSAqIE1hbnVhbGx5IGZpeCB1cCBwYXRoczsgbm90ZToKKwkJCSAqIHJlblsxMl0tPnBhaXItPm9uZS0+cGF0aCBhcmUgZXF1YWwuCisJCQkgKi8KKwkJCW8tPnBhdGggPSBjaS0+cmVuMS0+cGFpci0+b25lLT5wYXRoOworCQkJYS0+cGF0aCA9IGNpLT5yZW4xLT5wYWlyLT50d28tPnBhdGg7CisJCQliLT5wYXRoID0gY2ktPnJlbjItPnBhaXItPnR3by0+cGF0aDsKKwogCQkJY2xlYW5fbWVyZ2UgPSAwOwotCQkJaWYgKGhhbmRsZV9yZW5hbWVfcmVuYW1lXzF0bzIobywgY29uZmxpY3RfaW5mbykpCisJCQlpZiAoaGFuZGxlX3JlbmFtZV9yZW5hbWVfMXRvMihvcHQsIGNpKSkKIAkJCQljbGVhbl9tZXJnZSA9IC0xOwogCQkJYnJlYWs7CiAJCWNhc2UgUkVOQU1FX1RXT19GSUxFU19UT19PTkU6Ci0JCQljbGVhbl9tZXJnZSA9IDA7Ci0JCQlpZiAoaGFuZGxlX3JlbmFtZV9yZW5hbWVfMnRvMShvLCBjb25mbGljdF9pbmZvKSkKLQkJCQljbGVhbl9tZXJnZSA9IC0xOworCQkJLyoKKwkJCSAqIE1hbnVhbGx5IGZpeCB1cCBwYXRoczsgbm90ZSwKKwkJCSAqIHJlblsxMl0tPnBhaXItPnR3by0+cGF0aCBhcmUgYWN0dWFsbHkgZXF1YWwuCisJCQkgKi8KKwkJCW8tPnBhdGggPSBOVUxMOworCQkJYS0+cGF0aCA9IGNpLT5yZW4xLT5wYWlyLT50d28tPnBhdGg7CisJCQliLT5wYXRoID0gY2ktPnJlbjItPnBhaXItPnR3by0+cGF0aDsKKworCQkJLyoKKwkJCSAqIFByb2JhYmx5IHVuY2xlYW4gbWVyZ2UsIGJ1dCBpZiB0aGUgdHdvIHJlbmFtZWQKKwkJCSAqIGZpbGVzIG1lcmdlIGNsZWFubHkgYW5kIHRoZSB0d28gcmVzdWx0aW5nIGZpbGVzCisJCQkgKiBjYW4gdGhlbiBiZSB0d28td2F5IG1lcmdlZCBjbGVhbmx5LCBJIGd1ZXNzIGl0J3MKKwkJCSAqIGEgY2xlYW4gbWVyZ2U/CisJCQkgKi8KKwkJCWNsZWFuX21lcmdlID0gaGFuZGxlX3JlbmFtZV9yZW5hbWVfMnRvMShvcHQsIGNpKTsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJZW50cnktPnByb2Nlc3NlZCA9IDA7CiAJCQlicmVhazsKIAkJfQotCX0gZWxzZSBpZiAob19vaWQgJiYgKCFhX29pZCB8fCAhYl9vaWQpKSB7CisJCWlmIChwYXRoX2NsZWFuIDwgY2xlYW5fbWVyZ2UpCisJCQljbGVhbl9tZXJnZSA9IHBhdGhfY2xlYW47CisJfSBlbHNlIGlmIChvX3ZhbGlkICYmICghYV92YWxpZCB8fCAhYl92YWxpZCkpIHsKIAkJLyogQ2FzZSBBOiBEZWxldGVkIGluIG9uZSAqLwotCQlpZiAoKCFhX29pZCAmJiAhYl9vaWQpIHx8Ci0JCSAgICAoIWJfb2lkICYmIGJsb2JfdW5jaGFuZ2VkKG8sIG9fb2lkLCBvX21vZGUsIGFfb2lkLCBhX21vZGUsIG5vcm1hbGl6ZSwgcGF0aCkpIHx8Ci0JCSAgICAoIWFfb2lkICYmIGJsb2JfdW5jaGFuZ2VkKG8sIG9fb2lkLCBvX21vZGUsIGJfb2lkLCBiX21vZGUsIG5vcm1hbGl6ZSwgcGF0aCkpKSB7CisJCWlmICgoIWFfdmFsaWQgJiYgIWJfdmFsaWQpIHx8CisJCSAgICAoIWJfdmFsaWQgJiYgYmxvYl91bmNoYW5nZWQob3B0LCBvLCBhLCBub3JtYWxpemUsIHBhdGgpKSB8fAorCQkgICAgKCFhX3ZhbGlkICYmIGJsb2JfdW5jaGFuZ2VkKG9wdCwgbywgYiwgbm9ybWFsaXplLCBwYXRoKSkpIHsKIAkJCS8qIERlbGV0ZWQgaW4gYm90aCBvciBkZWxldGVkIGluIG9uZSBhbmQKIAkJCSAqIHVuY2hhbmdlZCBpbiB0aGUgb3RoZXIgKi8KLQkJCWlmIChhX29pZCkKLQkJCQlvdXRwdXQobywgMiwgXygiUmVtb3ZpbmcgJXMiKSwgcGF0aCk7CisJCQlpZiAoYV92YWxpZCkKKwkJCQlvdXRwdXQob3B0LCAyLCBfKCJSZW1vdmluZyAlcyIpLCBwYXRoKTsKIAkJCS8qIGRvIG5vdCB0b3VjaCB3b3JraW5nIGZpbGUgaWYgaXQgZGlkIG5vdCBleGlzdCAqLwotCQkJcmVtb3ZlX2ZpbGUobywgMSwgcGF0aCwgIWFfb2lkKTsKKwkJCXJlbW92ZV9maWxlKG9wdCwgMSwgcGF0aCwgIWFfdmFsaWQpOwogCQl9IGVsc2UgewogCQkJLyogTW9kaWZ5L2RlbGV0ZTsgZGVsZXRlZCBzaWRlIG1heSBoYXZlIHB1dCBhIGRpcmVjdG9yeSBpbiB0aGUgd2F5ICovCiAJCQljbGVhbl9tZXJnZSA9IDA7Ci0JCQlpZiAoaGFuZGxlX21vZGlmeV9kZWxldGUobywgcGF0aCwgb19vaWQsIG9fbW9kZSwKLQkJCQkJCSBhX29pZCwgYV9tb2RlLCBiX29pZCwgYl9tb2RlKSkKKwkJCWlmIChoYW5kbGVfbW9kaWZ5X2RlbGV0ZShvcHQsIHBhdGgsIG8sIGEsIGIpKQogCQkJCWNsZWFuX21lcmdlID0gLTE7CiAJCX0KLQl9IGVsc2UgaWYgKCghb19vaWQgJiYgYV9vaWQgJiYgIWJfb2lkKSB8fAotCQkgICAoIW9fb2lkICYmICFhX29pZCAmJiBiX29pZCkpIHsKKwl9IGVsc2UgaWYgKCghb192YWxpZCAmJiBhX3ZhbGlkICYmICFiX3ZhbGlkKSB8fAorCQkgICAoIW9fdmFsaWQgJiYgIWFfdmFsaWQgJiYgYl92YWxpZCkpIHsKIAkJLyogQ2FzZSBCOiBBZGRlZCBpbiBvbmUuICovCiAJCS8qIFtub3RoaW5nfGRpcmVjdG9yeV0gLT4gKFtub3RoaW5nfGRpcmVjdG9yeV0sIGZpbGUpICovCiAKIAkJY29uc3QgY2hhciAqYWRkX2JyYW5jaDsKIAkJY29uc3QgY2hhciAqb3RoZXJfYnJhbmNoOwotCQl1bnNpZ25lZCBtb2RlOwotCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQ7CiAJCWNvbnN0IGNoYXIgKmNvbmY7CisJCWNvbnN0IHN0cnVjdCBkaWZmX2ZpbGVzcGVjICpjb250ZW50czsKIAotCQlpZiAoYV9vaWQpIHsKLQkJCWFkZF9icmFuY2ggPSBvLT5icmFuY2gxOwotCQkJb3RoZXJfYnJhbmNoID0gby0+YnJhbmNoMjsKLQkJCW1vZGUgPSBhX21vZGU7Ci0JCQlvaWQgPSBhX29pZDsKKwkJaWYgKGFfdmFsaWQpIHsKKwkJCWFkZF9icmFuY2ggPSBvcHQtPmJyYW5jaDE7CisJCQlvdGhlcl9icmFuY2ggPSBvcHQtPmJyYW5jaDI7CisJCQljb250ZW50cyA9IGE7CiAJCQljb25mID0gXygiZmlsZS9kaXJlY3RvcnkiKTsKIAkJfSBlbHNlIHsKLQkJCWFkZF9icmFuY2ggPSBvLT5icmFuY2gyOwotCQkJb3RoZXJfYnJhbmNoID0gby0+YnJhbmNoMTsKLQkJCW1vZGUgPSBiX21vZGU7Ci0JCQlvaWQgPSBiX29pZDsKKwkJCWFkZF9icmFuY2ggPSBvcHQtPmJyYW5jaDI7CisJCQlvdGhlcl9icmFuY2ggPSBvcHQtPmJyYW5jaDE7CisJCQljb250ZW50cyA9IGI7CiAJCQljb25mID0gXygiZGlyZWN0b3J5L2ZpbGUiKTsKIAkJfQotCQlpZiAoZGlyX2luX3dheShwYXRoLAotCQkJICAgICAgICFvLT5jYWxsX2RlcHRoICYmICFTX0lTR0lUTElOSyhhX21vZGUpLAorCQlpZiAoZGlyX2luX3dheShvcHQtPnJlcG8tPmluZGV4LCBwYXRoLAorCQkJICAgICAgICFvcHQtPnByaXYtPmNhbGxfZGVwdGggJiYgIVNfSVNHSVRMSU5LKGEtPm1vZGUpLAogCQkJICAgICAgIDApKSB7Ci0JCQljaGFyICpuZXdfcGF0aCA9IHVuaXF1ZV9wYXRoKG8sIHBhdGgsIGFkZF9icmFuY2gpOworCQkJY2hhciAqbmV3X3BhdGggPSB1bmlxdWVfcGF0aChvcHQsIHBhdGgsIGFkZF9icmFuY2gpOwogCQkJY2xlYW5fbWVyZ2UgPSAwOwotCQkJb3V0cHV0KG8sIDEsIF8oIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gIgorCQkJb3V0cHV0KG9wdCwgMSwgXygiQ09ORkxJQ1QgKCVzKTogVGhlcmUgaXMgYSBkaXJlY3Rvcnkgd2l0aCBuYW1lICVzIGluICVzLiAiCiAJCQkgICAgICAgIkFkZGluZyAlcyBhcyAlcyIpLAogCQkJICAgICAgIGNvbmYsIHBhdGgsIG90aGVyX2JyYW5jaCwgcGF0aCwgbmV3X3BhdGgpOwotCQkJaWYgKHVwZGF0ZV9maWxlKG8sIDAsIG9pZCwgbW9kZSwgbmV3X3BhdGgpKQorCQkJaWYgKHVwZGF0ZV9maWxlKG9wdCwgMCwgY29udGVudHMsIG5ld19wYXRoKSkKIAkJCQljbGVhbl9tZXJnZSA9IC0xOwotCQkJZWxzZSBpZiAoby0+Y2FsbF9kZXB0aCkKLQkJCQlyZW1vdmVfZmlsZV9mcm9tX2NhY2hlKHBhdGgpOworCQkJZWxzZSBpZiAob3B0LT5wcml2LT5jYWxsX2RlcHRoKQorCQkJCXJlbW92ZV9maWxlX2Zyb21faW5kZXgob3B0LT5yZXBvLT5pbmRleCwgcGF0aCk7CiAJCQlmcmVlKG5ld19wYXRoKTsKIAkJfSBlbHNlIHsKLQkJCW91dHB1dChvLCAyLCBfKCJBZGRpbmcgJXMiKSwgcGF0aCk7CisJCQlvdXRwdXQob3B0LCAyLCBfKCJBZGRpbmcgJXMiKSwgcGF0aCk7CiAJCQkvKiBkbyBub3Qgb3ZlcndyaXRlIGZpbGUgaWYgYWxyZWFkeSBwcmVzZW50ICovCi0JCQlpZiAodXBkYXRlX2ZpbGVfZmxhZ3Mobywgb2lkLCBtb2RlLCBwYXRoLCAxLCAhYV9vaWQpKQorCQkJaWYgKHVwZGF0ZV9maWxlX2ZsYWdzKG9wdCwgY29udGVudHMsIHBhdGgsIDEsICFhX3ZhbGlkKSkKIAkJCQljbGVhbl9tZXJnZSA9IC0xOwogCQl9Ci0JfSBlbHNlIGlmIChhX29pZCAmJiBiX29pZCkgewotCQkvKiBDYXNlIEM6IEFkZGVkIGluIGJvdGggKGNoZWNrIGZvciBzYW1lIHBlcm1pc3Npb25zKSBhbmQgKi8KLQkJLyogY2FzZSBEOiBNb2RpZmllZCBpbiBib3RoLCBidXQgZGlmZmVyZW50bHkuICovCi0JCWludCBpc19kaXJ0eSA9IDA7IC8qIHVucGFja190cmVlcyB3b3VsZCBoYXZlIGJhaWxlZCBpZiBkaXJ0eSAqLwotCQljbGVhbl9tZXJnZSA9IGhhbmRsZV9jb250ZW50X21lcmdlKG8sIHBhdGgsIGlzX2RpcnR5LAotCQkJCQkJICAgb19vaWQsIG9fbW9kZSwKLQkJCQkJCSAgIGFfb2lkLCBhX21vZGUsCi0JCQkJCQkgICBiX29pZCwgYl9tb2RlLAotCQkJCQkJICAgTlVMTCk7Ci0JfSBlbHNlIGlmICghb19vaWQgJiYgIWFfb2lkICYmICFiX29pZCkgeworCX0gZWxzZSBpZiAoYV92YWxpZCAmJiBiX3ZhbGlkKSB7CisJCWlmICghb192YWxpZCkgeworCQkJLyogQ2FzZSBDOiBBZGRlZCBpbiBib3RoIChjaGVjayBmb3Igc2FtZSBwZXJtaXNzaW9ucykgKi8KKwkJCW91dHB1dChvcHQsIDEsCisJCQkgICAgICAgXygiQ09ORkxJQ1QgKGFkZC9hZGQpOiBNZXJnZSBjb25mbGljdCBpbiAlcyIpLAorCQkJICAgICAgIHBhdGgpOworCQkJY2xlYW5fbWVyZ2UgPSBoYW5kbGVfZmlsZV9jb2xsaXNpb24ob3B0LAorCQkJCQkJCSAgICBwYXRoLCBOVUxMLCBOVUxMLAorCQkJCQkJCSAgICBvcHQtPmJyYW5jaDEsCisJCQkJCQkJICAgIG9wdC0+YnJhbmNoMiwKKwkJCQkJCQkgICAgYSwgYik7CisJCX0gZWxzZSB7CisJCQkvKiBjYXNlIEQ6IE1vZGlmaWVkIGluIGJvdGgsIGJ1dCBkaWZmZXJlbnRseS4gKi8KKwkJCXN0cnVjdCBtZXJnZV9maWxlX2luZm8gbWZpOworCQkJaW50IGlzX2RpcnR5ID0gMDsgLyogdW5wYWNrX3RyZWVzIHdvdWxkIGhhdmUgYmFpbGVkIGlmIGRpcnR5ICovCisJCQljbGVhbl9tZXJnZSA9IGhhbmRsZV9jb250ZW50X21lcmdlKCZtZmksIG9wdCwgcGF0aCwKKwkJCQkJCQkgICBpc19kaXJ0eSwKKwkJCQkJCQkgICBvLCBhLCBiLCBOVUxMKTsKKwkJfQorCX0gZWxzZSBpZiAoIW9fdmFsaWQgJiYgIWFfdmFsaWQgJiYgIWJfdmFsaWQpIHsKIAkJLyoKIAkJICogdGhpcyBlbnRyeSB3YXMgZGVsZXRlZCBhbHRvZ2V0aGVyLiBhX21vZGUgPT0gMCBtZWFucwogCQkgKiB3ZSBoYWQgdGhhdCBwYXRoIGFuZCB3YW50IHRvIGFjdGl2ZWx5IHJlbW92ZSBpdC4KIAkJICovCi0JCXJlbW92ZV9maWxlKG8sIDEsIHBhdGgsICFhX21vZGUpOworCQlyZW1vdmVfZmlsZShvcHQsIDEsIHBhdGgsICFhLT5tb2RlKTsKIAl9IGVsc2UKIAkJQlVHKCJmYXRhbCBtZXJnZSBmYWlsdXJlLCBzaG91bGRuJ3QgaGFwcGVuLiIpOwogCiAJcmV0dXJuIGNsZWFuX21lcmdlOwogfQogCi1pbnQgbWVyZ2VfdHJlZXMoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sCi0JCXN0cnVjdCB0cmVlICpoZWFkLAotCQlzdHJ1Y3QgdHJlZSAqbWVyZ2UsCi0JCXN0cnVjdCB0cmVlICpjb21tb24sCi0JCXN0cnVjdCB0cmVlICoqcmVzdWx0KQorc3RhdGljIGludCBtZXJnZV90cmVlc19pbnRlcm5hbChzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LAorCQkJCXN0cnVjdCB0cmVlICpoZWFkLAorCQkJCXN0cnVjdCB0cmVlICptZXJnZSwKKwkJCQlzdHJ1Y3QgdHJlZSAqbWVyZ2VfYmFzZSwKKwkJCQlzdHJ1Y3QgdHJlZSAqKnJlc3VsdCkKIHsKKwlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSA9IG9wdC0+cmVwby0+aW5kZXg7CiAJaW50IGNvZGUsIGNsZWFuOwotCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKIAotCWlmICghby0+Y2FsbF9kZXB0aCAmJiBpbmRleF9oYXNfY2hhbmdlcygmdGhlX2luZGV4LCBoZWFkLCAmc2IpKSB7Ci0JCWVycihvLCBfKCJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiAgJXMiKSwKLQkJICAgIHNiLmJ1Zik7Ci0JCXJldHVybiAtMTsKKwlpZiAob3B0LT5zdWJ0cmVlX3NoaWZ0KSB7CisJCW1lcmdlID0gc2hpZnRfdHJlZV9vYmplY3Qob3B0LT5yZXBvLCBoZWFkLCBtZXJnZSwKKwkJCQkJICBvcHQtPnN1YnRyZWVfc2hpZnQpOworCQltZXJnZV9iYXNlID0gc2hpZnRfdHJlZV9vYmplY3Qob3B0LT5yZXBvLCBoZWFkLCBtZXJnZV9iYXNlLAorCQkJCQkgICAgICAgb3B0LT5zdWJ0cmVlX3NoaWZ0KTsKIAl9CiAKLQlpZiAoby0+c3VidHJlZV9zaGlmdCkgewotCQltZXJnZSA9IHNoaWZ0X3RyZWVfb2JqZWN0KGhlYWQsIG1lcmdlLCBvLT5zdWJ0cmVlX3NoaWZ0KTsKLQkJY29tbW9uID0gc2hpZnRfdHJlZV9vYmplY3QoaGVhZCwgY29tbW9uLCBvLT5zdWJ0cmVlX3NoaWZ0KTsKLQl9Ci0KLQlpZiAob2lkX2VxKCZjb21tb24tPm9iamVjdC5vaWQsICZtZXJnZS0+b2JqZWN0Lm9pZCkpIHsKLQkJb3V0cHV0KG8sIDAsIF8oIkFscmVhZHkgdXAgdG8gZGF0ZSEiKSk7CisJaWYgKG9pZGVxKCZtZXJnZV9iYXNlLT5vYmplY3Qub2lkLCAmbWVyZ2UtPm9iamVjdC5vaWQpKSB7CisJCW91dHB1dChvcHQsIDAsIF8oIkFscmVhZHkgdXAgdG8gZGF0ZSEiKSk7CiAJCSpyZXN1bHQgPSBoZWFkOwogCQlyZXR1cm4gMTsKIAl9CiAKLQljb2RlID0gdW5wYWNrX3RyZWVzX3N0YXJ0KG8sIGNvbW1vbiwgaGVhZCwgbWVyZ2UpOworCWNvZGUgPSB1bnBhY2tfdHJlZXNfc3RhcnQob3B0LCBtZXJnZV9iYXNlLCBoZWFkLCBtZXJnZSk7CiAKIAlpZiAoY29kZSAhPSAwKSB7Ci0JCWlmIChzaG93KG8sIDQpIHx8IG8tPmNhbGxfZGVwdGgpCi0JCQllcnIobywgXygibWVyZ2luZyBvZiB0cmVlcyAlcyBhbmQgJXMgZmFpbGVkIiksCisJCWlmIChzaG93KG9wdCwgNCkgfHwgb3B0LT5wcml2LT5jYWxsX2RlcHRoKQorCQkJZXJyKG9wdCwgXygibWVyZ2luZyBvZiB0cmVlcyAlcyBhbmQgJXMgZmFpbGVkIiksCiAJCQkgICAgb2lkX3RvX2hleCgmaGVhZC0+b2JqZWN0Lm9pZCksCiAJCQkgICAgb2lkX3RvX2hleCgmbWVyZ2UtPm9iamVjdC5vaWQpKTsKLQkJdW5wYWNrX3RyZWVzX2ZpbmlzaChvKTsKKwkJdW5wYWNrX3RyZWVzX2ZpbmlzaChvcHQpOwogCQlyZXR1cm4gLTE7CiAJfQogCi0JaWYgKHVubWVyZ2VkX2NhY2hlKCkpIHsKKwlpZiAodW5tZXJnZWRfaW5kZXgoaXN0YXRlKSkgewogCQlzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmVudHJpZXM7CiAJCXN0cnVjdCByZW5hbWVfaW5mbyByZV9pbmZvOwogCQlpbnQgaTsKQEAgLTMzMzUsMjEgKzM0NDgsMjIgQEAKIAkJICogb3Bwb3NlZCB0byBkZWNhcmluZyBhIGxvY2FsIGhhc2htYXAgaXMgZm9yIGNvbnZlbmllbmNlCiAJCSAqIHNvIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0byBwYXNzIGl0IHRvIGFyb3VuZC4KIAkJICovCi0JCWhhc2htYXBfaW5pdCgmby0+Y3VycmVudF9maWxlX2Rpcl9zZXQsIHBhdGhfaGFzaG1hcF9jbXAsIE5VTEwsIDUxMik7Ci0JCWdldF9maWxlc19kaXJzKG8sIGhlYWQpOwotCQlnZXRfZmlsZXNfZGlycyhvLCBtZXJnZSk7CisJCWhhc2htYXBfaW5pdCgmb3B0LT5wcml2LT5jdXJyZW50X2ZpbGVfZGlyX3NldCwgcGF0aF9oYXNobWFwX2NtcCwKKwkJCSAgICAgTlVMTCwgNTEyKTsKKwkJZ2V0X2ZpbGVzX2RpcnMob3B0LCBoZWFkKTsKKwkJZ2V0X2ZpbGVzX2RpcnMob3B0LCBtZXJnZSk7CiAKLQkJZW50cmllcyA9IGdldF91bm1lcmdlZCgpOwotCQljbGVhbiA9IGRldGVjdF9hbmRfcHJvY2Vzc19yZW5hbWVzKG8sIGNvbW1vbiwgaGVhZCwgbWVyZ2UsCisJCWVudHJpZXMgPSBnZXRfdW5tZXJnZWQob3B0LT5yZXBvLT5pbmRleCk7CisJCWNsZWFuID0gZGV0ZWN0X2FuZF9wcm9jZXNzX3JlbmFtZXMob3B0LCBtZXJnZV9iYXNlLCBoZWFkLCBtZXJnZSwKIAkJCQkJCSAgIGVudHJpZXMsICZyZV9pbmZvKTsKLQkJcmVjb3JkX2RmX2NvbmZsaWN0X2ZpbGVzKG8sIGVudHJpZXMpOworCQlyZWNvcmRfZGZfY29uZmxpY3RfZmlsZXMob3B0LCBlbnRyaWVzKTsKIAkJaWYgKGNsZWFuIDwgMCkKIAkJCWdvdG8gY2xlYW51cDsKIAkJZm9yIChpID0gZW50cmllcy0+bnItMTsgMCA8PSBpOyBpLS0pIHsKIAkJCWNvbnN0IGNoYXIgKnBhdGggPSBlbnRyaWVzLT5pdGVtc1tpXS5zdHJpbmc7CiAJCQlzdHJ1Y3Qgc3RhZ2VfZGF0YSAqZSA9IGVudHJpZXMtPml0ZW1zW2ldLnV0aWw7CiAJCQlpZiAoIWUtPnByb2Nlc3NlZCkgewotCQkJCWludCByZXQgPSBwcm9jZXNzX2VudHJ5KG8sIHBhdGgsIGUpOworCQkJCWludCByZXQgPSBwcm9jZXNzX2VudHJ5KG9wdCwgcGF0aCwgZSk7CiAJCQkJaWYgKCFyZXQpCiAJCQkJCWNsZWFuID0gMDsKIAkJCQllbHNlIGlmIChyZXQgPCAwKSB7CkBAIC0zMzcxLDE5ICszNDg1LDIxIEBACiAJCXN0cmluZ19saXN0X2NsZWFyKGVudHJpZXMsIDEpOwogCQlmcmVlKGVudHJpZXMpOwogCi0JCWhhc2htYXBfZnJlZSgmby0+Y3VycmVudF9maWxlX2Rpcl9zZXQsIDEpOworCQloYXNobWFwX2ZyZWVfZW50cmllcygmb3B0LT5wcml2LT5jdXJyZW50X2ZpbGVfZGlyX3NldCwKKwkJCQkJc3RydWN0IHBhdGhfaGFzaG1hcF9lbnRyeSwgZSk7CiAKIAkJaWYgKGNsZWFuIDwgMCkgewotCQkJdW5wYWNrX3RyZWVzX2ZpbmlzaChvKTsKKwkJCXVucGFja190cmVlc19maW5pc2gob3B0KTsKIAkJCXJldHVybiBjbGVhbjsKIAkJfQogCX0KIAllbHNlCiAJCWNsZWFuID0gMTsKIAotCXVucGFja190cmVlc19maW5pc2gobyk7CisJdW5wYWNrX3RyZWVzX2ZpbmlzaChvcHQpOwogCi0JaWYgKG8tPmNhbGxfZGVwdGggJiYgISgqcmVzdWx0ID0gd3JpdGVfdHJlZV9mcm9tX21lbW9yeShvKSkpCisJaWYgKG9wdC0+cHJpdi0+Y2FsbF9kZXB0aCAmJgorCSAgICAhKCpyZXN1bHQgPSB3cml0ZV9pbl9jb3JlX2luZGV4X2FzX3RyZWUob3B0LT5yZXBvKSkpCiAJCXJldHVybiAtMTsKIAogCXJldHVybiBjbGVhbjsKQEAgLTM0MDQsNDkgKzM1MjAsNjIgQEAKICAqIE1lcmdlIHRoZSBjb21taXRzIGgxIGFuZCBoMiwgcmV0dXJuIHRoZSByZXN1bHRpbmcgdmlydHVhbAogICogY29tbWl0IG9iamVjdCBhbmQgYSBmbGFnIGluZGljYXRpbmcgdGhlIGNsZWFubmVzcyBvZiB0aGUgbWVyZ2UuCiAgKi8KLWludCBtZXJnZV9yZWN1cnNpdmUoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sCi0JCSAgICBzdHJ1Y3QgY29tbWl0ICpoMSwKLQkJICAgIHN0cnVjdCBjb21taXQgKmgyLAotCQkgICAgc3RydWN0IGNvbW1pdF9saXN0ICpjYSwKLQkJICAgIHN0cnVjdCBjb21taXQgKipyZXN1bHQpCitzdGF0aWMgaW50IG1lcmdlX3JlY3Vyc2l2ZV9pbnRlcm5hbChzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LAorCQkJCSAgICBzdHJ1Y3QgY29tbWl0ICpoMSwKKwkJCQkgICAgc3RydWN0IGNvbW1pdCAqaDIsCisJCQkJICAgIHN0cnVjdCBjb21taXRfbGlzdCAqbWVyZ2VfYmFzZXMsCisJCQkJICAgIHN0cnVjdCBjb21taXQgKipyZXN1bHQpCiB7CiAJc3RydWN0IGNvbW1pdF9saXN0ICppdGVyOwotCXN0cnVjdCBjb21taXQgKm1lcmdlZF9jb21tb25fYW5jZXN0b3JzOwotCXN0cnVjdCB0cmVlICptcnRyZWU7CisJc3RydWN0IGNvbW1pdCAqbWVyZ2VkX21lcmdlX2Jhc2VzOworCXN0cnVjdCB0cmVlICpyZXN1bHRfdHJlZTsKIAlpbnQgY2xlYW47CisJY29uc3QgY2hhciAqYW5jZXN0b3JfbmFtZTsKKwlzdHJ1Y3Qgc3RyYnVmIG1lcmdlX2Jhc2VfYWJicmV2ID0gU1RSQlVGX0lOSVQ7CiAKLQlpZiAoc2hvdyhvLCA0KSkgewotCQlvdXRwdXQobywgNCwgXygiTWVyZ2luZzoiKSk7Ci0JCW91dHB1dF9jb21taXRfdGl0bGUobywgaDEpOwotCQlvdXRwdXRfY29tbWl0X3RpdGxlKG8sIGgyKTsKKwlpZiAoc2hvdyhvcHQsIDQpKSB7CisJCW91dHB1dChvcHQsIDQsIF8oIk1lcmdpbmc6IikpOworCQlvdXRwdXRfY29tbWl0X3RpdGxlKG9wdCwgaDEpOworCQlvdXRwdXRfY29tbWl0X3RpdGxlKG9wdCwgaDIpOwogCX0KIAotCWlmICghY2EpIHsKLQkJY2EgPSBnZXRfbWVyZ2VfYmFzZXMoaDEsIGgyKTsKLQkJY2EgPSByZXZlcnNlX2NvbW1pdF9saXN0KGNhKTsKKwlpZiAoIW1lcmdlX2Jhc2VzKSB7CisJCW1lcmdlX2Jhc2VzID0gZ2V0X21lcmdlX2Jhc2VzKGgxLCBoMik7CisJCW1lcmdlX2Jhc2VzID0gcmV2ZXJzZV9jb21taXRfbGlzdChtZXJnZV9iYXNlcyk7CiAJfQogCi0JaWYgKHNob3cobywgNSkpIHsKLQkJdW5zaWduZWQgY250ID0gY29tbWl0X2xpc3RfY291bnQoY2EpOworCWlmIChzaG93KG9wdCwgNSkpIHsKKwkJdW5zaWduZWQgY250ID0gY29tbWl0X2xpc3RfY291bnQobWVyZ2VfYmFzZXMpOwogCi0JCW91dHB1dChvLCA1LCBRXygiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yOiIsCisJCW91dHB1dChvcHQsIDUsIFFfKCJmb3VuZCAldSBjb21tb24gYW5jZXN0b3I6IiwKIAkJCQkiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yczoiLCBjbnQpLCBjbnQpOwotCQlmb3IgKGl0ZXIgPSBjYTsgaXRlcjsgaXRlciA9IGl0ZXItPm5leHQpCi0JCQlvdXRwdXRfY29tbWl0X3RpdGxlKG8sIGl0ZXItPml0ZW0pOworCQlmb3IgKGl0ZXIgPSBtZXJnZV9iYXNlczsgaXRlcjsgaXRlciA9IGl0ZXItPm5leHQpCisJCQlvdXRwdXRfY29tbWl0X3RpdGxlKG9wdCwgaXRlci0+aXRlbSk7CiAJfQogCi0JbWVyZ2VkX2NvbW1vbl9hbmNlc3RvcnMgPSBwb3BfY29tbWl0KCZjYSk7Ci0JaWYgKG1lcmdlZF9jb21tb25fYW5jZXN0b3JzID09IE5VTEwpIHsKKwltZXJnZWRfbWVyZ2VfYmFzZXMgPSBwb3BfY29tbWl0KCZtZXJnZV9iYXNlcyk7CisJaWYgKG1lcmdlZF9tZXJnZV9iYXNlcyA9PSBOVUxMKSB7CiAJCS8qIGlmIHRoZXJlIGlzIG5vIGNvbW1vbiBhbmNlc3RvciwgdXNlIGFuIGVtcHR5IHRyZWUgKi8KIAkJc3RydWN0IHRyZWUgKnRyZWU7CiAKLQkJdHJlZSA9IGxvb2t1cF90cmVlKHRoZV9yZXBvc2l0b3J5LCB0aGVfcmVwb3NpdG9yeS0+aGFzaF9hbGdvLT5lbXB0eV90cmVlKTsKLQkJbWVyZ2VkX2NvbW1vbl9hbmNlc3RvcnMgPSBtYWtlX3ZpcnR1YWxfY29tbWl0KHRyZWUsICJhbmNlc3RvciIpOworCQl0cmVlID0gbG9va3VwX3RyZWUob3B0LT5yZXBvLCBvcHQtPnJlcG8tPmhhc2hfYWxnby0+ZW1wdHlfdHJlZSk7CisJCW1lcmdlZF9tZXJnZV9iYXNlcyA9IG1ha2VfdmlydHVhbF9jb21taXQob3B0LT5yZXBvLCB0cmVlLAorCQkJCQkJCSAiYW5jZXN0b3IiKTsKKwkJYW5jZXN0b3JfbmFtZSA9ICJlbXB0eSB0cmVlIjsKKwl9IGVsc2UgaWYgKG9wdC0+YW5jZXN0b3IgJiYgIW9wdC0+cHJpdi0+Y2FsbF9kZXB0aCkgeworCQlhbmNlc3Rvcl9uYW1lID0gb3B0LT5hbmNlc3RvcjsKKwl9IGVsc2UgaWYgKG1lcmdlX2Jhc2VzKSB7CisJCWFuY2VzdG9yX25hbWUgPSAibWVyZ2VkIGNvbW1vbiBhbmNlc3RvcnMiOworCX0gZWxzZSB7CisJCXN0cmJ1Zl9hZGRfdW5pcXVlX2FiYnJldigmbWVyZ2VfYmFzZV9hYmJyZXYsCisJCQkJCSAmbWVyZ2VkX21lcmdlX2Jhc2VzLT5vYmplY3Qub2lkLAorCQkJCQkgREVGQVVMVF9BQkJSRVYpOworCQlhbmNlc3Rvcl9uYW1lID0gbWVyZ2VfYmFzZV9hYmJyZXYuYnVmOwogCX0KIAotCWZvciAoaXRlciA9IGNhOyBpdGVyOyBpdGVyID0gaXRlci0+bmV4dCkgeworCWZvciAoaXRlciA9IG1lcmdlX2Jhc2VzOyBpdGVyOyBpdGVyID0gaXRlci0+bmV4dCkgewogCQljb25zdCBjaGFyICpzYXZlZF9iMSwgKnNhdmVkX2IyOwotCQlvLT5jYWxsX2RlcHRoKys7CisJCW9wdC0+cHJpdi0+Y2FsbF9kZXB0aCsrOwogCQkvKgogCQkgKiBXaGVuIHRoZSBtZXJnZSBmYWlscywgdGhlIHJlc3VsdCBjb250YWlucyBmaWxlcwogCQkgKiB3aXRoIGNvbmZsaWN0IG1hcmtlcnMuIFRoZSBjbGVhbm5lc3MgZmxhZyBpcwpAQCAtMzQ1NSw2MCArMzU4NCwxNDkgQEAKIAkJICogb3ZlcndyaXR0ZW4gaXQ6IHRoZSBjb21taXR0ZWQgImNvbmZsaWN0cyIgd2VyZQogCQkgKiBhbHJlYWR5IHJlc29sdmVkLgogCQkgKi8KLQkJZGlzY2FyZF9jYWNoZSgpOwotCQlzYXZlZF9iMSA9IG8tPmJyYW5jaDE7Ci0JCXNhdmVkX2IyID0gby0+YnJhbmNoMjsKLQkJby0+YnJhbmNoMSA9ICJUZW1wb3JhcnkgbWVyZ2UgYnJhbmNoIDEiOwotCQlvLT5icmFuY2gyID0gIlRlbXBvcmFyeSBtZXJnZSBicmFuY2ggMiI7Ci0JCWlmIChtZXJnZV9yZWN1cnNpdmUobywgbWVyZ2VkX2NvbW1vbl9hbmNlc3RvcnMsIGl0ZXItPml0ZW0sCi0JCQkJICAgIE5VTEwsICZtZXJnZWRfY29tbW9uX2FuY2VzdG9ycykgPCAwKQorCQlkaXNjYXJkX2luZGV4KG9wdC0+cmVwby0+aW5kZXgpOworCQlzYXZlZF9iMSA9IG9wdC0+YnJhbmNoMTsKKwkJc2F2ZWRfYjIgPSBvcHQtPmJyYW5jaDI7CisJCW9wdC0+YnJhbmNoMSA9ICJUZW1wb3JhcnkgbWVyZ2UgYnJhbmNoIDEiOworCQlvcHQtPmJyYW5jaDIgPSAiVGVtcG9yYXJ5IG1lcmdlIGJyYW5jaCAyIjsKKwkJaWYgKG1lcmdlX3JlY3Vyc2l2ZV9pbnRlcm5hbChvcHQsIG1lcmdlZF9tZXJnZV9iYXNlcywgaXRlci0+aXRlbSwKKwkJCQkJICAgICBOVUxMLCAmbWVyZ2VkX21lcmdlX2Jhc2VzKSA8IDApCiAJCQlyZXR1cm4gLTE7Ci0JCW8tPmJyYW5jaDEgPSBzYXZlZF9iMTsKLQkJby0+YnJhbmNoMiA9IHNhdmVkX2IyOwotCQlvLT5jYWxsX2RlcHRoLS07CisJCW9wdC0+YnJhbmNoMSA9IHNhdmVkX2IxOworCQlvcHQtPmJyYW5jaDIgPSBzYXZlZF9iMjsKKwkJb3B0LT5wcml2LT5jYWxsX2RlcHRoLS07CiAKLQkJaWYgKCFtZXJnZWRfY29tbW9uX2FuY2VzdG9ycykKLQkJCXJldHVybiBlcnIobywgXygibWVyZ2UgcmV0dXJuZWQgbm8gY29tbWl0IikpOworCQlpZiAoIW1lcmdlZF9tZXJnZV9iYXNlcykKKwkJCXJldHVybiBlcnIob3B0LCBfKCJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiKSk7CiAJfQogCi0JZGlzY2FyZF9jYWNoZSgpOwotCWlmICghby0+Y2FsbF9kZXB0aCkKLQkJcmVhZF9jYWNoZSgpOworCWRpc2NhcmRfaW5kZXgob3B0LT5yZXBvLT5pbmRleCk7CisJaWYgKCFvcHQtPnByaXYtPmNhbGxfZGVwdGgpCisJCXJlcG9fcmVhZF9pbmRleChvcHQtPnJlcG8pOwogCi0Jby0+YW5jZXN0b3IgPSAibWVyZ2VkIGNvbW1vbiBhbmNlc3RvcnMiOwotCWNsZWFuID0gbWVyZ2VfdHJlZXMobywgZ2V0X2NvbW1pdF90cmVlKGgxKSwgZ2V0X2NvbW1pdF90cmVlKGgyKSwKLQkJCSAgICBnZXRfY29tbWl0X3RyZWUobWVyZ2VkX2NvbW1vbl9hbmNlc3RvcnMpLAotCQkJICAgICZtcnRyZWUpOworCW9wdC0+YW5jZXN0b3IgPSBhbmNlc3Rvcl9uYW1lOworCWNsZWFuID0gbWVyZ2VfdHJlZXNfaW50ZXJuYWwob3B0LAorCQkJCSAgICAgcmVwb19nZXRfY29tbWl0X3RyZWUob3B0LT5yZXBvLCBoMSksCisJCQkJICAgICByZXBvX2dldF9jb21taXRfdHJlZShvcHQtPnJlcG8sIGgyKSwKKwkJCQkgICAgIHJlcG9fZ2V0X2NvbW1pdF90cmVlKG9wdC0+cmVwbywKKwkJCQkJCQkgIG1lcmdlZF9tZXJnZV9iYXNlcyksCisJCQkJICAgICAmcmVzdWx0X3RyZWUpOworCXN0cmJ1Zl9yZWxlYXNlKCZtZXJnZV9iYXNlX2FiYnJldik7CisJb3B0LT5hbmNlc3RvciA9IE5VTEw7ICAvKiBhdm9pZCBhY2NpZGVudGFsIHJlLXVzZSBvZiBvcHQtPmFuY2VzdG9yICovCiAJaWYgKGNsZWFuIDwgMCkgewotCQlmbHVzaF9vdXRwdXQobyk7CisJCWZsdXNoX291dHB1dChvcHQpOwogCQlyZXR1cm4gY2xlYW47CiAJfQogCi0JaWYgKG8tPmNhbGxfZGVwdGgpIHsKLQkJKnJlc3VsdCA9IG1ha2VfdmlydHVhbF9jb21taXQobXJ0cmVlLCAibWVyZ2VkIHRyZWUiKTsKKwlpZiAob3B0LT5wcml2LT5jYWxsX2RlcHRoKSB7CisJCSpyZXN1bHQgPSBtYWtlX3ZpcnR1YWxfY29tbWl0KG9wdC0+cmVwbywgcmVzdWx0X3RyZWUsCisJCQkJCSAgICAgICJtZXJnZWQgdHJlZSIpOwogCQljb21taXRfbGlzdF9pbnNlcnQoaDEsICYoKnJlc3VsdCktPnBhcmVudHMpOwogCQljb21taXRfbGlzdF9pbnNlcnQoaDIsICYoKnJlc3VsdCktPnBhcmVudHMtPm5leHQpOwogCX0KLQlmbHVzaF9vdXRwdXQobyk7Ci0JaWYgKCFvLT5jYWxsX2RlcHRoICYmIG8tPmJ1ZmZlcl9vdXRwdXQgPCAyKQotCQlzdHJidWZfcmVsZWFzZSgmby0+b2J1Zik7Ci0JaWYgKHNob3cobywgMikpCi0JCWRpZmZfd2Fybl9yZW5hbWVfbGltaXQoIm1lcmdlLnJlbmFtZWxpbWl0IiwKLQkJCQkgICAgICAgby0+bmVlZGVkX3JlbmFtZV9saW1pdCwgMCk7CiAJcmV0dXJuIGNsZWFuOwogfQogCi1zdGF0aWMgc3RydWN0IGNvbW1pdCAqZ2V0X3JlZihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKm5hbWUpCitzdGF0aWMgaW50IG1lcmdlX3N0YXJ0KHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsIHN0cnVjdCB0cmVlICpoZWFkKQoreworCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKworCS8qIFNhbml0eSBjaGVja3Mgb24gb3B0ICovCisJYXNzZXJ0KG9wdC0+cmVwbyk7CisKKwlhc3NlcnQob3B0LT5icmFuY2gxICYmIG9wdC0+YnJhbmNoMik7CisKKwlhc3NlcnQob3B0LT5kZXRlY3RfcmVuYW1lcyA+PSAtMSAmJgorCSAgICAgICBvcHQtPmRldGVjdF9yZW5hbWVzIDw9IERJRkZfREVURUNUX0NPUFkpOworCWFzc2VydChvcHQtPmRldGVjdF9kaXJlY3RvcnlfcmVuYW1lcyA+PSBNRVJHRV9ESVJFQ1RPUllfUkVOQU1FU19OT05FICYmCisJICAgICAgIG9wdC0+ZGV0ZWN0X2RpcmVjdG9yeV9yZW5hbWVzIDw9IE1FUkdFX0RJUkVDVE9SWV9SRU5BTUVTX1RSVUUpOworCWFzc2VydChvcHQtPnJlbmFtZV9saW1pdCA+PSAtMSk7CisJYXNzZXJ0KG9wdC0+cmVuYW1lX3Njb3JlID49IDAgJiYgb3B0LT5yZW5hbWVfc2NvcmUgPD0gTUFYX1NDT1JFKTsKKwlhc3NlcnQob3B0LT5zaG93X3JlbmFtZV9wcm9ncmVzcyA+PSAwICYmIG9wdC0+c2hvd19yZW5hbWVfcHJvZ3Jlc3MgPD0gMSk7CisKKwlhc3NlcnQob3B0LT54ZGxfb3B0cyA+PSAwKTsKKwlhc3NlcnQob3B0LT5yZWN1cnNpdmVfdmFyaWFudCA+PSBNRVJHRV9WQVJJQU5UX05PUk1BTCAmJgorCSAgICAgICBvcHQtPnJlY3Vyc2l2ZV92YXJpYW50IDw9IE1FUkdFX1ZBUklBTlRfVEhFSVJTKTsKKworCWFzc2VydChvcHQtPnZlcmJvc2l0eSA+PSAwICYmIG9wdC0+dmVyYm9zaXR5IDw9IDUpOworCWFzc2VydChvcHQtPmJ1ZmZlcl9vdXRwdXQgPD0gMik7CisJYXNzZXJ0KG9wdC0+b2J1Zi5sZW4gPT0gMCk7CisKKwlhc3NlcnQob3B0LT5wcml2ID09IE5VTEwpOworCisJLyogU2FuaXR5IGNoZWNrIG9uIHJlcG8gc3RhdGU7IGluZGV4IG11c3QgbWF0Y2ggaGVhZCAqLworCWlmIChyZXBvX2luZGV4X2hhc19jaGFuZ2VzKG9wdC0+cmVwbywgaGVhZCwgJnNiKSkgeworCQllcnIob3B0LCBfKCJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiAgJXMiKSwKKwkJICAgIHNiLmJ1Zik7CisJCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CisJCXJldHVybiAtMTsKKwl9CisKKwlvcHQtPnByaXYgPSB4Y2FsbG9jKDEsIHNpemVvZigqb3B0LT5wcml2KSk7CisJc3RyaW5nX2xpc3RfaW5pdCgmb3B0LT5wcml2LT5kZl9jb25mbGljdF9maWxlX3NldCwgMSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIG1lcmdlX2ZpbmFsaXplKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQpCit7CisJZmx1c2hfb3V0cHV0KG9wdCk7CisJaWYgKCFvcHQtPnByaXYtPmNhbGxfZGVwdGggJiYgb3B0LT5idWZmZXJfb3V0cHV0IDwgMikKKwkJc3RyYnVmX3JlbGVhc2UoJm9wdC0+b2J1Zik7CisJaWYgKHNob3cob3B0LCAyKSkKKwkJZGlmZl93YXJuX3JlbmFtZV9saW1pdCgibWVyZ2UucmVuYW1lbGltaXQiLAorCQkJCSAgICAgICBvcHQtPnByaXYtPm5lZWRlZF9yZW5hbWVfbGltaXQsIDApOworCUZSRUVfQU5EX05VTEwob3B0LT5wcml2KTsKK30KKworaW50IG1lcmdlX3RyZWVzKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsCisJCXN0cnVjdCB0cmVlICpoZWFkLAorCQlzdHJ1Y3QgdHJlZSAqbWVyZ2UsCisJCXN0cnVjdCB0cmVlICptZXJnZV9iYXNlKQoreworCWludCBjbGVhbjsKKwlzdHJ1Y3QgdHJlZSAqaWdub3JlZDsKKworCWFzc2VydChvcHQtPmFuY2VzdG9yICE9IE5VTEwpOworCisJaWYgKG1lcmdlX3N0YXJ0KG9wdCwgaGVhZCkpCisJCXJldHVybiAtMTsKKwljbGVhbiA9IG1lcmdlX3RyZWVzX2ludGVybmFsKG9wdCwgaGVhZCwgbWVyZ2UsIG1lcmdlX2Jhc2UsICZpZ25vcmVkKTsKKwltZXJnZV9maW5hbGl6ZShvcHQpOworCisJcmV0dXJuIGNsZWFuOworfQorCitpbnQgbWVyZ2VfcmVjdXJzaXZlKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsCisJCSAgICBzdHJ1Y3QgY29tbWl0ICpoMSwKKwkJICAgIHN0cnVjdCBjb21taXQgKmgyLAorCQkgICAgc3RydWN0IGNvbW1pdF9saXN0ICptZXJnZV9iYXNlcywKKwkJICAgIHN0cnVjdCBjb21taXQgKipyZXN1bHQpCit7CisJaW50IGNsZWFuOworCisJYXNzZXJ0KG9wdC0+YW5jZXN0b3IgPT0gTlVMTCB8fAorCSAgICAgICAhc3RyY21wKG9wdC0+YW5jZXN0b3IsICJjb25zdHJ1Y3RlZCBtZXJnZSBiYXNlIikpOworCisJaWYgKG1lcmdlX3N0YXJ0KG9wdCwgcmVwb19nZXRfY29tbWl0X3RyZWUob3B0LT5yZXBvLCBoMSkpKQorCQlyZXR1cm4gLTE7CisJY2xlYW4gPSBtZXJnZV9yZWN1cnNpdmVfaW50ZXJuYWwob3B0LCBoMSwgaDIsIG1lcmdlX2Jhc2VzLCByZXN1bHQpOworCW1lcmdlX2ZpbmFsaXplKG9wdCk7CisKKwlyZXR1cm4gY2xlYW47Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY29tbWl0ICpnZXRfcmVmKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJICAgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJICAgICAgY29uc3QgY2hhciAqbmFtZSkKIHsKIAlzdHJ1Y3Qgb2JqZWN0ICpvYmplY3Q7CiAKLQlvYmplY3QgPSBkZXJlZl90YWcodGhlX3JlcG9zaXRvcnksIHBhcnNlX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgb2lkKSwKLQkJCSAgIG5hbWUsCi0JCQkgICBzdHJsZW4obmFtZSkpOworCW9iamVjdCA9IGRlcmVmX3RhZyhyZXBvLCBwYXJzZV9vYmplY3QocmVwbywgb2lkKSwKKwkJCSAgIG5hbWUsIHN0cmxlbihuYW1lKSk7CiAJaWYgKCFvYmplY3QpCiAJCXJldHVybiBOVUxMOwogCWlmIChvYmplY3QtPnR5cGUgPT0gT0JKX1RSRUUpCi0JCXJldHVybiBtYWtlX3ZpcnR1YWxfY29tbWl0KChzdHJ1Y3QgdHJlZSopb2JqZWN0LCBuYW1lKTsKKwkJcmV0dXJuIG1ha2VfdmlydHVhbF9jb21taXQocmVwbywgKHN0cnVjdCB0cmVlKilvYmplY3QsIG5hbWUpOwogCWlmIChvYmplY3QtPnR5cGUgIT0gT0JKX0NPTU1JVCkKIAkJcmV0dXJuIE5VTEw7CiAJaWYgKHBhcnNlX2NvbW1pdCgoc3RydWN0IGNvbW1pdCAqKW9iamVjdCkpCkBAIC0zNTE2LDEzNSArMzczNCwxNTggQEAKIAlyZXR1cm4gKHN0cnVjdCBjb21taXQgKilvYmplY3Q7CiB9CiAKLWludCBtZXJnZV9yZWN1cnNpdmVfZ2VuZXJpYyhzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKK2ludCBtZXJnZV9yZWN1cnNpdmVfZ2VuZXJpYyhzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LAogCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmhlYWQsCiAJCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqbWVyZ2UsCi0JCQkgICAgaW50IG51bV9iYXNlX2xpc3QsCi0JCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqKmJhc2VfbGlzdCwKKwkJCSAgICBpbnQgbnVtX21lcmdlX2Jhc2VzLAorCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKiptZXJnZV9iYXNlcywKIAkJCSAgICBzdHJ1Y3QgY29tbWl0ICoqcmVzdWx0KQogewogCWludCBjbGVhbjsKIAlzdHJ1Y3QgbG9ja19maWxlIGxvY2sgPSBMT0NLX0lOSVQ7Ci0Jc3RydWN0IGNvbW1pdCAqaGVhZF9jb21taXQgPSBnZXRfcmVmKGhlYWQsIG8tPmJyYW5jaDEpOwotCXN0cnVjdCBjb21taXQgKm5leHRfY29tbWl0ID0gZ2V0X3JlZihtZXJnZSwgby0+YnJhbmNoMik7CisJc3RydWN0IGNvbW1pdCAqaGVhZF9jb21taXQgPSBnZXRfcmVmKG9wdC0+cmVwbywgaGVhZCwgb3B0LT5icmFuY2gxKTsKKwlzdHJ1Y3QgY29tbWl0ICpuZXh0X2NvbW1pdCA9IGdldF9yZWYob3B0LT5yZXBvLCBtZXJnZSwgb3B0LT5icmFuY2gyKTsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKmNhID0gTlVMTDsKIAotCWlmIChiYXNlX2xpc3QpIHsKKwlpZiAobWVyZ2VfYmFzZXMpIHsKIAkJaW50IGk7Ci0JCWZvciAoaSA9IDA7IGkgPCBudW1fYmFzZV9saXN0OyArK2kpIHsKKwkJZm9yIChpID0gMDsgaSA8IG51bV9tZXJnZV9iYXNlczsgKytpKSB7CiAJCQlzdHJ1Y3QgY29tbWl0ICpiYXNlOwotCQkJaWYgKCEoYmFzZSA9IGdldF9yZWYoYmFzZV9saXN0W2ldLCBvaWRfdG9faGV4KGJhc2VfbGlzdFtpXSkpKSkKLQkJCQlyZXR1cm4gZXJyKG8sIF8oIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIpLAotCQkJCQkgICBvaWRfdG9faGV4KGJhc2VfbGlzdFtpXSkpOworCQkJaWYgKCEoYmFzZSA9IGdldF9yZWYob3B0LT5yZXBvLCBtZXJnZV9iYXNlc1tpXSwKKwkJCQkJICAgICBvaWRfdG9faGV4KG1lcmdlX2Jhc2VzW2ldKSkpKQorCQkJCXJldHVybiBlcnIob3B0LCBfKCJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciKSwKKwkJCQkJICAgb2lkX3RvX2hleChtZXJnZV9iYXNlc1tpXSkpOwogCQkJY29tbWl0X2xpc3RfaW5zZXJ0KGJhc2UsICZjYSk7CiAJCX0KKwkJaWYgKG51bV9tZXJnZV9iYXNlcyA9PSAxKQorCQkJb3B0LT5hbmNlc3RvciA9ICJjb25zdHJ1Y3RlZCBtZXJnZSBiYXNlIjsKIAl9CiAKLQlob2xkX2xvY2tlZF9pbmRleCgmbG9jaywgTE9DS19ESUVfT05fRVJST1IpOwotCWNsZWFuID0gbWVyZ2VfcmVjdXJzaXZlKG8sIGhlYWRfY29tbWl0LCBuZXh0X2NvbW1pdCwgY2EsCisJcmVwb19ob2xkX2xvY2tlZF9pbmRleChvcHQtPnJlcG8sICZsb2NrLCBMT0NLX0RJRV9PTl9FUlJPUik7CisJY2xlYW4gPSBtZXJnZV9yZWN1cnNpdmUob3B0LCBoZWFkX2NvbW1pdCwgbmV4dF9jb21taXQsIGNhLAogCQkJCXJlc3VsdCk7CiAJaWYgKGNsZWFuIDwgMCkgewogCQlyb2xsYmFja19sb2NrX2ZpbGUoJmxvY2spOwogCQlyZXR1cm4gY2xlYW47CiAJfQogCi0JaWYgKHdyaXRlX2xvY2tlZF9pbmRleCgmdGhlX2luZGV4LCAmbG9jaywKKwlpZiAod3JpdGVfbG9ja2VkX2luZGV4KG9wdC0+cmVwby0+aW5kZXgsICZsb2NrLAogCQkJICAgICAgIENPTU1JVF9MT0NLIHwgU0tJUF9JRl9VTkNIQU5HRUQpKQotCQlyZXR1cm4gZXJyKG8sIF8oIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iKSk7CisJCXJldHVybiBlcnIob3B0LCBfKCJVbmFibGUgdG8gd3JpdGUgaW5kZXguIikpOwogCiAJcmV0dXJuIGNsZWFuID8gMCA6IDE7CiB9CiAKLXN0YXRpYyB2b2lkIG1lcmdlX3JlY3Vyc2l2ZV9jb25maWcoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8pCitzdGF0aWMgdm9pZCBtZXJnZV9yZWN1cnNpdmVfY29uZmlnKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQpCiB7CiAJY2hhciAqdmFsdWUgPSBOVUxMOwotCWdpdF9jb25maWdfZ2V0X2ludCgibWVyZ2UudmVyYm9zaXR5IiwgJm8tPnZlcmJvc2l0eSk7Ci0JZ2l0X2NvbmZpZ19nZXRfaW50KCJkaWZmLnJlbmFtZWxpbWl0IiwgJm8tPmRpZmZfcmVuYW1lX2xpbWl0KTsKLQlnaXRfY29uZmlnX2dldF9pbnQoIm1lcmdlLnJlbmFtZWxpbWl0IiwgJm8tPm1lcmdlX3JlbmFtZV9saW1pdCk7CisJZ2l0X2NvbmZpZ19nZXRfaW50KCJtZXJnZS52ZXJib3NpdHkiLCAmb3B0LT52ZXJib3NpdHkpOworCWdpdF9jb25maWdfZ2V0X2ludCgiZGlmZi5yZW5hbWVsaW1pdCIsICZvcHQtPnJlbmFtZV9saW1pdCk7CisJZ2l0X2NvbmZpZ19nZXRfaW50KCJtZXJnZS5yZW5hbWVsaW1pdCIsICZvcHQtPnJlbmFtZV9saW1pdCk7CiAJaWYgKCFnaXRfY29uZmlnX2dldF9zdHJpbmcoImRpZmYucmVuYW1lcyIsICZ2YWx1ZSkpIHsKLQkJby0+ZGlmZl9kZXRlY3RfcmVuYW1lID0gZ2l0X2NvbmZpZ19yZW5hbWUoImRpZmYucmVuYW1lcyIsIHZhbHVlKTsKKwkJb3B0LT5kZXRlY3RfcmVuYW1lcyA9IGdpdF9jb25maWdfcmVuYW1lKCJkaWZmLnJlbmFtZXMiLCB2YWx1ZSk7CiAJCWZyZWUodmFsdWUpOwogCX0KIAlpZiAoIWdpdF9jb25maWdfZ2V0X3N0cmluZygibWVyZ2UucmVuYW1lcyIsICZ2YWx1ZSkpIHsKLQkJby0+bWVyZ2VfZGV0ZWN0X3JlbmFtZSA9IGdpdF9jb25maWdfcmVuYW1lKCJtZXJnZS5yZW5hbWVzIiwgdmFsdWUpOworCQlvcHQtPmRldGVjdF9yZW5hbWVzID0gZ2l0X2NvbmZpZ19yZW5hbWUoIm1lcmdlLnJlbmFtZXMiLCB2YWx1ZSk7CisJCWZyZWUodmFsdWUpOworCX0KKwlpZiAoIWdpdF9jb25maWdfZ2V0X3N0cmluZygibWVyZ2UuZGlyZWN0b3J5cmVuYW1lcyIsICZ2YWx1ZSkpIHsKKwkJaW50IGJvb2x2YWwgPSBnaXRfcGFyc2VfbWF5YmVfYm9vbCh2YWx1ZSk7CisJCWlmICgwIDw9IGJvb2x2YWwpIHsKKwkJCW9wdC0+ZGV0ZWN0X2RpcmVjdG9yeV9yZW5hbWVzID0gYm9vbHZhbCA/CisJCQkJTUVSR0VfRElSRUNUT1JZX1JFTkFNRVNfVFJVRSA6CisJCQkJTUVSR0VfRElSRUNUT1JZX1JFTkFNRVNfTk9ORTsKKwkJfSBlbHNlIGlmICghc3RyY2FzZWNtcCh2YWx1ZSwgImNvbmZsaWN0IikpIHsKKwkJCW9wdC0+ZGV0ZWN0X2RpcmVjdG9yeV9yZW5hbWVzID0KKwkJCQlNRVJHRV9ESVJFQ1RPUllfUkVOQU1FU19DT05GTElDVDsKKwkJfSAvKiBhdm9pZCBlcnJvcmluZyBvbiB2YWx1ZXMgZnJvbSBmdXR1cmUgdmVyc2lvbnMgb2YgZ2l0ICovCiAJCWZyZWUodmFsdWUpOwogCX0KIAlnaXRfY29uZmlnKGdpdF94bWVyZ2VfY29uZmlnLCBOVUxMKTsKIH0KIAotdm9pZCBpbml0X21lcmdlX29wdGlvbnMoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8pCit2b2lkIGluaXRfbWVyZ2Vfb3B0aW9ucyhzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LAorCQkJc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8pCiB7CiAJY29uc3QgY2hhciAqbWVyZ2VfdmVyYm9zaXR5OwotCW1lbXNldChvLCAwLCBzaXplb2Yoc3RydWN0IG1lcmdlX29wdGlvbnMpKTsKLQlvLT52ZXJib3NpdHkgPSAyOwotCW8tPmJ1ZmZlcl9vdXRwdXQgPSAxOwotCW8tPmRpZmZfcmVuYW1lX2xpbWl0ID0gLTE7Ci0Jby0+bWVyZ2VfcmVuYW1lX2xpbWl0ID0gLTE7Ci0Jby0+cmVub3JtYWxpemUgPSAwOwotCW8tPmRpZmZfZGV0ZWN0X3JlbmFtZSA9IC0xOwotCW8tPm1lcmdlX2RldGVjdF9yZW5hbWUgPSAtMTsKLQlvLT5kZXRlY3RfZGlyZWN0b3J5X3JlbmFtZXMgPSAxOwotCW1lcmdlX3JlY3Vyc2l2ZV9jb25maWcobyk7CisJbWVtc2V0KG9wdCwgMCwgc2l6ZW9mKHN0cnVjdCBtZXJnZV9vcHRpb25zKSk7CisKKwlvcHQtPnJlcG8gPSByZXBvOworCisJb3B0LT5kZXRlY3RfcmVuYW1lcyA9IC0xOworCW9wdC0+ZGV0ZWN0X2RpcmVjdG9yeV9yZW5hbWVzID0gTUVSR0VfRElSRUNUT1JZX1JFTkFNRVNfQ09ORkxJQ1Q7CisJb3B0LT5yZW5hbWVfbGltaXQgPSAtMTsKKworCW9wdC0+dmVyYm9zaXR5ID0gMjsKKwlvcHQtPmJ1ZmZlcl9vdXRwdXQgPSAxOworCXN0cmJ1Zl9pbml0KCZvcHQtPm9idWYsIDApOworCisJb3B0LT5yZW5vcm1hbGl6ZSA9IDA7CisKKwltZXJnZV9yZWN1cnNpdmVfY29uZmlnKG9wdCk7CiAJbWVyZ2VfdmVyYm9zaXR5ID0gZ2V0ZW52KCJHSVRfTUVSR0VfVkVSQk9TSVRZIik7CiAJaWYgKG1lcmdlX3ZlcmJvc2l0eSkKLQkJby0+dmVyYm9zaXR5ID0gc3RydG9sKG1lcmdlX3ZlcmJvc2l0eSwgTlVMTCwgMTApOwotCWlmIChvLT52ZXJib3NpdHkgPj0gNSkKLQkJby0+YnVmZmVyX291dHB1dCA9IDA7Ci0Jc3RyYnVmX2luaXQoJm8tPm9idWYsIDApOwotCXN0cmluZ19saXN0X2luaXQoJm8tPmRmX2NvbmZsaWN0X2ZpbGVfc2V0LCAxKTsKKwkJb3B0LT52ZXJib3NpdHkgPSBzdHJ0b2wobWVyZ2VfdmVyYm9zaXR5LCBOVUxMLCAxMCk7CisJaWYgKG9wdC0+dmVyYm9zaXR5ID49IDUpCisJCW9wdC0+YnVmZmVyX291dHB1dCA9IDA7CiB9CiAKLWludCBwYXJzZV9tZXJnZV9vcHQoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8sIGNvbnN0IGNoYXIgKnMpCitpbnQgcGFyc2VfbWVyZ2Vfb3B0KHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsIGNvbnN0IGNoYXIgKnMpCiB7CiAJY29uc3QgY2hhciAqYXJnOwogCiAJaWYgKCFzIHx8ICEqcykKIAkJcmV0dXJuIC0xOwogCWlmICghc3RyY21wKHMsICJvdXJzIikpCi0JCW8tPnJlY3Vyc2l2ZV92YXJpYW50ID0gTUVSR0VfUkVDVVJTSVZFX09VUlM7CisJCW9wdC0+cmVjdXJzaXZlX3ZhcmlhbnQgPSBNRVJHRV9WQVJJQU5UX09VUlM7CiAJZWxzZSBpZiAoIXN0cmNtcChzLCAidGhlaXJzIikpCi0JCW8tPnJlY3Vyc2l2ZV92YXJpYW50ID0gTUVSR0VfUkVDVVJTSVZFX1RIRUlSUzsKKwkJb3B0LT5yZWN1cnNpdmVfdmFyaWFudCA9IE1FUkdFX1ZBUklBTlRfVEhFSVJTOwogCWVsc2UgaWYgKCFzdHJjbXAocywgInN1YnRyZWUiKSkKLQkJby0+c3VidHJlZV9zaGlmdCA9ICIiOworCQlvcHQtPnN1YnRyZWVfc2hpZnQgPSAiIjsKIAllbHNlIGlmIChza2lwX3ByZWZpeChzLCAic3VidHJlZT0iLCAmYXJnKSkKLQkJby0+c3VidHJlZV9zaGlmdCA9IGFyZzsKKwkJb3B0LT5zdWJ0cmVlX3NoaWZ0ID0gYXJnOwogCWVsc2UgaWYgKCFzdHJjbXAocywgInBhdGllbmNlIikpCi0JCW8tPnhkbF9vcHRzID0gRElGRl9XSVRIX0FMRyhvLCBQQVRJRU5DRV9ESUZGKTsKKwkJb3B0LT54ZGxfb3B0cyA9IERJRkZfV0lUSF9BTEcob3B0LCBQQVRJRU5DRV9ESUZGKTsKIAllbHNlIGlmICghc3RyY21wKHMsICJoaXN0b2dyYW0iKSkKLQkJby0+eGRsX29wdHMgPSBESUZGX1dJVEhfQUxHKG8sIEhJU1RPR1JBTV9ESUZGKTsKKwkJb3B0LT54ZGxfb3B0cyA9IERJRkZfV0lUSF9BTEcob3B0LCBISVNUT0dSQU1fRElGRik7CiAJZWxzZSBpZiAoc2tpcF9wcmVmaXgocywgImRpZmYtYWxnb3JpdGhtPSIsICZhcmcpKSB7CiAJCWxvbmcgdmFsdWUgPSBwYXJzZV9hbGdvcml0aG1fdmFsdWUoYXJnKTsKIAkJaWYgKHZhbHVlIDwgMCkKIAkJCXJldHVybiAtMTsKIAkJLyogY2xlYXIgb3V0IHByZXZpb3VzIHNldHRpbmdzICovCi0JCURJRkZfWERMX0NMUihvLCBORUVEX01JTklNQUwpOwotCQlvLT54ZGxfb3B0cyAmPSB+WERGX0RJRkZfQUxHT1JJVEhNX01BU0s7Ci0JCW8tPnhkbF9vcHRzIHw9IHZhbHVlOworCQlESUZGX1hETF9DTFIob3B0LCBORUVEX01JTklNQUwpOworCQlvcHQtPnhkbF9vcHRzICY9IH5YREZfRElGRl9BTEdPUklUSE1fTUFTSzsKKwkJb3B0LT54ZGxfb3B0cyB8PSB2YWx1ZTsKIAl9CiAJZWxzZSBpZiAoIXN0cmNtcChzLCAiaWdub3JlLXNwYWNlLWNoYW5nZSIpKQotCQlESUZGX1hETF9TRVQobywgSUdOT1JFX1dISVRFU1BBQ0VfQ0hBTkdFKTsKKwkJRElGRl9YRExfU0VUKG9wdCwgSUdOT1JFX1dISVRFU1BBQ0VfQ0hBTkdFKTsKIAllbHNlIGlmICghc3RyY21wKHMsICJpZ25vcmUtYWxsLXNwYWNlIikpCi0JCURJRkZfWERMX1NFVChvLCBJR05PUkVfV0hJVEVTUEFDRSk7CisJCURJRkZfWERMX1NFVChvcHQsIElHTk9SRV9XSElURVNQQUNFKTsKIAllbHNlIGlmICghc3RyY21wKHMsICJpZ25vcmUtc3BhY2UtYXQtZW9sIikpCi0JCURJRkZfWERMX1NFVChvLCBJR05PUkVfV0hJVEVTUEFDRV9BVF9FT0wpOworCQlESUZGX1hETF9TRVQob3B0LCBJR05PUkVfV0hJVEVTUEFDRV9BVF9FT0wpOwogCWVsc2UgaWYgKCFzdHJjbXAocywgImlnbm9yZS1jci1hdC1lb2wiKSkKLQkJRElGRl9YRExfU0VUKG8sIElHTk9SRV9DUl9BVF9FT0wpOworCQlESUZGX1hETF9TRVQob3B0LCBJR05PUkVfQ1JfQVRfRU9MKTsKIAllbHNlIGlmICghc3RyY21wKHMsICJyZW5vcm1hbGl6ZSIpKQotCQlvLT5yZW5vcm1hbGl6ZSA9IDE7CisJCW9wdC0+cmVub3JtYWxpemUgPSAxOwogCWVsc2UgaWYgKCFzdHJjbXAocywgIm5vLXJlbm9ybWFsaXplIikpCi0JCW8tPnJlbm9ybWFsaXplID0gMDsKKwkJb3B0LT5yZW5vcm1hbGl6ZSA9IDA7CiAJZWxzZSBpZiAoIXN0cmNtcChzLCAibm8tcmVuYW1lcyIpKQotCQlvLT5tZXJnZV9kZXRlY3RfcmVuYW1lID0gMDsKKwkJb3B0LT5kZXRlY3RfcmVuYW1lcyA9IDA7CiAJZWxzZSBpZiAoIXN0cmNtcChzLCAiZmluZC1yZW5hbWVzIikpIHsKLQkJby0+bWVyZ2VfZGV0ZWN0X3JlbmFtZSA9IDE7Ci0JCW8tPnJlbmFtZV9zY29yZSA9IDA7CisJCW9wdC0+ZGV0ZWN0X3JlbmFtZXMgPSAxOworCQlvcHQtPnJlbmFtZV9zY29yZSA9IDA7CiAJfQogCWVsc2UgaWYgKHNraXBfcHJlZml4KHMsICJmaW5kLXJlbmFtZXM9IiwgJmFyZykgfHwKIAkJIHNraXBfcHJlZml4KHMsICJyZW5hbWUtdGhyZXNob2xkPSIsICZhcmcpKSB7Ci0JCWlmICgoby0+cmVuYW1lX3Njb3JlID0gcGFyc2VfcmVuYW1lX3Njb3JlKCZhcmcpKSA9PSAtMSB8fCAqYXJnICE9IDApCisJCWlmICgob3B0LT5yZW5hbWVfc2NvcmUgPSBwYXJzZV9yZW5hbWVfc2NvcmUoJmFyZykpID09IC0xIHx8ICphcmcgIT0gMCkKIAkJCXJldHVybiAtMTsKLQkJby0+bWVyZ2VfZGV0ZWN0X3JlbmFtZSA9IDE7CisJCW9wdC0+ZGV0ZWN0X3JlbmFtZXMgPSAxOwogCX0KKwkvKgorCSAqIFBsZWFzZSB1cGRhdGUgJF9fZ2l0X21lcmdlX3N0cmF0ZWd5X29wdGlvbnMgaW4KKwkgKiBnaXQtY29tcGxldGlvbi5iYXNoIHdoZW4geW91IGFkZCBuZXcgb3B0aW9ucworCSAqLwogCWVsc2UKIAkJcmV0dXJuIC0xOwogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvbWVyZ2UtcmVjdXJzaXZlLmggYi9tZXJnZS1yZWN1cnNpdmUuaAppbmRleCBlNmEwODI4Li45Nzg4NDdlIDEwMDY0NAotLS0gYS9tZXJnZS1yZWN1cnNpdmUuaAorKysgYi9tZXJnZS1yZWN1cnNpdmUuaApAQCAtMSwxMDAgKzEsMTI0IEBACiAjaWZuZGVmIE1FUkdFX1JFQ1VSU0lWRV9ICiAjZGVmaW5lIE1FUkdFX1JFQ1VSU0lWRV9ICiAKLSNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgotI2luY2x1ZGUgInVucGFjay10cmVlcy5oIgorI2luY2x1ZGUgInN0cmJ1Zi5oIgogCiBzdHJ1Y3QgY29tbWl0Oworc3RydWN0IGNvbW1pdF9saXN0Oworc3RydWN0IG9iamVjdF9pZDsKK3N0cnVjdCByZXBvc2l0b3J5Oworc3RydWN0IHRyZWU7CiAKK3N0cnVjdCBtZXJnZV9vcHRpb25zX2ludGVybmFsOwogc3RydWN0IG1lcmdlX29wdGlvbnMgeworCXN0cnVjdCByZXBvc2l0b3J5ICpyZXBvOworCisJLyogcmVmIG5hbWVzIHVzZWQgaW4gY29uc29sZSBtZXNzYWdlcyBhbmQgY29uZmxpY3QgbWFya2VycyAqLwogCWNvbnN0IGNoYXIgKmFuY2VzdG9yOwogCWNvbnN0IGNoYXIgKmJyYW5jaDE7CiAJY29uc3QgY2hhciAqYnJhbmNoMjsKKworCS8qIHJlbmFtZSByZWxhdGVkIG9wdGlvbnMgKi8KKwlpbnQgZGV0ZWN0X3JlbmFtZXM7CiAJZW51bSB7Ci0JCU1FUkdFX1JFQ1VSU0lWRV9OT1JNQUwgPSAwLAotCQlNRVJHRV9SRUNVUlNJVkVfT1VSUywKLQkJTUVSR0VfUkVDVVJTSVZFX1RIRUlSUwotCX0gcmVjdXJzaXZlX3ZhcmlhbnQ7Ci0JY29uc3QgY2hhciAqc3VidHJlZV9zaGlmdDsKLQl1bnNpZ25lZCBidWZmZXJfb3V0cHV0OyAvKiAxOiBvdXRwdXQgYXQgZW5kLCAyOiBrZWVwIGJ1ZmZlcmVkICovCi0JdW5zaWduZWQgcmVub3JtYWxpemUgOiAxOwotCWxvbmcgeGRsX29wdHM7Ci0JaW50IHZlcmJvc2l0eTsKLQlpbnQgZGV0ZWN0X2RpcmVjdG9yeV9yZW5hbWVzOwotCWludCBkaWZmX2RldGVjdF9yZW5hbWU7Ci0JaW50IG1lcmdlX2RldGVjdF9yZW5hbWU7Ci0JaW50IGRpZmZfcmVuYW1lX2xpbWl0OwotCWludCBtZXJnZV9yZW5hbWVfbGltaXQ7CisJCU1FUkdFX0RJUkVDVE9SWV9SRU5BTUVTX05PTkUgPSAwLAorCQlNRVJHRV9ESVJFQ1RPUllfUkVOQU1FU19DT05GTElDVCA9IDEsCisJCU1FUkdFX0RJUkVDVE9SWV9SRU5BTUVTX1RSVUUgPSAyCisJfSBkZXRlY3RfZGlyZWN0b3J5X3JlbmFtZXM7CisJaW50IHJlbmFtZV9saW1pdDsKIAlpbnQgcmVuYW1lX3Njb3JlOwotCWludCBuZWVkZWRfcmVuYW1lX2xpbWl0OwogCWludCBzaG93X3JlbmFtZV9wcm9ncmVzczsKLQlpbnQgY2FsbF9kZXB0aDsKLQlzdHJ1Y3Qgc3RyYnVmIG9idWY7Ci0Jc3RydWN0IGhhc2htYXAgY3VycmVudF9maWxlX2Rpcl9zZXQ7Ci0Jc3RydWN0IHN0cmluZ19saXN0IGRmX2NvbmZsaWN0X2ZpbGVfc2V0OwotCXN0cnVjdCB1bnBhY2tfdHJlZXNfb3B0aW9ucyB1bnBhY2tfb3B0czsKLQlzdHJ1Y3QgaW5kZXhfc3RhdGUgb3JpZ19pbmRleDsKKworCS8qIHhkaWZmLXJlbGF0ZWQgb3B0aW9ucyAocGF0aWVuY2UsIGlnbm9yZSB3aGl0ZXNwYWNlLCBvdXJzL3RoZWlycykgKi8KKwlsb25nIHhkbF9vcHRzOworCWVudW0geworCQlNRVJHRV9WQVJJQU5UX05PUk1BTCA9IDAsCisJCU1FUkdFX1ZBUklBTlRfT1VSUywKKwkJTUVSR0VfVkFSSUFOVF9USEVJUlMKKwl9IHJlY3Vyc2l2ZV92YXJpYW50OworCisJLyogY29uc29sZSBvdXRwdXQgcmVsYXRlZCBvcHRpb25zICovCisJaW50IHZlcmJvc2l0eTsKKwl1bnNpZ25lZCBidWZmZXJfb3V0cHV0OyAvKiAxOiBvdXRwdXQgYXQgZW5kLCAyOiBrZWVwIGJ1ZmZlcmVkICovCisJc3RydWN0IHN0cmJ1ZiBvYnVmOyAgICAgLyogb3V0cHV0IGJ1ZmZlcjsgaWYgYnVmZmVyX291dHB1dCA9PSAyLCBjYWxsZXIKKwkJCQkgKiBtdXN0IGhhbmRsZSBhbmQgY2FsbCBzdHJidWZfcmVsZWFzZSAqLworCisJLyogbWlzY2VsbGFuZW91cyBjb250cm9sIG9wdGlvbnMgKi8KKwljb25zdCBjaGFyICpzdWJ0cmVlX3NoaWZ0OworCXVuc2lnbmVkIHJlbm9ybWFsaXplIDogMTsKKworCS8qIGludGVybmFsIGZpZWxkcyB1c2VkIGJ5IHRoZSBpbXBsZW1lbnRhdGlvbiAqLworCXN0cnVjdCBtZXJnZV9vcHRpb25zX2ludGVybmFsICpwcml2OwogfTsKIAordm9pZCBpbml0X21lcmdlX29wdGlvbnMoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8pOworCisvKiBwYXJzZSB0aGUgb3B0aW9uIGluIHMgYW5kIHVwZGF0ZSB0aGUgcmVsZXZhbnQgZmllbGQgb2Ygb3B0ICovCitpbnQgcGFyc2VfbWVyZ2Vfb3B0KHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsIGNvbnN0IGNoYXIgKnMpOworCiAvKgotICogRm9yIGRpcl9yZW5hbWVfZW50cnksIGRpcmVjdG9yeSBuYW1lcyBhcmUgc3RvcmVkIGFzIGEgZnVsbCBwYXRoIGZyb20gdGhlCi0gKiB0b3BsZXZlbCBvZiB0aGUgcmVwb3NpdG9yeSBhbmQgZG8gbm90IGluY2x1ZGUgYSB0cmFpbGluZyAnLycuICBBbHNvOgotICoKLSAqICAgZGlyOiAgICAgICAgICAgICAgICBvcmlnaW5hbCBuYW1lIG9mIGRpcmVjdG9yeSBiZWluZyByZW5hbWVkCi0gKiAgIG5vbl91bmlxdWVfbmV3X2RpcjogaWYgdHJ1ZSwgY291bGQgbm90IGRldGVybWluZSBuZXdfZGlyCi0gKiAgIG5ld19kaXI6ICAgICAgICAgICAgZmluYWwgbmFtZSBvZiBkaXJlY3RvcnkgYmVpbmcgcmVuYW1lZAotICogICBwb3NzaWJsZV9uZXdfZGlyczogIHRlbXBvcmFyeSB1c2VkIHRvIGhlbHAgZGV0ZXJtaW5lIG5ld19kaXI7IHNlZSBjb21tZW50cwotICogICAgICAgICAgICAgICAgICAgICAgIGluIGdldF9kaXJlY3RvcnlfcmVuYW1lcygpIGZvciBkZXRhaWxzCisgKiBSRVRVUk4gVkFMVUVTOiBBbGwgdGhlIG1lcmdlXyogZnVuY3Rpb25zIGJlbG93IHJldHVybiBhIHZhbHVlIGFzIGZvbGxvd3M6CisgKiAgID4gMCAgICAgTWVyZ2Ugd2FzIGNsZWFuCisgKiAgID0gMCAgICAgTWVyZ2UgaGFkIGNvbmZsaWN0cworICogICA8IDAgICAgIE1lcmdlIGhpdCBhbiB1bmV4cGVjdGVkIGFuZCB1bnJlY292ZXJhYmxlIHByb2JsZW0gKGUuZy4gZGlzaworICogICAgICAgICAgICAgZnVsbCkgYW5kIGFib3J0ZWQgbWVyZ2UgcGFydC13YXkgdGhyb3VnaC4KICAqLwotc3RydWN0IGRpcl9yZW5hbWVfZW50cnkgewotCXN0cnVjdCBoYXNobWFwX2VudHJ5IGVudDsgLyogbXVzdCBiZSB0aGUgZmlyc3QgbWVtYmVyISAqLwotCWNoYXIgKmRpcjsKLQl1bnNpZ25lZCBub25fdW5pcXVlX25ld19kaXI6MTsKLQlzdHJ1Y3Qgc3RyYnVmIG5ld19kaXI7Ci0Jc3RydWN0IHN0cmluZ19saXN0IHBvc3NpYmxlX25ld19kaXJzOwotfTsKIAotc3RydWN0IGNvbGxpc2lvbl9lbnRyeSB7Ci0Jc3RydWN0IGhhc2htYXBfZW50cnkgZW50OyAvKiBtdXN0IGJlIHRoZSBmaXJzdCBtZW1iZXIhICovCi0JY2hhciAqdGFyZ2V0X2ZpbGU7Ci0Jc3RydWN0IHN0cmluZ19saXN0IHNvdXJjZV9maWxlczsKLQl1bnNpZ25lZCByZXBvcnRlZF9hbHJlYWR5OjE7Ci19OwotCi1zdGF0aWMgaW5saW5lIGludCBtZXJnZV9kZXRlY3RfcmVuYW1lKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvKQotewotCXJldHVybiBvLT5tZXJnZV9kZXRlY3RfcmVuYW1lID49IDAgPyBvLT5tZXJnZV9kZXRlY3RfcmVuYW1lIDoKLQkJby0+ZGlmZl9kZXRlY3RfcmVuYW1lID49IDAgPyBvLT5kaWZmX2RldGVjdF9yZW5hbWUgOiAxOwotfQotCi0vKiBtZXJnZV90cmVlcygpIGJ1dCB3aXRoIHJlY3Vyc2l2ZSBhbmNlc3RvciBjb25zb2xpZGF0aW9uICovCi1pbnQgbWVyZ2VfcmVjdXJzaXZlKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAotCQkgICAgc3RydWN0IGNvbW1pdCAqaDEsCi0JCSAgICBzdHJ1Y3QgY29tbWl0ICpoMiwKLQkJICAgIHN0cnVjdCBjb21taXRfbGlzdCAqYW5jZXN0b3JzLAotCQkgICAgc3RydWN0IGNvbW1pdCAqKnJlc3VsdCk7Ci0KLS8qIHJlbmFtZS1kZXRlY3RpbmcgdGhyZWUtd2F5IG1lcmdlLCBubyByZWN1cnNpb24gKi8KLWludCBtZXJnZV90cmVlcyhzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqbywKKy8qCisgKiByZW5hbWUtZGV0ZWN0aW5nIHRocmVlLXdheSBtZXJnZSwgbm8gcmVjdXJzaW9uLgorICoKKyAqIE91dHB1dHM6CisgKiAgIC0gU2VlIFJFVFVSTiBWQUxVRVMgYWJvdmUKKyAqICAgLSBObyBjb21taXQgaXMgY3JlYXRlZAorICogICAtIG9wdC0+cmVwby0+aW5kZXggaGFzIHRoZSBuZXcgaW5kZXgKKyAqICAgLSAkR0lUX0lOREVYX0ZJTEUgaXMgbm90IHVwZGF0ZWQKKyAqICAgLSBUaGUgd29ya2luZyB0cmVlIGlzIHVwZGF0ZWQgd2l0aCByZXN1bHRzIG9mIHRoZSBtZXJnZQorICovCitpbnQgbWVyZ2VfdHJlZXMoc3RydWN0IG1lcmdlX29wdGlvbnMgKm9wdCwKIAkJc3RydWN0IHRyZWUgKmhlYWQsCiAJCXN0cnVjdCB0cmVlICptZXJnZSwKLQkJc3RydWN0IHRyZWUgKmNvbW1vbiwKLQkJc3RydWN0IHRyZWUgKipyZXN1bHQpOworCQlzdHJ1Y3QgdHJlZSAqbWVyZ2VfYmFzZSk7CiAKIC8qCi0gKiAiZ2l0LW1lcmdlLXJlY3Vyc2l2ZSIgY2FuIGJlIGZlZCB0cmVlczsgd3JhcCB0aGVtIGludG8KLSAqIHZpcnR1YWwgY29tbWl0cyBhbmQgY2FsbCBtZXJnZV9yZWN1cnNpdmUoKSBwcm9wZXIuCisgKiBtZXJnZV9yZWN1cnNpdmUgaXMgbGlrZSBtZXJnZV90cmVlcygpIGJ1dCB3aXRoIHJlY3Vyc2l2ZSBhbmNlc3RvcgorICogY29uc29saWRhdGlvbiBhbmQsIGlmIHRoZSBjb21taXQgaXMgY2xlYW4sIGNyZWF0aW9uIG9mIGEgY29tbWl0LgorICoKKyAqIE5PVEU6IGVtcGlyaWNhbGx5LCBhYm91dCBhIGRlY2FkZSBhZ28gaXQgd2FzIGRldGVybWluZWQgdGhhdCB3aXRoIG1vcmUKKyAqICAgICAgIHRoYW4gdHdvIG1lcmdlIGJhc2VzLCBvcHRpbWFsIGJlaGF2aW9yIHdhcyBmb3VuZCB3aGVuIHRoZQorICogICAgICAgbWVyZ2VfYmFzZXMgd2VyZSBwYXNzZWQgaW4gdGhlIG9yZGVyIG9mIG9sZGVzdCBjb21taXQgdG8gbmV3ZXN0CisgKiAgICAgICBjb21taXQuICBBbHNvLCBtZXJnZV9iYXNlcyB3aWxsIGJlIGNvbnN1bWVkIChlbXB0aWVkKSBzbyBtYWtlIGEKKyAqICAgICAgIGNvcHkgaWYgeW91IG5lZWQgaXQuCisgKgorICogT3V0cHV0czoKKyAqICAgLSBTZWUgUkVUVVJOIFZBTFVFUyBhYm92ZQorICogICAtIElmIG1lcmdlIGlzIGNsZWFuLCBhIGNvbW1pdCBpcyBjcmVhdGVkIGFuZCBpdHMgYWRkcmVzcyB3cml0dGVuIHRvICpyZXN1bHQKKyAqICAgLSBvcHQtPnJlcG8tPmluZGV4IGhhcyB0aGUgbmV3IGluZGV4CisgKiAgIC0gJEdJVF9JTkRFWF9GSUxFIGlzIG5vdCB1cGRhdGVkCisgKiAgIC0gVGhlIHdvcmtpbmcgdHJlZSBpcyB1cGRhdGVkIHdpdGggcmVzdWx0cyBvZiB0aGUgbWVyZ2UKICAqLwotaW50IG1lcmdlX3JlY3Vyc2l2ZV9nZW5lcmljKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvLAoraW50IG1lcmdlX3JlY3Vyc2l2ZShzdHJ1Y3QgbWVyZ2Vfb3B0aW9ucyAqb3B0LAorCQkgICAgc3RydWN0IGNvbW1pdCAqaDEsCisJCSAgICBzdHJ1Y3QgY29tbWl0ICpoMiwKKwkJICAgIHN0cnVjdCBjb21taXRfbGlzdCAqbWVyZ2VfYmFzZXMsCisJCSAgICBzdHJ1Y3QgY29tbWl0ICoqcmVzdWx0KTsKKworLyoKKyAqIG1lcmdlX3JlY3Vyc2l2ZV9nZW5lcmljIGNhbiBvcGVyYXRlIG9uIHRyZWVzIGluc3RlYWQgb2YgY29tbWl0cywgYnkKKyAqIHdyYXBwaW5nIHRoZSB0cmVlcyBpbnRvIHZpcnR1YWwgY29tbWl0cywgYW5kIGNhbGxpbmcgbWVyZ2VfcmVjdXJzaXZlKCkuCisgKiBJdCBhbHNvIHdyaXRlcyBvdXQgdGhlIGluLW1lbW9yeSBpbmRleCB0byBkaXNrIGlmIHRoZSBtZXJnZSBpcyBzdWNjZXNzZnVsLgorICoKKyAqIE91dHB1dHM6CisgKiAgIC0gU2VlIFJFVFVSTiBWQUxVRVMgYWJvdmUKKyAqICAgLSBJZiBtZXJnZSBpcyBjbGVhbiwgYSBjb21taXQgaXMgY3JlYXRlZCBhbmQgaXRzIGFkZHJlc3Mgd3JpdHRlbiB0byAqcmVzdWx0CisgKiAgIC0gb3B0LT5yZXBvLT5pbmRleCBoYXMgdGhlIG5ldyBpbmRleAorICogICAtICRHSVRfSU5ERVhfRklMRSBpcyB1cGRhdGVkCisgKiAgIC0gVGhlIHdvcmtpbmcgdHJlZSBpcyB1cGRhdGVkIHdpdGggcmVzdWx0cyBvZiB0aGUgbWVyZ2UKKyAqLworaW50IG1lcmdlX3JlY3Vyc2l2ZV9nZW5lcmljKHN0cnVjdCBtZXJnZV9vcHRpb25zICpvcHQsCiAJCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqaGVhZCwKIAkJCSAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICptZXJnZSwKLQkJCSAgICBpbnQgbnVtX2NhLAotCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKipjYSwKKwkJCSAgICBpbnQgbnVtX21lcmdlX2Jhc2VzLAorCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKiptZXJnZV9iYXNlcywKIAkJCSAgICBzdHJ1Y3QgY29tbWl0ICoqcmVzdWx0KTsKIAotdm9pZCBpbml0X21lcmdlX29wdGlvbnMoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8pOwotc3RydWN0IHRyZWUgKndyaXRlX3RyZWVfZnJvbV9tZW1vcnkoc3RydWN0IG1lcmdlX29wdGlvbnMgKm8pOwotCi1pbnQgcGFyc2VfbWVyZ2Vfb3B0KHN0cnVjdCBtZXJnZV9vcHRpb25zICpvdXQsIGNvbnN0IGNoYXIgKnMpOwotCiAjZW5kaWYKZGlmZiAtLWdpdCBhL21lcmdlLmMgYi9tZXJnZS5jCmluZGV4IDkxMDA4ZjcuLjdjMWQ3NTYgMTAwNjQ0Ci0tLSBhL21lcmdlLmMKKysrIGIvbWVyZ2UuYwpAQCAtMzcsNyArMzcsNyBAQAogCWFyZ3ZfYXJyYXlfY2xlYXIoJmFyZ3MpOwogCiAJZGlzY2FyZF9pbmRleChyLT5pbmRleCk7Ci0JaWYgKHJlYWRfaW5kZXgoci0+aW5kZXgpIDwgMCkKKwlpZiAocmVwb19yZWFkX2luZGV4KHIpIDwgMCkKIAkJZGllKF8oImZhaWxlZCB0byByZWFkIHRoZSBjYWNoZSIpKTsKIAlyZXNvbHZlX3VuZG9fY2xlYXJfaW5kZXgoci0+aW5kZXgpOwogCkBAIC01OCw3ICs1OCw3IEBACiAKIAlyZWZyZXNoX2luZGV4KHItPmluZGV4LCBSRUZSRVNIX1FVSUVULCBOVUxMLCBOVUxMLCBOVUxMKTsKIAotCWlmIChob2xkX2xvY2tlZF9pbmRleCgmbG9ja19maWxlLCBMT0NLX1JFUE9SVF9PTl9FUlJPUikgPCAwKQorCWlmIChyZXBvX2hvbGRfbG9ja2VkX2luZGV4KHIsICZsb2NrX2ZpbGUsIExPQ0tfUkVQT1JUX09OX0VSUk9SKSA8IDApCiAJCXJldHVybiAtMTsKIAogCW1lbXNldCgmdHJlZXMsIDAsIHNpemVvZih0cmVlcykpOwpkaWZmIC0tZ2l0IGEvbWVyZ2V0b29scy9zbWVyZ2UgYi9tZXJnZXRvb2xzL3NtZXJnZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzJlNmY2Ci0tLSAvZGV2L251bGwKKysrIGIvbWVyZ2V0b29scy9zbWVyZ2UKQEAgLTAsMCArMSwxMiBAQAorZGlmZl9jbWQgKCkgeworCSIkbWVyZ2VfdG9vbF9wYXRoIiBtZXJnZXRvb2wgIiRMT0NBTCIgIiRSRU1PVEUiIC1vICIkTUVSR0VEIgorfQorCittZXJnZV9jbWQgKCkgeworCWlmICRiYXNlX3ByZXNlbnQKKwl0aGVuCisJCSIkbWVyZ2VfdG9vbF9wYXRoIiBtZXJnZXRvb2wgIiRCQVNFIiAiJExPQ0FMIiAiJFJFTU9URSIgLW8gIiRNRVJHRUQiCisJZWxzZQorCQkiJG1lcmdlX3Rvb2xfcGF0aCIgbWVyZ2V0b29sICIkTE9DQUwiICIkUkVNT1RFIiAtbyAiJE1FUkdFRCIKKwlmaQorfQpkaWZmIC0tZ2l0IGEvbWlkeC5jIGIvbWlkeC5jCmluZGV4IDJhNmEyNGYuLjE1MjdlNDYgMTAwNjQ0Ci0tLSBhL21pZHguYworKysgYi9taWR4LmMKQEAgLTgsNiArOCw4IEBACiAjaW5jbHVkZSAic2hhMS1sb29rdXAuaCIKICNpbmNsdWRlICJtaWR4LmgiCiAjaW5jbHVkZSAicHJvZ3Jlc3MuaCIKKyNpbmNsdWRlICJ0cmFjZTIuaCIKKyNpbmNsdWRlICJydW4tY29tbWFuZC5oIgogCiAjZGVmaW5lIE1JRFhfU0lHTkFUVVJFIDB4NGQ0OTQ0NTggLyogIk1JRFgiICovCiAjZGVmaW5lIE1JRFhfVkVSU0lPTiAxCkBAIC0xNyw4ICsxOSw3IEBACiAjZGVmaW5lIE1JRFhfQllURV9OVU1fUEFDS1MgOAogI2RlZmluZSBNSURYX0hBU0hfVkVSU0lPTiAxCiAjZGVmaW5lIE1JRFhfSEVBREVSX1NJWkUgMTIKLSNkZWZpbmUgTUlEWF9IQVNIX0xFTiAyMAotI2RlZmluZSBNSURYX01JTl9TSVpFIChNSURYX0hFQURFUl9TSVpFICsgTUlEWF9IQVNIX0xFTikKKyNkZWZpbmUgTUlEWF9NSU5fU0laRSAoTUlEWF9IRUFERVJfU0laRSArIHRoZV9oYXNoX2FsZ28tPnJhd3N6KQogCiAjZGVmaW5lIE1JRFhfTUFYX0NIVU5LUyA1CiAjZGVmaW5lIE1JRFhfQ0hVTktfQUxJR05NRU5UIDQKQEAgLTMzLDYgKzM0LDggQEAKICNkZWZpbmUgTUlEWF9DSFVOS19MQVJHRV9PRkZTRVRfV0lEVEggKHNpemVvZih1aW50NjRfdCkpCiAjZGVmaW5lIE1JRFhfTEFSR0VfT0ZGU0VUX05FRURFRCAweDgwMDAwMDAwCiAKKyNkZWZpbmUgUEFDS19FWFBJUkVEIFVJTlRfTUFYCisKIHN0YXRpYyBjaGFyICpnZXRfbWlkeF9maWxlbmFtZShjb25zdCBjaGFyICpvYmplY3RfZGlyKQogewogCXJldHVybiB4c3RyZm10KCIlcy9wYWNrL211bHRpLXBhY2staW5kZXgiLCBvYmplY3RfZGlyKTsKQEAgLTcwLDcgKzczLDcgQEAKIAogCW1pZHhfbWFwID0geG1tYXAoTlVMTCwgbWlkeF9zaXplLCBQUk9UX1JFQUQsIE1BUF9QUklWQVRFLCBmZCwgMCk7CiAKLQlGTEVYX0FMTE9DX01FTShtLCBvYmplY3RfZGlyLCBvYmplY3RfZGlyLCBzdHJsZW4ob2JqZWN0X2RpcikpOworCUZMRVhfQUxMT0NfU1RSKG0sIG9iamVjdF9kaXIsIG9iamVjdF9kaXIpOwogCW0tPmZkID0gZmQ7CiAJbS0+ZGF0YSA9IG1pZHhfbWFwOwogCW0tPmRhdGFfbGVuID0gbWlkeF9zaXplOwpAQCAtODksNyArOTIsNyBAQAogCWhhc2hfdmVyc2lvbiA9IG0tPmRhdGFbTUlEWF9CWVRFX0hBU0hfVkVSU0lPTl07CiAJaWYgKGhhc2hfdmVyc2lvbiAhPSBNSURYX0hBU0hfVkVSU0lPTikKIAkJZGllKF8oImhhc2ggdmVyc2lvbiAldSBkb2VzIG5vdCBtYXRjaCIpLCBoYXNoX3ZlcnNpb24pOwotCW0tPmhhc2hfbGVuID0gTUlEWF9IQVNIX0xFTjsKKwltLT5oYXNoX2xlbiA9IHRoZV9oYXNoX2FsZ28tPnJhd3N6OwogCiAJbS0+bnVtX2NodW5rcyA9IG0tPmRhdGFbTUlEWF9CWVRFX05VTV9DSFVOS1NdOwogCkBAIC0xNjQsNiArMTY3LDkgQEAKIAkJCSAgICAgIG0tPnBhY2tfbmFtZXNbaV0pOwogCX0KIAorCXRyYWNlMl9kYXRhX2ludG1heCgibWlkeCIsIHRoZV9yZXBvc2l0b3J5LCAibG9hZC9udW1fcGFja3MiLCBtLT5udW1fcGFja3MpOworCXRyYWNlMl9kYXRhX2ludG1heCgibWlkeCIsIHRoZV9yZXBvc2l0b3J5LCAibG9hZC9udW1fb2JqZWN0cyIsIG0tPm51bV9vYmplY3RzKTsKKwogCXJldHVybiBtOwogCiBjbGVhbnVwX2ZhaWw6CkBAIC0xODgsMTggKzE5NCwxNyBAQAogCW0tPmZkID0gLTE7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbS0+bnVtX3BhY2tzOyBpKyspIHsKLQkJaWYgKG0tPnBhY2tzW2ldKSB7Ci0JCQljbG9zZV9wYWNrKG0tPnBhY2tzW2ldKTsKLQkJCWZyZWUobS0+cGFja3NbaV0pOwotCQl9CisJCWlmIChtLT5wYWNrc1tpXSkKKwkJCW0tPnBhY2tzW2ldLT5tdWx0aV9wYWNrX2luZGV4ID0gMDsKIAl9CiAJRlJFRV9BTkRfTlVMTChtLT5wYWNrcyk7CiAJRlJFRV9BTkRfTlVMTChtLT5wYWNrX25hbWVzKTsKIH0KIAotaW50IHByZXBhcmVfbWlkeF9wYWNrKHN0cnVjdCBtdWx0aV9wYWNrX2luZGV4ICptLCB1aW50MzJfdCBwYWNrX2ludF9pZCkKK2ludCBwcmVwYXJlX21pZHhfcGFjayhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IG11bHRpX3BhY2tfaW5kZXggKm0sIHVpbnQzMl90IHBhY2tfaW50X2lkKQogewogCXN0cnVjdCBzdHJidWYgcGFja19uYW1lID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHBhY2tlZF9naXQgKnA7CiAKIAlpZiAocGFja19pbnRfaWQgPj0gbS0+bnVtX3BhY2tzKQogCQlkaWUoXygiYmFkIHBhY2staW50LWlkOiAldSAoJXUgdG90YWwgcGFja3MpIiksCkBAIC0yMTEsMTUgKzIxNiwyNCBAQAogCXN0cmJ1Zl9hZGRmKCZwYWNrX25hbWUsICIlcy9wYWNrLyVzIiwgbS0+b2JqZWN0X2RpciwKIAkJICAgIG0tPnBhY2tfbmFtZXNbcGFja19pbnRfaWRdKTsKIAotCW0tPnBhY2tzW3BhY2tfaW50X2lkXSA9IGFkZF9wYWNrZWRfZ2l0KHBhY2tfbmFtZS5idWYsIHBhY2tfbmFtZS5sZW4sIG0tPmxvY2FsKTsKKwlwID0gYWRkX3BhY2tlZF9naXQocGFja19uYW1lLmJ1ZiwgcGFja19uYW1lLmxlbiwgbS0+bG9jYWwpOwogCXN0cmJ1Zl9yZWxlYXNlKCZwYWNrX25hbWUpOwotCXJldHVybiAhbS0+cGFja3NbcGFja19pbnRfaWRdOworCisJaWYgKCFwKQorCQlyZXR1cm4gMTsKKworCXAtPm11bHRpX3BhY2tfaW5kZXggPSAxOworCW0tPnBhY2tzW3BhY2tfaW50X2lkXSA9IHA7CisJaW5zdGFsbF9wYWNrZWRfZ2l0KHIsIHApOworCWxpc3RfYWRkX3RhaWwoJnAtPm1ydSwgJnItPm9iamVjdHMtPnBhY2tlZF9naXRfbXJ1KTsKKworCXJldHVybiAwOwogfQogCiBpbnQgYnNlYXJjaF9taWR4KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgc3RydWN0IG11bHRpX3BhY2tfaW5kZXggKm0sIHVpbnQzMl90ICpyZXN1bHQpCiB7CiAJcmV0dXJuIGJzZWFyY2hfaGFzaChvaWQtPmhhc2gsIG0tPmNodW5rX29pZF9mYW5vdXQsIG0tPmNodW5rX29pZF9sb29rdXAsCi0JCQkgICAgTUlEWF9IQVNIX0xFTiwgcmVzdWx0KTsKKwkJCSAgICB0aGVfaGFzaF9hbGdvLT5yYXdzeiwgcmVzdWx0KTsKIH0KIAogc3RydWN0IG9iamVjdF9pZCAqbnRoX21pZHhlZF9vYmplY3Rfb2lkKHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKQEAgLTI1Nyw3ICsyNzEsMTAgQEAKIAlyZXR1cm4gZ2V0X2JlMzIobS0+Y2h1bmtfb2JqZWN0X29mZnNldHMgKyBwb3MgKiBNSURYX0NIVU5LX09GRlNFVF9XSURUSCk7CiB9CiAKLXN0YXRpYyBpbnQgbnRoX21pZHhlZF9wYWNrX2VudHJ5KHN0cnVjdCBtdWx0aV9wYWNrX2luZGV4ICptLCBzdHJ1Y3QgcGFja19lbnRyeSAqZSwgdWludDMyX3QgcG9zKQorc3RhdGljIGludCBudGhfbWlkeGVkX3BhY2tfZW50cnkoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJIHN0cnVjdCBtdWx0aV9wYWNrX2luZGV4ICptLAorCQkJCSBzdHJ1Y3QgcGFja19lbnRyeSAqZSwKKwkJCQkgdWludDMyX3QgcG9zKQogewogCXVpbnQzMl90IHBhY2tfaW50X2lkOwogCXN0cnVjdCBwYWNrZWRfZ2l0ICpwOwpAQCAtMjY3LDcgKzI4NCw3IEBACiAKIAlwYWNrX2ludF9pZCA9IG50aF9taWR4ZWRfcGFja19pbnRfaWQobSwgcG9zKTsKIAotCWlmIChwcmVwYXJlX21pZHhfcGFjayhtLCBwYWNrX2ludF9pZCkpCisJaWYgKHByZXBhcmVfbWlkeF9wYWNrKHIsIG0sIHBhY2tfaW50X2lkKSkKIAkJZGllKF8oImVycm9yIHByZXBhcmluZyBwYWNrZmlsZSBmcm9tIG11bHRpLXBhY2staW5kZXgiKSk7CiAJcCA9IG0tPnBhY2tzW3BhY2tfaW50X2lkXTsKIApAQCAtMjk3LDE3ICszMTQsNTIgQEAKIAlyZXR1cm4gMTsKIH0KIAotaW50IGZpbGxfbWlkeF9lbnRyeShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHN0cnVjdCBwYWNrX2VudHJ5ICplLCBzdHJ1Y3QgbXVsdGlfcGFja19pbmRleCAqbSkKK2ludCBmaWxsX21pZHhfZW50cnkoc3RydWN0IHJlcG9zaXRvcnkgKiByLAorCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkgICAgc3RydWN0IHBhY2tfZW50cnkgKmUsCisJCSAgICBzdHJ1Y3QgbXVsdGlfcGFja19pbmRleCAqbSkKIHsKIAl1aW50MzJfdCBwb3M7CiAKIAlpZiAoIWJzZWFyY2hfbWlkeChvaWQsIG0sICZwb3MpKQogCQlyZXR1cm4gMDsKIAotCXJldHVybiBudGhfbWlkeGVkX3BhY2tfZW50cnkobSwgZSwgcG9zKTsKKwlyZXR1cm4gbnRoX21pZHhlZF9wYWNrX2VudHJ5KHIsIG0sIGUsIHBvcyk7CiB9CiAKLWludCBtaWR4X2NvbnRhaW5zX3BhY2soc3RydWN0IG11bHRpX3BhY2tfaW5kZXggKm0sIGNvbnN0IGNoYXIgKmlkeF9uYW1lKQorLyogTWF0Y2ggImZvby5pZHgiIGFnYWluc3QgZWl0aGVyICJmb28ucGFjayIgX29yXyAiZm9vLmlkeCIuICovCitzdGF0aWMgaW50IGNtcF9pZHhfb3JfcGFja19uYW1lKGNvbnN0IGNoYXIgKmlkeF9vcl9wYWNrX25hbWUsCisJCQkJY29uc3QgY2hhciAqaWR4X25hbWUpCit7CisJLyogU2tpcCBwYXN0IGFueSBpbml0aWFsIG1hdGNoaW5nIHByZWZpeC4gKi8KKwl3aGlsZSAoKmlkeF9uYW1lICYmICppZHhfbmFtZSA9PSAqaWR4X29yX3BhY2tfbmFtZSkgeworCQlpZHhfbmFtZSsrOworCQlpZHhfb3JfcGFja19uYW1lKys7CisJfQorCisJLyoKKwkgKiBJZiB3ZSBkaWRuJ3QgbWF0Y2ggY29tcGxldGVseSwgd2UgbWF5IGhhdmUgbWF0Y2hlZCAicGFjay0xMjM0LiIgYW5kCisJICogYmUgbGVmdCB3aXRoICJpZHgiIGFuZCAicGFjayIgcmVzcGVjdGl2ZWx5LCB3aGljaCBpcyBhbHNvIE9LLiBXZSBkbworCSAqIG5vdCBoYXZlIHRvIGNoZWNrIGZvciAiaWR4IiBhbmQgImlkeCIsIGJlY2F1c2UgdGhhdCB3b3VsZCBoYXZlIGJlZW4KKwkgKiBhIGNvbXBsZXRlIG1hdGNoIChhbmQgaW4gdGhhdCBjYXNlIHRoZXNlIHN0cmNtcHMgd2lsbCBiZSBmYWxzZSwgYnV0CisJICogd2UnbGwgY29ycmVjdGx5IHJldHVybiAwIGZyb20gdGhlIGZpbmFsIHN0cmNtcCgpIGJlbG93LgorCSAqCisJICogVGVjaG5pY2FsbHkgdGhpcyBtYXRjaGVzICJmb29pZHgiIGFuZCAiZm9vcGFjayIsIGJ1dCB3ZSdkIG5ldmVyIGhhdmUKKwkgKiBzdWNoIG5hbWVzIGluIHRoZSBmaXJzdCBwbGFjZS4KKwkgKi8KKwlpZiAoIXN0cmNtcChpZHhfbmFtZSwgImlkeCIpICYmICFzdHJjbXAoaWR4X29yX3BhY2tfbmFtZSwgInBhY2siKSkKKwkJcmV0dXJuIDA7CisKKwkvKgorCSAqIFRoaXMgbm90IG9ubHkgY2hlY2tzIGZvciBhIGNvbXBsZXRlIG1hdGNoLCBidXQgYWxzbyBvcmRlcnMgYmFzZWQgb24KKwkgKiB0aGUgZmlyc3Qgbm9uLWlkZW50aWNhbCBjaGFyYWN0ZXIsIHdoaWNoIG1lYW5zIG91ciBvcmRlcmluZyB3aWxsCisJICogbWF0Y2ggYSByYXcgc3RyY21wKCkuIFRoYXQgbWFrZXMgaXQgT0sgdG8gdXNlIHRoaXMgdG8gYmluYXJ5IHNlYXJjaAorCSAqIGEgbmFpdmVseS1zb3J0ZWQgbGlzdC4KKwkgKi8KKwlyZXR1cm4gc3RyY21wKGlkeF9vcl9wYWNrX25hbWUsIGlkeF9uYW1lKTsKK30KKworaW50IG1pZHhfY29udGFpbnNfcGFjayhzdHJ1Y3QgbXVsdGlfcGFja19pbmRleCAqbSwgY29uc3QgY2hhciAqaWR4X29yX3BhY2tfbmFtZSkKIHsKIAl1aW50MzJfdCBmaXJzdCA9IDAsIGxhc3QgPSBtLT5udW1fcGFja3M7CiAKQEAgLTMxNyw3ICszNjksNyBAQAogCQlpbnQgY21wOwogCiAJCWN1cnJlbnQgPSBtLT5wYWNrX25hbWVzW21pZF07Ci0JCWNtcCA9IHN0cmNtcChpZHhfbmFtZSwgY3VycmVudCk7CisJCWNtcCA9IGNtcF9pZHhfb3JfcGFja19uYW1lKGlkeF9vcl9wYWNrX25hbWUsIGN1cnJlbnQpOwogCQlpZiAoIWNtcCkKIAkJCXJldHVybiAxOwogCQlpZiAoY21wID4gMCkgewpAQCAtMzc3LDE0ICs0MjksMjcgQEAKIAlyZXR1cm4gTUlEWF9IRUFERVJfU0laRTsKIH0KIAorc3RydWN0IHBhY2tfaW5mbyB7CisJdWludDMyX3Qgb3JpZ19wYWNrX2ludF9pZDsKKwljaGFyICpwYWNrX25hbWU7CisJc3RydWN0IHBhY2tlZF9naXQgKnA7CisJdW5zaWduZWQgZXhwaXJlZCA6IDE7Cit9OworCitzdGF0aWMgaW50IHBhY2tfaW5mb19jb21wYXJlKGNvbnN0IHZvaWQgKl9hLCBjb25zdCB2b2lkICpfYikKK3sKKwlzdHJ1Y3QgcGFja19pbmZvICphID0gKHN0cnVjdCBwYWNrX2luZm8gKilfYTsKKwlzdHJ1Y3QgcGFja19pbmZvICpiID0gKHN0cnVjdCBwYWNrX2luZm8gKilfYjsKKwlyZXR1cm4gc3RyY21wKGEtPnBhY2tfbmFtZSwgYi0+cGFja19uYW1lKTsKK30KKwogc3RydWN0IHBhY2tfbGlzdCB7Ci0Jc3RydWN0IHBhY2tlZF9naXQgKipsaXN0OwotCWNoYXIgKipuYW1lczsKKwlzdHJ1Y3QgcGFja19pbmZvICppbmZvOwogCXVpbnQzMl90IG5yOwotCXVpbnQzMl90IGFsbG9jX2xpc3Q7Ci0JdWludDMyX3QgYWxsb2NfbmFtZXM7Ci0Jc2l6ZV90IHBhY2tfbmFtZV9jb25jYXRfbGVuOworCXVpbnQzMl90IGFsbG9jOwogCXN0cnVjdCBtdWx0aV9wYWNrX2luZGV4ICptOworCXN0cnVjdCBwcm9ncmVzcyAqcHJvZ3Jlc3M7CisJdW5zaWduZWQgcGFja19wYXRoc19jaGVja2VkOwogfTsKIAogc3RhdGljIHZvaWQgYWRkX3BhY2tfdG9fbWlkeChjb25zdCBjaGFyICpmdWxsX3BhdGgsIHNpemVfdCBmdWxsX3BhdGhfbGVuLApAQCAtMzkzLDcwICs0NTgsMzcgQEAKIAlzdHJ1Y3QgcGFja19saXN0ICpwYWNrcyA9IChzdHJ1Y3QgcGFja19saXN0ICopZGF0YTsKIAogCWlmIChlbmRzX3dpdGgoZmlsZV9uYW1lLCAiLmlkeCIpKSB7CisJCWRpc3BsYXlfcHJvZ3Jlc3MocGFja3MtPnByb2dyZXNzLCArK3BhY2tzLT5wYWNrX3BhdGhzX2NoZWNrZWQpOwogCQlpZiAocGFja3MtPm0gJiYgbWlkeF9jb250YWluc19wYWNrKHBhY2tzLT5tLCBmaWxlX25hbWUpKQogCQkJcmV0dXJuOwogCi0JCUFMTE9DX0dST1cocGFja3MtPmxpc3QsIHBhY2tzLT5uciArIDEsIHBhY2tzLT5hbGxvY19saXN0KTsKLQkJQUxMT0NfR1JPVyhwYWNrcy0+bmFtZXMsIHBhY2tzLT5uciArIDEsIHBhY2tzLT5hbGxvY19uYW1lcyk7CisJCUFMTE9DX0dST1cocGFja3MtPmluZm8sIHBhY2tzLT5uciArIDEsIHBhY2tzLT5hbGxvYyk7CiAKLQkJcGFja3MtPmxpc3RbcGFja3MtPm5yXSA9IGFkZF9wYWNrZWRfZ2l0KGZ1bGxfcGF0aCwKLQkJCQkJCQlmdWxsX3BhdGhfbGVuLAotCQkJCQkJCTApOworCQlwYWNrcy0+aW5mb1twYWNrcy0+bnJdLnAgPSBhZGRfcGFja2VkX2dpdChmdWxsX3BhdGgsCisJCQkJCQkJICBmdWxsX3BhdGhfbGVuLAorCQkJCQkJCSAgMCk7CiAKLQkJaWYgKCFwYWNrcy0+bGlzdFtwYWNrcy0+bnJdKSB7CisJCWlmICghcGFja3MtPmluZm9bcGFja3MtPm5yXS5wKSB7CiAJCQl3YXJuaW5nKF8oImZhaWxlZCB0byBhZGQgcGFja2ZpbGUgJyVzJyIpLAogCQkJCWZ1bGxfcGF0aCk7CiAJCQlyZXR1cm47CiAJCX0KIAotCQlpZiAob3Blbl9wYWNrX2luZGV4KHBhY2tzLT5saXN0W3BhY2tzLT5ucl0pKSB7CisJCWlmIChvcGVuX3BhY2tfaW5kZXgocGFja3MtPmluZm9bcGFja3MtPm5yXS5wKSkgewogCQkJd2FybmluZyhfKCJmYWlsZWQgdG8gb3BlbiBwYWNrLWluZGV4ICclcyciKSwKIAkJCQlmdWxsX3BhdGgpOwotCQkJY2xvc2VfcGFjayhwYWNrcy0+bGlzdFtwYWNrcy0+bnJdKTsKLQkJCUZSRUVfQU5EX05VTEwocGFja3MtPmxpc3RbcGFja3MtPm5yXSk7CisJCQljbG9zZV9wYWNrKHBhY2tzLT5pbmZvW3BhY2tzLT5ucl0ucCk7CisJCQlGUkVFX0FORF9OVUxMKHBhY2tzLT5pbmZvW3BhY2tzLT5ucl0ucCk7CiAJCQlyZXR1cm47CiAJCX0KIAotCQlwYWNrcy0+bmFtZXNbcGFja3MtPm5yXSA9IHhzdHJkdXAoZmlsZV9uYW1lKTsKLQkJcGFja3MtPnBhY2tfbmFtZV9jb25jYXRfbGVuICs9IHN0cmxlbihmaWxlX25hbWUpICsgMTsKKwkJcGFja3MtPmluZm9bcGFja3MtPm5yXS5wYWNrX25hbWUgPSB4c3RyZHVwKGZpbGVfbmFtZSk7CisJCXBhY2tzLT5pbmZvW3BhY2tzLT5ucl0ub3JpZ19wYWNrX2ludF9pZCA9IHBhY2tzLT5ucjsKKwkJcGFja3MtPmluZm9bcGFja3MtPm5yXS5leHBpcmVkID0gMDsKIAkJcGFja3MtPm5yKys7CiAJfQogfQogCi1zdHJ1Y3QgcGFja19wYWlyIHsKLQl1aW50MzJfdCBwYWNrX2ludF9pZDsKLQljaGFyICpwYWNrX25hbWU7Ci19OwotCi1zdGF0aWMgaW50IHBhY2tfcGFpcl9jb21wYXJlKGNvbnN0IHZvaWQgKl9hLCBjb25zdCB2b2lkICpfYikKLXsKLQlzdHJ1Y3QgcGFja19wYWlyICphID0gKHN0cnVjdCBwYWNrX3BhaXIgKilfYTsKLQlzdHJ1Y3QgcGFja19wYWlyICpiID0gKHN0cnVjdCBwYWNrX3BhaXIgKilfYjsKLQlyZXR1cm4gc3RyY21wKGEtPnBhY2tfbmFtZSwgYi0+cGFja19uYW1lKTsKLX0KLQotc3RhdGljIHZvaWQgc29ydF9wYWNrc19ieV9uYW1lKGNoYXIgKipwYWNrX25hbWVzLCB1aW50MzJfdCBucl9wYWNrcywgdWludDMyX3QgKnBlcm0pCi17Ci0JdWludDMyX3QgaTsKLQlzdHJ1Y3QgcGFja19wYWlyICpwYWlyczsKLQotCUFMTE9DX0FSUkFZKHBhaXJzLCBucl9wYWNrcyk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgbnJfcGFja3M7IGkrKykgewotCQlwYWlyc1tpXS5wYWNrX2ludF9pZCA9IGk7Ci0JCXBhaXJzW2ldLnBhY2tfbmFtZSA9IHBhY2tfbmFtZXNbaV07Ci0JfQotCi0JUVNPUlQocGFpcnMsIG5yX3BhY2tzLCBwYWNrX3BhaXJfY29tcGFyZSk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgbnJfcGFja3M7IGkrKykgewotCQlwYWNrX25hbWVzW2ldID0gcGFpcnNbaV0ucGFja19uYW1lOwotCQlwZXJtW3BhaXJzW2ldLnBhY2tfaW50X2lkXSA9IGk7Ci0JfQotCi0JZnJlZShwYWlycyk7Ci19Ci0KIHN0cnVjdCBwYWNrX21pZHhfZW50cnkgewogCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCXVpbnQzMl90IHBhY2tfaW50X2lkOwpAQCAtNDgyLDcgKzUxNCw2IEBACiB9CiAKIHN0YXRpYyBpbnQgbnRoX21pZHhlZF9wYWNrX21pZHhfZW50cnkoc3RydWN0IG11bHRpX3BhY2tfaW5kZXggKm0sCi0JCQkJICAgICAgdWludDMyX3QgKnBhY2tfcGVybSwKIAkJCQkgICAgICBzdHJ1Y3QgcGFja19taWR4X2VudHJ5ICplLAogCQkJCSAgICAgIHVpbnQzMl90IHBvcykKIHsKQEAgLTQ5MCw3ICs1MjEsNyBAQAogCQlyZXR1cm4gMTsKIAogCW50aF9taWR4ZWRfb2JqZWN0X29pZCgmZS0+b2lkLCBtLCBwb3MpOwotCWUtPnBhY2tfaW50X2lkID0gcGFja19wZXJtW250aF9taWR4ZWRfcGFja19pbnRfaWQobSwgcG9zKV07CisJZS0+cGFja19pbnRfaWQgPSBudGhfbWlkeGVkX3BhY2tfaW50X2lkKG0sIHBvcyk7CiAJZS0+b2Zmc2V0ID0gbnRoX21pZHhlZF9vZmZzZXQobSwgcG9zKTsKIAogCS8qIGNvbnNpZGVyIG9iamVjdHMgaW4gbWlkeCB0byBiZSBmcm9tICJvbGQiIHBhY2tzICovCkBAIC01MDMsNyArNTM0LDcgQEAKIAkJCSAgICB1aW50MzJfdCBjdXJfb2JqZWN0LAogCQkJICAgIHN0cnVjdCBwYWNrX21pZHhfZW50cnkgKmVudHJ5KQogewotCWlmICghbnRoX3BhY2tlZF9vYmplY3Rfb2lkKCZlbnRyeS0+b2lkLCBwLCBjdXJfb2JqZWN0KSkKKwlpZiAobnRoX3BhY2tlZF9vYmplY3RfaWQoJmVudHJ5LT5vaWQsIHAsIGN1cl9vYmplY3QpIDwgMCkKIAkJZGllKF8oImZhaWxlZCB0byBsb2NhdGUgb2JqZWN0ICVkIGluIHBhY2tmaWxlIiksIGN1cl9vYmplY3QpOwogCiAJZW50cnktPnBhY2tfaW50X2lkID0gcGFja19pbnRfaWQ7CkBAIC01MjQsOCArNTU1LDcgQEAKICAqIG9mIGEgcGFja2ZpbGUgY29udGFpbmluZyB0aGUgb2JqZWN0KS4KICAqLwogc3RhdGljIHN0cnVjdCBwYWNrX21pZHhfZW50cnkgKmdldF9zb3J0ZWRfZW50cmllcyhzdHJ1Y3QgbXVsdGlfcGFja19pbmRleCAqbSwKLQkJCQkJCSAgc3RydWN0IHBhY2tlZF9naXQgKipwLAotCQkJCQkJICB1aW50MzJfdCAqcGVybSwKKwkJCQkJCSAgc3RydWN0IHBhY2tfaW5mbyAqaW5mbywKIAkJCQkJCSAgdWludDMyX3QgbnJfcGFja3MsCiAJCQkJCQkgIHVpbnQzMl90ICpucl9vYmplY3RzKQogewpAQCAtNTM2LDcgKzU2Niw3IEBACiAJdWludDMyX3Qgc3RhcnRfcGFjayA9IG0gPyBtLT5udW1fcGFja3MgOiAwOwogCiAJZm9yIChjdXJfcGFjayA9IHN0YXJ0X3BhY2s7IGN1cl9wYWNrIDwgbnJfcGFja3M7IGN1cl9wYWNrKyspCi0JCXRvdGFsX29iamVjdHMgKz0gcFtjdXJfcGFja10tPm51bV9vYmplY3RzOworCQl0b3RhbF9vYmplY3RzICs9IGluZm9bY3VyX3BhY2tdLnAtPm51bV9vYmplY3RzOwogCiAJLyoKIAkgKiBBcyB3ZSBkZS1kdXBsaWNhdGUgYnkgZmFub3V0IHZhbHVlLCB3ZSBleHBlY3QgdGhlIGZhbm91dApAQCAtNTYxLDcgKzU5MSw3IEBACiAKIAkJCWZvciAoY3VyX29iamVjdCA9IHN0YXJ0OyBjdXJfb2JqZWN0IDwgZW5kOyBjdXJfb2JqZWN0KyspIHsKIAkJCQlBTExPQ19HUk9XKGVudHJpZXNfYnlfZmFub3V0LCBucl9mYW5vdXQgKyAxLCBhbGxvY19mYW5vdXQpOwotCQkJCW50aF9taWR4ZWRfcGFja19taWR4X2VudHJ5KG0sIHBlcm0sCisJCQkJbnRoX21pZHhlZF9wYWNrX21pZHhfZW50cnkobSwKIAkJCQkJCQkgICAmZW50cmllc19ieV9mYW5vdXRbbnJfZmFub3V0XSwKIAkJCQkJCQkgICBjdXJfb2JqZWN0KTsKIAkJCQlucl9mYW5vdXQrKzsKQEAgLTU3MiwxMiArNjAyLDEyIEBACiAJCQl1aW50MzJfdCBzdGFydCA9IDAsIGVuZDsKIAogCQkJaWYgKGN1cl9mYW5vdXQpCi0JCQkJc3RhcnQgPSBnZXRfcGFja19mYW5vdXQocFtjdXJfcGFja10sIGN1cl9mYW5vdXQgLSAxKTsKLQkJCWVuZCA9IGdldF9wYWNrX2Zhbm91dChwW2N1cl9wYWNrXSwgY3VyX2Zhbm91dCk7CisJCQkJc3RhcnQgPSBnZXRfcGFja19mYW5vdXQoaW5mb1tjdXJfcGFja10ucCwgY3VyX2Zhbm91dCAtIDEpOworCQkJZW5kID0gZ2V0X3BhY2tfZmFub3V0KGluZm9bY3VyX3BhY2tdLnAsIGN1cl9mYW5vdXQpOwogCiAJCQlmb3IgKGN1cl9vYmplY3QgPSBzdGFydDsgY3VyX29iamVjdCA8IGVuZDsgY3VyX29iamVjdCsrKSB7CiAJCQkJQUxMT0NfR1JPVyhlbnRyaWVzX2J5X2Zhbm91dCwgbnJfZmFub3V0ICsgMSwgYWxsb2NfZmFub3V0KTsKLQkJCQlmaWxsX3BhY2tfZW50cnkocGVybVtjdXJfcGFja10sIHBbY3VyX3BhY2tdLCBjdXJfb2JqZWN0LCAmZW50cmllc19ieV9mYW5vdXRbbnJfZmFub3V0XSk7CisJCQkJZmlsbF9wYWNrX2VudHJ5KGN1cl9wYWNrLCBpbmZvW2N1cl9wYWNrXS5wLCBjdXJfb2JqZWN0LCAmZW50cmllc19ieV9mYW5vdXRbbnJfZmFub3V0XSk7CiAJCQkJbnJfZmFub3V0Kys7CiAJCQl9CiAJCX0KQEAgLTYwNiw3ICs2MzYsNyBAQAogfQogCiBzdGF0aWMgc2l6ZV90IHdyaXRlX21pZHhfcGFja19uYW1lcyhzdHJ1Y3QgaGFzaGZpbGUgKmYsCi0JCQkJICAgIGNoYXIgKipwYWNrX25hbWVzLAorCQkJCSAgICBzdHJ1Y3QgcGFja19pbmZvICppbmZvLAogCQkJCSAgICB1aW50MzJfdCBudW1fcGFja3MpCiB7CiAJdWludDMyX3QgaTsKQEAgLTYxNCwxNCArNjQ0LDE4IEBACiAJc2l6ZV90IHdyaXR0ZW4gPSAwOwogCiAJZm9yIChpID0gMDsgaSA8IG51bV9wYWNrczsgaSsrKSB7Ci0JCXNpemVfdCB3cml0ZWxlbiA9IHN0cmxlbihwYWNrX25hbWVzW2ldKSArIDE7CisJCXNpemVfdCB3cml0ZWxlbjsKIAotCQlpZiAoaSAmJiBzdHJjbXAocGFja19uYW1lc1tpXSwgcGFja19uYW1lc1tpIC0gMV0pIDw9IDApCisJCWlmIChpbmZvW2ldLmV4cGlyZWQpCisJCQljb250aW51ZTsKKworCQlpZiAoaSAmJiBzdHJjbXAoaW5mb1tpXS5wYWNrX25hbWUsIGluZm9baSAtIDFdLnBhY2tfbmFtZSkgPD0gMCkKIAkJCUJVRygiaW5jb3JyZWN0IHBhY2stZmlsZSBvcmRlcjogJXMgYmVmb3JlICVzIiwKLQkJCSAgICBwYWNrX25hbWVzW2kgLSAxXSwKLQkJCSAgICBwYWNrX25hbWVzW2ldKTsKKwkJCSAgICBpbmZvW2kgLSAxXS5wYWNrX25hbWUsCisJCQkgICAgaW5mb1tpXS5wYWNrX25hbWUpOwogCi0JCWhhc2h3cml0ZShmLCBwYWNrX25hbWVzW2ldLCB3cml0ZWxlbik7CisJCXdyaXRlbGVuID0gc3RybGVuKGluZm9baV0ucGFja19uYW1lKSArIDE7CisJCWhhc2h3cml0ZShmLCBpbmZvW2ldLnBhY2tfbmFtZSwgd3JpdGVsZW4pOwogCQl3cml0dGVuICs9IHdyaXRlbGVuOwogCX0KIApAQCAtNjkyLDYgKzcyNiw3IEBACiB9CiAKIHN0YXRpYyBzaXplX3Qgd3JpdGVfbWlkeF9vYmplY3Rfb2Zmc2V0cyhzdHJ1Y3QgaGFzaGZpbGUgKmYsIGludCBsYXJnZV9vZmZzZXRfbmVlZGVkLAorCQkJCQl1aW50MzJfdCAqcGVybSwKIAkJCQkJc3RydWN0IHBhY2tfbWlkeF9lbnRyeSAqb2JqZWN0cywgdWludDMyX3QgbnJfb2JqZWN0cykKIHsKIAlzdHJ1Y3QgcGFja19taWR4X2VudHJ5ICpsaXN0ID0gb2JqZWN0czsKQEAgLTcwMSw3ICs3MzYsMTIgQEAKIAlmb3IgKGkgPSAwOyBpIDwgbnJfb2JqZWN0czsgaSsrKSB7CiAJCXN0cnVjdCBwYWNrX21pZHhfZW50cnkgKm9iaiA9IGxpc3QrKzsKIAotCQloYXNod3JpdGVfYmUzMihmLCBvYmotPnBhY2tfaW50X2lkKTsKKwkJaWYgKHBlcm1bb2JqLT5wYWNrX2ludF9pZF0gPT0gUEFDS19FWFBJUkVEKQorCQkJQlVHKCJvYmplY3QgJXMgaXMgaW4gYW4gZXhwaXJlZCBwYWNrIHdpdGggaW50LWlkICVkIiwKKwkJCSAgICBvaWRfdG9faGV4KCZvYmotPm9pZCksCisJCQkgICAgb2JqLT5wYWNrX2ludF9pZCk7CisKKwkJaGFzaHdyaXRlX2JlMzIoZiwgcGVybVtvYmotPnBhY2tfaW50X2lkXSk7CiAKIAkJaWYgKGxhcmdlX29mZnNldF9uZWVkZWQgJiYgb2JqLT5vZmZzZXQgPj4gMzEpCiAJCQloYXNod3JpdGVfYmUzMihmLCBNSURYX0xBUkdFX09GRlNFVF9ORUVERUQgfCBucl9sYXJnZV9vZmZzZXQrKyk7CkBAIC03NDcsNyArNzg3LDggQEAKIAlyZXR1cm4gd3JpdHRlbjsKIH0KIAotaW50IHdyaXRlX21pZHhfZmlsZShjb25zdCBjaGFyICpvYmplY3RfZGlyKQorc3RhdGljIGludCB3cml0ZV9taWR4X2ludGVybmFsKGNvbnN0IGNoYXIgKm9iamVjdF9kaXIsIHN0cnVjdCBtdWx0aV9wYWNrX2luZGV4ICptLAorCQkJICAgICAgIHN0cnVjdCBzdHJpbmdfbGlzdCAqcGFja3NfdG9fZHJvcCwgdW5zaWduZWQgZmxhZ3MpCiB7CiAJdW5zaWduZWQgY2hhciBjdXJfY2h1bmssIG51bV9jaHVua3MgPSAwOwogCWNoYXIgKm1pZHhfbmFtZTsKQEAgLTc2MSw3ICs4MDIsMTEgQEAKIAl1aW50NjRfdCBjaHVua19vZmZzZXRzW01JRFhfTUFYX0NIVU5LUyArIDFdOwogCXVpbnQzMl90IG5yX2VudHJpZXMsIG51bV9sYXJnZV9vZmZzZXRzID0gMDsKIAlzdHJ1Y3QgcGFja19taWR4X2VudHJ5ICplbnRyaWVzID0gTlVMTDsKKwlzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzID0gTlVMTDsKIAlpbnQgbGFyZ2Vfb2Zmc2V0c19uZWVkZWQgPSAwOworCWludCBwYWNrX25hbWVfY29uY2F0X2xlbiA9IDA7CisJaW50IGRyb3BwZWRfcGFja3MgPSAwOworCWludCByZXN1bHQgPSAwOwogCiAJbWlkeF9uYW1lID0gZ2V0X21pZHhfZmlsZW5hbWUob2JqZWN0X2Rpcik7CiAJaWYgKHNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXMobWlkeF9uYW1lKSkgewpAQCAtNzcwLDQyICs4MTUsNDEgQEAKIAkJCSAgbWlkeF9uYW1lKTsKIAl9CiAKLQlwYWNrcy5tID0gbG9hZF9tdWx0aV9wYWNrX2luZGV4KG9iamVjdF9kaXIsIDEpOworCWlmIChtKQorCQlwYWNrcy5tID0gbTsKKwllbHNlCisJCXBhY2tzLm0gPSBsb2FkX211bHRpX3BhY2tfaW5kZXgob2JqZWN0X2RpciwgMSk7CiAKIAlwYWNrcy5uciA9IDA7Ci0JcGFja3MuYWxsb2NfbGlzdCA9IHBhY2tzLm0gPyBwYWNrcy5tLT5udW1fcGFja3MgOiAxNjsKLQlwYWNrcy5hbGxvY19uYW1lcyA9IHBhY2tzLmFsbG9jX2xpc3Q7Ci0JcGFja3MubGlzdCA9IE5VTEw7Ci0JcGFja3MubmFtZXMgPSBOVUxMOwotCXBhY2tzLnBhY2tfbmFtZV9jb25jYXRfbGVuID0gMDsKLQlBTExPQ19BUlJBWShwYWNrcy5saXN0LCBwYWNrcy5hbGxvY19saXN0KTsKLQlBTExPQ19BUlJBWShwYWNrcy5uYW1lcywgcGFja3MuYWxsb2NfbmFtZXMpOworCXBhY2tzLmFsbG9jID0gcGFja3MubSA/IHBhY2tzLm0tPm51bV9wYWNrcyA6IDE2OworCXBhY2tzLmluZm8gPSBOVUxMOworCUFMTE9DX0FSUkFZKHBhY2tzLmluZm8sIHBhY2tzLmFsbG9jKTsKIAogCWlmIChwYWNrcy5tKSB7CiAJCWZvciAoaSA9IDA7IGkgPCBwYWNrcy5tLT5udW1fcGFja3M7IGkrKykgewotCQkJQUxMT0NfR1JPVyhwYWNrcy5saXN0LCBwYWNrcy5uciArIDEsIHBhY2tzLmFsbG9jX2xpc3QpOwotCQkJQUxMT0NfR1JPVyhwYWNrcy5uYW1lcywgcGFja3MubnIgKyAxLCBwYWNrcy5hbGxvY19uYW1lcyk7CisJCQlBTExPQ19HUk9XKHBhY2tzLmluZm8sIHBhY2tzLm5yICsgMSwgcGFja3MuYWxsb2MpOwogCi0JCQlwYWNrcy5saXN0W3BhY2tzLm5yXSA9IE5VTEw7Ci0JCQlwYWNrcy5uYW1lc1twYWNrcy5ucl0gPSB4c3RyZHVwKHBhY2tzLm0tPnBhY2tfbmFtZXNbaV0pOwotCQkJcGFja3MucGFja19uYW1lX2NvbmNhdF9sZW4gKz0gc3RybGVuKHBhY2tzLm5hbWVzW3BhY2tzLm5yXSkgKyAxOworCQkJcGFja3MuaW5mb1twYWNrcy5ucl0ub3JpZ19wYWNrX2ludF9pZCA9IGk7CisJCQlwYWNrcy5pbmZvW3BhY2tzLm5yXS5wYWNrX25hbWUgPSB4c3RyZHVwKHBhY2tzLm0tPnBhY2tfbmFtZXNbaV0pOworCQkJcGFja3MuaW5mb1twYWNrcy5ucl0ucCA9IE5VTEw7CisJCQlwYWNrcy5pbmZvW3BhY2tzLm5yXS5leHBpcmVkID0gMDsKIAkJCXBhY2tzLm5yKys7CiAJCX0KIAl9CiAKLQlmb3JfZWFjaF9maWxlX2luX3BhY2tfZGlyKG9iamVjdF9kaXIsIGFkZF9wYWNrX3RvX21pZHgsICZwYWNrcyk7CisJcGFja3MucGFja19wYXRoc19jaGVja2VkID0gMDsKKwlpZiAoZmxhZ3MgJiBNSURYX1BST0dSRVNTKQorCQlwYWNrcy5wcm9ncmVzcyA9IHN0YXJ0X3Byb2dyZXNzKF8oIkFkZGluZyBwYWNrZmlsZXMgdG8gbXVsdGktcGFjay1pbmRleCIpLCAwKTsKKwllbHNlCisJCXBhY2tzLnByb2dyZXNzID0gTlVMTDsKIAotCWlmIChwYWNrcy5tICYmIHBhY2tzLm5yID09IHBhY2tzLm0tPm51bV9wYWNrcykKKwlmb3JfZWFjaF9maWxlX2luX3BhY2tfZGlyKG9iamVjdF9kaXIsIGFkZF9wYWNrX3RvX21pZHgsICZwYWNrcyk7CisJc3RvcF9wcm9ncmVzcygmcGFja3MucHJvZ3Jlc3MpOworCisJaWYgKHBhY2tzLm0gJiYgcGFja3MubnIgPT0gcGFja3MubS0+bnVtX3BhY2tzICYmICFwYWNrc190b19kcm9wKQogCQlnb3RvIGNsZWFudXA7CiAKLQlpZiAocGFja3MucGFja19uYW1lX2NvbmNhdF9sZW4gJSBNSURYX0NIVU5LX0FMSUdOTUVOVCkKLQkJcGFja3MucGFja19uYW1lX2NvbmNhdF9sZW4gKz0gTUlEWF9DSFVOS19BTElHTk1FTlQgLQotCQkJCQkgICAgICAocGFja3MucGFja19uYW1lX2NvbmNhdF9sZW4gJSBNSURYX0NIVU5LX0FMSUdOTUVOVCk7Ci0KLQlBTExPQ19BUlJBWShwYWNrX3Blcm0sIHBhY2tzLm5yKTsKLQlzb3J0X3BhY2tzX2J5X25hbWUocGFja3MubmFtZXMsIHBhY2tzLm5yLCBwYWNrX3Blcm0pOwotCi0JZW50cmllcyA9IGdldF9zb3J0ZWRfZW50cmllcyhwYWNrcy5tLCBwYWNrcy5saXN0LCBwYWNrX3Blcm0sIHBhY2tzLm5yLCAmbnJfZW50cmllcyk7CisJZW50cmllcyA9IGdldF9zb3J0ZWRfZW50cmllcyhwYWNrcy5tLCBwYWNrcy5pbmZvLCBwYWNrcy5uciwgJm5yX2VudHJpZXMpOwogCiAJZm9yIChpID0gMDsgaSA8IG5yX2VudHJpZXM7IGkrKykgewogCQlpZiAoZW50cmllc1tpXS5vZmZzZXQgPiAweDdmZmZmZmZmKQpAQCAtODE0LDYgKzg1OCw2MSBAQAogCQkJbGFyZ2Vfb2Zmc2V0c19uZWVkZWQgPSAxOwogCX0KIAorCVFTT1JUKHBhY2tzLmluZm8sIHBhY2tzLm5yLCBwYWNrX2luZm9fY29tcGFyZSk7CisKKwlpZiAocGFja3NfdG9fZHJvcCAmJiBwYWNrc190b19kcm9wLT5ucikgeworCQlpbnQgZHJvcF9pbmRleCA9IDA7CisJCWludCBtaXNzaW5nX2Ryb3BzID0gMDsKKworCQlmb3IgKGkgPSAwOyBpIDwgcGFja3MubnIgJiYgZHJvcF9pbmRleCA8IHBhY2tzX3RvX2Ryb3AtPm5yOyBpKyspIHsKKwkJCWludCBjbXAgPSBzdHJjbXAocGFja3MuaW5mb1tpXS5wYWNrX25hbWUsCisJCQkJCSBwYWNrc190b19kcm9wLT5pdGVtc1tkcm9wX2luZGV4XS5zdHJpbmcpOworCisJCQlpZiAoIWNtcCkgeworCQkJCWRyb3BfaW5kZXgrKzsKKwkJCQlwYWNrcy5pbmZvW2ldLmV4cGlyZWQgPSAxOworCQkJfSBlbHNlIGlmIChjbXAgPiAwKSB7CisJCQkJZXJyb3IoXygiZGlkIG5vdCBzZWUgcGFjay1maWxlICVzIHRvIGRyb3AiKSwKKwkJCQkgICAgICBwYWNrc190b19kcm9wLT5pdGVtc1tkcm9wX2luZGV4XS5zdHJpbmcpOworCQkJCWRyb3BfaW5kZXgrKzsKKwkJCQltaXNzaW5nX2Ryb3BzKys7CisJCQkJaS0tOworCQkJfSBlbHNlIHsKKwkJCQlwYWNrcy5pbmZvW2ldLmV4cGlyZWQgPSAwOworCQkJfQorCQl9CisKKwkJaWYgKG1pc3NpbmdfZHJvcHMpIHsKKwkJCXJlc3VsdCA9IDE7CisJCQlnb3RvIGNsZWFudXA7CisJCX0KKwl9CisKKwkvKgorCSAqIHBhY2tfcGVybSBzdG9yZXMgYSBwZXJtdXRhdGlvbiBiZXR3ZWVuIHBhY2staW50LWlkcyBmcm9tIHRoZQorCSAqIHByZXZpb3VzIG11bHRpLXBhY2staW5kZXggdG8gdGhlIG5ldyBvbmUgd2UgYXJlIHdyaXRpbmc6CisJICoKKwkgKiBwYWNrX3Blcm1bb2xkX2lkXSA9IG5ld19pZAorCSAqLworCUFMTE9DX0FSUkFZKHBhY2tfcGVybSwgcGFja3MubnIpOworCWZvciAoaSA9IDA7IGkgPCBwYWNrcy5ucjsgaSsrKSB7CisJCWlmIChwYWNrcy5pbmZvW2ldLmV4cGlyZWQpIHsKKwkJCWRyb3BwZWRfcGFja3MrKzsKKwkJCXBhY2tfcGVybVtwYWNrcy5pbmZvW2ldLm9yaWdfcGFja19pbnRfaWRdID0gUEFDS19FWFBJUkVEOworCQl9IGVsc2UgeworCQkJcGFja19wZXJtW3BhY2tzLmluZm9baV0ub3JpZ19wYWNrX2ludF9pZF0gPSBpIC0gZHJvcHBlZF9wYWNrczsKKwkJfQorCX0KKworCWZvciAoaSA9IDA7IGkgPCBwYWNrcy5ucjsgaSsrKSB7CisJCWlmICghcGFja3MuaW5mb1tpXS5leHBpcmVkKQorCQkJcGFja19uYW1lX2NvbmNhdF9sZW4gKz0gc3RybGVuKHBhY2tzLmluZm9baV0ucGFja19uYW1lKSArIDE7CisJfQorCisJaWYgKHBhY2tfbmFtZV9jb25jYXRfbGVuICUgTUlEWF9DSFVOS19BTElHTk1FTlQpCisJCXBhY2tfbmFtZV9jb25jYXRfbGVuICs9IE1JRFhfQ0hVTktfQUxJR05NRU5UIC0KKwkJCQkJKHBhY2tfbmFtZV9jb25jYXRfbGVuICUgTUlEWF9DSFVOS19BTElHTk1FTlQpOworCiAJaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZSgmbGssIG1pZHhfbmFtZSwgTE9DS19ESUVfT05fRVJST1IpOwogCWYgPSBoYXNoZmQobGsudGVtcGZpbGUtPmZkLCBsay50ZW1wZmlsZS0+ZmlsZW5hbWUuYnVmKTsKIAlGUkVFX0FORF9OVUxMKG1pZHhfbmFtZSk7CkBAIC04MjQsMTQgKzkyMywxNCBAQAogCWN1cl9jaHVuayA9IDA7CiAJbnVtX2NodW5rcyA9IGxhcmdlX29mZnNldHNfbmVlZGVkID8gNSA6IDQ7CiAKLQl3cml0dGVuID0gd3JpdGVfbWlkeF9oZWFkZXIoZiwgbnVtX2NodW5rcywgcGFja3MubnIpOworCXdyaXR0ZW4gPSB3cml0ZV9taWR4X2hlYWRlcihmLCBudW1fY2h1bmtzLCBwYWNrcy5uciAtIGRyb3BwZWRfcGFja3MpOwogCiAJY2h1bmtfaWRzW2N1cl9jaHVua10gPSBNSURYX0NIVU5LSURfUEFDS05BTUVTOwogCWNodW5rX29mZnNldHNbY3VyX2NodW5rXSA9IHdyaXR0ZW4gKyAobnVtX2NodW5rcyArIDEpICogTUlEWF9DSFVOS0xPT0tVUF9XSURUSDsKIAogCWN1cl9jaHVuaysrOwogCWNodW5rX2lkc1tjdXJfY2h1bmtdID0gTUlEWF9DSFVOS0lEX09JREZBTk9VVDsKLQljaHVua19vZmZzZXRzW2N1cl9jaHVua10gPSBjaHVua19vZmZzZXRzW2N1cl9jaHVuayAtIDFdICsgcGFja3MucGFja19uYW1lX2NvbmNhdF9sZW47CisJY2h1bmtfb2Zmc2V0c1tjdXJfY2h1bmtdID0gY2h1bmtfb2Zmc2V0c1tjdXJfY2h1bmsgLSAxXSArIHBhY2tfbmFtZV9jb25jYXRfbGVuOwogCiAJY3VyX2NodW5rKys7CiAJY2h1bmtfaWRzW2N1cl9jaHVua10gPSBNSURYX0NIVU5LSURfT0lETE9PS1VQOwpAQCAtODM5LDcgKzkzOCw3IEBACiAKIAljdXJfY2h1bmsrKzsKIAljaHVua19pZHNbY3VyX2NodW5rXSA9IE1JRFhfQ0hVTktJRF9PQkpFQ1RPRkZTRVRTOwotCWNodW5rX29mZnNldHNbY3VyX2NodW5rXSA9IGNodW5rX29mZnNldHNbY3VyX2NodW5rIC0gMV0gKyBucl9lbnRyaWVzICogTUlEWF9IQVNIX0xFTjsKKwljaHVua19vZmZzZXRzW2N1cl9jaHVua10gPSBjaHVua19vZmZzZXRzW2N1cl9jaHVuayAtIDFdICsgbnJfZW50cmllcyAqIHRoZV9oYXNoX2FsZ28tPnJhd3N6OwogCiAJY3VyX2NodW5rKys7CiAJY2h1bmtfb2Zmc2V0c1tjdXJfY2h1bmtdID0gY2h1bmtfb2Zmc2V0c1tjdXJfY2h1bmsgLSAxXSArIG5yX2VudHJpZXMgKiBNSURYX0NIVU5LX09GRlNFVF9XSURUSDsKQEAgLTg3MCw2ICs5NjksOSBAQAogCQl3cml0dGVuICs9IE1JRFhfQ0hVTktMT09LVVBfV0lEVEg7CiAJfQogCisJaWYgKGZsYWdzICYgTUlEWF9QUk9HUkVTUykKKwkJcHJvZ3Jlc3MgPSBzdGFydF9wcm9ncmVzcyhfKCJXcml0aW5nIGNodW5rcyB0byBtdWx0aS1wYWNrLWluZGV4IiksCisJCQkJCSAgbnVtX2NodW5rcyk7CiAJZm9yIChpID0gMDsgaSA8IG51bV9jaHVua3M7IGkrKykgewogCQlpZiAod3JpdHRlbiAhPSBjaHVua19vZmZzZXRzW2ldKQogCQkJQlVHKCJpbmNvcnJlY3QgY2h1bmsgb2Zmc2V0ICglIlBSSXU2NCIgIT0gJSJQUkl1NjQiKSBmb3IgY2h1bmsgaWQgJSJQUkl4MzIsCkBAIC04NzksNyArOTgxLDcgQEAKIAogCQlzd2l0Y2ggKGNodW5rX2lkc1tpXSkgewogCQkJY2FzZSBNSURYX0NIVU5LSURfUEFDS05BTUVTOgotCQkJCXdyaXR0ZW4gKz0gd3JpdGVfbWlkeF9wYWNrX25hbWVzKGYsIHBhY2tzLm5hbWVzLCBwYWNrcy5ucik7CisJCQkJd3JpdHRlbiArPSB3cml0ZV9taWR4X3BhY2tfbmFtZXMoZiwgcGFja3MuaW5mbywgcGFja3MubnIpOwogCQkJCWJyZWFrOwogCiAJCQljYXNlIE1JRFhfQ0hVTktJRF9PSURGQU5PVVQ6CkBAIC04ODcsMTEgKzk4OSwxMSBAQAogCQkJCWJyZWFrOwogCiAJCQljYXNlIE1JRFhfQ0hVTktJRF9PSURMT09LVVA6Ci0JCQkJd3JpdHRlbiArPSB3cml0ZV9taWR4X29pZF9sb29rdXAoZiwgTUlEWF9IQVNIX0xFTiwgZW50cmllcywgbnJfZW50cmllcyk7CisJCQkJd3JpdHRlbiArPSB3cml0ZV9taWR4X29pZF9sb29rdXAoZiwgdGhlX2hhc2hfYWxnby0+cmF3c3osIGVudHJpZXMsIG5yX2VudHJpZXMpOwogCQkJCWJyZWFrOwogCiAJCQljYXNlIE1JRFhfQ0hVTktJRF9PQkpFQ1RPRkZTRVRTOgotCQkJCXdyaXR0ZW4gKz0gd3JpdGVfbWlkeF9vYmplY3Rfb2Zmc2V0cyhmLCBsYXJnZV9vZmZzZXRzX25lZWRlZCwgZW50cmllcywgbnJfZW50cmllcyk7CisJCQkJd3JpdHRlbiArPSB3cml0ZV9taWR4X29iamVjdF9vZmZzZXRzKGYsIGxhcmdlX29mZnNldHNfbmVlZGVkLCBwYWNrX3Blcm0sIGVudHJpZXMsIG5yX2VudHJpZXMpOwogCQkJCWJyZWFrOwogCiAJCQljYXNlIE1JRFhfQ0hVTktJRF9MQVJHRU9GRlNFVFM6CkBAIC05MDIsNyArMTAwNCwxMCBAQAogCQkJCUJVRygidHJ5aW5nIHRvIHdyaXRlIHVua25vd24gY2h1bmsgaWQgJSJQUkl4MzIsCiAJCQkJICAgIGNodW5rX2lkc1tpXSk7CiAJCX0KKworCQlkaXNwbGF5X3Byb2dyZXNzKHByb2dyZXNzLCBpICsgMSk7CiAJfQorCXN0b3BfcHJvZ3Jlc3MoJnByb2dyZXNzKTsKIAogCWlmICh3cml0dGVuICE9IGNodW5rX29mZnNldHNbbnVtX2NodW5rc10pCiAJCUJVRygiaW5jb3JyZWN0IGZpbmFsIG9mZnNldCAlIlBSSXU2NCIgIT0gJSJQUkl1NjQsCkBAIC05MTQsMjQgKzEwMTksMjggQEAKIAogY2xlYW51cDoKIAlmb3IgKGkgPSAwOyBpIDwgcGFja3MubnI7IGkrKykgewotCQlpZiAocGFja3MubGlzdFtpXSkgewotCQkJY2xvc2VfcGFjayhwYWNrcy5saXN0W2ldKTsKLQkJCWZyZWUocGFja3MubGlzdFtpXSk7CisJCWlmIChwYWNrcy5pbmZvW2ldLnApIHsKKwkJCWNsb3NlX3BhY2socGFja3MuaW5mb1tpXS5wKTsKKwkJCWZyZWUocGFja3MuaW5mb1tpXS5wKTsKIAkJfQotCQlmcmVlKHBhY2tzLm5hbWVzW2ldKTsKKwkJZnJlZShwYWNrcy5pbmZvW2ldLnBhY2tfbmFtZSk7CiAJfQogCi0JZnJlZShwYWNrcy5saXN0KTsKLQlmcmVlKHBhY2tzLm5hbWVzKTsKKwlmcmVlKHBhY2tzLmluZm8pOwogCWZyZWUoZW50cmllcyk7CiAJZnJlZShwYWNrX3Blcm0pOwogCWZyZWUobWlkeF9uYW1lKTsKLQlyZXR1cm4gMDsKKwlyZXR1cm4gcmVzdWx0OworfQorCitpbnQgd3JpdGVfbWlkeF9maWxlKGNvbnN0IGNoYXIgKm9iamVjdF9kaXIsIHVuc2lnbmVkIGZsYWdzKQoreworCXJldHVybiB3cml0ZV9taWR4X2ludGVybmFsKG9iamVjdF9kaXIsIE5VTEwsIE5VTEwsIGZsYWdzKTsKIH0KIAogdm9pZCBjbGVhcl9taWR4X2ZpbGUoc3RydWN0IHJlcG9zaXRvcnkgKnIpCiB7Ci0JY2hhciAqbWlkeCA9IGdldF9taWR4X2ZpbGVuYW1lKHItPm9iamVjdHMtPm9iamVjdGRpcik7CisJY2hhciAqbWlkeCA9IGdldF9taWR4X2ZpbGVuYW1lKHItPm9iamVjdHMtPm9kYi0+cGF0aCk7CiAKIAlpZiAoci0+b2JqZWN0cyAmJiByLT5vYmplY3RzLT5tdWx0aV9wYWNrX2luZGV4KSB7CiAJCWNsb3NlX21pZHgoci0+b2JqZWN0cy0+bXVsdGlfcGFja19pbmRleCk7CkBAIC05NTgsMjAgKzEwNjcsNTMgQEAKIAl2YV9lbmQoYXApOwogfQogCi1pbnQgdmVyaWZ5X21pZHhfZmlsZShjb25zdCBjaGFyICpvYmplY3RfZGlyKQorc3RydWN0IHBhaXJfcG9zX3ZzX2lkCiB7CisJdWludDMyX3QgcG9zOworCXVpbnQzMl90IHBhY2tfaW50X2lkOworfTsKKworc3RhdGljIGludCBjb21wYXJlX3BhaXJfcG9zX3ZzX2lkKGNvbnN0IHZvaWQgKl9hLCBjb25zdCB2b2lkICpfYikKK3sKKwlzdHJ1Y3QgcGFpcl9wb3NfdnNfaWQgKmEgPSAoc3RydWN0IHBhaXJfcG9zX3ZzX2lkICopX2E7CisJc3RydWN0IHBhaXJfcG9zX3ZzX2lkICpiID0gKHN0cnVjdCBwYWlyX3Bvc192c19pZCAqKV9iOworCisJcmV0dXJuIGItPnBhY2tfaW50X2lkIC0gYS0+cGFja19pbnRfaWQ7Cit9CisKKy8qCisgKiBMaW1pdCBjYWxscyB0byBkaXNwbGF5X3Byb2dyZXNzKCkgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMuCisgKiBUaGUgaW50ZXJ2YWwgaGVyZSB3YXMgYXJiaXRyYXJpbHkgY2hvc2VuLgorICovCisjZGVmaW5lIFNQQVJTRV9QUk9HUkVTU19JTlRFUlZBTCAoMSA8PCAxMikKKyNkZWZpbmUgbWlkeF9kaXNwbGF5X3NwYXJzZV9wcm9ncmVzcyhwcm9ncmVzcywgbikgXAorCWRvIHsgXAorCQl1aW50NjRfdCBfbiA9IChuKTsgXAorCQlpZiAoKF9uICYgKFNQQVJTRV9QUk9HUkVTU19JTlRFUlZBTCAtIDEpKSA9PSAwKSBcCisJCQlkaXNwbGF5X3Byb2dyZXNzKHByb2dyZXNzLCBfbik7IFwKKwl9IHdoaWxlICgwKQorCitpbnQgdmVyaWZ5X21pZHhfZmlsZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqb2JqZWN0X2RpciwgdW5zaWduZWQgZmxhZ3MpCit7CisJc3RydWN0IHBhaXJfcG9zX3ZzX2lkICpwYWlycyA9IE5VTEw7CiAJdWludDMyX3QgaTsKLQlzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzOworCXN0cnVjdCBwcm9ncmVzcyAqcHJvZ3Jlc3MgPSBOVUxMOwogCXN0cnVjdCBtdWx0aV9wYWNrX2luZGV4ICptID0gbG9hZF9tdWx0aV9wYWNrX2luZGV4KG9iamVjdF9kaXIsIDEpOwogCXZlcmlmeV9taWR4X2Vycm9yID0gMDsKIAogCWlmICghbSkKIAkJcmV0dXJuIDA7CiAKKwlpZiAoZmxhZ3MgJiBNSURYX1BST0dSRVNTKQorCQlwcm9ncmVzcyA9IHN0YXJ0X3Byb2dyZXNzKF8oIkxvb2tpbmcgZm9yIHJlZmVyZW5jZWQgcGFja2ZpbGVzIiksCisJCQkJCSAgbS0+bnVtX3BhY2tzKTsKIAlmb3IgKGkgPSAwOyBpIDwgbS0+bnVtX3BhY2tzOyBpKyspIHsKLQkJaWYgKHByZXBhcmVfbWlkeF9wYWNrKG0sIGkpKQorCQlpZiAocHJlcGFyZV9taWR4X3BhY2sociwgbSwgaSkpCiAJCQltaWR4X3JlcG9ydCgiZmFpbGVkIHRvIGxvYWQgcGFjayBpbiBwb3NpdGlvbiAlZCIsIGkpOworCisJCWRpc3BsYXlfcHJvZ3Jlc3MocHJvZ3Jlc3MsIGkgKyAxKTsKIAl9CisJc3RvcF9wcm9ncmVzcygmcHJvZ3Jlc3MpOwogCiAJZm9yIChpID0gMDsgaSA8IDI1NTsgaSsrKSB7CiAJCXVpbnQzMl90IG9pZF9mYW5vdXQxID0gbnRvaGwobS0+Y2h1bmtfb2lkX2Zhbm91dFtpXSk7CkBAIC05ODIsNiArMTEyNCw5IEBACiAJCQkJICAgIGksIG9pZF9mYW5vdXQxLCBvaWRfZmFub3V0MiwgaSArIDEpOwogCX0KIAorCWlmIChmbGFncyAmIE1JRFhfUFJPR1JFU1MpCisJCXByb2dyZXNzID0gc3RhcnRfc3BhcnNlX3Byb2dyZXNzKF8oIlZlcmlmeWluZyBPSUQgb3JkZXIgaW4gbXVsdGktcGFjay1pbmRleCIpLAorCQkJCQkJIG0tPm51bV9vYmplY3RzIC0gMSk7CiAJZm9yIChpID0gMDsgaSA8IG0tPm51bV9vYmplY3RzIC0gMTsgaSsrKSB7CiAJCXN0cnVjdCBvYmplY3RfaWQgb2lkMSwgb2lkMjsKIApAQCAtOTkxLDE4ICsxMTM2LDQ5IEBACiAJCWlmIChvaWRjbXAoJm9pZDEsICZvaWQyKSA+PSAwKQogCQkJbWlkeF9yZXBvcnQoXygib2lkIGxvb2t1cCBvdXQgb2Ygb3JkZXI6IG9pZFslZF0gPSAlcyA+PSAlcyA9IG9pZFslZF0iKSwKIAkJCQkgICAgaSwgb2lkX3RvX2hleCgmb2lkMSksIG9pZF90b19oZXgoJm9pZDIpLCBpICsgMSk7CisKKwkJbWlkeF9kaXNwbGF5X3NwYXJzZV9wcm9ncmVzcyhwcm9ncmVzcywgaSArIDEpOworCX0KKwlzdG9wX3Byb2dyZXNzKCZwcm9ncmVzcyk7CisKKwkvKgorCSAqIENyZWF0ZSBhbiBhcnJheSBtYXBwaW5nIGVhY2ggb2JqZWN0IHRvIGl0cyBwYWNrZmlsZSBpZC4gIFNvcnQgaXQKKwkgKiB0byBncm91cCB0aGUgb2JqZWN0cyBieSBwYWNrZmlsZS4gIFVzZSB0aGlzIHBlcm11dGF0aW9uIHRvIHZpc2l0CisJICogZWFjaCBvZiB0aGUgb2JqZWN0cyBhbmQgb25seSByZXF1aXJlIDEgcGFja2ZpbGUgdG8gYmUgb3BlbiBhdCBhCisJICogdGltZS4KKwkgKi8KKwlBTExPQ19BUlJBWShwYWlycywgbS0+bnVtX29iamVjdHMpOworCWZvciAoaSA9IDA7IGkgPCBtLT5udW1fb2JqZWN0czsgaSsrKSB7CisJCXBhaXJzW2ldLnBvcyA9IGk7CisJCXBhaXJzW2ldLnBhY2tfaW50X2lkID0gbnRoX21pZHhlZF9wYWNrX2ludF9pZChtLCBpKTsKIAl9CiAKLQlwcm9ncmVzcyA9IHN0YXJ0X3Byb2dyZXNzKF8oIlZlcmlmeWluZyBvYmplY3Qgb2Zmc2V0cyIpLCBtLT5udW1fb2JqZWN0cyk7CisJaWYgKGZsYWdzICYgTUlEWF9QUk9HUkVTUykKKwkJcHJvZ3Jlc3MgPSBzdGFydF9zcGFyc2VfcHJvZ3Jlc3MoXygiU29ydGluZyBvYmplY3RzIGJ5IHBhY2tmaWxlIiksCisJCQkJCQkgbS0+bnVtX29iamVjdHMpOworCWRpc3BsYXlfcHJvZ3Jlc3MocHJvZ3Jlc3MsIDApOyAvKiBUT0RPOiBNZWFzdXJlIFFTT1JUKCkgcHJvZ3Jlc3MgKi8KKwlRU09SVChwYWlycywgbS0+bnVtX29iamVjdHMsIGNvbXBhcmVfcGFpcl9wb3NfdnNfaWQpOworCXN0b3BfcHJvZ3Jlc3MoJnByb2dyZXNzKTsKKworCWlmIChmbGFncyAmIE1JRFhfUFJPR1JFU1MpCisJCXByb2dyZXNzID0gc3RhcnRfc3BhcnNlX3Byb2dyZXNzKF8oIlZlcmlmeWluZyBvYmplY3Qgb2Zmc2V0cyIpLCBtLT5udW1fb2JqZWN0cyk7CiAJZm9yIChpID0gMDsgaSA8IG0tPm51bV9vYmplY3RzOyBpKyspIHsKIAkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJCXN0cnVjdCBwYWNrX2VudHJ5IGU7CiAJCW9mZl90IG1fb2Zmc2V0LCBwX29mZnNldDsKIAotCQludGhfbWlkeGVkX29iamVjdF9vaWQoJm9pZCwgbSwgaSk7Ci0JCWlmICghZmlsbF9taWR4X2VudHJ5KCZvaWQsICZlLCBtKSkgeworCQlpZiAoaSA+IDAgJiYgcGFpcnNbaS0xXS5wYWNrX2ludF9pZCAhPSBwYWlyc1tpXS5wYWNrX2ludF9pZCAmJgorCQkgICAgbS0+cGFja3NbcGFpcnNbaS0xXS5wYWNrX2ludF9pZF0pCisJCXsKKwkJCWNsb3NlX3BhY2tfZmQobS0+cGFja3NbcGFpcnNbaS0xXS5wYWNrX2ludF9pZF0pOworCQkJY2xvc2VfcGFja19pbmRleChtLT5wYWNrc1twYWlyc1tpLTFdLnBhY2tfaW50X2lkXSk7CisJCX0KKworCQludGhfbWlkeGVkX29iamVjdF9vaWQoJm9pZCwgbSwgcGFpcnNbaV0ucG9zKTsKKworCQlpZiAoIWZpbGxfbWlkeF9lbnRyeShyLCAmb2lkLCAmZSwgbSkpIHsKIAkJCW1pZHhfcmVwb3J0KF8oImZhaWxlZCB0byBsb2FkIHBhY2sgZW50cnkgZm9yIG9pZFslZF0gPSAlcyIpLAotCQkJCSAgICBpLCBvaWRfdG9faGV4KCZvaWQpKTsKKwkJCQkgICAgcGFpcnNbaV0ucG9zLCBvaWRfdG9faGV4KCZvaWQpKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKQEAgLTEwMTcsMTEgKzExOTMsMjI4IEBACiAKIAkJaWYgKG1fb2Zmc2V0ICE9IHBfb2Zmc2V0KQogCQkJbWlkeF9yZXBvcnQoXygiaW5jb3JyZWN0IG9iamVjdCBvZmZzZXQgZm9yIG9pZFslZF0gPSAlczogJSJQUkl4NjQiICE9ICUiUFJJeDY0KSwKLQkJCQkgICAgaSwgb2lkX3RvX2hleCgmb2lkKSwgbV9vZmZzZXQsIHBfb2Zmc2V0KTsKKwkJCQkgICAgcGFpcnNbaV0ucG9zLCBvaWRfdG9faGV4KCZvaWQpLCBtX29mZnNldCwgcF9vZmZzZXQpOwogCisJCW1pZHhfZGlzcGxheV9zcGFyc2VfcHJvZ3Jlc3MocHJvZ3Jlc3MsIGkgKyAxKTsKKwl9CisJc3RvcF9wcm9ncmVzcygmcHJvZ3Jlc3MpOworCisJZnJlZShwYWlycyk7CisKKwlyZXR1cm4gdmVyaWZ5X21pZHhfZXJyb3I7Cit9CisKK2ludCBleHBpcmVfbWlkeF9wYWNrcyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqb2JqZWN0X2RpciwgdW5zaWduZWQgZmxhZ3MpCit7CisJdWludDMyX3QgaSwgKmNvdW50LCByZXN1bHQgPSAwOworCXN0cnVjdCBzdHJpbmdfbGlzdCBwYWNrc190b19kcm9wID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CisJc3RydWN0IG11bHRpX3BhY2tfaW5kZXggKm0gPSBsb2FkX211bHRpX3BhY2tfaW5kZXgob2JqZWN0X2RpciwgMSk7CisJc3RydWN0IHByb2dyZXNzICpwcm9ncmVzcyA9IE5VTEw7CisKKwlpZiAoIW0pCisJCXJldHVybiAwOworCisJY291bnQgPSB4Y2FsbG9jKG0tPm51bV9wYWNrcywgc2l6ZW9mKHVpbnQzMl90KSk7CisKKwlpZiAoZmxhZ3MgJiBNSURYX1BST0dSRVNTKQorCQlwcm9ncmVzcyA9IHN0YXJ0X3Byb2dyZXNzKF8oIkNvdW50aW5nIHJlZmVyZW5jZWQgb2JqZWN0cyIpLAorCQkJCQkgIG0tPm51bV9vYmplY3RzKTsKKwlmb3IgKGkgPSAwOyBpIDwgbS0+bnVtX29iamVjdHM7IGkrKykgeworCQlpbnQgcGFja19pbnRfaWQgPSBudGhfbWlkeGVkX3BhY2tfaW50X2lkKG0sIGkpOworCQljb3VudFtwYWNrX2ludF9pZF0rKzsKIAkJZGlzcGxheV9wcm9ncmVzcyhwcm9ncmVzcywgaSArIDEpOwogCX0KIAlzdG9wX3Byb2dyZXNzKCZwcm9ncmVzcyk7CiAKLQlyZXR1cm4gdmVyaWZ5X21pZHhfZXJyb3I7CisJaWYgKGZsYWdzICYgTUlEWF9QUk9HUkVTUykKKwkJcHJvZ3Jlc3MgPSBzdGFydF9wcm9ncmVzcyhfKCJGaW5kaW5nIGFuZCBkZWxldGluZyB1bnJlZmVyZW5jZWQgcGFja2ZpbGVzIiksCisJCQkJCSAgbS0+bnVtX3BhY2tzKTsKKwlmb3IgKGkgPSAwOyBpIDwgbS0+bnVtX3BhY2tzOyBpKyspIHsKKwkJY2hhciAqcGFja19uYW1lOworCQlkaXNwbGF5X3Byb2dyZXNzKHByb2dyZXNzLCBpICsgMSk7CisKKwkJaWYgKGNvdW50W2ldKQorCQkJY29udGludWU7CisKKwkJaWYgKHByZXBhcmVfbWlkeF9wYWNrKHIsIG0sIGkpKQorCQkJY29udGludWU7CisKKwkJaWYgKG0tPnBhY2tzW2ldLT5wYWNrX2tlZXApCisJCQljb250aW51ZTsKKworCQlwYWNrX25hbWUgPSB4c3RyZHVwKG0tPnBhY2tzW2ldLT5wYWNrX25hbWUpOworCQljbG9zZV9wYWNrKG0tPnBhY2tzW2ldKTsKKworCQlzdHJpbmdfbGlzdF9pbnNlcnQoJnBhY2tzX3RvX2Ryb3AsIG0tPnBhY2tfbmFtZXNbaV0pOworCQl1bmxpbmtfcGFja19wYXRoKHBhY2tfbmFtZSwgMCk7CisJCWZyZWUocGFja19uYW1lKTsKKwl9CisJc3RvcF9wcm9ncmVzcygmcHJvZ3Jlc3MpOworCisJZnJlZShjb3VudCk7CisKKwlpZiAocGFja3NfdG9fZHJvcC5ucikKKwkJcmVzdWx0ID0gd3JpdGVfbWlkeF9pbnRlcm5hbChvYmplY3RfZGlyLCBtLCAmcGFja3NfdG9fZHJvcCwgZmxhZ3MpOworCisJc3RyaW5nX2xpc3RfY2xlYXIoJnBhY2tzX3RvX2Ryb3AsIDApOworCXJldHVybiByZXN1bHQ7Cit9CisKK3N0cnVjdCByZXBhY2tfaW5mbyB7CisJdGltZXN0YW1wX3QgbXRpbWU7CisJdWludDMyX3QgcmVmZXJlbmNlZF9vYmplY3RzOworCXVpbnQzMl90IHBhY2tfaW50X2lkOworfTsKKworc3RhdGljIGludCBjb21wYXJlX2J5X210aW1lKGNvbnN0IHZvaWQgKmFfLCBjb25zdCB2b2lkICpiXykKK3sKKwljb25zdCBzdHJ1Y3QgcmVwYWNrX2luZm8gKmEsICpiOworCisJYSA9IChjb25zdCBzdHJ1Y3QgcmVwYWNrX2luZm8gKilhXzsKKwliID0gKGNvbnN0IHN0cnVjdCByZXBhY2tfaW5mbyAqKWJfOworCisJaWYgKGEtPm10aW1lIDwgYi0+bXRpbWUpCisJCXJldHVybiAtMTsKKwlpZiAoYS0+bXRpbWUgPiBiLT5tdGltZSkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZmlsbF9pbmNsdWRlZF9wYWNrc19hbGwoc3RydWN0IG11bHRpX3BhY2tfaW5kZXggKm0sCisJCQkJICAgdW5zaWduZWQgY2hhciAqaW5jbHVkZV9wYWNrKQoreworCXVpbnQzMl90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbS0+bnVtX3BhY2tzOyBpKyspCisJCWluY2x1ZGVfcGFja1tpXSA9IDE7CisKKwlyZXR1cm4gbS0+bnVtX3BhY2tzIDwgMjsKK30KKworc3RhdGljIGludCBmaWxsX2luY2x1ZGVkX3BhY2tzX2JhdGNoKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSAgICAgc3RydWN0IG11bHRpX3BhY2tfaW5kZXggKm0sCisJCQkJICAgICB1bnNpZ25lZCBjaGFyICppbmNsdWRlX3BhY2ssCisJCQkJICAgICBzaXplX3QgYmF0Y2hfc2l6ZSkKK3sKKwl1aW50MzJfdCBpLCBwYWNrc190b19yZXBhY2s7CisJc2l6ZV90IHRvdGFsX3NpemU7CisJc3RydWN0IHJlcGFja19pbmZvICpwYWNrX2luZm8gPSB4Y2FsbG9jKG0tPm51bV9wYWNrcywgc2l6ZW9mKHN0cnVjdCByZXBhY2tfaW5mbykpOworCisJZm9yIChpID0gMDsgaSA8IG0tPm51bV9wYWNrczsgaSsrKSB7CisJCXBhY2tfaW5mb1tpXS5wYWNrX2ludF9pZCA9IGk7CisKKwkJaWYgKHByZXBhcmVfbWlkeF9wYWNrKHIsIG0sIGkpKQorCQkJY29udGludWU7CisKKwkJcGFja19pbmZvW2ldLm10aW1lID0gbS0+cGFja3NbaV0tPm10aW1lOworCX0KKworCWZvciAoaSA9IDA7IGJhdGNoX3NpemUgJiYgaSA8IG0tPm51bV9vYmplY3RzOyBpKyspIHsKKwkJdWludDMyX3QgcGFja19pbnRfaWQgPSBudGhfbWlkeGVkX3BhY2tfaW50X2lkKG0sIGkpOworCQlwYWNrX2luZm9bcGFja19pbnRfaWRdLnJlZmVyZW5jZWRfb2JqZWN0cysrOworCX0KKworCVFTT1JUKHBhY2tfaW5mbywgbS0+bnVtX3BhY2tzLCBjb21wYXJlX2J5X210aW1lKTsKKworCXRvdGFsX3NpemUgPSAwOworCXBhY2tzX3RvX3JlcGFjayA9IDA7CisJZm9yIChpID0gMDsgdG90YWxfc2l6ZSA8IGJhdGNoX3NpemUgJiYgaSA8IG0tPm51bV9wYWNrczsgaSsrKSB7CisJCWludCBwYWNrX2ludF9pZCA9IHBhY2tfaW5mb1tpXS5wYWNrX2ludF9pZDsKKwkJc3RydWN0IHBhY2tlZF9naXQgKnAgPSBtLT5wYWNrc1twYWNrX2ludF9pZF07CisJCXNpemVfdCBleHBlY3RlZF9zaXplOworCisJCWlmICghcCkKKwkJCWNvbnRpbnVlOworCQlpZiAob3Blbl9wYWNrX2luZGV4KHApIHx8ICFwLT5udW1fb2JqZWN0cykKKwkJCWNvbnRpbnVlOworCisJCWV4cGVjdGVkX3NpemUgPSAoc2l6ZV90KShwLT5wYWNrX3NpemUKKwkJCQkJICogcGFja19pbmZvW2ldLnJlZmVyZW5jZWRfb2JqZWN0cyk7CisJCWV4cGVjdGVkX3NpemUgLz0gcC0+bnVtX29iamVjdHM7CisKKwkJaWYgKGV4cGVjdGVkX3NpemUgPj0gYmF0Y2hfc2l6ZSkKKwkJCWNvbnRpbnVlOworCisJCXBhY2tzX3RvX3JlcGFjaysrOworCQl0b3RhbF9zaXplICs9IGV4cGVjdGVkX3NpemU7CisJCWluY2x1ZGVfcGFja1twYWNrX2ludF9pZF0gPSAxOworCX0KKworCWZyZWUocGFja19pbmZvKTsKKworCWlmICh0b3RhbF9zaXplIDwgYmF0Y2hfc2l6ZSB8fCBwYWNrc190b19yZXBhY2sgPCAyKQorCQlyZXR1cm4gMTsKKworCXJldHVybiAwOworfQorCitpbnQgbWlkeF9yZXBhY2soc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IGNoYXIgKm9iamVjdF9kaXIsIHNpemVfdCBiYXRjaF9zaXplLCB1bnNpZ25lZCBmbGFncykKK3sKKwlpbnQgcmVzdWx0ID0gMDsKKwl1aW50MzJfdCBpOworCXVuc2lnbmVkIGNoYXIgKmluY2x1ZGVfcGFjazsKKwlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjbWQgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiBiYXNlX25hbWUgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3QgbXVsdGlfcGFja19pbmRleCAqbSA9IGxvYWRfbXVsdGlfcGFja19pbmRleChvYmplY3RfZGlyLCAxKTsKKworCWlmICghbSkKKwkJcmV0dXJuIDA7CisKKwlpbmNsdWRlX3BhY2sgPSB4Y2FsbG9jKG0tPm51bV9wYWNrcywgc2l6ZW9mKHVuc2lnbmVkIGNoYXIpKTsKKworCWlmIChiYXRjaF9zaXplKSB7CisJCWlmIChmaWxsX2luY2x1ZGVkX3BhY2tzX2JhdGNoKHIsIG0sIGluY2x1ZGVfcGFjaywgYmF0Y2hfc2l6ZSkpCisJCQlnb3RvIGNsZWFudXA7CisJfSBlbHNlIGlmIChmaWxsX2luY2x1ZGVkX3BhY2tzX2FsbChtLCBpbmNsdWRlX3BhY2spKQorCQlnb3RvIGNsZWFudXA7CisKKwlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLCAicGFjay1vYmplY3RzIik7CisKKwlzdHJidWZfYWRkc3RyKCZiYXNlX25hbWUsIG9iamVjdF9kaXIpOworCXN0cmJ1Zl9hZGRzdHIoJmJhc2VfbmFtZSwgIi9wYWNrL3BhY2siKTsKKwlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLCBiYXNlX25hbWUuYnVmKTsKKworCWlmIChmbGFncyAmIE1JRFhfUFJPR1JFU1MpCisJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kLmFyZ3MsICItLXByb2dyZXNzIik7CisJZWxzZQorCQlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLCAiLXEiKTsKKworCXN0cmJ1Zl9yZWxlYXNlKCZiYXNlX25hbWUpOworCisJY21kLmdpdF9jbWQgPSAxOworCWNtZC5pbiA9IGNtZC5vdXQgPSAtMTsKKworCWlmIChzdGFydF9jb21tYW5kKCZjbWQpKSB7CisJCWVycm9yKF8oImNvdWxkIG5vdCBzdGFydCBwYWNrLW9iamVjdHMiKSk7CisJCXJlc3VsdCA9IDE7CisJCWdvdG8gY2xlYW51cDsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgbS0+bnVtX29iamVjdHM7IGkrKykgeworCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwkJdWludDMyX3QgcGFja19pbnRfaWQgPSBudGhfbWlkeGVkX3BhY2tfaW50X2lkKG0sIGkpOworCisJCWlmICghaW5jbHVkZV9wYWNrW3BhY2tfaW50X2lkXSkKKwkJCWNvbnRpbnVlOworCisJCW50aF9taWR4ZWRfb2JqZWN0X29pZCgmb2lkLCBtLCBpKTsKKwkJeHdyaXRlKGNtZC5pbiwgb2lkX3RvX2hleCgmb2lkKSwgdGhlX2hhc2hfYWxnby0+aGV4c3opOworCQl4d3JpdGUoY21kLmluLCAiXG4iLCAxKTsKKwl9CisJY2xvc2UoY21kLmluKTsKKworCWlmIChmaW5pc2hfY29tbWFuZCgmY21kKSkgeworCQllcnJvcihfKCJjb3VsZCBub3QgZmluaXNoIHBhY2stb2JqZWN0cyIpKTsKKwkJcmVzdWx0ID0gMTsKKwkJZ290byBjbGVhbnVwOworCX0KKworCXJlc3VsdCA9IHdyaXRlX21pZHhfaW50ZXJuYWwob2JqZWN0X2RpciwgbSwgTlVMTCwgZmxhZ3MpOworCW0gPSBOVUxMOworCitjbGVhbnVwOgorCWlmIChtKQorCQljbG9zZV9taWR4KG0pOworCWZyZWUoaW5jbHVkZV9wYWNrKTsKKwlyZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEvbWlkeC5oIGIvbWlkeC5oCmluZGV4IDc3NGY2NTIuLmU2ZmEzNTYgMTAwNjQ0Ci0tLSBhL21pZHguaAorKysgYi9taWR4LmgKQEAgLTUsNiArNSw3IEBACiAKIHN0cnVjdCBvYmplY3RfaWQ7CiBzdHJ1Y3QgcGFja19lbnRyeTsKK3N0cnVjdCByZXBvc2l0b3J5OwogCiAjZGVmaW5lIEdJVF9URVNUX01VTFRJX1BBQ0tfSU5ERVggIkdJVF9URVNUX01VTFRJX1BBQ0tfSU5ERVgiCiAKQEAgLTM2LDE5ICszNywyMyBAQAogCWNoYXIgb2JqZWN0X2RpcltGTEVYX0FSUkFZXTsKIH07CiAKKyNkZWZpbmUgTUlEWF9QUk9HUkVTUyAgICAgKDEgPDwgMCkKKwogc3RydWN0IG11bHRpX3BhY2tfaW5kZXggKmxvYWRfbXVsdGlfcGFja19pbmRleChjb25zdCBjaGFyICpvYmplY3RfZGlyLCBpbnQgbG9jYWwpOwotaW50IHByZXBhcmVfbWlkeF9wYWNrKHN0cnVjdCBtdWx0aV9wYWNrX2luZGV4ICptLCB1aW50MzJfdCBwYWNrX2ludF9pZCk7CitpbnQgcHJlcGFyZV9taWR4X3BhY2soc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBtdWx0aV9wYWNrX2luZGV4ICptLCB1aW50MzJfdCBwYWNrX2ludF9pZCk7CiBpbnQgYnNlYXJjaF9taWR4KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgc3RydWN0IG11bHRpX3BhY2tfaW5kZXggKm0sIHVpbnQzMl90ICpyZXN1bHQpOwogc3RydWN0IG9iamVjdF9pZCAqbnRoX21pZHhlZF9vYmplY3Rfb2lkKHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCQkJc3RydWN0IG11bHRpX3BhY2tfaW5kZXggKm0sCiAJCQkJCXVpbnQzMl90IG4pOwotaW50IGZpbGxfbWlkeF9lbnRyeShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHN0cnVjdCBwYWNrX2VudHJ5ICplLCBzdHJ1Y3QgbXVsdGlfcGFja19pbmRleCAqbSk7Ci1pbnQgbWlkeF9jb250YWluc19wYWNrKHN0cnVjdCBtdWx0aV9wYWNrX2luZGV4ICptLCBjb25zdCBjaGFyICppZHhfbmFtZSk7CitpbnQgZmlsbF9taWR4X2VudHJ5KHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHN0cnVjdCBwYWNrX2VudHJ5ICplLCBzdHJ1Y3QgbXVsdGlfcGFja19pbmRleCAqbSk7CitpbnQgbWlkeF9jb250YWluc19wYWNrKHN0cnVjdCBtdWx0aV9wYWNrX2luZGV4ICptLCBjb25zdCBjaGFyICppZHhfb3JfcGFja19uYW1lKTsKIGludCBwcmVwYXJlX211bHRpX3BhY2tfaW5kZXhfb25lKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBjaGFyICpvYmplY3RfZGlyLCBpbnQgbG9jYWwpOwogCi1pbnQgd3JpdGVfbWlkeF9maWxlKGNvbnN0IGNoYXIgKm9iamVjdF9kaXIpOworaW50IHdyaXRlX21pZHhfZmlsZShjb25zdCBjaGFyICpvYmplY3RfZGlyLCB1bnNpZ25lZCBmbGFncyk7CiB2b2lkIGNsZWFyX21pZHhfZmlsZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcik7Ci1pbnQgdmVyaWZ5X21pZHhfZmlsZShjb25zdCBjaGFyICpvYmplY3RfZGlyKTsKK2ludCB2ZXJpZnlfbWlkeF9maWxlKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBjaGFyICpvYmplY3RfZGlyLCB1bnNpZ25lZCBmbGFncyk7CitpbnQgZXhwaXJlX21pZHhfcGFja3Moc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IGNoYXIgKm9iamVjdF9kaXIsIHVuc2lnbmVkIGZsYWdzKTsKK2ludCBtaWR4X3JlcGFjayhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqb2JqZWN0X2Rpciwgc2l6ZV90IGJhdGNoX3NpemUsIHVuc2lnbmVkIGZsYWdzKTsKIAogdm9pZCBjbG9zZV9taWR4KHN0cnVjdCBtdWx0aV9wYWNrX2luZGV4ICptKTsKIApkaWZmIC0tZ2l0IGEvbmFtZS1oYXNoLmMgYi9uYW1lLWhhc2guYwppbmRleCA2MjNjYTY5Li5mYjUyNmEzIDEwMDY0NAotLS0gYS9uYW1lLWhhc2guYworKysgYi9uYW1lLWhhc2guYwpAQCAtNSw3ICs1LDYgQEAKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggTGludXMgVG9ydmFsZHMKICAqLwotI2RlZmluZSBOT19USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgInRocmVhZC11dGlscy5oIgogCkBAIC0xOCwxNCArMTcsMTYgQEAKIH07CiAKIHN0YXRpYyBpbnQgZGlyX2VudHJ5X2NtcChjb25zdCB2b2lkICp1bnVzZWRfY21wX2RhdGEsCi0JCQkgY29uc3Qgdm9pZCAqZW50cnksCi0JCQkgY29uc3Qgdm9pZCAqZW50cnlfb3Jfa2V5LAorCQkJIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplcHRyLAorCQkJIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeV9vcl9rZXksCiAJCQkgY29uc3Qgdm9pZCAqa2V5ZGF0YSkKIHsKLQljb25zdCBzdHJ1Y3QgZGlyX2VudHJ5ICplMSA9IGVudHJ5OwotCWNvbnN0IHN0cnVjdCBkaXJfZW50cnkgKmUyID0gZW50cnlfb3Jfa2V5OworCWNvbnN0IHN0cnVjdCBkaXJfZW50cnkgKmUxLCAqZTI7CiAJY29uc3QgY2hhciAqbmFtZSA9IGtleWRhdGE7CiAKKwllMSA9IGNvbnRhaW5lcl9vZihlcHRyLCBjb25zdCBzdHJ1Y3QgZGlyX2VudHJ5LCBlbnQpOworCWUyID0gY29udGFpbmVyX29mKGVudHJ5X29yX2tleSwgY29uc3Qgc3RydWN0IGRpcl9lbnRyeSwgZW50KTsKKwogCXJldHVybiBlMS0+bmFtZWxlbiAhPSBlMi0+bmFtZWxlbiB8fCBzdHJuY2FzZWNtcChlMS0+bmFtZSwKIAkJCW5hbWUgPyBuYW1lIDogZTItPm5hbWUsIGUxLT5uYW1lbGVuKTsKIH0KQEAgLTM0LDkgKzM1LDkgQEAKIAkJY29uc3QgY2hhciAqbmFtZSwgdW5zaWduZWQgaW50IG5hbWVsZW4sIHVuc2lnbmVkIGludCBoYXNoKQogewogCXN0cnVjdCBkaXJfZW50cnkga2V5OwotCWhhc2htYXBfZW50cnlfaW5pdCgma2V5LCBoYXNoKTsKKwloYXNobWFwX2VudHJ5X2luaXQoJmtleS5lbnQsIGhhc2gpOwogCWtleS5uYW1lbGVuID0gbmFtZWxlbjsKLQlyZXR1cm4gaGFzaG1hcF9nZXQoJmlzdGF0ZS0+ZGlyX2hhc2gsICZrZXksIG5hbWUpOworCXJldHVybiBoYXNobWFwX2dldF9lbnRyeSgmaXN0YXRlLT5kaXJfaGFzaCwgJmtleSwgZW50LCBuYW1lKTsKIH0KIAogc3RhdGljIHN0cnVjdCBkaXJfZW50cnkgKmZpbmRfZGlyX2VudHJ5KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLApAQCAtNjksOSArNzAsOSBAQAogCWlmICghZGlyKSB7CiAJCS8qIG5vdCBmb3VuZCwgY3JlYXRlIGl0IGFuZCBhZGQgdG8gaGFzaCB0YWJsZSAqLwogCQlGTEVYX0FMTE9DX01FTShkaXIsIG5hbWUsIGNlLT5uYW1lLCBuYW1lbGVuKTsKLQkJaGFzaG1hcF9lbnRyeV9pbml0KGRpciwgbWVtaWhhc2goY2UtPm5hbWUsIG5hbWVsZW4pKTsKKwkJaGFzaG1hcF9lbnRyeV9pbml0KCZkaXItPmVudCwgbWVtaWhhc2goY2UtPm5hbWUsIG5hbWVsZW4pKTsKIAkJZGlyLT5uYW1lbGVuID0gbmFtZWxlbjsKLQkJaGFzaG1hcF9hZGQoJmlzdGF0ZS0+ZGlyX2hhc2gsIGRpcik7CisJCWhhc2htYXBfYWRkKCZpc3RhdGUtPmRpcl9oYXNoLCAmZGlyLT5lbnQpOwogCiAJCS8qIHJlY3Vyc2l2ZWx5IGFkZCBtaXNzaW5nIHBhcmVudCBkaXJlY3RvcmllcyAqLwogCQlkaXItPnBhcmVudCA9IGhhc2hfZGlyX2VudHJ5KGlzdGF0ZSwgY2UsIG5hbWVsZW4pOwpAQCAtOTYsNyArOTcsNyBAQAogCXN0cnVjdCBkaXJfZW50cnkgKmRpciA9IGhhc2hfZGlyX2VudHJ5KGlzdGF0ZSwgY2UsIGNlX25hbWVsZW4oY2UpKTsKIAl3aGlsZSAoZGlyICYmICEoLS1kaXItPm5yKSkgewogCQlzdHJ1Y3QgZGlyX2VudHJ5ICpwYXJlbnQgPSBkaXItPnBhcmVudDsKLQkJaGFzaG1hcF9yZW1vdmUoJmlzdGF0ZS0+ZGlyX2hhc2gsIGRpciwgTlVMTCk7CisJCWhhc2htYXBfcmVtb3ZlKCZpc3RhdGUtPmRpcl9oYXNoLCAmZGlyLT5lbnQsIE5VTEwpOwogCQlmcmVlKGRpcik7CiAJCWRpciA9IHBhcmVudDsKIAl9CkBAIC0xMDcsMjAgKzEwOCwyMyBAQAogCWlmIChjZS0+Y2VfZmxhZ3MgJiBDRV9IQVNIRUQpCiAJCXJldHVybjsKIAljZS0+Y2VfZmxhZ3MgfD0gQ0VfSEFTSEVEOwotCWhhc2htYXBfZW50cnlfaW5pdChjZSwgbWVtaWhhc2goY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpKSk7Ci0JaGFzaG1hcF9hZGQoJmlzdGF0ZS0+bmFtZV9oYXNoLCBjZSk7CisJaGFzaG1hcF9lbnRyeV9pbml0KCZjZS0+ZW50LCBtZW1paGFzaChjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSkpKTsKKwloYXNobWFwX2FkZCgmaXN0YXRlLT5uYW1lX2hhc2gsICZjZS0+ZW50KTsKIAogCWlmIChpZ25vcmVfY2FzZSkKIAkJYWRkX2Rpcl9lbnRyeShpc3RhdGUsIGNlKTsKIH0KIAogc3RhdGljIGludCBjYWNoZV9lbnRyeV9jbXAoY29uc3Qgdm9pZCAqdW51c2VkX2NtcF9kYXRhLAotCQkJICAgY29uc3Qgdm9pZCAqZW50cnksCi0JCQkgICBjb25zdCB2b2lkICplbnRyeV9vcl9rZXksCisJCQkgICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZXB0ciwKKwkJCSAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeV9vcl9rZXksCiAJCQkgICBjb25zdCB2b2lkICpyZW1vdmUpCiB7Ci0JY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZTEgPSBlbnRyeTsKLQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlMiA9IGVudHJ5X29yX2tleTsKKwljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlMSwgKmNlMjsKKworCWNlMSA9IGNvbnRhaW5lcl9vZihlcHRyLCBjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnksIGVudCk7CisJY2UyID0gY29udGFpbmVyX29mKGVudHJ5X29yX2tleSwgY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5LCBlbnQpOworCiAJLyoKIAkgKiBGb3IgcmVtb3ZlX25hbWVfaGFzaCwgZmluZCB0aGUgZXhhY3QgZW50cnkgKHBvaW50ZXIgZXF1YWxpdHkpOyBmb3IKIAkgKiBpbmRleF9maWxlX2V4aXN0cywgZmluZCBhbGwgZW50cmllcyB3aXRoIG1hdGNoaW5nIGhhc2ggY29kZSBhbmQKQEAgLTEzNCw3ICsxMzgsNyBAQAogCiAvKgogICogU2V0IGEgbWluaW11bSBudW1iZXIgb2YgY2FjaGVfZW50cmllcyB0aGF0IHdlIHdpbGwgaGFuZGxlIHBlcgotICogdGhyZWFkIGFuZCB1c2UgdGhhdCB0byBkZWNpZGUgaG93IG1hbnkgdGhyZWFkcyB0byBydW4gKHVwdG8KKyAqIHRocmVhZCBhbmQgdXNlIHRoYXQgdG8gZGVjaWRlIGhvdyBtYW55IHRocmVhZHMgdG8gcnVuICh1cCB0bwogICogdGhlIG51bWJlciBvbiB0aGUgc3lzdGVtKS4KICAqCiAgKiBGb3IgZ3VpZGFuY2Ugc2V0dGluZyB0aGUgbG93ZXIgcGVyLXRocmVhZCBib3VuZCwgc2VlOgpAQCAtMjE0LDcgKzIxOCw3IEBACiAgKiBIb3dldmVyLCB0aGUgaGFzaG1hcCBpcyBnb2luZyB0byBwdXQgaXRlbXMgaW50byBidWNrZXQKICAqIGNoYWlucyBiYXNlZCBvbiB0aGVpciBoYXNoIHZhbHVlcy4gIFVzZSB0aGF0IHRvIGNyZWF0ZSBuCiAgKiBtdXRleGVzIGFuZCBsb2NrIG9uIG11dGV4W2J1Y2tldChoYXNoKSAlIG5dLiAgVGhpcyB3aWxsCi0gKiBkZWNyZWFzZSB0aGUgY29sbGlzaW9uIHJhdGUgYnkgKGhvcGVmdWxseSkgYnkgYSBmYWN0b3Igb2Ygbi4KKyAqIGRlY3JlYXNlIHRoZSBjb2xsaXNpb24gcmF0ZSBieSAoaG9wZWZ1bGx5KSBhIGZhY3RvciBvZiBuLgogICovCiBzdGF0aWMgdm9pZCBpbml0X2Rpcl9tdXRleCh2b2lkKQogewpAQCAtMjgxLDEwICsyODUsMTAgQEAKIAlkaXIgPSBmaW5kX2Rpcl9lbnRyeV9faGFzaChpc3RhdGUsIHByZWZpeC0+YnVmLCBwcmVmaXgtPmxlbiwgaGFzaCk7CiAJaWYgKCFkaXIpIHsKIAkJRkxFWF9BTExPQ19NRU0oZGlyLCBuYW1lLCBwcmVmaXgtPmJ1ZiwgcHJlZml4LT5sZW4pOwotCQloYXNobWFwX2VudHJ5X2luaXQoZGlyLCBoYXNoKTsKKwkJaGFzaG1hcF9lbnRyeV9pbml0KCZkaXItPmVudCwgaGFzaCk7CiAJCWRpci0+bmFtZWxlbiA9IHByZWZpeC0+bGVuOwogCQlkaXItPnBhcmVudCA9IHBhcmVudDsKLQkJaGFzaG1hcF9hZGQoJmlzdGF0ZS0+ZGlyX2hhc2gsIGRpcik7CisJCWhhc2htYXBfYWRkKCZpc3RhdGUtPmRpcl9oYXNoLCAmZGlyLT5lbnQpOwogCiAJCWlmIChwYXJlbnQpIHsKIAkJCXVubG9ja19kaXJfbXV0ZXgobG9ja19ucik7CkBAIC0zNDYsOCArMzUwLDkgQEAKIAllbHNlIHsKIAkJaW50IGJlZ2luID0ga19zdGFydDsKIAkJaW50IGVuZCA9IGtfZW5kOworCQlhc3NlcnQoYmVnaW4gPj0gMCk7CiAJCXdoaWxlIChiZWdpbiA8IGVuZCkgewotCQkJaW50IG1pZCA9IChiZWdpbiArIGVuZCkgPj4gMTsKKwkJCWludCBtaWQgPSBiZWdpbiArICgoZW5kIC0gYmVnaW4pID4+IDEpOwogCQkJaW50IGNtcCA9IHN0cm5jbXAoaXN0YXRlLT5jYWNoZVttaWRdLT5uYW1lLCBwcmVmaXgtPmJ1ZiwgcHJlZml4LT5sZW4pOwogCQkJaWYgKGNtcCA9PSAwKSAvKiBtaWQgaGFzIHNhbWUgcHJlZml4OyBsb29rIGluIHNlY29uZCBwYXJ0ICovCiAJCQkJYmVnaW4gPSBtaWQgKyAxOwpAQCAtNDcyLDggKzQ3Nyw4IEBACiAJZm9yIChrID0gMDsgayA8IGQtPmlzdGF0ZS0+Y2FjaGVfbnI7IGsrKykgewogCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlX2sgPSBkLT5pc3RhdGUtPmNhY2hlW2tdOwogCQljZV9rLT5jZV9mbGFncyB8PSBDRV9IQVNIRUQ7Ci0JCWhhc2htYXBfZW50cnlfaW5pdChjZV9rLCBkLT5sYXp5X2VudHJpZXNba10uaGFzaF9uYW1lKTsKLQkJaGFzaG1hcF9hZGQoJmQtPmlzdGF0ZS0+bmFtZV9oYXNoLCBjZV9rKTsKKwkJaGFzaG1hcF9lbnRyeV9pbml0KCZjZV9rLT5lbnQsIGQtPmxhenlfZW50cmllc1trXS5oYXNoX25hbWUpOworCQloYXNobWFwX2FkZCgmZC0+aXN0YXRlLT5uYW1lX2hhc2gsICZjZV9rLT5lbnQpOwogCX0KIAogCXJldHVybiBOVUxMOwpAQCAtNjI1LDcgKzYzMCw3IEBACiAJaWYgKCFpc3RhdGUtPm5hbWVfaGFzaF9pbml0aWFsaXplZCB8fCAhKGNlLT5jZV9mbGFncyAmIENFX0hBU0hFRCkpCiAJCXJldHVybjsKIAljZS0+Y2VfZmxhZ3MgJj0gfkNFX0hBU0hFRDsKLQloYXNobWFwX3JlbW92ZSgmaXN0YXRlLT5uYW1lX2hhc2gsIGNlLCBjZSk7CisJaGFzaG1hcF9yZW1vdmUoJmlzdGF0ZS0+bmFtZV9oYXNoLCAmY2UtPmVudCwgY2UpOwogCiAJaWYgKGlnbm9yZV9jYXNlKQogCQlyZW1vdmVfZGlyX2VudHJ5KGlzdGF0ZSwgY2UpOwpAQCAtNzAyLDE1ICs3MDcsMTUgQEAKIHN0cnVjdCBjYWNoZV9lbnRyeSAqaW5kZXhfZmlsZV9leGlzdHMoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLCBpbnQgaWNhc2UpCiB7CiAJc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKKwl1bnNpZ25lZCBpbnQgaGFzaCA9IG1lbWloYXNoKG5hbWUsIG5hbWVsZW4pOwogCiAJbGF6eV9pbml0X25hbWVfaGFzaChpc3RhdGUpOwogCi0JY2UgPSBoYXNobWFwX2dldF9mcm9tX2hhc2goJmlzdGF0ZS0+bmFtZV9oYXNoLAotCQkJCSAgIG1lbWloYXNoKG5hbWUsIG5hbWVsZW4pLCBOVUxMKTsKLQl3aGlsZSAoY2UpIHsKKwljZSA9IGhhc2htYXBfZ2V0X2VudHJ5X2Zyb21faGFzaCgmaXN0YXRlLT5uYW1lX2hhc2gsIGhhc2gsIE5VTEwsCisJCQkJCSBzdHJ1Y3QgY2FjaGVfZW50cnksIGVudCk7CisJaGFzaG1hcF9mb3JfZWFjaF9lbnRyeV9mcm9tKCZpc3RhdGUtPm5hbWVfaGFzaCwgY2UsIGVudCkgewogCQlpZiAoc2FtZV9uYW1lKGNlLCBuYW1lLCBuYW1lbGVuLCBpY2FzZSkpCiAJCQlyZXR1cm4gY2U7Ci0JCWNlID0gaGFzaG1hcF9nZXRfbmV4dCgmaXN0YXRlLT5uYW1lX2hhc2gsIGNlKTsKIAl9CiAJcmV0dXJuIE5VTEw7CiB9CkBAIC03MjEsNiArNzI2LDYgQEAKIAkJcmV0dXJuOwogCWlzdGF0ZS0+bmFtZV9oYXNoX2luaXRpYWxpemVkID0gMDsKIAotCWhhc2htYXBfZnJlZSgmaXN0YXRlLT5uYW1lX2hhc2gsIDApOwotCWhhc2htYXBfZnJlZSgmaXN0YXRlLT5kaXJfaGFzaCwgMSk7CisJaGFzaG1hcF9mcmVlKCZpc3RhdGUtPm5hbWVfaGFzaCk7CisJaGFzaG1hcF9mcmVlX2VudHJpZXMoJmlzdGF0ZS0+ZGlyX2hhc2gsIHN0cnVjdCBkaXJfZW50cnksIGVudCk7CiB9CmRpZmYgLS1naXQgYS9ub3Rlcy1jYWNoZS5jIGIvbm90ZXMtY2FjaGUuYwppbmRleCBkODdlN2NhLi4yNDczMzE0IDEwMDY0NAotLS0gYS9ub3Rlcy1jYWNoZS5jCisrKyBiL25vdGVzLWNhY2hlLmMKQEAgLTUsNyArNSw5IEBACiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAicmVmcy5oIgogCi1zdGF0aWMgaW50IG5vdGVzX2NhY2hlX21hdGNoX3ZhbGlkaXR5KGNvbnN0IGNoYXIgKnJlZiwgY29uc3QgY2hhciAqdmFsaWRpdHkpCitzdGF0aWMgaW50IG5vdGVzX2NhY2hlX21hdGNoX3ZhbGlkaXR5KHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSAgICAgIGNvbnN0IGNoYXIgKnJlZiwKKwkJCQkgICAgICBjb25zdCBjaGFyICp2YWxpZGl0eSkKIHsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CkBAIC0xNiw3ICsxOCw3IEBACiAJaWYgKHJlYWRfcmVmKHJlZiwgJm9pZCkgPCAwKQogCQlyZXR1cm4gMDsKIAotCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseSh0aGVfcmVwb3NpdG9yeSwgJm9pZCwgMSk7CisJY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHIsICZvaWQsIDEpOwogCWlmICghY29tbWl0KQogCQlyZXR1cm4gMDsKIApAQCAtMzAsOCArMzIsOCBAQAogCXJldHVybiByZXQ7CiB9CiAKLXZvaWQgbm90ZXNfY2FjaGVfaW5pdChzdHJ1Y3Qgbm90ZXNfY2FjaGUgKmMsIGNvbnN0IGNoYXIgKm5hbWUsCi0JCSAgICAgY29uc3QgY2hhciAqdmFsaWRpdHkpCit2b2lkIG5vdGVzX2NhY2hlX2luaXQoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBub3Rlc19jYWNoZSAqYywKKwkJICAgICAgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsaWRpdHkpCiB7CiAJc3RydWN0IHN0cmJ1ZiByZWYgPSBTVFJCVUZfSU5JVDsKIAlpbnQgZmxhZ3MgPSBOT1RFU19JTklUX1dSSVRBQkxFOwpAQCAtNDAsNyArNDIsNyBAQAogCWMtPnZhbGlkaXR5ID0geHN0cmR1cCh2YWxpZGl0eSk7CiAKIAlzdHJidWZfYWRkZigmcmVmLCAicmVmcy9ub3Rlcy8lcyIsIG5hbWUpOwotCWlmICghbm90ZXNfY2FjaGVfbWF0Y2hfdmFsaWRpdHkocmVmLmJ1ZiwgdmFsaWRpdHkpKQorCWlmICghbm90ZXNfY2FjaGVfbWF0Y2hfdmFsaWRpdHkociwgcmVmLmJ1ZiwgdmFsaWRpdHkpKQogCQlmbGFncyB8PSBOT1RFU19JTklUX0VNUFRZOwogCWluaXRfbm90ZXMoJmMtPnRyZWUsIHJlZi5idWYsIGNvbWJpbmVfbm90ZXNfb3ZlcndyaXRlLCBmbGFncyk7CiAJc3RyYnVmX3JlbGVhc2UoJnJlZik7CmRpZmYgLS1naXQgYS9ub3Rlcy1jYWNoZS5oIGIvbm90ZXMtY2FjaGUuaAppbmRleCBhZWVlZTg0Li41NmY4Yzk4IDEwMDY0NAotLS0gYS9ub3Rlcy1jYWNoZS5oCisrKyBiL25vdGVzLWNhY2hlLmgKQEAgLTMsMTMgKzMsMTUgQEAKIAogI2luY2x1ZGUgIm5vdGVzLmgiCiAKK3N0cnVjdCByZXBvc2l0b3J5OworCiBzdHJ1Y3Qgbm90ZXNfY2FjaGUgewogCXN0cnVjdCBub3Rlc190cmVlIHRyZWU7CiAJY2hhciAqdmFsaWRpdHk7CiB9OwogCi12b2lkIG5vdGVzX2NhY2hlX2luaXQoc3RydWN0IG5vdGVzX2NhY2hlICpjLCBjb25zdCBjaGFyICpuYW1lLAotCQkgICAgIGNvbnN0IGNoYXIgKnZhbGlkaXR5KTsKK3ZvaWQgbm90ZXNfY2FjaGVfaW5pdChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IG5vdGVzX2NhY2hlICpjLAorCQkgICAgICBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWxpZGl0eSk7CiBpbnQgbm90ZXNfY2FjaGVfd3JpdGUoc3RydWN0IG5vdGVzX2NhY2hlICpjKTsKIAogY2hhciAqbm90ZXNfY2FjaGVfZ2V0KHN0cnVjdCBub3Rlc19jYWNoZSAqYywgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBzaXplX3QKZGlmZiAtLWdpdCBhL25vdGVzLW1lcmdlLmMgYi9ub3Rlcy1tZXJnZS5jCmluZGV4IGJkMDVkNTAuLjJmZTcyNGYgMTAwNjQ0Ci0tLSBhL25vdGVzLW1lcmdlLmMKKysrIGIvbm90ZXMtbWVyZ2UuYwpAQCAtMTgsMjMgKzE4LDI1IEBACiAJc3RydWN0IG9iamVjdF9pZCBvYmosIGJhc2UsIGxvY2FsLCByZW1vdGU7CiB9OwogCi12b2lkIGluaXRfbm90ZXNfbWVyZ2Vfb3B0aW9ucyhzdHJ1Y3Qgbm90ZXNfbWVyZ2Vfb3B0aW9ucyAqbykKK3ZvaWQgaW5pdF9ub3Rlc19tZXJnZV9vcHRpb25zKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJICAgICAgc3RydWN0IG5vdGVzX21lcmdlX29wdGlvbnMgKm8pCiB7CiAJbWVtc2V0KG8sIDAsIHNpemVvZihzdHJ1Y3Qgbm90ZXNfbWVyZ2Vfb3B0aW9ucykpOwogCXN0cmJ1Zl9pbml0KCYoby0+Y29tbWl0X21zZyksIDApOwogCW8tPnZlcmJvc2l0eSA9IE5PVEVTX01FUkdFX1ZFUkJPU0lUWV9ERUZBVUxUOworCW8tPnJlcG8gPSByOwogfQogCiBzdGF0aWMgaW50IHBhdGhfdG9fb2lkKGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQljaGFyIGhleF9vaWRbR0lUX1NIQTFfSEVYU1pdOworCWNoYXIgaGV4X29pZFtHSVRfTUFYX0hFWFNaXTsKIAlpbnQgaSA9IDA7Ci0Jd2hpbGUgKCpwYXRoICYmIGkgPCBHSVRfU0hBMV9IRVhTWikgeworCXdoaWxlICgqcGF0aCAmJiBpIDwgdGhlX2hhc2hfYWxnby0+aGV4c3opIHsKIAkJaWYgKCpwYXRoICE9ICcvJykKIAkJCWhleF9vaWRbaSsrXSA9ICpwYXRoOwogCQlwYXRoKys7CiAJfQotCWlmICgqcGF0aCB8fCBpICE9IEdJVF9TSEExX0hFWFNaKQorCWlmICgqcGF0aCB8fCBpICE9IHRoZV9oYXNoX2FsZ28tPmhleHN6KQogCQlyZXR1cm4gLTE7CiAJcmV0dXJuIGdldF9vaWRfaGV4KGhleF9vaWQsIG9pZCk7CiB9CkBAIC0xMjcsNyArMTI5LDcgQEAKIAl0cmFjZV9wcmludGYoIlx0ZGlmZl90cmVlX3JlbW90ZShiYXNlID0gJS43cywgcmVtb3RlID0gJS43cylcbiIsCiAJICAgICAgIG9pZF90b19oZXgoYmFzZSksIG9pZF90b19oZXgocmVtb3RlKSk7CiAKLQlyZXBvX2RpZmZfc2V0dXAodGhlX3JlcG9zaXRvcnksICZvcHQpOworCXJlcG9fZGlmZl9zZXR1cChvLT5yZXBvLCAmb3B0KTsKIAlvcHQuZmxhZ3MucmVjdXJzaXZlID0gMTsKIAlvcHQub3V0cHV0X2Zvcm1hdCA9IERJRkZfRk9STUFUX05PX09VVFBVVDsKIAlkaWZmX3NldHVwX2RvbmUoJm9wdCk7CkBAIC0xOTAsNyArMTkyLDcgQEAKIAl0cmFjZV9wcmludGYoIlx0ZGlmZl90cmVlX2xvY2FsKGxlbiA9ICVpLCBiYXNlID0gJS43cywgbG9jYWwgPSAlLjdzKVxuIiwKIAkgICAgICAgbGVuLCBvaWRfdG9faGV4KGJhc2UpLCBvaWRfdG9faGV4KGxvY2FsKSk7CiAKLQlyZXBvX2RpZmZfc2V0dXAodGhlX3JlcG9zaXRvcnksICZvcHQpOworCXJlcG9fZGlmZl9zZXR1cChvLT5yZXBvLCAmb3B0KTsKIAlvcHQuZmxhZ3MucmVjdXJzaXZlID0gMTsKIAlvcHQub3V0cHV0X2Zvcm1hdCA9IERJRkZfRk9STUFUX05PX09VVFBVVDsKIAlkaWZmX3NldHVwX2RvbmUoJm9wdCk7CkBAIC0zNTAsNyArMzUyLDcgQEAKIAogCXN0YXR1cyA9IGxsX21lcmdlKCZyZXN1bHRfYnVmLCBvaWRfdG9faGV4KCZwLT5vYmopLCAmYmFzZSwgTlVMTCwKIAkJCSAgJmxvY2FsLCBvLT5sb2NhbF9yZWYsICZyZW1vdGUsIG8tPnJlbW90ZV9yZWYsCi0JCQkgICZ0aGVfaW5kZXgsIE5VTEwpOworCQkJICBvLT5yZXBvLT5pbmRleCwgTlVMTCk7CiAKIAlmcmVlKGJhc2UucHRyKTsKIAlmcmVlKGxvY2FsLnB0cik7CkBAIC01NTYsNyArNTU4LDcgQEAKIAllbHNlIGlmICghY2hlY2tfcmVmbmFtZV9mb3JtYXQoby0+bG9jYWxfcmVmLCAwKSAmJgogCQlpc19udWxsX29pZCgmbG9jYWxfb2lkKSkKIAkJbG9jYWwgPSBOVUxMOyAvKiBsb2NhbF9vaWQgPT0gbnVsbF9vaWQgaW5kaWNhdGVzIHVuYm9ybiByZWYgKi8KLQllbHNlIGlmICghKGxvY2FsID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UodGhlX3JlcG9zaXRvcnksICZsb2NhbF9vaWQpKSkKKwllbHNlIGlmICghKGxvY2FsID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uoby0+cmVwbywgJmxvY2FsX29pZCkpKQogCQlkaWUoIkNvdWxkIG5vdCBwYXJzZSBsb2NhbCBjb21taXQgJXMgKCVzKSIsCiAJCSAgICBvaWRfdG9faGV4KCZsb2NhbF9vaWQpLCBvLT5sb2NhbF9yZWYpOwogCXRyYWNlX3ByaW50ZigiXHRsb2NhbCBjb21taXQ6ICUuN3NcbiIsIG9pZF90b19oZXgoJmxvY2FsX29pZCkpOwpAQCAtNTc0LDcgKzU3Niw3IEBACiAJCQlkaWUoIkZhaWxlZCB0byByZXNvbHZlIHJlbW90ZSBub3RlcyByZWYgJyVzJyIsCiAJCQkgICAgby0+cmVtb3RlX3JlZik7CiAJCX0KLQl9IGVsc2UgaWYgKCEocmVtb3RlID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UodGhlX3JlcG9zaXRvcnksICZyZW1vdGVfb2lkKSkpIHsKKwl9IGVsc2UgaWYgKCEocmVtb3RlID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2Uoby0+cmVwbywgJnJlbW90ZV9vaWQpKSkgewogCQlkaWUoIkNvdWxkIG5vdCBwYXJzZSByZW1vdGUgY29tbWl0ICVzICglcykiLAogCQkgICAgb2lkX3RvX2hleCgmcmVtb3RlX29pZCksIG8tPnJlbW90ZV9yZWYpOwogCX0KQEAgLTY0Nyw3ICs2NDksNyBAQAogCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudHMgPSBOVUxMOwogCQljb21taXRfbGlzdF9pbnNlcnQocmVtb3RlLCAmcGFyZW50cyk7IC8qIExJRk8gb3JkZXIgKi8KIAkJY29tbWl0X2xpc3RfaW5zZXJ0KGxvY2FsLCAmcGFyZW50cyk7Ci0JCWNyZWF0ZV9ub3Rlc19jb21taXQobG9jYWxfdHJlZSwgcGFyZW50cywgby0+Y29tbWl0X21zZy5idWYsCisJCWNyZWF0ZV9ub3Rlc19jb21taXQoby0+cmVwbywgbG9jYWxfdHJlZSwgcGFyZW50cywgby0+Y29tbWl0X21zZy5idWYsCiAJCQkJICAgIG8tPmNvbW1pdF9tc2cubGVuLCByZXN1bHRfb2lkKTsKIAl9CiAKQEAgLTcxMSw3ICs3MTMsNyBAQAogCQkvKiB3cml0ZSBmaWxlIGFzIGJsb2IsIGFuZCBhZGQgdG8gcGFydGlhbF90cmVlICovCiAJCWlmIChzdGF0KHBhdGguYnVmLCAmc3QpKQogCQkJZGllX2Vycm5vKCJGYWlsZWQgdG8gc3RhdCAnJXMnIiwgcGF0aC5idWYpOwotCQlpZiAoaW5kZXhfcGF0aCgmdGhlX2luZGV4LCAmYmxvYl9vaWQsIHBhdGguYnVmLCAmc3QsIEhBU0hfV1JJVEVfT0JKRUNUKSkKKwkJaWYgKGluZGV4X3BhdGgoby0+cmVwby0+aW5kZXgsICZibG9iX29pZCwgcGF0aC5idWYsICZzdCwgSEFTSF9XUklURV9PQkpFQ1QpKQogCQkJZGllKCJGYWlsZWQgdG8gd3JpdGUgYmxvYiBvYmplY3QgZnJvbSAnJXMnIiwgcGF0aC5idWYpOwogCQlpZiAoYWRkX25vdGUocGFydGlhbF90cmVlLCAmb2JqX29pZCwgJmJsb2Jfb2lkLCBOVUxMKSkKIAkJCWRpZSgiRmFpbGVkIHRvIGFkZCByZXNvbHZlZCBub3RlICclcycgdG8gbm90ZXMgdHJlZSIsCkBAIC03MjIsNyArNzI0LDcgQEAKIAkJc3RyYnVmX3NldGxlbigmcGF0aCwgYmFzZWxlbik7CiAJfQogCi0JY3JlYXRlX25vdGVzX2NvbW1pdChwYXJ0aWFsX3RyZWUsIHBhcnRpYWxfY29tbWl0LT5wYXJlbnRzLCBtc2csCisJY3JlYXRlX25vdGVzX2NvbW1pdChvLT5yZXBvLCBwYXJ0aWFsX3RyZWUsIHBhcnRpYWxfY29tbWl0LT5wYXJlbnRzLCBtc2csCiAJCQkgICAgc3RybGVuKG1zZyksIHJlc3VsdF9vaWQpOwogCXVudXNlX2NvbW1pdF9idWZmZXIocGFydGlhbF9jb21taXQsIGJ1ZmZlcik7CiAJaWYgKG8tPnZlcmJvc2l0eSA+PSA0KQpkaWZmIC0tZ2l0IGEvbm90ZXMtbWVyZ2UuaCBiL25vdGVzLW1lcmdlLmgKaW5kZXggNmM3NGU5My4uOTlmOWM3MCAxMDA2NDQKLS0tIGEvbm90ZXMtbWVyZ2UuaAorKysgYi9ub3Rlcy1tZXJnZS5oCkBAIC02LDYgKzYsNyBAQAogCiBzdHJ1Y3QgY29tbWl0Owogc3RydWN0IG9iamVjdF9pZDsKK3N0cnVjdCByZXBvc2l0b3J5OwogCiAjZGVmaW5lIE5PVEVTX01FUkdFX1dPUktUUkVFICJOT1RFU19NRVJHRV9XT1JLVFJFRSIKIApAQCAtMTUsNiArMTYsNyBAQAogfTsKIAogc3RydWN0IG5vdGVzX21lcmdlX29wdGlvbnMgeworCXN0cnVjdCByZXBvc2l0b3J5ICpyZXBvOwogCWNvbnN0IGNoYXIgKmxvY2FsX3JlZjsKIAljb25zdCBjaGFyICpyZW1vdGVfcmVmOwogCXN0cnVjdCBzdHJidWYgY29tbWl0X21zZzsKQEAgLTIzLDcgKzI1LDggQEAKIAl1bnNpZ25lZCBoYXNfd29ya3RyZWU6MTsKIH07CiAKLXZvaWQgaW5pdF9ub3Rlc19tZXJnZV9vcHRpb25zKHN0cnVjdCBub3Rlc19tZXJnZV9vcHRpb25zICpvKTsKK3ZvaWQgaW5pdF9ub3Rlc19tZXJnZV9vcHRpb25zKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJICAgICAgc3RydWN0IG5vdGVzX21lcmdlX29wdGlvbnMgKm8pOwogCiAvKgogICogTWVyZ2Ugbm90ZXMgZnJvbSBvLT5yZW1vdGVfcmVmIGludG8gby0+bG9jYWxfcmVmCmRpZmYgLS1naXQgYS9ub3Rlcy11dGlscy5jIGIvbm90ZXMtdXRpbHMuYwppbmRleCAxNGVhMDMxLi40YmY0ODg4IDEwMDY0NAotLS0gYS9ub3Rlcy11dGlscy5jCisrKyBiL25vdGVzLXV0aWxzLmMKQEAgLTUsNyArNSw5IEBACiAjaW5jbHVkZSAibm90ZXMtdXRpbHMuaCIKICNpbmNsdWRlICJyZXBvc2l0b3J5LmgiCiAKLXZvaWQgY3JlYXRlX25vdGVzX2NvbW1pdChzdHJ1Y3Qgbm90ZXNfdHJlZSAqdCwgc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzLAordm9pZCBjcmVhdGVfbm90ZXNfY29tbWl0KHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJIHN0cnVjdCBub3Rlc190cmVlICp0LAorCQkJIHN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50cywKIAkJCSBjb25zdCBjaGFyICptc2csIHNpemVfdCBtc2dfbGVuLAogCQkJIHN0cnVjdCBvYmplY3RfaWQgKnJlc3VsdF9vaWQpCiB7CkBAIC0yMCw4ICsyMiw3IEBACiAJCS8qIERlZHVjZSBwYXJlbnQgY29tbWl0IGZyb20gdC0+cmVmICovCiAJCXN0cnVjdCBvYmplY3RfaWQgcGFyZW50X29pZDsKIAkJaWYgKCFyZWFkX3JlZih0LT5yZWYsICZwYXJlbnRfb2lkKSkgewotCQkJc3RydWN0IGNvbW1pdCAqcGFyZW50ID0gbG9va3VwX2NvbW1pdCh0aGVfcmVwb3NpdG9yeSwKLQkJCQkJCQkgICAgICAmcGFyZW50X29pZCk7CisJCQlzdHJ1Y3QgY29tbWl0ICpwYXJlbnQgPSBsb29rdXBfY29tbWl0KHIsICZwYXJlbnRfb2lkKTsKIAkJCWlmIChwYXJzZV9jb21taXQocGFyZW50KSkKIAkJCQlkaWUoIkZhaWxlZCB0byBmaW5kL3BhcnNlIGNvbW1pdCAlcyIsIHQtPnJlZik7CiAJCQljb21taXRfbGlzdF9pbnNlcnQocGFyZW50LCAmcGFyZW50cyk7CkBAIC0zNCw3ICszNSw3IEBACiAJCWRpZSgiRmFpbGVkIHRvIGNvbW1pdCBub3RlcyB0cmVlIHRvIGRhdGFiYXNlIik7CiB9CiAKLXZvaWQgY29tbWl0X25vdGVzKHN0cnVjdCBub3Rlc190cmVlICp0LCBjb25zdCBjaGFyICptc2cpCit2b2lkIGNvbW1pdF9ub3RlcyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IG5vdGVzX3RyZWUgKnQsIGNvbnN0IGNoYXIgKm1zZykKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBvYmplY3RfaWQgY29tbWl0X29pZDsKQEAgLTUwLDggKzUxLDggQEAKIAlzdHJidWZfYWRkc3RyKCZidWYsIG1zZyk7CiAJc3RyYnVmX2NvbXBsZXRlX2xpbmUoJmJ1Zik7CiAKLQljcmVhdGVfbm90ZXNfY29tbWl0KHQsIE5VTEwsIGJ1Zi5idWYsIGJ1Zi5sZW4sICZjb21taXRfb2lkKTsKLQlzdHJidWZfaW5zZXJ0KCZidWYsIDAsICJub3RlczogIiwgNyk7IC8qIGNvbW1pdCBtZXNzYWdlIHN0YXJ0cyBhdCBpbmRleCA3ICovCisJY3JlYXRlX25vdGVzX2NvbW1pdChyLCB0LCBOVUxMLCBidWYuYnVmLCBidWYubGVuLCAmY29tbWl0X29pZCk7CisJc3RyYnVmX2luc2VydHN0cigmYnVmLCAwLCAibm90ZXM6ICIpOwogCXVwZGF0ZV9yZWYoYnVmLmJ1ZiwgdC0+dXBkYXRlX3JlZiwgJmNvbW1pdF9vaWQsIE5VTEwsIDAsCiAJCSAgIFVQREFURV9SRUZTX0RJRV9PTl9FUlIpOwogCkBAIC0xNzEsMTEgKzE3MiwxMyBAQAogCXJldHVybiByZXQ7CiB9CiAKLXZvaWQgZmluaXNoX2NvcHlfbm90ZXNfZm9yX3Jld3JpdGUoc3RydWN0IG5vdGVzX3Jld3JpdGVfY2ZnICpjLCBjb25zdCBjaGFyICptc2cpCit2b2lkIGZpbmlzaF9jb3B5X25vdGVzX2Zvcl9yZXdyaXRlKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSAgIHN0cnVjdCBub3Rlc19yZXdyaXRlX2NmZyAqYywKKwkJCQkgICBjb25zdCBjaGFyICptc2cpCiB7CiAJaW50IGk7CiAJZm9yIChpID0gMDsgYy0+dHJlZXNbaV07IGkrKykgewotCQljb21taXRfbm90ZXMoYy0+dHJlZXNbaV0sIG1zZyk7CisJCWNvbW1pdF9ub3RlcyhyLCBjLT50cmVlc1tpXSwgbXNnKTsKIAkJZnJlZV9ub3RlcyhjLT50cmVlc1tpXSk7CiAJfQogCWZyZWUoYy0+dHJlZXMpOwpkaWZmIC0tZ2l0IGEvbm90ZXMtdXRpbHMuaCBiL25vdGVzLXV0aWxzLmgKaW5kZXggNTQwODMwNi4uZDliM2MwOSAxMDA2NDQKLS0tIGEvbm90ZXMtdXRpbHMuaAorKysgYi9ub3Rlcy11dGlscy5oCkBAIC01LDYgKzUsNyBAQAogCiBzdHJ1Y3QgY29tbWl0X2xpc3Q7CiBzdHJ1Y3Qgb2JqZWN0X2lkOworc3RydWN0IHJlcG9zaXRvcnk7CiAKIC8qCiAgKiBDcmVhdGUgbmV3IG5vdGVzIGNvbW1pdCBmcm9tIHRoZSBnaXZlbiBub3RlcyB0cmVlCkBAIC0xNywxMSArMTgsMTMgQEAKICAqCiAgKiBUaGUgcmVzdWx0aW5nIGNvbW1pdCBTSEExIGlzIHN0b3JlZCBpbiByZXN1bHRfc2hhMS4KICAqLwotdm9pZCBjcmVhdGVfbm90ZXNfY29tbWl0KHN0cnVjdCBub3Rlc190cmVlICp0LCBzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudHMsCit2b2lkIGNyZWF0ZV9ub3Rlc19jb21taXQoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgc3RydWN0IG5vdGVzX3RyZWUgKnQsCisJCQkgc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzLAogCQkJIGNvbnN0IGNoYXIgKm1zZywgc2l6ZV90IG1zZ19sZW4sCiAJCQkgc3RydWN0IG9iamVjdF9pZCAqcmVzdWx0X29pZCk7CiAKLXZvaWQgY29tbWl0X25vdGVzKHN0cnVjdCBub3Rlc190cmVlICp0LCBjb25zdCBjaGFyICptc2cpOwordm9pZCBjb21taXRfbm90ZXMoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBub3Rlc190cmVlICp0LCBjb25zdCBjaGFyICptc2cpOwogCiBlbnVtIG5vdGVzX21lcmdlX3N0cmF0ZWd5IHsKIAkJTk9URVNfTUVSR0VfUkVTT0xWRV9NQU5VQUwgPSAwLApAQCAtNDUsNiArNDgsOCBAQAogc3RydWN0IG5vdGVzX3Jld3JpdGVfY2ZnICppbml0X2NvcHlfbm90ZXNfZm9yX3Jld3JpdGUoY29uc3QgY2hhciAqY21kKTsKIGludCBjb3B5X25vdGVfZm9yX3Jld3JpdGUoc3RydWN0IG5vdGVzX3Jld3JpdGVfY2ZnICpjLAogCQkJICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpmcm9tX29iaiwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqdG9fb2JqKTsKLXZvaWQgZmluaXNoX2NvcHlfbm90ZXNfZm9yX3Jld3JpdGUoc3RydWN0IG5vdGVzX3Jld3JpdGVfY2ZnICpjLCBjb25zdCBjaGFyICptc2cpOwordm9pZCBmaW5pc2hfY29weV9ub3Rlc19mb3JfcmV3cml0ZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkgICBzdHJ1Y3Qgbm90ZXNfcmV3cml0ZV9jZmcgKmMsCisJCQkJICAgY29uc3QgY2hhciAqbXNnKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9ub3Rlcy5jIGIvbm90ZXMuYwppbmRleCAyNWNkY2UyLi41NjRiYWFjIDEwMDY0NAotLS0gYS9ub3Rlcy5jCisrKyBiL25vdGVzLmMKQEAgLTY3LDggKzY3LDkgQEAKIAogI2RlZmluZSBHRVRfTklCQkxFKG4sIHNoYTEpICgoKChzaGExKVsobikgPj4gMV0pID4+ICgofihuKSAmIDB4MDEpIDw8IDIpKSAmIDB4MGYpCiAKLSNkZWZpbmUgS0VZX0lOREVYIChHSVRfU0hBMV9SQVdTWiAtIDEpCi0jZGVmaW5lIEZBTk9VVF9QQVRIX1NFUEFSQVRPUlMgKChHSVRfU0hBMV9IRVhTWiAvIDIpIC0gMSkKKyNkZWZpbmUgS0VZX0lOREVYICh0aGVfaGFzaF9hbGdvLT5yYXdzeiAtIDEpCisjZGVmaW5lIEZBTk9VVF9QQVRIX1NFUEFSQVRPUlMgKHRoZV9oYXNoX2FsZ28tPnJhd3N6IC0gMSkKKyNkZWZpbmUgRkFOT1VUX1BBVEhfU0VQQVJBVE9SU19NQVggKChHSVRfTUFYX0hFWFNaIC8gMikgLSAxKQogI2RlZmluZSBTVUJUUkVFX1NIQTFfUFJFRklYQ01QKGtleV9zaGExLCBzdWJ0cmVlX3NoYTEpIFwKIAkobWVtY21wKGtleV9zaGExLCBzdWJ0cmVlX3NoYTEsIHN1YnRyZWVfc2hhMVtLRVlfSU5ERVhdKSkKIApAQCAtMTk4LDcgKzE5OSw3IEBACiAJCXN0cnVjdCBsZWFmX25vZGUgKmVudHJ5KQogewogCXN0cnVjdCBsZWFmX25vZGUgKmw7Ci0Jc3RydWN0IGludF9ub2RlICpwYXJlbnRfc3RhY2tbR0lUX1NIQTFfUkFXU1pdOworCXN0cnVjdCBpbnRfbm9kZSAqcGFyZW50X3N0YWNrW0dJVF9NQVhfUkFXU1pdOwogCXVuc2lnbmVkIGNoYXIgaSwgajsKIAl2b2lkICoqcCA9IG5vdGVfdHJlZV9zZWFyY2godCwgJnRyZWUsICZuLCBlbnRyeS0+a2V5X29pZC5oYXNoKTsKIApAQCAtMjY4LDggKzI2OSwxMCBAQAogCQljYXNlIFBUUl9UWVBFX05PVEU6CiAJCQlpZiAob2lkZXEoJmwtPmtleV9vaWQsICZlbnRyeS0+a2V5X29pZCkpIHsKIAkJCQkvKiBza2lwIGNvbmNhdGVuYXRpb24gaWYgbCA9PSBlbnRyeSAqLwotCQkJCWlmIChvaWRlcSgmbC0+dmFsX29pZCwgJmVudHJ5LT52YWxfb2lkKSkKKwkJCQlpZiAob2lkZXEoJmwtPnZhbF9vaWQsICZlbnRyeS0+dmFsX29pZCkpIHsKKwkJCQkJZnJlZShlbnRyeSk7CiAJCQkJCXJldHVybiAwOworCQkJCX0KIAogCQkJCXJldCA9IGNvbWJpbmVfbm90ZXMoJmwtPnZhbF9vaWQsCiAJCQkJCQkgICAgJmVudHJ5LT52YWxfb2lkKTsKQEAgLTM5NCwxNCArMzk3LDE1IEBACiAJdm9pZCAqYnVmOwogCXN0cnVjdCB0cmVlX2Rlc2MgZGVzYzsKIAlzdHJ1Y3QgbmFtZV9lbnRyeSBlbnRyeTsKKwljb25zdCB1bnNpZ25lZCBoYXNoc3ogPSB0aGVfaGFzaF9hbGdvLT5yYXdzejsKIAotCWJ1ZiA9IGZpbGxfdHJlZV9kZXNjcmlwdG9yKCZkZXNjLCAmc3VidHJlZS0+dmFsX29pZCk7CisJYnVmID0gZmlsbF90cmVlX2Rlc2NyaXB0b3IodGhlX3JlcG9zaXRvcnksICZkZXNjLCAmc3VidHJlZS0+dmFsX29pZCk7CiAJaWYgKCFidWYpCiAJCWRpZSgiQ291bGQgbm90IHJlYWQgJXMgZm9yIG5vdGVzLWluZGV4IiwKIAkJICAgICBvaWRfdG9faGV4KCZzdWJ0cmVlLT52YWxfb2lkKSk7CiAKIAlwcmVmaXhfbGVuID0gc3VidHJlZS0+a2V5X29pZC5oYXNoW0tFWV9JTkRFWF07Ci0JaWYgKHByZWZpeF9sZW4gPj0gR0lUX1NIQTFfUkFXU1opCisJaWYgKHByZWZpeF9sZW4gPj0gaGFzaHN6KQogCQlCVUcoInByZWZpeF9sZW4gKCUiUFJJdU1BWCIpIGlzIG91dCBvZiByYW5nZSIsICh1aW50bWF4X3QpcHJlZml4X2xlbik7CiAJaWYgKHByZWZpeF9sZW4gKiAyIDwgbikKIAkJQlVHKCJwcmVmaXhfbGVuICglIlBSSXVNQVgiKSBpcyB0b28gc21hbGwiLCAodWludG1heF90KXByZWZpeF9sZW4pOwpAQCAtNDExLDcgKzQxNSw3IEBACiAJCXN0cnVjdCBsZWFmX25vZGUgKmw7CiAJCXNpemVfdCBwYXRoX2xlbiA9IHN0cmxlbihlbnRyeS5wYXRoKTsKIAotCQlpZiAocGF0aF9sZW4gPT0gMiAqIChHSVRfU0hBMV9SQVdTWiAtIHByZWZpeF9sZW4pKSB7CisJCWlmIChwYXRoX2xlbiA9PSAyICogKGhhc2hzeiAtIHByZWZpeF9sZW4pKSB7CiAJCQkvKiBUaGlzIGlzIHBvdGVudGlhbGx5IHRoZSByZW1haW5kZXIgb2YgdGhlIFNIQS0xICovCiAKIAkJCWlmICghU19JU1JFRyhlbnRyeS5tb2RlKSkKQEAgLTQxOSw3ICs0MjMsNyBAQAogCQkJCWdvdG8gaGFuZGxlX25vbl9ub3RlOwogCiAJCQlpZiAoaGV4X3RvX2J5dGVzKG9iamVjdF9vaWQuaGFzaCArIHByZWZpeF9sZW4sIGVudHJ5LnBhdGgsCi0JCQkJCSBHSVRfU0hBMV9SQVdTWiAtIHByZWZpeF9sZW4pKQorCQkJCQkgaGFzaHN6IC0gcHJlZml4X2xlbikpCiAJCQkJZ290byBoYW5kbGVfbm9uX25vdGU7IC8qIGVudHJ5LnBhdGggaXMgbm90IGEgU0hBMSAqLwogCiAJCQl0eXBlID0gUFRSX1RZUEVfTk9URTsKQEAgLTQzOSw3ICs0NDMsNyBAQAogCQkJICogZXhjZXB0IGZvciB0aGUgbGFzdCBieXRlLCB3aGVyZSB3ZSB3cml0ZQogCQkJICogdGhlIGxlbmd0aDoKIAkJCSAqLwotCQkJbWVtc2V0KG9iamVjdF9vaWQuaGFzaCArIGxlbiwgMCwgR0lUX1NIQTFfUkFXU1ogLSBsZW4gLSAxKTsKKwkJCW1lbXNldChvYmplY3Rfb2lkLmhhc2ggKyBsZW4sIDAsIGhhc2hzeiAtIGxlbiAtIDEpOwogCQkJb2JqZWN0X29pZC5oYXNoW0tFWV9JTkRFWF0gPSAodW5zaWduZWQgY2hhcilsZW47CiAKIAkJCXR5cGUgPSBQVFJfVFlQRV9TVUJUUkVFOwpAQCAtNDUwLDEzICs0NTQsMTMgQEAKIAogCQlsID0geGNhbGxvYygxLCBzaXplb2YoKmwpKTsKIAkJb2lkY3B5KCZsLT5rZXlfb2lkLCAmb2JqZWN0X29pZCk7Ci0JCW9pZGNweSgmbC0+dmFsX29pZCwgZW50cnkub2lkKTsKKwkJb2lkY3B5KCZsLT52YWxfb2lkLCAmZW50cnkub2lkKTsKIAkJaWYgKG5vdGVfdHJlZV9pbnNlcnQodCwgbm9kZSwgbiwgbCwgdHlwZSwKIAkJCQkgICAgIGNvbWJpbmVfbm90ZXNfY29uY2F0ZW5hdGUpKQogCQkJZGllKCJGYWlsZWQgdG8gbG9hZCAlcyAlcyBpbnRvIG5vdGVzIHRyZWUgIgogCQkJICAgICJmcm9tICVzIiwKIAkJCSAgICB0eXBlID09IFBUUl9UWVBFX05PVEUgPyAibm90ZSIgOiAic3VidHJlZSIsCi0JCQkgICAgb2lkX3RvX2hleCgmbC0+a2V5X29pZCksIHQtPnJlZik7CisJCQkgICAgb2lkX3RvX2hleCgmb2JqZWN0X29pZCksIHQtPnJlZik7CiAKIAkJY29udGludWU7CiAKQEAgLTQ4MSw3ICs0ODUsNyBAQAogCQkJfQogCQkJc3RyYnVmX2FkZHN0cigmbm9uX25vdGVfcGF0aCwgZW50cnkucGF0aCk7CiAJCQlhZGRfbm9uX25vdGUodCwgc3RyYnVmX2RldGFjaCgmbm9uX25vdGVfcGF0aCwgTlVMTCksCi0JCQkJICAgICBlbnRyeS5tb2RlLCBlbnRyeS5vaWQtPmhhc2gpOworCQkJCSAgICAgZW50cnkubW9kZSwgZW50cnkub2lkLmhhc2gpOwogCQl9CiAJfQogCWZyZWUoYnVmKTsKQEAgLTUyNywyMiArNTMxLDIyIEBACiAJcmV0dXJuIGZhbm91dCArIDE7CiB9CiAKLS8qIGhleCBTSEExICsgMTkgKiAnLycgKyBOVUwgKi8KLSNkZWZpbmUgRkFOT1VUX1BBVEhfTUFYIEdJVF9TSEExX0hFWFNaICsgRkFOT1VUX1BBVEhfU0VQQVJBVE9SUyArIDEKKy8qIGhleCBvaWQgKyAnLycgYmV0d2VlbiBlYWNoIHBhaXIgb2YgaGV4IGRpZ2l0cyArIE5VTCAqLworI2RlZmluZSBGQU5PVVRfUEFUSF9NQVggR0lUX01BWF9IRVhTWiArIEZBTk9VVF9QQVRIX1NFUEFSQVRPUlNfTUFYICsgMQogCi1zdGF0aWMgdm9pZCBjb25zdHJ1Y3RfcGF0aF93aXRoX2Zhbm91dChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorc3RhdGljIHZvaWQgY29uc3RydWN0X3BhdGhfd2l0aF9mYW5vdXQoY29uc3QgdW5zaWduZWQgY2hhciAqaGFzaCwKIAkJdW5zaWduZWQgY2hhciBmYW5vdXQsIGNoYXIgKnBhdGgpCiB7CiAJdW5zaWduZWQgaW50IGkgPSAwLCBqID0gMDsKLQljb25zdCBjaGFyICpoZXhfc2hhMSA9IHNoYTFfdG9faGV4KHNoYTEpOwotCWFzc2VydChmYW5vdXQgPCBHSVRfU0hBMV9SQVdTWik7CisJY29uc3QgY2hhciAqaGV4X2hhc2ggPSBoYXNoX3RvX2hleChoYXNoKTsKKwlhc3NlcnQoZmFub3V0IDwgdGhlX2hhc2hfYWxnby0+cmF3c3opOwogCXdoaWxlIChmYW5vdXQpIHsKLQkJcGF0aFtpKytdID0gaGV4X3NoYTFbaisrXTsKLQkJcGF0aFtpKytdID0gaGV4X3NoYTFbaisrXTsKKwkJcGF0aFtpKytdID0gaGV4X2hhc2hbaisrXTsKKwkJcGF0aFtpKytdID0gaGV4X2hhc2hbaisrXTsKIAkJcGF0aFtpKytdID0gJy8nOwogCQlmYW5vdXQtLTsKIAl9Ci0JeHNucHJpbnRmKHBhdGggKyBpLCBGQU5PVVRfUEFUSF9NQVggLSBpLCAiJXMiLCBoZXhfc2hhMSArIGopOworCXhzbnByaW50ZihwYXRoICsgaSwgRkFOT1VUX1BBVEhfTUFYIC0gaSwgIiVzIiwgaGV4X2hhc2ggKyBqKTsKIH0KIAogc3RhdGljIGludCBmb3JfZWFjaF9ub3RlX2hlbHBlcihzdHJ1Y3Qgbm90ZXNfdHJlZSAqdCwgc3RydWN0IGludF9ub2RlICp0cmVlLApAQCAtNTcyLDE2ICs1NzYsMTYgQEAKIAkJCSAqIHRoZSBub3RlIHRyZWUgdGhhdCBoYXZlIG5vdCB5ZXQgYmVlbiBleHBsb3JlZC4gVGhlcmUKIAkJCSAqIGlzIGEgZGlyZWN0IHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHN1YnRyZWUgZW50cmllcyBhdAogCQkJICogbGV2ZWwgJ24nIGluIHRoZSB0cmVlLCBhbmQgdGhlICdmYW5vdXQnIHZhcmlhYmxlOgotCQkJICogU3VidHJlZSBlbnRyaWVzIGF0IGxldmVsICduIDw9IDIgKiBmYW5vdXQnIHNob3VsZCBiZQorCQkJICogU3VidHJlZSBlbnRyaWVzIGF0IGxldmVsICduIDwgMiAqIGZhbm91dCcgc2hvdWxkIGJlCiAJCQkgKiBwcmVzZXJ2ZWQsIHNpbmNlIHRoZXkgY29ycmVzcG9uZCBleGFjdGx5IHRvIGEgZmFub3V0CiAJCQkgKiBkaXJlY3RvcnkgaW4gdGhlIG9uLWRpc2sgc3RydWN0dXJlLiBIb3dldmVyLCBzdWJ0cmVlCi0JCQkgKiBlbnRyaWVzIGF0IGxldmVsICduID4gMiAqIGZhbm91dCcgc2hvdWxkIE5PVCBiZQorCQkJICogZW50cmllcyBhdCBsZXZlbCAnbiA+PSAyICogZmFub3V0JyBzaG91bGQgTk9UIGJlCiAJCQkgKiBwcmVzZXJ2ZWQsIGJ1dCByYXRoZXIgY29uc29saWRhdGVkIGludG8gdGhlIGFib3ZlCiAJCQkgKiBub3RlcyB0cmVlIGxldmVsLiBXZSBhY2hpZXZlIHRoaXMgYnkgdW5jb25kaXRpb25hbGx5CiAJCQkgKiB1bnBhY2tpbmcgc3VidHJlZSBlbnRyaWVzIHRoYXQgZXhpc3QgYmVsb3cgdGhlCiAJCQkgKiB0aHJlc2hvbGQgbGV2ZWwgYXQgJ24gPSAyICogZmFub3V0Jy4KIAkJCSAqLwotCQkJaWYgKG4gPD0gMiAqIGZhbm91dCAmJgorCQkJaWYgKG4gPCAyICogZmFub3V0ICYmCiAJCQkgICAgZmxhZ3MgJiBGT1JfRUFDSF9OT1RFX1lJRUxEX1NVQlRSRUVTKSB7CiAJCQkJLyogaW52b2tlIGNhbGxiYWNrIHdpdGggc3VidHJlZSAqLwogCQkJCXVuc2lnbmVkIGludCBwYXRoX2xlbiA9CkBAIC01OTgsNyArNjAyLDcgQEAKIAkJCQkJIHBhdGgsCiAJCQkJCSBjYl9kYXRhKTsKIAkJCX0KLQkJCWlmIChuID4gZmFub3V0ICogMiB8fAorCQkJaWYgKG4gPj0gMiAqIGZhbm91dCB8fAogCQkJICAgICEoZmxhZ3MgJiBGT1JfRUFDSF9OT1RFX0RPTlRfVU5QQUNLX1NVQlRSRUVTKSkgewogCQkJCS8qIHVucGFjayBzdWJ0cmVlIGFuZCByZXN1bWUgdHJhdmVyc2FsICovCiAJCQkJdHJlZS0+YVtpXSA9IE5VTEw7CkBAIC02MzcsMTAgKzY0MSwxMCBAQAogCiBzdGF0aWMgdm9pZCB3cml0ZV90cmVlX2VudHJ5KHN0cnVjdCBzdHJidWYgKmJ1ZiwgdW5zaWduZWQgaW50IG1vZGUsCiAJCWNvbnN0IGNoYXIgKnBhdGgsIHVuc2lnbmVkIGludCBwYXRoX2xlbiwgY29uc3QKLQkJdW5zaWduZWQgY2hhciAqc2hhMSkKKwkJdW5zaWduZWQgY2hhciAqaGFzaCkKIHsKIAlzdHJidWZfYWRkZihidWYsICIlbyAlLipzJWMiLCBtb2RlLCBwYXRoX2xlbiwgcGF0aCwgJ1wwJyk7Ci0Jc3RyYnVmX2FkZChidWYsIHNoYTEsIEdJVF9TSEExX1JBV1NaKTsKKwlzdHJidWZfYWRkKGJ1ZiwgaGFzaCwgdGhlX2hhc2hfYWxnby0+cmF3c3opOwogfQogCiBzdGF0aWMgdm9pZCB0cmVlX3dyaXRlX3N0YWNrX2luaXRfc3VidHJlZShzdHJ1Y3QgdHJlZV93cml0ZV9zdGFjayAqdHdzLApAQCAtNjUyLDcgKzY1Niw3IEBACiAJbiA9IChzdHJ1Y3QgdHJlZV93cml0ZV9zdGFjayAqKQogCQl4bWFsbG9jKHNpemVvZihzdHJ1Y3QgdHJlZV93cml0ZV9zdGFjaykpOwogCW4tPm5leHQgPSBOVUxMOwotCXN0cmJ1Zl9pbml0KCZuLT5idWYsIDI1NiAqICgzMiArIEdJVF9TSEExX0hFWFNaKSk7IC8qIGFzc3VtZSAyNTYgZW50cmllcyBwZXIgdHJlZSAqLworCXN0cmJ1Zl9pbml0KCZuLT5idWYsIDI1NiAqICgzMiArIHRoZV9oYXNoX2FsZ28tPmhleHN6KSk7IC8qIGFzc3VtZSAyNTYgZW50cmllcyBwZXIgdHJlZSAqLwogCW4tPnBhdGhbMF0gPSBuLT5wYXRoWzFdID0gJ1wwJzsKIAl0d3MtPm5leHQgPSBuOwogCXR3cy0+cGF0aFswXSA9IHBhdGhbMF07CkBAIC03MTksMTMgKzcyMywxNSBAQAogCiBzdHJ1Y3Qgd3JpdGVfZWFjaF9ub3RlX2RhdGEgewogCXN0cnVjdCB0cmVlX3dyaXRlX3N0YWNrICpyb290OwotCXN0cnVjdCBub25fbm90ZSAqbmV4dF9ub25fbm90ZTsKKwlzdHJ1Y3Qgbm9uX25vdGUgKipubl9saXN0OworCXN0cnVjdCBub25fbm90ZSAqbm5fcHJldjsKIH07CiAKIHN0YXRpYyBpbnQgd3JpdGVfZWFjaF9ub25fbm90ZV91bnRpbChjb25zdCBjaGFyICpub3RlX3BhdGgsCiAJCXN0cnVjdCB3cml0ZV9lYWNoX25vdGVfZGF0YSAqZCkKIHsKLQlzdHJ1Y3Qgbm9uX25vdGUgKm4gPSBkLT5uZXh0X25vbl9ub3RlOworCXN0cnVjdCBub25fbm90ZSAqcCA9IGQtPm5uX3ByZXY7CisJc3RydWN0IG5vbl9ub3RlICpuID0gcCA/IHAtPm5leHQgOiAqZC0+bm5fbGlzdDsKIAlpbnQgY21wID0gMCwgcmV0OwogCXdoaWxlIChuICYmICghbm90ZV9wYXRoIHx8IChjbXAgPSBzdHJjbXAobi0+cGF0aCwgbm90ZV9wYXRoKSkgPD0gMCkpIHsKIAkJaWYgKG5vdGVfcGF0aCAmJiBjbXAgPT0gMCkKQEAgLTczNiw5ICs3NDIsMTAgQEAKIAkJCWlmIChyZXQpCiAJCQkJcmV0dXJuIHJldDsKIAkJfQorCQlwID0gbjsKIAkJbiA9IG4tPm5leHQ7CiAJfQotCWQtPm5leHRfbm9uX25vdGUgPSBuOworCWQtPm5uX3ByZXYgPSBwOwogCXJldHVybiAwOwogfQogCkBAIC03NTcsNyArNzY0LDcgQEAKIAkJbm90ZV9wYXRoW25vdGVfcGF0aF9sZW5dID0gJ1wwJzsKIAkJbW9kZSA9IDA0MDAwMDsKIAl9Ci0JYXNzZXJ0KG5vdGVfcGF0aF9sZW4gPD0gR0lUX1NIQTFfSEVYU1ogKyBGQU5PVVRfUEFUSF9TRVBBUkFUT1JTKTsKKwlhc3NlcnQobm90ZV9wYXRoX2xlbiA8PSBHSVRfTUFYX0hFWFNaICsgRkFOT1VUX1BBVEhfU0VQQVJBVE9SUyk7CiAKIAkvKiBXZWF2ZSBub24tbm90ZSBlbnRyaWVzIGludG8gbm90ZSBlbnRyaWVzICovCiAJcmV0dXJuICB3cml0ZV9lYWNoX25vbl9ub3RlX3VudGlsKG5vdGVfcGF0aCwgZCkgfHwKQEAgLTk4Niw3ICs5OTMsNyBAQAogCQljb21iaW5lX25vdGVzX2ZuIGNvbWJpbmVfbm90ZXMsIGludCBmbGFncykKIHsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZCwgb2JqZWN0X29pZDsKLQl1bnNpZ25lZCBtb2RlOworCXVuc2lnbmVkIHNob3J0IG1vZGU7CiAJc3RydWN0IGxlYWZfbm9kZSByb290X3RyZWU7CiAKIAlpZiAoIXQpCkBAIC0xMDEzLDcgKzEwMjAsNyBAQAogCQlyZXR1cm47CiAJaWYgKGZsYWdzICYgTk9URVNfSU5JVF9XUklUQUJMRSAmJiByZWFkX3JlZihub3Rlc19yZWYsICZvYmplY3Rfb2lkKSkKIAkJZGllKCJDYW5ub3QgdXNlIG5vdGVzIHJlZiAlcyIsIG5vdGVzX3JlZik7Ci0JaWYgKGdldF90cmVlX2VudHJ5KCZvYmplY3Rfb2lkLCAiIiwgJm9pZCwgJm1vZGUpKQorCWlmIChnZXRfdHJlZV9lbnRyeSh0aGVfcmVwb3NpdG9yeSwgJm9iamVjdF9vaWQsICIiLCAmb2lkLCAmbW9kZSkpCiAJCWRpZSgiRmFpbGVkIHRvIHJlYWQgbm90ZXMgdHJlZSByZWZlcmVuY2VkIGJ5ICVzICglcykiLAogCQkgICAgbm90ZXNfcmVmLCBvaWRfdG9faGV4KCZvYmplY3Rfb2lkKSk7CiAKQEAgLTEwMzksNiArMTA0NiwzOSBAQAogCiB2b2lkIGluaXRfZGlzcGxheV9ub3RlcyhzdHJ1Y3QgZGlzcGxheV9ub3Rlc19vcHQgKm9wdCkKIHsKKwltZW1zZXQob3B0LCAwLCBzaXplb2YoKm9wdCkpOworCW9wdC0+dXNlX2RlZmF1bHRfbm90ZXMgPSAtMTsKK30KKwordm9pZCBlbmFibGVfZGVmYXVsdF9kaXNwbGF5X25vdGVzKHN0cnVjdCBkaXNwbGF5X25vdGVzX29wdCAqb3B0LCBpbnQgKnNob3dfbm90ZXMpCit7CisJb3B0LT51c2VfZGVmYXVsdF9ub3RlcyA9IDE7CisJKnNob3dfbm90ZXMgPSAxOworfQorCit2b2lkIGVuYWJsZV9yZWZfZGlzcGxheV9ub3RlcyhzdHJ1Y3QgZGlzcGxheV9ub3Rlc19vcHQgKm9wdCwgaW50ICpzaG93X25vdGVzLAorCQljb25zdCBjaGFyICpyZWYpIHsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgcmVmKTsKKwlleHBhbmRfbm90ZXNfcmVmKCZidWYpOworCXN0cmluZ19saXN0X2FwcGVuZCgmb3B0LT5leHRyYV9ub3Rlc19yZWZzLAorCQkJc3RyYnVmX2RldGFjaCgmYnVmLCBOVUxMKSk7CisJKnNob3dfbm90ZXMgPSAxOworfQorCit2b2lkIGRpc2FibGVfZGlzcGxheV9ub3RlcyhzdHJ1Y3QgZGlzcGxheV9ub3Rlc19vcHQgKm9wdCwgaW50ICpzaG93X25vdGVzKQoreworCW9wdC0+dXNlX2RlZmF1bHRfbm90ZXMgPSAtMTsKKwkvKiB3ZSBoYXZlIGJlZW4gc3RyZHVwJ2luZyBvdXJzZWx2ZXMsIHNvIHRyaWNrCisJICogc3RyaW5nX2xpc3QgaW50byBmcmVlKClpbmcgc3RyaW5ncyAqLworCW9wdC0+ZXh0cmFfbm90ZXNfcmVmcy5zdHJkdXBfc3RyaW5ncyA9IDE7CisJc3RyaW5nX2xpc3RfY2xlYXIoJm9wdC0+ZXh0cmFfbm90ZXNfcmVmcywgMCk7CisJb3B0LT5leHRyYV9ub3Rlc19yZWZzLnN0cmR1cF9zdHJpbmdzID0gMDsKKwkqc2hvd19ub3RlcyA9IDA7Cit9CisKK3ZvaWQgbG9hZF9kaXNwbGF5X25vdGVzKHN0cnVjdCBkaXNwbGF5X25vdGVzX29wdCAqb3B0KQorewogCWNoYXIgKmRpc3BsYXlfcmVmX2VudjsKIAlpbnQgbG9hZF9jb25maWdfcmVmcyA9IDA7CiAJZGlzcGxheV9ub3Rlc19yZWZzLnN0cmR1cF9zdHJpbmdzID0gMTsKQEAgLTExMzcsMTAgKzExNzcsMTEgQEAKIAogCS8qIFByZXBhcmUgZm9yIHRyYXZlcnNhbCBvZiBjdXJyZW50IG5vdGVzIHRyZWUgKi8KIAlyb290Lm5leHQgPSBOVUxMOyAvKiBsYXN0IGZvcndhcmQgZW50cnkgaW4gbGlzdCBpcyBncm91bmRlZCAqLwotCXN0cmJ1Zl9pbml0KCZyb290LmJ1ZiwgMjU2ICogKDMyICsgR0lUX1NIQTFfSEVYU1opKTsgLyogYXNzdW1lIDI1NiBlbnRyaWVzICovCisJc3RyYnVmX2luaXQoJnJvb3QuYnVmLCAyNTYgKiAoMzIgKyB0aGVfaGFzaF9hbGdvLT5oZXhzeikpOyAvKiBhc3N1bWUgMjU2IGVudHJpZXMgKi8KIAlyb290LnBhdGhbMF0gPSByb290LnBhdGhbMV0gPSAnXDAnOwogCWNiX2RhdGEucm9vdCA9ICZyb290OwotCWNiX2RhdGEubmV4dF9ub25fbm90ZSA9IHQtPmZpcnN0X25vbl9ub3RlOworCWNiX2RhdGEubm5fbGlzdCA9ICYodC0+Zmlyc3Rfbm9uX25vdGUpOworCWNiX2RhdGEubm5fcHJldiA9IE5VTEw7CiAKIAkvKiBXcml0ZSB0cmVlIG9iamVjdHMgcmVwcmVzZW50aW5nIGN1cnJlbnQgbm90ZXMgdHJlZSAqLwogCWZsYWdzID0gRk9SX0VBQ0hfTk9URV9ET05UX1VOUEFDS19TVUJUUkVFUyB8CkBAIC0xMTY1LDcgKzEyMDYsNyBAQAogCiAJd2hpbGUgKGwpIHsKIAkJaWYgKGZsYWdzICYgTk9URVNfUFJVTkVfVkVSQk9TRSkKLQkJCXByaW50ZigiJXNcbiIsIHNoYTFfdG9faGV4KGwtPnNoYTEpKTsKKwkJCXByaW50ZigiJXNcbiIsIGhhc2hfdG9faGV4KGwtPnNoYTEpKTsKIAkJaWYgKCEoZmxhZ3MgJiBOT1RFU19QUlVORV9EUllSVU4pKQogCQkJcmVtb3ZlX25vdGUodCwgbC0+c2hhMSk7CiAJCWwgPSBsLT5uZXh0OwpAQCAtMTI0MiwxMCArMTI4Myw4IEBACiAJCWlmICghcmVmIHx8ICFzdHJjbXAocmVmLCBHSVRfTk9URVNfREVGQVVMVF9SRUYpKSB7CiAJCQlzdHJidWZfYWRkc3RyKHNiLCAiXG5Ob3RlczpcbiIpOwogCQl9IGVsc2UgewotCQkJaWYgKHN0YXJ0c193aXRoKHJlZiwgInJlZnMvIikpCi0JCQkJcmVmICs9IDU7Ci0JCQlpZiAoc3RhcnRzX3dpdGgocmVmLCAibm90ZXMvIikpCi0JCQkJcmVmICs9IDY7CisJCQlza2lwX3ByZWZpeChyZWYsICJyZWZzLyIsICZyZWYpOworCQkJc2tpcF9wcmVmaXgocmVmLCAibm90ZXMvIiwgJnJlZik7CiAJCQlzdHJidWZfYWRkZihzYiwgIlxuTm90ZXMgKCVzKTpcbiIsIHJlZik7CiAJCX0KIAl9CkBAIC0xMjk1LDkgKzEzMzQsOSBAQAogCWlmIChzdGFydHNfd2l0aChzYi0+YnVmLCAicmVmcy9ub3Rlcy8iKSkKIAkJcmV0dXJuOyAvKiB3ZSdyZSBoYXBweSAqLwogCWVsc2UgaWYgKHN0YXJ0c193aXRoKHNiLT5idWYsICJub3Rlcy8iKSkKLQkJc3RyYnVmX2luc2VydChzYiwgMCwgInJlZnMvIiwgNSk7CisJCXN0cmJ1Zl9pbnNlcnRzdHIoc2IsIDAsICJyZWZzLyIpOwogCWVsc2UKLQkJc3RyYnVmX2luc2VydChzYiwgMCwgInJlZnMvbm90ZXMvIiwgMTEpOworCQlzdHJidWZfaW5zZXJ0c3RyKHNiLCAwLCAicmVmcy9ub3Rlcy8iKTsKIH0KIAogdm9pZCBleHBhbmRfbG9vc2Vfbm90ZXNfcmVmKHN0cnVjdCBzdHJidWYgKnNiKQpkaWZmIC0tZ2l0IGEvbm90ZXMuaCBiL25vdGVzLmgKaW5kZXggNDE0YmM2OC4uYzE2ODJjMyAxMDA2NDQKLS0tIGEvbm90ZXMuaAorKysgYi9ub3Rlcy5oCkBAIC0yNjEsNiArMjYxLDI2IEBACiB9OwogCiAvKgorICogSW5pdGlhbGl6ZSBhIGRpc3BsYXlfbm90ZXNfb3B0IHRvIGl0cyBkZWZhdWx0IHZhbHVlLgorICovCit2b2lkIGluaXRfZGlzcGxheV9ub3RlcyhzdHJ1Y3QgZGlzcGxheV9ub3Rlc19vcHQgKm9wdCk7CisKKy8qCisgKiBUaGlzIGZhbWlseSBvZiBmdW5jdGlvbnMgZW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgZGlzcGxheSBvZiBub3Rlcy4gSW4KKyAqIHBhcnRpY3VsYXIsICdlbmFibGVfZGVmYXVsdF9kaXNwbGF5X25vdGVzJyB3aWxsIGRpc3BsYXkgdGhlIGRlZmF1bHQgbm90ZXMsCisgKiAnZW5hYmxlX3JlZl9kaXNwbGF5X25vdGVzJyB3aWxsIGRpc3BsYXkgdGhlIG5vdGVzIHJlZiAncmVmJyBhbmQKKyAqICdkaXNhYmxlX2Rpc3BsYXlfbm90ZXMnIHdpbGwgZGlzYWJsZSBub3RlcywgaW5jbHVkaW5nIHRob3NlIGFkZGVkIGJ5IHByZXZpb3VzCisgKiBpbnZvY2F0aW9ucyBvZiB0aGUgJ2VuYWJsZV8qX2Rpc3BsYXlfbm90ZXMnIGZ1bmN0aW9ucy4KKyAqCisgKiAnc2hvd19ub3RlcycgaXMgYSBwb2ludGVyIHRvIGEgYm9vbGVhbiB3aGljaCB3aWxsIGJlIHNldCB0byAxIGlmIG5vdGVzIGFyZQorICogZGlzcGxheWVkLCBlbHNlIDAuIEl0IG11c3Qgbm90IGJlIE5VTEwuCisgKi8KK3ZvaWQgZW5hYmxlX2RlZmF1bHRfZGlzcGxheV9ub3RlcyhzdHJ1Y3QgZGlzcGxheV9ub3Rlc19vcHQgKm9wdCwgaW50ICpzaG93X25vdGVzKTsKK3ZvaWQgZW5hYmxlX3JlZl9kaXNwbGF5X25vdGVzKHN0cnVjdCBkaXNwbGF5X25vdGVzX29wdCAqb3B0LCBpbnQgKnNob3dfbm90ZXMsCisJCWNvbnN0IGNoYXIgKnJlZik7Cit2b2lkIGRpc2FibGVfZGlzcGxheV9ub3RlcyhzdHJ1Y3QgZGlzcGxheV9ub3Rlc19vcHQgKm9wdCwgaW50ICpzaG93X25vdGVzKTsKKworLyoKICAqIExvYWQgdGhlIG5vdGVzIG1hY2hpbmVyeSBmb3IgZGlzcGxheWluZyBzZXZlcmFsIG5vdGVzIHRyZWVzLgogICoKICAqIElmICdvcHQnIGlzIG5vdCBOVUxMLCB0aGVuIGl0IHNwZWNpZmllcyBhZGRpdGlvbmFsIHNldHRpbmdzIGZvciB0aGUKQEAgLTI3MiwxOCArMjkyLDE2IEBACiAgKiAtIGV4dHJhX25vdGVzX3JlZnMgbWF5IGNvbnRhaW4gYSBsaXN0IG9mIGdsb2JzIChpbiB0aGUgc2FtZSBzdHlsZQogICogICBhcyBub3Rlcy5kaXNwbGF5UmVmKSB3aGVyZSBub3RlcyBzaG91bGQgYmUgbG9hZGVkIGZyb20uCiAgKi8KLXZvaWQgaW5pdF9kaXNwbGF5X25vdGVzKHN0cnVjdCBkaXNwbGF5X25vdGVzX29wdCAqb3B0KTsKK3ZvaWQgbG9hZF9kaXNwbGF5X25vdGVzKHN0cnVjdCBkaXNwbGF5X25vdGVzX29wdCAqb3B0KTsKIAogLyoKICAqIEFwcGVuZCBub3RlcyBmb3IgdGhlIGdpdmVuICdvYmplY3Rfc2hhMScgZnJvbSBhbGwgdHJlZXMgc2V0IHVwIGJ5Ci0gKiBpbml0X2Rpc3BsYXlfbm90ZXMoKSB0byAnc2InLiAgVGhlICdmbGFncycgYXJlIGEgYml0d2lzZQotICogY29tYmluYXRpb24gb2YKKyAqIGxvYWRfZGlzcGxheV9ub3RlcygpIHRvICdzYicuCiAgKgotICogLSBOT1RFU19TSE9XX0hFQURFUjogYWRkIGEgJ05vdGVzIChyZWZuYW1lKTonIGhlYWRlcgorICogSWYgJ3JhdycgaXMgZmFsc2UgdGhlIG5vdGUgd2lsbCBiZSBpbmRlbnRlZCBieSA0IHBsYWNlcyBhbmQKKyAqIGEgJ05vdGVzIChyZWZuYW1lKTonIGhlYWRlciBhZGRlZC4KICAqCi0gKiAtIE5PVEVTX0lOREVOVDogaW5kZW50IHRoZSBub3RlcyBieSA0IHBsYWNlcwotICoKLSAqIFlvdSAqbXVzdCogY2FsbCBpbml0X2Rpc3BsYXlfbm90ZXMoKSBiZWZvcmUgdXNpbmcgdGhpcyBmdW5jdGlvbi4KKyAqIFlvdSAqbXVzdCogY2FsbCBsb2FkX2Rpc3BsYXlfbm90ZXMoKSBiZWZvcmUgdXNpbmcgdGhpcyBmdW5jdGlvbi4KICAqLwogdm9pZCBmb3JtYXRfZGlzcGxheV9ub3Rlcyhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvYmplY3Rfb2lkLAogCQkJICBzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqb3V0cHV0X2VuY29kaW5nLCBpbnQgcmF3KTsKZGlmZiAtLWdpdCBhL29iamVjdC1zdG9yZS5oIGIvb2JqZWN0LXN0b3JlLmgKaW5kZXggNjNiNzYwNS4uYmU3MmZlZSAxMDA2NDQKLS0tIGEvb2JqZWN0LXN0b3JlLmgKKysrIGIvb2JqZWN0LXN0b3JlLmgKQEAgLTYsNDAgKzYsMzYgQEAKICNpbmNsdWRlICJsaXN0LmgiCiAjaW5jbHVkZSAic2hhMS1hcnJheS5oIgogI2luY2x1ZGUgInN0cmJ1Zi5oIgorI2luY2x1ZGUgInRocmVhZC11dGlscy5oIgogCi1zdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSB7Ci0Jc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgKm5leHQ7Ci0KLQkvKiBzZWUgYWx0X3NjcmF0Y2hfYnVmKCkgKi8KLQlzdHJ1Y3Qgc3RyYnVmIHNjcmF0Y2g7Ci0Jc2l6ZV90IGJhc2VfbGVuOworc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgeworCXN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICpuZXh0OwogCiAJLyoKLQkgKiBVc2VkIHRvIHN0b3JlIHRoZSByZXN1bHRzIG9mIHJlYWRkaXIoMykgY2FsbHMgd2hlbiBzZWFyY2hpbmcKLQkgKiBmb3IgdW5pcXVlIGFiYnJldmlhdGVkIGhhc2hlcy4gIFRoaXMgY2FjaGUgaXMgbmV2ZXIKLQkgKiBpbnZhbGlkYXRlZCwgdGh1cyBpdCdzIHJhY3kgYW5kIG5vdCBuZWNlc3NhcmlseSBhY2N1cmF0ZS4KLQkgKiBUaGF0J3MgZmluZSBmb3IgaXRzIHB1cnBvc2U7IGRvbid0IHVzZSBpdCBmb3IgdGFza3MgcmVxdWlyaW5nCi0JICogZ3JlYXRlciBhY2N1cmFjeSEKKwkgKiBVc2VkIHRvIHN0b3JlIHRoZSByZXN1bHRzIG9mIHJlYWRkaXIoMykgY2FsbHMgd2hlbiB3ZSBhcmUgT0sKKwkgKiBzYWNyaWZpY2luZyBhY2N1cmFjeSBkdWUgdG8gcmFjZXMgZm9yIHNwZWVkLiBUaGF0IGluY2x1ZGVzCisJICogb2JqZWN0IGV4aXN0ZW5jZSB3aXRoIE9CSkVDVF9JTkZPX1FVSUNLLCBhcyB3ZWxsIGFzCisJICogb3VyIHNlYXJjaCBmb3IgdW5pcXVlIGFiYnJldmlhdGVkIGhhc2hlcy4gRG9uJ3QgdXNlIGl0IGZvciB0YXNrcworCSAqIHJlcXVpcmluZyBncmVhdGVyIGFjY3VyYWN5IQorCSAqCisJICogQmUgc3VyZSB0byBjYWxsIG9kYl9sb2FkX2xvb3NlX2NhY2hlKCkgYmVmb3JlIHVzaW5nLgogCSAqLwogCWNoYXIgbG9vc2Vfb2JqZWN0c19zdWJkaXJfc2VlblsyNTZdOwotCXN0cnVjdCBvaWRfYXJyYXkgbG9vc2Vfb2JqZWN0c19jYWNoZTsKKwlzdHJ1Y3Qgb2lkX2FycmF5IGxvb3NlX29iamVjdHNfY2FjaGVbMjU2XTsKIAogCS8qCiAJICogUGF0aCB0byB0aGUgYWx0ZXJuYXRpdmUgb2JqZWN0IHN0b3JlLiBJZiB0aGlzIGlzIGEgcmVsYXRpdmUgcGF0aCwKIAkgKiBpdCBpcyByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4KIAkgKi8KLQljaGFyIHBhdGhbRkxFWF9BUlJBWV07CisJY2hhciAqcGF0aDsKIH07CisKIHZvaWQgcHJlcGFyZV9hbHRfb2RiKHN0cnVjdCByZXBvc2l0b3J5ICpyKTsKIGNoYXIgKmNvbXB1dGVfYWx0ZXJuYXRlX3BhdGgoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0cmJ1ZiAqZXJyKTsKLXR5cGVkZWYgaW50IGFsdF9vZGJfZm4oc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgKiwgdm9pZCAqKTsKK3R5cGVkZWYgaW50IGFsdF9vZGJfZm4oc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKiwgdm9pZCAqKTsKIGludCBmb3JlYWNoX2FsdF9vZGIoYWx0X29kYl9mbiwgdm9pZCopOwotCi0vKgotICogQWxsb2NhdGUgYSAic3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UiIGJ1dCBkbyBfbm90XyBhY3R1YWxseQotICogYWRkIGl0IHRvIHRoZSBsaXN0IG9mIGFsdGVybmF0ZXMuCi0gKi8KLXN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICphbGxvY19hbHRfb2RiKGNvbnN0IGNoYXIgKmRpcik7Cit0eXBlZGVmIHZvaWQgYWx0ZXJuYXRlX3JlZl9mbihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHZvaWQgKik7Cit2b2lkIGZvcl9lYWNoX2FsdGVybmF0ZV9yZWYoYWx0ZXJuYXRlX3JlZl9mbiwgdm9pZCAqKTsKIAogLyoKICAqIEFkZCB0aGUgZGlyZWN0b3J5IHRvIHRoZSBvbi1kaXNrIGFsdGVybmF0ZXMgZmlsZTsgdGhlIG5ldyBlbnRyeSB3aWxsIGFsc28KQEAgLTU1LDE0ICs1MSwxNyBAQAogdm9pZCBhZGRfdG9fYWx0ZXJuYXRlc19tZW1vcnkoY29uc3QgY2hhciAqZGlyKTsKIAogLyoKLSAqIFJldHVybnMgYSBzY3JhdGNoIHN0cmJ1ZiBwcmUtZmlsbGVkIHdpdGggdGhlIGFsdGVybmF0ZSBvYmplY3QgZGlyZWN0b3J5LAotICogaW5jbHVkaW5nIGEgdHJhaWxpbmcgc2xhc2gsIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGFjY2VzcyBwYXRocyBpbiB0aGUKLSAqIGFsdGVybmF0ZS4gQWx3YXlzIHVzZSB0aGlzIG92ZXIgZGlyZWN0IGFjY2VzcyB0byBhbHQtPnNjcmF0Y2gsIGFzIGl0Ci0gKiBjbGVhbnMgdXAgYW55IHByZXZpb3VzIHVzZSBvZiB0aGUgc2NyYXRjaCBidWZmZXIuCisgKiBQb3B1bGF0ZSBhbmQgcmV0dXJuIHRoZSBsb29zZSBvYmplY3QgY2FjaGUgYXJyYXkgY29ycmVzcG9uZGluZyB0byB0aGUKKyAqIGdpdmVuIG9iamVjdCBJRC4KICAqLwotc3RydWN0IHN0cmJ1ZiAqYWx0X3NjcmF0Y2hfYnVmKHN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICphbHQpOworc3RydWN0IG9pZF9hcnJheSAqb2RiX2xvb3NlX2NhY2hlKHN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICpvZGIsCisJCQkJICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOworCisvKiBFbXB0eSB0aGUgbG9vc2Ugb2JqZWN0IGNhY2hlIGZvciB0aGUgc3BlY2lmaWVkIG9iamVjdCBkaXJlY3RvcnkuICovCit2b2lkIG9kYl9jbGVhcl9sb29zZV9jYWNoZShzdHJ1Y3Qgb2JqZWN0X2RpcmVjdG9yeSAqb2RiKTsKIAogc3RydWN0IHBhY2tlZF9naXQgeworCXN0cnVjdCBoYXNobWFwX2VudHJ5IHBhY2ttYXBfZW50OwogCXN0cnVjdCBwYWNrZWRfZ2l0ICpuZXh0OwogCXN0cnVjdCBsaXN0X2hlYWQgbXJ1OwogCXN0cnVjdCBwYWNrX3dpbmRvdyAqd2luZG93czsKQEAgLTgxLDggKzgwLDkgQEAKIAkJIHBhY2tfa2VlcF9pbl9jb3JlOjEsCiAJCSBmcmVzaGVuZWQ6MSwKIAkJIGRvX25vdF9jbG9zZToxLAotCQkgcGFja19wcm9taXNvcjoxOwotCXVuc2lnbmVkIGNoYXIgc2hhMVsyMF07CisJCSBwYWNrX3Byb21pc29yOjEsCisJCSBtdWx0aV9wYWNrX2luZGV4OjE7CisJdW5zaWduZWQgY2hhciBoYXNoW0dJVF9NQVhfUkFXU1pdOwogCXN0cnVjdCByZXZpbmRleF9lbnRyeSAqcmV2aW5kZXg7CiAJLyogc29tZXRoaW5nIGxpa2UgIi5naXQvb2JqZWN0cy9wYWNrL3h4eHh4LnBhY2siICovCiAJY2hhciBwYWNrX25hbWVbRkxFWF9BUlJBWV07IC8qIG1vcmUgKi8KQEAgLTkwLDI0ICs5MCw0NCBAQAogCiBzdHJ1Y3QgbXVsdGlfcGFja19pbmRleDsKIAorc3RhdGljIGlubGluZSBpbnQgcGFja19tYXBfZW50cnlfY21wKGNvbnN0IHZvaWQgKnVudXNlZF9jbXBfZGF0YSwKKwkJCQkgICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeSwKKwkJCQkgICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeTIsCisJCQkJICAgICBjb25zdCB2b2lkICprZXlkYXRhKQoreworCWNvbnN0IGNoYXIgKmtleSA9IGtleWRhdGE7CisJY29uc3Qgc3RydWN0IHBhY2tlZF9naXQgKnBnMSwgKnBnMjsKKworCXBnMSA9IGNvbnRhaW5lcl9vZihlbnRyeSwgY29uc3Qgc3RydWN0IHBhY2tlZF9naXQsIHBhY2ttYXBfZW50KTsKKwlwZzIgPSBjb250YWluZXJfb2YoZW50cnkyLCBjb25zdCBzdHJ1Y3QgcGFja2VkX2dpdCwgcGFja21hcF9lbnQpOworCisJcmV0dXJuIHN0cmNtcChwZzEtPnBhY2tfbmFtZSwga2V5ID8ga2V5IDogcGcyLT5wYWNrX25hbWUpOworfQorCiBzdHJ1Y3QgcmF3X29iamVjdF9zdG9yZSB7CiAJLyoKLQkgKiBQYXRoIHRvIHRoZSByZXBvc2l0b3J5J3Mgb2JqZWN0IHN0b3JlLgotCSAqIENhbm5vdCBiZSBOVUxMIGFmdGVyIGluaXRpYWxpemF0aW9uLgorCSAqIFNldCBvZiBhbGwgb2JqZWN0IGRpcmVjdG9yaWVzOyB0aGUgbWFpbiBkaXJlY3RvcnkgaXMgZmlyc3QgKGFuZAorCSAqIGNhbm5vdCBiZSBOVUxMIGFmdGVyIGluaXRpYWxpemF0aW9uKS4gU3Vic2VxdWVudCBkaXJlY3RvcmllcyBhcmUKKwkgKiBhbHRlcm5hdGVzLgogCSAqLwotCWNoYXIgKm9iamVjdGRpcjsKKwlzdHJ1Y3Qgb2JqZWN0X2RpcmVjdG9yeSAqb2RiOworCXN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICoqb2RiX3RhaWw7CisJaW50IGxvYWRlZF9hbHRlcm5hdGVzOwogCi0JLyogUGF0aCB0byBleHRyYSBhbHRlcm5hdGUgb2JqZWN0IGRhdGFiYXNlIGlmIG5vdCBOVUxMICovCisJLyoKKwkgKiBBIGxpc3Qgb2YgYWx0ZXJuYXRlIG9iamVjdCBkaXJlY3RvcmllcyBsb2FkZWQgZnJvbSB0aGUgZW52aXJvbm1lbnQ7CisJICogdGhpcyBzaG91bGQgbm90IGdlbmVyYWxseSBuZWVkIHRvIGJlIGFjY2Vzc2VkIGRpcmVjdGx5LCBidXQgd2lsbAorCSAqIHBvcHVsYXRlIHRoZSAib2RiIiBsaXN0IHdoZW4gcHJlcGFyZV9hbHRfb2RiKCkgaXMgcnVuLgorCSAqLwogCWNoYXIgKmFsdGVybmF0ZV9kYjsKIAotCXN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICphbHRfb2RiX2xpc3Q7Ci0Jc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgKiphbHRfb2RiX3RhaWw7Ci0KIAkvKgogCSAqIE9iamVjdHMgdGhhdCBzaG91bGQgYmUgc3Vic3RpdHV0ZWQgYnkgb3RoZXIgb2JqZWN0cwogCSAqIChzZWUgZ2l0LXJlcGxhY2UoMSkpLgogCSAqLwogCXN0cnVjdCBvaWRtYXAgKnJlcGxhY2VfbWFwOworCXVuc2lnbmVkIHJlcGxhY2VfbWFwX2luaXRpYWxpemVkIDogMTsKKwlwdGhyZWFkX211dGV4X3QgcmVwbGFjZV9tdXRleDsgLyogcHJvdGVjdCBvYmplY3QgcmVwbGFjZSBmdW5jdGlvbnMgKi8KIAogCXN0cnVjdCBjb21taXRfZ3JhcGggKmNvbW1pdF9ncmFwaDsKIAl1bnNpZ25lZCBjb21taXRfZ3JhcGhfYXR0ZW1wdGVkIDogMTsgLyogaWYgbG9hZGluZyBoYXMgYmVlbiBhdHRlbXB0ZWQgKi8KQEAgLTEzMCwxMCArMTUwLDEwIEBACiAJc3RydWN0IGxpc3RfaGVhZCBwYWNrZWRfZ2l0X21ydTsKIAogCS8qCi0JICogQSBsaW5rZWQgbGlzdCBjb250YWluaW5nIGFsbCBwYWNrZmlsZXMsIHN0YXJ0aW5nIHdpdGggdGhvc2UKLQkgKiBjb250YWluZWQgaW4gdGhlIG11bHRpX3BhY2tfaW5kZXguCisJICogQSBtYXAgb2YgcGFja2ZpbGVzIHRvIHBhY2tlZF9naXQgc3RydWN0cyBmb3IgdHJhY2tpbmcgd2hpY2gKKwkgKiBwYWNrcyBoYXZlIGJlZW4gbG9hZGVkIGFscmVhZHkuCiAJICovCi0Jc3RydWN0IHBhY2tlZF9naXQgKmFsbF9wYWNrczsKKwlzdHJ1Y3QgaGFzaG1hcCBwYWNrX21hcDsKIAogCS8qCiAJICogQSBmYXN0LCByb3VnaCBjb3VudCBvZiB0aGUgbnVtYmVyIG9mIG9iamVjdHMgaW4gdGhlIHJlcG9zaXRvcnkuCkBAIC0xNTUsMzcgKzE3NSw1NSBAQAogCiAvKgogICogUHV0IGluIGBidWZgIHRoZSBuYW1lIG9mIHRoZSBmaWxlIGluIHRoZSBsb2NhbCBvYmplY3QgZGF0YWJhc2UgdGhhdAotICogd291bGQgYmUgdXNlZCB0byBzdG9yZSBhIGxvb3NlIG9iamVjdCB3aXRoIHRoZSBzcGVjaWZpZWQgc2hhMS4KKyAqIHdvdWxkIGJlIHVzZWQgdG8gc3RvcmUgYSBsb29zZSBvYmplY3Qgd2l0aCB0aGUgc3BlY2lmaWVkIG9pZC4KICAqLwotdm9pZCBzaGExX2ZpbGVfbmFtZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHN0cmJ1ZiAqYnVmLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKTsKK2NvbnN0IGNoYXIgKmxvb3NlX29iamVjdF9wYXRoKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3Qgc3RyYnVmICpidWYsCisJCQkgICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOwogCi12b2lkICptYXBfc2hhMV9maWxlKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCB1bnNpZ25lZCBsb25nICpzaXplKTsKK3ZvaWQgKm1hcF9sb29zZV9vYmplY3Qoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJICAgICAgIHVuc2lnbmVkIGxvbmcgKnNpemUpOwogCi1leHRlcm4gdm9pZCAqcmVhZF9vYmplY3RfZmlsZV9leHRlbmRlZChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCi0JCQkJICAgICAgIGVudW0gb2JqZWN0X3R5cGUgKnR5cGUsCi0JCQkJICAgICAgIHVuc2lnbmVkIGxvbmcgKnNpemUsIGludCBsb29rdXBfcmVwbGFjZSk7Ci1zdGF0aWMgaW5saW5lIHZvaWQgKnJlYWRfb2JqZWN0X2ZpbGUoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBlbnVtIG9iamVjdF90eXBlICp0eXBlLCB1bnNpZ25lZCBsb25nICpzaXplKQordm9pZCAqcmVhZF9vYmplY3RfZmlsZV9leHRlbmRlZChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkJZW51bSBvYmplY3RfdHlwZSAqdHlwZSwKKwkJCQl1bnNpZ25lZCBsb25nICpzaXplLCBpbnQgbG9va3VwX3JlcGxhY2UpOworc3RhdGljIGlubGluZSB2b2lkICpyZXBvX3JlYWRfb2JqZWN0X2ZpbGUoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJCQkgIGVudW0gb2JqZWN0X3R5cGUgKnR5cGUsCisJCQkJCSAgdW5zaWduZWQgbG9uZyAqc2l6ZSkKIHsKLQlyZXR1cm4gcmVhZF9vYmplY3RfZmlsZV9leHRlbmRlZChvaWQsIHR5cGUsIHNpemUsIDEpOworCXJldHVybiByZWFkX29iamVjdF9maWxlX2V4dGVuZGVkKHIsIG9pZCwgdHlwZSwgc2l6ZSwgMSk7CiB9CisjaWZuZGVmIE5PX1RIRV9SRVBPU0lUT1JZX0NPTVBBVElCSUxJVFlfTUFDUk9TCisjZGVmaW5lIHJlYWRfb2JqZWN0X2ZpbGUob2lkLCB0eXBlLCBzaXplKSByZXBvX3JlYWRfb2JqZWN0X2ZpbGUodGhlX3JlcG9zaXRvcnksIG9pZCwgdHlwZSwgc2l6ZSkKKyNlbmRpZgogCiAvKiBSZWFkIGFuZCB1bnBhY2sgYW4gb2JqZWN0IGZpbGUgaW50byBtZW1vcnksIHdyaXRlIG1lbW9yeSB0byBhbiBvYmplY3QgZmlsZSAqLwogaW50IG9pZF9vYmplY3RfaW5mbyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqLCB1bnNpZ25lZCBsb25nICopOwogCi1leHRlcm4gaW50IGhhc2hfb2JqZWN0X2ZpbGUoY29uc3Qgdm9pZCAqYnVmLCB1bnNpZ25lZCBsb25nIGxlbiwKLQkJCSAgICBjb25zdCBjaGFyICp0eXBlLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOworaW50IGhhc2hfb2JqZWN0X2ZpbGUoY29uc3Qgc3RydWN0IGdpdF9oYXNoX2FsZ28gKmFsZ28sIGNvbnN0IHZvaWQgKmJ1ZiwKKwkJICAgICB1bnNpZ25lZCBsb25nIGxlbiwgY29uc3QgY2hhciAqdHlwZSwKKwkJICAgICBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOwogCi1leHRlcm4gaW50IHdyaXRlX29iamVjdF9maWxlKGNvbnN0IHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyBsZW4sCi0JCQkgICAgIGNvbnN0IGNoYXIgKnR5cGUsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CitpbnQgd3JpdGVfb2JqZWN0X2ZpbGUoY29uc3Qgdm9pZCAqYnVmLCB1bnNpZ25lZCBsb25nIGxlbiwKKwkJICAgICAgY29uc3QgY2hhciAqdHlwZSwgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKIAotZXh0ZXJuIGludCBoYXNoX29iamVjdF9maWxlX2xpdGVyYWxseShjb25zdCB2b2lkICpidWYsIHVuc2lnbmVkIGxvbmcgbGVuLAotCQkJCSAgICAgIGNvbnN0IGNoYXIgKnR5cGUsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKLQkJCQkgICAgICB1bnNpZ25lZCBmbGFncyk7CitpbnQgaGFzaF9vYmplY3RfZmlsZV9saXRlcmFsbHkoY29uc3Qgdm9pZCAqYnVmLCB1bnNpZ25lZCBsb25nIGxlbiwKKwkJCSAgICAgICBjb25zdCBjaGFyICp0eXBlLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkgICAgICAgdW5zaWduZWQgZmxhZ3MpOwogCi1leHRlcm4gaW50IHByZXRlbmRfb2JqZWN0X2ZpbGUodm9pZCAqLCB1bnNpZ25lZCBsb25nLCBlbnVtIG9iamVjdF90eXBlLAotCQkJICAgICAgIHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CisvKgorICogQWRkIGFuIG9iamVjdCBmaWxlIHRvIHRoZSBpbi1tZW1vcnkgb2JqZWN0IHN0b3JlLCB3aXRob3V0IHdyaXRpbmcgaXQKKyAqIHRvIGRpc2suCisgKgorICogQ2FsbGVycyBhcmUgcmVzcG9uc2libGUgZm9yIGNhbGxpbmcgd3JpdGVfb2JqZWN0X2ZpbGUgdG8gcmVjb3JkIHRoZQorICogb2JqZWN0IGluIHBlcnNpc3RlbnQgc3RvcmFnZSBiZWZvcmUgd3JpdGluZyBhbnkgb3RoZXIgbmV3IG9iamVjdHMKKyAqIHRoYXQgcmVmZXJlbmNlIGl0LgorICovCitpbnQgcHJldGVuZF9vYmplY3RfZmlsZSh2b2lkICosIHVuc2lnbmVkIGxvbmcsIGVudW0gb2JqZWN0X3R5cGUsCisJCQlzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOwogCi1leHRlcm4gaW50IGZvcmNlX29iamVjdF9sb29zZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHRpbWVfdCBtdGltZSk7CitpbnQgZm9yY2Vfb2JqZWN0X2xvb3NlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgdGltZV90IG10aW1lKTsKIAogLyoKICAqIE9wZW4gdGhlIGxvb3NlIG9iamVjdCBhdCBwYXRoLCBjaGVjayBpdHMgaGFzaCwgYW5kIHJldHVybiB0aGUgY29udGVudHMsCkBAIC0yMDAsMzYgKzIzOCw2OSBAQAogCQkgICAgICB1bnNpZ25lZCBsb25nICpzaXplLAogCQkgICAgICB2b2lkICoqY29udGVudHMpOwogCi0vKgotICogQ29udmVuaWVuY2UgZm9yIHNoYTFfb2JqZWN0X2luZm9fZXh0ZW5kZWQoKSB3aXRoIGEgTlVMTCBzdHJ1Y3QKLSAqIG9iamVjdF9pbmZvLiBPQkpFQ1RfSU5GT19TS0lQX0NBQ0hFRCBpcyBhdXRvbWF0aWNhbGx5IHNldDsgcGFzcwotICogbm9uemVybyBmbGFncyB0byBhbHNvIHNldCBvdGhlciBmbGFncy4KLSAqLwotZXh0ZXJuIGludCBoYXNfc2hhMV9maWxlX3dpdGhfZmxhZ3MoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50IGZsYWdzKTsKLXN0YXRpYyBpbmxpbmUgaW50IGhhc19zaGExX2ZpbGUoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKLXsKLQlyZXR1cm4gaGFzX3NoYTFfZmlsZV93aXRoX2ZsYWdzKHNoYTEsIDApOwotfQorI2lmbmRlZiBOT19USEVfUkVQT1NJVE9SWV9DT01QQVRJQklMSVRZX01BQ1JPUworI2RlZmluZSBoYXNfc2hhMV9maWxlX3dpdGhfZmxhZ3Moc2hhMSwgZmxhZ3MpIHJlcG9faGFzX3NoYTFfZmlsZV93aXRoX2ZsYWdzKHRoZV9yZXBvc2l0b3J5LCBzaGExLCBmbGFncykKKyNkZWZpbmUgaGFzX3NoYTFfZmlsZShzaGExKSByZXBvX2hhc19zaGExX2ZpbGUodGhlX3JlcG9zaXRvcnksIHNoYTEpCisjZW5kaWYKIAogLyogU2FtZSBhcyB0aGUgYWJvdmUsIGV4Y2VwdCBmb3Igc3RydWN0IG9iamVjdF9pZC4gKi8KLWV4dGVybiBpbnQgaGFzX29iamVjdF9maWxlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7Ci1leHRlcm4gaW50IGhhc19vYmplY3RfZmlsZV93aXRoX2ZsYWdzKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgaW50IGZsYWdzKTsKK2ludCByZXBvX2hhc19vYmplY3RfZmlsZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKK2ludCByZXBvX2hhc19vYmplY3RfZmlsZV93aXRoX2ZsYWdzKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBmbGFncyk7CisjaWZuZGVmIE5PX1RIRV9SRVBPU0lUT1JZX0NPTVBBVElCSUxJVFlfTUFDUk9TCisjZGVmaW5lIGhhc19vYmplY3RfZmlsZShvaWQpIHJlcG9faGFzX29iamVjdF9maWxlKHRoZV9yZXBvc2l0b3J5LCBvaWQpCisjZGVmaW5lIGhhc19vYmplY3RfZmlsZV93aXRoX2ZsYWdzKG9pZCwgZmxhZ3MpIHJlcG9faGFzX29iamVjdF9maWxlX3dpdGhfZmxhZ3ModGhlX3JlcG9zaXRvcnksIG9pZCwgZmxhZ3MpCisjZW5kaWYKIAogLyoKICAqIFJldHVybiB0cnVlIGlmZiBhbiBhbHRlcm5hdGUgb2JqZWN0IGRhdGFiYXNlIGhhcyBhIGxvb3NlIG9iamVjdAogICogd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUuICBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IHJlc3BlY3QgcmVwbGFjZQogICogcmVmZXJlbmNlcy4KICAqLwotZXh0ZXJuIGludCBoYXNfbG9vc2Vfb2JqZWN0X25vbmxvY2FsKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKik7CitpbnQgaGFzX2xvb3NlX29iamVjdF9ub25sb2NhbChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICopOwogCi1leHRlcm4gdm9pZCBhc3NlcnRfb2lkX3R5cGUoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBlbnVtIG9iamVjdF90eXBlIGV4cGVjdCk7Cit2b2lkIGFzc2VydF9vaWRfdHlwZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGVudW0gb2JqZWN0X3R5cGUgZXhwZWN0KTsKKworLyoKKyAqIEVuYWJsaW5nIHRoZSBvYmplY3QgcmVhZCBsb2NrIGFsbG93cyBtdWx0aXBsZSB0aHJlYWRzIHRvIHNhZmVseSBjYWxsIHRoZQorICogZm9sbG93aW5nIGZ1bmN0aW9ucyBpbiBwYXJhbGxlbDogcmVwb19yZWFkX29iamVjdF9maWxlKCksIHJlYWRfb2JqZWN0X2ZpbGUoKSwKKyAqIHJlYWRfb2JqZWN0X2ZpbGVfZXh0ZW5kZWQoKSwgcmVhZF9vYmplY3Rfd2l0aF9yZWZlcmVuY2UoKSwgcmVhZF9vYmplY3QoKSwKKyAqIG9pZF9vYmplY3RfaW5mbygpIGFuZCBvaWRfb2JqZWN0X2luZm9fZXh0ZW5kZWQoKS4KKyAqCisgKiBvYmpfcmVhZF9sb2NrKCkgYW5kIG9ial9yZWFkX3VubG9jaygpIG1heSBhbHNvIGJlIHVzZWQgdG8gcHJvdGVjdCBvdGhlcgorICogc2VjdGlvbiB3aGljaCBjYW5ub3QgZXhlY3V0ZSBpbiBwYXJhbGxlbCB3aXRoIG9iamVjdCByZWFkaW5nLiBTaW5jZSB0aGUgdXNlZAorICogbG9jayBpcyBhIHJlY3Vyc2l2ZSBtdXRleCwgdGhlc2Ugc2VjdGlvbnMgY2FuIGV2ZW4gY29udGFpbiBjYWxscyB0byBvYmplY3QKKyAqIHJlYWRpbmcgZnVuY3Rpb25zLiBIb3dldmVyLCBiZXdhcmUgdGhhdCBpbiB0aGVzZSBjYXNlcyB6bGliIGluZmxhdGlvbiB3b24ndAorICogYmUgcGVyZm9ybWVkIGluIHBhcmFsbGVsLCBsb3NpbmcgcGVyZm9ybWFuY2UuCisgKgorICogVE9ETzogb2lkX29iamVjdF9pbmZvX2V4dGVuZGVkKCkncyBjYWxsIHN0YWNrIGhhcyBhIHJlY3Vyc2l2ZSBiZWhhdmlvci4gSWYKKyAqIGFueSBvZiBpdHMgY2FsbGVlcyBlbmQgdXAgY2FsbGluZyBpdCwgdGhpcyByZWN1cnNpdmUgY2FsbCB3b24ndCBiZW5lZml0IGZyb20KKyAqIHBhcmFsbGVsIGluZmxhdGlvbi4KKyAqLwordm9pZCBlbmFibGVfb2JqX3JlYWRfbG9jayh2b2lkKTsKK3ZvaWQgZGlzYWJsZV9vYmpfcmVhZF9sb2NrKHZvaWQpOworCitleHRlcm4gaW50IG9ial9yZWFkX3VzZV9sb2NrOworZXh0ZXJuIHB0aHJlYWRfbXV0ZXhfdCBvYmpfcmVhZF9tdXRleDsKKworc3RhdGljIGlubGluZSB2b2lkIG9ial9yZWFkX2xvY2sodm9pZCkKK3sKKwlpZihvYmpfcmVhZF91c2VfbG9jaykKKwkJcHRocmVhZF9tdXRleF9sb2NrKCZvYmpfcmVhZF9tdXRleCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBvYmpfcmVhZF91bmxvY2sodm9pZCkKK3sKKwlpZihvYmpfcmVhZF91c2VfbG9jaykKKwkJcHRocmVhZF9tdXRleF91bmxvY2soJm9ial9yZWFkX211dGV4KTsKK30KIAogc3RydWN0IG9iamVjdF9pbmZvIHsKIAkvKiBSZXF1ZXN0ICovCiAJZW51bSBvYmplY3RfdHlwZSAqdHlwZXA7CiAJdW5zaWduZWQgbG9uZyAqc2l6ZXA7CiAJb2ZmX3QgKmRpc2tfc2l6ZXA7Ci0JdW5zaWduZWQgY2hhciAqZGVsdGFfYmFzZV9zaGExOworCXN0cnVjdCBvYmplY3RfaWQgKmRlbHRhX2Jhc2Vfb2lkOwogCXN0cnVjdCBzdHJidWYgKnR5cGVfbmFtZTsKIAl2b2lkICoqY29udGVudHA7CiAKQEAgLTI2NywxMiArMzM4LDIwIEBACiAjZGVmaW5lIE9CSkVDVF9JTkZPX0xPT0tVUF9SRVBMQUNFIDEKIC8qIEFsbG93IHJlYWRpbmcgZnJvbSBhIGxvb3NlIG9iamVjdCBmaWxlIG9mIHVua25vd24vYm9ndXMgdHlwZSAqLwogI2RlZmluZSBPQkpFQ1RfSU5GT19BTExPV19VTktOT1dOX1RZUEUgMgotLyogRG8gbm90IGNoZWNrIGNhY2hlZCBzdG9yYWdlICovCi0jZGVmaW5lIE9CSkVDVF9JTkZPX1NLSVBfQ0FDSEVEIDQKIC8qIERvIG5vdCByZXRyeSBwYWNrZWQgc3RvcmFnZSBhZnRlciBjaGVja2luZyBwYWNrZWQgYW5kIGxvb3NlIHN0b3JhZ2UgKi8KICNkZWZpbmUgT0JKRUNUX0lORk9fUVVJQ0sgOAogLyogRG8gbm90IGNoZWNrIGxvb3NlIG9iamVjdCAqLwogI2RlZmluZSBPQkpFQ1RfSU5GT19JR05PUkVfTE9PU0UgMTYKKy8qCisgKiBEbyBub3QgYXR0ZW1wdCB0byBmZXRjaCB0aGUgb2JqZWN0IGlmIG1pc3NpbmcgKGV2ZW4gaWYgZmV0Y2hfaXNfbWlzc2luZyBpcworICogbm9uemVybykuCisgKi8KKyNkZWZpbmUgT0JKRUNUX0lORk9fU0tJUF9GRVRDSF9PQkpFQ1QgMzIKKy8qCisgKiBUaGlzIGlzIG1lYW50IGZvciBidWxrIHByZWZldGNoaW5nIG9mIG1pc3NpbmcgYmxvYnMgaW4gYSBwYXJ0aWFsCisgKiBjbG9uZS4gSW1wbGllcyBPQkpFQ1RfSU5GT19TS0lQX0ZFVENIX09CSkVDVCBhbmQgT0JKRUNUX0lORk9fUVVJQ0sKKyAqLworI2RlZmluZSBPQkpFQ1RfSU5GT19GT1JfUFJFRkVUQ0ggKE9CSkVDVF9JTkZPX1NLSVBfRkVUQ0hfT0JKRUNUIHwgT0JKRUNUX0lORk9fUVVJQ0spCiAKIGludCBvaWRfb2JqZWN0X2luZm9fZXh0ZW5kZWQoc3RydWN0IHJlcG9zaXRvcnkgKnIsCiAJCQkgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKiwKZGlmZiAtLWdpdCBhL29iamVjdC5jIGIvb2JqZWN0LmMKaW5kZXggZTU0MTYwNS4uNzk0Yzg2NiAxMDA2NDQKLS0tIGEvb2JqZWN0LmMKKysrIGIvb2JqZWN0LmMKQEAgLTcsNyArNyw2IEBACiAjaW5jbHVkZSAiY29tbWl0LmgiCiAjaW5jbHVkZSAidGFnLmgiCiAjaW5jbHVkZSAiYWxsb2MuaCIKLSNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKICNpbmNsdWRlICJwYWNrZmlsZS5oIgogI2luY2x1ZGUgImNvbW1pdC1ncmFwaC5oIgogCkBAIC01OSw5ICs1OCw5IEBACiAgKiB0aGUgc3BlY2lmaWVkIHNoYTEuICBuIG11c3QgYmUgYSBwb3dlciBvZiAyLiAgUGxlYXNlIG5vdGUgdGhhdCB0aGUKICAqIHJldHVybiB2YWx1ZSBpcyAqbm90KiBjb25zaXN0ZW50IGFjcm9zcyBjb21wdXRlciBhcmNoaXRlY3R1cmVzLgogICovCi1zdGF0aWMgdW5zaWduZWQgaW50IGhhc2hfb2JqKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHVuc2lnbmVkIGludCBuKQorc3RhdGljIHVuc2lnbmVkIGludCBoYXNoX29iaihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHVuc2lnbmVkIGludCBuKQogewotCXJldHVybiBzaGExaGFzaChzaGExKSAmIChuIC0gMSk7CisJcmV0dXJuIG9pZGhhc2gob2lkKSAmIChuIC0gMSk7CiB9CiAKIC8qCkBAIC03MSw3ICs3MCw3IEBACiAgKi8KIHN0YXRpYyB2b2lkIGluc2VydF9vYmpfaGFzaChzdHJ1Y3Qgb2JqZWN0ICpvYmosIHN0cnVjdCBvYmplY3QgKipoYXNoLCB1bnNpZ25lZCBpbnQgc2l6ZSkKIHsKLQl1bnNpZ25lZCBpbnQgaiA9IGhhc2hfb2JqKG9iai0+b2lkLmhhc2gsIHNpemUpOworCXVuc2lnbmVkIGludCBqID0gaGFzaF9vYmooJm9iai0+b2lkLCBzaXplKTsKIAogCXdoaWxlIChoYXNoW2pdKSB7CiAJCWorKzsKQEAgLTg1LDcgKzg0LDcgQEAKICAqIExvb2sgdXAgdGhlIHJlY29yZCBmb3IgdGhlIGdpdmVuIHNoYTEgaW4gdGhlIGhhc2ggbWFwIHN0b3JlZCBpbgogICogb2JqX2hhc2guICBSZXR1cm4gTlVMTCBpZiBpdCB3YXMgbm90IGZvdW5kLgogICovCi1zdHJ1Y3Qgb2JqZWN0ICpsb29rdXBfb2JqZWN0KHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RydWN0IG9iamVjdCAqbG9va3VwX29iamVjdChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCXVuc2lnbmVkIGludCBpLCBmaXJzdDsKIAlzdHJ1Y3Qgb2JqZWN0ICpvYmo7CkBAIC05Myw5ICs5Miw5IEBACiAJaWYgKCFyLT5wYXJzZWRfb2JqZWN0cy0+b2JqX2hhc2gpCiAJCXJldHVybiBOVUxMOwogCi0JZmlyc3QgPSBpID0gaGFzaF9vYmooc2hhMSwgci0+cGFyc2VkX29iamVjdHMtPm9ial9oYXNoX3NpemUpOworCWZpcnN0ID0gaSA9IGhhc2hfb2JqKG9pZCwgci0+cGFyc2VkX29iamVjdHMtPm9ial9oYXNoX3NpemUpOwogCXdoaWxlICgob2JqID0gci0+cGFyc2VkX29iamVjdHMtPm9ial9oYXNoW2ldKSAhPSBOVUxMKSB7Ci0JCWlmIChoYXNoZXEoc2hhMSwgb2JqLT5vaWQuaGFzaCkpCisJCWlmIChvaWRlcShvaWQsICZvYmotPm9pZCkpCiAJCQlicmVhazsKIAkJaSsrOwogCQlpZiAoaSA9PSByLT5wYXJzZWRfb2JqZWN0cy0+b2JqX2hhc2hfc2l6ZSkKQEAgLTE0MSwxMyArMTQwLDEzIEBACiAJci0+cGFyc2VkX29iamVjdHMtPm9ial9oYXNoX3NpemUgPSBuZXdfaGFzaF9zaXplOwogfQogCi12b2lkICpjcmVhdGVfb2JqZWN0KHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCB2b2lkICpvKQordm9pZCAqY3JlYXRlX29iamVjdChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCB2b2lkICpvKQogewogCXN0cnVjdCBvYmplY3QgKm9iaiA9IG87CiAKIAlvYmotPnBhcnNlZCA9IDA7CiAJb2JqLT5mbGFncyA9IDA7Ci0JaGFzaGNweShvYmotPm9pZC5oYXNoLCBzaGExKTsKKwlvaWRjcHkoJm9iai0+b2lkLCBvaWQpOwogCiAJaWYgKHItPnBhcnNlZF9vYmplY3RzLT5vYmpfaGFzaF9zaXplIC0gMSA8PSByLT5wYXJzZWRfb2JqZWN0cy0+bnJfb2JqcyAqIDIpCiAJCWdyb3dfb2JqZWN0X2hhc2gocik7CkBAIC0xNjQsOCArMTYzLDkgQEAKIAkJcmV0dXJuIG9iajsKIAllbHNlIGlmIChvYmotPnR5cGUgPT0gT0JKX05PTkUpIHsKIAkJaWYgKHR5cGUgPT0gT0JKX0NPTU1JVCkKLQkJCSgoc3RydWN0IGNvbW1pdCAqKW9iaiktPmluZGV4ID0gYWxsb2NfY29tbWl0X2luZGV4KHIpOwotCQlvYmotPnR5cGUgPSB0eXBlOworCQkJaW5pdF9jb21taXRfbm9kZShyLCAoc3RydWN0IGNvbW1pdCAqKSBvYmopOworCQllbHNlCisJCQlvYmotPnR5cGUgPSB0eXBlOwogCQlyZXR1cm4gb2JqOwogCX0KIAllbHNlIHsKQEAgLTE3NywxMSArMTc3LDExIEBACiAJfQogfQogCi1zdHJ1Y3Qgb2JqZWN0ICpsb29rdXBfdW5rbm93bl9vYmplY3QoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0cnVjdCBvYmplY3QgKmxvb2t1cF91bmtub3duX29iamVjdChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0Jc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgc2hhMSk7CisJc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgb2lkKTsKIAlpZiAoIW9iaikKLQkJb2JqID0gY3JlYXRlX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgc2hhMSwKKwkJb2JqID0gY3JlYXRlX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgb2lkLAogCQkJCSAgICBhbGxvY19vYmplY3Rfbm9kZSh0aGVfcmVwb3NpdG9yeSkpOwogCXJldHVybiBvYmo7CiB9CkBAIC0yNTUsMjYgKzI1NSwyNyBAQAogCXZvaWQgKmJ1ZmZlcjsKIAlzdHJ1Y3Qgb2JqZWN0ICpvYmo7CiAKLQlvYmogPSBsb29rdXBfb2JqZWN0KHIsIG9pZC0+aGFzaCk7CisJb2JqID0gbG9va3VwX29iamVjdChyLCBvaWQpOwogCWlmIChvYmogJiYgb2JqLT5wYXJzZWQpCiAJCXJldHVybiBvYmo7CiAKLQlpZiAoKG9iaiAmJiBvYmotPnR5cGUgPT0gT0JKX0JMT0IgJiYgaGFzX29iamVjdF9maWxlKG9pZCkpIHx8Ci0JICAgICghb2JqICYmIGhhc19vYmplY3RfZmlsZShvaWQpICYmCisJaWYgKChvYmogJiYgb2JqLT50eXBlID09IE9CSl9CTE9CICYmIHJlcG9faGFzX29iamVjdF9maWxlKHIsIG9pZCkpIHx8CisJICAgICghb2JqICYmIHJlcG9faGFzX29iamVjdF9maWxlKHIsIG9pZCkgJiYKIAkgICAgIG9pZF9vYmplY3RfaW5mbyhyLCBvaWQsIE5VTEwpID09IE9CSl9CTE9CKSkgewotCQlpZiAoY2hlY2tfb2JqZWN0X3NpZ25hdHVyZShyZXBsLCBOVUxMLCAwLCBOVUxMKSA8IDApIHsKLQkJCWVycm9yKF8oInNoYTEgbWlzbWF0Y2ggJXMiKSwgb2lkX3RvX2hleChvaWQpKTsKKwkJaWYgKGNoZWNrX29iamVjdF9zaWduYXR1cmUociwgcmVwbCwgTlVMTCwgMCwgTlVMTCkgPCAwKSB7CisJCQllcnJvcihfKCJoYXNoIG1pc21hdGNoICVzIiksIG9pZF90b19oZXgob2lkKSk7CiAJCQlyZXR1cm4gTlVMTDsKIAkJfQogCQlwYXJzZV9ibG9iX2J1ZmZlcihsb29rdXBfYmxvYihyLCBvaWQpLCBOVUxMLCAwKTsKLQkJcmV0dXJuIGxvb2t1cF9vYmplY3Qociwgb2lkLT5oYXNoKTsKKwkJcmV0dXJuIGxvb2t1cF9vYmplY3Qociwgb2lkKTsKIAl9CiAKLQlidWZmZXIgPSByZWFkX29iamVjdF9maWxlKG9pZCwgJnR5cGUsICZzaXplKTsKKwlidWZmZXIgPSByZXBvX3JlYWRfb2JqZWN0X2ZpbGUociwgb2lkLCAmdHlwZSwgJnNpemUpOwogCWlmIChidWZmZXIpIHsKLQkJaWYgKGNoZWNrX29iamVjdF9zaWduYXR1cmUocmVwbCwgYnVmZmVyLCBzaXplLCB0eXBlX25hbWUodHlwZSkpIDwgMCkgeworCQlpZiAoY2hlY2tfb2JqZWN0X3NpZ25hdHVyZShyLCByZXBsLCBidWZmZXIsIHNpemUsCisJCQkJCSAgIHR5cGVfbmFtZSh0eXBlKSkgPCAwKSB7CiAJCQlmcmVlKGJ1ZmZlcik7Ci0JCQllcnJvcihfKCJzaGExIG1pc21hdGNoICVzIiksIG9pZF90b19oZXgocmVwbCkpOworCQkJZXJyb3IoXygiaGFzaCBtaXNtYXRjaCAlcyIpLCBvaWRfdG9faGV4KHJlcGwpKTsKIAkJCXJldHVybiBOVUxMOwogCQl9CiAKQEAgLTMwNyw2ICszMDgsMTUgQEAKIAlyZXR1cm4gMDsKIH0KIAordm9pZCBvYmplY3RfbGlzdF9mcmVlKHN0cnVjdCBvYmplY3RfbGlzdCAqKmxpc3QpCit7CisJd2hpbGUgKCpsaXN0KSB7CisJCXN0cnVjdCBvYmplY3RfbGlzdCAqcCA9ICpsaXN0OworCQkqbGlzdCA9IHAtPm5leHQ7CisJCWZyZWUocCk7CisJfQorfQorCiAvKgogICogQSB6ZXJvLWxlbmd0aCBzdHJpbmcgdG8gd2hpY2ggb2JqZWN0X2FycmF5X2VudHJ5OjpuYW1lIGNhbiBiZQogICogaW5pdGlhbGl6ZWQgd2l0aG91dCByZXF1aXJpbmcgYSBtYWxsb2MvZnJlZS4KQEAgLTQ3OSw0NSArNDg5LDUwIEBACiAKIAltZW1zZXQobywgMCwgc2l6ZW9mKCpvKSk7CiAJSU5JVF9MSVNUX0hFQUQoJm8tPnBhY2tlZF9naXRfbXJ1KTsKKwloYXNobWFwX2luaXQoJm8tPnBhY2tfbWFwLCBwYWNrX21hcF9lbnRyeV9jbXAsIE5VTEwsIDApOworCXB0aHJlYWRfbXV0ZXhfaW5pdCgmby0+cmVwbGFjZV9tdXRleCwgTlVMTCk7CiAJcmV0dXJuIG87CiB9CiAKLXN0YXRpYyB2b2lkIGZyZWVfYWx0X29kYihzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqYWx0KQorc3RhdGljIHZvaWQgZnJlZV9vYmplY3RfZGlyZWN0b3J5KHN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICpvZGIpCiB7Ci0Jc3RyYnVmX3JlbGVhc2UoJmFsdC0+c2NyYXRjaCk7Ci0Jb2lkX2FycmF5X2NsZWFyKCZhbHQtPmxvb3NlX29iamVjdHNfY2FjaGUpOwotCWZyZWUoYWx0KTsKKwlmcmVlKG9kYi0+cGF0aCk7CisJb2RiX2NsZWFyX2xvb3NlX2NhY2hlKG9kYik7CisJZnJlZShvZGIpOwogfQogCi1zdGF0aWMgdm9pZCBmcmVlX2FsdF9vZGJzKHN0cnVjdCByYXdfb2JqZWN0X3N0b3JlICpvKQorc3RhdGljIHZvaWQgZnJlZV9vYmplY3RfZGlyZWN0b3JpZXMoc3RydWN0IHJhd19vYmplY3Rfc3RvcmUgKm8pCiB7Ci0Jd2hpbGUgKG8tPmFsdF9vZGJfbGlzdCkgewotCQlzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqbmV4dDsKKwl3aGlsZSAoby0+b2RiKSB7CisJCXN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICpuZXh0OwogCi0JCW5leHQgPSBvLT5hbHRfb2RiX2xpc3QtPm5leHQ7Ci0JCWZyZWVfYWx0X29kYihvLT5hbHRfb2RiX2xpc3QpOwotCQlvLT5hbHRfb2RiX2xpc3QgPSBuZXh0OworCQluZXh0ID0gby0+b2RiLT5uZXh0OworCQlmcmVlX29iamVjdF9kaXJlY3Rvcnkoby0+b2RiKTsKKwkJby0+b2RiID0gbmV4dDsKIAl9CiB9CiAKIHZvaWQgcmF3X29iamVjdF9zdG9yZV9jbGVhcihzdHJ1Y3QgcmF3X29iamVjdF9zdG9yZSAqbykKIHsKLQlGUkVFX0FORF9OVUxMKG8tPm9iamVjdGRpcik7CiAJRlJFRV9BTkRfTlVMTChvLT5hbHRlcm5hdGVfZGIpOwogCiAJb2lkbWFwX2ZyZWUoby0+cmVwbGFjZV9tYXAsIDEpOwogCUZSRUVfQU5EX05VTEwoby0+cmVwbGFjZV9tYXApOworCXB0aHJlYWRfbXV0ZXhfZGVzdHJveSgmby0+cmVwbGFjZV9tdXRleCk7CiAKIAlmcmVlX2NvbW1pdF9ncmFwaChvLT5jb21taXRfZ3JhcGgpOwogCW8tPmNvbW1pdF9ncmFwaCA9IE5VTEw7CiAJby0+Y29tbWl0X2dyYXBoX2F0dGVtcHRlZCA9IDA7CiAKLQlmcmVlX2FsdF9vZGJzKG8pOwotCW8tPmFsdF9vZGJfdGFpbCA9IE5VTEw7CisJZnJlZV9vYmplY3RfZGlyZWN0b3JpZXMobyk7CisJby0+b2RiX3RhaWwgPSBOVUxMOworCW8tPmxvYWRlZF9hbHRlcm5hdGVzID0gMDsKIAogCUlOSVRfTElTVF9IRUFEKCZvLT5wYWNrZWRfZ2l0X21ydSk7Ci0JY2xvc2VfYWxsX3BhY2tzKG8pOworCWNsb3NlX29iamVjdF9zdG9yZShvKTsKIAlvLT5wYWNrZWRfZ2l0ID0gTlVMTDsKKworCWhhc2htYXBfZnJlZSgmby0+cGFja19tYXApOwogfQogCiB2b2lkIHBhcnNlZF9vYmplY3RfcG9vbF9jbGVhcihzdHJ1Y3QgcGFyc2VkX29iamVjdF9wb29sICpvKQpAQCAtNTQwLDcgKzU1NSw3IEBACiAJCWlmIChvYmotPnR5cGUgPT0gT0JKX1RSRUUpCiAJCQlmcmVlX3RyZWVfYnVmZmVyKChzdHJ1Y3QgdHJlZSopb2JqKTsKIAkJZWxzZSBpZiAob2JqLT50eXBlID09IE9CSl9DT01NSVQpCi0JCQlyZWxlYXNlX2NvbW1pdF9tZW1vcnkoKHN0cnVjdCBjb21taXQqKW9iaik7CisJCQlyZWxlYXNlX2NvbW1pdF9tZW1vcnkobywgKHN0cnVjdCBjb21taXQqKW9iaik7CiAJCWVsc2UgaWYgKG9iai0+dHlwZSA9PSBPQkpfVEFHKQogCQkJcmVsZWFzZV90YWdfbWVtb3J5KChzdHJ1Y3QgdGFnKilvYmopOwogCX0KQEAgLTU1Niw5ICs1NzEsMTEgQEAKIAljbGVhcl9hbGxvY19zdGF0ZShvLT5jb21taXRfc3RhdGUpOwogCWNsZWFyX2FsbG9jX3N0YXRlKG8tPnRhZ19zdGF0ZSk7CiAJY2xlYXJfYWxsb2Nfc3RhdGUoby0+b2JqZWN0X3N0YXRlKTsKKwlzdGF0X3ZhbGlkaXR5X2NsZWFyKG8tPnNoYWxsb3dfc3RhdCk7CiAJRlJFRV9BTkRfTlVMTChvLT5ibG9iX3N0YXRlKTsKIAlGUkVFX0FORF9OVUxMKG8tPnRyZWVfc3RhdGUpOwogCUZSRUVfQU5EX05VTEwoby0+Y29tbWl0X3N0YXRlKTsKIAlGUkVFX0FORF9OVUxMKG8tPnRhZ19zdGF0ZSk7CiAJRlJFRV9BTkRfTlVMTChvLT5vYmplY3Rfc3RhdGUpOworCUZSRUVfQU5EX05VTEwoby0+c2hhbGxvd19zdGF0KTsKIH0KZGlmZiAtLWdpdCBhL29iamVjdC5oIGIvb2JqZWN0LmgKaW5kZXggNzk2NzkyYy4uMmRiYWJmYyAxMDA2NDQKLS0tIGEvb2JqZWN0LmgKKysrIGIvb2JqZWN0LmgKQEAgLTY4LDcgKzY4LDggQEAKICAqIGJpc2VjdC5jOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNgogICogYnVuZGxlLmM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2CiAgKiBodHRwLXB1c2guYzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTYtLS0tLTE5Ci0gKiBjb21taXQtcmVhY2guYzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1LS0tLS0tLTE5CisgKiBjb21taXQtZ3JhcGguYzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1CisgKiBjb21taXQtcmVhY2guYzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTYtLS0tLTE5CiAgKiBzaGExLW5hbWUuYzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAKICAqIGxpc3Qtb2JqZWN0cy1maWx0ZXIuYzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIxCiAgKiBidWlsdGluL2ZzY2suYzogICAgICAgICAgIDAtLTMKQEAgLTkwLDE5ICs5MSwxOSBAQAogCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogfTsKIAotZXh0ZXJuIGNvbnN0IGNoYXIgKnR5cGVfbmFtZSh1bnNpZ25lZCBpbnQgdHlwZSk7Ci1leHRlcm4gaW50IHR5cGVfZnJvbV9zdHJpbmdfZ2VudGx5KGNvbnN0IGNoYXIgKnN0ciwgc3NpemVfdCwgaW50IGdlbnRsZSk7Citjb25zdCBjaGFyICp0eXBlX25hbWUodW5zaWduZWQgaW50IHR5cGUpOworaW50IHR5cGVfZnJvbV9zdHJpbmdfZ2VudGx5KGNvbnN0IGNoYXIgKnN0ciwgc3NpemVfdCwgaW50IGdlbnRsZSk7CiAjZGVmaW5lIHR5cGVfZnJvbV9zdHJpbmcoc3RyKSB0eXBlX2Zyb21fc3RyaW5nX2dlbnRseShzdHIsIC0xLCAwKQogCiAvKgogICogUmV0dXJuIHRoZSBjdXJyZW50IG51bWJlciBvZiBidWNrZXRzIGluIHRoZSBvYmplY3QgaGFzaG1hcC4KICAqLwotZXh0ZXJuIHVuc2lnbmVkIGludCBnZXRfbWF4X29iamVjdF9pbmRleCh2b2lkKTsKK3Vuc2lnbmVkIGludCBnZXRfbWF4X29iamVjdF9pbmRleCh2b2lkKTsKIAogLyoKICAqIFJldHVybiB0aGUgb2JqZWN0IGZyb20gdGhlIHNwZWNpZmllZCBidWNrZXQgaW4gdGhlIG9iamVjdCBoYXNobWFwLgogICovCi1leHRlcm4gc3RydWN0IG9iamVjdCAqZ2V0X2luZGV4ZWRfb2JqZWN0KHVuc2lnbmVkIGludCk7CitzdHJ1Y3Qgb2JqZWN0ICpnZXRfaW5kZXhlZF9vYmplY3QodW5zaWduZWQgaW50KTsKIAogLyoKICAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gc2VlIGlmIHdlIGhhdmUgaGVhcmQgb2YgdGhlIG9iamVjdCBiZWZvcmUsIGJ1dApAQCAtMTE2LDkgKzExNyw5IEBACiAgKiBoYWxmLWluaXRpYWxpc2VkIG9iamVjdHMsIHRoZSBjYWxsZXIgaXMgZXhwZWN0ZWQgdG8gaW5pdGlhbGl6ZSB0aGVtCiAgKiBieSBjYWxsaW5nIHBhcnNlX29iamVjdCgpIG9uIHRoZW0uCiAgKi8KLXN0cnVjdCBvYmplY3QgKmxvb2t1cF9vYmplY3Qoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOworc3RydWN0IG9iamVjdCAqbG9va3VwX29iamVjdChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKIAotZXh0ZXJuIHZvaWQgKmNyZWF0ZV9vYmplY3Qoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHZvaWQgKm9iaik7Cit2b2lkICpjcmVhdGVfb2JqZWN0KHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHZvaWQgKm9iaik7CiAKIHZvaWQgKm9iamVjdF9hc190eXBlKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3Qgb2JqZWN0ICpvYmosIGVudW0gb2JqZWN0X3R5cGUgdHlwZSwgaW50IHF1aWV0KTsKIApAQCAtMTQzLDEzICsxNDQsMTUgQEAKIHN0cnVjdCBvYmplY3QgKnBhcnNlX29iamVjdF9idWZmZXIoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgZW51bSBvYmplY3RfdHlwZSB0eXBlLCB1bnNpZ25lZCBsb25nIHNpemUsIHZvaWQgKmJ1ZmZlciwgaW50ICplYXRlbl9wKTsKIAogLyoqIFJldHVybnMgdGhlIG9iamVjdCwgd2l0aCBwb3RlbnRpYWxseSBleGNlc3MgbWVtb3J5IGFsbG9jYXRlZC4gKiovCi1zdHJ1Y3Qgb2JqZWN0ICpsb29rdXBfdW5rbm93bl9vYmplY3QoY29uc3QgdW5zaWduZWQgIGNoYXIgKnNoYTEpOworc3RydWN0IG9iamVjdCAqbG9va3VwX3Vua25vd25fb2JqZWN0KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CiAKIHN0cnVjdCBvYmplY3RfbGlzdCAqb2JqZWN0X2xpc3RfaW5zZXJ0KHN0cnVjdCBvYmplY3QgKml0ZW0sCiAJCQkJICAgICAgIHN0cnVjdCBvYmplY3RfbGlzdCAqKmxpc3RfcCk7CiAKIGludCBvYmplY3RfbGlzdF9jb250YWlucyhzdHJ1Y3Qgb2JqZWN0X2xpc3QgKmxpc3QsIHN0cnVjdCBvYmplY3QgKm9iaik7CiAKK3ZvaWQgb2JqZWN0X2xpc3RfZnJlZShzdHJ1Y3Qgb2JqZWN0X2xpc3QgKipsaXN0KTsKKwogLyogT2JqZWN0IGFycmF5IGhhbmRsaW5nIC4uICovCiB2b2lkIGFkZF9vYmplY3RfYXJyYXkoc3RydWN0IG9iamVjdCAqb2JqLCBjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgb2JqZWN0X2FycmF5ICphcnJheSk7CiB2b2lkIGFkZF9vYmplY3RfYXJyYXlfd2l0aF9wYXRoKHN0cnVjdCBvYmplY3QgKm9iaiwgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9hcnJheSAqYXJyYXksIHVuc2lnbmVkIG1vZGUsIGNvbnN0IGNoYXIgKnBhdGgpOwpAQCAtMTg5LDYgKzE5Miw2IEBACiAvKgogICogQ2xlYXIgdGhlIHNwZWNpZmllZCBvYmplY3QgZmxhZ3MgZnJvbSBhbGwgaW4tY29yZSBjb21taXQgb2JqZWN0cy4KICAqLwotZXh0ZXJuIHZvaWQgY2xlYXJfY29tbWl0X21hcmtzX2FsbCh1bnNpZ25lZCBpbnQgZmxhZ3MpOwordm9pZCBjbGVhcl9jb21taXRfbWFya3NfYWxsKHVuc2lnbmVkIGludCBmbGFncyk7CiAKICNlbmRpZiAvKiBPQkpFQ1RfSCAqLwpkaWZmIC0tZ2l0IGEvb2lkbWFwLmMgYi9vaWRtYXAuYwppbmRleCBiMDg0MWEwLi40MjNhYTAxIDEwMDY0NAotLS0gYS9vaWRtYXAuYworKysgYi9vaWRtYXAuYwpAQCAtMiwyMSArMiwxOCBAQAogI2luY2x1ZGUgIm9pZG1hcC5oIgogCiBzdGF0aWMgaW50IG9pZG1hcF9uZXEoY29uc3Qgdm9pZCAqaGFzaG1hcF9jbXBfZm5fZGF0YSwKLQkJICAgICAgY29uc3Qgdm9pZCAqZW50cnksIGNvbnN0IHZvaWQgKmVudHJ5X29yX2tleSwKKwkJICAgICAgY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmUxLAorCQkgICAgICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZTIsCiAJCSAgICAgIGNvbnN0IHZvaWQgKmtleWRhdGEpCiB7Ci0JY29uc3Qgc3RydWN0IG9pZG1hcF9lbnRyeSAqZW50cnlfID0gZW50cnk7Ci0JaWYgKGtleWRhdGEpCi0JCXJldHVybiAhb2lkZXEoJmVudHJ5Xy0+b2lkLCAoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqKSBrZXlkYXRhKTsKLQlyZXR1cm4gIW9pZGVxKCZlbnRyeV8tPm9pZCwKLQkJICAgICAgJigoY29uc3Qgc3RydWN0IG9pZG1hcF9lbnRyeSAqKSBlbnRyeV9vcl9rZXkpLT5vaWQpOwotfQorCWNvbnN0IHN0cnVjdCBvaWRtYXBfZW50cnkgKmEsICpiOwogCi1zdGF0aWMgaW50IGhhc2goY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQotewotCWludCBoYXNoOwotCW1lbWNweSgmaGFzaCwgb2lkLT5oYXNoLCBzaXplb2YoaGFzaCkpOwotCXJldHVybiBoYXNoOworCWEgPSBjb250YWluZXJfb2YoZTEsIGNvbnN0IHN0cnVjdCBvaWRtYXBfZW50cnksIGludGVybmFsX2VudHJ5KTsKKwliID0gY29udGFpbmVyX29mKGUyLCBjb25zdCBzdHJ1Y3Qgb2lkbWFwX2VudHJ5LCBpbnRlcm5hbF9lbnRyeSk7CisKKwlpZiAoa2V5ZGF0YSkKKwkJcmV0dXJuICFvaWRlcSgmYS0+b2lkLCAoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqKSBrZXlkYXRhKTsKKwlyZXR1cm4gIW9pZGVxKCZhLT5vaWQsICZiLT5vaWQpOwogfQogCiB2b2lkIG9pZG1hcF9pbml0KHN0cnVjdCBvaWRtYXAgKm1hcCwgc2l6ZV90IGluaXRpYWxfc2l6ZSkKQEAgLTI4LDcgKzI1LDkgQEAKIHsKIAlpZiAoIW1hcCkKIAkJcmV0dXJuOwotCWhhc2htYXBfZnJlZSgmbWFwLT5tYXAsIGZyZWVfZW50cmllcyk7CisKKwkvKiBUT0RPOiBtYWtlIG9pZG1hcCBpdHNlbGYgbm90IGRlcGVuZCBvbiBzdHJ1Y3QgbGF5b3V0cyAqLworCWhhc2htYXBfZnJlZV8oJm1hcC0+bWFwLCBmcmVlX2VudHJpZXMgPyAwIDogLTEpOwogfQogCiB2b2lkICpvaWRtYXBfZ2V0KGNvbnN0IHN0cnVjdCBvaWRtYXAgKm1hcCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqa2V5KQpAQCAtMzYsNyArMzUsNyBAQAogCWlmICghbWFwLT5tYXAuY21wZm4pCiAJCXJldHVybiBOVUxMOwogCi0JcmV0dXJuIGhhc2htYXBfZ2V0X2Zyb21faGFzaCgmbWFwLT5tYXAsIGhhc2goa2V5KSwga2V5KTsKKwlyZXR1cm4gaGFzaG1hcF9nZXRfZnJvbV9oYXNoKCZtYXAtPm1hcCwgb2lkaGFzaChrZXkpLCBrZXkpOwogfQogCiB2b2lkICpvaWRtYXBfcmVtb3ZlKHN0cnVjdCBvaWRtYXAgKm1hcCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqa2V5KQpAQCAtNDYsNyArNDUsNyBAQAogCWlmICghbWFwLT5tYXAuY21wZm4pCiAJCW9pZG1hcF9pbml0KG1hcCwgMCk7CiAKLQloYXNobWFwX2VudHJ5X2luaXQoJmVudHJ5LCBoYXNoKGtleSkpOworCWhhc2htYXBfZW50cnlfaW5pdCgmZW50cnksIG9pZGhhc2goa2V5KSk7CiAJcmV0dXJuIGhhc2htYXBfcmVtb3ZlKCZtYXAtPm1hcCwgJmVudHJ5LCBrZXkpOwogfQogCkBAIC01Nyw2ICs1Niw2IEBACiAJaWYgKCFtYXAtPm1hcC5jbXBmbikKIAkJb2lkbWFwX2luaXQobWFwLCAwKTsKIAotCWhhc2htYXBfZW50cnlfaW5pdCgmdG9fcHV0LT5pbnRlcm5hbF9lbnRyeSwgaGFzaCgmdG9fcHV0LT5vaWQpKTsKLQlyZXR1cm4gaGFzaG1hcF9wdXQoJm1hcC0+bWFwLCB0b19wdXQpOworCWhhc2htYXBfZW50cnlfaW5pdCgmdG9fcHV0LT5pbnRlcm5hbF9lbnRyeSwgb2lkaGFzaCgmdG9fcHV0LT5vaWQpKTsKKwlyZXR1cm4gaGFzaG1hcF9wdXQoJm1hcC0+bWFwLCAmdG9fcHV0LT5pbnRlcm5hbF9lbnRyeSk7CiB9CmRpZmYgLS1naXQgYS9vaWRtYXAuaCBiL29pZG1hcC5oCmluZGV4IDcyNDMwYjYuLmM2NmE4M2EgMTAwNjQ0Ci0tLSBhL29pZG1hcC5oCisrKyBiL29pZG1hcC5oCkBAIC0zMyw3ICszMyw3IEBACiAgKiBwYXJhbWV0ZXIgbWF5IGJlIHVzZWQgdG8gcHJlYWxsb2NhdGUgYSBzdWZmaWNpZW50bHkgbGFyZ2UgdGFibGUgYW5kIHRodXMKICAqIHByZXZlbnQgZXhwZW5zaXZlIHJlc2l6aW5nLiBJZiAwLCB0aGUgdGFibGUgaXMgZHluYW1pY2FsbHkgcmVzaXplZC4KICAqLwotZXh0ZXJuIHZvaWQgb2lkbWFwX2luaXQoc3RydWN0IG9pZG1hcCAqbWFwLCBzaXplX3QgaW5pdGlhbF9zaXplKTsKK3ZvaWQgb2lkbWFwX2luaXQoc3RydWN0IG9pZG1hcCAqbWFwLCBzaXplX3QgaW5pdGlhbF9zaXplKTsKIAogLyoKICAqIEZyZWVzIGFuIG9pZG1hcCBzdHJ1Y3R1cmUgYW5kIGFsbG9jYXRlZCBtZW1vcnkuCkBAIC00MSwxMyArNDEsMTMgQEAKICAqIElmIGBmcmVlX2VudHJpZXNgIGlzIHRydWUsIGVhY2ggb2lkbWFwX2VudHJ5IGluIHRoZSBtYXAgaXMgZnJlZWQgYXMgd2VsbAogICogdXNpbmcgc3RkbGlicyBmcmVlKCkuCiAgKi8KLWV4dGVybiB2b2lkIG9pZG1hcF9mcmVlKHN0cnVjdCBvaWRtYXAgKm1hcCwgaW50IGZyZWVfZW50cmllcyk7Cit2b2lkIG9pZG1hcF9mcmVlKHN0cnVjdCBvaWRtYXAgKm1hcCwgaW50IGZyZWVfZW50cmllcyk7CiAKIC8qCiAgKiBSZXR1cm5zIHRoZSBvaWRtYXAgZW50cnkgZm9yIHRoZSBzcGVjaWZpZWQgb2lkLCBvciBOVUxMIGlmIG5vdCBmb3VuZC4KICAqLwotZXh0ZXJuIHZvaWQgKm9pZG1hcF9nZXQoY29uc3Qgc3RydWN0IG9pZG1hcCAqbWFwLAotCQkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqa2V5KTsKK3ZvaWQgKm9pZG1hcF9nZXQoY29uc3Qgc3RydWN0IG9pZG1hcCAqbWFwLAorCQkgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqa2V5KTsKIAogLyoKICAqIEFkZHMgb3IgcmVwbGFjZXMgYW4gb2lkbWFwIGVudHJ5LgpAQCAtNTcsMTQgKzU3LDE0IEBACiAgKgogICogUmV0dXJucyB0aGUgcmVwbGFjZWQgZW50cnksIG9yIE5VTEwgaWYgbm90IGZvdW5kIChpLmUuIHRoZSBlbnRyeSB3YXMgYWRkZWQpLgogICovCi1leHRlcm4gdm9pZCAqb2lkbWFwX3B1dChzdHJ1Y3Qgb2lkbWFwICptYXAsIHZvaWQgKmVudHJ5KTsKK3ZvaWQgKm9pZG1hcF9wdXQoc3RydWN0IG9pZG1hcCAqbWFwLCB2b2lkICplbnRyeSk7CiAKIC8qCiAgKiBSZW1vdmVzIGFuIG9pZG1hcCBlbnRyeSBtYXRjaGluZyB0aGUgc3BlY2lmaWVkIG9pZC4KICAqCiAgKiBSZXR1cm5zIHRoZSByZW1vdmVkIGVudHJ5LCBvciBOVUxMIGlmIG5vdCBmb3VuZC4KICAqLwotZXh0ZXJuIHZvaWQgKm9pZG1hcF9yZW1vdmUoc3RydWN0IG9pZG1hcCAqbWFwLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICprZXkpOwordm9pZCAqb2lkbWFwX3JlbW92ZShzdHJ1Y3Qgb2lkbWFwICptYXAsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmtleSk7CiAKIAogc3RydWN0IG9pZG1hcF9pdGVyIHsKQEAgLTc4LDE0ICs3OCwxNiBAQAogCiBzdGF0aWMgaW5saW5lIHZvaWQgKm9pZG1hcF9pdGVyX25leHQoc3RydWN0IG9pZG1hcF9pdGVyICppdGVyKQogewotCXJldHVybiBoYXNobWFwX2l0ZXJfbmV4dCgmaXRlci0+aF9pdGVyKTsKKwkvKiBUT0RPOiB0aGlzIEFQSSBjb3VsZCBiZSByZXdvcmtlZCB0byBkbyBjb21waWxlLXRpbWUgdHlwZSBjaGVja3MgKi8KKwlyZXR1cm4gKHZvaWQgKiloYXNobWFwX2l0ZXJfbmV4dCgmaXRlci0+aF9pdGVyKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkICpvaWRtYXBfaXRlcl9maXJzdChzdHJ1Y3Qgb2lkbWFwICptYXAsCiAJCQkJICAgICAgc3RydWN0IG9pZG1hcF9pdGVyICppdGVyKQogewogCW9pZG1hcF9pdGVyX2luaXQobWFwLCBpdGVyKTsKLQlyZXR1cm4gb2lkbWFwX2l0ZXJfbmV4dChpdGVyKTsKKwkvKiBUT0RPOiB0aGlzIEFQSSBjb3VsZCBiZSByZXdvcmtlZCB0byBkbyBjb21waWxlLXRpbWUgdHlwZSBjaGVja3MgKi8KKwlyZXR1cm4gKHZvaWQgKilvaWRtYXBfaXRlcl9uZXh0KGl0ZXIpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL29pZHNldC5jIGIvb2lkc2V0LmMKaW5kZXggZmU0ZWI5Mi4uZjYzY2U4MSAxMDA2NDQKLS0tIGEvb2lkc2V0LmMKKysrIGIvb2lkc2V0LmMKQEAgLTUsMzMgKzUsNjggQEAKIHsKIAltZW1zZXQoJnNldC0+c2V0LCAwLCBzaXplb2Yoc2V0LT5zZXQpKTsKIAlpZiAoaW5pdGlhbF9zaXplKQotCQlraF9yZXNpemVfb2lkKCZzZXQtPnNldCwgaW5pdGlhbF9zaXplKTsKKwkJa2hfcmVzaXplX29pZF9zZXQoJnNldC0+c2V0LCBpbml0aWFsX3NpemUpOwogfQogCiBpbnQgb2lkc2V0X2NvbnRhaW5zKGNvbnN0IHN0cnVjdCBvaWRzZXQgKnNldCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewotCWtoaXRlcl90IHBvcyA9IGtoX2dldF9vaWQoJnNldC0+c2V0LCAqb2lkKTsKKwlraGl0ZXJfdCBwb3MgPSBraF9nZXRfb2lkX3NldCgmc2V0LT5zZXQsICpvaWQpOwogCXJldHVybiBwb3MgIT0ga2hfZW5kKCZzZXQtPnNldCk7CiB9CiAKIGludCBvaWRzZXRfaW5zZXJ0KHN0cnVjdCBvaWRzZXQgKnNldCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCWludCBhZGRlZDsKLQlraF9wdXRfb2lkKCZzZXQtPnNldCwgKm9pZCwgJmFkZGVkKTsKKwlraF9wdXRfb2lkX3NldCgmc2V0LT5zZXQsICpvaWQsICZhZGRlZCk7CiAJcmV0dXJuICFhZGRlZDsKIH0KIAogaW50IG9pZHNldF9yZW1vdmUoc3RydWN0IG9pZHNldCAqc2V0LCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0Ja2hpdGVyX3QgcG9zID0ga2hfZ2V0X29pZCgmc2V0LT5zZXQsICpvaWQpOworCWtoaXRlcl90IHBvcyA9IGtoX2dldF9vaWRfc2V0KCZzZXQtPnNldCwgKm9pZCk7CiAJaWYgKHBvcyA9PSBraF9lbmQoJnNldC0+c2V0KSkKIAkJcmV0dXJuIDA7Ci0Ja2hfZGVsX29pZCgmc2V0LT5zZXQsIHBvcyk7CisJa2hfZGVsX29pZF9zZXQoJnNldC0+c2V0LCBwb3MpOwogCXJldHVybiAxOwogfQogCiB2b2lkIG9pZHNldF9jbGVhcihzdHJ1Y3Qgb2lkc2V0ICpzZXQpCiB7Ci0Ja2hfcmVsZWFzZV9vaWQoJnNldC0+c2V0KTsKKwlraF9yZWxlYXNlX29pZF9zZXQoJnNldC0+c2V0KTsKIAlvaWRzZXRfaW5pdChzZXQsIDApOwogfQorCit2b2lkIG9pZHNldF9wYXJzZV9maWxlKHN0cnVjdCBvaWRzZXQgKnNldCwgY29uc3QgY2hhciAqcGF0aCkKK3sKKwlGSUxFICpmcDsKKwlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CisKKwlmcCA9IGZvcGVuKHBhdGgsICJyIik7CisJaWYgKCFmcCkKKwkJZGllKCJjb3VsZCBub3Qgb3BlbiBvYmplY3QgbmFtZSBsaXN0OiAlcyIsIHBhdGgpOworCXdoaWxlICghc3RyYnVmX2dldGxpbmUoJnNiLCBmcCkpIHsKKwkJY29uc3QgY2hhciAqcDsKKwkJY29uc3QgY2hhciAqbmFtZTsKKworCQkvKgorCQkgKiBBbGxvdyB0cmFpbGluZyBjb21tZW50cywgbGVhZGluZyB3aGl0ZXNwYWNlCisJCSAqIChpbmNsdWRpbmcgYmVmb3JlIGNvbW1pdHMpLCBhbmQgZW1wdHkgb3Igd2hpdGVzcGFjZQorCQkgKiBvbmx5IGxpbmVzLgorCQkgKi8KKwkJbmFtZSA9IHN0cmNocihzYi5idWYsICcjJyk7CisJCWlmIChuYW1lKQorCQkJc3RyYnVmX3NldGxlbigmc2IsIG5hbWUgLSBzYi5idWYpOworCQlzdHJidWZfdHJpbSgmc2IpOworCQlpZiAoIXNiLmxlbikKKwkJCWNvbnRpbnVlOworCisJCWlmIChwYXJzZV9vaWRfaGV4KHNiLmJ1ZiwgJm9pZCwgJnApIHx8ICpwICE9ICdcMCcpCisJCQlkaWUoImludmFsaWQgb2JqZWN0IG5hbWU6ICVzIiwgc2IuYnVmKTsKKwkJb2lkc2V0X2luc2VydChzZXQsICZvaWQpOworCX0KKwlpZiAoZmVycm9yKGZwKSkKKwkJZGllX2Vycm5vKCJDb3VsZCBub3QgcmVhZCAnJXMnIiwgcGF0aCk7CisJZmNsb3NlKGZwKTsKKwlzdHJidWZfcmVsZWFzZSgmc2IpOworfQpkaWZmIC0tZ2l0IGEvb2lkc2V0LmggYi9vaWRzZXQuaAppbmRleCBjOWQwZjZkLi41MzQ2NTYzIDEwMDY0NAotLS0gYS9vaWRzZXQuaAorKysgYi9vaWRzZXQuaApAQCAtMTYsMjMgKzE2LDExIEBACiAgKiAgICAgIHRhYmxlIG92ZXJoZWFkLgogICovCiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IG9pZF9oYXNoKHN0cnVjdCBvYmplY3RfaWQgb2lkKQotewotCXJldHVybiBzaGExaGFzaChvaWQuaGFzaCk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IG9pZF9lcXVhbChzdHJ1Y3Qgb2JqZWN0X2lkIGEsIHN0cnVjdCBvYmplY3RfaWQgYikKLXsKLQlyZXR1cm4gb2lkZXEoJmEsICZiKTsKLX0KLQotS0hBU0hfSU5JVChvaWQsIHN0cnVjdCBvYmplY3RfaWQsIGludCwgMCwgb2lkX2hhc2gsIG9pZF9lcXVhbCkKLQogLyoqCiAgKiBBIHNpbmdsZSBvaWRzZXQ7IHNob3VsZCBiZSB6ZXJvLWluaXRpYWxpemVkIChvciB1c2UgT0lEU0VUX0lOSVQpLgogICovCiBzdHJ1Y3Qgb2lkc2V0IHsKLQlraF9vaWRfdCBzZXQ7CisJa2hfb2lkX3NldF90IHNldDsKIH07CiAKICNkZWZpbmUgT0lEU0VUX0lOSVQgeyB7IDAgfSB9CkBAIC03Myw4ICs2MSwxNiBAQAogICovCiB2b2lkIG9pZHNldF9jbGVhcihzdHJ1Y3Qgb2lkc2V0ICpzZXQpOwogCisvKioKKyAqIEFkZCB0aGUgY29udGVudHMgb2YgdGhlIGZpbGUgJ3BhdGgnIHRvIGFuIGluaXRpYWxpemVkIG9pZHNldC4gIEVhY2ggbGluZSBpcworICogYW4gdW5hYmJyZXZpYXRlZCBvYmplY3QgbmFtZS4gIENvbW1lbnRzIGJlZ2luIHdpdGggJyMnLCBhbmQgdHJhaWxpbmcgY29tbWVudHMKKyAqIGFyZSBhbGxvd2VkLiAgTGVhZGluZyB3aGl0ZXNwYWNlIGFuZCBlbXB0eSBvciB3aGl0ZS1zcGFjZSBvbmx5IGxpbmVzIGFyZQorICogaWdub3JlZC4KKyAqLwordm9pZCBvaWRzZXRfcGFyc2VfZmlsZShzdHJ1Y3Qgb2lkc2V0ICpzZXQsIGNvbnN0IGNoYXIgKnBhdGgpOworCiBzdHJ1Y3Qgb2lkc2V0X2l0ZXIgewotCWtoX29pZF90ICpzZXQ7CisJa2hfb2lkX3NldF90ICpzZXQ7CiAJa2hpdGVyX3QgaXRlcjsKIH07CiAKZGlmZiAtLWdpdCBhL3BhY2stYml0bWFwLXdyaXRlLmMgYi9wYWNrLWJpdG1hcC13cml0ZS5jCmluZGV4IDlkMWI5NTEuLmE3YTQ5NjQgMTAwNjQ0Ci0tLSBhL3BhY2stYml0bWFwLXdyaXRlLmMKKysrIGIvcGFjay1iaXRtYXAtd3JpdGUuYwpAQCAtMjgsOCArMjgsOCBAQAogCXN0cnVjdCBld2FoX2JpdG1hcCAqYmxvYnM7CiAJc3RydWN0IGV3YWhfYml0bWFwICp0YWdzOwogCi0Ja2hhc2hfc2hhMSAqYml0bWFwczsKLQlraGFzaF9zaGExICpyZXVzZWQ7CisJa2hfb2lkX21hcF90ICpiaXRtYXBzOworCWtoX29pZF9tYXBfdCAqcmV1c2VkOwogCXN0cnVjdCBwYWNraW5nX2RhdGEgKnRvX3BhY2s7CiAKIAlzdHJ1Y3QgYml0bWFwcGVkX2NvbW1pdCAqc2VsZWN0ZWQ7CkBAIC03Nyw3ICs3Nyw3IEBACiAJCQlicmVhazsKIAogCQlkZWZhdWx0OgotCQkJcmVhbF90eXBlID0gb2lkX29iamVjdF9pbmZvKHRoZV9yZXBvc2l0b3J5LAorCQkJcmVhbF90eXBlID0gb2lkX29iamVjdF9pbmZvKHRvX3BhY2stPnJlcG8sCiAJCQkJCQkgICAgJmVudHJ5LT5pZHgub2lkLCBOVUxMKTsKIAkJCWJyZWFrOwogCQl9CkBAIC0xNDIsMTMgKzE0MiwxMyBAQAogCXNlZW5fb2JqZWN0c19uciA9IDA7CiB9CiAKLXN0YXRpYyB1aW50MzJfdCBmaW5kX29iamVjdF9wb3MoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyB1aW50MzJfdCBmaW5kX29iamVjdF9wb3MoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewotCXN0cnVjdCBvYmplY3RfZW50cnkgKmVudHJ5ID0gcGFja2xpc3RfZmluZCh3cml0ZXIudG9fcGFjaywgc2hhMSwgTlVMTCk7CisJc3RydWN0IG9iamVjdF9lbnRyeSAqZW50cnkgPSBwYWNrbGlzdF9maW5kKHdyaXRlci50b19wYWNrLCBvaWQpOwogCiAJaWYgKCFlbnRyeSkgewogCQlkaWUoIkZhaWxlZCB0byB3cml0ZSBiaXRtYXAgaW5kZXguIFBhY2tmaWxlIGRvZXNuJ3QgaGF2ZSBmdWxsIGNsb3N1cmUgIgotCQkJIihvYmplY3QgJXMgaXMgbWlzc2luZykiLCBzaGExX3RvX2hleChzaGExKSk7CisJCQkiKG9iamVjdCAlcyBpcyBtaXNzaW5nKSIsIG9pZF90b19oZXgob2lkKSk7CiAJfQogCiAJcmV0dXJuIG9lX2luX3BhY2tfcG9zKHdyaXRlci50b19wYWNrLCBlbnRyeSk7CkBAIC0xNTcsNyArMTU3LDcgQEAKIHN0YXRpYyB2b2lkIHNob3dfb2JqZWN0KHN0cnVjdCBvYmplY3QgKm9iamVjdCwgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3QgYml0bWFwICpiYXNlID0gZGF0YTsKLQliaXRtYXBfc2V0KGJhc2UsIGZpbmRfb2JqZWN0X3BvcyhvYmplY3QtPm9pZC5oYXNoKSk7CisJYml0bWFwX3NldChiYXNlLCBmaW5kX29iamVjdF9wb3MoJm9iamVjdC0+b2lkKSk7CiAJbWFya19hc19zZWVuKG9iamVjdCk7CiB9CiAKQEAgLTE3MCwxMiArMTcwLDEyIEBACiBhZGRfdG9faW5jbHVkZV9zZXQoc3RydWN0IGJpdG1hcCAqYmFzZSwgc3RydWN0IGNvbW1pdCAqY29tbWl0KQogewogCWtoaXRlcl90IGhhc2hfcG9zOwotCXVpbnQzMl90IGJpdG1hcF9wb3MgPSBmaW5kX29iamVjdF9wb3MoY29tbWl0LT5vYmplY3Qub2lkLmhhc2gpOworCXVpbnQzMl90IGJpdG1hcF9wb3MgPSBmaW5kX29iamVjdF9wb3MoJmNvbW1pdC0+b2JqZWN0Lm9pZCk7CiAKIAlpZiAoYml0bWFwX2dldChiYXNlLCBiaXRtYXBfcG9zKSkKIAkJcmV0dXJuIDA7CiAKLQloYXNoX3BvcyA9IGtoX2dldF9zaGExKHdyaXRlci5iaXRtYXBzLCBjb21taXQtPm9iamVjdC5vaWQuaGFzaCk7CisJaGFzaF9wb3MgPSBraF9nZXRfb2lkX21hcCh3cml0ZXIuYml0bWFwcywgY29tbWl0LT5vYmplY3Qub2lkKTsKIAlpZiAoaGFzaF9wb3MgPCBraF9lbmQod3JpdGVyLmJpdG1hcHMpKSB7CiAJCXN0cnVjdCBiaXRtYXBwZWRfY29tbWl0ICpiYyA9IGtoX3ZhbHVlKHdyaXRlci5iaXRtYXBzLCBoYXNoX3Bvcyk7CiAJCWJpdG1hcF9vcl9ld2FoKGJhc2UsIGJjLT5iaXRtYXApOwpAQCAtMjU2LDEzICsyNTYsMTMgQEAKIAlzdHJ1Y3QgYml0bWFwICpiYXNlID0gYml0bWFwX25ldygpOwogCXN0cnVjdCByZXZfaW5mbyByZXZzOwogCi0Jd3JpdGVyLmJpdG1hcHMgPSBraF9pbml0X3NoYTEoKTsKKwl3cml0ZXIuYml0bWFwcyA9IGtoX2luaXRfb2lkX21hcCgpOwogCXdyaXRlci50b19wYWNrID0gdG9fcGFjazsKIAogCWlmICh3cml0ZXIuc2hvd19wcm9ncmVzcykKIAkJd3JpdGVyLnByb2dyZXNzID0gc3RhcnRfcHJvZ3Jlc3MoIkJ1aWxkaW5nIGJpdG1hcHMiLCB3cml0ZXIuc2VsZWN0ZWRfbnIpOwogCi0JcmVwb19pbml0X3JldmlzaW9ucyh0aGVfcmVwb3NpdG9yeSwgJnJldnMsIE5VTEwpOworCXJlcG9faW5pdF9yZXZpc2lvbnModG9fcGFjay0+cmVwbywgJnJldnMsIE5VTEwpOwogCXJldnMudGFnX29iamVjdHMgPSAxOwogCXJldnMudHJlZV9vYmplY3RzID0gMTsKIAlyZXZzLmJsb2Jfb2JqZWN0cyA9IDE7CkBAIC0zMTEsNyArMzExLDcgQEAKIAkJaWYgKGkgPj0gcmV1c2VfYWZ0ZXIpCiAJCQlzdG9yZWQtPmZsYWdzIHw9IEJJVE1BUF9GTEFHX1JFVVNFOwogCi0JCWhhc2hfcG9zID0ga2hfcHV0X3NoYTEod3JpdGVyLmJpdG1hcHMsIG9iamVjdC0+b2lkLmhhc2gsICZoYXNoX3JldCk7CisJCWhhc2hfcG9zID0ga2hfcHV0X29pZF9tYXAod3JpdGVyLmJpdG1hcHMsIG9iamVjdC0+b2lkLCAmaGFzaF9yZXQpOwogCQlpZiAoaGFzaF9yZXQgPT0gMCkKIAkJCWRpZSgiRHVwbGljYXRlIGVudHJ5IHdoZW4gd3JpdGluZyBpbmRleDogJXMiLAogCQkJICAgIG9pZF90b19oZXgoJm9iamVjdC0+b2lkKSk7CkBAIC0zNjMsMTAgKzM2MywxMCBAQAogdm9pZCBiaXRtYXBfd3JpdGVyX3JldXNlX2JpdG1hcHMoc3RydWN0IHBhY2tpbmdfZGF0YSAqdG9fcGFjaykKIHsKIAlzdHJ1Y3QgYml0bWFwX2luZGV4ICpiaXRtYXBfZ2l0OwotCWlmICghKGJpdG1hcF9naXQgPSBwcmVwYXJlX2JpdG1hcF9naXQoKSkpCisJaWYgKCEoYml0bWFwX2dpdCA9IHByZXBhcmVfYml0bWFwX2dpdCh0b19wYWNrLT5yZXBvKSkpCiAJCXJldHVybjsKIAotCXdyaXRlci5yZXVzZWQgPSBraF9pbml0X3NoYTEoKTsKKwl3cml0ZXIucmV1c2VkID0ga2hfaW5pdF9vaWRfbWFwKCk7CiAJcmVidWlsZF9leGlzdGluZ19iaXRtYXBzKGJpdG1hcF9naXQsIHRvX3BhY2ssIHdyaXRlci5yZXVzZWQsCiAJCQkJIHdyaXRlci5zaG93X3Byb2dyZXNzKTsKIAkvKgpAQCAtMzc1LDE0ICszNzUsMTQgQEAKIAkgKi8KIH0KIAotc3RhdGljIHN0cnVjdCBld2FoX2JpdG1hcCAqZmluZF9yZXVzZWRfYml0bWFwKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCitzdGF0aWMgc3RydWN0IGV3YWhfYml0bWFwICpmaW5kX3JldXNlZF9iaXRtYXAoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCWtoaXRlcl90IGhhc2hfcG9zOwogCiAJaWYgKCF3cml0ZXIucmV1c2VkKQogCQlyZXR1cm4gTlVMTDsKIAotCWhhc2hfcG9zID0ga2hfZ2V0X3NoYTEod3JpdGVyLnJldXNlZCwgc2hhMSk7CisJaGFzaF9wb3MgPSBraF9nZXRfb2lkX21hcCh3cml0ZXIucmV1c2VkLCAqb2lkKTsKIAlpZiAoaGFzaF9wb3MgPj0ga2hfZW5kKHdyaXRlci5yZXVzZWQpKQogCQlyZXR1cm4gTlVMTDsKIApAQCAtNDIyLDE0ICs0MjIsMTQgQEAKIAogCQlpZiAobmV4dCA9PSAwKSB7CiAJCQljaG9zZW4gPSBpbmRleGVkX2NvbW1pdHNbaV07Ci0JCQlyZXVzZWRfYml0bWFwID0gZmluZF9yZXVzZWRfYml0bWFwKGNob3Nlbi0+b2JqZWN0Lm9pZC5oYXNoKTsKKwkJCXJldXNlZF9iaXRtYXAgPSBmaW5kX3JldXNlZF9iaXRtYXAoJmNob3Nlbi0+b2JqZWN0Lm9pZCk7CiAJCX0gZWxzZSB7CiAJCQljaG9zZW4gPSBpbmRleGVkX2NvbW1pdHNbaSArIG5leHRdOwogCiAJCQlmb3IgKGogPSAwOyBqIDw9IG5leHQ7ICsraikgewogCQkJCXN0cnVjdCBjb21taXQgKmNtID0gaW5kZXhlZF9jb21taXRzW2kgKyBqXTsKIAotCQkJCXJldXNlZF9iaXRtYXAgPSBmaW5kX3JldXNlZF9iaXRtYXAoY20tPm9iamVjdC5vaWQuaGFzaCk7CisJCQkJcmV1c2VkX2JpdG1hcCA9IGZpbmRfcmV1c2VkX2JpdG1hcCgmY20tPm9iamVjdC5vaWQpOwogCQkJCWlmIChyZXVzZWRfYml0bWFwIHx8IChjbS0+b2JqZWN0LmZsYWdzICYgTkVFRFNfQklUTUFQKSAhPSAwKSB7CiAJCQkJCWNob3NlbiA9IGNtOwogCQkJCQlicmVhazsKQEAgLTUzNSw3ICs1MzUsNyBAQAogCWhlYWRlci5lbnRyeV9jb3VudCA9IGh0b25sKHdyaXRlci5zZWxlY3RlZF9ucik7CiAJaGFzaGNweShoZWFkZXIuY2hlY2tzdW0sIHdyaXRlci5wYWNrX2NoZWNrc3VtKTsKIAotCWhhc2h3cml0ZShmLCAmaGVhZGVyLCBzaXplb2YoaGVhZGVyKSk7CisJaGFzaHdyaXRlKGYsICZoZWFkZXIsIHNpemVvZihoZWFkZXIpIC0gR0lUX01BWF9SQVdTWiArIHRoZV9oYXNoX2FsZ28tPnJhd3N6KTsKIAlkdW1wX2JpdG1hcChmLCB3cml0ZXIuY29tbWl0cyk7CiAJZHVtcF9iaXRtYXAoZiwgd3JpdGVyLnRyZWVzKTsKIAlkdW1wX2JpdG1hcChmLCB3cml0ZXIuYmxvYnMpOwpkaWZmIC0tZ2l0IGEvcGFjay1iaXRtYXAuYyBiL3BhY2stYml0bWFwLmMKaW5kZXggNTg0OGNjOS4uNDlhOGQxMCAxMDA2NDQKLS0tIGEvcGFjay1iaXRtYXAuYworKysgYi9wYWNrLWJpdG1hcC5jCkBAIC0xMiwxMyArMTIsMTQgQEAKICNpbmNsdWRlICJwYWNrZmlsZS5oIgogI2luY2x1ZGUgInJlcG9zaXRvcnkuaCIKICNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKKyNpbmNsdWRlICJsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaCIKIAogLyoKICAqIEFuIGVudHJ5IG9uIHRoZSBiaXRtYXAgaW5kZXgsIHJlcHJlc2VudGluZyB0aGUgYml0bWFwIGZvciBhIGdpdmVuCiAgKiBjb21taXQuCiAgKi8KIHN0cnVjdCBzdG9yZWRfYml0bWFwIHsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOworCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCXN0cnVjdCBld2FoX2JpdG1hcCAqcm9vdDsKIAlzdHJ1Y3Qgc3RvcmVkX2JpdG1hcCAqeG9yOwogCWludCBmbGFnczsKQEAgLTYwLDggKzYxLDggQEAKIAlzdHJ1Y3QgZXdhaF9iaXRtYXAgKmJsb2JzOwogCXN0cnVjdCBld2FoX2JpdG1hcCAqdGFnczsKIAotCS8qIE1hcCBmcm9tIFNIQTEgLT4gYHN0b3JlZF9iaXRtYXBgIGZvciBhbGwgdGhlIGJpdG1hcHBlZCBjb21taXRzICovCi0Ja2hhc2hfc2hhMSAqYml0bWFwczsKKwkvKiBNYXAgZnJvbSBvYmplY3QgSUQgLT4gYHN0b3JlZF9iaXRtYXBgIGZvciBhbGwgdGhlIGJpdG1hcHBlZCBjb21taXRzICovCisJa2hfb2lkX21hcF90ICpiaXRtYXBzOwogCiAJLyogTnVtYmVyIG9mIGJpdG1hcHBlZCBjb21taXRzICovCiAJdWludDMyX3QgZW50cnlfY291bnQ7CkBAIC04MCw3ICs4MSw3IEBACiAJCXN0cnVjdCBvYmplY3QgKipvYmplY3RzOwogCQl1aW50MzJfdCAqaGFzaGVzOwogCQl1aW50MzJfdCBjb3VudCwgYWxsb2M7Ci0JCWtoYXNoX3NoYTFfcG9zICpwb3NpdGlvbnM7CisJCWtoX29pZF9wb3NfdCAqcG9zaXRpb25zOwogCX0gZXh0X2luZGV4OwogCiAJLyogQml0bWFwIHJlc3VsdCBvZiB0aGUgbGFzdCBwZXJmb3JtZWQgd2FsayAqLwpAQCAtMTM4LDcgKzEzOSw3IEBACiB7CiAJc3RydWN0IGJpdG1hcF9kaXNrX2hlYWRlciAqaGVhZGVyID0gKHZvaWQgKilpbmRleC0+bWFwOwogCi0JaWYgKGluZGV4LT5tYXBfc2l6ZSA8IHNpemVvZigqaGVhZGVyKSArIDIwKQorCWlmIChpbmRleC0+bWFwX3NpemUgPCBzaXplb2YoKmhlYWRlcikgKyB0aGVfaGFzaF9hbGdvLT5yYXdzeikKIAkJcmV0dXJuIGVycm9yKCJDb3JydXB0ZWQgYml0bWFwIGluZGV4IChtaXNzaW5nIGhlYWRlciBkYXRhKSIpOwogCiAJaWYgKG1lbWNtcChoZWFkZXItPm1hZ2ljLCBCSVRNQVBfSURYX1NJR05BVFVSRSwgc2l6ZW9mKEJJVE1BUF9JRFhfU0lHTkFUVVJFKSkgIT0gMCkKQEAgLTE1NywxOSArMTU4LDE5IEBACiAJCQkJIihHaXQgcmVxdWlyZXMgQklUTUFQX09QVF9GVUxMX0RBRykiKTsKIAogCQlpZiAoZmxhZ3MgJiBCSVRNQVBfT1BUX0hBU0hfQ0FDSEUpIHsKLQkJCXVuc2lnbmVkIGNoYXIgKmVuZCA9IGluZGV4LT5tYXAgKyBpbmRleC0+bWFwX3NpemUgLSAyMDsKKwkJCXVuc2lnbmVkIGNoYXIgKmVuZCA9IGluZGV4LT5tYXAgKyBpbmRleC0+bWFwX3NpemUgLSB0aGVfaGFzaF9hbGdvLT5yYXdzejsKIAkJCWluZGV4LT5oYXNoZXMgPSAoKHVpbnQzMl90ICopZW5kKSAtIGluZGV4LT5wYWNrLT5udW1fb2JqZWN0czsKIAkJfQogCX0KIAogCWluZGV4LT5lbnRyeV9jb3VudCA9IG50b2hsKGhlYWRlci0+ZW50cnlfY291bnQpOwotCWluZGV4LT5tYXBfcG9zICs9IHNpemVvZigqaGVhZGVyKTsKKwlpbmRleC0+bWFwX3BvcyArPSBzaXplb2YoKmhlYWRlcikgLSBHSVRfTUFYX1JBV1NaICsgdGhlX2hhc2hfYWxnby0+cmF3c3o7CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBzdHJ1Y3Qgc3RvcmVkX2JpdG1hcCAqc3RvcmVfYml0bWFwKHN0cnVjdCBiaXRtYXBfaW5kZXggKmluZGV4LAogCQkJCQkgIHN0cnVjdCBld2FoX2JpdG1hcCAqcm9vdCwKLQkJCQkJICBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorCQkJCQkgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCQkJICBzdHJ1Y3Qgc3RvcmVkX2JpdG1hcCAqeG9yX3dpdGgsCiAJCQkJCSAgaW50IGZsYWdzKQogewpAQCAtMTgxLDE1ICsxODIsMTUgQEAKIAlzdG9yZWQtPnJvb3QgPSByb290OwogCXN0b3JlZC0+eG9yID0geG9yX3dpdGg7CiAJc3RvcmVkLT5mbGFncyA9IGZsYWdzOwotCWhhc2hjcHkoc3RvcmVkLT5zaGExLCBzaGExKTsKKwlvaWRjcHkoJnN0b3JlZC0+b2lkLCBvaWQpOwogCi0JaGFzaF9wb3MgPSBraF9wdXRfc2hhMShpbmRleC0+Yml0bWFwcywgc3RvcmVkLT5zaGExLCAmcmV0KTsKKwloYXNoX3BvcyA9IGtoX3B1dF9vaWRfbWFwKGluZGV4LT5iaXRtYXBzLCBzdG9yZWQtPm9pZCwgJnJldCk7CiAKIAkvKiBhIDAgcmV0dXJuIGNvZGUgbWVhbnMgdGhlIGluc2VydGlvbiBzdWNjZWVkZWQgd2l0aCBubyBjaGFuZ2VzLAogCSAqIGJlY2F1c2UgdGhlIFNIQTEgYWxyZWFkeSBleGlzdGVkIG9uIHRoZSBtYXAuIHRoaXMgaXMgYmFkLCB0aGVyZQogCSAqIHNob3VsZG4ndCBiZSBkdXBsaWNhdGVkIGNvbW1pdHMgaW4gdGhlIGluZGV4ICovCiAJaWYgKHJldCA9PSAwKSB7Ci0JCWVycm9yKCJEdXBsaWNhdGUgZW50cnkgaW4gYml0bWFwIGluZGV4OiAlcyIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwkJZXJyb3IoIkR1cGxpY2F0ZSBlbnRyeSBpbiBiaXRtYXAgaW5kZXg6ICVzIiwgb2lkX3RvX2hleChvaWQpKTsKIAkJcmV0dXJuIE5VTEw7CiAJfQogCkBAIC0yMjEsMTMgKzIyMiwxMyBAQAogCQlzdHJ1Y3QgZXdhaF9iaXRtYXAgKmJpdG1hcCA9IE5VTEw7CiAJCXN0cnVjdCBzdG9yZWRfYml0bWFwICp4b3JfYml0bWFwID0gTlVMTDsKIAkJdWludDMyX3QgY29tbWl0X2lkeF9wb3M7Ci0JCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTE7CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCiAJCWNvbW1pdF9pZHhfcG9zID0gcmVhZF9iZTMyKGluZGV4LT5tYXAsICZpbmRleC0+bWFwX3Bvcyk7CiAJCXhvcl9vZmZzZXQgPSByZWFkX3U4KGluZGV4LT5tYXAsICZpbmRleC0+bWFwX3Bvcyk7CiAJCWZsYWdzID0gcmVhZF91OChpbmRleC0+bWFwLCAmaW5kZXgtPm1hcF9wb3MpOwogCi0JCXNoYTEgPSBudGhfcGFja2VkX29iamVjdF9zaGExKGluZGV4LT5wYWNrLCBjb21taXRfaWR4X3Bvcyk7CisJCW50aF9wYWNrZWRfb2JqZWN0X2lkKCZvaWQsIGluZGV4LT5wYWNrLCBjb21taXRfaWR4X3Bvcyk7CiAKIAkJYml0bWFwID0gcmVhZF9iaXRtYXBfMShpbmRleCk7CiAJCWlmICghYml0bWFwKQpAQCAtMjQ0LDcgKzI0NSw3IEBACiAJCX0KIAogCQlyZWNlbnRfYml0bWFwc1tpICUgTUFYX1hPUl9PRkZTRVRdID0gc3RvcmVfYml0bWFwKAotCQkJaW5kZXgsIGJpdG1hcCwgc2hhMSwgeG9yX2JpdG1hcCwgZmxhZ3MpOworCQkJaW5kZXgsIGJpdG1hcCwgJm9pZCwgeG9yX2JpdG1hcCwgZmxhZ3MpOwogCX0KIAogCXJldHVybiAwOwpAQCAtMzA2LDkgKzMwNywxMCBAQAogewogCWFzc2VydChiaXRtYXBfZ2l0LT5tYXApOwogCi0JYml0bWFwX2dpdC0+Yml0bWFwcyA9IGtoX2luaXRfc2hhMSgpOwotCWJpdG1hcF9naXQtPmV4dF9pbmRleC5wb3NpdGlvbnMgPSBraF9pbml0X3NoYTFfcG9zKCk7Ci0JbG9hZF9wYWNrX3JldmluZGV4KGJpdG1hcF9naXQtPnBhY2spOworCWJpdG1hcF9naXQtPmJpdG1hcHMgPSBraF9pbml0X29pZF9tYXAoKTsKKwliaXRtYXBfZ2l0LT5leHRfaW5kZXgucG9zaXRpb25zID0ga2hfaW5pdF9vaWRfcG9zKCk7CisJaWYgKGxvYWRfcGFja19yZXZpbmRleChiaXRtYXBfZ2l0LT5wYWNrKSkKKwkJZ290byBmYWlsZWQ7CiAKIAlpZiAoIShiaXRtYXBfZ2l0LT5jb21taXRzID0gcmVhZF9iaXRtYXBfMShiaXRtYXBfZ2l0KSkgfHwKIAkJIShiaXRtYXBfZ2l0LT50cmVlcyA9IHJlYWRfYml0bWFwXzEoYml0bWFwX2dpdCkpIHx8CkBAIC0zMjUsMTcgKzMyNywyNSBAQAogCW11bm1hcChiaXRtYXBfZ2l0LT5tYXAsIGJpdG1hcF9naXQtPm1hcF9zaXplKTsKIAliaXRtYXBfZ2l0LT5tYXAgPSBOVUxMOwogCWJpdG1hcF9naXQtPm1hcF9zaXplID0gMDsKKworCWtoX2Rlc3Ryb3lfb2lkX21hcChiaXRtYXBfZ2l0LT5iaXRtYXBzKTsKKwliaXRtYXBfZ2l0LT5iaXRtYXBzID0gTlVMTDsKKworCWtoX2Rlc3Ryb3lfb2lkX3BvcyhiaXRtYXBfZ2l0LT5leHRfaW5kZXgucG9zaXRpb25zKTsKKwliaXRtYXBfZ2l0LT5leHRfaW5kZXgucG9zaXRpb25zID0gTlVMTDsKKwogCXJldHVybiAtMTsKIH0KIAotc3RhdGljIGludCBvcGVuX3BhY2tfYml0bWFwKHN0cnVjdCBiaXRtYXBfaW5kZXggKmJpdG1hcF9naXQpCitzdGF0aWMgaW50IG9wZW5fcGFja19iaXRtYXAoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgICAgc3RydWN0IGJpdG1hcF9pbmRleCAqYml0bWFwX2dpdCkKIHsKIAlzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKIAlpbnQgcmV0ID0gLTE7CiAKIAlhc3NlcnQoIWJpdG1hcF9naXQtPm1hcCk7CiAKLQlmb3IgKHAgPSBnZXRfYWxsX3BhY2tzKHRoZV9yZXBvc2l0b3J5KTsgcDsgcCA9IHAtPm5leHQpIHsKKwlmb3IgKHAgPSBnZXRfYWxsX3BhY2tzKHIpOyBwOyBwID0gcC0+bmV4dCkgewogCQlpZiAob3Blbl9wYWNrX2JpdG1hcF8xKGJpdG1hcF9naXQsIHApID09IDApCiAJCQlyZXQgPSAwOwogCX0KQEAgLTM0MywxMSArMzUzLDExIEBACiAJcmV0dXJuIHJldDsKIH0KIAotc3RydWN0IGJpdG1hcF9pbmRleCAqcHJlcGFyZV9iaXRtYXBfZ2l0KHZvaWQpCitzdHJ1Y3QgYml0bWFwX2luZGV4ICpwcmVwYXJlX2JpdG1hcF9naXQoc3RydWN0IHJlcG9zaXRvcnkgKnIpCiB7CiAJc3RydWN0IGJpdG1hcF9pbmRleCAqYml0bWFwX2dpdCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpiaXRtYXBfZ2l0KSk7CiAKLQlpZiAoIW9wZW5fcGFja19iaXRtYXAoYml0bWFwX2dpdCkgJiYgIWxvYWRfcGFja19iaXRtYXAoYml0bWFwX2dpdCkpCisJaWYgKCFvcGVuX3BhY2tfYml0bWFwKHIsIGJpdG1hcF9naXQpICYmICFsb2FkX3BhY2tfYml0bWFwKGJpdG1hcF9naXQpKQogCQlyZXR1cm4gYml0bWFwX2dpdDsKIAogCWZyZWVfYml0bWFwX2luZGV4KGJpdG1hcF9naXQpOwpAQCAtMzYxLDEwICszNzEsMTAgQEAKIH07CiAKIHN0YXRpYyBpbmxpbmUgaW50IGJpdG1hcF9wb3NpdGlvbl9leHRlbmRlZChzdHJ1Y3QgYml0bWFwX2luZGV4ICpiaXRtYXBfZ2l0LAotCQkJCQkgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorCQkJCQkgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0Ja2hhc2hfc2hhMV9wb3MgKnBvc2l0aW9ucyA9IGJpdG1hcF9naXQtPmV4dF9pbmRleC5wb3NpdGlvbnM7Ci0Ja2hpdGVyX3QgcG9zID0ga2hfZ2V0X3NoYTFfcG9zKHBvc2l0aW9ucywgc2hhMSk7CisJa2hfb2lkX3Bvc190ICpwb3NpdGlvbnMgPSBiaXRtYXBfZ2l0LT5leHRfaW5kZXgucG9zaXRpb25zOworCWtoaXRlcl90IHBvcyA9IGtoX2dldF9vaWRfcG9zKHBvc2l0aW9ucywgKm9pZCk7CiAKIAlpZiAocG9zIDwga2hfZW5kKHBvc2l0aW9ucykpIHsKIAkJaW50IGJpdG1hcF9wb3MgPSBraF92YWx1ZShwb3NpdGlvbnMsIHBvcyk7CkBAIC0zNzUsOSArMzg1LDkgQEAKIH0KIAogc3RhdGljIGlubGluZSBpbnQgYml0bWFwX3Bvc2l0aW9uX3BhY2tmaWxlKHN0cnVjdCBiaXRtYXBfaW5kZXggKmJpdG1hcF9naXQsCi0JCQkJCSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCisJCQkJCSAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQlvZmZfdCBvZmZzZXQgPSBmaW5kX3BhY2tfZW50cnlfb25lKHNoYTEsIGJpdG1hcF9naXQtPnBhY2spOworCW9mZl90IG9mZnNldCA9IGZpbmRfcGFja19lbnRyeV9vbmUob2lkLT5oYXNoLCBiaXRtYXBfZ2l0LT5wYWNrKTsKIAlpZiAoIW9mZnNldCkKIAkJcmV0dXJuIC0xOwogCkBAIC0zODUsMTAgKzM5NSwxMCBAQAogfQogCiBzdGF0aWMgaW50IGJpdG1hcF9wb3NpdGlvbihzdHJ1Y3QgYml0bWFwX2luZGV4ICpiaXRtYXBfZ2l0LAotCQkJICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKKwkJCSAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQlpbnQgcG9zID0gYml0bWFwX3Bvc2l0aW9uX3BhY2tmaWxlKGJpdG1hcF9naXQsIHNoYTEpOwotCXJldHVybiAocG9zID49IDApID8gcG9zIDogYml0bWFwX3Bvc2l0aW9uX2V4dGVuZGVkKGJpdG1hcF9naXQsIHNoYTEpOworCWludCBwb3MgPSBiaXRtYXBfcG9zaXRpb25fcGFja2ZpbGUoYml0bWFwX2dpdCwgb2lkKTsKKwlyZXR1cm4gKHBvcyA+PSAwKSA/IHBvcyA6IGJpdG1hcF9wb3NpdGlvbl9leHRlbmRlZChiaXRtYXBfZ2l0LCBvaWQpOwogfQogCiBzdGF0aWMgaW50IGV4dF9pbmRleF9hZGRfb2JqZWN0KHN0cnVjdCBiaXRtYXBfaW5kZXggKmJpdG1hcF9naXQsCkBAIC00MDAsNyArNDEwLDcgQEAKIAlpbnQgaGFzaF9yZXQ7CiAJaW50IGJpdG1hcF9wb3M7CiAKLQloYXNoX3BvcyA9IGtoX3B1dF9zaGExX3BvcyhlaW5kZXgtPnBvc2l0aW9ucywgb2JqZWN0LT5vaWQuaGFzaCwgJmhhc2hfcmV0KTsKKwloYXNoX3BvcyA9IGtoX3B1dF9vaWRfcG9zKGVpbmRleC0+cG9zaXRpb25zLCBvYmplY3QtPm9pZCwgJmhhc2hfcmV0KTsKIAlpZiAoaGFzaF9yZXQgPiAwKSB7CiAJCWlmIChlaW5kZXgtPmNvdW50ID49IGVpbmRleC0+YWxsb2MpIHsKIAkJCWVpbmRleC0+YWxsb2MgPSAoZWluZGV4LT5hbGxvYyArIDE2KSAqIDMgLyAyOwpAQCAtNDMwLDcgKzQ0MCw3IEBACiAJc3RydWN0IGJpdG1hcF9zaG93X2RhdGEgKmRhdGEgPSBkYXRhXzsKIAlpbnQgYml0bWFwX3BvczsKIAotCWJpdG1hcF9wb3MgPSBiaXRtYXBfcG9zaXRpb24oZGF0YS0+Yml0bWFwX2dpdCwgb2JqZWN0LT5vaWQuaGFzaCk7CisJYml0bWFwX3BvcyA9IGJpdG1hcF9wb3NpdGlvbihkYXRhLT5iaXRtYXBfZ2l0LCAmb2JqZWN0LT5vaWQpOwogCiAJaWYgKGJpdG1hcF9wb3MgPCAwKQogCQliaXRtYXBfcG9zID0gZXh0X2luZGV4X2FkZF9vYmplY3QoZGF0YS0+Yml0bWFwX2dpdCwgb2JqZWN0LApAQCAtNDQ1LDcgKzQ1NSw3IEBACiAKIHN0YXRpYyBpbnQgYWRkX3RvX2luY2x1ZGVfc2V0KHN0cnVjdCBiaXRtYXBfaW5kZXggKmJpdG1hcF9naXQsCiAJCQkgICAgICBzdHJ1Y3QgaW5jbHVkZV9kYXRhICpkYXRhLAotCQkJICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCSAgICAgIGludCBiaXRtYXBfcG9zKQogewogCWtoaXRlcl90IGhhc2hfcG9zOwpAQCAtNDU2LDcgKzQ2Niw3IEBACiAJaWYgKGJpdG1hcF9nZXQoZGF0YS0+YmFzZSwgYml0bWFwX3BvcykpCiAJCXJldHVybiAwOwogCi0JaGFzaF9wb3MgPSBraF9nZXRfc2hhMShiaXRtYXBfZ2l0LT5iaXRtYXBzLCBzaGExKTsKKwloYXNoX3BvcyA9IGtoX2dldF9vaWRfbWFwKGJpdG1hcF9naXQtPmJpdG1hcHMsICpvaWQpOwogCWlmIChoYXNoX3BvcyA8IGtoX2VuZChiaXRtYXBfZ2l0LT5iaXRtYXBzKSkgewogCQlzdHJ1Y3Qgc3RvcmVkX2JpdG1hcCAqc3QgPSBraF92YWx1ZShiaXRtYXBfZ2l0LT5iaXRtYXBzLCBoYXNoX3Bvcyk7CiAJCWJpdG1hcF9vcl9ld2FoKGRhdGEtPmJhc2UsIGxvb2t1cF9zdG9yZWRfYml0bWFwKHN0KSk7CkBAIC00NzIsMTMgKzQ4MiwxMyBAQAogCXN0cnVjdCBpbmNsdWRlX2RhdGEgKmRhdGEgPSBfZGF0YTsKIAlpbnQgYml0bWFwX3BvczsKIAotCWJpdG1hcF9wb3MgPSBiaXRtYXBfcG9zaXRpb24oZGF0YS0+Yml0bWFwX2dpdCwgY29tbWl0LT5vYmplY3Qub2lkLmhhc2gpOworCWJpdG1hcF9wb3MgPSBiaXRtYXBfcG9zaXRpb24oZGF0YS0+Yml0bWFwX2dpdCwgJmNvbW1pdC0+b2JqZWN0Lm9pZCk7CiAJaWYgKGJpdG1hcF9wb3MgPCAwKQogCQliaXRtYXBfcG9zID0gZXh0X2luZGV4X2FkZF9vYmplY3QoZGF0YS0+Yml0bWFwX2dpdCwKIAkJCQkJCSAgKHN0cnVjdCBvYmplY3QgKiljb21taXQsCiAJCQkJCQkgIE5VTEwpOwogCi0JaWYgKCFhZGRfdG9faW5jbHVkZV9zZXQoZGF0YS0+Yml0bWFwX2dpdCwgZGF0YSwgY29tbWl0LT5vYmplY3Qub2lkLmhhc2gsCisJaWYgKCFhZGRfdG9faW5jbHVkZV9zZXQoZGF0YS0+Yml0bWFwX2dpdCwgZGF0YSwgJmNvbW1pdC0+b2JqZWN0Lm9pZCwKIAkJCQliaXRtYXBfcG9zKSkgewogCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudCA9IGNvbW1pdC0+cGFyZW50czsKIApAQCAtNTE2LDcgKzUyNiw3IEBACiAJCXJvb3RzID0gcm9vdHMtPm5leHQ7CiAKIAkJaWYgKG9iamVjdC0+dHlwZSA9PSBPQkpfQ09NTUlUKSB7Ci0JCQlraGl0ZXJfdCBwb3MgPSBraF9nZXRfc2hhMShiaXRtYXBfZ2l0LT5iaXRtYXBzLCBvYmplY3QtPm9pZC5oYXNoKTsKKwkJCWtoaXRlcl90IHBvcyA9IGtoX2dldF9vaWRfbWFwKGJpdG1hcF9naXQtPmJpdG1hcHMsIG9iamVjdC0+b2lkKTsKIAogCQkJaWYgKHBvcyA8IGtoX2VuZChiaXRtYXBfZ2l0LT5iaXRtYXBzKSkgewogCQkJCXN0cnVjdCBzdG9yZWRfYml0bWFwICpzdCA9IGtoX3ZhbHVlKGJpdG1hcF9naXQtPmJpdG1hcHMsIHBvcyk7CkBAIC01NTgsNyArNTY4LDcgQEAKIAkJaW50IHBvczsKIAogCQlyb290cyA9IHJvb3RzLT5uZXh0OwotCQlwb3MgPSBiaXRtYXBfcG9zaXRpb24oYml0bWFwX2dpdCwgb2JqZWN0LT5vaWQuaGFzaCk7CisJCXBvcyA9IGJpdG1hcF9wb3NpdGlvbihiaXRtYXBfZ2l0LCAmb2JqZWN0LT5vaWQpOwogCiAJCWlmIChwb3MgPCAwIHx8IGJhc2UgPT0gTlVMTCB8fCAhYml0bWFwX2dldChiYXNlLCBwb3MpKSB7CiAJCQlvYmplY3QtPmZsYWdzICY9IH5VTklOVEVSRVNUSU5HOwpAQCAtNTk3LDYgKzYwNyw3IEBACiB9CiAKIHN0YXRpYyB2b2lkIHNob3dfZXh0ZW5kZWRfb2JqZWN0cyhzdHJ1Y3QgYml0bWFwX2luZGV4ICpiaXRtYXBfZ2l0LAorCQkJCSAgc3RydWN0IHJldl9pbmZvICpyZXZzLAogCQkJCSAgc2hvd19yZWFjaGFibGVfZm4gc2hvd19yZWFjaCkKIHsKIAlzdHJ1Y3QgYml0bWFwICpvYmplY3RzID0gYml0bWFwX2dpdC0+cmVzdWx0OwpAQCAtNjEwLDE3ICs2MjEsNDggQEAKIAkJCWNvbnRpbnVlOwogCiAJCW9iaiA9IGVpbmRleC0+b2JqZWN0c1tpXTsKKwkJaWYgKChvYmotPnR5cGUgPT0gT0JKX0JMT0IgJiYgIXJldnMtPmJsb2Jfb2JqZWN0cykgfHwKKwkJICAgIChvYmotPnR5cGUgPT0gT0JKX1RSRUUgJiYgIXJldnMtPnRyZWVfb2JqZWN0cykgfHwKKwkJICAgIChvYmotPnR5cGUgPT0gT0JKX1RBRyAmJiAhcmV2cy0+dGFnX29iamVjdHMpKQorCQkJY29udGludWU7CisKIAkJc2hvd19yZWFjaCgmb2JqLT5vaWQsIG9iai0+dHlwZSwgMCwgZWluZGV4LT5oYXNoZXNbaV0sIE5VTEwsIDApOwogCX0KIH0KIAorc3RhdGljIHZvaWQgaW5pdF90eXBlX2l0ZXJhdG9yKHN0cnVjdCBld2FoX2l0ZXJhdG9yICppdCwKKwkJCSAgICAgICBzdHJ1Y3QgYml0bWFwX2luZGV4ICpiaXRtYXBfZ2l0LAorCQkJICAgICAgIGVudW0gb2JqZWN0X3R5cGUgdHlwZSkKK3sKKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIE9CSl9DT01NSVQ6CisJCWV3YWhfaXRlcmF0b3JfaW5pdChpdCwgYml0bWFwX2dpdC0+Y29tbWl0cyk7CisJCWJyZWFrOworCisJY2FzZSBPQkpfVFJFRToKKwkJZXdhaF9pdGVyYXRvcl9pbml0KGl0LCBiaXRtYXBfZ2l0LT50cmVlcyk7CisJCWJyZWFrOworCisJY2FzZSBPQkpfQkxPQjoKKwkJZXdhaF9pdGVyYXRvcl9pbml0KGl0LCBiaXRtYXBfZ2l0LT5ibG9icyk7CisJCWJyZWFrOworCisJY2FzZSBPQkpfVEFHOgorCQlld2FoX2l0ZXJhdG9yX2luaXQoaXQsIGJpdG1hcF9naXQtPnRhZ3MpOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCUJVRygib2JqZWN0IHR5cGUgJWQgbm90IHN0b3JlZCBieSBiaXRtYXAgdHlwZSBpbmRleCIsIHR5cGUpOworCQlicmVhazsKKwl9Cit9CisKIHN0YXRpYyB2b2lkIHNob3dfb2JqZWN0c19mb3JfdHlwZSgKIAlzdHJ1Y3QgYml0bWFwX2luZGV4ICpiaXRtYXBfZ2l0LAotCXN0cnVjdCBld2FoX2JpdG1hcCAqdHlwZV9maWx0ZXIsCiAJZW51bSBvYmplY3RfdHlwZSBvYmplY3RfdHlwZSwKIAlzaG93X3JlYWNoYWJsZV9mbiBzaG93X3JlYWNoKQogewotCXNpemVfdCBwb3MgPSAwLCBpID0gMDsKKwlzaXplX3QgaSA9IDA7CiAJdWludDMyX3Qgb2Zmc2V0OwogCiAJc3RydWN0IGV3YWhfaXRlcmF0b3IgaXQ7CkBAIC02MjgsMTMgKzY3MCwxNSBAQAogCiAJc3RydWN0IGJpdG1hcCAqb2JqZWN0cyA9IGJpdG1hcF9naXQtPnJlc3VsdDsKIAotCWlmIChiaXRtYXBfZ2l0LT5yZXVzZV9vYmplY3RzID09IGJpdG1hcF9naXQtPnBhY2stPm51bV9vYmplY3RzKQotCQlyZXR1cm47CisJaW5pdF90eXBlX2l0ZXJhdG9yKCZpdCwgYml0bWFwX2dpdCwgb2JqZWN0X3R5cGUpOwogCi0JZXdhaF9pdGVyYXRvcl9pbml0KCZpdCwgdHlwZV9maWx0ZXIpOwotCi0Jd2hpbGUgKGkgPCBvYmplY3RzLT53b3JkX2FsbG9jICYmIGV3YWhfaXRlcmF0b3JfbmV4dCgmZmlsdGVyLCAmaXQpKSB7CisJZm9yIChpID0gMDsgaSA8IG9iamVjdHMtPndvcmRfYWxsb2MgJiYKKwkJCWV3YWhfaXRlcmF0b3JfbmV4dCgmZmlsdGVyLCAmaXQpOyBpKyspIHsKIAkJZXdvcmRfdCB3b3JkID0gb2JqZWN0cy0+d29yZHNbaV0gJiBmaWx0ZXI7CisJCXNpemVfdCBwb3MgPSAoaSAqIEJJVFNfSU5fRVdPUkQpOworCisJCWlmICghd29yZCkKKwkJCWNvbnRpbnVlOwogCiAJCWZvciAob2Zmc2V0ID0gMDsgb2Zmc2V0IDwgQklUU19JTl9FV09SRDsgKytvZmZzZXQpIHsKIAkJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwpAQCAtNjQ2LDIwICs2OTAsMTQgQEAKIAogCQkJb2Zmc2V0ICs9IGV3YWhfYml0X2N0ejY0KHdvcmQgPj4gb2Zmc2V0KTsKIAotCQkJaWYgKHBvcyArIG9mZnNldCA8IGJpdG1hcF9naXQtPnJldXNlX29iamVjdHMpCi0JCQkJY29udGludWU7Ci0KIAkJCWVudHJ5ID0gJmJpdG1hcF9naXQtPnBhY2stPnJldmluZGV4W3BvcyArIG9mZnNldF07Ci0JCQludGhfcGFja2VkX29iamVjdF9vaWQoJm9pZCwgYml0bWFwX2dpdC0+cGFjaywgZW50cnktPm5yKTsKKwkJCW50aF9wYWNrZWRfb2JqZWN0X2lkKCZvaWQsIGJpdG1hcF9naXQtPnBhY2ssIGVudHJ5LT5ucik7CiAKIAkJCWlmIChiaXRtYXBfZ2l0LT5oYXNoZXMpCiAJCQkJaGFzaCA9IGdldF9iZTMyKGJpdG1hcF9naXQtPmhhc2hlcyArIGVudHJ5LT5ucik7CiAKIAkJCXNob3dfcmVhY2goJm9pZCwgb2JqZWN0X3R5cGUsIDAsIGhhc2gsIGJpdG1hcF9naXQtPnBhY2ssIGVudHJ5LT5vZmZzZXQpOwogCQl9Ci0KLQkJcG9zICs9IEJJVFNfSU5fRVdPUkQ7Ci0JCWkrKzsKIAl9CiB9CiAKQEAgLTY3Nyw3ICs3MTUsMTc5IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0cnVjdCBiaXRtYXBfaW5kZXggKnByZXBhcmVfYml0bWFwX3dhbGsoc3RydWN0IHJldl9pbmZvICpyZXZzKQorc3RhdGljIHN0cnVjdCBiaXRtYXAgKmZpbmRfdGlwX2Jsb2JzKHN0cnVjdCBiaXRtYXBfaW5kZXggKmJpdG1hcF9naXQsCisJCQkJICAgICBzdHJ1Y3Qgb2JqZWN0X2xpc3QgKnRpcF9vYmplY3RzKQoreworCXN0cnVjdCBiaXRtYXAgKnJlc3VsdCA9IGJpdG1hcF9uZXcoKTsKKwlzdHJ1Y3Qgb2JqZWN0X2xpc3QgKnA7CisKKwlmb3IgKHAgPSB0aXBfb2JqZWN0czsgcDsgcCA9IHAtPm5leHQpIHsKKwkJaW50IHBvczsKKworCQlpZiAocC0+aXRlbS0+dHlwZSAhPSBPQkpfQkxPQikKKwkJCWNvbnRpbnVlOworCisJCXBvcyA9IGJpdG1hcF9wb3NpdGlvbihiaXRtYXBfZ2l0LCAmcC0+aXRlbS0+b2lkKTsKKwkJaWYgKHBvcyA8IDApCisJCQljb250aW51ZTsKKworCQliaXRtYXBfc2V0KHJlc3VsdCwgcG9zKTsKKwl9CisKKwlyZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgdm9pZCBmaWx0ZXJfYml0bWFwX2Jsb2Jfbm9uZShzdHJ1Y3QgYml0bWFwX2luZGV4ICpiaXRtYXBfZ2l0LAorCQkJCSAgICBzdHJ1Y3Qgb2JqZWN0X2xpc3QgKnRpcF9vYmplY3RzLAorCQkJCSAgICBzdHJ1Y3QgYml0bWFwICp0b19maWx0ZXIpCit7CisJc3RydWN0IGVpbmRleCAqZWluZGV4ID0gJmJpdG1hcF9naXQtPmV4dF9pbmRleDsKKwlzdHJ1Y3QgYml0bWFwICp0aXBzOworCXN0cnVjdCBld2FoX2l0ZXJhdG9yIGl0OworCWV3b3JkX3QgbWFzazsKKwl1aW50MzJfdCBpOworCisJLyoKKwkgKiBUaGUgbm9uLWJpdG1hcCB2ZXJzaW9uIG9mIHRoaXMgZmlsdGVyIG5ldmVyIHJlbW92ZXMKKwkgKiBibG9icyB3aGljaCB0aGUgb3RoZXIgc2lkZSBzcGVjaWZpY2FsbHkgYXNrZWQgZm9yLAorCSAqIHNvIHdlIG11c3QgbWF0Y2ggdGhhdCBiZWhhdmlvci4KKwkgKi8KKwl0aXBzID0gZmluZF90aXBfYmxvYnMoYml0bWFwX2dpdCwgdGlwX29iamVjdHMpOworCisJLyoKKwkgKiBXZSBjYW4gdXNlIHRoZSBibG9iIHR5cGUtYml0bWFwIHRvIHdvcmsgaW4gd2hvbGUgd29yZHMKKwkgKiBmb3IgdGhlIG9iamVjdHMgdGhhdCBhcmUgYWN0dWFsbHkgaW4gdGhlIGJpdG1hcHBlZCBwYWNrZmlsZS4KKwkgKi8KKwlmb3IgKGkgPSAwLCBpbml0X3R5cGVfaXRlcmF0b3IoJml0LCBiaXRtYXBfZ2l0LCBPQkpfQkxPQik7CisJICAgICBpIDwgdG9fZmlsdGVyLT53b3JkX2FsbG9jICYmIGV3YWhfaXRlcmF0b3JfbmV4dCgmbWFzaywgJml0KTsKKwkgICAgIGkrKykgeworCQlpZiAoaSA8IHRpcHMtPndvcmRfYWxsb2MpCisJCQltYXNrICY9IH50aXBzLT53b3Jkc1tpXTsKKwkJdG9fZmlsdGVyLT53b3Jkc1tpXSAmPSB+bWFzazsKKwl9CisKKwkvKgorCSAqIENsZWFyIGFueSBibG9icyB0aGF0IHdlcmVuJ3QgaW4gdGhlIHBhY2tmaWxlIChhbmQgc28gd291bGQgbm90IGhhdmUKKwkgKiBiZWVuIGNhdWdodCBieSB0aGUgbG9vcCBhYm92ZS4gV2UnbGwgaGF2ZSB0byBjaGVjayB0aGVtCisJICogaW5kaXZpZHVhbGx5LgorCSAqLworCWZvciAoaSA9IDA7IGkgPCBlaW5kZXgtPmNvdW50OyBpKyspIHsKKwkJdWludDMyX3QgcG9zID0gaSArIGJpdG1hcF9naXQtPnBhY2stPm51bV9vYmplY3RzOworCQlpZiAoZWluZGV4LT5vYmplY3RzW2ldLT50eXBlID09IE9CSl9CTE9CICYmCisJCSAgICBiaXRtYXBfZ2V0KHRvX2ZpbHRlciwgcG9zKSAmJgorCQkgICAgIWJpdG1hcF9nZXQodGlwcywgcG9zKSkKKwkJCWJpdG1hcF91bnNldCh0b19maWx0ZXIsIHBvcyk7CisJfQorCisJYml0bWFwX2ZyZWUodGlwcyk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9zaXplX2J5X3BvcyhzdHJ1Y3QgYml0bWFwX2luZGV4ICpiaXRtYXBfZ2l0LAorCQkJCSAgICAgdWludDMyX3QgcG9zKQoreworCXN0cnVjdCBwYWNrZWRfZ2l0ICpwYWNrID0gYml0bWFwX2dpdC0+cGFjazsKKwl1bnNpZ25lZCBsb25nIHNpemU7CisJc3RydWN0IG9iamVjdF9pbmZvIG9pID0gT0JKRUNUX0lORk9fSU5JVDsKKworCW9pLnNpemVwID0gJnNpemU7CisKKwlpZiAocG9zIDwgcGFjay0+bnVtX29iamVjdHMpIHsKKwkJc3RydWN0IHJldmluZGV4X2VudHJ5ICplbnRyeSA9ICZwYWNrLT5yZXZpbmRleFtwb3NdOworCQlpZiAocGFja2VkX29iamVjdF9pbmZvKHRoZV9yZXBvc2l0b3J5LCBwYWNrLAorCQkJCSAgICAgICBlbnRyeS0+b2Zmc2V0LCAmb2kpIDwgMCkgeworCQkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CisJCQludGhfcGFja2VkX29iamVjdF9pZCgmb2lkLCBwYWNrLCBlbnRyeS0+bnIpOworCQkJZGllKF8oInVuYWJsZSB0byBnZXQgc2l6ZSBvZiAlcyIpLCBvaWRfdG9faGV4KCZvaWQpKTsKKwkJfQorCX0gZWxzZSB7CisJCXN0cnVjdCBlaW5kZXggKmVpbmRleCA9ICZiaXRtYXBfZ2l0LT5leHRfaW5kZXg7CisJCXN0cnVjdCBvYmplY3QgKm9iaiA9IGVpbmRleC0+b2JqZWN0c1twb3MgLSBwYWNrLT5udW1fb2JqZWN0c107CisJCWlmIChvaWRfb2JqZWN0X2luZm9fZXh0ZW5kZWQodGhlX3JlcG9zaXRvcnksICZvYmotPm9pZCwgJm9pLCAwKSA8IDApCisJCQlkaWUoXygidW5hYmxlIHRvIGdldCBzaXplIG9mICVzIiksIG9pZF90b19oZXgoJm9iai0+b2lkKSk7CisJfQorCisJcmV0dXJuIHNpemU7Cit9CisKK3N0YXRpYyB2b2lkIGZpbHRlcl9iaXRtYXBfYmxvYl9saW1pdChzdHJ1Y3QgYml0bWFwX2luZGV4ICpiaXRtYXBfZ2l0LAorCQkJCSAgICAgc3RydWN0IG9iamVjdF9saXN0ICp0aXBfb2JqZWN0cywKKwkJCQkgICAgIHN0cnVjdCBiaXRtYXAgKnRvX2ZpbHRlciwKKwkJCQkgICAgIHVuc2lnbmVkIGxvbmcgbGltaXQpCit7CisJc3RydWN0IGVpbmRleCAqZWluZGV4ID0gJmJpdG1hcF9naXQtPmV4dF9pbmRleDsKKwlzdHJ1Y3QgYml0bWFwICp0aXBzOworCXN0cnVjdCBld2FoX2l0ZXJhdG9yIGl0OworCWV3b3JkX3QgbWFzazsKKwl1aW50MzJfdCBpOworCisJdGlwcyA9IGZpbmRfdGlwX2Jsb2JzKGJpdG1hcF9naXQsIHRpcF9vYmplY3RzKTsKKworCWZvciAoaSA9IDAsIGluaXRfdHlwZV9pdGVyYXRvcigmaXQsIGJpdG1hcF9naXQsIE9CSl9CTE9CKTsKKwkgICAgIGkgPCB0b19maWx0ZXItPndvcmRfYWxsb2MgJiYgZXdhaF9pdGVyYXRvcl9uZXh0KCZtYXNrLCAmaXQpOworCSAgICAgaSsrKSB7CisJCWV3b3JkX3Qgd29yZCA9IHRvX2ZpbHRlci0+d29yZHNbaV0gJiBtYXNrOworCQl1bnNpZ25lZCBvZmZzZXQ7CisKKwkJZm9yIChvZmZzZXQgPSAwOyBvZmZzZXQgPCBCSVRTX0lOX0VXT1JEOyBvZmZzZXQrKykgeworCQkJdWludDMyX3QgcG9zOworCisJCQlpZiAoKHdvcmQgPj4gb2Zmc2V0KSA9PSAwKQorCQkJCWJyZWFrOworCQkJb2Zmc2V0ICs9IGV3YWhfYml0X2N0ejY0KHdvcmQgPj4gb2Zmc2V0KTsKKwkJCXBvcyA9IGkgKiBCSVRTX0lOX0VXT1JEICsgb2Zmc2V0OworCisJCQlpZiAoIWJpdG1hcF9nZXQodGlwcywgcG9zKSAmJgorCQkJICAgIGdldF9zaXplX2J5X3BvcyhiaXRtYXBfZ2l0LCBwb3MpID49IGxpbWl0KQorCQkJCWJpdG1hcF91bnNldCh0b19maWx0ZXIsIHBvcyk7CisJCX0KKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgZWluZGV4LT5jb3VudDsgaSsrKSB7CisJCXVpbnQzMl90IHBvcyA9IGkgKyBiaXRtYXBfZ2l0LT5wYWNrLT5udW1fb2JqZWN0czsKKwkJaWYgKGVpbmRleC0+b2JqZWN0c1tpXS0+dHlwZSA9PSBPQkpfQkxPQiAmJgorCQkgICAgYml0bWFwX2dldCh0b19maWx0ZXIsIHBvcykgJiYKKwkJICAgICFiaXRtYXBfZ2V0KHRpcHMsIHBvcykgJiYKKwkJICAgIGdldF9zaXplX2J5X3BvcyhiaXRtYXBfZ2l0LCBwb3MpID49IGxpbWl0KQorCQkJYml0bWFwX3Vuc2V0KHRvX2ZpbHRlciwgcG9zKTsKKwl9CisKKwliaXRtYXBfZnJlZSh0aXBzKTsKK30KKworc3RhdGljIGludCBmaWx0ZXJfYml0bWFwKHN0cnVjdCBiaXRtYXBfaW5kZXggKmJpdG1hcF9naXQsCisJCQkgc3RydWN0IG9iamVjdF9saXN0ICp0aXBfb2JqZWN0cywKKwkJCSBzdHJ1Y3QgYml0bWFwICp0b19maWx0ZXIsCisJCQkgc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyAqZmlsdGVyKQoreworCWlmICghZmlsdGVyIHx8IGZpbHRlci0+Y2hvaWNlID09IExPRkNfRElTQUJMRUQpCisJCXJldHVybiAwOworCisJaWYgKGZpbHRlci0+Y2hvaWNlID09IExPRkNfQkxPQl9OT05FKSB7CisJCWlmIChiaXRtYXBfZ2l0KQorCQkJZmlsdGVyX2JpdG1hcF9ibG9iX25vbmUoYml0bWFwX2dpdCwgdGlwX29iamVjdHMsCisJCQkJCQl0b19maWx0ZXIpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoZmlsdGVyLT5jaG9pY2UgPT0gTE9GQ19CTE9CX0xJTUlUKSB7CisJCWlmIChiaXRtYXBfZ2l0KQorCQkJZmlsdGVyX2JpdG1hcF9ibG9iX2xpbWl0KGJpdG1hcF9naXQsIHRpcF9vYmplY3RzLAorCQkJCQkJIHRvX2ZpbHRlciwKKwkJCQkJCSBmaWx0ZXItPmJsb2JfbGltaXRfdmFsdWUpOworCQlyZXR1cm4gMDsKKwl9CisKKwkvKiBmaWx0ZXIgY2hvaWNlIG5vdCBoYW5kbGVkICovCisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgaW50IGNhbl9maWx0ZXJfYml0bWFwKHN0cnVjdCBsaXN0X29iamVjdHNfZmlsdGVyX29wdGlvbnMgKmZpbHRlcikKK3sKKwlyZXR1cm4gIWZpbHRlcl9iaXRtYXAoTlVMTCwgTlVMTCwgTlVMTCwgZmlsdGVyKTsKK30KKworc3RydWN0IGJpdG1hcF9pbmRleCAqcHJlcGFyZV9iaXRtYXBfd2FsayhzdHJ1Y3QgcmV2X2luZm8gKnJldnMsCisJCQkJCSBzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zICpmaWx0ZXIpCiB7CiAJdW5zaWduZWQgaW50IGk7CiAKQEAgLTY4NywxMCArODk3LDIzIEBACiAJc3RydWN0IGJpdG1hcCAqd2FudHNfYml0bWFwID0gTlVMTDsKIAlzdHJ1Y3QgYml0bWFwICpoYXZlc19iaXRtYXAgPSBOVUxMOwogCi0Jc3RydWN0IGJpdG1hcF9pbmRleCAqYml0bWFwX2dpdCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpiaXRtYXBfZ2l0KSk7CisJc3RydWN0IGJpdG1hcF9pbmRleCAqYml0bWFwX2dpdDsKKworCS8qCisJICogV2UgY2FuJ3QgZG8gcGF0aHNwZWMgbGltaXRpbmcgd2l0aCBiaXRtYXBzLCBiZWNhdXNlIHdlIGRvbid0IGtub3cKKwkgKiB3aGljaCBjb21taXRzIGFyZSBhc3NvY2lhdGVkIHdpdGggd2hpY2ggb2JqZWN0IGNoYW5nZXMgKGxldCBhbG9uZQorCSAqIGV2ZW4gd2hpY2ggb2JqZWN0cyBhcmUgYXNzb2NpYXRlZCB3aXRoIHdoaWNoIHBhdGhzKS4KKwkgKi8KKwlpZiAocmV2cy0+cHJ1bmUpCisJCXJldHVybiBOVUxMOworCisJaWYgKCFjYW5fZmlsdGVyX2JpdG1hcChmaWx0ZXIpKQorCQlyZXR1cm4gTlVMTDsKKwogCS8qIHRyeSB0byBvcGVuIGEgYml0bWFwcGVkIHBhY2ssIGJ1dCBkb24ndCBwYXJzZSBpdCB5ZXQKIAkgKiBiZWNhdXNlIHdlIG1heSBub3QgbmVlZCB0byB1c2UgaXQgKi8KLQlpZiAob3Blbl9wYWNrX2JpdG1hcChiaXRtYXBfZ2l0KSA8IDApCisJYml0bWFwX2dpdCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpiaXRtYXBfZ2l0KSk7CisJaWYgKG9wZW5fcGFja19iaXRtYXAocmV2cy0+cmVwbywgYml0bWFwX2dpdCkgPCAwKQogCQlnb3RvIGNsZWFudXA7CiAKIAlmb3IgKGkgPSAwOyBpIDwgcmV2cy0+cGVuZGluZy5ucjsgKytpKSB7CkBAIC03MDcsOSArOTMwLDcgQEAKIAkJCWVsc2UKIAkJCQlvYmplY3RfbGlzdF9pbnNlcnQob2JqZWN0LCAmd2FudHMpOwogCi0JCQlpZiAoIXRhZy0+dGFnZ2VkKQotCQkJCWRpZSgiYmFkIHRhZyIpOwotCQkJb2JqZWN0ID0gcGFyc2Vfb2JqZWN0X29yX2RpZSgmdGFnLT50YWdnZWQtPm9pZCwgTlVMTCk7CisJCQlvYmplY3QgPSBwYXJzZV9vYmplY3Rfb3JfZGllKGdldF90YWdnZWRfb2lkKHRhZyksIE5VTEwpOwogCQl9CiAKIAkJaWYgKG9iamVjdC0+ZmxhZ3MgJiBVTklOVEVSRVNUSU5HKQpAQCAtNzU4LDkzICs5NzksMTczIEBACiAJaWYgKGhhdmVzX2JpdG1hcCkKIAkJYml0bWFwX2FuZF9ub3Qod2FudHNfYml0bWFwLCBoYXZlc19iaXRtYXApOwogCisJZmlsdGVyX2JpdG1hcChiaXRtYXBfZ2l0LCB3YW50cywgd2FudHNfYml0bWFwLCBmaWx0ZXIpOworCiAJYml0bWFwX2dpdC0+cmVzdWx0ID0gd2FudHNfYml0bWFwOwogCWJpdG1hcF9naXQtPmhhdmVzID0gaGF2ZXNfYml0bWFwOwogCisJb2JqZWN0X2xpc3RfZnJlZSgmd2FudHMpOworCW9iamVjdF9saXN0X2ZyZWUoJmhhdmVzKTsKKwogCXJldHVybiBiaXRtYXBfZ2l0OwogCiBjbGVhbnVwOgogCWZyZWVfYml0bWFwX2luZGV4KGJpdG1hcF9naXQpOworCW9iamVjdF9saXN0X2ZyZWUoJndhbnRzKTsKKwlvYmplY3RfbGlzdF9mcmVlKCZoYXZlcyk7CiAJcmV0dXJuIE5VTEw7CiB9CiAKLWludCByZXVzZV9wYXJ0aWFsX3BhY2tmaWxlX2Zyb21fYml0bWFwKHN0cnVjdCBiaXRtYXBfaW5kZXggKmJpdG1hcF9naXQsCi0JCQkJICAgICAgIHN0cnVjdCBwYWNrZWRfZ2l0ICoqcGFja2ZpbGUsCi0JCQkJICAgICAgIHVpbnQzMl90ICplbnRyaWVzLAotCQkJCSAgICAgICBvZmZfdCAqdXBfdG8pCitzdGF0aWMgdm9pZCB0cnlfcGFydGlhbF9yZXVzZShzdHJ1Y3QgYml0bWFwX2luZGV4ICpiaXRtYXBfZ2l0LAorCQkJICAgICAgc2l6ZV90IHBvcywKKwkJCSAgICAgIHN0cnVjdCBiaXRtYXAgKnJldXNlLAorCQkJICAgICAgc3RydWN0IHBhY2tfd2luZG93ICoqd19jdXJzKQogewotCS8qCi0JICogUmV1c2UgdGhlIHBhY2tmaWxlIGNvbnRlbnQgaWYgd2UgbmVlZCBtb3JlIHRoYW4KLQkgKiA5MCUgb2YgaXRzIG9iamVjdHMKLQkgKi8KLQlzdGF0aWMgY29uc3QgZG91YmxlIFJFVVNFX1BFUkNFTlQgPSAwLjk7CisJc3RydWN0IHJldmluZGV4X2VudHJ5ICpyZXZpZHg7CisJb2ZmX3Qgb2Zmc2V0OworCWVudW0gb2JqZWN0X3R5cGUgdHlwZTsKKwl1bnNpZ25lZCBsb25nIHNpemU7CiAKKwlpZiAocG9zID49IGJpdG1hcF9naXQtPnBhY2stPm51bV9vYmplY3RzKQorCQlyZXR1cm47IC8qIG5vdCBhY3R1YWxseSBpbiB0aGUgcGFjayAqLworCisJcmV2aWR4ID0gJmJpdG1hcF9naXQtPnBhY2stPnJldmluZGV4W3Bvc107CisJb2Zmc2V0ID0gcmV2aWR4LT5vZmZzZXQ7CisJdHlwZSA9IHVucGFja19vYmplY3RfaGVhZGVyKGJpdG1hcF9naXQtPnBhY2ssIHdfY3VycywgJm9mZnNldCwgJnNpemUpOworCWlmICh0eXBlIDwgMCkKKwkJcmV0dXJuOyAvKiBicm9rZW4gcGFja2ZpbGUsIHB1bnQgKi8KKworCWlmICh0eXBlID09IE9CSl9SRUZfREVMVEEgfHwgdHlwZSA9PSBPQkpfT0ZTX0RFTFRBKSB7CisJCW9mZl90IGJhc2Vfb2Zmc2V0OworCQlpbnQgYmFzZV9wb3M7CisKKwkJLyoKKwkJICogRmluZCB0aGUgcG9zaXRpb24gb2YgdGhlIGJhc2Ugb2JqZWN0IHNvIHdlIGNhbiBsb29rIGl0IHVwCisJCSAqIGluIG91ciBiaXRtYXBzLiBJZiB3ZSBjYW4ndCBjb21lIHVwIHdpdGggYW4gb2Zmc2V0LCBvciBpZgorCQkgKiB0aGF0IG9mZnNldCBpcyBub3QgaW4gdGhlIHJldmlkeCwgdGhlIHBhY2sgaXMgY29ycnVwdC4KKwkJICogVGhlcmUncyBub3RoaW5nIHdlIGNhbiBkbywgc28ganVzdCBwdW50IG9uIHRoaXMgb2JqZWN0LAorCQkgKiBhbmQgdGhlIG5vcm1hbCBzbG93IHBhdGggd2lsbCBjb21wbGFpbiBhYm91dCBpdCBpbgorCQkgKiBtb3JlIGRldGFpbC4KKwkJICovCisJCWJhc2Vfb2Zmc2V0ID0gZ2V0X2RlbHRhX2Jhc2UoYml0bWFwX2dpdC0+cGFjaywgd19jdXJzLAorCQkJCQkgICAgICZvZmZzZXQsIHR5cGUsIHJldmlkeC0+b2Zmc2V0KTsKKwkJaWYgKCFiYXNlX29mZnNldCkKKwkJCXJldHVybjsKKwkJYmFzZV9wb3MgPSBmaW5kX3JldmluZGV4X3Bvc2l0aW9uKGJpdG1hcF9naXQtPnBhY2ssIGJhc2Vfb2Zmc2V0KTsKKwkJaWYgKGJhc2VfcG9zIDwgMCkKKwkJCXJldHVybjsKKworCQkvKgorCQkgKiBXZSBhc3N1bWUgZGVsdGEgZGVwZW5kZW5jaWVzIGFsd2F5cyBwb2ludCBiYWNrd2FyZHMuIFRoaXMKKwkJICogbGV0cyB1cyBkbyBhIHNpbmdsZSBwYXNzLCBhbmQgaXMgYmFzaWNhbGx5IGFsd2F5cyB0cnVlCisJCSAqIGR1ZSB0byB0aGUgd2F5IE9GU19ERUxUQXMgd29yay4gWW91IHdvdWxkIG5vdCB0eXBpY2FsbHkKKwkJICogZmluZCBSRUZfREVMVEEgaW4gYSBiaXRtYXBwZWQgcGFjaywgc2luY2Ugd2Ugb25seSBiaXRtYXAKKwkJICogcGFja3Mgd2Ugd3JpdGUgZnJlc2gsIGFuZCBPRlNfREVMVEEgaXMgdGhlIGRlZmF1bHQpLiBCdXQKKwkJICogbGV0J3MgZG91YmxlIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgcGFjayB3YXNuJ3Qgd3JpdHRlbiB3aXRoCisJCSAqIG9kZCBwYXJhbWV0ZXJzLgorCQkgKi8KKwkJaWYgKGJhc2VfcG9zID49IHBvcykKKwkJCXJldHVybjsKKworCQkvKgorCQkgKiBBbmQgZmluYWxseSwgaWYgd2UncmUgbm90IHNlbmRpbmcgdGhlIGJhc2UgYXMgcGFydCBvZiBvdXIKKwkJICogcmV1c2UgY2h1bmssIHRoZW4gZG9uJ3Qgc2VuZCB0aGlzIG9iamVjdCBlaXRoZXIuIFRoZSBiYXNlCisJCSAqIHdvdWxkIGNvbWUgYWZ0ZXIgdXMsIGFsb25nIHdpdGggb3RoZXIgb2JqZWN0cyBub3QKKwkJICogbmVjZXNzYXJpbHkgaW4gdGhlIHBhY2ssIHdoaWNoIG1lYW5zIHdlJ2QgbmVlZCB0byBjb252ZXJ0CisJCSAqIHRvIFJFRl9ERUxUQSBvbiB0aGUgZmx5LiBCZXR0ZXIgdG8ganVzdCBsZXQgdGhlIG5vcm1hbAorCQkgKiBvYmplY3RfZW50cnkgY29kZSBwYXRoIGhhbmRsZSBpdC4KKwkJICovCisJCWlmICghYml0bWFwX2dldChyZXVzZSwgYmFzZV9wb3MpKQorCQkJcmV0dXJuOworCX0KKworCS8qCisJICogSWYgd2UgZ290IGhlcmUsIHRoZW4gdGhlIG9iamVjdCBpcyBPSyB0byByZXVzZS4gTWFyayBpdC4KKwkgKi8KKwliaXRtYXBfc2V0KHJldXNlLCBwb3MpOworfQorCitpbnQgcmV1c2VfcGFydGlhbF9wYWNrZmlsZV9mcm9tX2JpdG1hcChzdHJ1Y3QgYml0bWFwX2luZGV4ICpiaXRtYXBfZ2l0LAorCQkJCSAgICAgICBzdHJ1Y3QgcGFja2VkX2dpdCAqKnBhY2tmaWxlX291dCwKKwkJCQkgICAgICAgdWludDMyX3QgKmVudHJpZXMsCisJCQkJICAgICAgIHN0cnVjdCBiaXRtYXAgKipyZXVzZV9vdXQpCit7CiAJc3RydWN0IGJpdG1hcCAqcmVzdWx0ID0gYml0bWFwX2dpdC0+cmVzdWx0OwotCXVpbnQzMl90IHJldXNlX3RocmVzaG9sZDsKLQl1aW50MzJfdCBpLCByZXVzZV9vYmplY3RzID0gMDsKKwlzdHJ1Y3QgYml0bWFwICpyZXVzZTsKKwlzdHJ1Y3QgcGFja193aW5kb3cgKndfY3VycyA9IE5VTEw7CisJc2l6ZV90IGkgPSAwOworCXVpbnQzMl90IG9mZnNldDsKIAogCWFzc2VydChyZXN1bHQpOwogCi0JZm9yIChpID0gMDsgaSA8IHJlc3VsdC0+d29yZF9hbGxvYzsgKytpKSB7Ci0JCWlmIChyZXN1bHQtPndvcmRzW2ldICE9IChld29yZF90KX4wKSB7Ci0JCQlyZXVzZV9vYmplY3RzICs9IGV3YWhfYml0X2N0ejY0KH5yZXN1bHQtPndvcmRzW2ldKTsKLQkJCWJyZWFrOworCXdoaWxlIChpIDwgcmVzdWx0LT53b3JkX2FsbG9jICYmIHJlc3VsdC0+d29yZHNbaV0gPT0gKGV3b3JkX3QpfjApCisJCWkrKzsKKworCS8qIERvbid0IG1hcmsgb2JqZWN0cyBub3QgaW4gdGhlIHBhY2tmaWxlICovCisJaWYgKGkgPiBiaXRtYXBfZ2l0LT5wYWNrLT5udW1fb2JqZWN0cyAvIEJJVFNfSU5fRVdPUkQpCisJCWkgPSBiaXRtYXBfZ2l0LT5wYWNrLT5udW1fb2JqZWN0cyAvIEJJVFNfSU5fRVdPUkQ7CisKKwlyZXVzZSA9IGJpdG1hcF93b3JkX2FsbG9jKGkpOworCW1lbXNldChyZXVzZS0+d29yZHMsIDB4RkYsIGkgKiBzaXplb2YoZXdvcmRfdCkpOworCisJZm9yICg7IGkgPCByZXN1bHQtPndvcmRfYWxsb2M7ICsraSkgeworCQlld29yZF90IHdvcmQgPSByZXN1bHQtPndvcmRzW2ldOworCQlzaXplX3QgcG9zID0gKGkgKiBCSVRTX0lOX0VXT1JEKTsKKworCQlmb3IgKG9mZnNldCA9IDA7IG9mZnNldCA8IEJJVFNfSU5fRVdPUkQ7ICsrb2Zmc2V0KSB7CisJCQlpZiAoKHdvcmQgPj4gb2Zmc2V0KSA9PSAwKQorCQkJCWJyZWFrOworCisJCQlvZmZzZXQgKz0gZXdhaF9iaXRfY3R6NjQod29yZCA+PiBvZmZzZXQpOworCQkJdHJ5X3BhcnRpYWxfcmV1c2UoYml0bWFwX2dpdCwgcG9zICsgb2Zmc2V0LCByZXVzZSwgJndfY3Vycyk7CiAJCX0KLQotCQlyZXVzZV9vYmplY3RzICs9IEJJVFNfSU5fRVdPUkQ7CiAJfQogCi0jaWZkZWYgR0lUX0JJVE1BUF9ERUJVRwotCXsKLQkJY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMTsKLQkJc3RydWN0IHJldmluZGV4X2VudHJ5ICplbnRyeTsKKwl1bnVzZV9wYWNrKCZ3X2N1cnMpOwogCi0JCWVudHJ5ID0gJmJpdG1hcF9naXQtPnJldmVyc2VfaW5kZXgtPnJldmluZGV4W3JldXNlX29iamVjdHNdOwotCQlzaGExID0gbnRoX3BhY2tlZF9vYmplY3Rfc2hhMShiaXRtYXBfZ2l0LT5wYWNrLCBlbnRyeS0+bnIpOwotCi0JCWZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHJldXNlIGF0ICVkICglMDE2bGx4KVxuIiwKLQkJCXJldXNlX29iamVjdHMsIHJlc3VsdC0+d29yZHNbaV0pOwotCQlmcHJpbnRmKHN0ZGVyciwgIiAlc1xuIiwgc2hhMV90b19oZXgoc2hhMSkpOwotCX0KLSNlbmRpZgotCi0JaWYgKCFyZXVzZV9vYmplY3RzKQorCSplbnRyaWVzID0gYml0bWFwX3BvcGNvdW50KHJldXNlKTsKKwlpZiAoISplbnRyaWVzKSB7CisJCWJpdG1hcF9mcmVlKHJldXNlKTsKIAkJcmV0dXJuIC0xOwotCi0JaWYgKHJldXNlX29iamVjdHMgPj0gYml0bWFwX2dpdC0+cGFjay0+bnVtX29iamVjdHMpIHsKLQkJYml0bWFwX2dpdC0+cmV1c2Vfb2JqZWN0cyA9ICplbnRyaWVzID0gYml0bWFwX2dpdC0+cGFjay0+bnVtX29iamVjdHM7Ci0JCSp1cF90byA9IC0xOyAvKiByZXVzZSB0aGUgZnVsbCBwYWNrICovCi0JCSpwYWNrZmlsZSA9IGJpdG1hcF9naXQtPnBhY2s7Ci0JCXJldHVybiAwOwogCX0KIAotCXJldXNlX3RocmVzaG9sZCA9IGJpdG1hcF9wb3Bjb3VudChiaXRtYXBfZ2l0LT5yZXN1bHQpICogUkVVU0VfUEVSQ0VOVDsKLQotCWlmIChyZXVzZV9vYmplY3RzIDwgcmV1c2VfdGhyZXNob2xkKQotCQlyZXR1cm4gLTE7Ci0KLQliaXRtYXBfZ2l0LT5yZXVzZV9vYmplY3RzID0gKmVudHJpZXMgPSByZXVzZV9vYmplY3RzOwotCSp1cF90byA9IGJpdG1hcF9naXQtPnBhY2stPnJldmluZGV4W3JldXNlX29iamVjdHNdLm9mZnNldDsKLQkqcGFja2ZpbGUgPSBiaXRtYXBfZ2l0LT5wYWNrOwotCisJLyoKKwkgKiBEcm9wIGFueSByZXVzZWQgb2JqZWN0cyBmcm9tIHRoZSByZXN1bHQsIHNpbmNlIHRoZXkgd2lsbCBub3QKKwkgKiBuZWVkIHRvIGJlIGhhbmRsZWQgc2VwYXJhdGVseS4KKwkgKi8KKwliaXRtYXBfYW5kX25vdChyZXN1bHQsIHJldXNlKTsKKwkqcGFja2ZpbGVfb3V0ID0gYml0bWFwX2dpdC0+cGFjazsKKwkqcmV1c2Vfb3V0ID0gcmV1c2U7CiAJcmV0dXJuIDA7CiB9CiAKK2ludCBiaXRtYXBfd2Fsa19jb250YWlucyhzdHJ1Y3QgYml0bWFwX2luZGV4ICpiaXRtYXBfZ2l0LAorCQkJIHN0cnVjdCBiaXRtYXAgKmJpdG1hcCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQoreworCWludCBpZHg7CisKKwlpZiAoIWJpdG1hcCkKKwkJcmV0dXJuIDA7CisKKwlpZHggPSBiaXRtYXBfcG9zaXRpb24oYml0bWFwX2dpdCwgb2lkKTsKKwlyZXR1cm4gaWR4ID49IDAgJiYgYml0bWFwX2dldChiaXRtYXAsIGlkeCk7Cit9CisKIHZvaWQgdHJhdmVyc2VfYml0bWFwX2NvbW1pdF9saXN0KHN0cnVjdCBiaXRtYXBfaW5kZXggKmJpdG1hcF9naXQsCisJCQkJIHN0cnVjdCByZXZfaW5mbyAqcmV2cywKIAkJCQkgc2hvd19yZWFjaGFibGVfZm4gc2hvd19yZWFjaGFibGUpCiB7CiAJYXNzZXJ0KGJpdG1hcF9naXQtPnJlc3VsdCk7CiAKLQlzaG93X29iamVjdHNfZm9yX3R5cGUoYml0bWFwX2dpdCwgYml0bWFwX2dpdC0+Y29tbWl0cywKLQkJT0JKX0NPTU1JVCwgc2hvd19yZWFjaGFibGUpOwotCXNob3dfb2JqZWN0c19mb3JfdHlwZShiaXRtYXBfZ2l0LCBiaXRtYXBfZ2l0LT50cmVlcywKLQkJT0JKX1RSRUUsIHNob3dfcmVhY2hhYmxlKTsKLQlzaG93X29iamVjdHNfZm9yX3R5cGUoYml0bWFwX2dpdCwgYml0bWFwX2dpdC0+YmxvYnMsCi0JCU9CSl9CTE9CLCBzaG93X3JlYWNoYWJsZSk7Ci0Jc2hvd19vYmplY3RzX2Zvcl90eXBlKGJpdG1hcF9naXQsIGJpdG1hcF9naXQtPnRhZ3MsCi0JCU9CSl9UQUcsIHNob3dfcmVhY2hhYmxlKTsKKwlzaG93X29iamVjdHNfZm9yX3R5cGUoYml0bWFwX2dpdCwgT0JKX0NPTU1JVCwgc2hvd19yZWFjaGFibGUpOworCWlmIChyZXZzLT50cmVlX29iamVjdHMpCisJCXNob3dfb2JqZWN0c19mb3JfdHlwZShiaXRtYXBfZ2l0LCBPQkpfVFJFRSwgc2hvd19yZWFjaGFibGUpOworCWlmIChyZXZzLT5ibG9iX29iamVjdHMpCisJCXNob3dfb2JqZWN0c19mb3JfdHlwZShiaXRtYXBfZ2l0LCBPQkpfQkxPQiwgc2hvd19yZWFjaGFibGUpOworCWlmIChyZXZzLT50YWdfb2JqZWN0cykKKwkJc2hvd19vYmplY3RzX2Zvcl90eXBlKGJpdG1hcF9naXQsIE9CSl9UQUcsIHNob3dfcmVhY2hhYmxlKTsKIAotCXNob3dfZXh0ZW5kZWRfb2JqZWN0cyhiaXRtYXBfZ2l0LCBzaG93X3JlYWNoYWJsZSk7CisJc2hvd19leHRlbmRlZF9vYmplY3RzKGJpdG1hcF9naXQsIHJldnMsIHNob3dfcmVhY2hhYmxlKTsKIH0KIAogc3RhdGljIHVpbnQzMl90IGNvdW50X29iamVjdF90eXBlKHN0cnVjdCBiaXRtYXBfaW5kZXggKmJpdG1hcF9naXQsCkBAIC04NTcsMjYgKzExNTgsNyBAQAogCXN0cnVjdCBld2FoX2l0ZXJhdG9yIGl0OwogCWV3b3JkX3QgZmlsdGVyOwogCi0Jc3dpdGNoICh0eXBlKSB7Ci0JY2FzZSBPQkpfQ09NTUlUOgotCQlld2FoX2l0ZXJhdG9yX2luaXQoJml0LCBiaXRtYXBfZ2l0LT5jb21taXRzKTsKLQkJYnJlYWs7Ci0KLQljYXNlIE9CSl9UUkVFOgotCQlld2FoX2l0ZXJhdG9yX2luaXQoJml0LCBiaXRtYXBfZ2l0LT50cmVlcyk7Ci0JCWJyZWFrOwotCi0JY2FzZSBPQkpfQkxPQjoKLQkJZXdhaF9pdGVyYXRvcl9pbml0KCZpdCwgYml0bWFwX2dpdC0+YmxvYnMpOwotCQlicmVhazsKLQotCWNhc2UgT0JKX1RBRzoKLQkJZXdhaF9pdGVyYXRvcl9pbml0KCZpdCwgYml0bWFwX2dpdC0+dGFncyk7Ci0JCWJyZWFrOwotCi0JZGVmYXVsdDoKLQkJcmV0dXJuIDA7Ci0JfQorCWluaXRfdHlwZV9pdGVyYXRvcigmaXQsIGJpdG1hcF9naXQsIHR5cGUpOwogCiAJd2hpbGUgKGkgPCBvYmplY3RzLT53b3JkX2FsbG9jICYmIGV3YWhfaXRlcmF0b3JfbmV4dCgmZmlsdGVyLCAmaXQpKSB7CiAJCWV3b3JkX3Qgd29yZCA9IG9iamVjdHMtPndvcmRzW2krK10gJiBmaWx0ZXI7CkBAIC05MjQsNyArMTIwNiw3IEBACiAJc3RydWN0IGJpdG1hcF90ZXN0X2RhdGEgKnRkYXRhID0gZGF0YTsKIAlpbnQgYml0bWFwX3BvczsKIAotCWJpdG1hcF9wb3MgPSBiaXRtYXBfcG9zaXRpb24odGRhdGEtPmJpdG1hcF9naXQsIG9iamVjdC0+b2lkLmhhc2gpOworCWJpdG1hcF9wb3MgPSBiaXRtYXBfcG9zaXRpb24odGRhdGEtPmJpdG1hcF9naXQsICZvYmplY3QtPm9pZCk7CiAJaWYgKGJpdG1hcF9wb3MgPCAwKQogCQlkaWUoIk9iamVjdCBub3QgaW4gYml0bWFwOiAlc1xuIiwgb2lkX3RvX2hleCgmb2JqZWN0LT5vaWQpKTsKIApAQCAtOTM4LDcgKzEyMjAsNyBAQAogCWludCBiaXRtYXBfcG9zOwogCiAJYml0bWFwX3BvcyA9IGJpdG1hcF9wb3NpdGlvbih0ZGF0YS0+Yml0bWFwX2dpdCwKLQkJCQkgICAgIGNvbW1pdC0+b2JqZWN0Lm9pZC5oYXNoKTsKKwkJCQkgICAgICZjb21taXQtPm9iamVjdC5vaWQpOwogCWlmIChiaXRtYXBfcG9zIDwgMCkKIAkJZGllKCJPYmplY3Qgbm90IGluIGJpdG1hcDogJXNcbiIsIG9pZF90b19oZXgoJmNvbW1pdC0+b2JqZWN0Lm9pZCkpOwogCkBAIC05NTUsNyArMTIzNyw3IEBACiAJc3RydWN0IGJpdG1hcF90ZXN0X2RhdGEgdGRhdGE7CiAJc3RydWN0IGJpdG1hcF9pbmRleCAqYml0bWFwX2dpdDsKIAotCWlmICghKGJpdG1hcF9naXQgPSBwcmVwYXJlX2JpdG1hcF9naXQoKSkpCisJaWYgKCEoYml0bWFwX2dpdCA9IHByZXBhcmVfYml0bWFwX2dpdChyZXZzLT5yZXBvKSkpCiAJCWRpZSgiZmFpbGVkIHRvIGxvYWQgYml0bWFwIGluZGV4ZXMiKTsKIAogCWlmIChyZXZzLT5wZW5kaW5nLm5yICE9IDEpCkBAIC05NjUsNyArMTI0Nyw3IEBACiAJCWJpdG1hcF9naXQtPnZlcnNpb24sIGJpdG1hcF9naXQtPmVudHJ5X2NvdW50KTsKIAogCXJvb3QgPSByZXZzLT5wZW5kaW5nLm9iamVjdHNbMF0uaXRlbTsKLQlwb3MgPSBraF9nZXRfc2hhMShiaXRtYXBfZ2l0LT5iaXRtYXBzLCByb290LT5vaWQuaGFzaCk7CisJcG9zID0ga2hfZ2V0X29pZF9tYXAoYml0bWFwX2dpdC0+Yml0bWFwcywgcm9vdC0+b2lkKTsKIAogCWlmIChwb3MgPCBraF9lbmQoYml0bWFwX2dpdC0+Yml0bWFwcykpIHsKIAkJc3RydWN0IHN0b3JlZF9iaXRtYXAgKnN0ID0ga2hfdmFsdWUoYml0bWFwX2dpdC0+Yml0bWFwcywgcG9zKTsKQEAgLTEwMzksNyArMTMyMSw3IEBACiAKIGludCByZWJ1aWxkX2V4aXN0aW5nX2JpdG1hcHMoc3RydWN0IGJpdG1hcF9pbmRleCAqYml0bWFwX2dpdCwKIAkJCSAgICAgc3RydWN0IHBhY2tpbmdfZGF0YSAqbWFwcGluZywKLQkJCSAgICAga2hhc2hfc2hhMSAqcmV1c2VkX2JpdG1hcHMsCisJCQkgICAgIGtoX29pZF9tYXBfdCAqcmV1c2VkX2JpdG1hcHMsCiAJCQkgICAgIGludCBzaG93X3Byb2dyZXNzKQogewogCXVpbnQzMl90IGksIG51bV9vYmplY3RzOwpAQCAtMTA1NSwxMyArMTMzNywxMyBAQAogCXJlcG9zaXRpb24gPSB4Y2FsbG9jKG51bV9vYmplY3RzLCBzaXplb2YodWludDMyX3QpKTsKIAogCWZvciAoaSA9IDA7IGkgPCBudW1fb2JqZWN0czsgKytpKSB7Ci0JCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTE7CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQlzdHJ1Y3QgcmV2aW5kZXhfZW50cnkgKmVudHJ5OwogCQlzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICpvZTsKIAogCQllbnRyeSA9ICZiaXRtYXBfZ2l0LT5wYWNrLT5yZXZpbmRleFtpXTsKLQkJc2hhMSA9IG50aF9wYWNrZWRfb2JqZWN0X3NoYTEoYml0bWFwX2dpdC0+cGFjaywgZW50cnktPm5yKTsKLQkJb2UgPSBwYWNrbGlzdF9maW5kKG1hcHBpbmcsIHNoYTEsIE5VTEwpOworCQludGhfcGFja2VkX29iamVjdF9pZCgmb2lkLCBiaXRtYXBfZ2l0LT5wYWNrLCBlbnRyeS0+bnIpOworCQlvZSA9IHBhY2tsaXN0X2ZpbmQobWFwcGluZywgJm9pZCk7CiAKIAkJaWYgKG9lKQogCQkJcmVwb3NpdGlvbltpXSA9IG9lX2luX3BhY2tfcG9zKG1hcHBpbmcsIG9lKSArIDE7CkBAIC0xMDc4LDkgKzEzNjAsOSBAQAogCQkJaWYgKCFyZWJ1aWxkX2JpdG1hcChyZXBvc2l0aW9uLAogCQkJCQkgICAgbG9va3VwX3N0b3JlZF9iaXRtYXAoc3RvcmVkKSwKIAkJCQkJICAgIHJlYnVpbGQpKSB7Ci0JCQkJaGFzaF9wb3MgPSBraF9wdXRfc2hhMShyZXVzZWRfYml0bWFwcywKLQkJCQkJCSAgICAgICBzdG9yZWQtPnNoYTEsCi0JCQkJCQkgICAgICAgJmhhc2hfcmV0KTsKKwkJCQloYXNoX3BvcyA9IGtoX3B1dF9vaWRfbWFwKHJldXNlZF9iaXRtYXBzLAorCQkJCQkJCSAgc3RvcmVkLT5vaWQsCisJCQkJCQkJICAmaGFzaF9yZXQpOwogCQkJCWtoX3ZhbHVlKHJldXNlZF9iaXRtYXBzLCBoYXNoX3BvcykgPQogCQkJCQliaXRtYXBfdG9fZXdhaChyZWJ1aWxkKTsKIAkJCX0KQEAgLTExMDcsNyArMTM4OSw3IEBACiAJZXdhaF9wb29sX2ZyZWUoYi0+dHJlZXMpOwogCWV3YWhfcG9vbF9mcmVlKGItPmJsb2JzKTsKIAlld2FoX3Bvb2xfZnJlZShiLT50YWdzKTsKLQlraF9kZXN0cm95X3NoYTEoYi0+Yml0bWFwcyk7CisJa2hfZGVzdHJveV9vaWRfbWFwKGItPmJpdG1hcHMpOwogCWZyZWUoYi0+ZXh0X2luZGV4Lm9iamVjdHMpOwogCWZyZWUoYi0+ZXh0X2luZGV4Lmhhc2hlcyk7CiAJYml0bWFwX2ZyZWUoYi0+cmVzdWx0KTsKQEAgLTExMTUsMTkgKzEzOTcsOSBAQAogCWZyZWUoYik7CiB9CiAKLWludCBiaXRtYXBfaGFzX3NoYTFfaW5fdW5pbnRlcmVzdGluZyhzdHJ1Y3QgYml0bWFwX2luZGV4ICpiaXRtYXBfZ2l0LAotCQkJCSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKK2ludCBiaXRtYXBfaGFzX29pZF9pbl91bmludGVyZXN0aW5nKHN0cnVjdCBiaXRtYXBfaW5kZXggKmJpdG1hcF9naXQsCisJCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQlpbnQgcG9zOwotCi0JaWYgKCFiaXRtYXBfZ2l0KQotCQlyZXR1cm4gMDsgLyogbm8gYml0bWFwIGxvYWRlZCAqLwotCWlmICghYml0bWFwX2dpdC0+aGF2ZXMpCi0JCXJldHVybiAwOyAvKiB3YWxrIGhhZCBubyAiaGF2ZXMiICovCi0KLQlwb3MgPSBiaXRtYXBfcG9zaXRpb25fcGFja2ZpbGUoYml0bWFwX2dpdCwgc2hhMSk7Ci0JaWYgKHBvcyA8IDApCi0JCXJldHVybiAwOwotCi0JcmV0dXJuIGJpdG1hcF9nZXQoYml0bWFwX2dpdC0+aGF2ZXMsIHBvcyk7CisJcmV0dXJuIGJpdG1hcF9naXQgJiYKKwkJYml0bWFwX3dhbGtfY29udGFpbnMoYml0bWFwX2dpdCwgYml0bWFwX2dpdC0+aGF2ZXMsIG9pZCk7CiB9CmRpZmYgLS1naXQgYS9wYWNrLWJpdG1hcC5oIGIvcGFjay1iaXRtYXAuaAppbmRleCAxODlkZDY4Li4xMjAzMTIwIDEwMDY0NAotLS0gYS9wYWNrLWJpdG1hcC5oCisrKyBiL3BhY2stYml0bWFwLmgKQEAgLTMsMjEgKzMsMjQgQEAKIAogI2luY2x1ZGUgImV3YWgvZXdvay5oIgogI2luY2x1ZGUgImtoYXNoLmgiCisjaW5jbHVkZSAicGFjay5oIgogI2luY2x1ZGUgInBhY2stb2JqZWN0cy5oIgogCiBzdHJ1Y3QgY29tbWl0Oworc3RydWN0IHJlcG9zaXRvcnk7CiBzdHJ1Y3QgcmV2X2luZm87CitzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zOworCitzdGF0aWMgY29uc3QgY2hhciBCSVRNQVBfSURYX1NJR05BVFVSRVtdID0geydCJywgJ0knLCAnVCcsICdNJ307CiAKIHN0cnVjdCBiaXRtYXBfZGlza19oZWFkZXIgewotCWNoYXIgbWFnaWNbNF07CisJY2hhciBtYWdpY1tBUlJBWV9TSVpFKEJJVE1BUF9JRFhfU0lHTkFUVVJFKV07CiAJdWludDE2X3QgdmVyc2lvbjsKIAl1aW50MTZfdCBvcHRpb25zOwogCXVpbnQzMl90IGVudHJ5X2NvdW50OwotCXVuc2lnbmVkIGNoYXIgY2hlY2tzdW1bMjBdOworCXVuc2lnbmVkIGNoYXIgY2hlY2tzdW1bR0lUX01BWF9SQVdTWl07CiB9OwogCi1zdGF0aWMgY29uc3QgY2hhciBCSVRNQVBfSURYX1NJR05BVFVSRVtdID0geydCJywgJ0knLCAnVCcsICdNJ307Ci0KICNkZWZpbmUgTkVFRFNfQklUTUFQICgxdTw8MjIpCiAKIGVudW0gcGFja19iaXRtYXBfb3B0cyB7CkBAIC0zOSwyNiArNDIsMzEgQEAKIAogc3RydWN0IGJpdG1hcF9pbmRleDsKIAotc3RydWN0IGJpdG1hcF9pbmRleCAqcHJlcGFyZV9iaXRtYXBfZ2l0KHZvaWQpOworc3RydWN0IGJpdG1hcF9pbmRleCAqcHJlcGFyZV9iaXRtYXBfZ2l0KHN0cnVjdCByZXBvc2l0b3J5ICpyKTsKIHZvaWQgY291bnRfYml0bWFwX2NvbW1pdF9saXN0KHN0cnVjdCBiaXRtYXBfaW5kZXggKiwgdWludDMyX3QgKmNvbW1pdHMsCiAJCQkgICAgICB1aW50MzJfdCAqdHJlZXMsIHVpbnQzMl90ICpibG9icywgdWludDMyX3QgKnRhZ3MpOwogdm9pZCB0cmF2ZXJzZV9iaXRtYXBfY29tbWl0X2xpc3Qoc3RydWN0IGJpdG1hcF9pbmRleCAqLAorCQkJCSBzdHJ1Y3QgcmV2X2luZm8gKnJldnMsCiAJCQkJIHNob3dfcmVhY2hhYmxlX2ZuIHNob3dfcmVhY2hhYmxlKTsKIHZvaWQgdGVzdF9iaXRtYXBfd2FsayhzdHJ1Y3QgcmV2X2luZm8gKnJldnMpOwotc3RydWN0IGJpdG1hcF9pbmRleCAqcHJlcGFyZV9iaXRtYXBfd2FsayhzdHJ1Y3QgcmV2X2luZm8gKnJldnMpOworc3RydWN0IGJpdG1hcF9pbmRleCAqcHJlcGFyZV9iaXRtYXBfd2FsayhzdHJ1Y3QgcmV2X2luZm8gKnJldnMsCisJCQkJCSBzdHJ1Y3QgbGlzdF9vYmplY3RzX2ZpbHRlcl9vcHRpb25zICpmaWx0ZXIpOwogaW50IHJldXNlX3BhcnRpYWxfcGFja2ZpbGVfZnJvbV9iaXRtYXAoc3RydWN0IGJpdG1hcF9pbmRleCAqLAogCQkJCSAgICAgICBzdHJ1Y3QgcGFja2VkX2dpdCAqKnBhY2tmaWxlLAotCQkJCSAgICAgICB1aW50MzJfdCAqZW50cmllcywgb2ZmX3QgKnVwX3RvKTsKKwkJCQkgICAgICAgdWludDMyX3QgKmVudHJpZXMsCisJCQkJICAgICAgIHN0cnVjdCBiaXRtYXAgKipyZXVzZV9vdXQpOwogaW50IHJlYnVpbGRfZXhpc3RpbmdfYml0bWFwcyhzdHJ1Y3QgYml0bWFwX2luZGV4ICosIHN0cnVjdCBwYWNraW5nX2RhdGEgKm1hcHBpbmcsCi0JCQkgICAgIGtoYXNoX3NoYTEgKnJldXNlZF9iaXRtYXBzLCBpbnQgc2hvd19wcm9ncmVzcyk7CisJCQkgICAgIGtoX29pZF9tYXBfdCAqcmV1c2VkX2JpdG1hcHMsIGludCBzaG93X3Byb2dyZXNzKTsKIHZvaWQgZnJlZV9iaXRtYXBfaW5kZXgoc3RydWN0IGJpdG1hcF9pbmRleCAqKTsKK2ludCBiaXRtYXBfd2Fsa19jb250YWlucyhzdHJ1Y3QgYml0bWFwX2luZGV4ICosCisJCQkgc3RydWN0IGJpdG1hcCAqYml0bWFwLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOwogCiAvKgogICogQWZ0ZXIgYSB0cmF2ZXJzYWwgaGFzIGJlZW4gcGVyZm9ybWVkIGJ5IHByZXBhcmVfYml0bWFwX3dhbGsoKSwgdGhpcyBjYW4gYmUKICAqIHF1ZXJpZWQgdG8gc2VlIGlmIGEgcGFydGljdWxhciBvYmplY3Qgd2FzIHJlYWNoYWJsZSBmcm9tIGFueSBvZiB0aGUKICAqIG9iamVjdHMgZmxhZ2dlZCBhcyBVTklOVEVSRVNUSU5HLgogICovCi1pbnQgYml0bWFwX2hhc19zaGExX2luX3VuaW50ZXJlc3Rpbmcoc3RydWN0IGJpdG1hcF9pbmRleCAqLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKTsKK2ludCBiaXRtYXBfaGFzX29pZF9pbl91bmludGVyZXN0aW5nKHN0cnVjdCBiaXRtYXBfaW5kZXggKiwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKIAogdm9pZCBiaXRtYXBfd3JpdGVyX3Nob3dfcHJvZ3Jlc3MoaW50IHNob3cpOwogdm9pZCBiaXRtYXBfd3JpdGVyX3NldF9jaGVja3N1bSh1bnNpZ25lZCBjaGFyICpzaGExKTsKZGlmZiAtLWdpdCBhL3BhY2stY2hlY2suYyBiL3BhY2stY2hlY2suYwppbmRleCBmYTVmMGZmLi5kYWQ2ZDhhIDEwMDY0NAotLS0gYS9wYWNrLWNoZWNrLmMKKysrIGIvcGFjay1jaGVjay5jCkBAIC04LDEwICs4LDYgQEAKIAogc3RydWN0IGlkeF9lbnRyeSB7CiAJb2ZmX3QgICAgICAgICAgICAgICAgb2Zmc2V0OwotCXVuaW9uIGlkeF9lbnRyeV9vYmplY3QgewotCQljb25zdCB1bnNpZ25lZCBjaGFyICpoYXNoOwotCQlzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQ7Ci0JfSBvaWQ7CiAJdW5zaWduZWQgaW50IG5yOwogfTsKIApAQCAtNDgsNyArNDQsOCBAQAogCXJldHVybiBkYXRhX2NyYyAhPSBudG9obCgqaW5kZXhfY3JjKTsKIH0KIAotc3RhdGljIGludCB2ZXJpZnlfcGFja2ZpbGUoc3RydWN0IHBhY2tlZF9naXQgKnAsCitzdGF0aWMgaW50IHZlcmlmeV9wYWNrZmlsZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCSAgIHN0cnVjdCBwYWNrZWRfZ2l0ICpwLAogCQkJICAgc3RydWN0IHBhY2tfd2luZG93ICoqd19jdXJzLAogCQkJICAgdmVyaWZ5X2ZuIGZuLAogCQkJICAgc3RydWN0IHByb2dyZXNzICpwcm9ncmVzcywgdWludDMyX3QgYmFzZV9jb3VudCkKQEAgLTY2LDIzICs2MywyMyBAQAogCWlmICghaXNfcGFja192YWxpZChwKSkKIAkJcmV0dXJuIGVycm9yKCJwYWNrZmlsZSAlcyBjYW5ub3QgYmUgYWNjZXNzZWQiLCBwLT5wYWNrX25hbWUpOwogCi0JdGhlX2hhc2hfYWxnby0+aW5pdF9mbigmY3R4KTsKKwlyLT5oYXNoX2FsZ28tPmluaXRfZm4oJmN0eCk7CiAJZG8gewogCQl1bnNpZ25lZCBsb25nIHJlbWFpbmluZzsKIAkJdW5zaWduZWQgY2hhciAqaW4gPSB1c2VfcGFjayhwLCB3X2N1cnMsIG9mZnNldCwgJnJlbWFpbmluZyk7CiAJCW9mZnNldCArPSByZW1haW5pbmc7CiAJCWlmICghcGFja19zaWdfb2ZzKQotCQkJcGFja19zaWdfb2ZzID0gcC0+cGFja19zaXplIC0gdGhlX2hhc2hfYWxnby0+cmF3c3o7CisJCQlwYWNrX3NpZ19vZnMgPSBwLT5wYWNrX3NpemUgLSByLT5oYXNoX2FsZ28tPnJhd3N6OwogCQlpZiAob2Zmc2V0ID4gcGFja19zaWdfb2ZzKQogCQkJcmVtYWluaW5nIC09ICh1bnNpZ25lZCBpbnQpKG9mZnNldCAtIHBhY2tfc2lnX29mcyk7Ci0JCXRoZV9oYXNoX2FsZ28tPnVwZGF0ZV9mbigmY3R4LCBpbiwgcmVtYWluaW5nKTsKKwkJci0+aGFzaF9hbGdvLT51cGRhdGVfZm4oJmN0eCwgaW4sIHJlbWFpbmluZyk7CiAJfSB3aGlsZSAob2Zmc2V0IDwgcGFja19zaWdfb2ZzKTsKLQl0aGVfaGFzaF9hbGdvLT5maW5hbF9mbihoYXNoLCAmY3R4KTsKKwlyLT5oYXNoX2FsZ28tPmZpbmFsX2ZuKGhhc2gsICZjdHgpOwogCXBhY2tfc2lnID0gdXNlX3BhY2socCwgd19jdXJzLCBwYWNrX3NpZ19vZnMsIE5VTEwpOwogCWlmICghaGFzaGVxKGhhc2gsIHBhY2tfc2lnKSkKIAkJZXJyID0gZXJyb3IoIiVzIHBhY2sgY2hlY2tzdW0gbWlzbWF0Y2giLAogCQkJICAgIHAtPnBhY2tfbmFtZSk7Ci0JaWYgKCFoYXNoZXEoaW5kZXhfYmFzZSArIGluZGV4X3NpemUgLSB0aGVfaGFzaF9hbGdvLT5oZXhzeiwgcGFja19zaWcpKQorCWlmICghaGFzaGVxKGluZGV4X2Jhc2UgKyBpbmRleF9zaXplIC0gci0+aGFzaF9hbGdvLT5oZXhzeiwgcGFja19zaWcpKQogCQllcnIgPSBlcnJvcigiJXMgcGFjayBjaGVja3N1bSBkb2VzIG5vdCBtYXRjaCBpdHMgaW5kZXgiLAogCQkJICAgIHAtPnBhY2tfbmFtZSk7CiAJdW51c2VfcGFjayh3X2N1cnMpOwpAQCAtOTYsOSArOTMsNiBAQAogCWVudHJpZXNbbnJfb2JqZWN0c10ub2Zmc2V0ID0gcGFja19zaWdfb2ZzOwogCS8qIGZpcnN0IHNvcnQgZW50cmllcyBieSBwYWNrIG9mZnNldCwgc2luY2UgdW5wYWNraW5nIHRoZW0gaXMgbW9yZSBlZmZpY2llbnQgdGhhdCB3YXkgKi8KIAlmb3IgKGkgPSAwOyBpIDwgbnJfb2JqZWN0czsgaSsrKSB7Ci0JCWVudHJpZXNbaV0ub2lkLmhhc2ggPSBudGhfcGFja2VkX29iamVjdF9zaGExKHAsIGkpOwotCQlpZiAoIWVudHJpZXNbaV0ub2lkLmhhc2gpCi0JCQlkaWUoImludGVybmFsIGVycm9yIHBhY2stY2hlY2sgbnRoLXBhY2tlZC1vYmplY3QiKTsKIAkJZW50cmllc1tpXS5vZmZzZXQgPSBudGhfcGFja2VkX29iamVjdF9vZmZzZXQocCwgaSk7CiAJCWVudHJpZXNbaV0ubnIgPSBpOwogCX0KQEAgLTEwNiwxMSArMTAwLDE2IEBACiAKIAlmb3IgKGkgPSAwOyBpIDwgbnJfb2JqZWN0czsgaSsrKSB7CiAJCXZvaWQgKmRhdGE7CisJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCQllbnVtIG9iamVjdF90eXBlIHR5cGU7CiAJCXVuc2lnbmVkIGxvbmcgc2l6ZTsKIAkJb2ZmX3QgY3VycG9zOwogCQlpbnQgZGF0YV92YWxpZDsKIAorCQlpZiAobnRoX3BhY2tlZF9vYmplY3RfaWQoJm9pZCwgcCwgZW50cmllc1tpXS5ucikgPCAwKQorCQkJQlVHKCJ1bmFibGUgdG8gZ2V0IG9pZCBvZiBvYmplY3QgJWx1IGZyb20gJXMiLAorCQkJICAgICh1bnNpZ25lZCBsb25nKWVudHJpZXNbaV0ubnIsIHAtPnBhY2tfbmFtZSk7CisKIAkJaWYgKHAtPmluZGV4X3ZlcnNpb24gPiAxKSB7CiAJCQlvZmZfdCBvZmZzZXQgPSBlbnRyaWVzW2ldLm9mZnNldDsKIAkJCW9mZl90IGxlbiA9IGVudHJpZXNbaSsxXS5vZmZzZXQgLSBvZmZzZXQ7CkBAIC0xMTgsNyArMTE3LDcgQEAKIAkJCWlmIChjaGVja19wYWNrX2NyYyhwLCB3X2N1cnMsIG9mZnNldCwgbGVuLCBucikpCiAJCQkJZXJyID0gZXJyb3IoImluZGV4IENSQyBtaXNtYXRjaCBmb3Igb2JqZWN0ICVzICIKIAkJCQkJICAgICJmcm9tICVzIGF0IG9mZnNldCAlIlBSSXVNQVgiIiwKLQkJCQkJICAgIG9pZF90b19oZXgoZW50cmllc1tpXS5vaWQub2lkKSwKKwkJCQkJICAgIG9pZF90b19oZXgoJm9pZCksCiAJCQkJCSAgICBwLT5wYWNrX25hbWUsICh1aW50bWF4X3Qpb2Zmc2V0KTsKIAkJfQogCkBAIC0xMzUsMjAgKzEzNCwyMCBAQAogCQkJZGF0YSA9IE5VTEw7CiAJCQlkYXRhX3ZhbGlkID0gMDsKIAkJfSBlbHNlIHsKLQkJCWRhdGEgPSB1bnBhY2tfZW50cnkodGhlX3JlcG9zaXRvcnksIHAsIGVudHJpZXNbaV0ub2Zmc2V0LCAmdHlwZSwgJnNpemUpOworCQkJZGF0YSA9IHVucGFja19lbnRyeShyLCBwLCBlbnRyaWVzW2ldLm9mZnNldCwgJnR5cGUsICZzaXplKTsKIAkJCWRhdGFfdmFsaWQgPSAxOwogCQl9CiAKIAkJaWYgKGRhdGFfdmFsaWQgJiYgIWRhdGEpCiAJCQllcnIgPSBlcnJvcigiY2Fubm90IHVucGFjayAlcyBmcm9tICVzIGF0IG9mZnNldCAlIlBSSXVNQVgiIiwKLQkJCQkgICAgb2lkX3RvX2hleChlbnRyaWVzW2ldLm9pZC5vaWQpLCBwLT5wYWNrX25hbWUsCisJCQkJICAgIG9pZF90b19oZXgoJm9pZCksIHAtPnBhY2tfbmFtZSwKIAkJCQkgICAgKHVpbnRtYXhfdCllbnRyaWVzW2ldLm9mZnNldCk7Ci0JCWVsc2UgaWYgKGNoZWNrX29iamVjdF9zaWduYXR1cmUoZW50cmllc1tpXS5vaWQub2lkLCBkYXRhLCBzaXplLCB0eXBlX25hbWUodHlwZSkpKQorCQllbHNlIGlmIChjaGVja19vYmplY3Rfc2lnbmF0dXJlKHIsICZvaWQsIGRhdGEsIHNpemUsIHR5cGVfbmFtZSh0eXBlKSkpCiAJCQllcnIgPSBlcnJvcigicGFja2VkICVzIGZyb20gJXMgaXMgY29ycnVwdCIsCi0JCQkJICAgIG9pZF90b19oZXgoZW50cmllc1tpXS5vaWQub2lkKSwgcC0+cGFja19uYW1lKTsKKwkJCQkgICAgb2lkX3RvX2hleCgmb2lkKSwgcC0+cGFja19uYW1lKTsKIAkJZWxzZSBpZiAoZm4pIHsKIAkJCWludCBlYXRlbiA9IDA7Ci0JCQllcnIgfD0gZm4oZW50cmllc1tpXS5vaWQub2lkLCB0eXBlLCBzaXplLCBkYXRhLCAmZWF0ZW4pOworCQkJZXJyIHw9IGZuKCZvaWQsIHR5cGUsIHNpemUsIGRhdGEsICZlYXRlbik7CiAJCQlpZiAoZWF0ZW4pCiAJCQkJZGF0YSA9IE5VTEw7CiAJCX0KQEAgLTE4Niw3ICsxODUsNyBAQAogCXJldHVybiBlcnI7CiB9CiAKLWludCB2ZXJpZnlfcGFjayhzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgdmVyaWZ5X2ZuIGZuLAoraW50IHZlcmlmeV9wYWNrKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgdmVyaWZ5X2ZuIGZuLAogCQlzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzLCB1aW50MzJfdCBiYXNlX2NvdW50KQogewogCWludCBlcnIgPSAwOwpAQCAtMTk2LDcgKzE5NSw3IEBACiAJaWYgKCFwLT5pbmRleF9kYXRhKQogCQlyZXR1cm4gLTE7CiAKLQllcnIgfD0gdmVyaWZ5X3BhY2tmaWxlKHAsICZ3X2N1cnMsIGZuLCBwcm9ncmVzcywgYmFzZV9jb3VudCk7CisJZXJyIHw9IHZlcmlmeV9wYWNrZmlsZShyLCBwLCAmd19jdXJzLCBmbiwgcHJvZ3Jlc3MsIGJhc2VfY291bnQpOwogCXVudXNlX3BhY2soJndfY3Vycyk7CiAKIAlyZXR1cm4gZXJyOwpkaWZmIC0tZ2l0IGEvcGFjay1vYmplY3RzLmMgYi9wYWNrLW9iamVjdHMuYwppbmRleCBiNmNkYmIwLi5mMmE0MzM4IDEwMDY0NAotLS0gYS9wYWNrLW9iamVjdHMuYworKysgYi9wYWNrLW9iamVjdHMuYwpAQCAtNiwxNyArNiwxNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiBzdGF0aWMgdWludDMyX3QgbG9jYXRlX29iamVjdF9lbnRyeV9oYXNoKHN0cnVjdCBwYWNraW5nX2RhdGEgKnBkYXRhLAotCQkJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKKwkJCQkJIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKIAkJCQkJIGludCAqZm91bmQpCiB7CiAJdWludDMyX3QgaSwgbWFzayA9IChwZGF0YS0+aW5kZXhfc2l6ZSAtIDEpOwogCi0JaSA9IHNoYTFoYXNoKHNoYTEpICYgbWFzazsKKwlpID0gb2lkaGFzaChvaWQpICYgbWFzazsKIAogCXdoaWxlIChwZGF0YS0+aW5kZXhbaV0gPiAwKSB7CiAJCXVpbnQzMl90IHBvcyA9IHBkYXRhLT5pbmRleFtpXSAtIDE7CiAKLQkJaWYgKGhhc2hlcShzaGExLCBwZGF0YS0+b2JqZWN0c1twb3NdLmlkeC5vaWQuaGFzaCkpIHsKKwkJaWYgKG9pZGVxKG9pZCwgJnBkYXRhLT5vYmplY3RzW3Bvc10uaWR4Lm9pZCkpIHsKIAkJCSpmb3VuZCA9IDE7CiAJCQlyZXR1cm4gaTsKIAkJfQpAQCAtNTYsNyArNTYsNyBAQAogCWZvciAoaSA9IDA7IGkgPCBwZGF0YS0+bnJfb2JqZWN0czsgaSsrKSB7CiAJCWludCBmb3VuZDsKIAkJdWludDMyX3QgaXggPSBsb2NhdGVfb2JqZWN0X2VudHJ5X2hhc2gocGRhdGEsCi0JCQkJCQkgICAgICAgZW50cnktPmlkeC5vaWQuaGFzaCwKKwkJCQkJCSAgICAgICAmZW50cnktPmlkeC5vaWQsCiAJCQkJCQkgICAgICAgJmZvdW5kKTsKIAogCQlpZiAoZm91bmQpCkBAIC02OCw4ICs2OCw3IEBACiB9CiAKIHN0cnVjdCBvYmplY3RfZW50cnkgKnBhY2tsaXN0X2ZpbmQoc3RydWN0IHBhY2tpbmdfZGF0YSAqcGRhdGEsCi0JCQkJICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKLQkJCQkgICB1aW50MzJfdCAqaW5kZXhfcG9zKQorCQkJCSAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAl1aW50MzJfdCBpOwogCWludCBmb3VuZDsKQEAgLTc3LDEwICs3Niw3IEBACiAJaWYgKCFwZGF0YS0+aW5kZXhfc2l6ZSkKIAkJcmV0dXJuIE5VTEw7CiAKLQlpID0gbG9jYXRlX29iamVjdF9lbnRyeV9oYXNoKHBkYXRhLCBzaGExLCAmZm91bmQpOwotCi0JaWYgKGluZGV4X3BvcykKLQkJKmluZGV4X3BvcyA9IGk7CisJaSA9IGxvY2F0ZV9vYmplY3RfZW50cnlfaGFzaChwZGF0YSwgb2lkLCAmZm91bmQpOwogCiAJaWYgKCFmb3VuZCkKIAkJcmV0dXJuIE5VTEw7CkBAIC05OSw3ICs5NSw3IEBACiAJICogKGkuZS4gaW5fcGFja19pZHggYWxzbyB6ZXJvKSBzaG91bGQgcmV0dXJuIE5VTEwuCiAJICovCiAJbWFwcGluZ1tjbnQrK10gPSBOVUxMOwotCWZvciAocCA9IGdldF9hbGxfcGFja3ModGhlX3JlcG9zaXRvcnkpOyBwOyBwID0gcC0+bmV4dCwgY250KyspIHsKKwlmb3IgKHAgPSBnZXRfYWxsX3BhY2tzKHBkYXRhLT5yZXBvKTsgcDsgcCA9IHAtPm5leHQsIGNudCsrKSB7CiAJCWlmIChjbnQgPT0gbnIpIHsKIAkJCWZyZWUobWFwcGluZyk7CiAJCQlyZXR1cm47CkBAIC0xMTksMTIgKzExNSwxNCBAQAogICogdGhpcyBmYWxsIGJhY2sgY29kZSwganVzdCBzdGF5IHNpbXBsZSBhbmQgZmFsbCBiYWNrIHRvIHVzaW5nCiAgKiBpbl9wYWNrW10gYXJyYXkuCiAgKi8KLXZvaWQgb2VfbWFwX25ld19wYWNrKHN0cnVjdCBwYWNraW5nX2RhdGEgKnBhY2ssCi0JCSAgICAgc3RydWN0IHBhY2tlZF9naXQgKnApCit2b2lkIG9lX21hcF9uZXdfcGFjayhzdHJ1Y3QgcGFja2luZ19kYXRhICpwYWNrKQogewogCXVpbnQzMl90IGk7CiAKLQlSRUFMTE9DX0FSUkFZKHBhY2stPmluX3BhY2ssIHBhY2stPm5yX2FsbG9jKTsKKwlpZiAocGFjay0+aW5fcGFjaykKKwkJQlVHKCJwYWNraW5nX2RhdGEgaGFzIGFscmVhZHkgYmVlbiBjb252ZXJ0ZWQgdG8gcGFjayBhcnJheSIpOworCisJQUxMT0NfQVJSQVkocGFjay0+aW5fcGFjaywgcGFjay0+bnJfYWxsb2MpOwogCiAJZm9yIChpID0gMDsgaSA8IHBhY2stPm5yX29iamVjdHM7IGkrKykKIAkJcGFjay0+aW5fcGFja1tpXSA9IG9lX2luX3BhY2socGFjaywgcGFjay0+b2JqZWN0cyArIGkpOwpAQCAtMTMzLDggKzEzMSwxMCBAQAogfQogCiAvKiBhc3N1bWUgcGRhdGEgaXMgYWxyZWFkeSB6ZXJvJ2QgYnkgY2FsbGVyICovCi12b2lkIHByZXBhcmVfcGFja2luZ19kYXRhKHN0cnVjdCBwYWNraW5nX2RhdGEgKnBkYXRhKQordm9pZCBwcmVwYXJlX3BhY2tpbmdfZGF0YShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHBhY2tpbmdfZGF0YSAqcGRhdGEpCiB7CisJcGRhdGEtPnJlcG8gPSByOworCiAJaWYgKGdpdF9lbnZfYm9vbCgiR0lUX1RFU1RfRlVMTF9JTl9QQUNLX0FSUkFZIiwgMCkpIHsKIAkJLyoKIAkJICogZG8gbm90IGluaXRpYWxpemUgaW5fcGFja19ieV9pZHhbXSB0byBmb3JjZSB0aGUKQEAgLTE0OCwxNCArMTQ4LDExIEBACiAJCQkJCSAgICAgMVUgPDwgT0VfU0laRV9CSVRTKTsKIAlwZGF0YS0+b2VfZGVsdGFfc2l6ZV9saW1pdCA9IGdpdF9lbnZfdWxvbmcoIkdJVF9URVNUX09FX0RFTFRBX1NJWkUiLAogCQkJCQkJICAgMVVMIDw8IE9FX0RFTFRBX1NJWkVfQklUUyk7Ci0jaWZuZGVmIE5PX1BUSFJFQURTCi0JcHRocmVhZF9tdXRleF9pbml0KCZwZGF0YS0+bG9jaywgTlVMTCk7Ci0jZW5kaWYKKwlpbml0X3JlY3Vyc2l2ZV9tdXRleCgmcGRhdGEtPm9kYl9sb2NrKTsKIH0KIAogc3RydWN0IG9iamVjdF9lbnRyeSAqcGFja2xpc3RfYWxsb2Moc3RydWN0IHBhY2tpbmdfZGF0YSAqcGRhdGEsCi0JCQkJICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCi0JCQkJICAgIHVpbnQzMl90IGluZGV4X3BvcykKKwkJCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCXN0cnVjdCBvYmplY3RfZW50cnkgKm5ld19lbnRyeTsKIApAQCAtMTc4LDEyICsxNzUsMTkgQEAKIAluZXdfZW50cnkgPSBwZGF0YS0+b2JqZWN0cyArIHBkYXRhLT5ucl9vYmplY3RzKys7CiAKIAltZW1zZXQobmV3X2VudHJ5LCAwLCBzaXplb2YoKm5ld19lbnRyeSkpOwotCWhhc2hjcHkobmV3X2VudHJ5LT5pZHgub2lkLmhhc2gsIHNoYTEpOworCW9pZGNweSgmbmV3X2VudHJ5LT5pZHgub2lkLCBvaWQpOwogCiAJaWYgKHBkYXRhLT5pbmRleF9zaXplICogMyA8PSBwZGF0YS0+bnJfb2JqZWN0cyAqIDQpCiAJCXJlaGFzaF9vYmplY3RzKHBkYXRhKTsKLQllbHNlCi0JCXBkYXRhLT5pbmRleFtpbmRleF9wb3NdID0gcGRhdGEtPm5yX29iamVjdHM7CisJZWxzZSB7CisJCWludCBmb3VuZDsKKwkJdWludDMyX3QgcG9zID0gbG9jYXRlX29iamVjdF9lbnRyeV9oYXNoKHBkYXRhLAorCQkJCQkJCSZuZXdfZW50cnktPmlkeC5vaWQsCisJCQkJCQkJJmZvdW5kKTsKKwkJaWYgKGZvdW5kKQorCQkJQlVHKCJkdXBsaWNhdGUgb2JqZWN0IGluc2VydGVkIGludG8gaGFzaCIpOworCQlwZGF0YS0+aW5kZXhbcG9zXSA9IHBkYXRhLT5ucl9vYmplY3RzOworCX0KIAogCWlmIChwZGF0YS0+aW5fcGFjaykKIAkJcGRhdGEtPmluX3BhY2tbcGRhdGEtPm5yX29iamVjdHMgLSAxXSA9IE5VTEw7CkBAIC0xOTksMTQgKzIwMywxNCBAQAogCiB2b2lkIG9lX3NldF9kZWx0YV9leHQoc3RydWN0IHBhY2tpbmdfZGF0YSAqcGRhdGEsCiAJCSAgICAgIHN0cnVjdCBvYmplY3RfZW50cnkgKmRlbHRhLAotCQkgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorCQkgICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7CiAJc3RydWN0IG9iamVjdF9lbnRyeSAqYmFzZTsKIAogCUFMTE9DX0dST1cocGRhdGEtPmV4dF9iYXNlcywgcGRhdGEtPm5yX2V4dCArIDEsIHBkYXRhLT5hbGxvY19leHQpOwogCWJhc2UgPSAmcGRhdGEtPmV4dF9iYXNlc1twZGF0YS0+bnJfZXh0KytdOwogCW1lbXNldChiYXNlLCAwLCBzaXplb2YoKmJhc2UpKTsKLQloYXNoY3B5KGJhc2UtPmlkeC5vaWQuaGFzaCwgc2hhMSk7CisJb2lkY3B5KCZiYXNlLT5pZHgub2lkLCBvaWQpOwogCiAJLyogVGhlc2UgZmxhZ3MgbWFyayB0aGF0IHdlIGFyZSBub3QgcGFydCBvZiB0aGUgYWN0dWFsIHBhY2sgb3V0cHV0LiAqLwogCWJhc2UtPnByZWZlcnJlZF9iYXNlID0gMTsKZGlmZiAtLWdpdCBhL3BhY2stb2JqZWN0cy5oIGIvcGFjay1vYmplY3RzLmgKaW5kZXggZGM4NjlmMi4uOWQ4OGUzZSAxMDA2NDQKLS0tIGEvcGFjay1vYmplY3RzLmgKKysrIGIvcGFjay1vYmplY3RzLmgKQEAgLTUsNiArNSw4IEBACiAjaW5jbHVkZSAidGhyZWFkLXV0aWxzLmgiCiAjaW5jbHVkZSAicGFjay5oIgogCitzdHJ1Y3QgcmVwb3NpdG9yeTsKKwogI2RlZmluZSBERUZBVUxUX0RFTFRBX0NBQ0hFX1NJWkUgKDI1NiAqIDEwMjQgKiAxMDI0KQogCiAjZGVmaW5lIE9FX0RGU19TVEFURV9CSVRTCTIKQEAgLTEyNyw2ICsxMjksNyBAQAogfTsKIAogc3RydWN0IHBhY2tpbmdfZGF0YSB7CisJc3RydWN0IHJlcG9zaXRvcnkgKnJlcG87CiAJc3RydWN0IG9iamVjdF9lbnRyeSAqb2JqZWN0czsKIAl1aW50MzJfdCBucl9vYmplY3RzLCBucl9hbGxvYzsKIApAQCAtMTQ1LDcgKzE0OCwxMSBAQAogCXN0cnVjdCBwYWNrZWRfZ2l0ICoqaW5fcGFja19ieV9pZHg7CiAJc3RydWN0IHBhY2tlZF9naXQgKippbl9wYWNrOwogCi0JcHRocmVhZF9tdXRleF90IGxvY2s7CisJLyoKKwkgKiBEdXJpbmcgcGFja2luZyB3aXRoIG11bHRpcGxlIHRocmVhZHMsIHByb3RlY3QgdGhlIGluLWNvcmUKKwkgKiBvYmplY3QgZGF0YWJhc2UgZnJvbSBjb25jdXJyZW50IGFjY2Vzc2VzLgorCSAqLworCXB0aHJlYWRfbXV0ZXhfdCBvZGJfbG9jazsKIAogCS8qCiAJICogVGhpcyBsaXN0IGNvbnRhaW5zIGVudHJpZXMgZm9yIGJhc2VzIHdoaWNoIHdlIGtub3cgdGhlIG90aGVyIHNpZGUKQEAgLTE2MywyNCArMTcwLDIzIEBACiAJdW5zaWduZWQgY2hhciAqbGF5ZXI7CiB9OwogCi12b2lkIHByZXBhcmVfcGFja2luZ19kYXRhKHN0cnVjdCBwYWNraW5nX2RhdGEgKnBkYXRhKTsKK3ZvaWQgcHJlcGFyZV9wYWNraW5nX2RhdGEoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBwYWNraW5nX2RhdGEgKnBkYXRhKTsKIAorLyogUHJvdGVjdCBhY2Nlc3MgdG8gb2JqZWN0IGRhdGFiYXNlICovCiBzdGF0aWMgaW5saW5lIHZvaWQgcGFja2luZ19kYXRhX2xvY2soc3RydWN0IHBhY2tpbmdfZGF0YSAqcGRhdGEpCiB7Ci0JcHRocmVhZF9tdXRleF9sb2NrKCZwZGF0YS0+bG9jayk7CisJcHRocmVhZF9tdXRleF9sb2NrKCZwZGF0YS0+b2RiX2xvY2spOwogfQogc3RhdGljIGlubGluZSB2b2lkIHBhY2tpbmdfZGF0YV91bmxvY2soc3RydWN0IHBhY2tpbmdfZGF0YSAqcGRhdGEpCiB7Ci0JcHRocmVhZF9tdXRleF91bmxvY2soJnBkYXRhLT5sb2NrKTsKKwlwdGhyZWFkX211dGV4X3VubG9jaygmcGRhdGEtPm9kYl9sb2NrKTsKIH0KIAogc3RydWN0IG9iamVjdF9lbnRyeSAqcGFja2xpc3RfYWxsb2Moc3RydWN0IHBhY2tpbmdfZGF0YSAqcGRhdGEsCi0JCQkJICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCi0JCQkJICAgIHVpbnQzMl90IGluZGV4X3Bvcyk7CisJCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CiAKIHN0cnVjdCBvYmplY3RfZW50cnkgKnBhY2tsaXN0X2ZpbmQoc3RydWN0IHBhY2tpbmdfZGF0YSAqcGRhdGEsCi0JCQkJICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKLQkJCQkgICB1aW50MzJfdCAqaW5kZXhfcG9zKTsKKwkJCQkgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOwogCiBzdGF0aWMgaW5saW5lIHVpbnQzMl90IHBhY2tfbmFtZV9oYXNoKGNvbnN0IGNoYXIgKm5hbWUpCiB7CkBAIC0yMzksMTggKzI0NSwyNyBAQAogCQlyZXR1cm4gcGFjay0+aW5fcGFja1tlIC0gcGFjay0+b2JqZWN0c107CiB9CiAKLXZvaWQgb2VfbWFwX25ld19wYWNrKHN0cnVjdCBwYWNraW5nX2RhdGEgKnBhY2ssCi0JCSAgICAgc3RydWN0IHBhY2tlZF9naXQgKnApOwordm9pZCBvZV9tYXBfbmV3X3BhY2soc3RydWN0IHBhY2tpbmdfZGF0YSAqcGFjayk7CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBvZV9zZXRfaW5fcGFjayhzdHJ1Y3QgcGFja2luZ19kYXRhICpwYWNrLAogCQkJCSAgc3RydWN0IG9iamVjdF9lbnRyeSAqZSwKIAkJCQkgIHN0cnVjdCBwYWNrZWRfZ2l0ICpwKQogewotCWlmICghcC0+aW5kZXgpCi0JCW9lX21hcF9uZXdfcGFjayhwYWNrLCBwKTsKLQlpZiAocGFjay0+aW5fcGFja19ieV9pZHgpCi0JCWUtPmluX3BhY2tfaWR4ID0gcC0+aW5kZXg7Ci0JZWxzZQotCQlwYWNrLT5pbl9wYWNrW2UgLSBwYWNrLT5vYmplY3RzXSA9IHA7CisJaWYgKHBhY2stPmluX3BhY2tfYnlfaWR4KSB7CisJCWlmIChwLT5pbmRleCkgeworCQkJZS0+aW5fcGFja19pZHggPSBwLT5pbmRleDsKKwkJCXJldHVybjsKKwkJfQorCQkvKgorCQkgKiBXZSdyZSBhY2Nlc3NpbmcgcGFja3MgYnkgaW5kZXgsIGJ1dCB0aGlzIHBhY2sgZG9lc24ndCBoYXZlCisJCSAqIGFuIGluZGV4IChlLmcuLCBiZWNhdXNlIGl0IHdhcyBhZGRlZCBzaW5jZSB3ZSBjcmVhdGVkIHRoZQorCQkgKiBpbl9wYWNrX2J5X2lkeCBhcnJheSkuIEJhaWwgdG8gb2VfbWFwX25ld19wYWNrKCksIHdoaWNoCisJCSAqIHdpbGwgY29udmVydCB1cyB0byB1c2luZyB0aGUgZnVsbCBpbl9wYWNrIGFycmF5LCBhbmQgdGhlbgorCQkgKiBmYWxsIHRocm91Z2ggdG8gb3VyIGluX3BhY2sgaGFuZGxpbmcuCisJCSAqLworCQlvZV9tYXBfbmV3X3BhY2socGFjayk7CisJfQorCXBhY2stPmluX3BhY2tbZSAtIHBhY2stPm9iamVjdHNdID0gcDsKIH0KIAogc3RhdGljIGlubGluZSBzdHJ1Y3Qgb2JqZWN0X2VudHJ5ICpvZV9kZWx0YSgKQEAgLTI3Nyw3ICsyOTIsNyBAQAogCiB2b2lkIG9lX3NldF9kZWx0YV9leHQoc3RydWN0IHBhY2tpbmdfZGF0YSAqcGFjaywKIAkJICAgICAgc3RydWN0IG9iamVjdF9lbnRyeSAqZSwKLQkJICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7CisJCSAgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IG9iamVjdF9lbnRyeSAqb2VfZGVsdGFfY2hpbGQoCiAJCWNvbnN0IHN0cnVjdCBwYWNraW5nX2RhdGEgKnBhY2ssCmRpZmYgLS1naXQgYS9wYWNrLXJldmluZGV4LmMgYi9wYWNrLXJldmluZGV4LmMKaW5kZXggM2M1ODc4NC4uZDI4YTdlNCAxMDA2NDQKLS0tIGEvcGFjay1yZXZpbmRleC5jCisrKyBiL3BhY2stcmV2aW5kZXguYwpAQCAtMSw2ICsxLDcgQEAKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgInBhY2stcmV2aW5kZXguaCIKICNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKKyNpbmNsdWRlICJwYWNrZmlsZS5oIgogCiAvKgogICogUGFjayBpbmRleCBmb3IgZXhpc3RpbmcgcGFja3MgZ2l2ZSB1cyBlYXN5IGFjY2VzcyB0byB0aGUgb2Zmc2V0cyBpbnRvCkBAIC0xMTksNyArMTIwLDcgQEAKICAqLwogc3RhdGljIHZvaWQgY3JlYXRlX3BhY2tfcmV2aW5kZXgoc3RydWN0IHBhY2tlZF9naXQgKnApCiB7Ci0JdW5zaWduZWQgbnVtX2VudCA9IHAtPm51bV9vYmplY3RzOworCWNvbnN0IHVuc2lnbmVkIG51bV9lbnQgPSBwLT5udW1fb2JqZWN0czsKIAl1bnNpZ25lZCBpOwogCWNvbnN0IGNoYXIgKmluZGV4ID0gcC0+aW5kZXhfZGF0YTsKIAljb25zdCB1bnNpZ25lZCBoYXNoc3ogPSB0aGVfaGFzaF9hbGdvLT5yYXdzejsKQEAgLTEzMiw3ICsxMzMsNyBAQAogCQkJKHVpbnQzMl90ICopKGluZGV4ICsgOCArIHAtPm51bV9vYmplY3RzICogKGhhc2hzeiArIDQpKTsKIAkJY29uc3QgdWludDMyX3QgKm9mZl82NCA9IG9mZl8zMiArIHAtPm51bV9vYmplY3RzOwogCQlmb3IgKGkgPSAwOyBpIDwgbnVtX2VudDsgaSsrKSB7Ci0JCQl1aW50MzJfdCBvZmYgPSBudG9obCgqb2ZmXzMyKyspOworCQkJY29uc3QgdWludDMyX3Qgb2ZmID0gbnRvaGwoKm9mZl8zMisrKTsKIAkJCWlmICghKG9mZiAmIDB4ODAwMDAwMDApKSB7CiAJCQkJcC0+cmV2aW5kZXhbaV0ub2Zmc2V0ID0gb2ZmOwogCQkJfSBlbHNlIHsKQEAgLTE0Myw3ICsxNDQsNyBAQAogCQl9CiAJfSBlbHNlIHsKIAkJZm9yIChpID0gMDsgaSA8IG51bV9lbnQ7IGkrKykgewotCQkJdWludDMyX3QgaGwgPSAqKCh1aW50MzJfdCAqKShpbmRleCArIChoYXNoc3ogKyA0KSAqIGkpKTsKKwkJCWNvbnN0IHVpbnQzMl90IGhsID0gKigodWludDMyX3QgKikoaW5kZXggKyAoaGFzaHN6ICsgNCkgKiBpKSk7CiAJCQlwLT5yZXZpbmRleFtpXS5vZmZzZXQgPSBudG9obChobCk7CiAJCQlwLT5yZXZpbmRleFtpXS5uciA9IGk7CiAJCX0KQEAgLTE1OCwyMCArMTU5LDI0IEBACiAJc29ydF9yZXZpbmRleChwLT5yZXZpbmRleCwgbnVtX2VudCwgcC0+cGFja19zaXplKTsKIH0KIAotdm9pZCBsb2FkX3BhY2tfcmV2aW5kZXgoc3RydWN0IHBhY2tlZF9naXQgKnApCitpbnQgbG9hZF9wYWNrX3JldmluZGV4KHN0cnVjdCBwYWNrZWRfZ2l0ICpwKQogewotCWlmICghcC0+cmV2aW5kZXgpCisJaWYgKCFwLT5yZXZpbmRleCkgeworCQlpZiAob3Blbl9wYWNrX2luZGV4KHApKQorCQkJcmV0dXJuIC0xOwogCQljcmVhdGVfcGFja19yZXZpbmRleChwKTsKKwl9CisJcmV0dXJuIDA7CiB9CiAKIGludCBmaW5kX3JldmluZGV4X3Bvc2l0aW9uKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCBvZmZfdCBvZnMpCiB7CiAJaW50IGxvID0gMDsKIAlpbnQgaGkgPSBwLT5udW1fb2JqZWN0cyArIDE7Ci0Jc3RydWN0IHJldmluZGV4X2VudHJ5ICpyZXZpbmRleCA9IHAtPnJldmluZGV4OworCWNvbnN0IHN0cnVjdCByZXZpbmRleF9lbnRyeSAqcmV2aW5kZXggPSBwLT5yZXZpbmRleDsKIAogCWRvIHsKLQkJdW5zaWduZWQgbWkgPSBsbyArIChoaSAtIGxvKSAvIDI7CisJCWNvbnN0IHVuc2lnbmVkIG1pID0gbG8gKyAoaGkgLSBsbykgLyAyOwogCQlpZiAocmV2aW5kZXhbbWldLm9mZnNldCA9PSBvZnMpIHsKIAkJCXJldHVybiBtaTsKIAkJfSBlbHNlIGlmIChvZnMgPCByZXZpbmRleFttaV0ub2Zmc2V0KQpAQCAtMTg4LDcgKzE5Myw5IEBACiB7CiAJaW50IHBvczsKIAotCWxvYWRfcGFja19yZXZpbmRleChwKTsKKwlpZiAobG9hZF9wYWNrX3JldmluZGV4KHApKQorCQlyZXR1cm4gTlVMTDsKKwogCXBvcyA9IGZpbmRfcmV2aW5kZXhfcG9zaXRpb24ocCwgb2ZzKTsKIAogCWlmIChwb3MgPCAwKQpkaWZmIC0tZ2l0IGEvcGFjay1yZXZpbmRleC5oIGIvcGFjay1yZXZpbmRleC5oCmluZGV4IGUyNjJmM2UuLjg0ODMzMWQgMTAwNjQ0Ci0tLSBhL3BhY2stcmV2aW5kZXguaAorKysgYi9wYWNrLXJldmluZGV4LmgKQEAgLTgsNyArOCw3IEBACiAJdW5zaWduZWQgaW50IG5yOwogfTsKIAotdm9pZCBsb2FkX3BhY2tfcmV2aW5kZXgoc3RydWN0IHBhY2tlZF9naXQgKnApOworaW50IGxvYWRfcGFja19yZXZpbmRleChzdHJ1Y3QgcGFja2VkX2dpdCAqcCk7CiBpbnQgZmluZF9yZXZpbmRleF9wb3NpdGlvbihzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgb2ZmX3Qgb2ZzKTsKIAogc3RydWN0IHJldmluZGV4X2VudHJ5ICpmaW5kX3BhY2tfcmV2aW5kZXgoc3RydWN0IHBhY2tlZF9naXQgKnAsIG9mZl90IG9mcyk7CmRpZmYgLS1naXQgYS9wYWNrLXdyaXRlLmMgYi9wYWNrLXdyaXRlLmMKaW5kZXggMjlkMTdhOS4uZjAwMTdiZSAxMDA2NDQKLS0tIGEvcGFjay13cml0ZS5jCisrKyBiL3BhY2std3JpdGUuYwpAQCAtMzQ5LDcgKzM0OSw3IEBACiAJCQkgc3RydWN0IHBhY2tfaWR4X2VudHJ5ICoqd3JpdHRlbl9saXN0LAogCQkJIHVpbnQzMl90IG5yX3dyaXR0ZW4sCiAJCQkgc3RydWN0IHBhY2tfaWR4X29wdGlvbiAqcGFja19pZHhfb3B0cywKLQkJCSB1bnNpZ25lZCBjaGFyIHNoYTFbXSkKKwkJCSB1bnNpZ25lZCBjaGFyIGhhc2hbXSkKIHsKIAljb25zdCBjaGFyICppZHhfdG1wX25hbWU7CiAJaW50IGJhc2VuYW1lX2xlbiA9IG5hbWVfYnVmZmVyLT5sZW47CkBAIC0zNTgsMTggKzM1OCwxOCBAQAogCQlkaWVfZXJybm8oInVuYWJsZSB0byBtYWtlIHRlbXBvcmFyeSBwYWNrIGZpbGUgcmVhZGFibGUiKTsKIAogCWlkeF90bXBfbmFtZSA9IHdyaXRlX2lkeF9maWxlKE5VTEwsIHdyaXR0ZW5fbGlzdCwgbnJfd3JpdHRlbiwKLQkJCQkgICAgICBwYWNrX2lkeF9vcHRzLCBzaGExKTsKKwkJCQkgICAgICBwYWNrX2lkeF9vcHRzLCBoYXNoKTsKIAlpZiAoYWRqdXN0X3NoYXJlZF9wZXJtKGlkeF90bXBfbmFtZSkpCiAJCWRpZV9lcnJubygidW5hYmxlIHRvIG1ha2UgdGVtcG9yYXJ5IGluZGV4IGZpbGUgcmVhZGFibGUiKTsKIAotCXN0cmJ1Zl9hZGRmKG5hbWVfYnVmZmVyLCAiJXMucGFjayIsIHNoYTFfdG9faGV4KHNoYTEpKTsKKwlzdHJidWZfYWRkZihuYW1lX2J1ZmZlciwgIiVzLnBhY2siLCBoYXNoX3RvX2hleChoYXNoKSk7CiAKIAlpZiAocmVuYW1lKHBhY2tfdG1wX25hbWUsIG5hbWVfYnVmZmVyLT5idWYpKQogCQlkaWVfZXJybm8oInVuYWJsZSB0byByZW5hbWUgdGVtcG9yYXJ5IHBhY2sgZmlsZSIpOwogCiAJc3RyYnVmX3NldGxlbihuYW1lX2J1ZmZlciwgYmFzZW5hbWVfbGVuKTsKIAotCXN0cmJ1Zl9hZGRmKG5hbWVfYnVmZmVyLCAiJXMuaWR4Iiwgc2hhMV90b19oZXgoc2hhMSkpOworCXN0cmJ1Zl9hZGRmKG5hbWVfYnVmZmVyLCAiJXMuaWR4IiwgaGFzaF90b19oZXgoaGFzaCkpOwogCWlmIChyZW5hbWUoaWR4X3RtcF9uYW1lLCBuYW1lX2J1ZmZlci0+YnVmKSkKIAkJZGllX2Vycm5vKCJ1bmFibGUgdG8gcmVuYW1lIHRlbXBvcmFyeSBpbmRleCBmaWxlIik7CiAKZGlmZiAtLWdpdCBhL3BhY2suaCBiL3BhY2suaAppbmRleCAzNGE5ZDQ1Li45ZmMwOTQ1IDEwMDY0NAotLS0gYS9wYWNrLmgKKysrIGIvcGFjay5oCkBAIC00LDYgKzQsOCBAQAogI2luY2x1ZGUgIm9iamVjdC5oIgogI2luY2x1ZGUgImNzdW0tZmlsZS5oIgogCitzdHJ1Y3QgcmVwb3NpdG9yeTsKKwogLyoKICAqIFBhY2tlZCBvYmplY3QgaGVhZGVyCiAgKi8KQEAgLTUzLDcgKzU1LDcgQEAKIAl1aW50MzJfdCAqYW5vbWFseTsKIH07CiAKLWV4dGVybiB2b2lkIHJlc2V0X3BhY2tfaWR4X29wdGlvbihzdHJ1Y3QgcGFja19pZHhfb3B0aW9uICopOwordm9pZCByZXNldF9wYWNrX2lkeF9vcHRpb24oc3RydWN0IHBhY2tfaWR4X29wdGlvbiAqKTsKIAogLyoKICAqIFBhY2tlZCBvYmplY3QgaW5kZXggaGVhZGVyCkBAIC03NywyOCArNzksMjggQEAKIC8qIE5vdGUsIHRoZSBkYXRhIGFyZ3VtZW50IGNvdWxkIGJlIE5VTEwgaWYgb2JqZWN0IHR5cGUgaXMgYmxvYiAqLwogdHlwZWRlZiBpbnQgKCp2ZXJpZnlfZm4pKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKiwgZW51bSBvYmplY3RfdHlwZSwgdW5zaWduZWQgbG9uZywgdm9pZCosIGludCopOwogCi1leHRlcm4gY29uc3QgY2hhciAqd3JpdGVfaWR4X2ZpbGUoY29uc3QgY2hhciAqaW5kZXhfbmFtZSwgc3RydWN0IHBhY2tfaWR4X2VudHJ5ICoqb2JqZWN0cywgaW50IG5yX29iamVjdHMsIGNvbnN0IHN0cnVjdCBwYWNrX2lkeF9vcHRpb24gKiwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7Ci1leHRlcm4gaW50IGNoZWNrX3BhY2tfY3JjKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCBzdHJ1Y3QgcGFja193aW5kb3cgKip3X2N1cnMsIG9mZl90IG9mZnNldCwgb2ZmX3QgbGVuLCB1bnNpZ25lZCBpbnQgbnIpOwotZXh0ZXJuIGludCB2ZXJpZnlfcGFja19pbmRleChzdHJ1Y3QgcGFja2VkX2dpdCAqKTsKLWV4dGVybiBpbnQgdmVyaWZ5X3BhY2soc3RydWN0IHBhY2tlZF9naXQgKiwgdmVyaWZ5X2ZuIGZuLCBzdHJ1Y3QgcHJvZ3Jlc3MgKiwgdWludDMyX3QpOwotZXh0ZXJuIG9mZl90IHdyaXRlX3BhY2tfaGVhZGVyKHN0cnVjdCBoYXNoZmlsZSAqZiwgdWludDMyX3QpOwotZXh0ZXJuIHZvaWQgZml4dXBfcGFja19oZWFkZXJfZm9vdGVyKGludCwgdW5zaWduZWQgY2hhciAqLCBjb25zdCBjaGFyICosIHVpbnQzMl90LCB1bnNpZ25lZCBjaGFyICosIG9mZl90KTsKLWV4dGVybiBjaGFyICppbmRleF9wYWNrX2xvY2tmaWxlKGludCBmZCk7Citjb25zdCBjaGFyICp3cml0ZV9pZHhfZmlsZShjb25zdCBjaGFyICppbmRleF9uYW1lLCBzdHJ1Y3QgcGFja19pZHhfZW50cnkgKipvYmplY3RzLCBpbnQgbnJfb2JqZWN0cywgY29uc3Qgc3RydWN0IHBhY2tfaWR4X29wdGlvbiAqLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKTsKK2ludCBjaGVja19wYWNrX2NyYyhzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgc3RydWN0IHBhY2tfd2luZG93ICoqd19jdXJzLCBvZmZfdCBvZmZzZXQsIG9mZl90IGxlbiwgdW5zaWduZWQgaW50IG5yKTsKK2ludCB2ZXJpZnlfcGFja19pbmRleChzdHJ1Y3QgcGFja2VkX2dpdCAqKTsKK2ludCB2ZXJpZnlfcGFjayhzdHJ1Y3QgcmVwb3NpdG9yeSAqLCBzdHJ1Y3QgcGFja2VkX2dpdCAqLCB2ZXJpZnlfZm4gZm4sIHN0cnVjdCBwcm9ncmVzcyAqLCB1aW50MzJfdCk7CitvZmZfdCB3cml0ZV9wYWNrX2hlYWRlcihzdHJ1Y3QgaGFzaGZpbGUgKmYsIHVpbnQzMl90KTsKK3ZvaWQgZml4dXBfcGFja19oZWFkZXJfZm9vdGVyKGludCwgdW5zaWduZWQgY2hhciAqLCBjb25zdCBjaGFyICosIHVpbnQzMl90LCB1bnNpZ25lZCBjaGFyICosIG9mZl90KTsKK2NoYXIgKmluZGV4X3BhY2tfbG9ja2ZpbGUoaW50IGZkKTsKIAogLyoKICAqIFRoZSAiaGRyIiBvdXRwdXQgYnVmZmVyIHNob3VsZCBiZSBhdCBsZWFzdCB0aGlzIGJpZywgd2hpY2ggd2lsbCBoYW5kbGUgc2l6ZXMKICAqIHVwIHRvIDJeNjcuCiAgKi8KICNkZWZpbmUgTUFYX1BBQ0tfT0JKRUNUX0hFQURFUiAxMAotZXh0ZXJuIGludCBlbmNvZGVfaW5fcGFja19vYmplY3RfaGVhZGVyKHVuc2lnbmVkIGNoYXIgKmhkciwgaW50IGhkcl9sZW4sCi0JCQkJCWVudW0gb2JqZWN0X3R5cGUsIHVpbnRtYXhfdCk7CitpbnQgZW5jb2RlX2luX3BhY2tfb2JqZWN0X2hlYWRlcih1bnNpZ25lZCBjaGFyICpoZHIsIGludCBoZHJfbGVuLAorCQkJCSBlbnVtIG9iamVjdF90eXBlLCB1aW50bWF4X3QpOwogCiAjZGVmaW5lIFBIX0VSUk9SX0VPRgkJKC0xKQogI2RlZmluZSBQSF9FUlJPUl9QQUNLX1NJR05BVFVSRQkoLTIpCiAjZGVmaW5lIFBIX0VSUk9SX1BST1RPQ09MCSgtMykKLWV4dGVybiBpbnQgcmVhZF9wYWNrX2hlYWRlcihpbnQgZmQsIHN0cnVjdCBwYWNrX2hlYWRlciAqKTsKK2ludCByZWFkX3BhY2tfaGVhZGVyKGludCBmZCwgc3RydWN0IHBhY2tfaGVhZGVyICopOwogCi1leHRlcm4gc3RydWN0IGhhc2hmaWxlICpjcmVhdGVfdG1wX3BhY2tmaWxlKGNoYXIgKipwYWNrX3RtcF9uYW1lKTsKLWV4dGVybiB2b2lkIGZpbmlzaF90bXBfcGFja2ZpbGUoc3RydWN0IHN0cmJ1ZiAqbmFtZV9idWZmZXIsIGNvbnN0IGNoYXIgKnBhY2tfdG1wX25hbWUsIHN0cnVjdCBwYWNrX2lkeF9lbnRyeSAqKndyaXR0ZW5fbGlzdCwgdWludDMyX3QgbnJfd3JpdHRlbiwgc3RydWN0IHBhY2tfaWR4X29wdGlvbiAqcGFja19pZHhfb3B0cywgdW5zaWduZWQgY2hhciBzaGExW10pOworc3RydWN0IGhhc2hmaWxlICpjcmVhdGVfdG1wX3BhY2tmaWxlKGNoYXIgKipwYWNrX3RtcF9uYW1lKTsKK3ZvaWQgZmluaXNoX3RtcF9wYWNrZmlsZShzdHJ1Y3Qgc3RyYnVmICpuYW1lX2J1ZmZlciwgY29uc3QgY2hhciAqcGFja190bXBfbmFtZSwgc3RydWN0IHBhY2tfaWR4X2VudHJ5ICoqd3JpdHRlbl9saXN0LCB1aW50MzJfdCBucl93cml0dGVuLCBzdHJ1Y3QgcGFja19pZHhfb3B0aW9uICpwYWNrX2lkeF9vcHRzLCB1bnNpZ25lZCBjaGFyIHNoYTFbXSk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvcGFja2ZpbGUuYyBiL3BhY2tmaWxlLmMKaW5kZXggZDFlNjY4My4uZjRlNzUyOSAxMDA2NDQKLS0tIGEvcGFja2ZpbGUuYworKysgYi9wYWNrZmlsZS5jCkBAIC02LDcgKzYsNiBAQAogI2luY2x1ZGUgIm1lcmdlc29ydC5oIgogI2luY2x1ZGUgInBhY2tmaWxlLmgiCiAjaW5jbHVkZSAiZGVsdGEuaCIKLSNpbmNsdWRlICJsaXN0LmgiCiAjaW5jbHVkZSAic3RyZWFtaW5nLmgiCiAjaW5jbHVkZSAic2hhMS1sb29rdXAuaCIKICNpbmNsdWRlICJjb21taXQuaCIKQEAgLTE2LDE0ICsxNSwxNiBAQAogI2luY2x1ZGUgInRyZWUuaCIKICNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKICNpbmNsdWRlICJtaWR4LmgiCisjaW5jbHVkZSAiY29tbWl0LWdyYXBoLmgiCisjaW5jbHVkZSAicHJvbWlzb3ItcmVtb3RlLmgiCiAKIGNoYXIgKm9kYl9wYWNrX25hbWUoc3RydWN0IHN0cmJ1ZiAqYnVmLAotCQkgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKKwkJICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmhhc2gsCiAJCSAgICBjb25zdCBjaGFyICpleHQpCiB7CiAJc3RyYnVmX3Jlc2V0KGJ1Zik7CiAJc3RyYnVmX2FkZGYoYnVmLCAiJXMvcGFjay9wYWNrLSVzLiVzIiwgZ2V0X29iamVjdF9kaXJlY3RvcnkoKSwKLQkJICAgIHNoYTFfdG9faGV4KHNoYTEpLCBleHQpOworCQkgICAgaGFzaF90b19oZXgoaGFzaCksIGV4dCk7CiAJcmV0dXJuIGJ1Zi0+YnVmOwogfQogCkBAIC0yMzUsNyArMjM2LDcgQEAKIAlzdHJ1Y3QgcGFja2VkX2dpdCAqcCA9IGFsbG9jX3BhY2tlZF9naXQoYWxsb2MpOwogCiAJbWVtY3B5KHAtPnBhY2tfbmFtZSwgcGF0aCwgYWxsb2MpOyAvKiBpbmNsdWRlcyBOVUwgKi8KLQloYXNoY3B5KHAtPnNoYTEsIHNoYTEpOworCWhhc2hjcHkocC0+aGFzaCwgc2hhMSk7CiAJaWYgKGNoZWNrX3BhY2tlZF9naXRfaWR4KGlkeF9wYXRoLCBwKSkgewogCQlmcmVlKHApOwogCQlyZXR1cm4gTlVMTDsKQEAgLTI4NiwxMyArMjg3LDYgQEAKIAlyZXR1cm4gMDsKIH0KIAotdm9pZCByZWxlYXNlX3BhY2tfbWVtb3J5KHNpemVfdCBuZWVkKQotewotCXNpemVfdCBjdXIgPSBwYWNrX21hcHBlZDsKLQl3aGlsZSAobmVlZCA+PSAoY3VyIC0gcGFja19tYXBwZWQpICYmIHVudXNlX29uZV93aW5kb3coTlVMTCkpCi0JCTsgLyogbm90aGluZyAqLwotfQotCiB2b2lkIGNsb3NlX3BhY2tfd2luZG93cyhzdHJ1Y3QgcGFja2VkX2dpdCAqcCkKIHsKIAl3aGlsZSAocC0+d2luZG93cykgewpAQCAtMzA5LDcgKzMwMyw3IEBACiAJfQogfQogCi1zdGF0aWMgaW50IGNsb3NlX3BhY2tfZmQoc3RydWN0IHBhY2tlZF9naXQgKnApCitpbnQgY2xvc2VfcGFja19mZChzdHJ1Y3QgcGFja2VkX2dpdCAqcCkKIHsKIAlpZiAocC0+cGFja19mZCA8IDApCiAJCXJldHVybiAwOwpAQCAtMzM2LDcgKzMzMCw3IEBACiAJY2xvc2VfcGFja19pbmRleChwKTsKIH0KIAotdm9pZCBjbG9zZV9hbGxfcGFja3Moc3RydWN0IHJhd19vYmplY3Rfc3RvcmUgKm8pCit2b2lkIGNsb3NlX29iamVjdF9zdG9yZShzdHJ1Y3QgcmF3X29iamVjdF9zdG9yZSAqbykKIHsKIAlzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKIApAQCAtMzUwLDYgKzM0NCwzNiBAQAogCQljbG9zZV9taWR4KG8tPm11bHRpX3BhY2tfaW5kZXgpOwogCQlvLT5tdWx0aV9wYWNrX2luZGV4ID0gTlVMTDsKIAl9CisKKwljbG9zZV9jb21taXRfZ3JhcGgobyk7Cit9CisKK3ZvaWQgdW5saW5rX3BhY2tfcGF0aChjb25zdCBjaGFyICpwYWNrX25hbWUsIGludCBmb3JjZV9kZWxldGUpCit7CisJc3RhdGljIGNvbnN0IGNoYXIgKmV4dHNbXSA9IHsiLnBhY2siLCAiLmlkeCIsICIua2VlcCIsICIuYml0bWFwIiwgIi5wcm9taXNvciJ9OworCWludCBpOworCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisJc2l6ZV90IHBsZW47CisKKwlzdHJidWZfYWRkc3RyKCZidWYsIHBhY2tfbmFtZSk7CisJc3RyaXBfc3VmZml4X21lbShidWYuYnVmLCAmYnVmLmxlbiwgIi5wYWNrIik7CisJcGxlbiA9IGJ1Zi5sZW47CisKKwlpZiAoIWZvcmNlX2RlbGV0ZSkgeworCQlzdHJidWZfYWRkc3RyKCZidWYsICIua2VlcCIpOworCQlpZiAoIWFjY2VzcyhidWYuYnVmLCBGX09LKSkgeworCQkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CisJCQlyZXR1cm47CisJCX0KKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShleHRzKTsgaSsrKSB7CisJCXN0cmJ1Zl9zZXRsZW4oJmJ1ZiwgcGxlbik7CisJCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgZXh0c1tpXSk7CisJCXVubGluayhidWYuYnVmKTsKKwl9CisKKwlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIH0KIAogLyoKQEAgLTQ2Niw2ICs0OTAsMTYgQEAKICNlbmRpZgogfQogCitjb25zdCBjaGFyICpwYWNrX2Jhc2VuYW1lKHN0cnVjdCBwYWNrZWRfZ2l0ICpwKQoreworCWNvbnN0IGNoYXIgKnJldCA9IHN0cnJjaHIocC0+cGFja19uYW1lLCAnLycpOworCWlmIChyZXQpCisJCXJldCA9IHJldCArIDE7IC8qIHNraXAgcGFzdCBzbGFzaCAqLworCWVsc2UKKwkJcmV0ID0gcC0+cGFja19uYW1lOyAvKiB3ZSBvbmx5IGhhdmUgYSBiYXNlICovCisJcmV0dXJuIHJldDsKK30KKwogLyoKICAqIERvIG5vdCBjYWxsIHRoaXMgZGlyZWN0bHkgYXMgdGhpcyBsZWFrcyBwLT5wYWNrX2ZkIG9uIGVycm9yIHJldHVybjsKICAqIGNhbGwgb3Blbl9wYWNrZWRfZ2l0KCkgaW5zdGVhZC4KQEAgLTQ3NiwxMyArNTEwLDEyIEBACiAJc3RydWN0IHBhY2tfaGVhZGVyIGhkcjsKIAl1bnNpZ25lZCBjaGFyIGhhc2hbR0lUX01BWF9SQVdTWl07CiAJdW5zaWduZWQgY2hhciAqaWR4X2hhc2g7Ci0JbG9uZyBmZF9mbGFnOwogCXNzaXplX3QgcmVhZF9yZXN1bHQ7CiAJY29uc3QgdW5zaWduZWQgaGFzaHN6ID0gdGhlX2hhc2hfYWxnby0+cmF3c3o7CiAKIAlpZiAoIXAtPmluZGV4X2RhdGEpIHsKIAkJc3RydWN0IG11bHRpX3BhY2tfaW5kZXggKm07Ci0JCWNvbnN0IGNoYXIgKnBhY2tfbmFtZSA9IHN0cnJjaHIocC0+cGFja19uYW1lLCAnLycpOworCQljb25zdCBjaGFyICpwYWNrX25hbWUgPSBwYWNrX2Jhc2VuYW1lKHApOwogCiAJCWZvciAobSA9IHRoZV9yZXBvc2l0b3J5LT5vYmplY3RzLT5tdWx0aV9wYWNrX2luZGV4OwogCQkgICAgIG07IG0gPSBtLT5uZXh0KSB7CkBAIC01MjAsMTYgKzU1Myw2IEBACiAJfSBlbHNlIGlmIChwLT5wYWNrX3NpemUgIT0gc3Quc3Rfc2l6ZSkKIAkJcmV0dXJuIGVycm9yKCJwYWNrZmlsZSAlcyBzaXplIGNoYW5nZWQiLCBwLT5wYWNrX25hbWUpOwogCi0JLyogV2UgbGVhdmUgdGhlc2UgZmlsZSBkZXNjcmlwdG9ycyBvcGVuIHdpdGggc2xpZGluZyBtbWFwOwotCSAqIHRoZXJlIGlzIG5vIHBvaW50IGtlZXBpbmcgdGhlbSBvcGVuIGFjcm9zcyBleGVjKCksIHRob3VnaC4KLQkgKi8KLQlmZF9mbGFnID0gZmNudGwocC0+cGFja19mZCwgRl9HRVRGRCwgMCk7Ci0JaWYgKGZkX2ZsYWcgPCAwKQotCQlyZXR1cm4gZXJyb3IoImNhbm5vdCBkZXRlcm1pbmUgZmlsZSBkZXNjcmlwdG9yIGZsYWdzIik7Ci0JZmRfZmxhZyB8PSBGRF9DTE9FWEVDOwotCWlmIChmY250bChwLT5wYWNrX2ZkLCBGX1NFVEZELCBmZF9mbGFnKSA9PSAtMSkKLQkJcmV0dXJuIGVycm9yKCJjYW5ub3Qgc2V0IEZEX0NMT0VYRUMiKTsKLQogCS8qIFZlcmlmeSB3ZSByZWNvZ25pemUgdGhpcyBwYWNrIGZpbGUgZm9ybWF0LiAqLwogCXJlYWRfcmVzdWx0ID0gcmVhZF9pbl9mdWxsKHAtPnBhY2tfZmQsICZoZHIsIHNpemVvZihoZHIpKTsKIAlpZiAocmVhZF9yZXN1bHQgPCAwKQpAQCAtNTUzLDkgKzU3Niw4IEBACiAJCQkgICAgICIgd2hpbGUgaW5kZXggaW5kaWNhdGVzICUiUFJJdTMyIiBvYmplY3RzIiwKIAkJCSAgICAgcC0+cGFja19uYW1lLCBudG9obChoZHIuaGRyX2VudHJpZXMpLAogCQkJICAgICBwLT5udW1fb2JqZWN0cyk7Ci0JaWYgKGxzZWVrKHAtPnBhY2tfZmQsIHAtPnBhY2tfc2l6ZSAtIGhhc2hzeiwgU0VFS19TRVQpID09IC0xKQotCQlyZXR1cm4gZXJyb3IoImVuZCBvZiBwYWNrZmlsZSAlcyBpcyB1bmF2YWlsYWJsZSIsIHAtPnBhY2tfbmFtZSk7Ci0JcmVhZF9yZXN1bHQgPSByZWFkX2luX2Z1bGwocC0+cGFja19mZCwgaGFzaCwgaGFzaHN6KTsKKwlyZWFkX3Jlc3VsdCA9IHByZWFkX2luX2Z1bGwocC0+cGFja19mZCwgaGFzaCwgaGFzaHN6LAorCQkJCQlwLT5wYWNrX3NpemUgLSBoYXNoc3opOwogCWlmIChyZWFkX3Jlc3VsdCA8IDApCiAJCXJldHVybiBlcnJvcl9lcnJubygiZXJyb3IgcmVhZGluZyBmcm9tICVzIiwgcC0+cGFja19uYW1lKTsKIAlpZiAocmVhZF9yZXN1bHQgIT0gaGFzaHN6KQpAQCAtNjMwLDcgKzY1Miw3IEBACiAJCQl3aGlsZSAocGFja2VkX2dpdF9saW1pdCA8IHBhY2tfbWFwcGVkCiAJCQkJJiYgdW51c2Vfb25lX3dpbmRvdyhwKSkKIAkJCQk7IC8qIG5vdGhpbmcgKi8KLQkJCXdpbi0+YmFzZSA9IHhtbWFwKE5VTEwsIHdpbi0+bGVuLAorCQkJd2luLT5iYXNlID0geG1tYXBfZ2VudGx5KE5VTEwsIHdpbi0+bGVuLAogCQkJCVBST1RfUkVBRCwgTUFQX1BSSVZBVEUsCiAJCQkJcC0+cGFja19mZCwgd2luLT5vZmZzZXQpOwogCQkJaWYgKHdpbi0+YmFzZSA9PSBNQVBfRkFJTEVEKQpAQCAtNjY5LDIzICs2OTEsMTIgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIHRyeV90b19mcmVlX3BhY2tfbWVtb3J5KHNpemVfdCBzaXplKQotewotCXJlbGVhc2VfcGFja19tZW1vcnkoc2l6ZSk7Ci19Ci0KIHN0cnVjdCBwYWNrZWRfZ2l0ICphZGRfcGFja2VkX2dpdChjb25zdCBjaGFyICpwYXRoLCBzaXplX3QgcGF0aF9sZW4sIGludCBsb2NhbCkKIHsKLQlzdGF0aWMgaW50IGhhdmVfc2V0X3RyeV90b19mcmVlX3JvdXRpbmU7CiAJc3RydWN0IHN0YXQgc3Q7CiAJc2l6ZV90IGFsbG9jOwogCXN0cnVjdCBwYWNrZWRfZ2l0ICpwOwogCi0JaWYgKCFoYXZlX3NldF90cnlfdG9fZnJlZV9yb3V0aW5lKSB7Ci0JCWhhdmVfc2V0X3RyeV90b19mcmVlX3JvdXRpbmUgPSAxOwotCQlzZXRfdHJ5X3RvX2ZyZWVfcm91dGluZSh0cnlfdG9fZnJlZV9wYWNrX21lbW9yeSk7Ci0JfQotCiAJLyoKIAkgKiBNYWtlIHN1cmUgYSBjb3JyZXNwb25kaW5nIC5wYWNrIGZpbGUgZXhpc3RzIGFuZCB0aGF0CiAJICogdGhlIGluZGV4IGxvb2tzIHNhbmUuCkBAIC03MjIsOCArNzMzLDggQEAKIAlwLT5wYWNrX2xvY2FsID0gbG9jYWw7CiAJcC0+bXRpbWUgPSBzdC5zdF9tdGltZTsKIAlpZiAocGF0aF9sZW4gPCB0aGVfaGFzaF9hbGdvLT5oZXhzeiB8fAotCSAgICBnZXRfc2hhMV9oZXgocGF0aCArIHBhdGhfbGVuIC0gdGhlX2hhc2hfYWxnby0+aGV4c3osIHAtPnNoYTEpKQotCQloYXNoY2xyKHAtPnNoYTEpOworCSAgICBnZXRfc2hhMV9oZXgocGF0aCArIHBhdGhfbGVuIC0gdGhlX2hhc2hfYWxnby0+aGV4c3osIHAtPmhhc2gpKQorCQloYXNoY2xyKHAtPmhhc2gpOwogCXJldHVybiBwOwogfQogCkBAIC03MzQsNiArNzQ1LDkgQEAKIAogCXBhY2stPm5leHQgPSByLT5vYmplY3RzLT5wYWNrZWRfZ2l0OwogCXItPm9iamVjdHMtPnBhY2tlZF9naXQgPSBwYWNrOworCisJaGFzaG1hcF9lbnRyeV9pbml0KCZwYWNrLT5wYWNrbWFwX2VudCwgc3RyaGFzaChwYWNrLT5wYWNrX25hbWUpKTsKKwloYXNobWFwX2FkZCgmci0+b2JqZWN0cy0+cGFja19tYXAsICZwYWNrLT5wYWNrbWFwX2VudCk7CiB9CiAKIHZvaWQgKCpyZXBvcnRfZ2FyYmFnZSkodW5zaWduZWQgc2Vlbl9iaXRzLCBjb25zdCBjaGFyICpwYXRoKTsKQEAgLTgzMywyMCArODQ3LDE4IEBACiAKIAlpZiAoc3RyaXBfc3VmZml4X21lbShmdWxsX25hbWUsICZiYXNlX2xlbiwgIi5pZHgiKSAmJgogCSAgICAhKGRhdGEtPm0gJiYgbWlkeF9jb250YWluc19wYWNrKGRhdGEtPm0sIGZpbGVfbmFtZSkpKSB7Ci0JCS8qIERvbid0IHJlb3BlbiBhIHBhY2sgd2UgYWxyZWFkeSBoYXZlLiAqLwotCQlmb3IgKHAgPSBkYXRhLT5yLT5vYmplY3RzLT5wYWNrZWRfZ2l0OyBwOyBwID0gcC0+bmV4dCkgewotCQkJc2l6ZV90IGxlbjsKLQkJCWlmIChzdHJpcF9zdWZmaXgocC0+cGFja19uYW1lLCAiLnBhY2siLCAmbGVuKSAmJgotCQkJICAgIGxlbiA9PSBiYXNlX2xlbiAmJgotCQkJICAgICFtZW1jbXAocC0+cGFja19uYW1lLCBmdWxsX25hbWUsIGxlbikpCi0JCQkJYnJlYWs7Ci0JCX0KKwkJc3RydWN0IGhhc2htYXBfZW50cnkgaGVudDsKKwkJY2hhciAqcGFja19uYW1lID0geHN0cmZtdCgiJS4qcy5wYWNrIiwgKGludCliYXNlX2xlbiwgZnVsbF9uYW1lKTsKKwkJdW5zaWduZWQgaW50IGhhc2ggPSBzdHJoYXNoKHBhY2tfbmFtZSk7CisJCWhhc2htYXBfZW50cnlfaW5pdCgmaGVudCwgaGFzaCk7CiAKLQkJaWYgKCFwKSB7CisJCS8qIERvbid0IHJlb3BlbiBhIHBhY2sgd2UgYWxyZWFkeSBoYXZlLiAqLworCQlpZiAoIWhhc2htYXBfZ2V0KCZkYXRhLT5yLT5vYmplY3RzLT5wYWNrX21hcCwgJmhlbnQsIHBhY2tfbmFtZSkpIHsKIAkJCXAgPSBhZGRfcGFja2VkX2dpdChmdWxsX25hbWUsIGZ1bGxfbmFtZV9sZW4sIGRhdGEtPmxvY2FsKTsKIAkJCWlmIChwKQogCQkJCWluc3RhbGxfcGFja2VkX2dpdChkYXRhLT5yLCBwKTsKIAkJfQorCQlmcmVlKHBhY2tfbmFtZSk7CiAJfQogCiAJaWYgKCFyZXBvcnRfZ2FyYmFnZSkKQEAgLTg5MywyNSArOTA1LDI1IEBACiAgKiBhbGwgdW5yZWFjaGFibGUgb2JqZWN0cyBhYm91dCB0byBiZSBwcnVuZWQsIGluIHdoaWNoIGNhc2UgdGhleSdyZSBub3QgcmVhbGx5CiAgKiBpbnRlcmVzdGluZyBhcyBhIG1lYXN1cmUgb2YgcmVwbyBzaXplIGluIHRoZSBmaXJzdCBwbGFjZS4KICAqLwotdW5zaWduZWQgbG9uZyBhcHByb3hpbWF0ZV9vYmplY3RfY291bnQodm9pZCkKK3Vuc2lnbmVkIGxvbmcgcmVwb19hcHByb3hpbWF0ZV9vYmplY3RfY291bnQoc3RydWN0IHJlcG9zaXRvcnkgKnIpCiB7Ci0JaWYgKCF0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cy0+YXBwcm94aW1hdGVfb2JqZWN0X2NvdW50X3ZhbGlkKSB7CisJaWYgKCFyLT5vYmplY3RzLT5hcHByb3hpbWF0ZV9vYmplY3RfY291bnRfdmFsaWQpIHsKIAkJdW5zaWduZWQgbG9uZyBjb3VudDsKIAkJc3RydWN0IG11bHRpX3BhY2tfaW5kZXggKm07CiAJCXN0cnVjdCBwYWNrZWRfZ2l0ICpwOwogCi0JCXByZXBhcmVfcGFja2VkX2dpdCh0aGVfcmVwb3NpdG9yeSk7CisJCXByZXBhcmVfcGFja2VkX2dpdChyKTsKIAkJY291bnQgPSAwOwotCQlmb3IgKG0gPSBnZXRfbXVsdGlfcGFja19pbmRleCh0aGVfcmVwb3NpdG9yeSk7IG07IG0gPSBtLT5uZXh0KQorCQlmb3IgKG0gPSBnZXRfbXVsdGlfcGFja19pbmRleChyKTsgbTsgbSA9IG0tPm5leHQpCiAJCQljb3VudCArPSBtLT5udW1fb2JqZWN0czsKLQkJZm9yIChwID0gdGhlX3JlcG9zaXRvcnktPm9iamVjdHMtPnBhY2tlZF9naXQ7IHA7IHAgPSBwLT5uZXh0KSB7CisJCWZvciAocCA9IHItPm9iamVjdHMtPnBhY2tlZF9naXQ7IHA7IHAgPSBwLT5uZXh0KSB7CiAJCQlpZiAob3Blbl9wYWNrX2luZGV4KHApKQogCQkJCWNvbnRpbnVlOwogCQkJY291bnQgKz0gcC0+bnVtX29iamVjdHM7CiAJCX0KLQkJdGhlX3JlcG9zaXRvcnktPm9iamVjdHMtPmFwcHJveGltYXRlX29iamVjdF9jb3VudCA9IGNvdW50OworCQlyLT5vYmplY3RzLT5hcHByb3hpbWF0ZV9vYmplY3RfY291bnQgPSBjb3VudDsKIAl9Ci0JcmV0dXJuIHRoZV9yZXBvc2l0b3J5LT5vYmplY3RzLT5hcHByb3hpbWF0ZV9vYmplY3RfY291bnQ7CisJcmV0dXJuIHItPm9iamVjdHMtPmFwcHJveGltYXRlX29iamVjdF9jb3VudDsKIH0KIAogc3RhdGljIHZvaWQgKmdldF9uZXh0X3BhY2tlZF9naXQoY29uc3Qgdm9pZCAqcCkKQEAgLTk3MSwzMCArOTgzLDM1IEBACiAKIHN0YXRpYyB2b2lkIHByZXBhcmVfcGFja2VkX2dpdChzdHJ1Y3QgcmVwb3NpdG9yeSAqcikKIHsKLQlzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqYWx0OworCXN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICpvZGI7CiAKIAlpZiAoci0+b2JqZWN0cy0+cGFja2VkX2dpdF9pbml0aWFsaXplZCkKIAkJcmV0dXJuOwotCXByZXBhcmVfbXVsdGlfcGFja19pbmRleF9vbmUociwgci0+b2JqZWN0cy0+b2JqZWN0ZGlyLCAxKTsKLQlwcmVwYXJlX3BhY2tlZF9naXRfb25lKHIsIHItPm9iamVjdHMtPm9iamVjdGRpciwgMSk7CisKIAlwcmVwYXJlX2FsdF9vZGIocik7Ci0JZm9yIChhbHQgPSByLT5vYmplY3RzLT5hbHRfb2RiX2xpc3Q7IGFsdDsgYWx0ID0gYWx0LT5uZXh0KSB7Ci0JCXByZXBhcmVfbXVsdGlfcGFja19pbmRleF9vbmUociwgYWx0LT5wYXRoLCAwKTsKLQkJcHJlcGFyZV9wYWNrZWRfZ2l0X29uZShyLCBhbHQtPnBhdGgsIDApOworCWZvciAob2RiID0gci0+b2JqZWN0cy0+b2RiOyBvZGI7IG9kYiA9IG9kYi0+bmV4dCkgeworCQlpbnQgbG9jYWwgPSAob2RiID09IHItPm9iamVjdHMtPm9kYik7CisJCXByZXBhcmVfbXVsdGlfcGFja19pbmRleF9vbmUociwgb2RiLT5wYXRoLCBsb2NhbCk7CisJCXByZXBhcmVfcGFja2VkX2dpdF9vbmUociwgb2RiLT5wYXRoLCBsb2NhbCk7CiAJfQogCXJlYXJyYW5nZV9wYWNrZWRfZ2l0KHIpOwogCi0Jci0+b2JqZWN0cy0+YWxsX3BhY2tzID0gTlVMTDsKLQogCXByZXBhcmVfcGFja2VkX2dpdF9tcnUocik7CiAJci0+b2JqZWN0cy0+cGFja2VkX2dpdF9pbml0aWFsaXplZCA9IDE7CiB9CiAKIHZvaWQgcmVwcmVwYXJlX3BhY2tlZF9naXQoc3RydWN0IHJlcG9zaXRvcnkgKnIpCiB7CisJc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKm9kYjsKKworCW9ial9yZWFkX2xvY2soKTsKKwlmb3IgKG9kYiA9IHItPm9iamVjdHMtPm9kYjsgb2RiOyBvZGIgPSBvZGItPm5leHQpCisJCW9kYl9jbGVhcl9sb29zZV9jYWNoZShvZGIpOworCiAJci0+b2JqZWN0cy0+YXBwcm94aW1hdGVfb2JqZWN0X2NvdW50X3ZhbGlkID0gMDsKIAlyLT5vYmplY3RzLT5wYWNrZWRfZ2l0X2luaXRpYWxpemVkID0gMDsKIAlwcmVwYXJlX3BhY2tlZF9naXQocik7CisJb2JqX3JlYWRfdW5sb2NrKCk7CiB9CiAKIHN0cnVjdCBwYWNrZWRfZ2l0ICpnZXRfcGFja2VkX2dpdChzdHJ1Y3QgcmVwb3NpdG9yeSAqcikKQEAgLTEwMTEsMjYgKzEwMjgsMTYgQEAKIAogc3RydWN0IHBhY2tlZF9naXQgKmdldF9hbGxfcGFja3Moc3RydWN0IHJlcG9zaXRvcnkgKnIpCiB7CisJc3RydWN0IG11bHRpX3BhY2tfaW5kZXggKm07CisKIAlwcmVwYXJlX3BhY2tlZF9naXQocik7Ci0KLQlpZiAoIXItPm9iamVjdHMtPmFsbF9wYWNrcykgewotCQlzdHJ1Y3QgcGFja2VkX2dpdCAqcCA9IHItPm9iamVjdHMtPnBhY2tlZF9naXQ7Ci0JCXN0cnVjdCBtdWx0aV9wYWNrX2luZGV4ICptOwotCi0JCWZvciAobSA9IHItPm9iamVjdHMtPm11bHRpX3BhY2tfaW5kZXg7IG07IG0gPSBtLT5uZXh0KSB7Ci0JCQl1aW50MzJfdCBpOwotCQkJZm9yIChpID0gMDsgaSA8IG0tPm51bV9wYWNrczsgaSsrKSB7Ci0JCQkJaWYgKCFwcmVwYXJlX21pZHhfcGFjayhtLCBpKSkgewotCQkJCQltLT5wYWNrc1tpXS0+bmV4dCA9IHA7Ci0JCQkJCXAgPSBtLT5wYWNrc1tpXTsKLQkJCQl9Ci0JCQl9Ci0JCX0KLQotCQlyLT5vYmplY3RzLT5hbGxfcGFja3MgPSBwOworCWZvciAobSA9IHItPm9iamVjdHMtPm11bHRpX3BhY2tfaW5kZXg7IG07IG0gPSBtLT5uZXh0KSB7CisJCXVpbnQzMl90IGk7CisJCWZvciAoaSA9IDA7IGkgPCBtLT5udW1fcGFja3M7IGkrKykKKwkJCXByZXBhcmVfbWlkeF9wYWNrKHIsIG0sIGkpOwogCX0KIAotCXJldHVybiByLT5vYmplY3RzLT5hbGxfcGFja3M7CisJcmV0dXJuIHItPm9iamVjdHMtPnBhY2tlZF9naXQ7CiB9CiAKIHN0cnVjdCBsaXN0X2hlYWQgKmdldF9wYWNrZWRfZ2l0X21ydShzdHJ1Y3QgcmVwb3NpdG9yeSAqcikKQEAgLTEwODEsNyArMTA4OCwyMyBAQAogCWRvIHsKIAkJaW4gPSB1c2VfcGFjayhwLCB3X2N1cnMsIGN1cnBvcywgJnN0cmVhbS5hdmFpbF9pbik7CiAJCXN0cmVhbS5uZXh0X2luID0gaW47CisJCS8qCisJCSAqIE5vdGU6IHRoZSB3aW5kb3cgc2VjdGlvbiByZXR1cm5lZCBieSB1c2VfcGFjaygpIG11c3QgYmUKKwkJICogYXZhaWxhYmxlIHRocm91Z2hvdXQgZ2l0X2luZmxhdGUoKSdzIHVubG9ja2VkIGV4ZWN1dGlvbi4gVG8KKwkJICogZW5zdXJlIG5vIG90aGVyIHRocmVhZCB3aWxsIG1vZGlmeSB0aGUgd2luZG93IGluIHRoZQorCQkgKiBtZWFudGltZSwgd2UgcmVseSBvbiB0aGUgcGFja2VkX3dpbmRvdy5pbnVzZV9jbnQuIFRoaXMKKwkJICogY291bnRlciBpcyBpbmNyZW1lbnRlZCBiZWZvcmUgd2luZG93IHJlYWRpbmcgYW5kIGNoZWNrZWQKKwkJICogYmVmb3JlIHdpbmRvdyBkaXNwb3NhbC4KKwkJICoKKwkJICogT3RoZXIgd29ycnlpbmcgc2VjdGlvbnMgY291bGQgYmUgdGhlIGNhbGwgdG8gY2xvc2VfcGFja19mZCgpLAorCQkgKiB3aGljaCBjYW4gY2xvc2UgcGFja3MgZXZlbiB3aXRoIGluLXVzZSB3aW5kb3dzLCBhbmQgdG8KKwkJICogcmVwcmVwYXJlX3BhY2tlZF9naXQoKS4gUmVnYXJkaW5nIHRoZSBmb3JtZXIsIG1tYXAgZG9jIHNheXM6CisJCSAqICJjbG9zaW5nIHRoZSBmaWxlIGRlc2NyaXB0b3IgZG9lcyBub3QgdW5tYXAgdGhlIHJlZ2lvbiIuIEFuZAorCQkgKiBmb3IgdGhlIGxhdHRlciwgaXQgd29uJ3QgcmUtb3BlbiBhbHJlYWR5IGF2YWlsYWJsZSBwYWNrcy4KKwkJICovCisJCW9ial9yZWFkX3VubG9jaygpOwogCQlzdCA9IGdpdF9pbmZsYXRlKCZzdHJlYW0sIFpfRklOSVNIKTsKKwkJb2JqX3JlYWRfbG9jaygpOwogCQljdXJwb3MgKz0gc3RyZWFtLm5leHRfaW4gLSBpbjsKIAl9IHdoaWxlICgoc3QgPT0gWl9PSyB8fCBzdCA9PSBaX0JVRl9FUlJPUikgJiYKIAkJIHN0cmVhbS50b3RhbF9vdXQgPCBzaXplb2YoZGVsdGFfaGVhZCkpOwpAQCAtMTE0MywxMiArMTE2NiwxMyBAQAogCXAtPm51bV9iYWRfb2JqZWN0cysrOwogfQogCi1jb25zdCBzdHJ1Y3QgcGFja2VkX2dpdCAqaGFzX3BhY2tlZF9hbmRfYmFkKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCitjb25zdCBzdHJ1Y3QgcGFja2VkX2dpdCAqaGFzX3BhY2tlZF9hbmRfYmFkKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCQkgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKIHsKIAlzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKIAl1bnNpZ25lZCBpOwogCi0JZm9yIChwID0gdGhlX3JlcG9zaXRvcnktPm9iamVjdHMtPnBhY2tlZF9naXQ7IHA7IHAgPSBwLT5uZXh0KQorCWZvciAocCA9IHItPm9iamVjdHMtPnBhY2tlZF9naXQ7IHA7IHAgPSBwLT5uZXh0KQogCQlmb3IgKGkgPSAwOyBpIDwgcC0+bnVtX2JhZF9vYmplY3RzOyBpKyspCiAJCQlpZiAoaGFzaGVxKHNoYTEsCiAJCQkJICAgcC0+YmFkX29iamVjdF9zaGExICsgdGhlX2hhc2hfYWxnby0+cmF3c3ogKiBpKSkKQEAgLTExNTYsMTEgKzExODAsMTEgQEAKIAlyZXR1cm4gTlVMTDsKIH0KIAotc3RhdGljIG9mZl90IGdldF9kZWx0YV9iYXNlKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLAotCQkJCSAgICBzdHJ1Y3QgcGFja193aW5kb3cgKip3X2N1cnMsCi0JCQkJICAgIG9mZl90ICpjdXJwb3MsCi0JCQkJICAgIGVudW0gb2JqZWN0X3R5cGUgdHlwZSwKLQkJCQkgICAgb2ZmX3QgZGVsdGFfb2JqX29mZnNldCkKK29mZl90IGdldF9kZWx0YV9iYXNlKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLAorCQkgICAgIHN0cnVjdCBwYWNrX3dpbmRvdyAqKndfY3VycywKKwkJICAgICBvZmZfdCAqY3VycG9zLAorCQkgICAgIGVudW0gb2JqZWN0X3R5cGUgdHlwZSwKKwkJICAgICBvZmZfdCBkZWx0YV9vYmpfb2Zmc2V0KQogewogCXVuc2lnbmVkIGNoYXIgKmJhc2VfaW5mbyA9IHVzZV9wYWNrKHAsIHdfY3VycywgKmN1cnBvcywgTlVMTCk7CiAJb2ZmX3QgYmFzZV9vZmZzZXQ7CkBAIC0xMjAxLDMwICsxMjI1LDMyIEBACiAgKiB0aGUgZmluYWwgb2JqZWN0IGxvb2t1cCksIGJ1dCBtb3JlIGV4cGVuc2l2ZSBmb3IgT0ZTIGRlbHRhcyAod2UKICAqIGhhdmUgdG8gbG9hZCB0aGUgcmV2aWR4IHRvIGNvbnZlcnQgdGhlIG9mZnNldCBiYWNrIGludG8gYSBzaGExKS4KICAqLwotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmdldF9kZWx0YV9iYXNlX3NoYTEoc3RydWN0IHBhY2tlZF9naXQgKnAsCi0JCQkJCQlzdHJ1Y3QgcGFja193aW5kb3cgKip3X2N1cnMsCi0JCQkJCQlvZmZfdCBjdXJwb3MsCi0JCQkJCQllbnVtIG9iamVjdF90eXBlIHR5cGUsCi0JCQkJCQlvZmZfdCBkZWx0YV9vYmpfb2Zmc2V0KQorc3RhdGljIGludCBnZXRfZGVsdGFfYmFzZV9vaWQoc3RydWN0IHBhY2tlZF9naXQgKnAsCisJCQkgICAgICBzdHJ1Y3QgcGFja193aW5kb3cgKip3X2N1cnMsCisJCQkgICAgICBvZmZfdCBjdXJwb3MsCisJCQkgICAgICBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkgICAgICBlbnVtIG9iamVjdF90eXBlIHR5cGUsCisJCQkgICAgICBvZmZfdCBkZWx0YV9vYmpfb2Zmc2V0KQogewogCWlmICh0eXBlID09IE9CSl9SRUZfREVMVEEpIHsKIAkJdW5zaWduZWQgY2hhciAqYmFzZSA9IHVzZV9wYWNrKHAsIHdfY3VycywgY3VycG9zLCBOVUxMKTsKLQkJcmV0dXJuIGJhc2U7CisJCW9pZHJlYWQob2lkLCBiYXNlKTsKKwkJcmV0dXJuIDA7CiAJfSBlbHNlIGlmICh0eXBlID09IE9CSl9PRlNfREVMVEEpIHsKIAkJc3RydWN0IHJldmluZGV4X2VudHJ5ICpyZXZpZHg7CiAJCW9mZl90IGJhc2Vfb2Zmc2V0ID0gZ2V0X2RlbHRhX2Jhc2UocCwgd19jdXJzLCAmY3VycG9zLAogCQkJCQkJICAgdHlwZSwgZGVsdGFfb2JqX29mZnNldCk7CiAKIAkJaWYgKCFiYXNlX29mZnNldCkKLQkJCXJldHVybiBOVUxMOworCQkJcmV0dXJuIC0xOwogCiAJCXJldmlkeCA9IGZpbmRfcGFja19yZXZpbmRleChwLCBiYXNlX29mZnNldCk7CiAJCWlmICghcmV2aWR4KQotCQkJcmV0dXJuIE5VTEw7CisJCQlyZXR1cm4gLTE7CiAKLQkJcmV0dXJuIG50aF9wYWNrZWRfb2JqZWN0X3NoYTEocCwgcmV2aWR4LT5ucik7CisJCXJldHVybiBudGhfcGFja2VkX29iamVjdF9pZChvaWQsIHAsIHJldmlkeC0+bnIpOwogCX0gZWxzZQotCQlyZXR1cm4gTlVMTDsKKwkJcmV0dXJuIC0xOwogfQogCiBzdGF0aWMgaW50IHJldHJ5X2JhZF9wYWNrZWRfb2Zmc2V0KHN0cnVjdCByZXBvc2l0b3J5ICpyLApAQCAtMTIzNyw3ICsxMjYzLDcgQEAKIAlyZXZpZHggPSBmaW5kX3BhY2tfcmV2aW5kZXgocCwgb2JqX29mZnNldCk7CiAJaWYgKCFyZXZpZHgpCiAJCXJldHVybiBPQkpfQkFEOwotCW50aF9wYWNrZWRfb2JqZWN0X29pZCgmb2lkLCBwLCByZXZpZHgtPm5yKTsKKwludGhfcGFja2VkX29iamVjdF9pZCgmb2lkLCBwLCByZXZpZHgtPm5yKTsKIAltYXJrX2JhZF9wYWNrZWRfb2JqZWN0KHAsIG9pZC5oYXNoKTsKIAl0eXBlID0gb2lkX29iamVjdF9pbmZvKHIsICZvaWQsIE5VTEwpOwogCWlmICh0eXBlIDw9IE9CSl9OT05FKQpAQCAtMTI2NSw3ICsxMjkxLDcgQEAKIAkJaWYgKHBvaV9zdGFja19uciA+PSBwb2lfc3RhY2tfYWxsb2MgJiYgcG9pX3N0YWNrID09IHNtYWxsX3BvaV9zdGFjaykgewogCQkJcG9pX3N0YWNrX2FsbG9jID0gYWxsb2NfbnIocG9pX3N0YWNrX25yKTsKIAkJCUFMTE9DX0FSUkFZKHBvaV9zdGFjaywgcG9pX3N0YWNrX2FsbG9jKTsKLQkJCW1lbWNweShwb2lfc3RhY2ssIHNtYWxsX3BvaV9zdGFjaywgc2l6ZW9mKG9mZl90KSpwb2lfc3RhY2tfbnIpOworCQkJQ09QWV9BUlJBWShwb2lfc3RhY2ssIHNtYWxsX3BvaV9zdGFjaywgcG9pX3N0YWNrX25yKTsKIAkJfSBlbHNlIHsKIAkJCUFMTE9DX0dST1cocG9pX3N0YWNrLCBwb2lfc3RhY2tfbnIrMSwgcG9pX3N0YWNrX2FsbG9jKTsKIAkJfQpAQCAtMTMyNiw3ICsxMzUyLDcgQEAKIH07CiAKIHN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5IHsKLQlzdHJ1Y3QgaGFzaG1hcCBoYXNoOworCXN0cnVjdCBoYXNobWFwX2VudHJ5IGVudDsKIAlzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9rZXkga2V5OwogCXN0cnVjdCBsaXN0X2hlYWQgbHJ1OwogCXZvaWQgKmRhdGE7CkBAIC0xMzQ2LDcgKzEzNzIsNyBAQAogc3RhdGljIHN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2VudHJ5ICoKIGdldF9kZWx0YV9iYXNlX2NhY2hlX2VudHJ5KHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCBvZmZfdCBiYXNlX29mZnNldCkKIHsKLQlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSBlbnRyeTsKKwlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSBlbnRyeSwgKmU7CiAJc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfa2V5IGtleTsKIAogCWlmICghZGVsdGFfYmFzZV9jYWNoZS5jbXBmbikKQEAgLTEzNTUsNyArMTM4MSw4IEBACiAJaGFzaG1hcF9lbnRyeV9pbml0KCZlbnRyeSwgcGFja19lbnRyeV9oYXNoKHAsIGJhc2Vfb2Zmc2V0KSk7CiAJa2V5LnAgPSBwOwogCWtleS5iYXNlX29mZnNldCA9IGJhc2Vfb2Zmc2V0OwotCXJldHVybiBoYXNobWFwX2dldCgmZGVsdGFfYmFzZV9jYWNoZSwgJmVudHJ5LCAma2V5KTsKKwllID0gaGFzaG1hcF9nZXQoJmRlbHRhX2Jhc2VfY2FjaGUsICZlbnRyeSwgJmtleSk7CisJcmV0dXJuIGUgPyBjb250YWluZXJfb2YoZSwgc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnksIGVudCkgOiBOVUxMOwogfQogCiBzdGF0aWMgaW50IGRlbHRhX2Jhc2VfY2FjaGVfa2V5X2VxKGNvbnN0IHN0cnVjdCBkZWx0YV9iYXNlX2NhY2hlX2tleSAqYSwKQEAgLTEzNjUsMTEgKzEzOTIsMTYgQEAKIH0KIAogc3RhdGljIGludCBkZWx0YV9iYXNlX2NhY2hlX2hhc2hfY21wKGNvbnN0IHZvaWQgKnVudXNlZF9jbXBfZGF0YSwKLQkJCQkgICAgIGNvbnN0IHZvaWQgKnZhLCBjb25zdCB2b2lkICp2YiwKKwkJCQkgICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICp2YSwKKwkJCQkgICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICp2YiwKIAkJCQkgICAgIGNvbnN0IHZvaWQgKnZrZXkpCiB7Ci0JY29uc3Qgc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnkgKmEgPSB2YSwgKmIgPSB2YjsKKwljb25zdCBzdHJ1Y3QgZGVsdGFfYmFzZV9jYWNoZV9lbnRyeSAqYSwgKmI7CiAJY29uc3Qgc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfa2V5ICprZXkgPSB2a2V5OworCisJYSA9IGNvbnRhaW5lcl9vZih2YSwgY29uc3Qgc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnksIGVudCk7CisJYiA9IGNvbnRhaW5lcl9vZih2YiwgY29uc3Qgc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnksIGVudCk7CisKIAlpZiAoa2V5KQogCQlyZXR1cm4gIWRlbHRhX2Jhc2VfY2FjaGVfa2V5X2VxKCZhLT5rZXksIGtleSk7CiAJZWxzZQpAQCAtMTM4OCw3ICsxNDIwLDcgQEAKICAqLwogc3RhdGljIHZvaWQgZGV0YWNoX2RlbHRhX2Jhc2VfY2FjaGVfZW50cnkoc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnkgKmVudCkKIHsKLQloYXNobWFwX3JlbW92ZSgmZGVsdGFfYmFzZV9jYWNoZSwgZW50LCAmZW50LT5rZXkpOworCWhhc2htYXBfcmVtb3ZlKCZkZWx0YV9iYXNlX2NhY2hlLCAmZW50LT5lbnQsICZlbnQtPmtleSk7CiAJbGlzdF9kZWwoJmVudC0+bHJ1KTsKIAlkZWx0YV9iYXNlX2NhY2hlZCAtPSBlbnQtPnNpemU7CiAJZnJlZShlbnQpOwpAQCAtMTQzMyw2ICsxNDY1LDE0IEBACiAJc3RydWN0IGRlbHRhX2Jhc2VfY2FjaGVfZW50cnkgKmVudCA9IHhtYWxsb2Moc2l6ZW9mKCplbnQpKTsKIAlzdHJ1Y3QgbGlzdF9oZWFkICpscnUsICp0bXA7CiAKKwkvKgorCSAqIENoZWNrIHJlcXVpcmVkIHRvIGF2b2lkIHJlZHVuZGFudCBlbnRyaWVzIHdoZW4gbW9yZSB0aGFuIG9uZSB0aHJlYWQKKwkgKiBpcyB1bnBhY2tpbmcgdGhlIHNhbWUgb2JqZWN0LCBpbiB1bnBhY2tfZW50cnkoKSAoc2luY2UgaXRzIHBoYXNlcyBJCisJICogYW5kIElJSSBtaWdodCBydW4gY29uY3VycmVudGx5IGFjcm9zcyBtdWx0aXBsZSB0aHJlYWRzKS4KKwkgKi8KKwlpZiAoaW5fZGVsdGFfYmFzZV9jYWNoZShwLCBiYXNlX29mZnNldCkpCisJCXJldHVybjsKKwogCWRlbHRhX2Jhc2VfY2FjaGVkICs9IGJhc2Vfc2l6ZTsKIAogCWxpc3RfZm9yX2VhY2hfc2FmZShscnUsIHRtcCwgJmRlbHRhX2Jhc2VfY2FjaGVfbHJ1KSB7CkBAIC0xNDUyLDggKzE0OTIsOCBAQAogCiAJaWYgKCFkZWx0YV9iYXNlX2NhY2hlLmNtcGZuKQogCQloYXNobWFwX2luaXQoJmRlbHRhX2Jhc2VfY2FjaGUsIGRlbHRhX2Jhc2VfY2FjaGVfaGFzaF9jbXAsIE5VTEwsIDApOwotCWhhc2htYXBfZW50cnlfaW5pdChlbnQsIHBhY2tfZW50cnlfaGFzaChwLCBiYXNlX29mZnNldCkpOwotCWhhc2htYXBfYWRkKCZkZWx0YV9iYXNlX2NhY2hlLCBlbnQpOworCWhhc2htYXBfZW50cnlfaW5pdCgmZW50LT5lbnQsIHBhY2tfZW50cnlfaGFzaChwLCBiYXNlX29mZnNldCkpOworCWhhc2htYXBfYWRkKCZkZWx0YV9iYXNlX2NhY2hlLCAmZW50LT5lbnQpOwogfQogCiBpbnQgcGFja2VkX29iamVjdF9pbmZvKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3QgcGFja2VkX2dpdCAqcCwKQEAgLTE1MTgsMjAgKzE1NTgsMTYgQEAKIAkJfQogCX0KIAotCWlmIChvaS0+ZGVsdGFfYmFzZV9zaGExKSB7CisJaWYgKG9pLT5kZWx0YV9iYXNlX29pZCkgewogCQlpZiAodHlwZSA9PSBPQkpfT0ZTX0RFTFRBIHx8IHR5cGUgPT0gT0JKX1JFRl9ERUxUQSkgewotCQkJY29uc3QgdW5zaWduZWQgY2hhciAqYmFzZTsKLQotCQkJYmFzZSA9IGdldF9kZWx0YV9iYXNlX3NoYTEocCwgJndfY3VycywgY3VycG9zLAotCQkJCQkJICAgdHlwZSwgb2JqX29mZnNldCk7Ci0JCQlpZiAoIWJhc2UpIHsKKwkJCWlmIChnZXRfZGVsdGFfYmFzZV9vaWQocCwgJndfY3VycywgY3VycG9zLAorCQkJCQkgICAgICAgb2ktPmRlbHRhX2Jhc2Vfb2lkLAorCQkJCQkgICAgICAgdHlwZSwgb2JqX29mZnNldCkgPCAwKSB7CiAJCQkJdHlwZSA9IE9CSl9CQUQ7CiAJCQkJZ290byBvdXQ7CiAJCQl9Ci0KLQkJCWhhc2hjcHkob2ktPmRlbHRhX2Jhc2Vfc2hhMSwgYmFzZSk7CiAJCX0gZWxzZQotCQkJaGFzaGNscihvaS0+ZGVsdGFfYmFzZV9zaGExKTsKKwkJCW9pZGNscihvaS0+ZGVsdGFfYmFzZV9vaWQpOwogCX0KIAogCW9pLT53aGVuY2UgPSBpbl9kZWx0YV9iYXNlX2NhY2hlKHAsIG9ial9vZmZzZXQpID8gT0lfREJDQUNIRUQgOgpAQCAtMTU2Miw3ICsxNTk4LDE1IEBACiAJZG8gewogCQlpbiA9IHVzZV9wYWNrKHAsIHdfY3VycywgY3VycG9zLCAmc3RyZWFtLmF2YWlsX2luKTsKIAkJc3RyZWFtLm5leHRfaW4gPSBpbjsKKwkJLyoKKwkJICogTm90ZTogd2UgbXVzdCBlbnN1cmUgdGhlIHdpbmRvdyBzZWN0aW9uIHJldHVybmVkIGJ5CisJCSAqIHVzZV9wYWNrKCkgd2lsbCBiZSBhdmFpbGFibGUgdGhyb3VnaG91dCBnaXRfaW5mbGF0ZSgpJ3MKKwkJICogdW5sb2NrZWQgZXhlY3V0aW9uLiBQbGVhc2UgcmVmZXIgdG8gdGhlIGNvbW1lbnQgYXQKKwkJICogZ2V0X3NpemVfZnJvbV9kZWx0YSgpIHRvIHNlZSBob3cgdGhpcyBpcyBkb25lLgorCQkgKi8KKwkJb2JqX3JlYWRfdW5sb2NrKCk7CiAJCXN0ID0gZ2l0X2luZmxhdGUoJnN0cmVhbSwgWl9GSU5JU0gpOworCQlvYmpfcmVhZF9sb2NrKCk7CiAJCWlmICghc3RyZWFtLmF2YWlsX291dCkKIAkJCWJyZWFrOyAvKiB0aGUgcGF5bG9hZCBpcyBsYXJnZXIgdGhhbiBpdCBzaG91bGQgYmUgKi8KIAkJY3VycG9zICs9IHN0cmVhbS5uZXh0X2luIC0gaW47CkBAIC0xNjQ3LDcgKzE2OTEsNyBAQAogCQkJb2ZmX3QgbGVuID0gcmV2aWR4WzFdLm9mZnNldCAtIG9ial9vZmZzZXQ7CiAJCQlpZiAoY2hlY2tfcGFja19jcmMocCwgJndfY3Vycywgb2JqX29mZnNldCwgbGVuLCByZXZpZHgtPm5yKSkgewogCQkJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwotCQkJCW50aF9wYWNrZWRfb2JqZWN0X29pZCgmb2lkLCBwLCByZXZpZHgtPm5yKTsKKwkJCQludGhfcGFja2VkX29iamVjdF9pZCgmb2lkLCBwLCByZXZpZHgtPm5yKTsKIAkJCQllcnJvcigiYmFkIHBhY2tlZCBvYmplY3QgQ1JDIGZvciAlcyIsCiAJCQkJICAgICAgb2lkX3RvX2hleCgmb2lkKSk7CiAJCQkJbWFya19iYWRfcGFja2VkX29iamVjdChwLCBvaWQuaGFzaCk7CkBAIC0xNjc1LDggKzE3MTksOCBAQAogCQkgICAgJiYgZGVsdGFfc3RhY2sgPT0gc21hbGxfZGVsdGFfc3RhY2spIHsKIAkJCWRlbHRhX3N0YWNrX2FsbG9jID0gYWxsb2NfbnIoZGVsdGFfc3RhY2tfbnIpOwogCQkJQUxMT0NfQVJSQVkoZGVsdGFfc3RhY2ssIGRlbHRhX3N0YWNrX2FsbG9jKTsKLQkJCW1lbWNweShkZWx0YV9zdGFjaywgc21hbGxfZGVsdGFfc3RhY2ssCi0JCQkgICAgICAgc2l6ZW9mKCpkZWx0YV9zdGFjaykqZGVsdGFfc3RhY2tfbnIpOworCQkJQ09QWV9BUlJBWShkZWx0YV9zdGFjaywgc21hbGxfZGVsdGFfc3RhY2ssCisJCQkJICAgZGVsdGFfc3RhY2tfbnIpOwogCQl9IGVsc2UgewogCQkJQUxMT0NfR1JPVyhkZWx0YV9zdGFjaywgZGVsdGFfc3RhY2tfbnIrMSwgZGVsdGFfc3RhY2tfYWxsb2MpOwogCQl9CkBAIC0xNzM2LDcgKzE3ODAsNyBAQAogCQkJc3RydWN0IG9iamVjdF9pZCBiYXNlX29pZDsKIAkJCXJldmlkeCA9IGZpbmRfcGFja19yZXZpbmRleChwLCBvYmpfb2Zmc2V0KTsKIAkJCWlmIChyZXZpZHgpIHsKLQkJCQludGhfcGFja2VkX29iamVjdF9vaWQoJmJhc2Vfb2lkLCBwLCByZXZpZHgtPm5yKTsKKwkJCQludGhfcGFja2VkX29iamVjdF9pZCgmYmFzZV9vaWQsIHAsIHJldmlkeC0+bnIpOwogCQkJCWVycm9yKCJmYWlsZWQgdG8gcmVhZCBkZWx0YSBiYXNlIG9iamVjdCAlcyIKIAkJCQkgICAgICAiIGF0IG9mZnNldCAlIlBSSXVNQVgiIGZyb20gJXMiLAogCQkJCSAgICAgIG9pZF90b19oZXgoJmJhc2Vfb2lkKSwgKHVpbnRtYXhfdClvYmpfb2Zmc2V0LApAQCAtMTgyMywzNiArMTg2NywyNyBAQAogCQkJICAgIGluZGV4X2xvb2t1cCwgaW5kZXhfbG9va3VwX3dpZHRoLCByZXN1bHQpOwogfQogCi1jb25zdCB1bnNpZ25lZCBjaGFyICpudGhfcGFja2VkX29iamVjdF9zaGExKHN0cnVjdCBwYWNrZWRfZ2l0ICpwLAotCQkJCQkgICAgdWludDMyX3QgbikKK2ludCBudGhfcGFja2VkX29iamVjdF9pZChzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkgc3RydWN0IHBhY2tlZF9naXQgKnAsCisJCQkgdWludDMyX3QgbikKIHsKIAljb25zdCB1bnNpZ25lZCBjaGFyICppbmRleCA9IHAtPmluZGV4X2RhdGE7CiAJY29uc3QgdW5zaWduZWQgaW50IGhhc2hzeiA9IHRoZV9oYXNoX2FsZ28tPnJhd3N6OwogCWlmICghaW5kZXgpIHsKIAkJaWYgKG9wZW5fcGFja19pbmRleChwKSkKLQkJCXJldHVybiBOVUxMOworCQkJcmV0dXJuIC0xOwogCQlpbmRleCA9IHAtPmluZGV4X2RhdGE7CiAJfQogCWlmIChuID49IHAtPm51bV9vYmplY3RzKQotCQlyZXR1cm4gTlVMTDsKKwkJcmV0dXJuIC0xOwogCWluZGV4ICs9IDQgKiAyNTY7CiAJaWYgKHAtPmluZGV4X3ZlcnNpb24gPT0gMSkgewotCQlyZXR1cm4gaW5kZXggKyAoaGFzaHN6ICsgNCkgKiBuICsgNDsKKwkJb2lkcmVhZChvaWQsIGluZGV4ICsgKGhhc2hzeiArIDQpICogbiArIDQpOwogCX0gZWxzZSB7CiAJCWluZGV4ICs9IDg7Ci0JCXJldHVybiBpbmRleCArIGhhc2hzeiAqIG47CisJCW9pZHJlYWQob2lkLCBpbmRleCArIGhhc2hzeiAqIG4pOwogCX0KLX0KLQotY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqbnRoX3BhY2tlZF9vYmplY3Rfb2lkKHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKLQkJCQkJICAgICAgc3RydWN0IHBhY2tlZF9naXQgKnAsCi0JCQkJCSAgICAgIHVpbnQzMl90IG4pCi17Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqaGFzaCA9IG50aF9wYWNrZWRfb2JqZWN0X3NoYTEocCwgbik7Ci0JaWYgKCFoYXNoKQotCQlyZXR1cm4gTlVMTDsKLQloYXNoY3B5KG9pZC0+aGFzaCwgaGFzaCk7Ci0JcmV0dXJuIG9pZDsKKwlyZXR1cm4gMDsKIH0KIAogdm9pZCBjaGVja19wYWNrX2luZGV4X3B0cihjb25zdCBzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgY29uc3Qgdm9pZCAqdnB0cikKQEAgLTE5ODIsMTMgKzIwMTcsMTMgQEAKIAkJcmV0dXJuIDA7CiAKIAlmb3IgKG0gPSByLT5vYmplY3RzLT5tdWx0aV9wYWNrX2luZGV4OyBtOyBtID0gbS0+bmV4dCkgewotCQlpZiAoZmlsbF9taWR4X2VudHJ5KG9pZCwgZSwgbSkpCisJCWlmIChmaWxsX21pZHhfZW50cnkociwgb2lkLCBlLCBtKSkKIAkJCXJldHVybiAxOwogCX0KIAogCWxpc3RfZm9yX2VhY2gocG9zLCAmci0+b2JqZWN0cy0+cGFja2VkX2dpdF9tcnUpIHsKIAkJc3RydWN0IHBhY2tlZF9naXQgKnAgPSBsaXN0X2VudHJ5KHBvcywgc3RydWN0IHBhY2tlZF9naXQsIG1ydSk7Ci0JCWlmIChmaWxsX3BhY2tfZW50cnkob2lkLCBlLCBwKSkgeworCQlpZiAoIXAtPm11bHRpX3BhY2tfaW5kZXggJiYgZmlsbF9wYWNrX2VudHJ5KG9pZCwgZSwgcCkpIHsKIAkJCWxpc3RfbW92ZSgmcC0+bXJ1LCAmci0+b2JqZWN0cy0+cGFja2VkX2dpdF9tcnUpOwogCQkJcmV0dXJuIDE7CiAJCX0KQEAgLTIwMTcsOCArMjA1MiwxMCBAQAogCXVpbnQzMl90IGk7CiAJaW50IHIgPSAwOwogCi0JaWYgKGZsYWdzICYgRk9SX0VBQ0hfT0JKRUNUX1BBQ0tfT1JERVIpCi0JCWxvYWRfcGFja19yZXZpbmRleChwKTsKKwlpZiAoZmxhZ3MgJiBGT1JfRUFDSF9PQkpFQ1RfUEFDS19PUkRFUikgeworCQlpZiAobG9hZF9wYWNrX3JldmluZGV4KHApKQorCQkJcmV0dXJuIC0xOworCX0KIAogCWZvciAoaSA9IDA7IGkgPCBwLT5udW1fb2JqZWN0czsgaSsrKSB7CiAJCXVpbnQzMl90IHBvczsKQEAgLTIwMjksNyArMjA2Niw3IEBACiAJCWVsc2UKIAkJCXBvcyA9IGk7CiAKLQkJaWYgKCFudGhfcGFja2VkX29iamVjdF9vaWQoJm9pZCwgcCwgcG9zKSkKKwkJaWYgKG50aF9wYWNrZWRfb2JqZWN0X2lkKCZvaWQsIHAsIHBvcykgPCAwKQogCQkJcmV0dXJuIGVycm9yKCJ1bmFibGUgdG8gZ2V0IHNoYTEgb2Ygb2JqZWN0ICV1IGluICVzIiwKIAkJCQkgICAgIHBvcywgcC0+cGFja19uYW1lKTsKIApAQCAtMjA5Miw3ICsyMTI5LDcgQEAKIAkJCSAqLwogCQkJcmV0dXJuIDA7CiAJCXdoaWxlICh0cmVlX2VudHJ5X2dlbnRseSgmZGVzYywgJmVudHJ5KSkKLQkJCW9pZHNldF9pbnNlcnQoc2V0LCBlbnRyeS5vaWQpOworCQkJb2lkc2V0X2luc2VydChzZXQsICZlbnRyeS5vaWQpOwogCX0gZWxzZSBpZiAob2JqLT50eXBlID09IE9CSl9DT01NSVQpIHsKIAkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gKHN0cnVjdCBjb21taXQgKikgb2JqOwogCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudHMgPSBjb21taXQtPnBhcmVudHM7CkBAIC0yMTAyLDcgKzIxMzksNyBAQAogCQkJb2lkc2V0X2luc2VydChzZXQsICZwYXJlbnRzLT5pdGVtLT5vYmplY3Qub2lkKTsKIAl9IGVsc2UgaWYgKG9iai0+dHlwZSA9PSBPQkpfVEFHKSB7CiAJCXN0cnVjdCB0YWcgKnRhZyA9IChzdHJ1Y3QgdGFnICopIG9iajsKLQkJb2lkc2V0X2luc2VydChzZXQsICZ0YWctPnRhZ2dlZC0+b2lkKTsKKwkJb2lkc2V0X2luc2VydChzZXQsIGdldF90YWdnZWRfb2lkKHRhZykpOwogCX0KIAlyZXR1cm4gMDsKIH0KQEAgLTIxMTMsNyArMjE1MCw3IEBACiAJc3RhdGljIGludCBwcm9taXNvcl9vYmplY3RzX3ByZXBhcmVkOwogCiAJaWYgKCFwcm9taXNvcl9vYmplY3RzX3ByZXBhcmVkKSB7Ci0JCWlmIChyZXBvc2l0b3J5X2Zvcm1hdF9wYXJ0aWFsX2Nsb25lKSB7CisJCWlmIChoYXNfcHJvbWlzb3JfcmVtb3RlKCkpIHsKIAkJCWZvcl9lYWNoX3BhY2tlZF9vYmplY3QoYWRkX3Byb21pc29yX29iamVjdCwKIAkJCQkJICAgICAgICZwcm9taXNvcl9vYmplY3RzLAogCQkJCQkgICAgICAgRk9SX0VBQ0hfT0JKRUNUX1BST01JU09SX09OTFkpOwpkaWZmIC0tZ2l0IGEvcGFja2ZpbGUuaCBiL3BhY2tmaWxlLmgKaW5kZXggNmM0MDM3Ni4uMjQwYWE3MyAxMDA2NDQKLS0tIGEvcGFja2ZpbGUuaAorKysgYi9wYWNrZmlsZS5oCkBAIC0xNSwyMyArMTUsMjkgQEAKICAqCiAgKiBFeGFtcGxlOiBvZGJfcGFja19uYW1lKG91dCwgc2hhMSwgImlkeCIpID0+ICIuZ2l0L29iamVjdHMvcGFjay9wYWNrLTEyMzQuLmlkeCIKICAqLwotZXh0ZXJuIGNoYXIgKm9kYl9wYWNrX25hbWUoc3RydWN0IHN0cmJ1ZiAqYnVmLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBjb25zdCBjaGFyICpleHQpOworY2hhciAqb2RiX3BhY2tfbmFtZShzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKmV4dCk7CiAKIC8qCiAgKiBSZXR1cm4gdGhlIG5hbWUgb2YgdGhlIChsb2NhbCkgcGFja2ZpbGUgd2l0aCB0aGUgc3BlY2lmaWVkIHNoYTEgaW4KICAqIGl0cyBuYW1lLiAgVGhlIHJldHVybiB2YWx1ZSBpcyBhIHBvaW50ZXIgdG8gbWVtb3J5IHRoYXQgaXMKICAqIG92ZXJ3cml0dGVuIGVhY2ggdGltZSB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZC4KICAqLwotZXh0ZXJuIGNoYXIgKnNoYTFfcGFja19uYW1lKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOworY2hhciAqc2hhMV9wYWNrX25hbWUoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7CiAKIC8qCiAgKiBSZXR1cm4gdGhlIG5hbWUgb2YgdGhlIChsb2NhbCkgcGFjayBpbmRleCBmaWxlIHdpdGggdGhlIHNwZWNpZmllZAogICogc2hhMSBpbiBpdHMgbmFtZS4gIFRoZSByZXR1cm4gdmFsdWUgaXMgYSBwb2ludGVyIHRvIG1lbW9yeSB0aGF0IGlzCiAgKiBvdmVyd3JpdHRlbiBlYWNoIHRpbWUgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQuCiAgKi8KLWV4dGVybiBjaGFyICpzaGExX3BhY2tfaW5kZXhfbmFtZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKTsKK2NoYXIgKnNoYTFfcGFja19pbmRleF9uYW1lKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOwogCi1leHRlcm4gc3RydWN0IHBhY2tlZF9naXQgKnBhcnNlX3BhY2tfaW5kZXgodW5zaWduZWQgY2hhciAqc2hhMSwgY29uc3QgY2hhciAqaWR4X3BhdGgpOworLyoKKyAqIFJldHVybiB0aGUgYmFzZW5hbWUgb2YgdGhlIHBhY2tmaWxlLCBvbWl0dGluZyBhbnkgY29udGFpbmluZyBkaXJlY3RvcnkKKyAqIChlLmcuLCAicGFjay0xMjM0YWJjZFsuLi5dLnBhY2siKS4KKyAqLworY29uc3QgY2hhciAqcGFja19iYXNlbmFtZShzdHJ1Y3QgcGFja2VkX2dpdCAqcCk7CisKK3N0cnVjdCBwYWNrZWRfZ2l0ICpwYXJzZV9wYWNrX2luZGV4KHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKmlkeF9wYXRoKTsKIAogdHlwZWRlZiB2b2lkIGVhY2hfZmlsZV9pbl9wYWNrX2Rpcl9mbihjb25zdCBjaGFyICpmdWxsX3BhdGgsIHNpemVfdCBmdWxsX3BhdGhfbGVuLAogCQkJCSAgICAgIGNvbnN0IGNoYXIgKmZpbGVfcGFjaCwgdm9pZCAqZGF0YSk7CkBAIC00NSw4ICs1MSw4IEBACiAjZGVmaW5lIFBBQ0tESVJfRklMRV9HQVJCQUdFIDQKIGV4dGVybiB2b2lkICgqcmVwb3J0X2dhcmJhZ2UpKHVuc2lnbmVkIHNlZW5fYml0cywgY29uc3QgY2hhciAqcGF0aCk7CiAKLWV4dGVybiB2b2lkIHJlcHJlcGFyZV9wYWNrZWRfZ2l0KHN0cnVjdCByZXBvc2l0b3J5ICpyKTsKLWV4dGVybiB2b2lkIGluc3RhbGxfcGFja2VkX2dpdChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHBhY2tlZF9naXQgKnBhY2spOwordm9pZCByZXByZXBhcmVfcGFja2VkX2dpdChzdHJ1Y3QgcmVwb3NpdG9yeSAqcik7Cit2b2lkIGluc3RhbGxfcGFja2VkX2dpdChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHBhY2tlZF9naXQgKnBhY2spOwogCiBzdHJ1Y3QgcGFja2VkX2dpdCAqZ2V0X3BhY2tlZF9naXQoc3RydWN0IHJlcG9zaXRvcnkgKnIpOwogc3RydWN0IGxpc3RfaGVhZCAqZ2V0X3BhY2tlZF9naXRfbXJ1KHN0cnVjdCByZXBvc2l0b3J5ICpyKTsKQEAgLTU3LDM0ICs2Myw0NCBAQAogICogR2l2ZSBhIHJvdWdoIGNvdW50IG9mIG9iamVjdHMgaW4gdGhlIHJlcG9zaXRvcnkuIFRoaXMgc2FjcmlmaWNlcyBhY2N1cmFjeQogICogZm9yIHNwZWVkLgogICovCi11bnNpZ25lZCBsb25nIGFwcHJveGltYXRlX29iamVjdF9jb3VudCh2b2lkKTsKK3Vuc2lnbmVkIGxvbmcgcmVwb19hcHByb3hpbWF0ZV9vYmplY3RfY291bnQoc3RydWN0IHJlcG9zaXRvcnkgKnIpOworI2RlZmluZSBhcHByb3hpbWF0ZV9vYmplY3RfY291bnQoKSByZXBvX2FwcHJveGltYXRlX29iamVjdF9jb3VudCh0aGVfcmVwb3NpdG9yeSkKIAotZXh0ZXJuIHN0cnVjdCBwYWNrZWRfZ2l0ICpmaW5kX3NoYTFfcGFjayhjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAotCQkJCQkgc3RydWN0IHBhY2tlZF9naXQgKnBhY2tzKTsKK3N0cnVjdCBwYWNrZWRfZ2l0ICpmaW5kX3NoYTFfcGFjayhjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLAorCQkJCSAgc3RydWN0IHBhY2tlZF9naXQgKnBhY2tzKTsKIAotZXh0ZXJuIHZvaWQgcGFja19yZXBvcnQodm9pZCk7Cit2b2lkIHBhY2tfcmVwb3J0KHZvaWQpOwogCiAvKgogICogbW1hcCB0aGUgaW5kZXggZmlsZSBmb3IgdGhlIHNwZWNpZmllZCBwYWNrZmlsZSAoaWYgaXQgaXMgbm90CiAgKiBhbHJlYWR5IG1tYXBwZWQpLiAgUmV0dXJuIDAgb24gc3VjY2Vzcy4KICAqLwotZXh0ZXJuIGludCBvcGVuX3BhY2tfaW5kZXgoc3RydWN0IHBhY2tlZF9naXQgKik7CitpbnQgb3Blbl9wYWNrX2luZGV4KHN0cnVjdCBwYWNrZWRfZ2l0ICopOwogCiAvKgogICogbXVubWFwIHRoZSBpbmRleCBmaWxlIGZvciB0aGUgc3BlY2lmaWVkIHBhY2tmaWxlIChpZiBpdCBpcwogICogY3VycmVudGx5IG1tYXBwZWQpLgogICovCi1leHRlcm4gdm9pZCBjbG9zZV9wYWNrX2luZGV4KHN0cnVjdCBwYWNrZWRfZ2l0ICopOwordm9pZCBjbG9zZV9wYWNrX2luZGV4KHN0cnVjdCBwYWNrZWRfZ2l0ICopOwogCi1leHRlcm4gdWludDMyX3QgZ2V0X3BhY2tfZmFub3V0KHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCB1aW50MzJfdCB2YWx1ZSk7CitpbnQgY2xvc2VfcGFja19mZChzdHJ1Y3QgcGFja2VkX2dpdCAqcCk7CiAKLWV4dGVybiB1bnNpZ25lZCBjaGFyICp1c2VfcGFjayhzdHJ1Y3QgcGFja2VkX2dpdCAqLCBzdHJ1Y3QgcGFja193aW5kb3cgKiosIG9mZl90LCB1bnNpZ25lZCBsb25nICopOwotZXh0ZXJuIHZvaWQgY2xvc2VfcGFja193aW5kb3dzKHN0cnVjdCBwYWNrZWRfZ2l0ICopOwotZXh0ZXJuIHZvaWQgY2xvc2VfcGFjayhzdHJ1Y3QgcGFja2VkX2dpdCAqKTsKLWV4dGVybiB2b2lkIGNsb3NlX2FsbF9wYWNrcyhzdHJ1Y3QgcmF3X29iamVjdF9zdG9yZSAqbyk7Ci1leHRlcm4gdm9pZCB1bnVzZV9wYWNrKHN0cnVjdCBwYWNrX3dpbmRvdyAqKik7Ci1leHRlcm4gdm9pZCBjbGVhcl9kZWx0YV9iYXNlX2NhY2hlKHZvaWQpOwotZXh0ZXJuIHN0cnVjdCBwYWNrZWRfZ2l0ICphZGRfcGFja2VkX2dpdChjb25zdCBjaGFyICpwYXRoLCBzaXplX3QgcGF0aF9sZW4sIGludCBsb2NhbCk7Cit1aW50MzJfdCBnZXRfcGFja19mYW5vdXQoc3RydWN0IHBhY2tlZF9naXQgKnAsIHVpbnQzMl90IHZhbHVlKTsKKwordW5zaWduZWQgY2hhciAqdXNlX3BhY2soc3RydWN0IHBhY2tlZF9naXQgKiwgc3RydWN0IHBhY2tfd2luZG93ICoqLCBvZmZfdCwgdW5zaWduZWQgbG9uZyAqKTsKK3ZvaWQgY2xvc2VfcGFja193aW5kb3dzKHN0cnVjdCBwYWNrZWRfZ2l0ICopOwordm9pZCBjbG9zZV9wYWNrKHN0cnVjdCBwYWNrZWRfZ2l0ICopOwordm9pZCBjbG9zZV9vYmplY3Rfc3RvcmUoc3RydWN0IHJhd19vYmplY3Rfc3RvcmUgKm8pOwordm9pZCB1bnVzZV9wYWNrKHN0cnVjdCBwYWNrX3dpbmRvdyAqKik7Cit2b2lkIGNsZWFyX2RlbHRhX2Jhc2VfY2FjaGUodm9pZCk7CitzdHJ1Y3QgcGFja2VkX2dpdCAqYWRkX3BhY2tlZF9naXQoY29uc3QgY2hhciAqcGF0aCwgc2l6ZV90IHBhdGhfbGVuLCBpbnQgbG9jYWwpOworCisvKgorICogVW5saW5rIHRoZSAucGFjayBhbmQgYXNzb2NpYXRlZCBleHRlbnNpb24gZmlsZXMuCisgKiBEb2VzIG5vdCB1bmxpbmsgaWYgJ2ZvcmNlX2RlbGV0ZScgaXMgZmFsc2UgYW5kIHRoZSBwYWNrLWZpbGUgaXMKKyAqIG1hcmtlZCBhcyAiLmtlZXAiLgorICovCit2b2lkIHVubGlua19wYWNrX3BhdGgoY29uc3QgY2hhciAqcGFja19uYW1lLCBpbnQgZm9yY2VfZGVsZXRlKTsKIAogLyoKICAqIE1ha2Ugc3VyZSB0aGF0IGEgcG9pbnRlciBhY2Nlc3MgaW50byBhbiBtbWFwJ2QgaW5kZXggZmlsZSBpcyB3aXRoaW4gYm91bmRzLApAQCAtOTQsNyArMTEwLDcgQEAKICAqIChsaWtlIHRoZSA2NC1iaXQgZXh0ZW5kZWQgb2Zmc2V0IHRhYmxlKSwgYXMgd2UgY29tcGFyZSB0aGUgc2l6ZSB0byB0aGUKICAqIGZpeGVkLWxlbmd0aCBwYXJ0cyB3aGVuIHdlIG9wZW4gdGhlIGZpbGUuCiAgKi8KLWV4dGVybiB2b2lkIGNoZWNrX3BhY2tfaW5kZXhfcHRyKGNvbnN0IHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCBjb25zdCB2b2lkICpwdHIpOwordm9pZCBjaGVja19wYWNrX2luZGV4X3B0cihjb25zdCBzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgY29uc3Qgdm9pZCAqcHRyKTsKIAogLyoKICAqIFBlcmZvcm0gYmluYXJ5IHNlYXJjaCBvbiBhIHBhY2staW5kZXggZm9yIGEgZ2l2ZW4gb2lkLiBQYWNrZmlsZSBpcyBleHBlY3RlZCB0bwpAQCAtMTA1LDY0ICsxMjEsNjAgQEAKIGludCBic2VhcmNoX3BhY2soY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjb25zdCBzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgdWludDMyX3QgKnJlc3VsdCk7CiAKIC8qCi0gKiBSZXR1cm4gdGhlIFNIQS0xIG9mIHRoZSBudGggb2JqZWN0IHdpdGhpbiB0aGUgc3BlY2lmaWVkIHBhY2tmaWxlLgotICogT3BlbiB0aGUgaW5kZXggaWYgaXQgaXMgbm90IGFscmVhZHkgb3Blbi4gIFRoZSByZXR1cm4gdmFsdWUgcG9pbnRzCi0gKiBhdCB0aGUgU0hBLTEgd2l0aGluIHRoZSBtbWFwcGVkIGluZGV4LiAgUmV0dXJuIE5VTEwgaWYgdGhlcmUgaXMgYW4KLSAqIGVycm9yLgorICogV3JpdGUgdGhlIG9pZCBvZiB0aGUgbnRoIG9iamVjdCB3aXRoaW4gdGhlIHNwZWNpZmllZCBwYWNrZmlsZSBpbnRvIHRoZSBmaXJzdAorICogcGFyYW1ldGVyLiBPcGVuIHRoZSBpbmRleCBpZiBpdCBpcyBub3QgYWxyZWFkeSBvcGVuLiAgUmV0dXJucyAwIG9uIHN1Y2Nlc3MsCisgKiBuZWdhdGl2ZSBvdGhlcndpc2UuCiAgKi8KLWV4dGVybiBjb25zdCB1bnNpZ25lZCBjaGFyICpudGhfcGFja2VkX29iamVjdF9zaGExKHN0cnVjdCBwYWNrZWRfZ2l0ICosIHVpbnQzMl90IG4pOwotLyoKLSAqIExpa2UgbnRoX3BhY2tlZF9vYmplY3Rfc2hhMSwgYnV0IHdyaXRlIHRoZSBkYXRhIGludG8gdGhlIG9iamVjdCBzcGVjaWZpZWQgYnkKLSAqIHRoZSB0aGUgZmlyc3QgYXJndW1lbnQuICBSZXR1cm5zIHRoZSBmaXJzdCBhcmd1bWVudCBvbiBzdWNjZXNzLCBhbmQgTlVMTCBvbgotICogZXJyb3IuCi0gKi8KLWV4dGVybiBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpudGhfcGFja2VkX29iamVjdF9vaWQoc3RydWN0IG9iamVjdF9pZCAqLCBzdHJ1Y3QgcGFja2VkX2dpdCAqLCB1aW50MzJfdCBuKTsKK2ludCBudGhfcGFja2VkX29iamVjdF9pZChzdHJ1Y3Qgb2JqZWN0X2lkICosIHN0cnVjdCBwYWNrZWRfZ2l0ICosIHVpbnQzMl90IG4pOwogCiAvKgogICogUmV0dXJuIHRoZSBvZmZzZXQgb2YgdGhlIG50aCBvYmplY3Qgd2l0aGluIHRoZSBzcGVjaWZpZWQgcGFja2ZpbGUuCiAgKiBUaGUgaW5kZXggbXVzdCBhbHJlYWR5IGJlIG9wZW5lZC4KICAqLwotZXh0ZXJuIG9mZl90IG50aF9wYWNrZWRfb2JqZWN0X29mZnNldChjb25zdCBzdHJ1Y3QgcGFja2VkX2dpdCAqLCB1aW50MzJfdCBuKTsKK29mZl90IG50aF9wYWNrZWRfb2JqZWN0X29mZnNldChjb25zdCBzdHJ1Y3QgcGFja2VkX2dpdCAqLCB1aW50MzJfdCBuKTsKIAogLyoKICAqIElmIHRoZSBvYmplY3QgbmFtZWQgc2hhMSBpcyBwcmVzZW50IGluIHRoZSBzcGVjaWZpZWQgcGFja2ZpbGUsCiAgKiByZXR1cm4gaXRzIG9mZnNldCB3aXRoaW4gdGhlIHBhY2tmaWxlOyBvdGhlcndpc2UsIHJldHVybiAwLgogICovCi1leHRlcm4gb2ZmX3QgZmluZF9wYWNrX2VudHJ5X29uZShjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExLCBzdHJ1Y3QgcGFja2VkX2dpdCAqKTsKK29mZl90IGZpbmRfcGFja19lbnRyeV9vbmUoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgc3RydWN0IHBhY2tlZF9naXQgKik7CiAKLWV4dGVybiBpbnQgaXNfcGFja192YWxpZChzdHJ1Y3QgcGFja2VkX2dpdCAqKTsKLWV4dGVybiB2b2lkICp1bnBhY2tfZW50cnkoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBwYWNrZWRfZ2l0ICosIG9mZl90LCBlbnVtIG9iamVjdF90eXBlICosIHVuc2lnbmVkIGxvbmcgKik7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyB1bnBhY2tfb2JqZWN0X2hlYWRlcl9idWZmZXIoY29uc3QgdW5zaWduZWQgY2hhciAqYnVmLCB1bnNpZ25lZCBsb25nIGxlbiwgZW51bSBvYmplY3RfdHlwZSAqdHlwZSwgdW5zaWduZWQgbG9uZyAqc2l6ZXApOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZ2V0X3NpemVfZnJvbV9kZWx0YShzdHJ1Y3QgcGFja2VkX2dpdCAqLCBzdHJ1Y3QgcGFja193aW5kb3cgKiosIG9mZl90KTsKLWV4dGVybiBpbnQgdW5wYWNrX29iamVjdF9oZWFkZXIoc3RydWN0IHBhY2tlZF9naXQgKiwgc3RydWN0IHBhY2tfd2luZG93ICoqLCBvZmZfdCAqLCB1bnNpZ25lZCBsb25nICopOworaW50IGlzX3BhY2tfdmFsaWQoc3RydWN0IHBhY2tlZF9naXQgKik7Cit2b2lkICp1bnBhY2tfZW50cnkoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBwYWNrZWRfZ2l0ICosIG9mZl90LCBlbnVtIG9iamVjdF90eXBlICosIHVuc2lnbmVkIGxvbmcgKik7Cit1bnNpZ25lZCBsb25nIHVucGFja19vYmplY3RfaGVhZGVyX2J1ZmZlcihjb25zdCB1bnNpZ25lZCBjaGFyICpidWYsIHVuc2lnbmVkIGxvbmcgbGVuLCBlbnVtIG9iamVjdF90eXBlICp0eXBlLCB1bnNpZ25lZCBsb25nICpzaXplcCk7Cit1bnNpZ25lZCBsb25nIGdldF9zaXplX2Zyb21fZGVsdGEoc3RydWN0IHBhY2tlZF9naXQgKiwgc3RydWN0IHBhY2tfd2luZG93ICoqLCBvZmZfdCk7CitpbnQgdW5wYWNrX29iamVjdF9oZWFkZXIoc3RydWN0IHBhY2tlZF9naXQgKiwgc3RydWN0IHBhY2tfd2luZG93ICoqLCBvZmZfdCAqLCB1bnNpZ25lZCBsb25nICopOworb2ZmX3QgZ2V0X2RlbHRhX2Jhc2Uoc3RydWN0IHBhY2tlZF9naXQgKnAsIHN0cnVjdCBwYWNrX3dpbmRvdyAqKndfY3VycywKKwkJICAgICBvZmZfdCAqY3VycG9zLCBlbnVtIG9iamVjdF90eXBlIHR5cGUsCisJCSAgICAgb2ZmX3QgZGVsdGFfb2JqX29mZnNldCk7CiAKLWV4dGVybiB2b2lkIHJlbGVhc2VfcGFja19tZW1vcnkoc2l6ZV90KTsKK3ZvaWQgcmVsZWFzZV9wYWNrX21lbW9yeShzaXplX3QpOwogCiAvKiBnbG9iYWwgZmxhZyB0byBlbmFibGUgZXh0cmEgY2hlY2tzIHdoZW4gYWNjZXNzaW5nIHBhY2tlZCBvYmplY3RzICovCiBleHRlcm4gaW50IGRvX2NoZWNrX3BhY2tlZF9vYmplY3RfY3JjOwogCi1leHRlcm4gaW50IHBhY2tlZF9vYmplY3RfaW5mbyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKLQkJCSAgICAgIHN0cnVjdCBwYWNrZWRfZ2l0ICpwYWNrLAotCQkJICAgICAgb2ZmX3Qgb2Zmc2V0LCBzdHJ1Y3Qgb2JqZWN0X2luZm8gKik7CitpbnQgcGFja2VkX29iamVjdF9pbmZvKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkgICAgICAgc3RydWN0IHBhY2tlZF9naXQgKnBhY2ssCisJCSAgICAgICBvZmZfdCBvZmZzZXQsIHN0cnVjdCBvYmplY3RfaW5mbyAqKTsKIAotZXh0ZXJuIHZvaWQgbWFya19iYWRfcGFja2VkX29iamVjdChzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7Ci1leHRlcm4gY29uc3Qgc3RydWN0IHBhY2tlZF9naXQgKmhhc19wYWNrZWRfYW5kX2JhZChjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKTsKK3ZvaWQgbWFya19iYWRfcGFja2VkX29iamVjdChzdHJ1Y3QgcGFja2VkX2dpdCAqcCwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSk7Citjb25zdCBzdHJ1Y3QgcGFja2VkX2dpdCAqaGFzX3BhY2tlZF9hbmRfYmFkKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKTsKIAogLyoKICAqIElmZiBhIHBhY2sgZmlsZSBpbiB0aGUgZ2l2ZW4gcmVwb3NpdG9yeSBjb250YWlucyB0aGUgb2JqZWN0IG5hbWVkIGJ5IHNoYTEsCiAgKiByZXR1cm4gdHJ1ZSBhbmQgc3RvcmUgaXRzIGxvY2F0aW9uIHRvIGUuCiAgKi8KLWV4dGVybiBpbnQgZmluZF9wYWNrX2VudHJ5KHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHN0cnVjdCBwYWNrX2VudHJ5ICplKTsKK2ludCBmaW5kX3BhY2tfZW50cnkoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgc3RydWN0IHBhY2tfZW50cnkgKmUpOwogCi1leHRlcm4gaW50IGhhc19vYmplY3RfcGFjayhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOworaW50IGhhc19vYmplY3RfcGFjayhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOwogCi1leHRlcm4gaW50IGhhc19wYWNrX2luZGV4KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOworaW50IGhhc19wYWNrX2luZGV4KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpOwogCiAvKgogICogUmV0dXJuIDEgaWYgYW4gb2JqZWN0IGluIGEgcHJvbWlzb3IgcGFja2ZpbGUgaXMgb3IgcmVmZXJzIHRvIHRoZSBnaXZlbgogICogb2JqZWN0LCAwIG90aGVyd2lzZS4KICAqLwotZXh0ZXJuIGludCBpc19wcm9taXNvcl9vYmplY3QoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKK2ludCBpc19wcm9taXNvcl9vYmplY3QoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKIAogLyoKICAqIEV4cG9zZSBhIGZ1bmN0aW9uIGZvciBmdXp6IHRlc3RpbmcuCkBAIC0xNzQsNyArMTg2LDcgQEAKICAqIGhhdmUgYSBjb252ZW5pZW50IGVudHJ5LXBvaW50IGZvciBmdXp6IHRlc3RpbmcuIEZvciByZWFsIHVzZXMsIHlvdSBzaG91bGQKICAqIHByb2JhYmx5IHVzZSBvcGVuX3BhY2tfaW5kZXgoKSBvciBwYXJzZV9wYWNrX2luZGV4KCkgaW5zdGVhZC4KICAqLwotZXh0ZXJuIGludCBsb2FkX2lkeChjb25zdCBjaGFyICpwYXRoLCBjb25zdCB1bnNpZ25lZCBpbnQgaGFzaHN6LCB2b2lkICppZHhfbWFwLAotCQkgICAgc2l6ZV90IGlkeF9zaXplLCBzdHJ1Y3QgcGFja2VkX2dpdCAqcCk7CitpbnQgbG9hZF9pZHgoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgdW5zaWduZWQgaW50IGhhc2hzeiwgdm9pZCAqaWR4X21hcCwKKwkgICAgIHNpemVfdCBpZHhfc2l6ZSwgc3RydWN0IHBhY2tlZF9naXQgKnApOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3BhZ2VyLmMgYi9wYWdlci5jCmluZGV4IGE3Njg3OTcuLjQxNDQ2ZDQgMTAwNjQ0Ci0tLSBhL3BhZ2VyLmMKKysrIGIvcGFnZXIuYwpAQCAtMTAwLDYgKzEwMCw3IEBACiAJYXJndl9hcnJheV9wdXNoKCZwYWdlcl9wcm9jZXNzLT5hcmdzLCBwYWdlcik7CiAJcGFnZXJfcHJvY2Vzcy0+dXNlX3NoZWxsID0gMTsKIAlzZXR1cF9wYWdlcl9lbnYoJnBhZ2VyX3Byb2Nlc3MtPmVudl9hcnJheSk7CisJcGFnZXJfcHJvY2Vzcy0+dHJhY2UyX2NoaWxkX2NsYXNzID0gInBhZ2VyIjsKIH0KIAogdm9pZCBzZXR1cF9wYWdlcih2b2lkKQpAQCAtMTc3LDYgKzE3OCwyNiBAQAogfQogCiAvKgorICogQ2xlYXIgdGhlIGVudGlyZSBsaW5lLCBsZWF2ZSBjdXJzb3IgaW4gZmlyc3QgY29sdW1uLgorICovCit2b2lkIHRlcm1fY2xlYXJfbGluZSh2b2lkKQoreworCWlmIChpc190ZXJtaW5hbF9kdW1iKCkpCisJCS8qCisJCSAqIEZhbGwgYmFjayB0byBwcmludCBhIHRlcm1pbmFsIHdpZHRoIHdvcnRoIG9mIHNwYWNlCisJCSAqIGNoYXJhY3RlcnMgKGhvcGluZyB0aGF0IHRoZSB0ZXJtaW5hbCBpcyBzdGlsbCBhcyB3aWRlCisJCSAqIGFzIGl0IHdhcyB1cG9uIHRoZSBmaXJzdCBjYWxsIHRvIHRlcm1fY29sdW1ucygpKS4KKwkJICovCisJCWZwcmludGYoc3RkZXJyLCAiXHIlKnNcciIsIHRlcm1fY29sdW1ucygpLCAiIik7CisJZWxzZQorCQkvKgorCQkgKiBPbiBub24tZHVtYiB0ZXJtaW5hbHMgdXNlIGFuIGVzY2FwZSBzZXF1ZW5jZSB0byBjbGVhcgorCQkgKiB0aGUgd2hvbGUgbGluZSwgbm8gbWF0dGVyIGhvdyB3aWRlIHRoZSB0ZXJtaW5hbC4KKwkJICovCisJCWZwdXRzKCJcclwwMzNbSyIsIHN0ZGVycik7Cit9CisKKy8qCiAgKiBIb3cgbWFueSBjb2x1bW5zIGRvIHdlIG5lZWQgdG8gc2hvdyB0aGlzIG51bWJlciBpbiBkZWNpbWFsPwogICovCiBpbnQgZGVjaW1hbF93aWR0aCh1aW50bWF4X3QgbnVtYmVyKQpkaWZmIC0tZ2l0IGEvcGFyc2Utb3B0aW9ucy1jYi5jIGIvcGFyc2Utb3B0aW9ucy1jYi5jCmluZGV4IDhjOWVkY2UuLmEyOGI1NWIgMTAwNjQ0Ci0tLSBhL3BhcnNlLW9wdGlvbnMtY2IuYworKysgYi9wYXJzZS1vcHRpb25zLWNiLmMKQEAgLTE2LDEzICsxNiwxNyBAQAogCWlmICghYXJnKSB7CiAJCXYgPSB1bnNldCA/IDAgOiBERUZBVUxUX0FCQlJFVjsKIAl9IGVsc2UgeworCQlpZiAoISphcmcpCisJCQlyZXR1cm4gZXJyb3IoXygib3B0aW9uIGAlcycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIpLAorCQkJCSAgICAgb3B0LT5sb25nX25hbWUpOwogCQl2ID0gc3RydG9sKGFyZywgKGNoYXIgKiopJmFyZywgMTApOwogCQlpZiAoKmFyZykKLQkJCXJldHVybiBvcHRlcnJvcihvcHQsICJleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIiwgMCk7CisJCQlyZXR1cm4gZXJyb3IoXygib3B0aW9uIGAlcycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIpLAorCQkJCSAgICAgb3B0LT5sb25nX25hbWUpOwogCQlpZiAodiAmJiB2IDwgTUlOSU1VTV9BQkJSRVYpCiAJCQl2ID0gTUlOSU1VTV9BQkJSRVY7Ci0JCWVsc2UgaWYgKHYgPiA0MCkKLQkJCXYgPSA0MDsKKwkJZWxzZSBpZiAodiA+IHRoZV9oYXNoX2FsZ28tPmhleHN6KQorCQkJdiA9IHRoZV9oYXNoX2FsZ28tPmhleHN6OwogCX0KIAkqKGludCAqKShvcHQtPnZhbHVlKSA9IHY7CiAJcmV0dXJuIDA7CkBAIC00Nyw4ICs1MSw4IEBACiAJCWFyZyA9IHVuc2V0ID8gIm5ldmVyIiA6IChjb25zdCBjaGFyICopb3B0LT5kZWZ2YWw7CiAJdmFsdWUgPSBnaXRfY29uZmlnX2NvbG9yYm9vbChOVUxMLCBhcmcpOwogCWlmICh2YWx1ZSA8IDApCi0JCXJldHVybiBvcHRlcnJvcihvcHQsCi0JCQkiZXhwZWN0cyBcImFsd2F5c1wiLCBcImF1dG9cIiwgb3IgXCJuZXZlclwiIiwgMCk7CisJCXJldHVybiBlcnJvcihfKCJvcHRpb24gYCVzJyBleHBlY3RzIFwiYWx3YXlzXCIsIFwiYXV0b1wiLCBvciBcIm5ldmVyXCIiKSwKKwkJCSAgICAgb3B0LT5sb25nX25hbWUpOwogCSooaW50ICopb3B0LT52YWx1ZSA9IHZhbHVlOwogCXJldHVybiAwOwogfQpAQCAtOTUsNiArOTksMjMgQEAKIAlyZXR1cm4gMDsKIH0KIAoraW50IHBhcnNlX29wdF9jb21taXQoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LCBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CisJc3RydWN0IGNvbW1pdCAqKnRhcmdldCA9IG9wdC0+dmFsdWU7CisKKwlpZiAoIWFyZykKKwkJcmV0dXJuIC0xOworCWlmIChnZXRfb2lkKGFyZywgJm9pZCkpCisJCXJldHVybiBlcnJvcigibWFsZm9ybWVkIG9iamVjdCBuYW1lICVzIiwgYXJnKTsKKwljb21taXQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZSh0aGVfcmVwb3NpdG9yeSwgJm9pZCk7CisJaWYgKCFjb21taXQpCisJCXJldHVybiBlcnJvcigibm8gc3VjaCBjb21taXQgJXMiLCBhcmcpOworCSp0YXJnZXQgPSBjb21taXQ7CisJcmV0dXJuIDA7Cit9CisKIGludCBwYXJzZV9vcHRfb2JqZWN0X25hbWUoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LCBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKIHsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKQEAgLTExMSw2ICsxMzIsMjMgQEAKIAlyZXR1cm4gMDsKIH0KIAoraW50IHBhcnNlX29wdF9vYmplY3RfaWQoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LCBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK3sKKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwlzdHJ1Y3Qgb2JqZWN0X2lkICp0YXJnZXQgPSBvcHQtPnZhbHVlOworCisJaWYgKHVuc2V0KSB7CisJCSp0YXJnZXQgPSBudWxsX29pZDsKKwkJcmV0dXJuIDA7CisJfQorCWlmICghYXJnKQorCQlyZXR1cm4gLTE7CisJaWYgKGdldF9vaWQoYXJnLCAmb2lkKSkKKwkJcmV0dXJuIGVycm9yKF8oIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAnJXMnIiksIGFyZyk7CisJKnRhcmdldCA9IG9pZDsKKwlyZXR1cm4gMDsKK30KKwogaW50IHBhcnNlX29wdF90ZXJ0aWFyeShjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KQogewogCWludCAqdGFyZ2V0ID0gb3B0LT52YWx1ZTsKQEAgLTEyMSwyMiArMTU5LDMyIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0cnVjdCBvcHRpb24gKnBhcnNlX29wdGlvbnNfY29uY2F0KHN0cnVjdCBvcHRpb24gKmEsIHN0cnVjdCBvcHRpb24gKmIpCitzdGF0aWMgc2l6ZV90IHBhcnNlX29wdGlvbnNfY291bnQoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0KQoreworCXNpemVfdCBuID0gMDsKKworCWZvciAoOyBvcHQgJiYgb3B0LT50eXBlICE9IE9QVElPTl9FTkQ7IG9wdCsrKQorCQluKys7CisJcmV0dXJuIG47Cit9CisKK3N0cnVjdCBvcHRpb24gKnBhcnNlX29wdGlvbnNfZHVwKGNvbnN0IHN0cnVjdCBvcHRpb24gKm8pCit7CisJc3RydWN0IG9wdGlvbiBub19vcHRpb25zW10gPSB7IE9QVF9FTkQoKSB9OworCisJcmV0dXJuIHBhcnNlX29wdGlvbnNfY29uY2F0KG8sIG5vX29wdGlvbnMpOworfQorCitzdHJ1Y3Qgb3B0aW9uICpwYXJzZV9vcHRpb25zX2NvbmNhdChjb25zdCBzdHJ1Y3Qgb3B0aW9uICphLAorCQkJCSAgICBjb25zdCBzdHJ1Y3Qgb3B0aW9uICpiKQogewogCXN0cnVjdCBvcHRpb24gKnJldDsKLQlzaXplX3QgaSwgYV9sZW4gPSAwLCBiX2xlbiA9IDA7Ci0KLQlmb3IgKGkgPSAwOyBhW2ldLnR5cGUgIT0gT1BUSU9OX0VORDsgaSsrKQotCQlhX2xlbisrOwotCWZvciAoaSA9IDA7IGJbaV0udHlwZSAhPSBPUFRJT05fRU5EOyBpKyspCi0JCWJfbGVuKys7CisJc2l6ZV90IGFfbGVuID0gcGFyc2Vfb3B0aW9uc19jb3VudChhKTsKKwlzaXplX3QgYl9sZW4gPSBwYXJzZV9vcHRpb25zX2NvdW50KGIpOwogCiAJQUxMT0NfQVJSQVkocmV0LCBzdF9hZGQzKGFfbGVuLCBiX2xlbiwgMSkpOwotCWZvciAoaSA9IDA7IGkgPCBhX2xlbjsgaSsrKQotCQlyZXRbaV0gPSBhW2ldOwotCWZvciAoaSA9IDA7IGkgPCBiX2xlbjsgaSsrKQotCQlyZXRbYV9sZW4gKyBpXSA9IGJbaV07Ci0JcmV0W2FfbGVuICsgYl9sZW5dID0gYltiX2xlbl07IC8qIGZpbmFsIE9QVElPTl9FTkQgKi8KKwlDT1BZX0FSUkFZKHJldCwgYSwgYV9sZW4pOworCUNPUFlfQVJSQVkocmV0ICsgYV9sZW4sIGIsIGJfbGVuICsgMSk7IC8qICsgMSBmb3IgZmluYWwgT1BUSU9OX0VORCAqLwogCiAJcmV0dXJuIHJldDsKIH0KQEAgLTE2OSw5ICsyMTcsMTIgQEAKICAqICItaCIgb3V0cHV0IGV2ZW4gaWYgaXQncyBub3QgYmVpbmcgaGFuZGxlZCBkaXJlY3RseSBieQogICogcGFyc2Vfb3B0aW9ucygpLgogICovCi1pbnQgcGFyc2Vfb3B0X3Vua25vd25fY2IoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LCBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCkKK2VudW0gcGFyc2Vfb3B0X3Jlc3VsdCBwYXJzZV9vcHRfdW5rbm93bl9jYihzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90ICpjdHgsCisJCQkJCSAgIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCQkJICAgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCiB7Ci0JcmV0dXJuIC0yOworCUJVR19PTl9PUFRfQVJHKGFyZyk7CisJcmV0dXJuIFBBUlNFX09QVF9VTktOT1dOOwogfQogCiAvKioKZGlmZiAtLWdpdCBhL3BhcnNlLW9wdGlvbnMuYyBiL3BhcnNlLW9wdGlvbnMuYwppbmRleCA2OTMyZWFmLi42M2Q2YmFiIDEwMDY0NAotLS0gYS9wYXJzZS1vcHRpb25zLmMKKysrIGIvcGFyc2Utb3B0aW9ucy5jCkBAIC02LDYgKzYsOCBAQAogI2luY2x1ZGUgImNvbG9yLmgiCiAjaW5jbHVkZSAidXRmOC5oIgogCitzdGF0aWMgaW50IGRpc2FsbG93X2FiYnJldmlhdGVkX29wdGlvbnM7CisKICNkZWZpbmUgT1BUX1NIT1JUIDEKICNkZWZpbmUgT1BUX1VOU0VUIDIKIApAQCAtMjAsOCArMjIsOSBAQAogCXJldHVybiBlcnJvcigiQlVHOiBzd2l0Y2ggJyVjJyAlcyIsIG9wdC0+c2hvcnRfbmFtZSwgcmVhc29uKTsKIH0KIAotc3RhdGljIGludCBnZXRfYXJnKHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKnAsIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKLQkJICAgaW50IGZsYWdzLCBjb25zdCBjaGFyICoqYXJnKQorc3RhdGljIGVudW0gcGFyc2Vfb3B0X3Jlc3VsdCBnZXRfYXJnKHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKnAsCisJCQkJICAgICBjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsCisJCQkJICAgICBpbnQgZmxhZ3MsIGNvbnN0IGNoYXIgKiphcmcpCiB7CiAJaWYgKHAtPm9wdCkgewogCQkqYXJnID0gcC0+b3B0OwpAQCAtMzIsNyArMzUsNyBAQAogCQlwLT5hcmdjLS07CiAJCSphcmcgPSAqKytwLT5hcmd2OwogCX0gZWxzZQotCQlyZXR1cm4gb3B0ZXJyb3Iob3B0LCAicmVxdWlyZXMgYSB2YWx1ZSIsIGZsYWdzKTsKKwkJcmV0dXJuIGVycm9yKF8oIiVzIHJlcXVpcmVzIGEgdmFsdWUiKSwgb3B0bmFtZShvcHQsIGZsYWdzKSk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTQ0LDEyICs0NywxMiBAQAogCSpmaWxlID0gcHJlZml4X2ZpbGVuYW1lKHByZWZpeCwgKmZpbGUpOwogfQogCi1zdGF0aWMgaW50IG9wdF9jb21tYW5kX21vZGVfZXJyb3IoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAotCQkJCSAgY29uc3Qgc3RydWN0IG9wdGlvbiAqYWxsX29wdHMsCi0JCQkJICBpbnQgZmxhZ3MpCitzdGF0aWMgZW51bSBwYXJzZV9vcHRfcmVzdWx0IG9wdF9jb21tYW5kX21vZGVfZXJyb3IoCisJY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCWNvbnN0IHN0cnVjdCBvcHRpb24gKmFsbF9vcHRzLAorCWludCBmbGFncykKIHsKIAljb25zdCBzdHJ1Y3Qgb3B0aW9uICp0aGF0OwotCXN0cnVjdCBzdHJidWYgbWVzc2FnZSA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJidWYgdGhhdF9uYW1lID0gU1RSQlVGX0lOSVQ7CiAKIAkvKgpAQCAtNTgsNyArNjEsNyBAQAogCSAqLwogCWZvciAodGhhdCA9IGFsbF9vcHRzOyB0aGF0LT50eXBlICE9IE9QVElPTl9FTkQ7IHRoYXQrKykgewogCQlpZiAodGhhdCA9PSBvcHQgfHwKLQkJICAgIHRoYXQtPnR5cGUgIT0gT1BUSU9OX0NNRE1PREUgfHwKKwkJICAgICEodGhhdC0+ZmxhZ3MgJiBQQVJTRV9PUFRfQ01ETU9ERSkgfHwKIAkJICAgIHRoYXQtPnZhbHVlICE9IG9wdC0+dmFsdWUgfHwKIAkJICAgIHRoYXQtPmRlZnZhbCAhPSAqKGludCAqKW9wdC0+dmFsdWUpCiAJCQljb250aW51ZTsKQEAgLTY3LDM0ICs3MCw0MiBAQAogCQkJc3RyYnVmX2FkZGYoJnRoYXRfbmFtZSwgIi0tJXMiLCB0aGF0LT5sb25nX25hbWUpOwogCQllbHNlCiAJCQlzdHJidWZfYWRkZigmdGhhdF9uYW1lLCAiLSVjIiwgdGhhdC0+c2hvcnRfbmFtZSk7Ci0JCXN0cmJ1Zl9hZGRmKCZtZXNzYWdlLCAiOiBpbmNvbXBhdGlibGUgd2l0aCAlcyIsIHRoYXRfbmFtZS5idWYpOworCQllcnJvcihfKCIlcyBpcyBpbmNvbXBhdGlibGUgd2l0aCAlcyIpLAorCQkgICAgICBvcHRuYW1lKG9wdCwgZmxhZ3MpLCB0aGF0X25hbWUuYnVmKTsKIAkJc3RyYnVmX3JlbGVhc2UoJnRoYXRfbmFtZSk7Ci0JCW9wdGVycm9yKG9wdCwgbWVzc2FnZS5idWYsIGZsYWdzKTsKLQkJc3RyYnVmX3JlbGVhc2UoJm1lc3NhZ2UpOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiBQQVJTRV9PUFRfRVJST1I7CiAJfQotCXJldHVybiBvcHRlcnJvcihvcHQsICI6IGluY29tcGF0aWJsZSB3aXRoIHNvbWV0aGluZyBlbHNlIiwgZmxhZ3MpOworCXJldHVybiBlcnJvcihfKCIlcyA6IGluY29tcGF0aWJsZSB3aXRoIHNvbWV0aGluZyBlbHNlIiksCisJCSAgICAgb3B0bmFtZShvcHQsIGZsYWdzKSk7CiB9CiAKLXN0YXRpYyBpbnQgZ2V0X3ZhbHVlKHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKnAsCi0JCSAgICAgY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAotCQkgICAgIGNvbnN0IHN0cnVjdCBvcHRpb24gKmFsbF9vcHRzLAotCQkgICAgIGludCBmbGFncykKK3N0YXRpYyBlbnVtIHBhcnNlX29wdF9yZXN1bHQgZ2V0X3ZhbHVlKHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKnAsCisJCQkJICAgICAgIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCQkgICAgICAgY29uc3Qgc3RydWN0IG9wdGlvbiAqYWxsX29wdHMsCisJCQkJICAgICAgIGludCBmbGFncykKIHsKIAljb25zdCBjaGFyICpzLCAqYXJnOwogCWNvbnN0IGludCB1bnNldCA9IGZsYWdzICYgT1BUX1VOU0VUOwogCWludCBlcnI7CiAKIAlpZiAodW5zZXQgJiYgcC0+b3B0KQotCQlyZXR1cm4gb3B0ZXJyb3Iob3B0LCAidGFrZXMgbm8gdmFsdWUiLCBmbGFncyk7CisJCXJldHVybiBlcnJvcihfKCIlcyB0YWtlcyBubyB2YWx1ZSIpLCBvcHRuYW1lKG9wdCwgZmxhZ3MpKTsKIAlpZiAodW5zZXQgJiYgKG9wdC0+ZmxhZ3MgJiBQQVJTRV9PUFRfTk9ORUcpKQotCQlyZXR1cm4gb3B0ZXJyb3Iob3B0LCAiaXNuJ3QgYXZhaWxhYmxlIiwgZmxhZ3MpOworCQlyZXR1cm4gZXJyb3IoXygiJXMgaXNuJ3QgYXZhaWxhYmxlIiksIG9wdG5hbWUob3B0LCBmbGFncykpOwogCWlmICghKGZsYWdzICYgT1BUX1NIT1JUKSAmJiBwLT5vcHQgJiYgKG9wdC0+ZmxhZ3MgJiBQQVJTRV9PUFRfTk9BUkcpKQotCQlyZXR1cm4gb3B0ZXJyb3Iob3B0LCAidGFrZXMgbm8gdmFsdWUiLCBmbGFncyk7CisJCXJldHVybiBlcnJvcihfKCIlcyB0YWtlcyBubyB2YWx1ZSIpLCBvcHRuYW1lKG9wdCwgZmxhZ3MpKTsKKworCS8qCisJICogR2l2aW5nIHRoZSBzYW1lIG1vZGUgb3B0aW9uIHR3aWNlLCBhbHRob3VnaCB1bm5lY2Vzc2FyeSwKKwkgKiBpcyBub3QgYSBncmF2ZSBlcnJvciwgc28gbGV0IGl0IHBhc3MuCisJICovCisJaWYgKChvcHQtPmZsYWdzICYgUEFSU0VfT1BUX0NNRE1PREUpICYmCisJICAgICooaW50ICopb3B0LT52YWx1ZSAmJiAqKGludCAqKW9wdC0+dmFsdWUgIT0gb3B0LT5kZWZ2YWwpCisJCXJldHVybiBvcHRfY29tbWFuZF9tb2RlX2Vycm9yKG9wdCwgYWxsX29wdHMsIGZsYWdzKTsKIAogCXN3aXRjaCAob3B0LT50eXBlKSB7CiAJY2FzZSBPUFRJT05fTE9XTEVWRUxfQ0FMTEJBQ0s6Ci0JCXJldHVybiAoKihwYXJzZV9vcHRfbGxfY2IgKilvcHQtPmNhbGxiYWNrKShwLCBvcHQsIHVuc2V0KTsKKwkJcmV0dXJuIG9wdC0+bGxfY2FsbGJhY2socCwgb3B0LCBOVUxMLCB1bnNldCk7CiAKIAljYXNlIE9QVElPTl9CSVQ6CiAJCWlmICh1bnNldCkKQEAgLTExMCw2ICsxMjEsMTMgQEAKIAkJCSooaW50ICopb3B0LT52YWx1ZSAmPSB+b3B0LT5kZWZ2YWw7CiAJCXJldHVybiAwOwogCisJY2FzZSBPUFRJT05fQklUT1A6CisJCWlmICh1bnNldCkKKwkJCUJVRygiQklUT1AgY2FuJ3QgaGF2ZSB1bnNldCBmb3JtIik7CisJCSooaW50ICopb3B0LT52YWx1ZSAmPSB+b3B0LT5leHRyYTsKKwkJKihpbnQgKilvcHQtPnZhbHVlIHw9IG9wdC0+ZGVmdmFsOworCQlyZXR1cm4gMDsKKwogCWNhc2UgT1BUSU9OX0NPVU5UVVA6CiAJCWlmICgqKGludCAqKW9wdC0+dmFsdWUgPCAwKQogCQkJKihpbnQgKilvcHQtPnZhbHVlID0gMDsKQEAgLTEyMCwxNiArMTM4LDYgQEAKIAkJKihpbnQgKilvcHQtPnZhbHVlID0gdW5zZXQgPyAwIDogb3B0LT5kZWZ2YWw7CiAJCXJldHVybiAwOwogCi0JY2FzZSBPUFRJT05fQ01ETU9ERToKLQkJLyoKLQkJICogR2l2aW5nIHRoZSBzYW1lIG1vZGUgb3B0aW9uIHR3aWNlLCBhbHRob3VnaCBpcyB1bm5lY2Vzc2FyeSwKLQkJICogaXMgbm90IGEgZ3JhdmUgZXJyb3IsIHNvIGxldCBpdCBwYXNzLgotCQkgKi8KLQkJaWYgKCooaW50ICopb3B0LT52YWx1ZSAmJiAqKGludCAqKW9wdC0+dmFsdWUgIT0gb3B0LT5kZWZ2YWwpCi0JCQlyZXR1cm4gb3B0X2NvbW1hbmRfbW9kZV9lcnJvcihvcHQsIGFsbF9vcHRzLCBmbGFncyk7Ci0JCSooaW50ICopb3B0LT52YWx1ZSA9IG9wdC0+ZGVmdmFsOwotCQlyZXR1cm4gMDsKLQogCWNhc2UgT1BUSU9OX1NUUklORzoKIAkJaWYgKHVuc2V0KQogCQkJKihjb25zdCBjaGFyICoqKW9wdC0+dmFsdWUgPSBOVUxMOwpAQCAtMTUzLDE2ICsxNjEsMjcgQEAKIAkJcmV0dXJuIGVycjsKIAogCWNhc2UgT1BUSU9OX0NBTExCQUNLOgotCQlpZiAodW5zZXQpCi0JCQlyZXR1cm4gKCpvcHQtPmNhbGxiYWNrKShvcHQsIE5VTEwsIDEpID8gKC0xKSA6IDA7Ci0JCWlmIChvcHQtPmZsYWdzICYgUEFSU0VfT1BUX05PQVJHKQotCQkJcmV0dXJuICgqb3B0LT5jYWxsYmFjaykob3B0LCBOVUxMLCAwKSA/ICgtMSkgOiAwOwotCQlpZiAob3B0LT5mbGFncyAmIFBBUlNFX09QVF9PUFRBUkcgJiYgIXAtPm9wdCkKLQkJCXJldHVybiAoKm9wdC0+Y2FsbGJhY2spKG9wdCwgTlVMTCwgMCkgPyAoLTEpIDogMDsKLQkJaWYgKGdldF9hcmcocCwgb3B0LCBmbGFncywgJmFyZykpCi0JCQlyZXR1cm4gLTE7Ci0JCXJldHVybiAoKm9wdC0+Y2FsbGJhY2spKG9wdCwgYXJnLCAwKSA/ICgtMSkgOiAwOworCXsKKwkJY29uc3QgY2hhciAqcF9hcmcgPSBOVUxMOworCQlpbnQgcF91bnNldDsKIAorCQlpZiAodW5zZXQpCisJCQlwX3Vuc2V0ID0gMTsKKwkJZWxzZSBpZiAob3B0LT5mbGFncyAmIFBBUlNFX09QVF9OT0FSRykKKwkJCXBfdW5zZXQgPSAwOworCQllbHNlIGlmIChvcHQtPmZsYWdzICYgUEFSU0VfT1BUX09QVEFSRyAmJiAhcC0+b3B0KQorCQkJcF91bnNldCA9IDA7CisJCWVsc2UgaWYgKGdldF9hcmcocCwgb3B0LCBmbGFncywgJmFyZykpCisJCQlyZXR1cm4gLTE7CisJCWVsc2UgeworCQkJcF91bnNldCA9IDA7CisJCQlwX2FyZyA9IGFyZzsKKwkJfQorCQlpZiAob3B0LT5jYWxsYmFjaykKKwkJCXJldHVybiAoKm9wdC0+Y2FsbGJhY2spKG9wdCwgcF9hcmcsIHBfdW5zZXQpID8gKC0xKSA6IDA7CisJCWVsc2UKKwkJCXJldHVybiAoKm9wdC0+bGxfY2FsbGJhY2spKHAsIG9wdCwgcF9hcmcsIHBfdW5zZXQpOworCX0KIAljYXNlIE9QVElPTl9JTlRFR0VSOgogCQlpZiAodW5zZXQpIHsKIAkJCSooaW50ICopb3B0LT52YWx1ZSA9IDA7CkBAIC0xNzQsOSArMTkzLDEzIEBACiAJCX0KIAkJaWYgKGdldF9hcmcocCwgb3B0LCBmbGFncywgJmFyZykpCiAJCQlyZXR1cm4gLTE7CisJCWlmICghKmFyZykKKwkJCXJldHVybiBlcnJvcihfKCIlcyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIiksCisJCQkJICAgICBvcHRuYW1lKG9wdCwgZmxhZ3MpKTsKIAkJKihpbnQgKilvcHQtPnZhbHVlID0gc3RydG9sKGFyZywgKGNoYXIgKiopJnMsIDEwKTsKIAkJaWYgKCpzKQotCQkJcmV0dXJuIG9wdGVycm9yKG9wdCwgImV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiLCBmbGFncyk7CisJCQlyZXR1cm4gZXJyb3IoXygiJXMgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIpLAorCQkJCSAgICAgb3B0bmFtZShvcHQsIGZsYWdzKSk7CiAJCXJldHVybiAwOwogCiAJY2FzZSBPUFRJT05fTUFHTklUVURFOgpAQCAtMTkxLDE3ICsyMTQsMTggQEAKIAkJaWYgKGdldF9hcmcocCwgb3B0LCBmbGFncywgJmFyZykpCiAJCQlyZXR1cm4gLTE7CiAJCWlmICghZ2l0X3BhcnNlX3Vsb25nKGFyZywgb3B0LT52YWx1ZSkpCi0JCQlyZXR1cm4gb3B0ZXJyb3Iob3B0LAotCQkJCSJleHBlY3RzIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIgdmFsdWUgd2l0aCBhbiBvcHRpb25hbCBrL20vZyBzdWZmaXgiLAotCQkJCWZsYWdzKTsKKwkJCXJldHVybiBlcnJvcihfKCIlcyBleHBlY3RzIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIgdmFsdWUiCisJCQkJICAgICAgICIgd2l0aCBhbiBvcHRpb25hbCBrL20vZyBzdWZmaXgiKSwKKwkJCQkgICAgIG9wdG5hbWUob3B0LCBmbGFncykpOwogCQlyZXR1cm4gMDsKIAogCWRlZmF1bHQ6Ci0JCWRpZSgic2hvdWxkIG5vdCBoYXBwZW4sIHNvbWVvbmUgbXVzdCBiZSBoaXQgb24gdGhlIGZvcmVoZWFkIik7CisJCUJVRygib3B0LT50eXBlICVkIHNob3VsZCBub3QgaGFwcGVuIiwgb3B0LT50eXBlKTsKIAl9CiB9CiAKLXN0YXRpYyBpbnQgcGFyc2Vfc2hvcnRfb3B0KHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKnAsIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdGlvbnMpCitzdGF0aWMgZW51bSBwYXJzZV9vcHRfcmVzdWx0IHBhcnNlX3Nob3J0X29wdChzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90ICpwLAorCQkJCQkgICAgIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdGlvbnMpCiB7CiAJY29uc3Qgc3RydWN0IG9wdGlvbiAqYWxsX29wdHMgPSBvcHRpb25zOwogCWNvbnN0IHN0cnVjdCBvcHRpb24gKm51bW9wdCA9IE5VTEw7CkBAIC0yMjgsMTUgKzI1Miw0OCBAQAogCQkJbGVuKys7CiAJCWFyZyA9IHhtZW1kdXB6KHAtPm9wdCwgbGVuKTsKIAkJcC0+b3B0ID0gcC0+b3B0W2xlbl0gPyBwLT5vcHQgKyBsZW4gOiBOVUxMOwotCQlyYyA9ICgqbnVtb3B0LT5jYWxsYmFjaykobnVtb3B0LCBhcmcsIDApID8gKC0xKSA6IDA7CisJCWlmIChudW1vcHQtPmNhbGxiYWNrKQorCQkJcmMgPSAoKm51bW9wdC0+Y2FsbGJhY2spKG51bW9wdCwgYXJnLCAwKSA/ICgtMSkgOiAwOworCQllbHNlCisJCQlyYyA9ICgqbnVtb3B0LT5sbF9jYWxsYmFjaykocCwgbnVtb3B0LCBhcmcsIDApOwogCQlmcmVlKGFyZyk7CiAJCXJldHVybiByYzsKIAl9Ci0JcmV0dXJuIC0yOworCXJldHVybiBQQVJTRV9PUFRfVU5LTk9XTjsKIH0KIAotc3RhdGljIGludCBwYXJzZV9sb25nX29wdChzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90ICpwLCBjb25zdCBjaGFyICphcmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdGlvbnMpCitzdGF0aWMgaW50IGhhc19zdHJpbmcoY29uc3QgY2hhciAqaXQsIGNvbnN0IGNoYXIgKiphcnJheSkKK3sKKwl3aGlsZSAoKmFycmF5KQorCQlpZiAoIXN0cmNtcChpdCwgKihhcnJheSsrKSkpCisJCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpc19hbGlhcyhzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90ICpjdHgsCisJCSAgICBjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvbmVfb3B0LAorCQkgICAgY29uc3Qgc3RydWN0IG9wdGlvbiAqYW5vdGhlcl9vcHQpCit7CisJY29uc3QgY2hhciAqKmdyb3VwOworCisJaWYgKCFjdHgtPmFsaWFzX2dyb3VwcykKKwkJcmV0dXJuIDA7CisKKwlpZiAoIW9uZV9vcHQtPmxvbmdfbmFtZSB8fCAhYW5vdGhlcl9vcHQtPmxvbmdfbmFtZSkKKwkJcmV0dXJuIDA7CisKKwlmb3IgKGdyb3VwID0gY3R4LT5hbGlhc19ncm91cHM7ICpncm91cDsgZ3JvdXAgKz0gMykgeworCQkvKiBpdCBhbmQgb3RoZXIgYXJlIGZyb20gdGhlIHNhbWUgZmFtaWx5PyAqLworCQlpZiAoaGFzX3N0cmluZyhvbmVfb3B0LT5sb25nX25hbWUsIGdyb3VwKSAmJgorCQkgICAgaGFzX3N0cmluZyhhbm90aGVyX29wdC0+bG9uZ19uYW1lLCBncm91cCkpCisJCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBlbnVtIHBhcnNlX29wdF9yZXN1bHQgcGFyc2VfbG9uZ19vcHQoCisJc3RydWN0IHBhcnNlX29wdF9jdHhfdCAqcCwgY29uc3QgY2hhciAqYXJnLAorCWNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdGlvbnMpCiB7CiAJY29uc3Qgc3RydWN0IG9wdGlvbiAqYWxsX29wdHMgPSBvcHRpb25zOwogCWNvbnN0IGNoYXIgKmFyZ19lbmQgPSBzdHJjaHJudWwoYXJnLCAnPScpOwpAQCAtMjU3LDE3ICszMTQsMjIgQEAKIAkJCWlmICghcmVzdCkKIAkJCQljb250aW51ZTsKIAkJCWlmICgqcmVzdCA9PSAnPScpCi0JCQkJcmV0dXJuIG9wdGVycm9yKG9wdGlvbnMsICJ0YWtlcyBubyB2YWx1ZSIsIGZsYWdzKTsKKwkJCQlyZXR1cm4gZXJyb3IoXygiJXMgdGFrZXMgbm8gdmFsdWUiKSwKKwkJCQkJICAgICBvcHRuYW1lKG9wdGlvbnMsIGZsYWdzKSk7CiAJCQlpZiAoKnJlc3QpCiAJCQkJY29udGludWU7CisJCQlpZiAob3B0aW9ucy0+dmFsdWUpCisJCQkJKihpbnQgKilvcHRpb25zLT52YWx1ZSA9IG9wdGlvbnMtPmRlZnZhbDsKIAkJCXAtPm91dFtwLT5jcGlkeCsrXSA9IGFyZyAtIDI7Ci0JCQlyZXR1cm4gMDsKKwkJCXJldHVybiBQQVJTRV9PUFRfRE9ORTsKIAkJfQogCQlpZiAoIXJlc3QpIHsKIAkJCS8qIGFiYnJldmlhdGVkPyAqLwotCQkJaWYgKCFzdHJuY21wKGxvbmdfbmFtZSwgYXJnLCBhcmdfZW5kIC0gYXJnKSkgeworCQkJaWYgKCEocC0+ZmxhZ3MgJiBQQVJTRV9PUFRfS0VFUF9VTktOT1dOKSAmJgorCQkJICAgICFzdHJuY21wKGxvbmdfbmFtZSwgYXJnLCBhcmdfZW5kIC0gYXJnKSkgewogaXNfYWJicmV2aWF0ZWQ6Ci0JCQkJaWYgKGFiYnJldl9vcHRpb24pIHsKKwkJCQlpZiAoYWJicmV2X29wdGlvbiAmJgorCQkJCSAgICAhaXNfYWxpYXMocCwgYWJicmV2X29wdGlvbiwgb3B0aW9ucykpIHsKIAkJCQkJLyoKIAkJCQkJICogSWYgdGhpcyBpcyBhYmJyZXZpYXRlZCwgaXQgaXMKIAkJCQkJICogYW1iaWd1b3VzLiBTbyB3aGVuIHRoZXJlIGlzIG5vCkBAIC0yOTMsOCArMzU1LDcgQEAKIAkJCX0KIAkJCS8qIG5lZ2F0ZWQ/ICovCiAJCQlpZiAoIXN0YXJ0c193aXRoKGFyZywgIm5vLSIpKSB7Ci0JCQkJaWYgKHN0YXJ0c193aXRoKGxvbmdfbmFtZSwgIm5vLSIpKSB7Ci0JCQkJCWxvbmdfbmFtZSArPSAzOworCQkJCWlmIChza2lwX3ByZWZpeChsb25nX25hbWUsICJuby0iLCAmbG9uZ19uYW1lKSkgewogCQkJCQlvcHRfZmxhZ3MgfD0gT1BUX1VOU0VUOwogCQkJCQlnb3RvIGFnYWluOwogCQkJCX0KQEAgLTMxNywxOSArMzc4LDIzIEBACiAJCXJldHVybiBnZXRfdmFsdWUocCwgb3B0aW9ucywgYWxsX29wdHMsIGZsYWdzIF4gb3B0X2ZsYWdzKTsKIAl9CiAKKwlpZiAoZGlzYWxsb3dfYWJicmV2aWF0ZWRfb3B0aW9ucyAmJiAoYW1iaWd1b3VzX29wdGlvbiB8fCBhYmJyZXZfb3B0aW9uKSkKKwkJZGllKCJkaXNhbGxvd2VkIGFiYnJldmlhdGVkIG9yIGFtYmlndW91cyBvcHRpb24gJyUuKnMnIiwKKwkJICAgIChpbnQpKGFyZ19lbmQgLSBhcmcpLCBhcmcpOworCiAJaWYgKGFtYmlndW91c19vcHRpb24pIHsKLQkJZXJyb3IoIkFtYmlndW91cyBvcHRpb246ICVzICIKLQkJCSIoY291bGQgYmUgLS0lcyVzIG9yIC0tJXMlcykiLAorCQllcnJvcihfKCJhbWJpZ3VvdXMgb3B0aW9uOiAlcyAiCisJCQkiKGNvdWxkIGJlIC0tJXMlcyBvciAtLSVzJXMpIiksCiAJCQlhcmcsCiAJCQkoYW1iaWd1b3VzX2ZsYWdzICYgT1BUX1VOU0VUKSA/ICAibm8tIiA6ICIiLAogCQkJYW1iaWd1b3VzX29wdGlvbi0+bG9uZ19uYW1lLAogCQkJKGFiYnJldl9mbGFncyAmIE9QVF9VTlNFVCkgPyAgIm5vLSIgOiAiIiwKIAkJCWFiYnJldl9vcHRpb24tPmxvbmdfbmFtZSk7Ci0JCXJldHVybiAtMzsKKwkJcmV0dXJuIFBBUlNFX09QVF9IRUxQOwogCX0KIAlpZiAoYWJicmV2X29wdGlvbikKIAkJcmV0dXJuIGdldF92YWx1ZShwLCBhYmJyZXZfb3B0aW9uLCBhbGxfb3B0cywgYWJicmV2X2ZsYWdzKTsKLQlyZXR1cm4gLTI7CisJcmV0dXJuIFBBUlNFX09QVF9VTktOT1dOOwogfQogCiBzdGF0aWMgaW50IHBhcnNlX25vZGFzaF9vcHQoc3RydWN0IHBhcnNlX29wdF9jdHhfdCAqcCwgY29uc3QgY2hhciAqYXJnLApAQCAtMzUyLDcgKzQxNyw3IEBACiAJCXJldHVybjsKIAogCWlmIChzdGFydHNfd2l0aChhcmcsICJuby0iKSkgewotCQllcnJvciAoImRpZCB5b3UgbWVhbiBgLS0lc2AgKHdpdGggdHdvIGRhc2hlcyA/KSIsIGFyZyk7CisJCWVycm9yKF8oImRpZCB5b3UgbWVhbiBgLS0lc2AgKHdpdGggdHdvIGRhc2hlcyk/IiksIGFyZyk7CiAJCWV4aXQoMTI5KTsKIAl9CiAKQEAgLTM2MCw3ICs0MjUsNyBAQAogCQlpZiAoIW9wdGlvbnMtPmxvbmdfbmFtZSkKIAkJCWNvbnRpbnVlOwogCQlpZiAoc3RhcnRzX3dpdGgob3B0aW9ucy0+bG9uZ19uYW1lLCBhcmcpKSB7Ci0JCQllcnJvciAoImRpZCB5b3UgbWVhbiBgLS0lc2AgKHdpdGggdHdvIGRhc2hlcyA/KSIsIGFyZyk7CisJCQllcnJvcihfKCJkaWQgeW91IG1lYW4gYC0tJXNgICh3aXRoIHR3byBkYXNoZXMpPyIpLCBhcmcpOwogCQkJZXhpdCgxMjkpOwogCQl9CiAJfQpAQCAtMzk5LDYgKzQ2NCwyMyBAQAogCQkJaWYgKChvcHRzLT5mbGFncyAmIFBBUlNFX09QVF9PUFRBUkcpIHx8CiAJCQkgICAgIShvcHRzLT5mbGFncyAmIFBBUlNFX09QVF9OT0FSRykpCiAJCQkJZXJyIHw9IG9wdGJ1ZyhvcHRzLCAic2hvdWxkIG5vdCBhY2NlcHQgYW4gYXJndW1lbnQiKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVElPTl9DQUxMQkFDSzoKKwkJCWlmICghb3B0cy0+Y2FsbGJhY2sgJiYgIW9wdHMtPmxsX2NhbGxiYWNrKQorCQkJCUJVRygiT1BUSU9OX0NBTExCQUNLIG5lZWRzIG9uZSBjYWxsYmFjayIpOworCQkJaWYgKG9wdHMtPmNhbGxiYWNrICYmIG9wdHMtPmxsX2NhbGxiYWNrKQorCQkJCUJVRygiT1BUSU9OX0NBTExCQUNLIGNhbid0IGhhdmUgdHdvIGNhbGxiYWNrcyIpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUSU9OX0xPV0xFVkVMX0NBTExCQUNLOgorCQkJaWYgKCFvcHRzLT5sbF9jYWxsYmFjaykKKwkJCQlCVUcoIk9QVElPTl9MT1dMRVZFTF9DQUxMQkFDSyBuZWVkcyBhIGNhbGxiYWNrIik7CisJCQlpZiAob3B0cy0+Y2FsbGJhY2spCisJCQkJQlVHKCJPUFRJT05fTE9XTEVWRUxfQ0FMTEJBQ0sgbmVlZHMgbm8gaGlnaCBsZXZlbCBjYWxsYmFjayIpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUSU9OX0FMSUFTOgorCQkJQlVHKCJPUFRfQUxJQVMoKSBzaG91bGQgbm90IHJlbWFpbiBhdCB0aGlzIHBvaW50LiAiCisJCQkgICAgIkFyZSB5b3UgdXNpbmcgcGFyc2Vfb3B0aW9uc19zdGVwKCkgZGlyZWN0bHk/XG4iCisJCQkgICAgIlRoYXQgY2FzZSBpcyBub3Qgc3VwcG9ydGVkIHlldC4iKTsKIAkJZGVmYXVsdDoKIAkJCTsgLyogb2suICh1c3VhbGx5IGFjY2VwdHMgYW4gYXJndW1lbnQpICovCiAJCX0KQEAgLTQxMCwyMSArNDkyLDM3IEBACiAJCWV4aXQoMTI4KTsKIH0KIAorc3RhdGljIHZvaWQgcGFyc2Vfb3B0aW9uc19zdGFydF8xKHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKmN0eCwKKwkJCQkgIGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4LAorCQkJCSAgY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0aW9ucywgaW50IGZsYWdzKQoreworCWN0eC0+YXJnYyA9IGFyZ2M7CisJY3R4LT5hcmd2ID0gYXJndjsKKwlpZiAoIShmbGFncyAmIFBBUlNFX09QVF9PTkVfU0hPVCkpIHsKKwkJY3R4LT5hcmdjLS07CisJCWN0eC0+YXJndisrOworCX0KKwljdHgtPnRvdGFsID0gY3R4LT5hcmdjOworCWN0eC0+b3V0ICAgPSBhcmd2OworCWN0eC0+cHJlZml4ID0gcHJlZml4OworCWN0eC0+Y3BpZHggPSAoKGZsYWdzICYgUEFSU0VfT1BUX0tFRVBfQVJHVjApICE9IDApOworCWN0eC0+ZmxhZ3MgPSBmbGFnczsKKwlpZiAoKGZsYWdzICYgUEFSU0VfT1BUX0tFRVBfVU5LTk9XTikgJiYKKwkgICAgKGZsYWdzICYgUEFSU0VfT1BUX1NUT1BfQVRfTk9OX09QVElPTikgJiYKKwkgICAgIShmbGFncyAmIFBBUlNFX09QVF9PTkVfU0hPVCkpCisJCUJVRygiU1RPUF9BVF9OT05fT1BUSU9OIGFuZCBLRUVQX1VOS05PV04gZG9uJ3QgZ28gdG9nZXRoZXIiKTsKKwlpZiAoKGZsYWdzICYgUEFSU0VfT1BUX09ORV9TSE9UKSAmJgorCSAgICAoZmxhZ3MgJiBQQVJTRV9PUFRfS0VFUF9BUkdWMCkpCisJCUJVRygiQ2FuJ3Qga2VlcCBhcmd2MCBpZiB5b3UgZG9uJ3QgaGF2ZSBpdCIpOworCXBhcnNlX29wdGlvbnNfY2hlY2sob3B0aW9ucyk7Cit9CisKIHZvaWQgcGFyc2Vfb3B0aW9uc19zdGFydChzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90ICpjdHgsCiAJCQkgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgsCiAJCQkgY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0aW9ucywgaW50IGZsYWdzKQogewogCW1lbXNldChjdHgsIDAsIHNpemVvZigqY3R4KSk7Ci0JY3R4LT5hcmdjID0gY3R4LT50b3RhbCA9IGFyZ2MgLSAxOwotCWN0eC0+YXJndiA9IGFyZ3YgKyAxOwotCWN0eC0+b3V0ICA9IGFyZ3Y7Ci0JY3R4LT5wcmVmaXggPSBwcmVmaXg7Ci0JY3R4LT5jcGlkeCA9ICgoZmxhZ3MgJiBQQVJTRV9PUFRfS0VFUF9BUkdWMCkgIT0gMCk7Ci0JY3R4LT5mbGFncyA9IGZsYWdzOwotCWlmICgoZmxhZ3MgJiBQQVJTRV9PUFRfS0VFUF9VTktOT1dOKSAmJgotCSAgICAoZmxhZ3MgJiBQQVJTRV9PUFRfU1RPUF9BVF9OT05fT1BUSU9OKSkKLQkJZGllKCJTVE9QX0FUX05PTl9PUFRJT04gYW5kIEtFRVBfVU5LTk9XTiBkb24ndCBnbyB0b2dldGhlciIpOwotCXBhcnNlX29wdGlvbnNfY2hlY2sob3B0aW9ucyk7CisJcGFyc2Vfb3B0aW9uc19zdGFydF8xKGN0eCwgYXJnYywgYXJndiwgcHJlZml4LCBvcHRpb25zLCBmbGFncyk7CiB9CiAKIHN0YXRpYyB2b2lkIHNob3dfbmVnYXRlZF9naXRjb21wKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdHMsIGludCBucl9ub29wdHMpCkBAIC00NzQsOCArNTcyLDcgQEAKIAl9CiB9CiAKLXN0YXRpYyBpbnQgc2hvd19naXRjb21wKHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKmN0eCwKLQkJCWNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdHMpCitzdGF0aWMgaW50IHNob3dfZ2l0Y29tcChjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHRzKQogewogCWNvbnN0IHN0cnVjdCBvcHRpb24gKm9yaWdpbmFsX29wdHMgPSBvcHRzOwogCWludCBucl9ub29wdHMgPSAwOwpAQCAtNTE5LDYgKzYxNiw4MyBAQAogCXJldHVybiBQQVJTRV9PUFRfQ09NUExFVEU7CiB9CiAKKy8qCisgKiBTY2FuIGFuZCBtYXkgcHJvZHVjZSBhIG5ldyBvcHRpb25bXSBhcnJheSwgd2hpY2ggc2hvdWxkIGJlIHVzZWQKKyAqIGluc3RlYWQgb2YgdGhlIG9yaWdpbmFsICdvcHRpb25zJy4KKyAqCisgKiBSaWdodCBub3cgdGhpcyBpcyBvbmx5IHVzZWQgdG8gcHJlcHJvY2VzcyBhbmQgc3Vic3RpdHV0ZQorICogT1BUSU9OX0FMSUFTLgorICovCitzdGF0aWMgc3RydWN0IG9wdGlvbiAqcHJlcHJvY2Vzc19vcHRpb25zKHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKmN0eCwKKwkJCQkJIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdGlvbnMpCit7CisJc3RydWN0IG9wdGlvbiAqbmV3b3B0OworCWludCBpLCBuciwgYWxpYXM7CisJaW50IG5yX2FsaWFzZXMgPSAwOworCisJZm9yIChuciA9IDA7IG9wdGlvbnNbbnJdLnR5cGUgIT0gT1BUSU9OX0VORDsgbnIrKykgeworCQlpZiAob3B0aW9uc1tucl0udHlwZSA9PSBPUFRJT05fQUxJQVMpCisJCQlucl9hbGlhc2VzKys7CisJfQorCisJaWYgKCFucl9hbGlhc2VzKQorCQlyZXR1cm4gTlVMTDsKKworCUFMTE9DX0FSUkFZKG5ld29wdCwgbnIgKyAxKTsKKwlDT1BZX0FSUkFZKG5ld29wdCwgb3B0aW9ucywgbnIgKyAxKTsKKworCS8qIGVhY2ggYWxpYXMgaGFzIHR3byBzdHJpbmcgcG9pbnRlcnMgYW5kIE5VTEwgKi8KKwlDQUxMT0NfQVJSQVkoY3R4LT5hbGlhc19ncm91cHMsIDMgKiAobnJfYWxpYXNlcyArIDEpKTsKKworCWZvciAoYWxpYXMgPSAwLCBpID0gMDsgaSA8IG5yOyBpKyspIHsKKwkJaW50IHNob3J0X25hbWU7CisJCWNvbnN0IGNoYXIgKmxvbmdfbmFtZTsKKwkJY29uc3QgY2hhciAqc291cmNlOworCQlpbnQgajsKKworCQlpZiAobmV3b3B0W2ldLnR5cGUgIT0gT1BUSU9OX0FMSUFTKQorCQkJY29udGludWU7CisKKwkJc2hvcnRfbmFtZSA9IG5ld29wdFtpXS5zaG9ydF9uYW1lOworCQlsb25nX25hbWUgPSBuZXdvcHRbaV0ubG9uZ19uYW1lOworCQlzb3VyY2UgPSBuZXdvcHRbaV0udmFsdWU7CisKKwkJaWYgKCFsb25nX25hbWUpCisJCQlCVUcoIkFuIGFsaWFzIG11c3QgaGF2ZSBsb25nIG9wdGlvbiBuYW1lIik7CisKKwkJZm9yIChqID0gMDsgaiA8IG5yOyBqKyspIHsKKwkJCWNvbnN0IGNoYXIgKm5hbWUgPSBvcHRpb25zW2pdLmxvbmdfbmFtZTsKKworCQkJaWYgKCFuYW1lIHx8IHN0cmNtcChuYW1lLCBzb3VyY2UpKQorCQkJCWNvbnRpbnVlOworCisJCQlpZiAob3B0aW9uc1tqXS50eXBlID09IE9QVElPTl9BTElBUykKKwkJCQlCVUcoIk5vIHBsZWFzZS4gTmVzdGVkIGFsaWFzZXMgYXJlIG5vdCBzdXBwb3J0ZWQuIik7CisKKwkJCS8qCisJCQkgKiBORUVEU1dPUks6IHRoaXMgaXMgYSBiaXQgaW5jb25zaXN0ZW50IGJlY2F1c2UKKwkJCSAqIHVzYWdlX3dpdGhfb3B0aW9ucygpIG9uIHRoZSBvcmlnaW5hbCBvcHRpb25zW10gd2lsbCBwcmludAorCQkJICogaGVscCBzdHJpbmcgYXMgImFsaWFzIG9mICVzIiBidXQgImdpdCBjbWQgLWgiIHdpbGwKKwkJCSAqIHByaW50IHRoZSBvcmlnaW5hbCBoZWxwIHN0cmluZy4KKwkJCSAqLworCQkJbWVtY3B5KG5ld29wdCArIGksIG9wdGlvbnMgKyBqLCBzaXplb2YoKm5ld29wdCkpOworCQkJbmV3b3B0W2ldLnNob3J0X25hbWUgPSBzaG9ydF9uYW1lOworCQkJbmV3b3B0W2ldLmxvbmdfbmFtZSA9IGxvbmdfbmFtZTsKKwkJCWJyZWFrOworCQl9CisKKwkJaWYgKGogPT0gbnIpCisJCQlCVUcoImNvdWxkIG5vdCBmaW5kIHNvdXJjZSBvcHRpb24gJyVzJyBvZiBhbGlhcyAnJXMnIiwKKwkJCSAgICBzb3VyY2UsIG5ld29wdFtpXS5sb25nX25hbWUpOworCQljdHgtPmFsaWFzX2dyb3Vwc1thbGlhcyAqIDMgKyAwXSA9IG5ld29wdFtpXS5sb25nX25hbWU7CisJCWN0eC0+YWxpYXNfZ3JvdXBzW2FsaWFzICogMyArIDFdID0gb3B0aW9uc1tqXS5sb25nX25hbWU7CisJCWN0eC0+YWxpYXNfZ3JvdXBzW2FsaWFzICogMyArIDJdID0gTlVMTDsKKwkJYWxpYXMrKzsKKwl9CisKKwlyZXR1cm4gbmV3b3B0OworfQorCiBzdGF0aWMgaW50IHVzYWdlX3dpdGhfb3B0aW9uc19pbnRlcm5hbChzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90ICosCiAJCQkJICAgICAgIGNvbnN0IGNoYXIgKiBjb25zdCAqLAogCQkJCSAgICAgICBjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGludCwgaW50KTsKQEAgLTUzNSw2ICs3MDksMTAgQEAKIAlmb3IgKDsgY3R4LT5hcmdjOyBjdHgtPmFyZ2MtLSwgY3R4LT5hcmd2KyspIHsKIAkJY29uc3QgY2hhciAqYXJnID0gY3R4LT5hcmd2WzBdOwogCisJCWlmIChjdHgtPmZsYWdzICYgUEFSU0VfT1BUX09ORV9TSE9UICYmCisJCSAgICBjdHgtPmFyZ2MgIT0gY3R4LT50b3RhbCkKKwkJCWJyZWFrOworCiAJCWlmICgqYXJnICE9ICctJyB8fCAhYXJnWzFdKSB7CiAJCQlpZiAocGFyc2Vfbm9kYXNoX29wdChjdHgsIGFyZywgb3B0aW9ucykgPT0gMCkKIAkJCQljb250aW51ZTsKQEAgLTU1MCwyNyArNzI4LDMzIEBACiAKIAkJLyogbG9uZSAtLWdpdC1jb21wbGV0aW9uLWhlbHBlciBpcyBhc2tlZCBieSBnaXQtY29tcGxldGlvbi5iYXNoICovCiAJCWlmIChjdHgtPnRvdGFsID09IDEgJiYgIXN0cmNtcChhcmcgKyAxLCAiLWdpdC1jb21wbGV0aW9uLWhlbHBlciIpKQotCQkJcmV0dXJuIHNob3dfZ2l0Y29tcChjdHgsIG9wdGlvbnMpOworCQkJcmV0dXJuIHNob3dfZ2l0Y29tcChvcHRpb25zKTsKIAogCQlpZiAoYXJnWzFdICE9ICctJykgewogCQkJY3R4LT5vcHQgPSBhcmcgKyAxOwogCQkJc3dpdGNoIChwYXJzZV9zaG9ydF9vcHQoY3R4LCBvcHRpb25zKSkgewotCQkJY2FzZSAtMToKKwkJCWNhc2UgUEFSU0VfT1BUX0VSUk9SOgogCQkJCXJldHVybiBQQVJTRV9PUFRfRVJST1I7Ci0JCQljYXNlIC0yOgorCQkJY2FzZSBQQVJTRV9PUFRfVU5LTk9XTjoKIAkJCQlpZiAoY3R4LT5vcHQpCiAJCQkJCWNoZWNrX3R5cG9zKGFyZyArIDEsIG9wdGlvbnMpOwogCQkJCWlmIChpbnRlcm5hbF9oZWxwICYmICpjdHgtPm9wdCA9PSAnaCcpCiAJCQkJCWdvdG8gc2hvd191c2FnZTsKIAkJCQlnb3RvIHVua25vd247CisJCQljYXNlIFBBUlNFX09QVF9OT05fT1BUSU9OOgorCQkJY2FzZSBQQVJTRV9PUFRfSEVMUDoKKwkJCWNhc2UgUEFSU0VfT1BUX0NPTVBMRVRFOgorCQkJCUJVRygicGFyc2Vfc2hvcnRfb3B0KCkgY2Fubm90IHJldHVybiB0aGVzZSIpOworCQkJY2FzZSBQQVJTRV9PUFRfRE9ORToKKwkJCQlicmVhazsKIAkJCX0KIAkJCWlmIChjdHgtPm9wdCkKIAkJCQljaGVja190eXBvcyhhcmcgKyAxLCBvcHRpb25zKTsKIAkJCXdoaWxlIChjdHgtPm9wdCkgewogCQkJCXN3aXRjaCAocGFyc2Vfc2hvcnRfb3B0KGN0eCwgb3B0aW9ucykpIHsKLQkJCQljYXNlIC0xOgorCQkJCWNhc2UgUEFSU0VfT1BUX0VSUk9SOgogCQkJCQlyZXR1cm4gUEFSU0VfT1BUX0VSUk9SOwotCQkJCWNhc2UgLTI6CisJCQkJY2FzZSBQQVJTRV9PUFRfVU5LTk9XTjoKIAkJCQkJaWYgKGludGVybmFsX2hlbHAgJiYgKmN0eC0+b3B0ID09ICdoJykKIAkJCQkJCWdvdG8gc2hvd191c2FnZTsKIApAQCAtNTgyLDEyICs3NjYsMTkgQEAKIAkJCQkJY3R4LT5hcmd2WzBdID0geHN0cmR1cChjdHgtPm9wdCAtIDEpOwogCQkJCQkqKGNoYXIgKiljdHgtPmFyZ3ZbMF0gPSAnLSc7CiAJCQkJCWdvdG8gdW5rbm93bjsKKwkJCQljYXNlIFBBUlNFX09QVF9OT05fT1BUSU9OOgorCQkJCWNhc2UgUEFSU0VfT1BUX0NPTVBMRVRFOgorCQkJCWNhc2UgUEFSU0VfT1BUX0hFTFA6CisJCQkJCUJVRygicGFyc2Vfc2hvcnRfb3B0KCkgY2Fubm90IHJldHVybiB0aGVzZSIpOworCQkJCWNhc2UgUEFSU0VfT1BUX0RPTkU6CisJCQkJCWJyZWFrOwogCQkJCX0KIAkJCX0KIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJaWYgKCFhcmdbMl0pIHsgLyogIi0tIiAqLworCQlpZiAoIWFyZ1syXSAvKiAiLS0iICovIHx8CisJCSAgICAhc3RyY21wKGFyZyArIDIsICJlbmQtb2Ytb3B0aW9ucyIpKSB7CiAJCQlpZiAoIShjdHgtPmZsYWdzICYgUEFSU0VfT1BUX0tFRVBfREFTSERBU0gpKSB7CiAJCQkJY3R4LT5hcmdjLS07CiAJCQkJY3R4LT5hcmd2Kys7CkBAIC02MDAsMTUgKzc5MSwyMiBAQAogCQlpZiAoaW50ZXJuYWxfaGVscCAmJiAhc3RyY21wKGFyZyArIDIsICJoZWxwIikpCiAJCQlnb3RvIHNob3dfdXNhZ2U7CiAJCXN3aXRjaCAocGFyc2VfbG9uZ19vcHQoY3R4LCBhcmcgKyAyLCBvcHRpb25zKSkgewotCQljYXNlIC0xOgorCQljYXNlIFBBUlNFX09QVF9FUlJPUjoKIAkJCXJldHVybiBQQVJTRV9PUFRfRVJST1I7Ci0JCWNhc2UgLTI6CisJCWNhc2UgUEFSU0VfT1BUX1VOS05PV046CiAJCQlnb3RvIHVua25vd247Ci0JCWNhc2UgLTM6CisJCWNhc2UgUEFSU0VfT1BUX0hFTFA6CiAJCQlnb3RvIHNob3dfdXNhZ2U7CisJCWNhc2UgUEFSU0VfT1BUX05PTl9PUFRJT046CisJCWNhc2UgUEFSU0VfT1BUX0NPTVBMRVRFOgorCQkJQlVHKCJwYXJzZV9sb25nX29wdCgpIGNhbm5vdCByZXR1cm4gdGhlc2UiKTsKKwkJY2FzZSBQQVJTRV9PUFRfRE9ORToKKwkJCWJyZWFrOwogCQl9CiAJCWNvbnRpbnVlOwogdW5rbm93bjoKKwkJaWYgKGN0eC0+ZmxhZ3MgJiBQQVJTRV9PUFRfT05FX1NIT1QpCisJCQlicmVhazsKIAkJaWYgKCEoY3R4LT5mbGFncyAmIFBBUlNFX09QVF9LRUVQX1VOS05PV04pKQogCQkJcmV0dXJuIFBBUlNFX09QVF9VTktOT1dOOwogCQljdHgtPm91dFtjdHgtPmNwaWR4KytdID0gY3R4LT5hcmd2WzBdOwpAQCAtNjIyLDYgKzgyMCw5IEBACiAKIGludCBwYXJzZV9vcHRpb25zX2VuZChzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90ICpjdHgpCiB7CisJaWYgKGN0eC0+ZmxhZ3MgJiBQQVJTRV9PUFRfT05FX1NIT1QpCisJCXJldHVybiBjdHgtPnRvdGFsIC0gY3R4LT5hcmdjOworCiAJTU9WRV9BUlJBWShjdHgtPm91dCArIGN0eC0+Y3BpZHgsIGN0eC0+YXJndiwgY3R4LT5hcmdjKTsKIAljdHgtPm91dFtjdHgtPmNwaWR4ICsgY3R4LT5hcmdjXSA9IE5VTEw7CiAJcmV0dXJuIGN0eC0+Y3BpZHggKyBjdHgtPmFyZ2M7CkBAIC02MzIsOCArODMzLDE2IEBACiAJCSAgaW50IGZsYWdzKQogewogCXN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgY3R4OworCXN0cnVjdCBvcHRpb24gKnJlYWxfb3B0aW9uczsKIAotCXBhcnNlX29wdGlvbnNfc3RhcnQoJmN0eCwgYXJnYywgYXJndiwgcHJlZml4LCBvcHRpb25zLCBmbGFncyk7CisJZGlzYWxsb3dfYWJicmV2aWF0ZWRfb3B0aW9ucyA9CisJCWdpdF9lbnZfYm9vbCgiR0lUX1RFU1RfRElTQUxMT1dfQUJCUkVWSUFURURfT1BUSU9OUyIsIDApOworCisJbWVtc2V0KCZjdHgsIDAsIHNpemVvZihjdHgpKTsKKwlyZWFsX29wdGlvbnMgPSBwcmVwcm9jZXNzX29wdGlvbnMoJmN0eCwgb3B0aW9ucyk7CisJaWYgKHJlYWxfb3B0aW9ucykKKwkJb3B0aW9ucyA9IHJlYWxfb3B0aW9uczsKKwlwYXJzZV9vcHRpb25zX3N0YXJ0XzEoJmN0eCwgYXJnYywgYXJndiwgcHJlZml4LCBvcHRpb25zLCBmbGFncyk7CiAJc3dpdGNoIChwYXJzZV9vcHRpb25zX3N0ZXAoJmN0eCwgb3B0aW9ucywgdXNhZ2VzdHIpKSB7CiAJY2FzZSBQQVJTRV9PUFRfSEVMUDoKIAljYXNlIFBBUlNFX09QVF9FUlJPUjoKQEAgLTY0NSwxNyArODU0LDE5IEBACiAJCWJyZWFrOwogCWRlZmF1bHQ6IC8qIFBBUlNFX09QVF9VTktOT1dOICovCiAJCWlmIChjdHguYXJndlswXVsxXSA9PSAnLScpIHsKLQkJCWVycm9yKCJ1bmtub3duIG9wdGlvbiBgJXMnIiwgY3R4LmFyZ3ZbMF0gKyAyKTsKKwkJCWVycm9yKF8oInVua25vd24gb3B0aW9uIGAlcyciKSwgY3R4LmFyZ3ZbMF0gKyAyKTsKIAkJfSBlbHNlIGlmIChpc2FzY2lpKCpjdHgub3B0KSkgewotCQkJZXJyb3IoInVua25vd24gc3dpdGNoIGAlYyciLCAqY3R4Lm9wdCk7CisJCQllcnJvcihfKCJ1bmtub3duIHN3aXRjaCBgJWMnIiksICpjdHgub3B0KTsKIAkJfSBlbHNlIHsKLQkJCWVycm9yKCJ1bmtub3duIG5vbi1hc2NpaSBvcHRpb24gaW4gc3RyaW5nOiBgJXMnIiwKKwkJCWVycm9yKF8oInVua25vd24gbm9uLWFzY2lpIG9wdGlvbiBpbiBzdHJpbmc6IGAlcyciKSwKIAkJCSAgICAgIGN0eC5hcmd2WzBdKTsKIAkJfQogCQl1c2FnZV93aXRoX29wdGlvbnModXNhZ2VzdHIsIG9wdGlvbnMpOwogCX0KIAogCXByZWNvbXBvc2VfYXJndihhcmdjLCBhcmd2KTsKKwlmcmVlKHJlYWxfb3B0aW9ucyk7CisJZnJlZShjdHguYWxpYXNfZ3JvdXBzKTsKIAlyZXR1cm4gcGFyc2Vfb3B0aW9uc19lbmQoJmN0eCk7CiB9CiAKQEAgLTc1MCw2ICs5NjEsMTIgQEAKIAkJCWZwdXRjKCdcbicsIG91dGZpbGUpOwogCQkJcGFkID0gVVNBR0VfT1BUU19XSURUSDsKIAkJfQorCQlpZiAob3B0cy0+dHlwZSA9PSBPUFRJT05fQUxJQVMpIHsKKwkJCWZwcmludGYob3V0ZmlsZSwgIiUqcyIsIHBhZCArIFVTQUdFX0dBUCwgIiIpOworCQkJZnByaW50Zl9sbihvdXRmaWxlLCBfKCJhbGlhcyBvZiAtLSVzIiksCisJCQkJICAgKGNvbnN0IGNoYXIgKilvcHRzLT52YWx1ZSk7CisJCQljb250aW51ZTsKKwkJfQogCQlmcHJpbnRmKG91dGZpbGUsICIlKnMlc1xuIiwgcGFkICsgVVNBR0VfR0FQLCAiIiwgXyhvcHRzLT5oZWxwKSk7CiAJfQogCWZwdXRjKCdcbicsIG91dGZpbGUpOwpAQCAtNzc1LDEyICs5OTIsMTcgQEAKIAl1c2FnZV93aXRoX29wdGlvbnModXNhZ2VzdHIsIG9wdGlvbnMpOwogfQogCi0jdW5kZWYgb3B0ZXJyb3IKLWludCBvcHRlcnJvcihjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGNvbnN0IGNoYXIgKnJlYXNvbiwgaW50IGZsYWdzKQorY29uc3QgY2hhciAqb3B0bmFtZShjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGludCBmbGFncykKIHsKKwlzdGF0aWMgc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOworCisJc3RyYnVmX3Jlc2V0KCZzYik7CiAJaWYgKGZsYWdzICYgT1BUX1NIT1JUKQotCQlyZXR1cm4gZXJyb3IoInN3aXRjaCBgJWMnICVzIiwgb3B0LT5zaG9ydF9uYW1lLCByZWFzb24pOwotCWlmIChmbGFncyAmIE9QVF9VTlNFVCkKLQkJcmV0dXJuIGVycm9yKCJvcHRpb24gYG5vLSVzJyAlcyIsIG9wdC0+bG9uZ19uYW1lLCByZWFzb24pOwotCXJldHVybiBlcnJvcigib3B0aW9uIGAlcycgJXMiLCBvcHQtPmxvbmdfbmFtZSwgcmVhc29uKTsKKwkJc3RyYnVmX2FkZGYoJnNiLCAic3dpdGNoIGAlYyciLCBvcHQtPnNob3J0X25hbWUpOworCWVsc2UgaWYgKGZsYWdzICYgT1BUX1VOU0VUKQorCQlzdHJidWZfYWRkZigmc2IsICJvcHRpb24gYG5vLSVzJyIsIG9wdC0+bG9uZ19uYW1lKTsKKwllbHNlCisJCXN0cmJ1Zl9hZGRmKCZzYiwgIm9wdGlvbiBgJXMnIiwgb3B0LT5sb25nX25hbWUpOworCisJcmV0dXJuIHNiLmJ1ZjsKIH0KZGlmZiAtLWdpdCBhL3BhcnNlLW9wdGlvbnMuaCBiL3BhcnNlLW9wdGlvbnMuaAppbmRleCBhNjUwYTdkLi5mZWNlNWJhIDEwMDY0NAotLS0gYS9wYXJzZS1vcHRpb25zLmgKKysrIGIvcGFyc2Utb3B0aW9ucy5oCkBAIC0xLDE4ICsxLDIzIEBACiAjaWZuZGVmIFBBUlNFX09QVElPTlNfSAogI2RlZmluZSBQQVJTRV9PUFRJT05TX0gKIAorLyoqCisgKiBSZWZlciB0byBEb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktcGFyc2Utb3B0aW9ucy50eHQgZm9yIHRoZSBBUEkgZG9jLgorICovCisKIGVudW0gcGFyc2Vfb3B0X3R5cGUgewogCS8qIHNwZWNpYWwgdHlwZXMgKi8KIAlPUFRJT05fRU5ELAogCU9QVElPTl9BUkdVTUVOVCwKIAlPUFRJT05fR1JPVVAsCiAJT1BUSU9OX05VTUJFUiwKKwlPUFRJT05fQUxJQVMsCiAJLyogb3B0aW9ucyB3aXRoIG5vIGFyZ3VtZW50cyAqLwogCU9QVElPTl9CSVQsCiAJT1BUSU9OX05FR0JJVCwKKwlPUFRJT05fQklUT1AsCiAJT1BUSU9OX0NPVU5UVVAsCiAJT1BUSU9OX1NFVF9JTlQsCi0JT1BUSU9OX0NNRE1PREUsCiAJLyogb3B0aW9ucyB3aXRoIGFyZ3VtZW50cyAodXN1YWxseSkgKi8KIAlPUFRJT05fU1RSSU5HLAogCU9QVElPTl9JTlRFR0VSLApAQCAtMjcsNyArMzIsOCBAQAogCVBBUlNFX09QVF9TVE9QX0FUX05PTl9PUFRJT04gPSAyLAogCVBBUlNFX09QVF9LRUVQX0FSR1YwID0gNCwKIAlQQVJTRV9PUFRfS0VFUF9VTktOT1dOID0gOCwKLQlQQVJTRV9PUFRfTk9fSU5URVJOQUxfSEVMUCA9IDE2CisJUEFSU0VfT1BUX05PX0lOVEVSTkFMX0hFTFAgPSAxNiwKKwlQQVJTRV9PUFRfT05FX1NIT1QgPSAzMgogfTsKIAogZW51bSBwYXJzZV9vcHRfb3B0aW9uX2ZsYWdzIHsKQEAgLTQwLDE1ICs0NiwyNiBAQAogCVBBUlNFX09QVF9MSVRFUkFMX0FSR0hFTFAgPSA2NCwKIAlQQVJTRV9PUFRfU0hFTExfRVZBTCA9IDI1NiwKIAlQQVJTRV9PUFRfTk9DT01QTEVURSA9IDUxMiwKLQlQQVJTRV9PUFRfQ09NUF9BUkcgPSAxMDI0CisJUEFSU0VfT1BUX0NPTVBfQVJHID0gMTAyNCwKKwlQQVJTRV9PUFRfQ01ETU9ERSA9IDIwNDgKK307CisKK2VudW0gcGFyc2Vfb3B0X3Jlc3VsdCB7CisJUEFSU0VfT1BUX0NPTVBMRVRFID0gLTMsCisJUEFSU0VfT1BUX0hFTFAgPSAtMiwKKwlQQVJTRV9PUFRfRVJST1IgPSAtMSwJLyogbXVzdCBiZSB0aGUgc2FtZSBhcyBlcnJvcigpICovCisJUEFSU0VfT1BUX0RPTkUgPSAwLAkvKiBmaXhlZCBzbyB0aGF0ICJyZXR1cm4gMCIgd29ya3MgKi8KKwlQQVJTRV9PUFRfTk9OX09QVElPTiwKKwlQQVJTRV9PUFRfVU5LTk9XTgogfTsKIAogc3RydWN0IG9wdGlvbjsKIHR5cGVkZWYgaW50IHBhcnNlX29wdF9jYihjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KTsKIAogc3RydWN0IHBhcnNlX29wdF9jdHhfdDsKLXR5cGVkZWYgaW50IHBhcnNlX29wdF9sbF9jYihzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90ICpjdHgsCi0JCQkJY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LCBpbnQgdW5zZXQpOwordHlwZWRlZiBlbnVtIHBhcnNlX29wdF9yZXN1bHQgcGFyc2Vfb3B0X2xsX2NiKHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKmN0eCwKKwkJCQkJICAgICAgY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LAorCQkJCQkgICAgICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCk7CiAKIC8qCiAgKiBgdHlwZWA6OgpAQCAtOTgsMTMgKzExNSwxNiBAQAogICoJCQkgdGhlIG9wdGlvbiB0YWtlcyBvcHRpb25hbCBhcmd1bWVudC4KICAqCiAgKiBgY2FsbGJhY2tgOjoKLSAqICAgcG9pbnRlciB0byB0aGUgY2FsbGJhY2sgdG8gdXNlIGZvciBPUFRJT05fQ0FMTEJBQ0sgb3IKLSAqICAgT1BUSU9OX0xPV0xFVkVMX0NBTExCQUNLLgorICogICBwb2ludGVyIHRvIHRoZSBjYWxsYmFjayB0byB1c2UgZm9yIE9QVElPTl9DQUxMQkFDSwogICoKICAqIGBkZWZ2YWxgOjoKICAqICAgZGVmYXVsdCB2YWx1ZSB0byBmaWxsICgqLT52YWx1ZSkgd2l0aCBmb3IgUEFSU0VfT1BUX09QVEFSRy4KICAqICAgT1BUSU9OX3tCSVQsU0VUX0lOVH0gc3RvcmUgdGhlIHttYXNrLGludGVnZXJ9IHRvIHB1dCBpbiB0aGUgdmFsdWUgd2hlbiBtZXQuCiAgKiAgIENBTExCQUNLUyBjYW4gdXNlIGl0IGxpa2UgdGhleSB3YW50LgorICoKKyAqIGBsbF9jYWxsYmFja2A6OgorICogICBwb2ludGVyIHRvIHRoZSBjYWxsYmFjayB0byB1c2UgZm9yIE9QVElPTl9MT1dMRVZFTF9DQUxMQkFDSworICoKICAqLwogc3RydWN0IG9wdGlvbiB7CiAJZW51bSBwYXJzZV9vcHRfdHlwZSB0eXBlOwpAQCAtMTE3LDYgKzEzNyw4IEBACiAJaW50IGZsYWdzOwogCXBhcnNlX29wdF9jYiAqY2FsbGJhY2s7CiAJaW50cHRyX3QgZGVmdmFsOworCXBhcnNlX29wdF9sbF9jYiAqbGxfY2FsbGJhY2s7CisJaW50cHRyX3QgZXh0cmE7CiB9OwogCiAjZGVmaW5lIE9QVF9CSVRfRihzLCBsLCB2LCBoLCBiLCBmKSB7IE9QVElPTl9CSVQsIChzKSwgKGwpLCAodiksIE5VTEwsIChoKSwgXApAQCAtMTI2LDEyICsxNDgsMTkgQEAKICNkZWZpbmUgT1BUX1NFVF9JTlRfRihzLCBsLCB2LCBoLCBpLCBmKSB7IE9QVElPTl9TRVRfSU5ULCAocyksIChsKSwgKHYpLCBOVUxMLCBcCiAJCQkJCSAgKGgpLCBQQVJTRV9PUFRfTk9BUkcgfCAoZiksIE5VTEwsIChpKSB9CiAjZGVmaW5lIE9QVF9CT09MX0YocywgbCwgdiwgaCwgZikgICBPUFRfU0VUX0lOVF9GKHMsIGwsIHYsIGgsIDEsIGYpCisjZGVmaW5lIE9QVF9DQUxMQkFDS19GKHMsIGwsIHYsIGEsIGgsIGYsIGNiKQkJCVwKKwl7IE9QVElPTl9DQUxMQkFDSywgKHMpLCAobCksICh2KSwgKGEpLCAoaCksIChmKSwgKGNiKSB9CisjZGVmaW5lIE9QVF9TVFJJTkdfRihzLCBsLCB2LCBhLCBoLCBmKSAgIHsgT1BUSU9OX1NUUklORywgIChzKSwgKGwpLCAodiksIChhKSwgKGgpLCAoZikgfQorI2RlZmluZSBPUFRfSU5URUdFUl9GKHMsIGwsIHYsIGgsIGYpICAgICB7IE9QVElPTl9JTlRFR0VSLCAocyksIChsKSwgKHYpLCBOXygibiIpLCAoaCksIChmKSB9CiAKICNkZWZpbmUgT1BUX0VORCgpICAgICAgICAgICAgICAgICAgIHsgT1BUSU9OX0VORCB9Ci0jZGVmaW5lIE9QVF9BUkdVTUVOVChsLCBoKSAgICAgICAgICB7IE9QVElPTl9BUkdVTUVOVCwgMCwgKGwpLCBOVUxMLCBOVUxMLCBcCi0JCQkJICAgICAgKGgpLCBQQVJTRV9PUFRfTk9BUkd9CisjZGVmaW5lIE9QVF9BUkdVTUVOVChsLCB2LCBoKSAgICAgICB7IE9QVElPTl9BUkdVTUVOVCwgMCwgKGwpLCAodiksIE5VTEwsIFwKKwkJCQkgICAgICAoaCksIFBBUlNFX09QVF9OT0FSRywgTlVMTCwgMSB9CiAjZGVmaW5lIE9QVF9HUk9VUChoKSAgICAgICAgICAgICAgICB7IE9QVElPTl9HUk9VUCwgMCwgTlVMTCwgTlVMTCwgTlVMTCwgKGgpIH0KICNkZWZpbmUgT1BUX0JJVChzLCBsLCB2LCBoLCBiKSAgICAgIE9QVF9CSVRfRihzLCBsLCB2LCBoLCBiLCAwKQorI2RlZmluZSBPUFRfQklUT1AocywgbCwgdiwgaCwgc2V0LCBjbGVhcikgeyBPUFRJT05fQklUT1AsIChzKSwgKGwpLCAodiksIE5VTEwsIChoKSwgXAorCQkJCQkgICAgUEFSU0VfT1BUX05PQVJHfFBBUlNFX09QVF9OT05FRywgTlVMTCwgXAorCQkJCQkgICAgKHNldCksIE5VTEwsIChjbGVhcikgfQogI2RlZmluZSBPUFRfTkVHQklUKHMsIGwsIHYsIGgsIGIpICAgeyBPUFRJT05fTkVHQklULCAocyksIChsKSwgKHYpLCBOVUxMLCBcCiAJCQkJICAgICAgKGgpLCBQQVJTRV9PUFRfTk9BUkcsIE5VTEwsIChiKSB9CiAjZGVmaW5lIE9QVF9DT1VOVFVQKHMsIGwsIHYsIGgpICAgICBPUFRfQ09VTlRVUF9GKHMsIGwsIHYsIGgsIDApCkBAIC0xMzksMTIgKzE2OCwxMiBAQAogI2RlZmluZSBPUFRfQk9PTChzLCBsLCB2LCBoKSAgICAgICAgT1BUX0JPT0xfRihzLCBsLCB2LCBoLCAwKQogI2RlZmluZSBPUFRfSElEREVOX0JPT0wocywgbCwgdiwgaCkgeyBPUFRJT05fU0VUX0lOVCwgKHMpLCAobCksICh2KSwgTlVMTCwgXAogCQkJCSAgICAgIChoKSwgUEFSU0VfT1BUX05PQVJHIHwgUEFSU0VfT1BUX0hJRERFTiwgTlVMTCwgMX0KLSNkZWZpbmUgT1BUX0NNRE1PREUocywgbCwgdiwgaCwgaSkgIHsgT1BUSU9OX0NNRE1PREUsIChzKSwgKGwpLCAodiksIE5VTEwsIFwKLQkJCQkgICAgICAoaCksIFBBUlNFX09QVF9OT0FSR3xQQVJTRV9PUFRfTk9ORUcsIE5VTEwsIChpKSB9Ci0jZGVmaW5lIE9QVF9JTlRFR0VSKHMsIGwsIHYsIGgpICAgICB7IE9QVElPTl9JTlRFR0VSLCAocyksIChsKSwgKHYpLCBOXygibiIpLCAoaCkgfQorI2RlZmluZSBPUFRfQ01ETU9ERShzLCBsLCB2LCBoLCBpKSAgeyBPUFRJT05fU0VUX0lOVCwgKHMpLCAobCksICh2KSwgTlVMTCwgXAorCQkJCSAgICAgIChoKSwgUEFSU0VfT1BUX0NNRE1PREV8UEFSU0VfT1BUX05PQVJHfFBBUlNFX09QVF9OT05FRywgTlVMTCwgKGkpIH0KKyNkZWZpbmUgT1BUX0lOVEVHRVIocywgbCwgdiwgaCkgICAgIE9QVF9JTlRFR0VSX0YocywgbCwgdiwgaCwgMCkKICNkZWZpbmUgT1BUX01BR05JVFVERShzLCBsLCB2LCBoKSAgIHsgT1BUSU9OX01BR05JVFVERSwgKHMpLCAobCksICh2KSwgXAogCQkJCSAgICAgIE5fKCJuIiksIChoKSwgUEFSU0VfT1BUX05PTkVHIH0KLSNkZWZpbmUgT1BUX1NUUklORyhzLCBsLCB2LCBhLCBoKSAgIHsgT1BUSU9OX1NUUklORywgIChzKSwgKGwpLCAodiksIChhKSwgKGgpIH0KKyNkZWZpbmUgT1BUX1NUUklORyhzLCBsLCB2LCBhLCBoKSAgIE9QVF9TVFJJTkdfRihzLCBsLCB2LCBhLCBoLCAwKQogI2RlZmluZSBPUFRfU1RSSU5HX0xJU1QocywgbCwgdiwgYSwgaCkgXAogCQkJCSAgICB7IE9QVElPTl9DQUxMQkFDSywgKHMpLCAobCksICh2KSwgKGEpLCBcCiAJCQkJICAgICAgKGgpLCAwLCAmcGFyc2Vfb3B0X3N0cmluZ19saXN0IH0KQEAgLTE1Myw4ICsxODIsNyBAQAogI2RlZmluZSBPUFRfRVhQSVJZX0RBVEUocywgbCwgdiwgaCkgXAogCXsgT1BUSU9OX0NBTExCQUNLLCAocyksIChsKSwgKHYpLCBOXygiZXhwaXJ5LWRhdGUiKSwoaCksIDAsCVwKIAkgIHBhcnNlX29wdF9leHBpcnlfZGF0ZV9jYiB9Ci0jZGVmaW5lIE9QVF9DQUxMQkFDSyhzLCBsLCB2LCBhLCBoLCBmKSBcCi0JeyBPUFRJT05fQ0FMTEJBQ0ssIChzKSwgKGwpLCAodiksIChhKSwgKGgpLCAwLCAoZikgfQorI2RlZmluZSBPUFRfQ0FMTEJBQ0socywgbCwgdiwgYSwgaCwgZikgT1BUX0NBTExCQUNLX0YocywgbCwgdiwgYSwgaCwgMCwgZikKICNkZWZpbmUgT1BUX05VTUJFUl9DQUxMQkFDSyh2LCBoLCBmKSBcCiAJeyBPUFRJT05fTlVNQkVSLCAwLCBOVUxMLCAodiksIE5VTEwsIChoKSwgXAogCSAgUEFSU0VfT1BUX05PQVJHIHwgUEFSU0VfT1BUX05PTkVHLCAoZikgfQpAQCAtMTY5LDI3ICsxOTcsMzUgQEAKIAkgIE5fKCJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiKSwJCVwKIAkgIFBBUlNFX09QVF9ISURERU4gfCBQQVJTRV9PUFRfTk9BUkcsIHBhcnNlX29wdF9ub29wX2NiIH0KIAotLyogcGFyc2Vfb3B0aW9ucygpIHdpbGwgZmlsdGVyIG91dCB0aGUgcHJvY2Vzc2VkIG9wdGlvbnMgYW5kIGxlYXZlIHRoZQotICogbm9uLW9wdGlvbiBhcmd1bWVudHMgaW4gYXJndltdLiB1c2FnZXN0ciBzdHJpbmdzIHNob3VsZCBiZSBtYXJrZWQKLSAqIGZvciB0cmFuc2xhdGlvbiB3aXRoIE5fKCkuCisjZGVmaW5lIE9QVF9BTElBUyhzLCBsLCBzb3VyY2VfbG9uZ19uYW1lKSBcCisJeyBPUFRJT05fQUxJQVMsIChzKSwgKGwpLCAoc291cmNlX2xvbmdfbmFtZSkgfQorCisvKgorICogcGFyc2Vfb3B0aW9ucygpIHdpbGwgZmlsdGVyIG91dCB0aGUgcHJvY2Vzc2VkIG9wdGlvbnMgYW5kIGxlYXZlIHRoZQorICogbm9uLW9wdGlvbiBhcmd1bWVudHMgaW4gYXJndltdLiBhcmd2MCBpcyBhc3N1bWVkIHByb2dyYW0gbmFtZSBhbmQKKyAqIHNraXBwZWQuCisgKgorICogdXNhZ2VzdHIgc3RyaW5ncyBzaG91bGQgYmUgbWFya2VkIGZvciB0cmFuc2xhdGlvbiB3aXRoIE5fKCkuCisgKgogICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyBsZWZ0IGluIGFyZ3ZbXS4KKyAqCisgKiBJbiBvbmUtc2hvdCBtb2RlLCBhcmd2MCBpcyBub3QgYSBwcm9ncmFtIG5hbWUsIGFyZ3ZbXSBpcyBsZWZ0CisgKiB1bnRvdWNoZWQgYW5kIHBhcnNlX29wdGlvbnMoKSByZXR1cm5zIHRoZSBudW1iZXIgb2Ygb3B0aW9ucworICogcHJvY2Vzc2VkLgogICovCi1leHRlcm4gaW50IHBhcnNlX29wdGlvbnMoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICogY29uc3QgdXNhZ2VzdHJbXSwgaW50IGZsYWdzKTsKK2ludCBwYXJzZV9vcHRpb25zKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4LAorCQkgIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdGlvbnMsCisJCSAgY29uc3QgY2hhciAqIGNvbnN0IHVzYWdlc3RyW10sIGludCBmbGFncyk7CiAKLWV4dGVybiBOT1JFVFVSTiB2b2lkIHVzYWdlX3dpdGhfb3B0aW9ucyhjb25zdCBjaGFyICogY29uc3QgKnVzYWdlc3RyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdGlvbnMpOworTk9SRVRVUk4gdm9pZCB1c2FnZV93aXRoX29wdGlvbnMoY29uc3QgY2hhciAqIGNvbnN0ICp1c2FnZXN0ciwKKwkJCQkgY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0aW9ucyk7CiAKLWV4dGVybiBOT1JFVFVSTiB2b2lkIHVzYWdlX21zZ19vcHQoY29uc3QgY2hhciAqbXNnLAotCQkJCSAgIGNvbnN0IGNoYXIgKiBjb25zdCAqdXNhZ2VzdHIsCi0JCQkJICAgY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0aW9ucyk7CitOT1JFVFVSTiB2b2lkIHVzYWdlX21zZ19vcHQoY29uc3QgY2hhciAqbXNnLAorCQkJICAgIGNvbnN0IGNoYXIgKiBjb25zdCAqdXNhZ2VzdHIsCisJCQkgICAgY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0aW9ucyk7CiAKLWV4dGVybiBpbnQgb3B0YnVnKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwgY29uc3QgY2hhciAqcmVhc29uKTsKLWV4dGVybiBpbnQgb3B0ZXJyb3IoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LCBjb25zdCBjaGFyICpyZWFzb24sIGludCBmbGFncyk7Ci0jaWYgZGVmaW5lZChfX0dOVUNfXykKLSNkZWZpbmUgb3B0ZXJyb3IobyxyLGYpIChvcHRlcnJvcigobyksKHIpLChmKSksIGNvbnN0X2Vycm9yKCkpCi0jZW5kaWYKK2ludCBvcHRidWcoY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0LCBjb25zdCBjaGFyICpyZWFzb24pOworY29uc3QgY2hhciAqb3B0bmFtZShjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHQsIGludCBmbGFncyk7CiAKIC8qCiAgKiBVc2UgdGhlc2UgYXNzZXJ0aW9ucyBmb3IgY2FsbGJhY2tzIHRoYXQgZXhwZWN0IHRvIGJlIGNhbGxlZCB3aXRoIE5PTkVHIGFuZApAQCAtMjA1LDE2ICsyNDEsMTggQEAKIAkJQlVHKCJvcHRpb24gY2FsbGJhY2sgZG9lcyBub3QgZXhwZWN0IGFuIGFyZ3VtZW50Iik7IFwKIH0gd2hpbGUgKDApCiAKLS8qLS0tLS0gaW5jcmVtZW50YWwgYWR2YW5jZWQgQVBJcyAtLS0tLSovCisvKgorICogU2ltaWxhciB0byB0aGUgYXNzZXJ0aW9ucyBhYm92ZSwgYnV0IGNoZWNrcyB0aGF0ICJhcmciIGlzIGFsd2F5cyBub24tTlVMTC4KKyAqIFRoaXMgYXNzZXJ0aW9uIGFsc28gaW1wbGllcyBCVUdfT05fT1BUX05FRygpLCBsZXR0aW5nIHlvdSBkZWNsYXJlIGJvdGgKKyAqIGFzc2VydGlvbnMgaW4gYSBzaW5nbGUgbGluZS4KKyAqLworI2RlZmluZSBCVUdfT05fT1BUX05FR19OT0FSRyh1bnNldCwgYXJnKSBkbyB7IFwKKwlCVUdfT05fT1BUX05FRyh1bnNldCk7IFwKKwlpZighKGFyZykpIFwKKwkJQlVHKCJvcHRpb24gY2FsbGJhY2sgZXhwZWN0cyBhbiBhcmd1bWVudCIpOyBcCit9IHdoaWxlKDApCiAKLWVudW0gewotCVBBUlNFX09QVF9DT01QTEVURSA9IC0yLAotCVBBUlNFX09QVF9IRUxQID0gLTEsCi0JUEFSU0VfT1BUX0RPTkUsCi0JUEFSU0VfT1BUX05PTl9PUFRJT04sCi0JUEFSU0VfT1BUX0VSUk9SLAotCVBBUlNFX09QVF9VTktOT1dOCi19OworLyotLS0tLSBpbmNyZW1lbnRhbCBhZHZhbmNlZCBBUElzIC0tLS0tKi8KIAogLyoKICAqIEl0J3Mgb2theSBmb3IgdGhlIGNhbGxlciB0byBjb25zdW1lIGFyZ3YvYXJnYyBpbiB0aGUgdXN1YWwgd2F5LgpAQCAtMjI4LDMzICsyNjYsNDIgQEAKIAljb25zdCBjaGFyICpvcHQ7CiAJaW50IGZsYWdzOwogCWNvbnN0IGNoYXIgKnByZWZpeDsKKwljb25zdCBjaGFyICoqYWxpYXNfZ3JvdXBzOyAvKiBtdXN0IGJlIGluIGdyb3VwcyBvZiAzIGVsZW1lbnRzISAqLworCXN0cnVjdCBvcHRpb24gKnVwZGF0ZWRfb3B0aW9uczsKIH07CiAKLWV4dGVybiB2b2lkIHBhcnNlX29wdGlvbnNfc3RhcnQoc3RydWN0IHBhcnNlX29wdF9jdHhfdCAqY3R4LAotCQkJCWludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4LAotCQkJCWNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdGlvbnMsIGludCBmbGFncyk7Cit2b2lkIHBhcnNlX29wdGlvbnNfc3RhcnQoc3RydWN0IHBhcnNlX29wdF9jdHhfdCAqY3R4LAorCQkJIGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqcHJlZml4LAorCQkJIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdGlvbnMsIGludCBmbGFncyk7CiAKLWV4dGVybiBpbnQgcGFyc2Vfb3B0aW9uc19zdGVwKHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKmN0eCwKLQkJCSAgICAgIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdGlvbnMsCi0JCQkgICAgICBjb25zdCBjaGFyICogY29uc3QgdXNhZ2VzdHJbXSk7CitpbnQgcGFyc2Vfb3B0aW9uc19zdGVwKHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKmN0eCwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdGlvbnMsCisJCSAgICAgICBjb25zdCBjaGFyICogY29uc3QgdXNhZ2VzdHJbXSk7CiAKLWV4dGVybiBpbnQgcGFyc2Vfb3B0aW9uc19lbmQoc3RydWN0IHBhcnNlX29wdF9jdHhfdCAqY3R4KTsKK2ludCBwYXJzZV9vcHRpb25zX2VuZChzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90ICpjdHgpOwogCi1leHRlcm4gc3RydWN0IG9wdGlvbiAqcGFyc2Vfb3B0aW9uc19jb25jYXQoc3RydWN0IG9wdGlvbiAqYSwgc3RydWN0IG9wdGlvbiAqYik7CitzdHJ1Y3Qgb3B0aW9uICpwYXJzZV9vcHRpb25zX2R1cChjb25zdCBzdHJ1Y3Qgb3B0aW9uICphKTsKK3N0cnVjdCBvcHRpb24gKnBhcnNlX29wdGlvbnNfY29uY2F0KGNvbnN0IHN0cnVjdCBvcHRpb24gKmEsIGNvbnN0IHN0cnVjdCBvcHRpb24gKmIpOwogCiAvKi0tLS0tIHNvbWUgb2Z0ZW4gdXNlZCBvcHRpb25zIC0tLS0tKi8KLWV4dGVybiBpbnQgcGFyc2Vfb3B0X2FiYnJldl9jYihjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKiwgaW50KTsKLWV4dGVybiBpbnQgcGFyc2Vfb3B0X2V4cGlyeV9kYXRlX2NiKGNvbnN0IHN0cnVjdCBvcHRpb24gKiwgY29uc3QgY2hhciAqLCBpbnQpOwotZXh0ZXJuIGludCBwYXJzZV9vcHRfY29sb3JfZmxhZ19jYihjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKiwgaW50KTsKLWV4dGVybiBpbnQgcGFyc2Vfb3B0X3ZlcmJvc2l0eV9jYihjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKiwgaW50KTsKLWV4dGVybiBpbnQgcGFyc2Vfb3B0X29iamVjdF9uYW1lKGNvbnN0IHN0cnVjdCBvcHRpb24gKiwgY29uc3QgY2hhciAqLCBpbnQpOwotZXh0ZXJuIGludCBwYXJzZV9vcHRfY29tbWl0cyhjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKiwgaW50KTsKLWV4dGVybiBpbnQgcGFyc2Vfb3B0X3RlcnRpYXJ5KGNvbnN0IHN0cnVjdCBvcHRpb24gKiwgY29uc3QgY2hhciAqLCBpbnQpOwotZXh0ZXJuIGludCBwYXJzZV9vcHRfc3RyaW5nX2xpc3QoY29uc3Qgc3RydWN0IG9wdGlvbiAqLCBjb25zdCBjaGFyICosIGludCk7Ci1leHRlcm4gaW50IHBhcnNlX29wdF9ub29wX2NiKGNvbnN0IHN0cnVjdCBvcHRpb24gKiwgY29uc3QgY2hhciAqLCBpbnQpOwotZXh0ZXJuIGludCBwYXJzZV9vcHRfdW5rbm93bl9jYihjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKiwgaW50KTsKLWV4dGVybiBpbnQgcGFyc2Vfb3B0X3Bhc3N0aHJ1KGNvbnN0IHN0cnVjdCBvcHRpb24gKiwgY29uc3QgY2hhciAqLCBpbnQpOwotZXh0ZXJuIGludCBwYXJzZV9vcHRfcGFzc3RocnVfYXJndihjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKiwgaW50KTsKK2ludCBwYXJzZV9vcHRfYWJicmV2X2NiKGNvbnN0IHN0cnVjdCBvcHRpb24gKiwgY29uc3QgY2hhciAqLCBpbnQpOworaW50IHBhcnNlX29wdF9leHBpcnlfZGF0ZV9jYihjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKiwgaW50KTsKK2ludCBwYXJzZV9vcHRfY29sb3JfZmxhZ19jYihjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKiwgaW50KTsKK2ludCBwYXJzZV9vcHRfdmVyYm9zaXR5X2NiKGNvbnN0IHN0cnVjdCBvcHRpb24gKiwgY29uc3QgY2hhciAqLCBpbnQpOworLyogdmFsdWUgaXMgc3RydWN0IG9pZF9hcnJheSogKi8KK2ludCBwYXJzZV9vcHRfb2JqZWN0X25hbWUoY29uc3Qgc3RydWN0IG9wdGlvbiAqLCBjb25zdCBjaGFyICosIGludCk7CisvKiB2YWx1ZSBpcyBzdHJ1Y3Qgb2JqZWN0X2lkKiAqLworaW50IHBhcnNlX29wdF9vYmplY3RfaWQoY29uc3Qgc3RydWN0IG9wdGlvbiAqLCBjb25zdCBjaGFyICosIGludCk7CitpbnQgcGFyc2Vfb3B0X2NvbW1pdHMoY29uc3Qgc3RydWN0IG9wdGlvbiAqLCBjb25zdCBjaGFyICosIGludCk7CitpbnQgcGFyc2Vfb3B0X2NvbW1pdChjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKiwgaW50KTsKK2ludCBwYXJzZV9vcHRfdGVydGlhcnkoY29uc3Qgc3RydWN0IG9wdGlvbiAqLCBjb25zdCBjaGFyICosIGludCk7CitpbnQgcGFyc2Vfb3B0X3N0cmluZ19saXN0KGNvbnN0IHN0cnVjdCBvcHRpb24gKiwgY29uc3QgY2hhciAqLCBpbnQpOworaW50IHBhcnNlX29wdF9ub29wX2NiKGNvbnN0IHN0cnVjdCBvcHRpb24gKiwgY29uc3QgY2hhciAqLCBpbnQpOworZW51bSBwYXJzZV9vcHRfcmVzdWx0IHBhcnNlX29wdF91bmtub3duX2NiKHN0cnVjdCBwYXJzZV9vcHRfY3R4X3QgKmN0eCwKKwkJCQkJICAgY29uc3Qgc3RydWN0IG9wdGlvbiAqLAorCQkJCQkgICBjb25zdCBjaGFyICosIGludCk7CitpbnQgcGFyc2Vfb3B0X3Bhc3N0aHJ1KGNvbnN0IHN0cnVjdCBvcHRpb24gKiwgY29uc3QgY2hhciAqLCBpbnQpOworaW50IHBhcnNlX29wdF9wYXNzdGhydV9hcmd2KGNvbnN0IHN0cnVjdCBvcHRpb24gKiwgY29uc3QgY2hhciAqLCBpbnQpOwogCiAjZGVmaW5lIE9QVF9fVkVSQk9TRSh2YXIsIGgpICBPUFRfQ09VTlRVUCgndicsICJ2ZXJib3NlIiwgKHZhciksIChoKSkKICNkZWZpbmUgT1BUX19RVUlFVCh2YXIsIGgpICAgIE9QVF9DT1VOVFVQKCdxJywgInF1aWV0IiwgICAodmFyKSwgKGgpKQpAQCAtMjg2LDUgKzMzMyw4IEBACiAjZGVmaW5lIE9QVF9OT19DT05UQUlOUyh2LCBoKSBfT1BUX0NPTlRBSU5TX09SX1dJVEgoIm5vLWNvbnRhaW5zIiwgdiwgaCwgUEFSU0VfT1BUX05PTkVHKQogI2RlZmluZSBPUFRfV0lUSCh2LCBoKSBfT1BUX0NPTlRBSU5TX09SX1dJVEgoIndpdGgiLCB2LCBoLCBQQVJTRV9PUFRfSElEREVOIHwgUEFSU0VfT1BUX05PTkVHKQogI2RlZmluZSBPUFRfV0lUSE9VVCh2LCBoKSBfT1BUX0NPTlRBSU5TX09SX1dJVEgoIndpdGhvdXQiLCB2LCBoLCBQQVJTRV9PUFRfSElEREVOIHwgUEFSU0VfT1BUX05PTkVHKQorI2RlZmluZSBPUFRfQ0xFQU5VUCh2KSBPUFRfU1RSSU5HKDAsICJjbGVhbnVwIiwgdiwgTl8oIm1vZGUiKSwgTl8oImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiKSkKKyNkZWZpbmUgT1BUX1BBVEhTUEVDX0ZST01fRklMRSh2KSBPUFRfRklMRU5BTUUoMCwgInBhdGhzcGVjLWZyb20tZmlsZSIsIHYsIE5fKCJyZWFkIHBhdGhzcGVjIGZyb20gZmlsZSIpKQorI2RlZmluZSBPUFRfUEFUSFNQRUNfRklMRV9OVUwodikgIE9QVF9CT09MKDAsICJwYXRoc3BlYy1maWxlLW51bCIsIHYsIE5fKCJ3aXRoIC0tcGF0aHNwZWMtZnJvbS1maWxlLCBwYXRoc3BlYyBlbGVtZW50cyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIpKQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3BhdGNoLWlkcy5jIGIvcGF0Y2gtaWRzLmMKaW5kZXggYzI2MmUxYi4uMTJhYTZkNCAxMDA2NDQKLS0tIGEvcGF0Y2gtaWRzLmMKKysrIGIvcGF0Y2gtaWRzLmMKQEAgLTExLDcgKzExLDcgQEAKIH0KIAogaW50IGNvbW1pdF9wYXRjaF9pZChzdHJ1Y3QgY29tbWl0ICpjb21taXQsIHN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdGlvbnMsCi0JCSAgICBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBkaWZmX2hlYWRlcl9vbmx5KQorCQkgICAgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBpbnQgZGlmZl9oZWFkZXJfb25seSwgaW50IHN0YWJsZSkKIHsKIAlpZiAoIXBhdGNoX2lkX2RlZmluZWQoY29tbWl0KSkKIAkJcmV0dXJuIC0xOwpAQCAtMjIsNyArMjIsNyBAQAogCWVsc2UKIAkJZGlmZl9yb290X3RyZWVfb2lkKCZjb21taXQtPm9iamVjdC5vaWQsICIiLCBvcHRpb25zKTsKIAlkaWZmY29yZV9zdGQob3B0aW9ucyk7Ci0JcmV0dXJuIGRpZmZfZmx1c2hfcGF0Y2hfaWQob3B0aW9ucywgb2lkLCBkaWZmX2hlYWRlcl9vbmx5KTsKKwlyZXR1cm4gZGlmZl9mbHVzaF9wYXRjaF9pZChvcHRpb25zLCBvaWQsIGRpZmZfaGVhZGVyX29ubHksIHN0YWJsZSk7CiB9CiAKIC8qCkBAIC0zNiwyMSArMzYsMjMgQEAKICAqIGFueSBzaWduaWZpY2FuY2U7IG9ubHkgdGhhdCBpdCBpcyBub24temVybyBtYXR0ZXJzLgogICovCiBzdGF0aWMgaW50IHBhdGNoX2lkX25lcShjb25zdCB2b2lkICpjbXBmbl9kYXRhLAotCQkJY29uc3Qgdm9pZCAqZW50cnksCi0JCQljb25zdCB2b2lkICplbnRyeV9vcl9rZXksCisJCQljb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZXB0ciwKKwkJCWNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeV9vcl9rZXksCiAJCQljb25zdCB2b2lkICp1bnVzZWRfa2V5ZGF0YSkKIHsKIAkvKiBORUVEU1dPUks6IGNvbnN0IGNvcnJlY3RuZXNzPyAqLwogCXN0cnVjdCBkaWZmX29wdGlvbnMgKm9wdCA9ICh2b2lkICopY21wZm5fZGF0YTsKLQlzdHJ1Y3QgcGF0Y2hfaWQgKmEgPSAodm9pZCAqKWVudHJ5OwotCXN0cnVjdCBwYXRjaF9pZCAqYiA9ICh2b2lkICopZW50cnlfb3Jfa2V5OworCXN0cnVjdCBwYXRjaF9pZCAqYSwgKmI7CisKKwlhID0gY29udGFpbmVyX29mKGVwdHIsIHN0cnVjdCBwYXRjaF9pZCwgZW50KTsKKwliID0gY29udGFpbmVyX29mKGVudHJ5X29yX2tleSwgc3RydWN0IHBhdGNoX2lkLCBlbnQpOwogCiAJaWYgKGlzX251bGxfb2lkKCZhLT5wYXRjaF9pZCkgJiYKLQkgICAgY29tbWl0X3BhdGNoX2lkKGEtPmNvbW1pdCwgb3B0LCAmYS0+cGF0Y2hfaWQsIDApKQorCSAgICBjb21taXRfcGF0Y2hfaWQoYS0+Y29tbWl0LCBvcHQsICZhLT5wYXRjaF9pZCwgMCwgMCkpCiAJCXJldHVybiBlcnJvcigiQ291bGQgbm90IGdldCBwYXRjaCBJRCBmb3IgJXMiLAogCQkJb2lkX3RvX2hleCgmYS0+Y29tbWl0LT5vYmplY3Qub2lkKSk7CiAJaWYgKGlzX251bGxfb2lkKCZiLT5wYXRjaF9pZCkgJiYKLQkgICAgY29tbWl0X3BhdGNoX2lkKGItPmNvbW1pdCwgb3B0LCAmYi0+cGF0Y2hfaWQsIDApKQorCSAgICBjb21taXRfcGF0Y2hfaWQoYi0+Y29tbWl0LCBvcHQsICZiLT5wYXRjaF9pZCwgMCwgMCkpCiAJCXJldHVybiBlcnJvcigiQ291bGQgbm90IGdldCBwYXRjaCBJRCBmb3IgJXMiLAogCQkJb2lkX3RvX2hleCgmYi0+Y29tbWl0LT5vYmplY3Qub2lkKSk7CiAJcmV0dXJuICFvaWRlcSgmYS0+cGF0Y2hfaWQsICZiLT5wYXRjaF9pZCk7CkBAIC02OSw3ICs3MSw3IEBACiAKIGludCBmcmVlX3BhdGNoX2lkcyhzdHJ1Y3QgcGF0Y2hfaWRzICppZHMpCiB7Ci0JaGFzaG1hcF9mcmVlKCZpZHMtPnBhdGNoZXMsIDEpOworCWhhc2htYXBfZnJlZV9lbnRyaWVzKCZpZHMtPnBhdGNoZXMsIHN0cnVjdCBwYXRjaF9pZCwgZW50KTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtODAsMTAgKzgyLDEwIEBACiAJc3RydWN0IG9iamVjdF9pZCBoZWFkZXJfb25seV9wYXRjaF9pZDsKIAogCXBhdGNoLT5jb21taXQgPSBjb21taXQ7Ci0JaWYgKGNvbW1pdF9wYXRjaF9pZChjb21taXQsICZpZHMtPmRpZmZvcHRzLCAmaGVhZGVyX29ubHlfcGF0Y2hfaWQsIDEpKQorCWlmIChjb21taXRfcGF0Y2hfaWQoY29tbWl0LCAmaWRzLT5kaWZmb3B0cywgJmhlYWRlcl9vbmx5X3BhdGNoX2lkLCAxLCAwKSkKIAkJcmV0dXJuIC0xOwogCi0JaGFzaG1hcF9lbnRyeV9pbml0KHBhdGNoLCBzaGExaGFzaChoZWFkZXJfb25seV9wYXRjaF9pZC5oYXNoKSk7CisJaGFzaG1hcF9lbnRyeV9pbml0KCZwYXRjaC0+ZW50LCBvaWRoYXNoKCZoZWFkZXJfb25seV9wYXRjaF9pZCkpOwogCXJldHVybiAwOwogfQogCkBAIC05OSw3ICsxMDEsNyBAQAogCWlmIChpbml0X3BhdGNoX2lkX2VudHJ5KCZwYXRjaCwgY29tbWl0LCBpZHMpKQogCQlyZXR1cm4gTlVMTDsKIAotCXJldHVybiBoYXNobWFwX2dldCgmaWRzLT5wYXRjaGVzLCAmcGF0Y2gsIE5VTEwpOworCXJldHVybiBoYXNobWFwX2dldF9lbnRyeSgmaWRzLT5wYXRjaGVzLCAmcGF0Y2gsIGVudCwgTlVMTCk7CiB9CiAKIHN0cnVjdCBwYXRjaF9pZCAqYWRkX2NvbW1pdF9wYXRjaF9pZChzdHJ1Y3QgY29tbWl0ICpjb21taXQsCkBAIC0xMTYsNiArMTE4LDYgQEAKIAkJcmV0dXJuIE5VTEw7CiAJfQogCi0JaGFzaG1hcF9hZGQoJmlkcy0+cGF0Y2hlcywga2V5KTsKKwloYXNobWFwX2FkZCgmaWRzLT5wYXRjaGVzLCAma2V5LT5lbnQpOwogCXJldHVybiBrZXk7CiB9CmRpZmYgLS1naXQgYS9wYXRjaC1pZHMuaCBiL3BhdGNoLWlkcy5oCmluZGV4IDgyYTEyYjYuLjAzYmIwNGUgMTAwNjQ0Ci0tLSBhL3BhdGNoLWlkcy5oCisrKyBiL3BhdGNoLWlkcy5oCkBAIC0yMCw3ICsyMCw3IEBACiB9OwogCiBpbnQgY29tbWl0X3BhdGNoX2lkKHN0cnVjdCBjb21taXQgKmNvbW1pdCwgc3RydWN0IGRpZmZfb3B0aW9ucyAqb3B0aW9ucywKLQkJICAgIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgaW50KTsKKwkJICAgIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgaW50LCBpbnQpOwogaW50IGluaXRfcGF0Y2hfaWRzKHN0cnVjdCByZXBvc2l0b3J5ICosIHN0cnVjdCBwYXRjaF9pZHMgKik7CiBpbnQgZnJlZV9wYXRjaF9pZHMoc3RydWN0IHBhdGNoX2lkcyAqKTsKIHN0cnVjdCBwYXRjaF9pZCAqYWRkX2NvbW1pdF9wYXRjaF9pZChzdHJ1Y3QgY29tbWl0ICosIHN0cnVjdCBwYXRjaF9pZHMgKik7CmRpZmYgLS1naXQgYS9wYXRoLmMgYi9wYXRoLmMKaW5kZXggNjE3NTQ1Yy4uODhjZjU5MyAxMDA2NDQKLS0tIGEvcGF0aC5jCisrKyBiL3BhdGguYwpAQCAtMTEsNiArMTEsNyBAQAogI2luY2x1ZGUgInBhdGguaCIKICNpbmNsdWRlICJwYWNrZmlsZS5oIgogI2luY2x1ZGUgIm9iamVjdC1zdG9yZS5oIgorI2luY2x1ZGUgImxvY2tmaWxlLmgiCiAKIHN0YXRpYyBpbnQgZ2V0X3N0X21vZGVfYml0cyhjb25zdCBjaGFyICpwYXRoLCBpbnQgKm1vZGUpCiB7CkBAIC0xMDEsMzMgKzEwMiwzNiBAQAogCS8qIE5vdCBjb25zaWRlcmVkIGdhcmJhZ2UgZm9yIHJlcG9ydF9saW5rZWRfY2hlY2tvdXRfZ2FyYmFnZSAqLwogCXVuc2lnbmVkIGlnbm9yZV9nYXJiYWdlOjE7CiAJdW5zaWduZWQgaXNfZGlyOjE7Ci0JLyogTm90IGNvbW1vbiBldmVuIHRob3VnaCBpdHMgcGFyZW50IGlzICovCi0JdW5zaWduZWQgZXhjbHVkZToxOwotCWNvbnN0IGNoYXIgKmRpcm5hbWU7CisJLyogQmVsb25ncyB0byB0aGUgY29tbW9uIGRpciwgdGhvdWdoIGl0IG1heSBjb250YWluIHBhdGhzIHRoYXQgZG9uJ3QgKi8KKwl1bnNpZ25lZCBpc19jb21tb246MTsKKwljb25zdCBjaGFyICpwYXRoOwogfTsKIAogc3RhdGljIHN0cnVjdCBjb21tb25fZGlyIGNvbW1vbl9saXN0W10gPSB7Ci0JeyAwLCAxLCAwLCAiYnJhbmNoZXMiIH0sCi0JeyAwLCAxLCAwLCAiY29tbW9uIiB9LAotCXsgMCwgMSwgMCwgImhvb2tzIiB9LAotCXsgMCwgMSwgMCwgImluZm8iIH0sCi0JeyAwLCAwLCAxLCAiaW5mby9zcGFyc2UtY2hlY2tvdXQiIH0sCi0JeyAxLCAxLCAwLCAibG9ncyIgfSwKLQl7IDEsIDEsIDEsICJsb2dzL0hFQUQiIH0sCi0JeyAwLCAxLCAxLCAibG9ncy9yZWZzL2Jpc2VjdCIgfSwKLQl7IDAsIDEsIDAsICJsb3N0LWZvdW5kIiB9LAotCXsgMCwgMSwgMCwgIm9iamVjdHMiIH0sCi0JeyAwLCAxLCAwLCAicmVmcyIgfSwKLQl7IDAsIDEsIDEsICJyZWZzL2Jpc2VjdCIgfSwKLQl7IDAsIDEsIDEsICJyZWZzL3dvcmt0cmVlIiB9LAotCXsgMCwgMSwgMCwgInJlbW90ZXMiIH0sCi0JeyAwLCAxLCAwLCAid29ya3RyZWVzIiB9LAotCXsgMCwgMSwgMCwgInJyLWNhY2hlIiB9LAotCXsgMCwgMSwgMCwgInN2biIgfSwKLQl7IDAsIDAsIDAsICJjb25maWciIH0sCi0JeyAxLCAwLCAwLCAiZ2MucGlkIiB9LAotCXsgMCwgMCwgMCwgInBhY2tlZC1yZWZzIiB9LAotCXsgMCwgMCwgMCwgInNoYWxsb3ciIH0sCisJeyAwLCAxLCAxLCAiYnJhbmNoZXMiIH0sCisJeyAwLCAxLCAxLCAiY29tbW9uIiB9LAorCXsgMCwgMSwgMSwgImhvb2tzIiB9LAorCXsgMCwgMSwgMSwgImluZm8iIH0sCisJeyAwLCAwLCAwLCAiaW5mby9zcGFyc2UtY2hlY2tvdXQiIH0sCisJeyAxLCAxLCAxLCAibG9ncyIgfSwKKwl7IDEsIDAsIDAsICJsb2dzL0hFQUQiIH0sCisJeyAwLCAxLCAwLCAibG9ncy9yZWZzL2Jpc2VjdCIgfSwKKwl7IDAsIDEsIDAsICJsb2dzL3JlZnMvcmV3cml0dGVuIiB9LAorCXsgMCwgMSwgMCwgImxvZ3MvcmVmcy93b3JrdHJlZSIgfSwKKwl7IDAsIDEsIDEsICJsb3N0LWZvdW5kIiB9LAorCXsgMCwgMSwgMSwgIm9iamVjdHMiIH0sCisJeyAwLCAxLCAxLCAicmVmcyIgfSwKKwl7IDAsIDEsIDAsICJyZWZzL2Jpc2VjdCIgfSwKKwl7IDAsIDEsIDAsICJyZWZzL3Jld3JpdHRlbiIgfSwKKwl7IDAsIDEsIDAsICJyZWZzL3dvcmt0cmVlIiB9LAorCXsgMCwgMSwgMSwgInJlbW90ZXMiIH0sCisJeyAwLCAxLCAxLCAid29ya3RyZWVzIiB9LAorCXsgMCwgMSwgMSwgInJyLWNhY2hlIiB9LAorCXsgMCwgMSwgMSwgInN2biIgfSwKKwl7IDAsIDAsIDEsICJjb25maWciIH0sCisJeyAxLCAwLCAxLCAiZ2MucGlkIiB9LAorCXsgMCwgMCwgMSwgInBhY2tlZC1yZWZzIiB9LAorCXsgMCwgMCwgMSwgInNoYWxsb3ciIH0sCiAJeyAwLCAwLCAwLCBOVUxMIH0KIH07CiAKQEAgLTIzMywzMCArMjM3LDQxIEBACiAJcmV0dXJuIG9sZDsKIH0KIAotdHlwZWRlZiBpbnQgKCptYXRjaF9mbikoY29uc3QgY2hhciAqdW5tYXRjaGVkLCB2b2lkICpkYXRhLCB2b2lkICpiYXRvbik7Cit0eXBlZGVmIGludCAoKm1hdGNoX2ZuKShjb25zdCBjaGFyICp1bm1hdGNoZWQsIHZvaWQgKnZhbHVlLCB2b2lkICpiYXRvbik7CiAKIC8qCiAgKiBTZWFyY2ggYSB0cmllIGZvciBzb21lIGtleS4gIEZpbmQgdGhlIGxvbmdlc3QgLy1vci1cMC10ZXJtaW5hdGVkCi0gKiBwcmVmaXggb2YgdGhlIGtleSBmb3Igd2hpY2ggdGhlIHRyaWUgY29udGFpbnMgYSB2YWx1ZS4gIENhbGwgZm4KLSAqIHdpdGggdGhlIHVubWF0Y2hlZCBwb3J0aW9uIG9mIHRoZSBrZXkgYW5kIHRoZSBmb3VuZCB2YWx1ZSwgYW5kCi0gKiByZXR1cm4gaXRzIHJldHVybiB2YWx1ZS4gIElmIHRoZXJlIGlzIG5vIHN1Y2ggcHJlZml4LCByZXR1cm4gLTEuCisgKiBwcmVmaXggb2YgdGhlIGtleSBmb3Igd2hpY2ggdGhlIHRyaWUgY29udGFpbnMgYSB2YWx1ZS4gIElmIHRoZXJlIGlzCisgKiBubyBzdWNoIHByZWZpeCwgcmV0dXJuIC0xLiAgT3RoZXJ3aXNlIGNhbGwgZm4gd2l0aCB0aGUgdW5tYXRjaGVkCisgKiBwb3J0aW9uIG9mIHRoZSBrZXkgYW5kIHRoZSBmb3VuZCB2YWx1ZS4gIElmIGZuIHJldHVybnMgMCBvcgorICogcG9zaXRpdmUsIHRoZW4gcmV0dXJuIGl0cyByZXR1cm4gdmFsdWUuICBJZiBmbiByZXR1cm5zIG5lZ2F0aXZlLAorICogdGhlbiBjYWxsIGZuIHdpdGggdGhlIG5leHQtbG9uZ2VzdCAvLXRlcm1pbmF0ZWQgcHJlZml4IG9mIHRoZSBrZXkKKyAqIChpLmUuIGEgcGFyZW50IGRpcmVjdG9yeSkgZm9yIHdoaWNoIHRoZSB0cmllIGNvbnRhaW5zIGEgdmFsdWUsIGFuZAorICogaGFuZGxlIGl0cyByZXR1cm4gdmFsdWUgdGhlIHNhbWUgd2F5LiAgSWYgdGhlcmUgaXMgbm8gc2hvcnRlcgorICogLy10ZXJtaW5hdGVkIHByZWZpeCB3aXRoIGEgdmFsdWUgbGVmdCwgdGhlbiByZXR1cm4gdGhlIG5lZ2F0aXZlCisgKiByZXR1cm4gdmFsdWUgb2YgdGhlIG1vc3QgcmVjZW50IGZuIGludm9jYXRpb24uCiAgKgogICogVGhlIGtleSBpcyBwYXJ0aWFsbHkgbm9ybWFsaXplZDogY29uc2VjdXRpdmUgc2xhc2hlcyBhcmUgc2tpcHBlZC4KICAqCi0gKiBGb3IgZXhhbXBsZSwgY29uc2lkZXIgdGhlIHRyaWUgY29udGFpbmluZyBvbmx5IFtyZWZzLAotICogcmVmcy93b3JrdHJlZV0gKGJvdGggd2l0aCB2YWx1ZXMpLgorICogRm9yIGV4YW1wbGUsIGNvbnNpZGVyIHRoZSB0cmllIGNvbnRhaW5pbmcgb25seSBbbG9ncywKKyAqIGxvZ3MvcmVmcy9iaXNlY3RdLCBib3RoIHdpdGggdmFsdWVzLCBidXQgbm90IGxvZ3MvcmVmcy4KICAqCi0gKiB8IGtleSAgICAgICAgICAgICB8IHVubWF0Y2hlZCAgfCB2YWwgZnJvbSBub2RlIHwgcmV0dXJuIHZhbHVlIHwKLSAqIHwtLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tfAotICogfCBhICAgICAgICAgICAgICAgfCBub3QgY2FsbGVkIHwgbi9hICAgICAgICAgICB8IC0xICAgICAgICAgICB8Ci0gKiB8IHJlZnMgICAgICAgICAgICB8IFwwICAgICAgICAgfCByZWZzICAgICAgICAgIHwgYXMgcGVyIGZuICAgIHwKLSAqIHwgcmVmcy8gICAgICAgICAgIHwgLyAgICAgICAgICB8IHJlZnMgICAgICAgICAgfCBhcyBwZXIgZm4gICAgfAotICogfCByZWZzL3cgICAgICAgICAgfCAvdyAgICAgICAgIHwgcmVmcyAgICAgICAgICB8IGFzIHBlciBmbiAgICB8Ci0gKiB8IHJlZnMvd29ya3RyZWUgICB8IFwwICAgICAgICAgfCByZWZzL3dvcmt0cmVlIHwgYXMgcGVyIGZuICAgIHwKLSAqIHwgcmVmcy93b3JrdHJlZS8gIHwgLyAgICAgICAgICB8IHJlZnMvd29ya3RyZWUgfCBhcyBwZXIgZm4gICAgfAotICogfCByZWZzL3dvcmt0cmVlL2EgfCAvYSAgICAgICAgIHwgcmVmcy93b3JrdHJlZSB8IGFzIHBlciBmbiAgICB8Ci0gKiB8LS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLXwKLSAqCisgKiB8IGtleSAgICAgICAgICAgICAgICB8IHVubWF0Y2hlZCAgICAgIHwgcHJlZml4IHRvIG5vZGUgICB8IHJldHVybiB2YWx1ZSB8CisgKiB8LS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS18CisgKiB8IGEgICAgICAgICAgICAgICAgICB8IG5vdCBjYWxsZWQgICAgIHwgbi9hICAgICAgICAgICAgICB8IC0xICAgICAgICAgICB8CisgKiB8IGxvZ3N0b3JlICAgICAgICAgICB8IG5vdCBjYWxsZWQgICAgIHwgbi9hICAgICAgICAgICAgICB8IC0xICAgICAgICAgICB8CisgKiB8IGxvZ3MgICAgICAgICAgICAgICB8IFwwICAgICAgICAgICAgIHwgbG9ncyAgICAgICAgICAgICB8IGFzIHBlciBmbiAgICB8CisgKiB8IGxvZ3MvICAgICAgICAgICAgICB8IC8gICAgICAgICAgICAgIHwgbG9ncyAgICAgICAgICAgICB8IGFzIHBlciBmbiAgICB8CisgKiB8IGxvZ3MvcmVmcyAgICAgICAgICB8IC9yZWZzICAgICAgICAgIHwgbG9ncyAgICAgICAgICAgICB8IGFzIHBlciBmbiAgICB8CisgKiB8IGxvZ3MvcmVmcy8gICAgICAgICB8IC9yZWZzLyAgICAgICAgIHwgbG9ncyAgICAgICAgICAgICB8IGFzIHBlciBmbiAgICB8CisgKiB8IGxvZ3MvcmVmcy9iICAgICAgICB8IC9yZWZzL2IgICAgICAgIHwgbG9ncyAgICAgICAgICAgICB8IGFzIHBlciBmbiAgICB8CisgKiB8IGxvZ3MvcmVmcy9iaXNlY3RlZCB8IC9yZWZzL2Jpc2VjdGVkIHwgbG9ncyAgICAgICAgICAgICB8IGFzIHBlciBmbiAgICB8CisgKiB8IGxvZ3MvcmVmcy9iaXNlY3QgICB8IFwwICAgICAgICAgICAgIHwgbG9ncy9yZWZzL2Jpc2VjdCB8IGFzIHBlciBmbiAgICB8CisgKiB8IGxvZ3MvcmVmcy9iaXNlY3QvICB8IC8gICAgICAgICAgICAgIHwgbG9ncy9yZWZzL2Jpc2VjdCB8IGFzIHBlciBmbiAgICB8CisgKiB8IGxvZ3MvcmVmcy9iaXNlY3QvYSB8IC9hICAgICAgICAgICAgIHwgbG9ncy9yZWZzL2Jpc2VjdCB8IGFzIHBlciBmbiAgICB8CisgKiB8IChJZiBmbiBpbiB0aGUgcHJldmlvdXMgbGluZSByZXR1cm5zIC0xLCB0aGVuIGZuIGlzIGNhbGxlZCBvbmNlIG1vcmU6KSB8CisgKiB8IGxvZ3MvcmVmcy9iaXNlY3QvYSB8IC9yZWZzL2Jpc2VjdC9hIHwgbG9ncyAgICAgICAgICAgICB8IGFzIHBlciBmbiAgICB8CisgKiB8LS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS18CiAgKi8KIHN0YXRpYyBpbnQgdHJpZV9maW5kKHN0cnVjdCB0cmllICpyb290LCBjb25zdCBjaGFyICprZXksIG1hdGNoX2ZuIGZuLAogCQkgICAgIHZvaWQgKmJhdG9uKQpAQCAtMjg1LDkgKzMwMCwxMyBAQAogCiAJLyogTWF0Y2hlZCB0aGUgZW50aXJlIGNvbXByZXNzZWQgc2VjdGlvbiAqLwogCWtleSArPSBpOwotCWlmICghKmtleSkKKwlpZiAoISprZXkpIHsKIAkJLyogRW5kIG9mIGtleSAqLwotCQlyZXR1cm4gZm4oa2V5LCByb290LT52YWx1ZSwgYmF0b24pOworCQlpZiAocm9vdC0+dmFsdWUpCisJCQlyZXR1cm4gZm4oa2V5LCByb290LT52YWx1ZSwgYmF0b24pOworCQllbHNlCisJCQlyZXR1cm4gLTE7CisJfQogCiAJLyogUGFydGlhbCBwYXRoIG5vcm1hbGl6YXRpb246IHNraXAgY29uc2VjdXRpdmUgc2xhc2hlcyAqLwogCXdoaWxlIChrZXlbMF0gPT0gJy8nICYmIGtleVsxXSA9PSAnLycpCkBAIC0zMTcsOCArMzM2LDggQEAKIAlpZiAoY29tbW9uX3RyaWVfZG9uZV9zZXR1cCkKIAkJcmV0dXJuOwogCi0JZm9yIChwID0gY29tbW9uX2xpc3Q7IHAtPmRpcm5hbWU7IHArKykKLQkJYWRkX3RvX3RyaWUoJmNvbW1vbl90cmllLCBwLT5kaXJuYW1lLCBwKTsKKwlmb3IgKHAgPSBjb21tb25fbGlzdDsgcC0+cGF0aDsgcCsrKQorCQlhZGRfdG9fdHJpZSgmY29tbW9uX3RyaWUsIHAtPnBhdGgsIHApOwogCiAJY29tbW9uX3RyaWVfZG9uZV9zZXR1cCA9IDE7CiB9CkBAIC0zMzEsMTQgKzM1MCwxMSBAQAogewogCXN0cnVjdCBjb21tb25fZGlyICpkaXIgPSB2YWx1ZTsKIAotCWlmICghZGlyKQotCQlyZXR1cm4gMDsKLQogCWlmIChkaXItPmlzX2RpciAmJiAodW5tYXRjaGVkWzBdID09IDAgfHwgdW5tYXRjaGVkWzBdID09ICcvJykpCi0JCXJldHVybiAhZGlyLT5leGNsdWRlOworCQlyZXR1cm4gZGlyLT5pc19jb21tb247CiAKIAlpZiAoIWRpci0+aXNfZGlyICYmIHVubWF0Y2hlZFswXSA9PSAwKQotCQlyZXR1cm4gIWRpci0+ZXhjbHVkZTsKKwkJcmV0dXJuIGRpci0+aXNfY29tbW9uOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0zNDcsOSArMzYzLDE0IEBACiAJCQkgICAgICBjb25zdCBjaGFyICpjb21tb25fZGlyKQogewogCWNoYXIgKmJhc2UgPSBidWYtPmJ1ZiArIGdpdF9kaXJfbGVuOworCWludCBoYXNfbG9ja19zdWZmaXggPSBzdHJidWZfc3RyaXBfc3VmZml4KGJ1ZiwgTE9DS19TVUZGSVgpOworCiAJaW5pdF9jb21tb25fdHJpZSgpOwogCWlmICh0cmllX2ZpbmQoJmNvbW1vbl90cmllLCBiYXNlLCBjaGVja19jb21tb24sIE5VTEwpID4gMCkKIAkJcmVwbGFjZV9kaXIoYnVmLCBnaXRfZGlyX2xlbiwgY29tbW9uX2Rpcik7CisKKwlpZiAoaGFzX2xvY2tfc3VmZml4KQorCQlzdHJidWZfYWRkc3RyKGJ1ZiwgTE9DS19TVUZGSVgpOwogfQogCiB2b2lkIHJlcG9ydF9saW5rZWRfY2hlY2tvdXRfZ2FyYmFnZSh2b2lkKQpAQCAtMzYyLDggKzM4Myw4IEBACiAJCXJldHVybjsKIAlzdHJidWZfYWRkZigmc2IsICIlcy8iLCBnZXRfZ2l0X2RpcigpKTsKIAlsZW4gPSBzYi5sZW47Ci0JZm9yIChwID0gY29tbW9uX2xpc3Q7IHAtPmRpcm5hbWU7IHArKykgewotCQljb25zdCBjaGFyICpwYXRoID0gcC0+ZGlybmFtZTsKKwlmb3IgKHAgPSBjb21tb25fbGlzdDsgcC0+cGF0aDsgcCsrKSB7CisJCWNvbnN0IGNoYXIgKnBhdGggPSBwLT5wYXRoOwogCQlpZiAocC0+aWdub3JlX2dhcmJhZ2UpCiAJCQljb250aW51ZTsKIAkJc3RyYnVmX3NldGxlbigmc2IsIGxlbik7CkBAIC0zODUsNyArNDA2LDcgQEAKIAkJc3RyYnVmX3NwbGljZShidWYsIDAsIGJ1Zi0+bGVuLAogCQkJICAgICAgcmVwby0+aW5kZXhfZmlsZSwgc3RybGVuKHJlcG8tPmluZGV4X2ZpbGUpKTsKIAllbHNlIGlmIChkaXJfcHJlZml4KGJhc2UsICJvYmplY3RzIikpCi0JCXJlcGxhY2VfZGlyKGJ1ZiwgZ2l0X2Rpcl9sZW4gKyA3LCByZXBvLT5vYmplY3RzLT5vYmplY3RkaXIpOworCQlyZXBsYWNlX2RpcihidWYsIGdpdF9kaXJfbGVuICsgNywgcmVwby0+b2JqZWN0cy0+b2RiLT5wYXRoKTsKIAllbHNlIGlmIChnaXRfaG9va3NfcGF0aCAmJiBkaXJfcHJlZml4KGJhc2UsICJob29rcyIpKQogCQlyZXBsYWNlX2RpcihidWYsIGdpdF9kaXJfbGVuICsgNSwgZ2l0X2hvb2tzX3BhdGgpOwogCWVsc2UgaWYgKHJlcG8tPmRpZmZlcmVudF9jb21tb25kaXIpCkBAIC0xMDU2LDYgKzEwNzcsOCBAQAogCiAvKgogICogSXQgaXMgb2theSBpZiBkc3QgPT0gc3JjLCBidXQgdGhleSBzaG91bGQgbm90IG92ZXJsYXAgb3RoZXJ3aXNlLgorICogVGhlICJkc3QiIGJ1ZmZlciBtdXN0IGJlIGF0IGxlYXN0IGFzIGxvbmcgYXMgInNyYyI7IG5vcm1hbGl6aW5nIG1heSBzaHJpbmsKKyAqIHRoZSBzaXplIG9mIHRoZSBwYXRoLCBidXQgd2lsbCBuZXZlciBncm93IGl0LgogICoKICAqIFBlcmZvcm1zIHRoZSBmb2xsb3dpbmcgbm9ybWFsaXphdGlvbnMgb24gc3JjLCBzdG9yaW5nIHRoZSByZXN1bHQgaW4gZHN0OgogICogLSBFbnN1cmVzIHRoYXQgY29tcG9uZW50cyBhcmUgc2VwYXJhdGVkIGJ5ICcvJyAoV2luZG93cyBvbmx5KQpAQCAtMTIxOCwzMSArMTI0MSw1MiBAQAogfQogCiAvKgorICogSWYgcGF0aCBlbmRzIHdpdGggc3VmZml4IChjb21wbGV0ZSBwYXRoIGNvbXBvbmVudHMpLCByZXR1cm5zIHRoZSBvZmZzZXQgb2YKKyAqIHRoZSBsYXN0IGNoYXJhY3RlciBpbiB0aGUgcGF0aCBiZWZvcmUgdGhlIHN1ZmZpeCAoc2FucyB0cmFpbGluZyBkaXJlY3RvcnkKKyAqIHNlcGFyYXRvcnMpLCBhbmQgLTEgb3RoZXJ3aXNlLgorICovCitzdGF0aWMgc3NpemVfdCBzdHJpcHBlZF9wYXRoX3N1ZmZpeF9vZmZzZXQoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqc3VmZml4KQoreworCWludCBwYXRoX2xlbiA9IHN0cmxlbihwYXRoKSwgc3VmZml4X2xlbiA9IHN0cmxlbihzdWZmaXgpOworCisJd2hpbGUgKHN1ZmZpeF9sZW4pIHsKKwkJaWYgKCFwYXRoX2xlbikKKwkJCXJldHVybiAtMTsKKworCQlpZiAoaXNfZGlyX3NlcChwYXRoW3BhdGhfbGVuIC0gMV0pKSB7CisJCQlpZiAoIWlzX2Rpcl9zZXAoc3VmZml4W3N1ZmZpeF9sZW4gLSAxXSkpCisJCQkJcmV0dXJuIC0xOworCQkJcGF0aF9sZW4gPSBjaG9tcF90cmFpbGluZ19kaXJfc2VwKHBhdGgsIHBhdGhfbGVuKTsKKwkJCXN1ZmZpeF9sZW4gPSBjaG9tcF90cmFpbGluZ19kaXJfc2VwKHN1ZmZpeCwgc3VmZml4X2xlbik7CisJCX0KKwkJZWxzZSBpZiAocGF0aFstLXBhdGhfbGVuXSAhPSBzdWZmaXhbLS1zdWZmaXhfbGVuXSkKKwkJCXJldHVybiAtMTsKKwl9CisKKwlpZiAocGF0aF9sZW4gJiYgIWlzX2Rpcl9zZXAocGF0aFtwYXRoX2xlbiAtIDFdKSkKKwkJcmV0dXJuIC0xOworCXJldHVybiBjaG9tcF90cmFpbGluZ19kaXJfc2VwKHBhdGgsIHBhdGhfbGVuKTsKK30KKworLyoKKyAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgcGF0aCBlbmRzIHdpdGggY29tcG9uZW50cywgY29uc2lkZXJpbmcgb25seSBjb21wbGV0ZSBwYXRoCisgKiBjb21wb25lbnRzLCBhbmQgZmFsc2Ugb3RoZXJ3aXNlLgorICovCitpbnQgZW5kc193aXRoX3BhdGhfY29tcG9uZW50cyhjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpjb21wb25lbnRzKQoreworCXJldHVybiBzdHJpcHBlZF9wYXRoX3N1ZmZpeF9vZmZzZXQocGF0aCwgY29tcG9uZW50cykgIT0gLTE7Cit9CisKKy8qCiAgKiBJZiBwYXRoIGVuZHMgd2l0aCBzdWZmaXggKGNvbXBsZXRlIHBhdGggY29tcG9uZW50cyksIHJldHVybnMgdGhlCiAgKiBwYXJ0IGJlZm9yZSBzdWZmaXggKHNhbnMgdHJhaWxpbmcgZGlyZWN0b3J5IHNlcGFyYXRvcnMpLgogICogT3RoZXJ3aXNlIHJldHVybnMgTlVMTC4KICAqLwogY2hhciAqc3RyaXBfcGF0aF9zdWZmaXgoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqc3VmZml4KQogewotCWludCBwYXRoX2xlbiA9IHN0cmxlbihwYXRoKSwgc3VmZml4X2xlbiA9IHN0cmxlbihzdWZmaXgpOworCXNzaXplX3Qgb2Zmc2V0ID0gc3RyaXBwZWRfcGF0aF9zdWZmaXhfb2Zmc2V0KHBhdGgsIHN1ZmZpeCk7CiAKLQl3aGlsZSAoc3VmZml4X2xlbikgewotCQlpZiAoIXBhdGhfbGVuKQotCQkJcmV0dXJuIE5VTEw7Ci0KLQkJaWYgKGlzX2Rpcl9zZXAocGF0aFtwYXRoX2xlbiAtIDFdKSkgewotCQkJaWYgKCFpc19kaXJfc2VwKHN1ZmZpeFtzdWZmaXhfbGVuIC0gMV0pKQotCQkJCXJldHVybiBOVUxMOwotCQkJcGF0aF9sZW4gPSBjaG9tcF90cmFpbGluZ19kaXJfc2VwKHBhdGgsIHBhdGhfbGVuKTsKLQkJCXN1ZmZpeF9sZW4gPSBjaG9tcF90cmFpbGluZ19kaXJfc2VwKHN1ZmZpeCwgc3VmZml4X2xlbik7Ci0JCX0KLQkJZWxzZSBpZiAocGF0aFstLXBhdGhfbGVuXSAhPSBzdWZmaXhbLS1zdWZmaXhfbGVuXSkKLQkJCXJldHVybiBOVUxMOwotCX0KLQotCWlmIChwYXRoX2xlbiAmJiAhaXNfZGlyX3NlcChwYXRoW3BhdGhfbGVuIC0gMV0pKQotCQlyZXR1cm4gTlVMTDsKLQlyZXR1cm4geHN0cm5kdXAocGF0aCwgY2hvbXBfdHJhaWxpbmdfZGlyX3NlcChwYXRoLCBwYXRoX2xlbikpOworCXJldHVybiBvZmZzZXQgPT0gLTEgPyBOVUxMIDogeHN0cm5kdXAocGF0aCwgb2Zmc2V0KTsKIH0KIAogaW50IGRhZW1vbl9hdm9pZF9hbGlhcyhjb25zdCBjaGFyICpwKQpkaWZmIC0tZ2l0IGEvcGF0aC5oIGIvcGF0aC5oCmluZGV4IGI2NTRlYTguLjE0ZDZkY2EgMTAwNjQ0Ci0tLSBhL3BhdGguaAorKysgYi9wYXRoLmgKQEAgLTEzLDE5ICsxMywxOSBAQAogLyoKICAqIFJldHVybiBhIHN0YXRpY2FsbHkgYWxsb2NhdGVkIHBhdGguCiAgKi8KLWV4dGVybiBjb25zdCBjaGFyICpta3BhdGgoY29uc3QgY2hhciAqZm10LCAuLi4pCitjb25zdCBjaGFyICpta3BhdGgoY29uc3QgY2hhciAqZm10LCAuLi4pCiAJX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7CiAKIC8qCiAgKiBSZXR1cm4gYSBwYXRoLgogICovCi1leHRlcm4gY2hhciAqbWtwYXRoZHVwKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQorY2hhciAqbWtwYXRoZHVwKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogCV9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAxLCAyKSkpOwogCiAvKgogICogQ29uc3RydWN0IGEgcGF0aCBhbmQgcGxhY2UgdGhlIHJlc3VsdCBpbiB0aGUgcHJvdmlkZWQgYnVmZmVyIGBidWZgLgogICovCi1leHRlcm4gY2hhciAqbWtzbnBhdGgoY2hhciAqYnVmLCBzaXplX3QgbiwgY29uc3QgY2hhciAqZm10LCAuLi4pCitjaGFyICpta3NucGF0aChjaGFyICpidWYsIHNpemVfdCBuLCBjb25zdCBjaGFyICpmbXQsIC4uLikKIAlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMywgNCkpKTsKIAogLyoKQEAgLTM3LDE2ICszNywxNiBAQAogICogQ29uc3RydWN0cyBhIHBhdGggaW50byB0aGUgY29tbW9uIGdpdCBkaXJlY3Rvcnkgb2YgcmVwb3NpdG9yeSBgcmVwb2AgYW5kCiAgKiBhcHBlbmQgaXQgaW4gdGhlIHByb3ZpZGVkIGJ1ZmZlciBgc2JgLgogICovCi1leHRlcm4gdm9pZCBzdHJidWZfZ2l0X2NvbW1vbl9wYXRoKHN0cnVjdCBzdHJidWYgKnNiLAotCQkJCSAgIGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAotCQkJCSAgIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQordm9pZCBzdHJidWZfZ2l0X2NvbW1vbl9wYXRoKHN0cnVjdCBzdHJidWYgKnNiLAorCQkJICAgIGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJICAgIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogCV9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAzLCA0KSkpOwogCiAvKgogICogUmV0dXJuIGEgc3RhdGljYWxseSBhbGxvY2F0ZWQgcGF0aCBpbnRvIHRoZSBtYWluIHJlcG9zaXRvcnkncwogICogKHRoZV9yZXBvc2l0b3J5KSBjb21tb24gZ2l0IGRpcmVjdG9yeS4KICAqLwotZXh0ZXJuIGNvbnN0IGNoYXIgKmdpdF9jb21tb25fcGF0aChjb25zdCBjaGFyICpmbXQsIC4uLikKK2NvbnN0IGNoYXIgKmdpdF9jb21tb25fcGF0aChjb25zdCBjaGFyICpmbXQsIC4uLikKIAlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKTsKIAogCkBAIC02NiwzMCArNjYsMzAgQEAKIC8qCiAgKiBSZXR1cm4gYSBwYXRoIGludG8gdGhlIGdpdCBkaXJlY3Rvcnkgb2YgcmVwb3NpdG9yeSBgcmVwb2AuCiAgKi8KLWV4dGVybiBjaGFyICpyZXBvX2dpdF9wYXRoKGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAotCQkJICAgY29uc3QgY2hhciAqZm10LCAuLi4pCitjaGFyICpyZXBvX2dpdF9wYXRoKGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkgICAgY29uc3QgY2hhciAqZm10LCAuLi4pCiAJX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSk7CiAKIC8qCiAgKiBDb25zdHJ1Y3QgYSBwYXRoIGludG8gdGhlIGdpdCBkaXJlY3Rvcnkgb2YgcmVwb3NpdG9yeSBgcmVwb2AgYW5kIGFwcGVuZCBpdAogICogdG8gdGhlIHByb3ZpZGVkIGJ1ZmZlciBgc2JgLgogICovCi1leHRlcm4gdm9pZCBzdHJidWZfcmVwb19naXRfcGF0aChzdHJ1Y3Qgc3RyYnVmICpzYiwKLQkJCQkgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCi0JCQkJIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQordm9pZCBzdHJidWZfcmVwb19naXRfcGF0aChzdHJ1Y3Qgc3RyYnVmICpzYiwKKwkJCSAgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkgIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogCV9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAzLCA0KSkpOwogCiAvKgogICogUmV0dXJuIGEgc3RhdGljYWxseSBhbGxvY2F0ZWQgcGF0aCBpbnRvIHRoZSBtYWluIHJlcG9zaXRvcnkncwogICogKHRoZV9yZXBvc2l0b3J5KSBnaXQgZGlyZWN0b3J5LgogICovCi1leHRlcm4gY29uc3QgY2hhciAqZ2l0X3BhdGgoY29uc3QgY2hhciAqZm10LCAuLi4pCitjb25zdCBjaGFyICpnaXRfcGF0aChjb25zdCBjaGFyICpmbXQsIC4uLikKIAlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKTsKIAogLyoKICAqIFJldHVybiBhIHBhdGggaW50byB0aGUgbWFpbiByZXBvc2l0b3J5J3MgKHRoZV9yZXBvc2l0b3J5KSBnaXQgZGlyZWN0b3J5LgogICovCi1leHRlcm4gY2hhciAqZ2l0X3BhdGhkdXAoY29uc3QgY2hhciAqZm10LCAuLi4pCitjaGFyICpnaXRfcGF0aGR1cChjb25zdCBjaGFyICpmbXQsIC4uLikKIAlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKTsKIAogLyoKQEAgLTk3LDE0ICs5NywxNCBAQAogICogYW5kIHBsYWNlIGl0IGluIHRoZSBwcm92aWRlZCBidWZmZXIgYGJ1ZmAsIHRoZSBjb250ZW50cyBvZiB0aGUgYnVmZmVyIHdpbGwKICAqIGJlIG92ZXJyaWRkZW4uCiAgKi8KLWV4dGVybiBjaGFyICpnaXRfcGF0aF9idWYoc3RydWN0IHN0cmJ1ZiAqYnVmLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK2NoYXIgKmdpdF9wYXRoX2J1ZihzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogCV9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAyLCAzKSkpOwogCiAvKgogICogQ29uc3RydWN0IGEgcGF0aCBpbnRvIHRoZSBtYWluIHJlcG9zaXRvcnkncyAodGhlX3JlcG9zaXRvcnkpIGdpdCBkaXJlY3RvcnkKICAqIGFuZCBhcHBlbmQgaXQgdG8gdGhlIHByb3ZpZGVkIGJ1ZmZlciBgc2JgLgogICovCi1leHRlcm4gdm9pZCBzdHJidWZfZ2l0X3BhdGgoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQordm9pZCBzdHJidWZfZ2l0X3BhdGgoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogCV9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAyLCAzKSkpOwogCiAvKgpAQCAtMTEyLDcgKzExMiw3IEBACiAgKgogICogSWYgdGhlIHJlcG9zaXRvcnkgZG9lc24ndCBoYXZlIGEgd29ya3RyZWUgTlVMTCBpcyByZXR1cm5lZC4KICAqLwotZXh0ZXJuIGNoYXIgKnJlcG9fd29ya3RyZWVfcGF0aChjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKK2NoYXIgKnJlcG9fd29ya3RyZWVfcGF0aChjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKIAkJCQljb25zdCBjaGFyICpmbXQsIC4uLikKIAlfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMiwgMykpKTsKIApAQCAtMTIyLDcgKzEyMiw3IEBACiAgKgogICogSWYgdGhlIHJlcG9zaXRvcnkgZG9lc24ndCBoYXZlIGEgd29ya3RyZWUgbm90aGluZyB3aWxsIGJlIGFwcGVuZGVkIHRvIGBzYmAuCiAgKi8KLWV4dGVybiB2b2lkIHN0cmJ1Zl9yZXBvX3dvcmt0cmVlX3BhdGgoc3RydWN0IHN0cmJ1ZiAqc2IsCit2b2lkIHN0cmJ1Zl9yZXBvX3dvcmt0cmVlX3BhdGgoc3RydWN0IHN0cmJ1ZiAqc2IsCiAJCQkJICAgICAgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCiAJCQkJICAgICAgY29uc3QgY2hhciAqZm10LCAuLi4pCiAJX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDMsIDQpKSk7CkBAIC0xMzEsNyArMTMxLDcgQEAKICAqIFJldHVybiBhIHBhdGggaW50byBhIHN1Ym1vZHVsZSdzIGdpdCBkaXJlY3RvcnkgbG9jYXRlZCBhdCBgcGF0aGAuICBgcGF0aGAKICAqIG11c3Qgb25seSByZWZlcmVuY2UgYSBzdWJtb2R1bGUgb2YgdGhlIG1haW4gcmVwb3NpdG9yeSAodGhlX3JlcG9zaXRvcnkpLgogICovCi1leHRlcm4gY2hhciAqZ2l0X3BhdGhkdXBfc3VibW9kdWxlKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQorY2hhciAqZ2l0X3BhdGhkdXBfc3VibW9kdWxlKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogCV9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAyLCAzKSkpOwogCiAvKgpAQCAtMTM5LDExICsxMzksMTEgQEAKICAqIGFwcGVuZCBpdCB0byB0aGUgcHJvdmlkZWQgYnVmZmVyIGBzYmAuICBgcGF0aGAgbXVzdCBvbmx5IHJlZmVyZW5jZSBhCiAgKiBzdWJtb2R1bGUgb2YgdGhlIG1haW4gcmVwb3NpdG9yeSAodGhlX3JlcG9zaXRvcnkpLgogICovCi1leHRlcm4gaW50IHN0cmJ1Zl9naXRfcGF0aF9zdWJtb2R1bGUoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKnBhdGgsCitpbnQgc3RyYnVmX2dpdF9wYXRoX3N1Ym1vZHVsZShzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqcGF0aCwKIAkJCQkgICAgIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogCV9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAzLCA0KSkpOwogCi1leHRlcm4gdm9pZCByZXBvcnRfbGlua2VkX2NoZWNrb3V0X2dhcmJhZ2Uodm9pZCk7Cit2b2lkIHJlcG9ydF9saW5rZWRfY2hlY2tvdXRfZ2FyYmFnZSh2b2lkKTsKIAogLyoKICAqIFlvdSBjYW4gZGVmaW5lIGEgc3RhdGljIG1lbW9pemVkIGdpdCBwYXRoIGxpa2U6CkBAIC0xNjUsNyArMTY1LDcgQEAKIAljb25zdCBjaGFyICpnaXRfcGF0aF8jI3ZhcihzdHJ1Y3QgcmVwb3NpdG9yeSAqcikgXAogCXsgXAogCQlpZiAoIXItPmNhY2hlZF9wYXRocy52YXIpIFwKLQkJCXItPmNhY2hlZF9wYXRocy52YXIgPSBnaXRfcGF0aGR1cChmaWxlbmFtZSk7IFwKKwkJCXItPmNhY2hlZF9wYXRocy52YXIgPSByZXBvX2dpdF9wYXRoKHIsIGZpbGVuYW1lKTsgXAogCQlyZXR1cm4gci0+Y2FjaGVkX3BhdGhzLnZhcjsgXAogCX0KIApAQCAtMTkzLDQgKzE5Myw3IEBACiBjb25zdCBjaGFyICpnaXRfcGF0aF9mZXRjaF9oZWFkKHN0cnVjdCByZXBvc2l0b3J5ICpyKTsKIGNvbnN0IGNoYXIgKmdpdF9wYXRoX3NoYWxsb3coc3RydWN0IHJlcG9zaXRvcnkgKnIpOwogCisKK2ludCBlbmRzX3dpdGhfcGF0aF9jb21wb25lbnRzKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKmNvbXBvbmVudHMpOworCiAjZW5kaWYgLyogUEFUSF9IICovCmRpZmYgLS1naXQgYS9wYXRoc3BlYy5jIGIvcGF0aHNwZWMuYwppbmRleCA2ZjAwNTk5Li4xNjZkMjU1IDEwMDY0NAotLS0gYS9wYXRoc3BlYy5jCisrKyBiL3BhdGhzcGVjLmMKQEAgLTEsOSArMSwxMCBAQAotI2RlZmluZSBOT19USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImRpci5oIgogI2luY2x1ZGUgInBhdGhzcGVjLmgiCiAjaW5jbHVkZSAiYXR0ci5oIgorI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKKyNpbmNsdWRlICJxdW90ZS5oIgogCiAvKgogICogRmluZHMgd2hpY2ggb2YgdGhlIGdpdmVuIHBhdGhzcGVjcyBtYXRjaCBpdGVtcyBpbiB0aGUgaW5kZXguCkBAIC00MzgsNyArNDM5LDggQEAKIAkJbWF0Y2ggPSBwcmVmaXhfcGF0aF9nZW50bHkocHJlZml4LCBwcmVmaXhsZW4sCiAJCQkJCSAgICZwcmVmaXhsZW4sIGNvcHlmcm9tKTsKIAkJaWYgKCFtYXRjaCkKLQkJCWRpZShfKCIlczogJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiKSwgZWx0LCBjb3B5ZnJvbSk7CisJCQlkaWUoXygiJXM6ICclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IGF0ICclcyciKSwgZWx0LAorCQkJICAgIGNvcHlmcm9tLCBhYnNvbHV0ZV9wYXRoKGdldF9naXRfd29ya190cmVlKCkpKTsKIAl9CiAKIAlpdGVtLT5tYXRjaCA9IG1hdGNoOwpAQCAtNjE0LDYgKzYxNiw0MiBAQAogCX0KIH0KIAordm9pZCBwYXJzZV9wYXRoc3BlY19maWxlKHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsIHVuc2lnbmVkIG1hZ2ljX21hc2ssCisJCQkgdW5zaWduZWQgZmxhZ3MsIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCSBjb25zdCBjaGFyICpmaWxlLCBpbnQgbnVsX3Rlcm1fbGluZSkKK3sKKwlzdHJ1Y3QgYXJndl9hcnJheSBwYXJzZWRfZmlsZSA9IEFSR1ZfQVJSQVlfSU5JVDsKKwlzdHJidWZfZ2V0bGluZV9mbiBnZXRsaW5lX2ZuID0gbnVsX3Rlcm1fbGluZSA/IHN0cmJ1Zl9nZXRsaW5lX251bCA6CisJCQkJCQkgICAgICAgc3RyYnVmX2dldGxpbmU7CisJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIHVucXVvdGVkID0gU1RSQlVGX0lOSVQ7CisJRklMRSAqaW47CisKKwlpZiAoIXN0cmNtcChmaWxlLCAiLSIpKQorCQlpbiA9IHN0ZGluOworCWVsc2UKKwkJaW4gPSB4Zm9wZW4oZmlsZSwgInIiKTsKKworCXdoaWxlIChnZXRsaW5lX2ZuKCZidWYsIGluKSAhPSBFT0YpIHsKKwkJaWYgKCFudWxfdGVybV9saW5lICYmIGJ1Zi5idWZbMF0gPT0gJyInKSB7CisJCQlzdHJidWZfcmVzZXQoJnVucXVvdGVkKTsKKwkJCWlmICh1bnF1b3RlX2Nfc3R5bGUoJnVucXVvdGVkLCBidWYuYnVmLCBOVUxMKSkKKwkJCQlkaWUoXygibGluZSBpcyBiYWRseSBxdW90ZWQ6ICVzIiksIGJ1Zi5idWYpOworCQkJc3RyYnVmX3N3YXAoJmJ1ZiwgJnVucXVvdGVkKTsKKwkJfQorCQlhcmd2X2FycmF5X3B1c2goJnBhcnNlZF9maWxlLCBidWYuYnVmKTsKKwkJc3RyYnVmX3Jlc2V0KCZidWYpOworCX0KKworCXN0cmJ1Zl9yZWxlYXNlKCZ1bnF1b3RlZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CisJaWYgKGluICE9IHN0ZGluKQorCQlmY2xvc2UoaW4pOworCisJcGFyc2VfcGF0aHNwZWMocGF0aHNwZWMsIG1hZ2ljX21hc2ssIGZsYWdzLCBwcmVmaXgsIHBhcnNlZF9maWxlLmFyZ3YpOworCWFyZ3ZfYXJyYXlfY2xlYXIoJnBhcnNlZF9maWxlKTsKK30KKwogdm9pZCBjb3B5X3BhdGhzcGVjKHN0cnVjdCBwYXRoc3BlYyAqZHN0LCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnNyYykKIHsKIAlpbnQgaSwgajsKQEAgLTY1OSwzICs2OTcsNDEgQEAKIAlGUkVFX0FORF9OVUxMKHBhdGhzcGVjLT5pdGVtcyk7CiAJcGF0aHNwZWMtPm5yID0gMDsKIH0KKworaW50IG1hdGNoX3BhdGhzcGVjX2F0dHJzKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkJIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLAorCQkJIGNvbnN0IHN0cnVjdCBwYXRoc3BlY19pdGVtICppdGVtKQoreworCWludCBpOworCWNoYXIgKnRvX2ZyZWUgPSBOVUxMOworCisJaWYgKG5hbWVbbmFtZWxlbl0pCisJCW5hbWUgPSB0b19mcmVlID0geG1lbWR1cHoobmFtZSwgbmFtZWxlbik7CisKKwlnaXRfY2hlY2tfYXR0cihpc3RhdGUsIG5hbWUsIGl0ZW0tPmF0dHJfY2hlY2spOworCisJZnJlZSh0b19mcmVlKTsKKworCWZvciAoaSA9IDA7IGkgPCBpdGVtLT5hdHRyX21hdGNoX25yOyBpKyspIHsKKwkJY29uc3QgY2hhciAqdmFsdWU7CisJCWludCBtYXRjaGVkOworCQllbnVtIGF0dHJfbWF0Y2hfbW9kZSBtYXRjaF9tb2RlOworCisJCXZhbHVlID0gaXRlbS0+YXR0cl9jaGVjay0+aXRlbXNbaV0udmFsdWU7CisJCW1hdGNoX21vZGUgPSBpdGVtLT5hdHRyX21hdGNoW2ldLm1hdGNoX21vZGU7CisKKwkJaWYgKEFUVFJfVFJVRSh2YWx1ZSkpCisJCQltYXRjaGVkID0gKG1hdGNoX21vZGUgPT0gTUFUQ0hfU0VUKTsKKwkJZWxzZSBpZiAoQVRUUl9GQUxTRSh2YWx1ZSkpCisJCQltYXRjaGVkID0gKG1hdGNoX21vZGUgPT0gTUFUQ0hfVU5TRVQpOworCQllbHNlIGlmIChBVFRSX1VOU0VUKHZhbHVlKSkKKwkJCW1hdGNoZWQgPSAobWF0Y2hfbW9kZSA9PSBNQVRDSF9VTlNQRUNJRklFRCk7CisJCWVsc2UKKwkJCW1hdGNoZWQgPSAobWF0Y2hfbW9kZSA9PSBNQVRDSF9WQUxVRSAmJgorCQkJCSAgICFzdHJjbXAoaXRlbS0+YXR0cl9tYXRjaFtpXS52YWx1ZSwgdmFsdWUpKTsKKwkJaWYgKCFtYXRjaGVkKQorCQkJcmV0dXJuIDA7CisJfQorCisJcmV0dXJuIDE7Cit9CmRpZmYgLS1naXQgYS9wYXRoc3BlYy5oIGIvcGF0aHNwZWMuaAppbmRleCBhNjUyNWE2Li40NTRjZTM2IDEwMDY0NAotLS0gYS9wYXRoc3BlYy5oCisrKyBiL3BhdGhzcGVjLmgKQEAgLTIyLDYgKzIyLDExIEBACiAKICNkZWZpbmUgUEFUSFNQRUNfT05FU1RBUiAxCS8qIHRoZSBwYXRoc3BlYyBwYXR0ZXJuIHNhdGlzZmllcyBHRk5NX09ORVNUQVIgKi8KIAorLyoqCisgKiBTZWUgZ2xvc3NhcnktY29udGV4dC50eHQgZm9yIHRoZSBzeW50YXggb2YgcGF0aHNwZWMuCisgKiBJbiBtZW1vcnksIGEgcGF0aHNwZWMgc2V0IGlzIHJlcHJlc2VudGVkIGJ5ICJzdHJ1Y3QgcGF0aHNwZWMiIGFuZCBpcworICogcHJlcGFyZWQgYnkgcGFyc2VfcGF0aHNwZWMoKS4KKyAqLwogc3RydWN0IHBhdGhzcGVjIHsKIAlpbnQgbnI7CiAJdW5zaWduZWQgaW50IGhhc193aWxkY2FyZDoxOwpAQCAtNzMsMjAgKzc4LDU4IEBACiAgKi8KICNkZWZpbmUgUEFUSFNQRUNfTElURVJBTF9QQVRIICgxPDw2KQogCi0vKgorLyoqCiAgKiBHaXZlbiBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGFuZCBhIHByZWZpeCwgY29udmVydCB0aGUgaW5wdXQgdG8KICAqIHBhdGhzcGVjLiBkaWUoKSBpZiBhbnkgbWFnaWMgaW4gbWFnaWNfbWFzayBpcyB1c2VkLgogICoKICAqIEFueSBhcmd1bWVudHMgdXNlZCBhcmUgY29waWVkLiBJdCBpcyBzYWZlIGZvciB0aGUgY2FsbGVyIHRvIG1vZGlmeQogICogb3IgZnJlZSAncHJlZml4JyBhbmQgJ2FyZ3MnIGFmdGVyIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi4KKyAqCisgKiAtIG1hZ2ljX21hc2sgc3BlY2lmaWVzIHdoYXQgZmVhdHVyZXMgdGhhdCBhcmUgTk9UIHN1cHBvcnRlZCBieSB0aGUgZm9sbG93aW5nCisgKiBjb2RlLiBJZiBhIHVzZXIgYXR0ZW1wdHMgdG8gdXNlIHN1Y2ggYSBmZWF0dXJlLCBwYXJzZV9wYXRoc3BlYygpIGNhbiByZWplY3QKKyAqIGl0IGVhcmx5LgorICoKKyAqIC0gZmxhZ3Mgc3BlY2lmaWVzIG90aGVyIHRoaW5ncyB0aGF0IHRoZSBjYWxsZXIgd2FudHMgcGFyc2VfcGF0aHNwZWMgdG8KKyAqIHBlcmZvcm0uCisgKgorICogLSBwcmVmaXggYW5kIGFyZ3MgY29tZSBmcm9tIGNtZF8qIGZ1bmN0aW9ucworICoKKyAqIHBhcnNlX3BhdGhzcGVjKCkgaGVscHMgY2F0Y2ggdW5zdXBwb3J0ZWQgZmVhdHVyZXMgYW5kIHJlamVjdCB0aGVtIHBvbGl0ZWx5LgorICogQXQgYSBsb3dlciBsZXZlbCwgZGlmZmVyZW50IHBhdGhzcGVjLXJlbGF0ZWQgZnVuY3Rpb25zIG1heSBub3Qgc3VwcG9ydCB0aGUKKyAqIHNhbWUgc2V0IG9mIGZlYXR1cmVzLiBTdWNoIHBhdGhzcGVjLXNlbnNpdGl2ZSBmdW5jdGlvbnMgYXJlIGd1YXJkZWQgd2l0aAorICogR1VBUkRfUEFUSFNQRUMoKSwgd2hpY2ggd2lsbCBkaWUgaW4gYW4gdW5mcmllbmRseSB3YXkgd2hlbiBhbiB1bnN1cHBvcnRlZAorICogZmVhdHVyZSBpcyByZXF1ZXN0ZWQuCisgKgorICogVGhlIGNvbW1hbmQgZGVzaWduZXJzIGFyZSBzdXBwb3NlZCB0byBtYWtlIHN1cmUgdGhhdCBHVUFSRF9QQVRIU1BFQygpIG5ldmVyCisgKiBkaWVzLiBUaGV5IGhhdmUgdG8gbWFrZSBzdXJlIGFsbCB1bnN1cHBvcnRlZCBmZWF0dXJlcyBhcmUgY2F1Z2h0IGJ5CisgKiBwYXJzZV9wYXRoc3BlYygpLCBub3QgYnkgR1VBUkRfUEFUSFNQRUMuIGdyZXBwaW5nIEdVQVJEX1BBVEhTUEVDKCkgc2hvdWxkCisgKiBnaXZlIHRoZSBkZXNpZ25lcnMgYWxsIHBhdGhzcGVjLXNlbnNpdGl2ZSBjb2RlcGF0aHMgYW5kIHdoYXQgZmVhdHVyZXMgdGhleQorICogc3VwcG9ydC4KKyAqCisgKiBBIHNpbWlsYXIgcHJvY2VzcyBpcyBhcHBsaWVkIHdoZW4gYSBuZXcgcGF0aHNwZWMgbWFnaWMgaXMgYWRkZWQuIFRoZSBkZXNpZ25lcgorICogbGlmdHMgdGhlIEdVQVJEX1BBVEhTUEVDIHJlc3RyaWN0aW9uIGluIHRoZSBmdW5jdGlvbnMgdGhhdCBzdXBwb3J0IHRoZSBuZXcKKyAqIG1hZ2ljLiBBdCB0aGUgc2FtZSB0aW1lIChzKWhlIGhhcyB0byBtYWtlIHN1cmUgdGhpcyBuZXcgZmVhdHVyZSB3aWxsIGJlCisgKiBjYXVnaHQgYXQgcGFyc2VfcGF0aHNwZWMoKSBpbiBjb21tYW5kcyB0aGF0IGNhbm5vdCBoYW5kbGUgdGhlIG5ldyBtYWdpYyBpbgorICogc29tZSBjYXNlcy4gZ3JlcHBpbmcgcGFyc2VfcGF0aHNwZWMoKSBzaG91bGQgaGVscC4KICAqLwotZXh0ZXJuIHZvaWQgcGFyc2VfcGF0aHNwZWMoc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKLQkJCSAgIHVuc2lnbmVkIG1hZ2ljX21hc2ssCi0JCQkgICB1bnNpZ25lZCBmbGFncywKLQkJCSAgIGNvbnN0IGNoYXIgKnByZWZpeCwKLQkJCSAgIGNvbnN0IGNoYXIgKiphcmdzKTsKLWV4dGVybiB2b2lkIGNvcHlfcGF0aHNwZWMoc3RydWN0IHBhdGhzcGVjICpkc3QsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqc3JjKTsKLWV4dGVybiB2b2lkIGNsZWFyX3BhdGhzcGVjKHN0cnVjdCBwYXRoc3BlYyAqKTsKK3ZvaWQgcGFyc2VfcGF0aHNwZWMoc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKKwkJICAgIHVuc2lnbmVkIG1hZ2ljX21hc2ssCisJCSAgICB1bnNpZ25lZCBmbGFncywKKwkJICAgIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJICAgIGNvbnN0IGNoYXIgKiphcmdzKTsKKy8qCisgKiBTYW1lIGFzIHBhcnNlX3BhdGhzcGVjKCkgYnV0IHVzZXMgZmlsZSBhcyBpbnB1dC4KKyAqIFdoZW4gJ2ZpbGUnIGlzIGV4YWN0bHkgIi0iIGl0IHVzZXMgJ3N0ZGluJyBpbnN0ZWFkLgorICovCit2b2lkIHBhcnNlX3BhdGhzcGVjX2ZpbGUoc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKKwkJCSB1bnNpZ25lZCBtYWdpY19tYXNrLAorCQkJIHVuc2lnbmVkIGZsYWdzLAorCQkJIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCSBjb25zdCBjaGFyICpmaWxlLAorCQkJIGludCBudWxfdGVybV9saW5lKTsKKwordm9pZCBjb3B5X3BhdGhzcGVjKHN0cnVjdCBwYXRoc3BlYyAqZHN0LCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnNyYyk7Cit2b2lkIGNsZWFyX3BhdGhzcGVjKHN0cnVjdCBwYXRoc3BlYyAqKTsKIAogc3RhdGljIGlubGluZSBpbnQgcHNfc3RybmNtcChjb25zdCBzdHJ1Y3QgcGF0aHNwZWNfaXRlbSAqaXRlbSwKIAkJCSAgICAgY29uc3QgY2hhciAqczEsIGNvbnN0IGNoYXIgKnMyLCBzaXplX3QgbikKQEAgLTEwNiwxMCArMTQ5LDEzIEBACiAJCXJldHVybiBzdHJjbXAoczEsIHMyKTsKIH0KIAotZXh0ZXJuIHZvaWQgYWRkX3BhdGhzcGVjX21hdGNoZXNfYWdhaW5zdF9pbmRleChjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAotCQkJCQkgICAgICAgY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCi0JCQkJCSAgICAgICBjaGFyICpzZWVuKTsKLWV4dGVybiBjaGFyICpmaW5kX3BhdGhzcGVjc19tYXRjaGluZ19hZ2FpbnN0X2luZGV4KGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCi0JCQkJCQkgICBjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSk7Cit2b2lkIGFkZF9wYXRoc3BlY19tYXRjaGVzX2FnYWluc3RfaW5kZXgoY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKKwkJCQkJY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCisJCQkJCWNoYXIgKnNlZW4pOworY2hhciAqZmluZF9wYXRoc3BlY3NfbWF0Y2hpbmdfYWdhaW5zdF9pbmRleChjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAorCQkJCQkgICAgY29uc3Qgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpOworaW50IG1hdGNoX3BhdGhzcGVjX2F0dHJzKGNvbnN0IHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkJIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLAorCQkJIGNvbnN0IHN0cnVjdCBwYXRoc3BlY19pdGVtICppdGVtKTsKIAogI2VuZGlmIC8qIFBBVEhTUEVDX0ggKi8KZGlmZiAtLWdpdCBhL3BlcmwvR2l0LnBtIGIvcGVybC9HaXQucG0KaW5kZXggZDg1NjkzMC4uNTRjOWVkMCAxMDA2NDQKLS0tIGEvcGVybC9HaXQucG0KKysrIGIvcGVybC9HaXQucG0KQEAgLTU2Myw3ICs1NjMsNyBAQAogUXVlcnkgdXNlciBDPFBST01QVD4gYW5kIHJldHVybiBhbnN3ZXIgZnJvbSB1c2VyLgogCiBIb25vdXJzIEdJVF9BU0tQQVNTIGFuZCBTU0hfQVNLUEFTUyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHF1ZXJ5aW5nCi10aGUgdXNlci4gSWYgbm8gKl9BU0tQQVNTIHZhcmlhYmxlIGlzIHNldCBvciBhbiBlcnJvciBvY2NvdXJlZCwKK3RoZSB1c2VyLiBJZiBubyAqX0FTS1BBU1MgdmFyaWFibGUgaXMgc2V0IG9yIGFuIGVycm9yIG9jY3VycmVkLAogdGhlIHRlcm1pbmFsIGlzIHRyaWVkIGFzIGEgZmFsbGJhY2suCiBJZiBDPElTUEFTU1dPUkQ+IGlzIHNldCBhbmQgdHJ1ZSwgdGhlIHRlcm1pbmFsIGRpc2FibGVzIGVjaG8uCiAKQEAgLTk4MCw3ICs5ODAsNyBAQAogCQlyZXR1cm4gLTE7CiAJfQogCi0JaWYgKCRkZXNjcmlwdGlvbiAhfiAvXlswLTlhLWZBLUZdezQwfSBcUysgKFxkKykkLykgeworCWlmICgkZGVzY3JpcHRpb24gIX4gL15bMC05YS1mQS1GXXs0MH0oPzpbMC05YS1mQS1GXXsyNH0pPyBcUysgKFxkKykkLykgewogCQljYXJwICJVbmV4cGVjdGVkIHJlc3VsdCByZXR1cm5lZCBmcm9tIGdpdCBjYXQtZmlsZSI7CiAJCXJldHVybiAtMTsKIAl9CmRpZmYgLS1naXQgYS9wZXJsL0dpdC9TVk4ucG0gYi9wZXJsL0dpdC9TVk4ucG0KaW5kZXggNzZiMjk2NS4uNGIyOGI4NyAxMDA2NDQKLS0tIGEvcGVybC9HaXQvU1ZOLnBtCisrKyBiL3BlcmwvR2l0L1NWTi5wbQpAQCAtMTQ5MSw2ICsxNDkxLDEwIEBACiAKIHN1YiBjaGVja19hdXRob3IgewogCW15ICgkYXV0aG9yKSA9IEBfOworCWlmIChkZWZpbmVkICRhdXRob3IpIHsKKwkJJGF1dGhvciA9fiBzL15ccysvL2c7CisJCSRhdXRob3IgPX4gcy9ccyskLy9nOworCX0KIAlpZiAoIWRlZmluZWQgJGF1dGhvciB8fCBsZW5ndGggJGF1dGhvciA9PSAwKSB7CiAJCSRhdXRob3IgPSAnKG5vIGF1dGhvciknOwogCX0KZGlmZiAtLWdpdCBhL3BrdC1saW5lLmMgYi9wa3QtbGluZS5jCmluZGV4IDA0ZDEwYmIuLmEwZTg3YjEgMTAwNjQ0Ci0tLSBhL3BrdC1saW5lLmMKKysrIGIvcGt0LWxpbmUuYwpAQCAtODgsMTMgKzg4LDE1IEBACiB2b2lkIHBhY2tldF9mbHVzaChpbnQgZmQpCiB7CiAJcGFja2V0X3RyYWNlKCIwMDAwIiwgNCwgMSk7Ci0Jd3JpdGVfb3JfZGllKGZkLCAiMDAwMCIsIDQpOworCWlmICh3cml0ZV9pbl9mdWxsKGZkLCAiMDAwMCIsIDQpIDwgMCkKKwkJZGllX2Vycm5vKF8oInVuYWJsZSB0byB3cml0ZSBmbHVzaCBwYWNrZXQiKSk7CiB9CiAKIHZvaWQgcGFja2V0X2RlbGltKGludCBmZCkKIHsKIAlwYWNrZXRfdHJhY2UoIjAwMDEiLCA0LCAxKTsKLQl3cml0ZV9vcl9kaWUoZmQsICIwMDAxIiwgNCk7CisJaWYgKHdyaXRlX2luX2Z1bGwoZmQsICIwMDAxIiwgNCkgPCAwKQorCQlkaWVfZXJybm8oXygidW5hYmxlIHRvIHdyaXRlIGRlbGltIHBhY2tldCIpKTsKIH0KIAogaW50IHBhY2tldF9mbHVzaF9nZW50bHkoaW50IGZkKQpAQCAtMTE3LDcgKzExOSw3IEBACiAJc3RyYnVmX2FkZChidWYsICIwMDAxIiwgNCk7CiB9CiAKLXN0YXRpYyB2b2lkIHNldF9wYWNrZXRfaGVhZGVyKGNoYXIgKmJ1ZiwgY29uc3QgaW50IHNpemUpCit2b2lkIHNldF9wYWNrZXRfaGVhZGVyKGNoYXIgKmJ1ZiwgaW50IHNpemUpCiB7CiAJc3RhdGljIGNoYXIgaGV4Y2hhcltdID0gIjAxMjM0NTY3ODlhYmNkZWYiOwogCkBAIC0xMjksMTIgKzEzMSwxNCBAQAogCSN1bmRlZiBoZXgKIH0KIAotc3RhdGljIHZvaWQgZm9ybWF0X3BhY2tldChzdHJ1Y3Qgc3RyYnVmICpvdXQsIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcmdzKQorc3RhdGljIHZvaWQgZm9ybWF0X3BhY2tldChzdHJ1Y3Qgc3RyYnVmICpvdXQsIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCSAgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFyZ3MpCiB7CiAJc2l6ZV90IG9yaWdfbGVuLCBuOwogCiAJb3JpZ19sZW4gPSBvdXQtPmxlbjsKIAlzdHJidWZfYWRkc3RyKG91dCwgIjAwMDAiKTsKKwlzdHJidWZfYWRkc3RyKG91dCwgcHJlZml4KTsKIAlzdHJidWZfdmFkZGYob3V0LCBmbXQsIGFyZ3MpOwogCW4gPSBvdXQtPmxlbiAtIG9yaWdfbGVuOwogCkBAIC0xNDUsMTMgKzE0OSwxMyBAQAogCXBhY2tldF90cmFjZShvdXQtPmJ1ZiArIG9yaWdfbGVuICsgNCwgbiAtIDQsIDEpOwogfQogCi1zdGF0aWMgaW50IHBhY2tldF93cml0ZV9mbXRfMShpbnQgZmQsIGludCBnZW50bHksCitzdGF0aWMgaW50IHBhY2tldF93cml0ZV9mbXRfMShpbnQgZmQsIGludCBnZW50bHksIGNvbnN0IGNoYXIgKnByZWZpeCwKIAkJCSAgICAgIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcmdzKQogewogCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCiAJc3RyYnVmX3Jlc2V0KCZidWYpOwotCWZvcm1hdF9wYWNrZXQoJmJ1ZiwgZm10LCBhcmdzKTsKKwlmb3JtYXRfcGFja2V0KCZidWYsIHByZWZpeCwgZm10LCBhcmdzKTsKIAlpZiAod3JpdGVfaW5fZnVsbChmZCwgYnVmLmJ1ZiwgYnVmLmxlbikgPCAwKSB7CiAJCWlmICghZ2VudGx5KSB7CiAJCQljaGVja19waXBlKGVycm5vKTsKQEAgLTE2OCw3ICsxNzIsNyBAQAogCXZhX2xpc3QgYXJnczsKIAogCXZhX3N0YXJ0KGFyZ3MsIGZtdCk7Ci0JcGFja2V0X3dyaXRlX2ZtdF8xKGZkLCAwLCBmbXQsIGFyZ3MpOworCXBhY2tldF93cml0ZV9mbXRfMShmZCwgMCwgIiIsIGZtdCwgYXJncyk7CiAJdmFfZW5kKGFyZ3MpOwogfQogCkBAIC0xNzgsNyArMTgyLDcgQEAKIAl2YV9saXN0IGFyZ3M7CiAKIAl2YV9zdGFydChhcmdzLCBmbXQpOwotCXN0YXR1cyA9IHBhY2tldF93cml0ZV9mbXRfMShmZCwgMSwgZm10LCBhcmdzKTsKKwlzdGF0dXMgPSBwYWNrZXRfd3JpdGVfZm10XzEoZmQsIDEsICIiLCBmbXQsIGFyZ3MpOwogCXZhX2VuZChhcmdzKTsKIAlyZXR1cm4gc3RhdHVzOwogfQpAQCAtMjExLDcgKzIxNSw3IEBACiAJdmFfbGlzdCBhcmdzOwogCiAJdmFfc3RhcnQoYXJncywgZm10KTsKLQlmb3JtYXRfcGFja2V0KGJ1ZiwgZm10LCBhcmdzKTsKKwlmb3JtYXRfcGFja2V0KGJ1ZiwgIiIsIGZtdCwgYXJncyk7CiAJdmFfZW5kKGFyZ3MpOwogfQogCkBAIC0zNTIsNiArMzU2LDExIEBACiAKIAlidWZmZXJbbGVuXSA9IDA7CiAJcGFja2V0X3RyYWNlKGJ1ZmZlciwgbGVuLCAwKTsKKworCWlmICgob3B0aW9ucyAmIFBBQ0tFVF9SRUFEX0RJRV9PTl9FUlJfUEFDS0VUKSAmJgorCSAgICBzdGFydHNfd2l0aChidWZmZXIsICJFUlIgIikpCisJCWRpZShfKCJyZW1vdGUgZXJyb3I6ICVzIiksIGJ1ZmZlciArIDQpOworCiAJKnBrdGxlbiA9IGxlbjsKIAlyZXR1cm4gUEFDS0VUX1JFQURfTk9STUFMOwogfQpAQCAtNDMzLDYgKzQ0MiwyOSBAQAogCXJldHVybiBzYl9vdXQtPmxlbiAtIG9yaWdfbGVuOwogfQogCitpbnQgcmVjdl9zaWRlYmFuZChjb25zdCBjaGFyICptZSwgaW50IGluX3N0cmVhbSwgaW50IG91dCkKK3sKKwljaGFyIGJ1ZltMQVJHRV9QQUNLRVRfTUFYICsgMV07CisJaW50IGxlbjsKKwlzdHJ1Y3Qgc3RyYnVmIHNjcmF0Y2ggPSBTVFJCVUZfSU5JVDsKKwllbnVtIHNpZGViYW5kX3R5cGUgc2lkZWJhbmRfdHlwZTsKKworCXdoaWxlICgxKSB7CisJCWxlbiA9IHBhY2tldF9yZWFkKGluX3N0cmVhbSwgTlVMTCwgTlVMTCwgYnVmLCBMQVJHRV9QQUNLRVRfTUFYLAorCQkJCSAgMCk7CisJCWlmICghZGVtdWx0aXBsZXhfc2lkZWJhbmQobWUsIGJ1ZiwgbGVuLCAwLCAmc2NyYXRjaCwKKwkJCQkJICAmc2lkZWJhbmRfdHlwZSkpCisJCQljb250aW51ZTsKKwkJc3dpdGNoIChzaWRlYmFuZF90eXBlKSB7CisJCWNhc2UgU0lERUJBTkRfUFJJTUFSWToKKwkJCXdyaXRlX29yX2RpZShvdXQsIGJ1ZiArIDEsIGxlbiAtIDEpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6IC8qIGVycm9yczogbWVzc2FnZSBhbHJlYWR5IHdyaXR0ZW4gKi8KKwkJCXJldHVybiBzaWRlYmFuZF90eXBlOworCQl9CisJfQorfQorCiAvKiBQYWNrZXQgUmVhZGVyIEZ1bmN0aW9ucyAqLwogdm9pZCBwYWNrZXRfcmVhZGVyX2luaXQoc3RydWN0IHBhY2tldF9yZWFkZXIgKnJlYWRlciwgaW50IGZkLAogCQkJY2hhciAqc3JjX2J1ZmZlciwgc2l6ZV90IHNyY19sZW4sCkBAIC00NDYsMjUgKzQ3OCw0MyBAQAogCXJlYWRlci0+YnVmZmVyID0gcGFja2V0X2J1ZmZlcjsKIAlyZWFkZXItPmJ1ZmZlcl9zaXplID0gc2l6ZW9mKHBhY2tldF9idWZmZXIpOwogCXJlYWRlci0+b3B0aW9ucyA9IG9wdGlvbnM7CisJcmVhZGVyLT5tZSA9ICJnaXQiOwogfQogCiBlbnVtIHBhY2tldF9yZWFkX3N0YXR1cyBwYWNrZXRfcmVhZGVyX3JlYWQoc3RydWN0IHBhY2tldF9yZWFkZXIgKnJlYWRlcikKIHsKKwlzdHJ1Y3Qgc3RyYnVmIHNjcmF0Y2ggPSBTVFJCVUZfSU5JVDsKKwogCWlmIChyZWFkZXItPmxpbmVfcGVla2VkKSB7CiAJCXJlYWRlci0+bGluZV9wZWVrZWQgPSAwOwogCQlyZXR1cm4gcmVhZGVyLT5zdGF0dXM7CiAJfQogCi0JcmVhZGVyLT5zdGF0dXMgPSBwYWNrZXRfcmVhZF93aXRoX3N0YXR1cyhyZWFkZXItPmZkLAotCQkJCQkJICZyZWFkZXItPnNyY19idWZmZXIsCi0JCQkJCQkgJnJlYWRlci0+c3JjX2xlbiwKLQkJCQkJCSByZWFkZXItPmJ1ZmZlciwKLQkJCQkJCSByZWFkZXItPmJ1ZmZlcl9zaXplLAotCQkJCQkJICZyZWFkZXItPnBrdGxlbiwKLQkJCQkJCSByZWFkZXItPm9wdGlvbnMpOworCS8qCisJICogQ29uc3VtZSBhbGwgcHJvZ3Jlc3MgcGFja2V0cyB1bnRpbCBhIHByaW1hcnkgcGF5bG9hZCBwYWNrZXQgaXMKKwkgKiByZWNlaXZlZAorCSAqLworCXdoaWxlICgxKSB7CisJCWVudW0gc2lkZWJhbmRfdHlwZSBzaWRlYmFuZF90eXBlOworCQlyZWFkZXItPnN0YXR1cyA9IHBhY2tldF9yZWFkX3dpdGhfc3RhdHVzKHJlYWRlci0+ZmQsCisJCQkJCQkJICZyZWFkZXItPnNyY19idWZmZXIsCisJCQkJCQkJICZyZWFkZXItPnNyY19sZW4sCisJCQkJCQkJIHJlYWRlci0+YnVmZmVyLAorCQkJCQkJCSByZWFkZXItPmJ1ZmZlcl9zaXplLAorCQkJCQkJCSAmcmVhZGVyLT5wa3RsZW4sCisJCQkJCQkJIHJlYWRlci0+b3B0aW9ucyk7CisJCWlmICghcmVhZGVyLT51c2Vfc2lkZWJhbmQpCisJCQlicmVhazsKKwkJaWYgKGRlbXVsdGlwbGV4X3NpZGViYW5kKHJlYWRlci0+bWUsIHJlYWRlci0+YnVmZmVyLAorCQkJCQkgcmVhZGVyLT5wa3RsZW4sIDEsICZzY3JhdGNoLAorCQkJCQkgJnNpZGViYW5kX3R5cGUpKQorCQkJYnJlYWs7CisJfQogCiAJaWYgKHJlYWRlci0+c3RhdHVzID09IFBBQ0tFVF9SRUFEX05PUk1BTCkKLQkJcmVhZGVyLT5saW5lID0gcmVhZGVyLT5idWZmZXI7CisJCS8qIFNraXAgdGhlIHNpZGViYW5kIGRlc2lnbmF0b3IgaWYgc2lkZWJhbmQgaXMgdXNlZCAqLworCQlyZWFkZXItPmxpbmUgPSByZWFkZXItPnVzZV9zaWRlYmFuZCA/CisJCQlyZWFkZXItPmJ1ZmZlciArIDEgOiByZWFkZXItPmJ1ZmZlcjsKIAllbHNlCiAJCXJlYWRlci0+bGluZSA9IE5VTEw7CiAKQEAgLTQ4MiwzICs1MzIsMzkgQEAKIAlyZWFkZXItPmxpbmVfcGVla2VkID0gMTsKIAlyZXR1cm4gcmVhZGVyLT5zdGF0dXM7CiB9CisKK3ZvaWQgcGFja2V0X3dyaXRlcl9pbml0KHN0cnVjdCBwYWNrZXRfd3JpdGVyICp3cml0ZXIsIGludCBkZXN0X2ZkKQoreworCXdyaXRlci0+ZGVzdF9mZCA9IGRlc3RfZmQ7CisJd3JpdGVyLT51c2Vfc2lkZWJhbmQgPSAwOworfQorCit2b2lkIHBhY2tldF93cml0ZXJfd3JpdGUoc3RydWN0IHBhY2tldF93cml0ZXIgKndyaXRlciwgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcmdzOworCisJdmFfc3RhcnQoYXJncywgZm10KTsKKwlwYWNrZXRfd3JpdGVfZm10XzEod3JpdGVyLT5kZXN0X2ZkLCAwLAorCQkJICAgd3JpdGVyLT51c2Vfc2lkZWJhbmQgPyAiXDAwMSIgOiAiIiwgZm10LCBhcmdzKTsKKwl2YV9lbmQoYXJncyk7Cit9CisKK3ZvaWQgcGFja2V0X3dyaXRlcl9lcnJvcihzdHJ1Y3QgcGFja2V0X3dyaXRlciAqd3JpdGVyLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwl2YV9saXN0IGFyZ3M7CisKKwl2YV9zdGFydChhcmdzLCBmbXQpOworCXBhY2tldF93cml0ZV9mbXRfMSh3cml0ZXItPmRlc3RfZmQsIDAsCisJCQkgICB3cml0ZXItPnVzZV9zaWRlYmFuZCA/ICJcMDAzIiA6ICJFUlIgIiwgZm10LCBhcmdzKTsKKwl2YV9lbmQoYXJncyk7Cit9CisKK3ZvaWQgcGFja2V0X3dyaXRlcl9kZWxpbShzdHJ1Y3QgcGFja2V0X3dyaXRlciAqd3JpdGVyKQoreworCXBhY2tldF9kZWxpbSh3cml0ZXItPmRlc3RfZmQpOworfQorCit2b2lkIHBhY2tldF93cml0ZXJfZmx1c2goc3RydWN0IHBhY2tldF93cml0ZXIgKndyaXRlcikKK3sKKwlwYWNrZXRfZmx1c2god3JpdGVyLT5kZXN0X2ZkKTsKK30KZGlmZiAtLWdpdCBhL3BrdC1saW5lLmggYi9wa3QtbGluZS5oCmluZGV4IDViMjhkNDMuLmZlZjNhMGQgMTAwNjQ0Ci0tLSBhL3BrdC1saW5lLmgKKysrIGIvcGt0LWxpbmUuaApAQCAtMyw2ICszLDcgQEAKIAogI2luY2x1ZGUgImdpdC1jb21wYXQtdXRpbC5oIgogI2luY2x1ZGUgInN0cmJ1Zi5oIgorI2luY2x1ZGUgInNpZGViYW5kLmgiCiAKIC8qCiAgKiBXcml0ZSBhIHBhY2tldGl6ZWQgc3RyZWFtLCB3aGVyZSBlYWNoIGxpbmUgaXMgcHJlY2VkZWQgYnkKQEAgLTI0LDYgKzI1LDcgQEAKIHZvaWQgcGFja2V0X3dyaXRlX2ZtdChpbnQgZmQsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKSBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMiwgMykpKTsKIHZvaWQgcGFja2V0X2J1Zl9mbHVzaChzdHJ1Y3Qgc3RyYnVmICpidWYpOwogdm9pZCBwYWNrZXRfYnVmX2RlbGltKHN0cnVjdCBzdHJidWYgKmJ1Zik7Cit2b2lkIHNldF9wYWNrZXRfaGVhZGVyKGNoYXIgKmJ1ZiwgaW50IHNpemUpOwogdm9pZCBwYWNrZXRfd3JpdGUoaW50IGZkX291dCwgY29uc3QgY2hhciAqYnVmLCBzaXplX3Qgc2l6ZSk7CiB2b2lkIHBhY2tldF9idWZfd3JpdGUoc3RydWN0IHN0cmJ1ZiAqYnVmLCBjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSk7CiB2b2lkIHBhY2tldF9idWZfd3JpdGVfbGVuKHN0cnVjdCBzdHJidWYgKmJ1ZiwgY29uc3QgY2hhciAqZGF0YSwgc2l6ZV90IGxlbik7CkBAIC02MiwxNiArNjQsMjAgQEAKICAqCiAgKiBJZiBvcHRpb25zIGNvbnRhaW5zIFBBQ0tFVF9SRUFEX0NIT01QX05FV0xJTkUsIGEgdHJhaWxpbmcgbmV3bGluZSAoaWYKICAqIHByZXNlbnQpIGlzIHJlbW92ZWQgZnJvbSB0aGUgYnVmZmVyIGJlZm9yZSByZXR1cm5pbmcuCisgKgorICogSWYgb3B0aW9ucyBjb250YWlucyBQQUNLRVRfUkVBRF9ESUVfT05fRVJSX1BBQ0tFVCwgaXQgZGllcyB3aGVuIGl0IHNlZXMgYW4KKyAqIEVSUiBwYWNrZXQuCiAgKi8KLSNkZWZpbmUgUEFDS0VUX1JFQURfR0VOVExFX09OX0VPRiAoMXU8PDApCi0jZGVmaW5lIFBBQ0tFVF9SRUFEX0NIT01QX05FV0xJTkUgKDF1PDwxKQorI2RlZmluZSBQQUNLRVRfUkVBRF9HRU5UTEVfT05fRU9GICAgICAoMXU8PDApCisjZGVmaW5lIFBBQ0tFVF9SRUFEX0NIT01QX05FV0xJTkUgICAgICgxdTw8MSkKKyNkZWZpbmUgUEFDS0VUX1JFQURfRElFX09OX0VSUl9QQUNLRVQgKDF1PDwyKQogaW50IHBhY2tldF9yZWFkKGludCBmZCwgY2hhciAqKnNyY19idWZmZXIsIHNpemVfdCAqc3JjX2xlbiwgY2hhcgogCQkqYnVmZmVyLCB1bnNpZ25lZCBzaXplLCBpbnQgb3B0aW9ucyk7CiAKIC8qCiAgKiBSZWFkIGEgcGFja2V0aXplZCBsaW5lIGludG8gYSBidWZmZXIgbGlrZSB0aGUgJ3BhY2tldF9yZWFkKCknIGZ1bmN0aW9uIGJ1dAogICogcmV0dXJucyBhbiAnZW51bSBwYWNrZXRfcmVhZF9zdGF0dXMnIHdoaWNoIGluZGljYXRlcyB0aGUgc3RhdHVzIG9mIHRoZSByZWFkLgotICogVGhlIG51bWJlciBvZiBieXRlcyByZWFkIHdpbGwgYmUgYXNzaWdpbmVkIHRvICpwa3RsZW4gaWYgdGhlIHN0YXR1cyBvZiB0aGUKKyAqIFRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZCB3aWxsIGJlIGFzc2lnbmVkIHRvICpwa3RsZW4gaWYgdGhlIHN0YXR1cyBvZiB0aGUKICAqIHJlYWQgd2FzICdQQUNLRVRfUkVBRF9OT1JNQUwnLgogICovCiBlbnVtIHBhY2tldF9yZWFkX3N0YXR1cyB7CkBAIC0xMTYsNiArMTIyLDIxIEBACiAgKi8KIHNzaXplX3QgcmVhZF9wYWNrZXRpemVkX3RvX3N0cmJ1ZihpbnQgZmRfaW4sIHN0cnVjdCBzdHJidWYgKnNiX291dCk7CiAKKy8qCisgKiBSZWNlaXZlIG11bHRpcGxleGVkIG91dHB1dCBzdHJlYW0gb3ZlciBnaXQgbmF0aXZlIHByb3RvY29sLgorICogaW5fc3RyZWFtIGlzIHRoZSBpbnB1dCBzdHJlYW0gZnJvbSB0aGUgcmVtb3RlLCB3aGljaCBjYXJyaWVzIGRhdGEKKyAqIGluIHBrdF9saW5lIGZvcm1hdCB3aXRoIGJhbmQgZGVzaWduYXRvci4gIERlbXVsdGlwbGV4IGl0IGludG8gb3V0CisgKiBhbmQgZXJyIGFuZCByZXR1cm4gZXJyb3IgYXBwcm9wcmlhdGVseS4gIEJhbmQgIzEgY2FycmllcyB0aGUKKyAqIHByaW1hcnkgcGF5bG9hZC4gIFRoaW5ncyBjb21pbmcgb3ZlciBiYW5kICMyIGlzIG5vdCBuZWNlc3NhcmlseQorICogZXJyb3I7IHRoZXkgYXJlIHVzdWFsbHkgaW5mb3JtYXRpdmUgbWVzc2FnZSBvbiB0aGUgc3RhbmRhcmQgZXJyb3IKKyAqIHN0cmVhbSwgYWthICJ2ZXJib3NlIikuICBBIG1lc3NhZ2Ugb3ZlciBiYW5kICMzIGlzIGEgc2lnbmFsIHRoYXQKKyAqIHRoZSByZW1vdGUgZGllZCB1bmV4cGVjdGVkbHkuICBBIGZsdXNoKCkgY29uY2x1ZGVzIHRoZSBzdHJlYW0uCisgKgorICogUmV0dXJucyBTSURFQkFORF9GTFVTSCB1cG9uIGEgbm9ybWFsIGNvbmNsdXNpb24sIGFuZCBTSURFQkFORF9QUk9UT0NPTF9FUlJPUgorICogb3IgU0lERUJBTkRfUkVNT1RFX0VSUk9SIGlmIGFuIGVycm9yIG9jY3VycmVkLgorICovCitpbnQgcmVjdl9zaWRlYmFuZChjb25zdCBjaGFyICptZSwgaW50IGluX3N0cmVhbSwgaW50IG91dCk7CisKIHN0cnVjdCBwYWNrZXRfcmVhZGVyIHsKIAkvKiBzb3VyY2UgZmlsZSBkZXNjcmlwdG9yICovCiAJaW50IGZkOwpAQCAtMTQyLDE1ICsxNjMsMTggQEAKIAogCS8qIGluZGljYXRlcyBpZiBhIGxpbmUgaGFzIGJlZW4gcGVla2VkICovCiAJaW50IGxpbmVfcGVla2VkOworCisJdW5zaWduZWQgdXNlX3NpZGViYW5kIDogMTsKKwljb25zdCBjaGFyICptZTsKIH07CiAKIC8qCiAgKiBJbml0aWFsaXplIGEgJ3N0cnVjdCBwYWNrZXRfcmVhZGVyJyBvYmplY3Qgd2hpY2ggaXMgYW4KICAqIGFic3RyYWN0aW9uIGFyb3VuZCB0aGUgJ3BhY2tldF9yZWFkX3dpdGhfc3RhdHVzKCknIGZ1bmN0aW9uLgogICovCi1leHRlcm4gdm9pZCBwYWNrZXRfcmVhZGVyX2luaXQoc3RydWN0IHBhY2tldF9yZWFkZXIgKnJlYWRlciwgaW50IGZkLAotCQkJICAgICAgIGNoYXIgKnNyY19idWZmZXIsIHNpemVfdCBzcmNfbGVuLAotCQkJICAgICAgIGludCBvcHRpb25zKTsKK3ZvaWQgcGFja2V0X3JlYWRlcl9pbml0KHN0cnVjdCBwYWNrZXRfcmVhZGVyICpyZWFkZXIsIGludCBmZCwKKwkJCWNoYXIgKnNyY19idWZmZXIsIHNpemVfdCBzcmNfbGVuLAorCQkJaW50IG9wdGlvbnMpOwogCiAvKgogICogUGVyZm9ybSBhIHBhY2tldCByZWFkIGFuZCByZXR1cm4gdGhlIHN0YXR1cyBvZiB0aGUgcmVhZC4KQEAgLTE2Miw3ICsxODYsNyBAQAogICoJCSAgICAgICAnbGluZScgaXMgc2V0IHRvIHBvaW50IGF0IHRoZSByZWFkIGxpbmUKICAqIFBBQ0tFVF9SRUFEX0ZMVVNIOiAncGt0bGVuJyBpcyBzZXQgdG8gJzAnIGFuZCAnbGluZScgaXMgc2V0IHRvIE5VTEwKICAqLwotZXh0ZXJuIGVudW0gcGFja2V0X3JlYWRfc3RhdHVzIHBhY2tldF9yZWFkZXJfcmVhZChzdHJ1Y3QgcGFja2V0X3JlYWRlciAqcmVhZGVyKTsKK2VudW0gcGFja2V0X3JlYWRfc3RhdHVzIHBhY2tldF9yZWFkZXJfcmVhZChzdHJ1Y3QgcGFja2V0X3JlYWRlciAqcmVhZGVyKTsKIAogLyoKICAqIFBlZWsgdGhlIG5leHQgcGFja2V0IGxpbmUgd2l0aG91dCBjb25zdW1pbmcgaXQgYW5kIHJldHVybiB0aGUgc3RhdHVzLgpAQCAtMTcyLDExICsxOTYsMjYgQEAKICAqIFBlZWtpbmcgbXVsdGlwbGUgdGltZXMgd2l0aG91dCBjYWxsaW5nICdwYWNrZXRfcmVhZGVyX3JlYWQoKScgd2lsbCByZXR1cm4KICAqIHRoZSBzYW1lIHJlc3VsdC4KICAqLwotZXh0ZXJuIGVudW0gcGFja2V0X3JlYWRfc3RhdHVzIHBhY2tldF9yZWFkZXJfcGVlayhzdHJ1Y3QgcGFja2V0X3JlYWRlciAqcmVhZGVyKTsKK2VudW0gcGFja2V0X3JlYWRfc3RhdHVzIHBhY2tldF9yZWFkZXJfcGVlayhzdHJ1Y3QgcGFja2V0X3JlYWRlciAqcmVhZGVyKTsKIAogI2RlZmluZSBERUZBVUxUX1BBQ0tFVF9NQVggMTAwMAogI2RlZmluZSBMQVJHRV9QQUNLRVRfTUFYIDY1NTIwCiAjZGVmaW5lIExBUkdFX1BBQ0tFVF9EQVRBX01BWCAoTEFSR0VfUEFDS0VUX01BWCAtIDQpCiBleHRlcm4gY2hhciBwYWNrZXRfYnVmZmVyW0xBUkdFX1BBQ0tFVF9NQVhdOwogCitzdHJ1Y3QgcGFja2V0X3dyaXRlciB7CisJaW50IGRlc3RfZmQ7CisJdW5zaWduZWQgdXNlX3NpZGViYW5kIDogMTsKK307CisKK3ZvaWQgcGFja2V0X3dyaXRlcl9pbml0KHN0cnVjdCBwYWNrZXRfd3JpdGVyICp3cml0ZXIsIGludCBkZXN0X2ZkKTsKKworLyogVGhlc2UgZnVuY3Rpb25zIGRpZSB1cG9uIGZhaWx1cmUuICovCitfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMiwgMykpKQordm9pZCBwYWNrZXRfd3JpdGVyX3dyaXRlKHN0cnVjdCBwYWNrZXRfd3JpdGVyICp3cml0ZXIsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKK19fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAyLCAzKSkpCit2b2lkIHBhY2tldF93cml0ZXJfZXJyb3Ioc3RydWN0IHBhY2tldF93cml0ZXIgKndyaXRlciwgY29uc3QgY2hhciAqZm10LCAuLi4pOwordm9pZCBwYWNrZXRfd3JpdGVyX2RlbGltKHN0cnVjdCBwYWNrZXRfd3JpdGVyICp3cml0ZXIpOwordm9pZCBwYWNrZXRfd3JpdGVyX2ZsdXNoKHN0cnVjdCBwYWNrZXRfd3JpdGVyICp3cml0ZXIpOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3BvL1JFQURNRSBiL3BvL1JFQURNRQppbmRleCBhYTcwNGZmLi4wNzU5NWQzIDEwMDY0NAotLS0gYS9wby9SRUFETUUKKysrIGIvcG8vUkVBRE1FCkBAIC0yOTMsNyArMjkzLDcgQEAKIGVtaXRzIGdpYmJlcmlzaCBvbiBldmVyeSBjYWxsIHRvIGdldHRleHQuIFRvIHVzZSBpdCBydW4gdGhlIHRlc3Qgc3VpdGUKIHdpdGggaXQsIGUuZy46CiAKLSAgICBjZCB0ICYmIEdJVF9URVNUX0dFVFRFWFRfUE9JU09OPVllc1BsZWFzZSBwcm92ZSAtaiA5IC4vdFswLTldKi5zaAorICAgIGNkIHQgJiYgR0lUX1RFU1RfR0VUVEVYVF9QT0lTT049dHJ1ZSBwcm92ZSAtaiA5IC4vdFswLTldKi5zaAogCiBJZiB0ZXN0cyBicmVhayB3aXRoIGl0IHlvdSBzaG91bGQgaW5zcGVjdCB0aGVtIG1hbnVhbGx5IGFuZCBzZWUgaWYKIHdoYXQgeW91J3JlIHRyYW5zbGF0aW5nIGlzIHNhbmUsIGkuZS4gdGhhdCB5b3UncmUgbm90IHRyYW5zbGF0aW5nCmRpZmYgLS1naXQgYS9wby9URUFNUyBiL3BvL1RFQU1TCmluZGV4IGQ4ZjdhMmIuLjRmMDUxOWQgMTAwNjQ0Ci0tLSBhL3BvL1RFQU1TCisrKyBiL3BvL1RFQU1TCkBAIC0xMSwxMSArMTEsMTUgQEAKIE1lbWJlcnM6CUFsZXggSGVucmllIDxhbGV4aGVucmllMjRAZ21haWwuY29tPgogCiBMYW5ndWFnZToJZGUgKEdlcm1hbikKLVJlcG9zaXRvcnk6CWh0dHBzOi8vZ2l0aHViLmNvbS9yYWxmdGgvZ2l0LXBvLWRlCi1MZWFkZXI6CQlSYWxmIFRoaWVsb3cgPHJhbGYudGhpZWxvd0BnbWFpbC5jb20+Ci1NZW1iZXJzOglNYXR0aGlhcyBSw7xzdGVyIDxtYXR0aGlhcy5ydWVzdGVyQGdtYWlsLmNvbT4KK1JlcG9zaXRvcnk6CWh0dHBzOi8vZ2l0aHViLmNvbS9ydWVzdGVyL2dpdC1wby1kZQorTGVhZGVyOgkJTWF0dGhpYXMgUsO8c3RlciA8bWF0dGhpYXMucnVlc3RlckBnbWFpbC5jb20+CitNZW1iZXJzOglSYWxmIFRoaWVsb3cgPHJhbGYudGhpZWxvd0BnbWFpbC5jb20+CiAJCVBoaWxsaXAgU3plbGF0IDxwaGlsbGlwLnN6ZWxhdEBnbWFpbC5jb20+CiAKK0xhbmd1YWdlOgllbCAoR3JlZWspCitSZXBvc2l0b3J5OglodHRwczovL2dpdGh1Yi5jb20vdnlydXNzL2dpdC1wby1lbAorTGVhZGVyOgkJSmltbXkgQW5nZWxha29zIDx2eXJ1c3NAaGVsbHVnLmdyPgorCiBMYW5ndWFnZToJZXMgKFNwYW5pc2gpCiBSZXBvc2l0b3J5OglodHRwczovL2dpdGh1Yi5jb20vQ2hyaXNBRFIvZ2l0LXBvCiBMZWFkZXI6CQlDaHJpc3RvcGhlciBEw61heiA8Y2hyaXN0b3BoZXIuZGlhei5yaXZAZ21haWwuY29tPgpAQCAtMjksOSArMzMsOCBAQAogTGVhZGVyOgkJw4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24gPGF2YXJhYkBnbWFpbC5jb20+CiAKIExhbmd1YWdlOglpdCAoSXRhbGlhbikKLVJlcG9zaXRvcnk6CWh0dHBzOi8vZ2l0aHViLmNvbS9xdWl6emxvL2dpdC1wby1pdC8KLUxlYWRlcjoJCU1hcmNvIFBhb2xvbmUgPG1hcmNvcGFvbG9uZSBBVCBnbWFpbC5jb20+Ci1NZW1iZXJzOglTdGVmYW5vIExhdHRhcmluaSA8c3RlZmFuby5sYXR0YXJpbmkgQVQgZ21haWwuY29tPgorUmVwb3NpdG9yeToJaHR0cHM6Ly9naXRodWIuY29tL0FsZXNzYW5kcm9NZW50aS9naXQtcG8KK0xlYWRlcjoJCUFsZXNzYW5kcm8gTWVudGkgPGFsZXNzYW5kcm8ubWVudGlAYWxlc3NhbmRyb21lbnRpLml0PgogCiBMYW5ndWFnZToJa28gKEtvcmVhbikKIFJlcG9zaXRvcnk6CWh0dHBzOi8vZ2l0aHViLmNvbS9naXQtbDEwbi1rby9naXQtbDEwbi1rby8KQEAgLTYzLDQgKzY2LDkgQEAKIExlYWRlcjoJCUppYW5nIFhpbiA8d29ybGRoZWxsby5uZXQgQVQgZ21haWwuY29tPgogTWVtYmVyczoJUmF5IENoZW4gPG9sZHNoYXJwIEFUIGdtYWlsLmNvbT4KIAkJ5L6d5LqRIDxsaWx5ZGp3ZyBBVCBnbWFpbC5jb20+Ci0JCUZhbmd5aSBaaG91IDxmYW5neWkuemhvdSBBVCB5dXJpa28ubW9lPgorCQlGYW5neWkgWmhvdSA8bWUgQVQgZmFuZ3lpLmlvPgorCitMYW5ndWFnZToJemhfVFcgKFRyYWRpdGlvbmFsIENoaW5lc2UpCitSZXNwb3NpdG9yeToJaHR0cHM6Ly9naXRodWIuY29tL2wxMG4tdHcvZ2l0LXBvCitMZWFkZXI6IAlZaS1KeXVuIFBhbiA8cGFuOTM0MTIgQVQgZ21haWwuY29tPgorTWVtYmVyczoJRnJhbmtsaW4gV2VuZyA8ZnJhbmtsaW4gQVQgZ29vZGhvcnNlLmlkdi50dz4KZGlmZiAtLWdpdCBhL3BvL2JnLnBvIGIvcG8vYmcucG8KaW5kZXggODE0ZDQwYS4uMjliYTFjOCAxMDA2NDQKLS0tIGEvcG8vYmcucG8KKysrIGIvcG8vYmcucG8KQEAgLTEsNyArMSw3IEBACiAjIEJ1bGdhcmlhbiB0cmFuc2xhdGlvbiBvZiBnaXQgcG8tZmlsZS4KLSMgQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1LCAyMDE2LCAyMDE3LCAyMDE4IEFsZXhhbmRlciBTaG9wb3YgPGFzaEBrYW1iYW5hcmlhLm9yZz4uCisjIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSwgMjAxNiwgMjAxNywgMjAxOCwgMjAxOSwgMjAyMCBBbGV4YW5kZXIgU2hvcG92IDxhc2hAa2FtYmFuYXJpYS5vcmc+LgogIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgZ2l0IHBhY2thZ2UuCi0jIEFsZXhhbmRlciBTaG9wb3YgPGFzaEBrYW1iYW5hcmlhLm9yZz4sIDIwMTQsIDIwMTUsIDIwMTYsIDIwMTcsIDIwMTguCisjIEFsZXhhbmRlciBTaG9wb3YgPGFzaEBrYW1iYW5hcmlhLm9yZz4sIDIwMTQsIDIwMTUsIDIwMTYsIDIwMTcsIDIwMTgsIDIwMTksIDIwMjAuCiAjCiAjID09PT09PT09PT09PT09PT09PT09PT09PQogIyBESUNUSU9OQVJZIFRPIE1FUkdFIElOIEdJVCBHVUkKQEAgLTMxLDcgKzMxLDcgQEAKICMgYW0g0L/RgNC40LvQsNCz0LDQvCDQv9C+0YDQtdC00LjRhtCwINC+0YIg0LrRgNGK0L/QutC4CiAjIHdvcmtpbmcgZGlyZWN0b3J5L3RyZWUg4oCUINCy0LjQvdCw0LPQuCDRgNCw0LHQvtGC0L3QviDQtNGK0YDQstC+LCBnaXQg0YHQu9C10LTQuCDRhtGP0LvQvtGC0L4g0LTRitGA0LLQviwg0LAg0L3QtSDQtNC40YDQtdC60YLQvtGA0LjQuCwg0YDQsNCx0L7RgtC90LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0LfQsCBjd2QKICMgc3dpdGNoIHRvIGJyYW5jaCDQv9GA0LXQvNC40L3QsNCy0LDQvCDQutGK0Lwg0LrQu9C+0L0KLSMgc3BhcnNlIGVudHJ5INGH0LDRgdGC0LjRh9C90L4g0LjQt9GC0LXQs9C70LXQvdCwINC00LjRgNC10LrRgtC+0YDQuNGPL9C/0YrRggorIyBzcGFyc2UgZW50cnkvYmxvYiDRh9Cw0YHRgtC40YfQvdC+INC40LfRgtC10LPQu9C10L3QsCDQtNC40YDQtdC60YLQvtGA0LjRjy/Qv9GK0YIv0L7QsdC10LrRgi1CTE9CCiAjIHJldmlzaW9uIHJhbmdlINC00LjQsNC/0LDQt9C+0L0g0L3QsCDQstC10YDRgdC40LjRgtC1CiAjIGNvdmVyIGxldHRlciDQv9GA0LjQtNGA0YPQttCw0LLQsNGJ0L4g0L/QuNGB0LzQvgogIyByZWZlcmVuY2UgcmVwb3NpdG9yeSDQtdGC0LDQu9C+0L3QvdC+INGF0YDQsNC90LjQu9C40YnQtQpAQCAtNzksNyArNzksOSBAQAogIyBwYWNrZmlsZSDQv9Cw0LrQtdGCCiAjIHByb21pc29yeSDQs9Cw0YDQsNC90YLQuNGA0LDRiSwg0LPQsNGA0LDQvdGCIHByb21pc29yeSBwYWNrZmlsZSDQs9Cw0YDQsNC90YLQuNGA0LDRiSDQv9Cw0LrQtdGCLCBwcm9taXNvcnkgcmVtb3RlINGF0YDQsNC90LjQu9C40YnQtS3Qs9Cw0YDQsNC90YIKICMgZGVsdGEgLSDRgNCw0LfQu9C40LrQsCwg0LTQtdC70YLQsCwg0L7QsdC10LrRgi3RgNCw0LfQu9C40LrQsAotIyBwZWVsZWQgdGFnIC0g0L/RgNC+0YHQu9C10LTQtdC9INC10YLQuNC60LXRgiAtINC60L7Qs9Cw0YLQviDQtdGC0LjQutC10YIg0YHQvtGH0Lgg0LrRitC8INC00YDRg9CzINC10YLQuNC60LXRgiwg0LAg0L3QtSDQv9C+0LTQsNCy0LDQvdC1INC4INC/0YDQvtGB0LvQtdC00Y/QstCw0LzQtSDQv9C+0LTQvtCx0L3QviDQvdCwINGB0LjQvNCy0L7Qu9C90LAg0LLRgNGK0LfQutCwCisjID8/CisjIHBlZWxlZCB0YWcgLSDQv9GA0L7RgdC70LXQtNGP0LLQsNC90LUg0L3QsCDQtdGC0LjQutC10YIgLSDQutC+0LPQsNGC0L4g0LXRgtC40LrQtdGCINGB0L7Rh9C4INC60YrQvCDQtNGA0YPQsyDQtdGC0LjQutC10YIsINCwINC90LUg0L/QvtC00LDQstCw0L3QtSDQuCDQv9GA0L7RgdC70LXQtNGP0LLQsNC80LUg0L/QvtC00L7QsdC90L4g0L3QsCDRgdC40LzQstC+0LvQvdCwINCy0YDRitC30LrQsAorIyBuZXN0ZWQgdGFnIC0g0L3QtdC/0YDRj9C6INC10YLQuNC60LXRggogIyBzdHJpcCAtINC/0YDQtdC80LDRhdCy0LDQvCAo0LfQsCDQutC+0LzQv9C+0L3QtdC90YIg0L/RgNC4INGE0LjQu9GC0YDQuNGA0LDQvdC1KQogIyB1bnJlbGF0ZWQgaGlzdG9yaWVzIC0g0L3QtdC30LDQstC40YHQuNC80Lgg0LjRgdGC0L7RgNC40LgKICMgaW5leGFjdCByZW5hbWUgZGV0ZWN0aW9uINGC0YrRgNGB0LXQvdC1INC90LAg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC40Y8g0L3QsCDQvtCx0LXQutGC0Lgg0YHRitGH0LXRgtCw0L3QuCDRgSDQv9GA0L7QvNC10L3QuApAQCAtMTI3LDYgKzEyOSwyMCBAQAogIyBzc2wgYmFja2VuZCDRgNC10LDQu9C40LfQsNGG0LjRjyDQvdCwIFNTTAogIyBkZWx0YSBpc2xhbmQg0LPRgNGD0L/QsCDRgNCw0LfQu9C40LrQuAogIyBpc2xhbmQgbWFya3Mg0LPRgNCw0L3QuNGG0Lgg0L3QsCDQs9GA0YPQv9C40YLQtQorIyByZWZsb2cg0LbRg9GA0L3QsNC7INC90LAg0YPQutCw0LfQsNGC0LXQu9C40YLQtQorIyBoYXNoINC60L7QvdGC0YDQvtC70L3QsCDRgdGD0LzQsCwg0LjQt9GH0LjRgdC70Y/QstCw0L3QtSDQvdCwINC60L7QvdGC0YDQvtC70L3QsCDRgdGD0LzQsAorIyBmYW5vdXQg0L7RgtC60YrRgSAo0YDQsNC30L/QtdGA0LLQsNC90LU/Pz8pCisjIGlkeCAtIGluZGV4IG9mIHBhY2sgZmlsZSwgMSBpbmRleCBwZXIgMSBwYWNrZmlsZQorIyBtaWR4IC0gbXVsdGktcGFjayBpbmRleCwgZm9yIG9iamVjdHMgYWNyb3NzIG11bHRpcGxlIHBhY2tmaWxlcworIyBvdmVybGF5IG1vZGUgLSDQv9GA0LjQv9C+0LrRgNC40LLQsNGJINGA0LXQttC40LwgKNC/0YDQuCDQuNC30YLQtdCz0LvRj9C9ZSkKKyMgaW5jcmVtZW50YWwgZmlsZSDQvdCw0YDQsNGB0YLQstCw0Ykg0YTQsNC50LsKKyMgc3BsaXQgKGNvbW1pdC1ncmFwaHIpINGA0LDQt9C00YDQvtCx0LXQvSAo0LPRgNCw0YQg0YEg0L/QvtC00LDQstCw0L3QuNGPKQorIyBjbG9iYmVyIChhIHRhZykg0L/RgNC10LfQsNC/0LjRgdCy0LDQvCAo0LXRgtC40LrQtdGCKQorIyBibGFtZSDQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQsNCy0YLQvtGA0YHRgtCy0L4KKyMgcmVmbmFtZSDQuNC80LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC7CisjIGNvbmUgcGF0dGVybiBtYXRjaGluZyDQv9GK0YLQtdCy0L7QtNC90L4g0L3QsNC/0LDRgdCy0LDQvdC1CisjIG5lZ2F0aXZlIHBhdHRlcm4g0L7RgtGA0LjRhtCw0YLQtdC70LXQvSDRiNCw0LHQu9C+0L0KKyMgY29sb3JlZCBodW5rL2RpZmYg0L7RhtCy0LXRgtC10L3QviDQv9Cw0YDRh9C1L9GA0LDQt9C70LjQutCwCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyDigJ4kdmFy4oCcIC0g0LzQvtC20LUg0LTQsCDQvdC1INGB0YDQsNCx0L7RgtCy0LAg0LfQsCBzaGVsbCDQuNC80LAgZ2V0dGV4dCDQuCBldmFsX2dldHRleHQgLSDQv9GA0L7QstC10YDQutCwIC0g0L3QsNC80LjRgNCw0YIg0YHQtSDQu9C10YHQvdC+INC/0L4g4oCeJAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTE0MywxMCArMTU5LDEwIEBACiAjIGZvciBpIGluIGBzb3J0IC11IEZJTEVTYDsgZG8gY250PWBncmVwICRpIEZJTEVTIHwgd2MgLWxgOyBlY2hvICRjbnQgJGkgO2RvbmUgfCBzb3J0IC1uCiBtc2dpZCAiIgogbXNnc3RyICIiCi0iUHJvamVjdC1JZC1WZXJzaW9uOiBnaXQgMi4yMFxuIgorIlByb2plY3QtSWQtVmVyc2lvbjogZ2l0IDIuMjVcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogR2l0IE1haWxpbmcgTGlzdCA8Z2l0QHZnZXIua2VybmVsLm9yZz5cbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOC0xMi0wMiAxMDo1NSswODAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxOC0xMi0wMiAxMzo0MSswMTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMjAtMDEtMDkgMTY6MjIrMDEwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMjAtMDEtMDkgMTY6MzErMDEwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogQWxleGFuZGVyIFNob3BvdiA8YXNoQGthbWJhbmFyaWEub3JnPlxuIgogIkxhbmd1YWdlLVRlYW06IEJ1bGdhcmlhbiA8ZGljdEBmc2EtYmcub3JnPlxuIgogIkxhbmd1YWdlOiBiZ1xuIgpAQCAtMTU1LDM3ICsxNzEsNDY3IEBACiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgogIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgogCi0jOiBhZHZpY2UuYzo5OQorIzogYWRkLWludGVyYWN0aXZlLmM6MzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkh1aCAoJXMpPyIKK21zZ3N0ciAi0J3QtdGD0YHQv9C10YjQtdC9INCw0L3QsNC70LjQtyDigJQg4oCeJXPigJwuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo1MDAgYWRkLWludGVyYWN0aXZlLmM6ODAxIHNlcXVlbmNlci5jOjMyMTYKKyM6IHNlcXVlbmNlci5jOjM2NTYgYnVpbHRpbi9yZWJhc2UuYzo4NzEgYnVpbHRpbi9yZWJhc2UuYzoxNjQzCisjOiBidWlsdGluL3JlYmFzZS5jOjIwMTkgYnVpbHRpbi9yZWJhc2UuYzoyMDYzCittc2dpZCAiY291bGQgbm90IHJlYWQgaW5kZXgiCittc2dzdHIgItC40L3QtNC10LrRgdGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjU1NSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI2OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyOTQKK21zZ2lkICJiaW5hcnkiCittc2dzdHIgItC00LLQvtC40YfQvdC+IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2MTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNzgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzMyCittc2dpZCAibm90aGluZyIKK21zZ3N0ciAi0L3QuNGJ0L4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjYxNCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMxNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMjkKK21zZ2lkICJ1bmNoYW5nZWQiCittc2dzdHIgItC90Y/QvNCwINC/0YDQvtC80LXQvdC4IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2NTEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NDMKK21zZ2lkICJVcGRhdGUiCittc2dzdHIgItCe0LHQvdC+0LLRj9Cy0LDQvdC1IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2NjggYWRkLWludGVyYWN0aXZlLmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGFnZSAnJXMnIgorbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LTQvtCx0LDQstGP0L3QtSDQsiDQuNC90LTQtdC60YHQsCDQvdCwIOKAniVz4oCcIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2NzQgYWRkLWludGVyYWN0aXZlLmM6ODYzIHNlcXVlbmNlci5jOjM0MDkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6ODk1Cittc2dpZCAiY291bGQgbm90IHdyaXRlIGluZGV4IgorbXNnc3RyICLQuNC90LTQtdC60YHRitGCINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QuNGB0LDQvSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6Njc3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjI4CisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJ1cGRhdGVkICVkIHBhdGhcbiIKK21zZ2lkX3BsdXJhbCAidXBkYXRlZCAlZCBwYXRoc1xuIgorbXNnc3RyWzBdICIlZCDRhNCw0LnQuyDQvtCx0L3QvtCy0LXQvVxuIgorbXNnc3RyWzFdICIlZCDRhNCw0LnQu9CwINC+0LHQvdC+0LLQtdC90LhcbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6Njk1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Njc4CisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJub3RlOiAlcyBpcyB1bnRyYWNrZWQgbm93LlxuIgorbXNnc3RyICLQkdCV0JvQldCW0JrQkDog4oCeJXPigJwg0LLQtdGH0LUg0L3QtSDRgdC1INGB0LvQtdC00LguXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjcwMCBhcHBseS5jOjQxMDggYnVpbHRpbi9jaGVja291dC5jOjI4MQorIzogYnVpbHRpbi9yZXNldC5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgorbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0YHRitC30LTQsNCy0LDQvdC1INC90LAg0LfQsNC/0LjRgSDQsiDQutC10YjQsCDRh9GA0LXQtyDigJ5tYWtlX2NhY2hlX2VudHJ54oCcINC30LAg4oCeJXPigJwiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjczMCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY1NQorbXNnaWQgIlJldmVydCIKK21zZ3N0ciAi0J7RgtC80Y/QvdCwIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo3NDYKK21zZ2lkICJDb3VsZCBub3QgcGFyc2UgSEVBRF57dHJlZX0iCittc2dzdHIgItCj0LrQsNC30LDRgtC10LvRj9GCIOKAnkhFQURee3RyZWV94oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQsNC90LDQu9C40LfQuNGA0LDQvSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6Nzg0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjMxCisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJyZXZlcnRlZCAlZCBwYXRoXG4iCittc2dpZF9wbHVyYWwgInJldmVydGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gIiVkINGE0LDQudC7INGBINC+0YLQvNC10L3QtdC90Lgg0L/RgNC+0LzQtdC90LhcbiIKK21zZ3N0clsxXSAiJWQg0YTQsNC50LvQsCDRgSDQvtGC0LzQtdC90LXQvdC4INC/0YDQvtC80LXQvdC4XG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjgzNSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY5NQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1bnRyYWNrZWQgZmlsZXMuXG4iCittc2dzdHIgItCd0Y/QvNCwINC90LXRgdC70LXQtNC10L3QuCDRhNCw0LnQu9C+0LLQtS5cbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6ODM5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Njg5Cittc2dpZCAiQWRkIHVudHJhY2tlZCIKK21zZ3N0ciAi0JTQvtCx0LDQstGP0L3QtSDQvdCwINC90LXRgdC70LXQtNC10L3QuCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6ODY2IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjI1CisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJhZGRlZCAlZCBwYXRoXG4iCittc2dpZF9wbHVyYWwgImFkZGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gIiVkINGE0LDQudC7INC00L7QsdCw0LLQtdC9XG4iCittc2dzdHJbMV0gIiVkINGE0LDQudC70LAg0LTQvtCx0LDQstC10L3QuFxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5tZXJnZWQ6ICVzIgorbXNnc3RyICLQv9GA0LXQvdC10LHRgNC10LPQstCw0L3QtSDQvdCwINC90LXRgdC70Y/RgtC+0YLQvjog4oCeJXPigJwiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjkwOCBhZGQtcGF0Y2guYzoxMzMxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJPbmx5IGJpbmFyeSBmaWxlcyBjaGFuZ2VkLlxuIgorbXNnc3RyICLQodCw0LzQviDQtNCy0L7QuNGH0L3QuCDRhNCw0LnQu9C+0LLQtSDRgdCwINC/0YDQvtC80LXQvdC10L3QuC5cbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTEwIGFkZC1wYXRjaC5jOjEzMjkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIGNoYW5nZXMuXG4iCittc2dzdHIgItCd0Y/QvNCwINC/0YDQvtC80LXQvdC4LlxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5MTQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzc2Cittc2dpZCAiUGF0Y2ggdXBkYXRlIgorbXNnc3RyICLQntCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwINC60YDRitC/0LrQsCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTUzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc1NAorbXNnaWQgIlJldmlldyBkaWZmIgorbXNnc3RyICLQn9GA0LXQs9C70LXQtCDQvdCwINGA0LDQt9C70LjQutCw0YLQsCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTgxCittc2dpZCAic2hvdyBwYXRocyB3aXRoIGNoYW5nZXMiCittc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC/0YrRgtC40YnQsNGC0LAg0YEg0L/RgNC+0LzQtdC90LgiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4MworbXNnaWQgImFkZCB3b3JraW5nIHRyZWUgc3RhdGUgdG8gdGhlIHN0YWdlZCBzZXQgb2YgY2hhbmdlcyIKK21zZ3N0ciAi0LTQvtCx0LDQstGP0L3QtSDQvdCwINGB0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L3QsCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDQutGK0Lwg0L/RgNC+0LzQtdC90LjRgtC1INCyINC40L3QtNC10LrRgdCwIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5ODUKK21zZ2lkICJyZXZlcnQgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzIGJhY2sgdG8gdGhlIEhFQUQgdmVyc2lvbiIKK21zZ3N0ciAi0LLRgNGK0YnQsNC90LUg0L3QsCDRgdGK0YHRgtC+0Y/QvdC40LXRgtC+INC90LAg0LjQvdC00LXQutGB0LAg0LrRitC8INGB0L7Rh9C10L3QvtGC0L4g0L7RgiDigJ5IRUFE4oCcIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5ODcKK21zZ2lkICJwaWNrIGh1bmtzIGFuZCB1cGRhdGUgc2VsZWN0aXZlbHkiCittc2dzdHIgItC40L3RgtC10YDQsNC60YLQuNCy0L3QuCDQuNC30LHQvtGAINC4INC/0YDQvtC80Y/QvdCwINC90LAg0L/QsNGA0YfQtdGC0LAg0LrQvtC0IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5ODkKK21zZ2lkICJ2aWV3IGRpZmYgYmV0d2VlbiBIRUFEIGFuZCBpbmRleCIKK21zZ3N0ciAi0YDQsNC30LvQuNC60LAg0LzQtdC20LTRgyDRgdC+0YfQtdC90L7RgtC+INC+0YIg4oCeSEVBROKAnCDQuCDQuNC90LTQtdC60YHQsCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTkxCittc2dpZCAiYWRkIGNvbnRlbnRzIG9mIHVudHJhY2tlZCBmaWxlcyB0byB0aGUgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzIgorbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0YHRitC00YrRgNC20LDQvdC40LXRgtC+INC90LAg0L3QtdGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSDQutGK0Lwg0LjQvdC00LXQutGB0LAiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk5OSBhZGQtaW50ZXJhY3RpdmUuYzoxMDQ4Cittc2dpZCAiUHJvbXB0IGhlbHA6IgorbXNnc3RyICLQn9C+0LzQvtGJOiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAwMQorbXNnaWQgInNlbGVjdCBhIHNpbmdsZSBpdGVtIgorbXNnc3RyICLQuNC30LHQvtGAINC90LAgZdC00LjQvSDQtdC70LXQvNC10L3RgiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAwMworbXNnaWQgInNlbGVjdCBhIHJhbmdlIG9mIGl0ZW1zIgorbXNnc3RyICLQuNC30LHQvtGAINC90LAg0L/QvtGA0LXQtNC40YbQsCDQvtGCINC10LvQtdC80LXQvdGC0LgiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDUKK21zZ2lkICJzZWxlY3QgbXVsdGlwbGUgcmFuZ2VzIgorbXNnc3RyICLQuNC30LHQvtGAINC90LAg0L3Rj9C60L7Qu9C60L4g0L/QvtGA0LXQtNC40YbQuCDQvtGCINC10LvQtdC80LXQvdGC0LgiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDcgYWRkLWludGVyYWN0aXZlLmM6MTA1MgorbXNnaWQgInNlbGVjdCBpdGVtIGJhc2VkIG9uIHVuaXF1ZSBwcmVmaXgiCittc2dzdHIgItC40LfQsdC+0YAg0L3QsCDQsdCw0LfQsNGC0LAg0L3QsCDRg9C90LjQutCw0LvQtdC9INC/0YDQtdGE0LjQutGBIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDA5Cittc2dpZCAidW5zZWxlY3Qgc3BlY2lmaWVkIGl0ZW1zIgorbXNnc3RyICLQuNC30LLQsNC20LTQsNC90LUg0L3QsCDRg9C60LDQt9Cw0L3QvtGC0L4g0L7RgiDQuNC30LHQvtGA0LAiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMTEKK21zZ2lkICJjaG9vc2UgYWxsIGl0ZW1zIgorbXNnc3RyICLQuNC30LHQvtGAINC90LAg0LLRgdC40YfQutC4INC10LvQtdC80LXQvdGC0LgiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMTMKK21zZ2lkICIoZW1wdHkpIGZpbmlzaCBzZWxlY3RpbmciCittc2dzdHIgIijQv9GA0LDQt9C90L4pINC/0YDQuNC60LvRjtGH0LLQsNC90LUg0L3QsCDQuNC30LHQuNGA0LDQvdC10YLQviIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTA1MAorbXNnaWQgInNlbGVjdCBhIG51bWJlcmVkIGl0ZW0iCittc2dzdHIgItC40LfQsdC+0YAg0L3QsCDQvdC+0LzQtdGA0LjRgNCw0L0g0LXQu9C10LzQtdC90YIiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNTQKK21zZ2lkICIoZW1wdHkpIHNlbGVjdCBub3RoaW5nIgorbXNnc3RyICIo0L/RgNCw0LfQvdC+KSDQsdC10Lcg0LjQt9Cx0L7RgCDQvdCwINC90LjRidC+IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDYyIGJ1aWx0aW4vY2xlYW4uYzo4MjIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODUxCittc2dpZCAiKioqIENvbW1hbmRzICoqKiIKK21zZ3N0ciAi4peP4peP4pePINCa0L7QvNCw0L3QtNC4IOKXj+KXj+KXjyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTA2MyBidWlsdGluL2NsZWFuLmM6ODIzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTg0OAorbXNnaWQgIldoYXQgbm93IgorbXNnc3RyICLQmNC30LHQvtGAINC90LAg0YHQu9C10LTQstCw0YnQviDQtNC10LnRgdGC0LLQuNC1IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjEzCittc2dpZCAic3RhZ2VkIgorbXNnc3RyICLQsiDQuNC90LTQtdC60YHQsCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTExNSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMworbXNnaWQgInVuc3RhZ2VkIgorbXNnc3RyICLQuNC30LLRitC9INC40L3QtNC10LrRgdCwIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGFwcGx5LmM6NDk2NSBhcHBseS5jOjQ5NjggYnVpbHRpbi9hbS5jOjIxOTcKKyM6IGJ1aWx0aW4vYW0uYzoyMjAwIGJ1aWx0aW4vY2xvbmUuYzoxMjMgYnVpbHRpbi9mZXRjaC5jOjE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjI3MyBidWlsdGluL3B1bGwuYzoyMDkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjExOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMworbXNnaWQgInBhdGgiCittc2dzdHIgItC/0YrRgiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTEyMgorbXNnaWQgImNvdWxkIG5vdCByZWZyZXNoIGluZGV4IgorbXNnc3RyICLQuNC90LTQtdC60YHRitGCINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtCx0L3QvtCy0LXQvSIKKworIworIzogYWRkLWludGVyYWN0aXZlLmM6MTEzNiBidWlsdGluL2NsZWFuLmM6Nzg3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2NQorIywgYy1mb3JtYXQKK21zZ2lkICJCeWUuXG4iCittc2dzdHIgItCY0LfRhdC+0LQuXG4iCisKKyM6IGFkZC1wYXRjaC5jOjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YWdlIG1vZGUgY2hhbmdlIFt5LG4sYSxxLGQlcyw/XT8gIgorbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0L/RgNC+0LzRj9C90LDRgtCwINC90LAg0L/RgNCw0LLQsNGC0LAg0LfQsCDQtNC+0YHRgtGK0L8gW3ksbixhLHEsZCVzLD9dPyAiCisKKyM6IGFkZC1wYXRjaC5jOjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YWdlIGRlbGV0aW9uIFt5LG4sYSxxLGQlcyw/XT8gIgorbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0LjQt9GC0YDQuNCy0LDQvdC10YLQviBbeSxuLGEscSxkJXMsP10/ICIKKworIzogYWRkLXBhdGNoLmM6MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhZ2UgdGhpcyBodW5rIFt5LG4sYSxxLGQlcyw/XT8gIgorbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0YLQvtCy0LAg0L/QsNGA0YfQtSBbeSxuLGEscSxkJXMsP10/ICIKKworIzogYWRkLXBhdGNoLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBodW5rIGhlYWRlciAnJS4qcyciCittc2dzdHIgItC30LDQs9C70LDQstC90LDRgtCwINGH0LDRgdGCINC90LAg0L/QsNGA0YfQtdGC0L4g4oCeJS4qc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQsNC90LDQu9C40LfQuNGA0LAiCisKKyM6IGFkZC1wYXRjaC5jOjEzMCBhZGQtcGF0Y2guYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbG9yZWQgaHVuayBoZWFkZXIgJyUuKnMnIgorbXNnc3RyICLQt9Cw0LPQu9Cw0LLQvdCw0YLQsCDRh9Cw0YHRgiDQvdCwINC+0YbQstC10YLQtdC90L7RgtC+INC/0LDRgNGH0LUg4oCeJS4qc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQsNC90LDQu9C40LfQuNGA0LAiCisKKyM6IGFkZC1wYXRjaC5jOjE3NgorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBkaWZmIgorbXNnc3RyICLRgNCw0LfQu9C40LrQsNGC0LAg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LDQvdCw0LvQuNC30LjRgNCwIgorCisjOiBhZGQtcGF0Y2guYzoxOTQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29sb3JlZCBkaWZmIgorbXNnc3RyICLQvtGG0LLQtdGC0LXQvdCw0YLQsCDRgNCw0LfQu9C40LrQsCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQsNC90LDQu9C40LfQuNGA0LAiCisKKyM6IGFkZC1wYXRjaC5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiZXhwZWN0ZWQgY29udGV4dCBsaW5lICMlZCBpblxuIgorIiUuKnMiCittc2dzdHIgIiIKKyLQvtGH0LDQutCy0LAg0YHQtSDRgNC10LQg4oSWJWQg0L7RgiDQutC+0L3RgtC10LrRgdGC0LAg0LJcbiIKKyIlLipzIgorCisjOiBhZGQtcGF0Y2guYzo1MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImh1bmtzIGRvIG5vdCBvdmVybGFwOlxuIgorIiUuKnNcbiIKKyJcdGRvZXMgbm90IGVuZCB3aXRoOlxuIgorIiUuKnMiCittc2dzdHIgIiIKKyLQv9Cw0YDRh9C10YLQsNGC0LAg0LrQvtC0INC90LUg0YHQtSDQv9GA0LjQv9C+0LrRgNC40LLQsNGCOlxuIgorIiUuKnNcbiIKKyIgICAg0L3QtSDQt9Cw0LLRitGA0YjQstCwINGBOlxuIgorIiUuKnMiCisKKyM6IGFkZC1wYXRjaC5jOjc5OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTIKK21zZ2lkICJNYW51YWwgaHVuayBlZGl0IG1vZGUgLS0gc2VlIGJvdHRvbSBmb3IgYSBxdWljayBndWlkZS5cbiIKK21zZ3N0ciAi0KDRitGH0L3QviDRgNC10LTQsNC60YLQuNGA0LDQvdC1INC90LAg0L/QsNGA0YfQtdGC0LAg0LrQvtC0IOKAlCDQvtGC0LTQvtC70YMg0LjQvNCwINC/0L7QtNGB0LrQsNC30LrQsC5cbiIKKworIzogYWRkLXBhdGNoLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS1cbiIKKyJUbyByZW1vdmUgJyVjJyBsaW5lcywgbWFrZSB0aGVtICcgJyBsaW5lcyAoY29udGV4dCkuXG4iCisiVG8gcmVtb3ZlICclYycgbGluZXMsIGRlbGV0ZSB0aGVtLlxuIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJWMgd2lsbCBiZSByZW1vdmVkLlxuIgorbXNnc3RyICIiCisi4oCU4oCU4oCUXG4iCisi0JfQsCDQtNCwINC/0YDQvtC/0YPRgdC90LXRgtC1INGA0LXQtNC+0LLQtdGC0LUsINC30LDQv9C+0YfQstCw0YnQuCDRgSDigJ4lY+KAnDog0LfQsNC80LXQvdC10YLQtSDQt9C90LDQutCwINGBIOKAniDigJwgKNGB0YLQsNCy0LDRgiAiCisi0LrQvtC90YLQtdC60YHRgilcbiIKKyLQl9CwINC00LAg0L/RgNC+0L/Rg9GB0L3QtdGC0LUg0YDQtdC00L7QstC10YLQtSwg0LfQsNC/0L7Rh9Cy0LDRidC4INGBIOKAniVj4oCcOiDQuNC30YLRgNC40LnRgtC1INCz0LguXG4iCisi0KDQtdC00L7QstC10YLQtSwg0LrQvtC40YLQviDQt9Cw0L/QvtGH0LLQsNGCINGBIOKAniVj4oCcINGJ0LUg0LHRitC00LDRgiDQv9GA0L7Qv9GD0YHQvdCw0YLQuC5cbiIKKworIzogYWRkLXBhdGNoLmM6ODEwCittc2dpZCAiIgorIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCisibWFya2VkIGZvciBzdGFnaW5nLlxuIgorbXNnc3RyICIiCisi0JDQutC+INC60YDRitC/0LrQsNGC0LAg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQuNC70L7QttC4INGH0LjRgdGC0L4sINGA0LXQtNCw0LrRgtC40YDQsNC90L7RgtC+INC/0LDRgNGH0LUg0YnQtSDQsdGK0LTQtSAiCisi0L3QtdC30LDQsdCw0LLQvdC+XG4iCisi0LTQvtCx0LDQstC10L3QviDQutGK0Lwg0LjQvdC00LXQutGB0LAuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiAnaXQnIHJlZmVycyB0byB0aGUgcGF0Y2ggbWVudGlvbmVkIGluIHRoZSBwcmV2aW91cyBtZXNzYWdlcy4KKyM6IGFkZC1wYXRjaC5jOjgxOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMjYKK21zZ2lkICIiCisiSWYgaXQgZG9lcyBub3QgYXBwbHkgY2xlYW5seSwgeW91IHdpbGwgYmUgZ2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG9cbiIKKyJlZGl0IGFnYWluLiAgSWYgYWxsIGxpbmVzIG9mIHRoZSBodW5rIGFyZSByZW1vdmVkLCB0aGVuIHRoZSBlZGl0IGlzXG4iCisiYWJvcnRlZCBhbmQgdGhlIGh1bmsgaXMgbGVmdCB1bmNoYW5nZWQuXG4iCittc2dzdHIgIiIKKyLQkNC60L4g0LUg0L3QtdCy0YrQt9C80L7QttC90L4g0YfQuNGB0YLQviDQv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDQutC+0LTQsCwg0YnQtSDQvNC+0LbQtSDQv9Cw0Log0LTQsCDRgNC10LTQsNC60YLQuNGA0LDRgtC1LiAg0JDQutC+XG4iCisi0LjQt9GC0YDQuNC10YLQtSDQstGB0LjRh9C60Lgg0YDQtdC00L7QstC1INC+0YIg0L/QsNGA0YfQtdGC0L4g0LrQvtC0LCDRgtC+INGJ0LUg0LHRitC00LUg0L7RgdGC0LDQstC10L3QviDQvdC10L/RgNC+0LzQtdC90LXQvdC+LCDQsFxuIgorItGA0LXQtNCw0LrRgtC40YDQsNC90LXRgtC+IOKAlCDQvtGC0LrQsNC30LDQvdC+LlxuIgorCisjOiBhZGQtcGF0Y2guYzo4NTEKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgaHVuayBoZWFkZXIiCittc2dzdHIgItC30LDQs9C70LDQstC90LDRgtCwINGH0LDRgdGCINC/0LDRgNGH0LXRgtC+INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INCw0L3QsNC70LjQt9C40YDQsCIKKworIzogYWRkLXBhdGNoLmM6ODk1IGFkZC1wYXRjaC5jOjEyOTQKK21zZ2lkICInZ2l0IGFwcGx5IC0tY2FjaGVkJyBmYWlsZWQiCittc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwIOKAnmdpdCBhcHBseSAtLWNhY2hlZOKAnCIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgW3kvbl0KKyMuIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgdGhhdCBpbnB1dCBhdCB0aGlzIHBvaW50LgorIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKKyMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCisjLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KKyMuCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSBbeS9uXQorIy4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCB0aGF0IGlucHV0CisjLiBhdCB0aGlzIHBvaW50LgorIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKKyMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCisjLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KKyM6IGFkZC1wYXRjaC5jOjk1MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMzkKK21zZ2lkICIiCisiWW91ciBlZGl0ZWQgaHVuayBkb2VzIG5vdCBhcHBseS4gRWRpdCBhZ2FpbiAoc2F5aW5nIFwibm9cIiBkaXNjYXJkcyEpIFt5L25dPyAiCittc2dzdHIgIiIKKyLQoNC10LTQsNC60YLQuNGA0LDQvdC+0YLQviDQv9Cw0YDRh9C1INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQuNC70L7QttC4LiAg0JTQsCDRgdC1INC/0YDQvtC00YrQu9C20Lgg0LvQuCDRgSAiCisi0YDQtdC00LDQutGC0LjRgNCw0L3QtdGC0L4/ICjRgtC10LrRg9GJ0LjRgtC1INGA0LXQtNCw0LrRhtC40Lgg0YnQtSDRgdC1INC+0YLQvNC10L3Rj9GCINC/0YDQuCDQvtGC0LrQsNC3ISk6IOKAnnnigJwgKNC00LApLyAiCisi4oCebuKAnCAo0L3QtSk/ICIKKworIzogYWRkLXBhdGNoLmM6MTAwOQorbXNnaWQgIiIKKyJ5IC0gc3RhZ2UgdGhpcyBodW5rXG4iCisibiAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmtcbiIKKyJxIC0gcXVpdDsgZG8gbm90IHN0YWdlIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIHN0YWdlIHRoaXMgYW5kIGFsbCB0aGUgcmVtYWluaW5nIGh1bmtzXG4iCisiZCAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmsgbm9yIGFueSBvZiB0aGUgcmVtYWluaW5nIGh1bmtzXG4iCittc2dzdHIgIiIKKyJ5IOKAlCDQtNC+0LHQsNCy0Y/QvdC1INC90LAg0L/QsNGA0YfQtdGC0L4g0LIg0LjQvdC00LXQutGB0LBcbiIKKyJuIOKAlCDQsdC10Lcg0LTQvtCx0LDQstGP0L3QtSDQvdCwINC/0LDRgNGH0LXRgtC+INCyINC40L3QtNC10LrRgdCwXG4iCisicSDigJQg0LjQt9GF0L7QtCwg0LHQtdC3INC00L7QsdCw0LLRj9C90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0L7RgdGC0LDQstCw0YnQuCDQv9Cw0YDRh9C10YLQsFxuIgorImEg4oCUINC00L7QsdCw0LLRj9C90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0YHQu9C10LTQstCw0YnQuCDQv9Cw0YDRh9C10YLQsCDQsiDQuNC90LTQtdC60YHQsFxuIgorImQg4oCUINCx0LXQtyDQtNC+0LHQsNCy0Y/QvdC1INC90LAg0YLQvtCy0LAg0Lgg0LLRgdC40YfQutC4INC+0YHRgtCw0LLQsNGJ0Lgg0L/QsNGA0YfQtdGC0LAg0LIg0LjQvdC00LXQutGB0LBcbiIKKworIzogYWRkLXBhdGNoLmM6MTAxNgorbXNnaWQgIiIKKyJqIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIG5leHQgdW5kZWNpZGVkIGh1bmtcbiIKKyJKIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIG5leHQgaHVua1xuIgorImsgLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgcHJldmlvdXMgdW5kZWNpZGVkIGh1bmtcbiIKKyJLIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIHByZXZpb3VzIGh1bmtcbiIKKyJnIC0gc2VsZWN0IGEgaHVuayB0byBnbyB0b1xuIgorIi8gLSBzZWFyY2ggZm9yIGEgaHVuayBtYXRjaGluZyB0aGUgZ2l2ZW4gcmVnZXhcbiIKKyJzIC0gc3BsaXQgdGhlIGN1cnJlbnQgaHVuayBpbnRvIHNtYWxsZXIgaHVua3NcbiIKKyJlIC0gbWFudWFsbHkgZWRpdCB0aGUgY3VycmVudCBodW5rXG4iCisiPyAtIHByaW50IGhlbHBcbiIKK21zZ3N0ciAiIgorImog4oCUINCx0LXQtyDRgNC10YjQtdC90LjQtSDQt9CwINC/0LDRgNGH0LXRgtC+LCDQutGK0Lwg0YHQu9C10LTQstCw0YnQvtGC0L4g0L/QsNGA0YfQtSDQsdC10Lcg0YDQtdGI0LXQvdC40LVcbiIKKyJKIOKAlCDQsdC10Lcg0YDQtdGI0LXQvdC40LUg0LfQsCDQv9Cw0YDRh9C10YLQviwg0LrRitC8INGB0LvQtdC00LLQsNGJ0L7RgtC+INC/0LDRgNGH0LVcbiIKKyJrIOKAlCDQsdC10Lcg0YDQtdGI0LXQvdC40LUg0LfQsCDQv9Cw0YDRh9C10YLQviwg0LrRitC8INC/0YDQtdC00LjRiNC90L7RgtC+INC/0LDRgNGH0LUg0LHQtdC3INGA0LXRiNC10L3QuNC1XG4iCisiSyDigJQg0LHQtdC3INGA0LXRiNC10L3QuNC1INC30LAg0L/QsNGA0YfQtdGC0L4sINC60YrQvCDQv9GA0LXQtNC40YjQvdC+0YLQviDQv9Cw0YDRh9C1XG4iCisiZyDigJQg0LjQt9Cx0L7RgCDQutGK0Lwg0LrQvtC1INC/0LDRgNGH0LUg0LTQsCDRgdC1INC/0YDQtdC80LjQvdC1XG4iCisiLyDigJQg0YLRitGA0YHQtdC90LUg0L3QsCDQv9Cw0YDRh9C1LCDQvdCw0L/QsNGB0LLQsNGJ0L4g0LrRitC8INC00LDQtNC10L0g0YDQtdCz0YPQu9GP0YDQtdC9INC40LfRgNCw0LdcbiIKKyJzIOKAlCDRgNCw0LfQtNC10LvRj9C90LUg0L3QsCDRgtC10LrRg9GJ0L7RgtC+INC/0LDRgNGH0LUg0L3QsCDQv9C+LdC80LDQu9C60LhcbiIKKyJlIOKAlCDRgNGK0YfQvdC+INGA0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDRgtC10LrRg9GJ0L7RgtC+INC/0LDRgNGH0LVcbiIKKyI/IOKAlCDQuNC30LLQtdC20LTQsNC90LUg0L3QtSDQv9C+0LzQvtGJ0YLQsFxuIgorCisjOiBhZGQtcGF0Y2guYzoxMTM3IGFkZC1wYXRjaC5jOjExNDcKK21zZ2lkICJObyBwcmV2aW91cyBodW5rIgorbXNnc3RyICLQndGP0LzQsCDQtNGA0YPQs9C+INC/0LDRgNGH0LUg0L/RgNC10LTQuCDRgtC+0LLQsCIKKworIzogYWRkLXBhdGNoLmM6MTE0MiBhZGQtcGF0Y2guYzoxMTUyCittc2dpZCAiTm8gbmV4dCBodW5rIgorbXNnc3RyICLQndGP0LzQsCDQtNGA0YPQs9C+INC/0LDRgNGH0LUg0YHQu9C10LQg0YLQvtCy0LAiCisKKyM6IGFkZC1wYXRjaC5jOjExNTgKK21zZ2lkICJObyBvdGhlciBodW5rcyB0byBnb3RvIgorbXNnc3RyICLQndGP0LzQsCDQtNGA0YPQs9C4INC/0LDRgNGH0LXRgtCwIgorCisjOiBhZGQtcGF0Y2guYzoxMTY5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3NworbXNnaWQgImdvIHRvIHdoaWNoIGh1bmsgKDxyZXQ+IHRvIHNlZSBtb3JlKT8gIgorbXNnc3RyICLQutGK0Lwg0LrQvtC1INC/0LDRgNGH0LUg0LTQsCDRgdC1INC/0YDQuNC00LLQuNC20LggKNC30LAg0L/QvtCy0LXRh9C1INCy0LDRgNC40LDQvdGC0Lgg0L3QsNGC0LjRgdC90LXRgtC1IOKAnmVudGVy4oCcKT8gIgorCisjOiBhZGQtcGF0Y2guYzoxMTcwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3OQorbXNnaWQgImdvIHRvIHdoaWNoIGh1bms/ICIKK21zZ3N0ciAi0LrRitC8INC60L7QtSDQv9Cw0YDRh9C1INC00LAg0YHQtSDQv9GA0LjQtNCy0LjQttC4PyAiCisKKyM6IGFkZC1wYXRjaC5jOjExODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBudW1iZXI6ICclcyciCittc2dzdHIgItCd0LXQv9GA0LDQstC40LvQtdC9INC90L7QvNC10YA6IOKAniVz4oCcIgorCisjOiBhZGQtcGF0Y2guYzoxMTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNvcnJ5LCBvbmx5ICVkIGh1bmsgYXZhaWxhYmxlLiIKK21zZ2lkX3BsdXJhbCAiU29ycnksIG9ubHkgJWQgaHVua3MgYXZhaWxhYmxlLiIKK21zZ3N0clswXSAi0JjQvNCwINGB0LDQvNC+ICVkINC/0LDRgNGH0LUuIgorbXNnc3RyWzFdICLQmNC80LAg0YHQsNC80L4gJWQg0L/QsNGA0YfQtdGC0LAuIgorCisjOiBhZGQtcGF0Y2guYzoxMTk1Cittc2dpZCAiTm8gb3RoZXIgaHVua3MgdG8gc2VhcmNoIgorbXNnc3RyICLQndGP0LzQsCDQtNGA0YPQs9C4INC/0LDRgNGH0LXRgtCwINC30LAg0YLRitGA0YHQtdC90LUiCisKKyM6IGFkZC1wYXRjaC5jOjEyMDEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjIzCittc2dpZCAic2VhcmNoIGZvciByZWdleD8gIgorbXNnc3RyICLQtNCwINGB0LUg0YLRitGA0YHQuCDRgSDRgNC10LPRg9C70Y/RgNC10L0g0LjQt9GA0LDQtz8gIgorCisjOiBhZGQtcGF0Y2guYzoxMjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIk1hbGZvcm1lZCBzZWFyY2ggcmVnZXhwICVzOiAlcyIKK21zZ3N0ciAi0KHQs9GA0LXRiNC10L0g0YDQtdCz0YPQu9GP0YDQtdC9INC40LfRgNCw0Lcg4oCeJXPigJw6ICVzIgorCisjOiBhZGQtcGF0Y2guYzoxMjMzCittc2dpZCAiTm8gaHVuayBtYXRjaGVzIHRoZSBnaXZlbiBwYXR0ZXJuIgorbXNnc3RyICLQndC40LrQvtC1INC/0LDRgNGH0LUg0L3QtSDQvdCw0L/QsNGB0LLQsCDQvdCwINGA0LXQs9GD0LvRj9GA0L3QuNGPINC40LfRgNCw0LciCisKKyM6IGFkZC1wYXRjaC5jOjEyNDAKK21zZ2lkICJTb3JyeSwgY2Fubm90IHNwbGl0IHRoaXMgaHVuayIKK21zZ3N0ciAi0KLQvtCy0LAg0L/QsNGA0YfQtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YDQsNC30LTQtdC70LXQvdC+IgorCisjOiBhZGQtcGF0Y2guYzoxMjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNwbGl0IGludG8gJWQgaHVua3MuIgorbXNnc3RyICLQoNCw0LfQtNC10LvRj9C90LUg0L3QsCAlZCDQv9Cw0YDRh9C10YLQsC4iCisKKyM6IGFkZC1wYXRjaC5jOjEyNDgKK21zZ2lkICJTb3JyeSwgY2Fubm90IGVkaXQgdGhpcyBodW5rIgorbXNnc3RyICLQotC+0LLQsCDQv9Cw0YDRh9C1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgNC10LTQsNC60YLQuNGA0LDQvdC+IgorCisjOiBhZHZpY2UuYzoxMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNoaW50OiAlLipzJXNcbiIKIG1zZ3N0ciAiJXPQv9C+0LTRgdC60LDQt9C60LA6ICUuKnMlc1xuIgogCi0jOiBhZHZpY2UuYzoxNTIKKyM6IGFkdmljZS5jOjE2NAogbXNnaWQgIkNoZXJyeS1waWNraW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAi0J7RgtCx0LjRgNCw0L3QtdGC0L4g0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y8g0LUg0LHQu9C+0LrQuNGA0LDQvdC+INC+0YIg0L3QtdGB0LvQtdGC0Lgg0YTQsNC50LvQvtCy0LUuIgogCi0jOiBhZHZpY2UuYzoxNTQKKyM6IGFkdmljZS5jOjE2NgogbXNnaWQgIkNvbW1pdHRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC10YLQviDQtSDQsdC70L7QutC40YDQsNC90L4g0L7RgiDQvdC10YHQu9C10YLQuCDRhNCw0LnQu9C+0LLQtS4iCiAKLSM6IGFkdmljZS5jOjE1NgorIzogYWR2aWNlLmM6MTY4CiBtc2dpZCAiTWVyZ2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgItCh0LvQuNCy0LDQvdC10YLQviDQtSDQsdC70L7QutC40YDQsNC90L4g0L7RgiDQvdC10YHQu9C10YLQuCDRhNCw0LnQu9C+0LLQtS4iCiAKLSM6IGFkdmljZS5jOjE1OAorIzogYWR2aWNlLmM6MTcwCiBtc2dpZCAiUHVsbGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgItCY0LfQtNGK0YDQv9Cy0LDQvdC10YLQviDQtSDQsdC70L7QutC40YDQsNC90L4g0L7RgiDQvdC10YHQu9C10YLQuCDRhNCw0LnQu9C+0LLQtS4iCiAKLSM6IGFkdmljZS5jOjE2MAorIzogYWR2aWNlLmM6MTcyCiBtc2dpZCAiUmV2ZXJ0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAi0J7RgtC80Y/QvdCw0YLQsCDQtSDQsdC70L7QutC40YDQsNC90LAg0L7RgiDQvdC10YHQu9C10YLQuCDRhNCw0LnQu9C+0LLQtS4iCiAKLSM6IGFkdmljZS5jOjE2MgorIzogYWR2aWNlLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkl0IGlzIG5vdCBwb3NzaWJsZSB0byAlcyBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAi0JTQtdC50YHRgtCy0LjQtdGC0L4g4oCeJXPigJwg0LUg0LHQu9C+0LrQuNGA0LDQvdC+INC+0YIg0L3QtdGB0LvQtdGC0Lgg0YTQsNC50LvQvtCy0LUuIgogCi0jOiBhZHZpY2UuYzoxNzAKKyM6IGFkdmljZS5jOjE4MgogbXNnaWQgIiIKICJGaXggdGhlbSB1cCBpbiB0aGUgd29yayB0cmVlLCBhbmQgdGhlbiB1c2UgJ2dpdCBhZGQvcm0gPGZpbGU+J1xuIgogImFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbiBhbmQgbWFrZSBhIGNvbW1pdC4iCkBAIC0xOTMsMzggKzYzOSw0NSBAQAogItCg0LXQtNCw0LrRgtC40YDQsNC50YLQtSDQs9C4INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+LCDQuCDRgtC+0LPQsNCy0LAg0L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCBhZGQvcm0g0KTQkNCZ0JvigJwsXG4iCiAi0LfQsCDQtNCwINC+0YLQsdC10LvQtdC20LjRgtC1INC60L7RgNC40LPQuNGA0LDQvdC10YLQviDQuNC8LiAg0KHQu9C10LQg0YLQvtCy0LAg0LjQt9Cy0YrRgNGI0LXRgtC1INC/0L7QtNCw0LLQsNC90LXRgtC+LiIKIAotIzogYWR2aWNlLmM6MTc4CisjOiBhZHZpY2UuYzoxOTAKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgYW4gdW5yZXNvbHZlZCBjb25mbGljdC4iCiBtc2dzdHIgItCY0LfRhdC+0LQg0L7RgiDQv9GA0L7Qs9GA0LDQvNCw0YLQsCDQt9Cw0YDQsNC00Lgg0L3QtdC60L7RgNC40LPQuNGA0LDQvSDQutC+0L3RhNC70LjQutGCLiIKIAotIzogYWR2aWNlLmM6MTgzIGJ1aWx0aW4vbWVyZ2UuYzoxMjg5CisjOiBhZHZpY2UuYzoxOTUgYnVpbHRpbi9tZXJnZS5jOjEzMzIKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgItCd0LUg0YHRgtC1INC30LDQstGK0YDRiNC40LvQuCDRgdC70LjQstCw0L3QtS4gICjQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5NRVJHRV9IRUFE4oCcINGB0YrRidC10YHRgtCy0YPQstCwKS4iCiAKLSM6IGFkdmljZS5jOjE4NQorIzogYWR2aWNlLmM6MTk3CiBtc2dpZCAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSBtZXJnaW5nLiIKIG1zZ3N0ciAi0J/RgNC+0LzQtdC90LjRgtC1INGC0YDRj9Cx0LLQsCDQtNCwINGB0LUg0L/QvtC00LDQtNCw0YIg0L/RgNC10LTQuCDRgdC70LjQstCw0L3QtS4iCiAKLSM6IGFkdmljZS5jOjE4NgorIzogYWR2aWNlLmM6MTk4CiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIHVuZmluaXNoZWQgbWVyZ2UuIgogbXNnc3RyICLQmNC30YXQvtC0INC+0YIg0L/RgNC+0LPRgNCw0LzQsNGC0LAg0LfQsNGA0LDQtNC4INC90LXQt9Cw0LLRitGA0YjQtdC90L4g0YHQu9C40LLQsNC90LUuIgogCi0jOiBhZHZpY2UuYzoxOTIKKyM6IGFkdmljZS5jOjIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iTm90ZTogY2hlY2tpbmcgb3V0ICclcycuXG4iCisiTm90ZTogc3dpdGNoaW5nIHRvICclcycuXG4iCiAiXG4iCiAiWW91IGFyZSBpbiAnZGV0YWNoZWQgSEVBRCcgc3RhdGUuIFlvdSBjYW4gbG9vayBhcm91bmQsIG1ha2UgZXhwZXJpbWVudGFsXG4iCiAiY2hhbmdlcyBhbmQgY29tbWl0IHRoZW0sIGFuZCB5b3UgY2FuIGRpc2NhcmQgYW55IGNvbW1pdHMgeW91IG1ha2UgaW4gdGhpc1xuIgotInN0YXRlIHdpdGhvdXQgaW1wYWN0aW5nIGFueSBicmFuY2hlcyBieSBwZXJmb3JtaW5nIGFub3RoZXIgY2hlY2tvdXQuXG4iCisic3RhdGUgd2l0aG91dCBpbXBhY3RpbmcgYW55IGJyYW5jaGVzIGJ5IHN3aXRjaGluZyBiYWNrIHRvIGEgYnJhbmNoLlxuIgogIlxuIgogIklmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggdG8gcmV0YWluIGNvbW1pdHMgeW91IGNyZWF0ZSwgeW91IG1heVxuIgotImRvIHNvIChub3cgb3IgbGF0ZXIpIGJ5IHVzaW5nIC1iIHdpdGggdGhlIGNoZWNrb3V0IGNvbW1hbmQgYWdhaW4uIEV4YW1wbGU6XG4iCisiZG8gc28gKG5vdyBvciBsYXRlcikgYnkgdXNpbmcgLWMgd2l0aCB0aGUgc3dpdGNoIGNvbW1hbmQuIEV4YW1wbGU6XG4iCiAiXG4iCi0iICBnaXQgY2hlY2tvdXQgLWIgPG5ldy1icmFuY2gtbmFtZT5cbiIKKyIgIGdpdCBzd2l0Y2ggLWMgPG5ldy1icmFuY2gtbmFtZT5cbiIKKyJcbiIKKyJPciB1bmRvIHRoaXMgb3BlcmF0aW9uIHdpdGg6XG4iCisiXG4iCisiICBnaXQgc3dpdGNoIC1cbiIKKyJcbiIKKyJUdXJuIG9mZiB0aGlzIGFkdmljZSBieSBzZXR0aW5nIGNvbmZpZyB2YXJpYWJsZSBhZHZpY2UuZGV0YWNoZWRIZWFkIHRvICIKKyJmYWxzZVxuIgogIlxuIgogbXNnc3RyICIiCi0i0JHQtdC70LXQttC60LA6INC40LfRgtC10LPQu9GP0L3QtSDQvdCwIOKAniVz4oCcLlxuIgorItCR0LXQu9C10LbQutCwOiDQv9GA0LXQvNC40L3QsNCy0LDQvdC1INC60YrQvCDigJ4lc+KAnC5cbiIKICJcbiIKICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC90LUg0LUg0YHQstGK0YDQt9Cw0L0uICDQnNC+0LbQtSDQtNCwINGA0LDQt9Cz0LvQtdC20LTQsNGC0LUsINC00LAg0L/RgNCw0LLQuNGC0LUg0L/RgNC+0LjQt9Cy0L7Qu9C90LhcbiIKICLQv9GA0L7QvNC10L3QuCDQuCDQtNCwINCz0Lgg0L/QvtC00LDQstCw0YLQtS4gINCQ0LrQviDQuNC30YLQtdCz0LvQuNGC0LUg0L3QtdGJ0L4g0LTRgNGD0LPQviwg0LLRgdC40YfQutC4INC/0YDQvtC80LXQvdC4INGJ0LUgIgpAQCAtMjMyLDEwNiArNjg1LDExMSBAQAogItC30LDQsdGA0LDQstC10L3QuCDQuCDQvdC40LrQvtC5INC60LvQvtC9INC90Y/QvNCwINC00LAg0YHQtSDQv9GA0L7QvNC10L3QuC5cbiIKICJcbiIKICLQkNC60L4g0LjRgdC60LDRgtC1INC00LAg0YHRitC30LTQsNC00LXRgtC1INC90L7QsiDQutC70L7QvSwg0LfQsCDQtNCwINC30LDQv9Cw0LfQuNGC0LUg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDRgdC4LCDQvNC+0LbQtdGC0LUg0LTQsFxuIgotItC90LDQv9GA0LDQstC40YLQtSDRgtC+0LLQsCDQutCw0YLQviDQt9Cw0LTQsNC00LXRgtC1INC40LzQtSDQvdCwINC60LvQvtC9INC60YrQvCDQvtC/0YbQuNGP0YLQsCDigJ4tYuKAnCDQvdCwINC60L7QvNCw0L3QtNCw0YLQsFxuIgotIuKAnmNvbW1pdOKAnC4gINCd0LDQv9GA0LjQvNC10YA6XG4iCisi0L3QsNC/0YDQsNCy0LjRgtC1INGC0L7QstCwINC60LDRgtC+INC30LDQtNCw0LTQtdGC0LUg0LjQvNC1INC90LAg0LrQu9C+0L0g0LrRitC8INC+0L/RhtC40Y/RgtCwIOKAni1j4oCcINC90LAg0LrQvtC80LDQvdC00LDRgtCwXG4iCisi4oCec3dpdGNo4oCcLiAg0J3QsNC/0YDQuNC80LXRgDpcbiIKICJcbiIKLSIgIGdpdCBjaGVja291dCAtYiDQmNCc0JVf0J3QkF/QndCe0JJf0JrQm9Ce0J1cbiIKKyIgICAgZ2l0IHN3aXRjaCAtYyDQmNCc0JVf0J3QkF/QndCe0JJf0JrQm9Ce0J1cbiIKICJcbiIKKyLQnNC+0LbQtSDQtNCwINC+0YLQvNC10L3QuNGC0LUg0YLQvtCy0LAg0LTQtdC50YHRgtCy0LjQtSDRgSDQutC+0LzQsNC90LTQsNGC0LA6XG4iCisiXG4iCisiICAgIGdpdCBzd2l0Y2ggLVxuIgorIlxuIgorItCc0L7QttC1INC00LAg0YHQv9GA0LXRgtC1INGC0L7QstCwINGB0YrQvtCx0YnQtdC90LjQtSDRgdGK0YEg0LfQsNC00LDQstCw0L3QtSDQvdCwINC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCeYWR2aWNlLiIKKyJkZXRhY2hlZEhlYWTigJxcbiIKKyLQtNCwINC1IOKAnmZhbHNl4oCcLlxuIgogCi0jOiBhcHBseS5jOjU5CisjOiBhbGlhcy5jOjUwCittc2dpZCAiY21kbGluZSBlbmRzIHdpdGggXFwiCittc2dzdHIgItC60L7QvNCw0L3QtNC90LjRj9GCINGA0LXQtCDQt9Cw0LLRitGA0YjQstCwINGBIOKAni/igJwiCisKKyM6IGFsaWFzLmM6NTEKK21zZ2lkICJ1bmNsb3NlZCBxdW90ZSIKK21zZ3N0ciAi0LrQsNCy0LjRh9C60LAg0LHQtdC3INC10YgiCisKKyM6IGFwcGx5LmM6NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCiBtc2dzdHIgItC90LXQv9C+0LfQvdCw0YLQsCDQvtC/0YbQuNGPINC30LAg0LfQvdCw0YbQuNGC0LUg0LfQsCDQuNC90YLQtdGA0LLQsNC70Lgg4oCeJXPigJwiCiAKLSM6IGFwcGx5LmM6NzUKKyM6IGFwcGx5LmM6ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0LAg0L7Qv9GG0LjRjyDQt9CwINC40LPQvdC+0YDQuNGA0LDQvdC1INC90LAg0LfQvdCw0YbQuNGC0LUg0LfQsCDQuNC90YLQtdGA0LLQsNC70Lgg4oCeJXPigJwiCiAKLSM6IGFwcGx5LmM6MTI1CisjOiBhcHBseS5jOjEzNQogbXNnaWQgIi0tcmVqZWN0IGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgogbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLXJlamVjdOKAnCDQuCDigJ4tLTN3YXnigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKLSM6IGFwcGx5LmM6MTI3CisjOiBhcHBseS5jOjEzNwogbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgogbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLWNhY2hlZOKAnCDQuCDigJ4tLTN3YXnigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKLSM6IGFwcGx5LmM6MTMwCisjOiBhcHBseS5jOjE0MAogbXNnaWQgIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0LrQsNGC0L4g4oCeLS0zd2F54oCcLCDQvdC+INC40LfQstGK0L0g0YXRgNCw0L3QuNC70LjRidC1IgogCi0jOiBhcHBseS5jOjE0MQorIzogYXBwbHkuYzoxNTEKIG1zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICLQutCw0YLQviDigJ4tLWluZGV44oCcLCDQvdC+INC40LfQstGK0L0g0YXRgNCw0L3QuNC70LjRidC1IgogCi0jOiBhcHBseS5jOjE0NAorIzogYXBwbHkuYzoxNTQKIG1zZ2lkICItLWNhY2hlZCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0LrQsNGC0L4g4oCeLS1jYWNoZWTigJwsINC90L4g0LjQt9Cy0YrQvSDRhdGA0LDQvdC40LvQuNGJ0LUiCiAKLSM6IGFwcGx5LmM6ODI2CisjOiBhcHBseS5jOjgwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgcHJlcGFyZSB0aW1lc3RhbXAgcmVnZXhwICVzIgogbXNnc3RyICLQoNC10LPRg9C70Y/RgNC90LjRj9GCINC40LfRgNCw0Lcg0LfQsCDQstGA0LXQvNC10YLQviDigJ4lc+KAnCDQvdC1INC80L7QttC1INC30LAg0LHRitC00LUg0LrQvtC80L/QuNC70LjRgNCw0L0iCiAKLSM6IGFwcGx5LmM6ODM1CisjOiBhcHBseS5jOjgxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCiBtc2dzdHIgItCg0LXQs9GD0LvRj9GA0L3QuNGP0YIg0LjQt9GA0LDQtyDQstGK0YDQvdCwICVkINC/0YDQuCDQv9C+0LTQsNC00LXQvdCwINC/0L7RgdC70LXQtNC+0LLQsNGC0LXQu9C90L7RgdGCIOKAniVz4oCcINC90LAg0LLRhdC+0LTQsCIKIAotIzogYXBwbHkuYzo5MDkKKyM6IGFwcGx5LmM6ODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgItCb0LjQv9GB0LLQsCDQuNC80LUg0L3QsCDRhNCw0LnQuyDQvdCwINGA0LXQtCAlZCDQvtGCINC60YDRitC/0LrQsNGC0LAiCiAKLSM6IGFwcGx5LmM6OTQ3CisjOiBhcHBseS5jOjkyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKICJnaXQgYXBwbHk6INC70L7RiCDQuNC30YXQvtC0INC+0YIg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC1kaWZm4oCcIOKAlCDQvdCwINGA0LXQtCAlMiRkINGB0LUg0L7Rh9Cw0LrQstCw0YjQtSDigJ4vZGV2LyIKICJudWxs4oCcLCDQsCDQsdC1INC/0L7Qu9GD0YfQtdC9IOKAniUxJHPigJwiCiAKLSM6IGFwcGx5LmM6OTUzCisjOiBhcHBseS5jOjkyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKIG1zZ3N0ciAiIgogImdpdCBhcHBseTog0LvQvtGIINC40LfRhdC+0LQg0L7RgiDQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0LWRpZmbigJwg4oCUINC90LAg0YDQtdC0ICVkINCx0LUg0L/QvtC70YPRh9C10L3QviAiCiAi0L3QtdC/0YDQsNCy0LjQu9C90L4g0LjQvNC1INC90LAg0L3QvtCyINGE0LDQudC7IgogCi0jOiBhcHBseS5jOjk1NAorIzogYXBwbHkuYzo5MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKICJnaXQgYXBwbHk6INC70L7RiCDQuNC30YXQvtC0INC+0YIg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC1kaWZm4oCcIOKAlCDQvdCwINGA0LXQtCAlZCDQsdC1INC/0L7Qu9GD0YfQtdC90L4gIgogItC90LXQv9GA0LDQstC40LvQvdC+INC40LzQtSDQvdCwINGB0YLQsNGAINGE0LDQudC7IgogCi0jOiBhcHBseS5jOjk1OQorIzogYXBwbHkuYzo5MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwgb24gbGluZSAlZCIKIG1zZ3N0ciAiIgogImdpdCBhcHBseTog0LvQvtGIINC40LfRhdC+0LQg0L7RgiDQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0LWRpZmbigJwg4oCUINC90LAg0YDQtdC0ICVkINGB0LUg0L7Rh9Cw0LrQstCw0YjQtSDigJ4vZGV2LyIKICJudWxs4oCcIgogCi0jOiBhcHBseS5jOjk4OAorIzogYXBwbHkuYzo5NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBtb2RlIG9uIGxpbmUgJWQ6ICVzIgogbXNnc3RyICLQs9GA0LXRiNC10L0g0YDQtdC20LjQvCDQvdCwINGA0LXQtCDihJYlZDogJXMiCiAKLSM6IGFwcGx5LmM6MTMwNworIzogYXBwbHkuYzoxMjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImluY29uc2lzdGVudCBoZWFkZXIgbGluZXMgJWQgYW5kICVkIgogbXNnc3RyICLQvdC10YHRitCy0LzQtdGB0YLQuNC80Lgg0LfQsNCz0LvQsNCy0L3QuCDRh9Cw0YHRgtC4INC90LAg0YDQtdC00L7QstC1IOKEliVkINC4IOKEliVkIgogCi0jOiBhcHBseS5jOjE0NzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgotbXNnc3RyICLQv9GA0Lgg0L/QvtCy0YLQvtGA0L3QvtGC0L4g0L/RgNC10LHRgNC+0Y/QstCw0L3QtSDQsdC1INC/0L7Qu9GD0YfQtdC9INC90LXQvtGH0LDQutCy0LDQvSDRgNC10LQ6IOKAniUuKnPigJwiCi0KLSM6IGFwcGx5LmM6MTU0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgotbXNnc3RyICLRh9Cw0YHRgiDQvtGCINC60YDRitC/0LrQsCDQsdC10Lcg0LfQsNCz0LvQsNCy0L3QsCDRh9Cw0YHRgiDQvdCwINGA0LXQtCAlZDogJS4qcyIKLQotIzogYXBwbHkuYzoxNTY4CisjOiBhcHBseS5jOjEzNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgpAQCAtMzQ2LDcxICs4MDQsODEgQEAKICLQodC70LXQtCDRgdGK0LrRgNCw0YnQsNCy0LDQvdC10YLQviDQvdCwINC/0YrRgNCy0LjRgtC1ICVkINGH0LDRgdGC0Lgg0L7RgiDQutC+0LzQv9C+0L3QtdC90YLQuNGC0LUg0L3QsCDQv9GK0YLRjywg0LIg0LfQsNCz0LvQsNCy0L3QsNGC0LAgIgogItGH0LDRgdGCINC90LAg4oCeZ2l0IGRpZmbigJwg0LvQuNC/0YHQstCwINC40L3RhNC+0YDQvNCw0YbQuNGPINC30LAg0LjQvNC1INC90LAg0YTQsNC50LsgKNGA0LXQtDogJWQpIgogCi0jOiBhcHBseS5jOjE1ODEKKyM6IGFwcGx5LmM6MTM4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gKGxpbmUgJWQpIgogbXNnc3RyICIiCiAi0LIg0LfQsNCz0LvQsNCy0L3QsNGC0LAg0YfQsNGB0YIg0L3QsCDigJ5naXQgZGlmZuKAnCDQu9C40L/RgdCy0LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDQuNC80LUg0L3QsCDRhNCw0LnQuyAo0YDQtdC0OiAlZCkiCiAKLSM6IGFwcGx5LmM6MTc2OQorIzogYXBwbHkuYzoxNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKK21zZ3N0ciAi0L/RgNC4INC/0L7QstGC0L7RgNC90L7RgtC+INC/0YDQtdCx0YDQvtGP0LLQsNC90LUg0LHQtSDQv9C+0LvRg9GH0LXQvSDQvdC10L7Rh9Cw0LrQstCw0L0g0YDQtdC0OiDigJ4lLipz4oCcIgorCisjOiBhcHBseS5jOjE1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0Y2ggZnJhZ21lbnQgd2l0aG91dCBoZWFkZXIgYXQgbGluZSAlZDogJS4qcyIKK21zZ3N0ciAi0YfQsNGB0YIg0L7RgiDQutGA0YrQv9C60LAg0LHQtdC3INC30LDQs9C70LDQstC90LAg0YfQsNGB0YIg0L3QsCDRgNC10LQgJWQ6ICUuKnMiCisKKyM6IGFwcGx5LmM6MTc1MwogbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgogbXNnc3RyICLQvdC+0LLQuNGP0YIg0YTQsNC50Lsg0LfQsNCy0LjRgdC4INC+0YIg0YHRgtCw0YDQvtGC0L4g0YHRitC00YrRgNC20LDQvdC40LUg0L3QsCDRhNCw0LnQu9CwIgogCi0jOiBhcHBseS5jOjE3NzEKKyM6IGFwcGx5LmM6MTc1NQogbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgItC40LfRgtGA0LjRgtC40Y/RgiDRhNCw0LnQuyDQvdC1INC1INC/0YDQsNC30LXQvSIKIAotIzogYXBwbHkuYzoxODA1CisjOiBhcHBseS5jOjE3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0LIg0LrRgNGK0L/QutCw0YLQsCDQvdCwINGA0LXQtCAlZCIKIAotIzogYXBwbHkuYzoxODQyCisjOiBhcHBseS5jOjE4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCiBtc2dzdHIgItC90L7QstC40Y/RgiDRhNCw0LnQuyDigJ4lc+KAnCDQt9Cw0LLQuNGB0Lgg0L7RgiDRgdGC0LDRgNC+0YLQviDRgdGK0LTRitGA0LbQsNC90LjQtSDQvdCwINGE0LDQudC70LAiCiAKLSM6IGFwcGx5LmM6MTg0NAorIzogYXBwbHkuYzoxODI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgItC40LfRgtGA0LjRgtC40Y/RgiDRhNCw0LnQuyDigJ4lc+KAnCDQvdC1INC1INC/0YDQsNC30LXQvSIKIAotIzogYXBwbHkuYzoxODQ3CisjOiBhcHBseS5jOjE4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiogd2FybmluZzogZmlsZSAlcyBiZWNvbWVzIGVtcHR5IGJ1dCBpcyBub3QgZGVsZXRlZCIKIG1zZ3N0ciAi4pePINC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INGE0LDQudC70YrRgiDigJ4lc+KAnCDQstC10YfQtSDQtSDQv9GA0LDQt9C10L0sINC90L4g0L3QtSDQtSDQuNC30YLRgNC40YIiCiAKLSM6IGFwcGx5LmM6MTk5NAorIzogYXBwbHkuYzoxOTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgItCz0YDQtdGI0LrQsCDQsiDQtNCy0L7QuNGH0L3QsNGC0LAg0LrRgNGK0L/QutCwINC90LAg0YDQtdC0ICVkOiAlLipzIgogCi0jOiBhcHBseS5jOjIwMzEKKyM6IGFwcGx5LmM6MjAxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgItC90LXRgNCw0LfQv9C+0LfQvdCw0YLQsCDQtNCy0L7QuNGH0L3QsNGC0LAg0LrRgNGK0L/QutCwINC90LAg0YDQtdC0ICVkIgogCi0jOiBhcHBseS5jOjIxOTMKKyM6IGFwcGx5LmM6MjE3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIgogbXNnc3RyICLQutGA0YrQv9C60LDRgtCwINC1INGBINC40LfRhtGP0LvQviDQv9C+0LLRgNC10LTQtdC90Lgg0LTQsNC90L3QuCDQvdCwINGA0LXQtCAlZCIKIAotIzogYXBwbHkuYzoyMjc5CisjOiBhcHBseS5jOjIyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKIG1zZ3N0ciAi0YHQuNC80LLQvtC70L3QsNGC0LAg0LLRgNGK0LfQutCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC90LAiCiAKLSM6IGFwcGx5LmM6MjI4MworIzogYXBwbHkuYzoyMjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIG9yIHJlYWQgJXMiCiBtc2dzdHIgItGE0LDQudC70YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtCy0L7RgNC10L0g0LjQu9C4INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IGFwcGx5LmM6Mjk0MgorIzogYXBwbHkuYzoyOTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgc3RhcnQgb2YgbGluZTogJyVjJyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90L4g0L3QsNGH0LDQu9C+INC90LAg0YDQtdC0OiDigJ4lY+KAnCIKIAotIzogYXBwbHkuYzozMDYzCisjOiBhcHBseS5jOjMwNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZSkuIgogbXNnaWRfcGx1cmFsICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lcykuIgpAQCAtNDE5LDEzICs4ODcsMTMgQEAKIG1zZ3N0clsxXSAiIgogIiVkLdGC0L4g0L/QsNGA0YfQtSDQutC+0LQg0LHQtSDRg9GB0L/QtdGI0L3QviDQv9GA0LjQu9C+0LbQtdC90L4g0L3QsCDRgNC10LQgJWQgKNC+0YLQvNC10YHRgtCy0LDQvdC1INC+0YIgJWQg0YDQtdC00LApLiIKIAotIzogYXBwbHkuYzozMDc1CisjOiBhcHBseS5jOjMwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29udGV4dCByZWR1Y2VkIHRvICglbGQvJWxkKSB0byBhcHBseSBmcmFnbWVudCBhdCAlZCIKIG1zZ3N0ciAiIgogItCa0L7QvdGC0LXQutGB0YLRitGCINC1INC90LDQvNCw0LvQtdC9INC90LAgKCVsZC8lbGQpINC30LAg0L/RgNC40LvQsNCz0LDQvdC10YLQviDQvdCwINC/0LDRgNGH0LXRgtC+INC60L7QtCDQvdCwINGA0LXQtCAlZCIKIAotIzogYXBwbHkuYzozMDgxCisjOiBhcHBseS5jOjMwNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIndoaWxlIHNlYXJjaGluZyBmb3I6XG4iCkBAIC00MzQsMzE2ICs5MDIsMzEyIEBACiAi0L/RgNC4INGC0YrRgNGB0LXQvdC1INC30LA6XG4iCiAiJS4qcyIKIAotIzogYXBwbHkuYzozMTAzCisjOiBhcHBseS5jOjMwOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKIG1zZ3N0ciAi0LvQuNC/0YHQstCw0YIg0LTQsNC90L3QuNGC0LUg0LfQsCDQtNCy0L7QuNGH0L3QsNGC0LAg0LrRgNGK0L/QutCwINC30LAg4oCeJXPigJwiCiAKLSM6IGFwcGx5LmM6MzExMQorIzogYXBwbHkuYzozMTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXZlcnNlLWFwcGx5IGEgYmluYXJ5IHBhdGNoIHdpdGhvdXQgdGhlIHJldmVyc2UgaHVuayB0byAnJXMnIgogbXNnc3RyICIiCiAi0LTQstC+0LjRh9C90LDRgtCwINC60YDRitC/0LrQsCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0LjQu9C+0LbQuCDQsiDQvtCx0YDQsNGC0L3QsCDQv9C+0YHQvtC60LAsINC60L7Qs9Cw0YLQviDQvtCx0YDQsNGC0L3QvtGC0L4gIgogItC/0LDRgNGH0LUg0LfQsCDigJ4lc+KAnCDQu9C40L/RgdCy0LAiCiAKLSM6IGFwcGx5LmM6MzE1OAorIzogYXBwbHkuYzozMTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhcHBseSBiaW5hcnkgcGF0Y2ggdG8gJyVzJyB3aXRob3V0IGZ1bGwgaW5kZXggbGluZSIKIG1zZ3N0ciAi0LrRitC8IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQuNC70L7QttC4INC00LLQvtC40YfQvdCwINC60YDRitC/0LrQsCDQsdC10Lcg0L/RitC70LXQvSDQuNC90LTQtdC60YEiCiAKLSM6IGFwcGx5LmM6MzE2OAorIzogYXBwbHkuYzozMTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ0aGUgcGF0Y2ggYXBwbGllcyB0byAnJXMnICglcyksIHdoaWNoIGRvZXMgbm90IG1hdGNoIHRoZSBjdXJyZW50IGNvbnRlbnRzLiIKIG1zZ3N0ciAi0LrRgNGK0L/QutCw0YLQsCDRgdGK0L7RgtCy0LXRgtGB0YLQstCwINC90LAg4oCeJXPigJwgKCVzKSwg0LrQvtC50YLQviDQvdC1INGB0YrQstC/0LDQtNCwINC/0L4g0YHRitC00YrRgNC20LDQvdC40LUuIgogCi0jOiBhcHBseS5jOjMxNzYKKyM6IGFwcGx5LmM6MzE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgcGF0Y2ggYXBwbGllcyB0byBhbiBlbXB0eSAnJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiCiBtc2dzdHIgItC60YDRitC/0LrQsNGC0LAg0YHRitC+0YLQstC10YLRgdGC0LLQsCDQvdCwIOKAniVz4oCcLCDQutC+0LnRgtC+INGC0YDRj9Cx0LLQsCDQtNCwINC1INC/0YDQsNC30LXQvSwg0L3QviDQvdC1INC1IgogCi0jOiBhcHBseS5jOjMxOTQKKyM6IGFwcGx5LmM6MzE4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgbmVjZXNzYXJ5IHBvc3RpbWFnZSAlcyBmb3IgJyVzJyBjYW5ub3QgYmUgcmVhZCIKIG1zZ3N0ciAiIgogItC90LXQvtCx0YXQvtC00LjQvNC40Y/RgiDRgNC10LfRg9C70YLQsNGCINGB0LvQtdC0INC+0L/QtdGA0LDRhtC40Y/RgtCwICDigJQg4oCeJXPigJwg0LfQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUgIgogItC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IGFwcGx5LmM6MzIwNworIzogYXBwbHkuYzozMjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJpbmFyeSBwYXRjaCBkb2VzIG5vdCBhcHBseSB0byAnJXMnIgogbXNnc3RyICLQtNCy0L7QuNGH0L3QsNGC0LAg0LrRgNGK0L/QutCwINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0LjQu9C+0LbQtdC90LAg0LLRitGA0YXRgyDigJ4lc+KAnCIKIAotIzogYXBwbHkuYzozMjEzCisjOiBhcHBseS5jOjMyMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmluYXJ5IHBhdGNoIHRvICclcycgY3JlYXRlcyBpbmNvcnJlY3QgcmVzdWx0IChleHBlY3RpbmcgJXMsIGdvdCAlcykiCiBtc2dzdHIgIiIKICLQtNCy0L7QuNGH0L3QsNGC0LAg0LrRgNGK0L/QutCwINC30LAg4oCeJXPigJwg0LLQvtC00Lgg0LTQviDQvdC10L/RgNCw0LLQuNC70L3QuCDRgNC10LfRg9C70YLQsNGC0LggKNC+0YfQsNC60LLQsNGI0LUg0YHQtTog4oCeJXPigJwsINCwICIKICLQsdC1INC/0L7Qu9GD0YfQtdC90L46IOKAniVz4oCcKSIKIAotIzogYXBwbHkuYzozMjM0CisjOiBhcHBseS5jOjMyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0Y2ggZmFpbGVkOiAlczolbGQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDQutGA0YrQv9C60LA6IOKAniVzOiVsZOKAnCIKIAotIzogYXBwbHkuYzozMzU2CisjOiBhcHBseS5jOjMzNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZWNrb3V0ICVzIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30YLQtdCz0LvQuCIKIAotIzogYXBwbHkuYzozNDA4IGFwcGx5LmM6MzQxOSBhcHBseS5jOjM0NjUgbWlkeC5jOjU4IHNldHVwLmM6Mjc4CisjOiBhcHBseS5jOjM0MDMgYXBwbHkuYzozNDE0IGFwcGx5LmM6MzQ2MCBtaWR4LmM6NjEgc2V0dXAuYzoyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXMiCiBtc2dzdHIgItGE0LDQudC70YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogYXBwbHkuYzozNDE2CisjOiBhcHBseS5jOjM0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZGluZyBmcm9tICclcycgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAi0LjQt9GH0LjRgtCw0L3QtSDQvdCwIOKAniVz4oCcINGB0LvQtdC0INC/0YDQvtGB0LvQtdC00Y/QstCw0L3QtSDQvdCwINGB0LjQvNCy0L7Qu9C90LAg0LLRgNGK0LfQutCwIgogCi0jOiBhcHBseS5jOjM0NDUgYXBwbHkuYzozNjg4CisjOiBhcHBseS5jOjM0NDAgYXBwbHkuYzozNjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJXMgaGFzIGJlZW4gcmVuYW1lZC9kZWxldGVkIgogbXNnc3RyICLQvtCx0LXQutGC0YrRgiDRgSDQv9GK0YIg4oCeJXPigJwg0LUg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvSDQuNC70Lgg0LjQt9GC0YDQuNGCIgogCi0jOiBhcHBseS5jOjM1MzEgYXBwbHkuYzozNzAzCisjOiBhcHBseS5jOjM1MjYgYXBwbHkuYzozNjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDRgdGK0YnQtdGB0YLQstGD0LLQsCDQsiDQuNC90LTQtdC60YHQsCIKIAotIzogYXBwbHkuYzozNTQwIGFwcGx5LmM6MzcxMQorIzogYXBwbHkuYzozNTM1IGFwcGx5LmM6MzcwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZG9lcyBub3QgbWF0Y2ggaW5kZXgiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0YHRitC+0YLQstC10YLRgdGC0LLQsCDQvdCwINC40L3QtNC10LrRgdCwIgogCi0jOiBhcHBseS5jOjM1NzUKKyM6IGFwcGx5LmM6MzU3MAogbXNnaWQgInJlcG9zaXRvcnkgbGFja3MgdGhlIG5lY2Vzc2FyeSBibG9iIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgIiIKICLQsiDRhdGA0LDQvdC40LvQuNGJ0LXRgtC+INC70LjQv9GB0LLQsNGCINC90LXQvtCx0YXQvtC00LjQvNC40YLQtSDQvtCx0LXQutGC0LgtQkxPQiwg0LfQsCDQtNCwINGB0LUg0L/RgNC10LzQuNC90LUg0LrRitC8INGC0YDQvtC50L3QviAiCiAi0YHQu9C40LLQsNC90LUuIgogCi0jOiBhcHBseS5jOjM1NzgKKyM6IGFwcGx5LmM6MzU3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCiBtc2dzdHIgItCf0YDQtdC80LjQvdCw0LLQsNC90LUg0LrRitC8INGC0YDQvtC50L3QviDRgdC70LjQstCw0L3QteKAplxuIgogCi0jOiBhcHBseS5jOjM1OTQgYXBwbHkuYzozNTk4CisjOiBhcHBseS5jOjM1ODkgYXBwbHkuYzozNTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mICclcyciCiBtc2dzdHIgItGC0LXQutGD0YnQvtGC0L4g0YHRitC00YrRgNC20LDQvdC40LUg0L3QsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvdC+IgogCi0jOiBhcHBseS5jOjM2MTAKKyM6IGFwcGx5LmM6MzYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gZmFsbCBiYWNrIG9uIHRocmVlLXdheSBtZXJnZS4uLlxuIgogbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0L/RgNC10LzQuNC90LDQstCw0L3QtSDQutGK0Lwg0YLRgNC+0LnQvdC+INGB0LvQuNCy0LDQvdC14oCmXG4iCiAKLSM6IGFwcGx5LmM6MzYyNAorIzogYXBwbHkuYzozNjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyB3aXRoIGNvbmZsaWN0cy5cbiIKIG1zZ3N0ciAi0JrQvtC90YTQu9C40LrRgtC4INC/0YDQuCDQv9GA0LjQu9Cw0LPQsNC90LXRgtC+INC90LAg0LrRgNGK0L/QutCw0YLQsCDQutGK0Lwg4oCeJXPigJwuXG4iCiAKLSM6IGFwcGx5LmM6MzYyOQorIzogYXBwbHkuYzozNjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyBjbGVhbmx5LlxuIgogbXNnc3RyICLQmtGA0YrQv9C60LDRgtCwINCx0LUg0L/RgNC40LvQvtC20LXQvdCwINGH0LjRgdGC0L4g0LrRitC8IOKAniVz4oCcLlxuIgogCi0jOiBhcHBseS5jOjM2NTUKKyM6IGFwcGx5LmM6MzY1MAogbXNnaWQgInJlbW92YWwgcGF0Y2ggbGVhdmVzIGZpbGUgY29udGVudHMiCiBtc2dzdHIgItC40LfRgtGA0LjQstCw0YnQsNGC0LAg0LrRgNGK0L/QutCwINC+0YHRgtCw0LLRjyDRhNCw0LnQu9CwINC90LXQv9GA0LDQt9C10L0iCiAKLSM6IGFwcGx5LmM6MzcyOAorIzogYXBwbHkuYzozNzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgogbXNnc3RyICLigJ4lc+KAnDog0L3QtdC/0YDQsNCy0LjQu9C10L0g0LLQuNC0IgogCi0jOiBhcHBseS5jOjM3MzAKKyM6IGFwcGx5LmM6MzcyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCiBtc2dzdHIgIuKAniVz4oCcINC1INC+0YIg0LLQuNC0IOKAniVv4oCcLCDQsCDRgdC1INC+0YfQsNC60LLQsNGI0LUg4oCeJW/igJwiCiAKLSM6IGFwcGx5LmM6Mzg4MSBhcHBseS5jOjM4ODMKKyM6IGFwcGx5LmM6Mzg3NiBhcHBseS5jOjM4NzggcmVhZC1jYWNoZS5jOjgzMCByZWFkLWNhY2hlLmM6ODU2CisjOiByZWFkLWNhY2hlLmM6MTMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHBhdGggJyVzJyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0L/RitGCOiDigJ4lc+KAnCIKIAotIzogYXBwbHkuYzozOTM5CisjOiBhcHBseS5jOjM5MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIGluZGV4IgogbXNnc3RyICLigJ4lc+KAnDog0LLQtdGH0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAg0LIg0LjQvdC00LXQutGB0LAiCiAKLSM6IGFwcGx5LmM6Mzk0MgorIzogYXBwbHkuYzozOTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAi4oCeJXPigJw6INCy0LXRh9C1INGB0YrRidC10YHRgtCy0YPQstCwINCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+IgogCi0jOiBhcHBseS5jOjM5NjIKKyM6IGFwcGx5LmM6Mzk1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykiCiBtc2dzdHIgItC90L7QstC40YLQtSDQv9GA0LDQstCwINC30LAg0LTQvtGB0YLRitC/ICglbykg0L3QsCDigJ4lc+KAnCDQvdC1INGB0YrQstC/0LDQtNCw0YIg0YHRitGBINGB0YLQsNGA0LjRgtC1ICglbykiCiAKLSM6IGFwcGx5LmM6Mzk2NworIzogYXBwbHkuYzozOTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKIG1zZ3N0ciAiIgogItC90L7QstC40YLQtSDQv9GA0LDQstCwINC30LAg0LTQvtGB0YLRitC/ICglbykg0L3QsCDigJ4lc+KAnCDQvdC1INGB0YrQstC/0LDQtNCw0YIg0YHRitGBINGB0YLQsNGA0LjRgtC1ICglbykg0L3QsCDigJ4lc+KAnCIKIAotIzogYXBwbHkuYzozOTg3CisjOiBhcHBseS5jOjM5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWZmZWN0ZWQgZmlsZSAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgItC30LDRgdC10LPQvdCw0YLQuNGP0YIg0YTQsNC50Lsg4oCeJXPigJwg0LUg0YHQu9C10LQg0YHQuNC80LLQvtC70L3QsCDQstGA0YrQt9C60LAiCiAKLSM6IGFwcGx5LmM6Mzk5MQorIzogYXBwbHkuYzozOTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXRjaCBkb2VzIG5vdCBhcHBseSIKIG1zZ3N0ciAi0JrRgNGK0L/QutCw0YLQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC40LvQvtC20LXQvdCwIgogCi0jOiBhcHBseS5jOjQwMDYKKyM6IGFwcGx5LmM6NDAwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKIG1zZ3N0ciAi0J/RgNC+0LLQtdGA0Y/QstCw0L3QtSDQvdCwINC60YDRitC/0LrQsNGC0LAg4oCeJXPigJzigKYiCiAKLSM6IGFwcGx5LmM6NDA5OAorIzogYXBwbHkuYzo0MDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzIGZvciBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIiIKICLQuNC90YTQvtGA0LzQsNGG0LjRj9GC0LAg0LfQsCDRgdGD0LzQsNGC0LAg0L/QviBTSEExINC30LAg0L/QvtC00LzQvtC00YPQu9CwINC70LjQv9GB0LLQsCDQuNC70Lgg0L3QtSDQtSDQtNC+0YHRgtCw0YLRitGH0L3QsCAoJXMpLiIKIAotIzogYXBwbHkuYzo0MTA1CisjOiBhcHBseS5jOjQxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9kZSBjaGFuZ2UgZm9yICVzLCB3aGljaCBpcyBub3QgaW4gY3VycmVudCBIRUFEIgogbXNnc3RyICLRgdC80Y/QvdCwINC90LAg0YDQtdC20LjQvNCwINC90LAg0LTQvtGB0YLRitC/0LAg0L3QsCDigJ4lc+KAnCwg0LrQvtC50YLQviDQvdC1INC1INCyINGC0LXQutGD0YnQuNGPINCy0YDRitGFIOKAnkhFQUTigJwiCiAKLSM6IGFwcGx5LmM6NDEwOAorIzogYXBwbHkuYzo0MTAzCiAjLCBjLWZvcm1hdAogbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzICglcykuIgogbXNnc3RyICLQuNC90YTQvtGA0LzQsNGG0LjRj9GC0LAg0LfQsCDRgdGD0LzQsNGC0LAg0L/QviBTSEExINC70LjQv9GB0LLQsCDQuNC70Lgg0L3QtSDQtSDQtNC+0YHRgtCw0YLRitGH0L3QsCAoJXMpLiIKIAotIzogYXBwbHkuYzo0MTEzIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDQgYnVpbHRpbi9yZXNldC5jOjE0MgotIywgYy1mb3JtYXQKLW1zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgotbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0YHRitC30LTQsNCy0LDQvdC1INC90LAg0LfQsNC/0LjRgSDQsiDQutC10YjQsCDRh9GA0LXQtyDigJ5tYWtlX2NhY2hlX2VudHJ54oCcINC30LAg4oCeJXPigJwiCi0KLSM6IGFwcGx5LmM6NDExNworIzogYXBwbHkuYzo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhZGQgJXMgdG8gdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQtNC+0LHQsNCy0Lgg0LrRitC8INCy0YDQtdC80LXQvdC90LjRjyDQuNC90LTQtdC60YEiCiAKLSM6IGFwcGx5LmM6NDEyNworIzogYXBwbHkuYzo0MTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggdG8gJXMiCiBtc2dzdHIgItCy0YDQtdC80LXQvdC90LjRj9GCINC40L3QtNC10LrRgSDQvdC1INC80L7QttC1INC00LAg0YHQtSDQt9Cw0L/QsNC30Lgg0LIg4oCeJXPigJwiCiAKLSM6IGFwcGx5LmM6NDI2NQorIzogYXBwbHkuYzo0MjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9Cy0LDQtNC4INC+0YIg0LjQvdC00LXQutGB0LAiCiAKLSM6IGFwcGx5LmM6NDI5OQorIzogYXBwbHkuYzo0Mjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAi0L/QvtCy0YDQtdC00LXQvdCwINC60YDRitC/0LrQsCDQt9CwINC80L7QtNGD0LvQsCDigJ4lc+KAnCIKIAotIzogYXBwbHkuYzo0MzA1CisjOiBhcHBseS5jOjQzMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgbmV3bHkgY3JlYXRlZCBmaWxlICclcyciCiBtc2dzdHIgIiIKICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9C+0LvRg9GH0Lgg0LjQvdGE0L7RgNC80LDRhtC40Y8g0YfRgNC10Lcg4oCec3RhdOKAnCDQt9CwINC90L7QstC+0YHRitC30LTQsNC00LXQvdC40Y8g0YTQsNC50Lsg4oCeJXPigJwiCiAKLSM6IGFwcGx5LmM6NDMxMworIzogYXBwbHkuYzo0MzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgogbXNnc3RyICIiCiAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsCDRgdGK0LfQtNCw0LTQtSDQvNGP0YHRgtC+0YLQviDQt9CwINGB0YrRhdGA0LDQvdC10L3QuNC1INC90LAg0L3QvtCy0L7RgdGK0LfQtNCw0LTQtdC90LjRjyDRhNCw0LnQuyDigJ4lc+KAnCIKIAotIzogYXBwbHkuYzo0MzE5IGFwcGx5LmM6NDQ2NAorIzogYXBwbHkuYzo0MzE0IGFwcGx5LmM6NDQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LTQvtCx0LDQstC4INC30LDQv9C40YEg0LIg0LrQtdGI0LAg0LfQsCDigJ4lc+KAnCIKIAotIzogYXBwbHkuYzo0MzYyCisjOiBhcHBseS5jOjQzNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIHRvICclcyciCiBtc2dzdHIgItCyIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0LjRiNC1IgogCi0jOiBhcHBseS5jOjQzNjYKKyM6IGFwcGx5LmM6NDM2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKIG1zZ3N0ciAi0LfQsNGC0LLQsNGA0Y/QvdC1INC90LAg0YTQsNC50LvQsCDigJ4lc+KAnCIKIAotIzogYXBwbHkuYzo0NDM2CisjOiBhcHBseS5jOjQ0MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJyVzJyBtb2RlICVvIgogbXNnc3RyICLRhNCw0LnQu9GK0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsNC/0LjRiNC1INGBINGA0LXQttC40Lwg0L3QsCDQtNC+0YHRgtGK0L8g4oCeJW/igJwiCiAKLSM6IGFwcGx5LmM6NDUzNAorIzogYXBwbHkuYzo0NTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggJXMgY2xlYW5seS4iCiBtc2dzdHIgItCa0YDRitC/0LrQsNGC0LAg4oCeJXPigJwg0LHQtSDQv9GA0LjQu9C+0LbQtdC90LAg0YfQuNGB0YLQvi4iCiAKLSM6IGFwcGx5LmM6NDU0MgorIzogYXBwbHkuYzo0NTM3CiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IiCiBtc2dzdHIgItCy0YrRgtGA0LXRiNC90LAg0LPRgNC10YjQutCwIgogCi0jOiBhcHBseS5jOjQ1NDUKKyM6IGFwcGx5LmM6NDU0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCiBtc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCiBtc2dzdHJbMF0gItCf0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC60YDRitC/0LrQsNGC0LAg4oCeJSVz4oCcINGBICVkINC+0YLRhdCy0YrRgNC70LXQvdC+INC/0LDRgNGH0LXigKYiCiBtc2dzdHJbMV0gItCf0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC60YDRitC/0LrQsNGC0LAg4oCeJSVz4oCcINGBICVkINC+0YLRhdCy0YrRgNC70LXQvdC4INC/0LDRgNGH0LXRgtCw4oCmIgogCi0jOiBhcHBseS5jOjQ1NTYKKyM6IGFwcGx5LmM6NDU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCiBtc2dzdHIgItGB0YrQutGA0LDRidCw0LLQsNC90LUg0L3QsCDQuNC80LXRgtC+INC90LAg0YTQsNC50LvQsCDRgSDQvtGC0YXQstGK0YDQu9C10L3QuNGC0LUg0L/QsNGA0YfQtdGC0LAg0L3QsCDigJ4gJS4qcy5yZWrigJwiCiAKLSM6IGFwcGx5LmM6NDU2NCBidWlsdGluL2ZldGNoLmM6ODQzIGJ1aWx0aW4vZmV0Y2guYzoxMTIyCisjOiBhcHBseS5jOjQ1NTkgYnVpbHRpbi9mZXRjaC5jOjkwMSBidWlsdGluL2ZldGNoLmM6MTE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQstC+0YDQtdC9IgogCi0jOiBhcHBseS5jOjQ1NzgKKyM6IGFwcGx5LmM6NDU3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJIdW5rICMlZCBhcHBsaWVkIGNsZWFubHkuIgogbXNnc3RyICIlZC3RgtC+INC/0LDRgNGH0LUg0LHQtSDRg9GB0L/QtdGI0L3QviDQv9GA0LjQu9C+0LbQtdC90L4uIgogCi0jOiBhcHBseS5jOjQ1ODIKKyM6IGFwcGx5LmM6NDU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWplY3RlZCBodW5rICMlZC4iCiBtc2dzdHIgIiVkLdGC0L4g0L/QsNGA0YfQtSDQsdC1INC+0YLRhdCy0YrRgNC70LXQvdC+LiIKIAotIzogYXBwbHkuYzo0NjkyCisjOiBhcHBseS5jOjQ2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBlZCBwYXRjaCAnJXMnLiIKIG1zZ3N0ciAi0J/RgNC+0L/Rg9GB0L3QsNGC0LAg0LrRgNGK0L/QutCwOiDigJ4lc+KAnCIKIAotIzogYXBwbHkuYzo0NzAwCisjOiBhcHBseS5jOjQ3MDQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQiCiBtc2dzdHIgItC90LXQv9C+0LfQvdCw0YIg0LLRhdC+0LQiCiAKLSM6IGFwcGx5LmM6NDcxOQorIzogYXBwbHkuYzo0NzI0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKIG1zZ3N0ciAi0LjQvdC00LXQutGB0YrRgiDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LjRgdCw0L0iCiAKLSM6IGFwcGx5LmM6NDg3NAorIzogYXBwbHkuYzo0ODgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJzogJXMiCiBtc2dzdHIgItC60YDRitC/0LrQsNGC0LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQstC+0YDQtdC90LA6ICVzIgogCi0jOiBhcHBseS5jOjQ5MDEKKyM6IGFwcGx5LmM6NDkwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvciIKIG1zZ2lkX3BsdXJhbCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3JzIgogbXNnc3RyWzBdICLQv9GA0LXQvdC10LHRgNC10LPQvdCw0YLQsCDQtSAlZCDQs9GA0LXRiNC60LAg0LIg0LfQvdCw0YbQuNGC0LUg0LfQsCDQuNC90YLQtdGA0LLQsNC70LgiCiBtc2dzdHJbMV0gItC/0YDQtdC90LXQsdGA0LXQs9C90LDRgtC4INGB0LAgJWQg0LPRgNC10YjQutC4INCyINC30L3QsNGG0LjRgtC1INC30LAg0LjQvdGC0LXRgNCy0LDQu9C4IgogCi0jOiBhcHBseS5jOjQ5MDcgYXBwbHkuYzo0OTIyCisjOiBhcHBseS5jOjQ5MTQgYXBwbHkuYzo0OTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkIGxpbmUgYWRkcyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFkZCB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dzdHJbMF0gIiVkINGA0LXQtCDQtNC+0LHQsNCy0Y8g0LPRgNC10YjQutC4INCyINC30L3QsNGG0LjRgtC1INC30LAg0LjQvdGC0LXRgNCy0LDQu9C4LiIKIG1zZ3N0clsxXSAiJWQg0YDQtdC00LAg0LTQvtCx0LDQstGP0YIg0LPRgNC10YjQutC4INCyINC30L3QsNGG0LjRgtC1INC30LAg0LjQvdGC0LXRgNCy0LDQu9C4LiIKIAotIzogYXBwbHkuYzo0OTE1CisjOiBhcHBseS5jOjQ5MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQgbGluZSBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKQEAgLTc1MiwxNDUgKzEyMTYsMTM1IEBACiBtc2dzdHJbMV0gIiIKICLQlNC+0LHQsNCy0LXQvdC4INGB0LAgJWQg0YDQtdC00LAg0YHQu9C10LQg0LrQvtGA0LXQutGG0LjRj9GC0LAg0L3QsCDQs9GA0LXRiNC60LjRgtC1INCyINC30L3QsNGG0LjRgtC1INC30LAg0LjQvdGC0LXRgNCy0LDQu9C4LiIKIAotIzogYXBwbHkuYzo0OTMxIGJ1aWx0aW4vYWRkLmM6NTM4IGJ1aWx0aW4vbXYuYzozMDAgYnVpbHRpbi9ybS5jOjM4OQorIzogYXBwbHkuYzo0OTM4IGJ1aWx0aW4vYWRkLmM6NTc5IGJ1aWx0aW4vbXYuYzozMDEgYnVpbHRpbi9ybS5jOjM5MAogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAi0J3QvtCy0LjRj9GCINC40L3QtNC10LrRgSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LjRgdCw0L0iCiAKLSM6IGFwcGx5LmM6NDk1OCBhcHBseS5jOjQ5NjEgYnVpbHRpbi9hbS5jOjIyMDkgYnVpbHRpbi9hbS5jOjIyMTIKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjExOCBidWlsdGluL21lcmdlLmM6MjYyCi0jOiBidWlsdGluL3B1bGwuYzoxOTkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNgotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjUKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODQ2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODQ5Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjA4OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwotbXNnaWQgInBhdGgiCi1tc2dzdHIgItC/0YrRgiIKLQotIzogYXBwbHkuYzo0OTU5CisjOiBhcHBseS5jOjQ5NjYKIG1zZ2lkICJkb24ndCBhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgogbXNnc3RyICLQsdC10Lcg0L/RgNC40LvQsNCz0LDQvdC1INC90LAg0L/RgNC+0LzQtdC90LjRgtC1INC90LDQv9Cw0YHQstCw0YnQuCDQvdCwINC00LDQtNC10L3QuNGPINC/0YrRgiIKIAotIzogYXBwbHkuYzo0OTYyCisjOiBhcHBseS5jOjQ5NjkKIG1zZ2lkICJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgogbXNnc3RyICLQv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDQv9GA0L7QvNC10L3QuNGC0LUg0L3QsNC/0LDRgdCy0LDRidC4INC90LAg0LTQsNC00LXQvdC40Y8g0L/RitGCIgogCi0jOiBhcHBseS5jOjQ5NjQgYnVpbHRpbi9hbS5jOjIyMTgKKyM6IGFwcGx5LmM6NDk3MSBidWlsdGluL2FtLmM6MjIwNgogbXNnaWQgIm51bSIKIG1zZ3N0ciAi0JHQoNCe0JkiCiAKLSM6IGFwcGx5LmM6NDk2NQorIzogYXBwbHkuYzo0OTcyCiBtc2dpZCAicmVtb3ZlIDxudW0+IGxlYWRpbmcgc2xhc2hlcyBmcm9tIHRyYWRpdGlvbmFsIGRpZmYgcGF0aHMiCiBtc2dzdHIgItC/0YDQtdC80LDRhdCy0LDQvdC1INC90LAg0YLQvtC30Lgg0JHQoNCe0Jkg0LLQvtC00LXRidC4INC10LvQtdC80LXQvdGC0Lgg0L7RgiDQv9GK0YLQuNGJ0LDRgtCwINCyINGA0LDQt9C70LjQutCw0YLQsCIKIAotIzogYXBwbHkuYzo0OTY4CisjOiBhcHBseS5jOjQ5NzUKIG1zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNCw0L3QtSDQvdCwINGA0LXQtNC+0LLQtdGC0LUg0LTQvtCx0LDQstC10L3QuCDQvtGCINGC0LDQt9C4INC60YDRitC/0LrQsCIKIAotIzogYXBwbHkuYzo0OTcwCisjOiBhcHBseS5jOjQ5NzcKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGRpZmZzdGF0IGZvciB0aGUgaW5wdXQiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0YLQsNGC0LjRgdGC0LjQutCwINC90LAg0L/RgNC+0LzQtdC90LjRgtC1INCx0LXQtyDQv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDQutGA0YrQv9C60LDRgtCwIgogCi0jOiBhcHBseS5jOjQ5NzQKKyM6IGFwcGx5LmM6NDk4MQogbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINCx0YDQvtGPINC90LAg0LTQvtCx0LDQstC10L3QuNGC0LUg0Lgg0LjQt9GC0YDQuNGC0LjRgtC1INGA0LXQtNC+0LLQtSIKIAotIzogYXBwbHkuYzo0OTc2CisjOiBhcHBseS5jOjQ5ODMKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdGC0LDRgtC40YHRgtC40LrQsCDQvdCwINCy0YXQvtC00L3QuNGC0LUg0LTQsNC90L3QuCDQsdC10Lcg0L/RgNC40LvQsNCz0LDQvdC1INC90LAg0LrRgNGK0L/QutCw0YLQsCIKIAotIzogYXBwbHkuYzo0OTc4CisjOiBhcHBseS5jOjQ5ODUKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgc2VlIGlmIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIgogbXNnc3RyICLQv9GA0L7QstC10YDQutCwINC00LDQu9C4INC60YDRitC/0LrQsNGC0LAg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQuNC70L7QttC4LCDQsdC10Lcg0LTQtdC50YHRgtCy0LjRgtC10LvQvdC+INC/0YDQuNC70LDQs9Cw0L3QtSIKIAotIzogYXBwbHkuYzo0OTgwCisjOiBhcHBseS5jOjQ5ODcKIG1zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCiBtc2dzdHIgItC/0YDQvtCy0LXRgNC60LAg0LTQsNC70Lgg0LrRgNGK0L/QutCw0YLQsCDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQuNC70L7QttC10L3QsCDQutGK0Lwg0YLQtdC60YPRidC40Y8g0LjQvdC00LXQutGBIgogCi0jOiBhcHBseS5jOjQ5ODIKKyM6IGFwcGx5LmM6NDk4OQogbXNnaWQgIm1hcmsgbmV3IGZpbGVzIHdpdGggYGdpdCBhZGQgLS1pbnRlbnQtdG8tYWRkYCIKIG1zZ3N0ciAi0L7RgtCx0LXQu9GP0LfQstCw0L3QtSDQvdCwINC90L7QstC40YLQtSDRhNCw0LnQu9C+0LLQtSDRgSDigJ5naXQgYWRkIC0taW50ZW50LXRvLWFkZOKAnCIKIAotIzogYXBwbHkuYzo0OTg0CisjOiBhcHBseS5jOjQ5OTEKIG1zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi0L/RgNC40LvQsNCz0LDQvdC1INC90LAg0LrRgNGK0L/QutCw0YLQsCDQsdC10Lcg0L/RgNC+0LzRj9C90LAg0L3QsCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviIKIAotIzogYXBwbHkuYzo0OTg2CisjOiBhcHBseS5jOjQ5OTMKIG1zZ2lkICJhY2NlcHQgYSBwYXRjaCB0aGF0IHRvdWNoZXMgb3V0c2lkZSB0aGUgd29ya2luZyBhcmVhIgogbXNnc3RyICLQv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDQutGA0YrQv9C60LAsINC60L7Rj9GC0L4g0L/RgNC+0LzQtdC90Y8g0Lgg0YTQsNC50LvQvtCy0LUg0LjQt9Cy0YrQvSDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviIKIAotIzogYXBwbHkuYzo0OTg5CisjOiBhcHBseS5jOjQ5OTYKIG1zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKIG1zZ3N0ciAiIgogItC60YDRitC/0LrQsNGC0LAg0LTQsCDQsdGK0LTQtSDQv9GA0LjQu9C+0LbQtdC90LAuICDQntC/0YbQuNGP0YLQsCDRgdC1INC60L7QvNCx0LjQvdC40YDQsCDRgSDigJ4tLWNoZWNr4oCcL+KAni0tc3RhdOKAnC/igJ4tLSIKICJzdW1tYXJ54oCcIgogCi0jOiBhcHBseS5jOjQ5OTEKKyM6IGFwcGx5LmM6NDk5OAogbXNnaWQgImF0dGVtcHQgdGhyZWUtd2F5IG1lcmdlIGlmIGEgcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgItC/0YDQvtCx0LLQsNC90LUg0YEg0YLRgNC+0LnQvdC+INGB0LvQuNCy0LDQvdC1LCDQsNC60L4g0LrRgNGK0L/QutCw0YLQsCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0LjQu9C+0LbQuCDQtNC40YDQtdC60YLQvdC+IgogCi0jOiBhcHBseS5jOjQ5OTMKKyM6IGFwcGx5LmM6NTAwMAogbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgogbXNnc3RyICIiCiAi0YHRitC30LTQsNCy0LDQvdC1INC90LAg0LLRgNC10LzQtdC90LXQvSDQuNC90LTQtdC60YEg0L3QsCDQsdCw0LfQsCDQvdCwINCy0LrQu9GO0YfQtdC90LDRgtCwINC40L3RhNC+0YDQvNCw0YbQuNGPINC30LAg0LjQvdC00LXQutGB0LAiCiAKLSM6IGFwcGx5LmM6NDk5NiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcwIGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjMKKyM6IGFwcGx5LmM6NTAwMyBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTczIGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjQKIG1zZ2lkICJwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAi0YDQsNC30LTQtdC70Y/QvdC1INC90LAg0L/RitGC0LjRidCw0YLQsCDRgSDQvdGD0LvQtdCy0LjRjyDQt9C90LDQuiDigJ5OVUzigJwiCiAKLSM6IGFwcGx5LmM6NDk5OAorIzogYXBwbHkuYzo1MDA1CiBtc2dpZCAiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIgogbXNnc3RyICLQtNCwINGB0LUg0L7RgdC40LPRg9GA0Lgg0LrQvtC90YLQtdC60YHRgiDQvtGCINC/0L7QvdC1INGC0LDQutGK0LIg0JHQoNCe0Jkg0YHRitCy0L/QsNC00LDRidC4INGA0LXQtNC+0LLQtSIKIAotIzogYXBwbHkuYzo0OTk5IGJ1aWx0aW4vYW0uYzoyMTk3IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTcKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTkgYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDEKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxMiBidWlsdGluL3JlYmFzZS5jOjg1NworIzogYXBwbHkuYzo1MDA2IGJ1aWx0aW4vYW0uYzoyMTg1IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTgKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAwIGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTAgYnVpbHRpbi9yZWJhc2UuYzoxNDc0CiBtc2dpZCAiYWN0aW9uIgogbXNnc3RyICLQtNC10LnRgdGC0LLQuNC1IgogCi0jOiBhcHBseS5jOjUwMDAKKyM6IGFwcGx5LmM6NTAwNwogbXNnaWQgImRldGVjdCBuZXcgb3IgbW9kaWZpZWQgbGluZXMgdGhhdCBoYXZlIHdoaXRlc3BhY2UgZXJyb3JzIgogbXNnc3RyICLQt9Cw0YHQuNGH0LDQvdC1INC90LAg0L3QvtCy0Lgg0LjQu9C4INC/0YDQvtC80LXQvdC10L3QuCDRgNC10LTQvtCy0LUg0YEg0LPRgNC10YjQutC4INCyINC30L3QsNGG0LjRgtC1INC30LAg0LjQvdGC0LXRgNCy0LDQu9C4IgogCi0jOiBhcHBseS5jOjUwMDMgYXBwbHkuYzo1MDA2CisjOiBhcHBseS5jOjUwMTAgYXBwbHkuYzo1MDEzCiBtc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKIG1zZ3N0ciAiIgogItC40LPQvdC+0YDQuNGA0LDQvdC1INC90LAg0L/RgNC+0LzQtdC90LjRgtC1INCyINC30L3QsNGG0LjRgtC1INC30LAg0LjQvdGC0LXRgNCy0LDQu9C4INC/0YDQuCDQvtGC0LrRgNC40LLQsNC90LUg0L3QsCDQutC+0L3RgtC10LrRgdGC0LAiCiAKLSM6IGFwcGx5LmM6NTAwOQorIzogYXBwbHkuYzo1MDE2CiBtc2dpZCAiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiCiBtc2dzdHIgItC/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC60YDRitC/0LrQsNGC0LAg0LIg0L7QsdGA0LDRgtC90LAg0L/QvtGB0L7QutCwIgogCi0jOiBhcHBseS5jOjUwMTEKKyM6IGFwcGx5LmM6NTAxOAogbXNnaWQgImRvbid0IGV4cGVjdCBhdCBsZWFzdCBvbmUgbGluZSBvZiBjb250ZXh0IgogbXNnc3RyICLQsdC10Lcg0LjQt9C40YHQutCy0LDQvdC1INC90LAg0LTQvtGA0Lgg0Lgg0LXQtNC40L0g0YDQtdC0INC60L7QvdGC0LXQutGB0YIiCiAKLSM6IGFwcGx5LmM6NTAxMworIzogYXBwbHkuYzo1MDIwCiBtc2dpZCAibGVhdmUgdGhlIHJlamVjdGVkIGh1bmtzIGluIGNvcnJlc3BvbmRpbmcgKi5yZWogZmlsZXMiCiBtc2dzdHIgItC+0YHRgtCw0LLRj9C90LUg0L3QsCDQvtGC0YXQstGK0YDQu9C10L3QuNGC0LUg0L/QsNGA0YfQtdGC0LAg0LLRitCyINGE0LDQudC70L7QstC1INGBINGA0LDQt9GI0LjRgNC10L3QuNC1IOKAni5yZWrigJwiCiAKLSM6IGFwcGx5LmM6NTAxNQorIzogYXBwbHkuYzo1MDIyCiBtc2dpZCAiYWxsb3cgb3ZlcmxhcHBpbmcgaHVua3MiCiBtc2dzdHIgItC/0L7Qt9Cy0L7Qu9GP0LLQsNC90LUg0L3QsCDQt9Cw0YHRgtGK0L/QstCw0YnQuCDRgdC1INC/0LDRgNGH0LXRgtCwIgogCi0jOiBhcHBseS5jOjUwMTYgYnVpbHRpbi9hZGQuYzoyOTAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMQotIzogYnVpbHRpbi9jb21taXQuYzoxMzA5IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk4IGJ1aWx0aW4vZnNjay5jOjY5OAotIzogYnVpbHRpbi9sb2cuYzoyMDIzIGJ1aWx0aW4vbXYuYzoxMjIgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjcKLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1NworIzogYXBwbHkuYzo1MDIzIGJ1aWx0aW4vYWRkLmM6MzA5IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NSBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5OCBidWlsdGluL2ZzY2suYzo3NzQKKyM6IGJ1aWx0aW4vbG9nLmM6MjE2NiBidWlsdGluL212LmM6MTIzIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI4CiBtc2dpZCAiYmUgdmVyYm9zZSIKIG1zZ3N0ciAi0L/QvtCy0LXRh9C1INC/0L7QtNGA0L7QsdC90L7RgdGC0LgiCiAKLSM6IGFwcGx5LmM6NTAxOAorIzogYXBwbHkuYzo1MDI1CiBtc2dpZCAidG9sZXJhdGUgaW5jb3JyZWN0bHkgZGV0ZWN0ZWQgbWlzc2luZyBuZXctbGluZSBhdCB0aGUgZW5kIG9mIGZpbGUiCiBtc2dzdHIgItC/0YDQtdC90LXQsdGA0LXQs9Cy0LDQvdC1INC90LAg0L3QtdC/0YDQsNCy0LjQu9C90L4g0LvQuNC/0YHQstCw0Ykg0LfQvdCw0Log0LfQsCDQvdC+0LIg0YDQtdC0INCyINC60YDQsNGPINC90LAg0YTQsNC50LsiCiAKLSM6IGFwcGx5LmM6NTAyMQorIzogYXBwbHkuYzo1MDI4CiBtc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgogbXNnc3RyICLQsdC10Lcg0LTQvtCy0LXRgNGP0LLQsNC90LUg0L3QsCDQvdC+0LzQtdGA0LDRgtCwINC90LAg0YDQtdC00L7QstC10YLQtSDQsiDQt9Cw0LPQu9Cw0LLQvdC40YLQtSDRh9Cw0YHRgtC4INC90LAg0L/QsNGA0YfQtdGC0LDRgtCwIgogCi0jOiBhcHBseS5jOjUwMjMgYnVpbHRpbi9hbS5jOjIyMDYKKyM6IGFwcGx5LmM6NTAzMCBidWlsdGluL2FtLmM6MjE5NAogbXNnaWQgInJvb3QiCiBtc2dzdHIgItCd0JDQp9CQ0JvQndCQX9CU0JjQoNCV0JrQotCe0KDQmNCvIgogCi0jOiBhcHBseS5jOjUwMjQKKyM6IGFwcGx5LmM6NTAzMQogbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDRgtCw0LfQuCDQndCQ0KfQkNCb0J3QkF/QlNCY0KDQldCa0KLQntCg0JjQryDQutGK0Lwg0LjQvNC10L3QsNGC0LAg0L3QsCDQstGB0LjRh9C60Lgg0YTQsNC50LvQvtCy0LUiCiAKQEAgLTkxMywxNDggKzEzNjcsMTY4IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUg0KXQoNCQ0J3QmNCb0JjQqdCVIFstLWV4ZWMg0JrQntCc0JDQndCU0JBdIC0tbGlzdCIKIAotIzogYXJjaGl2ZS5jOjM3MCBidWlsdGluL2FkZC5jOjE3NiBidWlsdGluL2FkZC5jOjUxNCBidWlsdGluL3JtLmM6Mjk4CisjOiBhcmNoaXZlLmM6MzcyIGJ1aWx0aW4vYWRkLmM6MTgwIGJ1aWx0aW4vYWRkLmM6NTU1IGJ1aWx0aW4vcm0uYzoyOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKIG1zZ3N0ciAi0L/RitGC0Y/RgiDigJ4lc+KAnCDQvdC1INGB0YrQstC/0LDQtNCwINGBINC90LjQutC+0Lkg0YTQsNC50LsiCiAKLSM6IGFyY2hpdmUuYzo0NTMKKyM6IGFyY2hpdmUuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCByZWY6ICUuKnMiCittc2dzdHIgItGC0LDQutGK0LIg0YPQutCw0LfQsNGC0LXQuyDQvdGP0LzQsDogJS4qcyIKKworIzogYXJjaGl2ZS5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJXMiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdC+INC40LzQtSDQvdCwINC+0LHQtdC60YI6IOKAniVz4oCcIgorCisjOiBhcmNoaXZlLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHRyZWUgb2JqZWN0OiAlcyIKK21zZ3N0ciAi0L3QtSDQtSDQvtCx0LXQutGCLdC00YrRgNCy0L46ICVzIgorCisjOiBhcmNoaXZlLmM6NDI2Cittc2dpZCAiY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBpcyB1bnRyYWNrZWQiCittc2dzdHIgItGC0LXQutGD0YnQsNGC0LAg0YDQsNCx0L7RgtC90LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0L3QtSDQtSDRgdC70LXQtNC10L3QsCIKKworIzogYXJjaGl2ZS5jOjQ1NwogbXNnaWQgImZtdCIKIG1zZ3N0ciAi0KTQntCg0JzQkNCiIgogCi0jOiBhcmNoaXZlLmM6NDUzCisjOiBhcmNoaXZlLmM6NDU3CiBtc2dpZCAiYXJjaGl2ZSBmb3JtYXQiCiBtc2dzdHIgItCk0J7QoNCc0JDQoiDQvdCwINCw0YDRhdC40LLQsCIKIAotIzogYXJjaGl2ZS5jOjQ1NCBidWlsdGluL2xvZy5jOjE1MzYKKyM6IGFyY2hpdmUuYzo0NTggYnVpbHRpbi9sb2cuYzoxNjUzCiBtc2dpZCAicHJlZml4IgogbXNnc3RyICLQn9Cg0JXQpNCY0JrQoSIKIAotIzogYXJjaGl2ZS5jOjQ1NQorIzogYXJjaGl2ZS5jOjQ1OQogbXNnaWQgInByZXBlbmQgcHJlZml4IHRvIGVhY2ggcGF0aG5hbWUgaW4gdGhlIGFyY2hpdmUiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDRgtC+0LfQuCDQn9Cg0JXQpNCY0JrQoSDQutGK0Lwg0LLRgdC10LrQuCDQv9GK0YIg0LIg0LDRgNGF0LjQstCwIgogCi0jOiBhcmNoaXZlLmM6NDU2IGJ1aWx0aW4vYmxhbWUuYzo4MjAgYnVpbHRpbi9ibGFtZS5jOjgyMSBidWlsdGluL2NvbmZpZy5jOjEyOQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTMgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTUgYnVpbHRpbi9ncmVwLmM6ODg0Ci0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA0IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTkgYnVpbHRpbi9scy1maWxlcy5jOjU2MgotIzogYnVpbHRpbi9ub3Rlcy5jOjQxMiBidWlsdGluL25vdGVzLmM6NTc1IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIyCi0jOiBwYXJzZS1vcHRpb25zLmg6MTYyCisjOiBhcmNoaXZlLmM6NDYwIGJ1aWx0aW4vYmxhbWUuYzo4NjEgYnVpbHRpbi9ibGFtZS5jOjg2NSBidWlsdGluL2JsYW1lLmM6ODY2CisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTE3IGJ1aWx0aW4vY29uZmlnLmM6MTI5IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTYyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2NCBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2OCBidWlsdGluL2dyZXAuYzo4OTkKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDUgYnVpbHRpbi9scy1maWxlcy5jOjU2MCBidWlsdGluL2xzLWZpbGVzLmM6NTYzCisjOiBidWlsdGluL25vdGVzLmM6NDEyIGJ1aWx0aW4vbm90ZXMuYzo1NzggYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjMKKyM6IHBhcnNlLW9wdGlvbnMuaDoxOTAKIG1zZ2lkICJmaWxlIgogbXNnc3RyICLQpNCQ0JnQmyIKIAotIzogYXJjaGl2ZS5jOjQ1NyBidWlsdGluL2FyY2hpdmUuYzo4OQorIzogYXJjaGl2ZS5jOjQ2MSBidWlsdGluL2FyY2hpdmUuYzo5MAogbXNnaWQgIndyaXRlIHRoZSBhcmNoaXZlIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAi0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0LDRgNGF0LjQstCwINCyINGC0L7Qt9C4INCk0JDQmdCbIgogCi0jOiBhcmNoaXZlLmM6NDU5CisjOiBhcmNoaXZlLmM6NDYzCiBtc2dpZCAicmVhZCAuZ2l0YXR0cmlidXRlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAi0LjQt9GH0LjRgtCw0L3QtSDQvdCwIOKAni5naXRhdHRyaWJ1dGVz4oCcINCyINGA0LDQsdC+0YLQvdCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyIKIAotIzogYXJjaGl2ZS5jOjQ2MAorIzogYXJjaGl2ZS5jOjQ2NAogbXNnaWQgInJlcG9ydCBhcmNoaXZlZCBmaWxlcyBvbiBzdGRlcnIiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINCw0YDRhdC40LLQuNGA0LDQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSDQvdCwINGB0YLQsNC90LTQsNGA0YLQvdCw0YLQsCDQs9GA0LXRiNC60LAiCiAKLSM6IGFyY2hpdmUuYzo0NjEKKyM6IGFyY2hpdmUuYzo0NjUKIG1zZ2lkICJzdG9yZSBvbmx5IgotbXNnc3RyICLRgdCw0LzQviDRgdGK0YXRgNCw0L3QtdC90LjQtSDQsdC10Lcg0LrQvtC80L/RgNC10YHQuNGA0LDQvdC1IgorbXNnc3RyICLRgdGK0YXRgNCw0L3QtdC90LjQtSDQsdC10Lcg0LrQvtC80L/RgNC10YHQuNGA0LDQvdC1IgogCi0jOiBhcmNoaXZlLmM6NDYyCisjOiBhcmNoaXZlLmM6NDY2CiBtc2dpZCAiY29tcHJlc3MgZmFzdGVyIgogbXNnc3RyICLQsdGK0YDQt9C+INC60L7QvNC/0YDQtdGB0LjRgNCw0L3QtSIKIAotIzogYXJjaGl2ZS5jOjQ3MAorIzogYXJjaGl2ZS5jOjQ3NAogbXNnaWQgImNvbXByZXNzIGJldHRlciIKIG1zZ3N0ciAi0LTQvtCx0YDQviDQutC+0LzQv9GA0LXRgdC40YDQsNC90LUiCiAKLSM6IGFyY2hpdmUuYzo0NzMKKyM6IGFyY2hpdmUuYzo0NzcKIG1zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0L/QuNGB0YrQutCwINGBINC/0L7QtNC00YrRgNC20LDQvdC40YLQtSDRhNC+0YDQvNCw0YLQuCIKIAotIzogYXJjaGl2ZS5jOjQ3NSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vY2xvbmUuYzoxMTQKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODU1CisjOiBhcmNoaXZlLmM6NDc5IGJ1aWx0aW4vYXJjaGl2ZS5jOjkxIGJ1aWx0aW4vY2xvbmUuYzoxMTMgYnVpbHRpbi9jbG9uZS5jOjExNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODQKIG1zZ2lkICJyZXBvIgogbXNnc3RyICLRhdGA0LDQvdC40LvQuNGJ0LUiCiAKLSM6IGFyY2hpdmUuYzo0NzYgYnVpbHRpbi9hcmNoaXZlLmM6OTEKKyM6IGFyY2hpdmUuYzo0ODAgYnVpbHRpbi9hcmNoaXZlLmM6OTIKIG1zZ2lkICJyZXRyaWV2ZSB0aGUgYXJjaGl2ZSBmcm9tIHJlbW90ZSByZXBvc2l0b3J5IDxyZXBvPiIKIG1zZ3N0ciAi0LjQt9GC0LXQs9C70Y/QvdC1INC90LAg0LDRgNGF0LjQstCwINC+0YIg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INCl0KDQkNCd0JjQm9CY0KnQlSIKIAotIzogYXJjaGl2ZS5jOjQ3NyBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL2RpZmZ0b29sLmM6NzE0Ci0jOiBidWlsdGluL25vdGVzLmM6NDk2CisjOiBhcmNoaXZlLmM6NDgxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkzIGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0OTgKIG1zZ2lkICJjb21tYW5kIgogbXNnc3RyICLQutC+0LzQsNC90LTQsCIKIAotIzogYXJjaGl2ZS5jOjQ3OCBidWlsdGluL2FyY2hpdmUuYzo5MworIzogYXJjaGl2ZS5jOjQ4MiBidWlsdGluL2FyY2hpdmUuYzo5NAogbXNnaWQgInBhdGggdG8gdGhlIHJlbW90ZSBnaXQtdXBsb2FkLWFyY2hpdmUgY29tbWFuZCIKIG1zZ3N0ciAi0L/RitGCINC60YrQvCDQvtGC0LTQsNC70LXRh9C10L3QsNGC0LAg0LrQvtC80LDQvdC00LAg4oCeZ2l0LXVwbG9hZC1hcmNoaXZl4oCcIgogCi0jOiBhcmNoaXZlLmM6NDg1CisjOiBhcmNoaXZlLmM6NDg5CiBtc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1yZW1vdGUiCiBtc2dzdHIgItCd0LXQvtGH0LDQutCy0LDQvdCwINC+0L/RhtC40Y8g4oCeLS1yZW1vdGXigJwiCiAKLSM6IGFyY2hpdmUuYzo0ODcKKyM6IGFyY2hpdmUuYzo0OTEKIG1zZ2lkICJPcHRpb24gLS1leGVjIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLXJlbW90ZSIKIG1zZ3N0ciAi0J7Qv9GG0LjRj9GC0LAg4oCeLS1leGVj4oCcINC40LfQuNGB0LrQstCwIOKAni0tcmVtb3Rl4oCcIgogCi0jOiBhcmNoaXZlLmM6NDg5CisjOiBhcmNoaXZlLmM6NDkzCiBtc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1vdXRwdXQiCiBtc2dzdHIgItCd0LXQvtGH0LDQutCy0LDQvdCwINC+0L/RhtC40Y8g4oCeLS1vdXRwdXTigJwiCiAKLSM6IGFyY2hpdmUuYzo1MTEKKyM6IGFyY2hpdmUuYzo1MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBhcmNoaXZlIGZvcm1hdCAnJXMnIgogbXNnc3RyICLQndC10L/QvtC30L3QsNGCINGE0L7RgNC80LDRgiDQvdCwINCw0YDRhdC40LI6IOKAniVz4oCcIgogCi0jOiBhcmNoaXZlLmM6NTE4CisjOiBhcmNoaXZlLmM6NTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFyZ3VtZW50IG5vdCBzdXBwb3J0ZWQgZm9yIGZvcm1hdCAnJXMnOiAtJWQiCiBtc2dzdHIgItCQ0YDQs9GD0LzQtdC90YLRitGCINC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCwINC30LAg0YTQvtGA0LzQsMyA0YLQsCDigJ4lc+KAnDogLSVkIgogCi0jOiBhcmNoaXZlLXRhci5jOjEyNSBhcmNoaXZlLXppcC5jOjM0NQorIzogYXJjaGl2ZS10YXIuYzoxMjUgYXJjaGl2ZS16aXAuYzozNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0cmVhbSBibG9iICVzIgogbXNnc3RyICLQvtCx0LXQutGC0YrRgi1CTE9CIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtCx0YDQsNCx0L7RgtC10L0iCiAKLSM6IGFyY2hpdmUtdGFyLmM6MjYwIGFyY2hpdmUtemlwLmM6MzYzCisjOiBhcmNoaXZlLXRhci5jOjI2NiBhcmNoaXZlLXppcC5jOjM2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlIG1vZGU6IDAlbyAoU0hBMTogJXMpIgogbXNnc3RyICLQvdC10L/QvtC00LTRitGA0LbQsNC90Lgg0L/RgNCw0LLQsCDQt9CwINC00L7RgdGC0YrQvyDQtNC+INGE0LDQudC7OiAwJW8gKFNIQTE6ICVzKSIKIAotIzogYXJjaGl2ZS10YXIuYzoyODcgYXJjaGl2ZS16aXAuYzozNTMKKyM6IGFyY2hpdmUtdGFyLmM6MjkzIGFyY2hpdmUtemlwLmM6MzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICVzIgogbXNnc3RyICLQvtCx0LXQutGC0YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogYXJjaGl2ZS10YXIuYzo0NTgKKyM6IGFyY2hpdmUtdGFyLmM6NDY1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBzdGFydCAnJXMnIGZpbHRlciIKIG1zZ3N0ciAi0YTQuNC70YLRitGA0YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRgtCw0YDRgtC40YDQsNC9IgogCi0jOiBhcmNoaXZlLXRhci5jOjQ2MQorIzogYXJjaGl2ZS10YXIuYzo0NjgKIG1zZ2lkICJ1bmFibGUgdG8gcmVkaXJlY3QgZGVzY3JpcHRvciIKIG1zZ3N0ciAi0LTQtdGB0LrRgNC40L/RgtC+0YDRitGCINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0LXQvdCw0YHQvtGH0LXQvSIKIAotIzogYXJjaGl2ZS10YXIuYzo0NjgKKyM6IGFyY2hpdmUtdGFyLmM6NDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZmlsdGVyIHJlcG9ydGVkIGVycm9yIgogbXNnc3RyICLRhNC40LvRgtGK0YDRitGCIOKAniVz4oCcINCy0YrRgNC90LAg0LPRgNC10YjQutCwIgogCi0jOiBhcmNoaXZlLXppcC5jOjMxNAorIzogYXJjaGl2ZS16aXAuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCBpcyBub3QgdmFsaWQgVVRGLTg6ICVzIgogbXNnc3RyICLQv9GK0YLRj9GCINC90LUg0LUg0L/RgNCw0LLQuNC70L3QviDQutC+0LTQuNGA0LDQvSDQsiBVVEYtODogJXMiCiAKLSM6IGFyY2hpdmUtemlwLmM6MzE4CisjOiBhcmNoaXZlLXppcC5jOjMyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoIHRvbyBsb25nICglZCBjaGFycywgU0hBMTogJXMpOiAlcyIKIG1zZ3N0ciAi0YLQstGK0YDQtNC1INC00YrQu9GK0LMg0L/RitGCICglZCDQt9C90LDQutCwLCBTSEExOiAlcyk6ICVzIgogCi0jOiBhcmNoaXZlLXppcC5jOjQ3NCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIyNCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIyNworIzogYXJjaGl2ZS16aXAuYzo0NzkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0L/RgNC4INC00LXQutC+0LzQv9GA0LXRgdC40YDQsNC90LUg0YEg4oCeZGVmbGF0ZeKAnCAoJWQpIgogCi0jOiBhcmNoaXZlLXppcC5jOjYwOQorIzogYXJjaGl2ZS16aXAuYzo2MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidGltZXN0YW1wIHRvbyBsYXJnZSBmb3IgdGhpcyBzeXN0ZW06ICU8UFJJdU1BWD4iCiBtc2dzdHIgItCy0YDQtdC80LXQstCw0YLQsCDRgdGC0L7QudC90L7RgdGCINC1INGC0LLRitGA0LTQtSDQs9C+0LvRj9C80LAg0LfQsCDRgtCw0LfQuCDRgdC40YHRgtC10LzQsDogJTxQUkl1TUFYPiIKQEAgLTEwNjQsNiArMTUzOCwxMSBAQAogbXNnaWQgIiUuKnMgaXMgbm90IGEgdmFsaWQgYXR0cmlidXRlIG5hbWUiCiBtc2dzdHIgIuKAniUuKnPigJwg0LUg0L3QtdC/0YDQsNCy0LjQu9C90L4g0LjQvNC1INC30LAg0LDRgtGA0LjQsdGD0YIiCiAKKyM6IGF0dHIuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFsbG93ZWQ6ICVzOiVkIgorbXNnc3RyICIlczog0LrQvtC80LDQvdC00LDRgtCwINC90LUg0LUg0L/QvtC30LLQvtC70LXQvdCwOiDigJ4lczolZOKAnCIKKwogIzogYXR0ci5jOjQwOQogbXNnaWQgIiIKICJOZWdhdGl2ZSBwYXR0ZXJucyBhcmUgaWdub3JlZCBpbiBnaXQgYXR0cmlidXRlc1xuIgpAQCAtMTA3NywxNyArMTU1NiwxNyBAQAogbXNnaWQgIkJhZGx5IHF1b3RlZCBjb250ZW50IGluIGZpbGUgJyVzJzogJXMiCiBtc2dzdHIgItCd0LXQv9GA0LDQstC40LvQvdC+INGG0LjRgtC40YDQsNC90L4g0YHRitC00YrRgNC20LDQvdC40LUg0LLRitCyINGE0LDQudC70LAg4oCeJXPigJw6ICVzIgogCi0jOiBiaXNlY3QuYzo2NzYKKyM6IGJpc2VjdC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJXZSBjYW5ub3QgYmlzZWN0IG1vcmUhXG4iCiBtc2dzdHIgItCf0L7QstC10YfQtSDQvdC1INC80L7QttC1INC00LAg0YHQtSDRgtGK0YDRgdC4INC00LLQvtC40YfQvdC+IVxuIgogCi0jOiBiaXNlY3QuYzo3MzAKKyM6IGJpc2VjdC5jOjczMwogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBjb21taXQgbmFtZSAlcyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C90L4g0LjQvNC1INC90LAg0L/QvtC00LDQstCw0L3QtSDigJ4lc+KAnCIKIAotIzogYmlzZWN0LmM6NzU0CisjOiBiaXNlY3QuYzo3NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBtZXJnZSBiYXNlICVzIGlzIGJhZC5cbiIKQEAgLTEwOTYsNyArMTU3NSw3IEBACiAi0J3QtdC/0YDQsNCy0LjQu9C90LAg0LHQsNC30LAg0LfQsCDRgdC70LjQstCw0L3QtTogJXMuXG4iCiAi0KHQu9C10LTQvtCy0LDRgtC10LvQvdC+INCz0YDQtdGI0LrQsNGC0LAg0LUg0LrQvtGA0LjQs9C40YDQsNC90LAg0LzQtdC20LTRgyDigJ4lc+KAnCDQuCBbJXNdLlxuIgogCi0jOiBiaXNlY3QuYzo3NTkKKyM6IGJpc2VjdC5jOjc2MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIG1lcmdlIGJhc2UgJXMgaXMgbmV3LlxuIgpAQCAtMTEwNSw3ICsxNTg0LDcgQEAKICLQndC+0LLQsCDQsdCw0LfQsCDQt9CwINGB0LvQuNCy0LDQvdC1OiAlcy5cbiIKICLQodCy0L7QudGB0YLQstC+0YLQviDQtSDQv9GA0L7QvNC10L3QtdC90L4g0LzQtdC20LTRgyDigJ4lc+KAnCDQuCBbJXNdLlxuIgogCi0jOiBiaXNlY3QuYzo3NjQKKyM6IGJpc2VjdC5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIG1lcmdlIGJhc2UgJXMgaXMgJXMuXG4iCkBAIC0xMTE0LDcgKzE1OTMsNyBAQAogItCR0LDQt9Cw0YLQsCDQt9CwINGB0LvQuNCy0LDQvdC1IOKAniVz4oCcINC1ICVzLlxuIgogItCh0LvQtdC00L7QstCw0YLQtdC70L3QviDQv9GK0YDQstC+0YLQviAlcyDQv9C+0LTQsNCy0LDQvdC1INC1INC80LXQttC00YMg4oCeJXPigJwg0LggWyVzXS5cbiIKIAotIzogYmlzZWN0LmM6NzcyCisjOiBiaXNlY3QuYzo3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlNvbWUgJXMgcmV2cyBhcmUgbm90IGFuY2VzdG9ycyBvZiB0aGUgJXMgcmV2LlxuIgpAQCAtMTEyNSw3ICsxNjA0LDcgQEAKICLQlNCy0L7QuNGH0L3QvtGC0L4g0YLRitGA0YHQtdC90LUg0YEgZ2l0IGJpc2VjdCDQvdGP0LzQsCDQtNCwINGA0LDQsdC+0YLQuCDQv9GA0LDQstC40LvQvdC+LlxuIgogItCU0LDQu9C4INC90LUg0YHRgtC1INC+0LHRitGA0LrQsNC70Lgg0YPQutCw0LfQsNGC0LXQu9C40YLQtSDigJ4lc+KAnCDQuCDigJ4lc+KAnD9cbiIKIAotIzogYmlzZWN0LmM6Nzg1CisjOiBiaXNlY3QuYzo3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInRoZSBtZXJnZSBiYXNlIGJldHdlZW4gJXMgYW5kIFslc10gbXVzdCBiZSBza2lwcGVkLlxuIgpAQCAtMTEzNiwyMiArMTYxNSwyMiBAQAogItCd0LUg0LzQvtC20LUg0LTQsCDRgdC80LUg0YHQuNCz0YPRgNC90LgsINGH0LUg0L/RitGA0LLQvtGC0L4gJXMg0L/QvtC00LDQstCw0L3QtSDQtSDQvNC10LbQtNGDIOKAniVz4oCcINC4IOKAniVz4oCcLlxuIgogItCU0LLQvtC40YfQvdC+0YLQviDRgtGK0YDRgdC10L3QtSDQv9GA0L7QtNGK0LvQttCw0LLQsC4iCiAKLSM6IGJpc2VjdC5jOjgxOAorIzogYmlzZWN0LmM6ODIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJpc2VjdGluZzogYSBtZXJnZSBiYXNlIG11c3QgYmUgdGVzdGVkXG4iCiBtc2dzdHIgItCU0LLQvtC40YfQvdC+INGC0YrRgNGB0LXQvdC1OiDRgtGA0Y/QsdCy0LAg0LTQsCDRgdC1INC/0YDQvtCy0LXRgNC4INCx0LDQt9CwINC30LAg0YHQu9C40LLQsNC90LVcbiIKIAotIzogYmlzZWN0LmM6ODU4CisjOiBiaXNlY3QuYzo4NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCiBtc2dzdHIgItC90LXQvtCx0YXQvtC00LjQvNCwINC1INCy0LXRgNGB0LjRjyDigJ4lc+KAnCIKIAotIzogYmlzZWN0LmM6ODc3IGJ1aWx0aW4vbm90ZXMuYzoxNzcgYnVpbHRpbi90YWcuYzoyMzcKKyM6IGJpc2VjdC5jOjg4NCBidWlsdGluL25vdGVzLmM6MTc3IGJ1aWx0aW4vdGFnLmM6MjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgogbXNnc3RyICLRhNCw0LnQu9GK0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YrQt9C00LDQtNC10L0iCiAKLSM6IGJpc2VjdC5jOjkyOCBidWlsdGluL21lcmdlLmM6MTM4CisjOiBiaXNlY3QuYzo5MjggYnVpbHRpbi9tZXJnZS5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBmaWxlICclcyciCiBtc2dzdHIgItGE0LDQudC70YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKQEAgLTExOTEsNDYgKzE2NzAsNDYgQEAKIG1zZ3N0clswXSAi0JTQstC+0LjRh9C90L4g0YLRitGA0YHQtdC90LU6INC+0YHRgtCw0LLQsCAlZCDQstC10YDRgdC40Y8g0YHQu9C10LQg0YLQsNC30LggJXNcbiIKIG1zZ3N0clsxXSAi0JTQstC+0LjRh9C90L4g0YLRitGA0YHQtdC90LU6INC+0YHRgtCw0LLQsNGCICVkINCy0LXRgNGB0LjQuCDRgdC70LXQtCDRgtCw0LfQuCAlc1xuIgogCi0jOiBibGFtZS5jOjE3ODcKKyM6IGJsYW1lLmM6MjcwMAogbXNnaWQgIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iCiBtc2dzdHIgItCe0L/RhtC40LjRgtC1IOKAni0tY29udGVudHPigJwg0Lgg4oCeLS1yZXZlcnNl4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgogCi0jOiBibGFtZS5jOjE4MDEKKyM6IGJsYW1lLmM6MjcxNAogbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKIG1zZ3N0ciAi0J7Qv9GG0LjRj9GC0LAg4oCeLS1jb250ZW50c+KAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg0LjQvNC1INC90LAg0L7QsdC10LrRgiDQvtGCINC60YDQsNC50L3QviDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBibGFtZS5jOjE4MjIKKyM6IGJsYW1lLmM6MjczNQogbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKIG1zZ3N0ciAiIgogItCV0LTQvdC+0LLRgNC10LzQtdC90L3QvtGC0L4g0LfQsNC00LDQstCw0L3QtSDQvdCwINC+0L/RhtC40LjRgtC1IOKAni0tcmV2ZXJzZeKAnCDQuCDigJ4tLWZpcnN0LXBhcmVudOKAnCDQuNC30LjRgdC60LLQsCAiCiAi0YPQutCw0LfQstCw0L3QtdGC0L4g0L3QsCDQutGA0LDQudC90L4g0L/QvtC00LDQstCw0L3QtSIKIAotIzogYmxhbWUuYzoxODMxIGJ1bmRsZS5jOjE2MiByZWYtZmlsdGVyLmM6MjA0NiBzZXF1ZW5jZXIuYzoxOTYzCi0jOiBzZXF1ZW5jZXIuYzo0MDAyIGJ1aWx0aW4vY29tbWl0LmM6MTAwMSBidWlsdGluL2xvZy5jOjM3NyBidWlsdGluL2xvZy5jOjkzMgotIzogYnVpbHRpbi9sb2cuYzoxNDA3IGJ1aWx0aW4vbG9nLmM6MTc4MyBidWlsdGluL2xvZy5jOjIwNzIgYnVpbHRpbi9tZXJnZS5jOjQwNgotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTM3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE1MgorIzogYmxhbWUuYzoyNzQ0IGJ1bmRsZS5jOjE2NyByZWYtZmlsdGVyLmM6MjIwMyByZW1vdGUuYzoxOTQxIHNlcXVlbmNlci5jOjIwOTMKKyM6IHNlcXVlbmNlci5jOjQ0NjAgYnVpbHRpbi9jb21taXQuYzoxMDQwIGJ1aWx0aW4vbG9nLmM6Mzg4IGJ1aWx0aW4vbG9nLmM6OTkxCisjOiBidWlsdGluL2xvZy5jOjE1MjAgYnVpbHRpbi9sb2cuYzoxOTI1IGJ1aWx0aW4vbG9nLmM6MjIxNSBidWlsdGluL21lcmdlLmM6NDExCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMjggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTQzCiAjOiBidWlsdGluL3Nob3J0bG9nLmM6MTkyCiBtc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQvdCw0YHRgtGA0L7QudCy0LDQvdC1INC90LAg0L7QsdGF0L7QttC00LDQvdC10YLQviDQvdCwINCy0LXRgNGB0LjQuNGC0LUiCiAKLSM6IGJsYW1lLmM6MTg0OQorIzogYmxhbWUuYzoyNzYyCiBtc2dpZCAiIgogIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHJhbmdlIGFsb25nIGZpcnN0LXBhcmVudCBjaGFpbiIKIG1zZ3N0ciAiIgogItCV0LTQvdC+0LLRgNC10LzQtdC90L3QvtGC0L4g0LfQsNC00LDQstCw0L3QtSDQvdCwINC+0L/RhtC40LjRgtC1IOKAni0tcmV2ZXJzZeKAnCDQuCDigJ4tLWZpcnN0LXBhcmVudOKAnCDQuNC30LjRgdC60LLQsCAiCiAi0YPQutCw0LfQstCw0L3QtdGC0L4g0L3QsCDQtNC40LDQv9Cw0LfQvtC9INC/0L4g0LLQtdGA0LjQs9Cw0YLQsCDQvdCwINC/0YrRgNCy0LjRgtC1INC90LDRgdC70LXQtNC90LjRhtC4IgogCi0jOiBibGFtZS5jOjE4NjAKKyM6IGJsYW1lLmM6Mjc3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIHBhdGggJXMgaW4gJXMiCiBtc2dzdHIgItC90Y/QvNCwINC/0YrRgiDQvdCwINC40LzQtSDigJ4lc+KAnCDQsiDigJ4lc+KAnCIKIAotIzogYmxhbWUuYzoxODcxCisjOiBibGFtZS5jOjI3ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgYmxvYiAlcyBmb3IgcGF0aCAlcyIKIG1zZ3N0ciAi0L7QsdC10LrRgtGK0YItQkxPQiDigJ4lc+KAnCDQsiDQv9GK0YLRjyAlcyDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogYnJhbmNoLmM6NTIKKyM6IGJyYW5jaC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTEyNDMsODggKzE3MjIsODggQEAKICLQuNC90YTQvtGA0LzQsNGG0LjRj9GC0LAg0LfQsCDRgdC70LXQtNC10L3QuNGPINC60LvQvtC9INGH0YDQtdC3OlxuIgogImdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG89JXMlcyVzIgogCi0jOiBicmFuY2guYzo2NgorIzogYnJhbmNoLmM6NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IHNldHRpbmcgYnJhbmNoICVzIGFzIGl0cyBvd24gdXBzdHJlYW0uIgogbXNnc3RyICIiCiAi0JrQu9C+0L3RitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC70YPQttC4INC60LDRgtC+INC40LfRgtC+0YfQvdC40Log0LfQsCDRgdC+0LHRgdGC0LLQtdC90LDRgtCwINGB0Lgg0YHQuNC90YXRgNC+0L3QuNC30LDRhtC40Y8uIgogCi0jOiBicmFuY2guYzo5MgorIzogYnJhbmNoLmM6OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJyVzJyBmcm9tICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICIiCiAi0JrQu9C+0L3RitGCIOKAniVz4oCcINGJ0LUg0YHQu9C10LTQuCDQvtGC0LTQsNC70LXRh9C10L3QuNGPINC60LvQvtC9IOKAniVz4oCcINC+0YIg0YXRgNCw0L3QuNC70LjRidC10YLQviDigJ4lc+KAnCDRh9GA0LXQtyAiCiAi0L/RgNC10LHQsNC30LjRgNCw0L3QtS4iCiAKLSM6IGJyYW5jaC5jOjkzCisjOiBicmFuY2guYzo5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgcmVtb3RlIGJyYW5jaCAnJXMnIGZyb20gJyVzJy4iCiBtc2dzdHIgItCa0LvQvtC90YrRgiDigJ4lc+KAnCDRidC1INGB0LvQtdC00Lgg0L7RgtC00LDQu9C10YfQtdC90LjRjyDQutC70L7QvSDigJ4lc+KAnCDQvtGCINGF0YDQsNC90LjQu9C40YnQtdGC0L4g4oCeJXPigJwuIgogCi0jOiBicmFuY2guYzo5NworIzogYnJhbmNoLmM6OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIGJyYW5jaCAnJXMnIGJ5IHJlYmFzaW5nLiIKIG1zZ3N0ciAi0JrQu9C+0L3RitGCIOKAniVz4oCcINGJ0LUg0YHQu9C10LTQuCDQu9C+0LrQsNC70L3QuNGPINC60LvQvtC9IOKAniVz4oCcINGH0YDQtdC3INC/0YDQtdCx0LDQt9C40YDQsNC90LUuIgogCi0jOiBicmFuY2guYzo5OAorIzogYnJhbmNoLmM6OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAi0JrQu9C+0L3RitGCIOKAniVz4oCcINGJ0LUg0YHQu9C10LTQuCDQu9C+0LrQsNC70L3QuNGPINC60LvQvtC9IOKAniVz4oCcLiIKIAotIzogYnJhbmNoLmM6MTAzCisjOiBicmFuY2guYzoxMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSByZWYgJyVzJyBieSByZWJhc2luZy4iCiBtc2dzdHIgItCa0LvQvtC90YrRgiDigJ4lc+KAnCDRidC1INGB0LvQtdC00Lgg0L7RgtC00LDQu9C10YfQtdC90LjRjyDRg9C60LDQt9Cw0YLQtdC7IOKAniVz4oCcINGH0YDQtdC3INC/0YDQtdCx0LDQt9C40YDQsNC90LUuIgogCi0jOiBicmFuY2guYzoxMDQKKyM6IGJyYW5jaC5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgcmVtb3RlIHJlZiAnJXMnLiIKIG1zZ3N0ciAi0JrQu9C+0L3RitGCIOKAniVz4oCcINGJ0LUg0YHQu9C10LTQuCDQvtGC0LTQsNC70LXRh9C10L3QuNGPINGD0LrQsNC30LDRgtC10Lsg4oCeJXPigJwuIgogCi0jOiBicmFuY2guYzoxMDgKKyM6IGJyYW5jaC5jOjEwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgcmVmICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICLQmtC70L7QvdGK0YIg4oCeJXPigJwg0YnQtSDRgdC70LXQtNC4INC70L7QutCw0LvQvdC40Y8g0YPQutCw0LfQsNGC0LXQuyDigJ4lc+KAnCDRh9GA0LXQtyDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1LiIKIAotIzogYnJhbmNoLmM6MTA5CisjOiBicmFuY2guYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIHJlZiAnJXMnLiIKIG1zZ3N0ciAi0JrQu9C+0L3RitGCIOKAniVz4oCcINGJ0LUg0YHQu9C10LTQuCDQu9C+0LrQsNC70L3QuNGPINGD0LrQsNC30LDRgtC10Lsg4oCeJXPigJwuIgogCi0jOiBicmFuY2guYzoxMTgKKyM6IGJyYW5jaC5jOjExOQogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB1cHN0cmVhbSBicmFuY2ggY29uZmlndXJhdGlvbiIKIG1zZ3N0ciAi0J3QsNGB0YLRgNC+0LnQutC40YLQtSDQt9CwINGB0LvQtdC00LXQvdC40Y8g0LrQu9C+0L0g0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiDQt9Cw0L/QuNGB0LDQvdC4IgogCi0jOiBicmFuY2guYzoxNTUKKyM6IGJyYW5jaC5jOjE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgdHJhY2tpbmc6IGFtYmlndW91cyBpbmZvcm1hdGlvbiBmb3IgcmVmICVzIgogbXNnc3RyICLQndGP0LzQsCDRgdC70LXQtNC10L3QtTog0LjQvdGE0L7RgNC80LDRhtC40Y/RgtCwINC30LAg0YPQutCw0LfQsNGC0LXQu9GPIOKAniVz4oCcINC90LUg0LUg0LXQtNC90L7Qt9C90LDRh9C90LAiCiAKLSM6IGJyYW5jaC5jOjE4OAorIzogYnJhbmNoLmM6MTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgYnJhbmNoIG5hbWUuIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC1INC/0L7Qt9Cy0L7Qu9C10L3QviDQuNC80LUg0LfQsCDQutC70L7QvS4iCiAKLSM6IGJyYW5jaC5jOjIwNworIzogYnJhbmNoLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkEgYnJhbmNoIG5hbWVkICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICLQktC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCDQutC70L7QvSDRgSDQuNC80LUg4oCeJXPigJwuIgogCi0jOiBicmFuY2guYzoyMTIKKyM6IGJyYW5jaC5jOjIxMwogbXNnaWQgIkNhbm5vdCBmb3JjZSB1cGRhdGUgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi0KLQtdC60YPRidC40Y/RgiDQutC70L7QvSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC40L3Rg9C00LjRgtC10LvQvdC+INC+0LHQvdC+0LLQtdC9LiIKIAotIzogYnJhbmNoLmM6MjMyCisjOiBicmFuY2guYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHNldHVwIHRyYWNraW5nIGluZm9ybWF0aW9uOyBzdGFydGluZyBwb2ludCAnJXMnIGlzIG5vdCBhIGJyYW5jaC4iCiBtc2dzdHIgItCX0LDQtNCw0LTQtdC90LjRgtC1INC90LDRgdGC0YDQvtC50LrQuCDQt9CwINGB0LvQtdC00LXQvdC10YLQviDRgdCwINCz0YDQtdGI0L3QuCDigJQg0L3QsNGH0LDQu9C+0YLQviDigJ4lc+KAnCDQvdC1INC1INC60LvQvtC9LiIKIAotIzogYnJhbmNoLmM6MjM0CisjOiBicmFuY2guYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHJlcXVlc3RlZCB1cHN0cmVhbSBicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi0LfQsNGP0LLQtdC90LjRj9GCINC+0YLQtNCw0LvQtdGH0LXQvSDQutC70L7QvSDigJ4lc+KAnCDQvdC1INGB0YrRidC10YHRgtCy0YPQstCwIgogCi0jOiBicmFuY2guYzoyMzYKKyM6IGJyYW5jaC5jOjIzNwogbXNnaWQgIiIKICJcbiIKICJJZiB5b3UgYXJlIHBsYW5uaW5nIG9uIGJhc2luZyB5b3VyIHdvcmsgb24gYW4gdXBzdHJlYW1cbiIKQEAgLTEzNDMsMjcgKzE4MjIsMjcgQEAKICLQvNC+0LbQtSDQtNCwINC40LfQv9C+0LvQt9Cy0LDRgtC1IOKAnmdpdCBwdXNoIC114oCcLCDQt9CwINC00LAg0L3QsNGB0YLRgNC+0LjRgtC1INC60YrQvCDQutC+0Lkg0LrQu9C+0L0g0LTQsCDRgdC1ICIKICLQuNC30YLQu9Cw0YHQutCy0LAuIgogCi0jOiBicmFuY2guYzoyNzkKKyM6IGJyYW5jaC5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgItCd0LXQv9GA0LDQstC40LvQvdC+INC40LzQtSDQvdCwINC+0LHQtdC60YI6IOKAniVz4oCcIgogCi0jOiBicmFuY2guYzoyOTkKKyM6IGJyYW5jaC5jOjMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJBbWJpZ3VvdXMgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICLQmNC80LXRgtC+INC90LAg0L7QsdC10LrRgiDQvdC1INC1INC10LTQvdC+0LfQvdCw0YfQvdC+OiDigJ4lc+KAnCIKIAotIzogYnJhbmNoLmM6MzA0CisjOiBicmFuY2guYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgYnJhbmNoIHBvaW50OiAnJXMnLiIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C90L4g0LzRj9GB0YLQviDQt9CwINC90LDRh9Cw0LvQviDQvdCwINC60LvQvtC9OiDigJ4lc+KAnCIKIAotIzogYnJhbmNoLmM6MzU4CisjOiBicmFuY2guYzozNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGNoZWNrZWQgb3V0IGF0ICclcyciCiBtc2dzdHIgIuKAniVz4oCcINCy0LXRh9C1INC1INC40LfRgtC10LPQu9C10L0g0LIg4oCeJXPigJwiCiAKLSM6IGJyYW5jaC5jOjM4MQorIzogYnJhbmNoLmM6Mzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgb2Ygd29ya2luZyB0cmVlICVzIGlzIG5vdCB1cGRhdGVkIgogbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC90LAg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g4oCeJXPigJwg0L3QtSDQtSDQvtCx0L3QvtCy0LXQvSIKQEAgLTEzNzgsNzEgKzE4NTcsNzUgQEAKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVhZGVyOiAlcyVzICglZCkiCiBtc2dzdHIgItC90LXQv9C+0LfQvdCw0YLQsCDQt9Cw0LPQu9Cw0LLQvdCwINGH0LDRgdGCOiAlcyVzICglZCkiCiAKLSM6IGJ1bmRsZS5jOjkwIHJlcmVyZS5jOjQ4MCByZXJlcmUuYzo2OTAgc2VxdWVuY2VyLmM6MjE4MiBzZXF1ZW5jZXIuYzoyNzIyCi0jOiBidWlsdGluL2NvbW1pdC5jOjc3NAorIzogYnVuZGxlLmM6OTAgcmVyZXJlLmM6NDgwIHJlcmVyZS5jOjY5MCBzZXF1ZW5jZXIuYzoyMzQ0IHNlcXVlbmNlci5jOjMxMDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQstC+0YDQuCIKIAotIzogYnVuZGxlLmM6MTQxCisjOiBidW5kbGUuYzoxNDMKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIHRoZXNlIHByZXJlcXVpc2l0ZSBjb21taXRzOiIKIG1zZ3N0ciAi0JIg0YXRgNCw0L3QuNC70LjRidC10YLQviDQu9C40L/RgdCy0LDRgiDRgdC70LXQtNC90LjRgtC1INC90LXQvtCx0YXQvtC00LjQvNC4INC/0L7QtNCw0LLQsNC90LjRjzoiCiAKLSM6IGJ1bmRsZS5jOjE5MgorIzogYnVuZGxlLmM6MTQ2Cittc2dpZCAibmVlZCBhIHJlcG9zaXRvcnkgdG8gdmVyaWZ5IGEgYnVuZGxlIgorbXNnc3RyICLQt9CwINC/0YDQvtCy0LXRgNC60LDRgtCwINC90LAg0L/RgNCw0YLQutCwINC1INC90LXQvtCx0YXQvtC00LjQvNC+INGF0YDQsNC90LjQu9C40YnQtSIKKworIzogYnVuZGxlLmM6MTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBidW5kbGUgY29udGFpbnMgdGhpcyByZWY6IgogbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoZXNlICVkIHJlZnM6IgogbXNnc3RyWzBdICLQn9GA0LDRgtC60LDRgtCwINGB0YrQtNGK0YDQttCwINGB0LvQtdC00L3QuNGPINGD0LrQsNC30LDRgtC10Ls6IgogbXNnc3RyWzFdICLQn9GA0LDRgtC60LDRgtCwINGB0YrQtNGK0YDQttCwINGB0LvQtdC00L3QuNGC0LUgJWQg0YPQutCw0LfQsNGC0LXQu9C4OiIKIAotIzogYnVuZGxlLmM6MTk5CisjOiBidW5kbGUuYzoyMDQKIG1zZ2lkICJUaGUgYnVuZGxlIHJlY29yZHMgYSBjb21wbGV0ZSBoaXN0b3J5LiIKIG1zZ3N0ciAi0J/RgNCw0YLQutCw0YLQsCDRgdGK0LTRitGA0LbQsCDQv9GK0LvQvdCwINC40YHRgtC+0YDQuNGPLiIKIAotIzogYnVuZGxlLmM6MjAxCisjOiBidW5kbGUuYzoyMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhlc2UgJWQgcmVmczoiCiBtc2dzdHJbMF0gItCf0YDQsNGC0LrQsNGC0LAg0LjQt9C40YHQutCy0LAg0YHQu9C10LTQvdC40Y8g0YPQutCw0LfQsNGC0LXQuzoiCiBtc2dzdHJbMV0gItCf0YDQsNGC0LrQsNGC0LAg0LjQt9C40YHQutCy0LAg0YHQu9C10LTQvdC40YLQtSAlZCDRg9C60LDQt9Cw0YLQtdC70Lg6IgogCi0jOiBidW5kbGUuYzoyNjcKKyM6IGJ1bmRsZS5jOjI3MwogbXNnaWQgInVuYWJsZSB0byBkdXAgYnVuZGxlIGRlc2NyaXB0b3IiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQtNGD0LHQu9C40YDQsNC90LUg0L3QsCDQtNC10YHQutGA0LjQv9GC0L7RgNCwINC90LAg0L/RgNCw0YLQutCw0YLQsCDRgSDigJ5kdXDigJwiCiAKLSM6IGJ1bmRsZS5jOjI3NAorIzogYnVuZGxlLmM6MjgwCiBtc2dpZCAiQ291bGQgbm90IHNwYXduIHBhY2stb2JqZWN0cyIKIG1zZ3N0ciAi0JrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBwYWNrLW9iamVjdHPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YLQsNGA0YLQuNGA0LDQvdCwIgogCi0jOiBidW5kbGUuYzoyODUKKyM6IGJ1bmRsZS5jOjI5MQogbXNnaWQgInBhY2stb2JqZWN0cyBkaWVkIgogbXNnc3RyICLQmtC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0IHBhY2stb2JqZWN0c+KAnCDQvdC1INC30LDQstGK0YDRiNC4INGD0YHQv9C10YjQvdC+IgogCi0jOiBidW5kbGUuYzozMjcKKyM6IGJ1bmRsZS5jOjMzMwogbXNnaWQgInJldi1saXN0IGRpZWQiCiBtc2dzdHIgItCa0L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgcmV2LWxpc3TigJwg0L3QtSDQt9Cw0LLRitGA0YjQuCDRg9GB0L/QtdGI0L3QviIKIAotIzogYnVuZGxlLmM6Mzc2CisjOiBidW5kbGUuYzozODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmICclcycgaXMgZXhjbHVkZWQgYnkgdGhlIHJldi1saXN0IG9wdGlvbnMiCiBtc2dzdHIgIiIKICLRg9C60LDQt9Cw0YLQtdC70Y/RgiDigJ4lc+KAnCDQvdC1INC1INCx0LjQuyDQstC60LvRjtGH0LXQvSDQv9C+0YDQsNC00Lgg0L7Qv9GG0LjQuNGC0LUg0LfQsNC00LDQtNC10L3QuCDQvdCwIOKAnmdpdCByZXYtbGlzdOKAnCIKIAotIzogYnVuZGxlLmM6NDU2IGJ1aWx0aW4vbG9nLmM6MTkyIGJ1aWx0aW4vbG9nLmM6MTY4OCBidWlsdGluL3Nob3J0bG9nLmM6MzA0CisjOiBidW5kbGUuYzo0NjEgYnVpbHRpbi9sb2cuYzoyMDMgYnVpbHRpbi9sb2cuYzoxODE0IGJ1aWx0aW4vc2hvcnRsb2cuYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgiDQsNGA0LPRg9C80LXQvdGCOiAlcyIKIAotIzogYnVuZGxlLmM6NDY0CisjOiBidW5kbGUuYzo0NjkKIG1zZ2lkICJSZWZ1c2luZyB0byBjcmVhdGUgZW1wdHkgYnVuZGxlLiIKIG1zZ3N0ciAi0KHRitC30LTQsNCy0LDQvdC10YLQviDQvdCwINC/0YDQsNC30L3QsCDQv9GA0LDRgtC60LAg0LUg0L3QtdCy0YrQt9C80L7QttC90L4uIgogCi0jOiBidW5kbGUuYzo0NzQKKyM6IGJ1bmRsZS5jOjQ3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlICclcyciCiBtc2dzdHIgItCk0LDQudC70YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRitC30LTQsNC00LXQvSIKIAotIzogYnVuZGxlLmM6NDk4CisjOiBidW5kbGUuYzo1MDQKIG1zZ2lkICJpbmRleC1wYWNrIGRpZWQiCiBtc2dzdHIgItCa0L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgaW5kZXgtcGFja+KAnCDQvdC1INC30LDQstGK0YDRiNC4INGD0YHQv9C10YjQvdC+IgogCkBAIC0xNDUxLDE0ICsxOTM0LDEzIEBACiBtc2dpZCAiaW52YWxpZCBjb2xvciB2YWx1ZTogJS4qcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwINGG0LLRj9GCOiAlLipzIgogCi0jOiBjb21taXQuYzo1MCBzZXF1ZW5jZXIuYzoyNTI4IGJ1aWx0aW4vYW0uYzozNzAgYnVpbHRpbi9hbS5jOjQxNAotIzogYnVpbHRpbi9hbS5jOjEzOTAgYnVpbHRpbi9hbS5jOjIwMjUgYnVpbHRpbi9yZXBsYWNlLmM6Mzc2Ci0jOiBidWlsdGluL3JlcGxhY2UuYzo0NDgKKyM6IGNvbW1pdC5jOjUxIHNlcXVlbmNlci5jOjI4MTEgYnVpbHRpbi9hbS5jOjM1NCBidWlsdGluL2FtLmM6Mzk4CisjOiBidWlsdGluL2FtLmM6MTM2NiBidWlsdGluL2FtLmM6MjAwOSBidWlsdGluL3JlcGxhY2UuYzo0NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlICVzIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQsNC90LDQu9C40LfQuNGA0LAiCiAKLSM6IGNvbW1pdC5jOjUyCisjOiBjb21taXQuYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAlcyBpcyBub3QgYSBjb21taXQhIgogbXNnc3RyICIlcyAlcyDQvdC1INC1INC/0L7QtNCw0LLQsNC90LUhIgpAQCAtMTQ4NiwyOSArMTk2OCwyOSBAQAogIlxuIgogIiAgICBnaXQgY29uZmlnIGFkdmljZS5ncmFmdEZpbGVEZXByZWNhdGVkIGZhbHNlIgogCi0jOiBjb21taXQuYzoxMTE1CisjOiBjb21taXQuYzoxMTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYW4gdW50cnVzdGVkIEdQRyBzaWduYXR1cmUsIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIiIKICLQn9C+0LTQsNCy0LDQvdC10YLQviDigJ4lc+KAnCDQtSDRgSDQvdC10LTQvtCy0LXRgNC10L0g0L/QvtC00L/QuNGBINC+0YIgR1BHLCDQutC+0LnRgtC+INGC0LLRitGA0LTQuCwg0YfQtSDQtSDQvdCwIOKAniVz4oCcLiIKIAotIzogY29tbWl0LmM6MTExOAorIzogY29tbWl0LmM6MTE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgYmFkIEdQRyBzaWduYXR1cmUgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAiIgogItCf0L7QtNCw0LLQsNC90LXRgtC+IOKAniVz4oCcINC1INGBINC90LXQv9GA0LDQstC40LvQtdC9INC/0L7QtNC/0LjRgSDQvtGCIEdQRywg0LrQvtC50YLQviDRgtCy0YrRgNC00LgsINGH0LUg0LUg0L3QsCDigJ4lc+KAnC4iCiAKLSM6IGNvbW1pdC5jOjExMjEKKyM6IGNvbW1pdC5jOjExNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgYSBHUEcgc2lnbmF0dXJlLiIKIG1zZ3N0ciAi0J/QvtC00LDQstCw0L3QtdGC0L4g4oCeJXPigJwg0LUg0LHQtdC3INC/0L7QtNC/0LjRgSDQvtGCIEdQRy4iCiAKLSM6IGNvbW1pdC5jOjExMjQKKyM6IGNvbW1pdC5jOjExNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGdvb2QgR1BHIHNpZ25hdHVyZSBieSAlc1xuIgogbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC10YLQviDigJ4lc+KAnCDQtSDRgSDQutC+0YDQtdC60YLQtdC9INC/0L7QtNC/0LjRgSDQvtGCIEdQRyDQvdCwIOKAniVz4oCcLlxuIgogCi0jOiBjb21taXQuYzoxMzc4CisjOiBjb21taXQuYzoxNDE1CiBtc2dpZCAiIgogIldhcm5pbmc6IGNvbW1pdCBtZXNzYWdlIGRpZCBub3QgY29uZm9ybSB0byBVVEYtOC5cbiIKICJZb3UgbWF5IHdhbnQgdG8gYW1lbmQgaXQgYWZ0ZXIgZml4aW5nIHRoZSBtZXNzYWdlLCBvciBzZXQgdGhlIGNvbmZpZ1xuIgpAQCAtMTUxOCw5NSArMjAwMCwyODEgQEAKICLQnNC+0LbQtSDQtNCwINC/0L7Qv9GA0LDQstC40YLQtSDQv9C+0LTQsNCy0LDQvdC10YLQviDQt9Cw0LXQtNC90L4g0YHRitGBINGB0YrQvtCx0YnQtdC90LjQtdGC0L4g0LjQu9C4INC80L7QttC1INC00LBcbiIKICLQt9Cw0LTQsNC00LXRgtC1INC/0L7Qu9C30LLQsNC90L7RgtC+INC60L7QtNC40YDQsNC90LUg0LIg0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5pMThuLmNvbW1pdGVuY29kaW5n4oCcLlxuIgogCi0jOiBjb21taXQtZ3JhcGguYzoxMDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ3JhcGggZmlsZSAlcyBpcyB0b28gc21hbGwiCi1tc2dzdHIgItGE0LDQudC70YrRgiDRgSDQs9GA0LDMgNGE0LAg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwIOKAniVz4oCcINC1INGC0LLRitGA0LTQtSDQvNCw0LvRitC6IgorIzogY29tbWl0LWdyYXBoLmM6MTMwCittc2dpZCAiY29tbWl0LWdyYXBoIGZpbGUgaXMgdG9vIHNtYWxsIgorbXNnc3RyICLRhNCw0LnQu9GK0YIg0YEg0LPRgNCwzIDRhNCwINC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQtSDRgtCy0YrRgNC00LUg0LzQsNC70YrQuiIKIAotIzogY29tbWl0LWdyYXBoLmM6MTE1CisjOiBjb21taXQtZ3JhcGguYzoxOTUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZ3JhcGggc2lnbmF0dXJlICVYIGRvZXMgbm90IG1hdGNoIHNpZ25hdHVyZSAlWCIKK21zZ2lkICJjb21taXQtZ3JhcGggc2lnbmF0dXJlICVYIGRvZXMgbm90IG1hdGNoIHNpZ25hdHVyZSAlWCIKIG1zZ3N0ciAi0L7RgtC/0LXRh9Cw0YLRitC60YrRgiDQvdCwINCz0YDQsMyA0YTQsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwICVYINC90LUg0YHRitCy0L/QsNC00LAg0YEgJVgiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEyMgorIzogY29tbWl0LWdyYXBoLmM6MjAyCiAjLCBjLWZvcm1hdAotbXNnaWQgImdyYXBoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKK21zZ2lkICJjb21taXQtZ3JhcGggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIgogbXNnc3RyICLQstC10YDRgdC40Y/RgtCwINC90LAg0LPRgNCwzIDRhNCwINGBINC/0L7QtNCw0LLQsNC90LjRj9GC0LAgJVgg0L3QtSDRgdGK0LLQv9Cw0LTQsCDRgSAlWCIKIAotIzogY29tbWl0LWdyYXBoLmM6MTI5CisjOiBjb21taXQtZ3JhcGguYzoyMDkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaGFzaCB2ZXJzaW9uICVYIGRvZXMgbm90IG1hdGNoIHZlcnNpb24gJVgiCi1tc2dzdHIgItCy0LXRgNGB0LjRj9GC0LAg0L3QsCDQvtGC0L/QtdGH0LDRgtGK0LrQsCDQvdCwINCz0YDQsMyA0YTQsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwICVYINC90LUg0YHRitCy0L/QsNC00LAg0YEgJVgiCittc2dpZCAiY29tbWl0LWdyYXBoIGhhc2ggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIgorbXNnc3RyICLQstC10YDRgdC40Y/RgtCwINC90LAg0LrQvtC90YLRgNC+0LvQvdCw0YLQsCDRgdGD0LzQsCDQvdCwINCz0YDQsMyA0YTQsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwICVYINC90LUg0YHRitCy0L/QsNC00LAg0YEgJVgiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjE1MworIzogY29tbWl0LWdyYXBoLmM6MjMyCittc2dpZCAiY29tbWl0LWdyYXBoIGNodW5rIGxvb2t1cCB0YWJsZSBlbnRyeSBtaXNzaW5nOyBmaWxlIG1heSBiZSBpbmNvbXBsZXRlIgorbXNnc3RyICIiCisi0LfQsNC/0LjRgdGK0YIg0LIg0YLQsNCx0LvQuNGG0LDRgtCwINC30LAg0L7RgtC60YrRgdC4INC70LjQv9GB0LLQsCwg0YTQsNC50LvRitGCINC30LAg0LPRgNCwzIDRhNCwINC80L7QttC1INC00LAg0LUg0L3QtdC/0YrQu9C10L0iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjI0MwogIywgYy1mb3JtYXQKLW1zZ2lkICJpbXByb3BlciBjaHVuayBvZmZzZXQgJTA4eCUwOHgiCittc2dpZCAiY29tbWl0LWdyYXBoIGltcHJvcGVyIGNodW5rIG9mZnNldCAlMDh4JTA4eCIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90L4g0L7RgtC80LXRgdGC0LLQsNC90LUg0L3QsCDQvtGC0LrRitGBOiAlMDh4JTA4eCIKIAotIzogY29tbWl0LWdyYXBoLmM6MTg5CisjOiBjb21taXQtZ3JhcGguYzoyODYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY2h1bmsgaWQgJTA4eCBhcHBlYXJzIG11bHRpcGxlIHRpbWVzIgorbXNnaWQgImNvbW1pdC1ncmFwaCBjaHVuayBpZCAlMDh4IGFwcGVhcnMgbXVsdGlwbGUgdGltZXMiCiBtc2dzdHIgItC+0YLQutGK0YHRitGCICUwOHgg0YHQtSDRj9Cy0Y/QstCwINC80L3QvtCz0L7QutGA0LDRgtC90L4iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjMwOAorIzogY29tbWl0LWdyYXBoLmM6MzUwCittc2dpZCAiY29tbWl0LWdyYXBoIGhhcyBubyBiYXNlIGdyYXBocyBjaHVuayIKK21zZ3N0ciAi0LHQsNC30L7QstC40Y/RgiDQvtGC0LrRitGBINC70LjQv9GB0LLQsCDQsiDQs9GA0LDMgNGE0LAg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCIKKworIzogY29tbWl0LWdyYXBoLmM6MzYwCittc2dpZCAiY29tbWl0LWdyYXBoIGNoYWluIGRvZXMgbm90IG1hdGNoIgorbXNnc3RyICLQstC10YDQuNCz0LDRgtCwINC90LAg0LPRgNCwzIDRhNCwINGBINC/0L7QtNCw0LLQsNC90LjRj9GC0LAg0L3QtSDRgdGK0LLQv9Cw0LTQsCIKKworIzogY29tbWl0LWdyYXBoLmM6NDA3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29tbWl0LWdyYXBoIGNoYWluOiBsaW5lICclcycgbm90IGEgaGFzaCIKK21zZ3N0ciAiIgorItCz0YDQtdGI0LrQsCDQstGK0LIg0LLQtdGA0LjQs9Cw0YLQsCDQvdCwINCz0YDQsMyA0YTQsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwOiDRgNC10LQg4oCeJXPigJwg0L3QtSDQtSDQutC+0L3RgtGA0L7Qu9C90LAg0YHRg9C80LAiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjQzMworbXNnaWQgInVuYWJsZSB0byBmaW5kIGFsbCBjb21taXQtZ3JhcGggZmlsZXMiCittc2dzdHIgItC90Y/QutC+0Lgg0YTQsNC50LvQvtCy0LUg0L3QsCDQs9GA0LDMgNGE0LAg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQvdC1INC80L7Qs9Cw0YIg0LTQsCDQsdGK0LTQsNGCINC+0YLQutGA0LjRgtC4IgorCisjOiBjb21taXQtZ3JhcGguYzo1NjQgY29tbWl0LWdyYXBoLmM6NjI0Cittc2dpZCAiaW52YWxpZCBjb21taXQgcG9zaXRpb24uIGNvbW1pdC1ncmFwaCBpcyBsaWtlbHkgY29ycnVwdCIKK21zZ3N0ciAiIgorItC90LXQv9GA0LDQstC40LvQvdCwINC/0L7Qt9C40YbQuNGPINC90LAg0L/QvtC00LDQstCw0L3QtdGC0L4uICDQktC10YDQvtGP0YLQvdC+INCz0YDQsNGE0YrRgiDRgSDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINC1INC/0L7QstGA0LXQtNC10L0iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZmluZCBjb21taXQgJXMiCiBtc2dzdHIgItC/0L7QtNCw0LLQsNC90LXRgtC+IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LrRgNC40YLQviIKIAotIzogY29tbWl0LWdyYXBoLmM6NjE3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1MgorIzogY29tbWl0LWdyYXBoLmM6ODU4IGJ1aWx0aW4vYW0uYzoxMjg3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgJXMiCittc2dzdHIgItC/0L7QtNCw0LLQsNC90LXRgtC+INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQsNC90LDQu9C40LfQuNGA0LDQvdC+OiAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTAxNyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdldCB0eXBlIG9mIG9iamVjdCAlcyIKIG1zZ3N0ciAi0LLQuNC00YrRgiDQvdCwINC+0LHQtdC60YLQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7Qv9GA0LXQtNC10LvQtdC9IgogCi0jOiBjb21taXQtZ3JhcGguYzo2NTEKLW1zZ2lkICJBbm5vdGF0aW5nIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgotbXNnc3RyICLQkNC90L7RgtC40YDQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINCyINCz0YDQsMyA0YTQsCIKKyM6IGNvbW1pdC1ncmFwaC5jOjEwNDkKK21zZ2lkICJMb2FkaW5nIGtub3duIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICLQl9Cw0YDQtdC20LTQsNC90LUg0L3QsCDQv9C+0LfQvdCw0YLQuNGC0LUg0L/QvtC00LDQstCw0L3QuNGPINCyINCz0YDQsMyA0YTQsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwIgogCi0jOiBjb21taXQtZ3JhcGguYzo2OTEKKyM6IGNvbW1pdC1ncmFwaC5jOjEwNjYKK21zZ2lkICJFeHBhbmRpbmcgcmVhY2hhYmxlIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICLQoNCw0LfRiNC40YDRj9Cy0LDQvdC1INC90LAg0LTQvtGB0YLQuNC20LjQvNC40YLQtSDQv9C+0LTQsNCy0LDQvdC40Y8g0LIg0LPRgNCwzIDRhNCwIgorCisjOiBjb21taXQtZ3JhcGguYzoxMDg1Cittc2dpZCAiQ2xlYXJpbmcgY29tbWl0IG1hcmtzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAi0JjQt9GH0LjRgdGC0LLQsNC90LUg0L3QsCDQvtGC0LHQtdC70Y/Qt9Cy0LDQvdC40Y/RgtCwINC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQsiDQs9GA0LDMgNGE0LAg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCIKKworIzogY29tbWl0LWdyYXBoLmM6MTEwNAogbXNnaWQgIkNvbXB1dGluZyBjb21taXQgZ3JhcGggZ2VuZXJhdGlvbiBudW1iZXJzIgogbXNnc3RyICLQmNC30YfQuNGB0LvRj9Cy0LDQvdC1INC90LAg0L3QvtC80LXRgNCw0YLQsCDQvdCwINC/0L7QutC+0LvQtdC90LjRj9GC0LAg0LIg0LPRgNCwzIDRhNCwINGBINC/0L7QtNCw0LLQsNC90LjRj9GC0LAiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjgwMyBjb21taXQtZ3JhcGguYzo4MjYgY29tbWl0LWdyYXBoLmM6ODUyCi1tc2dpZCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGgiCi1tc2dzdHIgItCe0YLQutGA0LjQstCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LjRj9GC0LAg0LIg0LPRgNCwzIDRhNCwIgorIzogY29tbWl0LWdyYXBoLmM6MTE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBpbiAlZCBwYWNrIgorbXNnaWRfcGx1cmFsICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBpbiAlZCBwYWNrcyIKK21zZ3N0clswXSAi0J7RgtC60YDQuNCy0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQsiDQs9GA0LDMgNGE0LAg0LIgJWQg0L/QsNC60LXRgtC10L0g0YTQsNC50LsiCittc2dzdHJbMV0gItCe0YLQutGA0LjQstCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LjRj9GC0LAg0LIg0LPRgNCwzIDRhNCwINCyICVkINC/0LDQutC10YLQvdC4INGE0LDQudC70LAiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjgxMgorIzogY29tbWl0LWdyYXBoLmM6MTE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBhZGRpbmcgcGFjayAlcyIKIG1zZ3N0ciAi0LPRgNC10YjQutCwINC/0YDQuCDQtNC+0LHQsNCy0Y/QvdC1INC90LAg0L/QsNC60LXRgtC10L0g0YTQsNC50Lsg4oCeJXPigJwiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjgxNAorIzogY29tbWl0LWdyYXBoLmM6MTE5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBvcGVuaW5nIGluZGV4IGZvciAlcyIKIG1zZ3N0ciAi0LPRgNC10YjQutCwINC/0YDQuCDQvtGC0LLQsNGA0Y/QvdC1INC90LAg0LjQvdC00LXQutGB0LAg0L3QsCDigJ4lc+KAnCIKIAotIzogY29tbWl0LWdyYXBoLmM6ODY4CisjOiBjb21taXQtZ3JhcGguYzoxMjIwCiAjLCBjLWZvcm1hdAotbXNnaWQgInRoZSBjb21taXQgZ3JhcGggZm9ybWF0IGNhbm5vdCB3cml0ZSAlZCBjb21taXRzIgotbXNnc3RyICLRhNC+0YDQvNCw0YLRitGCINC90LAg0LPRgNCwzIDRhNCwINGBINC/0L7QtNCw0LLQsNC90LjRj9GC0LAg0L3QtSDQvNC+0LbQtSDQtNCwINC30LDQv9C40YjQtSAlZCDQv9C+0LTQsNCy0LDQvdC40Y8iCittc2dpZCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGggZnJvbSAlZCByZWYiCittc2dpZF9wbHVyYWwgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGZyb20gJWQgcmVmcyIKK21zZ3N0clswXSAi0J7RgtC60YDQuNCy0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQsiDQs9GA0LDMgNGE0LAg0LjQt9C80LXQttC00YMgJWQg0YPQutCw0LfQsNGC0LXQuyIKK21zZ3N0clsxXSAi0J7RgtC60YDQuNCy0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQsiDQs9GA0LDMgNGE0LAg0LjQt9C80LXQttC00YMgJWQg0YPQutCw0LfQsNGC0LXQu9C4IgogCi0jOiBjb21taXQtZ3JhcGguYzo4OTUKLW1zZ2lkICJ0b28gbWFueSBjb21taXRzIHRvIHdyaXRlIGdyYXBoIgotbXNnc3RyICLQv9GA0LXQutCw0LvQtdC90L4g0LzQvdC+0LPQviDQv9C+0LTQsNCy0LDQvdC40Y8g0LfQsCDQt9Cw0L/QuNGB0LLQsNC90LUg0L3QsCDQs9GA0LDMgNGE0LAiCisjOiBjb21taXQtZ3JhcGguYzoxMjQwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29tbWl0IG9iamVjdCBpZDogJXMiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC90LAg0L7QsdC10LrRgi3Qv9C+0LTQsNCy0LDQvdC1OiDigJ4lc+KAnCIKIAotIzogY29tbWl0LWdyYXBoLmM6OTAyIG1pZHguYzo3NjkKKyM6IGNvbW1pdC1ncmFwaC5jOjEyNTUKK21zZ2lkICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBhbW9uZyBwYWNrZWQgb2JqZWN0cyIKK21zZ3N0ciAi0J7RgtC60YDQuNCy0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQsiDQs9GA0LDMgNGE0LAg0LjQt9C80LXQttC00YMg0L/QsNC60LXRgtC40YDQsNC90LjRgtC1INC+0LHQtdC60YLQuCIKKworIzogY29tbWl0LWdyYXBoLmM6MTI3MAorbXNnaWQgIkNvdW50aW5nIGRpc3RpbmN0IGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICLQn9GA0LXQsdGA0L7Rj9Cy0LDQvdC1INC90LAg0YDQsNC30LvQuNGH0L3QuNGC0LUg0L/QvtC00LDQstCw0L3QuNGPINCyINCz0YDQsMyA0YTQsCIKKworIzogY29tbWl0LWdyYXBoLmM6MTMwMAorbXNnaWQgIkZpbmRpbmcgZXh0cmEgZWRnZXMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICLQntGC0LrRgNC40LLQsNC90LUg0L3QsCDQvtGJ0LUg0LLRitGA0YXQvtCy0LUg0LIg0LPRgNCwzIDRhNCwINGBINC/0L7QtNCw0LLQsNC90LjRj9GC0LAiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEzNDYKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29ycmVjdCBudW1iZXIgb2YgYmFzZSBncmFwaCBpZHMiCittc2dzdHIgItC/0YDQsNCy0LjQu9C90LjRj9GCINCx0YDQvtC5INC90LAg0LHQsNC30L7QstC40YLQtSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNC4INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQv9C40YjQtSIKKworIzogY29tbWl0LWdyYXBoLmM6MTM3OSBtaWR4LmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAlcyIKIG1zZ3N0ciAi0YDQvtC00LjRgtC10LvRgdC60LjRgtC1INC00LjRgNC10LrRgtC+0YDQuNC4INC90LAg4oCeJXPigJwg0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiDRgdGK0LfQtNCw0LTQtdC90LgiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEwMDIKKyM6IGNvbW1pdC1ncmFwaC5jOjEzOTEgYnVpbHRpbi9pbmRleC1wYWNrLmM6MzA2IGJ1aWx0aW4vcmVwYWNrLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKK21zZ3N0ciAi0L/QsNC60LXRgtC90LjRj9GCINGE0LDQudC7IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdGK0LfQtNCw0LTQtdC9IgorCisjOiBjb21taXQtZ3JhcGguYzoxNDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRpbmcgb3V0IGNvbW1pdCBncmFwaCBpbiAlZCBwYXNzIgorbXNnaWRfcGx1cmFsICJXcml0aW5nIG91dCBjb21taXQgZ3JhcGggaW4gJWQgcGFzc2VzIgorbXNnc3RyWzBdICLQl9Cw0L/QsNC30LLQsNC90LUg0L3QsCDQs9GA0LDMgNGE0LAg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQsiAlZCDQv9Cw0YEiCittc2dzdHJbMV0gItCX0LDQv9Cw0LfQstCw0L3QtSDQvdCwINCz0YDQsMyA0YTQsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINCyICVkINC/0LDRgdCwIgorCisjOiBjb21taXQtZ3JhcGguYzoxNDkyCittc2dpZCAidW5hYmxlIHRvIG9wZW4gY29tbWl0LWdyYXBoIGNoYWluIGZpbGUiCittc2dzdHIgItGE0LDQudC70YrRgiDRgSDQstC10YDQuNCz0LDRgtCwINC90LAg0LPRgNCwzIDRhNCwINGBINC/0L7QtNCw0LLQsNC90LjRj9GC0LAg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7RgtCy0L7RgNC4IgorCisjOiBjb21taXQtZ3JhcGguYzoxNTA0Cittc2dpZCAiZmFpbGVkIHRvIHJlbmFtZSBiYXNlIGNvbW1pdC1ncmFwaCBmaWxlIgorbXNnc3RyICLQvtGB0L3QvtCy0L3QuNGP0YIg0YTQsNC50Lsg0L3QsCDQs9GA0LDMgNGE0LAg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvSIKKworIzogY29tbWl0LWdyYXBoLmM6MTUyNAorbXNnaWQgImZhaWxlZCB0byByZW5hbWUgdGVtcG9yYXJ5IGNvbW1pdC1ncmFwaCBmaWxlIgorbXNnc3RyICLQstGA0LXQvNC10L3QvdC40Y/RgiDRhNCw0LnQuyDQvdCwINCz0YDQsMyA0YTQsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0LXQuNC80LXQvdGD0LLQsNC9IgorCisjOiBjb21taXQtZ3JhcGguYzoxNjM3Cittc2dpZCAiU2Nhbm5pbmcgbWVyZ2VkIGNvbW1pdHMiCittc2dzdHIgItCi0YrRgNGB0LXQvdC1INC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDRgdGK0YEg0YHQu9C40LLQsNC90LjRjyIKKworIzogY29tbWl0LWdyYXBoLmM6MTY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGR1cGxpY2F0ZSBjb21taXQgaWQgJXMiCittc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvSwg0L/QvtCy0YLQsNGA0Y/RiSDRgdC1INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC90LAg0L/QvtC00LDQstCw0L3QtTogJXMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE2NzIKK21zZ2lkICJNZXJnaW5nIGNvbW1pdC1ncmFwaCIKK21zZ3N0ciAi0KHQu9C40LLQsNC90LUg0L3QsCDQs9GA0LDMgNGE0LAg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCIKKworIzogY29tbWl0LWdyYXBoLmM6MTg2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgY29tbWl0IGdyYXBoIGZvcm1hdCBjYW5ub3Qgd3JpdGUgJWQgY29tbWl0cyIKK21zZ3N0ciAi0YTQvtGA0LzQsNGC0YrRgiDQvdCwINCz0YDQsMyA0YTQsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINC90LUg0LzQvtC20LUg0LTQsCDQt9Cw0L/QuNGI0LUgJWQg0L/QvtC00LDQstCw0L3QuNGPIgorCisjOiBjb21taXQtZ3JhcGguYzoxODczCittc2dpZCAidG9vIG1hbnkgY29tbWl0cyB0byB3cml0ZSBncmFwaCIKK21zZ3N0ciAi0L/RgNC10LrQsNC70LXQvdC+INC80L3QvtCz0L4g0L/QvtC00LDQstCw0L3QuNGPINC30LAg0LfQsNC/0LjRgdCy0LDQvdC1INC90LAg0LPRgNCwzIDRhNCwIgorCisjOiBjb21taXQtZ3JhcGguYzoxOTYzCiBtc2dpZCAidGhlIGNvbW1pdC1ncmFwaCBmaWxlIGhhcyBpbmNvcnJlY3QgY2hlY2tzdW0gYW5kIGlzIGxpa2VseSBjb3JydXB0IgogbXNnc3RyICLQs9GA0LDRhNGK0YIg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQtSDRgSDQs9GA0LXRiNC90LAg0YHRg9C80LAg0LfQsCDQv9GA0L7QstC10YDQutCwIOKAlCDQstC10YDQvtGP0YLQvdC+INC1INC/0L7QstGA0LXQtNC10L0iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEwNDYKKyM6IGNvbW1pdC1ncmFwaC5jOjE5NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIGhhcyBpbmNvcnJlY3QgT0lEIG9yZGVyOiAlcyB0aGVuICVzIgorbXNnc3RyICIiCisi0L3QtdC/0YDQsNCy0LjQu9C90LAg0L/QvtC00YDQtdC00LHQsCDQvdCwINC+0LHQtdC60YLQuNGC0LUg0L/QviDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQsiDQs9GA0LDMgNGE0LAg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsDog4oCeJXPigJwgIgorItC1INC/0YDQtdC00Lgg4oCeJXPigJwsINCwINC90LUg0YLRgNGP0LHQstCwIgorCisjOiBjb21taXQtZ3JhcGguYzoxOTgzIGNvbW1pdC1ncmFwaC5jOjE5OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIGhhcyBpbmNvcnJlY3QgZmFub3V0IHZhbHVlOiBmYW5vdXRbJWRdID0gJXUgIT0gJXUiCittc2dzdHIgIiIKKyLQvdC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCINC30LAg0L7RgtC60YrRgSDQsiDQs9GA0LDMgNGE0LAg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsDogZmFub3V0WyVkXSA9ICV1LCDQsCAiCisi0YLRgNGP0LHQstCwINC00LAg0LUgJXUiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE5OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbW1pdCAlcyBmcm9tIGNvbW1pdC1ncmFwaCIKK21zZ3N0ciAi0L/QvtC00LDQstCw0L3QtSDigJ4lc+KAnCDQsiDQs9GA0LDMgNGE0LAg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQsNC90LDQu9C40LfQuNGA0LAiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwMDgKIG1zZ2lkICJWZXJpZnlpbmcgY29tbWl0cyBpbiBjb21taXQgZ3JhcGgiCiBtc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINCyINCz0YDQsMyA0YTQsCIKIAotIzogY29tcGF0L29ic3RhY2suYzo0MDUgY29tcGF0L29ic3RhY2suYzo0MDcKKyM6IGNvbW1pdC1ncmFwaC5jOjIwMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbW1pdCAlcyBmcm9tIG9iamVjdCBkYXRhYmFzZSBmb3IgY29tbWl0LWdyYXBoIgorbXNnc3RyICIiCisi0L/QvtC00LDQstCw0L3QtSDigJ4lc+KAnCDQsiDQsdCw0LfQsNGC0LAg0L7RgiDQtNCw0L3QvdC4INC60YrQvCDQs9GA0LDMgNGE0LAg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQvdC1INC80L7QttC1INC00LAg0YHQtSAiCisi0LDQvdCw0LvQuNC30LjRgNCwIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgInJvb3QgdHJlZSBPSUQgZm9yIGNvbW1pdCAlcyBpbiBjb21taXQtZ3JhcGggaXMgJXMgIT0gJXMiCittc2dzdHIgIiIKKyLQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGK0YIg0L3QsCDQvtCx0LXQutGCINC30LAg0LrQvtGA0LXQvdC+0LLQvtGC0L4g0LTRitGA0LLQviDQt9CwINC/0L7QtNCw0LLQsNC90LUg4oCeJXPigJwg0LIg0LPRgNCwzIDRhNCwINGBICIKKyLQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINC1IOKAniVz4oCcLCDQsCDRgtGA0Y/QsdCy0LAg0LTQsCDQtSDigJ4lc+KAnCIKKworIzogY29tbWl0LWdyYXBoLmM6MjAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggcGFyZW50IGxpc3QgZm9yIGNvbW1pdCAlcyBpcyB0b28gbG9uZyIKK21zZ3N0ciAi0YHQv9C40YHRitC60YrRgiDRgSDRgNC+0LTQuNGC0LXQu9C4INC90LAg4oCeJXPigJwg0LIg0LPRgNCwzIDRhNCwINGBINC/0L7QtNCw0LLQsNC90LjRj9GC0LAg0LUg0L/RgNC10LrQsNC70LXQvdC+INC00YrQu9GK0LMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIHBhcmVudCBmb3IgJXMgaXMgJXMgIT0gJXMiCittc2dzdHIgItGA0L7QtNC40YLQtdC70Y/RgiDQvdCwIOKAniVz4oCcINCyINCz0YDQsMyA0YTQsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINC1IOKAniVz4oCcLCDQsCDRgtGA0Y/QsdCy0LAg0LTQsCDQtSDigJ4lc+KAnCIKKworIzogY29tbWl0LWdyYXBoLmM6MjA2MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggcGFyZW50IGxpc3QgZm9yIGNvbW1pdCAlcyB0ZXJtaW5hdGVzIGVhcmx5IgorbXNnc3RyICLRgdC/0LjRgdGK0LrRitGCINGBINGA0L7QtNC40YLQtdC70Lgg0L3QsCDigJ4lc+KAnCDQsiDQs9GA0LDMgNGE0LAg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQtSDQv9GA0LXQutCw0LvQtdC90L4g0LrRitGBIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb21taXQtZ3JhcGggaGFzIGdlbmVyYXRpb24gbnVtYmVyIHplcm8gZm9yIGNvbW1pdCAlcywgYnV0IG5vbi16ZXJvIGVsc2V3aGVyZSIKK21zZ3N0ciAiIgorItC90L7QvNC10YDRitGCINC90LAg0L/QvtC60L7Qu9C10L3QuNC10YLQviDQvdCwINC/0L7QtNCw0LLQsNC90LUg4oCeJXPigJwg0LIg0LPRgNCwzIDRhNCwINGBINC/0L7QtNCw0LLQsNC90LjRj9GC0LAg0LUgMCwg0LAg0LTRgNGD0LPQsNC00LUgIgorItC90LUg0LUiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvbW1pdC1ncmFwaCBoYXMgbm9uLXplcm8gZ2VuZXJhdGlvbiBudW1iZXIgZm9yIGNvbW1pdCAlcywgYnV0IHplcm8gZWxzZXdoZXJlIgorbXNnc3RyICIiCisi0L3QvtC80LXRgNGK0YIg0L3QsCDQv9C+0LrQvtC70LXQvdC40LXRgtC+INC90LAg0L/QvtC00LDQstCw0L3QtSDigJ4lc+KAnCDQsiDQs9GA0LDMgNGE0LAg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQvdC1INC1IDAsINCwICIKKyLQtNGA0YPQs9Cw0LTQtSDQtSIKKworIzogY29tbWl0LWdyYXBoLmM6MjA4NQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggZ2VuZXJhdGlvbiBmb3IgY29tbWl0ICVzIGlzICV1ICE9ICV1IgorbXNnc3RyICIiCisi0L3QvtC80LXRgNGK0YIg0L3QsCDQv9C+0LrQvtC70LXQvdC40LXRgtC+INC90LAg0L/QvtC00LDQstCw0L3QtSDigJ4lc+KAnCDQsiDQs9GA0LDMgNGE0LAg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQtSAldSwg0LAgIgorItC00YDRg9Cz0LDQtNC1INC1ICV1IgorCisjOiBjb21taXQtZ3JhcGguYzoyMDkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdCBkYXRlIGZvciBjb21taXQgJXMgaW4gY29tbWl0LWdyYXBoIGlzICU8UFJJdU1BWD4gIT0gJTxQUkl1TUFYPiIKK21zZ3N0ciAiIgorItC00LDRgtCw0YLQsCDQvdCwINC/0L7QtNCw0LLQsNC90LUg0L3QsCDigJ4lc+KAnCDQsiDQs9GA0LDMgNGE0LAg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQtSAlPFBSSXVNQVg+LCDQsCDRgtGA0Y/QsdCy0LAg0LTQsCDQtSAiCisiJTxQUkl1TUFYPiIKKworIzogY29tcGF0L29ic3RhY2suYzo0MDYgY29tcGF0L29ic3RhY2suYzo0MDgKIG1zZ2lkICJtZW1vcnkgZXhoYXVzdGVkIgogbXNnc3RyICLQv9Cw0LzQtdGC0YLQsCDRgdCy0YrRgNGI0LgiCiAKLSM6IGNvbmZpZy5jOjEyMworIzogY29uZmlnLmM6MTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleGNlZWRlZCBtYXhpbXVtIGluY2x1ZGUgZGVwdGggKCVkKSB3aGlsZSBpbmNsdWRpbmdcbiIKQEAgLTE2MjEsMTYyICsyMjg5LDE2MiBAQAogIiAgICAlc1xuIgogItCi0L7QstCwINC80L7QttC1INC00LAg0YHQtSDQtNGK0LvQttC4INC90LAg0LfQsNGG0LjQutC70Y/QvdC1INC/0YDQuCDQstC80YrQutCy0LDQvdC10YLQvi4iCiAKLSM6IGNvbmZpZy5jOjEzOQorIzogY29uZmlnLmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBleHBhbmQgaW5jbHVkZSBwYXRoICclcyciCiBtc2dzdHIgItC/0YrRgtGP0YIg0LfQsCDQstC80YrQutCy0LDQvdC1IOKAniVz4oCc0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGA0LDQt9GI0LjRgNC10L0iCiAKLSM6IGNvbmZpZy5jOjE1MAorIzogY29uZmlnLmM6MTUxCiBtc2dpZCAicmVsYXRpdmUgY29uZmlnIGluY2x1ZGVzIG11c3QgY29tZSBmcm9tIGZpbGVzIgogbXNnc3RyICLQvtGC0L3QvtGB0LjRgtC10LvQvdC40YLQtSDQstC80YrQutCy0LDQvdC40Y8g0L3QsCDQutC+0L3RhNC40LPRg9GA0LDRhtC40Lgg0YLRgNGP0LHQstCwINC00LAg0LjQtNCy0LDRgiDQvtGCINGE0LDQudC70L7QstC1IgogCi0jOiBjb25maWcuYzoxOTAKKyM6IGNvbmZpZy5jOjE5NwogbXNnaWQgInJlbGF0aXZlIGNvbmZpZyBpbmNsdWRlIGNvbmRpdGlvbmFscyBtdXN0IGNvbWUgZnJvbSBmaWxlcyIKIG1zZ3N0ciAi0L7RgtC90L7RgdC40YLQtdC70L3QuNGC0LUg0YPRgdC70L7QstC90Lgg0LjQt9GA0LDQt9C4INC30LAg0LLQvNGK0LrQstCw0L3QtSDRgtGA0Y/QsdCy0LAg0LTQsCDQuNC00LLQsNGCINC+0YIg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGNvbmZpZy5jOjM0OAorIzogY29uZmlnLmM6Mzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImtleSBkb2VzIG5vdCBjb250YWluIGEgc2VjdGlvbjogJXMiCiBtc2dzdHIgItC60LvRjtGH0YrRgiDQvdC1INGB0YrQtNGK0YDQttCwINGA0LDQt9C00LXQuzog4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjM1NAorIzogY29uZmlnLmM6MzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImtleSBkb2VzIG5vdCBjb250YWluIHZhcmlhYmxlIG5hbWU6ICVzIgogbXNnc3RyICLQutC70Y7Rh9GK0YIg0L3QtSDRgdGK0LTRitGA0LbQsCDQuNC80LUg0L3QsCDQv9GA0L7QvNC10L3Qu9C40LLQsDog4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjM3OCBzZXF1ZW5jZXIuYzoyMjk2CisjOiBjb25maWcuYzo0MDYgc2VxdWVuY2VyLmM6MjUzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGtleTogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INC60LvRjtGHOiDigJ4lc+KAnCIKIAotIzogY29uZmlnLmM6Mzg0CisjOiBjb25maWcuYzo0MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXkgKG5ld2xpbmUpOiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0LrQu9GO0YcgKNC90L7QsiDRgNC10LQpOiDigJ4lc+KAnCIKIAotIzogY29uZmlnLmM6NDIwIGNvbmZpZy5jOjQzMgorIzogY29uZmlnLmM6NDQ4IGNvbmZpZy5jOjQ2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJib2d1cyBjb25maWcgcGFyYW1ldGVyOiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC+0L3QtdC9INC/0LDRgNCw0LzQtdGC0YrRgDog4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjQ2NworIzogY29uZmlnLmM6NDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJvZ3VzIGZvcm1hdCBpbiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YTQvtGA0LzQsNGCINCyIOKAniVz4oCcIgogCi0jOiBjb25maWcuYzo3OTMKKyM6IGNvbmZpZy5jOjgyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gYmxvYiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YDQtdC0INC30LAg0L3QsNGB0YLRgNC+0LnQutC4ICVkINCyIEJMT0Ig4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjc5NworIzogY29uZmlnLmM6ODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBmaWxlICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDRgNC10LQg0LfQsCDQvdCw0YHRgtGA0L7QudC60LggJWQg0LLRitCyINGE0LDQudC70LAg4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjgwMQorIzogY29uZmlnLmM6ODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YDQtdC0INC30LAg0L3QsNGB0YLRgNC+0LnQutC4ICVkINC90LAg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQstGF0L7QtCIKIAotIzogY29uZmlnLmM6ODA1CisjOiBjb25maWcuYzo4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN1Ym1vZHVsZS1ibG9iICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDRgNC10LQg0LfQsCDQvdCw0YHRgtGA0L7QudC60LggJWQg0LIgQkxPQiDQt9CwINC/0L7QtNC80L7QtNGD0Lsg4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjgwOQorIzogY29uZmlnLmM6ODM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBjb21tYW5kIGxpbmUgJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INGA0LXQtCDQt9CwINC90LDRgdGC0YDQvtC50LrQuCAlZCDQvdCwINC60L7QvNCw0L3QtNC90LjRjyDRgNC10LQg4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjgxMworIzogY29uZmlnLmM6ODQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YDQtdC0INC30LAg0L3QsNGB0YLRgNC+0LnQutC4ICVkINCyIOKAniVz4oCcIgogCi0jOiBjb25maWcuYzo5NTIKKyM6IGNvbmZpZy5jOjk3OAogbXNnaWQgIm91dCBvZiByYW5nZSIKIG1zZ3N0ciAi0LjQt9Cy0YrQvSDQtNC40LDQv9Cw0LfQvtC90LAiCiAKLSM6IGNvbmZpZy5jOjk1MgorIzogY29uZmlnLmM6OTc4CiBtc2dpZCAiaW52YWxpZCB1bml0IgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDQvNC10YDQvdCwINC10LTQuNC90LjRhtCwIgogCi0jOiBjb25maWcuYzo5NTgKKyM6IGNvbmZpZy5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJzogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINGH0LjRgdC70L7QstCwINGB0YLQvtC50L3QvtGB0YIg4oCeJXPigJwg0LfQsCDigJ4lc+KAnDogJXMiCiAKLSM6IGNvbmZpZy5jOjk2MworIzogY29uZmlnLmM6OTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGJsb2IgJXM6ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDRh9C40YHQu9C+0LLQsCDRgdGC0L7QudC90L7RgdGCIOKAniVz4oCcINC30LAg4oCeJXPigJwg0LIgQkxPQiDigJ4lc+KAnDogJXMiCiAKLSM6IGNvbmZpZy5jOjk2NgorIzogY29uZmlnLmM6MTAwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBmaWxlICVzOiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90LAg0YfQuNGB0LvQvtCy0LAg0YHRgtC+0LnQvdC+0YHRgiDigJ4lc+KAnCDQt9CwIOKAniVz4oCcINCy0YrQsiDRhNCw0LnQu9CwIOKAniVz4oCcOiAlcyIKIAotIzogY29uZmlnLmM6OTY5CisjOiBjb25maWcuYzoxMDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90LAg0YfQuNGB0LvQvtCy0LAg0YHRgtC+0LnQvdC+0YHRgiDigJ4lc+KAnCDQt9CwIOKAniVz4oCcINC90LAg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQstGF0L7QtDogJXMiCiAKLSM6IGNvbmZpZy5jOjk3MgorIzogY29uZmlnLmM6MTAwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdWJtb2R1bGUtYmxvYiAlczogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINGH0LjRgdC70L7QstCwINGB0YLQvtC50L3QvtGB0YIg4oCeJXPigJwg0LfQsCDigJ4lc+KAnCDQsiBCTE9CINC+0YIg0L/QvtC00LzQvtC00YPQuyDigJ4lc+KAnDogJXMiCiAKLSM6IGNvbmZpZy5jOjk3NQorIzogY29uZmlnLmM6MTAxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBjb21tYW5kIGxpbmUgJXM6ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDRh9C40YHQu9C+0LLQsCDRgdGC0L7QudC90L7RgdGCIOKAniVz4oCcINC30LAg4oCeJXPigJwg0L3QsCDQutC+0LzQsNC90LTQvdC40Y8g0YDQtdC0IOKAniVz4oCcOiAlcyIKIAotIzogY29uZmlnLmM6OTc4CisjOiBjb25maWcuYzoxMDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzOiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90LAg0YfQuNGB0LvQvtCy0LAg0YHRgtC+0LnQvdC+0YHRgiDigJ4lc+KAnCDQt9CwIOKAniVz4oCcINCyICVzOiAlcyIKIAotIzogY29uZmlnLmM6MTA3MworIzogY29uZmlnLmM6MTEwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhwYW5kIHVzZXIgZGlyIGluOiAnJXMnIgogbXNnc3RyICLQtNC+0LzQsNGI0L3QsNGC0LAg0L/QsNC/0LrQsCDQvdCwINC/0L7RgtGA0LXQsdC40YLQtdC70Y8g0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgtCwOiDigJ4lc+KAnCIKIAotIzogY29uZmlnLmM6MTA4MgorIzogY29uZmlnLmM6MTExNwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGZvciAnJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQtSDQv9GA0LDQstC40LvQvdCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCDQstGA0LXQvNC1INC30LAg4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjExNzMKKyM6IGNvbmZpZy5jOjEyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWJicmV2IGxlbmd0aCBvdXQgb2YgcmFuZ2U6ICVkIgogbXNnc3RyICLQtNGK0LvQttC40L3QsNGC0LAg0L3QsCDRgdGK0LrRgNCw0YnQsNCy0LDQvdC1INC1INC40LfQstGK0L0g0LjQvdGC0LXRgNCy0LDQu9CwIChbNDsgNDBdKTogJWQiCiAKLSM6IGNvbmZpZy5jOjExODcgY29uZmlnLmM6MTE5OAorIzogY29uZmlnLmM6MTIyMiBjb25maWcuYzoxMjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCB6bGliIGNvbXByZXNzaW9uIGxldmVsICVkIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QviDQvdC40LLQviDQvdCwINC60L7QvNC/0YDQtdGB0LjRgNCw0L3QtTogJWQiCiAKLSM6IGNvbmZpZy5jOjEyOTAKKyM6IGNvbmZpZy5jOjEzMjUKIG1zZ2lkICJjb3JlLmNvbW1lbnRDaGFyIHNob3VsZCBvbmx5IGJlIG9uZSBjaGFyYWN0ZXIiCiBtc2dzdHIgItC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCeY29yZS5jb21tZW50Q2hhcuKAnCDRgtGA0Y/QsdCy0LAg0LTQsCDQtSDRgdCw0LzQviDQtdC00LjQvSDQt9C90LDQuiIKIAotIzogY29uZmlnLmM6MTMyMworIzogY29uZmlnLmM6MTM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG1vZGUgZm9yIG9iamVjdCBjcmVhdGlvbjogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INGA0LXQttC40Lwg0LfQsCDRgdGK0LfQtNCw0LLQsNC90LXRgtC+INC90LAg0L7QsdC10LrRgtC4OiAlcyIKIAotIzogY29uZmlnLmM6MTM5NQorIzogY29uZmlnLmM6MTQzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgdmFsdWUgZm9yICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCINC30LAg4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjE0MjEKKyM6IGNvbmZpZy5jOjE0NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCDigJ4lc+KAnDog4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjE0MjIKKyM6IGNvbmZpZy5jOjE0NTcKIG1zZ2lkICJtdXN0IGJlIG9uZSBvZiBub3RoaW5nLCBtYXRjaGluZywgc2ltcGxlLCB1cHN0cmVhbSBvciBjdXJyZW50IgogbXNnc3RyICIiCiAi0YLRgNGP0LHQstCwINC00LAg0LUg0LXQtNC90LAg0L7RgiDRgdC70LXQtNC90LjRgtC1INGB0YLQvtC50L3QvtGB0YLQuDog4oCebm90aGluZ+KAnCAo0LHQtdC3INC40LfRgtC70LDRgdC60LLQsNC90LUg0L/RgNC4INC70LjQv9GB0LAgIgpAQCAtMTc4NCwxMzkgKzI0NTIsMTMyIEBACiAi4oCec2ltcGxl4oCcICjQutC70L7QvdGK0YIg0YHRitGBINGB0YrRidC+0YLQviDQuNC80LUsINC+0YIg0LrQvtC50YLQviDRgdC1INC40LfQtNGK0YDQv9Cy0LApLCDigJ51cHN0cmVhbeKAnCAo0LrQu9C+0L3RitGCLCAiCiAi0L7RgiDQutC+0LnRgtC+INGB0LUg0LjQt9C00YrRgNC/0LLQsCkg0LjQu9C4IOKAnmN1cnJlbnTigJwgKNC60LvQvtC90YrRgiDRgdGK0YEg0YHRitGJ0L7RgtC+INC40LzQtSkiCiAKLSM6IGNvbmZpZy5jOjE0ODEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzkxCisjOiBjb25maWcuYzoxNTE4IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjayBjb21wcmVzc2lvbiBsZXZlbCAlZCIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90L4g0L3QuNCy0L4g0L3QsCDQutC+0LzQv9GA0LXRgdC40YDQsNC90LUg0L/RgNC4INC/0LDQutC10YLQuNGA0LDQvdC1OiAlZCIKIAotIzogY29uZmlnLmM6MTYwMgorIzogY29uZmlnLmM6MTYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbG9hZCBjb25maWcgYmxvYiBvYmplY3QgJyVzJyIKIG1zZ3N0ciAi0L7QsdC10LrRgtGK0YItQkxPQiDigJ4lc+KAnCDRgSDQutC+0L3RhNC40LPRg9GA0LDRhtC40Lgg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsNGA0LXQtNC4IgogCi0jOiBjb25maWcuYzoxNjA1CisjOiBjb25maWcuYzoxNjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSAnJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgYmxvYiIKIG1zZ3N0ciAi0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeJXPigJwg0L3QtSDRgdC+0YfQuCDQutGK0Lwg0L7QsdC10LrRgi1CTE9CIgogCi0jOiBjb25maWcuYzoxNjIyCisjOiBjb25maWcuYzoxNjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZXNvbHZlIGNvbmZpZyBibG9iICclcyciCiBtc2dzdHIgItC+0LHQtdC60YLRitGCLUJMT0Ig4oCeJXPigJwg0YEg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LrRgNC40YIiCiAKLSM6IGNvbmZpZy5jOjE2NTIKKyM6IGNvbmZpZy5jOjE2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LDQvdCw0LvQuNC30LjRgNCw0L0iCiAKLSM6IGNvbmZpZy5jOjE3MDUKKyM6IGNvbmZpZy5jOjE3NDUKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90Lgg0L3QsNGB0YLRgNC+0LnQutC4INC+0YIg0LrQvtC80LDQvdC00L3QuNGPINGA0LXQtCIKIAotIzogY29uZmlnLmM6MjAzNworIzogY29uZmlnLmM6MjA5NgogbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKIG1zZ3N0ciAi0L3QtdC+0YfQsNC60LLQsNC90LAg0LPRgNC10YjQutCwINC/0YDQuCDQuNC30YfQuNGC0LDQvdC10YLQviDQvdCwINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQvtC90L3QuNGC0LUg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGNvbmZpZy5jOjIyMDcKKyM6IGNvbmZpZy5jOjIyNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCAlczogJyVzJyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C10L0gJXM6IOKAniVz4oCcIgogCi0jOiBjb25maWcuYzoyMjUwCi0jLCBjLWZvcm1hdAotbXNnaWQgInVua25vd24gY29yZS51bnRyYWNrZWRDYWNoZSB2YWx1ZSAnJXMnOyB1c2luZyAna2VlcCcgZGVmYXVsdCB2YWx1ZSIKLW1zZ3N0ciAiIgotItC90LXQv9C+0LfQvdCw0YLQsCDRgdGC0L7QudC90L7RgdGCIOKAniVz4oCcINC30LAg0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5jb3JlLnVudHJhY2tlZENhY2hl4oCcLiAg0KnQtSDRgdC1INC/0L7Qu9C30LLQsCAiCi0i0YHRgtCw0L3QtNCw0YDRgtC90LDRgtCwINGB0YLQvtC50L3QvtGB0YIg4oCea2VlcOKAnCAo0LfQsNC/0LDQt9Cy0LDQvdC1KSIKLQotIzogY29uZmlnLmM6MjI3NgorIzogY29uZmlnLmM6MjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2UgdmFsdWUgJyVkJyBzaG91bGQgYmUgYmV0d2VlbiAwIGFuZCAxMDAiCiBtc2dzdHIgIiIKICLRgdGC0L7QudC90L7RgdGC0YLQsCDQvdCwIOKAnnNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZeKAnCDRgtGA0Y/QsdCy0LAg0LTQsCDQtSDQvNC10LbQtNGDIDEg0LggMTAwLCDQsCDQvdC1ICIKICIlZCIKIAotIzogY29uZmlnLmM6MjMyMgorIzogY29uZmlnLmM6MjM1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyVzJyBmcm9tIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgItC90LXRgNCw0LfQv9C+0LfQvdCw0YLQsCDRgdGC0L7QudC90L7RgdGCIOKAniVz4oCcINC+0YIg0LrQvtC80LDQvdC00L3QuNGPINGA0LXQtCIKIAotIzogY29uZmlnLmM6MjMyNAorIzogY29uZmlnLmM6MjM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIHZhcmlhYmxlICclcycgaW4gZmlsZSAnJXMnIGF0IGxpbmUgJWQiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINC90LDRgdGC0YDQvtC50LrQsCDigJ4lc+KAnCDQstGK0LIg0YTQsNC50LvQsCDigJ4lc+KAnCDQvdCwINGA0LXQtCDihJYlZCIKIAotIzogY29uZmlnLmM6MjQwNQorIzogY29uZmlnLmM6MjQ0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNlY3Rpb24gbmFtZSAnJXMnIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QviDQuNC80LUg0L3QsCDRgNCw0LfQtNC10Ls6IOKAniVz4oCcIgogCi0jOiBjb25maWcuYzoyNDM3CisjOiBjb25maWcuYzoyNDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBtdWx0aXBsZSB2YWx1ZXMiCiBtc2dzdHIgItC30LDQtNCw0LTQtdC90Lgg0YHQsCDQvdGP0LrQvtC70LrQviDRgdGC0L7QudC90L7RgdGC0Lgg0LfQsCDigJ4lc+KAnCIKIAotIzogY29uZmlnLmM6MjQ2NgorIzogY29uZmlnLmM6MjUwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgbmV3IGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKIG1zZ3N0ciAi0L3QvtCy0LjRj9GCINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQvtC90LXQvSDRhNCw0LnQuyDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LDQt9C10L0iCiAKLSM6IGNvbmZpZy5jOjI3MTcgY29uZmlnLmM6MzA0MQorIzogY29uZmlnLmM6Mjc1MyBjb25maWcuYzozMDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb2NrIGNvbmZpZyBmaWxlICVzIgogbXNnc3RyICLQutC+0L3RhNC40LPRg9GA0LDRhtC40L7QvdC90LjRj9GCINGE0LDQudC7IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0LrQu9GO0YfQtdC9IgogCi0jOiBjb25maWcuYzoyNzI4CisjOiBjb25maWcuYzoyNzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9wZW5pbmcgJXMiCiBtc2dzdHIgItC+0YLQstCw0YDRj9C90LUg0L3QsCDigJ4lc+KAnCIKIAotIzogY29uZmlnLmM6Mjc2MyBidWlsdGluL2NvbmZpZy5jOjMyNworIzogY29uZmlnLmM6Mjc5OSBidWlsdGluL2NvbmZpZy5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHBhdHRlcm46ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDRiNCw0LHQu9C+0L06ICVzIgogCi0jOiBjb25maWcuYzoyNzg4CisjOiBjb25maWcuYzoyODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29uZmlnIGZpbGUgJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQvtC90LXQvSDRhNCw0LnQuzog4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjI4MDEgY29uZmlnLmM6MzA1NAorIzogY29uZmlnLmM6MjgzNyBjb25maWcuYzozMDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZzdGF0IG9uICVzIGZhaWxlZCIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg4oCeZnN0YXTigJwg0LLRitGA0YXRgyDigJ4lc+KAnCIKIAotIzogY29uZmlnLmM6MjgxMgorIzogY29uZmlnLmM6Mjg0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbW1hcCAnJXMnIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDigJ5tbWFw4oCcINCy0YrRgNGF0YMg4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjI4MjEgY29uZmlnLmM6MzA1OQorIzogY29uZmlnLmM6Mjg1NyBjb25maWcuYzozMDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNobW9kIG9uICVzIGZhaWxlZCIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdCwINGB0LzRj9C90LAg0L3QsCDQv9GA0LDQstCwINGBIOKAnmNobW9k4oCcINCy0YrRgNGF0YMg4oCeJXPigJwiCiAKLSM6IGNvbmZpZy5jOjI5MDYgY29uZmlnLmM6MzE1NgorIzogY29uZmlnLmM6Mjk0MiBjb25maWcuYzozMTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBjb25maWcgZmlsZSAlcyIKIG1zZ3N0ciAi0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC+0L3QvdC40Y/RgiDRhNCw0LnQuyDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LjRgdCw0L0iCiAKLSM6IGNvbmZpZy5jOjI5NDAKKyM6IGNvbmZpZy5jOjI5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCAnJXMnIHRvICclcyciCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQtNCw0LTQtSDQtNCwINC1IOKAniVz4oCcIgogCi0jOiBjb25maWcuYzoyOTQyIGJ1aWx0aW4vcmVtb3RlLmM6NzgyCisjOiBjb25maWcuYzoyOTc4IGJ1aWx0aW4vcmVtb3RlLmM6NzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1bnNldCAnJXMnIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0LXQvNCw0YXQvdC1IgogCi0jOiBjb25maWcuYzozMDMyCisjOiBjb25maWcuYzozMDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgc2VjdGlvbiBuYW1lOiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90L4g0LjQvNC1INC90LAg0YDQsNC30LTQtdC7OiAlcyIKIAotIzogY29uZmlnLmM6MzE5OQorIzogY29uZmlnLmM6MzIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIHZhbHVlIGZvciAnJXMnIgogbXNnc3RyICLQu9C40L/RgdCy0LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwIOKAniVz4oCcIgpAQCAtMTk3MCw1MCArMjYzMSw0NSBAQAogbXNnaWQgInJlcG9zaXRvcnkgb24gdGhlIG90aGVyIGVuZCBjYW5ub3QgYmUgc2hhbGxvdyIKIG1zZ3N0ciAi0L7RgtGB0YDQtdGJ0L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1INC90LUg0LzQvtC20LUg0LTQsCDQtSDQv9C70LjRgtC60L4iCiAKLSM6IGNvbm5lY3QuYzozMTAgZmV0Y2gtcGFjay5jOjE4MiBidWlsdGluL2FyY2hpdmUuYzo2MwotIywgYy1mb3JtYXQKLW1zZ2lkICJyZW1vdGUgZXJyb3I6ICVzIgotbXNnc3RyICLQvtGC0LTQsNC70LXRh9C10L3QsCDQs9GA0LXRiNC60LA6ICVzIgotCi0jOiBjb25uZWN0LmM6MzE2CisjOiBjb25uZWN0LmM6MzEzCiBtc2dpZCAiaW52YWxpZCBwYWNrZXQiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INC/0LDQutC10YIiCiAKLSM6IGNvbm5lY3QuYzozMzYKKyM6IGNvbm5lY3QuYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJvdG9jb2wgZXJyb3I6IHVuZXhwZWN0ZWQgJyVzJyIKIG1zZ3N0ciAi0L/RgNC+0YLQvtC60L7Qu9C90LAg0LPRgNC10YjQutCwOiDQvdC10L7Rh9Cw0LrQstCw0L3QviDigJ4lc+KAnCIKIAotIzogY29ubmVjdC5jOjQ0NAorIzogY29ubmVjdC5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGxzLXJlZnMgcmVzcG9uc2U6ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQvtGC0LPQvtCy0L7RgCDQvdCwIOKAnmxzLXJlZnPigJw6IOKAniVz4oCcIgogCi0jOiBjb25uZWN0LmM6NDQ4CisjOiBjb25uZWN0LmM6NDQ1CiBtc2dpZCAiZXhwZWN0ZWQgZmx1c2ggYWZ0ZXIgcmVmIGxpc3RpbmciCiBtc2dzdHIgItC+0YfQsNC60LLQsNGI0LUg0YHQtSDQuNC30YfQuNGB0YLQstCw0L3QtSDQvdCwINCx0YPRhNC10YDQuNGC0LUg0YHQu9C10LQg0LjQt9Cx0YDQvtGP0LLQsNC90LXRgtC+INC90LAg0YPQutCw0LfQsNGC0LXQu9C40YLQtSIKIAotIzogY29ubmVjdC5jOjU0NworIzogY29ubmVjdC5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm90b2NvbCAnJXMnIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgItC/0YDQvtGC0L7QutC+0Lsg4oCeJXPigJwg0L3QtSDRgdC1INC/0L7QtNC00YrRgNC20LAiCiAKLSM6IGNvbm5lY3QuYzo1OTgKKyM6IGNvbm5lY3QuYzo1OTUKIG1zZ2lkICJ1bmFibGUgdG8gc2V0IFNPX0tFRVBBTElWRSBvbiBzb2NrZXQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQt9Cw0LTQsNCy0LDQvdC1INC90LAg4oCeU09fS0VFUEFMSVZF4oCcINC90LAg0LPQvdC10LfQtNC+IgogCi0jOiBjb25uZWN0LmM6NjM4IGNvbm5lY3QuYzo3MDEKKyM6IGNvbm5lY3QuYzo2MzUgY29ubmVjdC5jOjY5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJMb29raW5nIHVwICVzIC4uLiAiCiBtc2dzdHIgItCi0YrRgNGB0LXQvdC1INC90LAg4oCeJXPigJzigKYgIgogCi0jOiBjb25uZWN0LmM6NjQyCisjOiBjb25uZWN0LmM6NjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBsb29rIHVwICVzIChwb3J0ICVzKSAoJXMpIgogbXNnc3RyICLigJ4lc+KAnCAo0L/QvtGA0YIgJXMpINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQutGA0LjQtSAo4oCeJXPigJwpIgogCiAjLiBUUkFOU0xBVE9SUzogdGhpcyBpcyB0aGUgZW5kIG9mICJMb29raW5nIHVwICVzIC4uLiAiCi0jOiBjb25uZWN0LmM6NjQ2IGNvbm5lY3QuYzo3MTcKKyM6IGNvbm5lY3QuYzo2NDMgY29ubmVjdC5jOjcxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZG9uZS5cbiIKQEAgLTIwMjIsNyArMjY3OCw3IEBACiAi0LPQvtGC0L7QstC+LlxuIgogItCh0LLRitGA0LfQstCw0L3QtSDQutGK0Lwg4oCeJXPigJwgKNC/0L7RgNGCICVzKeKApiIKIAotIzogY29ubmVjdC5jOjY2OCBjb25uZWN0LmM6NzQ1CisjOiBjb25uZWN0LmM6NjY1IGNvbm5lY3QuYzo3NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInVuYWJsZSB0byBjb25uZWN0IHRvICVzOlxuIgpAQCAtMjAzMiw3NyArMjY4OCw3NyBAQAogIiVzIgogCiAjLiBUUkFOU0xBVE9SUzogdGhpcyBpcyB0aGUgZW5kIG9mICJDb25uZWN0aW5nIHRvICVzIChwb3J0ICVzKSAuLi4gIgotIzogY29ubmVjdC5jOjY3NCBjb25uZWN0LmM6NzUxCisjOiBjb25uZWN0LmM6NjcxIGNvbm5lY3QuYzo3NDgKIG1zZ2lkICJkb25lLiIKIG1zZ3N0ciAi0LTQtdC50YHRgtCy0LjQtdGC0L4g0LfQsNCy0YrRgNGI0LguIgogCi0jOiBjb25uZWN0LmM6NzA1CisjOiBjb25uZWN0LmM6NzAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBsb29rIHVwICVzICglcykiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQutGA0LjQtSAoJXMpIgogCi0jOiBjb25uZWN0LmM6NzExCisjOiBjb25uZWN0LmM6NzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gcG9ydCAlcyIKIG1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgiDQv9C+0YDRgiDigJ4lc+KAnCIKIAotIzogY29ubmVjdC5jOjg0OCBjb25uZWN0LmM6MTE3NAorIzogY29ubmVjdC5jOjg0NSBjb25uZWN0LmM6MTE3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJzdHJhbmdlIGhvc3RuYW1lICclcycgYmxvY2tlZCIKIG1zZ3N0ciAi0L3QtdC+0LHQuNGH0LDQudC90L7RgtC+INC40LzQtSDQvdCwINGF0L7RgdGCIOKAniVz4oCcINC1INCx0LvQvtC60LjRgNCw0L3QviIKIAotIzogY29ubmVjdC5jOjg1MAorIzogY29ubmVjdC5jOjg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzdHJhbmdlIHBvcnQgJyVzJyBibG9ja2VkIgogbXNnc3RyICLQvdC10L7QsdC40YfQsNC50L3QuNGP0YIg0L/QvtGA0YIg4oCeJXPigJwg0LUg0LHQu9C+0LrQuNGA0LDQvSIKIAotIzogY29ubmVjdC5jOjg2MAorIzogY29ubmVjdC5jOjg1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhcnQgcHJveHkgJXMiCiBtc2dzdHIgItC/0L7RgdGA0LXQtNC90LjQutGK0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRgtCw0YDRgtC40YDQsCIKIAotIzogY29ubmVjdC5jOjkyNworIzogY29ubmVjdC5jOjkyOAogbXNnaWQgIm5vIHBhdGggc3BlY2lmaWVkOyBzZWUgJ2dpdCBoZWxwIHB1bGwnIGZvciB2YWxpZCB1cmwgc3ludGF4IgogbXNnc3RyICIiCiAi0L3QtSDQtSDRg9C60LDQt9Cw0L0g0L/RitGCLiDQn9GA0L7QstC10YDQtdGC0LUg0YHQuNC90YLQsNC60YHQuNGB0LAg0YEg0LrQvtC80LDQvdC00LDRgtCwOlxuIgogIlxuIgogIiAgICBnaXQgaGVscCBwdWxsIgogCi0jOiBjb25uZWN0LmM6MTEyMgorIzogY29ubmVjdC5jOjExMjMKIG1zZ2lkICJzc2ggdmFyaWFudCAnc2ltcGxlJyBkb2VzIG5vdCBzdXBwb3J0IC00IgogbXNnc3RyICLQstCw0YDQuNCw0L3RgtGK0YIg0LfQsCDigJ5zc2jigJwg4oCUIOKAnnNpbXBsZeKAnCAo0L7Qv9GA0L7RgdGC0LXQvSksINC90LUg0L/QvtC00LTRitGA0LbQsCDQvtC/0YbQuNGP0YLQsCDigJ4tNOKAnCIKIAotIzogY29ubmVjdC5jOjExMzQKKyM6IGNvbm5lY3QuYzoxMTM1CiBtc2dpZCAic3NoIHZhcmlhbnQgJ3NpbXBsZScgZG9lcyBub3Qgc3VwcG9ydCAtNiIKIG1zZ3N0ciAi0LLQsNGA0LjQsNC90YLRitGCINC30LAg4oCec3No4oCcIOKAlCDigJ5zaW1wbGXigJwgKNC+0L/RgNC+0YHRgtC10L0pLCDQvdC1INC/0L7QtNC00YrRgNC20LAg0L7Qv9GG0LjRj9GC0LAg4oCeLTbigJwiCiAKLSM6IGNvbm5lY3QuYzoxMTUxCisjOiBjb25uZWN0LmM6MTE1MgogbXNnaWQgInNzaCB2YXJpYW50ICdzaW1wbGUnIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyBwb3J0IgogbXNnc3RyICIiCiAi0LLQsNGA0LjQsNC90YLRitGCINC30LAg4oCec3No4oCcIOKAlCDigJ5zaW1wbGXigJwgKNC+0L/RgNC+0YHRgtC10L0pLCDQvdC1INC/0L7QtNC00YrRgNC20LAg0LfQsNC00LDQstCw0L3QtdGC0L4g0L3QsCDQv9C+0YDRgiIKIAotIzogY29ubmVjdC5jOjEyNjIKKyM6IGNvbm5lY3QuYzoxMjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0cmFuZ2UgcGF0aG5hbWUgJyVzJyBibG9ja2VkIgogbXNnc3RyICLQvdC10L7QsdC40YfQsNC50L3QuNGP0YIg0L/RitGCIOKAniVz4oCcINC1INCx0LvQvtC60LjRgNCw0L0iCiAKLSM6IGNvbm5lY3QuYzoxMzA3CisjOiBjb25uZWN0LmM6MTMxMQogbXNnaWQgInVuYWJsZSB0byBmb3JrIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0YHRitC30LTQsNCy0LDQvdC1INC90LAg0L/RgNC+0YbQtdGBIgogCi0jOiBjb25uZWN0ZWQuYzo2OCBidWlsdGluL2ZzY2suYzoyMDIgYnVpbHRpbi9wcnVuZS5jOjE0NworIzogY29ubmVjdGVkLmM6ODkgYnVpbHRpbi9mc2NrLmM6MjA4IGJ1aWx0aW4vcHJ1bmUuYzo0MwogbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIKLW1zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDQvdCwINCy0YDRitC30LrQsNGC0LAiCittc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0L3QsCDRgdCy0YrRgNC30LDQvdC+0YHRgtGC0LAiCiAKLSM6IGNvbm5lY3RlZC5jOjgwCisjOiBjb25uZWN0ZWQuYzoxMDEKIG1zZ2lkICJDb3VsZCBub3QgcnVuICdnaXQgcmV2LWxpc3QnIgogbXNnc3RyICLQmtC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0IHJldi1saXN04oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30L/RitC70L3QtdC90LAuIgogCi0jOiBjb25uZWN0ZWQuYzoxMDAKKyM6IGNvbm5lY3RlZC5jOjEyMQogbXNnaWQgImZhaWxlZCB3cml0ZSB0byByZXYtbGlzdCIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQtdC9INC30LDQv9C40YEg0L3QsCDRgdC/0LjRgdGK0LrQsCDRgSDQstC10YDRgdC40LjRgtC1IgogCi0jOiBjb25uZWN0ZWQuYzoxMDcKKyM6IGNvbm5lY3RlZC5jOjEyOAogbXNnaWQgImZhaWxlZCB0byBjbG9zZSByZXYtbGlzdCdzIHN0ZGluIgogbXNnc3RyICLRgdGC0LDQvdC00LDRgNGC0L3QuNGP0YIg0LLRhdC+0LQg0L3QsCDRgdC/0LjRgdGK0LrQsCDRgSDQstC10YDRgdC40LjRgtC1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0YLQstC+0YDQtdC9IgogCkBAIC0yMTQzLDMwICsyNzk5LDMwIEBACiAi0KTQsNC50LvRitGCINGJ0LUg0L7RgdGC0LDQvdC1INGBINC/0YrRgNCy0L7QvdCw0YfQsNC70L3QuNGC0LUg0LfQvdCw0YbQuCDQt9CwINC60YDQsNC5INC90LAg0YDQtdC0INCyINGA0LDQsdC+0YLQvdCw0YLQsCDQstC4ICIKICLQtNC40YDQtdC60YLQvtGA0LjRjy4iCiAKLSM6IGNvbnZlcnQuYzoyODAKKyM6IGNvbnZlcnQuYzoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQk9NIGlzIHByb2hpYml0ZWQgaW4gJyVzJyBpZiBlbmNvZGVkIGFzICVzIgogbXNnc3RyICIiCiAi4oCeJXPigJwg0L3QtSDRgtGA0Y/QsdCy0LAg0LTQsCDRgdGK0LTRitGA0LbQsCDQvNCw0YDQutC10YAg0LfQsCDQv9C+0YDQtdC00L3QvtGB0YLRgtCwINC90LAg0LHQsNC50YLQvtCy0LXRgtC1IChCT00pINC/0YDQuCAiCiAi0LrQvtC00LjRgNCw0L3QtSDigJ4lc+KAnCIKIAotIzogY29udmVydC5jOjI4NworIzogY29udmVydC5jOjI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iVGhlIGZpbGUgJyVzJyBjb250YWlucyBhIGJ5dGUgb3JkZXIgbWFyayAoQk9NKS4gUGxlYXNlIHVzZSBVVEYtJXMgYXMgd29ya2luZy0iCi0idHJlZS1lbmNvZGluZy4iCisiVGhlIGZpbGUgJyVzJyBjb250YWlucyBhIGJ5dGUgb3JkZXIgbWFyayAoQk9NKS4gUGxlYXNlIHVzZSBVVEYtJS4qcyBhcyAiCisid29ya2luZy10cmVlLWVuY29kaW5nLiIKIG1zZ3N0ciAiIgogItCk0LDQudC70YrRgiDigJ4lc+KAnCDRgdGK0LTRitGA0LbQsCDQvNCw0YDQutC10YAg0LfQsCDQv9C+0YDQtdC00L3QvtGB0YLRgtCwINC90LAg0LHQsNC50YLQvtCy0LXRgtC1IChCT00pLiAg0JjQt9C/0L7Qu9C30LLQsNC50YLQtSAiCi0i4oCeVVRGLSVz4oCcINC60LDRgtC+INC60L7QtNC40YDQsNC90LUg0LfQsCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQvi4iCisi4oCeVVRGLSUuKnPigJwg0LrQsNGC0L4g0LrQvtC00LjRgNCw0L3QtSDQt9CwINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+LiIKIAotIzogY29udmVydC5jOjMwNQorIzogY29udmVydC5jOjMwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJCT00gaXMgcmVxdWlyZWQgaW4gJyVzJyBpZiBlbmNvZGVkIGFzICVzIgogbXNnc3RyICIiCiAi4oCeJXPigJwg0YLRgNGP0LHQstCwINC00LAg0YHRitC00YrRgNC20LAg0LzQsNGA0LrQtdGAINC30LAg0L/QvtGA0LXQtNC90L7RgdGC0YLQsCDQvdCwINCx0LDQudGC0L7QstC10YLQtSAoQk9NKSDQv9GA0Lgg0LrQvtC00LjRgNCw0L3QtSAiCiAi4oCeJXPigJwiCiAKLSM6IGNvbnZlcnQuYzozMDcKKyM6IGNvbnZlcnQuYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmaWxlICclcycgaXMgbWlzc2luZyBhIGJ5dGUgb3JkZXIgbWFyayAoQk9NKS4gUGxlYXNlIHVzZSBVVEYtJXNCRSBvciBVVEYtIgpAQCAtMjE3Niw1MCArMjgzMiw1MCBAQAogItC90LAg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0LjQt9C/0L7Qu9C30LLQsNC50YLQtSBVVEYtJXNCRSDQuNC70LggVVRGLSVzTEUgKNCyINC30LDQstC40YHQuNC80L7RgdGCINC+0YIgIgogItC/0L7RgNC10LTQvdC+0YHRgtGC0LAg0L3QsCDQsdCw0LnRgtC+0LLQtdGC0LUpLiIKIAotIzogY29udmVydC5jOjQyNSBjb252ZXJ0LmM6NDk2CisjOiBjb252ZXJ0LmM6NDE5IGNvbnZlcnQuYzo0OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGVuY29kZSAnJXMnIGZyb20gJXMgdG8gJXMiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQv9GA0LXQutC+0LTQuNGA0LDQvdC1INC90LAg4oCeJXPigJwg0L7RgiDigJ4lc+KAnCDQutGK0Lwg4oCeJXPigJwiCiAKLSM6IGNvbnZlcnQuYzo0NjgKKyM6IGNvbnZlcnQuYzo0NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW5jb2RpbmcgJyVzJyBmcm9tICVzIHRvICVzIGFuZCBiYWNrIGlzIG5vdCB0aGUgc2FtZSIKIG1zZ3N0ciAi0J/RgNC10LrQvtC00LjRgNCw0L3QtdGC0L4g0L3QsCDigJ4lc+KAnCDQvtGCIOKAniVz4oCcINC60YrQvCDigJ4lc+KAnCDQuCDQvtCx0YDQsNGC0L3QviDQv9GA0L7QvNC10L3RjyDRhNCw0LnQu9CwIgogCi0jOiBjb252ZXJ0LmM6Njc0CisjOiBjb252ZXJ0LmM6NjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmb3JrIHRvIHJ1biBleHRlcm5hbCBmaWx0ZXIgJyVzJyIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INGB0YrQt9C00LDQstCw0L3QtSDQvdCwINC/0YDQvtGG0LXRgSDQt9CwINCy0YrQvdGI0LXQvSDRhNC40LvRgtGK0YAg4oCeJXPigJwiCiAKLSM6IGNvbnZlcnQuYzo2OTQKKyM6IGNvbnZlcnQuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZlZWQgdGhlIGlucHV0IHRvIGV4dGVybmFsIGZpbHRlciAnJXMnIgogbXNnc3RyICLQstGF0L7QtNGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0L7QtNCw0LTQtdC9INC90LAg0LLRitC90YjQvdC40Y8g0YTQuNC70YLRitGAIOKAniVz4oCcIgogCi0jOiBjb252ZXJ0LmM6NzAxCisjOiBjb252ZXJ0LmM6Njk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCAlZCIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg0LLRitC90YjQvdC40Y8g0YTQuNC70YLRitGAIOKAniVz4oCcOiAlZCIKIAotIzogY29udmVydC5jOjczNiBjb252ZXJ0LmM6NzM5CisjOiBjb252ZXJ0LmM6NzMwIGNvbnZlcnQuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCBmcm9tIGV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INGH0LXRgtC10L3QtSDQvtGCINCy0YrQvdGI0L3QuNGPINGE0LjQu9GC0YrRgCDigJ4lc+KAnCIKIAotIzogY29udmVydC5jOjc0MiBjb252ZXJ0LmM6Nzk2CisjOiBjb252ZXJ0LmM6NzM2IGNvbnZlcnQuYzo3OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDQstGK0L3RiNC90LjRjyDRhNC40LvRgtGK0YAg4oCeJXPigJwiCiAKLSM6IGNvbnZlcnQuYzo4NDQKKyM6IGNvbnZlcnQuYzo4MzkKIG1zZ2lkICJ1bmV4cGVjdGVkIGZpbHRlciB0eXBlIgogbXNnc3RyICLQvdC10L7Rh9Cw0LrQstCw0L0g0LLQuNC0INGE0LjQu9GC0YrRgCIKIAotIzogY29udmVydC5jOjg1NQorIzogY29udmVydC5jOjg1MAogbXNnaWQgInBhdGggbmFtZSB0b28gbG9uZyBmb3IgZXh0ZXJuYWwgZmlsdGVyIgogbXNnc3RyICLQv9GK0YLRj9GCINC1INC/0YDQtdC60LDQu9C10L3QviDQtNGK0LvRitCzINC30LAg0LLRitC90YjQtdC9INGE0LjQu9GC0YrRgCIKIAotIzogY29udmVydC5jOjkyOQorIzogY29udmVydC5jOjkyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXh0ZXJuYWwgZmlsdGVyICclcycgaXMgbm90IGF2YWlsYWJsZSBhbnltb3JlIGFsdGhvdWdoIG5vdCBhbGwgcGF0aHMgaGF2ZSAiCkBAIC0yMjI4LDY3ICsyODg0LDY3IEBACiAi0LLRitC90YjQvdC40Y/RgiDRhNC40LvRgtGK0YAg4oCeJXPigJwg0LLQtdGH0LUg0L3QtSDQtSDQvdCw0LvQuNGH0LXQvSwg0LLRitC/0YDQtdC60Lgg0YfQtSDQvdC1INCy0YHQuNGH0LrQuCDQv9GK0YLQuNGJ0LAg0YHQsCAiCiAi0YTQuNC70YLRgNC40YDQsNC90LgiCiAKLSM6IGNvbnZlcnQuYzoxMjI4CisjOiBjb252ZXJ0LmM6MTIyMwogbXNnaWQgInRydWUvZmFsc2UgYXJlIG5vIHZhbGlkIHdvcmtpbmctdHJlZS1lbmNvZGluZ3MiCiBtc2dzdHIgIuKAnnRydWXigJwv4oCeZmFsc2XigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LAg0LrQvtC00LjRgNCw0L3QuNGPINC90LAg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCiAKLSM6IGNvbnZlcnQuYzoxMzk4IGNvbnZlcnQuYzoxNDMyCisjOiBjb252ZXJ0LmM6MTQxMSBjb252ZXJ0LmM6MTQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2xlYW4gZmlsdGVyICclcycgZmFpbGVkIgogbXNnc3RyICIlczog0L3QtdGD0YHQv9C10YjQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg0LTQtdC60L7QtNC40YDQsNGJINGE0LjQu9GC0YrRgCDigJ4lc+KAnCIKIAotIzogY29udmVydC5jOjE0NzYKKyM6IGNvbnZlcnQuYzoxNDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzbXVkZ2UgZmlsdGVyICVzIGZhaWxlZCIKIG1zZ3N0ciAiJXM6INC90LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwINC60L7QtNC40YDQsNGJINGE0LjQu9GC0YrRgCDigJ4lc+KAnCIKIAotIzogZGF0ZS5jOjExNgorIzogZGF0ZS5jOjEzOAogbXNnaWQgImluIHRoZSBmdXR1cmUiCiBtc2dzdHIgItCyINCx0YrQtNC10YnQtdGC0L4iCiAKLSM6IGRhdGUuYzoxMjIKKyM6IGRhdGUuYzoxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBzZWNvbmQgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHNlY29uZHMgYWdvIgogbXNnc3RyWzBdICLQv9GA0LXQtNC4ICU8UFJJdU1BWD4g0YHQtdC60YPQvdC00LAiCiBtc2dzdHJbMV0gItC/0YDQtdC00LggJTxQUkl1TUFYPiDRgdC10LrRg9C90LTQuCIKIAotIzogZGF0ZS5jOjEyOQorIzogZGF0ZS5jOjE1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IG1pbnV0ZSBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gbWludXRlcyBhZ28iCiBtc2dzdHJbMF0gItC/0YDQtdC00LggJTxQUkl1TUFYPiDQvNC40L3Rg9GC0LAiCiBtc2dzdHJbMV0gItC/0YDQtdC00LggJTxQUkl1TUFYPiDQvNC40L3Rg9GC0LgiCiAKLSM6IGRhdGUuYzoxMzYKKyM6IGRhdGUuYzoxNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBob3VyIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBob3VycyBhZ28iCiBtc2dzdHJbMF0gItC/0YDQtdC00LggJTxQUkl1TUFYPiDRh9Cw0YEiCiBtc2dzdHJbMV0gItC/0YDQtdC00LggJTxQUkl1TUFYPiDRh9Cw0YHQsCIKIAotIzogZGF0ZS5jOjE0MworIzogZGF0ZS5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IGRheSBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gZGF5cyBhZ28iCiBtc2dzdHJbMF0gItC/0YDQtdC00LggJTxQUkl1TUFYPiDQtNC10L0iCiBtc2dzdHJbMV0gItC/0YDQtdC00LggJTxQUkl1TUFYPiDQtNC10L3QsCIKIAotIzogZGF0ZS5jOjE0OQorIzogZGF0ZS5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHdlZWsgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHdlZWtzIGFnbyIKIG1zZ3N0clswXSAi0L/RgNC10LTQuCAlPFBSSXVNQVg+INGB0LXQtNC80LjRhtCwIgogbXNnc3RyWzFdICLQv9GA0LXQtNC4ICU8UFJJdU1BWD4g0YHQtdC00LzQuNGG0LgiCiAKLSM6IGRhdGUuYzoxNTYKKyM6IGRhdGUuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBtb250aCBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gbW9udGhzIGFnbyIKIG1zZ3N0clswXSAi0L/RgNC10LTQuCAlPFBSSXVNQVg+INC80LXRgdC10YYiCiBtc2dzdHJbMV0gItC/0YDQtdC00LggJTxQUkl1TUFYPiDQvNC10YHQtdGG0LAiCiAKLSM6IGRhdGUuYzoxNjcKKyM6IGRhdGUuYzoxODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIgpAQCAtMjI5Niw0MiArMjk1Miw0MiBAQAogbXNnc3RyWzFdICIlPFBSSXVNQVg+INCz0L7QtNC40L3QuCIKIAogIy4gVFJBTlNMQVRPUlM6ICIlcyIgaXMgIjxuPiB5ZWFycyIKLSM6IGRhdGUuYzoxNzAKKyM6IGRhdGUuYzoxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsICU8UFJJdU1BWD4gbW9udGggYWdvIgogbXNnaWRfcGx1cmFsICIlcywgJTxQUkl1TUFYPiBtb250aHMgYWdvIgogbXNnc3RyWzBdICLQv9GA0LXQtNC4ICVzINC4ICU8UFJJdU1BWD4g0LzQtdGB0LXRhiIKIG1zZ3N0clsxXSAi0L/RgNC10LTQuCAlcyDQuCAlPFBSSXVNQVg+INC80LXRgdC10YbQsCIKIAotIzogZGF0ZS5jOjE3NSBkYXRlLmM6MTgwCisjOiBkYXRlLmM6MTk3IGRhdGUuYzoyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB5ZWFycyBhZ28iCiBtc2dzdHJbMF0gItC/0YDQtdC00LggJTxQUkl1TUFYPiDQs9C+0LTQuNC90LAiCiBtc2dzdHJbMV0gItC/0YDQtdC00LggJTxQUkl1TUFYPiDQs9C+0LTQuNC90LgiCiAKLSM6IGRlbHRhLWlzbGFuZHMuYzoyNjgKKyM6IGRlbHRhLWlzbGFuZHMuYzoyNzIKIG1zZ2lkICJQcm9wYWdhdGluZyBpc2xhbmQgbWFya3MiCiBtc2dzdHIgItCg0LDQt9C/0YDQvtGB0YLRgNCw0L3Rj9Cy0LDQvdC1INC90LAg0LPRgNCw0L3QuNGG0LjRgtC1INC90LAg0LPRgNGD0L/QuNGC0LUiCiAKLSM6IGRlbHRhLWlzbGFuZHMuYzoyODYKKyM6IGRlbHRhLWlzbGFuZHMuYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHRyZWUgb2JqZWN0ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQvtCx0LXQutGCLdC00YrRgNCy0L46ICVzIgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6MzMwCisjOiBkZWx0YS1pc2xhbmRzLmM6MzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBsb2FkIGlzbGFuZCByZWdleCBmb3IgJyVzJzogJXMiCiBtc2dzdHIgItGA0LXQs9GD0LvRj9GA0L3QuNGP0YIg0LjQt9GA0LDQtyDQvdCwINCz0YDRg9C/0LDRgtCwINC30LAg4oCeJXPigJwsINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0YDQtdC00LXQvTog4oCeJXPigJwiCiAKLSM6IGRlbHRhLWlzbGFuZHMuYzozODYKKyM6IGRlbHRhLWlzbGFuZHMuYzozOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaXNsYW5kIHJlZ2V4IGZyb20gY29uZmlnIGhhcyB0b28gbWFueSBjYXB0dXJlIGdyb3VwcyAobWF4PSVkKSIKIG1zZ3N0ciAiIgogItGA0LXQs9GD0LvRj9GA0L3QuNGP0YIg0LjQt9GA0LDQtyDQvdCwINCz0YDRg9C/0LDRgtCwINCyINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQvtC90L3QuNGPINGE0LDQudC7INGB0YrQtNGK0YDQttCwINC/0L7QstC10YfQtSDQvtGCICIKICLQvNCw0LrRgdC40LzQsNC70L3QviDQv9C+0LTQtNGK0YDQttCw0L3QuNGC0LUgKCVkKSDQv9GA0LjRhdCy0LDRidCw0YnQuCDQs9GA0YPQv9C4IgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6NDYyCisjOiBkZWx0YS1pc2xhbmRzLmM6NDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hcmtlZCAlZCBpc2xhbmRzLCBkb25lLlxuIgogbXNnc3RyICLQntGC0LHQtdC70Y/Qt9Cw0L3QuCDRgdCwICVkINCz0YDRg9C/0LgsINGA0LDQsdC+0YLQsNGC0LAg0L/RgNC40LrQu9GO0YfQuC5cbiIKQEAgLTIzNDEsMjggKzI5OTcsMzUgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBvcmRlcmZpbGUgJyVzJyIKIG1zZ3N0ciAi0YTQsNC50LvRitGCINGBINC/0L7QtNGA0LXQtNCx0LDRgtCwINC90LAg0YHRitC+0YLQstC10YLRgdGC0LLQuNGP0YLQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogZGlmZmNvcmUtcmVuYW1lLmM6NTQ0CisjOiBkaWZmY29yZS1yZW5hbWUuYzo1NDMKIG1zZ2lkICJQZXJmb3JtaW5nIGluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiIKIG1zZ3N0ciAi0KLRitGA0YHQtdC90LUg0L3QsCDQv9GA0LXQuNC80LXQvdGD0LLQsNC90LjRjyDQvdCwINC+0LHQtdC60YLQuCDRgdGK0YfQtdGC0LDQvdC4INGBINC/0YDQvtC80LXQvdC4IgogCi0jOiBkaWZmLmM6MTA4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGEgdmFsdWUiCi1tc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAniVz4oCcINC40LfQuNGB0LrQstCwINGB0YLQvtC50L3QvtGB0YIiCisjOiBkaWZmLW5vLWluZGV4LmM6MjM4Cittc2dpZCAiZ2l0IGRpZmYgLS1uby1pbmRleCBbPG9wdGlvbnM+XSA8cGF0aD4gPHBhdGg+IgorbXNnc3RyICJnaXQgZGlmZiAtLW5vLWluZGV4IFvQntCf0KbQmNCv4oCmXSDQn9Cq0KIg0J/QqtCiIgogCi0jOiBkaWZmLmM6MTU4CisjOiBkaWZmLW5vLWluZGV4LmM6MjYzCittc2dpZCAiIgorIk5vdCBhIGdpdCByZXBvc2l0b3J5LiBVc2UgLS1uby1pbmRleCB0byBjb21wYXJlIHR3byBwYXRocyBvdXRzaWRlIGEgd29ya2luZyAiCisidHJlZSIKK21zZ3N0ciAiIgorItCd0LUg0LUg0YXRgNCw0L3QuNC70LjRidC1INC90LAgZ2l0LiAg0J/QvtC70LfQstCw0LnRgtC1INC+0L/RhtC40Y/RgtCwIOKAni0tbm8taW5kZXjigJwsINC30LAg0LTQsCDRgdGA0LDQstC90LjRgtC1ICIKKyLQv9GK0YLQuNGJ0LAg0LjQt9Cy0YrQvSDRgNCw0LHQvtGC0L3QviDQtNGK0YDQstC+IgorCisjOiBkaWZmLmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmFpbGVkIHRvIHBhcnNlIGRpcnN0YXQgY3V0LW9mZiBwZXJjZW50YWdlICclcydcbiIKIG1zZ3N0ciAiIgogIiAg0J3QtdGD0YHQv9C10YjQvdC+INGA0LDQt9C/0L7Qt9C90LDQstCw0L3QtSDQvdCwIOKAniVz4oCcINC60LDRgtC+INC/0YDQvtGG0LXQvdGCLdC/0YDQsNCzINC30LAg0YHRgtCw0YLQuNGB0YLQuNC60LDRgtCwINC/0L4gIgogItC00LjRgNC10LrRgtC+0YDQuNC4XG4iCiAKLSM6IGRpZmYuYzoxNjMKKyM6IGRpZmYuYzoxNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBVbmtub3duIGRpcnN0YXQgcGFyYW1ldGVyICclcydcbiIKIG1zZ3N0ciAiICDQndC10L/QvtC30L3QsNGCINC/0LDRgNCw0LzQtdGC0YrRgCDigJ4lc+KAnCDQt9CwINGB0YLQsNGC0LjRgdGC0LjQutCw0YLQsCDQv9C+INC00LjRgNC10LrRgtC+0YDQuNC4J1xuIgogCi0jOiBkaWZmLmM6MjkxCisjOiBkaWZmLmM6Mjk2CiBtc2dpZCAiIgogImNvbG9yIG1vdmVkIHNldHRpbmcgbXVzdCBiZSBvbmUgb2YgJ25vJywgJ2RlZmF1bHQnLCAnYmxvY2tzJywgJ3plYnJhJywgIgogIidkaW1tZWQtemVicmEnLCAncGxhaW4nIgpAQCAtMjM3MSwyNSArMzAzNCwzMyBAQAogIuKAnmRlZmF1bHTigJwgKNGB0YLQsNC90LTQsNGA0YLQvdC+KSwg4oCeYmxvY2tz4oCcICjQv9Cw0YDRh9C10YLQsCksIOKAnnplYnJh4oCcICjRgNCw0LnQtSksICIKICLigJ5kaW1tZWRfemVicmHigJwgKNGC0YrQvNC90L4g0YDQsNC50LUpLCDigJ5wbGFpbuKAnCAo0L7QsdC40LrQvdC+0LLQtdC90L4pIgogCi0jOiBkaWZmLmM6MzE2CisjOiBkaWZmLmM6MzI0CiAjLCBjLWZvcm1hdAotbXNnaWQgImlnbm9yaW5nIHVua25vd24gY29sb3ItbW92ZWQtd3MgbW9kZSAnJXMnIgotbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0LDRgtCwINGB0YLQvtC50L3QvtGB0YIg4oCeJXPigJwg0L3QsCDQvdCw0YHRgtGA0L7QudC60LDRgtCwIOKAnmNvbG9yLW1vdmVkLXdz4oCcINGB0LUg0L/RgNC10YHQutCw0YfQsCIKLQotIzogZGlmZi5jOjMyMwogbXNnaWQgIiIKLSJjb2xvci1tb3ZlZC13czogYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHdoaXRlICIKLSJzcGFjZSBtb2RlcyIKKyJ1bmtub3duIGNvbG9yLW1vdmVkLXdzIG1vZGUgJyVzJywgcG9zc2libGUgdmFsdWVzIGFyZSAnaWdub3JlLXNwYWNlLWNoYW5nZScsICIKKyInaWdub3JlLXNwYWNlLWF0LWVvbCcsICdpZ25vcmUtYWxsLXNwYWNlJywgJ2FsbG93LWluZGVudGF0aW9uLWNoYW5nZSciCiBtc2dzdHIgIiIKLSJjb2xvci1tb3ZlZC13czog4oCeYWxsb3ctaW5kZW50YXRpb24tY2hhbmdl4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDQtNGA0YPQs9C40YLQtSDRgNC10LbQuNC80LggIgotItC30LAg0LfQvdCw0YbQuNGC0LUg0LfQsCDQuNC90YLQtdGA0LLQsNC70LgiCisi0L3QtdC/0L7QtNC00YrRgNC20LDQvSDRgNC10LbQuNC8INC30LAg0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5jb2xvci1tb3ZlZC13cyBtb2Rl4oCcIOKAlMKg4oCeJXPigJwsINCy0YrQt9C80L7QttC90LjRgtC1ICIKKyLRgdGC0L7QudC90L7RgdGC0Lgg0YHQsCDigJ5pZ25vcmUtc3BhY2UtY2hhbmdl4oCcICjQv9GA0LXQvdC10LHRgNC10LPQstCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC40YLQtSDQvdCwINC/0YDQsNC30L3QuNGC0LUgIgorItC30L3QsNGG0LgpLCDigJ5pZ25vcmUtc3BhY2UtYXQtZW9s4oCcICjQv9GA0LXQvdC10LHRgNC10LPQstCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC40YLQtSDQvdCwINC/0YDQsNC30L3QuNGC0LUg0LfQvdCw0YbQuCAiCisi0LIg0LrRgNCw0Y8g0L3QsCDRgNC10LTQsCksIOKAnmlnbm9yZS1hbGwtc3BhY2XigJwgKNC/0YDQtdC90LXQsdGA0LXQs9Cy0LDQvdC1INC90LAg0LLRgdC40YfQutC4INC/0YDQsNC30L3QuCDQt9C90LDRhtC4KSwgIgorIuKAnmFsbG93LWluZGVudGF0aW9uLWNoYW5nZeKAnCAo0L/QvtC30LLQvtC70Y/QstCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC40YLQtSDQsiDQv9GA0LDQt9C90LjRgtC1INC30L3QsNGG0Lgg0LfQsCAiCisi0YTQvtGA0LzQsNGC0LjRgNCw0L3QtSkiCiAKLSM6IGRpZmYuYzozOTQKKyM6IGRpZmYuYzozMzIKK21zZ2lkICIiCisiY29sb3ItbW92ZWQtd3M6IGFsbG93LWluZGVudGF0aW9uLWNoYW5nZSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciAiCisid2hpdGVzcGFjZSBtb2RlcyIKK21zZ3N0ciAiIgorIuKAnmNvbG9yLW1vdmVkLXdz4oCcOiDigJ5hbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2XigJwg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNCwINGBINC00YDRg9Cz0LjRgtC1INGA0LXQttC40LzQuCAiCisi0LfQsCDQv9GA0LDQt9C90Lgg0LfQvdCw0YbQuCIKKworIzogZGlmZi5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHZhbHVlIGZvciAnZGlmZi5zdWJtb2R1bGUnIGNvbmZpZyB2YXJpYWJsZTogJyVzJyIKIG1zZ3N0ciAi0J3QtdC/0L7Qt9C90LDRgtCwINGB0YLQvtC50L3QvtGB0YIg4oCeJXPigJwg0LfQsCDQvdCw0YHRgtGA0L7QudC60LDRgtCwIOKAnmRpZmYuc3VibW9kdWxl4oCcIgogCi0jOiBkaWZmLmM6NDU0CisjOiBkaWZmLmM6NDY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGb3VuZCBlcnJvcnMgaW4gJ2RpZmYuZGlyc3RhdCcgY29uZmlnIHZhcmlhYmxlOlxuIgpAQCAtMjM5OCwyNyArMzA2OSwzOCBAQAogItCT0YDQtdGI0LrQuCDQsiDQvdCw0YHRgtGA0L7QudC60LDRgtCwIOKAnmRpZmYuZGlyc3RhdOKAnDpcbiIKICIlcyIKIAotIzogZGlmZi5jOjQxNDAKKyM6IGRpZmYuYzo0MjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGRpZmYgZGllZCwgc3RvcHBpbmcgYXQgJXMiCiBtc2dzdHIgIiIKICLQstGK0L3RiNC90LDRgtCwINC/0YDQvtCz0YDQsNC80LAg0LfQsCDRgNCw0LfQu9C40LrQuCDQt9Cw0LLRitGA0YjQuCDQvdC10YPRgdC/0LXRiNC90L4uICDQodC/0LjRgNCw0L3QtSDQvdCwINGA0LDQsdC+0YLQsNGC0LAg0L/RgNC4IOKAniVz4oCcIgogCi0jOiBkaWZmLmM6NDQ4MgorIzogZGlmZi5jOjQ1NDcKIG1zZ2lkICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjayBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiIgogItCe0L/RhtC40LjRgtC1IOKAni0tbmFtZS1vbmx54oCcLCDigJ4tLW5hbWUtc3RhdHVz4oCcLCDigJ4tLWNoZWNr4oCcINC4IOKAni1z4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4ICIKICLQtdC00L3QsCDRgSDQtNGA0YPQs9CwIgogCi0jOiBkaWZmLmM6NDQ4NQorIzogZGlmZi5jOjQ1NTAKIG1zZ2lkICItRywgLVMgYW5kIC0tZmluZC1vYmplY3QgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAi0J7Qv9GG0LjQuNGC0LUg4oCeLUfigJwsIOKAni1T4oCcINC4IOKAni0tZmluZC1vYmplY3TigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80Lgg0LXQtNC90LAg0YEg0LTRgNGD0LPQsCIKIAotIzogZGlmZi5jOjQ1NjMKKyM6IGRpZmYuYzo0NjI4CiBtc2dpZCAiLS1mb2xsb3cgcmVxdWlyZXMgZXhhY3RseSBvbmUgcGF0aHNwZWMiCiBtc2dzdHIgItCe0L/RhtC40Y/RgtCwIOKAni0tZm9sbG934oCcINC40LfQuNGB0LrQstCwINGC0L7Rh9C90L4g0LXQtNC40L0g0L/RitGCIgogCi0jOiBkaWZmLmM6NDcyOQorIzogZGlmZi5jOjQ2NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCAtLXN0YXQgdmFsdWU6ICVzIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCINC30LAg4oCeLS1zdGF04oCcOiAlcyIKKworIzogZGlmZi5jOjQ2ODEgZGlmZi5jOjQ2ODYgZGlmZi5jOjQ2OTEgZGlmZi5jOjQ2OTYgZGlmZi5jOjUyMDkKKyM6IHBhcnNlLW9wdGlvbnMuYzoxOTkgcGFyc2Utb3B0aW9ucy5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgorbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4lc+KAnCDQvtGH0LDQutCy0LAg0YfQuNGB0LvQviDQt9CwINCw0YDQs9GD0LzQtdC90YIiCisKKyM6IGRpZmYuYzo0NzEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCkBAIC0yNDI3LDYzICszMTA5LDU4NCBAQAogItCd0LXRgNCw0LfQv9C+0LfQvdCw0YIg0L/QsNGA0LDQvNC10YLRitGAINC60YrQvCDQvtC/0YbQuNGP0YLQsCDigJ4tLWRpcnN0YXQvLVjigJw6XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzo0NzQzCisjOiBkaWZmLmM6NDc5OAogIywgYy1mb3JtYXQKLW1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKLW1zZ3N0ciAi0J3QtdGA0LDQt9C/0L7Qt9C90LDRgiDQv9Cw0YDQsNC80LXRgtGK0YAg0LrRitC8INC+0L/RhtC40Y/RgtCwIOKAni0tc3VibW9kdWxl4oCcOiDigJ4lc+KAnCIKK21zZ2lkICJ1bmtub3duIGNoYW5nZSBjbGFzcyAnJWMnIGluIC0tZGlmZi1maWx0ZXI9JXMiCittc2dzdHIgItC90LXQv9C+0LfQvdCw0YIg0LLQuNC0INC/0YDQvtC80Y/QvdCwOiDigJ4lY+KAnCDQsiDigJ4tLWRpZmYtZmlsdGVyPSVz4oCcIgogCi0jOiBkaWZmLmM6NTgyMworIzogZGlmZi5jOjQ4MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB2YWx1ZSBhZnRlciB3cy1lcnJvci1oaWdobGlnaHQ9JS4qcyIKK21zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgtCwINGB0YLQvtC50L3QvtGB0YIg0YHQu9C10LQg4oCed3MtZXJyb3ItaGlnaGxpZ2h0PSUuKnPigJwiCisKKyM6IGRpZmYuYzo0ODM2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlICclcyciCittc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQutGA0LjQtSIKKworIzogZGlmZi5jOjQ4ODYgZGlmZi5jOjQ4OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhwZWN0cyA8bj4vPG0+IGZvcm0iCittc2dzdHIgIiIKKyLQvtC/0YbQuNGP0YLQsCDigJ4lc+KAnCDQuNC30LjRgdC60LLQsCDRgdGC0L7QudC90L7RgdGC0Lgg0LfQsCDQnNCY0J3QmNCc0JDQm9CV0J1fJSVf0J/QoNCe0JzQr9Cd0JBf0JfQkF/QmNCX0KLQntCn0J3QmNCaXy8iCisi0JzQkNCa0KHQmNCc0JDQm9CV0J1fJSVf0J/QoNCe0JzQr9Cd0JBf0JfQkF/Ql9CQ0JzQr9Cd0JAg0L7RgiIKKworIzogZGlmZi5jOjQ5MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhwZWN0cyBhIGNoYXJhY3RlciwgZ290ICclcyciCittc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAniVz4oCcINC40LfQuNGB0LrQstCwINC30L3QsNC6LCDQsCDQvdC1OiDigJ4lc+KAnCIKKworIzogZGlmZi5jOjQ5MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIC0tY29sb3ItbW92ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQsNGA0LPRg9C80LXQvdGCINC30LAg4oCeLS1jb2xvci1tb3ZlZOKAnDog4oCeJXPigJwiCisKKyM6IGRpZmYuYzo0OTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbW9kZSAnJXMnIGluIC0tY29sb3ItbW92ZWQtd3MiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INGA0LXQttC40Lwg4oCeJXPigJwg0LfQsCDigJ4gLS1jb2xvci1tb3ZlZC13c+KAnCIKKworIzogZGlmZi5jOjQ5ODQKK21zZ2lkICIiCisib3B0aW9uIGRpZmYtYWxnb3JpdGhtIGFjY2VwdHMgXCJteWVyc1wiLCBcIm1pbmltYWxcIiwgXCJwYXRpZW5jZVwiIGFuZCAiCisiXCJoaXN0b2dyYW1cIiIKK21zZ3N0ciAiIgorItC+0L/RhtC40Y/RgtCwINC/0YDQuNC10LzQsCDRgdC70LXQtNC90LjRgtC1INCy0LDRgNC40LDQvdGC0Lgg0LfQsCDQsNC70LPQvtGA0LjRgtGK0Lwg0LfQsCDRgNCw0LfQu9C40LrQuDog4oCebXllcnPigJwgKNC/0L4gIgorItCc0LDQudC10YDRgSksIOKAnm1pbmltYWzigJwgKNC80LjQvdC40LzQuNC30LjRgNCw0L3QtSDQvdCwINGA0LDQt9C70LjQutC40YLQtSksIOKAnnBhdGllbmNl4oCcICjQv9Cw0YHQuNCw0L3RgSkg0LggIgorIuKAnmhpc3RvZ3JhbeKAnCAo0YXQuNGB0YLQvtCz0YDQsNC80LXQvSkiCisKKyM6IGRpZmYuYzo1MDIwIGRpZmYuYzo1MDQwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gJXMiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INCw0YDQs9GD0LzQtdC90YIg0LrRitC8IOKAniVz4oCcIgorCisjOiBkaWZmLmM6NTE3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKK21zZ3N0ciAi0L3QtdGA0LDQt9C/0L7Qt9C90LDRgiDQv9Cw0YDQsNC80LXRgtGK0YAg0LrRitC8INC+0L/RhtC40Y/RgtCwIOKAni0tc3VibW9kdWxl4oCcOiDigJ4lc+KAnCIKKworIzogZGlmZi5jOjUyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIC0td29yZC1kaWZmIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0LDRgNCz0YPQvNC10L3RgiDQutGK0Lwg4oCeLS13b3JkLWRpZmbigJw6IOKAniVz4oCcIgorCisjOiBkaWZmLmM6NTI1NworbXNnaWQgIkRpZmYgb3V0cHV0IGZvcm1hdCBvcHRpb25zIgorbXNnc3RyICLQpNC+0YDQvNCw0YIg0L3QsCDQuNC30YXQvtC00LAg0LfQsCDRgNCw0LfQu9C40LrQuNGC0LUiCisKKyM6IGRpZmYuYzo1MjU5IGRpZmYuYzo1MjY1Cittc2dpZCAiZ2VuZXJhdGUgcGF0Y2giCittc2dzdHIgItGB0YrQt9C00LDQstCw0L3QtSDQvdCwINC60YDRitC/0LrQuCIKKworIzogZGlmZi5jOjUyNjIgYnVpbHRpbi9sb2cuYzoxNzMKK21zZ2lkICJzdXBwcmVzcyBkaWZmIG91dHB1dCIKK21zZ3N0ciAi0LHQtdC3INC40LfQstC10LbQtNCw0L3QtSDQvdCwINGA0LDQt9C70LjQutC40YLQtSIKKworIzogZGlmZi5jOjUyNjcgZGlmZi5jOjUzODEgZGlmZi5jOjUzODgKK21zZ2lkICI8bj4iCittc2dzdHIgItCR0KDQntCZIgorCisjOiBkaWZmLmM6NTI2OCBkaWZmLmM6NTI3MQorbXNnaWQgImdlbmVyYXRlIGRpZmZzIHdpdGggPG4+IGxpbmVzIGNvbnRleHQiCittc2dzdHIgItGE0LDQudC70L7QstC10YLQtSDRgSDRgNCw0LfQu9C40LrQuCDQtNCwINGB0LAg0YEg0LrQvtC90YLQtdC60YHRgiDRgSDRgtCw0LrRitCyINCR0KDQntCZINGA0LXQtNC+0LLQtSIKKworIzogZGlmZi5jOjUyNzMKK21zZ2lkICJnZW5lcmF0ZSB0aGUgZGlmZiBpbiByYXcgZm9ybWF0IgorbXNnc3RyICLRhNCw0LnQu9C+0LLQtdGC0LUg0YEg0YDQsNC30LvQuNC60Lgg0LTQsCDRgdCwINCyINGB0YPRgNC+0LIg0YTQvtGA0LzQsNGCIgorCisjOiBkaWZmLmM6NTI3NgorbXNnaWQgInN5bm9ueW0gZm9yICctcCAtLXJhdyciCittc2dzdHIgItC/0YHQtdCy0LTQvtC90LjQvCDQvdCwIOKAni1wIC0tc3RhdOKAnCIKKworIzogZGlmZi5jOjUyODAKK21zZ2lkICJzeW5vbnltIGZvciAnLXAgLS1zdGF0JyIKK21zZ3N0ciAi0L/RgdC10LLQtNC+0L3QuNC8INC90LAg4oCeLXAgLS1zdGF04oCcIgorCisjOiBkaWZmLmM6NTI4NAorbXNnaWQgIm1hY2hpbmUgZnJpZW5kbHkgLS1zdGF0IgorbXNnc3RyICLigJ4tLXN0YXTigJwg0LLRitCyINGE0L7RgNC80LDRgiDQt9CwINGH0LXRgtC10L3QtSDQvtGCINC/0YDQvtCz0YDQsNC80LAiCisKKyM6IGRpZmYuYzo1Mjg3Cittc2dpZCAib3V0cHV0IG9ubHkgdGhlIGxhc3QgbGluZSBvZiAtLXN0YXQiCittc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINC/0L7RgdC70LXQtNC90LjRjyDRgNC10LQg0L3QsCDigJ4tLXN0YXTigJwiCisKKyM6IGRpZmYuYzo1Mjg5IGRpZmYuYzo1Mjk3Cittc2dpZCAiPHBhcmFtMSxwYXJhbTI+Li4uIgorbXNnc3RyICLQn9CQ0KDQkNCc0JXQotCq0KBfMSwg0J/QkNCg0JDQnNCV0KLQqtCgXzIsIOKApiIKKworIzogZGlmZi5jOjUyOTAKK21zZ2lkICIiCisib3V0cHV0IHRoZSBkaXN0cmlidXRpb24gb2YgcmVsYXRpdmUgYW1vdW50IG9mIGNoYW5nZXMgZm9yIGVhY2ggc3ViLWRpcmVjdG9yeSIKK21zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YDQsNC30L/RgNC10LTQtdC70LXQvdC40LXRgtC+INC90LAg0L/RgNC+0LzQtdC90LjRgtC1INC30LAg0LLRgdGP0LrQsCDQv9C+0LTQtNC40YDQtdC60YLQvtGA0LjRjyIKKworIzogZGlmZi5jOjUyOTQKK21zZ2lkICJzeW5vbnltIGZvciAtLWRpcnN0YXQ9Y3VtdWxhdGl2ZSIKK21zZ3N0ciAi0L/RgdC10LLQtNC+0L3QuNC8INC90LAg4oCeLS1kaXJzdGF0PWN1bXVsYXRpdmXigJwiCisKKyM6IGRpZmYuYzo1Mjk4Cittc2dpZCAic3lub255bSBmb3IgLS1kaXJzdGF0PWZpbGVzLHBhcmFtMSxwYXJhbTIuLi4iCittc2dzdHIgItC/0YHQtdCy0LTQvtC90LjQvCDQvdCwIOKAni0tZGlyc3RhdD3QpNCQ0JnQm9Ce0JLQlSzQn9CQ0KDQkNCc0JXQotCq0KBfMSzQn9CQ0KDQkNCc0JXQotCq0KBfMizigKbigJwiCisKKyM6IGRpZmYuYzo1MzAyCittc2dpZCAid2FybiBpZiBjaGFuZ2VzIGludHJvZHVjZSBjb25mbGljdCBtYXJrZXJzIG9yIHdoaXRlc3BhY2UgZXJyb3JzIgorbXNnc3RyICIiCisi0L/RgNC10LTRg9C/0YDQtdC20LTQsNCy0LDQvdC1LCDQsNC60L4g0L/RgNC+0LzQtdC90LjRgtC1INCy0L7QtNGP0YIg0LTQviDQvNCw0YDQutC10YDQuCDQt9CwINC60L7QvdGE0LvQuNC60YIg0LjQu9C4INCz0YDQtdGI0LrQuCDQsiAiCisi0L/RgNCw0LfQvdC40YLQtSDQt9C90LDRhtC4IgorCisjOiBkaWZmLmM6NTMwNQorbXNnaWQgImNvbmRlbnNlZCBzdW1tYXJ5IHN1Y2ggYXMgY3JlYXRpb25zLCByZW5hbWVzIGFuZCBtb2RlIGNoYW5nZXMiCittc2dzdHIgIiIKKyLRgdGK0LrRgNCw0YLQtdC90L4g0YDQtdC30Y7QvNC1INC90LAg0YHRitC30LTQsNC00LXQvdC40YLQtSwg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC40YLQtSDQuCDRhNCw0LnQu9C+0LLQtdGC0LUg0YEg0L/RgNC+0LzRj9C90LAg0L3QsCAiCisi0YDQtdC20LjQvNCwINC90LAg0LTQvtGB0YLRitC/IgorCisjOiBkaWZmLmM6NTMwOAorbXNnaWQgInNob3cgb25seSBuYW1lcyBvZiBjaGFuZ2VkIGZpbGVzIgorbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0YHQsNC80L4g0L3QsCDQuNC80LXQvdCw0YLQsCDQvdCwINC/0YDQvtC80LXQvdC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUiCisKKyM6IGRpZmYuYzo1MzExCittc2dpZCAic2hvdyBvbmx5IG5hbWVzIGFuZCBzdGF0dXMgb2YgY2hhbmdlZCBmaWxlcyIKK21zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0LjQvNC10L3QsNGC0LAg0Lgg0YHRgtCw0YLQuNGB0YLQuNC60LDRgtCwINC30LAg0L/RgNC+0LzQtdC90LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSIKKworIzogZGlmZi5jOjUzMTMKK21zZ2lkICI8d2lkdGg+Wyw8bmFtZS13aWR0aD5bLDxjb3VudD5dXSIKK21zZ3N0ciAi0KjQmNCg0J7Qp9CY0J3QkFss0JjQnNCVLdCo0JjQoNCe0KfQmNCd0JBbLNCR0KDQntCZXV0iCisKKyM6IGRpZmYuYzo1MzE0Cittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQiCittc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0YLQsNGC0LjRgdGC0LjQutCwINC30LAg0L/RgNC+0LzQtdC90LjRgtC1IgorCisjOiBkaWZmLmM6NTMxNiBkaWZmLmM6NTMxOSBkaWZmLmM6NTMyMgorbXNnaWQgIjx3aWR0aD4iCittc2dzdHIgItCo0JjQoNCe0KfQmNCd0JAiCisKKyM6IGRpZmYuYzo1MzE3Cittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBhIGdpdmVuIHdpZHRoIgorbXNnc3RyICLRgdGC0LDRgtC40YHRgtC40LrQsCDRgSDRgtCw0LrQsNCy0LAg0KjQmNCg0J7Qp9CY0J3QkCDQt9CwINC/0YDQvtC80LXQvdC40YLQtSIKKworIzogZGlmZi5jOjUzMjAKK21zZ2lkICJnZW5lcmF0ZSBkaWZmc3RhdCB3aXRoIGEgZ2l2ZW4gbmFtZSB3aWR0aCIKK21zZ3N0ciAi0YHRgtCw0YLQuNGB0YLQuNC60LAg0LfQsCDQv9GA0L7QvNC10L3QuNGC0LUg0YEg0YLQsNC60LDQstCwINCo0JjQoNCe0KfQmNCd0JAg0L3QsCDQuNC80LXQvdCw0YLQsCIKKworIzogZGlmZi5jOjUzMjMKK21zZ2lkICJnZW5lcmF0ZSBkaWZmc3RhdCB3aXRoIGEgZ2l2ZW4gZ3JhcGggd2lkdGgiCittc2dzdHIgItGB0YLQsNGC0LjRgdGC0LjQutCwINC30LAg0L/RgNC+0LzQtdC90LjRgtC1INGBINGC0LDQutCw0LLQsCDQqNCY0KDQntCn0JjQndCQINC90LAg0LPRgNCwzIDRhNCwIgorCisjOiBkaWZmLmM6NTMyNQorbXNnaWQgIjxjb3VudD4iCittc2dzdHIgItCR0KDQntCZIgorCisjOiBkaWZmLmM6NTMyNgorbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggbGltaXRlZCBsaW5lcyIKK21zZ3N0ciAi0L7Qs9GA0LDQvdC40YfQsNCy0LDQvdC1INC90LAg0JHQoNCe0Y8g0L3QsCDRgNC10LTQvtCy0LXRgtC1INCyINGB0YLQsNGC0LjRgdGC0LjQutCw0YLQsCDQt9CwINC/0YDQvtC80LXQvdC40YLQtSIKKworIzogZGlmZi5jOjUzMjkKK21zZ2lkICJnZW5lcmF0ZSBjb21wYWN0IHN1bW1hcnkgaW4gZGlmZnN0YXQiCittc2dzdHIgItC60YDQsNGC0LrQviDRgNC10LfRjtC80LUg0LIg0YHRgtCw0YLQuNGB0YLQuNC60LDRgtCwINC30LAg0L/RgNC+0LzQtdC90LjRgtC1IgorCisjOiBkaWZmLmM6NTMzMgorbXNnaWQgIm91dHB1dCBhIGJpbmFyeSBkaWZmIHRoYXQgY2FuIGJlIGFwcGxpZWQiCittc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC00LLQvtC40YfQvdCwINGA0LDQt9C70LjQutCwINCy0YrQsiDQstC40LQg0LfQsCDQv9GA0LjQu9Cw0LPQsNC90LUiCisKKyM6IGRpZmYuYzo1MzM1Cittc2dpZCAic2hvdyBmdWxsIHByZS0gYW5kIHBvc3QtaW1hZ2Ugb2JqZWN0IG5hbWVzIG9uIHRoZSBcImluZGV4XCIgbGluZXMiCittc2dzdHIgIiIKKyLQv9C+0LrQsNC30LLQsNC90LUg0L3QsCDQv9GK0LvQvdC40YLQtSDQuNC80LXQvdCwINC90LAg0L7QsdC10LrRgtC4INCyINGA0LXQtNC+0LLQtdGC0LUg0LfQsCDQuNC90LTQtdC60YHQsCDQv9GA0Lgg0LLQsNGA0LjQsNC90YLQuNGC0LUgIgorItC/0YDQtdC00Lgg0Lgg0YHQu9C10LQg0L/RgNC+0LzRj9C90LDRgtCwIgorCisjOiBkaWZmLmM6NTMzNworbXNnaWQgInNob3cgY29sb3JlZCBkaWZmIgorbXNnc3RyICLRgNCw0LfQu9C40LrQuCDQsiDRhtCy0Y/RgiIKKworIzogZGlmZi5jOjUzMzgKK21zZ2lkICI8a2luZD4iCittc2dzdHIgItCS0JjQlCIKKworIzogZGlmZi5jOjUzMzkKK21zZ2lkICIiCisiaGlnaGxpZ2h0IHdoaXRlc3BhY2UgZXJyb3JzIGluIHRoZSAnY29udGV4dCcsICdvbGQnIG9yICduZXcnIGxpbmVzIGluIHRoZSAiCisiZGlmZiIKK21zZ3N0ciAiIgorItCz0YDQtdGI0LrQuNGC0LUg0LIg0L/RgNCw0LfQvdC40YLQtSDQt9C90LDRhtC4INC00LAg0YHQtSDRg9C60LDQt9Cy0LDRgiDQsiDRgNC10LTQvtCy0LXRgtC1INC30LAg0LrQvtC90YLQtdC60YHRgtCwLCDQstCw0YDQuNCw0L3RgtC40YLQtSAiCisi0L/RgNC10LTQuCDQuCDRgdC70LXQtCDRgNCw0LfQu9C40LrQsNGC0LAsIgorCisjOiBkaWZmLmM6NTM0MgorbXNnaWQgIiIKKyJkbyBub3QgbXVuZ2UgcGF0aG5hbWVzIGFuZCB1c2UgTlVMcyBhcyBvdXRwdXQgZmllbGQgdGVybWluYXRvcnMgaW4gLS1yYXcgb3IgIgorIi0tbnVtc3RhdCIKK21zZ3N0ciAiIgorItCx0LXQtyDQv9GA0LXQuNC80LXQvdGD0LLQsNC90LUg0L3QsCDQv9GK0YLQuNGJ0LDRgtCwLiAg0JTQsCDRgdC1INC40LfQv9C+0LvQt9Cy0LDRgiDQvdGD0LvQtdCy0Lgg0LHQsNC50YLQvtCy0LUg0LfQsCDRgNCw0LfQtNC10LvQuNGC0LXQu9C4ICIKKyLQvdCwINC/0L7Qu9C10YLQsCDQsiDQuNC30YXQvtC00LAg0L/RgNC4INC/0L7Qu9C30LLQsNC90LUg0L3QsCDQvtC/0YbQuNGP0YLQsCDigJ4tLXJhd+KAnCDQuNC70Lgg4oCeLS1udW1zdGF04oCcIgorCisjOiBkaWZmLmM6NTM0NSBkaWZmLmM6NTM0OCBkaWZmLmM6NTM1MSBkaWZmLmM6NTQ1NworbXNnaWQgIjxwcmVmaXg+IgorbXNnc3RyICLQn9Cg0JXQpNCY0JrQoSIKKworIzogZGlmZi5jOjUzNDYKK21zZ2lkICJzaG93IHRoZSBnaXZlbiBzb3VyY2UgcHJlZml4IGluc3RlYWQgb2YgXCJhL1wiIgorbXNnc3RyICLQv9GA0LXRhNC40LrRgSDQstC80LXRgdGC0L4g4oCeYS/igJwg0LfQsCDQuNC30YLQvtGH0L3QuNC6IgorCisjOiBkaWZmLmM6NTM0OQorbXNnaWQgInNob3cgdGhlIGdpdmVuIGRlc3RpbmF0aW9uIHByZWZpeCBpbnN0ZWFkIG9mIFwiYi9cIiIKK21zZ3N0ciAi0L/RgNC10YTQuNC60YEg0LLQvNC10YHRgtC+IOKAnmIv4oCcINC30LAg0YbQtdC7IgorCisjOiBkaWZmLmM6NTM1MgorbXNnaWQgInByZXBlbmQgYW4gYWRkaXRpb25hbCBwcmVmaXggdG8gZXZlcnkgbGluZSBvZiBvdXRwdXQiCittc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDQtNC+0L/RitC70L3QuNGC0LXQu9C10L0g0L/RgNC10YTQuNC60YEg0LfQsCDQstGB0LXQutC4INGA0LXQtCDQvdCwINC40LfRhdC+0LTQsCIKKworIzogZGlmZi5jOjUzNTUKK21zZ2lkICJkbyBub3Qgc2hvdyBhbnkgc291cmNlIG9yIGRlc3RpbmF0aW9uIHByZWZpeCIKK21zZ3N0ciAi0LHQtdC3INC/0YDQtdGE0LjQutGBINC30LAg0LjQt9GC0L7Rh9C90LjQutCwINC4INGG0LXQu9GC0LAiCisKKyM6IGRpZmYuYzo1MzU4Cittc2dpZCAic2hvdyBjb250ZXh0IGJldHdlZW4gZGlmZiBodW5rcyB1cCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBsaW5lcyIKK21zZ3N0ciAiIgorItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC60L7QvdGC0LXQutGB0YIg0LzQtdC20LTRgyDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvQvdC40YLQtSDQv9Cw0YDRh9C10YLQsCDRgSDRgNCw0LfQu9C40LrQuCDQvtGCINGD0LrQsNC30LDQvdC40Y8gIgorItCR0KDQntCZINGA0LXQtNC+0LLQtSIKKworIzogZGlmZi5jOjUzNjIgZGlmZi5jOjUzNjcgZGlmZi5jOjUzNzIKK21zZ2lkICI8Y2hhcj4iCittc2dzdHIgItCX0J3QkNCaIgorCisjOiBkaWZmLmM6NTM2MworbXNnaWQgInNwZWNpZnkgdGhlIGNoYXJhY3RlciB0byBpbmRpY2F0ZSBhIG5ldyBsaW5lIGluc3RlYWQgb2YgJysnIgorbXNnc3RyICLQt9C90LDQuiDQstC80LXRgdGC0L4g4oCeK+KAnCDQt9CwINC90L7QsiDQstCw0YDQuNCw0L3RgiDQvdCwINGA0LXQtCIKKworIzogZGlmZi5jOjUzNjgKK21zZ2lkICJzcGVjaWZ5IHRoZSBjaGFyYWN0ZXIgdG8gaW5kaWNhdGUgYW4gb2xkIGxpbmUgaW5zdGVhZCBvZiAnLSciCittc2dzdHIgItC30L3QsNC6INCy0LzQtdGB0YLQviDigJ4t4oCcINC30LAg0YHRgtCw0YAg0LLQsNGA0LjQsNC90YIg0L3QsCDRgNC10LQiCisKKyM6IGRpZmYuYzo1MzczCittc2dpZCAic3BlY2lmeSB0aGUgY2hhcmFjdGVyIHRvIGluZGljYXRlIGEgY29udGV4dCBpbnN0ZWFkIG9mICcgJyIKK21zZ3N0ciAi0LfQvdCw0Log0LLQvNC10YHRgtC+IOKAniDigJwg0LfQsCDQutC+0L3RgtC10LrRgdGCIgorCisjOiBkaWZmLmM6NTM3NgorbXNnaWQgIkRpZmYgcmVuYW1lIG9wdGlvbnMiCittc2dzdHIgItCd0LDRgdGC0YDQvtC50LrQuCDQt9CwINGA0LDQt9C70LjQutC4INGBINC/0YDQtdC40LzQtdC90YPQstCw0L3QtSIKKworIzogZGlmZi5jOjUzNzcKK21zZ2lkICI8bj5bLzxtPl0iCittc2dzdHIgItCc0JjQndCY0JzQkNCb0JXQnV8lX9Cf0KDQntCc0K/QndCQX9CX0JBf0JjQl9Ci0J7Qp9Cd0JjQmlsv0JzQkNCa0KHQmNCc0JDQm0XQnV8lX9Cf0KDQntCc0K/QndCQX9CX0JBf0JfQkNCc0K/QndCQXSIKKworIzogZGlmZi5jOjUzNzgKK21zZ2lkICJicmVhayBjb21wbGV0ZSByZXdyaXRlIGNoYW5nZXMgaW50byBwYWlycyBvZiBkZWxldGUgYW5kIGNyZWF0ZSIKK21zZ3N0ciAiIgorItC30LDQvNC10YHRgtCy0LDQvdC1INC90LAg0L/RitC70L3QuNGC0LUg0L/RgNC+0LzQtdC90Lgg0YEg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70L3QvtGB0YIg0L7RgiDQuNC30YLRgNC40LLQsNC90LUg0Lgg0YHRitC30LTQsNCy0LDQvdC1IgorCisjOiBkaWZmLmM6NTM4MgorbXNnaWQgImRldGVjdCByZW5hbWVzIgorbXNnc3RyICLQt9Cw0YHQuNGH0LDQvdC1INC90LAg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC40Y/RgtCwIgorCisjOiBkaWZmLmM6NTM4NgorbXNnaWQgIm9taXQgdGhlIHByZWltYWdlIGZvciBkZWxldGVzIgorbXNnc3RyICLQsdC10Lcg0L/RgNC10LTQstCw0YDQuNGC0LXQu9C10L0g0LLQsNGA0LjQsNC90YIg0L/RgNC4INC40LfRgtGA0LjQstCw0L3QtSIKKworIzogZGlmZi5jOjUzODkKK21zZ2lkICJkZXRlY3QgY29waWVzIgorbXNnc3RyICLQt9Cw0YHQuNGH0LDQvdC1INC90LAg0LrQvtC/0LjRgNCw0L3QuNGP0YLQsCIKKworIzogZGlmZi5jOjUzOTMKK21zZ2lkICJ1c2UgdW5tb2RpZmllZCBmaWxlcyBhcyBzb3VyY2UgdG8gZmluZCBjb3BpZXMiCittc2dzdHIgItGC0YrRgNGB0LXQvdC1INC90LAg0LrQvtC/0LjRgNCw0L3QviDQuCDQvtGCINC90LXQv9GA0L7QvNC10L3QtdC90LjRgtC1INGE0LDQudC70L7QstC1IgorCisjOiBkaWZmLmM6NTM5NQorbXNnaWQgImRpc2FibGUgcmVuYW1lIGRldGVjdGlvbiIKK21zZ3N0ciAi0LHQtdC3INGC0YrRgNGB0LXQvdC1INC90LAg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC40Y8iCisKKyM6IGRpZmYuYzo1Mzk4Cittc2dpZCAidXNlIGVtcHR5IGJsb2JzIGFzIHJlbmFtZSBzb3VyY2UiCittc2dzdHIgItC/0YDQsNC30L3QuCDQvtCx0LXQutGC0Lgg0LrQsNGC0L4g0LjQt9GC0L7Rh9C90LjQuiDQv9GA0Lgg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC40Y8iCisKKyM6IGRpZmYuYzo1NDAwCittc2dpZCAiY29udGludWUgbGlzdGluZyB0aGUgaGlzdG9yeSBvZiBhIGZpbGUgYmV5b25kIHJlbmFtZXMiCittc2dzdHIgIiIKKyLQv9GA0L7QtNGK0LvQttCw0LLQsNC90LUg0L3QsCDQuNC30LLQtdC20LTQsNC90LXRgtC+INC90LAg0LjRgdGC0L7RgNC40Y/RgtCwIOKAlCDQsdC10Lcg0L7RgtGA0Y/Qt9Cy0LDQvdC10YLQviDQv9GA0Lgg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC40Y8gIgorItC90LAg0YTQsNC50LsiCisKKyM6IGRpZmYuYzo1NDAzCittc2dpZCAiIgorInByZXZlbnQgcmVuYW1lL2NvcHkgZGV0ZWN0aW9uIGlmIHRoZSBudW1iZXIgb2YgcmVuYW1lL2NvcHkgdGFyZ2V0cyBleGNlZWRzICIKKyJnaXZlbiBsaW1pdCIKK21zZ3N0ciAiIgorItCx0LXQtyDQt9Cw0YHQuNGH0LDQvdC1INC90LAg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC40Y8v0LrQvtC/0LjRgNCw0L3QuNGPLCDQsNC60L4g0LHRgNC+0Y/RgiDQuNC8INC90LDQtNCy0LjRiNCw0LLQsCDRgtCw0LfQuCDRgdGC0L7QudC90L7RgdGCIgorCisjOiBkaWZmLmM6NTQwNQorbXNnaWQgIkRpZmYgYWxnb3JpdGhtIG9wdGlvbnMiCittc2dzdHIgItCe0L/RhtC40Lgg0LrRitC8INCw0LvQs9C+0YDQuNGC0YrQvNCwINC30LAg0YDQsNC30LvQuNC60LgiCisKKyM6IGRpZmYuYzo1NDA3Cittc2dpZCAicHJvZHVjZSB0aGUgc21hbGxlc3QgcG9zc2libGUgZGlmZiIKK21zZ3N0ciAi0YLRitGA0YHQtdC90LUg0L3QsCDQstGK0LfQvNC+0LbQvdC+INC90LDQuS3QvNCw0LvQutCwINGA0LDQt9C70LjQutCwIgorCisjOiBkaWZmLmM6NTQxMAorbXNnaWQgImlnbm9yZSB3aGl0ZXNwYWNlIHdoZW4gY29tcGFyaW5nIGxpbmVzIgorbXNnc3RyICLQsdC10Lcg0L/RgNC+0LzQtdC90Lgg0LIg0L/RgNCw0LfQvdC40YLQtSDQt9C90LDRhtC4INC/0YDQuCDRgdGA0LDQstC90Y/QstCw0L3QtSDQvdCwINGA0LXQtNC+0LLQtSIKKworIzogZGlmZi5jOjU0MTMKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiBhbW91bnQgb2Ygd2hpdGVzcGFjZSIKK21zZ3N0ciAi0LHQtdC3INC/0YDQvtC80LXQvdC4INCyINC/0YDQsNC30L3QuNGC0LUg0LfQvdCw0YbQuCIKKworIzogZGlmZi5jOjU0MTYKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIGF0IEVPTCIKK21zZ3N0ciAi0LHQtdC3INC/0YDQvtC80LXQvdC4INCyINC/0YDQsNC30L3QuNGC0LUg0LfQvdCw0YbQuCDQsiDQutGA0LDRjyDQvdCwINGA0LXQtNC+0LLQtdGC0LUiCisKKyM6IGRpZmYuYzo1NDE5Cittc2dpZCAiaWdub3JlIGNhcnJpZXItcmV0dXJuIGF0IHRoZSBlbmQgb2YgbGluZSIKK21zZ3N0ciAi0LHQtdC3INC/0YDQvtC80LXQvdC4INCyINC30L3QsNGG0LjRgtC1INC30LAg0LrRgNCw0Lkg0L3QsCDRgNC10LQiCisKKyM6IGRpZmYuYzo1NDIyCittc2dpZCAiaWdub3JlIGNoYW5nZXMgd2hvc2UgbGluZXMgYXJlIGFsbCBibGFuayIKK21zZ3N0ciAi0LHQtdC3INC/0YDQvtC80LXQvdC4INCyINGA0LXQtNC+0LLQtdGC0LUsINC60L7QuNGC0L4g0YHQsCDQuNC30YbRj9C70L4g0L7RgiDQv9GA0LDQt9C90Lgg0LfQvdCw0YbQuCIKKworIzogZGlmZi5jOjU0MjUKK21zZ2lkICJoZXVyaXN0aWMgdG8gc2hpZnQgZGlmZiBodW5rIGJvdW5kYXJpZXMgZm9yIGVhc3kgcmVhZGluZyIKK21zZ3N0ciAiIgorItC10LLRgNC40YHRgtC40LrQsCDQt9CwINC/0YDQtdC80LXRgdGC0LLQsNC90LUg0L3QsCDQs9GA0LDQvdC40YbQuNGC0LUg0L3QsCDQv9Cw0YDRh9C10YLQsNGC0LAg0LfQsCDRg9C70LXRgdC90Y/QstCw0L3QtSDQvdCwINGH0LXRgtC10L3QtdGC0L4iCisKKyM6IGRpZmYuYzo1NDI4Cittc2dpZCAiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJwYXRpZW5jZSBkaWZmXCIgYWxnb3JpdGhtIgorbXNnc3RyICLRgNCw0LfQu9C40LrQsCDRh9GA0LXQtyDQsNC70LPQvtGA0LjRgtGK0Lwg0LfQsCDQv9C+0LTRgNC10LTQsdCwINC60LDRgtC+INC/0LDRgdC40LDQvdGBIgorCisjOiBkaWZmLmM6NTQzMgorbXNnaWQgImdlbmVyYXRlIGRpZmYgdXNpbmcgdGhlIFwiaGlzdG9ncmFtIGRpZmZcIiBhbGdvcml0aG0iCittc2dzdHIgItGA0LDQt9C70LjQutCwINC/0L4g0YXQuNGB0YLQvtCz0YDQsNC80L3QuNGPINCw0LvQs9C+0YDQuNGC0YrQvCIKKworIzogZGlmZi5jOjU0MzQKK21zZ2lkICI8YWxnb3JpdGhtPiIKK21zZ3N0ciAi0JDQm9CT0J7QoNCY0KLQqtCcIgorCisjOiBkaWZmLmM6NTQzNQorbXNnaWQgImNob29zZSBhIGRpZmYgYWxnb3JpdGhtIgorbXNnc3RyICLQuNC30LHQvtGAINC90LAg0JDQm9CT0J7QoNCY0KLQqtCc0LAg0LfQsCDRgNCw0LfQu9C40LrQuCIKKworIzogZGlmZi5jOjU0MzcKK21zZ2lkICI8dGV4dD4iCittc2dzdHIgItCi0JXQmtCh0KIiCisKKyM6IGRpZmYuYzo1NDM4Cittc2dpZCAiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJhbmNob3JlZCBkaWZmXCIgYWxnb3JpdGhtIgorbXNnc3RyICLRgNCw0LfQu9C40LrQsCDRh9GA0LXQtyDQsNC70LPQvtGA0LjRgtGK0LzQsCDRgdGK0YEg0LfQsNC60L7RgtCy0Y/QvdC1IgorCisjOiBkaWZmLmM6NTQ0MCBkaWZmLmM6NTQ0OSBkaWZmLmM6NTQ1MgorbXNnaWQgIjxtb2RlPiIKK21zZ3N0ciAi0KDQldCW0JjQnCIKKworIzogZGlmZi5jOjU0NDEKK21zZ2lkICJzaG93IHdvcmQgZGlmZiwgdXNpbmcgPG1vZGU+IHRvIGRlbGltaXQgY2hhbmdlZCB3b3JkcyIKK21zZ3N0ciAiIgorItGA0LDQt9C70LjQutCwINC/0L4g0LTRg9C80LgsINC60LDRgtC+INGB0LUg0L/QvtC70LfQstCwINGC0L7Qt9C4INCg0JXQltCY0Jwg0LfQsCDQvtGC0LTQtdC70Y/QvdC10YLQviDQvdCwINC/0YDQvtC80LXQvdC10L3QuNGC0LUg0LTRg9C80LgiCisKKyM6IGRpZmYuYzo1NDQzIGRpZmYuYzo1NDQ2IGRpZmYuYzo1NDkxCittc2dpZCAiPHJlZ2V4PiIKK21zZ3N0ciAi0KDQldCT0KPQm9Cv0KDQldCdX9CY0JfQoNCQ0JciCisKKyM6IGRpZmYuYzo1NDQ0Cittc2dpZCAidXNlIDxyZWdleD4gdG8gZGVjaWRlIHdoYXQgYSB3b3JkIGlzIgorbXNnc3RyICLQoNCV0JPQo9Cb0K/QoNCV0J1f0JjQl9Cg0JDQlyDQt9CwINGA0LDQt9C00LXQu9GP0L3QtSDQv9C+INC00YPQvNC4IgorCisjOiBkaWZmLmM6NTQ0NworbXNnaWQgImVxdWl2YWxlbnQgdG8gLS13b3JkLWRpZmY9Y29sb3IgLS13b3JkLWRpZmYtcmVnZXg9PHJlZ2V4PiIKK21zZ3N0ciAi0L/RgdC10LLQtNC+0L3QuNC8INC90LAg4oCeLS13b3JkLWRpZmY9Y29sb3IgLS13b3JkLWRpZmYtcmVnZXg90KDQldCT0KPQm9Cv0KDQldCdX9CY0JfQoNCQ0JfigJwiCisKKyM6IGRpZmYuYzo1NDUwCittc2dpZCAibW92ZWQgbGluZXMgb2YgY29kZSBhcmUgY29sb3JlZCBkaWZmZXJlbnRseSIKK21zZ3N0ciAi0YDQsNC30LvQuNGH0LXQvSDRhtCy0Y/RgiDQt9CwINC40LfQstC10LbQtNCw0L3QtSDQvdCwINC/0YDQtdC80LXRgdGC0LXQvdC40YLQtSDRgNC10LTQvtCy0LUiCisKKyM6IGRpZmYuYzo1NDUzCittc2dpZCAiaG93IHdoaXRlIHNwYWNlcyBhcmUgaWdub3JlZCBpbiAtLWNvbG9yLW1vdmVkIgorbXNnc3RyICIiCisi0YDQtdC20LjQvCDQt9CwINC/0YDQtdGB0LrQsNGH0LDQvdC10YLQviDQvdCwINC/0YDQsNC30L3QuNGC0LUg0LfQvdCw0YbQuCDQv9GA0Lgg0LfQsNC00LDQstCw0L3QtdGC0L4g0L3QsCDigJ4tLWNvbG9yLW1vdmVk4oCcIgorCisjOiBkaWZmLmM6NTQ1NgorbXNnaWQgIk90aGVyIGRpZmYgb3B0aW9ucyIKK21zZ3N0ciAi0JTRgNGD0LPQuCDQvtC/0YbQuNC4INC30LAg0YDQsNC30LvQuNC60LgiCisKKyM6IGRpZmYuYzo1NDU4Cittc2dpZCAid2hlbiBydW4gZnJvbSBzdWJkaXIsIGV4Y2x1ZGUgY2hhbmdlcyBvdXRzaWRlIGFuZCBzaG93IHJlbGF0aXZlIHBhdGhzIgorbXNnc3RyICIiCisi0L/RgNC4INC40LfQv9GK0LvQvdC10L3QuNC1INC+0YIg0L/QvtC00LTQuNGA0LXQutGC0L7RgNC40Y8g0LTQsCDRgdC1INC/0YDQtdC90LXQsdGA0LXQs9Cy0LDRgiDRgNCw0LfQu9C40LrQuNGC0LUg0LjQt9Cy0YrQvSDQvdC10Y8g0Lgg0LTQsCAiCisi0YHQtSDQv9C+0LvQt9Cy0LDRgiDQvtGC0L3QvtGB0LjRgtC10LvQvdC4INC/0YrRgtC40YnQsCIKKworIzogZGlmZi5jOjU0NjIKK21zZ2lkICJ0cmVhdCBhbGwgZmlsZXMgYXMgdGV4dCIKK21zZ3N0ciAi0L7QsdGA0LDQsdC+0YLQutCwINC90LAg0LLRgdC40YfQutC4INGE0LDQudC70L7QstC1INC60LDRgtC+INGC0LXQutGB0YLQvtCy0LgiCisKKyM6IGRpZmYuYzo1NDY0Cittc2dpZCAic3dhcCB0d28gaW5wdXRzLCByZXZlcnNlIHRoZSBkaWZmIgorbXNnc3RyICLRgNCw0LfQvNGP0L3QsCDQvdCwINC00LLQsNGC0LAg0LLRhdC+0LTQsCDigJQg0L7QsdGA0YrRidCw0L3QtSDQvdCwINGA0LDQt9C70LjQutCw0YLQsCIKKworIzogZGlmZi5jOjU0NjYKK21zZ2lkICJleGl0IHdpdGggMSBpZiB0aGVyZSB3ZXJlIGRpZmZlcmVuY2VzLCAwIG90aGVyd2lzZSIKK21zZ3N0ciAiIgorItC30LDQstGK0YDRiNCy0LDQvdC1INGBINC60L7QtCDQt9CwINGB0YrRgdGC0L7Rj9C90LjQtSAxINC/0YDQuCDQvdCw0LvQuNGH0LjQtdGC0L4g0L3QsCDRgNCw0LfQu9C40LrQuCwg0LAg0LIg0L/RgNC+0YLQuNCy0LXQvSAiCisi0YHQu9GD0YfQsNC5IOKAlCDRgSAwIgorCisjOiBkaWZmLmM6NTQ2OAorbXNnaWQgImRpc2FibGUgYWxsIG91dHB1dCBvZiB0aGUgcHJvZ3JhbSIKK21zZ3N0ciAi0LHQtdC3INCy0YHRj9C60LDQutGK0LIg0LjQt9GF0L7QtCDQvtGCINC/0YDQvtCz0YDQsNC80LDRgtCwIgorCisjOiBkaWZmLmM6NTQ3MAorbXNnaWQgImFsbG93IGFuIGV4dGVybmFsIGRpZmYgaGVscGVyIHRvIGJlIGV4ZWN1dGVkIgorbXNnc3RyICLQv9C+0LfQstC+0LvRj9Cy0LDQvdC1INC90LAg0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDQstGK0L3RiNC90LAg0L/QvtC80L7RidC90LAg0L/RgNC+0LPRgNCw0LzQsCDQt9CwINGA0LDQt9C70LjQutC4IgorCisjOiBkaWZmLmM6NTQ3MgorbXNnaWQgInJ1biBleHRlcm5hbCB0ZXh0IGNvbnZlcnNpb24gZmlsdGVycyB3aGVuIGNvbXBhcmluZyBiaW5hcnkgZmlsZXMiCittc2dzdHIgIiIKKyLQuNC30L/RitC70L3QtdC90LjQtSDQvdCwINCy0YrQvdGI0L3QuCDQv9GA0L7Qs9GA0LDQvNC4LdGE0LjQu9GC0YDQuCDQv9GA0Lgg0YHRgNCw0LLQvdC10L3QuNC10YLQviDQvdCwINC00LLQvtC40YfQvdC4INGE0LDQudC70L7QstC1IgorCisjOiBkaWZmLmM6NTQ3NAorbXNnaWQgIjx3aGVuPiIKK21zZ3N0ciAi0JrQntCT0JAiCisKKyM6IGRpZmYuYzo1NDc1Cittc2dpZCAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcyBpbiB0aGUgZGlmZiBnZW5lcmF0aW9uIgorbXNnc3RyICLQuNCz0L3QvtGA0LjRgNCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC40YLQtSDQsiDQv9C+0LTQvNC+0LTRg9C70LjRgtC1INC/0YDQuCDQuNC30LLQtdC20LTQsNC90LXRgtC+INC90LAg0YDQsNC30LvQuNC60LjRgtC1IgorCisjOiBkaWZmLmM6NTQ3OAorbXNnaWQgIjxmb3JtYXQ+IgorbXNnc3RyICLQpNCe0KDQnNCQ0KIiCisKKyM6IGRpZmYuYzo1NDc5Cittc2dpZCAic3BlY2lmeSBob3cgZGlmZmVyZW5jZXMgaW4gc3VibW9kdWxlcyBhcmUgc2hvd24iCittc2dzdHIgItC90LDRh9C40L0g0LfQsCDQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQv9GA0L7QvNC10L3QuNGC0LUg0LIg0L/QvtC00LzQvtC00YPQu9C40YLQtSIKKworIzogZGlmZi5jOjU0ODMKK21zZ2lkICJoaWRlICdnaXQgYWRkIC1OJyBlbnRyaWVzIGZyb20gdGhlIGluZGV4IgorbXNnc3RyICLQsdC10Lcg0LLQutC70Y7Rh9Cy0LDQvdC1INCyINC40L3QtNC10LrRgdCwINC90LAg0LfQsNC/0LjRgdC40YLQtSwg0LTQvtCx0LDQstC10L3QuCDRgSDigJ5naXQgYWRkIC1O4oCcIgorCisjOiBkaWZmLmM6NTQ4NgorbXNnaWQgInRyZWF0ICdnaXQgYWRkIC1OJyBlbnRyaWVzIGFzIHJlYWwgaW4gdGhlIGluZGV4IgorbXNnc3RyICLQstC60LvRjtGH0LLQsNC90LUg0LIg0LjQvdC00LXQutGB0LAg0L3QsCDQt9Cw0L/QuNGB0LjRgtC1LCDQtNC+0LHQsNCy0LXQvdC4INGBIOKAnmdpdCBhZGQgLU7igJwiCisKKyM6IGRpZmYuYzo1NDg4Cittc2dpZCAiPHN0cmluZz4iCittc2dzdHIgItCd0JjQlyIKKworIzogZGlmZi5jOjU0ODkKK21zZ2lkICIiCisibG9vayBmb3IgZGlmZmVyZW5jZXMgdGhhdCBjaGFuZ2UgdGhlIG51bWJlciBvZiBvY2N1cnJlbmNlcyBvZiB0aGUgc3BlY2lmaWVkICIKKyJzdHJpbmciCittc2dzdHIgItGC0YrRgNGB0LXQvdC1INC90LAg0YDQsNC30LvQuNC60LgsINC60L7QuNGC0L4g0L/RgNC+0LzQtdC90Y/RgiDQsdGA0L7RjyDQvdCwINC/0L7Rj9Cy0LAg0L3QsCDRg9C60LDQt9Cw0L3QuNGC0LUg0L3QuNC30L7QstC1IgorCisjOiBkaWZmLmM6NTQ5MgorbXNnaWQgIiIKKyJsb29rIGZvciBkaWZmZXJlbmNlcyB0aGF0IGNoYW5nZSB0aGUgbnVtYmVyIG9mIG9jY3VycmVuY2VzIG9mIHRoZSBzcGVjaWZpZWQgIgorInJlZ2V4IgorbXNnc3RyICIiCisi0YLRitGA0YHQtdC90LUg0L3QsCDRgNCw0LfQu9C40LrQuCwg0LrQvtC40YLQviDQv9GA0L7QvNC10L3Rj9GCINCx0YDQvtGPINC90LAg0L/QvtGP0LLQsCDQvdCwINC90LjQt9C+0LLQtdGC0LUsINC60L7QuNGC0L4g0L3QsNC/0LDRgdCy0LDRgiAiCisi0L3QsCDRgNC10LPRg9C70Y/RgNC90LjRjyDQuNC30YDQsNC3IgorCisjOiBkaWZmLmM6NTQ5NQorbXNnaWQgInNob3cgYWxsIGNoYW5nZXMgaW4gdGhlIGNoYW5nZXNldCB3aXRoIC1TIG9yIC1HIgorbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQstGB0LjRh9C60Lgg0L/RgNC+0LzQtdC90Lgg0YEg4oCeLUfigJwv4oCeLVPigJwiCisKKyM6IGRpZmYuYzo1NDk4Cittc2dpZCAidHJlYXQgPHN0cmluZz4gaW4gLVMgYXMgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICLQndCY0JfRitGCINC60YrQvCDigJ4tU+KAnCDQtNCwINGB0LUg0YLRitC70LrRg9Cy0LAg0LrQsNGC0L4g0YDQsNC30YjQuNGA0LXQvSDRgNC10LPRg9C70Y/RgNC10L0g0LjQt9GA0LDQtyDQv9C+IFBPU0lYIgorCisjOiBkaWZmLmM6NTUwMQorbXNnaWQgImNvbnRyb2wgdGhlIG9yZGVyIGluIHdoaWNoIGZpbGVzIGFwcGVhciBpbiB0aGUgb3V0cHV0IgorbXNnc3RyICLRg9C/0YDQsNCy0LvQtdC90LjQtSDQvdCwINC/0L7QtNGA0LXQtNCx0LDRgtCwINC90LAg0YTQsNC50LvQvtCy0LXRgtC1INCyINC40LfRhdC+0LTQsCIKKworIzogZGlmZi5jOjU1MDIKK21zZ2lkICI8b2JqZWN0LWlkPiIKK21zZ3N0ciAi0JjQlNCV0J3QotCY0KTQmNCa0JDQotCe0KBf0J3QkF/QntCR0JXQmtCiIgorCisjOiBkaWZmLmM6NTUwMworbXNnaWQgIiIKKyJsb29rIGZvciBkaWZmZXJlbmNlcyB0aGF0IGNoYW5nZSB0aGUgbnVtYmVyIG9mIG9jY3VycmVuY2VzIG9mIHRoZSBzcGVjaWZpZWQgIgorIm9iamVjdCIKK21zZ3N0ciAi0YLRitGA0YHQtdC90LUg0L3QsCDRgNCw0LfQu9C40LrQuCwg0LrQvtC40YLQviDQv9GA0L7QvNC10L3Rj9GCINCx0YDQvtGPINC90LAg0L/QvtGP0LLQsCDQvdCwINGD0LrQsNC30LDQvdC40Y8g0L7QsdC10LrRgiIKKworIzogZGlmZi5jOjU1MDUKK21zZ2lkICJbKEF8Q3xEfE18UnxUfFV8WHxCKS4uLlsqXV0iCittc2dzdHIgIlsoQXxDfER8TXxSfFR8VXxYfEIp4oCmWypdXSIKKworIzogZGlmZi5jOjU1MDYKK21zZ2lkICJzZWxlY3QgZmlsZXMgYnkgZGlmZiB0eXBlIgorbXNnc3RyICLQuNC30LHQvtGAINC90LAg0YTQsNC50LvQvtCy0LXRgtC1INC/0L4g0LLQuNC0INGA0LDQt9C70LjQutCwIgorCisjOiBkaWZmLmM6NTUwOAorbXNnaWQgIjxmaWxlPiIKK21zZ3N0ciAi0KTQkNCZ0JsiCisKKyM6IGRpZmYuYzo1NTA5Cittc2dpZCAiT3V0cHV0IHRvIGEgc3BlY2lmaWMgZmlsZSIKK21zZ3N0ciAi0JjQt9GF0L7QtCDQutGK0Lwg0YPQutCw0LfQsNC90LjRjyDRhNCw0LnQuyIKKworIzogZGlmZi5jOjYxNjQKIG1zZ2lkICJpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24gd2FzIHNraXBwZWQgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKIG1zZ3N0ciAiIgogItGC0YrRgNGB0LXQvdC10YLQviDQvdCwINC/0YDQtdC40LzQtdC90YPQstCw0L3QuNGPINC90LAg0L7QsdC10LrRgtC4INGB0YrRh9C10YLQsNC90Lgg0YEg0L/RgNC+0LzQtdC90Lgg0YHQtSDQv9GA0LXRgdC60LDRh9CwINC/0L7RgNCw0LTQuCAiCiAi0LzQvdC+0LPQvtGC0L4g0YTQsNC50LvQvtCy0LUuIgogCi0jOiBkaWZmLmM6NTgyNgorIzogZGlmZi5jOjYxNjcKIG1zZ2lkICJvbmx5IGZvdW5kIGNvcGllcyBmcm9tIG1vZGlmaWVkIHBhdGhzIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCiBtc2dzdHIgIiIKLSLRg9GB0YLQsNC90L7QstC10L3QuCDRgdCwINGC0L7Rh9C90LjRgtC1INC60L7Qv9C40Y8g0L3QsCDQv9GA0L7QvNC10L3QtdC90LjRgtC1INC/0YrRgtC40YnQsCDQv9C+0YDQsNC00Lgg0LzQvdC+0LPQvtGC0L4g0YTQsNC50LvQvtCy0LUuIgorItGD0YHRgtCw0L3QvtCy0LXQvdC4INGB0LAg0YHQsNC80L4g0YLQvtGH0L3QuNGC0LUg0LrQvtC/0LjRjyDQvdCwINC/0YDQvtC80LXQvdC10L3QuNGC0LUg0L/RitGC0LjRidCwINC/0L7RgNCw0LTQuCDQvNC90L7Qs9C+0YLQviAiCisi0YTQsNC50LvQvtCy0LUuIgogCi0jOiBkaWZmLmM6NTgyOQorIzogZGlmZi5jOjYxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInlvdSBtYXkgd2FudCB0byBzZXQgeW91ciAlcyB2YXJpYWJsZSB0byBhdCBsZWFzdCAlZCBhbmQgcmV0cnkgdGhlIGNvbW1hbmQuIgogbXNnc3RyICLQt9Cw0LTQsNC50YLQtSDQv9GA0L7QvNC10L3Qu9C40LLQsNGC0LAg4oCeJXPigJwg0LTQsCDQtSDQv9C+0L3QtSAlZCDQuCDQvtGC0L3QvtCy0L4g0LjQt9C/0YrQu9C90LXRgtC1INC60L7QvNCw0L3QtNCw0YLQsC4iCiAKLSM6IGRpci5jOjU3NgorIzogZGlyLmM6NTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZShzKSBrbm93biB0byBnaXQiCiBtc2dzdHIgItC/0YrRgtGP0YIg4oCeJXPigJwg0L3QtSDRgdGK0LLQv9Cw0LTQsCDRgSDQvdC40LrQvtC5INGE0LDQudC7INCyIGdpdCIKIAotIzogZGlyLmM6OTY1CisjOiBkaXIuYzo2NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHBhdHRlcm46ICclcyciCittc2dzdHIgItC90LXQv9C+0LfQvdCw0YIg0YjQsNCx0LvQvtC9OiDigJ4lc+KAnCIKKworIzogZGlyLmM6NjgyIGRpci5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgbmVnYXRpdmUgcGF0dGVybjogJyVzJyIKK21zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgiDQvtGC0YDQuNGG0LDRgtC10LvQtdC9INGI0LDQsdC70L7QvTog4oCeJXPigJwiCisKKyM6IGRpci5jOjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNwYXJzZS1jaGVja291dCBmaWxlIG1heSBoYXZlIGlzc3VlczogcGF0dGVybiAnJXMnIGlzIHJlcGVhdGVkIgorbXNnc3RyICIiCisi0YTQsNC50LvRitGCINC+0L/RgNC10LTQtdC70Y/RiSDRh9Cw0YHRgtC40YfQvdC+0YHRgtGC0LAg0L3QsCDQuNC30YLQtdCz0LvQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSDQvNC+0LbQtSDQtNCwINC40LzQsCDQv9GA0L7QsdC70LXQvDogIgorItGI0LDQsdC70L7QvdGK0YIg4oCeJXPigJwg0YHQtSDQv9C+0LLRgtCw0YDRjyIKKworIzogZGlyLmM6NzI0Cittc2dpZCAiZGlzYWJsaW5nIGNvbmUgcGF0dGVybiBtYXRjaGluZyIKK21zZ3N0ciAi0LjQt9C60LvRjtGH0LLQsNC90LUg0L3QsCDQv9GK0YLQtdCy0L7QtNC90L7RgtC+INC90LDQv9Cw0YHQstCw0L3QtSIKKworIzogZGlyLmM6MTEwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgdXNlICVzIGFzIGFuIGV4Y2x1ZGUgZmlsZSIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/QvtC70LfQstCwINC30LAg0LjQs9C90L7RgNC40YDQsNC90LjRgtC1INGE0LDQudC70L7QstC1ICjQutCw0YLQviBnaXRpZ25vcmUpIgogCi0jOiBkaXIuYzoxODgwCisjOiBkaXIuYzoyMDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICLQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQstC+0YDQtdC90LAiCiAKLSM6IGRpci5jOjIxMjIKKyM6IGRpci5jOjI0MTUKIG1zZ2lkICJmYWlsZWQgdG8gZ2V0IGtlcm5lbCBuYW1lIGFuZCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi0LjQvNC10YLQviDQuCDQstC10YDRgdC40Y/RgtCwINC90LAg0Y/QtNGA0L7RgtC+INC90LUg0LHRj9GF0LAg0L/QvtC70YPRh9C10L3QuCIKIAotIzogZGlyLmM6MjI0NgorIzogZGlyLmM6MjUzOQogbXNnaWQgInVudHJhY2tlZCBjYWNoZSBpcyBkaXNhYmxlZCBvbiB0aGlzIHN5c3RlbSBvciBsb2NhdGlvbiIKIG1zZ3N0ciAiIgogItC60LXRiNGK0YIg0LfQsCDQvdC10YHQu9C10LTQtdC90LjRgtC1INGE0LDQudC70L7QstC1INC1INC40LfQutC70Y7Rh9C10L0g0L3QsCDRgtCw0LfQuCDRgdC40YHRgtC10LzQsCDQuNC70Lgg0LzQtdGB0YLQvtC/0L7Qu9C+0LbQtdC90LjQtSIKIAotIzogZGlyLmM6MzA0NworIzogZGlyLmM6MzM0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQgaW4gcmVwbyAlcyIKIG1zZ3N0ciAi0YTQsNC50LvRitGCINGBINC40L3QtNC10LrRgdCwINC1INC/0L7QstGA0LXQtNC10L0g0LIg0YXRgNCw0L3QuNC70LjRidC10YLQviDigJ4lc+KAnCIKIAotIzogZGlyLmM6MzA5MiBkaXIuYzozMDk3CisjOiBkaXIuYzozMzg4IGRpci5jOjMzOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcmllcyBmb3IgJXMiCiBtc2dzdHIgItC00LjRgNC10LrRgtC+0YDQuNC40YLQtSDQt9CwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQsNGCINGB0YrQt9C00LDQtNC10L3QuCIKIAotIzogZGlyLmM6MzEyNgorIzogZGlyLmM6MzQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbWlncmF0ZSBnaXQgZGlyZWN0b3J5IGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICLQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg0L3QsCBnaXQg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LzQuNCz0YDQuNGA0LAg0L7RgiDigJ4lc+KAnCDQtNC+IOKAniVz4oCcIgpAQCAtMjQ5NywzMDEgKzM3MDAsMjkzIEBACiBtc2dpZCAiRmlsdGVyaW5nIGNvbnRlbnQiCiBtc2dzdHIgItCk0LjQu9GC0YDQuNGA0LDQvdC1INC90LAg0YHRitC00YrRgNC20LDQvdC40LXRgtC+IgogCi0jOiBlbnRyeS5jOjQ2NQorIzogZW50cnkuYzo0NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXQgZmlsZSAnJXMnIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDigJ5zdGF04oCcINCy0YrRgNGF0YMg0YTQsNC50LvQsCDigJ4lc+KAnCIKIAotIzogZW52aXJvbm1lbnQuYzoxNTAKKyM6IGVudmlyb25tZW50LmM6MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBnaXQgbmFtZXNwYWNlIHBhdGggXCIlc1wiIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQv9GK0YIg0LrRitC8INC/0YDQvtGB0YLRgNCw0L3RgdGC0LLQsCDQvtGCINC40LzQtdC90LAg4oCeJXPigJwiCiAKLSM6IGVudmlyb25tZW50LmM6MzMyCisjOiBlbnZpcm9ubWVudC5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc2V0IEdJVF9ESVIgdG8gJyVzJyIKIG1zZ3N0ciAiR0lUX0RJUiDQvdC1INC80L7QttC1INC00LAg0YHQtSDQt9Cw0LTQsNC00LUg0LTQsCDQtSDigJ4lc+KAnCIKIAotIzogZXhlYy1jbWQuYzozNjEKKyM6IGV4ZWMtY21kLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRvbyBtYW55IGFyZ3MgdG8gcnVuICVzIgogbXNnc3RyICLQv9GA0LXQutCw0LvQtdC90L4g0LzQvdC+0LPQviDQsNGA0LPRg9C80LXQvdGC0Lgg0LfQsCDQuNC30L/RitC70L3QtdC90LjQtSDigJ4lc+KAnCIKIAotIzogZmV0Y2gtb2JqZWN0LmM6MTcKLW1zZ2lkICJSZW1vdGUgd2l0aCBubyBVUkwiCi1tc2dzdHIgItCb0LjQv9GB0LLQsCDQsNC00YDQtdGBINC30LAg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSIKLQotIzogZmV0Y2gtcGFjay5jOjE1MQorIzogZmV0Y2gtcGFjay5jOjE1MAogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBzaGFsbG93IGxpc3QiCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrOiDQvtGH0LDQutCy0LAg0YHQtSDQv9C70LjRgtGK0Log0YHQv9C40YHRitC6IgogCi0jOiBmZXRjaC1wYWNrLmM6MTYzCisjOiBmZXRjaC1wYWNrLmM6MTUzCittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIGEgZmx1c2ggcGFja2V0IGFmdGVyIHNoYWxsb3cgbGlzdCIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6INGB0LvQtdC0INC/0LvQuNGC0YrQuiDRgdC/0LjRgdGK0Log0YHQtSDQvtGH0LDQutCy0LAg0LjQt9GH0LjRgdGC0LLQsNGJINC/0LDQutC10YIg4oCeZmx1c2jigJwiCisKKyM6IGZldGNoLXBhY2suYzoxNjQKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290IGEgZmx1c2ggcGFja2V0IgogbXNnc3RyICIiCiAiZ2l0IGZldGNoLXBhY2s6INC+0YfQsNC60LLQsCDRgdC1IOKAnkFDS+KAnC/igJ5OQUvigJwsINCwINCx0LUg0L/QvtC70YPRh9C10L0g0LjQt9GH0LjRgdGC0LLQsNGJINC/0LDQutC10YIg4oCeZmx1c2jigJwiCiAKLSM6IGZldGNoLXBhY2suYzoxODMKKyM6IGZldGNoLXBhY2suYzoxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCAnJXMnIgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazog0L7Rh9Cw0LrQstCwINGB0LUg4oCeQUNL4oCcL+KAnk5BS+KAnCwg0LAg0LHQtSDQv9C+0LvRg9GH0LXQvdC+IOKAniVz4oCcIgogCi0jOiBmZXRjaC1wYWNrLmM6MjUzCisjOiBmZXRjaC1wYWNrLmM6MTk1Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRvIHJlbW90ZSIKK21zZ3N0ciAi0L3QtdCy0YrQt9C80L7QttC90L4g0L/QuNGB0LDQvdC1INC60YrQvCDQvtGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUiCisKKyM6IGZldGNoLXBhY2suYzoyNTcKIG1zZ2lkICItLXN0YXRlbGVzcy1ycGMgcmVxdWlyZXMgbXVsdGlfYWNrX2RldGFpbGVkIgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLXN0YXRlbGVzcy1ycGPigJwg0LjQt9C40YHQutCy0LAgIOKAnm11bHRpX2Fja19kZXRhaWxlZOKAnCIKIAotIzogZmV0Y2gtcGFjay5jOjM0NyBmZXRjaC1wYWNrLmM6MTI3NworIzogZmV0Y2gtcGFjay5jOjM1NiBmZXRjaC1wYWNrLmM6MTM0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNoYWxsb3cgbGluZTogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INC/0LvQuNGC0YrQuiDRgNC10LQ6IOKAniVz4oCcIgogCi0jOiBmZXRjaC1wYWNrLmM6MzUzIGZldGNoLXBhY2suYzoxMjgzCisjOiBmZXRjaC1wYWNrLmM6MzYyIGZldGNoLXBhY2suYzoxMzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdW5zaGFsbG93IGxpbmU6ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQvdC10L/Qu9C40YLRitC6INGA0LXQtDog4oCeJXPigJwiCiAKLSM6IGZldGNoLXBhY2suYzozNTUgZmV0Y2gtcGFjay5jOjEyODUKKyM6IGZldGNoLXBhY2suYzozNjQgZmV0Y2gtcGFjay5jOjEzNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IG5vdCBmb3VuZDogJXMiCiBtc2dzdHIgItC+0LHQtdC60YLRitGCIOKAniVz4oCcINC70LjQv9GB0LLQsCIKIAotIzogZmV0Y2gtcGFjay5jOjM1OCBmZXRjaC1wYWNrLmM6MTI4OAorIzogZmV0Y2gtcGFjay5jOjM2NyBmZXRjaC1wYWNrLmM6MTM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBpbiBvYmplY3Q6ICVzIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0LIg0L7QsdC10LrRgtCwOiDigJ4lc+KAnCIKIAotIzogZmV0Y2gtcGFjay5jOjM2MCBmZXRjaC1wYWNrLmM6MTI5MAorIzogZmV0Y2gtcGFjay5jOjM2OSBmZXRjaC1wYWNrLmM6MTM1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzaGFsbG93IGZvdW5kOiAlcyIKIG1zZ3N0ciAi0L3QtSDQtSDQvtGC0LrRgNC40YIg0L/Qu9C40YLRitC6INC+0LHQtdC60YI6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzYzIGZldGNoLXBhY2suYzoxMjkzCisjOiBmZXRjaC1wYWNrLmM6MzcyIGZldGNoLXBhY2suYzoxMzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiCiBtc2dzdHIgItC+0YfQsNC60LLQsCDRgdC1INC/0LvQuNGC0YrQuiDQuNC70Lgg0L3QtSDQvtCx0LXQutGCLCDQsCDQsdC1INC/0L7Qu9GD0YfQtdC90L46IOKAniVz4oCcIgogCi0jOiBmZXRjaC1wYWNrLmM6NDA0CisjOiBmZXRjaC1wYWNrLmM6NDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImdvdCAlcyAlZCAlcyIKIG1zZ3N0ciAi0L/QvtC70YPRh9C10L3QviDQsdC1ICVzICVkICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDIxCisjOiBmZXRjaC1wYWNrLmM6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29tbWl0ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QviDQv9C+0LTQsNCy0LDQvdC1OiDigJ4lc+KAnCIKIAotIzogZmV0Y2gtcGFjay5jOjQ1MgorIzogZmV0Y2gtcGFjay5jOjQ2MgogbXNnaWQgImdpdmluZyB1cCIKIG1zZ3N0ciAi0L/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1IgogCi0jOiBmZXRjaC1wYWNrLmM6NDY0IHByb2dyZXNzLmM6MjI5CisjOiBmZXRjaC1wYWNrLmM6NDc1IHByb2dyZXNzLmM6MzIzCiBtc2dpZCAiZG9uZSIKIG1zZ3N0ciAi0LTQtdC50YHRgtCy0LjQtdGC0L4g0LfQsNCy0YrRgNGI0LgiCiAKLSM6IGZldGNoLXBhY2suYzo0NzYKKyM6IGZldGNoLXBhY2suYzo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ290ICVzICglZCkgJXMiCiBtc2dzdHIgItC/0L7Qu9GD0YfQtdC90L4g0LHQtSAlcyAoJWQpICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NTIyCisjOiBmZXRjaC1wYWNrLmM6NTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hcmtpbmcgJXMgYXMgY29tcGxldGUiCiBtc2dzdHIgItCe0YLQsdC10LvRj9C30LLQsNC90LUg0L3QsCDigJ4lc+KAnCDQutCw0YLQviDQv9GK0LvQvdC+IgogCi0jOiBmZXRjaC1wYWNrLmM6NzY0CisjOiBmZXRjaC1wYWNrLmM6NzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImFscmVhZHkgaGF2ZSAlcyAoJXMpIgogbXNnc3RyICLQstC10YfQtSDQuNC80LAg4oCeJXPigJwgKCVzKSIKIAotIzogZmV0Y2gtcGFjay5jOjgwMworIzogZmV0Y2gtcGFjay5jOjgxOAogbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgogbXNnc3RyICJmZXRjaC1wYWNrOiDQvdC1INC80L7QttC1INC00LAg0YHQtSDRgdGK0LfQtNCw0LTQtSDQv9GA0L7RhtC10YEg0LfQsCDQtNC10LzRg9C70YLQuNC/0LvQtdC60YHQvtGA0LAiCiAKLSM6IGZldGNoLXBhY2suYzo4MTEKKyM6IGZldGNoLXBhY2suYzo4MjYKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIHBhY2sgaGVhZGVyIgogbXNnc3RyICLQv9GA0L7RgtC+0LrQvtC70L3QsCDQs9GA0LXRiNC60LA6INC90LXQv9GA0LDQstC40LvQvdCwINC30LDQs9C70LDQstC90LAg0YfQsNGB0YIg0L3QsCDQv9Cw0LrQtdGCIgogCi0jOiBmZXRjaC1wYWNrLmM6ODc5CisjOiBmZXRjaC1wYWNrLmM6OTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiAlcyIKIG1zZ3N0ciAiZmV0Y2gtcGFjazog0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg0L/RgNC+0YbQtdGBINC30LAg4oCeJXPigJwiCiAKLSM6IGZldGNoLXBhY2suYzo4OTUKKyM6IGZldGNoLXBhY2suYzo5MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDigJ4lc+KAnCIKIAotIzogZmV0Y2gtcGFjay5jOjg5NworIzogZmV0Y2gtcGFjay5jOjkxOAogbXNnaWQgImVycm9yIGluIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCiBtc2dzdHIgItCz0YDQtdGI0LrQsCDQsiDQtNC10LzRg9C70YLQuNC/0LvQtdC60YHQvtGA0LAiCiAKLSM6IGZldGNoLXBhY2suYzo5MjYKLW1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNsaWVudHMiCi1tc2dzdHIgItCh0YrRgNCy0YrRgNGK0YIg0L3QtSDQv9C+0LTQtNGK0YDQttCwINC/0LvQuNGC0LrQuCDQutC70LjQtdC90YLQuCIKLQotIzogZmV0Y2gtcGFjay5jOjkzMAotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2tfZGV0YWlsZWQiCi1tc2dzdHIgItCh0YrRgNCy0YrRgNGK0YIg0L/QvtC00LTRitGA0LbQsCDigJ5tdWx0aV9hY2tfZGV0YWlsZWTigJwiCi0KLSM6IGZldGNoLXBhY2suYzo5MzMKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbm8tZG9uZSIKLW1zZ3N0ciAi0KHRitGA0LLRitGA0YrRgiDQv9C+0LTQtNGK0YDQttCwIOKAnm5vLWRvbmXigJwiCi0KLSM6IGZldGNoLXBhY2suYzo5MzkKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrIgotbXNnc3RyICLQodGK0YDQstGK0YDRitGCINC/0L7QtNC00YrRgNC20LAg4oCebXVsdGlfYWNr4oCcIgotCi0jOiBmZXRjaC1wYWNrLmM6OTQzCi1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZC02NGsiCi1tc2dzdHIgItCh0YrRgNCy0YrRgNGK0YIg0L/QvtC00LTRitGA0LbQsCDigJ5zaWRlLWJhbmQtNjRr4oCcIgotCi0jOiBmZXRjaC1wYWNrLmM6OTQ3Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZCIKLW1zZ3N0ciAi0KHRitGA0LLRitGA0YrRgiDQv9C+0LTQtNGK0YDQttCwIOKAnnNpZGUtYmFuZOKAnCIKLQotIzogZmV0Y2gtcGFjay5jOjk1MQotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy10aXAtc2hhMS1pbi13YW50IgotbXNnc3RyICLQodGK0YDQstGK0YDRitGCINC/0L7QtNC00YrRgNC20LAg4oCeYWxsb3ctdGlwLXNoYTEtaW4td2FudOKAnCIKLQotIzogZmV0Y2gtcGFjay5jOjk1NQotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgotbXNnc3RyICLQodGK0YDQstGK0YDRitGCINC/0L7QtNC00YrRgNC20LAg4oCeYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudOKAnCIKLQogIzogZmV0Y2gtcGFjay5jOjk2NQotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBvZnMtZGVsdGEiCi1tc2dzdHIgItCh0YrRgNCy0YrRgNGK0YIg0L/QvtC00LTRitGA0LbQsCDigJ5vZnMtZGVsdGHigJwiCi0KLSM6IGZldGNoLXBhY2suYzo5NzEgZmV0Y2gtcGFjay5jOjExNTgKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgZmlsdGVyIgotbXNnc3RyICLQodGK0YDQstGK0YDRitGCINC/0L7QtNC00YrRgNC20LAg0YTQuNC70YLRgNC4IgotCi0jOiBmZXRjaC1wYWNrLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNlcnZlciB2ZXJzaW9uIGlzICUuKnMiCiBtc2dzdHIgItCS0LXRgNGB0LjRj9GC0LAg0L3QsCDRgdGK0YDQstGK0YDQsCDQtTogJS4qcyIKIAotIzogZmV0Y2gtcGFjay5jOjk4NQorIzogZmV0Y2gtcGFjay5jOjk3MCBmZXRjaC1wYWNrLmM6OTc2IGZldGNoLXBhY2suYzo5NzkgZmV0Y2gtcGFjay5jOjk4NQorIzogZmV0Y2gtcGFjay5jOjk4OSBmZXRjaC1wYWNrLmM6OTkzIGZldGNoLXBhY2suYzo5OTcgZmV0Y2gtcGFjay5jOjEwMDEKKyM6IGZldGNoLXBhY2suYzoxMDA1IGZldGNoLXBhY2suYzoxMDA5IGZldGNoLXBhY2suYzoxMDEzIGZldGNoLXBhY2suYzoxMDE3CisjOiBmZXRjaC1wYWNrLmM6MTAyMyBmZXRjaC1wYWNrLmM6MTAyOSBmZXRjaC1wYWNrLmM6MTAzNCBmZXRjaC1wYWNrLmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgJXMiCittc2dzdHIgItCh0YrRgNCy0YrRgNGK0YIg0L/QvtC00LTRitGA0LbQsCDigJ4lc+KAnCIKKworIzogZmV0Y2gtcGFjay5jOjk3MgorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgY2xpZW50cyIKK21zZ3N0ciAi0KHRitGA0LLRitGA0YrRgiDQvdC1INC/0L7QtNC00YrRgNC20LAg0L/Qu9C40YLQutC4INC60LvQuNC10L3RgtC4IgorCisjOiBmZXRjaC1wYWNrLmM6MTAzMgogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1zaW5jZSIKIG1zZ3N0ciAi0KHRitGA0LLRitGA0YrRgiDQvdC1INC/0L7QtNC00YrRgNC20LAg0L7Qv9GG0LjRj9GC0LAg4oCeLS1zaGFsbG93LXNpbmNl4oCcIgogCi0jOiBmZXRjaC1wYWNrLmM6OTg5CisjOiBmZXRjaC1wYWNrLmM6MTAzNwogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1leGNsdWRlIgogbXNnc3RyICLQodGK0YDQstGK0YDRitGCINC90LUg0L/QvtC00LTRitGA0LbQsCDQvtC/0YbQuNGP0YLQsCDigJ4tLXNoYWxsb3ctZXhjbHVkZeKAnCIKIAotIzogZmV0Y2gtcGFjay5jOjk5MQorIzogZmV0Y2gtcGFjay5jOjEwNDEKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLWRlZXBlbiIKIG1zZ3N0ciAi0KHRitGA0LLRitGA0YrRgiDQvdC1INC/0L7QtNC00YrRgNC20LAg0L7Qv9GG0LjRj9GC0LAg4oCeLS1kZWVwZW7igJwiCiAKLSM6IGZldGNoLXBhY2suYzoxMDA4CisjOiBmZXRjaC1wYWNrLmM6MTA1OAogbXNnaWQgIm5vIGNvbW1vbiBjb21taXRzIgogbXNnc3RyICLQvdGP0LzQsCDQvtCx0YnQuCDQv9C+0LTQsNCy0LDQvdC40Y8iCiAKLSM6IGZldGNoLXBhY2suYzoxMDIwIGZldGNoLXBhY2suYzoxNDE4CisjOiBmZXRjaC1wYWNrLmM6MTA3MCBmZXRjaC1wYWNrLmM6MTUzNgogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBmZXRjaCBmYWlsZWQuIgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazog0L3QtdGD0YHQv9C10YjQvdC+INC00L7RgdGC0LDQstGP0L3QtS4iCiAKLSM6IGZldGNoLXBhY2suYzoxMTUzCisjOiBmZXRjaC1wYWNrLmM6MTIwOQogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgcmVxdWVzdHMiCiBtc2dzdHIgItCh0YrRgNCy0YrRgNGK0YIg0L3QtSDQv9C+0LTQtNGK0YDQttCwINC/0LvQuNGC0LrQuCDQt9Cw0Y/QstC60LgiCiAKLSM6IGZldGNoLXBhY2suYzoxMTk5CisjOiBmZXRjaC1wYWNrLmM6MTIxNgorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBmaWx0ZXIiCittc2dzdHIgItCh0YrRgNCy0YrRgNGK0YIg0L/QvtC00LTRitGA0LbQsCDRhNC40LvRgtGA0LgiCisKKyM6IGZldGNoLXBhY2suYzoxMjM5Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHJlcXVlc3QgdG8gcmVtb3RlIgorbXNnc3RyICLQvdC10LLRitC30LzQvtC20L3QviDQv9C40YHQsNC90LUg0LrRitC8INC+0YLQtNCw0LvQtdGH0LXQvdC+INGF0YDQsNC90LjQu9C40YnQtSIKKworIzogZmV0Y2gtcGFjay5jOjEyNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcmVhZGluZyBzZWN0aW9uIGhlYWRlciAnJXMnIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0L/RgNC4INC/0YDQvtGH0LjRgtCw0L3QtSDQvdCwINC30LDQs9C70LDQstC90LDRgtCwINGH0LDRgdGCINC90LAg0YDQsNC30LTQtdC7IOKAniVz4oCcIgogCi0jOiBmZXRjaC1wYWNrLmM6MTIwNQorIzogZmV0Y2gtcGFjay5jOjEyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgJyVzJywgcmVjZWl2ZWQgJyVzJyIKIG1zZ3N0ciAi0L7Rh9Cw0LrQstCwINGB0LUg4oCeJXPigJwsINCwINCx0LUg0L/QvtC70YPRh9C10L3QviDigJ4lc+KAnCIKIAotIzogZmV0Y2gtcGFjay5jOjEyNDQKKyM6IGZldGNoLXBhY2suYzoxMzAzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYWNrbm93bGVkZ21lbnQgbGluZTogJyVzJyIKIG1zZ3N0ciAi0L3QtdC+0YfQsNC60LLQsNC9INGA0LXQtCDQt9CwINC/0L7RgtCy0YrRgNC20LTQtdC90LjQtTog4oCeJXPigJwiCiAKLSM6IGZldGNoLXBhY2suYzoxMjQ5CisjOiBmZXRjaC1wYWNrLmM6MTMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBwcm9jZXNzaW5nIGFja3M6ICVkIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0L/RgNC4INC+0LHRgNCw0LHQvtGC0LrQsCDQvdCwINC/0L7RgtCy0YrRgNC20LTQtdC90LjRj9GC0LA6ICVkIgogCi0jOiBmZXRjaC1wYWNrLmM6MTI1OQorIzogZmV0Y2gtcGFjay5jOjEzMTgKIG1zZ2lkICJleHBlY3RlZCBwYWNrZmlsZSB0byBiZSBzZW50IGFmdGVyICdyZWFkeSciCiBtc2dzdHIgIiIKICLQvtGH0LDQutCy0LDRiNC1INGB0LUg0L/QsNC60LXRgtC90LjRj9GCINGE0LDQudC7INC00LAg0LHRitC00LUg0LjQt9C/0YDQsNGC0LXQvSDRgdC70LXQtCDQvtGC0LPQvtCy0L7RgCDQt9CwINCz0L7RgtC+0LLQvdC+0YHRgiAocmVhZHkpIgogCi0jOiBmZXRjaC1wYWNrLmM6MTI2MQorIzogZmV0Y2gtcGFjay5jOjEzMjAKIG1zZ2lkICJleHBlY3RlZCBubyBvdGhlciBzZWN0aW9ucyB0byBiZSBzZW50IGFmdGVyIG5vICdyZWFkeSciCiBtc2dzdHIgIiIKICLQvtGH0LDQutCy0LDRiNC1INGB0LUg0YHQu9C10LQg0LvQuNC/0YHQsCDQvdCwINC+0YLQs9C+0LLQvtGAINC30LAg0LPQvtGC0L7QstC90L7RgdGCIChyZWFkeSkg0LTQsCDQvdC1INGB0LUg0YHQtSDQv9GA0LDRidCw0YIgIgogItC00YDRg9Cz0Lgg0YDQsNC30LTQtdC70LgiCiAKLSM6IGZldGNoLXBhY2suYzoxMjk4CisjOiBmZXRjaC1wYWNrLmM6MTM2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBwcm9jZXNzaW5nIHNoYWxsb3cgaW5mbzogJWQiCiBtc2dzdHIgItCz0YDQtdGI0LrQsCDQv9GA0Lgg0L7QsdGA0LDQsdC+0YLQutCwINC90LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDQtNGK0LvQsdC+0YfQuNC90LDRgtCwL9C/0LvQuNGC0LrQvtGB0YLRgtCwOiAlZCIKIAotIzogZmV0Y2gtcGFjay5jOjEzMTQKKyM6IGZldGNoLXBhY2suYzoxNDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIHdhbnRlZC1yZWYsIGdvdCAnJXMnIgogbXNnc3RyICLQvtGH0LDQutCy0LAg0YHQtSDQuNGB0LrQsNC9INGD0LrQsNC30LDRgtC10LssINCwINCx0LUg0L/QvtC70YPRh9C10L3Qvjog4oCeJXPigJwiCiAKLSM6IGZldGNoLXBhY2suYzoxMzI0CisjOiBmZXRjaC1wYWNrLmM6MTQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHdhbnRlZC1yZWY6ICclcyciCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvSDQuNGB0LrQsNC9INGD0LrQsNC30LDRgtC10Ls6IOKAniVz4oCcIgogCi0jOiBmZXRjaC1wYWNrLmM6MTMyOAorIzogZmV0Y2gtcGFjay5jOjE0MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcHJvY2Vzc2luZyB3YW50ZWQgcmVmczogJWQiCiBtc2dzdHIgItCz0YDQtdGI0LrQsCDQv9GA0Lgg0L7QsdGA0LDQsdC+0YLQutCw0YLQsCDQvdCwINC40YHQutCw0L3QuNGC0LUg0YPQutCw0LfQsNGC0LXQu9C4OiAlZCIKIAotIzogZmV0Y2gtcGFjay5jOjE2NDIKKyM6IGZldGNoLXBhY2suYzoxNzYyCiBtc2dpZCAibm8gbWF0Y2hpbmcgcmVtb3RlIGhlYWQiCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LrRgNC40YIg0L/QvtC00YXQvtC00Y/RiSDQstGA0YrRhSDQvtGCINC+0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUiCiAKLSM6IGZldGNoLXBhY2suYzoxNjYwIGJ1aWx0aW4vY2xvbmUuYzo2NjQKKyM6IGZldGNoLXBhY2suYzoxNzg1IGJ1aWx0aW4vY2xvbmUuYzo2ODgKIG1zZ2lkICJyZW1vdGUgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0cyIKIG1zZ3N0ciAi0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSDQvdC1INC40LfQv9GA0LDRgtC4INCy0YHQuNGH0LrQuCDQvdC10L7QsdGF0L7QtNC40LzQuCDQvtCx0LXQutGC0LguIgogCi0jOiBmZXRjaC1wYWNrLmM6MTY4NgorIzogZmV0Y2gtcGFjay5jOjE4MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCByZW1vdGUgcmVmICVzIgogbXNnc3RyICLRgtCw0LrRitCyINC+0YLQtNCw0LvQtdGH0LXQvSDRg9C60LDQt9Cw0YLQtdC7INC90Y/QvNCwOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjE2ODkKKyM6IGZldGNoLXBhY2suYzoxODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBhbGxvdyByZXF1ZXN0IGZvciB1bmFkdmVydGlzZWQgb2JqZWN0ICVzIgotbXNnc3RyICLQodGK0YDQstGK0YDRitGCINC90LUg0L/QvtC30LLQvtC70Y/QstCwINC30LDRj9Cy0LrQsCDQt9CwINC90LXQvtCx0Y/QstC10L0g4oCeJXPigJwiCittc2dzdHIgItCh0YrRgNCy0YrRgNGK0YIg0L3QtSDQv9C+0LfQstC+0LvRj9Cy0LAg0LfQsNGP0LLQutCwINC30LAg0L3QtdC+0LHRj9Cy0LXQvSDQvtCx0LXQutGCIOKAniVz4oCcIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MzE4Ci1tc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgotbXNnc3RyICLQn9GA0L7Qs9GA0LDQvNCw0YLQsCDigJ5ncGfigJwg0L3QtSDQv9C+0LTQv9C40YHQsCDQtNCw0L3QvdC40YLQtS4iCi0KLSM6IGdwZy1pbnRlcmZhY2UuYzozNDQKKyM6IGdwZy1pbnRlcmZhY2UuYzoyMjMKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDRgdGK0LfQtNCw0LTQtSDQstGA0LXQvNC10L3QtdC9INGE0LDQudC7IgogCi0jOiBncGctaW50ZXJmYWNlLmM6MzQ3CisjOiBncGctaW50ZXJmYWNlLmM6MjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIgogbXNnc3RyICLQn9GA0L7Qs9GA0LDQvNCw0YLQsCDQvdC1INGD0YHQv9GPINC00LAg0LfQsNC/0LjRiNC1INGB0LDQvNC+0YHRgtC+0Y/RgtC10LvQvdC40Y8g0L/QvtC00L/QuNGBINCyIOKAniVz4oCcIgogCi0jOiBncmFwaC5jOjk3CisjOiBncGctaW50ZXJmYWNlLmM6MzkwCittc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgorbXNnc3RyICLQn9GA0L7Qs9GA0LDQvNCw0YLQsCDigJ5ncGfigJwg0L3QtSDQv9C+0LTQv9C40YHQsCDQtNCw0L3QvdC40YLQtS4iCisKKyM6IGdyYXBoLmM6OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JlIGludmFsaWQgY29sb3IgJyUuKnMnIGluIGxvZy5ncmFwaENvbG9ycyIKIG1zZ3N0ciAi0L/RgNC10YHQutCw0YfQsNC90LUg0L3QsCDQvdC10L/RgNCw0LLQuNC70L3QuNGPINGG0LLRj9GCIOKAniUuKnPigJwg0LIg4oCebG9nLmdyYXBoQ29sb3Jz4oCcIgogCi0jOiBncmVwLmM6MjExMworIzogZ3JlcC5jOjY2OAorbXNnaWQgIiIKKyJnaXZlbiBwYXR0ZXJuIGNvbnRhaW5zIE5VTEwgYnl0ZSAodmlhIC1mIDxmaWxlPikuIFRoaXMgaXMgb25seSBzdXBwb3J0ZWQgIgorIndpdGggLVAgdW5kZXIgUENSRSB2MiIKK21zZ3N0ciAiIgorItC30LDQtNCw0LTQtdC90LjRj9GCINGI0LDQsdC70L7QvSDRgdGK0LTRitGA0LbQsCDQvdGD0LvQtdCyINC30L3QsNC6ICjQuNC00LLQsCDQvtGCIC1mIOKAntCk0JDQmdCb4oCcKS4gINCi0L7QstCwINGB0LUg0L/QvtC00LTRitGA0LbQsCAiCisi0LIg0LrQvtC80LHQuNC90LDRhtC40Y8g0YEg4oCeLVDigJwg0YHQsNC80L4g0L/RgNC4INC/0L7Qu9C30LLQsNC90LXRgtC+INC90LAg4oCeUENSRSB2MuKAnCIKKworIzogZ3JlcC5jOjIxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIuKAniVz4oCcOiDRhNCw0LnQu9GK0YIg0YHQvtGH0LXQvSDQvtGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC9IgogCi0jOiBncmVwLmM6MjEzMCBzZXR1cC5jOjE2NCBidWlsdGluL2Nsb25lLmM6NDEwIGJ1aWx0aW4vZGlmZi5jOjgxCi0jOiBidWlsdGluL3JtLmM6MTM0CisjOiBncmVwLmM6MjE0MSBzZXR1cC5jOjE2NSBidWlsdGluL2Nsb25lLmM6NDExIGJ1aWx0aW4vZGlmZi5jOjgyCisjOiBidWlsdGluL3JtLmM6MTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclcyciCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LvRg9GH0LXQvdCwINC40L3RhNC+0YDQvNCw0YbQuNGPINGH0YDQtdC3IOKAnnN0YXTigJwg0LfQsCDigJ4lc+KAnCIKIAotIzogZ3JlcC5jOjIxNDEKKyM6IGdyZXAuYzoyMTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHNob3J0IHJlYWQiCiBtc2dzdHIgIuKAniVz4oCcOiDQuNC30YfQuNGC0LDQvdC10YLQviDQstGK0YDQvdCwINC/0L4t0LzQsNC70LrQviDQsdCw0LnRgtC+0LLQtSDQvtGCINC+0YfQsNC60LLQsNC90L7RgtC+IgpAQCAtMjgyMiwxMSArNDAxNywxMSBAQAogCiAjOiBoZWxwLmM6MzIKIG1zZ2lkICJBbmNpbGxhcnkgQ29tbWFuZHMgLyBNYW5pcHVsYXRvcnMiCi1tc2dzdHIgItCf0L7QvNC+0YnQvdC4INC60L7QvNCw0L3QtNC4L9Cf0YDQvtC80LXQvdGP0YnQuCIKK21zZ3N0ciAi0J/QvtC80L7RidC90Lgg0LrQvtC80LDQvdC00LggLyDQn9GA0L7QvNC10L3Rj9GJ0LgiCiAKICM6IGhlbHAuYzozMwogbXNnaWQgIkFuY2lsbGFyeSBDb21tYW5kcyAvIEludGVycm9nYXRvcnMiCi1tc2dzdHIgItCf0L7QvNC+0YnQvdC4INC60L7QvNCw0L3QtNC4L9CX0LDQv9C40YLQstCw0YnQuCIKK21zZ3N0ciAi0J/QvtC80L7RidC90Lgg0LrQvtC80LDQvdC00LggLyDQl9Cw0L/QuNGC0LLQsNGJ0LgiCiAKICM6IGhlbHAuYzozNAogbXNnaWQgIkludGVyYWN0aW5nIHdpdGggT3RoZXJzIgpAQCAtMjgzNCw1NSArNDAyOSw1NSBAQAogCiAjOiBoZWxwLmM6MzUKIG1zZ2lkICJMb3ctbGV2ZWwgQ29tbWFuZHMgLyBNYW5pcHVsYXRvcnMiCi1tc2dzdHIgItCa0L7QvNCw0L3QtNC4INC+0YIg0L3QuNGB0LrQviDQvdC40LLQvi/Qn9GA0L7QvNC10L3Rj9GJ0LgiCittc2dzdHIgItCa0L7QvNCw0L3QtNC4INC+0YIg0L3QuNGB0LrQviDQvdC40LLQviAvINCf0YDQvtC80LXQvdGP0YnQuCIKIAogIzogaGVscC5jOjM2CiBtc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gSW50ZXJyb2dhdG9ycyIKLW1zZ3N0ciAi0JrQvtC80LDQvdC00Lgg0L7RgiDQvdC40YHQutC+INC90LjQstC+L9CX0LDQv9C40YLQstCw0YnQuCIKK21zZ3N0ciAi0JrQvtC80LDQvdC00Lgg0L7RgiDQvdC40YHQutC+INC90LjQstC+IC8g0JfQsNC/0LjRgtCy0LDRidC4IgogCiAjOiBoZWxwLmM6MzcKLW1zZ2lkICJMb3ctbGV2ZWwgQ29tbWFuZHMgLyBTeW5jaGluZyBSZXBvc2l0b3JpZXMiCi1tc2dzdHIgItCa0L7QvNCw0L3QtNC4INC+0YIg0L3QuNGB0LrQviDQvdC40LLQvi/QodC40L3RhdGA0L7QvdC40LfQsNGG0LjRjyDQvdCwINGF0YDQsNC90LjQu9C40YnQsCIKK21zZ2lkICJMb3ctbGV2ZWwgQ29tbWFuZHMgLyBTeW5jaW5nIFJlcG9zaXRvcmllcyIKK21zZ3N0ciAi0JrQvtC80LDQvdC00Lgg0L7RgiDQvdC40YHQutC+INC90LjQstC+IC8g0KHQuNC90YXRgNC+0L3QuNC30LDRhtC40Y8g0L3QsCDRhdGA0LDQvdC40LvQuNGJ0LAiCiAKICM6IGhlbHAuYzozOAogbXNnaWQgIkxvdy1sZXZlbCBDb21tYW5kcyAvIEludGVybmFsIEhlbHBlcnMiCi1tc2dzdHIgItCa0L7QvNCw0L3QtNC4INC+0YIg0L3QuNGB0LrQviDQvdC40LLQvi/QlNC+0L/RitC70L3QuNGC0LXQu9C90Lgg0LjQvdGB0YLRgNGD0LzQtdC90YLQuCIKK21zZ3N0ciAi0JrQvtC80LDQvdC00Lgg0L7RgiDQvdC40YHQutC+INC90LjQstC+IC8g0JTQvtC/0YrQu9C90LjRgtC10LvQvdC4INC40L3RgdGC0YDRg9C80LXQvdGC0LgiCiAKLSM6IGhlbHAuYzoyOTYKKyM6IGhlbHAuYzoyOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYXZhaWxhYmxlIGdpdCBjb21tYW5kcyBpbiAnJXMnIgogbXNnc3RyICLQvdCw0LvQuNGH0L3QuCDQutC+0LzQsNC90LTQuCDQvdCwIGdpdCDQvtGCIOKAniVz4oCcIgogCi0jOiBoZWxwLmM6MzAzCisjOiBoZWxwLmM6MzA1CiBtc2dpZCAiZ2l0IGNvbW1hbmRzIGF2YWlsYWJsZSBmcm9tIGVsc2V3aGVyZSBvbiB5b3VyICRQQVRIIgogbXNnc3RyICLQutC+0LzQsNC90LTQuCDQvdCwIGdpdCDQvtGCINC00YDRg9Cz0Lgg0LTQuNGA0LXQutGC0L7RgNC40Lgg0L7RgiDigJ4kUEFUSOKAnCIKIAotIzogaGVscC5jOjMxMgorIzogaGVscC5jOjMxNAogbXNnaWQgIlRoZXNlIGFyZSBjb21tb24gR2l0IGNvbW1hbmRzIHVzZWQgaW4gdmFyaW91cyBzaXR1YXRpb25zOiIKIG1zZ3N0ciAi0KLQvtCy0LAg0YHQsCDQvdCw0Lkt0YfQtdGB0YLQviDQuNC30L/QvtC70LfQstCw0L3QuNGC0LUg0LrQvtC80LDQvdC00Lgg0L3QsCBHaXQ6IgogCi0jOiBoZWxwLmM6MzYxIGdpdC5jOjkwCisjOiBoZWxwLmM6MzYzIGdpdC5jOjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQgbGlzdGluZyB0eXBlICclcyciCiBtc2dzdHIgItC90LXQv9C+0LTQtNGK0YDQttCw0L0g0YHQv9C40YHRitC6INC+0YIg0LrQvtC80LDQvdC00Lgg4oCeJXPigJwiCiAKLSM6IGhlbHAuYzo0MDgKKyM6IGhlbHAuYzo0MDMKIG1zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOiIKIG1zZ3N0ciAi0J/QvtC/0YPQu9GP0YDQvdC40YLQtSDQstGK0LLQtdC00LXQvdC40Y8g0LIgR2l0INGB0LA6IgogCi0jOiBoZWxwLmM6NTE3CisjOiBoZWxwLmM6NTEyCiBtc2dpZCAiU2VlICdnaXQgaGVscCA8Y29tbWFuZD4nIHRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIgogbXNnc3RyICLQl9CwINC/0L7QstC10YfQtSDQuNC90YTQvtGA0LzQsNGG0LjRjyDQt9CwINCa0J7QnNCQ0J3QlNCQINC40LfQv9GK0LvQvdC10YLQtSDigJ5naXQgaGVscCDQmtCe0JzQkNCd0JTQkOKAnCIKIAotIzogaGVscC5jOjUyMgorIzogaGVscC5jOjUxNwogbXNnaWQgIkV4dGVybmFsIGNvbW1hbmRzIgogbXNnc3RyICLQktGK0L3RiNC90Lgg0LrQvtC80LDQvdC00LgiCiAKLSM6IGhlbHAuYzo1MzAKKyM6IGhlbHAuYzo1MzIKIG1zZ2lkICJDb21tYW5kIGFsaWFzZXMiCiBtc2dzdHIgItCf0YHQtdCy0LTQvtC90LjQvNC4INC90LAg0LrQvtC80LDQvdC00LjRgtC1IgogCi0jOiBoZWxwLmM6NTk0CisjOiBoZWxwLmM6NTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnIGFwcGVhcnMgdG8gYmUgYSBnaXQgY29tbWFuZCwgYnV0IHdlIHdlcmUgbm90XG4iCkBAIC0yODkxLDM2ICs0MDg2LDM2IEBACiAi0JjQt9Cz0LvQtdC20LTQsCwg0YfQtSDigJ4lc+KAnCDQtSDQutC+0LzQsNC90LTQsCDQvdCwIGdpdCwg0L3QviDRgtGPINC90LUg0LzQvtC20LUg0LTQsFxuIgogItCx0YrQtNC1INC40LfQv9GK0LvQvdC10L3QsC4gINCS0LXRgNC+0Y/RgtC90L4g0L/QsNC60LXRgtGK0YIg4oCeZ2l0LSVz4oCcINC1INC/0L7QstGA0LXQtNC10L0uIgogCi0jOiBoZWxwLmM6NjUzCisjOiBoZWxwLmM6NjU1CiBtc2dpZCAiVWggb2guIFlvdXIgc3lzdGVtIHJlcG9ydHMgbm8gR2l0IGNvbW1hbmRzIGF0IGFsbC4iCiBtc2dzdHIgItCh0YLRgNCw0L3QvdC+LCDQuNC30LPQu9C10LbQtNCwLCDRh9C1INC90LAg0YHQuNGB0YLQtdC80LDRgtCwINCy0Lgg0L3Rj9C80LAg0L3QuNGC0L4g0LXQtNC90LAg0LrQvtC80LDQvdC00LAg0L3QsCBnaXQuIgogCi0jOiBoZWxwLmM6Njc1CisjOiBoZWxwLmM6Njc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IFlvdSBjYWxsZWQgYSBHaXQgY29tbWFuZCBuYW1lZCAnJXMnLCB3aGljaCBkb2VzIG5vdCBleGlzdC4iCiBtc2dzdHIgIiIKICLQn9Cg0JXQlNCj0J/QoNCV0JbQlNCV0J3QmNCVOiDQn9GA0L7QsdCy0LDRhdGC0LUg0LTQsCDQuNC30L/RitC70L3QuNGC0LUg0LrQvtC80LDQvdC00LAg0L3QsCBHaXQg0L3QsCDQuNC80LUg4oCeJXPigJwsINCwINGC0LDQutCw0LLQsCAiCiAi0L3QtSDRgdGK0YnQtdGB0YLQstGD0LLQsC4iCiAKLSM6IGhlbHAuYzo2ODAKKyM6IGhlbHAuYzo2ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29udGludWluZyB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHlvdSBtZWFudCAnJXMnLiIKIG1zZ3N0ciAiIgogItCY0LfQv9GK0LvQvdC10L3QuNC10YLQviDQsNCy0YLQvtC80LDRgtC40YfQvdC+INC/0YDQvtC00YrQu9C20LDQstCwLCDQutCw0YLQviDRgdC1INGB0YfQuNGC0LAsINGH0LUg0LjQvNCw0YLQtSDQv9GA0LXQtNCy0LjQtCDigJ4lc+KAnC4iCiAKLSM6IGhlbHAuYzo2ODUKKyM6IGhlbHAuYzo2ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29udGludWluZyBpbiAlMC4xZiBzZWNvbmRzLCBhc3N1bWluZyB0aGF0IHlvdSBtZWFudCAnJXMnLiIKIG1zZ3N0ciAiIgogItCY0LfQv9GK0LvQvdC10L3QuNC10YLQviDQsNCy0YLQvtC80LDRgtC40YfQvdC+INGJ0LUg0L/RgNC+0LTRitC70LbQuCDRgdC70LXQtCAlMC4xZiDRgdC10LouLCDQutCw0YLQviDRgdC1INGB0YfQuNGC0LAsINGH0LUgIgogItC40LzQsNGC0LUg0L/RgNC10LTQstC40LQg4oCeJXPigJwuIgogCi0jOiBoZWxwLmM6NjkzCisjOiBoZWxwLmM6Njk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdDogJyVzJyBpcyBub3QgYSBnaXQgY29tbWFuZC4gU2VlICdnaXQgLS1oZWxwJy4iCiBtc2dzdHIgImdpdDog4oCeJXPigJwg0L3QtSDQtSDQutC+0LzQsNC90LTQsCDQvdCwIGdpdC4gINCf0L7Qs9C70LXQtNC90LXRgtC1INC40LfRhdC+0LTQsCDQvtGCIOKAnmdpdCAtLWhlbHDigJwuIgogCi0jOiBoZWxwLmM6Njk3CisjOiBoZWxwLmM6Njk5CiBtc2dpZCAiIgogIlxuIgogIlRoZSBtb3N0IHNpbWlsYXIgY29tbWFuZCBpcyIKQEAgLTI5MzQsMTYgKzQxMjksMTYgQEAKICJcbiIKICLQndCw0Lkt0LHQu9C40LfQutC40YLQtSDQutC+0LzQsNC90LTQuCDRgdCwIgogCi0jOiBoZWxwLmM6NzEyCisjOiBoZWxwLmM6NzE0CiBtc2dpZCAiZ2l0IHZlcnNpb24gWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCB2ZXJzaW9uIFvQntCf0KbQmNCv4oCmXSIKIAotIzogaGVscC5jOjc4MAorIzogaGVscC5jOjc4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXMgLSAlcyIKIG1zZ3N0ciAiJXM6ICVzIOKAlCAlcyIKIAotIzogaGVscC5jOjc4NAorIzogaGVscC5jOjc4NwogbXNnaWQgIiIKICJcbiIKICJEaWQgeW91IG1lYW4gdGhpcz8iCkBAIC0yOTU3LDcgKzQxNTIsNyBAQAogIlxuIgogItCa0L7QvNCw0L3QtNC4INGBINC/0L7QtNC+0LHQvdC+INC40LzQtSDRgdCwOiIKIAotIzogaWRlbnQuYzozNDUKKyM6IGlkZW50LmM6MzQ5CiBtc2dpZCAiIgogIlxuIgogIioqKiBQbGVhc2UgdGVsbCBtZSB3aG8geW91IGFyZS5cbiIKQEAgLTI5NzYsNjAgKzQxNzEsMTAwIEBACiAiXG4iCiAi0JjQt9C/0YrQu9C90LXRgtC1OlxuIgogIlxuIgotIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwi0JjQnNCVQGV4YW1wbGUuY29tXCJcbiIKLSIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwi0JLQkNCo0JXQotCeINCY0JzQlVwiXG4iCisiICAgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5lbWFpbCBcItCY0JzQlUBleGFtcGxlLmNvbVwiXG4iCisiICAgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwi0JLQkNCo0JXQotCeINCY0JzQlVwiXG4iCiAiXG4iCiAi0Lgg0LLRitCy0LXQtNC10YLQtSDQtNCw0L3QvdC4INC30LAg0YHQtdCx0LUg0YHQuC5cbiIKICLQkNC60L4g0L/RgNC+0L/Rg9GB0L3QtdGC0LUg0L7Qv9GG0LjRj9GC0LAg4oCeLS1nbG9iYWzigJwsINGB0LDQvNC+0LvQuNGH0L3QvtGB0YLRgtCwINC1INGB0LDQvNC+INC30LAg0YLQtdC60YPRidC+0YLQviAiCiAi0YXRgNCw0L3QuNC70LjRidC1LlxuIgogIlxuIgogCi0jOiBpZGVudC5jOjM2OQorIzogaWRlbnQuYzozNzkKIG1zZ2lkICJubyBlbWFpbCB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgogbXNnc3RyICLQu9C40L/RgdCy0LAg0LDQtNGA0LXRgSDQt9CwINC1LdC/0L7RidCwLCDQsCDQsNCy0YLQvtC80LDRgtC40YfQvdC+0YLQviDQvtGC0LPQsNGC0LLQsNC90LUg0LUg0LjQt9C60LvRjtGH0LXQvdC+IgogCi0jOiBpZGVudC5jOjM3NAorIzogaWRlbnQuYzozODQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGF1dG8tZGV0ZWN0IGVtYWlsIGFkZHJlc3MgKGdvdCAnJXMnKSIKIG1zZ3N0ciAiIgogItCw0LTRgNC10YHRitGCINC30LAg0LUt0L/QvtGJ0LAg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQs9Cw0YLQvdCw0YIgKNC90LDQuS3QtNC+0LHRgNC+0YLQviDQv9GA0LXQtNC/0L7Qu9C+0LbQtdC90LjQtSDQsdC1ICIKICLigJ4lc+KAnCkiCiAKLSM6IGlkZW50LmM6Mzg0CisjOiBpZGVudC5jOjQwMQogbXNnaWQgIm5vIG5hbWUgd2FzIGdpdmVuIGFuZCBhdXRvLWRldGVjdGlvbiBpcyBkaXNhYmxlZCIKIG1zZ3N0ciAi0LvQuNC/0YHQstCwINC40LzQtSwg0LAg0LDQstGC0L7QvNCw0YLQuNGH0L3QvtGC0L4g0L7RgtCz0LDRgtCy0LDQvdC1INC1INC40LfQutC70Y7Rh9C10L3QviIKIAotIzogaWRlbnQuYzozOTAKKyM6IGlkZW50LmM6NDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBuYW1lIChnb3QgJyVzJykiCiBtc2dzdHIgItC40LzQtdGC0L4g0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQs9Cw0YLQvdCw0YLQviAo0L3QsNC5LdC00L7QsdGA0L7RgtC+INC/0YDQtdC00L/QvtC70L7QttC10L3QuNC1INCx0LUg4oCeJXPigJwpIgogCi0jOiBpZGVudC5jOjM5OAorIzogaWRlbnQuYzo0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1wdHkgaWRlbnQgbmFtZSAoZm9yIDwlcz4pIG5vdCBhbGxvd2VkIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9C+0LvQt9Cy0LAg0L/RgNCw0LfQvdC+INC40LzQtSDQutCw0YLQviDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCAo0LfQsCA8JXM+KSIKIAotIzogaWRlbnQuYzo0MDQKKyM6IGlkZW50LmM6NDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5hbWUgY29uc2lzdHMgb25seSBvZiBkaXNhbGxvd2VkIGNoYXJhY3RlcnM6ICVzIgogbXNnc3RyICLQuNC80LXRgtC+INGB0YrQtNGK0YDQttCwINGB0LDQvNC+INC90LXQv9C+0LfQstC+0LvQtdC90Lgg0LfQvdCw0YbQuDog4oCeJXPigJwiCiAKLSM6IGlkZW50LmM6NDE5IGJ1aWx0aW4vY29tbWl0LmM6NjA2CisjOiBpZGVudC5jOjQzNiBidWlsdGluL2NvbW1pdC5jOjYzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0OiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YTQvtGA0LzQsNGCINC90LAg0LTQsNGC0LA6ICVzIgogCi0jOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzozNQotbXNnaWQgIm11bHRpcGxlIGZpbHRlci1zcGVjcyBjYW5ub3QgYmUgY29tYmluZWQiCi1tc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDQutC+0LzQsdC40L3QuNGA0LDRgtC1INC80L3QvtC20LXRgdGC0LLQviDRhNC40LvRgtGA0LgiCisjOiBsaXN0LW9iamVjdHMuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW50cnkgJyVzJyBpbiB0cmVlICVzIGhhcyB0cmVlIG1vZGUsIGJ1dCBpcyBub3QgYSB0cmVlIgorbXNnc3RyICLQvtCx0LXQutGCIOKAniVz4oCcINCyINC00YrRgNCy0L7RgtC+IOKAniVz4oCcINC1INC+0YLQsdC10LvRj9C30LDQvSDQutCw0YLQviDQtNGK0YDQstC+LCDQvdC+INC90LUg0LUiCisKKyM6IGxpc3Qtb2JqZWN0cy5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJlbnRyeSAnJXMnIGluIHRyZWUgJXMgaGFzIGJsb2IgbW9kZSwgYnV0IGlzIG5vdCBhIGJsb2IiCittc2dzdHIgItC+0LHQtdC60YIg4oCeJXPigJwg0LIg0LTRitGA0LLQvtGC0L4g4oCeJXPigJwg0LUg0L7RgtCx0LXQu9GP0LfQsNC9INC60LDRgtC+IEJMT0IsINC90L4g0L3QtSDQtSIKKworIzogbGlzdC1vYmplY3RzLmM6Mzc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBsb2FkIHJvb3QgdHJlZSBmb3IgY29tbWl0ICVzIgorbXNnc3RyICLQutC+0YDQtdC90L7QstC+0YLQviDQtNGK0YDQstC+INC30LAg0L/QvtC00LDQstCw0L3QtSDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQt9Cw0YDQtdC00LgiCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXIuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFjY2VzcyBzcGFyc2UgYmxvYiBpbiAnJXMnIgorbXNnc3RyICLQvdGP0LzQsCDQtNC+0YHRgtGK0L8g0LTQviDRh9Cw0YHRgtC40YfQvdC+INC40LfRgtC10LPQu9C10L3QuNGPINC+0LHQtdC60YItQkxPQiDQsiDigJ4lc+KAnCIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2Ugc3BhcnNlIGZpbHRlciBkYXRhIGluICVzIgorbXNnc3RyICIiCisi0LTQsNC90L3QuNGC0LUg0L7RgiDRhNC40LvRgtGK0YDQsCDQt9CwINGH0LDRgdGC0LjRh9C90Lgg0LjQt9GC0LXQs9C70LDQvdC40Y8g0LIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNCw0YIg0LDQvdCw0LvQuNC30LjRgNCw0L3QuCIKIAogIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6NTgKLW1zZ2lkICJvbmx5ICd0cmVlOjAnIGlzIHN1cHBvcnRlZCIKLW1zZ3N0ciAi0L/QvtC00LTRitGA0LbQsCDRgdC1INC10LTQuNC90YHRgtCy0LXQvdC+IOKAnnRyZWU6MOKAnCIKK21zZ2lkICJleHBlY3RlZCAndHJlZTo8ZGVwdGg+JyIKK21zZ3N0ciAi0L7Rh9Cw0LrQstCwINGB0LUg4oCedHJlZTrQlNCq0JvQkdCe0KfQmNCd0JDigJwiCiAKLSM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjEzNwotbXNnaWQgImNhbm5vdCBjaGFuZ2UgcGFydGlhbCBjbG9uZSBwcm9taXNvciByZW1vdGUiCi1tc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDQv9GA0L7QvNC10L3QuNGC0LUg0YXRgNCw0L3QuNC70LjRidC10YLQvi3Qs9Cw0YDQsNC90YIg0L3QsCDQvdC10L/RitC70L3QviDRhdGA0LDQvdC40LvQuNGJ0LUiCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzo3MworbXNnaWQgInNwYXJzZTpwYXRoIGZpbHRlcnMgc3VwcG9ydCBoYXMgYmVlbiBkcm9wcGVkIgorbXNnc3RyICLQv9C+0LTQtNGA0YrQttC60LDRgtCwINC90LAg0YTQuNC70YLRgNC4INGB0YrRgSDigJ5zcGFyc2U6cGF0aOKAnCDQtSDQv9GA0LXQvNCw0YXQvdCw0YLQsCIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBmaWx0ZXItc3BlYyAnJXMnIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDRhNC40LvRgtGK0YA6IOKAniVz4oCcIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBlc2NhcGUgY2hhciBpbiBzdWItZmlsdGVyLXNwZWM6ICclYyciCittc2dzdHIgItC30L3QsNC6INC30LAg0LXQutGA0LDQvdC40YDQsNC90LUg0LIg0L/QvtC00YTQuNC70YLRitGAOiDigJ4lY+KAnCIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MTQ0Cittc2dpZCAiZXhwZWN0ZWQgc29tZXRoaW5nIGFmdGVyIGNvbWJpbmU6IgorbXNnc3RyICLQtNC+0LHQsNCy0LXRgtC1INC90LXRidC+INGB0LvQtdC0INC60L7QvNCx0LjQvdC40YDQsNC90LXRgtC+OiIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MjI2Cittc2dpZCAibXVsdGlwbGUgZmlsdGVyLXNwZWNzIGNhbm5vdCBiZSBjb21iaW5lZCIKK21zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINC60L7QvNCx0LjQvdC40YDQsNGC0LUg0LzQvdC+0LbQtdGB0YLQstC+INGE0LjQu9GC0YDQuCIKIAogIzogbG9ja2ZpbGUuYzoxNTEKICMsIGMtZm9ybWF0CkBAIC0zMDU5LDEyNSArNDI5NCwxMjIgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgItC60LXRiNGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IG1lcmdlLmM6MTA3IHJlcmVyZS5jOjcyMCBidWlsdGluL2FtLmM6MTg5OSBidWlsdGluL2FtLmM6MTkzMwotIzogYnVpbHRpbi9jaGVja291dC5jOjM4NyBidWlsdGluL2NoZWNrb3V0LmM6NzA4IGJ1aWx0aW4vY2xvbmUuYzo3NjQKKyM6IG1lcmdlLmM6MTA3IHJlcmVyZS5jOjcyMCBidWlsdGluL2FtLmM6MTg3NCBidWlsdGluL2FtLmM6MTkwOAorIzogYnVpbHRpbi9jaGVja291dC5jOjUzOSBidWlsdGluL2NoZWNrb3V0LmM6Nzk4IGJ1aWx0aW4vY2xvbmUuYzo4MDkKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNjQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQt9Cw0L/QuNGB0LLQsNC90LUg0L3QsCDQvdC+0LLQuNGPINC40L3QtNC10LrRgSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzIzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNTYKIG1zZ2lkICIoYmFkIGNvbW1pdClcbiIKIG1zZ3N0ciAiKNC70L7RiNC+INC/0L7QtNCw0LLQsNC90LUpXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6Mzc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9jYWNoZWluZm8gZmFpbGVkIGZvciBwYXRoICclcyc7IG1lcmdlIGFib3J0aW5nLiIKIG1zZ3N0ciAiIgogItC90LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwIOKAnmFkZF9jYWNoZWluZm/igJwg0LfQsCDQv9GK0YLRjyDigJ4lc+KAnC4gINCh0LvQuNCy0LDQvdC10YLQviDQtSAiCiAi0L/RgNC10YPRgdGC0LDQvdC+0LLQtdC90L4uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNTMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfY2FjaGVpbmZvIGZhaWxlZCB0byByZWZyZXNoIGZvciBwYXRoICclcyc7IG1lcmdlIGFib3J0aW5nLiIKIG1zZ3N0ciAiIgogItC90LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwIOKAnmFkZF9jYWNoZWluZm/igJwg0LfQsCDQvtCx0L3QvtCy0Y/QstCw0L3QtdGC0L4g0L3QsCDQv9GK0YLRjyDigJ4lc+KAnC4gICIKICLQodC70LjQstCw0L3QtdGC0L4g0LUg0L/RgNC10YPRgdGC0LDQvdC+0LLQtdC90L4uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo0MzUKLW1zZ2lkICJlcnJvciBidWlsZGluZyB0cmVlcyIKLW1zZ3N0ciAi0LPRgNC10YjQutCwINC/0YDQuCDQuNC30LPRgNCw0LbQtNCw0L3QtSDQvdCwINC00YrRgNCy0LXRgtCw0YLQsCIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTA2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwYXRoICclcyclcyIKIG1zZ3N0ciAi0LPRgNC10YjQutCwINC/0YDQuCDRgdGK0LfQtNCw0LLQsNC90LXRgtC+INC90LAg0L/RitGC0Y8g4oCeJXPigJwlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTE3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMgdG8gbWFrZSByb29tIGZvciBzdWJkaXJlY3RvcnlcbiIKIG1zZ3N0ciAi0JjQt9GC0YDQuNCy0LDQvdC1INC90LAg4oCeJXPigJwsINC30LAg0LTQsCDRgdC1INC+0YHQstC+0LHQvtC00Lgg0LzRj9GB0YLQviDQt9CwINC/0L7QtNC00LjRgNC10LrRgtC+0YDQuNGPXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkzMSBtZXJnZS1yZWN1cnNpdmUuYzo5NTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg5OSBtZXJnZS1yZWN1cnNpdmUuYzo5MTgKIG1zZ2lkICI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IgogbXNnc3RyICI6INCy0YrQt9C80L7QttC90L4g0LUg0LTQsCDQuNC80LAg0LrQvtC90YTQu9C40LrRgiDQtNC40YDQtdC60YLQvtGA0LjRjy/RhNCw0LnQuy4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk0MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJyVzJyIKIG1zZ3N0ciAiIgogItC/0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCw0L3QtSDQvdCwINC00LXQudGB0YLQstC40LXRgtC+LCDQt9CwINC00LAg0L3QtSDRgdC1INC40LfRgtGA0LjQtSDQvdC10YHQu9C10LTQtdC90LjRj9GCINGE0LDQudC7IOKAniVz4oCcIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODIgYnVpbHRpbi9jYXQtZmlsZS5jOjM5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5NDkgYnVpbHRpbi9jYXQtZmlsZS5jOjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyAnJXMnIgogbXNnc3RyICLQvtCx0LXQutGC0YrRgiDigJ4lc+KAnCAoJXMpINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC9IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgogbXNnc3RyICLQvtCx0LXQutGC0YrRgiDigJ4lc+KAnCAoJXMpINGB0LUg0L7Rh9Cw0LrQstCw0YjQtSDQtNCwINC1IEJMT0IsINCwINC90LUg0LUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwMDgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnOiAlcyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7RgtCy0L7RgNC4OiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAxOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzeW1saW5rICclcyc6ICVzIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0YHRitC30LTQsNCy0LDQvdC1INC90LAg0YHQuNC80LLQvtC70L3QsNGC0LAg0LLRgNGK0LfQutCwIOKAniVz4oCcOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAyNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvIG5vdCBrbm93IHdoYXQgdG8gZG8gd2l0aCAlMDZvICVzICclcyciCiBtc2dzdHIgIiIKICLQvdC1INC1INGP0YHQvdC+INC60LDQutCy0L4g0LTQsCDRgdC1INC/0YDQsNCy0Lgg0YEg0L7QsdC10LrRgtCwIOKAniUyJHPigJwgKCUzJHMpINGBINC/0YDQsNCy0LAg0LfQsCDQtNC+0YHRgtGK0L8g4oCeJTEkMDZv4oCcIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjEyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG5vdCBjaGVja2VkIG91dCkiCiBtc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDRgdC70LjQstCw0L3QtSDQvdCwINC/0L7QtNC80L7QtNGD0LvQsCDigJ4lc+KAnCAo0L3QtSDQtSDQuNC30YLQtdCz0LvQtdC9KSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIxOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChjb21taXRzIG5vdCBwcmVzZW50KSIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INGB0LvQuNCy0LDQvdC1INC90LAg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcICjQvdGP0LzQsCDQv9C+0LTQsNCy0LDQvdC40Y8pIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjI2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKGNvbW1pdHMgZG9uJ3QgZm9sbG93IG1lcmdlLWJhc2UpIgogbXNnc3RyICIiCiAi0J/QvtC00LzQvtC00YPQu9GK0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0LvRj9GCICjQsdCw0LfQsNGC0LAg0LfQsCDRgdC70LjQstCw0L3QtSDQvdC1INC/0YDQtdC00YjQtdGB0YLQstCwICIKICLQv9C+0LTQsNCy0LDQvdC40Y/RgtCwKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzNCBtZXJnZS1yZWN1cnNpdmUuYzoxMjQ2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjEwIG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkaW5nIHN1Ym1vZHVsZSAlcyB0byB0aGUgZm9sbG93aW5nIGNvbW1pdDoiCiBtc2dzdHIgItCf0YDQtdCy0YrRgNGC0LDQvdC1INC90LAg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcINC00L4g0YHQu9C10LTQvdC+0YLQviDQv9C+0LTQsNCy0LDQvdC1OiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzNyBtZXJnZS1yZWN1cnNpdmUuYzoxMjQ5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjEzIG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkaW5nIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAi0J/RgNC10LLRitGA0YLQsNC90LUg0L3QsCDQv9C+0LTQvNC+0LTRg9C70LAg4oCeJXPigJwiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobWVyZ2UgZm9sbG93aW5nIGNvbW1pdHMgbm90IGZvdW5kKSIKIG1zZ3N0ciAiIgogItCd0LXRg9GB0L/QtdGI0L3QviDRgdC70LjQstCw0L3QtSDQvdCwINC/0L7QtNC80L7QtNGD0LvQsCDigJ4lc+KAnCAo0LvQuNC/0YHQstCwINGB0LvQuNCy0LDQvdC10YLQviwg0LrQvtC10YLQviDRgdC1INC/0YDQtdC00YjQtdGB0YLQstCwICIKICLQvtGCINC/0L7QtNCw0LLQsNC90LjRj9GC0LApIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG5vdCBmYXN0LWZvcndhcmQpIgogbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0YHQu9C40LLQsNC90LUg0L3QsCDQv9C+0LTQvNC+0LTRg9C70LAg4oCeJXPigJwgKNC90LUg0LUg0L/RgNC10LLRitGA0YLQsNC90LUpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjUzCiBtc2dpZCAiRm91bmQgYSBwb3NzaWJsZSBtZXJnZSByZXNvbHV0aW9uIGZvciB0aGUgc3VibW9kdWxlOlxuIgogbXNnc3RyICIiCiAi0J7RgtC60YDQuNGC0L4g0LUg0YHQu9C40LLQsNC90LUsINC60L7QtdGC0L4g0LzQvtC20LUg0LTQsCDRgNC10YjQsNCy0LAg0L/RgNC+0LHQu9C10LzQsCDRgdGK0YEg0YHQu9C40LLQsNC90LXRgtC+INC90LAgIgogItC/0L7QtNC80L7QtNGD0LvQsDpcbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI3OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgdGhpcyBpcyBjb3JyZWN0IHNpbXBseSBhZGQgaXQgdG8gdGhlIGluZGV4IGZvciBleGFtcGxlXG4iCkBAIC0zMTkzLDMxICs0NDI1LDMxIEBACiAiXG4iCiAi0KLQvtCy0LAg0L/RgNC40LXQvNCwINC/0YDQtdC00LvQvtC20LXQvdC+0YLQvi5cbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI4OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChtdWx0aXBsZSBtZXJnZXMgZm91bmQpIgogbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0YHQu9C40LLQsNC90LUg0L3QsCDQv9C+0LTQvNC+0LTRg9C70LAg4oCeJXPigJwgKNC+0YLQutGA0LjRgtC4INGB0LAg0LzQvdC+0LbQtdGB0YLQstC+INGB0LvQuNCy0LDQvdC40Y8pIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzU4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzM4CiBtc2dpZCAiRmFpbGVkIHRvIGV4ZWN1dGUgaW50ZXJuYWwgbWVyZ2UiCiBtc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDQstGK0YLRgNC10YjQvdC+INGB0LvQuNCy0LDQvdC1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzYzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgJXMgdG8gZGF0YWJhc2UiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC00L7QsdCw0LLQuCDQsiDQsdCw0LfQsNGC0LAg0YEg0LTQsNC90L3QuCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM5NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCiBtc2dzdHIgItCQ0LLRgtC+0LzQsNGC0LjRh9C90L4g0YHQu9C40LLQsNC90LUg0L3QsCDigJ4lc+KAnCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQxNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvcjogUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlczsgd3JpdGluZyB0byAlcyBpbnN0ZWFkLiIKIG1zZ3N0ciAi0JPRgNC10YjQutCwOiDQt9CwINC00LAg0L3QtSDRgdC1INC40LfRgtGA0LjQtSDQvdC10YHQu9C10LTQtdC90LjRj9GCINGE0LDQudC7IOKAniVz4oCcLCDRgdC1INC30LDQv9C40YHQstCwINCyIOKAniVz4oCcLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ4MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgpAQCAtMzIyNiw3ICs0NDU4LDcgQEAKICLQmtCe0J3QpNCb0JjQmtCiICglcy/QuNC30YLRgNC40LLQsNC90LUpOiDigJ4lc+KAnCDQtSDQuNC30YLRgNC40YIg0LIgJXMsINCwIOKAniVz4oCcINCyICVzLiAg0JLQtdGA0YHQuNGPICVzINC90LAg4oCeJXPigJwgIgogItC1INC+0YHRgtCw0LLQtdC90LAg0LIg0LTRitGA0LLQvtGC0L4uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDg4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgdG8gJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgIgpAQCAtMzIzNSw3ICs0NDY3LDcgQEAKICLQmtCe0J3QpNCb0JjQmtCiICglcy/QuNC30YLRgNC40LLQsNC90LUpOiDigJ4lc+KAnCDQtSDQuNC30YLRgNC40YIg0LIgJXMsINCwIOKAniVz4oCcINC1INC/0YDQtdC40LzQtdC90YPQstCw0L0g0L3QsCDigJ4lc+KAnCDQsiAiCiAiJXMuICDQktC10YDRgdC40Y8gJXMg0L3QsCDigJ4lc+KAnCDQtSDQvtGB0YLQsNCy0LXQvdCwINCyINC00YrRgNCy0L7RgtC+LiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ5NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgpAQCAtMzI0NCw3ICs0NDc2LDcgQEAKICLQmtCe0J3QpNCb0JjQmtCiICglcy/QuNC30YLRgNC40LLQsNC90LUpOiDigJ4lc+KAnCDQtSDQuNC30YLRgNC40YIg0LIgJXMsINCwIOKAniVz4oCcINCyICVzLiAg0JLQtdGA0YHQuNGPICVzINC90LAg4oCeJXPigJwgIgogItC1INC+0YHRgtCw0LLQtdC90LAg0LIg0LTRitGA0LLQvtGC0L46ICVzLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUwMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ4OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzICIKQEAgLTMyNTMsMzMgKzQ0ODUsNDUgQEAKICLQmtCe0J3QpNCb0JjQmtCiICglcy/QuNC30YLRgNC40LLQsNC90LUpOiDigJ4lc+KAnCDQtSDQuNC30YLRgNC40YIg0LIgJXMsINCwIOKAniVz4oCcINC1INC/0YDQtdC40LzQtdC90YPQstCw0L0g0L3QsCDigJ4lc+KAnCDQsiAiCiAiJXMuICDQktC10YDRgdC40Y8gJXMg0L3QsCDigJ4lc+KAnCDQtSDQvtGB0YLQsNCy0LXQvdCwINCyINC00YrRgNCy0L7RgtC+OiAlcy4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MzQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MjMKIG1zZ2lkICJyZW5hbWUiCiBtc2dzdHIgItC/0YDQtdC40LzQtdC90YPQstCw0L3QtSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUzNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUyMwogbXNnaWQgInJlbmFtZWQiCiBtc2dzdHIgItC/0YDQtdC40LzQtdC90YPQstCw0L0iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1ODggbWVyZ2UtcmVjdXJzaXZlLmM6MTczNyBtZXJnZS1yZWN1cnNpdmUuYzoyMzY5Ci0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMTI0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjAzIG1lcmdlLXJlY3Vyc2l2ZS5jOjI1MTkgbWVyZ2UtcmVjdXJzaXZlLmM6MzE2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBsb3NlIGRpcnR5IGZpbGUgYXQgJXMiCiBtc2dzdHIgItCf0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCw0L3QtSDQvdCwINC00LXQudGB0YLQstC40LXRgtC+LCDQt9CwINC00LAg0L3QtSDRgdC1INC40LfQs9GD0LHQuCDQv9GA0L7QvNC10L3QtdC90LjRj9GCIOKAniVz4oCcIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjAyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJXMsIGV2ZW4gdGhvdWdoIGl0J3MgaW4gdGhlIHdheS4iCittc2dzdHIgIiIKKyLQntGC0LrQsNC3INC00LAg0YHQtSDQt9Cw0LPRg9Cx0Lgg0L3QtdGB0LvQtdC00LXQvdC40Y/RgiDRhNCw0LnQuyDigJ4lc+KAnCwg0LfQsNGJ0L7RgtC+INC1INC90LAg0LzRj9GB0YLQviwg0LrRitC00LXRgtC+INC/0YDQtdGH0LguIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvYWRkKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gIEFkZGVkICVzIGluICVzIgorbXNnc3RyICIiCisi0JrQntCd0KTQm9CY0JrQoiAo0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1L9C00L7QsdCw0LLRj9C90LUpOiDigJ4lc+KAnCDQtSDQv9GA0LXQuNC80LXQvdGD0LLQsNC9INC90LAg4oCeJXPigJwg0LIg0LrQu9C+0L0g4oCeJXPigJwsINCwICIKKyLigJ4lc+KAnCDQtSDQtNC+0LHQsNCy0LXQvSDQsiDigJ4lc+KAnCIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBhIGRpcmVjdG9yeSBpbiAlcyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAi4oCeJXPigJwg0LUg0LTQuNGA0LXQutGC0L7RgNC40Y8g0LIg4oCeJXPigJwsINC30LDRgtC+0LLQsCDRgdC1INC00L7QsdCw0LLRjyDQutCw0YLQviDigJ4lc+KAnCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYwNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICVzOyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiIgogItCf0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCw0L3QtSDQvdCwINC00LXQudGB0YLQstC40LXRgtC+LCDQt9CwINC00LAg0L3QtSDRgdC1INC40LfQs9GD0LHQuCDQvdC10YHQu9C10LTQtdC90LjRj9GCINGE0LDQudC7IOKAniVz4oCcLiAgIgogItCS0LzQtdGB0YLQviDQvdC10LPQviDRgdC1INC00L7QsdCw0LLRjyDigJ4lc+KAnCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYzMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgXCIlc1wiLT5cIiVzXCIgaW4gYnJhbmNoIFwiJXNcIiByZW5hbWUgXCIlcyIKQEAgLTMyODgsMjkgKzQ1MzIsMTggQEAKICLQmtCe0J3QpNCb0JjQmtCiICjQv9GA0LXQuNC80LXQvdGD0LLQsNC90LUv0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1KTog4oCeJXPigJwg0LUg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvSDQvdCwIOKAniVz4oCcINCyINC60LvQvtC9ICIKICLigJ4lc+KAnCwg0LAg4oCeJXPigJwg0LUg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvSDQvdCwIOKAniVz4oCcINCyIOKAniVz4oCcLyVzLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYzOAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczMQogbXNnaWQgIiAobGVmdCB1bnJlc29sdmVkKSIKIG1zZ3N0ciAiICjQvdC10LrQvtGA0LjQs9C40YDQsNC9INC60L7QvdGE0LvQuNC60YIpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjk5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gUmVuYW1lICVzLT4lcyBpbiAlcyIKIG1zZ3N0ciAiIgogItCa0J7QndCk0JvQmNCa0KIgKNC/0YDQtdC40LzQtdC90YPQstCw0L3QtS/Qv9GA0LXQuNC80LXQvdGD0LLQsNC90LUpOiDigJ4lc+KAnCDQtSDQv9GA0LXQuNC80LXQvdGD0LLQsNC9INC90LAg4oCeJXPigJwg0LIg0LrQu9C+0L0gIgogIuKAniVz4oCcLCDQsCDigJ4lc+KAnCDQtSDQv9GA0LXQuNC80LXQvdGD0LLQsNC9INC90LAg4oCeJXPigJwg0LIg4oCeJXPigJwiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXMgYW5kICVzIHRvICVzIGluc3RlYWQiCi1tc2dzdHIgItCf0YDQtdC40LzQtdC90YPQstCw0L3QtSDQvdCwIOKAniVz4oCcINC90LAg4oCeJXPigJwsINCwIOKAniVz4oCcINC90LAg4oCeJXPigJwiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlcywgZXZlbiB0aG91Z2ggaXQncyBpbiB0aGUgd2F5LiIKLW1zZ3N0ciAiIgotItCe0YLQutCw0Lcg0LTQsCDRgdC1INC30LDQs9GD0LHQuCDQvdC10YHQu9C10LTQtdC90LjRj9GCINGE0LDQudC7IOKAniVz4oCcLCDQt9Cw0YnQvtGC0L4g0LUg0L3QsCDQvNGP0YHRgtC+LCDQutGK0LTQtdGC0L4g0L/RgNC10YfQuC4iCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5NTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChkaXJlY3RvcnkgcmVuYW1lIHNwbGl0KTogVW5jbGVhciB3aGVyZSB0byBwbGFjZSAlcyBiZWNhdXNlICIKQEAgLTMzMjEsNyArNDU1NCw3IEBACiAi0L/QvtGB0YLQsNCy0Lgg4oCeJXPigJwsINC30LDRidC+0YLQviDQvdGP0LrQvtC70LrQviDQvdC+0LLQuCDQtNC40YDQtdC60YLQvtGA0LjQuCDQv9C+0LTQtdC70Y/RgiDRgdGK0LTRitGA0LbQsNC90LjQtdGC0L4g0L3QsCAiCiAi0LTQuNGA0LXQutGC0L7RgNC40Y8g4oCeJXPigJwsINC60LDRgtC+INC90LjQutC+0Y8g0L3QtSDRgdGK0LTRitGA0LbQsCDQvNC90L7Qt9C40L3RgdGC0LLQviDQvtGCINGE0LDQudC70L7QstC10YLQtSDRnS4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5ODQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChpbXBsaWNpdCBkaXIgcmVuYW1lKTogRXhpc3RpbmcgZmlsZS9kaXIgYXQgJXMgaW4gdGhlIHdheSBvZiAiCkBAIC0zMzMwLDcgKzQ1NjMsNyBAQAogItCa0J7QndCk0JvQmNCa0KIgKNC60L7RgdCy0LXQvdC+INC/0YDQtdC40LzQtdC90YPQstCw0L3QtSDQvdCwINC00LjRgNC10LrRgtC+0YDQuNGPKTog0YHQu9C10LTQvdC40Y/RgiDRhNCw0LnQuyDQuNC70Lgg0LTQuNGA0LXQutGC0L7RgNC40Y8gIgogIuKAniVz4oCcINC90LUg0L/QvtC30LLQvtC70Y/QstCw0YIg0LrQvtGB0LLQtdC90L7RgtC+INC/0YDQtdC40LzQtdC90YPQstCw0L3QtSDQvdCwINGB0LvQtdC00L3QuNGPINC/0YrRgi/QuNGJ0LA6ICVzLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTk5NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKGltcGxpY2l0IGRpciByZW5hbWUpOiBDYW5ub3QgbWFwIG1vcmUgdGhhbiBvbmUgcGF0aCB0byAlczsgIgpAQCAtMzM0MCw3ICs0NTczLDcgQEAKICLRgdGK0L7RgtCy0LXRgtGB0YLQstCwINC90LAg4oCeJXPigJwuICDQmtC+0YHQstC10L3QviDQv9GA0LXQuNC80LXQvdGD0LLQsNC90LUg0L3QsCDQtNC40YDQtdC60YLQvtGA0LjRjyDQstC+0LTQuCDQtNC+INC/0L7RgdGC0LDQstGP0L3QtdGC0L4gIgogItC90LAg0YLQtdC30Lgg0L/RitGC0LjRidCwINGC0LDQvDogJXMuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDg2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSBkaXJlY3RvcnkgJXMtPiVzIGluICVzLiBSZW5hbWUgZGlyZWN0b3J5ICVzLSIKQEAgLTMzNDksNyArNDU4Miw3IEBACiAi0JrQntCd0KTQm9CY0JrQoiAo0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1L9C/0YDQtdC40LzQtdC90YPQstCw0L3QtSk6IOKAniVz4oCcINC1INC/0YDQtdC40LzQtdC90YPQstCw0L0g0L3QsCDigJ4lc+KAnCDQsiDQutC70L7QvSAiCiAi4oCeJXPigJwsINCwIOKAniVz4oCcINC1INC/0YDQtdC40LzQtdC90YPQstCw0L0g0L3QsCDigJ4lc+KAnCDQsiDigJ4lc+KAnCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjMzMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV0FSTklORzogQXZvaWRpbmcgYXBwbHlpbmcgJXMgLT4gJXMgcmVuYW1lIHRvICVzLCBiZWNhdXNlICVzIGl0c2VsZiB3YXMgIgpAQCAtMzM1OCw4OSArNDU5MSwxNDIgQEAKICLQn9Cg0JXQlNCj0J/QoNCV0JbQlNCV0J3QmNCVOiDQv9GA0LXRgdC60LDRh9Cw0L3QtSDQvdCwINC/0YDQtdC40LzQtdC90YPQstCw0L3QtdGC0L4g0L3QsCDigJ4lc+KAnCDQvdCwIOKAniVz4oCcINCyIOKAniVz4oCcLCDQt9Cw0YnQvtGC0L4gIgogIuKAniVz4oCcINGB0YrRidC+INC1INGBINC/0YDQvtC80LXQvdC10L3QviDQuNC80LUuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvYWRkKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gJXMgYWRkZWQgaW4gJXMiCi1tc2dzdHIgIiIKLSLQmtCe0J3QpNCb0JjQmtCiICjQv9GA0LXQuNC80LXQvdGD0LLQsNC90LUv0LTQvtCx0LDQstGP0L3QtSk6IOKAniVz4oCcINC1INC/0YDQtdC40LzQtdC90YPQstCw0L0g0L3QsCDigJ4lc+KAnCDQsiDQutC70L7QvSDigJ4lc+KAnCwg0LAgIgotIuKAniVz4oCcINC1INC00L7QsdCw0LLQtdC9INCyIOKAniVz4oCcIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzYzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkFkZGluZyBtZXJnZWQgJXMiCi1tc2dzdHIgItCU0L7QsdCw0LLRj9C90LUg0L3QsCDRgdC70LXRgtC40Y8g4oCeJXPigJwiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI3NzAgbWVyZ2UtcmVjdXJzaXZlLmM6MzEyNwotIywgYy1mb3JtYXQKLW1zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKLW1zZ3N0ciAi0JTQvtCx0LDQstGP0L3QtSDQutCw0YLQviDigJ4lc+KAnCIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjkzNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgItC+0LHQtdC60YLRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQvtGH0LXRgtC1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyOTM3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDExCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpcyBub3QgYSBibG9iIgogbXNnc3RyICLQvtCx0LXQutGC0YrRgiDigJ4lc+KAnCDQvdC1INC1IEJMT0IiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwNzUKIG1zZ2lkICJtb2RpZnkiCiBtc2dzdHIgItC/0YDQvtC80Y/QvdCwIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDA2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDc1CiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgItC/0YDQvtC80LXQvdC10L0iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwODcKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICLRgdGK0LTRitGA0LbQsNC90LjQtSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAyNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA5MQogbXNnaWQgImFkZC9hZGQiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUv0LTQvtCx0LDQstGP0L3QtSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA3MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzExNAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGVkICVzIChtZXJnZWQgc2FtZSBhcyBleGlzdGluZykiCiBtc2dzdHIgItCf0YDQtdGB0LrQsNGH0LDQvdC1INC90LAg4oCeJXPigJwgKNGB0LvQtdGC0LjRj9GCINGA0LXQt9GD0LvRgtCw0YIg0LUg0LjQtNC10L3RgtC40YfQtdC9INGB0YrRgSDRgdC10LPQsNGI0L3QuNGPKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA5MyBnaXQtc3VibW9kdWxlLnNoOjg1OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzEzNiBnaXQtc3VibW9kdWxlLnNoOjk5MwogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAi0J/QntCU0JzQntCU0KPQmyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA5NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzEzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBNZXJnZSBjb25mbGljdCBpbiAlcyIKIG1zZ3N0ciAi0JrQntCd0KTQm9CY0JrQoiAoJXMpOiDQmtC+0L3RhNC70LjQutGCINC/0YDQuCDRgdC70LjQstCw0L3QtSDQvdCwIOKAniVz4oCcIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjE2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBhcyAlcyBpbnN0ZWFkIgorbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC60LDRgtC+IOKAniVz4oCcIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQYXRoIHVwZGF0ZWQ6ICVzIGFkZGVkIGluICVzIGluc2lkZSBhIGRpcmVjdG9yeSB0aGF0IHdhcyByZW5hbWVkIGluICVzOyAiCisibW92aW5nIGl0IHRvICVzLiIKK21zZ3N0ciAiIgorItCe0LHQvdC+0LLQtdC9INC/0YrRgjog4oCeJXPigJwg0LUg0LTQvtCx0LDQstC10L0g0LIg4oCeJXPigJwg0LIg0LTQuNGA0LXQutGC0L7RgNC40Y8sINC60L7Rj9GC0L4g0LUg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdCwINCyICIKKyLigJ4lc+KAnC4gINCe0LHQtdC60YLRitGCINGB0LUg0LzQtdGB0YLQuCDQsiDigJ4lc+KAnC4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUIChmaWxlIGxvY2F0aW9uKTogJXMgYWRkZWQgaW4gJXMgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgd2FzIHJlbmFtZWQgIgorImluICVzLCBzdWdnZXN0aW5nIGl0IHNob3VsZCBwZXJoYXBzIGJlIG1vdmVkIHRvICVzLiIKK21zZ3N0ciAiIgorItCa0J7QndCk0JvQmNCa0KIgKNC80LXRgdGC0LAg0L3QsCDRhNCw0LnQu9C+0LLQtSk6IOKAniVz4oCcINC1INC00L7QsdCw0LLQtdC9INCyIOKAniVz4oCcINCyINC00LjRgNC10LrRgtC+0YDQuNGPLCDQutC+0Y/RgtC+INC1ICIKKyLQv9GA0LXQuNC80LXQvdGD0LLQsNC90LAg0LIg4oCeJXPigJwuICDQn9GA0LXQtNC70L7QttC10L3QuNC10YLQviDQtSDQtNCwINC/0YDQtdC80LXRgdGC0LjRgtC1INC+0LHQtdC60YLQsCDQsiDigJ4lc+KAnC4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlBhdGggdXBkYXRlZDogJXMgcmVuYW1lZCB0byAlcyBpbiAlcywgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgd2FzIHJlbmFtZWQgaW4gIgorIiVzOyBtb3ZpbmcgaXQgdG8gJXMuIgorbXNnc3RyICIiCisi0J7QsdC90L7QstC10L0g0L/RitGCOiDigJ4lc+KAnCDQtSDQv9GA0LXQuNC80LXQvdGD0LLQsNC9INC90LAg4oCeJXPigJwg0LIg4oCeJXPigJwg0LIg0LTQuNGA0LXQutGC0L7RgNC40Y8sINC60L7Rj9GC0L4g0LUgIgorItC/0YDQtdC40LzQtdC90YPQstCw0L3QsCDQsiDigJ4lc+KAnC4gINCe0LHQtdC60YLRitGCINGB0LUg0LzQtdGB0YLQuCDQsiDigJ4lc+KAnC4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUIChmaWxlIGxvY2F0aW9uKTogJXMgcmVuYW1lZCB0byAlcyBpbiAlcywgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgIgorIndhcyByZW5hbWVkIGluICVzLCBzdWdnZXN0aW5nIGl0IHNob3VsZCBwZXJoYXBzIGJlIG1vdmVkIHRvICVzLiIKK21zZ3N0ciAiIgorItCa0J7QndCk0JvQmNCa0KIgKNC80LXRgdGC0LAg0L3QsCDRhNCw0LnQu9C+0LLQtSk6IOKAniVz4oCcINC1INC/0YDQtdC40LzQtdC90YPQstCw0L0g0L3QsCDigJ4lc+KAnCDQsiDigJ4lc+KAnCDQsiDQtNC40YDQtdC60YLQvtGA0LjRjywgIgorItC60L7Rj9GC0L4g0LUg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdCwINCyIOKAniVz4oCcLiAg0J/RgNC10LTQu9C+0LbQtdC90LjQtdGC0L4g0LUg0LTQsCDQv9GA0LXQvNC10YHRgtC40YLQtSDQvtCx0LXQutGC0LAg0LIg4oCeJXPigJwuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIgogbXNnc3RyICLQmNC30YLRgNC40LLQsNC90LUg0L3QsCDigJ4lc+KAnCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI0MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzM5NwogbXNnaWQgImZpbGUvZGlyZWN0b3J5IgogbXNnc3RyICLRhNCw0LnQuy/QtNC40YDQtdC60YLQvtGA0LjRjyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI0OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQwMgogbXNnaWQgImRpcmVjdG9yeS9maWxlIgogbXNnc3RyICLQtNC40YDQtdC60YLQvtGA0LjRjy/RhNCw0LnQuyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI1NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBUaGVyZSBpcyBhIGRpcmVjdG9yeSB3aXRoIG5hbWUgJXMgaW4gJXMuIEFkZGluZyAlcyBhcyAlcyIKIG1zZ3N0ciAiIgogItCa0J7QndCk0JvQmNCa0KIgKCVzKTog0KHRitGJ0LXRgdGC0LLRg9Cy0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0L3QsCDQuNC80LUg4oCeJXPigJwg0LIg4oCeJXPigJwuICDQlNC+0LHQsNCy0Y/QvdC1INC90LAg4oCeJXPigJwgIgogItC60LDRgtC+IOKAniVz4oCcIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjY0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyAlcyIKIG1zZ3N0ciAi0JTQvtCx0LDQstGP0L3QtSDQvdCwIOKAniVz4oCcIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMzAwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNPTkZMSUNUIChhZGQvYWRkKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCittc2dzdHIgItCa0J7QndCk0JvQmNCa0KIgKNC00L7QsdCw0LLRj9C90LUv0LTQvtCx0LDQstGP0L3QtSk6INCa0L7QvdGE0LvQuNC60YIg0L/RgNC4INGB0LvQuNCy0LDQvdC1INC90LAg4oCeJXPigJwiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0NzEKK21zZ2lkICJBbHJlYWR5IHVwIHRvIGRhdGUhIgorbXNnc3RyICLQktC10YfQtSDQtSDQvtCx0L3QvtCy0LXQvdC+ISIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJtZXJnaW5nIG9mIHRyZWVzICVzIGFuZCAlcyBmYWlsZWQiCittc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDRgdC70LjQstCw0L3QtSDQvdCwINC00YrRgNCy0LXRgtCw0YLQsCDigJ4lc+KAnCDQuCDigJ4lc+KAnCIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzU4NAorbXNnaWQgIk1lcmdpbmc6IgorbXNnc3RyICLQodC70LjQstCw0L3QtToiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yOiIKK21zZ2lkX3BsdXJhbCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yczoiCittc2dzdHJbMF0gItC+0YLQutGA0LjRgiDQtSAldSDQvtCx0Ykg0L/RgNC10LTRiNC10YHRgtCy0LXQvdC40Lo6IgorbXNnc3RyWzFdICLQvtGC0LrRgNC40YLQuCDRgdCwICV1INC+0LHRidC4INC/0YDQtdC00YjQtdGB0YLQstC10L3QuNGG0Lg6IgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNjQ3Cittc2dpZCAibWVyZ2UgcmV0dXJuZWQgbm8gY29tbWl0IgorbXNnc3RyICLRgdC70LjQstCw0L3QtdGC0L4g0L3QtSDQstGK0YDQvdCwINC/0L7QtNCw0LLQsNC90LUiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzQ0OSwxMzEgKzQ3MzUsMTI0IEBACiAi0KHQu9C40LLQsNC90LXRgtC+INGJ0LUg0L/RgNC10LfQsNC/0LjRiNC1INC70L7QutCw0LvQvdC40YLQtSDQv9GA0L7QvNC10L3QuCDQvdCwINGC0LXQt9C4INGE0LDQudC70L7QstC1OlxuIgogIiAgICAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzMxMQotbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZSEiCi1tc2dzdHIgItCS0LXRh9C1INC1INC+0LHQvdC+0LLQtdC90L4hIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMzIwCi0jLCBjLWZvcm1hdAotbXNnaWQgIm1lcmdpbmcgb2YgdHJlZXMgJXMgYW5kICVzIGZhaWxlZCIKLW1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INGB0LvQuNCy0LDQvdC1INC90LAg0LTRitGA0LLQtdGC0LDRgtCwIOKAniVz4oCcINC4IOKAniVz4oCcIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNDE5Ci1tc2dpZCAiTWVyZ2luZzoiCi1tc2dzdHIgItCh0LvQuNCy0LDQvdC1OiIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQzMgotIywgYy1mb3JtYXQKLW1zZ2lkICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3I6IgotbXNnaWRfcGx1cmFsICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3JzOiIKLW1zZ3N0clswXSAi0L7RgtC60YDQuNGCINC1ICV1INC+0LHRiSDQv9GA0LXQtNGI0LXRgdGC0LLQtdC90LjQujoiCi1tc2dzdHJbMV0gItC+0YLQutGA0LjRgtC4INGB0LAgJXUg0L7QsdGJ0Lgg0L/RgNC10LTRiNC10YHRgtCy0LXQvdC40YbQuDoiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0NzEKLW1zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCi1tc2dzdHIgItGB0LvQuNCy0LDQvdC10YLQviDQvdC1INCy0YrRgNC90LAg0L/QvtC00LDQstCw0L3QtSIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzUzNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzgwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgItCd0LXRg9GB0L/QtdGI0LXQvSDQsNC90LDQu9C40Lcg0L3QsCDQvtCx0LXQutGC0LAg4oCeJXPigJwiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM1NTMgYnVpbHRpbi9tZXJnZS5jOjY5MSBidWlsdGluL21lcmdlLmM6ODQ5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozODIxIGJ1aWx0aW4vbWVyZ2UuYzo2OTQgYnVpbHRpbi9tZXJnZS5jOjg3NAogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCiBtc2dzdHIgItCY0L3QtNC10LrRgdGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IG1pZHguYzo2NQorIzogbWlkeC5jOjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm11bHRpLXBhY2staW5kZXggZmlsZSAlcyBpcyB0b28gc21hbGwiCiBtc2dzdHIgItGE0LDQudC70YrRgiDRgSDQuNC90LTQtdC60YHQsCDQt9CwINC80L3QvtC20LXRgdGC0LLQviDQv9Cw0LrQtdGC0Lgg4oCeJXPigJwg0LUg0YLQstGK0YDQtNC1INC80LDQu9GK0LoiCiAKLSM6IG1pZHguYzo4MQorIzogbWlkeC5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm11bHRpLXBhY2staW5kZXggc2lnbmF0dXJlIDB4JTA4eCBkb2VzIG5vdCBtYXRjaCBzaWduYXR1cmUgMHglMDh4IgogbXNnc3RyICLQvtGC0L/QtdGH0LDRgtGK0LrRitGCINC90LAg0LjQvdC00LXQutGB0LAg0LfQsCDQvNC90L7QttC10YHRgtCy0L4g0L/QsNC60LXRgtC4IDB4JTA4eCDQvdC1INGB0YrQstC/0LDQtNCwINGBIDB4JTA4eCIKIAotIzogbWlkeC5jOjg2CisjOiBtaWR4LmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCB2ZXJzaW9uICVkIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0LAg0LLQtdGA0YHQuNGPINC90LAg0LjQvdC00LXQutGBINC30LAg0LzQvdC+0LbQtdGB0YLQstC+INC/0LDQutC10YLQuCDigJQgJWQiCiAKLSM6IG1pZHguYzo5MQorIzogbWlkeC5jOjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImhhc2ggdmVyc2lvbiAldSBkb2VzIG5vdCBtYXRjaCIKIG1zZ3N0ciAi0LLQtdGA0YHQuNGP0YLQsCDQvdCwINC+0YLQv9C10YfQsNGC0YrQutCwICV1INC90LUg0YHRitCy0L/QsNC00LAiCiAKLSM6IG1pZHguYzoxMDUKKyM6IG1pZHguYzoxMDgKIG1zZ2lkICJpbnZhbGlkIGNodW5rIG9mZnNldCAodG9vIGxhcmdlKSIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90L4gKNC/0YDQtdC60LDQu9C10L3QviDQs9C+0LvRj9C80L4pINC+0YLQvNC10YHRgtCy0LDQvdC1INC90LAg0L7RgtC60YrRgSIKIAotIzogbWlkeC5jOjEyOQorIzogbWlkeC5jOjEzMgogbXNnaWQgInRlcm1pbmF0aW5nIG11bHRpLXBhY2staW5kZXggY2h1bmsgaWQgYXBwZWFycyBlYXJsaWVyIHRoYW4gZXhwZWN0ZWQiCiBtc2dzdHIgIiIKICLQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGK0YIg0LfQsCDQutGA0LDQtdC9INC+0YLQutGK0YEg0L3QsCDQuNC90LTQtdC60YEg0LfQsCDQvNC90L7QttC10YHRgtCy0L4g0L/QsNC60LXRgtC4INGB0LUg0Y/QstGP0LLQsCDQv9C+LSIKICLRgNCw0L3QviDQvtGCINC+0YfQsNC60LLQsNC90L7RgtC+IgogCi0jOiBtaWR4LmM6MTQyCisjOiBtaWR4LmM6MTQ1CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCBtaXNzaW5nIHJlcXVpcmVkIHBhY2stbmFtZSBjaHVuayIKIG1zZ3N0ciAi0LvQuNC/0YHQstCwINC+0YLQutGK0YEgKHBhY2stbmFtZSkg0L7RgiDQuNC90LTQtdC60YEg0LfQsCDQvNC90L7QttC10YHRgtCy0L4g0L/QsNC60LXRgtC4IgogCi0jOiBtaWR4LmM6MTQ0CisjOiBtaWR4LmM6MTQ3CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCBtaXNzaW5nIHJlcXVpcmVkIE9JRCBmYW5vdXQgY2h1bmsiCiBtc2dzdHIgItC70LjQv9GB0LLQsCDQvtGC0LrRitGBIChPSUQgZmFub3V0KSDQvtGCINC40L3QtNC10LrRgSDQt9CwINC80L3QvtC20LXRgdGC0LLQviDQv9Cw0LrQtdGC0LgiCiAKLSM6IG1pZHguYzoxNDYKKyM6IG1pZHguYzoxNDkKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgT0lEIGxvb2t1cCBjaHVuayIKIG1zZ3N0ciAi0LvQuNC/0YHQstCwINC+0YLQutGK0YEgKE9JRCBsb29rdXApINC+0YIg0LjQvdC00LXQutGBINC30LAg0LzQvdC+0LbQtdGB0YLQstC+INC/0LDQutC10YLQuCIKIAotIzogbWlkeC5jOjE0OAorIzogbWlkeC5jOjE1MQogbXNnaWQgIm11bHRpLXBhY2staW5kZXggbWlzc2luZyByZXF1aXJlZCBvYmplY3Qgb2Zmc2V0cyBjaHVuayIKIG1zZ3N0ciAi0LvQuNC/0YHQstCwINC+0YLQutGK0YEg0LfQsCDQvtGC0LzQtdGB0YLQstCw0L3QuNGP0YLQsCDQvdCwINC+0LHQtdC60YLQuCDQvtGCINC40L3QtNC10LrRgSDQt9CwINC80L3QvtC20LXRgdGC0LLQviDQv9Cw0LrQtdGC0LgiCiAKLSM6IG1pZHguYzoxNjIKKyM6IG1pZHguYzoxNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCBwYWNrIG5hbWVzIG91dCBvZiBvcmRlcjogJyVzJyBiZWZvcmUgJyVzJyIKIG1zZ3N0ciAiIgogItC90LXQv9GA0LDQstC40LvQvdCwINC/0L7QtNGA0LXQtNCx0LAg0L3QsCDQuNC80LXQvdCw0YLQsCDQsiDQuNC90LTQtdC60YEg0LfQsCDQvNC90L7QttC10YHRgtCy0L4g0L/QsNC60LXRgtC4OiDigJ4lc+KAnCDRgdC1INC/0L7Rj9Cy0LggIgogItC/0YDQtdC00Lgg4oCeJXPigJwiCiAKLSM6IG1pZHguYzoyMDUKKyM6IG1pZHguYzoyMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2staW50LWlkOiAldSAoJXUgdG90YWwgcGFja3MpIgogbXNnc3RyICIiCiAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QsCDQv9Cw0LrQtdGCIChwYWNrLWludC1pZCk6ICV1ICjQvtGCINC+0LHRidC+ICV1INC/0LDQutC10YLQuCkiCiAKLSM6IG1pZHguYzoyNDYKKyM6IG1pZHguYzoyNjAKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHN0b3JlcyBhIDY0LWJpdCBvZmZzZXQsIGJ1dCBvZmZfdCBpcyB0b28gc21hbGwiCiBtc2dzdHIgIiIKICLQuNC90LTQtdC60YHRitGCINC30LAg0LzQvdC+0LbQtdGB0YLQstC+INC/0LDQutC10YLQuCDRgdGK0LTRitGA0LbQsCA2NC3QsdC40YLQvtCy0Lgg0L7RgtC80LXRgdGC0LLQsNC90LjRjywg0L3QviDRgNCw0LfQvNC10YDRitGCINC90LAgIgogIuKAnm9mZl904oCcINC1INC90LXQtNC+0YHRgtCw0YLRitGH0LXQvSIKIAotIzogbWlkeC5jOjI3MQorIzogbWlkeC5jOjI4OAogbXNnaWQgImVycm9yIHByZXBhcmluZyBwYWNrZmlsZSBmcm9tIG11bHRpLXBhY2staW5kZXgiCiBtc2dzdHIgIiIKICLQs9GA0LXRiNC60LAg0L/RgNC4INGB0YrQt9C00LDQstCw0L3QtdGC0L4g0L3QsCDQv9Cw0LrQtdGC0LXQvSDRhNCw0LnQuyDQvdCwINCx0LDQt9Cw0YLQsCDQvdCwINC40L3QtNC10LrRgSDQt9CwINC80L3QvtC20LXRgdGC0LLQviAiCiAi0L/QsNC60LXRgtC4IgogCi0jOiBtaWR4LmM6NDA3CisjOiBtaWR4LmM6NDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBhZGQgcGFja2ZpbGUgJyVzJyIKIG1zZ3N0ciAi0L/QsNC60LXRgtC90LjRj9GCINGE0LDQudC7IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQtNC+0LHQsNCy0LXQvSIKIAotIzogbWlkeC5jOjQxMworIzogbWlkeC5jOjQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBwYWNrLWluZGV4ICclcyciCiBtc2dzdHIgItC40L3QtNC10LrRgdGK0YIg0LfQsCDQv9Cw0LrQtdGC0Lgg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQstC+0YDQtdC9IgogCi0jOiBtaWR4LmM6NTA3CisjOiBtaWR4LmM6NTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBsb2NhdGUgb2JqZWN0ICVkIGluIHBhY2tmaWxlIgogbXNnc3RyICLQvtCx0LXQutGCICVkINCyINC/0LDQutC10YLQvdC40Y8g0YTQsNC50Lsg0LvQuNC/0YHQstCwIgogCi0jOiBtaWR4LmM6OTQzCisjOiBtaWR4LmM6ODQyCittc2dpZCAiQWRkaW5nIHBhY2tmaWxlcyB0byBtdWx0aS1wYWNrLWluZGV4IgorbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0L/QsNC60LXRgtC90Lgg0YTQsNC50LvQvtCy0LUg0LrRitC8INC40L3QtNC10LrRgSDQt9CwINC80L3QvtC20LXRgdGC0LLQviDQv9Cw0LrQtdGC0LgiCisKKyM6IG1pZHguYzo4NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlkIG5vdCBzZWUgcGFjay1maWxlICVzIHRvIGRyb3AiCittc2dzdHIgItC/0LDQutC10YLQvdC40Y/RgiDRhNCw0LnQuyDQt9CwINGC0YDQuNC10L3QtSDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LrRgNC40LUiCisKKyM6IG1pZHguYzo5NzMKK21zZ2lkICJXcml0aW5nIGNodW5rcyB0byBtdWx0aS1wYWNrLWluZGV4IgorbXNnc3RyICLQl9Cw0L/QuNGBINC90LAg0L7RgtC60YrRgdC4INC60YrQvCDQuNC90LTQtdC60YEg0LfQsCDQvNC90L7QttC10YHRgtCy0L4g0L/QsNC60LXRgtC4IgorCisjOiBtaWR4LmM6MTA1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY2xlYXIgbXVsdGktcGFjay1pbmRleCBhdCAlcyIKIG1zZ3N0ciAi0LjQvdC00LXQutGB0YrRgiDQt9CwINC80L3QvtC20LXRgdGC0LLQviDQv9Cw0LrQtdGC0Lgg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfRh9C40YHRgtC10L0g0L/RgNC4IOKAniVz4oCcIgogCi0jOiBtaWR4LmM6OTgxCisjOiBtaWR4LmM6MTEwOAorbXNnaWQgIkxvb2tpbmcgZm9yIHJlZmVyZW5jZWQgcGFja2ZpbGVzIgorbXNnc3RyICLQotGK0YDRgdC10L3QtSDQvdCwINGD0LrQsNC30LDQvdC40YLQtSDQv9Cw0LrQtdGC0L3QuCDRhNCw0LnQu9C+0LLQtSIKKworIzogbWlkeC5jOjExMjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm9pZCBmYW5vdXQgb3V0IG9mIG9yZGVyOiBmYW5vdXRbJWRdID0gJTxQUkl4MzI+ID4gJTxQUkl4MzI+ID0gZmFub3V0WyVkXSIKQEAgLTM1ODEsNDcgKzQ4NjAsNzMgQEAKICLQvdC10L/RgNCw0LLQuNC70L3QsCDQv9C+0LTRgNC10LTQsdCwINC90LAg0L7RgtC60YrRgdC4IChPSUQgZmFub3V0KTogZmFub3V0WyVkXSA9ICU8UFJJeDMyPiA+ICIKICIlPFBSSXgzMj4gPSBmYW5vdXRbJWRdIgogCi0jOiBtaWR4LmM6OTkyCisjOiBtaWR4LmM6MTEyOAorbXNnaWQgIlZlcmlmeWluZyBPSUQgb3JkZXIgaW4gbXVsdGktcGFjay1pbmRleCIKK21zZ3N0ciAiIgorItCf0YDQvtCy0LXRgNC60LAg0L3QsCDQv9C+0LTRgNC10LTQsdCw0YLQsCDQvdCwINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0Lgg0L3QsCDQvtCx0LXQutGC0Lgg0LLRitCyINGE0LDQudC7INGBINC40L3QtNC10LrRgSDQutGK0LwgIgorItC80L3QvtC20LXRgdGC0LLQviDQv9Cw0LrQtdGC0L3QuCDRhNCw0LnQu9C+0LLQtSIKKworIzogbWlkeC5jOjExMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAib2lkIGxvb2t1cCBvdXQgb2Ygb3JkZXI6IG9pZFslZF0gPSAlcyA+PSAlcyA9IG9pZFslZF0iCiBtc2dzdHIgIiIKICLQvdC10L/RgNCw0LLQuNC70L3QsCDQv9C+0LTRgNC10LTQsdCwINC90LAg0L7RgtC60YrRgdC4IChPSUQgbG9va3VwKTogb2lkWyVkXSA9ICVzID49ICVzID0gb2lkWyVkXSIKIAotIzogbWlkeC5jOjk5NgorIzogbWlkeC5jOjExNTcKK21zZ2lkICJTb3J0aW5nIG9iamVjdHMgYnkgcGFja2ZpbGUiCittc2dzdHIgItCf0L7QtNGA0LXQtNCx0LAg0L3QsCDQvtCx0LXQutGC0LjRgtC1INC/0L4g0L/QsNC60LXRgtC90Lgg0YTQsNC50LvQvtCy0LUiCisKKyM6IG1pZHguYzoxMTY0CiBtc2dpZCAiVmVyaWZ5aW5nIG9iamVjdCBvZmZzZXRzIgogbXNnc3RyICLQn9GA0L7QstC10YDQutCwINC90LAg0L7RgtC80LXRgdGC0LLQsNC90LXRgtC+INC90LAg0L7QsdC10LrRgtC4IgogCi0jOiBtaWR4LmM6MTAwNAorIzogbWlkeC5jOjExODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgcGFjayBlbnRyeSBmb3Igb2lkWyVkXSA9ICVzIgogbXNnc3RyICLQt9Cw0L/QuNGB0YrRgiDQsiDQv9Cw0LrQtdGC0LAg0LfQsCDQvtCx0LXQutGC0LAgb2lkWyVkXSA9ICVzINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0YDQtdC00LXQvSIKIAotIzogbWlkeC5jOjEwMTAKKyM6IG1pZHguYzoxMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBsb2FkIHBhY2staW5kZXggZm9yIHBhY2tmaWxlICVzIgogbXNnc3RyICLQuNC90LTQtdC60YHRitGCINC90LAg0L/QsNC60LXRgtCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0YDQtdC00LXQvSIKIAotIzogbWlkeC5jOjEwMTkKKyM6IG1pZHguYzoxMTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImluY29ycmVjdCBvYmplY3Qgb2Zmc2V0IGZvciBvaWRbJWRdID0gJXM6ICU8UFJJeDY0PiAhPSAlPFBSSXg2ND4iCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdC+INC+0YLQvNC10YHRgtCy0LDQvdC1INC90LAg0L7QsdC10LrRgiDQt9CwIG9pZFslZF0gPSAlczogJTxQUkl4NjQ+ICE9ICU8UFJJeDY0PiIKIAotIzogbmFtZS1oYXNoLmM6NTMyCisjOiBtaWR4LmM6MTIyMAorbXNnaWQgIkNvdW50aW5nIHJlZmVyZW5jZWQgb2JqZWN0cyIKK21zZ3N0ciAi0J/RgNC10LHRgNC+0Y/QstCw0L3QtSDQvdCwINGB0LLRitGA0LfQsNC90LjRgtC1INC+0LHQtdC60YLQuCIKKworIzogbWlkeC5jOjEyMzAKK21zZ2lkICJGaW5kaW5nIGFuZCBkZWxldGluZyB1bnJlZmVyZW5jZWQgcGFja2ZpbGVzIgorbXNnc3RyICLQotGK0YDRgdC10L3QtSDQuCDQuNC30YLRgNC40LLQsNC90LUg0L3QsCDQvdC10YHQstGK0YDQt9Cw0L3QuNGC0LUg0L/QsNC60LXRgtC90Lgg0YTQsNC50LvQvtCy0LUiCisKKyM6IG1pZHguYzoxMzg4Cittc2dpZCAiY291bGQgbm90IHN0YXJ0IHBhY2stb2JqZWN0cyIKK21zZ3N0ciAi0LrQvtC80LDQvdC00LDRgtCwIOKAnnBhY2stb2JqZWN0c+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRgtCw0YDRgtC40YDQsNC90LAiCisKKyM6IG1pZHguYzoxNDA3Cittc2dpZCAiY291bGQgbm90IGZpbmlzaCBwYWNrLW9iamVjdHMiCittc2dzdHIgItC60L7QvNCw0L3QtNCw0YLQsCDigJ5wYWNrLW9iamVjdHPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQstGK0YDRiNC10L3QsCIKKworIzogbmFtZS1oYXNoLmM6NTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbGF6eV9kaXIgdGhyZWFkOiAlcyIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg0L3QuNGI0LrQsCDQt9CwINC00LjRgNC10LrRgtC+0YDQuNC4OiAlcyIKIAotIzogbmFtZS1oYXNoLmM6NTU0CisjOiBuYW1lLWhhc2guYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsYXp5X25hbWUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg0L3QuNGI0LrQsCDQt9CwINC40LzQtdC90LA6ICVzIgogCi0jOiBuYW1lLWhhc2guYzo1NjAKKyM6IG5hbWUtaGFzaC5jOjU2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gam9pbiBsYXp5X25hbWUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9GH0LDQutCwINC90LjRiNC60LAg0LfQsCDQuNC80LXQvdCwOiAlcyIKIAotIzogbm90ZXMtbWVyZ2UuYzoyNzUKKyM6IG5vdGVzLW1lcmdlLmM6Mjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgcHJldmlvdXMgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuXG4iCkBAIC0zNjM4LDIzICs0OTQzLDIzIEBACiAiXG4iCiAiICAgIGdpdCBub3RlcyBtZXJnZSAtLWFib3J0IgogCi0jOiBub3Rlcy1tZXJnZS5jOjI4MgorIzogbm90ZXMtbWVyZ2UuYzoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG5vdGVzIG1lcmdlICglcyBleGlzdHMpLiIKIG1zZ3N0ciAiIgogItCd0LUg0YHRgtC1INC30LDQstGK0YDRiNC40LvQuCDRgdC70LjQstCw0L3QtdGC0L4g0L3QsCDQsdC10LvQtdC20LrQuNGC0LUuICAo0KPQutCw0LfQsNGC0LXQu9GP0YIg4oCeJXPigJwg0YHRitGJ0LXRgdGC0LLRg9Cy0LApLiIKIAotIzogbm90ZXMtdXRpbHMuYzo0NQorIzogbm90ZXMtdXRpbHMuYzo0NgogbXNnaWQgIkNhbm5vdCBjb21taXQgdW5pbml0aWFsaXplZC91bnJlZmVyZW5jZWQgbm90ZXMgdHJlZSIKIG1zZ3N0ciAiIgogItCd0LXQuNC90LjRhtC40LDQu9C40LfQuNGA0LDQvdC+INC40LvQuCDQvdC10YDQtdGE0LXRgNC40YDQsNC90L4g0LTRitGA0LLQviDQt9CwINCx0LXQu9C10LbQutC4INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LTQsNC00LXQvdC+IgogCi0jOiBub3Rlcy11dGlscy5jOjEwNAorIzogbm90ZXMtdXRpbHMuYzoxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIG5vdGVzLnJld3JpdGVNb2RlIHZhbHVlOiAnJXMnIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCINC30LAg4oCebm90ZXMucmV3cml0ZU1vZGXigJw6IOKAniVz4oCcIgogCi0jOiBub3Rlcy11dGlscy5jOjExNAorIzogbm90ZXMtdXRpbHMuYzoxMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gcmV3cml0ZSBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCiBtc2dzdHIgIiIKQEAgLTM2NjQsMTIgKzQ5NjksMTIgQEAKICMuIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcwogIy4gaXRzIHZhbHVlLgogIy4KLSM6IG5vdGVzLXV0aWxzLmM6MTQ0CisjOiBub3Rlcy11dGlscy5jOjE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgJXMgdmFsdWU6ICclcyciCiBtc2dzdHIgItCX0LDQtNCw0LTQtdC90LAg0LUg0LvQvtGI0LAg0YHRgtC+0LnQvdC+0YHRgiDQvdCwINC/0YDQvtC80LXQvdC70LjQstCw0YLQsCDigJ4lc+KAnDog4oCeJXPigJwiCiAKLSM6IG9iamVjdC5jOjU0CisjOiBvYmplY3QuYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCB0eXBlIFwiJXNcIiIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0LLQuNC0INC+0LHQtdC60YI6IOKAniVz4oCcIgpAQCAtMzY5MSwzMyArNDk5Niw4OSBAQAogCiAjOiBvYmplY3QuYzoyNjYgb2JqZWN0LmM6Mjc3CiAjLCBjLWZvcm1hdAotbXNnaWQgInNoYTEgbWlzbWF0Y2ggJXMiCi1tc2dzdHIgItGA0LDQt9C70LjQutCwINCyIFNIQTE6IOKAniVz4oCcIgorbXNnaWQgImhhc2ggbWlzbWF0Y2ggJXMiCittc2dzdHIgItGA0LDQt9C70LjQutCwINCyINC60L7QvdGC0YDQvtC70L3QsNGC0LAg0YHRg9C80LA6IOKAniVz4oCcIgogCi0jOiBwYWNrZmlsZS5jOjYwNworIzogcGFja2ZpbGUuYzo2MjkKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIGVuZCBvZiBwYWNrZmlsZSAoYnJva2VuIC5pZHg/KSIKIG1zZ3N0ciAiIgogItC+0YLQvNC10YHRgtCy0LDQvdC1INC/0YDQtdC00Lgg0LrRgNCw0Y8g0L3QsCDQv9Cw0LrQtdGC0L3QuNGPINGE0LDQudC7ICjQstGK0LfQvNC+0LbQvdC+INC1INC40L3QtNC10LrRgdGK0YIg0LTQsCDQtSDQv9C+0LLRgNC10LTQtdC9KSIKIAotIzogcGFja2ZpbGUuYzoxODY0CisjOiBwYWNrZmlsZS5jOjE4NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAib2Zmc2V0IGJlZm9yZSBzdGFydCBvZiBwYWNrIGluZGV4IGZvciAlcyAoY29ycnVwdCBpbmRleD8pIgogbXNnc3RyICIiCiAi0L7RgtC80LXRgdGC0LLQsNC90LUg0L/RgNC10LTQuCDQvdCw0YfQsNC70L7RgtC+INC90LAg0LjQvdC00LXQutGB0LAg0L3QsCDQv9Cw0LrQtdGC0L3QuNGPINGE0LDQudC7IOKAniVz4oCcICjQstGK0LfQvNC+0LbQvdC+INC1ICIKICLQuNC90LTQtdC60YHRitGCINC00LAg0LUg0L/QvtCy0YDQtdC00LXQvSkiCiAKLSM6IHBhY2tmaWxlLmM6MTg2OAorIzogcGFja2ZpbGUuYzoxODgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZXlvbmQgZW5kIG9mIHBhY2sgaW5kZXggZm9yICVzICh0cnVuY2F0ZWQgaW5kZXg/KSIKIG1zZ3N0ciAiIgogItC+0YLQvNC10YHRgtCy0LDQvdC1INC/0YDQtdC00Lgg0LrRgNCw0Y8g0L3QsCDQuNC90LTQtdC60YHQsCDQvdCwINC/0LDQutC10YLQvdC40Y8g0YTQsNC50Lsg4oCeJXPigJwgKNCy0YrQt9C80L7QttC90L4g0LUg0LjQvdC00LXQutGB0YrRgiAiCiAi0LTQsCDQtSDQvtGC0YDRj9C30LDQvSkiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo2NzIKKyM6IHBhcnNlLW9wdGlvbnMuYzozOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhIHZhbHVlIgorbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4lc+KAnCDQuNC30LjRgdC60LLQsCDQsNGA0LPRg9C80LXQvdGCIgorCisjOiBwYXJzZS1vcHRpb25zLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgaW5jb21wYXRpYmxlIHdpdGggJXMiCittc2dzdHIgItC+0L/RhtC40LjRgtC1IOKAniVz4oCcINC4IOKAniVz4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgorCisjOiBwYXJzZS1vcHRpb25zLmM6NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgOiBpbmNvbXBhdGlibGUgd2l0aCBzb21ldGhpbmcgZWxzZSIKK21zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeJXPigJwg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNCwINGBINC90LXRidC+IgorCisjOiBwYXJzZS1vcHRpb25zLmM6OTIgcGFyc2Utb3B0aW9ucy5jOjk2IHBhcnNlLW9wdGlvbnMuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGFrZXMgbm8gdmFsdWUiCittc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAniVz4oCcINC90LUg0L/RgNC40LXQvNCwINCw0YDQs9GD0LzQtdC90YLQuCIKKworIzogcGFyc2Utb3B0aW9ucy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzbid0IGF2YWlsYWJsZSIKK21zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeJXPigJwg0L3QtSDQtSDQvdCw0LvQuNGH0L3QsCIKKworIzogcGFyc2Utb3B0aW9ucy5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIgdmFsdWUgd2l0aCBhbiBvcHRpb25hbCBrL20vZyBzdWZmaXgiCittc2dzdHIgIiIKKyLigJ4lc+KAnCDQvtGH0LDQutCy0LAg0L3QtdC+0YLRgNC40YbQsNGC0LXQu9C90L4g0YbRj9C70L4g0YfQuNGB0LvQviwg0LXQstC10L3RgtGD0LDQu9C90L4g0YHRitGBINGB0YPRhNC40LrRgSDigJ5r4oCcL+KAnm3igJwv4oCeZ+KAnCIKKworIzogcGFyc2Utb3B0aW9ucy5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbWJpZ3VvdXMgb3B0aW9uOiAlcyAoY291bGQgYmUgLS0lcyVzIG9yIC0tJXMlcykiCittc2dzdHIgItC90LXQtdC00L3QvtC30L3QsNGH0L3QsCDQvtC/0YbQuNGPOiDigJ4lc+KAnCAo0LzQvtC20LUg0LTQsCDQtSDigJ4tLSVzJXPigJwg0LjQu9C4IOKAni0tJXMlc+KAnCkiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo0MjMgcGFyc2Utb3B0aW9ucy5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJkaWQgeW91IG1lYW4gYC0tJXNgICh3aXRoIHR3byBkYXNoZXMgPykiCittc2dzdHIgIuKAni0tJXPigJwgKNGBIDIg0YLQuNGA0LXRgtCwKSDQu9C4INC40LzQsNGF0YLQtSDQv9GA0LXQtNCy0LjQtD8iCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gYCVzJyIKK21zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgtCwINC+0L/RhtC40Y86IOKAniVz4oCcIgorCisjOiBwYXJzZS1vcHRpb25zLmM6ODYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc3dpdGNoIGAlYyciCittc2dzdHIgItC90LXQv9C+0LfQvdCw0YIg0YTQu9Cw0LMg4oCeJWPigJwiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo4NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBub24tYXNjaWkgb3B0aW9uIGluIHN0cmluZzogYCVzJyIKK21zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgtCwINGB0YLQvtC50L3QvtGB0YIg0LjQt9Cy0YrQvSDigJ5hc2NpaeKAnCDQsiDQvdC40LfQsDog4oCeJXPigJwiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo4ODgKIG1zZ2lkICIuLi4iCiBtc2dzdHIgIuKApiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjY5MQorIzogcGFyc2Utb3B0aW9ucy5jOjkwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMiCiBtc2dzdHIgItGD0L/QvtGC0YDQtdCx0LA6ICVzIgpAQCAtMzcyNSw1OCArNTA4Niw3NSBAQAogIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiBoZXJlIHNob3VsZCBhbGlnbiB3aXRoIHRoZQogIy4gb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uLgogIy4KLSM6IHBhcnNlLW9wdGlvbnMuYzo2OTcKKyM6IHBhcnNlLW9wdGlvbnMuYzo5MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgb3I6ICVzIgogbXNnc3RyICIgICAgINC40LvQuDogJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo3MDAKKyM6IHBhcnNlLW9wdGlvbnMuYzo5MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICVzIgogbXNnc3RyICIgICAgJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo3MzkKKyM6IHBhcnNlLW9wdGlvbnMuYzo5NTUKIG1zZ2lkICItTlVNIgogbXNnc3RyICIt0KfQmNCh0JvQniIKIAotIzogcGFyc2Utb3B0aW9ucy1jYi5jOjM3CisjOiBwYXJzZS1vcHRpb25zLmM6OTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsaWFzIG9mIC0tJXMiCittc2dzdHIgItC/0YHQtdCy0LTQvtC90LjQvCDQvdCwIOKAni0tJXPigJwiCisKKyM6IHBhcnNlLW9wdGlvbnMtY2IuYzoyMCBwYXJzZS1vcHRpb25zLWNiLmM6MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKK21zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeJXPigJwg0L7Rh9Cw0LrQstCwINGH0LjRgdC70L4g0LfQsCDQsNGA0LPRg9C80LXQvdGCIgorCisjOiBwYXJzZS1vcHRpb25zLWNiLmM6NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGV4cGlyYXRpb24gZGF0ZSAnJXMnIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDQtNCw0YLQsCDQvdCwINGB0YDQvtC6OiDigJ4lc+KAnCIKIAotIzogcGFyc2Utb3B0aW9ucy1jYi5jOjEwOQorIzogcGFyc2Utb3B0aW9ucy1jYi5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgXCJhbHdheXNcIiwgXCJhdXRvXCIsIG9yIFwibmV2ZXJcIiIKK21zZ3N0ciAiIgorItC+0L/RhtC40Y/RgtCwIOKAniVz4oCcINC40LfQuNGB0LrQstCwINC90Y/QutC+0Y8g0L7RgiDRgdGC0L7QudC90L7RgdGC0LjRgtC1OiDigJ5hbHdheXPigJwgKNCy0LjQvdCw0LPQuCksICIKKyLigJ5hdXRv4oCcICjQsNCy0YLQvtC80LDRgtC40YfQvdC+KSDQuNC70Lgg4oCebmV2ZXLigJwgKNC90LjQutC+0LPQsCkiCisKKyM6IHBhcnNlLW9wdGlvbnMtY2IuYzoxMzAgcGFyc2Utb3B0aW9ucy1jYi5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJyVzJyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90L4g0LjQvNC1INC90LAg0L7QsdC10LrRgiDigJ4lc+KAnCIKIAotIzogcGF0aC5jOjg5NAorIzogcGF0aC5jOjkxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbWFrZSAlcyB3cml0YWJsZSBieSBncm91cCIKIG1zZ3N0ciAi0J3QtSDQvNC+0LPQsNGCINC00LAg0YHQtSDQtNCw0LTQsNGCINC/0YDQsNCy0LAg0LfQsCDQt9Cw0L/QuNGBINCyINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4lc+KAnCDQvdCwINCz0YDRg9C/0LDRgtCwIgogCi0jOiBwYXRoc3BlYy5jOjEyOQorIzogcGF0aHNwZWMuYzoxMzAKIG1zZ2lkICJFc2NhcGUgY2hhcmFjdGVyICdcXCcgbm90IGFsbG93ZWQgYXMgbGFzdCBjaGFyYWN0ZXIgaW4gYXR0ciB2YWx1ZSIKIG1zZ3N0ciAiIgogItCV0LrRgNCw0L3QuNGA0LDRidC40Y/RgiDQt9C90LDQuiDigJ5cXOKAnNC90LUg0LzQvtC20LUg0LTQsCDQtSDQv9C+0YHQu9C10LTQtdC9INC30L3QsNC6INCyINGB0YLQvtC50L3QvtGB0YLRgtCwINC90LAg0LDRgtGA0LjQsdGD0YIiCiAKLSM6IHBhdGhzcGVjLmM6MTQ3CisjOiBwYXRoc3BlYy5jOjE0OAogbXNnaWQgIk9ubHkgb25lICdhdHRyOicgc3BlY2lmaWNhdGlvbiBpcyBhbGxvd2VkLiIKIG1zZ3N0ciAi0J/QvtC30LLQvtC70LXQvdC+INC1INGB0LDQvNC+INC10LTQvdC+INGD0LrQsNC30LLQsNC90LUg0L3QsCDigJ5hdHRyOuKAnC4iCiAKLSM6IHBhdGhzcGVjLmM6MTUwCisjOiBwYXRoc3BlYy5jOjE1MQogbXNnaWQgImF0dHIgc3BlYyBtdXN0IG5vdCBiZSBlbXB0eSIKIG1zZ3N0ciAi4oCeYXR0cjrigJwg0YLRgNGP0LHQstCwINC00LAg0YPQutCw0LfQstCwINGB0YLQvtC50L3QvtGB0YIiCiAKLSM6IHBhdGhzcGVjLmM6MTkzCisjOiBwYXRoc3BlYy5jOjE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGF0dHJpYnV0ZSBuYW1lICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QviDQuNC80LUg0L3QsCDQsNGC0YDQuNCx0YPRgjog4oCeJXPigJwiCiAKLSM6IHBhdGhzcGVjLmM6MjU4CisjOiBwYXRoc3BlYy5jOjI1OQogbXNnaWQgImdsb2JhbCAnZ2xvYicgYW5kICdub2dsb2InIHBhdGhzcGVjIHNldHRpbmdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgItCz0LvQvtCx0LDQu9C90LjRgtC1INC90LDRgdGC0YDQvtC50LrQuCDQt9CwINC/0YrRgtC40YnQsCDigJ5nbG9i4oCcINC4IOKAnm5vZ2xvYuKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKIAotIzogcGF0aHNwZWMuYzoyNjUKKyM6IHBhdGhzcGVjLmM6MjY2CiBtc2dpZCAiIgogImdsb2JhbCAnbGl0ZXJhbCcgcGF0aHNwZWMgc2V0dGluZyBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgZ2xvYmFsICIKICJwYXRoc3BlYyBzZXR0aW5ncyIKQEAgLTM3ODQsMTMxICs1MTYyLDIxMSBAQAogItCz0LvQvtCx0LDQu9C90LDRgtCwINC90LDRgdGC0YDQvtC50LrQsCDQt9CwINC00L7RgdC70L7QstC90Lgg0L/RitGC0LjRidCwIOKAnmxpdGVyYWzigJwg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNCwINGBINCy0YHQuNGH0LrQuCAiCiAi0LTRgNGD0LPQuCDQs9C70L7QsdCw0LvQvdC4INC90LDRgdGC0YDQvtC50LrQuCDQt9CwINC/0YrRgtC40YnQsCIKIAotIzogcGF0aHNwZWMuYzozMDUKKyM6IHBhdGhzcGVjLmM6MzA2CiBtc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXIgZm9yIHBhdGhzcGVjIG1hZ2ljICdwcmVmaXgnIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQv9Cw0YDQsNC80LXRgtGK0YAg0LfQsCDQvtC/0YbQuNGP0YLQsCDQt9CwINC80LDQs9C40YfQtdGB0LrQuCDQv9GK0YLQuNGJ0LAg4oCecHJlZml44oCcIgogCi0jOiBwYXRoc3BlYy5jOjMyNgorIzogcGF0aHNwZWMuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBwYXRoc3BlYyBtYWdpYyAnJS4qcycgaW4gJyVzJyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C90LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwINC+0L/RhtC40Y/RgtCwINC30LAg0LzQsNCz0LjRh9C10YHQutC4INC/0YrRgtC40YnQsCDigJ4lLipz4oCcINCyIOKAniVz4oCcIgogCi0jOiBwYXRoc3BlYy5jOjMzMQorIzogcGF0aHNwZWMuYzozMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWlzc2luZyAnKScgYXQgdGhlIGVuZCBvZiBwYXRoc3BlYyBtYWdpYyBpbiAnJXMnIgogbXNnc3RyICLQl9C90LDQutGK0YIg4oCeKeKAnCDQu9C40L/RgdCy0LAg0LIg0L7Qv9GG0LjRj9GC0LAg0LfQsCDQvNCw0LPQuNGH0LXRgdC60Lgg0L/RitGC0LjRidCwINCyIOKAniVz4oCcIgogCi0jOiBwYXRoc3BlYy5jOjM2OQorIzogcGF0aHNwZWMuYzozNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5pbXBsZW1lbnRlZCBwYXRoc3BlYyBtYWdpYyAnJWMnIGluICclcyciCiBtc2dzdHIgItCc0LDQs9C40YfQtdGB0LrQuNGC0LUg0L/RitGC0LjRidCwIOKAniVj4oCcINGB0LAg0LHQtdC3INGA0LXQsNC70LjQt9Cw0YbQuNGPINC30LAg4oCeJXPigJwiCiAKLSM6IHBhdGhzcGVjLmM6NDI4CisjOiBwYXRoc3BlYy5jOjQyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJ2xpdGVyYWwnIGFuZCAnZ2xvYicgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiJXM6INC+0L/RhtC40LjRgtC1IOKAnmxpdGVyYWzigJwg0Lgg4oCeZ2xvYuKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKIAotIzogcGF0aHNwZWMuYzo0NDEKKyM6IHBhdGhzcGVjLmM6NDQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAnJXMnIGlzIG91dHNpZGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiJXM6IOKAniVz4oCcINC1INC40LfQstGK0L0g0YXRgNCw0L3QuNC70LjRidC10YLQviIKIAotIzogcGF0aHNwZWMuYzo1MTUKKyM6IHBhdGhzcGVjLmM6NTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgKG1uZW1vbmljOiAnJWMnKSIKIG1zZ3N0ciAi4oCeJXPigJwgKNC60LvQsNCy0LjRiDog4oCeJWPigJwpIgogCi0jOiBwYXRoc3BlYy5jOjUyNQorIzogcGF0aHNwZWMuYzo1MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKIG1zZ3N0ciAiJXM6INC80LDQs9C40YfQtdGB0LrQuNGC0LUg0L/RitGC0LjRidCwINC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCw0YIg0L7RgiDQutC+0LzQsNC90LTQsNGC0LAg4oCeJXPigJwiCiAKLSM6IHBhdGhzcGVjLmM6NTkyCisjOiBwYXRoc3BlYy5jOjU5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgItC/0YrRgtGP0YIg4oCeJXPigJwg0LUg0YHQu9C10LQg0YHQuNC80LLQvtC70L3QsCDQstGA0YrQt9C60LAiCiAKLSM6IHBrdC1saW5lLmM6MTA0CisjOiBwYXRoc3BlYy5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lIGlzIGJhZGx5IHF1b3RlZDogJXMiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdC+INGG0LjRgtC40YDQsNC9INGA0LXQtDogJXMiCisKKyM6IHBrdC1saW5lLmM6OTIKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmx1c2ggcGFja2V0IgorbXNnc3RyICLQv9Cw0LrQtdGC0YrRgiDQt9CwINC40LfRh9C40YHRgtCy0LDQvdC1INC90LAg0LHRg9GE0LXRgNC40YLQtSDQvdC1INC80L7QttC1INC00LAg0YHQtSDQt9Cw0L/QuNGI0LUiCisKKyM6IHBrdC1saW5lLmM6OTkKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZGVsaW0gcGFja2V0IgorbXNnc3RyICLRgNCw0LfQtNC10LvRj9GJ0LjRj9GCINC/0LDQutC10YIg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsNC/0LjRiNC1IgorCisjOiBwa3QtbGluZS5jOjEwNgogbXNnaWQgImZsdXNoIHBhY2tldCB3cml0ZSBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30YfQuNGB0YLQstCw0L3QtSDQvdCwINCx0YPRhNC10YDQuNGC0LUg0L/RgNC4INC30LDQv9C40YEg0L3QsCDQv9Cw0LrQtdGCIgogCi0jOiBwa3QtbGluZS5jOjE0MiBwa3QtbGluZS5jOjIyOAorIzogcGt0LWxpbmUuYzoxNDYgcGt0LWxpbmUuYzoyMzIKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogaW1wb3NzaWJseSBsb25nIGxpbmUiCiBtc2dzdHIgItC/0YDQvtGC0L7QutC+0LvQvdCwINCz0YDQtdGI0LrQsDog0L/RgNC10LrQsNC70LXQvdC+INC00YrQu9GK0LMg0YDQtdC0IgogCi0jOiBwa3QtbGluZS5jOjE1OCBwa3QtbGluZS5jOjE2MAorIzogcGt0LWxpbmUuYzoxNjIgcGt0LWxpbmUuYzoxNjQKIG1zZ2lkICJwYWNrZXQgd3JpdGUgd2l0aCBmb3JtYXQgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC10L0g0LfQsNC/0LjRgSDQvdCwINC/0LDQutC10YIg0YEg0YTQvtGA0LzQsNGCIgogCi0jOiBwa3QtbGluZS5jOjE5MgorIzogcGt0LWxpbmUuYzoxOTYKIG1zZ2lkICJwYWNrZXQgd3JpdGUgZmFpbGVkIC0gZGF0YSBleGNlZWRzIG1heCBwYWNrZXQgc2l6ZSIKIG1zZ3N0ciAiIgogItC90LXRg9GB0L/QtdGI0LXQvSDQt9Cw0L/QuNGBINC90LAg0L/QsNC60LXRgtC10L0g0YTQsNC50Lsg4oCUINC00LDQvdC90LjRgtC1INC90LDQtNCy0LjRiNCw0LLQsNGCINC80LDQutGB0LjQvNCw0LvQvdC40Y/RgiDRgNCw0LfQvNC10YAg0L3QsCAiCiAi0L/QsNC60LXRgiIKIAotIzogcGt0LWxpbmUuYzoxOTkgcGt0LWxpbmUuYzoyMDYKKyM6IHBrdC1saW5lLmM6MjAzIHBrdC1saW5lLmM6MjEwCiBtc2dpZCAicGFja2V0IHdyaXRlIGZhaWxlZCIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQtdC9INC30LDQv9C40YEg0L3QsCDQv9Cw0LrQtdGCIgogCi0jOiBwa3QtbGluZS5jOjI5MQorIzogcGt0LWxpbmUuYzoyOTUKIG1zZ2lkICJyZWFkIGVycm9yIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0L/RgNC4INGH0LXRgtC10L3QtSIKIAotIzogcGt0LWxpbmUuYzoyOTkKKyM6IHBrdC1saW5lLmM6MzAzCiBtc2dpZCAidGhlIHJlbW90ZSBlbmQgaHVuZyB1cCB1bmV4cGVjdGVkbHkiCiBtc2dzdHIgItC+0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg0L3QtdC+0YfQsNC60LLQsNC90L4g0L/RgNC10LrRitGB0L3QsCDQstGA0YrQt9C60LDRgtCwIgogCi0jOiBwa3QtbGluZS5jOjMyNworIzogcGt0LWxpbmUuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBsaW5lIGxlbmd0aCBjaGFyYWN0ZXI6ICUuNHMiCiBtc2dzdHIgItC/0YDQvtGC0L7QutC+0LvQvdCwINCz0YDQtdGI0LrQsDog0L3QtdC/0YDQsNCy0LjQu2XQvSDQt9C90LDQuiDQt9CwINC00YrQu9C20LjQvdCwINC90LAg0YDQtdC0OiAlLjRzIgogCi0jOiBwa3QtbGluZS5jOjMzNyBwa3QtbGluZS5jOjM0MgorIzogcGt0LWxpbmUuYzozNDEgcGt0LWxpbmUuYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBsaW5lIGxlbmd0aCAlZCIKIG1zZ3N0ciAi0L/RgNC+0YLQvtC60L7Qu9C90LAg0LPRgNC10YjQutCwOiDQvdC10L/RgNCw0LLQuNC70L3QsCDQtNGK0LvQttC40L3QsCDQvdCwINGA0LXQtDogJWQiCiAKLSM6IHByZWxvYWQtaW5kZXguYzoxMTgKKyM6IHBrdC1saW5lLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW90ZSBlcnJvcjogJXMiCittc2dzdHIgItC+0YLQtNCw0LvQtdGH0LXQvdCwINCz0YDQtdGI0LrQsDogJXMiCisKKyM6IHByZWxvYWQtaW5kZXguYzoxMTkKIG1zZ2lkICJSZWZyZXNoaW5nIGluZGV4IgogbXNnc3RyICLQntCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwINC40L3QtNC10LrRgdCwIgogCi0jOiBwcmVsb2FkLWluZGV4LmM6MTM3CisjOiBwcmVsb2FkLWluZGV4LmM6MTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkZWQgbHN0YXQ6ICVzIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDRgdGK0LfQtNCw0LTQtSDQvdC40YjQutCwINC30LAg0LjQt9C/0YrQu9C90LXQvdC40LXRgtC+INC90LAg4oCebHN0YXTigJw6ICVzIgogCi0jOiBwcmV0dHkuYzo5NjIKKyM6IHByZXR0eS5jOjk4MQogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAtLXByZXR0eSBmb3JtYXQiCiBtc2dzdHIgItCw0YDQs9GD0LzQtdC90YLRitGCINC60YrQvCDQvtC/0YbQuNGP0YLQsCDigJ4tLXByZXR0eeKAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQsNC90LDQu9C40LfQuNGA0LAiCiAKLSM6IHJhbmdlLWRpZmYuYzo1NgorIzogcHJvbWlzb3ItcmVtb3RlLmM6MjMKK21zZ2lkICJSZW1vdGUgd2l0aCBubyBVUkwiCittc2dzdHIgItCb0LjQv9GB0LLQsCDQsNC00YDQtdGBINC30LAg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSIKKworIzogcHJvbWlzb3ItcmVtb3RlLmM6NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJvbWlzb3IgcmVtb3RlIG5hbWUgY2Fubm90IGJlZ2luIHdpdGggJy8nOiAlcyIKK21zZ3N0ciAiIgorItC40LzQtdGC0L4g0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtS3Qs9Cw0YDQsNC90YIg0L3QtSDQvNC+0LbQtSDQt9CwINC30LDQv9C+0YfQstCwINGB0YrRgSDQt9C90LDQutCwIOKAni/igJw6ICVzIgorCisjOiByYW5nZS1kaWZmLmM6NzUKIG1zZ2lkICJjb3VsZCBub3Qgc3RhcnQgYGxvZ2AiCiBtc2dzdHIgItC60L7QvNCw0L3QtNCw0YLQsCDQt9CwINC20YPRgNC90LDQu9CwINGBINC/0L7QtNCw0LLQsNC90LjRjyDigJ5sb2figJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRgtCw0YDRgtC40YDQsCIKIAotIzogcmFuZ2UtZGlmZi5jOjU5CisjOiByYW5nZS1kaWZmLmM6NzcKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBgbG9nYCBvdXRwdXQiCiBtc2dzdHIgIiIKICLQuNC30YXQvtC00YrRgiDQvtGCINC60L7QvNCw0L3QtNCw0YLQsCDQt9CwINC20YPRgNC90LDQu9CwINGBINC/0L7QtNCw0LLQsNC90LjRjyDigJ5sb2figJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC+0YfQtdGC0LUiCiAKLSM6IHJhbmdlLWRpZmYuYzo3NCBzZXF1ZW5jZXIuYzo0NzY0CisjOiByYW5nZS1kaWZmLmM6OTYgc2VxdWVuY2VyLmM6NTE2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICclcyciCiBtc2dzdHIgItC/0L7QtNCw0LLQsNC90LXRgtC+IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQsNC90LDQu9C40LfQuNGA0LDQvdC+IgogCi0jOiByYW5nZS1kaWZmLmM6MjI0CisjOiByYW5nZS1kaWZmLmM6MTIyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBnaXQgaGVhZGVyICclLipzJyIKK21zZ3N0ciAi0LfQsNCz0LvQsNCy0L3QsNGC0LAg0YfQsNGB0YIg0L3QsCBnaXQg4oCeJS4qc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQsNC90LDQu9C40LfQuNGA0LAiCisKKyM6IHJhbmdlLWRpZmYuYzoyODUKIG1zZ2lkICJmYWlsZWQgdG8gZ2VuZXJhdGUgZGlmZiIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INGC0YrRgNGB0LXQvdC1INC90LAg0YDQsNC30LvQuNC60LAiCiAKLSM6IHJhbmdlLWRpZmYuYzo0NTUgcmFuZ2UtZGlmZi5jOjQ1NworIzogcmFuZ2UtZGlmZi5jOjUxOCByYW5nZS1kaWZmLmM6NTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBsb2cgZm9yICclcyciCiBtc2dzdHIgItC20YPRgNC90LDQu9GK0YIg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQvdCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQsNC90LDQu9C40LfQuNGA0LDQvSIKIAotIzogcmVhZC1jYWNoZS5jOjE0OTAKKyM6IHJlYWQtY2FjaGUuYzo2ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgYWRkIGZpbGUgYWxpYXMgJyVzJyAoJyVzJyBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCkiCittc2dzdHIgIiIKKyLQvdGP0LzQsCDQtNCwINCx0YrQtNC1INC00L7QsdCw0LLQtdC9INC/0YHQtdCy0LTQvtC90LjQvCDQt9CwINGE0LDQudC7IOKAniVz4oCcICjigJ4lc+KAnCDQstC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCDQsiDQuNC90LTQtdC60YHQsCkiCisKKyM6IHJlYWQtY2FjaGUuYzo2OTYKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGFuIGVtcHR5IGJsb2IgaW4gdGhlIG9iamVjdCBkYXRhYmFzZSIKK21zZ3N0ciAi0LIg0LHQsNC30LDRgtCwINC+0YIg0LTQsNC90L3QuCDQt9CwINC+0LHQtdC60YLQuNGC0LUg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg0L/RgNCw0LfQtdC9INC+0LHQtdC60YItQkxPQiIKKworIzogcmVhZC1jYWNoZS5jOjcxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuIG9ubHkgYWRkIHJlZ3VsYXIgZmlsZXMsIHN5bWJvbGljIGxpbmtzIG9yIGdpdC1kaXJlY3RvcmllcyIKK21zZ3N0ciAiIgorIiVzOiDQvNC+0LbQtSDQtNCwINC00L7QsdCw0LLRj9GC0LUg0YHQsNC80L4g0L7QsdC40LrQvdC+0LLQtdC90Lgg0YTQsNC50LvQvtCy0LUsINGB0LjQvNCy0L7Qu9C90Lgg0LLRgNGK0LfQutC4INC4INC00LjRgNC10LrRgtC+0YDQuNC4ICIKKyLQvdCwIGdpdCIKKworIzogcmVhZC1jYWNoZS5jOjcyMworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGRvZXMgbm90IGhhdmUgYSBjb21taXQgY2hlY2tlZCBvdXQiCittc2dzdHIgItC90LUg0LUg0LjQt9GC0LXQs9C70LXQvdC+INC/0L7QtNCw0LLQsNC90LUg0LIg4oCeJXPigJwiCisKKyM6IHJlYWQtY2FjaGUuYzo3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGluZGV4IGZpbGUgJyVzJyIKK21zZ3N0ciAi0YTQsNC50LvRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC90LTQtdC60YHQuNGA0LDQvSIKKworIzogcmVhZC1jYWNoZS5jOjc5NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYWRkICclcycgdG8gaW5kZXgiCittc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC00L7QsdCw0LLQuCDQsiDQuNC90LTQtdC60YHQsCIKKworIzogcmVhZC1jYWNoZS5jOjgwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gc3RhdCAnJXMnIgorbXNnc3RyICLigJ5zdGF04oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQv9GK0LvQvdC4INCy0YrRgNGF0YMg4oCeJXPigJwiCisKKyM6IHJlYWQtY2FjaGUuYzoxMjgzCisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVuYW1lIGluIHRyZWUgZW50cnkgY29udGFpbnMgYmFja3NsYXNoOiAnJXMnIgorbXNnc3RyICLQuNC80LXRgtC+INC90LAg0YTQsNC50Lsg0LIg0LXQu9C10LzQtdC90YIg0L7RgiDQvtCx0LXQutGCLdC00YrRgNCy0L4g0YHRitC00YrRgNC20LAg4oCeXFzigJw6IOKAniVz4oCcIgorCisjOiByZWFkLWNhY2hlLmM6MTMzMAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGFwcGVhcnMgYXMgYm90aCBhIGZpbGUgYW5kIGFzIGEgZGlyZWN0b3J5IgorbXNnc3RyICLigJ4lc+KAnCDRgdGK0YnQtdGB0YLQstGD0LLQsCDQuCDQutCw0YLQviDRhNCw0LnQuywg0Lgg0LrQsNGC0L4g0LTQuNGA0LXQutGC0L7RgNC40Y8iCisKKyM6IHJlYWQtY2FjaGUuYzoxNTM2CiBtc2dpZCAiUmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAi0J7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDQuNC90LTQtdC60YHQsCIKIAotIzogcmVhZC1jYWNoZS5jOjE2MDQKKyM6IHJlYWQtY2FjaGUuYzoxNjUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJpbmRleC52ZXJzaW9uIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgpAQCAtMzkxNyw3ICs1Mzc1LDcgQEAKICLQl9Cw0LTQsNC00LXQvdCwINC1INC90LXQv9GA0LDQstC40LvQvdCwINGB0YLQvtC50L3QvtGB0YIg0L3QsCDQvdCw0YHRgtGA0L7QudC60LDRgtCwIOKAnmluZGV4LnZlcnNpb27igJwuXG4iCiAi0KnQtSDRgdC1INC/0L7Qu9C30LLQsCDQstC10YDRgdC40Y8gJWkiCiAKLSM6IHJlYWQtY2FjaGUuYzoxNjE0CisjOiByZWFkLWNhY2hlLmM6MTY2MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiR0lUX0lOREVYX1ZFUlNJT04gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0zOTI3LDYyICs1Mzg1LDE1NCBAQAogIuKAnkdJVF9JTkRFWF9WRVJTSU9O4oCcLlxuIgogItCp0LUg0YHQtSDQv9C+0LvQt9Cy0LAg0LLQtdGA0YHQuNGPICVpIgogCi0jOiByZWFkLWNhY2hlLmM6MTc5MgorIzogcmVhZC1jYWNoZS5jOjE3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNpZ25hdHVyZSAweCUwOHgiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INC/0L7QtNC/0LjRgTog4oCeMHglMDh44oCcIgorCisjOiByZWFkLWNhY2hlLmM6MTcyMAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAlZCIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90LAg0LLQtdGA0YHQuNGPINC90LAg0LjQvdC00LXQutGB0LAgJWQiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzI5Cittc2dpZCAiYmFkIGluZGV4IGZpbGUgc2hhMSBzaWduYXR1cmUiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INC/0L7QtNC/0LjRgSDQt9CwINC60L7QvdGC0YDQvtC70L3QsCDRgdGD0LzQsCDQv9C+IFNIQTEg0L3QsCDRhNCw0LnQu9CwINC90LAg0LjQvdC00LXQutGB0LAiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzU5CisjLCBjLWZvcm1hdAorbXNnaWQgImluZGV4IHVzZXMgJS40cyBleHRlbnNpb24sIHdoaWNoIHdlIGRvIG5vdCB1bmRlcnN0YW5kIgorbXNnc3RyICIiCisi0LjQvdC00LXQutGB0YrRgiDQv9C+0LvQt9Cy0LAg0YDQsNC30YjQuNGA0LXQvdC40LUg4oCeJS40c+KAnCwg0LrQvtC10YLQviDQvdC1INGB0LUg0L/QvtC00LTRitGA0LbQsCDQvtGCINGC0LDQt9C4INCy0LXRgNGB0LjRjyDQvdCwIGdpdCIKKworIzogcmVhZC1jYWNoZS5jOjE3NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgJS40cyBleHRlbnNpb24iCittc2dzdHIgItC40LPQvdC+0YDQuNGA0LDQvdC1INC90LAg0YDQsNC30YjQuNGA0LXQvdC40LXRgtC+IOKAniUuNHPigJwiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gaW5kZXggZW50cnkgZm9ybWF0IDB4JTA4eCIKK21zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgiDRhNC+0YDQvNCw0YIg0L3QsCDQt9Cw0L/QuNGBINCyINC40L3QtNC10LrRgdCwOiDigJ4weCUwOHjigJwiCisKKyM6IHJlYWQtY2FjaGUuYzoxODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBuYW1lIGZpZWxkIGluIHRoZSBpbmRleCwgbmVhciBwYXRoICclcyciCi1tc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdC+INC40LzQtSDQvdCwINC/0L7Qu9C1INCyINC40L3QtNC10LrRgdCwLCDQsdC70LjQt9C+INC00L4g0L/RitGC0Y8g4oCeJXPigJwiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdC+INC40LzQtSDQvdCwINC/0L7Qu9C1INCyINC40L3QtNC10LrRgdCwINCx0LvQuNC30L4g0LTQviDQv9GK0YLRjyDigJ4lc+KAnCIKIAotIzogcmVhZC1jYWNoZS5jOjE5NjAgcmVyZXJlLmM6NTY1IHJlcmVyZS5jOjU5OSByZXJlcmUuYzoxMTExIGJ1aWx0aW4vYWRkLmM6NDU4Ci0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3NyBidWlsdGluL2NoZWNrb3V0LmM6Mjg5IGJ1aWx0aW4vY2hlY2tvdXQuYzo1ODUKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NTMgYnVpbHRpbi9jbGVhbi5jOjk1NCBidWlsdGluL2NvbW1pdC5jOjM0MwotIzogYnVpbHRpbi9kaWZmLXRyZWUuYzoxMTUgYnVpbHRpbi9ncmVwLmM6NDg5IGJ1aWx0aW4vbXYuYzoxNDQKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNDQgYnVpbHRpbi9ybS5jOjI3MCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzI5CisjOiByZWFkLWNhY2hlLmM6MTg3MQorbXNnaWQgInVub3JkZXJlZCBzdGFnZSBlbnRyaWVzIGluIGluZGV4IgorbXNnc3RyICLQvdC10L/QvtC00YDQtdC00LXQvdC4INC30LDQv9C40YHQuCDQsiDQuNC90LTQtdC60YHQsCIKKworIzogcmVhZC1jYWNoZS5jOjE4NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVsdGlwbGUgc3RhZ2UgZW50cmllcyBmb3IgbWVyZ2VkIGZpbGUgJyVzJyIKK21zZ3N0ciAi0LzQvdC+0LbQtdGB0YLQstC+INC30LDQv9C40YHQuCDQt9CwINGB0LvQtdGC0LjRjyDRhNCw0LnQuyDigJ4lc+KAnCIKKworIzogcmVhZC1jYWNoZS5jOjE4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5vcmRlcmVkIHN0YWdlIGVudHJpZXMgZm9yICclcyciCittc2dzdHIgItC90LXQv9C+0LTRgNC10LTQtdC90Lgg0LfQsNC/0LjRgdC4INC30LAg4oCeJXPigJwiCisKKyM6IHJlYWQtY2FjaGUuYzoxOTgzIHJlYWQtY2FjaGUuYzoyMjcxIHJlcmVyZS5jOjU2NSByZXJlcmUuYzo1OTkgcmVyZXJlLmM6MTExMQorIzogYnVpbHRpbi9hZGQuYzo0OTkgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzggYnVpbHRpbi9jaGVja291dC5jOjQ3MAorIzogYnVpbHRpbi9jaGVja291dC5jOjY1NCBidWlsdGluL2NsZWFuLmM6OTY3IGJ1aWx0aW4vY29tbWl0LmM6MzY3CisjOiBidWlsdGluL2RpZmYtdHJlZS5jOjEyMCBidWlsdGluL2dyZXAuYzo0OTkgYnVpbHRpbi9tdi5jOjE0NQorIzogYnVpbHRpbi9yZXNldC5jOjI0NiBidWlsdGluL3JtLmM6MjcxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMzIKIG1zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQiCiBtc2dzdHIgItGE0LDQudC70YrRgiDRgSDQuNC90LTQtdC60YHQsCDQtSDQv9C+0LLRgNC10LTQtdC9IgogCi0jOiByZWFkLWNhY2hlLmM6MjEwMQorIzogcmVhZC1jYWNoZS5jOjIxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsb2FkX2NhY2hlX2VudHJpZXMgdGhyZWFkOiAlcyIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg0L3QuNGI0LrQsCDQt9CwINC30LDRgNC10LbQtNCw0L3QtSDQvdCwINC+0LHQtdC60YLQuNGC0LUg0L7RgiDQutC10YjQsDogJXMiCiAKLSM6IHJlYWQtY2FjaGUuYzoyMTE0CisjOiByZWFkLWNhY2hlLmM6MjEzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gam9pbiBsb2FkX2NhY2hlX2VudHJpZXMgdGhyZWFkOiAlcyIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9GH0LDQutCwINC90LjRiNC60LAg0LfQsCDQt9Cw0YDQtdC20LTQsNC90LUg0L3QsCDQvtCx0LXQutGC0LjRgtC1INC+0YIg0LrQtdGI0LA6ICVzIgogCi0jOiByZWFkLWNhY2hlLmM6MjIwMQorIzogcmVhZC1jYWNoZS5jOjIxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluZGV4IGZpbGUgb3BlbiBmYWlsZWQiCittc2dzdHIgIiVzOiDQvdC10YPRgdC/0LXRiNC90L4g0L7RgtCy0LDRgNGP0L3QtSDQvdCwINGE0LDQudC70LAg0L3QsCDQuNC90LTQtdC60YHQsCIKKworIzogcmVhZC1jYWNoZS5jOjIxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBzdGF0IHRoZSBvcGVuIGluZGV4IgorbXNnc3RyICIlczog0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/QvtC70YPRh9C4INC40L3RhNC+0YDQvNCw0YbQuNGPINC30LAg0L7RgtCy0L7RgNC10L3QuNGPINC40L3QtNC10LrRgSDRgdGK0YEg4oCec3RhdOKAnCIKKworIzogcmVhZC1jYWNoZS5jOjIxNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluZGV4IGZpbGUgc21hbGxlciB0aGFuIGV4cGVjdGVkIgorbXNnc3RyICIlczog0YTQsNC50LvRitGCINC90LAg0LjQvdC00LXQutGB0LAg0LUg0L/Qvi3QvNCw0LvRitC6INC+0YIg0L7Rh9Cw0LrQstCw0L3QvtGC0L4iCisKKyM6IHJlYWQtY2FjaGUuYzoyMTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gbWFwIGluZGV4IGZpbGUiCittc2dzdHIgIiVzOiDQvdC10YPRgdC/0LXRiNC90L4g0LfQsNC00LXQu9GP0L3QtSDQvdCwINGB0YrQvtGC0LLQtdGC0YHRgtCy0LDRidCwINC/0LDQvNC10YIg0YfRgNC10Lcg4oCebW1hcOKAnCDQvdCwINC40L3QtNC10LrRgdCwIgorCisjOiByZWFkLWNhY2hlLmM6MjIyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxvYWRfaW5kZXhfZXh0ZW5zaW9ucyB0aHJlYWQ6ICVzIgogbXNnc3RyICIiCiAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg0L3QuNGI0LrQsCDQt9CwINC30LDRgNC10LbQtNCw0L3QtSDQvdCwINGA0LDQt9GI0LjRgNC10L3QuNGP0YLQsCDQvdCwINC40L3QtNC10LrRgdCwOiAlcyIKIAotIzogcmVhZC1jYWNoZS5jOjIyMjgKKyM6IHJlYWQtY2FjaGUuYzoyMjUxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBqb2luIGxvYWRfaW5kZXhfZXh0ZW5zaW9ucyB0aHJlYWQ6ICVzIgogbXNnc3RyICIiCiAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg0L3QuNGI0LrQsCDQt9CwINC30LDRgNC10LbQtNCw0L3QtSDQvdCwINGA0LDQt9GI0LjRgNC10L3QuNGP0YLQsCDQvdCwINC40L3QtNC10LrRgdCwOiAlcyIKIAotIzogcmVhZC1jYWNoZS5jOjI5ODIgc2VxdWVuY2VyLmM6NDcyNyB3cmFwcGVyLmM6NjU4IGJ1aWx0aW4vbWVyZ2UuYzoxMDg2CisjOiByZWFkLWNhY2hlLmM6MjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZnJlc2hlbiBzaGFyZWQgaW5kZXggJyVzJyIKK21zZ3N0ciAi0YHQv9C+0LTQtdC70LXQvdC40Y/RgiDQuNC90LTQtdC60YEg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7QsdC90L7QstC4IgorCisjOiByZWFkLWNhY2hlLmM6MjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJicm9rZW4gaW5kZXgsIGV4cGVjdCAlcyBpbiAlcywgZ290ICVzIgorbXNnc3RyICLQs9GA0LXRiNC60Lgg0LIg0LjQvdC00LXQutGB0LAg4oCUINCyIOKAniUyJHPigJwg0YHQtSDQvtGH0LDQutCy0LAg4oCeJTEkc+KAnCwg0LAg0LHQtSDQv9C+0LvRg9GH0LXQvdC+IOKAniUzJHPigJwiCisKKyM6IHJlYWQtY2FjaGUuYzozMDI2IHN0cmJ1Zi5jOjExNDUgd3JhcHBlci5jOjYyMiBidWlsdGluL21lcmdlLmM6MTExOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsNGC0LLQvtGA0LgiCiAKLSM6IHJlYWQtY2FjaGUuYzozMDU1IHNlcXVlbmNlci5jOjIyMDMgc2VxdWVuY2VyLmM6MzU5MgorIzogcmVhZC1jYWNoZS5jOjMxMjkgc2VxdWVuY2VyLmM6MjQyOSBzZXF1ZW5jZXIuYzo0MDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGF0ICclcyciCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwIOKAnnN0YXTigJwg0LLRitGA0YXRgyDigJ4lc+KAnCIKIAotIzogcmVhZC1jYWNoZS5jOjMwNjgKKyM6IHJlYWQtY2FjaGUuYzozMTQyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIGdpdCBkaXI6ICVzIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LLQvtGA0Lgg0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwINC90LAgZ2l0OiAlcyIKIAotIzogcmVhZC1jYWNoZS5jOjMwODAKKyM6IHJlYWQtY2FjaGUuYzozMTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1bmxpbms6ICVzIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9GC0YDQuNCy0LDQvdC1INC90LAg4oCeJXPigJwiCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjEwCisjOiByZWFkLWNhY2hlLmM6MzE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZml4IHBlcm1pc3Npb24gYml0cyBvbiAnJXMnIgorbXNnc3RyICLQv9GA0LDQstCw0YLQsCDQt9CwINC00L7RgdGC0YrQvyDQtNC+IOKAniVz4oCcINC90LUg0LzQvtCz0LDRgiDQtNCwINCx0YrQtNCw0YIg0L/QvtC/0YDQsNCy0LXQvdC4IgorCisjOiByZWFkLWNhY2hlLmM6MzMyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRyb3AgdG8gc3RhZ2UgIzAiCittc2dzdHIgIiVzOiDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0LXQvNC40L3QtSDQutGK0Lwg0LXRgtCw0L8g4oSWMCIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVucmVjb2duaXplZCBzZXR0aW5nICVzIGZvciBvcHRpb24gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suIElnbm9yaW5nLiIKK21zZ3N0ciAiIgorItCd0LXQv9C+0LfQvdCw0YLQsCDRgdGC0L7QudC90L7RgdGCIOKAniVz4oCcINC30LDCoNC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCecmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2vigJwuICAiCisi0J3QsNGB0YLRgNC+0LnQutCw0YLQsCDRgdC1INC/0YDQtdGB0LrQsNGH0LAuIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzozNQogbXNnaWQgIiIKICJcbiIKICJDb21tYW5kczpcbiIKQEAgLTQwMjksNyArNTU3OSwxNCBAQAogItCc0L7QttC1INC00LAg0L/RgNC+0LzQtdC90Y/RgtC1INC/0L7RgdC70LXQtNC+0LLQsNGC0LXQu9C90L7RgdGC0YLQsCDQvdCwINGA0LXQtNC+0LLQtdGC0LUg4oCUINGC0LUg0YHQtSDQuNC30L/RitC70L3Rj9Cy0LDRglxuIgogItC/0L7RgdC70LXQtNC+0LLQsNGC0LXQu9C90L4g0L7RgtCz0L7RgNC1LdC90LDQtNC+0LvRgy5cbiIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6MzEgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjE3MworIzogcmViYXNlLWludGVyYWN0aXZlLmM6NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmViYXNlICVzIG9udG8gJXMgKCVkIGNvbW1hbmQpIgorbXNnaWRfcGx1cmFsICJSZWJhc2UgJXMgb250byAlcyAoJWQgY29tbWFuZHMpIgorbXNnc3RyWzBdICLQn9GA0LXQsdCw0LfQuNGA0LDQvdC1INC90LAg4oCeJXPigJwg0LLRitGA0YXRgyDigJ4lc+KAnCAoJWQg0LrQvtC80LDQvdC00LgpIgorbXNnc3RyWzFdICLQn9GA0LXQsdCw0LfQuNGA0LDQvdC1INC90LAg4oCeJXPigJwg0LLRitGA0YXRgyDigJ4lc+KAnCAoJWQg0LrQvtC80LDQvdC00LApIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo2NSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjI4CiBtc2dpZCAiIgogIlxuIgogIkRvIG5vdCByZW1vdmUgYW55IGxpbmUuIFVzZSAnZHJvcCcgZXhwbGljaXRseSB0byByZW1vdmUgYSBjb21taXQuXG4iCkBAIC00MDM4LDcgKzU1OTUsNyBAQAogItCd0LUg0LjQt9GC0YDQuNCy0LDQudGC0LUg0YDQtdC00L7QstC1LiAg0J/QvtC00LDQstCw0L3QuNGP0YLQsCDQvNC+0LPQsNGCINC00LAg0YHQtSDQv9GA0LXRgdC60LDRh9Cw0YIg0YEg0LrQvtC80LDQvdC00LDRgtCwICIKICLigJ5kcm9w4oCcLlxuIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzozNCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTc3CisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo2OCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjMyCiBtc2dpZCAiIgogIlxuIgogIklmIHlvdSByZW1vdmUgYSBsaW5lIGhlcmUgVEhBVCBDT01NSVQgV0lMTCBCRSBMT1NULlxuIgpAQCAtNDA0Niw3ICs1NjAzLDcgQEAKICJcbiIKICLQkNC60L4g0LjQt9GC0YDQuNC10YLQtSDRgNC10LQsINGB0YrQvtGC0LLQtdGC0YHRgtCy0LDRidC+0YLQviDQvNGDINC/0L7QtNCw0LLQsNC90LUg0YnQtSDQsdGK0LTQtSDQmNCX0KLQoNCY0KLQni5cbiIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6NDAgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgxNgorIzogcmViYXNlLWludGVyYWN0aXZlLmM6NzQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg3MQogbXNnaWQgIiIKICJcbiIKICJZb3UgYXJlIGVkaXRpbmcgdGhlIHRvZG8gZmlsZSBvZiBhbiBvbmdvaW5nIGludGVyYWN0aXZlIHJlYmFzZS5cbiIKQEAgLTQwNjEsNyArNTYxOCw3IEBACiAiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo0NSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODkzCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo3OSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTQ4CiBtc2dpZCAiIgogIlxuIgogIkhvd2V2ZXIsIGlmIHlvdSByZW1vdmUgZXZlcnl0aGluZywgdGhlIHJlYmFzZSB3aWxsIGJlIGFib3J0ZWQuXG4iCkBAIC00MDcxLDEyNSArNTYyOCwxNTYgQEAKICLQkNC60L4g0LjQt9GC0YDQuNC10YLQtSDQstGB0LjRh9C60L4sINC/0YDQtdCx0LDQt9C40YDQsNC90LXRgtC+INGJ0LUg0LHRitC00LUg0L/RgNC10YPRgdGC0LDQvdC+0LLQtdC90L4uXG4iCiAiXG4iCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjUxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MDAKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjg1IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NTUKIG1zZ2lkICJOb3RlIHRoYXQgZW1wdHkgY29tbWl0cyBhcmUgY29tbWVudGVkIG91dCIKIG1zZ3N0ciAi0J/RgNCw0LfQvdC40YLQtSDQv9C+0LTQsNCy0LDQvdC40Y8g0YHQsCDQutC+0LzQtdC90YLQuNGA0LDQvdC4IgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo2MiByZWJhc2UtaW50ZXJhY3RpdmUuYzo3NSBzZXF1ZW5jZXIuYzoyMTg2Ci0jOiBzZXF1ZW5jZXIuYzo0NTA1IHNlcXVlbmNlci5jOjQ1NjEgc2VxdWVuY2VyLmM6NDgzNgorIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTA1IHJlcmVyZS5jOjQ4NSByZXJlcmUuYzo2OTIgc2VxdWVuY2VyLmM6MzUzNgorIzogc2VxdWVuY2VyLmM6MzU2MiBzZXF1ZW5jZXIuYzo1MjYzIGJ1aWx0aW4vZnNjay5jOjM0NiBidWlsdGluL3JlYmFzZS5jOjI1NAogIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnLiIKLW1zZ3N0ciAi0L7RgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDRh9C10YLQtS4iCittc2dpZCAiY291bGQgbm90IHdyaXRlICclcyciCittc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQv9C40YjQtSIKIAotIzogcmVmcy5jOjE5MgorIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjb3B5ICclcycgdG8gJyVzJy4iCittc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC60L7Qv9C40YDQsCDQutCw0YLQviDigJ4lc+KAnC4iCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV2FybmluZzogc29tZSBjb21taXRzIG1heSBoYXZlIGJlZW4gZHJvcHBlZCBhY2NpZGVudGFsbHkuXG4iCisiRHJvcHBlZCBjb21taXRzIChuZXdlciB0byBvbGRlcik6XG4iCittc2dzdHIgIiIKKyLQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDQvdGP0LrQvtC4INC/0L7QtNCw0LLQsNC90LjRjyDQvNC+0LbQtSDQtNCwINGB0LAg0L/RgNC+0L/Rg9GB0L3QsNGC0LguXG4iCisi0J/RgNC+0L/Rg9GB0L3QsNGC0Lgg0L/QvtC00LDQstCw0L3QuNGPICjQvdC+0LLQuNGC0LUg0YHQsCDQvdCw0Lkt0L7RgtCz0L7RgNC1KTpcbiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUbyBhdm9pZCB0aGlzIG1lc3NhZ2UsIHVzZSBcImRyb3BcIiB0byBleHBsaWNpdGx5IHJlbW92ZSBhIGNvbW1pdC5cbiIKKyJcbiIKKyJVc2UgJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHRvIGNoYW5nZSB0aGUgbGV2ZWwgb2YgIgorIndhcm5pbmdzLlxuIgorIlRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci5cbiIKKyJcbiIKK21zZ3N0ciAiIgorItCX0LAg0LTQsCDQvdC1INC/0L7Qu9GD0YfQsNCy0LDRgtC1INGC0L7QstCwINGB0YrQvtCx0YnQtdC90LjQtSwg0LjQt9GA0LjRh9C90L4g0L/QvtC70LfQstCw0LnRgtC1INC60L7QvNCw0L3QtNCw0YLQsCDigJ5kcm9w4oCcLlxuIgorIlxuIgorItCd0LDRgdGC0YDQvtC50LrQsNGC0LAg4oCecmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2vigJwg0YPQv9GA0LDQstC70Y/QstCwINC90LjQstC+0YLQviDQvdCwINC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LVcbiIKKyLQktGK0LfQvNC+0LbQvdC40YLQtSDRgdGC0L7QudC90L7RgdGC0Lgg0YHQsCDigJ5pZ25vcmXigJwgKNC/0YDQtdC90LXQsdGA0LXQs9Cy0LDQvdC1KSwg4oCed2FybuKAnCAo0YHQsNC80L4gIgorItC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LUpXG4iCisi0LjQu9C4IOKAnmVycm9y4oCcICjRgdGH0LjRgtCw0L3QtSDQt9CwINCz0YDQtdGI0LrQsCkuXG4iCisKKyM6IHJlZnMuYzoyNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBvYmplY3QhIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INGB0L7Rh9C4INC60YrQvCDQv9C+0LfQstC+0LvQtdC9INC+0LHQtdC60YIhIgogCi0jOiByZWZzLmM6NTgzCisjOiByZWZzLmM6NjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIGRhbmdsaW5nIHN5bXJlZiAlcyIKIG1zZ3N0ciAi0LjQs9C90L7RgNC40YDQsNC90LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC7INC90LAg0L7QsdC10LrRgiDQuNC30LLRitC9INC60LvQvtC9IOKAniVz4oCcIgogCi0jOiByZWZzLmM6NTg1IHJlZi1maWx0ZXIuYzoxOTUxCisjOiByZWZzLmM6NjY5IHJlZi1maWx0ZXIuYzoyMDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0LDQvdC1INC90LAg0L/QvtCy0YDQtdC00LXQvdC40Y8g0YPQutCw0LfQsNGC0LXQuyDigJ4lc+KAnCIKIAotIzogcmVmcy5jOjcxMQorIzogcmVmcy5jOjgwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nOiAlcyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQstC+0YDQtdC9INC30LAg0LfQsNC/0LjRgTogJXMiCiAKLSM6IHJlZnMuYzo3MjEgcmVmcy5jOjc3MgorIzogcmVmcy5jOjgxNCByZWZzLmM6ODY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIHJlZiAnJXMnIgogbXNnc3RyICLRg9C60LDQt9Cw0YLQtdC70Y/RgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0L7Rh9C10YLQtSIKIAotIzogcmVmcy5jOjcyNworIzogcmVmcy5jOjgyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWYgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAi0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeJXPigJwg0LLQtdGH0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAiCiAKLSM6IHJlZnMuYzo3MzIKKyM6IHJlZnMuYzo4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBvYmplY3QgSUQgd2hlbiB3cml0aW5nICclcyciCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQvdCwINC+0LHQtdC60YIg0L/RgNC4INC30LDQv9C40YHQstCw0L3QtdGC0L4g0L3QsCDigJ4lc+KAnCIKIAotIzogcmVmcy5jOjc0MCBzZXF1ZW5jZXIuYzozOTQgc2VxdWVuY2VyLmM6MjUxMCBzZXF1ZW5jZXIuYzoyNjM2Ci0jOiBzZXF1ZW5jZXIuYzoyNjUwIHNlcXVlbmNlci5jOjI4Nzcgc2VxdWVuY2VyLmM6NDcyNSBzZXF1ZW5jZXIuYzo0Nzg4Ci0jOiB3cmFwcGVyLmM6NjU2CisjOiByZWZzLmM6ODMzIHNlcXVlbmNlci5jOjQwNSBzZXF1ZW5jZXIuYzoyNzkzIHNlcXVlbmNlci5jOjI5OTcKKyM6IHNlcXVlbmNlci5jOjMwMTEgc2VxdWVuY2VyLmM6MzI2OSBzZXF1ZW5jZXIuYzo1MTc5IHN0cmJ1Zi5jOjExNDIKKyM6IHdyYXBwZXIuYzo2MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHRvICclcyciCiBtc2dzdHIgItCyIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0LjRiNC1IgogCi0jOiByZWZzLmM6NzY3IHNlcXVlbmNlci5jOjQ3MjMgc2VxdWVuY2VyLmM6NDc4MiB3cmFwcGVyLmM6MjI1IHdyYXBwZXIuYzozOTUKLSM6IGJ1aWx0aW4vYW0uYzo3MjgKKyM6IHJlZnMuYzo4NjAgc3RyYnVmLmM6MTE0MCB3cmFwcGVyLmM6MTg4IHdyYXBwZXIuYzozNTggYnVpbHRpbi9hbS5jOjcxNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxMDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LLQvtGA0LXQvSDQt9CwINC30LDQv9C40YEiCiAKLSM6IHJlZnMuYzo3NzQKKyM6IHJlZnMuYzo4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBvYmplY3QgSUQgd2hlbiBkZWxldGluZyAnJXMnIgogbXNnc3RyICLQvdC10L7Rh9Cw0LrQstCw0L0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QsCDQvtCx0LXQutGCINC/0YDQuCDQuNC30YLRgNC40LLQsNC90LXRgtC+INC90LAg4oCeJXPigJwiCiAKLSM6IHJlZnMuYzo5MDUKKyM6IHJlZnMuYzo5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9nIGZvciByZWYgJXMgaGFzIGdhcCBhZnRlciAlcyIKIG1zZ3N0ciAi0LjQvNCwINC/0YDQvtC/0YPRgdC60Lgg0LIg0LbRg9GA0L3QsNC70LAg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQt9CwINGD0LrQsNC30LDRgtC10LvRjyDigJ4lc+KAnCDRgdC70LXQtCDigJ4lc+KAnCIKIAotIzogcmVmcy5jOjkxMQorIzogcmVmcy5jOjEwMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9nIGZvciByZWYgJXMgdW5leHBlY3RlZGx5IGVuZGVkIG9uICVzIgogbXNnc3RyICLQttGD0YDQvdCw0LvRitGCINGBINC/0L7QtNCw0LLQsNC90LjRj9GC0LAg0LfQsCDRg9C60LDQt9Cw0YLQtdC70Y8g4oCeJXPigJwg0YHQstGK0YDRiNCy0LAg0L3QtdC+0YfQsNC60LLQsNC90L4g0YHQu9C10LQg4oCeJXPigJwiCiAKLSM6IHJlZnMuYzo5NjkKKyM6IHJlZnMuYzoxMDYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImxvZyBmb3IgJXMgaXMgZW1wdHkiCiBtc2dzdHIgItC20YPRgNC90LDQu9GK0YIg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQt9CwINGD0LrQsNC30LDRgtC10LvRjyDigJ4lc+KAnCDQtSDQv9GA0LDQt9C10L0iCiAKLSM6IHJlZnMuYzoxMDYxCisjOiByZWZzLmM6MTE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZ1c2luZyB0byB1cGRhdGUgcmVmIHdpdGggYmFkIG5hbWUgJyVzJyIKIG1zZ3N0ciAi0YPQutCw0LfQsNGC0LXQuyDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtCx0L3QvtCy0Lgg0YEg0LPRgNC10YjQvdC+INC40LzQtSDigJ4lc+KAnCIKIAotIzogcmVmcy5jOjExMzcKKyM6IHJlZnMuYzoxMjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVwZGF0ZV9yZWYgZmFpbGVkIGZvciByZWYgJyVzJzogJXMiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQvtCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwINGD0LrQsNC30LDRgtC10LvRjyDigJ4lc+KAnDogJXMiCiAKLSM6IHJlZnMuYzoxOTExCisjOiByZWZzLmM6MjAyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aXBsZSB1cGRhdGVzIGZvciByZWYgJyVzJyBub3QgYWxsb3dlZCIKIG1zZ3N0ciAi0L3QtSDRgdCwINC/0L7Qt9Cy0L7Qu9C10L3QuCDQv9C+0LLQtdGH0LUg0L7RgiDQtdC00L3QsCDQv9GA0L7QvNC10L3QuCDQvdCwINGD0LrQsNC30LDRgtC10LvRjyDigJ4lc+KAnCIKIAotIzogcmVmcy5jOjE5NDMKKyM6IHJlZnMuYzoyMDU1CiBtc2dpZCAicmVmIHVwZGF0ZXMgZm9yYmlkZGVuIGluc2lkZSBxdWFyYW50aW5lIGVudmlyb25tZW50IgogbXNnc3RyICLQvtCx0L3QvtCy0Y/QstCw0L3QuNGP0YLQsCDQvdCwINGD0LrQsNC30LDRgtC10LvQuCDRgdCwINC30LDQsdGA0LDQvdC10L3QuCDQsiDRgdGA0LXQtNC4INC/0L7QtCDQutCw0YDQsNC90YLQuNC90LAiCiAKLSM6IHJlZnMuYzoyMDM5IHJlZnMuYzoyMDY5CisjOiByZWZzLmM6MjE1MSByZWZzLmM6MjE4MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGV4aXN0czsgY2Fubm90IGNyZWF0ZSAnJXMnIgogbXNnc3RyICLigJ4lc+KAnCDRgdGK0YnQtdGB0YLQstGD0LLQsCwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg4oCeJXPigJwiCiAKLSM6IHJlZnMuYzoyMDQ1IHJlZnMuYzoyMDgwCisjOiByZWZzLmM6MjE1NyByZWZzLmM6MjE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcHJvY2VzcyAnJXMnIGFuZCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUiCiBtc2dzdHIgItC90LXQstGK0LfQvNC+0LbQvdC+INC1INC10LTQvdC+0LLRgNC10LzQtdC90L3QviDQtNCwINGB0LUg0L7QsdGA0LDQsdC+0YLQstCw0YIg4oCeJXPigJwg0Lgg4oCeJXPigJwiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyMjgKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSByZWZlcmVuY2UgJXMiCiBtc2dzdHIgItCj0LrQsNC30LDRgtC10LvRj9GCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YIiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyNDIgcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1MzIKLSM6IHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTQyCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxMjQ4IHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTQxCisjOiByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZSAlczogJXMiCiBtc2dzdHIgItCj0LrQsNC30LDRgtC10LvRj9GCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YI6ICVzIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxMjQ1IHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTQ1CisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxMjUxIHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlczogJXMiCiBtc2dzdHIgItCj0LrQsNC30LDRgtC10LvQuNGC0LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNCw0YIg0LjQt9GC0YDQuNGC0Lg6ICVzIgpAQCAtNDE5OSwzNTAgKzU3ODcsNDg2IEBACiBtc2dpZCAiaW52YWxpZCByZWZzcGVjICclcyciCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INGD0LrQsNC30LDRgtC10Ls6IOKAniVz4oCcIgogCi0jOiByZWYtZmlsdGVyLmM6Mzkgd3Qtc3RhdHVzLmM6MTg1NQorIzogcmVmLWZpbHRlci5jOjQyIHd0LXN0YXR1cy5jOjE5MzgKIG1zZ2lkICJnb25lIgogbXNnc3RyICLQuNC30YLRgNC40YIiCiAKLSM6IHJlZi1maWx0ZXIuYzo0MAorIzogcmVmLWZpbHRlci5jOjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImFoZWFkICVkIgogbXNnc3RyICLQvdCw0L/RgNC10LQg0YEgJWQiCiAKLSM6IHJlZi1maWx0ZXIuYzo0MQorIzogcmVmLWZpbHRlci5jOjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJlaGluZCAlZCIKIG1zZ3N0ciAi0L3QsNC30LDQtCDRgSAlZCIKIAotIzogcmVmLWZpbHRlci5jOjQyCisjOiByZWYtZmlsdGVyLmM6NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWhlYWQgJWQsIGJlaGluZCAlZCIKIG1zZ3N0ciAi0L3QsNC/0YDQtdC0INGBICVkLCDQvdCw0LfQsNC0INGBICVkIgogCi0jOiByZWYtZmlsdGVyLmM6MTM4CisjOiByZWYtZmlsdGVyLmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIGZvcm1hdDogJSUoY29sb3I6PGNvbG9yPikiCiBtc2dzdHIgItC+0YfQsNC60LLQsNC9INGE0L7RgNC80LDRgjogJSUoY29sb3I60KbQktCv0KIpIgogCi0jOiByZWYtZmlsdGVyLmM6MTQwCisjOiByZWYtZmlsdGVyLmM6MTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBjb2xvcjogJSUoY29sb3I6JXMpIgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGCINGG0LLRj9GCOiAlJShjb2xvcjolcykiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjIKKyM6IHJlZi1maWx0ZXIuYzoxODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW50ZWdlciB2YWx1ZSBleHBlY3RlZCByZWZuYW1lOmxzdHJpcD0lcyIKIG1zZ3N0ciAi0L7Rh9Cw0LrQstCwINGB0LUg0YbRj9C70L4g0YfQuNGB0LvQviDQt9CwIOKAnnJlZm5hbWU6bHN0cmlwPSVz4oCcIgogCi0jOiByZWYtZmlsdGVyLmM6MTY2CisjOiByZWYtZmlsdGVyLmM6MTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludGVnZXIgdmFsdWUgZXhwZWN0ZWQgcmVmbmFtZTpyc3RyaXA9JXMiCiBtc2dzdHIgItC+0YfQsNC60LLQsCDRgdC1INGG0Y/Qu9C+INGH0LjRgdC70L4g0LfQsCDigJ5yZWZuYW1lOnJzdHJpcD0lc+KAnCIKIAotIzogcmVmLWZpbHRlci5jOjE2OAorIzogcmVmLWZpbHRlci5jOjE5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoJXMpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgiDQsNGA0LPRg9C80LXQvdGCINC30LAg4oCeJSUoJXMp4oCcOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjIyMworIzogcmVmLWZpbHRlci5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlJShvYmplY3R0eXBlKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKIG1zZ3N0ciAiJSUob2JqZWN0dHlwZSkg0L3QtSDQv9GA0LjQtdC80LAg0LDRgNCz0YPQvNC10L3RgtC4IgogCi0jOiByZWYtZmlsdGVyLmM6MjM1CisjOiByZWYtZmlsdGVyLmM6MjcyCiAjLCBjLWZvcm1hdAotbXNnaWQgIiUlKG9iamVjdHNpemUpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgotbXNnc3RyICIlJShvYmplY3RzaXplKSDQvdC1INC/0YDQuNC10LzQsCDQsNGA0LPRg9C80LXQvdGC0LgiCittc2dpZCAidW5yZWNvZ25pemVkICUlKG9iamVjdHNpemUpIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgiDQsNGA0LPRg9C80LXQvdGCINC30LAgJSUob2JqZWN0c2l6ZSk6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MjQ3CisjOiByZWYtZmlsdGVyLmM6MjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlKGRlbHRhYmFzZSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCittc2dzdHIgIiUlKGRlbHRhYmFzZSkg0L3QtSDQv9GA0LjQtdC80LAg0LDRgNCz0YPQvNC10L3RgtC4IgorCisjOiByZWYtZmlsdGVyLmM6MjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiUlKGJvZHkpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgogbXNnc3RyICIlJShib2R5KSDQvdC1INC/0YDQuNC10LzQsCDQsNGA0LPRg9C80LXQvdGC0LgiCiAKLSM6IHJlZi1maWx0ZXIuYzoyNTYKKyM6IHJlZi1maWx0ZXIuYzozMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUoc3ViamVjdCkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKHN1YmplY3QpINC90LUg0L/RgNC40LXQvNCwINCw0YDQs9GD0LzQtdC90YLQuCIKIAotIzogcmVmLWZpbHRlci5jOjI3OAorIzogcmVmLWZpbHRlci5jOjMyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duICUlKHRyYWlsZXJzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgItC90LXQv9C+0LfQvdCw0YIg0LDRgNCz0YPQvNC10L3RgiDigJ4lJSh0cmFpbGVycynigJw6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MzA3CisjOiByZWYtZmlsdGVyLmM6MzUyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBvc2l0aXZlIHZhbHVlIGV4cGVjdGVkIGNvbnRlbnRzOmxpbmVzPSVzIgogbXNnc3RyICLQvtGH0LDQutCy0LAg0YHQtSDQv9C+0LvQvtC20LjRgtC10LvQvdCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCDigJ5jb250ZW50czpsaW5lcz0lc+KAnCIKIAotIzogcmVmLWZpbHRlci5jOjMwOQorIzogcmVmLWZpbHRlci5jOjM1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoY29udGVudHMpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgiDQsNGA0LPRg9C80LXQvdGCINC30LAgJSUoY29udGVudHMpOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjMyNAorIzogcmVmLWZpbHRlci5jOjM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBvYmplY3RuYW1lOnNob3J0PSVzIgogbXNnc3RyICLQvtGH0LDQutCy0LAg0YHQtSDQv9C+0LvQvtC20LjRgtC10LvQvdCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCDigJ5vYmplY3RuYW1lOnNob3J0PSVz4oCcIgogCi0jOiByZWYtZmlsdGVyLmM6MzI4CisjOiByZWYtZmlsdGVyLmM6MzczCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RuYW1lKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgItC90LXQv9C+0LfQvdCw0YIg0LDRgNCz0YPQvNC10L3RgiDQt9CwICUlKG9iamVjdG5hbWUpOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjM1OAorIzogcmVmLWZpbHRlci5jOjQwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGFsaWduOjx3aWR0aD4sPHBvc2l0aW9uPikiCiBtc2dzdHIgItC+0YfQsNC60LLQsNC9INGE0L7RgNC80LDRgjogJSUoYWxpZ2460KjQmNCg0J7Qp9CY0J3QkCzQn9Ce0JfQmNCm0JjQrykiCiAKLSM6IHJlZi1maWx0ZXIuYzozNzAKKyM6IHJlZi1maWx0ZXIuYzo0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHBvc2l0aW9uOiVzIgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0LAg0L/QvtC30LjRhtC40Y86ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6Mzc3CisjOiByZWYtZmlsdGVyLmM6NDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aWR0aDolcyIKIG1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgtCwINGI0LjRgNC+0YfQuNC90LA6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6Mzg2CisjOiByZWYtZmlsdGVyLmM6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShhbGlnbikgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGCINCw0YDQs9GD0LzQtdC90YIg0LfQsCAlJShhbGlnbik6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6Mzk0CisjOiByZWYtZmlsdGVyLmM6NDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBvc2l0aXZlIHdpZHRoIGV4cGVjdGVkIHdpdGggdGhlICUlKGFsaWduKSBhdG9tIgogbXNnc3RyICLQvtGH0LDQutCy0LAg0YHQtSDQv9C+0LvQvtC20LjRgtC10LvQvdCwINGI0LjRgNC+0YfQuNC90LAg0YEg0LvQtdC60YHQtdC80LDRgtCwIOKAniUlKGFsaWduKeKAnCIKIAotIzogcmVmLWZpbHRlci5jOjQxMgorIzogcmVmLWZpbHRlci5jOjQ1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoaWYpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgiDQsNGA0LPRg9C80LXQvdGCINC30LAg4oCeJSUoaWYp4oCcOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjUwOAorIzogcmVmLWZpbHRlci5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90L4g0LjQvNC1INC90LAg0L7QsdC10LrRgjog4oCeJS4qc+KAnCIKIAotIzogcmVmLWZpbHRlci5jOjUzNQorIzogcmVmLWZpbHRlci5jOjU4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGZpZWxkIG5hbWU6ICUuKnMiCiBtc2dzdHIgItC90LXQv9C+0LfQvdCw0YLQviDQuNC80LUg0L3QsCDQvtCx0LXQutGCOiDigJ4lLipz4oCcIgogCi0jOiByZWYtZmlsdGVyLmM6NTM5CisjOiByZWYtZmlsdGVyLmM6NTkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgYSBnaXQgcmVwb3NpdG9yeSwgYnV0IHRoZSBmaWVsZCAnJS4qcycgcmVxdWlyZXMgYWNjZXNzIHRvIG9iamVjdCBkYXRhIgogbXNnc3RyICLQvdC1INC1INGF0YDQsNC90LjQu9C40YnQtSDQvdCwIGdpdCwg0LAg0L/QvtC70LXRgtC+IOKAniUuKnPigJwg0LjQt9C40YHQutCy0LAg0LTQvtGB0YLRitC/INC00LDQvdC90Lgg0L3QsCDQvtCx0LXQutGC0L3QuCIKIAotIzogcmVmLWZpbHRlci5jOjY2MworIzogcmVmLWZpbHRlci5jOjcxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGlmKSBhdG9tIHVzZWQgd2l0aG91dCBhICUlKHRoZW4pIGF0b20iCiBtc2dzdHIgItGE0L7RgNC80LDRgjog0LvQtdC60YHQtdC80LDRgtCwICUlKGlmKSDQtSDQuNC30L/QvtC70LfQstCw0L3QsCDQsdC10Lcg0YHRitC+0YLQstC10YLQvdCw0YLQsCDRnSAlJSh0aGVuKSIKIAotIzogcmVmLWZpbHRlci5jOjcyNgorIzogcmVmLWZpbHRlci5jOjc3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCB3aXRob3V0IGFuICUlKGlmKSBhdG9tIgogbXNnc3RyICLRhNC+0YDQvNCw0YI6INC70LXQutGB0LXQvNCw0YLQsCAlJSh0aGVuKSDQtSDQuNC30L/QvtC70LfQstCw0L3QsCDQsdC10Lcg0YHRitC+0YLQstC10YLQvdCw0YLQsCDRnSAlJShpZikiCiAKLSM6IHJlZi1maWx0ZXIuYzo3MjgKKyM6IHJlZi1maWx0ZXIuYzo3NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiCiBtc2dzdHIgItGE0L7RgNC80LDRgjog0LvQtdC60YHQtdC80LDRgtCwICUlKHRoZW4pINC1INC40LfQv9C+0LvQt9Cy0LDQvdCwINC/0L7QstC10YfQtSDQvtGCINC10LTQuNC9INC/0YrRgiIKIAotIzogcmVmLWZpbHRlci5jOjczMAorIzogcmVmLWZpbHRlci5jOjc4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCBhZnRlciAlJShlbHNlKSIKIG1zZ3N0ciAi0YTQvtGA0LzQsNGCOiDQu9C10LrRgdC10LzQsNGC0LAgJSUodGhlbikg0LUg0LjQt9C/0L7Qu9C30LLQsNC90LAg0YHQu9C10LQgJSUoZWxzZSkiCiAKLSM6IHJlZi1maWx0ZXIuYzo3NTgKKyM6IHJlZi1maWx0ZXIuYzo4MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKIG1zZ3N0ciAi0YTQvtGA0LzQsNGCOiDQu9C10LrRgdC10LzQsNGC0LAgJSUoZWxzZSkg0LUg0LjQt9C/0L7Qu9C30LLQsNC90LAg0LHQtdC3INGB0YrQvtGC0LLQtdGC0L3QsNGC0LAg0Z0gJSUoaWYpIgogCi0jOiByZWYtZmlsdGVyLmM6NzYwCisjOiByZWYtZmlsdGVyLmM6ODExCiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgogbXNnc3RyICLRhNC+0YDQvNCw0YI6INC70LXQutGB0LXQvNCw0YLQsCAlJShlbHNlKSDQtSDQuNC30L/QvtC70LfQstCw0L3QsCDQsdC10Lcg0YHRitC+0YLQstC10YLQvdCw0YLQsCDRnSAlJSh0aGVuKSIKIAotIzogcmVmLWZpbHRlci5jOjc2MgorIzogcmVmLWZpbHRlci5jOjgxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKIG1zZ3N0ciAi0YTQvtGA0LzQsNGCOiDQu9C10LrRgdC10LzQsNGC0LAgJSUoZWxzZSkg0LUg0LjQt9C/0L7Qu9C30LLQsNC90LAg0L/QvtCy0LXRh9C1INC+0YIg0LXQtNC40L0g0L/RitGCIgogCi0jOiByZWYtZmlsdGVyLmM6Nzc3CisjOiByZWYtZmlsdGVyLmM6ODI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZW5kKSBhdG9tIHVzZWQgd2l0aG91dCBjb3JyZXNwb25kaW5nIGF0b20iCiBtc2dzdHIgItGE0L7RgNC80LDRgjog0LvQtdC60YHQtdC80LDRgtCwICUlKGVuZCkg0LUg0LjQt9C/0L7Qu9C30LLQsNC90LAg0LHQtdC3INGB0YrQvtGC0LLQtdGC0L3QsNGC0LAg0Z0iCiAKLSM6IHJlZi1maWx0ZXIuYzo4MzQKKyM6IHJlZi1maWx0ZXIuYzo4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGZvcm1hdCBzdHJpbmcgJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INGE0L7RgNC80LDRgtC40YDQsNGJINC90LjQtyDigJ4lc+KAnCIKIAotIzogcmVmLWZpbHRlci5jOjE0MjQKKyM6IHJlZi1maWx0ZXIuYzoxNDg4CiAjLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKLW1zZ3N0ciAiKNC40LfQstGK0L0g0LrQu9C+0L0sINC/0YDQtdCx0LDQt9C40YDQsNC90LUg0L3QsCDigJ4lc+KAnCkiCittc2dpZCAibm8gYnJhbmNoLCByZWJhc2luZyAlcyIKK21zZ3N0ciAi0LjQt9Cy0YrQvSDQutC70L7QvSwg0L/RgNC10LHQsNC30LjRgNCw0L3QtSDQvdCwIOKAniVz4oCcIgogCi0jOiByZWYtZmlsdGVyLmM6MTQyNworIzogcmVmLWZpbHRlci5jOjE0OTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgZGV0YWNoZWQgSEVBRCAlcykiCi1tc2dzdHIgIijQuNC30LLRitC9INC60LvQvtC9LCDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1INC90LAg0L3QtdGB0LLRitGA0LfQsNC9INGD0LrQsNC30LDRgtC10Lsg4oCeSEVBROKAnCDQv9GA0Lgg4oCeJXPigJwpIgorbXNnaWQgIm5vIGJyYW5jaCwgcmViYXNpbmcgZGV0YWNoZWQgSEVBRCAlcyIKK21zZ3N0ciAi0LjQt9Cy0YrQvSDQutC70L7QvSwg0L/RgNC10LHQsNC30LjRgNCw0L3QtSDQvdCwINC90LXRgdCy0YrRgNC30LDQvSDRg9C60LDQt9Cw0YLQtdC7IOKAnkhFQUTigJwg0L/RgNC4IOKAniVz4oCcIgogCi0jOiByZWYtZmlsdGVyLmM6MTQzMAorIzogcmVmLWZpbHRlci5jOjE0OTQKICMsIGMtZm9ybWF0Ci1tc2dpZCAiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIgotbXNnc3RyICIo0LjQt9Cy0YrQvSDQutC70L7QvSwg0LTQstC+0LjRh9C90L4g0YLRitGA0YHQtdC90LUg0L7RgiDigJ4lc+KAnCkiCittc2dpZCAibm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcyIKK21zZ3N0ciAi0LjQt9Cy0YrQvSDQutC70L7QvSwg0LTQstC+0LjRh9C90L4g0YLRitGA0YHQtdC90LUg0L7RgiDigJ4lc+KAnCIKIAotIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMgIkhFQUQKLSMuIGRldGFjaGVkIGF0ICIgaW4gd3Qtc3RhdHVzLmMKLSMuCi0jOiByZWYtZmlsdGVyLmM6MTQzOAotIywgYy1mb3JtYXQKLW1zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCi1tc2dzdHIgIijQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC90LUg0LUg0YHQstGK0YDQt9Cw0L0g0Lgg0LUg0L/RgNC4IOKAniVz4oCcKSIKKyM6IHJlZi1maWx0ZXIuYzoxNTA0Cittc2dpZCAibm8gYnJhbmNoIgorbXNnc3RyICLQuNC30LLRitC9INC60LvQvtC9IgogCi0jLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcyAiSEVBRAotIy4gZGV0YWNoZWQgZnJvbSAiIGluIHd0LXN0YXR1cy5jCi0jLgotIzogcmVmLWZpbHRlci5jOjE0NDUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiCi1tc2dzdHIgItCj0LrQsNC30LDRgtC10LvRj9GCIOKAnkhFQUTigJwg0L3QtSDQtSDRgdCy0YrRgNC30LDQvSDQuCDQtSDQvtGC0LTQtdC70LXMgNC9INC+0YIg4oCeJXPigJwiCi0KLSM6IHJlZi1maWx0ZXIuYzoxNDQ5Ci1tc2dpZCAiKG5vIGJyYW5jaCkiCi1tc2dzdHIgIijQuNC30LLRitC9INC60LvQvtC9KSIKLQotIzogcmVmLWZpbHRlci5jOjE0ODMgcmVmLWZpbHRlci5jOjE2MzgKKyM6IHJlZi1maWx0ZXIuYzoxNTQwIHJlZi1maWx0ZXIuYzoxNzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3Npbmcgb2JqZWN0ICVzIGZvciAlcyIKIG1zZ3N0ciAi0L7QsdC10LrRgtGK0YIg4oCeJXPigJwg0LvQuNC/0YHQstCwINC30LAg4oCeJXPigJwiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDkxCisjOiByZWYtZmlsdGVyLmM6MTU1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXJzZV9vYmplY3RfYnVmZmVyIGZhaWxlZCBvbiAlcyBmb3IgJXMiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQsNC90LDQu9C40LfQuNGA0LDQvdC1INGH0YDQtdC3IOKAnnBhcnNlX29iamVjdF9idWZmZXLigJwg0L3QsCDigJ4lc+KAnCDQt9CwIOKAniVz4oCcIgogCi0jOiByZWYtZmlsdGVyLmM6MTg1NworIzogcmVmLWZpbHRlci5jOjIwMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBhdCAnJXMnIgogbXNnc3RyICLQvtCx0LXQutGCINGB0YrRgSDRgdCz0YDQtdGI0LXQvSDRhNC+0YDQvNCw0YIg0L/RgNC4IOKAniVz4oCcIgogCi0jOiByZWYtZmlsdGVyLmM6MTk0NgorIzogcmVmLWZpbHRlci5jOjIwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgcmVmIHdpdGggYnJva2VuIG5hbWUgJXMiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0LDQvdC1INC90LAg0YPQutCw0LfQsNGC0LXQu9GPINGBINCz0YDQtdGI0L3QviDQuNC80LUg4oCeJXPigJwiCiAKLSM6IHJlZi1maWx0ZXIuYzoyMjMyCisjOiByZWYtZmlsdGVyLmM6MjM4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0LLRitCyINGE0L7RgNC80LDMgNGC0LA6INC70LjQv9GB0LLQsCDQu9C10LrRgdC10LzQsNGC0LAgJSUoZW5kKSIKIAotIzogcmVmLWZpbHRlci5jOjIzMzgKKyM6IHJlZi1maWx0ZXIuYzoyNDg5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbWVyZ2VkIgorbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4lc+KAnCDQuCDigJ4tLW1lcmdlZOKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKKworIzogcmVmLWZpbHRlci5jOjI0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1uby1tZXJnZWQiCittc2dzdHIgItC+0L/RhtC40LjRgtC1IOKAniVz4oCcINC4IOKAni0tbm8tbWVyZ2Vk4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgorCisjOiByZWYtZmlsdGVyLmM6MjUwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdC+INC40LzQtSDQvdCwINC+0LHQtdC60YIg4oCeJXPigJwiCiAKLSM6IHJlbW90ZS5jOjYwNworIzogcmVmLWZpbHRlci5jOjI1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgbXVzdCBwb2ludCB0byBhIGNvbW1pdCIKK21zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeJXPigJwg0L3QtSDRgdC+0YfQuCDQutGK0Lwg0L/QvtC00LDQstCw0L3QtSIKKworIzogcmVtb3RlLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbmZpZyByZW1vdGUgc2hvcnRoYW5kIGNhbm5vdCBiZWdpbiB3aXRoICcvJzogJXMiCittc2dzdHIgIiIKKyLRgdGK0LrRgNCw0YnQtdC90LjQtdGC0L4g0LfQsCDQvtGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUg0L3QtSDQvNC+0LbQtSDQt9CwINC30LDQv9C+0YfQstCwINGB0YrRgSDQt9C90LDQutCwIOKAni/igJw6ICVzIgorCisjOiByZW1vdGUuYzo0MTMKK21zZ2lkICJtb3JlIHRoYW4gb25lIHJlY2VpdmVwYWNrIGdpdmVuLCB1c2luZyB0aGUgZmlyc3QiCittc2dzdHIgItC30LDQtNCw0LTQtdC9INC1INC/0L7QstC10YfQtSDQvtGCINC10LTQuNC9INC/0LDQutC10YIg0LfQsCDQv9C+0LvRg9GH0LDQstCw0L3QtSwg0YnQtSDRgdC1INC/0L7Qu9C30LLQsCDQv9GK0YDQstC40Y/RgiIKKworIzogcmVtb3RlLmM6NDIxCittc2dpZCAibW9yZSB0aGFuIG9uZSB1cGxvYWRwYWNrIGdpdmVuLCB1c2luZyB0aGUgZmlyc3QiCittc2dzdHIgItC30LDQtNCw0LTQtdC9INC1INC/0L7QstC10YfQtSDQvtGCINC10LTQuNC9INC/0LDQutC10YIg0LfQsCDQuNC30L/RgNCw0YnQsNC90LUsINGJ0LUg0YHQtSDQv9C+0LvQt9Cy0LAg0L/RitGA0LLQuNGP0YIiCisKKyM6IHJlbW90ZS5jOjYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZmV0Y2ggYm90aCAlcyBhbmQgJXMgdG8gJXMiCiBtc2dzdHIgItCd0LXQstGK0LfQvNC+0LbQvdC+INC1INC00LAg0YHQtSDQtNC+0YHRgtCw0LLRj9GCINC10LTQvdC+0LLRgNC10LzQtdC90L3QviDQuCDigJ4lc+KAnCwg0Lgg4oCeJXPigJwg0LrRitC8IOKAniVz4oCcIgogCi0jOiByZW1vdGUuYzo2MTEKKyM6IHJlbW90ZS5jOjYxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB1c3VhbGx5IHRyYWNrcyAlcywgbm90ICVzIgogbXNnc3RyICLigJ4lc+KAnCDQvtCx0LjQutC90L7QstC10L3QviDRgdC70LXQtNC4IOKAniVz4oCcLCDQsCDQvdC1IOKAniVz4oCcIgogCi0jOiByZW1vdGUuYzo2MTUKKyM6IHJlbW90ZS5jOjYxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB0cmFja3MgYm90aCAlcyBhbmQgJXMiCiBtc2dzdHIgIuKAniVz4oCcINGB0LvQtdC00Lgg0LrQsNC60YLQviDigJ4lc+KAnCwg0YLQsNC60LAg0Lgg4oCeJXPigJwiCiAKLSM6IHJlbW90ZS5jOjYyMwotbXNnaWQgIkludGVybmFsIGVycm9yIgotbXNnc3RyICLQktGK0YLRgNC10YjQvdCwINCz0YDQtdGI0LrQsCIKKyM6IHJlbW90ZS5jOjY4NworIywgYy1mb3JtYXQKK21zZ2lkICJrZXkgJyVzJyBvZiBwYXR0ZXJuIGhhZCBubyAnKiciCittc2dzdHIgItC60LvRjtGHIOKAniVz4oCcINC90LAg0YjQsNCx0LvQvtC90LAg0L3QtSDRgdGK0LTRitGA0LbQsCDigJ4q4oCcIgogCi0jOiByZW1vdGUuYzoxNTY5IHJlbW90ZS5jOjE2NzAKKyM6IHJlbW90ZS5jOjY5NworIywgYy1mb3JtYXQKK21zZ2lkICJ2YWx1ZSAnJXMnIG9mIHBhdHRlcm4gaGFzIG5vICcqJyIKK21zZ3N0ciAi0YHRgtC+0LnQvdC+0YHRgiDigJ4lc+KAnCDQvdCwINGI0LDQsdC70L7QvdCwINC90LUg0YHRitC00YrRgNC20LAg4oCeKuKAnCIKKworIzogcmVtb3RlLmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICJzcmMgcmVmc3BlYyAlcyBkb2VzIG5vdCBtYXRjaCBhbnkiCittc2dzdHIgItGD0LrQsNC30LDRgtC10LvRj9GCINC90LAg0LLQtdGA0YHQuNGPLdC40LfRgtC+0YfQvdC40Log4oCeJXPigJwg0L3QtSDRgdGK0LLQv9Cw0LTQsCDRgSDQvdC40LrQvtC5INC+0LHQtdC60YIiCisKKyM6IHJlbW90ZS5jOjEwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3JjIHJlZnNwZWMgJXMgbWF0Y2hlcyBtb3JlIHRoYW4gb25lIgorbXNnc3RyICLRg9C60LDQt9Cw0YLQtdC70Y/RgiDQvdCwINCy0LXRgNGB0LjRjy3QuNC30YLQvtGH0L3QuNC6IOKAniVz4oCcINGB0YrQstC/0LDQtNCwINGBINC/0L7QstC10YfQtSDQvtGCINC10LTQuNC9INC+0LHQtdC60YIiCisKKyMuIFRSQU5TTEFUT1JTOiAibWF0Y2hlcyAnJXMnJSIgaXMgdGhlIDxkc3Q+IHBhcnQgb2YgImdpdCBwdXNoCisjLiA8cmVtb3RlPiA8c3JjPjo8ZHN0PiIgcHVzaCwgYW5kICJiZWluZyBwdXNoZWQgKCclcycpIiBpcworIy4gdGhlIDxzcmM+LgorIy4KKyM6IHJlbW90ZS5jOjEwMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZXN0aW5hdGlvbiB5b3UgcHJvdmlkZWQgaXMgbm90IGEgZnVsbCByZWZuYW1lIChpLmUuLFxuIgorInN0YXJ0aW5nIHdpdGggXCJyZWZzL1wiKS4gV2UgdHJpZWQgdG8gZ3Vlc3Mgd2hhdCB5b3UgbWVhbnQgYnk6XG4iCisiXG4iCisiLSBMb29raW5nIGZvciBhIHJlZiB0aGF0IG1hdGNoZXMgJyVzJyBvbiB0aGUgcmVtb3RlIHNpZGUuXG4iCisiLSBDaGVja2luZyBpZiB0aGUgPHNyYz4gYmVpbmcgcHVzaGVkICgnJXMnKVxuIgorIiAgaXMgYSByZWYgaW4gXCJyZWZzL3toZWFkcyx0YWdzfS9cIi4gSWYgc28gd2UgYWRkIGEgY29ycmVzcG9uZGluZ1xuIgorIiAgcmVmcy97aGVhZHMsdGFnc30vIHByZWZpeCBvbiB0aGUgcmVtb3RlIHNpZGUuXG4iCisiXG4iCisiTmVpdGhlciB3b3JrZWQsIHNvIHdlIGdhdmUgdXAuIFlvdSBtdXN0IGZ1bGx5IHF1YWxpZnkgdGhlIHJlZi4iCittc2dzdHIgIiIKKyLQl9Cw0LTQsNC00LXQvdCw0YLQsCDRhtC10Lsg0L3QtSDQtSDQv9GK0LvQvdC+INC40LzQtSDQvdCwINGD0LrQsNC30LDRgtC10LsgKNC90LUg0LfQsNC/0L7Rh9Cy0LAg0YEg4oCecmVmcy/igJwpLlxuIgorItCR0Y/RhdCwINC/0YDQvtCx0LLQsNC90Lgg0YHQu9C10LTQvdC40YLQtSDQstCw0YDQuNCw0L3RgtC4OlxuIgorIlxuIgorIiAg4oGDINGD0LrQsNC30LDRgtC10Lsg0L7RgiDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1LCDQutC+0LnRgtC+INC00LAg0YHRitC+0YLQstC10YLRgdGC0LLQsCDQvdCwIOKAniVz4oCcO1xuIgorIiAg4oGDINC00LDQu9C4INC40LfRgtC70LDRgdC60LLQsNC90LjRj9GCINCY0JfQotCe0KfQndCY0JogKOKAniVz4oCcKSDQtSDRg9C60LDQt9Cw0YLQtdC7INCyIOKAnnJlZnMve2hlYWRzLHRhZ3N9L+KAnC5cbiIKKyIgICAg0J/RgNC4INGB0YrQstC/0LDQtNC10L3QuNC1INGB0LUg0LTQvtCx0LDQstGPINGB0YrQvtGC0LLQtdGC0LXQvSDQv9GA0LXRhNC40LrRgSDigJ5yZWZzL3toZWFkcyx0YWdzfS/igJwg0LfQsFxuIgorIiAgICDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1LlxuIgorIlxuIgorItCd0LjQutC+0Lkg0L7RgiDQstCw0YDQuNCw0L3RgtC40YLQtSDQvdC1INGB0YDQsNCx0L7RgtC4LiAg0KLRgNGP0LHQstCwINGB0LDQvNC4INC00LAg0YPQutCw0LbQtdGC0LUg0L/RitC70L3QvtGC0L4g0LjQvNC1INC90LBcbiIKKyLRg9C60LDQt9Cw0YLQtdC70Y8uIgorCisjOiByZW1vdGUuYzoxMDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIGNvbW1pdCBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL2hlYWRzLyVzJz8iCittc2dzdHIgIiIKKyLQmNCX0KLQntCn0J3QmNCa0YrRgiDQtSDQvtCx0LXQutGCLdC/0L7QtNCw0LLQsNC90LUuICDQndC1INGG0LXQu9C40YLQtSDQu9C4INCy0YHRitGJ0L3QvtGB0YIg0LTQsCDRgdGK0LfQtNCw0LTQtdGC0LUg0L3QvtCyINC60LvQvtC9ICIKKyLQutCw0YLQvlxuIgorItC40LfRgtC70LDRgdC60LDRgtC1INC60YrQvCDigJ4lczpyZWZzL2hlYWRzLyVz4oCcPyIKKworIzogcmVtb3RlLmM6MTA0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSB0YWcgb2JqZWN0LlxuIgorIkRpZCB5b3UgbWVhbiB0byBjcmVhdGUgYSBuZXcgdGFnIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy90YWdzLyVzJz8iCittc2dzdHIgIiIKKyLQmNCX0KLQntCn0J3QmNCa0YrRgiDQtSDQvtCx0LXQutGCLdC10YLQuNC60LXRgi4gINCd0LUg0YbQtdC70LjRgtC1INC70Lgg0LLRgdGK0YnQvdC+0YHRgiDQtNCwINGB0YrQt9C00LDQtNC10YLQtSDQvdC+0LIg0LrQu9C+0L0gIgorItC60LDRgtC+XG4iCisi0LjQt9GC0LvQsNGB0LrQsNGC0LUg0LrRitC8IOKAniVzOnJlZnMvdGFncy8lc+KAnD8iCisKKyM6IHJlbW90ZS5jOjEwNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSA8c3JjPiBwYXJ0IG9mIHRoZSByZWZzcGVjIGlzIGEgdHJlZSBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIHRhZyBhIG5ldyB0cmVlIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy90YWdzLyVzJz8iCittc2dzdHIgIiIKKyLQmNCX0KLQntCn0J3QmNCa0YrRgiDQtSDQvtCx0LXQutGCLdC00YrRgNCy0L4uICDQndC1INGG0LXQu9C40YLQtSDQu9C4INCy0YHRitGJ0L3QvtGB0YIg0LTQsCDRgdGK0LfQtNCw0LTQtdGC0LUg0L3QvtCyINC60LvQvtC9INC60LDRgtC+XG4iCisi0LjQt9GC0LvQsNGB0LrQsNGC0LUg0LrRitC8IOKAniVzOnJlZnMvdGFncy8lc+KAnD8iCisKKyM6IHJlbW90ZS5jOjEwNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSA8c3JjPiBwYXJ0IG9mIHRoZSByZWZzcGVjIGlzIGEgYmxvYiBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIHRhZyBhIG5ldyBibG9iIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy90YWdzLyVzJz8iCittc2dzdHIgIiIKKyLQmNCX0KLQntCn0J3QmNCa0YrRgiDQtSDQvtCx0LXQutGCLUJMT0IuICDQndC1INGG0LXQu9C40YLQtSDQu9C4INCy0YHRitGJ0L3QvtGB0YIg0LTQsCDRgdGK0LfQtNCw0LTQtdGC0LUg0L3QvtCyINC60LvQvtC9INC60LDRgtC+XG4iCisi0LjQt9GC0LvQsNGB0LrQsNGC0LUg0LrRitC8IOKAniVzOnJlZnMvdGFncy8lc+KAnD8iCisKKyM6IHJlbW90ZS5jOjEwOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2Fubm90IGJlIHJlc29sdmVkIHRvIGJyYW5jaCIKK21zZ3N0ciAi0L3QtSDQtSDQvtGC0LrRgNC40YIg0LrQu9C+0L0g0YHRitC+0YLQstC10YLRgdGC0LLQsNGJINC90LAg4oCeJXPigJwiCisKKyM6IHJlbW90ZS5jOjExMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGRlbGV0ZSAnJXMnOiByZW1vdGUgcmVmIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30YLRgNC40LU6INC+0YLQtNCw0LvQtdGH0LXQvdC40Y8g0YPQutCw0LfQsNGC0LXQuyDQvdC1INGB0YrRidC10YHRgtCy0YPQstCwIgorCisjOiByZW1vdGUuYzoxMTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImRzdCByZWZzcGVjICVzIG1hdGNoZXMgbW9yZSB0aGFuIG9uZSIKK21zZ3N0ciAi0YPQutCw0LfQsNGC0LXQu9GP0YIg0L3QsCDQstC10YDRgdC40Y8t0YbQtdC7IOKAniVz4oCcINGB0YrQstC/0LDQtNCwINGBINC/0L7QstC10YfQtSDQvtGCINC10LTQuNC9INC+0LHQtdC60YIiCisKKyM6IHJlbW90ZS5jOjExMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHN0IHJlZiAlcyByZWNlaXZlcyBmcm9tIG1vcmUgdGhhbiBvbmUgc3JjIgorbXNnc3RyICIiCisi0YPQutCw0LfQsNGC0LXQu9GP0YIg0L3QsCDQstC10YDRgdC40Y8t0YbQtdC7IOKAniVz4oCcINGB0YrQvtGC0LLQtdGC0YHRgtCy0LAg0Lgg0YnQtSDQv9C+0LvRg9GH0LDQstCwINC+0YIg0L/QvtCy0LXRh9C1INC+0YIg0LXQtNC40L0gIgorItC40LfRgtC+0YfQvdC40LoiCisKKyM6IHJlbW90ZS5jOjE2MjcgcmVtb3RlLmM6MTcyOAogbXNnaWQgIkhFQUQgZG9lcyBub3QgcG9pbnQgdG8gYSBicmFuY2giCiBtc2dzdHIgItCj0LrQsNC30LDRgtC10LvRj9GCIOKAnkhFQUTigJwg0L3QtSDRgdC+0YfQuCDQutGK0Lwg0LrQu9C+0L0iCiAKLSM6IHJlbW90ZS5jOjE1NzgKKyM6IHJlbW90ZS5jOjE2MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2g6ICclcyciCiBtc2dzdHIgItC90Y/QvNCwINC60LvQvtC9INC90LAg0LjQvNC1IOKAniVz4oCcIgogCi0jOiByZW1vdGUuYzoxNTgxCisjOiByZW1vdGUuYzoxNjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHVwc3RyZWFtIGNvbmZpZ3VyZWQgZm9yIGJyYW5jaCAnJXMnIgogbXNnc3RyICLQvdC1INC1INC30LDQtNCw0LTQtdC9INC60LvQvtC9LdC40LfRgtC+0YfQvdC40Log0LfQsCDQutC70L7QvdCwIOKAniVz4oCcIgogCi0jOiByZW1vdGUuYzoxNTg3CisjOiByZW1vdGUuYzoxNjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICLQutC70L7QvdGK0YIt0LjQt9GC0L7Rh9C90LjQuiDigJ4lc+KAnCDQvdC1INC1INGB0YrRhdGA0LDQvdC10L0g0LrQsNGC0L4g0YHQu9C10LTRj9GJINC60LvQvtC9IgogCi0jOiByZW1vdGUuYzoxNjAyCisjOiByZW1vdGUuYzoxNjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInB1c2ggZGVzdGluYXRpb24gJyVzJyBvbiByZW1vdGUgJyVzJyBoYXMgbm8gbG9jYWwgdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICIiCiAi0LvQuNC/0YHQstCwINC70L7QutCw0LvQtdC9INGB0LvQtdC00Y/RiSDQutC70L7QvSDQt9CwINC80LXRgdGC0L7Qv9C+0LvQvtC20LXQvdC40LXRgtC+INC30LAg0LjQt9GC0LvQsNGB0LrQstCw0L3QtSDigJ4lc+KAnCDQsiAiCiAi0YXRgNCw0L3QuNC70LjRidC10YLQviDigJ4lc+KAnCIKIAotIzogcmVtb3RlLmM6MTYxNAorIzogcmVtb3RlLmM6MTY3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBoYXMgbm8gcmVtb3RlIGZvciBwdXNoaW5nIgogbXNnc3RyICLQvdGP0LzQsCDQuNC90YTQvtGA0LzQsNGG0LjRjyDQutC70L7QvdGK0YIg4oCeJXPigJwg0LTQsCDRgdC70LXQtNC4INC90Y/QutC+0Lkg0LTRgNGD0LMiCiAKLSM6IHJlbW90ZS5jOjE2MjQKKyM6IHJlbW90ZS5jOjE2ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCByZWZzcGVjcyBmb3IgJyVzJyBkbyBub3QgaW5jbHVkZSAnJXMnIgogbXNnc3RyICLRg9C60LDQt9Cw0YLQtdC70Y/RgiDQt9CwINC40LfRgtC70LDRgdC60LLQsNC90LUg0L3QsCDigJ4lc+KAnCDQvdC1INCy0LrQu9GO0YfQstCwIOKAniVz4oCcIgogCi0jOiByZW1vdGUuYzoxNjM3CisjOiByZW1vdGUuYzoxNjk1CiBtc2dpZCAicHVzaCBoYXMgbm8gZGVzdGluYXRpb24gKHB1c2guZGVmYXVsdCBpcyAnbm90aGluZycpIgogbXNnc3RyICLRg9C60LDQt9Cw0YLQtdC70Y/RgiDQt9CwINC40LfRgtC70LDRgdC60LLQsNC90LUg0L3QtSDQstC60LvRjtGH0LLQsCDRhtC10LsgKOKAnnB1c2guZGVmYXVsdOKAnCDQtSDigJ5ub3RoaW5n4oCcKSIKIAotIzogcmVtb3RlLmM6MTY1OQorIzogcmVtb3RlLmM6MTcxNwogbXNnaWQgImNhbm5vdCByZXNvbHZlICdzaW1wbGUnIHB1c2ggdG8gYSBzaW5nbGUgZGVzdGluYXRpb24iCiBtc2dzdHIgItC/0YDQvtGB0YLQvtGC0L4gKHNpbXBsZSkg0LjQt9GC0LvQsNGB0LrQstCw0L3QtSDQvdC1INGB0YrQvtGC0LLQtdGC0YHRgtCy0LAg0L3QsCDQtdC00L3QsCDRhtC10LsiCiAKLSM6IHJlbW90ZS5jOjE5MzUKKyM6IHJlbW90ZS5jOjE4NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCByZW1vdGUgcmVmICVzIgorbXNnc3RyICLQvtGC0LTQsNC70LXRh9C10L3QuNGP0YIg0YPQutCw0LfQsNGC0LXQuyDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC60YDQuNGCIgorCisjOiByZW1vdGUuYzoxODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiogSWdub3JpbmcgZnVubnkgcmVmICclcycgbG9jYWxseSIKK21zZ3N0ciAi4oCiINC/0YDQtdGB0LrQsNGH0LDQvdC1INC90LAg0L3QtdC+0YfQsNC60LLQsNC90LjRjyDQu9C+0LrQsNC70LXQvSDRg9C60LDQt9Cw0YLQtdC7IOKAniVz4oCcIgorCisjOiByZW1vdGUuYzoyMDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJhc2VkIG9uICclcycsIGJ1dCB0aGUgdXBzdHJlYW0gaXMgZ29uZS5cbiIKIG1zZ3N0ciAi0KLQvtC30Lgg0LrQu9C+0L0g0YHQu9C10LTQuCDigJ4lc+KAnCwg0L3QviDRgdC70LXQtNC10L3QuNGP0YIg0LrQu9C+0L0g0LUg0LjQt9GC0YDQuNGCLlxuIgogCi0jOiByZW1vdGUuYzoxOTM5CisjOiByZW1vdGUuYzoyMDIzCiBtc2dpZCAiICAodXNlIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIgdG8gZml4dXApXG4iCiBtc2dzdHIgIiAgKNC30LAg0LTQsCDQutC+0YDQuNCz0LjRgNCw0YLQtSDRgtC+0LLQsCwg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW3igJwpXG4iCiAKLSM6IHJlbW90ZS5jOjE5NDIKKyM6IHJlbW90ZS5jOjIwMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgdXAgdG8gZGF0ZSB3aXRoICclcycuXG4iCiBtc2dzdHIgItCa0LvQvtC90YrRgiDQtSDQsNC60YLRg9Cw0LvQuNC30LjRgNCw0L0g0LrRitC8IOKAniVz4oCcLlxuIgogCi0jOiByZW1vdGUuYzoxOTQ2CisjOiByZW1vdGUuYzoyMDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGFuZCAnJXMnIHJlZmVyIHRvIGRpZmZlcmVudCBjb21taXRzLlxuIgogbXNnc3RyICLQmtC70L7QvdGK0YIg0LLQuCDQuCDigJ4lc+KAnCDRgdC+0YfQsNGCINC60YrQvCDRgNCw0LfQu9C40YfQvdC4INC/0L7QtNCw0LLQsNC90LjRjy5cbiIKIAotIzogcmVtb3RlLmM6MTk0OQorIzogcmVtb3RlLmM6MjAzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCIlc1wiIGZvciBkZXRhaWxzKVxuIgogbXNnc3RyICIgICjQt9CwINC/0L7QstC10YfQtSDQuNC90YTQvtGA0LzQsNGG0LjRjyDQv9C+0LvQt9Cy0LDQudGC0LUg4oCeJXPigJwpXG4iCiAKLSM6IHJlbW90ZS5jOjE5NTMKKyM6IHJlbW90ZS5jOjIwMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKIG1zZ3N0clswXSAi0JrQu9C+0L3RitGCINCy0Lgg0LUg0YEgJTIkZCDQv9C+0LTQsNCy0LDQvdC1INC/0YDQtdC0IOKAniUxJHPigJwuXG4iCiBtc2dzdHJbMV0gItCa0LvQvtC90YrRgiDQstC4INC1INGBICUyJGQg0L/QvtC00LDQstCw0L3QuNGPINC/0YDQtdC0IOKAniUxJHPigJwuXG4iCiAKLSM6IHJlbW90ZS5jOjE5NTkKKyM6IHJlbW90ZS5jOjIwNDMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIgogbXNnc3RyICIgICjQv9GD0LHQu9C40LrRg9Cy0LDQudGC0LUg0LvQvtC60LDQu9C90LjRgtC1INGB0Lgg0L/RgNC+0LzQtdC90Lgg0YfRgNC10Lcg4oCeZ2l0IHB1c2jigJwpXG4iCiAKLSM6IHJlbW90ZS5jOjE5NjIKKyM6IHJlbW90ZS5jOjIwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCkBAIC00NTUwLDExICs2Mjc0LDExIEBACiBtc2dzdHJbMF0gItCa0LvQvtC90YrRgiDQstC4INC1INGBICUyJGQg0L/QvtC00LDQstCw0L3QtSDQt9Cw0LQg4oCeJTEkc+KAnCDQuCDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQtdCy0YrRgNGC0Y/QvS5cbiIKIG1zZ3N0clsxXSAi0JrQu9C+0L3RitGCINCy0Lgg0LUg0YEgJTIkZCDQv9C+0LTQsNCy0LDQvdC40Y8g0LfQsNC0IOKAniUxJHPigJwg0Lgg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0LXQstGK0YDRgtGP0L0uXG4iCiAKLSM6IHJlbW90ZS5jOjE5NzAKKyM6IHJlbW90ZS5jOjIwNTQKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIHVwZGF0ZSB5b3VyIGxvY2FsIGJyYW5jaClcbiIKIG1zZ3N0ciAiICAo0L7QsdC90L7QstC10YLQtSDQu9C+0LrQsNC70L3QuNGPINGB0Lgg0LrQu9C+0L0g0YfRgNC10Lcg4oCeZ2l0IHB1bGzigJwpXG4iCiAKLSM6IHJlbW90ZS5jOjE5NzMKKyM6IHJlbW90ZS5jOjIwNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCkBAIC00NTY5LDEwICs2MjkzLDE1IEBACiAi0KLQtdC60YPRidC40Y/RgiDQutC70L7QvSDRgdC1INC1INC+0YLQtNC10LvQuNC7INC+0YIg4oCeJXPigJwsXG4iCiAi0LTQstCw0YLQsCDQuNC80LDRgiDRgdGK0L7RgtCy0LXRgtC90L4g0L/QviAlZCDQuCAlZCDQvdC10YHRitCy0L/QsNC00LDRidC4INC/0L7QtNCw0LLQsNC90LjRjy5cbiIKIAotIzogcmVtb3RlLmM6MTk4MworIzogcmVtb3RlLmM6MjA2NwogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycylcbiIKIG1zZ3N0ciAiICAo0YHQu9C10LnRgtC1INC+0YLQtNCw0LvQtdGH0LXQvdC40Y8g0LrQu9C+0L0g0LIg0LvQvtC60LDQu9C90LjRjyDRh9GA0LXQtyDigJ5naXQgcHVsbOKAnClcbiIKIAorIzogcmVtb3RlLmM6MjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcGFyc2UgZXhwZWN0ZWQgb2JqZWN0IG5hbWUgJyVzJyIKK21zZ3N0ciAi0L7Rh9Cw0LrQstCw0L3QvtGC0L4g0LjQvNC1INC90LAg0L7QsdC10LrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LDQvdCw0LvQuNC30LjRgNCw0L3QviIKKwogIzogcmVwbGFjZS1vYmplY3QuYzoyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwbGFjZSByZWYgbmFtZTogJXMiCkBAIC00NTk2LDExICs2MzI1LDYgQEAKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcmVyZXJlIHJlY29yZCIKIG1zZ3N0ciAi0L/RgNC40LvQvtC20LXQvdC+0YLQviDQutC+0YDQuNCz0LjRgNCw0L3QtSDQvdCwINC60L7QvdGE0LvQuNC60YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9C40YHQsNC90L4iCiAKLSM6IHJlcmVyZS5jOjQ4NSByZXJlcmUuYzo2OTIgc2VxdWVuY2VyLmM6MzEzNiBzZXF1ZW5jZXIuYzozMTYyCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCB3cml0ZSAnJXMnIgotbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQt9Cw0L/QuNGI0LUiCi0KICM6IHJlcmVyZS5jOjQ5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGVyZSB3ZXJlIGVycm9ycyB3aGlsZSB3cml0aW5nICclcycgKCVzKSIKQEAgLTQ2NTQsOCArNjM3OCw4IEBACiBtc2dpZCAiUmVjb3JkZWQgcHJlaW1hZ2UgZm9yICclcyciCiBtc2dzdHIgItCf0YDQtdC00LLQsNGA0LjRgtC10LvQvdC40Y/RgiDQstCw0YDQuNCw0L3RgiDQvdCwIOKAniVz4oCcINC1INC30LDQv9Cw0LfQtdC9IgogCi0jOiByZXJlcmUuYzo4ODEgc3VibW9kdWxlLmM6MTc2MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQxMwotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MjMKKyM6IHJlcmVyZS5jOjg4MSBzdWJtb2R1bGUuYzoyMDY3IGJ1aWx0aW4vbG9nLmM6MTg3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MzYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAi0JTQuNGA0LXQutGC0L7RgNC40Y/RgtCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdGK0LfQtNCw0LTQtdC90LAiCkBAIC00Njg5LDI5ICs2NDEzLDM1IEBACiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gcnItY2FjaGUgZGlyZWN0b3J5IgogbXNnc3RyICLQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg4oCecnItY2FjaGXigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7RgtCy0L7RgNC4IgogCi0jOiByZXZpc2lvbi5jOjIzMjQKKyM6IHJldmlzaW9uLmM6MjQ5NwogbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggYXBwZWFycyB0byBiZSBicm9rZW4iCiBtc2dzdHIgItCi0LXQutGD0YnQuNGP0YIg0LrQu9C+0L0g0LUg0L/QvtCy0YDQtdC00LXQvSIKIAotIzogcmV2aXNpb24uYzoyMzI3CisjOiByZXZpc2lvbi5jOjI1MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCAnJXMnIGRvZXMgbm90IGhhdmUgYW55IGNvbW1pdHMgeWV0IgogbXNnc3RyICLQotC10LrRg9GJ0LjRj9GCINC60LvQvtC9IOKAniVz4oCcINC1INCx0LXQtyDQv9C+0LTQsNCy0LDQvdC40Y8gIgogCi0jOiByZXZpc2lvbi5jOjI1MjMKKyM6IHJldmlzaW9uLmM6MjcwOAogbXNnaWQgIi0tZmlyc3QtcGFyZW50IGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYmlzZWN0IgogbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLWZpcnN0LXBhcmVudOKAnCDQuCDigJ4tLWJpc2VjdOKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKIAotIzogcnVuLWNvbW1hbmQuYzo3NDAKKyM6IHJldmlzaW9uLmM6MjcxMgorbXNnaWQgIi1MIGRvZXMgbm90IHlldCBzdXBwb3J0IGRpZmYgZm9ybWF0cyBiZXNpZGVzIC1wIGFuZCAtcyIKK21zZ3N0ciAiIgorItC+0L/RhtC40Y/RgtCwIOKAni1M4oCcINC/0L7QtNC00YrRgNC20LAg0LXQtNC40L3RgdGC0LLQtdC90L4g0YTQvtGA0LzQsNGC0LjRgNCw0L3QtdGC0L4g0L3QsCDRgNCw0LfQu9C40LrQuNGC0LUg0YHQv9C+0YDQtdC0INC+0L/RhtC40LjRgtC1IOKAni0iCisicOKAnCDQuCDigJ4tc+KAnCIKKworIzogcnVuLWNvbW1hbmQuYzo3NjIKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQvtGC0LLQsNGA0Y/QvdC1INC90LAg4oCeL2Rldi9udWxs4oCcIgogCi0jOiBydW4tY29tbWFuZC5jOjEyMjkKKyM6IHJ1bi1jb21tYW5kLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIGFzeW5jIHRocmVhZDogJXMiCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INGB0YrQt9C00LDQtNC1INCw0YHQuNC90YXRgNC+0L3QvdCwINC90LjRiNC60LA6ICVzIgogCi0jOiBydW4tY29tbWFuZC5jOjEyOTMKKyM6IHJ1bi1jb21tYW5kLmM6MTMzMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlICclcycgaG9vayB3YXMgaWdub3JlZCBiZWNhdXNlIGl0J3Mgbm90IHNldCBhcyBleGVjdXRhYmxlLlxuIgpAQCAtNDcyMSwzMiArNjQ1MSwzMiBAQAogItCX0LAg0LTQsCDQuNC30LrQu9GO0YfQuNGC0LUg0YLQvtCy0LAg0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtSwg0LjQt9C/0YrQu9C90LXRgtC1OlxuIgogIiAgICBnaXQgY29uZmlnIGFkdmljZS5pZ25vcmVkSG9vayBmYWxzZSIKIAotIzogc2VuZC1wYWNrLmM6MTQyCisjOiBzZW5kLXBhY2suYzoxNDQKIG1zZ2lkICJ1bmV4cGVjdGVkIGZsdXNoIHBhY2tldCB3aGlsZSByZWFkaW5nIHJlbW90ZSB1bnBhY2sgc3RhdHVzIgogbXNnc3RyICIiCiAi0L3QtdC+0YfQsNC60LLQsNC9INC40LfRh9C40YHRgtCy0LDRiSDQv9Cw0LrQtdGCIOKAnmZsdXNo4oCcINC/0YDQuCDQuNC30YfQuNGC0LDQvdC1INC90LAg0YHRitGB0YLQvtGP0L3QuNC10YLQviDQvtGCICIKICLQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YDQsNC30L/QsNC60LXRgtC40YDQsNC90LUiCiAKLSM6IHNlbmQtcGFjay5jOjE0NAorIzogc2VuZC1wYWNrLmM6MTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSByZW1vdGUgdW5wYWNrIHN0YXR1czogJXMiCiBtc2dzdHIgIiIKICLRgdGK0YHRgtC+0Y/QvdC40LXRgtC+INC+0YIg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGA0LDQt9C/0LDQutC10YLQuNGA0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQsNC90LDQu9C40LfQuNGA0LDQvdC+OiAlcyIKIAotIzogc2VuZC1wYWNrLmM6MTQ2CisjOiBzZW5kLXBhY2suYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlIHVucGFjayBmYWlsZWQ6ICVzIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0L7RgtC00LDQu9C10YfQtdC90L4g0YDQsNC30L/QsNC60LXRgtC40YDQsNC90LU6ICVzIgogCi0jOiBzZW5kLXBhY2suYzozMDgKKyM6IHNlbmQtcGFjay5jOjMwOQogbXNnaWQgImZhaWxlZCB0byBzaWduIHRoZSBwdXNoIGNlcnRpZmljYXRlIgogbXNnc3RyICLRgdC10YDRgtC40YTQuNC60LDRgtGK0YIg0LfQsCDQuNC30YLQu9Cw0YHQutCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LTQv9C40YHQsNC9IgogCi0jOiBzZW5kLXBhY2suYzo0MjEKKyM6IHNlbmQtcGFjay5jOjQyMwogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQgcHVzaCIKIG1zZ3N0ciAi0L7RgtGB0YDQtdGJ0L3QsNGC0LAg0YHRgtGA0LDQvdCwINC90LUg0L/QvtC00LTRitGA0LbQsCDQuNC30YLQu9Cw0YHQutCy0LDQvdC1INGBINC+0L/RhtC40Y/RgtCwIOKAni0tc2lnbmVk4oCcIgogCi0jOiBzZW5kLXBhY2suYzo0MjMKKyM6IHNlbmQtcGFjay5jOjQyNQogbXNnaWQgIiIKICJub3Qgc2VuZGluZyBhIHB1c2ggY2VydGlmaWNhdGUgc2luY2UgdGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLSIKICJzaWduZWQgcHVzaCIKQEAgLTQ3NTQsNDIgKzY0ODQsNDcgQEAKICLQvtGC0YHRgNC10YnQvdCw0YLQsCDRgdGC0YDQsNC90LAg0L3QtSDQv9C+0LTQtNGK0YDQttCwINC40LfRgtC70LDRgdC60LLQsNC90LUg0YEg0L7Qv9GG0LjRj9GC0LAg4oCeLS1zaWduZWTigJwsINC30LDRgtC+0LLQsCDQvdC1INGB0LUgIgogItC40LfQv9C+0LvQt9Cy0LAg0YHQtdGA0YLQuNGE0LjQutCw0YIiCiAKLSM6IHNlbmQtcGFjay5jOjQzNQorIzogc2VuZC1wYWNrLmM6NDM3CiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLWF0b21pYyBwdXNoIgogbXNnc3RyICLQv9C+0LvRg9GH0LDQstCw0YnQsNGC0LAg0YHRgtGA0LDQvdCwINC90LUg0L/QvtC00LTRitGA0LbQsCDQuNC30YLQu9Cw0YHQutCy0LDQvdC1INGBINC+0L/RhtC40Y/RgtCwIOKAni0tYXRvbWlj4oCcIgogCi0jOiBzZW5kLXBhY2suYzo0NDAKKyM6IHNlbmQtcGFjay5jOjQ0MgogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgcHVzaCBvcHRpb25zIgogbXNnc3RyICLQvtGC0YHRgNC10YnQvdCw0YLQsCDRgdGC0YDQsNC90LAg0L3QtSDQv9C+0LTQtNGK0YDQttCwINC+0L/RhtC40Lgg0L/RgNC4INC40LfRgtC70LDRgdC60LLQsNC90LUiCiAKLSM6IHNlcXVlbmNlci5jOjE4MworIzogc2VxdWVuY2VyLmM6MTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29tbWl0IG1lc3NhZ2UgY2xlYW51cCBtb2RlICclcyciCiBtc2dzdHIgItC90LXRgdGK0YnQtdGB0YLQstGD0LLQsNGJINGA0LXQttC40Lwg0L3QsCDQuNC30YfQuNGB0YLQstCw0L3QtSDigJ4lc+KAnCDQvdCwINGB0YrQvtCx0YnQtdC90LjQtSDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtSIKIAotIzogc2VxdWVuY2VyLmM6Mjg3CisjOiBzZXF1ZW5jZXIuYzoyOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSAnJXMnIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9GC0YDQuNGCIgogCi0jOiBzZXF1ZW5jZXIuYzozMTMKKyM6IHNlcXVlbmNlci5jOjMxMyBidWlsdGluL3JlYmFzZS5jOjc4MSBidWlsdGluL3JlYmFzZS5jOjE3MDYgYnVpbHRpbi9ybS5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVtb3ZlICclcyciCittc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YIiCisKKyM6IHNlcXVlbmNlci5jOjMyMwogbXNnaWQgInJldmVydCIKIG1zZ3N0ciAi0L7RgtC80Y/QvdCwIgogCi0jOiBzZXF1ZW5jZXIuYzozMTUKKyM6IHNlcXVlbmNlci5jOjMyNQogbXNnaWQgImNoZXJyeS1waWNrIgogbXNnc3RyICLQvtGC0LHQuNGA0LDQvdC1IgogCi0jOiBzZXF1ZW5jZXIuYzozMTcKKyM6IHNlcXVlbmNlci5jOjMyNwogbXNnaWQgInJlYmFzZSAtaSIKIG1zZ3N0ciAicmViYXNlIC1pIgogCi0jOiBzZXF1ZW5jZXIuYzozMTkKKyM6IHNlcXVlbmNlci5jOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGFjdGlvbjogJWQiCiBtc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdC+INC00LXQudGB0YLQstC40LU6ICVkIgogCi0jOiBzZXF1ZW5jZXIuYzozNzYKKyM6IHNlcXVlbmNlci5jOjM4NwogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nIgpAQCAtNDc5Nyw3ICs2NTMyLDcgQEAKICLRgdC70LXQtCDQutC+0YDQuNCz0LjRgNCw0L3QtdGC0L4g0L3QsCDQutC+0L3RhNC70LjQutGC0LjRgtC1LCDQvtGC0LHQtdC70LXQttC10YLQtSDRgdGK0L7RgtCy0LXRgtC90LjRgtC1XG4iCiAi0L/RitGC0LjRidCwINGBIOKAnmdpdCBhZGQg0J/QqtCi4oCm4oCcINC40LvQuCDigJ5naXQgcm0g0J/QqtCi4oCm4oCcLiIKIAotIzogc2VxdWVuY2VyLmM6Mzc5CisjOiBzZXF1ZW5jZXIuYzozOTAKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+J1xuIgpAQCAtNDgwNywxMTAgKzY1NDIsMTE0IEBACiAi0L/RitGC0LjRidCwINGBIOKAnmdpdCBhZGQg0J/QqtCi4oCm4oCcINC40LvQuCDigJ5naXQgcm0g0J/QqtCi4oCm4oCcLCDRgdC70LXQtCDQutC+0LXRgtC+XG4iCiAi0L/QvtC00LDQudGC0LUg0YDQtdC30YPQu9GC0LDRgtCwINGBINC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgY29tbWl0J+KAnC4iCiAKLSM6IHNlcXVlbmNlci5jOjM5MiBzZXF1ZW5jZXIuYzoyNjMyCisjOiBzZXF1ZW5jZXIuYzo0MDMgc2VxdWVuY2VyLmM6Mjk5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9jayAnJXMnIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQt9Cw0LrQu9GO0YfQuCIKIAotIzogc2VxdWVuY2VyLmM6Mzk5CisjOiBzZXF1ZW5jZXIuYzo0MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGVvbCB0byAnJXMnIgogbXNnc3RyICLQutGA0LDRj9GCINC90LAg0YDQtdC0INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQv9C40YjQtSDQsiDigJ4lc+KAnCIKIAotIzogc2VxdWVuY2VyLmM6NDA0IHNlcXVlbmNlci5jOjI1MTUgc2VxdWVuY2VyLmM6MjYzOCBzZXF1ZW5jZXIuYzoyNjUyCi0jOiBzZXF1ZW5jZXIuYzoyODg1CisjOiBzZXF1ZW5jZXIuYzo0MTUgc2VxdWVuY2VyLmM6Mjc5OCBzZXF1ZW5jZXIuYzoyOTk5IHNlcXVlbmNlci5jOjMwMTMKKyM6IHNlcXVlbmNlci5jOjMyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplICclcyciCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQstGK0YDRiNC4IgogCi0jOiBzZXF1ZW5jZXIuYzo0Mjcgc2VxdWVuY2VyLmM6OTIxIHNlcXVlbmNlci5jOjE1OTQgc2VxdWVuY2VyLmM6MjUzNQotIzogc2VxdWVuY2VyLmM6Mjg2NyBzZXF1ZW5jZXIuYzoyOTc0IGJ1aWx0aW4vYW0uYzoyNjAgYnVpbHRpbi9jb21taXQuYzo3NDYKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDg0IGJ1aWx0aW4vcmViYXNlLmM6MTUyCisjOiBzZXF1ZW5jZXIuYzo0Mzggc2VxdWVuY2VyLmM6MTcwNyBzZXF1ZW5jZXIuYzoyODE4IHNlcXVlbmNlci5jOjMyNTkKKyM6IHNlcXVlbmNlci5jOjMzNjggYnVpbHRpbi9hbS5jOjI0NCBidWlsdGluL2NvbW1pdC5jOjc4MyBidWlsdGluL21lcmdlLmM6MTExNworIzogYnVpbHRpbi9yZWJhc2UuYzo1ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAi0YTQsNC50LvRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC9IgogCi0jOiBzZXF1ZW5jZXIuYzo0NTMKKyM6IHNlcXVlbmNlci5jOjQ2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXMuIgogbXNnc3RyICLQu9C+0LrQsNC70L3QuNGC0LUg0LLQuCDQv9GA0L7QvNC10L3QuCDRidC1INCx0YrQtNCw0YIg0L/RgNC10LfQsNC/0LjRgdCw0L3QuCDQv9GA0LggJXMuIgogCi0jOiBzZXF1ZW5jZXIuYzo0NTcKKyM6IHNlcXVlbmNlci5jOjQ2OAogbXNnaWQgImNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKIG1zZ3N0ciAi0L/QvtC00LDQudGC0LUg0LjQu9C4INGB0LrQsNGC0LDQudGC0LUg0L/RgNC+0LzQtdC90LjRgtC1LCDQt9CwINC00LAg0L/RgNC+0LTRitC70LbQuNGC0LUiCiAKLSM6IHNlcXVlbmNlci5jOjQ4NgorIzogc2VxdWVuY2VyLmM6NTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmYXN0LWZvcndhcmQiCiBtc2dzdHIgIiVzOiDQv9GA0LXQstGK0YDRgtCw0L3QtSIKIAorIzogc2VxdWVuY2VyLmM6NTM5IGJ1aWx0aW4vdGFnLmM6NTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgorbXNnc3RyICLQndC10YHRitGJ0LXRgdGC0LLRg9Cy0LDRiSDRgNC10LbQuNC8INC90LAg0LjQt9GH0LjRgdGC0LLQsNC90LUg4oCeJXPigJwiCisKICMuIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiLCAiY2hlcnJ5LXBpY2siIG9yCiAjLiAicmViYXNlIC1pIi4KICMuCi0jOiBzZXF1ZW5jZXIuYzo1NzUKKyM6IHNlcXVlbmNlci5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIlczog0L3QvtCy0LjRj9GCINC40L3QtNC10LrRgSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LDQt9C10L0iCiAKLSM6IHNlcXVlbmNlci5jOjU5MQorIzogc2VxdWVuY2VyLmM6NjUwCiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlIgogbXNnc3RyICLQtNGK0YDQstC+0YLQviDQvdCwINC60LXRiNCwINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtCx0L3QvtCy0LXQvdC+IgogCi0jOiBzZXF1ZW5jZXIuYzo2MDQKKyM6IHNlcXVlbmNlci5jOjY2NAogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0IgogbXNnc3RyICLQv9C+0LTQsNCy0LDQvdC10YLQviwg0YHQvtGH0LXQvdC+INC+0YIg0YPQutCw0LfQsNGC0LXQu9GPIOKAnkhFQUTigJwsINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LrRgNC40YLQviIKIAotIzogc2VxdWVuY2VyLmM6Njg0CisjOiBzZXF1ZW5jZXIuYzo3NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8ga2V5IHByZXNlbnQgaW4gJyUuKnMnIgogbXNnc3RyICLQsiDigJ4lLipz4oCcINC90Y/QvNCwINC60LvRjtGH0L7QstC1IgogCi0jOiBzZXF1ZW5jZXIuYzo2OTUKKyM6IHNlcXVlbmNlci5jOjc1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVxdW90ZSB2YWx1ZSBvZiAnJXMnIgogbXNnc3RyICLRhtC40YLQuNGA0LDQvdC10YLQviDQvdCwINGB0YLQvtC50L3QvtGB0YLRgtCwINC90LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfRh9C40YHRgtC10L3QviIKIAotIzogc2VxdWVuY2VyLmM6NzMyIHdyYXBwZXIuYzoyMjcgd3JhcHBlci5jOjM5NyBidWlsdGluL2FtLmM6NzE5Ci0jOiBidWlsdGluL2FtLmM6ODExIGJ1aWx0aW4vbWVyZ2UuYzoxMDgxCisjOiBzZXF1ZW5jZXIuYzo3OTIgd3JhcHBlci5jOjE5MCB3cmFwcGVyLmM6MzYwIGJ1aWx0aW4vYW0uYzo3MDUKKyM6IGJ1aWx0aW4vYW0uYzo3OTcgYnVpbHRpbi9tZXJnZS5jOjExMTQgYnVpbHRpbi9yZWJhc2UuYzoxMDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgItGE0LDQudC70YrRgiDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvTog4oCeJXPigJwiCiAKLSM6IHNlcXVlbmNlci5jOjc0MgorIzogc2VxdWVuY2VyLmM6ODAyCiBtc2dpZCAiJ0dJVF9BVVRIT1JfTkFNRScgYWxyZWFkeSBnaXZlbiIKIG1zZ3N0ciAi0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDQt9CwINCw0LLRgtC+0YAg4oCeR0lUX0FVVEhPUl9OQU1F4oCcINCy0LXRh9C1INC1INC30LDQtNCw0LTQtdC90LAiCiAKLSM6IHNlcXVlbmNlci5jOjc0NworIzogc2VxdWVuY2VyLmM6ODA3CiBtc2dpZCAiJ0dJVF9BVVRIT1JfRU1BSUwnIGFscmVhZHkgZ2l2ZW4iCiBtc2dzdHIgItC90LDRgdGC0YDQvtC50LrQsNGC0LAg0LfQsCDQtS3Qv9C+0YnQsCDigJ5HSVRfQVVUSE9SX0VNQUlM4oCcINCy0LXRh9C1INC1INC30LDQtNCw0LTQtdC90LAiCiAKLSM6IHNlcXVlbmNlci5jOjc1MgorIzogc2VxdWVuY2VyLmM6ODEyCiBtc2dpZCAiJ0dJVF9BVVRIT1JfREFURScgYWxyZWFkeSBnaXZlbiIKIG1zZ3N0ciAi0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDQt9CwINC00LDRgtCwIOKAnkdJVF9BVVRIT1JfREFUReKAnCDQstC10YfQtSDQtSDQt9Cw0LTQsNC00LXQvdCwIgogCi0jOiBzZXF1ZW5jZXIuYzo3NTYKKyM6IHNlcXVlbmNlci5jOjgxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHZhcmlhYmxlICclcyciCiBtc2dzdHIgItC90LXQv9C+0LfQvdCw0YLQsCDQv9GA0L7QvNC10L3Qu9C40LLQsCDigJ4lc+KAnCIKIAotIzogc2VxdWVuY2VyLmM6NzYxCisjOiBzZXF1ZW5jZXIuYzo4MjEKIG1zZ2lkICJtaXNzaW5nICdHSVRfQVVUSE9SX05BTUUnIgogbXNnc3RyICLQvdCw0YHRgtGA0L7QudC60LDRgtCwINC30LAg0LDQstGC0L7RgCDigJ5HSVRfQVVUSE9SX05BTUXigJwg0LvQuNC/0YHQstCwIgogCi0jOiBzZXF1ZW5jZXIuYzo3NjMKKyM6IHNlcXVlbmNlci5jOjgyMwogbXNnaWQgIm1pc3NpbmcgJ0dJVF9BVVRIT1JfRU1BSUwnIgogbXNnc3RyICLQvdCw0YHRgtGA0L7QudC60LDRgtCwINC30LAg0LUt0L/QvtGJ0LAg4oCeR0lUX0FVVEhPUl9FTUFJTOKAnCDQu9C40L/RgdCy0LAiCiAKLSM6IHNlcXVlbmNlci5jOjc2NQorIzogc2VxdWVuY2VyLmM6ODI1CiBtc2dpZCAibWlzc2luZyAnR0lUX0FVVEhPUl9EQVRFJyIKIG1zZ3N0ciAi0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDQt9CwINC00LDRgtCwIOKAnkdJVF9BVVRIT1JfREFUReKAnCDQu9C40L/RgdCy0LAiCiAKLSM6IHNlcXVlbmNlci5jOjgyNQotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0ICclcycgaW4gJyVzJyIKLW1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YTQvtGA0LzQsNGCINC90LAg0LTQsNGC0LAg4oCeJXPigJwg0LIg4oCeJXPigJwiCisjOiBzZXF1ZW5jZXIuYzo5MDIgc2VxdWVuY2VyLmM6MTQyNworbXNnaWQgIm1hbGZvcm1lZCBpZGVudCBsaW5lIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDRhNC+0YDQvNCw0YIg0L3QsCDRgNC10LQg0LfQsCDQuNC00LXQvdGC0LjRhNC40LrQsNGG0LjRjyIKIAotIzogc2VxdWVuY2VyLmM6ODQyCisjOiBzZXF1ZW5jZXIuYzo5MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInlvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlXG4iCkBAIC00OTM5LDE3ICs2Njc4LDEzIEBACiAiXG4iCiAiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBzZXF1ZW5jZXIuYzo5MzUKLW1zZ2lkICJ3cml0aW5nIHJvb3QgY29tbWl0IgotbXNnc3RyICLQt9Cw0L/QsNC30LLQsNC90LUg0L3QsCDQvdCw0YfQsNC70L3QviDQv9C+0LTQsNCy0LDQvdC1IgotCi0jOiBzZXF1ZW5jZXIuYzoxMTQyCisjOiBzZXF1ZW5jZXIuYzoxMjE4CiBtc2dpZCAiJ3ByZXBhcmUtY29tbWl0LW1zZycgaG9vayBmYWlsZWQiCiBtc2dzdHIgIiIKICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDQutGD0LrQsNGC0LAg0L/RgNC4INC/0YDQvtC80Y/QvdCwINC90LAg0YHRitC+0LHRidC10L3QuNC10YLQviDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtSAiCiAiKHByZXBhcmUtY29tbWl0LW1zZykiCiAKLSM6IHNlcXVlbmNlci5jOjExNDkKKyM6IHNlcXVlbmNlci5jOjEyMjQKIG1zZ2lkICIiCiAiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCiAib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgpAQCAtNDk3OCw3ICs2NzEzLDcgQEAKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiAKLSM6IHNlcXVlbmNlci5jOjExNjIKKyM6IHNlcXVlbmNlci5jOjEyMzcKIG1zZ2lkICIiCiAiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCiAib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgpAQCAtNTAwNCwzMTEgKzY3MzksMzY2IEBACiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjAyCisjOiBzZXF1ZW5jZXIuYzoxMjc5CiBtc2dpZCAiY291bGRuJ3QgbG9vayB1cCBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAi0YLQvtC60YMg0YnQviDRgdGK0LfQtNCw0LTQtdC90L7RgtC+INC/0L7QtNCw0LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgtC+IgogCi0jOiBzZXF1ZW5jZXIuYzoxMjA0CisjOiBzZXF1ZW5jZXIuYzoxMjgxCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICLRgtC+0LrRgyDRidC+INGB0YrQt9C00LDQtNC10L3QvtGC0L4g0L/QvtC00LDQstCw0L3QtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LDQvdCw0LvQuNC30LjRgNCw0L3QviIKIAotIzogc2VxdWVuY2VyLmM6MTI1MAorIzogc2VxdWVuY2VyLmM6MTMyNwogbXNnaWQgInVuYWJsZSB0byByZXNvbHZlIEhFQUQgYWZ0ZXIgY3JlYXRpbmcgY29tbWl0IgogbXNnc3RyICIiCiAi0YHRitGB0YLQvtGP0L3QuNC10YLQviDRgdC+0YfQtdC90L4g0L7RgiDRg9C60LDQt9Cw0YLQtdC70Y8g4oCeSEVBROKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC60YDQuNGC0L4g0YHQu9C10LQgIgogItC/0L7QtNCw0LLQsNC90LXRgtC+IgogCi0jOiBzZXF1ZW5jZXIuYzoxMjUyCisjOiBzZXF1ZW5jZXIuYzoxMzI5CiBtc2dpZCAiZGV0YWNoZWQgSEVBRCIKIG1zZ3N0ciAi0L3QtdGB0LLRitGA0LfQsNC9INCy0YDRitGFIOKAnkhFQUTigJwiCiAKLSM6IHNlcXVlbmNlci5jOjEyNTYKKyM6IHNlcXVlbmNlci5jOjEzMzMKIG1zZ2lkICIgKHJvb3QtY29tbWl0KSIKIG1zZ3N0ciAiICjQvdCw0YfQsNC70L3QviDQv9C+0LTQsNCy0LDQvdC1KSIKIAotIzogc2VxdWVuY2VyLmM6MTI3NworIzogc2VxdWVuY2VyLmM6MTM1NAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIgogbXNnc3RyICLRg9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQsNC90LDQu9C40LfQuNGA0LDQvSIKIAotIzogc2VxdWVuY2VyLmM6MTI3OQorIzogc2VxdWVuY2VyLmM6MTM1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJIRUFEICVzIGlzIG5vdCBhIGNvbW1pdCEiCiBtc2dzdHIgItGD0LrQsNC30LDRgtC10LvRj9GCIOKAnkhFQUTigJwg4oCeJXPigJwg0YHQvtGH0Lgg0LrRitC8INC90LXRidC+LCDQutC+0LXRgtC+INC90LUg0LUg0L/QvtC00LDQstCw0L3QtSEiCiAKLSM6IHNlcXVlbmNlci5jOjEyODMgYnVpbHRpbi9jb21taXQuYzoxNTQzCisjOiBzZXF1ZW5jZXIuYzoxMzYwIHNlcXVlbmNlci5jOjE0NTggYnVpbHRpbi9jb21taXQuYzoxNTY5CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQgY29tbWl0IgogbXNnc3RyICLQstGK0YDRhdC+0LLQvtGC0L4g0L/QvtC00LDQstCw0L3QtSDigJ5IRUFE4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC90L4iCiAKLSM6IHNlcXVlbmNlci5jOjEzMzQgc2VxdWVuY2VyLmM6MTkzNAorIzogc2VxdWVuY2VyLmM6MTQxMSBzZXF1ZW5jZXIuYzoyMDU1CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCBhdXRob3IiCiBtc2dzdHIgItCw0LLRgtC+0YDRitGCINC90LAg0L/QvtC00LDQstCw0L3QtdGC0L4g0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INCw0L3QsNC70LjQt9C40YDQsNC9IgogCi0jOiBzZXF1ZW5jZXIuYzoxMzQ0IGJ1aWx0aW4vYW0uYzoxNTg1IGJ1aWx0aW4vbWVyZ2UuYzo2NzcKKyM6IHNlcXVlbmNlci5jOjE0MzEKK21zZ2lkICJjb3JydXB0ZWQgYXV0aG9yIHdpdGhvdXQgZGF0ZSBpbmZvcm1hdGlvbiIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0LDQstGC0L7RgCDQsdC10Lcg0LTQsNGC0LAiCisKKyM6IHNlcXVlbmNlci5jOjE0NDcgYnVpbHRpbi9hbS5jOjE1NjEgYnVpbHRpbi9tZXJnZS5jOjY4NAogbXNnaWQgImdpdCB3cml0ZS10cmVlIGZhaWxlZCB0byB3cml0ZSBhIHRyZWUiCiBtc2dzdHIgItCa0L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgd3JpdGUtdHJlZeKAnCDQvdC1INGD0YHQv9GPINC00LAg0LfQsNC/0LjRiNC1INC+0LHQtdC60YIt0LTRitGA0LLQviIKIAotIzogc2VxdWVuY2VyLmM6MTM2MSBzZXF1ZW5jZXIuYzoxNDE2CisjOiBzZXF1ZW5jZXIuYzoxNDgwIHNlcXVlbmNlci5jOjE1NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgY29tbWl0IG1lc3NhZ2UgZnJvbSAnJXMnIgogbXNnc3RyICLRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC30LAg0L/QvtC00LDQstCw0L3QtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvdC+INC+0YIg4oCeJXPigJwiCiAKLSM6IHNlcXVlbmNlci5jOjEzODMgYnVpbHRpbi9hbS5jOjE2MDYgYnVpbHRpbi9jb21taXQuYzoxNjQ2IGJ1aWx0aW4vbWVyZ2UuYzo4NTgKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4ODMKKyM6IHNlcXVlbmNlci5jOjE1MTYgYnVpbHRpbi9hbS5jOjE1ODMgYnVpbHRpbi9jb21taXQuYzoxNjY4IGJ1aWx0aW4vbWVyZ2UuYzo4ODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDgKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKIG1zZ3N0ciAi0L7QsdC10LrRgtGK0YIg0LfQsCDQv9C+0LTQsNCy0LDQvdC10YLQviDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LjRgdCw0L0iCiAKLSM6IHNlcXVlbmNlci5jOjE0NDMKKyM6IHNlcXVlbmNlci5jOjE1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAlcyIKIG1zZ3N0ciAi0L/QvtC00LDQstCw0L3QtdGC0L4g4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INCw0L3QsNC70LjQt9C40YDQsNC90L4iCiAKLSM6IHNlcXVlbmNlci5jOjE0NDgKKyM6IHNlcXVlbmNlci5jOjE1ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCiBtc2dzdHIgItGA0L7QtNC40YLQtdC70YHQutC+0YLQviDQv9C+0LTQsNCy0LDQvdC1IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQsNC90LDQu9C40LfQuNGA0LDQvdC+IgogCi0jOiBzZXF1ZW5jZXIuYzoxNTQ2IHNlcXVlbmNlci5jOjE2NTQKKyM6IHNlcXVlbmNlci5jOjE2NTYgc2VxdWVuY2VyLmM6MTc2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQ6ICVkIgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0LAg0LrQvtC80LDQvdC00LA6ICVkIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjAxIHNlcXVlbmNlci5jOjE2MjYKKyM6IHNlcXVlbmNlci5jOjE3MTQgc2VxdWVuY2VyLmM6MTczOQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJWQgY29tbWl0cy4iCiBtc2dzdHIgItCi0L7QstCwINC1INC+0LHQtdC00LjQvdC10L3QuNC1INC+0YIgJWQg0L/QvtC00LDQstCw0L3QuNGPIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjExIHNlcXVlbmNlci5jOjQ3NDQKKyM6IHNlcXVlbmNlci5jOjE3MjQKIG1zZ2lkICJuZWVkIGEgSEVBRCB0byBmaXh1cCIKIG1zZ3N0ciAi0JfQsCDQstC60LDRgNCy0LDQvdC1INCyINC/0YDQtdC00YXQvtC00L3QvtGC0L4g0L/QvtC00LDQstCw0L3QtSDQstC4INGC0YDRj9Cx0LLQsCDRg9C60LDQt9Cw0YLQtdC7IOKAnkhFQUTigJwiCiAKLSM6IHNlcXVlbmNlci5jOjE2MTMgc2VxdWVuY2VyLmM6MjkxMgorIzogc2VxdWVuY2VyLmM6MTcyNiBzZXF1ZW5jZXIuYzozMzA0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAi0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0L7Rh9C10YLQtSIKIAotIzogc2VxdWVuY2VyLmM6MTYxNQorIzogc2VxdWVuY2VyLmM6MTcyOAogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQncyBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiIgogItGB0YrQvtCx0YnQtdC90LjQtdGC0L4g0LfQsCDQv9C+0LTQsNCy0LDQvdC1INC60YrQvCDRg9C60LDQt9Cw0YLQtdC70Y8g4oCeSEVBROKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvdC+OiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTYyMQorIzogc2VxdWVuY2VyLmM6MTczNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUgJyVzJyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsNC/0LDQt9C4IgogCi0jOiBzZXF1ZW5jZXIuYzoxNjI4IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NDEKKyM6IHNlcXVlbmNlci5jOjE3NDEgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ5NgogbXNnaWQgIlRoaXMgaXMgdGhlIDFzdCBjb21taXQgbWVzc2FnZToiCiBtc2dzdHIgItCi0L7QstCwINC1IDEt0YLQviDRgdGK0L7QsdGJ0LXQvdC40LUg0L/RgNC4INC/0L7QtNCw0LLQsNC90LU6IgogCi0jOiBzZXF1ZW5jZXIuYzoxNjM2CisjOiBzZXF1ZW5jZXIuYzoxNzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlIG9mICVzIgogbXNnc3RyICLRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC30LAg0L/QvtC00LDQstCw0L3QtSDQutGK0Lwg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L3QviIKIAotIzogc2VxdWVuY2VyLmM6MTY0MworIzogc2VxdWVuY2VyLmM6MTc1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIHRoZSBjb21taXQgbWVzc2FnZSAjJWQ6IgogbXNnc3RyICLQotC+0LLQsCDQtSDRgdGK0L7QsdGJ0LXQvdC40LUg0L/RgNC4INC/0L7QtNCw0LLQsNC90LUg4oSWJWQ6IgogCi0jOiBzZXF1ZW5jZXIuYzoxNjQ5CisjOiBzZXF1ZW5jZXIuYzoxNzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJWQgd2lsbCBiZSBza2lwcGVkOiIKIG1zZ3N0ciAi0KHRitC+0LHRidC10L3QuNC1INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1IOKEliVkINGJ0LUg0LHRitC00LUg0L/RgNC10YHQutC+0YfQtdC90L46IgogCi0jOiBzZXF1ZW5jZXIuYzoxNzMyCisjOiBzZXF1ZW5jZXIuYzoxODUwCiBtc2dpZCAieW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKIG1zZ3N0ciAi0LjQvdC00LXQutGB0YrRgiDQvdC1INC1INGB0LvRj9GCLiIKIAotIzogc2VxdWVuY2VyLmM6MTczOQorIzogc2VxdWVuY2VyLmM6MTg1NwogbXNnaWQgImNhbm5vdCBmaXh1cCByb290IGNvbW1pdCIKIG1zZ3N0ciAi0L3QsNGH0LDQu9C90L7RgtC+INC/0L7QtNCw0LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LLQutCw0YDQsCDQsiDQv9GA0LXQtNGF0L7QtNC90L7RgtC+INC80YMiCiAKLSM6IHNlcXVlbmNlci5jOjE3NTgKKyM6IHNlcXVlbmNlci5jOjE4NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgogbXNnc3RyICLQv9C+0LTQsNCy0LDQvdC10YLQviDigJ4lc+KAnCDQtSDRgdC70LjQstCw0L3QtSwg0L3QviDQvdC1INC1INC00LDQtNC10L3QsCDQvtC/0YbQuNGP0YLQsCDigJ4tbeKAnCIKIAotIzogc2VxdWVuY2VyLmM6MTc2NgorIzogc2VxdWVuY2VyLmM6MTg4NCBzZXF1ZW5jZXIuYzoxODkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKIG1zZ3N0ciAi0L/QvtC00LDQstCw0L3QtdGC0L4g4oCeJXPigJwg0L3Rj9C80LAg0YDQvtC00LjRgtC10LsgJWQiCiAKLSM6IHNlcXVlbmNlci5jOjE3NzAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKLW1zZ3N0ciAi0YPQutCw0LfQsNC90L4g0LUg0LHQsNC30L7QstC+INC/0L7QtNCw0LLQsNC90LUsINC90L4g0L/QvtC00LDQstCw0L3QtdGC0L4g4oCeJXPigJwg0L3QtSDQtSDRgdC70LjQstCw0L3QtS4iCi0KLSM6IHNlcXVlbmNlci5jOjE3NzYKKyM6IHNlcXVlbmNlci5jOjE4OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30LLQu9C40YfQsNC90LUg0L3QsCDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC30LAg0L/QvtC00LDQstCw0L3QtSDQvdCwIOKAniVz4oCcIgogCiAjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgYSAidG9kbyIgY29tbWFuZCBsaWtlCiAjLiAicmV2ZXJ0IiBvciAicGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExLgotIzogc2VxdWVuY2VyLmM6MTc5NQorIzogc2VxdWVuY2VyLmM6MTkxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCiBtc2dzdHIgIiVzOiDQvdC10YDQsNC30L/QvtC30L3QsNGC0LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwINGA0L7QtNC40YLQtdC70YHQutC+0YLQviDQv9C+0LTQsNCy0LDQvdC1IOKAniVz4oCcIgogCi0jOiBzZXF1ZW5jZXIuYzoxODYwCisjOiBzZXF1ZW5jZXIuYzoxOTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgJyVzJyB0byAnJXMnIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0LXQuNC80LXQvdGD0LLQsCDQvdCwIOKAniVz4oCcIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTE1CisjOiBzZXF1ZW5jZXIuYzoyMDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiCiBtc2dzdHIgItC/0L7QtNCw0LLQsNC90LXRgtC+IOKAniVz4oCc4oCmINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LzQtdC90LXQvdC+OiDigJ4lc+KAnCIKIAotIzogc2VxdWVuY2VyLmM6MTkxNgorIzogc2VxdWVuY2VyLmM6MjAzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgItC/0L7QtNCw0LLQsNC90LXRgtC+IOKAniVz4oCc4oCmINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0LjQu9C+0LbQtdC90L46IOKAniVz4oCcIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTc0CisjOiBzZXF1ZW5jZXIuYzoyMTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6INC90LXRg9GB0L/QtdGI0L3QviDQuNC30YfQuNGC0LDQvdC1INC90LAg0LjQvdC00LXQutGB0LAiCiAKLSM6IHNlcXVlbmNlci5jOjE5ODEKKyM6IHNlcXVlbmNlci5jOjIxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczog0L3QtdGD0YHQv9C10YjQvdC+INC+0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAg0LjQvdC00LXQutGB0LAiCiAKLSM6IHNlcXVlbmNlci5jOjIwNjIKKyM6IHNlcXVlbmNlci5jOjIxODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZG9lcyBub3QgYWNjZXB0IGFyZ3VtZW50czogJyVzJyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQv9GA0LjQtdC80LAg0LDRgNCz0YPQvNC10L3RgtC4OiDigJ4lc+KAnCIKIAotIzogc2VxdWVuY2VyLmM6MjA3MQorIzogc2VxdWVuY2VyLmM6MjE5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIGFyZ3VtZW50cyBmb3IgJXMiCiBtc2dzdHIgIuKAniVz4oCcINC40LfQuNGB0LrQstCwINCw0YDQs9GD0LzQtdC90YLQuCIKIAotIzogc2VxdWVuY2VyLmM6MjEzMAorIzogc2VxdWVuY2VyLmM6MjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgJyUuKnMnIgorbXNnc3RyICLigJ4lLipz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INCw0L3QsNC70LjQt9C40YDQsCIKKworIzogc2VxdWVuY2VyLmM6MjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INGA0LXQtCAlZDogJS4qcyIKIAotIzogc2VxdWVuY2VyLmM6MjEzOAorIzogc2VxdWVuY2VyLmM6MjMwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgJyVzJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICLQkdC10Lcg0L/RgNC10LTQuNGI0L3QviDQv9C+0LTQsNCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQv9GK0LvQvdC4IOKAniVz4oCcIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjA5CisjOiBzZXF1ZW5jZXIuYzoyMzQ4IGJ1aWx0aW4vcmViYXNlLmM6MTcyIGJ1aWx0aW4vcmViYXNlLmM6MTk3CisjOiBidWlsdGluL3JlYmFzZS5jOjIyMyBidWlsdGluL3JlYmFzZS5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnLiIKK21zZ3N0ciAi0L7RgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDRh9C10YLQtS4iCisKKyM6IHNlcXVlbmNlci5jOjIzODQKK21zZ2lkICJjYW5jZWxsaW5nIGEgY2hlcnJ5IHBpY2tpbmcgaW4gcHJvZ3Jlc3MiCittc2dzdHIgItC/0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCw0L3QtSDQvdCwINC40LfQstGK0YDRiNCy0LDQvdC+0YLQviDQsiDQvNC+0LzQtdC90YLQsCDQvtGC0LHQuNGA0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QuNGPIgorCisjOiBzZXF1ZW5jZXIuYzoyMzkxCittc2dpZCAiY2FuY2VsbGluZyBhIHJldmVydCBpbiBwcm9ncmVzcyIKK21zZ3N0ciAi0L/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1INC90LAg0LjQt9Cy0YrRgNGI0LLQsNC90L7RgtC+INCyINC80L7QvNC10L3RgtCwINC+0YLQvNGP0L3QsCDQvdCwINC/0L7QtNCw0LLQsNC90LUiCisKKyM6IHNlcXVlbmNlci5jOjI0MzUKIG1zZ2lkICJwbGVhc2UgZml4IHRoaXMgdXNpbmcgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKIG1zZ3N0ciAi0LrQvtGA0LjQs9C40YDQsNC50YLQtSDRgtC+0LLQsCDRh9GA0LXQtyDigJ5naXQgcmViYXNlIC0tZWRpdC10b2Rv4oCcLiIKIAotIzogc2VxdWVuY2VyLmM6MjIxMQorIzogc2VxdWVuY2VyLmM6MjQzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJyVzJyIKIG1zZ3N0ciAi0L3QtdC40LfQv9C+0LvQt9Cy0LDQtdC8INGE0LDQudC7INGBINC+0L/QuNGB0LDQvdC40LUg0L3QsCDQv9GA0LXQtNGB0YLQvtGP0YnQuNGC0LUg0LTQtdC50YHRgtCy0LjRjzog4oCeJXPigJwiCiAKLSM6IHNlcXVlbmNlci5jOjIyMTYKKyM6IHNlcXVlbmNlci5jOjI0NDIKIG1zZ2lkICJubyBjb21taXRzIHBhcnNlZC4iCiBtc2dzdHIgItC90LjQutC+0LUg0L7RgiDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INGA0LDQt9C/0L7Qt9C90LDQtS4iCiAKLSM6IHNlcXVlbmNlci5jOjIyMjcKKyM6IHNlcXVlbmNlci5jOjI0NTMKIG1zZ2lkICJjYW5ub3QgY2hlcnJ5LXBpY2sgZHVyaW5nIGEgcmV2ZXJ0LiIKIG1zZ3N0ciAiIgogItC/0L4g0LLRgNC10LzQtSDQvdCwINC+0YLQvNGP0L3QsCDQvdCwINC/0L7QtNCw0LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9Cy0YrRgNGI0Lgg0L7RgtCx0LjRgNCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LUuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjI5CisjOiBzZXF1ZW5jZXIuYzoyNDU1CiBtc2dpZCAiY2Fubm90IHJldmVydCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgItC/0L4g0LLRgNC10LzQtSDQvdCwINC+0YLQsdC40YDQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9Cy0YrRgNGI0Lgg0L7RgtC80Y/QvdCwINC90LAg0L/QvtC00LDQstCw0L3QtS4iCiAKLSM6IHNlcXVlbmNlci5jOjIyOTkKKyM6IHNlcXVlbmNlci5jOjI1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCINC30LAg4oCeJXPigJw6IOKAniVz4oCcIgogCi0jOiBzZXF1ZW5jZXIuYzoyMzgwCisjOiBzZXF1ZW5jZXIuYzoyNjMwCiBtc2dpZCAidW51c2FibGUgc3F1YXNoLW9udG8iCiBtc2dzdHIgItC/0L7QtNCw0LLQsNC90LXRgtC+LCDQsiDQutC+0LXRgtC+INC00YDRg9Cz0LjRgtC1INC00LAg0YHQtSDQstC60LDRgNCw0YIsINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQv9C+0LvQt9Cy0LAiCiAKLSM6IHNlcXVlbmNlci5jOjIzOTYKKyM6IHNlcXVlbmNlci5jOjI2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9wdGlvbnMgc2hlZXQ6ICclcyciCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INGE0LDQudC7INGBINC+0L/RhtC40Lg6IOKAniVz4oCcIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDc5IHNlcXVlbmNlci5jOjQwMDUKKyM6IHNlcXVlbmNlci5jOjI3MzYgc2VxdWVuY2VyLmM6NDQ2MwogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgogbXNnc3RyICLQt9Cw0LTQsNC00LXQvdC+INC1INC/0YDQsNC30L3QviDQvNC90L7QttC10YHRgtCy0L4g0L7RgiDQv9C+0LTQsNCy0LDQvdC40Y8iCiAKLSM6IHNlcXVlbmNlci5jOjI0ODcKLW1zZ2lkICJhIGNoZXJyeS1waWNrIG9yIHJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgotbXNnc3RyICIiCi0i0LIg0LzQvtC80LXQvdGC0LAg0LLQtdGH0LUg0YHQtSDQuNC30LLRitGA0YjQstCwINC+0YLQsdC40YDQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y8g0LjQu9C4INC/0YDQtdCx0LDQt9C40YDQsNC90LUg0L3QsCDQutC70L7QvdCwIgorIzogc2VxdWVuY2VyLmM6Mjc1MgorbXNnaWQgInJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgorbXNnc3RyICLQsiDQvNC+0LzQtdC90YLQsCDQstC10YfQtSDRgdC1INC40LfQstGK0YDRiNCy0LAg0L7RgtC80Y/QvdCwINC90LAg0L/QvtC00LDQstCw0L3QuNGPIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDg4Ci1tc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKLW1zZ3N0ciAi0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KeKAnCIKKyM6IHNlcXVlbmNlci5jOjI3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJ5IFwiZ2l0IHJldmVydCAoLS1jb250aW51ZSB8ICVzLS1hYm9ydCB8IC0tcXVpdClcIiIKK21zZ3N0ciAi0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAlcy0tYWJvcnQgfCAtLXF1aXQp4oCcIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDkxCisjOiBzZXF1ZW5jZXIuYzoyNzU3Cittc2dpZCAiY2hlcnJ5LXBpY2sgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKK21zZ3N0ciAi0LIg0LzQvtC80LXQvdGC0LAg0LLQtdGH0LUg0YHQtSDQuNC30LLRitGA0YjQstCwINC+0YLQsdC40YDQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y8iCisKKyM6IHNlcXVlbmNlci5jOjI3NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgJXMtLWFib3J0IHwgLS1xdWl0KVwiIgorbXNnc3RyICLQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8ICVzLS1hYm9ydCB8IC0tcXVpdCnigJwiCisKKyM6IHNlcXVlbmNlci5jOjI3NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICclcyciCi1tc2dzdHIgItC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDQt9CwINGB0LXQutCy0LXQvdGB0L7RgNCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdGK0LfQtNCw0LTQtdC90LAiCittc2dzdHIgIiIKKyLQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg0LfQsCDQvtC/0YDQtdC00LXQu9GP0L3QtdGC0L4g0L3QsCDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvQvdC+0YHRgtGC0LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1ICIKKyLRgdGK0LfQtNCw0LTQtdC90LAiCiAKLSM6IHNlcXVlbmNlci5jOjI1MDUKKyM6IHNlcXVlbmNlci5jOjI3ODgKIG1zZ2lkICJjb3VsZCBub3QgbG9jayBIRUFEIgogbXNnc3RyICLRg9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQutC70Y7Rh9C4IgogCi0jOiBzZXF1ZW5jZXIuYzoyNTYwIHNlcXVlbmNlci5jOjM3NjEKKyM6IHNlcXVlbmNlci5jOjI4NDggc2VxdWVuY2VyLmM6NDIwOQogbXNnaWQgIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAiIgogItCyINC80L7QvNC10L3RgtCwINC90LUg0YHQtSDQuNC30LLRitGA0YjQstCwINC+0YLQsdC40YDQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y8g0LjQu9C4INC/0YDQtdCx0LDQt9C40YDQsNC90LUg0L3QsCDQutC70L7QvdCwIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTYyCisjOiBzZXF1ZW5jZXIuYzoyODUwIHNlcXVlbmNlci5jOjI4NjEKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgogbXNnc3RyICLQn9C+0LTQsNCy0LDQvdC10YLQviDRgdC+0YfQtdC90L4g0L7RgiDRg9C60LDQt9Cw0YLQtdC70Y8g4oCeSEVBROKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC60YDQuNGC0L4iCiAKLSM6IHNlcXVlbmNlci5jOjI1NjQgc2VxdWVuY2VyLmM6MjU5OQorIzogc2VxdWVuY2VyLmM6Mjg1MiBzZXF1ZW5jZXIuYzoyODk2CiBtc2dpZCAiY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgIiIKICLQtNC10LnRgdGC0LLQuNC10YLQviDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC10YPRgdGC0LDQvdC+0LLQtdC90L4sINC60L7Qs9Cw0YLQviDRgdGC0LUg0L3QsCDQutC70L7QvSwg0LrQvtC50YLQviDRgtC10L/RitGA0LLQsCAiCiAi0L/RgNC10LTRgdGC0L7QuCDQtNCwINCx0YrQtNC1INGB0YrQt9C00LDQtNC10L0iCiAKLSM6IHNlcXVlbmNlci5jOjI1ODUgYnVpbHRpbi9ncmVwLmM6NzIxCisjOiBzZXF1ZW5jZXIuYzoyODgyIGJ1aWx0aW4vZ3JlcC5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtCy0L7RgNC10L0iCiAKLSM6IHNlcXVlbmNlci5jOjI1ODcKKyM6IHNlcXVlbmNlci5jOjI4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJzogJXMiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC9OiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MjU4OAorIzogc2VxdWVuY2VyLmM6Mjg4NQogbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvSDQutGA0LDQuSDQvdCwINGE0LDQudC7IgogCi0jOiBzZXF1ZW5jZXIuYzoyNTk0CisjOiBzZXF1ZW5jZXIuYzoyODkxCiAjLCBjLWZvcm1hdAogbXNnaWQgInN0b3JlZCBwcmUtY2hlcnJ5LXBpY2sgSEVBRCBmaWxlICclcycgaXMgY29ycnVwdCIKIG1zZ3N0ciAiIgogItC30LDQv9Cw0LfQtdC90LjRj9GCINC/0YDQtdC00Lgg0LfQsNC/0L7Rh9Cy0LDQvdC10YLQviDQvdCwINC+0YLQsdC40YDQsNC90LXRgtC+INGE0LDQudC7INC30LAg0YPQutCw0LfQsNGC0LXQu9GPIOKAnkhFQUTigJwg4oCUIOKAniVz4oCcINC1ICIKICLQv9C+0LLRgNC10LTQtdC9IgogCi0jOiBzZXF1ZW5jZXIuYzoyNjA1CisjOiBzZXF1ZW5jZXIuYzoyOTAyCiBtc2dpZCAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFELiBOb3QgcmV3aW5kaW5nLCBjaGVjayB5b3VyIEhFQUQhIgogbXNnc3RyICIiCiAi0JjQt9Cz0LvQtdC20LTQsCDRg9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC1INC/0YDQvtC80LXQvdC10L0uICDQn9GA0L7QstC10YDQtdGC0LUg0LrRitC8INC60LDQutCy0L4g0YHQvtGH0LguXG4iCiAi0J3QtSDRgdC1INC/0YDQsNCy0Y/RgiDQv9GA0L7QvNC10L3QuC4iCiAKLSM6IHNlcXVlbmNlci5jOjI3MDkgc2VxdWVuY2VyLmM6MzY3OQorIzogc2VxdWVuY2VyLmM6Mjk0MworbXNnaWQgIm5vIHJldmVydCBpbiBwcm9ncmVzcyIKK21zZ3N0ciAi0LIg0LzQvtC80LXQvdGC0LAg0L3QtSDRgtC10YfQtSDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1IgorCisjOiBzZXF1ZW5jZXIuYzoyOTUxCittc2dpZCAibm8gY2hlcnJ5LXBpY2sgaW4gcHJvZ3Jlc3MiCittc2dzdHIgItCyINC80L7QvNC10L3RgtCwINC90LUg0YHQtSDQuNC30LLRitGA0YjQstCwINC+0YLQsdC40YDQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y8iCisKKyM6IHNlcXVlbmNlci5jOjI5NjEKK21zZ2lkICJmYWlsZWQgdG8gc2tpcCB0aGUgY29tbWl0IgorbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0L/RgNC10YHQutCw0YfQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC10YLQviIKKworIzogc2VxdWVuY2VyLmM6Mjk2OAorbXNnaWQgInRoZXJlIGlzIG5vdGhpbmcgdG8gc2tpcCIKK21zZ3N0ciAi0L3Rj9C80LAg0LrQsNC60LLQviDQtNCwINGB0LUg0L/RgNC10YHQutC+0YfQuCIKKworIzogc2VxdWVuY2VyLmM6Mjk3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiaGF2ZSB5b3UgY29tbWl0dGVkIGFscmVhZHk/XG4iCisidHJ5IFwiZ2l0ICVzIC0tY29udGludWVcIiIKK21zZ3N0ciAiIgorItC/0L7QtNCw0LvQuCDQu9C4INGB0YLQtSDQstC10YfQtT8gINCf0YDQvtCx0LLQsNC50YLQtSDRgTpcbiIKKyJcbiIKKyIgICAgZ2l0ICVzIC0tY29udGludWUiCisKKyM6IHNlcXVlbmNlci5jOjMwOTUgc2VxdWVuY2VyLmM6NDEyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdXBkYXRlICVzIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtCx0L3QvtCy0LgiCiAKLSM6IHNlcXVlbmNlci5jOjI3NDcgc2VxdWVuY2VyLmM6MzY1OQorIzogc2VxdWVuY2VyLmM6MzEzNCBzZXF1ZW5jZXIuYzo0MTAxCiBtc2dpZCAiY2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAi0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogc2VxdWVuY2VyLmM6Mjc2MgorIzogc2VxdWVuY2VyLmM6MzE1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC60L7Qv9C40YDQsCDQutCw0YLQviDigJ4lc+KAnCIKIAotIzogc2VxdWVuY2VyLmM6Mjc3MAorIzogc2VxdWVuY2VyLmM6MzE1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGNhbiBhbWVuZCB0aGUgY29tbWl0IG5vdywgd2l0aFxuIgpAQCAtNTMyNywyNyArNzExNywyMiBAQAogIlxuIgogIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIAotIzogc2VxdWVuY2VyLmM6Mjc4MAorIzogc2VxdWVuY2VyLmM6MzE2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJXMuLi4gJS4qcyIKIG1zZ3N0ciAi0J/QvtC00LDQstCw0L3QtdGC0L4g4oCeJXPigJzigKYg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQuNC70L7QttC10L3Qvjog4oCeJS4qc+KAnCIKIAotIzogc2VxdWVuY2VyLmM6Mjc4NworIzogc2VxdWVuY2VyLmM6MzE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbWVyZ2UgJS4qcyIKIG1zZ3N0ciAi0J3QtdCy0YrQt9C80L7QttC90L4g0YHQu9C40LLQsNC90LUg0L3QsCDigJ4lLipz4oCcIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzk4IHNlcXVlbmNlci5jOjI4MDIgYnVpbHRpbi9kaWZmdG9vbC5jOjY0MAorIzogc2VxdWVuY2VyLmM6MzE5MCBzZXF1ZW5jZXIuYzozMTk0IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQutC+0L/QuNGA0LAg0LrQsNGC0L4g4oCeJXPigJwiCiAKLSM6IHNlcXVlbmNlci5jOjI4MjQgc2VxdWVuY2VyLmM6MzI0MiBidWlsdGluL3JlYmFzZS5jOjU4MCBidWlsdGluL3JlYmFzZS5jOjEwMTkKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM3MiBidWlsdGluL3JlYmFzZS5jOjE0MjYKLW1zZ2lkICJjb3VsZCBub3QgcmVhZCBpbmRleCIKLW1zZ3N0ciAi0LjQvdC00LXQutGB0YrRgiDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKLQotIzogc2VxdWVuY2VyLmM6MjgyOQorIzogc2VxdWVuY2VyLmM6MzIyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhlY3V0aW9uIGZhaWxlZDogJXNcbiIKQEAgLTUzNjIsMTEgKzcxNDcsMTEgQEAKICIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAiXG4iCiAKLSM6IHNlcXVlbmNlci5jOjI4MzUKKyM6IHNlcXVlbmNlci5jOjMyMjcKIG1zZ2lkICJhbmQgbWFkZSBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgotbXNnc3RyICLQuCDQv9GA0L7QvNC10L3QuCDQuNC90LTQtdC60YHQsCDQuC/QuNC70Lgg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L5cbiIKK21zZ3N0ciAi0Lgg0L/RgNC+0LzQtdC90Z0g0LjQvdC00LXQutGB0LAg0Lgv0LjQu9C4INGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+XG4iCiAKLSM6IHNlcXVlbmNlci5jOjI4NDEKKyM6IHNlcXVlbmNlci5jOjMyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4ZWN1dGlvbiBzdWNjZWVkZWQ6ICVzXG4iCkBAIC01MzgzLDc2ICs3MTY4LDcyIEBACiAiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTAyCisjOiBzZXF1ZW5jZXIuYzozMjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImlsbGVnYWwgbGFiZWwgbmFtZTogJyUuKnMnIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QviDQuNC80LUg0L3QsCDQtdGC0LjQutC10YI6IOKAniUuKnPigJwiCiAKLSM6IHNlcXVlbmNlci5jOjI5NTQKKyM6IHNlcXVlbmNlci5jOjMzNDgKIG1zZ2lkICJ3cml0aW5nIGZha2Ugcm9vdCBjb21taXQiCiBtc2dzdHIgItC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINGE0LDQu9GI0LjQstC+INC90LDRh9Cw0LvQvdC+INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IHNlcXVlbmNlci5jOjI5NTkKKyM6IHNlcXVlbmNlci5jOjMzNTMKIG1zZ2lkICJ3cml0aW5nIHNxdWFzaC1vbnRvIgogbXNnc3RyICLQt9Cw0L/QsNC30LLQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC10YLQviwg0LIg0LrQvtC10YLQviDQtNGA0YPQs9C40YLQtSDQtNCwINGB0LUg0LLQutCw0YDQsNGCIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTk3IGJ1aWx0aW4vcmViYXNlLmM6NTg1IGJ1aWx0aW4vcmViYXNlLmM6NTkxCisjOiBzZXF1ZW5jZXIuYzozMzkxIGJ1aWx0aW4vcmViYXNlLmM6ODc2IGJ1aWx0aW4vcmViYXNlLmM6ODgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMiCiBtc2dzdHIgItC00YrRgNCy0L7RgtC+LCDRgdC+0YfQtdC90L4g0L7RgiDigJ4lc+KAnCwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgtC+IgogCi0jOiBzZXF1ZW5jZXIuYzozMDE1IGJ1aWx0aW4vcmViYXNlLmM6NjA0Ci1tc2dpZCAiY291bGQgbm90IHdyaXRlIGluZGV4IgotbXNnc3RyICLQuNC90LTQtdC60YHRitGCINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QuNGB0LDQvSIKLQotIzogc2VxdWVuY2VyLmM6MzA0MgorIzogc2VxdWVuY2VyLmM6MzQzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSAnJXMnIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC60YDQuNGCIgogCi0jOiBzZXF1ZW5jZXIuYzozMDY4CisjOiBzZXF1ZW5jZXIuYzozNDY3CiBtc2dpZCAiY2Fubm90IG1lcmdlIHdpdGhvdXQgYSBjdXJyZW50IHJldmlzaW9uIgogbXNnc3RyICLQsdC10Lcg0YLQtdC60YPRidC+INC/0L7QtNCw0LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHQu9C40LLQsCIKIAotIzogc2VxdWVuY2VyLmM6MzA5MAorIzogc2VxdWVuY2VyLmM6MzQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyUuKnMnIgogbXNnc3RyICLigJ4lLipz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INCw0L3QsNC70LjQt9C40YDQsCIKIAotIzogc2VxdWVuY2VyLmM6MzA5OQorIzogc2VxdWVuY2VyLmM6MzQ5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIG1lcmdlOiAnJS4qcyciCiBtc2dzdHIgItC90Y/QvNCwINC90LjRidC+INC30LAg0YHQu9C40LLQsNC90LU6IOKAniUuKnPigJwiCiAKLSM6IHNlcXVlbmNlci5jOjMxMTEKKyM6IHNlcXVlbmNlci5jOjM1MTAKIG1zZ2lkICJvY3RvcHVzIG1lcmdlIGNhbm5vdCBiZSBleGVjdXRlZCBvbiB0b3Agb2YgYSBbbmV3IHJvb3RdIgogbXNnc3RyICLQstGK0YDRhdGDINC90LDRh9Cw0LvQvdC+INC/0L7QtNCw0LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9Cy0YrRgNGI0Lgg0LzQvdC+0LbQtdGB0YLQstC10L3QviDRgdC70LjQstCw0L3QtSIKIAotIzogc2VxdWVuY2VyLmM6MzEyNgorIzogc2VxdWVuY2VyLmM6MzUyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIG9mICclcyciCiBtc2dzdHIgItGB0YrQvtCx0YnQtdC90LjQtdGC0L4g0LfQsCDQv9C+0LTQsNCy0LDQvdC1INC60YrQvCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/QvtC70YPRh9C10L3QviIKIAotIzogc2VxdWVuY2VyLmM6MzI3NAorIzogc2VxdWVuY2VyLmM6MzY4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZXZlbiBhdHRlbXB0IHRvIG1lcmdlICclLipzJyIKIG1zZ3N0ciAi0YHQu9C40LLQsNC90LXRgtC+INC90LAg4oCeJS4qc+KAnCDQvdC1INC80L7QttC1INC00LDQttC1INC00LAg0LfQsNC/0L7Rh9C90LUiCiAKLSM6IHNlcXVlbmNlci5jOjMyOTAKKyM6IHNlcXVlbmNlci5jOjM3MDQKIG1zZ2lkICJtZXJnZTogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICLRgdC70LjQstCw0L3QtTog0L3QvtCy0LjRj9GCINC40L3QtNC10LrRgSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LDQt9C10L0iCiAKLSM6IHNlcXVlbmNlci5jOjMzNTggYnVpbHRpbi9yZWJhc2UuYzoyNjgKKyM6IHNlcXVlbmNlci5jOjM3NzMgYnVpbHRpbi9yZWJhc2UuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guXG4iCiBtc2dzdHIgItCQ0LLRgtC+0LzQsNGC0LjRh9C90L4g0YHQutCw0YLQsNC90L7RgtC+INC1INC/0YDQuNC70L7QttC10L3Qvi5cbiIKIAotIzogc2VxdWVuY2VyLmM6MzM3MAorIzogc2VxdWVuY2VyLmM6Mzc4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgJXMiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QsNC30LXQvSIKIAotIzogc2VxdWVuY2VyLmM6MzM3MyBidWlsdGluL3JlYmFzZS5jOjI4NAorIzogc2VxdWVuY2VyLmM6Mzc4OCBidWlsdGluL3JlYmFzZS5jOjc0OSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBcHBseWluZyBhdXRvc3Rhc2ggcmVzdWx0ZWQgaW4gY29uZmxpY3RzLlxuIgpAQCAtNTQ2MywzMSArNzI0NCwzMSBAQAogItC90LDQtNC10LbQtNC90L4g0YHQutCw0YLQsNC90LguICDQnNC+0LbQtdGC0LUg0LTQsCDQv9GA0L7QsdCy0LDRgtC1INC00LAg0LPQuCDQv9GA0LjQu9C+0LbQuNGC0LUg0YfRgNC10Lcg4oCeZ2l0IHN0YXNoIHBvcOKAnFxuIgogItC40LvQuCDQtNCwINCz0Lgg0LjQt9GF0LLRitGA0LvQuNGC0LUg0YfRgNC10Lcg4oCeZ2l0IHN0YXNoIGRyb3DigJwsINC60L7Qs9Cw0YLQviDQv9C+0LjRgdC60LDRgtC1LlxuIgogCi0jOiBzZXF1ZW5jZXIuYzozNDI3CisjOiBzZXF1ZW5jZXIuYzozODQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjaGVja291dCAlcyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9GC0LXQs9C70LgiCiAKLSM6IHNlcXVlbmNlci5jOjM0NDEKKyM6IHNlcXVlbmNlci5jOjM4NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhIHZhbGlkIE9JRCIKIG1zZ3N0ciAi4oCeJXPigJwg0LUg0L3QtdC/0YDQsNCy0LjQu9C10L0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QsCDQvtCx0LXQutGCIgogCi0jOiBzZXF1ZW5jZXIuYzozNDQ2IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MjQKKyM6IHNlcXVlbmNlci5jOjM4NjggZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc3OQogbXNnaWQgImNvdWxkIG5vdCBkZXRhY2ggSEVBRCIKIG1zZ3N0ciAi0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LTQtdC70LgiCiAKLSM6IHNlcXVlbmNlci5jOjM0NjEKKyM6IHNlcXVlbmNlci5jOjM4ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCBhdCBIRUFEXG4iCiBtc2dzdHIgItCR0LUg0YHQv9GA0Y/QvdC+INC/0YDQuCDigJ5IRUFE4oCcXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM0NjMKKyM6IHNlcXVlbmNlci5jOjM4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCBhdCAlc1xuIgogbXNnc3RyICLQkdC1INGB0L/RgNGP0L3QviDQv9GA0Lgg4oCeJXPigJxcbiIKIAotIzogc2VxdWVuY2VyLmM6MzQ3MQorIzogc2VxdWVuY2VyLmM6Mzg5MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGV4ZWN1dGUgdGhlIHRvZG8gY29tbWFuZFxuIgpAQCAtNTUxMCw0OCArNzI5MSw0OCBAQAogIiAgICBnaXQgcmViYXNlIC0tZWRpdC10b2RvXG4iCiAiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBzZXF1ZW5jZXIuYzozNTQzCisjOiBzZXF1ZW5jZXIuYzozOTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQgYXQgJXMuLi4gICUuKnNcbiIKIG1zZ3N0ciAi0KHQv9C40YDQsNC90LUg0L/RgNC4IOKAniVz4oCc4oCmICAlLipzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM2MjIKKyM6IHNlcXVlbmNlci5jOjQwNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBjb21tYW5kICVkIgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0LAg0LrQvtC80LDQvdC00LAgJWQiCiAKLSM6IHNlcXVlbmNlci5jOjM2NjcKKyM6IHNlcXVlbmNlci5jOjQxMDkKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBvcmlnLWhlYWQiCiBtc2dzdHIgItGD0LrQsNC30LDRgtC10LvRj9GCINC30LAg4oCeb3JpZy1oZWFk4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQvtGH0LXRgtC1IgogCi0jOiBzZXF1ZW5jZXIuYzozNjcyIHNlcXVlbmNlci5jOjQ3NDEKKyM6IHNlcXVlbmNlci5jOjQxMTQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnb250byciCiBtc2dzdHIgItGD0LrQsNC30LDRgtC10LvRj9GCINC30LAg4oCeb250b+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0L7Rh9C10YLQtSIKIAotIzogc2VxdWVuY2VyLmM6MzY4NgorIzogc2VxdWVuY2VyLmM6NDEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdXBkYXRlIEhFQUQgdG8gJXMiCiBtc2dzdHIgIuKAnkhFQUTigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0LHQvdC+0LLQtdC9INC00L4g4oCeJXPigJwiCiAKLSM6IHNlcXVlbmNlci5jOjM3NzIKKyM6IHNlcXVlbmNlci5jOjQyMjEKIG1zZ2lkICJjYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINC/0YDQtdCx0LDQt9C40YDQsNGC0LUsINC30LDRidC+0YLQviDQuNC80LAg0L/RgNC+0LzQtdC90LgsINC60L7QuNGC0L4g0L3QtSDRgdCwINCyINC40L3QtNC10LrRgdCwLiIKIAotIzogc2VxdWVuY2VyLmM6Mzc4MQorIzogc2VxdWVuY2VyLmM6NDIzMAogbXNnaWQgImNhbm5vdCBhbWVuZCBub24tZXhpc3RpbmcgY29tbWl0IgogbXNnc3RyICLQvdC10YHRitGJ0LXRgdGC0LLRg9Cy0LDRidC+INC/0L7QtNCw0LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/QvtC/0YDQsNCy0LgiCiAKLSM6IHNlcXVlbmNlci5jOjM3ODMKKyM6IHNlcXVlbmNlci5jOjQyMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBmaWxlOiAnJXMnIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDRhNCw0LnQuzog4oCeJXPigJwiCiAKLSM6IHNlcXVlbmNlci5jOjM3ODUKKyM6IHNlcXVlbmNlci5jOjQyMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb250ZW50czogJyVzJyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90L4g0YHRitC00YrRgNC20LDQvdC40LU6IOKAniVz4oCcIgogCi0jOiBzZXF1ZW5jZXIuYzozNzg4CisjOiBzZXF1ZW5jZXIuYzo0MjM3CiBtc2dpZCAiIgogIlxuIgogIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSwgY29tbWl0IHRoZW1cbiIKQEAgLTU1NjEsODIgKzczNDIsNDIgQEAKICLQkiDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDQuNC80LAg0L3QtdC/0L7QtNCw0LTQtdC90Lgg0L/RgNC+0LzQtdC90LguICDQn9GK0YDQstC+INCz0Lgg0L/QvtC00LDQudGC0LUsINCwINGB0LvQtdC0INGC0L7QstCwXG4iCiAi0L7RgtC90L7QstC+INC40LfQv9GK0LvQvdC10YLQtSDigJ5naXQgcmViYXNlIC0tY29udGludWXigJwuIgogCi0jOiBzZXF1ZW5jZXIuYzozODI0IHNlcXVlbmNlci5jOjM4NjIKKyM6IHNlcXVlbmNlci5jOjQyNzMgc2VxdWVuY2VyLmM6NDMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgZmlsZTogJyVzJyIKIG1zZ3N0ciAi0YTQsNC50LvRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QuNGB0LDQvSIKIAotIzogc2VxdWVuY2VyLmM6Mzg3NworIzogc2VxdWVuY2VyLmM6NDMyNwogbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKIG1zZ3N0ciAi0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeQ0hFUlJZX1BJQ0tfSEVBROKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9GC0YDQuNGCIgogCi0jOiBzZXF1ZW5jZXIuYzozODg0CisjOiBzZXF1ZW5jZXIuYzo0MzM0CiBtc2dpZCAiY291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgItC/0YDQvtC80LXQvdC40YLQtSDQsiDQuNC90LTQtdC60YHQsCDQvdC1INC80L7Qs9Cw0YIg0LTQsCDQsdGK0LTQsNGCINC/0L7QtNCw0LTQtdC90LguIgogCi0jOiBzZXF1ZW5jZXIuYzozOTgyCisjOiBzZXF1ZW5jZXIuYzo0NDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgogbXNnc3RyICIlczog0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7RgtCx0LXRgNC1IOKAniVz4oCcIgogCi0jOiBzZXF1ZW5jZXIuYzozOTg2CisjOiBzZXF1ZW5jZXIuYzo0NDQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgcmV2aXNpb24iCiBtc2dzdHIgIiVzOiDQvdC10L/RgNCw0LLQuNC70L3QsCDQstC10YDRgdC40Y8iCiAKLSM6IHNlcXVlbmNlci5jOjQwMjEKKyM6IHNlcXVlbmNlci5jOjQ0NzkKIG1zZ2lkICJjYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCiBtc2dzdHIgItC/0YrRgNCy0L7QvdCw0YfQsNC70L3QvtGC0L4g0L/QvtC00LDQstCw0L3QtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC80LXQvdC10L3QviIKIAotIzogc2VxdWVuY2VyLmM6NDQ2NgorIzogc2VxdWVuY2VyLmM6NDk1MgogbXNnaWQgIm1ha2Vfc2NyaXB0OiB1bmhhbmRsZWQgb3B0aW9ucyIKIG1zZ3N0ciAibWFrZV9zY3JpcHQ6INC90LXQv9C+0LTQtNGK0YDQttCw0L3QuCDQvtC/0YbQuNC4IgogCi0jOiBzZXF1ZW5jZXIuYzo0NDY5CisjOiBzZXF1ZW5jZXIuYzo0OTU1CiBtc2dpZCAibWFrZV9zY3JpcHQ6IGVycm9yIHByZXBhcmluZyByZXZpc2lvbnMiCiBtc2dzdHIgIm1ha2Vfc2NyaXB0OiDQs9GA0LXRiNC60LAg0L/RgNC4INC/0L7QtNCz0L7RgtC+0LLQutCw0YLQsCDQvdCwINCy0LXRgNGB0LjQuCIKIAotIzogc2VxdWVuY2VyLmM6NDUwOSBzZXF1ZW5jZXIuYzo0NTY1IHNlcXVlbmNlci5jOjQ4NDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW51c2FibGUgdG9kbyBsaXN0OiAnJXMnIgotbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9GC0YDQuNCy0LDQvdC1INC90LAg0YHQv9C40YHRitC60LAg0LfQsCDQuNC30L/RitC70L3QtdC90LjQtTog4oCeJXPigJwiCi0KLSM6IHNlcXVlbmNlci5jOjQ2MjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotInVucmVjb2duaXplZCBzZXR0aW5nICVzIGZvciBvcHRpb24gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suIElnbm9yaW5nLiIKLW1zZ3N0ciAiIgotItCd0LXQv9C+0LfQvdCw0YLQsCDRgdGC0L7QudC90L7RgdGCIOKAniVz4oCcINC30LDCoNC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCecmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2vigJwuICAiCi0i0J3QsNGB0YLRgNC+0LnQutCw0YLQsCDRgdC1INC/0YDQtdGB0LrQsNGH0LAuIgotCi0jOiBzZXF1ZW5jZXIuYzo0NjkwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS5cbiIKLSJEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKTpcbiIKLW1zZ3N0ciAiIgotItCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INC90Y/QutC+0Lgg0L/QvtC00LDQstCw0L3QuNGPINC80L7QttC1INC00LAg0YHQsCDQv9GA0L7Qv9GD0YHQvdCw0YLQuC5cbiIKLSLQn9GA0L7Qv9GD0YHQvdCw0YLQuCDQv9C+0LTQsNCy0LDQvdC40Y8gKNC90L7QstC40YLQtSDRgdCwINC90LDQuS3QvtGC0LPQvtGA0LUpOlxuIgotCi0jOiBzZXF1ZW5jZXIuYzo0Njk3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJUbyBhdm9pZCB0aGlzIG1lc3NhZ2UsIHVzZSBcImRyb3BcIiB0byBleHBsaWNpdGx5IHJlbW92ZSBhIGNvbW1pdC5cbiIKLSJcbiIKLSJVc2UgJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHRvIGNoYW5nZSB0aGUgbGV2ZWwgb2YgIgotIndhcm5pbmdzLlxuIgotIlRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci5cbiIKLSJcbiIKLW1zZ3N0ciAiIgotItCX0LAg0LTQsCDQvdC1INC/0L7Qu9GD0YfQsNCy0LDRgtC1INGC0L7QstCwINGB0YrQvtCx0YnQtdC90LjQtSwg0LjQt9GA0LjRh9C90L4g0L/QvtC70LfQstCw0LnRgtC1INC60L7QvNCw0L3QtNCw0YLQsCDigJ5kcm9w4oCcLlxuIgotIlxuIgotItCd0LDRgdGC0YDQvtC50LrQsNGC0LAg4oCecmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2vigJwg0YPQv9GA0LDQstC70Y/QstCwINC90LjQstC+0YLQviDQvdCwINC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LVcbiIKLSLQktGK0LfQvNC+0LbQvdC40YLQtSDRgdGC0L7QudC90L7RgdGC0Lgg0YHQsCDigJ5pZ25vcmXigJwgKNC/0YDQtdC90LXQsdGA0LXQs9Cy0LDQvdC1KSwg4oCed2FybuKAnCAo0YHQsNC80L4gIgotItC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LUpXG4iCi0i0LjQu9C4IOKAnmVycm9y4oCcICjRgdGH0LjRgtCw0L3QtSDQt9CwINCz0YDQtdGI0LrQsCkuXG4iCi0KLSM6IHNlcXVlbmNlci5jOjQ3MTAKLSMsIGMtZm9ybWF0CisjOiBzZXF1ZW5jZXIuYzo1MTEzCiBtc2dpZCAiIgogIllvdSBjYW4gZml4IHRoaXMgd2l0aCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tIgogImNvbnRpbnVlJy5cbiIKQEAgLTU2NDYsNDAgKzczODcsMjQgQEAKICJjb250aW51ZeKAnCDRgdC70LXQtCDRgtC+0LLQsC5cbiIKICLQnNC+0LbQtSDQuCDQtNCwINC/0YDQtdGD0YHRgtCw0L3QvtCy0LjRgtC1INC/0YDQtdCx0LDQt9C40YDQsNC90LXRgtC+INGBINC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgcmViYXNlIC0tYWJvcnTigJwuXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQ4NDggc2VxdWVuY2VyLmM6NDg4NgorIzogc2VxdWVuY2VyLmM6NTIyNiBzZXF1ZW5jZXIuYzo1MjQzCiBtc2dpZCAibm90aGluZyB0byBkbyIKIG1zZ3N0ciAi0L3Rj9C80LAg0LrQsNC60LLQviDQtNCwINGB0LUg0L/RgNCw0LLQuCIKIAotIzogc2VxdWVuY2VyLmM6NDg1MgotIywgYy1mb3JtYXQKLW1zZ2lkICJSZWJhc2UgJXMgb250byAlcyAoJWQgY29tbWFuZCkiCi1tc2dpZF9wbHVyYWwgIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kcykiCi1tc2dzdHJbMF0gItCf0YDQtdCx0LDQt9C40YDQsNC90LUg0L3QsCDigJ4lc+KAnCDQstGK0YDRhdGDIOKAniVz4oCcICglZCDQutC+0LzQsNC90LTQuCkiCi1tc2dzdHJbMV0gItCf0YDQtdCx0LDQt9C40YDQsNC90LUg0L3QsCDigJ4lc+KAnCDQstGK0YDRhdGDIOKAniVz4oCcICglZCDQutC+0LzQsNC90LTQsCkiCi0KLSM6IHNlcXVlbmNlci5jOjQ4NjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnLiIKLW1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LrQvtC/0LjRgNCwINC60LDRgtC+IOKAniVz4oCcLiIKLQotIzogc2VxdWVuY2VyLmM6NDg2OCBzZXF1ZW5jZXIuYzo0ODk3Ci1tc2dpZCAiY291bGQgbm90IHRyYW5zZm9ybSB0aGUgdG9kbyBsaXN0IgotbXNnc3RyICLRhNCw0LnQu9GK0YIg0YEg0LrQvtC80LDQvdC00LjRgtC1INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0LHRgNCw0LHQvtGC0LgiCi0KLSM6IHNlcXVlbmNlci5jOjQ5MDAKKyM6IHNlcXVlbmNlci5jOjUyNTcKIG1zZ2lkICJjb3VsZCBub3Qgc2tpcCB1bm5lY2Vzc2FyeSBwaWNrIGNvbW1hbmRzIgogbXNnc3RyICLQuNC30LvQuNGI0L3QuNGC0LUg0LrQvtC80LDQvdC00Lgg0LfQsCDQvtGC0LHQuNGA0LDQvdC1INC90LUg0LHRj9GF0LAg0L/RgNC10YHQutC+0YfQtdC90LgiCiAKLSM6IHNlcXVlbmNlci5jOjQ5ODMKKyM6IHNlcXVlbmNlci5jOjUzNTEKIG1zZ2lkICJ0aGUgc2NyaXB0IHdhcyBhbHJlYWR5IHJlYXJyYW5nZWQuIgogbXNnc3RyICLRgdC60YDQuNC/0YLRitGCINCy0LXRh9C1INC1INC/0YDQtdC/0L7QtNGA0LXQtNC10L0uIgogCi0jOiBzZXR1cC5jOjEyMworIzogc2V0dXAuYzoxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuKAniVz4oCcINC1INC40LfQstGK0L0g0YXRgNCw0L3QuNC70LjRidC10YLQviIKIAotIzogc2V0dXAuYzoxNzIKKyM6IHNldHVwLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlczogbm8gc3VjaCBwYXRoIGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCkBAIC01NjkwLDcgKzc0MTUsNyBAQAogIlxuIgogIiAgICBnaXQg0JrQntCc0JDQndCU0JAgLS0g0J/QqtCi4oCmIgogCi0jOiBzZXR1cC5jOjE4NQorIzogc2V0dXAuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiB1bmtub3duIHJldmlzaW9uIG9yIHBhdGggbm90IGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCkBAIC01NzAzLDEyICs3NDI4LDEyIEBACiAiXG4iCiAiICAgIGdpdCDQmtCe0JzQkNCd0JTQkCBb0JLQldCg0KHQmNCv4oCmXSAtLSBb0KTQkNCZ0JvigKZdIgogCi0jOiBzZXR1cC5jOjIzNAorIzogc2V0dXAuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAib3B0aW9uICclcycgbXVzdCBjb21lIGJlZm9yZSBub24tb3B0aW9uIGFyZ3VtZW50cyIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeJXPigJwg0YLRgNGP0LHQstCwINC00LAg0LUg0L/RgNC10LTQuCDQv9GK0YDQstC40Y8g0LDRgNCz0YPQvNC10L3Rgiwg0LrQvtC50YLQviDQvdC1INC1INC+0L/RhtC40Y8iCiAKLSM6IHNldHVwLmM6MjUzCisjOiBzZXR1cC5jOjI1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IGJvdGggcmV2aXNpb24gYW5kIGZpbGVuYW1lXG4iCkBAIC01NzIwLDk1ICs3NDQ1LDk1IEBACiAiXG4iCiAiICAgIGdpdCDQmtCe0JzQkNCd0JTQkCBb0JLQldCg0KHQmNCv4oCmXSAtLSBb0KTQkNCZ0JvigKZdIgogCi0jOiBzZXR1cC5jOjM4OQorIzogc2V0dXAuYzozOTEKIG1zZ2lkICJ1bmFibGUgdG8gc2V0IHVwIHdvcmsgdHJlZSB1c2luZyBpbnZhbGlkIGNvbmZpZyIKIG1zZ3N0ciAiIgogItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQtNCw0LTQtSDRgtC10LrRg9GJ0LAg0YDQsNCx0L7RgtC90LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0L/RgNC4INC90LXQv9GA0LDQstC40LvQvdC4INC90LDRgdGC0YDQvtC50LrQuCIKIAotIzogc2V0dXAuYzozOTMKKyM6IHNldHVwLmM6Mzk1CiBtc2dpZCAidGhpcyBvcGVyYXRpb24gbXVzdCBiZSBydW4gaW4gYSB3b3JrIHRyZWUiCiBtc2dzdHIgItGC0LDQt9C4INC60L7QvNCw0L3QtNCwINGC0YDRj9Cx0LLQsCDQtNCwINGB0LUg0LjQt9C/0YrQu9C90Lgg0LIg0YDQsNCx0L7RgtC90L4g0LTRitGA0LLQviIKIAotIzogc2V0dXAuYzo1MjcKKyM6IHNldHVwLmM6NTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGVkIGdpdCByZXBvIHZlcnNpb24gPD0gJWQsIGZvdW5kICVkIgogbXNnc3RyICLQntGH0LDQutCy0LAg0YHQtSDQstC10YDRgdC40Y8g0L3QsCDRhdGA0LDQvdC40LvQuNGJ0LXRgtC+INC90LAgZ2l0IDw9ICVkLCDQsCDQvdC1ICVkIgogCi0jOiBzZXR1cC5jOjUzNQorIzogc2V0dXAuYzo1NDkKIG1zZ2lkICJ1bmtub3duIHJlcG9zaXRvcnkgZXh0ZW5zaW9ucyBmb3VuZDoiCiBtc2dzdHIgItC+0YLQutGA0LjRgtC4INGB0LAg0L3QtdC/0L7Qt9C90LDRgtC4INGA0LDQt9GI0LjRgNC10L3QuNGPINCyINGF0YDQsNC90LjQu9C40YnQtdGC0L46IgogCi0jOiBzZXR1cC5jOjU1NAorIzogc2V0dXAuYzo1NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3Igb3BlbmluZyAnJXMnIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LLQvtGA0LgiCiAKLSM6IHNldHVwLmM6NTU2CisjOiBzZXR1cC5jOjU3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0b28gbGFyZ2UgdG8gYmUgYSAuZ2l0IGZpbGU6ICclcyciCiBtc2dzdHIgItC/0YDQtdC60LDQu9C10L3QviDQs9C+0LvRj9C8INGE0LDQudC7IOKAni5naXTigJw6IOKAniVz4oCcIgogCi0jOiBzZXR1cC5jOjU1OAorIzogc2V0dXAuYzo1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcmVhZGluZyAlcyIKIG1zZ3N0ciAi0LPRgNC10YjQutCwINC/0YDQuCDQv9GA0L7Rh9C40YLQsNC90LUg0L3QsCDigJ4lc+KAnCIKIAotIzogc2V0dXAuYzo1NjAKKyM6IHNldHVwLmM6NTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgZ2l0ZmlsZSBmb3JtYXQ6ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDRhNC+0YDQvNCw0YIg0L3QsCBnaXRmaWxlOiAlcyIKIAotIzogc2V0dXAuYzo1NjIKKyM6IHNldHVwLmM6NTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHBhdGggaW4gZ2l0ZmlsZTogJXMiCiBtc2dzdHIgItC70LjQv9GB0LLQsCDQv9GK0YIg0LIgZ2l0ZmlsZTog4oCeJXPigJwiCiAKLSM6IHNldHVwLmM6NTY0CisjOiBzZXR1cC5jOjU3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeTogJXMiCiBtc2dzdHIgItC90LUg0LUg0YXRgNCw0L3QuNC70LjRidC1INC90LAgR2l0OiAlcyIKIAotIzogc2V0dXAuYzo2NjMKKyM6IHNldHVwLmM6Njc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIickJXMnIHRvbyBiaWciCiBtc2dzdHIgIuKAniVz4oCcINC1INC/0YDQtdC60LDQu9C10L3QviDQs9C+0LvRj9C8IgogCi0jOiBzZXR1cC5jOjY3NworIzogc2V0dXAuYzo2OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgZ2l0IHJlcG9zaXRvcnk6ICclcyciCiBtc2dzdHIgItC90LUg0LUg0YXRgNCw0L3QuNC70LjRidC1INC90LAgZ2l0OiDigJ4lc+KAnCIKIAotIzogc2V0dXAuYzo3MDYgc2V0dXAuYzo3MDggc2V0dXAuYzo3MzkKKyM6IHNldHVwLmM6NzIwIHNldHVwLmM6NzIyIHNldHVwLmM6NzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGRpciB0byAnJXMnIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQstC70LXQt9C1INCyINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4lc+KAnCIKIAotIzogc2V0dXAuYzo3MTEgc2V0dXAuYzo3Njcgc2V0dXAuYzo3Nzcgc2V0dXAuYzo4MTYgc2V0dXAuYzo4MjQgc2V0dXAuYzo4MzkKKyM6IHNldHVwLmM6NzI1IHNldHVwLmM6NzgxIHNldHVwLmM6NzkxIHNldHVwLmM6ODMwIHNldHVwLmM6ODM4CiBtc2dpZCAiY2Fubm90IGNvbWUgYmFjayB0byBjd2QiCiBtc2dzdHIgItC/0YDQvtGG0LXRgdGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LLRitGA0L3QtSDQutGK0Lwg0L/RgNC10LTQuNGI0L3QsNGC0LAg0YDQsNCx0L7RgtC90LAg0LTQuNGA0LXQutGC0L7RgNC40Y8iCiAKLSM6IHNldHVwLmM6ODM3CisjOiBzZXR1cC5jOjg1MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJSpzJXMlcyciCittc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LvRg9GH0LXQvdCwINC40L3RhNC+0YDQvNCw0YbQuNGPINGH0YDQtdC3IOKAnnN0YXTigJwg0LfQsCDigJ4lKnMlcyVz4oCcIgorCisjOiBzZXR1cC5jOjEwOTAKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICLQotC10LrRg9GJ0LDRgtCwINGA0LDQsdC+0YLQvdCwINC00LjRgNC10LrRgtC+0YDQuNGPINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC90LAiCisKKyM6IHNldHVwLmM6MTA5OSBzZXR1cC5jOjExMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSB0byAnJXMnIgorbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQstC70LXQt9C1INCyINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4lc+KAnCIKKworIzogc2V0dXAuYzoxMTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgb2YgdGhlIHBhcmVudCBkaXJlY3Rvcmllcyk6ICVzIgogbXNnc3RyICIiCiAi0L3QuNGC0L4g0YLQsNC30LgsINC90LjRgtC+INC60L7Rj9GC0L4g0Lgg0LTQsCDQtSDQvtGCINC/0L4t0LPQvtGA0L3QuNGC0LUg0LTQuNGA0LXQutGC0L7RgNC40LgsINC90LUg0LUg0YXRgNCw0L3QuNC70LjRidC1INC90LAgIgogImdpdDogJXMiCiAKLSM6IHNldHVwLmM6ODQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBzdGF0ICclKnMlcyVzJyIKLW1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0L7Qu9GD0YfQtdC90LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0YfRgNC10Lcg4oCec3RhdOKAnCDQt9CwIOKAniUqcyVzJXPigJwiCi0KLSM6IHNldHVwLmM6MTA3OAotbXNnaWQgIlVuYWJsZSB0byByZWFkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCi1tc2dzdHIgItCi0LXQutGD0YnQsNGC0LAg0YDQsNCx0L7RgtC90LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L3QsCIKLQotIzogc2V0dXAuYzoxMDkwIHNldHVwLmM6MTA5NgotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgY2hhbmdlIHRvICclcyciCi1tc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INCy0LvQtdC30LUg0LIg0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwIOKAniVz4oCcIgotCi0jOiBzZXR1cC5jOjExMDkKKyM6IHNldHVwLmM6MTExNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBwYXJlbnQgdXAgdG8gbW91bnQgcG9pbnQgJXMpXG4iCkBAIC01ODE5LDcgKzc1NDQsNyBAQAogIkdpdCDRgNCw0LHQvtGC0Lgg0LIg0YDQsNC80LrQuNGC0LUg0L3QsCDQtdC00L3QsCDRhNCw0LnQu9C+0LLQsCDRgdC40YHRgtC10LzQsCwg0LfQsNGJ0L7RgtC+INC/0YDQvtC80LXQvdC70LjQstCw0YLQsCDQvdCwINGB0YDQtdC00LDRgtCwICIKICLigJ5HSVRfRElTQ09WRVJZX0FDUk9TU19GSUxFU1lTVEVN4oCcINC90LUg0LUg0LfQsNC00LDQtNC10L3QsC4iCiAKLSM6IHNldHVwLmM6MTE5MgorIzogc2V0dXAuYzoxMjI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJwcm9ibGVtIHdpdGggY29yZS5zaGFyZWRSZXBvc2l0b3J5IGZpbGVtb2RlIHZhbHVlICgwJS4zbykuXG4iCkBAIC01ODI5LDI5MiArNzU1NCwyOTcgQEAKICIoMCUuM28pLlxuIgogItCh0L7QsdGB0YLQstC10L3QuNC60YrRgiDQvdCwINGE0LDQudC70LAg0YLRgNGP0LHQstCwINC00LAg0LjQvNCwINC/0YDQsNCy0LAg0LfQsCDQv9C40YHQsNC90LUg0Lgg0YfQtdGC0LXQvdC1LiIKIAotIzogc2V0dXAuYzoxMjM1CisjOiBzZXR1cC5jOjEyNzEKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBvciBkdXAgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDigJ5vcGVu4oCcINC40LvQuCDigJ5kdXDigJwg0LLRitGA0YXRgyDigJ4vZGV2L251bGzigJwiCiAKLSM6IHNldHVwLmM6MTI1MAorIzogc2V0dXAuYzoxMjg2CiBtc2dpZCAiZm9yayBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDQv9GA0L7RhtC10YEg0YfRgNC10Lcg4oCeZm9ya+KAnCIKIAotIzogc2V0dXAuYzoxMjU1CisjOiBzZXR1cC5jOjEyOTEKIG1zZ2lkICJzZXRzaWQgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDigJ5zZXRzaWTigJwiCiAKLSM6IHNoYTEtZmlsZS5jOjM4MQorIzogc2hhMS1maWxlLmM6NDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBkaXJlY3RvcnkgJXMgZG9lcyBub3QgZXhpc3Q7IGNoZWNrIC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMiCiBtc2dzdHIgIiIKICLQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg0LfQsCDQvtCx0LXQutGC0Lgg4oCeJXPigJwg0L3QtSDRgdGK0YnQtdGB0YLQstGD0LLQsCwg0L/RgNC+0LLQtdGA0LXRgtC1IOKAni5naXQvb2JqZWN0cy9pbmZvLyIKICJhbHRlcm5hdGVz4oCcIgogCi0jOiBzaGExLWZpbGUuYzo0MzIKKyM6IHNoYTEtZmlsZS5jOjUwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbm9ybWFsaXplIGFsdGVybmF0ZSBvYmplY3QgcGF0aDogJXMiCiBtc2dzdHIgItCw0LvRgtC10YDQvdCw0YLQuNCy0L3QuNGP0YIg0L/RitGCINC60YrQvCDQvtCx0LXQutGC0Lgg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC90L7RgNC80LDQu9C40LfQuNGA0LDQvTog4oCeJXPigJwiCiAKLSM6IHNoYTEtZmlsZS5jOjUwMworIzogc2hhMS1maWxlLmM6NTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpZ25vcmluZyBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlcywgbmVzdGluZyB0b28gZGVlcCIKIG1zZ3N0ciAiIgogIiVzOiDQsNC70YLQtdGA0L3QsNGC0LjQstC90LjRgtC1INGF0YDQsNC90LjQu9C40YnQsCDQt9CwINC+0LHQtdC60YLQuCDRgdC1INC/0YDQtdC90LXQsdGA0LXQs9Cy0LDRgiDQv9C+0YDQsNC00Lgg0L/RgNC10LrQsNC70LXQvdC+ICIKICLQtNGK0LvQsdC+0LrQviDQstC70LDQs9Cw0L3QtSIKIAotIzogc2hhMS1maWxlLmM6NTEwCisjOiBzaGExLWZpbGUuYzo1ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG5vcm1hbGl6ZSBvYmplY3QgZGlyZWN0b3J5OiAlcyIKIG1zZ3N0ciAi0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwINC30LAg0L7QsdC10LrRgtC4IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvdC+0YDQvNCw0LvQuNC30LjRgNCw0L3QsCIKIAotIzogc2hhMS1maWxlLmM6NTY1CisjOiBzaGExLWZpbGUuYzo2MjUKIG1zZ2lkICJ1bmFibGUgdG8gZmRvcGVuIGFsdGVybmF0ZXMgbG9ja2ZpbGUiCiBtc2dzdHIgItC30LDQutC70Y7Rh9Cy0LDRidC40Y/RgiDRhNCw0LnQuyDQt9CwINCw0LvRgtC10YDQvdCw0YLQuNCy0LjRgtC1INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQstC+0YDQuCDRgSDigJ5mZG9wZW7igJwiCiAKLSM6IHNoYTEtZmlsZS5jOjU4MworIzogc2hhMS1maWxlLmM6NjQzCiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgYWx0ZXJuYXRlcyBmaWxlIgogbXNnc3RyICLRhNCw0LnQu9GK0YIg0YEg0LDQu9GC0LXRgNC90LDRgtC40LLQuNGC0LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IHNoYTEtZmlsZS5jOjU5MAorIzogc2hhMS1maWxlLmM6NjUwCiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgbmV3IGFsdGVybmF0ZXMgZmlsZSBpbnRvIHBsYWNlIgogbXNnc3RyICLQvdC+0LLQuNGP0YIg0YTQsNC50Lsg0YEg0LDQu9GC0LXRgNC90LDRgtC40LLQuNGC0LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQtdC80LXRgdGC0LXQvSDQvdCwINC80Y/RgdGC0L7RgtC+INC80YMiCiAKLSM6IHNoYTEtZmlsZS5jOjYyNQorIzogc2hhMS1maWxlLmM6Njg1CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi0L/RitGC0Y/RgiDigJ4lc+KAnCDQvdC1INGB0YrRidC10YHRgtCy0YPQstCwLiIKIAotIzogc2hhMS1maWxlLmM6NjUxCisjOiBzaGExLWZpbGUuYzo3MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBhcyBhIGxpbmtlZCBjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iCiBtc2dzdHIgItCy0YHQtSDQvtGJ0LUg0L3QtSDRgdC1INC/0L7QtNC00YrRgNC20LAg0LXRgtCw0LvQvtC90L3QviDRhdGA0LDQvdC40LvQuNGJ0LUg4oCeJXPigJwg0LrQsNGC0L4g0YHQstGK0YDQt9Cw0L3Qvi4iCiAKLSM6IHNoYTEtZmlsZS5jOjY1NworIzogc2hhMS1maWxlLmM6NzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCiBtc2dzdHIgItC10YLQsNC70L7QvdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSDigJ4lc+KAnCDQvdC1INC1INC70L7QutCw0LvQvdC+IgogCi0jOiBzaGExLWZpbGUuYzo2NjMKKyM6IHNoYTEtZmlsZS5jOjcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIHNoYWxsb3ciCiBtc2dzdHIgItC10YLQsNC70L7QvdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSDigJ4lc+KAnCDQtSDQv9C70LjRgtC60L4iCiAKLSM6IHNoYTEtZmlsZS5jOjY3MQorIzogc2hhMS1maWxlLmM6NzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKIG1zZ3N0ciAi0LXRgtCw0LvQvtC90L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1IOKAniVz4oCcINC1INGBINC/0YDQuNGB0LDQttC00LDQvdC1IgogCi0jOiBzaGExLWZpbGUuYzo3ODEKKyM6IHNoYTEtZmlsZS5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGxpbmUgd2hpbGUgcGFyc2luZyBhbHRlcm5hdGUgcmVmczogJXMiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INGA0LXQtCDQv9GA0Lgg0LDQvdCw0LvQuNC30LAg0L3QsCDQsNC70YLQtdGA0L3QsNGC0LjQstC90LjRgtC1INGD0LrQsNC30LDRgtC10LvQuDog4oCeJXPigJwiCisKKyM6IHNoYTEtZmlsZS5jOjk0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhdHRlbXB0aW5nIHRvIG1tYXAgJTxQUkl1TUFYPiBvdmVyIGxpbWl0ICU8UFJJdU1BWD4iCiBtc2dzdHIgIiIKICLQvdC10YPRgdC/0LXRiNC10L0g0L7Qv9C40YIg0LfQsCDigJ5tbWFw4oCcICU8UFJJdU1BWD4sINC60L7QtdGC0L4g0LUg0L3QsNC0INC/0L7Qt9Cy0L7Qu9C10L3QvtGC0L4gJTxQUkl1TUFYPiIKIAotIzogc2hhMS1maWxlLmM6ODA2CisjOiBzaGExLWZpbGUuYzo5NjQKIG1zZ2lkICJtbWFwIGZhaWxlZCIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg4oCebW1hcOKAnCIKIAotIzogc2hhMS1maWxlLmM6OTczCisjOiBzaGExLWZpbGUuYzoxMTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBmaWxlICVzIGlzIGVtcHR5IgogbXNnc3RyICLRhNCw0LnQu9GK0YIg0YEg0L7QsdC10LrRgtC40YLQtSDigJ4lc+KAnCDQtSDQv9GA0LDQt9C10L0iCiAKLSM6IHNoYTEtZmlsZS5jOjEwOTMgc2hhMS1maWxlLmM6MjIxNQorIzogc2hhMS1maWxlLmM6MTI1MiBzaGExLWZpbGUuYzoyMzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgbG9vc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgItC90LXQv9Cw0LrQtdGC0LjRgNCw0L3QuNGP0YIg0L7QsdC10LrRgiDigJ4lc+KAnCDQtSDQv9C+0LLRgNC10LTQtdC9IgogCi0jOiBzaGExLWZpbGUuYzoxMDk1IHNoYTEtZmlsZS5jOjIyMTkKKyM6IHNoYTEtZmlsZS5jOjEyNTQgc2hhMS1maWxlLmM6MjM5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnYXJiYWdlIGF0IGVuZCBvZiBsb29zZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAi0LPRgNC10YjQvdC4INC00LDQvdC90Lgg0LIg0LrRgNCw0Y8g0L3QsCDQvdC10L/QsNC60LXRgtC40YDQsNC90LjRjyDQvtCx0LXQutGCIOKAniVz4oCcIgogCi0jOiBzaGExLWZpbGUuYzoxMTM3CisjOiBzaGExLWZpbGUuYzoxMjk2CiBtc2dpZCAiaW52YWxpZCBvYmplY3QgdHlwZSIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0LLQuNC0INC+0LHQtdC60YIiCiAKLSM6IHNoYTEtZmlsZS5jOjEyMTkKKyM6IHNoYTEtZmlsZS5jOjEzODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayAlcyBoZWFkZXIgd2l0aCAtLWFsbG93LXVua25vd24tdHlwZSIKIG1zZ3N0ciAiIgogItC30LDQs9C70LDQstC90LDRgtCwINGH0LDRgdGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INGA0LDQt9C/0LDQutC10YLQuNGA0LAg0YEg0L7Qv9GG0LjRj9GC0LAg4oCeLS1hbGxvdy11bmtub3duLSIKICJ0eXBl4oCcIgogCi0jOiBzaGExLWZpbGUuYzoxMjIyCisjOiBzaGExLWZpbGUuYzoxMzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1bnBhY2sgJXMgaGVhZGVyIgogbXNnc3RyICLQt9Cw0LPQu9Cw0LLQvdCw0YLQsCDRh9Cw0YHRgiDQvdCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgNCw0LfQv9Cw0LrQtdGC0LjRgNCw0L3QsCIKIAotIzogc2hhMS1maWxlLmM6MTIyOAorIzogc2hhMS1maWxlLmM6MTM4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJXMgaGVhZGVyIHdpdGggLS1hbGxvdy11bmtub3duLXR5cGUiCiBtc2dzdHIgIiIKICLQt9Cw0LPQu9Cw0LLQvdCw0YLQsCDRh9Cw0YHRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQsNC90LDQu9C40LfQuNGA0LAg0YEg0L7Qv9GG0LjRj9GC0LAg4oCeLS1hbGxvdy11bmtub3duLXR5cGXigJwiCiAKLSM6IHNoYTEtZmlsZS5jOjEyMzEKKyM6IHNoYTEtZmlsZS5jOjEzOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICVzIGhlYWRlciIKIG1zZ3N0ciAi0LfQsNCz0LvQsNCy0L3QsNGC0LAg0YfQsNGB0YIg0L3QsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LDQvdCw0LvQuNC30LjRgNCw0L3QsCIKIAotIzogc2hhMS1maWxlLmM6MTQyMgorIzogc2hhMS1maWxlLmM6MTU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgItC+0LHQtdC60YLRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC9IgogCi0jOiBzaGExLWZpbGUuYzoxNDI2CisjOiBzaGExLWZpbGUuYzoxNTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcGxhY2VtZW50ICVzIG5vdCBmb3VuZCBmb3IgJXMiCiBtc2dzdHIgItC30LDQvNC10YHRgtC40YLQtdC70Y/RgiDigJ4lc+KAnCDQvdCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LrRgNC40YIiCiAKLSM6IHNoYTEtZmlsZS5jOjE0MzAKKyM6IHNoYTEtZmlsZS5jOjE1OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9vc2Ugb2JqZWN0ICVzIChzdG9yZWQgaW4gJXMpIGlzIGNvcnJ1cHQiCiBtc2dzdHIgItC90LXQv9Cw0LrQtdGC0LjRgNCw0L3QuNGP0YIg0L7QsdC10LrRgiDigJ4lc+KAnCAo0LIg4oCeJXPigJwpINC1INC/0L7QstGA0LXQtNC10L0iCiAKLSM6IHNoYTEtZmlsZS5jOjE0MzQKKyM6IHNoYTEtZmlsZS5jOjE1OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFja2VkIG9iamVjdCAlcyAoc3RvcmVkIGluICVzKSBpcyBjb3JydXB0IgogbXNnc3RyICLQv9Cw0LrQtdGC0LjRgNCw0L3QuNGP0YIg0L7QsdC10LrRgiDigJ4lc+KAnCAo0LIg4oCeJXPigJwpINC1INC/0L7QstGA0LXQtNC10L0iCiAKLSM6IHNoYTEtZmlsZS5jOjE1MzYKKyM6IHNoYTEtZmlsZS5jOjE2OTkKICMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIHNoYTEgZmlsZW5hbWUgJXMiCi1tc2dzdHIgItCz0YDQtdGI0LrQsCDQv9GA0Lgg0LfQsNC/0LjRgdCwINC90LAg0YTQsNC50LvQsCDRgdGK0YEg0YHRg9C80LjRgtC1INC/0L4gU0hBMSDigJ4lc+KAnCIKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAlcyIKK21zZ3N0ciAi0YTQsNC50LvRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QuNGB0LDQvSIKIAotIzogc2hhMS1maWxlLmM6MTU0MworIzogc2hhMS1maWxlLmM6MTcwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc2V0IHBlcm1pc3Npb24gdG8gJyVzJyIKIG1zZ3N0ciAi0L/RgNCw0LLQsNGC0LAg0LfQsCDQtNC+0YHRgtGK0L8g0LTQviDigJ4lc+KAnCDQvdC1INC80L7Qs9Cw0YIg0LTQsCDQsdGK0LTQsNGCINC30LDQtNCw0LTQtdC90LgiCiAKLSM6IHNoYTEtZmlsZS5jOjE1NTAKKyM6IHNoYTEtZmlsZS5jOjE3MTMKIG1zZ2lkICJmaWxlIHdyaXRlIGVycm9yIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0L/RgNC4INC30LDQv9C40YEg0L3QsCDRhNCw0LnQuyIKIAotIzogc2hhMS1maWxlLmM6MTU2OQotbXNnaWQgImVycm9yIHdoZW4gY2xvc2luZyBzaGExIGZpbGUiCi1tc2dzdHIgItCz0YDQtdGI0LrQsCDQv9GA0Lgg0LfQsNGC0LLQsNGA0Y/QvdC10YLQviDQvdCwINGE0LDQudC70LAg0YHRitGBINGB0YPQvNC40YLQtSDQv9C+IFNIQTEiCisjOiBzaGExLWZpbGUuYzoxNzMyCittc2dpZCAiZXJyb3Igd2hlbiBjbG9zaW5nIGxvb3NlIG9iamVjdCBmaWxlIgorbXNnc3RyICLQs9GA0LXRiNC60LAg0L/RgNC4INC30LDRgtCy0LDRgNGP0L3QtdGC0L4g0L3QsCDRhNCw0LnQu9CwINGBINC90LXQv9Cw0LrQtdGC0LjRgNCw0L0g0L7QsdC10LrRgiIKIAotIzogc2hhMS1maWxlLmM6MTYzNQorIzogc2hhMS1maWxlLmM6MTc5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnN1ZmZpY2llbnQgcGVybWlzc2lvbiBmb3IgYWRkaW5nIGFuIG9iamVjdCB0byByZXBvc2l0b3J5IGRhdGFiYXNlICVzIgogbXNnc3RyICIiCiAi0L3Rj9C80LAg0L/RgNCw0LLQsCDQt9CwINC00L7QsdCw0LLRj9C90LUg0L3QsCDQvtCx0LXQutGCINC60YrQvCDQsdCw0LfQsNGC0LAg0L7RgiDQtNCw0L3QvdC4INC90LAg0YXRgNCw0L3QuNC70LjRidC10YLQviDigJ4lc+KAnCIKIAotIzogc2hhMS1maWxlLmM6MTYzNworIzogc2hhMS1maWxlLmM6MTc5OQogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdGK0LfQtNCw0LTQtdC9INCy0YDQtdC80LXQvdC10L0g0YTQsNC50LsiCiAKLSM6IHNoYTEtZmlsZS5jOjE2NjEKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc2hhMSBmaWxlIgotbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9C40YjQtSDQstGK0LIg0YTQsNC50LvQsCDRgdGK0YEg0YHRg9C80LjRgtC1INC/0L4gU0hBMSIKKyM6IHNoYTEtZmlsZS5jOjE4MjMKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbG9vc2Ugb2JqZWN0IGZpbGUiCittc2dzdHIgItCz0YDQtdGI0LrQsCDQv9GA0Lgg0LfQsNC/0LjRgdCwINC90LAg0YTQsNC50LvQsCDRgSDQvdC10L/QsNC60LXRgtC40YDQsNC9INC+0LHQtdC60YIiCiAKLSM6IHNoYTEtZmlsZS5jOjE2NjcKKyM6IHNoYTEtZmlsZS5jOjE4MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgbmV3IG9iamVjdCAlcyAoJWQpIgogbXNnc3RyICLQvdC+0LLQuNGP0YIg0L7QsdC10LrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQutC+0LzQv9GA0LXRgdC40YDQsCDRgSDigJ5kZWZsYXRl4oCcOiAlZCIKIAotIzogc2hhMS1maWxlLmM6MTY3MQorIzogc2hhMS1maWxlLmM6MTgzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWZsYXRlRW5kIG9uIG9iamVjdCAlcyBmYWlsZWQgKCVkKSIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC/0YDQuNC60LvRjtGH0LLQsNC90LUg0L3QsCDigJ5kZWZsYXRl4oCcINCy0YrRgNGF0YMg4oCeJXPigJw6ICVkIgogCi0jOiBzaGExLWZpbGUuYzoxNjc1CisjOiBzaGExLWZpbGUuYzoxODM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbmZ1c2VkIGJ5IHVuc3RhYmxlIG9iamVjdCBzb3VyY2UgZGF0YSBmb3IgJXMiCiBtc2dzdHIgItCz0YDQtdGI0LrQsCDQv9C+0YDQsNC00Lgg0L3QtdGB0YLQsNCx0LjQu9C90LjRjyDQuNC30YLQvtGH0L3QuNC6INC00LDQvdC90Lgg0LfQsCDQvtCx0LXQutGC0LjRgtC1IOKAniVz4oCcIgogCi0jOiBzaGExLWZpbGUuYzoxNjg1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTE4CisjOiBzaGExLWZpbGUuYzoxODQ3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB1dGltZSgpIG9uICVzIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LfQsNC00LDQstCw0L3QtSDQvdCwINCy0YDQtdC80LUg0L3QsCDQtNC+0YHRgtGK0L8v0YHRitC30LTQsNCy0LDQvdC1INGH0YDQtdC3IOKAnnV0aW1l4oCcINC90LAg4oCeJXPigJwiCiAKLSM6IHNoYTEtZmlsZS5jOjE3NjAKKyM6IHNoYTEtZmlsZS5jOjE5MjIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHJlYWQgc2hhMV9maWxlIGZvciAlcyIKLW1zZ3N0ciAi0YTQsNC50LvRitGCINGB0YrRgSDRgdGD0LzQuNGC0LUg0L/QviBTSEExINC90LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCittc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0IGZvciAlcyIKK21zZ3N0ciAi0L7QsdC10LrRgtGK0YIg0LfQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0L7Rh9C10YLQtSIKIAotIzogc2hhMS1maWxlLmM6MTgwNQorIzogc2hhMS1maWxlLmM6MTk2MgogbXNnaWQgImNvcnJ1cHQgY29tbWl0IgogbXNnc3RyICLQv9C+0LLRgNC10LTQtdC90L4g0L/QvtC00LDQstCw0L3QtSIKIAotIzogc2hhMS1maWxlLmM6MTgxMworIzogc2hhMS1maWxlLmM6MTk3MAogbXNnaWQgImNvcnJ1cHQgdGFnIgogbXNnc3RyICLQv9C+0LLRgNC10LTQtdC9INC10YLQuNC60LXRgiIKIAotIzogc2hhMS1maWxlLmM6MTkxMgorIzogc2hhMS1maWxlLmM6MjA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGVycm9yIHdoaWxlIGluZGV4aW5nICVzIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0L/RgNC4INGH0LXRgtC10L3QtSDQv9C+INCy0YDQtdC80LUg0L3QsCDQuNC90LTQtdC60YHQuNGA0LDQvdC1INC90LAg4oCeJXPigJwiCiAKLSM6IHNoYTEtZmlsZS5jOjE5MTUKKyM6IHNoYTEtZmlsZS5jOjIwNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hvcnQgcmVhZCB3aGlsZSBpbmRleGluZyAlcyIKIG1zZ3N0ciAi0L3QtdC/0YrQu9C90L4g0L/RgNC+0YfQuNGC0LDQvdC1INC/0L4g0LLRgNC10LzQtSDQvdCwINC40L3QtNC10LrRgdC40YDQsNC90LUg0L3QsCDigJ4lc+KAnCIKIAotIzogc2hhMS1maWxlLmM6MTk4OCBzaGExLWZpbGUuYzoxOTk3CisjOiBzaGExLWZpbGUuYzoyMTQ1IHNoYTEtZmlsZS5jOjIxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZhaWxlZCB0byBpbnNlcnQgaW50byBkYXRhYmFzZSIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LLQvNGK0LrQvdC1INCyINCx0LDQt9Cw0YLQsCDQvtGCINC00LDQvdC90LgiCiAKLSM6IHNoYTEtZmlsZS5jOjIwMDMKKyM6IHNoYTEtZmlsZS5jOjIxNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuc3VwcG9ydGVkIGZpbGUgdHlwZSIKIG1zZ3N0ciAi0L3QtdC/0L7QtNC00YrRgNC20LDQvSDQstC40LQg0YTQsNC50Ls6IOKAniVz4oCcIgogCi0jOiBzaGExLWZpbGUuYzoyMDI3CisjOiBzaGExLWZpbGUuYzoyMTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIG9iamVjdCIKIG1zZ3N0ciAi4oCeJXPigJwg0LUg0L3QtdC/0YDQsNCy0LjQu9C10L0g0L7QsdC10LrRgiIKIAotIzogc2hhMS1maWxlLmM6MjAyOQorIzogc2hhMS1maWxlLmM6MjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCAnJXMnIG9iamVjdCIKIG1zZ3N0ciAi4oCeJXPigJwg0LUg0L3QtdC/0YDQsNCy0LjQu9C10L0g0L7QsdC10LrRgiDQvtGCINCy0LjQtCDigJ4lc+KAnCIKIAotIzogc2hhMS1maWxlLmM6MjA1NiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQKKyM6IHNoYTEtZmlsZS5jOjIyMTMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgogbXNnc3RyICLQvtCx0LXQutGC0YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtCy0L7RgNC10L0iCiAKLSM6IHNoYTEtZmlsZS5jOjIyMjYgc2hhMS1maWxlLmM6MjI3OAorIzogc2hhMS1maWxlLmM6MjQwMyBzaGExLWZpbGUuYzoyNDU1CiAjLCBjLWZvcm1hdAotbXNnaWQgInNoYTEgbWlzbWF0Y2ggZm9yICVzIChleHBlY3RlZCAlcykiCi1tc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINGB0YPQvNCwINC/0L4gU0hBMSDQt9CwIOKAniVz4oCcICjRgtGA0Y/QsdCy0LAg0LTQsCDQtSAlcykiCittc2dpZCAiaGFzaCBtaXNtYXRjaCBmb3IgJXMgKGV4cGVjdGVkICVzKSIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90LAg0LrQvtC90YLRgNC+0LvQvdCwINGB0YPQvNCwINC30LAg4oCeJXPigJwgKNGC0YDRj9Cx0LLQsCDQtNCwINC1ICVzKSIKIAotIzogc2hhMS1maWxlLmM6MjI1MAorIzogc2hhMS1maWxlLmM6MjQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbW1hcCAlcyIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg4oCebW1hcOKAnCDQstGK0YDRhdGDIOKAniVz4oCcIgogCi0jOiBzaGExLWZpbGUuYzoyMjU1CisjOiBzaGExLWZpbGUuYzoyNDMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1bnBhY2sgaGVhZGVyIG9mICVzIgogbXNnc3RyICLQt9Cw0LPQu9Cw0LLQvdCw0YLQsCDRh9Cw0YHRgiDQvdCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgNCw0LfQv9Cw0LrQtdGC0LjRgNCw0L3QsCIKIAotIzogc2hhMS1maWxlLmM6MjI2MQorIzogc2hhMS1maWxlLmM6MjQzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgaGVhZGVyIG9mICVzIgogbXNnc3RyICLQt9Cw0LPQu9Cw0LLQvdCw0YLQsCDRh9Cw0YHRgiDQvdCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQsNC90LDQu9C40LfQuNGA0LDQvdCwIgogCi0jOiBzaGExLWZpbGUuYzoyMjcyCisjOiBzaGExLWZpbGUuYzoyNDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1bnBhY2sgY29udGVudHMgb2YgJXMiCiBtc2dzdHIgItGB0YrQtNGK0YDQttCw0L3QuNC10YLQviDQvdCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgNCw0LfQv9Cw0LrQtdGC0LjRgNCw0L3QviIKIAotIzogc2hhMS1uYW1lLmM6NDc2CisjOiBzaGExLW5hbWUuYzo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hvcnQgU0hBMSAlcyBpcyBhbWJpZ3VvdXMiCiBtc2dzdHIgItC60YrRgdC40Y/RgiBTSEExIOKAniVz4oCcINC90LUg0LUg0LXQtNC90L7Qt9C90LDRh9C10L0iCiAKLSM6IHNoYTEtbmFtZS5jOjQ4NworIzogc2hhMS1uYW1lLmM6NDk4CiBtc2dpZCAiVGhlIGNhbmRpZGF0ZXMgYXJlOiIKIG1zZ3N0ciAi0JLRitC30LzQvtC20L3QvtGB0YLQuNGC0LUg0YHQsDoiCiAKLSM6IHNoYTEtbmFtZS5jOjc3MAorIzogc2hhMS1uYW1lLmM6Nzk3CiBtc2dpZCAiIgogIkdpdCBub3JtYWxseSBuZXZlciBjcmVhdGVzIGEgcmVmIHRoYXQgZW5kcyB3aXRoIDQwIGhleCBjaGFyYWN0ZXJzXG4iCiAiYmVjYXVzZSBpdCB3aWxsIGJlIGlnbm9yZWQgd2hlbiB5b3UganVzdCBzcGVjaWZ5IDQwLWhleC4gVGhlc2UgcmVmc1xuIgogIm1heSBiZSBjcmVhdGVkIGJ5IG1pc3Rha2UuIEZvciBleGFtcGxlLFxuIgogIlxuIgotIiAgZ2l0IGNoZWNrb3V0IC1iICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgorIiAgZ2l0IHN3aXRjaCAtYyAkYnIgJChnaXQgcmV2LXBhcnNlIC4uLilcbiIKICJcbiIKICJ3aGVyZSBcIiRiclwiIGlzIHNvbWVob3cgZW1wdHkgYW5kIGEgNDAtaGV4IHJlZiBpcyBjcmVhdGVkLiBQbGVhc2VcbiIKICJleGFtaW5lIHRoZXNlIHJlZnMgYW5kIG1heWJlIGRlbGV0ZSB0aGVtLiBUdXJuIHRoaXMgbWVzc2FnZSBvZmYgYnlcbiIKQEAgLTYxMjQsNzkgKzc4NTQsMTUyIEBACiAi0YjQtdGB0YLQvdCw0LTQtdGB0LXRgtC40YfQvdC4INC30L3QsNC60LAsINC30LDRidC+0YLQviDRgdGC0LDQvdC00LDRgNGC0L3QviDRgtC1INGJ0LUg0LHRitC00LDRgiDQv9GA0LXRgdC60LDRh9Cw0L3QuC5cbiIKICLQktGK0LfQvNC+0LbQvdC+INC1INGC0LDQutC40LLQsCDRg9C60LDQt9Cw0YLQtdC70Lgg0LTQsCDRgdCwINGB0YrQt9C00LDQtNC10L3QuCDRgdC70YPRh9Cw0LnQvdC+LiAg0J3QsNC/0YDQuNC80LXRgDpcbiIKICJcbiIKLSIgICAgZ2l0IGNoZWNrb3V0IC1iICRCUkFOQ0ggJChnaXQgcmV2LXBhcnNl4oCmKVxuIgorIiAgICBnaXQgc3dpdGNoIC1jICRCUkFOQ0ggJChnaXQgcmV2LXBhcnNlIOKApilcbiIKICJcbiIKICLQutGK0LTQtdGC0L4g0YHRgtC+0LnQvdC+0YHRgtGC0LAg0L3QsCDQv9GA0L7QvNC10L3Qu9C40LLQsNGC0LAg0L3QsCDRgdGA0LXQtNCw0YLQsCBCUkFOQ0gg0LUg0L/RgNCw0LfQvdCwLCDQv9GA0Lgg0LrQvtC10YLQviDRgdC1XG4iCi0i0YHRitC30LTQsNCy0LAg0L/QvtC00L7QsdC10L0g0YPQutCw0LfQsNGC0LXQuy4gINCf0YDQtdCz0LvQtdC00LDQudGC0LUg0YLQtdC30Lgg0YPQutCw0LfQsNGC0LXQu9C4INC4INCz0Lgg0LjQt9GC0YDQuNC50YLQtS4gINCc0L7QttC10YLQtSAiCisi0YHRitC30LTQsNCy0LAg0L/QvtC00L7QsdC10L0g0YPQutCw0LfQsNGC0LXQuy4gINCf0YDQtdCz0LvQtdC00LDQudGC0LUg0YLQtdC30Lgg0YPQutCw0LfQsNGC0LXQu9C4INC4INCz0Lgg0LjQt9GC0YDQuNC50YLQtS4gINCc0L7QttC1ICIKICLQtNCwXG4iCiAi0YHQv9GA0LXRgtC1INGC0L7QstCwINGB0YrQvtCx0YnQtdC90LjQtSDQutCw0YLQviDQuNC30L/RitC70L3QuNGC0LUg0LrQvtC80LDQvdC00LDRgtCwOlxuIgotIuKAnmdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNl4oCcIgorIlxuIgorIiAgICBnaXQgY29uZmlnIGFkdmljZS5vYmplY3ROYW1lV2FybmluZyBmYWxzZSIKIAotIzogc3VibW9kdWxlLmM6MTE2IHN1Ym1vZHVsZS5jOjE0NQorIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IGdpYmlieXRlCisjOiBzdHJidWYuYzo4MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgR2lCIgorbXNnc3RyICIldS4lMi4ydSBHaUIiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBnaWJpYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjgyNAorIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBHaUIvcyIKK21zZ3N0ciAiJXUuJTIuMnUgR2lCL3MiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBtZWJpYnl0ZQorIzogc3RyYnVmLmM6ODMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IE1pQiIKK21zZ3N0ciAiJXUuJTIuMnUgTWlCIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggbWViaWJ5dGUvc2Vjb25kCisjOiBzdHJidWYuYzo4MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgTWlCL3MiCittc2dzdHIgIiV1LiUyLjJ1IE1pQi9zIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDgga2liaWJ5dGUKKyM6IHN0cmJ1Zi5jOjg0MQorIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBLaUIiCittc2dzdHIgIiV1LiUyLjJ1IEtpQiIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IGtpYmlieXRlL3NlY29uZAorIzogc3RyYnVmLmM6ODQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IEtpQi9zIgorbXNnc3RyICIldS4lMi4ydSBLaUIvcyIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IGJ5dGUKKyM6IHN0cmJ1Zi5jOjg0OQorIywgYy1mb3JtYXQKK21zZ2lkICIldSBieXRlIgorbXNnaWRfcGx1cmFsICIldSBieXRlcyIKK21zZ3N0clswXSAiJXUg0LHQsNC50YIiCittc2dzdHJbMV0gIiV1INCx0LDQudGC0LAiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBieXRlL3NlY29uZAorIzogc3RyYnVmLmM6ODUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiV1IGJ5dGUvcyIKK21zZ2lkX3BsdXJhbCAiJXUgYnl0ZXMvcyIKK21zZ3N0clswXSAiJXUg0LHQsNC50YIv0YHQtdC6LiIKK21zZ3N0clsxXSAiJXUg0LHQsNC50YLQsC/RgdC10LouIgorCisjOiBzdHJidWYuYzoxMTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBlZGl0ICclcyciCittc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INGA0LXQtNCw0LrRgtC40YDQsCIKKworIzogc3VibW9kdWxlLmM6MTE0IHN1Ym1vZHVsZS5jOjE0MwogbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgogbXNnc3RyICIiCiAi0J3QtdGB0LvQtdGC0LjRgtC1INGE0LDQudC70L7QstC1IOKAni5naXRtb2R1bGVz4oCcINC90LUg0LzQvtCz0LDRgiDQtNCwINCx0YrQtNCw0YIg0L/RgNC+0LzQtdC90Y/QvdC4LiAg0J/RitGA0LLQviAiCiAi0LrQvtGA0LjQs9C40YDQsNC50YLQtSDQutC+0L3RhNC70LjQutGC0LjRgtC1IgogCi0jOiBzdWJtb2R1bGUuYzoxMjAgc3VibW9kdWxlLmM6MTQ5CisjOiBzdWJtb2R1bGUuYzoxMTggc3VibW9kdWxlLmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIKIG1zZ3N0ciAi0JLRitCyINGE0LDQudC70LAg4oCeLmdpdG1vZHVsZXPigJwg0LvQuNC/0YHQstCwINGA0LDQt9C00LXQuyDQt9CwINC00LjRgNC10LrRgtC+0YDQuNGPIOKAnnBhdGg9JXPigJwiCiAKLSM6IHN1Ym1vZHVsZS5jOjE1NgorIzogc3VibW9kdWxlLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgLmdpdG1vZHVsZXMgZW50cnkgZm9yICVzIgogbXNnc3RyICLQl9Cw0L/QuNGB0YrRgiDigJ4lc+KAnCDQstGK0LIg0YTQsNC50LvQsCDigJ4uZ2l0bW9kdWxlc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9GC0YDQuNGCIgogCi0jOiBzdWJtb2R1bGUuYzoxNjcKKyM6IHN1Ym1vZHVsZS5jOjE2NQogbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQtNC+0LHQsNCy0Y/QvdC1INC90LAg0L/RgNC+0LzQtdC90LXQvdC40Y8g0YTQsNC50Lsg4oCeLmdpdG1vZHVsZXPigJwg0LIg0LjQvdC00LXQutGB0LAiCiAKLSM6IHN1Ym1vZHVsZS5jOjMyOQorIzogc3VibW9kdWxlLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImluIHVucG9wdWxhdGVkIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICLQsiDQvdC10L/QvtC00LPQvtGC0LLQtdC90LjRjyDQv9C+0LTQvNC+0LTRg9C7IOKAniVz4oCcIgogCi0jOiBzdWJtb2R1bGUuYzozNjAKKyM6IHN1Ym1vZHVsZS5jOjM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJQYXRoc3BlYyAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCiBtc2dzdHIgItCf0YrRgtGP0YIg4oCeJXPigJwg0LUg0LIg0L/QvtC00LzQvtC00YPQu9CwIOKAniUuKnPigJwiCiAKLSM6IHN1Ym1vZHVsZS5jOjg1NworIzogc3VibW9kdWxlLmM6OTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgInN1Ym1vZHVsZSBlbnRyeSAnJXMnICglcykgaXMgYSAlcywgbm90IGEgY29tbWl0IgogbXNnc3RyICLQt9Cw0L/QuNGB0YrRgiDQt9CwINC/0L7QtNC80L7QtNGD0LvQsCDigJ4lc+KAnCAoJXMpINC1ICVzLCDQsCDQvdC1INC/0L7QtNCw0LLQsNC90LUhIgogCi0jOiBzdWJtb2R1bGUuYzoxMDk3IGJ1aWx0aW4vYnJhbmNoLmM6NjU2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTg1CisjOiBzdWJtb2R1bGUuYzoxMTQ3IGJ1aWx0aW4vYnJhbmNoLmM6NjgwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDE2CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgSEVBRCBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgItCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQutGA0LjQtSDQutGK0Lwg0LrQsNC60LLQviDRgdC+0YfQuCDRg9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcIgogCi0jOiBzdWJtb2R1bGUuYzoxNDA0CisjOiBzdWJtb2R1bGUuYzoxNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBhY2Nlc3Mgc3VibW9kdWxlICclcyciCittc2dzdHIgItCf0L7QtNC80L7QtNGD0LvRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQtNC+0YHRgtGK0L/QtdC9IgorCisjOiBzdWJtb2R1bGUuYzoxNjUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgbm90IHJlY29nbml6ZWQgYXMgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQtSDRhdGA0LDQvdC40LvQuNGJ0LUg0L3QsCBnaXQiCiAKLSM6IHN1Ym1vZHVsZS5jOjE1NDIKKyM6IHN1Ym1vZHVsZS5jOjE3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXJ0ICdnaXQgc3RhdHVzJyBpbiBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAi0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBzdGF0dXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9C/0YrQu9C90Lgg0LIg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcIgogCi0jOiBzdWJtb2R1bGUuYzoxNTU1CisjOiBzdWJtb2R1bGUuYzoxODAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBydW4gJ2dpdCBzdGF0dXMnIGluIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICLQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0IHN0YXR1c+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/RitC70L3QuCDQsiDQv9C+0LTQvNC+0LTRg9C70LAg4oCeJXPigJwiCiAKLSM6IHN1Ym1vZHVsZS5jOjE2NDgKKyM6IHN1Ym1vZHVsZS5jOjE4MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVuc2V0IGNvcmUud29ya3RyZWUgc2V0dGluZyBpbiBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAi0J3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5jb3JlLndvcmt0cmVl4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfRgtGA0LjQtSDQsiDQv9C+0LTQvNC+0LTRg9C70LAg4oCeJXPigJwiCisKKyM6IHN1Ym1vZHVsZS5jOjE5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3VibW9kdWxlICclcycgaGFzIGRpcnR5IGluZGV4IgogbXNnc3RyICLQuNC90LTQtdC60YHRitGCINC90LAg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcINC90LUg0LUg0YfQuNGB0YIiCiAKLSM6IHN1Ym1vZHVsZS5jOjE3MDAKKyM6IHN1Ym1vZHVsZS5jOjE5NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgY291bGQgbm90IGJlIHVwZGF0ZWQuIgogbXNnc3RyICLQn9C+0LTQvNC+0LTRg9C70YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtCx0L3QvtCy0LguIgogCi0jOiBzdWJtb2R1bGUuYzoxNzQ3CisjOiBzdWJtb2R1bGUuYzoyMDI3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSBnaXQgZGlyICclcycgaXMgaW5zaWRlIGdpdCBkaXIgJyUuKnMnIgorbXNnc3RyICLigJ4lc+KAnCAo0LTQuNGA0LXQutGC0L7RgNC40Y8g0L3QsCDQv9C+0LTQvNC+0LTRg9C7KSDQtSDQsiDQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg0L3QsCBnaXQ6IOKAniUuKnPigJwiCisKKyM6IHN1Ym1vZHVsZS5jOjIwNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJlbG9jYXRlX2dpdGRpciBmb3Igc3VibW9kdWxlICclcycgd2l0aCBtb3JlIHRoYW4gb25lIHdvcmt0cmVlIG5vdCBzdXBwb3J0ZWQiCkBAIC02MjA0LDEyICs4MDA3LDE3IEBACiAi0L3QtSDRgdC1INC/0L7QtNC00YrRgNC20LAg4oCecmVsb2NhdGVfZ2l0ZGly4oCcINC30LAg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcLCDQutC+0LnRgtC+INC40LzQsCDQv9C+0LLQtdGH0LUg0L7RgiDQtdC00L3QviAiCiAi0YDQsNCx0L7RgtC90L4g0LTRitGA0LLQviIKIAotIzogc3VibW9kdWxlLmM6MTc1OSBzdWJtb2R1bGUuYzoxODE1CisjOiBzdWJtb2R1bGUuYzoyMDYwIHN1Ym1vZHVsZS5jOjIxMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBuYW1lIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAi0LjQvNC10YLQviDQvdCwINC/0L7QtNC80L7QtNGD0LvQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L3QsNC80LXRgNC10L3QviIKIAotIzogc3VibW9kdWxlLmM6MTc2NgorIzogc3VibW9kdWxlLmM6MjA2NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZ1c2luZyB0byBtb3ZlICclcycgaW50byBhbiBleGlzdGluZyBnaXQgZGlyIgorbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0LXQvNC10YHRgtC4INCyINGB0YrRidC10YHRgtCy0YPQstCw0YnQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDQvdCwIGdpdCIKKworIzogc3VibW9kdWxlLmM6MjA3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTWlncmF0aW5nIGdpdCBkaXJlY3Rvcnkgb2YgJyVzJXMnIGZyb21cbiIKQEAgLTYyMjAsNDIgKzgwMjgsNDIgQEAKICLigJ4lc+KAnCDQutGK0LxcbiIKICLigJ4lc+KAnFxuIgogCi0jOiBzdWJtb2R1bGUuYzoxODUwCisjOiBzdWJtb2R1bGUuYzoyMTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWN1cnNlIGludG8gc3VibW9kdWxlICclcyciCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QsCDQvtCx0YDQsNCx0L7RgtC60LAg0L3QsCDQv9C+0LTQtNC40YDQtdC60YLQvtGA0LjQuNGC0LUg0LIg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcIgogCi0jOiBzdWJtb2R1bGUuYzoxODk0CisjOiBzdWJtb2R1bGUuYzoyMTk4CiBtc2dpZCAiY291bGQgbm90IHN0YXJ0IGxzLWZpbGVzIGluIC4uIgogbXNnc3RyICLigJ5scy1zdGF04oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INGB0YLQsNGA0YLQuNGA0LAg0LIg4oCeLi7igJwiCiAKLSM6IHN1Ym1vZHVsZS5jOjE5MzMKKyM6IHN1Ym1vZHVsZS5jOjIyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAibHMtdHJlZSByZXR1cm5lZCB1bmV4cGVjdGVkIHJldHVybiBjb2RlICVkIgogbXNnc3RyICLigJ5scy10cmVl4oCcINC30LDQstGK0YDRiNC4INGBINC90LXQvtGH0LDQutCy0LDQvSDQuNC30YXQvtC00LXQvSDQutC+0LQ6ICVkIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6MjMyCisjOiBzdWJtb2R1bGUtY29uZmlnLmM6MjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHN1c3BpY2lvdXMgc3VibW9kdWxlIG5hbWU6ICVzIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNCw0L3QtSDQvdCwINC/0L7QtNC+0LfRgNC40YLQtdC70L3QviDQuNC80LUg0L3QsCDQv9C+0LTQvNC+0LTRg9C7OiDigJ4lc+KAnCIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjI5NgorIzogc3VibW9kdWxlLWNvbmZpZy5jOjMwMwogbXNnaWQgIm5lZ2F0aXZlIHZhbHVlcyBub3QgYWxsb3dlZCBmb3Igc3VibW9kdWxlLmZldGNoam9icyIKIG1zZ3N0ciAi0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5zdWJtb2R1bGUuZmV0Y2hqb2Jz4oCcINC90LUg0L/RgNC40LXQvNCwINC+0YLRgNC40YbQsNGC0LXQu9C90Lgg0YHRgtC+0LnQvdC+0YHRgtC4IgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6MzkwCisjOiBzdWJtb2R1bGUtY29uZmlnLmM6NDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nICclcycgd2hpY2ggbWF5IGJlIGludGVycHJldGVkIGFzIGEgY29tbWFuZC1saW5lIG9wdGlvbjogJXMiCiBtc2dzdHIgIiIKICLigJ4lc+KAnCDRgdC1INC/0YDQtdGB0LrQsNGH0LAsINC30LDRidC+0YLQviDQtSDQstGK0LfQvNC+0LbQvdC+INC00LAg0YHQtSDRgtGK0LvQutGD0LLQsCDQutCw0YLQviDQvtC/0YbQuNGPINC30LAg0LrQvtC80LDQvdC00L3QuNGPICIKICLRgNC10LQ6ICVzIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6NDc5CisjOiBzdWJtb2R1bGUtY29uZmlnLmM6NDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCINC30LAg4oCeJXPigJwiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzo3NTQKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo3NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIKIG1zZ3N0ciAi0JfQsNC/0LjRgdGK0YIg4oCeJXPigJwg0LLRitCyINGE0LDQudC70LAg4oCeLmdpdG1vZHVsZXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtC80LXQvdC10L0iCkBAIC02MjkwLDcgKzgwOTgsNyBAQAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgItC+0YIg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQstGF0L7QtCDQvdC1INC80L7QttC1INC00LAg0YHQtSDRh9C10YLQtSIKIAotIzogdHJhaWxlci5jOjEwMTEgYnVpbHRpbi9hbS5jOjQ3CisjOiB0cmFpbGVyLmM6MTAxMSB3cmFwcGVyLmM6NjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGF0ICVzIgogbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0YHQtSDQv9C+0LvRg9GH0Lgg0LjQvdGE0L7RgNC80LDRhtC40Y8g0YfRgNC10Lcg4oCec3RhdOKAnCDQt9CwIOKAniVz4oCcIgpAQCAtNjMxOSwzOSArODEyNyw0OCBAQAogbXNnaWQgIldvdWxkIHNldCB1cHN0cmVhbSBvZiAnJXMnIHRvICclcycgb2YgJyVzJ1xuIgogbXNnc3RyICLQmtC70L7QvdGK0YIg4oCeJXPigJwg0YnQtSDRgdC70LXQtNC4IOKAniVz4oCcINC+0YIg4oCeJXPigJxcbiIKIAotIzogdHJhbnNwb3J0LmM6MTQyCisjOiB0cmFuc3BvcnQuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgYnVuZGxlICclcyciCiBtc2dzdHIgItC/0YDQsNGC0LrQsNGC0LAg0L3QsCBnaXQg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L3QsCIKIAotIzogdHJhbnNwb3J0LmM6MjA4CisjOiB0cmFuc3BvcnQuYzoyMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhbnNwb3J0OiBpbnZhbGlkIGRlcHRoIG9wdGlvbiAnJXMnIgogbXNnc3RyICJ0cmFuc3BvcnQ6INC90LXQv9GA0LDQstC40LvQvdCwINC+0L/RhtC40Y8g0LfQsCDQtNGK0LvQsdC+0YfQuNC90LA6ICVzIgogCi0jOiB0cmFuc3BvcnQuYzo2MTYKKyM6IHRyYW5zcG9ydC5jOjI2NgorbXNnaWQgInNlZSBwcm90b2NvbC52ZXJzaW9uIGluICdnaXQgaGVscCBjb25maWcnIGZvciBtb3JlIGRldGFpbHMiCittc2dzdHIgIiIKKyLQl9CwINC/0L7QstC10YfQtSDQuNC90YTQvtGA0LzQsNGG0LjRjyDQstC40LbRgtC1INGA0LDQt9C00LXQu9CwIOKAnnByb3RvY29sLnZlcnNpb27igJwg0LIg4oCeZ2l0IGhlbHAgY29uZmln4oCcIgorCisjOiB0cmFuc3BvcnQuYzoyNjcKK21zZ2lkICJzZXJ2ZXIgb3B0aW9ucyByZXF1aXJlIHByb3RvY29sIHZlcnNpb24gMiBvciBsYXRlciIKK21zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg0L3QsCDRgdGK0YDQstGK0YDQsCDQuNC30LjRgdC60LLQsNGCINC/0L7QvdC1INCy0LXRgNGB0LjRjyAyINC90LAg0L/RgNC+0YLQvtC60L7Qu9CwIgorCisjOiB0cmFuc3BvcnQuYzo2MzIKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgdHJhbnNwb3J0LmNvbG9yLiogY29uZmlnIgogbXNnc3RyICLRgdGC0L7QudC90L7RgdGC0YLQsCDQvdCwINC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCedHJhbnNwb3J0LmNvbG9yLirigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YDQsNC30L/QvtC30L3QsNC1IgogCi0jOiB0cmFuc3BvcnQuYzo2ODkKKyM6IHRyYW5zcG9ydC5jOjcwNQogbXNnaWQgInN1cHBvcnQgZm9yIHByb3RvY29sIHYyIG5vdCBpbXBsZW1lbnRlZCB5ZXQiCiBtc2dzdHIgItC/0YDQvtGC0L7QutC+0Lsg0LLQtdGA0YHQuNGPIDIg0LLRgdC1INC+0YnQtSDQvdC1INGB0LUg0L/QvtC00LTRitGA0LbQsCIKIAotIzogdHJhbnNwb3J0LmM6ODE2CisjOiB0cmFuc3BvcnQuYzo4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biB2YWx1ZSBmb3IgY29uZmlnICclcyc6ICVzIgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwINC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCeJXPigJw6IOKAniVz4oCcIgogCi0jOiB0cmFuc3BvcnQuYzo4ODIKKyM6IHRyYW5zcG9ydC5jOjg5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFuc3BvcnQgJyVzJyBub3QgYWxsb3dlZCIKIG1zZ3N0ciAi0L/RgNC10L3QvtGB0YrRgiDQv9C+IOKAniVz4oCcINC90LUg0LUg0L/QvtC30LLQvtC70LXQvSIKIAotIzogdHJhbnNwb3J0LmM6OTM2CisjOiB0cmFuc3BvcnQuYzo5NDkKIG1zZ2lkICJnaXQtb3Zlci1yc3luYyBpcyBubyBsb25nZXIgc3VwcG9ydGVkIgogbXNnc3RyICLQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0LW92ZXItcnN5bmPigJwg0LLQtdGH0LUg0L3QtSDRgdC1INC/0L7QtNC00YrRgNC20LAiCiAKLSM6IHRyYW5zcG9ydC5jOjEwMzEKKyM6IHRyYW5zcG9ydC5jOjEwNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIHBhdGhzIGNvbnRhaW4gY2hhbmdlcyB0aGF0IGNhblxuIgpAQCAtNjM2MCw3ICs4MTc3LDcgQEAKICLQodC70LXQtNC90LjRgtC1INC/0YrRgtC40YnQsCDQt9CwINC/0L7QtNC80L7QtNGD0LvQuCDRgdGK0LTRitGA0LbQsNGCINC/0YDQvtC80LXQvdC4LFxuIgogItC60L7QuNGC0L4g0LvQuNC/0YHQstCw0YIg0L7RgiDQstGB0LjRh9C60Lgg0L7RgtC00LDQu9C10YfQtdC90Lgg0YXRgNCw0L3QuNC70LjRidCwOlxuIgogCi0jOiB0cmFuc3BvcnQuYzoxMDM1CisjOiB0cmFuc3BvcnQuYzoxMDQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTYzODUsMzkgKzgyMDIsMzQgQEAKICIgICAgZ2l0IHB1c2hcbiIKICJcbiIKIAotIzogdHJhbnNwb3J0LmM6MTA0MworIzogdHJhbnNwb3J0LmM6MTA1NgogbXNnaWQgIkFib3J0aW5nLiIKIG1zZ3N0ciAi0J/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1INC90LAg0LTQtdC50YHRgtCy0LjQtdGC0L4uIgogCi0jOiB0cmFuc3BvcnQuYzoxMTgyCisjOiB0cmFuc3BvcnQuYzoxMjAxCiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggYWxsIG5lZWRlZCBzdWJtb2R1bGVzIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9GC0LvQsNGB0LrQstCw0L3QtSDQvdCwINCy0YHQuNGH0LrQuCDQvdC10L7QsdGF0L7QtNC40LzQuCDQv9C+0LTQvNC+0LTRg9C70LgiCiAKLSM6IHRyYW5zcG9ydC5jOjEzMTUgdHJhbnNwb3J0LWhlbHBlci5jOjY0MworIzogdHJhbnNwb3J0LmM6MTM0NSB0cmFuc3BvcnQtaGVscGVyLmM6NjU2CiBtc2dpZCAib3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wiCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwINC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCwINC+0YIg0L/RgNC+0YLQvtC60L7Qu9CwIgogCi0jOiB0cmFuc3BvcnQuYzoxNDE5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgbGluZSB3aGlsZSBwYXJzaW5nIGFsdGVybmF0ZSByZWZzOiAlcyIKLW1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YDQtdC0INC/0YDQuCDQsNC90LDQu9C40LfQsCDQvdCwINCw0LvRgtC10YDQvdCw0YLQuNCy0L3QuNGC0LUg0YPQutCw0LfQsNGC0LXQu9C4OiDigJ4lc+KAnCIKLQotIzogdHJhbnNwb3J0LWhlbHBlci5jOjUxIHRyYW5zcG9ydC1oZWxwZXIuYzo4MAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjYxIHRyYW5zcG9ydC1oZWxwZXIuYzo5MAogbXNnaWQgImZ1bGwgd3JpdGUgdG8gcmVtb3RlIGhlbHBlciBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0LXQvSDQv9GK0LvQtdC9INC30LDQv9C40YEg0LrRitC8INC90LDRgdGA0LXRidC90LDRgtCwINC/0L7QvNC+0YnQvdCwINC/0YDQvtCz0YDQsNC80LAiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGZpbmQgcmVtb3RlIGhlbHBlciBmb3IgJyVzJyIKIG1zZ3N0ciAi0L3QsNGB0YDQtdGJ0L3QsNGC0LAg0L/QvtC80L7RidC90LAg0L/RgNC+0LPRgNCw0LzQsCDQt9CwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LrRgNC40YLQsCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjE0OCB0cmFuc3BvcnQtaGVscGVyLmM6NTU3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTYwIHRyYW5zcG9ydC1oZWxwZXIuYzo1NzAKIG1zZ2lkICJjYW4ndCBkdXAgaGVscGVyIG91dHB1dCBmZCIKIG1zZ3N0ciAiIgogItGE0LDQudC70L7QstC40Y/RgiDQtNC10YHQutGA0LjQv9GC0L7RgCDQvtGCINC90LDRgdGA0LXRidC90LDRgtCwINC/0L7QvNC+0YnQvdCwINC/0YDQvtCz0YDQsNC80LAg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LTRg9Cx0LvQuNGA0LAg0YEgIgogIuKAnmR1cOKAnCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjE5OQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjIxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidW5rbm93biBtYW5kYXRvcnkgY2FwYWJpbGl0eSAlczsgdGhpcyByZW1vdGUgaGVscGVyIHByb2JhYmx5IG5lZWRzIG5ld2VyICIKQEAgLTY0MjYsMTA2ICs4MjM4LDExMSBAQAogItC90LXQv9C+0LfQvdCw0YLQsCDQt9Cw0LTRitC70LbQuNGC0LXQu9C90LAg0YHQv9C+0YHQvtCx0L3QvtGB0YIg4oCeJXPigJwuICDQndCw0YHRgNC10YnQvdCw0YLQsCDQv9C+0LzQvtGJ0L3QsCDQv9GA0L7Qs9GA0LDQvNCwICIKICLQstC10YDQvtGP0YLQvdC+INC40LfQuNGB0LrQstCwINC90L7QstCwINCy0LXRgNGB0LjRjyDQvdCwIEdpdCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjIwNQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjIxNwogbXNnaWQgInRoaXMgcmVtb3RlIGhlbHBlciBzaG91bGQgaW1wbGVtZW50IHJlZnNwZWMgY2FwYWJpbGl0eSIKIG1zZ3N0ciAiIgogItC90LDRgdGA0LXRidC90LDRgtCwINC/0L7QvNC+0YnQvdCwINC/0YDQvtCz0YDQsNC80LAg0YLRgNGP0LHQstCwINC00LAg0L/QvtC00LTRitGA0LbQsCDRgdC/0L7RgdC+0LHQvdC+0YHRgiDQt9CwINC40LfQsdGA0L7Rj9Cy0LDQvdC1INC90LAgIgogItGD0LrQsNC30LDRgtC10LvQuCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjI3MiB0cmFuc3BvcnQtaGVscGVyLmM6NDEyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6Mjg0IHRyYW5zcG9ydC1oZWxwZXIuYzo0MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdW5leHBlY3RlZGx5IHNhaWQ6ICclcyciCiBtc2dzdHIgIuKAniVz4oCcINC90LXQvtGH0LDQutCy0LDQvdC+INCy0YrRgNC90LA6IOKAniVz4oCcIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NDAxCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGFsc28gbG9ja2VkICVzIgogbXNnc3RyICLigJ4lc+KAnCDQt9Cw0LrQu9GO0YfQuCDQuCDigJ4lc+KAnCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjQ3OQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjQ5MgogbXNnaWQgImNvdWxkbid0IHJ1biBmYXN0LWltcG9ydCIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg0LHRitGA0LfQviDQstC90LDRgdGP0L3QtSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjUwMgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjUxNQogbXNnaWQgImVycm9yIHdoaWxlIHJ1bm5pbmcgZmFzdC1pbXBvcnQiCiBtc2dzdHIgItCz0YDQtdGI0LrQsCDQv9GA0Lgg0LjQt9C/0YrQu9C90LXQvdC40LXRgtC+INC90LAg0LHRitGA0LfQviDQstC90LDRgdGP0L3QtSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjUzMSB0cmFuc3BvcnQtaGVscGVyLmM6MTA5MQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjU0NCB0cmFuc3BvcnQtaGVscGVyLmM6MTEzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCByZWYgJXMiCiBtc2dzdHIgItGD0LrQsNC30LDRgtC10LvRj9GCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQvtGH0LXRgtC1IgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NTc2CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gcmVzcG9uc2UgdG8gY29ubmVjdDogJXMiCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvSDQvtGC0LPQvtCy0L7RgCDQv9GA0Lgg0YHQstGK0YDQt9Cy0LDQvdC1OiDigJ4lc+KAnCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjU5OAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjYxMQogbXNnaWQgInNldHRpbmcgcmVtb3RlIHNlcnZpY2UgcGF0aCBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sIgogbXNnc3RyICLQv9GA0L7RgtC+0LrQvtC70YrRgiDQvdC1INC/0L7QtNC00YrRgNC20LAg0LfQsNC00LDQstCw0L3QtdGC0L4g0L3QsCDQv9GK0YIg0L3QsCDQvtGC0LTQsNC70LXRh9C10L3QsNGC0LAg0YPRgdC70YPQs9CwIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NjAwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjEzCiBtc2dpZCAiaW52YWxpZCByZW1vdGUgc2VydmljZSBwYXRoIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQv9GK0YIg0L3QsCDQvtGC0LTQsNC70LXRh9C10L3QsNGC0LAg0YPRgdC70YPQs9CwIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NjQ2CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IGNvbm5lY3QgdG8gc3Vic2VydmljZSAlcyIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INGB0LLRitGA0LfQstCw0L3QtSDQutGK0Lwg0L/QvtC00YPRgdC70YPQs9Cw0YLQsCDigJ4lc+KAnCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjcxMworIzogdHJhbnNwb3J0LWhlbHBlci5jOjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBvay9lcnJvciwgaGVscGVyIHNhaWQgJyVzJyIKIG1zZ3N0ciAiIgogItC+0YfQsNC60LLQsCDRgdC1INC40LvQuCDRg9GB0L/QtdGFLCDQuNC70Lgg0LPRgNC10YjQutCwLCDQvdC+INC90LDRgdGA0LXRidC90LDRgtCwINC/0L7QvNC+0YnQvdCwINC/0YDQvtCz0YDQsNC80LAg0LLRitGA0L3QsCDigJ4lc+KAnCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjc2NgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjc4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgcmVwb3J0ZWQgdW5leHBlY3RlZCBzdGF0dXMgb2YgJXMiCiBtc2dzdHIgItC90LDRgdGA0LXRidC90LDRgtCwINC/0L7QvNC+0YnQvdCwINC/0YDQvtCz0YDQsNC80LAg0LfQsNCy0YrRgNGI0Lgg0YEg0L3QtdC+0YfQsNC60LLQsNC9INC40LfRhdC+0LTQtdC9INC60L7QtDog4oCeJXPigJwiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4MjcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgZHJ5LXJ1biIKIG1zZ3N0ciAi0L3QsNGB0YDQtdGJ0L3QsNGC0LAg0L/QvtC80L7RidC90LAg0L/RgNC+0LPRgNCw0LzQsCDigJ4lc+KAnCDQvdC1INC/0L7QtNC00YrRgNC20LAg0L/RgNC+0LHQuCDigJ5kcnktcnVu4oCcIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6ODMwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIgogbXNnc3RyICLQvdCw0YHRgNC10YnQvdCw0YLQsCDQv9C+0LzQvtGJ0L3QsCDQv9GA0L7Qs9GA0LDQvNCwIOKAniVz4oCcINC90LUg0L/QvtC00LTRitGA0LbQsCDQvtC/0YbQuNGP0YLQsCDigJ4tLXNpZ25lZOKAnCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjgzMworIzogdHJhbnNwb3J0LWhlbHBlci5jOjg1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAtLXNpZ25lZD1pZi1hc2tlZCIKIG1zZ3N0ciAiIgogItC90LDRgdGA0LXRidC90LDRgtCwINC/0L7QvNC+0YnQvdCwINC/0YDQvtCz0YDQsNC80LAg4oCeJXPigJwg0L3QtSDQv9C+0LTQtNGK0YDQttCwINC+0L/RhtC40Y/RgtCwIOKAni0tc2lnbmVkPWlmLWFza2Vk4oCcIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6ODQwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIgorbXNnc3RyICLQvdCw0YHRgNC10YnQvdCw0YLQsCDQv9C+0LzQvtGJ0L3QsCDQv9GA0L7Qs9GA0LDQvNCwIOKAniVz4oCcINC90LUg0L/QvtC00LTRitGA0LbQsCDQvtC/0YbQuNGP0YLQsCDigJ4tLWF0b21pY+KAnCIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjg2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAncHVzaC1vcHRpb24nIgogbXNnc3RyICLQvdCw0YHRgNC10YnQvdCw0YLQsCDQv9C+0LzQvtGJ0L3QsCDQv9GA0L7Qs9GA0LDQvNCwIOKAniVz4oCcINC90LUg0L/QvtC00LTRitGA0LbQsCDQvtC/0YbQuNC4INC30LAg0LjQt9GC0LvQsNGB0LrQstCw0L3QtSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjkzMgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjk2NAogbXNnaWQgInJlbW90ZS1oZWxwZXIgZG9lc24ndCBzdXBwb3J0IHB1c2g7IHJlZnNwZWMgbmVlZGVkIgogbXNnc3RyICIiCiAi0L3QsNGB0YDQtdGJ0L3QsNGC0LAg0L/QvtC80L7RidC90LAg0L/RgNC+0LPRgNCw0LzQsCDQvdC1INC/0L7QtNC00YrRgNC20LAg0LjQt9GC0LvQsNGB0LrQstCw0L3QtS4gINCd0LXQvtCx0YXQvtC00LjQvNC+INC1ICIKICLQuNC30LHRgNC+0Y/QstCw0L3QtSDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5MzcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgJ2ZvcmNlJyIKIG1zZ3N0ciAiIgogItC90LDRgdGA0LXRidC90LDRgtCwINC/0L7QvNC+0YnQvdCwINC/0YDQvtCz0YDQsNC80LAg0L3QtSDQv9C+0LTQtNGK0YDQttCwIOKAniVz4oCcINC/0L7QtNC00YrRgNC20LAg0L7Qv9GG0LjRj9GC0LAg4oCeLS1mb3JjZeKAnCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjk4NAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwMTYKIG1zZ2lkICJjb3VsZG4ndCBydW4gZmFzdC1leHBvcnQiCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQstGK0YDRiNC4INCx0YrRgNC30L4g0LjQt9C90LDRgdGP0L3QtSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjk4OQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwMjEKIG1zZ2lkICJlcnJvciB3aGlsZSBydW5uaW5nIGZhc3QtZXhwb3J0IgogbXNnc3RyICLQs9GA0LXRiNC60LAg0L/RgNC4INC40LfQv9GK0LvQvdC10L3QuNC10YLQviDQvdCwINC60L7QvNCw0L3QtNCw0YLQsCDQt9CwINCx0YrRgNC30L4g0LjQt9C90LDRgdGP0L3QtSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwMTQKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyByZWZzIGluIGNvbW1vbiBhbmQgbm9uZSBzcGVjaWZpZWQ7IGRvaW5nIG5vdGhpbmcuXG4iCkBAIC02NTM0LDQ3ICs4MzUxLDQ3IEBACiAi0J3Rj9C80LAg0L7QsdGJ0Lgg0YPQutCw0LfQsNGC0LXQu9C4LCDQvdC1INGB0LAg0YPQutCw0LfQsNC90Lgg0L3QuNC60LDQutCy0Lgg0YPQutCw0LfQsNGC0LXQu9C4IOKAlCDQvdC40YnQviDQvdGP0LzQsCDQtNCwINCx0YrQtNC1XG4iCiAi0L3QsNC/0YDQsNCy0LXQvdC+LiAg0J/RgNC+0LHQstCw0LnRgtC1INC00LAg0YPQutCw0LbQtdGC0LUg0LrQu9C+0L0sINC90LDQv9GALiDigJxtYXN0ZXLigJwuXG4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDc3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTExOQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgcmVzcG9uc2UgaW4gcmVmIGxpc3Q6ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQvtGC0LPQvtCy0L7RgCDQsiDRgdC/0LjRgdGK0LrQsCDRgSDRg9C60LDQt9Cw0YLQtdC70Lg6IOKAniVz4oCcIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTIzMQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCglcykgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0YfQtdGC0LXQvdC1INC90LAg4oCeJXPigJwiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMjU4CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3cml0ZSglcykgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC10L0g0LfQsNC/0LjRgSDQsiDigJ4lc+KAnCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMDcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHRocmVhZCBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwINC90LjRiNC60LDRgtCwIOKAniVz4oCcIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTMxMQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdGhyZWFkIGZhaWxlZCB0byBqb2luOiAlcyIKIG1zZ3N0ciAi0LfQsNCy0YrRgNGI0LLQsNC90LXRgtC+INC90LAg0L3QuNGI0LrQsNGC0LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9GH0LDQutCwOiDigJ4lc+KAnCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMzAgdHJhbnNwb3J0LWhlbHBlci5jOjEzMzQKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzcwIHRyYW5zcG9ydC1oZWxwZXIuYzoxMzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IHN0YXJ0IHRocmVhZCBmb3IgY29weWluZyBkYXRhOiAlcyIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INGB0YLQsNGA0YLQuNGA0LDQvdC1INC90LAg0L3QuNGI0LrQsCDQt9CwINC60L7Qv9C40YDQsNC90LUg0L3QsCDQtNCw0L3QvdC40YLQtTog4oCeJXPigJwiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzcxCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTQxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBwcm9jZXNzIGZhaWxlZCB0byB3YWl0IgogbXNnc3RyICLQv9GA0L7RhtC10YHRitGCINC90LAg4oCeJXPigJwg0L3QtSDRg9GB0L/RjyDQtNCwINC40LfRh9Cw0LrQsCDRh9GA0LXQtyDigJ53YWl0cGlk4oCcIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM3NQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjE0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcHJvY2VzcyBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwIOKAniVz4oCcIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM5MyB0cmFuc3BvcnQtaGVscGVyLmM6MTQwMgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjE0MzMgdHJhbnNwb3J0LWhlbHBlci5jOjE0NDIKIG1zZ2lkICJjYW4ndCBzdGFydCB0aHJlYWQgZm9yIGNvcHlpbmcgZGF0YSIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INGB0YLQsNGA0YLQuNGA0LDQvdC1INC90LAg0L3QuNGI0LrQsCDQt9CwINC60L7Qv9C40YDQsNC90LUg0L3QsCDQtNCw0L3QvdC40YLQtSIKIApAQCAtNjU5MCwxMSArODQwNywxMSBAQAogbXNnaWQgImVtcHR5IGZpbGVuYW1lIGluIHRyZWUgZW50cnkiCiBtc2dzdHIgItC/0YDQsNC30L3QviDQuNC80LUg0L3QsCDRhNCw0LnQuyDQsiDQt9Cw0L/QuNGBINCyINC00YrRgNCy0L4iCiAKLSM6IHRyZWUtd2Fsay5jOjExNQorIzogdHJlZS13YWxrLmM6MTE4CiBtc2dpZCAidG9vLXNob3J0IHRyZWUgZmlsZSIKIG1zZ3N0ciAi0L/RgNC10LrQsNC70LXQvdC+INC60YDQsNGC0YrQuiDRhNCw0LnQuy3QtNGK0YDQstC+IgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTIKKyM6IHVucGFjay10cmVlcy5jOjExMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCkBAIC02NjAzLDcgKzg0MjAsNyBAQAogItCY0LfRgtC10LPQu9GP0L3QtdGC0L4g0YnQtSDQv9GA0LXQt9Cw0L/QuNGI0LUg0LvQvtC60LDQu9C90LjRgtC1INC/0YDQvtC80LXQvdC4INC90LAg0YLQtdC30Lgg0YTQsNC50LvQvtCy0LU6XG4iCiAiJSVz0J/QvtC00LDQudGC0LUg0LjQu9C4INGB0LrQsNGC0LDQudGC0LUg0L/RgNC+0LzQtdC90LjRgtC1LCDQt9CwINC00LAg0L/RgNC10LzQuNC90LXRgtC1INC60YrQvCDQvdC+0LIg0LrQu9C+0L0uIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTQKKyM6IHVucGFjay10cmVlcy5jOjExMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCkBAIC02NjEyLDcgKzg0MjksNyBAQAogItCY0LfRgtC10LPQu9GP0L3QtdGC0L4g0YnQtSDQv9GA0LXQt9Cw0L/QuNGI0LUg0LvQvtC60LDQu9C90LjRgtC1INC/0YDQvtC80LXQvdC4INC90LAg0YLQtdC30Lgg0YTQsNC50LvQvtCy0LU6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTcKKyM6IHVucGFjay10cmVlcy5jOjExNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC02NjIxLDcgKzg0MzgsNyBAQAogItCh0LvQuNCy0LDQvdC10YLQviDRidC1INC/0YDQtdC30LDQv9C40YjQtSDQu9C+0LrQsNC70L3QuNGC0LUg0L/RgNC+0LzQtdC90Lgg0L3QsCDRgtC10LfQuCDRhNCw0LnQu9C+0LLQtTpcbiIKICIlJXPQn9C+0LTQsNC50YLQtSDQuNC70Lgg0YHQutCw0YLQsNC50YLQtSDQv9GA0L7QvNC10L3QuNGC0LUsINC30LAg0LTQsCDRgdC70LXQtdGC0LUuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTkKKyM6IHVucGFjay10cmVlcy5jOjExNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC02NjMwLDcgKzg0NDcsNyBAQAogItCh0LvQuNCy0LDQvdC10YLQviDRidC1INC/0YDQtdC30LDQv9C40YjQtSDQu9C+0LrQsNC70L3QuNGC0LUg0L/RgNC+0LzQtdC90Lgg0L3QsCDRgtC10LfQuCDRhNCw0LnQu9C+0LLQtTpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEyMgorIzogdW5wYWNrLXRyZWVzLmM6MTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTY2MzksNyArODQ1Niw3IEBACiAi4oCeJXPigJwg0YnQtSDQv9GA0LXQt9Cw0L/QuNGI0LUg0LvQvtC60LDQu9C90LjRgtC1INC/0YDQvtC80LXQvdC4INC90LAg0YLQtdC30Lgg0YTQsNC50LvQvtCy0LU6XG4iCiAiJSVz0J/QvtC00LDQudGC0LUg0LjQu9C4INGB0LrQsNGC0LDQudGC0LUg0L/RgNC+0LzQtdC90LjRgtC1LCDQt9CwINC00LAg0LjQt9Cy0YrRgNGI0LjRgtC1IOKAniVz4oCcLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTI0CisjOiB1bnBhY2stdHJlZXMuYzoxMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtNjY0OCw3ICs4NDY1LDcgQEAKICLigJ4lc+KAnCDRidC1INC/0YDQtdC30LDQv9C40YjQtSDQu9C+0LrQsNC70L3QuNGC0LUg0L/RgNC+0LzQtdC90Lgg0L3QsCDRgtC10LfQuCDRhNCw0LnQu9C+0LLQtTpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEyOQorIzogdW5wYWNrLXRyZWVzLmM6MTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJVcGRhdGluZyB0aGUgZm9sbG93aW5nIGRpcmVjdG9yaWVzIHdvdWxkIGxvc2UgdW50cmFja2VkIGZpbGVzIGluIHRoZW06XG4iCkBAIC02NjU3LDcgKzg0NzQsNyBAQAogItCe0LHQvdC+0LLRj9Cy0LDQvdC10YLQviDQvdCwINGB0LvQtdC00L3QuNGC0LUg0LTQuNGA0LXQutGC0L7RgNC40Lgg0YnQtSDQuNC30YLRgNC40LUg0L3QtdGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSDQsiDRgtGP0YU6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzMworIzogdW5wYWNrLXRyZWVzLmM6MTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKQEAgLTY2NjYsNyArODQ4Myw3IEBACiAi0JjQt9GC0LXQs9C70Y/QvdC10YLQviDRidC1INC40LfRgtGA0LjQtSDRgtC10LfQuCDQvdC10YHQu9C10LTQtdC90Lgg0YTQsNC50LvQvtCy0LUg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L46XG4iCiAiJSVz0J/RgNC10LzQtdGB0YLQtdGC0LUg0LPQuCDQuNC70Lgg0LPQuCDQuNC30YLRgNC40LnRgtC1LCDQt9CwINC00LAg0L/RgNC10LzQuNC90LXRgtC1INC90LAg0LTRgNGD0LMg0LrQu9C+0L0uIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzUKKyM6IHVucGFjay10cmVlcy5jOjEzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCkBAIC02Njc1LDcgKzg0OTIsNyBAQAogItCY0LfRgtC10LPQu9GP0L3QtdGC0L4g0YnQtSDQuNC30YLRgNC40LUg0YLQtdC30Lgg0L3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+OlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTM4CisjOiB1bnBhY2stdHJlZXMuYzoxMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgpAQCAtNjY4NCw3ICs4NTAxLDcgQEAKICLQodC70LjQstCw0L3QtdGC0L4g0YnQtSDQuNC30YLRgNC40LUg0YLQtdC30Lgg0L3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+OlxuIgogIiUlc9Cf0YDQtdC80LXRgdGC0LXRgtC1INCz0Lgg0LjQu9C4INCz0Lgg0LjQt9GC0YDQuNC50YLQtSwg0LfQsCDQtNCwINGB0LvQtdC10YLQtS4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE0MAorIzogdW5wYWNrLXRyZWVzLmM6MTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKQEAgLTY2OTMsNyArODUxMCw3IEBACiAi0KHQu9C40LLQsNC90LXRgtC+INGJ0LUg0LjQt9GC0YDQuNC1INGC0LXQt9C4INC90LXRgdC70LXQtNC10L3QuCDRhNCw0LnQu9C+0LLQtSDQsiDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQvjpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE0MworIzogdW5wYWNrLXRyZWVzLmM6MTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKQEAgLTY3MDIsNyArODUxOSw3IEBACiAi4oCeJXPigJwg0YnQtSDQuNC30YLRgNC40LUg0YLQtdC30Lgg0L3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+OlxuIgogIiUlc9Cf0YDQtdC80LXRgdGC0LXRgtC1INCz0Lgg0LjQu9C4INCz0Lgg0LjQt9GC0YDQuNC50YLQtSwg0LfQsCDQtNCwINC40LfQstGK0YDRiNC40YLQtSDigJ4lc+KAnC4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE0NQorIzogdW5wYWNrLXRyZWVzLmM6MTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKQEAgLTY3MTEsNyArODUyOCw3IEBACiAi4oCeJXPigJwg0YnQtSDQuNC30YLRgNC40LUg0YLQtdC30Lgg0L3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+OlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTUxCisjOiB1bnBhY2stdHJlZXMuYzoxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCkBAIC02NzIxLDcgKzg1MzgsNyBAQAogItCY0LfRgtC10LPQu9GP0L3QtdGC0L4g0YnQtSDQv9GA0LXQt9Cw0L/QuNGI0LUg0YLQtdC30Lgg0L3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+OlxuIgogIiUlc9Cf0YDQtdC80LXRgdGC0LXRgtC1INCz0Lgg0LjQu9C4INCz0Lgg0LjQt9GC0YDQuNC50YLQtSwg0LfQsCDQtNCwINGB0LzQtdC90LjRgtC1INC60LvQvtC9LiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTUzCisjOiB1bnBhY2stdHJlZXMuYzoxNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCkBAIC02NzMxLDcgKzg1NDgsNyBAQAogItCY0LfRgtC10LPQu9GP0L3QtdGC0L4g0YnQtSDQv9GA0LXQt9Cw0L/QuNGI0LUg0YLQtdC30Lgg0L3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+OlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTU2CisjOiB1bnBhY2stdHJlZXMuYzoxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKQEAgLTY3NDAsNyArODU1Nyw3IEBACiAi0KHQu9C40LLQsNC90LXRgtC+INGJ0LUg0L/RgNC10LfQsNC/0LjRiNC1INGC0LXQt9C4INC90LXRgdC70LXQtNC10L3QuCDRhNCw0LnQu9C+0LLQtSDQsiDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQvjpcbiIKICIlJXPQn9GA0LXQvNC10YHRgtC10YLQtSDQs9C4INC40LvQuCDQs9C4INC40LfRgtGA0LjQudGC0LUsINC30LAg0LTQsCDRgdC70LXQtdGC0LUuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNTgKKyM6IHVucGFjay10cmVlcy5jOjE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtNjc0OSw3ICs4NTY2LDcgQEAKICLQodC70LjQstCw0L3QtdGC0L4g0YnQtSDQv9GA0LXQt9Cw0L/QuNGI0LUg0YLQtdC30Lgg0L3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+OlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTYxCisjOiB1bnBhY2stdHJlZXMuYzoxNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTY3NTgsNyArODU3NSw3IEBACiAi4oCeJXPigJwg0YnQtSDQv9GA0LXQt9Cw0L/QuNGI0LUg0YLQtdC30Lgg0L3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+OlxuIgogIiUlc9Cf0YDQtdC80LXRgdGC0LXRgtC1INCz0Lgg0LjQu9C4INCz0Lgg0LjQt9GC0YDQuNC50YLQtSwg0LfQsCDQtNCwINC40LfQstGK0YDRiNC40YLQtSDigJ4lc+KAnC4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE2MworIzogdW5wYWNrLXRyZWVzLmM6MTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCkBAIC02NzY3LDEyICs4NTg0LDEyIEBACiAi4oCeJXPigJwg0YnQtSDQv9GA0LXQt9Cw0L/QuNGI0LUg0YLQtdC30Lgg0L3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+OlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTcxCisjOiB1bnBhY2stdHJlZXMuYzoxNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRW50cnkgJyVzJyBvdmVybGFwcyB3aXRoICclcycuICBDYW5ub3QgYmluZC4iCiBtc2dzdHIgItCX0LDQv9C40YHRitGCINC30LAg4oCeJXPigJwg0YHRitCy0L/QsNC00LAg0YEg0YLQvtC30Lgg0LfQsCDigJ4lc+KAnC4gINCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQuNGB0LLQvtC4LiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTc0CisjOiB1bnBhY2stdHJlZXMuYzoxNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgc3BhcnNlIGNoZWNrb3V0OiB0aGUgZm9sbG93aW5nIGVudHJpZXMgYXJlIG5vdCB1cCB0byBkYXRlOlxuIgpAQCAtNjc4Miw3ICs4NTk5LDcgQEAKICLQsNC60YLRg9Cw0LvQvdC4OlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNzYKKyM6IHVucGFjay10cmVlcy5jOjE3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgc3BhcnNlIGNoZWNrb3V0ICIKQEAgLTY3OTMsNyArODYxMCw3IEBACiAi0LTRitGA0LLQvjpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTc4CisjOiB1bnBhY2stdHJlZXMuYzoxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgc3BhcnNlIGNoZWNrb3V0ICIKQEAgLTY4MDQsNyArODYyMSw3IEBACiAi0LTRitGA0LLQvjpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTgwCisjOiB1bnBhY2stdHJlZXMuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgc3VibW9kdWxlOlxuIgpAQCAtNjgxMywxNiArODYzMCwxNiBAQAogItCf0L7QtNC80L7QtNGD0LvRitGCINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtCx0L3QvtCy0LXQvTpcbiIKICLigJ4lc+KAnCIKIAotIzogdW5wYWNrLXRyZWVzLmM6MjU0CisjOiB1bnBhY2stdHJlZXMuYzoyNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmdcbiIKIG1zZ3N0ciAi0J/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1INC90LAg0LTQtdC50YHRgtCy0LjQtdGC0L5cbiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MzM2Ci1tc2dpZCAiQ2hlY2tpbmcgb3V0IGZpbGVzIgotbXNnc3RyICLQmNC30YLQtdCz0LvRj9C90LUg0L3QsCDRhNCw0LnQu9C+0LLQtSIKKyM6IHVucGFjay10cmVlcy5jOjMxNworbXNnaWQgIlVwZGF0aW5nIGZpbGVzIgorbXNnc3RyICLQntCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwINGE0LDQudC70L7QstC1IgogCi0jOiB1bnBhY2stdHJlZXMuYzozNjgKKyM6IHVucGFjay10cmVlcy5jOjM0OQogbXNnaWQgIiIKICJ0aGUgZm9sbG93aW5nIHBhdGhzIGhhdmUgY29sbGlkZWQgKGUuZy4gY2FzZS1zZW5zaXRpdmUgcGF0aHNcbiIKICJvbiBhIGNhc2UtaW5zZW5zaXRpdmUgZmlsZXN5c3RlbSkgYW5kIG9ubHkgb25lIGZyb20gdGhlIHNhbWVcbiIKQEAgLTY4MzIsNiArODY0OSwxMCBAQAogItCy0YrQsiDRhNCw0LnQu9C+0LLQuCDRgdC40YHRgtC10LzQuCwg0LrQvtC40YLQviDQvdC1INGA0LDQt9C70LjRh9Cw0LLQsNGCINCz0LvQsNCy0L3QuCDQvtGCINC80LDQu9C60Lgg0LHRg9C60LLQuClcbiIKICLQuCDRgdCw0LzQviDQtdC00LjQvSDQvtGCINGD0YfQsNGB0YLQvdC40YbQuNGC0LUg0LIg0LrQvtC90YTQu9C40LrRgtCwINC1INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+OlxuIgogCisjOiB1bnBhY2stdHJlZXMuYzoxNDQxCittc2dpZCAiVXBkYXRpbmcgaW5kZXggZmxhZ3MiCittc2dzdHIgItCe0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAg0YTQu9Cw0LPQvtCy0LXRgtC1INC90LAg0LjQvdC00LXQutGB0LAiCisKICM6IHVybG1hdGNoLmM6MTYzCiBtc2dpZCAiaW52YWxpZCBVUkwgc2NoZW1lIG5hbWUgb3IgbWlzc2luZyAnOi8vJyBzdWZmaXgiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINGB0YXQtdC80LAg0LfQsCDQsNC00YDQtdGBINC40LvQuCDRgdGD0YTQuNC60YHRitGCIOKAnjovL+KAnCDQu9C40L/RgdCy0LAiCkBAIC02ODYxLDIwNiArODY4MiwyMTMgQEAKIG1zZ2lkICJpbnZhbGlkICcuLicgcGF0aCBzZWdtZW50IgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDRh9Cw0YHRgiDQvtGCINC/0YrRgtGPIOKAni4u4oCcIgogCi0jOiB3b3JrdHJlZS5jOjI0OSBidWlsdGluL2FtLmM6MjEwMAorIzogd29ya3RyZWUuYzoyNTggYnVpbHRpbi9hbS5jOjIwODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJyVzJyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IHdvcmt0cmVlLmM6Mjk1CisjOiB3b3JrdHJlZS5jOjMwNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGF0IG1haW4gd29ya2luZyB0cmVlIGlzIG5vdCB0aGUgcmVwb3NpdG9yeSBkaXJlY3RvcnkiCiBtc2dzdHIgIuKAniVz4oCcINCyINC+0YHQvdC+0LLQvdC+0YLQviDRgNCw0LHQvtGC0L3QviDQtNGK0YDQstC+INC90LUg0LUg0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwINC90LAg0YXRgNCw0L3QuNC70LjRidC10YLQviIKIAotIzogd29ya3RyZWUuYzozMDYKKyM6IHdvcmt0cmVlLmM6MzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZmlsZSBkb2VzIG5vdCBjb250YWluIGFic29sdXRlIHBhdGggdG8gdGhlIHdvcmtpbmcgdHJlZSBsb2NhdGlvbiIKIG1zZ3N0ciAiIgogItGE0LDQudC70YrRgiDigJ4lc+KAnCDQvdC1INGB0YrQtNGK0YDQttCwINCw0LHRgdC+0LvRjtGC0L3QuNGPINC/0YrRgiDQutGK0Lwg0LzQtdGB0YLQvtC/0L7Qu9C+0LbQtdC90LjQtdGC0L4g0L3QsCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviIKIAotIzogd29ya3RyZWUuYzozMTgKKyM6IHdvcmt0cmVlLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAuIgogCi0jOiB3b3JrdHJlZS5jOjMyNAorIzogd29ya3RyZWUuYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSAuZ2l0IGZpbGUsIGVycm9yIGNvZGUgJWQiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LUg0YTQsNC50Lsg0L3QsCAuZ2l0LCDQutC+0LQg0LfQsCDQs9GA0LXRiNC60LA6ICVkIgogCi0jOiB3b3JrdHJlZS5jOjMzMgorIzogd29ya3RyZWUuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBwb2ludCBiYWNrIHRvICclcyciCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0YHQvtGH0Lgg0LrRitC8INC+0LHRgNCw0YLQvdC+INC60YrQvCDigJ4lc+KAnCIKIAotIzogd3JhcHBlci5jOjIyMyB3cmFwcGVyLmM6MzkzCisjOiB3cmFwcGVyLmM6MTg2IHdyYXBwZXIuYzozNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQstC+0YDQtdC9INC4INC30LAg0YfQtdGC0LXQvdC1LCDQuCDQt9CwINC30LDQv9C40YEiCiAKLSM6IHdyYXBwZXIuYzo0MjQgd3JhcHBlci5jOjYyNAorIzogd3JhcHBlci5jOjM4NyB3cmFwcGVyLmM6NTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJyIKIG1zZ3N0ciAi0L3Rj9C80LAg0LTQvtGB0YLRitC/INC00L4g4oCeJXPigJwiCiAKLSM6IHdyYXBwZXIuYzo2MzIKKyM6IHdyYXBwZXIuYzo1OTYKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgItGC0LXQutGD0YnQsNGC0LAg0YDQsNCx0L7RgtC90LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0LUg0L3QtdC00L7RgdGC0YrQv9C90LAiCiAKLSM6IHd0LXN0YXR1cy5jOjE1NAorIzogd3Qtc3RhdHVzLmM6MTU4CiBtc2dpZCAiVW5tZXJnZWQgcGF0aHM6IgogbXNnc3RyICLQndC10YHQu9C10YLQuCDQv9GK0YLQuNGJ0LA6IgogCi0jOiB3dC1zdGF0dXMuYzoxODEgd3Qtc3RhdHVzLmM6MjA4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiAgKHVzZSBcImdpdCByZXNldCAlcyA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKLW1zZ3N0ciAiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgcmVzZXQgJXMg0KTQkNCZ0JvigKbigJwsINC30LAg0LTQsCDQuNC30LLQsNC00LjRgtC1INCk0JDQmdCb0LAg0L7RgiDQuNC90LTQtdC60YHQsCkiCisjOiB3dC1zdGF0dXMuYzoxODcgd3Qtc3RhdHVzLmM6MjE5Cittc2dpZCAiICAodXNlIFwiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCittc2dzdHIgIiIKKyIgICjQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCByZXN0b3JlIC0tc3RhZ2VkINCk0JDQmdCb4oCm4oCcLCDQt9CwINC00LAg0LjQt9Cy0LDQtNC40YLQtSDQpNCQ0JnQm9CwINC+0YIg0LjQvdC00LXQutGB0LApIgogCi0jOiB3dC1zdGF0dXMuYzoxODMgd3Qtc3RhdHVzLmM6MjEwCisjOiB3dC1zdGF0dXMuYzoxOTAgd3Qtc3RhdHVzLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgKHVzZSBcImdpdCByZXN0b3JlIC0tc291cmNlPSVzIC0tc3RhZ2VkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgorbXNnc3RyICIiCisiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgcmVzdG9yZSAtLXNvdXJjZT0lcyAtLXN0YWdlZCDQpNCQ0JnQm+KApuKAnCwg0LfQsCDQtNCwINC40LfQstCw0LTQuNGC0LUgIgorItCk0JDQmdCb0LAg0L7RgiDQuNC90LTQtdC60YHQsCkiCisKKyM6IHd0LXN0YXR1cy5jOjE5MyB3dC1zdGF0dXMuYzoyMjUKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiIKICIgICjQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCBybSAtLWNhY2hlZCAlcyDQpNCQ0JnQm+KApuKAnCwg0LfQsCDQtNCwINC40LfQstCw0LTQuNGC0LUg0KTQkNCZ0JvQsCDQvtGCINC40L3QtNC10LrRgdCwKSIKIAotIzogd3Qtc3RhdHVzLmM6MTg3CisjOiB3dC1zdGF0dXMuYzoxOTcKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKICIgICjQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCBhZGQg0KTQkNCZ0JvigKbigJwsINC30LAg0LTQsCDRg9C60LDQttC10YLQtSDRgNCw0LfRgNC10YjQsNCy0LDQvdC10YLQviDQvdCwINC60L7QvdGE0LvQuNC60YLQsCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4OSB3dC1zdGF0dXMuYzoxOTMKKyM6IHd0LXN0YXR1cy5jOjE5OSB3dC1zdGF0dXMuYzoyMDMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKICIgICjQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCBhZGQvcm0g0KTQkNCZ0JvigKbigJwsINGB0L/QvtGA0LXQtCDRgNC10YjQtdC90LjQtdGC0L4sINC60L7QtdGC0L4g0LjQt9Cx0LjRgNCw0YLQtSDQt9CwICIKICLQutC+0L3RhNC70LjQutGC0LApIgogCi0jOiB3dC1zdGF0dXMuYzoxOTEKKyM6IHd0LXN0YXR1cy5jOjIwMQogbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgcm0g0KTQkNCZ0JvigKbigJwsINC30LAg0LTQsCDRg9C60LDQttC10YLQtSDRgNCw0LfRgNC10YjQsNCy0LDQvdC10YLQviDQvdCwINC60L7QvdGE0LvQuNC60YLQsCkiCiAKLSM6IHd0LXN0YXR1cy5jOjIwMiB3dC1zdGF0dXMuYzoxMDQyCisjOiB3dC1zdGF0dXMuYzoyMTEgd3Qtc3RhdHVzLmM6MTA3NAogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAi0J/RgNC+0LzQtdC90LgsINC60L7QuNGC0L4g0YnQtSDQsdGK0LTQsNGCINC/0L7QtNCw0LTQtdC90Lg6IgogCi0jOiB3dC1zdGF0dXMuYzoyMjAgd3Qtc3RhdHVzLmM6MTA1MQorIzogd3Qtc3RhdHVzLmM6MjM0IHd0LXN0YXR1cy5jOjEwODMKIG1zZ2lkICJDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoiCiBtc2dzdHIgItCf0YDQvtC80LXQvdC4LCDQutC+0LjRgtC+INC90LUg0YHQsCDQsiDQuNC90LTQtdC60YHQsCDQt9CwINC/0L7QtNCw0LLQsNC90LU6IgogCi0jOiB3dC1zdGF0dXMuYzoyMjQKKyM6IHd0LXN0YXR1cy5jOjIzOAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgYWRkINCk0JDQmdCb4oCm4oCcLCDQt9CwINC00LAg0L7QsdC90L7QstC40YLQtSDRgdGK0LTRitGA0LbQsNC90LjQtdGC0L4g0LfQsCDQv9C+0LTQsNCy0LDQvdC1KSIKIAotIzogd3Qtc3RhdHVzLmM6MjI2CisjOiB3dC1zdGF0dXMuYzoyNDAKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogIiAgKNC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IGFkZC9ybSDQpNCQ0JnQm+KApuKAnCwg0LfQsCDQtNCwINC+0LHQvdC+0LLQuNGC0LUg0YHRitC00YrRgNC20LDQvdC40LXRgtC+INC30LAg0L/QvtC00LDQstCw0L3QtSkiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNworIzogd3Qtc3RhdHVzLmM6MjQxCiBtc2dpZCAiIgotIiAgKHVzZSBcImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi5cIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpIgorIiAgKHVzZSBcImdpdCByZXN0b3JlIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiIKLSIgICjQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCBjaGVja291dCAtLSDQpNCQ0JnQm+KApuKAnCwg0LfQsCDQtNCwINC+0YLRhdCy0YrRgNC70LjRgtC1INC/0YDQvtC80LXQvdC40YLQtSDQsiAiCi0i0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4pIgorIiAgKNC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IHJlc3RvcmUg0KTQkNCZ0JvigKbigJwsINC30LAg0LTQsCDQvtGC0YXQstGK0YDQu9C40YLQtSDQv9GA0L7QvNC10L3QuNGC0LUg0LIg0YDQsNCx0L7RgtC90LDRgtCwICIKKyLQtNC40YDQtdC60YLQvtGA0LjRjykiCiAKLSM6IHd0LXN0YXR1cy5jOjIyOQorIzogd3Qtc3RhdHVzLmM6MjQzCiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIiCiAiICAo0L/QvtC00LDQudGC0LUg0LjQu9C4INC+0YLRhdCy0YrRgNC70LXRgtC1INC90LXRgdC70LXQtNC10L3QvtGC0L4g0LjQu9C4INC/0YDQvtC80LXQvdC10L3QvtGC0L4g0YHRitC00YrRgNC20LDQvdC40LUg0LIgIgogItC/0L7QtNC80L7QtNGD0LvQuNGC0LUpIgogCi0jOiB3dC1zdGF0dXMuYzoyNDEKKyM6IHd0LXN0YXR1cy5jOjI1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgJXMgPGZpbGU+Li4uXCIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogIiAgKNC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0ICVzINCk0JDQmdCb4oCm4oCcLCDQt9CwINC00LAg0L7Qv9GA0LXQtNC10LvQuNGC0LUg0LrQsNC60LLQviDQstC60LvRjtGH0LLQsNGC0LUg0LIg0L/QvtC00LDQstCw0L3QtdGC0L4pIgogCi0jOiB3dC1zdGF0dXMuYzoyNTYKKyM6IHd0LXN0YXR1cy5jOjI2OAogbXNnaWQgImJvdGggZGVsZXRlZDoiCiBtc2dzdHIgItC40LfRgtGA0LjRgtC4INCyINC00LLQsNGC0LAg0YHQu9GD0YfQsNGPOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU4CisjOiB3dC1zdGF0dXMuYzoyNzAKIG1zZ2lkICJhZGRlZCBieSB1czoiCiBtc2dzdHIgItC00L7QsdCw0LLQtdC90Lgg0L7RgiDQstCw0YE6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjAKKyM6IHd0LXN0YXR1cy5jOjI3MgogbXNnaWQgImRlbGV0ZWQgYnkgdGhlbToiCiBtc2dzdHIgItC40LfRgtGA0LjRgtC4INC+0YIg0YLRj9GFOiIKIAotIzogd3Qtc3RhdHVzLmM6MjYyCisjOiB3dC1zdGF0dXMuYzoyNzQKIG1zZ2lkICJhZGRlZCBieSB0aGVtOiIKIG1zZ3N0ciAi0LTQvtCx0LDQstC10L3QuCDQvtGCINGC0Y/RhToiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NAorIzogd3Qtc3RhdHVzLmM6Mjc2CiBtc2dpZCAiZGVsZXRlZCBieSB1czoiCiBtc2dzdHIgItC40LfRgtGA0LjRgtC4INC+0YIg0LLQsNGBOiIKIAotIzogd3Qtc3RhdHVzLmM6MjY2CisjOiB3dC1zdGF0dXMuYzoyNzgKIG1zZ2lkICJib3RoIGFkZGVkOiIKIG1zZ3N0ciAi0LTQvtCx0LDQstC10L3QuCDQuCDQsiDQtNCy0LDRgtCwINGB0LvRg9GH0LDRjzoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2OAorIzogd3Qtc3RhdHVzLmM6MjgwCiBtc2dpZCAiYm90aCBtb2RpZmllZDoiCiBtc2dzdHIgItC/0YDQvtC80LXQvdC10L3QuCDQuCDQsiDQtNCy0LDRgtCwINGB0LvRg9GH0LDRjzoiCiAKLSM6IHd0LXN0YXR1cy5jOjI3OAorIzogd3Qtc3RhdHVzLmM6MjkwCiBtc2dpZCAibmV3IGZpbGU6IgogbXNnc3RyICLQvdC+0LIg0YTQsNC50Ls6IgogCi0jOiB3dC1zdGF0dXMuYzoyODAKKyM6IHd0LXN0YXR1cy5jOjI5MgogbXNnaWQgImNvcGllZDoiCiBtc2dzdHIgItC60L7Qv9C40YDQsNC9OiIKIAotIzogd3Qtc3RhdHVzLmM6MjgyCisjOiB3dC1zdGF0dXMuYzoyOTQKIG1zZ2lkICJkZWxldGVkOiIKIG1zZ3N0ciAi0LjQt9GC0YDQuNGCOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg0CisjOiB3dC1zdGF0dXMuYzoyOTYKIG1zZ2lkICJtb2RpZmllZDoiCiBtc2dzdHIgItC/0YDQvtC80LXQvdC10L06IgogCi0jOiB3dC1zdGF0dXMuYzoyODYKKyM6IHd0LXN0YXR1cy5jOjI5OAogbXNnaWQgInJlbmFtZWQ6IgogbXNnc3RyICLQv9GA0LXQuNC80LXQvdGD0LLQsNC9OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg4CisjOiB3dC1zdGF0dXMuYzozMDAKIG1zZ2lkICJ0eXBlY2hhbmdlOiIKIG1zZ3N0ciAi0YHQvNGP0L3QsCDQvdCwINCy0LjQtNCwOiIKIAotIzogd3Qtc3RhdHVzLmM6MjkwCisjOiB3dC1zdGF0dXMuYzozMDIKIG1zZ2lkICJ1bmtub3duOiIKIG1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgtCwINC/0YDQvtC80Y/QvdCwOiIKIAotIzogd3Qtc3RhdHVzLmM6MjkyCisjOiB3dC1zdGF0dXMuYzozMDQKIG1zZ2lkICJ1bm1lcmdlZDoiCiBtc2dzdHIgItC90LXRgdC70Y/RgjoiCiAKLSM6IHd0LXN0YXR1cy5jOjM3MgorIzogd3Qtc3RhdHVzLmM6Mzg0CiBtc2dpZCAibmV3IGNvbW1pdHMsICIKIG1zZ3N0ciAi0L3QvtCy0Lgg0L/QvtC00LDQstCw0L3QuNGPLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM3NAorIzogd3Qtc3RhdHVzLmM6Mzg2CiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICLQv9GA0L7QvNC10L3QtdC90L4g0YHRitC00YrRgNC20LDQvdC40LUsICIKIAotIzogd3Qtc3RhdHVzLmM6Mzc2CisjOiB3dC1zdGF0dXMuYzozODgKIG1zZ2lkICJ1bnRyYWNrZWQgY29udGVudCwgIgogbXNnc3RyICLQvdC10YHQu9C10LTQtdC90L4g0YHRitC00YrRgNC20LDQvdC40LUsICIKIAotIzogd3Qtc3RhdHVzLmM6ODgwCisjOiB3dC1zdGF0dXMuYzo5MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJ5IgogbXNnaWRfcGx1cmFsICJZb3VyIHN0YXNoIGN1cnJlbnRseSBoYXMgJWQgZW50cmllcyIKIG1zZ3N0clswXSAi0JjQvNCwICVkINGB0LrQsNGC0LDQstCw0L3QtS4iCiBtc2dzdHJbMV0gItCY0LzQsCAlZCDRgdC60LDRgtCw0LLQsNC90LjRjy4iCiAKLSM6IHd0LXN0YXR1cy5jOjkxMgorIzogd3Qtc3RhdHVzLmM6OTM4CiBtc2dpZCAiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiCiBtc2dzdHIgItCf0L7QtNC80L7QtNGD0LvQuNGC0LUg0YHQsCDQv9GA0L7QvNC10L3QtdC90LgsINC90L4g0L3QtSDRgdCwINC+0LHQvdC+0LLQtdC90Lg6IgogCi0jOiB3dC1zdGF0dXMuYzo5MTQKKyM6IHd0LXN0YXR1cy5jOjk0MAogbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgItCf0YDQvtC80LXQvdC4INCyINC/0L7QtNC80L7QtNGD0LvQuNGC0LUg0LfQsCDQv9C+0LTQsNCy0LDQvdC1OiIKIAotIzogd3Qtc3RhdHVzLmM6OTk2CisjOiB3dC1zdGF0dXMuYzoxMDIyCiBtc2dpZCAiIgogIkRvIG5vdCBtb2RpZnkgb3IgcmVtb3ZlIHRoZSBsaW5lIGFib3ZlLlxuIgogIkV2ZXJ5dGhpbmcgYmVsb3cgaXQgd2lsbCBiZSBpZ25vcmVkLiIKQEAgLTcwNjgsMjQxICs4ODk2LDI2OCBAQAogItCd0LUg0L/RgNC+0LzQtdC90Y/QudGC0LUg0Lgg0L3QtSDQuNC30YLRgNC40LLQsNC50YLQtSDQs9C+0YDQvdC40Y8g0YDQtdC0LlxuIgogItCS0YHQuNGH0LrQviDQvtGC0LTQvtC70YMg0YnQtSDQsdGK0LTQtSDQuNC30YLRgNC40YLQvi4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwOTcKKyM6IHd0LXN0YXR1cy5jOjExMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGNvbXB1dGUgdGhlIGJyYW5jaCBhaGVhZC9iZWhpbmQgdmFsdWVzLlxuIgorIllvdSBjYW4gdXNlICctLW5vLWFoZWFkLWJlaGluZCcgdG8gYXZvaWQgdGhpcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorItCY0LfRh9C40YHQu9GP0LLQsNC90LXRgtC+INC90LAg0LHRgNC+0Y8g0YDQsNC30LvQuNGH0LDQstCw0YnQuCDRgdC1INC/0L7QtNCw0LLQsNC90LjRjyDQvtGC0L3QtSAlLjJmINGB0LXQui5cbiIKKyLQl9CwINC00LAg0LjQt9Cx0LXQs9C90LXRgtC1INGC0L7QstCwLCDQv9C+0LvQt9Cy0LDQudGC0LUg4oCeLS1uby1haGVhZC1iZWhpbmTigJwuXG4iCisKKyM6IHd0LXN0YXR1cy5jOjExNDQKIG1zZ2lkICJZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4iCiBtc2dzdHIgItCd0Y/QutC+0Lgg0L/RitGC0LjRidCwINC90LUg0YHQsCDRgdC70LXRgtC4LiIKIAotIzogd3Qtc3RhdHVzLmM6MTEwMAorIzogd3Qtc3RhdHVzLmM6MTE0NwogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjb21taXRcIikiCiBtc2dzdHIgIiAgKNC60L7RgNC40LPQuNGA0LDQudGC0LUg0LrQvtC90YTQu9C40LrRgtC40YLQtSDQuCDQuNC30L/RitC70L3QtdGC0LUg4oCeZ2l0IGNvbW1pdOKAnCkiCiAKLSM6IHd0LXN0YXR1cy5jOjExMDIKKyM6IHd0LXN0YXR1cy5jOjExNDkKIG1zZ2lkICIgICh1c2UgXCJnaXQgbWVyZ2UgLS1hYm9ydFwiIHRvIGFib3J0IHRoZSBtZXJnZSkiCiBtc2dzdHIgIiAgKNC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IG1lcmdlIC0tYWJvcnTigJwsINC30LAg0LTQsCDQv9GA0LXRg9GB0YLQsNC90L7QstC40YLQtSDRgdC70LjQstCw0L3QtdGC0L4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMTA2CisjOiB3dC1zdGF0dXMuYzoxMTUzCiBtc2dpZCAiQWxsIGNvbmZsaWN0cyBmaXhlZCBidXQgeW91IGFyZSBzdGlsbCBtZXJnaW5nLiIKIG1zZ3N0ciAi0JLRgdC40YfQutC4INC60L7QvdGE0LvQuNC60YLQuCDRgdCwINGA0LXRiNC10L3QuCwg0L3QviDQv9GA0L7QtNGK0LvQttCw0LLQsNGC0LUg0YHQu9C40LLQsNC90LXRgtC+LiIKIAotIzogd3Qtc3RhdHVzLmM6MTEwOQorIzogd3Qtc3RhdHVzLmM6MTE1NgogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXRcIiB0byBjb25jbHVkZSBtZXJnZSkiCiBtc2dzdHIgIiAgKNC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IGNvbW1pdOKAnCwg0LfQsCDQtNCwINC30LDQstGK0YDRiNC40YLQtSDRgdC70LjQstCw0L3QtdGC0L4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMTE4CisjOiB3dC1zdGF0dXMuYzoxMTY1CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICLQkiDQvNC+0LzQtdC90YLQsCDQv9GA0LjQu9Cw0LPQsNGC0LUg0L/QvtGA0LXQtNC40YbQsCDQvtGCINC60YDRitC/0LrQuCDRh9GA0LXQtyDigJ5naXQgYW3igJwuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTIxCisjOiB3dC1zdGF0dXMuYzoxMTY4CiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICLQotC10LrRg9GJ0LDRgtCwINC60YDRitC/0LrQsCDQtSDQv9GA0LDQt9C90LAuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTI1CisjOiB3dC1zdGF0dXMuYzoxMTcyCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAo0LrQvtGA0LjQs9C40YDQsNC50YLQtSDQutC+0L3RhNC70LjQutGC0LjRgtC1INC4INC40LfQv9GK0LvQvdC10YLQtSDigJ5naXQgYW0gLS1jb250aW51ZeKAnCkiCiAKLSM6IHd0LXN0YXR1cy5jOjExMjcKKyM6IHd0LXN0YXR1cy5jOjExNzQKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgYW0gLS1za2lw4oCcLCDQt9CwINC00LAg0L/RgNC+0L/Rg9GB0L3QtdGC0LUg0YLQsNC30Lgg0LrRgNGK0L/QutCwKSIKIAotIzogd3Qtc3RhdHVzLmM6MTEyOQorIzogd3Qtc3RhdHVzLmM6MTE3NgogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiIgogIiAgKNC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IGFtIC0tYWJvcnTigJwsINC30LAg0LTQsCDQstGK0LfRgdGC0LDQvdC+0LLQuNGC0LUg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC40Y8g0LrQu9C+0L0pIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYwCisjOiB3dC1zdGF0dXMuYzoxMzA5CiBtc2dpZCAiZ2l0LXJlYmFzZS10b2RvIGlzIG1pc3NpbmcuIgogbXNnc3RyICLigJ5naXQtcmViYXNlLXRvZG/igJwg0LvQuNC/0YHQstCwLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MgorIzogd3Qtc3RhdHVzLmM6MTMxMQogbXNnaWQgIk5vIGNvbW1hbmRzIGRvbmUuIgogbXNnc3RyICLQndC1INGB0LAg0LjQt9C/0YrQu9C90LXQvdC4INC60L7QvNCw0L3QtNC4LiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2NQorIzogd3Qtc3RhdHVzLmM6MTMxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJMYXN0IGNvbW1hbmQgZG9uZSAoJWQgY29tbWFuZCBkb25lKToiCiBtc2dpZF9wbHVyYWwgIkxhc3QgY29tbWFuZHMgZG9uZSAoJWQgY29tbWFuZHMgZG9uZSk6IgotbXNnc3RyWzBdICLQn9C+0YHQu9C10LTQvdCwINC40LfQv9GK0LvQvdC10L3QsCDQutC+0LzQsNC90LTQsCAo0LjQt9C/0YrQu9C90LXQvdCwINC1INC+0LHRidC+ICVkINC60L7QvNCw0L3QtNCwKToiCi1tc2dzdHJbMV0gItCf0L7RgdC70LXQtNC90LAg0LjQt9C/0YrQu9C90LXQvdCwINC60L7QvNCw0L3QtNCwICjQuNC30L/RitC70L3QtdC90Lgg0YHQsCDQvtCx0YnQviAlZCDQutC+0LzQsNC90LTQuCk6IgorbXNnc3RyWzBdICLQn9C+0YHQu9C10LTQvdC+INC40LfQv9GK0LvQvdC10L3QsCDQutC+0LzQsNC90LTQsCAo0LjQt9C/0YrQu9C90LXQvdCwINC1INC+0LHRidC+ICVkINC60L7QvNCw0L3QtNCwKToiCittc2dzdHJbMV0gItCf0L7RgdC70LXQtNC90L4g0LjQt9C/0YrQu9C90LXQvdC4INC60L7QvNCw0L3QtNC4ICjQuNC30L/RitC70L3QtdC90Lgg0YHQsCDQvtCx0YnQviAlZCDQutC+0LzQsNC90LTQuCk6IgogCi0jOiB3dC1zdGF0dXMuYzoxMjc2CisjOiB3dC1zdGF0dXMuYzoxMzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHNlZSBtb3JlIGluIGZpbGUgJXMpIgotbXNnc3RyICIgINC/0L7QstC10YfQtSDQuNC90YTQvtGA0LzQsNGG0LjRjyDQuNC80LAg0LLRitCyINGE0LDQudC70LAg4oCeJXPigJwpIgorbXNnc3RyICIgICjQv9C+0LLQtdGH0LUg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LjQvNCwINCy0YrQsiDRhNCw0LnQu9CwIOKAniVz4oCcKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI4MQorIzogd3Qtc3RhdHVzLmM6MTMzMAogbXNnaWQgIk5vIGNvbW1hbmRzIHJlbWFpbmluZy4iCiBtc2dzdHIgItCd0LUg0L7RgdGC0LDQstCw0YIg0L/QvtCy0LXRh9C1INC60L7QvNCw0L3QtNC4LiIKIAotIzogd3Qtc3RhdHVzLmM6MTI4NAorIzogd3Qtc3RhdHVzLmM6MTMzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJOZXh0IGNvbW1hbmQgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kKToiCiBtc2dpZF9wbHVyYWwgIk5leHQgY29tbWFuZHMgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kcyk6IgogbXNnc3RyWzBdICLQodC70LXQtNCy0LDRidCwINC60L7QvNCw0L3QtNCwINC30LAg0LjQt9C/0YrQu9C90LXQvdC40LUgKNC+0YHRgtCw0LLQsCDQvtGJ0LUgJWQg0LrQvtC80LDQvdC00LApOiIKLW1zZ3N0clsxXSAi0KHQu9C10LTQstCw0YnQsCDQutC+0LzQsNC90LTQsCDQt9CwINC40LfQv9GK0LvQvdC10L3QuNC1ICjQvtGB0YLQsNCy0LDRgiDQvtGJ0LUgJWQg0LrQvtC80LDQvdC00LgpOiIKK21zZ3N0clsxXSAi0KHQu9C10LTQstCw0YnQuCDQutC+0LzQsNC90LTQuCDQt9CwINC40LfQv9GK0LvQvdC10L3QuNC1ICjQvtGB0YLQsNCy0LDRgiDQvtGJ0LUgJWQg0LrQvtC80LDQvdC00LgpOiIKIAotIzogd3Qtc3RhdHVzLmM6MTI5MgorIzogd3Qtc3RhdHVzLmM6MTM0MQogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIiB0byB2aWV3IGFuZCBlZGl0KSIKIG1zZ3N0ciAiIgogIiAgKNC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb+KAnCwg0LfQsCDQtNCwINGA0LDQt9Cz0LvQtdC00LDRgtC1INC4INGA0LXQtNCw0LrRgtC40YDQsNGC0LUpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzA0CisjOiB3dC1zdGF0dXMuYzoxMzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICLQkiDQvNC+0LzQtdC90YLQsCDQv9GA0LXQsdCw0LfQuNGA0LDRgtC1INC60LvQvtC90LAg4oCeJXPigJwg0LLRitGA0YXRgyDigJ4lc+KAnC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzMDkKKyM6IHd0LXN0YXR1cy5jOjEzNTgKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iCiBtc2dzdHIgItCSINC80L7QvNC10L3RgtCwINC/0YDQtdCx0LDQt9C40YDQsNGC0LUuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzIyCisjOiB3dC1zdGF0dXMuYzoxMzcxCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKNC60L7RgNC40LPQuNGA0LDQudGC0LUg0LrQvtC90YTQu9C40LrRgtC40YLQtSDQuCDQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCByZWJhc2UgLS1jb250aW51ZeKAnCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMjQKKyM6IHd0LXN0YXR1cy5jOjEzNzMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKNC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IHJlYmFzZSAtLXNraXDigJwsINC30LAg0LTQsCDQv9GA0L7Qv9GD0YHQvdC10YLQtSDRgtCw0LfQuCDQutGA0YrQv9C60LApIgogCi0jOiB3dC1zdGF0dXMuYzoxMzI2CisjOiB3dC1zdGF0dXMuYzoxMzc1CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIiCiAiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgcmViYXNlIC0tYWJvcnTigJwsINC30LAg0LTQsCDQstGK0LfRgdGC0LDQvdC+0LLQuNGC0LUg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC40Y8g0LrQu9C+0L0pIgogCi0jOiB3dC1zdGF0dXMuYzoxMzMzCisjOiB3dC1zdGF0dXMuYzoxMzgyCiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICjQstGB0LjRh9C60Lgg0LrQvtC90YTQu9C40LrRgtC4INGB0LAg0LrQvtGA0LjQs9C40YDQsNC90Lg6INC40LfQv9GK0LvQvdC10YLQtSDigJ5naXQgcmViYXNlIC0tY29udGludWXigJwpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzM3CisjOiB3dC1zdGF0dXMuYzoxMzg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgItCSINC80L7QvNC10L3RgtCwINGA0LDQt9C00LXQu9GP0YLQtSDQv9C+0LTQsNCy0LDQvdC1INC00L7QutCw0YLQviDQv9GA0LXQsdCw0LfQuNGA0LDRgtC1INC60LvQvtC90LAg4oCeJXPigJwg0LLRitGA0YXRgyDigJ4lc+KAnC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzNDIKKyM6IHd0LXN0YXR1cy5jOjEzOTEKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAi0JIg0LzQvtC80LXQvdGC0LAg0YDQsNC30LTQtdC70Y/RgtC1INC/0L7QtNCw0LLQsNC90LUg0LTQvtC60LDRgtC+INC/0YDQtdCx0LDQt9C40YDQsNGC0LUuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzQ1CisjOiB3dC1zdGF0dXMuYzoxMzk0CiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgICjQodC70LXQtCDQutCw0YLQviDRgNCw0LHQvtGC0L3QvtGC0L4g0LLQuCDQtNGK0YDQstC+INGB0YLQsNC90LUg0YfQuNGB0YLQviwg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgcmViYXNlIC0tIgogImNvbnRpbnVl4oCcKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM0OQorIzogd3Qtc3RhdHVzLmM6MTM5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCiAi0JIg0LzQvtC80LXQvdGC0LAg0YDQtdC00LDQutGC0LjRgNCw0YLQtSDQv9C+0LTQsNCy0LDQvdC1INC00L7QutCw0YLQviDQv9GA0LXQsdCw0LfQuNGA0LDRgtC1INC60LvQvtC90LAg4oCeJXPigJwg0LLRitGA0YXRgyDigJ4lc+KAnC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzNTQKKyM6IHd0LXN0YXR1cy5jOjE0MDMKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgItCSINC80L7QvNC10L3RgtCwINGA0LXQtNCw0LrRgtC40YDQsNGC0LUg0L/QvtC00LDQstCw0L3QtSDQtNC+0LrQsNGC0L4g0L/RgNC10LHQsNC30LjRgNCw0YLQtS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzNTcKKyM6IHd0LXN0YXR1cy5jOjE0MDYKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpIgogbXNnc3RyICIiCiAiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgY29tbWl0IC0tYW1lbmTigJwsINC30LAg0LTQsCDRgNC10LTQsNC60YLQuNGA0LDRgtC1INGC0LXQutGD0YnQvtGC0L4g0L/QvtC00LDQstCw0L3QtSkiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNTkKKyM6IHd0LXN0YXR1cy5jOjE0MDgKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykiCiBtc2dzdHIgIiIKICIgICjQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCByZWJhc2UgLS1jb250aW51ZeKAnCwg0YHQu9C10LQg0LrQsNGC0L4g0LfQsNCy0YrRgNGI0LjRgtC1INC/0YDQvtC80LXQvdC40YLQtSDRgdC4KSIKIAotIzogd3Qtc3RhdHVzLmM6MTM2OAorIzogd3Qtc3RhdHVzLmM6MTQxOQorbXNnaWQgIkNoZXJyeS1waWNrIGN1cnJlbnRseSBpbiBwcm9ncmVzcy4iCittc2dzdHIgItCSINC80L7QvNC10L3RgtCwINGB0LUg0LjQt9Cy0YrRgNGI0LLQsCDQvtGC0LHQuNGA0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QuNGPLiIKKworIzogd3Qtc3RhdHVzLmM6MTQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgogbXNnc3RyICLQkiDQvNC+0LzQtdC90YLQsCDQvtGC0LHQuNGA0LDRgtC1INC/0L7QtNCw0LLQsNC90LXRgtC+IOKAniVz4oCcLiIKIAotIzogd3Qtc3RhdHVzLmM6MTM3MworIzogd3Qtc3RhdHVzLmM6MTQyOQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICjQutC+0YDQuNCz0LjRgNCw0LnRgtC1INC60L7QvdGE0LvQuNC60YLQuNGC0LUg0Lgg0LjQt9C/0YrQu9C90LXRgtC1IOKAnmdpdCBjaGVycnktcGljayAtLWNvbnRpbnVl4oCcKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM3NgorIzogd3Qtc3RhdHVzLmM6MTQzMgorbXNnaWQgIiAgKHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgdG8gY29udGludWUpIgorbXNnc3RyICIgICjQt9CwINC00LAg0L/RgNC+0LTRitC70LbQuNGC0LUsINC40LfQv9GK0LvQvdC10YLQtSDigJ5naXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZeKAnCkiCisKKyM6IHd0LXN0YXR1cy5jOjE0MzUKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKNCy0YHQuNGH0LrQuCDQutC+0L3RhNC70LjQutGC0Lgg0YHQsCDQutC+0YDQuNCz0LjRgNCw0L3QuCwg0LjQt9C/0YrQu9C90LXRgtC1IOKAnmdpdCBjaGVycnktcGljayAtLWNvbnRpbnVl4oCcKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM3OAorIzogd3Qtc3RhdHVzLmM6MTQzNworbXNnaWQgIiAgKHVzZSBcImdpdCBjaGVycnktcGljayAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgorbXNnc3RyICIgICjQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCBjaGVycnktcGljayAtLXNraXDigJwsINC30LAg0LTQsCDQv9GA0L7Qv9GD0YHQvdC10YLQtSDRgtCw0LfQuCDQutGA0YrQv9C60LApIgorCisjOiB3dC1zdGF0dXMuYzoxNDM5CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCiBtc2dzdHIgIiIKICIgICjQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmdpdCBjaGVycnktcGljayAtLWFib3J04oCcLCDQt9CwINC00LAg0L7RgtC80LXQvdC40YLQtSDQstGB0LjRh9C60Lgg0LTQtdC50YHRgtCy0LjRjyDRgSAiCiAi0L7RgtCx0LjRgNCw0L3QtSkiCiAKLSM6IHd0LXN0YXR1cy5jOjEzODYKKyM6IHd0LXN0YXR1cy5jOjE0NDkKK21zZ2lkICJSZXZlcnQgY3VycmVudGx5IGluIHByb2dyZXNzLiIKK21zZ3N0ciAi0JIg0LzQvtC80LXQvdGC0LAg0YLQtdGH0LUg0L7RgtC80Y/QvdCwINC90LAg0L/QvtC00LDQstCw0L3QtS4iCisKKyM6IHd0LXN0YXR1cy5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgItCSINC80L7QvNC10L3RgtCwINC+0YLQvNC10L3Rj9GC0LUg0L/QvtC00LDQstCw0L3QtSDigJ4lc+KAnC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzOTEKKyM6IHd0LXN0YXR1cy5jOjE0NTgKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKNC60L7RgNC40LPQuNGA0LDQudGC0LUg0LrQvtC90YTQu9C40LrRgtC40YLQtSDQuCDQuNC30L/RitC70L3QtdGC0LUg4oCeZ2l0IHJldmVydCAtLWNvbnRpbnVl4oCcKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM5NAorIzogd3Qtc3RhdHVzLmM6MTQ2MQorbXNnaWQgIiAgKHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiIHRvIGNvbnRpbnVlKSIKK21zZ3N0ciAiICAo0LfQsCDQtNCwINC/0YDQvtC00YrQu9C20LjRgtC1LCDQuNC30L/RitC70L3QtdGC0LUg4oCeZ2l0IHJldmVydCAtLWNvbnRpbnVl4oCcKSIKKworIzogd3Qtc3RhdHVzLmM6MTQ2NAogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAo0LLRgdC40YfQutC4INC60L7QvdGE0LvQuNC60YLQuCDRgdCwINC60L7RgNC40LPQuNGA0LDQvdC4LCDQuNC30L/RitC70L3QtdGC0LUg4oCeZ2l0IHJldmVydCAtLWNvbnRpbnVl4oCcKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM5NgorIzogd3Qtc3RhdHVzLmM6MTQ2NgorbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKK21zZ3N0ciAiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgcmV2ZXJ0IC0tc2tpcOKAnCwg0LfQsCDQtNCwINC/0YDQvtC/0YPRgdC90LXRgtC1INGC0LDQt9C4INC60YDRitC/0LrQsCkiCisKKyM6IHd0LXN0YXR1cy5jOjE0NjgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIiCiAiICAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgcmV2ZXJ0IC0tYWJvcnTigJwsINC30LAg0LTQsCDQv9GA0LXRg9GB0YLQsNC90L7QstC40YLQtSDQvtGC0LzRj9C90LDRgtCwINC90LAgIgogItC/0L7QtNCw0LLQsNC90LUpIgogCi0jOiB3dC1zdGF0dXMuYzoxNDA2CisjOiB3dC1zdGF0dXMuYzoxNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAi0JIg0LzQvtC80LXQvdGC0LAg0YLRitGA0YHQuNGC0LUg0LTQstC+0LjRh9C90L4sINC60LDRgtC+INGB0YLQtSDRgdGC0LDRgNGC0LjRgNCw0LvQuCDQvtGCINC60LvQvtC9IOKAniVz4oCcLiIKIAotIzogd3Qtc3RhdHVzLmM6MTQxMAorIzogd3Qtc3RhdHVzLmM6MTQ4MgogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCiBtc2dzdHIgItCSINC80L7QvNC10L3RgtCwINGC0YrRgNGB0LjRgtC1INC00LLQvtC40YfQvdC+LiIKIAotIzogd3Qtc3RhdHVzLmM6MTQxMworIzogd3Qtc3RhdHVzLmM6MTQ4NQogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiIgogIiAgKNC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IGJpc2VjdCByZXNldOKAnCwg0LfQsCDQtNCwINGB0LUg0LLRitGA0L3QtdGC0LUg0LrRitC8INC/0YrRgNCy0L7QvdCw0YfQsNC70L3QvtGC0L4gIgogItGB0YrRgdGC0L7Rj9C90LjQtSDQuCDQutC70L7QvSkiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTEKKyM6IHd0LXN0YXR1cy5jOjE2OTQKIG1zZ2lkICJPbiBicmFuY2ggIgogbXNnc3RyICLQndCwINC60LvQvtC9ICIKIAotIzogd3Qtc3RhdHVzLmM6MTYxOAorIzogd3Qtc3RhdHVzLmM6MTcwMQogbXNnaWQgImludGVyYWN0aXZlIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgItC40LfQstGK0YDRiNCy0LDRgtC1INC40L3RgtC10YDQsNC60YLQuNCy0L3QviDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1INCy0YrRgNGF0YMgIgogCi0jOiB3dC1zdGF0dXMuYzoxNjIwCisjOiB3dC1zdGF0dXMuYzoxNzAzCiBtc2dpZCAicmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAi0LjQt9Cy0YrRgNGI0LLQsNGC0LUg0L/RgNC10LHQsNC30LjRgNCw0L3QtSDQstGK0YDRhdGDICIKIAotIzogd3Qtc3RhdHVzLmM6MTYyNQotbXNnaWQgIkhFQUQgZGV0YWNoZWQgYXQgIgotbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC90LUg0LUg0YHQstGK0YDQt9Cw0L0g0Lgg0LUg0L/RgNC4ICIKLQotIzogd3Qtc3RhdHVzLmM6MTYyNwotbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCi1tc2dzdHIgItCj0LrQsNC30LDRgtC10LvRj9GCIOKAnkhFQUTigJwg0L3QtSDQtSDRgdCy0YrRgNC30LDQvSDQuCDQtSDQvtGC0LTQtdC70LXMgNC9INC+0YIgIgotCi0jOiB3dC1zdGF0dXMuYzoxNjMwCisjOiB3dC1zdGF0dXMuYzoxNzEzCiBtc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAi0JjQt9Cy0YrQvSDQstGB0LjRh9C60Lgg0LrQu9C+0L3QuC4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2NDcKKyM6IHd0LXN0YXR1cy5jOjE3MzAKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAi0J/RitGA0LLQvtC90LDRh9Cw0LvQvdC+INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IHd0LXN0YXR1cy5jOjE2NDgKKyM6IHd0LXN0YXR1cy5jOjE3MzEKIG1zZ2lkICJObyBjb21taXRzIHlldCIKIG1zZ3N0ciAi0JLRgdC1INC+0YnQtSDQu9C40L/RgdCy0LDRgiDQv9C+0LTQsNCy0LDQvdC40Y8iCiAKLSM6IHd0LXN0YXR1cy5jOjE2NjIKKyM6IHd0LXN0YXR1cy5jOjE3NDUKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgItCd0LXRgdC70LXQtNC10L3QuCDRhNCw0LnQu9C+0LLQtSIKIAotIzogd3Qtc3RhdHVzLmM6MTY2NAorIzogd3Qtc3RhdHVzLmM6MTc0NwogbXNnaWQgIklnbm9yZWQgZmlsZXMiCiBtc2dzdHIgItCY0LPQvdC+0YDQuNGA0LDQvdC4INGE0LDQudC70L7QstC1IgogCi0jOiB3dC1zdGF0dXMuYzoxNjY4CisjOiB3dC1zdGF0dXMuYzoxNzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCkBAIC03MzExLDM1ICs5MTY2LDM1IEBACiBtc2dzdHIgIiIKICLQkdGP0YXQsCDQvdC10L7QsdGF0L7QtNC40LzQuCAlLjJmINGB0LXQutGD0L3QtNC4INC30LAg0LjQt9Cx0YDQvtGP0LLQsNC90LXRgtC+INC90LAg0L3QtdGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtS5cbiIKICLQlNC+0LHQsNCy0Y/QvdC10YLQviDQvdCwINC+0L/RhtC40Y/RgtCwIOKAni11bm/igJwg0LrRitC8INC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgc3RhdHVz4oCcLCDRidC1INGD0YHQutC+0YDQuFxuIgotItC40LfQv9GK0LvQvdC10L3QuNC10YLQviwg0L3QviDQvdC1INGC0YDRj9Cx0LLQsCDQtNCwINC30LDQsdGA0LDQstGP0YLQtSDRgNGK0YfQvdC+INC00LAg0LTQvtCx0LDQstGP0YLQtSDQvdC+0LLQuNGC0LUg0YTQsNC50LvQvtCy0LUuXG4iCisi0LjQt9C/0YrQu9C90LXQvdC40LXRgtC+LCDQvdC+INGJ0LUg0YLRgNGP0LHQstCwINC00LAg0LTQvtCx0LDQstGP0YLQtSDQvdC+0LLQuNGC0LUg0YTQsNC50LvQvtCy0LUg0YDRitGH0L3Qvi5cbiIKICLQl9CwINC/0L7QstC10YfQtSDQv9C+0LTRgNC+0LHQvdC+0YHRgtC4INC/0L7Qs9C70LXQtNC90LXRgtC1IOKAnmdpdCBzdGF0dXMgaGVscOKAnC4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2NzQKKyM6IHd0LXN0YXR1cy5jOjE3NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKIG1zZ3N0ciAi0J3QtdGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSDQvdC1INGB0LAg0LjQt9Cy0LXQtNC10L3QuCVzIgogCi0jOiB3dC1zdGF0dXMuYzoxNjc2CisjOiB3dC1zdGF0dXMuYzoxNzU5CiBtc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKIG1zZ3N0ciAiICjQuNC30L/QvtC70LfQstCw0LnRgtC1INC+0L/RhtC40Y/RgtCwIOKAni114oCcLCDQt9CwINC00LAg0LjQt9Cy0LXQtNC10YLQtSDQvdC10YHQu9C10LTQtdC90LjRgtC1INGE0LDQudC70L7QstC1KSIKIAotIzogd3Qtc3RhdHVzLmM6MTY4MgorIzogd3Qtc3RhdHVzLmM6MTc2NQogbXNnaWQgIk5vIGNoYW5nZXMiCiBtc2dzdHIgItCd0Y/QvNCwINC/0YDQvtC80LXQvdC4IgogCi0jOiB3dC1zdGF0dXMuYzoxNjg3CisjOiB3dC1zdGF0dXMuYzoxNzcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgXCJnaXQgYWRkXCIgYW5kL29yIFwiZ2l0IGNvbW1pdCAtYVwiKVxuIgogbXNnc3RyICIiCiAi0LrRitC8INC40L3QtNC10LrRgdCwINC30LAg0L/QvtC00LDQstCw0L3QtSDQvdC1INGB0LAg0LTQvtCx0LDQstC10L3QuCDQv9GA0L7QvNC10L3QuCAo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgYWRk4oCcINC4L9C40LvQuCAiCiAi4oCeZ2l0IGNvbW1pdCAtYeKAnClcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTY5MAorIzogd3Qtc3RhdHVzLmM6MTc3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdFxuIgogbXNnc3RyICLQutGK0Lwg0LjQvdC00LXQutGB0LAg0LfQsCDQv9C+0LTQsNCy0LDQvdC1INC90LUg0YHQsCDQtNC+0LHQsNCy0LXQvdC4INC/0YDQvtC80LXQvdC4XG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2OTMKKyM6IHd0LXN0YXR1cy5jOjE3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKQEAgLTczNDgsMTk2ICs5MjAzLDIwMSBAQAogItC60YrQvCDQuNC90LTQtdC60YHQsCDQt9CwINC/0L7QtNCw0LLQsNC90LUg0L3QtSDRgdCwINC00L7QsdCw0LLQtdC90Lgg0L/RgNC+0LzQtdC90LgsINC90L4g0LjQvNCwINC90L7QstC4INGE0LDQudC70L7QstC1ICIKICIo0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgYWRk4oCcLCDQt9CwINC00LAg0LfQsNC/0L7Rh9C90LUg0YLRj9GF0L3QvtGC0L4g0YHQu9C10LTQtdC90LUpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2OTYKKyM6IHd0LXN0YXR1cy5jOjE3NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50XG4iCiBtc2dzdHIgItC60YrQvCDQuNC90LTQtdC60YHQsCDQt9CwINC/0L7QtNCw0LLQsNC90LUg0L3QtSDRgdCwINC00L7QsdCw0LLQtdC90Lgg0L/RgNC+0LzQtdC90LgsINC90L4g0LjQvNCwINC90L7QstC4INGE0LDQudC70L7QstC1XG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2OTkKKyM6IHd0LXN0YXR1cy5jOjE3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCiBtc2dzdHIgIiIKICLQu9C40L/RgdCy0LDRgiDQutCw0LrQstC40YLQviDQuCDQtNCwINC1INC/0YDQvtC80LXQvdC4ICjRgdGK0LfQtNCw0LnRgtC1INC40LvQuCDQutC+0L/QuNGA0LDQudGC0LUg0YTQsNC50LvQvtCy0LUg0Lgg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSAiCiAi4oCeZ2l0IGFkZOKAnCwg0LfQsCDQtNCwINC30LDQv9C+0YfQvdC1INGC0Y/RhdC90L7RgtC+INGB0LvQtdC00LXQvdC1KVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNzAyIHd0LXN0YXR1cy5jOjE3MDcKKyM6IHd0LXN0YXR1cy5jOjE3ODUgd3Qtc3RhdHVzLmM6MTc5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICLQu9C40L/RgdCy0LDRgiDQutCw0LrQstC40YLQviDQuCDQtNCwINC1INC/0YDQvtC80LXQvdC4XG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE3MDUKKyM6IHd0LXN0YXR1cy5jOjE3ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAiIgogItC70LjQv9GB0LLQsNGCINC60LDQutCy0LjRgtC+INC4INC00LAg0LUg0L/RgNC+0LzQtdC90LggKNC40LfQv9C+0LvQt9Cy0LDQudGC0LUg0L7Qv9GG0LjRj9GC0LAg4oCeLXXigJwsINC30LAg0LTQsCDRgdC1INC40LfQstC10LTQsNGCINC4ICIKICLQvdC10YHQu9C10LTQtdC90LjRgtC1INGE0LDQudC70L7QstC1KVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNzA5CisjOiB3dC1zdGF0dXMuYzoxNzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIKIG1zZ3N0ciAi0LvQuNC/0YHQstCw0YIg0LrQsNC60LLQuNGC0L4g0Lgg0LTQsCDQtSDQv9GA0L7QvNC10L3QuCwg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0LUg0YfQuNGB0YLQvlxuIgogCi0jOiB3dC1zdGF0dXMuYzoxODIyCisjOiB3dC1zdGF0dXMuYzoxOTA1CiBtc2dpZCAiTm8gY29tbWl0cyB5ZXQgb24gIgogbXNnc3RyICLQktGB0LUg0L7RidC1INC70LjQv9GB0LLQsNGCINC/0L7QtNCw0LLQsNC90LjRjyDQsiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MjYKKyM6IHd0LXN0YXR1cy5jOjE5MDkKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICJIRUFEICjQuNC30LLRitC9INC60LvQvtC9KSIKIAotIzogd3Qtc3RhdHVzLmM6MTg1NworIzogd3Qtc3RhdHVzLmM6MTk0MAogbXNnaWQgImRpZmZlcmVudCIKIG1zZ3N0ciAi0YDQsNC30LvQuNGH0LXQvSIKIAotIzogd3Qtc3RhdHVzLmM6MTg1OSB3dC1zdGF0dXMuYzoxODY3CisjOiB3dC1zdGF0dXMuYzoxOTQyIHd0LXN0YXR1cy5jOjE5NTAKIG1zZ2lkICJiZWhpbmQgIgogbXNnc3RyICLQvdCw0LfQsNC0INGBICIKIAotIzogd3Qtc3RhdHVzLmM6MTg2MiB3dC1zdGF0dXMuYzoxODY1CisjOiB3dC1zdGF0dXMuYzoxOTQ1IHd0LXN0YXR1cy5jOjE5NDgKIG1zZ2lkICJhaGVhZCAiCiBtc2dzdHIgItC90LDQv9GA0LXQtCDRgSAiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgYWN0aW9uIGlzIGUuZy4gInB1bGwgd2l0aCByZWJhc2UiCi0jOiB3dC1zdGF0dXMuYzoyMzc0CisjOiB3dC1zdGF0dXMuYzoyNDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDQuNC30LLRitGA0YjQuNGC0LUg4oCeJXPigJwsINC30LDRidC+0YLQviDQuNC80LAg0L/RgNC+0LzQtdC90LgsINC60L7QuNGC0L4g0L3QtSDRgdCwINCyINC40L3QtNC10LrRgdCwLiIKIAotIzogd3Qtc3RhdHVzLmM6MjM4MAorIzogd3Qtc3RhdHVzLmM6MjQ3NgogbXNnaWQgImFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi0L7RgdCy0LXQvSDRgtC+0LLQsCDQsiDQuNC90LTQtdC60YHQsCDQuNC80LAg0L3QtdC/0L7QtNCw0LTQtdC90Lgg0L/RgNC+0LzQtdC90LguIgogCi0jOiB3dC1zdGF0dXMuYzoyMzgyCisjOiB3dC1zdGF0dXMuYzoyNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINC40LfQstGK0YDRiNC40YLQtSDigJ4lc+KAnCwg0LfQsNGJ0L7RgtC+INCyINC40L3QtNC10LrRgdCwINC40LzQsCDQvdC10L/QvtC00LDQtNC10L3QuCDQv9GA0L7QvNC10L3QuC4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1OCBidWlsdGluL2Nsb25lLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKK21zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC40LfRgtGA0LjQstCw0L3QtSDQvdCwIOKAniVz4oCcIgorCisjOiBidWlsdGluL2FkZC5jOjI2CiBtc2dpZCAiZ2l0IGFkZCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBhZGQgW9Ce0J/QptCY0K/igKZdIFstLV0g0J/QqtCi4oCmIgogCi0jOiBidWlsdGluL2FkZC5jOjgzCisjOiBidWlsdGluL2FkZC5jOjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvSDQuNC30YXQvtC00LXQvSDQutC+0LQg0L/RgNC4INCz0LXQvdC10YDQuNGA0LDQvdC1INC90LAg0YDQsNC30LvQuNC60LA6ICVjIgogCi0jOiBidWlsdGluL2FkZC5jOjg4IGJ1aWx0aW4vY29tbWl0LmM6Mjg0CisjOiBidWlsdGluL2FkZC5jOjkyIGJ1aWx0aW4vY29tbWl0LmM6Mjg4CiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0L7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6OTgKKyM6IGJ1aWx0aW4vYWRkLmM6MTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgItC40LfRgtGA0LjQstCw0L3QtSDQvdCwIOKAniVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MTczCisjOiBidWlsdGluL2FkZC5jOjE3NwogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVmcmVzaGluZyB0aGUgaW5kZXg6IgogbXNnc3RyICLQn9GA0L7QvNC10L3QuCwg0LrQvtC40YLQviDQuCDRgdC70LXQtCDQvtCx0L3QvtCy0Y/QstCw0L3QtdGC0L4g0L3QsCDQuNC90LTQtdC60YHQsCDQvdC1INGB0LAg0LTQvtCx0LDQstC10L3QuCDQutGK0Lwg0L3QtdCz0L46IgogCi0jOiBidWlsdGluL2FkZC5jOjIzMyBidWlsdGluL3Jldi1wYXJzZS5jOjg5NQorIzogYnVpbHRpbi9hZGQuYzoyNTIgYnVpbHRpbi9yZXYtcGFyc2UuYzo4OTkKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgItCY0L3QtNC10LrRgdGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQ0CisjOiBidWlsdGluL2FkZC5jOjI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAi0KTQsNC50LvRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LLQvtGA0LXQvSDQt9CwINC30LDQv9C40YEuIgogCi0jOiBidWlsdGluL2FkZC5jOjI0OAorIzogYnVpbHRpbi9hZGQuYzoyNjcKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgItCa0YDRitC/0LrQsNGC0LAg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9C40YHQsNC90LAiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjUxCisjOiBidWlsdGluL2FkZC5jOjI3MAogbXNnaWQgImVkaXRpbmcgcGF0Y2ggZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0YDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINC60YDRitC/0LrQsCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTQKKyM6IGJ1aWx0aW4vYWRkLmM6MjczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCiBtc2dzdHIgItCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0L7Qu9GD0YfQuCDQuNC90YTQvtGA0LzQsNGG0LjRjyDRh9GA0LXQtyDigJ5zdGF04oCcINC30LAg0YTQsNC50LvQsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc1CiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICLQn9GA0LDQt9C90LAg0LrRgNGK0L/QutCwLCDQv9GA0LXRg9GB0YLQsNC90L7QstGP0LLQsNC90LUg0L3QsCDQtNC10LnRgdGC0LLQuNC10YLQvi4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjYxCisjOiBidWlsdGluL2FkZC5jOjI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJyVzJyIKIG1zZ3N0ciAi0JrRgNGK0L/QutCw0YLQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC40LvQvtC20LXQvdCwIgogCi0jOiBidWlsdGluL2FkZC5jOjI2OQorIzogYnVpbHRpbi9hZGQuYzoyODgKIG1zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCiBtc2dzdHIgIiIKICLQodC70LXQtNC90LjRgtC1INC/0YrRgtC40YnQsCDRidC1INCx0YrQtNCw0YIg0LjQs9C90L7RgNC40YDQsNC90Lgg0YHQv9C+0YDQtdC0INC90Y/QutC+0Lkg0L7RgiDRhNCw0LnQu9C+0LLQtdGC0LUg4oCeLmdpdGlnbm9yZeKAnDpcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyODkgYnVpbHRpbi9jbGVhbi5jOjkwNyBidWlsdGluL2ZldGNoLmM6MTM3IGJ1aWx0aW4vbXYuYzoxMjMKLSM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTYgYnVpbHRpbi9wdWxsLmM6MjEzIGJ1aWx0aW4vcHVzaC5jOjU1NwotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzQ1IGJ1aWx0aW4vcm0uYzoyNDAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjUKKyM6IGJ1aWx0aW4vYWRkLmM6MzA4IGJ1aWx0aW4vY2xlYW4uYzo5MTAgYnVpbHRpbi9mZXRjaC5jOjE2MyBidWlsdGluL212LmM6MTI0CisjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU2IGJ1aWx0aW4vcHVsbC5jOjIyMyBidWlsdGluL3B1c2guYzo1NDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM0NCBidWlsdGluL3JtLmM6MjQxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY1CiBtc2dpZCAiZHJ5IHJ1biIKIG1zZ3N0ciAi0L/RgNC+0LHQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1IgogCi0jOiBidWlsdGluL2FkZC5jOjI5MgorIzogYnVpbHRpbi9hZGQuYzozMTEKIG1zZ2lkICJpbnRlcmFjdGl2ZSBwaWNraW5nIgogbXNnc3RyICLQuNC90YLQtdGA0LDQutGC0LjQstC90L4g0L7RgtCx0LjRgNCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC4IgogCi0jOiBidWlsdGluL2FkZC5jOjI5MyBidWlsdGluL2NoZWNrb3V0LmM6MTI1OCBidWlsdGluL3Jlc2V0LmM6MzA1CisjOiBidWlsdGluL2FkZC5jOjMxMiBidWlsdGluL2NoZWNrb3V0LmM6MTQ4MiBidWlsdGluL3Jlc2V0LmM6MzA3CiBtc2dpZCAic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgItC40L3RgtC10YDQsNC60YLQuNCy0LXQvSDQuNC30LHQvtGAINC90LAg0L/QsNGA0YfQtdGC0LAg0LrQvtC0IgogCi0jOiBidWlsdGluL2FkZC5jOjI5NAorIzogYnVpbHRpbi9hZGQuYzozMTMKIG1zZ2lkICJlZGl0IGN1cnJlbnQgZGlmZiBhbmQgYXBwbHkiCiBtc2dzdHIgItGA0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDRgtC10LrRg9GJ0LDRgtCwINGA0LDQt9C70LjQutCwINC4INC/0YDQuNC70LDQs9Cw0L3QtSIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTUKKyM6IGJ1aWx0aW4vYWRkLmM6MzE0CiBtc2dpZCAiYWxsb3cgYWRkaW5nIG90aGVyd2lzZSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC4INC90LAg0LjQvdCw0YfQtSDQuNCz0L3QvtGA0LjRgNCw0L3QuNGC0LUg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk2CisjOiBidWlsdGluL2FkZC5jOjMxNQogbXNnaWQgInVwZGF0ZSB0cmFja2VkIGZpbGVzIgogbXNnc3RyICLQvtCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwINGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTcKKyM6IGJ1aWx0aW4vYWRkLmM6MzE2CiBtc2dpZCAicmVub3JtYWxpemUgRU9MIG9mIHRyYWNrZWQgZmlsZXMgKGltcGxpZXMgLXUpIgogbXNnc3RyICLRg9C10LTQvdCw0LrQstGP0LLQsNC90LUg0L3QsCDQt9C90LDRhtC40YLQtSDQt9CwINC60YDQsNC5INC90LAg0YTQsNC50LsgKNCy0LrQu9GO0YfQstCwINC+0L/RhtC40Y/RgtCwIOKAni114oCcKSIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTgKKyM6IGJ1aWx0aW4vYWRkLmM6MzE3CiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCB0aGUgcGF0aCB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICLQvtGC0LHQtdC70Y/Qt9Cy0LDQvdC1INGB0LDQvNC+INC90LAg0YTQsNC60YLQsCwg0YfQtSDQv9GK0YLRj9GCINGJ0LUg0LHRitC00LUg0LTQvtCx0LDQstC10L0g0L/Qvi3QutGK0YHQvdC+IgogCi0jOiBidWlsdGluL2FkZC5jOjI5OQorIzogYnVpbHRpbi9hZGQuYzozMTgKIG1zZ2lkICJhZGQgY2hhbmdlcyBmcm9tIGFsbCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDQstGB0LjRh9C60Lgg0L/RgNC+0LzQtdC90Lgg0LIg0YHQu9C10LTQtdC90LjRgtC1INC4INC90LXRgdC70LXQtNC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzAyCisjOiBidWlsdGluL2FkZC5jOjMyMQogbXNnaWQgImlnbm9yZSBwYXRocyByZW1vdmVkIGluIHRoZSB3b3JraW5nIHRyZWUgKHNhbWUgYXMgLS1uby1hbGwpIgogbXNnc3RyICIiCiAi0LjQs9C90L7RgNC40YDQsNC90LUg0L3QsCDQv9GK0YLQuNGJ0LDRgtCwLCDQutC+0LjRgtC+INGB0LAg0LjQt9GC0YDQuNGC0Lgg0L7RgiDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviAo0YHRitGJ0L7RgtC+INC60LDRgtC+IOKAni0tIgogIm5vLWFsbOKAnCkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA0CisjOiBidWlsdGluL2FkZC5jOjMyMwogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAi0LHQtdC3INC00L7QsdCw0LLRj9C90LUg0L3QsCDQvdC+0LLQuCDRhNCw0LnQu9C+0LLQtSwg0YHQsNC80L4g0L7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDQuNC90LTQtdC60YHQsCIKIAotIzogYnVpbHRpbi9hZGQuYzozMDUKKyM6IGJ1aWx0aW4vYWRkLmM6MzI0CiBtc2dpZCAianVzdCBza2lwIGZpbGVzIHdoaWNoIGNhbm5vdCBiZSBhZGRlZCBiZWNhdXNlIG9mIGVycm9ycyIKIG1zZ3N0ciAiIgogItC/0YDQtdGB0LrQsNGH0LDQvdC1INC90LAg0YTQsNC50LvQvtCy0LXRgtC1LCDQutC+0LjRgtC+INC90LUg0LzQvtCz0LDRgiDQtNCwINCx0YrQtNCw0YIg0LTQvtCx0LDQstC10L3QuCDQv9C+0YDQsNC00Lgg0LPRgNC10YjQutC4IgogCi0jOiBidWlsdGluL2FkZC5jOjMwNgorIzogYnVpbHRpbi9hZGQuYzozMjUKIG1zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCiBtc2dzdHIgIiIKICLQv9GA0L7QstC10YDQutCwLCDRh9C1INC/0YDQuCDQv9GA0L7QsdC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0LLRgdC40YfQutC4INGE0LDQudC70L7QstC1LCDQtNC+0YDQuCDQuCDQuNC30YLRgNC40YLQuNGC0LUsINGB0LUgIgogItC40LPQvdC+0YDQuNGA0LDRgiIKIAotIzogYnVpbHRpbi9hZGQuYzozMDggYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTAKKyM6IGJ1aWx0aW4vYWRkLmM6MzI3IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNAogbXNnaWQgIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIgogbXNnc3RyICLQuNC30YDQuNGH0L3QviDQt9Cw0LTQsNCy0LDQvdC1INC90LAg0YHRgtC+0LnQvdC+0YHRgtGC0LAg0L3QsCDRhNC70LDQs9CwINC00LDQu9C4INGE0LDQudC70YrRgiDQtSDQuNC30L/RitC70L3QuNC8IgogCi0jOiBidWlsdGluL2FkZC5jOjMxMAorIzogYnVpbHRpbi9hZGQuYzozMjkKIG1zZ2lkICJ3YXJuIHdoZW4gYWRkaW5nIGFuIGVtYmVkZGVkIHJlcG9zaXRvcnkiCiBtc2dzdHIgItC/0YDQtdC00YPQv9GA0LXQttC00LDQstCw0L3QtSDQv9GA0Lgg0LTQvtCx0LDQstGP0L3QtSDQvdCwINCy0LPRgNCw0LTQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1IgogCi0jOiBidWlsdGluL2FkZC5jOjMyNQorIzogYnVpbHRpbi9hZGQuYzozNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSd2ZSBhZGRlZCBhbm90aGVyIGdpdCByZXBvc2l0b3J5IGluc2lkZSB5b3VyIGN1cnJlbnQgcmVwb3NpdG9yeS5cbiIKQEAgLTc1NjgsMTUxICs5NDI4LDE2OCBAQAogIlxuIgogItCX0LAg0L/QvtCy0LXRh9C1INC40L3RhNC+0YDQvNCw0YbQuNGPINC/0L7Qs9C70LXQtNC90LXRgtC1IOKAnmdpdCBoZWxwIHN1Ym1vZHVsZeKAnC4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUzCisjOiBidWlsdGluL2FkZC5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRpbmcgZW1iZWRkZWQgZ2l0IHJlcG9zaXRvcnk6ICVzIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0LLQs9GA0LDQtNC10L3QviDRhdGA0LDQvdC40LvQuNGJ0LU6ICVzIgogCi0jOiBidWlsdGluL2FkZC5jOjM3MQorIzogYnVpbHRpbi9hZGQuYzozOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKIG1zZ3N0ciAi0JjQt9C/0L7Qu9C30LLQsNC50YLQtSDQvtC/0YbQuNGP0YLQsCDigJ4tZuKAnCwg0LfQsCDQtNCwINCz0Lgg0LTQvtCx0LDQstC40YLQtSDQvdCw0LjRgdGC0LjQvdCwLlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjM3OQorIzogYnVpbHRpbi9hZGQuYzo0MDAKIG1zZ2lkICJhZGRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LTQvtCx0LDQstGP0L3QtSDQvdCwINGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL2FkZC5jOjQxNworIzogYnVpbHRpbi9hZGQuYzo0MjggYnVpbHRpbi9jb21taXQuYzozNDgKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWludGVyYWN0aXZlLy0tcGF0Y2giCittc2dzdHIgIiIKKyLQvtC/0YbQuNGP0YLQsCDigJ4tLXBhdGhzcGVjLWZyb20tZmlsZeKAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg0LLRgdGP0LrQsCDQvtGCINC+0L/RhtC40LjRgtC1IOKAni0tIgorImludGVyYWN0aXZl4oCcL+KAni0tcGF0Y2jigJwiCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDM0Cittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1lZGl0IgorbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLXBhdGhzcGVjLWZyb20tZmlsZeKAnCDQuCDigJ4tLWVkaXTigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDQ2CiBtc2dpZCAiLUEgYW5kIC11IGFyZSBtdXR1YWxseSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgItC+0L/RhtC40LjRgtC1IOKAni1B4oCcINC4IOKAni114oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgogCi0jOiBidWlsdGluL2FkZC5jOjQyNAorIzogYnVpbHRpbi9hZGQuYzo0NDkKIG1zZ2lkICJPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1kcnktcnVuIgotbXNnc3RyICLQntC/0YbQuNGP0YLQsCDigJ4tLWlnbm9yZS1taXNzaW5n4oCcINC1INGB0YrQstC80LXRgdGC0LjQvNCwINGB0LDQvNC+INGBIOKAni0tZHJ5LXJ1buKAnCIKK21zZ3N0ciAi0J7Qv9GG0LjRj9GC0LAg4oCeLS1pZ25vcmUtbWlzc2luZ+KAnCDQuNC30LjRgdC60LLQsCDigJ4tLWRyeS1ydW7igJwiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDI4CisjOiBidWlsdGluL2FkZC5jOjQ1MwogIywgYy1mb3JtYXQKIG1zZ2lkICItLWNobW9kIHBhcmFtICclcycgbXVzdCBiZSBlaXRoZXIgLXggb3IgK3giCiBtc2dzdHIgItC/0LDRgNCw0LzQtdGC0YrRgNGK0YIg0LrRitC8IOKAni0tY2htb2TigJwg4oCUIOKAniVz4oCcINC80L7QttC1INC00LAg0LUg0LjQu9C4IOKAni144oCcLCDQuNC70Lgg4oCeK3jigJwiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDQzCisjOiBidWlsdGluL2FkZC5jOjQ3MSBidWlsdGluL2NoZWNrb3V0LmM6MTY0OCBidWlsdGluL2NvbW1pdC5jOjM1NAorIzogYnVpbHRpbi9yZXNldC5jOjMyNworbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIHBhdGhzcGVjIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorItC+0L/RhtC40Y/RgtCwIOKAni0tcGF0aHNwZWMtZnJvbS1maWxl4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDQsNGA0LPRg9C80LXQvdGC0LgsINGD0LrQsNC30LLQsNGJ0Lgg0L/RitGC0LjRidCwIgorCisjOiBidWlsdGluL2FkZC5jOjQ3OCBidWlsdGluL2NoZWNrb3V0LmM6MTY2MCBidWlsdGluL2NvbW1pdC5jOjM2MAorIzogYnVpbHRpbi9yZXNldC5jOjMzMworbXNnaWQgIi0tcGF0aHNwZWMtZmlsZS1udWwgcmVxdWlyZXMgLS1wYXRoc3BlYy1mcm9tLWZpbGUiCittc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tcGF0aHNwZWMtZmlsZS1udWzigJwg0LjQt9C40YHQutCy0LAg0L7Qv9GG0LjRjyDigJ4tLXBhdGhzcGVjLWZyb20tZmlsZeKAnCIKKworIzogYnVpbHRpbi9hZGQuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgItCd0LjRidC+INC90LUg0LUg0LfQsNC00LDQtNC10L3QviDQuCDQvdC40YnQviDQvdC1INC1INC00L7QsdCw0LLQtdC90L4uXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDQ0CisjOiBidWlsdGluL2FkZC5jOjQ4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAi0JLQtdGA0L7Rj9GC0L3QviDQuNGB0LrQsNGF0YLQtSDQtNCwINC40LfQv9C+0LvQt9Cy0LDRgtC1IOKAnmdpdCBhZGQgLuKAnD9cbiIKIAotIzogYnVpbHRpbi9hbS5jOjM2MworIzogYnVpbHRpbi9hbS5jOjM0NwogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBhdXRob3Igc2NyaXB0IgogbXNnc3RyICLRgdC60YDQuNC/0YLRitGCINC30LAg0LDQstGC0L7RgCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQsNC90LDQu9C40LfQuNGA0LAiCiAKLSM6IGJ1aWx0aW4vYW0uYzo0NDcKKyM6IGJ1aWx0aW4vYW0uYzo0MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyB3YXMgZGVsZXRlZCBieSB0aGUgYXBwbHlwYXRjaC1tc2cgaG9vayIKIG1zZ3N0ciAi4oCeJXPigJwg0LHQtSDQuNC30YLRgNC40YIg0L7RgiDQutGD0LrQsNGC0LAg4oCeYXBwbHlwYXRjaC1tc2figJwiCiAKLSM6IGJ1aWx0aW4vYW0uYzo0ODgKKyM6IGJ1aWx0aW4vYW0uYzo0NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgogbXNnc3RyICLQlNCw0LTQtdC90LjRj9GCINCy0YXQvtC00LXQvSDRgNC10LQg0LUg0YEg0L3QtdC/0YDQsNCy0LjQu9C10L0g0YTQvtGA0LzQsNGCOiDigJ4lc+KAnC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo1MjUKKyM6IGJ1aWx0aW4vYW0uYzo1MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgItCR0LXQu9C10LbQutCw0YLQsCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQutC+0L/QuNGA0LAg0L7RgiDigJ4lc+KAnCDQutGK0Lwg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vYW0uYzo1NTEKKyM6IGJ1aWx0aW4vYW0uYzo1MzcKIG1zZ2lkICJmc2VlayBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwIOKAnmZzZWVr4oCcIgogCi0jOiBidWlsdGluL2FtLmM6NzM5CisjOiBidWlsdGluL2FtLmM6NzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXRjaCAnJXMnIgogbXNnc3RyICLQutGA0YrQv9C60LDRgtCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INCw0L3QsNC70LjQt9C40YDQsCIKIAotIzogYnVpbHRpbi9hbS5jOjgwNAorIzogYnVpbHRpbi9hbS5jOjc5MAogbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgogbXNnc3RyICIiCiAi0KHQsNC80L4g0LXQtNC90LAg0L/QvtGA0LXQtNC40YbQsCDQvtGCINC60YDRitC/0LrQuCDQvtGCIOKAnlN0R0lU4oCcINC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC40LvQsNCz0LDQvdCwINCyINC00LDQtNC10L0g0LzQvtC80LXQvdGCIgogCi0jOiBidWlsdGluL2FtLmM6ODUyCisjOiBidWlsdGluL2FtLmM6ODM4CiBtc2dpZCAiaW52YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCDQstGA0LXQvNC1IgogCi0jOiBidWlsdGluL2FtLmM6ODU3IGJ1aWx0aW4vYW0uYzo4NjkKKyM6IGJ1aWx0aW4vYW0uYzo4NDMgYnVpbHRpbi9hbS5jOjg1NQogbXNnaWQgImludmFsaWQgRGF0ZSBsaW5lIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDRgNC10LQg0LfQsCDQtNCw0YLQsCDigJ5EYXRl4oCcIgogCi0jOiBidWlsdGluL2FtLmM6ODY0CisjOiBidWlsdGluL2FtLmM6ODUwCiBtc2dpZCAiaW52YWxpZCB0aW1lem9uZSBvZmZzZXQiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdC+INC+0YLQvNC10YHRgtCy0LDQvdC1INC90LAg0YfQsNGB0L7QstC40Y8g0L/QvtGP0YEiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5NTcKKyM6IGJ1aWx0aW4vYW0uYzo5NDMKIG1zZ2lkICJQYXRjaCBmb3JtYXQgZGV0ZWN0aW9uIGZhaWxlZC4iCiBtc2dzdHIgItCk0L7RgNC80LDRgtGK0YIg0L3QsCDQutGA0YrQv9C60LDRgtCwINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtC/0YDQtdC00LXQu9C10L0uIgogCi0jOiBidWlsdGluL2FtLmM6OTYyIGJ1aWx0aW4vY2xvbmUuYzo0MDgKKyM6IGJ1aWx0aW4vYW0uYzo5NDggYnVpbHRpbi9jbG9uZS5jOjQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICLQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YrQt9C00LDQtNC10L3QsCIKIAotIzogYnVpbHRpbi9hbS5jOjk2NworIzogYnVpbHRpbi9hbS5jOjk1MwogbXNnaWQgIkZhaWxlZCB0byBzcGxpdCBwYXRjaGVzLiIKIG1zZ3N0ciAi0JrRgNGK0L/QutC40YLQtSDQvdC1INC80L7Qs9Cw0YIg0LTQsCDQsdGK0LTQsNGCINGA0LDQt9C00LXQu9C10L3QuC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMDk3IGJ1aWx0aW4vY29tbWl0LmM6MzY5Ci1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIGluZGV4IGZpbGUiCi1tc2dzdHIgItC40L3QtNC10LrRgdGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9C40YHQsNC9IgotCi0jOiBidWlsdGluL2FtLmM6MTExMQorIzogYnVpbHRpbi9hbS5jOjEwODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcIiVzIC0tY29udGludWVcIi4iCiBtc2dzdHIgItCh0LvQtdC0INC60L7RgNC40LPQuNGA0LDQvdC10YLQviDQvdCwINGC0L7Qt9C4INC/0YDQvtCx0LvQtdC8INC40LfQv9GK0LvQvdC10YLQtSDigJ4lcyAtLWNvbnRpbnVl4oCcLiIKIAotIzogYnVpbHRpbi9hbS5jOjExMTIKKyM6IGJ1aWx0aW4vYW0uYzoxMDg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCIlcyAtLXNraXBcIiBpbnN0ZWFkLiIKIG1zZ3N0ciAi0JDQutC+INC/0YDQtdC00L/QvtGH0LjRgtCw0YLQtSDQtNCwINC/0YDQtdGB0LrQvtGH0LjRgtC1INGC0LDQt9C4INC60YDRitC/0LrQsCwg0LjQt9C/0YrQu9C90LXRgtC1IOKAniVzIC0tc2tpcOKAnC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTEzCisjOiBidWlsdGluL2FtLmM6MTA4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJUbyByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIHN0b3AgcGF0Y2hpbmcsIHJ1biBcIiVzIC0tYWJvcnRcIi4iCiBtc2dzdHIgItCX0LAg0LTQsCDRgdC1INCy0YrRgNC90LXRgtC1INC60YrQvCDQv9GK0YDQstC+0L3QsNGH0LDQu9C90L7RgtC+INGB0YrRgdGC0L7Rj9C90LjQtSwg0LjQt9C/0YrQu9C90LXRgtC1IOKAniVzIC0tYWJvcnTigJwuIgogCi0jOiBidWlsdGluL2FtLmM6MTE5NgorIzogYnVpbHRpbi9hbS5jOjExNjkKIG1zZ2lkICJQYXRjaCBzZW50IHdpdGggZm9ybWF0PWZsb3dlZDsgc3BhY2UgYXQgdGhlIGVuZCBvZiBsaW5lcyBtaWdodCBiZSBsb3N0LiIKIG1zZ3N0ciAiIgogItCa0YDRitC/0LrQsNGC0LAg0LUg0L/RgNCw0YLQtdC90LAg0YEg0YTQvtGA0LzQsNGC0LjRgNCw0L3QtSDigJ5mb3JtYXQ9Zmxvd2Vk4oCcLiAg0J/RgNCw0LfQvdC40YLQtSDQt9C90LDRhtC4INCyINC60YDQsNGPINC90LAgIgogItGA0LXQtNC+0LLQtdGC0LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQs9GD0LHRj9GCLiIKIAotIzogYnVpbHRpbi9hbS5jOjEyMjQKKyM6IGJ1aWx0aW4vYW0uYzoxMTk3CiBtc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICLQmtGA0YrQv9C60LDRgtCwINC1INC/0YDQsNC30L3QsC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMjkwCisjOiBidWlsdGluL2FtLmM6MTI2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIGF1dGhvciBsaW5lIGluIGNvbW1pdCAlcyIKK21zZ3N0ciAi0LvQuNC/0YHQstCwINGA0LXQtCDQt9CwINCw0LLRgtC+0YDRgdGC0LLQviDQsiDQv9C+0LTQsNCy0LDQvdC10YLQviDigJ4lc+KAnCIKKworIzogYnVpbHRpbi9hbS5jOjEyNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlLipzIgogbXNnc3RyICLQs9GA0LXRiNC10L0g0YDQtdC0INGBINC40LTQtdC90YLQuNGH0L3QvtGB0YI6ICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMzEyCi0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgJXMiCi1tc2dzdHIgItC/0L7QtNCw0LLQsNC90LXRgtC+INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQsNC90LDQu9C40LfQuNGA0LDQvdC+OiAlcyIKLQotIzogYnVpbHRpbi9hbS5jOjE1MDgKKyM6IGJ1aWx0aW4vYW0uYzoxNDg0CiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyBuZWNlc3NhcnkgYmxvYnMgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAiIgogItCSINGF0YDQsNC90LjQu9C40YnQtdGC0L4g0LvQuNC/0YHQstCw0YIg0L3QtdC+0LHRhdC+0LTQuNC80LjRgtC1INC+0LHQtdC60YLQuC1CTE9CLCDQt9CwINC00LAg0YHQtSDQv9GA0LXQvNC40L3QtSDQutGK0Lwg0YLRgNC+0LnQvdC+ICIKICLRgdC70LjQstCw0L3QtS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNTEwCisjOiBidWlsdGluL2FtLmM6MTQ4NgogbXNnaWQgIlVzaW5nIGluZGV4IGluZm8gdG8gcmVjb25zdHJ1Y3QgYSBiYXNlIHRyZWUuLi4iCiBtc2dzdHIgItCR0LDQt9C+0LLQvtGC0L4g0LTRitGA0LLQviDRgdC1INGA0LXQutC+0L3RgdGC0YDRg9C40YDQsCDQvtGCINC40L3RhNC+0YDQvNCw0YbQuNGP0YLQsCDQsiDQuNC90LTQtdC60YHQsOKApiIKIAotIzogYnVpbHRpbi9hbS5jOjE1MjkKKyM6IGJ1aWx0aW4vYW0uYzoxNTA1CiBtc2dpZCAiIgogIkRpZCB5b3UgaGFuZCBlZGl0IHlvdXIgcGF0Y2g/XG4iCiAiSXQgZG9lcyBub3QgYXBwbHkgdG8gYmxvYnMgcmVjb3JkZWQgaW4gaXRzIGluZGV4LiIKQEAgLTc3MjAsMzAgKzk1OTcsMjQgQEAKICLQmtGA0YrQv9C60LDRgtCwINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQuNC70L7QttC4INC60YrQvCDQvtCx0LXQutGC0LjRgtC1LUJMT0Ig0LIg0LjQvdC00LXQutGB0LAuXG4iCiAi0JTQsCDQvdC1INCx0Lgg0LTQsCDRgdGC0LUg0Y8g0YDQtdC00LDQutGC0LjRgNCw0LvQuCDQvdCwINGA0YrQutCwPyIKIAotIzogYnVpbHRpbi9hbS5jOjE1MzUKKyM6IGJ1aWx0aW4vYW0uYzoxNTExCiBtc2dpZCAiRmFsbGluZyBiYWNrIHRvIHBhdGNoaW5nIGJhc2UgYW5kIDMtd2F5IG1lcmdlLi4uIgogbXNnc3RyICLQn9GA0LXQvNC40L3QsNCy0LDQvdC1INC60YrQvCDQv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDQutGA0YrQv9C60LAg0LrRitC8INCx0LDQt9Cw0YLQsCDQuCDRgtGA0L7QudC90L4g0YHQu9C40LLQsNC90LXigKYiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNTYxCisjOiBidWlsdGluL2FtLmM6MTUzNwogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4iCiBtc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDRgdC70LjQstCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC40YLQtS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNTkzCisjOiBidWlsdGluL2FtLmM6MTU2OQogbXNnaWQgImFwcGx5aW5nIHRvIGFuIGVtcHR5IGhpc3RvcnkiCiBtc2dzdHIgItC/0YDQuNC70LDQs9Cw0L3QtSDQstGK0YDRhdGDINC/0YDQsNC30L3QsCDQuNGB0YLQvtGA0LjRjyIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzkgYnVpbHRpbi9hbS5jOjE2NDMKKyM6IGJ1aWx0aW4vYW0uYzoxNjE2IGJ1aWx0aW4vYW0uYzoxNjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXN1bWU6ICVzIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC+0LTRitC70LbQuCDigJQg4oCeJXPigJwg0L3QtSDRgdGK0YnQtdGB0YLQstGD0LLQsC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjU5Ci1tc2dpZCAiY2Fubm90IGJlIGludGVyYWN0aXZlIHdpdGhvdXQgc3RkaW4gY29ubmVjdGVkIHRvIGEgdGVybWluYWwuIgotbXNnc3RyICIiCi0i0JfQsCDQuNC90YLQtdGA0LDQutGC0LjQstC90L4g0LjQt9C/0YrQu9C90LXQvdC40LUg0LUg0L3QtdC+0LHRhdC+0LTQuNC80L4g0YHRgtCw0L3QtNCw0YDRgtC90LjRj9GCXG4iCi0i0LLRhdC+0LQg0LTQsCDQtSDRgdCy0YrRgNC30LDQvSDRgSDRgtC10YDQvNC40L3QsNC7LCDQsCDQsiDQvNC+0LzQtdC90YLQsCDQvdC1INC1LiIKLQotIzogYnVpbHRpbi9hbS5jOjE2NjQKKyM6IGJ1aWx0aW4vYW0uYzoxNjM4CiBtc2dpZCAiQ29tbWl0IEJvZHkgaXM6IgogbXNnc3RyICLQotGP0LvQvtGC0L4g0L3QsCDQutGA0YrQv9C60LDRgtCwINC30LAg0L/RgNC40LvQsNCz0LDQvdC1INC1OiIKIApAQCAtNzc1MSwzOSArOTYyMiw0NCBAQAogIy4gaW4geW91ciB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoCiAjLiBpbnB1dCBhdCB0aGlzIHBvaW50LgogIy4KLSM6IGJ1aWx0aW4vYW0uYzoxNjc0CisjOiBidWlsdGluL2FtLmM6MTY0OAorIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseT8gW3ldZXMvW25dby9bZV1kaXQvW3ZdaWV3IHBhdGNoL1thXWNjZXB0IGFsbDogIgogbXNnc3RyICIiCiAi0J/RgNC40LvQsNCz0LDQvdC1PyDigJ554oCcIOKAlCDQtNCwL+KAnm7igJwg4oCUINC90LUv4oCeZeKAnCDigJQg0YDQtdC00LDQutGC0LjRgNCw0L3QtS/igJ524oCcIOKAlCDQv9GA0LXQs9C70LXQtC/igJ5h4oCcIOKAlCDQv9GA0LjQtdC80LDQvdC1ICIKICLQvdCwINCy0YHQuNGH0LrQvjoiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzI0CisjOiBidWlsdGluL2FtLmM6MTY5NSBidWlsdGluL2NvbW1pdC5jOjM5NAorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBpbmRleCBmaWxlIgorbXNnc3RyICLQuNC90LTQtdC60YHRitGCINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QuNGB0LDQvSIKKworIzogYnVpbHRpbi9hbS5jOjE2OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGlydHkgaW5kZXg6IGNhbm5vdCBhcHBseSBwYXRjaGVzIChkaXJ0eTogJXMpIgogbXNnc3RyICIiCiAi0JjQvdC00LXQutGB0YrRgiDQvdC1INC1INGH0LjRgdGCOiDQutGA0YrQv9C60LjRgtC1INC90LUg0LzQvtCz0LDRgiDQtNCwINCx0YrQtNCw0YIg0L/RgNC40LvQvtC20LXQvdC4ICjQt9Cw0LzRitGA0YHQtdC90Lgg0YHQsDogJXMpIgogCi0jOiBidWlsdGluL2FtLmM6MTc2NCBidWlsdGluL2FtLmM6MTgzMgorIzogYnVpbHRpbi9hbS5jOjE3MzkgYnVpbHRpbi9hbS5jOjE4MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmc6ICUuKnMiCiBtc2dzdHIgItCf0YDQuNC70LDQs9Cw0L3QtTogJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE3ODEKKyM6IGJ1aWx0aW4vYW0uYzoxNzU2CiBtc2dpZCAiTm8gY2hhbmdlcyAtLSBQYXRjaCBhbHJlYWR5IGFwcGxpZWQuIgogbXNnc3RyICLQkdC10Lcg0L/RgNC+0LzQtdC90Lgg4oCUINC60YDRitC/0LrQsNGC0LAg0LLQtdGH0LUg0LUg0L/RgNC40LvQvtC20LXQvdCwLiIKIAotIzogYnVpbHRpbi9hbS5jOjE3ODcKKyM6IGJ1aWx0aW4vYW0uYzoxNzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhdGNoIGZhaWxlZCBhdCAlcyAlLipzIgogbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0L/RgNC40LvQsNCz0LDQvdC1INC90LAg0LrRgNGK0L/QutCwINC/0YDQuCAlcyAlLipz4oCcIgogCi0jOiBidWlsdGluL2FtLmM6MTc5MQorIzogYnVpbHRpbi9hbS5jOjE3NjYKIG1zZ2lkICJVc2UgJ2dpdCBhbSAtLXNob3ctY3VycmVudC1wYXRjaCcgdG8gc2VlIHRoZSBmYWlsZWQgcGF0Y2giCiBtc2dzdHIgIiIKICLQl9CwINC00LAg0LLQuNC00LjRgtC1INC90LXRg9GB0L/QtdGI0L3QviDQv9GA0LjQu9C+0LbQtdC90Lgg0LrRgNGK0L/QutC4LCDQuNC30L/QvtC70LfQstCw0LnRgtC1INC+0L/RhtC40Y/RgtCwIOKAnmdpdCBhbSAtLXNob3ctIgogImN1cnJlbnQtcGF0Y2jigJwgdG8gc2VlIHRoZSBmYWlsZWQgcGF0Y2giCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODM1CisjOiBidWlsdGluL2FtLmM6MTgxMAogbXNnaWQgIiIKICJObyBjaGFuZ2VzIC0gZGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz9cbiIKICJJZiB0aGVyZSBpcyBub3RoaW5nIGxlZnQgdG8gc3RhZ2UsIGNoYW5jZXMgYXJlIHRoYXQgc29tZXRoaW5nIGVsc2VcbiIKQEAgLTc3OTMsNyArOTY2OSw3IEBACiAi0JDQutC+INC90Y/QvNCwINC00YDRg9Cz0LAg0L/RgNC+0LzRj9C90LAg0LfQsCDQstC60LvRjtGH0LLQsNC90LUg0LIg0LjQvdC00LXQutGB0LAsINC90LDQuS3QstC10YDQvtGP0YLQvdC+INC90Y/QutC+0Y8g0LTRgNGD0LPQsFxuIgogItC60YDRitC/0LrQsCDQtSDQtNC+0LLQtdC70LAg0LTQviDRgdGK0YnQuNGC0LUg0L/RgNC+0LzQtdC90Lgg0Lgg0LIg0YLQsNC60YrQsiDRgdC70YPRh9Cw0Lkg0L/RgNC+0YHRgtC+INC/0YDQvtC/0YPRgdC90LXRgtC1INGC0LDQt9C4LiIKIAotIzogYnVpbHRpbi9hbS5jOjE4NDIKKyM6IGJ1aWx0aW4vYW0uYzoxODE3CiBtc2dpZCAiIgogIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCiAiWW91IHNob3VsZCAnZ2l0IGFkZCcgZWFjaCBmaWxlIHdpdGggcmVzb2x2ZWQgY29uZmxpY3RzIHRvIG1hcmsgdGhlbSBhcyAiCkBAIC03ODA0LDE3ICs5NjgwLDE3IEBACiAi0KHQu9C10LQg0LrQvtGA0LXQutGG0LjRjyDQvdCwINC60L7QvdGE0LvQuNC60YLQuNGC0LUg0LjQt9C/0YrQu9C90LXRgtC1IOKAnmdpdCBhZGTigJwg0LLRitGA0YXRgyDQv9C+0L/RgNCw0LLQtdC90LjRgtC1INGE0LDQudC70L7QstC1LlxuIgogItCX0LAg0LTQsCDQv9GA0LjQtdC80LXRgtC1IOKAntC40LfRgtGA0LjRgtC4INC+0YIg0YLRj9GF4oCcLCDQuNC30L/RitC70L3QtdGC0LUg4oCeZ2l0IHJt4oCcINCy0YrRgNGF0YMg0LjQt9GC0YDQuNGC0LjRgtC1INGE0LDQudC70L7QstC1LiIKIAotIzogYnVpbHRpbi9hbS5jOjE5NDkgYnVpbHRpbi9hbS5jOjE5NTMgYnVpbHRpbi9hbS5jOjE5NjUgYnVpbHRpbi9yZXNldC5jOjMyOAotIzogYnVpbHRpbi9yZXNldC5jOjMzNgorIzogYnVpbHRpbi9hbS5jOjE5MjQgYnVpbHRpbi9hbS5jOjE5MjggYnVpbHRpbi9hbS5jOjE5NDAgYnVpbHRpbi9yZXNldC5jOjM0NgorIzogYnVpbHRpbi9yZXNldC5jOjM1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC1INGA0LDQt9C/0L7Qt9C90LDRgiDQutCw0YLQviDQvtCx0LXQutGCLiIKIAotIzogYnVpbHRpbi9hbS5jOjIwMDEKKyM6IGJ1aWx0aW4vYW0uYzoxOTc2CiBtc2dpZCAiZmFpbGVkIHRvIGNsZWFuIGluZGV4IgogbXNnc3RyICLQuNC90LTQtdC60YHRitGCINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YfQuNGB0YLQtdC9IgogCi0jOiBidWlsdGluL2FtLmM6MjAzNgorIzogYnVpbHRpbi9hbS5jOjIwMjAKIG1zZ2lkICIiCiAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFEIHNpbmNlIHRoZSBsYXN0ICdhbScgZmFpbHVyZS5cbiIKICJOb3QgcmV3aW5kaW5nIHRvIE9SSUdfSEVBRCIKQEAgLTc4MjUsMTQ5ICs5NzAxLDE0OSBAQAogItGB0L7Rh9C4INC60YrQvFxuIgogIuKAnk9SSUdfSEVBROKAnCIKIAotIzogYnVpbHRpbi9hbS5jOjIxMjkKKyM6IGJ1aWx0aW4vYW0uYzoyMTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIC0tcGF0Y2gtZm9ybWF0OiAlcyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C90LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwIOKAni0tcGF0Y2gtZm9ybWF04oCcOiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9hbS5jOjIxNjUKKyM6IGJ1aWx0aW4vYW0uYzoyMTUzCiBtc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KS4uLl0iCiBtc2dzdHIgImdpdCBhbSBb0J7Qn9Cm0JjQr+KApl0gWyjQpNCQ0JnQm1/QoV/Qn9Ce0KnQkHzQlNCY0KDQldCa0KLQntCg0JjQr1/QoV/Qn9Ce0KnQkCnigKZdIgogCi0jOiBidWlsdGluL2FtLmM6MjE2NgorIzogYnVpbHRpbi9hbS5jOjIxNTQKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIG1zZ3N0ciAiZ2l0IGFtIFvQntCf0KbQmNCv4oCmXSAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpIgogCi0jOiBidWlsdGluL2FtLmM6MjE3MgorIzogYnVpbHRpbi9hbS5jOjIxNjAKIG1zZ2lkICJydW4gaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAi0LjQvdGC0LXRgNCw0LrRgtC40LLQvdCwINGA0LDQsdC+0YLQsCIKIAotIzogYnVpbHRpbi9hbS5jOjIxNzQKKyM6IGJ1aWx0aW4vYW0uYzoyMTYyCiBtc2dpZCAiaGlzdG9yaWNhbCBvcHRpb24gLS0gbm8tb3AiCiBtc2dzdHIgItC40LfQvtGB0YLQsNCy0LXQvdCwINC+0L/RhtC40Y8sINGB0YrRidC10YHRgtCy0YPQstCwINC/0L4g0LjRgdGC0L7RgNC40YfQtdGB0LrQuCDQv9GA0LjRh9C40L3QuCwg0L3QuNGJ0L4g0L3QtSDQv9GA0LDQstC4IgogCi0jOiBidWlsdGluL2FtLmM6MjE3NgorIzogYnVpbHRpbi9hbS5jOjIxNjQKIG1zZ2lkICJhbGxvdyBmYWxsIGJhY2sgb24gM3dheSBtZXJnaW5nIGlmIG5lZWRlZCIKIG1zZ3N0ciAi0LTQsCDRgdC1INC/0YDQtdC80LjQvdCw0LLQsCDQutGK0Lwg0YLRgNC+0LnQvdC+INGB0LvQuNCy0LDQvdC1INC/0YDQuCDQvdGD0LbQtNCwLiIKIAotIzogYnVpbHRpbi9hbS5jOjIxNzcgYnVpbHRpbi9pbml0LWRiLmM6NDg2IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTgKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA2CisjOiBidWlsdGluL2FtLmM6MjE2NSBidWlsdGluL2luaXQtZGIuYzo0OTQgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1OAorIzogYnVpbHRpbi9yZXBhY2suYzozMDQgYnVpbHRpbi9zdGFzaC5jOjgxMQogbXNnaWQgImJlIHF1aWV0IgogbXNnc3RyICLQsdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvdGE0L7RgNC80LDRhtC40Y8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTc5CisjOiBidWlsdGluL2FtLmM6MjE2NwogbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnkgbGluZSB0byB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDRgNC10LQg0LfQsCDQv9C+0LTQv9C40YEg4oCeU2lnbmVkLW9mZi1ieeKAnCDQsiDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC30LAg0L/QvtC00LDQstCw0L3QtSIKIAotIzogYnVpbHRpbi9hbS5jOjIxODIKKyM6IGJ1aWx0aW4vYW0uYzoyMTcwCiBtc2dpZCAicmVjb2RlIGludG8gdXRmOCAoZGVmYXVsdCkiCiBtc2dzdHIgItC/0YDQtdC60L7QtNC40YDQsNC90LUg0LIgVVRGLTggKNGB0YLQsNC90LTQsNGA0YLQvdC+KSIKIAotIzogYnVpbHRpbi9hbS5jOjIxODQKKyM6IGJ1aWx0aW4vYW0uYzoyMTcyCiBtc2dpZCAicGFzcyAtayBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAi0L/QvtC00LDQstCw0L3QtSDQvdCwINC+0L/RhtC40Y/RgtCwIOKAni1r4oCcINC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC1tYWlsaW5mb+KAnCIKIAotIzogYnVpbHRpbi9hbS5jOjIxODYKKyM6IGJ1aWx0aW4vYW0uYzoyMTc0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAi0L/QvtC00LDQstCw0L3QtSDQvdCwINC+0L/RhtC40Y/RgtCwIOKAni1i4oCcINC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC1tYWlsaW5mb+KAnCIKIAotIzogYnVpbHRpbi9hbS5jOjIxODgKKyM6IGJ1aWx0aW4vYW0uYzoyMTc2CiBtc2dpZCAicGFzcyAtbSBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAi0L/QvtC00LDQstCw0L3QtSDQvdCwINC+0L/RhtC40Y/RgtCwIOKAni1t4oCcINC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC1tYWlsaW5mb+KAnCIKIAotIzogYnVpbHRpbi9hbS5jOjIxOTAKKyM6IGJ1aWx0aW4vYW0uYzoyMTc4CiBtc2dpZCAicGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGZvciBtYm94IGZvcm1hdCIKIG1zZ3N0ciAiIgogItC/0L7QtNCw0LLQsNC90LUg0L3QsCDQvtC/0YbQuNGP0YLQsCDigJ4tLWtlZXAtY3LigJwg0L3QsCDQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0LW1haWxzcGxpdOKAnCDQt9CwINGE0L7RgNC80LDRgiDigJ5tYm944oCcIgogCi0jOiBidWlsdGluL2FtLmM6MjE5MworIzogYnVpbHRpbi9hbS5jOjIxODEKIG1zZ2lkICJkbyBub3QgcGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGluZGVwZW5kZW50IG9mIGFtLmtlZXBjciIKIG1zZ3N0ciAiIgogItCx0LXQtyDQv9C+0LTQsNCy0LDQvdC1INC90LAg0L7Qv9GG0LjRj9GC0LAg4oCeLS1rZWVwLWNy4oCcINC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC1tYWlsc3BsaXTigJwg0L3QtdC30LDQstC40YHQuNC80L4gIgogItC+0YIg4oCeYW0ua2VlcGNy4oCcIgogCi0jOiBidWlsdGluL2FtLmM6MjE5NgorIzogYnVpbHRpbi9hbS5jOjIxODQKIG1zZ2lkICJzdHJpcCBldmVyeXRoaW5nIGJlZm9yZSBhIHNjaXNzb3JzIGxpbmUiCiBtc2dzdHIgItC/0YDQvtC/0YPRgdC60LDQvdC1INC90LAg0LLRgdC40YfQutC+INC/0YDQtdC00Lgg0YDQtdC00LAg0LfQsCDQvtGC0YDRj9C30LLQsNC90LUiCiAKKyM6IGJ1aWx0aW4vYW0uYzoyMTg2IGJ1aWx0aW4vYW0uYzoyMTg5IGJ1aWx0aW4vYW0uYzoyMTkyIGJ1aWx0aW4vYW0uYzoyMTk1CiAjOiBidWlsdGluL2FtLmM6MjE5OCBidWlsdGluL2FtLmM6MjIwMSBidWlsdGluL2FtLmM6MjIwNCBidWlsdGluL2FtLmM6MjIwNwotIzogYnVpbHRpbi9hbS5jOjIyMTAgYnVpbHRpbi9hbS5jOjIyMTMgYnVpbHRpbi9hbS5jOjIyMTYgYnVpbHRpbi9hbS5jOjIyMTkKLSM6IGJ1aWx0aW4vYW0uYzoyMjI1CisjOiBidWlsdGluL2FtLmM6MjIxMwogbXNnaWQgInBhc3MgaXQgdGhyb3VnaCBnaXQtYXBwbHkiCiBtc2dzdHIgItC/0YDQtdC60LDRgNCy0LDQvdC1INC/0YDQtdC3IOKAnmdpdC1hcHBseeKAnCIKIAotIzogYnVpbHRpbi9hbS5jOjIyMTUgYnVpbHRpbi9jb21taXQuYzoxMzQwIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MQotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc0IGJ1aWx0aW4vZ3JlcC5jOjg2OCBidWlsdGluL21lcmdlLmM6MjM5Ci0jOiBidWlsdGluL3B1bGwuYzoxNTEgYnVpbHRpbi9wdWxsLmM6MjA5IGJ1aWx0aW4vcmViYXNlLmM6ODU0Ci0jOiBidWlsdGluL3JlcGFjay5jOjMxNyBidWlsdGluL3JlcGFjay5jOjMyMSBidWlsdGluL3JlcGFjay5jOjMyMwotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MSBidWlsdGluL3Nob3ctcmVmLmM6MTcxIGJ1aWx0aW4vdGFnLmM6Mzg2Ci0jOiBwYXJzZS1vcHRpb25zLmg6MTQ0IHBhcnNlLW9wdGlvbnMuaDoxNDYgcGFyc2Utb3B0aW9ucy5oOjI2OAorIzogYnVpbHRpbi9hbS5jOjIyMDMgYnVpbHRpbi9jb21taXQuYzoxMzg2IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc2IGJ1aWx0aW4vZ3JlcC5jOjg4MyBidWlsdGluL21lcmdlLmM6MjQ5CisjOiBidWlsdGluL3B1bGwuYzoxNjAgYnVpbHRpbi9wdWxsLmM6MjE5IGJ1aWx0aW4vcmViYXNlLmM6MTQ2OQorIzogYnVpbHRpbi9yZXBhY2suYzozMTUgYnVpbHRpbi9yZXBhY2suYzozMTkgYnVpbHRpbi9yZXBhY2suYzozMjEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAgYnVpbHRpbi9zaG93LXJlZi5jOjE3MiBidWlsdGluL3RhZy5jOjQwMworIzogcGFyc2Utb3B0aW9ucy5oOjE1NCBwYXJzZS1vcHRpb25zLmg6MTc1IHBhcnNlLW9wdGlvbnMuaDozMTYKIG1zZ2lkICJuIgogbXNnc3RyICLQkdCg0J7QmSIKIAotIzogYnVpbHRpbi9hbS5jOjIyMjEgYnVpbHRpbi9icmFuY2guYzo2MzcgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQ0IGJ1aWx0aW4vdGFnLmM6NDIyIGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM5CisjOiBidWlsdGluL2FtLmM6MjIwOSBidWlsdGluL2JyYW5jaC5jOjY2MSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NTUgYnVpbHRpbi90YWcuYzo0MzcgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzgKIG1zZ2lkICJmb3JtYXQiCiBtc2dzdHIgItCk0J7QoNCc0JDQoiIKIAotIzogYnVpbHRpbi9hbS5jOjIyMjIKKyM6IGJ1aWx0aW4vYW0uYzoyMjEwCiBtc2dpZCAiZm9ybWF0IHRoZSBwYXRjaChlcykgYXJlIGluIgogbXNnc3RyICLRhNC+0YDQvNCw0YIg0L3QsCDQutGA0YrQv9C60LjRgtC1IgogCi0jOiBidWlsdGluL2FtLmM6MjIyOAorIzogYnVpbHRpbi9hbS5jOjIyMTYKIG1zZ2lkICJvdmVycmlkZSBlcnJvciBtZXNzYWdlIHdoZW4gcGF0Y2ggZmFpbHVyZSBvY2N1cnMiCiBtc2dzdHIgItC40LfQsdGA0LDQvdC+INC+0YIg0LLQsNGBINGB0YrQvtCx0YnQtdC90LjQtSDQt9CwINCz0YDQtdGI0LrQsCDQv9GA0Lgg0L/RgNC40LvQsNCz0LDQvdC1INC90LAg0LrRgNGK0L/QutC4IgogCi0jOiBidWlsdGluL2FtLmM6MjIzMAorIzogYnVpbHRpbi9hbS5jOjIyMTgKIG1zZ2lkICJjb250aW51ZSBhcHBseWluZyBwYXRjaGVzIGFmdGVyIHJlc29sdmluZyBhIGNvbmZsaWN0IgogbXNnc3RyICLQv9GA0L7QtNGK0LvQttCw0LLQsNC90LUg0L3QsCDQv9GA0LjQu9Cw0LPQsNC90LXRgtC+INC90LAg0LrRgNGK0L/QutC4INGB0LvQtdC0INC60L7RgNC40LPQuNGA0LDQvdC10YLQviDQvdCwINC60L7QvdGE0LvQuNC60YIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjMzCisjOiBidWlsdGluL2FtLmM6MjIyMQogbXNnaWQgInN5bm9ueW1zIGZvciAtLWNvbnRpbnVlIgogbXNnc3RyICLQv9GB0LXQstC00L7QvdC40LzQuCDQvdCwIOKAni0tY29udGludWXigJwiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM2CisjOiBidWlsdGluL2FtLmM6MjIyNAogbXNnaWQgInNraXAgdGhlIGN1cnJlbnQgcGF0Y2giCiBtc2dzdHIgItC/0YDQtdGB0LrQsNGH0LDQvdC1INC90LAg0YLQtdC60YPRidCw0YLQsCDQutGA0YrQv9C60LAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM5CisjOiBidWlsdGluL2FtLmM6MjIyNwogbXNnaWQgInJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgYWJvcnQgdGhlIHBhdGNoaW5nIG9wZXJhdGlvbi4iCiBtc2dzdHIgIiIKICLQstGK0LfRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1INC90LAg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC+0YLQviDRgdGK0YHRgtC+0Y/QvdC40LUg0L3QsCDQutC70L7QvdCwINC4INC/0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCw0L3QtSDQvdCwICIKICLQv9GA0LjQu9Cw0LPQsNC90LXRgtC+INC90LAg0LrRgNGK0L/QutCw0YLQsC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQyCisjOiBidWlsdGluL2FtLmM6MjIzMAogbXNnaWQgImFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24gYnV0IGtlZXAgSEVBRCB3aGVyZSBpdCBpcy4iCiBtc2dzdHIgIiIKICLQv9GA0LXRg9GB0YLQsNC90L7QstGP0LLQsNC90LUg0L3QsCDQv9GA0LjQu9Cw0LPQsNC90LXRgtC+INC90LAg0LrRgNGK0L/QutCw0YLQsCDQsdC10Lcg0L/RgNC+0LzRj9C90LAg0LrRitC8INC60L7QtSDRgdC+0YfQuCDigJ5IRUFE4oCcLiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDUKKyM6IGJ1aWx0aW4vYW0uYzoyMjMzCiBtc2dpZCAic2hvdyB0aGUgcGF0Y2ggYmVpbmcgYXBwbGllZC4iCiBtc2dzdHIgItC/0L7QutCw0LfQstCw0L3QtSDQvdCwINC/0YDQuNC70LDQs9Cw0L3QsNGC0LAg0LrRgNGK0L/QutCwLiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDkKKyM6IGJ1aWx0aW4vYW0uYzoyMjM3CiBtc2dpZCAibGllIGFib3V0IGNvbW1pdHRlciBkYXRlIgogbXNnc3RyICLQtNCw0YLQsCDQt9CwINC/0L7QtNCw0LLQsNC90LUg0YDQsNC30LvQuNGH0L3QsCDQvtGCINC/0YrRgNCy0L7QvdCw0YfQsNC70L3QsNGC0LAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUxCisjOiBidWlsdGluL2FtLmM6MjIzOQogbXNnaWQgInVzZSBjdXJyZW50IHRpbWVzdGFtcCBmb3IgYXV0aG9yIGRhdGUiCiBtc2dzdHIgItC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0YLQtdC60YPRidC+0YLQviDQstGA0LXQvNC1INC60LDRgtC+INGC0L7QstCwINC30LAg0LDQstGC0L7RgCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTMgYnVpbHRpbi9jb21taXQuYzoxNDgzIGJ1aWx0aW4vbWVyZ2UuYzoyNzMKLSM6IGJ1aWx0aW4vcHVsbC5jOjE4NCBidWlsdGluL3JlYmFzZS5jOjg5OCBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODMKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEzIGJ1aWx0aW4vdGFnLmM6NDAyCisjOiBidWlsdGluL2FtLmM6MjI0MSBidWlsdGluL2NvbW1pdC10cmVlLmM6MTIwIGJ1aWx0aW4vY29tbWl0LmM6MTUwNworIzogYnVpbHRpbi9tZXJnZS5jOjI4NiBidWlsdGluL3B1bGwuYzoxOTQgYnVpbHRpbi9yZWJhc2UuYzo1MDkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxMyBidWlsdGluL3JldmVydC5jOjExNyBidWlsdGluL3RhZy5jOjQxOAogbXNnaWQgImtleS1pZCIKIG1zZ3N0ciAi0JjQlNCV0J3QotCY0KTQmNCa0JDQotCe0KBf0J3QkF/QmtCb0K7QpyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTQgYnVpbHRpbi9yZWJhc2UuYzo4OTkgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg0CisjOiBidWlsdGluL2FtLmM6MjI0MiBidWlsdGluL3JlYmFzZS5jOjUxMCBidWlsdGluL3JlYmFzZS5jOjE1MTQKIG1zZ2lkICJHUEctc2lnbiBjb21taXRzIgogbXNnc3RyICLQv9C+0LTQv9C40YHQstCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LjRj9GC0LAg0YEgR1BHIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NworIzogYnVpbHRpbi9hbS5jOjIyNDUKIG1zZ2lkICIoaW50ZXJuYWwgdXNlIGZvciBnaXQtcmViYXNlKSIKIG1zZ3N0ciAiKNC/0L7Qu9C30LLQsCDRgdC1INCy0YrRgtGA0LXRiNC90L4g0LfQsCDigJ5naXQtcmViYXNl4oCcKSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNzUKKyM6IGJ1aWx0aW4vYW0uYzoyMjYzCiBtc2dpZCAiIgogIlRoZSAtYi8tLWJpbmFyeSBvcHRpb24gaGFzIGJlZW4gYSBuby1vcCBmb3IgbG9uZyB0aW1lLCBhbmRcbiIKICJpdCB3aWxsIGJlIHJlbW92ZWQuIFBsZWFzZSBkbyBub3QgdXNlIGl0IGFueW1vcmUuIgpAQCAtNzk3NSwxOCArOTg1MSwxOCBAQAogItCe0L/RhtC40LjRgtC1IOKAni1i4oCcL+KAni0tYmluYXJ54oCcINC+0YLQtNCw0LLQvdCwINC90LUg0L/RgNCw0LLRj9GCINC90LjRidC+INC4XG4iCiAi0YnQtSDQsdGK0LTQsNGCINC/0YDQtdC80LDRhdC90LDRgtC4INCyINCx0YrQtNC10YnQtS4gINCd0LUg0LPQuCDQv9C+0LvQt9Cy0LDQudGC0LUuIgogCi0jOiBidWlsdGluL2FtLmM6MjI4MgorIzogYnVpbHRpbi9hbS5jOjIyNzAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30YfQuNGC0LDQvdC1INC90LAg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk3CisjOiBidWlsdGluL2FtLmM6MjI4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmV2aW91cyByZWJhc2UgZGlyZWN0b3J5ICVzIHN0aWxsIGV4aXN0cyBidXQgbWJveCBnaXZlbi4iCiBtc2dzdHIgIiIKICLQv9GA0LXQtNC40YjQvdCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDQt9CwINC/0YDQtdCx0LDQt9C40YDQsNC90LUg4oCeJXPigJwg0LLRgdC1INC+0YnQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCwg0LAg0LUg0LfQsNC00LDQtNC10L0gIgogItGE0LDQudC7IOKAnm1ib3jigJwuIgogCi0jOiBidWlsdGluL2FtLmM6MjMyMQorIzogYnVpbHRpbi9hbS5jOjIzMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN0cmF5ICVzIGRpcmVjdG9yeSBmb3VuZC5cbiIKQEAgLTc5OTUsMTAgKzk4NzEsMTQgQEAKICLQntGC0LrRgNC40YLQsCDQtSDQuNC30LvQuNGI0L3QsCDQtNC40YDQtdC60YLQvtGA0LjRjyDigJ4lc+KAnC5cbiIKICLQnNC+0LbQtdGC0LUg0LTQsCDRjyDQuNC30YLRgNC40LXRgtC1INGBINC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgYW0gLS1hYm9ydOKAnC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzI3CisjOiBidWlsdGluL2FtLmM6MjMxNQogbXNnaWQgIlJlc29sdmUgb3BlcmF0aW9uIG5vdCBpbiBwcm9ncmVzcywgd2UgYXJlIG5vdCByZXN1bWluZy4iCiBtc2dzdHIgItCSINC80L7QvNC10L3RgtCwINC90LUg0YLQtdGH0LUg0L7Qv9C10YDQsNGG0LjRjyDQv9C+INC60L7RgNC40LPQuNGA0LDQvdC1INC4INC90Y/QvNCwINC60LDQuiDQtNCwINGB0LUg0L/RgNC+0LTRitC70LbQuC4iCiAKKyM6IGJ1aWx0aW4vYW0uYzoyMzI1Cittc2dpZCAiaW50ZXJhY3RpdmUgbW9kZSByZXF1aXJlcyBwYXRjaGVzIG9uIHRoZSBjb21tYW5kIGxpbmUiCittc2dzdHIgItC40L3RgtC10YDQsNC60YLQuNCy0L3QuNGP0YIg0YDQtdC20LjQvCDQuNC30LjRgdC60LLQsCDQutGA0YrQv9C60Lgg0L3QsCDQutC+0LzQsNC90LTQvdC40Y8g0YDQtdC0IgorCiAjOiBidWlsdGluL2FwcGx5LmM6OAogbXNnaWQgImdpdCBhcHBseSBbPG9wdGlvbnM+XSBbPHBhdGNoPi4uLl0iCiBtc2dzdHIgImdpdCBhcHBseSBb0J7Qn9Cm0JjQr+KApl0gW9Ca0KDQqtCf0JrQkOKApl0iCkBAIC04MDE2LDg4ICs5ODk2LDMwMyBAQAogbXNnaWQgImdpdCBhcmNoaXZlOiBSZW1vdGUgd2l0aCBubyBVUkwiCiBtc2dzdHIgImdpdCBhcmNoaXZlOiDQm9C40L/RgdCy0LAg0LDQtNGA0LXRgSDQt9CwINC+0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUiCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjU4CisjOiBidWlsdGluL2FyY2hpdmUuYzo2MQogbXNnaWQgImdpdCBhcmNoaXZlOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgYSBmbHVzaCBwYWNrZXQiCiBtc2dzdHIgIiIKICJnaXQgYXJjaGl2ZTog0L7Rh9Cw0LrQstCw0YjQtSDRgdC1IOKAnkFDS+KAnC/igJ5OQUvigJwsINCwINCx0LUg0L/QvtC70YPRh9C10L0g0LjQt9GH0LjRgdGC0LLQsNGJINC/0LDQutC10YIg4oCeZmx1c2jigJwiCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjYxCisjOiBidWlsdGluL2FyY2hpdmUuYzo2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXJjaGl2ZTogTkFDSyAlcyIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmU6INC/0L7Qu9GD0YfQtdC9INC1IOKAnk5BQ0vigJwg4oCUICVzIgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2NAorIzogYnVpbHRpbi9hcmNoaXZlLmM6NjUKIG1zZ2lkICJnaXQgYXJjaGl2ZTogcHJvdG9jb2wgZXJyb3IiCiBtc2dzdHIgImdpdCBhcmNoaXZlOiDQv9GA0L7RgtC+0LrQvtC70L3QsCDQs9GA0LXRiNC60LAiCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY4CisjOiBidWlsdGluL2FyY2hpdmUuYzo2OQogbXNnaWQgImdpdCBhcmNoaXZlOiBleHBlY3RlZCBhIGZsdXNoIgogbXNnc3RyICJnaXQgYXJjaGl2ZTog0L7Rh9Cw0LrQstCw0YjQtSDRgdC1INC40LfRh9C40YHRgtCy0LDQvdC1INC90LAg0LHRg9GE0LXRgNC40YLQtSDRh9GA0LXQtyDigJ5mbHVzaOKAnCIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjIKIG1zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1uZXh0LWFsbCBbLS1uby1jaGVja291dF0iCiBtc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLW5leHQtYWxsIFstLW5vLWNoZWNrb3V0XSIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEzCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjMKIG1zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS13cml0ZS10ZXJtcyA8YmFkX3Rlcm0+IDxnb29kX3Rlcm0+IgogbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS13cml0ZS10ZXJtcyDQm9Ce0KjQniDQlNCe0JHQoNCeIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTQKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNAogbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1jbGVhbi1zdGF0ZSIKIG1zZ3N0ciAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNsZWFuLXN0YXRlIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NDYKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNQorbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1yZXNldCBbPGNvbW1pdD5dIgorbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtcmVzZXQgW9Cf0J7QlNCQ0JLQkNCd0JVdIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjYKK21zZ2lkICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXdyaXRlIFstLW5vLWxvZ10gPHN0YXRlPiA8cmV2aXNpb24+IDxnb29kX3Rlcm0+ICIKKyI8YmFkX3Rlcm0+IgorbXNnc3RyICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXdyaXRlIFstLW5vLWxvZ10g0KHQqtCh0KLQntCv0J3QmNCVINCS0JXQoNCh0JjQryDQlNCe0JHQoNCeINCb0J7QqNCeIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjcKK21zZ2lkICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNoZWNrLWFuZC1zZXQtdGVybXMgPGNvbW1hbmQ+IDxnb29kX3Rlcm0+ICIKKyI8YmFkX3Rlcm0+IgorbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2hlY2stYW5kLXNldC10ZXJtcyDQmtCe0JzQkNCd0JTQkCDQlNCe0JHQoNCeIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjgKK21zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtbmV4dC1jaGVjayA8Z29vZF90ZXJtPiA8YmFkX3Rlcm0+IFs8dGVybT5dIgorbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtbmV4dC1jaGVjayDQm9Ce0KjQniDQlNCe0JHQoNCeINCj0J/QoNCQ0JLQm9Cv0JLQkNCp0JBf0JTQo9Cc0JAiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyOQorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtdGVybXMgWy0tdGVybS1nb29kIHwgLS10ZXJtLW9sZCB8IC0tdGVybS1iYWQgfCAtLSIKKyJ0ZXJtLW5ld10iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtdGVybXMgWy0tdGVybS1nb29kIHwgLS10ZXJtLW9sZCB8IC0tdGVybS1iYWQgfCAtLSIKKyJ0ZXJtLW5ld10iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozMAorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtc3RhcnQgWy0tdGVybS17b2xkLGdvb2R9PTx0ZXJtPiAtLXRlcm0te25ldyxiYWR9IgorIj08dGVybT5dWy0tbm8tY2hlY2tvdXRdIFs8YmFkPiBbPGdvb2Q+Li4uXV0gWy0tXSBbPHBhdGhzPi4uLl0iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtc3RhcnQgWy0tdGVybS17b2xkLGdvb2R9PTx0ZXJtPiAtLXRlcm0te25ldyxiYWR9IgorIj08dGVybT5dWy0tbm8tY2hlY2tvdXRdIFvQm9Ce0KjQniBb0JTQntCR0KDQnuKApl1dIFstLV0gW9Cf0KrQouKApl0iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo4NgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRlcm0iCiBtc2dzdHIgIuKAniVz4oCcINC1INC90LXQv9GA0LDQstC40LvQvdCwINGD0L/RgNCw0LLQu9GP0LLQsNGJ0LAg0LTRg9C80LAiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1MAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IHVzZSB0aGUgYnVpbHRpbiBjb21tYW5kICclcycgYXMgYSB0ZXJtIgogbXNnc3RyICLigJ4lc+KAnCDQtSDQstCz0YDQsNC00LXQvdCwINC60L7QvNCw0L3QtNCwINC4INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQv9C+0LvQt9Cy0LAg0LrQsNGC0L4g0YPQv9GA0LDQstC70Y/QstCw0YnQsCDQtNGD0LzQsCIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYwCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgdGVybSAnJXMnIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQvNC10L3QuNGC0LUg0LfQvdCw0YfQtdC90LjQtdGC0L4g0L3QsCDRg9C/0YDQsNCy0LvRj9Cy0LDRidCw0YLQsCDQtNGD0LzQsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjcxCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTExCiBtc2dpZCAicGxlYXNlIHVzZSB0d28gZGlmZmVyZW50IHRlcm1zIgogbXNnc3RyICLQuNC30L/QvtC70LfQstCw0LnRgtC1INC00LLQtSDRgNCw0LfQu9C40YfQvdC4INGD0L/RgNCw0LLQu9GP0LLQsNGJ0Lgg0LTRg9C80LgiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo3OAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjExOAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIHRoZSBmaWxlIEJJU0VDVF9URVJNUyIKIG1zZ3N0ciAi0YTQsNC50LvRitGCIOKAnkJJU0VDVF9URVJNU+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LLQvtGA0LgiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMjAKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2UgYXJlIG5vdCBiaXNlY3RpbmcuXG4iCittc2dzdHIgItCSINC80L7QvNC10L3RgtCwINC90LUg0YHQtSDQuNC30LLRitGA0YjQstCwINC00LLQvtC40YfQvdC+INGC0YrRgNGB0LXQvdC1LlxuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgY29tbWl0IgorbXNnc3RyICLigJ4lc+KAnCDQvdC1INC1INC/0L7QtNCw0LLQsNC90LUiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvdWxkIG5vdCBjaGVjayBvdXQgb3JpZ2luYWwgSEVBRCAnJXMnLiBUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPGNvbW1pdD4nLiIKK21zZ3N0ciAiIgorItC/0YrRgNCy0L7QvdCw0YfQsNC70L3QviDRg9C60LDQt9Cw0L3QvtGC0L4g4oCeJXPigJwg0LIg0YPQutCw0LfQsNGC0LXQu9GPIOKAnkhFQUTigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1XG4iCisi0LjQt9GC0LXQs9C70LXQvdC+LiAg0J/RgNC+0LHQstCw0LnRgtC1INC00LAg0LjQt9C/0YrQu9C90LjRgtC1INC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgYmlzZWN0IHJlc2V0INCf0J7QlNCQ0JLQkNCd0JXigJwuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCBiaXNlY3Rfd3JpdGUgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLQndC10L/RgNCw0LLQuNC70LXQvSDQsNGA0LPRg9C80LXQvdGCINC90LAg0YTRg9C90LrRhtC40Y/RgtCwIOKAnmJpc2VjdF93cml0ZeKAnDog4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZ2V0IHRoZSBvaWQgb2YgdGhlIHJldiAnJXMnIgorbXNnc3RyICLQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGK0YIg0L3QsCDQvtCx0LXQutGCINC90LAg0LLQtdGA0YHQuNGPIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LvRg9GH0LXQvSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBvcGVuIHRoZSBmaWxlICclcyciCittc2dzdHIgItGE0LDQudC70YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtCy0L7RgNC10L0iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjb21tYW5kOiB5b3UncmUgY3VycmVudGx5IGluIGEgJXMvJXMgYmlzZWN0IgorbXNnc3RyICLQndC10L/RgNCw0LLQuNC70L3QsCDQutC+0LzQsNC90LTQsDog0LIg0LzQvtC80LXQvdGC0LAg0YHQtSDQuNC30L/RitC70L3Rj9Cy0LAg0LTQstC+0LjRh9C90L4g0YLRitGA0YHQtdC90LUg0L/QviAlcy8lcy4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICVzIGFuZCAlcyByZXZpc2lvbi5cbiIKKyJZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJXNcIiBhbmQgXCJnaXQgYmlzZWN0ICVzXCIgZm9yIHRoYXQuIgorbXNnc3RyICIiCisi0KLRgNGP0LHQstCwINC00LAg0LfQsNC00LDQtNC10YLQtSDQv9C+0L3QtSDQtdC00L3QsCDigJ4lc+KAnCDQuCDQtdC00L3QsCDigJ4lc+KAnCDQstC10YDRgdC40Y8uICAo0KLQvtCy0LAg0LzQvtC20LUg0LTQsCDRgdC1XG4iCisi0L3QsNC/0YDQsNCy0Lgg0YHRitC+0YLQstC10YLQvdC+INC4INGH0YDQtdC3INC60L7QvNCw0L3QtNC40YLQtSDigJ5naXQgYmlzZWN0ICVz4oCcINC4IOKAnmdpdCBiaXNlY3QgJXPigJwuKSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IG5lZWQgdG8gc3RhcnQgYnkgXCJnaXQgYmlzZWN0IHN0YXJ0XCIuXG4iCisiWW91IHRoZW4gbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSAlcyBhbmQgJXMgcmV2aXNpb24uXG4iCisiWW91IGNhbiB1c2UgXCJnaXQgYmlzZWN0ICVzXCIgYW5kIFwiZ2l0IGJpc2VjdCAlc1wiIGZvciB0aGF0LiIKK21zZ3N0ciAiIgorItCi0YDRj9Cx0LLQsCDQtNCwINC30LDQv9C+0YfQvdC10YLQtSDQtNCy0L7QuNGH0L3QvtGC0L4g0YLRitGA0YHQtdC90LUg0YfRgNC10Lcg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBiaXNlY3Qgc3RhcnTigJwuXG4iCisi0KLRgNGP0LHQstCwINC00LAg0LfQsNC00LDQtNC10YLQtSDQv9C+0L3QtSDQtdC00L3QsCDigJ4lc+KAnCDQuCDQtdC00L3QsCDigJ4lc+KAnCDQstC10YDRgdC40Y8uICAo0KLQvtCy0LAg0LzQvtC20LUg0LTQsCDRgdC1XG4iCisi0L3QsNC/0YDQsNCy0Lgg0YHRitC+0YLQstC10YLQvdC+INC4INGH0YDQtdC3INC60L7QvNCw0L3QtNC40YLQtSDigJ5naXQgYmlzZWN0ICVz4oCcINC4IOKAnmdpdCBiaXNlY3QgJXPigJwuKSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICJiaXNlY3Rpbmcgb25seSB3aXRoIGEgJXMgY29tbWl0IgorbXNnc3RyICLQtNCy0L7QuNGH0L3QviDRgtGK0YDRgdC10L3QtSDRgdCw0LzQviDQv9C+IOKAniVz4oCcINC/0L7QtNCw0LLQsNC90LUuIgorCisjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW1ldIGFuZCBbbl0gaW4geW91cgorIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAorIy4gYXQgdGhpcyBwb2ludC4KKyMuCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzMwCittc2dpZCAiQXJlIHlvdSBzdXJlIFtZL25dPyAiCittc2dzdHIgItCU0LAg0YHQtSDQv9GA0L7QtNGK0LvQttC4INC70Lg/IOKAnlnigJwg4oCUICDQlNCQLCDigJ5u4oCcIOKAlCDQvdC1IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Mzc3Cittc2dpZCAibm8gdGVybXMgZGVmaW5lZCIKK21zZ3N0ciAi0L3QtSDRgdCwINGD0LrQsNC30LDQvdC4INGD0L/RgNCw0LLQu9GP0LLQsNGJ0Lgg0LTRg9C80LgiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdXIgY3VycmVudCB0ZXJtcyBhcmUgJXMgZm9yIHRoZSBvbGQgc3RhdGVcbiIKKyJhbmQgJXMgZm9yIHRoZSBuZXcgc3RhdGUuXG4iCittc2dzdHIgIiIKKyLQotC10LrRg9GJ0LjRgtC1INGD0L/RgNCw0LLQu9GP0LLQsNGJ0Lgg0LTRg9C80Lgg0YHQsDogJXMg0LfQsCDRgdGC0LDRgNC+0YLQviDRgdGK0YHRgtC+0Y/QvdC40LVcbiIKKyLQuCAlcyDQt9CwINC90L7QstC+0YLQviDRgdGK0YHRgtC+0Y/QvdC40LUuXG4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImludmFsaWQgYXJndW1lbnQgJXMgZm9yICdnaXQgYmlzZWN0IHRlcm1zJy5cbiIKKyJTdXBwb3J0ZWQgb3B0aW9ucyBhcmU6IC0tdGVybS1nb29kfC0tdGVybS1vbGQgYW5kIC0tdGVybS1iYWR8LS10ZXJtLW5ldy4iCittc2dzdHIgIiIKKyLQvdCwIOKAnmdpdCBiaXNlY3QgdGVybXPigJwg0LUg0L/QvtC00LDQtNC10L0g0L3QtdC/0YDQsNCy0LjQu9C10L0g0LDRgNCz0YPQvNC10L3RgiDigJ4lc+KAnFxuIgorItCf0L7QtNC00YrRgNC20LDRgiDRgdC1INC+0L/RhtC40LjRgtC1IOKAni0tdGVybS1nb29k4oCcL+KAni0tdGVybS1vbGTigJwg0Lgg4oCeLS10ZXJtLWJhZOKAni/igJ4tLXRlcm0tbmV34oCcLiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uOiAnJXMnIgorbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0LAg0L7Qv9GG0LjRjzogJXMiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYSB2YWxpZCByZXZpc2lvbiIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDQuNC30LPQu9C10LbQtNCwINC60LDRgtC+INGD0LrQsNC30LDRgtC10Lsg0LrRitC8INCy0LXRgNGB0LjRjyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjUxMgorbXNnaWQgImJhZCBIRUFEIC0gSSBuZWVkIGEgSEVBRCIKK21zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C10L0g0YPQutCw0LfQsNGC0LXQuyDigJ5IRUFE4oCcIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNraW5nIG91dCAnJXMnIGZhaWxlZC4gVHJ5ICdnaXQgYmlzZWN0IHN0YXJ0IDx2YWxpZC1icmFuY2g+Jy4iCittc2dzdHIgIiIKKyLQndC10YPRgdC/0LXRiNC90L4g0L/RgNC10LzQuNC90LDQstCw0L3QtSDQutGK0Lwg4oCeJXPigJwuICDQmNC30L/RitC70L3QtdGC0LUg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBiaXNlY3Qgc3RhcnQgIgorItCh0KrQqdCV0KHQotCS0KPQktCQ0Klf0JrQm9Ce0J3igJwuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTQ4Cittc2dpZCAid29uJ3QgYmlzZWN0IG9uIGNnLXNlZWsnZWQgdHJlZSIKK21zZ3N0ciAiIgorItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INGC0YrRgNGB0Lgg0LTQstC+0LjRh9C90L4sINC60L7Qs9Cw0YLQviDQtSDQuNC30L/RitC70L3QtdC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmNnLXNlZWvigJwg0L7RgiAiCisi4oCeY29naXRv4oCcIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTUxCittc2dpZCAiYmFkIEhFQUQgLSBzdHJhbmdlIHN5bWJvbGljIHJlZiIKK21zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C10L0g0YPQutCw0LfQsNGC0LXQuyDigJ5IRUFE4oCcIOKAlCDQvdC10L7QsdC40YfQsNC10L0g0YHQuNC80LLQvtC70LXQvSDRg9C60LDQt9Cw0YLQtdC7IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVmOiAnJXMnIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDRg9C60LDQt9Cw0YLQtdC7OiDigJ4lc+KAnCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzMQogbXNnaWQgInBlcmZvcm0gJ2dpdCBiaXNlY3QgbmV4dCciCiBtc2dzdHIgItC40LfQstGK0YDRiNCy0LDQvdC1INC90LAg4oCeZ2l0IGJpc2VjdCBuZXh04oCcIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTIyCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjMzCiBtc2dpZCAid3JpdGUgdGhlIHRlcm1zIHRvIC5naXQvQklTRUNUX1RFUk1TIgogbXNnc3RyICLQt9Cw0L/QsNC30LLQsNC90LUg0L3QsCDRg9C/0YDQsNCy0LvRj9Cy0LDRidC40YLQtSDQtNGD0LzQuCDQsiDigJ7igJwuZ2l0L0JJU0VDVF9URVJNU+KAnuKAnCIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyNAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzNQogbXNnaWQgImNsZWFudXAgdGhlIGJpc2VjdGlvbiBzdGF0ZSIKIG1zZ3N0ciAi0LjQt9GH0LjRgdGC0LLQsNC90LUg0L3QsCDRgdGK0YHRgtC+0Y/QvdC40LXRgtC+INC90LAg0LTQstC+0LjRh9C90L7RgtC+INGC0YrRgNGB0LXQvdC1IgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTI2CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM3CiBtc2dpZCAiY2hlY2sgZm9yIGV4cGVjdGVkIHJldnMiCiBtc2dzdHIgItC/0YDQvtCy0LXRgNC60LAg0LfQsCDQvtGH0LDQutCy0LDQvdC40YLQtSDQstC10YDRgdC40LgiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMjgKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2MzkKK21zZ2lkICJyZXNldCB0aGUgYmlzZWN0aW9uIHN0YXRlIgorbXNnc3RyICLQuNC30YfQuNGB0YLQstCw0L3QtSDQvdCwINGB0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L3QsCDQtNCy0L7QuNGH0L3QvtGC0L4g0YLRitGA0YHQtdC90LUiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDEKK21zZ2lkICJ3cml0ZSBvdXQgdGhlIGJpc2VjdGlvbiBzdGF0ZSBpbiBCSVNFQ1RfTE9HIgorbXNnc3RyICLQt9Cw0L/QuNGBINC90LAg0YHRitGB0YLQvtGP0L3QuNC10YLQviDQvdCwINC00LLQvtC40YfQvdC+0YLQviDRgtGK0YDRgdC10L3QtSDQsiDigJ5CSVNFQ1RfTE9H4oCcIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQzCittc2dpZCAiY2hlY2sgYW5kIHNldCB0ZXJtcyBpbiBhIGJpc2VjdGlvbiBzdGF0ZSIKK21zZ3N0ciAiIgorItC/0YDQvtCy0LXRgNC60LAg0Lgg0LfQsNC00LDQstCw0L3QtSDQvdCwINGD0L/RgNCw0LLQu9GP0LLQsNGJ0Lgg0LTRg9C80Lgg0LrRitC8INGB0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L3QsCDQtNCy0L7QuNGH0L3QvtGC0L4g0YLRitGA0YHQtdC90LUiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDUKK21zZ2lkICJjaGVjayB3aGV0aGVyIGJhZCBvciBnb29kIHRlcm1zIGV4aXN0IgorbXNnc3RyICLQv9GA0L7QstC10YDQutCwINC00LDQu9C4INGB0YrRidC10YHRgtCy0YPQstCw0YIg0L7QtNC+0LHRgNGP0LLQsNGJ0Lgv0L7RgtGF0LLRitGA0LvRj9GJ0Lgg0YPQv9GA0LDQstC70Y/QstCw0YnQuCDQtNGD0LzQuCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0NworbXNnaWQgInByaW50IG91dCB0aGUgYmlzZWN0IHRlcm1zIgorbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRg9C/0YDQsNCy0LvRj9Cy0LDRidC40YLQtSDQtNGD0LzQuCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0OQorbXNnaWQgInN0YXJ0IHRoZSBiaXNlY3Qgc2Vzc2lvbiIKK21zZ3N0ciAi0L3QsNGH0LDQu9C+INC90LAg0LTQstC+0LjRh9C90L4g0YLRitGA0YHQtdC90LUiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NTEKIG1zZ2lkICJ1cGRhdGUgQklTRUNUX0hFQUQgaW5zdGVhZCBvZiBjaGVja2luZyBvdXQgdGhlIGN1cnJlbnQgY29tbWl0IgogbXNnc3RyICIiCiAi0L7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC70Y8g4oCeQklTRUNUX0hFQUTigJwg0LLQvNC10YHRgtC+INC00LAg0YHQtSDQuNC30L/QvtC70LfQstCwINGC0LXQutGD0YnQvtGC0L4g0L/QvtC00LDQstCw0L3QtSIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE0MwotbXNnaWQgIi0td3JpdGUtdGVybXMgcmVxdWlyZXMgdHdvIGFyZ3VtZW50cyIKLW1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS13cml0ZS10ZXJtc+KAnCDQuNC30LjRgdC60LLQsCDRgtC+0YfQvdC+INC00LLQsCDQsNGA0LPRg9C80LXQvdGC0LAiCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjUzCittc2dpZCAibm8gbG9nIGZvciBCSVNFQ1RfV1JJVEUiCittc2dzdHIgItC70LjQv9GB0LLQsCDQt9Cw0L/QuNGBINC30LAg4oCeQklTRUNUX1dSSVRF4oCcIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTQ3CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjcwCittc2dpZCAiLS13cml0ZS10ZXJtcyByZXF1aXJlcyB0d28gYXJndW1lbnRzIgorbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLXdyaXRlLXRlcm1z4oCcINC40LfQuNGB0LrQstCwINGC0L7Rh9C90L4gMiDQsNGA0LPRg9C80LXQvdGC0LAiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NzQKIG1zZ2lkICItLWJpc2VjdC1jbGVhbi1zdGF0ZSByZXF1aXJlcyBubyBhcmd1bWVudHMiCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tYmlzZWN0LWNsZWFuLXN0YXRl4oCcINC90LUg0L/RgNC40LXQvNCwINCw0YDQs9GD0LzQtdC90YLQuCIKIAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY4MQorbXNnaWQgIi0tYmlzZWN0LXJlc2V0IHJlcXVpcmVzIGVpdGhlciBubyBhcmd1bWVudCBvciBhIGNvbW1pdCIKK21zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1iaXNlY3QtcmVzZXTigJwg0LjQt9C40YHQutCy0LAg0LjQu9C4IDAg0LDRgNCz0YPQvNC10L3RgtC4LCDQuNC70LggMSDigJQg0L/QvtC00LDQstCw0L3QtSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY4NQorbXNnaWQgIi0tYmlzZWN0LXdyaXRlIHJlcXVpcmVzIGVpdGhlciA0IG9yIDUgYXJndW1lbnRzIgorbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLWJpc2VjdC13cml0ZeKAnCDQuNC30LjRgdC60LLQsCA0INC40LvQuCA1INCw0YDQs9GD0LzQtdC90YLQsCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY5MQorbXNnaWQgIi0tY2hlY2stYW5kLXNldC10ZXJtcyByZXF1aXJlcyAzIGFyZ3VtZW50cyIKK21zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1jaGVjay1hbmQtc2V0LXRlcm1z4oCcINC40LfQuNGB0LrQstCwIDMg0LDRgNCz0YPQvNC10L3RgtCwIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Njk3Cittc2dpZCAiLS1iaXNlY3QtbmV4dC1jaGVjayByZXF1aXJlcyAyIG9yIDMgYXJndW1lbnRzIgorbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLWJpc2VjdC1uZXh0LWNoZWNr4oCcINC40LfQuNGB0LrQstCwIDIg0LjQu9C4IDMg0LDRgNCz0YPQvNC10L3RgtCwIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NzAzCittc2dpZCAiLS1iaXNlY3QtdGVybXMgcmVxdWlyZXMgMCBvciAxIGFyZ3VtZW50IgorbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLWJpc2VjdC10ZXJtc+KAnCDQuNC30LjRgdC60LLQsCAwINC40LvQuCAxINCw0YDQs9GD0LzQtdC90YLQsCIKKwogIzogYnVpbHRpbi9ibGFtZS5jOjMxCiBtc2dpZCAiZ2l0IGJsYW1lIFs8b3B0aW9ucz5dIFs8cmV2LW9wdHM+XSBbPHJldj5dIFstLV0gPGZpbGU+IgogbXNnc3RyICJnaXQgYmxhbWUgW9Ce0J/QptCY0K/igKZdIFvQntCf0KbQmNCvX9CX0JBf0JLQldCg0KHQmNCv0KLQkOKApl0gW9CS0JXQoNCh0JjQr10gWy0tXSDQpNCQ0JnQmyIKQEAgLTgxMDYsMTUyICsxMDIwMSwxNjUgQEAKIG1zZ2lkICI8cmV2LW9wdHM+IGFyZSBkb2N1bWVudGVkIGluIGdpdC1yZXYtbGlzdCgxKSIKIG1zZ3N0ciAi0J7Qn9Cm0JjQmNGC0LVf0JfQkF/QktCV0KDQodCY0K/QotCQINGB0LAg0LTQvtC60YPQvNC10L3RgtC40YDQsNC90Lgg0LIg0YDRitC60L7QstC+0LTRgdGC0LLQvtGC0L4gZ2l0LXJldi1saXN0KDEpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6NDA2CisjOiBidWlsdGluL2JsYW1lLmM6NDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGluZyBhIGNvbG9yOiAlcyIKIG1zZ3N0ciAi0YLRgNGP0LHQstCwINC00LAg0LUg0YbQstGP0YI6ICVzIgogCi0jOiBidWlsdGluL2JsYW1lLmM6NDEzCisjOiBidWlsdGluL2JsYW1lLmM6NDE2CiBtc2dpZCAibXVzdCBlbmQgd2l0aCBhIGNvbG9yIgogbXNnc3RyICLRgtGA0Y/QsdCy0LAg0LTQsCDQt9Cw0LLRitGA0YjQstCwINGBINGG0LLRj9GCIgogCi0jOiBidWlsdGluL2JsYW1lLmM6NzAwCisjOiBidWlsdGluL2JsYW1lLmM6NzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29sb3IgJyVzJyBpbiBjb2xvci5ibGFtZS5yZXBlYXRlZExpbmVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDRhtCy0Y/RgiDigJ4lc+KAnCDQsiDigJ5jb2xvci5ibGFtZS5yZXBlYXRlZExpbmVz4oCcIgogCi0jOiBidWlsdGluL2JsYW1lLmM6NzE4CisjOiBidWlsdGluL2JsYW1lLmM6NzQ3CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgYmxhbWUuY29sb3JpbmciCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCDigJ5ibGFtZS5jb2xvcmluZ+KAnCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5MwotbXNnaWQgIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiCi1tc2dzdHIgItCY0LfQstC10LbQtNCw0L3QtSDQvdCwINCw0L3QvtGC0LDRhtC40LjRgtC1INGBINC90LDQvNC40YDQsNC90LXRgtC+INC40LwsINC/0L7RgdC70LXQtNC+0LLQsNGC0LXQu9C90L4iCisjOiBidWlsdGluL2JsYW1lLmM6ODIyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHJldmlzaW9uICVzIHRvIGlnbm9yZSIKK21zZ3N0ciAi0LLQtdGA0YHQuNGP0YLQsCDQt9CwINC/0YDQtdGB0LrQsNGH0LDQvdC1IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LrRgNC40YLQsCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5NAorIzogYnVpbHRpbi9ibGFtZS5jOjg0NAorbXNnaWQgIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiCittc2dzdHIgItCY0LfQstC10LbQtNCw0L3QtSDQvdCwINCw0LLRgtC+0YDRgdGC0LLQvtGC0L4g0YEg0L3QsNC80LjRgNCw0L3QtdGC0L4g0LzRgywg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70L3QviIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg0NQogbXNnaWQgIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKICLQmNC30LLQtdC20LTQsNC90LUg0L3QsCDQv9GA0LDQt9C90Lgg0YHRg9C80Lgg0L/QviBTSEExINC30LAg0LPRgNCw0L3QuNGH0L3QuNGC0LUg0L/QvtC00LDQstCw0L3QuNGPICjRgdGC0LDQvdC00LDRgNGC0L3QviDQvtC/0YbQuNGP0YLQsCAiCiAi0LUg0LjQt9C60LvRjtGH0LXQvdCwKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5NQorIzogYnVpbHRpbi9ibGFtZS5jOjg0NgogbXNnaWQgIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogItCd0LDRh9Cw0LvQvdC40YLQtSDQv9C+0LTQsNCy0LDQvdC40Y8g0LTQsCDQvdC1INGB0LUg0YHRh9C40YLQsNGCINC30LAg0LPRgNCw0L3QuNGH0L3QuCAo0YHRgtCw0L3QtNCw0YDRgtC90L4g0L7Qv9GG0LjRj9GC0LAg0LUgIgogItC40LfQutC70Y7Rh9C10L3QsCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDcKIG1zZ2lkICJTaG93IHdvcmsgY29zdCBzdGF0aXN0aWNzIgogbXNnc3RyICLQmNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdGC0LDRgtC40YHRgtC40LrQsCDQt9CwINC40LfQstGK0YDRiNC10L3QuNGC0LUg0LTQtdC50YHRgtCy0LjRjyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5NworIzogYnVpbHRpbi9ibGFtZS5jOjg0OAogbXNnaWQgIkZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAi0J/RgNC40L3Rg9C00LjRgtC10LvQvdC+INC40LfQstC10LbQtNCw0L3QtSDQvdCwINC90LDQv9GA0LXQtNGK0LrQsCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5OAorIzogYnVpbHRpbi9ibGFtZS5jOjg0OQogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgotbXNnc3RyICLQmNC30LLQtdC20LTQsNC90LUg0L3QsCDQtNC+0L/RitC70L3QuNGC0LXQu9C90LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDQvtC/0YDQtdC00LXQu9GP0L3QtdGC0L4g0L3QsCDQsNC90L7RgtCw0YbQuNC40YLQtSIKK21zZ3N0ciAi0JjQt9Cy0LXQttC00LDQvdC1INC90LAg0LTQvtC/0YrQu9C90LjRgtC10LvQvdCwINC40L3RhNC+0YDQvNCw0YbQuNGPINC30LAg0L7Qv9GA0LXQtNC10LvRj9C90LXRgtC+INC90LAg0LDQstGC0L7RgNGB0YLQstC+0YLQviIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5OQorIzogYnVpbHRpbi9ibGFtZS5jOjg1MAogbXNnaWQgIlNob3cgb3JpZ2luYWwgZmlsZW5hbWUgKERlZmF1bHQ6IGF1dG8pIgogbXNnc3RyICIiCiAi0JjQt9Cy0LXQttC00LDQvdC1INC90LAg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC+0YLQviDQuNC80LUg0L3QsCDRhNCw0LnQuyAo0YHRgtCw0L3QtNCw0YDRgtC90L4g0YLQvtCy0LAg0LUg0LDQstGC0L7QvNCw0YLQuNGH0L3QvikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTEKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGxpbmVudW1iZXIgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKICLQmNC30LLQtdC20LTQsNC90LUg0L3QsCDQv9GK0YDQstC+0L3QsNGH0LDQu9C90LjRj9GCINC90L7QvNC10YAg0L3QsCDRgNC10LQgKNGB0YLQsNC90LTQsNGA0YLQvdC+INC+0L/RhtC40Y/RgtCwINC1INC40LfQutC70Y7Rh9C10L3QsCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTIKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICLQmNC30LLQtdC20LTQsNC90LUg0LLRitCyINGE0L7RgNC80LDRgiDQt9CwINC/0L4t0L3QsNGC0LDRgtGK0YjQvdCwINC+0LHRgNCw0LHQvtGC0LrQsCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwMgorIzogYnVpbHRpbi9ibGFtZS5jOjg1MwogbXNnaWQgIlNob3cgcG9yY2VsYWluIGZvcm1hdCB3aXRoIHBlci1saW5lIGNvbW1pdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogItCY0LfQstC10LbQtNCw0L3QtSDQstGK0LIg0YTQvtGA0LzQsNGCINC30LAg0LrQvtC80LDQvdC00Lgg0L7RgiDQv9C+0YLRgNC10LHQuNGC0LXQu9GB0LrQviDQvdC40LLQviDRgSDQuNC90YTQvtGA0LzQsNGG0LjRjyDQvdCwINCy0YHQtdC60LggIgogItGA0LXQtCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwMworIzogYnVpbHRpbi9ibGFtZS5jOjg1NAogbXNnaWQgIlVzZSB0aGUgc2FtZSBvdXRwdXQgbW9kZSBhcyBnaXQtYW5ub3RhdGUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKICLQmNC30L/QvtC70LfQstCw0L3QtSDQvdCwINGB0YrRidC40Y8g0YTQvtGA0LzQsNGCINC60LDRgtC+IOKAnmdpdC1hbm5vdGF0ZeKAnCAo0YHRgtCw0L3QtNCw0YDRgtC90L4g0L7Qv9GG0LjRj9GC0LAg0LUgIgogItC40LfQutC70Y7Rh9C10L3QsCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTUKIG1zZ2lkICJTaG93IHJhdyB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgItCY0LfQstC10LbQtNCw0L3QtSDQvdCwINC90LXRhNC+0YDQvNCw0YLQuNGA0LDQvdC4INCy0YDQtdC80LXQvdCwICjRgdGC0LDQvdC00LDRgNGC0L3QviDQvtC/0YbQuNGP0YLQsCDQtSDQuNC30LrQu9GO0YfQtdC90LApIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA1CisjOiBidWlsdGluL2JsYW1lLmM6ODU2CiBtc2dpZCAiU2hvdyBsb25nIGNvbW1pdCBTSEExIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLQmNC30LLQtdC20LTQsNC90LUg0L3QsCDQv9GK0LvQvdC40YLQtSDRgdGD0LzQuCDQv9C+IFNIQTEgKNGB0YLQsNC90LTQsNGA0YLQvdC+INC+0L/RhtC40Y/RgtCwINC1INC40LfQutC70Y7Rh9C10L3QsCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTcKIG1zZ2lkICJTdXBwcmVzcyBhdXRob3IgbmFtZSBhbmQgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLQkdC10Lcg0LjQvNC1INC90LAg0LDQstGC0L7RgCDQuCDQstGA0LXQvNC1INC90LAg0L/RgNC+0LzRj9C90LAgKNGB0YLQsNC90LTQsNGA0YLQvdC+INC+0L/RhtC40Y/RgtCwINC1INC40LfQutC70Y7Rh9C10L3QsCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTgKIG1zZ2lkICJTaG93IGF1dGhvciBlbWFpbCBpbnN0ZWFkIG9mIG5hbWUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKICLQmNC30LLQtdC20LTQsNC90LUg0L3QsCDQtS3Qv9C+0YnQsNGC0LAg0L3QsCDQsNCy0YLQvtGA0LAsINCwINC90LUg0LjQvNC10YLQviDQvNGDICjRgdGC0LDQvdC00LDRgNGC0L3QviDQvtC/0YbQuNGP0YLQsCDQtSAiCiAi0LjQt9C60LvRjtGH0LXQvdCwKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwOAorIzogYnVpbHRpbi9ibGFtZS5jOjg1OQogbXNnaWQgIklnbm9yZSB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzIgogbXNnc3RyICLQkdC10Lcg0YDQsNC30LvQuNC60Lgg0LIg0LfQvdCw0YbQuNGC0LUg0LfQsCDQuNC90YLQtdGA0LLQsNC70LgiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjAgYnVpbHRpbi9sb2cuYzoxNzAyCittc2dpZCAicmV2IgorbXNnc3RyICLQktCV0KDQoSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg2MAorbXNnaWQgIklnbm9yZSA8cmV2PiB3aGVuIGJsYW1pbmciCittc2dzdHIgItCf0YDQtdGB0LrQsNGH0LDQvdC1INC90LAg0JLQldCg0KHQuNGP0YLQsCDQv9GA0Lgg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LDQstGC0L7RgNGB0YLQstC+0YLQviIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg2MQorbXNnaWQgIklnbm9yZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4iCittc2dzdHIgItCf0YDQtdGB0LrQsNGH0LDQvdC1INC90LAg0LLQtdGA0YHQuNC40YLQtSDRg9C60LDQt9Cw0L3QuCDQstGK0LIg0KTQkNCZ0JvQsCDQv9GA0Lgg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LDQstGC0L7RgNGB0YLQstC+0YLQviIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg2MgogbXNnaWQgImNvbG9yIHJlZHVuZGFudCBtZXRhZGF0YSBmcm9tIHByZXZpb3VzIGxpbmUgZGlmZmVyZW50bHkiCiBtc2dzdHIgIiIKICLQvtGG0LLQtdGC0Y/QstCw0L3QtSDQvdCwINC/0L7QstGC0LDRgNGP0YnQuNGC0LUg0YHQtSDQvNC10YLQsNC00LDQvdC90Lgg0L7RgiDQv9GA0LXQtNC40YjQvdC40Y8g0YDQtdC0INCyINGA0LDQt9C70LjRh9C10L0g0YbQstGP0YIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjMKIG1zZ2lkICJjb2xvciBsaW5lcyBieSBhZ2UiCiBtc2dzdHIgItC+0YbQstC10YLRj9Cy0LDQvdC1INC90LAg0YDQtdC00L7QstC10YLQtSDQv9C+INCy0YrQt9GA0LDRgdGCIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODE3Ci1tc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKLW1zZ3N0ciAi0J/QvtC00L7QsdGA0Y/QstCw0L3QtSDQvdCwINGA0LDQt9C70LjQutC40YLQtSDRh9GA0LXQtyDQtdC60YHQv9C10YDQuNC80LXQvdGC0LDQu9C90LAg0LXQstGA0LjRgdGC0LjQutCwIgotCi0jOiBidWlsdGluL2JsYW1lLmM6ODE5CisjOiBidWlsdGluL2JsYW1lLmM6ODY0CiBtc2dpZCAiU3BlbmQgZXh0cmEgY3ljbGVzIHRvIGZpbmQgYmV0dGVyIG1hdGNoIgogbXNnc3RyICLQlNC+0L/RitC70L3QuNGC0LXQu9C90Lgg0LjQt9GH0LjRgdC70LXQvdC40Y8g0LfQsCDQv9C+LdC00L7QsdGA0Lgg0YDQtdC30YPQu9GC0LDRgtC4IgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODIwCisjOiBidWlsdGluL2JsYW1lLmM6ODY1CiBtc2dpZCAiVXNlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIGNhbGxpbmcgZ2l0LXJldi1saXN0IgogbXNnc3RyICLQmNC30YfQuNGC0LDQvdC1INC90LAg0LLQtdGA0YHQuNC40YLQtSDQvtGCINCk0JDQmdCbLCDQsCDQvdC1INGH0YDQtdC3INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg4oCeZ2l0LXJldi1saXN04oCcIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODIxCisjOiBidWlsdGluL2JsYW1lLmM6ODY2CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAi0JjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRgdGK0LTRitGA0LbQsNC90LjQtdGC0L4g0L3QsCDQpNCQ0JnQm9CwINC60LDRgtC+INC60YDQsNC50L3QviDQv9C+0LvQvtC20LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjIgYnVpbHRpbi9ibGFtZS5jOjgyMworIzogYnVpbHRpbi9ibGFtZS5jOjg2NyBidWlsdGluL2JsYW1lLmM6ODY4CiBtc2dpZCAic2NvcmUiCiBtc2dzdHIgItC90LDQv9Cw0YHQstCw0L3QtSDQvdCwINGA0LXQtNC+0LLQtdGC0LUiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjIKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjcKIG1zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICIiCiAi0KLRitGA0YHQtdC90LUg0L3QsCDQutC+0L/QuNGA0LDQvdC4INGA0LXQtNC+0LLQtSDQutCw0LrRgtC+INCyINGA0LDQvNC60LjRgtC1INC90LAg0LXQtNC40L0g0YTQsNC50LssINGC0LDQutCwINC4INC+0YIg0LXQtNC40L0g0YTQsNC50LsgIgogItC60YrQvCDQtNGA0YPQsyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyMworIzogYnVpbHRpbi9ibGFtZS5jOjg2OAogbXNnaWQgIkZpbmQgbGluZSBtb3ZlbWVudHMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIiIKICLQotGK0YDRgdC10L3QtSDQvdCwINC/0YDQtdC80LXRgdGC0LXQvdC4INGA0LXQtNC+0LLQtSDQutCw0LrRgtC+INCyINGA0LDQvNC60LjRgtC1INC90LAg0LXQtNC40L0g0YTQsNC50LssINGC0LDQutCwINC4INC+0YIg0LXQtNC40L0gIgogItGE0LDQudC7INC60YrQvCDQtNGA0YPQsyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyNAorIzogYnVpbHRpbi9ibGFtZS5jOjg2OQogbXNnaWQgIm4sbSIKIG1zZ3N0ciAibixtIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODI0CisjOiBidWlsdGluL2JsYW1lLmM6ODY5CiBtc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIiIKICLQmNC90YTQvtGA0LzQsNGG0LjRjyDRgdCw0LzQviDQt9CwINGA0LXQtNC+0LLQtdGC0LUg0LIg0LTQuNCw0L/QsNC30L7QvdCwINC+0YIgbiDQtNC+IG0g0LLQutC70Y7Rh9C40YLQtdC70L3Qvi4gINCR0YDQvtC10L3QtdGC0L4gIgogItC30LDQv9C+0YfQstCwINC+0YIgMSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjg3MworIzogYnVpbHRpbi9ibGFtZS5jOjkyMQogbXNnaWQgIi0tcHJvZ3Jlc3MgY2FuJ3QgYmUgdXNlZCB3aXRoIC0taW5jcmVtZW50YWwgb3IgcG9yY2VsYWluIGZvcm1hdHMiCiBtc2dzdHIgIiIKICLQvtC/0YbQuNGP0YLQsCDigJ4tLXByb2dyZXNz4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDigJ4tLWluY3JlbWVudGFs4oCcINC4INGE0L7RgNC80LDMgNGC0LAg0L3QsCDQutC+0LzQsNC90LTQuNGC0LUgIgpAQCAtODI2NSwyMCArMTAzNzMsMjAgQEAKICMuIHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvciBmZXdlciBkaXNwbGF5CiAjLiBjb2x1bW5zLgogIy4KLSM6IGJ1aWx0aW4vYmxhbWUuYzo5MjQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo5NzIKIG1zZ2lkICI0IHllYXJzLCAxMSBtb250aHMgYWdvIgogbXNnc3RyICLQv9GA0LXQtNC4IDQg0LPQvtC00LjQvdC4INC4IDExINC80LXRgdC10YbQsCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjEwMTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoxMDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmUiCiBtc2dpZF9wbHVyYWwgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmVzIgogbXNnc3RyWzBdICLQuNC80LAg0YHQsNC80L4gJTIkbHUg0YDQtdC0INCy0YrQsiDRhNCw0LnQu9CwIOKAniUxJHPigJwiCiBtc2dzdHJbMV0gItC40LzQsCDRgdCw0LzQviAlMiRsdSDRgNC10LTQsCDQstGK0LIg0YTQsNC50LvQsCDigJ4lMSRz4oCcIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MTA1NworIzogYnVpbHRpbi9ibGFtZS5jOjExMjUKIG1zZ2lkICJCbGFtaW5nIGxpbmVzIgotbXNnc3RyICLQkNC90L7RgtC40YDQsNC90Lgg0YDQtdC00L7QstC1IgorbXNnc3RyICLQoNC10LTQvtCy0LUg0YEg0LDQstGC0L7RgNGB0YLQstC+IgogCiAjOiBidWlsdGluL2JyYW5jaC5jOjI5CiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tbWVyZ2VkIHwgLS1uby1tZXJnZWRdIgpAQCAtODMwOCw3ICsxMDQxNiw3IEBACiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tZm9ybWF0XSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBb0J7Qn9Cm0JjQr+KApl0gWy1yIHwgLWFdIFstLWZvcm1hdF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTUxCisjOiBidWlsdGluL2JyYW5jaC5jOjE1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBoYXMgYmVlbiBtZXJnZWQgdG9cbiIKQEAgLTgzMTcsNyArMTA0MjUsNyBAQAogItC40LfRgtGA0LjQstCw0L3QtSDQvdCwINC60LvQvtC90LAg4oCeJXPigJwsINC60L7QudGC0L4g0LUg0YHQu9GP0YIg0LrRitC8IOKAniVz4oCcLFxuIgogIiAgICDQvdC+INC+0YnQtSDQvdC1INC1INGB0LvRj9GCINC60YrQvCDQstGK0YDRhdCwIOKAnkhFQUTigJwuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE1NQorIzogYnVpbHRpbi9icmFuY2guYzoxNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdCBkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGlzIG5vdCB5ZXQgbWVyZ2VkIHRvXG4iCkBAIC04MzI2LDEyICsxMDQzNCwxMiBAQAogItC+0YLQutCw0LfQstCw0L3QtSDQvdCwINC40LfRgtGA0LjQstCw0L3QtSDQvdCwINC60LvQvtC90LAg4oCeJXPigJwsINC60L7QudGC0L4g0L3QtSDQtSDRgdC70Y/RgiDQutGK0LxcbiIKICIgICAg4oCeJXPigJwsINC90L4g0LUg0YHQu9GP0YIg0LrRitC8INCy0YrRgNGF0LAg4oCeSEVBROKAnC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTY5CisjOiBidWlsdGluL2JyYW5jaC5jOjE3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yICclcyciCiBtc2dzdHIgItCe0LHQtdC60YLRitGCLdC/0L7QtNCw0LLQsNC90LUg0LfQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC60YDQuNGCIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE3MworIzogYnVpbHRpbi9icmFuY2guYzoxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBicmFuY2ggJyVzJyBpcyBub3QgZnVsbHkgbWVyZ2VkLlxuIgpAQCAtODM0MCwxMTMgKzEwNDQ4LDEyMiBAQAogItCa0LvQvtC90YrRgiDigJ4lc+KAnCDQvdC1INC1INGB0LvRj9GCINC90LDQv9GK0LvQvdC+LiAg0JDQutC+INGB0YLQtSDRgdC40LPRg9GA0L3QuCwg0YfQtSDQuNGB0LrQsNGC0LVcbiIKICLQtNCwINCz0L4g0LjQt9GC0YDQuNC10YLQtSwg0LjQt9C/0YrQu9C90LXRgtC1IOKAnmdpdCBicmFuY2ggLUQgJXPigJwuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE4NgorIzogYnVpbHRpbi9icmFuY2guYzoxODkKIG1zZ2lkICJVcGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0L7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDQutC+0L3RhNC40LPRg9GA0LDRhtC40L7QvdC90LjRjyDRhNCw0LnQuyIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjIwCiBtc2dpZCAiY2Fubm90IHVzZSAtYSB3aXRoIC1kIgogbXNnc3RyICLQntC/0YbQuNGP0YLQsCDigJ4tYeKAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg0L7Qv9GG0LjRj9GC0LAg4oCeLWTigJwiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjIzCisjOiBidWlsdGluL2JyYW5jaC5jOjIyNgogbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgSEVBRCIKIG1zZ3N0ciAi0J7QsdC10LrRgtGK0YIt0L/QvtC00LDQstCw0L3QtSwg0YHQvtGH0LXQvSDQvtGCINGD0LrQsNC30LDRgtC10LvRjyDigJ5IRUFE4oCcLCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC60YDQuNGCIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIzNworIzogYnVpbHRpbi9icmFuY2guYzoyNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBicmFuY2ggJyVzJyBjaGVja2VkIG91dCBhdCAnJXMnIgogbXNnc3RyICLQndC1INC80L7QttC10YLQtSDQtNCwINC40LfRgtGA0LjQtdGC0LUg0LrQu9C+0L3QsCDigJ4lc+KAnCwg0LrQvtC50YLQviDQtSDQuNC30YLQtdCz0LvQtdC9INCyINC/0YrRgtGPIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI1MgorIzogYnVpbHRpbi9icmFuY2guYzoyNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIG5vdCBmb3VuZC4iCiBtc2dzdHIgItGB0LvQtdC00Y/RidC40Y/RgiDQutC70L7QvSDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC60YDQuNGCLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIG5vdCBmb3VuZC4iCiBtc2dzdHIgItC60LvQvtC90YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC60YDQuNGCLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIGRlbGV0aW5nIHJlbW90ZS10cmFja2luZyBicmFuY2ggJyVzJyIKIG1zZ3N0ciAi0JPRgNC10YjQutCwINC/0YDQuCDQuNC30YLRgNC40LLQsNC90LXRgtC+INC90LAg0YHQu9C10LTRj9GJ0LjRjyDQutC70L7QvSDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIGRlbGV0aW5nIGJyYW5jaCAnJXMnIgogbXNnc3RyICLQk9GA0LXRiNC60LAg0L/RgNC4INC40LfRgtGA0LjQstCw0L3QtdGC0L4g0L3QsCDQutC70L7QvdCwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI3NgorIzogYnVpbHRpbi9icmFuY2guYzoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRlZCByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICLQmNC30YLRgNC40YIg0YHQu9C10LTRj9GJINC60LvQvtC9IOKAniVz4oCcICjRgtC+0Lkg0YHQvtGH0LXRiNC1INC60YrQvCDigJ4lc+KAnCkuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mjc3CisjOiBidWlsdGluL2JyYW5jaC5jOjI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAi0JjQt9GC0YDQuNGCINC60LvQvtC9IOKAniVz4oCcICjRgtC+0Lkg0YHQvtGH0LXRiNC1INC60YrQvCDigJ4lc+KAnCkuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDIxIGJ1aWx0aW4vdGFnLmM6NTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDI5IGJ1aWx0aW4vdGFnLmM6NjEKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgZm9ybWF0IHN0cmluZyIKIG1zZ3N0ciAi0YTQvtGA0LzQsNGC0LjRgNCw0YnQuNGP0YIg0L3QuNC3INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQsNC90LDQu9C40LfQuNGA0LDQvTogJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU4CisjOiBidWlsdGluL2JyYW5jaC5jOjQ2MAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQiCittc2dzdHIgItC/0L7QtNCw0LLQsNC90LXRgtC+LCDRgdC+0YfQtdC90L4g0L7RgiDRg9C60LDQt9Cw0YLQtdC70Y8g4oCeSEVBROKAnCwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YPRgdGC0LDQvdC+0LLQuCIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSEVBRCAoJXMpIHBvaW50cyBvdXRzaWRlIG9mIHJlZnMvaGVhZHMvIgorbXNnc3RyICLigJ5IRUFE4oCcICglcykg0YHQvtGH0Lgg0LjQt9Cy0YrQvSDQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg4oCecmVmcy9oZWFkc+KAnCIKKworIzogYnVpbHRpbi9icmFuY2guYzo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIHJlYmFzZWQgYXQgJXMiCiBtc2dzdHIgItCa0LvQvtC90YrRgiDigJ4lc+KAnCDRgdC1INC/0YDQtdCx0LDQt9C40YDQsCDQstGK0YDRhdGDIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ2MgorIzogYnVpbHRpbi9icmFuY2guYzo0ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIGJpc2VjdGVkIGF0ICVzIgogbXNnc3RyICLQotGK0YDRgdC4INGB0LUg0LTQstC+0LjRh9C90L4g0LIg0LrQu9C+0L3QsCDigJ4lc+KAnCDQv9GA0Lgg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDc5CisjOiBidWlsdGluL2JyYW5jaC5jOjUwMgogbXNnaWQgImNhbm5vdCBjb3B5IHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtdGC0LUg0LTQsCDQutC+0L/QuNGA0LDRgtC1INGC0LXQutGD0YnQuNGPINC60LvQvtC9LCDQt9Cw0YnQvtGC0L4g0YHRgtC1INC40LfQstGK0L0g0LrQvtC50YLQviDQuCDQtNCwINC1INC60LvQvtC9IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ4MQorIzogYnVpbHRpbi9icmFuY2guYzo1MDQKIG1zZ2lkICJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAiIgogItC90LUg0LzQvtC20LXRgtC1INC00LAg0L/RgNC10LjQvNC10L3Rg9Cy0LDRgtC1INGC0LXQutGD0YnQuNGPINC60LvQvtC9LCDQt9Cw0YnQvtGC0L4g0YHRgtC1INC40LfQstGK0L0g0LrQvtC50YLQviDQuCDQtNCwINC1INC60LvQvtC9IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ5MgorIzogYnVpbHRpbi9icmFuY2guYzo1MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBicmFuY2ggbmFtZTogJyVzJyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C90L4g0LjQvNC1INC90LAg0LrQu9C+0L06IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUxOQorIzogYnVpbHRpbi9icmFuY2guYzo1NDIKIG1zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC/0YDQtdC40LzQtdC90YPQstCw0L3QtSDQvdCwINC60LvQvtC9IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUyMQorIzogYnVpbHRpbi9icmFuY2guYzo1NDQKIG1zZ2lkICJCcmFuY2ggY29weSBmYWlsZWQiCiBtc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDQutC+0L/QuNGA0LDQvdC1INC90LAg0LrQu9C+0L0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTI1CisjOiBidWlsdGluL2JyYW5jaC5jOjU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGEgY29weSBvZiBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIgogbXNnc3RyICLQmtC70L7QvdGK0YIg0YEg0L3QtdC/0YDQsNCy0LjQu9C90L4g0LjQvNC1IOKAniVz4oCcINC1INC60L7Qv9C40YDQsNC9IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUyOAorIzogYnVpbHRpbi9icmFuY2guYzo1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1lZCBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIGF3YXkiCiBtc2dzdHIgItCa0LvQvtC90YrRgiDRgSDQvdC10L/RgNCw0LLQuNC70L3QviDQuNC80LUg4oCeJXPigJwg0LUg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1MzQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCiBtc2dzdHIgItCa0LvQvtC90YrRgiDQtSDQv9GA0LXQuNC80LXQvdGD0LLQsNC9INC90LAg4oCeJXPigJwsINC90L4g0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQvdC1INC1INC+0LHQvdC+0LLQtdC9IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU0MworIzogYnVpbHRpbi9icmFuY2guYzo1NjYKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgItCa0LvQvtC90YrRgiDQtSDQv9GA0LXQuNC80LXQvdGD0LLQsNC9LCDQvdC+INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQvtC90L3QuNGP0YIg0YTQsNC50Lsg0L3QtSDQtSDQvtCx0L3QvtCy0LXQvSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NDUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY4CiBtc2dpZCAiQnJhbmNoIGlzIGNvcGllZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgItCa0LvQvtC90YrRgiDQtSDQutC+0L/QuNGA0LDQvSwg0L3QviDQutC+0L3RhNC40LPRg9GA0LDRhtC40L7QvdC90LjRj9GCINGE0LDQudC7INC90LUg0LUg0L7QsdC90L7QstC10L0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYxCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoXG4iCkBAIC04NDU3LDE4OSArMTA1NzQsMTgzIEBACiAiICAgICVzXG4iCiAi0KDQtdC00L7QstC10YLQtSwg0LrQvtC40YLQviDQt9Cw0L/QvtGH0LLQsNGCINGBIOKAniVj4oCcLCDRidC1INCx0YrQtNCw0YIg0L/RgNC+0L/Rg9GB0L3QsNGC0LguXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CisjOiBidWlsdGluL2JyYW5jaC5jOjYxOAogbXNnaWQgIkdlbmVyaWMgb3B0aW9ucyIKIG1zZ3N0ciAi0J7QsdGJ0Lgg0L3QsNGB0YLRgNC+0LnQutC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NgorIzogYnVpbHRpbi9icmFuY2guYzo2MjAKIG1zZ2lkICJzaG93IGhhc2ggYW5kIHN1YmplY3QsIGdpdmUgdHdpY2UgZm9yIHVwc3RyZWFtIGJyYW5jaCIKIG1zZ3N0ciAiIgotItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGF0LXRiNCwINC4INGC0LXQvNCw0YLQsC4gINCf0L7QstGC0LDRgNGP0L3QtdGC0L4g0L3QsCDQvtC/0YbQuNGP0YLQsCDQv9GA0LjQsdCw0LLRjyDQvtGC0LTQsNC70LXRh9C10L3QuNGC0LUgIgotItC60LvQvtC90LgiCisi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LrQvtC90YLRgNC+0LvQvdCw0YLQsCDRgdGD0LzQsCDQuCDRgtC10LzQsNGC0LAuICDQn9C+0LLRgtCw0YDRj9C90LXRgtC+INC90LAg0L7Qv9GG0LjRj9GC0LAg0L/RgNC40LHQsNCy0Y8gIgorItC+0YLQtNCw0LvQtdGH0LXQvdC40YLQtSDQutC70L7QvdC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NworIzogYnVpbHRpbi9icmFuY2guYzo2MjEKIG1zZ2lkICJzdXBwcmVzcyBpbmZvcm1hdGlvbmFsIG1lc3NhZ2VzIgogbXNnc3RyICLQsdC10Lcg0LjQvdGE0L7RgNC80LDRhtC40L7QvdC90Lgg0YHRitC+0LHRidC10L3QuNGPIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5OAorIzogYnVpbHRpbi9icmFuY2guYzo2MjIKIG1zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1wdWxsKDEpKSIKIG1zZ3N0ciAi0LfQsNC00LDQstCw0L3QtSDQvdCwINGA0LXQttC40LzQsCDQvdCwINGB0LvQtdC00LXQvdC1ICjQstC40LYgZ2l0LXB1bGwoMSkpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwMAorIzogYnVpbHRpbi9icmFuY2guYzo2MjQKIG1zZ2lkICJkbyBub3QgdXNlIgogbXNnc3RyICLQtNCwINC90LUg0YHQtSDQv9C+0LvQt9Cy0LAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAyIGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4MAorIzogYnVpbHRpbi9icmFuY2guYzo2MjYgYnVpbHRpbi9yZWJhc2UuYzo1MDUKIG1zZ2lkICJ1cHN0cmVhbSIKIG1zZ3N0ciAi0LrQu9C+0L0t0LjQt9GC0L7Rh9C90LjQuiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI2CiBtc2dpZCAiY2hhbmdlIHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICLRgdC80Y/QvdCwINC90LAg0LrQu9C+0L3QsC3QuNC30YLQvtGH0L3QuNC6IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwMwotbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgotbXNnc3RyICLQsdC10Lcg0LrQu9C+0L0t0LjQt9GC0L7Rh9C90LjQuiIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI3Cittc2dpZCAidW5zZXQgdGhlIHVwc3RyZWFtIGluZm8iCittc2dzdHIgItC40LfRh9C40YHRgtCy0LDQvdC1INC90LAg0LjQvdGE0L7RgNC80LDRhtC40Y/RgtCwINC30LAg0LrQu9C+0L0t0LjQt9GC0L7Rh9C90LjQuiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI4CiBtc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgogbXNnc3RyICLRhtCy0LXRgtC10L0g0LjQt9GF0L7QtCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI5CiBtc2dpZCAiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAi0LTQtdC50YHRgtCy0LjQtSDQstGK0YDRhdGDINGB0LvQtdC00Y/RidC40YLQtSDQutC70L7QvdC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwNyBidWlsdGluL2JyYW5jaC5jOjYwOQorIzogYnVpbHRpbi9icmFuY2guYzo2MzEgYnVpbHRpbi9icmFuY2guYzo2MzMKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0YHQsNC80L4g0L3QsCDQutC70L7QvdC40YLQtSwg0LrQvtC40YLQviDRgdGK0LTRitGA0LbQsNGCINGC0L7QstCwINCf0J7QlNCQ0JLQkNCd0JUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjA4IGJ1aWx0aW4vYnJhbmNoLmM6NjEwCisjOiBidWlsdGluL2JyYW5jaC5jOjYzMiBidWlsdGluL2JyYW5jaC5jOjYzNAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINC60LvQvtC90LjRgtC1LCDQutC+0LjRgtC+INC90LUg0YHRitC00YrRgNC20LDRgiDRgtC+0LLQsCDQn9Ce0JTQkNCS0JDQndCVIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxMworIzogYnVpbHRpbi9icmFuY2guYzo2MzcKIG1zZ2lkICJTcGVjaWZpYyBnaXQtYnJhbmNoIGFjdGlvbnM6IgogbXNnc3RyICLQodC/0LXRhtC40LDQu9C90Lgg0LTQtdC50YHRgtCy0LjRjyDQvdCwIOKAnmdpdC1icmFuY2jigJw6IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxNAorIzogYnVpbHRpbi9icmFuY2guYzo2MzgKIG1zZ2lkICJsaXN0IGJvdGggcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC60LDQutGC0L4g0L3QsCDRgdC70LXQtNGP0YnQuNGC0LUsINGC0LDQutCwINC4INC90LAg0LvQvtC60LDQu9C90LjRgtC1INC60LvQvtC90LgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE2CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MAogbXNnaWQgImRlbGV0ZSBmdWxseSBtZXJnZWQgYnJhbmNoIgogbXNnc3RyICLQuNC30YLRgNC40LLQsNC90LUg0L3QsCDQutC70L7QvdC4LCDQutC+0LjRgtC+INGB0LAg0L3QsNC/0YrQu9C90L4g0YHQu9C10YLQuCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQxCiBtc2dpZCAiZGVsZXRlIGJyYW5jaCAoZXZlbiBpZiBub3QgbWVyZ2VkKSIKIG1zZ3N0ciAi0LjQt9GC0YDQuNCy0LDQvdC1INC4INC90LAg0LrQu9C+0L3QuCwg0LrQvtC40YLQviDQvdC1INGB0LAg0L3QsNC/0YrQu9C90L4g0YHQu9C10YLQuCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQyCiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCiBtc2dzdHIgIiIKICLQv9GA0LXQvNC10YHRgtCy0LDQvdC1L9C/0YDQtdC40LzQtdC90YPQstCw0L3QtSDQvdCwINC60LvQvtC9INC4INC/0YDQuNC90LDQtNC70LXQttCw0YnQuNGP0YIg0LzRgyDQttGD0YDQvdCw0Lsg0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxOQorIzogYnVpbHRpbi9icmFuY2guYzo2NDMKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICLQv9GA0LXQvNC10YHRgtCy0LDQvdC1L9C/0YDQtdC40LzQtdC90YPQstCw0L3QtSDQvdCwINC60LvQvtC9LCDQtNC+0YDQuCDQsNC60L4g0LjQvNCwINCy0LXRh9C1INC60LvQvtC9INGBINGC0LDQutC+0LLQsCDQuNC80LUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIwCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NAogbXNnaWQgImNvcHkgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCiBtc2dzdHIgItC60L7Qv9C40YDQsNC90LUg0L3QsCDQutC70L7QvSDQuCDQv9GA0LjQvdCw0LTQu9C10LbQsNGJ0LjRjyDQvNGDINC20YPRgNC90LDQuyDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIxCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NQogbXNnaWQgImNvcHkgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAi0LrQvtC/0LjRgNCw0L3QtSDQvdCwINC60LvQvtC9LCDQtNC+0YDQuCDQsNC60L4g0LjQvNCwINCy0LXRh9C1INC60LvQvtC9INGBINGC0LDQutC+0LLQsCDQuNC80LUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIyCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NgogbXNnaWQgImxpc3QgYnJhbmNoIG5hbWVzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQuNC80LXQvdCw0YLQsCDQvdCwINC60LvQvtC90LjRgtC1IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMworIzogYnVpbHRpbi9icmFuY2guYzo2NDcKK21zZ2lkICJzaG93IGN1cnJlbnQgYnJhbmNoIG5hbWUiCittc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC40LzQtdGC0L4g0L3QsCDRgtC10LrRg9GJ0LjRjyDQutC70L7QvSIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NDgKIG1zZ2lkICJjcmVhdGUgdGhlIGJyYW5jaCdzIHJlZmxvZyIKIG1zZ3N0ciAi0YHRitC30LTQsNCy0LDQvdC1INC90LAg0LbRg9GA0L3QsNC70LAg0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1INC90LAg0LrQu9C+0L3QsCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUwCiBtc2dpZCAiZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2giCiBtc2dzdHIgItGA0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDQvtC/0LjRgdCw0L3QuNC10YLQviDQvdCwINC60LvQvtC90LAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI2CisjOiBidWlsdGluL2JyYW5jaC5jOjY1MQogbXNnaWQgImZvcmNlIGNyZWF0aW9uLCBtb3ZlL3JlbmFtZSwgZGVsZXRpb24iCiBtc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70L3QviDRgdGK0LfQtNCw0LLQsNC90LUsINC/0YDQtdC80LXRgdGC0LLQsNC90LUsINC/0YDQtdC40LzQtdC90YPQstCw0L3QtSwg0LjQt9GC0YDQuNCy0LDQvdC1IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyNworIzogYnVpbHRpbi9icmFuY2guYzo2NTIKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0YHQu9C10YLQuNGC0LUg0LrQu9C+0L3QuCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUzCiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0YHQsNC80L4g0L3QsCDQvdC10YHQu9C10YLQuNGC0LUg0LrQu9C+0L3QuCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU0CiBtc2dpZCAibGlzdCBicmFuY2hlcyBpbiBjb2x1bW5zIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L/QviDQutC+0LvQvtC90LgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDAgYnVpbHRpbi9scy1yZW1vdGUuYzo3MAotIzogYnVpbHRpbi90YWcuYzo0MTUKLW1zZ2lkICJrZXkiCi1tc2dzdHIgItCa0JvQrtCnIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzMSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzEKLSM6IGJ1aWx0aW4vdGFnLmM6NDE2Ci1tc2dpZCAiZmllbGQgbmFtZSB0byBzb3J0IG9uIgotbXNnc3RyICLQuNC80LUg0L3QsCDQv9C+0LvQtdGC0L4sINC/0L4g0LrQvtC10YLQviDQtNCwINC1INC/0L7QtNGA0LXQtNCx0LDRgtCwIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzMyBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQzIGJ1aWx0aW4vbm90ZXMuYzo0MTUKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTggYnVpbHRpbi9ub3Rlcy5jOjU3OCBidWlsdGluL25vdGVzLmM6NTgxCi0jOiBidWlsdGluL3RhZy5jOjQxOAorIzogYnVpbHRpbi9icmFuY2guYzo2NTcgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MiBidWlsdGluL25vdGVzLmM6NDE1CisjOiBidWlsdGluL25vdGVzLmM6NDE4IGJ1aWx0aW4vbm90ZXMuYzo1ODEgYnVpbHRpbi9ub3Rlcy5jOjU4NAorIzogYnVpbHRpbi90YWcuYzo0MzMKIG1zZ2lkICJvYmplY3QiCiBtc2dzdHIgItCe0JHQldCa0KIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM0CisjOiBidWlsdGluL2JyYW5jaC5jOjY1OAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0LrQu9C+0L3QuNGC0LUg0L3QsCDQntCR0JXQmtCi0JAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM2IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDkgYnVpbHRpbi90YWcuYzo0MjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDggYnVpbHRpbi90YWcuYzo0NDAKIG1zZ2lkICJzb3J0aW5nIGFuZCBmaWx0ZXJpbmcgYXJlIGNhc2UgaW5zZW5zaXRpdmUiCiBtc2dzdHIgItC/0L7QtNGA0LXQtNCx0LDRgtCwINC4INGE0LjQu9GC0YDQuNGA0LDQvdC10YLQviDRgtGA0LXRgtC40YDQsNGCINC10LTQvdCw0LrQstC+INC80LDQu9C60LjRgtC1INC4INCz0LvQsNCy0L3QuNGC0LUg0LHRg9C60LLQuCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzcgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOCBidWlsdGluL3RhZy5jOjQyMwotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYxIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzggYnVpbHRpbi90YWcuYzo0MzgKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CiBtc2dpZCAiZm9ybWF0IHRvIHVzZSBmb3IgdGhlIG91dHB1dCIKIG1zZ3N0ciAi0KTQntCg0JzQkNCiINC30LAg0LjQt9GF0L7QtNCwIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2MCBidWlsdGluL2Nsb25lLmM6NzM5CisjOiBidWlsdGluL2JyYW5jaC5jOjY4NCBidWlsdGluL2Nsb25lLmM6Nzg0CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgItCSINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ5yZWZzL2hlYWRz4oCcINC70LjQv9GB0LLQsCDRhNCw0LnQuyDigJ5IRUFE4oCcIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MworIzogYnVpbHRpbi9icmFuY2guYzo3MDgKIG1zZ2lkICItLWNvbHVtbiBhbmQgLS12ZXJib3NlIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgItCe0L/RhtC40LjRgtC1IOKAni0tY29sdW1u4oCcINC4IOKAni0tdmVyYm9zZeKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2OTggYnVpbHRpbi9icmFuY2guYzo3NDkgYnVpbHRpbi9icmFuY2guYzo3NTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIzIGJ1aWx0aW4vYnJhbmNoLmM6Nzc3IGJ1aWx0aW4vYnJhbmNoLmM6Nzg2CiBtc2dpZCAiYnJhbmNoIG5hbWUgcmVxdWlyZWQiCiBtc2dzdHIgItCd0LXQvtCx0YXQvtC00LjQvNC+INC1INC40LzQtSDQvdCwINC60LvQvtC9IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcyNQorIzogYnVpbHRpbi9icmFuY2guYzo3NTMKIG1zZ2lkICJDYW5ub3QgZ2l2ZSBkZXNjcmlwdGlvbiB0byBkZXRhY2hlZCBIRUFEIgogbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0LfQsNC00LDQtNC10YLQtSDQvtC/0LjRgdCw0L3QuNC1INC90LAg0L3QtdGB0LLRitGA0LfQsNC9IOKAnkhFQUTigJwiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzMwCisjOiBidWlsdGluL2JyYW5jaC5jOjc1OAogbXNnaWQgImNhbm5vdCBlZGl0IGRlc2NyaXB0aW9uIG9mIG1vcmUgdGhhbiBvbmUgYnJhbmNoIgogbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0YDQtdC00LDQutGC0LjRgNCw0YLQtSDQvtC/0LjRgdCw0L3QuNC10YLQviDQvdCwINC/0L7QstC10YfQtSDQvtGCINC10LTQuNC9INC60LvQvtC9INC10LTQvdC+0LLRgNC10LzQtdC90L3QviIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGNvbW1pdCBvbiBicmFuY2ggJyVzJyB5ZXQuIgogbXNnc3RyICLQkiDQutC70L7QvdCwIOKAniVz4oCcINCy0YHQtSDQvtGJ0LUg0L3Rj9C80LAg0L/QvtC00LDQstCw0L3QuNGPLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NDAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGJyYW5jaCBuYW1lZCAnJXMnLiIKIG1zZ3N0ciAi0JvQuNC/0YHQstCwINC60LvQvtC9INC90LAg0LjQvNC1IOKAniVz4oCcLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzgzCiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgY29weSBvcGVyYXRpb24iCiBtc2dzdHIgItC/0YDQtdC60LDQu9C10L3QviDQvNC90L7Qs9C+INC60LvQvtC90Lgg0LfQsCDQutC+0L/QuNGA0LDQvdC1IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc2NAorIzogYnVpbHRpbi9icmFuY2guYzo3OTIKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMgZm9yIGEgcmVuYW1lIG9wZXJhdGlvbiIKIG1zZ3N0ciAi0L/RgNC10LrQsNC70LXQvdC+INC80L3QvtCz0L4g0LDRgNCz0YPQvNC10L3RgtC4INC60YrQvCDQutC+0LzQsNC90LTQsNGC0LAg0LfQsCDQv9GA0LXQuNC80LXQvdGD0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY5CisjOiBidWlsdGluL2JyYW5jaC5jOjc5NwogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyB0byBzZXQgbmV3IHVwc3RyZWFtIgogbXNnc3RyICLQv9GA0LXQutCw0LvQtdC90L4g0LzQvdC+0LPQviDQsNGA0LPRg9C80LXQvdGC0Lgg0LrRitC8INC60L7QvNCw0L3QtNCw0YLQsCDQt9CwINGB0LvQtdC00LXQvdC1IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc3MworIzogYnVpbHRpbi9icmFuY2guYzo4MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBzZXQgdXBzdHJlYW0gb2YgSEVBRCB0byAlcyB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgpAQCAtODY0NywzNSArMTA3NTgsMzkgQEAKICLQodC70LXQtNC10L3QvtGC0L4g0L7RgiDigJ5IRUFE4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQtNCw0LTQtSDQtNCwINC1IOKAniVz4oCcLCDQt9Cw0YnQvtGC0L4g0YLQviDQvdC1INGB0L7Rh9C4INC60YrQvCAiCiAi0L3QuNC60L7QuSDQutC70L7QvS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzc2IGJ1aWx0aW4vYnJhbmNoLmM6Nzk4CisjOiBidWlsdGluL2JyYW5jaC5jOjgwNCBidWlsdGluL2JyYW5jaC5jOjgyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaCAnJXMnIgogbXNnc3RyICLQndGP0LzQsCDQutC70L7QvSDQvdCwINC40LzQtSDigJ4lc+KAnC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzgwCisjOiBidWlsdGluL2JyYW5jaC5jOjgwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi0J3QtSDRgdGK0YnQtdGB0YLQstGD0LLQsCDQutC70L7QvSDQvdCwINC40LzQtSDigJ4lc+KAnC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzkyCisjOiBidWlsdGluL2JyYW5jaC5jOjgyMQogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyB0byB1bnNldCB1cHN0cmVhbSIKIG1zZ3N0ciAi0L/RgNC10LrQsNC70LXQvdC+INC80L3QvtCz0L4g0LDRgNCz0YPQvNC10L3RgtC4INC60YrQvCDQutC+0LzQsNC90LTQsNGC0LAg0LfQsCDRgdC/0LjRgNCw0L3QtSDQvdCwINGB0LvQtdC00LXQvdC1IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NgorIzogYnVpbHRpbi9icmFuY2guYzo4MjUKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgdXBzdHJlYW0gb2YgSEVBRCB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgogbXNnc3RyICIiCiAi0KHQu9C10LTQtdC90L7RgtC+INC+0YIg4oCeSEVBROKAnCDQvdC1INC80L7QttC1INC00LAg0LzQsNGF0L3QtSwg0LfQsNGJ0L7RgtC+INGC0L4g0L3QtSDRgdC+0YfQuCDQutGK0Lwg0L3QuNC60L7QuSDQutC70L7QvS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAyCisjOiBidWlsdGluL2JyYW5jaC5jOjgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBoYXMgbm8gdXBzdHJlYW0gaW5mb3JtYXRpb24iCiBtc2dzdHIgItCd0Y/QvNCwINC40L3RhNC+0YDQvNCw0YbQuNGPINC60LvQvtC90YrRgiDigJ4lc+KAnCDQtNCwINGB0LvQtdC00Lgg0L3Rj9C60L7QuSDQtNGA0YPQsyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MTIKLW1zZ2lkICItYSBhbmQgLXIgb3B0aW9ucyB0byAnZ2l0IGJyYW5jaCcgZG8gbm90IG1ha2Ugc2Vuc2Ugd2l0aCBhIGJyYW5jaCBuYW1lIgotbXNnc3RyICLQntC/0YbQuNC40YLQtSDigJ4tYeKAnCDQuCDigJ4tcuKAnCDQvdCwIOKAnmdpdCBicmFuY2jigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80Lgg0YEg0LjQvNC1INC90LAg0LrQu9C+0L0iCisjOiBidWlsdGluL2JyYW5jaC5jOjg0MQorbXNnaWQgIiIKKyJUaGUgLWEsIGFuZCAtciwgb3B0aW9ucyB0byAnZ2l0IGJyYW5jaCcgZG8gbm90IHRha2UgYSBicmFuY2ggbmFtZS5cbiIKKyJEaWQgeW91IG1lYW4gdG8gdXNlOiAtYXwtciAtLWxpc3QgPHBhdHRlcm4+PyIKK21zZ3N0ciAiIgorItCe0L/RhtC40LjRgtC1IOKAni1h4oCcINC4IOKAni1y4oCcINC90LAg4oCeZ2l0IGJyYW5jaOKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCDRgSDQuNC80LUg0L3QsCDQutC70L7QvS5cbiIKKyLQn9GA0L7QsdCy0LDQudGC0LUg0YE6IOKAni1hfC1yIC0tbGlzdCDQqNCQ0JHQm9Ce0J3igJwiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE1CisjOiBidWlsdGluL2JyYW5jaC5jOjg0NQogbXNnaWQgIiIKICJ0aGUgJy0tc2V0LXVwc3RyZWFtJyBvcHRpb24gaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gUGxlYXNlIHVzZSAnLS10cmFjaycgb3IgIgogIictLXNldC11cHN0cmVhbS10bycgaW5zdGVhZC4iCkBAIC04NjgzLDIwICsxMDc5OCw2NiBAQAogItCe0L/RhtC40Y/RgtCwIOKAni0tc2V0LXVwc3RyZWFt4oCcINCy0LXRh9C1INC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCwLiAg0JjQt9C/0L7Qu9C30LLQsNC50YLQtSDigJ4tLXRyYWNr4oCcINC40LvQuCDigJ4tLSIKICJzZXQtdXBzdHJlYW0tdG/igJwiCiAKLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NDUKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTUgYnVpbHRpbi9idW5kbGUuYzoyMworbXNnaWQgImdpdCBidW5kbGUgY3JlYXRlIFs8b3B0aW9ucz5dIDxmaWxlPiA8Z2l0LXJldi1saXN0IGFyZ3M+IgorbXNnc3RyICJnaXQgYnVuZGxlIGNyZWF0ZSBb0J7Qn9Cm0JjQr+KApl0g0KTQkNCZ0Jsg0JDQoNCT0KPQnNCV0J3Qol/Ql9CQX2dpdF9yZXYtbGlzdOKApiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxNiBidWlsdGluL2J1bmRsZS5jOjI4Cittc2dpZCAiZ2l0IGJ1bmRsZSB2ZXJpZnkgWzxvcHRpb25zPl0gPGZpbGU+IgorbXNnc3RyICJnaXQgYnVuZGxlIHZlcmlmeSBb0J7Qn9Cm0JjQr+KApl0g0KTQkNCZ0JvigKYiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTcgYnVpbHRpbi9idW5kbGUuYzozMworbXNnaWQgImdpdCBidW5kbGUgbGlzdC1oZWFkcyA8ZmlsZT4gWzxyZWZuYW1lPi4uLl0iCittc2dzdHIgImdpdCBidW5kbGUgbGlzdC1oZWFkcyDQpNCQ0JnQmyBb0JjQnNCVX9Cd0JBf0KPQmtCQ0JfQkNCi0JXQm+KApl0iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTggYnVpbHRpbi9idW5kbGUuYzozOAorbXNnaWQgImdpdCBidW5kbGUgdW5idW5kbGUgPGZpbGU+IFs8cmVmbmFtZT4uLi5dIgorbXNnc3RyICJnaXQgYnVuZGxlIHVuYnVuZGxlINCk0JDQmdCbIFvQmNCc0JVf0J3QkF/Qo9Ca0JDQl9CQ0KLQldCb4oCmXSIKKworIzogYnVpbHRpbi9idW5kbGUuYzo2NiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMjgKK21zZ2lkICJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIKK21zZ3N0ciAi0LHQtdC3INC40LfQstC10LbQtNCw0L3QtSDQvdCwINC90LDQv9GA0LXQtNGK0LrQsCIKKworIzogYnVpbHRpbi9idW5kbGUuYzo2OCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzAKK21zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgorbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQvdCw0L/RgNC10LTRitC60LAiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjMyCittc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCittc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC90LDQv9GA0LXQtNGK0LrQsCDQstGK0LIg0YTQsNC30LDRgtCwINC90LAg0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0L7QsdC10LrRgtC40YLQtSIKKworIzogYnVpbHRpbi9idW5kbGUuYzo3MyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzUKK21zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCittc2dzdHIgIiIKKyLRgdGK0YnQvtGC0L4g0LTQtdC50YHRgtCy0LjQtSDQutCw0YLQviDQvtC/0YbQuNGP0YLQsCDigJ4tLWFsbC1wcm9ncmVzc+KAnCDQv9GA0Lgg0LjQt9Cy0LXQttC00LDQvdC10YLQviDQvdCwINC90LDQv9GA0LXQtNGK0LrQsCIKKworIzogYnVpbHRpbi9idW5kbGUuYzo5MworbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIGNyZWF0ZSBhIGJ1bmRsZS4iCittc2dzdHIgItCX0LAg0YHRitC30LTQsNCy0LDQvdC10YLQviDQvdCwINC/0YDQsNGC0LrQsCDQtSDQvdC10L7QsdGF0L7QtNC40LzQviDRhdGA0LDQvdC40LvQuNGJ0LUuIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjEwNAorbXNnaWQgImRvIG5vdCBzaG93IGJ1bmRsZSBkZXRhaWxzIgorbXNnc3RyICLQsdC10Lcg0L/QvtC00YDQvtCx0L3QsCDQuNC90YTQvtGA0LzQsNGG0LjRjyDQt9CwINC/0YDQsNGC0LrQuNGC0LUiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG9rYXlcbiIKIG1zZ3N0ciAi0J/RgNCw0YLQutCw0YLQsCDigJ4lc+KAnCDQtSDQvdCw0YDQtdC0XG4iCiAKLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NTgKLW1zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byBjcmVhdGUgYSBidW5kbGUuIgotbXNnc3RyICLQl9CwINGB0YrQt9C00LDQstCw0L3QtdGC0L4g0L3QsCDQv9GA0LDRgtC60LAg0LUg0L3QtdC+0LHRhdC+0LTQuNC80L4g0YXRgNCw0L3QuNC70LjRidC1LiIKLQotIzogYnVpbHRpbi9idW5kbGUuYzo2MgorIzogYnVpbHRpbi9idW5kbGUuYzoxNjAKIG1zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byB1bmJ1bmRsZS4iCiBtc2dzdHIgItCX0LAg0L/RgNC40LXQvNCw0L3QtdGC0L4g0L3QsCDQv9GA0LDRgtC60LAg0LUg0L3QtdC+0LHRhdC+0LTQuNC80L4g0YXRgNCw0L3QuNC70LjRidC1LiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU4NworIzogYnVpbHRpbi9idW5kbGUuYzoxNjggYnVpbHRpbi9yZW1vdGUuYzoxNjA5Cittc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKK21zZ3N0ciAi0L/QvtCy0LXRh9C1INC/0L7QtNGA0L7QsdC90L7RgdGC0LguICDQn9C+0YHRgtCw0LLRjyDRgdC1INC/0YDQtdC0INC/0L7QtNC60L7QvNCw0L3QtNCwIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjE5MCBidWlsdGluL3JlbW90ZS5jOjE2NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKK21zZ3N0ciAi0J3QtdC/0L7Qt9C90LDRgtCwINC/0L7QtNC60L7QvNCw0L3QtNCwOiAlcyIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU5NQogbXNnaWQgIiIKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCA8dHlwZT4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxwYXRoPl0gPG9iamVjdD4iCkBAIC04NzA0LDcgKzEwODY1LDcgQEAKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCDQktCY0JQgfCAtLXRleHRjb252IC0tZmlsdGVycykgWy0tcGF0aD3Qn9Cq0KJdINCe0JHQldCa0KIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1ODgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1OTYKIG1zZ2lkICIiCiAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgogImZpbHRlcnNdIgpAQCAtODcxMiwxNDAgKzEwODczLDE0MCBAQAogImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKICJmaWx0ZXJzXSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYwOQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYxNwogbXNnaWQgIm9ubHkgb25lIGJhdGNoIG9wdGlvbiBtYXkgYmUgc3BlY2lmaWVkIgogbXNnc3RyICLQvNC+0LbQtSDQtNCwINGD0LrQsNC20LXRgtC1INGB0LDQvNC+INC10LTQvdCwINC/0LDQutC10YLQvdCwINC+0L/RhtC40Y8iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MjcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzUKIG1zZ2lkICI8dHlwZT4gY2FuIGJlIG9uZSBvZjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiBtc2dzdHIgIiIKICLQktCY0JTRitGCINC80L7QttC1INC00LAg0LU6IOKAnmJsb2LigJwgKEJMT0IpLCDigJ50cmVl4oCcICjQtNGK0YDQstC+KSwg4oCeY29tbWl04oCcICjQv9C+0LTQsNCy0LDQvdC1KSwgIgogIuKAnnRhZ+KAnCAo0LXRgtC40LrQtdGCKSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYyOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNgogbXNnaWQgInNob3cgb2JqZWN0IHR5cGUiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINCy0LjQtNCwINC90LAg0L7QsdC10LrRgiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYyOQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNwogbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGA0LDQt9C80LXRgNCwINC90LAg0L7QsdC10LrRgiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzMQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzOQogbXNnaWQgImV4aXQgd2l0aCB6ZXJvIHdoZW4gdGhlcmUncyBubyBlcnJvciIKIG1zZ3N0ciAi0LjQt9GF0L7QtCDRgSAwLCDQutC+0LPQsNGC0L4g0L3Rj9C80LAg0LPRgNC10YjQutCwIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjMyCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQwCiBtc2dpZCAicHJldHR5LXByaW50IG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgItGE0L7RgNC80LDRgtC40YDQsNC90L4g0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHRitC00YrRgNC20LDQvdC40LXRgtC+INC90LAg0L7QsdC10LrRgtCwIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjM0CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQyCiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgIiIKICLQtNCwINGB0LUg0YHRgtCw0YDRgtC40YDQsCDQv9GA0L7Qs9GA0LDQvNCw0YLQsCDQt9Cw0LTQsNC00LXQvdCwINCyINC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCedGV4dGNvbnbigJwg0LfQsCDQv9GA0LXQvtCx0YDQsNC30YPQstCw0L3QtSAiCiAi0L3QsCDRgdGK0LTRitGA0LbQsNC90LjQtdGC0L4g0L3QsCDQvtCx0LXQutGC0LAtQkxPQiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NAogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biBmaWx0ZXJzIG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgIiIKICLQtNCwINGB0LUg0YHRgtCw0YDRgtC40YDQsNGCINC/0YDQvtCz0YDQsNC80LjRgtC1INC30LAg0L/RgNC10L7QsdGA0LDQt9GD0LLQsNC90LUg0L3QsCDRgdGK0LTRitGA0LbQsNC90LjQtdGC0L4g0L3QsCDQvtCx0LXQutGC0LjRgtC1LUJMT0IiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzcgZ2l0LXN1Ym1vZHVsZS5zaDo4NTcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDUgZ2l0LXN1Ym1vZHVsZS5zaDo5OTIKIG1zZ2lkICJibG9iIgogbXNnc3RyICLQvtCx0LXQutGCLUJMT0IiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDYKIG1zZ2lkICJ1c2UgYSBzcGVjaWZpYyBwYXRoIGZvciAtLXRleHRjb252Ly0tZmlsdGVycyIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS10ZXh0Y29uduKAnC/igJ4tLWZpbHRlcnPigJwg0LjQt9C40YHQutCy0LDRgiDQv9GK0YIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDAKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDgKIG1zZ2lkICJhbGxvdyAtcyBhbmQgLXQgdG8gd29yayB3aXRoIGJyb2tlbi9jb3JydXB0IG9iamVjdHMiCiBtc2dzdHIgItC/0L7Qt9Cy0L7Qu9GP0LLQsNC90LUg0L3QsCDQvtC/0YbQuNC40YLQtSDigJ4tc+KAnCDQuCDigJ4tdOKAnCDQtNCwINGA0LDQsdC+0YLRj9GCINGBINC/0L7QstGA0LXQtNC10L3QuCDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDkKIG1zZ2lkICJidWZmZXIgLS1iYXRjaCBvdXRwdXQiCiBtc2dzdHIgItCx0YPRhNC10YDQuNGA0LDQvdC1INC90LAg0LjQt9GF0L7QtNCwINC+0YIg4oCeLS1iYXRjaOKAnCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0MworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1MQogbXNnaWQgInNob3cgaW5mbyBhbmQgY29udGVudCBvZiBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC40L3RhNC+0YDQvNCw0YbQuNGPINC4INGB0YrQtNGK0YDQttCw0L3QuNC1INC90LAg0L7QsdC10LrRgtC40YLQtSDQv9C+0LTQsNC00LXQvdC4INC90LAg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQstGF0L7QtCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1NQogbXNnaWQgInNob3cgaW5mbyBhYm91dCBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDQvtCx0LXQutGC0LjRgtC1INC/0L7QtNCw0LTQtdC90Lgg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINCy0YXQvtC0IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjUxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjU5CiBtc2dpZCAiZm9sbG93IGluLXRyZWUgc3ltbGlua3MgKHVzZWQgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2spIgogbXNnc3RyICIiCiAi0YHQu9C10LTQstCw0L3QtSDQvdCwINGB0LjQvNCy0L7Qu9C90LjRgtC1INCy0YDRitC30LrQuCDRgdC+0YfQtdGJ0Lgg0LIg0LTRitGA0LLQvtGC0L4gKNC/0L7Qu9C30LLQsCDRgdC1INGBIOKAni0tYmF0Y2jigJwg0LjQu9C4IOKAni0tIgogImJhdGNoLWNoZWNr4oCcKSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1MworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY2MQogbXNnaWQgInNob3cgYWxsIG9iamVjdHMgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2siCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINCy0YHQuNGH0LrQuCDQvtCx0LXQutGC0Lgg0YEg4oCeLS1iYXRjaOKAnCDQuNC70Lgg4oCeLS1iYXRjaC1jaGVja+KAnCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY2MwogbXNnaWQgImRvIG5vdCBvcmRlciAtLWJhdGNoLWFsbC1vYmplY3RzIG91dHB1dCIKIG1zZ3N0ciAi0LHQtdC3INC/0L7QtNGA0LXQttC00LDQvdC1INC90LAg0LjQt9GF0L7QtNCwINC+0YIg4oCeLS1iYXRjaC1hbGwtb2JqZWN0c+KAnCIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTIKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEzCiBtc2dpZCAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCA8YXR0cj4uLi5dIFstLV0gPHBhdGhuYW1lPi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCDQkNCi0KDQmNCR0KPQouKApl0gWy0tXSDQn9Cq0KLigKYiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEzCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxNAogbXNnaWQgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IDxhdHRyPi4uLl0iCiBtc2dzdHIgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8INCQ0KLQoNCY0JHQo9Ci4oCmXSIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjAKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxCiBtc2dpZCAicmVwb3J0IGFsbCBhdHRyaWJ1dGVzIHNldCBvbiBmaWxlIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQstGB0LjRh9C60Lgg0LDRgtGA0LjQsdGD0YLQuCwg0LfQsNC00LDQtNC10L3QuCDQstGK0YDRhdGDINGE0LDQudC7IgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMQorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjIKIG1zZ2lkICJ1c2UgLmdpdGF0dHJpYnV0ZXMgb25seSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAi0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRhNCw0LnQu9CwIOKAni5naXRhdHRyaWJ1dGVz4oCcINGB0LDQvNC+INC+0YIg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIyIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjQgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNSBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAyCiBtc2dpZCAicmVhZCBmaWxlIG5hbWVzIGZyb20gc3RkaW4iCiBtc2dzdHIgItC40LfRh9C40YLQsNC90LUg0L3QsCDQuNC80LXQvdCw0YLQsCDQvdCwINGE0LDQudC70L7QstC10YLQtSDQvtGCINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LLRhdC+0LQiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjI0IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjYKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjI1IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjcKIG1zZ2lkICJ0ZXJtaW5hdGUgaW5wdXQgYW5kIG91dHB1dCByZWNvcmRzIGJ5IGEgTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAi0YDQsNC30LTQtdC70Y/QvdC1INC90LAg0LLRhdC+0LTQvdC40YLQtSDQuCDQuNC30YXQvtC00L3QuNGC0LUg0LfQsNC/0LjRgdC4INGBINC90YPQu9C10LLQuNGPINC30L3QsNC6IOKAnk5VTOKAnCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMCBidWlsdGluL2NoZWNrb3V0LmM6MTIzNCBidWlsdGluL2djLmM6NTE3Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDk1CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDM1IGJ1aWx0aW4vZ2MuYzo1MzcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDYKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgItCx0LXQtyDQv9C+0LrQsNC30LLQsNC90LUg0L3QsCDQvdCw0L/RgNC10LTRitC60LAiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjgKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjkKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBpbnB1dCBwYXRocyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0L3QtdGB0YrQstC/0LDQtNCw0YnQuNGC0LUg0L/RitGC0LjRidCwIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjMwCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjMxCiBtc2dpZCAiaWdub3JlIGluZGV4IHdoZW4gY2hlY2tpbmciCiBtc2dzdHIgItC/0YDQtdGB0LrQsNGH0LDQvdC1INC90LAg0LjQvdC00LXQutGB0LAg0L/RgNC4INC/0YDQvtCy0LXRgNC60LDRgtCwIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1OQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjAKIG1zZ2lkICJjYW5ub3Qgc3BlY2lmeSBwYXRobmFtZXMgd2l0aCAtLXN0ZGluIgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLXN0ZGlu4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDQuNC80LXQvdCwINC90LAg0L/RitGC0LjRidCwIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MgorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjMKIG1zZ2lkICIteiBvbmx5IG1ha2VzIHNlbnNlIHdpdGggLS1zdGRpbiIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLXrigJwg0LjQt9C40YHQutCy0LAg4oCeLS1zdGRpbuKAnCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjQKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY1CiBtc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQiCiBtc2dzdHIgItC90LUg0LUg0LfQsNC00LDQtNC10L0g0L/RitGCIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2OAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjkKIG1zZ2lkICItLXF1aWV0IGlzIG9ubHkgdmFsaWQgd2l0aCBhIHNpbmdsZSBwYXRobmFtZSIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1xdWlldOKAnCDQuNC30LjRgdC60LLQsCDQtNCwINC1INC/0L7QtNCw0LTQtdC9INGC0L7Rh9C90L4g0LXQtNC40L0g0L/RitGCIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzEKIG1zZ2lkICJjYW5ub3QgaGF2ZSBib3RoIC0tcXVpZXQgYW5kIC0tdmVyYm9zZSIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS1xdWlldOKAnCDQuCDigJ4tLXZlcmJvc2XigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTczCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3NAogbXNnaWQgIi0tbm9uLW1hdGNoaW5nIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXZlcmJvc2UiCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tbm9uLW1hdGNoaW5n4oCcINC40LfQuNGB0LrQstCwIOKAni0tdmVyYm9zZeKAnCIKIApAQCAtODg2Niw1NCArMTEwMjcsNTQgQEAKIG1zZ2lkICJubyBjb250YWN0cyBzcGVjaWZpZWQiCiBtc2dzdHIgItC90LUg0YHQsCDRg9C60LDQt9Cw0L3QuCDQutC+0L3RgtCw0LrRgtC4IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTI4CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTMxCiBtc2dpZCAiZ2l0IGNoZWNrb3V0LWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCBjaGVja291dC1pbmRleCBb0J7Qn9Cm0JjQr+KApl0gWy0tXSBb0KTQkNCZ0JvigKZdIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTQ1CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTQ4CiBtc2dpZCAic3RhZ2Ugc2hvdWxkIGJlIGJldHdlZW4gMSBhbmQgMyBvciBhbGwiCiBtc2dzdHIgItC10YLQsNC/0YrRgiDRgtGA0Y/QsdCy0LAg0LTQsCDQtSDigJ4x4oCcLCDigJ4y4oCcLCDigJ4z4oCcINC40LvQuCDigJ5hbGzigJwgKNCy0YHQuNGH0LrQuCkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjQKIG1zZ2lkICJjaGVjayBvdXQgYWxsIGZpbGVzIGluIHRoZSBpbmRleCIKIG1zZ3N0ciAi0LjQt9GC0LXQs9C70Y/QvdC1INC90LAg0LLRgdC40YfQutC4INGE0LDQudC70L7QstC1INCyINC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYyCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY1CiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGV4aXN0aW5nIGZpbGVzIgogbXNnc3RyICLQv9GA0LXQt9Cw0L/QuNGB0LLQsNC90LUg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUsINC00L7RgNC4INC4INC00LAg0YHRitGJ0LXRgdGC0LLRg9Cy0LDRgiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NwogbXNnaWQgIm5vIHdhcm5pbmcgZm9yIGV4aXN0aW5nIGZpbGVzIGFuZCBmaWxlcyBub3QgaW4gaW5kZXgiCiBtc2dzdHIgItCx0LXQtyDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNGPINC/0YDQuCDQu9C40L/RgdCy0LDRidC4INGE0LDQudC70L7QstC1INC4INGE0LDQudC70L7QstC1INC90LUg0LIg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjkKIG1zZ2lkICJkb24ndCBjaGVja291dCBuZXcgZmlsZXMiCiBtc2dzdHIgItCx0LXQtyDQuNC30YLQtdCz0LvRj9C90LUg0L3QsCDQvdC+0LLQuCDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MQogbXNnaWQgInVwZGF0ZSBzdGF0IGluZm9ybWF0aW9uIGluIHRoZSBpbmRleCBmaWxlIgogbXNnc3RyICLQvtCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwINC40L3RhNC+0YDQvNCw0YbQuNGP0YLQsCDQv9C+0LvRg9GH0LXQvdCwINGH0YDQtdC3IOKAnnN0YXTigJwg0LfQsCDRhNCw0LnQu9C+0LLQtdGC0LUg0LIg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzUKIG1zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgItC40LfRh9C40YLQsNC90LUg0L3QsCDQv9GK0YLQuNGJ0LDRgtCwINC+0YIg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQstGF0L7QtCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NwogbXNnaWQgIndyaXRlIHRoZSBjb250ZW50IHRvIHRlbXBvcmFyeSBmaWxlcyIKIG1zZ3N0ciAi0LfQsNC/0LjRgdCy0LDQvdC1INC90LAg0YHRitC00YrRgNC20LDQvdC40LXRgtC+INCy0YrQsiDQstGA0LXQvNC10L3QvdC4INGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc1IGJ1aWx0aW4vY29sdW1uLmM6MzEKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzY4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzcxCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1MwotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY2OAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OCBidWlsdGluL2NvbHVtbi5jOjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4NSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NzkKIG1zZ2lkICJzdHJpbmciCiBtc2dzdHIgItCd0JjQlyIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NgorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OQogbXNnaWQgIndoZW4gY3JlYXRpbmcgZmlsZXMsIHByZXBlbmQgPHN0cmluZz4iCiBtc2dzdHIgItC/0YDQuCDRgdGK0LfQtNCw0LLQsNC90LXRgtC+INC90LAg0L3QvtCy0Lgg0YTQsNC50LvQvtCy0LUg0LTQsCDRgdC1INC00L7QsdCw0LLRjyDQv9GA0LXRhNC40LrRgdCwINCd0JjQlyIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE4MQogbXNnaWQgImNvcHkgb3V0IHRoZSBmaWxlcyBmcm9tIG5hbWVkIHN0YWdlIgogbXNnc3RyICLQutC+0L/QuNGA0LDQvdC1INC90LAg0YTQsNC50LvQvtCy0LXRgtC1INC+0YIg0YLQvtCy0LAg0YHRitGB0YLQvtGP0L3QuNC1INC90LAg0YHQu9C40LLQsNC90LUiCiAKQEAgLTg5MjUsMTA2ICsxMTA4NiwxNjAgQEAKIG1zZ2lkICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gWzxicmFuY2g+XSAtLSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVja291dCBb0J7Qn9Cm0JjQr+KApl0gW9Ca0JvQntCdXSAtLSDQpNCQ0JnQm+KApiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE0NCBidWlsdGluL2NoZWNrb3V0LmM6MTc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzcKK21zZ2lkICJnaXQgc3dpdGNoIFs8b3B0aW9ucz5dIFs8YnJhbmNoPl0iCittc2dzdHIgImdpdCBzd2l0Y2ggW9Ce0J/QptCY0K/igKZdINCa0JvQntCdIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDIKK21zZ2lkICJnaXQgcmVzdG9yZSBbPG9wdGlvbnM+XSBbLS1zb3VyY2U9PGJyYW5jaD5dIDxmaWxlPi4uLiIKK21zZ3N0ciAiZ2l0IHJlc3RvcmUgW9Ce0J/QptCY0K/igKZdIFstLXNvdXJjZT3QmtCb0J7QnV0g0KTQkNCZ0JvigKYiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzUgYnVpbHRpbi9jaGVja291dC5jOjIxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBvdXIgdmVyc2lvbiIKIG1zZ3N0ciAi0LLQsNGI0LDRgtCwINCy0LXRgNGB0LjRjyDQu9C40L/RgdCy0LAg0LIg0L/RitGC0Y8g4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDYgYnVpbHRpbi9jaGVja291dC5jOjE3OQorIzogYnVpbHRpbi9jaGVja291dC5jOjE3NyBidWlsdGluL2NoZWNrb3V0LmM6MjE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIHRoZWlyIHZlcnNpb24iCiBtc2dzdHIgItGH0YPQttC00LDRgtCwINCy0LXRgNGB0LjRjyDQu9C40L/RgdCy0LAg0LIg0L/RitGC0Y8g4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgYWxsIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAi0L3Rj9C60L7RjyDQvtGCINC90LXQvtCx0YXQvtC00LjQvNC40YLQtSDQstC10YDRgdC40Lgg0LvQuNC/0YHQstCwINCyINC/0YrRgtGPIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjA2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAi0L3Rj9C60L7RjyDQvtGCINC90LXQvtCx0YXQvtC00LjQvNC40YLQtSDQstC10YDRgdC40Lgg0LvQuNC/0YHQstCwINCyINC/0YrRgtGPIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjI0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJzogY2Fubm90IG1lcmdlIgogbXNnc3RyICLQv9GK0YLRj9GCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdC70Y/QvSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI0MAorIzogYnVpbHRpbi9jaGVja291dC5jOjI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKIG1zZ3N0ciAi0KDQtdC30YPQu9GC0LDRgtGK0YIg0LfQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHQu9GP0L0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjIgYnVpbHRpbi9jaGVja291dC5jOjI2NSBidWlsdGluL2NoZWNrb3V0LmM6MjY4Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjcxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlY3JlYXRlZCAlZCBtZXJnZSBjb25mbGljdCIKK21zZ2lkX3BsdXJhbCAiUmVjcmVhdGVkICVkIG1lcmdlIGNvbmZsaWN0cyIKK21zZ3N0clswXSAi0J/RgNC10YHRitC30LTQsNC00LXQvSDQtSAlZCDQutC+0L3RhNC70LjQutGCINC/0YDQuCDRgdC70LjQstCw0L3QtSIKK21zZ3N0clsxXSAi0J/RgNC10YHRitC30LTQsNC00LXQvdC4INGB0LAgJWQg0LrQvtC90YTQu9C40LrRgtCwINC/0YDQuCDRgdC70LjQstCw0L3QtSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICJVcGRhdGVkICVkIHBhdGggZnJvbSAlcyIKK21zZ2lkX3BsdXJhbCAiVXBkYXRlZCAlZCBwYXRocyBmcm9tICVzIgorbXNnc3RyWzBdICLQntCx0L3QvtCy0LXQvSDQtSAlZCDQv9GK0YIg0L7RgiDigJ4lc+KAnCIKK21zZ3N0clsxXSAi0J7QsdC90L7QstC10L3QuCDRgdCwICVkINC/0YrRgtGPINC+0YIg4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXBkYXRlZCAlZCBwYXRoIGZyb20gdGhlIGluZGV4IgorbXNnaWRfcGx1cmFsICJVcGRhdGVkICVkIHBhdGhzIGZyb20gdGhlIGluZGV4IgorbXNnc3RyWzBdICLQntCx0L3QvtCy0LXQvSDQtSAlZCDQv9GK0YIg0L7RgiDQuNC90LTQtdC60YHQsCIKK21zZ3N0clsxXSAi0J7QsdC90L7QstC10L3QuCDRgdCwICVkINC/0YrRgtGPINC+0YIg0LjQvdC00LXQutGB0LAiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MTIgYnVpbHRpbi9jaGVja291dC5jOjQxNSBidWlsdGluL2NoZWNrb3V0LmM6NDE4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKLW1zZ3N0ciAi0J7Qv9GG0LjRj9GC0LAg4oCeJXPigJwg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNCwINGBINC+0LHQvdC+0LLRj9Cy0LDQvdC10YLQviDQvdCwINC/0YrRgtC40YnQsCIKK21zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeJXPigJwg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNCwINGBINC+0LHQvdC+0LLRj9Cy0LDQvdC10YLQviDQvdCwINC/0YrRgtC40YnQsCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI3NCBidWlsdGluL2NoZWNrb3V0LmM6Mjc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDI1IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgotbXNnc3RyICLQntC/0YbQuNGP0YLQsCDigJ4lc+KAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg4oCeJXPigJwiCittc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAniVz4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI4MAorIzogYnVpbHRpbi9jaGVja291dC5jOjQzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS4iCiBtc2dzdHIgIiIKICLQndC10LLRitC30LzQvtC20L3QviDQtSDQtdC00L3QvtCy0YDQtdC80LXQvdC90L4g0LTQsCDQvtCx0L3QvtCy0Y/QstCw0YLQtSDQv9GK0YLQuNGJ0LAg0Lgg0LTQsCDQv9GA0LXQvNC40L3QtdGC0LUg0LrRitC8INC60LvQvtC90LAg4oCeJXPigJwuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MzQ5IGJ1aWx0aW4vY2hlY2tvdXQuYzozNTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVpdGhlciAnJXMnIG9yICclcycgaXMgc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INC1INGD0LrQsNC30LDQvdC+INC90LjRgtC+IOKAniVz4oCcLCDQvdC40YLQviDigJ4lc+KAnCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIG11c3QgYmUgdXNlZCB3aGVuICclcycgaXMgbm90IHNwZWNpZmllZCIKK21zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeJXPigJwg0LUg0LfQsNC00YrQu9C20LjRgtC10LvQvdCwLCDQutC+0LPQsNGC0L4g4oCeJXPigJwg0L3QtSDQtSDQt9Cw0LTQsNC00LXQvdCwIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDQ1IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBvciAnJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCittc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAniUzJHPigJwg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNCwINC60LDQutGC0L4g0YEg4oCeJTEkc+KAnCwg0YLQsNC60LAg0Lgg0YEg4oCeJTIkc+KAnCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjUwOSBidWlsdGluL2NoZWNrb3V0LmM6NTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBpcyB1bm1lcmdlZCIKIG1zZ3N0ciAi0L/RitGC0Y/RgiDigJ4lc+KAnCDQvdC1INC1INGB0LvRj9GCIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjA4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjgyIGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MTAzCiBtc2dpZCAieW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCiBtc2dzdHIgItC/0YrRgNCy0L4g0YLRgNGP0LHQstCwINC00LAg0LrQvtGA0LjQs9C40YDQsNGC0LUg0LjQvdC00LXQutGB0LAg0YHQuCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc0NQorIzogYnVpbHRpbi9jaGVja291dC5jOjczMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IGNvbnRpbnVlIHdpdGggc3RhZ2VkIGNoYW5nZXMgaW4gdGhlIGZvbGxvd2luZyBmaWxlczpcbiIKKyIlcyIKK21zZ3N0ciAiIgorItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQvtC00YrQu9C20Lgg0YEg0L/RgNC+0LzQtdC90Lgg0LIg0YHQu9C10LTQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSwg0LrQvtC40YLQviDRgdCwINC00L7QsdCw0LLQtdC90Lgg0LIgIgorItC40L3QtNC10LrRgdCwOlxuIgorIiVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnOiAlc1xuIgogbXNnc3RyICLQltGD0YDQvdCw0LvRitGCINC90LAg0YPQutCw0LfQsNGC0LXQu9C40YLQtSDQt9CwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQvtGB0LvQtdC00Lg6ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3ODYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4NzcKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCIKIG1zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQsiDQvNC+0LzQtdC90YLQsCDRgdC+0YfQuCDQutGK0LwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTAgYnVpbHRpbi9jbG9uZS5jOjY5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjg4MSBidWlsdGluL2Nsb25lLmM6NzE2CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBIRUFEIgogbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtCx0L3QvtCy0LXQvSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5NAorIzogYnVpbHRpbi9jaGVja291dC5jOjg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLQl9Cw0L3Rg9C70Y/QstCw0L3QtSDQvdCwINC60LvQvtC90LAg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5NworIzogYnVpbHRpbi9jaGVja291dC5jOjg4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJBbHJlYWR5IG9uICclcydcbiIKIG1zZ3N0ciAi0JLQtdGH0LUg0YHRgtC1INC90LAg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgwMQorIzogYnVpbHRpbi9jaGVja291dC5jOjg5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhbmQgcmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAi0J/RgNC10LzQuNC90LDQstCw0L3QtSDQutGK0Lwg0LrQu9C+0L3QsCDigJ4lc+KAnCDQuCDQt9Cw0L3Rg9C70Y/QstCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC40YLQtVxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODAzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODk0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgItCf0YDQtdC80LjQvdCw0YXRgtC1INC60YrQvCDQvdC+0LLQuNGPINC60LvQvtC9IOKAniVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MDUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKIG1zZ3N0ciAi0J/RgNC10LzQuNC90LDRhdGC0LUg0LrRitC8INC60LvQvtC90LAg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjg1NgorIzogYnVpbHRpbi9jaGVja291dC5jOjk0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgLi4uIGFuZCAlZCBtb3JlLlxuIgogbXNnc3RyICLigKYg0Lgg0L7RidC1ICVkLlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODYyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtOTA0Niw3ICsxMTI2MSw3IEBACiAiXG4iCiAiJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjg4MQorIzogYnVpbHRpbi9jaGVja291dC5jOjk3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8ga2VlcCBpdCBieSBjcmVhdGluZyBhIG5ldyBicmFuY2gsIHRoaXMgbWF5IGJlIGEgZ29vZCB0aW1lXG4iCkBAIC05MDY0LDE3MyArMTEyNzksMjU0IEBACiAi0JDQutC+INCy0YHQtSDQv9Cw0Log0LjRgdC60LDRgtC1INC00LAg0LfQsNC/0LDQt9C40YLQtSDRgtCw0LfQuCDQv9GA0L7QvNGP0L3QsCDRh9GA0LXQtyDRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDQutC70L7QvSxcbiIKICLRgdC10LPQsCDQtSDQvdCw0Lkt0L/QvtC00YXQvtC00Y/RidC40Y/RgiDQt9CwINGC0L7QstCwINGH0YDQtdC3INC60L7QvNCw0L3QtNCw0YLQsDpcbiIKICJcbiIKLSIgZ2l0IGJyYW5jaCDQmNCc0JVf0J3QkF/QndCe0JLQmNCvX9Ca0JvQntCdICVzXG4iCisiICAgIGdpdCBicmFuY2gg0JjQnNCVX9Cd0JBf0J3QntCS0JjQr1/QmtCb0J7QnSAlc1xuIgogIlxuIgogbXNnc3RyWzFdICIiCiAi0JDQutC+INCy0YHQtSDQv9Cw0Log0LjRgdC60LDRgtC1INC00LAg0LfQsNC/0LDQt9C40YLQtSDRgtC10LfQuCDQv9GA0L7QvNC10L3QuCDRh9GA0LXQtyDRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDQutC70L7QvSxcbiIKICLRgdC10LPQsCDQtSDQvdCw0Lkt0L/QvtC00YXQvtC00Y/RidC40Y/RgiDQt9CwINGC0L7QstCwINGH0YDQtdC3INC60L7QvNCw0L3QtNCw0YLQsDpcbiIKICJcbiIKLSIgZ2l0IGJyYW5jaCDQmNCc0JVf0J3QkF/QndCe0JLQmNCvX9Ca0JvQntCdICVzXG4iCisiICAgIGdpdCBicmFuY2gg0JjQnNCVX9Cd0JBf0J3QntCS0JjQr1/QmtCb0J7QnSAlc1xuIgogIlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTEzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwNwogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgItCy0YrRgtGA0LXRiNC90LAg0LPRgNC10YjQutCwINC/0YDQuCDQvtCx0YXQvtC20LTQsNC90LXRgtC+INC90LAg0LLQtdGA0YHQuNC40YLQtSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjkxNworIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTEKIG1zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKIG1zZ3N0ciAi0J/RgNC10LTQuCDRgtC+0LLQsCDigJ5IRUFE4oCcINGB0L7Rh9C10YjQtSDQutGK0LwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NDUgYnVpbHRpbi9jaGVja291dC5jOjExNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDUxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjg2CiBtc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKLW1zZ3N0ciAi0JIg0LzQvtC80LXQvdGC0LAg0YHRgtC1INC90LAg0LrQu9C+0L0sINC60L7QudGC0L4g0L/RgNC10LTRgdGC0L7QuCDQtNCwINCx0YrQtNC1INGB0YrQt9C00LDQtNC10L0iCittc2dzdHIgItCSINC80L7QvNC10L3RgtCwINGB0YLQtSDQvdCwINC60LvQvtC9LCDQutC+0LnRgtC+INCy0YHQtSDQvtGJ0LUg0L3QtSDQtSDRgdGK0LfQtNCw0LTQtdC9IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNzgKK21zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQiCittc2dzdHIgItC+0YfQsNC60LLQsCDRgdC1INGB0LDQvNC+INC10LTQuNC9INGD0LrQsNC30LDRgtC10LsiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgotbXNnc3RyICLQvtGH0LDQutCy0LDRiNC1INGB0LUg0LXQtNC40L0g0YPQutCw0LfQsNGC0LXQuywg0LAg0YHRgtC1INC/0L7QtNCw0LvQuCAlZC4iCittc2dzdHIgItC+0YfQsNC60LLQsCDRgdC1INC10LTQuNC9INGD0LrQsNC30LDRgtC10LssINCwINGB0YLQtSDQv9C+0LTQsNC70LggJWQuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNyBidWlsdGluL3dvcmt0cmVlLmM6Mjg5IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyInJXMnIGNvdWxkIGJlIGJvdGggYSBsb2NhbCBmaWxlIGFuZCBhIHRyYWNraW5nIGJyYW5jaC5cbiIKKyJQbGVhc2UgdXNlIC0tIChhbmQgb3B0aW9uYWxseSAtLW5vLWd1ZXNzKSB0byBkaXNhbWJpZ3VhdGUiCittc2dzdHIgIiIKKyLigJ4lc+KAnCDQvNC+0LbQtSDQtNCwINC1INC60LDQutGC0L4g0LvQvtC60LDQu9C10L0g0YTQsNC50LssINGC0LDQutCwINC4INGB0LvQtdC00Y/RiSDQutC70L7QvS4gINCX0LAg0YPRgtC+0YfQvdGP0LLQsNC90LVcbiIKKyLQv9C+0LvQt9Cy0LDQudGC0LUg0YDQsNC30LTQtdC70LjRgtC10LvRjyDigJ4tLeKAnCAo0Lgg0LXQstC10L3RgtGD0LDQu9C90L4g0L7Qv9GG0LjRj9GC0LAg4oCeLS1uby1ndWVzc+KAnCkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQ1IGJ1aWx0aW4vd29ya3RyZWUuYzoyOTAgYnVpbHRpbi93b3JrdHJlZS5jOjQ1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZTogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INGD0LrQsNC30LDRgtC10Ls6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTggYnVpbHRpbi9jaGVja291dC5jOjE2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgogbXNnc3RyICLRg9C60LDQt9Cw0YLQtdC70Y/RgiDQvdC1INGB0L7Rh9C4INC60YrQvCDQvtCx0LXQutGCLdC00YrRgNCy0L46ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3NQorIzogYnVpbHRpbi9jaGVja291dC5jOjEzMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSBicmFuY2ggaXMgZXhwZWN0ZWQsIGdvdCB0YWcgJyVzJyIKK21zZ3N0ciAi0L7Rh9Cw0LrQstCwINGB0LUg0LrQu9C+0L0sINCwINC90LUg0LXRgtC40LrQtdGCIOKAlCDigJ4lc+KAnCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSBicmFuY2ggaXMgZXhwZWN0ZWQsIGdvdCByZW1vdGUgYnJhbmNoICclcyciCittc2dzdHIgItC+0YfQsNC60LLQsCDRgdC1INC70L7QutCw0LvQtdC9LCDQsCDQvdC1INC+0YLQtNCw0LvQtdGH0LXQvSDQutC70L7QvSDigJQg4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzA4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImEgYnJhbmNoIGlzIGV4cGVjdGVkLCBnb3QgJyVzJyIKK21zZ3N0ciAi0L7Rh9Cw0LrQstCwINGB0LUg0LrQu9C+0L0sINCwINC90LUg4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzExCisjLCBjLWZvcm1hdAorbXNnaWQgImEgYnJhbmNoIGlzIGV4cGVjdGVkLCBnb3QgY29tbWl0ICclcyciCittc2dzdHIgItC+0YfQsNC60LLQsCDRgdC1INC60LvQvtC9LCDQsCDQvdC1INC/0L7QtNCw0LLQsNC90LUg4oCUIOKAniVz4oCcIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMyNworbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCB3aGlsZSBtZXJnaW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgbWVyZ2UgLS1xdWl0XCIgb3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorbXNnc3RyICIiCisi0L/QviDQstGA0LXQvNC1INC90LAg0YHQu9C40LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINC/0YDQtdC80LjQvdC10YLQtSDQutGK0Lwg0LTRgNGD0LMg0LrQu9C+0L0uXG4iCisi0J/RgNC+0LHQstCw0LnRgtC1INGBIOKAnmdpdCBtZXJnZSAtLXF1aXTigJwg0LjQu9C4IOKAnmdpdCB3b3JrdHJlZSBhZGTigJwuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMzMQorbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb25cbiIKKyJDb25zaWRlciBcImdpdCBhbSAtLXF1aXRcIiBvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCittc2dzdHIgIiIKKyLQv9C+INCy0YDQtdC80LUg0L3QsCDQv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDQv9C+0YDQtdC00LjRhtCwINC+0YIg0LrRgNGK0L/QutC4INC90LUg0LzQvtC20LUg0LTQsCDQv9GA0LXQvNC40L3QtdGC0LUg0LrRitC8INC00YDRg9CzICIKKyLQutC70L7QvS5cbiIKKyLQn9GA0L7QsdCy0LDQudGC0LUg0YEg4oCeZ2l0IGFtIC0tcXVpdOKAnCDQuNC70Lgg4oCeZ2l0IHdvcmt0cmVlIGFkZOKAnC4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzM1Cittc2dpZCAiIgorImNhbm5vdCBzd2l0Y2ggYnJhbmNoIHdoaWxlIHJlYmFzaW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgcmViYXNlIC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorItC/0L4g0LLRgNC10LzQtSDQvdCwINC/0YDQtdCx0LDQt9C40YDQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINC/0YDQtdC80LjQvdC10YLQtSDQutGK0Lwg0LTRgNGD0LMg0LrQu9C+0L0uXG4iCisi0J/RgNC+0LHQstCw0LnRgtC1INGBIOKAnmdpdCByZWJhc2UgLS1xdWl04oCcINC40LvQuCDigJ5naXQgd29ya3RyZWUgYWRk4oCcLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMzkKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgY2hlcnJ5LXBpY2tpbmdcbiIKKyJDb25zaWRlciBcImdpdCBjaGVycnktcGljayAtLXF1aXRcIiBvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCittc2dzdHIgIiIKKyLQv9C+INCy0YDQtdC80LUg0L3QsCDQvtGC0LHQuNGA0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QuNGPINC90LUg0LzQvtC20LUg0LTQsCDQv9GA0LXQvNC40L3QtdGC0LUg0LrRitC8INC00YDRg9CzINC60LvQvtC9LlxuIgorItCf0YDQvtCx0LLQsNC50YLQtSDRgSDigJ5naXQgY2hlcnJ5LXBpY2sgLS1xdWl04oCcINC40LvQuCDigJ5naXQgd29ya3RyZWUgYWRk4oCcLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNDMKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgcmV2ZXJ0aW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgcmV2ZXJ0IC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorItC/0L4g0LLRgNC10LzQtSDQvdCwINC+0YLQvNGP0L3QsCDQvdCwINC/0L7QtNCw0LLQsNC90LjRjyDQvdC1INC80L7QttC1INC00LAg0L/RgNC10LzQuNC90LXRgtC1INC60YrQvCDQtNGA0YPQsyDQutC70L7QvS5cbiIKKyLQn9GA0L7QsdCy0LDQudGC0LUg0YEg4oCeZ2l0IHJldmVydCAtLXF1aXTigJwg0LjQu9C4IOKAnmdpdCB3b3JrdHJlZSBhZGTigJwuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM0NworbXNnaWQgInlvdSBhcmUgc3dpdGNoaW5nIGJyYW5jaCB3aGlsZSBiaXNlY3RpbmciCittc2dzdHIgItC/0YDQtdC80LjQvdCw0LLQsNC90LUg0LrRitC8INC00YDRg9CzINC60LvQvtC9INC/0L4g0LLRgNC10LzQtSDQvdCwINC00LLQvtC40YfQvdC+INGC0YrRgNGB0LXQvdC1IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1NAogbXNnaWQgInBhdGhzIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICLQt9Cw0LTQsNCy0LDQvdC10YLQviDQvdCwINC/0YrRgiDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80L4g0YEg0L/RgNC10LzQuNC90LDQstCw0L3QtdGC0L4g0L7RgiDQtdC00LjQvSDQutC70L7QvSDQutGK0Lwg0LTRgNGD0LMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTc4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTgyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1NyBidWlsdGluL2NoZWNrb3V0LmM6MTM2MSBidWlsdGluL2NoZWNrb3V0LmM6MTM2NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4lc+KAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg0L/RgNC10LzQuNC90LDQstCw0L3QtdGC0L4g0L7RgiDQtdC00LjQvSDQutC70L7QvSDQutGK0Lwg0LTRgNGD0LMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTg2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTg5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTk0Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5NworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNjkgYnVpbHRpbi9jaGVja291dC5jOjEzNzIgYnVpbHRpbi9jaGVja291dC5jOjEzNzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzgwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4lc+KAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjAyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM4MgorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGNhbm5vdCB0YWtlIDxzdGFydC1wb2ludD4iCittc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAniVz4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgdGK0YEg0LfQsNC00LDQstCw0L3QtdGC0L4g0L3QsCDQndCQ0KfQkNCb0J4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICIiCiAi0JfQsCDQtNCwINC/0YDQtdC80LjQvdC10YLQtSDQutGK0Lwg0LrQu9C+0L0sINC/0L7QtNCw0LnRgtC1INGD0LrQsNC30LDRgtC10LssINC60L7QudGC0L4g0YHQvtGH0Lgg0LrRitC8INC/0L7QtNCw0LLQsNC90LUuICDigJ4lc+KAnCAiCiAi0L3QtSDQtSDRgtCw0LrRitCyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIzNSBidWlsdGluL2NoZWNrb3V0LmM6MTIzNyBidWlsdGluL2Nsb25lLmM6MTE5Ci0jOiBidWlsdGluL3JlbW90ZS5jOjE2OSBidWlsdGluL3JlbW90ZS5jOjE3MSBidWlsdGluL3dvcmt0cmVlLmM6NDg4Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkwCi1tc2dpZCAiYnJhbmNoIgotbXNnc3RyICLQutC70L7QvSIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzk3Cittc2dpZCAibWlzc2luZyBicmFuY2ggb3IgY29tbWl0IGFyZ3VtZW50IgorbXNnc3RyICLQu9C40L/RgdCy0LAg0LDRgNCz0YPQvNC10L3RgiDigJQg0LrQu9C+0L0g0LjQu9C4INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjM2Ci1tc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCi1tc2dzdHIgItGB0YrQt9C00LDQstCw0L3QtSDQuCDQv9GA0LXQvNC40L3QsNCy0LDQvdC1INC60YrQvCDQvdC+0LIg0LrQu9C+0L0iCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjM4Ci1tc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKLW1zZ3N0ciAi0YHRitC30LTQsNCy0LDQvdC1L9C30LDQvdGD0LvRj9Cy0LDQvdC1INC90LAg0LrQu9C+0L0g0Lgg0L/RgNC10LzQuNC90LDQstCw0L3QtSDQutGK0Lwg0L3QtdCz0L4iCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjM5Ci1tc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKLW1zZ3N0ciAi0YHRitC30LTQsNCy0LDQvdC1INC90LAg0LbRg9GA0L3QsNC7INC90LAg0YPQutCw0LfQsNGC0LXQu9C40YLQtSDQt9CwINC90L7QsiDQutC70L7QvSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDAgYnVpbHRpbi93b3JrdHJlZS5jOjQ5MgotbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKLW1zZ3N0ciAi0L7RgtC00LXQu9GP0L3QtSDQvdCwINGD0LrQsNC30LDRgtC10LvRjyDigJ5IRUFE4oCcINC60YrQvCDRg9C60LDQt9Cw0L3QvtGC0L4g0L/QvtC00LDQstCw0L3QtSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDEKLW1zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKLW1zZ3N0ciAi0LfQsNC00LDQstCw0L3QtSDQvdCwINC60L7QuSDQutC70L7QvSDQsdC40LLQsCDRgdC70LXQtNC10L0g0L/RgNC4INGB0YrQt9C00LDQstCw0L3QtdGC0L4g0L3QsCDQvdC+0LLQuNGPINC60LvQvtC9IgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0MwotbXNnaWQgIm5ldy1icmFuY2giCi1tc2dzdHIgItCd0J7Qkl/QmtCb0J7QnSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDMKLW1zZ2lkICJuZXcgdW5wYXJlbnRlZCBicmFuY2giCi1tc2dzdHIgItC90L7QsiDQutC70L7QvSDQsdC10Lcg0YDQvtC00LjRgtC10LsiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQ1Ci1tc2dpZCAiY2hlY2tvdXQgb3VyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgotbXNnc3RyICLQuNC30YLQtdCz0LvRj9C90LUg0L3QsCDQstCw0YjQsNGC0LAg0LLQtdGA0YHQuNGPINC90LAg0L3QtdGB0LvQtdGC0LjRgtC1INGE0LDQudC70L7QstC1IgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0OAotbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgotbXNnc3RyICLQuNC30YLQtdCz0LvRj9C90LUg0L3QsCDRh9GD0LbQtNCw0YLQsCDQstC10YDRgdC40Y8g0L3QsCDQvdC10YHQu9C10YLQuNGC0LUg0YTQsNC50LvQvtCy0LUiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjUwCi1tc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCi1tc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70L3QviDQuNC30YLQtdCz0LvRj9C90LUgKNCy0LDRiNC40YLQtSDQv9GA0L7QvNC10L3QuCDRidC1INCx0YrQtNCw0YIg0LfQsNC90YPQu9C10L3QuCkiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjUyCi1tc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCi1tc2dzdHIgItC40LfQstGK0YDRiNCy0LDQvdC1INC90LAg0YLRgNC+0LnQvdC+INGB0LvQuNCy0LDQvdC1INGBINC90L7QstC40Y8g0LrQu9C+0L0iCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU0IGJ1aWx0aW4vbWVyZ2UuYzoyNzUKLW1zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCi1tc2dzdHIgItC+0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAg0LjQs9C90L7RgNC40YDQsNC90LjRgtC1INGE0LDQudC70L7QstC1ICjRgdGC0LDQvdC00LDRgNGC0L3QvikiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU2IGJ1aWx0aW4vbG9nLmM6MTU3MyBwYXJzZS1vcHRpb25zLmg6Mjc0Ci1tc2dpZCAic3R5bGUiCi1tc2dzdHIgItCh0KLQmNCbIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1NwotbXNnaWQgImNvbmZsaWN0IHN0eWxlIChtZXJnZSBvciBkaWZmMykiCi1tc2dzdHIgItC00LXQudGB0YLQstC40LUg0L/RgNC4INC60L7QvdGE0LvQuNC60YIgKNGB0LvQuNCy0LDQvdC1INC40LvQuCDRgtGA0L7QudC90LAg0YDQsNC30LvQuNC60LApIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2MAotbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKLW1zZ3N0ciAi0LHQtdC3INC+0LPRgNCw0L3QuNGH0LDQstCw0L3QtSDQvdCwINC40LfQsdGA0L7QtdC90LjRgtC1INC/0YrRgtC40YnQsCDRgdCw0LzQviDQtNC+INGH0LDRgdGC0LjRh9C90L4g0LjQt9GC0LXQs9C70LXQvdC40YLQtSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjIKLW1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKLW1zZ3N0ciAiIgotItC+0L/QuNGCINC30LAg0L7RgtCz0LDRgtCy0LDQvdC1INC90LAg0LjQvNC1INC90LAg0LrQu9C+0L0g0YHQu9C10LQg0L3QtdGD0YHQv9C10YjQtdC9INC+0L/QuNGCINGBIOKAnmdpdCBjaGVja291dCAiCi0i0J3QldCh0KrQqdCV0KHQotCS0KPQktCQ0Klf0JrQm9Ce0J3igJwiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY0Ci1tc2dpZCAiZG8gbm90IGNoZWNrIGlmIGFub3RoZXIgd29ya3RyZWUgaXMgaG9sZGluZyB0aGUgZ2l2ZW4gcmVmIgotbXNnc3RyICLQsdC10Lcg0L/RgNC+0LLQtdGA0LrQsCDQtNCw0LvQuCDQtNGA0YPQs9C+INGA0LDQsdC+0YLQvdC+INC00YrRgNCy0L4g0LTRitGA0LbQuCDRg9C60LDQt9Cw0YLQtdC70Y8iCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY4IGJ1aWx0aW4vY2xvbmUuYzo4NiBidWlsdGluL2ZldGNoLmM6MTQxCi0jOiBidWlsdGluL21lcmdlLmM6MjcyIGJ1aWx0aW4vcHVsbC5jOjEyOSBidWlsdGluL3B1c2guYzo1NzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDM5IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjUyCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExMyBidWlsdGluL2ZldGNoLmM6MTY3IGJ1aWx0aW4vbWVyZ2UuYzoyODUKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjI3IGJ1aWx0aW4vcHVsbC5jOjEzOCBidWlsdGluL3B1c2guYzo1NjMKICM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc0CiBtc2dpZCAiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQvdCw0L/RgNC10LTRitC60LAiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjk4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ0MAorbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgorbXNnc3RyICLQuNC30LLRitGA0YjQstCw0L3QtSDQvdCwINGC0YDQvtC50L3QviDRgdC70LjQstCw0L3QtSDRgSDQvdC+0LLQuNGPINC60LvQvtC9IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ0MSBidWlsdGluL2xvZy5jOjE2OTAgcGFyc2Utb3B0aW9ucy5oOjMyMgorbXNnaWQgInN0eWxlIgorbXNnc3RyICLQodCi0JjQmyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NDIKK21zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgorbXNnc3RyICLQtNC10LnRgdGC0LLQuNC1INC/0YDQuCDQutC+0L3RhNC70LjQutGCICjRgdC70LjQstCw0L3QtSDQuNC70Lgg0YLRgNC+0LnQvdCwINGA0LDQt9C70LjQutCwKSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTQgYnVpbHRpbi93b3JrdHJlZS5jOjUwMworbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKK21zZ3N0ciAi0L7RgtC00LXQu9GP0L3QtSDQvdCwINGD0LrQsNC30LDRgtC10LvRjyDigJ5IRUFE4oCcINC60YrQvCDRg9C60LDQt9Cw0L3QvtGC0L4g0L/QvtC00LDQstCw0L3QtSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTUKK21zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKK21zZ3N0ciAi0LfQsNC00LDQstCw0L3QtSDQvdCwINC60L7QuSDQutC70L7QvSDQsdC40LLQsCDRgdC70LXQtNC10L0g0L/RgNC4INGB0YrQt9C00LDQstCw0L3QtdGC0L4g0L3QsCDQvdC+0LLQuNGPINC60LvQvtC9IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ1NworbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgorbXNnc3RyICLQv9GA0LjQvdGD0LTQuNGC0LXQu9C90L4g0LjQt9GC0LXQs9C70Y/QvdC1ICjQstCw0YjQuNGC0LUg0L/RgNC+0LzQtdC90Lgg0YnQtSDQsdGK0LTQsNGCINC30LDQvdGD0LvQtdC90LgpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ1OQorbXNnaWQgIm5ldy1icmFuY2giCittc2dzdHIgItCd0J7Qkl/QmtCb0J7QnSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTkKK21zZ2lkICJuZXcgdW5wYXJlbnRlZCBicmFuY2giCittc2dzdHIgItC90L7QsiDQutC70L7QvSDQsdC10Lcg0YDQvtC00LjRgtC10LsiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDYxIGJ1aWx0aW4vbWVyZ2UuYzoyODgKK21zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCittc2dzdHIgItC+0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAg0LjQs9C90L7RgNC40YDQsNC90LjRgtC1INGE0LDQudC70L7QstC1ICjRgdGC0LDQvdC00LDRgNGC0L3QvikiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDY0Cittc2dpZCAiZG8gbm90IGNoZWNrIGlmIGFub3RoZXIgd29ya3RyZWUgaXMgaG9sZGluZyB0aGUgZ2l2ZW4gcmVmIgorbXNnc3RyICLQsdC10Lcg0L/RgNC+0LLQtdGA0LrQsCDQtNCw0LvQuCDQtNGA0YPQs9C+INGA0LDQsdC+0YLQvdC+INC00YrRgNCy0L4g0LTRitGA0LbQuCDRg9C60LDQt9Cw0YLQtdC70Y8iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDc3Cittc2dpZCAiY2hlY2tvdXQgb3VyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgorbXNnc3RyICLQuNC30YLQtdCz0LvRj9C90LUg0L3QsCDQstCw0YjQsNGC0LAg0LLQtdGA0YHQuNGPINC90LAg0L3QtdGB0LvQtdGC0LjRgtC1INGE0LDQudC70L7QstC1IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ4MAorbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgorbXNnc3RyICLQuNC30YLQtdCz0LvRj9C90LUg0L3QsCDRh9GD0LbQtNCw0YLQsCDQstC10YDRgdC40Y8g0L3QsCDQvdC10YHQu9C10YLQuNGC0LUg0YTQsNC50LvQvtCy0LUiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDg0Cittc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgorbXNnc3RyICLQsdC10Lcg0L7Qs9GA0LDQvdC40YfQsNCy0LDQvdC1INC90LAg0LjQt9Cx0YDQvtC10L3QuNGC0LUg0L/RitGC0LjRidCwINGB0LDQvNC+INC00L4g0YfQsNGB0YLQuNGH0L3QviDQuNC30YLQtdCz0LvQtdC90LjRgtC1IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTUzNwogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAi0J7Qv9GG0LjQuNGC0LUg4oCeLWLigJwsIOKAni1C4oCcINC4IOKAni0tb3JwaGFu4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4INC10LTQvdCwINGBINC00YDRg9Cz0LAiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzE1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTU0MAorbXNnaWQgIi1wIGFuZCAtLW92ZXJsYXkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLXDigJwg0Lgg4oCeLS1vdmVybGF54oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTU3NwogbXNnaWQgIi0tdHJhY2sgbmVlZHMgYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS10cmFja+KAnCDQuNC30LjRgdC60LLQsCDQuNC80LUg0L3QsCDQutC70L7QvSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzMjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTgyCiBtc2dpZCAibWlzc2luZyBicmFuY2ggbmFtZTsgdHJ5IC1iIgogbXNnc3RyICLQu9C40L/RgdCy0LAg0LjQvNC1INC90LAg0LrQu9C+0L0sINC40LfQv9C+0LvQt9Cy0LDQudGC0LUg0L7Qv9GG0LjRj9GC0LAg4oCeLWLigJwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzU3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSAlcyIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE2MzEKIG1zZ2lkICJpbnZhbGlkIHBhdGggc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAi0YPQutCw0LfQsNC9INC1INC90LXQv9GA0LDQstC40LvQtdC9INC/0YrRgiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgY29tbWl0IGFuZCBhIGJyYW5jaCAnJXMnIGNhbm5vdCBiZSBjcmVhdGVkIGZyb20gaXQiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LUg0L/QvtC00LDQstCw0L3QtSwg0LfQsNGC0L7QstCwINC+0YIg0L3QtdCz0L4g0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg0LrQu9C+0L0g4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50ICclcyciCiBtc2dzdHIgImdpdCBjaGVja291dDog0L7Qv9GG0LjRj9GC0LAg4oCeLS1kZXRhY2jigJwg0L3QtSDQv9GA0LjQtdC80LAg0LDRgNCz0YPQvNC10L3Rgi3Qv9GK0YIg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzcyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY1MQorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tZGV0YWNoIgorbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLXBhdGhzcGVjLWZyb20tZmlsZeKAnCDQuCDigJ4tLWRldGFjaOKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE2NTQgYnVpbHRpbi9yZXNldC5jOjMyNAorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tcGF0Y2giCittc2dzdHIgItC+0L/RhtC40LjRgtC1IOKAni0tcGF0aHNwZWMtZnJvbS1maWxl4oCcINC4IOKAni0tcGF0Y2jigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjY1CiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgpAQCAtOTIzOCw3ICsxMTUzNCwxMSBAQAogImdpdCBjaGVja291dDog0L7Qv9GG0LjQuNGC0LUg4oCeLS1vdXJz4oCcL+KAni0tdGhlaXJz4oCcLCDigJ4tLWZvcmNl4oCcINC4IOKAni0tbWVyZ2XigJxcbiIKICLRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCDRgSDQuNC30YLQtdCz0LvRj9C90LUg0L7RgiDQuNC90LTQtdC60YHQsC4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzkyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY3MAorbXNnaWQgInlvdSBtdXN0IHNwZWNpZnkgcGF0aChzKSB0byByZXN0b3JlIgorbXNnc3RyICLRgtGA0Y/QsdCy0LAg0LTQsCDRg9C60LDQttC10YLQtSDQv9C+0L3QtSDQtdC00LjQvSDQv9GK0YIg0LfQsCDQstGK0LfRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBtYXRjaGVkIG1vcmUgdGhhbiBvbmUgcmVtb3RlIHRyYWNraW5nIGJyYW5jaC5cbiIKQEAgLTkyNjgsMzcgKzExNTY4LDEwOCBAQAogIlxuIgogIiAgICBjaGVja291dC5kZWZhdWx0UmVtb3RlPW9yaWdpbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcxNCBidWlsdGluL2NoZWNrb3V0LmM6MTcxNiBidWlsdGluL2NoZWNrb3V0LmM6MTc2NQorIzogYnVpbHRpbi9jaGVja291dC5jOjE3NjcgYnVpbHRpbi9jbG9uZS5jOjEyMSBidWlsdGluL3JlbW90ZS5jOjE2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNzEgYnVpbHRpbi93b3JrdHJlZS5jOjQ5OSBidWlsdGluL3dvcmt0cmVlLmM6NTAxCittc2dpZCAiYnJhbmNoIgorbXNnc3RyICLQutC70L7QvSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MTUKK21zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKK21zZ3N0ciAi0YHRitC30LTQsNCy0LDQvdC1INC4INC/0YDQtdC80LjQvdCw0LLQsNC90LUg0LrRitC8INC90L7QsiDQutC70L7QvSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MTcKK21zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgorbXNnc3RyICLRgdGK0LfQtNCw0LLQsNC90LUv0LfQsNC90YPQu9GP0LLQsNC90LUg0L3QsCDQutC70L7QvSDQuCDQv9GA0LXQvNC40L3QsNCy0LDQvdC1INC60YrQvCDQvdC10LPQviIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MTgKK21zZ2lkICJjcmVhdGUgcmVmbG9nIGZvciBuZXcgYnJhbmNoIgorbXNnc3RyICLRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDQttGD0YDQvdCw0Lsg0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1INC30LAg0L3QvtCyINC60LvQvtC9IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcyMAorbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IDxuby1zdWNoLWJyYW5jaD4nIChkZWZhdWx0KSIKK21zZ3N0ciAiIgorItC+0L/QuNGCINC30LAg0L7RgtCz0LDRgtCy0LDQvdC1INC90LAg0LjQvNC1INC90LAg0LrQu9C+0L0g0YHQu9C10LQg0L3QtdGD0YHQv9C10YjQtdC9INC+0L/QuNGCINGBIOKAnmdpdCBjaGVja291dCAiCisi0J3QldCh0KrQqdCV0KHQotCS0KPQktCQ0Klf0JrQm9Ce0J3igJwgKNGB0YLQsNC90LTQsNGA0YLQvdC+KSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MjEKK21zZ2lkICJ1c2Ugb3ZlcmxheSBtb2RlIChkZWZhdWx0KSIKK21zZ3N0ciAi0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDQv9GA0LjQv9C+0LrRgNC40LLQsNGJINGA0LXQttC40LwgKNGB0YLQsNC90LTQsNGA0YLQvdC+KSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NjYKK21zZ2lkICJjcmVhdGUgYW5kIHN3aXRjaCB0byBhIG5ldyBicmFuY2giCittc2dzdHIgItGB0YrQt9C00LDQstCw0L3QtSDQuCDQv9GA0LXQvNC40L3QsNCy0LDQvdC1INC60YrQvCDQvdC+0LIg0LrQu9C+0L0iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY4Cittc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBzd2l0Y2ggdG8gYSBicmFuY2giCittc2dzdHIgItGB0YrQt9C00LDQstCw0L3QtS/Qt9Cw0L3Rg9C70Y/QstCw0L3QtSDQvdCwINC60LvQvtC9INC4INC/0YDQtdC80LjQvdCw0LLQsNC90LUg0LrRitC8INC90LXQs9C+IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc3MAorbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IHN3aXRjaCA8bm8tc3VjaC1icmFuY2g+JyIKK21zZ3N0ciAiIgorItC+0L/QuNGCINC30LAg0L7RgtCz0LDRgtCy0LDQvdC1INC90LAg0LjQvNC1INC90LAg0LrQu9C+0L0g0YHQu9C10LQg0L3QtdGD0YHQv9C10YjQtdC9INC+0L/QuNGCINGBIOKAnmdpdCBzd2l0Y2ggIgorItCd0JXQodCq0KnQldCh0KLQktCj0JLQkNCpX9Ca0JvQntCd4oCcIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc3MgorbXNnaWQgInRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucyIKK21zZ3N0ciAi0LfQsNC90YPQu9GP0LLQsNC90LUg0L3QsCDQu9C+0LrQsNC70L3QuNGC0LUg0L/RgNC+0LzQtdC90LgiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODA0Cittc2dpZCAid2hpY2ggdHJlZS1pc2ggdG8gY2hlY2tvdXQgZnJvbSIKK21zZ3N0ciAi0LrRitC8INC60L7QuSDRg9C60LDQt9Cw0YLQtdC7INC60YrQvCDQtNGK0YDQstC+INC00LAg0YHQtSDQv9GA0LXQvNC40L3QtSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MDYKK21zZ2lkICJyZXN0b3JlIHRoZSBpbmRleCIKK21zZ3N0ciAi0LLRitC30YHRgtCw0L3QvtCy0Y/QstCw0L3QtSDQvdCwINC40L3QtNC10LrRgdCwIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgwOAorbXNnaWQgInJlc3RvcmUgdGhlIHdvcmtpbmcgdHJlZSAoZGVmYXVsdCkiCittc2dzdHIgItCy0YrQt9GB0YLQsNC90L7QstGP0LLQsNC90LUg0L3QsCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviAo0YHRgtCw0L3QtNCw0YDRgtC90L4pIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgxMAorbXNnaWQgImlnbm9yZSB1bm1lcmdlZCBlbnRyaWVzIgorbXNnc3RyICLQv9GA0LXQvdC10LHRgNC10LPQstCw0L3QtSDQvdCwINC90LXRgdC70LXRgtC40YLQtSDQtdC70LXQvNC10L3RgtC4IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgxMQorbXNnaWQgInVzZSBvdmVybGF5IG1vZGUiCittc2dzdHIgItC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0L/RgNC40L/QvtC60YDQuNCy0LDRiSDRgNC10LbQuNC8IgorCisjOiBidWlsdGluL2NsZWFuLmM6MjgKIG1zZ2lkICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPHBhdHRlcm4+XSBbLXggfCAtWF0gWy0tXSA8cGF0aHM+Li4uIgogbXNnc3RyICJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSDQqNCQ0JHQm9Ce0J1dIFsteCB8IC1YXSBbLS1dINCf0KrQouKApiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMxCisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXNcbiIKIG1zZ3N0ciAi0JjQt9GC0YDQuNCy0LDQvdC1INC90LAg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMyCisjOiBidWlsdGluL2NsZWFuLmM6MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgcmVtb3ZlICVzXG4iCiBtc2dzdHIgItCk0LDQudC70YrRgiDigJ4lc+KAnCDRidC1INCx0YrQtNC1INC40LfRgtGA0LjRglxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzMKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgItCf0YDQtdGB0LrQsNGH0LDQvdC1INC90LAg0YXRgNCw0L3QuNC70LjRidC10YLQviDigJ4lc+KAnFxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzQKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNQogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCBza2lwIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAi0KXRgNCw0L3QuNC70LjRidC10YLQviDigJ4lc+KAnCDRidC1INCx0YrQtNC1INC/0YDQtdGB0LrQvtGH0LXQvdC+XG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozNQorIzogYnVpbHRpbi9jbGVhbi5jOjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJXMiCiBtc2dzdHIgItGE0LDQudC70YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9GC0YDQuNGCIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Mjk4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTc5CisjOiBidWlsdGluL2NsZWFuLmM6MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGxzdGF0ICVzXG4iCittc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0L7Qu9GD0YfQuCDQuNC90YTQvtGA0LzQsNGG0LjRjyDRh9GA0LXQtyDigJ5sc3RhdOKAnCDQt9CwIOKAniVz4oCcXG4iCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMDEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgpAQCAtOTMxMSw3ICsxMTY4Miw3IEBACiAi0J/QoNCV0KTQmNCa0KEgICAg4oCUINC40LfQsdC+0YAg0L3QsCDQtdC00LjQvdGB0YLQstC10L0g0L7QsdC10LrRgiDQv9C+INGC0L7Qt9C4INGD0L3QuNC60LDQu9C10L0g0L/RgNC10YTQuNC60YFcbiIKICIgICAgICAgICAgIOKAlCAo0L/RgNCw0LfQvdC+KSDQvdC40YnQviDQtNCwINC90LUg0YHQtSDQuNC30LHQuNGA0LBcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMwMiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU4OAorIzogYnVpbHRpbi9jbGVhbi5jOjMwNSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCkBAIC05MzMyLDM5ICsxMTcwMywzMyBAQAogIiogICAgICAgICAg4oCUINC40LfQsdC40YDQsNC90LUg0L3QsCDQstGB0LjRh9C60Lgg0L7QsdC10LrRgtC4XG4iCiAiICAgICAgICAgICDigJQgKNC/0YDQsNC30L3Qvikg0LfQsNCy0YrRgNGI0LLQsNC90LUg0L3QsCDQuNC30LHQuNGA0LDQvdC10YLQvlxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NTE4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTU0Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU1OQorIzogYnVpbHRpbi9jbGVhbi5jOjUyMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU3MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NzUKICMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAogbXNnaWQgIkh1aCAoJXMpP1xuIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70LXQvSDQuNC30LHQvtGAICglcykuXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo2NjAKKyM6IGJ1aWx0aW4vY2xlYW4uYzo2NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5wdXQgaWdub3JlIHBhdHRlcm5zPj4gIgogbXNnc3RyICLQqNCw0LHQu9C+0L3QuCDQt9CwINC40LPQvdC+0YDQuNGA0LDQvdC4INC10LvQtdC80LXQvdGC0LjiiasgIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Njk3CisjOiBidWlsdGluL2NsZWFuLmM6NzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IENhbm5vdCBmaW5kIGl0ZW1zIG1hdGNoZWQgYnk6ICVzIgogbXNnc3RyICLQn9Cg0JXQlNCj0J/QoNCV0JbQlNCV0J3QmNCVOiDQndC40LrQvtC5INC+0LHQtdC60YIg0L3QtSDQvdCw0L/QsNGB0LLQsCDQvdCwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzE4CisjOiBidWlsdGluL2NsZWFuLmM6NzIxCiBtc2dpZCAiU2VsZWN0IGl0ZW1zIHRvIGRlbGV0ZSIKIG1zZ3N0ciAi0JjQt9Cx0LjRgNCw0L3QtSDQvdCwINC+0LHQtdC60YLQuCDQt9CwINC40LfRgtGA0LjQstCw0L3QtSIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBrZWVwIFt5L05dIGFzIGlzCi0jOiBidWlsdGluL2NsZWFuLmM6NzU5CisjOiBidWlsdGluL2NsZWFuLmM6NzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92ZSAlcyBbeS9OXT8gIgogbXNnc3RyICLQlNCwINGB0LUg0LjQt9GC0YDQuNC1INC70Lgg4oCeJXPigJw/IOKAnnnigJwg4oCUICDQtNCwLCDigJ5O4oCcIOKAlCDQndCVIgogCi0jCi0jOiBidWlsdGluL2NsZWFuLmM6Nzg0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcxNwotIywgYy1mb3JtYXQKLW1zZ2lkICJCeWUuXG4iCi1tc2dzdHIgItCY0LfRhdC+0LQuXG4iCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzo3OTIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3OTUKIG1zZ2lkICIiCiAiY2xlYW4gICAgICAgICAgICAgICAtIHN0YXJ0IGNsZWFuaW5nXG4iCiAiZmlsdGVyIGJ5IHBhdHRlcm4gICAtIGV4Y2x1ZGUgaXRlbXMgZnJvbSBkZWxldGlvblxuIgpAQCAtOTM4Miw2NCArMTE3NDcsNTYgQEAKICJoZWxwICAgICAgICAgICAgICAgIOKAlCDRgtC+0LfQuCDQutGA0LDQuVxuIgogIj8gICAgICAgICAgICAgICAgICAg4oCUINC/0L7QtNGB0LrQsNC30LrQsCDQt9CwINGI0LDQsdC70L7QvdC40YLQtSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3OTMKLW1zZ2lkICIqKiogQ29tbWFuZHMgKioqIgotbXNnc3RyICLil4/il4/il48g0JrQvtC80LDQvdC00Lgg4peP4peP4pePIgotCi0jOiBidWlsdGluL2NsZWFuLmM6ODIwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc5MAotbXNnaWQgIldoYXQgbm93IgotbXNnc3RyICLQmNC30LHQvtGAINC90LAg0YHQu9C10LTQstCw0YnQviDQtNC10LnRgdGC0LLQuNC1IgotCi0jOiBidWlsdGluL2NsZWFuLmM6ODI4CisjOiBidWlsdGluL2NsZWFuLmM6ODMxCiBtc2dpZCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbToiCiBtc2dpZF9wbHVyYWwgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW1zOiIKIG1zZ3N0clswXSAi0KHQu9C10LTQvdC40Y/RgiDQvtCx0LXQutGCINGJ0LUg0LHRitC00LUg0LjQt9GC0YDQuNGCOiIKIG1zZ3N0clsxXSAi0KHQu9C10LTQvdC40YLQtSDQvtCx0LXQutGC0Lgg0YnQtSDQsdGK0LTQsNGCINC40LfRgtGA0LjRgtC4OiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg0NAorIzogYnVpbHRpbi9jbGVhbi5jOjg0NwogbXNnaWQgIk5vIG1vcmUgZmlsZXMgdG8gY2xlYW4sIGV4aXRpbmcuIgogbXNnc3RyICLQpNCw0LnQu9C+0LLQtdGC0LUg0LfQsCDQuNC30YfQuNGB0YLQstCw0L3QtSDRgdCy0YrRgNGI0LjRhdCwLiAg0JjQt9GF0L7QtCDQvtGCINC/0YDQvtCz0YDQsNC80LDRgtCwLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwNgorIzogYnVpbHRpbi9jbGVhbi5jOjkwOQogbXNnaWQgImRvIG5vdCBwcmludCBuYW1lcyBvZiBmaWxlcyByZW1vdmVkIgogbXNnc3RyICLQsdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvNC10L3QsNGC0LAg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUsINC60L7QuNGC0L4g0YnQtSDQsdGK0LTQsNGCINC40LfRgtGA0LjRgtC4IgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTA4CisjOiBidWlsdGluL2NsZWFuLmM6OTExCiBtc2dpZCAiZm9yY2UiCiBtc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70L3QviDQuNC30YLRgNC40LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTIKIG1zZ2lkICJpbnRlcmFjdGl2ZSBjbGVhbmluZyIKIG1zZ3N0ciAi0LjQvdGC0LXRgNCw0LrRgtC40LLQvdC+INC40LfRgtGA0LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkxMQorIzogYnVpbHRpbi9jbGVhbi5jOjkxNAogbXNnaWQgInJlbW92ZSB3aG9sZSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAi0LjQt9GC0YDQuNCy0LDQvdC1INC90LAg0YbQtdC70Lgg0LTQuNGA0LXQutGC0L7RgNC40LgiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTIgYnVpbHRpbi9kZXNjcmliZS5jOjU0NSBidWlsdGluL2Rlc2NyaWJlLmM6NTQ3Ci0jOiBidWlsdGluL2dyZXAuYzo4ODYgYnVpbHRpbi9sb2cuYzoxNjYgYnVpbHRpbi9sb2cuYzoxNjgKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTYgYnVpbHRpbi9uYW1lLXJldi5jOjQxNSBidWlsdGluL25hbWUtcmV2LmM6NDE3Ci0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL2NsZWFuLmM6OTE1IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDggYnVpbHRpbi9kZXNjcmliZS5jOjU1MAorIzogYnVpbHRpbi9ncmVwLmM6OTAxIGJ1aWx0aW4vbG9nLmM6MTc3IGJ1aWx0aW4vbG9nLmM6MTc5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU3IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjQgYnVpbHRpbi9uYW1lLXJldi5jOjQ2NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OQogbXNnaWQgInBhdHRlcm4iCiBtc2dzdHIgItCo0JDQkdCb0J7QnSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkxMworIzogYnVpbHRpbi9jbGVhbi5jOjkxNgogbXNnaWQgImFkZCA8cGF0dGVybj4gdG8gaWdub3JlIHJ1bGVzIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0KjQkNCR0JvQntCdINC+0YIg0YTQsNC50LvQvtCy0LUsINC60L7QuNGC0L4g0LTQsCDQvdC1INGB0LUg0YLRgNC40Y/RgiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkxNAorIzogYnVpbHRpbi9jbGVhbi5jOjkxNwogbXNnaWQgInJlbW92ZSBpZ25vcmVkIGZpbGVzLCB0b28iCiBtc2dzdHIgItC40LfRgtGA0LjQstCw0L3QtSDQuCDQvdCwINC40LPQvdC+0YDQuNGA0LDQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkxNgorIzogYnVpbHRpbi9jbGVhbi5jOjkxOQogbXNnaWQgInJlbW92ZSBvbmx5IGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgItC40LfRgtGA0LjQstCw0L3QtSDRgdCw0LzQviDQvdCwINC40LPQvdC+0YDQuNGA0LDQvdC4INGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTM0CisjOiBidWlsdGluL2NsZWFuLmM6OTM3CiBtc2dpZCAiLXggYW5kIC1YIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4teOKAnCDQuCDigJ4tWOKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkzOAorIzogYnVpbHRpbi9jbGVhbi5jOjk0MQogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2Ugc2V0IHRvIHRydWUgYW5kIG5laXRoZXIgLWksIC1uLCBub3IgLWYgZ2l2ZW47IHJlZnVzaW5nIHRvICIKICJjbGVhbiIKQEAgLTk0NDcsNyArMTE4MDQsNyBAQAogItCd0LDRgdGC0YDQvtC50LrQsNGC0LAg4oCeY2xlYW4ucmVxdWlyZUZvcmNl4oCcINC1INC30LDQtNCw0LTQtdC90LAg0LrQsNGC0L4g0LjRgdGC0LjQvdCwLCDQutC+0LXRgtC+INC40LfQuNGB0LrQstCwINC90Y/QutC+0Y8gIgogItC+0YIg0L7Qv9GG0LjQuNGC0LUg4oCeLWnigJwsIOKAni1u4oCcINC40LvQuCDigJ4tZuKAnC4gINCd0Y/QvNCwINC00LAg0YHQtSDQuNC30LLRitGA0YjQuCDQuNC30YfQuNGB0YLQstCw0L3QtSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjk0MQorIzogYnVpbHRpbi9jbGVhbi5jOjk0NAogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgIgogInJlZnVzaW5nIHRvIGNsZWFuIgpAQCAtOTQ1NiwxNTAgKzExODEzLDE3MCBAQAogItC60L7QtdGC0L4g0LjQt9C40YHQutCy0LAg0L3Rj9C60L7RjyDQvtGCINC+0L/RhtC40LjRgtC1IOKAni1p4oCcLCDigJ4tbuKAnCDQuNC70Lgg4oCeLWbigJwuICDQndGP0LzQsCDQtNCwINGB0LUg0LjQt9Cy0YrRgNGI0LggIgogItC40LfRh9C40YHRgtCy0LDQvdC1IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NQogbXNnaWQgImdpdCBjbG9uZSBbPG9wdGlvbnM+XSBbLS1dIDxyZXBvPiBbPGRpcj5dIgogbXNnc3RyICJnaXQgY2xvbmUgW9Ce0J/QptCY0K/igKZdIFstLV0g0KXQoNCQ0J3QmNCb0JjQqdCVIFvQlNCY0KDQldCa0KLQntCg0JjQr10iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OAorIzogYnVpbHRpbi9jbG9uZS5jOjkzCiBtc2dpZCAiZG9uJ3QgY3JlYXRlIGEgY2hlY2tvdXQiCiBtc2dzdHIgItCx0LXQtyDRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDRgNCw0LHQvtGC0L3QviDQtNGK0YDQstC+IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODkgYnVpbHRpbi9jbG9uZS5jOjkxIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQorIzogYnVpbHRpbi9jbG9uZS5jOjk0IGJ1aWx0aW4vY2xvbmUuYzo5NiBidWlsdGluL2luaXQtZGIuYzo0ODkKIG1zZ2lkICJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgItGB0YrQt9C00LDQstCw0L3QtSDQvdCwINCz0L7Qu9C+INGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzCisjOiBidWlsdGluL2Nsb25lLmM6OTgKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAiIgogItGB0YrQt9C00LDQstCw0L3QtSDQvdCwINGF0YDQsNC90LjQu9C40YnQtS3QvtCz0LvQtdC00LDQu9C+ICjQstC60LvRjtGH0LLQsCDQvtC/0YbQuNGP0YLQsCDigJ4tLWJhcmXigJwg0LfQsCDQs9C+0LvQviDRhdGA0LDQvdC40LvQuNGJ0LUpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKIG1zZ2lkICJ0byBjbG9uZSBmcm9tIGEgbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0LrQu9C+0L3QuNGA0LDQvdC1INC+0YIg0LvQvtC60LDQu9C90L4g0YXRgNCw0L3QuNC70LjRidC1IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAi0LHQtdC3INGC0LLRitGA0LTQuCDQstGA0YrQt9C60LgsINGE0LDQudC70L7QstC10YLQtSDQstC40L3QsNCz0Lgg0LTQsCDRgdC1INC60L7Qv9C40YDQsNGCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDQKIG1zZ2lkICJzZXR1cCBhcyBzaGFyZWQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0L3QsNGB0YLRgNC+0LnQstCw0L3QtSDQt9CwINGB0L/QvtC00LXQu9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEgYnVpbHRpbi9jbG9uZS5jOjEwNQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNwogbXNnaWQgInBhdGhzcGVjIgogbXNnc3RyICLQv9GK0YIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEgYnVpbHRpbi9jbG9uZS5jOjEwNQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNwogbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCiBtc2dzdHIgItC40L3QuNGG0LjQsNC70LjQt9C40YDQsNC90LUg0L3QsCDQv9C+0LTQvNC+0LTRg9C70LjRgtC1INC/0YDQuCDRgtC+0LLQsCDQutC70L7QvdC40YDQsNC90LUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBjbG9uZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgItCx0YDQvtC5INC/0L7QtNC80L7QtNGD0LvQuCwg0LrQu9C+0L3QuNGA0LDQvdC4INC/0LDRgNCw0LvQtdC70L3QviIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOSBidWlsdGluL2luaXQtZGIuYzo0NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9pbml0LWRiLmM6NDg2CiBtc2dpZCAidGVtcGxhdGUtZGlyZWN0b3J5IgogbXNnc3RyICLQtNC40YDQtdC60YLQvtGA0LjRjyDRgSDRiNCw0LHQu9C+0L3QuCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMCBidWlsdGluL2luaXQtZGIuYzo0NzkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTIgYnVpbHRpbi9pbml0LWRiLmM6NDg3CiBtc2dpZCAiZGlyZWN0b3J5IGZyb20gd2hpY2ggdGVtcGxhdGVzIHdpbGwgYmUgdXNlZCIKIG1zZ3N0ciAi0LTQuNGA0LXQutGC0L7RgNC40Y8sINC60L7Rj9GC0L4g0YHRitC00YrRgNC20LAg0YjQsNCx0LvQvtC90LjRgtC1LCDQutC+0LjRgtC+INC00LAg0YHQtSDQv9C+0LvQt9Cy0LDRgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMiBidWlsdGluL2Nsb25lLmM6MTE0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc1Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1NgorIzogYnVpbHRpbi9jbG9uZS5jOjExNCBidWlsdGluL2Nsb25lLmM6MTE2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzkyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NQogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5IgogbXNnc3RyICLQtdGC0LDQu9C+0L3QvdC+INGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3NwotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODg3CiBtc2dpZCAidXNlIC0tcmVmZXJlbmNlIG9ubHkgd2hpbGUgY2xvbmluZyIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1yZWZlcmVuY2XigJwg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQv9C+0LvQt9Cy0LAg0YHQsNC80L4g0L/RgNC4INC60LvQvtC90LjRgNCw0L3QtSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExNyBidWlsdGluL2NvbHVtbi5jOjI3IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ2Ci0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDEgYnVpbHRpbi9yZXBhY2suYzozMjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTkgYnVpbHRpbi9jb2x1bW4uYzoyNyBidWlsdGluL21lcmdlLWZpbGUuYzo0NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk0IGJ1aWx0aW4vcmVwYWNrLmM6MzI3CiBtc2dpZCAibmFtZSIKIG1zZ3N0ciAi0JjQnNCVIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE4CisjOiBidWlsdGluL2Nsb25lLmM6MTIwCiBtc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgogbXNnc3RyICLQuNC30L/QvtC70LfQstCw0L3QtSDQvdCwINGC0L7QstCwINCY0JzQlSDQstC80LXRgdGC0L4g4oCeb3JpZ2lu4oCcINC/0YDQuCDQv9GA0L7RgdC70LXQtNGP0LLQsNC90LUg0L3QsCDQutC70L7QvdC4IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTIwCisjOiBidWlsdGluL2Nsb25lLmM6MTIyCiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gaW5zdGVhZCBvZiB0aGUgcmVtb3RlJ3MgSEVBRCIKIG1zZ3N0ciAi0LjQt9GC0LXQs9C70Y/QvdC1INC90LAg0YLQvtC30Lgg0JrQm9Ce0J0sINCwINC90LUg0YHQvtGH0LXQvdC40Y/RgiDQvtGCINC+0YLQtNCw0LvQtdGH0LXQvdC40Y8g0YPQutCw0LfQsNGC0LXQuyDigJ5IRUFE4oCcIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTIyCisjOiBidWlsdGluL2Nsb25lLmM6MTI0CiBtc2dpZCAicGF0aCB0byBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSIKIG1zZ3N0ciAi0L/RitGCINC60YrQvCDQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0LXVwbG9hZC1wYWNr4oCcINC90LAg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyMyBidWlsdGluL2ZldGNoLmM6MTQyIGJ1aWx0aW4vZ3JlcC5jOjgyNQotIzogYnVpbHRpbi9wdWxsLmM6MjE3CisjOiBidWlsdGluL2Nsb25lLmM6MTI1IGJ1aWx0aW4vZmV0Y2guYzoxNjggYnVpbHRpbi9ncmVwLmM6ODQwCisjOiBidWlsdGluL3B1bGwuYzoyMjcKIG1zZ2lkICJkZXB0aCIKIG1zZ3N0ciAi0JTQqtCb0JHQntCn0JjQndCQIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI0CisjOiBidWlsdGluL2Nsb25lLmM6MTI2CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICLQv9C70LjRgtC60L4g0LrQu9C+0L3QuNGA0LDQvdC1INC00L4g0YLQsNC30Lgg0JTQqtCb0JHQntCn0JjQndCQIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI1IGJ1aWx0aW4vZmV0Y2guYzoxNDQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjkyCisjOiBidWlsdGluL2Nsb25lLmM6MTI3IGJ1aWx0aW4vZmV0Y2guYzoxNzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgzCiBtc2dpZCAidGltZSIKIG1zZ3N0ciAi0JLQoNCV0JzQlSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyNgorIzogYnVpbHRpbi9jbG9uZS5jOjEyOAogbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgc2luY2UgYSBzcGVjaWZpYyB0aW1lIgogbXNnc3RyICLQv9C70LjRgtC60L4g0LrQu9C+0L3QuNGA0LDQvdC1INC00L4g0LzQvtC80LXQvdGCINCy0YrQsiDQstGA0LXQvNC10YLQviIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyNyBidWlsdGluL2ZldGNoLmM6MTQ2IGJ1aWx0aW4vZmV0Y2guYzoxNjkKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODMxCisjOiBidWlsdGluL2Nsb25lLmM6MTI5IGJ1aWx0aW4vZmV0Y2guYzoxNzIgYnVpbHRpbi9mZXRjaC5jOjE5NQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDQ1CiBtc2dpZCAicmV2aXNpb24iCi1tc2dzdHIgItCy0LXRgNGB0LjRjyIKK21zZ3N0ciAi0JLQldCg0KHQmNCvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI4IGJ1aWx0aW4vZmV0Y2guYzoxNDcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzAgYnVpbHRpbi9mZXRjaC5jOjE3MwogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUsIGV4Y2x1ZGluZyByZXYiCiBtc2dzdHIgItC30LDQtNGK0LvQsdC+0YfQsNCy0LDQvdC1INC90LAg0LjRgdGC0L7RgNC40Y/RgtCwINC90LAg0L/Qu9C40YLQutC+INGF0YDQsNC90LjQu9C40YnQtSDQtNC+INC40LfQutC70Y7Rh9Cy0LDRiSDRg9C60LDQt9Cw0YLQtdC7IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTMwCisjOiBidWlsdGluL2Nsb25lLmM6MTMyCiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgogbXNnc3RyICIiCiAi0LrQu9C+0L3QuNGA0LDQvdC1INGB0LDQvNC+INC90LAg0LXQtNC40L0g0LrQu9C+0L0g4oCUINC40LvQuCDRgdC+0YfQtdC90LjRjyDQvtGCINC+0YLQtNCw0LvQtdGH0LXQvdC40Y8g4oCeSEVBROKAnCwg0LjQu9C4INC40LfRgNC40YfQvdC+ICIKICLQt9Cw0LTQsNC00LXQvdC40Y8g0YEg4oCeLS1icmFuY2jigJwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzQKIG1zZ2lkICJkb24ndCBjbG9uZSBhbnkgdGFncywgYW5kIG1ha2UgbGF0ZXIgZmV0Y2hlcyBub3QgdG8gZm9sbG93IHRoZW0iCiBtc2dzdHIgIiIKICLQsdC10Lcg0LrQu9C+0L3QuNGA0LDQvdC1INC90LAg0LXRgtC40LrQtdGC0LgsINC60LDRgtC+INC/0L7RgdC70LXQtNCy0LDRidC40YLQtSDQtNC+0YHRgtCw0LLRj9C90LjRjyDQvdGP0LzQsCDQtNCwINCz0Lgg0YHQu9C10LTRj9GCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM0CisjOiBidWlsdGluL2Nsb25lLmM6MTM2CiBtc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgYmUgc2hhbGxvdyIKIG1zZ3N0ciAi0LLRgdC40YfQutC4INC60LvQvtC90LjRgNCw0L3QuCDQv9C+0LTQvNC+0LTRg9C70Lgg0YnQtSDRgdCwINC/0LvQuNGC0LrQuCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzNSBidWlsdGluL2luaXQtZGIuYzo0ODcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzcgYnVpbHRpbi9pbml0LWRiLmM6NDk1CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICLQodCb0KPQltCV0JHQndCQX9CU0JjQoNCV0JrQotCe0KDQmNCvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM2IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4OAorIzogYnVpbHRpbi9jbG9uZS5jOjEzOCBidWlsdGluL2luaXQtZGIuYzo0OTYKIG1zZ2lkICJzZXBhcmF0ZSBnaXQgZGlyIGZyb20gd29ya2luZyB0cmVlIgogbXNnc3RyICLQvtGC0LTQtdC70L3QsCDQodCb0KPQltCV0JHQndCQX9CU0JjQoNCV0JrQotCe0KDQmNCvINC30LAgZ2l0INC40LfQstGK0L0g0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzkKIG1zZ2lkICJrZXk9dmFsdWUiCiBtc2dzdHIgItCa0JvQrtCnPdCh0KLQntCZ0J3QntCh0KIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDAKIG1zZ2lkICJzZXQgY29uZmlnIGluc2lkZSB0aGUgbmV3IHJlcG9zaXRvcnkiCiBtc2dzdHIgItC30LDQtNCw0LLQsNC90LUg0L3QsCDQvdCw0YHRgtGA0L7QudC60LjRgtC1INC90LAg0L3QvtCy0L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzOSBidWlsdGluL2ZldGNoLmM6MTY1IGJ1aWx0aW4vcHVsbC5jOjIzMAotIzogYnVpbHRpbi9wdXNoLmM6NTgzCisjOiBidWlsdGluL2Nsb25lLmM6MTQyIGJ1aWx0aW4vZmV0Y2guYzoxOTAgYnVpbHRpbi9scy1yZW1vdGUuYzo3NgorIzogYnVpbHRpbi9wdXNoLmM6NTczIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcyCittc2dpZCAic2VydmVyLXNwZWNpZmljIgorbXNnc3RyICLRgdC/0LXRhtC40YTQuNGH0L3QuCDQt9CwINGB0YrRgNCy0YrRgNCwIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTQyIGJ1aWx0aW4vZmV0Y2guYzoxOTAgYnVpbHRpbi9scy1yZW1vdGUuYzo3NgorIzogYnVpbHRpbi9wdXNoLmM6NTczIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTczCittc2dpZCAib3B0aW9uIHRvIHRyYW5zbWl0IgorbXNnc3RyICLQvtC/0YbQuNGPINC30LAg0L/RgNC10L3QvtGBIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTQzIGJ1aWx0aW4vZmV0Y2guYzoxOTEgYnVpbHRpbi9wdWxsLmM6MjQwCisjOiBidWlsdGluL3B1c2guYzo1NzQKIG1zZ2lkICJ1c2UgSVB2NCBhZGRyZXNzZXMgb25seSIKIG1zZ3N0ciAi0YHQsNC80L4g0LDQtNGA0LXRgdC4IElQdjQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxNDEgYnVpbHRpbi9mZXRjaC5jOjE2NyBidWlsdGluL3B1bGwuYzoyMzMKLSM6IGJ1aWx0aW4vcHVzaC5jOjU4NQorIzogYnVpbHRpbi9jbG9uZS5jOjE0NSBidWlsdGluL2ZldGNoLmM6MTkzIGJ1aWx0aW4vcHVsbC5jOjI0MworIzogYnVpbHRpbi9wdXNoLmM6NTc2CiBtc2dpZCAidXNlIElQdjYgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgItGB0LDQvNC+INCw0LTRgNC10YHQuCBJUHY2IgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mjc5CisjOiBidWlsdGluL2Nsb25lLmM6MTQ5Cittc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgdXNlIHRoZWlyIHJlbW90ZS10cmFja2luZyBicmFuY2giCittc2dzdHIgItCy0YHQuNGH0LrQuCDQutC70L7QvdC40YDQsNC90Lgg0L/QvtC00LzQvtC00YPQu9C4INGJ0LUg0L/QvtC70LfQstCw0YIg0YHQu9C10LTRj9GJ0LjRgtC1INGB0Lgg0LrQu9C+0L3QuCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjE1MQorbXNnaWQgImluaXRpYWxpemUgc3BhcnNlLWNoZWNrb3V0IGZpbGUgdG8gaW5jbHVkZSBvbmx5IGZpbGVzIGF0IHJvb3QiCittc2dzdHIgIiIKKyLQuNC90LjRhtC40LDQu9C40LfQuNGA0LDQvdC1INC90LAg0YTQsNC50LvQsCDQt9CwINGH0LDRgdGC0LjRh9C90L4g0LjQt9GC0LXQs9C70Y/QvdC1ICjigJ4uZ2l0L2luZm8vc3BhcnNlLWNoZWNrb3V04oCcKSAiCisi0LTQsCDRgdGK0LTRitGA0LbQsCDRgdCw0LzQviDRhNCw0LnQu9C+0LLQtdGC0LUg0LIg0L7RgdC90L7QstC90LDRgtCwINC00LjRgNC10LrRgtC+0YDQuNGPIgorCisjOiBidWlsdGluL2Nsb25lLmM6Mjg3CiBtc2dpZCAiIgogIk5vIGRpcmVjdG9yeSBuYW1lIGNvdWxkIGJlIGd1ZXNzZWQuXG4iCiAiUGxlYXNlIHNwZWNpZnkgYSBkaXJlY3Rvcnkgb24gdGhlIGNvbW1hbmQgbGluZSIKQEAgLTk2MDcsMTUxICsxMTk4NCwxNTIgQEAKICLQmNC80LXRgtC+INC90LAg0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LPQsNGC0L3QsNGC0L4uXG4iCiAi0JfQsNC00LDQudGC0LUg0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwINC40LfRgNC40YfQvdC+INC90LAg0LrQvtC80LDQvdC00L3QuNGPINGA0LXQtCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMzMgorIzogYnVpbHRpbi9jbG9uZS5jOjM0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZvOiBDb3VsZCBub3QgYWRkIGFsdGVybmF0ZSBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAiIgogItCf0KDQldCU0KPQn9Cg0JXQltCU0JXQndCY0JU6INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC00L7QsdCw0LLQuCDQsNC70YLQtdGA0L3QsNGC0LjQstC10L0g0LjQt9GC0L7Rh9C90LjQuiDQvdCwIOKAniVz4oCcOiAlc1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDA0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCi1tc2dzdHIgItC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtCy0L7RgNC10L3QsCIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjQxMgorIzogYnVpbHRpbi9jbG9uZS5jOjQxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAi4oCeJXPigJwg0YHRitGJ0LXRgdGC0LLRg9Cy0LAg0Lgg0L3QtSDQtSDQtNC40YDQtdC60YLQvtGA0LjRjyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQyNgorIzogYnVpbHRpbi9jbG9uZS5jOjQzMAogIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gc3RhdCAlc1xuIgotbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/QvtC70YPRh9C10L3QsCDQuNC90YTQvtGA0LzQsNGG0LjRjyDRh9GA0LXQtyDigJ5zdGF04oCcINC30LAg4oCeJXPigJxcbiIKK21zZ2lkICJmYWlsZWQgdG8gc3RhcnQgaXRlcmF0b3Igb3ZlciAnJXMnIgorbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjRgtC10YDQuNGA0LDQvdC1INC/0L4g4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHVubGluayAnJXMnIgotbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjQt9GC0YDQuNCy0LDQvdC1INC90LAg4oCeJXPigJwiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgItCy0YDRitC30LrQsNGC0LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YrQt9C00LDQtNC10L3QsCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ1MgorIzogYnVpbHRpbi9jbG9uZS5jOjQ2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCiBtc2dzdHIgItGE0LDQudC70YrRgiDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LrQvtC/0LjRgNCw0L0g0LrQsNGC0L4g4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGl0ZXJhdGUgb3ZlciAnJXMnIgorbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LjRgtC10YDQuNGA0LDQvdC1INC/0L4g4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG9uZS5cbiIKIG1zZ3N0ciAi0LTQtdC50YHRgtCy0LjQtdGC0L4g0LfQsNCy0YrRgNGI0LguXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0OTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1MDgKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgotImFuZCByZXRyeSB0aGUgY2hlY2tvdXQgd2l0aCAnZ2l0IGNoZWNrb3V0IC1mIEhFQUQnXG4iCisiYW5kIHJldHJ5IHdpdGggJ2dpdCByZXN0b3JlIC0tc291cmNlPUhFQUQgOi8nXG4iCiBtc2dzdHIgIiIKICLQmtC70L7QvdC40YDQsNC90LXRgtC+INCx0LUg0YPRgdC/0LXRiNC90L4g0LfQsCDRgNCw0LfQu9C40LrQsCDQvtGCINC/0L7QtNCz0L7RgtC+0LLQutCw0YLQsCDQvdCwINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+XG4iCiAi0LfQsCDQvtC/0YDQtdC00LXQu9C10L0g0LrQu9C+0L0uICDQktGB0LUg0L/QsNC6INC80L7QttC10YLQtSDQtNCwINC/0YDQvtCy0LXRgNC40YLQtSDQutC+0Lgg0YTQsNC50LvQvtCy0LUg0Lgg0L7RgiDQutC+0LlcbiIKICLQutC70L7QvSDQsiDQvNC+0LzQtdC90YLQsCDRgdCwINC40LfRgtC10LPQu9C10L3QuCDRgSDQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0IHN0YXR1c+KAnC4gINCc0L7QttC10YLQtSDQtNCwXG4iCi0i0LfQsNCy0YrRgNGI0LjRgtC1INC40LfRgtC10LPQu9GP0L3QtdGC0L4g0L3QsCDQutC70L7QvdCwINGBINC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgY2hlY2tvdXQgLWYgSEVBROKAnC5cbiIKKyLQt9Cw0LLRitGA0YjQuNGC0LUg0LjQt9GC0LXQs9C70Y/QvdC10YLQviDQvdCwINC60LvQvtC90LAg0YEg0LrQvtC80LDQvdC00LDRgtCwOlxuIgorIlxuIgorIiAgICBnaXQgcmVzdG9yZSAtLXNvdXJjZT1IRUFEIDovXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1NjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCiBtc2dzdHIgIiIKICLQmtC70L7QvdGK0YIg4oCeJXPigJwg0L7RgiDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1LCDQutC+0LXRgtC+INC60LvQvtC90LjRgNCw0YLQtSxcbiIKICLQuCDQutC+0LnRgtC+INGB0LvQtdC00LLQsCDQtNCwINCx0YrQtNC1INC40LfRgtC10LPQu9C10L0sINC90LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjgwCisjOiBidWlsdGluL2Nsb25lLmM6NzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgJXMiCiBtc2dzdHIgItC+0LHQtdC60YLRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtCx0L3QvtCy0LXQvSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjczMAorIzogYnVpbHRpbi9jbG9uZS5jOjc1MgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIHNwYXJzZS1jaGVja291dCIKK21zZ3N0ciAi0YfQsNGB0YLQuNGH0L3QvtGC0L4g0LjQt9GC0LXQs9C70Y/QvdC1INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40L3QuNGG0LjQsNC70LjQt9C40YDQsCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjc3NQogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAiIgogItGD0LrQsNC30LDRgtC10LvRj9GCIOKAnkhFQUTigJwg0L7RgiDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1INGB0L7Rh9C4INC60YrQvCDQvdC10YnQvixcbiIKICLQutC+0LXRgtC+INC90LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAuICDQndC1INC80L7QttC1INC00LAg0YHQtSDQuNC30YLQtdCz0LvQuCDQvtC/0YDQtdC00LXQu9C10L0g0LrQu9C+0L0uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NjEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MDYKIG1zZ2lkICJ1bmFibGUgdG8gY2hlY2tvdXQgd29ya2luZyB0cmVlIgogbXNnc3RyICLRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/QvtC00LPQvtGC0LLQtdC90L4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MDYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTYKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcGFyYW1ldGVycyB0byBjb25maWcgZmlsZSIKIG1zZ3N0ciAi0L3QsNGB0YLRgNC+0LnQutC40YLQtSDQvdC1INC80L7Qs9Cw0YIg0LTQsCDQsdGK0LTQsNGCINC30LDQv9C40YHQsNC90Lgg0LIg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC+0L3QvdC40Y8g0YTQsNC50LsiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MTkKIG1zZ2lkICJjYW5ub3QgcmVwYWNrIHRvIGNsZWFuIHVwIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30LLRitGA0YjQuCDQv9Cw0LrQtdGC0LjRgNCw0L3QtSDQt9CwINC40LfRh9C40YHRgtCy0LDQvdC1INC90LAg0YTQsNC50LvQvtCy0LXRgtC1IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODcxCisjOiBidWlsdGluL2Nsb25lLmM6OTIxCiBtc2dpZCAiY2Fubm90IHVubGluayB0ZW1wb3JhcnkgYWx0ZXJuYXRlcyBmaWxlIgogbXNnc3RyICLQstGA0LXQvNC10L3QvdC40Y/RgiDRhNCw0LnQuyDQt9CwINCw0LvRgtC10YDQvdCw0YLQuNCy0L3QuCDQvtCx0LXQutGC0Lgg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfRgtGA0LjRgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxMSBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NTkgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQ4CiBtc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKIG1zZ3N0ciAi0J/RgNC10LrQsNC70LXQvdC+INC80L3QvtCz0L4g0LDRgNCz0YPQvNC10L3RgtC4LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxNQorIzogYnVpbHRpbi9jbG9uZS5jOjk2MwogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSByZXBvc2l0b3J5IHRvIGNsb25lLiIKIG1zZ3N0ciAi0KLRgNGP0LHQstCwINC00LAg0YPQutCw0LbQtdGC0LUg0LrQvtC1INGF0YDQsNC90LjQu9C40YnQtSDQuNGB0LrQsNGC0LUg0LTQsCDQutC70L7QvdC40YDQsNGC0LUuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTI4CisjOiBidWlsdGluL2Nsb25lLmM6OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS1iYXJl4oCcINC4IOKAni0tb3JpZ2luICVz4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzMQorIzogYnVpbHRpbi9jbG9uZS5jOjk3OQogbXNnaWQgIi0tYmFyZSBhbmQgLS1zZXBhcmF0ZS1naXQtZGlyIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLWJhcmXigJwg0Lgg4oCeLS1zZXBhcmF0ZS1naXQtZGly4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0NAorIzogYnVpbHRpbi9jbG9uZS5jOjk5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBvc2l0b3J5ICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgItC90LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAg0YXRgNCw0L3QuNC70LjRidC1IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTUwIGJ1aWx0aW4vZmV0Y2guYzoxNjA2CisjOiBidWlsdGluL2Nsb25lLmM6OTk4IGJ1aWx0aW4vZmV0Y2guYzoxNzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKIG1zZ3N0ciAi0LTRitC70LHQvtGH0LjQvdCw0YLQsCDRgtGA0Y/QsdCy0LAg0LTQsCDQtSDQv9C+0LvQvtC20LjRgtC10LvQvdC+INGG0Y/Qu9C+INGH0LjRgdC70L4sINCwINC90LUg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgItGG0LXQu9C10LLQuNGP0YIg0L/RitGCIOKAniVz4oCcINGB0YrRidC10YHRgtCy0YPQstCwINC4INC90LUg0LUg0L/RgNCw0LfQvdCwINC00LjRgNC10LrRgtC+0YDQuNGPLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk3MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAid29ya2luZyB0cmVlICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICLQsiDigJ4lc+KAnCDQstC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCDRgNCw0LHQvtGC0L3QviDQtNGK0YDQstC+LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4NSBidWlsdGluL2Nsb25lLmM6MTAwNiBidWlsdGluL2RpZmZ0b29sLmM6MjcxCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Mjk1IGJ1aWx0aW4vd29ya3RyZWUuYzozMjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDMzIGJ1aWx0aW4vY2xvbmUuYzoxMDU0IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTg2NiBidWlsdGluL3dvcmt0cmVlLmM6MzAyIGJ1aWx0aW4vd29ya3RyZWUuYzozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgItGA0L7QtNC40YLQtdC70YHQutC40YLQtSDQtNC40YDQtdC60YLQvtGA0LjQuCDQvdCwIOKAniVz4oCcINC90LUg0LzQvtCz0LDRgiDQtNCwINCx0YrQtNCw0YIg0YHRitC30LTQsNC00LXQvdC4IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkwCisjOiBidWlsdGluL2Nsb25lLmM6MTAzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJyIKIG1zZ3N0ciAi0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0LIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YrQt9C00LDQtNC10L3Qvi4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEwCisjOiBidWlsdGluL2Nsb25lLmM6MTA1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKIG1zZ3N0ciAi0JrQu9C+0L3QuNGA0LDQvdC1INC4INGB0YrQt9C00LDQstCw0L3QtSDQvdCwINCz0L7Qu9C+INGF0YDQsNC90LjQu9C40YnQtSDQsiDigJ4lc+KAnOKAplxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxMgorIzogYnVpbHRpbi9jbG9uZS5jOjEwNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAi0JrQu9C+0L3QuNGA0LDQvdC1INC4INGB0YrQt9C00LDQstCw0L3QtSDQvdCwINGF0YDQsNC90LjQu9C40YnQtSDQsiDigJ4lc+KAnOKAplxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAzNgorIzogYnVpbHRpbi9jbG9uZS5jOjEwODQKIG1zZ2lkICIiCiAiY2xvbmUgLS1yZWN1cnNpdmUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBib3RoIC0tcmVmZXJlbmNlIGFuZCAtLXJlZmVyZW5jZS1pZi0iCiAiYWJsZSIKQEAgLTk3NTksNDQgKzEyMTM3LDQ0IEBACiAi0J7Qv9GG0LjRj9GC0LAg4oCeLS1yZWN1cnNpdmXigJwg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNCwINGBINC+0L/RhtC40LjRgtC1IOKAni0tcmVmZXJlbmNl4oCcINC4IOKAni0tcmVmZXJlbmNlLSIKICJpZi1hYmxl4oCcIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5NworIzogYnVpbHRpbi9jbG9uZS5jOjExNDgKIG1zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogItCf0YDQuCDQu9C+0LrQsNC70L3QviDQutC70L7QvdC40YDQsNC90LUg0L7Qv9GG0LjRj9GC0LAg4oCeLS1kZXB0aOKAnCDRgdC1INC/0YDQtdGB0LrQsNGH0LAuICDQn9C+0LvQt9Cy0LDQudGC0LUg0YHRhdC10LzQsNGC0LAgIgogIuKAnmZpbGU6Ly/igJwuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5OQorIzogYnVpbHRpbi9jbG9uZS5jOjExNTAKIG1zZ2lkICItLXNoYWxsb3ctc2luY2UgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICIiCiAi0J/RgNC4INC70L7QutCw0LvQvdC+INC60LvQvtC90LjRgNCw0L3QtSDQvtC/0YbQuNGP0YLQsCDigJ4tLXNoYWxsb3ctc2luY2XigJwg0YHQtSDQv9GA0LXRgdC60LDRh9CwLiAg0J/QvtC70LfQstCw0LnRgtC1ICIKICLRgdGF0LXQvNCw0YLQsCDigJ5maWxlOi8v4oCcLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTUyCiBtc2dpZCAiLS1zaGFsbG93LWV4Y2x1ZGUgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICIiCiAi0J/RgNC4INC70L7QutCw0LvQvdC+INC60LvQvtC90LjRgNCw0L3QtSDQvtC/0YbQuNGP0YLQsCDigJ4tLXNoYWxsb3ctZXhjbHVkZeKAnCDRgdC1INC/0YDQtdGB0LrQsNGH0LAuICDQn9C+0LvQt9Cy0LDQudGC0LUgIgogItGB0YXQtdC80LDRgtCwIOKAnmZpbGU6Ly/igJwuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEwMworIzogYnVpbHRpbi9jbG9uZS5jOjExNTQKIG1zZ2lkICItLWZpbHRlciBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKICLQn9GA0Lgg0LvQvtC60LDQu9C90L4g0LrQu9C+0L3QuNGA0LDQvdC1INC+0L/RhtC40Y/RgtCwIOKAni0tZmlsdGVy4oCcINGB0LUg0L/RgNC10YHQutCw0YfQsC4gINCf0L7Qu9C30LLQsNC50YLQtSDRgdGF0LXQvNCw0YLQsCAiCiAi4oCeZmlsZTovL+KAnC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTA2CisjOiBidWlsdGluL2Nsb25lLmM6MTE1NwogbXNnaWQgInNvdXJjZSByZXBvc2l0b3J5IGlzIHNoYWxsb3csIGlnbm9yaW5nIC0tbG9jYWwiCiBtc2dzdHIgItC60LvQvtC90LjRgNCw0L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1INC1INC/0LvQuNGC0LrQviwg0LfQsNGC0L7QstCwINC+0L/RhtC40Y/RgtCwIOKAni0tbG9jYWzigJwg0YHQtSDQv9GA0LXRgdC60LDRh9CwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTExMQorIzogYnVpbHRpbi9jbG9uZS5jOjExNjIKIG1zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tbG9jYWzigJwg0YHQtSDQv9GA0LXRgdC60LDRh9CwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE4MSBidWlsdGluL2Nsb25lLmM6MTE4OQorIzogYnVpbHRpbi9jbG9uZS5jOjEyMzcgYnVpbHRpbi9jbG9uZS5jOjEyNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgItCe0YLQtNCw0LvQtdGH0LXQvdC40Y/RgiDQutC70L7QvSDigJ4lc+KAnCDQu9C40L/RgdCy0LAg0LIg0LrQu9C+0L3QuNGA0LDQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTkyCisjOiBidWlsdGluL2Nsb25lLmM6MTI0OAogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgItCY0LfQs9C70LXQttC00LAg0LrQu9C+0L3QuNGA0LDRhdGC0LUg0L/RgNCw0LfQvdC+INGF0YDQsNC90LjQu9C40YnQtS4iCiAKQEAgLTk4MzIsMTUgKzEyMjEwLDgzIEBACiBtc2dpZCAiLS1jb21tYW5kIG11c3QgYmUgdGhlIGZpcnN0IGFyZ3VtZW50IgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLWNvbW1hbmTigJwg0YLRgNGP0LHQstCwINC00LAg0LUg0L/RitGA0LLQuNGP0YIg0LDRgNCz0YPQvNC10L3RgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MAorIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjE4Cittc2dpZCAiIgorImdpdCBjb21taXQtdHJlZSBbKC1wIDxwYXJlbnQ+KS4uLl0gWy1TWzxrZXlpZD5dXSBbKC1tIDxtZXNzYWdlPikuLi5dIFsoLUYgIgorIjxmaWxlPikuLi5dIDx0cmVlPiIKK21zZ3N0ciAiIgorImdpdCBjb21taXQtdHJlZSBbKC1wINCg0J7QlNCY0KLQldCbKeKApl0gWy1TW9CY0JTQldCd0KLQmNCk0JjQmtCQ0KLQntCgXV0gWygtbSDQodCq0J7QkdCp0JXQndCY0JUp4oCmXSBbKC1GICIKKyLQpNCQ0JnQmynigKZdINCU0KrQoNCS0J4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzozMQorIywgYy1mb3JtYXQKK21zZ2lkICJkdXBsaWNhdGUgcGFyZW50ICVzIGlnbm9yZWQiCittc2dzdHIgItC/0YDQtdGB0LrQsNGH0LDQvdC1INC90LAg0L/QvtCy0YLQsNGA0Y/RiSDRgdC1INGA0L7QtNC40YLQtdC7OiDigJ4lc+KAnCIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjU2IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMzYgYnVpbHRpbi9sb2cuYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdC+INC40LzQtSDQvdCwINC+0LHQtdC60YI6IOKAniVz4oCcIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gb3BlbiAnJXMnIgorbXNnc3RyICJnaXQgY29tbWl0LXRyZWU6IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQstC+0YDQuCIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIHJlYWQgJyVzJyIKK21zZ3N0ciAiZ2l0IGNvbW1pdC10cmVlOiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0L7Rh9C10YLQtSIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIGNsb3NlICclcyciCittc2dzdHIgImdpdCBjb21taXQtdHJlZTog4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsNGC0LLQvtGA0LgiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTEKK21zZ2lkICJwYXJlbnQiCittc2dzdHIgItGA0L7QtNC40YLQtdC7IgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTEyCittc2dpZCAiaWQgb2YgYSBwYXJlbnQgY29tbWl0IG9iamVjdCIKK21zZ3N0ciAi0JjQlNCV0J3QotCY0KTQmNCa0JDQotCe0KAg0L3QsCDQvtCx0LXQutGC0LAg0LfQsCDQv9C+0LTQsNCy0LDQvdC10YLQvi3RgNC+0LTQuNGC0LXQuyIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExNCBidWlsdGluL2NvbW1pdC5jOjE0OTYgYnVpbHRpbi9tZXJnZS5jOjI3MAorIzogYnVpbHRpbi9ub3Rlcy5jOjQwOSBidWlsdGluL25vdGVzLmM6NTc1IGJ1aWx0aW4vc3Rhc2guYzoxNDY5CisjOiBidWlsdGluL3RhZy5jOjQxMgorbXNnaWQgIm1lc3NhZ2UiCittc2dzdHIgItCh0KrQntCR0KnQldCd0JjQlSIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExNSBidWlsdGluL2NvbW1pdC5jOjE0OTYKK21zZ2lkICJjb21taXQgbWVzc2FnZSIKK21zZ3N0ciAi0KHQqtCe0JHQqdCV0J3QmNCVINC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1IgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTE4Cittc2dpZCAicmVhZCBjb21taXQgbG9nIG1lc3NhZ2UgZnJvbSBmaWxlIgorbXNnc3RyICLQuNC30YfQuNGC0LDQvdC1INC90LAg0YHRitC+0LHRidC10L3QuNC10YLQviDQt9CwINC/0L7QtNCw0LLQsNC90LUg0L7RgiDQpNCQ0JnQmyIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjEyMSBidWlsdGluL2NvbW1pdC5jOjE1MDggYnVpbHRpbi9tZXJnZS5jOjI4NworIzogYnVpbHRpbi9wdWxsLmM6MTk1IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE4Cittc2dpZCAiR1BHIHNpZ24gY29tbWl0IgorbXNnc3RyICLQv9C+0LTQv9C40YHQstCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LXRgtC+INGBIEdQRyIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjEzMworbXNnaWQgIm11c3QgZ2l2ZSBleGFjdGx5IG9uZSB0cmVlIgorbXNnc3RyICLRgtGA0Y/QsdCy0LAg0LTQsCDQtSDRgtC+0YfQvdC+INC10LTQvdC+INC00YrRgNCy0L4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxNDAKK21zZ2lkICJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byByZWFkIgorbXNnc3RyICJnaXQgY29tbWl0LXRyZWU6INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQvtGH0LXRgtC1IgorCisjOiBidWlsdGluL2NvbW1pdC5jOjQxCiBtc2dpZCAiZ2l0IGNvbW1pdCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBjb21taXQgW9Ce0J/QptCY0K/igKZdIFstLV0g0J/QqtCi4oCmIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjQ2CiBtc2dpZCAiZ2l0IHN0YXR1cyBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBzdGF0dXMgW9Ce0J/QptCY0K/igKZdIFstLV0g0J/QqtCi4oCmIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjUwCisjOiBidWlsdGluL2NvbW1pdC5jOjUxCiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBhbWVuZCB0aGUgbW9zdCByZWNlbnQgY29tbWl0LCBidXQgZG9pbmcgc28gd291bGQgbWFrZVxuIgogIml0IGVtcHR5LiBZb3UgY2FuIHJlcGVhdCB5b3VyIGNvbW1hbmQgd2l0aCAtLWFsbG93LWVtcHR5LCBvciB5b3UgY2FuXG4iCkBAIC05ODUyLDcgKzEyMjk4LDcgQEAKICLRgSDQvtC/0YbQuNGP0YLQsCDigJ4tLWFsbG93LWVtcHR54oCcLCDQuNC70Lgg0LTQsCDQs9C+INC40LfRgtGA0LjQtdGC0LUg0L7RgiDQuNGB0YLQvtGA0LjRj9GC0LAg0YEg0LrQvtC80LDQvdC00LDRgtCwOlxuIgogIuKAnmdpdCByZXNldCBIRUFEXuKAnC5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NQorIzogYnVpbHRpbi9jb21taXQuYzo1NgogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCkBAIC05ODY3LDgxICsxMjMxMyw5OCBAQAogIiAgICBnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHlcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MgotbXNnaWQgIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgotbXNnc3RyICLQkiDQv9GA0L7RgtC40LLQtdC9INGB0LvRg9GH0LDQuSDQuNC30L/QvtC70LfQstCw0LnRgtC1INC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgcmVzZXTigJxcbiIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjMKK21zZ2lkICJPdGhlcndpc2UsIHBsZWFzZSB1c2UgJ2dpdCBjaGVycnktcGljayAtLXNraXAnXG4iCittc2dzdHIgIiIKKyLQkiDQv9GA0L7RgtC40LLQtdC9INGB0LvRg9GH0LDQuSDQuNC30L/QvtC70LfQstCw0LnRgtC1INC60L7QvNCw0L3QtNCw0YLQsDpcbiIKKyJcbiIKKyIgICAgZ2l0IGNoZXJyeS1waWNrIC0tc2tpcFxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY1CisjOiBidWlsdGluL2NvbW1pdC5jOjY2CiBtc2dpZCAiIgorImFuZCB0aGVuIHVzZTpcbiIKKyJcbiIKKyIgICAgZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcbiIKKyJcbiIKKyJ0byByZXN1bWUgY2hlcnJ5LXBpY2tpbmcgdGhlIHJlbWFpbmluZyBjb21taXRzLlxuIgogIklmIHlvdSB3aXNoIHRvIHNraXAgdGhpcyBjb21taXQsIHVzZTpcbiIKICJcbiIKLSIgICAgZ2l0IHJlc2V0XG4iCisiICAgIGdpdCBjaGVycnktcGljayAtLXNraXBcbiIKICJcbiIKLSJUaGVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiB3aWxsIHJlc3VtZSBjaGVycnktcGlja2luZ1xuIgotInRoZSByZW1haW5pbmcgY29tbWl0cy5cbiIKIG1zZ3N0ciAiIgotItCQ0LrQviDQuNGB0LrQsNGC0LUg0LTQsCDQv9GA0LXRgdC60L7Rh9C40YLQtSDRgtC+0LLQsCDQv9C+0LTQsNCy0LDQvdC1LCDQuNC30L/QvtC70LfQstCw0LnRgtC1INC60L7QvNCw0L3QtNCw0YLQsDpcbiIKKyLRgdC70LXQtCDRgtC+0LLQsCDQuNC30L/RitC70L3QtdGC0LU6XG4iCiAiXG4iCi0iICAgIGdpdCByZXNldFxuIgorIiAgICBnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVxuIgogIlxuIgotItCn0YDQtdC3INC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZeKAnCDRidC1INC/0YDQvtC00YrQu9C20LjRgtC1INC+0YLQsdC40YDQsNC90LXRgtC+INC90LBcbiIKLSLQvtGB0YLQsNC90LDQu9C40YLQtSDQv9C+0LTQsNCy0LDQvdC40Y8uXG4iCisi0Lgg0YnQtSDQv9GA0L7QtNGK0LvQttC40YLQtSDQtNCwINC+0YLQsdC40YDQsNGC0LUg0L7RgdGC0LDQvdCw0LvQuNGC0LUg0L/QvtC00LDQstCw0L3QuNGPLlxuIgorItCX0LAg0LTQsCDQv9GA0LXRgdC60L7Rh9C40YLQtSDRgtC+0LLQsCDQv9C+0LTQsNCy0LDQvdC1LCDQuNC30L/RitC70L3QtdGC0LU6XG4iCisiXG4iCisiICAgIGdpdCBjaGVycnktcGljayAtLXNraXBcbiIKKyJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzE1CiBtc2dpZCAiZmFpbGVkIHRvIHVucGFjayBIRUFEIHRyZWUgb2JqZWN0IgogbXNnc3RyICLQstGK0YDRhdC+0LLQvtGC0L4g0LTRitGA0LLQviAoSEVBRCB0cmVlIG9iamVjdCkg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfQstCw0LTQtdC90L4g0L7RgiDQv9Cw0LrQtdGCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1MgorIzogYnVpbHRpbi9jb21taXQuYzozNTEKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgItC+0L/RhtC40LjRgtC1IOKAni1h4oCcINC4IOKAni0tcGF0aHNwZWMtZnJvbS1maWxl4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgorCisjOiBidWlsdGluL2NvbW1pdC5jOjM2NAorbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKK21zZ3N0ciAi0J7Qv9GG0LjQuNGC0LUg4oCeLS1pbmNsdWRl4oCcINC4IOKAni0tb25seeKAnCDQuNC30LjRgdC60LLQsNGCINCw0YDQs9GD0LzQtdC90YLQuC4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Mzc2CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgItCy0YDQtdC80LXQvdC90LjRj9GCINC40L3QtNC10LrRgSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRitC30LTQsNC00LXQvSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzgyCiBtc2dpZCAiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC40L3RgtC10YDQsNC60YLQuNCy0L3QviDQtNC+0LHQsNCy0Y/QvdC1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM3MQorIzogYnVpbHRpbi9jb21taXQuYzozOTYKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAi0LLRgNC10LzQtdC90L3QuNGP0YIg0LjQvdC00LXQutGBINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtCx0L3QvtCy0LXQvSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Mzk4CiBtc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBtYWluIGNhY2hlIHRyZWUiCiBtc2dzdHIgItCU0YrRgNCy0L7RgtC+INC90LAg0L7RgdC90L7QstC90LjRjyDQutC10Ygg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0LHQvdC+0LLQtdC90L4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Mzk4IGJ1aWx0aW4vY29tbWl0LmM6NDIxIGJ1aWx0aW4vY29tbWl0LmM6NDY3CisjOiBidWlsdGluL2NvbW1pdC5jOjQyMyBidWlsdGluL2NvbW1pdC5jOjQ0NiBidWlsdGluL2NvbW1pdC5jOjQ5MgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXdfaW5kZXggZmlsZSIKIG1zZ3N0ciAi0L3QvtCy0LjRj9GCINC40L3QtNC10LrRgSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LjRgdCw0L0iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDUwCisjOiBidWlsdGluL2NvbW1pdC5jOjQ3NQogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIG1lcmdlLiIKIG1zZ3N0ciAi0L/QviDQstGA0LXQvNC1INC90LAg0YHQu9C40LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9Cy0YrRgNGI0Lgg0YfQsNGB0YLQuNGH0L3QviDQv9C+0LTQsNCy0LDQvdC1LiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDc3CiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgogbXNnc3RyICLQv9C+INCy0YDQtdC80LUg0L3QsCDQvtGC0LHQuNGA0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQstGK0YDRiNC4INGH0LDRgdGC0LjRh9C90L4g0L/QvtC00LDQstCw0L3QtS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDYwCisjOiBidWlsdGluL2NvbW1pdC5jOjQ4NQogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAi0LjQvdC00LXQutGB0YrRgiDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTA0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRlbXBvcmFyeSBpbmRleCBmaWxlIgogbXNnc3RyICLQstGA0LXQvNC10L3QvdC40Y/RgiDQuNC90LTQtdC60YEg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9C40YHQsNC9IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU3NworIzogYnVpbHRpbi9jb21taXQuYzo2MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICclcycgbGFja3MgYXV0aG9yIGhlYWRlciIKIG1zZ3N0ciAi0LfQsNCz0LvQsNCy0L3QsNGC0LAg0YfQsNGB0YIg0LfQsCDQsNCy0YLQvtGAINCyINC/0L7QtNCw0LLQsNC90LXRgtC+IOKAniVz4oCcINC70LjQv9GB0LLQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAnJXMnIGhhcyBtYWxmb3JtZWQgYXV0aG9yIGxpbmUiCiBtc2dzdHIgItC30LDQs9C70LDQstC90LDRgtCwINGH0LDRgdGCINC30LAg0LDQstGC0L7RgCDQsiDQv9C+0LTQsNCy0LDQvdC10YLQviDigJ4lc+KAnCDQtSDQvdC10L/RgNCw0LLQuNC70L3QsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1OTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjIzCiBtc2dpZCAibWFsZm9ybWVkIC0tYXV0aG9yIHBhcmFtZXRlciIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0L/QsNGA0LDQvNC10YLRitGAINC60YrQvCDQvtC/0YbQuNGP0YLQsCDigJ4tLWF1dGhvcuKAnCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Njc2CiBtc2dpZCAiIgogInVuYWJsZSB0byBzZWxlY3QgYSBjb21tZW50IGNoYXJhY3RlciB0aGF0IGlzIG5vdCB1c2VkXG4iCiAiaW4gdGhlIGN1cnJlbnQgY29tbWl0IG1lc3NhZ2UiCkBAIC05OTQ5LDM4ICsxMjQxMiwzOCBAQAogItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQsdC10YDQtSDQt9C90LDQuiDQt9CwINC60L7QvNC10L3RgtCw0YAg4oCUINCyINGC0LXQutGD0YnQvtGC0L4g0YHRitC+0LHRidC10L3QuNC1INC30LAg0L/QvtC00LDQstCw0L3QtSDRgdCwICIKICLQuNC30L/QvtC70LfQstCw0L3QuCDQstGB0LjRh9C60Lgg0L/QvtC00L7QsdC90Lgg0LfQvdCw0YbQuCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2ODcgYnVpbHRpbi9jb21taXQuYzo3MjAgYnVpbHRpbi9jb21taXQuYzoxMDQ5CisjOiBidWlsdGluL2NvbW1pdC5jOjcxNCBidWlsdGluL2NvbW1pdC5jOjc0NyBidWlsdGluL2NvbW1pdC5jOjEwOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCiBtc2dzdHIgItGB0LvQtdC00L3QvtGC0L4g0L/QvtC00LDQstCw0L3QtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC60YDQuNGC0L46ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5OSBidWlsdGluL3Nob3J0bG9nLmM6MzE3CisjOiBidWlsdGluL2NvbW1pdC5jOjcyNiBidWlsdGluL3Nob3J0bG9nLmM6MzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIihyZWFkaW5nIGxvZyBtZXNzYWdlIGZyb20gc3RhbmRhcmQgaW5wdXQpXG4iCiBtc2dzdHIgIijQuNC30YfQuNGC0LDQvdC1INC90LAg0YHRitC+0LHRidC10L3QuNC10YLQviDQt9CwINC/0L7QtNCw0LLQsNC90LUg0L7RgiDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINCy0YXQvtC0KVxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwMQorIzogYnVpbHRpbi9jb21taXQuYzo3MjgKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi0YHRitC+0LHRidC10L3QuNC10YLQviDQt9CwINC/0L7QtNCw0LLQsNC90LUg0L3QtSDQsdC1INC/0YDQvtGH0LXRgtC10L3QviDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINCy0YXQvtC0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwNQorIzogYnVpbHRpbi9jb21taXQuYzo3MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZpbGUgJyVzJyIKIG1zZ3N0ciAi0YTQsNC50LvRitGCINGB0YrRgSDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC30LAg0L/QvtC00LDQstCw0L3QtSDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MzQgYnVpbHRpbi9jb21taXQuYzo3NDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzYzIGJ1aWx0aW4vY29tbWl0LmM6Nzc5CiBtc2dpZCAiY291bGQgbm90IHJlYWQgU1FVQVNIX01TRyIKIG1zZ3N0ciAi0YHRitC+0LHRidC10L3QuNC10YLQviDQt9CwINCy0LrQsNGA0LLQsNC90LUgU1FVQVNIX01TRyDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvdC+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczOQorIzogYnVpbHRpbi9jb21taXQuYzo3NzAKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NU0ciCiBtc2dzdHIgItGB0YrQvtCx0YnQtdC90LjQtdGC0L4g0LfQsCDRgdC70LjQstCw0L3QtSBNRVJHRV9NU0cg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L3QviIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODMwCiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKIG1zZ3N0ciAi0YjQsNCx0LvQvtC90YrRgiDQt9CwINC/0L7QtNCw0LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9Cw0LfQtdC9IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgxMQorIzogYnVpbHRpbi9jb21taXQuYzo4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtOTk5MiwxMCArMTI0NTUsMTAgQEAKICJcbiIKICLQmNC30LPQu9C10LbQtNCwLCDRh9C1INC/0L7QtNCw0LLQsNGC0LUg0YHQu9C40LLQsNC90LUuICDQkNC60L4g0YLQvtCy0LAg0L3QtSDQtSDRgtCw0LrQsCwg0LjQt9GC0YDQuNC50YLQtSDRhNCw0LnQu9CwOlxuIgogIlxuIgotIiAgJXNcbiIKKyIgICAgJXNcbiIKICLQuCDQvtC/0LjRgtCw0LnRgtC1INC+0YLQvdC+0LLQvi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTEwMDA4LDEwICsxMjQ3MSwxMCBAQAogItCY0LfQs9C70LXQttC00LAsINGH0LUg0LjQt9Cy0YrRgNGI0LLQsNGC0LUg0L7RgtCx0YDQsNC90L4g0L/QvtC00LDQstCw0L3QtS4gINCQ0LrQviDRgtC+0LLQsCDQvdC1INC1INGC0LDQutCwLCDQuNC30YLRgNC40LnRgtC1ICIKICLRhNCw0LnQu9CwOlxuIgogIlxuIgotIiAgJXNcbiIKKyIgICAgJXNcbiIKICLQuCDQvtC/0LjRgtCw0LnRgtC1INC+0YLQvdC+0LLQvi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC0xMDAyMCw3ICsxMjQ4Myw3IEBACiAi0JLRitCy0LXQtNC10YLQtSDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC30LAg0L/QvtC00LDQstCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC40YLQtS4gINCg0LXQtNC+0LLQtdGC0LUsINC60L7QuNGC0L4g0LfQsNC/0L7Rh9Cy0LDRglxuIgogItGBIOKAniVj4oCcLCDRidC1INCx0YrQtNCw0YIg0L/RgNC+0L/Rg9GB0L3QsNGC0LgsINCwINC/0YDQsNC30L3QviDRgdGK0L7QsdGJ0LXQvdC40LUg0L/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LAg0L/QvtC00LDQstCw0L3QtdGC0L4uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODM3CisjOiBidWlsdGluL2NvbW1pdC5jOjg3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgpAQCAtMTAwMzEsMTU1ICsxMjQ5NCwxNDcgQEAKICLRgSDigJ4lY+KAnCwg0YHRitGJ0L4g0YnQtSDQsdGK0LTQsNGCINCy0LrQu9GO0YfQtdC90Lgg4oCUINC80L7QttC1INC00LAg0LPQuCDQuNC30YLRgNC40LXRgtC1INCy0LjQtS4gINCf0YDQsNC30L3QviBcbiIKICLRgdGK0L7QsdGJ0LXQvdC40LUg0L/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LAg0L/QvtC00LDQstCw0L3QtdGC0L4uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODU0CisjOiBidWlsdGluL2NvbW1pdC5jOjg5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0F1dGhvcjogICAgJS4qcyA8JS4qcz4iCiBtc2dzdHIgIiVz0JDQstGC0L7RgDogICAlLipzIDwlLipzPiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzRGF0ZTogICAgICAlcyIKIG1zZ3N0ciAiJXPQlNCw0YLQsDogICAgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODY5CisjOiBidWlsdGluL2NvbW1pdC5jOjkwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0NvbW1pdHRlcjogJS4qcyA8JS4qcz4iCiBtc2dzdHIgIiVz0J/QvtC00LDQstCw0Yk6ICUuKnMgPCUuKnM+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg4NworIzogYnVpbHRpbi9jb21taXQuYzo5MjUKIG1zZ2lkICJDYW5ub3QgcmVhZCBpbmRleCIKIG1zZ3N0ciAi0JjQvdC00LXQutGB0YrRgiDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTkyCiBtc2dpZCAiRXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgItCT0YDQtdGI0LrQsCDQv9GA0Lgg0LjQt9Cz0YDQsNC20LTQsNC90LUg0L3QsCDQtNGK0YDQstC10YLQsNGC0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTY3IGJ1aWx0aW4vdGFnLmM6MjU4CisjOiBidWlsdGluL2NvbW1pdC5jOjEwMDYgYnVpbHRpbi90YWcuYzoyNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbWVzc2FnZSB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uLlxuIgogbXNnc3RyICLQn9C+0LTQsNC50YLQtSDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INGBINC90Y/QutC+0Y8g0L7RgiDQvtC/0YbQuNC40YLQtSDigJ4tbeKAnCDQuNC70Lgg4oCeLUbigJwuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAxMQorIzogYnVpbHRpbi9jb21taXQuYzoxMDUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYXV0aG9yICclcycgaXMgbm90ICdOYW1lIDxlbWFpbD4nIGFuZCBtYXRjaGVzIG5vIGV4aXN0aW5nIGF1dGhvciIKIG1zZ3N0ciAiIgogItCe0L/RhtC40Y/RgtCwIOKAni0tYXV0aG9yICclcyfigJwg0L3QtSDQvtGC0LPQvtCy0LDRgNGPINC90LAg0YTQvtGA0LzQsMyA0YLQsCDigJ7QmNC80LUgPNC1LdC/0L7RidCwPuKAnCDQuCDQvdC1INGB0YrQstC/0LDQtNCwINGBICIKICLQvdC40LrQvtC5INCw0LLRgtC+0YAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAyNQorIzogYnVpbHRpbi9jb21taXQuYzoxMDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgaWdub3JlZCBtb2RlICclcyciCiBtc2dzdHIgItCd0LXQv9GA0LDQstC40LvQtdC9INGA0LXQttC40Lwg0LfQsCDQuNCz0L3QvtGA0LjRgNCw0L3QuNGC0LUg0YTQsNC50LvQvtCy0LU6IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMzkgYnVpbHRpbi9jb21taXQuYzoxMjc2CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODIgYnVpbHRpbi9jb21taXQuYzoxMzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C10L0g0YDQtdC20LjQvCDQt9CwINC90LXRgdC70LXQtNC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LU6IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyMgogbXNnaWQgIi0tbG9uZyBhbmQgLXogYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAi0J7Qv9GG0LjQuNGC0LUg4oCeLS1sb25n4oCcINC4IOKAni164oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4LiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTEwCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjYKIG1zZ2lkICJVc2luZyBib3RoIC0tcmVzZXQtYXV0aG9yIGFuZCAtLWF1dGhvciBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICLQntC/0YbQuNC40YLQtSDigJ4tLXJlc2V0LWF1dGhvcuKAnCDQuCDigJ4tLWF1dGhvcuKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExOQorIzogYnVpbHRpbi9jb21taXQuYzoxMTc1CiBtc2dpZCAiWW91IGhhdmUgbm90aGluZyB0byBhbWVuZC4iCiBtc2dzdHIgItCd0Y/QvNCwINC60LDQutCy0L4g0LTQsCDQsdGK0LTQtSDQv9C+0L/RgNCw0LLQtdC90L4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3OAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgItCSINC80L7QvNC10L3RgtCwINGB0LUg0LjQt9Cy0YrRgNGI0LLQsCDRgdC70LjQstCw0L3QtSwg0L3QtSDQvNC+0LbQtdGC0LUg0LTQsCDQv9C+0L/RgNCw0LLRj9GC0LUuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIGNoZXJyeS1waWNrIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgItCSINC80L7QvNC10L3RgtCwINGB0LUg0LjQt9Cy0YrRgNGI0LLQsCDQvtGC0LHQuNGA0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QtSwg0L3QtSDQvNC+0LbQtdGC0LUg0LTQsCDQv9C+0L/RgNCw0LLRj9GC0LUuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MwogbXNnaWQgIk9wdGlvbnMgLS1zcXVhc2ggYW5kIC0tZml4dXAgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgItCe0L/RhtC40LjRgtC1IOKAni0tc3F1YXNo4oCcINC4IOKAni0tZml4dXDigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LguIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE5MwogbXNnaWQgIk9ubHkgb25lIG9mIC1jLy1DLy1GLy0tZml4dXAgY2FuIGJlIHVzZWQuIgogbXNnc3RyICLQntC/0YbQuNC40YLQtSDigJ4tY+KAnCwg4oCeLUPigJwsIOKAni1G4oCcINC4IOKAni0tZml4dXDigJzigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LguIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE5NQogbXNnaWQgIk9wdGlvbiAtbSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtYy8tQy8tRi4iCiBtc2dzdHIgItCe0L/RhtC40Y/RgtCwIOKAni1t4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDigJ4tY+KAnCwg4oCeLUPigJwg0Lgg4oCeLUbigJwuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwMwogbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCiBtc2dzdHIgIiIKICLQntC/0YbQuNGP0YLQsCDigJ4tLXJlc2V0LWF1dGhvcuKAnCDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9C/0L7Qu9C30LLQsCDRgdCw0LzQviDQt9Cw0LXQtNC90L4g0YEg4oCeLUPigJwsIOKAni1j4oCcINC40LvQuFxuIgogIuKAni0tYW1lbmTigJwuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyMAogbXNnaWQgIk9ubHkgb25lIG9mIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiIgogItCe0L/RhtC40LjRgtC1IOKAni0taW5jbHVkZeKAnCwg4oCeLS1vbmx54oCcLCDigJ4tLWFsbOKAnCwg4oCeLS1pbnRlcmFjdGl2ZeKAnCDQuCDigJ4tLXBhdGNo4oCcINGB0LBcbiIKICLQvdC10YHRitCy0LzQtdGB0YLQuNC80LguIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjYKLW1zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCi1tc2dzdHIgItCe0L/RhtC40LjRgtC1IOKAni0taW5jbHVkZeKAnCDQuCDigJ4tLW9ubHnigJwg0LjQt9C40YHQutCy0LDRgiDQsNGA0LPRg9C80LXQvdGC0LguIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjExODAgYnVpbHRpbi90YWcuYzo1NDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNgogIywgYy1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIGNsZWFudXAgbW9kZSAlcyIKLW1zZ3N0ciAi0J3QtdGB0YrRidC10YHRgtCy0YPQstCw0Ykg0YDQtdC20LjQvCDQvdCwINC40LfRh9C40YHRgtCy0LDQvdC1IOKAniVz4oCcIgorbXNnaWQgInBhdGhzICclcyAuLi4nIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLWHigJwg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNCwINGB0YrRgSDQt9Cw0LTQsNCy0LDQvdC10YLQviDQvdCwINC/0YrRgtC40YnQsDog4oCeJXPigKbigJwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4NQotbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCi1tc2dzdHIgItCe0L/RhtC40Y/RgtCwIOKAni1h4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgdGK0YEg0LfQsNC00LDQstCw0L3QtdGC0L4g0L3QsCDQv9GK0YLQuNGJ0LAuIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTEgYnVpbHRpbi9jb21taXQuYzoxNDk1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTcgYnVpbHRpbi9jb21taXQuYzoxNTE5CiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICLQutGA0LDRgtC60LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDRgdGK0YHRgtC+0Y/QvdC40LXRgtC+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTMgYnVpbHRpbi9jb21taXQuYzoxNDk3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTkgYnVpbHRpbi9jb21taXQuYzoxNTIxCiBtc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgItC40L3RhNC+0YDQvNCw0YbQuNGPINC30LAg0LrQu9C+0L3QuNGC0LUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxNQorIzogYnVpbHRpbi9jb21taXQuYzoxMzYxCiBtc2dpZCAic2hvdyBzdGFzaCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDRgdC60LDRgtCw0L3QvtGC0L4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxNyBidWlsdGluL2NvbW1pdC5jOjE0OTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MyBidWlsdGluL2NvbW1pdC5jOjE1MjMKIG1zZ2lkICJjb21wdXRlIGZ1bGwgYWhlYWQvYmVoaW5kIHZhbHVlcyIKIG1zZ3N0ciAi0LjQt9GH0LjRgdC70Y/QstCw0L3QtSDQvdCwINGC0L7Rh9C90LjRgtC1INGB0YLQvtC50L3QvtGB0YLQuCDQvdCw0L/RgNC10LQv0L3QsNC30LDQtCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzE5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjUKIG1zZ2lkICJ2ZXJzaW9uIgogbXNnc3RyICLQstC10YDRgdC40Y8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxOSBidWlsdGluL2NvbW1pdC5jOjE1MDEgYnVpbHRpbi9wdXNoLmM6NTU4Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjM5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjUgYnVpbHRpbi9jb21taXQuYzoxNTI1IGJ1aWx0aW4vcHVzaC5jOjU0OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY1MAogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICLRhNC+0YDQvNCw0YIg0L3QsCDQuNC30YXQvtC00LAg0LfQsCDRh9C10YLQtdC90LUg0L7RgiDQv9GA0L7Qs9GA0LDQvNCwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjIgYnVpbHRpbi9jb21taXQuYzoxNTAzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjggYnVpbHRpbi9jb21taXQuYzoxNTI3CiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICLQv9C+0LTRgNC+0LHQvdCwINC40L3RhNC+0YDQvNCw0YbQuNGPINC30LAg0YHRitGB0YLQvtGP0L3QuNC10YLQviAo0YHRgtCw0L3QtNCw0YDRgtC90L4pIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjUgYnVpbHRpbi9jb21taXQuYzoxNTA2CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNzEgYnVpbHRpbi9jb21taXQuYzoxNTMwCiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiCiBtc2dzdHIgItGA0LDQt9C00LXQu9GP0L3QtSDQvdCwINC10LvQtdC80LXQvdGC0LjRgtC1INGBINC90YPQu9C10LLQuNGPINC30L3QsNC6IOKAnk5VTOKAnCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzI3IGJ1aWx0aW4vY29tbWl0LmM6MTMzMSBidWlsdGluL2NvbW1pdC5jOjE1MDkKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDA3IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDEwIGJ1aWx0aW4vcmViYXNlLmM6OTEwCi0jOiBidWlsdGluL3RhZy5jOjQwMAorIzogYnVpbHRpbi9jb21taXQuYzoxMzczIGJ1aWx0aW4vY29tbWl0LmM6MTM3NyBidWlsdGluL2NvbW1pdC5jOjE1MzMKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTUzIGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTU2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1OSBidWlsdGluL3JlYmFzZS5jOjE1MjUgcGFyc2Utb3B0aW9ucy5oOjMzNgogbXNnaWQgIm1vZGUiCiBtc2dzdHIgItCg0JXQltCY0JwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyOCBidWlsdGluL2NvbW1pdC5jOjE1MDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3NCBidWlsdGluL2NvbW1pdC5jOjE1MzMKIG1zZ2lkICJzaG93IHVudHJhY2tlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IGFsbCwgbm9ybWFsLCBuby4gKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgIiIKICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQvdC10YHQu9C10LTQtdC90LjRgtC1INGE0LDQudC70L7QstC1LiAg0JLRitC30LzQvtC20L3QuNGC0LUg0KDQldCW0JjQnNC4INGB0LAg4oCeYWxs4oCcICjQv9C+0LTRgNC+0LHQvdCwICIKICLQuNC90YTQvtGA0LzQsNGG0LjRjyksIOKAnm5vcm1hbOKAnCAo0LrRgNCw0YLQutCwINC40L3RhNC+0YDQvNCw0YbQuNGPKSwg4oCebm/igJwgKNCx0LXQtyDQvdC10YHQu9C10LTQtdC90LjRgtC1INGE0LDQudC70L7QstC1KS4gICIKICLQodGC0LDQvdC00LDRgNGC0L3QuNGP0YIg0KDQldCW0JjQnCDQtTog4oCeYWxs4oCcLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzMyCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNzgKIG1zZ2lkICIiCiAic2hvdyBpZ25vcmVkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogdHJhZGl0aW9uYWwsIG1hdGNoaW5nLCBuby4gKERlZmF1bHQ6ICIKICJ0cmFkaXRpb25hbCkiCkBAIC0xMDE4OCwxMSArMTI2NDMsMTEgQEAKICLigJ50cmFkaXRpb25hbOKAnCAo0YLRgNCw0LTQuNGG0LjQvtC90LXQvSksIOKAnm1hdGNoaW5n4oCcICjQvdCw0L/QsNGB0LLQsNGJ0LgpLCDigJ5ub+KAnCAo0LHQtdC3INC40LPQvdC+0YDQuNGA0LDQvdC40YLQtSAiCiAi0YTQsNC50LvQvtCy0LUpLiAg0KHRgtCw0L3QtNCw0YDRgtC90LjRj9GCINCg0JXQltCY0Jwg0LU6IOKAnnRyYWRpdGlvbmFs4oCcLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM0IHBhcnNlLW9wdGlvbnMuaDoxNjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4MCBwYXJzZS1vcHRpb25zLmg6MTkyCiBtc2dpZCAid2hlbiIKIG1zZ3N0ciAi0JrQntCT0JAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNQorIzogYnVpbHRpbi9jb21taXQuYzoxMzgxCiBtc2dpZCAiIgogImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihEZWZhdWx0OiBhbGwpIgpAQCAtMTAyMDEsMjU3ICsxMjY1NiwyNTUgQEAKICLQtdC00L3QsCDQvtGCIOKAnmFsbOKAnCAo0LLRgdC40YfQutC4KSwg4oCeZGlydHnigJwgKNGC0LXQt9C4INGBINC90LXQv9C+0LTQsNC00LXQvdC4INC/0YDQvtC80LXQvdC4KSwgIgogIuKAnnVudHJhY2tlZOKAnCAo0L3QtdGB0LvQtdC00LXQvdC4KSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODMKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQvdC10YHQu9C10LTQtdC90LjRgtC1INGE0LDQudC70L7QstC1INCyINC60L7Qu9C+0L3QuCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM4CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODQKIG1zZ2lkICJkbyBub3QgZGV0ZWN0IHJlbmFtZXMiCiBtc2dzdHIgItCx0LXQtyDQt9Cw0YHQuNGH0LDQvdC1INC90LAg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC40Y/RgtCwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4NgogbXNnaWQgImRldGVjdCByZW5hbWVzLCBvcHRpb25hbGx5IHNldCBzaW1pbGFyaXR5IGluZGV4IgogbXNnc3RyICLQt9Cw0YHQuNGH0LDQvdC1INC90LAg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC40Y/RgtCwLCDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsNC00LDQtNC1INC60L7QtdGE0LjRhtC40LXQvdGCINC90LAg0L/RgNC40LvQuNC60LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDA2CiBtc2dpZCAiVW5zdXBwb3J0ZWQgY29tYmluYXRpb24gb2YgaWdub3JlZCBhbmQgdW50cmFja2VkLWZpbGVzIGFyZ3VtZW50cyIKIG1zZ3N0ciAi0J3QtdC/0L7QtNC00YrRgNC20LDQvdCwINC60L7QvNCx0LjQvdCw0YbQuNGPINC+0YIg0LDRgNCz0YPQvNC10L3RgtC4INC30LAg0LjQs9C90L7RgNC40YDQsNC90Lgg0Lgg0L3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4OQogbXNnaWQgInN1cHByZXNzIHN1bW1hcnkgYWZ0ZXIgc3VjY2Vzc2Z1bCBjb21taXQiCiBtc2dzdHIgItCx0LXQtyDQuNC90YTQvtGA0LzQsNGG0LjRjyDRgdC70LXQtCDRg9GB0L/QtdGI0L3QviDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MAogbXNnaWQgInNob3cgZGlmZiBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAi0LTQvtCx0LDQstGP0L3QtSDQvdCwINGA0LDQt9C70LjQutCw0YLQsCDQutGK0Lwg0YjQsNCx0LvQvtC90LAg0LfQsCDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MgogbXNnaWQgIkNvbW1pdCBtZXNzYWdlIG9wdGlvbnMiCiBtc2dzdHIgItCe0L/RhtC40Lgg0LfQsCDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjkgYnVpbHRpbi9tZXJnZS5jOjI2MyBidWlsdGluL3RhZy5jOjM5NworIzogYnVpbHRpbi9jb21taXQuYzoxNDkzIGJ1aWx0aW4vbWVyZ2UuYzoyNzQgYnVpbHRpbi90YWcuYzo0MTQKIG1zZ2lkICJyZWFkIG1lc3NhZ2UgZnJvbSBmaWxlIgogbXNnc3RyICLQstC30LjQvNCw0L3QtSDQvdCwINGB0YrQvtCx0YnQtdC90LjQtdGC0L4g0L7RgiDQpNCQ0JnQmyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTQKIG1zZ2lkICJhdXRob3IiCiBtc2dzdHIgItCQ0JLQotCe0KAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDk0CiBtc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCiBtc2dzdHIgItC30LDQtNCw0LLQsNC90LUg0L3QsCDQkNCS0KLQntCgINC30LAg0L/QvtC00LDQstCw0L3QtdGC0L4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MSBidWlsdGluL2djLmM6NTE4CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTUgYnVpbHRpbi9nYy5jOjUzOAogbXNnaWQgImRhdGUiCiBtc2dzdHIgItCU0JDQotCQIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NQogbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKIG1zZ3N0ciAi0LfQsNC00LDQstCw0L3QtSDQvdCwINCU0JDQotCQINC30LAg0L/QvtC00LDQstCw0L3QtdGC0L4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MiBidWlsdGluL21lcmdlLmM6MjU5IGJ1aWx0aW4vbm90ZXMuYzo0MDkKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NzIgYnVpbHRpbi90YWcuYzozOTUKLW1zZ2lkICJtZXNzYWdlIgotbXNnc3RyICLQodCq0J7QkdCp0JXQndCY0JUiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MgotbXNnaWQgImNvbW1pdCBtZXNzYWdlIgotbXNnc3RyICLQodCq0J7QkdCp0JXQndCY0JUg0L/RgNC4INC/0L7QtNCw0LLQsNC90LUiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MyBidWlsdGluL2NvbW1pdC5jOjE0NzQgYnVpbHRpbi9jb21taXQuYzoxNDc1Ci0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzYgcmVmLWZpbHRlci5oOjkyIHBhcnNlLW9wdGlvbnMuaDoyODAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NyBidWlsdGluL2NvbW1pdC5jOjE0OTggYnVpbHRpbi9jb21taXQuYzoxNDk5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDAgcGFyc2Utb3B0aW9ucy5oOjMyOCByZWYtZmlsdGVyLmg6OTIKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgItCf0J7QlNCQ0JLQkNCd0JUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MworIzogYnVpbHRpbi9jb21taXQuYzoxNDk3CiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgItC/0YDQtdC40LfQv9C+0LvQt9Cy0LDQvdC1INC4INGA0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC+0YIg0YPQutCw0LfQsNC90L7RgtC+INCf0J7QlNCQ0JLQkNCd0JUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NAorIzogYnVpbHRpbi9jb21taXQuYzoxNDk4CiBtc2dpZCAicmV1c2UgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgItC/0YDQtdC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0YHRitC+0LHRidC10L3QuNC10YLQviDQvtGCINGD0LrQsNC30LDQvdC+0YLQviDQn9Ce0JTQkNCS0JDQndCVIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OQogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIGZpeHVwIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKICLQuNC30L/QvtC70LfQstCw0L3QtSDQvdCwINCw0LLRgtC+0LzQsNGC0LjRh9C90L7RgtC+INGB0YrQvtCx0YnQtdC90LjQtSDQt9CwINCy0LrQsNGA0LLQsNC90LUg0L3QsCDRg9C60LDQt9Cw0L3QvtGC0L4g0J/QntCU0JDQktCQ0J3QlSDQsiAiCiAi0L/RgNC10LTRhdC+0LTQvdC+0YLQviDQsdC10Lcg0YHQu9C10LTQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDAKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogItC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0LDQstGC0L7QvNCw0YLQuNGH0L3QvtGC0L4g0YHRitC+0LHRidC10L3QuNC1INC30LAg0LLQutCw0YDQstCw0L3QtSDQvdCwINGD0LrQsNC30LDQvdC+0YLQviDQn9Ce0JTQkNCS0JDQndCVINCyICIKICLQv9GA0LXQtNC90L7RgtC+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMQogbXNnaWQgInRoZSBjb21taXQgaXMgYXV0aG9yZWQgYnkgbWUgbm93ICh1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCkiCiBtc2dzdHIgIiIKICLRgdC80Y/QvdCwINC90LAg0LDQstGC0L7RgNCwINC00LAg0YHRitCy0L/QsNC00LAg0YEg0L/QvtC00LDQstCw0YnQuNGPICjQuNC30L/QvtC70LfQstCwINGB0LUg0YEg4oCeLUPigJwv4oCeLWPigJwv4oCeLS1hbWVuZOKAnCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OCBidWlsdGluL2xvZy5jOjE1MjAgYnVpbHRpbi9tZXJnZS5jOjI3NgotIzogYnVpbHRpbi9wdWxsLmM6MTU1IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDIgYnVpbHRpbi9sb2cuYzoxNjM0IGJ1aWx0aW4vbWVyZ2UuYzoyODkKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2NCBidWlsdGluL3JldmVydC5jOjExMAogbXNnaWQgImFkZCBTaWduZWQtb2ZmLWJ5OiIKIG1zZ3N0ciAi0LTQvtCx0LDQstGP0L3QtSDQvdCwINC/0L7Qu9C1INC30LAg0L/QvtC00L/QuNGBIOKAlCDigJ5TaWduZWQtb2ZmLWJ5OuKAnCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDMKIG1zZ2lkICJ1c2Ugc3BlY2lmaWVkIHRlbXBsYXRlIGZpbGUiCiBtc2dzdHIgItC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0YPQutCw0LfQsNC90LjRjyDRiNCw0LHQu9C+0L3QtdC9INCk0JDQmdCbIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwNAogbXNnaWQgImZvcmNlIGVkaXQgb2YgY29tbWl0IgogbXNnc3RyICLRgNC10LTQsNC60YLQuNGA0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QtSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDgxCi1tc2dpZCAiZGVmYXVsdCIKLW1zZ3N0ciAi0YHRgtCw0L3QtNCw0YDRgtC90L4iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MSBidWlsdGluL3RhZy5jOjQwMQotbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCi1tc2dzdHIgItC60L7QuCDQv9GA0LDQt9C90Lgg0LfQvdCw0YbQuCDQuCAj0LrQvtC80LXQvdGC0LDRgNC4INC00LAg0YHQtSDQvNCw0YXQsNGCINC+0YIg0YHRitC+0LHRidC10L3QuNGP0YLQsCIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDgyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDYKIG1zZ2lkICJpbmNsdWRlIHN0YXR1cyBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAi0LLQvNGK0LrQstCw0L3QtSDQvdCwINGB0YrRgdGC0L7Rj9C90LjQtdGC0L4g0LIg0YjQsNCx0LvQvtC90LAg0LfQsCDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODQgYnVpbHRpbi9tZXJnZS5jOjI3NCBidWlsdGluL3B1bGwuYzoxODUKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE0Ci1tc2dpZCAiR1BHIHNpZ24gY29tbWl0IgotbXNnc3RyICLQv9C+0LTQv9C40YHQstCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LXRgtC+INGBIEdQRyIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDg3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTEKIG1zZ2lkICJDb21taXQgY29udGVudHMgb3B0aW9ucyIKIG1zZ3N0ciAi0J7Qv9GG0LjQuCDQt9CwINC40LfQsdC+0YAg0L3QsCDRhNCw0LnQu9C+0LLQtSDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDg4CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTIKIG1zZ2lkICJjb21taXQgYWxsIGNoYW5nZWQgZmlsZXMiCiBtc2dzdHIgItC/0L7QtNCw0LLQsNC90LUg0L3QsCDQstGB0LjRh9C60Lgg0L/RgNC+0LzQtdC90LXQvdC4INGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMwogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAi0LTQvtCx0LDQstGP0L3QtSDQvdCwINGD0LrQsNC30LDQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSDQutGK0Lwg0LjQvdC00LXQutGB0LAg0LfQsCDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNAogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIgogbXNnc3RyICLQuNC90YLQtdGA0LDQutGC0LjQstC90L4g0LTQvtCx0LDQstGP0L3QtSDQvdCwINGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNQogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGNoYW5nZXMiCiBtc2dzdHIgItC40L3RgtC10YDQsNC60YLQuNCy0L3QviDQtNC+0LHQsNCy0Y/QvdC1INC90LAg0L/RgNC+0LzQtdC90LgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTE2CiBtc2dpZCAiY29tbWl0IG9ubHkgc3BlY2lmaWVkIGZpbGVzIgogbXNnc3RyICLQv9C+0LTQsNCy0LDQvdC1INGB0LDQvNC+INC90LAg0YPQutCw0LfQsNC90LjRgtC1INGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNwogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIgogbXNnc3RyICIiCiAi0LHQtdC3INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg0LrRg9C60LjRgtC1INC/0YDQtdC00Lgg0L/QvtC00LDQstCw0L3QtSDQuCDQv9GA0Lgg0L/RgNC+0LzRj9C90LAg0L3QsCDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC30LAgIgogItC/0L7QtNCw0LLQsNC90LUgKHByZS1jb21taXQg0LggY29tbWl0LW1zZykiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTE4CiBtc2dpZCAic2hvdyB3aGF0IHdvdWxkIGJlIGNvbW1pdHRlZCIKIG1zZ3N0ciAi0L7RgtC/0LXRh9Cw0YLQstCw0L3QtSDQvdCwINGC0L7QstCwLCDQutC+0LXRgtC+INCx0Lgg0LHQuNC70L4g0L/QvtC00LDQtNC10L3QviIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTA3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MzEKIG1zZ2lkICJhbWVuZCBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgItC/0L7Qv9GA0LDQstGP0L3QtSDQvdCwINC/0YDQtdC00LjRiNC90L7RgtC+INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwOAorIzogYnVpbHRpbi9jb21taXQuYzoxNTMyCiBtc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgogbXNnc3RyICLQsdC10Lcg0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDQutGD0LrQsNGC0LAg0YHQu9C10LQg0L/RgNC10LfQsNC/0LjRgdCy0LDQvdC1IChwb3N0LXJld3JpdGUpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzOQogbXNnaWQgIm9rIHRvIHJlY29yZCBhbiBlbXB0eSBjaGFuZ2UiCiBtc2dzdHIgItC/0L7Qt9Cy0L7Qu9GP0LLQsNC90LUg0L3QsCDQv9GA0LDQt9C90Lgg0L/QvtC00LDQstCw0L3QuNGPIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU0MQogbXNnaWQgIm9rIHRvIHJlY29yZCBhIGNoYW5nZSB3aXRoIGFuIGVtcHR5IG1lc3NhZ2UiCiBtc2dzdHIgItC/0L7Qt9Cy0L7Qu9GP0LLQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y8g0YEg0L/RgNCw0LfQvdC4INGB0YrQvtCx0YnQtdC90LjRjyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKIG1zZ3N0ciAi0J/QvtCy0YDQtdC00LXQvSDRhNCw0LnQuyDQt9CwINCy0YrRgNGF0LAg0LfQsCDRgdC70LjQstCw0L3QtdGC0L4g4oCeTUVSR0VfSEVBROKAnCAoJXMpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyMQogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCiBtc2dzdHIgItGA0LXQttC40LzRitGCINC90LAg0YHQu9C40LLQsNC90LUg4oCeTUVSR0VfTU9EReKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgogbXNnc3RyICLRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC30LAg0L/QvtC00LDQstCw0L3QtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvdC+OiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjI1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0IGR1ZSB0byBlbXB0eSBjb21taXQgbWVzc2FnZS5cbiIKIG1zZ3N0ciAi0J3QtdC40LfQstGK0YDRiNCy0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QtSDQv9C+0YDQsNC00Lgg0L/RgNCw0LfQvdC+INGB0YrQvtCx0YnQtdC90LjQtS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjMwCisjOiBidWlsdGluL2NvbW1pdC5jOjE2NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0OyB5b3UgZGlkIG5vdCBlZGl0IHRoZSBtZXNzYWdlLlxuIgogbXNnc3RyICLQndC10LjQt9Cy0YrRgNGI0LLQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC1INC/0L7RgNCw0LTQuCDQvdC10YDQtdC00LDQutGC0LjRgNCw0L3QviDRgdGK0L7QsdGJ0LXQvdC40LUuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNjg2CiBtc2dpZCAiIgogInJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgYW5kIHF1b3RhIGlzXG4iCi0ibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXNldCBIRUFEXCIgdG8gcmVjb3Zlci4iCisibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXN0b3JlIC0tc3RhZ2VkIDovXCIgdG8gcmVjb3Zlci4iCiBtc2dzdHIgIiIKICLRhdGA0LDQvdC40LvQuNGJ0LXRgtC+INC1INC+0LHQvdC+0LLQtdC90L4sINC90L4g0L3QvtCy0LjRj9GCINGE0LDQudC7INC30LAg0LjQvdC00LXQutGBIOKAnm5ld19pbmRleOKAnFxuIgogItC90LUg0LUg0LfQsNC/0LjRgdCw0L0uICDQn9GA0L7QstC10YDQtdGC0LUg0LTQsNC70Lgg0LTQuNGB0LrRitGCINC90LUg0LUg0L/RgNC10L/RitC70L3QtdC9INC40LvQuCDQvdC1INGB0YLQtVxuIgotItC/0YDQtdCy0LjRiNC40LvQuCDQtNC40YHQutC+0LLQsNGC0LAg0YHQuCDQutCy0L7RgtCwLiAg0KHQu9C10LQg0YLQvtCy0LAg0LjQt9C/0YrQu9C90LXRgtC1IOKAnmdpdCByZXNldCBIRUFE4oCcLiIKKyLQv9GA0LXQstC40YjQuNC70Lgg0LTQuNGB0LrQvtCy0LDRgtCwINGB0Lgg0LrQstC+0YLQsC4gINCX0LAg0LLRitC30YHRgtCw0L3QvtCy0Y/QstCw0L3QtSDQuNC30L/RitC70L3QtdGC0LU6XG4iCisiXG4iCisiICAgIGdpdCByZXN0b3JlIC0tc3RhZ2VkIDovIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwCi1tc2dpZCAiZ2l0IGNvbW1pdC1ncmFwaCBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKLW1zZ3N0ciAiZ2l0IGNvbW1pdC1ncmFwaCBbLS1vYmplY3QtZGlyINCU0JjQoF/QntCR0JXQmtCi0JhdIgotCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MjMKLW1zZ2lkICJnaXQgY29tbWl0LWdyYXBoIHJlYWQgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCi1tc2dzdHIgImdpdCBjb21taXQtZ3JhcGggcmVhZCBbLS1vYmplY3QtZGlyINCU0JjQoF/QntCR0JXQmtCi0JhdIgotCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEyIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTgKLW1zZ2lkICJnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKLW1zZ3N0ciAiZ2l0IGNvbW1pdC1ncmFwaCB2ZXJpZnkgWy0tb2JqZWN0LWRpciDQlNCY0KBf0J7QkdCV0JrQotCYXSIKLQotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMyBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjI4CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTcKIG1zZ2lkICIiCi0iZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSBbLS1hcHBlbmRdIFstLXJlYWNoYWJsZXwtLSIKLSJzdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIgorImdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IFstLW9iamVjdC1kaXIgPG9iamRpcj5dIFstLXNoYWxsb3ddIFstLVtuby1dcHJvZ3Jlc3NdIgogbXNnc3RyICIiCi0iZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSBbLS1vYmplY3QtZGlyINCU0JjQoF/QntCR0JXQmtCi0JhdIFstLWFwcGVuZF0gWy0tcmVhY2hhYmxlfC0tIgotInN0ZGluLXBhY2tzfC0tc3RkaW4tY29tbWl0c10iCisiZ2l0IGNvbW1pdC1ncmFwaCB2ZXJpZnkgWy0tb2JqZWN0LWRpciDQlNCY0KBf0J7QkdCV0JrQotCYXSBbLS1zaGFsbG93XSBbLS0iCisiW25vLV1wcm9ncmVzc10iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NDggYnVpbHRpbi9jb21taXQtZ3JhcGguYzo3OAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzIgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxOTAgYnVpbHRpbi9mZXRjaC5jOjE1MwotIzogYnVpbHRpbi9sb2cuYzoxNTQwCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEyIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MjIKK21zZ2lkICIiCisiZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSBbLS1hcHBlbmR8LS1zcGxpdF0gWy0tIgorInJlYWNoYWJsZXwtLXN0ZGluLXBhY2tzfC0tc3RkaW4tY29tbWl0c10gWy0tW25vLV1wcm9ncmVzc10gPHNwbGl0IG9wdGlvbnM+IgorbXNnc3RyICIiCisiZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSBbLS1vYmplY3QtZGlyINCU0JjQoF/QntCR0JXQmtCi0JhdIFstLWFwcGVuZHwtLXNwbGl0XSBbLS0iCisicmVhY2hhYmxlfC0tc3RkaW4tcGFja3N8LS1zdGRpbi1jb21taXRzXSBbLS1bbm8tXXByb2dyZXNzXSDQntCf0KbQmNCYX9CX0JBf0KDQkNCX0JTQldCb0K/QndCVIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjQ4IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTAzCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE4NyBidWlsdGluL2ZldGNoLmM6MTc5IGJ1aWx0aW4vbG9nLmM6MTY1NwogbXNnaWQgImRpciIKIG1zZ3N0ciAi0LTQuNGA0LXQutGC0L7RgNC40Y8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NDkgYnVpbHRpbi9jb21taXQtZ3JhcGguYzo3OQotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzMgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxOTEKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NDkgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMDQKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTg4CiBtc2dpZCAiVGhlIG9iamVjdCBkaXJlY3RvcnkgdG8gc3RvcmUgdGhlIGdyYXBoIgogbXNnc3RyICLQlNCY0KDQtdC60YLQvtGA0LjRj9GC0LBf0YFf0J7QkdCV0JrQotCYINC30LAg0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0LPRgNCwzIDRhNCwIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzNQorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo1MQorbXNnaWQgImlmIHRoZSBjb21taXQtZ3JhcGggaXMgc3BsaXQsIG9ubHkgdmVyaWZ5IHRoZSB0aXAgZmlsZSIKK21zZ3N0ciAiIgorItCw0LrQviDQs9GA0LDMgNGE0LAg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQtSDRgNCw0LfQtNGA0L7QsdC10L0sINC00LAg0YHQtSDQv9GA0L7QstC10YDRj9Cy0LAg0YHQsNC80L4g0YTQsNC50LvRitGCINC90LAg0LLRitGA0YXQsCIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo3MyB0L2hlbHBlci90ZXN0LXJlYWQtZ3JhcGguYzoyMworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgb3BlbiBjb21taXQtZ3JhcGggJyVzJyIKK21zZ3N0ciAi0JPRgNCw0YTRitGCINGBINC/0L7QtNCw0LLQsNC90LjRj9GC0LAg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7RgtCy0L7RgNC4OiDigJ4lc+KAnCIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMDYKIG1zZ2lkICJzdGFydCB3YWxrIGF0IGFsbCByZWZzIgogbXNnc3RyICLQvtCx0YXQvtC20LTQsNC90LXRgtC+INC00LAg0LfQsNC/0L7Rh9C90LUg0L7RgiDQstGB0LjRh9C60Lgg0YPQutCw0LfQsNGC0LXQu9C4IgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzNworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMDgKIG1zZ2lkICJzY2FuIHBhY2staW5kZXhlcyBsaXN0ZWQgYnkgc3RkaW4gZm9yIGNvbW1pdHMiCiBtc2dzdHIgIiIKICLQv9GA0L7QstC10YDQutCwINC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQt9CwINC40L3QtNC10LrRgdC40YLQtSDQvdCwINC/0LDQutC10YLQuNGC0LUg0LjQt9Cx0YDQvtC10L3QuCDQvdCwINC60L7QvNCw0L3QtNC90LjRjyDRgNC10LQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTM5CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExMAogbXNnaWQgInN0YXJ0IHdhbGsgYXQgY29tbWl0cyBsaXN0ZWQgYnkgc3RkaW4iCiBtc2dzdHIgItC30LDQv9C+0YfQstCw0L3QtSDQvdCwINC+0LHRhdC+0LbQtNCw0L3QtdGC0L4g0L/RgNC4INC/0L7QtNCw0LLQsNC90LjRj9GC0LAg0L/QvtC00LDQtNC10L3QuCDQvdCwINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LLRhdC+0LQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTQxCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExMgogbXNnaWQgImluY2x1ZGUgYWxsIGNvbW1pdHMgYWxyZWFkeSBpbiB0aGUgY29tbWl0LWdyYXBoIGZpbGUiCiBtc2dzdHIgIiIKICLQstC60LvRjtGH0LLQsNC90LUg0L3QsCDQstGB0LjRh9C60Lgg0L/QvtC00LDQstCw0L3QuNGPLCDQutC+0LjRgtC+INCy0LXRh9C1INGB0LAg0LLRitCyINGE0LDQudC70LAg0YEg0LPRgNCwzIDRhNCwINC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxNTAKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTE1Cittc2dpZCAiYWxsb3cgd3JpdGluZyBhbiBpbmNyZW1lbnRhbCBjb21taXQtZ3JhcGggZmlsZSIKK21zZ3N0ciAi0L/QvtC30LLQvtC70Y/QstCw0L3QtSDQvdCwINC30LDQv9C40YEg0L3QsCDQvdCw0YDQsNGB0YLQstCw0Ykg0YTQsNC50Lsg0YEg0LPRgNCwzIDRhNCwINC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMTcgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMjEKK21zZ2lkICJtYXhpbXVtIG51bWJlciBvZiBjb21taXRzIGluIGEgbm9uLWJhc2Ugc3BsaXQgY29tbWl0LWdyYXBoIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70LXQvSDQsdGA0L7QuSDQv9C+0LTQsNCy0LDQvdC40Y8g0LIg0L3QtdCx0LDQt9C+0LLQviDQvdC40LLQviDQvdCwINGA0LDQt9C00YDQvtCx0LXQvSDQs9GA0LDRhCIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMTkKK21zZ2lkICJtYXhpbXVtIHJhdGlvIGJldHdlZW4gdHdvIGxldmVscyBvZiBhIHNwbGl0IGNvbW1pdC1ncmFwaCIKK21zZ3N0ciAiIgorItC80LDQutGB0LjQvNCw0LvQvdC+INC+0YLQvdC+0YjQtdC90LjQtSDQvdCwINCx0YDQvtGPINC/0L7QtNCw0LLQsNC90LjRjyDQsiDQtNCy0LUg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70L3QuCDQvdC40LLQsCDQsiDRgNCw0LfQtNGA0L7QsdC10L0gIgorItCz0YDQsNGEIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzNwogbXNnaWQgInVzZSBhdCBtb3N0IG9uZSBvZiAtLXJlYWNoYWJsZSwgLS1zdGRpbi1jb21taXRzLCBvciAtLXN0ZGluLXBhY2tzIgogbXNnc3RyICIiCiAi0L7Qv9GG0LjQuNGC0LUg4oCeLS1yZWFjaGFibGXigJwsIOKAni0tc3RkaW4tY29tbWl0c+KAnCDQuCDigJ4tLXN0ZGluLXBhY2tz4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgpAQCAtMTA0NjAsNyArMTI5MTMsNyBAQAogbXNnaWQgImdpdCBjb25maWcgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBjb25maWcgW9Ce0J/QptCY0K/igKZdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjEwMworIzogYnVpbHRpbi9jb25maWcuYzoxMDMgYnVpbHRpbi9lbnYtLWhlbHBlci5jOjIzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAtLXR5cGUgYXJndW1lbnQsICVzIgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGCINCw0YDQs9GD0LzQtdC90YIg4oCeLS10eXBl4oCcOiAlcyIKQEAgLTEwNTcwLDcgKzEzMDIzLDcgQEAKIG1zZ2lkICJUeXBlIgogbXNnc3RyICLQktC40LQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ3CisjOiBidWlsdGluL2NvbmZpZy5jOjE0NyBidWlsdGluL2Vudi0taGVscGVyLmM6MzgKIG1zZ2lkICJ2YWx1ZSBpcyBnaXZlbiB0aGlzIHR5cGUiCiBtc2dzdHIgItGB0YLQvtC50L3QvtGB0YLRgtCwINC1INC+0YIg0YLQvtC30Lgg0LLQuNC0IgogCkBAIC0xMDYxNiw3ICsxMzA2OSw3IEBACiAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LzRj9GB0YLQvtGC0L4g0L3QsCDQt9Cw0LTQsNCy0LDQvdC1INC90LAg0L3QsNGB0YLRgNC+0LnQutCw0YLQsCAo0YTQsNC50LssINGB0YLQsNC90LTQsNGA0YLQtdC9INCy0YXQvtC0LCAiCiAi0L7QsdC10LrRgi1CTE9CLCDQutC+0LzQsNC90LTQtdC9INGA0LXQtCkiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTU4CisjOiBidWlsdGluL2NvbmZpZy5jOjE1OCBidWlsdGluL2Vudi0taGVscGVyLmM6NDAKIG1zZ2lkICJ2YWx1ZSIKIG1zZ3N0ciAi0KHQotCe0JnQndCe0KHQoiIKIApAQCAtMTA2MjQsNDggKzEzMDc3LDQ4IEBACiBtc2dpZCAid2l0aCAtLWdldCwgdXNlIGRlZmF1bHQgdmFsdWUgd2hlbiBtaXNzaW5nIGVudHJ5IgogbXNnc3RyICLRgSDigJ4tLWdldOKAnCDRgdC1INC40LfQv9C+0LvQt9Cy0LAg0YHRgtCw0L3QtNCw0YDRgtC90LAg0KHQotCe0JnQndCe0KHQoiDQv9GA0Lgg0LvQuNC/0YHQstCw0YnQsCIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxNzEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMsIHNob3VsZCBiZSAlZCIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0LHRgNC+0Lkg0LDRgNCz0YPQvNC10L3RgtC4LCDRgtGA0Y/QsdCy0LAg0LTQsCDQtSDRgtC+0YfQvdC+ICVkIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE3MworIzogYnVpbHRpbi9jb25maWcuYzoxNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cywgc2hvdWxkIGJlIGZyb20gJWQgdG8gJWQiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INCx0YDQvtC5INCw0YDQs9GD0LzQtdC90YLQuCwg0YLRgNGP0LHQstCwINC00LAg0LUg0L7RgiAlZCDQtNC+ICVkINCy0LrQu9GO0YfQuNGC0LXQu9C90L4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MzA3CisjOiBidWlsdGluL2NvbmZpZy5jOjMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGtleSBwYXR0ZXJuOiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YjQsNCx0LvQvtC9INC30LAg0LrQu9GO0Yc6IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjM0MworIzogYnVpbHRpbi9jb25maWcuYzozNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZvcm1hdCBkZWZhdWx0IGNvbmZpZyB2YWx1ZTogJXMiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDRhNC+0YDQvNCw0YLQuNGA0LDQvdC1INC90LAg0YHRgtCw0L3QtNCw0YDRgtC90LDRgtCwINGB0YLQvtC50L3QvtGB0YIg0L3QsCDQvdCw0YHRgtGA0L7QudC60LA6ICVzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjQwMAorIzogYnVpbHRpbi9jb25maWcuYzo0MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHBhcnNlIGNvbG9yICclcyciCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INCw0L3QsNC70LjQt9C40YDQsCDQutCw0YLQviDRhtCy0Y/RgiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0NDIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDQzCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGRlZmF1bHQgY29sb3IgdmFsdWUiCiBtc2dzdHIgItC90LXRgNCw0LfQv9C+0LfQvdCw0YLQsCDRgdGC0L7QudC90L7RgdGCINC90LAg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDRhtCy0Y/RgiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0OTUgYnVpbHRpbi9jb25maWcuYzo3NDEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDk2IGJ1aWx0aW4vY29uZmlnLmM6NzQyCiBtc2dpZCAibm90IGluIGEgZ2l0IGRpcmVjdG9yeSIKIG1zZ3N0ciAi0L3QtSDQtSDQsiDQtNC40YDQtdC60YLQvtGA0LjRjyDQv9C+0LQgR2l0IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjQ5OAorIzogYnVpbHRpbi9jb25maWcuYzo0OTkKIG1zZ2lkICJ3cml0aW5nIHRvIHN0ZGluIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgItC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCwINC30LDQv9C40YHQstCw0L3QtSDQsiDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINCy0YXQvtC0IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjUwMQorIzogYnVpbHRpbi9jb25maWcuYzo1MDIKIG1zZ2lkICJ3cml0aW5nIGNvbmZpZyBibG9icyBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICLQvtCx0LXQutGC0LgtQkxPQiDQsiDQvdCw0YHRgtGA0L7QudC60LjRgtC1INC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCw0YIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTg2CisjOiBidWlsdGluL2NvbmZpZy5jOjU4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiIyBUaGlzIGlzIEdpdCdzIHBlci11c2VyIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiIKQEAgLTEwNjgwLDIzICsxMzEzMywyMyBAQAogIiNcdG5hbWUgPSAlc1xuIgogIiNcdGVtYWlsID0gJXNcbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjExCiBtc2dpZCAib25seSBvbmUgY29uZmlnIGZpbGUgYXQgYSB0aW1lIgogbXNnc3RyICLRgdCw0LzQviDQv9C+INC10LTQuNC9INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQvtC90LXQvSDRhNCw0LnQuyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjE2CiBtc2dpZCAiLS1sb2NhbCBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICLigJ4tLWxvY2Fs4oCcINC80L7QttC1INC00LAg0YHQtSDQuNC30L/QvtC70LfQstCwINGB0LDQvNC+INCyINGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjE5CiBtc2dpZCAiLS1ibG9iIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIuKAni0tYmxvYuKAnCDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9C/0L7Qu9C30LLQsCDRgdCw0LzQviDQsiDRhdGA0LDQvdC40LvQuNGJ0LUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjM3CisjOiBidWlsdGluL2NvbmZpZy5jOjYzOAogbXNnaWQgIiRIT01FIG5vdCBzZXQiCiBtc2dzdHIgItC/0YDQvtC80LXQvdC70LjQstCw0YLQsCDigJ5IT01F4oCcINC90LUg0LUg0LfQsNC00LDQtNC10L3QsCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NTcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjU4CiBtc2dpZCAiIgogIi0td29ya3RyZWUgY2Fubm90IGJlIHVzZWQgd2l0aCBtdWx0aXBsZSB3b3JraW5nIHRyZWVzIHVubGVzcyB0aGUgY29uZmlnXG4iCiAiZXh0ZW5zaW9uIHdvcmt0cmVlQ29uZmlnIGlzIGVuYWJsZWQuIFBsZWFzZSByZWFkIFwiQ09ORklHVVJBVElPTiBGSUxFXCJcbiIKQEAgLTEwNzA3LDIwICsxMzE2MCwyMCBAQAogItC/0L7QstC10YfQtSDQuNC90YTQvtGA0LzQsNGG0LjRjyDQstC40LbRgtC1INGA0LDQt9C00LXQu9CwIOKAnkNPTkZJR1VSQVRJT04gRklMReKAnCDQslxuIgogIuKAnmdpdCBoZWxwIHdvcmt0cmVl4oCcIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY4NworIzogYnVpbHRpbi9jb25maWcuYzo2ODgKIG1zZ2lkICItLWdldC1jb2xvciBhbmQgdmFyaWFibGUgdHlwZSBhcmUgaW5jb2hlcmVudCIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1nZXQtY29sb3LigJwg0L3QtSDRgdGK0L7RgtCy0LXRgtGB0YLQstCwINC90LAg0LLQuNC00LAg0L3QsCDQv9GA0L7QvNC10L3Qu9C40LLQsNGC0LAiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjkyCisjOiBidWlsdGluL2NvbmZpZy5jOjY5MwogbXNnaWQgIm9ubHkgb25lIGFjdGlvbiBhdCBhIHRpbWUiCiBtc2dzdHIgItGB0LDQvNC+INC/0L4g0LXQtNC90L4g0LTQtdC50YHRgtCy0LjQtSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MDUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzA2CiBtc2dpZCAiLS1uYW1lLW9ubHkgaXMgb25seSBhcHBsaWNhYmxlIHRvIC0tbGlzdCBvciAtLWdldC1yZWdleHAiCiBtc2dzdHIgIiIKICLQvtC/0YbQuNGP0YLQsCDigJ4tLW5hbWUtb25seeKAnCDQtSDQv9GA0LjQu9C+0LbQuNC80LAg0YHQsNC80L4g0LrRitC8INC+0L/RhtC40LjRgtC1IOKAni0tbGlzdOKAnCDQuCDigJ4tLWdldC1yZWdleHDigJwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzExCisjOiBidWlsdGluL2NvbmZpZy5jOjcxMgogbXNnaWQgIiIKICItLXNob3ctb3JpZ2luIGlzIG9ubHkgYXBwbGljYWJsZSB0byAtLWdldCwgLS1nZXQtYWxsLCAtLWdldC1yZWdleHAsIGFuZCAtLSIKICJsaXN0IgpAQCAtMTA3MjgsMzMgKzEzMTgxLDMzIEBACiAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1zaG93LW9yaWdpbuKAnCDQtSDQv9GA0LjQu9C+0LbQuNC80LAg0YHQsNC80L4g0LrRitC8INC+0L/RhtC40LjRgtC1IOKAni0tZ2V04oCcLCDigJ4tLWdldC1hbGzigJwsICIKICLigJ4tLWdldC1yZWdleHDigJwg0Lgg4oCeLS1saXN04oCcIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcxNworIzogYnVpbHRpbi9jb25maWcuYzo3MTgKIG1zZ2lkICItLWRlZmF1bHQgaXMgb25seSBhcHBsaWNhYmxlIHRvIC0tZ2V0IgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLWRlZmF1bHTigJwg0LUg0L/RgNC40LvQvtC20LjQvNCwINGB0LDQvNC+INC60YrQvCDQvtC/0YbQuNGP0YLQsCDigJ4tLWdldOKAnCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MzAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIGNvbmZpZyBmaWxlICclcyciCiBtc2dzdHIgItC60L7QvdGE0LjQs9GD0YDQsNGG0LjQvtC90L3QuNGP0YIg0YTQsNC50Lsg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzMzCisjOiBidWlsdGluL2NvbmZpZy5jOjczNAogbXNnaWQgImVycm9yIHByb2Nlc3NpbmcgY29uZmlnIGZpbGUocykiCiBtc2dzdHIgItCz0YDQtdGI0LrQsCDQv9GA0Lgg0L7QsdGA0LDQsdC+0YLQutCw0YLQsCDQvdCwINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQvtC90LXQvSDRhNCw0LnQuyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NDMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQ0CiBtc2dpZCAiZWRpdGluZyBzdGRpbiBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICLQvdC1INGB0LUg0L/QvtC00LTRitGA0LbQsCDRgNC10LTQsNC60YLQuNGA0LDQvdC1INC90LAg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQstGF0L7QtCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NDUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQ2CiBtc2dpZCAiZWRpdGluZyBibG9icyBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICLQvdC1INGB0LUg0L/QvtC00LTRitGA0LbQsCDRgNC10LTQsNC60YLQuNGA0LDQvdC1INC90LAg0L7QsdC10LrRgtC4LUJMT0IiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzU5CisjOiBidWlsdGluL2NvbmZpZy5jOjc2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKIG1zZ3N0ciAi0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC+0L3QvdC40Y/RgiDRhNCw0LnQuyDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRitC30LTQsNC00LXQvSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjYW5ub3Qgb3ZlcndyaXRlIG11bHRpcGxlIHZhbHVlcyB3aXRoIGEgc2luZ2xlIHZhbHVlXG4iCkBAIC0xMDc2NCw3ICsxMzIxNyw3IEBACiAi0JfQsCDQtNCwINC/0YDQvtC80LXQvdC40YLQtSDigJ4lc+KAnCwg0L/QvtC70LfQstCw0LnRgtC1INGA0LXQs9GD0LvRj9GA0LXQvSDQuNC30YDQsNC3INC40LvQuCDQvtC/0YbQuNC40YLQtSDigJ4tLWFkZOKAnCDQuCDigJ4tLSIKICJyZXBsYWNlLWFsbOKAnC4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODQ2IGJ1aWx0aW4vY29uZmlnLmM6ODU3CisjOiBidWlsdGluL2NvbmZpZy5jOjg0NyBidWlsdGluL2NvbmZpZy5jOjg1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIHNlY3Rpb246ICVzIgogbXNnc3RyICLRgtCw0LrRitCyINGA0LDQt9C30LXQuyDQvdGP0LzQsDogJXMiCkBAIC0xMDc5NywzNyArMTMyNTAsMzcgQEAKIG1zZ2lkICJhbm5vdGF0ZWQiCiBtc2dzdHIgItCw0L3QvtGC0LjRgNCw0L3QviIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIG5vdCBhdmFpbGFibGUiCiBtc2dzdHIgItC90LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAg0LDQvdC+0YLQuNGA0LDQvSDQtdGC0LjQutC10YIg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBoYXMgbm8gZW1iZWRkZWQgbmFtZSIKIG1zZ3N0ciAi0LIg0LDQvdC+0YLQuNGA0LDQvdC40Y8g0LXRgtC40LrQtdGCIOKAniVz4oCcINC70LjQv9GB0LLQsCDQstCz0YDQsNC00LXQvdC+INC40LzQtSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3OAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBpcyByZWFsbHkgJyVzJyBoZXJlIgogbXNnc3RyICLQtdGC0LjQutC10YLRitGCIOKAniVz4oCcINGC0YPQuiDQtSDQstGB0YrRidC90L7RgdGCIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzIyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRhZyBleGFjdGx5IG1hdGNoZXMgJyVzJyIKIG1zZ3N0ciAi0L3QuNC60L7QuSDQtdGC0LjQutC10YIg0L3QtSDQvdCw0L/QsNGB0LLQsCDRgtC+0YfQvdC+IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGV4YWN0IG1hdGNoIG9uIHJlZnMgb3IgdGFncywgc2VhcmNoaW5nIHRvIGRlc2NyaWJlXG4iCiBtc2dzdHIgItCd0LjQutC+0Y8g0LLQtdGA0YHQuNGPINC4INC10YLQuNC60LXRgiDQvdC1INC90LDQv9Cw0YHQstCw0YIg0YLQvtGH0L3Qvi4gINCi0YrRgNGB0Lgg0YHQtSDQv9C+INC+0L/QuNGB0LDQvdC40LVcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM3OAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmaW5pc2hlZCBzZWFyY2ggYXQgJXNcbiIKIG1zZ3N0ciAi0YLRitGA0YHQtdC90LXRgtC+INC/0YDQuNC60LvRjtGH0Lgg0L/RgNC4IOKAniVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIGFubm90YXRlZCB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgpAQCAtMTA4MzYsNyArMTMyODksNyBAQAogItCd0LjQutC+0Lkg0LDQvdC+0YLQuNGA0LDQvSDQtdGC0LjQutC10YIg0L3QtSDQvtC/0LjRgdCy0LAg4oCeJXPigJwuXG4iCiAi0KHRitGJ0LXRgdGC0LLRg9Cy0LDRgiDQuCDQvdC10LDQvdC+0YLQuNGA0LDQvdC4INC10YLQuNC60LXRgtC4LiAg0J/RgNC+0LHQstCw0LnRgtC1INGBINC+0L/RhtC40Y/RgtCwIOKAni0tdGFnc+KAnC4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCkBAIC0xMDg0NSwxMiArMTMyOTgsMTIgQEAKICLQndC40LrQvtC5INC10YLQuNC60LXRgiDQvdC1INC+0L/QuNGB0LLQsCDigJ4lc+KAnC5cbiIKICLQn9GA0L7QsdCy0LDQudGC0LUg0YEg0L7Qv9GG0LjRj9GC0LAg4oCeLS1hbHdheXPigJwg0LjQu9C4INGB0YrQt9C00LDQudGC0LUg0LXRgtC40LrQtdGC0LguIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDM4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXZlcnNlZCAlbHUgY29tbWl0c1xuIgogbXNnc3RyICLQv9GA0LXRgtGK0YDRgdC10L3QuCDRgdCwICVsdSDQv9C+0LTQsNCy0LDQvdC40Y9cbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0MQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibW9yZSB0aGFuICVpIHRhZ3MgZm91bmQ7IGxpc3RlZCAlaSBtb3N0IHJlY2VudFxuIgpAQCAtMTA4NTksMTIxICsxMzMxMiwxMjEgQEAKICLQvtGC0LrRgNC40YLQuCDRgdCwINC90LDQtCAlaSDQtdGC0LjQutC10YLQsCwg0LjQt9Cy0LXQtNC10L3QuCDRgdCwINC/0L7RgdC70LXQtNC90LjRgtC1ICVpLFxuIgogItGC0YrRgNGB0LXQvdC10YLQviDQsdC1INC/0YDQtdC60YDQsNGC0LXQvdC+INC/0YDQuCDigJ4lc+KAnC5cbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUwOQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXNjcmliZSAlc1xuIgogbXNnc3RyICLQvtC/0LjRgdCw0L3QuNC1INC90LAg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUxMiBidWlsdGluL2xvZy5jOjUxMworIzogYnVpbHRpbi9kZXNjcmliZS5jOjUxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C90L4g0LjQvNC1INC90LAg0L7QsdC10LrRgiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUyMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBuZWl0aGVyIGEgY29tbWl0IG5vciBibG9iIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC1INC90LjRgtC+INC/0L7QtNCw0LLQsNC90LUsINC90LjRgtC+INC+0LHQtdC60YItQkxPQiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzNwogbXNnaWQgImZpbmQgdGhlIHRhZyB0aGF0IGNvbWVzIGFmdGVyIHRoZSBjb21taXQiCiBtc2dzdHIgItC+0YLQutGA0LjQstCw0L3QtSDQvdCwINC10YLQuNC60LXRgtCwLCDQutC+0LnRgtC+INGB0LvQtdC00LLQsCDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM1CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM4CiBtc2dpZCAiZGVidWcgc2VhcmNoIHN0cmF0ZWd5IG9uIHN0ZGVyciIKIG1zZ3N0ciAiIgogItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC40L3RhNC+0YDQvNCw0YbQuNGPINC30LAg0YLRgNCw0YHQuNGA0LDQvdC1INC90LAg0YHRgtGA0LDRgtC10LPQuNGP0YLQsCDQt9CwINGC0YrRgNGB0LXQvdC1INC90LAgIgogItGB0YLQsNC90LTQsNGA0YLQvdCw0YLQsCDQs9GA0LXRiNC60LAiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzkKIG1zZ2lkICJ1c2UgYW55IHJlZiIKIG1zZ3N0ciAi0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDQv9GA0L7QuNC30LLQvtC70LXQvSDRg9C60LDQt9Cw0YLQtdC7IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQwCiBtc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCiBtc2dzdHIgItC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0LLRgdC10LrQuCDQtdGC0LjQutC10YIg4oCUINCy0LrQu9GO0YfQuNGC0LXQu9C90L4g0Lgg0L3QtdCw0L3QvtGC0LjRgNCw0L3QuNGC0LUiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDEKIG1zZ2lkICJhbHdheXMgdXNlIGxvbmcgZm9ybWF0IgogbXNnc3RyICLQstC40L3QsNCz0Lgg0LTQsCDRgdC1INC/0L7Qu9C30LLQsCDQtNGK0LvQs9C40Y/RgiDRhNC+0YDQvNCw0YIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzkKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDIKIG1zZ2lkICJvbmx5IGZvbGxvdyBmaXJzdCBwYXJlbnQiCiBtc2dzdHIgItC/0YDQvtGB0LvQtdC00Y/QstCw0L3QtSDRgdCw0LzQviDQvdCwINC/0YrRgNCy0LjRjyDRgNC+0LTQuNGC0LXQuyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0NQogbXNnaWQgIm9ubHkgb3V0cHV0IGV4YWN0IG1hdGNoZXMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINGC0L7Rh9C90LjRgtC1INGB0YrQstC/0LDQtNC10L3QuNGPIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ3CiBtc2dpZCAiY29uc2lkZXIgPG4+IG1vc3QgcmVjZW50IHRhZ3MgKGRlZmF1bHQ6IDEwKSIKIG1zZ3N0ciAi0LTQsCDRgdC1INGC0YrRgNGB0Lgg0YHQsNC80L4g0LIg0YLQvtC30Lgg0JHQoNCe0Jkg0L/QvtGB0LvQtdC00L3QuCDQtdGC0LjQutC10YLQuCAo0YHRgtCw0L3QtNCw0YDRgtC90L46IDEwKSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0OQogbXNnaWQgIm9ubHkgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgItC00LAg0YHQtSDRgtGK0YDRgdC4INGB0LDQvNC+INC40LfQvNC10LbQtNGDINC10YLQuNC60LXRgtC40YLQtSDQvdCw0L/QsNGB0LLQsNGJ0Lgg0YLQvtC30Lgg0KjQkNCR0JvQntCdIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUxCiBtc2dpZCAiZG8gbm90IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICLQtNCwINC90LUg0YHQtSDRgtGK0YDRgdC4INC40LfQvNC10LbQtNGDINC10YLQuNC60LXRgtC40YLQtSDQvdCw0L/QsNGB0LLQsNGJ0Lgg0YLQvtC30Lgg0KjQkNCR0JvQntCdIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUwIGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTMgYnVpbHRpbi9uYW1lLXJldi5jOjQ3MwogbXNnaWQgInNob3cgYWJicmV2aWF0ZWQgY29tbWl0IG9iamVjdCBhcyBmYWxsYmFjayIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHRitC60YDQsNGC0LXQvdC+INC40LzQtSDQvdCwINC+0LHQtdC60YIg0LrQsNGC0L4g0YDQtdC30LXRgNCy0LXQvSDQstCw0YDQuNCw0L3RgiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MSBidWlsdGluL2Rlc2NyaWJlLmM6NTU0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTU0IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTcKIG1zZ2lkICJtYXJrIgogbXNnc3RyICLQnNCQ0KDQmtCV0KAiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTUKIG1zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGRpcnR5IHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItZGlydHlcIikiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDRgtCw0LrRitCyINCc0JDQoNCa0JXQoCDQvdCwINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+ICjRgdGC0LDQvdC00LDRgNGC0L3QviDQtSDigJ4tZGlydHnigJwpIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTU1CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTU4CiBtc2dpZCAiYXBwZW5kIDxtYXJrPiBvbiBicm9rZW4gd29ya2luZyB0cmVlIChkZWZhdWx0OiBcIi1icm9rZW5cIikiCiBtc2dzdHIgIiIKICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0YLQsNC60YrQsiDQnNCQ0KDQmtCV0KAg0L3QsCDRgdGH0YPQv9C10L3QvtGC0L4g0YDQsNCx0L7RgtC90L4g0LTRitGA0LLQviAo0YHRgtCw0L3QtNCw0YDRgtC90L4g0LUg4oCeLWJyb2tlbuKAnCkiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NzMKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NzYKIG1zZ2lkICItLWxvbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hYmJyZXY9MCIKIG1zZ3N0ciAi0J7Qv9GG0LjQuNGC0LUg4oCeLS1sb25n4oCcINC4IOKAni0tYWJicmV2PTDigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2MDIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2MDUKIG1zZ2lkICJObyBuYW1lcyBmb3VuZCwgY2Fubm90IGRlc2NyaWJlIGFueXRoaW5nLiIKIG1zZ3N0ciAi0J3QtSDRgdCwINC+0YLQutGA0LjRgtC4INC40LzQtdC90LAg4oCUINC90LjRidC+INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtC/0LjRgdCw0L3Qvi4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTYKIG1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1kaXJ0eeKAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg0YPQutCw0LfQsNGC0LXQuyDQutGK0Lwg0L/QvtC00LDQstCw0L3QtSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjY1NAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjY1OAogbXNnaWQgIi0tYnJva2VuIGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1icm9rZW7igJwg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNCwINGBINGD0LrQsNC30LDRgtC10Lsg0LrRitC8INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjgzCisjOiBidWlsdGluL2RpZmYuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBub3QgYSByZWd1bGFyIGZpbGUgb3Igc3ltbGluayIKIG1zZ3N0ciAi4oCeJXPigJw6INC90LUg0LUg0L3QuNGC0L4g0L7QsdC40LrQvdC+0LLQtdC9INGE0LDQudC7LCDQvdC40YLQviDRgdC40LzQstC+0LvQvdCwINCy0YDRitC30LrQsCIKIAotIzogYnVpbHRpbi9kaWZmLmM6MjM0CisjOiBidWlsdGluL2RpZmYuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvcHRpb246ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDQvtC/0YbQuNGPOiAlcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzYzCisjOiBidWlsdGluL2RpZmYuYzozNTAKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0J3QtSDQtSDRhdGA0LDQvdC40LvQuNGJ0LUg0L3QsCBHaXQiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQwNworIzogYnVpbHRpbi9kaWZmLmM6Mzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICLQt9Cw0LTQsNC00LXQvSDQtSDQvdC10L/RgNCw0LLQuNC70LXQvSDQvtCx0LXQutGCIOKAniVz4oCcLiIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDE2CisjOiBidWlsdGluL2RpZmYuYzo0MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIHR3byBibG9icyBnaXZlbjogJyVzJyIKIG1zZ3N0ciAi0LfQsNC00LDQtNC10L3QuCDRgdCwINC/0L7QstC10YfQtSDQvtGCIDIg0L7QsdC10LrRgtCwLUJMT0I6IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MjEKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmhhbmRsZWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICLQt9Cw0LTQsNC00LXQvSDQtSDQvdC10L/QvtC00LTRitGA0LbQsNC9INC+0LHQtdC60YIg4oCeJXPigJwuIgpAQCAtMTEwMTAsNTUgKzEzNDYzLDU1IEBACiAi0LrQvtC80LHQuNC90LjRgNCw0L3QuNGC0LUg0YTQvtGA0LzQsNGC0Lgg0L3QsCDRgNCw0LfQu9C40LrQuNGC0LUgKOKAni1j4oCcINC4IOKAni0tY2PigJwpINC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCw0YJcbiIKICLQsiDRgNC10LbQuNC80LAg0LfQsCDRgNCw0LfQu9C40LrQuCDQstGK0YDRhdGDINC00LjRgNC10LrRgtC+0YDQuNC4ICjigJ4tZOKAnCDQuCDigJ4tLWRpci1kaWZm4oCcKS4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzMKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYm90aCBmaWxlcyBtb2RpZmllZDogJyVzJyBhbmQgJyVzJy4iCiBtc2dzdHIgItC4INC00LLQsNGC0LAg0YTQsNC50LvQsCDRgdCwINC/0YDQvtC80LXQvdC10L3QuDog4oCeJXPigJwg0Lgg4oCeJXPigJwuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjM1CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjM2CiBtc2dpZCAid29ya2luZyB0cmVlIGZpbGUgaGFzIGJlZW4gbGVmdC4iCiBtc2dzdHIgItGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+INC1INC40LfQvtGB0YLQsNCy0LXQvdC+LiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0NgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0ZW1wb3JhcnkgZmlsZXMgZXhpc3QgaW4gJyVzJy4iCiBtc2dzdHIgItCyIOKAniVz4oCcINC40LzQsCDQstGA0LXQvNC10L3QvdC4INGE0LDQudC70L7QstC1LiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0NworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0OAogbXNnaWQgInlvdSBtYXkgd2FudCB0byBjbGVhbnVwIG9yIHJlY292ZXIgdGhlc2UuIgogbXNnc3RyICLQstGK0LfQvNC+0LbQvdC+INC1INC00LAg0LPQuCDQuNC30YfQuNGB0YLQuNGC0LUg0LjQu9C4INCy0YrQt9GB0YLQsNC90L7QstC40YLQtSIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5NgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5NwogbXNnaWQgInVzZSBgZGlmZi5ndWl0b29sYCBpbnN0ZWFkIG9mIGBkaWZmLnRvb2xgIgogbXNnc3RyICLQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnmRpZmYuZ3VpdG9vbOKAnCDQstC80LXRgdGC0L4g4oCeZGlmZi50b29s4oCcIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6Njk4CisjOiBidWlsdGluL2RpZmZ0b29sLmM6Njk5CiBtc2dpZCAicGVyZm9ybSBhIGZ1bGwtZGlyZWN0b3J5IGRpZmYiCiBtc2dzdHIgItGA0LDQt9C70LjQutCwINC/0L4g0LTQuNGA0LXQutGC0L7RgNC40LgiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDEKIG1zZ2lkICJkbyBub3QgcHJvbXB0IGJlZm9yZSBsYXVuY2hpbmcgYSBkaWZmIHRvb2wiCiBtc2dzdHIgItGB0YLQsNGA0YLQuNGA0LDQvdC1INC90LAg0J/QoNCe0JPQoNCQ0JzQkNGC0LAg0LfQsCDRgNCw0LfQu9C40LrQuCDQsdC10Lcg0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtSIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNgogbXNnaWQgInVzZSBzeW1saW5rcyBpbiBkaXItZGlmZiBtb2RlIgogbXNnc3RyICLRgdC70LXQtNCy0LDQvdC1INC90LAg0YHQuNC80LLQvtC70L3QuNGC0LUg0LLRgNGK0LfQutC4INC/0YDQuCDRgNCw0LfQu9C40LrQsCDQv9C+INC00LjRgNC10LrRgtC+0YDQuNC4IgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzA2CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA3CiBtc2dpZCAidG9vbCIKIG1zZ3N0ciAi0J/QoNCe0JPQoNCQ0JzQkCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwOAogbXNnaWQgInVzZSB0aGUgc3BlY2lmaWVkIGRpZmYgdG9vbCIKIG1zZ3N0ciAi0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRg9C60LDQt9Cw0L3QsNGC0LAg0J/QoNCe0JPQoNCQ0JzQkCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwOQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMAogbXNnaWQgInByaW50IGEgbGlzdCBvZiBkaWZmIHRvb2xzIHRoYXQgbWF5IGJlIHVzZWQgd2l0aCBgLS10b29sYCIKIG1zZ3N0ciAiIgogItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0L/QuNGB0YrQuiDRgSDQstGB0LjRh9C60Lgg0J/QoNCe0JPQoNCQ0JzQuCwg0LrQvtC40YLQviDQvNC+0LbQtSDQtNCwINGB0LUg0L/QvtC70LfQstCw0YIg0YEg0L7Qv9GG0LjRj9GC0LAg4oCeLS0iCiAidG9vbOKAnCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMwogbXNnaWQgIiIKICJtYWtlICdnaXQtZGlmZnRvb2wnIGV4aXQgd2hlbiBhbiBpbnZva2VkIGRpZmYgdG9vbCByZXR1cm5zIGEgbm9uIC0gemVybyBleGl0ICIKICJjb2RlIgpAQCAtMTEwNjYsMTYxICsxMzUxOSwyNDkgQEAKICLigJ5naXQtZGlmZnRvb2zigJwg0LTQsCDRgdC/0YDQtSDRgNCw0LHQvtGC0LAsINC60L7Qs9Cw0YLQviDRgdGC0LDRgNGC0LjRgNCw0L3QsNGC0LAg0J/QoNCe0JPQoNCQ0JzQkCDQt9Cw0LLRitGA0YjQuCDRgSAiCiAi0L3QtdC90YPQu9C10LIg0LrQvtC0IgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzE1CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzE2CiBtc2dpZCAic3BlY2lmeSBhIGN1c3RvbSBjb21tYW5kIGZvciB2aWV3aW5nIGRpZmZzIgogbXNnc3RyICLQutC+0LzQsNC90LTQsCDQt9CwINGA0LDQt9Cz0LvQtdC20LTQsNC90LUg0L3QsCDRgNCw0LfQu9C40LrQuCIKIAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxNworbXNnaWQgInBhc3NlZCB0byBgZGlmZmAiCittc2dzdHIgItC/0L7QtNCw0LLQsCDRgdC1INC60YrQvCDigJ5kaWZm4oCcIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzMyCittc2dpZCAiZGlmZnRvb2wgcmVxdWlyZXMgd29ya3RyZWUgb3IgLS1uby1pbmRleCIKK21zZ3N0ciAi4oCeZ2l0LWRpZmZ0b29s4oCcINC40LfQuNGB0LrQstCwINGA0LDQsdC+0YLQvdC+INC00YrRgNCy0L4g0LjQu9C4INC+0L/RhtC40Y/RgtCwIOKAni0tbm8taW5kZXjigJwiCisKICM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MzkKK21zZ2lkICItLWRpci1kaWZmIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbm8taW5kZXgiCittc2dzdHIgItC+0L/RhtC40LjRgtC1IOKAni0tZGlyLWRpZmbigJwg0Lgg4oCeLS1uby1pbmRleOKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc0MgorbXNnaWQgIi0tZ3VpLCAtLXRvb2wgYW5kIC0tZXh0Y21kIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgItC+0L/RhtC40LjRgtC1IOKAni0tZ3Vp4oCcLCDigJ4tLXRvb2zigJwg0Lgg4oCeLS1leHRjbWTigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80Lgg0LXQtNC90LAg0YEg0LTRgNGD0LPQsCIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc1MAogbXNnaWQgIm5vIDx0b29sPiBnaXZlbiBmb3IgLS10b29sPTx0b29sPiIKIG1zZ3N0ciAi0L3QtSDQtSDQt9Cw0LTQsNC00LXQvdCwINC/0YDQvtCz0YDQsNC80LAg0LfQsCDigJ4tLXRvb2w90J/QoNCe0JPQoNCQ0JzQkOKAnCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc0NgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc1NwogbXNnaWQgIm5vIDxjbWQ+IGdpdmVuIGZvciAtLWV4dGNtZD08Y21kPiIKIG1zZ3N0ciAi0L3QtSDQtSDQt9Cw0LTQsNC00LXQvdCwINC60L7QvNCw0L3QtNCwINC30LAg4oCeLS1leHRjbWQ90JrQntCc0JDQndCU0JDigJwiCiAKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo2Cittc2dpZCAiZ2l0IGVudi0taGVscGVyIC0tdHlwZT1bYm9vbHx1bG9uZ10gPG9wdGlvbnM+IDxlbnYtdmFyPiIKK21zZ3N0ciAiZ2l0IGVudi0taGVscGVyIC0tdHlwZT1bYm9vbHx1bG9uZ10g0J7Qn9Cm0JjQmCDQn9Cg0J7QnNCV0J3Qm9CY0JLQmCIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjM3IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorbXNnaWQgInR5cGUiCittc2dzdHIgItCS0JjQlCIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjQxCittc2dpZCAiZGVmYXVsdCBmb3IgZ2l0X2Vudl8qKC4uLikgdG8gZmFsbCBiYWNrIG9uIgorbXNnc3RyICLRgdGC0LDQvdC00LDRgNGC0L3QsCwg0YDQtdC30LXRgNCy0L3QsCDRgdGC0L7QudC90L7RgdGCINC30LAg4oCeZ2l0X2Vudl8qKOKApinigJwiCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo0MworbXNnaWQgImJlIHF1aWV0IG9ubHkgdXNlIGdpdF9lbnZfKigpIHZhbHVlIGFzIGV4aXQgY29kZSIKK21zZ3N0ciAiIgorItCx0LXQtyDQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQuNC90YTQvtGA0LzQsNGG0LjRjyDigJQg0YHRgtC+0LnQvdC+0YHRgtGC0LAg0L3QsCDigJ5naXRfZW52XyooKeKAnCDQtNCwINC1INC40LfRhdC+0LTQtdC9INC60L7QtCIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgLS1kZWZhdWx0JyBleHBlY3RzIGEgYm9vbGVhbiB2YWx1ZSB3aXRoIGAtLXR5cGU9Ym9vbGAsIG5vdCBgJXNgIgorbXNnc3RyICIiCisi0L7Qv9GG0LjRj9GC0LAg4oCeLS1kZWZhdWx04oCcINC40LfQuNGB0LrQstCwINCx0YPQu9C10LLQsCDRgdGC0L7QudC90L7RgdGCINC/0YDQuCDigJ4tLXR5cGU9Ym9vbOKAnCwg0LAg0L3QtSDigJ4lc+KAnCIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvcHRpb24gYC0tZGVmYXVsdCcgZXhwZWN0cyBhbiB1bnNpZ25lZCBsb25nIHZhbHVlIHdpdGggYC0tdHlwZT11bG9uZ2AsIG5vdCBgIgorIiVzYCIKK21zZ3N0ciAiIgorItC+0L/RhtC40Y/RgtCwIOKAni0tZGVmYXVsdOKAnCDQuNC30LjRgdC60LLQsCDRhtC10LvQvtGH0LjRgdC70LXQvdCwINGB0YLQvtC50L3QvtGB0YIg0LHQtdC3INC30L3QsNC6INC/0YDQuCDigJ4tLSIKKyJ0eXBlPXVsb25n4oCcLCDQsCDQvdC1IOKAniVz4oCcIgorCiAjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MjkKIG1zZ2lkICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LW9wdHNdIgogbXNnc3RyICJnaXQgZmFzdC1leHBvcnQgW9Ce0J/QptCY0Jhf0JfQkF/QodCf0JjQodCq0JrQkF/QoV/QktCV0KDQodCY0JhdIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwNgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjg1MgorbXNnaWQgIkVycm9yOiBDYW5ub3QgZXhwb3J0IG5lc3RlZCB0YWdzIHVubGVzcyAtLW1hcmstdGFncyBpcyBzcGVjaWZpZWQuIgorbXNnc3RyICIiCisi0JPRgNC10YjQutCwOiDQvdC10L/RgNC10LrQuNGC0LUg0LXRgtC40LrQtdGC0Lgg0L3QtSDRgdC1INC40LfQvdCw0YHRj9GCLCDQvtGB0LLQtdC9INCw0LrQviDQvdC1INC30LDQtNCw0LTQtdGC0LUg4oCeLS1tYXJrLXRhZ3PigJwuIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1MgogbXNnaWQgInNob3cgcHJvZ3Jlc3MgYWZ0ZXIgPG4+IG9iamVjdHMiCiBtc2dzdHIgItCh0YrQvtCx0YnQtdC90LjQtSDQt9CwINC90LDQv9GA0LXQtNGK0LrQsCDQvdCwINCy0YHQtdC60Lgg0YLQsNC60YrQsiDQkdCg0J7QmSDQvtCx0LXQutGC0LAiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDA4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1NAogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBzaWduZWQgdGFncyIKIG1zZ3N0ciAi0JrQsNC6INC00LAg0YHQtSDQvtCx0YDQsNCx0L7RgtCy0LDRgiDQv9C+0LTQv9C40YHQsNC90LjRgtC1INC10YLQuNC60LXRgtC4IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxMQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTcKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIgogbXNnc3RyICLQmtCw0Log0LTQsCDRgdC1INC+0LHRgNCw0LHQvtGC0LLQsNGCINC10YLQuNC60LXRgtC40YLQtSDQvdCwINGE0LjQu9GC0YDQuNGA0LDQvdC40YLQtSDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDE0CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2MAorbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBjb21taXQgbWVzc2FnZXMgaW4gYW4gYWx0ZXJuYXRlIGVuY29kaW5nIgorbXNnc3RyICIiCisi0LrQsNC6INC00LAg0YHQtSDQvtCx0YDQsNCx0L7RgtCy0LDRgiDRgdGK0L7QsdGJ0LXQvdC40Y/RgtCwINC30LAg0L/QvtC00LDQstCw0L3QtSwg0LrQvtC40YLQviDRgdCwINCyINC00YDRg9Cz0L4g0LrQvtC00LjRgNCw0L3QtSIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjMKIG1zZ2lkICJEdW1wIG1hcmtzIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAi0JfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0LzQsNGA0LrQtdGA0LjRgtC1INCyINGC0L7Qt9C4INCk0JDQmdCbIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxNgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjUKIG1zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUiCiBtc2dzdHIgItCS0L3QsNGB0Y/QvdC1INC90LAg0LzQsNGA0LrQtdGA0LjRgtC1INC+0YIg0YLQvtC30Lgg0KTQkNCZ0JsiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDE4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2OQorbXNnaWQgIkltcG9ydCBtYXJrcyBmcm9tIHRoaXMgZmlsZSBpZiBpdCBleGlzdHMiCittc2dzdHIgItCS0L3QsNGB0Y/QvdC1INC90LAg0LzQsNGA0LrQtdGA0LjRgtC1INC+0YIg0YLQvtC30Lgg0KTQkNCZ0JssINCw0LrQviDRgdGK0YnQtdGB0YLQstGD0LLQsCIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzEKIG1zZ2lkICJGYWtlIGEgdGFnZ2VyIHdoZW4gdGFncyBsYWNrIG9uZSIKIG1zZ3N0ciAi0JTQsCDRgdC1INC40LfQv9C+0LvQt9Cy0LAg0LjQt9C60YPRgdGC0LLQtdC90L4g0LjQvNC1INC90LAg0YfQvtCy0LXQuiDQv9GA0Lgg0LvQuNC/0YHQsCDQvdCwINC30LDQtNCw0LLQsNGJINC10YLQuNC60LXRgtCwIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAyMAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzMKIG1zZ2lkICJPdXRwdXQgZnVsbCB0cmVlIGZvciBlYWNoIGNvbW1pdCIKIG1zZ3N0ciAi0JjQt9Cy0LXQttC00LDQvdC1INC90LAg0YbRj9C70L7RgtC+INC00YrRgNCy0L4g0LfQsCDQstGB0Y/QutC+INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDIyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3NQogbXNnaWQgIlVzZSB0aGUgZG9uZSBmZWF0dXJlIHRvIHRlcm1pbmF0ZSB0aGUgc3RyZWFtIgogbXNnc3RyICLQmNC30L/QvtC70LfQstCw0L3QtSDQvdCwINC80LDRgNC60LXRgCDQt9CwINC30LDQstGK0YDRiNCy0LDQvdC1INC90LAg0L/QvtGC0L7QutCwIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAyMworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzYKIG1zZ2lkICJTa2lwIG91dHB1dCBvZiBibG9iIGRhdGEiCiBtc2dzdHIgItCR0LXQtyDQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdGK0LTRitGA0LbQsNC90LjQtdGC0L4g0L3QsCDQvtCx0LXQutGC0LjRgtC1LUJMT0IiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDI0IGJ1aWx0aW4vbG9nLmM6MTU4OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzcgYnVpbHRpbi9sb2cuYzoxNzA1CiBtc2dpZCAicmVmc3BlYyIKIG1zZ3N0ciAi0KPQmtCQ0JfQkNCi0JXQm1/QndCQX9CS0JXQoNCh0JjQryIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMjUKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTc4CiBtc2dpZCAiQXBwbHkgcmVmc3BlYyB0byBleHBvcnRlZCByZWZzIgogbXNnc3RyICLQn9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDQo9Ca0JDQl9CQ0KLQldCb0Y9f0J3QkF/QktCV0KDQodCY0K8g0LrRitC8INC40LfQvdC10YHQtdC90LjRgtC1INGD0LrQsNC30LDRgtC10LvQuCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMjYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTc5CiBtc2dpZCAiYW5vbnltaXplIG91dHB1dCIKIG1zZ3N0ciAi0LDQvdC+0L3QuNC80LjQt9C40YDQsNC90LUg0L3QsCDQuNC30LLQtdC20LTQsNC90LDRgtCwINC40L3RhNC+0YDQvNCw0YbQuNGPIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTgxCittc2dpZCAiUmVmZXJlbmNlIHBhcmVudHMgd2hpY2ggYXJlIG5vdCBpbiBmYXN0LWV4cG9ydCBzdHJlYW0gYnkgb2JqZWN0IGlkIgorbXNnc3RyICIiCisi0KPQutCw0LfQstCw0L3QtSDQvdCwINGA0L7QtNC40YLQtdC70LjRgtC1LCDQutC+0LjRgtC+INC90LUg0YHQsCDQsiDQv9C+0YLQvtC60LAg0L3QsCDQsdGK0YDQt9C+INC40LfQvdCw0YHRj9C90LUsINGBICIKKyLQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQvdCwINC+0LHQtdC60YIiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTgzCittc2dpZCAiU2hvdyBvcmlnaW5hbCBvYmplY3QgaWRzIG9mIGJsb2JzL2NvbW1pdHMiCittc2dzdHIgItCY0LfQstC10LbQtNCw0L3QtSDQvdCwINC/0YrRgNCy0L7QvdCw0YfQsNC70L3QuNGC0LUg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQuCDQvdCwINC+0LHQtdC60YLQuNGC0LUgQkxPQi/Qv9C+0LTQsNCy0Y/QvdC40Y8iCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTg1Cittc2dpZCAiTGFiZWwgdGFncyB3aXRoIG1hcmsgaWRzIgorbXNnc3RyICLQl9Cw0LTQsNCy0LDQvdC1INC90LAg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQuCDQvdCwINC80LDRgNC60LXRgNC4INC90LAg0LXRgtC40LrQtdGC0LjRgtC1IgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTIyMAorbXNnaWQgIkNhbm5vdCBwYXNzIGJvdGggLS1pbXBvcnQtbWFya3MgYW5kIC0taW1wb3J0LW1hcmtzLWlmLWV4aXN0cyIKK21zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS1pbXBvcnQtbWFya3PigJwg0Lgg4oCeLS1pbXBvcnQtbWFya3MtaWYtZXhpc3Rz4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgorCisjOiBidWlsdGluL2ZldGNoLmM6MzQKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgImdpdCBmZXRjaCBb0J7Qn9Cm0JjQr+KApl0gW9Cl0KDQkNCd0JjQm9CY0KnQlSBb0KPQmtCQ0JfQkNCi0JXQm+KApl1dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNQogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSA8Z3JvdXA+IgogbXNnc3RyICJnaXQgZmV0Y2ggW9Ce0J/QptCY0K/igKZdINCT0KDQo9Cf0JAiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMAorIzogYnVpbHRpbi9mZXRjaC5jOjM2CiBtc2dpZCAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzxvcHRpb25zPl0gWyg8cmVwb3NpdG9yeT4gfCA8Z3JvdXA+KS4uLl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLW11bHRpcGxlIFvQntCf0KbQmNCv4oCmXSBbKNCl0KDQkNCd0JjQm9CY0KnQlSB8INCT0KDQo9Cf0JAp4oCmXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMxCisjOiBidWlsdGluL2ZldGNoLmM6MzcKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBb0J7Qn9Cm0JjQr+KApl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTUgYnVpbHRpbi9wdWxsLmM6MTk0CisjOiBidWlsdGluL2ZldGNoLmM6MTE2Cittc2dpZCAiZmV0Y2gucGFyYWxsZWwgY2Fubm90IGJlIG5lZ2F0aXZlIgorbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ5mZXRjaC5wYXJhbGxlbOKAnCDRgtGA0Y/QsdCy0LAg0LTQsCDQtSDQvdC10L7RgtGA0LjRhtCw0YLQtdC70L3QsCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEzOSBidWlsdGluL3B1bGwuYzoyMDQKIG1zZ2lkICJmZXRjaCBmcm9tIGFsbCByZW1vdGVzIgogbXNnc3RyICLQtNC+0YHRgtCw0LLRj9C90LUg0L7RgiDQstGB0LjRh9C60Lgg0L7RgtC00LDQu9C10YfQtdC90Lgg0YXRgNCw0L3QuNC70LjRidCwIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE3IGJ1aWx0aW4vcHVsbC5jOjE5NworIzogYnVpbHRpbi9mZXRjaC5jOjE0MSBidWlsdGluL3B1bGwuYzoyNDgKK21zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL2ZldGNoIgorbXNnc3RyICLQt9Cw0LTQsNCy0LDQvdC1INC90LAg0LrQu9C+0L0g0LfQsCDRgdC70LXQtNC10L3QtSDQt9CwINC40LfQtNGK0YDQv9Cy0LDQvdC1L9C00L7RgdGC0LDQstGP0L3QtSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MyBidWlsdGluL3B1bGwuYzoyMDcKIG1zZ2lkICJhcHBlbmQgdG8gLmdpdC9GRVRDSF9IRUFEIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmciCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0LrRitC8IOKAni5naXQvRkVUQ0hfSEVBROKAnCDQstC80LXRgdGC0L4g0LfQsNC80Y/QvdCwIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE5IGJ1aWx0aW4vcHVsbC5jOjIwMAorIzogYnVpbHRpbi9mZXRjaC5jOjE0NSBidWlsdGluL3B1bGwuYzoyMTAKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgItC+0YLQtNCw0LvQtdGH0LXQvSDQv9GK0YIsINC60YrQtNC10YLQviDQtNCwINGB0LUg0LrQsNGH0Lgg0L/QsNC60LXRgtGK0YIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDYKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgbG9jYWwgcmVmZXJlbmNlIgogbXNnc3RyICLQv9GA0LjQvdGD0LTQuNGC0LXQu9C90L4g0L/RgNC10LfQsNC/0LjRgdCy0LDQvdC1INC90LAg0LvQvtC60LDQu9C10L0g0YPQutCw0LfQsNGC0LXQuyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMgorIzogYnVpbHRpbi9mZXRjaC5jOjE0OAogbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKIG1zZ3N0ciAi0LTQvtGB0YLQsNCy0Y/QvdC1INC+0YIg0LzQvdC+0LbQtdGB0YLQstC+INC+0YLQtNCw0LvQtdGH0LXQvdC4INGF0YDQsNC90LjQu9C40YnQsCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyNCBidWlsdGluL3B1bGwuYzoyMDQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTAgYnVpbHRpbi9wdWxsLmM6MjE0CiBtc2dpZCAiZmV0Y2ggYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyIKIG1zZ3N0ciAi0LTQvtGB0YLQsNCy0Y/QvdC1INC90LAg0LLRgdC40YfQutC4INC10YLQuNC60LXRgtC4INC4INC/0YDQuNC90LDQtNC70LXQttCw0YnQuCDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTIKIG1zZ2lkICJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiCiBtc2dzdHIgItCx0LXQtyDQtNC+0YHRgtCw0LLRj9C90LXRgtC+INC90LAg0LLRgdC40YfQutC4INC10YLQuNC60LXRgtC4IOKAni0tbm8tdGFnc+KAnCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyOAorIzogYnVpbHRpbi9mZXRjaC5jOjE1NAogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGZldGNoZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgItCx0YDQvtC5INC/0L7QtNC80L7QtNGD0LvQuCDQtNC+0YHRgtCw0LLQtdC90Lgg0L/QsNGA0LDQu9C10LvQvdC+IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMwIGJ1aWx0aW4vcHVsbC5jOjIwNworIzogYnVpbHRpbi9mZXRjaC5jOjE1NiBidWlsdGluL3B1bGwuYzoyMTcKIG1zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKIG1zZ3N0ciAi0L7QutCw0YHRgtGA0Y/QvdC1INC90LAg0LrQu9C+0L3QuNGC0LUg0YHQu9C10LTRj9GJ0Lgg0LLQtdGH0LUg0L3QtdGB0YrRidC10YHRgtCy0YPQstCw0YnQuCDQvtGC0LTQsNC70LXRh9C10L3QuCDQutC70L7QvdC4IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyCisjOiBidWlsdGluL2ZldGNoLmM6MTU4CiBtc2dpZCAicHJ1bmUgbG9jYWwgdGFncyBubyBsb25nZXIgb24gcmVtb3RlIGFuZCBjbG9iYmVyIGNoYW5nZWQgdGFncyIKIG1zZ3N0ciAiIgogItC+0LrQsNGB0YLRgNGP0L3QtSDQvdCwINC70L7QutCw0LvQvdC40YLQtSDQtdGC0LjQutC10YLQuCwg0LrQvtC40YLQviDQstC10YfQtSDQvdC1INGB0YrRidC10YHRgtCy0YPQstCw0YIg0LIg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+ICIKLSLRhdGA0LDQvdC40LvQuNGJ0LUg0Lgg0LzQsNGF0LDQvdC1INC90LAg0L/RgNC+0LzQtdC90LXQvdC40YLQtSIKKyLRhdGA0LDQvdC40LvQuNGJ0LUg0Lgg0L/RgNC10LfQsNC/0LjRgdCy0LDQvdC1INC90LAg0L/RgNC+0LzQtdC90LXQvdC40YLQtSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMyBidWlsdGluL2ZldGNoLmM6MTU2IGJ1aWx0aW4vcHVsbC5jOjEzMgorIzogYnVpbHRpbi9mZXRjaC5jOjE1OSBidWlsdGluL2ZldGNoLmM6MTgyIGJ1aWx0aW4vcHVsbC5jOjE0MQogbXNnaWQgIm9uLWRlbWFuZCIKIG1zZ3N0ciAi0J/QoNCYINCd0KPQltCU0JAiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjAKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICLRg9C/0YDQsNCy0LvQtdC90LjQtSDQvdCwINGA0LXQutGD0YDRgdC40LLQvdC+0YLQviDQtNC+0YHRgtCw0LLRj9C90LUg0L3QsCDQv9C+0LTQvNC+0LTRg9C70LjRgtC1IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM4IGJ1aWx0aW4vcHVsbC5jOjIxNQorIzogYnVpbHRpbi9mZXRjaC5jOjE2NCBidWlsdGluL3B1bGwuYzoyMjUKIG1zZ2lkICJrZWVwIGRvd25sb2FkZWQgcGFjayIKIG1zZ3N0ciAi0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0LjQt9GC0LXQs9C70LXQvdC40YLQtSDQv9Cw0LrQtdGC0Lgg0YEg0L7QsdC10LrRgtC4IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQwCisjOiBidWlsdGluL2ZldGNoLmM6MTY2CiBtc2dpZCAiYWxsb3cgdXBkYXRpbmcgb2YgSEVBRCByZWYiCiBtc2dzdHIgItC/0L7Qt9Cy0L7Qu9GP0LLQsNC90LUg0L3QsCDQvtCx0L3QvtCy0Y/QstCw0L3QtdGC0L4g0L3QsCDRg9C60LDQt9Cw0YLQtdC70Y8g4oCeSEVBROKAnCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE0MyBidWlsdGluL2ZldGNoLmM6MTQ5IGJ1aWx0aW4vcHVsbC5jOjIxOAorIzogYnVpbHRpbi9mZXRjaC5jOjE2OSBidWlsdGluL2ZldGNoLmM6MTc1IGJ1aWx0aW4vcHVsbC5jOjIyOAogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCiBtc2dzdHIgItC30LDQtNGK0LvQsdC+0YfQsNCy0LDQvdC1INC90LAg0LjRgdGC0L7RgNC40Y/RgtCwINC90LAg0L/Qu9C40YLQutC+INGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE0NQorIzogYnVpbHRpbi9mZXRjaC5jOjE3MQogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgcmVwb3NpdG9yeSBiYXNlZCBvbiB0aW1lIgogbXNnc3RyICLQt9Cw0LTRitC70LHQvtGH0LDQstCw0L3QtSDQvdCwINC40YHRgtC+0YDQuNGP0YLQsCDQvdCwINC/0LvQuNGC0LrQviDRhdGA0LDQvdC40LvQuNGJ0LUg0LTQviDQvtC/0YDQtdC00LXQu9C10L3QviDQstGA0LXQvNC1IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTUxIGJ1aWx0aW4vcHVsbC5jOjIyMQorIzogYnVpbHRpbi9mZXRjaC5jOjE3NyBidWlsdGluL3B1bGwuYzoyMzEKIG1zZ2lkICJjb252ZXJ0IHRvIGEgY29tcGxldGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0L/RgNC10LLRgNGK0YnQsNC90LUg0LIg0L/RitC70L3QviDRhdGA0LDQvdC40LvQuNGJ0LUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODAKIG1zZ2lkICJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0YLQvtCy0LAg0L/RgNC10LQg0L/RitGC0Y8g0L3QsCDQv9C+0LTQvNC+0LTRg9C70LAiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODMKIG1zZ2lkICIiCiAiZGVmYXVsdCBmb3IgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMgKGxvd2VyIHByaW9yaXR5IHRoYW4gY29uZmlnICIKICJmaWxlcykiCkBAIC0xMTIyOCwxMDkgKzEzNzY5LDEzNiBAQAogItGB0YLQsNC90LTQsNGA0YLQvdC+INGA0LXQutGD0YDRgdC40LLQvdC+INC40LfRgtC10LPQu9GP0L3QtSDQvdCwINC/0L7QtNC80L7QtNGD0LvQuNGC0LUgKNGE0LDQudC70L7QstC10YLQtSDRgSDQvdCw0YHRgtGA0L7QudC60Lgg0YHQsCDRgSAiCiAi0L/RgNC40L7RgNC40YLQtdGCKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MSBidWlsdGluL3B1bGwuYzoyMjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODcgYnVpbHRpbi9wdWxsLmM6MjM0CiBtc2dpZCAiYWNjZXB0IHJlZnMgdGhhdCB1cGRhdGUgLmdpdC9zaGFsbG93IgogbXNnc3RyICLQv9GA0LjQtdC80LDQvdC1INC90LAg0YPQutCw0LfQsNGC0LXQu9C4LCDQutC+0LjRgtC+INC+0LHQvdC+0LLRj9Cy0LDRgiDigJ4uZ2l0L3NoYWxsb3figJwiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjIgYnVpbHRpbi9wdWxsLmM6MjI2CisjOiBidWlsdGluL2ZldGNoLmM6MTg4IGJ1aWx0aW4vcHVsbC5jOjIzNgogbXNnaWQgInJlZm1hcCIKIG1zZ3N0ciAi0JrQkNCg0KLQkF/QoV/Qo9Ca0JDQl9CQ0KLQldCb0JgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjMgYnVpbHRpbi9wdWxsLmM6MjI3CisjOiBidWlsdGluL2ZldGNoLmM6MTg5IGJ1aWx0aW4vcHVsbC5jOjIzNwogbXNnaWQgInNwZWNpZnkgZmV0Y2ggcmVmbWFwIgogbXNnc3RyICLRg9C60LDQt9Cy0LDQvdC1INC90LAg0JrQkNCg0KLQkNGC0LBf0KFf0KPQmtCQ0JfQkNCi0JXQm9CYINC30LAg0LTQvtGB0YLQsNCy0Y/QvdC1IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTY0IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzcgYnVpbHRpbi9wdXNoLmM6NTgyCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE3MgotbXNnaWQgInNlcnZlci1zcGVjaWZpYyIKLW1zZ3N0ciAi0YHQv9C10YbQuNGE0LjRh9C90Lgg0LfQsCDRgdGK0YDQstGK0YDQsCIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjE2NCBidWlsdGluL2xzLXJlbW90ZS5jOjc3IGJ1aWx0aW4vcHVzaC5jOjU4MgotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzMKLW1zZ2lkICJvcHRpb24gdG8gdHJhbnNtaXQiCi1tc2dzdHIgItC+0L/RhtC40Y8g0LfQsCDQv9GA0LXQvdC+0YEiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNzAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxOTYKIG1zZ2lkICJyZXBvcnQgdGhhdCB3ZSBoYXZlIG9ubHkgb2JqZWN0cyByZWFjaGFibGUgZnJvbSB0aGlzIG9iamVjdCIKIG1zZ3N0ciAi0LTQvtC60LvQsNC00LLQsNC90LUsINGH0LUg0LLRgdC40YfQutC4INC+0LHQtdC60YLQuCDQvNC+0LPQsNGCINGB0LAg0LTQvtGB0YLQuNC20LjQvNC4INC/0YDQuCDQt9Cw0L/QvtGH0LLQsNC90LUg0L7RgiDRgtC+0LfQuCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ3MAorIzogYnVpbHRpbi9mZXRjaC5jOjE5OQorbXNnaWQgInJ1biAnZ2MgLS1hdXRvJyBhZnRlciBmZXRjaGluZyIKK21zZ3N0ciAi0LjQt9C/0YrQu9C90Y/QstCw0L3QtSDQvdCwIOKAnmdjIC0tYXV0b+KAnCDRgdC70LXQtCDQtNC+0YHRgtCw0LLRj9C90LUiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMDEgYnVpbHRpbi9wdWxsLmM6MjQ2Cittc2dpZCAiY2hlY2sgZm9yIGZvcmNlZC11cGRhdGVzIG9uIGFsbCB1cGRhdGVkIGJyYW5jaGVzIgorbXNnc3RyICLQv9GA0L7QstC10YDQutCwINC30LAg0L/RgNC40L3Rg9C00LjRgtC10LvQvdC4INC+0LHQvdC+0LLRj9Cy0LDQvdC40Y8g0L3QsCDQstGB0LjRh9C60Lgg0LrQu9C+0L3QuCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjIwMworbXNnaWQgIndyaXRlIHRoZSBjb21taXQtZ3JhcGggYWZ0ZXIgZmV0Y2hpbmciCittc2dzdHIgItC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINCz0YDQsMyA0YTQsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINGB0LvQtdC0INC00L7RgdGC0LDQstGP0L3QtSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjUxMwogbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgogbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINCyINC+0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwOQorIzogYnVpbHRpbi9mZXRjaC5jOjY1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBjb250YWlucyBpbnZhbGlkIHZhbHVlICVzIgogbXNnc3RyICLQvdCw0YHRgtGA0L7QudC60LDRgtCwIOKAnmZldGNoLm91dHB1dOKAnCDQtSDRgSDQvdC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzAyCisjOiBidWlsdGluL2ZldGNoLmM6NzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBub3QgZm91bmQiCiBtc2dzdHIgItC+0LHQtdC60YLRitGCIOKAniVz4oCcINC70LjQv9GB0LLQsCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcwNgorIzogYnVpbHRpbi9mZXRjaC5jOjc1NQogbXNnaWQgIlt1cCB0byBkYXRlXSIKIG1zZ3N0ciAiW9Cw0LrRgtGD0LDQu9C40LfQuNGA0LDQvV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MTkgYnVpbHRpbi9mZXRjaC5jOjczNSBidWlsdGluL2ZldGNoLmM6ODA3CisjOiBidWlsdGluL2ZldGNoLmM6NzY4IGJ1aWx0aW4vZmV0Y2guYzo3ODQgYnVpbHRpbi9mZXRjaC5jOjg1NgogbXNnaWQgIltyZWplY3RlZF0iCiBtc2dzdHIgIlvQvtGC0YXQstGK0YDQu9C10L1dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzIwCisjOiBidWlsdGluL2ZldGNoLmM6NzY5CiBtc2dpZCAiY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2giCiBtc2dzdHIgItCyINGC0LXQutGD0YnQuNGPINC60LvQvtC9INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC00L7RgdGC0LDQstGPIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzMwCisjOiBidWlsdGluL2ZldGNoLmM6Nzc5CiBtc2dpZCAiW3RhZyB1cGRhdGVdIgogbXNnc3RyICJb0L7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDQtdGC0LjQutC10YLQuNGC0LVdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzMxIGJ1aWx0aW4vZmV0Y2guYzo3NzEgYnVpbHRpbi9mZXRjaC5jOjc4NwotIzogYnVpbHRpbi9mZXRjaC5jOjgwMgorIzogYnVpbHRpbi9mZXRjaC5jOjc4MCBidWlsdGluL2ZldGNoLmM6ODE3IGJ1aWx0aW4vZmV0Y2guYzo4MzkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTEKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKIG1zZ3N0ciAi0LvQvtC60LDQu9C10L0g0YPQutCw0LfQsNGC0LXQuyDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7QsdC90L7QstC10L0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3ODQKIG1zZ2lkICJ3b3VsZCBjbG9iYmVyIGV4aXN0aW5nIHRhZyIKIG1zZ3N0ciAi0YHRitGJ0LXRgdGC0LLRg9Cy0LDRiSDQtdGC0LjQutC10YIg0YnQtSDQsdGK0LTQtSDQv9GA0LXQt9Cw0L/QuNGB0LDQvSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc1NworIzogYnVpbHRpbi9mZXRjaC5jOjgwNgogbXNnaWQgIltuZXcgdGFnXSIKIG1zZ3N0ciAiW9C90L7QsiDQtdGC0LjQutC10YJdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzYwCisjOiBidWlsdGluL2ZldGNoLmM6ODA5CiBtc2dpZCAiW25ldyBicmFuY2hdIgogbXNnc3RyICJb0L3QvtCyINC60LvQvtC9XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc2MworIzogYnVpbHRpbi9mZXRjaC5jOjgxMgogbXNnaWQgIltuZXcgcmVmXSIKIG1zZ3N0ciAiW9C90L7QsiDRg9C60LDQt9Cw0YLQtdC7XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgwMgorIzogYnVpbHRpbi9mZXRjaC5jOjg1MQogbXNnaWQgImZvcmNlZCB1cGRhdGUiCiBtc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70L3QviDQvtCx0L3QvtCy0Y/QstCw0L3QtSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgwNworIzogYnVpbHRpbi9mZXRjaC5jOjg1NgogbXNnaWQgIm5vbi1mYXN0LWZvcndhcmQiCiBtc2dzdHIgItGB0YrRidC40L3RgdC60L4g0YHQu9C40LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NTMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NzcKK21zZ2lkICIiCisiRmV0Y2ggbm9ybWFsbHkgaW5kaWNhdGVzIHdoaWNoIGJyYW5jaGVzIGhhZCBhIGZvcmNlZCB1cGRhdGUsXG4iCisiYnV0IHRoYXQgY2hlY2sgaGFzIGJlZW4gZGlzYWJsZWQuIFRvIHJlLWVuYWJsZSwgdXNlICctLXNob3ctZm9yY2VkLXVwZGF0ZXMnXG4iCisiZmxhZyBvciBydW4gJ2dpdCBjb25maWcgZmV0Y2guc2hvd0ZvcmNlZFVwZGF0ZXMgdHJ1ZScuIgorbXNnc3RyICIiCisi0JfQsCDQtNCwINGPINCy0LrQu9GO0YfQuNGC0LUg0LXQtNC90L7QutGA0LDRgtC90L4g0L/QvtC70LfQstCw0LnRgtC1INC+0L/RhtC40Y/RgtCwIOKAni0tc2hvdy1mb3JjZWQtdXBkYXRlc+KAnCwg0LAg0LfQsCAiCisi0LTQsCDRjyDQstC60LvRjtGH0LjRgtC1INC30LAg0L/QvtGB0YLQvtGP0L3QvdC+LCDQuNC30L/RitC70L3QtdGC0LU6XG4iCisiXG4iCisiICAgIGdpdCBjb25maWcgZmV0Y2guc2hvd0ZvcmNlZFVwZGF0ZXMgdHJ1ZSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjg4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gY2hlY2sgZm9yY2VkIHVwZGF0ZXMuIFlvdSBjYW4gdXNlXG4iCisiJy0tbm8tc2hvdy1mb3JjZWQtdXBkYXRlcycgb3IgcnVuICdnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzICIKKyJmYWxzZSdcbiIKKyIgdG8gYXZvaWQgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorItCf0YDQvtCy0LXRgNC60LDRgtCwINC30LAg0L/RgNC40L3Rg9C00LjRgtC10LvQvdC4INC40LfRgtC70LDRgdC60LLQsNC90LjRjyDQvtGC0L3QtSAlLjJmINGB0LXQui4gINCc0L7QttC1INC00LAg0Y8g0L/RgNC10YHQutC+0YfQuNGC0LUgIgorItC10LTQvdC+0LrRgNCw0YLQvdC+INGBINC+0L/RhtC40Y/RgtCwIOKAni0tbm8tc2hvdy1mb3JjZWQtdXBkYXRlc+KAnCwg0LAg0LfQsCDQtNCwINGPINC40LfQutC70Y7Rh9C40YLQtSDQt9CwICIKKyLQv9C+0YHRgtC+0Y/QvdC90L4sINC40LfQv9GK0LvQvdC10YLQtTpcbiIKKyJcbiIKKyIgICAgZ2l0IGNvbmZpZyBmZXRjaC5zaG93Rm9yY2VkVXBkYXRlcyBmYWxzZVxuIgorCisjOiBidWlsdGluL2ZldGNoLmM6OTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKIG1zZ3N0ciAi0YXRgNCw0L3QuNC70LjRidC10YLQviDigJ4lc+KAnCDQvdC1INC40LfQv9GA0LDRgtC4INCy0YHQuNGH0LrQuCDQvdC10L7QsdGF0L7QtNC40LzQuCDQvtCx0LXQutGC0LhcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg3NAorIzogYnVpbHRpbi9mZXRjaC5jOjkzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWplY3QgJXMgYmVjYXVzZSBzaGFsbG93IHJvb3RzIGFyZSBub3QgYWxsb3dlZCB0byBiZSB1cGRhdGVkIgogbXNnc3RyICIiCiAi0L7RgtGF0LLRitGA0LvRj9C90LUg0L3QsCDQstGK0YDRhdCwIOKAniVz4oCcLCDQt9Cw0YnQvtGC0L4g0L/Qu9C40YLQutC40YLQtSDRhdGA0LDQvdC40LvQuNGJ0LAg0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiAiCiAi0L7QsdC90L7QstGP0LLQsNC90LgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NjMgYnVpbHRpbi9mZXRjaC5jOjEwODUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE3IGJ1aWx0aW4vZmV0Y2guYzoxMTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICLQntGCICUuKnNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk3NAorIzogYnVpbHRpbi9mZXRjaC5jOjEwMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKQEAgLTExMzQwLDU3ICsxMzkwOCw4MCBAQAogIuKAnmdpdCByZW1vdGUgcHJ1bmUgJXPigJwsINC30LAg0LTQsCDQv9GA0LXQvNCw0YXQvdC10YLQtSDQvtGB0YLQsNGA0LXQu9C40YLQtSDQutC70L7QvdC4LCDQutC+0LjRgtC+XG4iCiAi0L/RgNC10LTQuNC30LLQuNC60LLQsNGCINC60L7QvdGE0LvQuNC60YLQsCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICjQvtCx0LXQutGC0YrRgiDigJ4lc+KAnCDRidC1INGB0LUg0L7QutCw0LbQtSDQuNC30LLRitC9INC60LvQvtC9KSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNTYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKNC+0LHQtdC60YLRitGCIOKAniVz4oCcINCy0LXRh9C1INC1INC40LfQstGK0L0g0LrQu9C+0L0pIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4OAorIzogYnVpbHRpbi9mZXRjaC5jOjExNTgKIG1zZ2lkICJbZGVsZXRlZF0iCiBtc2dzdHIgIlvQuNC30YLRgNC40YJdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4OSBidWlsdGluL3JlbW90ZS5jOjEwMzYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTU5IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNQogbXNnaWQgIihub25lKSIKIG1zZ3N0ciAiKNC90LjRidC+KSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0J3QtSDQvNC+0LbQtSDQtNCwINC00L7RgdGC0LDQstC40YLQtSDQsiDRgtC10LrRg9GJ0LjRjyDQutC70L7QvSDigJ4lc+KAnCDQvdCwINGF0YDQsNC90LjQu9C40YnQtSwg0LrQvtC10YLQviDQvdC1INC1INCz0L7Qu9C+IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEzMQorIzogYnVpbHRpbi9mZXRjaC5jOjEyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKIG1zZ3N0ciAi0KHRgtC+0LnQvdC+0YHRgtGC0LAg4oCeJTIkc+KAnCDQt9CwINC+0L/RhtC40Y/RgtCwIOKAniUxJHPigJwg0L3QtSDQtSDRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDigJ4lMyRz4oCcIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEzNAorIzogYnVpbHRpbi9mZXRjaC5jOjEyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICLQntC/0YbQuNGP0YLQsCDigJ4lc+KAnCDRgdC1INC/0YDQtdGB0LrQsNGH0LAg0L/RgNC4IOKAniVz4oCcXG4iCiAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDEyCittc2dpZCAibXVsdGlwbGUgYnJhbmNoZXMgZGV0ZWN0ZWQsIGluY29tcGF0aWJsZSB3aXRoIC0tc2V0LXVwc3RyZWFtIgorbXNnc3RyICIiCisi0LfQsNGB0LXRh9C10L3QuCDRgdCwINC80L3QvtC20LXRgdGC0LLQviDQutC70L7QvdC4LCDRgtC+0LLQsCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80L4g0YEg0L7Qv9GG0LjRj9GC0LAg4oCeLS1zZXQtdXBzdHJlYW3igJwiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDI3Cittc2dpZCAibm90IHNldHRpbmcgdXBzdHJlYW0gZm9yIGEgcmVtb3RlIHJlbW90ZS10cmFja2luZyBicmFuY2giCittc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRg9C60LDQt9Cy0LDRgtC1INC60LvQvtC9INC30LAg0YHQu9C10LTQtdC90LUg0L3QsCDQvtGC0LTQsNC70LXRh9C10L0g0LXRgtC40LrQtdGCIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQyOQorbXNnaWQgIm5vdCBzZXR0aW5nIHVwc3RyZWFtIGZvciBhIHJlbW90ZSB0YWciCittc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRg9C60LDQt9Cy0LDRgtC1INC60LvQvtC9INC30LAg0YHQu9C10LTQtdC90LUg0L3QsCDQvtGC0LTQsNC70LXRh9C10L0g0LXRgtC40LrQtdGCIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQzMQorbXNnaWQgInVua25vd24gYnJhbmNoIHR5cGUiCittc2dzdHIgItC90LXQv9C+0LfQvdCw0YIg0LLQuNC0INC60LvQvtC9IgorCiAjOiBidWlsdGluL2ZldGNoLmM6MTQzMworbXNnaWQgIiIKKyJubyBzb3VyY2UgYnJhbmNoIGZvdW5kLlxuIgorInlvdSBuZWVkIHRvIHNwZWNpZnkgZXhhY3RseSBvbmUgYnJhbmNoIHdpdGggdGhlIC0tc2V0LXVwc3RyZWFtIG9wdGlvbi4iCittc2dzdHIgIiIKKyLQvdC1INC1INC+0YLQutGA0LjRgiDQutC70L7QvSDQt9CwINGB0LvQtdC00LXQvdC1LlxuIgorItCi0YDRj9Cx0LLQsCDQuNC30YDQuNGH0L3QviDQtNCwINC30LDQtNCw0LTQtdGC0LUg0LXQtNC40L0g0LrQu9C+0L0g0YEg0L7Qv9GG0LjRj9GC0LAg4oCeLS1zZXQtdXBzdHJlYW0gb3B0aW9u4oCcLiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE1NTkgYnVpbHRpbi9mZXRjaC5jOjE2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmV0Y2hpbmcgJXNcbiIKIG1zZ3N0ciAi0JTQvtGB0YLQsNCy0Y/QvdC1INC90LAg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE0MzUgYnVpbHRpbi9yZW1vdGUuYzoxMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTY5IGJ1aWx0aW4vZmV0Y2guYzoxNjI0IGJ1aWx0aW4vcmVtb3RlLmM6MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmZXRjaCAlcyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LTQvtGB0YLQsNCy0LgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNDgxIGJ1aWx0aW4vZmV0Y2guYzoxNjQ5Ci1tc2dpZCAiIgotIi0tZmlsdGVyIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB0aGUgcmVtb3RlIGNvbmZpZ3VyZWQgaW4gY29yZS5wYXJ0aWFsQ2xvbmUiCi1tc2dzdHIgIiIKLSLQvtC/0YbQuNGP0YLQsCDigJ4tLWZpbHRlcuKAnCDQvNC+0LbQtSDQtNCwINGB0LUg0L/QvtC70LfQstCwINGB0LDQvNC+INGBINC+0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg0YPQutCw0LfQsNC90L4g0LIgIgotItC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCeY29yZS5wYXJ0aWFsQ2xvbmXigJwiCisjOiBidWlsdGluL2ZldGNoLmM6MTU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZmV0Y2ggJyVzJyAoZXhpdCBjb2RlOiAlZClcbiIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LTQvtGB0YLQsNCy0LggKNC40LfRhdC+0LTQvdC40Y/RgiDQutC+0LQg0LU6ICVkKVxuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTUwNAorIzogYnVpbHRpbi9mZXRjaC5jOjE2ODQKIG1zZ2lkICIiCiAiTm8gcmVtb3RlIHJlcG9zaXRvcnkgc3BlY2lmaWVkLiAgUGxlYXNlLCBzcGVjaWZ5IGVpdGhlciBhIFVSTCBvciBhXG4iCiAicmVtb3RlIG5hbWUgZnJvbSB3aGljaCBuZXcgcmV2aXNpb25zIHNob3VsZCBiZSBmZXRjaGVkLiIKQEAgLTExMzk4LDY5ICsxMzk4OSw3NyBAQAogItCd0LUg0YHRgtC1INGD0LrQsNC30LDQu9C4INC+0YLQtNCw0LvQtdGH0LXQvdC+INGF0YDQsNC90LjQu9C40YnQtS4gINCX0LDQtNCw0LnRgtC1INC40LvQuCDQsNC00YDQtdGBLCDQuNC70Lgg0LjQvNC1XG4iCiAi0L3QsCDQvtGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUsINC+0YLQutGK0LTQtdGC0L4g0LTQsCDRgdC1INC00L7RgdGC0LDQstGP0YIg0L3QvtCy0LjRgtC1INCy0LXRgNGB0LjQuC4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTQxCisjOiBidWlsdGluL2ZldGNoLmM6MTcyMQogbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCiBtc2dzdHIgItCi0YDRj9Cx0LLQsCDQtNCwINGD0LrQsNC20LXRgtC1INC40LzQtSDQvdCwINC10YLQuNC60LXRgi4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTkwCisjOiBidWlsdGluL2ZldGNoLmM6MTc3MQogbXNnaWQgIk5lZ2F0aXZlIGRlcHRoIGluIC0tZGVlcGVuIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgItCe0YLRgNC40YbQsNGC0LXQu9C90LAg0LTRitC70LHQvtGH0LjQvdCwINC60LDRgtC+INCw0YDQs9GD0LzQtdC90YIg0L3QsCDigJ4tLWRlZXBlbuKAnCDQvdC1INGB0LUg0L/QvtC00LTRitGA0LbQsCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1OTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzczCiBtc2dpZCAiLS1kZWVwZW4gYW5kIC0tZGVwdGggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKLW1zZ3N0ciAi0J7Qv9GG0LjQuNGC0LUg4oCeLS1kZWVwZW7igJwg0Lgg4oCeLS1kZXB0aOKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCDQtdC00L3QsCDRgSDQtNGA0YPQs9CwIgorbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLWRlZXBlbuKAnCDQuCDigJ4tLWRlcHRo4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU5NworIzogYnVpbHRpbi9mZXRjaC5jOjE3NzgKIG1zZ2lkICItLWRlcHRoIGFuZCAtLXVuc2hhbGxvdyBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS1kZXB0aOKAnCDQuCDigJ4tLXVuc2hhbGxvd+KAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1OTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzgwCiBtc2dpZCAiLS11bnNoYWxsb3cgb24gYSBjb21wbGV0ZSByZXBvc2l0b3J5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgItC90LUg0LzQvtC20LXRgtC1INC00LAg0LjQt9C/0L7Qu9C30LLQsNGC0LUg0L7Qv9GG0LjRj9GC0LAg4oCeLS11bnNoYWxsb3figJwg0LLRitGA0YXRgyDQv9GK0LvQvdC+INGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzk2CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgdGFrZSBhIHJlcG9zaXRvcnkgYXJndW1lbnQiCiBtc2dzdHIgItC60YrQvCDigJ5naXQgZmV0Y2ggLS1hbGzigJwg0L3QtSDQvNC+0LbQtdGC0LUg0LTQsCDQtNC+0LHQsNCy0LjRgtC1INCw0YDQs9GD0LzQtdC90YIg4oCUINGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzk4CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgbWFrZSBzZW5zZSB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICIiCiAi0LrRitC8IOKAnmdpdCBmZXRjaCAtLWFsbOKAnCDQvdC1INC80L7QttC10YLQtSDQtNCwINC00L7QsdCw0LLQuNGC0LUg0LDRgNCz0YPQvNC10L3RgiDigJQg0YPQutCw0LfQsNGC0LXQuyDQvdCwINCy0LXRgNGB0LjRjyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlIG9yIHJlbW90ZSBncm91cDogJXMiCiBtc2dzdHIgItCd0Y/QvNCwINC90LjRgtC+INC+0YLQtNCw0LvQtdGH0LXQvdC+INGF0YDQsNC90LjQu9C40YnQtSwg0L3QuNGC0L4g0LPRgNGD0L/QsCDQvtGCINGF0YDQsNC90LjQu9C40YnQsCDQvdCwINC40LzQtSDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MzMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODE0CiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICLQo9C60LDQt9Cy0LDQvdC10YLQviDQvdCwINCz0YDRg9C/0LAg0Lgg0YPQutCw0LfQstCw0L3QtdGC0L4g0L3QsCDQstC10YDRgdC40Y8g0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODMyCittc2dpZCAiIgorIi0tZmlsdGVyIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB0aGUgcmVtb3RlIGNvbmZpZ3VyZWQgaW4gZXh0ZW5zaW9ucy4iCisicGFydGlhbGNsb25lIgorbXNnc3RyICIiCisi0L7Qv9GG0LjRj9GC0LAg4oCeLS1maWx0ZXLigJwg0LzQvtC20LUg0LTQsCDRgdC1INC/0L7Qu9C30LLQsCDRgdCw0LzQviDRgSDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1INGD0LrQsNC30LDQvdC+INCyICIKKyLQvdCw0YHRgtGA0L7QudC60LDRgtCwIOKAnmV4dGVuc2lvbnMucGFydGlhbENsb25l4oCcIgorCiAjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzoxOAogbXNnaWQgIiIKICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPG1lc3NhZ2U+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSA8ZmlsZT5dIgogbXNnc3RyICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tINCh0KrQntCR0KnQldCd0JjQlV0gWy0tbG9nWz3QkdCg0J7QmV0gfCAtLW5vLWxvZ10gWy0tZmlsZSDQpNCQ0JnQm10iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MgorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc0CiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgogbXNnc3RyICIiCiAi0LLQvNGK0LrQstCw0L3QtSDQvdCwINC20YPRgNC90LDQuyDRgdGK0YHRgtC+0Y/RiSDRgdC1INC+0YIg0L3QtSDQv9C+0LLQtdGH0LUg0L7RgiDQkdCg0J7QmSDQt9Cw0L/QuNGB0LAg0L7RgiDRgdGK0LrRgNCw0YLQtdC90LjRjyAiCiAi0LbRg9GA0L3QsNC7IgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzUKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NwogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCiBtc2dzdHIgItC/0YHQtdCy0LTQvtC90LjQvCDQvdCwIOKAni0tbG9n4oCcICjQvtGB0YLQsNGA0Y/Qu9C+KSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc4CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2ODAKIG1zZ2lkICJ0ZXh0IgogbXNnc3RyICLQotCV0JrQodCiIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzkKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY4MQogbXNnaWQgInVzZSA8dGV4dD4gYXMgc3RhcnQgb2YgbWVzc2FnZSIKIG1zZ3N0ciAi0LfQsCDQvdCw0YfQsNC70L4g0L3QsCDRgdGK0L7QsdGJ0LXQvdC40LXRgtC+INC00LAg0YHQtSDQv9C+0LvQt9Cy0LAg0KLQldCa0KHQoiIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjgwCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2ODIKIG1zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKIG1zZ3N0ciAi0YTQsNC50LssINC+0YIg0LrQvtC50YLQviDQtNCwINGB0LUg0YfQtdGC0LUiCiAKQEAgLTExNTAwLDkyICsxNDA5OSwyNzUgQEAKIG1zZ2lkICJzaG93IG9ubHkgPG4+IG1hdGNoZWQgcmVmcyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0YLQvtC30Lgg0JHQoNCe0Jkg0L3QsNC/0LDRgdC90LDRgtC4INGD0LrQsNC30LDRgtC10LvQuCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjQyNAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjQzOQogbXNnaWQgInJlc3BlY3QgZm9ybWF0IGNvbG9ycyIKIG1zZ3N0ciAi0YHQv9Cw0LfQstCw0L3QtSDQvdCwINGG0LLQtdGC0L7QstC10YLQtSDQvdCwINGE0L7RgNC80LDMgNGC0LAiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDMKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDIKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggcG9pbnRzIGF0IHRoZSBnaXZlbiBvYmplY3QiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUsINGB0L7Rh9C10YnQuCDQutGK0Lwg0J7QkdCV0JrQotCQIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ1CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ0CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0YHQu9C10YLQuNGC0LUg0YPQutCw0LfQsNGC0LXQu9C4IgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ1CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINC90LXRgdC70LXRgtC40YLQtSDRg9C60LDQt9Cw0YLQtdC70LgiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDcKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDYKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0YHQsNC80L4g0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1LCDQutC+0LjRgtC+INGB0YrQtNGK0YDQttCw0YIg0YLQvtCy0LAg0J/QntCU0JDQktCQ0J3QlSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0OAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NwogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUsINC60L7QuNGC0L4g0L3QtSDRgdGK0LTRitGA0LbQsNGCINGC0L7QstCwINCf0J7QlNCQ0JLQkNCd0JUiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU5OAorIzogYnVpbHRpbi9mc2NrLmM6NjggYnVpbHRpbi9mc2NrLmM6MTQ3IGJ1aWx0aW4vZnNjay5jOjE0OAorbXNnaWQgInVua25vd24iCittc2dzdHIgItC90LXQv9C+0LfQvdCw0YIiCisKKyMuIFRSQU5TTEFUT1JTOiBlLmcuIGVycm9yIGluIHRyZWUgMDFiZmRhOiA8bW9yZSBleHBsYW5hdGlvbj4KKyM6IGJ1aWx0aW4vZnNjay5jOjEwMCBidWlsdGluL2ZzY2suYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgaW4gJXMgJXM6ICVzIgorbXNnc3RyICLQs9GA0LXRiNC60LAg0LIgJXMg4oCeJXPigJw6ICVzIgorCisjLiBUUkFOU0xBVE9SUzogZS5nLiB3YXJuaW5nIGluIHRyZWUgMDFiZmRhOiA8bW9yZSBleHBsYW5hdGlvbj4KKyM6IGJ1aWx0aW4vZnNjay5jOjExNAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nIGluICVzICVzOiAlcyIKK21zZ3N0ciAi0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtSDQt9CwICVzIOKAniVz4oCcOiAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6MTQzIGJ1aWx0aW4vZnNjay5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJicm9rZW4gbGluayBmcm9tICU3cyAlcyIKK21zZ3N0ciAi0YHQutGK0YHQsNC90LAg0LLRgNGK0LfQutCwINC+0YIgJTdzICVzIgorCisjOiBidWlsdGluL2ZzY2suYzoxNTUKK21zZ2lkICJ3cm9uZyBvYmplY3QgdHlwZSBpbiBsaW5rIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQstC40LQg0L7QsdC10LrRgiDQstGK0LIg0LLRgNGK0LfQutCw0YLQsCIKKworIzogYnVpbHRpbi9mc2NrLmM6MTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJicm9rZW4gbGluayBmcm9tICU3cyAlc1xuIgorIiAgICAgICAgICAgICAgdG8gJTdzICVzIgorbXNnc3RyICIiCisi0YHQutGK0YHQsNC90LAg0LLRgNGK0LfQutCwINC+0YIgJTdzICVzXG4iCisiICAgICAgICAgICAgICDQutGK0LwgJTdzICVzIgorCisjOiBidWlsdGluL2ZzY2suYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyAlcyAlcyIKK21zZ3N0ciAi0LvQuNC/0YHQstCw0Ykg0L7QsdC10LrRgjogJXMg4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSAlcyAlcyIKK21zZ3N0ciAi0L3QtdC00L7RgdGC0LjQttC40Lwg0L7QsdC10LrRgjogJXMg4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJkYW5nbGluZyAlcyAlcyIKK21zZ3N0ciAi0LjQt9Cy0YrQvSDQutC70L7QvTogJXMg4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjMzOQorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbG9zdC1mb3VuZCIKK21zZ3N0ciAi4oCebG9zdC1mb3VuZOKAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDRgdGK0LfQtNCw0LTQtSIKKworIzogYnVpbHRpbi9mc2NrLmM6MzUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmaW5pc2ggJyVzJyIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsNCy0YrRgNGI0LgiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjM2NworIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyAlcyIKK21zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDQvdCwIOKAniVz4oCcIgorCisjOiBidWlsdGluL2ZzY2suYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5ICglZCBvYmplY3RzKSIKK21zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDQvdCwINGB0LLRitGA0LfQsNC90L7RgdGC0YLQsCAoJWQg0L7QsdC10LrRgtCwKSIKKworIzogYnVpbHRpbi9mc2NrLmM6NDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nICVzICVzIgorbXNnc3RyICLQn9GA0L7QstC10YDRj9Cy0LDQvdC1INC90LAgJXMg4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQyOQorbXNnaWQgImJyb2tlbiBsaW5rcyIKK21zZ3N0ciAi0YHQutGK0YHQsNC90Lgg0LLRgNGK0LfQutC4IgorCisjOiBidWlsdGluL2ZzY2suYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicm9vdCAlcyIKK21zZ3N0ciAi0L3QsNGH0LDQu9C90LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWdnZWQgJXMgJXMgKCVzKSBpbiAlcyIKK21zZ3N0ciAi0L/RgNC40LvQvtC20LXQvSDQtdGC0LjQutC10YIg4oCeJXPigJwg0LLRitGA0YXRgyDigJ4lc+KAnCAoJXMpINCyIOKAniVz4oCcIgorCisjOiBidWlsdGluL2ZzY2suYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBjb3JydXB0IG9yIG1pc3NpbmciCittc2dzdHIgIiVzOiDQu9C40L/RgdCy0LDRiSDQuNC70Lgg0L/QvtCy0YDQtdC00LXQvSDQvtCx0LXQutGCIgorCisjOiBidWlsdGluL2ZzY2suYzo1MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgcmVmbG9nIGVudHJ5ICVzIgorbXNnc3RyICIlczog0L3QtdC/0YDQsNCy0LjQu9C10L0g0LfQsNC/0LjRgSDQsiDQttGD0YDQvdCw0LvQsCDQt9CwINGD0LrQsNC30LDRgtC10LvQuCDigJ4lc+KAnCIKKworIzogYnVpbHRpbi9mc2NrLmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nIHJlZmxvZyAlcy0+JXMiCittc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0L3QsCDQttGD0YDQvdCw0LvQsCDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LU6IOKAniVz4oCcINC00L4g4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBzaGExIHBvaW50ZXIgJXMiCittc2dzdHIgIuKAniVz4oCcOiDQvdC10L/RgNCw0LLQuNC70LXQvSDRg9C60LDQt9Cw0YLQtdC7INC30LAgU0hBMTog4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgY29tbWl0IgorbXNnc3RyICIlczog0L3QtSDQtSDQv9C+0LTQsNCy0LDQvdC1ISIKKworIzogYnVpbHRpbi9mc2NrLmM6NjA5Cittc2dpZCAibm90aWNlOiBObyBkZWZhdWx0IHJlZmVyZW5jZXMiCittc2dzdHIgItCy0L3QuNC80LDQvdC40LU6INC90Y/QvNCwINGD0LrQsNC30LDRgtC10LvQuCDQv9C+INC/0L7QtNGA0LDQt9Cx0LjRgNCw0L3QtSIKKworIzogYnVpbHRpbi9mc2NrLmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgY29ycnVwdCBvciBtaXNzaW5nOiAlcyIKK21zZ3N0ciAi4oCeJXPigJw6INC70LjQv9GB0LLQsNGJINC+0LHQtdC60YI6IOKAniVz4oCcIgorCisjOiBidWlsdGluL2ZzY2suYzo2MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBjb3VsZCBub3QgYmUgcGFyc2VkOiAlcyIKK21zZ3N0ciAi4oCeJXPigJw6INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INCw0L3QsNC70LjQt9C40YDQsDog4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY1NworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc2hhMSBmaWxlOiAlcyIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YDQtdC0INGBINC60L7QvdGC0YDQvtC70L3QsCDRgdGD0LzQsCDQv9C+IFNIQTE6IOKAniVz4oCcIgorCisjOiBidWlsdGluL2ZzY2suYzo2NzIKK21zZ2lkICJDaGVja2luZyBvYmplY3QgZGlyZWN0b3J5IgorbXNnc3RyICLQn9GA0L7QstC10YDQutCwINC90LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0YEg0L7QsdC10LrRgtC4IgorCisjOiBidWlsdGluL2ZzY2suYzo2NzUKIG1zZ2lkICJDaGVja2luZyBvYmplY3QgZGlyZWN0b3JpZXMiCiBtc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0L3QsCDQtNC40YDQtdC60YLQvtGA0LjQuNGC0LUg0YEg0L7QsdC10LrRgtC4IgogCi0jOiBidWlsdGluL2ZzY2suYzo2OTMKKyM6IGJ1aWx0aW4vZnNjay5jOjY5MAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyAlcyBsaW5rIgorbXNnc3RyICLQn9GA0L7QstC10YDQutCwINC90LAg0LLRgNGK0LfQutC40YLQtSDQvdCwIOKAniVz4oCcIgorCisjCisjOiBidWlsdGluL2ZzY2suYzo2OTUgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgJXMiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INGD0LrQsNC30LDRgtC10Lsg4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjcwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBwb2ludHMgdG8gc29tZXRoaW5nIHN0cmFuZ2UgKCVzKSIKK21zZ3N0ciAi4oCeJXPigJwg0YHQvtGH0Lgg0LrRitC8INC90LXRidC+INC90LXQvtCx0LjRh9Cw0LnQvdC+ICglcykiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjcwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoZWQgSEVBRCBwb2ludHMgYXQgbm90aGluZyIKK21zZ3N0ciAiJXM6INC90LXRgdCy0YrRgNC30LDQvdC40Y/RgiDQstGA0YrRhSDigJ5IRUFE4oCcINC90LUg0YHQvtGH0Lgg0LrRitC8INC90LjRidC+IgorCisjOiBidWlsdGluL2ZzY2suYzo3MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90aWNlOiAlcyBwb2ludHMgdG8gYW4gdW5ib3JuIGJyYW5jaCAoJXMpIgorbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDigJ4lc+KAnCDRgdC+0YfQuCDQutGK0Lwg0LLRgdC1INC+0YnQtSDQvdC10YHRitGJ0LXRgdGC0LLRg9Cy0LDRiSDQutC70L7QvSAoJXMpIgorCisjOiBidWlsdGluL2ZzY2suYzo3MjQKK21zZ2lkICJDaGVja2luZyBjYWNoZSB0cmVlIgorbXNnc3RyICLQn9GA0L7QstC10YDQutCwINC90LAg0LTRitGA0LLQvtGC0L4g0L3QsCDQutC10YjQsCIKKworIzogYnVpbHRpbi9mc2NrLmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHNoYTEgcG9pbnRlciBpbiBjYWNoZS10cmVlIgorbXNnc3RyICLigJ4lc+KAnDog0L3QtdC/0YDQsNCy0LjQu9C10L0g0YPQutCw0LfQsNGC0LXQuyDQt9CwIFNIQTEg0LIg0LTRitGA0LLQvtGC0L4g0L3QsCDQutC10YjQsCIKKworIzogYnVpbHRpbi9mc2NrLmM6NzM4Cittc2dpZCAibm9uLXRyZWUgaW4gY2FjaGUtdHJlZSIKK21zZ3N0ciAi0LIg0LTRitGA0LLQvtGC0L4g0L3QsCDQutC10YjQsCDQuNC80LAg0L3QtdGJ0L4sINC60L7QtdGC0L4g0L3QtSDQtSDQtNGK0YDQstC+IgorCisjOiBidWlsdGluL2ZzY2suYzo3NjkKIG1zZ2lkICJnaXQgZnNjayBbPG9wdGlvbnM+XSBbPG9iamVjdD4uLi5dIgogbXNnc3RyICJnaXQgZnNjayBb0J7Qn9Cm0JjQr+KApl0gW9Ce0JHQldCa0KLigKZdIgogCi0jOiBidWlsdGluL2ZzY2suYzo2OTkKKyM6IGJ1aWx0aW4vZnNjay5jOjc3NQogbXNnaWQgInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cy0LDQvdC1INC90LAg0L3QtdC00L7RgdGC0LjQttC40LzQuNGC0LUg0L7QsdC10LrRgtC4IgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDAKKyM6IGJ1aWx0aW4vZnNjay5jOjc3NgogbXNnaWQgInNob3cgZGFuZ2xpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cy0LDQvdC1INC90LAg0L7QsdC10LrRgtC40YLQtSDQuNC30LLRitC9INC60LvQvtC90LjRgtC1IgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDEKKyM6IGJ1aWx0aW4vZnNjay5jOjc3NwogbXNnaWQgInJlcG9ydCB0YWdzIgogbXNnc3RyICLQv9C+0LrQsNC30LLQsNC90LUg0L3QsCDQtdGC0LjQutC10YLQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwMgorIzogYnVpbHRpbi9mc2NrLmM6Nzc4CiBtc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCiBtc2dzdHIgItC/0L7QutCw0LfQstCw0L3QtSDQvdCwINC60L7RgNC10L3QvtCy0LjRgtC1INCy0YrQt9C70LgiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwMworIzogYnVpbHRpbi9mc2NrLmM6Nzc5CiBtc2dpZCAibWFrZSBpbmRleCBvYmplY3RzIGhlYWQgbm9kZXMiCiBtc2dzdHIgItC30LDQtNCw0LLQsNC90LUg0L3QsCDQvtCx0LXQutGC0Lgg0L7RgiDQuNC90LTQtdC60YHQsCDQtNCwINGB0LAg0LrQvtGA0LXQvdC+0LLQuCIKIAotIyBGSVhNRSBiYWQgbWVzc2FnZQotIzogYnVpbHRpbi9mc2NrLmM6NzA0CisjOiBidWlsdGluL2ZzY2suYzo3ODAKIG1zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCi1tc2dzdHIgItC/0YDQvtGB0LvQtdC00Y/QstCw0L3QtSDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUg0L7RgiDQttGD0YDQvdCw0LvQsCDQutCw0YLQviDQs9C70LDQstC4ICjRgdGC0LDQvdC00LDRgNGC0L3QvikiCittc2dzdHIgItC/0YDQvtGB0LvQtdC00Y/QstCw0L3QtSDQuCDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUg0L7RgiDQttGD0YDQvdCw0LvQsCDRgSDRg9C60LDQt9Cw0YLQtdC70LjRgtC1ICjRgdGC0LDQvdC00LDRgNGC0L3QvikiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwNQorIzogYnVpbHRpbi9mc2NrLmM6NzgxCiBtc2dpZCAiYWxzbyBjb25zaWRlciBwYWNrcyBhbmQgYWx0ZXJuYXRlIG9iamVjdHMiCiBtc2dzdHIgItC00L7Qv9GK0LvQvdC40YLQtdC70L3QviDQtNCwINGB0LUg0L/RgNC+0LLQtdGA0Y/QstCw0YIg0L/QsNC60LXRgtC40YLQtSDQuCDQsNC70YLQtdGA0L3QsNGC0LjQstC90LjRgtC1INC+0LHQtdC60YLQuCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzA2CisjOiBidWlsdGluL2ZzY2suYzo3ODIKIG1zZ2lkICJjaGVjayBvbmx5IGNvbm5lY3Rpdml0eSIKIG1zZ3N0ciAi0L/RgNC+0LLQtdGA0LrQsCDRgdCw0LzQviDQvdCwINCy0YDRitC30LrQsNGC0LAiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwNworIzogYnVpbHRpbi9mc2NrLmM6NzgzCiBtc2dpZCAiZW5hYmxlIG1vcmUgc3RyaWN0IGNoZWNraW5nIgogbXNnc3RyICLQv9C+LdGB0YLRgNC+0LPQuCDQv9GA0L7QstC10YDQutC4IgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDkKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NQogbXNnaWQgIndyaXRlIGRhbmdsaW5nIG9iamVjdHMgaW4gLmdpdC9sb3N0LWZvdW5kIgogbXNnc3RyICLQt9Cw0L/QsNC30LLQsNC90LUg0L3QsCDQvtCx0LXQutGC0LjRgtC1INC40LfQstGK0L0g0LrQu9C+0L3QuNGC0LUg0LIg0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwIOKAni5naXQvbG9zdC1mb3VuZOKAnCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzEwIGJ1aWx0aW4vcHJ1bmUuYzoxMTAKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NiBidWlsdGluL3BydW5lLmM6MTMyCiBtc2dpZCAic2hvdyBwcm9ncmVzcyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cy0LDQvdC1INC90LAg0L3QsNC/0YDQtdC00YrQutCwIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MTEKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NwogbXNnaWQgInNob3cgdmVyYm9zZSBuYW1lcyBmb3IgcmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgItC/0L7QutCw0LfQstCw0L3QtSDQvdCwINC/0L7QtNGA0L7QsdC90Lgg0LjQvNC10L3QsCDQvdCwINC00L7RgdGC0LjQttC40LzQuNGC0LUg0L7QsdC10LrRgtC4IgogCi0jOiBidWlsdGluL2ZzY2suYzo3NzYKKyM6IGJ1aWx0aW4vZnNjay5jOjg0NiBidWlsdGluL2luZGV4LXBhY2suYzoyMjUKIG1zZ2lkICJDaGVja2luZyBvYmplY3RzIgogbXNnc3RyICLQn9GA0L7QstC10YDQutCwINC90LAg0L7QsdC10LrRgtC40YLQtSIKIAotIzogYnVpbHRpbi9nYy5jOjM0CisjOiBidWlsdGluL2ZzY2suYzo4NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBtaXNzaW5nIgorbXNnc3RyICLigJ4lc+KAnDog0LvQuNC/0YHQstCw0Ykg0L7QsdC10LrRgiIKKworIzogYnVpbHRpbi9mc2NrLmM6ODg1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcGFyYW1ldGVyOiBleHBlY3RlZCBzaGExLCBnb3QgJyVzJyIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0L/QsNGA0LDQvNC10YLRitGAOiDQvtGH0LDQutCy0LAg0YHQtSBTSEExLCDQsCDQsdC1INC/0L7Qu9GD0YfQtdC90L46IOKAniVz4oCcIgorCisjOiBidWlsdGluL2djLmM6MzUKIG1zZ2lkICJnaXQgZ2MgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBnYyBb0J7Qn9Cm0JjQr+KApl0iCiAKQEAgLTExNTk0LDE3ICsxNDM3NiwyMiBAQAogbXNnaWQgIkZhaWxlZCB0byBmc3RhdCAlczogJXMiCiBtc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwIOKAnmZzdGF04oCcINCy0YrRgNGF0YMg4oCeJXPigJw6ICVzIgogCi0jOiBidWlsdGluL2djLmM6NDYxIGJ1aWx0aW4vaW5pdC1kYi5jOjU1CisjOiBidWlsdGluL2djLmM6MTI2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAnJXMnIHZhbHVlICclcyciCittc2dzdHIgItGB0YLQvtC50L3QvtGB0YLRgtCwINC90LAg4oCeJXPigJwg4oCUIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INCw0L3QsNC70LjQt9C40YDQsCIKKworIzogYnVpbHRpbi9nYy5jOjQ3NSBidWlsdGluL2luaXQtZGIuYzo1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhdCAnJXMnIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9C+0LvRg9GH0Lgg0LjQvdGE0L7RgNC80LDRhtC40Y8g0YfRgNC10Lcg4oCec3RhdOKAnCDQt9CwINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9nYy5jOjQ3MCBidWlsdGluL25vdGVzLmM6MjQwIGJ1aWx0aW4vdGFnLmM6NTEwCisjOiBidWlsdGluL2djLmM6NDg0IGJ1aWx0aW4vbm90ZXMuYzoyNDAgYnVpbHRpbi90YWcuYzo1MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAi0YTQsNC50LvRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC9IgogCi0jOiBidWlsdGluL2djLmM6NDc3CisjOiBidWlsdGluL2djLmM6NDkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbGFzdCBnYyBydW4gcmVwb3J0ZWQgdGhlIGZvbGxvd2luZy4gUGxlYXNlIGNvcnJlY3QgdGhlIHJvb3QgY2F1c2VcbiIKQEAgLTExNjIxLDU4ICsxNDQwOCw1OCBAQAogIlxuIgogIiVzIgogCi0jOiBidWlsdGluL2djLmM6NTE5CisjOiBidWlsdGluL2djLmM6NTM5CiBtc2dpZCAicHJ1bmUgdW5yZWZlcmVuY2VkIG9iamVjdHMiCiBtc2dzdHIgItC+0LrQsNGB0YLRgNGP0L3QtSDQvdCwINC+0LHQtdC60YLQuNGC0LUsINC60YrQvCDQutC+0LjRgtC+INC90LjRidC+INC90LUg0YHQvtGH0LgiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MjEKKyM6IGJ1aWx0aW4vZ2MuYzo1NDEKIG1zZ2lkICJiZSBtb3JlIHRob3JvdWdoIChpbmNyZWFzZWQgcnVudGltZSkiCiBtc2dzdHIgItC40LfRh9C10YDQv9Cw0YLQtdC70L3QviDRgtGK0YDRgdC10L3QtSDQvdCwINCx0L7QutC70YPQutCwICjQt9CwINGB0LzQtdGC0LrQsCDQvdCwINC/0L7QstC10YfQtSDQstGA0LXQvNC1INGA0LDQsdC+0YLQsCkiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MjIKKyM6IGJ1aWx0aW4vZ2MuYzo1NDIKIG1zZ2lkICJlbmFibGUgYXV0by1nYyBtb2RlIgogbXNnc3RyICLQstC60LvRjtGH0LLQsNC90LUg0L3QsCDQsNCy0YLQvtC80LDRgtC40YfQvdC+0YLQviDRgdGK0LHQuNGA0LDQvdC1INC90LAg0LHQvtC60LvRg9C60LAgKGF1dG8tZ2MpIgogCi0jOiBidWlsdGluL2djLmM6NTI1CisjOiBidWlsdGluL2djLmM6NTQ1CiBtc2dpZCAiZm9yY2UgcnVubmluZyBnYyBldmVuIGlmIHRoZXJlIG1heSBiZSBhbm90aGVyIGdjIHJ1bm5pbmciCiBtc2dzdHIgIiIKICLQuNC30YDQuNGH0L3QviDRgdGC0LDRgNGC0LjRgNCw0L3QtSDQvdCwINGB0YrQsdC40YDQsNC90LXRgtC+INC90LAg0LHQvtC60LvRg9C60LAsINC00L7RgNC4INC4INCw0LrQviDQstC10YfQtSDRgNCw0LHQvtGC0Lgg0LTRgNGD0LPQviAiCiAi0YHRitCx0LjRgNCw0L3QtSIKIAotIzogYnVpbHRpbi9nYy5jOjUyOAorIzogYnVpbHRpbi9nYy5jOjU0OAogbXNnaWQgInJlcGFjayBhbGwgb3RoZXIgcGFja3MgZXhjZXB0IHRoZSBsYXJnZXN0IHBhY2siCiBtc2dzdHIgItC/0YDQtdC/0LDQutC10YLQuNGA0LDQvdC1INC90LAg0LLRgdC40YfQutC+INCx0LXQtyDQvdCw0Lkt0LPQvtC70LXQvNC40Y8g0L/QsNC60LXRgiIKIAotIzogYnVpbHRpbi9nYy5jOjU0NQorIzogYnVpbHRpbi9nYy5jOjU2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2MubG9nZXhwaXJ5IHZhbHVlICVzIgogbXNnc3RyICLQvdC10YDQsNC30L/QvtC30L3QsNGC0LAg0YHRgtC+0LnQvdC+0YHRgiDQvdCwIOKAnmdjLmxvZ2V4cGlyeeKAnCAlcyIKIAotIzogYnVpbHRpbi9nYy5jOjU1NgorIzogYnVpbHRpbi9nYy5jOjU3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJ1bmUgZXhwaXJ5IHZhbHVlICVzIgogbXNnc3RyICLQvdC10YDQsNC30L/QvtC30L3QsNGC0LAg0YHRgtC+0LnQvdC+0YHRgiDQvdCwINC/0LXRgNC40L7QtNCwINC30LAg0L7QutCw0YHRgtGA0Y/QvdC1OiAlcyIKIAotIzogYnVpbHRpbi9nYy5jOjU3NgorIzogYnVpbHRpbi9nYy5jOjU5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgaW4gYmFja2dyb3VuZCBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKIG1zZ3N0ciAiIgogItCQ0LLRgtC+0LzQsNGC0LjRh9C90L4g0L/QsNC60LXRgtC40YDQsNC90LUg0L3QsCDQt9Cw0LTQtdC9INGE0L7QvSDQvdCwINGF0YDQsNC90LjQu9C40YnQtdGC0L4g0LfQsCDQv9C+LdC00L7QsdGA0LAgIgogItC/0YDQvtC40LfQstC+0LTQuNGC0LXQu9C90L7RgdGCLlxuIgogCi0jOiBidWlsdGluL2djLmM6NTc4CisjOiBidWlsdGluL2djLmM6NTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKIG1zZ3N0ciAi0JDQstGC0L7QvNCw0YLQuNGH0L3QviDQv9Cw0LrQtdGC0LjRgNCw0L3QtSDQvdCwINGF0YDQsNC90LjQu9C40YnQtdGC0L4g0LfQsCDQv9C+LdC00L7QsdGA0LAg0L/RgNC+0LjQt9Cy0L7QtNC40YLQtdC70L3QvtGB0YIuXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1NzkKKyM6IGJ1aWx0aW4vZ2MuYzo1OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VlIFwiZ2l0IGhlbHAgZ2NcIiBmb3IgbWFudWFsIGhvdXNla2VlcGluZy5cbiIKIG1zZ3N0ciAiIgogItCf0L7Qs9C70LXQtNC90LXRgtC1INGA0YrQutC+0LLQvtC00YHRgtCy0L7RgtC+INC30LAg0L/QvtCy0LXRh9C1INC40L3RhNC+0YDQvNCw0YbQuNGPINC60LDQuiDQtNCwINC40LfQv9GK0LvQvdC40YLQtSDigJ5naXQgaGVscCAiCiAiZ2PigJwuXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo2MTkKKyM6IGJ1aWx0aW4vZ2MuYzo2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImdjIGlzIGFscmVhZHkgcnVubmluZyBvbiBtYWNoaW5lICclcycgcGlkICU8UFJJdU1BWD4gKHVzZSAtLWZvcmNlIGlmIG5vdCkiCkBAIC0xMTY4MSwyMyArMTQ0NjgsMjMgQEAKICLQv9GA0L7RhtC10YHQsDogJTxQUkl1TUFYPiAo0LDQutC+INGB0YLQtSDRgdC40LPRg9GA0L3QuCwg0YfQtSDRgtC+0LLQsCDQvdC1INC1INCy0Y/RgNC90L4sINGC0L7QstCwINC40LfQv9C+0LvQt9Cy0LDQudGC0LVcbiIKICLQvtC/0YbQuNGP0YLQsCDigJ4tLWZvcmNl4oCcKSIKIAotIzogYnVpbHRpbi9nYy5jOjY3MAorIzogYnVpbHRpbi9nYy5jOjY5NAogbXNnaWQgIiIKICJUaGVyZSBhcmUgdG9vIG1hbnkgdW5yZWFjaGFibGUgbG9vc2Ugb2JqZWN0czsgcnVuICdnaXQgcHJ1bmUnIHRvIHJlbW92ZSB0aGVtLiIKIG1zZ3N0ciAiIgogItCY0LzQsCDQv9GA0LXQutCw0LvQtdC90L4g0LzQvdC+0LPQviDQvdC10LTQvtGB0YLQuNC20LjQvNC4LCDQvdC10L/QsNC60LXRgtC40YDQsNC90Lgg0L7QsdC10LrRgtC4LlxuIgogItCY0LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IHBydW5l4oCcLCDQt9CwINC00LAg0LPQuCDQvtC60LDRgdGC0YDQuNGC0LUuIgogCi0jOiBidWlsdGluL2dyZXAuYzoyOAorIzogYnVpbHRpbi9ncmVwLmM6MjkKIG1zZ2lkICJnaXQgZ3JlcCBbPG9wdGlvbnM+XSBbLWVdIDxwYXR0ZXJuPiBbPHJldj4uLi5dIFtbLS1dIDxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBncmVwIFvQntCf0KbQmNCv4oCmXSBbLWVdINCo0JDQkdCb0J7QnSBb0JLQldCg0KHQmNCv4oCmXSBbWy0tXSDQn9Cq0KLigKZdIgogCi0jOiBidWlsdGluL2dyZXAuYzoyMjQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJncmVwOiBmYWlsZWQgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgImdyZXA6INC90LXRg9GB0L/QtdGI0L3QviDRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDQvdC40YjQutCwOiAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Mjc4CisjOiBidWlsdGluL2dyZXAuYzoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSBmb3IgJXMiCiBtc2dzdHIgItC30LDQtNCw0LTQtdC9INC1INC90LXQv9GA0LDQstC40LvQtdC9INCx0YDQvtC5INC90LjRiNC60LggKCVkKSDQt9CwICVzIgpAQCAtMTE3MDYsMjc2ICsxNDQ5MywyNzUgQEAKICMuIHZhcmlhYmxlIGZvciB0d2Vha2luZyB0aHJlYWRzLCBjdXJyZW50bHkKICMuIGdyZXAudGhyZWFkcwogIy4KLSM6IGJ1aWx0aW4vZ3JlcC5jOjI4NiBidWlsdGluL2luZGV4LXBhY2suYzoxNTA2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTcKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcxOQorIzogYnVpbHRpbi9ncmVwLmM6Mjg3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MzQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCiBtc2dzdHIgItC70LjQv9GB0LLQsCDQv9C+0LTQtNGA0YrQttC60LAg0LfQsCDQvdC40YjQutC4LiAg4oCeJXPigJwg0YnQtSDRgdC1INC/0YDQtdC90LXQsdGA0LXQs9C90LUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ1OCBidWlsdGluL2dyZXAuYzo1NzkgYnVpbHRpbi9ncmVwLmM6NjIwCisjOiBidWlsdGluL2dyZXAuYzo0NjcgYnVpbHRpbi9ncmVwLmM6NTkyIGJ1aWx0aW4vZ3JlcC5jOjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCB0cmVlICglcykiCiBtc2dzdHIgItC00YrRgNCy0L7RgtC+INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC90L4gKCVzKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjM1CisjOiBidWlsdGluL2dyZXAuYzo2NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9C/0YrQu9C90Lgg4oCeZ3JlcOKAnCDQvtGCINC+0LHQtdC60YIg0L7RgiDQstC40LTQsCAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAxCisjOiBidWlsdGluL2dyZXAuYzo3MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeJWPigJwg0L7Rh9Cw0LrQstCwINGH0LjRgdC70L4g0LfQsCDQsNGA0LPRg9C80LXQvdGCIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxNQogbXNnaWQgInNlYXJjaCBpbiBpbmRleCBpbnN0ZWFkIG9mIGluIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgItGC0YrRgNGB0LXQvdC1INCyINC40L3QtNC10LrRgdCwLCDQsCDQvdC1INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+IgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxNwogbXNnaWQgImZpbmQgaW4gY29udGVudHMgbm90IG1hbmFnZWQgYnkgZ2l0IgogbXNnc3RyICLRgtGK0YDRgdC10L3QtSDQuCDQstGK0LIg0YTQsNC50LvQvtCy0LXRgtC1LCDQutC+0LjRgtC+INC90LUg0YHQsCDQv9C+0LQg0YPQv9GA0LDQstC70LXQvdC40LXRgtC+INC90LAgZ2l0IgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxOQogbXNnaWQgInNlYXJjaCBpbiBib3RoIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi0YLRitGA0YHQtdC90LUg0Lgg0LIg0YHQu9C10LTQtdC90LjRgtC1LCDQuCDQsiDQvdC10YHQu9C10LTQtdC90LjRgtC1INGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyMQogbXNnaWQgImlnbm9yZSBmaWxlcyBzcGVjaWZpZWQgdmlhICcuZ2l0aWdub3JlJyIKIG1zZ3N0ciAi0LjQs9C90L7RgNC40YDQsNC90LUg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUg0YPQutCw0LfQsNC90Lgg0LIg4oCeLmdpdGlnbm9yZeKAnCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODA4CisjOiBidWlsdGluL2dyZXAuYzo4MjMKIG1zZ2lkICJyZWN1cnNpdmVseSBzZWFyY2ggaW4gZWFjaCBzdWJtb2R1bGUiCiBtc2dzdHIgItGA0LXQutGD0YDRgdC40LLQvdC+INGC0YrRgNGB0LXQvdC1INCy0YrQsiDQstGB0LjRh9C60Lgg0L/QvtC00LzQvtC00YPQu9C4IgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyNgogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgNC10LTQvtCy0LXRgtC1LCDQutC+0LjRgtC+INC90LUg0YHRitCy0L/QsNC00LDRgiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODEzCisjOiBidWlsdGluL2dyZXAuYzo4MjgKIG1zZ2lkICJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIgogbXNnc3RyICLQsdC10Lcg0LfQvdCw0YfQtdC90LjQtSDQvdCwINGA0LXQs9C40YHRgtGK0YDQsCDQvdCwINCx0YPQutCy0LjRgtC1ICjQs9C70LDQstC90Lgv0LzQsNC70LrQuCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxNQorIzogYnVpbHRpbi9ncmVwLmM6ODMwCiBtc2dpZCAibWF0Y2ggcGF0dGVybnMgb25seSBhdCB3b3JkIGJvdW5kYXJpZXMiCiBtc2dzdHIgItC90LDQv9Cw0YHQstCw0L3QtSDQvdCwINGI0LDQsdC70L7QvdC40YLQtSDRgdCw0LzQviDQv9C+INCz0YDQsNC90LjRhtC40YLQtSDQvdCwINC00YPQvNC40YLQtSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODE3CisjOiBidWlsdGluL2dyZXAuYzo4MzIKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyB0ZXh0IgogbXNnc3RyICLQvtCx0YDQsNCx0L7RgtCy0LDQvdC1INC90LAg0LTQstC+0LjRh9C90LjRgtC1INGE0LDQudC70L7QstC1INC60LDRgtC+INGC0LXQutGB0YLQvtCy0LgiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxOQorIzogYnVpbHRpbi9ncmVwLmM6ODM0CiBtc2dpZCAiZG9uJ3QgbWF0Y2ggcGF0dGVybnMgaW4gYmluYXJ5IGZpbGVzIgogbXNnc3RyICLQv9GA0LXRgdC60LDRh9Cw0L3QtSDQvdCwINC00LLQvtC40YfQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODIyCisjOiBidWlsdGluL2dyZXAuYzo4MzcKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCiBtc2dzdHIgIiIKICLQvtCx0YDQsNCx0L7RgtCy0LDQvdC1INC90LAg0LTQstC+0LjRh9C90LjRgtC1INGE0LDQudC70L7QstC1INGH0YDQtdC3INGE0LjQu9GC0YDQuCDQt9CwINC/0YDQtdC+0LHRgNCw0LfRg9Cy0LDQvdC1INC60YrQvCDRgtC10LrRgdGCIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MjQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzOQogbXNnaWQgInNlYXJjaCBpbiBzdWJkaXJlY3RvcmllcyAoZGVmYXVsdCkiCiBtc2dzdHIgItGC0YrRgNGB0LXQvdC1INCyINC/0L7QtNC00LjRgNC10LrRgtC+0YDQuNC40YLQtSAo0YHRgtCw0L3QtNCw0YDRgtC90L4pIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0MQogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAi0L3QsNCy0LvQuNC30LDQvdC1INC80LDQutGB0LjQvNCw0LvQvdC+INC90LAg0YLQsNC30Lgg0JTQqtCb0JHQntCn0JjQndCQINCyINC00YrRgNCy0L7RgtC+IgogCi0jOiBidWlsdGluL2dyZXAuYzo4MzAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0NQogbXNnaWQgInVzZSBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICLRgNCw0LfRiNC40YDQtdC90Lgg0YDQtdCz0YPQu9GP0YDQvdC4INC40LfRgNCw0LfQuCDQv9C+IFBPU0lYIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0OAogbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKIG1zZ3N0ciAi0L7RgdC90L7QstC90Lgg0YDQtdCz0YPQu9GP0YDQvdC4INC40LfRgNCw0LfQuCDQv9C+IFBPU0lYICjRgdGC0LDQvdC00LDRgNGC0L3QvikiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgzNgorIzogYnVpbHRpbi9ncmVwLmM6ODUxCiBtc2dpZCAiaW50ZXJwcmV0IHBhdHRlcm5zIGFzIGZpeGVkIHN0cmluZ3MiCiBtc2dzdHIgItGI0LDQsdC70L7QvdC40YLQtSDRgdCwINC00L7RgdC70L7QstC90Lgg0L3QuNC30L7QstC1IgogCi0jOiBidWlsdGluL2dyZXAuYzo4MzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1NAogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAi0YDQtdCz0YPQu9GP0YDQvdC4INC40LfRgNCw0LfQuCDQvdCwIFBlcmwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0MgorIzogYnVpbHRpbi9ncmVwLmM6ODU3CiBtc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC90L7QvNC10YDQsNGC0LAg0L3QsCDRgNC10LTQvtCy0LXRgtC1IgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1OAogbXNnaWQgInNob3cgY29sdW1uIG51bWJlciBvZiBmaXJzdCBtYXRjaCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0L3QvtC80LXRgNCwINC90LAg0LrQvtC70L7QvdCw0YLQsCDQvdCwINC/0YrRgNCy0L7RgtC+INC90LDQv9Cw0YHQstCw0L3QtSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ0CisjOiBidWlsdGluL2dyZXAuYzo4NTkKIG1zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAi0LHQtdC3INC40LfQstC10LbQtNCw0L3QtSDQvdCwINC40LzQtdC90LDRgtCwINC90LAg0YTQsNC50LvQvtCy0LXRgtC1IgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2MAogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQuNC80LXQvdCw0YLQsCDQvdCwINGE0LDQudC70L7QstC10YLQtSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ3CisjOiBidWlsdGluL2dyZXAuYzo4NjIKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0L7RgtC90L7RgdC40YLQtdC70L3QuNGC0LUg0LjQvNC10L3QsCDQvdCwINGE0LDQudC70L7QstC10YLQtSDRgdC/0YDRj9C80L4g0L7RgdC90L7QstC90LDRgtCwINC00LjRgNC10LrRgtC+0YDQuNGPINC90LAgIgogItGF0YDQsNC90LjQu9C40YnQtdGC0L4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0OQorIzogYnVpbHRpbi9ncmVwLmM6ODY0CiBtc2dpZCAic2hvdyBvbmx5IGZpbGVuYW1lcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0YHQsNC80L4g0L3QsCDQuNC80LXQvdCw0YLQsCDQvdCwINGE0LDQudC70L7QstC10YLQtSDQsdC10Lcg0L3QsNC/0LDRgdCy0LDRidC40YLQtSDRgNC10LTQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg1MQorIzogYnVpbHRpbi9ncmVwLmM6ODY2CiBtc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCiBtc2dzdHIgItC/0YHQtdCy0LTQvtC90LjQvCDQvdCwIOKAni0tZmlsZXMtd2l0aC1tYXRjaGVz4oCcIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NTQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2OQogbXNnaWQgInNob3cgb25seSB0aGUgbmFtZXMgb2YgZmlsZXMgd2l0aG91dCBtYXRjaCIKIG1zZ3N0ciAiIgogItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINC40LzQtdC90LDRgtCwINC90LAg0YTQsNC50LvQvtCy0LXRgtC1LCDQutC+0LjRgtC+INC90LUg0YHRitC00YrRgNC20LDRgiDRgNC10LQsINC90LDQv9Cw0YHQstCw0Ykg0L3QsCAiCiAi0YjQsNCx0LvQvtC90LAiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg1NgorIzogYnVpbHRpbi9ncmVwLmM6ODcxCiBtc2dpZCAicHJpbnQgTlVMIGFmdGVyIGZpbGVuYW1lcyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0L3Rg9C70LXQstC40Y8g0LfQvdCw0Log4oCeTlVM4oCcINGB0LvQtdC0INCy0YHRj9C60L4g0LjQvNC1INC90LAg0YTQsNC50LsiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg1OQorIzogYnVpbHRpbi9ncmVwLmM6ODc0CiBtc2dpZCAic2hvdyBvbmx5IG1hdGNoaW5nIHBhcnRzIG9mIGEgbGluZSIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0YfQsNGB0YLQuNGC0LUg0L3QsCDRgNC10LTQvtCy0LXRgtC1LCDQutC+0LjRgtC+INGB0YrQstC/0LDQtNCw0YIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2MQorIzogYnVpbHRpbi9ncmVwLmM6ODc2CiBtc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LHRgNC+0Y8g0L3QsCDRgdGK0LLQv9Cw0LTQtdC90LjRj9GC0LAg0LLQvNC10YHRgtC+INC90LDQv9Cw0YHQstCw0YnQuNGC0LUg0YDQtdC00L7QstC1IgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NwogbXNnaWQgImhpZ2hsaWdodCBtYXRjaGVzIgogbXNnc3RyICLQvtGG0LLQtdGC0Y/QstCw0L3QtSDQvdCwINC90LDQv9Cw0YHQstCw0L3QuNGP0YLQsCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODY0CisjOiBidWlsdGluL2dyZXAuYzo4NzkKIG1zZ2lkICJwcmludCBlbXB0eSBsaW5lIGJldHdlZW4gbWF0Y2hlcyBmcm9tIGRpZmZlcmVudCBmaWxlcyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0L/RgNCw0LfQtdC9INGA0LXQtCDQvNC10LbQtNGDINC90LDQv9Cw0YHQstCw0L3QuNGP0YLQsCDQvtGCINGA0LDQt9C70LjRh9C90Lgg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2NgorIzogYnVpbHRpbi9ncmVwLmM6ODgxCiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAiIgogItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC40LzQtdGC0L4g0L3QsCDRhNCw0LnQu9CwINGB0LDQvNC+INCy0LXQtNC90YrQtiDQt9CwINCy0YHQuNGH0LrQuCDQvdCw0L/QsNGB0LLQsNC90LjRjyDQvtGCINGC0L7Qt9C4INGE0LDQudC7IgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg4NAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgtCw0LrRitCyINCR0KDQntCZINGA0LXQtNC+0LLQtSDQv9GA0LXQtNC4INC4INGB0LvQtdC0INC90LDQv9Cw0YHQstCw0L3QuNGP0YLQsCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODcyCisjOiBidWlsdGluL2dyZXAuYzo4ODcKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgtCw0LrRitCyINCR0KDQntCZINGA0LXQtNC+0LLQtSDQv9GA0LXQtNC4INC90LDQv9Cw0YHQstCw0L3QuNGP0YLQsCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc0CisjOiBidWlsdGluL2dyZXAuYzo4ODkKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGC0LDQutGK0LIg0JHQoNCe0Jkg0YDQtdC00L7QstC1INGB0LvQtdC0INC90LDQv9Cw0YHQstCw0L3QuNGP0YLQsCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc2CisjOiBidWlsdGluL2dyZXAuYzo4OTEKIG1zZ2lkICJ1c2UgPG4+IHdvcmtlciB0aHJlYWRzIgogbXNnc3RyICLQuNC30L/QvtC70LfQstCw0L3QtSDQvdCwINGC0LDQutGK0LIg0JHQoNCe0Jkg0YDQsNCx0L7RgtC10YnQuCDQvdC40YjQutC4IgogCi0jOiBidWlsdGluL2dyZXAuYzo4NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5MgogbXNnaWQgInNob3J0Y3V0IGZvciAtQyBOVU0iCiBtc2dzdHIgItC/0YHQtdCy0LTQvtC90LjQvCDQvdCwIOKAni1DINCR0KDQntCZ4oCcIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5NQogbXNnaWQgInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGA0LXQtCDRgSDQuNC80LXRgtC+INC90LAg0YTRg9C90LrRhtC40Y/RgtCwLCDQsiDQutC+0Y/RgtC+INC1INC90LDQv9Cw0YHQvdCw0YIg0YjQsNCx0LvQvtC90LAiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4MgorIzogYnVpbHRpbi9ncmVwLmM6ODk3CiBtc2dpZCAic2hvdyB0aGUgc3Vycm91bmRpbmcgZnVuY3Rpb24iCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC+0LHRhdCy0LDRidCw0YnQsNGC0LAg0YTRg9C90LrRhtC40Y8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4NQorIzogYnVpbHRpbi9ncmVwLmM6OTAwCiBtc2dpZCAicmVhZCBwYXR0ZXJucyBmcm9tIGZpbGUiCiBtc2dzdHIgItC40LfRh9C40YLQsNC90LUg0L3QsCDRiNCw0LHQu9C+0L3QuNGC0LUg0L7RgiDQpNCQ0JnQmyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg3CisjOiBidWlsdGluL2dyZXAuYzo5MDIKIG1zZ2lkICJtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgItC90LDQv9Cw0YHQstCw0L3QtSDQvdCwINCo0JDQkdCb0J7QnSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg5CisjOiBidWlsdGluL2dyZXAuYzo5MDQKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICLQutC+0LzQsdC40L3QuNGA0LDQvdC1INC90LAg0YjQsNCx0LvQvtC90LjRgtC1INGD0LrQsNC30LDQvdC4INGBINC+0L/RhtC40Y/RgtCwIOKAni1l4oCcIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxNgogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICIiCiAi0LHQtdC3INC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LjQt9GF0L7QtC4gINCY0LfRhdC+0LTQvdC40Y/RgiDQutC+0LQg0YPQutCw0LfQstCwINC90LDQu9C40YfQuNC10YLQviDQvdCwICIKICLQvdCw0L/QsNGB0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwMworIzogYnVpbHRpbi9ncmVwLmM6OTE4CiBtc2dpZCAic2hvdyBvbmx5IG1hdGNoZXMgZnJvbSBmaWxlcyB0aGF0IG1hdGNoIGFsbCBwYXR0ZXJucyIKIG1zZ3N0ciAiIgogItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGA0LXQtNC+0LLQtSDRgdCw0LzQviDQvtGCINGE0LDQudC70L7QstC10YLQtSwg0LrQvtC40YLQviDQvdCw0L/QsNGB0LLQsNGCINC90LAg0LLRgdC40YfQutC4INGI0LDQsdC70L7QvdC4IgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkyMAogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQtNGK0YDQstC+0YLQviDQt9CwINCw0L3QsNC70LjQtyDQvdCwINGA0LXQs9GD0LvRj9GA0L3QuNGPINC40LfRgNCw0LciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQorIzogYnVpbHRpbi9ncmVwLmM6OTI0CiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgItC/0YDQvtCz0YDQsNC80LAg0LfQsCDQv9GA0LXQs9C70LXQtCDQv9C+INGB0YLRgNCw0L3QuNGG0LgiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQorIzogYnVpbHRpbi9ncmVwLmM6OTI0CiBtc2dpZCAic2hvdyBtYXRjaGluZyBmaWxlcyBpbiB0aGUgcGFnZXIiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0YrQstC/0LDQtNCw0YnQuNGC0LUg0YTQsNC50LvQvtCy0LUg0LIg0L/RgNC+0LPRgNCw0LzQsCDQt9CwINC/0YDQtdCz0LvQtdC0INC/0L4g0YHRgtGA0LDQvdC40YbQuCIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTEzCisjOiBidWlsdGluL2dyZXAuYzo5MjgKIG1zZ2lkICJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiCiBtc2dzdHIgIiIKICLQv9C+0LfQstC+0LvRj9Cy0LDQvdC1INC90LAg0YHRgtCw0YDRgtC40YDQsNC90LXRgtC+INC90LAgZ3JlcCgxKSAo0YLQtdC60YPRidC40Y/RgiDQutC+0LzQv9C40LvQsNGCINC/0YDQtdC90LXQsdGA0LXQs9Cy0LAg0YLQsNC30LggIgogItC+0L/RhtC40Y8pIgogCi0jOiBidWlsdGluL2dyZXAuYzo5NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjk5MgogbXNnaWQgIm5vIHBhdHRlcm4gZ2l2ZW4iCiBtc2dzdHIgItC90LUg0YHRgtC1INC30LDQtNCw0LvQuCDRiNCw0LHQu9C+0L0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjgKIG1zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cyIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS1jYWNoZWTigJwg0Lgg4oCeLS11bnRyYWNrZWTigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80Lgg0YEg0LLQtdGA0YHQuNC4LiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyMAorIzogYnVpbHRpbi9ncmVwLmM6MTAzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSByZXZpc2lvbjogJXMiCiBtc2dzdHIgItCy0LXRgNGB0LjRj9GC0LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQsdGK0LTQtSDQvtGC0LrRgNC40YLQsCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1MQorIzogYnVpbHRpbi9ncmVwLmM6MTA2NwogbXNnaWQgImludmFsaWQgb3B0aW9uIGNvbWJpbmF0aW9uLCBpZ25vcmluZyAtLXRocmVhZHMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINC60L7QvNCx0LjQvdCw0YbQuNGPINC+0YIg0L7Qv9GG0LjQuCwg4oCeLS10aHJlYWRz4oCcINGJ0LUg0YHQtSDQv9GA0LXQvdC10LHRgNC10LPQvdC1IgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDU0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM5NworIzogYnVpbHRpbi9ncmVwLmM6MTA3MCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDAKIG1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nIC0tdGhyZWFkcyIKIG1zZ3N0ciAi0LvQuNC/0YHQstCwINC/0L7QtNC00YDRitC20LrQsCDQt9CwINC90LjRiNC60LguICDigJ4tLXRocmVhZHPigJwg0YnQtSDRgdC1INC/0YDQtdC90LXQsdGA0LXQs9C90LUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUwMyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUzMSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIKIG1zZ3N0ciAi0LfQsNC00LDQtNC10L0g0LUg0L3QtdC/0YDQsNCy0LjQu9C10L0g0LHRgNC+0Lkg0L3QuNGI0LrQuDogJWQiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwODAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwOTYKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCi1tc2dzdHIgIiIKLSLQvtC/0YbQuNGP0YLQsCDigJ4tLW9wZW4tZmlsZXMtaW4tcGFnZXLigJwg0LUg0YHRitCy0LzQtdGB0YLQuNC80LAg0YHQsNC80L4g0YEg0YLRitGA0YHQtdC90LUg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCittc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tb3Blbi1maWxlcy1pbi1wYWdlcuKAnCDQuNC30LjRgdC60LLQsCDRgtGK0YDRgdC10L3QtSDQsiDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTEwMworIzogYnVpbHRpbi9ncmVwLmM6MTExOQogbXNnaWQgIm9wdGlvbiBub3Qgc3VwcG9ydGVkIHdpdGggLS1yZWN1cnNlLXN1Ym1vZHVsZXMiCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDigJ4tLXJlY3Vyc2Utc3VibW9kdWxlc+KAnCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTEwOQorIzogYnVpbHRpbi9ncmVwLmM6MTEyNQogbXNnaWQgIi0tY2FjaGVkIG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggLS1uby1pbmRleCIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS1jYWNoZWTigJwg0Lgg4oCeLS11bnRyYWNrZWTigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80Lgg0YEg4oCeLS1uby1pbmRleOKAnCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTExNQorIzogYnVpbHRpbi9ncmVwLmM6MTEzMQogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzIgogbXNnc3RyICIiCiAi0L7Qv9GG0LjQuNGC0LUg4oCeLS0obm8tKWV4Y2x1ZGUtc3RhbmRhcmTigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80Lgg0YEg0YLRitGA0YHQtdC90LUg0L/QviDRgdC70LXQtNC10L3QuCAiCiAi0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExMjMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMzkKIG1zZ2lkICJib3RoIC0tY2FjaGVkIGFuZCB0cmVlcyBhcmUgZ2l2ZW4iCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tY2FjaGVk4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgdGK0YEg0LfQsNC00LDQstCw0L3QtSDQvdCwINC00YrRgNCy0L4iCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4NAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjg1CiBtc2dpZCAiIgogImdpdCBoYXNoLW9iamVjdCBbLXQgPHR5cGU+XSBbLXddIFstLXBhdGg9PGZpbGU+IHwgLS1uby1maWx0ZXJzXSBbLS1zdGRpbl0gIgogIlstLV0gPGZpbGU+Li4uIgpAQCAtMTE5ODMsMzggKzE0NzY5LDM0IEBACiAiZ2l0IGhhc2gtb2JqZWN0IFstdCDQktCY0JRdIFstd10gWy0tcGF0aD3QpNCQ0JnQmyB8IC0tbm8tZmlsdGVyc10gWy0tc3RkaW5dIFstLV0gIgogItCk0JDQmdCb4oCmIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODUKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4NgogbXNnaWQgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIG1zZ3N0ciAiZ2l0IGhhc2gtb2JqZWN0IC0tc3RkaW4tcGF0aHMiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NwotbXNnaWQgInR5cGUiCi1tc2dzdHIgItCS0JjQlCIKLQotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk3CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKIG1zZ2lkICJvYmplY3QgdHlwZSIKIG1zZ3N0ciAi0JLQmNCUINC90LAg0L7QsdC10LrRgtCwIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OQogbXNnaWQgIndyaXRlIHRoZSBvYmplY3QgaW50byB0aGUgb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICLQt9Cw0L/QuNGB0LLQsNC90LUg0L3QsCDQvtCx0LXQutGC0LAg0LIg0LHQsNC30LDRgtCwINC+0YIg0LTQsNC90L3QuCDQt9CwINC+0LHQtdC60YLQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDAKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKIG1zZ2lkICJyZWFkIHRoZSBvYmplY3QgZnJvbSBzdGRpbiIKIG1zZ3N0ciAi0LjQt9GH0LjRgtCw0L3QtSDQvdCwINC+0LHQtdC60YLQsCDQvtGCINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LLRhdC+0LQiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDMKIG1zZ2lkICJzdG9yZSBmaWxlIGFzIGlzIHdpdGhvdXQgZmlsdGVycyIKIG1zZ3N0ciAi0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0YTQsNC50LvQsCDQutCw0LrRgtC+INC1IOKAlCDQsdC10Lcg0YTQuNC70YLRgNC4IgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAzCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA0CiBtc2dpZCAiIgogImp1c3QgaGFzaCBhbnkgcmFuZG9tIGdhcmJhZ2UgdG8gY3JlYXRlIGNvcnJ1cHQgb2JqZWN0cyBmb3IgZGVidWdnaW5nIEdpdCIKIG1zZ3N0ciAiIgotItGB0YrQt9C00LDQstCw0L3QtSDQuCDRhdC10YjQuNGA0LDQvdC1INC90LAg0L/RgNC+0LjQt9Cy0L7Qu9C90Lgg0LTQsNC90L3QuCDQt9CwINC/0L7QstGA0LXQtNC10L3QuCDQvtCx0LXQutGC0Lgg0LfQsCDRgtGA0LDRgdC40YDQsNC90LUg0L3QsCAiCi0iR2l0IgorItGB0YrQt9C00LDQstCw0L3QtSDQuCDQuNC30YfQuNGB0LvRj9Cy0LDQvdC1INC90LAg0LrQvtC90YLRgNC+0LvQvdC4INGB0YPQvNC4INC90LAg0L/RgNC+0LjQt9Cy0L7Qu9C90Lgg0LTQsNC90L3QuCDQt9CwINC/0L7QstGA0LXQtNC10L3QuCAiCisi0L7QsdC10LrRgtC4INC30LAg0YLRgNCw0YHQuNGA0LDQvdC1INC90LAgR2l0IgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA1CiBtc2dpZCAicHJvY2VzcyBmaWxlIGFzIGl0IHdlcmUgZnJvbSB0aGlzIHBhdGgiCiBtc2dzdHIgItC+0LHRgNCw0LHQvtGC0LLQsNC90LUg0L3QsCDQpNCQ0JnQm9CwINCy0YHQtSDQtdC00L3QviDQtSDRgSDRgtC+0LfQuCDQv9GK0YIiCiAKQEAgLTEyMDU0LDMwICsxNDgzNiwzMCBAQAogbXNnaWQgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW4gfCAtLXdlYiB8IC0taW5mb10gWzxjb21tYW5kPl0iCiBtc2dzdHIgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW4gfCAtLXdlYiB8IC0taW5mb10gW9Ca0J7QnNCQ0J3QlNCQXSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NzMKKyM6IGJ1aWx0aW4vaGVscC5jOjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWxwIGZvcm1hdCAnJXMnIgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGCINGE0L7RgNC80LDRgiDQvdCwINC/0L7QvNC+0YnRgtCwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMDAKKyM6IGJ1aWx0aW4vaGVscC5jOjEwNAogbXNnaWQgIkZhaWxlZCB0byBzdGFydCBlbWFjc2NsaWVudC4iCiBtc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDRgdGC0LDRgNGC0LjRgNCw0L3QtSDQvdCwIOKAnmVtYWNzY2xpZW504oCcLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTEzCisjOiBidWlsdGluL2hlbHAuYzoxMTcKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW1hY3NjbGllbnQgdmVyc2lvbi4iCiBtc2dzdHIgItCS0LXRgNGB0LjRj9GC0LAg0L3QsCDigJ5lbWFjc2NsaWVudOKAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQsNC90LDQu9C40LfQuNGA0LAuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMjEKKyM6IGJ1aWx0aW4vaGVscC5jOjEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJlbWFjc2NsaWVudCB2ZXJzaW9uICclZCcgdG9vIG9sZCAoPCAyMikuIgogbXNnc3RyICLQn9GA0LXQutCw0LvQtdC90L4g0YHRgtCw0YDQsCDQstC10YDRgdC40Y8g0L3QsCDigJ5lbWFjc2NsaWVudOKAnCDigJQgJWQgKDwgMjIpLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTM5IGJ1aWx0aW4vaGVscC5jOjE2MSBidWlsdGluL2hlbHAuYzoxNzEgYnVpbHRpbi9oZWxwLmM6MTc5CisjOiBidWlsdGluL2hlbHAuYzoxNDMgYnVpbHRpbi9oZWxwLmM6MTY1IGJ1aWx0aW4vaGVscC5jOjE3NSBidWlsdGluL2hlbHAuYzoxODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGV4ZWMgJyVzJyIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIxNworIzogYnVpbHRpbi9oZWxwLmM6MjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBwYXRoIGZvciB1bnN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtMTIwODYsNyArMTQ4NjgsNyBAQAogIuKAniVz4oCcOiDQv9GK0YIg0LrRitC8INC90LXQv9C+0LTQtNGK0YDQttCw0L3QsCDQv9GA0L7Qs9GA0LDQvNCwINC30LAg0L/RgNC10LPQu9C10LQg0L3QsFxuIgogIiDRgNGK0LrQvtCy0L7QtNGB0YLQstC+0YLQvi4gINCS0LzQtdGB0YLQviDQvdC10Y8g0L/RgNC+0LHQstCw0LnRgtC1IOKAnm1hbi48dG9vbD4uY21k4oCcLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjI5CisjOiBidWlsdGluL2hlbHAuYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IGNtZCBmb3Igc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCkBAIC0xMjA5NSwzMzkgKzE0ODc3LDMyOCBAQAogIuKAniVz4oCcOiDQutC+0LzQsNC90LTQsCDQt9CwINC/0L7QtNC00YrRgNC20LDQvdCwINC/0YDQvtCz0YDQsNC80LAg0LfQsCDQv9GA0LXQs9C70LXQtCDQvdCwXG4iCiAiINGA0YrQutC+0LLQvtC00YHRgtCy0L7RgtC+LiAg0JLQvNC10YHRgtC+INC90LXRjyDQv9GA0L7QsdCy0LDQudGC0LUg4oCebWFuLjx0b29sPi5wYXRo4oCcLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzQ2CisjOiBidWlsdGluL2hlbHAuYzozNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5rbm93biBtYW4gdmlld2VyLiIKIG1zZ3N0ciAi4oCeJXPigJw6INC90LXQv9C+0LfQvdCw0YLQsCDQv9GA0L7Qs9GA0LDQvNCwINC30LAg0L/RgNC10LPQu9C10LQg0L3QsCDRgNGK0LrQvtCy0L7QtNGB0YLQstC+0YLQvi4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM2MworIzogYnVpbHRpbi9oZWxwLmM6MzY3CiBtc2dpZCAibm8gbWFuIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICLQvdC40LrQvtGPINC/0YDQvtCz0YDQsNC80LAg0LfQsCDQv9GA0LXQs9C70LXQtCDQvdCwINGA0YrQutC+0LLQvtC00YHRgtCy0L4g0L3QtSDRg9GB0L/RjyDQtNCwINC+0LHRgNCw0LHQvtGC0Lgg0LfQsNGP0LLQutCw0YLQsCIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzcxCisjOiBidWlsdGluL2hlbHAuYzozNzUKIG1zZ2lkICJubyBpbmZvIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICIiCiAi0L3QuNC60L7RjyDQv9GA0L7Qs9GA0LDQvNCwINC30LAg0L/RgNC10LPQu9C10LQg0L3QsCDQuNC90YTQvtGA0LzQsNGG0LjQvtC90L3QuNGC0LUg0YHRgtGA0LDQvdC40YbQuCDQvdC1INGD0YHQv9GPINC00LAg0L7QsdGA0LDQsdC+0YLQuCAiCiAi0LfQsNGP0LLQutCw0YLQsCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDMwIGJ1aWx0aW4vaGVscC5jOjQ0MSBnaXQuYzozMjIKKyM6IGJ1aWx0aW4vaGVscC5jOjQzNCBidWlsdGluL2hlbHAuYzo0NDUgZ2l0LmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxpYXNlZCB0byAnJXMnIgogbXNnc3RyICLigJ4lc+KAnCDQtSDQv9GB0LXQstC00L7QvdC40Lwg0L3QsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDQ0CisjOiBidWlsdGluL2hlbHAuYzo0NDggZ2l0LmM6MzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBhbGlhcy4lcyBzdHJpbmc6ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQvdC40Lcg0LfQsCDQvdCw0YHRgtGA0L7QudC60LDRgtCwIOKAnmFsaWFzLiVz4oCcOiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDczIGJ1aWx0aW4vaGVscC5jOjUwMworIzogYnVpbHRpbi9oZWxwLmM6NDc3IGJ1aWx0aW4vaGVscC5jOjUwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMlcyIKIG1zZ3N0ciAi0YPQv9C+0YLRgNC10LHQsDogJXMlcyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDg3CisjOiBidWlsdGluL2hlbHAuYzo0OTEKIG1zZ2lkICInZ2l0IGhlbHAgY29uZmlnJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi0JfQsCDQv9C+0LLQtdGH0LUg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LjQt9C/0YrQu9C90LXRgtC1IOKAnmdpdCBoZWxwIGNvbmZpZ+KAnCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTg0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxODUKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IHR5cGUgbWlzbWF0Y2ggYXQgJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INCy0LjQtCDQvdCwINC+0LHQtdC60YLQsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGlkIG5vdCByZWNlaXZlIGV4cGVjdGVkIG9iamVjdCAlcyIKIG1zZ3N0ciAi0L7Rh9Cw0LrQstCw0L3QuNGP0YIg0L7QsdC10LrRgiDigJ4lc+KAnCDQvdC1INCx0LUg0L/QvtC70YPRh9C10L0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlczogZXhwZWN0ZWQgdHlwZSAlcywgZm91bmQgJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INCy0LjQtCDQvdCwINC+0LHQtdC60YLQsCDigJ4lc+KAnDog0L7Rh9Cw0LrQstCw0YjQtSDRgdC1IOKAniVz4oCcLCDQsCDQsdC1INC/0L7Qu9GD0YfQtdC9IOKAniVz4oCcIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmlsbCAlZCBieXRlIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgZmlsbCAlZCBieXRlcyIKIG1zZ3N0clswXSAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsNC/0YrQu9C90LggJWQg0LHQsNC50YIiCiBtc2dzdHJbMV0gItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQv9GK0LvQvdGP0YIgJWQg0LHQsNC50YLQsCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjU5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjgKIG1zZ2lkICJlYXJseSBFT0YiCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvSDQutGA0LDQuSDQvdCwINGE0LDQudC7IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OQogbXNnaWQgInJlYWQgZXJyb3Igb24gaW5wdXQiCiBtc2dzdHIgItCz0YDQtdGI0LrQsCDQv9GA0Lgg0YfQtdGC0LXQvdC1INC90LAg0LLRhdC+0LTQvdC40YLQtSDQtNCw0L3QvdC4IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MQogbXNnaWQgInVzZWQgbW9yZSBieXRlcyB0aGFuIHdlcmUgYXZhaWxhYmxlIgogbXNnc3RyICLQuNC30L/QvtC70LfQstCw0L3QuCDRgdCwINC/0L7QstC10YfQtSDQvtGCINC90LDQu9C40YfQvdC40YLQtSDQsdCw0LnRgtC+0LLQtSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTk4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo2MDQKIG1zZ2lkICJwYWNrIHRvbyBsYXJnZSBmb3IgY3VycmVudCBkZWZpbml0aW9uIG9mIG9mZl90IgogbXNnc3RyICLQv9Cw0LrQtdGC0L3QuNGP0YIg0YTQsNC50Lsg0LUg0L/RgNC10LrQsNC70LXQvdC+INCz0L7Qu9GP0Lwg0LfQsCDRgtC10LrRg9GJ0LDRgtCwINGB0YLQvtC50L3QvtGB0YIg0L3QsCDRgtC40L/QsCDigJ5vZmZfdOKAnCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgyIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkxIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5NQogbXNnaWQgInBhY2sgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgc2l6ZSIKIG1zZ3N0ciAi0L/QsNC60LXRgtC90LjRj9GCINGE0LDQudC7INC90LDQtNCy0LjRiNCw0LLQsCDQvNCw0LrRgdC40LzQsNC70L3QuNGPINCy0YrQt9C80L7QttC10L0g0YDQsNC30LzQtdGAIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgotbXNnc3RyICLQv9Cw0LrQtdGC0L3QuNGP0YIg0YTQsNC50Lsg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YrQt9C00LDQtNC10L0iCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2tmaWxlICclcyciCiBtc2dzdHIgItC/0LDQutC10YLQvdC40Y/RgiDRhNCw0LnQuyDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtCy0L7RgNC10L0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI2CiBtc2dpZCAicGFjayBzaWduYXR1cmUgbWlzbWF0Y2giCiBtc2dzdHIgItC90LXRgdGK0L7RgtCy0LXRgtGB0YLQstC40LUg0LIg0L/QvtC00L/QuNGB0LAg0LrRitC8INC/0LDQutC10YLQvdC40Y8g0YTQsNC50LsiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgdmVyc2lvbiAlPFBSSXUzMj4gdW5zdXBwb3J0ZWQiCiBtc2dzdHIgItC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCwINC/0LDQutC10YLQuNGA0LDQvdC1INCyZdGA0YHQuNGPIOKAniU8UFJJdTMyPuKAnCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCiBtc2dzdHIgItC/0L7QstGA0LXQtNC10L0g0L7QsdC10LrRgiDQsiDQv9Cw0LrQtdGC0L3QuNGPINGE0LDQudC7INC/0YDQuCDQvtGC0LzQtdGB0YLQstCw0L3QtSAlPFBSSXVNQVg+OiAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDU3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo0NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbGF0ZSByZXR1cm5lZCAlZCIKIG1zZ3N0ciAi0LTQtdC60L7QvNC/0YDQtdGB0LjRgNCw0L3QtdGC0L4g0YEg4oCeaW5mbGF0ZeKAnCDQstGK0YDQvdCwICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MDYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUxNQogbXNnaWQgIm9mZnNldCB2YWx1ZSBvdmVyZmxvdyBmb3IgZGVsdGEgYmFzZSBvYmplY3QiCiBtc2dzdHIgItGB0YLQvtC50L3QvtGB0YLRgtCwINC90LAg0L7RgtC80LXRgdGC0LLQsNC90LXRgtC+INC30LAg0L7QsdC10LrRgtCwLdGA0LDQt9C70LjQutCwINCy0L7QtNC4INC00L4g0L/RgNC10L/RitC70LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUxNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTIzCiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgaXMgb3V0IG9mIGJvdW5kIgogbXNnc3RyICLRgdGC0L7QudC90L7RgdGC0YLQsCDQvdCwINC+0YLQvNC10YHRgtCy0LDQvdC10YLQviDQt9CwINC+0LHQtdC60YLQsC3RgNCw0LfQu9C40LrQsCDQtSDQuNC30LLRitC9INC00LjQsNC/0LDQt9C+0L3QsCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvYmplY3QgdHlwZSAlZCIKIG1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgiDQstC40LQg0L7QsdC10LrRgiAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTUzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NjIKIG1zZ2lkICJjYW5ub3QgcHJlYWQgcGFjayBmaWxlIgogbXNnc3RyICLQv9Cw0LrQtdGC0L3QuNGP0YIg0YTQsNC50Lsg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU1NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGUgbWlzc2luZyIKIG1zZ2lkX3BsdXJhbCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZXMgbWlzc2luZyIKIG1zZ3N0clswXSAi0L3QtdC+0YfQsNC60LLQsNC9INC60YDQsNC5INC90LAg0YTQsNC50LssINC70LjQv9GB0LLQsCAlPFBSSXVNQVg+INCx0LDQudGCIgogbXNnc3RyWzFdICLQvdC10L7Rh9Cw0LrQstCw0L0g0LrRgNCw0Lkg0L3QsCDRhNCw0LnQuywg0LvQuNC/0YHQstCw0YIgJTxQUkl1TUFYPiDQsdCw0LnRgtCwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1ODEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU5MAogbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgogbXNnc3RyICLRgdC10YDQuNC+0LfQvdCwINCz0YDQtdGI0LrQsCDQv9GA0Lgg0LTQtdC60L7QvNC/0YDQtdGB0LjRgNCw0L3QtSDRgSDigJ5pbmZsYXRl4oCcIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3MjYgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzMyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1NQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Nzk0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzM1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0MSBidWlsdGluL2luZGV4LXBhY2suYzo3NjQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwMyBidWlsdGluL2luZGV4LXBhY2suYzo4MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgogbXNnc3RyICIiCiAi0KHQqtCS0J/QkNCU0JXQndCY0JUg0J3QkCDQodCi0J7QmdCd0J7QodCi0JjQotCVINCX0JAg0KHQo9Cc0JjQotCVINCX0JAgU0hBMTog4oCeJXPigJwg0J3QkCDQlNCS0JAg0KDQkNCX0JvQmNCn0J3QmCDQntCR0JXQmtCi0JAhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3MjkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTEKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjExIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzA1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3MzggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjE3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzExCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICLQvtCx0LXQutGC0YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0IGluZm8gJXMiCiBtc2dzdHIgItGB0YrRidC10YHRgtCy0YPQstCw0YnQuNGP0YIg0L7QsdC10LrRgiDQsiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODAwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0ICVzIgogbXNnc3RyICLRgdGK0YnQtdGB0YLQstGD0LLQsNGJ0LjRj9GCINC+0LHQtdC60YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYmxvYiBvYmplY3QgJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INC+0LHQtdC60YItQkxPQiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODI2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0NQogbXNnaWQgImZzY2sgZXJyb3IgaW4gcGFja2VkIG9iamVjdCIKIG1zZ3N0ciAi0LPRgNC10YjQutCwINC/0YDQuCDQv9GA0L7QstC10YDQutCw0YLQsCDQvdCwINC/0LDQutC10YLQuNGA0LDQvdC4INC+0LHQtdC60YLQuCIKIAotIyBGSVhNRSBwZXJoYXBzIGludmFsaWQgb2JqZWN0IG9yIHBhY2sKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzMwotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkICVzIgotbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQvtCx0LXQutGCIOKAniVz4oCcIgotCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYWxsIGNoaWxkIG9iamVjdHMgb2YgJXMgYXJlIHJlYWNoYWJsZSIKIG1zZ3N0ciAi0J3Rj9C60L7QuCDQvtCx0LXQutGC0LgsINC90LDRgdC70LXQtNC90LjRhtC4INC90LAg4oCeJXPigJwsINC90LUg0LzQvtCz0LDRgiDQtNCwINCx0YrQtNCw0YIg0LTQvtGB0YLQuNCz0L3QsNGC0LgiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkxMCBidWlsdGluL2luZGV4LXBhY2suYzo5NDEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkxOSBidWlsdGluL2luZGV4LXBhY2suYzo5NTAKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCiBtc2dzdHIgItGA0LDQt9C70LjQutCw0YLQsCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC40LvQvtC20LXQvdCwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CiBtc2dpZCAiUmVjZWl2aW5nIG9iamVjdHMiCiBtc2dzdHIgItCf0L7Qu9GD0YfQsNCy0LDQvdC1INC90LAg0L7QsdC10LrRgtC4IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi0JjQvdC00LXQutGB0LjRgNCw0L3QtSDQvdCwINC+0LHQtdC60YLQuCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MgogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAi0L/QsNC60LXRgtC90LjRj9GCINGE0LDQudC7INC1INC/0L7QstGA0LXQtNC10L0gKNC90LXQtdC00L3QsNC60LLQuCDRgdGD0LzQuCDQv9C+IFNIQTEpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQ4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTU3CiBtc2dpZCAiY2Fubm90IGZzdGF0IHBhY2tmaWxlIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9C+0LvRg9GH0Lgg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDQv9Cw0LrQtdGC0L3QuNGPINGE0LDQudC7INGBIOKAnmZzdGF04oCcIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTUxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYwCiBtc2dpZCAicGFjayBoYXMganVuayBhdCB0aGUgZW5kIgogbXNnc3RyICLQsiDQutGA0LDRjyDQvdCwINC/0LDQutC10YLQvdC40Y8g0YTQsNC50Lsg0LjQvNCwINC/0L7QstGA0LXQtNC10L3QuCDQtNCw0L3QvdC4IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTcyCiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKIG1zZ3N0ciAiIgogItGE0LDRgtCw0LvQvdCwINCz0YDQtdGI0LrQsCDQstGK0LIg0YTRg9C90LrRhtC40Y/RgtCwIOKAnnBhcnNlX3BhY2tfb2JqZWN0c+KAnC4gINCi0L7QstCwINC1INCz0YDQtdGI0LrQsCDQsiBHaXQsICIKICLQtNC+0LrQu9Cw0LTQstCw0LnRgtC1INGPINC90LAg0YDQsNC30YDQsNCx0L7RgtGH0LjRhtC40YLQtSwg0LrQsNGC0L4g0L/RgNCw0YLQuNGC0LUg0LUt0L/QuNGB0LzQviDQvdCwINCw0LTRgNC10YE6IOKAnmdpdEB2Z2VyLiIKICJrZXJuZWwub3Jn4oCcLiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE4NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE5NQogbXNnaWQgIlJlc29sdmluZyBkZWx0YXMiCiBtc2dzdHIgItCe0YLQutGA0LjQstCw0L3QtSDQvdCwINGB0YrQvtGC0LLQtdGC0L3QuNGC0LUg0YDQsNC30LvQuNC60LgiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExOTYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjA1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INGB0YrQt9C00LDQtNC1INC90LjRiNC60LA6ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjM3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjQ2CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAiIgogItGE0LDRgtCw0LvQvdCwINCz0YDQtdGI0LrQsCDQstGK0LIg0YTRg9C90LrRhtC40Y/RgtCwIOKAnmNvbmNsdWRlX3BhY2vigJwuICDQotC+0LLQsCDQtSDQs9GA0LXRiNC60LAg0LIgR2l0LCAiCiAi0LTQvtC60LvQsNC00LLQsNC50YLQtSDRjyDQvdCwINGA0LDQt9GA0LDQsdC+0YLRh9C40YbQuNGC0LUsINC60LDRgtC+INC/0YDQsNGC0LjRgtC1INC1LdC/0LjRgdC80L4g0L3QsCDQsNC00YDQtdGBOiDigJ5naXRAdmdlci4iCiAia2VybmVsLm9yZ+KAnC4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3RzIgogbXNnc3RyWzBdICLQtNC10LnRgdGC0LLQuNC10YLQviDQt9Cw0LLRitGA0YjQuCDRgSAlZCDQu9C+0LrQsNC70LXQvSDQvtCx0LXQutGCIgogbXNnc3RyWzFdICLQtNC10LnRgdGC0LLQuNC10YLQviDQt9Cw0LLRitGA0YjQuCDRgSAlZCDQu9C+0LrQsNC70L3QuCDQvtCx0LXQutGC0LAiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5leHBlY3RlZCB0YWlsIGNoZWNrc3VtIGZvciAlcyAoZGlzayBjb3JydXB0aW9uPykiCiBtc2dzdHIgIiIKICLQndC10L7Rh9Cw0LrQstCw0L3QsCDQv9C+0YHQu9C10LTQstCw0YnQsCDRgdGD0LzQsCDQt9CwINCz0YDQtdGI0LrQuCDQt9CwIOKAniVz4oCcICjQv9GA0LjRh9C40L3QsNGC0LAg0LzQvtC20LUg0LTQsCDQtSDQs9GA0LXRiNC60LAg0LIgIgogItC00LjRgdC60LApIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGEiCiBtc2dpZF9wbHVyYWwgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGFzIgogbXNnc3RyWzBdICLQsiDQv9Cw0LrQtdGC0LAg0LjQvNCwICVkINC90LXQvdCw0L/QsNGB0LLQsNGJ0LAg0YDQsNC30LvQuNC60LAiCiBtc2dzdHJbMV0gItCyINC/0LDQutC10YLQsCDQuNC80LAgJWQg0L3QtdC90LDQv9Cw0YHQstCw0YnQuCDRgNCw0LfQu9C40LrQuCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI4MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKIG1zZ3N0ciAi0LTQvtCx0LDQstC10L3QuNGP0YIg0L7QsdC10LrRgiDQvdC1INC80L7QttC1INC00LAg0YHQtSDQutC+0LzQv9GA0LXRgdC40YDQsCDRgSDigJ5kZWZsYXRl4oCcOiAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKIG1zZ3N0ciAi0LvQvtC60LDQu9C90LjRj9GCINC+0LHQtdC60YIg4oCeJXPigJwg0LUg0L/QvtCy0YDQtdC00LXQvSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKIG1zZ3N0ciAi0LjQvNC10YLQviDQvdCwINC/0LDQutC10YLQvdC40Y8g0YTQsNC50Lsg4oCeJXPigJwg0L3QtSDQt9Cw0LLRitGA0YjQstCwINC90LAg4oCeLnBhY2vigJwiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzOTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlICVzIGZpbGUgJyVzJyIKIG1zZ3N0ciAi0LPRgNC10YjQutCwINC/0YDQuCDQt9Cw0L/QuNGBINC90LAg0YTQsNC50LvQsCDigJ4lc+KAnCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiAlcyBmaWxlICclcyciCiBtc2dzdHIgItCz0YDQtdGI0LrQsCDQv9GA0Lgg0LfQsNGC0LLQsNGA0Y/QvdC10YLQviDQvdCwINC30LDQv9C40YHQsNC90LjRjyDRhNCw0LnQuyDigJ4lc+KAnCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzMQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ1OQogbXNnaWQgImVycm9yIHdoaWxlIGNsb3NpbmcgcGFjayBmaWxlIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0L/RgNC4INC30LDRgtCy0LDRgNGP0L3QtdGC0L4g0L3QsCDQv9Cw0LrQtdGC0L3QuNGPINGE0LDQudC7IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDQ1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDczCiBtc2dpZCAiY2Fubm90IHN0b3JlIHBhY2sgZmlsZSIKIG1zZ3N0ciAi0L/QsNC60LXRgtC90LjRj9GCINGE0LDQudC7INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QsNC30LXQvSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ1MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4MQogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICLRhNCw0LnQu9GK0YIg0LfQsCDQuNC90LTQtdC60YHQsCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRitGF0YDQsNC90LXQvSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ5NyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MjUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzE2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiBtc2dzdHIgItC30LDQtNCw0LTQtdC90LAg0LUg0L3QtdC/0YDQsNCy0LjQu9C90LAg0LLQtdGA0YHQuNGPINC/0LDQutC10YLQuNGA0LDQvdC1OiDigJ5wYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj7igJwiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgItCh0YrRidC10YHRgtCy0YPQstCw0YnQuNGP0YIg0L/QsNC60LXRgtC10L0g0YTQsNC50Lsg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQstC+0YDQtdC9IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTY3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgItCh0YrRidC10YHRgtCy0YPQstCw0YnQuNGP0YIg0LjQvdC00LXQutGBINC30LAg0L/QsNC60LXRgtC90LjRjyDRhNCw0LnQuyDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtCy0L7RgNC10L0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKIG1zZ3N0clswXSAiJWQg0L7QsdC10LrRgiDQvdC1INC1INGA0LDQt9C70LjQutCwIgogbXNnc3RyWzFdICIlZCDQvtCx0LXQutGC0LAg0L3QtSDRgdCwINGA0LDQt9C70LjQutCwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCiBtc2dzdHJbMF0gItC00YrQu9C20LjQvdCw0YLQsCDQvdCwINCy0LXRgNC40LPQsNGC0LAg0LUgJWQ6ICVsdSDQvtCx0LXQutGCIgogbXNnc3RyWzFdICLQtNGK0LvQttC40L3QsNGC0LAg0L3QsCDQstC10YDQuNCz0LDRgtCwINC1ICVkOiAlbHUg0L7QsdC10LrRgtCwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjU5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjg5CiBtc2dpZCAiQ2Fubm90IGNvbWUgYmFjayB0byBjd2QiCiBtc2dzdHIgItCf0YDQvtGG0LXRgdGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LLRitGA0L3QtSDQutGK0Lwg0L/RgNC10LTQuNGI0L3QsNGC0LAg0YDQsNCx0L7RgtC90LAg0LTQuNGA0LXQutGC0L7RgNC40Y8iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MDggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxMQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyNyBidWlsdGluL2luZGV4LXBhY2suYzoxNzMxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzM4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdCwINGB0YLQvtC50L3QvtGB0YIg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NzcKIG1zZ2lkICItLWZpeC10aGluIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgLS1zdGRpbiIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1maXgtdGhpbuKAnCDQuNC30LjRgdC60LLQsCDigJ4tLXN0ZGlu4oCcIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQ5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzc5CiBtc2dpZCAiLS1zdGRpbiByZXF1aXJlcyBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICLigJ4tLXN0ZGlu4oCcINC40LfQuNGB0LrQstCwINGF0YDQsNC90LjQu9C40YnQtSDQvdCwIGdpdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc1NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc4NQogbXNnaWQgIi0tdmVyaWZ5IHdpdGggbm8gcGFja2ZpbGUgbmFtZSBnaXZlbiIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS12ZXJpZnnigJwg0LjQt9C40YHQutCy0LAg0LjQvNC1INC90LAg0L/QsNC60LXRgtC10L0g0YTQsNC50LsiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4MDMgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjU4MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTgzMyBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTgxCiBtc2dpZCAiZnNjayBlcnJvciBpbiBwYWNrIG9iamVjdHMiCiBtc2dzdHIgItCz0YDQtdGI0LrQsCDQv9GA0Lgg0L/RgNC+0LLQtdGA0LrQsCDRgSDigJ5mc2Nr4oCcINC90LAg0L/QsNC60LXRgtC90LjRgtC1INC+0LHQtdC60YLQuCIKIApAQCAtMTI0NzEsNDMgKzE1MjQyLDQzIEBACiBtc2dpZCAibm90IGNvcHlpbmcgdGVtcGxhdGVzIGZyb20gJyVzJzogJXMiCiBtc2dzdHIgItGI0LDQsdC70L7QvdC40YLQtSDQvdGP0LzQsCDQtNCwINCx0YrQtNCw0YIg0LrQvtC/0LjRgNCw0L3QuCDQvtGCIOKAniVz4oCcOiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzI5CisjOiBidWlsdGluL2luaXQtZGIuYzozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGhhbmRsZSBmaWxlIHR5cGUgJWQiCiBtc2dzdHIgItGE0LDQudC70L7QstC1INC+0YIg0LLQuNC0ICVkINC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCw0YIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzMgorIzogYnVpbHRpbi9pbml0LWRiLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBtb3ZlICVzIHRvICVzIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0LXQvNC10YHRgtC4INCyIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNDkgYnVpbHRpbi9pbml0LWRiLmM6MzUyCisjOiBidWlsdGluL2luaXQtZGIuYzozNTQgYnVpbHRpbi9pbml0LWRiLmM6MzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICLQlNC40YDQtdC60YLQvtGA0LjRj9GC0LAg4oCeJXPigJwg0LLQtdGH0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3Rpbmcgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiIgogItCY0L3QuNGG0LjQsNC70LjQt9C40YDQsNC90LUg0L3QsNC90L7QstC+INC90LAg0YHRitGJ0LXRgdGC0LLRg9Cy0LDRidC+LCDRgdC/0L7QtNC10LvQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1INC90LAgR2l0INCyIOKAniVzJXPigJxcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA2CisjOiBidWlsdGluL2luaXQtZGIuYzo0MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgItCY0L3QuNGG0LjQsNC70LjQt9C40YDQsNC90LUg0L3QsNC90L7QstC+INC90LAg0YHRitGJ0LXRgdGC0LLRg9Cy0LDRidC+INGF0YDQsNC90LjQu9C40YnQtSDQvdCwIEdpdCDQsiDigJ4lcyVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxMAorIzogYnVpbHRpbi9pbml0LWRiLmM6NDE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IHNoYXJlZCBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgItCY0L3QuNGG0LjQsNC70LjQt9C40YDQsNC90LUg0L3QsCDQv9GA0LDQt9C90L4sINGB0L/QvtC00LXQu9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUg0L3QsCBHaXQg0LIg4oCeJXMlc+KAnFxuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MTEKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgItCY0L3QuNGG0LjQsNC70LjQt9C40YDQsNC90LUg0L3QsCDQv9GA0LDQt9C90L4g0YXRgNCw0L3QuNC70LjRidC1INC90LAgR2l0INCyIOKAniVzJXPigJxcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDYwCisjOiBidWlsdGluL2luaXQtZGIuYzo0NjgKIG1zZ2lkICIiCiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PHRlbXBsYXRlLWRpcmVjdG9yeT5dIFstLSIKICJzaGFyZWRbPTxwZXJtaXNzaW9ucz5dXSBbPGRpcmVjdG9yeT5dIgpAQCAtMTI1MTUsMjcgKzE1Mjg2LDI3IEBACiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU90JTQmNCg0JXQmtCi0J7QoNCY0K9f0KFf0KjQkNCR0JvQntCd0JhdIFstLSIKICJzaGFyZWRbPdCf0KDQkNCS0JBdXSBb0JTQmNCg0JXQmtCi0J7QoNCY0K9dIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0ODMKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5MQogbXNnaWQgInBlcm1pc3Npb25zIgogbXNnc3RyICLQv9GA0LDQstCwIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0ODQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5MgogbXNnaWQgInNwZWNpZnkgdGhhdCB0aGUgZ2l0IHJlcG9zaXRvcnkgaXMgdG8gYmUgc2hhcmVkIGFtb25nc3Qgc2V2ZXJhbCB1c2VycyIKIG1zZ3N0ciAiIgogItGD0LrQsNC30LLQsNC90LUsINGH0LUg0YXRgNCw0L3QuNC70LjRidC10YLQviDQvdCwIEdpdCDRidC1INCx0YrQtNC1INGB0L/QvtC00LXQu9C10L3QviDQvtGCINC/0L7QstC10YfQtSDQvtGCINC10LTQuNC9ICIKICLQv9C+0YLRgNC10LHQuNGC0LXQuyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTE4IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMworIzogYnVpbHRpbi9pbml0LWRiLmM6NTI5IGJ1aWx0aW4vaW5pdC1kYi5jOjUzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCiBtc2dzdHIgItC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRitC30LTQsNC00LXQvdCwIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MjcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJXMiCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INCy0LvQtdC30LUg0LIg0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NDgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXMgKG9yIC0td29yay10cmVlPTxkaXJlY3Rvcnk+KSBub3QgYWxsb3dlZCB3aXRob3V0IHNwZWNpZnlpbmcgJXMgKG9yIC0tZ2l0LSIKQEAgLTEyNTQ0LDEyICsxNTMxNSwxMiBAQAogIiVzICjQuNC70LggLS13b3JrLXRyZWU90JTQmNCg0JXQmtCi0J7QoNCY0K8pINC40LfQuNGB0LrQstCwINGD0LrQsNC30LLQsNC90LXRgtC+INC90LAgJXMgKNC40LvQuCAtLWdpdC0iCiAiZGlyPdCU0JjQoNCV0JrQotCe0KDQmNCvKSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTc2CisjOiBidWlsdGluL2luaXQtZGIuYzo1ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGFjY2VzcyB3b3JrIHRyZWUgJyVzJyIKIG1zZ3N0ciAi0KDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0LIg4oCeJXPigJwg0LUg0L3QtdC00L7RgdGC0YrQv9C90L4iCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTUKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTYKIG1zZ2lkICIiCiAiZ2l0IGludGVycHJldC10cmFpbGVycyBbLS1pbi1wbGFjZV0gWy0tdHJpbS1lbXB0eV0gWygtLXRyYWlsZXIgIgogIjx0b2tlbj5bKD18Oik8dmFsdWU+XSkuLi5dIFs8ZmlsZT4uLi5dIgpAQCAtMTI1NTcsNDczICsxNTMyOCw0ODAgQEAKICJnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIFstLWluLXBsYWNlXSBbLS10cmltLWVtcHR5XSBbKC0tdHJhaWxlciAiCiAi0JvQldCa0KHQldCc0JBbKD18OinQodCi0J7QmdCd0J7QodCiXSnigKZdIFvQpNCQ0JnQm+KApl0iCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTQKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTUKIG1zZ2lkICJlZGl0IGZpbGVzIGluIHBsYWNlIgogbXNnc3RyICLQtNC40YDQtdC60YLQvdC+INGA0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTUKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTYKIG1zZ2lkICJ0cmltIGVtcHR5IHRyYWlsZXJzIgogbXNnc3RyICLQuNC30YfQuNGB0YLQstCw0L3QtSDQvdCwINC/0YDQsNC30L3QuNGC0LUg0LXQv9C40LvQvtC30LgiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTgKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTkKIG1zZ2lkICJ3aGVyZSB0byBwbGFjZSB0aGUgbmV3IHRyYWlsZXIiCiBtc2dzdHIgItC60YrQtNC1INC00LAg0YHQtSDQv9C+0YHRgtCw0LLQuCDQvdC+0LLQuNGP0YIg0LXQv9C40LvQvtCzIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDEKIG1zZ2lkICJhY3Rpb24gaWYgdHJhaWxlciBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAi0LTQtdC50YHRgtCy0LjQtSwg0LDQutC+INC10L/QuNC70L7QsyDQstC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDIKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAzCiBtc2dpZCAiYWN0aW9uIGlmIHRyYWlsZXIgaXMgbWlzc2luZyIKIG1zZ3N0ciAi0LTQtdC50YHRgtCy0LjQtSDQv9GA0Lgg0LvQuNC/0YHQstCw0Ykg0LXQv9C40LvQvtCzIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDUKIG1zZ2lkICJvdXRwdXQgb25seSB0aGUgdHJhaWxlcnMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINC10L/QuNC70L7Qt9C40YLQtSIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDUKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA2CiBtc2dpZCAiZG8gbm90IGFwcGx5IGNvbmZpZyBydWxlcyIKIG1zZ3N0ciAi0LHQtdC3INC/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC/0YDQsNCy0LjQu9Cw0YLQsCDQt9CwINC90LDRgdGC0YDQvtC50LrQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA2CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNwogbXNnaWQgImpvaW4gd2hpdGVzcGFjZS1jb250aW51ZWQgdmFsdWVzIgogbXNnc3RyICLRgdC70LjQstCw0L3QtSDQvdCwINGB0YLQvtC50L3QvtGB0YLQuNGC0LUg0L/QvtGB0LvQtdC00LLQsNC90LUg0L7RgiDQt9C90LDRhtC4INC30LAg0LjQvdGC0LXRgNCy0LDQu9C4IgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNworIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDgKIG1zZ2lkICJzZXQgcGFyc2luZyBvcHRpb25zIgogbXNnc3RyICLQvtC/0YbQuNC4INC/0YDQuCDQsNC90LDQu9C40LciCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA5CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMAogbXNnaWQgImRvIG5vdCB0cmVhdCAtLS0gc3BlY2lhbGx5IgogbXNnc3RyICLigJ4tLS3igJwg0L3Rj9C80LAg0YHQv9C10YbQuNCw0LvQvdC+INC30L3QsNGH0LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTEwCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMQogbXNnaWQgInRyYWlsZXIiCiBtc2dzdHIgItC10L/QuNC70L7QsyIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMTEKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTEyCiBtc2dpZCAidHJhaWxlcihzKSB0byBhZGQiCiBtc2dzdHIgItC10L/QuNC70L7Qt9C4INC30LAg0LTQvtCx0LDQstGP0L3QtSIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMjAKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTIzCiBtc2dpZCAiLS10cmFpbGVyIHdpdGggLS1vbmx5LWlucHV0IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tdHJhaWxlcuKAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg4oCeLS1uYW1lLW9ubHnigJwiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTMwCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEzMwogbXNnaWQgIm5vIGlucHV0IGZpbGUgZ2l2ZW4gZm9yIGluLXBsYWNlIGVkaXRpbmciCiBtc2dzdHIgItC90LUg0LUg0LfQsNC00LDQtNC10L0g0LLRhdC+0LTQtdC9INGE0LDQudC7INC30LAg0YDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINC80Y/RgdGC0L4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTQKKyM6IGJ1aWx0aW4vbG9nLmM6NTYKIG1zZ2lkICJnaXQgbG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgbG9nIFvQntCf0KbQmNCv4oCmXSBb0JTQmNCQ0J/QkNCX0J7QnV/QndCQX9CS0JXQoNCh0JjQmNCi0JVdIFtbLS1dINCf0KrQouKApl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTUKKyM6IGJ1aWx0aW4vbG9nLmM6NTcKIG1zZ2lkICJnaXQgc2hvdyBbPG9wdGlvbnM+XSA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHNob3cgW9Ce0J/QptCY0K/igKZdINCe0JHQldCa0KLigKYiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgLS1kZWNvcmF0ZSBvcHRpb246ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDQvtC/0YbQuNGPIOKAni0tZGVjb3JhdGXigJw6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MgotbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgotbXNnc3RyICLQsdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YDQsNC30LvQuNC60LjRgtC1IgotCi0jOiBidWlsdGluL2xvZy5jOjE2MworIzogYnVpbHRpbi9sb2cuYzoxNzQKIG1zZ2lkICJzaG93IHNvdXJjZSIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQt9GF0L7QtNC90LjRjyDQutC+0LQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY0CisjOiBidWlsdGluL2xvZy5jOjE3NQogbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgogbXNnc3RyICIiCiAi0JjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRhNCw0LnQuyDQt9CwINGB0YrQvtGC0LLQtdGC0YHRgtCy0LjRj9GC0LAg0L3QsCDQuNC80LXQvdCw0YLQsCDQuCDQsNC00YDQtdGB0LjRgtC1INC90LAg0LUt0L/QvtGJ0LAgKOKAni4iCiAibWFpbG1hcOKAnCkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY2CisjOiBidWlsdGluL2xvZy5jOjE3NwogbXNnaWQgIm9ubHkgZGVjb3JhdGUgcmVmcyB0aGF0IG1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAi0YHQv9C10YbQuNCw0LvQtdC9INGE0L7RgNC80LDRgiDRgdCw0LzQviDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUg0L3QsNC/0LDRgdCy0LDRidC4INC90LAg0KjQkNCR0JvQntCd0LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY4CisjOiBidWlsdGluL2xvZy5jOjE3OQogbXNnaWQgImRvIG5vdCBkZWNvcmF0ZSByZWZzIHRoYXQgbWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICLQsdC10Lcg0YHQv9C10YbQuNCw0LvQtdC9INGE0L7RgNC80LDRgiDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUg0L3QsNC/0LDRgdCy0LDRidC4INC90LAg0KjQkNCR0JvQntCd0LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY5CisjOiBidWlsdGluL2xvZy5jOjE4MAogbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCiBtc2dzdHIgItC90LDRgdGC0YDQvtC50LrQuCDQvdCwINGE0L7RgNC80LDMgNGC0LAg0L3QsCDQuNC30LLQtdC20LTQsNC90LDRgtCwINC40L3RhNC+0YDQvNCw0YbQuNGPIgogCi0jOiBidWlsdGluL2xvZy5jOjE3MgorIzogYnVpbHRpbi9sb2cuYzoxODMKIG1zZ2lkICJQcm9jZXNzIGxpbmUgcmFuZ2UgbixtIGluIGZpbGUsIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAiIgogItCe0LHRgNCw0LHQvtGC0LLQsNC90LUg0YHQsNC80L4g0L3QsCDRgNC10LTQvtCy0LXRgtC1INCy0YrQsiDRhNCw0LnQu9CwINCyINC00LjQsNC/0LDQt9C+0L3QsCDQvtGCIG4g0LTQviBtINCy0LrQu9GO0YfQuNGC0LXQu9C90L4uICAiCiAi0JHRgNC+0LXQvdC10YLQviDQt9Cw0L/QvtGH0LLQsCDQvtGCIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjcwCisjOiBidWlsdGluL2xvZy5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCiBtc2dzdHIgItCg0LXQt9GD0LvRgtCw0YI6ICVkICVzXG4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTIyCisjOiBidWlsdGluL2xvZy5jOjUzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgc2hvdyAlczogYmFkIGZpbGUiCiBtc2dzdHIgImdpdCBzaG93ICVzOiDQv9C+0LLRgNC10LTQtdC9INGE0LDQudC7IgogCi0jOiBidWlsdGluL2xvZy5jOjUzNyBidWlsdGluL2xvZy5jOjYzMQorIzogYnVpbHRpbi9sb2cuYzo1NTAgYnVpbHRpbi9sb2cuYzo2NDUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgotbXNnc3RyICLQntCx0LXQutGC0YrRgiDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvTogJXMiCittc2dpZCAiY291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgorbXNnc3RyICLQvtCx0LXQutGC0YrRgiDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvTogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NjU1CisjOiBidWlsdGluL2xvZy5jOjY3MAogIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIHR5cGU6ICVkIgotbXNnc3RyICLQndC10LjQt9Cy0LXRgdGC0LXQvSDQstC40LQ6ICVkIgorbXNnaWQgInVua25vd24gdHlwZTogJWQiCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQtdC9INCy0LjQtDogJWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6Nzc2CisjOiBidWlsdGluL2xvZy5jOjgxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjb3ZlciBmcm9tIGRlc2NyaXB0aW9uIG1vZGUiCittc2dzdHIgIiVzOiDQvdC10L/RgNCw0LLQuNC70L3QviDQv9GA0LjQtNGA0YPQttCw0LLQsNGJ0L4g0L/QuNGB0LzQviDQvtGCINGA0LXQttC40LzQsCDQvdCwINC+0L/QuNGB0LDQvdC40LUiCisKKyM6IGJ1aWx0aW4vbG9nLmM6ODIxCiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAi0L3QtSDQtSDQt9Cw0LTQsNC00LXQvdCwINGB0YLQvtC50L3QvtGB0YIg0L3QsCDigJ5mb3JtYXQuaGVhZGVyc+KAnCIKIAotIzogYnVpbHRpbi9sb2cuYzo4NzcKKyM6IGJ1aWx0aW4vbG9nLmM6OTM2CiBtc2dpZCAibmFtZSBvZiBvdXRwdXQgZGlyZWN0b3J5IGlzIHRvbyBsb25nIgogbXNnc3RyICLQv9GA0LXQutCw0LvQtdC90L4g0LTRitC70LPQviDQuNC80LUg0L3QsCDQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg0LfQsCDQuNC30YXQvtC00L3QsNGC0LAg0LjQvdGE0L7RgNC80LDRhtC40Y8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODkzCisjOiBidWlsdGluL2xvZy5jOjk1MgogIywgYy1mb3JtYXQKLW1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgotbXNnc3RyICLQpNCw0LnQu9GK0YIt0LrRgNGK0L/QutCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LLQvtGA0LXQvSIKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgorbXNnc3RyICLRhNCw0LnQu9GK0YIt0LrRgNGK0L/QutCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LLQvtGA0LXQvSIKIAotIzogYnVpbHRpbi9sb2cuYzo5MTAKLW1zZ2lkICJOZWVkIGV4YWN0bHkgb25lIHJhbmdlLiIKLW1zZ3N0ciAi0KLRgNGP0LHQstCwINC00LAg0LfQsNC00LDQtNC10YLQtSDRgtC+0YfQvdC+INC10LTQuNC9INC00LjQsNC/0LDQt9C+0L0uIgorIzogYnVpbHRpbi9sb2cuYzo5NjkKK21zZ2lkICJuZWVkIGV4YWN0bHkgb25lIHJhbmdlIgorbXNnc3RyICLRgtGA0Y/QsdCy0LAg0LTQsCDQt9Cw0LTQsNC00LXRgtC1INGC0L7Rh9C90L4g0LXQtNC40L0g0LTQuNCw0L/QsNC30L7QvSIKIAotIzogYnVpbHRpbi9sb2cuYzo5MjAKLW1zZ2lkICJOb3QgYSByYW5nZS4iCi1tc2dzdHIgItCd0LUg0LUg0LTQuNCw0L/QsNC30L7QvS4iCisjOiBidWlsdGluL2xvZy5jOjk3OQorbXNnaWQgIm5vdCBhIHJhbmdlIgorbXNnc3RyICLQvdC1INC1INC00LjQsNC/0LDQt9C+0L0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA0MwotbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCi1tc2dzdHIgItCf0YDQuNC00YDRg9C20LDQstCw0YnQvtGC0L4g0L/QuNGB0LzQviDRgtGA0Y/QsdCy0LAg0LTQsCDQtSDRhNC+0YDQvNCw0YLQuNGA0LDQvdC+INC60LDRgtC+INC1LdC/0LjRgdC80L4iCisjOiBidWlsdGluL2xvZy5jOjExNDMKK21zZ2lkICJjb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgorbXNnc3RyICLQv9GA0LjQtNGA0YPQttCw0LLQsNGJ0L7RgtC+INC/0LjRgdC80L4g0YLRgNGP0LHQstCwINC00LAg0LUg0YTQvtGA0LzQsNGC0LjRgNCw0L3QviDQutCw0YLQviDQtS3Qv9C40YHQvNC+IgogCi0jOiBidWlsdGluL2xvZy5jOjExMTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTE0OQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgY292ZXItbGV0dGVyIGZpbGUiCittc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDQv9GA0LjQtNGA0YPQttCw0LLQsNGJ0L4g0L/QuNGB0LzQviIKKworIzogYnVpbHRpbi9sb2cuYzoxMjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INGE0L7RgNC80LDRgiDQvdCwINC30LDQs9C70LDQstC90LDRgtCwINGH0LDRgdGCINC30LAg0L7RgtCz0L7QstC+0YAg4oCeaW4tcmVwbHktdG/igJw6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjExNDYKKyM6IGJ1aWx0aW4vbG9nLmM6MTI1NQogbXNnaWQgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcHRpb25zPl0gWzxzaW5jZT4gfCA8cmV2aXNpb24tcmFuZ2U+XSIKIG1zZ3N0ciAiZ2l0IGZvcm1hdC1wYXRjaCBb0J7Qn9Cm0JjQr+KApl0gW9Ce0KIgfCDQlNCY0JDQn9CQ0JfQntCdX9Cd0JBf0JLQldCg0KHQmNCY0KLQlV0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwNAotbXNnaWQgIlR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgotbXNnc3RyICLQnNC+0LbQtdGC0LUg0LTQsCDRg9C60LDQttC10YLQtSDQvNCw0LrRgdC40LzRg9C8INC10LTQvdCwINC00LjRgNC10LrRgtC+0YDQuNGPINC30LAg0LjQt9GF0L7QtC4iCisjOiBidWlsdGluL2xvZy5jOjEzMTMKK21zZ2lkICJ0d28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKK21zZ3N0ciAi0LzQvtC20LUg0LTQsCDRg9C60LDQttC10YLQtSDQvNCw0LrRgdC40LzRg9C8INC10LTQvdCwINC00LjRgNC10LrRgtC+0YDQuNGPINC30LAg0LjQt9GF0L7QtCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzExIGJ1aWx0aW4vbG9nLmM6MjA1NCBidWlsdGluL2xvZy5jOjIwNTYgYnVpbHRpbi9sb2cuYzoyMDY4CisjOiBidWlsdGluL2xvZy5jOjE0MjQgYnVpbHRpbi9sb2cuYzoyMTk3IGJ1aWx0aW4vbG9nLmM6MjE5OSBidWlsdGluL2xvZy5jOjIyMTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biBjb21taXQgJXMiCi1tc2dzdHIgItCd0LXQv9C+0LfQvdCw0YLQviDQv9C+0LTQsNCy0LDQvdC1IOKAniVz4oCcIgorbXNnaWQgInVua25vd24gY29tbWl0ICVzIgorbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0L4g0L/QvtC00LDQstCw0L3QtTog4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMyMSBidWlsdGluL25vdGVzLmM6ODk0IGJ1aWx0aW4vdGFnLmM6NTI2CisjOiBidWlsdGluL2xvZy5jOjE0MzQgYnVpbHRpbi9yZXBsYWNlLmM6NTggYnVpbHRpbi9yZXBsYWNlLmM6MjA3CisjOiBidWlsdGluL3JlcGxhY2UuYzoyMTAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCi1tc2dzdHIgItCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQutGA0LjQtSDQutGK0Lwg0LrQsNC60LLQviDRgdC+0YfQuCDigJ4lc+KAnC4iCittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZiIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDQtSDRg9C60LDQt9Cw0YLQtdC7INC40LvQuCDQvdC1INGB0L7Rh9C4INC60YrQvCDQvdC40YnQviIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzI2Ci1tc2dpZCAiQ291bGQgbm90IGZpbmQgZXhhY3QgbWVyZ2UgYmFzZS4iCi1tc2dzdHIgItCi0L7Rh9C90LDRgtCwINCx0LDQt9CwINC30LAg0YHQu9C40LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7RgtC60YDQuNC1LiIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzOQorbXNnaWQgImNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCittc2dzdHIgItGC0L7Rh9C90LDRgtCwINCx0LDQt9CwINC30LAg0YHQu9C40LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgtCwIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MwogbXNnaWQgIiIKLSJGYWlsZWQgdG8gZ2V0IHVwc3RyZWFtLCBpZiB5b3Ugd2FudCB0byByZWNvcmQgYmFzZSBjb21taXQgYXV0b21hdGljYWxseSxcbiIKKyJmYWlsZWQgdG8gZ2V0IHVwc3RyZWFtLCBpZiB5b3Ugd2FudCB0byByZWNvcmQgYmFzZSBjb21taXQgYXV0b21hdGljYWxseSxcbiIKICJwbGVhc2UgdXNlIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gdG8gdHJhY2sgYSByZW1vdGUgYnJhbmNoLlxuIgotIk9yIHlvdSBjb3VsZCBzcGVjaWZ5IGJhc2UgY29tbWl0IGJ5IC0tYmFzZT08YmFzZS1jb21taXQtaWQ+IG1hbnVhbGx5LiIKKyJPciB5b3UgY291bGQgc3BlY2lmeSBiYXNlIGNvbW1pdCBieSAtLWJhc2U9PGJhc2UtY29tbWl0LWlkPiBtYW51YWxseSIKIG1zZ3N0ciAiIgotItCh0LvQtdC00LXQvdC40Y/RgiDQutC70L7QvSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YPRgdGC0LDQvdC+0LLQtdC9LiAg0JDQutC+INC40YHQutCw0YLQtSDRgNGK0YfQvdC+INC00LAg0LPQvlxuIgorItGB0LvQtdC00LXQvdC40Y/RgiDQutC70L7QvSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YPRgdGC0LDQvdC+0LLQtdC9LiAg0JDQutC+INC40YHQutCw0YLQtSDRgNGK0YfQvdC+INC00LAg0LPQvlxuIgogItC30LDQtNCw0LTQtdGC0LUsINC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10b+KAnC5cbiIKICLQnNC+0LbQtdGC0LUg0YDRitGH0L3QviDQtNCwINC30LDQtNCw0LTQtdGC0LUg0LHQsNC30L7QstC+INC/0L7QtNCw0LLQsNC90LUg0YfRgNC10Lcg4oCeLS1iYXNlPTxiYXNlLWNvbW1pdC1pZD7igJwuIgogCi0jOiBidWlsdGluL2xvZy5jOjEzNTAKLW1zZ2lkICJGYWlsZWQgdG8gZmluZCBleGFjdCBtZXJnZSBiYXNlIgotbXNnc3RyICLQotC+0YfQvdCw0YLQsCDQsdCw0LfQsCDQv9GA0Lgg0YHQu9C40LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgtCwIgorIzogYnVpbHRpbi9sb2cuYzoxNDYzCittc2dpZCAiZmFpbGVkIHRvIGZpbmQgZXhhY3QgbWVyZ2UgYmFzZSIKK21zZ3N0ciAi0YLQvtGH0L3QsNGC0LAg0LHQsNC30LAg0L/RgNC4INGB0LvQuNCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LrRgNC40YLQsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzYxCisjOiBidWlsdGluL2xvZy5jOjE0NzQKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGQgYmUgdGhlIGFuY2VzdG9yIG9mIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgItCx0LDQt9C+0LLQvtGC0L4g0L/QvtC00LDQstCw0L3QtSDRgtGA0Y/QsdCy0LAg0LTQsCDQtSDQv9GA0LXQtNGI0LXRgdGC0LLQtdC90LjQutGK0YIg0L3QsCDRgdC/0LjRgdGK0LrQsCDRgSDQstC10YDRgdC40LjRgtC1IgogCi0jOiBidWlsdGluL2xvZy5jOjEzNjUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3OAogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZG4ndCBiZSBpbiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICLQsdCw0LfQvtCy0L7RgtC+INC/0L7QtNCw0LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINC1INCyINGB0L/QuNGB0YrQutCwINGBINCy0LXRgNGB0LjQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQxOAorIzogYnVpbHRpbi9sb2cuYzoxNTMxCiBtc2dpZCAiY2Fubm90IGdldCBwYXRjaCBpZCIKIG1zZ3N0ciAi0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDRitGCINC90LAg0LrRgNGK0L/QutCw0YLQsCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/QvtC70YPRh9C10L0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3MAorIzogYnVpbHRpbi9sb2cuYzoxNTgzCiBtc2dpZCAiZmFpbGVkIHRvIGluZmVyIHJhbmdlLWRpZmYgcmFuZ2VzIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0L7Qv9GA0LXQtNC10LvRj9C90LUg0L3QsCDQtNC40LDQv9Cw0LfQvtC90LjRgtC1INC30LAg0YDQsNC30LvQuNC60LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUxNQorIzogYnVpbHRpbi9sb2cuYzoxNjI5CiBtc2dpZCAidXNlIFtQQVRDSCBuL21dIGV2ZW4gd2l0aCBhIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAi0L3QvtC80LXRgNCw0YbQuNGPIOKAnltQQVRDSCBuL21d4oCcINC00L7RgNC4INC4INC/0YDQuCDQtdC00LjQvdGB0YLQstC10L3QsCDQutGA0YrQv9C60LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUxOAorIzogYnVpbHRpbi9sb2cuYzoxNjMyCiBtc2dpZCAidXNlIFtQQVRDSF0gZXZlbiB3aXRoIG11bHRpcGxlIHBhdGNoZXMiCiBtc2dzdHIgItC90L7QvNC10YDQsNGG0LjRjyDigJ5bUEFUQ0hd4oCcINC00L7RgNC4INC4INC/0YDQuCDQvNC90L7QttC10YHRgtCy0L4g0LrRgNGK0L/QutC4IgogCi0jOiBidWlsdGluL2xvZy5jOjE1MjIKKyM6IGJ1aWx0aW4vbG9nLmM6MTYzNgogbXNnaWQgInByaW50IHBhdGNoZXMgdG8gc3RhbmRhcmQgb3V0IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQutGA0YrQv9C60LjRgtC1INC90LAg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQuNC30YXQvtC0IgogCi0jOiBidWlsdGluL2xvZy5jOjE1MjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTYzOAogbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgogbXNnc3RyICLRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDQv9GA0LjQtNGA0YPQttCw0LLQsNGJ0L4g0L/QuNGB0LzQviIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTI2CisjOiBidWlsdGluL2xvZy5jOjE2NDAKIG1zZ2lkICJ1c2Ugc2ltcGxlIG51bWJlciBzZXF1ZW5jZSBmb3Igb3V0cHV0IGZpbGUgbmFtZXMiCiBtc2dzdHIgItC/0YDQvtGB0YLQsCDRh9C40YHQu9C+0LLQsCDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvQvdC+0YHRgiDQt9CwINC40LzQtdC90LDRgtCwINC90LAg0YTQsNC50LvQvtCy0LXRgtC1LdC60YDRitC/0LrQuCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTI3CisjOiBidWlsdGluL2xvZy5jOjE2NDEKIG1zZ2lkICJzZngiCiBtc2dzdHIgItCX0J3QkNCm0JgiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUyOAorIzogYnVpbHRpbi9sb2cuYzoxNjQyCiBtc2dpZCAidXNlIDxzZng+IGluc3RlYWQgb2YgJy5wYXRjaCciCiBtc2dzdHIgItC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0YLQtdC30Lgg0JfQndCQ0KbQmCDQt9CwINGB0YPRhNC40LrRgSDQstC80LXRgdGC0L4g4oCeLnBhdGNo4oCcIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTY0NAogbXNnaWQgInN0YXJ0IG51bWJlcmluZyBwYXRjaGVzIGF0IDxuPiBpbnN0ZWFkIG9mIDEiCiBtc2dzdHIgItC90L7QvNC10YDQuNGA0LDQvdC10YLQviDQvdCwINC60YDRitC/0LrQuNGC0LUg0LTQsCDQt9Cw0L/QvtGH0LLQsCDQvtGCINGC0L7Qt9C4INCR0KDQntCZLCDQsCDQvdC1INGBIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzMgorIzogYnVpbHRpbi9sb2cuYzoxNjQ2CiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgogbXNnc3RyICLQvtGC0LHQtdC70Y/Qt9Cy0LDQvdC1LCDRh9C1INGC0L7QstCwINC1IE4t0YLQsNGC0LAg0L/QvtGA0LXQtNC90LAg0YDQtdC00LDQutGG0LjRjyDQvdCwINC/0L7RgNC10LTQuNGG0LDRgtCwINC+0YIg0LrRgNGK0L/QutC4IgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzQKKyM6IGJ1aWx0aW4vbG9nLmM6MTY0OAogbXNnaWQgIlVzZSBbUkZDIFBBVENIXSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgItCY0LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg4oCeW1JGQyBQQVRDSF3igJwg0LLQvNC10YHRgtC+IOKAnltQQVRDSF3igJwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzNworIzogYnVpbHRpbi9sb2cuYzoxNjUxCittc2dpZCAiY292ZXItZnJvbS1kZXNjcmlwdGlvbi1tb2RlIgorbXNnc3RyICLRgNC10LbQuNC8LdC/0YDQuNC00YDRg9C20LDQstCw0YnQvi3Qv9C40YHQvNC+LdC/0L4t0L7Qv9C40YHQsNC90LjQtSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjUyCittc2dpZCAiZ2VuZXJhdGUgcGFydHMgb2YgYSBjb3ZlciBsZXR0ZXIgYmFzZWQgb24gYSBicmFuY2gncyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiIgorItCz0LXQvdC10YDQuNGA0LDQvdC1INC90LAg0YfQsNGB0YLQuNGC0LUg0L3QsCDQv9GA0LjQtNGA0YPQttCw0LLQsNGJ0L7RgtC+INC/0LjRgdC80L4g0L3QsCDQsdCw0LfQsNGC0LAg0L3QsCDQvtC/0LjRgdCw0L3QuNC10YLQviDQvdCwICIKKyLQutC70L7QvdCwIgorCisjOiBidWlsdGluL2xvZy5jOjE2NTQKIG1zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgItCY0LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0YLQvtC30Lgg4oCeW9Cf0KDQldCk0JjQmtChXeKAnCDQstC80LXRgdGC0L4g4oCeW1BBVENIXeKAnCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTQwCisjOiBidWlsdGluL2xvZy5jOjE2NTcKIG1zZ2lkICJzdG9yZSByZXN1bHRpbmcgZmlsZXMgaW4gPGRpcj4iCiBtc2dzdHIgItC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINC40LfRhdC+0LTQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSDQsiDRgtCw0LfQuCDQlNCY0KDQldCa0KLQntCg0JjQryIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTQzCisjOiBidWlsdGluL2xvZy5jOjE2NjAKIG1zZ2lkICJkb24ndCBzdHJpcC9hZGQgW1BBVENIXSIKIG1zZ3N0ciAi0LHQtdC3INC00L7QsdCw0LLRj9C90LUv0LzQsNGF0LDQvdC1INC90LAg0L/RgNC10YTQuNC60YHQsCDigJ5bUEFUQ0hd4oCcIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDYKKyM6IGJ1aWx0aW4vbG9nLmM6MTY2MwogbXNnaWQgImRvbid0IG91dHB1dCBiaW5hcnkgZGlmZnMiCiBtc2dzdHIgItCx0LXQtyDQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgNCw0LfQu9C40LrQuCDQvNC10LbQtNGDINC00LLQvtC40YfQvdC4INGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDgKKyM6IGJ1aWx0aW4vbG9nLmM6MTY2NQogbXNnaWQgIm91dHB1dCBhbGwtemVybyBoYXNoIGluIEZyb20gaGVhZGVyIgotbXNnc3RyICLQsiDQt9Cw0LPQu9Cw0LLQvdCw0YLQsCDRh9Cw0YHRgiDigJ5Gcm9tOuKAnCAo0L7Rgikg0YXQtdGI0YrRgiDQtNCwINC1INGB0LDQvNC+INC+0YIg0L3Rg9C70LgiCittc2dzdHIgItCyINC30LDQs9C70LDQstC90LDRgtCwINGH0LDRgdGCIOKAnkZyb2064oCcICjQvtGCKSDQutC+0L3RgtGA0L7Qu9C90LDRgtCwINGB0YPQvNCwINC00LAg0LUg0YHQsNC80L4g0L7RgiDQvdGD0LvQuCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTUwCisjOiBidWlsdGluL2xvZy5jOjE2NjcKIG1zZ2lkICJkb24ndCBpbmNsdWRlIGEgcGF0Y2ggbWF0Y2hpbmcgYSBjb21taXQgdXBzdHJlYW0iCi1tc2dzdHIgItC00LAg0L3QtSDRgdC1INCy0LrQu9GO0YfQstCw0YIg0LrRgNGK0L/QutC4LCDQutC+0LjRgtC+INC/0YDQuNGB0YrRgdGC0LLQsNGCINCyINGB0LvQtdC00LXQvdC40Y8g0LrQu9C+0L0iCittc2dzdHIgItCx0LXQtyDQutGA0YrQv9C60LgsINC60L7QuNGC0L4g0L/RgNC40YHRitGB0YLQstCw0YIg0LIg0YHQu9C10LTQtdC90LjRjyDQutC70L7QvSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTUyCisjOiBidWlsdGluL2xvZy5jOjE2NjkKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgIiIKICLQuNC30LLQtdC20LTQsNC90LUg0LLRitCyINGE0L7RgNC80LDRgiDQt9CwINC60YDRitC/0LrQuCwg0LAg0L3QsCDQsiDRgdGC0LDQvdC00LDRgNGC0L3QuNGPICjQutGA0YrQv9C60LAg0Lgg0YHRgtCw0YLQuNGB0YLQuNC60LApIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3MQogbXNnaWQgIk1lc3NhZ2luZyIKIG1zZ3N0ciAi0J7Qv9GG0LjQuCDQv9GA0Lgg0LjQt9C/0YDQsNGJ0LDQvdC1IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3MgogbXNnaWQgImhlYWRlciIKIG1zZ3N0ciAi0JfQkNCT0JvQkNCS0J3QkF/Qp9CQ0KHQoiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTU2CisjOiBidWlsdGluL2xvZy5jOjE2NzMKIG1zZ2lkICJhZGQgZW1haWwgaGVhZGVyIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0YLQsNC30Lgg0JfQkNCT0JvQkNCS0J3QkF/Qp9CQ0KHQoiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTU3IGJ1aWx0aW4vbG9nLmM6MTU1OQorIzogYnVpbHRpbi9sb2cuYzoxNjc0IGJ1aWx0aW4vbG9nLmM6MTY3NgogbXNnaWQgImVtYWlsIgogbXNnc3RyICLQlS3Qn9Ce0KnQkCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTU3CisjOiBidWlsdGluL2xvZy5jOjE2NzQKIG1zZ2lkICJhZGQgVG86IGhlYWRlciIKIG1zZ3N0ciAi0LTQvtCx0LDQstGP0L3QtSDQvdCwINC30LDQs9C70LDQstC90LAg0YfQsNGB0YIg4oCeVG864oCcICjQtNC+KSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTU5CisjOiBidWlsdGluL2xvZy5jOjE2NzYKIG1zZ2lkICJhZGQgQ2M6IGhlYWRlciIKIG1zZ3N0ciAi0LTQvtCx0LDQstGP0L3QtSDQvdCwINC30LDQs9C70LDQstC90LAg0YfQsNGB0YIg4oCeQ2M64oCcICjQuCDQtNC+KSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTYxCisjOiBidWlsdGluL2xvZy5jOjE2NzgKIG1zZ2lkICJpZGVudCIKIG1zZ3N0ciAi0JjQlNCV0J3QotCY0KfQndCe0KHQoiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTYyCisjOiBidWlsdGluL2xvZy5jOjE2NzkKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICIiCiAi0LfQsNC00LDQstCw0L3QtSDQvdCwINCw0LTRgNC10YHQsCDQsiDQt9Cw0LPQu9Cw0LLQvdCw0YLQsCDRh9Cw0YHRgiDigJ5Gcm9t4oCcICjQvtGCKSDQtNCwINC1INGC0LDQt9C4INCY0JTQldCd0KLQmNCn0J3QntCh0KIuICDQkNC60L4gIgogItC90LUg0LUg0LfQsNC00LDQtNC10L3QsCDRgtCw0LrQsNCy0LAsINGB0LUg0LLQt9C40LzQsCDQsNC00YDQtdGB0LAg0L3QsCDQv9C+0LTQsNCy0LDRidC40Y8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NAorIzogYnVpbHRpbi9sb2cuYzoxNjgxCiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAi0JjQlNCV0J3QotCY0KTQmNCa0JDQotCe0KBf0J3QkF/QodCq0J7QkdCp0JXQndCY0JUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NQorIzogYnVpbHRpbi9sb2cuYzoxNjgyCiBtc2dpZCAibWFrZSBmaXJzdCBtYWlsIGEgcmVwbHkgdG8gPG1lc3NhZ2UtaWQ+IgogbXNnc3RyICIiCiAi0L/RitGA0LLQvtGC0L4g0YHRitC+0LHRidC10L3QuNC1INC00LAg0LUg0LIg0L7RgtCz0L7QstC+0YAg0L3QsCDQtS3Qv9C40YHQvNC+0YLQviDRgSDRgtC+0LfQuCAiCiAi0JjQlNCV0J3QotCY0KTQmNCa0JDQotCe0KBf0J3QkF/QodCq0J7QkdCp0JXQndCY0JUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NiBidWlsdGluL2xvZy5jOjE1NjkKKyM6IGJ1aWx0aW4vbG9nLmM6MTY4MyBidWlsdGluL2xvZy5jOjE2ODYKIG1zZ2lkICJib3VuZGFyeSIKIG1zZ3N0ciAi0LPRgNCw0L3QuNGG0LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NworIzogYnVpbHRpbi9sb2cuYzoxNjg0CiBtc2dpZCAiYXR0YWNoIHRoZSBwYXRjaCIKIG1zZ3N0ciAi0L/RgNC40LrRgNC10L/Rj9C90LUg0L3QsCDQutGA0YrQv9C60LDRgtCwIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTY4NwogbXNnaWQgImlubGluZSB0aGUgcGF0Y2giCiBtc2dzdHIgItCy0LrQu9GO0YfQstCw0L3QtSDQvdCwINC60YDRitC/0LrQsNGC0LAg0LIg0YLQtdC60YHRgtCwINC90LAg0L/QuNGB0LzQsNGC0LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3NAorIzogYnVpbHRpbi9sb2cuYzoxNjkxCiBtc2dpZCAiZW5hYmxlIG1lc3NhZ2UgdGhyZWFkaW5nLCBzdHlsZXM6IHNoYWxsb3csIGRlZXAiCiBtc2dzdHIgIiIKICLQuNC30L/QvtC70LfQstCw0L3QtSDQvdCwINC90LjRiNC60Lgg0LfQsCDRgdGK0L7QsdGJ0LXQvdC40Y/RgtCwLiAg0KHQotCY0JvRitGCINC1IOKAnnNoYWxsb3figJwgKNC/0LvQuNGC0YrQuikg0LjQu9C4ICIKICLigJ5kZWVw4oCcICjQtNGK0LvQsdC+0LopIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzYKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5MwogbXNnaWQgInNpZ25hdHVyZSIKIG1zZ3N0ciAi0L/QvtC00L/QuNGBIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5NAogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSIKIG1zZ3N0ciAi0LTQvtCx0LDQstGP0L3QtSDQvdCwINC/0L7Qu9C1INC30LAg0L/QvtC00L/QuNGBIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzgKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5NQogbXNnaWQgImJhc2UtY29tbWl0IgogbXNnc3RyICLQkdCQ0JfQntCS0J5f0J/QntCU0JDQktCQ0J3QlSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc5CisjOiBidWlsdGluL2xvZy5jOjE2OTYKIG1zZ2lkICJhZGQgcHJlcmVxdWlzaXRlIHRyZWUgaW5mbyB0byB0aGUgcGF0Y2ggc2VyaWVzIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0L3QtdC+0LHRhdC+0LTQuNC80L7RgtC+INCR0JDQl9C+0LLQviDQtNGK0YDQstC+INC60YrQvCDQv9C+0YDQtdC00LjRhtCw0YLQsCDQvtGCINC60YDRitC/0LrQuCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTgxCisjOiBidWlsdGluL2xvZy5jOjE2OTgKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUgZnJvbSBhIGZpbGUiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDQv9C+0LTQv9C40YEg0L7RgiDRhNCw0LnQuyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTgyCisjOiBidWlsdGluL2xvZy5jOjE2OTkKIG1zZ2lkICJkb24ndCBwcmludCB0aGUgcGF0Y2ggZmlsZW5hbWVzIgogbXNnc3RyICLQsdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvNC10L3QsNGC0LAg0L3QsCDQutGA0YrQv9C60LjRgtC1IgogCi0jOiBidWlsdGluL2xvZy5jOjE1ODQKKyM6IGJ1aWx0aW4vbG9nLmM6MTcwMQogbXNnaWQgInNob3cgcHJvZ3Jlc3Mgd2hpbGUgZ2VuZXJhdGluZyBwYXRjaGVzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQvdCw0L/RgNC10LTRitC60LAg0LLRitCyINGE0LDQt9Cw0YLQsCDQvdCwINGB0YrQt9C00LDQstCw0L3QtSDQvdCwINC60YDRitC/0LrQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU4NQotbXNnaWQgInJldiIKLW1zZ3N0ciAi0JLQldCg0KEiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6MTU4NgorIzogYnVpbHRpbi9sb2cuYzoxNzAzCiBtc2dpZCAic2hvdyBjaGFuZ2VzIGFnYWluc3QgPHJldj4gaW4gY292ZXIgbGV0dGVyIG9yIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAiIgogItC/0L7QutCw0LfQstCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC40YLQtSDRgdC/0YDRj9C80L4g0JLQldCg0KHQuNGP0YLQsCDQsiDQv9GA0LjQtNGA0YPQttCw0LLQsNGJ0L7RgtC+INC/0LjRgdC80L4g0LjQu9C4INC10LTQuNC90YHRgtCy0LXQvdCwICIKICLQutGA0YrQv9C60LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU4OQorIzogYnVpbHRpbi9sb2cuYzoxNzA2CiBtc2dpZCAic2hvdyBjaGFuZ2VzIGFnYWluc3QgPHJlZnNwZWM+IGluIGNvdmVyIGxldHRlciBvciBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIiIKICLQv9C+0LrQsNC30LLQsNC90LUg0L3QsCDQv9GA0L7QvNC10L3QuNGC0LUg0YHQv9GA0Y/QvNC+INGD0LrQsNC30LDRgtC10LvRjyDQvdCwINCS0JXQoNCh0LjRj9GC0LAg0LIg0L/RgNC40LTRgNGD0LbQsNCy0LDRidC+0YLQviDQv9C40YHQvNC+ICIKICLQuNC70Lgg0LXQtNC40L3RgdGC0LLQtdC90LAg0LrRgNGK0L/QutCwIgogCi0jOiBidWlsdGluL2xvZy5jOjE1OTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTcwOAogbXNnaWQgInBlcmNlbnRhZ2UgYnkgd2hpY2ggY3JlYXRpb24gaXMgd2VpZ2h0ZWQiCiBtc2dzdHIgItC/0YDQvtGG0LXQvdGCINC30LAg0L/RgNC10YLQtdCz0LvRj9C90LUg0L/RgNC4INC+0YbQtdC90LrQsCDQvdCwINGB0YrQt9C00LDQstCw0L3QtdGC0L4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY2NgorIzogYnVpbHRpbi9sb2cuYzoxNzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCiBtc2dzdHIgItCz0YDQtdGI0L3QsCDQuNC00LXQvdGC0LjRh9C90L7RgdGCOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjgxCisjOiBidWlsdGluL2xvZy5jOjE4MDcKIG1zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLW7igJwg0Lgg4oCeLWvigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY4MworIzogYnVpbHRpbi9sb2cuYzoxODA5CiBtc2dpZCAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS1zdWJqZWN0LXByZWZpeOKAnC/igJ4tcmZj4oCcINC4IOKAni1r4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgogCi0jOiBidWlsdGluL2xvZy5jOjE2OTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTgxNwogbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tbmFtZS1vbmx54oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDQs9C10L3QtdGA0LjRgNCw0L3QtdGC0L4g0L3QsCDQutGA0YrQv9C60LgiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY5MworIzogYnVpbHRpbi9sb2cuYzoxODE5CiBtc2dpZCAiLS1uYW1lLXN0YXR1cyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLW5hbWUtc3RhdHVz4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDQs9C10L3QtdGA0LjRgNCw0L3QtdGC0L4g0L3QsCDQutGA0YrQv9C60LgiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY5NQorIzogYnVpbHRpbi9sb2cuYzoxODIxCiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLWNoZWNr4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDQs9C10L3QtdGA0LjRgNCw0L3QtdGC0L4g0L3QsCDQutGA0YrQv9C60LgiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTcyNworIzogYnVpbHRpbi9sb2cuYzoxODU0CiBtc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCiBtc2dzdHIgIiIKICLQuNC30YXQvtC00YrRgiDQvNC+0LbQtSDQtNCwINC40LvQuCDRgdGC0LDQvdC00LDRgNGC0L3QuNGP0YIsINC40LvQuCDQtNCwINC1INCyINC00LjRgNC10LrRgtC+0YDQuNGPLCDQvdC+INC90LUg0Lgg0LTQstC10YLQtS4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTcyOQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgotbXNnc3RyICLQlNC40YDQtdC60YLQvtGA0LjRj9GC0LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YrQt9C00LDQtNC10L3QsCIKLQotIzogYnVpbHRpbi9sb2cuYzoxODE2CisjOiBidWlsdGluL2xvZy5jOjE5NTgKIG1zZ2lkICItLWludGVyZGlmZiByZXF1aXJlcyAtLWNvdmVyLWxldHRlciBvciBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIiIKICLQvtC/0YbQuNGP0YLQsCDigJ4tLWludGVyZGlmZuKAnCDQuNC30LjRgdC60LLQsCDQvtC/0YbQuNGPIOKAni0tY292ZXItbGV0dGVy4oCcINC40LvQuCDQtdC00LjQvdGB0YLQstC10L3QsCDQutGA0YrQv9C60LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyMAorIzogYnVpbHRpbi9sb2cuYzoxOTYyCiBtc2dpZCAiSW50ZXJkaWZmOiIKIG1zZ3N0ciAi0KDQsNC30LvQuNC60LAg0LIg0YDQsNC30LvQuNC60LjRgtC1OiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODIxCisjOiBidWlsdGluL2xvZy5jOjE5NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW50ZXJkaWZmIGFnYWluc3QgdiVkOiIKIG1zZ3N0ciAi0KDQsNC30LvQuNC60LAg0LIg0YDQsNC30LvQuNC60LjRgtC1INGB0L/RgNGP0LzQviB2JWQ6IgogCi0jOiBidWlsdGluL2xvZy5jOjE4MjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTk2OQogbXNnaWQgIi0tY3JlYXRpb24tZmFjdG9yIHJlcXVpcmVzIC0tcmFuZ2UtZGlmZiIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1jcmVhdGlvbi1mYWN0b3LigJwg0LjQt9C40YHQutCy0LAg0L7Qv9GG0LjRjyDigJ4tLXJhbmdlLWRpZmbigJwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgzMQorIzogYnVpbHRpbi9sb2cuYzoxOTczCiBtc2dpZCAiLS1yYW5nZS1kaWZmIHJlcXVpcmVzIC0tY292ZXItbGV0dGVyIG9yIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAiIgotItC+0L/RhtC40Y/RgtCwIOKAni0tcmFuZ2UtZGlmZuKAnCDQuNC30LjRgdC60LLQsCDQvtC/0YbQuNGPIOKAni0tY292ZXItbGV0dGVy4oCcINC40LvQuCDQtdC00LjQvdGB0YLQstC10L3QsCDQutGA0YrQv9C60LA8IgorItC+0L/RhtC40Y/RgtCwIOKAni0tcmFuZ2UtZGlmZuKAnCDQuNC30LjRgdC60LLQsCDQvtC/0YbQuNGPIOKAni0tY292ZXItbGV0dGVy4oCcINC40LvQuCDQtdC00LjQvdGB0YLQstC10L3QsCDQutGA0YrQv9C60LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgzOQorIzogYnVpbHRpbi9sb2cuYzoxOTgxCiBtc2dpZCAiUmFuZ2UtZGlmZjoiCiBtc2dzdHIgItCU0LjQsNC/0LDQt9C+0L3QvdCwINGA0LDQt9C70LjQutCwOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODQwCisjOiBidWlsdGluL2xvZy5jOjE5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmFuZ2UtZGlmZiBhZ2FpbnN0IHYlZDoiCiBtc2dzdHIgItCU0LjQsNC/0LDQt9C+0L3QvdCwINGA0LDQt9C70LjQutCwINGB0L/RgNGP0LzQviB2JWQ6IgogCi0jOiBidWlsdGluL2xvZy5jOjE4NTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTk5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzaWduYXR1cmUgZmlsZSAnJXMnIgogbXNnc3RyICLRhNCw0LnQu9GK0YIg4oCeJXPigJwg0YEg0L/QvtC00L/QuNGBINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7Rh9C10YLQtdC9IgogCi0jOiBidWlsdGluL2xvZy5jOjE4ODcKKyM6IGJ1aWx0aW4vbG9nLmM6MjAyOQogbXNnaWQgIkdlbmVyYXRpbmcgcGF0Y2hlcyIKIG1zZ3N0ciAi0KHRitC30LTQsNCy0LDQvdC1INC90LAg0LrRgNGK0L/QutC4IgogCi0jOiBidWlsdGluL2xvZy5jOjE5MzEKLW1zZ2lkICJGYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBmaWxlcyIKLW1zZ3N0ciAi0JjQt9GF0L7QtNC90LjRgtC1INGE0LDQudC70L7QstC1INC90LUg0LzQvtCz0LDRgiDQtNCwINCx0YrQtNCw0YIg0YHRitC30LTQsNC00LXQvdC4IgorIzogYnVpbHRpbi9sb2cuYzoyMDczCittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCittc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDQuNC30YXQvtC00L3QuCDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi9sb2cuYzoxOTg5CisjOiBidWlsdGluL2xvZy5jOjIxMzIKIG1zZ2lkICJnaXQgY2hlcnJ5IFstdl0gWzx1cHN0cmVhbT4gWzxoZWFkPiBbPGxpbWl0Pl1dXSIKIG1zZ3N0ciAiZ2l0IGNoZXJyeSBbLXZdIFvQntCi0JTQkNCb0JXQp9CV0J1f0JrQm9Ce0J0gW9CS0KDQqtClIFvQn9Cg0JXQlNCV0JtdXV0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjA0MworIzogYnVpbHRpbi9sb2cuYzoyMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgZmluZCBhIHRyYWNrZWQgcmVtb3RlIGJyYW5jaCwgcGxlYXNlIHNwZWNpZnkgPHVwc3RyZWFtPiBtYW51YWxseS5cbiIKQEAgLTEzMDMxLDEwOSArMTU4MDksMTA5IEBACiAi0KHQu9C10LTQtdC90LjRj9GCINC+0YLQtNCw0LvQtdGH0LXQvSDQutC70L7QvSDQvdC1INCx0LUg0L7RgtC60YDQuNGCLCDQt9Cw0YLQvtCy0LAg0LjQt9GA0LjRh9C90L4g0LfQsNC00LDQudGC0LUgIgogItCe0KLQlNCQ0JvQldCn0JXQnV/QmtCb0J7QnS5cbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MAogbXNnaWQgImdpdCBscy1maWxlcyBbPG9wdGlvbnM+XSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxzLWZpbGVzIFvQntCf0KbQmNCv4oCmXSBb0KTQkNCZ0JvigKZdIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI2CiBtc2dpZCAiaWRlbnRpZnkgdGhlIGZpbGUgc3RhdHVzIHdpdGggdGFncyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHRitGB0YLQvtGP0L3QuNC10YLQviDQvdCwINGE0LDQudC70L7QstC10YLQtSDRgSDQtdC00L3QvtCx0YPQutCy0LXQvdC4INGE0LvQsNCz0L7QstC1IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI4CiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCiBtc2dzdHIgItC80LDQu9C60Lgg0LHRg9C60LLQuCDQt9CwINGE0LDQudC70L7QstC10YLQtSwg0LrQvtC40YLQviDQtNCwINGB0LUg0YHRh9C10YLQsNGCINC30LAg0L3QtdC/0YDQvtC80LXQvdC10L3QuCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMAogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2ZzbW9uaXRvciBjbGVhbicgZmlsZXMiCiBtc2dzdHIgItC80LDQu9C60Lgg0LHRg9C60LLQuCDQt9CwINGE0LDQudC70L7QstC10YLQtSDQt9CwINC60L7QvNCw0L3QtNCw0YLQsCDigJ5mc21vbml0b3IgY2xlYW7igJwiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzIKIG1zZ2lkICJzaG93IGNhY2hlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IChkZWZhdWx0KSIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LrQtdGI0LjRgNCw0L3QuNGC0LUg0YTQsNC50LvQvtCy0LUgKNGB0YLQsNC90LTQsNGA0YLQvdC+KSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMworIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNAogbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQuNC30YLRgNC40YLQuNGC0LUg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzYKIG1zZ2lkICJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC/0YDQvtC80LXQvdC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzgKIG1zZ2lkICJzaG93IG90aGVyIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC00YDRg9Cz0LjRgtC1INGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQwCiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC40LPQvdC+0YDQuNGA0LDQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MwogbXNnaWQgInNob3cgc3RhZ2VkIGNvbnRlbnRzJyBvYmplY3QgbmFtZSBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQuNC80LXRgtC+INC90LAg0L7QsdC10LrRgtCwINC30LAg0YHRitC00YrRgNC20LDQvdC40LXRgtC+INC90LAg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDQKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKIG1zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUsINC60L7QuNGC0L4g0YLRgNGP0LHQstCwINC00LAg0LHRitC00LDRgiDQuNC30YLRgNC40YLQuCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NwogbXNnaWQgInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZXMgb25seSIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0LjQvNC10YLQviDQvdCwINC00YDRg9Cz0LjRgtC1ICjQvdC10YHQu9C10LTQtdC90LjRgtC1KSDQtNC40YDQtdC60YLQvtGA0LjQuCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OQogbXNnaWQgInNob3cgbGluZSBlbmRpbmdzIG9mIGZpbGVzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQt9C90LDRhtC40YLQtSDQt9CwINC60YDQsNC5INC90LAg0YDQtdC0INCy0YrQsiDRhNCw0LnQu9C+0LLQtdGC0LUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTEKIG1zZ2lkICJkb24ndCBzaG93IGVtcHR5IGRpcmVjdG9yaWVzIgogbXNnc3RyICLQsdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0L/RgNCw0LfQvdC40YLQtSDQtNC40YDQtdC60YLQvtGA0LjQuCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NAogbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0L3QtdGB0LvQtdGC0LjRgtC1INGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU2CiBtc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC40L3RhNC+0YDQvNCw0YbQuNGP0YLQsCDQt9CwINC+0YLQvNGP0L3QsCDQvdCwINGA0LDQt9GA0LXRiNC10L3QuNGC0LUg0L/QvtC00LDQstCw0L3QuNGPIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU4CiBtc2dpZCAic2tpcCBmaWxlcyBtYXRjaGluZyBwYXR0ZXJuIgogbXNnc3RyICLQv9GA0LXRgdC60LDRh9Cw0L3QtSDQvdCwINGE0LDQudC70L7QstC10YLQtSDQvdCw0L/QsNGB0LLQsNGJ0Lgg0KjQkNCR0JvQntCd0LAiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjEKIG1zZ2lkICJleGNsdWRlIHBhdHRlcm5zIGFyZSByZWFkIGZyb20gPGZpbGU+IgogbXNnc3RyICLRiNCw0LHQu9C+0L3QuNGC0LUg0LfQsCDQuNCz0L3QvtGA0LjRgNCw0L3QtSDQtNCwINGB0LUg0L/RgNC+0YfQtdGC0LDRgiDQvtGCINGC0L7Qt9C4INCk0JDQmdCbIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTYzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY0CiBtc2dpZCAicmVhZCBhZGRpdGlvbmFsIHBlci1kaXJlY3RvcnkgZXhjbHVkZSBwYXR0ZXJucyBpbiA8ZmlsZT4iCiBtc2dzdHIgIiIKICLQuNC30YfQuNGC0LDQvdC1INC90LAg0LTQvtC/0YrQu9C90LjRgtC10LvQvdC40YLQtSDRiNCw0LHQu9C+0L3QuCDQt9CwINC40LPQvdC+0YDQuNGA0LDQvdC1INC/0L4g0LTQuNGA0LXQutGC0L7RgNC40Y8g0L7RgiDRgtC+0LfQuCDQpNCQ0JnQmyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NgogbXNnaWQgImFkZCB0aGUgc3RhbmRhcmQgZ2l0IGV4Y2x1c2lvbnMiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3QviDQuNCz0L3QvtGA0LjRgNCw0L3QuNGC0LUg0L7RgiBHaXQg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzAKIG1zZ2lkICJtYWtlIHRoZSBvdXRwdXQgcmVsYXRpdmUgdG8gdGhlIHByb2plY3QgdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAi0L/RitGC0LjRidCw0YLQsCDQtNCwINGB0LAg0L7RgtC90L7RgdC40YLQtdC70L3QuCDRgdC/0YDRj9C80L4g0L7RgdC90L7QstC90LDRgtCwINC00LjRgNC10LrRgtC+0YDQuNGPINC90LAg0L/RgNC+0LXQutGC0LAiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzMKIG1zZ2lkICJyZWN1cnNlIHRocm91Z2ggc3VibW9kdWxlcyIKIG1zZ3N0ciAi0YDQtdC60YPRgNGB0LjQstC90L4g0L7QsdGF0L7QttC00LDQvdC1INC/0L7QtNC80L7QtNGD0LvQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzQKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzUKIG1zZ2lkICJpZiBhbnkgPGZpbGU+IGlzIG5vdCBpbiB0aGUgaW5kZXgsIHRyZWF0IHRoaXMgYXMgYW4gZXJyb3IiCiBtc2dzdHIgItCz0YDQtdGI0LrQsCwg0LDQutC+INC90Y/QutC+0Lkg0L7RgiDRgtC10LfQuCDQpNCQ0JnQm9C+0LLQtSDQvdC1INC1INCyINC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTc1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc2CiBtc2dpZCAidHJlZS1pc2giCiBtc2dzdHIgItCj0JrQkNCX0JDQotCV0Jtf0JrQqtCcX9CU0KrQoNCS0J4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzcKIG1zZ2lkICJwcmV0ZW5kIHRoYXQgcGF0aHMgcmVtb3ZlZCBzaW5jZSA8dHJlZS1pc2g+IGFyZSBzdGlsbCBwcmVzZW50IgogbXNnc3RyICIiCiAi0YHRh9C40YLQsNC90LUsINGH0LUg0L/RitGC0LjRidCw0YLQsCDQuNC30YLRgNC40YLQuCDRgdC70LXQtCDQo9Ca0JDQl9CQ0KLQldCb0Y9f0JrQqtCcX9CU0KrQoNCS0J4g0LLRgdC1INC+0YnQtSDRgdGK0YnQtdGB0YLQstGD0LLQsNGCIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTc4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc5CiBtc2dpZCAic2hvdyBkZWJ1Z2dpbmcgZGF0YSIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvdGE0L7RgNC80LDRhtC40Y/RgtCwINC30LAg0LjQt9GH0LjRgdGC0LLQsNC90LUg0L3QsCDQs9GA0LXRiNC60LgiCiAKQEAgLTEzMTUxLDcgKzE1OTI5LDcgQEAKIG1zZ2lkICJkbyBub3QgcHJpbnQgcmVtb3RlIFVSTCIKIG1zZ3N0ciAi0LHQtdC3INC40LfQstC10LbQtNCw0L3QtSDQvdCwINCw0LTRgNC10YHQuNGC0LUg0L3QsCDQvtGC0LTQsNC70LXRh9C10L3QuNGC0LUg0YXRgNCw0L3QuNC70LjRidCwIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjYwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIgYnVpbHRpbi9yZWJhc2UuYzo5MDMKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjAgYnVpbHRpbi9scy1yZW1vdGUuYzo2MiBidWlsdGluL3JlYmFzZS5jOjE1MTgKIG1zZ2lkICJleGVjIgogbXNnc3RyICLQmtCe0JzQkNCd0JTQkCIKIApAQCAtMTMxNjksMTcgKzE1OTQ3LDE3IEBACiAKICM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjcKIG1zZ2lkICJkbyBub3Qgc2hvdyBwZWVsZWQgdGFncyIKLW1zZ3N0ciAi0LHQtdC3INC40LfQstC10LbQtNCw0L3QtSDQvdCwINC/0YDQvtGB0LvQtdC00LXQvdC40YLQtSDQtdGC0LjQutC10YLQuCIKK21zZ3N0ciAi0LHQtdC3INC/0YDQvtGB0LvQtdC00Y/QstCw0L3QtSDQvdCwINC90LXQv9GA0LXQutC40YLQtSDQtdGC0LjQutC10YLQuCIKIAogIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2OQogbXNnaWQgInRha2UgdXJsLjxiYXNlPi5pbnN0ZWFkT2YgaW50byBhY2NvdW50IgogbXNnc3RyICLQstC30LjQvNCw0L3QtSDQv9GA0LXQtNCy0LjQtCDQvdCwIOKAnnVybC7QkdCQ0JfQkC5pbnN0ZWFkT2bigJwiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzMKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzIKIG1zZ2lkICJleGl0IHdpdGggZXhpdCBjb2RlIDIgaWYgbm8gbWF0Y2hpbmcgcmVmcyBhcmUgZm91bmQiCiBtc2dzdHIgItC40LfRhdC+0LQg0YEg0LrQvtC0IDIsINCw0LrQviDQvdC1INGB0LUg0L7RgtC60YDQuNGP0YIg0YHRitCy0L/QsNC00LDRidC4INGD0LrQsNC30LDRgtC10LvQuCIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo3NgorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo3NQogbXNnaWQgInNob3cgdW5kZXJseWluZyByZWYgaW4gYWRkaXRpb24gdG8gdGhlIG9iamVjdCBwb2ludGVkIGJ5IGl0IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC70Y8g0LfQsNC10LTQvdC+INGBINC+0LHQtdC60YLQsCDRgdC+0YfQtdC9INC+0YIg0L3QtdCz0L4iCiAKQEAgLTEzMjI2LDI2NiArMTYwMDQsMjg3IEBACiBtc2dpZCAiZW1wdHkgbWJveDogJyVzJyIKIG1zZ3N0ciAi0L/RgNCw0LfQvdCwINC/0L7RidC10L3RgdC60LAg0LrRg9GC0LjRjyBtYm94OiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjUyCisjOiBidWlsdGluL21lcmdlLmM6NTUKIG1zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gWzxjb21taXQ+Li4uXSIKIG1zZ3N0ciAiZ2l0IG1lcmdlIFvQntCf0KbQmNCv4oCmXSBb0J/QntCU0JDQktCQ0J3QleKApl0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1MworIzogYnVpbHRpbi9tZXJnZS5jOjU2CiBtc2dpZCAiZ2l0IG1lcmdlIC0tYWJvcnQiCiBtc2dzdHIgImdpdCBtZXJnZSAtLWFib3J0IgogCi0jOiBidWlsdGluL21lcmdlLmM6NTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1NwogbXNnaWQgImdpdCBtZXJnZSAtLWNvbnRpbnVlIgogbXNnc3RyICJnaXQgbWVyZ2UgLS1jb250aW51ZSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExMQorIzogYnVpbHRpbi9tZXJnZS5jOjExOAogbXNnaWQgInN3aXRjaCBgbScgcmVxdWlyZXMgYSB2YWx1ZSIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLW3igJwg0LjQt9C40YHQutCy0LAg0YHRgtC+0LnQvdC+0YHRgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE3NworIzogYnVpbHRpbi9tZXJnZS5jOjE0MQorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyByZXF1aXJlcyBhIHZhbHVlIgorbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4lc+KAnCDQuNC30LjRgdC60LLQsCDRgdGC0L7QudC90L7RgdGCIgorCisjOiBidWlsdGluL21lcmdlLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIG1lcmdlIHN0cmF0ZWd5ICclcycuXG4iCiBtc2dzdHIgItCd0Y/QvNCwINGC0LDQutCw0LLQsCDRgdGC0YDQsNGC0LXQs9C40Y8g0LfQsCDRgdC70LjQstCw0L3QtTog4oCeJXPigJwuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAi0J3QsNC70LjRh9C90LjRgtC1INGB0YLRgNCw0YLQtdCz0LjQuCDRgdCwOiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE4MworIzogYnVpbHRpbi9tZXJnZS5jOjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdmFpbGFibGUgY3VzdG9tIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAi0JTQvtC/0YrQu9C90LjRgtC10LvQvdC40YLQtSDRgdGC0YDQsNGC0LXQs9C40Lgg0YHQsDoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzQgYnVpbHRpbi9wdWxsLmM6MTQzCisjOiBidWlsdGluL21lcmdlLmM6MjQ0IGJ1aWx0aW4vcHVsbC5jOjE1MgogbXNnaWQgImRvIG5vdCBzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgItCx0LXQtyDQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdGC0LDRgtC40YHRgtC40LrQsNGC0LAg0YHQu9C10LQg0LfQsNCy0YrRgNGI0LLQsNC90LUg0L3QsCDRgdC70LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzNyBidWlsdGluL3B1bGwuYzoxNDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDcgYnVpbHRpbi9wdWxsLmM6MTU1CiBtc2dpZCAic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdGC0LDRgtC40YHRgtC40LrQsNGC0LAg0YHQu9C10LQg0LfQsNCy0YrRgNGI0LLQsNC90LUg0L3QsCDRgdC70LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzOCBidWlsdGluL3B1bGwuYzoxNDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDggYnVpbHRpbi9wdWxsLmM6MTU4CiBtc2dpZCAiKHN5bm9ueW0gdG8gLS1zdGF0KSIKIG1zZ3N0ciAiKNC/0YHQtdCy0LTQvtC90LjQvCDQvdCwIOKAni0tc3RhdOKAnCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDAgYnVpbHRpbi9wdWxsLmM6MTUyCisjOiBidWlsdGluL21lcmdlLmM6MjUwIGJ1aWx0aW4vcHVsbC5jOjE2MQogbXNnaWQgImFkZCAoYXQgbW9zdCA8bj4pIGVudHJpZXMgZnJvbSBzaG9ydGxvZyB0byBtZXJnZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiIgogItC00L7QsdCw0LLRj9C90LUgKNC90LAg0LzQsNC60YHQuNC80YPQvCDRgtCw0LrRitCyINCR0KDQntCZKSDQt9Cw0L/QuNGB0Lgg0L7RgiDRgdGK0LrRgNCw0YLQtdC90LjRjyDQttGD0YDQvdCw0Lsg0LIg0YHRitC+0LHRidC10L3QuNC10YLQviAiCiAi0LfQsCDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQzIGJ1aWx0aW4vcHVsbC5jOjE1OAorIzogYnVpbHRpbi9tZXJnZS5jOjI1MyBidWlsdGluL3B1bGwuYzoxNjcKIG1zZ2lkICJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIKIG1zZ3N0ciAi0YHRitC30LTQsNCy0LDQvdC1INC90LAg0LXQtNC90L4g0L/QvtC00LDQstCw0L3QtSDQstC80LXRgdGC0L4g0LjQt9Cy0YrRgNGI0LLQsNC90LUg0L3QsCDRgdC70LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI0NSBidWlsdGluL3B1bGwuYzoxNjEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTUgYnVpbHRpbi9wdWxsLmM6MTcwCiBtc2dpZCAicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIgogbXNnc3RyICLQuNC30LLRitGA0YjQstCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LUg0L/RgNC4INGD0YHQv9C10YjQvdC+INGB0LvQuNCy0LDQvdC1ICjRgdGC0LDQvdC00LDRgNGC0L3QviDQtNC10LnRgdGC0LLQuNC1KSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI0NyBidWlsdGluL3B1bGwuYzoxNjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTcgYnVpbHRpbi9wdWxsLmM6MTczCiBtc2dpZCAiZWRpdCBtZXNzYWdlIGJlZm9yZSBjb21taXR0aW5nIgogbXNnc3RyICLRgNC10LTQsNC60YLQuNGA0LDQvdC1INC90LAg0YHRitC+0LHRidC10L3QuNC10YLQviDQv9GA0LXQtNC4INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTkKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQgKGRlZmF1bHQpIgogbXNnc3RyICLQv9C+0LfQstC+0LvRj9Cy0LDQvdC1INC90LAg0L/RgNC10LLRitGA0YLQsNC90LUgKNGB0YLQsNC90LTQsNGA0YLQvdC+INC00LXQudGB0YLQstC40LUpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjUwIGJ1aWx0aW4vcHVsbC5jOjE3MAorIzogYnVpbHRpbi9tZXJnZS5jOjI2MSBidWlsdGluL3B1bGwuYzoxODAKIG1zZ2lkICJhYm9ydCBpZiBmYXN0LWZvcndhcmQgaXMgbm90IHBvc3NpYmxlIgogbXNnc3RyICLQv9GA0LXRg9GB0YLQsNC90L7QstGP0LLQsNC90LUsINCw0LrQviDQv9GA0LXQstGK0YDRgtCw0L3QtdGC0L4g0LUg0L3QtdCy0YrQt9C80L7QttC90L4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTQgYnVpbHRpbi9wdWxsLmM6MTczCisjOiBidWlsdGluL21lcmdlLmM6MjY1IGJ1aWx0aW4vcHVsbC5jOjE4MwogbXNnaWQgInZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKIG1zZ3N0ciAi0L/RgNC+0LLQtdGA0LrQsCwg0YfQtSDRg9C60LDQt9Cw0L3QvtGC0L4g0L/QvtC00LDQstCw0L3QtSDQtSDRgSDQv9GA0LDQstC40LvQtdC9INC/0L7QtNC/0LjRgSDQvdCwIEdQRyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NSBidWlsdGluL25vdGVzLmM6Nzg0IGJ1aWx0aW4vcHVsbC5jOjE3NwotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTYgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg2IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEwCisjOiBidWlsdGluL21lcmdlLmM6MjY2IGJ1aWx0aW4vbm90ZXMuYzo3ODcgYnVpbHRpbi9wdWxsLmM6MTg3CisjOiBidWlsdGluL3JlYmFzZS5jOjUxMiBidWlsdGluL3JlYmFzZS5jOjE1MzEgYnVpbHRpbi9yZXZlcnQuYzoxMTQKIG1zZ2lkICJzdHJhdGVneSIKIG1zZ3N0ciAi0KHQotCg0JDQotCV0JPQmNCvIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU2IGJ1aWx0aW4vcHVsbC5jOjE3OAorIzogYnVpbHRpbi9tZXJnZS5jOjI2NyBidWlsdGluL3B1bGwuYzoxODgKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSB0byB1c2UiCiBtc2dzdHIgItCh0KLQoNCQ0KLQldCT0JjQryDQt9CwINGB0LvQuNCy0LDQvdC1LCDQutC+0Y/RgtC+INC00LAg0YHQtSDQv9C+0LvQt9Cy0LAiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTcgYnVpbHRpbi9wdWxsLmM6MTgxCisjOiBidWlsdGluL21lcmdlLmM6MjY4IGJ1aWx0aW4vcHVsbC5jOjE5MQogbXNnaWQgIm9wdGlvbj12YWx1ZSIKIG1zZ3N0ciAi0J7Qn9Cm0JjQrz3QodCi0J7QmdCd0J7QodCiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU4IGJ1aWx0aW4vcHVsbC5jOjE4MgorIzogYnVpbHRpbi9tZXJnZS5jOjI2OSBidWlsdGluL3B1bGwuYzoxOTIKIG1zZ2lkICJvcHRpb24gZm9yIHNlbGVjdGVkIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICLQntCf0KbQmNCvINC30LAg0LjQt9Cx0YDQsNC90LDRgtCwINGB0YLRgNCw0YLQtdCz0LjRjyDQt9CwINGB0LvQuNCy0LDQvdC1IgogCi0jOiBidWlsdGluL21lcmdlLmM6MjYwCisjOiBidWlsdGluL21lcmdlLmM6MjcxCiBtc2dpZCAibWVyZ2UgY29tbWl0IG1lc3NhZ2UgKGZvciBhIG5vbi1mYXN0LWZvcndhcmQgbWVyZ2UpIgogbXNnc3RyICLQodCq0J7QkdCp0JXQndCY0JUg0L/RgNC4INC/0L7QtNCw0LLQsNC90LXRgtC+INGB0YrRgSDRgdC70LjQstCw0L3QtSAo0L/RgNC4INGB0YrRidC40L3RgdC60Lgg0YHQu9C40LLQsNC90LjRjykiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzgKIG1zZ2lkICJhYm9ydCB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAi0L/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1INC90LAg0YLQtdC60YPRidC+0YLQviDRgdC70LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2OQorIzogYnVpbHRpbi9tZXJnZS5jOjI4MAorbXNnaWQgIi0tYWJvcnQgYnV0IGxlYXZlIGluZGV4IGFuZCB3b3JraW5nIHRyZWUgYWxvbmUiCittc2dzdHIgItC/0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCw0L3QtSDQsdC10Lcg0L/RgNC+0LzRj9C90LAg0L3QsCDQuNC90LTQtdC60YHQsCDQuCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI4MgogbXNnaWQgImNvbnRpbnVlIHRoZSBjdXJyZW50IGluLXByb2dyZXNzIG1lcmdlIgogbXNnc3RyICLQv9GA0L7QtNGK0LvQttCw0LLQsNC90LUg0L3QsCDRgtC10LrRg9GJ0L7RgtC+INGB0LvQuNCy0LDQvdC1IgogCi0jOiBidWlsdGluL21lcmdlLmM6MjcxIGJ1aWx0aW4vcHVsbC5jOjE4OQorIzogYnVpbHRpbi9tZXJnZS5jOjI4NCBidWlsdGluL3B1bGwuYzoxOTkKIG1zZ2lkICJhbGxvdyBtZXJnaW5nIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgItC/0L7Qt9Cy0L7Qu9GP0LLQsNC90LUg0L3QsCDRgdC70LjQstCw0L3QtSDQvdCwINC90LXQt9Cw0LLQuNGB0LjQvNC4INC40YHRgtC+0YDQuNC4IgogCi0jOiBidWlsdGluL21lcmdlLmM6Mjc3Ci1tc2dpZCAidmVyaWZ5IGNvbW1pdC1tc2cgaG9vayIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyOTAKK21zZ2lkICJieXBhc3MgcHJlLW1lcmdlLWNvbW1pdCBhbmQgY29tbWl0LW1zZyBob29rcyIKIG1zZ3N0ciAiIgotItC/0YDQvtCy0LXRgNC60LAg0L3QsCDQutGD0LrQsNGC0LAg0L/RgNC4INC/0YDQvtC80Y/QvdCwINC90LAg0YHRitC+0LHRidC10L3QuNC10YLQviDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtSAoY29tbWl0LW1zZykiCisi0LHQtdC3INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg0LrRg9C60LjRgtC1INC/0YDQtdC00Lgg0L/QvtC00LDQstCw0L3QtSDQuCDRgdC70LjQstCw0L3QtSDQuCDQv9GA0Lgg0L/RgNC+0LzRj9C90LAg0L3QsCAiCisi0YHRitC+0LHRidC10L3QuNC10YLQviDQt9CwINC/0L7QtNCw0LLQsNC90LUgKHByZS1tZXJnZS1jb21taXQg0LggY29tbWl0LW1zZykiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozMDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMDcKIG1zZ2lkICJjb3VsZCBub3QgcnVuIHN0YXNoLiIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9Cy0YrRgNGI0Lgg0YHQutCw0YLQsNCy0LDQvdC1IgogCi0jOiBidWlsdGluL21lcmdlLmM6MzA3CisjOiBidWlsdGluL21lcmdlLmM6MzEyCiBtc2dpZCAic3Rhc2ggZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0YHQutCw0YLQsNCy0LDQvdC1IgogCi0jOiBidWlsdGluL21lcmdlLmM6MzEyCisjOiBidWlsdGluL21lcmdlLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdDogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INC+0LHQtdC60YI6IOKAniVz4oCcIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzM0IGJ1aWx0aW4vbWVyZ2UuYzozNTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMzkgYnVpbHRpbi9tZXJnZS5jOjM1NgogbXNnaWQgInJlYWQtdHJlZSBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQv9GA0L7Rh9C40YLQsNC90LUg0L3QsCDQvtCx0LXQutGCLdC00YrRgNCy0L4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozODEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozODYKIG1zZ2lkICIgKG5vdGhpbmcgdG8gc3F1YXNoKSIKIG1zZ3N0ciAiICjQvdGP0LzQsCDQutCw0LrQstC+INC00LAg0YHQtSDQstC60LDRgNCwKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM5MgorIzogYnVpbHRpbi9tZXJnZS5jOjM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJTcXVhc2ggY29tbWl0IC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgItCS0LrQsNGA0LDQvdC+INC/0L7QtNCw0LLQsNC90LUg4oCUINGD0LrQsNC30LDRgtC10LvRj9GCIOKAnkhFQUTigJwg0L3Rj9C80LAg0LTQsCDQsdGK0LTQtSDQvtCx0L3QvtCy0LXQvVxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDQyCisjOiBidWlsdGluL21lcmdlLmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIG1lc3NhZ2UgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKIG1zZ3N0ciAiIgogItCb0LjQv9GB0LLQsCDRgdGK0L7QsdGJ0LXQvdC40LUg0L/RgNC4INC/0L7QtNCw0LLQsNC90LUg4oCUINGD0LrQsNC30LDRgtC10LvRj9GCIOKAnkhFQUTigJwg0L3Rj9C80LAg0LTQsCDQsdGK0LTQtSDQvtCx0L3QvtCy0LXQvVxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDkzCisjOiBidWlsdGluL21lcmdlLmM6NDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0YHQvtGH0Lgg0LrRitC8INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1ODAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C10L0g0L3QuNC3INC30LAg0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5icmFuY2guJXMubWVyZ2VvcHRpb25z4oCcOiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjcwMQorIzogYnVpbHRpbi9tZXJnZS5jOjcwNQogbXNnaWQgIk5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCiBtc2dzdHIgItCf0L7QtNC00YrRgNC20LAg0YHQtSDRgdCw0LzQviDRgdC70LjQstCw0L3QtSDQvdCwINGC0L7Rh9C90L4g0LTQstC1INC40YHRgtC+0YDQuNC4LiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjcxNQorIzogYnVpbHRpbi9tZXJnZS5jOjcxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogbXNnc3RyICLQndC10L/QvtC30L3QsNGC0LAg0L7Qv9GG0LjRjyDQt9CwINGA0LXQutGD0YDRgdC40LLQvdC+0YLQviDRgdC70LjQstCw0L3QtSDigJ5tZXJnZS1yZWN1cnNpdmXigJw6IOKAni1YJXPigJwiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3MzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LjRgdCw0L0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3ODIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgZnJvbSAnJXMnIgogbXNnc3RyICLQntGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INGH0LXRgtC1IgogCi0jOiBidWlsdGluL21lcmdlLmM6NzkxCisjOiBidWlsdGluL21lcmdlLmM6Nzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBjb21taXR0aW5nIG1lcmdlOyB1c2UgJ2dpdCBjb21taXQnIHRvIGNvbXBsZXRlIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiIgogItCh0LvQuNCy0LDQvdC10YLQviDQvdGP0LzQsCDQtNCwINCx0YrQtNC1INC/0L7QtNCw0LTQtdC90L4uICDQl9CwINC30LDQstGK0YDRiNCy0LDQvdC10YLQviDQvNGDINC4INC/0L7QtNCw0LLQsNC90LXRgtC+INC80YMgIgogItC40LfQv9C+0LvQt9Cy0LDQudGC0LUg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBjb21taXTigJwuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTcKLSMsIGMtZm9ybWF0CisjOiBidWlsdGluL21lcmdlLmM6ODAxCiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciBhIGNvbW1pdCBtZXNzYWdlIHRvIGV4cGxhaW4gd2h5IHRoaXMgbWVyZ2UgaXMgbmVjZXNzYXJ5LFxuIgogImVzcGVjaWFsbHkgaWYgaXQgbWVyZ2VzIGFuIHVwZGF0ZWQgdXBzdHJlYW0gaW50byBhIHRvcGljIGJyYW5jaC5cbiIKICJcbiIKLSJMaW5lcyBzdGFydGluZyB3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLCBhbmQgYW4gZW1wdHkgbWVzc2FnZSBhYm9ydHNcbiIKLSJ0aGUgY29tbWl0LlxuIgogbXNnc3RyICIiCiAi0JIg0YHRitC+0LHRidC10L3QuNC10YLQviDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtSDQtNC+0LHQsNCy0LXRgtC1INC40L3RhNC+0YDQvNCw0YbQuNGPINC30LAg0L/RgNC40YfQuNC90LDRgtCwINC30LBcbiIKICLRgdC70LjQstCw0L3QtdGC0L4sINC+0YHQvtCx0LXQvdC+INCw0LrQviDRgdC70LjQstCw0YLQtSDQvtCx0L3QvtCy0LXQvSDQvtGC0LTQsNC70LXRh9C10L0g0LrQu9C+0L0g0LIg0YLQtdC80LDRgtC40YfQtdC9INC60LvQvtC9LlxuIgotIlxuIgotItCg0LXQtNC+0LLQtdGC0LUsINC60L7QuNGC0L4g0LfQsNC/0L7Rh9Cy0LDRgiDRgSDigJ4lY+KAnCDRidC1INCx0YrQtNCw0YIg0L/RgNC+0L/Rg9GB0L3QsNGC0LgsINCwINC/0YDQsNC30L3QviDRgdGK0L7QsdGJ0LXQvdC40LVcbiIKLSLQv9GA0LXRg9GB0YLQsNC90L7QstGP0LLQsCDQv9C+0LTQsNCy0LDQvdC10YLQvi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjgzMworIzogYnVpbHRpbi9tZXJnZS5jOjgwNgorbXNnaWQgIkFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCittc2dzdHIgItCf0YDQsNC30L3QviDRgdGK0L7QsdGJ0LXQvdC40LUg0L/RgNC10LTQvtGC0LLRgNCw0YLRj9Cy0LAg0L/QvtC00LDQstCw0L3QtdGC0L4uXG4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQsIGFuZCBhbiBlbXB0eSBtZXNzYWdlIGFib3J0c1xuIgorInRoZSBjb21taXQuXG4iCittc2dzdHIgIiIKKyLQoNC10LTQvtCy0LXRgtC1LCDQutC+0LjRgtC+INC30LDQv9C+0YfQstCw0YIg0YEg4oCeJWPigJwsINGJ0LUg0LHRitC00LDRgiDQv9GA0L7Qv9GD0YHQvdCw0YLQuCwg0LAg0L/RgNCw0LfQvdC+XG4iCisi0YHRitC+0LHRidC10L3QuNC1INC/0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCwINC/0L7QtNCw0LLQsNC90LXRgtC+LlxuIgorCisjOiBidWlsdGluL21lcmdlLmM6ODYyCiBtc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgogbXNnc3RyICLQn9GA0LDQt9C90L4g0YHRitC+0LHRidC10L3QuNC1INC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1LiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjg1MgorIzogYnVpbHRpbi9tZXJnZS5jOjg3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJXb25kZXJmdWwuXG4iCiBtc2dzdHIgItCf0YrRgNCy0LjRj9GCINC10YLQsNC/INC90LAg0YHQu9C40LLQsNC90LXRgtC+INC30LDQstGK0YDRiNC4LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTA1CisjOiBidWlsdGluL21lcmdlLmM6OTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSBmYWlsZWQ7IGZpeCBjb25mbGljdHMgYW5kIHRoZW4gY29tbWl0IHRoZSByZXN1bHQuXG4iCiBtc2dzdHIgIiIKICLQndC10YPRgdC/0LXRiNC90L4g0LDQstGC0L7QvNCw0YLQuNGH0L3QviDRgdC70LjQstCw0L3QtSDigJQg0LrQvtGA0LjQs9C40YDQsNC50YLQtSDQutC+0L3RhNC70LjQutGC0LjRgtC1INC4INC/0L7QtNCw0LnRgtC1ICIKICLRgNC10LfRg9C70YLQsNGC0LAuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzcKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgItCd0Y/QvNCwINGC0LXQutGD0Ykg0LrQu9C+0L0uIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTQ2CisjOiBidWlsdGluL21lcmdlLmM6OTc5CiBtc2dpZCAiTm8gcmVtb3RlIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICLQotC10LrRg9GJ0LjRj9GCINC60LvQvtC9INC90LUg0YHQu9C10LTQuCDQvdC40LrQvtC5LiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0OAorIzogYnVpbHRpbi9tZXJnZS5jOjk4MQogbXNnaWQgIk5vIGRlZmF1bHQgdXBzdHJlYW0gZGVmaW5lZCBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi0KLQtdC60YPRidC40Y/RgiDQutC70L7QvSDQvdC1INGB0LvQtdC00Lgg0L3QuNC60L7QuSDQutC70L7QvS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBmb3IgJXMgZnJvbSAlcyIKIG1zZ3N0ciAi0J3QuNC60L7QuSDQutC70L7QvSDQvdC1INGB0LvQtdC00Lgg0LrQu9C+0L3QsCDigJ4lc+KAnCDQvtGCINGF0YDQsNC90LjQu9C40YnQtdGC0L4g4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDEwCisjOiBidWlsdGluL21lcmdlLmM6MTA0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgdmFsdWUgJyVzJyBpbiBlbnZpcm9ubWVudCAnJXMnIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCIOKAniVz4oCcINCyINGB0YDQtdC00LDRgtCwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTExMworIzogYnVpbHRpbi9tZXJnZS5jOjExNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UgaW4gJXM6ICVzIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDRgdC70LXQtSDQsiDigJ4lc+KAnDogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ3CisjOiBidWlsdGluL21lcmdlLmM6MTE4MAogbXNnaWQgIm5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDRgdC70LXQtSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjgzCiBtc2dpZCAiLS1hYm9ydCBleHBlY3RzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1hYm9ydOKAnCDQvdC1INC/0YDQuNC10LzQsCDQsNGA0LPRg9C80LXQvdGC0LgiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjU0CisjOiBidWlsdGluL21lcmdlLmM6MTI4NwogbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIHRvIGFib3J0IChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKIG1zZ3N0ciAiIgogItCd0LUg0LzQvtC20LUg0LTQsCDQv9GA0LXRg9GB0YLQsNC90L7QstC40YLQtSDRgdC70LjQstCw0L3QtSwg0LfQsNGJ0L7RgtC+INCyINC80L7QvNC10L3RgtCwINC90LUg0YHQtSDQuNC30LLRitGA0YjQstCwINGC0LDQutC+0LLQsCAiCiAiKNC70LjQv9GB0LLQsCDRg9C60LDQt9Cw0YLQtdC7IOKAnk1FUkdFX0hFQUTigJwpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNjYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk2Cittc2dpZCAiLS1xdWl0IGV4cGVjdHMgbm8gYXJndW1lbnRzIgorbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLXF1aXTigJwg0L3QtSDQv9GA0LjQtdC80LAg0LDRgNCz0YPQvNC10L3RgtC4IgorCisjOiBidWlsdGluL21lcmdlLmM6MTMwOQogbXNnaWQgIi0tY29udGludWUgZXhwZWN0cyBubyBhcmd1bWVudHMiCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tY29udGludWXigJwg0L3QtSDQv9GA0LjQtdC80LAg0LDRgNCz0YPQvNC10L3RgtC4IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI3MAorIzogYnVpbHRpbi9tZXJnZS5jOjEzMTMKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSBpbiBwcm9ncmVzcyAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgItCSINC80L7QvNC10L3RgtCwINC90LUg0YHQtSDQuNC30LLRitGA0YjQstCwINGB0LvQuNCy0LDQvdC1ICjQu9C40L/RgdCy0LAg0YPQutCw0LfQsNGC0LXQuyDigJ5NRVJHRV9IRUFE4oCcKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg2CisjOiBidWlsdGluL21lcmdlLmM6MTMyOQogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCkBAIC0xMzQ5Myw3ICsxNjI5Miw3IEBACiAi0J3QtSDRgdGC0LUg0LfQsNCy0YrRgNGI0LjQu9C4INGB0LvQuNCy0LDQvdC1LiAgKNCj0LrQsNC30LDRgtC10LvRj9GCIOKAnk1FUkdFX0hFQUTigJwg0YHRitGJ0LXRgdGC0LLRg9Cy0LApLlxuIgogItCf0L7QtNCw0LnRgtC1INC/0YDQvtC80LXQvdC40YLQtSDRgdC4LCDQv9GA0LXQtNC4INC00LAg0LfQsNC/0L7Rh9C90LXRgtC1INC90L7QstC+INGB0LvQuNCy0LDQvdC1LiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyOTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzM2CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKQEAgLTEzNTAxLDk5ICsxNjMwMCwxMDMgQEAKICLQndC1INGB0YLQtSDQt9Cw0LLRitGA0YjQuNC70Lgg0L7RgtCx0LjRgNCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LUgKNGD0LrQsNC30LDRgtC10LvRj9GCIOKAnkNIRVJSWV9QSUNLX0hFQUTigJxcbiIKICLRgdGK0YnQtdGB0YLQstGD0LLQsCkuICDQn9C+0LTQsNC50YLQtSDQv9GA0L7QvNC10L3QuNGC0LUg0YHQuCwg0L/RgNC10LTQuCDQtNCwINC30LDQv9C+0YfQvdC10YLQtSDQvdC+0LLQviDRgdC70LjQstCw0L3QtS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk2CisjOiBidWlsdGluL21lcmdlLmM6MTMzOQogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiIgogItCd0LUg0YHRgtC1INC30LDQstGK0YDRiNC40LvQuCDQvtGC0LHQuNGA0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QtSAo0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeQ0hFUlJZX1BJQ0tfSEVBROKAnFxuIgogItGB0YrRidC10YHRgtCy0YPQstCwKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzA1CisjOiBidWlsdGluL21lcmdlLmM6MTM1MwogbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tbm8tZmYuIgogbXNnc3RyICLQntC/0YbQuNGP0YLQsCDigJ4tLXNxdWFzaOKAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg4oCeLS1uby1mZuKAnC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzEzCisjOiBidWlsdGluL21lcmdlLmM6MTM1NQorbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tY29tbWl0LiIKK21zZ3N0ciAi0J7Qv9GG0LjRj9GC0LAg4oCeLS1zcXVhc2jigJwg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNCwINGBIOKAni0tY29tbWl04oCcLiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEzNzEKIG1zZ2lkICJObyBjb21taXQgc3BlY2lmaWVkIGFuZCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBub3Qgc2V0LiIKIG1zZ3N0ciAiIgogItCd0LUg0LUg0YPQutCw0LfQsNC90L4g0L/QvtC00LDQstCw0L3QtSDQuCDQvdCw0YHRgtGA0L7QudC60LDRgtCwIOKAnm1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFt4oCcINC90LUg0LUg0LfQsNC00LDQtNC10L3QsC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzMwCisjOiBidWlsdGluL21lcmdlLmM6MTM4OAogbXNnaWQgIlNxdWFzaCBjb21taXQgaW50byBlbXB0eSBoZWFkIG5vdCBzdXBwb3J0ZWQgeWV0IgogbXNnc3RyICLQktC60LDRgNCy0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QtSDQstGK0LIg0LLRgNGK0YUg0LHQtdC3INC40YHRgtC+0YDQuNGPINCy0YHQtSDQvtGJ0LUg0L3QtSDRgdC1INC/0L7QtNC00YrRgNC20LAiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzMyCisjOiBidWlsdGluL21lcmdlLmM6MTM5MAogbXNnaWQgIk5vbi1mYXN0LWZvcndhcmQgY29tbWl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW50byBhbiBlbXB0eSBoZWFkIgogbXNnc3RyICIiCiAi0J/QvtC90LXQttC1INCy0YrRgNGF0YrRgiDQtSDQsdC10Lcg0LjRgdGC0L7RgNC40Y8sINCy0YHQuNGH0LrQuCDRgdC70LjQstCw0L3QuNGPINGB0LAg0L/RgNC10LLRitGA0YLQsNC90LjRjywg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUgIgogItC40LfQstGK0YDRiNC4INGB0YrRidC40L3RgdC60L4g0YHQu9C40LLQsNC90LUg0LjQt9C40YHQutCy0LDQvdC+INC+0YIg0L7Qv9GG0LjRj9GC0LAg4oCeLS1uby1mZuKAnCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMzcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIC0gbm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIuKAniVz4oCcIOKAlCDQvdC1INC1INC90LXRidC+LCDQutC+0LXRgtC+INC80L7QttC1INC00LAg0YHQtSDRgdC70LXQtSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzk3CiBtc2dpZCAiQ2FuIG1lcmdlIG9ubHkgZXhhY3RseSBvbmUgY29tbWl0IGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAi0JzQvtC20LXRgtC1INC00LAg0YHQu9C10LXRgtC1INGC0L7Rh9C90L4g0LXQtNC90L4g0L/QvtC00LDQstCw0L3QtSDQstGK0LIg0LLRgNGK0YUg0LHQtdC3INC40YHRgtC+0YDQuNGPIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQyMQorIzogYnVpbHRpbi9tZXJnZS5jOjE0NzYKIG1zZ2lkICJyZWZ1c2luZyB0byBtZXJnZSB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICLQvdC10LfQsNCy0LjRgdC40LzQuCDQuNGB0YLQvtGA0LjQuCDQvdC1INC80L7QttC1INC00LAg0YHQtSDRgdC70LXRj9GCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQzMAorIzogYnVpbHRpbi9tZXJnZS5jOjE0ODUKIG1zZ2lkICJBbHJlYWR5IHVwIHRvIGRhdGUuIgogbXNnc3RyICLQktC10YfQtSDQtSDQvtCx0L3QvtCy0LXQvdC+LiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NDAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzLi4lc1xuIgogbXNnc3RyICLQntCx0L3QvtCy0Y/QstCw0L3QtSDigJ4lcy4uJXPigJxcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0ODIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgogbXNnc3RyICLQn9GA0L7QsdCwINGB0YrRgSDRgdC70LjQstCw0L3QtSDQsiDRgNCw0LzQutC40YLQtSDQvdCwINC40L3QtNC10LrRgdCw4oCmXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDg5CisjOiBidWlsdGluL21lcmdlLmM6MTU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3BlLlxuIgogbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0YHQu9C40LLQsNC90LUuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTE0CisjOiBidWlsdGluL21lcmdlLmM6MTU2OQogbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZS4gWWVlYWghIgogbXNnc3RyICLQktC10YfQtSDQtSDQvtCx0L3QvtCy0LXQvdC+ISIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MjAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTc1CiBtc2dpZCAiTm90IHBvc3NpYmxlIHRvIGZhc3QtZm9yd2FyZCwgYWJvcnRpbmcuIgogbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0YHQtSDQuNC30LLRitGA0YjQuCDQv9GA0LXQstGK0YDRgtCw0L3QtSwg0L/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1INC90LAg0LTQtdC50YHRgtCy0LjQtdGC0L4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU0MyBidWlsdGluL21lcmdlLmM6MTYyMgorIzogYnVpbHRpbi9tZXJnZS5jOjE1OTggYnVpbHRpbi9tZXJnZS5jOjE2NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCiBtc2dzdHIgItCf0YDQuNCy0LXQttC00LDQvdC1INC90LAg0LTRitGA0LLQvtGC0L4g0LrRitC8INC/0YrRgNCy0L7QvdCw0YfQsNC70L3QvtGC0L7igKZcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgogbXNnc3RyICLQn9GA0L7QsdCy0LDQvdC1INGB0YrRgSDRgdGC0YDQsNGC0LXQs9C40Y/RgtCwINC30LAg0YHQu9C40LLQsNC90LUg4oCeJXPigJzigKZcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIHN0cmF0ZWd5IGhhbmRsZWQgdGhlIG1lcmdlLlxuIgogbXNnc3RyICLQndC40LrQvtGPINGB0YLRgNCw0YLQtdCz0LjRjyDQt9CwINGB0LvQuNCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDQuNC30LLRitGA0YjQuCDRgdC70LjQstCw0L3QtdGC0L4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjE1CisjOiBidWlsdGluL21lcmdlLmM6MTY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJNZXJnZSB3aXRoIHN0cmF0ZWd5ICVzIGZhaWxlZC5cbiIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INGB0LvQuNCy0LDQvdC1INGB0YrRgSDRgdGC0YDQsNGC0LXQs9C40Y8g4oCeJXPigJwuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjI0CisjOiBidWlsdGluL21lcmdlLmM6MTY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKIG1zZ3N0ciAiIgogItCf0L7Qu9C30LLQsCDRgdC1INGB0YLRgNCw0YLQtdCz0LjRj9GC0LAg4oCeJXPigJwsINC60L7Rj9GC0L4g0YnQtSDQv9C+0LTQs9C+0YLQstC4INC00YrRgNCy0L7RgtC+INC30LAg0LrQvtGA0LjQs9C40YDQsNC90LUg0L3QsCAiCiAi0YDRitC60LAuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjM2CisjOiBidWlsdGluL21lcmdlLmM6MTY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgogbXNnc3RyICIiCkBAIC0xMzY4MSwzMyArMTY0ODQsMzMgQEAKIG1zZ2lkICJzZXQgbGFiZWxzIGZvciBmaWxlMS9vcmlnLWZpbGUvZmlsZTIiCiBtc2dzdHIgItC30LDQtNCw0LLQsNC90LUg0L3QsCDQtdGC0LjQutC10YLQuCDQt9CwINCk0JDQmdCbXzEv0J7QoNCY0JPQmNCd0JDQmy/QpNCQ0JnQm18yIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjQ1CisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gb3B0aW9uICVzIgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0LAg0L7Qv9GG0LjRjzog4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTEKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC10L0g0LDQvdCw0LvQuNC3INC90LAg0L7QsdC10LrRgtCwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjU1CisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2UuIElnbm9yaW5nICVzLiIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgYmFzZXMuIElnbm9yaW5nICVzLiIKIG1zZ3N0clswXSAi0L3QtSDRgdC1INC/0L7QtNC00YrRgNC20LAg0L/QvtCy0LXRh9C1INC+0YIgJWQg0LHQsNC30LAuICDigJ4lc+KAnCDRgdC1INC/0YDQtdGB0LrQsNGH0LAuIgogbXNnc3RyWzFdICLQvdC1INGB0LUg0L/QvtC00LTRitGA0LbQsNGCINC/0L7QstC10YfQtSDQvtGCICVkINCx0LDQt9C4LiAg4oCeJXPigJwg0YHQtSDQv9GA0LXRgdC60LDRh9CwLiIKIAotIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2MworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2NQogbXNnaWQgIm5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCiBtc2dzdHIgItC/0L7QtNC00YrRgNC20LAg0YHQtSDRgdCw0LzQviDRgdC70LjQstCw0L3QtSDQvdCwINGC0L7Rh9C90L4g0LTQstC1INC40YHRgtC+0YDQuNC4LiIKIAotIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2OSBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjcxCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjc0IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlc29sdmUgcmVmICclcyciCiBtc2dzdHIgItGD0LrQsNC30LDRgtC10LvRj9GCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzcKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2luZyAlcyB3aXRoICVzXG4iCiBtc2dzdHIgItCh0LvQuNCy0LDQvdC1INC90LAg4oCeJXPigJwg0YEg4oCeJXPigJxcbiIKQEAgLTEzNzIwLDcgKzE2NTIzLDcgQEAKIG1zZ2lkICJpbnB1dCBpcyBOVUwgdGVybWluYXRlZCIKIG1zZ3N0ciAi0LLRhdC+0LTQvdC40YLQtSDQt9Cw0L/QuNGB0Lgg0YHQsCDRgNCw0LfQtNC10LvQtdC90Lgg0YEg0L3Rg9C70LXQstC40Y8g0LfQvdCw0Log4oCeTlVM4oCcIgogCi0jOiBidWlsdGluL21rdHJlZS5jOjE1NSBidWlsdGluL3dyaXRlLXRyZWUuYzoyNQorIzogYnVpbHRpbi9ta3RyZWUuYzoxNTUgYnVpbHRpbi93cml0ZS10cmVlLmM6MjYKIG1zZ2lkICJhbGxvdyBtaXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgItGA0LDQt9GA0LXRiNCw0LLQsNC90LUg0L3QsCDQu9C40L/RgdCy0LDRidC4INC+0LHQtdC60YLQuCIKIApAQCAtMTM3MjgsMTYyICsxNjUzMSwxNzggQEAKIG1zZ2lkICJhbGxvdyBjcmVhdGlvbiBvZiBtb3JlIHRoYW4gb25lIHRyZWUiCiBtc2dzdHIgItGA0LDQt9GA0LXRiNCw0LLQsNC90LUg0L3QsCDRgdGK0LfQtNCw0LLQsNC90LXRgtC+INC90LAg0L/QvtCy0LXRh9C1INC+0YIg0LXQtNC90L4g0LTRitGA0LLQviIKIAotIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6OAotbXNnaWQgImdpdCBtdWx0aS1wYWNrLWluZGV4IFstLW9iamVjdC1kaXI9PGRpcj5dICh3cml0ZXx2ZXJpZnkpIgotbXNnc3RyICJnaXQgbXVsdGktcGFjay1pbmRleCBbLS1vYmplY3QtZGlyPdCU0JjQoF/QntCR0JXQmtCiXSAod3JpdGV8dmVyaWZ5KSIKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjkKK21zZ2lkICIiCisiZ2l0IG11bHRpLXBhY2staW5kZXggWzxvcHRpb25zPl0gKHdyaXRlfHZlcmlmeXxleHBpcmV8cmVwYWNrIC0tYmF0Y2gtIgorInNpemU9PHNpemU+KSIKK21zZ3N0ciAiIgorImdpdCBtdWx0aS1wYWNrLWluZGV4IFvQntCf0KbQmNCv4oCmXSAod3JpdGV8dmVyaWZ5fGV4cGlyZXxyZXBhY2sgLS1iYXRjaC0iCisic2l6ZT3QoNCQ0JfQnNCV0KApIgogCi0jOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzoyMQorIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MjYKIG1zZ2lkICJvYmplY3QgZGlyZWN0b3J5IGNvbnRhaW5pbmcgc2V0IG9mIHBhY2tmaWxlIGFuZCBwYWNrLWluZGV4IHBhaXJzIgogbXNnc3RyICIiCiAi0JTQmNCg0LXQutGC0L7RgNC40Y/RgtCwX9GBX9Ce0JHQldCa0KLQuCDRgdGK0LTRitGA0LbQsCDQvNC90L7QttC10YHRgtCy0L4g0LTQstC+0LnQutC4INC/0LDQutC10YLQvdC4INGE0LDQudC70L7QstC1INGB0YrRgSAiCiAi0YHRitC+0YLQstC10YLQvdC40Y8g0LjQvCDQuNC90LTQtdC60YEiCiAKLSM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjM5CisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzoyOQorbXNnaWQgIiIKKyJkdXJpbmcgcmVwYWNrLCBjb2xsZWN0IHBhY2stZmlsZXMgb2Ygc21hbGxlciBzaXplIGludG8gYSBiYXRjaCB0aGF0IGlzICIKKyJsYXJnZXIgdGhhbiB0aGlzIHNpemUiCittc2dzdHIgIiIKKyLQv9GA0Lgg0L/RgNC10L/QsNC60LXRgtC40YDQsNC90LUg0L/QsNC60LXRgtC90LjRgtC1INGE0LDQudC70L7QstC1LCDQutC+0LjRgtC+INGB0LAg0YEg0L/Qvi3QvNCw0LvRitC6INC+0YIg0YLQvtC30Lgg0YDQsNC30LzQtdGALCDQtNCwICIKKyLRgdC1INC+0LHQtdC00LjQvdGP0LLQsNGCINCyINC/0LDQutC10YLQuCDRgSDQv9C+LdCz0L7Qu9GP0Lwg0L7RgiDRgtC+0LfQuCDRgNCw0LfQvNC10YAiCisKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjUwIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NjcKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgItC/0YDQtdC60LDQu9C10L3QviDQvNC90L7Qs9C+INCw0YDQs9GD0LzQtdC90YLQuCIKIAotIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6NDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIHZlcmI6ICVzIgotbXNnc3RyICLQvdC10L/QvtC30L3QsNGCINCz0LvQsNCz0L7QuzogJXMiCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo2MAorbXNnaWQgIi0tYmF0Y2gtc2l6ZSBvcHRpb24gaXMgb25seSBmb3IgJ3JlcGFjaycgc3ViY29tbWFuZCIKK21zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1iYXRjaC1zaXpl4oCcINC40LfQuNGB0LrQstCwINC/0L7QtNC60L7QvNCw0L3QtNCw0YLQsCDigJ5yZXBhY2vigJwiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNworIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1YmNvbW1hbmQ6ICVzIgorbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0LAg0L/QvtC00LrQvtC80LDQvdC00LA6ICVzIgorCisjOiBidWlsdGluL212LmM6MTgKIG1zZ2lkICJnaXQgbXYgWzxvcHRpb25zPl0gPHNvdXJjZT4uLi4gPGRlc3RpbmF0aW9uPiIKIG1zZ3N0ciAiZ2l0IG12IFvQntCf0KbQmNCv4oCmXSDQntCR0JXQmtCi4oCmINCm0JXQmyIKIAotIzogYnVpbHRpbi9tdi5jOjgyCisjOiBidWlsdGluL212LmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGlyZWN0b3J5ICVzIGlzIGluIGluZGV4IGFuZCBubyBzdWJtb2R1bGU/IgogbXNnc3RyICLQlNC40YDQtdC60YLQvtGA0LjRj9GC0LAg4oCeJXPigJwg0LUg0LIg0LjQvdC00LXQutGB0LAsINC90L4g0L3QtSDQtSDQv9C+0LTQvNC+0LTRg9C7IgogCi0jOiBidWlsdGluL212LmM6ODQKKyM6IGJ1aWx0aW4vbXYuYzo4NQogbXNnaWQgIlBsZWFzZSBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgogbXNnc3RyICIiCiAi0JfQsCDQtNCwINC/0YDQvtC00YrQu9C20LjRgtC1LCDQuNC70Lgg0LLQutCw0YDQsNC50YLQtSDQv9GA0L7QvNC10L3QuNGC0LUg0L/QviDRhNCw0LnQu9CwIOKAni5naXRtb2R1bGVz4oCcINCyINC40L3QtNC10LrRgdCwLFxuIgogItC40LvQuCDQs9C4INGB0LrQsNGC0LDQudGC0LUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMDIKKyM6IGJ1aWx0aW4vbXYuYzoxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJS4qcyBpcyBpbiBpbmRleCIKIG1zZ3N0ciAi4oCeJS4qc+KAnCDQstC10YfQtSDQtSDQsiDQuNC90LTQtdC60YHQsCIKIAotIzogYnVpbHRpbi9tdi5jOjEyNAorIzogYnVpbHRpbi9tdi5jOjEyNQogbXNnaWQgImZvcmNlIG1vdmUvcmVuYW1lIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvQvdC+INC/0YDQtdC80LXRgdGC0LLQsNC90LUv0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1INC00L7RgNC4INGG0LXQu9GC0LAg0LTQsCDRgdGK0YnQtdGB0YLQstGD0LLQsCIKIAotIzogYnVpbHRpbi9tdi5jOjEyNgorIzogYnVpbHRpbi9tdi5jOjEyNwogbXNnaWQgInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIgogbXNnc3RyICLQv9GA0LXRgdC60LDRh9Cw0L3QtSDQvdCwINCz0YDQtdGI0LrQuNGC0LUg0L/RgNC4INC/0YDQtdC80LXRgdGC0LLQsNC90LUv0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1IgogCi0jOiBidWlsdGluL212LmM6MTY4CisjOiBidWlsdGluL212LmM6MTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uICclcycgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICLRhtC10LvRgtCwIOKAniVz4oCcINGB0YrRidC10YHRgtCy0YPQstCwINC4INC90LUg0LUg0LTQuNGA0LXQutGC0L7RgNC40Y8iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzkKKyM6IGJ1aWx0aW4vbXYuYzoxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICLQn9GA0L7QstC10YDQutCwINC90LAg0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC10YLQviDQvdCwINC+0LHQtdC60YIg0L7RgiDigJ4lc+KAnCDQvdCwIOKAniVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODMKKyM6IGJ1aWx0aW4vbXYuYzoxODQKIG1zZ2lkICJiYWQgc291cmNlIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQvtCx0LXQutGCIgogCi0jOiBidWlsdGluL212LmM6MTg2CisjOiBidWlsdGluL212LmM6MTg3CiBtc2dpZCAiY2FuIG5vdCBtb3ZlIGRpcmVjdG9yeSBpbnRvIGl0c2VsZiIKIG1zZ3N0ciAi0LTQuNGA0LXQutGC0L7RgNC40Y8g0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC10LzQtdGB0YLQuCDQsiDRgdC10LHQtSDRgdC4IgogCi0jOiBidWlsdGluL212LmM6MTg5CisjOiBidWlsdGluL212LmM6MTkwCiBtc2dpZCAiY2Fubm90IG1vdmUgZGlyZWN0b3J5IG92ZXIgZmlsZSIKIG1zZ3N0ciAi0LTQuNGA0LXQutGC0L7RgNC40Y8g0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC10LzQtdGB0YLQuCDQstGK0YDRhdGDINGE0LDQudC7IgogCi0jOiBidWlsdGluL212LmM6MTk4CisjOiBidWlsdGluL212LmM6MTk5CiBtc2dpZCAic291cmNlIGRpcmVjdG9yeSBpcyBlbXB0eSIKIG1zZ3N0ciAi0L/RitGA0LLQvtC90LDRh9Cw0LvQvdCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDQtSDQv9GA0LDQt9C90LAiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMjMKKyM6IGJ1aWx0aW4vbXYuYzoyMjQKIG1zZ2lkICJub3QgdW5kZXIgdmVyc2lvbiBjb250cm9sIgogbXNnc3RyICLQvdC1INC1INC/0L7QtCDQutC+0L3RgtGA0L7Qu9CwINC90LAgR2l0IgogCi0jOiBidWlsdGluL212LmM6MjI2CisjOiBidWlsdGluL212LmM6MjI3CiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICLRhtC10LvRgtCwINGB0YrRidC10YHRgtCy0YPQstCwIgogCi0jOiBidWlsdGluL212LmM6MjM0CisjOiBidWlsdGluL212LmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgItC/0YDQtdC30LDQv9C40YHQstCw0L3QtSDQvdCwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL212LmM6MjM3CisjOiBidWlsdGluL212LmM6MjM4CiBtc2dpZCAiQ2Fubm90IG92ZXJ3cml0ZSIKIG1zZ3N0ciAi0J/RgNC10LfQsNC/0LjRgdCy0LDQvdC10YLQviDQtSDQvdC10LLRitC30LzQvtC20L3QviIKIAotIzogYnVpbHRpbi9tdi5jOjI0MAorIzogYnVpbHRpbi9tdi5jOjI0MQogbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKIG1zZ3N0ciAi0LzQvdC+0LbQtdGB0YLQstC+INC40LfRgtC+0YfQvdC40YbQuCDQt9CwINC10LTQvdCwINGG0LXQuyIKIAotIzogYnVpbHRpbi9tdi5jOjI0MgorIzogYnVpbHRpbi9tdi5jOjI0MwogbXNnaWQgImRlc3RpbmF0aW9uIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi0YbQtdC70LXQstCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDQvdC1INGB0YrRidC10YHRgtCy0YPQstCwIgogCi0jOiBidWlsdGluL212LmM6MjQ5CisjOiBidWlsdGluL212LmM6MjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCBzb3VyY2U9JXMsIGRlc3RpbmF0aW9uPSVzIgogbXNnc3RyICIlcywg0L7QsdC10LrRgjog4oCeJXPigJwsINGG0LXQuzog4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNzAKKyM6IGJ1aWx0aW4vbXYuYzoyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKIG1zZ3N0ciAi0J/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1INC90LAg4oCeJXPigJwg0L3QsCDigJ4lc+KAnFxuIgogCi0jOiBidWlsdGluL212LmM6Mjc2IGJ1aWx0aW4vcmVtb3RlLmM6NzE3IGJ1aWx0aW4vcmVwYWNrLmM6NTExCisjOiBidWlsdGluL212LmM6Mjc3IGJ1aWx0aW4vcmVtb3RlLmM6NzE2IGJ1aWx0aW4vcmVwYWNrLmM6NTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0L/RgNC10LjQvNC10L3Rg9Cy0LDQvdC1INC90LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozNTUKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDMKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBb0J7Qn9Cm0JjQr+KApl0g0J/QntCU0JDQktCQ0J3QleKApiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjM1NgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwNAogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLWFsbCIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFvQntCf0KbQmNCv4oCmXSAtLWFsbCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjM1NworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwNQogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLXN0ZGluIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgW9Ce0J/QptCY0K/igKZdIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTMKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjIKIG1zZ2lkICJwcmludCBvbmx5IG5hbWVzIChubyBTSEEtMSkiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDRgdCw0LzQviDQvdCwINC40LzQtdC90LDRgtCwICjQsdC10Lcg0YHRg9C80LjRgtC1INC/0L4gU0hBMSkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTQKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjMKIG1zZ2lkICJvbmx5IHVzZSB0YWdzIHRvIG5hbWUgdGhlIGNvbW1pdHMiCiBtc2dzdHIgItC40LfQv9C+0LvQt9Cy0LDQvdC1INGB0LDQvNC+INC90LAg0LXRgtC40LrQtdGC0LjRgtC1INC30LAg0LjQvNC10L3Rg9Cy0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxNgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2NQogbXNnaWQgIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICLQuNC30L/QvtC70LfQstCw0L3QtSDRgdCw0LzQviDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUg0L3QsNC/0LDRgdCy0LDRidC4INC90LAg0KjQkNCR0JvQntCd0LAiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjcKIG1zZ2lkICJpZ25vcmUgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0LDQvdC1INC90LAg0YPQutCw0LfQsNGC0LXQu9C40YLQtSDQvdCw0L/QsNGB0LLQsNGJ0Lgg0L3QsCDQqNCQ0JHQm9Ce0J3QsCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQyMAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2OQogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgIiIKICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQstGB0LjRh9C60Lgg0L/QvtC00LDQstCw0L3QuNGPLCDQutC+0LjRgtC+INC80L7Qs9Cw0YIg0LTQsCDQsdGK0LTQsNGCINC00L7RgdGC0LjQs9C90LDRgtC4INC+0YIg0LLRgdC40YfQutC4ICIKICLRg9C60LDQt9Cw0YLQtdC70LgiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjEKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzAKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgItGH0LXRgtC10L3QtSDQvtGCINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LLRhdC+0LQiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjIKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzEKIG1zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyAoZGVmYXVsdCkiCiBtc2dzdHIgItC00LAg0YHQtSDQuNC30LLQtdC20LTQsNGCINC4INC90LXQtNC10YTQuNC90LjRgNCw0L3QuNGC0LUg0LjQvNC10L3QsCAo0YHRgtCw0L3QtNCw0YDRgtC90LAg0YHRgtC+0LnQvdC+0YHRgiDQvdCwINC+0L/RhtC40Y/RgtCwKSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQyOAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ3NwogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW4gdGhlIGlucHV0IChpbnRlcm5hbCB1c2UpIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNC40YLQtSDQvdCwINC+0LHQtdC60YLQuC3QtdGC0LjQutC10YLQuCAo0LfQsCDQstGK0YLRgNC10YjQvdC4INC90YPQttC00LgpIgogCkBAIC0xNDAzMCwxNCArMTY4NDksMTQgQEAKIG1zZ2lkICJ0aGUgbm90ZSBjb250ZW50cyBoYXZlIGJlZW4gbGVmdCBpbiAlcyIKIG1zZ3N0ciAi0YHRitC00YrRgNC20LDQvdC40LXRgtC+INC90LAg0LHQtdC70LXQttC60LDRgtCwINC1INCy0YrQsiDRhNCw0LnQu9CwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjQyIGJ1aWx0aW4vdGFnLmM6NTEzCisjOiBidWlsdGluL25vdGVzLmM6MjQyIGJ1aWx0aW4vdGFnLmM6NTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIG9yIHJlYWQgJyVzJyIKIG1zZ3N0ciAi0YTQsNC50LvRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LLQvtGA0LXQvSDQuNC70Lgg0L/RgNC+0YfQtdGC0LXQvSIKIAogIzogYnVpbHRpbi9ub3Rlcy5jOjI2MyBidWlsdGluL25vdGVzLmM6MzEzIGJ1aWx0aW4vbm90ZXMuYzozMTUKLSM6IGJ1aWx0aW4vbm90ZXMuYzozODMgYnVpbHRpbi9ub3Rlcy5jOjQzOCBidWlsdGluL25vdGVzLmM6NTI0Ci0jOiBidWlsdGluL25vdGVzLmM6NTI5IGJ1aWx0aW4vbm90ZXMuYzo2MDcgYnVpbHRpbi9ub3Rlcy5jOjY2OQorIzogYnVpbHRpbi9ub3Rlcy5jOjM4MyBidWlsdGluL25vdGVzLmM6NDM4IGJ1aWx0aW4vbm90ZXMuYzo1MjYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzEgYnVpbHRpbi9ub3Rlcy5jOjYxMCBidWlsdGluL25vdGVzLmM6NjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LrRgNC40LUg0LrRitC8INC60LDQutCy0L4g0YHQvtGH0Lgg4oCeJXPigJwuIgpAQCAtMTQwNzMsMzggKzE2ODkyLDM4IEBACiAi0L3Rj9C80LAg0LTQsCDRgdC1INC40LfQstGK0YDRiNC4IOKAniVz4oCcINCy0YrRgNGF0YMg0LHQtdC70LXQttC60LjRgtC1INCyIOKAniVz4oCcLCDQt9Cw0YnQvtGC0L4g0YHQsCDQuNC30LLRitC9IOKAnnJlZnMvIgogIm5vdGVzL+KAnC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNzYgYnVpbHRpbi9ub3Rlcy5jOjQzMSBidWlsdGluL25vdGVzLmM6NTA3Ci0jOiBidWlsdGluL25vdGVzLmM6NTE5IGJ1aWx0aW4vbm90ZXMuYzo1OTUgYnVpbHRpbi9ub3Rlcy5jOjY2MgotIzogYnVpbHRpbi9ub3Rlcy5jOjgxMiBidWlsdGluL25vdGVzLmM6OTU5IGJ1aWx0aW4vbm90ZXMuYzo5ODAKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzYgYnVpbHRpbi9ub3Rlcy5jOjQzMSBidWlsdGluL25vdGVzLmM6NTA5CisjOiBidWlsdGluL25vdGVzLmM6NTIxIGJ1aWx0aW4vbm90ZXMuYzo1OTggYnVpbHRpbi9ub3Rlcy5jOjY2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjgxNSBidWlsdGluL25vdGVzLmM6OTYzIGJ1aWx0aW4vbm90ZXMuYzo5ODUKIG1zZ2lkICJ0b28gbWFueSBwYXJhbWV0ZXJzIgogbXNnc3RyICLQv9GA0LXQutCw0LvQtdC90L4g0LzQvdC+0LPQviDQv9Cw0YDQsNC80LXRgtGA0LgiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozODkgYnVpbHRpbi9ub3Rlcy5jOjY3NQorIzogYnVpbHRpbi9ub3Rlcy5jOjM4OSBidWlsdGluL25vdGVzLmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCiBtc2dzdHIgItC90Y/QvNCwINCx0LXQu9C10LbQutC4INC30LAg0L7QsdC10LrRgtCwIOKAniVz4oCcLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxMCBidWlsdGluL25vdGVzLmM6NTczCisjOiBidWlsdGluL25vdGVzLmM6NDEwIGJ1aWx0aW4vbm90ZXMuYzo1NzYKIG1zZ2lkICJub3RlIGNvbnRlbnRzIGFzIGEgc3RyaW5nIgogbXNnc3RyICLQvdC40LcsINC60L7QudGC0L4g0LUg0YHRitC00YrRgNC20LDQvdC40LXRgtC+INC90LAg0LHQtdC70LXQttC60LDRgtCwIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDEzIGJ1aWx0aW4vbm90ZXMuYzo1NzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTMgYnVpbHRpbi9ub3Rlcy5jOjU3OQogbXNnaWQgIm5vdGUgY29udGVudHMgaW4gYSBmaWxlIgogbXNnc3RyICLQpNCQ0JnQmyDRgdGK0YEg0YHRitC00YrRgNC20LDQvdC40LXRgtC+INC90LAg0LHQtdC70LXQttC60LDRgtCwIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDE2IGJ1aWx0aW4vbm90ZXMuYzo1NzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTYgYnVpbHRpbi9ub3Rlcy5jOjU4MgogbXNnaWQgInJldXNlIGFuZCBlZGl0IHNwZWNpZmllZCBub3RlIG9iamVjdCIKIG1zZ3N0ciAi0L/RgNC10LjQt9C/0L7Qu9C30LLQsNC90LUg0Lgg0YDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINGD0LrQsNC30LDQvdC40Y8g0J7QkdCV0JrQoi3QsdC10LvQtdC20LrQsCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxOSBidWlsdGluL25vdGVzLmM6NTgyCisjOiBidWlsdGluL25vdGVzLmM6NDE5IGJ1aWx0aW4vbm90ZXMuYzo1ODUKIG1zZ2lkICJyZXVzZSBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgItC/0YDQtdC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0YPQutCw0LfQsNC90LjRjyDQntCR0JXQmtCiLdCx0LXQu9C10LbQutCwIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDIyIGJ1aWx0aW4vbm90ZXMuYzo1ODUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MjIgYnVpbHRpbi9ub3Rlcy5jOjU4OAogbXNnaWQgImFsbG93IHN0b3JpbmcgZW1wdHkgbm90ZSIKIG1zZ3N0ciAi0L/RgNC40LXQvNCw0L3QtSDQuCDQvdCwINC/0YDQsNC30L3QuCDQsdC10LvQtdC20LrQuCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQyMyBidWlsdGluL25vdGVzLmM6NDk0CisjOiBidWlsdGluL25vdGVzLmM6NDIzIGJ1aWx0aW4vbm90ZXMuYzo0OTYKIG1zZ2lkICJyZXBsYWNlIGV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICLQt9Cw0LzRj9C90LAg0L3QsCDRgdGK0YnQtdGB0YLQstGD0LLQsNGJ0LjRgtC1INCx0LXQu9C10LbQutC4IgogCkBAIC0xNDExNywzMSArMTY5MzYsMzEgQEAKICLQndC1INC80L7QttC1INC00LAg0YHQtSDQtNC+0LHQsNCy0Lgg0LHQtdC70LXQttC60LAsINC30LDRidC+0YLQviDRgtCw0LrQsNCy0LAg0LLQtdGH0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAg0LfQsCDQvtCx0LXQutGC0LAg4oCeJXPigJwuICAiCiAi0JjQt9C/0L7Qu9C30LLQsNC50YLQtSDQvtC/0YbQuNGP0YLQsCDigJ4tZuKAnCwg0LfQsCDQtNCwINC/0YDQtdC30LDQv9C40YjQtdGC0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LDRidC4INCx0LXQu9C10LbQutC4LiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ2MyBidWlsdGluL25vdGVzLmM6NTQyCisjOiBidWlsdGluL25vdGVzLmM6NDYzIGJ1aWx0aW4vbm90ZXMuYzo1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICLQn9GA0LXQt9Cw0L/QuNGB0LLQsNC90LUg0L3QsCDRgdGK0YnQtdGB0YLQstGD0LLQsNGJ0LjRgtC1INCx0LXQu9C10LbQutC4INC30LAg0L7QsdC10LrRgtCwIOKAniVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NzQgYnVpbHRpbi9ub3Rlcy5jOjYzNCBidWlsdGluL25vdGVzLmM6ODk5CisjOiBidWlsdGluL25vdGVzLmM6NDc1IGJ1aWx0aW4vbm90ZXMuYzo2MzcgYnVpbHRpbi9ub3Rlcy5jOjkwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyBub3RlIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAi0JjQt9GC0YDQuNCy0LDQvdC1INC90LAg0LHQtdC70LXQttC60LDRgtCwINC30LAg0L7QsdC10LrRgtCwIOKAniVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0OTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0OTcKIG1zZ2lkICJyZWFkIG9iamVjdHMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAi0LjQt9GH0LjRgtCw0L3QtSDQvdCwINC+0LHQtdC60YLQuNGC0LUg0L7RgiDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINCy0YXQvtC0IgogCi0jOiBidWlsdGluL25vdGVzLmM6NDk3CisjOiBidWlsdGluL25vdGVzLmM6NDk5CiBtc2dpZCAibG9hZCByZXdyaXRpbmcgY29uZmlnIGZvciA8Y29tbWFuZD4gKGltcGxpZXMgLS1zdGRpbikiCiBtc2dzdHIgIiIKICLQt9Cw0YDQtdC20LTQsNC90LUg0L3QsCDQvdCw0YHRgtGA0L7QudC60LjRgtC1INC30LAg0JrQntCc0JDQndCU0JDRgtCwLCDQutC+0Y/RgtC+INC/0YDQtdC30LDQv9C40YHQstCwINC/0L7QtNCw0LLQsNC90LjRjyAo0LLQutC70Y7Rh9Cy0LAgIgogItC+0L/RhtC40Y/RgtCwIOKAni0tc3RkaW7igJwpIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTE1CisjOiBidWlsdGluL25vdGVzLmM6NTE3CiBtc2dpZCAidG9vIGZldyBwYXJhbWV0ZXJzIgogbXNnc3RyICLQv9GA0LXQutCw0LvQtdC90L4g0LzQsNC70LrQviDQv9Cw0YDQsNC80LXRgtGA0LgiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgpAQCAtMTQxNTAsMTIgKzE2OTY5LDEyIEBACiAi0J3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LrQvtC/0LjRgNCwINCx0LXQu9C10LbQutCwLCDQt9Cw0YnQvtGC0L4g0YLQsNC60LDQstCwINCy0LXRh9C1INGB0YrRidC10YHRgtCy0YPQstCwINC30LAg0L7QsdC10LrRgtCwIOKAniVz4oCcLiAgIgogItCY0LfQv9C+0LvQt9Cy0LDQudGC0LUg0L7Qv9GG0LjRj9GC0LAg4oCeLWbigJwsINC30LAg0LTQsCDQv9GA0LXQt9Cw0L/QuNGI0LXRgtC1INGB0YrRidC10YHRgtCy0YPQstCw0YnQuCDQsdC10LvQtdC20LrQuC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NDgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBub3RlcyBvbiBzb3VyY2Ugb2JqZWN0ICVzLiBDYW5ub3QgY29weS4iCiBtc2dzdHIgItC90Y/QvNCwINCx0LXQu9C10LbQutC4INC30LAg0L7QsdC10LrRgtCwLdC40LfRgtC+0YfQvdC40Log4oCeJXPigJwuICDQndC1INC80L7QttC1INC00LAg0YHQtSDQutC+0L/QuNGA0LAuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NjAwCisjOiBidWlsdGluL25vdGVzLmM6NjAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgLW0vLUYvLWMvLUMgb3B0aW9ucyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlICdlZGl0JyBzdWJjb21tYW5kLlxuIgpAQCAtMTQxNjYsNTIgKzE2OTg1LDUyIEBACiAi0JLQvNC10YHRgtC+INGC0L7QstCwINCz0Lgg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDRgSDQv9C+0LTQutC+0LzQsNC90LTQsNGC0LAg4oCeYWRk4oCcOiDigJ5naXQgbm90ZXMgYWRkIC1mIC1tLy1GLy1jLy0iCiAiQ+KAnC5cbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY5NQorIzogYnVpbHRpbi9ub3Rlcy5jOjY5OAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCiBtc2dzdHIgItGD0LrQsNC30LDRgtC10LvRj9GCIOKAnk5PVEVTX01FUkdFX1BBUlRJQUzigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfRgtGA0LjRgiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY5NworIzogYnVpbHRpbi9ub3Rlcy5jOjcwMAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1JFRiIKIG1zZ3N0ciAi0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeTk9URVNfTUVSR0VfUkVG4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MDIKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICdnaXQgbm90ZXMgbWVyZ2UnIHdvcmt0cmVlIgogbXNnc3RyICLRgNCw0LHQvtGC0L3QsNGC0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0L3QsCDigJ5naXQgbm90ZXMgbWVyZ2XigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfRgtGA0LjRgtCwIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzE5CisjOiBidWlsdGluL25vdGVzLmM6NzIyCiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCiBtc2dzdHIgItGD0LrQsNC30LDRgtC10LvRj9GCIOKAnk5PVEVTX01FUkdFX1BBUlRJQUzigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0YDQvtGH0LXRgtC10L0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjQKIG1zZ2lkICJjb3VsZCBub3QgZmluZCBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAi0L/QvtC00LDQstCw0L3QtdGC0L4g0L7RgiDigJ5OT1RFU19NRVJHRV9QQVJUSUFM4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQutGA0LjQtS4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjYKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCiBtc2dzdHIgItC/0L7QtNCw0LLQsNC90LXRgtC+INC+0YIg4oCeTk9URVNfTUVSR0VfUEFSVElBTOKAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQsNC90LDQu9C40LfQuNGA0LAuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzM2CisjOiBidWlsdGluL25vdGVzLmM6NzM5CiBtc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgTk9URVNfTUVSR0VfUkVGIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LrRgNC40LUg0LrRitC8INC60LDQutCy0L4g0YHQvtGH0Lgg4oCeTk9URVNfTUVSR0VfUkVG4oCcIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzM5CisjOiBidWlsdGluL25vdGVzLmM6NzQyCiBtc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplIG5vdGVzIG1lcmdlIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0YHQu9C40LLQsNC90LUg0L3QsCDQsdC10LvQtdC20LrQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBub3RlcyBtZXJnZSBzdHJhdGVneSAlcyIKIG1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgtCwINGB0YLRgNCw0YLQtdCz0LjRjyDQt9CwINGB0LvQuNCy0LDQvdC1INC90LAg0LHQtdC70LXQttC60Lgg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODQKIG1zZ2lkICJHZW5lcmFsIG9wdGlvbnMiCiBtc2dzdHIgItCe0LHRidC4INC+0L/RhtC40LgiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODYKIG1zZ2lkICJNZXJnZSBvcHRpb25zIgogbXNnc3RyICLQntC/0YbQuNC4INC/0YDQuCDRgdC70LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4NQorIzogYnVpbHRpbi9ub3Rlcy5jOjc4OAogbXNnaWQgIiIKICJyZXNvbHZlIG5vdGVzIGNvbmZsaWN0cyB1c2luZyB0aGUgZ2l2ZW4gc3RyYXRlZ3kgKG1hbnVhbC9vdXJzL3RoZWlycy91bmlvbi8iCiAiY2F0X3NvcnRfdW5pcSkiCkBAIC0xNDIyMSw0NiArMTcwNDAsNDYgQEAKICLigJ51bmlvbuKAnCAo0L7QsdC10LTQuNC90Y/QstCw0L3QtSksIOKAnmNhdF9zb3J0X3VuaXHigJwgKNC+0LHQtdC00LjQvdGP0LLQsNC90LUsINC/0L7QtNGA0LXQttC00LDQvdC1LCDRg9C90LjQutCw0LvQvdC4ICIKICLRgNC10LfRg9C70YLQsNGC0LgpIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzg3CisjOiBidWlsdGluL25vdGVzLmM6NzkwCiBtc2dpZCAiQ29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAi0J/QvtC00LDQstCw0L3QtSDQvdCwINC90LXRgdC70LXRgtC4INCx0LXQu9C10LbQutC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzg5CisjOiBidWlsdGluL25vdGVzLmM6NzkyCiBtc2dpZCAiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAi0LfQsNCy0YrRgNGI0LLQsNC90LUg0L3QsCDRgdC70LjQstCw0L3QtdGC0L4g0YfRgNC10Lcg0L/QvtC00LDQstCw0L3QtSDQvdCwINC90LXRgdC70LXRgtC4INCx0LXQu9C10LbQutC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6NzkxCisjOiBidWlsdGluL25vdGVzLmM6Nzk0CiBtc2dpZCAiQWJvcnRpbmcgbm90ZXMgbWVyZ2UgcmVzb2x1dGlvbiIKIG1zZ3N0ciAi0J/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1INC90LAg0LrQvtGA0LXQutGG0LjRj9GC0LAg0L/RgNC4INGB0LvQuNCy0LDQvdC10YLQviDQvdCwINCx0LXQu9C10LbQutC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6NzkzCisjOiBidWlsdGluL25vdGVzLmM6Nzk2CiBtc2dpZCAiYWJvcnQgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgItC/0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCw0L3QtSDQvdCwINGB0LvQuNCy0LDQvdC10YLQviDQvdCwINCx0LXQu9C10LbQutC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6ODA0CisjOiBidWlsdGluL25vdGVzLmM6ODA3CiBtc2dpZCAiY2Fubm90IG1peCAtLWNvbW1pdCwgLS1hYm9ydCBvciAtcy8tLXN0cmF0ZWd5IgogbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLWNvbW1pdOKAnCwg4oCeLS1hYm9ydOKAnCDQuCDigJ4tc+KAnC/igJ4tLXN0cmF0ZWd54oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6ODA5CisjOiBidWlsdGluL25vdGVzLmM6ODEyCiBtc2dpZCAibXVzdCBzcGVjaWZ5IGEgbm90ZXMgcmVmIHRvIG1lcmdlIgogbXNnc3RyICLRgtGA0Y/QsdCy0LAg0LTQsCDRg9C60LDQttC10YLQtSDRg9C60LDQt9Cw0YLQtdC7INC60YrQvCDQsdC10LvQtdC20LrQsCDQt9CwINGB0LvQuNCy0LDQvdC1LiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjgzMworIzogYnVpbHRpbi9ub3Rlcy5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIC1zLy0tc3RyYXRlZ3k6ICVzIgogbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3QsCDRgdGC0YDQsNGC0LXQs9C40Y8g0LrRitC8INC+0L/RhtC40Y/RgtCwIOKAni1z4oCcL+KAni0tc3RyYXRlZ3nigJw6IOKAniVz4oCcIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODcwCisjOiBidWlsdGluL25vdGVzLmM6ODczCiAjLCBjLWZvcm1hdAogbXNnaWQgImEgbm90ZXMgbWVyZ2UgaW50byAlcyBpcyBhbHJlYWR5IGluLXByb2dyZXNzIGF0ICVzIgogbXNnc3RyICLQsiDQvNC+0LzQtdC90YLQsCDRgdC1INC40LfQstGK0YDRiNCy0LAg0YHQu9C40LLQsNC90LUg0L3QsCDQsdC10LvQtdC20LrQuNGC0LUg0LIg4oCeJXPigJwg0L/RgNC4IOKAniVz4oCcIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODczCisjOiBidWlsdGluL25vdGVzLmM6ODc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdG9yZSBsaW5rIHRvIGN1cnJlbnQgbm90ZXMgcmVmICglcykiCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQv9Cw0LfQuCDQstGA0YrQt9C60LAg0LrRitC8INGD0LrQsNC30LDRgtC10LvRjyDQvdCwINGC0LXQutGD0YnQsNGC0LAg0LHQtdC70LXQttC60LAgKOKAniVz4oCcKS4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NzUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkF1dG9tYXRpYyBub3RlcyBtZXJnZSBmYWlsZWQuIEZpeCBjb25mbGljdHMgaW4gJXMgYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggIgpAQCAtMTQyNzEsMTc3ICsxNzA5MCwxODIgQEAKICLRgNC10LfRg9C70YLQsNGC0LAg0YEg4oCeZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl04oCcINC40LvQuCDQv9GA0LXRg9GB0YLQsNC90L7QstC10YLQtSDRgdC70LjQstCw0L3QtdGC0L4g0YEgIgogItC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgbm90ZXMgbWVyZ2UgLS1hYm9ydOKAnC5cbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5NworIzogYnVpbHRpbi9ub3Rlcy5jOjg5NyBidWlsdGluL3RhZy5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKK21zZ3N0ciAi0J3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7RgtC60YDQuNC1INC60YrQvCDQutCw0LrQstC+INGB0L7Rh9C4IOKAniVz4oCcLiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjkwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJPYmplY3QgJXMgaGFzIG5vIG5vdGVcbiIKIG1zZ3N0ciAi0J3Rj9C80LAg0LHQtdC70LXQttC60Lgg0LfQsCDQvtCx0LXQutGC0LAg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjkwOQorIzogYnVpbHRpbi9ub3Rlcy5jOjkxMgogbXNnaWQgImF0dGVtcHQgdG8gcmVtb3ZlIG5vbi1leGlzdGVudCBub3RlIGlzIG5vdCBhbiBlcnJvciIKIG1zZ3N0ciAi0L7Qv9C40YLRitGCINC30LAg0LjQt9GC0YDQuNCy0LDQvdC10YLQviDQvdCwINC90LXRgdGK0YnQtdGB0YLQstGD0LLQsNGJ0LAg0LHQtdC70LXQttC60LAg0L3QtSDRgdC1INGB0YfQuNGC0LAg0LfQsCDQs9GA0LXRiNC60LAiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5MTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MTUKIG1zZ2lkICJyZWFkIG9iamVjdCBuYW1lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi0LjQt9GH0LjRgtCw0L3QtSDQvdCwINC40LzQtdC90LDRgtCwINC90LAg0L7QsdC10LrRgtC40YLQtSDQvtGCINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LLRhdC+0LQiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NTAgYnVpbHRpbi9wcnVuZS5jOjEwOCBidWlsdGluL3dvcmt0cmVlLmM6MTY0CisjOiBidWlsdGluL25vdGVzLmM6OTU0IGJ1aWx0aW4vcHJ1bmUuYzoxMzAgYnVpbHRpbi93b3JrdHJlZS5jOjE2NAogbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKIG1zZ3N0ciAi0YHQsNC80L4g0LjQt9Cy0LXQttC00LDQvdC1INCx0LXQtyDQtNC10LnRgdGC0LLQuNGC0LXQu9C90L4g0L7QutCw0YHRgtGA0Y/QvdC1IgogCi0jOiBidWlsdGluL25vdGVzLmM6OTUxCisjOiBidWlsdGluL25vdGVzLmM6OTU1CiBtc2dpZCAicmVwb3J0IHBydW5lZCBub3RlcyIKIG1zZ3N0ciAi0LTQvtC60LvQsNC00LLQsNC90LUg0L3QsCDQvtC60LDRgdGC0YDQtdC90LjRgtC1INC+0LHQtdC60YLQuCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk5MworIzogYnVpbHRpbi9ub3Rlcy5jOjk5OAogbXNnaWQgIm5vdGVzLXJlZiIKIG1zZ3N0ciAi0KPQmtCQ0JfQkNCi0JXQm1/Ql9CQX9CR0JXQm9CV0JbQmtCQIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTk0CisjOiBidWlsdGluL25vdGVzLmM6OTk5CiBtc2dpZCAidXNlIG5vdGVzIGZyb20gPG5vdGVzLXJlZj4iCiBtc2dzdHIgItC00LAg0YHQtSDQuNC30L/QvtC70LfQstCwINCx0LXQu9C10LbQutCw0YLQsCDRgdC+0YfQtdC90LAg0L7RgiDRgtC+0LfQuCDQo9Ca0JDQl9CQ0KLQldCbX9CX0JBf0JHQldCb0JXQltCa0JAiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxMDI5CisjOiBidWlsdGluL25vdGVzLmM6MTAzNCBidWlsdGluL3N0YXNoLmM6MTYwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHN1YmNvbW1hbmQ6ICVzIgogbXNnc3RyICLQvdC10L/QvtC30L3QsNGC0LAg0L/QvtC00LrQvtC80LDQvdC00LA6ICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjUxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjUyCiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgWzxvcHRpb25zPi4uLl0gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFvQntCf0KbQmNCv4oCmXSBbPCDQodCf0JjQodCq0Jpf0KFf0KPQmtCQ0JfQkNCi0JXQm9CYIHwgPCDQodCf0JjQodCq0Jpf0KFf0J7QkdCV0JrQotCYXSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1MwogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIFs8b3B0aW9ucz4uLi5dIDxiYXNlLW5hbWU+IFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBb0J7Qn9Cm0JjQr+KApl0g0J/QoNCV0KTQmNCa0KFf0J3QkF/QmNCc0JXQotCeIFs8INCh0J/QmNCh0KrQml/QoV/Qo9Ca0JDQl9CQ0KLQldCb0JggfCA8ICIKICLQodCf0JjQodCq0Jpf0KFf0J7QkdCV0JrQotCYXSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0MjIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrZWQgb2JqZWN0IENSQyBmb3IgJXMiCiBtc2dzdHIgItC70L7RiNCwINC60L7QvdGC0YDQvtC70L3QsCDRgdGD0LzQsCDQt9CwINC/0LDQutC10YLQuNGA0LDQvdC40Y8g0L7QsdC10LrRgiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0MzMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGFja2VkIG9iamVjdCBmb3IgJXMiCiBtc2dzdHIgItC/0LDQutC10YLQuNGA0LDQvSDQvtCx0LXQutGCINGBINCz0YDQtdGI0LrQuCDQt9CwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjU2NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVjdXJzaXZlIGRlbHRhIGRldGVjdGVkIGZvciBvYmplY3QgJXMiCiBtc2dzdHIgItGA0LXQutGD0YDRgdC40LLQvdCwINGA0LDQt9C70LjQutCwINC30LAg0L7QsdC10LrRgiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NzUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9yZGVyZWQgJXUgb2JqZWN0cywgZXhwZWN0ZWQgJTxQUkl1MzI+IgogbXNnc3RyICLQv9C+0LTRgNC10LTQtdC90Lgg0LHRj9GF0LAgJXUg0L7QsdC10LrRgtCwLCDQsCDRgdC1INC+0YfQsNC60LLQsNGF0LAgJTxQUkl1MzI+IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc4OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFja2ZpbGUgaXMgaW52YWxpZDogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INC/0LDQutC10YLQtdC9INGE0LDQudC7OiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIHBhY2tmaWxlIGZvciByZXVzZTogJXMiCiBtc2dzdHIgItC/0LDQutC10YLQvdC40Y/RgiDRhNCw0LnQuyDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/QvtCy0YLQvtGA0L3QviDQvtGC0LLQvtGA0LXQvSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODAyCiBtc2dpZCAidW5hYmxlIHRvIHNlZWsgaW4gcmV1c2VkIHBhY2tmaWxlIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0YLRitGA0YHQtdC90LUg0LIg0L/RgNC10LjQt9C/0L7Qu9C30LLQsNC9INC/0LDQutC10YLQtdC9INGE0LDQudC7IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgwNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4MTMKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBmcm9tIHJldXNlZCBwYWNrZmlsZSIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INGH0LXRgtC10L3QtSDQvtGCINC/0YDQtdC40LfQv9C+0LvQt9Cy0LDQvSDQv9Cw0LrQtdGC0LXQvSDRhNCw0LnQuyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4MzUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODQxCiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBwYWNrcyBhcmUgc3BsaXQgZHVlIHRvIHBhY2sucGFja1NpemVMaW1pdCIKIG1zZ3N0ciAiIgogItC40LfQutC70Y7Rh9Cy0LDQvdC1INC90LAg0LfQsNC/0LjRgdCy0LDQvdC10YLQviDQvdCwINCx0LjRgtC+0LLQsNGC0LAg0LzQsNGB0LrQsCwg0L/QsNC60LXRgtC40YLQtSDRgdCwINGA0LDQt9C00LXQu9C10L3QuCDQv9C+0YDQsNC00LggIgogItGB0YLQvtC50L3QvtGB0YLRgtCwINC90LAg4oCecGFjay5wYWNrU2l6ZUxpbWl04oCcIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjg0OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4NTQKIG1zZ2lkICJXcml0aW5nIG9iamVjdHMiCiBtc2dzdHIgItCX0LDQv9C40YHQstCw0L3QtSDQvdCwINC+0LHQtdC60YLQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTEwIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTE3IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXMiCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LvRg9GH0LXQvdCwINC40L3RhNC+0YDQvNCw0YbQuNGPINGH0YDQtdC3IOKAnnN0YXTigJwg0LfQsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIndyb3RlICU8UFJJdTMyPiBvYmplY3RzIHdoaWxlIGV4cGVjdGluZyAlPFBSSXUzMj4iCiBtc2dzdHIgItCx0Y/RhdCwINC30LDQv9C40YHQsNC90LggJTxQUkl1MzI+INC+0LHQtdC60YLQuCwg0LAg0YHQtSDQvtGH0LDQutCy0LDRhdCwICU8UFJJdTMyPiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMTU3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjExNjQKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIGFzIHNvbWUgb2JqZWN0cyBhcmUgbm90IGJlaW5nIHBhY2tlZCIKIG1zZ3N0ciAiIgogItC40LfQutC70Y7Rh9Cy0LDQvdC1INC90LAg0LfQsNC/0LjRgdCy0LDQvdC10YLQviDQvdCwINCx0LjRgtC+0LLQsNGC0LAg0LzQsNGB0LrQsCwg0LfQsNGJ0L7RgtC+INC90Y/QutC+0Lgg0L7QsdC10LrRgtC4INC90Y/QvNCwINC00LAg0YHQtSAiCiAi0L/QsNC60LXRgtC40YDQsNGCIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE1ODUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBvdmVyZmxvdyBpbiBwYWNrIGZvciAlcyIKIG1zZ3N0ciAi0L/RgNC10LrQsNC70LXQvdC+INC00LDQu9C10YfQvdC+INC90LDRh9Cw0LvQviDQvdCwINC+0YLQvNC10YHRgtCy0LDQvdC10YLQviDQt9CwINC+0LHQtdC60YLQuNGC0LUt0YDQsNC30LvQuNC60LAg0LfQsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTk0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE2MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgb3V0IG9mIGJvdW5kIGZvciAlcyIKIG1zZ3N0ciAi0L3QtdC00L7RgdGC0LjQttC40LzQviDQvdCw0YfQsNC70L4g0L3QsCDQvtGC0LzQtdGB0YLQstCw0L3QtdGC0L4g0LfQsCDQvtCx0LXQutGC0LjRgtC1LdGA0LDQt9C70LjQutCwINC30LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODcwCiBtc2dpZCAiQ291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi0J/RgNC10LHRgNC+0Y/QstCw0L3QtSDQvdCwINC+0LHQtdC60YLQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTk5OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBnZXQgc2l6ZSBvZiAlcyIKIG1zZ3N0ciAi0YDQsNC30LzQtdGA0YrRgiDQvdCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LvRg9GH0LXQvSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIG9iamVjdCBoZWFkZXIgb2YgJXMiCiBtc2dzdHIgItC30LDQs9C70LDQstC90LDRgtCwINGH0LDRgdGCINC90LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INCw0L3QsNC70LjQt9C40YDQsNC90LAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA4MyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwOTkKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjEwOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDg1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjEwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBjYW5ub3QgYmUgcmVhZCIKIG1zZ3N0ciAi0L7QsdC10LrRgtGK0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC+0YfQtdGC0LUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA4NiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA4OCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIGluY29uc2lzdGVudCBvYmplY3QgbGVuZ3RoICglPFBSSXVNQVg+IHZzICU8UFJJdU1BWD4pIgogbXNnc3RyICLQvtCx0LXQutGC0YrRgiDigJ4lc+KAnCDQtSDRgSDQvdC10L/RgNCw0LLQuNC70L3QsCDQtNGK0LvQttC40L3QsCAoJTxQUkl1TUFYPiwg0LAg0L3QtSAlPFBSSXVNQVg+KSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTIzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMjUKIG1zZ2lkICJzdWJvcHRpbWFsIHBhY2sgLSBvdXQgb2YgbWVtb3J5IgogbXNnc3RyICLQvdC10L7Qv9GC0LjQvNC40LfQuNGA0LDQvSDQv9Cw0LrQtdGCIOKAlCDQv9Cw0LzQtdGC0YLQsCDRgdCy0YrRgNGI0LgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbHRhIGNvbXByZXNzaW9uIHVzaW5nIHVwIHRvICVkIHRocmVhZHMiCiBtc2dzdHIgItCU0LXQu9GC0LAg0LrQvtC80L/RgNC10YHQuNGP0YLQsCDRidC1INC40LfQv9C+0LvQt9Cy0LAg0LTQviAlZCDQvdC40YjQutC4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1ODMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFjayBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIHRhZyAlcyIKIG1zZ3N0ciAiIgogItC+0LHQtdC60YLQuNGC0LUsINC60L7QuNGC0L4g0LzQvtCz0LDRgiDQtNCwINCx0YrQtNCw0YIg0LTQvtGB0YLQuNCz0L3QsNGC0Lgg0L7RgiDQtdGC0LjQutC10YLQsCDigJ4lc+KAnCwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNCw0YIgIgogItC/0LDQutC10YLQuNGA0LDQvdC4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NzAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1OQogbXNnaWQgIkNvbXByZXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgItCa0L7QvNC/0YDQtdGB0LjRgNCw0L3QtSDQvdCwINC+0LHQtdC60YLQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY3NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjY1CiBtc2dpZCAiaW5jb25zaXN0ZW5jeSB3aXRoIGRlbHRhIGNvdW50IgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQsdGA0L7QuSDRgNCw0LfQu9C40LrQuCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzUzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4cGVjdGVkIGVkZ2Ugb2JqZWN0IElELCBnb3QgZ2FyYmFnZTpcbiIKQEAgLTE0NDUwLDcgKzE3Mjc0LDcgQEAKICLQvtGH0LDQutCy0LAg0YHQtSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQvdCwINC60YDQsNC10L0g0L7QsdC10LrRgiwg0LAg0L3QtTpcbiIKICIgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc1OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleHBlY3RlZCBvYmplY3QgSUQsIGdvdCBnYXJiYWdlOlxuIgpAQCAtMTQ0NTksMjY5ICsxNzI4MywyNjAgQEAKICLQvtGH0LDQutCy0LAg0YHQtSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQvdCwINC+0LHQtdC60YIsINCwINC90LU6XG4iCiAiICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NgogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yIC0tbWlzc2luZyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwIOKAni0tbWlzc2luZ+KAnCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTE2IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAyNAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTA1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAxMwogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2sgaW5kZXgiCiBtc2dzdHIgItC40L3QtNC10LrRgdGK0YIg0L3QsCDQv9Cw0LrQtdGC0L3QuNGPINGE0LDQudC7INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LLQvtGA0LXQvSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9vc2Ugb2JqZWN0IGF0ICVzIGNvdWxkIG5vdCBiZSBleGFtaW5lZCIKIG1zZ3N0ciAi0L3QtdC/0LDQutC10YLQuNGA0LDQvdC40Y/RgiDQvtCx0LXQutGCINCyIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQsNC90LDQu9C40LfQuNGA0LDQvSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDMyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwMjEKIG1zZ2lkICJ1bmFibGUgdG8gZm9yY2UgbG9vc2Ugb2JqZWN0IgogbXNnc3RyICLQvtGB0YLQsNCy0LDQvdC10YLQviDQvdCwINC+0LHQtdC60YLQsCDQvdC10L/QsNC60LXRgtC40YDQsNC9INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvdCw0LvQvtC20LXQvdC+IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMjIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzExMwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSByZXYgJyVzJyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQtSDQstC10YDRgdC40Y8iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzEyNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCByZXZpc2lvbiAnJXMnIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDQstC10YDRgdC40Y8g4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE1MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTQxCiBtc2dpZCAidW5hYmxlIHRvIGFkZCByZWNlbnQgb2JqZWN0cyIKIG1zZ3N0ciAi0YHQutC+0YDQvtGI0L3QuNGC0LUg0L7QsdC10LrRgtC4INC90LUg0LzQvtCz0LDRgiDQtNCwINCx0YrQtNCw0YIg0LTQvtCx0LDQstC10L3QuCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjAzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgaW5kZXggdmVyc2lvbiAlcyIKIG1zZ3N0ciAi0L3QtdC/0L7QtNC00YrRgNC20LDQvdCwINCy0LXRgNGB0LjRjyDQvdCwINC40L3QtNC10LrRgdCwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDQstC10YDRgdC40Y8g0L3QsCDQuNC90LTQtdC60YHQsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM3Ci1tc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCi1tc2dzdHIgItCx0LXQtyDQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQvdCw0L/RgNC10LTRitC60LAiCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzOQotbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIiCi1tc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC90LDQv9GA0LXQtNGK0LrQsCIKLQotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQxCi1tc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCi1tc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC90LDQv9GA0LXQtNGK0LrQsCDQstGK0LIg0YTQsNC30LDRgtCwINC90LAg0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0L7QsdC10LrRgtC40YLQtSIKLQotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQ0Ci1tc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgotbXNnc3RyICIiCi0i0YHRitGJ0L7RgtC+INC00LXQudGB0YLQstC40LUg0LrQsNGC0L4g0L7Qv9GG0LjRj9GC0LAg4oCeLS1hbGwtcHJvZ3Jlc3PigJwg0L/RgNC4INC40LfQstC10LbQtNCw0L3QtdGC0L4g0L3QsCDQvdCw0L/RgNC10LTRitC60LAiCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM2CiBtc2dpZCAiPHZlcnNpb24+Wyw8b2Zmc2V0Pl0iCiBtc2dzdHIgItCS0JXQoNCh0JjQr1ss0J7QotCc0JXQodCi0JLQkNCd0JVdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzNwogbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCiBtc2dzdHIgIiIKICLQt9Cw0L/QsNC30LLQsNC90LUg0L3QsCDQuNC90LTQtdC60YHQsCDQvdCwINC/0LDQutC10YLQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSDQstGK0LIg0YTQvtGA0LzQsMyA0YLQsCDRgSDRg9C60LDQt9Cw0L3QsNGC0LAg0LLQtdGA0YHQuNGPIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0MAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIG91dHB1dCBwYWNrIGZpbGUiCiBtc2dzdHIgItC80LDQutGB0LjQvNCw0LvQtdC9INGA0LDQt9C80LXRgCDQvdCwINCy0YHQtdC60Lgg0L/QsNC60LXRgtC10L0g0YTQsNC50LsiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQyCiBtc2dpZCAiaWdub3JlIGJvcnJvd2VkIG9iamVjdHMgZnJvbSBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNCw0L3QtSDQvdCwINC+0LHQtdC60YLQuNGC0LUg0LfQsNC10YLQuCDQvtGCINC00YDRg9Cz0Lgg0YXRgNCw0L3QuNC70LjRidCwINC90LAg0L7QsdC10LrRgtC4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NAogbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAi0LjQs9C90L7RgNC40YDQsNC90LUg0L3QsCDQv9Cw0LrQtdGC0LjRgNCw0L3QuNGC0LUg0L7QsdC10LrRgtC4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NgogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG9iamVjdHMiCiBtc2dzdHIgItC+0LPRgNCw0L3QuNGH0LDQstCw0L3QtSDQvdCwINC/0YDQvtC30L7RgNC10YbQsCDQt9CwINC/0LDQutC10YLQuNGA0LDQvdC1INC/0L4g0LHRgNC+0Lkg0L7QsdC10LrRgtC4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0OAogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgIiIKICLQvtCz0YDQsNC90LjRh9Cw0LLQsNC90LUg0L3QsCDQv9GA0L7Qt9C+0YDQtdGG0LAg0LfQsCDQv9Cw0LrQtdGC0LjRgNCw0L3QtSDQuCDQv9C+INC/0LDQvNC10YIg0L7RgdCy0LXQvSDQv9C+INCx0YDQvtC5INC+0LHQtdC60YLQuCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTAKIG1zZ2lkICJtYXhpbXVtIGxlbmd0aCBvZiBkZWx0YSBjaGFpbiBhbGxvd2VkIGluIHRoZSByZXN1bHRpbmcgcGFjayIKIG1zZ3N0ciAiIgogItC80LDQutGB0LjQvNCw0LvQvdCwINC00YrQu9C20LjQvdCwINC90LAg0LLQtdGA0LjQs9Cw0YLQsCDQvtGCINGA0LDQt9C70LjQutC4LCDQutC+0Y/RgtC+INC1INC/0L7Qt9Cy0L7Qu9C10L3QsCDQsiDQv9Cw0LrQtdGC0L3QuNGPINGE0LDQudC7IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1MgogbXNnaWQgInJldXNlIGV4aXN0aW5nIGRlbHRhcyIKIG1zZ3N0ciAi0L/RgNC10LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRgdGK0YnQtdGB0YLQstGD0LLQsNGJ0LjRgtC1INGA0LDQt9C70LjQutC4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1NAogbXNnaWQgInJldXNlIGV4aXN0aW5nIG9iamVjdHMiCiBtc2dzdHIgItC/0YDQtdC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0YHRitGJ0LXRgdGC0LLRg9Cy0LDRidC40YLQtSDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU2CiBtc2dpZCAidXNlIE9GU19ERUxUQSBvYmplY3RzIgogbXNnc3RyICLQuNC30L/QvtC70LfQstCw0L3QtSDQvdCwINC+0LHQtdC60YLQuCDigJ5PRlNfREVMVEHigJwiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU4CiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogItGB0YLQsNGA0YLQuNGA0LDQvdC1INC90LAg0L3QuNGI0LrQuCDQt9CwINC/0YDQtdGC0YrRgNGB0LLQsNC90LUg0L3QsCDQvdCw0Lkt0LTQvtCx0YDQuNGC0LUg0YHRitCy0L/QsNC00LXQvdC40Y8g0L3QsCDRgNCw0LfQu9C40LrQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjYwCiBtc2dpZCAiZG8gbm90IGNyZWF0ZSBhbiBlbXB0eSBwYWNrIG91dHB1dCIKIG1zZ3N0ciAi0LHQtdC3INGB0YrQt9C00LDQstCw0L3QtSDQvdCwINC/0YDQsNC30LXQvSDQv9Cw0LrQtdGC0LXQvSDRhNCw0LnQuyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjcxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjIKIG1zZ2lkICJyZWFkIHJldmlzaW9uIGFyZ3VtZW50cyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLQuNC30YfQuNGC0LDQvdC1INC90LAg0LLQtdGA0YHQuNC40YLQtSDQvtGCINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LLRhdC+0LQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjY0CiBtc2dpZCAibGltaXQgdGhlIG9iamVjdHMgdG8gdGhvc2UgdGhhdCBhcmUgbm90IHlldCBwYWNrZWQiCiBtc2dzdHIgItC+0LPRgNCw0L3QuNGH0LDQstCw0L3QtSDQtNC+INCy0YHQtSDQvtGJ0LUg0L3QtdC/0LDQutC10YLQuNGA0LDQvdC40YLQtSDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjY3CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIGFueSByZWZlcmVuY2UiCiBtc2dzdHIgIiIKICLQstC60LvRjtGH0LLQsNC90LUg0L3QsCDQstGB0LjRh9C60Lgg0L7QsdC10LrRgtC4LCDQutC+0LjRgtC+INC80L7Qs9Cw0YIg0LTQsCDRgdC1INC00L7RgdGC0LjQs9C90LDRgiDQvtGCINC/0YDQvtC40LfQstC+0LvQtdC9ICIKICLRg9C60LDQt9Cw0YLQtdC7IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3MAogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAi0LLQutC70Y7Rh9Cy0LDQvdC1INC4INC90LAg0L7QsdC10LrRgtC40YLQtSDRgdC+0YfQtdC90Lgg0L7RgiDQt9Cw0L/QuNGB0LjRgtC1INCyINC20YPRgNC90LDQu9CwINC90LAg0YPQutCw0LfQsNGC0LXQu9C40YLQtSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzMKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgdG8gYnkgdGhlIGluZGV4IgogbXNnc3RyICLQstC60LvRjtGH0LLQsNC90LUg0Lgg0L3QsCDQvtCx0LXQutGC0LjRgtC1INGB0L7Rh9C10L3QuCDQvtGCINC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3NgogbXNnaWQgIm91dHB1dCBwYWNrIHRvIHN0ZG91dCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0L/QsNC60LXRgtCwINC90LAg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQuNC30YXQvtC0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3OAogbXNnaWQgImluY2x1ZGUgdGFnIG9iamVjdHMgdGhhdCByZWZlciB0byBvYmplY3RzIHRvIGJlIHBhY2tlZCIKIG1zZ3N0ciAiIgogItCy0LrQu9GO0YfQstCw0L3QtSDQuCDQvdCwINC+0LHQtdC60YLQuNGC0LUt0LXRgtC40LrQtdGC0LgsINC60L7QuNGC0L4g0YHQvtGH0LDRgiDQutGK0Lwg0L7QsdC10LrRgtC40YLQtSwg0LrQvtC40YLQviDRidC1INCx0YrQtNCw0YIgIgogItC/0LDQutC10YLQuNGA0LDQvdC4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4MAogbXNnaWQgImtlZXAgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAi0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0L3QtdC00L7RgdGC0LjQttC40LzQuNGC0LUg0L7QsdC10LrRgtC4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4MgogbXNnaWQgInBhY2sgbG9vc2UgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAi0L/QsNC60LXRgtC40YDQsNC90LUg0Lgg0L3QsCDQvdC10LTQvtGB0YLQuNC20LjQvNC40YLQtSDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg0CiBtc2dpZCAidW5wYWNrIHVucmVhY2hhYmxlIG9iamVjdHMgbmV3ZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgItGA0LDQt9C/0LDQutC10YLQuNGA0LDQvdC1INC90LAg0L3QtdC00L7RgdGC0LjQttC40LzQuNGC0LUg0L7QsdC10LrRgtC4LCDQutC+0LjRgtC+INGB0LAg0L/Qvi3QvdC+0LLQuCDQvtGCINGC0L7QstCwINCS0KDQldCc0JUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg3Cittc2dpZCAidXNlIHRoZSBzcGFyc2UgcmVhY2hhYmlsaXR5IGFsZ29yaXRobSIKK21zZ3N0ciAi0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDQsNC70LPQvtGA0LjRgtGK0Lwg0LfQsCDRh9Cw0YHRgtC40YfQvdCwINC00L7RgdGC0LjQttC40LzQvtGB0YIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4OQogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICLRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDRgdGK0LrRgNCw0YLQtdC90Lgg0L/QsNC60LXRgtC4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MQogbXNnaWQgImNyZWF0ZSBwYWNrcyBzdWl0YWJsZSBmb3Igc2hhbGxvdyBmZXRjaGVzIgogbXNnc3RyICLQv9Cw0LrQtdGC0LjRgNCw0L3QtSDQv9C+0LTRhdC+0LTRj9GJ0L4g0LfQsCDQv9C70LjRgtC60L4g0LTQvtGB0YLQsNCy0Y/QvdC1IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MwogbXNnaWQgImlnbm9yZSBwYWNrcyB0aGF0IGhhdmUgY29tcGFuaW9uIC5rZWVwIGZpbGUiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0LDQvdC1INC90LAg0L/QsNC60LXRgtC40YLQtSwg0LrQvtC40YLQviDRgdCwINC/0YDQuNC00YDRg9C20LXQvdC4INC+0YIg0YTQsNC50Lsg4oCeLmtlZXDigJwiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk1CiBtc2dpZCAiaWdub3JlIHRoaXMgcGFjayIKIG1zZ3N0ciAi0L/RgNC+0L/Rg9GB0LrQsNC90LUg0L3QsCDRgtC+0LfQuCDQv9Cw0LrQtdGCIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5NwogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgItC90LjQstC+INC90LAg0LrQvtC80L/RgNC10YHQuNGA0LDQvdC1INC/0YDQuCDQv9Cw0LrQtdGC0LjRgNCw0L3QtSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzA2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTkKIG1zZ2lkICJkbyBub3QgaGlkZSBjb21taXRzIGJ5IGdyYWZ0cyIKIG1zZ3N0ciAiIgogItC40LfQstC10LbQtNCw0L3QtSDQvdCwINCy0YHQuNGH0LrQuCDRgNC+0LTQuNGC0LXQu9C4IOKAlCDQtNC+0YDQuCDQuCDRgtC10LfQuCwg0LrQvtC40YLQviDQvdC+0YDQvNCw0LvQvdC+INGB0LAg0YHQutGA0LjRgtC4INC/0YDQuCAiCiAi0L/RgNC40YHQsNC20LTQsNC90LjRj9GC0LAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwOAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzAxCiBtc2dpZCAidXNlIGEgYml0bWFwIGluZGV4IGlmIGF2YWlsYWJsZSB0byBzcGVlZCB1cCBjb3VudGluZyBvYmplY3RzIgogbXNnc3RyICIiCiAi0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRgdGK0YnQtdGB0YLQstGD0LLQsNGJ0Lgg0LjQvdC00LXQutGB0Lgg0L3QsCDQsdCw0LfQsCDQsdC40YLQvtCy0Lgg0LzQsNGB0LrQuCDQt9CwINGD0YHQutC+0YDRj9Cy0LDQvdC1INC90LAgIgogItC/0YDQtdCx0YDQvtGP0LLQsNC90LXRgtC+INC90LAg0L7QsdC10LrRgtC40YLQtSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzEwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDMKIG1zZ2lkICJ3cml0ZSBhIGJpdG1hcCBpbmRleCB0b2dldGhlciB3aXRoIHRoZSBwYWNrIGluZGV4IgogbXNnc3RyICIiCiAi0LfQsNC/0LDQt9Cy0LDQvdC1INC4INC90LAg0LjQvdC00LXQutGBINC90LAg0LHQsNC30LAg0L/QvtCx0LjRgtC+0LLQsCDQvNCw0YHQutCwLCDQt9Cw0LXQtNC90L4g0YEg0LjQvdC00LXQutGB0LAg0LfQsCDQv9Cw0LrQtdGC0LAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzA3Cittc2dpZCAid3JpdGUgYSBiaXRtYXAgaW5kZXggaWYgcG9zc2libGUiCittc2dzdHIgItC30LDQv9C40YHQstCw0L3QtSDQvdCwINC40L3QtNC10LrRgdC4INC90LAg0LHQsNC30LAg0LHQuNGC0L7QstC4INC80LDRgdC60Lgg0L/RgNC4INCy0YrQt9C80L7QttC90L7RgdGCIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTEKIG1zZ2lkICJoYW5kbGluZyBmb3IgbWlzc2luZyBvYmplY3RzIgogbXNnc3RyICLQutCw0Log0LTQsCDRgdC1INC+0LHRgNCw0LHQvtGC0LLQsNGCINC70LjQv9GB0LLQsNGJ0LjRgtC1INC+0LHQtdC60YLQuCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzE2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTQKIG1zZ2lkICJkbyBub3QgcGFjayBvYmplY3RzIGluIHByb21pc29yIHBhY2tmaWxlcyIKIG1zZ3N0ciAi0LHQtdC3INC/0LDQutC10YLQuNGA0LDQvdC1INC90LAg0L7QsdC10LrRgtC4INCyINCz0LDRgNCw0L3RgtC40YDQsNGJ0Lgg0L/QsNC60LXRgtC4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxNgogbXNnaWQgInJlc3BlY3QgaXNsYW5kcyBkdXJpbmcgZGVsdGEgY29tcHJlc3Npb24iCiBtc2dzdHIgItCx0LXQtyDQv9GA0L7QvNGP0L3QsCDQvdCwINCz0YDRg9C/0LjRgtC1INC/0YDQuCDQtNC10LvRgtCwINC60L7QvNC/0YDQtdGB0LjRjyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzQyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsdGEgY2hhaW4gZGVwdGggJWQgaXMgdG9vIGRlZXAsIGZvcmNpbmcgJWQiCiBtc2dzdHIgItCy0LXRgNC40LPQsNGC0LAg0YEg0YDQsNC30LvQuNC60Lgg0LUg0L/RgNC10LrQsNC70LXQvdC+INC00YrQu9Cx0L7QutCwIOKAlCAlZCwg0YnQtSDRgdC1INC/0L7Qu9C30LLQsCAlZCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjay5kZWx0YUNhY2hlTGltaXQgaXMgdG9vIGhpZ2gsIGZvcmNpbmcgJWQiCiBtc2dzdHIgIiIKICLQodGC0L7QudC90L7RgdGC0YLQsCDQvdCwINC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCecGFjay5kZWx0YUNhY2hlTGltaXTigJwg0LUg0L/RgNC10LrQsNC70LXQvdC+INCz0L7Qu9GP0LzQsC4gINCp0LUg0YHQtSAiCiAi0L/QvtC70LfQstCwICVkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwNAogbXNnaWQgIi0tbWF4LXBhY2stc2l6ZSBjYW5ub3QgYmUgdXNlZCB0byBidWlsZCBhIHBhY2sgZm9yIHRyYW5zZmVyIgogbXNnc3RyICIiCiAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1tYXgtcGFjay1zaXpl4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQv9C+0LvQt9Cy0LAg0LfQsCDRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDQv9Cw0LrQtdGC0L3QuCAiCiAi0YTQsNC50LvQvtCy0LUg0LfQsCDQv9GA0LXQvdC+0YEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDA2CiBtc2dpZCAibWluaW11bSBwYWNrIHNpemUgbGltaXQgaXMgMSBNaUIiCiBtc2dzdHIgItC80LjQvdC40LzQsNC70L3QuNGP0YIg0YDQsNC30LzQtdGAINC90LAg0L/QsNC60LXRgtC40YLQtSDQtSAx4oCKTWlCIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQxMQogbXNnaWQgIi0tdGhpbiBjYW5ub3QgYmUgdXNlZCB0byBidWlsZCBhbiBpbmRleGFibGUgcGFjayIKIG1zZ3N0ciAiIgogItC+0L/RhtC40Y/RgtCwIOKAni0tdGhpbuKAnNC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQv9C+0LvQt9Cy0LAg0LfQsCDRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDQv9Cw0LrQtdGC0L3QuCDRhNCw0LnQu9C+0LLQtSDRgSAiCiAi0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQxNAogbXNnaWQgIi0ta2VlcC11bnJlYWNoYWJsZSBhbmQgLS11bnBhY2stdW5yZWFjaGFibGUgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS1rZWVwLXVucmVhY2hhYmxl4oCcINC4IOKAni0tdW5wYWNrLXVucmVhY2hhYmxl4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQyMAogbXNnaWQgImNhbm5vdCB1c2UgLS1maWx0ZXIgd2l0aG91dCAtLXN0ZG91dCIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLWZpbHRlcuKAnCDQuNC30LjRgdC60LLQsCDigJ4tc3Rkb3V04oCcIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0NzYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQ4MQogbXNnaWQgIkVudW1lcmF0aW5nIG9iamVjdHMiCiBtc2dzdHIgItCY0LfQsdGA0L7Rj9Cy0LDQvdC1INC90LAg0L7QsdC10LrRgtC40YLQtSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDk1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM1MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVG90YWwgJTxQUkl1MzI+IChkZWx0YSAlPFBSSXUzMj4pLCByZXVzZWQgJTxQUkl1MzI+IChkZWx0YSAlPFBSSXUzMj4pIgogbXNnc3RyICIiCiAi0J7QsdGJ0L4gJTxQUkl1MzI+ICjRgNCw0LfQu9C40LrQuCAlPFBSSXUzMj4pLCDQv9GA0LXQuNC30L/QvtC70LfQstCw0L3QuCAlPFBSSXUzMj4gKNGA0LDQt9C70LjQutC4ICIKICIlPFBSSXUzMj4pIgogCi0jOiBidWlsdGluL3BhY2stcmVmcy5jOjcKKyM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6OAogbXNnaWQgImdpdCBwYWNrLXJlZnMgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBwYWNrLXJlZnMgW9Ce0J/QptCY0K/igKZdIgogCi0jOiBidWlsdGluL3BhY2stcmVmcy5jOjE1CisjOiBidWlsdGluL3BhY2stcmVmcy5jOjE2CiBtc2dpZCAicGFjayBldmVyeXRoaW5nIgogbXNnc3RyICLQv9Cw0LrQtdGC0LjRgNCw0L3QtSDQvdCwINCy0YHQuNGH0LrQviIKIAotIzogYnVpbHRpbi9wYWNrLXJlZnMuYzoxNgorIzogYnVpbHRpbi9wYWNrLXJlZnMuYzoxNwogbXNnaWQgInBydW5lIGxvb3NlIHJlZnMgKGRlZmF1bHQpIgogbXNnc3RyICLQvtC60LDRgdGC0YDRj9C90LUg0L3QsCDQvdC10LTQvtGB0YLQuNC20LjQvNC40YLQtSDRg9C60LDQt9Cw0YLQtdC70LggKNGB0YLQsNC90LTQsNGA0YLQvdC+KSIKIApAQCAtMTQ3MzcsNjkgKzE3NTUyLDY5IEBACiBtc2dpZCAiZ2l0IHBydW5lIFstbl0gWy12XSBbLS1wcm9ncmVzc10gWy0tZXhwaXJlIDx0aW1lPl0gWy0tXSBbPGhlYWQ+Li4uXSIKIG1zZ3N0ciAiZ2l0IHBydW5lIFstbl0gWy12XSBbLS1wcm9ncmVzc10gWy0tZXhwaXJlINCS0KDQldCc0JVdIFstLV0gW9CS0KDQqtCl4oCmXSIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjEwOQorIzogYnVpbHRpbi9wcnVuZS5jOjEzMQogbXNnaWQgInJlcG9ydCBwcnVuZWQgb2JqZWN0cyIKIG1zZ3N0ciAi0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDQvtC60LDRgdGC0YDQtdC90LjRgtC1INC+0LHQtdC60YLQuCIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjExMgorIzogYnVpbHRpbi9wcnVuZS5jOjEzNAogbXNnaWQgImV4cGlyZSBvYmplY3RzIG9sZGVyIHRoYW4gPHRpbWU+IgogbXNnc3RyICLQvtC60LDRgdGC0YDRj9C90LUg0L3QsCDQvtCx0LXQutGC0LjRgtC1INC/0L4t0YHRgtCw0YDQuCDQvtGCINGC0L7QstCwINCS0KDQldCc0JUiCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMTQKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzYKIG1zZ2lkICJsaW1pdCB0cmF2ZXJzYWwgdG8gb2JqZWN0cyBvdXRzaWRlIHByb21pc29yIHBhY2tmaWxlcyIKIG1zZ3N0ciAi0L7Qs9GA0LDQvdC40YfQsNCy0LDQvdC1INC90LAg0L7QsdGF0L7QttC00LDQvdC10YLQviDQtNC+INC+0LHQtdC60YLQuCDQuNC30LLRitC9INCz0LDRgNCw0L3RgtC40YDQsNGJ0Lgg0L/QsNC60LXRgtC4IgogCi0jOiBidWlsdGluL3BydW5lLmM6MTI5CisjOiBidWlsdGluL3BydW5lLmM6MTUwCiBtc2dpZCAiY2Fubm90IHBydW5lIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICLRhdGA0LDQvdC40LvQuNGJ0LUg0YEg0LLQsNC20L3QuCDQvtCx0LXQutGC0Lgg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7QutCw0YHRgtGA0Y8iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjYwIGJ1aWx0aW4vcHVsbC5jOjYyCisjOiBidWlsdGluL3B1bGwuYzo2NiBidWlsdGluL3B1bGwuYzo2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgItCd0LXQv9GA0LDQstC40LvQvdCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCDigJ4lc+KAnDog4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjgyCisjOiBidWlsdGluL3B1bGwuYzo4OAogbXNnaWQgImdpdCBwdWxsIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgcHVzaCBb0J7Qn9Cm0JjQr+KApl0gW9Cl0KDQkNCd0JjQm9CY0KnQlSBb0KPQmtCQ0JfQkNCi0JXQm1/QndCQX9CS0JXQoNCh0JjQr+KApl1dIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjE0MgogbXNnaWQgImNvbnRyb2wgZm9yIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICLRg9C/0YDQsNCy0LvQtdC90LjQtSDQvdCwINGA0LXQutGD0YDRgdC40LLQvdC+0YLQviDQtNC+0YHRgtCw0LLRj9C90LUg0L3QsCDQv9C+0LTQvNC+0LTRg9C70LjRgtC1IgogCi0jOiBidWlsdGluL3B1bGwuYzoxMzcKKyM6IGJ1aWx0aW4vcHVsbC5jOjE0NgogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBtZXJnaW5nIgogbXNnc3RyICLQntC/0YbQuNC4INC/0YDQuCDRgdC70LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTQwCisjOiBidWlsdGluL3B1bGwuYzoxNDkKIG1zZ2lkICJpbmNvcnBvcmF0ZSBjaGFuZ2VzIGJ5IHJlYmFzaW5nIHJhdGhlciB0aGFuIG1lcmdpbmciCiBtc2dzdHIgItCy0L3QsNGB0Y/QvdC1INC90LAg0L/RgNC+0LzQtdC90LjRgtC1INGH0YDQtdC3INC/0YDQtdCx0LDQt9C40YDQsNC90LUsINCwINC90LUg0YfRgNC10Lcg0YHQu9C40LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE2NyBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNDcgYnVpbHRpbi9yZXZlcnQuYzoxMjIKKyM6IGJ1aWx0aW4vcHVsbC5jOjE3NyBidWlsdGluL3JlYmFzZS5jOjQ2NyBidWlsdGluL3JldmVydC5jOjEyNgogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAi0L/QvtC30LLQvtC70Y/QstCw0L3QtSDQvdCwINC/0YDQtdCy0YrRgNGC0LDQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE3NgorIzogYnVpbHRpbi9wdWxsLmM6MTg2CiBtc2dpZCAiYXV0b21hdGljYWxseSBzdGFzaC9zdGFzaCBwb3AgYmVmb3JlIGFuZCBhZnRlciByZWJhc2UiCiBtc2dzdHIgItCw0LLRgtC+0LzQsNGC0LjRh9C90L4g0YHQutCw0YLQsNCy0LDQvdC1L9C/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINGB0LrQsNGC0LDQvdC+0YLQviDQv9GA0LXQtNC4INC4INGB0LvQtdC0INC/0YDQtdCx0LDQt9C40YDQsNC90LUiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5MgorIzogYnVpbHRpbi9wdWxsLmM6MjAyCiBtc2dpZCAiT3B0aW9ucyByZWxhdGVkIHRvIGZldGNoaW5nIgogbXNnc3RyICLQntC/0YbQuNC4INC/0YDQuCDQtNC+0YHRgtCw0LLRj9C90LUiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjIwMgorIzogYnVpbHRpbi9wdWxsLmM6MjEyCiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIGJyYW5jaCIKIG1zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvQvdC+INC/0YDQtdC30LDQv9C40YHQstCw0L3QtSDQvdCwINC70L7QutCw0LvQvdC40Y8g0LrQu9C+0L0iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjIxMAorIzogYnVpbHRpbi9wdWxsLmM6MjIwCiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgcHVsbGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICLQsdGA0L7QuSDQv9C+0LTQvNC+0LTRg9C70Lgg0LjQt9C00YrRgNC/0LDQvdC4INC/0LDRgNCw0LvQtdC70L3QviIKIAotIzogYnVpbHRpbi9wdWxsLmM6MzA1CisjOiBidWlsdGluL3B1bGwuYzozMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgcHVsbC5mZjogJXMiCiBtc2dzdHIgItCd0LXQv9GA0LDQstC40LvQvdCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCDigJ5wdWxsLmZm4oCcOiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDIxCisjOiBidWlsdGluL3B1bGwuYzo0MzcKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm8gY2FuZGlkYXRlIGZvciByZWJhc2luZyBhZ2FpbnN0IGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgIgogImZldGNoZWQuIgpAQCAtMTQ4MDcsMTQgKzE3NjIyLDE0IEBACiAi0JzQtdC20LTRgyDRg9C60LDQt9Cw0YLQtdC70LjRgtC1LCDQutC+0LjRgtC+INGC0L7QutGDINGJ0L4g0LTQvtGB0YLQsNCy0LjRhdGC0LUsINC90Y/QvNCwINC/0L7QtNGF0L7QtNGP0Ykg0LrQsNC90LTQuNC00LDRgiwg0LLRitGA0YXRgyAiCiAi0LrQvtC50YLQviDQtNCwINC/0YDQtdCx0LDQt9C40YDQsNGC0LUuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MjMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzOQogbXNnaWQgIiIKICJUaGVyZSBhcmUgbm8gY2FuZGlkYXRlcyBmb3IgbWVyZ2luZyBhbW9uZyB0aGUgcmVmcyB0aGF0IHlvdSBqdXN0IGZldGNoZWQuIgogbXNnc3RyICIiCiAi0JzQtdC20LTRgyDRg9C60LDQt9Cw0YLQtdC70LjRgtC1LCDQutC+0LjRgtC+INGC0L7QutGDINGJ0L4g0LTQvtGB0YLQsNCy0LjRhdGC0LUsINC90Y/QvNCwINC/0L7QtNGF0L7QtNGP0Ykg0LrQsNC90LTQuNC00LDRgiwg0LrQvtC50YLQviAiCiAi0LTQsCDRgdC70LXQtdGC0LUuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MjQKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ0MAogbXNnaWQgIiIKICJHZW5lcmFsbHkgdGhpcyBtZWFucyB0aGF0IHlvdSBwcm92aWRlZCBhIHdpbGRjYXJkIHJlZnNwZWMgd2hpY2ggaGFkIG5vXG4iCiAibWF0Y2hlcyBvbiB0aGUgcmVtb3RlIGVuZC4iCkBAIC0xNDgyMiw3ICsxNzYzNyw3IEBACiAi0J3QsNC5INCy0LXRgNC+0Y/RgtC90L4g0YHRgtC1INC/0L7QtNCw0LvQuCDRiNCw0LHQu9C+0L0g0LfQsCDRg9C60LDQt9Cw0YLQtdC70LgsINC60L7QudGC0L4g0L3QtSDQtSDQvdCw0L/QsNGB0L3QsNC7INGBINC90LjRidC+INCyICIKICLQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDI3CisjOiBidWlsdGluL3B1bGwuYzo0NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBwdWxsIGZyb20gdGhlIHJlbW90ZSAnJXMnLCBidXQgZGlkIG5vdCBzcGVjaWZ5XG4iCkBAIC0xNDgzMyw0NCArMTc2NDgsNDQgQEAKICLQn9C+0L3QtdC20LUg0YLQvtCy0LAg0L3QtSDQtSDRhdGA0LDQvdC40LvQuNGJ0LXRgtC+INC/0L4g0L/QvtC00YDQsNC30LHQuNGA0LDQvdC1INC90LAg0YLQtdC60YPRidC40Y8g0LrQu9C+0L0sINGC0YDRj9Cx0LLQsFxuIgogItC00LAg0YPQutCw0LbQtdGC0LUg0L7RgtC00LDQu9C10YfQtdC90LjRjyDQutC70L7QvSDQvdCwINC60L7QvNCw0L3QtNC90LjRjyDRgNC10LQuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzIgYnVpbHRpbi9yZWJhc2UuYzo3NjEgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MworIzogYnVpbHRpbi9wdWxsLmM6NDQ4IGJ1aWx0aW4vcmViYXNlLmM6MTM3NSBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCiBtc2dpZCAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLiIKIG1zZ3N0ciAi0JjQt9Cy0YrQvSDQstGB0LjRh9C60Lgg0LrQu9C+0L3QuC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzNCBidWlsdGluL3B1bGwuYzo0NDkgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQorIzogYnVpbHRpbi9wdWxsLmM6NDUwIGJ1aWx0aW4vcHVsbC5jOjQ2NSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIHJlYmFzZSBhZ2FpbnN0LiIKIG1zZ3N0ciAi0KPQutCw0LbQtdGC0LUg0LLRitGA0YXRgyDQutC+0Lkg0LrQu9C+0L0g0LjRgdC60LDRgtC1INC00LAg0L/RgNC10LHQsNC30LjRgNCw0YLQtS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzNiBidWlsdGluL3B1bGwuYzo0NTEgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgorIzogYnVpbHRpbi9wdWxsLmM6NDUyIGJ1aWx0aW4vcHVsbC5jOjQ2NyBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIG1lcmdlIHdpdGguIgogbXNnc3RyICLQo9C60LDQttC10YLQtSDQutC+0Lkg0LrQu9C+0L0g0LjRgdC60LDRgtC1INC00LAg0YHQu9C10LXRgtC1LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM3IGJ1aWx0aW4vcHVsbC5jOjQ1MgorIzogYnVpbHRpbi9wdWxsLmM6NDUzIGJ1aWx0aW4vcHVsbC5jOjQ2OAogbXNnaWQgIlNlZSBnaXQtcHVsbCgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgItCX0LAg0L/QvtCy0LXRh9C1INC40L3RhNC+0YDQvNCw0YbQuNGPINC/0L7Qs9C70LXQtNC90LXRgtC1INGA0YrQutC+0LLQvtC00YHRgtCy0L7RgtC+IOKAnmdpdC1wdWxsKDEp4oCcIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzkgYnVpbHRpbi9wdWxsLmM6NDQ1IGJ1aWx0aW4vcHVsbC5jOjQ1NAotIzogYnVpbHRpbi9yZWJhc2UuYzo3NjcgZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NAorIzogYnVpbHRpbi9wdWxsLmM6NDU1IGJ1aWx0aW4vcHVsbC5jOjQ2MSBidWlsdGluL3B1bGwuYzo0NzAKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTM4MSBnaXQtcGFyc2UtcmVtb3RlLnNoOjY0CiBtc2dpZCAiPHJlbW90ZT4iCiBtc2dzdHIgItCe0KLQlNCQ0JvQldCn0JXQndCeX9Cl0KDQkNCd0JjQm9CY0KnQlSIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM5IGJ1aWx0aW4vcHVsbC5jOjQ1NCBidWlsdGluL3B1bGwuYzo0NTkKLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjU1NiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1CisjOiBidWlsdGluL3B1bGwuYzo0NTUgYnVpbHRpbi9wdWxsLmM6NDcwIGJ1aWx0aW4vcHVsbC5jOjQ3NQorIzogZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NQogbXNnaWQgIjxicmFuY2g+IgogbXNnc3RyICLQmtCb0J7QnSIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDQ3IGJ1aWx0aW4vcmViYXNlLmM6NzU5IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ2MyBidWlsdGluL3JlYmFzZS5jOjEzNzMgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQogbXNnaWQgIlRoZXJlIGlzIG5vIHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICLQotC10LrRg9GJ0LjRj9GCINC60LvQvtC9INC90LUg0YHQu9C10LTQuCDQvdC40LrQvtC5LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDU2IGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ3MiBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNldCB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhpcyBicmFuY2ggeW91IGNhbiBkbyBzbyB3aXRoOiIKIG1zZ3N0ciAiIgogItCQ0LrQviDQuNGB0LrQsNGC0LUg0LTQsCDQt9Cw0LTQsNC00LXRgtC1INC40L3RhNC+0YDQvNCw0YbQuNGPINC30LAg0YHQu9C10LTQtdC9INC60LvQvtC9LCDQvNC+0LbQtdGC0LUg0LTQsCDQvdCw0L/RgNCw0LLQuNGC0LUg0YLQvtCy0LAg0YEgIgogItC60L7QvNCw0L3QtNCw0YLQsDoiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ2MQorIzogYnVpbHRpbi9wdWxsLmM6NDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVzIHRvIG1lcmdlIHdpdGggdGhlIHJlZiAnJXMnXG4iCkBAIC0xNDg3OSwzMiArMTc2OTQsMzIgQEAKICLQl9CwINGB0LvQuNCy0LDQvdC1INC1INGD0LrQsNC30LDQvSDQvtGC0LTQsNC70LXRh9C10L3QuNGP0YIg0YPQutCw0LfQsNGC0LXQuyDigJ4lc+KAnCxcbiIKICLQvdC+INGC0LDQutGK0LIg0L3QtSDQtSDQtNC+0YHRgtCw0LLQtdC9LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NTY1CisjOiBidWlsdGluL3B1bGwuYzo1ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyBjb21taXQgJXMiCiBtc2dzdHIgItC90LXQtNC+0YHRgtGK0L/QvdC+INC/0L7QtNCw0LLQsNC90LU6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NDMKKyM6IGJ1aWx0aW4vcHVsbC5jOjg2NwogbXNnaWQgImlnbm9yaW5nIC0tdmVyaWZ5LXNpZ25hdHVyZXMgZm9yIHJlYmFzZSIKIG1zZ3N0ciAi0LHQtdC3IOKAni0tdmVyaWZ5LXNpZ25hdHVyZXPigJwg0L/RgNC4INC/0YDQtdCx0LDQt9C40YDQsNC90LUiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg5MQorIzogYnVpbHRpbi9wdWxsLmM6OTIyCiBtc2dpZCAiLS1bbm8tXWF1dG9zdGFzaCBvcHRpb24gaXMgb25seSB2YWxpZCB3aXRoIC0tcmViYXNlLiIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1bbm8tXWF1dG9zdGFzaOKAnCDQuNC30LjRgdC60LLQsCDigJ4tLXJlYmFzZeKAnCIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODk5CisjOiBidWlsdGluL3B1bGwuYzo5MzAKIG1zZ2lkICJVcGRhdGluZyBhbiB1bmJvcm4gYnJhbmNoIHdpdGggY2hhbmdlcyBhZGRlZCB0byB0aGUgaW5kZXguIgogbXNnc3RyICLQntCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwINCy0YHQtSDQvtGJ0LUg0L3QtdGB0YrQt9C00LDQtNC10L0g0LrQu9C+0L0g0YEg0L/RgNC+0LzQtdC90LjRgtC1INC+0YIg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkwMgorIzogYnVpbHRpbi9wdWxsLmM6OTM0CiBtc2dpZCAicHVsbCB3aXRoIHJlYmFzZSIKIG1zZ3N0ciAi0LjQt9C00YrRgNC/0LLQsNC90LUg0YEg0L/RgNC10LHQsNC30LjRgNCw0L3QtSIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTAzCisjOiBidWlsdGluL3B1bGwuYzo5MzUKIG1zZ2lkICJwbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgogbXNnc3RyICLRgtGA0Y/QsdCy0LAg0LTQsCDQv9C+0LTQsNC00LXRgtC1INC40LvQuCDRgdC60LDRgtCw0LXRgtC1INC/0YDQvtC80LXQvdC40YLQtS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkyOAorIzogYnVpbHRpbi9wdWxsLmM6OTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJmZXRjaCB1cGRhdGVkIHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkLlxuIgpAQCAtMTQ5MTQsNyArMTc3MjksNyBAQAogItC00L7RgdGC0LDQstGP0L3QtdGC0L4g0L7QsdC90L7QstC4INCy0YrRgNGF0LAg0L3QsCDRgtC10LrRg9GJ0LjRjyDQutC70L7QvS4gINCg0LDQsdC+0YLQvdC+0YLQvlxuIgogItCy0Lgg0LrQvtC/0LjQtSDQsdC1INC/0YDQtdCy0YrRgNGC0Y/QvdC+INC+0YIg0L/QvtC00LDQstCw0L3QtSDigJ4lc+KAnC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkzNAorIzogYnVpbHRpbi9wdWxsLmM6OTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgZmFzdC1mb3J3YXJkIHlvdXIgd29ya2luZyB0cmVlLlxuIgpAQCAtMTQ5MjYsMjAgKzE3NzQxLDIwIEBACiBtc2dzdHIgIiIKICLQoNCw0LHQvtGC0L3QvtGC0L4g0LLQuCDQutC+0L/QuNC1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0LXQstGK0YDRgtGP0L3Qvi5cbiIKICLQodC70LXQtCDQutCw0YLQviDQt9Cw0L/QsNC30LjRgtC1INCy0YHQuNGH0LrQviDQvdC10L7QsdGF0L7QtNC40LzQviDQv9C+0YHQvtGH0LXQvdC+INC+0YIg0LrQvtC80LDQvdC00LDRgtCwOlxuIgotIiAgJCBnaXQgZGlmZiAlc1xuIgorIiAgICBnaXQgZGlmZiAlc1xuIgogItC40LfQv9GK0LvQvdC10YLQtTpcbiIKLSIgICQgZ2l0IHJlc2V0IC0taGFyZFxuIgorIiAgICBnaXQgcmVzZXQgLS1oYXJkXG4iCiAi0LfQsCDQstGA0YrRidCw0L3QtSDQutGK0Lwg0L3QvtGA0LzQsNC70L3QviDRgdGK0YHRgtC+0Y/QvdC40LUuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5NDkKKyM6IGJ1aWx0aW4vcHVsbC5jOjk4MQogbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQuIgogbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0YHQu9C40LLQsNGC0LUg0LzQvdC+0LbQtdGB0YLQstC+INC60LvQvtC90Lgg0LIg0L/RgNCw0LfQtdC9INCy0YrRgNGF0L7QsiDRg9C60LDQt9Cw0YLQtdC7LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTUzCisjOiBidWlsdGluL3B1bGwuYzo5ODUKIG1zZ2lkICJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMuIgogbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0L/RgNC10LHQsNC30LjRgNCw0YLQtSDQstGK0YDRhdGDINC/0L7QstC10YfQtSDQvtGCINC10LTQuNC9INC60LvQvtC9LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTYwCisjOiBidWlsdGluL3B1bGwuYzo5OTIKIG1zZ2lkICJjYW5ub3QgcmViYXNlIHdpdGggbG9jYWxseSByZWNvcmRlZCBzdWJtb2R1bGUgbW9kaWZpY2F0aW9ucyIKIG1zZ3N0ciAiIgogItC/0YDQtdCx0LDQt9C40YDQsNC90LXRgtC+INC1INC90LXQstGK0LfQvNC+0LbQvdC+INC30LDRgNCw0LTQuCDQu9C+0LrQsNC70L3QviDQt9Cw0L/QuNGB0LDQvdC40YLQtSDQv9GA0L7QvNC10L3QuCDQv9C+INC/0L7QtNC80L7QtNGD0LvQuNGC0LUiCkBAIC0xNDk0OCwxNSArMTc3NjMsMTUgQEAKIG1zZ2lkICJnaXQgcHVzaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1c2ggW9Ce0J/QptCY0K/igKZdIFvQpdCg0JDQndCY0JvQmNCp0JUgW9Cj0JrQkNCX0JDQotCV0Jtf0J3QkF/QktCV0KDQodCY0K/igKZdXSIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTExCisjOiBidWlsdGluL3B1c2guYzoxMTIKIG1zZ2lkICJ0YWcgc2hvcnRoYW5kIHdpdGhvdXQgPHRhZz4iCiBtc2dzdHIgItGB0YrQutGA0LDRidC10L3QuNC1INC30LAg0LXRgtC40LrQtdGCINCx0LXQtyDQldCi0JjQmtCV0KIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEyMQorIzogYnVpbHRpbi9wdXNoLmM6MTIyCiBtc2dpZCAiLS1kZWxldGUgb25seSBhY2NlcHRzIHBsYWluIHRhcmdldCByZWYgbmFtZXMiCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tZGVsZXRl4oCcINC/0YDQuNC10LzQsCDQt9CwINGG0LXQuyDRgdCw0LzQviDQv9GA0L7RgdGC0Lgg0LjQvNC10L3QsCDQvdCwINGD0LrQsNC30LDRgtC10LvQuCIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTY1CisjOiBidWlsdGluL3B1c2guYzoxNjgKIG1zZ2lkICIiCiAiXG4iCiAiVG8gY2hvb3NlIGVpdGhlciBvcHRpb24gcGVybWFuZW50bHksIHNlZSBwdXNoLmRlZmF1bHQgaW4gJ2dpdCBoZWxwIGNvbmZpZycuIgpAQCAtMTQ5NjUsNyArMTc3ODAsNyBAQAogItCX0LAg0LTQsCDQstC60LvRjtGH0LjRgtC1INGC0LDQt9C4INC+0L/RhtC40Y8g0LfQsCDQv9C+0YHRgtC+0Y/QvdC90L4sINC/0L7Qs9C70LXQtNC90LXRgtC1INC00L7QutGD0LzQtdC90YLQsNGG0LjRj9GC0LAg0LfQsCAiCiAi0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5wdXNoLmRlZmF1bHTigJwg0LIg4oCeZ2l0IGhlbHAgY29uZmln4oCcLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTY4CisjOiBidWlsdGluL3B1c2guYzoxNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSB1cHN0cmVhbSBicmFuY2ggb2YgeW91ciBjdXJyZW50IGJyYW5jaCBkb2VzIG5vdCBtYXRjaFxuIgpAQCAtMTQ5OTAsNyArMTc4MDUsNyBAQAogIiAgICBnaXQgcHVzaCAlcyBIRUFEXG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE4MworIzogYnVpbHRpbi9wdXNoLmM6MTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guXG4iCkBAIC0xNTAwNCw3ICsxNzgxOSw3IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoICVzIEhFQUQ60JjQnNCVX9Cd0JBf0J7QotCU0JDQm9CV0KfQldCd0JjQr1/QmtCb0J7QnVxuIgogCi0jOiBidWlsdGluL3B1c2guYzoxOTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBubyB1cHN0cmVhbSBicmFuY2guXG4iCkBAIC0xNTAxOCwxNCArMTc4MzMsMTQgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggLS1zZXQtdXBzdHJlYW0gJXMgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjA1CisjOiBidWlsdGluL3B1c2guYzoyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBtdWx0aXBsZSB1cHN0cmVhbSBicmFuY2hlcywgcmVmdXNpbmcgdG8gcHVzaC4iCiBtc2dzdHIgIiIKICLQotC10LrRg9GJ0LjRj9GCINC60LvQvtC9IOKAniVz4oCcINGB0LvQtdC00Lgg0L3Rj9C60L7Qu9C60L4g0L7RgtC00LDQu9C10YfQtdC90Lgg0LrQu9C+0L3QsCwg0L3QtSDQvNC+0LbQtdGC0LUg0L/RgNC+0YHRgtC+INC00LAgIgogItC40LfRgtC70LDRgdC60LDRgtC1LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjA4CisjOiBidWlsdGluL3B1c2guYzoyMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgcHVzaGluZyB0byByZW1vdGUgJyVzJywgd2hpY2ggaXMgbm90IHRoZSB1cHN0cmVhbSBvZlxuIgpAQCAtMTUwMzcsMTQgKzE3ODUyLDE0IEBACiAi0KLRgNGP0LHQstCwINC00LAg0YPQutCw0LbQtdGC0LUg0LrQvtGPINCy0LXRgNGB0LjRjyDQtNCwINGB0LUg0LjQt9GC0LvQsNGB0LrQsCwg0LfQsCDQvtCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwINC+0YLQtNCw0LvQtdGH0LXQvdC40Y8gIgogItC60LvQvtC9LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjY3CisjOiBidWlsdGluL3B1c2guYzoyNzAKIG1zZ2lkICIiCiAiWW91IGRpZG4ndCBzcGVjaWZ5IGFueSByZWZzcGVjcyB0byBwdXNoLCBhbmQgcHVzaC5kZWZhdWx0IGlzIFwibm90aGluZ1wiLiIKIG1zZ3N0ciAiIgogItCd0LUg0YHRgtC1INGD0LrQsNC30LDQu9C4INCy0LXRgNGB0LjRjyDQt9CwINC/0L7QtNCw0LLQsNC90LUsINCwINC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCecHVzaC5kZWZhdWx04oCcINC1ICIKICLigJ5ub3RoaW5n4oCcICjQvdC40YnQviDQsdC10Lcg0LjQt9GA0LjRh9C90L4g0YPQutCw0LfQsNC90LAg0LLQtdGA0YHQuNGPINC00LAg0L3QtSDRgdC1INC40LfRgtC70LDRgdC60LLQsCkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI3NAorIzogYnVpbHRpbi9wdXNoLmM6Mjc3CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0aXAgb2YgeW91ciBjdXJyZW50IGJyYW5jaCBpcyBiZWhpbmRcbiIKICJpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LiBJbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzIChlLmcuXG4iCkBAIC0xNTA1OCw3ICsxNzg3Myw3IEBACiAi0L/RgNC10LTQuCDQvtGC0L3QvtCy0L4g0LTQsCDQuNC30YLQu9Cw0YHQutCw0YLQtSDQv9GA0L7QvNC10L3QuNGC0LUuICDQl9CwINC/0L7QstC10YfQtSDQuNC90YTQvtGA0LzQsNGG0LjRjyDQstC40LbRgtC1INGA0LDQt9C00LXQu9CwXG4iCiAi4oCeTm90ZSBhYm91dCBmYXN0LWZvcndhcmRz4oCcINCyINGB0YLRgNCw0L3QuNGG0LDRgtCwINC+0YIg0YDRitC60L7QstC+0LTRgdGC0LLQvtGC0L4g4oCeZ2l0IHB1c2ggLS1oZWxw4oCcLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjgwCisjOiBidWlsdGluL3B1c2guYzoyODMKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgogImNvdW50ZXJwYXJ0LiBDaGVjayBvdXQgdGhpcyBicmFuY2ggYW5kIGludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXNcbiIKQEAgLTE1MDcyLDcgKzE3ODg3LDcgQEAKICLQuNC90YTQvtGA0LzQsNGG0LjRjyDQv9C+0LPQu9C10LTQvdC10YLQtSDRgNCw0LfQtNC10LvQsCDigJ5Ob3RlIGFib3V0IGZhc3QtZm9yd2FyZHPigJwg0LIg0YHRgtGA0LDQvdC40YbQsNGC0LAg0L7RglxuIgogItGA0YrQutC+0LLQvtC00YHRgtCy0L7RgtC+IOKAnmdpdCBwdXNoIC0taGVscOKAnC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI4NgorIzogYnVpbHRpbi9wdXNoLmM6Mjg5CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgogIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKQEAgLTE1MDkxLDE0ICsxNzkwNiwxNCBAQAogItGB0YLRgNCw0L3QuNGG0LDRgtCwXG4iCiAi0L7RgiDRgNGK0LrQvtCy0L7QtNGB0YLQstC+0YLQviDigJ5naXQgcHVzaCAtLWhlbHDigJwuIgogCi0jOiBidWlsdGluL3B1c2guYzoyOTMKKyM6IGJ1aWx0aW4vcHVzaC5jOjI5NgogbXNnaWQgIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0YWcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIHJlbW90ZS4iCiBtc2dzdHIgIiIKICLQmNC30YLQu9Cw0YHQutCy0LDQvdC10YLQviDQtSDQvtGC0YXQstGK0YDQu9C10L3Qviwg0LfQsNGJ0L7RgtC+INCyINC+0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAgIgogItC10YLQuNC60LXRgixcbiIKICLQutC+0LnRgtC+INGJ0LUg0L/RgNC40L/QvtC60YDQuNC10YLQtSDRgSDQtdGC0LjQutC10YIg0L7RgiDQstCw0YjQtdGC0L4g0YXRgNCw0L3QuNC70LjRidC1LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mjk2CisjOiBidWlsdGluL3B1c2guYzoyOTkKIG1zZ2lkICIiCiAiWW91IGNhbm5vdCB1cGRhdGUgYSByZW1vdGUgcmVmIHRoYXQgcG9pbnRzIGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCiAib3IgdXBkYXRlIGEgcmVtb3RlIHJlZiB0byBtYWtlIGl0IHBvaW50IGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCkBAIC0xNTEwOCwyMiArMTc5MjMsMTAyIEBACiAi0YPQutCw0LfQsNGC0LXQuywg0LrQvtC50YLQviDQstC10YfQtSDRgdC+0YfQuCDQutGK0Lwg0L7QsdC10LrRgiwg0LrQvtC50YLQviDQvdC1INC1INC/0L7QtNCw0LLQsNC90LUsINC60LDQutGC0L4g0Lgg0YLQtdC/0YrRgNCy0LBcbiIKICLQtNCwINCz0L4g0L/RgNC+0LzQtdC90LjRgtC1INC00LAg0YHQvtGH0Lgg0LrRitC8INC/0L7QtNC+0LHQtdC9INC+0LHQtdC60YIuXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM1NworIzogYnVpbHRpbi9wdXNoLmM6MzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlB1c2hpbmcgdG8gJXNcbiIKIG1zZ3N0ciAi0JjQt9GC0LvQsNGB0LrQstCw0L3QtSDQutGK0Lwg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzYxCisjOiBidWlsdGluL3B1c2guYzozNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCiBtc2dzdHIgItGH0LDRgdGCINC+0YIg0YPQutCw0LfQsNGC0LXQu9C40YLQtSDQvdC1INCx0Y/RhdCwINC40LfRgtC70LDRgdC60LDQvdC4INC60YrQvCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzk1CisjOiBidWlsdGluL3B1c2guYzo1NDIKK21zZ2lkICJyZXBvc2l0b3J5IgorbXNnc3RyICLRhdGA0LDQvdC40LvQuNGJ0LUiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MyBidWlsdGluL3NlbmQtcGFjay5jOjE2NAorbXNnaWQgInB1c2ggYWxsIHJlZnMiCittc2dzdHIgItC40LfRgtC70LDRgdC60LLQsNC90LUg0L3QsCDQstGB0LjRh9C60Lgg0YPQutCw0LfQsNGC0LXQu9C4IgorCisjOiBidWlsdGluL3B1c2guYzo1NDQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKK21zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCittc2dzdHIgItC+0LPQu9C10LTQsNC70L3QviDQutC+0L/QuNC1INC90LAg0LLRgdC40YfQutC4INGD0LrQsNC30LDRgtC10LvQuCIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ2Cittc2dpZCAiZGVsZXRlIHJlZnMiCittc2dzdHIgItC40LfRgtGA0LjQstCw0L3QtSDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NworbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKK21zZ3N0ciAi0LjQt9GC0LvQsNGB0LrQstCw0L3QtSDQvdCwINC10YLQuNC60LXRgtC40YLQtSAo0L3QtdGB0YrQstC80LXRgdGC0LjQvNC+INGBINC+0L/RhtC40LjRgtC1IOKAni0tYWxs4oCcINC4IOKAni0tbWlycm9y4oCcKSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTUwIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY3Cittc2dpZCAiZm9yY2UgdXBkYXRlcyIKK21zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvQvdC+INC+0LHQvdC+0LLRj9Cy0LDQvdC1IgorCisjOiBidWlsdGluL3B1c2guYzo1NTIgYnVpbHRpbi9zZW5kLXBhY2suYzoxODEKK21zZ2lkICI8cmVmbmFtZT46PGV4cGVjdD4iCittc2dzdHIgItCY0JzQlV/QndCQX9Cj0JrQkNCX0JDQotCV0Js60J7Qp9CQ0JrQktCQ0J3QkF/QodCi0J7QmdCd0J7QodCiIgorCisjOiBidWlsdGluL3B1c2guYzo1NTMgYnVpbHRpbi9zZW5kLXBhY2suYzoxODIKK21zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKK21zZ3N0ciAi0KPQmtCQ0JfQkNCi0JXQm9GP0YIg0YLRgNGP0LHQstCwINC/0YrRgNCy0L7QvdCw0YfQsNC70L3QviDQtNCwINC1INGBINGC0LDQt9C4INCe0KfQkNCa0JLQkNCd0JBf0KHQotCe0JnQndCe0KHQoiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTU2Cittc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgorbXNnc3RyICLRg9C/0YDQsNCy0LvQtdC90LjQtSDQvdCwINGA0LXQutGD0YDRgdC40LLQvdC+0YLQviDQuNC30YLQu9Cw0YHQutCy0LDQvdC1INC90LAg0L/QvtC00LzQvtC00YPQu9C40YLQtSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTU4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1Cittc2dpZCAidXNlIHRoaW4gcGFjayIKK21zZ3N0ciAi0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRgdGK0LrRgNCw0YLQtdC90Lgg0L/QsNC60LXRgtC4IgorCisjOiBidWlsdGluL3B1c2guYzo1NTkgYnVpbHRpbi9wdXNoLmM6NTYwIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MgorbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgorbXNnc3RyICLQv9GA0L7Qs9GA0LDQvNCwINC30LAg0L/QvtC70YPRh9Cw0LLQsNC90LXRgtC+INC90LAg0L/QsNC60LXRgtC4IgorCisjOiBidWlsdGluL3B1c2guYzo1NjEKK21zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL3N0YXR1cyIKK21zZ3N0ciAi0LfQsNC00LDQstCw0L3QtSDQvdCwINC+0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg0LfQsCDQutC+0LzQsNC90LTQuNGC0LUg4oCeZ2l0IHB1bGwvc3RhdHVz4oCcIgorCisjOiBidWlsdGluL3B1c2guYzo1NjQKK21zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKK21zZ3N0ciAi0L7QutCw0YHRgtGA0Y/QvdC1INC90LAg0YPQutCw0LfQsNGC0LXQu9C40YLQtSwg0LrQvtC40YLQviDRgdCwINC/0YDQtdC80LDRhdC90LDRgtC4INC+0YIg0LvQvtC60LDQu9C90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTY2Cittc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCittc2dzdHIgItCx0LXQtyDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwINC60YPQutCw0YLQsCDQv9GA0LXQtNC4INC40LfRgtC70LDRgdC60LLQsNC90LUgKHByZS1wdXNoKSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTY3Cittc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgorbXNnc3RyICIiCisi0LjQt9GC0LvQsNGB0LrQstCw0L3QtSDQvdCwINC70LjQv9GB0LLQsNGJ0LjRgtC1INCyINC+0YLQtNCw0LvQtdGH0LXQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUsINC90L4g0YHQstGK0YDQt9Cw0L3QuCDRgSDRgtC10LrRg9GJ0L7RgtC+ICIKKyLQuNC30YLQu9Cw0YHQutCy0LDQvdC1LCDQtdGC0LjQutC10YLQuCIKKworIzogYnVpbHRpbi9wdXNoLmM6NTcwIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY5Cittc2dpZCAiR1BHIHNpZ24gdGhlIHB1c2giCittc2dzdHIgItC/0L7QtNC/0LjRgdCy0LDQvdC1INC90LAg0LjQt9GC0LvQsNGB0LrQstCw0L3QtdGC0L4g0YEgR1BHIgorCisjOiBidWlsdGluL3B1c2guYzo1NzIgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzYKK21zZ2lkICJyZXF1ZXN0IGF0b21pYyB0cmFuc2FjdGlvbiBvbiByZW1vdGUgc2lkZSIKK21zZ3N0ciAi0LjQt9C40YHQutCy0LDQvdC1INC90LAg0LDRgtC+0LzQsNGA0L3QuCDQvtC/0LXRgNCw0YbQuNC4INC+0YIg0L7RgtGB0YDQtdGJ0L3QsNGC0LAg0YHRgtGA0LDQvdCwIgorCisjOiBidWlsdGluL3B1c2guYzo1OTAKK21zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKK21zZ3N0ciAiIgorItC+0L/RhtC40Y/RgtCwIOKAni0tZGVsZXRl4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDQvtC/0YbQuNC40YLQtSAg4oCeLS1hbGzigJwsIOKAni0tbWlycm9y4oCcINC4IOKAni0tdGFnc+KAnCIKKworIzogYnVpbHRpbi9wdXNoLmM6NTkyCittc2dpZCAiLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgYW55IHJlZnMiCittc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tZGVsZXRl4oCcINC40LfQuNGB0LrQstCwINC/0L7QvdC1INC10LTQuNC9INGD0LrQsNC30LDRgtC10Lsg0L3QsCDQstC10YDRgdC40Y8iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjYxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QviDRg9C60LDQt9Cw0L3QviDRhdGA0LDQvdC40LvQuNGJ0LUg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5NgorIzogYnVpbHRpbi9wdXNoLmM6NjEzCiBtc2dpZCAiIgogIk5vIGNvbmZpZ3VyZWQgcHVzaCBkZXN0aW5hdGlvbi5cbiIKICJFaXRoZXIgc3BlY2lmeSB0aGUgVVJMIGZyb20gdGhlIGNvbW1hbmQtbGluZSBvciBjb25maWd1cmUgYSByZW1vdGUgIgpAQCAtMTUxNDUsMTA3ICsxODA0MCwyNyBAQAogIlxuIgogIiAgICBnaXQgcHVzaCDQmNCc0JVcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTUxCi1tc2dpZCAicmVwb3NpdG9yeSIKLW1zZ3N0ciAi0YXRgNCw0L3QuNC70LjRidC1IgotCi0jOiBidWlsdGluL3B1c2guYzo1NTIgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKLW1zZ2lkICJwdXNoIGFsbCByZWZzIgotbXNnc3RyICLQuNC30YLQu9Cw0YHQutCy0LDQvdC1INC90LAg0LLRgdC40YfQutC4INGD0LrQsNC30LDRgtC10LvQuCIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTUzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2Ci1tc2dpZCAibWlycm9yIGFsbCByZWZzIgotbXNnc3RyICLQvtCz0LvQtdC00LDQu9C90L4g0LrQvtC/0LjQtSDQvdCwINCy0YHQuNGH0LrQuCDRg9C60LDQt9Cw0YLQtdC70LgiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1NQotbXNnaWQgImRlbGV0ZSByZWZzIgotbXNnc3RyICLQuNC30YLRgNC40LLQsNC90LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1IgotCi0jOiBidWlsdGluL3B1c2guYzo1NTYKLW1zZ2lkICJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiCi1tc2dzdHIgItC40LfRgtC70LDRgdC60LLQsNC90LUg0L3QsCDQtdGC0LjQutC10YLQuNGC0LUgKNC90LXRgdGK0LLQvNC10YHRgtC40LzQviDRgSDQvtC/0YbQuNC40YLQtSDigJ4tLWFsbOKAnCDQuCDigJ4tLW1pcnJvcuKAnCkiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1OSBidWlsdGluL3NlbmQtcGFjay5jOjE2NwotbXNnaWQgImZvcmNlIHVwZGF0ZXMiCi1tc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70L3QviDQvtCx0L3QvtCy0Y/QstCw0L3QtSIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTYxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgxCi1tc2dpZCAiPHJlZm5hbWU+OjxleHBlY3Q+IgotbXNnc3RyICLQo9Ca0JDQl9CQ0KLQldCbOtCe0KfQkNCa0JLQkNCd0JBf0KHQotCe0JnQndCe0KHQoiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTYyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgyCi1tc2dpZCAicmVxdWlyZSBvbGQgdmFsdWUgb2YgcmVmIHRvIGJlIGF0IHRoaXMgdmFsdWUiCi1tc2dzdHIgItCj0JrQkNCX0JDQotCV0JvRj9GCINGC0YDRj9Cx0LLQsCDQv9GK0YDQstC+0L3QsNGH0LDQu9C90L4g0LTQsCDQtSDRgSDRgtCw0LfQuCDQntCn0JDQmtCS0JDQndCQX9Ch0KLQntCZ0J3QntCh0KIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU2NQotbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIKLW1zZ3N0ciAi0YPQv9GA0LDQstC70LXQvdC40LUg0L3QsCDRgNC10LrRg9GA0YHQuNCy0L3QvtGC0L4g0LjQt9GC0LvQsNGB0LrQstCw0L3QtSDQvdCwINC/0L7QtNC80L7QtNGD0LvQuNGC0LUiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU2NyBidWlsdGluL3NlbmQtcGFjay5jOjE3NQotbXNnaWQgInVzZSB0aGluIHBhY2siCi1tc2dzdHIgItC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0YHRitC60YDQsNGC0LXQvdC4INC/0LDQutC10YLQuCIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTY4IGJ1aWx0aW4vcHVzaC5jOjU2OSBidWlsdGluL3NlbmQtcGFjay5jOjE2MQotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKLW1zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKLW1zZ3N0ciAi0L/RgNC+0LPRgNCw0LzQsCDQt9CwINC/0L7Qu9GD0YfQsNCy0LDQvdC10YLQviDQvdCwINC/0LDQutC10YLQuCIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTcwCi1tc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCi1tc2dzdHIgItC30LDQtNCw0LLQsNC90LUg0L3QsCDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1INC30LAg0LrQvtC80LDQvdC00LjRgtC1IOKAnmdpdCBwdWxsL3N0YXR1c+KAnCIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTczCi1tc2dpZCAicHJ1bmUgbG9jYWxseSByZW1vdmVkIHJlZnMiCi1tc2dzdHIgItC+0LrQsNGB0YLRgNGP0L3QtSDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUsINC60L7QuNGC0L4g0YHQsCDQv9GA0LXQvNCw0YXQvdCw0YLQuCDQvtGCINC70L7QutCw0LvQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU3NQotbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgotbXNnc3RyICLQsdC10Lcg0LjQt9C/0YrQu9C90LXQvdC40LUg0L3QsCDQutGD0LrQsNGC0LAg0L/RgNC10LTQuCDQuNC30YLQu9Cw0YHQutCy0LDQvdC1IChwcmUtcHVzaCkiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU3NgotbXNnaWQgInB1c2ggbWlzc2luZyBidXQgcmVsZXZhbnQgdGFncyIKLW1zZ3N0ciAiIgotItC40LfRgtC70LDRgdC60LLQsNC90LUg0L3QsCDQu9C40L/RgdCy0LDRidC40YLQtSDQsiDQvtGC0LTQsNC70LXRh9C10L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1LCDQvdC+INGB0LLRitGA0LfQsNC90Lgg0YEg0YLQtdC60YPRidC+0YLQviAiCi0i0LjQt9GC0LvQsNGB0LrQstCw0L3QtSwg0LXRgtC40LrQtdGC0LgiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU3OSBidWlsdGluL3NlbmQtcGFjay5jOjE2OQotbXNnaWQgIkdQRyBzaWduIHRoZSBwdXNoIgotbXNnc3RyICLQv9C+0LTQv9C40YHQstCw0L3QtSDQvdCwINC40LfRgtC70LDRgdC60LLQsNC90LXRgtC+INGBIEdQRyIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTgxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2Ci1tc2dpZCAicmVxdWVzdCBhdG9taWMgdHJhbnNhY3Rpb24gb24gcmVtb3RlIHNpZGUiCi1tc2dzdHIgItC40LfQuNGB0LrQstCw0L3QtSDQvdCwINCw0YLQvtC80LDRgNC90Lgg0L7Qv9C10YDQsNGG0LjQuCDQvtGCINC+0YLRgdGA0LXRidC90LDRgtCwINGB0YLRgNCw0L3QsCIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTk5Ci1tc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCi1tc2dzdHIgIiIKLSLQvtC/0YbQuNGP0YLQsCDigJ4tLWRlbGV0ZeKAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg0L7Qv9GG0LjQuNGC0LUgIOKAni0tYWxs4oCcLCDigJ4tLW1pcnJvcuKAnCDQuCDigJ4tLXRhZ3PigJwiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjYwMQotbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgotbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLWRlbGV0ZeKAnCDQuNC30LjRgdC60LLQsCDQv9C+0L3QtSDQtdC00LjQvSDRg9C60LDQt9Cw0YLQtdC7INC90LAg0LLQtdGA0YHQuNGPIgotCi0jOiBidWlsdGluL3B1c2guYzo2MDQKKyM6IGJ1aWx0aW4vcHVzaC5jOjYyOAogbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS1hbGzigJwg0Lgg4oCeLS10YWdz4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgogCi0jOiBidWlsdGluL3B1c2guYzo2MDYKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzMAogbXNnaWQgIi0tYWxsIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tYWxs4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDRg9C60LDQt9Cy0LDQvdC10YLQviDQvdCwINCy0LXRgNGB0LjRjyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjEwCisjOiBidWlsdGluL3B1c2guYzo2MzQKIG1zZ2lkICItLW1pcnJvciBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgItC+0L/RhtC40LjRgtC1IOKAni0tbWlycm9y4oCcINC4IOKAni0tdGFnc+KAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjEyCisjOiBidWlsdGluL3B1c2guYzo2MzYKIG1zZ2lkICItLW1pcnJvciBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLW1pcnJvcuKAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg0YPQutCw0LfQstCw0L3QtdGC0L4g0L3QsCDQstC10YDRgdC40Y8iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjYxNQorIzogYnVpbHRpbi9wdXNoLmM6NjM5CiBtc2dpZCAiLS1hbGwgYW5kIC0tbWlycm9yIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgItC+0L/RhtC40LjRgtC1IOKAni0tYWxs4oCcINC4IOKAni0tbWlycm9y4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgogCi0jOiBidWlsdGluL3B1c2guYzo2MzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjY0MwogbXNnaWQgInB1c2ggb3B0aW9ucyBtdXN0IG5vdCBoYXZlIG5ldyBsaW5lIGNoYXJhY3RlcnMiCiBtc2dzdHIgItC+0L/RhtC40LjRgtC1INC30LAg0LjQt9GC0LvQsNGB0LrQstCw0L3QtSDQvdC1INGC0YDRj9Cx0LLQsCDQtNCwINGB0YrQtNGK0YDQttCw0YIg0LfQvdCw0Log0LfQsCDQvdC+0LIg0YDQtdC0IgogCkBAIC0xNTI2MSwyOCArMTgwNzYsMzYgQEAKIG1zZ2lkICJnaXQgcmFuZ2UtZGlmZiBbPG9wdGlvbnM+XSA8YmFzZT4gPG9sZC10aXA+IDxuZXctdGlwPiIKIG1zZ3N0ciAiZ2l0IHJhbmdlLWRpZmYgW9Ce0J/QptCY0K/igKZdINCR0JDQl9CQINCh0KLQkNCgX9CS0KDQqtClINCd0J7Qkl/QktCg0KrQpSIKIAotIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjEKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjIyCiBtc2dpZCAiUGVyY2VudGFnZSBieSB3aGljaCBjcmVhdGlvbiBpcyB3ZWlnaHRlZCIKIG1zZ3N0ciAi0J/RgNC+0YbQtdC90YIg0LfQsCDQvtGG0LXQvdC60LAg0L3QsCDRgdGK0LfQtNCw0LLQsNC90LXRgtC+IgogCi0jOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyMworIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjQKIG1zZ2lkICJ1c2Ugc2ltcGxlIGRpZmYgY29sb3JzIgogbXNnc3RyICLQuNC30L/QvtC70LfQstCw0L3QtSDQvdCwINC/0YDQvtGB0YLQuCDRhtCy0LXRgtC+0LLQtSDQt9CwINGA0LDQt9C70LjQutC40YLQtSIKIAotIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NjEgYnVpbHRpbi9yYW5nZS1kaWZmLmM6NjUKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjI2Cittc2dpZCAibm90ZXMiCittc2dzdHIgItCx0LXQu9C10LbQutC4IgorCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyNgorbXNnaWQgInBhc3NlZCB0byAnZ2l0IGxvZyciCittc2dzdHIgItC/0L7QtNCw0LLQsCDRgdC1INC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBsb2figJwiCisKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjUwIGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIC4uIGluIHJhbmdlOiAnJXMnIgogbXNnc3RyICLigJ4uLuKAnCDQu9C40L/RgdCy0LAg0LIg0LTQuNCw0L/QsNC30L7QvdCwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL3JhbmdlLWRpZmYuYzo3NQorIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NjQKIG1zZ2lkICJzaW5nbGUgYXJnIGZvcm1hdCBtdXN0IGJlIHN5bW1ldHJpYyByYW5nZSIKIG1zZ3N0ciAi0LLQsNGA0LjQsNC90YLRitGCINGBINC10LTQuNC90YHRgtCy0LXQvSDQsNGA0LPRg9C80LXQvdGCINC40LfQuNGB0LrQstCwINGB0LjQvNC10YLRgNC40YfQtdC9INC00LjQsNC/0LDQt9C+0L0iCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjkwCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzo3OQogbXNnaWQgIm5lZWQgdHdvIGNvbW1pdCByYW5nZXMiCiBtc2dzdHIgItC90LXQvtCx0YXQvtC00LjQvNC4INGB0LAg0LTQstCwINC00LjQsNC/0LDQt9C+0L3QsCDRgSDQv9C+0LTQsNCy0LDQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDEKIG1zZ2lkICIiCiAiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxwcmVmaXg+KSAiCiAiWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLXNwYXJzZS1jaGVja291dF0gWy0tIgpAQCAtMTUyOTMsMTE5ICsxODExNiwzMTAgQEAKICJjaGVja291dF0gWy0taW5kZXgtb3V0cHV0PdCk0JDQmdCbXSAoLS1lbXB0eSB8INCj0JrQkNCX0JDQotCV0Jtf0JrQqtCcX9CU0KrQoNCS0J5fMSAiCiAiW9Cj0JrQkNCX0JDQotCV0Jtf0JrQqtCcX9CU0KrQoNCS0J5fMiBb0KPQmtCQ0JfQkNCi0JXQm1/QmtCq0Jxf0JTQqtCg0JLQnl8zXV0pIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjQKIG1zZ2lkICJ3cml0ZSByZXN1bHRpbmcgaW5kZXggdG8gPGZpbGU+IgogbXNnc3RyICLQt9Cw0L/QsNC30LLQsNC90LUg0L3QsCDQuNC90LTQtdC60YHQsCDQsiDRgtC+0LfQuCDQpNCQ0JnQmyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjYKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI3CiBtc2dpZCAib25seSBlbXB0eSB0aGUgaW5kZXgiCiBtc2dzdHIgItGB0LDQvNC+INC30LDQvdGD0LvRj9Cy0LDQvdC1INC90LAg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI4CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOQogbXNnaWQgIk1lcmdpbmciCiBtc2dzdHIgItCh0LvQuNCy0LDQvdC1IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzEKIG1zZ2lkICJwZXJmb3JtIGEgbWVyZ2UgaW4gYWRkaXRpb24gdG8gYSByZWFkIgogbXNnc3RyICLQtNCwINGB0LUg0LjQt9Cy0YrRgNGI0Lgg0Lgg0YHQu9C40LLQsNC90LUg0YHQu9C10LQg0L7RgdCy0LXQvSDQuNC30YfQuNGC0LDQvdC10YLQviIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzIKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMzCiBtc2dpZCAiMy13YXkgbWVyZ2UgaWYgbm8gZmlsZSBsZXZlbCBtZXJnaW5nIHJlcXVpcmVkIgogbXNnc3RyICLRgtGA0L7QudC90L4g0YHQu9C40LLQsNC90LUsINCw0LrQviDQvdC1INGB0LUg0L3QsNC70LDQs9CwINC/0L7RhNCw0LnQu9C+0LLQviDRgdC70LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzQKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM1CiBtc2dpZCAiMy13YXkgbWVyZ2UgaW4gcHJlc2VuY2Ugb2YgYWRkcyBhbmQgcmVtb3ZlcyIKIG1zZ3N0ciAi0YLRgNC+0LnQvdC+INGB0LvQuNCy0LDQvdC1INC/0YDQuCDQtNC+0LHQsNCy0Y/QvdC1INC90LAg0LTQvtCx0LDQstGP0L3QtSDQuCDQuNC30YLRgNC40LLQsNC90LUg0L3QsCDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzYKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM3CiBtc2dpZCAic2FtZSBhcyAtbSwgYnV0IGRpc2NhcmQgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAi0YHRitGJ0L7RgtC+INC60LDRgtC+INC+0L/RhtC40Y/RgtCwIOKAni1t4oCcLCDQvdC+INC90LXRgdC70LXRgtC40YLQtSDQvtCx0LXQutGC0Lgg0YHQtSDQv9GA0LXQvdC10LHRgNC10LPQstCw0YIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOAogbXNnaWQgIjxzdWJkaXJlY3Rvcnk+LyIKIG1zZ3N0ciAi0J/QntCU0JTQmNCg0JXQmtCi0J7QoNCY0K8vIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKIG1zZ2lkICJyZWFkIHRoZSB0cmVlIGludG8gdGhlIGluZGV4IHVuZGVyIDxzdWJkaXJlY3Rvcnk+LyIKIG1zZ3N0ciAi0LjQt9GH0LjRgtCw0L3QtSDQvdCwINC00YrRgNCy0L7RgtC+INC60YrQvCDQuNC90LTQtdC60YHQsCDQutCw0YLQviDQtNCwINC1INCyINGC0LDQt9C4INCf0J7QlNCU0JjQoNCV0JrQotCe0KDQmNCvLyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDEKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQyCiBtc2dpZCAidXBkYXRlIHdvcmtpbmcgdHJlZSB3aXRoIG1lcmdlIHJlc3VsdCIKIG1zZ3N0ciAi0L7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDRgSDRgNC10LfRg9C70YLQsNGC0LAg0L7RgiDRgdC70LjQstCw0L3QtdGC0L4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NAogbXNnaWQgImdpdGlnbm9yZSIKIG1zZ3N0ciAi0KTQkNCZ0Jtf0KFf0JjQl9Ca0JvQrtCn0JXQndCY0K8iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ0CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NQogbXNnaWQgImFsbG93IGV4cGxpY2l0bHkgaWdub3JlZCBmaWxlcyB0byBiZSBvdmVyd3JpdHRlbiIKIG1zZ3N0ciAi0L/QvtC30LLQvtC70Y/QstCw0L3QtSDQvdCwINC/0YDQtdC30LDQv9C40YHQstCw0L3QtdGC0L4g0L3QsCDQuNC30YDQuNGH0L3QviDQv9GA0LXQvdC10LHRgNC10LPQstCw0L3QuNGC0LUg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0OAogbXNnaWQgImRvbid0IGNoZWNrIHRoZSB3b3JraW5nIHRyZWUgYWZ0ZXIgbWVyZ2luZyIKIG1zZ3N0ciAi0LHQtdC3INC/0YDQvtCy0LXRgNC60LAg0L3QsCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDRgdC70LXQtCDRgdC70LjQstCw0L3QtdGC0L4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ4CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0OQogbXNnaWQgImRvbid0IHVwZGF0ZSB0aGUgaW5kZXggb3IgdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAi0LHQtdC3INC+0LHQvdC+0LLRj9Cy0LDQvdC1INC4INC90LAg0LjQvdC00LXQutGB0LAsINC4INC90LAg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUwCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1MQogbXNnaWQgInNraXAgYXBwbHlpbmcgc3BhcnNlIGNoZWNrb3V0IGZpbHRlciIKIG1zZ3N0ciAi0LHQtdC3INC/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINGE0LjQu9GC0YrRgNCwINC30LAg0YfQsNGB0YLQuNGH0L3QviDQuNC30YLQtdCz0LvRj9C90LUiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUyCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1MwogbXNnaWQgImRlYnVnIHVucGFjay10cmVlcyIKIG1zZ3N0ciAi0LjQt9GH0LjRgdGC0LLQsNC90LUg0L3QsCDQs9GA0LXRiNC60Lgg0LIg0LrQvtC80LDQvdC00LDRgtCwIOKAnnVucGFjay10cmVlc+KAnCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoyOQotbXNnaWQgIiIKLSJnaXQgcmViYXNlIFstaV0gW29wdGlvbnNdIFstLWV4ZWMgPGNtZD5dIFstLW9udG8gPG5ld2Jhc2U+XSBbPHVwc3RyZWFtPl0gIgotIls8YnJhbmNoPl0iCi1tc2dzdHIgIiIKLSJnaXQgcmViYXNlIFstaV0gW9Ce0J/QptCY0K/igKZdIFstLWV4ZWMg0JrQntCc0JDQndCU0JBdIFstLW9udG8g0J3QntCS0JBf0JHQkNCX0JBdIFvQmtCb0J7QnV/QmNCX0KLQntCn0J3QmNCaXSAiCi0iW9Ca0JvQntCdXSIKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTU3Cittc2dpZCAic3VwcHJlc3MgZmVlZGJhY2sgbWVzc2FnZXMiCittc2dzdHIgItCx0LXQtyDQuNC90YTQvtGA0LzQsNGG0LjQvtC90L3QuCDRgdGK0L7QsdGJ0LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MzEKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTg4Cittc2dpZCAiWW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCittc2dzdHIgItCf0YrRgNCy0L4g0YLRgNGP0LHQstCwINC00LAg0LrQvtGA0LjQs9C40YDQsNGC0LUg0LjQvdC00LXQutGB0LAg0YHQuCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzozMgorbXNnaWQgIiIKKyJnaXQgcmViYXNlIFstaV0gW29wdGlvbnNdIFstLWV4ZWMgPGNtZD5dIFstLW9udG8gPG5ld2Jhc2U+IHwgLS1rZWVwLWJhc2VdICIKKyJbPHVwc3RyZWFtPiBbPGJyYW5jaD5dXSIKK21zZ3N0ciAiIgorImdpdCByZWJhc2UgWy1pXSBb0J7Qn9Cm0JjQr+KApl0gWy0tZXhlYyDQmtCe0JzQkNCd0JTQkF0gWy0tb250byDQndCe0JLQkF/QkdCQ0JfQkCB8IC0ta2VlcC1iYXNlXSAiCisiW9Ca0JvQntCdX9CY0JfQotCe0KfQndCY0JogW9Ca0JvQntCdXV0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzQKIG1zZ2lkICIiCiAiZ2l0IHJlYmFzZSBbLWldIFtvcHRpb25zXSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPl0gLS1yb290IFs8YnJhbmNoPl0iCiBtc2dzdHIgIiIKICJnaXQgcmViYXNlIFstaV0gW9Ce0J/QptCY0K/igKZdIFstLWV4ZWMg0JrQntCc0JDQndCU0JBdIFstLW9udG8g0J3QntCS0JBf0JHQkNCX0JBdIC0tcm9vdCBb0JrQm9Ce0J1dIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjMzCisjOiBidWlsdGluL3JlYmFzZS5jOjM2CiBtc2dpZCAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIHwgLS1hYm9ydCB8IC0tc2tpcCB8IC0tZWRpdC10b2RvIgogbXNnc3RyICJnaXQgcmViYXNlIC0tY29udGludWUgfCAtLWFib3J0IHwgLS1za2lwIHwgLS1lZGl0LXRvZG8iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTE5CisjOiBidWlsdGluL3JlYmFzZS5jOjE3NyBidWlsdGluL3JlYmFzZS5jOjIwMSBidWlsdGluL3JlYmFzZS5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnVzYWJsZSB0b2RvIGxpc3Q6ICclcyciCittc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30YLRgNC40LLQsNC90LUg0L3QsCDRgdC/0LjRgdGK0LrQsCDQt9CwINC40LfQv9GK0LvQvdC10L3QuNC1OiDigJ4lc+KAnCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxODYgYnVpbHRpbi9yZWJhc2UuYzoyMTIgYnVpbHRpbi9yZWJhc2UuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlICclcycuIgorbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQt9Cw0L/QuNGI0LUuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjI3MQorbXNnaWQgIm5vIEhFQUQ/IgorbXNnc3RyICLQm9C40L/RgdCy0LAg0YPQutCw0LfQsNGC0LXQuyDigJ5IRUFE4oCcIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAlcyIKK21zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg0LLRgNC10LzQtdC90L3QsCDQtNC40YDQtdC60YLQvtGA0LjRjyDigJ4lc+KAnCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzozMDQKK21zZ2lkICJjb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKK21zZ3N0ciAi0L3QtdCy0YrQt9C80L7QttC90L4g0LfQsNC00LDQstCw0L3QtSDQvdCwINC40L3RgtC10YDQsNC60YLQuNCy0L3QsCDRgNCw0LHQvtGC0LAiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzYyCittc2dpZCAiY291bGQgbm90IGdlbmVyYXRlIHRvZG8gbGlzdCIKK21zZ3N0ciAi0YTQsNC50LvRitGCINGBINC60L7QvNCw0L3QtNC40YLQtSDQvdC1INC80L7QttC1INC00LAg0YHQtSDQs9C10L3QtdGA0LjRgNCwIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQwMgorbXNnaWQgImEgYmFzZSBjb21taXQgbXVzdCBiZSBwcm92aWRlZCB3aXRoIC0tdXBzdHJlYW0gb3IgLS1vbnRvIgorbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLXVwc3RyZWFt4oCcINC4IOKAni0tb250b+KAnCDQuNC30LjRgdC60LLQsNGCINCx0LDQt9C+0LLQviDQv9C+0LTQsNCy0LDQvdC1IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ1NworbXNnaWQgImdpdCByZWJhc2UtLWludGVyYWN0aXZlIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgcmViYXNlLS1pbnRlcmFjdGl2ZSBb0J7Qn9Cm0JjQr+KApl0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDY5Cittc2dpZCAia2VlcCBlbXB0eSBjb21taXRzIgorbXNnc3RyICLQt9Cw0L/QsNC30LLQsNC90LUg0L3QsCDQv9GA0LDQt9C90LjRgtC1INC/0L7QtNCw0LLQsNC90LjRjyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzEgYnVpbHRpbi9yZXZlcnQuYzoxMjgKK21zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCittc2dzdHIgItC/0L7Qt9Cy0L7Qu9GP0LLQsNC90LUg0L3QsCDQv9GA0LDQt9C90Lgg0YHRitC+0LHRidC10L3QuNGPINC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3MgorbXNnaWQgInJlYmFzZSBtZXJnZSBjb21taXRzIgorbXNnc3RyICLQv9GA0LXQsdCw0LfQuNGA0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDRgdGK0YEg0YHQu9C40LLQsNC90LjRjyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzQKK21zZ2lkICJrZWVwIG9yaWdpbmFsIGJyYW5jaCBwb2ludHMgb2YgY291c2lucyIKK21zZ3N0ciAiIgorItC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINC/0YrRgNCy0L7QvdCw0YfQsNC70L3QuNGC0LUg0YLQvtGH0LrQuCDQvdCwINGA0LDQt9C60LvQvtC90Y/QstCw0L3QtSDQvdCwINGB0LXRgdGC0YDQuNC90YHQutC40YLQtSDQutC70L7QvdC4IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3NgorbXNnaWQgIm1vdmUgY29tbWl0cyB0aGF0IGJlZ2luIHdpdGggc3F1YXNoIS9maXh1cCEiCittc2dzdHIgItC/0YDQtdC80LXRgdGC0LLQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwLCDQutC+0LjRgtC+INC30LDQv9C+0YfQstCw0YIg0YHRitGBIOKAnnNxdWFzaCHigJwv4oCcZml4dXAh4oCcIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3NworbXNnaWQgInNpZ24gY29tbWl0cyIKK21zZ3N0ciAi0L/QvtC00L/QuNGB0LLQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3OSBidWlsdGluL3JlYmFzZS5jOjE0NTUKK21zZ2lkICJkaXNwbGF5IGEgZGlmZnN0YXQgb2Ygd2hhdCBjaGFuZ2VkIHVwc3RyZWFtIgorbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdGC0LDRgtC40YHRgtC40LrQsCDRgSDQv9GA0L7QvNC10L3QuNGC0LUg0LIg0YHQu9C10LTQtdC90LjRjyDQutC70L7QvSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0ODEKK21zZ2lkICJjb250aW51ZSByZWJhc2UiCittc2dzdHIgItC/0YDQvtC00YrQu9C20LDQstCw0L3QtSDQvdCwINC/0YDQtdCx0LDQt9C40YDQsNC90LXRgtC+IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4MworbXNnaWQgInNraXAgY29tbWl0IgorbXNnc3RyICLQv9GA0LXRgdC60LDRh9Cw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDg0Cittc2dpZCAiZWRpdCB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICLRgNC10LTQsNC60YLQuNGA0LDQvdC1INC90LAg0YHQv9C40YHRitC60LAg0YEg0LrQvtC80LDQvdC00Lgg0LfQsCDQuNC30L/RitC70L3QtdC90LjQtSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0ODYKK21zZ2lkICJzaG93IHRoZSBjdXJyZW50IHBhdGNoIgorbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgtC10LrRg9GJ0LDRgtCwINC60YDRitC/0LrQsCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0ODkKK21zZ2lkICJzaG9ydGVuIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKK21zZ3N0ciAi0YHRitC60YDQsNGC0LXQvdC4INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0Lgg0LIg0YHQv9C40YHRitC60LAg0LfQsCDQuNC30L/RitC70L3QtdC90LjQtSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTEKK21zZ2lkICJleHBhbmQgY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICLQv9GK0LvQvdC4INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0Lgg0LIg0YHQv9C40YHRitC60LAg0LfQsCDQuNC30L/RitC70L3QtdC90LjQtSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTMKK21zZ2lkICJjaGVjayB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICLQv9GA0L7QstC10YDQutCwINC90LAg0YHQv9C40YHRitC60LAg0LfQsCDQuNC30L/RitC70L3QtdC90LjQtSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTUKK21zZ2lkICJyZWFycmFuZ2UgZml4dXAvc3F1YXNoIGxpbmVzIgorbXNnc3RyICIiCisi0L/RgNC10L/QvtC00YDQtdC20LTQsNC90LUg0L3QsCDRgNC10LTQvtCy0LXRgtC1INC30LAg0LLQutCw0YDQstCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LjRj9GC0LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQsiAiCisi0L/RgNC10LTRhdC+0LTQvdC40YLQtSDQuNC8INGB0YrRgSDQuCDQsdC10Lcg0YHQvNC10L3QuCDQvdCwINGB0YrQvtCx0YnQtdC90LjQtdGC0L4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDk3Cittc2dpZCAiaW5zZXJ0IGV4ZWMgY29tbWFuZHMgaW4gdG9kbyBsaXN0IgorbXNnc3RyICLQstC80YrQutCy0LDQvdC1INC90LAg0LrQvtC80LDQvdC00LjRgtC1INC30LAg0LjQt9C/0YrQu9C90LXQvdC40LUg0LIg0YHQv9C40YHRitC60LAg0LfQsCDQuNC30L/RitC70L3QtdC90LjQtSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTgKK21zZ2lkICJvbnRvIgorbXNnc3RyICLQstGK0YDRhdGDIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwMQorbXNnaWQgInJlc3RyaWN0LXJldmlzaW9uIgorbXNnc3RyICLQvtCz0YDQsNC90LjRh9C10L3QsCDQstC10YDRgdC40Y8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTAxCittc2dpZCAicmVzdHJpY3QgcmV2aXNpb24iCittc2dzdHIgItC+0LPRgNCw0L3QuNGH0LXQvdCwINCy0LXRgNGB0LjRjyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDMKK21zZ2lkICJzcXVhc2gtb250byIKK21zZ3N0ciAi0L/QvtC00LDQstCw0L3QtSwg0LIg0LrQvtC10YLQviDQtNGA0YPQs9C40YLQtSDQtNCwINGB0LUg0LLQutCw0YDQsNGCIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwNAorbXNnaWQgInNxdWFzaCBvbnRvIgorbXNnc3RyICLQv9C+0LTQsNCy0LDQvdC1LCDQsiDQutC+0LXRgtC+INC00YDRg9Cz0LjRgtC1INC00LAg0YHQtSDQstC60LDRgNCw0YIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA2Cittc2dpZCAidGhlIHVwc3RyZWFtIGNvbW1pdCIKK21zZ3N0ciAi0L/QvtC00LDQstCw0L3QtSDQvdCwINC40LfRgtC+0YfQvdC40LrQsCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDgKK21zZ2lkICJoZWFkLW5hbWUiCittc2dzdHIgItC40LzQtSDQvdCwINCy0YrRgNGF0LAiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA4Cittc2dpZCAiaGVhZCBuYW1lIgorbXNnc3RyICLQuNC80LUg0L3QsCDQstGK0YDRhdCwIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxMworbXNnaWQgInJlYmFzZSBzdHJhdGVneSIKK21zZ3N0ciAi0YHRgtGA0LDRgtC10LPQuNGPINC90LAg0L/RgNC10LHQsNC30LjRgNCw0L3QtSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTQKK21zZ2lkICJzdHJhdGVneS1vcHRzIgorbXNnc3RyICLQvtC/0YbQuNC4INC90LAg0YHRgtGA0LDRgtC10LPQuNGP0YLQsCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTUKK21zZ2lkICJzdHJhdGVneSBvcHRpb25zIgorbXNnc3RyICLQvtC/0YbQuNC4INC90LAg0YHRgtGA0LDRgtC10LPQuNGP0YLQsCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTYKK21zZ2lkICJzd2l0Y2gtdG8iCittc2dzdHIgItC/0YDQtdC80LjQvdCw0LLQsNC90LUg0LrRitC8IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxNworbXNnaWQgInRoZSBicmFuY2ggb3IgY29tbWl0IHRvIGNoZWNrb3V0IgorbXNnc3RyICLQutC70L7QvdGK0YIsINC60YrQvCDQutC+0LnRgtC+INC00LAg0YHQtSDQv9GA0LXQvNC40L3QtSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTgKK21zZ2lkICJvbnRvLW5hbWUiCittc2dzdHIgItC40LzQtSDQvdCwINCx0LDQt9CwIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOAorbXNnaWQgIm9udG8gbmFtZSIKK21zZ3N0ciAi0LjQvNC1INC90LAg0LHQsNC30LAiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE5Cittc2dpZCAiY21kIgorbXNnc3RyICLQutC+0LzQsNC90LTQsCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTkKK21zZ2lkICJ0aGUgY29tbWFuZCB0byBydW4iCittc2dzdHIgItC60L7QvNCw0L3QtNCwINC30LAg0LjQt9C/0YrQu9C90LXQvdC40LUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTIyIGJ1aWx0aW4vcmViYXNlLmM6MTU0MAorbXNnaWQgImF1dG9tYXRpY2FsbHkgcmUtc2NoZWR1bGUgYW55IGBleGVjYCB0aGF0IGZhaWxzIgorbXNnc3RyICIiCisi0LDQstGC0L7QvNCw0YLQuNGH0L3QviDQv9C+0LTQsNCy0LDQvdC1INC30LAg0L/QvtCy0YLQvtGA0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwINC60L7QvNCw0L3QtNC40YLQtSDQt9Cw0LLRitGA0YjQuNC70Lgg0YEg0L3QtdGD0YHQv9C10YUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTQwCittc2dpZCAiLS1bbm8tXXJlYmFzZS1jb3VzaW5zIGhhcyBubyBlZmZlY3Qgd2l0aG91dCAtLXJlYmFzZS1tZXJnZXMiCittc2dzdHIgItC+0L/RhtC40LjRgtC1IOKAni0tW25vLV1yZWJhc2UtY291c2luc+KAnCDQuNC30LjRgdC60LLQsNGCINC+0L/RhtC40Y/RgtCwIOKAni0tcmViYXNlLW1lcmdlc+KAnCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcmVxdWlyZXMgYW4gaW50ZXJhY3RpdmUgcmViYXNlIgogbXNnc3RyICLigJ4lc+KAnCDQuNC30LjRgdC60LLQsCDQuNC90YLQtdGA0LDQutGC0LjQstC90L4g0L/RgNC10LHQsNC30LjRgNCw0L3QtSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNzEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgJ29udG8nOiAnJXMnIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0LXQvNC40L3QtSDQutGK0Lwg0L3QvtCy0LDRgtCwINCx0LDQt9CwLCDQt9Cw0LTQsNC00LXQvdCwINGBIOKAnm9udG/igJw6IOKAniVz4oCcIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE4NgorIzogYnVpbHRpbi9yZWJhc2UuYzo2MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvcmlnLWhlYWQ6ICclcyciCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INGD0LrQsNC30LDRgtC10Lsg0LrRitC8INC/0YrRgNCy0L7QvdCw0YfQsNC70LXQvSDQstGA0YrRhSDigJ5vcmlnLWhlYWTigJw6IOKAniVz4oCcIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjIxNAorIzogYnVpbHRpbi9yZWJhc2UuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgaW52YWxpZCBhbGxvd19yZXJlcmVfYXV0b3VwZGF0ZTogJyVzJyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90LDRgtCwINGB0YLQvtC50L3QvtGB0YIg0L3QsCDigJ5hbGxvd19yZXJlcmVfYXV0b3VwZGF0ZeKAnCDRgdC1INC/0YDQtdGB0LrQsNGH0LA6IOKAniVz4oCcIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjI1OQorIzogYnVpbHRpbi9yZWJhc2UuYzo3MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAi0J/RitGC0Y/RgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoyNzcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzdG9yZSAlcyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9Cw0LfQtdC9IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjMzNworIzogYnVpbHRpbi9yZWJhc2UuYzo4NDkKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIEhFQUQgcmV2aXNpb24iCittc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0L/RgNC10LTQtdC70Lgg0LrRitC8INC60LDQutCy0L4g0LTQsCDRgdC+0YfQuCDRg9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjk3MiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODEKIG1zZ2lkICIiCiAiUmVzb2x2ZSBhbGwgY29uZmxpY3RzIG1hbnVhbGx5LCBtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgd2l0aFxuIgogIlwiZ2l0IGFkZC9ybSA8Y29uZmxpY3RlZF9maWxlcz5cIiwgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKQEAgLTE1NDEzLDE3ICsxODQyNywzMSBAQAogIlRvIGFib3J0IGFuZCBnZXQgYmFjayB0byB0aGUgc3RhdGUgYmVmb3JlIFwiZ2l0IHJlYmFzZVwiLCBydW4gXCJnaXQgcmViYXNlIC0tIgogImFib3J0XCIuIgogbXNnc3RyICIiCi0i0KHQu9C10LQg0LrQvtGA0LjQs9C40YDQsNC90LXRgtC+INC90LAg0LrQvtC90YTQu9C40LrRgtC40YLQtSwg0L7RgtCx0LXQu9C10LbQtdGC0LUg0YDQtdGI0LDQstCw0L3QtdGC0L4g0LjQvCDRh9GA0LXQtzpcbiIKKyLQodC70LXQtCDQutC+0YDQuNCz0LjRgNCw0L3QtdGC0L4g0L3QsCDQutC+0L3RhNC70LjQutGC0LjRgtC1INC+0YLQsdC10LvQtdC20LXRgtC1INGA0LXRiNCw0LLQsNC90LXRgtC+INC40Lwg0YfRgNC10Lc6XG4iCiAi4oCeZ2l0IGFkZC9ybSDQpNCQ0JnQm1/QoV/QmtCe0J3QpNCb0JjQmtCi4oCm4oCcINC4INC40LfQv9GK0LvQvdC10YLQtSDigJ5naXQgcmViYXNlIC0tY29udGludWXigJwuXG4iCiAi0JDQutC+INC/0YDQtdC00L/QvtGH0LjRgtCw0YLQtSDQtNCwINC/0YDQtdGB0LrQvtGH0LjRgtC1INGC0LDQt9C4INC60YDRitC/0LrQsCwg0LjQt9C/0YrQu9C90LXRgtC1IOKAnmdpdCByZWJhc2UgLS1za2lw4oCcLlxuIgogItCX0LAg0LTQsCDQvtGC0LrQsNC20LXRgtC1INC/0YDQtdCx0LDQt9C40YDQsNC90LXRgtC+INC4INC00LAg0YHQtSDQstGK0YDQvdC10YLQtSDQutGK0Lwg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC+0YLQviDRgdGK0YHRgtC+0Y/QvdC40LUsXG4iCiAi0LjQt9C/0YrQu9C90LXRgtC1IOKAnmdpdCByZWJhc2UgLS1hYm9ydOKAnC4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6NTYxCi1tc2dpZCAiY291bGQgbm90IGRldGVybWluZSBIRUFEIHJldmlzaW9uIgotbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtC/0YDQtdC00LXQu9C4INC60YrQvCDQutCw0LrQstC+INC00LAg0YHQvtGH0Lgg0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTA2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiZ2l0IGVuY291bnRlcmVkIGFuIGVycm9yIHdoaWxlIHByZXBhcmluZyB0aGUgcGF0Y2hlcyB0byByZXBsYXlcbiIKKyJ0aGVzZSByZXZpc2lvbnM6XG4iCisiXG4iCisiICAgICVzXG4iCisiXG4iCisiQXMgYSByZXN1bHQsIGdpdCBjYW5ub3QgcmViYXNlIHRoZW0uIgorbXNnc3RyICIiCisiXG4iCisi0JPRgNC10YjQutCwINC/0YDQuCDQv9GA0LjQs9C+0YLQstGP0L3QtdGC0L4g0L3QsCDQutGA0YrQv9C60LjRgtC1INC30LAg0L/RgNC40LvQsNCz0LDQvdC10YLQviDQvdCwINGB0LvQtdC00L3QuNGC0LUg0LLQtdGA0YHQuNC4OlxuIgorIlxuIgorIiAgICAlc1xuIgorIlxuIgorItCSINGA0LXQt9GD0LvRgtCw0YIg0YLQtSDQvdC1INC80L7Qs9Cw0YIg0LTQsCDRgdC1INC/0YDQtdCx0LDQt9C40YDQsNGCLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo3NTMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTM2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXNcbiIKQEAgLTE1NDQwLDcgKzE4NDY4LDcgQEAKICIgICAgZ2l0IHJlYmFzZSDQmtCb0J7QnVxuIgogIlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjc2OQorIzogYnVpbHRpbi9yZWJhc2UuYzoxMzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDpcbiIKQEAgLTE1NDUzLDE1OSArMTg0ODEsMTkzIEBACiAiXG4iCiAiICAgIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG89JXMv0JrQm9Ce0J0gJXNcbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4MzIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQxMworbXNnaWQgImV4ZWMgY29tbWFuZHMgY2Fubm90IGNvbnRhaW4gbmV3bGluZXMiCittc2dzdHIgItC60L7QvNCw0L3QtNC40YLQtSDQt9CwINC40LfQv9GK0LvQvdC10L3QuNC1INC90LUg0LzQvtC20LUg0LTQsCDRgdGK0LTRitGA0LbQsNGCINC90L7QstC4INGA0LXQtNC+0LLQtSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDE3Cittc2dpZCAiZW1wdHkgZXhlYyBjb21tYW5kIgorbXNnc3RyICLQv9GA0LDQt9C90LAg0LrQvtC80LDQvdC00LAg0LfQsCDQuNC30L/RitC70L3QtdC90LjQtSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDQ2CiBtc2dpZCAicmViYXNlIG9udG8gZ2l2ZW4gYnJhbmNoIGluc3RlYWQgb2YgdXBzdHJlYW0iCiBtc2dzdHIgItC/0YDQtdCx0LDQt9C40YDQsNC90LUg0LLRitGA0YXRgyDQt9Cw0LTQsNC00LXQvdC40Y8sINCwINC90LUg0YHQu9C10LTQtdC90LjRjyDQutC70L7QvSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4MzQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ0OAorbXNnaWQgInVzZSB0aGUgbWVyZ2UtYmFzZSBvZiB1cHN0cmVhbSBhbmQgYnJhbmNoIGFzIHRoZSBjdXJyZW50IGJhc2UiCittc2dzdHIgItC30LAg0YLQtdC60YPRidCwINCx0LDQt9CwINC00LAg0YHQtSDQv9C+0LvQt9Cy0LAg0LHQsNC30LDRgtCwINC30LAg0YHQu9C40LLQsNC90LUg0L3QsCDQutC70L7QvdCwINC4INGB0LvQtdC00LXQvdC+0YLQviIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDUwCiBtc2dpZCAiYWxsb3cgcHJlLXJlYmFzZSBob29rIHRvIHJ1biIKIG1zZ3N0ciAi0L/QvtC30LLQvtC70Y/QstCw0L3QtSDQvdCwINC60YPQutCw0YLQsCDQv9GA0LXQtNC4INC/0YDQtdCx0LDQt9C40YDQsNC90LUg0LTQsCDRgdC1INC40LfQv9GK0LvQvdC4IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjgzNgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDUyCiBtc2dpZCAiYmUgcXVpZXQuIGltcGxpZXMgLS1uby1zdGF0IgogbXNnc3RyICLQsdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvdGE0L7RgNC80LDRhtC40Y8uICDQktC60LvRjtGH0LLQsCDQvtC/0YbQuNGP0YLQsCDigJ4tLW5vLXN0YXTigJwiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODM5Ci1tc2dpZCAiZGlzcGxheSBhIGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbSIKLW1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHRgtCw0YLQuNGB0YLQuNC60LAg0YEg0L/RgNC+0LzQtdC90LjRgtC1INCyINGB0LvQtdC00LXQvdC40Y8g0LrQu9C+0L0iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODQyCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NTgKIG1zZ2lkICJkbyBub3Qgc2hvdyBkaWZmc3RhdCBvZiB3aGF0IGNoYW5nZWQgdXBzdHJlYW0iCiBtc2dzdHIgItCx0LXQtyDQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdGC0LDRgtC40YHRgtC40LrQsCDRgSDQv9GA0L7QvNC10L3QuNGC0LUg0LIg0YHQu9C10LTQtdC90LjRjyDQutC70L7QvSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NDUKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ2MQogbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnk6IGxpbmUgdG8gZWFjaCBjb21taXQiCiBtc2dzdHIgIiIKICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0YDQtdC0INC30LAg0L/QvtC00L/QuNGBIOKAnlNpZ25lZC1vZmYtYnnigJwg0LIg0YHRitC+0LHRidC10L3QuNC10YLQviDQvdCwINCy0YHRj9C60L4g0L/QvtC00LDQstCw0L3QtSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NDcgYnVpbHRpbi9yZWJhc2UuYzo4NTEgYnVpbHRpbi9yZWJhc2UuYzo4NTMKLW1zZ2lkICJwYXNzZWQgdG8gJ2dpdCBhbSciCi1tc2dzdHIgItC/0L7QtNCw0LLQsCDRgdC1INC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBhbeKAnCIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ2NAorbXNnaWQgIm1ha2UgY29tbWl0dGVyIGRhdGUgbWF0Y2ggYXV0aG9yIGRhdGUiCittc2dzdHIgItC00LDRgtCw0YLQsCDQvdCwINC/0L7QtNCw0LLQsNC90LUg0LTQsCDQtSDQtNCw0YLQsNGC0LAg0L7RgiDQsNCy0YLQvtGA0LAiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODU1IGJ1aWx0aW4vcmViYXNlLmM6ODU3CisjOiBidWlsdGluL3JlYmFzZS5jOjE0NjYKK21zZ2lkICJpZ25vcmUgYXV0aG9yIGRhdGUgYW5kIHVzZSBjdXJyZW50IGRhdGUiCittc2dzdHIgItC/0L7Qu9C30LLQsNC90LUg0L3QsCDRgtC10LrRg9GJ0LDRgtCwINC00LDRgtCwLCDQsCDQvdC1INGC0LDQt9C4INC+0YIg0LDQstGC0L7RgNCwIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NjgKK21zZ2lkICJzeW5vbnltIG9mIC0tcmVzZXQtYXV0aG9yLWRhdGUiCittc2dzdHIgItC/0YHQtdCy0LTQvtC90LjQvCDQvdCwIOKAni0tcmVzZXQtYXV0aG9yLWRhdGXigJwiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3MCBidWlsdGluL3JlYmFzZS5jOjE0NzQKIG1zZ2lkICJwYXNzZWQgdG8gJ2dpdCBhcHBseSciCiBtc2dzdHIgItC/0L7QtNCw0LLQsCDRgdC1INC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBhcHBseeKAnCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NTkgYnVpbHRpbi9yZWJhc2UuYzo4NjIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3MgorbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2UiCittc2dzdHIgItCx0LXQtyDQv9GA0L7QvNC10L3QuCDQsiDQv9GA0LDQt9C90LjRgtC1INC30L3QsNGG0LgiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3NiBidWlsdGluL3JlYmFzZS5jOjE0NzkKIG1zZ2lkICJjaGVycnktcGljayBhbGwgY29tbWl0cywgZXZlbiBpZiB1bmNoYW5nZWQiCiBtc2dzdHIgItC+0YLQsdC40YDQsNC90LUg0L3QsCDQstGB0LjRh9C60Lgg0L/QvtC00LDQstCw0L3QuNGPINC00L7RgNC4INC00LAg0L3Rj9C80LAg0L/RgNC+0LzQtdC90LgiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODY0CisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODEKIG1zZ2lkICJjb250aW51ZSIKIG1zZ3N0ciAi0L/RgNC+0LTRitC70LbQsNCy0LDQvdC1IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg2NworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDg0CiBtc2dpZCAic2tpcCBjdXJyZW50IHBhdGNoIGFuZCBjb250aW51ZSIKIG1zZ3N0ciAi0L/RgNC10YHQutCw0YfQsNC90LUg0L3QsCDRgtC10LrRg9GJ0LDRgtCwINC60YDRitC/0LrQsCDQuCDQv9GA0L7QtNGK0LvQttCw0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODY5CisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODYKIG1zZ2lkICJhYm9ydCBhbmQgY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2giCiBtc2dzdHIgItC/0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCw0L3QtSDQuCDQstGK0LfRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1INC90LAg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC40Y8g0LrQu9C+0L0iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODcyCisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODkKIG1zZ2lkICJhYm9ydCBidXQga2VlcCBIRUFEIHdoZXJlIGl0IGlzIgogbXNnc3RyICLQv9GA0LXRg9GB0YLQsNC90L7QstGP0LLQsNC90LUg0LHQtdC3INC/0YDQvtC80Y/QvdCwINC60YrQvCDQutCw0LrQstC+INGB0L7Rh9C4IOKAnkhFQUTigJwiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODczCisjOiBidWlsdGluL3JlYmFzZS5jOjE0OTAKIG1zZ2lkICJlZGl0IHRoZSB0b2RvIGxpc3QgZHVyaW5nIGFuIGludGVyYWN0aXZlIHJlYmFzZSIKIG1zZ3N0ciAi0YDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINGE0LDQudC70LAg0YEg0LrQvtC80LDQvdC00Lgg0L/RgNC4INC40L3RgtC10YDQsNC60YLQuNCy0L3QviDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg3NgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDkzCiBtc2dpZCAic2hvdyB0aGUgcGF0Y2ggZmlsZSBiZWluZyBhcHBsaWVkIG9yIG1lcmdlZCIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cy0LDQvdC1INC90LAg0LrRgNGK0L/QutCw0YLQsCwg0LrQvtGP0YLQviDRgdC1INC/0YDQuNC70LDQs9CwINC40LvQuCDRgdC70LjQstCwIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg3OQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDk2CiBtc2dpZCAidXNlIG1lcmdpbmcgc3RyYXRlZ2llcyB0byByZWJhc2UiCiBtc2dzdHIgItC/0YDQuCDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1INC00LAg0YHQtSDQv9C+0LvQt9Cy0LAg0YHRgtGA0LDRgtC10LPQuNGPINC30LAg0YHQu9C40LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODgzCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MDAKIG1zZ2lkICJsZXQgdGhlIHVzZXIgZWRpdCB0aGUgbGlzdCBvZiBjb21taXRzIHRvIHJlYmFzZSIKIG1zZ3N0ciAiIgogItC/0L7Qt9Cy0L7Qu9GP0LLQsNC90LUg0L3QsCDQv9C+0YLRgNC10LHQuNGC0LXQu9GPINC00LAg0YDQtdC00LDQutGC0LjRgNCwINGB0L/QuNGB0YrQutCwINGBINC/0L7QtNCw0LLQsNC90LjRjyDQt9CwINC/0YDQtdCx0LDQt9C40YDQsNC90LUiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODg3Ci1tc2dpZCAidHJ5IHRvIHJlY3JlYXRlIG1lcmdlcyBpbnN0ZWFkIG9mIGlnbm9yaW5nIHRoZW0iCi1tc2dzdHIgItC/0YDQtdGB0YrQt9C00LDQstCw0L3QtSDQvdCwINGB0LvQuNCy0LDQvdC40Y/RgtCwINCy0LzQtdGB0YLQviDQtNCwINGB0LUg0L/RgNC10YHQutCw0YfQsNGCIgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTA0Cittc2dpZCAiKERFUFJFQ0FURUQpIHRyeSB0byByZWNyZWF0ZSBtZXJnZXMgaW5zdGVhZCBvZiBpZ25vcmluZyB0aGVtIgorbXNnc3RyICIo0L7RgdGC0LDRgNGP0LvQvikg0L/RgNC10YHRitC30LTQsNCy0LDQvdC1INC90LAg0YHQu9C40LLQsNC90LjRj9GC0LAg0LLQvNC10YHRgtC+INC00LAg0YHQtSDQv9GA0LXRgdC60LDRh9Cw0YIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODkxCi1tc2dpZCAiYWxsb3cgcmVyZXJlIHRvIHVwZGF0ZSBpbmRleCB3aXRoIHJlc29sdmVkIGNvbmZsaWN0IgotbXNnc3RyICLQv9C+0LfQstC+0LvRj9Cy0LDQvdC1INC90LAg4oCecmVyZXJl4oCcINC00LAg0L7QsdC90L7QstC4INC40L3QtNC10LrRgdCwINGBINC60L7RgNC10LrRhtC40Y/RgtCwINC90LAg0LrQvtC90YTQu9C40LrRgiIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzo4OTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwOQogbXNnaWQgInByZXNlcnZlIGVtcHR5IGNvbW1pdHMgZHVyaW5nIHJlYmFzZSIKIG1zZ3N0ciAi0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0L/RgNCw0LfQvdC40YLQtSDQv9C+0LTQsNCy0LDQvdC40Y8g0L/RgNC4INC/0YDQtdCx0LDQt9C40YDQsNC90LUiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODk2CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MTEKIG1zZ2lkICJtb3ZlIGNvbW1pdHMgdGhhdCBiZWdpbiB3aXRoIHNxdWFzaCEvZml4dXAhIHVuZGVyIC1pIgogbXNnc3RyICIiCiAi0L/RgNC10LzQtdGB0YLQstCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LjRj9GC0LAsINC60L7QuNGC0L4g0LfQsNC/0L7Rh9Cy0LDRgiDRgdGK0YEg4oCec3F1YXNoIeKAnC/igJxmaXh1cCHigJwg0L/RgNC4IOKAni1p4oCcIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkwMgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTE3CiBtc2dpZCAiYXV0b21hdGljYWxseSBzdGFzaC9zdGFzaCBwb3AgYmVmb3JlIGFuZCBhZnRlciIKIG1zZ3N0ciAi0LDQstGC0L7QvNCw0YLQuNGH0L3QviDRgdC60LDRgtCw0LLQsNC90LUv0L/RgNC40LvQsNCz0LDQvdC1INC90LAg0YHQutCw0YLQsNC90L7RgtC+INC/0YDQtdC00Lgg0Lgg0YHQu9C10LQg0L/RgNC10LHQsNC30LjRgNCw0L3QtSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MDQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxOQogbXNnaWQgImFkZCBleGVjIGxpbmVzIGFmdGVyIGVhY2ggY29tbWl0IG9mIHRoZSBlZGl0YWJsZSBsaXN0IgogbXNnc3RyICIiCiAi0LTQvtCx0LDQstGP0L3QtSDQvdCwINGA0LXQtNC+0LLQtSDRgSDQutC+0LzQsNC90LTQuCDQt9CwINC40LfQv9GK0LvQvdC10L3QuNC1INGB0LvQtdC0INCy0YHRj9C60L4g0L/QvtC00LDQstCw0L3QtSDQsiAiCiAi0YDQtdC00LDQutGC0LjRgNCw0L3QuNGPINGB0L/QuNGB0YrQuiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MDgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyMwogbXNnaWQgImFsbG93IHJlYmFzaW5nIGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKIG1zZ3N0ciAi0L/QvtC30LLQvtC70Y/QstCw0L3QtSDQvdCwINC/0YDQtdCx0LDQt9C40YDQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y8g0YEg0L/RgNCw0LfQvdC4INGB0YrQvtCx0YnQtdC90LjRjyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyNgogbXNnaWQgInRyeSB0byByZWJhc2UgbWVyZ2VzIGluc3RlYWQgb2Ygc2tpcHBpbmcgdGhlbSIKIG1zZ3N0ciAi0L7Qv9C40YIg0LfQsCDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1INC90LAg0YHQu9C40LLQsNC90LjRj9GC0LAg0LLQvNC10YHRgtC+INGC0LUg0LTQsCDRgdC1INC/0YDQtdGB0LrQsNGH0LDRgiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyOQogbXNnaWQgInVzZSAnbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQnIHRvIHJlZmluZSB1cHN0cmVhbSIKIG1zZ3N0ciAiIgogItC30LAg0LTQvtGD0YLQvtGH0L3Rj9Cy0LDQvdC10YLQviDQvdCwINGB0LvQtdC00LXQvdC40Y8g0LrQu9C+0L0sINC40LfQv9C+0LvQt9Cy0LDQudGC0LU6XG4iCiAiXG4iCi0iICAgIGdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCDQo9Ca0JDQl9CQ0KLQldCbIFvQn9Ce0JTQkNCS0JDQndCVXSIKKyIgICAgZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkxNgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTMxCiBtc2dpZCAidXNlIHRoZSBnaXZlbiBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAi0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDQt9Cw0LTQsNC00LXQvdCw0YLQsCDRgdGC0YDQsNGC0LXQs9C40Y/RgtCwINC90LAg0YHQu9C40LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTE4IGJ1aWx0aW4vcmV2ZXJ0LmM6MTExCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MzMgYnVpbHRpbi9yZXZlcnQuYzoxMTUKIG1zZ2lkICJvcHRpb24iCiBtc2dzdHIgItC+0L/RhtC40Y8iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTE5CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MzQKIG1zZ2lkICJwYXNzIHRoZSBhcmd1bWVudCB0aHJvdWdoIHRvIHRoZSBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAi0LDRgNCz0YPQvNC10L3RgtGK0YIg0LTQsCDRgdC1INC/0L7QtNCw0LTQtSDQvdCwINGB0YLRgNCw0YLQtdCz0LjRj9GC0LAg0LfQsCDRgdC70LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MjIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzNwogbXNnaWQgInJlYmFzZSBhbGwgcmVhY2hhYmxlIGNvbW1pdHMgdXAgdG8gdGhlIHJvb3QocykiCiBtc2dzdHIgItC/0YDQtdCx0LDQt9C40YDQsNC90LUg0L3QsCDQstGB0LjRh9C60Lgg0LTQvtGB0YLQuNC20LjQvNC4INC/0L7QtNCw0LLQsNC90LjRjyDQtNC+INC90LDRh9Cw0LvQvdC+0YLQviDQuNC8INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTM4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBleGVjICVzIgotbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/RitC70L3QuCIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTU1NAorbXNnaWQgIiIKKyJ0aGUgcmViYXNlLnVzZUJ1aWx0aW4gc3VwcG9ydCBoYXMgYmVlbiByZW1vdmVkIVxuIgorIlNlZSBpdHMgZW50cnkgaW4gJ2dpdCBoZWxwIGNvbmZpZycgZm9yIGRldGFpbHMuIgorbXNnc3RyICIiCisi0L/QvtC00LTRgNGK0LbQutCw0YLQsCDQvdCwIOKAnnJlYmFzZS51c2VCdWlsdGlu4oCcINC1INC/0YDQtdC80LDRhdC90LDRgtCwLlxuIgorItCX0LAg0L/QvtCy0LXRh9C1INC40L3RhNC+0YDQvNCw0YbQuNGPINCy0LjQttGC0LUg4oCeZ2l0IGhlbHAgY29uZmln4oCcLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5NTYgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6MjEzCisjOiBidWlsdGluL3JlYmFzZS5jOjE1NjAKIG1zZ2lkICJJdCBsb29rcyBsaWtlICdnaXQgYW0nIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKIG1zZ3N0ciAiIgogItCY0LfQs9C70LXQttC00LAsINGH0LUg0YHQtdCz0LAg0YHQtSDQv9GA0LjQu9Cw0LPQsNGCINC60YDRitC/0LrQuCDRh9GA0LXQtyDQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0LWFt4oCcLiAg0J3QtSDQvNC+0LbQtSDQtNCwICIKICLQv9GA0LXQsdCw0LfQuNGA0LDRgtC1INCyINC80L7QvNC10L3RgtCwLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5OTcgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6Mzk1CisjOiBidWlsdGluL3JlYmFzZS5jOjE2MDEKK21zZ2lkICIiCisiZ2l0IHJlYmFzZSAtLXByZXNlcnZlLW1lcmdlcyBpcyBkZXByZWNhdGVkLiBVc2UgLS1yZWJhc2UtbWVyZ2VzIGluc3RlYWQuIgorbXNnc3RyICIiCisi0J7Qv9GG0LjRj9GC0LAg4oCeLS1wcmVzZXJ2ZS1tZXJnZXPigJwg0LUg0L7RgdGC0LDRgNGP0LvQsC4gINCf0L7Qu9C30LLQsNC50YLQtSDigJ4tLXJlYmFzZS1tZXJnZXPigJwg0LLQvNC10YHRgtC+ICIKKyLQvdC10Y8uIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2MDYKK21zZ2lkICJjYW5ub3QgY29tYmluZSAnLS1rZWVwLWJhc2UnIHdpdGggJy0tb250byciCittc2dzdHIgItC+0L/RhtC40LjRgtC1IOKAni0ta2VlcC1iYXNl4oCcINC4IOKAni0tb250b+KAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjA4Cittc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0ta2VlcC1iYXNlJyB3aXRoICctLXJvb3QnIgorbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLWtlZXAtYmFzZeKAnCDQuCDigJ4tLXJvb3TigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYxMgogbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCiBtc2dzdHIgItCY0LfQs9C70LXQttC00LAg0LIg0LzQvtC80LXQvdGC0LAg0L3QtSDRgtC10YfQtSDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEwMDEgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NDA2CisjOiBidWlsdGluL3JlYmFzZS5jOjE2MTYKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIiIKICLQntC/0YbQuNGP0YLQsCDigJ4tLWVkaXQtdG9kb+KAnCDQtSDQtNC+0YHRgtGK0L/QvdCwINGB0LDQvNC+INC/0L4g0LLRgNC10LzQtSDQvdCwINC40L3RgtC10YDQsNC60YLQuNCy0L3QviDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1LiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDE1IGdpdC1sZWdhY3ktcmViYXNlLnNoOjQxMworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjM5CiBtc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDI4IGdpdC1sZWdhY3ktcmViYXNlLnNoOjQxNgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNjUxCiBtc2dpZCAiIgogIllvdSBtdXN0IGVkaXQgYWxsIG1lcmdlIGNvbmZsaWN0cyBhbmQgdGhlblxuIgogIm1hcmsgdGhlbSBhcyByZXNvbHZlZCB1c2luZyBnaXQgYWRkIgpAQCAtMTU2MTMsMjEgKzE4Njc1LDE2IEBACiAi0KLRgNGP0LHQstCwINC00LAg0YDQtdC00LDQutGC0LjRgNCw0YLQtSDQstGB0LjRh9C60Lgg0LrQvtC90YTQu9C40LrRgtC4INC/0YDQuCDRgdC70LjQstCw0L3QtdGC0L4uICDQodC70LXQtCDRgtC+0LLQsFxuIgogItC+0YLQsdC10LvQtdC20LXRgtC1INC60L7RgNC40LPQuNGA0LDQvdC10YLQviDQuNC8INGH0YDQtdC3INC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgYWRk4oCcIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEwNDcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTY3MAogbXNnaWQgImNvdWxkIG5vdCBkaXNjYXJkIHdvcmt0cmVlIGNoYW5nZXMiCiBtc2dzdHIgItC/0YDQvtC80LXQvdC40YLQtSDQsiDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDQvdC1INC80L7Qs9Cw0YIg0LTQsCDQsdGK0LTQsNGCINC30LDQvdGD0LvQtdC90LgiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTA2NgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJXMiCiBtc2dzdHIgItCy0YDRitGJ0LDQvdC10YLQviDQutGK0Lwg4oCeJXPigJwg0LUg0L3QtdCy0YrQt9C80L7QttC90L4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTA3NyBidWlsdGluL3JtLmM6MzY4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgJyVzJyIKLW1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfRgtGA0LjRgiIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTAzCisjOiBidWlsdGluL3JlYmFzZS5jOjE3MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICVzIGRpcmVjdG9yeSwgYW5kXG4iCkBAIC0xNTY0OCwzNDcgKzE4NzA1LDE2OCBAQAogItC30LBcbiIKICLQtNCwINC90LUg0LfQsNCz0YPQsdC40YLQtSDRgdC70YPRh9Cw0LnQvdC+INC/0YDQvtC80LXQvdC4LlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjExMjQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTc1NwogbXNnaWQgInN3aXRjaCBgQycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeQ+KAnCDQvtGH0LDQutCy0LAg0YfQuNGB0LvQviDQt9CwINCw0YDQs9GD0LzQtdC90YIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTE2MQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gbW9kZTogJXMiCiBtc2dzdHIgItCd0LXQuNC30LLQtdGB0YLQvdCwINGB0YLRgNCw0YLQtdCz0LjRjzog4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTE4MworIzogYnVpbHRpbi9yZWJhc2UuYzoxODIwCiBtc2dpZCAiLS1zdHJhdGVneSByZXF1aXJlcyAtLW1lcmdlIG9yIC0taW50ZXJhY3RpdmUiCiBtc2dzdHIgIiIKICLQvtC/0YbQuNGP0YLQsCDigJ4tLXN0cmF0ZWd54oCcINC40LfQuNGB0LrQstCwINC90Y/QutC+0Y8g0L7RgiDQvtC/0YbQuNC40YLQtSDigJ4tLW1lcmdl4oCcINC40LvQuCDigJ4tLWludGVyYWN0aXZl4oCcIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEyMjYKLSMsIGMtZm9ybWF0CisjOiBidWlsdGluL3JlYmFzZS5jOjE4NjAKK21zZ2lkICItLXJlc2NoZWR1bGUtZmFpbGVkLWV4ZWMgcmVxdWlyZXMgLS1leGVjIG9yIC0taW50ZXJhY3RpdmUiCittc2dzdHIgIiIKKyLQvtC/0YbQuNGP0YLQsCDigJ4tLXJlc2NoZWR1bGUtZmFpbGVkLWV4ZWPigJwg0LjQt9C40YHQutCy0LAg0L3Rj9C60L7RjyDQvtGCINC+0L/RhtC40LjRgtC1IOKAni0tZXhlY+KAnCDQuNC70Lgg4oCeLS0iCisiaW50ZXJhY3RpdmXigJwiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg3MgorbXNnaWQgImNhbm5vdCBjb21iaW5lIGFtIG9wdGlvbnMgd2l0aCBlaXRoZXIgaW50ZXJhY3RpdmUgb3IgbWVyZ2Ugb3B0aW9ucyIKK21zZ3N0ciAiIgorItC+0L/RhtC40LjRgtC1INC30LAg4oCeYW3igJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80Lgg0YEg0L7Qv9GG0LjQuNGC0LUg0LfQsCDRgdC70LjQstCw0L3QtSDQuNC70Lgg0LfQsCDQuNC90YLQtdGA0LDQutGC0LjQstC90LAgIgorItGA0LDQsdC+0YLQsCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxODkxCittc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0tcHJlc2VydmUtbWVyZ2VzJyB3aXRoICctLXJlYmFzZS1tZXJnZXMnIgorbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLXByZXNlcnZlLW1lcmdlc+KAnCDQuCDigJ4tLXJlYmFzZS1tZXJnZXPigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg5NQogbXNnaWQgIiIKLSJlcnJvcjogY2Fubm90IGNvbWJpbmUgaW50ZXJhY3RpdmUgb3B0aW9ucyAoLS1pbnRlcmFjdGl2ZSwgLS1leGVjLCAtLXJlYmFzZS0iCi0ibWVyZ2VzLCAtLXByZXNlcnZlLW1lcmdlcywgLS1rZWVwLWVtcHR5LCAtLXJvb3QgKyAtLW9udG8pIHdpdGggYW0gb3B0aW9ucyAiCi0iKCVzKSIKKyJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcHJlc2VydmUtbWVyZ2VzJyB3aXRoICctLXJlc2NoZWR1bGUtZmFpbGVkLWV4ZWMnIgogbXNnc3RyICIiCi0i0LPRgNC10YjQutCwOiDQvtC/0YbQuNC40YLQtSDQt9CwINC40L3RgtC10YDQsNC60YLQuNCy0L3QsCDRgNCw0LHQvtGC0LAgKOKAni0taW50ZXJhY3RpdmXigJwsIOKAni0tZXhlY+KAnCwg4oCeLS1yZWJhc2UtIgotIm1lcmdlc+KAnCwgIOKAni0tcHJlc2VydmUtbWVyZ2Vz4oCcLCDigJ4tLWtlZXAtZW1wdHnigJwsIOKAni0tcm9vdOKAnCDQuCDigJ4tLW9udG/igJwpINGB0LAgIgotItC90LXRgdGK0LLQvNC10YHRgtC40LzQuCDRgSDQvtC/0YbQuNC40YLQtSDQt9CwINC60L7QvNCw0L3QtNCw0YLQsCDigJ5hbeKAnCAo4oCeJXPigJwpIgorItCT0KDQldCo0JrQkDog0L7Qv9GG0LjQuNGC0LUg4oCeLS1wcmVzZXJ2ZS1tZXJnZXPigJwg0Lgg4oCeLS1yZXNjaGVkdWxlLWZhaWxlZC1leGVj4oCcINGB0LAgIgorItC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjMxCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJlcnJvcjogY2Fubm90IGNvbWJpbmUgbWVyZ2Ugb3B0aW9ucyAoLS1tZXJnZSwgLS1zdHJhdGVneSwgLS1zdHJhdGVneS1vcHRpb24pICIKLSJ3aXRoIGFtIG9wdGlvbnMgKCVzKSIKLW1zZ3N0ciAiIgotItCz0YDQtdGI0LrQsDog0L7Qv9GG0LjQuNGC0LUg0LfQsCDRgdC70LjQstCw0L3QtSAo4oCeLS1tZXJnZeKAnCwg4oCeLS1zdHJhdGVneeKAnCDQuCDigJ4tLXN0cmF0ZWd5LW9wdGlvbuKAnCkgIgotItGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4INGBINC+0L/RhtC40LjRgtC1INC30LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmFt4oCcICjigJ4lc+KAnCkiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI1MSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1MzYKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcHJlc2VydmUtbWVyZ2VzJyB3aXRoICctLXJlYmFzZS1tZXJnZXMnIgotbXNnc3RyICIiCi0i0LPRgNC10YjQutCwOiDQvtC/0YbQuNC40YLQtSDigJ4tLXByZXNlcnZlLW1lcmdlc+KAnCDQuCDigJ4tLXJlYmFzZS1tZXJnZXPigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI1NiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1NDIKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneS1vcHRpb24nIgotbXNnc3RyICIiCi0i0LPRgNC10YjQutCwOiDQvtC/0YbQuNC40YLQtSDigJ4tLXJlYmFzZS1tZXJnZXPigJwg0Lgg4oCeLS1zdHJhdGVneS1vcHRpb27igJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI1OSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1NDQKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneSciCi1tc2dzdHIgItCz0YDQtdGI0LrQsDog0L7Qv9GG0LjQuNGC0LUg4oCeLS1yZWJhc2UtbWVyZ2Vz4oCcINC4IOKAni0tc3RyYXRlZ3nigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI4MworIzogYnVpbHRpbi9yZWJhc2UuYzoxOTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdXBzdHJlYW0gJyVzJyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YHQu9C10LTQtdC9INC60LvQvtC9OiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjg5CisjOiBidWlsdGluL3JlYmFzZS5jOjE5MjUKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIG5ldyByb290IGNvbW1pdCIKIG1zZ3N0ciAi0J3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg0L3QvtCy0L4g0L3QsNGH0LDQu9C90L4g0L/QvtC00LDQstCw0L3QtSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMzA3CisjOiBidWlsdGluL3JlYmFzZS5jOjE5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJzogbmVlZCBleGFjdGx5IG9uZSBtZXJnZSBiYXNlIHdpdGggYnJhbmNoIgorbXNnc3RyICLigJ4lc+KAnDog0LjQt9C40YHQutCy0LAg0YHQtSDRgtC+0YfQvdC+INC10LTQvdCwINCx0LDQt9CwINC30LAg0YHQu9C40LLQsNC90LUg0YEg0LrQu9C+0L3QsCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxOTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IG5lZWQgZXhhY3RseSBvbmUgbWVyZ2UgYmFzZSIKIG1zZ3N0ciAi4oCeJXPigJw6INC40LfQuNGB0LrQstCwINGB0LUg0YLQvtGH0L3QviDQtdC00L3QsCDQsdCw0LfQsCDQt9CwINC/0YDQtdCx0LDQt9C40YDQsNC90LUiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTMxNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxOTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0ICclcyciCiBtc2dzdHIgItCj0LrQsNC30LDRgtC10LvRj9GCIOKAniVz4oCcINC90LUg0YHQvtGH0Lgg0LrRitC8INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTMzOQorIzogYnVpbHRpbi9yZWJhc2UuYzoxOTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaC9jb21taXQgJyVzJyIKIG1zZ3N0ciAi0KTQkNCi0JDQm9Cd0JAg0JPQoNCV0KjQmtCQOiDQvdC1INGB0YrRidC10YHRgtCy0YPQstCwINC60LvQvtC9IOKAniVz4oCcIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzNDcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM3Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkzMAorIzogYnVpbHRpbi9yZWJhc2UuYzoxOTk1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZWY6ICVzIgogbXNnc3RyICLQotCw0LrRitCyINGD0LrQsNC30LDRgtC10Lsg0L3Rj9C80LA6ICVzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzNTkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjAwNgogbXNnaWQgIkNvdWxkIG5vdCByZXNvbHZlIEhFQUQgdG8gYSByZXZpc2lvbiIKIG1zZ3N0ciAi0J/QvtC00LDQstCw0L3QtdGC0L4sINGB0L7Rh9C10L3QviDQvtGCINGD0LrQsNC30LDRgtC10LvRjyDigJ5IRUFE4oCcLCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtC60YDQuNGC0L4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM5OSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2NjUKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA0NAogbXNnaWQgIkNhbm5vdCBhdXRvc3Rhc2giCiBtc2dzdHIgItCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INGB0LrQsNGC0LDQtSDQsNCy0YLQvtC80LDRgtC40YfQvdC+IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0MDIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmV4cGVjdGVkIHN0YXNoIHJlc3BvbnNlOiAnJXMnIgogbXNnc3RyICLQndC10L7Rh9Cw0LrQstCw0L0g0YDQtdC30YPQu9GC0LDRgiDQv9GA0Lgg0YHQutCw0YLQsNCy0LDQvdC1OiDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDA4CisjOiBidWlsdGluL3JlYmFzZS5jOjIwNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgZm9yICclcyciCiBtc2dzdHIgItCU0LjRgNC10LrRgtC+0YDQuNGP0YLQsCDQt9CwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdGK0LfQtNCw0LTQtdC90LAiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQxMQorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAlc1xuIgogbXNnc3RyICLQkNCy0YLQvtC80LDRgtC40YfQvdC+INGB0LrQsNGC0LDQvdC+OiDigJ4lc+KAnFxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0MTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA1OQogbXNnaWQgImNvdWxkIG5vdCByZXNldCAtLWhhcmQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwIOKAnmdpdCByZXNldCAtLWhhcmTigJwiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQxNSBidWlsdGluL3Jlc2V0LmM6MTEzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkhFQUQgaXMgbm93IGF0ICVzIgotbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINGB0L7Rh9C4INC60YrQvCDigJ4lc+KAnCIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDMxIGdpdC1sZWdhY3ktcmViYXNlLnNoOjY3NAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDY4CiBtc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAi0J/RgNC+0LzQtdC90LjRgtC1INGC0YDRj9Cx0LLQsCDQuNC70Lgg0LTQsCDRgdC1INC/0L7QtNCw0LTQsNGCLCDQuNC70Lgg0LTQsCDRgdC1INGB0LrQsNGC0LDRj9GCLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDU4CisjOiBidWlsdGluL3JlYmFzZS5jOjIwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlICclcyciCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INCw0L3QsNC70LjQt9C40YDQsCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDcwCisjOiBidWlsdGluL3JlYmFzZS5jOjIxMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN3aXRjaCB0byAlcyIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC10LzQuNC90LUg0LrRitC8IOKAniVz4oCcIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0ODEgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6Njk3Ci0jLCBzaC1mb3JtYXQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjExOQogbXNnaWQgIkhFQUQgaXMgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgItCj0LrQsNC30LDRgtC10LvRj9GCIOKAnkhFQUTigJwg0LUg0L3QsNC/0YrQu9C90L4g0LDQutGC0YPQsNC70LXQvS4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ4MworIzogYnVpbHRpbi9yZWJhc2UuYzoyMTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICVzIGlzIHVwIHRvIGRhdGUuXG4iCiBtc2dzdHIgItCi0LXQutGD0YnQuNGP0YIg0LrQu9C+0L0g4oCeJXPigJwg0LUg0L3QsNC/0YrQu9C90L4g0LDQutGC0YPQsNC70LXQvS5cbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDkxIGdpdC1sZWdhY3ktcmViYXNlLnNoOjcwNwotIywgc2gtZm9ybWF0CisjOiBidWlsdGluL3JlYmFzZS5jOjIxMjkKIG1zZ2lkICJIRUFEIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIgotbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC1INC90LDQv9GK0LvQvdC+INCw0LrRgtGD0LDQu9C10L0uICDQn9GA0LXQsdCw0LfQuNGA0LDQvdC10YLQviDQtSDQv9GA0LjQvdGD0LTQuNGC0LXQu9C90L4uIgorbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC1INC90LDQv9GK0LvQvdC+INCw0LrRgtGD0LDQu9C10L0g4oCUINC/0YDQuNC90YPQtNC40YLQtdC70L3QviDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0OTMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAlcyBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLlxuIgotbXNnc3RyICIiCi0i0KLQtdC60YPRidC40Y/RgiDQutC70L7QvSDigJ4lc+KAnCDQtSDQvdCw0L/RitC70L3QviDQsNC60YLRg9Cw0LvQtdC9LiAg0J/RgNC10LHQsNC30LjRgNCw0L3QtdGC0L4g0LUg0L/RgNC40L3Rg9C00LjRgtC10LvQvdC+LlxuIgorbXNnc3RyICLQotC10LrRg9GJ0LjRj9GCINC60LvQvtC9IOKAniVz4oCcINC1INC90LDQv9GK0LvQvdC+INCw0LrRgtGD0LDQu9C10L0g4oCUINC/0YDQuNC90YPQtNC40YLQtdC70L3QviDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1XG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwMSBnaXQtbGVnYWN5LXJlYmFzZS5zaDoyMDgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEzOQogbXNnaWQgIlRoZSBwcmUtcmViYXNlIGhvb2sgcmVmdXNlZCB0byByZWJhc2UuIgogbXNnc3RyICLQmtGD0LrQsNGC0LAg0LfQsCDQuNC30L/RitC70L3QtdC90LjQtSDQv9GA0LXQtNC4INC/0YDQtdCx0LDQt9C40YDQsNC90LUg0L7RgtGF0LLRitGA0LvQuCDQv9GA0LXQsdCw0LfQuNGA0LDQvdC10YLQvi4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwOAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgdG8gJXM6XG4iCiBtc2dzdHIgItCf0YDQvtC80LXQvdC40YLQtSDQsiDigJ4lc+KAnDpcbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNTExCisjOiBidWlsdGluL3JlYmFzZS5jOjIxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hhbmdlcyBmcm9tICVzIHRvICVzOlxuIgogbXNnc3RyICLQn9GA0L7QvNC10L3QuNGC0LUg0L7RgiDigJ4lc+KAnCDQutGK0Lwg4oCeJXPigJw6XG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzNgorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLlxuIgogbXNnc3RyICIiCiAi0J/RitGA0LLQviwg0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQt9Cw0L/QvtGH0LLQsCDQtNCwINGB0L7Rh9C4INC60YrQvCDQsdCw0LfQsNGC0LAsINCy0YrRgNGF0YMg0LrQvtGP0YLQviAiCiAi0L/RgNC10LHQsNC30LjRgNCw0YLQteKAplxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE1NDMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE4MwogbXNnaWQgIkNvdWxkIG5vdCBkZXRhY2ggSEVBRCIKLW1zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LTQtdC70LgiCittc2dzdHIgItCj0LrQsNC30LDRgtC10LvRj9GCIOKAnkhFQUTigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7RgtC00LXQu9GdIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE1NTIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRlZCAlcyB0byAlcy5cbiIKIG1zZ3N0ciAi0J/RgNC10LLRitGA0YLQsNC90LUg0L3QsCDigJ4lc+KAnCDQutGK0Lwg4oCeJXPigJwuXG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjI0Ci1tc2dpZCAibm8gSEVBRD8iCi1tc2dzdHIgItCb0LjQv9GB0LLQsCDRg9C60LDQt9Cw0YLQtdC7IOKAnkhFQUTigJwiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjUxCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICVzIgotbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDRgdGK0LfQtNCw0LTQtSDQstGA0LXQvNC10L3QvdCwINC00LjRgNC10LrRgtC+0YDQuNGPIOKAniVz4oCcIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzo1NwotbXNnaWQgImNvdWxkIG5vdCBtYXJrIGFzIGludGVyYWN0aXZlIgotbXNnc3RyICLQvdC10LLRitC30LzQvtC20L3QviDQt9Cw0LTQsNCy0LDQvdC1INC90LAg0LjQvdGC0LXRgNCw0LrRgtC40LLQvdCwINGA0LDQsdC+0YLQsCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTAxCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBvcGVuICVzIgotbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LLQvtGA0LgiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjExNAotbXNnaWQgImNvdWxkIG5vdCBnZW5lcmF0ZSB0b2RvIGxpc3QiCi1tc2dzdHIgItGE0LDQudC70YrRgiDRgSDQutC+0LzQsNC90LTQuNGC0LUg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LPQtdC90LXRgNC40YDQsCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTI5Ci1tc2dpZCAiZ2l0IHJlYmFzZS0taW50ZXJhY3RpdmUgWzxvcHRpb25zPl0iCi1tc2dzdHIgImdpdCByZWJhc2UtLWludGVyYWN0aXZlIFvQntCf0KbQmNCv4oCmXSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTQ4Ci1tc2dpZCAia2VlcCBlbXB0eSBjb21taXRzIgotbXNnc3RyICLQt9Cw0L/QsNC30LLQsNC90LUg0L3QsCDQv9GA0LDQt9C90LjRgtC1INC/0L7QtNCw0LLQsNC90LjRjyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTUwIGJ1aWx0aW4vcmV2ZXJ0LmM6MTI0Ci1tc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgotbXNnc3RyICLQv9C+0LfQstC+0LvRj9Cy0LDQvdC1INC90LAg0L/RgNCw0LfQvdC4INGB0YrQvtCx0YnQtdC90LjRjyDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTUxCi1tc2dpZCAicmViYXNlIG1lcmdlIGNvbW1pdHMiCi1tc2dzdHIgItC/0YDQtdCx0LDQt9C40YDQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINGB0YrRgSDRgdC70LjQstCw0L3QuNGPIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTMKLW1zZ2lkICJrZWVwIG9yaWdpbmFsIGJyYW5jaCBwb2ludHMgb2YgY291c2lucyIKLW1zZ3N0ciAiIgotItC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINC/0YrRgNCy0L7QvdCw0YfQsNC70L3QuNGC0LUg0YLQvtGH0LrQuCDQvdCwINGA0LDQt9C60LvQvtC90Y/QstCw0L3QtSDQvdCwINGB0LXRgdGC0YDQuNC90YHQutC40YLQtSDQutC70L7QvdC4IgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTUKLW1zZ2lkICJtb3ZlIGNvbW1pdHMgdGhhdCBiZWdpbiB3aXRoIHNxdWFzaCEvZml4dXAhIgotbXNnc3RyICLQv9GA0LXQvNC10YHRgtCy0LDQvdC1INC90LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCwg0LrQvtC40YLQviDQt9Cw0L/QvtGH0LLQsNGCINGB0YrRgSDigJ5zcXVhc2gh4oCcL+KAnGZpeHVwIeKAnCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTU2Ci1tc2dpZCAic2lnbiBjb21taXRzIgotbXNnc3RyICLQv9C+0LTQv9C40YHQstCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LjRj9GC0LAiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1OAotbXNnaWQgImNvbnRpbnVlIHJlYmFzZSIKLW1zZ3N0ciAi0L/RgNC+0LTRitC70LbQsNCy0LDQvdC1INC90LAg0L/RgNC10LHQsNC30LjRgNCw0L3QtdGC0L4iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE2MAotbXNnaWQgInNraXAgY29tbWl0IgotbXNnc3RyICLQv9GA0LXRgdC60LDRh9Cw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LUiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE2MQotbXNnaWQgImVkaXQgdGhlIHRvZG8gbGlzdCIKLW1zZ3N0ciAi0YDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINGB0L/QuNGB0YrQutCwINGBINC60L7QvNCw0L3QtNC4INC30LAg0LjQt9C/0YrQu9C90LXQvdC40LUiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE2MwotbXNnaWQgInNob3cgdGhlIGN1cnJlbnQgcGF0Y2giCi1tc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGC0LXQutGD0YnQsNGC0LAg0LrRgNGK0L/QutCwIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjYKLW1zZ2lkICJzaG9ydGVuIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKLW1zZ3N0ciAi0YHRitC60YDQsNGC0LXQvdC4INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0Lgg0LIg0YHQv9C40YHRitC60LAg0LfQsCDQuNC30L/RitC70L3QtdC90LjQtSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTY4Ci1tc2dpZCAiZXhwYW5kIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKLW1zZ3N0ciAi0L/RitC70L3QuCDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNC4INCyINGB0L/QuNGB0YrQutCwINC30LAg0LjQt9C/0YrQu9C90LXQvdC40LUiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3MAotbXNnaWQgImNoZWNrIHRoZSB0b2RvIGxpc3QiCi1tc2dzdHIgItC/0YDQvtCy0LXRgNC60LAg0L3QsCDRgdC/0LjRgdGK0LrQsCDQt9CwINC40LfQv9GK0LvQvdC10L3QuNC1IgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzIKLW1zZ2lkICJyZWFycmFuZ2UgZml4dXAvc3F1YXNoIGxpbmVzIgotbXNnc3RyICIiCi0i0L/RgNC10L/QvtC00YDQtdC20LTQsNC90LUg0L3QsCDRgNC10LTQvtCy0LXRgtC1INC30LAg0LLQutCw0YDQstCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LjRj9GC0LAg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQsiAiCi0i0L/RgNC10LTRhdC+0LTQvdC40YLQtSDQuNC8INGB0YrRgSDQuCDQsdC10Lcg0YHQvNC10L3QuCDQvdCwINGB0YrQvtCx0YnQtdC90LjQtdGC0L4iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3NAotbXNnaWQgImluc2VydCBleGVjIGNvbW1hbmRzIGluIHRvZG8gbGlzdCIKLW1zZ3N0ciAi0LLQvNGK0LrQstCw0L3QtSDQvdCwINC60L7QvNCw0L3QtNC40YLQtSDQt9CwINC40LfQv9GK0LvQvdC10L3QuNC1INCyINGB0L/QuNGB0YrQutCwINC30LAg0LjQt9C/0YrQu9C90LXQvdC40LUiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3NQotbXNnaWQgIm9udG8iCi1tc2dzdHIgItCy0YrRgNGF0YMiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3NwotbXNnaWQgInJlc3RyaWN0LXJldmlzaW9uIgotbXNnc3RyICLQvtCz0YDQsNC90LjRh9C10L3QsCDQstC10YDRgdC40Y8iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3NwotbXNnaWQgInJlc3RyaWN0IHJldmlzaW9uIgotbXNnc3RyICLQvtCz0YDQsNC90LjRh9C10L3QsCDQstC10YDRgdC40Y8iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3OAotbXNnaWQgInNxdWFzaC1vbnRvIgotbXNnc3RyICLQv9C+0LTQsNCy0LDQvdC1LCDQsiDQutC+0LXRgtC+INC00YDRg9Cz0LjRgtC1INC00LAg0YHQtSDQstC60LDRgNCw0YIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3OQotbXNnaWQgInNxdWFzaCBvbnRvIgotbXNnc3RyICLQv9C+0LTQsNCy0LDQvdC1LCDQsiDQutC+0LXRgtC+INC00YDRg9Cz0LjRgtC1INC00LAg0YHQtSDQstC60LDRgNCw0YIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4MQotbXNnaWQgInRoZSB1cHN0cmVhbSBjb21taXQiCi1tc2dzdHIgItC/0L7QtNCw0LLQsNC90LUg0L3QsCDQuNC30YLQvtGH0L3QuNC60LAiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4MgotbXNnaWQgImhlYWQtbmFtZSIKLW1zZ3N0ciAi0LjQvNC1INC90LAg0LLRitGA0YXQsCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgyCi1tc2dpZCAiaGVhZCBuYW1lIgotbXNnc3RyICLQuNC80LUg0L3QsCDQstGK0YDRhdCwIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODcKLW1zZ2lkICJyZWJhc2Ugc3RyYXRlZ3kiCi1tc2dzdHIgItGB0YLRgNCw0YLQtdCz0LjRjyDQvdCwINC/0YDQtdCx0LDQt9C40YDQsNC90LUiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4OAotbXNnaWQgInN0cmF0ZWd5LW9wdHMiCi1tc2dzdHIgItC+0L/RhtC40Lgg0L3QsCDRgdGC0YDQsNGC0LXQs9C40Y/RgtCwIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODkKLW1zZ2lkICJzdHJhdGVneSBvcHRpb25zIgotbXNnc3RyICLQvtC/0YbQuNC4INC90LAg0YHRgtGA0LDRgtC10LPQuNGP0YLQsCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkwCi1tc2dpZCAic3dpdGNoLXRvIgotbXNnc3RyICLQv9GA0LXQvNC40L3QsNCy0LDQvdC1INC60YrQvCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkxCi1tc2dpZCAidGhlIGJyYW5jaCBvciBjb21taXQgdG8gY2hlY2tvdXQiCi1tc2dzdHIgItC60LvQvtC90YrRgiwg0LrRitC8INC60L7QudGC0L4g0LTQsCDRgdC1INC/0YDQtdC80LjQvdC1IgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTIKLW1zZ2lkICJvbnRvLW5hbWUiCi1tc2dzdHIgItC40LzQtSDQvdCwINCx0LDQt9CwIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTIKLW1zZ2lkICJvbnRvIG5hbWUiCi1tc2dzdHIgItC40LzQtSDQvdCwINCx0LDQt9CwIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTMKLW1zZ2lkICJjbWQiCi1tc2dzdHIgItC60L7QvNCw0L3QtNCwIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTMKLW1zZ2lkICJ0aGUgY29tbWFuZCB0byBydW4iCi1tc2dzdHIgItC60L7QvNCw0L3QtNCwINC30LAg0LjQt9C/0YrQu9C90LXQvdC40LUiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjIyMAotbXNnaWQgIi0tW25vLV1yZWJhc2UtY291c2lucyBoYXMgbm8gZWZmZWN0IHdpdGhvdXQgLS1yZWJhc2UtbWVyZ2VzIgotbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLVtuby1dcmViYXNlLWNvdXNpbnPigJwg0LjQt9C40YHQutCy0LDRgiDQvtC/0YbQuNGP0YLQsCDigJ4tLXJlYmFzZS1tZXJnZXPigJwiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjIyNgotbXNnaWQgImEgYmFzZSBjb21taXQgbXVzdCBiZSBwcm92aWRlZCB3aXRoIC0tdXBzdHJlYW0gb3IgLS1vbnRvIgotbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLXVwc3RyZWFt4oCcINC4IOKAni0tb250b+KAnCDQuNC30LjRgdC60LLQsNGCINCx0LDQt9C+0LLQviDQv9C+0LTQsNCy0LDQvdC1IgotCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjMzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjMyCiBtc2dpZCAiZ2l0IHJlY2VpdmUtcGFjayA8Z2l0LWRpcj4iCiBtc2dzdHIgImdpdCByZWNlaXZlLXBhY2sg0JTQmNCg0JXQmtCi0J7QoNCY0K9f0J3QkF9HSVQiCiAKQEAgLTE2MDQ2LDE5ICsxODkyNCw3MyBAQAogItCX0LAg0LTQsCDQt9Cw0LPQu9GD0YjQuNGC0LUg0YLQvtCy0LAg0YHRitC+0LHRidC10L3QuNC1LCDQt9Cw0LTQsNC50YLQtSDQvdCw0YHRgtGA0L7QudC60LDRgtCwXG4iCiAi4oCecmVjZWl2ZS5kZW55RGVsZXRlQ3VycmVudOKAnCDQtNCwINC1IOKAnnJlZnVzZeKAnCAo0L7RgtC60LDQtykuIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5MjkKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTkzNgogbXNnaWQgInF1aWV0IgogbXNnc3RyICLQsdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvdGE0L7RgNC80LDRhtC40Y8iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk0MworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTUwCiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIGRpcmVjdG9yeS4iCiBtc2dzdHIgItCi0YDRj9Cx0LLQsCDQtNCwINGD0LrQsNC20LXRgtC1INC00LjRgNC10LrRgtC+0YDQuNGPLiIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo1NjMgYnVpbHRpbi9yZWZsb2cuYzo1NjgKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6MTcKK21zZ2lkICIiCisiZ2l0IHJlZmxvZyBleHBpcmUgWy0tZXhwaXJlPTx0aW1lPl0gWy0tZXhwaXJlLXVucmVhY2hhYmxlPTx0aW1lPl0gWy0tIgorInJld3JpdGVdIFstLXVwZGF0ZXJlZl0gWy0tc3RhbGUtZml4XSBbLS1kcnktcnVuIHwgLW5dIFstLXZlcmJvc2VdIFstLWFsbF0gIgorIjxyZWZzPi4uLiIKK21zZ3N0ciAiIgorImdpdCByZWZsb2cgZXhwaXJlIFstLWV4cGlyZT3QktCg0JXQnNCVXSBbLS1leHBpcmUtdW5yZWFjaGFibGU90JLQoNCV0JzQlV0gWy0tcmV3cml0ZV0gIgorIlstLXVwZGF0ZXJlZl0gWy0tc3RhbGUtZml4XSBbLS1kcnktcnVuIHwgLW5dIFstLXZlcmJvc2VdIFstLWFsbF0g0KPQmtCQ0JfQkNCi0JXQm+KApiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzoyMgorbXNnaWQgIiIKKyJnaXQgcmVmbG9nIGRlbGV0ZSBbLS1yZXdyaXRlXSBbLS11cGRhdGVyZWZdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gIgorIjxyZWZzPi4uLiIKK21zZ3N0ciAiIgorImdpdCByZWZsb2cgZGVsZXRlIFstLXJld3JpdGVdIFstLXVwZGF0ZXJlZl0gWy0tZHJ5LXJ1biB8IC1uXSBbLS12ZXJib3NlXSAiCisi0KPQmtCQ0JfQkNCi0JXQm+KApiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzoyNQorbXNnaWQgImdpdCByZWZsb2cgZXhpc3RzIDxyZWY+IgorbXNnc3RyICJnaXQgcmVmbG9nIGV4aXN0cyDQo9Ca0JDQl9CQ0KLQldCbIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjU2NyBidWlsdGluL3JlZmxvZy5jOjU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQtSDQv9GA0LDQstC40LvQvdCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCDQstGA0LXQvNC1IgogCisjOiBidWlsdGluL3JlZmxvZy5jOjYwNQorIywgYy1mb3JtYXQKK21zZ2lkICJNYXJraW5nIHJlYWNoYWJsZSBvYmplY3RzLi4uIgorbXNnc3RyICLQntGC0LHQtdC70Y/Qt9Cy0LDQvdC1INC90LAg0LTQvtGB0YLQuNC20LjQvNC40YLQtSDQvtCx0LXQutGC0LjigKYiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHBvaW50cyBub3doZXJlISIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDRgdC+0YfQuCDQvdCw0L3QuNC60YrQtNC1ISIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo2OTUKK21zZ2lkICJubyByZWZsb2cgc3BlY2lmaWVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAi0L3QtSDQtSDRg9C60LDQt9Cw0L0g0LbRg9GA0L3QsNC7INGBINC/0L7QtNCw0LLQsNC90LjRjyDQt9CwINC40LfRgtGA0LjQstCw0L3QtSIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo3MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgcmVmbG9nOiAlcyIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDQtSDQttGD0YDQvdCw0Lsg0YEg0L/QvtC00LDQstCw0L3QuNGPIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjcwOQorIywgYy1mb3JtYXQKK21zZ2lkICJubyByZWZsb2cgZm9yICclcyciCittc2dzdHIgItC70LjQv9GB0LLQsCDQttGD0YDQvdCw0Lsg0YEg0L/QvtC00LDQstCw0L3QuNGP0YLQsCDQt9CwIOKAniVz4oCcIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHJlZiBmb3JtYXQ6ICVzIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDRhNC+0YDQvNCw0YIg0L3QsCDRg9C60LDQt9Cw0YLQtdC7OiAlcyIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo3NjQKK21zZ2lkICJnaXQgcmVmbG9nIFsgc2hvdyB8IGV4cGlyZSB8IGRlbGV0ZSB8IGV4aXN0cyBdIgorbXNnc3RyICJnaXQgcmVmbG9nIFsgc2hvdyB8IGV4cGlyZSB8IGRlbGV0ZSB8IGV4aXN0cyBdIgorCiAjOiBidWlsdGluL3JlbW90ZS5jOjE2CiBtc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCkBAIC0xNjIyNCw3ICsxOTE1Niw3IEBACiBtc2dpZCAiKGRlbGV0ZSkiCiBtc2dzdHIgIijQt9CwINC40LfRgtGA0LjQstCw0L3QtSkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjI5IGJ1aWx0aW4vcmVtb3RlLmM6NzY1IGJ1aWx0aW4vcmVtb3RlLmM6ODY0CisjOiBidWlsdGluL3JlbW90ZS5jOjYyOSBidWlsdGluL3JlbW90ZS5jOjc2NCBidWlsdGluL3JlbW90ZS5jOjg2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZTogJyVzJyIKIG1zZ3N0ciAi0J3Rj9C80LAg0L7RgtC00LDQu9C10YfQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1INC90LAg0LjQvNC1IOKAniVz4oCcIgpAQCAtMTYyNDUsMTcgKzE5MTc3LDE3IEBACiAiICAgICVzXG4iCiAiICDQn9GA0L7QvNC10L3QtdGC0LUg0L3QsNGB0YLRgNC+0LnQutC40YLQtSDRgNGK0YfQvdC+LCDQsNC60L4g0LUg0L3QtdC+0LHRhdC+0LTQuNC80L4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjcwMgorIzogYnVpbHRpbi9yZW1vdGUuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30YLRgNC40LLQsNC90LUg0L3QsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3MzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNyZWF0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0YHRitC30LTQsNCy0LDQvdC1INC90LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODAyCisjOiBidWlsdGluL3JlbW90ZS5jOjgwMQogbXNnaWQgIiIKICJOb3RlOiBBIGJyYW5jaCBvdXRzaWRlIHRoZSByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSB3YXMgbm90IHJlbW92ZWQ7XG4iCiAidG8gZGVsZXRlIGl0LCB1c2U6IgpAQCAtMTYyNjksMTIxICsxOTIwMSwxMjEgQEAKICLQkdC10LvQtdC20LrQsDog0J3Rj9C60L7Qu9C60L4g0LrQu9C+0L3QsCDQuNC30LLRitC9INC50LXRgNCw0YDRhdC40Y/RgtCwIOKAnnJlZnMvcmVtb3Rlcy/igJwg0L3QtSDQsdGP0YXQsCDQuNC30YLRgNC40YLQuC5cbiIKICLQmNC30YLRgNC40LnRgtC1INCz0Lgg0YfRgNC10Lcg0LrQvtC80LDQvdC00LDRgtCwOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo4MTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgY29uZmlnIHNlY3Rpb24gJyVzJyIKIG1zZ3N0ciAi0KDQsNC30LTQtdC70YrRgiDigJ4lc+KAnCDQsiDQvdCw0YHRgtGA0L7QudC60LjRgtC1INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE3CisjOiBidWlsdGluL3JlbW90ZS5jOjkxNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgbmV3IChuZXh0IGZldGNoIHdpbGwgc3RvcmUgaW4gcmVtb3Rlcy8lcykiCiBtc2dzdHIgIiDQvdC+0LIgKNGB0LvQtdC00LLQsNGJ0L7RgtC+INC00L7RgdGC0LDQstGP0L3QtSDRidC1INCz0L4g0YDQsNC30L/QvtC70L7QttC4INCyIOKAnnJlbW90ZXMvJXPigJwpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkyMAorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTkKIG1zZ2lkICIgdHJhY2tlZCIKIG1zZ3N0ciAiINGB0LvQtdC00LXQvSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTIxCiBtc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCiBtc2dzdHIgIiDRgdGC0LDRgCAo0LjQt9GC0YDQuNC50YLQtSDRh9GA0LXQtyDigJ5naXQgcmVtb3RlIHBydW5l4oCcKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTIzCiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiINC90LXRj9GB0L3QviDRgdGK0YHRgtC+0Y/QvdC40LUiCiAKICMgQ0hFQ0sKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY1CisjOiBidWlsdGluL3JlbW90ZS5jOjk2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJyYW5jaC4lcy5tZXJnZTsgY2Fubm90IHJlYmFzZSBvbnRvID4gMSBicmFuY2giCiBtc2dzdHIgIiIKICLQvdC10L/RgNCw0LLQuNC70LXQvSDQutC70L7QvSDQt9CwINGB0LvQuNCy0LDQvdC1IOKAniVz4oCcLiAg0J3QtdCy0YrQt9C80L7QttC90L4g0LUg0LTQsCDQv9GA0LXQsdCw0LfQuNGA0LDRgtC1INCy0YrRgNGF0YMg0L/QvtCy0LXRh9C1ICIKICLQvtGCIDEg0LrQu9C+0L0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc0CisjOiBidWlsdGluL3JlbW90ZS5jOjk3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIGludGVyYWN0aXZlbHkgb250byByZW1vdGUgJXMiCiBtc2dzdHIgItC40L3RgtC10YDQsNC60YLQuNCy0L3QviDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1INCy0YrRgNGF0YMg0L7RgtC00LDQu9C10YfQtdC90LjRjyDQutC70L7QvSDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSAod2l0aCBtZXJnZXMpIG9udG8gcmVtb3RlICVzIgogbXNnc3RyICLQuNC90YLQtdGA0LDQutGC0LjQstC90L4g0L/RgNC10LHQsNC30LjRgNCw0L3QtSAo0YHRitGBINGB0LvQuNCy0LDQvdC40Y8pINCy0YrRgNGF0YMg0L7RgtC00LDQu9C10YfQtdC90LjRjyDQutC70L7QvSDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCiBtc2dzdHIgItC/0YDQtdCx0LDQt9C40YDQsNC90LUg0LLRitGA0YXRgyDQvtGC0LTQsNC70LXRh9C10L3QuNGPINC60LvQvtC9IOKAniVz4oCcIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk4MworIzogYnVpbHRpbi9yZW1vdGUuYzo5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiINGB0LvQuNCy0LDQvdC1INGBINC+0YLQtNCw0LvQtdGH0LXQvdC40Y8g0LrQu9C+0L0g4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg2CisjOiBidWlsdGluL3JlbW90ZS5jOjk4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgItGB0LvQuNCy0LDQvdC1INGBINC+0YLQtNCw0LvQtdGH0LXQvdC40Y8g0LrQu9C+0L0g4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg5CisjOiBidWlsdGluL3JlbW90ZS5jOjk4OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlLSpzICAgIGFuZCB3aXRoIHJlbW90ZSAlc1xuIgogbXNnc3RyICIlLSpzICAgINC4INGBINC+0YLQtNCw0LvQtdGH0LXQvdC40Y8g0LrQu9C+0L0g4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMyCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzEKIG1zZ2lkICJjcmVhdGUiCiBtc2dzdHIgItGB0YrQt9C00LDQtNC10L0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM0CiBtc2dpZCAiZGVsZXRlIgogbXNnc3RyICLQuNC30YLRgNC40YIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM4CiBtc2dpZCAidXAgdG8gZGF0ZSIKIG1zZ3N0ciAi0LDQutGC0YPQsNC70LXQvSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQyCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDEKIG1zZ2lkICJmYXN0LWZvcndhcmRhYmxlIgogbXNnc3RyICLQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC10LLRitGA0YLQuCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ1CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDQKIG1zZ2lkICJsb2NhbCBvdXQgb2YgZGF0ZSIKIG1zZ3N0ciAi0LvQvtC60LDQu9C90LjRj9GCINC1INC40LfQvtGB0YLQsNC90LDQuyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUyCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMg0L/RgNC40L3Rg9C00LjRgtC10LvQvdC+INC40LfRgtC70LDRgdC60LLQsCDQutGK0LwgJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyDQuNC30YLQu9Cw0YHQutCy0LAg0LrRitC8ICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU5CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyDQv9GA0LjQvdGD0LTQuNGC0LXQu9C90L4g0LjQt9GC0LvQsNGB0LrQstCwINC60YrQvCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDYyCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyDQuNC30YLQu9Cw0YHQutCy0LAg0LrRitC8ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEyOQogbXNnaWQgImRvIG5vdCBxdWVyeSByZW1vdGVzIgogbXNnc3RyICLQsdC10Lcg0LfQsNGP0LLQutC4INC60YrQvCDQvtGC0LTQsNC70LXRh9C10L3QuNGC0LUg0YXRgNCw0L3QuNC70LjRidCwIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIqIHJlbW90ZSAlcyIKIG1zZ3N0ciAi4pePINC+0YLQtNCw0LvQtdGH0LXQvdC+INGF0YDQsNC90LjQu9C40YnQtSDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGZXRjaCBVUkw6ICVzIgogbXNnc3RyICIgINCQ0LTRgNC10YEg0LfQsCDQtNC+0YHRgtCw0LLRj9C90LU6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTkgYnVpbHRpbi9yZW1vdGUuYzoxMTc1IGJ1aWx0aW4vcmVtb3RlLmM6MTMxNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NCBidWlsdGluL3JlbW90ZS5jOjEzMTMKIG1zZ2lkICIobm8gVVJMKSIKIG1zZ3N0ciAiKNCx0LXQtyDQsNC00YDQtdGBKSIKIApAQCAtMTYzOTEsMjUgKzE5MzIzLDI1IEBACiAjLiB3aXRoIHRoZSBvbmUgaW4gIiBGZXRjaCBVUkw6ICVzIgogIy4gdHJhbnNsYXRpb24uCiAjLgotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTczIGJ1aWx0aW4vcmVtb3RlLmM6MTE3NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTcyIGJ1aWx0aW4vcmVtb3RlLmM6MTE3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFB1c2ggIFVSTDogJXMiCiBtc2dzdHIgIiAg0JDQtNGA0LXRgSDQt9CwINC40LfRgtC70LDRgdC60LLQsNC90LU6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzcgYnVpbHRpbi9yZW1vdGUuYzoxMTc5IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OCBidWlsdGluL3JlbW90ZS5jOjExODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBIRUFEIGJyYW5jaDogJXMiCiBtc2dzdHIgIiAg0LrQu9C+0L0g0YHQvtGH0LXQvSDQvtGCIEhFQUQ6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NgogbXNnaWQgIihub3QgcXVlcmllZCkiCiBtc2dzdHIgIijQsdC10Lcg0L/RgNC+0LLQtdGA0LrQsCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc4CiBtc2dpZCAiKHVua25vd24pIgogbXNnc3RyICIo0L3QtdC/0L7Qt9C90LDRgikiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIEhFQUQgYnJhbmNoIChyZW1vdGUgSEVBRCBpcyBhbWJpZ3VvdXMsIG1heSBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyk6XG4iCkBAIC0xNjQxOCwxNzAgKzE5MzUwLDE2MSBAQAogItGF0YDQsNC90LjQu9C40YnQtVxuIgogIiAg0L3QtSDQtSDQtdC00L3QvtC30L3QsNGH0LXQvSDQuCDQtSDQvdGP0LrQvtC5INC+0YIg0YHQu9C10LTQvdC40YLQtSk6XG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUmVtb3RlIGJyYW5jaDolcyIKIG1zZ2lkX3BsdXJhbCAiICBSZW1vdGUgYnJhbmNoZXM6JXMiCiBtc2dzdHJbMF0gIiAg0J7RgtC00LDQu9C10YfQtdC9INC60LvQvtC9OiVzIgogbXNnc3RyWzFdICIgINCe0YLQtNCw0LvQtdGH0LXQvdC4INC60LvQvtC90Lg6JXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5OCBidWlsdGluL3JlbW90ZS5jOjEyMjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NyBidWlsdGluL3JlbW90ZS5jOjEyMjMKIG1zZ2lkICIgKHN0YXR1cyBub3QgcXVlcmllZCkiCiBtc2dzdHIgIiAo0YHRitGB0YLQvtGP0L3QuNC10YLQviDQvdC1INCx0LUg0L/RgNC+0LLQtdGA0LXQvdC+KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjA3CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDYKIG1zZ2lkICIgIExvY2FsIGJyYW5jaCBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCBicmFuY2hlcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ3N0clswXSAiICDQm9C+0LrQsNC70LXQvSDQutC70L7QvSDQvdCw0YHRgtGA0L7QtdC9INC30LAg0LjQt9C00YrRgNC/0LLQsNC90LUg0YfRgNC10Lcg4oCeZ2l0IHB1bGzigJw6IgogbXNnc3RyWzFdICIgINCb0L7QutCw0LvQvdC4INC60LvQvtC90Lgg0L3QsNGB0YLRgNC+0LXQvdC4INC30LAg0LjQt9C00YrRgNC/0LLQsNC90LUg0YfRgNC10Lcg4oCeZ2l0IHB1bGzigJw6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIxNAogbXNnaWQgIiAgTG9jYWwgcmVmcyB3aWxsIGJlIG1pcnJvcmVkIGJ5ICdnaXQgcHVzaCciCiBtc2dzdHIgIiAg0JvQvtC60LDQu9C90LjRgtC1INGD0LrQsNC30LDRgtC10LvQuCDRidC1INCx0YrQtNCw0YIg0L/RgNC10L3QtdGB0LXQvdC4INGH0YDQtdC3IOKAniBwdXNo4oCcIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIExvY2FsIHJlZiBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIHJlZnMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ3N0clswXSAiICDQm9C+0LrQsNC70L3QuNGP0YIg0YPQutCw0LfQsNGC0LXQuywg0L3QsNGB0YLRgNC+0LXQvSDQt9CwIOKAnmdpdCBwdXNo4oCcJXM6IgogbXNnc3RyWzFdICIgINCb0L7QutCw0LvQvdC40YLQtSDRg9C60LDQt9Cw0YLQtdC70LgsINC90LDRgdGC0YDQvtC10L3QuCDQt9CwIOKAnmdpdCBwdXNo4oCcJXM6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MQogbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKIG1zZ3N0ciAi0LfQsNC00LDQstCw0L3QtSDQvdCwIHJlZnMvcmVtb3Rlcy/QmNCc0JUvSEVBRCDRgdC/0L7RgNC10LQg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ0CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDMKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICLQuNC30YLRgNC40LLQsNC90LUg0L3QsCByZWZzL3JlbW90ZXMv0JjQnNCVL0hFQUQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjU4CiBtc2dpZCAiQ2Fubm90IGRldGVybWluZSByZW1vdGUgSEVBRCIKIG1zZ3N0ciAi0J3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YPRgdGC0LDQvdC+0LLQuCDQvtGC0LTQsNC70LXRh9C10L3QuNGP0YIg0LLRgNGK0YUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYwCiBtc2dpZCAiTXVsdGlwbGUgcmVtb3RlIEhFQUQgYnJhbmNoZXMuIFBsZWFzZSBjaG9vc2Ugb25lIGV4cGxpY2l0bHkgd2l0aDoiCiBtc2dzdHIgIiIKICLQnNC90L7QttC10YHRgtCy0L4g0LrQu9C+0L3QuCDRgSDQstGK0YDRhdC+0LLQtS4gINCY0LfQsdC10YDQtdGC0LUg0LjQt9GA0LjRh9C90L4g0L3Rj9C60L7QuSDQvtGCINGC0Y/RhSDRh9GA0LXQtyDQutC+0LzQsNC90LTQsNGC0LA6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZGVsZXRlICVzIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9GC0YDQuNGCIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCByZWY6ICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70LXQvSDRg9C60LDQt9Cw0YLQtdC7OiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwICVzIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvdCw0YHRgtGA0L7QuCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk5CisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIHdpbGwgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAi4oCeJXPigJwg0YnQtSDRgdC1INC/0YDQtdCy0YrRgNC90LUg0LIg0L7QsdC10LrRgiDQuNC30LLRitC9INC60LvQvtC90LjRgtC1ISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzAwCisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIGhhcyBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICLigJ4lc+KAnCDRgdC1INC/0YDQtdCy0YrRgNC90LAg0LIg0L7QsdC10LrRgiDQuNC30LLRitC9INC60LvQvtC90LjRgtC1ISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzEwCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJ1bmluZyAlcyIKIG1zZ3N0ciAi0J7QutCw0YHRgtGA0Y/QvdC1INC90LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVSTDogJXMiCiBtc2dzdHIgItCw0LTRgNC10YE6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbd291bGQgcHJ1bmVdICVzIgogbXNnc3RyICIg4pePIFvRidC1INCx0YrQtNC1INC+0LrQsNGB0YLRgNC10L3Qvl0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMzMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFtwcnVuZWRdICVzIgogbXNnc3RyICIg4pePIFvQvtC60LDRgdGC0YDQtdC90L5dICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzNzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM3NAogbXNnaWQgInBydW5lIHJlbW90ZXMgYWZ0ZXIgZmV0Y2hpbmciCiBtc2dzdHIgItC+0LrQsNGB0YLRgNGP0L3QtSDQvdCwINC+0LPQu9C10LTQsNC70LDRgtCwINC90LAg0L7RgtC00LDQu9C10YfQtdC90LjRgtC1INGF0YDQsNC90LjQu9C40YnQsCDRgdC70LXQtCDQtNC+0YHRgtCw0LLRj9C90LUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzOCBidWlsdGluL3JlbW90ZS5jOjE0OTIgYnVpbHRpbi9yZW1vdGUuYzoxNTYwCisjOiBidWlsdGluL3JlbW90ZS5jOjE0MzcgYnVpbHRpbi9yZW1vdGUuYzoxNDkxIGJ1aWx0aW4vcmVtb3RlLmM6MTU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSAnJXMnIgogbXNnc3RyICLQndGP0LzQsCDQvtGC0LTQsNC70LXRh9C10L3QviDRhdGA0LDQvdC40LvQuNGJ0LUg0L3QsCDQuNC80LUg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ1NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDUzCiBtc2dpZCAiYWRkIGJyYW5jaCIKIG1zZ3N0ciAi0LTQvtCx0LDQstGP0L3QtSDQvdCwINC60LvQvtC9IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2MAogbXNnaWQgIm5vIHJlbW90ZSBzcGVjaWZpZWQiCiBtc2dzdHIgItC90LUg0LUg0YPQutCw0LfQsNC90L4g0L7RgtC00LDQu9C10YfQtdC90L4g0YXRgNCw0L3QuNC70LjRidC1IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3NwogbXNnaWQgInF1ZXJ5IHB1c2ggVVJMcyByYXRoZXIgdGhhbiBmZXRjaCBVUkxzIgogbXNnc3RyICLQt9Cw0L/QuNGC0LLQsNC90LUg0LrRitC8INCw0LTRgNC10YHQuNGC0LUg0LfQsCDQuNC30YLQu9Cw0YHQutCy0LDQvdC1LCDQsCDQvdC1INC30LAg0LTQvtGB0YLQsNCy0Y/QvdC1IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0ODAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3OQogbXNnaWQgInJldHVybiBhbGwgVVJMcyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LLRgdC40YfQutC4INCw0LTRgNC10YHQuCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTA4CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gVVJMcyBjb25maWd1cmVkIGZvciByZW1vdGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDQtSDQt9Cw0LTQsNC00LXQvSDQsNC00YDQtdGBINC30LAg0L7RgtC00LDQu9C10YfQtdC90L7RgtC+INGF0YDQsNC90LjQu9C40YnQtSDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM0CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzMKIG1zZ2lkICJtYW5pcHVsYXRlIHB1c2ggVVJMcyIKIG1zZ3N0ciAi0L/RgNC+0LzRj9C90LAg0L3QsCDQsNC00YDQtdGB0LjRgtC1INC30LAg0LjQt9GC0LvQsNGB0LrQstCw0L3QtSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM2CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzUKIG1zZ2lkICJhZGQgVVJMIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0LDQtNGA0LXRgdC4IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzNwogbXNnaWQgImRlbGV0ZSBVUkxzIgogbXNnc3RyICLQuNC30YLRgNC40LLQsNC90LUg0L3QsCDQsNC00YDQtdGB0LgiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU0NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTQ0CiBtc2dpZCAiLS1hZGQgLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIgogbXNnc3RyICLQvtC/0YbQuNC40YLQtSDigJ4tLWFkZOKAnCDQuCDigJ4tLWRlbGV0ZeKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTg0CisjOiBidWlsdGluL3JlbW90ZS5jOjE1ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBvbGQgVVJMIHBhdHRlcm46ICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70LXQvSAo0YHRgtCw0YApINGE0L7RgNC80LDRgiDQt9CwINCw0LTRgNC10YE6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIFVSTCBmb3VuZDogJXMiCiBtc2dzdHIgItCi0LDQutGK0LIg0LDQtNGA0LXRgSDQvdC1INC1INC+0YLQutGA0LjRgjogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkzCiBtc2dpZCAiV2lsbCBub3QgZGVsZXRlIGFsbCBub24tcHVzaCBVUkxzIgogbXNnc3RyICLQndC40LrQvtC5INC+0YIg0LDQtNGA0LXRgdC40YLQtSwg0LrQvtC40YLQviDQvdC1INGB0LAg0LfQsCDQuNC30YLQu9Cw0YHQutCy0LDQvdC1LCDQvdGP0LzQsCDQtNCwINGB0LUg0LjQt9GC0YDQuNC1IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2MTAKLW1zZ2lkICJiZSB2ZXJib3NlOyBtdXN0IGJlIHBsYWNlZCBiZWZvcmUgYSBzdWJjb21tYW5kIgotbXNnc3RyICLQv9C+0LLQtdGH0LUg0L/QvtC00YDQvtCx0L3QvtGB0YLQuC4gINCf0L7RgdGC0LDQstGPINGB0LUg0L/RgNC10LQg0L/QvtC00LrQvtC80LDQvdC00LAiCi0KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY0MQotIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgotbXNnc3RyICLQndC10L/QvtC30L3QsNGC0LAg0L/QvtC00LrQvtC80LDQvdC00LA6ICVzIgotCi0jOiBidWlsdGluL3JlcGFjay5jOjIyCisjOiBidWlsdGluL3JlcGFjay5jOjIzCiBtc2dpZCAiZ2l0IHJlcGFjayBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHJlcGFjayBb0J7Qn9Cm0JjQr+KApl0iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjgKIG1zZ2lkICIiCiAiSW5jcmVtZW50YWwgcmVwYWNrcyBhcmUgaW5jb21wYXRpYmxlIHdpdGggYml0bWFwIGluZGV4ZXMuICBVc2VcbiIKICItLW5vLXdyaXRlLWJpdG1hcC1pbmRleCBvciBkaXNhYmxlIHRoZSBwYWNrLndyaXRlYml0bWFwcyBjb25maWd1cmF0aW9uLiIKQEAgLTE2NTkwLDEwNCArMTk1MTMsMTQ0IEBACiAi0J/QvtC70LfQstCw0LnRgtC1INC+0L/RhtC40Y/RgtCwIC0tbm8td3JpdGUtYml0bWFwLWluZGV4INC40LvQuCDQuNC30LrQu9GO0YfQtdGC0LUg0L3QsNGB0YLRgNC+0LnQutCw0YLQsFxuIgogIuKAnnBhY2sud3JpdGViaXRtYXBz4oCcLiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyOTQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkxCittc2dpZCAiY291bGQgbm90IHN0YXJ0IHBhY2stb2JqZWN0cyB0byByZXBhY2sgcHJvbWlzb3Igb2JqZWN0cyIKK21zZ3N0ciAiIgorItC60L7QvNCw0L3QtNCw0YLQsCDigJ5wYWNrLW9iamVjdHPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRgtCw0YDRgtC40YDQsCDQt9CwINC/0YDQtdC/0LDQutC10YLQuNGA0LDQvdC10YLQviDQvdCwICIKKyLQs9Cw0YDQsNC90YLQuNGA0LDRidC40YLQtSDQvtCx0LXQutGC0LgiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjMwIGJ1aWx0aW4vcmVwYWNrLmM6NDE2Cittc2dpZCAicmVwYWNrOiBFeHBlY3RpbmcgZnVsbCBoZXggb2JqZWN0IElEIGxpbmVzIG9ubHkgZnJvbSBwYWNrLW9iamVjdHMuIgorbXNnc3RyICIiCisicmVwYWNrOiDQvtGCIOKAnnBhY2stb2JqZWN0c+KAnCDRgdC1INC40LfQuNGB0LrQstCw0YIg0YDQtdC00L7QstC1INGB0LDQvNC+INGBINC/0YrQu9C90Lgg0YjQtdGB0YLQvdCw0LnRgdC10YLQuNGH0L3QuCAiCisi0YPQutCw0LfQsNGC0LXQu9C4LiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyNTQKK21zZ2lkICJjb3VsZCBub3QgZmluaXNoIHBhY2stb2JqZWN0cyB0byByZXBhY2sgcHJvbWlzb3Igb2JqZWN0cyIKK21zZ3N0ciAiIgorItC60L7QvNCw0L3QtNCw0YLQsCDigJ5wYWNrLW9iamVjdHPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINC30LDQstGK0YDRiNC4INC30LAg0L/RgNC10L/QsNC60LXRgtC40YDQsNC90LXRgtC+INC90LAgIgorItCz0LDRgNCw0L3RgtC40YDQsNGJ0LjRgtC1INC+0LHQtdC60YLQuCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyOTIKIG1zZ2lkICJwYWNrIGV2ZXJ5dGhpbmcgaW4gYSBzaW5nbGUgcGFjayIKIG1zZ3N0ciAi0L/QsNC60LXRgtC40YDQsNC90LUg0L3QsCDQstGB0LjRh9C60L4g0LIg0L/QsNC60LXRgiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyOTYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk0CiBtc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKIG1zZ3N0ciAiIgogItGB0YrRidC+0YLQviDQutCw0YLQviDQvtC/0YbQuNGP0YLQsCDigJ4tYeKAnC4gINCU0L7Qv9GK0LvQvdC40YLQtdC70L3QviDigJQg0L3QtdC00L7RgdGC0LjQttC40LzQuNGC0LUg0L7QsdC10LrRgtC4INC00LAg0YHRgtCw0L3QsNGCICIKICLQvdC10L/QsNC60LXRgtC40YDQsNC90LgiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk5CisjOiBidWlsdGluL3JlcGFjay5jOjI5NwogbXNnaWQgInJlbW92ZSByZWR1bmRhbnQgcGFja3MsIGFuZCBydW4gZ2l0LXBydW5lLXBhY2tlZCIKIG1zZ3N0ciAiIgogItC/0YDQtdC80LDRhdCy0LDQvdC1INC90LAg0L3QtdC90YPQttC90LjRgtC1INC/0LDQutC10YLQuNGA0LDQvdC4INGE0LDQudC70L7QstC1INC4INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC0iCiAicHJ1bmUtcGFja2Vk4oCcIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMwMQorIzogYnVpbHRpbi9yZXBhY2suYzoyOTkKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2UtZGVsdGEgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAi0L/QvtC00LDQstCw0L3QtSDQvdCwINC+0L/RhtC40Y/RgtCwIOKAni0tbm8tcmV1c2UtZGVsdGHigJwg0L3QsCDQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0LXBhY2stb2JqZWN0c+KAnCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMDMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzAxCiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICIiCiAi0L/QvtC00LDQstCw0L3QtSDQvdCwINC+0L/RhtC40Y/RgtCwIOKAni0tbm8tcmV1c2Utb2JqZWN04oCcINC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC1wYWNrLW9iamVjdHPigJwiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA1CisjOiBidWlsdGluL3JlcGFjay5jOjMwMwogbXNnaWQgImRvIG5vdCBydW4gZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKIG1zZ3N0ciAi0LHQtdC3INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC11cGRhdGUtc2VydmVyLWluZm/igJwiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA4CisjOiBidWlsdGluL3JlcGFjay5jOjMwNgogbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICLQv9C+0LTQsNCy0LDQvdC1INC90LAg0L7Qv9GG0LjRj9GC0LAg4oCeLS1sb2NhbOKAnCDQvdCwINC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQtcGFjay1vYmplY3Rz4oCcIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMxMAorIzogYnVpbHRpbi9yZXBhY2suYzozMDgKIG1zZ2lkICJ3cml0ZSBiaXRtYXAgaW5kZXgiCiBtc2dzdHIgItGB0YrQt9C00LDQstCw0L3QtSDQuCDQt9Cw0L/QuNGB0LLQsNC90LUg0L3QsCDQuNC90LTQtdC60YHQuCDQvdCwINCx0LDQt9CwINCx0LjRgtC+0LLQuCDQvNCw0YHQutC4IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMxMgorIzogYnVpbHRpbi9yZXBhY2suYzozMTAKIG1zZ2lkICJwYXNzIC0tZGVsdGEtaXNsYW5kcyB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICLQv9C+0LTQsNCy0LDQvdC1INC90LAg0L7Qv9GG0LjRj9GC0LAg4oCeLS1kZWx0YS1pc2xhbmRz4oCcINC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdC1wYWNrLW9iamVjdHPigJwiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEzCisjOiBidWlsdGluL3JlcGFjay5jOjMxMQogbXNnaWQgImFwcHJveGlkYXRlIgogbXNnc3RyICLQtdCy0YDQuNGB0YLQuNGH0L3QsCDQtNCw0YLQsCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEyCiBtc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKIG1zZ3N0ciAiIgogItC/0YDQuCDQutC+0LzQsdC40L3QuNGA0LDQvdC10YLQviDRgSDQvtC/0YbQuNGP0YLQsCDigJ4tQeKAnCDigJQg0LHQtdC3INGA0LDQt9C/0LDQutC10YLQuNGA0LDQvdC1INC90LAg0L7QsdC10LrRgtC40YLQtSDQv9C+INGB0YLQsNGA0Lgg0L7RgiAiCiAi0YLQvtCy0LAiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE2CisjOiBidWlsdGluL3JlcGFjay5jOjMxNAogbXNnaWQgIndpdGggLWEsIHJlcGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICLRgSDigJ4tYeKAnCDigJQg0L/RgNC10L/QsNC60LXRgtC40YDQsNC90LUg0L3QsCDQvdC10LTQvtGB0YLQuNC20LjQvNC40YLQtSDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE4CisjOiBidWlsdGluL3JlcGFjay5jOjMxNgogbXNnaWQgInNpemUgb2YgdGhlIHdpbmRvdyB1c2VkIGZvciBkZWx0YSBjb21wcmVzc2lvbiIKIG1zZ3N0ciAi0YDQsNC30LzQtdGAINC90LAg0L/RgNC+0LfQvtGA0LXRhtCwINC30LAg0LTQtdC70YLQsCDQutC+0LzQv9GA0LXRgdC40Y/RgtCwIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMxOSBidWlsdGluL3JlcGFjay5jOjMyNQorIzogYnVpbHRpbi9yZXBhY2suYzozMTcgYnVpbHRpbi9yZXBhY2suYzozMjMKIG1zZ2lkICJieXRlcyIKIG1zZ3N0ciAi0LHQsNC50YLQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzIwCisjOiBidWlsdGluL3JlcGFjay5jOjMxOAogbXNnaWQgInNhbWUgYXMgdGhlIGFib3ZlLCBidXQgbGltaXQgbWVtb3J5IHNpemUgaW5zdGVhZCBvZiBlbnRyaWVzIGNvdW50IgogbXNnc3RyICIiCiAi0YHRitGJ0L7RgtC+INC60LDRgtC+INCz0L7RgNC90LDRgtCwINC+0L/RhtC40Y8sINC90L4g0L7Qs9GA0LDQvdC40YfQtdC90LjQtdGC0L4g0LTQsCDQtSDQv9C+INGA0LDQt9C80LXRgCDQvdCwINC/0LDQvNC10YLRgtCwLCDQsCDQvdC1ICIKICLQv9C+INCx0YDQvtGPINC90LAg0L7QsdC10LrRgtC40YLQtSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMjIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzIwCiBtc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIGRlbHRhIGRlcHRoIgogbXNnc3RyICLQvtCz0YDQsNC90LjRh9Cw0LLQsNC90LUg0L3QsCDQvNCw0LrRgdC40LzQsNC70L3QsNGC0LAg0LTRitC70LHQvtGH0LjQvdCwINC90LAg0LTQtdC70YLQsNGC0LAiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI0CisjOiBidWlsdGluL3JlcGFjay5jOjMyMgogbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcyIKIG1zZ3N0ciAi0L7Qs9GA0LDQvdC40YfQsNCy0LDQvdC1INC90LAg0LzQsNC60YHQuNC80LDQu9C90LjRjyDQsdGA0L7QuSDQvdC40YjQutC4IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMyNgorIzogYnVpbHRpbi9yZXBhY2suYzozMjQKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBwYWNrZmlsZSIKIG1zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9C10L0g0YDQsNC30LzQtdGAINC90LAg0LLRgdC10LrQuCDQv9Cw0LrQtdGCIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMyOAorIzogYnVpbHRpbi9yZXBhY2suYzozMjYKIG1zZ2lkICJyZXBhY2sgb2JqZWN0cyBpbiBwYWNrcyBtYXJrZWQgd2l0aCAua2VlcCIKIG1zZ3N0ciAi0L/RgNC10L/QsNC60LXRgtC40YDQsNC90LUg0L3QsCDQvtCx0LXQutGC0LjRgtC1INCyINC/0LDQutC10YLQuCDQsdC10LvRj9C30LDQvdC4INGBIOKAni5rZWVw4oCcIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMzMAorIzogYnVpbHRpbi9yZXBhY2suYzozMjgKIG1zZ2lkICJkbyBub3QgcmVwYWNrIHRoaXMgcGFjayIKIG1zZ3N0ciAi0LHQtdC3INC/0YDQtdC/0LDQutC10YLQuNGA0LDQvdC1INC90LAg0YLQvtC30Lgg0L/QsNC60LXRgiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozNDAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzM4CiBtc2dpZCAiY2Fubm90IGRlbGV0ZSBwYWNrcyBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAi0L/QsNC60LXRgtC40YLQtSDQsiDRhdGA0LDQvdC40LvQuNGJ0LUg0YEg0LLQsNC20L3QuCDQvtCx0LXQutGC0Lgg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YLRgNC40Y/RgiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozNDQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzQyCiBtc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICLQntC/0YbQuNC40YLQtSDigJ4tLWtlZXAtdW5yZWFjaGFibGXigJwg0Lgg4oCeLUHigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6NTI3CisjOiBidWlsdGluL3JlcGFjay5jOjQyNQorbXNnaWQgIk5vdGhpbmcgbmV3IHRvIHBhY2suIgorbXNnc3RyICLQndC40YnQviDQvdC+0LLQviDQt9CwINC/0LDQutC10YLQuNGA0LDQvdC1IgorCisjOiBidWlsdGluL3JlcGFjay5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogU29tZSBwYWNrcyBpbiB1c2UgaGF2ZSBiZWVuIHJlbmFtZWQgYnlcbiIKKyJXQVJOSU5HOiBwcmVmaXhpbmcgb2xkLSB0byB0aGVpciBuYW1lLCBpbiBvcmRlciB0b1xuIgorIldBUk5JTkc6IHJlcGxhY2UgdGhlbSB3aXRoIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGVcbiIKKyJXQVJOSU5HOiBmaWxlLiAgQnV0IHRoZSBvcGVyYXRpb24gZmFpbGVkLCBhbmQgdGhlXG4iCisiV0FSTklORzogYXR0ZW1wdCB0byByZW5hbWUgdGhlbSBiYWNrIHRvIHRoZWlyXG4iCisiV0FSTklORzogb3JpZ2luYWwgbmFtZXMgYWxzbyBmYWlsZWQuXG4iCisiV0FSTklORzogUGxlYXNlIHJlbmFtZSB0aGVtIGluICVzIG1hbnVhbGx5OlxuIgorbXNnc3RyICIiCisi0J/QoNCV0JTQo9Cf0KDQldCW0JTQldCd0JjQlTog0JfQsCDQtNCwINCx0YrQtNCw0YIg0LfQsNC80LXQvdC10L3QuCDRgSDQvdC+0LLQuCDQstC10YDRgdC40LgsINC90Y/QutC+0LhcbiIKKyLQn9Cg0JXQlNCj0J/QoNCV0JbQlNCV0J3QmNCVOiDQv9Cw0LrQtdGC0L3QuCDRhNCw0LnQu9C+0LLQtSDQsdGP0YXQsCDQv9GA0LXQuNC80LXQvdGD0LLQsNC90LgsINC60LDRgtC+INC60YrQvFxuIgorItCf0KDQldCU0KPQn9Cg0JXQltCU0JXQndCY0JU6INC40LzQtdC90LDRgtCwINC40Lwg0LHQtSDQtNC+0LHQsNCy0LXQvSDQv9GA0LXRhNC40LrRgdGK0YIg4oCeb2xkLeKAnC5cbiIKKyLQn9Cg0JXQlNCj0J/QoNCV0JbQlNCV0J3QmNCVOiDQotCw0LfQuCDQvtC/0LXRgNCw0YbQuNGPINCx0LUg0L3QtdGD0YHQv9C10YjQvdCwLCDQutCw0LrRgtC+INC4INC+0LHRgNCw0YLQvdCw0YLQsFxuIgorItCf0KDQldCU0KPQn9Cg0JXQltCU0JXQndCY0JU6INC4zIAg4oCUINC30LAg0LLRgNGK0YnQsNC90LXRgtC+INC90LAg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC40YLQtSDQuNC80LXQvdCwLlxuIgorItCf0KDQldCU0KPQn9Cg0JXQltCU0JXQndCY0JU6INCf0YDQtdC40LzQtdC90YPQstCw0LnRgtC1INGE0LDQudC70L7QstC10YLQtSDQsiDigJ4lc+KAnCDRgNGK0YfQvdC+OlxuIgorCisjOiBidWlsdGluL3JlcGFjay5jOjUzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICclcyciCiBtc2dzdHIgItC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9GC0YDQuNGC0LAiCkBAIC0xNjcxNiwxMiArMTk2NzksNyBAQAogbXNnaWQgImdpdCByZXBsYWNlIFstLWZvcm1hdD08Zm9ybWF0Pl0gWy1sIFs8cGF0dGVybj5dXSIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PdCk0J7QoNCc0JDQol0gWy1sIFvQqNCQ0JHQm9Ce0J1dXSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTggYnVpbHRpbi9yZXBsYWNlLmM6MjAzIGJ1aWx0aW4vcmVwbGFjZS5jOjIwNgotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmIgotbXNnc3RyICLigJ4lc+KAnCDQvdC1INC1INGD0LrQsNC30LDRgtC10Lsg0LjQu9C4INC90LUg0YHQvtGH0Lgg0LrRitC8INC90LjRidC+IgotCi0jOiBidWlsdGluL3JlcGxhY2UuYzo4NgorIzogYnVpbHRpbi9yZXBsYWNlLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImludmFsaWQgcmVwbGFjZSBmb3JtYXQgJyVzJ1xuIgpAQCAtMTY3MzAsMjcgKzE5Njg4LDI3IEBACiAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0YTQvtGA0LzQsNGCINGB0LAg0LfQsNC80LXRgdGC0LLQsNC90LU6IOKAniVz4oCcXG4iCiAi0LLRitC30LzQvtC20L3QuNGC0LUg0YTQvtGA0LzQsNGC0Lgg0YHQsCDigJ5zaG9ydOKAnCAo0LrRgNCw0YLRitC6KSwg4oCebWVkaXVt4oCcICjRgdGA0LXQtNC10L0pINC4IOKAnmxvbmfigJwgKNC00YrQu9GK0LMpIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBsYWNlIHJlZiAnJXMnIG5vdCBmb3VuZCIKIG1zZ3N0ciAi0YPQutCw0LfQsNGC0LXQu9GP0YIg0LfQsCDQt9Cw0LzRj9C90LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTM3CisjOiBidWlsdGluL3JlcGxhY2UuYzoxNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRlZCByZXBsYWNlIHJlZiAnJXMnIgogbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDQt9CwINC30LDQvNGP0L3QsCDQtSDQuNC30YLRgNC40YI6IOKAniVz4oCcIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxNDkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE1MwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlZiBuYW1lIgogbXNnc3RyICLigJ4lc+KAnCDQtSDQvdC10L/RgNCw0LLQuNC70L3QviDQuNC80LUg0LfQsCDRg9C60LDQt9Cw0YLQtdC7INC30LAg0LfQsNC80Y/QvdCwIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxNTQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBsYWNlIHJlZiAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICLRg9C60LDQt9Cw0YLQtdC70Y/RgiDQt9CwINC30LDQvNGP0L3QsCDigJ4lc+KAnCDQstC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTc0CisjOiBidWlsdGluL3JlcGxhY2UuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk9iamVjdHMgbXVzdCBiZSBvZiB0aGUgc2FtZSB0eXBlLlxuIgpAQCAtMTY3NjEsNzYgKzE5NzE5LDgxIEBACiAi4oCeJXPigJwg0YHQvtGH0Lgg0LrRitC8INC30LDQvNC10L3QtdC9INC+0LHQtdC60YIg4oCeJXPigJwsXG4iCiAi0LAg4oCeJXPigJwg0YHQvtGH0Lgg0LrRitC8INC30LDQvNC10YHRgtCy0LDRiSDQvtCx0LXQutGCINC+0YIg0LLQuNC0IOKAniVz4oCcLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjI1CisjOiBidWlsdGluL3JlcGxhY2UuYzoyMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtGC0LLQvtGA0LXQvSDQt9CwINC30LDQv9C40YEiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIzOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjQyCiBtc2dpZCAiY2F0LWZpbGUgcmVwb3J0ZWQgZmFpbHVyZSIKIG1zZ3N0ciAi0LjQt9C/0YrQu9C90LXQvdC40LXRgtC+INC90LAg4oCeY2F0LWZpbGXigJwg0LfQsNCy0YrRgNGI0Lgg0YEg0LPRgNC10YjQutCwIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyNTQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQstC+0YDQtdC9INC30LAg0YfQtdGC0LXQvdC1IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyNjgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI3MgogbXNnaWQgInVuYWJsZSB0byBzcGF3biBta3RyZWUiCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INGB0YrQt9C00LDQtNC1INC/0YDQvtGG0LXRgSDQt9CwIOKAnm1rdHJlZeKAnCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjcyCisjOiBidWlsdGluL3JlcGxhY2UuYzoyNzYKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBmcm9tIG1rdHJlZSIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC+0YfQtdGC0LUg0L7RgiDigJ5ta3RyZWXigJwiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI4MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjg1CiBtc2dpZCAibWt0cmVlIHJlcG9ydGVkIGZhaWx1cmUiCiBtc2dzdHIgIuKAnm1rdHJlZeKAnCDQt9Cw0LLRitGA0YjQuCDRgSDQs9GA0LXRiNC60LAiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI4NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjg5CiBtc2dpZCAibWt0cmVlIGRpZCBub3QgcmV0dXJuIGFuIG9iamVjdCBuYW1lIgogbXNnc3RyICLigJ5ta3RyZWXigJwg0L3QtSDQstGK0YDQvdCwINC40LzQtSDQvdCwINC+0LHQtdC60YIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI5NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBmc3RhdCAlcyIKIG1zZ3N0ciAi4oCeZnN0YXTigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9C/0YrQu9C90Lgg0LLRitGA0YXRgyDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjk5CisjOiBidWlsdGluL3JlcGxhY2UuYzozMDMKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgb2JqZWN0IHRvIGRhdGFiYXNlIgogbXNnc3RyICLQvtCx0LXQutGC0YrRgiDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LjRgdCw0L0g0LIg0LHQsNC30LDRgtCwINC+0YIg0LTQsNC90L3QuCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzE4IGJ1aWx0aW4vcmVwbGFjZS5jOjM3MSBidWlsdGluL3JlcGxhY2UuYzo0MTUKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzIyIGJ1aWx0aW4vcmVwbGFjZS5jOjM3OCBidWlsdGluL3JlcGxhY2UuYzo0MjMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90L4g0LjQvNC1INC90LAg0L7QsdC10LrRgjog4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMyMgorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBnZXQgb2JqZWN0IHR5cGUgZm9yICVzIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtC/0YDQtdC00LXQu9C4INCy0LjQtNGK0YIg0L3QsCDQvtCx0LXQutGC0LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMzOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzQyCiBtc2dpZCAiZWRpdGluZyBvYmplY3QgZmlsZSBmYWlsZWQiCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDRgNC10LTQsNC60YLQuNGA0LDQvdC1INC90LAg0YTQsNC50LvQsCDRgSDQvtCx0LXQutGC0LjRgtC1IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNDcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgb2JqZWN0IGlzIHRoZSBzYW1lIGFzIHRoZSBvbGQgb25lOiAnJXMnIgogbXNnc3RyICLQvdC+0LLQuNGP0YIg0Lgg0YHRgtCw0YDQuNGP0YIg0L7QsdC10LrRgiDRgdCwINC10LTQuNC9INC4INGB0YrRiTog4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwNworIzogYnVpbHRpbi9yZXBsYWNlLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyBhcyBhIGNvbW1pdCIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LDQvdCw0LvQuNC30LjRgNCwINC60LDRgtC+INC/0L7QtNCw0LLQsNC90LUiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCiBtc2dzdHIgItC10YLQuNC60LXRgtGK0YIg0L/RgNC4INGB0LvQuNCy0LDQvdC1INCyINC/0L7QtNCw0LLQsNC90LXRgtC+IOKAniVz4oCcIGUg0L3QtdC/0YDQsNCy0LjQu9C10L0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwOQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBtZXJnZXRhZyBpbiBjb21taXQgJyVzJyIKIG1zZ3N0ciAi0LXRgtC40LrQtdGC0YrRgiDQv9GA0Lgg0YHQu9C40LLQsNC90LUg0LIg0L/QvtC00LDQstCw0L3QtdGC0L4g4oCeJXPigJwgZSDQvdC10L/RgNCw0LLQuNC70LXQvSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDIxCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm9yaWdpbmFsIGNvbW1pdCAnJXMnIGNvbnRhaW5zIG1lcmdldGFnICclcycgdGhhdCBpcyBkaXNjYXJkZWQ7IHVzZSAtLWVkaXQgIgpAQCAtMTY4MzksMzEgKzE5ODAyLDMxIEBACiAi0J/RitGA0LLQvtC90LDRh9Cw0LvQvdC+0YLQviDQv9C+0LTQsNCy0LDQvdC1IOKAniVz4oCcINGB0YrQtNGK0YDQttCwINC10YLQuNC60LXRgtCwINC/0YDQuCDRgdC70LjQstCw0L3QtSDigJ4lc+KAnCwg0LrQvtC50YLQviDQtSAiCiAi0LjQt9GF0LLRitGA0LvQtdC9LCDQt9Cw0YLQvtCy0LAg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDQvtC/0YbQuNGP0YLQsCDigJ4tLWVkaXTigJwsINCwINC90LUg4oCeLS1ncmFmdOKAnC4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2MAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBvcmlnaW5hbCBjb21taXQgJyVzJyBoYXMgYSBncGcgc2lnbmF0dXJlIgogbXNnc3RyICLQv9GK0YDQstC+0L3QsNGH0LDQu9C90L7RgtC+INC/0L7QtNCw0LLQsNC90LUg4oCeJXPigJwg0LUg0YEg0L/QvtC00L/QuNGBINC90LAgR1BHIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0NjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2OQogbXNnaWQgInRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGluIHRoZSByZXBsYWNlbWVudCBjb21taXQhIgogbXNnc3RyICLQn9C+0LTQv9C40YHRitGCINGJ0LUg0LHRitC00LUg0L/RgNC10LzQsNGF0L3QsNGCINCyINC30LDQvNC10L3Rj9GJ0L7RgtC+INC/0L7QtNCw0LLQsNC90LUhIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0NzEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgcmVwbGFjZW1lbnQgY29tbWl0IGZvcjogJyVzJyIKIG1zZ3N0ciAi0LfQsNC80LXQvdGP0YnQvtGC0L4g0L/QvtC00LDQstCw0L3QtSDQt9CwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QuNGB0LDQvdC+IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0NzkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJncmFmdCBmb3IgJyVzJyB1bm5lY2Vzc2FyeSIKIG1zZ3N0ciAi0L/RgNC40YHQsNC00LrQsNGC0LAg0LfQsCDigJ4lc+KAnCDQtSDQuNC30LvQuNGI0L3QsCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDgyCisjOiBidWlsdGluL3JlcGxhY2UuYzo0OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IGNvbW1pdCBpcyB0aGUgc2FtZSBhcyB0aGUgb2xkIG9uZTogJyVzJyIKIG1zZ3N0ciAi0L3QvtCy0L7RgtC+INC4INGB0YLQsNGA0L7RgtC+INC/0L7QtNCw0LLQsNC90LUg0YHQsCDQtdC00L3QviDQuCDRgdGK0YnQvjog4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUxNQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjb3VsZCBub3QgY29udmVydCB0aGUgZm9sbG93aW5nIGdyYWZ0KHMpOlxuIgpAQCAtMTY4NzIsNzEgKzE5ODM1LDcxIEBACiAi0YHQu9C10LTQvdC40YLQtSDQv9GA0LjRgdCw0LTQutC4INC90LUg0LzQvtCz0LDRgiDQtNCwINGB0LUg0L/RgNC10L7QsdGA0LDQt9GD0LLQsNGCOlxuIgogIiVzIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1MzYKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0NwogbXNnaWQgImxpc3QgcmVwbGFjZSByZWZzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdC/0LjRgdGK0LrQsCDRgSDRg9C60LDQt9Cw0YLQtdC70LjRgtC1INC30LAg0LfQsNC80Y/QvdCwIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1MzcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0OAogbXNnaWQgImRlbGV0ZSByZXBsYWNlIHJlZnMiCiBtc2dzdHIgItC40LfRgtGA0LjQstCw0L3QtSDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUg0LfQsCDQt9Cw0LzRj9C90LAiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUzOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQ5CiBtc2dpZCAiZWRpdCBleGlzdGluZyBvYmplY3QiCiBtc2dzdHIgItGA0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDRgdGK0YnQtdGB0YLQstGD0LLQsNGJINC+0LHQtdC60YIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUzOQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTUwCiBtc2dpZCAiY2hhbmdlIGEgY29tbWl0J3MgcGFyZW50cyIKIG1zZ3N0ciAi0YHQvNGP0L3QsCDQvdCwINGA0L7QtNC40YLQtdC70LjRgtC1INC90LAg0L/QvtC00LDQstCw0L3QtSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQwCisjOiBidWlsdGluL3JlcGxhY2UuYzo1NTEKIG1zZ2lkICJjb252ZXJ0IGV4aXN0aW5nIGdyYWZ0IGZpbGUiCiBtc2dzdHIgItC/0YDQtdC+0LHRgNCw0LfRg9Cy0LDQvdC1INC90LAg0YTQsNC50LvQsCDQt9CwINC/0YDQuNGB0LDQtNC60LjRgtC1IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NDEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1MgogbXNnaWQgInJlcGxhY2UgdGhlIHJlZiBpZiBpdCBleGlzdHMiCiBtc2dzdHIgItC30LDQvNGP0L3QsCDQvdCwINGD0LrQsNC30LDRgtC10LvRjywg0LDQutC+INGB0YrRidC10YHRgtCy0YPQstCwIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NDMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1NAogbXNnaWQgImRvIG5vdCBwcmV0dHktcHJpbnQgY29udGVudHMgZm9yIC0tZWRpdCIKIG1zZ3N0ciAi0LHQtdC3INGE0L7RgNC80LDRgtC40YDQsNC90L4g0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHRitC00YrRgNC20LDQvdC40LXRgtC+IOKAlCDQt9CwINC+0L/RhtC40Y/RgtCwIOKAni0tZWRpdOKAnCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQ0CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NTUKIG1zZ2lkICJ1c2UgdGhpcyBmb3JtYXQiCiBtc2dzdHIgItC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0YLQvtC30Lgg0KTQntCg0JzQkNCiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NTcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU2OAogbXNnaWQgIi0tZm9ybWF0IGNhbm5vdCBiZSB1c2VkIHdoZW4gbm90IGxpc3RpbmciCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tZm9ybWF04oCcINC40LfQuNGB0LrQstCwINC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0L/QuNGB0YrQuiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTY1CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NzYKIG1zZ2lkICItZiBvbmx5IG1ha2VzIHNlbnNlIHdoZW4gd3JpdGluZyBhIHJlcGxhY2VtZW50IgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tZuKAnCDQuNC30LjRgdC60LLQsCDQt9Cw0L/QsNC30LLQsNC90LXRgtC+INC90LAg0LfQsNC80LXRgdGC0LjRgtC10LsiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU2OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTgwCiBtc2dpZCAiLS1yYXcgb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tZWRpdCIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1yYXfigJwg0LjQt9C40YHQutCy0LAg4oCeLS1lZGl04oCcIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NzUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU4NgogbXNnaWQgIi1kIG5lZWRzIGF0IGxlYXN0IG9uZSBhcmd1bWVudCIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLWTigJwg0LjQt9C40YHQutCy0LAg0L/QvtC90LUg0LXQtNC40L0g0LDRgNCz0YPQvNC10L3RgiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTgxCisjOiBidWlsdGluL3JlcGxhY2UuYzo1OTIKIG1zZ2lkICJiYWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0LHRgNC+0Lkg0LDRgNCz0YPQvNC10L3RgtC4IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1ODcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU5OAogbXNnaWQgIi1lIG5lZWRzIGV4YWN0bHkgb25lIGFyZ3VtZW50IgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tZeKAnCDQuNC30LjRgdC60LLQsCDQv9C+0L3QtSDQtdC00LjQvSDQsNGA0LPRg9C80LXQvdGCIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1OTMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYwNAogbXNnaWQgIi1nIG5lZWRzIGF0IGxlYXN0IG9uZSBhcmd1bWVudCIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLWfigJwg0LjQt9C40YHQutCy0LAg0L/QvtC90LUg0LXQtNC40L0g0LDRgNCz0YPQvNC10L3RgiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTk5CisjOiBidWlsdGluL3JlcGxhY2UuYzo2MTAKIG1zZ2lkICItLWNvbnZlcnQtZ3JhZnQtZmlsZSB0YWtlcyBubyBhcmd1bWVudCIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1jb252ZXJ0LWdyYWZ0LWZpbGXigJwg0L3QtSDQv9GA0LjQtdC80LAg0LDRgNCz0YPQvNC10L3RgtC4IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo2MDUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYxNgogbXNnaWQgIm9ubHkgb25lIHBhdHRlcm4gY2FuIGJlIGdpdmVuIHdpdGggLWwiCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni1s4oCcINC/0YDQuNC10LzQsCDRgtC+0YfQvdC+INC10LTQuNC9INGI0LDQsdC70L7QvSIKIApAQCAtMTY5NTIsMTI4ICsxOTkxNSwxNDIgQEAKIG1zZ2lkICInZ2l0IHJlcmVyZSBmb3JnZXQnIHdpdGhvdXQgcGF0aHMgaXMgZGVwcmVjYXRlZCIKIG1zZ3N0ciAi0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCByZXJlcmUgZm9yZ2V04oCcINC40LfQuNGB0LrQstCwINGD0LrQsNC30LLQsNC90LXRgtC+INC90LAg0L/RitGCIgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjExMQorIzogYnVpbHRpbi9yZXJlcmUuYzoxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdlbmVyYXRlIGRpZmYgZm9yICclcyciCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQs9C10L3QtdGA0LjRgNCw0L3QtSDQvdCwINGA0LDQt9C70LjQutCwINC30LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMQorIzogYnVpbHRpbi9yZXNldC5jOjMyCiBtc2dpZCAiIgogImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxjb21taXQ+XSIKIG1zZ3N0ciAiIgogImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gW9Cf0J7QlNCQ0JLQkNCd0JVdIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzIKLW1zZ2lkICJnaXQgcmVzZXQgWy1xXSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHM+Li4uIgotbXNnc3RyICJnaXQgcmVzZXQgWy1xXSDQo9Ca0JDQl9CQ0KLQldCbX9Ca0KrQnF/QlNCq0KDQktCeIFstLV0g0J/QqtCi0JjQqdCQ4oCmIgotCiAjOiBidWlsdGluL3Jlc2V0LmM6MzMKLW1zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0iCittc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzcGVjPi4uLiIKK21zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gW9Cj0JrQkNCX0JDQotCV0Jtf0JrQqtCcX9CU0KrQoNCS0J5dIFstLV0g0J/QqtCi0JjQqdCQ4oCmIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzQKK21zZ2lkICIiCisiZ2l0IHJlc2V0IFstcV0gWy0tcGF0aHNwZWMtZnJvbS1maWxlIFstLXBhdGhzcGVjLWZpbGUtbnVsXV0gWzx0cmVlLWlzaD5dIgorbXNnc3RyICIiCisiZ2l0IHJlc2V0IFstcV0gWy0tcGF0aHNwZWMtZnJvbS1maWxlIFstLXBhdGhzcGVjLWZpbGUtbnVsXV0gIgorIlvQo9Ca0JDQl9CQ0KLQldCbX9Ca0KrQnF/QlNCq0KDQktCeXSIKKworIzogYnVpbHRpbi9yZXNldC5jOjM1Cittc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRoc3BlYz4uLi5dIgogbXNnc3RyICJnaXQgcmVzZXQgLS1wYXRjaCBb0KPQmtCQ0JfQkNCi0JXQm1/QmtCq0Jxf0JTQqtCg0JLQnl0gWy0tXSBb0J/QqtCi0JjQqdCQ4oCmXSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5CisjOiBidWlsdGluL3Jlc2V0LmM6NDEKIG1zZ2lkICJtaXhlZCIKIG1zZ3N0ciAi0YHQvNC10YHQtdC90L4gKG1peGVkKSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5CisjOiBidWlsdGluL3Jlc2V0LmM6NDEKIG1zZ2lkICJzb2Z0IgogbXNnc3RyICLQvNC10LrQviAoc29mdCkiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOQorIzogYnVpbHRpbi9yZXNldC5jOjQxCiBtc2dpZCAiaGFyZCIKIG1zZ3N0ciAi0L/RitC70L3QviAoaGFyZCkiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOQorIzogYnVpbHRpbi9yZXNldC5jOjQxCiBtc2dpZCAibWVyZ2UiCiBtc2dzdHIgItGB0LvRj9GC0L4gKG1lcmdlKSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5CisjOiBidWlsdGluL3Jlc2V0LmM6NDEKIG1zZ2lkICJrZWVwIgogbXNnc3RyICLQt9Cw0L/QsNC30LLQsNGJ0L4gKGtlZXApIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6ODAKKyM6IGJ1aWx0aW4vcmVzZXQuYzo4MgogbXNnaWQgIllvdSBkbyBub3QgaGF2ZSBhIHZhbGlkIEhFQUQuIgogbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC1INC/0L7QstGA0LXQtNC10L0uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6ODIKKyM6IGJ1aWx0aW4vcmVzZXQuYzo4NAogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgSEVBRC4iCiBtc2dzdHIgItCU0YrRgNCy0L7RgtC+LCDRgdC+0YfQtdC90L4g0L7RgiDRg9C60LDQt9Cw0YLQtdC70Y8g4oCeSEVBROKAnCwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgtC+LiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjg4CisjOiBidWlsdGluL3Jlc2V0LmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgdHJlZSBvZiAlcy4iCiBtc2dzdHIgItCU0YrRgNCy0L7RgtC+LCDRgdC+0YfQtdC90L4g0L7RgiDigJ4lc+KAnCwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgtC+LiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjE5MgorIzogYnVpbHRpbi9yZXNldC5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICJIRUFEIGlzIG5vdyBhdCAlcyIKK21zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDRgdC+0YfQuCDQutGK0Lwg4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzoxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRvIGEgJXMgcmVzZXQgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlLiIKIG1zZ3N0ciAi0J3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9Cy0YrRgNGI0LggJXMg0LfQsNC90YPQu9GP0LLQsNC90LUg0L/QviDQstGA0LXQvNC1INC90LAg0YHQu9C40LLQsNC90LUuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjkyCisjOiBidWlsdGluL3Jlc2V0LmM6Mjk0IGJ1aWx0aW4vc3Rhc2guYzo1MTkgYnVpbHRpbi9zdGFzaC5jOjU5NAorIzogYnVpbHRpbi9zdGFzaC5jOjYxOAogbXNnaWQgImJlIHF1aWV0LCBvbmx5IHJlcG9ydCBlcnJvcnMiCiBtc2dzdHIgItC/0L4t0LzQsNC70LrQviDQv9C+0LTRgNC+0LHQvdC+0YHRgtC4LCDQtNCwINGB0LUg0LjQt9Cy0LXQttC00LDRgiDRgdCw0LzQviDQs9GA0LXRiNC60LjRgtC1IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjk0CisjOiBidWlsdGluL3Jlc2V0LmM6Mjk2CiBtc2dpZCAicmVzZXQgSEVBRCBhbmQgaW5kZXgiCiBtc2dzdHIgItC40L3QtNC10LrRgdCwINC4INGD0LrQsNC30LDRgtC10LvRjyDigJ5IRUFE4oCcLCDQsdC10Lcg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTUKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTcKIG1zZ2lkICJyZXNldCBvbmx5IEhFQUQiCiBtc2dzdHIgItGB0LDQvNC+INGD0LrQsNC30LDRgtC10LvRjyDigJ5IRUFE4oCcLCDQsdC10Lcg0LjQvdC00LXQutGB0LAg0Lgg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTcgYnVpbHRpbi9yZXNldC5jOjI5OQorIzogYnVpbHRpbi9yZXNldC5jOjI5OSBidWlsdGluL3Jlc2V0LmM6MzAxCiBtc2dpZCAicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi0YPQutCw0LfQsNGC0LXQu9GPIOKAnkhFQUTigJwsINC40L3QtNC10LrRgdCwINC4INGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzAxCisjOiBidWlsdGluL3Jlc2V0LmM6MzAzCiBtc2dpZCAicmVzZXQgSEVBRCBidXQga2VlcCBsb2NhbCBjaGFuZ2VzIgogbXNnc3RyICLQt9Cw0L3Rg9C70Y/QstCw0L3QtSDQvdCwINGD0LrQsNC30LDRgtC10LvRjyDigJ5IRUFE4oCcLCDQvdC+INC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINC70L7QutCw0LvQvdC40YLQtSDQv9GA0L7QvNC10L3QuCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMwNworIzogYnVpbHRpbi9yZXNldC5jOjMwOQogbXNnaWQgInJlY29yZCBvbmx5IHRoZSBmYWN0IHRoYXQgcmVtb3ZlZCBwYXRocyB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICIiCiAi0L7RgtCx0LXQu9GP0LfQstCw0L3QtSDRgdCw0LzQviDQvdCwINGE0LDQutGC0LAsINGH0LUg0LjQt9GC0YDQuNGC0LjRgtC1INC/0YrRgtC40YnQsCDRidC1INCx0YrQtNCw0YIg0LTQvtCx0LDQstC10L3QuCDQv9C+LdC60YrRgdC90L4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMjUKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJldmlzaW9uLiIKIG1zZ3N0ciAi0KHRgtC+0LnQvdC+0YHRgtGC0LAg4oCeJXPigJwg0L3QtSDQtSDRgNCw0LfQv9C+0LfQvdCw0YLQsCDQutCw0YLQviDRgdGK0YnQtdGB0YLQstGD0LLQsNGJ0LAg0LLQtdGA0YHQuNGPLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMzMworIzogYnVpbHRpbi9yZXNldC5jOjM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgdHJlZS4iCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LUg0YDQsNC30L/QvtC30L3QsNGCINC60LDRgtC+INC00YrRgNCy0L4uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQyCisjOiBidWlsdGluL3Jlc2V0LmM6MzYwCiBtc2dpZCAiLS1wYXRjaCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLXtoYXJkLG1peGVkLHNvZnR9IgogbXNnc3RyICIiCi0i0L7Qv9GG0LjRj9GC0LAg4oCeLS1wYXRjaOKAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg0LLRgdGP0LrQsCDQvtGCINC+0L/RhtC40LjRgtC1IOKAni0taGFyZC8tLW1peGVkLy0tc29mdOKAnCIKKyLQvtC/0YbQuNGP0YLQsCDigJ4tLXBhdGNo4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDQstGB0Y/QutCwINC+0YIg0L7Qv9GG0LjQuNGC0LUg4oCeLS1oYXJk4oCcL+KAni0tbWl4ZWTigJwv4oCeLS0iCisic29mdOKAnCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM1MQorIzogYnVpbHRpbi9yZXNldC5jOjM3MAogbXNnaWQgIi0tbWl4ZWQgd2l0aCBwYXRocyBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCByZXNldCAtLSA8cGF0aHM+JyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogItC+0L/RhtC40Y/RgtCwIOKAni0tbWl4ZWTigJwg0L3QtSDQsdC40LLQsCDQtNCwINGB0LUg0LjQt9C/0L7Qu9C30LLQsCDQt9Cw0LXQtNC90L4g0YEg0L/RitGC0LjRidCwLiAg0JLQvNC10YHRgtC+INGC0L7QstCwICIKICLQuNC30L/RitC70L3QtdGC0LUg4oCeZ2l0IHJlc2V0IC0tINCf0KrQouKApuKAnC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNTMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRvICVzIHJlc2V0IHdpdGggcGF0aHMuIgogbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0LjQt9Cy0YrRgNGI0LjRgtC1ICVzINC30LDQvdGD0LvRj9Cy0LDQvdC1LCDQutC+0LPQsNGC0L4g0YHRgtC1INC30LDQtNCw0LvQuCDQn9Cq0KIuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzYzCisjOiBidWlsdGluL3Jlc2V0LmM6Mzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHJlc2V0IGlzIG5vdCBhbGxvd2VkIGluIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICLQkiDQs9C+0LvQviDRhdGA0LDQvdC40LvQuNGJ0LUg0L3QtSDQvNC+0LbQtSDQtNCwINC40LfQstGK0YDRiNC40YLQtSAlcyDQt9Cw0L3Rg9C70Y/QstCw0L3QtSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM2NworIzogYnVpbHRpbi9yZXNldC5jOjM5MQogbXNnaWQgIi1OIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCAtLW1peGVkIgotbXNnc3RyICLQntC/0YbQuNGP0YLQsCDigJ4tTuKAnCDQtSDRgdGK0LLQvNC10YHRgtC40LzQsCDRgdCw0LzQviDRgSDigJ4tLW1peGVk4oCcIgorbXNnc3RyICLQntC/0YbQuNGP0YLQsCDigJ4tTuKAnCDQuNC30LjRgdC60LLQsCDQvtC/0YbQuNGP0YLQsCDigJ4tLW1peGVk4oCcIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mzg3CisjOiBidWlsdGluL3Jlc2V0LmM6NDEyCiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZXNldDoiCiBtc2dzdHIgItCf0YDQvtC80LXQvdC4INC40LfQstGK0L0g0LjQvdC00LXQutGB0LAg0YHQu9C10LQg0LfQsNC90YPQu9GP0LLQsNC90LXRgtC+OiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5MAorIzogYnVpbHRpbi9yZXNldC5jOjQxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xNzA4Niw1MyArMjAwNjMsNDggQEAKICLQntC/0YbQuNGP0YLQsCDigJ4tLXF1aWV04oCcINC30LDQs9C70YPRiNCw0LLQsCDRgtC+0LLQsCDRgdGK0L7QsdGJ0LXQvdC40LUg0LXQtNC90L7QutGA0LDRgtC90L4uICDQl9CwINC/0L7RgdGC0L7Rj9C90L3QvlxuIgogItC30LDQs9C70YPRiNCw0LLQsNC90LUg0LfQsNC00LDQudGC0LUg0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5yZXNldC5xdWlldOKAnCDQtNCwINC1IOKAnnRydWXigJwgKNC40YHRgtC40L3QsCkuXG4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo0MDAKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlc2V0IGluZGV4IGZpbGUgdG8gcmV2aXNpb24gJyVzJy4iCiBtc2dzdHIgItCY0L3QtNC10LrRgdGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQvdGD0LvQtdC9INC60YrQvCDQstC10YDRgdC40Y8g4oCeJXPigJwuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NDA0CisjOiBidWlsdGluL3Jlc2V0LmM6NDI5CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIKIG1zZ3N0ciAi0J3QvtCy0LjRj9GCINC40L3QtNC10LrRgSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LjRgdCw0L0uIgogCi0jOiBidWlsdGluL3Jldi1saXN0LmM6NDAzCisjOiBidWlsdGluL3Jldi1saXN0LmM6NDExCiBtc2dpZCAiY2Fubm90IGNvbWJpbmUgLS1leGNsdWRlLXByb21pc29yLW9iamVjdHMgYW5kIC0tbWlzc2luZyIKIG1zZ3N0ciAi0L7Qv9GG0LjQuNGC0LUg4oCeLS1leGNsdWRlLXByb21pc29yLW9iamVjdHPigJwg0Lgg4oCeLS1taXNzaW5n4oCcINC4INGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgogCi0jOiBidWlsdGluL3Jldi1saXN0LmM6NDYxCisjOiBidWlsdGluL3Jldi1saXN0LmM6NDcyCiBtc2dpZCAib2JqZWN0IGZpbHRlcmluZyByZXF1aXJlcyAtLW9iamVjdHMiCiBtc2dzdHIgItGE0LjQu9GC0YDQuNGA0LDQvdC10YLQviDQvdCwINC+0LHQtdC60YLQuCDQuNC30LjRgdC60LLQsCDQvtC/0YbQuNGP0YLQsCDigJ4tLW9iamVjdHPigJwiCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0NjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBzcGFyc2UgdmFsdWUgJyVzJyIKLW1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C90LAg0YfQsNGB0YLQuNGH0L3QsCDRgdGC0L7QudC90L7RgdGCOiAlcyIKLQotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUwNQorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUyMgogbXNnaWQgInJldi1saXN0IGRvZXMgbm90IHN1cHBvcnQgZGlzcGxheSBvZiBub3RlcyIKIG1zZ3N0ciAi0LrQvtC80LDQvdC00LDRgtCwIOKAnnJldi1saXN04oCcINC90LUg0L/QvtC00LTRitGA0LbQsCDQuNC30LLQtdC20LTQsNC90LXRgtC+INC90LAg0LHQtdC70LXQttC60LgiCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo1MDgKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo1MjUKIG1zZ2lkICJjYW5ub3QgY29tYmluZSAtLXVzZS1iaXRtYXAtaW5kZXggd2l0aCBvYmplY3QgZmlsdGVyaW5nIgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLXVzZS1iaXRtYXAtaW5kZXjigJwg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNCwINGBINGE0LjQu9GC0YDQuNGA0LDQvdC1INC90LAg0L7QsdC10LrRgtC40YLQtSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDcKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDA4CiBtc2dpZCAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dIgogbXNnc3RyICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgW9Ce0J/QptCY0K/igKZdIC0tIFvQkNCg0JPQo9Cc0JXQndCi4oCmXSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTIKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDEzCiBtc2dpZCAia2VlcCB0aGUgYC0tYCBwYXNzZWQgYXMgYW4gYXJnIgogbXNnc3RyICLQt9Cw0LTQsNC00LXQvdC40Y/RgiDQvdC40Lcg4oCeLS3igJwg0LTQsCDRgdC1INGC0YrQu9C60YPQstCwINC60LDRgtC+INCw0YDQs9GD0LzQtdC90YIiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDE0CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxNQogbXNnaWQgInN0b3AgcGFyc2luZyBhZnRlciB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCIKIG1zZ3N0ciAi0YHQv9C40YDQsNC90LUg0L3QsCDQsNC90LDQu9C40LfQsCDRgdC70LXQtCDQv9GK0YDQstC40Y8g0LDRgNCz0YPQvNC10L3Rgiwg0LrQvtC50YLQviDQvdC1INC1INC+0L/RhtC40Y8iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDE3CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxOAogbXNnaWQgIm91dHB1dCBpbiBzdHVjayBsb25nIGZvcm0iCiBtc2dzdHIgItC40LfRhdC+0LQg0LIg0LTRitC70LPQuNGPINGE0L7RgNC80LDRgiIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1NTAKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTUxCiBtc2dpZCAiIgogImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXVxuIgogIiAgIG9yOiBnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgWzxhcmc+Li4uXVxuIgpAQCAtMTcxNjMsNzIgKzIwMTM1LDgxIEBACiBtc2dpZCAiZ2l0IGNoZXJyeS1waWNrIDxzdWJjb21tYW5kPiIKIG1zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrINCf0J7QlNCa0J7QnNCQ0J3QlNCQIgogCi0jOiBidWlsdGluL3JldmVydC5jOjkxCisjOiBidWlsdGluL3JldmVydC5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgYSBudW1iZXIgZ3JlYXRlciB0aGFuIHplcm8iCittc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAniVz4oCcINC+0YfQsNC60LLQsCDQv9C+0LvQvtC20LjRgtC10LvQvdC+INGH0LjRgdC70L4g0LfQsCDQsNGA0LPRg9C80LXQvdGCIgorCisjOiBidWlsdGluL3JldmVydC5jOjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICIlczog0L7Qv9GG0LjRj9GC0LAg4oCeJXPigJwg0LUg0L3QtdGB0YrQstC80LXRgdGC0LjQvNCwINGBIOKAniVz4oCcIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKIG1zZ2lkICJlbmQgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICLQt9Cw0LLRitGA0YjQstCw0L3QtSDQvdCwINC/0L7RgNC10LTQuNGG0LAg0L7RgiDQvtGC0LHQuNGA0LDQvdC40Y8g0LjQu9C4INC+0YLQvNC10L3QuCDQvdCwINC/0L7QtNCw0LLQsNC90LjRjyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCiBtc2dpZCAicmVzdW1lIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAi0L/RgNC+0LTRitC70LbQsNCy0LDQvdC1INC90LAg0L/QvtGA0LXQtNC40YbQsCDQvtGCINC+0YLQsdC40YDQsNC90LjRjyDQuNC70Lgg0L7RgtC80LXQvdC4INC90LAg0L/QvtC00LDQstCw0L3QuNGPIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKIG1zZ2lkICJjYW5jZWwgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICLQvtGC0LzRj9C90LAg0L3QsCDQv9C+0YDQtdC00LjRhtCwINC+0YIg0L7RgtCx0LjRgNCw0L3QuNGPINC40LvQuCDQvtGC0LzQtdC90Lgg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCisjOiBidWlsdGluL3JldmVydC5jOjEwNQorbXNnaWQgInNraXAgY3VycmVudCBjb21taXQgYW5kIGNvbnRpbnVlIgorbXNnc3RyICLQv9GA0LXRgdC60LDRh9Cw0L3QtSDQvdCwINGC0LXQutGD0YnQvtGC0L4g0L/QvtC00LDQstCw0L3QtSDQuCDQv9GA0L7QtNGK0LvQttCw0LLQsNC90LUiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3CiBtc2dpZCAiZG9uJ3QgYXV0b21hdGljYWxseSBjb21taXQiCiBtc2dzdHIgItCx0LXQtyDQsNCy0YLQvtC80LDRgtC40YfQvdC+INC/0L7QtNCw0LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CisjOiBidWlsdGluL3JldmVydC5jOjEwOAogbXNnaWQgImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLRgNC10LTQsNC60YLQuNGA0LDQvdC1INC90LAg0YHRitC+0LHRidC10L3QuNC10YLQviDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDcKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTExCiBtc2dpZCAicGFyZW50LW51bWJlciIKIG1zZ3N0ciAi0L3QvtC80LXRgCDQvdCwINGA0L7QtNC40YLQtdC70Y8iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA4CisjOiBidWlsdGluL3JldmVydC5jOjExMgogbXNnaWQgInNlbGVjdCBtYWlubGluZSBwYXJlbnQiCiBtc2dzdHIgItC40LfQsdC+0YAg0L3QsCDQvtGB0L3QvtCy0L3QuNGPINGA0L7QtNC40YLQtdC7IgogCi0jOiBidWlsdGluL3JldmVydC5jOjExMAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTQKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAi0YHRgtGA0LDRgtC10LPQuNGPINC90LAg0YHQu9C40LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyCisjOiBidWlsdGluL3JldmVydC5jOjExNgogbXNnaWQgIm9wdGlvbiBmb3IgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgItC+0L/RhtC40Y8g0LfQsCDRgdGC0YDQsNGC0LXQs9C40Y/RgtCwINC90LAg0YHQu9C40LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIxCisjOiBidWlsdGluL3JldmVydC5jOjEyNQogbXNnaWQgImFwcGVuZCBjb21taXQgbmFtZSIKIG1zZ3N0ciAi0LTQvtCx0LDQstGP0L3QtSDQvdCwINC40LzQtdGC0L4g0L3QsCDQv9C+0LTQsNCy0LDQvdC10YLQviIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI3CiBtc2dpZCAicHJlc2VydmUgaW5pdGlhbGx5IGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgItC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINC/0YrRgNCy0L7QvdCw0YfQsNC70L3QviDQv9GA0LDQt9C90LjRgtC1INC/0L7QtNCw0LLQsNC90LjRjyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI5CiBtc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgItC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINC40LfQu9C40YjQvdC40YLQtSwg0L/RgNCw0LfQvdC4INC/0L7QtNCw0LLQsNC90LjRjyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMTkKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMyCiBtc2dpZCAicmV2ZXJ0IGZhaWxlZCIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdCwINC+0YLQvNGP0L3QsCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMzIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjQ1CiBtc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0L7RgtCx0LjRgNCw0L3QtSIKIAotIzogYnVpbHRpbi9ybS5jOjE4CisjOiBidWlsdGluL3JtLmM6MTkKIG1zZ2lkICJnaXQgcm0gWzxvcHRpb25zPl0gWy0tXSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBybSBb0J7Qn9Cm0JjQr+KApl0gWy0tXSDQpNCQ0JnQm+KApiIKIAotIzogYnVpbHRpbi9ybS5jOjIwNgorIzogYnVpbHRpbi9ybS5jOjIwNwogbXNnaWQgIiIKICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIHN0YWdlZCBjb250ZW50IGRpZmZlcmVudCBmcm9tIGJvdGggdGhlXG4iCiAiZmlsZSBhbmQgdGhlIEhFQUQ6IgpAQCAtMTcyNDQsNyArMjAyMjUsNyBAQAogItGB0YrQtNGK0YDQttCw0L3QuNC1INC4XG4iCiAi0YDQsNC30LvQuNGH0L3QviDQvtGCINGB0YrQvtGC0LLQtdGC0YHRgtCy0LDRidC+0YLQviDQvdCwIEhFQUQ6IgogCi0jOiBidWlsdGluL3JtLmM6MjExCisjOiBidWlsdGluL3JtLmM6MjEyCiBtc2dpZCAiIgogIlxuIgogIih1c2UgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCkBAIC0xNzI1MiwxMyArMjAyMzMsMTMgQEAKICJcbiIKICIo0LfQsCDQv9GA0LjQvdGD0LTQuNGC0LXQu9C90L4g0LjQt9GC0YDQuNCy0LDQvdC1INC40LfQv9C+0LvQt9Cy0LDQudGC0LUg0L7Qv9GG0LjRj9GC0LAg4oCeLWbigJwpIgogCi0jOiBidWlsdGluL3JtLmM6MjE1CisjOiBidWlsdGluL3JtLmM6MjE2CiBtc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnaWRfcGx1cmFsICJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ3N0clswXSAi0YHQu9C10LTQvdC40Y/RgiDRhNCw0LnQuyDQtSDRgSDQv9GA0L7QvNC10L3QtdC90L4g0YHRitC00YrRgNC20LDQvdC40LUg0LIg0LjQvdC00LXQutGB0LA6IgogbXNnc3RyWzFdICLRgdC70LXQtNC90LjRgtC1INGE0LDQudC70L7QstC1INGB0LAg0YEg0L/RgNC+0LzQtdC90LXQvdC+INGB0YrQtNGK0YDQttCw0L3QuNC1INCyINC40L3QtNC10LrRgdCwOiIKIAotIzogYnVpbHRpbi9ybS5jOjIxOSBidWlsdGluL3JtLmM6MjI4CisjOiBidWlsdGluL3JtLmM6MjIwIGJ1aWx0aW4vcm0uYzoyMjkKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtLWNhY2hlZCB0byBrZWVwIHRoZSBmaWxlLCBvciAtZiB0byBmb3JjZSByZW1vdmFsKSIKQEAgLTE3MjY3LDQ2ICsyMDI0OCw0NiBAQAogIijQt9CwINC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINGE0LDQudC70LAg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDQvtC/0YbQuNGP0YLQsCDigJ4tLWNhY2hlZOKAnCwg0LAg0LfQsCDQv9GA0LjQvdGD0LTQuNGC0LXQu9C90L5cbiIKICLQuNC30YLRgNC40LLQsNC90LUg4oCUIOKAni1m4oCcKSIKIAotIzogYnVpbHRpbi9ybS5jOjIyNQorIzogYnVpbHRpbi9ybS5jOjIyNgogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ3N0clswXSAi0YHQu9C10LTQvdC40Y/RgiDRhNCw0LnQuyDQtSDRgSDQv9GA0L7QvNC10L3QtdC90L4g0YHRitC00YrRgNC20LDQvdC40LUiCiBtc2dzdHJbMV0gItGB0LvQtdC00L3QuNGC0LUg0YTQsNC50LvQvtCy0LUg0YHQsCDRgSDQv9GA0L7QvNC10L3QtdC90L4g0YHRitC00YrRgNC20LDQvdC40LUiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDEKKyM6IGJ1aWx0aW4vcm0uYzoyNDIKIG1zZ2lkICJkbyBub3QgbGlzdCByZW1vdmVkIGZpbGVzIgogbXNnc3RyICLQtNCwINC90LUg0YHQtSDQuNC30LLQtdC20LTQsNGCINC40LfRgtGA0LjRgtC40YLQtSDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi9ybS5jOjI0MgorIzogYnVpbHRpbi9ybS5jOjI0MwogbXNnaWQgIm9ubHkgcmVtb3ZlIGZyb20gdGhlIGluZGV4IgogbXNnc3RyICLQuNC30YLRgNC40LLQsNC90LUg0YHQsNC80L4g0L7RgiDQuNC90LTQtdC60YHQsCIKIAotIzogYnVpbHRpbi9ybS5jOjI0MworIzogYnVpbHRpbi9ybS5jOjI0NAogbXNnaWQgIm92ZXJyaWRlIHRoZSB1cC10by1kYXRlIGNoZWNrIgogbXNnc3RyICLQstGK0L/RgNC10LrQuCDQv9GA0L7QstC10YDQutCw0YLQsCDQt9CwINCw0LrRgtGD0LDQu9C90L7RgdGC0YLQsCDQvdCwINGB0YrQtNGK0YDQttCw0L3QuNC10YLQviIKIAotIzogYnVpbHRpbi9ybS5jOjI0NAorIzogYnVpbHRpbi9ybS5jOjI0NQogbXNnaWQgImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIgogbXNnc3RyICLRgNC10LrRg9GA0YHQuNCy0L3QviDQuNC30YLRgNC40LLQsNC90LUiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDYKKyM6IGJ1aWx0aW4vcm0uYzoyNDcKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAiIgogItC40LfRhdC+0LTQvdC40Y/RgiDQutC+0LQg0LTQsCDQtSAwLCDQtNC+0YDQuCDQsNC60L4g0L3QuNC60L7QuSDRhNCw0LnQuyDQvWUgZSDQvdCw0L/QsNGB0L3QsNC7INGBINGI0LDQsdC70L7QvdCwINC30LAgIgogItC40LfRgtGA0LjQstCw0L3QtSIKIAotIzogYnVpbHRpbi9ybS5jOjI4OAorIzogYnVpbHRpbi9ybS5jOjI4OQogbXNnaWQgInBsZWFzZSBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgogbXNnc3RyICIiCiAi0LfQsCDQtNCwINC/0YDQvtC00YrQu9C20LjRgtC1LCDQuNC70Lgg0LLQutCw0YDQsNC50YLQtSDQv9GA0L7QvNC10L3QuNGC0LUg0L/QviDRhNCw0LnQu9CwIOKAni5naXRtb2R1bGVz4oCcINCyINC40L3QtNC10LrRgdCwLFxuIgogItC40LvQuCDQs9C4INGB0LrQsNGC0LDQudGC0LUiCiAKLSM6IGJ1aWx0aW4vcm0uYzozMDYKKyM6IGJ1aWx0aW4vcm0uYzozMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IHJlbW92aW5nICclcycgcmVjdXJzaXZlbHkgd2l0aG91dCAtciIKIG1zZ3N0ciAi0LHQtdC3INC40LfQv9C+0LvQt9Cy0LDQvdC10YLQviDQvdCwINC+0L/RhtC40Y/RgtCwIOKAni1y4oCcIOKAniVz4oCcINC90Y/QvNCwINC00LAg0YHQtSDQuNC30YLRgNC40LUg0YDQtdC60YPRgNGB0LjQstC90L4iCiAKLSM6IGJ1aWx0aW4vcm0uYzozNDUKKyM6IGJ1aWx0aW4vcm0uYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHJtOiB1bmFibGUgdG8gcmVtb3ZlICVzIgogbXNnc3RyICJnaXQgcm06IOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfRgtGA0LjQtSIKQEAgLTE3MzM4LDE4ICsyMDMxOSw2IEBACiBtc2dpZCAicHJpbnQgc3RhdHVzIGZyb20gcmVtb3RlIGhlbHBlciIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHRitGB0YLQvtGP0L3QuNC10YLQviDQvtGCINC+0YLQtNCw0LvQtdGH0LXQvdCw0YLQsCDQv9C+0LzQvtGJ0L3QsCDRhNGD0L3QutGG0LjRjyIKIAotIzogYnVpbHRpbi9zZXJ2ZS5jOjcKLW1zZ2lkICJnaXQgc2VydmUgWzxvcHRpb25zPl0iCi1tc2dzdHIgImdpdCBzZXJ2ZSBb0J7Qn9Cm0JjQr+KApl0iCi0KLSM6IGJ1aWx0aW4vc2VydmUuYzoxNyBidWlsdGluL3VwbG9hZC1wYWNrLmM6MjMKLW1zZ2lkICJxdWl0IGFmdGVyIGEgc2luZ2xlIHJlcXVlc3QvcmVzcG9uc2UgZXhjaGFuZ2UiCi1tc2dzdHIgItC40LfRhdC+0LQg0YHQu9C10LQg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdCw0YLQsCDRgNCw0LfQvNGP0L3QsCDQvdCwINC30LDRj9Cy0LrQsCDQuCDQvtGC0LPQvtCy0L7RgCIKLQotIzogYnVpbHRpbi9zZXJ2ZS5jOjE5Ci1tc2dpZCAiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBhZHZlcnRpc2luZyBjYXBhYmlsaXRpZXMiCi1tc2dzdHIgItC40LfRhdC+0LQg0YHQu9C10LQg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdCw0YLQsCDQvtCx0Y/QstCwINC90LAg0LLRitC30LzQvtC20L3QvtGB0YLQuNGC0LUiCi0KICM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNAogbXNnaWQgImdpdCBzaG9ydGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHNob3J0bG9nIFvQntCf0KbQmNCv4oCmXSBb0JTQmNCQ0J/QkNCX0J7QnV/QndCQX9CS0JXQoNCh0JjQmNCi0JVdIFtbLS1dIFvQn9Cq0KLigKZdXSIKQEAgLTE3Mzg0LDcgKzIwMzUzLDcgQEAKICLQn9GA0LXQvdCw0YHRj9C90LUg0L3QsCDRgNC10LTQvtCy0LXRgtC1INC00L4g0YLQsNC30Lgg0L7QsdGJ0LAg0KjQmNCg0J7Qp9CY0J3QkCAoNzYpLCDRgSDQntCi0KHQotCq0J9fMSAoNikg0LfQsCDQv9GK0YDQstC40Y8gIgogItGA0LXQtCDQuCDQntCi0KHQotCq0J9fMiAoOSkg0LfQsCDQvtGB0YLQsNC90LDQu9C40YLQtSIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjI5OQorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjMwMQogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyBnaXZlbiBvdXRzaWRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgItC/0YDQtdC60LDQu9C10L3QviDQvNC90L7Qs9C+INCw0YDQs9GD0LzQtdC90YLQuCDQuNC30LLRitC9INGF0YDQsNC90LjQu9C40YnQtSIKIApAQCAtMTc0MTEsMTIyICsyMDM4MCwxMjIgQEAKIG1zZ3N0clswXSAi4oCeJXPigJwg0YHQtSDQv9GA0LXRgdC60LDRh9CwIOKAlCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtCx0YDQsNCx0L7RgtGP0YIg0L/QvtCy0LXRh9C1INC+0YIgJWQg0YPQutCw0LfQsNGC0LXQuyIKIG1zZ3N0clsxXSAi4oCeJXPigJwg0YHQtSDQv9GA0LXRgdC60LDRh9CwIOKAlCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtCx0YDQsNCx0L7RgtGP0YIg0L/QvtCy0LXRh9C1INC+0YIgJWQg0YPQutCw0LfQsNGC0LXQu9C4IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NTQ5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoaW5nIHJlZnMgd2l0aCAlcyIKIG1zZ3N0ciAi0L3QuNC60L7QuSDRg9C60LDQt9Cw0YLQtdC7INC90LUg0YHRitCy0L/QsNC00LAg0YEg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0LvQtdC00Y/RidC40YLQtSDQuCDQu9C+0LrQsNC70L3QuNGC0LUg0LrQu9C+0L3QuCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NwogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdC70LXQtNGP0YnQuNGC0LUg0LrQu9C+0L3QuCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OQogbXNnaWQgImNvbG9yICcqISstJyBjb3JyZXNwb25kaW5nIHRvIHRoZSBicmFuY2giCiBtc2dzdHIgItC+0YbQstC10YLRj9Cy0LDQvdC1INC90LAg4oCeKiErLeKAnCDRgdC/0L7RgNC10LQg0LrQu9C+0L3QuNGC0LUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTEKIG1zZ2lkICJzaG93IDxuPiBtb3JlIGNvbW1pdHMgYWZ0ZXIgdGhlIGNvbW1vbiBhbmNlc3RvciIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YLQsNC60YrQsiDQkdCg0J7QmSDQv9C+0LTQsNCy0LDQvdC40Y8g0L7RgiDQvtCx0YnQuNGPINC/0YDQtdC00YjQtdGB0YLQstC10L3QuNC6IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUzCiBtc2dpZCAic3lub255bSB0byBtb3JlPS0xIgogbXNnc3RyICLQv9GB0LXQstC00L7QvdC40Lwg0L3QsCDigJ5tb3JlPS0x4oCcIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0CiBtc2dpZCAic3VwcHJlc3MgbmFtaW5nIHN0cmluZ3MiCiBtc2dzdHIgItCx0LXQtyDQvdC40LfQvtCy0LUg0LfQsCDQuNC80LXQvdCw0YLQsCDQvdCwINC60LvQvtC90LjRgtC1IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU2CiBtc2dpZCAiaW5jbHVkZSB0aGUgY3VycmVudCBicmFuY2giCiBtc2dzdHIgItCy0LrQu9GO0YfQstCw0L3QtSDQuCDQvdCwINGC0LXQutGD0YnQuNGPINC60LvQvtC9IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU4CiBtc2dpZCAibmFtZSBjb21taXRzIHdpdGggdGhlaXIgb2JqZWN0IG5hbWVzIgogbXNnc3RyICLQuNC80LXQvdGD0LLQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINGBINC40LzQtdC90LDRgtCwINC40Lwg0L3QsCDQvtCx0LXQutGC0LgiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjAKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQstGK0LfQvNC+0LbQvdC40YLQtSDQsdCw0LfQuCDQt9CwINGB0LvQuNCy0LDQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjMKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjIKIG1zZ2lkICJzaG93IHJlZnMgdW5yZWFjaGFibGUgZnJvbSBhbnkgb3RoZXIgcmVmIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQvdC10LTQvtGB0YLQuNC20LjQvNC40YLQtSDRg9C60LDQt9Cw0YLQtdC70LgiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjQKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LjRj9GC0LAg0LIg0YLQvtC/0L7Qu9C+0LPQuNGH0LXRgdC60LAg0L/QvtC00YDQtdC00LHQsCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NwogbXNnaWQgInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0YHQsNC80L4g0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwLCDQutC+0LjRgtC+INC90LUg0YHQsCDQvtGCINC/0YrRgNCy0LjRjyDQutC70L7QvSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OQogbXNnaWQgInNob3cgbWVyZ2VzIHJlYWNoYWJsZSBmcm9tIG9ubHkgb25lIHRpcCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHQu9C40LLQsNC90LjRj9GC0LAsINC60L7QuNGC0L4g0LzQvtCz0LDRgiDQtNCwINGB0LUg0LTQvtGB0YLQuNCz0L3QsNGCINGB0LDQvNC+INC+0YIg0LXQtNC40L0g0LLRgNGK0YUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzEKIG1zZ2lkICJ0b3BvbG9naWNhbGx5IHNvcnQsIG1haW50YWluaW5nIGRhdGUgb3JkZXIgd2hlcmUgcG9zc2libGUiCiBtc2dzdHIgIiIKICLRgtC+0L/QvtC70L7Qs9C40YfQtdGB0LrQsCDQv9C+0LTRgNC10LTQsdCwLCDQv9GA0Lgg0LfQsNC/0LDQt9Cy0LDQvdC1INC90LAg0L/QvtC00YDQtdC00LHQsNGC0LAg0L/QviDQtNCw0YLQsCwg0LTQvtC60L7Qu9C60L7RgtC+INC1XG4iCiAi0LLRitC30LzQvtC20L3QviIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NAogbXNnaWQgIjxuPlssPGJhc2U+XSIKIG1zZ3N0ciAi0JHQoNCe0JlbLNCR0JDQl9CQXSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NQogbXNnaWQgInNob3cgPG4+IG1vc3QgcmVjZW50IHJlZi1sb2cgZW50cmllcyBzdGFydGluZyBhdCBiYXNlIgogbXNnc3RyICLQv9C+0LrQsNC30LLQsNC90LUg0L3QsCDQvdCw0Lkt0LzQvdC+0LPQviDQkdCg0J7QmSDQttGD0YDQvdCw0LvQvdC4INC30LDQv9C40YHQsCDRgSDQvdCw0YfQsNC70L4g0YHRitC+0YLQstC10YLQvdCw0YLQsCDQkdCQ0JfQkCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxMgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxMQogbXNnaWQgIiIKICItLXJlZmxvZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50IG9yIC0tbWVyZ2UtYmFzZSIKIG1zZ3N0ciAiIgogItC+0L/RhtC40Y/RgtCwIOKAni0tcmVmbG9n4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDQvtC/0YbQuNC40YLQtSAg4oCeLS1hbGzigJwsIOKAni0tcmVtb3Rlc+KAnCwg4oCeLS0iCiAiaW5kZXBlbmRlbnTigJwg0Lgg4oCeLS1tZXJnZS1iYXNl4oCcIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM1CiBtc2dpZCAibm8gYnJhbmNoZXMgZ2l2ZW4sIGFuZCBIRUFEIGlzIG5vdCB2YWxpZCIKIG1zZ3N0ciAi0L3QtSDQtSDQt9Cw0LTQsNC00LXQvSDQutC70L7QvSwg0LAg0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQtSDQvdC10L/RgNCw0LLQuNC70LXQvSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczOQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczOAogbXNnaWQgIi0tcmVmbG9nIG9wdGlvbiBuZWVkcyBvbmUgYnJhbmNoIG5hbWUiCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tdHJhY2vigJwg0LjQt9C40YHQutCy0LAg0YLQvtGH0L3QviDQtdC00L3QviDQuNC80LUg0L3QsCDQutC70L7QvSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjc0MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjc0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJvbmx5ICVkIGVudHJ5IGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCiBtc2dpZF9wbHVyYWwgIm9ubHkgJWQgZW50cmllcyBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgogbXNnc3RyWzBdICLRgdCw0LzQviAlZCDQt9Cw0L/QuNGBINC80L7QttC1INC00LAg0LHRitC00LUg0L/QvtC60LDQt9Cw0L0g0L3QsNCy0LXQtNC90YrQti4iCiBtc2dzdHJbMV0gItGB0LDQvNC+ICVkINC30LDQv9C40YHQsCDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0L7QutCw0LfQsNC90Lgg0L3QsNCy0LXQtNC90YrQti4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3NDYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCByZWYgJXMiCiBtc2dzdHIgItGC0LDQutGK0LIg0YPQutCw0LfQsNGC0LXQuyDQvdGP0LzQsDogJXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2LiIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2cy4iCiBtc2dzdHJbMF0gItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0LHRgNCw0LHQvtGC0Lgg0L/QvtCy0LXRh9C1INC+0YIgJWQg0YPQutCw0LfQsNGC0LXQuy4iCiBtc2dzdHJbMV0gItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0LHRgNCw0LHQvtGC0Y/RgiDQv9C+0LLQtdGH0LUg0L7RgiAlZCDRg9C60LDQt9Cw0YLQtdC70LguIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAi4oCeJXPigJwg0LUg0L3QtdC/0YDQsNCy0LjQu9C10L0g0YPQutCw0LfQsNGC0LXQuy4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbmQgY29tbWl0ICVzICglcykiCiBtc2dzdHIgItC/0L7QtNCw0LLQsNC90LXRgtC+IOKAniVz4oCcICglcykg0LvQuNC/0YHQstCwIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTEKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMgogbXNnaWQgIiIKICJnaXQgc2hvdy1yZWYgWy1xIHwgLS1xdWlldF0gWy0tdmVyaWZ5XSBbLS1oZWFkXSBbLWQgfCAtLWRlcmVmZXJlbmNlXSBbLXMgfCAtLSIKICJoYXNoWz08bj5dXSBbLS1hYmJyZXZbPTxuPl1dIFstLXRhZ3NdIFstLWhlYWRzXSBbLS1dIFs8cGF0dGVybj4uLi5dIgpAQCAtMTc1MzQsNDYgKzIwNTAzLDMyNCBAQAogImdpdCBzaG93LXJlZiBbLXEgfCAtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZCB8IC0tZGVyZWZlcmVuY2VdIFstcyB8IC0tIgogImhhc2hbPdCn0JjQodCb0J5dXSBbLS1hYmJyZXZbPdCn0JjQodCb0J5dXSBbLS10YWdzXSBbLS1oZWFkc10gWy0tXSBb0KjQkNCR0JvQntCd4oCmXSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjEyCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTMKIG1zZ2lkICJnaXQgc2hvdy1yZWYgLS1leGNsdWRlLWV4aXN0aW5nWz08cGF0dGVybj5dIgogbXNnc3RyICJnaXQgc2hvdy1yZWYgLS1leGNsdWRlLWV4aXN0aW5nWz3QqNCQ0JHQm9Ce0J1dIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTYxCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTYyCiBtc2dpZCAib25seSBzaG93IHRhZ3MgKGNhbiBiZSBjb21iaW5lZCB3aXRoIGhlYWRzKSIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LXRgtC40LrQtdGC0LjRgtC1ICjQvNC+0LbQtSDQtNCwINGB0LUg0LrQvtC80LHQuNC90LjRgNCwINGBINCy0YrRgNGF0L7QstC10YLQtSkiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjIKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjMKIG1zZ2lkICJvbmx5IHNob3cgaGVhZHMgKGNhbiBiZSBjb21iaW5lZCB3aXRoIHRhZ3MpIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQstGK0YDRhdC+0LLQtdGC0LUgKNC80L7QttC1INC00LAg0YHQtSDQutC+0LzQsdC40L3QuNGA0LAg0YEg0LXRgtC40LrQtdGC0LjRgtC1KSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2MworIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2NAogbXNnaWQgInN0cmljdGVyIHJlZmVyZW5jZSBjaGVja2luZywgcmVxdWlyZXMgZXhhY3QgcmVmIHBhdGgiCiBtc2dzdHIgItGB0YLRgNC+0LPQsCDQv9GA0L7QstC10YDQutCwINC90LAg0YPQutCw0LfQsNGC0LXQu9C40YLQtSwg0LjQt9C40YHQutCy0LAg0YHQtSDRg9C60LDQt9Cw0YLQtdC7INGBINC/0YrQu9C10L0g0L/RitGCIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTY2IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjgKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjcgYnVpbHRpbi9zaG93LXJlZi5jOjE2OQogbXNnaWQgInNob3cgdGhlIEhFQUQgcmVmZXJlbmNlLCBldmVuIGlmIGl0IHdvdWxkIGJlIGZpbHRlcmVkIG91dCIKIG1zZ3N0ciAi0LfQsNC00YrQu9C20LjRgtC10LvQvdC+INC40LfQstC10LbQtNCw0L3QtSDQuCDQvdCwINGD0LrQsNC30LDRgtC10LvRjyBIRUFEIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTcwCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTcxCiBtc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbnRvIG9iamVjdCBJRHMiCiBtc2dzdHIgItC00LAg0YHQtSDQuNC30LLQtdC20LTQsNGCINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0LjRgtC1INC90LAg0L7QsdC10LrRgtC40YLQtS3QtdGC0LjQutC10YLQuCIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MwogbXNnaWQgIm9ubHkgc2hvdyBTSEExIGhhc2ggdXNpbmcgPG4+IGRpZ2l0cyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0YLQvtC30Lgg0JHQoNCe0Jkg0YbQuNGE0YDQuCDQvtGCINCy0YHRj9C60LAg0YHRg9C80LAg0L/QviBTSEExIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc2CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc3CiBtc2dpZCAiZG8gbm90IHByaW50IHJlc3VsdHMgdG8gc3Rkb3V0ICh1c2VmdWwgd2l0aCAtLXZlcmlmeSkiCiBtc2dzdHIgIiIKICLQsdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YDQtdC30YPQu9GC0LDRgtC40YLQtSDQvdCwINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LjQt9GF0L7QtCAo0L/QvtC70LXQt9C90L4g0YEg0L7Qv9GG0LjRj9GC0LAg4oCeLS0iCiAidmVyaWZ54oCcKSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OQogbXNnaWQgInNob3cgcmVmcyBmcm9tIHN0ZGluIHRoYXQgYXJlbid0IGluIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC70LjRgtC1INC/0YDQuNC10YLQuCDQvtGCINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LLRhdC+0LQsINC60L7QuNGC0L4g0LvQuNC/0YHQstCw0YIg0LIgIgogItC70L7QutCw0LvQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUiCiAKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MjAKK21zZ2lkICJnaXQgc3BhcnNlLWNoZWNrb3V0IChpbml0fGxpc3R8c2V0fGRpc2FibGUpIDxvcHRpb25zPiIKK21zZ3N0ciAiZ2l0IHNwYXJzZS1jaGVja291dCAoaW5pdHxsaXN0fHNldHxkaXNhYmxlKSDQntCf0KbQmNCv4oCmIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjYzCittc2dpZCAidGhpcyB3b3JrdHJlZSBpcyBub3Qgc3BhcnNlIChzcGFyc2UtY2hlY2tvdXQgZmlsZSBtYXkgbm90IGV4aXN0KSIKK21zZ3N0ciAiIgorItGC0L7QstCwINC90LUg0LUg0YfQsNGB0YLQuNGH0L3QviDRgNCw0LHQvtGC0L3QviDQtNGK0YDQstC+ICjQstC10YDQvtGP0YLQvdC+INC70LjQv9GB0LLQsCDRhNCw0LnQuyDigJ5zcGFyc2UtY2hlY2tvdXTigJwpIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI0MQorbXNnaWQgImZhaWxlZCB0byBzZXQgZXh0ZW5zaW9ucy53b3JrdHJlZUNvbmZpZyBzZXR0aW5nIgorbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LfQsNC00LDQstCw0L3QtSDQvdCwINC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCeZXh0ZW5zaW9ucy53b3JrdHJlZUNvbmZpZ+KAnCIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzoyNTgKK21zZ2lkICJnaXQgc3BhcnNlLWNoZWNrb3V0IGluaXQgWy0tY29uZV0iCittc2dzdHIgImdpdCBzcGFyc2UtY2hlY2tvdXQgaW5pdCBbLS1jb25lXSIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzoyNzcKK21zZ2lkICJpbml0aWFsaXplIHRoZSBzcGFyc2UtY2hlY2tvdXQgaW4gY29uZSBtb2RlIgorbXNnc3RyICLQuNC90LjRhtC40LDQu9C40LfQuNGA0LDQvdC1INC90LAg0YfQsNGB0YLQuNGH0L3QvtGC0L4g0LjQt9GC0LXQs9C70Y/QvdC1INCyINC/0YrRgtC10LLQvtC00LXQvSDRgNC10LbQuNC8IgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI4MworbXNnaWQgImluaXRpYWxpemUgc3BhcnNlLWNoZWNrb3V0IgorbXNnc3RyICLQuNC90LjRhtC40LDQu9C40LfQuNGA0LDQvdC1INC90LAg0YfQsNGB0YLQuNGH0L3QvtGC0L4g0LjQt9GC0LXQs9C70Y/QvdC1IgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgorbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LLQvtGA0LgiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MzgyCittc2dpZCAiZ2l0IHNwYXJzZS1jaGVja291dCBzZXQgKC0tc3RkaW4gfCA8cGF0dGVybnM+KSIKK21zZ3N0ciAiZ2l0IHNwYXJzZS1jaGVja291dCBzZXQgKC0tc3RkaW4gfCDQqNCQ0JHQm9Ce0J3igKYpIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjM5OQorbXNnaWQgInJlYWQgcGF0dGVybnMgZnJvbSBzdGFuZGFyZCBpbiIKK21zZ3N0ciAi0LjQt9GH0LjRgtCw0L3QtSDQvdCwINGI0LDQsdC70L7QvdC40YLQtSDQvtGCINGB0YLQsNC90LTQsNGA0YLQvdC40Y8g0LLRhdC+0LQiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6NDA1Cittc2dpZCAic2V0IHNwYXJzZS1jaGVja291dCBwYXR0ZXJucyIKK21zZ3N0ciAi0LfQsNC00LDQstCw0L3QtSDQvdCwINGI0LDQsdC70L7QvdC40YLQtSDQt9CwINGH0LDRgdGC0LjRh9C90L7RgtC+INC40LfRgtC10LPQu9GP0L3QtSIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo0NjgKK21zZ2lkICJkaXNhYmxlIHNwYXJzZS1jaGVja291dCIKK21zZ3N0ciAi0LHQtdC3INC40LfQv9C+0LvQt9Cy0LDQvdC1INC90LAg0YfQsNGB0YLQuNGH0L3QviDQuNC30YLQtdCz0LvRj9C90LUiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6NDgwCittc2dpZCAiZXJyb3Igd2hpbGUgcmVmcmVzaGluZyB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAi0LPRgNC10YjQutCwINC/0YDQuCDQvtCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwINGA0LDQsdC+0YLQvdCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjIyIGJ1aWx0aW4vc3Rhc2guYzozNworbXNnaWQgImdpdCBzdGFzaCBsaXN0IFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgc3Rhc2ggbGlzdCBb0J7Qn9Cm0JjQr+KApl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyMyBidWlsdGluL3N0YXNoLmM6NDIKK21zZ2lkICJnaXQgc3Rhc2ggc2hvdyBbPG9wdGlvbnM+XSBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCBzaG93IFvQntCf0KbQmNCv4oCmXSBb0KHQmtCQ0KLQkNCd0J5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjQgYnVpbHRpbi9zdGFzaC5jOjQ3Cittc2dpZCAiZ2l0IHN0YXNoIGRyb3AgWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIKK21zZ3N0ciAiZ2l0IHN0YXNoIGRyb3AgWy1xfC0tcXVpZXRdIFvQodCa0JDQotCQ0J3Qnl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNQorbXNnaWQgImdpdCBzdGFzaCAoIHBvcCB8IGFwcGx5ICkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCAoIHBvcCB8IGFwcGx5ICkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBb0KHQmtCQ0KLQkNCd0J5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjYgYnVpbHRpbi9zdGFzaC5jOjYyCittc2dpZCAiZ2l0IHN0YXNoIGJyYW5jaCA8YnJhbmNobmFtZT4gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggYnJhbmNoINCa0JvQntCdIFvQodCa0JDQotCQ0J3Qnl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNyBidWlsdGluL3N0YXNoLmM6NjcKK21zZ2lkICJnaXQgc3Rhc2ggY2xlYXIiCittc2dzdHIgImdpdCBzdGFzaCBjbGVhciIKKworIzogYnVpbHRpbi9zdGFzaC5jOjI4IGJ1aWx0aW4vc3Rhc2guYzo3NworbXNnaWQgIiIKKyJnaXQgc3Rhc2ggW3B1c2ggWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisiICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFstbXwtLW1lc3NhZ2UgPG1lc3NhZ2U+XVxuIgorIiAgICAgICAgICBbLS1dIFs8cGF0aHNwZWM+Li4uXV0iCittc2dzdHIgIiIKKyJnaXQgc3Rhc2ggW3B1c2ggWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisiICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFstbXwtLW1lc3NhZ2Ug0KHQqtCe0JHQqdCV0J3QmNCVXVxuIgorIiAgICAgICAgICBbLS1dIFvQn9Cq0KLigKZdXSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjMxIGJ1aWx0aW4vc3Rhc2guYzo4NAorbXNnaWQgIiIKKyJnaXQgc3Rhc2ggc2F2ZSBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKyIgICAgICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gWzxtZXNzYWdlPl0iCittc2dzdHIgIiIKKyJnaXQgc3Rhc2ggc2F2ZSBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKyIgICAgICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gW9Ch0KrQntCR0KnQldCd0JjQlV0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1MgorbXNnaWQgImdpdCBzdGFzaCBwb3AgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCBwb3AgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBb0KHQmtCQ0KLQkNCd0J5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6NTcKK21zZ2lkICJnaXQgc3Rhc2ggYXBwbHkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCBhcHBseSBbLS1pbmRleF0gWy1xfC0tcXVpZXRdIFvQodCa0JDQotCQ0J3Qnl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo3MgorbXNnaWQgImdpdCBzdGFzaCBzdG9yZSBbLW18LS1tZXNzYWdlIDxtZXNzYWdlPl0gWy1xfC0tcXVpZXRdIDxjb21taXQ+IgorbXNnc3RyICJnaXQgc3Rhc2ggc3RvcmUgWy1tfC0tbWVzc2FnZSDQodCq0J7QkdCp0JXQndCY0JVdIFstcXwtLXF1aWV0XSDQn9Ce0JTQkNCS0JDQndCVIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCittc2dzdHIgIuKAniVz4oCcINC90LUg0LUg0L/QvtC00LDQstCw0L3QtSwg0L/RgNC40LvQuNGH0LDRidC+INC90LAg0L3QtdGJ0L4g0YHQutCw0YLQsNC90L4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG9vIG1hbnkgcmV2aXNpb25zIHNwZWNpZmllZDolcyIKK21zZ3N0ciAi0KPQutCw0LfQsNC90Lgg0YHQsCDQv9GA0LXQutCw0LvQtdC90L4g0LzQvdC+0LPQviDQstC10YDRgdC40Lg6JXMiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNjEgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1NDkKK21zZ2lkICJObyBzdGFzaCBlbnRyaWVzIGZvdW5kLiIKK21zZ3N0ciAi0J3QtSDQtSDQvtGC0LrRgNC40YLQviDQvdC40YnQviDRgdC60LDRgtCw0L3Qvi4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgorbXNnc3RyICLigJ4lc+KAnCDQtSDQvdC10L/RgNCw0LLQuNC70L3QviDQuNC80LUg0LfQsCDRg9C60LDQt9Cw0YLQtdC7IgorCisjOiBidWlsdGluL3N0YXNoLmM6MjI0IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzUKK21zZ2lkICJnaXQgc3Rhc2ggY2xlYXIgd2l0aCBwYXJhbWV0ZXJzIGlzIHVuaW1wbGVtZW50ZWQiCittc2dzdHIgItC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgc3Rhc2ggY2xlYXLigJwg0L3QtSDQv9C+0LTQtNGK0YDQttCwINCw0YDQs9GD0LzQtdC90YLQuCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQwMworbXNnaWQgImNhbm5vdCBhcHBseSBhIHN0YXNoIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSIKK21zZ3N0ciAi0L/QviDQstGA0LXQvNC1INC90LAg0YHQu9C40LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINC/0YDQuNC70L7QttC40YLQtSDQvdC10YnQviDRgdC60LDRgtCw0L3QviIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZ2VuZXJhdGUgZGlmZiAlc14hLiIKK21zZ3N0ciAi0YTQsNC50LvRitGCINGBINGA0LDQt9C70LjQutC40YLQtSDigJ4lc14h4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INCz0LXQvdC10YDQuNGA0LAiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MjEKK21zZ2lkICJjb25mbGljdHMgaW4gaW5kZXguVHJ5IHdpdGhvdXQgLS1pbmRleC4iCittc2dzdHIgIiIKKyLQsiDQuNC90LTQtdC60YHQsCDQuNC80LAg0LrQvtC90YTQu9C40LrRgtC4LiAg0J/RgNC+0LHQstCw0LnRgtC1INC00LAg0LjQt9C/0YrQu9C90LjRgtC1INC60L7QvNCw0L3QtNCw0YLQsCDQsdC10Lcg0L7Qv9GG0LjRj9GC0LAg4oCeLS0iCisiaW5kZXjigJwuIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDI3Cittc2dpZCAiY291bGQgbm90IHNhdmUgaW5kZXggdHJlZSIKK21zZ3N0ciAi0LTRitGA0LLQvtGC0L4g0YHQvtGH0LXQvdC+INC+0YIg0LjQvdC00LXQutGB0LAg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9Cw0LfQtdC90L4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MzYKK21zZ2lkICJjb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCIKK21zZ3N0ciAi0L3QtdGB0LvQtdC00LXQvdC4INGE0LDQudC70L7QstC1INC90LUg0LzQvtCz0LDRgiDQtNCwINGB0LUg0LLRitC30YHRgtCw0L3QvtCy0Y/RgiDQvtGCINGB0LrQsNGC0LDQvdC+0YLQviIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJNZXJnaW5nICVzIHdpdGggJXMiCittc2dzdHIgItCh0LvQuNCy0LDQvdC1INC90LAg4oCeJXPigJwg0YEg4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0NjAgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2ODEKK21zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCittc2dzdHIgItCY0L3QtNC10LrRgdGK0YIg0L3QtSDQtSDQuNC30LLQsNC00LXQvSDQvtGCINGB0LrQsNGC0LDQvdC+0YLQvi4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1MjEgYnVpbHRpbi9zdGFzaC5jOjYyMAorbXNnaWQgImF0dGVtcHQgdG8gcmVjcmVhdGUgdGhlIGluZGV4IgorbXNnc3RyICLQvtC/0LjRgiDQt9CwINC/0L7QstGC0L7RgNC90L4g0YHRitC30LTQsNCy0LDQvdC1INC90LAg0LjQvdC00LXQutGB0LAiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRHJvcHBlZCAlcyAoJXMpIgorbXNnc3RyICLQmNC30YLRgNC40YLQvjog4oCeJXPigJwgKCVzKSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCittc2dzdHIgItCh0LrQsNGC0LDQvdC+0YLQviDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9GC0YDQuNGC0L4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCittc2dzdHIgIuKAniVz4oCcINC90LUg0LUg0YPQutCw0LfQsNGC0LXQuyDQutGK0Lwg0L3QtdGJ0L4g0YHQutCw0YLQsNC90L4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo2MzIgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2OTUKK21zZ2lkICJUaGUgc3Rhc2ggZW50cnkgaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIKK21zZ3N0ciAi0KHQutCw0YLQsNC90L7RgtC+INC1INC30LDQv9Cw0LfQtdC90L4g0LIg0YHQu9GD0YfQsNC5LCDRh9C1INCy0Lgg0L/QvtGC0YDRj9Cx0LLQsCDQvtGC0L3QvtCy0L4uIgorCisjOiBidWlsdGluL3N0YXNoLmM6NjU1IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzEzCittc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICLQndC1INC1INGD0LrQsNC30LDQvdC+INC40LzQtSDQvdCwINC60LvQvtC9IgorCisjOiBidWlsdGluL3N0YXNoLmM6Nzk1IGJ1aWx0aW4vc3Rhc2guYzo4MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHVwZGF0ZSAlcyB3aXRoICVzIgorbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Y/RgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7QsdC90L7QstC10L0g0LTQsCDRgdC+0YfQuCDQutGK0Lwg4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo4MTMgYnVpbHRpbi9zdGFzaC5jOjE0NzAgYnVpbHRpbi9zdGFzaC5jOjE1MDYKK21zZ2lkICJzdGFzaCBtZXNzYWdlIgorbXNnc3RyICLRgdGK0L7QsdGJ0LXQvdC40LUg0L/RgNC4INGB0LrQsNGC0LDQstCw0L3QtSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjgyMworbXNnaWQgIlwiZ2l0IHN0YXNoIHN0b3JlXCIgcmVxdWlyZXMgb25lIDxjb21taXQ+IGFyZ3VtZW50IgorbXNnc3RyICLQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0IHN0YXNoIHN0b3Jl4oCcINC40LfQuNGB0LrQstCwINGC0L7Rh9C90L4g0LXQtNC40L0g0LDRgNCz0YPQvNC10L3Rgi3Qn9Ce0JTQkNCS0JDQndCVIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTA0NSBnaXQtbGVnYWN5LXN0YXNoLnNoOjIxOAorbXNnaWQgIk5vIGNoYW5nZXMgc2VsZWN0ZWQiCittc2dzdHIgItCd0LUg0YHQsCDQuNC30LHRgNCw0L3QuCDQvdC40LrQsNC60LLQuCDQv9GA0L7QvNC10L3QuCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExNDUgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoxNTAKK21zZ2lkICJZb3UgZG8gbm90IGhhdmUgdGhlIGluaXRpYWwgY29tbWl0IHlldCIKK21zZ3N0ciAi0JLRgdC1INC+0YnQtSDQu9C40L/RgdCy0LAg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdC+INC/0L7QtNCw0LLQsNC90LUiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTcyIGdpdC1sZWdhY3ktc3Rhc2guc2g6MTY1Cittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCittc2dzdHIgItCh0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L3QsCDRgtC10LrRg9GJ0LjRjyDQuNC90LTQtdC60YEg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9Cw0LfQtdC90L4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTgxIGdpdC1sZWdhY3ktc3Rhc2guc2g6MTgwCittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKK21zZ3N0ciAi0J3QtdGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSDQvdC1INC80L7Qs9Cw0YIg0LTQsCDRgdC1INC30LDQv9Cw0LfRj9GCIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTE5MiBidWlsdGluL3N0YXNoLmM6MTIwMSBnaXQtbGVnYWN5LXN0YXNoLnNoOjIwMQorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMTQKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCB3b3JrdHJlZSBzdGF0ZSIKK21zZ3N0ciAi0KHRitGB0YLQvtGP0L3QuNC10YLQviDQvdCwINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QsNC30LXQvdC+IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTIyOSBnaXQtbGVnYWN5LXN0YXNoLnNoOjIzNAorbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgorbXNnc3RyICLQodGK0YHRgtC+0Y/QvdC40LXRgtC+INC90LAg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9Cw0LfQtdC90L4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMjc4IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzM4Cittc2dpZCAiQ2FuJ3QgdXNlIC0tcGF0Y2ggYW5kIC0taW5jbHVkZS11bnRyYWNrZWQgb3IgLS1hbGwgYXQgdGhlIHNhbWUgdGltZSIKK21zZ3N0ciAi0J7Qv9GG0LjRj9GC0LAg4oCeLS1wYXRjaOKAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg4oCeLS1pbmNsdWRlLXVudHJhY2tlZOKAnCDQuCDigJ4tLWFsbOKAnCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyOTQKK21zZ2lkICJEaWQgeW91IGZvcmdldCB0byAnZ2l0IGFkZCc/IgorbXNnc3RyICLQn9GA0L7QsdCy0LDQudGC0LUg0LTQsCDQuNC30L/QvtC70LfQstCw0YLQtSDigJ5naXQgYWRk4oCcIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTMwOSBnaXQtbGVnYWN5LXN0YXNoLnNoOjM0NgorbXNnaWQgIk5vIGxvY2FsIGNoYW5nZXMgdG8gc2F2ZSIKK21zZ3N0ciAi0J3Rj9C80LAg0L3QuNC60LDQutCy0Lgg0LvQvtC60LDQu9C90Lgg0L/RgNC+0LzQtdC90Lgg0LfQsCDRgdC60LDRgtCw0LLQsNC90LUiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzE2IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzUxCittc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCittc2dzdHIgItCh0LrQsNGC0LDQstCw0L3QtdGC0L4g0L3QtSDQvNC+0LbQtSDQtNCwINGB0YLQsNGA0YLQuNGA0LAiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzMxIGdpdC1sZWdhY3ktc3Rhc2guc2g6MzU1Cittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgorbXNnc3RyICLQotC10LrRg9GJ0L7RgtC+INGB0YrRgdGC0L7Rj9C90LjQtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LDQt9C10L3QviIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEzMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlICVzIgorbXNnc3RyICLQodGK0YHRgtC+0Y/QvdC40LXRgtC+INC90LAg0YDQsNCx0L7RgtC90LDRgtCwINC00LjRgNC10LrRgtC+0YDQuNGPINC4INC40L3QtNC10LrRgdCwIGUg0LfQsNC/0LDQt9C10L3Qvjog4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDI2IGdpdC1sZWdhY3ktc3Rhc2guc2g6Mzg1Cittc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgorbXNnc3RyICLQn9GA0L7QvNC10L3QuNGC0LUg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiDQt9Cw0L3Rg9C70LXQvdC4IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ2MSBidWlsdGluL3N0YXNoLmM6MTQ5NworbXNnaWQgImtlZXAgaW5kZXgiCittc2dzdHIgItC30LDQv9Cw0LfQstCw0L3QtSDQvdCwINC40L3QtNC10LrRgdCwIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ2MyBidWlsdGluL3N0YXNoLmM6MTQ5OQorbXNnaWQgInN0YXNoIGluIHBhdGNoIG1vZGUiCittc2dzdHIgItGB0LrQsNGC0LDQstCw0L3QtSDQsiDRgNC10LbQuNC8INC30LAg0LrRgNGK0L/QutC4IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ2NCBidWlsdGluL3N0YXNoLmM6MTUwMAorbXNnaWQgInF1aWV0IG1vZGUiCittc2dzdHIgItCx0LXQtyDQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQuNC90YTQvtGA0LzQsNGG0LjRjyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjYgYnVpbHRpbi9zdGFzaC5jOjE1MDIKK21zZ2lkICJpbmNsdWRlIHVudHJhY2tlZCBmaWxlcyBpbiBzdGFzaCIKK21zZ3N0ciAi0YHQutCw0YLQsNCy0LDQvdC1INC4INC90LAg0L3QtdGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjggYnVpbHRpbi9zdGFzaC5jOjE1MDQKK21zZ2lkICJpbmNsdWRlIGlnbm9yZSBmaWxlcyIKK21zZ3N0ciAi0YHQutCw0YLQsNCy0LDQvdC1INC4INC90LAg0LjQs9C90L7RgNC40YDQsNC90LjRgtC1INGE0LDQudC70L7QstC1IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTU2NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZXhlYyAlcyIKK21zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9C/0YrQu9C90LgiCisKICM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE4CiBtc2dpZCAiZ2l0IHN0cmlwc3BhY2UgWy1zIHwgLS1zdHJpcC1jb21tZW50c10iCiBtc2dzdHIgImdpdCBzdHJpcHNwYWNlIFstcyB8IC0tc3RyaXAtY29tbWVudHNdIgpAQCAtMTc1ODIsNDkgKzIwODI5LDQ5IEBACiBtc2dpZCAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKIG1zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzYKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM3CiBtc2dpZCAic2tpcCBhbmQgcmVtb3ZlIGFsbCBsaW5lcyBzdGFydGluZyB3aXRoIGNvbW1lbnQgY2hhcmFjdGVyIgogbXNnc3RyICLQv9GA0L7Qv9GD0YHQutCw0L3QtSDQvdCwINCy0YHQuNGH0LrQuCDRgNC10LTQvtCy0LUsINC60L7QuNGC0L4g0LfQsNC/0L7Rh9Cy0LDRgiDRgSDigJ4j4oCcIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzozOQorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6NDAKIG1zZ2lkICJwcmVwZW5kIGNvbW1lbnQgY2hhcmFjdGVyIGFuZCBzcGFjZSB0byBlYWNoIGxpbmUiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDigJ4jIOKAnCDQsiDQvdCw0YfQsNC70L7RgtC+INC90LAg0LLRgdC10LrQuCDRgNC10LQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkzOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGluZyBhIGZ1bGwgcmVmIG5hbWUsIGdvdCAlcyIKIG1zZ3N0ciAi0J7Rh9Cw0LrQstCwINGB0LUg0L/RitC70L3QviDQuNC80LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC7LCDQsCDQvdC1IOKAniVz4oCcIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NAogbXNnaWQgInN1Ym1vZHVsZS0taGVscGVyIHByaW50LWRlZmF1bHQtcmVtb3RlIHRha2VzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiIgogItC60L7QvNCw0L3QtNCw0YLQsCDigJ5wcmludC1kZWZhdWx0LXJlbW90ZeKAnCDQvdCwIOKAnnN1Ym1vZHVsZS0taGVscGVy4oCcINC90LUg0L/RgNC40LXQvNCwINCw0YDQs9GD0LzQtdC90YLQuCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdHJpcCBvbmUgY29tcG9uZW50IG9mZiB1cmwgJyVzJyIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LzQsNGF0L3QtSDQutC+0LzQv9C+0L3QtdC90YIg0L7RgiDQsNC00YDQtdGB0LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODAKIG1zZ2lkICJhbHRlcm5hdGl2ZSBhbmNob3IgZm9yIHJlbGF0aXZlIHBhdGhzIgogbXNnc3RyICLQtNC40YDQtdC60YLQvtGA0LjRjyDQt9CwINC+0L/RgNC10LTQtdC70Y/QvdC10YLQviDQvdCwINC+0YLQvdC+0YHQuNGC0LXQu9C90LjRgtC1INC/0YrRgtC40YnQsCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxNQogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg90J/QqtCiXSBb0J/QqtCi4oCmXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ2OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjI2Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDcyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gdXJsIGZvdW5kIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIGluIC5naXRtb2R1bGVzIgogbXNnc3RyICLQktGK0LIg0YTQsNC50LvQsCDigJ4uZ2l0bW9kdWxlc+KAnCDQvdC1INC1INC+0YLQutGA0LjRgiDQsNC00YDQtdGBINC30LAg0L/RitGC0Y8g0LrRitC8INC/0L7QtNC80L7QtNGD0Lsg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRW50ZXJpbmcgJyVzJ1xuIgogbXNnc3RyICLQktC70LjQt9Cw0L3QtSDQsiDigJ4lc+KAnFxuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fY29tbWFuZCByZXR1cm5lZCBub24temVybyBzdGF0dXMgZm9yICVzXG4iCkBAIC0xNzYzMyw3ICsyMDg4MCw3IEBACiAi0LjQt9C/0YrQu9C90LXQvdCw0YLQsCDQutC+0LzQsNC90LTQsCDQt9Cw0LLRitGA0YjQuCDRgSDQvdC10L3Rg9C70LXQsiDQuNC30YXQvtC0INC30LAg4oCeJXPigJxcbiIKICIuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTQ1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fY29tbWFuZCByZXR1cm5lZCBub24temVybyBzdGF0dXMgd2hpbGUgcmVjdXJzaW5nIGluIHRoZSBuZXN0ZWQgIgpAQCAtMTc2NDQsMTkgKzIwODkxLDE5IEBACiAi0LLQu9C+0LbQtdC90Lgg0LIg4oCeJXPigJxcbiIKICIuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTYxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTY1CiBtc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IG9mIGVudGVyaW5nIGVhY2ggc3VibW9kdWxlIGNvbW1hbmQiCiBtc2dzdHIgItCR0LXQtyDQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQuNC30YXQvtC0INC/0YDQuCDQstGK0LLQtdC20LTQsNC90LXRgtC+INC90LAg0LLRgdGP0LrQsCDQutC+0LzQsNC90LTQsCDQt9CwINC/0L7QtNC80L7QtNGD0LvQuCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA0OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1MwogbXNnaWQgIlJlY3Vyc2UgaW50byBuZXN0ZWQgc3VibW9kdWxlcyIKIG1zZ3N0ciAi0KDQtdC60YPRgNGB0LjQstC90L4g0L7QsdGF0L7QttC00LDQvdC1INC90LAg0L/QvtC00LzQvtC00YPQu9C40YLQtSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2OAotbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBmb3JlYWNoIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIDxjb21tYW5kPiIKLW1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGZvcmVhY2ggWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0g0JrQntCc0JDQndCU0JAiCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTcyCittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGZvcmVhY2ggWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWy0tXSA8Y29tbWFuZD4iCittc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBmb3JlYWNoIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIFstLV0g0JrQntCc0JDQndCU0JAiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBsb29rIHVwIGNvbmZpZ3VyYXRpb24gJyVzJy4gQXNzdW1pbmcgdGhpcyByZXBvc2l0b3J5IGlzIGl0cyBvd24gIgpAQCAtMTc2NjUsNTUgKzIwOTEyLDU1IEBACiAi0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ4lc+KAnCDQu9C40L/RgdCy0LAuICDQn9GA0LjQtdC80LAg0YHQtSwg0YfQtSDRgtC+0LLQsCDRhdGA0LDQvdC40LvQuNGJ0LUg0LUg0L/RgNCw0LLQuNC70L3QuNGP0YIg0LjQt9GC0L7Rh9C90LjQuiAiCiAi0LfQsCDRgdC10LHQtSDRgdC4LiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0YDQtdCz0LjRgdGC0YDQuNGA0LDQvdC1INC90LAg0LDQtNGA0LXRgSDQt9CwINC/0YrRgtGPINC60YrQvCDQv9C+0LTQvNC+0LTRg9C7IOKAniVz4oCcIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjY3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJXMnICglcykgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCiBtc2dzdHIgItCg0LXQs9C40YHRgtGA0LjRgNCw0L0g0LUg0L/QvtC00LzQvtC00YPQuyDigJ4lc+KAnCAoJXMpINC30LAg0L/RitGC0Y8g0LrRitC8INC/0L7QtNC80L7QtNGD0Lsg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY3NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBjb21tYW5kIHVwZGF0ZSBtb2RlIHN1Z2dlc3RlZCBmb3Igc3VibW9kdWxlICclcydcbiIKIG1zZ3N0ciAi0J/QoNCV0JTQo9Cf0KDQldCW0JTQldCd0JjQlTog0L/RgNC10L/QvtGA0YrRh9Cy0LAg0YHQtSDRgNC10LbQuNC8INC90LAg0L7QsdC90L7QstGP0LLQsNC90LUg0LfQsCDQv9C+0LTQvNC+0LTRg9C70LAg4oCeJXPigJxcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXBkYXRlIG1vZGUgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIiIKICLQndC10YPRgdC/0LXRiNC90L4g0YDQtdCz0LjRgdGC0YDQuNGA0LDQvdC1INC90LAg0YDQtdC20LjQvNCwINC90LAg0L7QsdC90L7QstGP0LLQsNC90LUg0LfQsCDQv9GK0YLRjyDQutGK0Lwg0L/QvtC00LzQvtC00YPQuyDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcwNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcxMAogbXNnaWQgIlN1cHByZXNzIG91dHB1dCBmb3IgaW5pdGlhbGl6aW5nIGEgc3VibW9kdWxlIgogbXNnc3RyICLQkdC10Lcg0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0L/RgNC4INC40L3QuNGG0LjQsNC70LjQt9C40YDQsNC90LXRgtC+INC90LAg0L/QvtC00LzQvtC00YPQuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcxMQotbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cGF0aD5dIgotbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSBb0J/QqtCiXSIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MTUKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPG9wdGlvbnM+XSBbPHBhdGg+XSIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgW9Ce0J/QptCY0K/igKZdIFvQn9Cq0KJdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzgzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MDkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWJtb2R1bGUgbWFwcGluZyBmb3VuZCBpbiAuZ2l0bW9kdWxlcyBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICLQktGK0LIg0YTQsNC50LvQsCDigJ4uZ2l0bW9kdWxlc+KAnCDQu9C40L/RgdCy0LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDQv9GK0YLRjyDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjgyMgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjgyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSBIRUFEIHJlZiBpbnNpZGUgdGhlIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICLRg9C60LDQt9Cw0YLQtdC70Y/RgiDRgdC+0YfQtdC9INC+0YIg4oCeSEVBROKAnCDQsiDQv9C+0LTQvNC+0LTRg9C70LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg0OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAxOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg1NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0YDQtdC60YPRgNGB0LjQstC90L4g0L7QsdGF0L7QttC00LDQvdC1INC90LAg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODczIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTgyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTg5CiBtc2dpZCAiU3VwcHJlc3Mgc3VibW9kdWxlIHN0YXR1cyBvdXRwdXQiCiBtc2dzdHIgItCX0LDQs9C70YPRiNCw0LLQsNC90LUg0L3QsCDQuNC30YXQvtC00LAg0LfQsCDRgdGK0YHRgtC+0Y/QvdC40LXRgtC+INC90LAg0L/QvtC00LzQvtC00YPQu9CwIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc5CiBtc2dpZCAiIgogIlVzZSBjb21taXQgc3RvcmVkIGluIHRoZSBpbmRleCBpbnN0ZWFkIG9mIHRoZSBvbmUgc3RvcmVkIGluIHRoZSBzdWJtb2R1bGUgIgogIkhFQUQiCkBAIC0xNzcyMSw0NyArMjA5NjgsNDcgQEAKICLQmNC30L/QvtC70LfQstCw0L3QtSDQvdCwINC/0L7QtNCw0LLQsNC90LXRgtC+INGD0LrQsNC30LDQvdC+INCyINC40L3QtNC10LrRgdCwLCDQsCDQvdC1INGC0L7QstCwINC+0YIg0YPQutCw0LfQsNGC0LXQu9GPIOKAnkhFQUTigJwg0L3QsCAiCiAi0L/QvtC00LzQvtC00YPQu9CwIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODgwCiBtc2dpZCAicmVjdXJzZSBpbnRvIG5lc3RlZCBzdWJtb2R1bGVzIgogbXNnc3RyICLRgNC10LrRg9GA0YHQuNCy0L3QviDQvtCx0YXQvtC20LTQsNC90LUg0L3QsCDQv9C+0LTQvNC+0LTRg9C70LjRgtC1IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODg1CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZSBzdGF0dXMgWy0tcXVpZXRdIFstLWNhY2hlZF0gWy0tcmVjdXJzaXZlXSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZSBzdGF0dXMgWy0tcXVpZXRdIFstLWNhY2hlZF0gWy0tcmVjdXJzaXZlXSBb0J/QqtCi4oCmXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkwNAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkwOQogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIDxwYXRoPiIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUg0J/QqtCiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCBmb3IgJyVzJ1xuIgogbXNnc3RyICLQodC40L3RhdGA0L7QvdC40LfQuNGA0LDQvdC1INC90LAg0LDQtNGA0LXRgdCwINC90LAg0L/QvtC00LzQvtC00YPQuyDQt9CwIOKAniVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INGA0LXQs9C40YHRgtGA0LjRgNCw0L3QtSDQvdCwINCw0LTRgNC10YEg0LfQsCDQv9GK0YLRjyDQutGK0Lwg0L/QvtC00LzQvtC00YPQuyDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZ2V0IHRoZSBkZWZhdWx0IHJlbW90ZSBmb3Igc3VibW9kdWxlICclcyciCiBtc2dzdHIgItC+0YLQtNCw0LvQtdGH0LXQvdC40Y/RgiDQsNC00YDQtdGBINC90LAg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LvRg9GH0LXQvSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHVwZGF0ZSByZW1vdGUgZm9yIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICLQvtGC0LTQsNC70LXRh9C10L3QuNGP0YIg0LDQtNGA0LXRgSDQvdCwINC/0L7QtNC80L7QtNGD0LvQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0LzQtdC90LXQvSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDUxCiBtc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IG9mIHN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCIKIG1zZ3N0ciAi0JHQtdC3INC40LfQstC10LbQtNCw0L3QtSDQvdCwINC40L3RhNC+0YDQvNCw0YbQuNGPINC/0YDQuCDRgdC40L3RhdGA0L7QvdC40LfQuNGA0LDQvdC10YLQviDQvdCwINC/0L7QtNC80L7QtNGD0LsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDUzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1OAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBzeW5jIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIFs8cGF0aD5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgc3luYyBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSBb0J/QqtCiXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICclcycgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeSAodXNlICdybSAtcmYnIGlmIHlvdSAiCkBAIC0xNzc3MCw3ICsyMTAxNyw3IEBACiAi0KDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0L3QsCDQv9C+0LTQvNC+0LTRg9C7IOKAniVz4oCcINGB0YrQtNGK0YDQttCwINC00LjRgNC10LrRgtC+0YDQuNGPIOKAni5naXTigJwuXG4iCiAiKNCw0LrQviDQuNGB0LrQsNGC0LUg0LTQsCDQs9C4INC40LfRgtGA0LjQtdGC0LUg0LfQsNC10LTQvdC+INGBINGG0Y/Qu9Cw0YLQsCDQuNC8INC40YHRgtC+0YDQuNGPLCDQuNC30L/QvtC70LfQstCw0LnRgtC1IOKAnnJtIC1yZuKAnCkiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTE5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJXMnIGNvbnRhaW5zIGxvY2FsIG1vZGlmaWNhdGlvbnM7IHVzZSAnLWYnIHRvIGRpc2NhcmQgIgpAQCAtMTc3NzksODMgKzIxMDI2LDk5IEBACiAi0KDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0L3QsCDQv9C+0LTQvNC+0LTRg9C7IOKAniVz4oCcINGB0YrQtNGK0YDQttCwINC70L7QutCw0LvQvdC4INC/0YDQvtC80LXQvdC4LiAg0JzQvtC20LXRgtC1INC00LAg0LPQuCAiCiAi0L7RgtGF0LLRitGA0LvQuNGC0LUg0YEg0L7Qv9GG0LjRj9GC0LAg4oCeLWbigJwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTI3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDbGVhcmVkIGRpcmVjdG9yeSAnJXMnXG4iCiBtc2dzdHIgItCU0LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4lc+KAnCDQtSDQuNC30YfQuNGB0YLQtdC90LBcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJXMnXG4iCiBtc2dzdHIgIiIKICLQlNC40YDQtdC60YLQvtGA0LjRj9GC0LAg0LrRitC8INGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+INC90LAg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YLQsFxuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEzOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBlbXB0eSBzdWJtb2R1bGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICLQv9GA0LDQt9C90LDRgtCwINC00LjRgNC10LrRgtC+0YDQuNGPINC30LAg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdGK0LfQtNCw0LTQtdC90LAiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTU0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyVzJyAoJXMpIHVucmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCiBtc2dzdHIgItCg0LXQs9C40YHRgtGA0LDRhtC40Y/RgtCwINC90LAg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcICglcykg0LfQsCDQv9GK0YLRjyDigJ4lc+KAnCDQtSDQv9GA0LXQvNCw0YXQvdCw0YLQsFxuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE4MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExOTAKIG1zZ2lkICJSZW1vdmUgc3VibW9kdWxlIHdvcmtpbmcgdHJlZXMgZXZlbiBpZiB0aGV5IGNvbnRhaW4gbG9jYWwgY2hhbmdlcyIKIG1zZ3N0ciAiIgogItCY0LfRgtGA0LjQstCw0L3QtSDQvdCwINGA0LDQsdC+0YLQvdC40YLQtSDQtNGK0YDQstC10YLQsCDQvdCwINC/0L7QtNC80L7QtNGD0LvQuNGC0LUsINC00L7RgNC4INC60L7Qs9Cw0YLQviDRgtC1INGB0YrQtNGK0YDQttCw0YIgIgogItC70L7QutCw0LvQvdC4INC/0YDQvtC80LXQvdC4IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE4NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExOTEKIG1zZ2lkICJVbnJlZ2lzdGVyIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICLQn9GA0LXQvNCw0YXQstCw0L3QtSDQvdCwINGA0LXQs9C40YHRgtGA0LDRhtC40LjRgtC1INC90LAg0LLRgdC40YfQutC4INC/0L7QtNC80L7QtNGD0LvQuCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTk2CiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUgZGVpbml0IFstLXF1aWV0XSBbLWYgfCAtLWZvcmNlXSBbLS1hbGwgfCBbLS1dIFs8cGF0aD4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZSBkZWluaXQgWy0tcXVpZXRdIFstZiB8IC0tZm9yY2VdIFstLWFsbCB8IFstLV0gW9Cf0KrQouKApl1dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTIwMworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyMTAKIG1zZ2lkICJVc2UgJy0tYWxsJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICLQmNC30L/QvtC70LfQstCw0LnRgtC1IOKAni0tYWxs4oCcLCDQt9CwINC00LAg0L/RgNC10LzQsNGF0L3QtdGC0LUg0LLRgdC40YfQutC4INC/0L7QtNC80L7QtNGD0LvQuCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyOTcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzMDAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjc1Cittc2dpZCAiIgorIkFuIGFsdGVybmF0ZSBjb21wdXRlZCBmcm9tIGEgc3VwZXJwcm9qZWN0J3MgYWx0ZXJuYXRlIGlzIGludmFsaWQuXG4iCisiVG8gYWxsb3cgR2l0IHRvIGNsb25lIHdpdGhvdXQgYW4gYWx0ZXJuYXRlIGluIHN1Y2ggYSBjYXNlLCBzZXRcbiIKKyJzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSB0byAnaW5mbycgb3IsIGVxdWl2YWxlbnRseSwgY2xvbmUgd2l0aFxuIgorIictLXJlZmVyZW5jZS1pZi1hYmxlJyBpbnN0ZWFkIG9mICctLXJlZmVyZW5jZScuIgorbXNnc3RyICIiCisi0JDQu9GC0LXRgNC90LDRgtC40LLQvdC40Y/RgiDQuNC30YLQvtGH0L3QuNC6LCDQvtC/0YDQtdC00LXQu9C10L0g0L7RgiDQvtCx0YXQstCw0YnQsNGJ0LjRjyDQv9GA0L7QtdC60YIg0LUg0L3QtdC/0YDQsNCy0LjQu9C10L0uXG4iCisi0JfQsCDQtNCwINC/0L7Qt9Cy0L7Qu9C40YLQtSDQvdCwIGdpdCDQtNCwINC60LvQvtC90LjRgNCwINCx0LXQtyDQsNC70YLQtdGA0L3QsNGC0LjQstC10L0g0LjQt9GC0L7Rh9C90LjQuiDQsiDRgtC+0LfQuCDRgdC70YPRh9Cw0LksXG4iCisi0LfQsNC00LDQudGC0LUg0L3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5zdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneeKAnCDQtNCwINC1IOKAnmluZm/igJwg0LjQu9C4XG4iCisi0L/RgNC4INC60LvQvtC90LjRgNCw0L3QtSDQv9C+0LvQt9Cy0LDQudGC0LUg0L7Qv9GG0LjRj9GC0LAg4oCeLS1yZWZlcmVuY2UtaWYtYWJsZeKAnCDQstC80LXRgdGC0L4g4oCeLS1yZWZlcmVuY2XigJwuIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTMxNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJzdWJtb2R1bGUgJyVzJyBjYW5ub3QgYWRkIGFsdGVybmF0ZTogJXMiCiBtc2dzdHIgItC60YrQvCDQv9C+0LTQvNC+0LTRg9C70LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LTQvtCx0LDQstC4INCw0LvRgtC10YDQvdCw0YLQuNCy0LXQvSDQuNC30YLQvtGH0L3QuNC6OiAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzMzYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IGlzIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICIiCiAi0J3QtdC/0L7Qt9C90LDRgtCwINGB0YLQvtC50L3QvtGB0YIg4oCeJXPigJwg0LfQsCDQvdCw0YHRgtGA0L7QudC60LDRgtCwIOKAnnN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd54oCcIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM0MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIGlzIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICLQndC10L/QvtC30L3QsNGC0LAg0YHRgtC+0LnQvdC+0YHRgiDigJ4lc+KAnCDQt9CwINC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCec3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9u4oCcIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODMKIG1zZ2lkICJ3aGVyZSB0aGUgbmV3IHN1Ym1vZHVsZSB3aWxsIGJlIGNsb25lZCB0byIKIG1zZ3N0ciAi0LrRitC00LUg0LTQsCDRgdC1INC60LvQvtC90LjRgNCwINC90L7QstC40Y/RgiDQv9C+0LTQvNC+0LTRg9C7IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODYKIG1zZ2lkICJuYW1lIG9mIHRoZSBuZXcgc3VibW9kdWxlIgogbXNnc3RyICLQuNC80LUg0L3QsCDQvdC+0LLQuNGPINC/0L7QtNC80L7QtNGD0LsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzcyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4OQogbXNnaWQgInVybCB3aGVyZSB0byBjbG9uZSB0aGUgc3VibW9kdWxlIGZyb20iCiBtc2dzdHIgItCw0LTRgNC10YEsINC+0YIg0LrQvtC50YLQviDQtNCwINGB0LUg0LrQu9C+0L3QuNGA0LAg0L3QvtCy0LjRj9GCINC/0L7QtNC80L7QtNGD0LsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5NwogbXNnaWQgImRlcHRoIGZvciBzaGFsbG93IGNsb25lcyIKIG1zZ3N0ciAi0LTRitC70LHQvtGH0LjQvdCwINC90LAg0L/Qu9C40YLQutC40YLQtSDRhdGA0LDQvdC40LvQuNGJ0LAiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzgzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODY4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQwMCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5NwogbXNnaWQgImZvcmNlIGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC90LDQv9GA0LXQtNGK0LrQsCDQvdCwINC60LvQvtC90LjRgNCw0L3QtdGC0L4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQwMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5OQorbXNnaWQgImRpc2FsbG93IGNsb25pbmcgaW50byBub24tZW1wdHkgZGlyZWN0b3J5IgorbXNnc3RyICLQv9GA0LXQtNC+0YLQstGA0LDRgtGP0LLQsNC90LUg0L3QsCDQutC70L7QvdC40YDQsNC90LUg0LIg0L3QtdC/0YDQsNC30L3QsCDQuNGB0YLQvtGA0LjRjyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MDcKIG1zZ2lkICIiCiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD08cGF0aD5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgIgogIjxyZXBvc2l0b3J5Pl0gWy0tbmFtZSA8bmFtZT5dIFstLWRlcHRoIDxkZXB0aD5dIC0tdXJsIDx1cmw+IC0tcGF0aCA8cGF0aD4iCkBAIC0xNzg2Myw5NiArMjExMjYsMTA4IEBACiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD3Qn9Cq0KJdIFstLXF1aWV0XSBbLS1yZWZlcmVuY2Ug0KXQoNCQ0J3QmNCb0JjQqdCVXSAiCiAiWy0tbmFtZSDQmNCc0JVdIFstLWRlcHRoINCU0KrQm9CR0J7Qp9CY0J3QkF0gLS11cmwg0JDQlNCg0JXQoSAtLXBhdGgg0J/QqtCi4oCmIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQxOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmdXNpbmcgdG8gY3JlYXRlL3VzZSAnJXMnIGluIGFub3RoZXIgc3VibW9kdWxlJ3MgZ2l0IGRpciIKK21zZ3N0ciAiIgorIuKAniVz4oCcINC90LUg0LzQvtC20LUg0L3QuNGC0L4g0LTQsCDRgdC1INGB0YrQt9C00LDQtNC1LCDQvdC40YLQviDQtNCwINGB0LUg0L/QvtC70LfQstCwINCyINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDQvdCwIGdpdCDQvdCwICIKKyLQtNGA0YPQsyDQv9C+0LTQvNC+0LTRg9C7IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjbG9uZSBvZiAnJXMnIGludG8gc3VibW9kdWxlIHBhdGggJyVzJyBmYWlsZWQiCiBtc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDQutC70L7QvdC40YDQsNC90LUg0L3QsCDQsNC00YDQtdGB0LAg4oCeJXPigJwg0LIg0L/RitGC0Y8g4oCeJXPigJwg0LrQsNGC0L4g0L/QvtC00LzQvtC00YPQuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MzMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBub3QgZW1wdHk6ICclcyciCittc2dzdHIgItC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDQvdC1INC1INC/0YDQsNC30L3QsDog4oCeJXPigJwiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgc3VibW9kdWxlIGRpcmVjdG9yeSBmb3IgJyVzJyIKIG1zZ3N0ciAi0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwINC90LAg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LvRg9GH0LXQvdCwIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ2OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB1cGRhdGUgbW9kZSAnJXMnIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70LXQvSDRgNC10LbQuNC8INC90LAg0L7QsdC90L7QstGP0LLQsNC90LUg4oCeJXPigJwg0LfQsCDQv9GK0YLRjyDQutGK0Lwg0L/QvtC00LzQvtC00YPQuyDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NzMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdXBkYXRlIG1vZGUgJyVzJyBjb25maWd1cmVkIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAi0J3QsNGB0YLRgNC+0LXQvSDQtSDQvdC10L/RgNCw0LLQuNC70LXQvSDRgNC10LbQuNC8INC90LAg0L7QsdC90L7QstGP0LLQsNC90LUg4oCeJXPigJwg0LfQsCDQv9GK0YLRjyDQutGK0Lwg0L/QvtC00LzQvtC00YPQuyDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE1NjYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICclcycgbm90IGluaXRpYWxpemVkIgogbXNnc3RyICLQn9GK0YLRj9GCINC90LAg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcINC90LUg0LUg0LjQvdC40YbQuNCw0LvQuNC30LjRgNCw0L0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTcwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTU5OAogbXNnaWQgIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgogbXNnc3RyICLQktC10YDQvtGP0YLQvdC+INC40YHQutCw0YXRgtC1INC00LAg0LjQt9C/0L7Qu9C30LLQsNGC0LUg4oCedXBkYXRlIC0taW5pdOKAnD8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjAwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyB1bm1lcmdlZCBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgItCf0YDQtdGB0LrQsNGH0LDQvdC1INC90LAg0L3QtdGB0LvQtdGC0LjRjyDQv9C+0LTQvNC+0LTRg9C7IOKAniVz4oCcIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTYyOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE2NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgc3VibW9kdWxlICclcyciCiBtc2dzdHIgItCf0YDQtdGB0LrQsNGH0LDQvdC1INC90LAg0L/QvtC00LzQvtC00YPQu9CwIOKAniVz4oCcIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTc3MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycuIFJldHJ5IHNjaGVkdWxlZCIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQtdC9INC+0L/QuNGCINC30LAg0LrQu9C+0L3QuNGA0LDQvdC1INC90LAg4oCeJXPigJwuICDQndCw0YHRgNC+0YfQtdC9INC1INCy0YLQvtGA0Lgg0L7Qv9C40YIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNzg0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJyBhIHNlY29uZCB0aW1lLCBhYm9ydGluZyIKIG1zZ3N0ciAiIgogItCS0YLQvtGA0Lgg0L3QtdGD0YHQv9C10YjQtdC9INC+0L/QuNGCINC30LAg0LrQu9C+0L3QuNGA0LDQvdC1INC90LAg4oCeJXPigJwuICDQlNC10LnRgdGC0LLQuNC10YLQviDRgdC1INC/0YDQtdGD0YHRgtCw0L3QvtCy0Y/QstCwIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg0NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjA4OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NzYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxMjAKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi0L/RitGCINC60YrQvCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc5CiBtc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUsIGFjcm9zcyBuZXN0ZWQgc3VibW9kdWxlIGJvdW5kYXJpZXMiCiBtc2dzdHIgItC/0YrRgiDQutGK0Lwg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4sINC/0YDQtdC3INCz0YDQsNC90LjRhtC40YLQtSDQvdCwINCy0LvQvtC20LXQvdC40YLQtSDQv9C+0LTQvNC+0LTRg9C70LgiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODU0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4MwogbXNnaWQgInJlYmFzZSwgbWVyZ2UsIGNoZWNrb3V0IG9yIG5vbmUiCiBtc2dzdHIgIiIKICLigJ5yZWJhc2XigJwgKNC/0YDQtdCx0LDQt9C40YDQsNC90LUpLCDigJ5tZXJnZeKAnCAo0YHQu9C40LLQsNC90LUpLCDigJ5jaGVja291dOKAnCAo0LjQt9GC0LXQs9C70Y/QvdC1KSDQuNC70LggIgogIuKAnm5vbmXigJwgKNC90LjRidC+INC00LAg0L3QtSDRgdC1INC/0YDQsNCy0LgpIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODkKIG1zZ2lkICJDcmVhdGUgYSBzaGFsbG93IGNsb25lIHRydW5jYXRlZCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiByZXZpc2lvbnMiCiBtc2dzdHIgItCf0LvQuNGC0LrQviDQutC70L7QvdC40YDQsNC90LUsINC+0YLRgNGP0LfQsNC90L4g0LTQviDRg9C60LDQt9Cw0L3QuNGPINCx0YDQvtC5INCy0LXRgNGB0LjQuCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NjMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODkyCiBtc2dpZCAicGFyYWxsZWwgam9icyIKIG1zZ3N0ciAi0LHRgNC+0Lkg0L/QsNGA0LDQu9C10LvQvdC4INC/0YDQvtGG0LXRgdC4IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTQKIG1zZ2lkICJ3aGV0aGVyIHRoZSBpbml0aWFsIGNsb25lIHNob3VsZCBmb2xsb3cgdGhlIHNoYWxsb3cgcmVjb21tZW5kYXRpb24iCiBtc2dzdHIgItC00LDQu9C4INC/0YrRgNCy0L7QvdCw0YfQsNC70L3QvtGC0L4g0LrQu9C+0L3QuNGA0LDQvdC1INC00LAg0LUg0L/Qu9C40YLQutC+LCDQutCw0LrRgtC+INGB0LUg0L/RgNC10L/QvtGA0YrRh9Cy0LAiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODY2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5NQogbXNnaWQgImRvbid0IHByaW50IGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgItCx0LXQtyDQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQvdCw0L/RgNC10LTRitC60LAg0L3QsCDQutC70L7QvdC40YDQsNC90LXRgtC+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg3MwotbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PdCf0KrQol0gW9Cf0KrQouKApl0iCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkwNAorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGUtY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCittc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGUtY2xvbmUgWy0tcHJlZml4PdCf0KrQol0gW9Cf0KrQouKApl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODg2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkxNwogbXNnaWQgImJhZCB2YWx1ZSBmb3IgdXBkYXRlIHBhcmFtZXRlciIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0L/QsNGA0LDQvNC10YLRitGAINC60YrQvCDQvtC/0YbQuNGP0YLQsCDigJ4tLXVwZGF0ZeKAnCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgKCVzKSBicmFuY2ggY29uZmlndXJlZCB0byBpbmhlcml0IGJyYW5jaCBmcm9tIHN1cGVycHJvamVjdCwgYnV0ICIKQEAgLTE3OTYxLDQyICsyMTIzNiw1MCBAQAogItCa0LvQvtC90YrRgiDQvdCwINC/0L7QtNC80L7QtNGD0LvQsCDigJ4lc+KAnCDQtSDQvdCw0YHRgtGA0L7QtdC9INC00LAg0L3QsNGB0LvQtdC00Y/QstCwINC60LvQvtC90LAg0L7RgiDQvtCx0YXQstCw0YnQsNGJ0LjRjyDQv9GA0L7QtdC60YIsICIKICLQvdC+INGC0L7QuSDQvdC1INC1INC90LAg0L3QuNC60L7QuSDQutC70L7QvSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwNTcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgYSByZXBvc2l0b3J5IGhhbmRsZSBmb3Igc3VibW9kdWxlICclcyciCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0L7Qu9GD0YfQuCDQstGA0YrQt9C60LAg0LrRitC8INGF0YDQsNC90LjQu9C40YnQtSDQt9CwINC/0L7QtNC80L7QtNGD0LvQsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwOTAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTIxCiBtc2dpZCAicmVjdXJzZSBpbnRvIHN1Ym1vZHVsZXMiCiBtc2dzdHIgItGA0LXQutGD0YDRgdC40LLQvdC+INC+0LHRhdC+0LbQtNCw0L3QtSDQv9C+0LTQvNC+0LTRg9C70LjRgtC1IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjA5NgotbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBlbWJlZC1naXQtZGlyIFs8cGF0aD4uLi5dIgotbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSBlbWJlZC1naXQtZGlyIFvQn9Cq0KLigKZdIgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxMjcKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgYWJzb3JiLWdpdC1kaXJzIFs8b3B0aW9ucz5dIFs8cGF0aD4uLi5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgYWJzb3JiLWdpdC1kaXJzIFvQntCf0KbQmNCv4oCmXSBb0J/QqtCi4oCmXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTgzCiBtc2dpZCAiY2hlY2sgaWYgaXQgaXMgc2FmZSB0byB3cml0ZSB0byB0aGUgLmdpdG1vZHVsZXMgZmlsZSIKIG1zZ3N0ciAi0L/RgNC+0LLQtdGA0LrQsCDQtNCw0LvQuCDQv9C40YHQsNC90LXRgtC+INCy0YrQsiDRhNCw0LnQu9CwIOKAni5naXRtb2R1bGVz4oCcINC1INCx0LXQt9C+0L/QsNGB0L3QviIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNTcKLW1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIG5hbWUgW3ZhbHVlXSIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTg2Cittc2dpZCAidW5zZXQgdGhlIGNvbmZpZyBpbiB0aGUgLmdpdG1vZHVsZXMgZmlsZSIKK21zZ3N0ciAi0LjQt9GC0YDQuNCy0LDQvdC1INC90LAg0L3QsNGB0YLRgNC+0LnQutCwINCy0YrQsiDRhNCw0LnQu9CwIOKAni5naXRtb2R1bGVz4oCcIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE5MQorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgPG5hbWU+IFs8dmFsdWU+XSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyDQmNCc0JUgW9Ch0KLQntCZ0J3QntCh0KJdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE1OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxOTIKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tdW5zZXQgPG5hbWU+IgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tdW5zZXQg0JjQnNCVIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE5MwogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgLS1jaGVjay13cml0ZWFibGUiCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgLS1jaGVjay13cml0ZWFibGUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTc1IGdpdC1zdWJtb2R1bGUuc2g6MTY5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjIxMiBnaXQtc3VibW9kdWxlLnNoOjE3MwogIywgc2gtZm9ybWF0CiBtc2dpZCAicGxlYXNlIG1ha2Ugc3VyZSB0aGF0IHRoZSAuZ2l0bW9kdWxlcyBmaWxlIGlzIGluIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgItGE0LDQudC70YrRgiDigJ4uZ2l0bW9kdWxlc+KAnCDRgtGA0Y/QsdCy0LAg0LTQsCDQtSDQsiDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyMjUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjYyIGdpdC5jOjQzMyBnaXQuYzo2ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZG9lc24ndCBzdXBwb3J0IC0tc3VwZXItcHJlZml4IgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC/0L7QtNC00YrRgNC20LAg0L7Qv9GG0LjRj9GC0LAg4oCeLS1zdXBlci1wcmVmaXjigJwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LUg0L/QvtC00LrQvtC80LDQvdC00LAg0L3QsCDigJ5zdWJtb2R1bGUtLWhlbHBlcuKAnCIKQEAgLTE4MDMxLDE3ICsyMTMxNCwxNyBAQAogCiAjOiBidWlsdGluL3RhZy5jOjI1CiBtc2dpZCAiIgotImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT5dIDx0YWduYW1lPiAiCi0iWzxoZWFkPl0iCisiZ2l0IHRhZyBbLWEgfCAtcyB8IC11IDxrZXktaWQ+XSBbLWZdIFstbSA8bXNnPiB8IC1GIDxmaWxlPl1cbiIKKyJcdFx0PHRhZ25hbWU+IFs8aGVhZD5dIgogbXNnc3RyICIiCi0iZ2l0IHRhZyBbLWEgfCAtcyB8IC11INCY0JTQldCd0KLQmNCk0JjQmtCQ0KLQntCgX9Cd0JBf0JrQm9Cu0KddIFstZl0gWy1tINCh0KrQntCR0KnQldCd0JjQlSB8IC1GINCk0JDQmdCbXSAiCi0i0JXQotCY0JrQldCiIFvQktCg0KrQpV0iCisiZ2l0IHRhZyBbLWEgfCAtcyB8IC11INCY0JTQldCd0KLQmNCk0JjQmtCQ0KLQntCgX9Cd0JBf0JrQm9Cu0KddIFstZl0gWy1tINCh0KrQntCR0KnQldCd0JjQlSB8IC1GINCk0JDQmdCbXVxuIgorIiAgICAgICAg0JXQotCY0JrQldCiIFvQktCg0KrQpV0iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjYKKyM6IGJ1aWx0aW4vdGFnLmM6MjcKIG1zZ2lkICJnaXQgdGFnIC1kIDx0YWduYW1lPi4uLiIKIG1zZ3N0ciAiZ2l0IHRhZyAtZCDQldCi0JjQmtCV0KLigKYiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjcKKyM6IGJ1aWx0aW4vdGFnLmM6MjgKIG1zZ2lkICIiCiAiZ2l0IHRhZyAtbCBbLW5bPG51bT5dXSBbLS1jb250YWlucyA8Y29tbWl0Pl0gWy0tbm8tY29udGFpbnMgPGNvbW1pdD5dIFstLSIKICJwb2ludHMtYXQgPG9iamVjdD5dXG4iCkBAIC0xODA1MCwyMSArMjEzMzMsMjEgQEAKICJnaXQgdGFnIC1sIFstblvQkdCg0J7QmV1dIFstLWNvbnRhaW5zINCf0J7QlNCQ0JLQkNCd0JVdIFstLXBvaW50cy1hdCDQntCR0JXQmtCiXVxuIgogIiAgICAgICAgICAgWy0tZm9ybWF0PdCk0J7QoNCc0JDQol0gWy0tW25vLV1tZXJnZWQgW9Cf0J7QlNCQ0JLQkNCd0JVdXSBb0KjQkNCR0JvQntCd4oCmXSIKIAotIzogYnVpbHRpbi90YWcuYzoyOQorIzogYnVpbHRpbi90YWcuYzozMAogbXNnaWQgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnbmFtZT4uLi4iCiBtc2dzdHIgImdpdCB0YWcgLXYgWy0tZm9ybWF0PdCk0J7QoNCc0JDQol0g0JXQotCY0JrQldCi4oCmIgogCi0jOiBidWlsdGluL3RhZy5jOjg3CisjOiBidWlsdGluL3RhZy5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIG5vdCBmb3VuZC4iCiBtc2dzdHIgItC10YLQuNC60LXRgtGK0YIg4oCeJXPigJwg0L3QtSDQtSDQvtGC0LrRgNC40YIuIgogCi0jOiBidWlsdGluL3RhZy5jOjEwMworIzogYnVpbHRpbi90YWcuYzoxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICLQmNC30YLRgNC40YIg0LUg0LXRgtC40LrQtdGC0YrRgiDigJ4lc+KAnCAo0LHQtSDigJ4lc+KAnClcbiIKIAotIzogYnVpbHRpbi90YWcuYzoxMzMKKyM6IGJ1aWx0aW4vdGFnLmM6MTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTE4MDc0LDEwICsyMTM1NywxMCBAQAogbXNnc3RyICIiCiAiXG4iCiAi0JLRitCy0LXQtNC10YLQtSDRgdGK0L7QsdGJ0LXQvdC40LUg0LfQsCDQtdGC0LjQutC10YLQsC5cbiIKLSIgICVzXG4iCisiICAgICVzXG4iCiAi0KDQtdC00L7QstC10YLQtSwg0LrQvtC40YLQviDQt9Cw0L/QvtGH0LLQsNGCINGBIOKAniVj4oCcLCDRidC1INCx0YrQtNCw0YIg0L/RgNC+0L/Rg9GB0L3QsNGC0LguXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTM3CisjOiBidWlsdGluL3RhZy5jOjEzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xODA4OCwzNzAgKzIxMzcxLDM4OCBAQAogbXNnc3RyICIiCiAiXG4iCiAi0JLRitCy0LXQtNC10YLQtSDRgdGK0L7QsdGJ0LXQvdC40LUg0LfQsCDQtdGC0LjQutC10YIuXG4iCi0iICAlc1xuIgorIiAgICAlc1xuIgogItCg0LXQtNC+0LLQtdGC0LUsINC60L7QuNGC0L4g0LfQsNC/0L7Rh9Cy0LDRgiDRgSDigJ4lY+KAnCwg0YHRitGJ0L4g0YnQtSDQsdGK0LTQsNGCINCy0LrQu9GO0YfQtdC90Lgg4oCUINC80L7QttC1INC00LAg0LPQuCAiCiAi0LjQt9GC0YDQuNC10YLQtSDQstC40LUuXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTkxCisjOiBidWlsdGluL3RhZy5jOjE5OAogbXNnaWQgInVuYWJsZSB0byBzaWduIHRoZSB0YWciCiBtc2dzdHIgItC10YLQuNC60LXRgtGK0YIg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC/0L7QtNC/0LjRgdCw0L0iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTkzCisjOiBidWlsdGluL3RhZy5jOjIwMAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0YWcgZmlsZSIKIG1zZ3N0ciAi0YTQsNC50LvRitGCINC30LAg0LXRgtC40LrQtdGC0LAg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9Cw0LfQtdC9IgogCi0jOiBidWlsdGluL3RhZy5jOjIxOAorIzogYnVpbHRpbi90YWcuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlIGNyZWF0ZWQgYSBuZXN0ZWQgdGFnLiBUaGUgb2JqZWN0IHJlZmVycmVkIHRvIGJ5IHlvdXIgbmV3IHRhZyBpc1xuIgorImFscmVhZHkgYSB0YWcuIElmIHlvdSBtZWFudCB0byB0YWcgdGhlIG9iamVjdCB0aGF0IGl0IHBvaW50cyB0bywgdXNlOlxuIgorIlxuIgorIlx0Z2l0IHRhZyAtZiAlcyAlc157fSIKK21zZ3N0ciAiIgorItCh0YrQt9C00LDQu9C4INGB0YLQtSDQvdC10L/RgNGP0Log0LXRgtC40LrQtdGCIOKAlCDQvtCx0LXQutGC0YrRgiwg0YHQvtGH0LXQvSDQvtGCINC90L7QstC+0YHRitC30LTQsNC00LXQvdC40Y8g0LXRgtC40LrQtdGCLFxuIgorItC1INGB0YrRidC+INC10YLQuNC60LXRgi4gINCQ0LrQviDQstC80LXRgdGC0L4g0YLQvtCy0LAg0LjRgdC60LDRgtC1INC90L7QstC40Y/RgiDQtdGC0LjQutC10YIg0LTQsCDRgdC+0YfQuCDQutGK0Lwg0YLQvtCy0LAsXG4iCisi0LrQvtC10YLQviDRgdC1INGB0L7Rh9C4INC+0YIg0YHRgtCw0YDQuNGPLCDQuNC30L/RitC70L3QtdGC0LU6XG4iCisiXG4iCisiICAgIGdpdCB0YWcgLWYgJXMgJXNee30iCisKKyM6IGJ1aWx0aW4vdGFnLmM6MjMyCiBtc2dpZCAiYmFkIG9iamVjdCB0eXBlLiIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0LLQuNC0INC+0LHQtdC60YIuIgogCi0jOiBidWlsdGluL3RhZy5jOjI2NworIzogYnVpbHRpbi90YWcuYzoyODQKIG1zZ2lkICJubyB0YWcgbWVzc2FnZT8iCiBtc2dzdHIgItC70LjQv9GB0LLQsCDRgdGK0L7QsdGJ0LXQvdC40LUg0LfQsCDQtdGC0LjQutC10YLQsCIKIAotIzogYnVpbHRpbi90YWcuYzoyNzQKKyM6IGJ1aWx0aW4vdGFnLmM6MjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSB0YWcgbWVzc2FnZSBoYXMgYmVlbiBsZWZ0IGluICVzXG4iCiBtc2dzdHIgItCh0YrQvtCx0YnQtdC90LjQtdGC0L4g0LfQsCDQtdGC0LjQutC10YLQsCDQtSDQt9Cw0L/QsNC30LXQvdC+INCy0YrQsiDRhNCw0LnQu9CwIOKAniVz4oCcXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg1CisjOiBidWlsdGluL3RhZy5jOjQwMgogbXNnaWQgImxpc3QgdGFnIG5hbWVzIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0L3QsCDQuNC80LXQvdCw0YLQsCDQvdCwINC10YLQuNC60LXRgtC40YLQtSIKIAotIzogYnVpbHRpbi90YWcuYzozODcKKyM6IGJ1aWx0aW4vdGFnLmM6NDA0CiBtc2dpZCAicHJpbnQgPG4+IGxpbmVzIG9mIGVhY2ggdGFnIG1lc3NhZ2UiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGC0L7Qt9C4INCR0KDQntCZINGA0LXQtNC+0LLQtSDQvtGCINCy0YHRj9C60L4g0YHRitC+0LHRidC10L3QuNC1INC30LAg0LXRgtC40LrQtdGCIgogCi0jOiBidWlsdGluL3RhZy5jOjM4OQorIzogYnVpbHRpbi90YWcuYzo0MDYKIG1zZ2lkICJkZWxldGUgdGFncyIKIG1zZ3N0ciAi0LjQt9GC0YDQuNCy0LDQvdC1INC90LAg0LXRgtC40LrQtdGC0LgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzkwCisjOiBidWlsdGluL3RhZy5jOjQwNwogbXNnaWQgInZlcmlmeSB0YWdzIgogbXNnc3RyICLQv9GA0L7QstC10YDQutCwINC90LAg0LXRgtC40LrQtdGC0LgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzkyCisjOiBidWlsdGluL3RhZy5jOjQwOQogbXNnaWQgIlRhZyBjcmVhdGlvbiBvcHRpb25zIgogbXNnc3RyICLQntC/0YbQuNC4INC/0YDQuCDRgdGK0LfQtNCw0LLQsNC90LXRgtC+INC90LAg0LXRgtC40LrQtdGC0LgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzk0CisjOiBidWlsdGluL3RhZy5jOjQxMQogbXNnaWQgImFubm90YXRlZCB0YWcsIG5lZWRzIGEgbWVzc2FnZSIKIG1zZ3N0ciAi0LDQvdC+0YLQuNGA0LDQvdC10YLQviDQvdCwINC10YLQuNC60LXRgtC4INC40LfQuNGB0LrQstCwINGB0YrQvtCx0YnQtdC90LjQtSIKIAotIzogYnVpbHRpbi90YWcuYzozOTYKKyM6IGJ1aWx0aW4vdGFnLmM6NDEzCiBtc2dpZCAidGFnIG1lc3NhZ2UiCiBtc2dzdHIgItCh0KrQntCR0KnQldCd0JjQlSDQt9CwINC10YLQuNC60LXRgiIKIAotIzogYnVpbHRpbi90YWcuYzozOTgKKyM6IGJ1aWx0aW4vdGFnLmM6NDE1CiBtc2dpZCAiZm9yY2UgZWRpdCBvZiB0YWcgbWVzc2FnZSIKIG1zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvQvdC+INGA0LXQtNCw0LrRgtC40YDQsNC90LUg0L3QsCDRgdGK0L7QsdGJ0LXQvdC40LUg0LfQsCDQtdGC0LjQutC10YIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzk5CisjOiBidWlsdGluL3RhZy5jOjQxNgogbXNnaWQgImFubm90YXRlZCBhbmQgR1BHLXNpZ25lZCB0YWciCiBtc2dzdHIgItCw0L3QvtGC0LjRgNCw0L0g0LXRgtC40LrQtdGCINGBINC/0L7QtNC/0LjRgSDQv9C+IEdQRyIKIAotIzogYnVpbHRpbi90YWcuYzo0MDMKKyM6IGJ1aWx0aW4vdGFnLmM6NDE5CiBtc2dpZCAidXNlIGFub3RoZXIga2V5IHRvIHNpZ24gdGhlIHRhZyIKIG1zZ3N0ciAi0LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDQtNGA0YPQsyDQutC70Y7RhyDQt9CwINC/0L7QtNC/0LjRgdCy0LDQvdC10YLQviDQvdCwINC10YLQuNC60LXRgiIKIAotIzogYnVpbHRpbi90YWcuYzo0MDQKKyM6IGJ1aWx0aW4vdGFnLmM6NDIwCiBtc2dpZCAicmVwbGFjZSB0aGUgdGFnIGlmIGV4aXN0cyIKIG1zZ3N0ciAi0LfQsNC80Y/QvdCwINC90LAg0LXRgtC40LrQtdGC0LAsINCw0LrQviDRgdGK0YnQtdGB0YLQstGD0LLQsCIKIAotIzogYnVpbHRpbi90YWcuYzo0MDUgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY5CisjOiBidWlsdGluL3RhZy5jOjQyMSBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjkKIG1zZ2lkICJjcmVhdGUgYSByZWZsb2ciCiBtc2dzdHIgItGB0YrQt9C00LDQstCw0L3QtSDQvdCwINC20YPRgNC90LDQuyDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA3CisjOiBidWlsdGluL3RhZy5jOjQyMwogbXNnaWQgIlRhZyBsaXN0aW5nIG9wdGlvbnMiCiBtc2dzdHIgItCe0L/RhtC40Lgg0LfQsCDQuNC30LLQtdC20LTQsNC90LXRgtC+INC90LAg0LXRgtC40LrQtdGC0LgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA4CisjOiBidWlsdGluL3RhZy5jOjQyNAogbXNnaWQgInNob3cgdGFnIGxpc3QgaW4gY29sdW1ucyIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INC90LAg0YHQv9C40YHRitC60LAg0L3QsCDQtdGC0LjQutC10YLQuNGC0LUg0L/QviDQutC+0LvQvtC90LgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA5IGJ1aWx0aW4vdGFnLmM6NDExCisjOiBidWlsdGluL3RhZy5jOjQyNSBidWlsdGluL3RhZy5jOjQyNwogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0LXRgtC40LrQtdGC0LjRgtC1LCDQutC+0LjRgtC+INGB0YrQtNGK0YDQttCw0YIg0L/QvtC00LDQstCw0L3QtdGC0L4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDEwIGJ1aWx0aW4vdGFnLmM6NDEyCisjOiBidWlsdGluL3RhZy5jOjQyNiBidWlsdGluL3RhZy5jOjQyOAogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0LXRgtC40LrQtdGC0LjRgtC1LCDQutC+0LjRgtC+INC90LUg0YHRitC00YrRgNC20LDRgiDQv9C+0LTQsNCy0LDQvdC10YLQviIKIAotIzogYnVpbHRpbi90YWcuYzo0MTMKKyM6IGJ1aWx0aW4vdGFnLmM6NDI5CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0YHQu9C10YLQuNGC0LUg0LXRgtC40LrQtdGC0LgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDE0CisjOiBidWlsdGluL3RhZy5jOjQzMAogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0YHQsNC80L4g0L3QsCDQvdC10YHQu9C10YLQuNGC0LUg0LXRgtC40LrQtdGC0LgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDE5CisjOiBidWlsdGluL3RhZy5jOjQzNAogbXNnaWQgInByaW50IG9ubHkgdGFncyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICLQuNC30LLQtdC20LTQsNC90LUg0YHQsNC80L4g0L3QsCDQtdGC0LjQutC10YLQuNGC0LUg0L3QsCDQntCR0JXQmtCi0JAiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDYzCisjOiBidWlsdGluL3RhZy5jOjQ4MgogbXNnaWQgIi0tY29sdW1uIGFuZCAtbiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICLQntC/0YbQuNC40YLQtSDigJ4tLWNvbHVtbuKAnCDQuCDigJ4tbuKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCIKIAotIzogYnVpbHRpbi90YWcuYzo0ODUKKyM6IGJ1aWx0aW4vdGFnLmM6NTA0CiBtc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgItCe0L/RhtC40Y/RgtCwIOKAni1u4oCcINC40LfQuNGB0LrQstCwINGA0LXQttC40Lwg0L3QsCDRgdC/0LjRgdGK0LouIgogCi0jOiBidWlsdGluL3RhZy5jOjQ4NworIzogYnVpbHRpbi90YWcuYzo1MDYKIG1zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICLQntC/0YbQuNGP0YLQsCDigJ4tY29udGFpbnPigJwg0LjQt9C40YHQutCy0LAg0YDQtdC20LjQvCDQvdCwINGB0L/QuNGB0YrQui4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDg5CisjOiBidWlsdGluL3RhZy5jOjUwOAogbXNnaWQgIi0tbm8tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgItCe0L/RhtC40Y/RgtCwIOKAni1jb250YWluc+KAnCDQuNC30LjRgdC60LLQsCAg0YDQtdC20LjQvCDQvdCwINGB0L/QuNGB0YrQui4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDkxCisjOiBidWlsdGluL3RhZy5jOjUxMAogbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICLQntC/0YbQuNGP0YLQsCDigJ4tcG9pbnRzLWF04oCcINC40LfQuNGB0LrQstCwINGA0LXQttC40Lwg0L3QsCDRgdC/0LjRgdGK0LouIgogCi0jOiBidWlsdGluL3RhZy5jOjQ5MworIzogYnVpbHRpbi90YWcuYzo1MTIKIG1zZ2lkICItLW1lcmdlZCBhbmQgLS1uby1tZXJnZWQgb3B0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKIG1zZ3N0ciAi0J7Qv9GG0LjQuNGC0LUg4oCeLS1tZXJnZWTigJwg0Lgg4oCeLS1uby1tZXJnZWTigJwg0LjQt9C40YHQutCy0LDRgiDRgNC10LbQuNC8INC90LAg0YHQv9C40YHRitC6LiIKIAotIzogYnVpbHRpbi90YWcuYzo1MDQKKyM6IGJ1aWx0aW4vdGFnLmM6NTIzCiBtc2dpZCAib25seSBvbmUgLUYgb3IgLW0gb3B0aW9uIGlzIGFsbG93ZWQuIgogbXNnc3RyICLQntC/0YbQuNC40YLQtSDigJ4tRuKAnCDQuCDigJ4tbeKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTIzCisjOiBidWlsdGluL3RhZy5jOjU0MgogbXNnaWQgInRvbyBtYW55IHBhcmFtcyIKIG1zZ3N0ciAi0J/RgNC10LrQsNC70LXQvdC+INC80L3QvtCz0L4g0LDRgNCz0YPQvNC10L3RgtC4IgogCi0jOiBidWlsdGluL3RhZy5jOjUyOQorIzogYnVpbHRpbi90YWcuYzo1NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0YWcgbmFtZS4iCiBtc2dzdHIgIuKAniVz4oCcINC1INC90LXQv9GA0LDQstC40LvQvdC+INC40LzQtSDQt9CwINC10YLQuNC60LXRgi4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTM0CisjOiBidWlsdGluL3RhZy5jOjU1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAi0LXRgtC40LrQtdGC0YrRgiDigJ4lc+KAnCDQstC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCIKIAotIzogYnVpbHRpbi90YWcuYzo1NjUKKyM6IGJ1aWx0aW4vdGFnLmM6NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAi0J7QsdC90L7QstC10L0g0LXRgtC40LrQtdGCIOKAniVz4oCcICjQsdC1IOKAniVz4oCcKVxuIgogCi0jOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTAwCisjOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTAxCiBtc2dpZCAiVW5wYWNraW5nIG9iamVjdHMiCiBtc2dzdHIgItCg0LDQt9C/0LDQutC10YLQuNGA0LDQvdC1INC90LAg0L7QsdC10LrRgtC40YLQtSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo4MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAi0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdGK0LfQtNCw0LTQtdC90LAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZmlsZSAlcyIKIG1zZ3N0ciAi0YTQsNC50LvRitGCIOKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdGK0LfQtNCw0LTQtdC9IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBmaWxlICVzIgogbXNnc3RyICLRhNCw0LnQu9GK0YIg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfRgtGA0LjRgiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE1IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICLQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfRgtGA0LjRgtCwIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEzOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGVzdGluZyBtdGltZSBpbiAnJXMnICIKIG1zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDQvdCwINCy0YDQtdC80LXRgtC+INC90LAg0L/RgNC+0LzRj9C90LAgKG10aW1lKSDQvdCwINGE0LDQudC70LAg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTUyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1NAogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGFkZGluZyBhIG5ldyBmaWxlIgogbXNnc3RyICIiCiAi0LjQvdGE0L7RgNC80LDRhtC40Y/RgtCwINC/0L7Qu9GD0YfQtdC90LAg0YfRgNC10Lcg4oCec3RhdOKAnCDQt9CwINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDQvdC1INGB0LUg0L/RgNC+0LzQtdC90Y8g0YHQu9C10LQgIgogItC00L7QsdCw0LLRj9C90LXRgtC+INC90LAg0L3QvtCyINGE0LDQudC7IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE2NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNjcKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBhZGRpbmcgYSBuZXcgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAi0LjQvdGE0L7RgNC80LDRhtC40Y/RgtCwINC/0L7Qu9GD0YfQtdC90LAg0YfRgNC10Lcg4oCec3RhdOKAnCDQt9CwINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDQvdC1INGB0LUg0L/RgNC+0LzQtdC90Y8g0YHQu9C10LQgIgogItC00L7QsdCw0LLRj9C90LXRgtC+INC90LAg0L3QvtCy0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTc4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE4MAogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciB1cGRhdGluZyBhIGZpbGUiCiBtc2dzdHIgIiIKICLQuNC90YTQvtGA0LzQsNGG0LjRj9GC0LAg0L/QvtC70YPRh9C10L3QsCDRh9GA0LXQtyDigJ5zdGF04oCcINC30LAg0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwINGB0LUg0L/RgNC+0LzQtdC90Y8g0YHQu9C10LQgIgogItC+0LHQvdC+0LLRj9Cy0LDQvdC10YLQviDQvdCwINC90L7QsiDRhNCw0LnQuyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxODkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTkxCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBjaGFuZ2VzIGFmdGVyIGFkZGluZyBhIGZpbGUgaW5zaWRlIHN1YmRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogItC40L3RhNC+0YDQvNCw0YbQuNGP0YLQsCDQv9C+0LvRg9GH0LXQvdCwINGH0YDQtdC3IOKAnnN0YXTigJwg0LfQsCDQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAg0YHQtSDQv9GA0L7QvNC10L3RjyDRgdC70LXQtCDQtNC+0LHQsNCy0Y/QvdC10YLQviAiCiAi0L3QsCDRhNCw0LnQuyDQsiDQv9C+0LTQtNC40YDQtdC60YLQvtGA0LjRjyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMDAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjAyCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBmaWxlIgogbXNnc3RyICIiCiAi0LjQvdGE0L7RgNC80LDRhtC40Y/RgtCwINC/0L7Qu9GD0YfQtdC90LAg0YfRgNC10Lcg4oCec3RhdOKAnCDQt9CwINC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDQvdC1INGB0LUg0L/RgNC+0LzQtdC90Y8g0YHQu9C10LQgIgogItC40LfRgtGA0LjQstCw0L3QtdGC0L4g0L3QsCDRhNCw0LnQuyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE1CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKICLQuNC90YTQvtGA0LzQsNGG0LjRj9GC0LAg0L/QvtC70YPRh9C10L3QsCDRh9GA0LXQtyDigJ5zdGF04oCcINC30LAg0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwINC90LUg0YHQtSDQv9GA0L7QvNC10L3RjyDRgdC70LXQtCAiCiAi0LjQt9GC0YDQuNCy0LDQvdC10YLQviDQvdCwINC00LjRgNC10LrRgtC+0YDQuNGPIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIyMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMjIKIG1zZ2lkICIgT0siCiBtc2dzdHIgIiDQlNC+0LHRgNC1IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU4OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1OTEKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggW9Ce0J/QptCY0K/igKZdIFstLV0gW9Ck0JDQmdCb4oCmXSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc0CiBtc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgogbXNnc3RyICIiCiAi0L/RgNC+0LTRitC70LbQsNCy0LDQvdC1INGBINC+0LHQvdC+0LLRj9Cy0LDQvdC10YLQviwg0LTQvtGA0Lgg0LrQvtCz0LDRgtC+INC40L3QtNC10LrRgdGK0YIg0YLRgNGP0LHQstCwINC00LAg0LHRitC00LUg0L7QsdC90L7QstC10L0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NwogbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgogbXNnc3RyICLQv9C+0LTQvNC+0LTRg9C70LjRgtC1INC00LAg0YHQtSDQuNCz0L3QvtGA0LjRgNCw0YIg0L/RgNC4INC+0LHQvdC+0LLRj9Cy0LDQvdC10YLQviIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgwCiBtc2dpZCAiZG8gbm90IGlnbm9yZSBuZXcgZmlsZXMiCiBtc2dzdHIgItC90L7QstC40YLQtSDRhNCw0LnQu9C+0LLQtSDQtNCwINC90LUg0YHQtSDQuNCz0L3QvtGA0LjRgNCw0YIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MgogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICLRhNCw0LnQu9C+0LLQtSDQtNCwINC80L7Qs9Cw0YIg0LTQsCDQt9Cw0LzQtdC90Y/RgiDQtNC40YDQtdC60YLQvtGA0LjQuCDQuCDQvtCx0YDQsNGC0L3QviIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg0CiBtc2dpZCAibm90aWNlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAi0L/RgNC10LTRg9C/0YDQtdC20LTQsNCy0LDQvdC1INC/0YDQuCDQu9C40L/RgdCy0LDRidC4INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+INGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODYKIG1zZ2lkICJyZWZyZXNoIGV2ZW4gaWYgaW5kZXggY29udGFpbnMgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAi0L7QsdC90L7QstGP0LLQsNC90LUg0LTQvtGA0Lgg0Lgg0LjQvdC00LXQutGB0YrRgiDQtNCwINGB0YrQtNGK0YDQttCwINC90LXRgdC70LXRgtC4INC+0LHQtdC60YLQuCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg5CiBtc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgogbXNnc3RyICLQvtCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwINC40L3RhNC+0YDQvNCw0YbQuNGP0YLQsCDQvtGCINGE0YPQvdC60YbQuNGP0YLQsCDigJ5zdGF04oCcIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTMKIG1zZ2lkICJsaWtlIC0tcmVmcmVzaCwgYnV0IGlnbm9yZSBhc3N1bWUtdW5jaGFuZ2VkIHNldHRpbmciCiBtc2dzdHIgIiIKICLQutCw0YLQviDQvtC/0YbQuNGP0YLQsCDigJ4tLXJlZnJlc2jigJwsINC90L4g0LTQsCDRgdC1INC/0YDQvtCy0LXRgNGP0YIg0Lgg0L7QsdC10LrRgtC40YLQtSwg0LrQvtC40YLQviDRgdCwINCx0LjQu9C4INC/0YDQuNC10YLQuCAiCiAi0LfQsCDQvdC10L/RgNC+0LzQtdC90LXQvdC4IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKIG1zZ2lkICI8bW9kZT4sPG9iamVjdD4sPHBhdGg+IgogbXNnc3RyICLQoNCV0JbQmNCcLNCe0JHQldCa0KIs0J/QqtCiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTgKIG1zZ2lkICJhZGQgdGhlIHNwZWNpZmllZCBlbnRyeSB0byB0aGUgaW5kZXgiCiBtc2dzdHIgItC00L7QsdCw0LLRj9C90LUg0L3QsCDQuNC30LHRgNC+0LXQvdC40YLQtSDQvtCx0LXQutGC0Lgg0LrRitC8INC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA4CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcIm5vdCBjaGFuZ2luZ1wiIgogbXNnc3RyICLQt9Cw0LTQsNCy0LDQvdC1INC90LAg0YTQu9Cw0LMsINGH0LUg0YTQsNC50LvRitGCINC90LUg0YHQtSDQv9GA0L7QvNC10L3RjyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxMQogbXNnaWQgImNsZWFyIGFzc3VtZWQtdW5jaGFuZ2VkIGJpdCIKIG1zZ3N0ciAi0LjQt9GH0LjRgdGC0LLQsNC90LUg0L3QsCDRhNC70LDQs9CwLCDRh9C1INGE0LDQudC70YrRgiDQvdC1INGB0LUg0L/RgNC+0LzQtdC90Y8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE0CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAi0LfQsNC00LDQstCw0L3QtSDQvdCwINGE0LvQsNCzLCDRh9C1INGE0LDQudC70L7QstC10YLQtSDRgdCwINGB0LDQvNC+INC30LAg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE3CiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCi1tc2dzdHIgItC40LfRh9C40YHRgtCy0LDQvdC1INC90LAg0YTQu9Cw0LPQsCwgINGH0LUg0YTQsNC50LvQvtCy0LXRgtC1INGB0LAg0YHQsNC80L4g0LfQsCDQuNC90LTQtdC60YHQsCIKK21zZ3N0ciAi0LjQt9GH0LjRgdGC0LLQsNC90LUg0L3QsCDRhNC70LDQs9CwLCDRh9C1INGE0LDQudC70L7QstC10YLQtSDRgdCwINGB0LDQvNC+INC30LAg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDIwCittc2dpZCAiZG8gbm90IHRvdWNoIGluZGV4LW9ubHkgZW50cmllcyIKK21zZ3N0ciAi0LHQtdC3INC/0YDQvtC80Y/QvdCwINC90LAg0YTQsNC50LvQvtCy0LXRgtC1INGB0LDQvNC+INC30LAg0LjQvdC00LXQutGB0LAiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyMgogbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INGB0LDQvNC+INC60YrQvCDQuNC90LTQtdC60YHQsCDQsdC10Lcg0LTQvtCx0LDQstGP0L3QtSDQutGK0Lwg0LHQsNC30LDRgtCwINC+0YIg0LTQsNC90L3QuCDQt9CwINC+0LHQtdC60YLQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI0CiBtc2dpZCAicmVtb3ZlIG5hbWVkIHBhdGhzIGV2ZW4gaWYgcHJlc2VudCBpbiB3b3JrdHJlZSIKIG1zZ3N0ciAi0LjQt9GC0YDQuNCy0LDQvdC1INC90LAg0YPQutCw0LfQsNC90LjRgtC1INC/0YrRgtC40YnQsCwg0LTQvtGA0Lgg0Lgg0LTQsCDRgdGK0YnQtdGB0YLQstGD0LLQsNGCINCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyNgogbXNnaWQgIndpdGggLS1zdGRpbjogaW5wdXQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgYnkgbnVsbCBieXRlcyIKIG1zZ3N0ciAiIgogItC/0YDQuCDQutC+0LzQsdC40L3QuNGA0LDQvdC1INGBINC+0L/RhtC40Y/RgtCwIOKAni0tc3RkaW7igJwg4oCUINCy0YXQvtC00L3QuNGC0LUg0YDQtdC00L7QstC1INGB0LAg0YDQsNC30LTQtdC70LXQvdC4INGBINC90YPQu9C10LLQuNGPICIKICLQsdCw0LnRgiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDEyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjgKIG1zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgdG8gYmUgdXBkYXRlZCBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLQuNC30YfQuNGC0LDQvdC1INC90LAg0YHQv9C40YHRitC60LAg0YEg0L/RitGC0LjRidCwINC30LAg0L7QsdC90L7QstGP0LLQsNC90LUg0L7RgiDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINCy0YXQvtC0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzMgogbXNnaWQgImFkZCBlbnRyaWVzIGZyb20gc3RhbmRhcmQgaW5wdXQgdG8gdGhlIGluZGV4IgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INC90LAg0LXQu9C10LzQtdC90YLQuNGC0LUg0L7RgiDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINCy0YXQvtC0INC60YrQvCDQuNC90LTQtdC60YHQsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDIwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzYKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgIiIKICLQstGK0LfRgdGC0LDQvdC+0LLRj9Cy0LDQvdC1INC90LAg0YHRitGB0YLQvtGP0L3QuNC10YLQviDQv9GA0LXQtNC4INGB0LvQuNCy0LDQvdC1INC40LvQuCDQvdGD0LbQtNCwINC+0YIg0L7QsdC90L7QstGP0LLQsNC90LUg0LfQsCAiCiAi0LjQt9Cx0YDQvtC10L3QuNGC0LUg0L/RitGC0LjRidCwIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0MAogbXNnaWQgIm9ubHkgdXBkYXRlIGVudHJpZXMgdGhhdCBkaWZmZXIgZnJvbSBIRUFEIgogbXNnc3RyICLQtNC+0LHQsNCy0Y/QvdC1INGB0LDQvNC+INC90LAg0YHRitC00YrRgNC20LDQvdC40LXRgtC+LCDQutC+0LXRgtC+INGB0LUg0YDQsNC30LvQuNGH0LDQstCwINC+0YIg0YLQvtCy0LAg0LIg4oCeSEVBROKAnCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDQKIG1zZ2lkICJpZ25vcmUgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNCw0L3QtSDQvdCwINGE0LDQudC70L7QstC10YLQtSwg0LrQvtC40YLQviDQu9C40L/RgdCy0LDRgiDQsiDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDMxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDcKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC00LXQudGB0YLQstC40Y/RgtCwINC90LAg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQuNC30YXQvtC0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0OQogbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgogbXNnc3RyICIiCiAi0LfQsNCx0YDQsNCy0Y/QvdC1INC90LAg0LfQsNC/0LjRgdCw0L3QsNGC0LAg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDQvdC10YDQsNC30YDQtdGI0LXQvdC4INC60L7QvdGE0LvQuNC60YLQuCDigJQg0LfQsCDQutC+0LzQsNC90LTQuNGC0LUgIgogItC+0YIg0L/QvtGC0YDQtdCx0LjRgtC10LvRgdC60L4g0L3QuNCy0L4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzNworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDUzCiBtc2dpZCAid3JpdGUgaW5kZXggaW4gdGhpcyBmb3JtYXQiCiBtc2dzdHIgItC30LDQv9C40YHQstCw0L3QtSDQvdCwINC40L3QtNC10LrRgdCwINCyINGC0L7Qt9C4INGE0L7RgNC80LDRgiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDM5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTUKIG1zZ2lkICJlbmFibGUgb3IgZGlzYWJsZSBzcGxpdCBpbmRleCIKIG1zZ3N0ciAi0LLQutC70Y7Rh9Cy0LDQvdC1INC40LvQuCDQuNC30LrQu9GO0YfQstCw0L3QtSDQvdCwINGA0LDQt9C00LXQu9GP0L3QtdGC0L4g0L3QsCDQuNC90LTQtdC60YHQsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTcKIG1zZ2lkICJlbmFibGUvZGlzYWJsZSB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgItCy0LrQu9GO0YfQstCw0L3QtS/QuNC30LrQu9GO0YfQstCw0L3QtSDQvdCwINC60LXRiNCwINC30LAg0L3QtdGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTkKIG1zZ2lkICJ0ZXN0IGlmIHRoZSBmaWxlc3lzdGVtIHN1cHBvcnRzIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAi0L/RgNC+0LLQtdGA0LrQsCDQtNCw0LvQuCDRhNCw0LnQu9C+0LLQsNGC0LAg0YHQuNGB0YLQtdC80LAg0L/QvtC00LTRitGA0LbQsCDQutC10Ygg0LfQsCDQvdC10YHQu9C10LTQtdC90Lgg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDYxCiBtc2dpZCAiZW5hYmxlIHVudHJhY2tlZCBjYWNoZSB3aXRob3V0IHRlc3RpbmcgdGhlIGZpbGVzeXN0ZW0iCiBtc2dzdHIgIiIKICLQstC60LvRjtGH0LLQsNC90LUg0L3QsCDQutC10YjQsCDQt9CwINC90LXRgdC70LXQtNC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUg0LHQtdC3INC/0YDQvtCy0LXRgNC60LAg0L3QsCDRhNCw0LnQu9C+0LLQsNGC0LAg0YHQuNGB0YLQtdC80LAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDYzCiBtc2dpZCAid3JpdGUgb3V0IHRoZSBpbmRleCBldmVuIGlmIGlzIG5vdCBmbGFnZ2VkIGFzIGNoYW5nZWQiCiBtc2dzdHIgItC30LDQv9C40YEg0L3QsCDQuNC90LTQtdC60YHQsCwg0LTQvtGA0Lgg0LTQsCDQvdC1INC1INC+0YLQsdC10LvRj9C30LDQvSDQutCw0YLQviDQv9GA0L7QvNC10L3QtdC9IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2NQogbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIGZpbGUgc3lzdGVtIG1vbml0b3IiCiBtc2dzdHIgItCy0LrQu9GO0YfQstCw0L3QtSDQuNC70Lgg0LjQt9C60LvRjtGH0LLQsNC90LUg0L3QsCDQvdCw0LHQu9GO0LTQtdC90LjQtdGC0L4g0L3QsCDRhNCw0LnQu9C+0LLQsNGC0LAg0YHQuNGB0YLQtdC80LAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDY3CiBtc2dpZCAibWFyayBmaWxlcyBhcyBmc21vbml0b3IgdmFsaWQiCiBtc2dzdHIgItC+0YLQsdC10LvRj9C30LLQsNC90LUg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUsINGH0LUg0LzQvtCz0LDRgiDQtNCwINGB0LUg0YHQu9C10LTRj9GCINGH0YDQtdC3INGE0LDQudC70L7QstCw0YLQsCDRgdC40YHRgtC10LzQsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDU0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNzAKIG1zZ2lkICJjbGVhciBmc21vbml0b3IgdmFsaWQgYml0IgogbXNnc3RyICLQuNC30YfQuNGB0YLQstCw0L3QtSDQvdCwINGE0LvQsNCz0LAg0LfQsCDRgdC70LXQtNC10L3QtdGC0L4g0YfRgNC10Lcg0YTQsNC50LvQvtCy0LDRgtCwINGB0LjRgdGC0LXQvNCwIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE3MwogbXNnaWQgIiIKICJjb3JlLnNwbGl0SW5kZXggaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgogImVuYWJsZSBzcGxpdCBpbmRleCIKQEAgLTE4NDU5LDcgKzIxNzYwLDcgQEAKICLQndCw0YHRgtGA0L7QudC60LDRgtCwIOKAnmNvcmUuc3BsaXRJbmRleOKAnCDQtSDQt9Cw0LTQsNC00LXQvdCwINC90LAg4oCeZmFsc2XigJwgKNC70YrQttCwKS4gINCh0LzQtdC90LXRgtC1INGPINC40LvQuCDRjyAiCiAi0LjQt9GC0YDQuNC50YLQtSwg0LfQsCDQtNCwINCy0LrQu9GO0YfQuNGC0LUg0YDQsNC30LTQtdC70Y/QvdC10YLQviDQvdCwINC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNjIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE4MgogbXNnaWQgIiIKICJjb3JlLnNwbGl0SW5kZXggaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCiAiZGlzYWJsZSBzcGxpdCBpbmRleCIKQEAgLTE4NDY3LDcgKzIxNzY4LDcgQEAKICLQndCw0YHRgtGA0L7QudC60LDRgtCwIOKAnmNvcmUuc3BsaXRJbmRleOKAnCDQtSDQt9Cw0LTQsNC00LXQvdCwINC90LAg4oCedHJ1ZeKAnCAo0LjRgdGC0LjQvdCwKS4gINCh0LzQtdC90LXRgtC1INGPINC40LvQuCAiCiAi0Y8g0LjQt9GC0YDQuNC50YLQtSwg0LfQsCDQtNCwINC40LfQutC70Y7Rh9C40YLQtSDRgNCw0LfQtNC10LvRj9C90LXRgtC+INC90LAg0LjQvdC00LXQutGB0LAuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE5NAogbXNnaWQgIiIKICJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGRpc2FibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKQEAgLTE4NDc1LDExICsyMTc3NiwxMSBAQAogItCd0LDRgdGC0YDQvtC50LrQsNGC0LAg4oCeY29yZS51bnRyYWNrZWRDYWNoZeKAnCDQtSDQt9Cw0LTQsNC00LXQvdCwINC90LAg4oCedHJ1ZeKAnCAo0LjRgdGC0LjQvdCwKS4gINCh0LzQtdC90LXRgtC1INGPICIKICLQuNC70Lgg0Y8g0LjQt9GC0YDQuNC50YLQtSwg0LfQsCDQtNCwINC40LfQutC70Y7Rh9C40YLQtSDQutC10YjQsCDQt9CwINC90LXRgdC70LXQtNC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE3NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTk4CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIgogbXNnc3RyICLQmtC10YjRitGCINC30LAg0L3QtdGB0LvQtdC00LXQvdC40YLQtSDRhNCw0LnQu9C+0LLQtSDQtSDQuNC30LrQu9GO0YfQtdC9IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIwNgogbXNnaWQgIiIKICJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKICJ0byBlbmFibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKQEAgLTE4NDg3LDI5ICsyMTc4OCwyOSBAQAogItCd0LDRgdGC0YDQvtC50LrQsNGC0LAg4oCeY29yZS51bnRyYWNrZWRDYWNoZeKAnCDQtSDQt9Cw0LTQsNC00LXQvdCwINC90LAg4oCeZmFsc2XigJwgKNC70YrQttCwKS4gINCh0LzQtdC90LXRgtC1INGPICIKICLQuNC70Lgg0Y8g0LjQt9GC0YDQuNC50YLQtSwg0LfQsCDQtNCwINCy0LrQu9GO0YfQuNGC0LUg0LrQtdGI0LAg0LfQsCDQvdC10YHQu9C10LTQtdC90LjRgtC1INGE0LDQudC70L7QstC1IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExODkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZW5hYmxlZCBmb3IgJyVzJyIKIG1zZ3N0ciAi0JrQtdGI0YrRgiDQt9CwINC90LXRgdC70LXQtNC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUg0LUg0LLQutC70Y7Rh9C10L0g0LfQsCDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTk3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMTgKIG1zZ2lkICJjb3JlLmZzbW9uaXRvciBpcyB1bnNldDsgc2V0IGl0IGlmIHlvdSByZWFsbHkgd2FudCB0byBlbmFibGUgZnNtb25pdG9yIgogbXNnc3RyICIiCiAi0J3QsNGB0YLRgNC+0LnQutCw0YLQsCDigJ5jb3JlLmZzbW9uaXRvcuKAnCDQvdC1INC1INC30LDQtNCw0LTQtdC90LAuICDQl9Cw0LTQsNC50YLQtSDRjywg0LfQsCDQtNCwINCy0LrQu9GO0YfQuNGC0LUgIgogItGB0LvQtdC00LXQvdC10YLQviDRh9GA0LXQtyDRhNCw0LnQu9C+0LLQsNGC0LAg0YHQuNGB0YLQtdC80LAuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIyMgogbXNnaWQgImZzbW9uaXRvciBlbmFibGVkIgogbXNnc3RyICLRgdC70LXQtNC10L3QtdGC0L4g0YfRgNC10Lcg0YTQsNC50LvQvtCy0LDRgtCwINGB0LjRgdGC0LXQvNCwINC1INCy0LrQu9GO0YfQtdC90L4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIwNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjI1CiBtc2dpZCAiIgogImNvcmUuZnNtb25pdG9yIGlzIHNldDsgcmVtb3ZlIGl0IGlmIHlvdSByZWFsbHkgd2FudCB0byBkaXNhYmxlIGZzbW9uaXRvciIKIG1zZ3N0ciAiIgogItCd0LDRgdGC0YDQvtC50LrQsNGC0LAg4oCeY29yZS5mc21vbml0b3LigJwg0LUg0LfQsNC00LDQtNC10L3QsC4gINCY0LfRgtGA0LjQudGC0LUg0Y8sINC30LAg0LTQsCDQuNC30LrQu9GO0YfQuNGC0LUgIgogItGB0LvQtdC00LXQvdC10YLQviDRh9GA0LXQtyDRhNCw0LnQu9C+0LLQsNGC0LAg0YHQuNGB0YLQtdC80LAuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMDgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIyOQogbXNnaWQgImZzbW9uaXRvciBkaXNhYmxlZCIKIG1zZ3N0ciAi0YHQu9C10LTQtdC90LXRgtC+INGH0YDQtdC3INGE0LDQudC70L7QstCw0YLQsCDRgdC40YHRgtC10LzQsCDQtSDQuNC30LrQu9GO0YfQtdC90L4iCiAKQEAgLTE4NTU1LDYgKzIxODU2LDEwIEBACiBtc2dpZCAiZ2l0IHVwbG9hZC1wYWNrIFs8b3B0aW9ucz5dIDxkaXI+IgogbXNnc3RyICJnaXQgdXBsb2FkLXJlcGFjayBb0J7Qn9Cm0JjQr+KApl0g0JTQmNCg0JXQmtCi0J7QoNCY0K8iCiAKKyM6IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyMyB0L2hlbHBlci90ZXN0LXNlcnZlLXYyLmM6MTcKK21zZ2lkICJxdWl0IGFmdGVyIGEgc2luZ2xlIHJlcXVlc3QvcmVzcG9uc2UgZXhjaGFuZ2UiCittc2dzdHIgItC40LfRhdC+0LQg0YHQu9C10LQg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdCw0YLQsCDRgNCw0LfQvNGP0L3QsCDQvdCwINC30LDRj9Cy0LrQsCDQuCDQvtGC0LPQvtCy0L7RgCIKKwogIzogYnVpbHRpbi91cGxvYWQtcGFjay5jOjI1CiBtc2dpZCAiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBpbml0aWFsIHJlZiBhZHZlcnRpc2VtZW50IgogbXNnc3RyICLQuNC30YXQvtC0INGB0LvQtdC0INC/0YrRgNCy0L7QvdCw0YfQsNC70L3QsNGC0LAg0L7QsdGP0LLQsCDQvdCwINGD0LrQsNC30LDRgtC10LvQuCIKQEAgLTE4NTY4LDE1ICsyMTg3MywxNSBAQAogbXNnaWQgImludGVycnVwdCB0cmFuc2ZlciBhZnRlciA8bj4gc2Vjb25kcyBvZiBpbmFjdGl2aXR5IgogbXNnc3RyICLRgtGA0LDQvdGB0YTQtdGA0YrRgiDQtNCwINGB0LUg0L/RgNC10YPRgdGC0LDQvdC+0LLQuCDRgdC70LXQtCDRgtC+0LfQuCDQkdCg0J7QmSDRgdC10LrRg9C90LTQuCIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6MjAKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjE5CiBtc2dpZCAiZ2l0IHZlcmlmeS1jb21taXQgWy12IHwgLS12ZXJib3NlXSA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHZlcmlmeS10YWcgWy12IHwgLS12ZXJib3NlXSDQn9Ce0JTQkNCS0JDQndCV4oCmIgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3NgorIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NjgKIG1zZ2lkICJwcmludCBjb21taXQgY29udGVudHMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0YrQtNGK0YDQttCw0L3QuNC10YLQviDQvdCwINC/0L7QtNCw0LLQsNC90LXRgtC+IgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3NyBidWlsdGluL3ZlcmlmeS10YWcuYzozOAorIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NjkgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzcKIG1zZ2lkICJwcmludCByYXcgZ3BnIHN0YXR1cyBvdXRwdXQiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINC90LXQvtCx0YDQsNCx0L7RgtC10L3QuNGPINC40LfRhdC+0LQg0L7RgiDRgdGK0YHRgtC+0Y/QvdC40LXRgtC+INC90LAg4oCeZ3Bn4oCcIgogCkBAIC0xODU5MiwxMSArMjE4OTcsMTEgQEAKIG1zZ2lkICJzaG93IHN0YXRpc3RpY3Mgb25seSIKIG1zZ3N0ciAi0LjQt9Cy0LXQttC00LDQvdC1INGB0LDQvNC+INC90LAg0YHRgtCw0YLQuNGB0YLQuNC60LDRgtCwIgogCi0jOiBidWlsdGluL3ZlcmlmeS10YWcuYzoxOQorIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MTgKIG1zZ2lkICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIFstLWZvcm1hdD08Zm9ybWF0Pl0gPHRhZz4uLi4iCiBtc2dzdHIgImdpdCB2ZXJpZnktdGFnIFstdiB8IC0tdmVyYm9zZV0gWy0tZm9ybWF0PdCk0J7QoNCc0JDQol0g0JXQotCY0JrQldCi4oCmIgogCi0jOiBidWlsdGluL3ZlcmlmeS10YWcuYzozNworIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzYKIG1zZ2lkICJwcmludCB0YWcgY29udGVudHMiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0YrQtNGK0YDQttCw0L3QuNC10YLQviDQvdCwINCV0KLQmNCa0JXQotC4IgogCkBAIC0xODYyOCw3ICsyMTkzMyw3IEBACiBtc2dpZCAiZ2l0IHdvcmt0cmVlIHVubG9jayA8cGF0aD4iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSB1bmxvY2sgW9Cf0KrQol0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2MCBidWlsdGluL3dvcmt0cmVlLmM6ODcxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NjAgYnVpbHRpbi93b3JrdHJlZS5jOjg5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlICclcyciCiBtc2dzdHIgItC90LXRg9GB0L/QtdGI0L3QviDQuNC30YLRgNC40LLQsNC90LUg0L3QsCDigJ4lc+KAnCIKQEAgLTE4NzA4LDEyNSArMjIwMTMsMTI1IEBACiAi0JfQsCDQuNC30YDQuNGH0L3QviDQt9Cw0LTQsNCy0LDQvdC1INC/0L7Qu9C30LLQsNC50YLQtSDigJ5hZGQgLWbigJwsINCwINC30LAg0LjQt9GH0LjRgdGC0LLQsNC90LUg4oCUIOKAnnBydW5l4oCcINC40LvQuCAiCiAi4oCecmVtb3Zl4oCcIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzA5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IG9mICclcyciCiBtc2dzdHIgItC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRitC30LTQsNC00LXQvdCwIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDI4IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzkgYnVpbHRpbi93b3JrdHJlZS5jOjQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKG5ldyBicmFuY2ggJyVzJykiCiBtc2dzdHIgItCf0YDQuNCz0L7RgtCy0Y/QvdC1INC90LAg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4gKNC90L7QsiDQutC70L7QvSDigJ4lc+KAnCkiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChyZXNldHRpbmcgYnJhbmNoICclcyc7IHdhcyBhdCAlcykiCiBtc2dzdHIgIiIKICLQn9GA0LjQs9C+0YLQstGP0L3QtSDQvdCwINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+ICjQt9Cw0L3Rg9C70Y/QstCw0L3QtSDQvdCwINC60LvQvtC90LAg4oCeJXPigJwsINC60L7QudGC0L4g0YHQvtGH0LXRiNC1INC60YrQvCAiCiAi4oCeJXPigJwpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDM5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlByZXBhcmluZyB3b3JrdHJlZSAoY2hlY2tpbmcgb3V0ICclcycpIgogbXNnc3RyICLQn9GA0LjQs9C+0YLQstGP0L3QtSDQvdCwINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+ICjQuNC30YLQtdCz0LvRj9C90LUg0L3QsCDigJ4lc+KAnCkiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChkZXRhY2hlZCBIRUFEICVzKSIKIG1zZ3N0ciAi0J/QvtC00LPQvtGC0LLRj9C90LUg0L3QsCDRgNCw0LHQvtGC0L3QviDQtNGK0YDQstC+ICjRg9C60LDQt9Cw0YLQtdC70Y/RgiDigJ5IRUFE4oCcINC90LUg0YHQstGK0YDQt9Cw0L06ICVzKSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4NgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5NwogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGV2ZW4gaWYgYWxyZWFkeSBjaGVja2VkIG91dCBpbiBvdGhlciB3b3JrdHJlZSIKIG1zZ3N0ciAi0JjQt9GC0LXQs9C70Y/QvdC1INCa0JvQntCd0LAsINC00L7RgNC4INC4INC00LAg0LUg0LjQt9GC0LXQs9C70LXQvSDQsiDQtNGA0YPQs9C+INGA0LDQsdC+0YLQvdC+INC00YrRgNCy0L4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDAKIG1zZ2lkICJjcmVhdGUgYSBuZXcgYnJhbmNoIgogbXNnc3RyICLRgdGK0LfQtNCw0LLQsNC90LUg0L3QsCDQvdC+0LIg0LrQu9C+0L0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDIKIG1zZ2lkICJjcmVhdGUgb3IgcmVzZXQgYSBicmFuY2giCiBtc2dzdHIgItGB0YrQt9C00LDQstCw0L3QtSDQuNC70Lgg0LfQsNC90YPQu9GP0LLQsNC90LUg0L3QsCDQutC70L7QvdC4IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA0CiBtc2dpZCAicG9wdWxhdGUgdGhlIG5ldyB3b3JraW5nIHRyZWUiCiBtc2dzdHIgItC/0L7QtNCz0L7RgtCy0Y/QvdC1INC90LAg0L3QvtCy0L7RgtC+INGA0LDQsdC+0YLQvdC+INC00YrRgNCy0L4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDUKIG1zZ2lkICJrZWVwIHRoZSBuZXcgd29ya2luZyB0cmVlIGxvY2tlZCIKIG1zZ3N0ciAi0L3QvtCy0L7RgtC+INGA0LDQsdC+0YLQvdC+INC00YrRgNCy0L4g0LTQsCDQvtGB0YLQsNC90LUg0LfQsNC60LvRjtGH0LXQvdC+IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDk3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA4CiBtc2dpZCAic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtYnJhbmNoKDEpKSIKIG1zZ3N0ciAi0LfQsNC00LDQstCw0L3QtSDQvdCwINGA0LXQttC40LzQsCDQvdCwINGB0LvQtdC00LXQvdC1ICjQstC40LYgZ2l0LWJyYW5jaCgxKSkiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTEKIG1zZ2lkICJ0cnkgdG8gbWF0Y2ggdGhlIG5ldyBicmFuY2ggbmFtZSB3aXRoIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAi0L7Qv9C40YIg0LfQsCDQvdCw0L/QsNGB0LLQsNC90LUg0L3QsCDQuNC80LXRgtC+INC90LAg0L3QvtCy0LjRjyDQutC70L7QvSDRgSDRgtC+0LLQsCDQvdCwINGB0LvQtdC00Y/RiSDQutC70L7QvSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUxOQogbXNnaWQgIi1iLCAtQiwgYW5kIC0tZGV0YWNoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgItCe0L/RhtC40LjRgtC1IOKAni1i4oCcLCDigJ4tQuKAnCDQuCDigJ4tLWRldGFjaOKAnCDRgdCwINC90LXRgdGK0LLQvNC10YHRgtC40LzQuCDQtdC00L3QsCDRgSDQtNGA0YPQs9CwIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTY5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTgwCiBtc2dpZCAiLS1bbm8tXXRyYWNrIGNhbiBvbmx5IGJlIHVzZWQgaWYgYSBuZXcgYnJhbmNoIGlzIGNyZWF0ZWQiCiBtc2dzdHIgIuKAni0tW25vLV10cmFja+KAnCDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9C/0L7Qu9C30LLQsCDRgdCw0LzQviDQv9GA0Lgg0YHRitC30LTQsNCy0LDQvdC10YLQviDQvdCwINC90L7QsiDQutC70L7QvSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY2OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY4MAogbXNnaWQgInJlYXNvbiBmb3IgbG9ja2luZyIKIG1zZ3N0ciAi0L/RgNC40YfQuNC90LAg0LfQsCDQt9Cw0LrQu9GO0YfQstCw0L3QtSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY4MSBidWlsdGluL3dvcmt0cmVlLmM6NzE0IGJ1aWx0aW4vd29ya3RyZWUuYzo3NzIKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4OTkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2OTIgYnVpbHRpbi93b3JrdHJlZS5jOjcyNSBidWlsdGluL3dvcmt0cmVlLmM6Nzk5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgd29ya2luZyB0cmVlIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC1INGA0LDQsdC+0YLQvdC+INC00YrRgNCy0L4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODMgYnVpbHRpbi93b3JrdHJlZS5jOjcxNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5NCBidWlsdGluL3dvcmt0cmVlLmM6NzI3CiBtc2dpZCAiVGhlIG1haW4gd29ya2luZyB0cmVlIGNhbm5vdCBiZSBsb2NrZWQgb3IgdW5sb2NrZWQiCiBtc2dzdHIgItCe0YHQvdC+0LLQvdC+0YLQviDQtNGK0YDQstC+INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQutC70Y7Rh9C4INC40LvQuCDQt9Cw0LrQu9GO0YfQuCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY4OAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkLCByZWFzb246ICVzIgogbXNnc3RyICLigJ4lc+KAnCDQstC10YfQtSDQtSDQt9Cw0LrQu9GO0YfQtdC90L4sINC30LDRidC+0YLQviDigJ4lc+KAnCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkIgogbXNnc3RyICLigJ4lc+KAnCDQstC10YfQtSDQtSDQt9Cw0LrQu9GO0YfQtdC90L4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3MTgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgbG9ja2VkIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC1INC30LDQutC70Y7Rh9C10L3QviIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc0MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3MAogbXNnaWQgIndvcmtpbmcgdHJlZXMgY29udGFpbmluZyBzdWJtb2R1bGVzIGNhbm5vdCBiZSBtb3ZlZCBvciByZW1vdmVkIgogbXNnc3RyICIiCiAi0L3QtSDQvNC+0LbQtSDQtNCwINC80LXRgdGC0LjRgtC1INC40LvQuCDQuNC30YLRgNC40LLQsNGC0LUg0YDQsNCx0L7RgtC90Lgg0LTRitGA0LLQtdGC0LAsINCyINC60L7QuNGC0L4g0LjQvNCwINC/0L7QtNC80L7QtNGD0LvQuCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc1MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3OAogbXNnaWQgImZvcmNlIG1vdmUgZXZlbiBpZiB3b3JrdHJlZSBpcyBkaXJ0eSBvciBsb2NrZWQiCiBtc2dzdHIgIiIKICLQv9GA0LjQvdGD0LTQuNGC0LXQu9C90L4g0L/RgNC10LzQtdGB0YLQstCw0L3QtSwg0LTQvtGA0Lgg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0LTQsCDQvdC1INC1INGH0LjRgdGC0L4g0LjQu9C4INC00LAg0LUgIgogItC30LDQutC70Y7Rh9C10L3QviIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3NCBidWlsdGluL3dvcmt0cmVlLmM6OTAxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODAxIGJ1aWx0aW4vd29ya3RyZWUuYzo5MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhIG1haW4gd29ya2luZyB0cmVlIgogbXNnc3RyICLigJ4lc+KAnCDQtSDQvtGB0L3QvtCy0L3QviDRgNCw0LHQvtGC0L3QviDQtNGK0YDQstC+IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Nzc5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBmaWd1cmUgb3V0IGRlc3RpbmF0aW9uIG5hbWUgZnJvbSAnJXMnIgogbXNnc3RyICLQuNC80LXRgtC+INC90LAg0YbQtdC70YLQsCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtC/0YDQtdC00LXQu9C4INC+0YIg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3ODUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFyZ2V0ICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgItGG0LXQu9GC0LAg4oCeJXPigJwg0LLQtdGH0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3OTMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNhbm5vdCBtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZSwgbG9jayByZWFzb246ICVzXG4iCkBAIC0xODgzNSw3ICsyMjE0MCw3IEBACiAi0L3QtSDQvNC+0LbQtSDQtNCwINC/0YDQtdC80LXRgdGC0LjRgtC1INC30LDQutC70Y7Rh9C10L3QviDRgNCw0LHQvtGC0L3QviDQtNGK0YDQstC+LCDQv9GA0LjRh9C40L3QsCDQt9CwINC30LDQutC70Y7Rh9Cy0LDQvdC10YLQvjogJXNcbiIKICLQuNC70Lgg0LPQviDQvtGC0LrQu9GO0YfQtdGC0LUsINC40LvQuCDQs9C+INC/0YDQtdC80LXRgdGC0LXRgtC1INC/0YDQuNC90YPQtNC40YLQtdC70L3QviDRgSDigJ5tb3ZlIC1mIC1m4oCcIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Nzk1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODIyCiBtc2dpZCAiIgogImNhbm5vdCBtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZTtcbiIKICJ1c2UgJ21vdmUgLWYgLWYnIHRvIG92ZXJyaWRlIG9yIHVubG9jayBmaXJzdCIKQEAgLTE4ODQzLDQxICsyMjE0OCw0MSBAQAogItC90LUg0LzQvtC20LUg0LTQsCDQv9GA0LXQvNC10YHRgtC40YLQtSDQt9Cw0LrQu9GO0YfQtdC90L4g0YDQsNCx0L7RgtC90L4g0LTRitGA0LLQvjpcbiIKICLQuNC70Lgg0LPQviDQvtGC0LrQu9GO0YfQtdGC0LUsINC40LvQuCDQs9C+INC/0YDQtdC80LXRgdGC0LXRgtC1INC/0YDQuNC90YPQtNC40YLQtdC70L3QviDRgSDigJ5tb3ZlIC1mIC1m4oCcIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Nzk4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInZhbGlkYXRpb24gZmFpbGVkLCBjYW5ub3QgbW92ZSB3b3JraW5nIHRyZWU6ICVzIgogbXNnc3RyICIiCiAi0L/RgNC+0LLQtdGA0LrQuNGC0LUg0YHQsCDQvdC10YPRgdC/0LXRiNC90LgsINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0LXQvNC10YHRgtC10L3QvjogJXMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MDMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG1vdmUgJyVzJyB0byAnJXMnIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0LXQvNC10YHRgtC4INCyIOKAniVz4oCcIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODUxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBydW4gJ2dpdCBzdGF0dXMnIG9uICclcyciCiBtc2dzdHIgItC90LUg0LzQvtC20LUg0LTQsCDQuNC30L/RitC70L3QuCDigJ5naXQgc3RhdHVz4oCcINCy0YrRgNGF0YMg4oCeJXPigJwiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NTUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4ODIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBkaXJ0eSwgdXNlIC0tZm9yY2UgdG8gZGVsZXRlIGl0IgorbXNnaWQgIiclcycgY29udGFpbnMgbW9kaWZpZWQgb3IgdW50cmFja2VkIGZpbGVzLCB1c2UgLS1mb3JjZSB0byBkZWxldGUgaXQiCiBtc2dzdHIgIiIKLSLRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDigJ4lc+KAnCDQvdC1INC1INGH0LjRgdGC0L4sINC30LAg0L/RgNC40L3Rg9C00LjRgtC10LvQvdC+INC40LfRgtGA0LjQstCw0L3QtSDQtSDQvdC10L7QsdGF0L7QtNC40LzQsCAiCi0i0L7Qv9GG0LjRj9GC0LAg4oCeLS1mb3JjZeKAnCAiCisi4oCeJXPigJwg0YHRitC00YrRgNC20LAg0L/RgNC+0LzQtdC90LXQvdC4INC40LvQuCDQvdC+0LLQuCDRhNCw0LnQu9C+0LLQtSwg0LfQsCDQv9GA0LjQvdGD0LTQuNGC0LXQu9C90L4g0LjQt9GC0YDQuNCy0LDQvdC1INC1ICIKKyLQvdC10L7QsdGF0L7QtNC40LzQsCDQvtC/0YbQuNGP0YLQsCDigJ4tLWZvcmNl4oCcIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODYwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBydW4gJ2dpdCBzdGF0dXMnIG9uICclcycsIGNvZGUgJWQiCiBtc2dzdHIgIiIKICLQutC+0LzQsNC90LTQsNGC0LAg4oCeZ2l0IHN0YXR1c+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/RitC70L3QuCDQt9CwIOKAniVz4oCcLCDQutC+0LQg0LfQsCDQs9GA0LXRiNC60LA6ICVkIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODgzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTEwCiBtc2dpZCAiZm9yY2UgcmVtb3ZhbCBldmVuIGlmIHdvcmt0cmVlIGlzIGRpcnR5IG9yIGxvY2tlZCIKIG1zZ3N0ciAiIgogItC/0YDQuNC90YPQtNC40YLQtdC70L3QviDQuNC30YLRgNC40LLQsNC90LUsINC00L7RgNC4INGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+INC00LAg0L3QtSDQtSDRh9C40YHRgtC+INC40LvQuCDQtNCwINC1INC30LDQutC70Y7Rh9C10L3QviIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjkwNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjkzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY2Fubm90IHJlbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWUsIGxvY2sgcmVhc29uOiAlc1xuIgpAQCAtMTg4ODYsNyArMjIxOTEsNyBAQAogItC90LUg0LzQvtC20LUg0LTQsCDQuNC30YLRgNC40LXRgtC1INC30LDQutC70Y7Rh9C10L3QviDRgNCw0LHQvtGC0L3QviDQtNGK0YDQstC+LCDQv9GA0LjRh9C40L3QsCDQt9CwINC30LDQutC70Y7Rh9Cy0LDQvdC10YLQvjogJXNcbiIKICLQuNC70Lgg0LPQviDQvtGC0LrQu9GO0YfQtdGC0LUsINC40LvQuCDQs9C+INC40LfRgtGA0LjQudGC0LUg0L/RgNC40L3Rg9C00LjRgtC10LvQvdC+INGBIOKAnnJlbW92ZSAtZiAtZuKAnCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjkwOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjkzNQogbXNnaWQgIiIKICJjYW5ub3QgcmVtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZTtcbiIKICJ1c2UgJ3JlbW92ZSAtZiAtZicgdG8gb3ZlcnJpZGUgb3IgdW5sb2NrIGZpcnN0IgpAQCAtMTg4OTQsMjggKzIyMTk5LDQzIEBACiAi0L3QtSDQvNC+0LbQtSDQtNCwINC40LfRgtGA0LjQtdGC0LUg0LfQsNC60LvRjtGH0LXQvdC+INGA0LDQsdC+0YLQvdC+INC00YrRgNCy0L46XG4iCiAi0LjQu9C4INCz0L4g0L7RgtC60LvRjtGH0LXRgtC1LCDQuNC70Lgg0LPQviDQuNC30YLRgNC40LnRgtC1INC/0YDQuNC90YPQtNC40YLQtdC70L3QviDRgSDigJ5yZW1vdmUgLWYgLWbigJwiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidmFsaWRhdGlvbiBmYWlsZWQsIGNhbm5vdCByZW1vdmUgd29ya2luZyB0cmVlOiAlcyIKIG1zZ3N0ciAi0L/RgNC+0LLQtdGA0LrQuNGC0LUg0YHQsCDQvdC10YPRgdC/0LXRiNC90LgsINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30YLRgNC40YLQvjogJXMiCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjE0CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoxNQogbXNnaWQgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08cHJlZml4Pi9dIgogbXNnc3RyICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg90J/QoNCV0KTQmNCa0KEvXSIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjcKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI4CiBtc2dpZCAiPHByZWZpeD4vIgogbXNnc3RyICLQn9Cg0JXQpNCY0JrQoS8iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI4CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOQogbXNnaWQgIndyaXRlIHRyZWUgb2JqZWN0IGZvciBhIHN1YmRpcmVjdG9yeSA8cHJlZml4PiIKIG1zZ3N0ciAi0LfQsNC/0LjRgSDQvdCwINC+0LHQtdC60YIt0LTRitGA0LLQviDQt9CwINC/0L7QtNC00LjRgNC10LrRgtC+0YDQuNGP0YLQsCDQt9Cw0L/QvtGH0LLQsNGJ0LAg0YEg0YLQsNC30Lgg0J/QoNCV0KTQmNCa0KEiCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjMwCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMQogbXNnaWQgIm9ubHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmciCiBtc2dzdHIgItGB0LDQvNC+INC30LAg0LjQt9GH0LjRgdGC0LLQsNC90LUg0L3QsCDQs9GA0LXRiNC60LgiCiAKLSM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyMgorIzogZmFzdC1pbXBvcnQuYzozMTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4cGVjdGVkICdtYXJrJyBjb21tYW5kLCBnb3QgJXMiCittc2dzdHIgItC+0YfQsNC60LLQsCDRgdC1INC60L7QvNCw0L3QtNCwIOKAnm1hcmvigJwsINCwINCx0LUg0L/QvtC70YPRh9C10L3QsDog4oCeJXPigJwiCisKKyM6IGZhc3QtaW1wb3J0LmM6MzEzMAorIywgYy1mb3JtYXQKK21zZ2lkICJFeHBlY3RlZCAndG8nIGNvbW1hbmQsIGdvdCAlcyIKK21zZ3N0ciAi0L7Rh9Cw0LrQstCwINGB0LUg0LrQvtC80LDQvdC00LAg4oCedG/igJwsINCwINCx0LUg0L/QvtC70YPRh9C10L3QsDog4oCeJXPigJwiCisKKyM6IGZhc3QtaW1wb3J0LmM6MzI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmZWF0dXJlICclcycgZm9yYmlkZGVuIGluIGlucHV0IHdpdGhvdXQgLS1hbGxvdy11bnNhZmUtZmVhdHVyZXMiCittc2dzdHIgIuKAniVz4oCcINC40LfQuNGB0LrQstCwINC40LfRgNC40YfQvdC+0YLQviDQt9Cw0LTQsNCy0LDQvdC1INC90LAg0L7Qv9GG0LjRj9GC0LAg4oCeLS1hbGxvdy11bnNhZmUtZmVhdHVyZXPigJwiCisKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHBlcm1pc3Npb25zIG9uIHlvdXIgc29ja2V0IGRpcmVjdG9yeSBhcmUgdG9vIGxvb3NlOyBvdGhlclxuIgpAQCAtMTg5MzAsNyArMjIyNTAsNyBAQAogIlxuIgogIiAgICBjaG1vZCAwNzAwICVzIgogCi0jOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyNzEKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjI3MgogbXNnaWQgInByaW50IGRlYnVnZ2luZyBtZXNzYWdlcyB0byBzdGRlcnIiCiBtc2dzdHIgItC40LfQstC10LbQtNCw0L3QtSDQvdCwINGB0YrQvtCx0YnQtdC90LjRj9GC0LAg0LfQsCDRgtGA0LDRgdC40YDQsNC90LUg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3QsNGC0LAg0LPRgNC10YjQutCwIgogCkBAIC0xODk0Myw2ICsyMjI2MywxNCBAQAogbXNnaWQgInRvbyBtYW55IGNvbW1pdHMgbWFya2VkIHJlYWNoYWJsZSIKIG1zZ3N0ciAi0L/RgNC10LrQsNC70LXQvdC+INC80L3QvtCz0L4g0L/QvtC00LDQstCw0L3QuNGPINGB0LAg0L7RgtCx0LXQu9GP0LfQsNC90Lgg0LrQsNGC0L4g0LTQvtGB0YLQuNC20LjQvNC4IgogCisjOiB0L2hlbHBlci90ZXN0LXNlcnZlLXYyLmM6NworbXNnaWQgInRlc3QtdG9vbCBzZXJ2ZS12MiBbPG9wdGlvbnM+XSIKK21zZ3N0ciAidGVzdC10b29sIHNlcnZlLXYyIFvQntCf0KbQmNCv4oCmXSIKKworIzogdC9oZWxwZXIvdGVzdC1zZXJ2ZS12Mi5jOjE5Cittc2dpZCAiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBhZHZlcnRpc2luZyBjYXBhYmlsaXRpZXMiCittc2dzdHIgItC40LfRhdC+0LQg0YHQu9C10LQg0L/RitGA0LLQvtC90LDRh9Cw0LvQvdCw0YLQsCDQvtCx0Y/QstCwINC90LAg0LLRitC30LzQvtC20L3QvtGB0YLQuNGC0LUiCisKICM6IGdpdC5jOjI3CiBtc2dpZCAiIgogImdpdCBbLS12ZXJzaW9uXSBbLS1oZWxwXSBbLUMgPHBhdGg+XSBbLWMgPG5hbWU+PTx2YWx1ZT5dXG4iCkBAIC0xODk2MiwxMTEgKzIyMjkwLDE2MCBAQAogbXNnaWQgIiIKICInZ2l0IGhlbHAgLWEnIGFuZCAnZ2l0IGhlbHAgLWcnIGxpc3QgYXZhaWxhYmxlIHN1YmNvbW1hbmRzIGFuZCBzb21lXG4iCiAiY29uY2VwdCBndWlkZXMuIFNlZSAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyBvciAnZ2l0IGhlbHAgPGNvbmNlcHQ+J1xuIgotInRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIG9yIGNvbmNlcHQuIgorInRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIG9yIGNvbmNlcHQuXG4iCisiU2VlICdnaXQgaGVscCBnaXQnIGZvciBhbiBvdmVydmlldyBvZiB0aGUgc3lzdGVtLiIKIG1zZ3N0ciAiIgogIuKAnmdpdCBoZWxwIC1h4oCcINC40LfQstC10LbQtNCwINC90LDQu9C40YfQvdC40YLQtSDQv9C+0LTQutC+0LzQsNC90LTQuCwg0LAg4oCeZ2l0IGhlbHAgLWfigJwg0LjQt9Cy0LXQttC00LAgIgogItC90LDQu9C40YfQvdC40YLQtVxuIgogItCy0YrQstC10LTQtdC90LjRjy4gINCX0LAg0L/QvtC80L7RiSDQt9CwINGB0L/QtdGG0LjRhNC40YfQvdCwINCa0J7QnNCQ0J3QlNCQINC/0L7Qu9C30LLQsNC50YLQtSDigJ5naXQgaGVscCDQmtCe0JzQkNCd0JTQkOKAnCwg0LAgIgogItC30LBcbiIKLSLQvdGP0LrQvtC1INC+0L/RgNC10LTQtdC70LXQvdC+INCf0J7QndCv0KLQmNCVINC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IGhlbHAg0J/QntCd0K/QotCY0JXigJwuXG4iCi0iXG4iCi0i0JHRitC70LPQsNGA0YHQutC4INC/0YDQtdCy0L7QtCDQvdCwINC60L3QuNCz0LDRgtCwIOKAnlBybyBHaXTigJwg0L7RgiDQp9Cw0LrRitC9INC4INCh0YLRgNCw0YPQsTpcbiIKLSJodHRwOi8vaS1jYW4uZXUvcHJvZ2l0Mi1iZy9wcm9naXQuaHRtbCIKKyLQvdGP0LrQvtC1INC+0L/RgNC10LTQtdC70LXQvdC+INCf0J7QndCv0KLQmNCVINC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IGhlbHAg0J/QntCd0K/QotCY0JXigJwuICDQl9CwINC/0YDQtdCz0LvQtdC0INC90LBcbiIKKyLRgdC40YHRgtC10LzQsNGC0LAg0LfQsCDQv9C+0LzQvtGJINC40LfQv9C+0LvQt9Cy0LDQudGC0LUg4oCeZ2l0IGhlbHAgZ2l04oCcLiIKIAotIzogZ2l0LmM6MTczCisjOiBnaXQuYzoxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gZGlyZWN0b3J5IGdpdmVuIGZvciAtLWdpdC1kaXJcbiIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1naXQtZGly4oCcINC40LfQuNGB0LrQstCwINC00LjRgNC10LrRgtC+0YDQuNGPXG4iCiAKLSM6IGdpdC5jOjE4NworIzogZ2l0LmM6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG5hbWVzcGFjZSBnaXZlbiBmb3IgLS1uYW1lc3BhY2VcbiIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS1uYW1lc3BhY2XigJwg0LjQt9C40YHQutCy0LAg0LjQvNC1XG4iCiAKLSM6IGdpdC5jOjIwMQorIzogZ2l0LmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLS13b3JrLXRyZWVcbiIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLS13b3JrLXRyZWXigJwg0LjQt9C40YHQutCy0LAg0LTQuNGA0LXQutGC0L7RgNC40Y9cbiIKIAotIzogZ2l0LmM6MjE1CisjOiBnaXQuYzoyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gcHJlZml4IGdpdmVuIGZvciAtLXN1cGVyLXByZWZpeFxuIgogbXNnc3RyICLQvtC/0YbQuNGP0YLQsCDigJ4tLXN1cGVyLXByZWZpeOKAnCDQuNC30LjRgdC60LLQsCDQv9GA0LXRhNC40LrRgVxuIgogCi0jOiBnaXQuYzoyMzcKKyM6IGdpdC5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICItYyBleHBlY3RzIGEgY29uZmlndXJhdGlvbiBzdHJpbmdcbiIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLWPigJwg0LjQt9C40YHQutCy0LAg0L3QuNC3INC30LAg0L3QsNGB0YLRgNC+0LnQutCwXG4iCiAKLSM6IGdpdC5jOjI3NQorIzogZ2l0LmM6Mjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLUNcbiIKIG1zZ3N0ciAi0L7Qv9GG0LjRj9GC0LAg4oCeLUPigJwg0LjQt9C40YHQutCy0LAg0LTQuNGA0LXQutGC0L7RgNC40Y9cbiIKIAotIzogZ2l0LmM6MzAwCisjOiBnaXQuYzozMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICVzXG4iCiBtc2dzdHIgItC90LXQv9C+0LfQvdCw0YLQsCDQvtC/0YbQuNGPOiDigJ4lc+KAnFxuIgogCi0jOiBnaXQuYzo3MTkKKyM6IGdpdC5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ3aGlsZSBleHBhbmRpbmcgYWxpYXMgJyVzJzogJyVzJyIKK21zZ3N0ciAi0L/RgNC4INC30LDQvNC10YHRgtCy0LDQvdC10YLQviDQvdCwINC/0YHQtdCy0LTQvtC90LjQvCDigJ4lc+KAnDog4oCeJXPigJwiCisKKyM6IGdpdC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYWxpYXMgJyVzJyBjaGFuZ2VzIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiIKKyJZb3UgY2FuIHVzZSAnIWdpdCcgaW4gdGhlIGFsaWFzIHRvIGRvIHRoaXMiCittc2dzdHIgIiIKKyLQv9GB0LXQstC00L7QvdC40LzRitGCIOKAniVz4oCcINC/0YDQvtC80LXQvdGPINC/0YDQvtC80LXQvdC70LjQstC4INC90LAg0YHRgNC10LTQsNGC0LAuXG4iCisi0JfQsCDRgtC+0LLQsCDQvNC+0LbQtSDQtNCwINC/0L7Qu9C30LLQsNGC0LUg4oCeIWdpdOKAnCDQsiDQv9GB0LXQstC00L7QvdC40LzQsCIKKworIzogZ2l0LmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgImVtcHR5IGFsaWFzIGZvciAlcyIKK21zZ3N0ciAi0L/RgNCw0LfQtdC9INC/0YHQtdCy0LTQvtC90LjQvCDQt9CwIOKAniVz4oCcIgorCisjOiBnaXQuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjdXJzaXZlIGFsaWFzOiAlcyIKK21zZ3N0ciAi0LfQsNGG0LjQutC70LXQvSDQv9GB0LXQstC00L7QvdC40Lw6IOKAniVz4oCcIgorCisjOiBnaXQuYzo0NTkKK21zZ2lkICJ3cml0ZSBmYWlsdXJlIG9uIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAi0LPRgNC10YjQutCwINC/0YDQuCDQt9Cw0L/QuNGBINC90LAg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQuNC30YXQvtC0IgorCisjOiBnaXQuYzo0NjEKK21zZ2lkICJ1bmtub3duIHdyaXRlIGZhaWx1cmUgb24gc3RhbmRhcmQgb3V0cHV0IgorbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3QsCDQs9GA0LXRiNC60LAg0L/RgNC4INC30LDQv9C40YEg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINC40LfRhdC+0LQiCisKKyM6IGdpdC5jOjQ2MworbXNnaWQgImNsb3NlIGZhaWxlZCBvbiBzdGFuZGFyZCBvdXRwdXQiCittc2dzdHIgItCz0YDQtdGI0LrQsCDQv9GA0Lgg0LfQsNGC0LLQsNGA0Y/QvdC1INC90LAg0YHRgtCw0L3QtNCw0YDRgtC90LjRjyDQuNC30YXQvtC0IgorCisjOiBnaXQuYzo3OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWxpYXMgbG9vcCBkZXRlY3RlZDogZXhwYW5zaW9uIG9mICclcycgZG9lcyBub3QgdGVybWluYXRlOiVzIgogbXNnc3RyICLQt9Cw0YbQuNC60LvRj9C90LUg0LIg0L/RgdC10LLQtNC+0L3QuNC80LjRgtC1OiDQt9Cw0LzQtdGB0YLQstCw0L3QuNGP0YLQsCDQvdCwIOKAniVz4oCcINC90LUg0L/RgNC40LrQu9GO0YfQstCw0YI6JXMiCiAKLSM6IGdpdC5jOjgwMgorIzogZ2l0LmM6ODQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBoYW5kbGUgJXMgYXMgYSBidWlsdGluIgorbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtCx0YDQsNCx0L7RgtC4INC60LDRgtC+INCy0LPRgNCw0LTQtdC90LAg0LrQvtC80LDQvdC00LAiCisKKyM6IGdpdC5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzXG4iCisiXG4iCittc2dzdHIgIiIKKyLRg9C/0L7RgtGA0LXQsdCwOiAlc1xuIgorIlxuIgorCisjOiBnaXQuYzo4NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwYW5zaW9uIG9mIGFsaWFzICclcycgZmFpbGVkOyAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kXG4iCiBtc2dzdHIgIiIKICLQvdC10YPRgdC/0LXRiNC90L4g0LfQsNC80LXRgdGC0LLQsNC90LUg0L3QsCDQv9GB0LXQstC00L7QvdC40LzQsCDigJ4lc+KAnCDigJQg0YDQtdC30YPQu9GC0LDRgtGK0YIg4oCeJXPigJwg0L3QtSDQtSDQutC+0LzQsNC90LTQsCDQvdCwICIKICJnaXRcbiIKIAotIzogZ2l0LmM6ODE0CisjOiBnaXQuYzo4ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJ1biBjb21tYW5kICclcyc6ICVzXG4iCiBtc2dzdHIgItC60L7QvNCw0L3QtNCw0YLQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/RitC70L3QuDogJXNcbiIKIAotIzogaHR0cC5jOjM3NAorIzogaHR0cC5jOjM3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJuZWdhdGl2ZSB2YWx1ZSBmb3IgaHR0cC5wb3N0YnVmZmVyOyBkZWZhdWx0aW5nIHRvICVkIgogbXNnc3RyICIiCiAi0L7RgtGA0LjRhtCw0YLQtdC70L3QsCDRgdGC0L7QudC90L7RgdGCINC30LAg4oCeaHR0cC5wb3N0YnVmZmVy4oCcLiAg0KnQtSDRgdC1INC/0L7Qu9C30LLQsCDRgdGC0LDQvdC00LDRgNGC0L3QsNGC0LA6ICVkIgogCi0jOiBodHRwLmM6Mzk1CisjOiBodHRwLmM6Mzk5CiBtc2dpZCAiRGVsZWdhdGlvbiBjb250cm9sIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy4yMi4wIgogbXNnc3RyICLQo9C/0YDQsNCy0LvQtdC90LjQtdGC0L4g0L3QsCDQtNC10LvQtdCz0LjRgNCw0L3QtdGC0L4g0L3QtSDRgdC1INC/0L7QtNC00YrRgNC20LAg0L7RgiBjVVJMIDwgNy4yMi4wIgogCi0jOiBodHRwLmM6NDA0CisjOiBodHRwLmM6NDA4CiBtc2dpZCAiUHVibGljIGtleSBwaW5uaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgogbXNnc3RyICLQl9Cw0LTQsNCy0LDQvdC10YLQviDQvdCwINC/0L7RgdGC0L7Rj9C90LXQvSDQv9GD0LHQu9C40YfQtdC9INC60LvRjtGHINC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCwINC+0YIgY1VSTCA8IDcuNDQuMCIKIAotIzogaHR0cC5jOjgzNworIzogaHR0cC5jOjg3NgogbXNnaWQgIkNVUkxTU0xPUFRfTk9fUkVWT0tFIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgogbXNnc3RyICLigJ5DVVJMU1NMT1BUX05PX1JFVk9LReKAnCDQvdC1INGB0LUg0L/QvtC00LTRitGA0LbQsCDQvtGCIGNVUkwgPCA3LjQ0LjAiCiAKLSM6IGh0dHAuYzo5MTAKKyM6IGh0dHAuYzo5NDkKIG1zZ2lkICJQcm90b2NvbCByZXN0cmljdGlvbnMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjE5LjQiCiBtc2dzdHIgItCe0LPRgNCw0L3QuNGH0LDQstCw0L3QtdGC0L4g0L3QsCDQv9GA0L7RgtC+0LrQvtC70LjRgtC1INC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCwINC+0YIgY1VSTCA8IDcuNDQuMCIKIAotIzogaHR0cC5jOjEwNDYKKyM6IGh0dHAuYzoxMDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuc3VwcG9ydGVkIFNTTCBiYWNrZW5kICclcycuIFN1cHBvcnRlZCBTU0wgYmFja2VuZHM6IgogbXNnc3RyICLQndC10L/QvtC00LTRitGA0LbQsNC90LAg0YDQtdCw0LvQuNC30LDRhtC40Y8g0L3QsCBTU0wg4oCeJXPigJwuINCf0L7QtNC00YrRgNC20LDRgiDRgdC1OiIKIAotIzogaHR0cC5jOjEwNTMKKyM6IGh0dHAuYzoxMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXQgU1NMIGJhY2tlbmQgdG8gJyVzJzogY1VSTCB3YXMgYnVpbHQgd2l0aG91dCBTU0wgYmFja2VuZHMiCiBtc2dzdHIgIiIKICLQoNC10LDQu9C40LfQsNGG0LjRj9GC0LAg0L3QsCBTU0wg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsNC00LDQtNC1INC00LAg0LUg4oCeJXPigJw6IGNVUkwg0LUg0LrQvtC80L/QuNC70LjRgNCw0L0g0LHQtdC3ICIKICLQv9C+0LTQtNGA0YrQttC60LAg0L3QsCBTU0wiCiAKLSM6IGh0dHAuYzoxMDU3CisjOiBodHRwLmM6MTA5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0IFNTTCBiYWNrZW5kIHRvICclcyc6IGFscmVhZHkgc2V0IgogbXNnc3RyICIiCiAi0KDQtdCw0LvQuNC30LDRhtC40Y/RgtCwINC90LAgU1NMINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC30LDQtNCw0LTQtSDQtNCwINC1IOKAniVz4oCcLCDQt9Cw0YnQvtGC0L4g0LLQtdGH0LUg0LUg0LfQsNC00LDQtNC10L3QsCAiCiAi0LTRgNGD0LPQsCIKIAotIzogaHR0cC5jOjE5MjEKKyM6IGh0dHAuYzoxOTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ1bmFibGUgdG8gdXBkYXRlIHVybCBiYXNlIGZyb20gcmVkaXJlY3Rpb246XG4iCkBAIC0xOTA3NywzOSArMjI0NTQsMTg5IEBACiAiICAgIOKXjyDQt9Cw0Y/QstC10L0g0LDQtNGA0LXRgTogJXNcbiIKICIgICAg4pePINC/0YDQtdC90LDRgdC+0YfQstCw0L3QtTogJXMiCiAKLSM6IHJlbW90ZS1jdXJsLmM6NDAxCisjOiByZW1vdGUtY3VybC5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHF1b3RpbmcgaW4gcHVzaC1vcHRpb24gdmFsdWU6ICclcyciCittc2dzdHIgIiIKKyLQvdC10L/RgNCw0LLQuNC70L3QviDQtdC60YDQsNC90LjRgNCw0L3QtSDQuNC70Lgg0YbQuNGC0LjRgNCw0L3QtSDQsiDRgdGC0L7QudC90L7RgdGC0YLQsCDQutGK0Lwg0L7Qv9GG0LjRjyDQt9CwINC40LfRgtC70LDRgdC60LLQsNC90LU6ICIKKyLigJ4lc+KAnCIKKworIzogcmVtb3RlLWN1cmwuYzoyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNpbmZvL3JlZnMgbm90IHZhbGlkOiBpcyB0aGlzIGEgZ2l0IHJlcG9zaXRvcnk/IgorbXNnc3RyICLigJ4lc2luZm8vcmVmc+KAnCDQtSDQvdC10LjQt9C/0L7Qu9C30LLQsNC10LzQviwg0L/RgNC+0LLQtdGA0LXRgtC1INC00LDQu9C4INC1INGF0YDQsNC90LjQu9C40YnQtSDQvdCwIGdpdCIKKworIzogcmVtb3RlLWN1cmwuYzozNjQKK21zZ2lkICJpbnZhbGlkIHNlcnZlciByZXNwb25zZTsgZXhwZWN0ZWQgc2VydmljZSwgZ290IGZsdXNoIHBhY2tldCIKK21zZ3N0ciAiIgorItC90LXQv9GA0LDQstC40LvQtdC9INC+0YLQs9C+0LLQvtGAINC+0YIg0YHRitGA0LLRitGA0LA6INC+0YfQsNC60LLQsNGI0LUg0YHQtSDRg9GB0LvRg9Cz0LAsINCwINCx0LUg0L/QvtC70YPRh9C10L0g0LjQt9GH0LjRgdGC0LLQsNGJICIKKyLQv9Cw0LrQtdGCIOKAnmZsdXNo4oCcIgorCisjOiByZW1vdGUtY3VybC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNlcnZlciByZXNwb25zZTsgZ290ICclcyciCittc2dzdHIgItC90LXQv9GA0LDQstC40LvQtdC9INC+0YLQs9C+0LLQvtGAINC+0YIg0YHRitGA0LLRitGA0LAsINCx0LUg0L/QvtC70YPRh9C10L3Qvjog4oCeJXPigJwiCisKKyM6IHJlbW90ZS1jdXJsLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBub3QgZm91bmQiCittc2dzdHIgItGF0YDQsNC90LjQu9C40YnQtdGC0L4g4oCeJXPigJwg0LvQuNC/0YHQstCwIgorCisjOiByZW1vdGUtY3VybC5jOjQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJBdXRoZW50aWNhdGlvbiBmYWlsZWQgZm9yICclcyciCittc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QsCDQuNC00LXQvdGC0LjRhNC40LrQsNGG0LjRjyDQutGK0Lwg4oCeJXPigJwiCisKKyM6IHJlbW90ZS1jdXJsLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJzogJXMiCittc2dzdHIgItC90Y/QvNCwINC00L7RgdGC0YrQvyDQtNC+IOKAniVz4oCcOiAlcyIKKworIzogcmVtb3RlLWN1cmwuYzo0NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVkaXJlY3RpbmcgdG8gJXMiCiBtc2dzdHIgItC/0YDQtdC90LDRgdC+0YfQstCw0L3QtSDQutGK0Lwg4oCeJXPigJwiCiAKLSM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oOjYwCisjOiByZW1vdGUtY3VybC5jOjU5MworbXNnaWQgInNob3VsZG4ndCBoYXZlIEVPRiB3aGVuIG5vdCBnZW50bGUgb24gRU9GIgorbXNnc3RyICLQv9C+0LvRg9GH0LXQvSDQtSBFT0YsINCyINGA0LXQttC40Lwg0LHQtdC3INC/0L7QtNC00YDRitC20LrQsCDQt9CwINGC0L7QstCwIgorCisjOiByZW1vdGUtY3VybC5jOjY3MworbXNnaWQgInVuYWJsZSB0byByZXdpbmQgcnBjIHBvc3QgZGF0YSAtIHRyeSBpbmNyZWFzaW5nIGh0dHAucG9zdEJ1ZmZlciIKK21zZ3N0ciAiIgorItC00LDQvdC90LjRgtC1INC30LAgUE9TVCDQvdC1INC80L7Qs9Cw0YIg0LTQsCDRgdC1INC/0YDQvtGH0LXRgtCw0YIg0L3QsNC90L7QstC+LCDQv9GA0L7QsdCy0LDQudGC0LUg0LTQsCDRg9Cy0LXQu9C40YfQuNGC0LUgIgorItC90LDRgdGC0YDQvtC50LrQsNGC0LAg4oCeaHR0cC5wb3N0QnVmZmVy4oCcIgorCisjOiByZW1vdGUtY3VybC5jOjczMworIywgYy1mb3JtYXQKK21zZ2lkICJSUEMgZmFpbGVkOyAlcyIKK21zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC+0YLQtNCw0LvQtdGH0LXQvdC+INC40LfQstC40LrQstCw0L3QtS4gICVzIgorCisjOiByZW1vdGUtY3VybC5jOjc3MworbXNnaWQgImNhbm5vdCBoYW5kbGUgcHVzaGVzIHRoaXMgYmlnIgorbXNnc3RyICLRgtC+0LvQutC+0LLQsCDQs9C+0LvQtdC80Lgg0LjQt9GC0LvQsNGB0LrQstCw0L3QuNGPINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQv9GK0LvQvdGP0YIiCisKKyM6IHJlbW90ZS1jdXJsLmM6ODg4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZWZsYXRlIHJlcXVlc3Q7IHpsaWIgZGVmbGF0ZSBlcnJvciAlZCIKK21zZ3N0ciAiIgorItC30LDRj9Cy0LrQsNGC0LAg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC00LXQutC+0LzQv9GA0LXRgdC40YDQsNC90LAsINCz0YDQtdGI0LrQsCDQvtGCIOKAnnpsaWLigJwg0L/RgNC4ICIKKyLQtNC10LrQvtC80L/RgNC10YHQuNGA0LDQvdC1OiAlZCIKKworIzogcmVtb3RlLWN1cmwuYzo4OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRlZmxhdGUgcmVxdWVzdDsgemxpYiBlbmQgZXJyb3IgJWQiCittc2dzdHIgIiIKKyLQt9Cw0Y/QstC60LDRgtCwINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQtNC10LrQvtC80L/RgNC10YHQuNGA0LDQvdCwOyDQs9GA0LXRiNC60LAg0L7RgiDigJ56bGli4oCcINC/0YDQuCDQt9Cw0LLRitGA0YjQstCw0L3QtTogJWQ8IgorCisjOiByZW1vdGUtY3VybC5jOjEwMjMKK21zZ2lkICJkdW1iIGh0dHAgdHJhbnNwb3J0IGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjYXBhYmlsaXRpZXMiCittc2dzdHIgItC+0L/RgNC+0YHRgtC10L3QuNGP0YIg0YLRgNCw0L3RgdC/0L7RgNGCINC/0L4gaHR0cCDQvdC1INC/0L7QtNC00YrRgNC20LAg0L/Qu9C40YLQutC4INC60LvQuNC10L3RgtC4IgorCisjOiByZW1vdGUtY3VybC5jOjEwMzcKK21zZ2lkICJmZXRjaCBmYWlsZWQuIgorbXNnc3RyICLQvdC10YPRgdC/0LXRiNC90L4g0LTQvtGB0YLQsNCy0Y/QvdC1LiIKKworIzogcmVtb3RlLWN1cmwuYzoxMDg1Cittc2dpZCAiY2Fubm90IGZldGNoIGJ5IHNoYTEgb3ZlciBzbWFydCBodHRwIgorbXNnc3RyICLRg9C80L3QuNGP0YIg0LLQsNGA0LjQsNC90YIg0L3QsCBodHRwINC90LUg0LzQvtC20LUg0LTQsCDQtNC+0YHRgtCw0LLRjyDQv9C+IFNIQTEiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTEyOSByZW1vdGUtY3VybC5jOjExMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJvdG9jb2wgZXJyb3I6IGV4cGVjdGVkIHNoYS9yZWYsIGdvdCAnJXMnIgorbXNnc3RyICLQv9GA0L7RgtC+0LrQvtC70L3QsCDQs9GA0LXRiNC60LA6INC+0YfQsNC60LLQsCDRgdC1IFNIQTEg0LjQu9C4INGD0LrQsNC30LDRgtC10LssINCwINCx0LUg0L/QvtC70YPRh9C10L3Qvjog4oCeJXPigJwiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTE0NyByZW1vdGUtY3VybC5jOjEyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaHR0cCB0cmFuc3BvcnQgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAi0YLRgNCw0L3RgdC/0L7RgNGC0YrRgiDQv9C+IGh0dHAg0L3QtSDQv9C+0LTQtNGK0YDQttCwIOKAniVz4oCcIgorCisjOiByZW1vdGUtY3VybC5jOjExODMKK21zZ2lkICJnaXQtaHR0cC1wdXNoIGZhaWxlZCIKK21zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg4oCeZ2l0LWh0dHAtcHVzaOKAnCIKKworIzogcmVtb3RlLWN1cmwuYzoxMzY3Cittc2dpZCAicmVtb3RlLWN1cmw6IHVzYWdlOiBnaXQgcmVtb3RlLWN1cmwgPHJlbW90ZT4gWzx1cmw+XSIKK21zZ3N0ciAicmVtb3RlLWN1cmw6INGD0L/QvtGC0YDQtdCx0LA6IGdpdCByZW1vdGUtY3VybCDQpdCg0JDQndCY0JvQmNCp0JUgW9CQ0JTQoNCV0KFdIgorCisjOiByZW1vdGUtY3VybC5jOjEzOTkKK21zZ2lkICJyZW1vdGUtY3VybDogZXJyb3IgcmVhZGluZyBjb21tYW5kIHN0cmVhbSBmcm9tIGdpdCIKK21zZ3N0ciAicmVtb3RlLWN1cmw6INCz0YDQtdGI0LrQsCDQv9GA0Lgg0LjQt9GH0LjRgtCw0L3QtdGC0L4g0L3QsCDQv9C+0YLQvtC60LAg0LrQvtC80LDQvdC00Lgg0L7RgiBnaXQiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTQwNgorbXNnaWQgInJlbW90ZS1jdXJsOiBmZXRjaCBhdHRlbXB0ZWQgd2l0aG91dCBhIGxvY2FsIHJlcG8iCittc2dzdHIgInJlbW90ZS1jdXJsOiDQvtC/0LjRgiDQt9CwINC00L7RgdGC0LDQstGP0L3QtSDQsdC10Lcg0LvQvtC60LDQu9C90L4g0YXRgNCw0L3QuNC70LjRidC1IgorCisjOiByZW1vdGUtY3VybC5jOjE0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlLWN1cmw6IHVua25vd24gY29tbWFuZCAnJXMnIGZyb20gZ2l0IgorbXNnc3RyICJyZW1vdGUtY3VybDog0L3QtdC/0L7Qt9C90LDRgtCwINC60L7QvNCw0L3QtNCwIOKAniVz4oCcINC+0YIgZ2l0IgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaDo4NQogbXNnaWQgImFyZ3MiCiBtc2dzdHIgItCQ0KDQk9Cj0JzQldCd0KLQmCIKIAotIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmg6NjEKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oOjg2CiBtc2dpZCAib2JqZWN0IGZpbHRlcmluZyIKIG1zZ3N0ciAi0YTQuNC70YLRgNC40YDQsNC90LUg0L/QviDQstC40LQg0L3QsCDQvtCx0LXQutGC0LAiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNTQKKyM6IHBhcnNlLW9wdGlvbnMuaDoxODMKIG1zZ2lkICJleHBpcnktZGF0ZSIKIG1zZ3N0ciAi0L/QtdGA0LjQvtC0INC90LAg0LLQsNC70LjQtNC90L7RgdGCL9C30LDQv9Cw0LfQstCw0L3QtSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjE2OQorIzogcGFyc2Utb3B0aW9ucy5oOjE5NwogbXNnaWQgIm5vLW9wIChiYWNrd2FyZCBjb21wYXRpYmlsaXR5KSIKIG1zZ3N0ciAi0L3Rg9C70LXQstCwINC+0L/QtdGA0LDRhtC40Y8gKNC30LAg0YHRitCy0LzQtdGB0YLQuNC80L7RgdGCINGBINC/0YDQtdC00LjRiNC90Lgg0LLQtdGA0YHQuNC4KSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjI2MQorIzogcGFyc2Utb3B0aW9ucy5oOjMwOQogbXNnaWQgImJlIG1vcmUgdmVyYm9zZSIKIG1zZ3N0ciAi0L/QvtCy0LXRh9C1INC/0L7QtNGA0L7QsdC90L7RgdGC0LgiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNjMKKyM6IHBhcnNlLW9wdGlvbnMuaDozMTEKIG1zZ2lkICJiZSBtb3JlIHF1aWV0IgogbXNnc3RyICLQv9C+LdC80LDQu9C60L4g0L/QvtC00YDQvtCx0L3QvtGB0YLQuCIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjI2OQorIzogcGFyc2Utb3B0aW9ucy5oOjMxNwogbXNnaWQgInVzZSA8bj4gZGlnaXRzIHRvIGRpc3BsYXkgU0hBLTFzIgogbXNnc3RyICLQtNCwINGB0LUg0L/QvtC60LDQt9Cy0LDRgiDRgtCw0LrRitCyINCR0KDQntCZINGG0LjRhNGA0Lgg0L7RgiDRgdGD0LzQuNGC0LUg0L/QviBTSEExIgogCisjOiBwYXJzZS1vcHRpb25zLmg6MzM2Cittc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKK21zZ3N0ciAi0LrQvtC4INC/0YDQsNC30L3QuCDQt9C90LDRhtC4INC4ICPQutC+0LzQtdC90YLQsNGA0Lgg0LTQsCDRgdC1INC80LDRhdCw0YIg0L7RgiDRgdGK0L7QsdGJ0LXQvdC40Y/RgtCwIgorCisjOiBwYXJzZS1vcHRpb25zLmg6MzM3Cittc2dpZCAicmVhZCBwYXRoc3BlYyBmcm9tIGZpbGUiCittc2dzdHIgItC40LfRh9C40YLQsNC90LUg0L3QsCDQv9GK0YLQuNGJ0LDRgtCwINC+0YIg0KTQkNCZ0JsiCisKKyM6IHBhcnNlLW9wdGlvbnMuaDozMzgKK21zZ2lkICIiCisid2l0aCAtLXBhdGhzcGVjLWZyb20tZmlsZSwgcGF0aHNwZWMgZWxlbWVudHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgIiIKKyLQv9GA0Lgg0L/QvtC70LfQstCw0L3QtdGC0L4g0L3QsCDigJ4tLXBhdGhzcGVjLWZyb20tZmlsZeKAnCwg0L/RitGC0LjRidCw0YLQsCDRgdCwINGA0LDQt9C00LXQu9C10L3QuCDRgSDQvdGD0LvQtdCy0LjRjyAiCisi0LfQvdCw0Log4oCeTlVM4oCcIgorCisjOiByZWYtZmlsdGVyLmg6MTAxCittc2dpZCAia2V5IgorbXNnc3RyICLQmtCb0K7QpyIKKworIzogcmVmLWZpbHRlci5oOjEwMQorbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKK21zZ3N0ciAi0LjQvNC1INC90LAg0L/QvtC70LXRgtC+LCDQv9C+INC60L7QtdGC0L4g0LTQsCDQtSDQv9C+0LTRgNC10LTQsdCw0YLQsCIKKworIzogcmVyZXJlLmg6NDQKK21zZ2lkICJ1cGRhdGUgdGhlIGluZGV4IHdpdGggcmV1c2VkIGNvbmZsaWN0IHJlc29sdXRpb24gaWYgcG9zc2libGUiCittc2dzdHIgIiIKKyLQv9GA0Lgg0LLRitC30LzQvtC20L3QvtGB0YIg0L/RgNC10LjQt9C/0L7Qu9C30LLQsNC90LUg0L3QsCDRgNC10YjQtdC90LjQtdGC0L4g0L3QsCDQutC+0L3RhNC70LjQutGC0LAg0LfQsCDQvtCx0L3QvtCy0Y/QstCw0L3QtSDQvdCwICIKKyLQuNC90LTQtdC60YHQsCIKKworIzogd3Qtc3RhdHVzLmg6NjcKK21zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKK21zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQvdC1INC1INGB0LLRitGA0LfQsNC9INC4INC1INC/0YDQuCAiCisKKyM6IHd0LXN0YXR1cy5oOjY4Cittc2dpZCAiSEVBRCBkZXRhY2hlZCBmcm9tICIKK21zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQvdC1INC1INGB0LLRitGA0LfQsNC9INC4INC1INC+0YLQtNC10LvQtcyA0L0g0L7RgiAiCisKICM6IGNvbW1hbmQtbGlzdC5oOjUwCiBtc2dpZCAiQWRkIGZpbGUgY29udGVudHMgdG8gdGhlIGluZGV4IgogbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0YHRitC00YrRgNC20LDQvdC40LXRgtC+INC90LAg0YTQsNC50LvQsCDQutGK0Lwg0LjQvdC00LXQutGB0LAiCkBAIC0xOTEyMCw3ICsyMjY0Nyw3IEBACiAKICM6IGNvbW1hbmQtbGlzdC5oOjUyCiBtc2dpZCAiQW5ub3RhdGUgZmlsZSBsaW5lcyB3aXRoIGNvbW1pdCBpbmZvcm1hdGlvbiIKLW1zZ3N0ciAi0JDQvdC+0YLQuNGA0LDQvdC1INC90LAg0YDQtdC00L7QstC10YLQtSDQvdCwINGE0LDQudC70L7QstC10YLQtSDRgSDQuNC90YTQvtGA0LzQsNGG0LjRjyDQt9CwINC/0L7QtNCw0LLQsNC90LjRj9GC0LAiCittc2dzdHIgItCU0L7QsdCw0LLRj9C90LUg0L3QsCDQuNC90YTQvtGA0LzQsNGG0LjRjyDQt9CwINC/0L7QtNCw0LLQsNC90LjRj9GC0LAg0LrRitC8INGA0LXQtNC+0LLQtdGC0LUg0L3QsCDRhNCw0LnQu9C+0LLQtdGC0LUiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjUzCiBtc2dpZCAiQXBwbHkgYSBwYXRjaCB0byBmaWxlcyBhbmQvb3IgdG8gdGhlIGluZGV4IgpAQCAtMTkzNzgsOSArMjI5MDUsOSBAQAogbXNnc3RyICLQndC10LfQsNCx0LDQstC90L4g0YDQsNC30LPQu9C10LbQtNCw0L3QtSDQvdCwINGA0LDQsdC+0YLQvdC+0YLQviDQstC4INGF0YDQsNC90LjQu9C40YnQtSDRh9GA0LXQtyDigJ5naXR3ZWLigJwiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjExMwotbXNnaWQgImFkZCBvciBwYXJzZSBzdHJ1Y3R1cmVkIGluZm9ybWF0aW9uIGluIGNvbW1pdCBtZXNzYWdlcyIKK21zZ2lkICJBZGQgb3IgcGFyc2Ugc3RydWN0dXJlZCBpbmZvcm1hdGlvbiBpbiBjb21taXQgbWVzc2FnZXMiCiBtc2dzdHIgIiIKLSLQtNC+0LHQsNCy0Y/QvdC1INC40LvQuCDQvtCx0YDQsNCx0L7RgtC60LAg0L3QsCDRgdGC0YDRg9C60YLRg9GA0LjRgNCw0L3QsCDQuNC90YTQvtGA0LzQsNGG0LjRjyDQsiDRgdGK0L7QsdGJ0LXQvdC40Y/RgtCwINC/0YDQuCDQv9C+0LTQsNCy0LDQvdC1IgorItCU0L7QsdCw0LLRj9C90LUg0LjQu9C4INC+0LHRgNCw0LHQvtGC0LrQsCDQvdCwINGB0YLRgNGD0LrRgtGD0YDQuNGA0LDQvdCwINC40L3RhNC+0YDQvNCw0YbQuNGPINCyINGB0YrQvtCx0YnQtdC90LjRj9GC0LAg0L/RgNC4INC/0L7QtNCw0LLQsNC90LUiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjExNAogbXNnaWQgIlRoZSBHaXQgcmVwb3NpdG9yeSBicm93c2VyIgpAQCAtMTk1NTIsMjI0ICsyMzA3OSwyMzQgQEAKIG1zZ3N0ciAi0J/RgNC40LLQtdC20LTQsNC90LUg0L3QsCDRg9C60LDQt9Cw0YLQtdC70Y8g4oCeSEVBROKAnCDQutGK0Lwg0LfQsNC00LDQtNC10L3QvtGC0L4g0YHRitGB0YLQvtGP0L3QuNC1IgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNTYKK21zZ2lkICJSZXN0b3JlIHdvcmtpbmcgdHJlZSBmaWxlcyIKK21zZ3N0ciAi0JLRitC30YHRgtCw0L3QvtCy0Y/QstCw0L3QtSDQvdCwINGE0LDQudC70L7QstC10YLQtSDQsiDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviIKKworIzogY29tbWFuZC1saXN0Lmg6MTU3CiBtc2dpZCAiUmV2ZXJ0IHNvbWUgZXhpc3RpbmcgY29tbWl0cyIKIG1zZ3N0ciAi0J7RgtC80LXQvdGP0L3QtSDQvdCwINGB0YrRidC10YHRgtCy0YPQstCw0YnQuCDQv9C+0LTQsNCy0LDQvdC40Y8iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE1NworIzogY29tbWFuZC1saXN0Lmg6MTU4CiBtc2dpZCAiTGlzdHMgY29tbWl0IG9iamVjdHMgaW4gcmV2ZXJzZSBjaHJvbm9sb2dpY2FsIG9yZGVyIgogbXNnc3RyICLQmNC30LLQtdC20LTQsNC90LUg0L3QsCDQv9C+0LTQsNCy0LDQvdC40Y/RgtCwINCyINC+0LHRgNCw0YLQvdCwINGF0YDQvtC90L7Qu9C+0LPQuNGH0LXRgdC60LAg0L/QvtC00YDQtdC00LHQsCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTU4CisjOiBjb21tYW5kLWxpc3QuaDoxNTkKIG1zZ2lkICJQaWNrIG91dCBhbmQgbWFzc2FnZSBwYXJhbWV0ZXJzIgogbXNnc3RyICLQmNC30LHQvtGAINC4INC/0YDQvtC80Y/QvdCwINC90LAg0L/QsNGA0LDQvNC10YLRgNC4IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNTkKKyM6IGNvbW1hbmQtbGlzdC5oOjE2MAogbXNnaWQgIlJlbW92ZSBmaWxlcyBmcm9tIHRoZSB3b3JraW5nIHRyZWUgYW5kIGZyb20gdGhlIGluZGV4IgogbXNnc3RyICLQmNC30YLRgNC40LLQsNC90LUg0L3QsCDRhNCw0LnQu9C+0LLQtSDQvtGCINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+INC4INC40L3QtNC10LrRgdCwIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjAKKyM6IGNvbW1hbmQtbGlzdC5oOjE2MQogbXNnaWQgIlNlbmQgYSBjb2xsZWN0aW9uIG9mIHBhdGNoZXMgYXMgZW1haWxzIgogbXNnc3RyICLQmNC30L/RgNCw0YnQsNC90LUg0L3QsCDQv9C+0YDQtdC00LjRhtCwINC+0YIg0LrRgNGK0L/QutC4INC/0L4g0LUt0L/QvtGJ0LAiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2MQorIzogY29tbWFuZC1saXN0Lmg6MTYyCiBtc2dpZCAiUHVzaCBvYmplY3RzIG92ZXIgR2l0IHByb3RvY29sIHRvIGFub3RoZXIgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0JjQt9GC0LvQsNGB0LrQstCw0L3QtSDQvdCwINC+0LHQtdC60YLQuCDQv9C+INC/0YDQvtGC0L7QutC+0LvQsCDQvdCwIEdpdCDQutGK0Lwg0LTRgNGD0LPQviDRhdGA0LDQvdC40LvQuNGJ0LUiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2MgorIzogY29tbWFuZC1saXN0Lmg6MTYzCiBtc2dpZCAiUmVzdHJpY3RlZCBsb2dpbiBzaGVsbCBmb3IgR2l0LW9ubHkgU1NIIGFjY2VzcyIKIG1zZ3N0ciAi0J7Qs9GA0LDQvdC40YfQtdC90LAg0LLRhdC+0LTQvdCwINC+0LHQstC40LLQutCwINC30LAg0LTQvtGB0YLRitC/INC/0YDQtdC3IFNTSCDRgdCw0LzQviDQtNC+IEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTYzCisjOiBjb21tYW5kLWxpc3QuaDoxNjQKIG1zZ2lkICJTdW1tYXJpemUgJ2dpdCBsb2cnIG91dHB1dCIKIG1zZ3N0ciAi0J7QsdC+0LHRidC10L0g0LjQt9GF0L7QtCDQvtGCIOKAnmdpdCBsb2figJwiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2NAorIzogY29tbWFuZC1saXN0Lmg6MTY1CiBtc2dpZCAiU2hvdyB2YXJpb3VzIHR5cGVzIG9mIG9iamVjdHMiCiBtc2dzdHIgItCY0LfQstC10LbQtNCw0L3QtSDQvdCwINGA0LDQt9C70LjRh9C90LjRgtC1INCy0LjQtNC+0LLQtSDQvtCx0LXQutGC0Lgg0LIgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjUKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NgogbXNnaWQgIlNob3cgYnJhbmNoZXMgYW5kIHRoZWlyIGNvbW1pdHMiCiBtc2dzdHIgItCY0LfQstC10LbQtNCw0L3QtSDQvdCwINC60LvQvtC90LjRgtC1INC4INC/0L7QtNCw0LLQsNC90LjRj9GC0LAg0LIg0YLRj9GFIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjYKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NwogbXNnaWQgIlNob3cgcGFja2VkIGFyY2hpdmUgaW5kZXgiCiBtc2dzdHIgItCY0LfQstC10LbQtNCw0L3QtSDQvdCwINC40L3QtNC10LrRgdCwINC90LAg0L/QsNC60LXRgtC40YDQsNC90LjRjyDQsNGA0YXQuNCyIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjcKKyM6IGNvbW1hbmQtbGlzdC5oOjE2OAogbXNnaWQgIkxpc3QgcmVmZXJlbmNlcyBpbiBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgItCY0LfQstC10LbQtNCw0L3QtSDQvdCwINGD0LrQsNC30LDRgtC10LvQuNGC0LUg0LIg0LvQvtC60LDQu9C90L4g0YXRgNCw0L3QuNC70LjRidC1IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjgKKyM6IGNvbW1hbmQtbGlzdC5oOjE2OQogbXNnaWQgIkdpdCdzIGkxOG4gc2V0dXAgY29kZSBmb3Igc2hlbGwgc2NyaXB0cyIKIG1zZ3N0ciAi0J3QsNGB0YLRgNC+0LnQutC4INC90LAgR2l0INC30LAg0LjQvdGC0LXRgNC90LDRhtC40L7QvdCw0LvQuNC30LDRhtC40Y8g0L3QsCDRgdC60YDQuNC/0YLQvtCy0LXRgtC1INC90LAg0L7QsdCy0LjQstC60LDRgtCwIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjkKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MAogbXNnaWQgIkNvbW1vbiBHaXQgc2hlbGwgc2NyaXB0IHNldHVwIGNvZGUiCiBtc2dzdHIgItCd0LDRgdGC0YDQvtC50LrQuCDQvdCwIEdpdCDQt9CwINGB0LrRgNC40L/RgtC+0LLQtdGC0LUg0L3QsCDQvtCx0LLQuNCy0LrQsNGC0LAiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3MAorIzogY29tbWFuZC1saXN0Lmg6MTcxCittc2dpZCAiSW5pdGlhbGl6ZSBhbmQgbW9kaWZ5IHRoZSBzcGFyc2UtY2hlY2tvdXQiCittc2dzdHIgItCY0L3QuNGG0LjQsNC70LjQt9C40YDQsNC90LUg0Lgg0L/RgNC+0LzRj9C90LAg0L3QsCDRh9Cw0YHRgtC40YfQvdC+0YLQviDQuNC30YLQtdCz0LvRj9C90LUiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MgogbXNnaWQgIlN0YXNoIHRoZSBjaGFuZ2VzIGluIGEgZGlydHkgd29ya2luZyBkaXJlY3RvcnkgYXdheSIKIG1zZ3N0ciAi0KHQutCw0YLQsNCy0LDQvdC1INC90LAg0L3QtdC/0L7QtNCw0LTQtdC90LjRgtC1INC/0YDQvtC80LXQvdC4INCyINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzEKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MwogbXNnaWQgIkFkZCBmaWxlIGNvbnRlbnRzIHRvIHRoZSBzdGFnaW5nIGFyZWEiCiBtc2dzdHIgItCU0L7QsdCw0LLRj9C90LUg0L3QsCDRgdGK0LTRitGA0LbQsNC90LjQtdGC0L4g0L3QsCDRhNCw0LnQu9CwINC60YrQvCDQuNC90LTQtdC60YHQsCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTcyCisjOiBjb21tYW5kLWxpc3QuaDoxNzQKIG1zZ2lkICJTaG93IHRoZSB3b3JraW5nIHRyZWUgc3RhdHVzIgogbXNnc3RyICLQmNC30LLQtdC20LTQsNC90LUg0L3QsCDRgdGK0YHRgtC+0Y/QvdC40LXRgtC+INC90LAg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3MworIzogY29tbWFuZC1saXN0Lmg6MTc1CiBtc2dpZCAiUmVtb3ZlIHVubmVjZXNzYXJ5IHdoaXRlc3BhY2UiCiBtc2dzdHIgItCf0YDQtdC80LDRhdCy0LDQvdC1INC90LAg0LjQt9C70LjRiNC90LjRgtC1INC30L3QsNGG0Lgg0LfQsCDQuNC90YLQtdGA0LLQsNC70LgiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3NAorIzogY29tbWFuZC1saXN0Lmg6MTc2CiBtc2dpZCAiSW5pdGlhbGl6ZSwgdXBkYXRlIG9yIGluc3BlY3Qgc3VibW9kdWxlcyIKIG1zZ3N0ciAi0JjQvdC40YbQuNCw0LvQuNC30LjRgNCw0L3QtSwg0L7QsdC90L7QstGP0LLQsNC90LUg0LjQu9C4INGA0LDQt9Cz0LvQtdC20LTQsNC90LUg0L3QsCDQv9C+0LTQvNC+0LTRg9C70LgiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3NQorIzogY29tbWFuZC1saXN0Lmg6MTc3CiBtc2dpZCAiQmlkaXJlY3Rpb25hbCBvcGVyYXRpb24gYmV0d2VlbiBhIFN1YnZlcnNpb24gcmVwb3NpdG9yeSBhbmQgR2l0IgogbXNnc3RyICLQlNCy0YPQv9C+0YHQvtGH0L3QsCDRgNCw0LHQvtGC0LAg0LzQtdC20LTRgyDRhdGA0LDQvdC40LvQuNGJ0LAg0L/QvtC0IFN1YnZlcnNpb24g0LggR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzYKKyM6IGNvbW1hbmQtbGlzdC5oOjE3OAorbXNnaWQgIlN3aXRjaCBicmFuY2hlcyIKK21zZ3N0ciAi0J/RgNC10LzQuNC90LDQstCw0L3QtSDQutGK0Lwg0LTRgNGD0LMg0LrQu9C+0L0iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3OQogbXNnaWQgIlJlYWQsIG1vZGlmeSBhbmQgZGVsZXRlIHN5bWJvbGljIHJlZnMiCiBtc2dzdHIgItCY0LfQstC10LbQtNCw0L3QtSwg0L/RgNC+0LzRj9C90LAg0Lgg0LjQt9GC0YDQuNCy0LDQvdC1INC90LAg0YHQuNC80LLQvtC70L3QuCDRg9C60LDQt9Cw0YLQtdC70LgiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3NworIzogY29tbWFuZC1saXN0Lmg6MTgwCiBtc2dpZCAiQ3JlYXRlLCBsaXN0LCBkZWxldGUgb3IgdmVyaWZ5IGEgdGFnIG9iamVjdCBzaWduZWQgd2l0aCBHUEciCiBtc2dzdHIgItCY0LfQstC10LbQtNCw0L3QtSwg0YHRitC30LTQsNCy0LDQvdC1LCDQuNC30YLRgNC40LLQsNC90LUsINC/0YDQvtCy0LXRgNC60LAg0L3QsCDQtdGC0LjQutC10YLQuCDQv9C+0LTQv9C40YHQsNC90Lgg0YEgR1BHIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzgKKyM6IGNvbW1hbmQtbGlzdC5oOjE4MQogbXNnaWQgIkNyZWF0ZXMgYSB0ZW1wb3JhcnkgZmlsZSB3aXRoIGEgYmxvYidzIGNvbnRlbnRzIgogbXNnc3RyICLQodGK0LfQtNCw0LLQsNC90LUg0L3QsCDQstGA0LXQvNC10L3QtdC9INGE0LDQudC7INGB0YrRgSDRgdGK0YnQvtGC0L4g0YHRitC00YrRgNC20LDQvdC40LUg0LrQsNGC0L4g0L7QsdC10LrRgtGK0YItQkxPQiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTc5CisjOiBjb21tYW5kLWxpc3QuaDoxODIKIG1zZ2lkICJVbnBhY2sgb2JqZWN0cyBmcm9tIGEgcGFja2VkIGFyY2hpdmUiCiBtc2dzdHIgItCg0LDQt9C/0LDQutC10YLQuNGA0LDQvdC1INC90LAg0L7QsdC10LrRgtC4INC+0YIg0L/QsNC60LXRgtC40YDQsNC9INCw0YDRhdC40LIiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4MAorIzogY29tbWFuZC1saXN0Lmg6MTgzCiBtc2dpZCAiUmVnaXN0ZXIgZmlsZSBjb250ZW50cyBpbiB0aGUgd29ya2luZyB0cmVlIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAi0KDQtdCz0LjRgdGC0YDQuNGA0LDQvdC1INC90LAg0YHRitC00YrRgNC20LDQvdC40LXRgtC+INC90LAg0YTQsNC50LvQvtCy0LXRgtC1INC+0YIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0LIg0LjQvdC00LXQutGB0LAiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4MQorIzogY29tbWFuZC1saXN0Lmg6MTg0CiBtc2dpZCAiVXBkYXRlIHRoZSBvYmplY3QgbmFtZSBzdG9yZWQgaW4gYSByZWYgc2FmZWx5IgogbXNnc3RyICLQkdC10LfQvtC/0LDRgdC90L4g0L7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDQuNC80LXRgtC+INC90LAg0L7QsdC10LrRgiDQsiDRg9C60LDQt9Cw0YLQtdC7IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODIKKyM6IGNvbW1hbmQtbGlzdC5oOjE4NQogbXNnaWQgIlVwZGF0ZSBhdXhpbGlhcnkgaW5mbyBmaWxlIHRvIGhlbHAgZHVtYiBzZXJ2ZXJzIgogbXNnc3RyICIiCiAi0J7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDRhNCw0LnQu9CwINGBINC00L7Qv9GK0LvQvdC40YLQtdC70L3QsCDQuNC90YTQvtGA0LzQsNGG0LjRjyDQsiDQv9C+0LzQvtGJINC90LAg0L7Qv9GA0L7RgdGC0LXQvdC40YLQtSDRgdGK0YDQstGK0YDQuCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTgzCisjOiBjb21tYW5kLWxpc3QuaDoxODYKIG1zZ2lkICJTZW5kIGFyY2hpdmUgYmFjayB0byBnaXQtYXJjaGl2ZSIKIG1zZ3N0ciAi0JjQt9C/0YDQsNGJ0LDQvdC1INC90LAg0LDRgNGF0LjQstCwINC+0LHRgNCw0YLQvdC+INC60YrQvCDigJ5naXQtYXJjaGl2ZeKAnCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTg0CisjOiBjb21tYW5kLWxpc3QuaDoxODcKIG1zZ2lkICJTZW5kIG9iamVjdHMgcGFja2VkIGJhY2sgdG8gZ2l0LWZldGNoLXBhY2siCiBtc2dzdHIgItCY0LfQv9GA0LDRidCw0L3QtSDQvdCwINC/0LDQutC10YLQuNGA0LDQvdC40YLQtSDQvtCx0LXQutGC0Lgg0L7QsdGA0LDRgtC90L4g0LrRitC8IOKAnmdpdC1mZXRjaC1wYWNr4oCcIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODUKKyM6IGNvbW1hbmQtbGlzdC5oOjE4OAogbXNnaWQgIlNob3cgYSBHaXQgbG9naWNhbCB2YXJpYWJsZSIKIG1zZ3N0ciAi0JjQt9Cy0LXQttC00LDQvdC1INC90LAg0LvQvtCz0LjRh9C10YHQutCwINC/0YDQvtC80LXQvdC70LjQstCwINC90LAgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODYKKyM6IGNvbW1hbmQtbGlzdC5oOjE4OQogbXNnaWQgIkNoZWNrIHRoZSBHUEcgc2lnbmF0dXJlIG9mIGNvbW1pdHMiCiBtc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0L3QsCDQv9C+0LTQv9C40YHQuNGC0LUgR1BHINCy0YrRgNGF0YMg0L/QvtC00LDQstCw0L3QuNGP0YLQsCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTg3CisjOiBjb21tYW5kLWxpc3QuaDoxOTAKIG1zZ2lkICJWYWxpZGF0ZSBwYWNrZWQgR2l0IGFyY2hpdmUgZmlsZXMiCiBtc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0L3QsCDQv9Cw0LrQtdGC0LjRgNCw0L3QuNGC0LUg0LDRgNGF0LjQstC90Lgg0YTQsNC50LvQvtCy0LUg0L3QsCBHaXQiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4OAorIzogY29tbWFuZC1saXN0Lmg6MTkxCiBtc2dpZCAiQ2hlY2sgdGhlIEdQRyBzaWduYXR1cmUgb2YgdGFncyIKIG1zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDQvdCwINC/0L7QtNC/0LjRgdC40YLQtSBHUEcg0LLRitGA0YXRgyDQtdGC0LjQutC10YLQuNGC0LUiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4OQorIzogY29tbWFuZC1saXN0Lmg6MTkyCiBtc2dpZCAiR2l0IHdlYiBpbnRlcmZhY2UgKHdlYiBmcm9udGVuZCB0byBHaXQgcmVwb3NpdG9yaWVzKSIKIG1zZ3N0ciAi0KPQtdCxINC40L3RgtC10YDRhNC10LnRgSDQvdCwIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTkwCisjOiBjb21tYW5kLWxpc3QuaDoxOTMKIG1zZ2lkICJTaG93IGxvZ3Mgd2l0aCBkaWZmZXJlbmNlIGVhY2ggY29tbWl0IGludHJvZHVjZXMiCiBtc2dzdHIgItCY0LfQstC10LbQtNCw0L3QtSDQvdCwINC20YPRgNC90LDQuyDRgSDRgNCw0LfQu9C40LrQuNGC0LUsINCy0YrQstC10LTQtdC90Lgg0YEg0LLRgdGP0LrQviDQv9C+0LTQsNCy0LDQvdC1IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTEKKyM6IGNvbW1hbmQtbGlzdC5oOjE5NAogbXNnaWQgIk1hbmFnZSBtdWx0aXBsZSB3b3JraW5nIHRyZWVzIgogbXNnc3RyICLQo9C/0YDQsNCy0LvQtdC90LjQtSDQvdCwINC80L3QvtC20LXRgdGC0LLQviDRgNCw0LHQvtGC0L3QuCDQtNGK0YDQstC10YLQsCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTkyCisjOiBjb21tYW5kLWxpc3QuaDoxOTUKIG1zZ2lkICJDcmVhdGUgYSB0cmVlIG9iamVjdCBmcm9tIHRoZSBjdXJyZW50IGluZGV4IgogbXNnc3RyICLQodGK0LfQtNCw0LLQsNC90LUg0L3QsCDQvtCx0LXQutGCLdC00YrRgNCy0L4g0L7RgiDRgtC10LrRg9GJ0LjRjyDQuNC90LTQtdC60YEiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5MworIzogY29tbWFuZC1saXN0Lmg6MTk2CiBtc2dpZCAiRGVmaW5pbmcgYXR0cmlidXRlcyBwZXIgcGF0aCIKIG1zZ3N0ciAi0KPQutCw0LfQstCw0L3QtSDQvdCwINCw0YLRgNC40LHRg9GC0Lgg0LrRitC8INC/0YrRgiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk0CisjOiBjb21tYW5kLWxpc3QuaDoxOTcKIG1zZ2lkICJHaXQgY29tbWFuZC1saW5lIGludGVyZmFjZSBhbmQgY29udmVudGlvbnMiCiBtc2dzdHIgItCa0L7QvNCw0L3QtNC10L0g0YDQtdC0INC4INC60L7QvdCy0LXQvdGG0LjQuCDQvdCwIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk1CisjOiBjb21tYW5kLWxpc3QuaDoxOTgKIG1zZ2lkICJBIEdpdCBjb3JlIHR1dG9yaWFsIGZvciBkZXZlbG9wZXJzIgogbXNnc3RyICLQktGK0LLQtdC20LTQsNGJINGD0YDQvtC6INCyIEdpdCDQt9CwINGA0LDQt9GA0LDQsdC+0YLRh9C40YbQuCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk2CisjOiBjb21tYW5kLWxpc3QuaDoxOTkKIG1zZ2lkICJHaXQgZm9yIENWUyB1c2VycyIKIG1zZ3N0ciAiR2l0INC30LAg0L/QvtGC0YDQtdCx0LjRgtC10LvQuCDQvdCwIENWUyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk3CisjOiBjb21tYW5kLWxpc3QuaDoyMDAKIG1zZ2lkICJUd2Vha2luZyBkaWZmIG91dHB1dCIKIG1zZ3N0ciAi0J3QsNGB0YLRgNC+0LnQstCw0L3QtSDQvdCwINC40LfQs9C70LXQtNCwINC90LAg0YDQsNC30LvQuNC60LjRgtC1IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTgKKyM6IGNvbW1hbmQtbGlzdC5oOjIwMQogbXNnaWQgIkEgdXNlZnVsIG1pbmltdW0gc2V0IG9mIGNvbW1hbmRzIGZvciBFdmVyeWRheSBHaXQiCiBtc2dzdHIgItCf0L7Qu9C10LfQtdC9INC80LjQvdC40LzQsNC70LXQvSDQvdCw0LHQvtGAINC+0YIg0LrQvtC80LDQvdC00Lgg0LfQsCDQtdC20LXQtNC90LXQstC90LDRgtCwINGA0LDQsdC+0YLQsCDRgSBHaXQiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5OQorIzogY29tbWFuZC1saXN0Lmg6MjAyCiBtc2dpZCAiQSBHaXQgR2xvc3NhcnkiCiBtc2dzdHIgItCg0LXRh9C90LjQuiDRgSDRgtC10YDQvNC40L3QuNGC0LUg0L3QsCBHaXQiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjIwMAorIzogY29tbWFuZC1saXN0Lmg6MjAzCiBtc2dpZCAiSG9va3MgdXNlZCBieSBHaXQiCiBtc2dzdHIgItCa0YPQutC4INC90LAgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDEKKyM6IGNvbW1hbmQtbGlzdC5oOjIwNAogbXNnaWQgIlNwZWNpZmllcyBpbnRlbnRpb25hbGx5IHVudHJhY2tlZCBmaWxlcyB0byBpZ25vcmUiCiBtc2dzdHIgItCj0LrQsNC30LLQsNC90LUg0L3QsCDQvdC10YHQu9C10LTQtdC90Lgg0YTQsNC50LvQvtCy0LUsINC60L7QuNGC0L4g0LTQsCDQsdGK0LTQsNGCINC90LDRgNC+0YfQvdC+INC/0YDQtdC90LXQsdGA0LXQs9Cy0LDQvdC4IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDIKKyM6IGNvbW1hbmQtbGlzdC5oOjIwNQogbXNnaWQgIkRlZmluaW5nIHN1Ym1vZHVsZSBwcm9wZXJ0aWVzIgogbXNnc3RyICLQlNC10YTQuNC90LjRgNCw0L3QtSDQvdCwINGB0LLQvtC50YHRgtCy0LDRgtCwINC90LAg0L/QvtC00LzQvtC00YPQu9C40YLQtSIKIAotIzogY29tbWFuZC1saXN0Lmg6MjAzCisjOiBjb21tYW5kLWxpc3QuaDoyMDYKIG1zZ2lkICJHaXQgbmFtZXNwYWNlcyIKIG1zZ3N0ciAi0J/RgNC+0YHRgtGA0LDQvdGB0YLQstCwINC+0YIg0LjQvNC10L3QsCDQvdCwIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjA0CisjOiBjb21tYW5kLWxpc3QuaDoyMDcKIG1zZ2lkICJHaXQgUmVwb3NpdG9yeSBMYXlvdXQiCiBtc2dzdHIgItCj0YHRgtGA0L7QudGB0YLQstC+INC90LAg0YXRgNCw0L3QuNC70LjRidC10YLQviDQvdCwIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjA1CisjOiBjb21tYW5kLWxpc3QuaDoyMDgKIG1zZ2lkICJTcGVjaWZ5aW5nIHJldmlzaW9ucyBhbmQgcmFuZ2VzIGZvciBHaXQiCiBtc2dzdHIgItCj0LrQsNC30LLQsNC90LUg0L3QsCDQstC10YDRgdC40Lgg0Lgg0LTQuNCw0L/QsNC30L7QvdC4INCyIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjA2CisjOiBjb21tYW5kLWxpc3QuaDoyMDkKK21zZ2lkICJNb3VudGluZyBvbmUgcmVwb3NpdG9yeSBpbnNpZGUgYW5vdGhlciIKK21zZ3N0ciAi0JzQvtC90YLQuNGA0LDQvdC1INC90LAg0LXQtNC90L4g0YXRgNCw0L3QuNC70LjRidC1INCyINC00YDRg9Cz0L4iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjIxMAogbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdDogcGFydCB0d28iCiBtc2dzdHIgItCS0YrQstC10LbQtNCw0Ykg0YPRgNC+0Log0LfQsCBHaXQ6INCy0YLQvtGA0LAg0YfQsNGB0YIiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjIwNworIzogY29tbWFuZC1saXN0Lmg6MjExCiBtc2dpZCAiQSB0dXRvcmlhbCBpbnRyb2R1Y3Rpb24gdG8gR2l0IgogbXNnc3RyICLQktGK0LLQtdC20LTQsNGJINGD0YDQvtC6INC30LAgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDgKKyM6IGNvbW1hbmQtbGlzdC5oOjIxMgogbXNnaWQgIkFuIG92ZXJ2aWV3IG9mIHJlY29tbWVuZGVkIHdvcmtmbG93cyB3aXRoIEdpdCIKIG1zZ3N0ciAi0J7QsdGJINC/0YDQtdCz0LvQtdC0INC90LAg0L/RgNC10L/QvtGA0YrRh9Cy0LDQvdC40YLQtSDQvdCw0YfQuNC90Lgg0LfQsCDRgNCw0LHQvtGC0LAg0YEgR2l0IgogCi0jOiByZXJlcmUuaDo0NAotbXNnaWQgInVwZGF0ZSB0aGUgaW5kZXggd2l0aCByZXVzZWQgY29uZmxpY3QgcmVzb2x1dGlvbiBpZiBwb3NzaWJsZSIKLW1zZ3N0ciAiIgotItC/0YDQuCDQstGK0LfQvNC+0LbQvdC+0YHRgiDQv9GA0LXQuNC30L/QvtC70LfQstCw0L3QtSDQvdCwINGA0LXRiNC10L3QuNC10YLQviDQvdCwINC60L7QvdGE0LvQuNC60YLQsCDQt9CwINC+0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAgIgotItC40L3QtNC10LrRgdCwIgotCiAjOiBnaXQtYmlzZWN0LnNoOjU0CiBtc2dpZCAiWW91IG5lZWQgdG8gc3RhcnQgYnkgXCJnaXQgYmlzZWN0IHN0YXJ0XCIiCiBtc2dzdHIgItCX0LDQv9C+0YfQvdC10YLQtSDQutCw0YLQviDQuNC30L/RitC70L3QuNGC0LUg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBiaXNlY3Qgc3RhcnTigJwiCkBAIC0xOTc4MSwxNDIgKzIzMzE4LDUyIEBACiBtc2dpZCAiRG8geW91IHdhbnQgbWUgdG8gZG8gaXQgZm9yIHlvdSBbWS9uXT8gIgogbXNnc3RyICLQlNCwINGB0LUg0LjQt9Cy0YrRgNGI0Lgg0LvQuCDQsNCy0YLQvtC80LDRgtC40YfQvdC+PyDigJ5Z4oCcIOKAlCAg0JTQkCwg4oCebuKAnCDigJQg0L3QtSIKIAotIzogZ2l0LWJpc2VjdC5zaDoxMjEKLSMsIHNoLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXNlZCBvcHRpb246ICckYXJnJyIKLW1zZ3N0ciAi0L3QtdC/0L7Qt9C90LDRgtCwINC+0L/RhtC40Y8g4oCeJHthcmd94oCcIgotCi0jOiBnaXQtYmlzZWN0LnNoOjEyNQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiJyRhcmcnIGRvZXMgbm90IGFwcGVhciB0byBiZSBhIHZhbGlkIHJldmlzaW9uIgotbXNnc3RyICLigJ4kYXJn4oCcINC90LUg0LjQt9Cz0LvQtdC20LTQsCDQutCw0YLQviDRg9C60LDQt9Cw0YLQtdC7INC60YrQvCDQstC10YDRgdC40Y8iCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTU0Ci1tc2dpZCAiQmFkIEhFQUQgLSBJIG5lZWQgYSBIRUFEIgotbXNnc3RyICLQotC10LrRg9GJ0LjRj9GCINGD0LrQsNC30LDRgtC10Lsg4oCeSEVBROKAnCDQtSDQvdC10L/RgNCw0LLQuNC70LXQvS4iCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTY3Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iQ2hlY2tpbmcgb3V0ICckc3RhcnRfaGVhZCcgZmFpbGVkLiBUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPHZhbGlkLWJyYW5jaD4nLiIKLW1zZ3N0ciAiIgotItCd0LXRg9GB0L/QtdGI0L3QviDQv9GA0LXQvNC40L3QsNCy0LDQvdC1INC60YrQvCDigJ4ke3N0YXJ0X2hlYWR94oCcLiAg0JjQt9C/0YrQu9C90LXRgtC1INC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgYmlzZWN0ICIKLSJyZXNldCDQodCq0KnQldCh0KLQktCj0JLQkNCpX9Ca0JvQntCd4oCcLiIKLQotIzogZ2l0LWJpc2VjdC5zaDoxNzcKLW1zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgotbXNnc3RyICIiCi0i0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YLRitGA0YHQuCDQtNCy0L7QuNGH0L3Qviwg0LrQvtCz0LDRgtC+INC1INC40LfQv9GK0LvQvdC10L3QsCDQutC+0LzQsNC90LTQsNGC0LAg4oCeY2ctc2Vla+KAnCDQvtGCICIKLSLigJ5jb2dpdG/igJwiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTgxCi1tc2dpZCAiQmFkIEhFQUQgLSBzdHJhbmdlIHN5bWJvbGljIHJlZiIKLW1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C10L0g0YPQutCw0LfQsNGC0LXQuyDigJ5IRUFE4oCcIgotCi0jOiBnaXQtYmlzZWN0LnNoOjIzMwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQmFkIGJpc2VjdF93cml0ZSBhcmd1bWVudDogJHN0YXRlIgotbXNnc3RyICLQndC10L/RgNCw0LLQuNC70LXQvSDQsNGA0LPRg9C80LXQvdGCINC90LAg0YTRg9C90LrRhtC40Y/RgtCwIOKAnmJpc2VjdF93cml0ZeKAnDog4oCeJHtzdGF0ZX3igJwiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MjQ2CisjOiBnaXQtYmlzZWN0LnNoOjEwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQmFkIHJldiBpbnB1dDogJGFyZyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C90LAg0LLQtdGA0YHQuNGPOiDigJ4ke2FyZ33igJwiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MjY1CisjOiBnaXQtYmlzZWN0LnNoOjEyMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQmFkIHJldiBpbnB1dDogJGJpc2VjdGVkX2hlYWQiCiBtc2dzdHIgItCd0LXQv9GA0LDQstC40LvQvdCwINCy0LXRgNGB0LjRjzog4oCeJGJpc2VjdGVkX2hlYWTigJwiCiAKLSM6IGdpdC1iaXNlY3Quc2g6Mjc0CisjOiBnaXQtYmlzZWN0LnNoOjEzMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQmFkIHJldiBpbnB1dDogJHJldiIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C90LAg0LLQtdGA0YHQuNGPOiDigJ4ke3Jldn3igJwiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MjgzCisjOiBnaXQtYmlzZWN0LnNoOjEzOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJ2dpdCBiaXNlY3QgJFRFUk1fQkFEJyBjYW4gdGFrZSBvbmx5IG9uZSBhcmd1bWVudC4iCiBtc2dzdHIgItCa0L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgYmlzZWN0ICR7VEVSTV9CQUR94oCcINC/0YDQuNC10LzQsCDRgdCw0LzQviDQtdC00LjQvSDQsNGA0LPRg9C80LXQvdGCLiIKIAotIzogZ2l0LWJpc2VjdC5zaDozMDYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIldhcm5pbmc6IGJpc2VjdGluZyBvbmx5IHdpdGggYSAkVEVSTV9CQUQgY29tbWl0LiIKLW1zZ3N0ciAi0J/QoNCV0JTQo9Cf0KDQldCW0JTQldCd0JjQlTog0LTQstC+0LjRh9C90L4g0YLRitGA0YHQtdC90LUg0YHQsNC80L4g0L/QviAke1RFUk1fQkFEfSDQv9C+0LTQsNCy0LDQvdC1LiIKLQotIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtZXSBhbmQgW25dIGluIHlvdXIKLSMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKLSMuIGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtYmlzZWN0LnNoOjMxMgotbXNnaWQgIkFyZSB5b3Ugc3VyZSBbWS9uXT8gIgotbXNnc3RyICLQlNCwINGB0LUg0L/RgNC+0LTRitC70LbQuCDQu9C4PyDigJ5Z4oCcIOKAlCAg0JTQkCwg4oCebuKAnCDigJQg0L3QtSIKLQotIzogZ2l0LWJpc2VjdC5zaDozMjQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJZb3UgbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSAkYmFkX3N5biBhbmQgb25lICRnb29kX3N5biByZXZpc2lvbi5cbiIKLSIoWW91IGNhbiB1c2UgXCJnaXQgYmlzZWN0ICRiYWRfc3luXCIgYW5kIFwiZ2l0IGJpc2VjdCAkZ29vZF9zeW5cIiBmb3IgdGhhdC4pIgotbXNnc3RyICIiCi0i0KLRgNGP0LHQstCwINC00LAg0LfQsNC00LDQtNC10YLQtSDQv9C+0L3QtSDQtdC00L3QsCAke2JhZF9zeW59INC4INC10LTQvdCwICR7Z29vZF9zeW59INCy0LXRgNGB0LjRjy4gICjQotC+0LLQsCAiCi0i0LzQvtC20LUg0LTQsCDRgdC1XG4iCi0i0L3QsNC/0YDQsNCy0Lgg0YHRitC+0YLQstC10YLQvdC+INC4INGH0YDQtdC3INC60L7QvNCw0L3QtNC40YLQtSDigJ5naXQgYmlzZWN0ICR7YmFkX3N5bn3igJwg0Lgg4oCeZ2l0IGJpc2VjdCAiCi0iJHtnb29kX3N5bn3igJwuKSIKLQotIzogZ2l0LWJpc2VjdC5zaDozMjcKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJZb3UgbmVlZCB0byBzdGFydCBieSBcImdpdCBiaXNlY3Qgc3RhcnRcIi5cbiIKLSJZb3UgdGhlbiBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICRnb29kX3N5biBhbmQgb25lICRiYWRfc3luIHJldmlzaW9uLlxuIgotIihZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiBhbmQgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiIGZvciB0aGF0LikiCi1tc2dzdHIgIiIKLSLQotGA0Y/QsdCy0LAg0LTQsCDQt9Cw0L/QvtGH0L3QtdGC0LUg0LTQstC+0LjRh9C90L7RgtC+INGC0YrRgNGB0LXQvdC1INGH0YDQtdC3INC60L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgYmlzZWN0IHN0YXJ04oCcLlxuIgotItGC0YDRj9Cx0LLQsCDQtNCwINC30LDQtNCw0LTQtdGC0LUg0L/QvtC90LUg0LXQtNC90LAg0LTQvtCx0YDQsCDQuCDQtdC00L3QsCDQu9C+0YjQsCDQstC10YDRgdC40Y8uICAo0KLQvtCy0LAg0LzQvtC20LUg0LTQsCDRgdC1XG4iCi0i0L3QsNC/0YDQsNCy0Lgg0YHRitC+0YLQstC10YLQvdC+INC4INGH0YDQtdC3INC60L7QvNCw0L3QtNC40YLQtSDigJ5naXQgYmlzZWN0ICR7YmFkX3N5bn3igJwg0Lgg4oCeZ2l0IGJpc2VjdCAiCi0iJHtnb29kX3N5bn3igJwuKSIKLQotIzogZ2l0LWJpc2VjdC5zaDozOTggZ2l0LWJpc2VjdC5zaDo1MTIKLW1zZ2lkICJXZSBhcmUgbm90IGJpc2VjdGluZy4iCi1tc2dzdHIgItCSINC80L7QvNC10L3RgtCwINC90LUg0YHQtSDQuNC30LLRitGA0YjQstCwINC00LLQvtC40YfQvdC+INGC0YrRgNGB0LXQvdC1LiIKLQotIzogZ2l0LWJpc2VjdC5zaDo0MDUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIickaW52YWxpZCcgaXMgbm90IGEgdmFsaWQgY29tbWl0IgotbXNnc3RyICLigJ4ke2ludmFsaWR94oCcINC1INC90LXQv9GA0LDQstC40LvQvdC+INC/0L7QtNCw0LLQsNC90LUiCi0KLSM6IGdpdC1iaXNlY3Quc2g6NDE0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iQ291bGQgbm90IGNoZWNrIG91dCBvcmlnaW5hbCBIRUFEICckYnJhbmNoJy5cbiIKLSJUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPGNvbW1pdD4nLiIKLW1zZ3N0ciAiIgotItCf0YrRgNCy0L7QvdCw0YfQsNC70L3QviDRg9C60LDQt9Cw0L3QuNGP0YIg0LrQu9C+0L0g4oCeJHticmFuY2h94oCcINCyINGD0LrQsNC30LDRgtC10LvRjyDigJ5IRUFE4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtVxuIgotItC40LfRgtC10LPQu9C10L0uICDQn9GA0L7QsdCy0LDQudGC0LUg0LTQsCDQuNC30L/RitC70L3QuNGC0LUg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBiaXNlY3QgcmVzZXQg0J/QntCU0JDQktCQ0J3QleKAnC4iCi0KLSM6IGdpdC1iaXNlY3Quc2g6NDIyCisjOiBnaXQtYmlzZWN0LnNoOjIwOQogbXNnaWQgIk5vIGxvZ2ZpbGUgZ2l2ZW4iCiBtc2dzdHIgItCd0LUg0LUg0LfQsNC00LDQtNC10L0g0LbRg9GA0L3QsNC70LXQvSDRhNCw0LnQuyIKIAotIzogZ2l0LWJpc2VjdC5zaDo0MjMKKyM6IGdpdC1iaXNlY3Quc2g6MjEwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAkZmlsZSBmb3IgcmVwbGF5aW5nIgogbXNnc3RyICIiCiAi0JbRg9GA0L3QsNC70L3QuNGP0YIg0YTQsNC50Lsg4oCeJHtmaWxlfeKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L/RgNC+0YfQtdGC0LXQvSwg0LfQsCDQtNCwINGB0LUg0LjQt9C/0YrQu9C90Y/RgiAiCiAi0LrQvtC80LDQvdC00LjRgtC1INC+0YIg0L3QtdCz0L4g0L3QsNC90L7QstC+IgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ0NAorIzogZ2l0LWJpc2VjdC5zaDoyMzIKIG1zZ2lkICI/PyB3aGF0IGFyZSB5b3UgdGFsa2luZyBhYm91dD8iCiBtc2dzdHIgIiIKICLQndC10L/QvtC30L3QsNGC0LAg0LrQvtC80LDQvdC00LAuICDQktGK0LfQvNC+0LbQvdC40YLQtSDQstCw0YDQuNCw0L3RgtC4INGB0LA6IOKAnnN0YXJ04oCcLCDigJ5nb29k4oCcLCDigJ5iYWTigJwsIOKAnnNraXDigJwiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDUzCisjOiBnaXQtYmlzZWN0LnNoOjI0MQogbXNnaWQgImJpc2VjdCBydW4gZmFpbGVkOiBubyBjb21tYW5kIHByb3ZpZGVkLiIKIG1zZ3N0ciAi0L3QtdGD0YHQv9C10YjQvdC+INC00LLQvtC40YfQvdC+INGC0YrRgNGB0LXQvdC1LCDQvdC1INC1INC30LDQtNCw0LTQtdC90LAg0LrQvtC80LDQvdC00LAuIgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ1OAorIzogZ2l0LWJpc2VjdC5zaDoyNDYKICMsIHNoLWZvcm1hdAogbXNnaWQgInJ1bm5pbmcgJGNvbW1hbmQiCiBtc2dzdHIgItC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAniR7Y29tbWFuZH3igJwiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDY1CisjOiBnaXQtYmlzZWN0LnNoOjI1MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImJpc2VjdCBydW4gZmFpbGVkOlxuIgpAQCAtMTk5MjYsMTEgKzIzMzczLDExIEBACiAi0LjQt9GF0L7QtNC90LjRj9GCINC60L7QtCDQvtGCINC60L7QvNCw0L3QtNCw0YLQsCDigJ4ke2NvbW1hbmR94oCcINC1ICR7cmVzfSDigJQg0YLQvtCy0LAg0LUg0LjQt9Cy0YrQvSDQuNC90YLQtdGA0LLQsNC70LAgIgogIlswLCAxMjgpIgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ5MQorIzogZ2l0LWJpc2VjdC5zaDoyNzkKIG1zZ2lkICJiaXNlY3QgcnVuIGNhbm5vdCBjb250aW51ZSBhbnkgbW9yZSIKIG1zZ3N0ciAi0LTQstC+0LjRh9C90L7RgtC+INGC0YrRgNGB0LXQvdC1INC90LUg0LzQvtC20LUg0LTQsCDQv9GA0L7QtNGK0LvQttC4IgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ5NworIzogZ2l0LWJpc2VjdC5zaDoyODUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJiaXNlY3QgcnVuIGZhaWxlZDpcbiIKQEAgLTE5OTM5LDI5ICsyMzM4NiwxMyBAQAogItC90LXRg9GB0L/QtdGI0L3QviDQtNCy0L7QuNGH0L3QviDRgtGK0YDRgdC10L3QtTpcbiIKICLRhNGD0L3QutGG0LjRj9GC0LAg4oCeYmlzZWN0X3N0YXRlICR7c3RhdGV94oCcINC30LDQstGK0YDRiNC4INGBINC60L7QtCDQt9CwINCz0YDQtdGI0LrQsCAke3Jlc30iCiAKLSM6IGdpdC1iaXNlY3Quc2g6NTA0CisjOiBnaXQtYmlzZWN0LnNoOjI5MgogbXNnaWQgImJpc2VjdCBydW4gc3VjY2VzcyIKIG1zZ3N0ciAi0YPRgdC/0LXRiNC90L4g0LTQstC+0LjRh9C90L4g0YLRitGA0YHQtdC90LUiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NTMzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIGNvbW1hbmQ6IHlvdSdyZSBjdXJyZW50bHkgaW4gYSAkVEVSTV9CQUQvJFRFUk1fR09PRCBiaXNlY3QuIgotbXNnc3RyICIiCi0i0J3QtdC/0YDQsNCy0LjQu9C90LAg0LrQvtC80LDQvdC00LA6INCyINC80L7QvNC10L3RgtCwINGB0LUg0LjQt9C/0YrQu9C90Y/QstCwINC00LLQvtC40YfQvdC+INGC0YrRgNGB0LXQvdC1INC/0L4gJHtURVJNX0JBRH0vIgotIiR7VEVSTV9HT09EfS4iCi0KLSM6IGdpdC1iaXNlY3Quc2g6NTY3Ci1tc2dpZCAibm8gdGVybXMgZGVmaW5lZCIKLW1zZ3N0ciAi0L3QtSDRgdCwINGD0LrQsNC30LDQvdC4INGD0L/RgNCw0LLQu9GP0LLQsNGJ0Lgg0LTRg9C80LgiCi0KLSM6IGdpdC1iaXNlY3Quc2g6NTg0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iaW52YWxpZCBhcmd1bWVudCAkYXJnIGZvciAnZ2l0IGJpc2VjdCB0ZXJtcycuXG4iCi0iU3VwcG9ydGVkIG9wdGlvbnMgYXJlOiAtLXRlcm0tZ29vZHwtLXRlcm0tb2xkIGFuZCAtLXRlcm0tYmFkfC0tdGVybS1uZXcuIgotbXNnc3RyICIiCi0i0L3QsCDigJ5naXQgYmlzZWN0IHRlcm1z4oCcINC1INC/0L7QtNCw0LTQtdC9INC90LXQv9GA0LDQstC40LvQtdC9INCw0YDQs9GD0LzQtdC90YIg4oCeJHthcmd94oCcXG4iCi0i0J/QvtC00LTRitGA0LbQsNGCINGB0LUg0L7Qv9GG0LjQuNGC0LUg4oCeLS10ZXJtLWdvb2R8LS10ZXJtLW9sZOKAnCDQuCDigJ4tLXRlcm0tYmFkfC0tdGVybS1uZXfigJwuIgorIzogZ2l0LWJpc2VjdC5zaDozMDAKK21zZ2lkICJXZSBhcmUgbm90IGJpc2VjdGluZy4iCittc2dzdHIgItCSINC80L7QvNC10L3RgtCwINC90LUg0YHQtSDQuNC30LLRitGA0YjQstCwINC00LLQvtC40YfQvdC+INGC0YrRgNGB0LXQvdC1LiIKIAogIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NDYKIG1zZ2lkICIiCkBAIC0yMDAwMSwyNzQgKzIzNDMyLDEyMSBAQAogbXNnaWQgIlNpbXBsZSBtZXJnZSBkaWQgbm90IHdvcmssIHRyeWluZyBhdXRvbWF0aWMgbWVyZ2UuIgogbXNnc3RyICLQn9GA0L7RgdGC0L7RgtC+INGB0LvQuNCy0LDQvdC1INC90LUg0YHRgNCw0LHQvtGC0LgsINC/0YDQvtCx0LLQsCDRgdC1INCw0LLRgtC+0LzQsNGC0LjRh9C90L4g0YHQu9C40LLQsNC90LUuIgogCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0MzQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKLW1zZ3N0ciAi0JLRgNGK0YnQsNC90LXRgtC+INC60YrQvCDigJ4ke2hlYWRfbmFtZX3igJwg0LUg0L3QtdCy0YrQt9C80L7QttC90L4iCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjQ2MAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICRzdGF0ZV9kaXJfYmFzZSBkaXJlY3RvcnksIGFuZFxuIgotIkkgd29uZGVyIGlmIHlvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbm90aGVyIHJlYmFzZS4gIElmIHRoYXQgaXMgdGhlXG4iCi0iY2FzZSwgcGxlYXNlIHRyeVxuIgotIlx0JGNtZF9saXZlX3JlYmFzZVxuIgotIklmIHRoYXQgaXMgbm90IHRoZSBjYXNlLCBwbGVhc2VcbiIKLSJcdCRjbWRfY2xlYXJfc3RhbGVfcmViYXNlXG4iCi0iYW5kIHJ1biBtZSBhZ2Fpbi4gIEkgYW0gc3RvcHBpbmcgaW4gY2FzZSB5b3Ugc3RpbGwgaGF2ZSBzb21ldGhpbmdcbiIKLSJ2YWx1YWJsZSB0aGVyZS4iCi1tc2dzdHIgIiIKLSLQktC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDigJ4ke3N0YXRlX2Rpcl9iYXNlfeKAnC4gINCS0YrQt9C80L7QttC90L4g0LvQuCDQtSDQtNCwINGB0YLQtVxuIgotItCyINC/0YDQvtGG0LXRgSDQvdCwINC00YDRg9Cz0L4g0L/RgNC10LHQsNC30LjRgNCw0L3QtT8g0JDQutC+INGC0L7QstCwINC1INGC0LDQutCwLCDQuNC30L/RitC70L3QtdGC0LU6XG4iCi0iICAgICR7Y21kX2xpdmVfcmViYXNlfVxuIgotItCQ0LrQviDQvdC1INGB0YLQtSDQsiDQv9GA0L7RhtC10YEg0L3QsCDQtNGA0YPQs9C+INC/0YDQtdCx0LDQt9C40YDQsNC90LUsINC40LfQv9GK0LvQvdC10YLQtTpcbiIKLSIgICAgJHtjbWRfY2xlYXJfc3RhbGVfcmViYXNlfVxuIgotItC4INC+0YLQvdC+0LLQviDQt9Cw0L/QvtGH0L3QtdGC0LUg0L/RgNC10LHQsNC30LjRgNCw0L3QtdGC0L4uICDQotC10LrRg9GJ0L7RgtC+INC/0YDQtdCx0LDQt9C40YDQsNC90LUg0YHQtSDQv9GA0LXRg9GB0YLQsNC90L7QstGP0LLQsCwgIgotItC30LBcbiIKLSLQtNCwINC90LUg0LfQsNCz0YPQsdC40YLQtSDRgdC70YPRh9Cw0LnQvdC+INC/0YDQvtC80LXQvdC4LiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTI1Ci1tc2dpZCAiZXJyb3I6IGNhbm5vdCBjb21iaW5lICctLXNpZ25vZmYnIHdpdGggJy0tcHJlc2VydmUtbWVyZ2VzJyIKLW1zZ3N0ciAi0LPRgNC10YjQutCwOiDQvtC/0YbQuNC40YLQtSDigJ4tLXNpZ25vZmbigJwg0Lgg4oCeLS1wcmVzZXJ2ZS1tZXJnZXPigJwg0YHQsCDQvdC10YHRitCy0LzQtdGB0YLQuNC80LgiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjU3MAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAnJHVwc3RyZWFtX25hbWUnIgotbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70L3QsCDQvtGB0L3QvtCy0LAg0LfQsCDRgdGA0LDQstC90LXQvdC40LUg4oCeJHt1cHN0cmVhbV9uYW1lfeKAnCIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTk0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKLW1zZ3N0ciAiIgotItGD0LrQsNC30LDRgtC10LvRj9GCIOKAniR7b250b19uYW1lfeKAnCDQvNC+0LbQtSDQtNCwINGB0L7Rh9C4INC60YrQvCDQv9C+0LLQtdGH0LUg0L7RgiDQtdC00L3QsCDQvtGB0L3QvtCy0LAg0LfQsCAiCi0i0L/RgNC10LHQsNC30LjRgNCw0L3QtdGC0L4iCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjU5NyBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2MDEKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGlzIG5vIG1lcmdlIGJhc2UiCi1tc2dzdHIgItGD0LrQsNC30LDRgtC10LvRj9GCIOKAniR7b250b19uYW1lfeKAnCDQvdC1INGB0L7Rh9C4INC60YrQvCDQvdC40LrQsNC60LLQsCDQvtGB0L3QvtCy0LAg0LfQsCDQv9GA0LXQsdCw0LfQuNGA0LDQvdC10YLQviIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NjA2Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogJG9udG9fbmFtZSIKLW1zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9GP0YIg4oCeJHtvbnRvX25hbWV94oCcINC90LUg0YHQvtGH0Lgg0LrRitC8INC/0L7QtNCw0LLQsNC90LUiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjYzMgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoL2NvbW1pdCAnJGJyYW5jaF9uYW1lJyIKLW1zZ3N0ciAi0KTQkNCi0JDQm9Cd0JAg0JPQoNCV0KjQmtCQOiDQvdC1INGB0YrRidC10YHRgtCy0YPQstCwINC60LvQvtC9IOKAniR7YnJhbmNoX25hbWV94oCcIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2NzAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgotbXNnc3RyICLQkNCy0YLQvtC80LDRgtC40YfQvdC+INGB0LrQsNGC0LDQvdC+OiDigJ4ke3N0YXNoX2FiYnJldn3igJwiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjY5OQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUuIgotbXNnc3RyICLQotC10LrRg9GJ0LjRj9GCINC60LvQvtC9IOKAniR7YnJhbmNoX25hbWV94oCcINC1INC90LDQv9GK0LvQvdC+INCw0LrRgtGD0LDQu9C10L0uIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MDkKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKLW1zZ3N0ciAiIgotItCi0LXQutGD0YnQuNGP0YIg0LrQu9C+0L0g4oCeJHticmFuY2hfbmFtZX3igJwg0LUg0L3QsNC/0YrQu9C90L4g0LDQutGC0YPQsNC70LXQvS4gINCf0YDQtdCx0LDQt9C40YDQsNC90LXRgtC+INC1ICIKLSLQv9GA0LjQvdGD0LTQuNGC0LXQu9C90L4uIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MjMKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNoYW5nZXMgdG8gJG9udG86IgotbXNnc3RyICLQn9GA0L7QvNC10L3QuNGC0LUg0LIg4oCeJHtvbnRvfeKAnDoiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjcyNQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ2hhbmdlcyBmcm9tICRtYiB0byAkb250bzoiCi1tc2dzdHIgItCf0YDQvtC80LXQvdC40YLQtSDQvtGCIOKAniR7bWJ94oCcINC60YrQvCDigJ4ke29udG994oCcOiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzM2Ci1tc2dpZCAiRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uIgotbXNnc3RyICIiCi0i0J/RitGA0LLQviwg0YPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQt9Cw0L/QvtGH0LLQsCDQtNCwINGB0L7Rh9C4INC60YrQvCDQsdCw0LfQsNGC0LAsINCy0YrRgNGF0YMg0LrQvtGP0YLQviDQv9GA0LXQsdCw0LfQuNGA0LDRgtC14oCmIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3NDYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKLW1zZ3N0ciAi0J/RgNC10LLRitGA0YLQsNC90LUg0L3QsCDigJ4ke2JyYW5jaF9uYW1lfeKAnCDQstGK0YDRhdGDIOKAniR7b250b19uYW1lfeKAnC4iCi0KLSM6IGdpdC1zdGFzaC5zaDo2MQotbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKLW1zZ3N0ciAi0JrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBzdGFzaCBjbGVhcuKAnCDQvdC1INC/0L7QtNC00YrRgNC20LAg0LDRgNCz0YPQvNC10L3RgtC4IgotCi0jOiBnaXQtc3Rhc2guc2g6MTA4Ci1tc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCi1tc2dzdHIgItCS0YHQtSDQvtGJ0LUg0LvQuNC/0YHQstCwINC/0YrRgNCy0L7QvdCw0YfQsNC70L3QviDQv9C+0LTQsNCy0LDQvdC1IgotCi0jOiBnaXQtc3Rhc2guc2g6MTIzCi1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCi1tc2dzdHIgItCh0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L3QsCDRgtC10LrRg9GJ0LjRjyDQuNC90LTQtdC60YEg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9Cw0LfQtdC90L4iCi0KLSM6IGdpdC1zdGFzaC5zaDoxMzgKLW1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgdW50cmFja2VkIGZpbGVzIgotbXNnc3RyICLQndC10YHQu9C10LTQtdC90LjRgtC1INGE0LDQudC70L7QstC1INC90LUg0LzQvtCz0LDRgiDQtNCwINGB0LUg0LfQsNC/0LDQt9GP0YIiCi0KLSM6IGdpdC1zdGFzaC5zaDoxNTggZ2l0LXN0YXNoLnNoOjE3MQotbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHdvcmt0cmVlIHN0YXRlIgotbXNnc3RyICLQodGK0YHRgtC+0Y/QvdC40LXRgtC+INC90LAg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9Cw0LfQtdC90L4iCi0KLSM6IGdpdC1zdGFzaC5zaDoxNzUKLW1zZ2lkICJObyBjaGFuZ2VzIHNlbGVjdGVkIgotbXNnc3RyICLQndC1INGB0LAg0LjQt9Cx0YDQsNC90Lgg0L3QuNC60LDQutCy0Lgg0L/RgNC+0LzQtdC90LgiCi0KLSM6IGdpdC1zdGFzaC5zaDoxNzgKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjIxCiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB0ZW1wb3JhcnkgaW5kZXggKGNhbid0IGhhcHBlbikiCiBtc2dzdHIgItCS0YDQtdC80LXQvdC90LjRj9GCINC40L3QtNC10LrRgSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9GC0YDQuNGCIgogCi0jOiBnaXQtc3Rhc2guc2g6MTkxCi1tc2dpZCAiQ2Fubm90IHJlY29yZCB3b3JraW5nIHRyZWUgc3RhdGUiCi1tc2dzdHIgItCh0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L3QsCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LDQt9C10L3QviIKLQotIzogZ2l0LXN0YXNoLnNoOjIyOQorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyNzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgJHJlZl9zdGFzaCB3aXRoICR3X2NvbW1pdCIKIG1zZ3N0ciAiIgogItCj0LrQsNC30LDRgtC10LvRj9GCIOKAniR7cmVmX3N0YXNofeKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7QsdC90L7QstC10L0g0LTQsCDRgdC+0YfQuCDQutGK0Lwg4oCeJHt3X2NvbW1pdH3igJwiCiAKLSM6IGdpdC1zdGFzaC5zaDoyODEKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzI0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBwdXNoJzogJG9wdGlvbiIKIG1zZ3N0ciAi0JPQoNCV0KjQmtCQOiDQutC+0LzQsNC90LTQsNGC0LAg4oCec3Rhc2ggcHVzaOKAnCDQvdC1INC/0YDQuNC10LzQsCDQvtC/0YbQuNGP0YLQsCDigJ4kb3B0aW9u4oCcIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjk1Ci1tc2dpZCAiQ2FuJ3QgdXNlIC0tcGF0Y2ggYW5kIC0taW5jbHVkZS11bnRyYWNrZWQgb3IgLS1hbGwgYXQgdGhlIHNhbWUgdGltZSIKLW1zZ3N0ciAi0J7Qv9GG0LjRj9GC0LAg4oCeLS1wYXRjaOKAnCDQtSDQvdC10YHRitCy0LzQtdGB0YLQuNC80LAg0YEg4oCeLS1pbmNsdWRlLXVudHJhY2tlZOKAnCDQuCDigJ4tLWFsbOKAnCIKLQotIzogZ2l0LXN0YXNoLnNoOjMwMwotbXNnaWQgIk5vIGxvY2FsIGNoYW5nZXMgdG8gc2F2ZSIKLW1zZ3N0ciAi0J3Rj9C80LAg0L3QuNC60LDQutCy0Lgg0LvQvtC60LDQu9C90Lgg0L/RgNC+0LzQtdC90Lgg0LfQsCDRgdC60LDRgtCw0LLQsNC90LUiCi0KLSM6IGdpdC1zdGFzaC5zaDozMDgKLW1zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKLW1zZ3N0ciAi0KHQutCw0YLQsNCy0LDQvdC10YLQviDQvdC1INC80L7QttC1INC00LAg0YHRgtCw0YDRgtC40YDQsCIKLQotIzogZ2l0LXN0YXNoLnNoOjMxMgotbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHN0YXR1cyIKLW1zZ3N0ciAi0KLQtdC60YPRidC+0YLQviDRgdGK0YHRgtC+0Y/QvdC40LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9Cw0LfQtdC90L4iCi0KLSM6IGdpdC1zdGFzaC5zaDozMTMKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzU2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTYXZlZCB3b3JraW5nIGRpcmVjdG9yeSBhbmQgaW5kZXggc3RhdGUgJHN0YXNoX21zZyIKIG1zZ3N0ciAiIgogItCh0YrRgdGC0L7Rj9C90LjQtdGC0L4g0L3QsCDRgNCw0LHQvtGC0L3QsNGC0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0Lgg0LjQvdC00LXQutGB0LAg0YHQsCDQt9Cw0L/QsNC30LXQvdC4OiDigJ4kc3Rhc2hfbXNn4oCcIgogCi0jOiBnaXQtc3Rhc2guc2g6MzQyCi1tc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgotbXNnc3RyICLQn9GA0L7QvNC10L3QuNGC0LUg0LIg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiDQt9Cw0L3Rg9C70LXQvdC4IgotCi0jOiBnaXQtc3Rhc2guc2g6NDkwCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjUzNgogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICRvcHQiCiBtc2dzdHIgItC90LXQv9C+0LfQvdCw0YLQsCDQvtC/0YbQuNGPOiAke29wdH0iCiAKLSM6IGdpdC1zdGFzaC5zaDo1MDMKLW1zZ2lkICJObyBzdGFzaCBlbnRyaWVzIGZvdW5kLiIKLW1zZ3N0ciAi0J3QtSDQtSDQvtGC0LrRgNC40YLQviDQvdC40YnQviDRgdC60LDRgtCw0L3Qvi4iCi0KLSM6IGdpdC1zdGFzaC5zaDo1MTAKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NTU2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICLQo9C60LDQt9Cw0L3QuCDRgdCwINC/0YDQtdC60LDQu9C10L3QviDQvNC90L7Qs9C+INCy0LXRgNGB0LjQuDog4oCeJHtSRVZ94oCcIgogCi0jOiBnaXQtc3Rhc2guc2g6NTI1CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjU3MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgYSB2YWxpZCByZWZlcmVuY2UiCiBtc2dzdHIgItCj0LrQsNC30LDRgtC10LvRj9GCIOKAniR7cmVmZXJlbmNlfeKAnCDQtSDQs9GA0LXRiNC10L0iCiAKLSM6IGdpdC1zdGFzaC5zaDo1NTMKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NTk5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoLWxpa2UgY29tbWl0IgogbXNnc3RyICLigJ4ke2FyZ3N94oCcINC90LUg0LUg0L/QvtC00LDQstCw0L3QtSwg0L/RgNC40LvQuNGH0LDRidC+INC90LAg0L3QtdGJ0L4g0YHQutCw0YLQsNC90L4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1NjQKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjEwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKIG1zZ3N0ciAi4oCeJHthcmdzfeKAnCDQvdC1INC1INGD0LrQsNC30LDRgtC10Lsg0LrRitC8INC90LXRidC+INGB0LrQsNGC0LDQvdC+IgogCi0jOiBnaXQtc3Rhc2guc2g6NTcyCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYxOAogbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgogbXNnc3RyICLQuNC90LTQtdC60YHRitGCINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQvtCx0L3QvtCy0LXQvSIKIAotIzogZ2l0LXN0YXNoLnNoOjU3NgorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2MjIKIG1zZ2lkICJDYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCiBtc2dzdHIgItCf0L4g0LLRgNC10LzQtSDQvdCwINGB0LvQuNCy0LDQvdC1INC90LUg0LzQvtC20LUg0LTQsCDQv9GA0LjQu9C+0LbQuNGC0LUg0L3QtdGJ0L4g0YHQutCw0YLQsNC90L4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1ODQKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjMwCiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAiIgogItCSINC40L3QtNC10LrRgdCwINC40LzQsCDQutC+0L3RhNC70LjQutGC0LguICDQn9GA0L7QsdCy0LDQudGC0LUg0LTQsCDQuNC30L/RitC70L3QuNGC0LUg0LrQvtC80LDQvdC00LDRgtCwINCx0LXQtyDQvtC/0YbQuNGP0YLQsCDigJ4tLSIKICJpbmRleOKAnC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1ODYKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjMyCiBtc2dpZCAiQ291bGQgbm90IHNhdmUgaW5kZXggdHJlZSIKIG1zZ3N0ciAi0JTRitGA0LLQvtGC0L4g0YHQvtGH0LXQvdC+INC+0YIg0LjQvdC00LXQutGB0LAg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC30LDQv9Cw0LfQtdC90L4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1OTUKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjQxCiBtc2dpZCAiQ291bGQgbm90IHJlc3RvcmUgdW50cmFja2VkIGZpbGVzIGZyb20gc3Rhc2ggZW50cnkiCiBtc2dzdHIgItCd0LXRgdC70LXQtNC10L3QuCDRhNCw0LnQu9C+0LLQtSDQvdC1INC80L7Qs9Cw0YIg0LTQsCDRgdC1INCy0YrQt9GB0YLQsNC90L7QstGP0YIg0L7RgiDRgdC60LDRgtCw0L3QvtGC0L4iCiAKLSM6IGdpdC1zdGFzaC5zaDo2MjAKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjY2CiBtc2dpZCAiQ2Fubm90IHVuc3RhZ2UgbW9kaWZpZWQgZmlsZXMiCiBtc2dzdHIgItCf0YDQvtC80LXQvdC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUg0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiDQuNC30LLQsNC00LXQvdC4INC+0YIg0LjQvdC00LXQutGB0LAiCiAKLSM6IGdpdC1zdGFzaC5zaDo2MzUKLW1zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCi1tc2dzdHIgItCY0L3QtNC10LrRgdGK0YIg0L3QtSDQtSDRgdC60LDRgtCw0L0uIgotCi0jOiBnaXQtc3Rhc2guc2g6NjQ5Ci1tc2dpZCAiVGhlIHN0YXNoIGVudHJ5IGlzIGtlcHQgaW4gY2FzZSB5b3UgbmVlZCBpdCBhZ2Fpbi4iCi1tc2dzdHIgItCh0LrQsNGC0LDQvdC+0YLQviDQtSDQt9Cw0L/QsNC30LXQvdC+INCyINGB0LvRg9GH0LDQuSwg0YfQtSDQstC4INC/0L7RgtGA0Y/QsdCy0LAg0L7RgtC90L7QstC+IgotCi0jOiBnaXQtc3Rhc2guc2g6NjU4CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjcwNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiRHJvcHBlZCAke1JFVn0gKCRzKSIKIG1zZ3N0ciAi0JjQt9GC0YDQuNGC0L4g0LUg0YHQutCw0YLQsNC90L7RgtC+IOKAniR7UkVWfeKAnCAoJHMpIgogCi0jOiBnaXQtc3Rhc2guc2g6NjU5CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjcwNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAi0KHQutCw0YLQsNC90L7RgtC+IOKAniR7UkVWfeKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9GC0YDQuNGC0L4iCiAKLSM6IGdpdC1zdGFzaC5zaDo2NjcKLW1zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCi1tc2dzdHIgItCd0LUg0LUg0YPQutCw0LfQsNC90L4g0LjQvNC1INC90LAg0LrQu9C+0L0iCi0KLSM6IGdpdC1zdGFzaC5zaDo3NDYKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzkyCiBtc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogbXNnc3RyICIo0JfQsCDQtNCwINCz0Lgg0LLRitC30YHRgtCw0L3QvtCy0LjRgtC1LCDQuNC30L/RitC70L3QtdGC0LUg0LrQvtC80LDQvdC00LDRgtCwIOKAnmdpdCBzdGFzaCBhcHBseeKAnCkiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTk4CisjOiBnaXQtc3VibW9kdWxlLnNoOjIwMgogbXNnaWQgIlJlbGF0aXZlIHBhdGggY2FuIG9ubHkgYmUgdXNlZCBmcm9tIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICIiCiAi0J7RgtC90L7RgdC40YLQtdC70LXQvSDQv9GK0YIg0LzQvtC20LUg0LTQsCDRgdC1INC/0L7Qu9C30LLQsCDRgdCw0LzQviDQvtGCINC+0YHQvdC+0LLQvdCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDQvdCwINGA0LDQsdC+0YLQvdC+0YLQviAiCiAi0LTRitGA0LLQviIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMDgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjEyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJyZXBvIFVSTDogJyRyZXBvJyBtdXN0IGJlIGFic29sdXRlIG9yIGJlZ2luIHdpdGggLi98Li4vIgogbXNnc3RyICIiCiAi0LDQtNGA0LXRgSDQvdCwINGF0YDQsNC90LjQu9C40YnQtTog4oCeJHtyZXBvfeKAnCDRgtGA0Y/QsdCy0LAg0LjQu9C4INC00LAg0LUg0LDQsdGB0L7Qu9GO0YLQtdC9LCDQuNC70Lgg0LTQsCDQt9Cw0L/QvtGH0LLQsCDRgSAiCiAi4oCeLi/igJwg0LjQu9C4IOKAni4uL+KAnCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMjcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjMxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCIKIG1zZ3N0ciAi4oCeJHtzbV9wYXRofeKAnCDQstC10YfQtSDRgdGK0YnQtdGB0YLQstGD0LLQsCDQsiDQuNC90LTQtdC60YHQsCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjM0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCBhbmQgaXMgbm90IGEgc3VibW9kdWxlIgogbXNnc3RyICLigJ4ke3NtX3BhdGh94oCcINCy0LXRh9C1INGB0YrRidC10YHRgtCy0YPQstCwINCyINC40L3QtNC10LrRgdCwINC4INC90LUg0LUg0L/QvtC00LzQvtC00YPQuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQxCisjLCBzaC1mb3JtYXQKK21zZ2lkICInJHNtX3BhdGgnIGRvZXMgbm90IGhhdmUgYSBjb21taXQgY2hlY2tlZCBvdXQiCittc2dzdHIgItCyIOKAniR7c21fcGF0aH3igJwg0L3QtSDQtSDQuNC30YLQtdCz0LvQtdC90L4g0L/QvtC00LDQstCw0L3QtSIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHBhdGggaXMgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgpAQCAtMjAyNzksMjQgKzIzNTU3LDI0IEBACiAiJHtzbV9wYXRofVxuIgogItCY0LfQv9C+0LvQt9Cy0LDQudGC0LUg0L7Qv9GG0LjRj9GC0LAg4oCeLWbigJwsINCw0LrQviDQt9CwINC00LAg0LPQviDQtNC+0LHQsNCy0LjRgtC1INC90LDQuNGB0YLQuNC90LAuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI1OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgogbXNnc3RyICLQlNC+0LHQsNCy0Y/QvdC1INC90LAg0YHRitGJ0LXRgdGC0LLRg9Cy0LDRidC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg0LIg4oCeJHtzbV9wYXRofeKAnCDQutGK0Lwg0LjQvdC00LXQutGB0LAiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjYxCisjOiBnaXQtc3VibW9kdWxlLnNoOjI3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGEgdmFsaWQgZ2l0IHJlcG8iCiBtc2dzdHIgIuKAniR7c21fcGF0aH3igJwg0YHRitGJ0LXRgdGC0LLRg9Cy0LAsINCwINC90LUg0LUg0YXRgNCw0L3QuNC70LjRidC1INC90LAgR2l0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI2OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkEgZ2l0IGRpcmVjdG9yeSBmb3IgJyRzbV9uYW1lJyBpcyBmb3VuZCBsb2NhbGx5IHdpdGggcmVtb3RlKHMpOiIKIG1zZ3N0ciAiIgogItCe0YLQutGA0LjRgtCwINC1INC70L7QutCw0LvQvdCwINC00LjRgNC10LrRgtC+0YDQuNGPINC90LAgR2l0IOKAlCDigJ4ke3NtX25hbWV94oCcLCDQutC+0Y/RgtC+INGB0L7Rh9C4INC60YrQvCAiCiAi0L7RgtC00LDQu9C10YfQtdC90LjRgtC1INGF0YDQsNC90LjQu9C40YnQsDoiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjcxCisjOiBnaXQtc3VibW9kdWxlLnNoOjI4MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gZnJvbVxuIgpAQCAtMjAzMTMsMzcgKzIzNTkxLDM3IEBACiAi0L/RgNCw0LLQuNC70L3QvtGC0L4g0YXRgNCw0L3QuNC70LjRidC1INC40LvQuCDQsNC60L4g0L3QtSDQt9C90LDQtdGC0LUg0LrQsNC60LLQviDQvtC30L3QsNGH0LDQstCwINGC0L7QstCwLCDQuNC30L/QvtC70LfQstCw0LnRgtC1XG4iCiAi0LTRgNGD0LPQviDQuNC80LUg0LrQsNGC0L4g0LDRgNCz0YPQvNC10L3RgiDQutGK0Lwg0L7Qv9GG0LjRj9GC0LAg4oCeLS1uYW1l4oCcLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Mjg4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWFjdGl2YXRpbmcgbG9jYWwgZ2l0IGRpcmVjdG9yeSBmb3Igc3VibW9kdWxlICckc21fbmFtZScuIgogbXNnc3RyICLQkNC60YLQuNCy0LjRgNCw0L3QtSDQvdCwINC70L7QutCw0LvQvdC+0YLQviDRhdGA0LDQvdC40LvQuNGJ0LUg0LfQsCDQv9C+0LTQvNC+0LTRg9C70LAg4oCeJHtzbV9uYW1lfeKAnCDQvdCw0L3QvtCy0L4uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDozMDAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAi0J/QvtC00LzQvtC00YPQu9GK0YIg4oCeJHtzbV9wYXRofeKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9GC0LXQs9C70LXQvSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyOTQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzA1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gYWRkIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICLQndC10YPRgdC/0LXRiNC90L4g0LTQvtCx0LDQstGP0L3QtSDQvdCwINC/0L7QtNC80L7QtNGD0LvQsCDigJ4ke3NtX3BhdGh94oCcIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMwMworIzogZ2l0LXN1Ym1vZHVsZS5zaDozMTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INGA0LXQs9C40YHRgtGA0LjRgNCw0L3QtSDQvdCwINC/0L7QtNC80L7QtNGD0LvQsCDigJ4ke3NtX3BhdGh94oCcIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU2MworIzogZ2l0LXN1Ym1vZHVsZS5zaDo1ODAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgItCi0LXQutGD0YnQsNGC0LAg0LLQtdGA0YHQuNGPINC30LAg0L/QvtC00LzQvtC00YPQu9CwINCyIOKAniR7ZGlzcGxheXBhdGh94oCcINC70LjQv9GB0LLQsCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NzMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC00L7RgdGC0LDQstGP0L3QtSDQsiDQv9GK0YLRjyDQutGK0Lwg0L/QvtC00LzQvtC00YPQuyDigJ4ke3NtX3BhdGh94oCcIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU3OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo1OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJVbmFibGUgdG8gZmluZCBjdXJyZW50ICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAiCkBAIC0yMDM1Miw5NCArMjM2MzAsOTggQEAKICLQotC10LrRg9GJ0LDRgtCwINCy0LXRgNGB0LjRjyDigJ4ke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH3igJwg0LIg0L/RitGC0Y8g0LrRitC8INC/0L7QtNC80L7QtNGD0Lsg4oCeJHtzbV9wYXRofeKAnCAiCiAi0LvQuNC/0YHQstCwIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU5NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTMKICMsIHNoLWZvcm1hdAotbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKLW1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC00L7RgdGC0LDQstGP0L3QtSDQsiDQv9GK0YLRjyDQutGK0Lwg0L/QvtC00LzQvtC00YPQuyDigJ4ke2Rpc3BsYXlwYXRofeKAnCIKK21zZ2lkICIiCisiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOyB0cnlpbmcgdG8gZGlyZWN0bHkgZmV0Y2ggIgorIiRzaGExOiIKK21zZ3N0ciAiIgorItCd0LXRg9GB0L/QtdGI0L3QviDQtNC+0YHRgtCw0LLRj9C90LUg0LIg0L/RitGC0Y8g0LrRitC8INC/0L7QtNC80L7QtNGD0Lsg4oCeJHtkaXNwbGF5cGF0aH3igJwsINC+0L/QuNGCINC30LAg0LTQuNGA0LXQutGC0L3QviAiCisi0LTQvtGB0YLQsNCy0Y/QvdC1INC90LAg4oCeJHtzaGExfeKAnCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MDIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiRmV0Y2hlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJywgYnV0IGl0IGRpZCBub3QgY29udGFpbiAkc2hhMS4gIgogIkRpcmVjdCBmZXRjaGluZyBvZiB0aGF0IGNvbW1pdCBmYWlsZWQuIgogbXNnc3RyICIiCiAi0J/QvtC00LzQvtC00YPQu9GK0YIg0LIg0L/RitGC0Y8g4oCeJGRpc3BsYXlwYXRo4oCcINC1INC00L7RgdGC0LDQstC10L0sINC90L4g0L3QtSDRgdGK0LTRitGA0LbQsCDQvtCx0LXQutGC0LAg0YHRitGBINGB0YPQvNCwXG4iCi0i4oCeJHNoYTHigJwuICDQlNC40YDQtdC60YLQvdC+0YLQviDQtNC+0YHRgtCw0LLRj9C90LUg0L3QsCDRgtC+0LLQsCDQv9C+0LTQsNCy0LDQvdC1INC1INC90LXRg9GB0L/QtdGI0L3Qvi4iCisi4oCeJHtzaGExfeKAnC4gINCU0LjRgNC10LrRgtC90L7RgtC+INC00L7RgdGC0LDQstGP0L3QtSDQvdCwINGC0L7QstCwINC/0L7QtNCw0LLQsNC90LUg0LUg0L3QtdGD0YHQv9C10YjQvdC+LiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MDkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjI2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogItCd0LXRg9GB0L/QtdGI0L3QviDQuNC30YLQtdCz0LvRj9C90LUg0L3QsCDQstC10YDRgdC40Y8g4oCeJHtzaGExfeKAnCDQsiDQv9GK0YLRjyDQutGK0Lwg0L/QvtC00LzQvtC00YPQuyDigJ4ke2Rpc3BsYXlwYXRofeKAnCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjEwCisjOiBnaXQtc3VibW9kdWxlLnNoOjYyNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IGNoZWNrZWQgb3V0ICckc2hhMSciCiBtc2dzdHIgItCf0YrRgiDQutGK0Lwg0L/QvtC00LzQvtC00YPQuyDigJ4ke2Rpc3BsYXlwYXRofeKAnDog0LjQt9GC0LXQs9C70LXQvdCwINC1INCy0LXRgNGB0LjRjyDigJ4ke3NoYTF94oCcIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYxNAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byByZWJhc2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogItCd0LXRg9GB0L/QtdGI0L3QviDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1INC90LAg0LLQtdGA0YHQuNGPIOKAniR7c2hhMX3igJwg0LIg0L/RitGC0Y8g0LrRitC8INC/0L7QtNC80L7QtNGD0LsgIgogIuKAniR7ZGlzcGxheXBhdGh94oCcIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYxNQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiByZWJhc2VkIGludG8gJyRzaGExJyIKIG1zZ3N0ciAi0J/RitGCINC60YrQvCDQv9C+0LTQvNC+0LTRg9C7IOKAniR7ZGlzcGxheXBhdGh94oCcOiDQv9GA0LXQsdCw0LfQuNGA0LDQvdC1INCy0YrRgNGF0YMg0LLQtdGA0YHQuNGPIOKAniR7c2hhMX3igJwiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjIwCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICLQndC10YPRgdC/0LXRiNC90L4g0YHQu9C40LLQsNC90LUg0L3QsCDQstC10YDRgdC40Y8g4oCeJHtzaGExfeKAnCDQsiDQv9GK0YLRjyDQutGK0Lwg0L/QvtC00LzQvtC00YPQuyDigJ4ke2Rpc3BsYXlwYXRofeKAnCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogbWVyZ2VkIGluICckc2hhMSciCiBtc2dzdHIgItCf0YrRgiDQutGK0Lwg0L/QvtC00LzQvtC00YPQuyDigJ4ke2Rpc3BsYXlwYXRofeKAnDog0YHQu9C40LLQsNC90LUg0YEg0LLQtdGA0YHQuNGPIOKAniR7c2hhMX3igJwiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjI2CisjOiBnaXQtc3VibW9kdWxlLnNoOjY0MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRXhlY3V0aW9uIG9mICckY29tbWFuZCAkc2hhMScgZmFpbGVkIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAi0J3QtdGD0YHQv9C10YjQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg0LrQvtC80LDQvdC00LDRgtCwIOKAniR7Y29tbWFuZH0gJHtzaGExfeKAnCDQsiDQv9GK0YLRjyDQutGK0Lwg0L/QvtC00LzQvtC00YPQuyAiCiAi4oCeJHtkaXNwbGF5cGF0aH3igJwiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjI3CisjOiBnaXQtc3VibW9kdWxlLnNoOjY0NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6ICckY29tbWFuZCAkc2hhMSciCiBtc2dzdHIgItCf0YrRgiDQutGK0Lwg0L/QvtC00LzQvtC00YPQuyDigJ4ke2Rpc3BsYXlwYXRofeKAnDog4oCeJHtjb21tYW5kfSAke3NoYTF94oCcIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY1OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICLQndC10YPRgdC/0LXRiNC90LAg0L7QsdGA0LDQsdC+0YLQutCwINC90LAg0L/QvtC00LTQuNGA0LXQutGC0L7RgNC40LjRgtC1INCyINC/0YrRgtGPINC60YrQvCDQv9C+0LTQvNC+0LTRg9C7IOKAniR7ZGlzcGxheXBhdGh94oCcIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjc1NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4ODYKIG1zZ2lkICJUaGUgLS1jYWNoZWQgb3B0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhlIC0tZmlsZXMgb3B0aW9uIgogbXNnc3RyICLQntC/0YbQuNC40YLQtSDigJ4tLWNhY2hlZOKAnCDQuCDigJ4tLWZpbGVz4oCcINGB0LAg0L3QtdGB0YrQstC80LXRgdGC0LjQvNC4IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgwNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MzgKICMsIHNoLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgbW9kZSAkbW9kX2RzdCIKIG1zZ3N0ciAi0L3QtdC+0YfQsNC60LLQsNC9INGA0LXQttC40Lwg4oCeJHttb2RfZHN0feKAnCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTU4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCiBtc2dzdHIgIiIKICIgINCf0KDQldCU0KPQn9Cg0JXQltCU0JXQndCY0JU6IOKAniR7ZGlzcGxheV9uYW1lfeKAnCDQvdC1INGB0YrQtNGK0YDQttCwINC/0L7QtNCw0LLQsNC90LXRgtC+IOKAniR7c2hhMV9zcmN94oCcIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgyOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5NjEKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiIgogIiAg0J/QoNCV0JTQo9Cf0KDQldCW0JTQldCd0JjQlTog4oCeJHtkaXNwbGF5X25hbWV94oCcINC90LUg0YHRitC00YrRgNC20LAg0L/QvtC00LDQstCw0L3QtdGC0L4g4oCeJHtzaGExX2RzdH3igJwiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODMyCisjOiBnaXQtc3VibW9kdWxlLnNoOjk2NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXRzICRzaGExX3NyYyBhbmQgJHNoYTFfZHN0IgogbXNnc3RyICIiCkBAIC0yMDQ1MSwxMiArMjM3MzMsMjEgQEAKIG1zZ2lkICJTZWUgZ2l0LSR7Y21kfSgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgItCX0LAg0L/QvtCy0LXRh9C1INC40L3RhNC+0YDQvNCw0YbQuNGPINC/0L7Qs9C70LXQtNC90LXRgtC1INGA0YrQutC+0LLQvtC00YHRgtCy0L7RgtC+INC90LAg4oCeZ2l0LSR7Y21kfSgxKeKAnCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjEzNgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjEwOQorbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKK21zZ3N0ciAi0JDQstGC0L7QvNCw0YLQuNGH0L3QviDRgdC60LDRgtCw0L3QvtGC0L4g0LUg0L/RgNC40LvQvtC20LXQvdC+LiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjExMgorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgorbXNnc3RyICLigJ4kc3Rhc2hfc2hhMeKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LDQt9C10L0iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxOTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYmFzaW5nICgkbmV3X2NvdW50LyR0b3RhbCkiCiBtc2dzdHIgItCf0YDQtdCx0LDQt9C40YDQsNC90LUgKCRuZXdfY291bnQvJHRvdGFsKSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjE1MgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjIwNwogbXNnaWQgIiIKICJcbiIKICJDb21tYW5kczpcbiIKQEAgLTIwNTAwLDcgKzIzNzkxLDcgQEAKICLQnNC+0LbQtSDQtNCwINC/0YDQvtC80LXQvdGP0YLQtSDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvQvdC+0YHRgtGC0LAg0L3QsCDRgNC10LTQvtCy0LXRgtC1IOKAlCDRgtC1INGB0LUg0LjQt9C/0YrQu9C90Y/QstCw0YJcbiIKICLQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvQvdC+INC+0YLQs9C+0YDQtS3QvdCw0LTQvtC70YMuXG4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMTUKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyNzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgY2FuIGFtZW5kIHRoZSBjb21taXQgbm93LCB3aXRoXG4iCkBAIC0yMDUxOSw4NCArMjM4MTAsODQgQEAKICJcbiIKICIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjQwCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Mjk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkc2hhMTogbm90IGEgY29tbWl0IHRoYXQgY2FuIGJlIHBpY2tlZCIKIG1zZ3N0ciAiJHNoYTE6INGC0L7QstCwINC90LUg0LUg0L/QvtC00LDQstCw0L3QtSwg0LrQvtC10YLQviDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQsdGA0LDQvdC+IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Mjc5CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzM0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGNvbW1pdCBuYW1lOiAkc2hhMSIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9C90L4g0LjQvNC1INC90LAg0L/QvtC00LDQstCw0L3QtTog4oCeJHNoYTHigJwiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozMDkKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozNjQKIG1zZ2lkICJDYW5ub3Qgd3JpdGUgY3VycmVudCBjb21taXQncyByZXBsYWNlbWVudCBzaGExIgogbXNnc3RyICIiCiAi0JfQsNC80LXRgdGC0LLQsNGJ0LDRgtCwINGB0YPQvNCwINC/0L4gU0hBMSDQt9CwINGC0LXQutGD0YnQvtGC0L4g0L/QvtC00LDQstCw0L3QtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LfQsNC/0LDQt9C10L3QsCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM2MAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQxNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkIHRvICRzaGExIgogbXNnc3RyICLQn9GA0LXQstGK0YDRgtCw0L3QtSDQtNC+IOKAniRzaGEx4oCcIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzYyCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDE3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZmFzdC1mb3J3YXJkIHRvICRzaGExIgogbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0LXQstGK0YDRgtC4INC00L4g4oCeJHNoYTHigJwiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozNzEKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBtb3ZlIEhFQUQgdG8gJGZpcnN0X3BhcmVudCIKIG1zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9GP0YIg4oCeSEVBROKAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvdCw0YHQvtGH0Lgg0LrRitC8IOKAniRmaXJzdF9wYXJlbnTigJwiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozNzYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIHNxdWFzaCBhIG1lcmdlOiAkc2hhMSIKIG1zZ3N0ciAi0J/QvtC00LDQstCw0L3QtdGC0L4g0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHQvNCw0YfQutCwOiDigJ4kc2hhMeKAnCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM5NAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ0OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRXJyb3IgcmVkb2luZyBtZXJnZSAkc2hhMSIKIG1zZ3N0ciAi0JPRgNC10YjQutCwINC/0YDQuCDQv9C+0LLRgtCw0YDRj9C90LXRgtC+INC90LAg0YHQu9C40LLQsNC90LXRgtC+INC90LAg4oCeJHNoYTHigJwiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MDMKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NTgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwaWNrICRzaGExIgogbXNnc3RyICLigJ4kc2hhMeKAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LHQtdGA0LUuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDEyCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDY3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIHRoZSBjb21taXQgbWVzc2FnZSAjJHtufToiCiBtc2dzdHIgItCi0L7QstCwINC1INGB0YrQvtCx0YnQtdC90LjQtSDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtSDihJYke259OiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQxNworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiVGhlIGNvbW1pdCBtZXNzYWdlICMke259IHdpbGwgYmUgc2tpcHBlZDoiCiBtc2dzdHIgItCh0YrQvtCx0YnQtdC90LjQtSDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtSDihJYke259INGJ0LUg0LHRitC00LUg0L/RgNC10YHQutC+0YfQtdC90L4uIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDI4CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDgzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJGNvdW50IGNvbW1pdC4iCiBtc2dpZF9wbHVyYWwgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0cy4iCiBtc2dzdHJbMF0gItCi0L7QstCwINC1INC+0LHQtdC00LjQvdC10L3QuNC1INC+0YIgJGNvdW50INC/0L7QtNCw0LLQsNC90LUuIgogbXNnc3RyWzFdICLQotC+0LLQsCDQtSDQvtCx0LXQtNC40L3QtdC90LjQtSDQvtGCICRjb3VudCDQv9C+0LTQsNCy0LDQvdC40Y8uIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDM3CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDkyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgd3JpdGUgJGZpeHVwX21zZyIKIG1zZ3N0ciAi0J3QvtCy0L7RgtC+INGB0YrQvtCx0YnQtdC90LjQtSDQv9GA0Lgg0L/QvtC00LDQstCw0L3QtSDigJ4kZml4dXBfbXNn4oCcINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQt9Cw0L/QsNC30LXQvdC+IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDQwCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDk1CiBtc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIDIgY29tbWl0cy4iCiBtc2dzdHIgItCi0L7QstCwINC1INC+0LHQtdC00LjQvdC10L3QuNC1INC+0YIgMiDQv9C+0LTQsNCy0LDQvdC40Y8iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0ODEgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjUyNAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjUyNworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjUzNiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NTc5CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NTgyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJHNoYTEuLi4gJHJlc3QiCiBtc2dzdHIgItCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0L7QtNCw0LTQtSAkc2hhMeKApiAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU1NgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYxMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBhbWVuZCBjb21taXQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHBpY2tpbmcgJHNoYTEuLi4gJHJlc3RcbiIKQEAgLTIwNjEyLDMxICsyMzkwMywzMSBAQAogItC60L7RgNC40LPQuNGA0LDRgtC1LFxuIgogItC/0YDQtdC00Lgg0LTQsCDQvNC+0LbQtdGC0LUg0LTQsCDQv9GA0L7QvNC10L3QuNGC0LUg0L/QvtC00LDQstCw0L3QtdGC0L4uIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NTcxCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjI2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkIGF0ICRzaGExX2FiYnJldi4uLiAkcmVzdCIKIG1zZ3N0ciAi0KHQv9C40YDQsNC90LUg0L/RgNC4IOKAniRzaGExX2FiYnJlduKApuKAnCAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU4NgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY0MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90ICckc3F1YXNoX3N0eWxlJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICLQkdC10Lcg0L/RgNC10LTRhdC+0LTQvdC+INC/0L7QtNCw0LLQsNC90LUg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9C/0YrQu9C90Lgg4oCeJHNxdWFzaF9zdHlsZeKAnCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYyOAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY4MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRXhlY3V0aW5nOiAkcmVzdCIKIG1zZ3N0ciAi0JIg0LzQvtC80LXQvdGC0LAg0YHQtSDQuNC30L/RitC70L3Rj9Cy0LA6ICRyZXN0IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjM2CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjkxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpb24gZmFpbGVkOiAkcmVzdCIKIG1zZ3N0ciAi0J3QtdGD0YHQv9C10YjQvdC+INC40LfQv9GK0LvQvdC10L3QuNC1OiAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYzOAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY5MwogbXNnaWQgImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICLQuCDQv9GA0L7QvNC10L3QuCDQuNC90LTQtdC60YHQsCDQuC/QuNC70Lgg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NDAKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2OTUKIG1zZ2lkICIiCiAiWW91IGNhbiBmaXggdGhlIHByb2JsZW0sIGFuZCB0aGVuIHJ1blxuIgogIlxuIgpAQCAtMjA2NDcsNyArMjM5MzgsNyBAQAogIiAgICBnaXQgcmViYXNlIC0tY29udGludWUiCiAKICMuIFRSQU5TTEFUT1JTOiBhZnRlciB0aGVzZSBsaW5lcyBpcyBhIGNvbW1hbmQgdG8gYmUgaXNzdWVkIGJ5IHRoZSB1c2VyCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjUzCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzA4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiRXhlY3V0aW9uIHN1Y2NlZWRlZDogJHJlc3RcbiIKQEAgLTIwNjYyLDI1ICsyMzk1MywyNSBAQAogIlxuIgogIiAgICBnaXQgcmViYXNlIC0tY29udGludWUiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NjQKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVua25vd24gY29tbWFuZDogJGNvbW1hbmQgJHNoYTEgJHJlc3QiCiBtc2dzdHIgItCd0LXQv9C+0LfQvdCw0YLQsCDQutC+0LzQsNC90LTQsDogJGNvbW1hbmQgJHNoYTEgJHJlc3QiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NjUKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MjAKIG1zZ2lkICJQbGVhc2UgZml4IHRoaXMgdXNpbmcgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKIG1zZ3N0ciAi0JrQvtGA0LjQs9C40YDQsNC50YLQtSDRgtC+0LLQsCDRh9GA0LXQtyDigJ5naXQgcmViYXNlIC0tZWRpdC10b2Rv4oCcLiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjcwMAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc1NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VjY2Vzc2Z1bGx5IHJlYmFzZWQgYW5kIHVwZGF0ZWQgJGhlYWRfbmFtZS4iCiBtc2dzdHIgItCj0YHQv9C10YjQvdC+INC/0YDQtdCx0LDQt9C40YDQsNC90LUg0Lgg0L7QsdC90L7QstGP0LLQsNC90LUg0L3QsCDigJ4kaGVhZF9uYW1l4oCcLiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc1NworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgxMgogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKIG1zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9GP0YIg4oCeQ0hFUlJZX1BJQ0tfSEVBROKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0LjQt9GC0YDQuNGCIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzYyCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODE3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuXG4iCkBAIC0yMDcxMCwxMSArMjQwMDEsMTEgQEAKICJcbiIKICIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3NzkKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MzQKIG1zZ2lkICJFcnJvciB0cnlpbmcgdG8gZmluZCB0aGUgYXV0aG9yIGlkZW50aXR5IHRvIGFtZW5kIGNvbW1pdCIKIG1zZ3N0ciAi0J3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC+0YLQutGA0LjRgiDQsNCy0YLQvtGAINC30LAg0L/QvtC/0YDQsNCy0Y/QvdC10YLQviDQvdCwINC/0L7QtNCw0LLQsNC90LXRgtC+IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Nzg0CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODM5CiBtc2dpZCAiIgogIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSBjb21taXQgdGhlbVxuIgogImZpcnN0IGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBhZ2Fpbi4iCkBAIC0yMDcyMiwzMyArMjQwMTMsMzMgQEAKICLQkiDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviDQuNC80LAg0L3QtdC/0L7QtNCw0LTQtdC90Lgg0L/RgNC+0LzQtdC90LguICDQn9GK0YDQstC+INCz0Lgg0L/QvtC00LDQudGC0LUsINCwINGB0LvQtdC0INGC0L7QstCwXG4iCiAi0L7RgtC90L7QstC+INC40LfQv9GK0LvQvdC10YLQtSDigJ5naXQgcmViYXNlIC0tY29udGludWXigJwuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Nzg5IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3OTMKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NDQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg0OAogbXNnaWQgIkNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICLQn9GA0L7QvNC10L3QuNGC0LUg0LIg0LjQvdC00LXQutGB0LAg0L3QtSDQvNC+0LPQsNGCINC00LAg0LHRitC00LDRgiDQv9C+0LTQsNC00LXQvdC4LiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgyNCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTEwCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODc5IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NjUKIG1zZ2lkICJDb3VsZCBub3QgZXhlY3V0ZSBlZGl0b3IiCiBtc2dzdHIgItCi0LXQutGB0YLQvtCy0LjRj9GCINGA0LXQtNCw0LrRgtC+0YAg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YLQsNGA0YLQuNGA0LDQvSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg0NQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkwMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNoZWNrb3V0ICRzd2l0Y2hfdG8iCiBtc2dzdHIgIuKAniRzd2l0Y2hfdG/igJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9GC0LXQs9C70LgiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NTIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MDcKIG1zZ2lkICJObyBIRUFEPyIKIG1zZ3N0ciAi0JvQuNC/0YHQstCwINGD0LrQsNC30LDRgtC10Lsg4oCeSEVBROKAnCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg1MworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkwOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJHN0YXRlX2RpciIKIG1zZ3N0ciAi0JLRgNC10LzQtdC90L3QsNGC0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g4oCeJHN0YXRlX2RpcuKAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YHRitC30LTQsNC00LXQvdCwIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODU2CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTExCiBtc2dpZCAiQ291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCiBtc2dzdHIgItCf0YDQtdCx0LDQt9C40YDQsNC90LXRgtC+INC90LUg0LUg0LjQvdGC0LXRgNCw0LrRgtC40LLQvdC+IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODg4CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTQzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kKSIKIG1zZ2lkX3BsdXJhbCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZHMpIgpAQCAtMjA3NTcsNyArMjQwNDgsNyBAQAogbXNnc3RyWzFdICIiCiAi0J/RgNC10LHQsNC30LjRgNCw0L3QtSDQvdCwICRzaG9ydHJldmlzaW9ucyDQstGK0YDRhdGDICRzaG9ydG9udG8gKCR0b2RvY291bnQg0LrQvtC80LDQvdC00LgpIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTQyIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NDcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5OTcgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjEwMDIKIG1zZ2lkICJDb3VsZCBub3QgaW5pdCByZXdyaXR0ZW4gY29tbWl0cyIKIG1zZ3N0ciAi0KHQv9C40YHRitC60YrRgiDRgSDQv9GA0LXQt9Cw0L/QuNGB0LDQvdC40YLQtSDQv9C+0LTQsNCy0LDQvdC40Y8g0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGB0YrQt9C00LDQtNC10L0iCiAKQEAgLTIwNzY2LDE0NCArMjQwNTcsODIgQEAKIG1zZ2lkICJ1c2FnZTogJGRhc2hsZXNzICRVU0FHRSIKIG1zZ3N0ciAi0KPQv9C+0YLRgNC10LHQsDogJGRhc2hsZXNzICRVU0FHRSIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjE5MAorIzogZ2l0LXNoLXNldHVwLnNoOjE5MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGNoZGlyIHRvICRjZHVwLCB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogItCd0LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQtdC80LjQvdC1INC60YrQvCDigJ4kY2R1cOKAnCDigJQg0L7RgdC90L7QstC90LDRgtCwINC00LjRgNC10LrRgtC+0YDQuNGPINC90LAg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4uIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MTk5IGdpdC1zaC1zZXR1cC5zaDoyMDYKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMDAgZ2l0LXNoLXNldHVwLnNoOjIwNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiZmF0YWw6ICRwcm9ncmFtX25hbWUgY2Fubm90IGJlIHVzZWQgd2l0aG91dCBhIHdvcmtpbmcgdHJlZS4iCiBtc2dzdHIgIiIKICLQpNCQ0KLQkNCb0J3QkCDQk9Cg0JXQqNCa0JA6IOKAniRwcm9ncmFtX25hbWXigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/QvtC70LfQstCwINCx0LXQtyDRgNCw0LHQvtGC0L3QviDQtNGK0YDQstC+LiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjIyMAorIzogZ2l0LXNoLXNldHVwLnNoOjIyMQogbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0L/RgNC10LHQsNC30LjRgNCw0YLQtSwg0LfQsNGJ0L7RgtC+INC40LzQsCDQv9GA0L7QvNC10L3QuCwg0LrQvtC40YLQviDQvdC1INGB0LAg0LIg0LjQvdC00LXQutGB0LAuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjIzCisjOiBnaXQtc2gtc2V0dXAuc2g6MjI0CiBtc2dpZCAiQ2Fubm90IHJld3JpdGUgYnJhbmNoZXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICIiCiAi0J3QtSDQvNC+0LbQtSDQtNCwINC/0YDQtdC30LDQv9C40YjQtdGC0LUg0LrQu9C+0L3QuNGC0LUsINC30LDRidC+0YLQviDQuNC80LAg0L/RgNC+0LzQtdC90LgsINC60L7QuNGC0L4g0L3QtSDRgdCwINCyINC40L3QtNC10LrRgdCwLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjIyNgorIzogZ2l0LXNoLXNldHVwLnNoOjIyNwogbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogItCd0LUg0LzQvtC20LXRgtC1INC00LAg0LjQt9C00YrRgNC/0LLQsNGC0LUg0L/RgNC4INGC0L7QstCwINC/0YDQtdCx0LDQt9C40YDQsNC90LUsINC30LDRidC+0YLQviDQuNC80LAg0L/RgNC+0LzQtdC90LgsINC60L7QuNGC0L4g0L3QtSAiCiAi0YHQsCDQsiDQuNC90LTQtdC60YHQsC4iCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoyMjkKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCAkYWN0aW9uOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogItCd0LUg0LzQvtC20LXRgtC1INC00LAg0LjQt9C/0YrQu9C90LjRgtC1IOKAniRhY3Rpb27igJwsINC30LDRidC+0YLQviDQuNC80LAg0L/RgNC+0LzQtdC90LgsINC60L7QuNGC0L4g0L3QtSDRgdCwINCyINC40L3QtNC10LrRgdCwLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjI0MgorIzogZ2l0LXNoLXNldHVwLnNoOjI0MwogbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgItCd0LUg0LzQvtC20LUg0LTQsCDQv9GA0LXQsdCw0LfQuNGA0LDRgtC1LCDQt9Cw0YnQvtGC0L4g0LIg0LjQvdC00LXQutGB0LAg0LjQvNCwINC90LXQv9C+0LTQsNC00LXQvdC4INC/0YDQvtC80LXQvdC4LiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjI0NQorIzogZ2l0LXNoLXNldHVwLnNoOjI0NgogbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICIiCiAi0J3QtSDQvNC+0LbQtdGC0LUg0LTQsCDQuNC30LTRitGA0L/QstCw0YLQtSDQv9GA0Lgg0YLQvtCy0LAg0L/RgNC10LHQsNC30LjRgNCw0L3QtSwg0LfQsNGJ0L7RgtC+INCyINC40L3QtNC10LrRgdCwINC40LzQsCAiCiAi0L3QtdC/0L7QtNCw0LTQtdC90Lgg0L/RgNC+0LzQtdC90LguIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjQ4CisjOiBnaXQtc2gtc2V0dXAuc2g6MjQ5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgJGFjdGlvbjogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogItCd0LUg0LzQvtC20LXRgtC1INC00LAg0LjQt9C/0YrQu9C90LjRgtC1IOKAniRhY3Rpb27igJwsINC30LDRidC+0YLQviDQsiDQuNC90LTQtdC60YHQsCDQuNC80LAg0L3QtdC/0L7QtNCw0LTQtdC90Lgg0L/RgNC+0LzQtdC90LguIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjUyCisjOiBnaXQtc2gtc2V0dXAuc2g6MjUzCiBtc2dpZCAiQWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICLQntGB0LLQtdC9INGC0L7QstCwINCyINC40L3QtNC10LrRgdCwINC40LzQsCDQvdC10L/QvtC00LDQtNC10L3QuCDQv9GA0L7QvNC10L3QuC4iCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDozNzIKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzMKIG1zZ2lkICJZb3UgbmVlZCB0byBydW4gdGhpcyBjb21tYW5kIGZyb20gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUuIgogbXNnc3RyICIiCiAi0KLQsNC30Lgg0LrQvtC80LDQvdC00LAg0YLRgNGP0LHQstCwINC00LAg0YHQtSDQuNC30L/RitC70L3QuCDQvtGCINC+0YHQvdC+0LLQvdCw0YLQsCDQtNC40YDQtdC60YLQvtGA0LjRjyDQvdCwINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+IgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6Mzc3CisjOiBnaXQtc2gtc2V0dXAuc2g6Mzc4CiBtc2dpZCAiVW5hYmxlIHRvIGRldGVybWluZSBhYnNvbHV0ZSBwYXRoIG9mIGdpdCBkaXJlY3RvcnkiCiBtc2dzdHIgItCQ0LHRgdC+0LvRjtGC0L3QuNGP0YIg0L/RitGCINC90LAg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4g0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7Qv9GA0LXQtNC10LvQuCIKIAogIy4gVFJBTlNMQVRPUlM6IHlvdSBjYW4gYWRqdXN0IHRoaXMgdG8gYWxpZ24gImdpdCBhZGQgLWkiIHN0YXR1cyBtZW51Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMTIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJTEycyAlMTJzICVzIgogbXNnc3RyICIlMTRzICUxNHMgJXMiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk3Ci1tc2dpZCAic3RhZ2VkIgotbXNnc3RyICLQsiDQuNC90LTQtdC60YHQsCIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKLW1zZ2lkICJ1bnN0YWdlZCIKLW1zZ3N0ciAi0LjQt9Cy0YrQvSDQuNC90LTQtdC60YHQsCIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNzgKLW1zZ2lkICJiaW5hcnkiCi1tc2dzdHIgItC00LLQvtC40YfQvdC+IgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI2MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMxNgotbXNnaWQgIm5vdGhpbmciCi1tc2dzdHIgItC90LjRidC+IgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI5OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMxMwotbXNnaWQgInVuY2hhbmdlZCIKLW1zZ3N0ciAi0L3Rj9C80LAg0L/RgNC+0LzQtdC90LgiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjA5Ci0jLCBwZXJsLWZvcm1hdAotbXNnaWQgImFkZGVkICVkIHBhdGhcbiIKLW1zZ2lkX3BsdXJhbCAiYWRkZWQgJWQgcGF0aHNcbiIKLW1zZ3N0clswXSAiJWQg0YTQsNC50Lsg0LTQvtCx0LDQstC10L1cbiIKLW1zZ3N0clsxXSAiJWQg0YTQsNC50LvQsCDQtNC+0LHQsNCy0LXQvdC4XG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjEyCi0jLCBwZXJsLWZvcm1hdAotbXNnaWQgInVwZGF0ZWQgJWQgcGF0aFxuIgotbXNnaWRfcGx1cmFsICJ1cGRhdGVkICVkIHBhdGhzXG4iCi1tc2dzdHJbMF0gIiVkINGE0LDQudC7INC+0LHQvdC+0LLQtdC9XG4iCi1tc2dzdHJbMV0gIiVkINGE0LDQudC70LAg0L7QsdC90L7QstC10L3QuFxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYxNQotIywgcGVybC1mb3JtYXQKLW1zZ2lkICJyZXZlcnRlZCAlZCBwYXRoXG4iCi1tc2dpZF9wbHVyYWwgInJldmVydGVkICVkIHBhdGhzXG4iCi1tc2dzdHJbMF0gIiVkINGE0LDQudC7INGBINC+0YLQvNC10L3QtdC90Lgg0L/RgNC+0LzQtdC90LhcbiIKLW1zZ3N0clsxXSAiJWQg0YTQsNC50LvQsCDRgSDQvtGC0LzQtdC90LXQvdC4INC/0YDQvtC80LXQvdC4XG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjE4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYzNAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ0b3VjaGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAidG91Y2hlZCAlZCBwYXRoc1xuIgogbXNnc3RyWzBdICIlZCDRhNCw0LnQuyDQt9Cw0YHQtdCz0L3QsNGCXG4iCiBtc2dzdHJbMV0gIiVkINGE0LDQudC70LAg0LfQsNGB0LXQs9C90LDRgtC4XG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjI3Ci1tc2dpZCAiVXBkYXRlIgotbXNnc3RyICLQntCx0L3QvtCy0Y/QstCw0L3QtSIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzkKLW1zZ2lkICJSZXZlcnQiCi1tc2dzdHIgItCe0YLQvNGP0L3QsCIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NjIKLSMsIHBlcmwtZm9ybWF0Ci1tc2dpZCAibm90ZTogJXMgaXMgdW50cmFja2VkIG5vdy5cbiIKLW1zZ3N0ciAi0JHQldCb0JXQltCa0JA6IOKAniVz4oCcINCy0LXRh9C1INC90LUg0YHQtSDRgdC70LXQtNC4LlxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY3MwotbXNnaWQgIkFkZCB1bnRyYWNrZWQiCi1tc2dzdHIgItCU0L7QsdCw0LLRj9C90LUg0L3QsCDQvdC10YHQu9C10LTQtdC90LgiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Njc5Ci1tc2dpZCAiTm8gdW50cmFja2VkIGZpbGVzLlxuIgotbXNnc3RyICLQndGP0LzQsCDQvdC10YHQu9C10LTQtdC90Lgg0YTQsNC50LvQvtCy0LUuXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAzMworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDUzCiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBzdGFnaW5nLiIKQEAgLTIwOTEyLDcgKzI0MTQxLDcgQEAKICLQvdC10LfQsNCx0LDQstC90L5cbiIKICLQtNC+0LHQsNCy0LXQvdC+INC60YrQvCDQuNC90LTQtdC60YHQsCIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDM2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTYKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHN0YXNoaW5nLiIKQEAgLTIwOTIxLDcgKzI0MTUwLDcgQEAKICLQvdC10LfQsNCx0LDQstC90L5cbiIKICLRgdC60YrRgtCw0L3QviIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDM5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTkKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHVuc3RhZ2luZy4iCkBAIC0yMDkzMCw3ICsyNDE1OSw4IEBACiAi0L3QtdC30LDQsdCw0LLQvdC+XG4iCiAi0LjQt9Cy0LDQtNC10L3QviDQvtGCINC40L3QtNC10LrRgdCwLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDYyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA3MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDc3CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBhcHBseWluZy4iCkBAIC0yMDkzOSw3ICsyNDE2OSw4IEBACiAi0L3QtdC30LDQsdCw0LLQvdC+XG4iCiAi0L3QsNCx0LXQu9GP0LfQsNC90L4g0LfQsCDQv9GA0LjQu9Cw0LPQsNC90LUuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQ4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNzQKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIGRpc2NhcmRpbmcuIgpAQCAtMjA5NDgsMTYgKzI0MTc5LDEyIEBACiAi0L3QtdC30LDQsdCw0LLQvdC+XG4iCiAi0L3QsNCx0LXQu9GP0LfQsNC90L4g0LfQsCDQt9Cw0L3Rg9C70Y/QstCw0L3QtS4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA4NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTExCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuIGh1bmsgZWRpdCBmaWxlIGZvciB3cml0aW5nOiAlcyIKIG1zZ3N0ciAi0YTQsNC50LvRitGCINC30LAg0YDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINC/0LDRgNGH0LXRgtC+INC60L7QtCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtCy0L7RgNC10L06IOKAniVz4oCcIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwODYKLW1zZ2lkICJNYW51YWwgaHVuayBlZGl0IG1vZGUgLS0gc2VlIGJvdHRvbSBmb3IgYSBxdWljayBndWlkZS5cbiIKLW1zZ3N0ciAi0KDRitGH0L3QviDRgNC10LTQsNC60YLQuNGA0LDQvdC1INC90LAg0L/QsNGA0YfQtdGC0LAg0LrQvtC0IOKAlCDQvtGC0LTQvtC70YMg0LjQvNCwINC/0L7QtNGB0LrQsNC30LrQsC5cbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDkyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIi0tLVxuIgpAQCAtMjA5NzEsMzggKzI0MTk4LDEzIEBACiAi0JfQsCDQtNCwINC/0YDQvtC/0YPRgdC90LXRgtC1INGA0LXQtNC+0LLQtdGC0LUg0LfQsNC/0L7Rh9Cy0LDRidC4INGBIOKAniVz4oCcIOKAlCDQuNC30YLRgNC40LnRgtC1INCz0LguXG4iCiAi0KDQtdC00L7QstC10YLQtSwg0LrQvtC40YLQviDQt9Cw0L/QvtGH0LLQsNGCINGBIOKAniVz4oCcINGJ0LUg0LHRitC00LDRgiDQv9GA0L7Qv9GD0YHQvdCw0YLQuC5cbiIKIAotIy4gVFJBTlNMQVRPUlM6ICdpdCcgcmVmZXJzIHRvIHRoZSBwYXRjaCBtZW50aW9uZWQgaW4gdGhlIHByZXZpb3VzIG1lc3NhZ2VzLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTAwCi1tc2dpZCAiIgotIklmIGl0IGRvZXMgbm90IGFwcGx5IGNsZWFubHksIHlvdSB3aWxsIGJlIGdpdmVuIGFuIG9wcG9ydHVuaXR5IHRvXG4iCi0iZWRpdCBhZ2Fpbi4gIElmIGFsbCBsaW5lcyBvZiB0aGUgaHVuayBhcmUgcmVtb3ZlZCwgdGhlbiB0aGUgZWRpdCBpc1xuIgotImFib3J0ZWQgYW5kIHRoZSBodW5rIGlzIGxlZnQgdW5jaGFuZ2VkLlxuIgotbXNnc3RyICIiCi0i0JDQutC+INC1INC90LXQstGK0LfQvNC+0LbQvdC+INGH0LjRgdGC0L4g0L/RgNC40LvQsNCz0LDQvdC1INC90LAg0LrQvtC00LAsINGJ0LUg0LzQvtC20LUg0L/QsNC6INC00LAg0YDQtdC00LDQutGC0LjRgNCw0YLQtS4gINCQ0LrQvlxuIgotItC40LfRgtGA0LjQtdGC0LUg0LLRgdC40YfQutC4INGA0LXQtNC+0LLQtSDQvtGCINC/0LDRgNGH0LXRgtC+INC60L7QtCwg0YLQviDRidC1INCx0YrQtNC1INC+0YHRgtCw0LLQtdC90L4g0L3QtdC/0YDQvtC80LXQvdC10L3Qviwg0LBcbiIKLSLRgNC10LTQsNC60YLQuNGA0LDQvdC10YLQviDigJQg0L7RgtC60LDQt9Cw0L3Qvi5cbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTE0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNDAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHJlYWRpbmc6ICVzIgogbXNnc3RyICIiCiAi0YTQsNC50LvRitGCINC30LAg0YDQtdC00LDQutGC0LjRgNCw0L3QtSDQvdCwINC/0LDRgNGH0LXRgtC+INC60L7QtCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtCy0L7RgNC10L0g0LfQsCDRh9C10YLQtdC90LU6IOKAniVz4oCcIgogCi0jLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSBbeS9uXQotIy4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCB0aGF0IGlucHV0Ci0jLiBhdCB0aGlzIHBvaW50LgotIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKLSMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCi0jLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIxMwotbXNnaWQgIiIKLSJZb3VyIGVkaXRlZCBodW5rIGRvZXMgbm90IGFwcGx5LiBFZGl0IGFnYWluIChzYXlpbmcgXCJub1wiIGRpc2NhcmRzISkgW3kvbl0/ICIKLW1zZ3N0ciAiIgotItCg0LXQtNCw0LrRgtC40YDQsNC90L7RgtC+INC/0LDRgNGH0LUg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC40LvQvtC20LguICDQlNCwINGB0LUg0L/RgNC+0LTRitC70LbQuCDQu9C4INGBICIKLSLRgNC10LTQsNC60YLQuNGA0LDQvdC10YLQvj8gKNGC0LXQutGD0YnQuNGC0LUg0YDQtdC00LDQutGG0LjQuCDRidC1INGB0LUg0L7RgtC80LXQvdGP0YIg0L/RgNC4INC+0YLQutCw0LchKTog4oCeeeKAnCAo0LTQsCkvICIKLSLigJ5u4oCcICjQvdC1KT8gIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI0OAogbXNnaWQgIiIKICJ5IC0gc3RhZ2UgdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmtcbiIKQEAgLTIxMDE2LDcgKzI0MjE4LDcgQEAKICJhIOKAlCDQtNC+0LHQsNCy0Y/QvdC1INC90LAg0YLQvtCy0LAg0Lgg0LLRgdC40YfQutC4INGB0LvQtdC00LLQsNGJ0Lgg0L/QsNGA0YfQtdGC0LAg0L7RgiDRhNCw0LnQu9CwINCyINC40L3QtNC10LrRgdCwXG4iCiAiZCDigJQg0LHQtdC3INC00L7QsdCw0LLRj9C90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0YHQu9C10LTQstCw0YnQuCDQv9Cw0YDRh9C10YLQsCDQvtGCINGE0LDQudC70LAg0LIg0LjQvdC00LXQutGB0LAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyOAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjU0CiBtc2dpZCAiIgogInkgLSBzdGFzaCB0aGlzIGh1bmtcbiIKICJuIC0gZG8gbm90IHN0YXNoIHRoaXMgaHVua1xuIgpAQCAtMjEwMzAsNyArMjQyMzIsNyBAQAogImEg4oCUINGB0LrQsNGC0LDQstCw0L3QtSDQvdCwINGC0L7QstCwINC4INCy0YHQuNGH0LrQuCDRgdC70LXQtNCy0LDRidC4INC/0LDRgNGH0LXRgtCwINC+0YIg0YTQsNC50LvQsFxuIgogImQg4oCUINCx0LXQtyDRgdC60LDRgtCw0LLQsNC90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0YHQu9C10LTQstCw0YnQuCDQv9Cw0YDRh9C10YLQsCDQvtGCINGE0LDQudC70LAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIzNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjYwCiBtc2dpZCAiIgogInkgLSB1bnN0YWdlIHRoaXMgaHVua1xuIgogIm4gLSBkbyBub3QgdW5zdGFnZSB0aGlzIGh1bmtcbiIKQEAgLTIxMDQ0LDcgKzI0MjQ2LDcgQEAKICJhIOKAlCDQuNC30LLQsNC20LTQsNC90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0YHQu9C10LTQstCw0YnQuCDQv9Cw0YDRh9C10YLQsCDQvtGCINGE0LDQudC70LAg0L7RgiDQuNC90LTQtdC60YHQsFxuIgogImQg4oCUINCx0LXQtyDQuNC30LLQsNC20LTQsNC90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0YHQu9C10LTQstCw0YnQuCDQv9Cw0YDRh9C10YLQsCDQvtGCINGE0LDQudC70LAg0L7RgiDQuNC90LTQtdC60YHQsCIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNjYKIG1zZ2lkICIiCiAieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgogIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4XG4iCkBAIC0yMTA1OCw3ICsyNDI2MCw3IEBACiAiYSDigJQg0L/RgNC40LvQsNCz0LDQvdC1INC90LAg0YLQvtCy0LAg0Lgg0LLRgdC40YfQutC4INGB0LvQtdC00LLQsNGJ0Lgg0L/QsNGA0YfQtdGC0LAg0L7RgiDRhNCw0LnQu9CwINC60YrQvCDQuNC90LTQtdC60YHQsFxuIgogImQg4oCUINCx0LXQtyDQv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0YHQu9C10LTQstCw0YnQuCDQv9Cw0YDRh9C10YLQsCDQvtGCINGE0LDQudC70LAg0LrRitC8INC40L3QtNC10LrRgdCwIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyOTAKIG1zZ2lkICIiCiAieSAtIGRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWVcbiIKICJuIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWVcbiIKQEAgLTIxMDc1LDcgKzI0Mjc3LDcgQEAKICJkIOKAlCDQsdC10Lcg0L/RgNC10LzQsNGF0LLQsNC90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0YHQu9C10LTQstCw0YnQuCDQv9Cw0YDRh9C10YLQsCDQvtGCINGE0LDQudC70LAg0L7RgiDRgNCw0LHQvtGC0L3QvtGC0L4gIgogItC00YrRgNCy0L4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI1MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjc4CiBtc2dpZCAiIgogInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWVcbiIKQEAgLTIxMDkyLDcgKzI0Mjk0LDcgQEAKICJkIOKAlCDQsdC10Lcg0L/RgNC10LzQsNGF0LLQsNC90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0YHQu9C10LTQstCw0YnQuCDQv9Cw0YDRh9C10YLQsCDQvtGCINGE0LDQudC70LAg0L7RgiDQuNC90LTQtdC60YHQsCDQuCAiCiAi0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI1OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjg0CiBtc2dpZCAiIgogInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlXG4iCkBAIC0yMTEwOSw3ICsyNDMxMSwyMSBAQAogImQg4oCUINCx0LXQtyDQv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0YHQu9C10LTQstCw0YnQuCDQv9Cw0YDRh9C10YLQsCDQvtGCINGE0LDQudC70LAg0L7RgiDQuNC90LTQtdC60YHQsCDQuCAiCiAi0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjk2Cittc2dpZCAiIgorInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gd29ya3RyZWVcbiIKKyJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byB3b3JrdHJlZVxuIgorInEgLSBxdWl0OyBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gYXBwbHkgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKKyJkIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgorbXNnc3RyICIiCisieSDigJQg0L/RgNC40LvQsNCz0LDQvdC1INC90LAg0L/QsNGA0YfQtdGC0L4g0LrRitC8INGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+XG4iCisibiDigJQg0LHQtdC3INC/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC/0LDRgNGH0LXRgtC+INC60YrQvCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQvlxuIgorInEg4oCUINC40LfRhdC+0LQsINCx0LXQtyDQv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0L7RgdGC0LDQstCw0YnQuCDQv9Cw0YDRh9C10YLQsFxuIgorImEg4oCUINC/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINGC0L7QstCwINC4INCy0YHQuNGH0LrQuCDRgdC70LXQtNCy0LDRidC4INC/0LDRgNGH0LXRgtCwINC+0YIg0YTQsNC50LvQsFxuIgorImQg4oCUINCx0LXQtyDQv9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDRgtC+0LLQsCDQuCDQstGB0LjRh9C60Lgg0YHQu9C10LTQstCw0YnQuCDQv9Cw0YDRh9C10YLQsCDQvtGCINGE0LDQudC70LAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMQogbXNnaWQgIiIKICJnIC0gc2VsZWN0IGEgaHVuayB0byBnbyB0b1xuIgogIi8gLSBzZWFyY2ggZm9yIGEgaHVuayBtYXRjaGluZyB0aGUgZ2l2ZW4gcmVnZXhcbiIKQEAgLTIxMTMxLDIyMCArMjQzNDcsMjA5IEBACiAiZSDigJQg0YDRitGH0L3QviDRgNC10LTQsNC60YLQuNGA0LDQvdC1INC90LAg0YLQtdC60YPRidC+0YLQviDQv9Cw0YDRh9C1XG4iCiAiPyDigJQg0LjQt9Cy0LXQttC00LDQvdC1INC90LUg0L/QvtC80L7RidGC0LBcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNDIKIG1zZ2lkICJUaGUgc2VsZWN0ZWQgaHVua3MgZG8gbm90IGFwcGx5IHRvIHRoZSBpbmRleCFcbiIKIG1zZ3N0ciAi0JjQt9Cx0YDQsNC90LjRgtC1INC/0LDRgNGH0LXRgtCwINC90LUg0LzQvtCz0LDRgiDQtNCwINGB0LUg0LTQvtCx0LDQstGP0YIg0LIg0LjQvdC00LXQutGB0LAhXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzQzCiBtc2dpZCAiQXBwbHkgdGhlbSB0byB0aGUgd29ya3RyZWUgYW55d2F5PyAiCiBtc2dzdHIgItCU0LAg0YHQtSDQv9GA0LjQu9C+0LbQsNGCINC70Lgg0LrRitC8INGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+PyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwOAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzQ2CiBtc2dpZCAiTm90aGluZyB3YXMgYXBwbGllZC5cbiIKIG1zZ3N0ciAi0J3QuNGJ0L4g0L3QtSDQtSDQv9GA0LjQu9C+0LbQtdC90L4uXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxOQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzU3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHVubWVyZ2VkOiAlc1xuIgogbXNnc3RyICLQv9GA0LXQvdC10LHRgNC10LPQstCw0L3QtSDQvdCwINC90LXRgdC70Y/RgtC+0YLQvjog4oCeJXPigJxcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI4Ci1tc2dpZCAiT25seSBiaW5hcnkgZmlsZXMgY2hhbmdlZC5cbiIKLW1zZ3N0ciAi0KHQsNC80L4g0LTQstC+0LjRh9C90Lgg0YTQsNC50LvQvtCy0LUg0YHQsCDQv9GA0L7QvNC10L3QtdC90LguXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzMAotbXNnaWQgIk5vIGNoYW5nZXMuXG4iCi1tc2dzdHIgItCd0Y/QvNCwINC/0YDQvtC80LXQvdC4LlxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzgKLW1zZ2lkICJQYXRjaCB1cGRhdGUiCi1tc2dzdHIgItCe0LHQvdC+0LLRj9Cy0LDQvdC1INC90LAg0LrRgNGK0L/QutCwIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAi0JTQvtCx0LDQstGP0L3QtSDQvdCwINC/0YDQvtC80Y/QvdCw0YLQsCDQvdCwINC/0YDQsNCy0LDRgtCwINC30LAg0LTQvtGB0YLRitC/IFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyOQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAi0JTQvtCx0LDQstGP0L3QtSDQvdCwINC40LfRgtGA0LjQstCw0L3QtdGC0L4gW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDMwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAi0JTQvtCx0LDQstGP0L3QtSDQvdCwINGC0L7QstCwINC/0LDRgNGH0LUgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDMzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICLQodC60LDRgtCw0LLQsNC90LUg0L3QsCDQv9GA0L7QvNGP0L3QsNGC0LAg0L3QsCDQv9GA0LDQstCw0YLQsCDQt9CwINC00L7RgdGC0YrQvyBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzk2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3Rhc2ggZGVsZXRpb24gW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgItCh0LrQsNGC0LDQstCw0L3QtSDQvdCwINC40LfRgtGA0LjQstCw0L3QtdGC0L4gW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDM1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIHRoaXMgaHVuayBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAi0KHQutCw0YLQsNCy0LDQvdC1INC90LAg0YLQvtCy0LAg0L/QsNGA0YfQtSBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDAwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5zdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAi0JjQt9Cy0LDQttC00LDQvdC1INC90LAg0L/RgNC+0LzRj9C90LDRgtCwINC90LAg0L/RgNCw0LLQsNGC0LAg0LfQsCDQtNC+0YHRgtGK0L8gW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwMQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDM5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgZGVsZXRpb24gW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgItCY0LfQstCw0LbQtNCw0L3QtSDQvdCwINC40LfRgtGA0LjQstCw0L3QtdGC0L4gW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICLQmNC30LLQsNC20LTQsNC90LUg0L3QsCDRgtC+0LLQsCDQv9Cw0YDRh9C1IFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MDUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byBpbmRleCBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiIgogItCf0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC/0YDQvtC80Y/QvdCw0YLQsCDQvdCwINC/0YDQsNCy0LDRgtCwINC30LAg0LTQvtGB0YLRitC/INC60YrQvCDQuNC90LTQtdC60YHQsCBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgZGVsZXRpb24gdG8gaW5kZXggW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgItCf0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC40LfRgtGA0LjQstCw0L3QtdGC0L4g0LrRitC8INC40L3QtNC10LrRgdCwIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MDcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgItCf0YDQuNC70LDQs9Cw0L3QtSDQvdCwINGC0L7QstCwINC/0LDRgNGH0LUg0LrRitC8INC40L3QtNC10LrRgdCwIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MTAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBtb2RlIGNoYW5nZSBmcm9tIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICIiCiAi0J/RgNC10LzQsNGF0LLQsNC90LUg0L3QsCDQv9GA0L7QvNGP0L3QsNGC0LAg0LIg0L/RgNCw0LLQsNGC0LAg0LfQsCDQtNC+0YHRgtGK0L8g0L7RgiDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviBbeSxuLHEsYSxkIgogIiVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxMQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQ5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2NAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIGRlbGV0aW9uIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgItCf0YDQtdC80LDRhdCy0LDQvdC1INC90LAg0LjQt9GC0YDQuNCy0LDQvdC10YLQviDQvtGCINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+IFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MTIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAi0J/RgNC10LzQsNGF0LLQsNC90LUg0L3QsCDQv9Cw0YDRh9C10YLQviDQvtGCINGA0LDQsdC+0YLQvdC+0YLQviDQtNGK0YDQstC+IFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MTUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICIiCiAi0J/RgNC10LzQsNGF0LLQsNC90LUg0L3QsCDQv9GA0L7QvNGP0L3QsNGC0LAg0LIg0L/RgNCw0LLQsNGC0LAg0LfQsCDQtNC+0YHRgtGK0L8g0L7RgiDQuNC90LTQtdC60YHQsCDQuCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviBbeSwiCiAibixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIiIKICLQn9GA0LXQvNCw0YXQstCw0L3QtSDQvdCwINC40LfRgtGA0LjQstCw0L3QtdGC0L4g0L7RgiDQuNC90LTQtdC60YHQsCDQuCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDE3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgItCf0YDQtdC80LDRhdCy0LDQvdC1INC90LAg0L/QsNGA0YfQtdGC0L4g0L7RgiDQuNC90LTQtdC60YHQsCDQuCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDIwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICIiCiAi0J/RgNC40LvQsNCz0LDQvdC1INC90LAg0L/RgNC+0LzRj9C90LDRgtCwINCyINC/0YDQsNCy0LDRgtCwINC30LAg0LTQvtGB0YLRitC/INC+0YIg0LjQvdC00LXQutGB0LAg0Lgg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4gW3ksbiwiCiAicSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MjEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBkZWxldGlvbiB0byBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIiIKICLQn9GA0LjQu9Cw0LPQsNC90LUg0L3QsCDQuNC30YLRgNC40LLQsNC90LXRgtC+INC+0YIg0LjQvdC00LXQutGB0LAg0Lgg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4gW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDYwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgItCf0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC/0LDRgNGH0LXRgtC+INC+0YIg0LjQvdC00LXQutGB0LAg0Lgg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4gW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUyMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY4CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICIiCisi0J/RgNC40LvQsNCz0LDQvdC1INC90LAg0L/RgNC+0LzRj9C90LDRgtCwINCyINC/0YDQsNCy0LDRgtCwINC30LAg0LTQvtGB0YLRitC/INC60YrQvCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviBbeSxuLHEsYSxkIgorIiVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2OQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSBkZWxldGlvbiB0byB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAi0J/RgNC40LvQsNCz0LDQvdC1INC90LAg0LjQt9GC0YDQuNCy0LDQvdC10YLQviDQutGK0Lwg0YDQsNCx0L7RgtC90L7RgtC+INC00YrRgNCy0L4gW3ksbixxLGEsZCVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ3MAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgItCf0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC/0LDRgNGH0LXRgtC+INC60YrQvCDRgNCw0LHQvtGC0L3QvtGC0L4g0LTRitGA0LLQviBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTcwCiBtc2dpZCAiTm8gb3RoZXIgaHVua3MgdG8gZ290b1xuIgogbXNnc3RyICLQndGP0LzQsCDQtNGA0YPQs9C4INC/0LDRgNGH0LXRgtCwXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUyOQotbXNnaWQgImdvIHRvIHdoaWNoIGh1bmsgKDxyZXQ+IHRvIHNlZSBtb3JlKT8gIgotbXNnc3RyICLQutGK0Lwg0LrQvtC1INC/0LDRgNGH0LUg0LTQsCDRgdC1INC/0YDQuNC00LLQuNC20LggKNC30LAg0L/QvtCy0LXRh9C1INCy0LDRgNC40LDQvdGC0Lgg0L3QsNGC0LjRgdC90LXRgtC1IOKAnmVudGVy4oCcKT8gIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MzEKLW1zZ2lkICJnbyB0byB3aGljaCBodW5rPyAiCi1tc2dzdHIgItC60YrQvCDQutC+0LUg0L/QsNGA0YfQtSDQtNCwINGB0LUg0L/RgNC40LTQstC40LbQuD8gIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NDAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU4OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG51bWJlcjogJyVzJ1xuIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70LXQvSDQvdC+0LzQtdGAOiDigJ4lc+KAnFxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NDUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU5MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTb3JyeSwgb25seSAlZCBodW5rIGF2YWlsYWJsZS5cbiIKIG1zZ2lkX3BsdXJhbCAiU29ycnksIG9ubHkgJWQgaHVua3MgYXZhaWxhYmxlLlxuIgogbXNnc3RyWzBdICLQmNC80LAg0YHQsNC80L4gJWQg0L/QsNGA0YfQtS5cbiIKIG1zZ3N0clsxXSAi0JjQvNCwINGB0LDQvNC+ICVkINC/0LDRgNGH0LXRgtCwLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYxOQogbXNnaWQgIk5vIG90aGVyIGh1bmtzIHRvIHNlYXJjaFxuIgogbXNnc3RyICLQndGP0LzQsCDQtNGA0YPQs9C4INC/0LDRgNGH0LXRgtCwINC30LAg0YLRitGA0YHQtdC90LVcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTc1Ci1tc2dpZCAic2VhcmNoIGZvciByZWdleD8gIgotbXNnc3RyICLQtNCwINGB0LUg0YLRitGA0YHQuCDRgSDRgNC10LPRg9C70Y/RgNC10L0g0LjQt9GA0LDQtz8gIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1ODgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYzNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgc2VhcmNoIHJlZ2V4cCAlczogJXNcbiIKIG1zZ3N0ciAi0KHQs9GA0LXRiNC10L0g0YDQtdCz0YPQu9GP0YDQtdC9INC40LfRgNCw0Lcg4oCeJXPigJw6ICVzXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU5OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQ2CiBtc2dpZCAiTm8gaHVuayBtYXRjaGVzIHRoZSBnaXZlbiBwYXR0ZXJuXG4iCiBtc2dzdHIgItCd0LjQutC+0LUg0L/QsNGA0YfQtSDQvdC1INC90LDQv9Cw0YHQstCwINC90LAg0YDQtdCz0YPQu9GP0YDQvdC40Y8g0LjQt9GA0LDQt1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjMyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjgwCiBtc2dpZCAiTm8gcHJldmlvdXMgaHVua1xuIgogbXNnc3RyICLQndGP0LzQsCDQtNGA0YPQs9C+INC/0LDRgNGH0LUg0L/RgNC10LTQuCDRgtC+0LLQsFxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjM4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjg2CiBtc2dpZCAiTm8gbmV4dCBodW5rXG4iCiBtc2dzdHIgItCd0Y/QvNCwINC00YDRg9Cz0L4g0L/QsNGA0YfQtSDRgdC70LXQtCDRgtC+0LLQsFxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NDQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY5MgogbXNnaWQgIlNvcnJ5LCBjYW5ub3Qgc3BsaXQgdGhpcyBodW5rXG4iCiBtc2dzdHIgItCi0L7QstCwINC/0LDRgNGH0LUg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INGA0LDQt9C00LXQu9C10L3QvlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY5OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTcGxpdCBpbnRvICVkIGh1bmsuXG4iCiBtc2dpZF9wbHVyYWwgIlNwbGl0IGludG8gJWQgaHVua3MuXG4iCiBtc2dzdHJbMF0gItCg0LDQt9C00LXQu9GP0L3QtSDQvdCwICVkINC/0LDRgNGH0LUuXG4iCiBtc2dzdHJbMV0gItCg0LDQt9C00LXQu9GP0L3QtSDQvdCwICVkINC/0LDRgNGH0LXRgtCwLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcwOAogbXNnaWQgIlNvcnJ5LCBjYW5ub3QgZWRpdCB0aGlzIGh1bmtcbiIKIG1zZ3N0ciAi0KLQvtCy0LAg0L/QsNGA0YfQtSDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0YDQtdC00LDQutGC0LjRgNCw0L3QvlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDYKLW1zZ2lkICJSZXZpZXcgZGlmZiIKLW1zZ3N0ciAi0J/RgNC10LPQu9C10LQg0L3QsCDRgNCw0LfQu9C40LrQsNGC0LAiCi0KICMuIFRSQU5TTEFUT1JTOiBwbGVhc2UgZG8gbm90IHRyYW5zbGF0ZSB0aGUgY29tbWFuZCBuYW1lcwogIy4gJ3N0YXR1cycsICd1cGRhdGUnLCAncmV2ZXJ0JywgZXRjLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzI1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NzMKIG1zZ2lkICIiCiAic3RhdHVzICAgICAgICAtIHNob3cgcGF0aHMgd2l0aCBjaGFuZ2VzXG4iCiAidXBkYXRlICAgICAgICAtIGFkZCB3b3JraW5nIHRyZWUgc3RhdGUgdG8gdGhlIHN0YWdlZCBzZXQgb2YgY2hhbmdlc1xuIgpAQCAtMjEzNjUsMTggKzI0NTcwLDE5IEBACiAiICAgICAgICAgICAgICAgINC4INC40L3QtNC10LrRgdCwXG4iCiAiYWRkIHVudHJhY2tlZCDigJQg0LTQvtCx0LDQstGP0L3QtSDQvdCwINC90LXRgdC70LXQtNC10L3QuNGC0LUg0YTQsNC50LvQvtCy0LUg0LrRitC8INC/0YDQvtC80LXQvdC40YLQtSDQsiDQuNC90LTQtdC60YHQsFxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzQ3Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NTAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzU3Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzY3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3OTAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzk1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3OTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODA1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MDggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODE1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODI1CiBtc2dpZCAibWlzc2luZyAtLSIKIG1zZ3N0ciAi4oCeLS3igJwg0LvQuNC/0YHQstCwIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIC0tcGF0Y2ggbW9kZTogJXMiCiBtc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdCwINGB0YLRgNCw0YLQtdCz0LjRjyDQt9CwINC/0YDQuNC70LDQs9Cw0L3QtSDQvdCwINC60YDRitC/0LrQsDog4oCeJXPigJwiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NzUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyNyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MzMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCAlcywgZXhwZWN0aW5nIC0tIgogbXNnc3RyICLRg9C60LDQt9Cw0L0g0LUg0L3QtdC/0YDQsNCy0LjQu9C10L0g0LDRgNCz0YPQvNC10L3RgiDigJ4lc+KAnCwg0LAg0YHQtSDQvtGH0LDQutCy0LAg4oCeLS3igJwuIgpAQCAtMjEzOTEsMzEgKzI0NTk3LDMxIEBACiBtc2dpZCAibG9jYWwgdGltZSBvZmZzZXQgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDI0IGhvdXJzXG4iCiBtc2dzdHIgItGA0LDQt9C70LjQutCw0YLQsCDQvNC10LbQtNGDINC80LXRgdGC0L3QuNGPINGH0LDRgdC+0LLQuNGPINC/0L7Rj9GBINC4IEdNVCDQtSAyNCDRh9Cw0YHQsCDQuNC70Lgg0L/QvtCy0LXRh9C1XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjE5IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjI1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIyMyBnaXQtc2VuZC1lbWFpbC5wZXJsOjIyOQogbXNnaWQgInRoZSBlZGl0b3IgZXhpdGVkIHVuY2xlYW5seSwgYWJvcnRpbmcgZXZlcnl0aGluZyIKIG1zZ3N0ciAiIgogItGC0LXQutGB0YLQvtCy0LjRj9GCINGA0LXQtNCw0LrRgtC+0YAg0L/RgNC40LrQu9GO0YfQuCDRgNCw0LHQvtGC0LDRgtCwINGBINCz0YDQtdGI0LrQsCwg0LLRgdC40YfQutC+INGB0LUg0L/RgNC10YPRgdGC0LDQvdC+0LLRj9Cy0LAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzAyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMxMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBjb250YWlucyBhbiBpbnRlcm1lZGlhdGUgdmVyc2lvbiBvZiB0aGUgZW1haWwgeW91IHdlcmUgY29tcG9zaW5nLlxuIgogbXNnc3RyICLigJ4lc+KAnCDRgdGK0LTRitGA0LbQsCDQstGA0LXQvNC10L3QvdCwINCy0LXRgNGB0LjRjyDQvdCwINC/0L7QtNCz0L7RgtCy0Y/QvdC+0YLQviDQtS3Qv9C40YHQvNC+LlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMwNworIzogZ2l0LXNlbmQtZW1haWwucGVybDozMTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJyVzLmZpbmFsJyBjb250YWlucyB0aGUgY29tcG9zZWQgZW1haWwuXG4iCiBtc2dzdHIgIuKAniVzLmZpbmFs4oCcINGB0YrQtNGK0YDQttCwINC/0L7QtNCz0L7RgtCy0LXQvdC+0YLQviDQtS3Qv9C40YHQvNC+LlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMyNgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo0MDgKIG1zZ2lkICItLWR1bXAtYWxpYXNlcyBpbmNvbXBhdGlibGUgd2l0aCBvdGhlciBvcHRpb25zXG4iCiBtc2dzdHIgItC+0L/RhtC40Y/RgtCwIOKAni0tZHVtcC1hbGlhc2Vz4oCcINC1INC90LXRgdGK0LLQvNC10YHRgtC40LzQsCDRgSDQtNGA0YPQs9C40YLQtSDQvtC/0YbQuNC4XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mzk1IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjUwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ4MSBnaXQtc2VuZC1lbWFpbC5wZXJsOjY4MwogbXNnaWQgIkNhbm5vdCBydW4gZ2l0IGZvcm1hdC1wYXRjaCBmcm9tIG91dHNpZGUgYSByZXBvc2l0b3J5XG4iCiBtc2dzdHIgItCa0L7QvNCw0L3QtNCw0YLQsCDigJ5naXQgZm9ybWF0LXBhdGNo4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfQv9GK0LvQvdC4INC40LfQstGK0L0g0YXRgNCw0L3QuNC70LjRidC1XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mzk4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ4NAogbXNnaWQgIiIKICJgYmF0Y2gtc2l6ZWAgYW5kIGByZWxvZ2luYCBtdXN0IGJlIHNwZWNpZmllZCB0b2dldGhlciAodmlhIGNvbW1hbmQtbGluZSBvciAiCiAiY29uZmlndXJhdGlvbiBvcHRpb24pXG4iCkBAIC0yMTQyMyw0MCArMjQ2MjksNDAgQEAKICLigJ5iYXRjaC1zaXpl4oCcINC4IOKAnnJlbG9naW7igJwg0YLRgNGP0LHQstCwINC00LAg0YHQtSDRg9C60LDQt9Cy0LDRgiDQt9Cw0LXQtNC90L4gKNC40LvQuCDRh9GA0LXQtyDQutC+0LzQsNC90LTQvdC40Y8gIgogItGA0LXQtCwg0LjQu9C4INGH0YDQtdC3INC90LDRgdGC0YDQvtC50LrQuNGC0LUpXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDY4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ5NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbmtub3duIC0tc3VwcHJlc3MtY2MgZmllbGQ6ICclcydcbiIKIG1zZ3N0ciAi0J3QtdC/0L7Qt9C90LDRgtC+INC/0L7Qu9C1INC30LAg0L7Qv9GG0LjRj9GC0LAg4oCeLS1zdXBwcmVzcy1jY+KAnDog4oCeJXPigJxcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0OTcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTI4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVua25vd24gLS1jb25maXJtIHNldHRpbmc6ICclcydcbiIKIG1zZ3N0ciAi0J3QtdC/0L7Qt9C90LDRgtCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCDigJ4tLWNvbmZpcm3igJw6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTI1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU1NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBhbGlhcyB3aXRoIHF1b3RlcyBpcyBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICIiCiAi0J/QoNCV0JTQo9Cf0KDQldCW0JTQldCd0JjQlTog0L/RgdC10LLQtNC+0L3QuNC80Lgg0LfQsCBzZW5kbWFpbCDRgdGK0LTRitGA0LbQsNGJ0Lgg0LrQsNCy0LjRh9C60LggKOKAnlwi4oCcKSDQvdC1INGB0LUgIgogItC/0L7QtNC00YrRgNC20LDRgjogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTU4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGA6aW5jbHVkZTpgIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgItCf0KDQldCU0KPQn9Cg0JXQltCU0JXQndCY0JU6IOKAnjppbmNsdWRlOuKAnCDQvdC1INGB0LUg0L/QvtC00LTRitGA0LbQsDogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTYwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGAvZmlsZWAgb3IgYHxwaXBlYCByZWRpcmVjdGlvbiBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICIiCiAi0J/QoNCV0JTQo9Cf0KDQldCW0JTQldCd0JjQlTog0L/RgNC10L3QsNGB0L7Rh9Cy0LDQvdC40Y8g4oCeL2ZpbGXigJwg0LjQu9C4IOKAnnxwaXBl4oCcINC90LUg0YHQtSDQv9C+0LTQtNGK0YDQttCw0YI6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTM0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU2NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBsaW5lIGlzIG5vdCByZWNvZ25pemVkOiAlc1xuIgogbXNnc3RyICLQn9Cg0JXQlNCj0J/QoNCV0JbQlNCV0J3QmNCVOiDRgNC10LTRitGCINC30LAg4oCec2VuZG1haWzigJwg0L3QtSDQtSDRgNCw0LfQv9C+0LfQvdCw0YI6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjE2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY0OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiRmlsZSAnJXMnIGV4aXN0cyBidXQgaXQgY291bGQgYWxzbyBiZSB0aGUgcmFuZ2Ugb2YgY29tbWl0c1xuIgpAQCAtMjE0NzEsMTIgKzI0Njc3LDEyIEBACiAiICAgIOKXjyDRg9C60LDQttC10YLQtSDigJ4uLyVz4oCcINC30LAg0YTQsNC50Ls7XG4iCiAiICAgIOKXjyDQuNC30L/QvtC70LfQstCw0YLQtSDQvtC/0YbQuNGP0YLQsCDigJ4tLWZvcm1hdC1wYXRjaOKAnCDQt9CwINC00LjQsNC/0LDQt9C+0L0uXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjM3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY3MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbmRpciAlczogJXMiCiBtc2dzdHIgItCU0LjRgNC10LrRgtC+0YDQuNGP0YLQsCDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LLQvtGA0Lg6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY2MQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2OTQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogImZhdGFsOiAlczogJXNcbiIKQEAgLTIxNDg1LDcgKzI0NjkxLDcgQEAKICLQpNCQ0KLQkNCb0J3QkCDQk9Cg0JXQqNCa0JA6ICVzOiAlc1xuIgogItCf0KDQldCU0KPQn9Cg0JXQltCU0JXQndCY0JU6INC90LUg0YHQsCDQv9GA0LDRgtC10L3QuCDQvdC40LrQsNC60LLQuCDQutGA0YrQv9C60LhcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NzIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzA1CiBtc2dpZCAiIgogIlxuIgogIk5vIHBhdGNoIGZpbGVzIHNwZWNpZmllZCFcbiIKQEAgLTIxNDk1LDE3ICsyNDcwMSwxNyBAQAogItCd0LUg0YHQsCDRg9C60LDQt9Cw0L3QuCDQutGA0YrQv9C60LghXG4iCiAiXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njg1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcxOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJObyBzdWJqZWN0IGxpbmUgaW4gJXM/IgogbXNnc3RyICLQkiDigJ4lc+KAnCDQu9C40L/RgdCy0LAg0YLQtdC80LAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njk1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcyOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiBmb3Igd3JpdGluZyAlczogJXMiCiBtc2dzdHIgIuKAniVz4oCcINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQstC+0YDQuCDQt9CwINC30LDQv9C40YE6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcwNgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MzkKIG1zZ2lkICIiCiAiTGluZXMgYmVnaW5uaW5nIGluIFwiR0lUOlwiIHdpbGwgYmUgcmVtb3ZlZC5cbiIKICJDb25zaWRlciBpbmNsdWRpbmcgYW4gb3ZlcmFsbCBkaWZmc3RhdCBvciB0YWJsZSBvZiBjb250ZW50c1xuIgpAQCAtMjE1MjAsMjcgKzI0NzI2LDI3IEBACiAiXG4iCiAi0JjQt9GC0YDQuNC50YLQtSDQstGB0LjRh9C60L4sINCw0LrQviDQvdC1INC40YHQutCw0YLQtSDQtNCwINC40LfQv9GA0LDRgtC40YLQtSDQvtCx0L7QsdGJ0LDQstCw0YnQviDQv9C40YHQvNC+LlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjczMAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3NjMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXM6ICVzIgogbXNnc3RyICLigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LLQvtGA0Lg6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc0NworIzogZ2l0LXNlbmQtZW1haWwucGVybDo3ODAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMuZmluYWw6ICVzIgogbXNnc3RyICLigJ4lcy5maW5hbOKAnCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LLQvtGA0Lg6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc5MAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjMKIG1zZ2lkICJTdW1tYXJ5IGVtYWlsIGlzIGVtcHR5LCBza2lwcGluZyBpdFxuIgogbXNnc3RyICLQntCx0L7QsdGJ0LDQstCw0YnQvtGC0L4g0L/QuNGB0LzQviDQtSDQv9GA0LDQt9C90L4g0Lgg0YHQtSDQv9GA0LXRgdC60LDRh9CwXG4iCiAKICMuIFRSQU5TTEFUT1JTOiBwbGVhc2Uga2VlcCBbeS9OXSBhcyBpcy4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODI1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg1OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdXNlIDwlcz4gW3kvTl0/ICIKIG1zZ3N0ciAi0KHQuNCz0YPRgNC90Lgg0LvQuCDRgdGC0LUsINGH0LUg0LjRgdC60LDRgtC1INC00LAg0L/QvtC70LfQstCw0YLQtSDigJ4lc+KAnCBbeS9OXT8gIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg4MAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MTMKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgOGJpdCwgYnV0IGRvIG5vdCBkZWNsYXJlIGEgQ29udGVudC1UcmFuc2Zlci0iCiAiRW5jb2RpbmcuXG4iCkBAIC0yMTU0OCwxMSArMjQ3NTQsMTEgQEAKICLQodC70LXQtNC90LjRgtC1INGE0LDQudC70L7QstC1INGB0LAgOCDQsdC40YLQvtCy0LgsINC90L4g0L3QtSDRgdCwINGBINC+0LHRj9Cy0LXQvdCwINC30LDQs9C70LDQstC90LAg0YfQsNGB0YIg4oCeQ29udGVudC0iCiAiVHJhbnNmZXItRW5jb2RpbmfigJwuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODg1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkxOAogbXNnaWQgIldoaWNoIDhiaXQgZW5jb2Rpbmcgc2hvdWxkIEkgZGVjbGFyZSBbVVRGLThdPyAiCiBtc2dzdHIgItCa0L7QtSA4INCx0LjRgtC+0LLQviDQutC+0LTQuNGA0LDQvdC1INGB0LUg0L/QvtC70LfQstCwIFvRgdGC0LDQvdC00LDRgNGC0L3QvjogVVRGLThdPyAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODkzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkyNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiUmVmdXNpbmcgdG8gc2VuZCBiZWNhdXNlIHRoZSBwYXRjaFxuIgpAQCAtMjE1NjUsMjIgKzI0NzcxLDIyIEBACiAi0LLRgdC1INC+0YnQtSDQtSDRgSDRiNCw0LHQu9C+0L3QvdC+0YLQviDQt9Cw0LPQu9Cw0LLQuNC1IOKAnioqKiBTVUJKRUNUIEhFUkUgKioq4oCcLiAg0J/QvtC70LfQstCw0LnRgtC1INC+0L/RhtC40Y/RgtCwXG4iCiAi4oCeLS1mb3JjZeKAnCwg0LDQutC+INGB0YLQtSDRgdC40LPRg9GA0L3QuCwg0YfQtSDRgtC+0YfQvdC+INGC0L7QstCwINC40YHQutCw0YLQtSDQtNCwINC40LfQv9GA0LDRgtC40YLQtS5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MTIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTQ1CiBtc2dpZCAiVG8gd2hvbSBzaG91bGQgdGhlIGVtYWlscyBiZSBzZW50IChpZiBhbnlvbmUpPyIKIG1zZ3N0ciAi0J3QsCDQutC+0Lkg0LTQsCDRgdC1INC/0YDQsNGC0Y/RgiDQtS3Qv9C40YHQvNCw0YLQsCAo0L3QtdC30LDQtNGK0LvQttC40YLQtdC70L3QviDQv9C+0LvQtSkiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTMwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjk2MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogYWxpYXMgJyVzJyBleHBhbmRzIHRvIGl0c2VsZlxuIgogbXNnc3RyICLQpNCQ0KLQkNCb0J3QkCDQk9Cg0JXQqNCa0JA6IOKAniVz4oCcINC1INC/0YHQtdCy0LTQvtC90LjQvCDQvdCwINGB0LXQsdC1INGB0LhcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5NDIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTc1CiBtc2dpZCAiTWVzc2FnZS1JRCB0byBiZSB1c2VkIGFzIEluLVJlcGx5LVRvIGZvciB0aGUgZmlyc3QgZW1haWwgKGlmIGFueSk/ICIKIG1zZ3N0ciAiIgogItCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC90LAg0YHRitC+0LHRidC10L3QuNC1IOKAnk1lc3NhZ2UtSUTigJwsINC60L7QtdGC0L4g0LTQsCDRgdC1INC40LfQv9C+0LvQt9Cy0LAg0LfQsCDQvtCx0Y/QstGP0LLQsNC90LXRgtC+ICIKICLQvdCwINC+0YLQs9C+0LLQvtGAIOKAnkluLVJlcGx5LVRv4oCcICjQvdC10LfQsNC00YrQu9C20LjRgtC10LvQvdC+INC/0L7Qu9C1KSIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDAwIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTAwOAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDMzIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTA0MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJlcnJvcjogdW5hYmxlIHRvIGV4dHJhY3QgYSB2YWxpZCBhZGRyZXNzIGZyb206ICVzXG4iCiBtc2dzdHIgItCT0KDQldCo0JrQkDog0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9Cy0LvQtdGH0LUg0LDQtNGA0LXRgSDQvtGCIOKAniVz4oCcXG4iCkBAIC0yMTU4OCwxOCArMjQ3OTQsMTggQEAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbcV0gW2RdIFtlXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDEyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwNDUKIG1zZ2lkICJXaGF0IHRvIGRvIHdpdGggdGhpcyBhZGRyZXNzPyAoW3FddWl0fFtkXXJvcHxbZV1kaXQpOiAiCiBtc2dzdHIgIiIKICLQmtCw0LrQstC+INC00LAg0YHQtSDQvdCw0L/RgNCw0LLQuCDRgSDRgtC+0LfQuCDQsNC00YDQtdGBPyDigJ5x4oCcICjRgdC/0LjRgNCw0L3QtSksIOKAnmTigJwgKNC40LfRgtGA0LjQstCw0L3QtSksICIKICLigJ5l4oCcICjRgNC10LTQsNC60YLQuNGA0LDQvdC1KTogIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMjkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM2MgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJDQSBwYXRoIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi0J/RitGC0Y/RgiDQutGK0Lwg0YHQtdGA0YLQuNGE0LjQutCw0YIg4oCeJXPigJwg0L3QtSDRgdGK0YnQtdGB0YLQstGD0LLQsC4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQxMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDQ1CiBtc2dpZCAiIgogIiAgICBUaGUgQ2MgbGlzdCBhYm92ZSBoYXMgYmVlbiBleHBhbmRlZCBieSBhZGRpdGlvbmFsXG4iCiAiICAgIGFkZHJlc3NlcyBmb3VuZCBpbiB0aGUgcGF0Y2ggY29tbWl0IG1lc3NhZ2UuIEJ5IGRlZmF1bHRcbiIKQEAgLTIxNjI3LDEzMiArMjQ4MzMsMTMyIEBACiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3ldIFtuXSBbZV0gW3FdIFthXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDI3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjAKIG1zZ2lkICJTZW5kIHRoaXMgZW1haWw/IChbeV1lc3xbbl1vfFtlXWRpdHxbcV11aXR8W2FdbGwpOiAiCiBtc2dzdHIgIiIKICLQmNC30L/RgNCw0YnQsNC90LUg0L3QsCDQtS3Qv9C40YHQvNC+0YLQvj8g4oCeeeKAnCAo0LTQsCksIOKAnm7igJwgKNC90LUpLCDigJ5l4oCcICjRgNC10LTQsNC60YLQuNGA0LDQvdC1KSwg4oCeceKAnCAo0LjQt9GF0L7QtCksICIKICLigJ5h4oCcICjQstGB0LjRh9C60L4pOiAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQzMAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDYzCiBtc2dpZCAiU2VuZCB0aGlzIGVtYWlsIHJlcGx5IHJlcXVpcmVkIgogbXNnc3RyICLQmNC30LjRgdC60LLQsNC90LUg0L3QsCDQvtGC0LPQvtCy0L7RgCDQutGK0Lwg0YLQvtCy0LAg0LUt0L/QuNGB0LzQviIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDU4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0OTEKIG1zZ2lkICJUaGUgcmVxdWlyZWQgU01UUCBzZXJ2ZXIgaXMgbm90IHByb3Blcmx5IGRlZmluZWQuIgogbXNnc3RyICLQodGK0YDQstGK0YDRitGCINC30LAgU01UUCDQvdC1INC1INC90LDRgdGC0YDQvtC10L0g0L/RgNCw0LLQuNC70L3Qvi4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUwNQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTM4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IFNUQVJUVExTISAlcyIKIG1zZ3N0ciAi0KHRitGA0LLRitGA0YrRgiDQvdC1INC/0L7QtNC00YrRgNC20LAg4oCeU1RBUlRUTFPigJwhICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MTAgZ2l0LXNlbmQtZW1haWwucGVybDoxNTE0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDMgZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNUQVJUVExTIGZhaWxlZCEgJXMiCiBtc2dzdHIgItCd0LXRg9GB0L/QtdGI0L3QviDQuNC30L/RitC70L3QtdC90LjQtSDQvdCwIFNUQVJUVExTISAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTIzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NTYKIG1zZ2lkICJVbmFibGUgdG8gaW5pdGlhbGl6ZSBTTVRQIHByb3Blcmx5LiBDaGVjayBjb25maWcgYW5kIHVzZSAtLXNtdHAtZGVidWcuIgogbXNnc3RyICIiCiAi0J/QvtC00YHQuNGB0YLQtdC80LDRgtCwINC30LAgU01UUCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC90LjRhtC40LDQu9C40LfQuNGA0LAuICDQn9GA0L7QstC10YDQtdGC0LUg0L3QsNGB0YLRgNC+0LnQutC40YLQtSDQuCAiCiAi0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDQvtC/0YbQuNGP0YLQsDog4oCeLS1zbXRwLWRlYnVn4oCcLiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHNlbmQgJXNcbiIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINCx0YrQtNC1INC40LfQv9GA0LDRgtC10L1cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRHJ5LVNlbnQgJXNcbiIKIG1zZ3N0ciAi0J/RgNC+0LHQsCDQt9CwINC40LfQv9GA0LDRidCw0L3QtSDQvdCwIOKAniVz4oCcXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU0NAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNlbnQgJXNcbiIKIG1zZ3N0ciAi0JjQt9C/0YDQsNGJ0LDQvdC1INC90LAg4oCeJXPigJxcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzkKIG1zZ2lkICJEcnktT0suIExvZyBzYXlzOlxuIgogbXNnc3RyICLQo9GB0L/QtdGFINC/0YDQuCDQv9GA0L7QsdCw0YLQsC4gINCe0YIg0LbRg9GA0L3QsNC70LA6XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU0NgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc5CiBtc2dpZCAiT0suIExvZyBzYXlzOlxuIgogbXNnc3RyICLQo9GB0L/QtdGFLiAg0J7RgiDQttGD0YDQvdCw0LvQsDpcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTU4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1OTEKIG1zZ2lkICJSZXN1bHQ6ICIKIG1zZ3N0ciAi0KDQtdC30YPQu9GC0LDRgjogIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NjEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU5NAogbXNnaWQgIlJlc3VsdDogT0tcbiIKIG1zZ3N0ciAi0KDQtdC30YPQu9GC0LDRgjog0YPRgdC/0LXRhVxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYxMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJjYW4ndCBvcGVuIGZpbGUgJXMiCiBtc2dzdHIgItGE0LDQudC70YrRgiDigJ4lc+KAnCDQvdC1INC80L7QttC1INC00LAg0LHRitC00LUg0L7RgtCy0L7RgNC10L0iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYyNiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NDYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY1OSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NzkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKG1ib3gpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiKG1ib3gpINCU0L7QsdCw0LLRj9C90LUg0L3QsCDigJ7Rj9C6OiAlc+KAnCDQvtGCINGA0LXQtCDigJ4lc+KAnFxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2MzIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY2NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIobWJveCkgQWRkaW5nIHRvOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIobWJveCkg0JTQvtCx0LDQstGP0L3QtSDQvdCwIOKAntC00L46ICVz4oCcINC+0YIg0YDQtdC0IOKAniVz4oCcXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY4NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihub24tbWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIo0L3QtS1tYm94KSDQlNC+0LHQsNCy0Y/QvdC1INC90LAg4oCe0Y/QujogJXPigJwg0L7RgiDRgNC10LQg4oCeJXPigJxcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzIwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKGJvZHkpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiKNGC0Y/Qu9C+KSDQlNC+0LHQsNCy0Y/QvdC1INC90LAg4oCe0Y/QujogJXPigJwg0L7RgiDRgNC10LQg4oCeJXPigJxcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODMxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NjQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBDb3VsZCBub3QgZXhlY3V0ZSAnJXMnIgogbXNnc3RyICIoJXMpINCd0LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDRgdC1INC40LfQv9GK0LvQvdC4IOKAniVz4oCcIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4MzgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg3MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoJXMpIEFkZGluZyAlczogJXMgZnJvbTogJyVzJ1xuIgogbXNnc3RyICIoJXMpINCU0L7QsdCw0LLRj9C90LUg0L3QsCDigJ4lczogJXPigJwg0L7Rgjog4oCeJXPigJxcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODQyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NzUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBmYWlsZWQgdG8gY2xvc2UgcGlwZSB0byAnJXMnIgogbXNnc3RyICIoJXMpINC/0YDQvtCz0YDQsNC80L3QuNGP0YIg0LrQsNC90LDQuyDQvdC1INC80L7QttC1INC00LAg0YHQtSDQt9Cw0YLQstC+0YDQuCDQt9CwINC40LfQv9GK0LvQvdC10L3QuNC10YLQviDQvdCwIOKAniVz4oCcIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NzIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTkwNQogbXNnaWQgImNhbm5vdCBzZW5kIG1lc3NhZ2UgYXMgN2JpdCIKIG1zZ3N0ciAi0YHRitC+0LHRidC10L3QuNC10YLQviDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/RgNCw0YLQuCDRh9GA0LXQtyA3INCx0LjRgtC+0LLQuCDQt9C90LDRhtC4IgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4ODAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTkxMwogbXNnaWQgImludmFsaWQgdHJhbnNmZXIgZW5jb2RpbmciCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvQvdC+INC60L7QtNC40YDQsNC90LUg0LfQsCDQv9GA0LXQvdC+0YEiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTkyMSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NzMgZ2l0LXNlbmQtZW1haWwucGVybDoxOTgzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NTQgZ2l0LXNlbmQtZW1haWwucGVybDoyMDA2IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjAxNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlczogJXNcbiIKIG1zZ3N0ciAi4oCeJXPigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7RgtCy0L7RgNC4OiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5MjQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk1NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggY29udGFpbnMgYSBsaW5lIGxvbmdlciB0aGFuIDk5OCBjaGFyYWN0ZXJzIgogbXNnc3RyICLigJ4lc+KAnDog0LrRgNGK0L/QutCw0YLQsCDRgdGK0LTRitGA0LbQsCDRgNC10LQg0YEg0L3QsNC0IDk4OCDQt9C90LDQutCwIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NDEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk3NAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyAlcyB3aXRoIGJhY2t1cCBzdWZmaXggJyVzJy5cbiIKIG1zZ3N0ciAi4oCeJXPigJwg0YHQtSDQv9GA0L7Qv9GD0YHQutCwLCDQt9Cw0YnQvtGC0L4g0LUg0YEg0YDQsNC30YjQuNGA0LXQvdC40LUg0LfQsCDQsNGA0YXQuNCy0LXQvSDRhNCw0LnQuzog4oCeJXPigJwuXG4iCiAKICMuIFRSQU5TTEFUT1JTOiBwbGVhc2Uga2VlcCAiW3l8Tl0iIGFzIGlzLgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTQ1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NzgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIHNlbmQgJXM/IFt5fE5dOiAiCiBtc2dzdHIgItCd0LDQuNGB0YLQuNC90LAg0LvQuCDQuNGB0LrQsNGC0LUg0LTQsCDQuNC30L/RgNCw0YLQuNGC0LUg4oCeJXPigJw/IFt5fE5dOiAiCmRpZmYgLS1naXQgYS9wby9jYS5wbyBiL3BvL2NhLnBvCmluZGV4IGY0NzNiYjguLjNkNGMxMWIgMTAwNjQ0Ci0tLSBhL3BvL2NhLnBvCisrKyBiL3BvL2NhLnBvCkBAIC0xLDcgKzEsNyBAQAogIyBDYXRhbGFuIHRyYW5zbGF0aW9ucyBmb3IgR2l0LgogIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgR2l0IHBhY2thZ2UuCiAjIEFsZXggSGVucmllIDxhbGV4aGVucmllMjRAZ21haWwuY29tPiwgMjAxNC0yMDE2LgotIyBKb3JkaSBNYXMgaSBIZXJuw6BuZGV6IDxqbWFzQHNvZnRjYXRhbGEub3JnPiwgMjAxNi0yMDE4CisjIEpvcmRpIE1hcyBpIEhlcm7DoG5kZXogPGptYXNAc29mdGNhdGFsYS5vcmc+LCAyMDE2LTIwMTkKICMKICMgVGVybWlub2xvZ2lhIGkgY3JpdGVyaXMgdXRpbGl0emF0cwogIwpAQCAtOSw2ICs5LDcgQEAKICMgICAtLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgICBhaGVhZCAgICAgICAgICAgIHwgIGRhdmFudCBwZXIKICMgICBhbWVuZCAgICAgICAgICAgIHwgIGVzbWVuYXIKKyMgICBidW5kbGUgICAgICAgICAgIHwgIGZhcmNlbGwKICMgICBicm9rZW4gICAgICAgICAgIHwgIG1hbG3DqHMKICMgICBkZWx0YSAgICAgICAgICAgIHwgIGRpZmVyw6huY2lhCiAjICAgZGVwcmVjYXRlZCAgICAgICB8ICBlbiBkZXPDunMKQEAgLTI1LDcgKzI2LDcgQEAKICMgICB1bnNldCAgICAgICAgICAgIHwgIGRlc2Fzc2lnbmFyCiAjICAgdXBzdHJlYW0gICAgICAgICB8ICBmb250CiAjCi0jIEFsZ3VucyB0ZXJtZXMgcXVlIHPDs24gY29tYW5kZXMgZXNwZWPDrWZpcXVlcyBkZWwgZ2l0IGkgZCfDoG1iaXQgbW9sdCB0w6hjbmljCisjIEFsZ3VucyB0ZXJtZXMgcXVlIHPDs24gb3JkcmVzIGVzcGVjw61maXF1ZXMgZGVsIGdpdCBpIGQnw6BtYml0IG1vbHQgdMOoY25pYwogIyBoZW0gZGVjaWRpdCBubyB0cmFkdWlyLWxvcyBwZXIgZmFjaWxpdGFyLW5lIGxhIGNvbXByZXNzacOzIGEgbCd1c3VhcmkgaSBwZXJxdcOoCiAjIG5vIHRlbmVuIHVuYSB0cmFuc2NlbmTDqG5jaWEgYWwgZ3JhbiBww7pibGljLiBFcyB0cmFjdGEgZGUgY2Fzb3Mgc2ltaWxhcnMKICMgYSDCq3BpbmfCuyBlbiBsJ8OgbWJpdCBkZSB4YXJ4ZXMuCkBAIC00OCw4ICs0OSw4IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IEdpdFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBHaXQgTWFpbGluZyBMaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE4LTExLTIwIDEwOjA1KzA4MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDE4LTExLTI1IDE1OjMyKzAyMDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOS0xMi0zMCAwODo0OCswODAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAyMC0wMS0wOSAxMDoxMCswMTAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBKb3JkaSBNYXMgPGptYXNAc29mdGNhdGFsYS5vcmc+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogQ2F0YWxhblxuIgogIkxhbmd1YWdlOiBjYVxuIgpAQCAtNTcsMzkgKzU4LDQ2NCBAQAogIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKICJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKLSJYLUdlbmVyYXRvcjogUG9lZGl0IDIuMC40XG4iCisiWC1HZW5lcmF0b3I6IFBvZWRpdCAyLjIuNFxuIgogCi0jOiBhZHZpY2UuYzo5OQotIywgZnV6enksIGMtZm9ybWF0CisjOiBhZGQtaW50ZXJhY3RpdmUuYzozNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVoICglcyk/IgorbXNnc3RyICJQZXJkw7MgKCVzKT8iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjUwMCBhZGQtaW50ZXJhY3RpdmUuYzo4MDEgc2VxdWVuY2VyLmM6MzIxNgorIzogc2VxdWVuY2VyLmM6MzY1NiBidWlsdGluL3JlYmFzZS5jOjg3MSBidWlsdGluL3JlYmFzZS5jOjE2NDMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjAxOSBidWlsdGluL3JlYmFzZS5jOjIwNjMKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBpbmRleCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgbCfDrW5kZXgiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjU1NSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI2OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyOTQKK21zZ2lkICJiaW5hcnkiCittc2dzdHIgImJpbmFyaSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NjEzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Mjc4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMzMgorbXNnaWQgIm5vdGhpbmciCittc2dzdHIgInJlcyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NjE0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzE0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMyOQorbXNnaWQgInVuY2hhbmdlZCIKK21zZ3N0ciAic2Vuc2UgY2FudmlzIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2NTEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NDMKK21zZ2lkICJVcGRhdGUiCittc2dzdHIgIkFjdHVhbGl0emEiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjY2OCBhZGQtaW50ZXJhY3RpdmUuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHN0YWdlICclcyciCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZmVyIMKrc3RhZ2XCuyDCqyVzwrsiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjY3NCBhZGQtaW50ZXJhY3RpdmUuYzo4NjMgc2VxdWVuY2VyLmM6MzQwOQorIzogYnVpbHRpbi9yZWJhc2UuYzo4OTUKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgaW5kZXgiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbCfDrW5kZXgiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjY3NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYyOAorIywgYy1mb3JtYXQsIHBlcmwtZm9ybWF0Cittc2dpZCAidXBkYXRlZCAlZCBwYXRoXG4iCittc2dpZF9wbHVyYWwgInVwZGF0ZWQgJWQgcGF0aHNcbiIKK21zZ3N0clswXSAiYWN0dWFsaXR6YXQgJWQgY2Ftw61cbiIKK21zZ3N0clsxXSAiYWN0dWFsaXR6YXRzICVkIGNhbWluc1xuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2OTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzgKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgIm5vdGU6ICVzIGlzIHVudHJhY2tlZCBub3cuXG4iCittc2dzdHIgIm5vdGE6ICVzIGVzdMOgIGFyYSBzZW5zZSBzZWd1aW1lbnQuXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjcwMCBhcHBseS5jOjQxMDggYnVpbHRpbi9jaGVja291dC5jOjI4MQorIzogYnVpbHRpbi9yZXNldC5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgorbXNnc3RyICJtYWtlX2NhY2hlX2VudHJ5IGhhIGZhbGxhdCBwZXIgYWwgY2Ftw60gwqslc8K7IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo3MzAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTUKK21zZ2lkICJSZXZlcnQiCittc2dzdHIgIlJldmVydGVpeCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NzQ2Cittc2dpZCAiQ291bGQgbm90IHBhcnNlIEhFQURee3RyZWV9IgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBIRUFEXnt0cmVlfSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6Nzg0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjMxCisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJyZXZlcnRlZCAlZCBwYXRoXG4iCittc2dpZF9wbHVyYWwgInJldmVydGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gInJldmVydGl0ICVkIGNhbcOtXG4iCittc2dzdHJbMV0gInJldmVydGl0cyAlZCBjYW1pbnNcbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6ODM1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Njk1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVudHJhY2tlZCBmaWxlcy5cbiIKK21zZ3N0ciAiU2Vuc2UgZml0eGVycyBubyBzZWd1aXRzLlxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo4MzkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2ODkKK21zZ2lkICJBZGQgdW50cmFja2VkIgorbXNnc3RyICJBZmVnZWl4IHNlbnNlIHNlZ3VpbWVudCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6ODY2IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjI1CisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJhZGRlZCAlZCBwYXRoXG4iCittc2dpZF9wbHVyYWwgImFkZGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gImFmZWdpdCAlZCBjYW3DrVxuIgorbXNnc3RyWzFdICJhZmVnaXRzICVkIGNhbWluc1xuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo4OTYKKyMsICBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVubWVyZ2VkOiAlcyIKK21zZ3N0ciAicydlc3TDoCBpZ25vcmFudCBhbGzDsiBubyBmdXNpb25hdDogJXMiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjkwOCBhZGQtcGF0Y2guYzoxMzMxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJPbmx5IGJpbmFyeSBmaWxlcyBjaGFuZ2VkLlxuIgorbXNnc3RyICJOb23DqXMgcydoYW4gY2FudmlhdCBlbHMgZml0eGVycyBiaW5hcmlzLlxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5MTAgYWRkLXBhdGNoLmM6MTMyOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gY2hhbmdlcy5cbiIKK21zZ3N0ciAiU2Vuc2UgY2FudmlzLlxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5MTQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzc2Cittc2dpZCAiUGF0Y2ggdXBkYXRlIgorbXNnc3RyICJBY3R1YWxpdHphY2nDsyBkZWwgcGVkYcOnIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5NTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzU0Cittc2dpZCAiUmV2aWV3IGRpZmYiCittc2dzdHIgIlJldmlzZXUgbGVzIGRpZmVyw6huY2llcyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTgxCittc2dpZCAic2hvdyBwYXRocyB3aXRoIGNoYW5nZXMiCittc2dzdHIgIm1vc3RyYSBlbHMgY2FtaW5zIGFtYiBjYW52aXMiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4MworbXNnaWQgImFkZCB3b3JraW5nIHRyZWUgc3RhdGUgdG8gdGhlIHN0YWdlZCBzZXQgb2YgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5ODUKK21zZ2lkICJyZXZlcnQgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzIGJhY2sgdG8gdGhlIEhFQUQgdmVyc2lvbiIKK21zZ3N0ciAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5ODcKK21zZ2lkICJwaWNrIGh1bmtzIGFuZCB1cGRhdGUgc2VsZWN0aXZlbHkiCittc2dzdHIgInNlbGVjY2lvbmEgZWxzIHRyb3Nzb3MgaSBhY3R1YWxpdHphIHNlbGVjdGl2YW1lbnQiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4OQorbXNnaWQgInZpZXcgZGlmZiBiZXR3ZWVuIEhFQUQgYW5kIGluZGV4IgorbXNnc3RyICJ2aXN1YWxpdHphIGxlcyBkaWZlcsOobmNpZXMgZW50cmUgSEVBRCBpIGwnw61uZGV4IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5OTEKK21zZ2lkICJhZGQgY29udGVudHMgb2YgdW50cmFja2VkIGZpbGVzIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTk5IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNDgKK21zZ2lkICJQcm9tcHQgaGVscDoiCittc2dzdHIgIk1vc3RyYSBhanVkYToiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDEKK21zZ2lkICJzZWxlY3QgYSBzaW5nbGUgaXRlbSIKK21zZ3N0ciAic2VsZWNjaW9uZXUgdW4gw7puaWMgw610ZW0iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDMKK21zZ2lkICJzZWxlY3QgYSByYW5nZSBvZiBpdGVtcyIKK21zZ3N0ciAic2VsZWNjaW9uZXUgdW4gcmFuZyBkJ8OtdGVtcyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAwNQorbXNnaWQgInNlbGVjdCBtdWx0aXBsZSByYW5nZXMiCittc2dzdHIgInNlbGVjY2lvbmV1IHJhbmdzIG3Dumx0aXBsZXMiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDcgYWRkLWludGVyYWN0aXZlLmM6MTA1MgorbXNnaWQgInNlbGVjdCBpdGVtIGJhc2VkIG9uIHVuaXF1ZSBwcmVmaXgiCittc2dzdHIgInNlbGVjY2lvbmV1IHVuIMOtdGVtIGJhc2FudC1zZSBlbiB1biBwcmVmaXggw7puaWMiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDkKK21zZ2lkICJ1bnNlbGVjdCBzcGVjaWZpZWQgaXRlbXMiCittc2dzdHIgImRlc3NlbGVjY2lvbmEgZWxzIMOtdGVtcyBlc3BlY2lmaWNhdHMiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMTEKK21zZ2lkICJjaG9vc2UgYWxsIGl0ZW1zIgorbXNnc3RyICJlc2NvbGxpdSB0b3RzIGVscyDDrXRlbXMiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMTMKK21zZ2lkICIoZW1wdHkpIGZpbmlzaCBzZWxlY3RpbmciCittc2dzdHIgIihidWl0KSBmaW5hbGl0emEgbGEgc2VsZWNjacOzIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDUwCittc2dpZCAic2VsZWN0IGEgbnVtYmVyZWQgaXRlbSIKK21zZ3N0ciAic2VsZWNjaW9uZXUgdW4gw610ZW0gbnVtZXJhdCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTA1NAorbXNnaWQgIihlbXB0eSkgc2VsZWN0IG5vdGhpbmciCittc2dzdHIgIihidWl0KSBubyBzZWxlY2Npb25pcyByZXMiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNjIgYnVpbHRpbi9jbGVhbi5jOjgyMiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4NTEKK21zZ2lkICIqKiogQ29tbWFuZHMgKioqIgorbXNnc3RyICIqKiogT3JkcmVzICoqKiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTA2MyBidWlsdGluL2NsZWFuLmM6ODIzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTg0OAorbXNnaWQgIldoYXQgbm93IgorbXNnc3RyICJJIGFyYSBxdcOoIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjEzCittc2dpZCAic3RhZ2VkIgorbXNnc3RyICJzdGFnZWQiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjExMTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMTMKK21zZ2lkICJ1bnN0YWdlZCIKK21zZ3N0ciAidW5zdGFnZWQiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjExMTUgYXBwbHkuYzo0OTY1IGFwcGx5LmM6NDk2OCBidWlsdGluL2FtLmM6MjE5NworIzogYnVpbHRpbi9hbS5jOjIyMDAgYnVpbHRpbi9jbG9uZS5jOjEyMyBidWlsdGluL2ZldGNoLmM6MTQ0CisjOiBidWlsdGluL21lcmdlLmM6MjczIGJ1aWx0aW4vcHVsbC5jOjIwOSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NzUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTE5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjEzCittc2dpZCAicGF0aCIKK21zZ3N0ciAiY2Ftw60iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjExMjIKK21zZ2lkICJjb3VsZCBub3QgcmVmcmVzaCBpbmRleCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBhY3R1YWxpdHphciBsJ8OtbmRleCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTEzNiBidWlsdGluL2NsZWFuLmM6Nzg3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2NQorIywgYy1mb3JtYXQKK21zZ2lkICJCeWUuXG4iCittc2dzdHIgIkFkw6l1LlxuIgorCisjOiBhZGQtcGF0Y2guYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLGEscSxkJXMsP10/ICIKK21zZ3N0ciAiQ2FudmlhIGVsIG1vZGUgZGUgwqtzdGFnZcK7IFt5LG4sYSxxLGQlcyw/XT8gIgorCisjOiBhZGQtcGF0Y2guYzoxNgorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFnZSBkZWxldGlvbiBbeSxuLGEscSxkJXMsP10/ICIKK21zZ3N0ciAiU3VwcmltZWl4IMKrc3RhZ2XCuyBbeSxuLGEscSxkJXMsP10/ICIKKworIzogYWRkLXBhdGNoLmM6MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhZ2UgdGhpcyBodW5rIFt5LG4sYSxxLGQlcyw/XT8gIgorbXNnc3RyICJGZXIgdW4gwqtzdGFnZcK7IGQnYXF1ZXN0IHRyb3MgW3ksbixhLHEsZCVzLD9dPyAiCisKKyM6IGFkZC1wYXRjaC5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgaHVuayBoZWFkZXIgJyUuKnMnIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBsYSBjYXDDp2FsZXJhIGRlbCB0cm9zIMKrJS4qc8K7IgorCisjOiBhZGQtcGF0Y2guYzoxMzAgYWRkLXBhdGNoLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb2xvcmVkIGh1bmsgaGVhZGVyICclLipzJyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgbGEgY2Fww6dhbGVyYSBkZWwgdHJvcyBhY29sb3JpZGEgwqslLipzwrsiCisKKyM6IGFkZC1wYXRjaC5jOjE3NgorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBkaWZmIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBlbCBkaWZmIgorCisjOiBhZGQtcGF0Y2guYzoxOTQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29sb3JlZCBkaWZmIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBlbCBkaWZmIGFjb2xvcml0IgorCisjOiBhZGQtcGF0Y2guYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImV4cGVjdGVkIGNvbnRleHQgbGluZSAjJWQgaW5cbiIKKyIlLipzIgorbXNnc3RyICIiCisicydlc3BlcmF2YSBsYSBsw61uaWEgYW1iIGNvbnRpbmd1dCAjJWQgYVxuIgorIiUuKnMiCisKKworIzogYWRkLXBhdGNoLmM6NTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJodW5rcyBkbyBub3Qgb3ZlcmxhcDpcbiIKKyIlLipzXG4iCisiXHRkb2VzIG5vdCBlbmQgd2l0aDpcbiIKKyIlLipzIgorbXNnc3RyICIiCisKKyM6IGFkZC1wYXRjaC5jOjc5OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTIKK21zZ2lkICJNYW51YWwgaHVuayBlZGl0IG1vZGUgLS0gc2VlIGJvdHRvbSBmb3IgYSBxdWljayBndWlkZS5cbiIKK21zZ3N0ciAiIgorIk1vZGUgZCdlZGljacOzIGRlIHRyb3Nzb3MgbWFudWFsIC0gdmVnZXUgbcOpcyBhdmFsbCBwZXIgdW5hIGd1aWEgcsOgcGlkYS5cbiIKKworIzogYWRkLXBhdGNoLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS1cbiIKKyJUbyByZW1vdmUgJyVjJyBsaW5lcywgbWFrZSB0aGVtICcgJyBsaW5lcyAoY29udGV4dCkuXG4iCisiVG8gcmVtb3ZlICclYycgbGluZXMsIGRlbGV0ZSB0aGVtLlxuIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJWMgd2lsbCBiZSByZW1vdmVkLlxuIgorbXNnc3RyICIiCisiLS0tXG4iCisiUGVyIHN1cHJpbWlyIMKrJWPCuyBsw61uaWVzLCBjb252ZXJ0aXUtbGVzIGEgJyAnIChjb250ZXh0KS5cbiIKKyJQZXIgc3VwcmltaXIgwqslY8K7IGzDrW5pZXMsIHN1cHJpbWl1LWxlcy5cbiIKKyJMZXMgbMOtbmllcyBxdWUgY29tZW5jaW4gcGVyICVjIHNlcmFuIHN1cHJpbWlkZXMuXG4iCisKKyM6IGFkZC1wYXRjaC5jOjgxMAorbXNnaWQgIiIKKyJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgorIm1hcmtlZCBmb3Igc3RhZ2luZy5cbiIKK21zZ3N0ciAiIgorIlNpIGVsIHBlZGHDpyBzJ2FwbGljYSBjb3JyZWN0YW1lbnQsIGVsIHRyb3MgZWRpdGF0IGVzIG1hcmNhcsOgIGltbWVkaWF0YW1lbnRcbiIKKyJwZXIgwqtzdGFnaW5nwrsuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiAnaXQnIHJlZmVycyB0byB0aGUgcGF0Y2ggbWVudGlvbmVkIGluIHRoZSBwcmV2aW91cyBtZXNzYWdlcy4KKyM6IGFkZC1wYXRjaC5jOjgxOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMjYKK21zZ2lkICIiCisiSWYgaXQgZG9lcyBub3QgYXBwbHkgY2xlYW5seSwgeW91IHdpbGwgYmUgZ2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG9cbiIKKyJlZGl0IGFnYWluLiAgSWYgYWxsIGxpbmVzIG9mIHRoZSBodW5rIGFyZSByZW1vdmVkLCB0aGVuIHRoZSBlZGl0IGlzXG4iCisiYWJvcnRlZCBhbmQgdGhlIGh1bmsgaXMgbGVmdCB1bmNoYW5nZWQuXG4iCittc2dzdHIgIiIKKyJTaSBubyBzJ2FwbGljYSBjb3JyZWN0YW1lbnQsIHRpbmRyZXUgdW5hIG9wb3J0dW5pdGF0IHBlciBlZGl0YXItbG9cbiIKKyJkZSBub3UuIFNpIHRvdGVzIGxlcyBsw61uaWVzIGRlbCB0cm9zIHNlIHN1cHJpbWVpeGVuLCBsbGF2b3JzIGwnZWRpY2nDsyAiCisicydhdm9ydGFcbiIKKyJpIGVsIHRyb3MgZXMgZGVpeGEgc2Vuc2UgY2FwIGNhbnZpLlxuIgorCisjOiBhZGQtcGF0Y2guYzo4NTEKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgaHVuayBoZWFkZXIiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGxhIGNhcMOnYWxlcmEgZGVsIHRyb3MiCisKKyM6IGFkZC1wYXRjaC5jOjg5NSBhZGQtcGF0Y2guYzoxMjk0Cittc2dpZCAiJ2dpdCBhcHBseSAtLWNhY2hlZCcgZmFpbGVkIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIFt5L25dCisjLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IHRoYXQgaW5wdXQgYXQgdGhpcyBwb2ludC4KKyMuIENvbnNpZGVyIHRyYW5zbGF0aW5nIChzYXlpbmcgIm5vIiBkaXNjYXJkcyEpIGFzCisjLiAoc2F5aW5nICJuIiBmb3IgIm5vIiBkaXNjYXJkcyEpIGlmIHRoZSB0cmFuc2xhdGlvbgorIy4gb2YgdGhlIHdvcmQgIm5vIiBkb2VzIG5vdCBzdGFydCB3aXRoIG4uCisjLgorIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgW3kvbl0KKyMuIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgdGhhdCBpbnB1dAorIy4gYXQgdGhpcyBwb2ludC4KKyMuIENvbnNpZGVyIHRyYW5zbGF0aW5nIChzYXlpbmcgIm5vIiBkaXNjYXJkcyEpIGFzCisjLiAoc2F5aW5nICJuIiBmb3IgIm5vIiBkaXNjYXJkcyEpIGlmIHRoZSB0cmFuc2xhdGlvbgorIy4gb2YgdGhlIHdvcmQgIm5vIiBkb2VzIG5vdCBzdGFydCB3aXRoIG4uCisjOiBhZGQtcGF0Y2guYzo5NTIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjM5Cittc2dpZCAiIgorIllvdXIgZWRpdGVkIGh1bmsgZG9lcyBub3QgYXBwbHkuIEVkaXQgYWdhaW4gKHNheWluZyBcIm5vXCIgZGlzY2FyZHMhKSBbeS9uXT8gIgorbXNnc3RyICIiCisiRWwgdHJvcyBlZGl0YXQgbm8gcydhcGxpY2EuIEVkaXRldS1sbyBkZSBub3UgKHNpIHJlc3BvbmV1IFwibm9cIiBlcyAiCisiZGVzY2FydGFyw6ApIFt5L25dPyAiCisKKyM6IGFkZC1wYXRjaC5jOjEwMDkKK21zZ2lkICIiCisieSAtIHN0YWdlIHRoaXMgaHVua1xuIgorIm4gLSBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rXG4iCisicSAtIHF1aXQ7IGRvIG5vdCBzdGFnZSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSBzdGFnZSB0aGlzIGFuZCBhbGwgdGhlIHJlbWFpbmluZyBodW5rc1xuIgorImQgLSBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rIG5vciBhbnkgb2YgdGhlIHJlbWFpbmluZyBodW5rc1xuIgorbXNnc3RyICIiCisieSAtIGZlcyDCq3N0YWdlwrsgZCdhcXVlc3QgdHJvc1xuIgorIm4gLSBubyBmYWNpcyDCq3N0YWdlwrsgZCdhcXVlc3QgdHJvc1xuIgorInEgLSBzdXJ0OyBubyBmYWNpcyDCq3N0YWdlwrsgZCdhcXVlc3QgdHJvcyBvIGRlIGNhcCBhbHRyZSByZXN0YW50XG4iCisiYSAtIGZlcyDCq3N0YWdlwrsgZCdhcXVlc3QgdHJvcyBpIGRlIHRvdGEgbGEgcmVzdGEgZGUgdHJvc3NvcyBkZWwgZml0eGVyXG4iCisiZCAtIG5vIGZhY2lzIMKrc3RhZ2XCuyBkJ2FxdWVzdCB0cm9zIG8gZGUgY2FwIGFsdHJlIHJlc3RhbnQgZGVsIGZpdHhlclxuIgorCisjOiBhZGQtcGF0Y2guYzoxMDE2Cittc2dpZCAiIgorImogLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgbmV4dCB1bmRlY2lkZWQgaHVua1xuIgorIkogLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgbmV4dCBodW5rXG4iCisiayAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBwcmV2aW91cyB1bmRlY2lkZWQgaHVua1xuIgorIksgLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgcHJldmlvdXMgaHVua1xuIgorImcgLSBzZWxlY3QgYSBodW5rIHRvIGdvIHRvXG4iCisiLyAtIHNlYXJjaCBmb3IgYSBodW5rIG1hdGNoaW5nIHRoZSBnaXZlbiByZWdleFxuIgorInMgLSBzcGxpdCB0aGUgY3VycmVudCBodW5rIGludG8gc21hbGxlciBodW5rc1xuIgorImUgLSBtYW51YWxseSBlZGl0IHRoZSBjdXJyZW50IGh1bmtcbiIKKyI/IC0gcHJpbnQgaGVscFxuIgorbXNnc3RyICIiCisiaiAtIGRlaXhhIGFxdWVzdCB0cm9zIHNlbnNlIGRlY2lkaXIsIHZldXJlIGVsIHRyb3Mgc2Vuc2UgZGVjaWRpciBzZWfDvGVudFxuIgorIkogLSBkZWl4YSBhcXVlc3QgdHJvcyBzZW5zZSBkZWNpZGlyLCB2ZXVyZSBlbCB0cm9zIHNlZ8O8ZW50XG4iCisiayAtIGRlaXhhIGFxdWVzdCB0cm9zIHNlbnNlIGRlY2lkaXIsIHZldXJlIGVsIHRyb3Mgc2Vuc2UgZGVjaWRpciBhbnRlcmlvclxuIgorIksgLSBkZWl4YSBhcXVlc3QgdHJvcyBzZW5zZSBkZWNpZGlyLCB2ZXVyZSBlbCB0cm9zIGFudGVyaW9yXG4iCisiZyAtIHNlbGVjY2lvbmEgZWwgdHJvcyBvbiB2b2xldSBhbmFyXG4iCisiLyAtIGNlcmNhIHVuIHRyb3MgcXVlIGNvaW5jaWRlaXhpIGFtYiBsJ2V4cHJlc3Npw7MgcmVndWxhciBkb25hZGFcbiIKKyJzIC0gZGl2aWRlaXggZWwgdHJvcyBhY3R1YWwgZW4gdHJvc3NvcyBtw6lzIHBldGl0c1xuIgorImUgLSBlZGl0YSBtYW51YWxtZW50IGVsIHRyb3MgYWN0dWFsXG4iCisiPyAtIG1vc3RyYSBsJ2FqdWRhXG4iCisKKyM6IGFkZC1wYXRjaC5jOjExMzcgYWRkLXBhdGNoLmM6MTE0NworbXNnaWQgIk5vIHByZXZpb3VzIGh1bmsiCittc2dzdHIgIlNlbnNlIHRyb3MgcHJldmkiCisKKyM6IGFkZC1wYXRjaC5jOjExNDIgYWRkLXBhdGNoLmM6MTE1MgorbXNnaWQgIk5vIG5leHQgaHVuayIKK21zZ3N0ciAiTm8gaGkgaGEgdHJvcyBzZWfDvGVudCIKKworIzogYWRkLXBhdGNoLmM6MTE1OAorbXNnaWQgIk5vIG90aGVyIGh1bmtzIHRvIGdvdG8iCittc2dzdHIgIk5vIGhpIGhhIGFsdHJlcyB0cm9zc29zIG9uIGFuYXItaGkiCisKKyM6IGFkZC1wYXRjaC5jOjExNjkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTc3Cittc2dpZCAiZ28gdG8gd2hpY2ggaHVuayAoPHJldD4gdG8gc2VlIG1vcmUpPyAiCittc2dzdHIgInbDqXMgYSBxdWluIHRyb3MgKDxyZXQ+IHBlciB2ZXVyZSduIG3DqXMpPyAiCisKKyM6IGFkZC1wYXRjaC5jOjExNzAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTc5Cittc2dpZCAiZ28gdG8gd2hpY2ggaHVuaz8gIgorbXNnc3RyICJ2w6lzIGEgcXVpbiB0cm9zPyAiCisKKyM6IGFkZC1wYXRjaC5jOjExODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBudW1iZXI6ICclcyciCittc2dzdHIgIk7Dum1lcm8gbm8gdsOgbGlkOiDCqyVzwrsiCisKKyM6IGFkZC1wYXRjaC5jOjExODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU29ycnksIG9ubHkgJWQgaHVuayBhdmFpbGFibGUuIgorbXNnaWRfcGx1cmFsICJTb3JyeSwgb25seSAlZCBodW5rcyBhdmFpbGFibGUuIgorbXNnc3RyWzBdICJOb23DqXMgJWQgdHJvcyBkaXNwb25pYmxlLiIKK21zZ3N0clsxXSAiTm9tw6lzICVkIHRyb3Nzb3MgZGlzcG9uaWJsZXMuIgorCisjOiBhZGQtcGF0Y2guYzoxMTk1Cittc2dpZCAiTm8gb3RoZXIgaHVua3MgdG8gc2VhcmNoIgorbXNnc3RyICJObyBoaSBoYSBjYXAgYWx0cmUgdHJvcyBhIGNlcmNhciIKKworIzogYWRkLXBhdGNoLmM6MTIwMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MjMKK21zZ2lkICJzZWFyY2ggZm9yIHJlZ2V4PyAiCittc2dzdHIgIkNlcmNhIHBlciBleHByZXNzacOzIHJlZ3VsYXI/ICIKKworIzogYWRkLXBhdGNoLmM6MTIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJNYWxmb3JtZWQgc2VhcmNoIHJlZ2V4cCAlczogJXMiCittc2dzdHIgIkV4cHJlc3Npw7MgcmVndWxhciBkZSBjZXJjYSBtYWwgZm9ybWFkYSAlczogJXMiCisKKyM6IGFkZC1wYXRjaC5jOjEyMzMKK21zZ2lkICJObyBodW5rIG1hdGNoZXMgdGhlIGdpdmVuIHBhdHRlcm4iCittc2dzdHIgIk5vIGhpIGhhIHRyb3Nzb3MgcXVlIGNvaW5jaWRlaXhpbiBhbWIgZWwgcGF0csOzIGRvbmF0IgorCisjOiBhZGQtcGF0Y2guYzoxMjQwCittc2dpZCAiU29ycnksIGNhbm5vdCBzcGxpdCB0aGlzIGh1bmsiCittc2dzdHIgIk5vIGVzIHBvdCBkaXZpZGlyIGFxdWVzdCB0cm9zIgorCisjOiBhZGQtcGF0Y2guYzoxMjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNwbGl0IGludG8gJWQgaHVua3MuIgorbXNnc3RyICJEaXZpZGVpeCBlbiAlZCB0cm9zc29zLiIKKworIzogYWRkLXBhdGNoLmM6MTI0OAorbXNnaWQgIlNvcnJ5LCBjYW5ub3QgZWRpdCB0aGlzIGh1bmsiCittc2dzdHIgIk5vIGVzIHBvdCBlZGl0YXIgYXF1ZXN0IHRyb3MiCisKKyM6IGFkdmljZS5jOjExMQorIywgYy1mb3JtYXQKIG1zZ2lkICIlc2hpbnQ6ICUuKnMlc1xuIgotbXNnc3RyICJwaXN0YTogJS4qc1xuIgorbXNnc3RyICIlc3Bpc3RhOiAlLipzJXNcbiIKIAotIzogYWR2aWNlLmM6MTUyCisjOiBhZHZpY2UuYzoxNjQKIG1zZ2lkICJDaGVycnktcGlja2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIkZlciDCq2NoZXJyeSBwaWNrwrsgbm8gw6lzIHBvc3NpYmxlIHBlcnF1w6ggdGVuaXUgZml0eGVycyBzZW5zZSBmdXNpb25hci4iCiAKLSM6IGFkdmljZS5jOjE1NAorIzogYWR2aWNlLmM6MTY2CiBtc2dpZCAiQ29tbWl0dGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIkNvbWV0cmUgbm8gw6lzIHBvc3NpYmxlIHBlcnF1w6ggdGVuaXUgZml0eGVycyBzZW5zZSBmdXNpb25hci4iCiAKLSM6IGFkdmljZS5jOjE1NgorIzogYWR2aWNlLmM6MTY4CiBtc2dpZCAiTWVyZ2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIkZ1c2lvbmFyIG5vIMOpcyBwb3NzaWJsZSBwZXJxdcOoIHRlbml1IGZpdHhlcnMgc2Vuc2UgZnVzaW9uYXIuIgogCi0jOiBhZHZpY2UuYzoxNTgKKyM6IGFkdmljZS5jOjE3MAogbXNnaWQgIlB1bGxpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICJCYWl4YXIgbm8gw6lzIHBvc3NpYmxlIHBlcnF1w6ggdGVuaXUgZml0eGVycyBzZW5zZSBmdXNpb25hci4iCiAKLSM6IGFkdmljZS5jOjE2MAorIzogYWR2aWNlLmM6MTcyCiBtc2dpZCAiUmV2ZXJ0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiUmV2ZXJ0aXIgbm8gw6lzIHBvc3NpYmxlIHBlcnF1w6ggdGVuaXUgZml0eGVycyBzZW5zZSBmdXNpb25hci4iCiAKLSM6IGFkdmljZS5jOjE2MgorIzogYWR2aWNlLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkl0IGlzIG5vdCBwb3NzaWJsZSB0byAlcyBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiTm8gw6lzIHBvc3NpYmxlICVzIHBlcnF1w6ggdGVuaXUgZml0eGVycyBzZW5zZSBmdXNpb25hci4iCiAKLSM6IGFkdmljZS5jOjE3MAorIzogYWR2aWNlLmM6MTgyCiBtc2dpZCAiIgogIkZpeCB0aGVtIHVwIGluIHRoZSB3b3JrIHRyZWUsIGFuZCB0aGVuIHVzZSAnZ2l0IGFkZC9ybSA8ZmlsZT4nXG4iCiAiYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uIGFuZCBtYWtlIGEgY29tbWl0LiIKQEAgLTk4LDE0MSArNTI0LDE0NiBAQAogIidnaXQgYWRkL3JtIDxmaXR4ZXI+JyBzZWdvbnMgc2lndWkgYXByb3BpYXQgcGVyIGEgbWFyY2FyIGxhXG4iCiAicmVzb2x1Y2nDsyBpIGZldSB1bmEgY29taXNzacOzLiIKIAotIzogYWR2aWNlLmM6MTc4CisjOiBhZHZpY2UuYzoxOTAKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgYW4gdW5yZXNvbHZlZCBjb25mbGljdC4iCiBtc2dzdHIgIlMnZXN0w6Agc29ydGludCBhIGNhdXNhIGQndW4gY29uZmxpY3RlIG5vIHJlc29sdC4iCiAKLSM6IGFkdmljZS5jOjE4MyBidWlsdGluL21lcmdlLmM6MTI4OQorIzogYWR2aWNlLmM6MTk1IGJ1aWx0aW4vbWVyZ2UuYzoxMzMyCiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuIgogbXNnc3RyICJObyBoZXUgY29uY2zDsnMgbGEgdm9zdHJhIGZ1c2nDsyAoTUVSR0VfSEVBRCBleGlzdGVpeCkuIgogCi0jOiBhZHZpY2UuYzoxODUKKyM6IGFkdmljZS5jOjE5NwogbXNnaWQgIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgbWVyZ2luZy4iCiBtc2dzdHIgIkNvbWV0ZXUgZWxzIHZvc3RyZXMgY2FudmlzIGFiYW5zIGRlIGZ1c2lvbmFyLiIKIAotIzogYWR2aWNlLmM6MTg2CisjOiBhZHZpY2UuYzoxOTgKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgdW5maW5pc2hlZCBtZXJnZS4iCiBtc2dzdHIgIlMnZXN0w6Agc29ydGludCBhIGNhdXNhIGQndW5hIGZ1c2nDsyBubyB0ZXJtaW5hZGEuIgogCi0jOiBhZHZpY2UuYzoxOTIKLSMsIGMtZm9ybWF0CisjOiBhZHZpY2UuYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiIKLSJOb3RlOiBjaGVja2luZyBvdXQgJyVzJy5cbiIKKyJOb3RlOiBzd2l0Y2hpbmcgdG8gJyVzJy5cbiIKICJcbiIKICJZb3UgYXJlIGluICdkZXRhY2hlZCBIRUFEJyBzdGF0ZS4gWW91IGNhbiBsb29rIGFyb3VuZCwgbWFrZSBleHBlcmltZW50YWxcbiIKICJjaGFuZ2VzIGFuZCBjb21taXQgdGhlbSwgYW5kIHlvdSBjYW4gZGlzY2FyZCBhbnkgY29tbWl0cyB5b3UgbWFrZSBpbiB0aGlzXG4iCi0ic3RhdGUgd2l0aG91dCBpbXBhY3RpbmcgYW55IGJyYW5jaGVzIGJ5IHBlcmZvcm1pbmcgYW5vdGhlciBjaGVja291dC5cbiIKKyJzdGF0ZSB3aXRob3V0IGltcGFjdGluZyBhbnkgYnJhbmNoZXMgYnkgc3dpdGNoaW5nIGJhY2sgdG8gYSBicmFuY2guXG4iCiAiXG4iCiAiSWYgeW91IHdhbnQgdG8gY3JlYXRlIGEgbmV3IGJyYW5jaCB0byByZXRhaW4gY29tbWl0cyB5b3UgY3JlYXRlLCB5b3UgbWF5XG4iCi0iZG8gc28gKG5vdyBvciBsYXRlcikgYnkgdXNpbmcgLWIgd2l0aCB0aGUgY2hlY2tvdXQgY29tbWFuZCBhZ2Fpbi4gRXhhbXBsZTpcbiIKKyJkbyBzbyAobm93IG9yIGxhdGVyKSBieSB1c2luZyAtYyB3aXRoIHRoZSBzd2l0Y2ggY29tbWFuZC4gRXhhbXBsZTpcbiIKICJcbiIKLSIgIGdpdCBjaGVja291dCAtYiA8bmV3LWJyYW5jaC1uYW1lPlxuIgorIiAgZ2l0IHN3aXRjaCAtYyA8bmV3LWJyYW5jaC1uYW1lPlxuIgorIlxuIgorIk9yIHVuZG8gdGhpcyBvcGVyYXRpb24gd2l0aDpcbiIKKyJcbiIKKyIgIGdpdCBzd2l0Y2ggLVxuIgorIlxuIgorIlR1cm4gb2ZmIHRoaXMgYWR2aWNlIGJ5IHNldHRpbmcgY29uZmlnIHZhcmlhYmxlIGFkdmljZS5kZXRhY2hlZEhlYWQgdG8gIgorImZhbHNlXG4iCiAiXG4iCiBtc2dzdHIgIiIKLSJBdsOtczogcydlc3TDoCBhZ2FmYW50IMKrJXPCuy5cbiIKKyJBdsOtczogcydlc3TDoCBjYW52aWFudCBhIMKrJXPCuy5cbiIKICJcbiIKLSJFc3RldSBlbiB1biBlc3RhdCBkZSAnSEVBRCBzZXBhcmF0Jy4gUG9kZXUgbWlyYXIgYWwgdm9sdGFudCwgZmVyIGNhbnZpc1xuIgotImV4cGVyaW1lbnRhbHMgaSBjb21ldHJlLWxvcyBpIHBvZGV1IGRlc2NhcnRhciBxdWFsc2V2b2wgY29taXNzacOzIHF1ZSBmZXVcbiIKLSJlbiBhcXVlc3QgZXN0YXQgc2Vuc2UgaW1wYWN0YXIgY2FwIGJyYW5jYSByZWFsaXR6YW50IHVuIGFsdHJlIGFnYWZhbWVudC5cbiIKKyJFc3RldSBlbiB1biBlc3RhdCBkZSDCq0hFQUQgc2VwYXJhdMK7LiBQb2RldSBtaXJhciBhbCB2b2x0YW50LCBmZXIgY2FudmlzXG4iCisiZXhwZXJpbWVudGFscyBpIGNvbWV0cmUnbHMsIGkgcG9kZXUgZGVzY2FydGFyIHF1YWxzZXZvbCBjb21pc3Npw7MgcXVlIGZldVxuIgorImVuIGFxdWVzdCBlc3RhdCBzZW5zZSBjYXAgYnJhbmNhIHJlYWxpdHphbnQgdW4gYWx0cmUgYWdhZmFtZW50LlxuIgogIlxuIgogIlNpIHZvbGV1IGNyZWFyIHVuYSBicmFuY2Egbm92YSBwZXIgYSBjb25zZXJ2YXIgbGVzIGNvbWlzc2lvbnMgcXVlIGNyZWV1LFxuIgotInBvZGVyIGZlciBhaXjDrSAoYXJhIG8gbcOpcyB0YXJkKSB1c2FudCAtYiBkZSBub3UgYW1iIGwnb3JkcmUgY2hlY2tvdXQuXG4iCisicG9kZXIgZmVyLWhvIChhcmEgbyBtw6lzIHRhcmQpIHVzYW50IC1iIGRlIG5vdSBhbWIgbCdvcmRyZSBjaGVja291dC5cbiIKICJFeGVtcGxlOlxuIgogIlxuIgogIiAgZ2l0IGNoZWNrb3V0IC1iIDxub20tZGUtYnJhbmNhLW5vdmE+XG4iCiAKLSM6IGFwcGx5LmM6NTkKKyM6IGFsaWFzLmM6NTAKK21zZ2lkICJjbWRsaW5lIGVuZHMgd2l0aCBcXCIKK21zZ3N0ciAibGEgbMOtbmlhIGQnb3JkcmVzIGFjYWJhIGFtYiBcXCIKKworIzogYWxpYXMuYzo1MQorbXNnaWQgInVuY2xvc2VkIHF1b3RlIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCiBtc2dzdHIgIm9wY2nDsyBkJ2VzcGFpIGVuIGJsYW5jIMKrJXPCuyBubyByZWNvbmVndWRhIgogCi0jOiBhcHBseS5jOjc1CisjOiBhcHBseS5jOjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIGlnbm9yZSBvcHRpb24gJyVzJyIKIG1zZ3N0ciAib3BjacOzIGlnbm9yYSBsJ2VzcGFpIGVuIGJsYW5jIMKrJXPCuyBubyByZWNvbmVndWRhIgogCi0jOiBhcHBseS5jOjEyNQorIzogYXBwbHkuYzoxMzUKIG1zZ2lkICItLXJlamVjdCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKIG1zZ3N0ciAiLS1yZWplY3QgaSAtLTN3YXkgbm8gZXMgcG9kZW4gdXNhciBqdW50cy4iCiAKLSM6IGFwcGx5LmM6MTI3CisjOiBhcHBseS5jOjEzNwogbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgogbXNnc3RyICItLWNhY2hlZCBpIC0tM3dheSBubyBlcyBwb2RlbiB1c2FyIGp1bnRzLiIKIAotIzogYXBwbHkuYzoxMzAKKyM6IGFwcGx5LmM6MTQwCiBtc2dpZCAiLS0zd2F5IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLTN3YXkgZm9yYSBkJ3VuIGRpcMOyc2l0IgogCi0jOiBhcHBseS5jOjE0MQorIzogYXBwbHkuYzoxNTEKIG1zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLWluZGV4IGZvcmEgZCd1biBkaXDDsnNpdCIKIAotIzogYXBwbHkuYzoxNDQKKyM6IGFwcGx5LmM6MTU0CiBtc2dpZCAiLS1jYWNoZWQgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tY2FjaGVkIGZvcmEgZCd1biBkaXDDsnNpdCIKIAotIzogYXBwbHkuYzo4MjYKKyM6IGFwcGx5LmM6ODAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBwcmVwYXJlIHRpbWVzdGFtcCByZWdleHAgJXMiCiBtc2dzdHIgIk5vIGVzIHBvdCBwcmVwYXJhciBsJ2V4cHJlc3Npw7MgcmVndWxhciBkZSBtYXJjYSBkZSB0ZW1wcyAlcyIKIAotIzogYXBwbHkuYzo4MzUKKyM6IGFwcGx5LmM6ODEwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZ2V4ZWMgcmV0dXJuZWQgJWQgZm9yIGlucHV0OiAlcyIKIG1zZ3N0ciAicmVnZXhlYyBoYSByZXRvcm5hdCAlZCBwZXIgbCdlbnRyYWRhOiAlcyIKIAotIzogYXBwbHkuYzo5MDkKKyM6IGFwcGx5LmM6ODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgdHJvYmFyIGVsIG5vbSBkZSBmaXR4ZXIgZW4gZWwgcGVkYcOnIGEgbGEgbMOtbmlhICVkIgogCi0jOiBhcHBseS5jOjk0NworIzogYXBwbHkuYzo5MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwsIGdvdCAlcyBvbiBsaW5lICVkIgogbXNnc3RyICIiCiAiZ2l0IGFwcGx5OiBnaXQtZGlmZiBpbmNvcnJlY3RlIC0gcydlc3BlcmF2YSAvZGV2L251bGwsIHMnaGEgcmVidXQgJXMgZW4gbGEgIgogImzDrW5pYSAlZCIKIAotIzogYXBwbHkuYzo5NTMKKyM6IGFwcGx5LmM6OTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG5ldyBmaWxlbmFtZSBvbiBsaW5lICVkIgogbXNnc3RyICIiCiAiZ2l0IGFwcGx5OiBnaXQtZGlmZiBpbmNvcnJlY3RlIC0gbm9tIGRlIGZpdHhlciBub3UgaW5jb25zaXN0ZW50IGVuIGxhIGzDrW5pYSAiCiAiJWQiCiAKLSM6IGFwcGx5LmM6OTU0CisjOiBhcHBseS5jOjkyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBvbGQgZmlsZW5hbWUgb24gbGluZSAlZCIKIG1zZ3N0ciAiIgogImdpdCBhcHBseTogZ2l0LWRpZmYgaW5jb3JyZWN0ZSAtIG5vbSBkZSBmaXR4ZXIgYW50aWMgaW5jb25zaXN0ZW50IGVuIGxhICIKICJsw61uaWEgJWQiCiAKLSM6IGFwcGx5LmM6OTU5CisjOiBhcHBseS5jOjkzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCBvbiBsaW5lICVkIgogbXNnc3RyICJnaXQgYXBwbHk6IGdpdC1kaWZmIGluY29ycmVjdGUgLSBzJ2VzcGVyYXZhIC9kZXYvbnVsbCBlbiBsYSBsw61uaWEgJWQiCiAKLSM6IGFwcGx5LmM6OTg4CisjOiBhcHBseS5jOjk2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG1vZGUgb24gbGluZSAlZDogJXMiCiBtc2dzdHIgIm1vZGUgbm8gdsOgbGlkIGVuIGxhIGzDrW5pYSAlZDogJXMiCiAKLSM6IGFwcGx5LmM6MTMwNworIzogYXBwbHkuYzoxMjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImluY29uc2lzdGVudCBoZWFkZXIgbGluZXMgJWQgYW5kICVkIgogbXNnc3RyICJsw61uaWVzIGRlIGNhcMOnYWxlcmEgJWQgaSAlZCBpbmNvbnNpc3RlbnRzIgogCi0jOiBhcHBseS5jOjE0NzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgotbXNnc3RyICJyZWNvbXB0ZTogbMOtbmlhIGluZXNwZXJhZGE6ICUuKnMiCi0KLSM6IGFwcGx5LmM6MTU0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgotbXNnc3RyICJmcmFnbWVudCBkZSBwZWRhw6cgc2Vuc2UgY2Fww6dhbGVyYSBhIGxhIGzDrW5pYSAlZDogJS4qcyIKLQotIzogYXBwbHkuYzoxNTY4CisjOiBhcHBseS5jOjEzNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgpAQCAtMjQ3LDgzICs2NzgsOTMgQEAKICJhIGxhIGNhcMOnYWxlcmEgZGUgZ2l0IGRpZmYgbGkgbWFuY2EgaW5mb3JtYWNpw7MgZGUgbm9tIGRlIGZpdHhlciBlbiBlbGltaW5hciAiCiAiJWQgY29tcG9uZW50cyBkZSBub20gZGUgY2Ftw60gaW5pY2lhbCAobMOtbmlhICVkKSIKIAotIzogYXBwbHkuYzoxNTgxCisjOiBhcHBseS5jOjEzODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIChsaW5lICVkKSIKIG1zZ3N0ciAiIgogImEgbGEgY2Fww6dhbGVyYSBkZSBnaXQgZGlmZiBsaSBtYW5jYSBpbmZvcm1hY2nDsyBkZSBub20gZGUgZml0eGVyIChsw61uaWEgJWQpIgogCi0jOiBhcHBseS5jOjE3NjkKKyM6IGFwcGx5LmM6MTQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvdW50OiB1bmV4cGVjdGVkIGxpbmU6ICUuKnMiCittc2dzdHIgInJlY29tcHRlOiBsw61uaWEgaW5lc3BlcmFkYTogJS4qcyIKKworIzogYXBwbHkuYzoxNTUwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgImZyYWdtZW50IGRlIHBlZGHDpyBzZW5zZSBjYXDDp2FsZXJhIGEgbGEgbMOtbmlhICVkOiAlLipzIgorCisjOiBhcHBseS5jOjE3NTMKIG1zZ2lkICJuZXcgZmlsZSBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKIG1zZ3N0ciAiZWwgZml0eGVyIG5vdSBkZXDDqG4gZGVscyBjb250aW5ndXRzIGFudGljcyIKIAotIzogYXBwbHkuYzoxNzcxCisjOiBhcHBseS5jOjE3NTUKIG1zZ2lkICJkZWxldGVkIGZpbGUgc3RpbGwgaGFzIGNvbnRlbnRzIgogbXNnc3RyICJlbCBmaXR4ZXIgc3VwcmltaXQgZW5jYXJhIHTDqSBjb250aW5ndXRzIgogCi0jOiBhcHBseS5jOjE4MDUKKyM6IGFwcGx5LmM6MTc4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgInBlZGHDpyBtYWxtw6hzIGEgbGEgbMOtbmlhICVkIgogCi0jOiBhcHBseS5jOjE4NDIKKyM6IGFwcGx5LmM6MTgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgZmlsZSAlcyBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKIG1zZ3N0ciAiZWwgZml0eGVyIG5vdSAlcyBkZXDDqG4gZGVscyBjb250aW5ndXRzIGFudGljcyIKIAotIzogYXBwbHkuYzoxODQ0CisjOiBhcHBseS5jOjE4MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRlZCBmaWxlICVzIHN0aWxsIGhhcyBjb250ZW50cyIKIG1zZ3N0ciAiZWwgZml0eGVyIHN1cHJpbWl0ICVzIGVuY2FyYSB0w6kgY29udGluZ3V0cyIKIAotIzogYXBwbHkuYzoxODQ3CisjOiBhcHBseS5jOjE4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiogd2FybmluZzogZmlsZSAlcyBiZWNvbWVzIGVtcHR5IGJ1dCBpcyBub3QgZGVsZXRlZCIKIG1zZ3N0ciAiKiogYWR2ZXJ0w6huY2lhOiBlbCBmaXR4ZXIgJXMgcXVlZGEgYnVpdCBwZXLDsiBubyBzZSBzdXByaW1laXgiCiAKLSM6IGFwcGx5LmM6MTk5NAorIzogYXBwbHkuYzoxOTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgInBlZGHDpyBiaW5hcmkgbWFsbcOocyBhIGxhIGzDrW5pYSAlZDogJS4qcyIKIAotIzogYXBwbHkuYzoyMDMxCisjOiBhcHBseS5jOjIwMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICJwZWRhw6cgYmluYXJpIG5vIHJlY29uZWd1dCBhIGxhIGzDrW5pYSAlZCIKIAotIzogYXBwbHkuYzoyMTkzCisjOiBhcHBseS5jOjIxNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0Y2ggd2l0aCBvbmx5IGdhcmJhZ2UgYXQgbGluZSAlZCIKIG1zZ3N0ciAicGVkYcOnIGFtYiBub23DqXMgZXNjb21icmFyaWVzIGEgbGEgbMOtbmlhICVkIgogCi0jOiBhcHBseS5jOjIyNzkKKyM6IGFwcGx5LmM6MjI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzeW1saW5rICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBsJ2VubGxhw6cgc2ltYsOybGljICVzIgogCi0jOiBhcHBseS5jOjIyODMKKyM6IGFwcGx5LmM6MjI2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiBvciByZWFkICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyIG8gbGxlZ2lyICVzIgogCi0jOiBhcHBseS5jOjI5NDIKKyM6IGFwcGx5LmM6MjkzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHN0YXJ0IG9mIGxpbmU6ICclYyciCi1tc2dzdHIgImluaWNpIGRlIGzDrW5pYSBubyB2w6BsaWQ6ICclYyciCittc2dzdHIgImluaWNpIGRlIGzDrW5pYSBubyB2w6BsaWQ6IMKrJWPCuyIKIAotIzogYXBwbHkuYzozMDYzCisjOiBhcHBseS5jOjMwNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZSkuIgogbXNnaWRfcGx1cmFsICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lcykuIgogbXNnc3RyWzBdICJFbCB0cm9zICMlZCBoYSB0aW5ndXQgw6h4aXQgYSAlZCAoZGVzcGxhw6dhbWVudCBkJyVkIGzDrW5pYSkuIgogbXNnc3RyWzFdICJFbCB0cm9zICMlZCBoYSB0aW5ndXQgw6h4aXQgYSAlZCAoZGVzcGxhw6dhbWVudCBkZSAlZCBsw61uaWVzKS4iCiAKLSM6IGFwcGx5LmM6MzA3NQorIzogYXBwbHkuYzozMDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbnRleHQgcmVkdWNlZCB0byAoJWxkLyVsZCkgdG8gYXBwbHkgZnJhZ21lbnQgYXQgJWQiCiBtc2dzdHIgIkVsIGNvbnRleHQgcydoYSByZWR1w690IGEgKCVsZC8lbGQpIHBlciBhIGFwbGljYXIgZWwgZnJhZ21lbnQgYSAlZCIKIAotIzogYXBwbHkuYzozMDgxCisjOiBhcHBseS5jOjMwNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIndoaWxlIHNlYXJjaGluZyBmb3I6XG4iCkBAIC0zMzIsMjMgKzc3MywyMyBAQAogInRvdCBjZXJjYW50OlxuIgogIiUuKnMiCiAKLSM6IGFwcGx5LmM6MzEwMworIzogYXBwbHkuYzozMDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3NpbmcgYmluYXJ5IHBhdGNoIGRhdGEgZm9yICclcyciCiBtc2dzdHIgIm1hbnF1ZW4gbGVzIGRhZGVzIGRlIHBlZGHDpyBiaW5hcmkgZGUgwqslc8K7IgogCi0jOiBhcHBseS5jOjMxMTEKKyM6IGFwcGx5LmM6MzEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmV2ZXJzZS1hcHBseSBhIGJpbmFyeSBwYXRjaCB3aXRob3V0IHRoZSByZXZlcnNlIGh1bmsgdG8gJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IGFwbGljYXIgYWwgcmV2w6lzIHVuIHBlZGHDpyBiaW5hcmkgc2Vuc2UgZWwgdHJvcyByZXbDqXMgYSDCqyVzwrsiCiAKLSM6IGFwcGx5LmM6MzE1OAorIzogYXBwbHkuYzozMTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhcHBseSBiaW5hcnkgcGF0Y2ggdG8gJyVzJyB3aXRob3V0IGZ1bGwgaW5kZXggbGluZSIKIG1zZ3N0ciAiIgogIm5vIGVzIHBvdCBhcGxpY2FyIHVuIHBlZGHDpyBiaW5hcmkgYSDCqyVzwrsgc2Vuc2UgbGEgbMOtbmlhIGQnw61uZGV4IGNvbXBsZXRhIgogCi0jOiBhcHBseS5jOjMxNjgKKyM6IGFwcGx5LmM6MzE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidGhlIHBhdGNoIGFwcGxpZXMgdG8gJyVzJyAoJXMpLCB3aGljaCBkb2VzIG5vdCBtYXRjaCB0aGUgY3VycmVudCBjb250ZW50cy4iCkBAIC0zNTYsMjg4ICs3OTcsMjg0IEBACiAiZWwgcGVkYcOnIHMnYXBsaWNhIGEgwqslc8K7ICglcyksIGVsIHF1YWwgbm8gY29pbmNpZGVpeCBhbWIgZWxzIGNvbnRpbmd1dHMgIgogImFjdHVhbHMuIgogCi0jOiBhcHBseS5jOjMxNzYKKyM6IGFwcGx5LmM6MzE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgcGF0Y2ggYXBwbGllcyB0byBhbiBlbXB0eSAnJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiCiBtc2dzdHIgImVsIHBlZGHDpyBzJ2FwbGljYSBhIHVuIMKrJXPCuyBidWl0IHBlcsOyIG5vIMOpcyBidWl0IgogCi0jOiBhcHBseS5jOjMxOTQKKyM6IGFwcGx5LmM6MzE4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgbmVjZXNzYXJ5IHBvc3RpbWFnZSAlcyBmb3IgJyVzJyBjYW5ub3QgYmUgcmVhZCIKIG1zZ3N0ciAibm8gZXMgcG90IGxsZWdpciBsYSBwb3N0aW1hdGdlICVzIG5lY2Vzc8OgcmlhIHBlciBhIMKrJXPCuyIKIAotIzogYXBwbHkuYzozMjA3CisjOiBhcHBseS5jOjMyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmluYXJ5IHBhdGNoIGRvZXMgbm90IGFwcGx5IHRvICclcyciCiBtc2dzdHIgImVsIHBlZGHDpyBiaW5hcmkgbm8gcydhcGxpY2EgYSDCqyVzwrsiCiAKLSM6IGFwcGx5LmM6MzIxMworIzogYXBwbHkuYzozMjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgogbXNnc3RyICIiCiAiZWwgcGVkYcOnIGJpbmFyaSBhIMKrJXPCuyBjcmVhIHVuIHJlc3VsdGF0IGluY29ycmVjdGUgKHMnZXNwZXJhdmEgJXMsIHMnaGEgIgogInJlYnV0ICVzKSIKIAotIzogYXBwbHkuYzozMjM0CisjOiBhcHBseS5jOjMyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0Y2ggZmFpbGVkOiAlczolbGQiCiBtc2dzdHIgImVsIHBlZGHDpyBoYSBmYWxsYXQ6ICVzOiVsZCIKIAotIzogYXBwbHkuYzozMzU2CisjOiBhcHBseS5jOjMzNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZWNrb3V0ICVzIgogbXNnc3RyICJubyBlcyBwb3QgYWdhZmFyICVzIgogCi0jOiBhcHBseS5jOjM0MDggYXBwbHkuYzozNDE5IGFwcGx5LmM6MzQ2NSBtaWR4LmM6NTggc2V0dXAuYzoyNzgKKyM6IGFwcGx5LmM6MzQwMyBhcHBseS5jOjM0MTQgYXBwbHkuYzozNDYwIG1pZHguYzo2MSBzZXR1cC5jOjI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsbGVnaXIgJXMiCiAKLSM6IGFwcGx5LmM6MzQxNgorIzogYXBwbHkuYzozNDExCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWRpbmcgZnJvbSAnJXMnIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgInMnZXN0w6AgbGxlZ2ludCBkZSDCqyVzwrsgbcOpcyBlbmxsw6AgZCd1biBlbmxsYcOnIHNpbWLDsmxpYyIKIAotIzogYXBwbHkuYzozNDQ1IGFwcGx5LmM6MzY4OAorIzogYXBwbHkuYzozNDQwIGFwcGx5LmM6MzY4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKIG1zZ3N0ciAiZWwgY2Ftw60gJXMgcydoYSBjYW52aWF0IGRlIG5vbSAvIHMnaGEgc3VwcmltaXQiCiAKLSM6IGFwcGx5LmM6MzUzMSBhcHBseS5jOjM3MDMKKyM6IGFwcGx5LmM6MzUyNiBhcHBseS5jOjM2OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4IgogbXNnc3RyICIlczogbm8gZXhpc3RlaXggZW4gbCfDrW5kZXgiCiAKLSM6IGFwcGx5LmM6MzU0MCBhcHBseS5jOjM3MTEKKyM6IGFwcGx5LmM6MzUzNSBhcHBseS5jOjM3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IgogbXNnc3RyICIlczogbm8gY29pbmNpZGVpeCBhbWIgbCfDrW5kZXgiCiAKLSM6IGFwcGx5LmM6MzU3NQorIzogYXBwbHkuYzozNTcwCiBtc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAiIgogImFsIGRpcMOyc2l0IGxpIG1hbmNhIGVsIGJsb2IgbmVjZXNzYXJpIHBlciBhIHJldHJvY2VkaXIgYSB1bmEgZnVzacOzIGRlIDMgdmllcy4iCiAKLSM6IGFwcGx5LmM6MzU3OAorIzogYXBwbHkuYzozNTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhbGxpbmcgYmFjayB0byB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKIG1zZ3N0ciAiUydlc3TDoCByZXRyb2NlZGludCBhIHVuYSBmdXNpw7MgZGUgMyB2aWVzLi4uXG4iCiAKLSM6IGFwcGx5LmM6MzU5NCBhcHBseS5jOjM1OTgKKyM6IGFwcGx5LmM6MzU4OSBhcHBseS5jOjM1OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG9kZW4gbGxlZ2lyIGVscyBjb250aW5ndXRzIGFjdHVhbHMgZGUgwqslc8K7IgogCi0jOiBhcHBseS5jOjM2MTAKKyM6IGFwcGx5LmM6MzYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gZmFsbCBiYWNrIG9uIHRocmVlLXdheSBtZXJnZS4uLlxuIgogbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHJldHJvY2VkaXIgYSB1bmEgZnVzacOzIGRlIDMgdmllcy4uLlxuIgogCi0jOiBhcHBseS5jOjM2MjQKKyM6IGFwcGx5LmM6MzYxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgd2l0aCBjb25mbGljdHMuXG4iCiBtc2dzdHIgIlMnaGEgYXBsaWNhdCBlbCBwZWRhw6cgYSDCqyVzwrsgYW1iIGNvbmZsaWN0ZXMuXG4iCiAKLSM6IGFwcGx5LmM6MzYyOQorIzogYXBwbHkuYzozNjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyBjbGVhbmx5LlxuIgogbXNnc3RyICJTJ2hhIGFwbGljYXQgZWwgcGVkYcOnIGEgwqslc8K7IG5ldGFtZW50LlxuIgogCi0jOiBhcHBseS5jOjM2NTUKKyM6IGFwcGx5LmM6MzY1MAogbXNnaWQgInJlbW92YWwgcGF0Y2ggbGVhdmVzIGZpbGUgY29udGVudHMiCiBtc2dzdHIgImVsIHBlZGHDpyBkJ2VsaW1pbmFjacOzIGRlaXhhIGVscyBjb250aW5ndXRzIGRlbHMgZml0eGVycyIKIAotIzogYXBwbHkuYzozNzI4CisjOiBhcHBseS5jOjM3MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHdyb25nIHR5cGUiCiBtc2dzdHIgIiVzOiB0aXB1cyBlcnJvbmkiCiAKLSM6IGFwcGx5LmM6MzczMAorIzogYXBwbHkuYzozNzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyB0eXBlICVvLCBleHBlY3RlZCAlbyIKIG1zZ3N0ciAiJXMgw6lzIGRlbCB0aXB1cyAlbywgcydlc3BlcmF2YSAlbyIKIAotIzogYXBwbHkuYzozODgxIGFwcGx5LmM6Mzg4MworIzogYXBwbHkuYzozODc2IGFwcGx5LmM6Mzg3OCByZWFkLWNhY2hlLmM6ODMwIHJlYWQtY2FjaGUuYzo4NTYKKyM6IHJlYWQtY2FjaGUuYzoxMzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgogbXNnc3RyICJjYW3DrSBubyB2w6BsaWQ6IMKrJXPCuyIKIAotIzogYXBwbHkuYzozOTM5CisjOiBhcHBseS5jOjM5MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIGluZGV4IgogbXNnc3RyICIlczogamEgZXhpc3RlaXggZW4gbCfDrW5kZXgiCiAKLSM6IGFwcGx5LmM6Mzk0MgorIzogYXBwbHkuYzozOTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXM6IGphIGV4aXN0ZWl4IGVuIGVsIGRpcmVjdG9yaSBkZSB0cmViYWxsIgogCi0jOiBhcHBseS5jOjM5NjIKKyM6IGFwcGx5LmM6Mzk1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykiCiBtc2dzdHIgImVsIG1vZGUgbm91ICglbykgZGUgJXMgbm8gY29pbmNpZGVpeCBhbWIgZWwgbW9kZSBhbnRpYyAoJW8pIgogCi0jOiBhcHBseS5jOjM5NjcKKyM6IGFwcGx5LmM6Mzk2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiCiBtc2dzdHIgImVsIG1vZGUgbm91ICglbykgZGUgJXMgbm8gY29pbmNpZGVpeCBhbWIgZWwgbW9kZSBhbnRpYyAoJW8pIGRlICVzIgogCi0jOiBhcHBseS5jOjM5ODcKKyM6IGFwcGx5LmM6Mzk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAiZWwgZml0eGVyIGFmZWN0YXQgwqslc8K7IMOpcyBtw6lzIGVubGzDoCBkJ3VuIGVubGxhw6cgc2ltYsOybGljIgogCi0jOiBhcHBseS5jOjM5OTEKKyM6IGFwcGx5LmM6Mzk4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgIiVzOiBlbCBwZWRhw6cgbm8gcydhcGxpY2EiCiAKLSM6IGFwcGx5LmM6NDAwNgorIzogYXBwbHkuYzo0MDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgogbXNnc3RyICJTJ2VzdMOgIGNvbXByb3ZhbnQgZWwgcGVkYcOnICVzLi4uIgogCi0jOiBhcHBseS5jOjQwOTgKKyM6IGFwcGx5LmM6NDA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyBmb3Igc3VibW9kdWxlICVzIgogbXNnc3RyICJmYWx0YSBsYSBpbmZvcm1hY2nDsyBzaGExIG8gw6lzIGluw7p0aWwgcGVyIGFsIHN1Ym3DsmR1bCAlcyIKIAotIzogYXBwbHkuYzo0MTA1CisjOiBhcHBseS5jOjQxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9kZSBjaGFuZ2UgZm9yICVzLCB3aGljaCBpcyBub3QgaW4gY3VycmVudCBIRUFEIgogbXNnc3RyICJjYW52aSBkZSBtb2RlIHBlciBhICVzLCBlbCBxdWFsIG5vIGVzdMOgIGVuIGxhIEhFQUQgYWN0dWFsIgogCi0jOiBhcHBseS5jOjQxMDgKKyM6IGFwcGx5LmM6NDEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyAoJXMpLiIKIG1zZ3N0ciAiZmFsdGEgaW5mb3JtYWNpw7Mgc2hhMSBvIMOpcyBpbsO6dGlsICglcykuIgogCi0jOiBhcHBseS5jOjQxMTMgYnVpbHRpbi9jaGVja291dC5jOjI0NCBidWlsdGluL3Jlc2V0LmM6MTQyCi0jLCBjLWZvcm1hdAotbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCi1tc2dzdHIgIm1ha2VfY2FjaGVfZW50cnkgaGEgZmFsbGF0IHBlciBhbCBjYW3DrSDCqyVzwrsiCi0KLSM6IGFwcGx5LmM6NDExNworIzogYXBwbHkuYzo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhZGQgJXMgdG8gdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFmZWdpciAlcyBhIGwnw61uZGV4IHRlbXBvcmFsIgogCi0jOiBhcHBseS5jOjQxMjcKKyM6IGFwcGx5LmM6NDEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdGVtcG9yYXJ5IGluZGV4IHRvICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGwnw61uZGV4IHRlbXBvcmFsIGEgJXMiCiAKLSM6IGFwcGx5LmM6NDI2NQorIzogYXBwbHkuYzo0MjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBlbGltaW5hciAlcyBkZSBsJ8OtbmRleCIKIAotIzogYXBwbHkuYzo0Mjk5CisjOiBhcHBseS5jOjQyOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBwYXRjaCBmb3Igc3VibW9kdWxlICVzIgogbXNnc3RyICJwZWRhw6cgbWFsbcOocyBwZXIgYWwgc3VibcOyZHVsICVzIgogCi0jOiBhcHBseS5jOjQzMDUKKyM6IGFwcGx5LmM6NDMwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhdCBuZXdseSBjcmVhdGVkIGZpbGUgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBmZXIgc3RhdCBhbCBmaXR4ZXIgbm92YW1lbnQgY3JlYXQgwqslc8K7IgogCi0jOiBhcHBseS5jOjQzMTMKKyM6IGFwcGx5LmM6NDMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGJhY2tpbmcgc3RvcmUgZm9yIG5ld2x5IGNyZWF0ZWQgZmlsZSAlcyIKIG1zZ3N0ciAiIgogIm5vIHMnaGEgcG9ndXQgY3JlYXIgdW4gbWFnYXR6ZW0gZGUgcmVjb2x6YW1lbnQgcGVyIGFsIGZpdHhlciBub3ZhbWVudCBjcmVhdCAiCiAiJXMiCiAKLSM6IGFwcGx5LmM6NDMxOSBhcHBseS5jOjQ0NjQKKyM6IGFwcGx5LmM6NDMxNCBhcHBseS5jOjQ0NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWZlZ2lyIHVuYSBlbnRyYWRhIGRlIGNhdSBwZXIgYSAlcyIKIAotIzogYXBwbHkuYzo0MzYyCisjOiBhcHBseS5jOjQzNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIHRvICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgYSDCqyVzwrsiCiAKLSM6IGFwcGx5LmM6NDM2NgorIzogYXBwbHkuYzo0MzYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb3NpbmcgZmlsZSAnJXMnIgogbXNnc3RyICJzJ2VzdMOgIHRhbmNhbnQgZWwgZml0eGVyIMKrJXPCuyIKIAotIzogYXBwbHkuYzo0NDM2CisjOiBhcHBseS5jOjQ0MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJyVzJyBtb2RlICVvIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGVsIGZpdHhlciDCqyVzwrsgbW9kZSAlbyIKIAotIzogYXBwbHkuYzo0NTM0CisjOiBhcHBseS5jOjQ1MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCAlcyBjbGVhbmx5LiIKIG1zZ3N0ciAiRWwgcGVkYcOnICVzIHMnaGEgYXBsaWNhdCBuZXRhbWVudC4iCiAKLSM6IGFwcGx5LmM6NDU0MgorIzogYXBwbHkuYzo0NTM3CiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IiCiBtc2dzdHIgImVycm9yIGludGVybiIKIAotIzogYXBwbHkuYzo0NTQ1CisjOiBhcHBseS5jOjQ1NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0Li4uIgogbXNnaWRfcGx1cmFsICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3RzLi4uIgogbXNnc3RyWzBdICJTJ2VzdMOgIGFwbGljYW50IGVsIHBlZGHDpyAlJXMgYW1iICVkIHJlYnVpZy4uLiIKIG1zZ3N0clsxXSAiUydlc3TDoCBhcGxpY2FudCBlbCBwZWRhw6cgJSVzIGFtYiAlZCByZWJ1dGpvcy4uLiIKIAotIzogYXBwbHkuYzo0NTU2CisjOiBhcHBseS5jOjQ1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJ1bmNhdGluZyAucmVqIGZpbGVuYW1lIHRvICUuKnMucmVqIgogbXNnc3RyICJzJ2VzdMOgIHRydW5jYW50IGVsIG5vbSBkZWwgZml0eGVyIC5yZWogYSAlLipzLnJlaiIKIAotIzogYXBwbHkuYzo0NTY0IGJ1aWx0aW4vZmV0Y2guYzo4NDMgYnVpbHRpbi9mZXRjaC5jOjExMjIKKyM6IGFwcGx5LmM6NDU1OSBidWlsdGluL2ZldGNoLmM6OTAxIGJ1aWx0aW4vZmV0Y2guYzoxMTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICVzIgogbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgJXMiCiAKLSM6IGFwcGx5LmM6NDU3OAorIzogYXBwbHkuYzo0NTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkh1bmsgIyVkIGFwcGxpZWQgY2xlYW5seS4iCiBtc2dzdHIgIkVsIHRyb3MgIyVkIHMnaGEgYXBsaWNhdCBuZXRhbWVudC4iCiAKLSM6IGFwcGx5LmM6NDU4MgorIzogYXBwbHkuYzo0NTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlamVjdGVkIGh1bmsgIyVkLiIKIG1zZ3N0ciAiUydoYSByZWJ1dGphdCBlbCB0cm9zICMlZC4iCiAKLSM6IGFwcGx5LmM6NDY5MgorIzogYXBwbHkuYzo0Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgcGF0Y2ggJyVzJy4iCiBtc2dzdHIgIlMnaGEgb23DqHMgZWwgcGVkYcOnIMKrJXPCuy4iCiAKLSM6IGFwcGx5LmM6NDcwMAorIzogYXBwbHkuYzo0NzA0CiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgogbXNnc3RyICJlbnRyYWRhIG5vIHJlY29uZWd1ZGEiCiAKLSM6IGFwcGx5LmM6NDcxOQorIzogYXBwbHkuYzo0NzI0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKIG1zZ3N0ciAibm8gZXMgcG90IGxsZWdpciBlbCBmaXR4ZXIgZCfDrW5kZXgiCiAKLSM6IGFwcGx5LmM6NDg3NAorIzogYXBwbHkuYzo0ODgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJzogJXMiCiBtc2dzdHIgIm5vIGVzIHBvdCBvYnJpciBlbCBwZWRhw6cgwqslc8K7OiAlcyIKIAotIzogYXBwbHkuYzo0OTAxCisjOiBhcHBseS5jOjQ5MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3IiCiBtc2dpZF9wbHVyYWwgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9ycyIKIG1zZ3N0clswXSAicydoYSBzaWxlbmNpYXQgJWQgZXJyb3IgZCdlc3BhaSBlbiBibGFuYyIKIG1zZ3N0clsxXSAicydoYW4gc2lsZW5jaWF0ICVkIGVycm9ycyBkJ2VzcGFpIGVuIGJsYW5jIgogCi0jOiBhcHBseS5jOjQ5MDcgYXBwbHkuYzo0OTIyCisjOiBhcHBseS5jOjQ5MTQgYXBwbHkuYzo0OTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkIGxpbmUgYWRkcyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFkZCB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dzdHJbMF0gIiVkIGzDrW5pYSBhZmVnZWl4IGVycm9ycyBkJ2VzcGFpIGVuIGJsYW5jLiIKIG1zZ3N0clsxXSAiJWQgbMOtbmllcyBhZmVnZWl4ZW4gZXJyb3JzIGQnZXNwYWkgZW4gYmxhbmMuIgogCi0jOiBhcHBseS5jOjQ5MTUKKyM6IGFwcGx5LmM6NDkyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgpAQCAtNjQ2LDE0NSArMTA4MywxMzUgQEAKIG1zZ3N0clsxXSAiIgogIlMnaGFuIGFwbGljYXQgJWQgbMOtbmllcyBkZXNwcsOpcyBkJ2FycmVnbGFyIGVscyBlcnJvcnMgZCdlc3BhaSBlbiBibGFuYy4iCiAKLSM6IGFwcGx5LmM6NDkzMSBidWlsdGluL2FkZC5jOjUzOCBidWlsdGluL212LmM6MzAwIGJ1aWx0aW4vcm0uYzozODkKKyM6IGFwcGx5LmM6NDkzOCBidWlsdGluL2FkZC5jOjU3OSBidWlsdGluL212LmM6MzAxIGJ1aWx0aW4vcm0uYzozOTAKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgdW4gZml0eGVyIGQnw61uZGV4IG5vdSIKIAotIzogYXBwbHkuYzo0OTU4IGFwcGx5LmM6NDk2MSBidWlsdGluL2FtLmM6MjIwOSBidWlsdGluL2FtLmM6MjIxMgotIzogYnVpbHRpbi9jbG9uZS5jOjEyMSBidWlsdGluL2ZldGNoLmM6MTE4IGJ1aWx0aW4vbWVyZ2UuYzoyNjIKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA2Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2MiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2NQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NDYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NDkKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDg4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk3Ci1tc2dpZCAicGF0aCIKLW1zZ3N0ciAiY2Ftw60iCi0KLSM6IGFwcGx5LmM6NDk1OQorIzogYXBwbHkuYzo0OTY2CiBtc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKIG1zZ3N0ciAibm8gYXBsaXF1aXMgZWxzIGNhbnZpcyBxdWUgY29pbmNpZGVpeGluIGFtYiBlbCBjYW3DrSBkb25hdCIKIAotIzogYXBwbHkuYzo0OTYyCisjOiBhcHBseS5jOjQ5NjkKIG1zZ2lkICJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgogbXNnc3RyICJhcGxpY2EgZWxzIGNhbnZpcyBxdWUgY29pbmNpZGVpeGluIGFtYiBlbCBjYW3DrSBkb25hdCIKIAotIzogYXBwbHkuYzo0OTY0IGJ1aWx0aW4vYW0uYzoyMjE4CisjOiBhcHBseS5jOjQ5NzEgYnVpbHRpbi9hbS5jOjIyMDYKIG1zZ2lkICJudW0iCiBtc2dzdHIgIm7Dum1lcm8iCiAKLSM6IGFwcGx5LmM6NDk2NQorIzogYXBwbHkuYzo0OTcyCiBtc2dpZCAicmVtb3ZlIDxudW0+IGxlYWRpbmcgc2xhc2hlcyBmcm9tIHRyYWRpdGlvbmFsIGRpZmYgcGF0aHMiCiBtc2dzdHIgIiIKICJlbGltaW5hIDxub21icmU+IGJhcnJlcyBvYmxpccO8ZXMgaW5pY2lhbHMgZGVscyBjYW1pbnMgZGUgZGlmZXLDqG5jaWEgIgogInRyYWRpY2lvbmFscyIKIAotIzogYXBwbHkuYzo0OTY4CisjOiBhcHBseS5jOjQ5NzUKIG1zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgogbXNnc3RyICJpZ25vcmEgYWZlZ2ltZW50cyBmZXRzIHBlbCBwZWRhw6ciCiAKLSM6IGFwcGx5LmM6NDk3MAorIzogYXBwbHkuYzo0OTc3CiBtc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBkaWZmc3RhdCBmb3IgdGhlIGlucHV0IgogbXNnc3RyICIiCiAiZW4gbGxvYyBkJ2FwbGljYXIgZWwgcGVkYcOnLCBlbWV0IGxlcyBlc3RhZMOtc3RpcXVlcyBkZSBkaWZlcsOobmNpYSBkZSBsJ2VudHJhZGEiCiAKLSM6IGFwcGx5LmM6NDk3NAorIzogYXBwbHkuYzo0OTgxCiBtc2dpZCAic2hvdyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQgbGluZXMgaW4gZGVjaW1hbCBub3RhdGlvbiIKIG1zZ3N0ciAibW9zdHJhIGVsIG5vbWJyZSBkZSBsw61uaWVzIGFmZWdpZGVzIGkgc3VwcmltaWRlcyBlbiBub3RhY2nDsyBkZWNpbWFsIgogCi0jOiBhcHBseS5jOjQ5NzYKKyM6IGFwcGx5LmM6NDk4MwogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgYSBzdW1tYXJ5IGZvciB0aGUgaW5wdXQiCiBtc2dzdHIgImVuIGxsb2MgZCdhcGxpY2FyIGVsIHBlZGHDpywgZW1ldCB1biByZXN1bSBkZSBsJ2VudHJhZGEiCiAKLSM6IGFwcGx5LmM6NDk3OAorIzogYXBwbHkuYzo0OTg1CiBtc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIHNlZSBpZiB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSIKIG1zZ3N0ciAiZW4gbGxvYyBkJ2FwbGljYXIgZWwgcGVkYcOnLCB2ZWdlcyBzaSBlbCBwZWRhw6cgw6lzIGFwbGljYWJsZSIKIAotIzogYXBwbHkuYzo0OTgwCisjOiBhcHBseS5jOjQ5ODcKIG1zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCiBtc2dzdHIgImFzc2VndXJhIHF1ZSBlbCBwZWRhw6cgc2lndWkgYXBsaWNhYmxlIGEgbCfDrW5kZXggYWN0dWFsIgogCi0jOiBhcHBseS5jOjQ5ODIKKyM6IGFwcGx5LmM6NDk4OQogbXNnaWQgIm1hcmsgbmV3IGZpbGVzIHdpdGggYGdpdCBhZGQgLS1pbnRlbnQtdG8tYWRkYCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5ODQKKyM6IGFwcGx5LmM6NDk5MQogbXNnaWQgImFwcGx5IGEgcGF0Y2ggd2l0aG91dCB0b3VjaGluZyB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICJhcGxpY2EgdW4gcGVkYcOnIHNlbnNlIHRvY2FyIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYXBwbHkuYzo0OTg2CisjOiBhcHBseS5jOjQ5OTMKIG1zZ2lkICJhY2NlcHQgYSBwYXRjaCB0aGF0IHRvdWNoZXMgb3V0c2lkZSB0aGUgd29ya2luZyBhcmVhIgogbXNnc3RyICJhY2NlcHRhIHVuIHBlZGHDpyBxdWUgdG9xdWkgZm9yYSBkZSBsJ8OgcmVhIGRlIHRyZWJhbGwiCiAKLSM6IGFwcGx5LmM6NDk4OQorIzogYXBwbHkuYzo0OTk2CiBtc2dpZCAiYWxzbyBhcHBseSB0aGUgcGF0Y2ggKHVzZSB3aXRoIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCiBtc2dzdHIgImFwbGljYSBlbCBwZWRhw6cgdGFtYsOpICh1c2V1IGFtYiAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgogCi0jOiBhcHBseS5jOjQ5OTEKKyM6IGFwcGx5LmM6NDk5OAogbXNnaWQgImF0dGVtcHQgdGhyZWUtd2F5IG1lcmdlIGlmIGEgcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgImludGVudGEgdW5hIGZ1c2nDsyBkZSB0cmVzIHZpZXMgc2kgZWwgcGVkYcOnIG5vIHMnYXBsaWNhIgogCi0jOiBhcHBseS5jOjQ5OTMKKyM6IGFwcGx5LmM6NTAwMAogbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgogbXNnc3RyICJjb25zdHJ1ZWl4IHVuIMOtbmRleCB0ZW1wb3JhbCBiYXNhdCBlbiBsYSBpbmZvcm1hY2nDsyBkJ8OtbmRleCBpbmNydXN0YWRhIgogCi0jOiBhcHBseS5jOjQ5OTYgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MCBidWlsdGluL2xzLWZpbGVzLmM6NTIzCisjOiBhcHBseS5jOjUwMDMgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MyBidWlsdGluL2xzLWZpbGVzLmM6NTI0CiBtc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgImVscyBjYW1pbnMgc2Ugc2VwYXJlbiBhbWIgZWwgY2Fyw6BjdGVyIE5VTCIKIAotIzogYXBwbHkuYzo0OTk4CisjOiBhcHBseS5jOjUwMDUKIG1zZ2lkICJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giCiBtc2dzdHIgImFzc2VndXJhJ3QgcXVlIGFsbWVueXMgPG4+IGzDrW5pZXMgZGUgY29udGV4dCBjb2luY2lkZWl4aW4iCiAKLSM6IGFwcGx5LmM6NDk5OSBidWlsdGluL2FtLmM6MjE5NyBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk3Ci0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk5IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAxCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTAgYnVpbHRpbi9yZWJhc2UuYzo4MzkKKyM6IGFwcGx5LmM6NTAwNiBidWlsdGluL2FtLmM6MjE4NSBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk4CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMCBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzEwIGJ1aWx0aW4vcmViYXNlLmM6MTQ3NAogbXNnaWQgImFjdGlvbiIKIG1zZ3N0ciAiYWNjacOzIgogCi0jOiBhcHBseS5jOjUwMDAKKyM6IGFwcGx5LmM6NTAwNwogbXNnaWQgImRldGVjdCBuZXcgb3IgbW9kaWZpZWQgbGluZXMgdGhhdCBoYXZlIHdoaXRlc3BhY2UgZXJyb3JzIgogbXNnc3RyICIiCiAiZGV0ZWN0YSBsZXMgbMOtbmllcyBub3ZlcyBvIG1vZGlmaWNhZGVzIHF1ZSB0aW5ndWluIGVycm9ycyBkJ2VzcGFpIGVuIGJsYW5jIgogCi0jOiBhcHBseS5jOjUwMDMgYXBwbHkuYzo1MDA2CisjOiBhcHBseS5jOjUwMTAgYXBwbHkuYzo1MDEzCiBtc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKIG1zZ3N0ciAiaWdub3JhIGVscyBjYW52aXMgZCdlc3BhaSBlbiBibGFuYyBlbiBjZXJjYXIgY29udGV4dCIKIAotIzogYXBwbHkuYzo1MDA5CisjOiBhcHBseS5jOjUwMTYKIG1zZ2lkICJhcHBseSB0aGUgcGF0Y2ggaW4gcmV2ZXJzZSIKIG1zZ3N0ciAiYXBsaWNhIGVsIHBlZGHDpyBhbCByZXbDqXMiCiAKLSM6IGFwcGx5LmM6NTAxMQorIzogYXBwbHkuYzo1MDE4CiBtc2dpZCAiZG9uJ3QgZXhwZWN0IGF0IGxlYXN0IG9uZSBsaW5lIG9mIGNvbnRleHQiCiBtc2dzdHIgIm5vIGVzcGVyaXMgYWxtZW55cyB1bmEgbMOtbmlhIGRlIGNvbnRleHQiCiAKLSM6IGFwcGx5LmM6NTAxMworIzogYXBwbHkuYzo1MDIwCiBtc2dpZCAibGVhdmUgdGhlIHJlamVjdGVkIGh1bmtzIGluIGNvcnJlc3BvbmRpbmcgKi5yZWogZmlsZXMiCiBtc2dzdHIgImRlaXhhIGVscyB0cm9zc29zIHJlYnV0amF0cyBlbiBmaXR4ZXJzICoucmVqIGNvcnJlc3BvbmVudHMiCiAKLSM6IGFwcGx5LmM6NTAxNQorIzogYXBwbHkuYzo1MDIyCiBtc2dpZCAiYWxsb3cgb3ZlcmxhcHBpbmcgaHVua3MiCiBtc2dzdHIgInBlcm1ldCB0cm9zc29zIGVuY2F2YWxjYW50cyIKIAotIzogYXBwbHkuYzo1MDE2IGJ1aWx0aW4vYWRkLmM6MjkwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjEKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMwOSBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5OCBidWlsdGluL2ZzY2suYzo2OTgKLSM6IGJ1aWx0aW4vbG9nLmM6MjAyMyBidWlsdGluL212LmM6MTIyIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI3Ci0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTcKKyM6IGFwcGx5LmM6NTAyMyBidWlsdGluL2FkZC5jOjMwOSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIyCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTUgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTggYnVpbHRpbi9mc2NrLmM6Nzc0CisjOiBidWlsdGluL2xvZy5jOjIxNjYgYnVpbHRpbi9tdi5jOjEyMyBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAogbXNnaWQgImJlIHZlcmJvc2UiCiBtc2dzdHIgInNpZ3VlcyBkZXRhbGxhdCIKIAotIzogYXBwbHkuYzo1MDE4CisjOiBhcHBseS5jOjUwMjUKIG1zZ2lkICJ0b2xlcmF0ZSBpbmNvcnJlY3RseSBkZXRlY3RlZCBtaXNzaW5nIG5ldy1saW5lIGF0IHRoZSBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAidG9sZXJhIHVuYSBsw61uaWEgbm92YSBpbmNvcnJlY3RhbWVudCBkZXRlY3RhZGEgYWwgZmluYWwgZGVsIGZpdHhlciIKIAotIzogYXBwbHkuYzo1MDIxCisjOiBhcHBseS5jOjUwMjgKIG1zZ2lkICJkbyBub3QgdHJ1c3QgdGhlIGxpbmUgY291bnRzIGluIHRoZSBodW5rIGhlYWRlcnMiCiBtc2dzdHIgIm5vIGNvbmZpw69zIGVuIGVscyByZWNvbXB0ZXMgZGUgbMOtbmlhIGVuIGxlcyBjYXDDp2FsZXJlcyBkZWxzIHRyb3Nzb3MiCiAKLSM6IGFwcGx5LmM6NTAyMyBidWlsdGluL2FtLmM6MjIwNgorIzogYXBwbHkuYzo1MDMwIGJ1aWx0aW4vYW0uYzoyMTk0CiBtc2dpZCAicm9vdCIKIG1zZ3N0ciAiYXJyZWwiCiAKLSM6IGFwcGx5LmM6NTAyNAorIzogYXBwbHkuYzo1MDMxCiBtc2dpZCAicHJlcGVuZCA8cm9vdD4gdG8gYWxsIGZpbGVuYW1lcyIKIG1zZ3N0ciAiYW50ZXBvc2EgPGFycmVsPiBhIHRvdHMgZWxzIG5vbXMgZGUgZml0eGVyIgogCkBAIC04MDcsMTU4ICsxMjM0LDE4MiBAQAogbXNnaWQgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSAtLWxpc3QiCiBtc2dzdHIgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxkaXDDsnNpdD4gWy0tZXhlYyA8b3JkcmU+XSAtLWxpc3QiCiAKLSM6IGFyY2hpdmUuYzozNzAgYnVpbHRpbi9hZGQuYzoxNzYgYnVpbHRpbi9hZGQuYzo1MTQgYnVpbHRpbi9ybS5jOjI5OAorIzogYXJjaGl2ZS5jOjM3MiBidWlsdGluL2FkZC5jOjE4MCBidWlsdGluL2FkZC5jOjU1NSBidWlsdGluL3JtLmM6Mjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiCiBtc2dzdHIgImwnZXNwZWNpZmljYWNpw7MgZGUgY2Ftw60gwqslc8K7IG5vIGhhIGNvaW5jaWRpdCBhbWIgY2FwIGZpdHhlciIKIAotIzogYXJjaGl2ZS5jOjQ1MworIzogYXJjaGl2ZS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlZjogJS4qcyIKK21zZ3N0ciAibm8gZXhpc3RlaXggbGEgcmVmZXLDqG5jaWE6ICUuKnMiCisKKyM6IGFyY2hpdmUuYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICVzIgorbXNnc3RyICJubyDDqXMgdW4gbm9tIGQnb2JqZWN0ZSB2w6BsaWQ6ICVzIgorCisjOiBhcmNoaXZlLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHRyZWUgb2JqZWN0OiAlcyIKK21zZ3N0ciAibm8gw6lzIHVuIG9iamVjdGUgZCdhcmJyZTogJXMiCisKKyM6IGFyY2hpdmUuYzo0MjYKK21zZ2lkICJjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGlzIHVudHJhY2tlZCIKK21zZ3N0ciAibm8gZXMgc2VndWVpeCBlbCBkaXJlY3RvcmkgZGUgdHJlYmFsbCBhY3R1YWwiCisKKyM6IGFyY2hpdmUuYzo0NTcKIG1zZ2lkICJmbXQiCiBtc2dzdHIgImZvcm1hdCIKIAotIzogYXJjaGl2ZS5jOjQ1MworIzogYXJjaGl2ZS5jOjQ1NwogbXNnaWQgImFyY2hpdmUgZm9ybWF0IgogbXNnc3RyICJmb3JtYXQgZCdhcnhpdSIKIAotIzogYXJjaGl2ZS5jOjQ1NCBidWlsdGluL2xvZy5jOjE1MzYKKyM6IGFyY2hpdmUuYzo0NTggYnVpbHRpbi9sb2cuYzoxNjUzCiBtc2dpZCAicHJlZml4IgogbXNnc3RyICJwcmVmaXgiCiAKLSM6IGFyY2hpdmUuYzo0NTUKKyM6IGFyY2hpdmUuYzo0NTkKIG1zZ2lkICJwcmVwZW5kIHByZWZpeCB0byBlYWNoIHBhdGhuYW1lIGluIHRoZSBhcmNoaXZlIgogbXNnc3RyICJhbnRlcG9zYSBlbCBwcmVmaXggYSBjYWRhIG5vbSBkZSBjYW3DrSBlbiBsJ2FyeGl1IgogCi0jOiBhcmNoaXZlLmM6NDU2IGJ1aWx0aW4vYmxhbWUuYzo4MjAgYnVpbHRpbi9ibGFtZS5jOjgyMSBidWlsdGluL2NvbmZpZy5jOjEyOQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTMgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTUgYnVpbHRpbi9ncmVwLmM6ODg0Ci0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA0IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTkgYnVpbHRpbi9scy1maWxlcy5jOjU2MgotIzogYnVpbHRpbi9ub3Rlcy5jOjQxMiBidWlsdGluL25vdGVzLmM6NTc1IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIyCi0jOiBwYXJzZS1vcHRpb25zLmg6MTYyCisjOiBhcmNoaXZlLmM6NDYwIGJ1aWx0aW4vYmxhbWUuYzo4NjEgYnVpbHRpbi9ibGFtZS5jOjg2NSBidWlsdGluL2JsYW1lLmM6ODY2CisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTE3IGJ1aWx0aW4vY29uZmlnLmM6MTI5IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTYyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2NCBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2OCBidWlsdGluL2dyZXAuYzo4OTkKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDUgYnVpbHRpbi9scy1maWxlcy5jOjU2MCBidWlsdGluL2xzLWZpbGVzLmM6NTYzCisjOiBidWlsdGluL25vdGVzLmM6NDEyIGJ1aWx0aW4vbm90ZXMuYzo1NzggYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjMKKyM6IHBhcnNlLW9wdGlvbnMuaDoxOTAKIG1zZ2lkICJmaWxlIgogbXNnc3RyICJmaXR4ZXIiCiAKLSM6IGFyY2hpdmUuYzo0NTcgYnVpbHRpbi9hcmNoaXZlLmM6ODkKKyM6IGFyY2hpdmUuYzo0NjEgYnVpbHRpbi9hcmNoaXZlLmM6OTAKIG1zZ2lkICJ3cml0ZSB0aGUgYXJjaGl2ZSB0byB0aGlzIGZpbGUiCiBtc2dzdHIgImVzY3JpdSBsJ2FyeGl1IGEgYXF1ZXN0IGZpdHhlciIKIAotIzogYXJjaGl2ZS5jOjQ1OQorIzogYXJjaGl2ZS5jOjQ2MwogbXNnaWQgInJlYWQgLmdpdGF0dHJpYnV0ZXMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgImxsZWdlaXggLmdpdGF0dHJpYnV0ZXMgZW4gZWwgZGlyZWN0b3JpIGRlIHRyZWJhbGwiCiAKLSM6IGFyY2hpdmUuYzo0NjAKKyM6IGFyY2hpdmUuYzo0NjQKIG1zZ2lkICJyZXBvcnQgYXJjaGl2ZWQgZmlsZXMgb24gc3RkZXJyIgogbXNnc3RyICJpbmZvcm1hIGRlIGZpdHhlcnMgYXJ4aXZhdHMgZW4gc3RkZXJyIgogCi0jOiBhcmNoaXZlLmM6NDYxCisjOiBhcmNoaXZlLmM6NDY1CiBtc2dpZCAic3RvcmUgb25seSIKIG1zZ3N0ciAibm9tw6lzIGVtbWFnYXR6ZW1hIgogCi0jOiBhcmNoaXZlLmM6NDYyCisjOiBhcmNoaXZlLmM6NDY2CiBtc2dpZCAiY29tcHJlc3MgZmFzdGVyIgogbXNnc3RyICJjb21wcmltZWl4IG3DqXMgcsOgcGlkYW1lbnQiCiAKLSM6IGFyY2hpdmUuYzo0NzAKKyM6IGFyY2hpdmUuYzo0NzQKIG1zZ2lkICJjb21wcmVzcyBiZXR0ZXIiCiBtc2dzdHIgImNvbXByaW1laXggbWlsbG9yIgogCi0jOiBhcmNoaXZlLmM6NDczCisjOiBhcmNoaXZlLmM6NDc3CiBtc2dpZCAibGlzdCBzdXBwb3J0ZWQgYXJjaGl2ZSBmb3JtYXRzIgogbXNnc3RyICJsbGlzdGEgZWxzIGZvcm1hdHMgZCdhcnhpdSBhZG1lc29zIgogCi0jOiBhcmNoaXZlLmM6NDc1IGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9jbG9uZS5jOjExNAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTUKKyM6IGFyY2hpdmUuYzo0NzkgYnVpbHRpbi9hcmNoaXZlLmM6OTEgYnVpbHRpbi9jbG9uZS5jOjExMyBidWlsdGluL2Nsb25lLmM6MTE2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NAogbXNnaWQgInJlcG8iCiBtc2dzdHIgImRpcMOyc2l0IgogCi0jOiBhcmNoaXZlLmM6NDc2IGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCisjOiBhcmNoaXZlLmM6NDgwIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyCiBtc2dpZCAicmV0cmlldmUgdGhlIGFyY2hpdmUgZnJvbSByZW1vdGUgcmVwb3NpdG9yeSA8cmVwbz4iCiBtc2dzdHIgInJlY3VwZXJhIGwnYXJ4aXUgZGVsIGRpcMOyc2l0IHJlbW90IDxkaXDDsnNpdD4iCiAKLSM6IGFyY2hpdmUuYzo0NzcgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9kaWZmdG9vbC5jOjcxNAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ5NgorIzogYXJjaGl2ZS5jOjQ4MSBidWlsdGluL2FyY2hpdmUuYzo5MyBidWlsdGluL2RpZmZ0b29sLmM6NzE1CisjOiBidWlsdGluL25vdGVzLmM6NDk4CiBtc2dpZCAiY29tbWFuZCIKIG1zZ3N0ciAib3JkcmUiCiAKLSM6IGFyY2hpdmUuYzo0NzggYnVpbHRpbi9hcmNoaXZlLmM6OTMKKyM6IGFyY2hpdmUuYzo0ODIgYnVpbHRpbi9hcmNoaXZlLmM6OTQKIG1zZ2lkICJwYXRoIHRvIHRoZSByZW1vdGUgZ2l0LXVwbG9hZC1hcmNoaXZlIGNvbW1hbmQiCiBtc2dzdHIgImNhbcOtIGEgbCdvcmRyZSBnaXQtdXBsb2FkLWFyY2hpdmUgcmVtb3RhIgogCi0jOiBhcmNoaXZlLmM6NDg1CisjOiBhcmNoaXZlLmM6NDg5CiBtc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1yZW1vdGUiCiBtc2dzdHIgIk9wY2nDsyBpbmVzcGVyYWRhIC0tcmVtb3RlIgogCi0jOiBhcmNoaXZlLmM6NDg3CisjOiBhcmNoaXZlLmM6NDkxCiBtc2dpZCAiT3B0aW9uIC0tZXhlYyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1yZW1vdGUiCiBtc2dzdHIgIkwnb3BjacOzIC0tZXhlYyBub23DqXMgZXMgcG90IHVzYXIganVudGFtZW50IGFtYiAtLXJlbW90ZSIKIAotIzogYXJjaGl2ZS5jOjQ4OQorIzogYXJjaGl2ZS5jOjQ5MwogbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tb3V0cHV0IgogbXNnc3RyICJPcGNpw7MgaW5lc3BlcmFkYSAtLW91dHB1dCIKIAotIzogYXJjaGl2ZS5jOjUxMQorIzogYXJjaGl2ZS5jOjUxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGFyY2hpdmUgZm9ybWF0ICclcyciCiBtc2dzdHIgIkZvcm1hdCBkJ2FyeGl1IGRlc2NvbmVndXQgwqslc8K7IgogCi0jOiBhcmNoaXZlLmM6NTE4CisjOiBhcmNoaXZlLmM6NTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFyZ3VtZW50IG5vdCBzdXBwb3J0ZWQgZm9yIGZvcm1hdCAnJXMnOiAtJWQiCiBtc2dzdHIgIlBhcsOgbWV0cmUgbm8gYWRtw6hzIHBlciBhbCBmb3JtYXQgwqslc8K7OiAtJWQiCiAKLSM6IGFyY2hpdmUtdGFyLmM6MTI1IGFyY2hpdmUtemlwLmM6MzQ1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGFyY2hpdmUtdGFyLmM6MTI1IGFyY2hpdmUtemlwLmM6MzUwCisjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdHJlYW0gYmxvYiAlcyIKLW1zZ3N0ciAibm8gZXMgcG90IGVtbWFnYXR6ZW1hciAlcyIKK21zZ3N0ciAibm8gZXMgcG90IHRyYW5zbWV0cmUgZWwgYmxvYiAlcyIKIAotIzogYXJjaGl2ZS10YXIuYzoyNjAgYXJjaGl2ZS16aXAuYzozNjMKKyM6IGFyY2hpdmUtdGFyLmM6MjY2IGFyY2hpdmUtemlwLmM6MzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGZpbGUgbW9kZTogMCVvIChTSEExOiAlcykiCiBtc2dzdHIgIm1vZGUgZGUgZml0eGVyIG5vIGNvbXBhdGlibGU6IDAlbyAoU0hBMTogJXMpIgogCi0jOiBhcmNoaXZlLXRhci5jOjI4NyBhcmNoaXZlLXppcC5jOjM1MworIzogYXJjaGl2ZS10YXIuYzoyOTMgYXJjaGl2ZS16aXAuYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJXMiCiBtc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgwqslc8K7IgogCi0jOiBhcmNoaXZlLXRhci5jOjQ1OAorIzogYXJjaGl2ZS10YXIuYzo0NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXJ0ICclcycgZmlsdGVyIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGluaWNpYXIgZWwgZmlsdHJlIMKrJXPCuyIKIAotIzogYXJjaGl2ZS10YXIuYzo0NjEKLSMsIGZ1enp5Ci1tc2dpZCAidW5hYmxlIHRvIHJlZGlyZWN0IGRlc2NyaXB0b3IiCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWN0dWFsaXR6YXIgbCfDrW5kZXgiCi0KICM6IGFyY2hpdmUtdGFyLmM6NDY4Ci0jLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICInJXMnIGZpbHRlciByZXBvcnRlZCBlcnJvciIKLW1zZ3N0ciAiwqslc8K7IMOpcyBmb3JhIGRlbCBkaXDDsnNpdCIKK21zZ2lkICJ1bmFibGUgdG8gcmVkaXJlY3QgZGVzY3JpcHRvciIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCByZWRpcmlnaXIgZWwgZGVzY3JpcHRvciIKIAotIzogYXJjaGl2ZS16aXAuYzozMTQKKyM6IGFyY2hpdmUtdGFyLmM6NDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZmlsdGVyIHJlcG9ydGVkIGVycm9yIgorbXNnc3RyICLCqyVzwrsgZXJyb3IgcmVwb3J0YXQgcGVsIGZpbHRyZSIKKworIzogYXJjaGl2ZS16aXAuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCBpcyBub3QgdmFsaWQgVVRGLTg6ICVzIgotbXNnc3RyICIiCittc2dzdHIgImVsIGNhbcOtIG5vIMOpcyB2w6BsaWQgZW4gVVRGLTg6ICVzIgogCi0jOiBhcmNoaXZlLXppcC5jOjMxOAorIzogYXJjaGl2ZS16aXAuYzozMjMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCB0b28gbG9uZyAoJWQgY2hhcnMsIFNIQTE6ICVzKTogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZWwgY2Ftw60gw6lzIG1hc3NhIGxsYXJnICglZCBjYXLDoGN0ZXJzLCBTSEExOiAlcyk6ICVzIgogCi0jOiBhcmNoaXZlLXppcC5jOjQ3NCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIyNCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIyNworIzogYXJjaGl2ZS16aXAuYzo0NzkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICJlcnJvciBkZSBkZWZsYWNpw7MgKCVkKSIKIAotIzogYXJjaGl2ZS16aXAuYzo2MDkKKyM6IGFyY2hpdmUtemlwLmM6NjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInRpbWVzdGFtcCB0b28gbGFyZ2UgZm9yIHRoaXMgc3lzdGVtOiAlPFBSSXVNQVg+IgotbXNnc3RyICIiCittc2dzdHIgIm1hcmNhIGRlIHRlbXBzIG1hc3NhIGdyYW4gcGVyIGEgYXF1ZXN0IHNpc3RlbWE6ICU8UFJJdU1BWD4iCiAKICM6IGF0dHIuYzoyMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJS4qcyBpcyBub3QgYSB2YWxpZCBhdHRyaWJ1dGUgbmFtZSIKIG1zZ3N0ciAiJS4qcyBubyDDqXMgdW4gbm9tIGQnYXRyaWJ1dCB2w6BsaWQiCiAKKyM6IGF0dHIuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFsbG93ZWQ6ICVzOiVkIgorbXNnc3RyICIlcyBubyBlc3TDoCBwZXJtw6hzOiAlczolZCIKKwogIzogYXR0ci5jOjQwOQogbXNnaWQgIiIKICJOZWdhdGl2ZSBwYXR0ZXJucyBhcmUgaWdub3JlZCBpbiBnaXQgYXR0cmlidXRlc1xuIgpAQCAtOTcyLDE3ICsxNDIzLDE3IEBACiBtc2dpZCAiQmFkbHkgcXVvdGVkIGNvbnRlbnQgaW4gZmlsZSAnJXMnOiAlcyIKIG1zZ3N0ciAiQ29tZW50YXJpIGFtYiBjb21ldGVzIGVycsOybmllcyBlbiBlbCBmaXR4ZXIgwqslc8K7OiAlcyIKIAotIzogYmlzZWN0LmM6Njc2CisjOiBiaXNlY3QuYzo2NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2UgY2Fubm90IGJpc2VjdCBtb3JlIVxuIgogbXNnc3RyICJObyBwb2RlbSBiaXNlY2FyIG3DqXMhXG4iCiAKLSM6IGJpc2VjdC5jOjczMAorIzogYmlzZWN0LmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIGNvbW1pdCBuYW1lICVzIgogbXNnc3RyICJObyDDqXMgdW4gbm9tIGRlIGNvbWlzc2nDsyB2w6BsaWQgJXMiCiAKLSM6IGJpc2VjdC5jOjc1NAorIzogYmlzZWN0LmM6NzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbWVyZ2UgYmFzZSAlcyBpcyBiYWQuXG4iCkBAIC05OTEsNyArMTQ0Miw3IEBACiAiTGEgYmFzZSBkZSBmdXNpw7MgJXMgw6lzIGVycsOybmlhLlxuIgogIkFpeMOyIHZvbCBkaXIgcXVlIGVsIGRlZmVjdGUgcydoYSBhcnJlZ2xhdCBlbnRyZSAlcyBpIFslc10uXG4iCiAKLSM6IGJpc2VjdC5jOjc1OQorIzogYmlzZWN0LmM6NzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbWVyZ2UgYmFzZSAlcyBpcyBuZXcuXG4iCkBAIC0xMDAwLDcgKzE0NTEsNyBAQAogIkxhIGJhc2UgZGUgZnVzacOzICVzIMOpcyBub3ZhLlxuIgogIkxhIHByb3BpZXRhdCBzJ2hhIGNhbnZpYXQgZW50cmUgJXMgaSBbJXNdLlxuIgogCi0jOiBiaXNlY3QuYzo3NjQKKyM6IGJpc2VjdC5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIG1lcmdlIGJhc2UgJXMgaXMgJXMuXG4iCkBAIC0xMDA5LDcgKzE0NjAsNyBAQAogIkxhIGJhc2UgZGUgZnVzacOzICVzIMOpcyAlcy5cbiIKICJBaXjDsiB2b2wgZGlyIHF1ZSBsYSBwcmltZXJhIGNvbWlzc2nDsyDCqyVzwrsgw6lzIGVudHJlICVzIGkgWyVzXS5cbiIKIAotIzogYmlzZWN0LmM6NzcyCisjOiBiaXNlY3QuYzo3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlNvbWUgJXMgcmV2cyBhcmUgbm90IGFuY2VzdG9ycyBvZiB0aGUgJXMgcmV2LlxuIgpAQCAtMTAyMCw3ICsxNDcxLDcgQEAKICJnaXQgYmlzZWN0IG5vIHBvdCBmdW5jaW9uYXIgY29ycmVjdGFtZW50IGVuIGFxdWVzdCBjYXMuXG4iCiAiUG90c2VyIGhldSBjb25mw7NzIGxlcyByZXZpc2lvbnMgJXMgaSAlcz9cbiIKIAotIzogYmlzZWN0LmM6Nzg1CisjOiBiaXNlY3QuYzo3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInRoZSBtZXJnZSBiYXNlIGJldHdlZW4gJXMgYW5kIFslc10gbXVzdCBiZSBza2lwcGVkLlxuIgpAQCAtMTAzMiwyMiArMTQ4MywyMiBAQAogIiVzLlxuIgogIkNvbnRpbnVlbSBkZSB0b3RlcyBtYW5lcmVzLiIKIAotIzogYmlzZWN0LmM6ODE4CisjOiBiaXNlY3QuYzo4MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmlzZWN0aW5nOiBhIG1lcmdlIGJhc2UgbXVzdCBiZSB0ZXN0ZWRcbiIKIG1zZ3N0ciAiQmlzZWNhbnQ6IHMnaGEgZGUgcHJvdmFyIHVuYSBiYXNlIGRlIGZ1c2nDs1xuIgogCi0jOiBiaXNlY3QuYzo4NTgKKyM6IGJpc2VjdC5jOjg2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhICVzIHJldmlzaW9uIGlzIG5lZWRlZCIKIG1zZ3N0ciAiZXMgbmVjZXNzaXRhIHVuYSByZXZpc2nDsyAlcyIKIAotIzogYmlzZWN0LmM6ODc3IGJ1aWx0aW4vbm90ZXMuYzoxNzcgYnVpbHRpbi90YWcuYzoyMzcKKyM6IGJpc2VjdC5jOjg4NCBidWlsdGluL25vdGVzLmM6MTc3IGJ1aWx0aW4vdGFnLmM6MjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIGVsIGZpdHhlciDCqyVzwrsiCiAKLSM6IGJpc2VjdC5jOjkyOCBidWlsdGluL21lcmdlLmM6MTM4CisjOiBiaXNlY3QuYzo5MjggYnVpbHRpbi9tZXJnZS5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBmaWxlICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIGVsIGZpdHhlciDCqyVzwrsiCkBAIC0xMDg3LDQ2ICsxNTM4LDQ2IEBACiBtc2dzdHJbMF0gIkJpc2VjYW50OiBtYW5jYSAlZCByZXZpc2nDsyBhIHByb3ZhciBkZXNwcsOpcyBkJ2FxdWVzdGEgJXNcbiIKIG1zZ3N0clsxXSAiQmlzZWNhbnQ6IG1hbnF1ZW4gJWQgcmV2aXNpb25zIGEgcHJvdmFyIGRlc3Byw6lzIGQnYXF1ZXN0YSAlc1xuIgogCi0jOiBibGFtZS5jOjE3ODcKKyM6IGJsYW1lLmM6MjcwMAogbXNnaWQgIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iCiBtc2dzdHIgIi0tY29udGVudHMgaSAtLXJldmVyc2Ugbm8gZnVuY2lvbmVuIGLDqSBqdW50ZXMuIgogCi0jOiBibGFtZS5jOjE4MDEKKyM6IGJsYW1lLmM6MjcxNAogbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKIG1zZ3N0ciAibm8gZXMgcG90IHVzYXIgLS1jb250ZW50cyBhbWIgZWwgbm9tIGQnb2JqZWN0ZSBkZSBsYSBjb21pc3Npw7MgZmluYWwiCiAKLSM6IGJsYW1lLmM6MTgyMgorIzogYmxhbWUuYzoyNzM1CiBtc2dpZCAiLS1yZXZlcnNlIGFuZCAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHNwZWNpZmllZCBsYXRlc3QgY29tbWl0IgogbXNnc3RyICIiCiAiLS1yZXZlcnNlIGkgLS1maXJzdC1wYXJlbnQtdG9nZXRoZXIgcmVxdWVyZWl4ZW4gdW5hIMO6bHRpbWEgY29taXNzacOzICIKICJlc3BlY2lmaWNhZGEiCiAKLSM6IGJsYW1lLmM6MTgzMSBidW5kbGUuYzoxNjIgcmVmLWZpbHRlci5jOjIwNDYgc2VxdWVuY2VyLmM6MTk2MwotIzogc2VxdWVuY2VyLmM6NDAwMiBidWlsdGluL2NvbW1pdC5jOjEwMDEgYnVpbHRpbi9sb2cuYzozNzcgYnVpbHRpbi9sb2cuYzo5MzIKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwNyBidWlsdGluL2xvZy5jOjE3ODMgYnVpbHRpbi9sb2cuYzoyMDcyIGJ1aWx0aW4vbWVyZ2UuYzo0MDYKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzEzNSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxNTAKKyM6IGJsYW1lLmM6Mjc0NCBidW5kbGUuYzoxNjcgcmVmLWZpbHRlci5jOjIyMDMgcmVtb3RlLmM6MTk0MSBzZXF1ZW5jZXIuYzoyMDkzCisjOiBzZXF1ZW5jZXIuYzo0NDYwIGJ1aWx0aW4vY29tbWl0LmM6MTA0MCBidWlsdGluL2xvZy5jOjM4OCBidWlsdGluL2xvZy5jOjk5MQorIzogYnVpbHRpbi9sb2cuYzoxNTIwIGJ1aWx0aW4vbG9nLmM6MTkyNSBidWlsdGluL2xvZy5jOjIyMTUgYnVpbHRpbi9tZXJnZS5jOjQxMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTI4IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE0MwogIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE5MgogbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgogbXNnc3RyICJsYSBjb25maWd1cmFjacOzIGRlbCBwYXNzZWlnIHBlciByZXZpc2lvbnMgaGEgZmFsbGF0IgogCi0jOiBibGFtZS5jOjE4NDkKKyM6IGJsYW1lLmM6Mjc2MgogbXNnaWQgIiIKICItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSByYW5nZSBhbG9uZyBmaXJzdC1wYXJlbnQgY2hhaW4iCiBtc2dzdHIgIiIKICItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQganVudHMgcmVxdWVyZWl4ZW4gdW4gcmFuZyBkZSBsYSBjYWRlbmEgZGUgbWFyZXMgIgogInByaW1lcmVzIgogCi0jOiBibGFtZS5jOjE4NjAKKyM6IGJsYW1lLmM6Mjc3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIHBhdGggJXMgaW4gJXMiCiBtc2dzdHIgIm5vIGhpIGhhIHRhbCBjYW3DrSAlcyBlbiAlcyIKIAotIzogYmxhbWUuYzoxODcxCisjOiBibGFtZS5jOjI3ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgYmxvYiAlcyBmb3IgcGF0aCAlcyIKIG1zZ3N0ciAibm8gZXMgcG90IGxsZWdpciBlbCBibG9iICVzIHBlciBhbCBjYW3DrSAlcyIKIAotIzogYnJhbmNoLmM6NTIKKyM6IGJyYW5jaC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTExMzksOTcgKzE1OTAsOTcgQEAKICJpbnRlbnRhciBjb3JyZWdpciBsYSBpbmZvcm1hY2nDsyBkZSBzZWd1aW1lbnQgcmVtb3RcbiIKICJpbnZvY2FudCBcImdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG89JXMlcyVzXCIuIgogCi0jOiBicmFuY2guYzo2NgorIzogYnJhbmNoLmM6NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IHNldHRpbmcgYnJhbmNoICVzIGFzIGl0cyBvd24gdXBzdHJlYW0uIgogbXNnc3RyICJObyBzJ2VzdMOgIGVzdGFibGludCBsYSBicmFuY2EgJXMgY29tIGEgbGEgc2V2YSBwcsOycGlhIGZvbnQuIgogCi0jOiBicmFuY2guYzo5MgorIzogYnJhbmNoLmM6OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJyVzJyBmcm9tICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICIiCiAiTGEgYnJhbmNhIMKrJXPCuyBlc3TDoCBjb25maWd1cmFkYSBwZXIgYSBzZWd1aXIgbGEgYnJhbmNhIHJlbW90YSDCqyVzwrsgZGUgwqslc8K7ICIKICJmZW50IMKrcmViYXNlwrsuIgogCi0jOiBicmFuY2guYzo5MworIzogYnJhbmNoLmM6OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJyVzJyBmcm9tICclcycuIgogbXNnc3RyICIiCiAiTGEgYnJhbmNhIMKrJXPCuyBlc3TDoCBjb25maWd1cmFkYSBwZXIgYSBzZWd1aXIgbGEgYnJhbmNhIHJlbW90YSDCqyVzwrsgZGUgwqslc8K7LiIKIAotIzogYnJhbmNoLmM6OTcKKyM6IGJyYW5jaC5jOjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayBsb2NhbCBicmFuY2ggJyVzJyBieSByZWJhc2luZy4iCiBtc2dzdHIgIiIKICJMYSBicmFuY2Egwqslc8K7IGVzdMOgIGNvbmZpZ3VyYWRhIHBlciBhIHNlZ3VpciBsYSBicmFuY2EgbG9jYWwgwqslc8K7IGZlbnQgIgogIsKrcmViYXNlwrsuIgogCi0jOiBicmFuY2guYzo5OAorIzogYnJhbmNoLmM6OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAiTGEgYnJhbmNhIMKrJXPCuyBlc3TDoCBjb25maWd1cmFkYSBwZXIgYSBzZWd1aXIgbGEgYnJhbmNhIGxvY2FsIMKrJXPCuy4iCiAKLSM6IGJyYW5jaC5jOjEwMworIzogYnJhbmNoLmM6MTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgcmVmICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICIiCiAiTGEgYnJhbmNhIMKrJXPCuyBlc3TDoCBjb25maWd1cmFkYSBwZXIgYSBzZWd1aXIgbGEgcmVmZXLDqG5jaWEgcmVtb3RhIMKrJXPCuyBmZW50ICIKICLCq3JlYmFzZcK7LiIKIAotIzogYnJhbmNoLmM6MTA0CisjOiBicmFuY2guYzoxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSByZWYgJyVzJy4iCiBtc2dzdHIgIiIKICJMYSBicmFuY2Egwqslc8K7IGVzdMOgIGNvbmZpZ3VyYWRhIHBlciBhIHNlZ3VpciBsYSByZWZlcsOobmNpYSByZW1vdGEgwqslc8K7LiIKIAotIzogYnJhbmNoLmM6MTA4CisjOiBicmFuY2guYzoxMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIHJlZiAnJXMnIGJ5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiIgogIkxhIGJyYW5jYSDCqyVzwrsgZXN0w6AgY29uZmlndXJhZGEgcGVyIGEgc2VndWlyIGxhIHJlZmVyw6huY2lhIGxvY2FsIMKrJXPCuyBmZW50ICIKICLCq3JlYmFzZcK7LiIKIAotIzogYnJhbmNoLmM6MTA5CisjOiBicmFuY2guYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIHJlZiAnJXMnLiIKIG1zZ3N0ciAiTGEgYnJhbmNhIMKrJXPCuyBlc3TDoCBjb25maWd1cmFkYSBwZXIgYSBzZWd1aXIgbGEgcmVmZXLDqG5jaWEgbG9jYWwgwqslc8K7LiIKIAotIzogYnJhbmNoLmM6MTE4CisjOiBicmFuY2guYzoxMTkKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgdXBzdHJlYW0gYnJhbmNoIGNvbmZpZ3VyYXRpb24iCiBtc2dzdHIgIk5vIGVzIHBvdCBlc2NyaXVyZSBsYSBjb25maWd1cmFjacOzIGRlIGxhIGJyYW5jYSBmb250IgogCi0jOiBicmFuY2guYzoxNTUKKyM6IGJyYW5jaC5jOjE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgdHJhY2tpbmc6IGFtYmlndW91cyBpbmZvcm1hdGlvbiBmb3IgcmVmICVzIgogbXNnc3RyICJObyBzZWd1aW50OiBpbmZvcm1hY2nDsyBhbWJpZ3VhIHBlciBhIGxhIHJlZmVyw6huY2lhICVzIgogCi0jOiBicmFuY2guYzoxODgKKyM6IGJyYW5jaC5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIGJyYW5jaCBuYW1lLiIKIG1zZ3N0ciAiwqslc8K7IG5vIMOpcyB1biBub20gZGUgYnJhbmNhIHbDoGxpZC4iCiAKLSM6IGJyYW5jaC5jOjIwNworIzogYnJhbmNoLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkEgYnJhbmNoIG5hbWVkICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICJVbmEgYnJhbmNhIGFtYiBub20gwqslc8K7IGphIGV4aXN0ZWl4LiIKIAotIzogYnJhbmNoLmM6MjEyCisjOiBicmFuY2guYzoyMTMKIG1zZ2lkICJDYW5ub3QgZm9yY2UgdXBkYXRlIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIk5vIGVzIHBvdCBhY3R1YWxpdHphciBsYSBicmFuY2EgYWN0dWFsIGEgbGEgZm9yw6dhLiIKIAotIzogYnJhbmNoLmM6MjMyCisjOiBicmFuY2guYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHNldHVwIHRyYWNraW5nIGluZm9ybWF0aW9uOyBzdGFydGluZyBwb2ludCAnJXMnIGlzIG5vdCBhIGJyYW5jaC4iCiBtc2dzdHIgIiIKICJObyBlcyBwb3QgY29uZmlndXJhciBsYSBpbmZvcm1hY2nDsyBkZSBzZWd1aW1lbnQ7IGVsIHB1bnQgaW5pY2lhbCDCqyVzwrsgbm8gw6lzICIKICJ1bmEgYnJhbmNhLiIKIAotIzogYnJhbmNoLmM6MjM0CisjOiBicmFuY2guYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHJlcXVlc3RlZCB1cHN0cmVhbSBicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAibGEgYnJhbmNhIGZvbnQgZGVtYW5hZGEgwqslc8K7IG5vIGV4aXN0ZWl4IgogCi0jOiBicmFuY2guYzoyMzYKKyM6IGJyYW5jaC5jOjIzNwogbXNnaWQgIiIKICJcbiIKICJJZiB5b3UgYXJlIHBsYW5uaW5nIG9uIGJhc2luZyB5b3VyIHdvcmsgb24gYW4gdXBzdHJlYW1cbiIKQEAgLTEyNTAsMjcgKzE3MDEsMjcgQEAKICLCq2dpdCBwdXNoIC11wrsgcGVyIGEgZXN0YWJsaXIgbGEgY29uZmlndXJhY2nDsyBmb250XG4iCiAibWVudHJlIHB1Z2V1LiIKIAotIzogYnJhbmNoLmM6Mjc5CisjOiBicmFuY2guYzoyODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICJObyDDqXMgdW4gbm9tIGQnb2JqZWN0ZSB2w6BsaWQ6IMKrJXPCuy4iCiAKLSM6IGJyYW5jaC5jOjI5OQorIzogYnJhbmNoLmM6MzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFtYmlndW91cyBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIk5vbSBkJ29iamVjdGUgYW1iaWd1OiDCqyVzwrsuIgogCi0jOiBicmFuY2guYzozMDQKKyM6IGJyYW5jaC5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgogbXNnc3RyICJObyDDqXMgdW4gcHVudCBkZSByYW1pZmljYWNpw7MgdsOgbGlkOiDCqyVzwrsuIgogCi0jOiBicmFuY2guYzozNTgKKyM6IGJyYW5jaC5jOjM2NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiwqslc8K7IGphIHMnaGEgYWdhZmF0IGEgwqslc8K7IgogCi0jOiBicmFuY2guYzozODEKKyM6IGJyYW5jaC5jOjM4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJIRUFEIG9mIHdvcmtpbmcgdHJlZSAlcyBpcyBub3QgdXBkYXRlZCIKIG1zZ3N0ciAiSEVBRCBkZSBsJ2FyYnJlIGRlIHRyZWJhbGwgJXMgbm8gZXN0w6AgYWN0dWFsaXR6YXQiCkBAIC0xMjg1LDcxICsxNzM2LDc0IEBACiBtc2dpZCAidW5yZWNvZ25pemVkIGhlYWRlcjogJXMlcyAoJWQpIgogbXNnc3RyICJjYXDDp2FsZXJhIG5vIHJlY29uZWd1ZGE6ICVzJXMgKCVkKSIKIAotIzogYnVuZGxlLmM6OTAgcmVyZXJlLmM6NDgwIHJlcmVyZS5jOjY5MCBzZXF1ZW5jZXIuYzoyMTgyIHNlcXVlbmNlci5jOjI3MjIKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Nzc0CisjOiBidW5kbGUuYzo5MCByZXJlcmUuYzo0ODAgcmVyZXJlLmM6NjkwIHNlcXVlbmNlci5jOjIzNDQgc2VxdWVuY2VyLmM6MzEwOAorIzogYnVpbHRpbi9jb21taXQuYzo4MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnJpciDCqyVzwrsiCiAKLSM6IGJ1bmRsZS5jOjE0MQorIzogYnVuZGxlLmM6MTQzCiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyB0aGVzZSBwcmVyZXF1aXNpdGUgY29tbWl0czoiCi1tc2dzdHIgIkFsIGRpcMOyc2l0IGxpIG1hbnF1ZW4gYXF1ZXN0ZXMgY29taXNzaW9ucyBwcmVyZXF1aXNpdHM6IgorbXNnc3RyICJBbCBkaXDDsnNpdCBsaSBtYW5xdWVuIGFxdWVzdGVzIGNvbWlzc2lvbnMgcHJlcmVxdWVyaWRlczoiCiAKLSM6IGJ1bmRsZS5jOjE5MgorIzogYnVuZGxlLmM6MTQ2Cittc2dpZCAibmVlZCBhIHJlcG9zaXRvcnkgdG8gdmVyaWZ5IGEgYnVuZGxlIgorbXNnc3RyICJjYWwgdW4gZGlww7JzaXQgcGVyIHZlcmlmaWNhciB1biBmYXJjZWxsIgorCisjOiBidW5kbGUuYzoxOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSBjb250YWlucyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgY29udGFpbnMgdGhlc2UgJWQgcmVmczoiCiBtc2dzdHJbMF0gIkVsIGZhcmNlbGwgY29udMOpIGFxdWVzdGEgcmVmZXLDqG5jaWE6IgogbXNnc3RyWzFdICJFbCBmYXJjZWxsIGNvbnTDqSBhcXVlc3RlcyAlZCByZWZlcsOobmNpZXM6IgogCi0jOiBidW5kbGUuYzoxOTkKKyM6IGJ1bmRsZS5jOjIwNAogbXNnaWQgIlRoZSBidW5kbGUgcmVjb3JkcyBhIGNvbXBsZXRlIGhpc3RvcnkuIgogbXNnc3RyICJFbCBmYXJjZWxsIHJlZ2lzdHJhIHVuYSBoaXN0w7JyaWEgY29tcGxldGEuIgogCi0jOiBidW5kbGUuYzoyMDEKKyM6IGJ1bmRsZS5jOjIwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoaXMgcmVmOiIKIG1zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGVzZSAlZCByZWZzOiIKIG1zZ3N0clswXSAiRWwgZmFyY2VsbCByZXF1ZXJlaXggYXF1ZXN0YSByZWZlcsOobmNpYToiCiBtc2dzdHJbMV0gIkVsIGZhcmNlbGwgcmVxdWVyZWl4IGFxdWVzdGVzICVkIHJlZmVyw6huY2llczoiCiAKLSM6IGJ1bmRsZS5jOjI2NwotIywgZnV6enkKKyM6IGJ1bmRsZS5jOjI3MwogbXNnaWQgInVuYWJsZSB0byBkdXAgYnVuZGxlIGRlc2NyaXB0b3IiCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWN0dWFsaXR6YXIgbCfDrW5kZXgiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZHVwbGljYXIgZWwgZGVzY3JpcHRvciBkZWwgZmFyY2VsbCIKIAotIzogYnVuZGxlLmM6Mjc0CisjOiBidW5kbGUuYzoyODAKIG1zZ2lkICJDb3VsZCBub3Qgc3Bhd24gcGFjay1vYmplY3RzIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGVsIHBhY2stb2JqZWN0cyIKIAotIzogYnVuZGxlLmM6Mjg1CisjOiBidW5kbGUuYzoyOTEKIG1zZ2lkICJwYWNrLW9iamVjdHMgZGllZCIKIG1zZ3N0ciAiRWwgcGFjay1vYmplY3RzIHMnaGEgbW9ydCIKIAotIzogYnVuZGxlLmM6MzI3CisjOiBidW5kbGUuYzozMzMKIG1zZ2lkICJyZXYtbGlzdCBkaWVkIgogbXNnc3RyICJFbCByZXYtbGlzdCBzJ2hhIG1vcnQiCiAKLSM6IGJ1bmRsZS5jOjM3NgorIzogYnVuZGxlLmM6MzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZiAnJXMnIGlzIGV4Y2x1ZGVkIGJ5IHRoZSByZXYtbGlzdCBvcHRpb25zIgogbXNnc3RyICJsZXMgb3BjaW9ucyBkZSBsYSBsbGlzdGEgZGUgcmV2aXNpb25zIGV4Y2xvdWVuIGxhIHJlZmVyw6huY2lhIMKrJXPCuyIKIAotIzogYnVuZGxlLmM6NDU2IGJ1aWx0aW4vbG9nLmM6MTkyIGJ1aWx0aW4vbG9nLmM6MTY4OCBidWlsdGluL3Nob3J0bG9nLmM6MzA0CisjOiBidW5kbGUuYzo0NjEgYnVpbHRpbi9sb2cuYzoyMDMgYnVpbHRpbi9sb2cuYzoxODE0IGJ1aWx0aW4vc2hvcnRsb2cuYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAicGFyw6BtZXRyZSBubyByZWNvbmVndXQ6ICVzIgogCi0jOiBidW5kbGUuYzo0NjQKKyM6IGJ1bmRsZS5jOjQ2OQogbXNnaWQgIlJlZnVzaW5nIHRvIGNyZWF0ZSBlbXB0eSBidW5kbGUuIgogbXNnc3RyICJTJ2VzdMOgIHJlZnVzYW50IGNyZWFyIHVuIGZhcmNlbGwgYnVpdC4iCiAKLSM6IGJ1bmRsZS5jOjQ3NAorIzogYnVuZGxlLmM6NDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IGNyZWFyIMKrJXPCuyIKIAotIzogYnVuZGxlLmM6NDk4CisjOiBidW5kbGUuYzo1MDQKIG1zZ2lkICJpbmRleC1wYWNrIGRpZWQiCiBtc2dzdHIgIkwnaW5kZXgtcGFjayBzJ2hhIG1vcnQiCiAKQEAgLTEzNTgsMTQgKzE4MTIsMTMgQEAKIG1zZ2lkICJpbnZhbGlkIGNvbG9yIHZhbHVlOiAlLipzIgogbXNnc3RyICJ2YWxvciBkZSBjb2xvciBubyB2w6BsaWQ6ICUuKnMiCiAKLSM6IGNvbW1pdC5jOjUwIHNlcXVlbmNlci5jOjI1MjggYnVpbHRpbi9hbS5jOjM3MCBidWlsdGluL2FtLmM6NDE0Ci0jOiBidWlsdGluL2FtLmM6MTM5MCBidWlsdGluL2FtLmM6MjAyNSBidWlsdGluL3JlcGxhY2UuYzozNzYKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0OAorIzogY29tbWl0LmM6NTEgc2VxdWVuY2VyLmM6MjgxMSBidWlsdGluL2FtLmM6MzU0IGJ1aWx0aW4vYW0uYzozOTgKKyM6IGJ1aWx0aW4vYW0uYzoxMzY2IGJ1aWx0aW4vYW0uYzoyMDA5IGJ1aWx0aW4vcmVwbGFjZS5jOjQ1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyICVzIgogCi0jOiBjb21taXQuYzo1MgorIzogY29tbWl0LmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiJXMgJXMgbm8gw6lzIHVuYSBjb21pc3Npw7MhIgpAQCAtMTM4MiwyNyArMTgzNSwyNyBAQAogIlwiZ2l0IGNvbmZpZyBhZHZpY2UuZ3JhZnRGaWxlRGVwcmVjYXRlZCBmYWxzZVwiIgogbXNnc3RyICIiCiAKLSM6IGNvbW1pdC5jOjExMTUKKyM6IGNvbW1pdC5jOjExNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSwgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAiTGEgY29taXNzacOzICVzIHTDqSB1bmEgc2lnbmF0dXJhIEdQRyBubyBmaWFibGUsIHN1cG9zYWRhbWVudCBkZSAlcy4iCiAKLSM6IGNvbW1pdC5jOjExMTgKKyM6IGNvbW1pdC5jOjExNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGJhZCBHUEcgc2lnbmF0dXJlIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIkxhIGNvbWlzc2nDsyAlcyB0w6kgdW5hIHNpZ25hdHVyYSBHUEcgaW5jb3JyZWN0YSBzdXBvc2FkYW1lbnQgZGUgJXMuIgogCi0jOiBjb21taXQuYzoxMTIxCisjOiBjb21taXQuYzoxMTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIGEgR1BHIHNpZ25hdHVyZS4iCiBtc2dzdHIgIkxhIGNvbWlzc2nDsyAlcyBubyB0w6kgc2lnbmF0dXJhIEdQRy4iCiAKLSM6IGNvbW1pdC5jOjExMjQKKyM6IGNvbW1pdC5jOjExNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGdvb2QgR1BHIHNpZ25hdHVyZSBieSAlc1xuIgogbXNnc3RyICJMYSBjb21pc3Npw7MgJXMgdMOpIHVuYSBzaWduYXR1cmEgR1BHIGJvbmEgZGUgJXNcbiIKIAotIzogY29tbWl0LmM6MTM3OAorIzogY29tbWl0LmM6MTQxNQogbXNnaWQgIiIKICJXYXJuaW5nOiBjb21taXQgbWVzc2FnZSBkaWQgbm90IGNvbmZvcm0gdG8gVVRGLTguXG4iCiAiWW91IG1heSB3YW50IHRvIGFtZW5kIGl0IGFmdGVyIGZpeGluZyB0aGUgbWVzc2FnZSwgb3Igc2V0IHRoZSBjb25maWdcbiIKQEAgLTE0MTMsOTggKzE4NjYsMjc1IEBACiAibGEgdmFyaWFibGUgZGUgY29uZmlndXJhY2nDsyBpMThuLmNvbW1pdGVuY29kaW5nIGEgbGEgY29kaWZpY2FjacOzIHF1ZVxuIgogInVzaSBlbCB2b3N0cmUgcHJvamVjdGUuXG4iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEwOAotIywgYy1mb3JtYXQKLW1zZ2lkICJncmFwaCBmaWxlICVzIGlzIHRvbyBzbWFsbCIKKyM6IGNvbW1pdC1ncmFwaC5jOjEzMAorbXNnaWQgImNvbW1pdC1ncmFwaCBmaWxlIGlzIHRvbyBzbWFsbCIKIG1zZ3N0ciAiIgogCi0jOiBjb21taXQtZ3JhcGguYzoxMTUKKyM6IGNvbW1pdC1ncmFwaC5jOjE5NQogIywgYy1mb3JtYXQKLW1zZ2lkICJncmFwaCBzaWduYXR1cmUgJVggZG9lcyBub3QgbWF0Y2ggc2lnbmF0dXJlICVYIgorbXNnaWQgImNvbW1pdC1ncmFwaCBzaWduYXR1cmUgJVggZG9lcyBub3QgbWF0Y2ggc2lnbmF0dXJlICVYIgorbXNnc3RyICIiCisibGEgc2lnbmF0dXJhIGRlbCBncmFmIGRlIGNvbWlzc2lvbnMgJVggbm8gY29pbmNpZGVpeCBhbWIgbGEgc2lnbmF0dXJhICVYIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKK21zZ3N0ciAibGEgdmVyc2nDsyBkZWwgZ3JhZiBkZSBjb21pc3Npb25zICVYIG5vIGNvaW5jaWRlaXggYW1iIGxhIHZlcnNpw7MgJVgiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggaGFzaCB2ZXJzaW9uICVYIGRvZXMgbm90IG1hdGNoIHZlcnNpb24gJVgiCittc2dzdHIgIiIKKyJsYSB2ZXJzacOzIGRlbCBoYXNoIGRlbCBncmFmIGRlIGNvbWlzc2lvbnMgJVggbm8gY29pbmNpZGVpeCBhbWIgbGEgdmVyc2nDsyAlWCIKKworIzogY29tbWl0LWdyYXBoLmM6MjMyCittc2dpZCAiY29tbWl0LWdyYXBoIGNodW5rIGxvb2t1cCB0YWJsZSBlbnRyeSBtaXNzaW5nOyBmaWxlIG1heSBiZSBpbmNvbXBsZXRlIgogbXNnc3RyICIiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEyMgotIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAiZ3JhcGggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIgotbXNnc3RyICJlbCBjYW3DrSDCqyVzwrsgbm8gdMOpIGxhIHNldmEgdmVyc2nDsyIKLQotIzogY29tbWl0LWdyYXBoLmM6MTI5Ci0jLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICJoYXNoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKLW1zZ3N0ciAiZWwgY2Ftw60gwqslc8K7IG5vIHTDqSBsYSBzZXZhIHZlcnNpw7MiCi0KLSM6IGNvbW1pdC1ncmFwaC5jOjE1MworIzogY29tbWl0LWdyYXBoLmM6MjQzCiAjLCBjLWZvcm1hdAotbXNnaWQgImltcHJvcGVyIGNodW5rIG9mZnNldCAlMDh4JTA4eCIKK21zZ2lkICJjb21taXQtZ3JhcGggaW1wcm9wZXIgY2h1bmsgb2Zmc2V0ICUwOHglMDh4IgogbXNnc3RyICIiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjE4OQorIzogY29tbWl0LWdyYXBoLmM6Mjg2CiAjLCBjLWZvcm1hdAotbXNnaWQgImNodW5rIGlkICUwOHggYXBwZWFycyBtdWx0aXBsZSB0aW1lcyIKK21zZ2lkICJjb21taXQtZ3JhcGggY2h1bmsgaWQgJTA4eCBhcHBlYXJzIG11bHRpcGxlIHRpbWVzIgogbXNnc3RyICIiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjMwOAorIzogY29tbWl0LWdyYXBoLmM6MzUwCittc2dpZCAiY29tbWl0LWdyYXBoIGhhcyBubyBiYXNlIGdyYXBocyBjaHVuayIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzozNjAKK21zZ2lkICJjb21taXQtZ3JhcGggY2hhaW4gZG9lcyBub3QgbWF0Y2giCittc2dzdHIgImxhIGNhZGVuYSBkZWwgZ3JhZiBkZSBjb21pc3Npb25zIG5vIGNvaW5jaWRlaXgiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjQwNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdC1ncmFwaCBjaGFpbjogbGluZSAnJXMnIG5vdCBhIGhhc2giCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6NDMzCittc2dpZCAidW5hYmxlIHRvIGZpbmQgYWxsIGNvbW1pdC1ncmFwaCBmaWxlcyIKK21zZ3N0ciAibm8gZXMgcG9kZW4gdHJvYmFyIHRvdHMgZWxzIGZpdHhlcnMgZGVsIGdyYWYgZGUgY29taXNzaW9ucyIKKworIzogY29tbWl0LWdyYXBoLmM6NTY0IGNvbW1pdC1ncmFwaC5jOjYyNAorbXNnaWQgImludmFsaWQgY29tbWl0IHBvc2l0aW9uLiBjb21taXQtZ3JhcGggaXMgbGlrZWx5IGNvcnJ1cHQiCittc2dzdHIgIiIKKyJwb3NpY2nDsyBkZSBsYSBjb21pc3Npw7Mgbm8gdsOgbGlkYS4gUHJvYmFibGVtZW50IGVsIGdyYWYgZGUgY29taXNzaW9ucyBlc3TDoCAiCisibWFsbcOocyIKKworIzogY29tbWl0LWdyYXBoLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBmaW5kIGNvbW1pdCAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCB0cm9iYXIgbGEgY29taXNzacOzICVzIgogCi0jOiBjb21taXQtZ3JhcGguYzo2MTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjUyCisjOiBjb21taXQtZ3JhcGguYzo4NTggYnVpbHRpbi9hbS5jOjEyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCAlcyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgbGEgY29taXNzacOzICVzIgorCisjOiBjb21taXQtZ3JhcGguYzoxMDE3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IHR5cGUgb2Ygb2JqZWN0ICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9idGVuaXIgZWwgdGlwdXMgZGUgbCdvYmplY3RlOiAlcyIKIAotIzogY29tbWl0LWdyYXBoLmM6NjUxCi0jLCBmdXp6eQotbXNnaWQgIkFubm90YXRpbmcgY29tbWl0cyBpbiBjb21taXQgZ3JhcGgiCi1tc2dzdHIgIm1hc3NlcyBjb21pc3Npb25zIHBlciBlc2NyaXVyZSB1biBncmFmIgorIzogY29tbWl0LWdyYXBoLmM6MTA0OQorbXNnaWQgIkxvYWRpbmcga25vd24gY29tbWl0cyBpbiBjb21taXQgZ3JhcGgiCittc2dzdHIgIlMnZXN0YW4gY2FycmVnYW50IGNvbWlzc2lvbnMgY29uZWd1ZGVzIGFsIGdyYWYgZGUgY29taXNzaW9ucyIKIAotIzogY29tbWl0LWdyYXBoLmM6NjkxCisjOiBjb21taXQtZ3JhcGguYzoxMDY2Cittc2dpZCAiRXhwYW5kaW5nIHJlYWNoYWJsZSBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAiUydlc3RhbiBleHBhbmRpbnQgbGVzIGNvbWlzc2lvbnMgYWJhc3RhYmxlcyBhbCBncmFmIGRlIGNvbWlzc2lvbnMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEwODUKK21zZ2lkICJDbGVhcmluZyBjb21taXQgbWFya3MgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICJTJ2VzdGFuIG5ldGVqYW50IGxlcyBtYXJxdWVzIGRlIGNvbWlzc2lvbnMgYWwgZ3JhZiBkZSBjb21pc3Npb25zIgorCisjOiBjb21taXQtZ3JhcGguYzoxMTA0CiBtc2dpZCAiQ29tcHV0aW5nIGNvbW1pdCBncmFwaCBnZW5lcmF0aW9uIG51bWJlcnMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiUydlc3RhbiBjYWxjdWxhbnQgZWxzIG5vbWJyZXMgZGUgZ2VuZXJhY2nDsyBkZWwgZ3JhZiBkZSBjb21pc3Npb25zIgogCi0jOiBjb21taXQtZ3JhcGguYzo4MDMgY29tbWl0LWdyYXBoLmM6ODI2IGNvbW1pdC1ncmFwaC5jOjg1MgotIywgZnV6enkKLW1zZ2lkICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCIKLW1zZ3N0ciAibWFzc2VzIGNvbWlzc2lvbnMgcGVyIGVzY3JpdXJlIHVuIGdyYWYiCisjOiBjb21taXQtZ3JhcGguYzoxMTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGluICVkIHBhY2siCittc2dpZF9wbHVyYWwgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGluICVkIHBhY2tzIgorbXNnc3RyWzBdICJTJ2VzdGFuIGNlcmNhbnQgbGVzIGNvbWlzc2lvbnMgcGVsIGdyYWYgZGUgY29taXNzaW9ucyBlbiAlZCBwYXF1ZXQiCittc2dzdHJbMV0gIlMnZXN0YW4gY2VyY2FudCBsZXMgY29taXNzaW9ucyBwZWwgZ3JhZiBkZSBjb21pc3Npb25zIGVuICVkIHBhcXVldHMiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjgxMgorIzogY29tbWl0LWdyYXBoLmM6MTE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBhZGRpbmcgcGFjayAlcyIKIG1zZ3N0ciAiZXJyb3IgZW4gYWZlZ2lyIHBhcXVldCAlcyIKIAotIzogY29tbWl0LWdyYXBoLmM6ODE0CisjOiBjb21taXQtZ3JhcGguYzoxMTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIG9wZW5pbmcgaW5kZXggZm9yICVzIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyIGwnw61uZGV4IHBlciDCqyVzwrsiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjg2OAorIzogY29tbWl0LWdyYXBoLmM6MTIyMAogIywgYy1mb3JtYXQKLW1zZ2lkICJ0aGUgY29tbWl0IGdyYXBoIGZvcm1hdCBjYW5ub3Qgd3JpdGUgJWQgY29tbWl0cyIKK21zZ2lkICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBmcm9tICVkIHJlZiIKK21zZ2lkX3BsdXJhbCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGggZnJvbSAlZCByZWZzIgorbXNnc3RyWzBdICIiCisiUydlc3RhbiBjZXJjYW50IGxlcyBjb21pc3Npb25zIHBlbCBncmFmIGRlIGNvbWlzc2lvbnMgZGVzIGRlICVkIHJlZmVyw6huY2lhIgorbXNnc3RyWzFdICIiCisiUydlc3RhbiBjZXJjYW50IGxlcyBjb21pc3Npb25zIHBlbCBncmFmIGRlIGNvbWlzc2lvbnMgZGVzIGRlICVkIHJlZmVyw6huY2llcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdCBvYmplY3QgaWQ6ICVzIgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGQnb2JqZWN0ZSBkZSBjb21pc3Npw7Mgbm8gdsOgbGlkOiAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTI1NQorbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGFtb25nIHBhY2tlZCBvYmplY3RzIgogbXNnc3RyICIiCisiUydlc3RhbiBjZXJjYW50IGxlcyBjb21pc3Npb25zIHBlbCBncmFmIGRlIGNvbWlzc2lvbnMgZW50cmUgZWxzIG9iamVjdGVzICIKKyJlbXBhcXVldGF0cyIKIAotIzogY29tbWl0LWdyYXBoLmM6ODk1Ci0jLCBmdXp6eQotbXNnaWQgInRvbyBtYW55IGNvbW1pdHMgdG8gd3JpdGUgZ3JhcGgiCi1tc2dzdHIgIm1hc3NlcyBjb21pc3Npb25zIHBlciBlc2NyaXVyZSB1biBncmFmIgorIzogY29tbWl0LWdyYXBoLmM6MTI3MAorbXNnaWQgIkNvdW50aW5nIGRpc3RpbmN0IGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICJTJ2VzdGFuIGNvbXB0YW50IGxlcyBjb21pc3Npb25zIGRpZmVyZW50cyBhbCBncmFmIGRlIGNvbWlzc2lvbnMiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjkwMiBtaWR4LmM6NzY5CisjOiBjb21taXQtZ3JhcGguYzoxMzAwCittc2dpZCAiRmluZGluZyBleHRyYSBlZGdlcyBpbiBjb21taXQgZ3JhcGgiCittc2dzdHIgIlMnZXN0YW4gY2VyY2FudCBsZXMgdm9yZXMgYWRkaWNpb25hbHMgYWwgZ3JhZiBkZSBjb21pc3Npb25zIgorCisjOiBjb21taXQtZ3JhcGguYzoxMzQ2Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvcnJlY3QgbnVtYmVyIG9mIGJhc2UgZ3JhcGggaWRzIgorbXNnc3RyICIiCisicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlc2NyaXVyZSBlbCBub21icmUgY29ycmVjdGUgZCdpZHMgYmFzZSBkZWwgZ3JhZiIKKworIzogY29tbWl0LWdyYXBoLmM6MTM3OSBtaWR4LmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAlcyIKIG1zZ3N0ciAibm8gcydoYW4gcG9ndXQgY3JlYXIgZWxzIGRpcmVjdG9yaXMgaW5pY2lhbHMgZGUgwqslc8K7IgogCi0jOiBjb21taXQtZ3JhcGguYzoxMDAyCisjOiBjb21taXQtZ3JhcGguYzoxMzkxIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwNiBidWlsdGluL3JlcGFjay5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlICclcyciCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgwqslc8K7IgorCisjOiBjb21taXQtZ3JhcGguYzoxNDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRpbmcgb3V0IGNvbW1pdCBncmFwaCBpbiAlZCBwYXNzIgorbXNnaWRfcGx1cmFsICJXcml0aW5nIG91dCBjb21taXQgZ3JhcGggaW4gJWQgcGFzc2VzIgorbXNnc3RyWzBdICJTJ2VzdMOgIGVzY3JpdmludCBlbCBncmFmIGRlIGNvbWlzc2lvbnMgZW4gJWQgcGFzIgorbXNnc3RyWzFdICJTJ2VzdMOgIGVzY3JpdmludCBlbCBncmFmIGRlIGNvbWlzc2lvbnMgZW4gJWQgcGFzc29zIgorCisjOiBjb21taXQtZ3JhcGguYzoxNDkyCittc2dpZCAidW5hYmxlIHRvIG9wZW4gY29tbWl0LWdyYXBoIGNoYWluIGZpbGUiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgZWwgZml0eGVyIGQnZW5jYWRlbmFtZW50IGRlbCBncmFmIGRlIGNvbWlzc2lvbnMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE1MDQKK21zZ2lkICJmYWlsZWQgdG8gcmVuYW1lIGJhc2UgY29tbWl0LWdyYXBoIGZpbGUiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgY2FudmlhciBlbCBub20gZGVsIGZpdHhlciBiYXNlIGRlbCBncmFmIGRlIGNvbWlzc2lvbnMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE1MjQKK21zZ2lkICJmYWlsZWQgdG8gcmVuYW1lIHRlbXBvcmFyeSBjb21taXQtZ3JhcGggZmlsZSIKK21zZ3N0ciAiIgorIm5vIHMnaGEgcG9ndXQgY2FudmlhciBlbCBub20gZGVsIGZpdHhlciB0ZW1wb3JhbCBkZWwgZ3JhZiBkZSBjb21pc3Npb25zIgorCisjOiBjb21taXQtZ3JhcGguYzoxNjM1Cittc2dpZCAiU2Nhbm5pbmcgbWVyZ2VkIGNvbW1pdHMiCittc2dzdHIgIlMnZXN0YW4gZXNjYW5lamFudCBsZXMgY29taXNzaW9ucyBmdXNpb25hZGVzIgorCisjOiBjb21taXQtZ3JhcGguYzoxNjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZHVwbGljYXRlIGNvbW1pdCBpZCAlcyIKK21zZ3N0ciAiaWQgZGUgY29taXNzacOzIGR1cGxpY2F0ICVzIG5vIGVzcGVyYXQiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE2NzAKK21zZ2lkICJNZXJnaW5nIGNvbW1pdC1ncmFwaCIKK21zZ3N0ciAiUydlc3TDoCBmdXNpb25hbnQgZWwgZ3JhZiBkZSBjb21pc3Npb25zIgorCisjOiBjb21taXQtZ3JhcGguYzoxODYwCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBjb21taXQgZ3JhcGggZm9ybWF0IGNhbm5vdCB3cml0ZSAlZCBjb21taXRzIgorbXNnc3RyICJlbCBmb3JtYXQgZGVsIGdyYWYgZGUgY29taXNzaW9ucyBubyBwb3QgZXNjcml1cmUgJWQgY29taXNzaW9ucyIKKworIzogY29tbWl0LWdyYXBoLmM6MTg3MQorbXNnaWQgInRvbyBtYW55IGNvbW1pdHMgdG8gd3JpdGUgZ3JhcGgiCittc2dzdHIgIm1hc3NhIGNvbWlzc2lvbnMgcGVyIGVzY3JpdXJlIHVuIGdyYWYiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE5NjEKIG1zZ2lkICJ0aGUgY29tbWl0LWdyYXBoIGZpbGUgaGFzIGluY29ycmVjdCBjaGVja3N1bSBhbmQgaXMgbGlrZWx5IGNvcnJ1cHQiCiBtc2dzdHIgIiIKKyJlbCBmaXR4ZXIgY29tbWl0LWdyYXBoIChncmFmIGRlIGNvbWlzc2lvbnMpIHTDqSB1bmEgc3VtYSBkZSB2ZXJpZmljYWNpw7MgIgorImluY29ycmVjdGEgaSBwcm9iYWJsZW1lbnQgw6lzIGNvcnJ1cHRlIgogCi0jOiBjb21taXQtZ3JhcGguYzoxMDQ2Ci1tc2dpZCAiVmVyaWZ5aW5nIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorIzogY29tbWl0LWdyYXBoLmM6MTk3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggaGFzIGluY29ycmVjdCBPSUQgb3JkZXI6ICVzIHRoZW4gJXMiCiBtc2dzdHIgIiIKIAotIzogY29tcGF0L29ic3RhY2suYzo0MDUgY29tcGF0L29ic3RhY2suYzo0MDcKKyM6IGNvbW1pdC1ncmFwaC5jOjE5ODEgY29tbWl0LWdyYXBoLmM6MTk5NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggaGFzIGluY29ycmVjdCBmYW5vdXQgdmFsdWU6IGZhbm91dFslZF0gPSAldSAhPSAldSIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoxOTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb21taXQgJXMgZnJvbSBjb21taXQtZ3JhcGgiCittc2dzdHIgIiIKKyJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGFuYWxpdHphciBsYSBjb21pc3Npw7MgJXMgZGVsIGdyYWYgZGUgY29taXNzaW9ucyIKKworIzogY29tbWl0LWdyYXBoLmM6MjAwNgorbXNnaWQgIlZlcmlmeWluZyBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAiUydlc3RhbiB2ZXJpZmljYW50IGxlcyBjb21pc3Npb25zIGFsIGdyYWYgZGUgY29taXNzaW9ucyIKKworIzogY29tbWl0LWdyYXBoLmM6MjAyMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29tbWl0ICVzIGZyb20gb2JqZWN0IGRhdGFiYXNlIGZvciBjb21taXQtZ3JhcGgiCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6MjAyNworIywgYy1mb3JtYXQKK21zZ2lkICJyb290IHRyZWUgT0lEIGZvciBjb21taXQgJXMgaW4gY29tbWl0LWdyYXBoIGlzICVzICE9ICVzIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIHBhcmVudCBsaXN0IGZvciBjb21taXQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6MjA0NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggcGFyZW50IGZvciAlcyBpcyAlcyAhPSAlcyIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDU5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBwYXJlbnQgbGlzdCBmb3IgY29tbWl0ICVzIHRlcm1pbmF0ZXMgZWFybHkiCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6MjA2NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY29tbWl0LWdyYXBoIGhhcyBnZW5lcmF0aW9uIG51bWJlciB6ZXJvIGZvciBjb21taXQgJXMsIGJ1dCBub24temVybyBlbHNld2hlcmUiCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6MjA2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY29tbWl0LWdyYXBoIGhhcyBub24temVybyBnZW5lcmF0aW9uIG51bWJlciBmb3IgY29tbWl0ICVzLCBidXQgemVybyBlbHNld2hlcmUiCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6MjA4MworIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggZ2VuZXJhdGlvbiBmb3IgY29tbWl0ICVzIGlzICV1ICE9ICV1IgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0IGRhdGUgZm9yIGNvbW1pdCAlcyBpbiBjb21taXQtZ3JhcGggaXMgJTxQUkl1TUFYPiAhPSAlPFBSSXVNQVg+IgorbXNnc3RyICIiCisKKyM6IGNvbXBhdC9vYnN0YWNrLmM6NDA2IGNvbXBhdC9vYnN0YWNrLmM6NDA4CiBtc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKIG1zZ3N0ciAibWVtw7JyaWEgZXNnb3RhZGEiCiAKLSM6IGNvbmZpZy5jOjEyMworIzogY29uZmlnLmM6MTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleGNlZWRlZCBtYXhpbXVtIGluY2x1ZGUgZGVwdGggKCVkKSB3aGlsZSBpbmNsdWRpbmdcbiIKQEAgLTE1MTQsMzAyICsyMTQ0LDI5NSBAQAogIlRoaXMgbWlnaHQgYmUgZHVlIHRvIGNpcmN1bGFyIGluY2x1ZGVzLiIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoxMzkKKyM6IGNvbmZpZy5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZXhwYW5kIGluY2x1ZGUgcGF0aCAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4cGFuZGlyIGVsIGNhbcOtIGQnaW5jbHVzacOzIMKrJXPCuyIKIAotIzogY29uZmlnLmM6MTUwCisjOiBjb25maWcuYzoxNTEKIG1zZ2lkICJyZWxhdGl2ZSBjb25maWcgaW5jbHVkZXMgbXVzdCBjb21lIGZyb20gZmlsZXMiCiBtc2dzdHIgImxlcyBpbmNsdXNpb25zIGRlIGNvbmZpZ3VyYWNpw7MgcmVsYXRpdmVzIGhhbiBkZSB2ZW5pciBkZSBmaXR4ZXJzIgogCi0jOiBjb25maWcuYzoxOTAKKyM6IGNvbmZpZy5jOjE5NwogbXNnaWQgInJlbGF0aXZlIGNvbmZpZyBpbmNsdWRlIGNvbmRpdGlvbmFscyBtdXN0IGNvbWUgZnJvbSBmaWxlcyIKIG1zZ3N0ciAiIgogImVscyBjb25kaWNpb25hbHMgZCdpbmNsdXNpw7MgZGUgY29uZmlndXJhY2nDsyByZWxhdGl1cyBoYW4gZGUgdmVuaXIgZGUgZml0eGVycyIKIAotIzogY29uZmlnLmM6MzQ4CisjOiBjb25maWcuYzozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAia2V5IGRvZXMgbm90IGNvbnRhaW4gYSBzZWN0aW9uOiAlcyIKIG1zZ3N0ciAibGEgY2xhdSBubyBjb250w6kgdW5hIHNlY2Npw7M6IMKrJXPCuyIKIAotIzogY29uZmlnLmM6MzU0CisjOiBjb25maWcuYzozODIKICMsIGMtZm9ybWF0CiBtc2dpZCAia2V5IGRvZXMgbm90IGNvbnRhaW4gdmFyaWFibGUgbmFtZTogJXMiCiBtc2dzdHIgImxhIGNsYXUgbm8gY29udMOpIHVuIG5vbSBkZSB2YXJpYWJsZTogwqslc8K7IgogCi0jOiBjb25maWcuYzozNzggc2VxdWVuY2VyLmM6MjI5NgorIzogY29uZmlnLmM6NDA2IHNlcXVlbmNlci5jOjI1MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXk6ICVzIgogbXNnc3RyICJjbGF1IG5vIHbDoGxpZGE6ICVzIgogCi0jOiBjb25maWcuYzozODQKKyM6IGNvbmZpZy5jOjQxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGtleSAobmV3bGluZSk6ICVzIgogbXNnc3RyICJjbGF1IG5vIHbDoGxpZGEgKGzDrW5lYSBub3ZhKTogJXMiCiAKLSM6IGNvbmZpZy5jOjQyMCBjb25maWcuYzo0MzIKKyM6IGNvbmZpZy5jOjQ0OCBjb25maWcuYzo0NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYm9ndXMgY29uZmlnIHBhcmFtZXRlcjogJXMiCiBtc2dzdHIgInBhcsOgbWV0cmUgZGUgY29uZmlndXJhY2nDsyBlcnJvbmk6ICVzIgogCi0jOiBjb25maWcuYzo0NjcKKyM6IGNvbmZpZy5jOjQ5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJib2d1cyBmb3JtYXQgaW4gJXMiCiBtc2dzdHIgImZvcm1hdCBlcnJvbmkgYSAlcyIKIAotIzogY29uZmlnLmM6NzkzCisjOiBjb25maWcuYzo4MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGJsb2IgJXMiCiBtc2dzdHIgImzDrW5pYSBkZSBjb25maWd1cmFjacOzICVkIGVycsOybmlhIGVuIGVsIGJsb2IgJXMiCiAKLSM6IGNvbmZpZy5jOjc5NworIzogY29uZmlnLmM6ODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBmaWxlICVzIgogbXNnc3RyICJsw61uaWEgZGUgY29uZmlndXJhY2nDsyAlZCBlcnLDsm5pYSBlbiBlbCBmaXR4ZXIgJXMiCiAKLSM6IGNvbmZpZy5jOjgwMQorIzogY29uZmlnLmM6ODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibMOtbmlhIGRlIGNvbmZpZ3VyYWNpw7MgJWQgZXJyw7JuaWEgZW4gbCdlbnRyYWRhIGVzdMOgbmRhcmQiCiAKLSM6IGNvbmZpZy5jOjgwNQorIzogY29uZmlnLmM6ODMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdWJtb2R1bGUtYmxvYiAlcyIKIG1zZ3N0ciAibMOtbmlhIGRlIGNvbmZpZ3VyYWNpw7MgJWQgZXJyw7JuaWEgZW4gZWwgYmxvYiBkZSBzdWJtw7JkdWwgJXMiCiAKLSM6IGNvbmZpZy5jOjgwOQorIzogY29uZmlnLmM6ODM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBjb21tYW5kIGxpbmUgJXMiCiBtc2dzdHIgImzDrW5pYSBkZSBjb25maWd1cmFjacOzICVkIGVycsOybmlhIGVuIGxhIGzDrW5pYSBkJ29yZHJlcyAlcyIKIAotIzogY29uZmlnLmM6ODEzCisjOiBjb25maWcuYzo4NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluICVzIgogbXNnc3RyICJsw61uaWEgZGUgY29uZmlndXJhY2nDsyAlZCBlcnLDsm5pYSBlbiAlcyIKIAotIzogY29uZmlnLmM6OTUyCisjOiBjb25maWcuYzo5NzgKIG1zZ2lkICJvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImZvcmEgZGUgcmFuZyIKIAotIzogY29uZmlnLmM6OTUyCisjOiBjb25maWcuYzo5NzgKIG1zZ2lkICJpbnZhbGlkIHVuaXQiCiBtc2dzdHIgInVuaXRhdCBubyB2w6BsaWRhIgogCi0jOiBjb25maWcuYzo5NTgKKyM6IGNvbmZpZy5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJzogJXMiCiBtc2dzdHIgInZhbG9yIGRlIGNvbmZpZ3VyYWNpw7MgbnVtw6hyaWMgZXJyb25pIMKrJXPCuyBwZXIgwqslc8K7OiAlcyIKIAotIzogY29uZmlnLmM6OTYzCisjOiBjb25maWcuYzo5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gYmxvYiAlczogJXMiCiBtc2dzdHIgInZhbG9yIGRlIGNvbmZpZ3VyYWNpw7MgbnVtw6hyaWMgZXJyb25pIMKrJXPCuyBwZXIgwqslc8K7IGVuIGVsIGJsb2IgJXM6ICVzIgogCi0jOiBjb25maWcuYzo5NjYKKyM6IGNvbmZpZy5jOjEwMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gZmlsZSAlczogJXMiCiBtc2dzdHIgInZhbG9yIGRlIGNvbmZpZ3VyYWNpw7MgbnVtw6hyaWMgwqslc8K7IGVycm9uaSBwZXIgwqslc8K7IGVuIGVsIGZpdHhlciAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjk2OQorIzogY29uZmlnLmM6MTAwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdGFuZGFyZCBpbnB1dDogJXMiCiBtc2dzdHIgIiIKICJ2YWxvciBkZSBjb25maWd1cmFjacOzIG51bcOocmljIMKrJXPCuyBlcnJvbmkgcGVyIMKrJXPCuyBlbiBsJ2VudHJhZGEgZXN0w6BuZGFyZDogJXMiCiAKLSM6IGNvbmZpZy5jOjk3MgorIzogY29uZmlnLmM6MTAwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdWJtb2R1bGUtYmxvYiAlczogJXMiCiBtc2dzdHIgIiIKICJ2YWxvciBkZSBjb25maWd1cmFjacOzIG51bcOocmljIMKrJXPCuyBlcnJvbmknIHBlciDCqyVzwrsgZW4gZWwgYmxvYiBkZSBzdWJtw7JkdWwgIgogIiVzOiAlcyIKIAotIzogY29uZmlnLmM6OTc1CisjOiBjb25maWcuYzoxMDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGNvbW1hbmQgbGluZSAlczogJXMiCiBtc2dzdHIgIiIKICJ2YWxvciBkZSBjb25maWd1cmFjacOzIG51bcOocmljIMKrJXPCuyBlcnJvbmkgcGVyIMKrJXPCuyBlbiBsYSBsw61uaWEgZCdvcmRyZXMgJXM6ICIKICIlcyIKIAotIzogY29uZmlnLmM6OTc4CisjOiBjb25maWcuYzoxMDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzOiAlcyIKIG1zZ3N0ciAidmFsb3IgZGUgY29uZmlndXJhY2nDsyBudW3DqHJpYyBpbmNvcnJlY3RlIMKrJXPCuyBwZXIgwqslc8K7IGVuICVzOiAlcyIKIAotIzogY29uZmlnLmM6MTA3MworIzogY29uZmlnLmM6MTEwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhwYW5kIHVzZXIgZGlyIGluOiAnJXMnIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGV4cGFuZGlyIGVsIGRpcmVjdG9yaSBkJ3VzdWFyaSBlbjogwqslc8K7IgogCi0jOiBjb25maWcuYzoxMDgyCisjOiBjb25maWcuYzoxMTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZm9yICclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICLCqyVzwrsgcGVyIGEgwqslc8K7IG5vIMOpcyB1bmEgbWFyY2EgZGUgdGVtcHMgdsOgbGlkYSIKIAotIzogY29uZmlnLmM6MTE3MworIzogY29uZmlnLmM6MTIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJhYmJyZXYgbGVuZ3RoIG91dCBvZiByYW5nZTogJWQiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MTE4NyBjb25maWcuYzoxMTk4CisjOiBjb25maWcuYzoxMjIyIGNvbmZpZy5jOjEyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHpsaWIgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgIm5pdmVsbCBkZSBjb21wcmVzc2nDsyBkZSB6bGliIGluY29ycmVjdGUgJWQiCiAKLSM6IGNvbmZpZy5jOjEyOTAKKyM6IGNvbmZpZy5jOjEzMjUKIG1zZ2lkICJjb3JlLmNvbW1lbnRDaGFyIHNob3VsZCBvbmx5IGJlIG9uZSBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MTMyMworIzogY29uZmlnLmM6MTM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG1vZGUgZm9yIG9iamVjdCBjcmVhdGlvbjogJXMiCiBtc2dzdHIgIm1vZGUgZGUgY3JlYWNpw7MgZCdvYmplY3RlIG5vIHbDoGxpZDogJXMiCiAKLSM6IGNvbmZpZy5jOjEzOTUKKyM6IGNvbmZpZy5jOjE0MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIHZhbHVlIGZvciAlcyIKIG1zZ3N0ciAidmFsb3Igbm8gdsOgbGlkIHBlciBhICVzIgogCi0jOiBjb25maWcuYzoxNDIxCisjOiBjb25maWcuYzoxNDU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICJ2YWxvciBubyB2w6BsaWQgcGVyIGEgJXM6ICVzIgogCi0jOiBjb25maWcuYzoxNDIyCisjOiBjb25maWcuYzoxNDU3CiBtc2dpZCAibXVzdCBiZSBvbmUgb2Ygbm90aGluZywgbWF0Y2hpbmcsIHNpbXBsZSwgdXBzdHJlYW0gb3IgY3VycmVudCIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoxNDgxIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM4OQorIzogY29uZmlnLmM6MTUxOCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2sgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgIm5pdmVsbCBkZSBjb21wcmVzc2nDsyBkZSBwYXF1ZXQgJWQgRXJyb25pIgogCi0jOiBjb25maWcuYzoxNjAyCisjOiBjb25maWcuYzoxNjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBsb2FkIGNvbmZpZyBibG9iIG9iamVjdCAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNhcnJlZ2FyIGwnb2JqZWN0ZSBibG9iIGRlIGNvbmZpZ3VyYWNpw7Mgwqslc8K7IgogCi0jOiBjb25maWcuYzoxNjA1CisjOiBjb25maWcuYzoxNjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSAnJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgYmxvYiIKIG1zZ3N0ciAibGEgcmVmZXLDqG5jaWEgwqslc8K7IG5vIGFzc2VueWFsYSBhIHVuIGJsb2IiCiAKLSM6IGNvbmZpZy5jOjE2MjIKKyM6IGNvbmZpZy5jOjE2NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgY29uZmlnIGJsb2IgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCByZXNvbGRyZSBlbCBibG9iIGRlIGNvbmZpZ3VyYWNpw7M6IMKrJXPCuyIKIAotIzogY29uZmlnLmM6MTY1MgorIzogY29uZmlnLmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYW5hbGl0emFyICVzIgogCi0jOiBjb25maWcuYzoxNzA1CisjOiBjb25maWcuYzoxNzQ1CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGxhIGNvbmZpZ3VyYWNpw7MgZGUgbGEgbMOtbmlhIGQnb3JkcmVzIgogCi0jOiBjb25maWcuYzoyMDM3CisjOiBjb25maWcuYzoyMDk2CiBtc2dpZCAidW5rbm93biBlcnJvciBvY2N1cnJlZCB3aGlsZSByZWFkaW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIgogbXNnc3RyICJ1biBlcnJvciBkZXNjb25lZ3V0IGhhIG9jb3JyZWd1dCBlbiBsbGVnaXIgZWxzIGZpdHhlcnMgZGUgY29uZmlndXJhY2nDsyIKIAotIzogY29uZmlnLmM6MjIwNworIzogY29uZmlnLmM6MjI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkICVzOiAnJXMnIgogbXNnc3RyICIlcyBubyB2w6BsaWQ6IMKrJXPCuyIKIAotIzogY29uZmlnLmM6MjI1MAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmtub3duIGNvcmUudW50cmFja2VkQ2FjaGUgdmFsdWUgJyVzJzsgdXNpbmcgJ2tlZXAnIGRlZmF1bHQgdmFsdWUiCi1tc2dzdHIgIiIKLSJ2YWxvciDCqyVzwrsgYSBjb3JlLnVudHJhY2tlZENhY2hlIGRlc2NvbmVndXQ7IHV0aWxpdHphbnQgZWwgdmFsb3IgcGVyIGRlZmVjdGUgIgotIsKra2VlcMK7IgotCi0jOiBjb25maWcuYzoyMjc2CisjOiBjb25maWcuYzoyMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgInNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSB2YWx1ZSAnJWQnIHNob3VsZCBiZSBiZXR3ZWVuIDAgYW5kIDEwMCIKIG1zZ3N0ciAidmFsb3IgwqslZMK7IGEgc3BsaXRJbmRleC5tYXhQZXJjZW50Q2hhbmdlIGhhIGQnZXN0YXIgZW50cmUgMCBpIDEwMCIKIAotIzogY29uZmlnLmM6MjMxOQorIzogY29uZmlnLmM6MjM1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyVzJyBmcm9tIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIMKrJXPCuyBkZSBsYSBjb25maWd1cmFjacOzIGRlIGxhIGzDrW5pYSBkJ29yZHJlcyIKIAotIzogY29uZmlnLmM6MjMyMQorIzogY29uZmlnLmM6MjM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIHZhcmlhYmxlICclcycgaW4gZmlsZSAnJXMnIGF0IGxpbmUgJWQiCiBtc2dzdHIgInZhcmlhYmxlIGRlIGNvbmZpZ3VyYWNpw7Mgwqslc8K7IGVycsOybmlhIGVuIGVsIGZpdHhlciDCqyVzwrsgYSBsYSBsw61uaWEgJWQiCiAKLSM6IGNvbmZpZy5jOjI0MDIKKyM6IGNvbmZpZy5jOjI0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzZWN0aW9uIG5hbWUgJyVzJyIKIG1zZ3N0ciAibm9tIGRlIHNlY2Npw7Mgbm8gdsOgbGlkIMKrJXPCuyIKIAotIzogY29uZmlnLmM6MjQzNAorIzogY29uZmlnLmM6MjQ3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbXVsdGlwbGUgdmFsdWVzIgogbXNnc3RyICIlcyB0w6kgbcO6bHRpcGxlcyB2YWxvcnMiCiAKLSM6IGNvbmZpZy5jOjI0NjMKKyM6IGNvbmZpZy5jOjI1MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIG5ldyBjb25maWd1cmF0aW9uIGZpbGUgJXMiCiBtc2dzdHIgIm5vIGVzIHBvdCBlc2NyaXVyZSB1biBub3UgZml0eGVyIGRlIGNvbmZpZ3VyYWNpw7MgJXMiCiAKLSM6IGNvbmZpZy5jOjI3MTQgY29uZmlnLmM6MzAzOAorIzogY29uZmlnLmM6Mjc1MyBjb25maWcuYzozMDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb2NrIGNvbmZpZyBmaWxlICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGJsb2NhciBlbCBmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyAlcyIKIAotIzogY29uZmlnLmM6MjcyNQorIzogY29uZmlnLmM6Mjc2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJvcGVuaW5nICVzIgogbXNnc3RyICJzJ2VzdMOgIG9icmludCAlcyIKIAotIzogY29uZmlnLmM6Mjc2MCBidWlsdGluL2NvbmZpZy5jOjMyNworIzogY29uZmlnLmM6Mjc5OSBidWlsdGluL2NvbmZpZy5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHBhdHRlcm46ICVzIgogbXNnc3RyICJwYXRyw7Mgbm8gdsOgbGlkOiAlcyIKIAotIzogY29uZmlnLmM6Mjc4NQorIzogY29uZmlnLmM6MjgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbmZpZyBmaWxlICVzIgotbXNnc3RyICJmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyB2w6BsaWQgJXMiCittc2dzdHIgImZpdHhlciBkZSBjb25maWd1cmFjacOzIG5vIHbDoGxpZCAlcyIKIAotIzogY29uZmlnLmM6Mjc5OCBjb25maWcuYzozMDUxCisjOiBjb25maWcuYzoyODM3IGNvbmZpZy5jOjMwOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZnN0YXQgb24gJXMgZmFpbGVkIgotbXNnc3RyICJoYSBmYWxsYXQgZnN0YXQgYSAlcyIKK21zZ3N0ciAiaGEgZmFsbGF0IMKrZnN0YXTCuyBhICVzIgogCi0jOiBjb25maWcuYzoyODA5Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGNvbmZpZy5jOjI4NDgKKyMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1tYXAgJyVzJyIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBhY2NlZGlyIGEgwqslc8K7IgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGZlciDCq21tYXDCuyDCqyVzwrsiCiAKLSM6IGNvbmZpZy5jOjI4MTggY29uZmlnLmM6MzA1NgorIzogY29uZmlnLmM6Mjg1NyBjb25maWcuYzozMDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNobW9kIG9uICVzIGZhaWxlZCIKIG1zZ3N0ciAiaGEgZmFsbGF0IGNobW9kIGEgJXMiCiAKLSM6IGNvbmZpZy5jOjI5MDMgY29uZmlnLmM6MzE1MworIzogY29uZmlnLmM6Mjk0MiBjb25maWcuYzozMTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBjb25maWcgZmlsZSAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbCBmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyDCqyVzwrsiCiAKLSM6IGNvbmZpZy5jOjI5MzcKKyM6IGNvbmZpZy5jOjI5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCAnJXMnIHRvICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgwqslc8K7IGEgwqslc8K7IgogCi0jOiBjb25maWcuYzoyOTM5IGJ1aWx0aW4vcmVtb3RlLmM6NzgyCisjOiBjb25maWcuYzoyOTc4IGJ1aWx0aW4vcmVtb3RlLmM6NzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1bnNldCAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGRlc2Fzc2lnbmFyIMKrJXPCuyIKIAotIzogY29uZmlnLmM6MzAyOQorIzogY29uZmlnLmM6MzA2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNlY3Rpb24gbmFtZTogJXMiCiBtc2dzdHIgIm5vbSBkZSBzZWNjacOzIG5vIHbDoGxpZGE6ICVzIgogCi0jOiBjb25maWcuYzozMTk2CisjOiBjb25maWcuYzozMjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3NpbmcgdmFsdWUgZm9yICclcyciCiBtc2dzdHIgImZhbHRhIGVsIHZhbG9yIHBlciDCqyVzwrsiCkBAIC0xODM4LDcgKzI0NjEsNyBAQAogIzogY29ubmVjdC5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJzZXJ2ZXIgZG9lc24ndCBzdXBwb3J0IGZlYXR1cmUgJyVzJyIKLW1zZ3N0ciAiZWwgc2Vydmlkb3Igbm8gZXMgY29tcGF0aWJsZSBhbWIgbGEgY2FyYWN0ZXLDrXN0aWNhIMKrJXPCuyIKK21zZ3N0ciAiZWwgc2Vydmlkb3Igbm8gw6lzIGNvbXBhdGlibGUgYW1iIGxhIGNhcmFjdGVyw61zdGljYSDCqyVzwrsiCiAKICM6IGNvbm5lY3QuYzoxMTQKIG1zZ2lkICJleHBlY3RlZCBmbHVzaCBhZnRlciBjYXBhYmlsaXRpZXMiCkBAIC0xODU0LDY1ICsyNDc3LDYzIEBACiBtc2dzdHIgIiIKIAogIzogY29ubmVjdC5jOjI3MwotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgInByb3RvY29sIGVycm9yOiBleHBlY3RlZCBzaGFsbG93IHNoYS0xLCBnb3QgJyVzJyIKLW1zZ3N0ciAicydlc3BlcmF2YSBzaGFsbG93L3Vuc2hhbGxvdywgcydoYSByZWJ1dCAlcyIKK21zZ3N0ciAiIgorInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZGUgcHJvdG9jb2w6IHMnZXNwZXJhdmEgc2hhbGxvdyBzaGEtMSwgcydoYSByZWJ1dCDCqyVzwrsiCiAKICM6IGNvbm5lY3QuYzoyNzUKIG1zZ2lkICJyZXBvc2l0b3J5IG9uIHRoZSBvdGhlciBlbmQgY2Fubm90IGJlIHNoYWxsb3ciCiBtc2dzdHIgIiIKIAotIzogY29ubmVjdC5jOjMxMCBmZXRjaC1wYWNrLmM6MTgyIGJ1aWx0aW4vYXJjaGl2ZS5jOjYzCi0jLCBjLWZvcm1hdAotbXNnaWQgInJlbW90ZSBlcnJvcjogJXMiCi1tc2dzdHIgImVycm9yIHJlbW90OiAlcyIKLQotIzogY29ubmVjdC5jOjMxNgorIzogY29ubmVjdC5jOjMxMwogbXNnaWQgImludmFsaWQgcGFja2V0IgogbXNnc3RyICJwYXF1ZXQgbm8gdsOgbGlkIgogCi0jOiBjb25uZWN0LmM6MzM2Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGNvbm5lY3QuYzozMzMKKyMsIGMtZm9ybWF0CiBtc2dpZCAicHJvdG9jb2wgZXJyb3I6IHVuZXhwZWN0ZWQgJyVzJyIKLW1zZ3N0ciAiZXJyb3IgZGUgcHJvdG9jb2w6IGNhcMOnYWxlcmEgZGUgcGFxdWV0IGVycsOybmlhIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGRlIHByb3RvY29sOiBubyBzJ2VzcGVyYXZhIMKrJXPCuyIKIAotIzogY29ubmVjdC5jOjQ0NAotIywgZnV6enksIGMtZm9ybWF0CisjOiBjb25uZWN0LmM6NDQxCisjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbHMtcmVmcyByZXNwb25zZTogJXMiCi1tc2dzdHIgInJlZmVyw6huY2lhIG5vIHbDoGxpZGE6ICVzIgorbXNnc3RyICJyZXNwb3N0YSBkZSBscy1yZWZzIG5vIHbDoGxpZGE6ICVzIgogCi0jOiBjb25uZWN0LmM6NDQ4CisjOiBjb25uZWN0LmM6NDQ1CiBtc2dpZCAiZXhwZWN0ZWQgZmx1c2ggYWZ0ZXIgcmVmIGxpc3RpbmciCiBtc2dzdHIgIiIKIAotIzogY29ubmVjdC5jOjU0NworIzogY29ubmVjdC5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm90b2NvbCAnJXMnIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgImVsIHByb3RvY29sIMKrJXPCuyBubyDDqXMgY29tcGF0aWJsZSIKIAotIzogY29ubmVjdC5jOjU5OAorIzogY29ubmVjdC5jOjU5NQogbXNnaWQgInVuYWJsZSB0byBzZXQgU09fS0VFUEFMSVZFIG9uIHNvY2tldCIKLW1zZ3N0ciAiIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzdGFibGlyIFNPX0tFRVBBTElWRSBhbCBzw7Jjb2wiCiAKLSM6IGNvbm5lY3QuYzo2MzggY29ubmVjdC5jOjcwMQotIywgZnV6enksIGMtZm9ybWF0CisjOiBjb25uZWN0LmM6NjM1IGNvbm5lY3QuYzo2OTgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiTG9va2luZyB1cCAlcyAuLi4gIgotbXNnc3RyICJTJ2VzdMOgIGNvbXByb3ZhbnQgZWwgcGVkYcOnICVzLi4uIgorbXNnc3RyICJTJ2VzdMOgIGNlcmNhbnQgJXMuLi4iCiAKLSM6IGNvbm5lY3QuYzo2NDIKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogY29ubmVjdC5jOjYzOQorIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbG9vayB1cCAlcyAocG9ydCAlcykgKCVzKSIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBtb3VyZSAlcyBhICVzIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHRyb2JhciAlcyAocG9ydCAlcykgKCVzKSIKIAogIy4gVFJBTlNMQVRPUlM6IHRoaXMgaXMgdGhlIGVuZCBvZiAiTG9va2luZyB1cCAlcyAuLi4gIgotIzogY29ubmVjdC5jOjY0NiBjb25uZWN0LmM6NzE3CisjOiBjb25uZWN0LmM6NjQzIGNvbm5lY3QuYzo3MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImRvbmUuXG4iCiAiQ29ubmVjdGluZyB0byAlcyAocG9ydCAlcykgLi4uICIKIG1zZ3N0ciAiIgorImZldC5cbiIKKyJTJ2VzdMOgIGNvbm5lY3RhbnQgYSAlcyAocG9ydCAlcykgLi4uICIKIAotIzogY29ubmVjdC5jOjY2OCBjb25uZWN0LmM6NzQ1CisjOiBjb25uZWN0LmM6NjY1IGNvbm5lY3QuYzo3NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInVuYWJsZSB0byBjb25uZWN0IHRvICVzOlxuIgpAQCAtMTkyMiw3NSArMjU0Myw3NSBAQAogIiVzIgogCiAjLiBUUkFOU0xBVE9SUzogdGhpcyBpcyB0aGUgZW5kIG9mICJDb25uZWN0aW5nIHRvICVzIChwb3J0ICVzKSAuLi4gIgotIzogY29ubmVjdC5jOjY3NCBjb25uZWN0LmM6NzUxCisjOiBjb25uZWN0LmM6NjcxIGNvbm5lY3QuYzo3NDgKIG1zZ2lkICJkb25lLiIKIG1zZ3N0ciAiZmV0LiIKIAotIzogY29ubmVjdC5jOjcwNQotIywgZnV6enksIGMtZm9ybWF0CisjOiBjb25uZWN0LmM6NzAyCisjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBsb29rIHVwICVzICglcykiCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgJXM6ICVzXG4iCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgdHJvYmFyICVzICglcykiCiAKLSM6IGNvbm5lY3QuYzo3MTEKKyM6IGNvbm5lY3QuYzo3MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBwb3J0ICVzIgogbXNnc3RyICJwb3J0IGRlc2NvbmVndXQgJXMiCiAKLSM6IGNvbm5lY3QuYzo4NDggY29ubmVjdC5jOjExNzQKKyM6IGNvbm5lY3QuYzo4NDUgY29ubmVjdC5jOjExNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RyYW5nZSBob3N0bmFtZSAnJXMnIGJsb2NrZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAicydoYSBibG9xdWVqYXQgZWwgbm9tIGVzdHJhbnkgZCdhbWZpdHJpw7Mgwqslc8K7IgogCi0jOiBjb25uZWN0LmM6ODUwCisjOiBjb25uZWN0LmM6ODQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0cmFuZ2UgcG9ydCAnJXMnIGJsb2NrZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAicydoYSBibG9xdWVqYXQgZWwgcG9ydCBlc3RyYW55IMKrJXPCuyIKIAotIzogY29ubmVjdC5jOjg2MAotIywgZnV6enksIGMtZm9ybWF0CisjOiBjb25uZWN0LmM6ODU3CisjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGFydCBwcm94eSAlcyIKLW1zZ3N0ciAibm8gZXMgcG90IGZlciBzdGF0IGVuIMKrJXPCuyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBpbmljaWFyIHNlcnZpZG9yIGludGVybWVkaWFyaSDCqyVzwrsiCiAKLSM6IGNvbm5lY3QuYzo5MjcKKyM6IGNvbm5lY3QuYzo5MjgKIG1zZ2lkICJubyBwYXRoIHNwZWNpZmllZDsgc2VlICdnaXQgaGVscCBwdWxsJyBmb3IgdmFsaWQgdXJsIHN5bnRheCIKIG1zZ3N0ciAiIgorIm5vIHMnaGEgZXNwZWNpZmljYXQgdW4gY2Ftw607IHZlZ2V1IMKrZ2l0IGhlbHAgcHVsbMK7IHBlciBsYSBzaW50YXhpIHbDoGxpZGEgcGVyICIKKyJVUkwiCiAKLSM6IGNvbm5lY3QuYzoxMTIyCisjOiBjb25uZWN0LmM6MTEyMwogbXNnaWQgInNzaCB2YXJpYW50ICdzaW1wbGUnIGRvZXMgbm90IHN1cHBvcnQgLTQiCi1tc2dzdHIgIiIKK21zZ3N0ciAibGEgdmFyaWFudCDCq3NpbXBsZcK7IGQnc3NoIG5vIMOpcyBjb21wYXRpYmxlIGFtYiAtNCIKIAotIzogY29ubmVjdC5jOjExMzQKKyM6IGNvbm5lY3QuYzoxMTM1CiBtc2dpZCAic3NoIHZhcmlhbnQgJ3NpbXBsZScgZG9lcyBub3Qgc3VwcG9ydCAtNiIKLW1zZ3N0ciAiIgorbXNnc3RyICJsYSB2YXJpYW50IMKrc2ltcGxlwrsgZCdzc2ggbm8gw6lzIGNvbXBhdGlibGUgYW1iIC02IgogCi0jOiBjb25uZWN0LmM6MTE1MQotIywgZnV6enkKKyM6IGNvbm5lY3QuYzoxMTUyCiBtc2dpZCAic3NoIHZhcmlhbnQgJ3NpbXBsZScgZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHBvcnQiCi1tc2dzdHIgImVsIGRlc3TDrSByZWNlcHRvciBubyBhZG1ldCBwdWphciAtLXNpZ25lZCIKK21zZ3N0ciAibGEgdmFyaWFudCDCq3NpbXBsZcK7IGQnc3NoIG5vIHBlcm1ldCBkZWZpbmlyIGVsIHBvcnQiCiAKLSM6IGNvbm5lY3QuYzoxMjYyCisjOiBjb25uZWN0LmM6MTI2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJzdHJhbmdlIHBhdGhuYW1lICclcycgYmxvY2tlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJzJ2hhIGJsb3F1ZWphdCBlbCBub20gZGUgZml0eGVyIGVzdHJhbnkgwqslc8K7IgogCi0jOiBjb25uZWN0LmM6MTMwNwotIywgZnV6enkKKyM6IGNvbm5lY3QuYzoxMzExCiBtc2dpZCAidW5hYmxlIHRvIGZvcmsiCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgJXMiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYmlmdXJjYXIiCiAKLSM6IGNvbm5lY3RlZC5jOjY4IGJ1aWx0aW4vZnNjay5jOjIwMiBidWlsdGluL3BydW5lLmM6MTQ3CisjOiBjb25uZWN0ZWQuYzo4OSBidWlsdGluL2ZzY2suYzoyMDggYnVpbHRpbi9wcnVuZS5jOjQzCiBtc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5IgogbXNnc3RyICJTJ2VzdMOgIGNvbXByb3ZhbnQgbGEgY29ubmVjdGl2aXRhdCIKIAotIzogY29ubmVjdGVkLmM6ODAKKyM6IGNvbm5lY3RlZC5jOjEwMQogbXNnaWQgIkNvdWxkIG5vdCBydW4gJ2dpdCByZXYtbGlzdCciCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgJ2dpdCByZXYtbGlzdCciCiAKLSM6IGNvbm5lY3RlZC5jOjEwMAorIzogY29ubmVjdGVkLmM6MTIxCiBtc2dpZCAiZmFpbGVkIHdyaXRlIHRvIHJldi1saXN0IgogbXNnc3RyICJlc2NyaXB0dXJhIGZhbGxhZGEgYWwgcmV2LWxpc3QiCiAKLSM6IGNvbm5lY3RlZC5jOjEwNworIzogY29ubmVjdGVkLmM6MTI4CiBtc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW4iCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gdGFuY2FyIGwnc3RkaW4gZGVsIHJldi1saXN0IgogCkBAIC0yMDAwLDE3MSArMjYyMSwxNzAgQEAKIG1zZ3N0ciAiIgogCiAjOiBjb252ZXJ0LmM6MjA3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiQ1JMRiB3b3VsZCBiZSByZXBsYWNlZCBieSBMRiBpbiAlcyIKLW1zZ3N0ciAiTEYgcmVlbXBsYcOnYXJpYSBDUkxGIGVuICVzLiIKK21zZ3N0ciAiQ1JMRiBlcyByZWVtcGxhw6fDoCBwZXIgTEYgZW4gJXMiCiAKICM6IGNvbnZlcnQuYzoyMDkKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ1JMRiB3aWxsIGJlIHJlcGxhY2VkIGJ5IExGIGluICVzLlxuIgogIlRoZSBmaWxlIHdpbGwgaGF2ZSBpdHMgb3JpZ2luYWwgbGluZSBlbmRpbmdzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKLSJMRiByZWVtcGxhw6dhcsOgIENSTEYgZW4gJXMuXG4iCisiQ1JMRiBzZXLDoCByZWVtcGxhw6dhdCBwZXIgTEYgZW4gJXMuXG4iCiAiRWwgZml0eGVyIHRpbmRyw6AgZWxzIHNldXMgdGVybWluYWRvcnMgZGUgbMOtbmlhIG9yaWdpbmFscyBlbiBlbCB2b3N0cmUgIgotImRpcmVjdG9yaSBkZSB0cmViYWxsLiIKKyJkaXJlY3RvcmkgZGUgdHJlYmFsbCIKIAogIzogY29udmVydC5jOjIxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJMRiB3b3VsZCBiZSByZXBsYWNlZCBieSBDUkxGIGluICVzIgotbXNnc3RyICJDUkxGIHJlZW1wbGHDp2FyaWEgTEYgZW4gJXMiCittc2dzdHIgIkxGIGVzIHJlZW1wbGHDp8OgIHBlciBMRiBlbiAlcyIKIAogIzogY29udmVydC5jOjIxOQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJMRiB3aWxsIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMuXG4iCiAiVGhlIGZpbGUgd2lsbCBoYXZlIGl0cyBvcmlnaW5hbCBsaW5lIGVuZGluZ3MgaW4geW91ciB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgotIkNSTEYgcmVlbXBsYcOnYXLDoCBMRiBlbiAlcy5cbiIKKyJMRiBzZXLDoCByZWVtcGxhw6dhdCBwZXIgQ1JMRiBlbiAlcy5cbiIKICJFbCBmaXR4ZXIgdGluZHLDoCBlbHMgc2V1cyB0ZXJtaW5hZG9ycyBkZSBsw61uaWEgb3JpZ2luYWxzIGVuIGVsIHZvc3RyZSAiCi0iZGlyZWN0b3JpIGRlIHRyZWJhbGwuIgorImRpcmVjdG9yaSBkZSB0cmViYWxsIgogCi0jOiBjb252ZXJ0LmM6MjgwCisjOiBjb252ZXJ0LmM6Mjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJPTSBpcyBwcm9oaWJpdGVkIGluICclcycgaWYgZW5jb2RlZCBhcyAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6Mjg3CisjOiBjb252ZXJ0LmM6MjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJUaGUgZmlsZSAnJXMnIGNvbnRhaW5zIGEgYnl0ZSBvcmRlciBtYXJrIChCT00pLiBQbGVhc2UgdXNlIFVURi0lcyBhcyB3b3JraW5nLSIKLSJ0cmVlLWVuY29kaW5nLiIKKyJUaGUgZmlsZSAnJXMnIGNvbnRhaW5zIGEgYnl0ZSBvcmRlciBtYXJrIChCT00pLiBQbGVhc2UgdXNlIFVURi0lLipzIGFzICIKKyJ3b3JraW5nLXRyZWUtZW5jb2RpbmcuIgogbXNnc3RyICIiCiAKLSM6IGNvbnZlcnQuYzozMDUKKyM6IGNvbnZlcnQuYzozMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQk9NIGlzIHJlcXVpcmVkIGluICclcycgaWYgZW5jb2RlZCBhcyAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6MzA3CisjOiBjb252ZXJ0LmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZmlsZSAnJXMnIGlzIG1pc3NpbmcgYSBieXRlIG9yZGVyIG1hcmsgKEJPTSkuIFBsZWFzZSB1c2UgVVRGLSVzQkUgb3IgVVRGLSIKICIlc0xFIChkZXBlbmRpbmcgb24gdGhlIGJ5dGUgb3JkZXIpIGFzIHdvcmtpbmctdHJlZS1lbmNvZGluZy4iCiBtc2dzdHIgIiIKIAotIzogY29udmVydC5jOjQyNSBjb252ZXJ0LmM6NDk2Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGNvbnZlcnQuYzo0MTkgY29udmVydC5jOjQ5MAorIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZW5jb2RlICclcycgZnJvbSAlcyB0byAlcyIKLW1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjb3BpYXIgbGVzIG5vdGVzIGRlIMKrJXPCuyBhIMKrJXPCuyIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjb2RpZmljYXIgwqslc8K7IGRlcyBkZSAlcyBhICVzIgogCi0jOiBjb252ZXJ0LmM6NDY4CisjOiBjb252ZXJ0LmM6NDYyCiAjLCBjLWZvcm1hdAogbXNnaWQgImVuY29kaW5nICclcycgZnJvbSAlcyB0byAlcyBhbmQgYmFjayBpcyBub3QgdGhlIHNhbWUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiY29kaWZpY2FyIMKrJXPCuyBkZXMgZGUgJXMgYSAlcyBpIGNhcCBlbnJlcmUgbm8gw6lzIGVsIG1hdGVpeCIKIAotIzogY29udmVydC5jOjY3NAotIywgZnV6enksIGMtZm9ybWF0CisjOiBjb252ZXJ0LmM6NjY4CisjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmb3JrIHRvIHJ1biBleHRlcm5hbCBmaWx0ZXIgJyVzJyIKLW1zZ3N0ciAiTm8gZXMgcG90IG9icmlyIGVsIGZpdHhlciBkZSBwYXF1ZXQgZXhpc3RlbnQgwqslc8K7IgorbXNnc3RyICJubyBlcyBwb3QgYmlmdXJjYXIgcGVyIGEgZXhlY3V0YXIgZWwgZmlsdHJlIGV4dGVybiDCqyVzwrsiCiAKLSM6IGNvbnZlcnQuYzo2OTQKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogY29udmVydC5jOjY4OAorIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmVlZCB0aGUgaW5wdXQgdG8gZXh0ZXJuYWwgZmlsdGVyICclcyciCi1tc2dzdHIgIm5vIGVzIHBvZGVuIGxsZWdpciBlbHMgY29udGluZ3V0cyBhY3R1YWxzIGRlIMKrJXPCuyIKK21zZ3N0ciAibm8gZXMgcG90IGFsaW1lbnRhciBsJ2VudHJhZGEgYWwgZmlsdHJlIGV4dGVybiDCqyVzwrsiCiAKLSM6IGNvbnZlcnQuYzo3MDEKKyM6IGNvbnZlcnQuYzo2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkICVkIgogbXNnc3RyICJlbCBmaWx0cmUgZXh0ZXJuIMKrJXPCuyBoYSBmYWxsYXQgJWQiCiAKLSM6IGNvbnZlcnQuYzo3MzYgY29udmVydC5jOjczOQorIzogY29udmVydC5jOjczMCBjb252ZXJ0LmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZnJvbSBleHRlcm5hbCBmaWx0ZXIgJyVzJyBmYWlsZWQiCiBtc2dzdHIgImxhIGxlY3R1cmEgZGVsIGZpbHRyZSBleHRlcm4gwqslc8K7IGhhIGZhbGxhdCIKIAotIzogY29udmVydC5jOjc0MiBjb252ZXJ0LmM6Nzk2CisjOiBjb252ZXJ0LmM6NzM2IGNvbnZlcnQuYzo3OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkIgogbXNnc3RyICJlbCBmaWx0cmUgZXh0ZXJuIMKrJXPCuyBoYSBmYWxsYXQiCiAKLSM6IGNvbnZlcnQuYzo4NDQKLSMsIGZ1enp5CisjOiBjb252ZXJ0LmM6ODM5CiBtc2dpZCAidW5leHBlY3RlZCBmaWx0ZXIgdHlwZSIKLW1zZ3N0ciAiZmluYWwgZGUgZml0eGVyIGluZXNwZXJhdCIKK21zZ3N0ciAidGlwdXMgZGUgZmlsdHJlIGluZXNwZXJhdCIKIAotIzogY29udmVydC5jOjg1NQorIzogY29udmVydC5jOjg1MAogbXNnaWQgInBhdGggbmFtZSB0b28gbG9uZyBmb3IgZXh0ZXJuYWwgZmlsdGVyIgogbXNnc3RyICIiCiAKLSM6IGNvbnZlcnQuYzo5MjkKKyM6IGNvbnZlcnQuYzo5MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4dGVybmFsIGZpbHRlciAnJXMnIGlzIG5vdCBhdmFpbGFibGUgYW55bW9yZSBhbHRob3VnaCBub3QgYWxsIHBhdGhzIGhhdmUgIgogImJlZW4gZmlsdGVyZWQiCiBtc2dzdHIgIiIKIAotIzogY29udmVydC5jOjEyMjgKKyM6IGNvbnZlcnQuYzoxMjIzCiBtc2dpZCAidHJ1ZS9mYWxzZSBhcmUgbm8gdmFsaWQgd29ya2luZy10cmVlLWVuY29kaW5ncyIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6MTM5OCBjb252ZXJ0LmM6MTQzMgotIywgZnV6enksIGMtZm9ybWF0CisjOiBjb252ZXJ0LmM6MTQxMSBjb252ZXJ0LmM6MTQ0NQorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2xlYW4gZmlsdGVyICclcycgZmFpbGVkIgotbXNnc3RyICJsYSBjcmVhY2nDsyBkZSDCqyVzwrsgaGEgZmFsbGF0IgorbXNnc3RyICIlczogZWwgZmlsdHJlIGRlIG5ldGVqYXQgwqslc8K7IGhhIGZhbGxhdCIKIAotIzogY29udmVydC5jOjE0NzYKKyM6IGNvbnZlcnQuYzoxNDg5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogc211ZGdlIGZpbHRlciAlcyBmYWlsZWQiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYWN0dWFsaXR6YXIgZWxzIGZpdHhlcnMiCiAKLSM6IGRhdGUuYzoxMTYKKyM6IGRhdGUuYzoxMzgKIG1zZ2lkICJpbiB0aGUgZnV0dXJlIgogbXNnc3RyICJlbiBlbCBmdXR1ciIKIAotIzogZGF0ZS5jOjEyMgorIzogZGF0ZS5jOjE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHNlY29uZCBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gc2Vjb25kcyBhZ28iCiBtc2dzdHJbMF0gImZhICU8UFJJdU1BWD4gc2Vnb24iCiBtc2dzdHJbMV0gImZhICU8UFJJdU1BWD4gc2Vnb25zIgogCi0jOiBkYXRlLmM6MTI5CisjOiBkYXRlLmM6MTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiU8UFJJdU1BWD4gbWludXRlIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBtaW51dGVzIGFnbyIKIG1zZ3N0clswXSAiZmEgJTxQUkl1TUFYPiBtaW51dCIKIG1zZ3N0clsxXSAiZmEgJTxQUkl1TUFYPiBtaW51dHMiCiAKLSM6IGRhdGUuYzoxMzYKKyM6IGRhdGUuYzoxNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBob3VyIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBob3VycyBhZ28iCiBtc2dzdHJbMF0gImZhICU8UFJJdU1BWD4gaG9yYSIKIG1zZ3N0clsxXSAiZmEgJTxQUkl1TUFYPiBob3JlcyIKIAotIzogZGF0ZS5jOjE0MworIzogZGF0ZS5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IGRheSBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gZGF5cyBhZ28iCiBtc2dzdHJbMF0gImZhICU8UFJJdU1BWD4gZGlhIgogbXNnc3RyWzFdICJmYSAlPFBSSXVNQVg+IGRpZXMiCiAKLSM6IGRhdGUuYzoxNDkKKyM6IGRhdGUuYzoxNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiB3ZWVrIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB3ZWVrcyBhZ28iCiBtc2dzdHJbMF0gImZhICU8UFJJdU1BWD4gc2V0bWFuYSIKIG1zZ3N0clsxXSAiZmEgJTxQUkl1TUFYPiBzZXRtYW5lcyIKIAotIzogZGF0ZS5jOjE1NgorIzogZGF0ZS5jOjE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IG1vbnRoIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBtb250aHMgYWdvIgogbXNnc3RyWzBdICJmYSAlPFBSSXVNQVg+IG1lcyIKIG1zZ3N0clsxXSAiZmEgJTxQUkl1TUFYPiBtZXNvcyIKIAotIzogZGF0ZS5jOjE2NworIzogZGF0ZS5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHllYXIiCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4geWVhcnMiCkBAIC0yMTcyLDk3ICsyNzkyLDEwOCBAQAogbXNnc3RyWzFdICIlPFBSSXVNQVg+IGFueXMiCiAKICMuIFRSQU5TTEFUT1JTOiAiJXMiIGlzICI8bj4geWVhcnMiCi0jOiBkYXRlLmM6MTcwCisjOiBkYXRlLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCAlPFBSSXVNQVg+IG1vbnRoIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJXMsICU8UFJJdU1BWD4gbW9udGhzIGFnbyIKIG1zZ3N0clswXSAiZmEgJXMgaSAlPFBSSXVNQVg+IG1lcyIKIG1zZ3N0clsxXSAiZmEgJXMgaSAlPFBSSXVNQVg+IG1lc29zIgogCi0jOiBkYXRlLmM6MTc1IGRhdGUuYzoxODAKKyM6IGRhdGUuYzoxOTcgZGF0ZS5jOjIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHllYXIgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIGFnbyIKIG1zZ3N0clswXSAiZmEgJTxQUkl1TUFYPiBhbnkiCiBtc2dzdHJbMV0gImZhICU8UFJJdU1BWD4gYW55cyIKIAotIzogZGVsdGEtaXNsYW5kcy5jOjI2OAorIzogZGVsdGEtaXNsYW5kcy5jOjI3MgogbXNnaWQgIlByb3BhZ2F0aW5nIGlzbGFuZCBtYXJrcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJTJ2VzdGFuIHByb3BhZ2FudCBsZXMgbWFycXVlcyBkJ2lsbGEiCiAKLSM6IGRlbHRhLWlzbGFuZHMuYzoyODYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogZGVsdGEtaXNsYW5kcy5jOjI5MAorIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgdHJlZSBvYmplY3QgJXMiCi1tc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbGxlZ2lyIGwnb2JqZWN0ZSDCqyVzwrsuIgorbXNnc3RyICJvYmplY3RlIGQnYXJicmUgbWFsbcOocyAlcyIKIAotIzogZGVsdGEtaXNsYW5kcy5jOjMzMAotIywgZnV6enksIGMtZm9ybWF0CisjOiBkZWx0YS1pc2xhbmRzLmM6MzM0CisjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBsb2FkIGlzbGFuZCByZWdleCBmb3IgJyVzJzogJXMiCi1tc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIGwnYXJicmUgZGUgJXMuIgorbXNnc3RyICIiCisicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjYXJyZWdhciBsJ2V4cHJlc3Npw7MgcmVndWxhciBkZSBsJ2lsbGEgcGVyIMKrJXPCuzogJXMiCiAKLSM6IGRlbHRhLWlzbGFuZHMuYzozODYKKyM6IGRlbHRhLWlzbGFuZHMuYzozOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaXNsYW5kIHJlZ2V4IGZyb20gY29uZmlnIGhhcyB0b28gbWFueSBjYXB0dXJlIGdyb3VwcyAobWF4PSVkKSIKIG1zZ3N0ciAiIgorImwnZXhwcmVzc2nDsyByZWd1bGFyIGRlIGwnaWxsYSBkZXMgZGUgbGEgY29uZmlndXJhY2nDsyB0w6kgbWFzc2EgZ3J1cHMgZGUgIgorImNhcHR1cmEgKG3DoHg9JWQpIgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6NDYyCisjOiBkZWx0YS1pc2xhbmRzLmM6NDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hcmtlZCAlZCBpc2xhbmRzLCBkb25lLlxuIgotbXNnc3RyICIiCittc2dzdHIgIk1hcmNhZGVzICVkIGlsbGVzLCBmZXQuXG4iCiAKICM6IGRpZmZjb3JlLW9yZGVyLmM6MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgb3JkZXJmaWxlICclcyciCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbGxlZ2lyIGVsIGZpdHhlciBkJ29yZHJlcyDCqyVzwrsiCiAKLSM6IGRpZmZjb3JlLXJlbmFtZS5jOjU0NAorIzogZGlmZmNvcmUtcmVuYW1lLmM6NTQzCiBtc2dpZCAiUGVyZm9ybWluZyBpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24iCiBtc2dzdHIgIlMnZXN0w6AgcmVhbGl0emFudCB1bmEgZGV0ZWNjacOzIGluZXhhY3RhIGRlIGNhbnZpcyBkZSBub20iCiAKLSM6IGRpZmYuYzoxMDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYSB2YWx1ZSIKLW1zZ3N0ciAibCdvcGNpw7Mgwqslc8K7IHJlcXVlcmVpeCB1biB2YWxvciIKKyM6IGRpZmYtbm8taW5kZXguYzoyMzgKK21zZ2lkICJnaXQgZGlmZiAtLW5vLWluZGV4IFs8b3B0aW9ucz5dIDxwYXRoPiA8cGF0aD4iCittc2dzdHIgImdpdCBkaWZmIC0tbm8taW5kZXggWzxvcGNpb25zPl0gPGNhbcOtPiA8Y2Ftw60+IgogCi0jOiBkaWZmLmM6MTU4CisjOiBkaWZmLW5vLWluZGV4LmM6MjYzCittc2dpZCAiIgorIk5vdCBhIGdpdCByZXBvc2l0b3J5LiBVc2UgLS1uby1pbmRleCB0byBjb21wYXJlIHR3byBwYXRocyBvdXRzaWRlIGEgd29ya2luZyAiCisidHJlZSIKK21zZ3N0ciAiIgorIk5vIMOpcyB1biBkaXDDsnNpdCBHaXQuIFVzZXUgLS1uby1pbmRleCBwZXIgYSBjb21wYXJhciBkb3MgY2FtaW5zIGZvcmEgZGVsICIKKyJkaXJlY3RvcmkgZGUgdHJlYmFsbCIKKworIzogZGlmZi5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZhaWxlZCB0byBwYXJzZSBkaXJzdGF0IGN1dC1vZmYgcGVyY2VudGFnZSAnJXMnXG4iCiBtc2dzdHIgIiIKICIgIFMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYW5hbGl0emFyIGVsIHBlcmNlbnRhdGdlIGxpbWl0YW50IGRlIGRpcnN0YXQgIgogIsKrJXPCu1xuIgogCi0jOiBkaWZmLmM6MTYzCisjOiBkaWZmLmM6MTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgVW5rbm93biBkaXJzdGF0IHBhcmFtZXRlciAnJXMnXG4iCiBtc2dzdHIgIiAgUGFyw6BtZXRyZSBkZSBkaXJzdGF0IGRlc2NvbmVndXQgwqslc8K7XG4iCiAKLSM6IGRpZmYuYzoyOTEKLSMsIGZ1enp5CisjOiBkaWZmLmM6Mjk2CiBtc2dpZCAiIgogImNvbG9yIG1vdmVkIHNldHRpbmcgbXVzdCBiZSBvbmUgb2YgJ25vJywgJ2RlZmF1bHQnLCAnYmxvY2tzJywgJ3plYnJhJywgIgogIidkaW1tZWQtemVicmEnLCAncGxhaW4nIgogbXNnc3RyICIiCi0iZWwgcGFyw6BtZXRyZSBkZSBjb2xvciBlbiBtb3ZpbWVudCBoYSBkZSBzZXIgwqtub8K7LCDCq2RlZmF1bHTCuywgwqt6ZWJyYcK7LCAiCi0iwqtkaW1tZWRfemVicmHCuyBvIMKrcGxhaW7CuyIKKyJlbCBwYXLDoG1ldHJlIGRlIGNvbG9yIGVuIG1vdmltZW50IGhhIGRlIHNlciDCq25vwrssIMKrZGVmYXVsdMK7LCDCq2Jsb2Nrc8K7LCAiCisiwqt6ZWJyYcK7LCDCq2RpbW1lZC16ZWJyYcK7IG8gwqtwbGFpbsK7IgogCi0jOiBkaWZmLmM6MzE2CisjOiBkaWZmLmM6MzI0CiAjLCBjLWZvcm1hdAotbXNnaWQgImlnbm9yaW5nIHVua25vd24gY29sb3ItbW92ZWQtd3MgbW9kZSAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGRpZmYuYzozMjMKIG1zZ2lkICIiCi0iY29sb3ItbW92ZWQtd3M6IGFsbG93LWluZGVudGF0aW9uLWNoYW5nZSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB3aGl0ZSAiCi0ic3BhY2UgbW9kZXMiCisidW5rbm93biBjb2xvci1tb3ZlZC13cyBtb2RlICclcycsIHBvc3NpYmxlIHZhbHVlcyBhcmUgJ2lnbm9yZS1zcGFjZS1jaGFuZ2UnLCAiCisiJ2lnbm9yZS1zcGFjZS1hdC1lb2wnLCAnaWdub3JlLWFsbC1zcGFjZScsICdhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UnIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzozOTQKKyM6IGRpZmYuYzozMzIKK21zZ2lkICIiCisiY29sb3ItbW92ZWQtd3M6IGFsbG93LWluZGVudGF0aW9uLWNoYW5nZSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciAiCisid2hpdGVzcGFjZSBtb2RlcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdmFsdWUgZm9yICdkaWZmLnN1Ym1vZHVsZScgY29uZmlnIHZhcmlhYmxlOiAnJXMnIgogbXNnc3RyICIiCiAiVmFsb3IgZGVzY29uZWd1dCBkZSBsYSB2YXJpYWJsZSBkZSBjb25maWd1cmFjacOzIGRlICdkaWZmLnN1Ym1vZHVsZSc6IMKrJXPCuyIKIAotIzogZGlmZi5jOjQ1NAorIzogZGlmZi5jOjQ2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRm91bmQgZXJyb3JzIGluICdkaWZmLmRpcnN0YXQnIGNvbmZpZyB2YXJpYWJsZTpcbiIKQEAgLTIyNzEsMjQgKzI5MDIsMzUgQEAKICJTJ2hhbiB0cm9iYXQgZXJyb3JzIGVuIGxhIHZhcmlhYmxlIGRlIGNvbmZpZ3VyYWNpw7MgJ2RpZmYuZGlyc3RhdCc6XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzo0MTQwCisjOiBkaWZmLmM6NDIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJleHRlcm5hbCBkaWZmIGRpZWQsIHN0b3BwaW5nIGF0ICVzIgogbXNnc3RyICJlbCBkaWZmIGV4dGVybmFsIHMnaGEgbW9ydCwgcydlc3TDoCBhdHVyYW50IGEgJXMiCiAKLSM6IGRpZmYuYzo0NDgyCisjOiBkaWZmLmM6NDU0NwogbXNnaWQgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjayBpIC1zIHPDs24gbcO6dHVhbWVudCBleGNsb2VudHMiCiAKLSM6IGRpZmYuYzo0NDg1CisjOiBkaWZmLmM6NDU1MAogbXNnaWQgIi1HLCAtUyBhbmQgLS1maW5kLW9iamVjdCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItRywgLVMgYW5kIC0tZmluZC1vYmplY3Qgc8OzbiBtw7p0dWFtZW50IGV4Y2xvZW50cyIKIAotIzogZGlmZi5jOjQ1NjMKKyM6IGRpZmYuYzo0NjI4CiBtc2dpZCAiLS1mb2xsb3cgcmVxdWlyZXMgZXhhY3RseSBvbmUgcGF0aHNwZWMiCiBtc2dzdHIgIi0tZm9sbG93IHJlcXVlcmVpeCBleGFjdGFtZW50IHVuYSBlc3BlY2lmaWNhY2nDsyBkZSBjYW3DrSIKIAotIzogZGlmZi5jOjQ3MjkKKyM6IGRpZmYuYzo0Njc2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgLS1zdGF0IHZhbHVlOiAlcyIKK21zZ3N0ciAidmFsb3IgLS1zdGF0IG5vIHbDoGxpZDogJXMiCisKKyM6IGRpZmYuYzo0NjgxIGRpZmYuYzo0Njg2IGRpZmYuYzo0NjkxIGRpZmYuYzo0Njk2IGRpZmYuYzo1MjA5CisjOiBwYXJzZS1vcHRpb25zLmM6MTk5IHBhcnNlLW9wdGlvbnMuYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKK21zZ3N0ciAiJXMgZXNwZXJhIHVuIHZhbG9yIG51bcOocmljIgorCisjOiBkaWZmLmM6NDcxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIHBhcnNlIC0tZGlyc3RhdC8tWCBvcHRpb24gcGFyYW1ldGVyOlxuIgpAQCAtMjI5NywyMiArMjkzOSw0OTggQEAKICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGFuYWxpdHphciBlbCBwYXLDoG1ldHJlIGQnb3BjacOzIGRlIC0tZGlyc3RhdC8tWDpcbiIKICIlcyIKIAotIzogZGlmZi5jOjQ3NDMKKyM6IGRpZmYuYzo0Nzk4CiAjLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgorbXNnaWQgInVua25vd24gY2hhbmdlIGNsYXNzICclYycgaW4gLS1kaWZmLWZpbHRlcj0lcyIKK21zZ3N0ciAiY2xhc3NlIGRlIGNhbnZpIMKrJWPCuyBkZXNjb25lZ3VkYSBhIC0tZGlmZi1maWx0ZXI9JXMiCisKKyM6IGRpZmYuYzo0ODIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdmFsdWUgYWZ0ZXIgd3MtZXJyb3ItaGlnaGxpZ2h0PSUuKnMiCittc2dzdHIgInZhbG9yIGRlc2NvbmVndXQgZGVzcHLDqXMgZGUgd3MtZXJyb3ItaGlnaGxpZ2h0PSUuKnMiCisKKyM6IGRpZmYuYzo0ODM2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlICclcyciCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVzb2xkcmUgwqslc8K7IgorCisjOiBkaWZmLmM6NDg4NiBkaWZmLmM6NDg5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIDxuPi88bT4gZm9ybSIKIG1zZ3N0ciAiIgotIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYW5hbGl0emFyIGVsIHBhcsOgbWV0cmUgZCdvcGNpw7MgZGUgLS1zdWJtb2R1bGU6IMKrJXPCuyIKIAotIzogZGlmZi5jOjU4MjMKKyM6IGRpZmYuYzo0OTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGV4cGVjdHMgYSBjaGFyYWN0ZXIsIGdvdCAnJXMnIgorbXNnc3RyICIlcyBlc3BlcmF2YSB1biBjYXLDoGN0ZXIsIHMnaGEgcmVidXQgwqslc8K7IgorCisjOiBkaWZmLmM6NDkyNQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgLS1jb2xvci1tb3ZlZCBhcmd1bWVudDogJXMiCittc2dzdHIgInBhcsOgbWV0cmUgLS1jb2xvci1tb3ZlZCBpbmNvcnJlY3RlOiAlcyIKKworIzogZGlmZi5jOjQ5NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBtb2RlICclcycgaW4gLS1jb2xvci1tb3ZlZC13cyIKK21zZ3N0ciAibW9kZSDCqyVzwrsgbm8gdsOgbGlkIGVuIC1jb2xvci1tb3ZlZC13cyIKKworIzogZGlmZi5jOjQ5ODQKK21zZ2lkICIiCisib3B0aW9uIGRpZmYtYWxnb3JpdGhtIGFjY2VwdHMgXCJteWVyc1wiLCBcIm1pbmltYWxcIiwgXCJwYXRpZW5jZVwiIGFuZCAiCisiXCJoaXN0b2dyYW1cIiIKK21zZ3N0ciAiIgorImwnb3BjacOzIGRpZmYtYWxnb3JpdGhtIGFjY2VwdGEgwqtteWVyc8K7LCDCq21pbmltYWzCuywgwqtwYXRpZW5jZcK7IGkgwqtoaXN0b2dyYW3CuyIKKworIzogZGlmZi5jOjUwMjAgZGlmZi5jOjUwNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAiYXJndW1lbnQgbm8gdsOgbGlkIGEgJXMiCisKKyM6IGRpZmYuYzo1MTc4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICIiCisicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBhbmFsaXR6YXIgZWwgcGFyw6BtZXRyZSBkJ29wY2nDsyBkZSAtLXN1Ym1vZHVsZTogwqslc8K7IgorCisjOiBkaWZmLmM6NTIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgLS13b3JkLWRpZmYgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJwYXLDoG1ldHJlIC0td29yZC1kaWZmIGluY29ycmVjdGU6ICVzIgorCisjOiBkaWZmLmM6NTI1NworbXNnaWQgIkRpZmYgb3V0cHV0IGZvcm1hdCBvcHRpb25zIgorbXNnc3RyICJPcGNpb25zIGRlbCBmb3JtYXQgZGUgc29ydGlkYSBkZWwgZGlmZiIKKworIzogZGlmZi5jOjUyNTkgZGlmZi5jOjUyNjUKK21zZ2lkICJnZW5lcmF0ZSBwYXRjaCIKK21zZ3N0ciAiZ2VuZXJhbnQgcGVkYcOnIgorCisjOiBkaWZmLmM6NTI2MiBidWlsdGluL2xvZy5jOjE3MworbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgorbXNnc3RyICJvbWV0IGxhIHNvcnRpZGEgZGUgZGlmZXLDqG5jaWVzIgorCisjOiBkaWZmLmM6NTI2NyBkaWZmLmM6NTM4MSBkaWZmLmM6NTM4OAorbXNnaWQgIjxuPiIKK21zZ3N0ciAiPG4+IgorCisjOiBkaWZmLmM6NTI2OCBkaWZmLmM6NTI3MQorbXNnaWQgImdlbmVyYXRlIGRpZmZzIHdpdGggPG4+IGxpbmVzIGNvbnRleHQiCittc2dzdHIgImdlbmVyYSBkaWZmcyBhbWIgPG4+IGzDrW5pZXMgZGUgY29udGV4dCIKKworIzogZGlmZi5jOjUyNzMKK21zZ2lkICJnZW5lcmF0ZSB0aGUgZGlmZiBpbiByYXcgZm9ybWF0IgorbXNnc3RyICJnZW5lcmEgZWwgZGlmZiBlbiBmb3JtYXQgY3J1IgorCisjOiBkaWZmLmM6NTI3NgorbXNnaWQgInN5bm9ueW0gZm9yICctcCAtLXJhdyciCittc2dzdHIgInNpbsOybmltIGRlIHBlciBhIMKrLXAgLS1yYXfCuyIKKworIzogZGlmZi5jOjUyODAKK21zZ2lkICJzeW5vbnltIGZvciAnLXAgLS1zdGF0JyIKK21zZ3N0ciAic2luw7JuaW0gZGUgcGVyIGEgwqstcCAtLXN0YXTCuyIKKworIzogZGlmZi5jOjUyODQKK21zZ2lkICJtYWNoaW5lIGZyaWVuZGx5IC0tc3RhdCIKK21zZ3N0ciAibGxlZ2libGUgcGVyIG3DoHF1aW5hIC0tc3RhdCIKKworIzogZGlmZi5jOjUyODcKK21zZ2lkICJvdXRwdXQgb25seSB0aGUgbGFzdCBsaW5lIG9mIC0tc3RhdCIKK21zZ3N0ciAibW9zdHJhIG5vbcOpcyBsJ8O6bHRpbWEgbMOtbmlhIGRlIC0tc3RhdCIKKworIzogZGlmZi5jOjUyODkgZGlmZi5jOjUyOTcKK21zZ2lkICI8cGFyYW0xLHBhcmFtMj4uLi4iCittc2dzdHIgIjxwYXJhbTEscGFyYW0yPi4uLiIKKworIzogZGlmZi5jOjUyOTAKK21zZ2lkICIiCisib3V0cHV0IHRoZSBkaXN0cmlidXRpb24gb2YgcmVsYXRpdmUgYW1vdW50IG9mIGNoYW5nZXMgZm9yIGVhY2ggc3ViLWRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTI5NAorbXNnaWQgInN5bm9ueW0gZm9yIC0tZGlyc3RhdD1jdW11bGF0aXZlIgorbXNnc3RyICJzaW7Dsm5pbSBwZXIgLWRpcnN0YXQ9Y3VtdWxhdGl2ZSIKKworIzogZGlmZi5jOjUyOTgKK21zZ2lkICJzeW5vbnltIGZvciAtLWRpcnN0YXQ9ZmlsZXMscGFyYW0xLHBhcmFtMi4uLiIKK21zZ3N0ciAic2luw7JuaW0gcGVyIC0tZGlyc3RhdD1maWxlcyxwYXJhbTEscGFyYW0yLi4uIgorCisjOiBkaWZmLmM6NTMwMgorbXNnaWQgIndhcm4gaWYgY2hhbmdlcyBpbnRyb2R1Y2UgY29uZmxpY3QgbWFya2VycyBvciB3aGl0ZXNwYWNlIGVycm9ycyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTMwNQorbXNnaWQgImNvbmRlbnNlZCBzdW1tYXJ5IHN1Y2ggYXMgY3JlYXRpb25zLCByZW5hbWVzIGFuZCBtb2RlIGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzMDgKK21zZ2lkICJzaG93IG9ubHkgbmFtZXMgb2YgY2hhbmdlZCBmaWxlcyIKK21zZ3N0ciAibW9zdHJhIG5vbcOpcyBlbHMgbm9tcyBkZSBmaXR4ZXJzIGNhbnZpYXRzIgorCisjOiBkaWZmLmM6NTMxMQorbXNnaWQgInNob3cgb25seSBuYW1lcyBhbmQgc3RhdHVzIG9mIGNoYW5nZWQgZmlsZXMiCittc2dzdHIgIm1vc3RyYSBub23DqXMgZWxzIG5vbXMgaSBsJ2VzdGF0IGRlbHMgZml0eGVycyBjYW52aWF0cyIKKworIzogZGlmZi5jOjUzMTMKK21zZ2lkICI8d2lkdGg+Wyw8bmFtZS13aWR0aD5bLDxjb3VudD5dXSIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTMxNAorbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IgorbXNnc3RyICJnZW5lcmEgZGlmZnN0YXQiCisKKyM6IGRpZmYuYzo1MzE2IGRpZmYuYzo1MzE5IGRpZmYuYzo1MzIyCittc2dpZCAiPHdpZHRoPiIKK21zZ3N0ciAiPGFtcGxhZGE+IgorCisjOiBkaWZmLmM6NTMxNworbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggYSBnaXZlbiB3aWR0aCIKK21zZ3N0ciAiZ2VuZXJhIGRpZmZzdGF0IGFtYiB1bmEgYW1wbGFkYSBkb25hZGEiCisKKyM6IGRpZmYuYzo1MzIwCittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBhIGdpdmVuIG5hbWUgd2lkdGgiCittc2dzdHIgImdlbmVyYSBkaWZmc3RhdCBhbWIgdW4gbm9tIGQnYW1wbGFkYSBkb25hdCIKKworIzogZGlmZi5jOjUzMjMKK21zZ2lkICJnZW5lcmF0ZSBkaWZmc3RhdCB3aXRoIGEgZ2l2ZW4gZ3JhcGggd2lkdGgiCittc2dzdHIgImdlbmVyYSBkaWZmc3RhdCBhbWIgdW5hIGFtcGxhZGEgZGUgZ3JhZiBkb25hZGEiCisKKyM6IGRpZmYuYzo1MzI1Cittc2dpZCAiPGNvdW50PiIKK21zZ3N0ciAiPGNvbXB0YWRvcj4iCisKKyM6IGRpZmYuYzo1MzI2Cittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBsaW1pdGVkIGxpbmVzIgorbXNnc3RyICJnZW5lcmEgZGlmZnN0YXQgYW1iIGzDrW5pZXMgbGltaXRhZGVzIgorCisjOiBkaWZmLmM6NTMyOQorbXNnaWQgImdlbmVyYXRlIGNvbXBhY3Qgc3VtbWFyeSBpbiBkaWZmc3RhdCIKK21zZ3N0ciAiZ2VuZXJhIHVuIHJlc3VtIGNvbXBhY3RlIGEgZGlmZnN0YXQiCisKKyM6IGRpZmYuYzo1MzMyCittc2dpZCAib3V0cHV0IGEgYmluYXJ5IGRpZmYgdGhhdCBjYW4gYmUgYXBwbGllZCIKK21zZ3N0ciAiZGlmZiBhbWIgc29ydGlkYSBiaW5hcmlhIHF1ZSBwb3Qgc2VyIGFwbGljYWRhIgorCisjOiBkaWZmLmM6NTMzNQorbXNnaWQgInNob3cgZnVsbCBwcmUtIGFuZCBwb3N0LWltYWdlIG9iamVjdCBuYW1lcyBvbiB0aGUgXCJpbmRleFwiIGxpbmVzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzM3Cittc2dpZCAic2hvdyBjb2xvcmVkIGRpZmYiCittc2dzdHIgIm1vc3RyYSB1biBkaWZmIGFtYiBjb2xvcnMiCisKKyM6IGRpZmYuYzo1MzM4Cittc2dpZCAiPGtpbmQ+IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzM5Cittc2dpZCAiIgorImhpZ2hsaWdodCB3aGl0ZXNwYWNlIGVycm9ycyBpbiB0aGUgJ2NvbnRleHQnLCAnb2xkJyBvciAnbmV3JyBsaW5lcyBpbiB0aGUgIgorImRpZmYiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzNDIKK21zZ2lkICIiCisiZG8gbm90IG11bmdlIHBhdGhuYW1lcyBhbmQgdXNlIE5VTHMgYXMgb3V0cHV0IGZpZWxkIHRlcm1pbmF0b3JzIGluIC0tcmF3IG9yICIKKyItLW51bXN0YXQiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzNDUgZGlmZi5jOjUzNDggZGlmZi5jOjUzNTEgZGlmZi5jOjU0NTcKK21zZ2lkICI8cHJlZml4PiIKK21zZ3N0ciAiPHByZWZpeD4iCisKKyM6IGRpZmYuYzo1MzQ2Cittc2dpZCAic2hvdyB0aGUgZ2l2ZW4gc291cmNlIHByZWZpeCBpbnN0ZWFkIG9mIFwiYS9cIiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM0OQorbXNnaWQgInNob3cgdGhlIGdpdmVuIGRlc3RpbmF0aW9uIHByZWZpeCBpbnN0ZWFkIG9mIFwiYi9cIiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM1MgorbXNnaWQgInByZXBlbmQgYW4gYWRkaXRpb25hbCBwcmVmaXggdG8gZXZlcnkgbGluZSBvZiBvdXRwdXQiCittc2dzdHIgImFmZWdpciB1biBwcmVmaXggYWRkaWNpb25hbCBwZXIgYSBjYWRhIGzDrW5pYSBkZSBzb3J0aWRhIgorCisjOiBkaWZmLmM6NTM1NQorbXNnaWQgImRvIG5vdCBzaG93IGFueSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gcHJlZml4IgorbXNnc3RyICJubyBtb3N0cmlzIGNhcCBwcmVmaXggZCdvcmlnZW4gbyBkZXN0w60iCisKKyM6IGRpZmYuYzo1MzU4CisjLCBmdXp6eQorbXNnaWQgInNob3cgY29udGV4dCBiZXR3ZWVuIGRpZmYgaHVua3MgdXAgdG8gdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbGluZXMiCittc2dzdHIgIkNyZWEgdW4gY2xvbiBzdXBlcmZpY2lhbCB0cnVuY2F0IGFsIG5vbWJyZSBkZSByZXZpc2lvbnMgZXNwZWNpZmljYXQiCisKKyM6IGRpZmYuYzo1MzYyIGRpZmYuYzo1MzY3IGRpZmYuYzo1MzcyCittc2dpZCAiPGNoYXI+IgorbXNnc3RyICI8Y2hhcj4iCisKKyM6IGRpZmYuYzo1MzYzCittc2dpZCAic3BlY2lmeSB0aGUgY2hhcmFjdGVyIHRvIGluZGljYXRlIGEgbmV3IGxpbmUgaW5zdGVhZCBvZiAnKyciCittc2dzdHIgIiIKKyJlc3BlY2lmaXF1ZXUgZWwgY2Fyw6BjdGVyIHBlciBhIGluZGljYXIgdW5hIGzDrW5pYSBub3ZhIGVuIGNvbXB0ZXMgZGUgwqsrwrsiCisKKyM6IGRpZmYuYzo1MzY4Cittc2dpZCAic3BlY2lmeSB0aGUgY2hhcmFjdGVyIHRvIGluZGljYXRlIGFuIG9sZCBsaW5lIGluc3RlYWQgb2YgJy0nIgorbXNnc3RyICIiCisiZXNwZWNpZmlxdWV1IGVsIGNhcsOgY3RlciBwZXIgYSBpbmRpY2FyIHVuYSBsw61uaWEgYW50aWdhIGVuIGNvbXB0ZXMgZGUgwqstwrsiCisKKyM6IGRpZmYuYzo1MzczCittc2dpZCAic3BlY2lmeSB0aGUgY2hhcmFjdGVyIHRvIGluZGljYXRlIGEgY29udGV4dCBpbnN0ZWFkIG9mICcgJyIKK21zZ3N0ciAiZXNwZWNpZmlxdWV1IGVsIGNhcsOgY3RlciBwZXIgYSBpbmRpY2FyIGNvbnRleHQgZW4gY29tcHRlcyBkZSDCqyDCuyIKKworIzogZGlmZi5jOjUzNzYKK21zZ2lkICJEaWZmIHJlbmFtZSBvcHRpb25zIgorbXNnc3RyICJPcGNpb25zIGRlIGNhbnZpIGRlIG5vbSBkZWwgZGlmZiIKKworIzogZGlmZi5jOjUzNzcKK21zZ2lkICI8bj5bLzxtPl0iCittc2dzdHIgIjxuPlsvPG0+XSIKKworIzogZGlmZi5jOjUzNzgKK21zZ2lkICJicmVhayBjb21wbGV0ZSByZXdyaXRlIGNoYW5nZXMgaW50byBwYWlycyBvZiBkZWxldGUgYW5kIGNyZWF0ZSIKK21zZ3N0ciAiIgorImRpdmlkZWl4IGVscyBjYW52aXMgZGUgcmVlc2NyaXB0dXJhIGNvbXBsZXRhIGVuIHBhcmVsbHMgZGUgc3VwcmltaXIgaSBjcmVhciIKKworIzogZGlmZi5jOjUzODIKK21zZ2lkICJkZXRlY3QgcmVuYW1lcyIKK21zZ3N0ciAiZGV0ZWN0YSBlbHMgY2FudmlzIGRlIG5vbXMiCisKKyM6IGRpZmYuYzo1Mzg2Cittc2dpZCAib21pdCB0aGUgcHJlaW1hZ2UgZm9yIGRlbGV0ZXMiCittc2dzdHIgIm9tZXQgbGVzIHByZWltYXRnZXMgcGVyIGxlcyBzdXByZXNzaW9ucyIKKworIzogZGlmZi5jOjUzODkKK21zZ2lkICJkZXRlY3QgY29waWVzIgorbXNnc3RyICJkZXRlY3RhIGPDsnBpZXMiCisKKyM6IGRpZmYuYzo1MzkzCittc2dpZCAidXNlIHVubW9kaWZpZWQgZmlsZXMgYXMgc291cmNlIHRvIGZpbmQgY29waWVzIgorbXNnc3RyICJ1c2EgZWxzIGZpdHhlcnMgbm8gbW9kaWZpY2F0cyBjb20gYSBmb250IHBlciB0cm9iYXIgY8OycGllcyIKKworIzogZGlmZi5jOjUzOTUKK21zZ2lkICJkaXNhYmxlIHJlbmFtZSBkZXRlY3Rpb24iCittc2dzdHIgImluaGFiaWxpdGEgbGEgZGV0ZWNjacOzIGRlIGNhbnZpcyBkZSBub20iCisKKyM6IGRpZmYuYzo1Mzk4Cittc2dpZCAidXNlIGVtcHR5IGJsb2JzIGFzIHJlbmFtZSBzb3VyY2UiCittc2dzdHIgInVzYSBlbHMgYmxvYnMgYnVpdHMgY29tIGEgZm9udCBkZSBjYW52aSBkZSBub20iCisKKyM6IGRpZmYuYzo1NDAwCittc2dpZCAiY29udGludWUgbGlzdGluZyB0aGUgaGlzdG9yeSBvZiBhIGZpbGUgYmV5b25kIHJlbmFtZXMiCittc2dzdHIgIiIKKyJjb250aW51YSBsbGlzdGFudCBsJ2hpc3TDsnJpYyBkJ3VuIHVuIGZpdHhlciBtw6lzIGVubGzDoCBkZWxzIGNhbnZpcyBkZSBub20iCisKKyM6IGRpZmYuYzo1NDAzCittc2dpZCAiIgorInByZXZlbnQgcmVuYW1lL2NvcHkgZGV0ZWN0aW9uIGlmIHRoZSBudW1iZXIgb2YgcmVuYW1lL2NvcHkgdGFyZ2V0cyBleGNlZWRzICIKKyJnaXZlbiBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQwNQorbXNnaWQgIkRpZmYgYWxnb3JpdGhtIG9wdGlvbnMiCittc2dzdHIgIk9wY2lvbnMgZCdhbGdvcmlzbWUgRGlmZiIKKworIzogZGlmZi5jOjU0MDcKK21zZ2lkICJwcm9kdWNlIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBkaWZmIgorbXNnc3RyICJwcm9kdWVpeCBlbCBkaWZmIG3DqXMgcGV0aXQgcG9zc2libGUiCisKKyM6IGRpZmYuYzo1NDEwCittc2dpZCAiaWdub3JlIHdoaXRlc3BhY2Ugd2hlbiBjb21wYXJpbmcgbGluZXMiCittc2dzdHIgImlnbm9yYSBlbHMgZXNwYWkgZW4gYmxhbmMgZW4gY29tcGFyYXIgbMOtbmllcyIKKworIzogZGlmZi5jOjU0MTMKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiBhbW91bnQgb2Ygd2hpdGVzcGFjZSIKK21zZ3N0ciAiaWdub3JhIGVscyBjYW52aXMgZW4gbGEgcXVhbnRpdGF0IGQnZXNwYWkgZW4gYmxhbmMiCisKKyM6IGRpZmYuYzo1NDE2Cittc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSBhdCBFT0wiCittc2dzdHIgImlnbm9yYSBlbHMgY2FudmlzIGQnZXNwYWkgZW4gYmxhbmMgYWwgZmluYWwgZGUgbGEgbMOtbmlhIgorCisjOiBkaWZmLmM6NTQxOQorbXNnaWQgImlnbm9yZSBjYXJyaWVyLXJldHVybiBhdCB0aGUgZW5kIG9mIGxpbmUiCittc2dzdHIgImlnbm9yYSBlbHMgcmV0b3JucyBkZSBsw61uaWEgYWwgZmluYWwgZGUgbGEgbMOtbmlhIgorCisjOiBkaWZmLmM6NTQyMgorbXNnaWQgImlnbm9yZSBjaGFuZ2VzIHdob3NlIGxpbmVzIGFyZSBhbGwgYmxhbmsiCittc2dzdHIgImlnbm9yYSBlbHMgY2FudmlzIGVuIGzDrW5pZXMgcXVlIGVzdGFuIGVuIGJsYW5jIgorCisjOiBkaWZmLmM6NTQyNQorbXNnaWQgImhldXJpc3RpYyB0byBzaGlmdCBkaWZmIGh1bmsgYm91bmRhcmllcyBmb3IgZWFzeSByZWFkaW5nIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDI4Cittc2dpZCAiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJwYXRpZW5jZSBkaWZmXCIgYWxnb3JpdGhtIgorbXNnc3RyICJnZW5lcmEgZGlmZiB1c2FudCBsJ2FsZ29yaXNtZSDCq3BhdGllbmNlIGRpZmbCuyIKKworIzogZGlmZi5jOjU0MzIKK21zZ2lkICJnZW5lcmF0ZSBkaWZmIHVzaW5nIHRoZSBcImhpc3RvZ3JhbSBkaWZmXCIgYWxnb3JpdGhtIgorbXNnc3RyICJnZW5lcmEgZGlmZiB1c2FudCBsJ2FsZ29yaXNtZSDCq2hpc3RvZ3JhbSBkaWZmwrsiCisKKyM6IGRpZmYuYzo1NDM0Cittc2dpZCAiPGFsZ29yaXRobT4iCittc2dzdHIgIjxhbGdvcmlzbWU+IgorCisjOiBkaWZmLmM6NTQzNQorbXNnaWQgImNob29zZSBhIGRpZmYgYWxnb3JpdGhtIgorbXNnc3RyICJlc2NvbGxpdSB1biBhbGdvcmlzbWUgcGVsIGRpZmYiCisKKyM6IGRpZmYuYzo1NDM3Cittc2dpZCAiPHRleHQ+IgorbXNnc3RyICI8dGV4dD4iCisKKyM6IGRpZmYuYzo1NDM4Cittc2dpZCAiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJhbmNob3JlZCBkaWZmXCIgYWxnb3JpdGhtIgorbXNnc3RyICJnZW5lcmEgZGlmZiB1c2FudCBsJ2FsZ29yaXNtZSDCq2FuY2hvcmVkIGRpZmbCuyIKKworIzogZGlmZi5jOjU0NDAgZGlmZi5jOjU0NDkgZGlmZi5jOjU0NTIKK21zZ2lkICI8bW9kZT4iCittc2dzdHIgIjxtb2RlPiIKKworIzogZGlmZi5jOjU0NDEKK21zZ2lkICJzaG93IHdvcmQgZGlmZiwgdXNpbmcgPG1vZGU+IHRvIGRlbGltaXQgY2hhbmdlZCB3b3JkcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ0MyBkaWZmLmM6NTQ0NiBkaWZmLmM6NTQ5MQorbXNnaWQgIjxyZWdleD4iCittc2dzdHIgIjxyZWdleD4iCisKKyM6IGRpZmYuYzo1NDQ0Cittc2dpZCAidXNlIDxyZWdleD4gdG8gZGVjaWRlIHdoYXQgYSB3b3JkIGlzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDQ3Cittc2dpZCAiZXF1aXZhbGVudCB0byAtLXdvcmQtZGlmZj1jb2xvciAtLXdvcmQtZGlmZi1yZWdleD08cmVnZXg+IgorbXNnc3RyICJlcXVpdmFsZW50IGEgLS13b3JkLWRpZmY9Y29sb3IgLS13b3JkLWRpZmYtcmVnZXg9PHJlZ2V4PiIKKworIzogZGlmZi5jOjU0NTAKK21zZ2lkICJtb3ZlZCBsaW5lcyBvZiBjb2RlIGFyZSBjb2xvcmVkIGRpZmZlcmVudGx5IgorbXNnc3RyICJsZXMgbMOtbmllcyBkZSBjb2RpIHF1ZSBzJ2hhIG1vZ3V0IHMnYWNvbG9yZWl4ZW4gZGlmZXJlbnQiCisKKyM6IGRpZmYuYzo1NDUzCittc2dpZCAiaG93IHdoaXRlIHNwYWNlcyBhcmUgaWdub3JlZCBpbiAtLWNvbG9yLW1vdmVkIgorbXNnc3RyICJjb20gcydpZ25vcmVuIGVscyBlc3BhaXMgZW4gYmxhbmMgYSAtLWNvbG9yLW1vdmVkIgorCisjOiBkaWZmLmM6NTQ1NgorbXNnaWQgIk90aGVyIGRpZmYgb3B0aW9ucyIKK21zZ3N0ciAiQWx0cmVzIG9wY2lvbnMgZGlmZiIKKworIzogZGlmZi5jOjU0NTgKK21zZ2lkICJ3aGVuIHJ1biBmcm9tIHN1YmRpciwgZXhjbHVkZSBjaGFuZ2VzIG91dHNpZGUgYW5kIHNob3cgcmVsYXRpdmUgcGF0aHMiCittc2dzdHIgInF1YW4gcydleGVjdXRhIGRlcyBkJ3VuIHN1YmRpcmVjdG9yaSwgZXhjbG91IGVscyBjYW52aXMgZGUgZm9yYSBpIG1vc3RyYSBlbHMgY2FtaW5zIHJlbGF0aXVzIgorCisjOiBkaWZmLmM6NTQ2MgorbXNnaWQgInRyZWF0IGFsbCBmaWxlcyBhcyB0ZXh0IgorbXNnc3RyICJ0cmFjdGEgdG90cyBlbHMgZml0eGVycyBjb20gYSB0ZXh0IgorCisjOiBkaWZmLmM6NTQ2NAorbXNnaWQgInN3YXAgdHdvIGlucHV0cywgcmV2ZXJzZSB0aGUgZGlmZiIKK21zZ3N0ciAiaW50ZXJjYW52aWEgZWxzIGR1ZXMgZW50cmFkYSwgaW52ZXJ0ZWl4IGVsIGRpZmYiCisKKyM6IGRpZmYuYzo1NDY2Cittc2dpZCAiZXhpdCB3aXRoIDEgaWYgdGhlcmUgd2VyZSBkaWZmZXJlbmNlcywgMCBvdGhlcndpc2UiCittc2dzdHIgInN1cnQgYW1iIDEgc2kgaGkgaGEgZGlmZXLDqG5jaWVzLCAwIGVuIGNhcyBjb250cmFyaSIKKworIzogZGlmZi5jOjU0NjgKK21zZ2lkICJkaXNhYmxlIGFsbCBvdXRwdXQgb2YgdGhlIHByb2dyYW0iCittc2dzdHIgImluaGFiaWxpdGEgdG90ZXMgbGVzIHNvcnRpZGVzIGRlbCBwcm9ncmFtYSIKKworIzogZGlmZi5jOjU0NzAKK21zZ2lkICJhbGxvdyBhbiBleHRlcm5hbCBkaWZmIGhlbHBlciB0byBiZSBleGVjdXRlZCIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ3MgorbXNnaWQgInJ1biBleHRlcm5hbCB0ZXh0IGNvbnZlcnNpb24gZmlsdGVycyB3aGVuIGNvbXBhcmluZyBiaW5hcnkgZmlsZXMiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0NzQKK21zZ2lkICI8d2hlbj4iCittc2dzdHIgIjxxdWFuPiIKKworIzogZGlmZi5jOjU0NzUKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyB0byBzdWJtb2R1bGVzIGluIHRoZSBkaWZmIGdlbmVyYXRpb24iCittc2dzdHIgImlnbm9yYSBlbHMgY2FudmlzIGFscyBzdWJtw7JkdWxzIGVuIGxhIGdlbmVyYWNpw7MgZGVsIGRpZmYiCisKKyM6IGRpZmYuYzo1NDc4Cittc2dpZCAiPGZvcm1hdD4iCittc2dzdHIgIjxmb3JtYXQ+IgorCisjOiBkaWZmLmM6NTQ3OQorbXNnaWQgInNwZWNpZnkgaG93IGRpZmZlcmVuY2VzIGluIHN1Ym1vZHVsZXMgYXJlIHNob3duIgorbXNnc3RyICJlc3BlY2lmaXF1ZXUgY29tIGVzIG1vc3RyZW4gZWxzIGNhbnZpcyBhbHMgc3VibcOyZHVscyIKKworIzogZGlmZi5jOjU0ODMKKyMsIGZ1enp5Cittc2dpZCAiaGlkZSAnZ2l0IGFkZCAtTicgZW50cmllcyBmcm9tIHRoZSBpbmRleCIKK21zZ3N0ciAidXNhIC5naXRhdHRyaWJ1dGVzIG5vbcOpcyBkZXMgZGUgbCfDrW5kZXgiCisKKyM6IGRpZmYuYzo1NDg2Cittc2dpZCAidHJlYXQgJ2dpdCBhZGQgLU4nIGVudHJpZXMgYXMgcmVhbCBpbiB0aGUgaW5kZXgiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0ODgKK21zZ2lkICI8c3RyaW5nPiIKK21zZ3N0ciAiPGNhZGVuYT4iCisKKyM6IGRpZmYuYzo1NDg5Cittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisic3RyaW5nIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDkyCittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisicmVnZXgiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0OTUKK21zZ2lkICJzaG93IGFsbCBjaGFuZ2VzIGluIHRoZSBjaGFuZ2VzZXQgd2l0aCAtUyBvciAtRyIKK21zZ3N0ciAibW9zdHJhIHRvdHMgZWxzIGNhbnZpcyBhbWIgZWwgY29uanVudCBkZSBjYW52aXMgYW1iIC1TIG8gLUciCisKKyM6IGRpZmYuYzo1NDk4Cittc2dpZCAidHJlYXQgPHN0cmluZz4gaW4gLVMgYXMgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICJ0cmFjdGEgPGNhZGVuYT4gYSAtUyBjb20gYSBleHByZXNzacOzIHJlZ3VsYXIgUE9TSVggYW1wbGlhZGEiCisKKyM6IGRpZmYuYzo1NTAxCittc2dpZCAiY29udHJvbCB0aGUgb3JkZXIgaW4gd2hpY2ggZmlsZXMgYXBwZWFyIGluIHRoZSBvdXRwdXQiCittc2dzdHIgImNvbnRyb2xhIGwnb3JkcmUgYW1iIGVsIHF1YWwgZWxzIGZpdHhlcnMgYXBhcmVpeGVuIGVuIGxhIHNvcnRpZGEiCisKKyM6IGRpZmYuYzo1NTAyCittc2dpZCAiPG9iamVjdC1pZD4iCittc2dzdHIgIjxpZCBkZSBsJ29iamVjdGU+IgorCisjOiBkaWZmLmM6NTUwMworbXNnaWQgIiIKKyJsb29rIGZvciBkaWZmZXJlbmNlcyB0aGF0IGNoYW5nZSB0aGUgbnVtYmVyIG9mIG9jY3VycmVuY2VzIG9mIHRoZSBzcGVjaWZpZWQgIgorIm9iamVjdCIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTUwNQorbXNnaWQgIlsoQXxDfER8TXxSfFR8VXxYfEIpLi4uWypdXSIKK21zZ3N0ciAiWyhBfEN8RHxNfFJ8VHxVfFh8QikuLi5bKl1dIgorCisjOiBkaWZmLmM6NTUwNgorbXNnaWQgInNlbGVjdCBmaWxlcyBieSBkaWZmIHR5cGUiCittc2dzdHIgInNlbGVjY2lvbmV1IGVscyBmaXR4ZXJzIHBlciB0aXB1cyBkZSBkaWZmIgorCisjOiBkaWZmLmM6NTUwOAorbXNnaWQgIjxmaWxlPiIKK21zZ3N0ciAiPGZpdHhlcj4iCisKKyM6IGRpZmYuYzo1NTA5Cittc2dpZCAiT3V0cHV0IHRvIGEgc3BlY2lmaWMgZmlsZSIKK21zZ3N0ciAiU29ydGlkYSBhIHVuIGZpdHhlciBlc3BlY8OtZmljIgorCisjOiBkaWZmLmM6NjE2NAogbXNnaWQgImluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiB3YXMgc2tpcHBlZCBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgotbXNnc3RyICJzJ2hhIG9tw6hzIGxhIGRldGVjY2nDsyBkZSBjYW52aSBkZSBub20gYSBjYXVzYSBkZSBtYXNzYSBmaXR4ZXJzLiIKK21zZ3N0ciAiIgorInMnaGEgb23DqHMgbGEgZGV0ZWNjacOzIGRlIGNhbnZpIGRlIG5vbSBpbmV4YWN0YSBhIGNhdXNhIGRlIG1hc3NhIGZpdHhlcnMuIgogCi0jOiBkaWZmLmM6NTgyNgorIzogZGlmZi5jOjYxNjcKIG1zZ2lkICJvbmx5IGZvdW5kIGNvcGllcyBmcm9tIG1vZGlmaWVkIHBhdGhzIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCiBtc2dzdHIgIiIKICJub23DqXMgcydoYW4gdHJvYmF0IGPDsnBpZXMgZGVzIGRlIGNhbWlucyBtb2RpZmljYXRzIGEgY2F1c2EgZGUgbWFzc2EgZml0eGVycy4iCiAKLSM6IGRpZmYuYzo1ODI5CisjOiBkaWZmLmM6NjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAieW91IG1heSB3YW50IHRvIHNldCB5b3VyICVzIHZhcmlhYmxlIHRvIGF0IGxlYXN0ICVkIGFuZCByZXRyeSB0aGUgY29tbWFuZC4iCkBAIC0yMzIwLDQyICszNDM4LDYxIEBACiAicG90c2VyIHZvbGV1IGVzdGFibGlyIGxhIHZvc3RyYSB2YXJpYWJsZSAlcyBhIGFsbWVueXMgJWQgaSB0b3JuYXIgYSBpbnRlbnRhciAiCiAibCdvcmRyZS4iCiAKLSM6IGRpci5jOjU3NgorIzogZGlyLmM6NTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZShzKSBrbm93biB0byBnaXQiCiBtc2dzdHIgIiIKICJsJ2VzcGVjaWZpY2FjacOzIGRlIGNhbcOtIMKrJXPCuyBubyBoYSBjb2luY2lkaXQgYW1iIGNhcCBmaXR4ZXIgcXVlIGdpdCBjb25lZ3VpIgogCi0jOiBkaXIuYzo5NjUKKyM6IGRpci5jOjY2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGF0dGVybjogJyVzJyIKK21zZ3N0ciAicGF0csOzIG5vIHJlY29uZWd1dDogwqslc8K7IgorCisjOiBkaXIuYzo2ODIgZGlyLmM6Njk2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBuZWdhdGl2ZSBwYXR0ZXJuOiAnJXMnIgorbXNnc3RyICJwYXRyw7MgbmVnYXRpdSBubyByZWNvbmVndXQ6IMKrJXPCuyIKKworIzogZGlyLmM6NzE0CisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc3BhcnNlLWNoZWNrb3V0IGZpbGUgbWF5IGhhdmUgaXNzdWVzOiBwYXR0ZXJuICclcycgaXMgcmVwZWF0ZWQiCittc2dzdHIgIiIKKworIzogZGlyLmM6NzI0Cittc2dpZCAiZGlzYWJsaW5nIGNvbmUgcGF0dGVybiBtYXRjaGluZyIKK21zZ3N0ciAiaW5oYWJpbGl0YSBsYSBjb2luY2lkw6huY2lhIGRlIHBhdHJvbnMgwqtjb25lwrsiCisKKyM6IGRpci5jOjExMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHVzZSAlcyBhcyBhbiBleGNsdWRlIGZpbGUiCi1tc2dzdHIgIm5vIGVzIHBvdCB1c2FyICAlcyBjb20gYSBmaXR4ZXIgZCdleGNsdXNpw7MiCittc2dzdHIgIm5vIGVzIHBvdCB1c2FyICVzIGNvbSBhIGZpdHhlciBkJ2V4Y2x1c2nDsyIKIAotIzogZGlyLmM6MTg4MAorIzogZGlyLmM6MjA3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnJpciBlbCBkaXJlY3Rvcmkgwqslc8K7IgogCi0jOiBkaXIuYzoyMTIyCisjOiBkaXIuYzoyNDE1CiBtc2dpZCAiZmFpbGVkIHRvIGdldCBrZXJuZWwgbmFtZSBhbmQgaW5mb3JtYXRpb24iCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2J0ZW5pciBlbCBub21icmUgaSBsYSBpbmZvcm1hY2nDsyBkZWwgbnVjbGkiCiAKLSM6IGRpci5jOjIyNDYKKyM6IGRpci5jOjI1MzkKIG1zZ2lkICJ1bnRyYWNrZWQgY2FjaGUgaXMgZGlzYWJsZWQgb24gdGhpcyBzeXN0ZW0gb3IgbG9jYXRpb24iCiBtc2dzdHIgIiIKICJsYSBtZW3DsnJpYSBjYXUgbm8gc2VndWlkYSBlc3TDoCBpbmhhYmlsaXRhZGEgZW4gYXF1ZXN0IHNpc3RlbWEgbyB1YmljYWNpw7MiCiAKLSM6IGRpci5jOjMwNDcKKyM6IGRpci5jOjMzNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IGluIHJlcG8gJXMiCiBtc2dzdHIgImVsIGZpdHhlciBkJ8OtbmRleCBhbCBkaXDDsnNpdCAlcyDDqXMgbWFsbcOocyIKIAotIzogZGlyLmM6MzA5MiBkaXIuYzozMDk3CisjOiBkaXIuYzozMzg4IGRpci5jOjMzOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcmllcyBmb3IgJXMiCiBtc2dzdHIgIm5vIHMnaGFuIHBvZ3V0IGNyZWFyIGRpcmVjdG9yaXMgcGVyICVzIgogCi0jOiBkaXIuYzozMTI2CisjOiBkaXIuYzozNDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBtaWdyYXRlIGdpdCBkaXJlY3RvcnkgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbWlncmFyIGVsIGRpcmVjdG9yaSBkZSDCqyVzwrsgYSDCqyVzwrsiCkBAIC0yMzY5LDI5OCArMzUwNiwyODggQEAKIG1zZ2lkICJGaWx0ZXJpbmcgY29udGVudCIKIG1zZ3N0ciAiUydlc3TDoCBmaWx0cmFudCBlbCBjb250aW5ndXQiCiAKLSM6IGVudHJ5LmM6NDY1CisjOiBlbnRyeS5jOjQ3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCBmaWxlICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZmVyIMKrc3RhdMK7IHNvYnJlIGVsIGZpdHhlciDCqyVzwrsiCiAKLSM6IGVudmlyb25tZW50LmM6MTUwCisjOiBlbnZpcm9ubWVudC5jOjE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgZ2l0IG5hbWVzcGFjZSBwYXRoIFwiJXNcIiIKIG1zZ3N0ciAiIgogCi0jOiBlbnZpcm9ubWVudC5jOjMzMgorIzogZW52aXJvbm1lbnQuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCBHSVRfRElSIHRvICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgR0lUX0RJUiBhIMKrJXPCuyIKIAotIzogZXhlYy1jbWQuYzozNjEKKyM6IGV4ZWMtY21kLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRvbyBtYW55IGFyZ3MgdG8gcnVuICVzIgogbXNnc3RyICJoaSBoYSBtYXNzYSBhcmd1bWVudHMgcGVyIGEgZXhlY3V0YXIgJXMiCiAKLSM6IGZldGNoLW9iamVjdC5jOjE3Ci1tc2dpZCAiUmVtb3RlIHdpdGggbm8gVVJMIgotbXNnc3RyICJSZW1vdCBzZW5zZSBVUkwiCi0KLSM6IGZldGNoLXBhY2suYzoxNTEKKyM6IGZldGNoLXBhY2suYzoxNTAKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgc2hhbGxvdyBsaXN0IgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogbGxpc3RhIHN1cGVyZmljaWFsIGVzcGVyYWRhIgogCi0jOiBmZXRjaC1wYWNrLmM6MTYzCisjOiBmZXRjaC1wYWNrLmM6MTUzCisjLCBmdXp6eQorbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBhIGZsdXNoIHBhY2tldCBhZnRlciBzaGFsbG93IGxpc3QiCittc2dzdHIgImdpdCBmZXRjaC1wYWNrOiBsbGlzdGEgc3VwZXJmaWNpYWwgZXNwZXJhZGEiCisKKyM6IGZldGNoLXBhY2suYzoxNjQKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290IGEgZmx1c2ggcGFja2V0IgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogcydlc3BlcmF2YSBBQ0svTkFLLCBzJ2hhIHJlYnV0IHVuIHBhcXVldCBkZSBuZXRlamEiCiAKLSM6IGZldGNoLXBhY2suYzoxODMKKyM6IGZldGNoLXBhY2suYzoxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCAnJXMnIgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogcydlc3BlcmF2YSBBQ0svTkFLLCBzJ2hhIHJlYnV0IMKrJXPCuyIKIAotIzogZmV0Y2gtcGFjay5jOjI1MworIzogZmV0Y2gtcGFjay5jOjE5NQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0byByZW1vdGUiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgYWwgcmVtb3QiCisKKyM6IGZldGNoLXBhY2suYzoyNTcKIG1zZ2lkICItLXN0YXRlbGVzcy1ycGMgcmVxdWlyZXMgbXVsdGlfYWNrX2RldGFpbGVkIgogbXNnc3RyICItLXN0YXRlbGVzcy1ycGMgcmVxdWVyZWl4IG11bHRpX2Fja19kZXRhaWxlZCIKIAotIzogZmV0Y2gtcGFjay5jOjM0NyBmZXRjaC1wYWNrLmM6MTI3NworIzogZmV0Y2gtcGFjay5jOjM1NiBmZXRjaC1wYWNrLmM6MTM0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNoYWxsb3cgbGluZTogJXMiCiBtc2dzdHIgImzDrW5pYSBkZSBzaGFsbG93IG5vIHbDoGxpZGE6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzUzIGZldGNoLXBhY2suYzoxMjgzCisjOiBmZXRjaC1wYWNrLmM6MzYyIGZldGNoLXBhY2suYzoxMzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdW5zaGFsbG93IGxpbmU6ICVzIgogbXNnc3RyICJsw61uaWEgZCd1bnNoYWxsb3cgbm8gdsOgbGlkYTogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozNTUgZmV0Y2gtcGFjay5jOjEyODUKKyM6IGZldGNoLXBhY2suYzozNjQgZmV0Y2gtcGFjay5jOjEzNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IG5vdCBmb3VuZDogJXMiCiBtc2dzdHIgIm9iamVjdGUgbm8gdHJvYmF0OiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM1OCBmZXRjaC1wYWNrLmM6MTI4OAorIzogZmV0Y2gtcGFjay5jOjM2NyBmZXRjaC1wYWNrLmM6MTM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBpbiBvYmplY3Q6ICVzIgogbXNnc3RyICJlcnJvciBlbiBvYmplY3RlOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM2MCBmZXRjaC1wYWNrLmM6MTI5MAorIzogZmV0Y2gtcGFjay5jOjM2OSBmZXRjaC1wYWNrLmM6MTM1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzaGFsbG93IGZvdW5kOiAlcyIKIG1zZ3N0ciAibm8gcydoYSB0cm9iYXQgY2FwIHNoYWxsb3c6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzYzIGZldGNoLXBhY2suYzoxMjkzCisjOiBmZXRjaC1wYWNrLmM6MzcyIGZldGNoLXBhY2suYzoxMzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiCiBtc2dzdHIgInMnZXNwZXJhdmEgc2hhbGxvdy91bnNoYWxsb3csIHMnaGEgcmVidXQgJXMiCiAKLSM6IGZldGNoLXBhY2suYzo0MDQKKyM6IGZldGNoLXBhY2suYzo0MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ290ICVzICVkICVzIgogbXNnc3RyICJzJ2hhIHJlYnV0ICVzICVkICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDIxCisjOiBmZXRjaC1wYWNrLmM6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29tbWl0ICVzIgogbXNnc3RyICJjb21pc3Npw7Mgbm8gdsOgbGlkYSAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjQ1MgorIzogZmV0Y2gtcGFjay5jOjQ2MgogbXNnaWQgImdpdmluZyB1cCIKLW1zZ3N0ciAicydlc3TDoCByZW5kaW50IgorbXNnc3RyICJzJ2FiYW5kb25hIgogCi0jOiBmZXRjaC1wYWNrLmM6NDY0IHByb2dyZXNzLmM6MjI5CisjOiBmZXRjaC1wYWNrLmM6NDc1IHByb2dyZXNzLmM6MzIzCiBtc2dpZCAiZG9uZSIKIG1zZ3N0ciAiZmV0IgogCi0jOiBmZXRjaC1wYWNrLmM6NDc2CisjOiBmZXRjaC1wYWNrLmM6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdvdCAlcyAoJWQpICVzIgogbXNnc3RyICJzJ2hhIHJlYnV0ICVzICglZCkgJXMiCiAKLSM6IGZldGNoLXBhY2suYzo1MjIKKyM6IGZldGNoLXBhY2suYzo1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFya2luZyAlcyBhcyBjb21wbGV0ZSIKIG1zZ3N0ciAiUydlc3TDoCBtYXJjYW50ICVzIGNvbSBhIGNvbXBsZXQiCiAKLSM6IGZldGNoLXBhY2suYzo3NjQKKyM6IGZldGNoLXBhY2suYzo3NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWxyZWFkeSBoYXZlICVzICglcykiCiBtc2dzdHIgImphIGVzIHTDqSAlcyAoJXMpIgogCi0jOiBmZXRjaC1wYWNrLmM6ODAzCisjOiBmZXRjaC1wYWNrLmM6ODE4CiBtc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCiBtc2dzdHIgImZldGNoLXBhY2s6IG5vIHMnaGEgcG9ndXQgYmlmdXJjYXIgZGVsIGRlc211bHRpcGxleG9yIGRlIGJhbmRhIGxhdGVyYWwiCiAKLSM6IGZldGNoLXBhY2suYzo4MTEKKyM6IGZldGNoLXBhY2suYzo4MjYKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIHBhY2sgaGVhZGVyIgogbXNnc3RyICJlcnJvciBkZSBwcm90b2NvbDogY2Fww6dhbGVyYSBkZSBwYXF1ZXQgZXJyw7JuaWEiCiAKLSM6IGZldGNoLXBhY2suYzo4NzkKKyM6IGZldGNoLXBhY2suYzo5MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmICVzIgogbXNnc3RyICJmZXRjaC1wYWNrOiBubyBlcyBwb3QgYmlmdXJjYXIgZGUgJXMiCiAKLSM6IGZldGNoLXBhY2suYzo4OTUKKyM6IGZldGNoLXBhY2suYzo5MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZmFpbGVkIgogbXNnc3RyICIlcyBoYSBmYWxsYXQiCiAKLSM6IGZldGNoLXBhY2suYzo4OTcKKyM6IGZldGNoLXBhY2suYzo5MTgKIG1zZ2lkICJlcnJvciBpbiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgogbXNnc3RyICJlcnJvciBlbiBkZXNtdWx0aXBsZXhvciBkZSBiYW5kYSBsYXRlcmFsIgogCi0jOiBmZXRjaC1wYWNrLmM6OTI2Ci1tc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgotbXNnc3RyICJFbCBzZXJ2aWRvciBubyBwZXJtZXQgY2xpZW50cyBzdXBlcmZpY2lhbHMiCi0KLSM6IGZldGNoLXBhY2suYzo5MzAKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrX2RldGFpbGVkIgotbXNnc3RyICJFbCBzZXJ2aWRvciBhY2NlcHRhIG11bHRpX2Fja19kZXRhaWxlZCIKLQotIzogZmV0Y2gtcGFjay5jOjkzMwotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBuby1kb25lIgotbXNnc3RyICJFbCBzZXJ2aWRvciBhY2NlcHRhIG5vLWRvbmUiCi0KLSM6IGZldGNoLXBhY2suYzo5MzkKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrIgotbXNnc3RyICJFbCBzZXJ2aWRvciBhY2NlcHRhIG11bHRpX2FjayIKLQotIzogZmV0Y2gtcGFjay5jOjk0MwotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQtNjRrIgotbXNnc3RyICJFbCBzZXJ2aWRvciBhY2NlcHRhIHNpZGUtYmFuZC02NGsiCi0KLSM6IGZldGNoLXBhY2suYzo5NDcKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kIgotbXNnc3RyICJFbCBzZXJ2aWRvciBhY2NlcHRhIGJhbmRhIGxhdGVyYWwiCi0KLSM6IGZldGNoLXBhY2suYzo5NTEKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctdGlwLXNoYTEtaW4td2FudCIKLW1zZ3N0ciAiRWwgc2Vydmlkb3IgYWNjZXB0YSBhbGxvdy10aXAtc2hhMS1pbi13YW50IgotCi0jOiBmZXRjaC1wYWNrLmM6OTU1Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCi1tc2dzdHIgIkVsIHNlcnZpZG9yIGFjY2VwdGEgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKLQogIzogZmV0Y2gtcGFjay5jOjk2NQotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBvZnMtZGVsdGEiCi1tc2dzdHIgIkVsIHNlcnZpZG9yIGFjY2VwdGEgb2ZzLWRlbHRhIgotCi0jOiBmZXRjaC1wYWNrLmM6OTcxIGZldGNoLXBhY2suYzoxMTU4Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIGZpbHRlciIKLW1zZ3N0ciAiRWwgc2Vydmlkb3IgYWNjZXB0YSBmaWx0cmUiCi0KLSM6IGZldGNoLXBhY2suYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VydmVyIHZlcnNpb24gaXMgJS4qcyIKIG1zZ3N0ciAiTGEgdmVyc2nDsyBkZWwgc2Vydmlkb3Igw6lzICUuKnMiCiAKLSM6IGZldGNoLXBhY2suYzo5ODUKKyM6IGZldGNoLXBhY2suYzo5NzAgZmV0Y2gtcGFjay5jOjk3NiBmZXRjaC1wYWNrLmM6OTc5IGZldGNoLXBhY2suYzo5ODUKKyM6IGZldGNoLXBhY2suYzo5ODkgZmV0Y2gtcGFjay5jOjk5MyBmZXRjaC1wYWNrLmM6OTk3IGZldGNoLXBhY2suYzoxMDAxCisjOiBmZXRjaC1wYWNrLmM6MTAwNSBmZXRjaC1wYWNrLmM6MTAwOSBmZXRjaC1wYWNrLmM6MTAxMyBmZXRjaC1wYWNrLmM6MTAxNworIzogZmV0Y2gtcGFjay5jOjEwMjMgZmV0Y2gtcGFjay5jOjEwMjkgZmV0Y2gtcGFjay5jOjEwMzQgZmV0Y2gtcGFjay5jOjEwMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzICVzIgorbXNnc3RyICJFbCBzZXJ2aWRvciBhY2NlcHRhICVzIgorCisjOiBmZXRjaC1wYWNrLmM6OTcyCittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgorbXNnc3RyICJFbCBzZXJ2aWRvciBubyBwZXJtZXQgY2xpZW50cyBzdXBlcmZpY2lhbHMiCisKKyM6IGZldGNoLXBhY2suYzoxMDMyCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LXNpbmNlIgogbXNnc3RyICJFbCBzZXJ2aWRvciBubyBhZG1ldCAtLXNoYWxsb3ctc2luY2UiCiAKLSM6IGZldGNoLXBhY2suYzo5ODkKKyM6IGZldGNoLXBhY2suYzoxMDM3CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LWV4Y2x1ZGUiCiBtc2dzdHIgIkVsIHNlcnZpZG9yIG5vIGFkbWV0IC0tc2hhbGxvdy1leGNsdWRlIgogCi0jOiBmZXRjaC1wYWNrLmM6OTkxCisjOiBmZXRjaC1wYWNrLmM6MTA0MQogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tZGVlcGVuIgogbXNnc3RyICJFbCBzZXJ2aWRvciBubyBhZG1ldCAtLWRlZXBlbiIKIAotIzogZmV0Y2gtcGFjay5jOjEwMDgKKyM6IGZldGNoLXBhY2suYzoxMDU4CiBtc2dpZCAibm8gY29tbW9uIGNvbW1pdHMiCiBtc2dzdHIgImNhcCBjb21pc3Npw7MgZW4gY29tw7oiCiAKLSM6IGZldGNoLXBhY2suYzoxMDIwIGZldGNoLXBhY2suYzoxNDE4CisjOiBmZXRjaC1wYWNrLmM6MTA3MCBmZXRjaC1wYWNrLmM6MTUzNgogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBmZXRjaCBmYWlsZWQuIgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogbCdvYnRlbmNpw7MgaGEgZmFsbGF0LiIKIAotIzogZmV0Y2gtcGFjay5jOjExNTMKLSMsIGZ1enp5CisjOiBmZXRjaC1wYWNrLmM6MTIwOQogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgcmVxdWVzdHMiCi1tc2dzdHIgIkVsIHNlcnZpZG9yIG5vIHBlcm1ldCBjbGllbnRzIHN1cGVyZmljaWFscyIKK21zZ3N0ciAiRWwgc2Vydmlkb3Igbm8gcGVybWV0IHBldGljaW9ucyBzdXBlcmZpY2lhbHMiCiAKLSM6IGZldGNoLXBhY2suYzoxMTk5CisjOiBmZXRjaC1wYWNrLmM6MTIxNgorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBmaWx0ZXIiCittc2dzdHIgIkVsIHNlcnZpZG9yIGFjY2VwdGEgZmlsdHJhdGdlIgorCisjOiBmZXRjaC1wYWNrLmM6MTIzOQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSByZXF1ZXN0IHRvIHJlbW90ZSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwZXRpY2nDsyBhbCByZW1vdCIKKworIzogZmV0Y2gtcGFjay5jOjEyNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcmVhZGluZyBzZWN0aW9uIGhlYWRlciAnJXMnIgogbXNnc3RyICJlcnJvciBlbiBsbGVnaXIgbGEgY2Fww6dhbGVyYSBkZSBsYSBzZWNjacOzIMKrJXPCuyIKIAotIzogZmV0Y2gtcGFjay5jOjEyMDUKKyM6IGZldGNoLXBhY2suYzoxMjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkICclcycsIHJlY2VpdmVkICclcyciCiBtc2dzdHIgInMnZXNwZXJhdmEgwqslc8K7LCBzJ2hhIHJlYnV0IMKrJXPCuyIKIAotIzogZmV0Y2gtcGFjay5jOjEyNDQKKyM6IGZldGNoLXBhY2suYzoxMzAzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYWNrbm93bGVkZ21lbnQgbGluZTogJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJsw61uaWEgZGUgY29uZmlybWFjacOzIGluZXNwZXJhZGE6IMKrJXPCuyIKIAotIzogZmV0Y2gtcGFjay5jOjEyNDkKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogZmV0Y2gtcGFjay5jOjEzMDgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcHJvY2Vzc2luZyBhY2tzOiAlZCIKLW1zZ3N0ciAiZXJyb3IgZW4gbGxlZ2lyICVzIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHByb2Nlc3NhciBlbHMgYWNrczogJWQiCiAKLSM6IGZldGNoLXBhY2suYzoxMjU5CisjOiBmZXRjaC1wYWNrLmM6MTMxOAogbXNnaWQgImV4cGVjdGVkIHBhY2tmaWxlIHRvIGJlIHNlbnQgYWZ0ZXIgJ3JlYWR5JyIKLW1zZ3N0ciAiIgorbXNnc3RyICJzJ2VzcGVyYSBsJ2VudmlhbWVudCBkZWwgZml0eGVyIGRlIHBhcXVldCBkZXNwcsOpcyBkZSDCq3JlYWR5wrsiCiAKLSM6IGZldGNoLXBhY2suYzoxMjYxCisjOiBmZXRjaC1wYWNrLmM6MTMyMAogbXNnaWQgImV4cGVjdGVkIG5vIG90aGVyIHNlY3Rpb25zIHRvIGJlIHNlbnQgYWZ0ZXIgbm8gJ3JlYWR5JyIKLW1zZ3N0ciAiIgorbXNnc3RyICJzJ2VzcGVyYSBxdWUgY2FwIGFsdHJhIHNlY2Npb25zIHMnZW52acOvIGRlc3Byw6lzIGRlIG5vIMKrcmVhZHnCuyIKIAotIzogZmV0Y2gtcGFjay5jOjEyOTgKKyM6IGZldGNoLXBhY2suYzoxMzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHByb2Nlc3Npbmcgc2hhbGxvdyBpbmZvOiAlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHByb2Nlc3NhciBsYSBpbmZvcm1hY2nDsyBzdXBlcmZpY2lhbDogJWQiCiAKLSM6IGZldGNoLXBhY2suYzoxMzE0Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGZldGNoLXBhY2suYzoxNDA5CisjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIHdhbnRlZC1yZWYsIGdvdCAnJXMnIgotbXNnc3RyICJzJ2VzcGVyYXZhIHNoYWxsb3cvdW5zaGFsbG93LCBzJ2hhIHJlYnV0ICVzIgorbXNnc3RyICJzJ2VzcGVyYXZhIHdhbnRlZC1yZWYsIHMnaGEgcmVidXQgwqslc8K7IgogCi0jOiBmZXRjaC1wYWNrLmM6MTMyNAotIywgZnV6enksIGMtZm9ybWF0CisjOiBmZXRjaC1wYWNrLmM6MTQxNAorIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHdhbnRlZC1yZWY6ICclcyciCi1tc2dzdHIgImZpbmFsIGRlIGZpdHhlciBpbmVzcGVyYXQiCittc2dzdHIgIndhbnRlZC1yZWYgaW5lc3BlcmF0OiDCqyVzwrsiCiAKLSM6IGZldGNoLXBhY2suYzoxMzI4CisjOiBmZXRjaC1wYWNrLmM6MTQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBwcm9jZXNzaW5nIHdhbnRlZCByZWZzOiAlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHByb2Nlc3NhciBsZXMgcmVmZXLDqG5jaWVzIGRlc2l0amFkZXM6ICVkIgogCi0jOiBmZXRjaC1wYWNrLmM6MTY0MgorIzogZmV0Y2gtcGFjay5jOjE3NjIKIG1zZ2lkICJubyBtYXRjaGluZyByZW1vdGUgaGVhZCIKIG1zZ3N0ciAibm8gaGkgaGEgY2FwIEhFQUQgcmVtb3QgY29pbmNpZGVudCIKIAotIzogZmV0Y2gtcGFjay5jOjE2NjAgYnVpbHRpbi9jbG9uZS5jOjY2NAorIzogZmV0Y2gtcGFjay5jOjE3ODUgYnVpbHRpbi9jbG9uZS5jOjY4OAogbXNnaWQgInJlbW90ZSBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzIgogbXNnc3RyICJlbCByZW1vdCBubyBoYSBlbnZpYXQgdG90cyBlbHMgb2JqZWN0ZXMgbmVjZXNzYXJpcyIKIAotIzogZmV0Y2gtcGFjay5jOjE2ODYKKyM6IGZldGNoLXBhY2suYzoxODEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcmVtb3RlIHJlZiAlcyIKIG1zZ3N0ciAibm8gZXhpc3RlaXggbGEgcmVmZXLDqG5jaWEgcmVtb3RhICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MTY4OQorIzogZmV0Y2gtcGFjay5jOjE4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IGFsbG93IHJlcXVlc3QgZm9yIHVuYWR2ZXJ0aXNlZCBvYmplY3QgJXMiCiBtc2dzdHIgIkVsIHNlcnZpZG9yIG5vIHBlcm1ldCBzb2zCt2xpY2l0YXIgb2JqZWN0ZXMgbm8gYW51bmNpYXRzICVzIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MzE4Ci1tc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgotbXNnc3RyICJncGcgaGEgZmFsbGF0IGVuIHNpZ25hciBsZXMgZGFkZXMiCi0KLSM6IGdwZy1pbnRlcmZhY2UuYzozNDQKKyM6IGdwZy1pbnRlcmZhY2UuYzoyMjMKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIGVsIGZpdHhlciB0ZW1wb3JhbCIKIAotIzogZ3BnLWludGVyZmFjZS5jOjM0NworIzogZ3BnLWludGVyZmFjZS5jOjIyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlc2NyaXVyZSBsYSBzaWduYXR1cmEgc2VwYXJhZGEgYSDCqyVzwrsiCiAKLSM6IGdyYXBoLmM6OTcKKyM6IGdwZy1pbnRlcmZhY2UuYzozOTAKK21zZ2lkICJncGcgZmFpbGVkIHRvIHNpZ24gdGhlIGRhdGEiCittc2dzdHIgImdwZyBoYSBmYWxsYXQgZW4gc2lnbmFyIGxlcyBkYWRlcyIKKworIzogZ3JhcGguYzo5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmUgaW52YWxpZCBjb2xvciAnJS4qcycgaW4gbG9nLmdyYXBoQ29sb3JzIgogbXNnc3RyICJpZ25vcmEgZWwgY29sb3Igbm8gdsOgbGlkIMKrJS4qc8K7IGVuIGxvZy5ncmFwaENvbG9ycyIKIAotIzogZ3JlcC5jOjIxMTMKKyM6IGdyZXAuYzo2NjgKK21zZ2lkICIiCisiZ2l2ZW4gcGF0dGVybiBjb250YWlucyBOVUxMIGJ5dGUgKHZpYSAtZiA8ZmlsZT4pLiBUaGlzIGlzIG9ubHkgc3VwcG9ydGVkICIKKyJ3aXRoIC1QIHVuZGVyIFBDUkUgdjIiCittc2dzdHIgIiIKKworIzogZ3JlcC5jOjIxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIsKrJXPCuzogbm8gcydoYSBwb2d1dCBsbGVnaXIgJXMiCiAKLSM6IGdyZXAuYzoyMTMwIHNldHVwLmM6MTY0IGJ1aWx0aW4vY2xvbmUuYzo0MTAgYnVpbHRpbi9kaWZmLmM6ODEKLSM6IGJ1aWx0aW4vcm0uYzoxMzQKKyM6IGdyZXAuYzoyMTQxIHNldHVwLmM6MTY1IGJ1aWx0aW4vY2xvbmUuYzo0MTEgYnVpbHRpbi9kaWZmLmM6ODIKKyM6IGJ1aWx0aW4vcm0uYzoxMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJyVzJyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBmZXIgc3RhdCBhIMKrJXPCuyIKIAotIzogZ3JlcC5jOjIxNDEKKyM6IGdyZXAuYzoyMTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHNob3J0IHJlYWQiCiBtc2dzdHIgIsKrJXPCuzogbGVjdHVyYSBjdXJ0YSIKQEAgLTI3MDMsOTMgKzM4MzAsOTEgQEAKIAogIzogaGVscC5jOjM1CiBtc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gTWFuaXB1bGF0b3JzIgotbXNnc3RyICIiCittc2dzdHIgIk9yZHJlcyBkZSBiYWl4IG5pdmVsbCAvIE1hbmlwdWxhZG9ycyIKIAogIzogaGVscC5jOjM2CiBtc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gSW50ZXJyb2dhdG9ycyIKLW1zZ3N0ciAiIgorbXNnc3RyICJPcmRyZXMgZGUgYmFpeCBuaXZlbGwgLyBJbnRlcnJvZ2Fkb3JzIgogCiAjOiBoZWxwLmM6MzcKLW1zZ2lkICJMb3ctbGV2ZWwgQ29tbWFuZHMgLyBTeW5jaGluZyBSZXBvc2l0b3JpZXMiCi1tc2dzdHIgIiIKK21zZ2lkICJMb3ctbGV2ZWwgQ29tbWFuZHMgLyBTeW5jaW5nIFJlcG9zaXRvcmllcyIKK21zZ3N0ciAiT3JkcmVzIGRlIGJhaXggbml2ZWxsIC8gU2luY3Jvbml0emFjacOzIGRlIGRpcMOyc2l0cyIKIAogIzogaGVscC5jOjM4CiBtc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gSW50ZXJuYWwgSGVscGVycyIKLW1zZ3N0ciAiIgorbXNnc3RyICJPcmRyZXMgZGUgYmFpeCBuaXZlbGwgLyBBanVkYW50cyBpbnRlcm5zIgogCi0jOiBoZWxwLmM6Mjk2CisjOiBoZWxwLmM6Mjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImF2YWlsYWJsZSBnaXQgY29tbWFuZHMgaW4gJyVzJyIKIG1zZ3N0ciAib3JkcmVzIGRlIGdpdCBkaXNwb25pYmxlcyBlbiDCqyVzwrsiCiAKLSM6IGhlbHAuYzozMDMKKyM6IGhlbHAuYzozMDUKIG1zZ2lkICJnaXQgY29tbWFuZHMgYXZhaWxhYmxlIGZyb20gZWxzZXdoZXJlIG9uIHlvdXIgJFBBVEgiCiBtc2dzdHIgIm9yZHJlcyBkZSBnaXQgZGlzcG9uaWJsZXMgZCdhbHRyZXMgbGxvY3MgZW4gZWwgdm9zdHJlICRQQVRIIgogCi0jOiBoZWxwLmM6MzEyCisjOiBoZWxwLmM6MzE0CiBtc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgogbXNnc3RyICIiCiAiQXF1ZXN0ZXMgc8OzbiBvcmRyZXMgZGVsIEdpdCBoYWJpdHVhbG1lbnQgdXNhZGVzIGVuIGRpdmVyc2VzIHNpdHVhY2lvbnM6IgogCi0jOiBoZWxwLmM6MzYxIGdpdC5jOjkwCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGhlbHAuYzozNjMgZ2l0LmM6OTgKKyMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCBsaXN0aW5nIHR5cGUgJyVzJyIKLW1zZ3N0ciAidmVyc2nDsyBkJ8OtbmRleCBubyBjb21wYXRpYmxlICVzIgorbXNnc3RyICJ0aXB1cyBkZSBsbGlzdGF0IGRlIGwnb3JkcmUgbm8gY29tcGF0aWJsZSDCqyVzwrsiCiAKLSM6IGhlbHAuYzo0MDgKLSMsIGZ1enp5CisjOiBoZWxwLmM6NDAzCiBtc2dpZCAiVGhlIGNvbW1vbiBHaXQgZ3VpZGVzIGFyZToiCi1tc2dzdHIgIkxlcyBndWllcyBkZSBHaXQgY29tdW5lcyBzw7NuOlxuIgorbXNnc3RyICJMZXMgZ3VpZXMgZGUgR2l0IGNvbXVuZXMgc8OzbjoiCisKKyM6IGhlbHAuYzo1MTIKK21zZ2lkICJTZWUgJ2dpdCBoZWxwIDxjb21tYW5kPicgdG8gcmVhZCBhYm91dCBhIHNwZWNpZmljIHN1YmNvbW1hbmQiCittc2dzdHIgIlZlZ2V1IMKrZ2l0IGhlbHAgPG9yZHJlPsK7IHBlciBsbGVnaXIgc29icmUgdW4gc3Vib3JkcmUgZXNwZWPDrWZpYyIKIAogIzogaGVscC5jOjUxNwotbXNnaWQgIlNlZSAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyB0byByZWFkIGFib3V0IGEgc3BlY2lmaWMgc3ViY29tbWFuZCIKLW1zZ3N0ciAiIgotCi0jOiBoZWxwLmM6NTIyCi0jLCBmdXp6eQogbXNnaWQgIkV4dGVybmFsIGNvbW1hbmRzIgotbXNnc3RyICJzJ2VzdMOgIGV4ZWN1dGFudCAkY29tbWFuZCIKK21zZ3N0ciAiT3JkcmVzIGV4dGVybmVzIgogCi0jOiBoZWxwLmM6NTMwCisjOiBoZWxwLmM6NTMyCiBtc2dpZCAiQ29tbWFuZCBhbGlhc2VzIgotbXNnc3RyICIiCittc2dzdHIgIsOAbGllcyBkJ29yZHJlcyIKIAotIzogaGVscC5jOjU5NAorIzogaGVscC5jOjU5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBhcHBlYXJzIHRvIGJlIGEgZ2l0IGNvbW1hbmQsIGJ1dCB3ZSB3ZXJlIG5vdFxuIgogImFibGUgdG8gZXhlY3V0ZSBpdC4gTWF5YmUgZ2l0LSVzIGlzIGJyb2tlbj8iCiBtc2dzdHIgIiIKLSLCqyVzwrsgc2VtYmxhIHVuYSBvcmRyZSBkZSBnaXQsIHBlcsOyIG5vIGhlbSBwb2d1dFxuIgorIsKrJXPCuyBzZW1ibGEgdW4gb3JkcmUgZGUgZ2l0LCBwZXLDsiBubyBoZW0gcG9ndXRcbiIKICJleGVjdXRhci1sYS4gUG90IHNlciBxdWUgZ2l0LSVzIGVzdGlndWkgbWFsbcOocz8iCiAKLSM6IGhlbHAuYzo2NTMKKyM6IGhlbHAuYzo2NTUKIG1zZ2lkICJVaCBvaC4gWW91ciBzeXN0ZW0gcmVwb3J0cyBubyBHaXQgY29tbWFuZHMgYXQgYWxsLiIKIG1zZ3N0ciAiQWkuIEVsIHZvc3RyZSBzaXN0ZW1hIG5vIGluZm9ybWEgZGUgY2FwIG9yZHJlIGRlIEdpdC4iCiAKLSM6IGhlbHAuYzo2NzUKKyM6IGhlbHAuYzo2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiV0FSTklORzogWW91IGNhbGxlZCBhIEdpdCBjb21tYW5kIG5hbWVkICclcycsIHdoaWNoIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAiIgotIkFEVkVSVMOITkNJQTogSGV1IGludm9jYXQgdW5hIG9yZHJlIGRlIEdpdCBhbWIgbm9tIMKrJXPCuywgbGEgcXVhbCBubyBleGlzdGVpeC4iCisiQURWRVJUw4hOQ0lBOiBIZXUgaW52b2NhdCB1biBvcmRyZSBkZSBHaXQgYW1iIG5vbSDCqyVzwrssIGxhIHF1YWwgbm8gZXhpc3RlaXguIgogCi0jOiBoZWxwLmM6NjgwCisjOiBoZWxwLmM6NjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbnRpbnVpbmcgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCB5b3UgbWVhbnQgJyVzJy4iCiBtc2dzdHIgIkVsIHByb2PDqXMgY29udGludWFyw6AsIHByZXNzdXBvc2FudCBxdWUgdm9sw61ldSBkaXIgwqslc8K7LiIKIAotIzogaGVscC5jOjY4NQorIzogaGVscC5jOjY4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb250aW51aW5nIGluICUwLjFmIHNlY29uZHMsIGFzc3VtaW5nIHRoYXQgeW91IG1lYW50ICclcycuIgogbXNnc3RyICIiCiAiRWwgcHJvY8OpcyBjb250aW51YXLDoCBlbiAlMC4xZiBzZWdvbnMsIHByZXNzdXBvc2FudCBxdWUgdm9sw61ldSBkaXIgwqslc8K7LiIKIAotIzogaGVscC5jOjY5MworIzogaGVscC5jOjY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQ6ICclcycgaXMgbm90IGEgZ2l0IGNvbW1hbmQuIFNlZSAnZ2l0IC0taGVscCcuIgotbXNnc3RyICJnaXQ6IMKrJXPCuyBubyDDqXMgdW5hIG9yZHJlIGRlIGdpdC4gVmVnZXUgJ2dpdCAtLWhlbHAnLiIKK21zZ3N0ciAiZ2l0OiDCqyVzwrsgbm8gw6lzIHVuIG9yZHJlIGRlIGdpdC4gVmVnZXUgwqtnaXQgLS1oZWxwwrsuIgogCi0jOiBoZWxwLmM6Njk3CisjOiBoZWxwLmM6Njk5CiBtc2dpZCAiIgogIlxuIgogIlRoZSBtb3N0IHNpbWlsYXIgY29tbWFuZCBpcyIKQEAgLTI4MDEsMTggKzM5MjYsMTggQEAKICJMJ29yZHJlIG3DqXMgc2ltaWxhciDDqXMiCiBtc2dzdHJbMV0gIiIKICJcbiIKLSJMZXMgb3JkcmVzIG3DqXMgc2ltaWxhciBzw7NuIgorIkxlcyBvcmRyZXMgbcOpcyBzaW1pbGFycyBzw7NuIgogCi0jOiBoZWxwLmM6NzEyCisjOiBoZWxwLmM6NzE0CiBtc2dpZCAiZ2l0IHZlcnNpb24gWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCB2ZXJzaW9uIFs8b3BjaW9ucz5dIgogCi0jOiBoZWxwLmM6NzgwCisjOiBoZWxwLmM6NzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyAtICVzIgogbXNnc3RyICIlczogJXMgLSAlcyIKIAotIzogaGVscC5jOjc4NAorIzogaGVscC5jOjc4NwogbXNnaWQgIiIKICJcbiIKICJEaWQgeW91IG1lYW4gdGhpcz8iCkBAIC0yODI2LDcgKzM5NTEsNyBAQAogIlxuIgogIlZvbMOtZXUgZGlyIHVuIGQnYXF1ZXN0cz8iCiAKLSM6IGlkZW50LmM6MzQ1CisjOiBpZGVudC5jOjM0OQogbXNnaWQgIiIKICJcbiIKICIqKiogUGxlYXNlIHRlbGwgbWUgd2hvIHlvdSBhcmUuXG4iCkBAIC0yODUxLDU3ICszOTc2LDk1IEBACiAicGVyIGEgZXN0YWJsaXIgbGEgaWRlbnRpdGF0IHByZWRldGVybWluYWRhIGRlbCB2b3N0cmUgY29tcHRlLlxuIgogIk9tZXRldSAtLWdsb2JhbCBwZXIgYSBlc3RhYmxpciBsYSBpZGVudGl0YXQgbm9tw6lzIGVuIGFxdWVzdCBkaXDDsnNpdC5cbiIKIAotIzogaWRlbnQuYzozNjkKKyM6IGlkZW50LmM6Mzc5CiBtc2dpZCAibm8gZW1haWwgd2FzIGdpdmVuIGFuZCBhdXRvLWRldGVjdGlvbiBpcyBkaXNhYmxlZCIKIG1zZ3N0ciAiIgogIm5vIHMnaGEgcHJvcG9yY2lvbmF0IGNhcCBhZHJlw6dhIGVsZWN0csOybmljYSBpIGxhIGRldGVjY2nDsyBhdXRvbcOgdGljYSBlc3TDoCAiCiAiaW5oYWJpbGl0YWRhIgogCi0jOiBpZGVudC5jOjM3NAorIzogaWRlbnQuYzozODQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGF1dG8tZGV0ZWN0IGVtYWlsIGFkZHJlc3MgKGdvdCAnJXMnKSIKIG1zZ3N0ciAiIgogIm5vIHMnaGEgcG9ndXQgZGV0ZWN0YXIgYXV0b23DoHRpY2FtZW50IHVuYSBhZHJlw6dhIGVsZWN0csOybmljYSB2w6BsaWRhIChzJ2hhICIKICJyZWJ1dCDCqyVzwrspIgogCi0jOiBpZGVudC5jOjM4NAorIzogaWRlbnQuYzo0MDEKIG1zZ2lkICJubyBuYW1lIHdhcyBnaXZlbiBhbmQgYXV0by1kZXRlY3Rpb24gaXMgZGlzYWJsZWQiCiBtc2dzdHIgIiIKICJubyBzJ2hhIHByb3BvcmNpb25hdCBjYXAgbm9tIGkgbGEgZGV0ZWNjacOzIGF1dG9tw6B0aWNhIGVzdMOgIGluaGFiaWxpdGFkYSIKIAotIzogaWRlbnQuYzozOTAKKyM6IGlkZW50LmM6NDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBuYW1lIChnb3QgJyVzJykiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZGV0ZWN0YXIgYXV0b23DoHRpY2FtZW50IGVsIG5vbSAocydoYSByZWJ1dCDCqyVzwrspIgogCi0jOiBpZGVudC5jOjM5OAorIzogaWRlbnQuYzo0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1wdHkgaWRlbnQgbmFtZSAoZm9yIDwlcz4pIG5vdCBhbGxvd2VkIgogbXNnc3RyICJub20gZCdpZGVudGl0YXQgYnVpdCAocGVyIDwlcz4pIG5vIMOpcyBwZXJtw6hzIgogCi0jOiBpZGVudC5jOjQwNAorIzogaWRlbnQuYzo0MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAibmFtZSBjb25zaXN0cyBvbmx5IG9mIGRpc2FsbG93ZWQgY2hhcmFjdGVyczogJXMiCiBtc2dzdHIgImVsIG5vbSBjb250w6kgbm9tw6lzIGNhcsOgY3RlcnMgbm8gcGVybWVzb3M6ICVzIgogCi0jOiBpZGVudC5jOjQxOSBidWlsdGluL2NvbW1pdC5jOjYwNgorIzogaWRlbnQuYzo0MzYgYnVpbHRpbi9jb21taXQuYzo2MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdDogJXMiCiBtc2dzdHIgImZvcm1hdCBkZSBkYXRhIG5vIHbDoGxpZDogJXMiCiAKLSM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjM1Ci1tc2dpZCAibXVsdGlwbGUgZmlsdGVyLXNwZWNzIGNhbm5vdCBiZSBjb21iaW5lZCIKLW1zZ3N0ciAiIgorIzogbGlzdC1vYmplY3RzLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgImVudHJ5ICclcycgaW4gdHJlZSAlcyBoYXMgdHJlZSBtb2RlLCBidXQgaXMgbm90IGEgdHJlZSIKK21zZ3N0ciAibCdlbnRyYWRhIMKrJXPCuyBhIGwnYXJicmUgJXMgdMOpIG1vZGUgZCdhcmJyZSwgcGVyw7Igbm8gw6lzIHVuIGFyYnJlIgorCisjOiBsaXN0LW9iamVjdHMuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW50cnkgJyVzJyBpbiB0cmVlICVzIGhhcyBibG9iIG1vZGUsIGJ1dCBpcyBub3QgYSBibG9iIgorbXNnc3RyICJsJ2VudHJhZGEgwqslc8K7IGEgbCdhcmJyZSAlcyB0w6kgbW9kZSBibG9iLCBwZXLDsiBubyDDqXMgdW4gYmxvYiIKKworIzogbGlzdC1vYmplY3RzLmM6Mzc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBsb2FkIHJvb3QgdHJlZSBmb3IgY29tbWl0ICVzIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNhcnJlZ2FyIGwnYXJyZWwgZGUgbCdhcmJyZSBwZXIgbGEgY29taXNzacOzICVzIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLmM6NDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYWNjZXNzIHNwYXJzZSBibG9iIGluICclcyciCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWNjZWRpciBhIMKrJXPCuyIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci5jOjQ5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIHNwYXJzZSBmaWx0ZXIgZGF0YSBpbiAlcyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgJXMiCiAKICM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjU4Ci0jLCBmdXp6eQotbXNnaWQgIm9ubHkgJ3RyZWU6MCcgaXMgc3VwcG9ydGVkIgotbXNnc3RyICJlbCBwcm90b2NvbCDCqyVzwrsgbm8gw6lzIGNvbXBhdGlibGUiCittc2dpZCAiZXhwZWN0ZWQgJ3RyZWU6PGRlcHRoPiciCittc2dzdHIgInMnZXNwZXJhdmEgwqt0cmVlOjxwcm9mdW5kaXRhdD7CuyIKIAotIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MTM3Ci1tc2dpZCAiY2Fubm90IGNoYW5nZSBwYXJ0aWFsIGNsb25lIHByb21pc29yIHJlbW90ZSIKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjczCittc2dpZCAic3BhcnNlOnBhdGggZmlsdGVycyBzdXBwb3J0IGhhcyBiZWVuIGRyb3BwZWQiCiBtc2dzdHIgIiIKIAorIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBmaWx0ZXItc3BlYyAnJXMnIgorbXNnc3RyICJmaWx0cmUgZCdlc3BlY2lmaWNhY2nDsyBubyB2w6BsaWQ6IMKrJXPCuyIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgZXNjYXBlIGNoYXIgaW4gc3ViLWZpbHRlci1zcGVjOiAnJWMnIgorbXNnc3RyICIiCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjE0NAorbXNnaWQgImV4cGVjdGVkIHNvbWV0aGluZyBhZnRlciBjb21iaW5lOiIKK21zZ3N0ciAiIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzoyMjYKK21zZ2lkICJtdWx0aXBsZSBmaWx0ZXItc3BlY3MgY2Fubm90IGJlIGNvbWJpbmVkIgorbXNnc3RyICJubyBlcyBwb2RlbiBjb21iaW5hciBtw7psdGlwbGVzIGVzcGVjaWZpY2FjaW9ucyBkZSBmaWx0cmF0Z2UiCisKICM6IGxvY2tmaWxlLmM6MTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKQEAgLTI5MTYsOCArNDA3OSw4IEBACiAiTm8gcydoYSBwb2d1dCBjcmVhciAnJXMubG9jayc6ICVzLlxuIgogIlxuIgogIlNlbWJsYSBxdWUgdW4gYWx0cmUgcHJvY8OpcyBkZSBnaXQgcydlc3TDoCBleGVjdXRhbnQgZW4gYXF1ZXN0XG4iCi0iZGlww7JzaXQsIHBlciBleGVtcGxlLCB1biBlZGl0b3Igb2JlcnQgcGVyICdnaXQgY29tbWl0Jy4gXG4iCi0iQXNzZWd1cmV1LXZvcyBxdWUgdG90cyBlbHMgcHJvY2Vzc29zIHMnaGFnaW4gdGVybWluYXQgaVxuIgorImRpcMOyc2l0LCBwZXIgZXhlbXBsZSwgdW4gZWRpdG9yIG9iZXJ0IHBlciDCq2dpdCBjb21taXTCuy4gXG4iCisiQXNzZWd1cmV1LXZvcyBxdWUgdG90cyBlbHMgcHJvY2Vzc29zIHMnaGFnaW4gYWNhYmF0IGlcbiIKICJsbGF2b3JzIHByb3ZldSBkZSBub3UuIFNpIGVuY2FyYSBmYWxsYSwgcG90IHNlciBxdWUgdW4gcHJvY8OpcyBkZVxuIgogImdpdCBoYSB0aW5ndXQgdW4gZXJyb3I6XG4iCiAiZWxpbWluZXUgZWwgZml0eGVyIG1hbnVhbG1lbnQgcGVyIGEgY29udGludWFyLiIKQEAgLTI5MjUsMTE5ICs0MDg4LDEyMCBAQAogIzogbG9ja2ZpbGUuYzoxNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNyZWF0ZSAnJXMubG9jayc6ICVzIgotbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGNyZWFyICclcy5sb2NrJzogJXMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgY3JlYXIgwqslcy5sb2Nrwrs6ICVzIgogCiAjOiBtZXJnZS5jOjQxCiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGNhY2hlIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGxsZWdpciBsYSBtZW3DsnJpYSBjYXUiCiAKLSM6IG1lcmdlLmM6MTA3IHJlcmVyZS5jOjcyMCBidWlsdGluL2FtLmM6MTg5OSBidWlsdGluL2FtLmM6MTkzMwotIzogYnVpbHRpbi9jaGVja291dC5jOjM4NyBidWlsdGluL2NoZWNrb3V0LmM6NzA4IGJ1aWx0aW4vY2xvbmUuYzo3NjQKKyM6IG1lcmdlLmM6MTA3IHJlcmVyZS5jOjcyMCBidWlsdGluL2FtLmM6MTg3NCBidWlsdGluL2FtLmM6MTkwOAorIzogYnVpbHRpbi9jaGVja291dC5jOjUzOSBidWlsdGluL2NoZWNrb3V0LmM6Nzk4IGJ1aWx0aW4vY2xvbmUuYzo4MDkKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNjQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgdW4gZml0eGVyIGQnw61uZGV4IG5vdSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzIzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNjcKIG1zZ2lkICIoYmFkIGNvbW1pdClcbiIKIG1zZ3N0ciAiKGNvbWlzc2nDsyBlcnLDsm5pYSlcbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQ1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM5MAorIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfY2FjaGVpbmZvIGZhaWxlZCBmb3IgcGF0aCAnJXMnOyBtZXJnZSBhYm9ydGluZy4iCi1tc2dzdHIgImFkZGluZm9fY2FjaGUgaGEgZmFsbGF0IHBlciBhbCBjYW3DrSDCqyVzwrsiCittc2dzdHIgImFkZGluZm9fY2FjaGUgaGEgZmFsbGF0IHBlciBhbCBjYW3DrSDCqyVzwrs7IGludGVycm9tcGVudCBsYSBmdXNpw7MuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNTMKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6Mzk5CisjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9jYWNoZWluZm8gZmFpbGVkIHRvIHJlZnJlc2ggZm9yIHBhdGggJyVzJzsgbWVyZ2UgYWJvcnRpbmcuIgotbXNnc3RyICJhZGRpbmZvX2NhY2hlIGhhIGZhbGxhdCBwZXIgYWwgY2Ftw60gwqslc8K7IgorbXNnc3RyICIiCisiYWRkaW5mb19jYWNoZSBoYSBmYWxsYXQgYWwgcmVmcmVzY2FyIGVsIGNhbcOtIMKrJXPCuzsgaW50ZXJyb21wZW50IGxhIGZ1c2nDsy4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjQzNQotbXNnaWQgImVycm9yIGJ1aWxkaW5nIHRyZWVzIgotbXNnc3RyICJlcnJvciBlbiBjb25zdHJ1aXIgYXJicmVzIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5MDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBhdGggJyVzJyVzIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNyZWFyIGVsIGNhbcOtIMKrJXPCuyVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5MTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlcyB0byBtYWtlIHJvb20gZm9yIHN1YmRpcmVjdG9yeVxuIgogbXNnc3RyICJTJ2VzdMOgIGVsaW1pbmFudCAlcyBwZXIgYSBmZXIgZXNwYWkgcGVyIGFsIHN1YmRpcmVjdG9yaVxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5MzEgbWVyZ2UtcmVjdXJzaXZlLmM6OTUwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5MTAgbWVyZ2UtcmVjdXJzaXZlLmM6OTI5CiBtc2dpZCAiOiBwZXJoYXBzIGEgRC9GIGNvbmZsaWN0PyIKIG1zZ3N0ciAiOiBwb3RzZXIgdW4gY29uZmxpY3RlIEQvRj8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk0MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJyVzJyIKIG1zZ3N0ciAicydlc3TDoCByZWZ1c2FudCBwZXJkcmUgZWwgZml0eGVyIG5vIHNlZ3VpdCBhIMKrJXPCuyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTgyIGJ1aWx0aW4vY2F0LWZpbGUuYzozOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTYwIGJ1aWx0aW4vY2F0LWZpbGUuYzo0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IGxsZWdpciBsJ29iamVjdGUgJXMgwqslc8K7IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgogbXNnc3RyICJibG9iIGVzcGVyYXQgcGVyIGEgJXMgwqslc8K7IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDA4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJzogJXMiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXIgwqslc8K7OiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAxOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3ltbGluayAnJXMnOiAlcyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBmZXIgbCdlbmxsYcOnIHNpbWLDsmxpYyDCqyVzwrs6ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDI0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvIG5vdCBrbm93IHdoYXQgdG8gZG8gd2l0aCAlMDZvICVzICclcyciCiBtc2dzdHIgIm5vIHNlIHNhcCBxdcOoIGZlciBhbWIgJTA2byAlcyDCqyVzwrsiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMTIKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE5OQorIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChub3QgY2hlY2tlZCBvdXQpIgotbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHJlZ2lzdHJhciBlbCBzdWJtw7JkdWwgJyRzbV9wYXRoJyIKK21zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBmdXNpb25hciBlbCBzdWJtw7JkdWwgJXMgKG5vIGVzdMOgIGFnYWZhdCkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMTkKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIwNgorIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChjb21taXRzIG5vdCBwcmVzZW50KSIKLW1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiByZWdpc3RyYXIgZWwgc3VibcOyZHVsICckc21fcGF0aCciCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZnVzaW9uYXIgZWwgc3VibcOyZHVsICVzIChubyBoaSBoYSBjb21pc3Npb25zKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChjb21taXRzIGRvbid0IGZvbGxvdyBtZXJnZS1iYXNlKSIKIG1zZ3N0ciAiIgorIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZnVzaW9uYXIgZWwgc3VibcOyZHVsICVzIChsZXMgY29taXNzaW9ucyBubyAiCisic2VndWVpeGVuIG1lcmdlLWJhc2UpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjM0IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjEgbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRpbmcgc3VibW9kdWxlICVzIHRvIHRoZSBmb2xsb3dpbmcgY29tbWl0OiIKLW1zZ3N0ciAiIgorbXNnc3RyICJBdmFuw6dhbWVudCByw6BwaWQgZGVsIHN1Ym3DsmR1bCAlcyBhIGxhIHNlZ8O8ZW50IGNvbWlzc2nDszoiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzcgbWVyZ2UtcmVjdXJzaXZlLmM6MTI0OQotIywgZnV6enksIGMtZm9ybWF0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjI0IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzYKKyMsIGMtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkaW5nIHN1Ym1vZHVsZSAlcyIKLW1zZ3N0ciAiQXZhbsOnIHLDoHBpZCBhICRzaGExIgorbXNnc3RyICJBdmFuw6dhbWVudCByw6BwaWQgYWwgc3VibcOyZHVsICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjcxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG1lcmdlIGZvbGxvd2luZyBjb21taXRzIG5vdCBmb3VuZCkiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI3NQotIywgZnV6enksIGMtZm9ybWF0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjYzCisjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG5vdCBmYXN0LWZvcndhcmQpIgotbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHJlZ2lzdHJhciBlbCBzdWJtw7JkdWwgJyRzbV9wYXRoJyIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI3NgotbXNnaWQgIkZvdW5kIGEgcG9zc2libGUgbWVyZ2UgcmVzb2x1dGlvbiBmb3IgdGhlIHN1Ym1vZHVsZTpcbiIKIG1zZ3N0ciAiIgorIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZnVzaW9uYXIgZWwgc3VibcOyZHVsICVzIChzZW5zZSBhdmFuw6dhbWVudCByw6BwaWQpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjY0Cittc2dpZCAiRm91bmQgYSBwb3NzaWJsZSBtZXJnZSByZXNvbHV0aW9uIGZvciB0aGUgc3VibW9kdWxlOlxuIgorbXNnc3RyICJTJ2hhIHRyb2JhdCB1bmEgcG9zc2libGUgcmVzb2x1Y2nDsyBkZSBmdXNpw7MgcGVsIHN1Ym3DsmR1bDpcbiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgdGhpcyBpcyBjb3JyZWN0IHNpbXBseSBhZGQgaXQgdG8gdGhlIGluZGV4IGZvciBleGFtcGxlXG4iCkBAIC0zMDQ4LDMxICs0MjEyLDM1IEBACiAid2hpY2ggd2lsbCBhY2NlcHQgdGhpcyBzdWdnZXN0aW9uLlxuIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyODgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobXVsdGlwbGUgbWVyZ2VzIGZvdW5kKSIKIG1zZ3N0ciAiIgorIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZnVzaW9uYXIgZWwgc3VibcOyZHVsICVzIChzJ2hhbiB0cm9iYXQgbcO6bHRpcGxlcyAiCisiZnVzaW9ucykiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzNTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzNDkKIG1zZ2lkICJGYWlsZWQgdG8gZXhlY3V0ZSBpbnRlcm5hbCBtZXJnZSIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBleGVjdXRhciBsYSBmdXNpw7MgaW50ZXJuYSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM2MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkICVzIHRvIGRhdGFiYXNlIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFmZWdpciAlcyBhIGxhIGJhc2UgZGUgZGFkZXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzOTUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0by1tZXJnaW5nICVzIgogbXNnc3RyICJTJ2VzdMOgIGF1dG9mdXNpb25hbnQgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0MTYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQxMAorIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvcjogUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlczsgd3JpdGluZyB0byAlcyBpbnN0ZWFkLiIKLW1zZ3N0ciAicydlc3TDoCByZWZ1c2FudCBwZXJkcmUgZWwgZml0eGVyIG5vIHNlZ3VpdCBhIMKrJXPCuyIKK21zZ3N0ciAiIgorIkVycm9yOiBzJ2VzdMOgIHJlZnVzYW50IHBlcmRyZSBlbCBmaXR4ZXIgbm8gc2VndWl0IGEgJXM7IGVuIGNvbXB0ZXMgcydoYSAiCisiZXNjcml0IGEgJXMuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDgzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCkBAIC0zMDgxLDcgKzQyNDksNyBAQAogIkNPTkZMSUNURTogKCVzL3N1cHJlc3Npw7MpOiAlcyBzdXByaW1pdCBlbiAlcyBpICVzIGVuICVzLiBMYSB2ZXJzacOzICVzIGRlICVzICIKICJzJ2hhIGRlaXhhdCBlbiBsJ2FyYnJlLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ4OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzICIKQEAgLTMwOTAsNyArNDI1OCw3IEBACiAiQ09ORkxJQ1RFOiAoJXMvc3VwcmVzc2nDsyk6ICVzIHN1cHJpbWl0IGVuICVzIGkgJXMgYSAlcyBlbiAlcy4gTGEgdmVyc2nDsyAlcyAiCiAiZGUgJXMgcydoYSBkZWl4YXQgZW4gbCdhcmJyZS4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0OTUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKQEAgLTMwOTksNyArNDI2Nyw3IEBACiAiQ09ORkxJQ1RFOiAoJXMvc3VwcmVzc2nDsyk6ICVzIHN1cHJpbWl0IGVuICVzIGkgJXMgZW4gJXMuIExhIHZlcnNpw7MgJXMgZGUgJXMgIgogInMnaGEgZGVpeGF0IGVuIGwnYXJicmUgYSAlcy4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MDAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCkBAIC0zMTE2LDU1ICs0Mjg0LDU4IEBACiBtc2dpZCAicmVuYW1lZCIKIG1zZ3N0ciAiY2FudmlhdCBkZSBub20iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1ODggbWVyZ2UtcmVjdXJzaXZlLmM6MTczNyBtZXJnZS1yZWN1cnNpdmUuYzoyMzY5Ci0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMTI0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjE0IG1lcmdlLXJlY3Vyc2l2ZS5jOjI1MzAgbWVyZ2UtcmVjdXJzaXZlLmM6MzE3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBsb3NlIGRpcnR5IGZpbGUgYXQgJXMiCi1tc2dzdHIgInMnZXN0w6AgcmVmdXNhbnQgYSBwZXJkcmUgZWwgZml0eGVyIGJydXQgYSAlcyIKK21zZ3N0ciAiUydlc3TDoCByZWZ1c2FudCBhIHBlcmRyZSBlbCBmaXR4ZXIgYnJ1dCBhICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjAyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJXMsIGV2ZW4gdGhvdWdoIGl0J3MgaW4gdGhlIHdheS4iCittc2dzdHIgIiIKKyJTJ2VzdMOgIHJlZnVzYW50IHBlcmRyZSBlbCBmaXR4ZXIgbm8gc2VndWl0IGEgwqslc8K7LCBtYWxncmF0IHF1ZSBlc3TDoCBlbiBtaWcgIgorImRlIGwnb3BlcmFjacOzLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MgorIywgYy1mb3JtYXQKK21zZ2lkICJDT05GTElDVCAocmVuYW1lL2FkZCk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuICBBZGRlZCAlcyBpbiAlcyIKK21zZ3N0ciAiIgorIkNPTkZMSUNURSAoY2FudmkgZGUgbm9tL2FmZWdpbWVudCk6IENhbnZpIGRlIG5vbSAlcy0+JXMgYSAlcy4gIFMnaGEgYWZlZ2l0ICIKKyIlcyBhICVzIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIGEgZGlyZWN0b3J5IGluICVzIGFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICIlcyDDqXMgdW4gZGlyZWN0b3JpIGVuICVzOyBzJ2VzdMOgIGFmZWdpbnQgY29tIGEgJXMgZW4gbGxvYyBkJ2FpeMOyIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjA3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJXM7IGFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICIiCiAicydlc3TDoCByZWZ1c2FudCBwZXJkcmUgZWwgZml0eGVyIG5vIHNlZ3VpdCBhICVzOyBlbiBjb21wdGVzLCBzJ2VzdMOgIGFmZWdpbnQgIgogImNvbSBhICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjMzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSBcIiVzXCItPlwiJXNcIiBpbiBicmFuY2ggXCIlc1wiIHJlbmFtZSBcIiVzIgogIlwiLT5cIiVzXCIgaW4gXCIlc1wiJXMiCiBtc2dzdHIgIiIKLSJDT05GTElDVEUgKGNhbnZpIGRlIG5vbS9jYW52aSBkZSBub20pOiBDYW52aSBkZSBub20gXCIlc1wiLT5cIiVzXCIgZW4gbGEgIgotImJyYW5jYSBcIiVzXCIgY2FudmkgZGUgbm9tIFwiJXNcIi0+XCIlc1wiIGVuIFwiJXNcIiVzIgorIkNPTkZMSUNURSAoY2FudmkgZGUgbm9tL2NhbnZpIGRlIG5vbSk6IENhbnZpIGRlIG5vbSDCqyVzwrstPsKrJXPCuyBlbiBsYSBicmFuY2EgIgorIsKrJXPCuyBjYW52aSBkZSBub20gwqslc8K7LT7CqyVzwrsgZW4gwqslc8K7JXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NDIKIG1zZ2lkICIgKGxlZnQgdW5yZXNvbHZlZCkiCiBtc2dzdHIgIiAoZGVpeGF0IHNlbnNlIHJlc29sdWNpw7MpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjk5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gUmVuYW1lICVzLT4lcyBpbiAlcyIKIG1zZ3N0ciAiIgogIkNPTkZMSUNURSAoY2FudmkgZGUgbm9tL2NhbnZpIGRlIG5vbSk6IENhbnZpIGRlIG5vbSAlcy0+JXMgZW4gJXMuIENhbnZpIGRlICIKICJub20gJXMtPiVzIGVuICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzIGFuZCAlcyB0byAlcyBpbnN0ZWFkIgotbXNnc3RyICJTJ2VzdMOgIGNhbnZpYW50IGVsIG5vbSBkZSAlcyBhICVzIGkgJXMgYSAlcyBlbiBsbG9jIGQnYWl4w7IiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NDYKLSMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgIlJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJXMsIGV2ZW4gdGhvdWdoIGl0J3MgaW4gdGhlIHdheS4iCi1tc2dzdHIgInMnZXN0w6AgcmVmdXNhbnQgcGVyZHJlIGVsIGZpdHhlciBubyBzZWd1aXQgYSDCqyVzwrsiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5NTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChkaXJlY3RvcnkgcmVuYW1lIHNwbGl0KTogVW5jbGVhciB3aGVyZSB0byBwbGFjZSAlcyBiZWNhdXNlICIKQEAgLTMxNzIsMjkwICs0MzQzLDM1MyBAQAogImdldHRpbmcgYSBtYWpvcml0eSBvZiB0aGUgZmlsZXMuIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5ODQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChpbXBsaWNpdCBkaXIgcmVuYW1lKTogRXhpc3RpbmcgZmlsZS9kaXIgYXQgJXMgaW4gdGhlIHdheSBvZiAiCiAiaW1wbGljaXQgZGlyZWN0b3J5IHJlbmFtZShzKSBwdXR0aW5nIHRoZSBmb2xsb3dpbmcgcGF0aChzKSB0aGVyZTogJXMuIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5OTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChpbXBsaWNpdCBkaXIgcmVuYW1lKTogQ2Fubm90IG1hcCBtb3JlIHRoYW4gb25lIHBhdGggdG8gJXM7ICIKICJpbXBsaWNpdCBkaXJlY3RvcnkgcmVuYW1lcyB0cmllZCB0byBwdXQgdGhlc2UgcGF0aHMgdGhlcmU6ICVzIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwODYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjI0OAorIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgZGlyZWN0b3J5ICVzLT4lcyBpbiAlcy4gUmVuYW1lIGRpcmVjdG9yeSAlcy0iCiAiPiVzIGluICVzIgogbXNnc3RyICIiCi0iQ09ORkxJQ1RFIChjYW52aSBkZSBub20vY2FudmkgZGUgbm9tKTogQ2FudmkgZGUgbm9tICVzLT4lcyBlbiAlcy4gQ2FudmkgZGUgIgotIm5vbSAlcy0+JXMgZW4gJXMiCisiQ09ORkxJQ1RFIChjYW52aSBkZSBub20vY2FudmkgZGUgbm9tKTogY2FudmkgZGUgbm9tICVzLT4lcyBlbiAlcy4gQ2FudmkgZGUgIgorIm5vbSBkZSBkaXJlY3RvcmkgJXMtPiVzIGVuICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMzMxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyNDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXQVJOSU5HOiBBdm9pZGluZyBhcHBseWluZyAlcyAtPiAlcyByZW5hbWUgdG8gJXMsIGJlY2F1c2UgJXMgaXRzZWxmIHdhcyAiCiAicmVuYW1lZC4iCiBtc2dzdHIgIiIKKyJBVsONUzogUydlc3TDoCBldml0YW50IGFwbGljYXIgZWwgY2FudmkgZGUgbm9tICVzIC0+ICVzIGEgJXMsIHBlcnF1w6ggJXMgZWxsICIKKyJtYXRlaXggamEgaGF2aWEgY2FudmlhdCBkZSBub20uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvYWRkKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gJXMgYWRkZWQgaW4gJXMiCi1tc2dzdHIgIiIKLSJDT05GTElDVEUgKGNhbnZpIGRlIG5vbS9hZmVnaW1lbnQpOiBDYW52aSBkZSBub20gJXMtPiVzIGVuICVzLiAlcyBhZmVnaXQgZW4gIgotIiVzIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzYzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkFkZGluZyBtZXJnZWQgJXMiCi1tc2dzdHIgIlMnZXN0w6AgYWZlZ2ludCAlcyBmdXNpb25hdCIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6Mjc3MCBtZXJnZS1yZWN1cnNpdmUuYzozMTI3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkFkZGluZyBhcyAlcyBpbnN0ZWFkIgotbXNnc3RyICJTJ2VzdMOgIGFmZWdpbnQgY29tIGEgJXMgZW4gbGxvYyBkJ2FpeMOyIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyOTM0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAibm8gZXMgcG90IGxsZWdpciBsJ29iamVjdGUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI5MzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIGlzIG5vdCBhIGJsb2IiCiBtc2dzdHIgImwnb2JqZWN0ZSAlcyBubyDDqXMgdW4gYmxvYiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAwNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA4NgogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAibW9kaWZpY2FjacOzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDA2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDg2CiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgIm1vZGlmaWNhdCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAxNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA5OAogbXNnaWQgImNvbnRlbnQiCiBtc2dzdHIgImNvbnRpbmd1dCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAyNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzEwMgogbXNnaWQgImFkZC9hZGQiCiBtc2dzdHIgImFmZWdpbWVudC9hZmVnaW1lbnQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwNzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBlZCAlcyAobWVyZ2VkIHNhbWUgYXMgZXhpc3RpbmcpIgogbXNnc3RyICJTJ2hhIG9tw6hzICVzIChlbCBmdXNpb25hdCDDqXMgaWd1YWwgYSBsJ2V4aXN0ZW50KSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA5MyBnaXQtc3VibW9kdWxlLnNoOjg1OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE0NyBnaXQtc3VibW9kdWxlLnNoOjk5MwogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAic3VibcOyZHVsIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDk0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IE1lcmdlIGNvbmZsaWN0IGluICVzIgogbXNnc3RyICJDT05GTElDVEUgKCVzKTogQ29uZmxpY3RlIGRlIGZ1c2nDsyBlbiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzIxNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE3OAorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKK21zZ3N0ciAiUydlc3TDoCBhZmVnaW50IGNvbSBhICVzIGVuIGxsb2MgZCdhaXjDsiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI2MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGF0aCB1cGRhdGVkOiAlcyBhZGRlZCBpbiAlcyBpbnNpZGUgYSBkaXJlY3RvcnkgdGhhdCB3YXMgcmVuYW1lZCBpbiAlczsgIgorIm1vdmluZyBpdCB0byAlcy4iCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI2NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKGZpbGUgbG9jYXRpb24pOiAlcyBhZGRlZCBpbiAlcyBpbnNpZGUgYSBkaXJlY3RvcnkgdGhhdCB3YXMgcmVuYW1lZCAiCisiaW4gJXMsIHN1Z2dlc3RpbmcgaXQgc2hvdWxkIHBlcmhhcHMgYmUgbW92ZWQgdG8gJXMuIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlBhdGggdXBkYXRlZDogJXMgcmVuYW1lZCB0byAlcyBpbiAlcywgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgd2FzIHJlbmFtZWQgaW4gIgorIiVzOyBtb3ZpbmcgaXQgdG8gJXMuIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUIChmaWxlIGxvY2F0aW9uKTogJXMgcmVuYW1lZCB0byAlcyBpbiAlcywgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgIgorIndhcyByZW5hbWVkIGluICVzLCBzdWdnZXN0aW5nIGl0IHNob3VsZCBwZXJoYXBzIGJlIG1vdmVkIHRvICVzLiIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIgogbXNnc3RyICJTJ2VzdMOgIGVsaW1pbmFudCAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI0MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQwOAogbXNnaWQgImZpbGUvZGlyZWN0b3J5IgogbXNnc3RyICJmaXR4ZXIvZGlyZWN0b3JpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjQ4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDEzCiBtc2dpZCAiZGlyZWN0b3J5L2ZpbGUiCiBtc2dzdHIgImRpcmVjdG9yaS9maXR4ZXIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNTUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogVGhlcmUgaXMgYSBkaXJlY3Rvcnkgd2l0aCBuYW1lICVzIGluICVzLiBBZGRpbmcgJXMgYXMgJXMiCiBtc2dzdHIgIiIKICJDT05GTElDVEUgKCVzKTogSGkgaGEgdW4gZGlyZWN0b3JpIGFtYiBub20gJXMgZW4gJXMuIFMnZXN0w6AgYWZlZ2ludCAlcyBjb20gYSAiCiAiJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNjQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nICVzIgogbXNnc3RyICJTJ2VzdMOgIGFmZWdpbnQgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMzMDAKLSMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgIiIKLSJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKLSIgICVzIgotbXNnc3RyICIiCi0iRWxzIHZvc3RyZXMgY2FudmlzIGxvY2FscyBhbHMgZml0eGVycyBzZWfDvGVudHMgc2Ugc29icmVlc2NyaXVyaWVuIHBlciAiCi0iZnVzaW9uYXI6XG4iCi0iJSVzIgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJDT05GTElDVCAoYWRkL2FkZCk6IE1lcmdlIGNvbmZsaWN0IGluICVzIgorbXNnc3RyICJDT05GTElDVEUgKGFmZWdpbWVudC9hZmVnaW1lbnQpOiBDb25mbGljdGUgZGUgZnVzacOzIGVuICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMzExCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDgyCiBtc2dpZCAiQWxyZWFkeSB1cCB0byBkYXRlISIKIG1zZ3N0ciAiSmEgZXN0w6AgYWwgZGlhISIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzMyMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQ5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnaW5nIG9mIHRyZWVzICVzIGFuZCAlcyBmYWlsZWQiCiBtc2dzdHIgImxhIGZ1c2nDsyBkZWxzIGFyYnJlcyAlcyBpICVzIGhhIGZhbGxhdCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQxOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzU5NQogbXNnaWQgIk1lcmdpbmc6IgogbXNnc3RyICJTJ2VzdMOgIGZ1c2lvbmFudDoiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MzIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM2MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yOiIKIG1zZ2lkX3BsdXJhbCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yczoiCiBtc2dzdHJbMF0gInMnaGEgdHJvYmF0ICV1IGF2YW50cGFzc2F0IGVuIGNvbcO6OiIKIG1zZ3N0clsxXSAicydoYW4gdHJvYmF0ICV1IGF2YW50cGFzc2F0cyBlbiBjb23DujoiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0NzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM2NTgKIG1zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCiBtc2dzdHIgImxhIGZ1c2nDsyBubyBoYSByZXRvcm5hdCBjYXAgY29taXNzacOzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNTM3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKKyIgICVzIgorbXNnc3RyICIiCisiRWxzIGNhbnZpcyBsb2NhbHMgYWxzIGZpdHhlcnMgc2Vnw7xlbnRzIHNlIHNvYnJlZXNjcml1cmFuIHBlciBsYSBmdXNpw7M6XG4iCisiICAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGwnb2JqZWN0ZSDCqyVzwrsiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM1NTMgYnVpbHRpbi9tZXJnZS5jOjY5MSBidWlsdGluL21lcmdlLmM6ODQ5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozODMyIGJ1aWx0aW4vbWVyZ2UuYzo2OTQgYnVpbHRpbi9tZXJnZS5jOjg3NAogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbCfDrW5kZXguIgogCi0jOiBtaWR4LmM6NjUKKyM6IG1pZHguYzo2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IGZpbGUgJXMgaXMgdG9vIHNtYWxsIgogbXNnc3RyICIiCiAKLSM6IG1pZHguYzo4MQorIzogbWlkeC5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm11bHRpLXBhY2staW5kZXggc2lnbmF0dXJlIDB4JTA4eCBkb2VzIG5vdCBtYXRjaCBzaWduYXR1cmUgMHglMDh4IgogbXNnc3RyICIiCiAKLSM6IG1pZHguYzo4NgorIzogbWlkeC5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm11bHRpLXBhY2staW5kZXggdmVyc2lvbiAlZCBub3QgcmVjb2duaXplZCIKIG1zZ3N0ciAiIgogCi0jOiBtaWR4LmM6OTEKKyM6IG1pZHguYzo5NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiaGFzaCB2ZXJzaW9uICV1IGRvZXMgbm90IG1hdGNoIgogbXNnc3RyICJlbCBjYW3DrSDCqyVzwrsgbm8gdMOpIGxhIHNldmEgdmVyc2nDsyIKIAotIzogbWlkeC5jOjEwNQorIzogbWlkeC5jOjEwOAogbXNnaWQgImludmFsaWQgY2h1bmsgb2Zmc2V0ICh0b28gbGFyZ2UpIgogbXNnc3RyICIiCiAKLSM6IG1pZHguYzoxMjkKKyM6IG1pZHguYzoxMzIKIG1zZ2lkICJ0ZXJtaW5hdGluZyBtdWx0aS1wYWNrLWluZGV4IGNodW5rIGlkIGFwcGVhcnMgZWFybGllciB0aGFuIGV4cGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IG1pZHguYzoxNDIKKyM6IG1pZHguYzoxNDUKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgcGFjay1uYW1lIGNodW5rIgogbXNnc3RyICIiCiAKLSM6IG1pZHguYzoxNDQKKyM6IG1pZHguYzoxNDcKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgT0lEIGZhbm91dCBjaHVuayIKIG1zZ3N0ciAiIgogCi0jOiBtaWR4LmM6MTQ2CisjOiBtaWR4LmM6MTQ5CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCBtaXNzaW5nIHJlcXVpcmVkIE9JRCBsb29rdXAgY2h1bmsiCiBtc2dzdHIgIiIKIAotIzogbWlkeC5jOjE0OAorIzogbWlkeC5jOjE1MQogbXNnaWQgIm11bHRpLXBhY2staW5kZXggbWlzc2luZyByZXF1aXJlZCBvYmplY3Qgb2Zmc2V0cyBjaHVuayIKIG1zZ3N0ciAiIgogCi0jOiBtaWR4LmM6MTYyCisjOiBtaWR4LmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm11bHRpLXBhY2staW5kZXggcGFjayBuYW1lcyBvdXQgb2Ygb3JkZXI6ICclcycgYmVmb3JlICclcyciCiBtc2dzdHIgIiIKIAotIzogbWlkeC5jOjIwNQorIzogbWlkeC5jOjIxMAogIywgYy1mb3JtYXQKLW1zZ2lkICJiYWQgcGFjay1pbnQtaWQ6ICV1ICgldSB0b3RhbCBwYWNrcyIKK21zZ2lkICJiYWQgcGFjay1pbnQtaWQ6ICV1ICgldSB0b3RhbCBwYWNrcykiCiBtc2dzdHIgIiIKIAotIzogbWlkeC5jOjI0NgorIzogbWlkeC5jOjI2MAogbXNnaWQgIm11bHRpLXBhY2staW5kZXggc3RvcmVzIGEgNjQtYml0IG9mZnNldCwgYnV0IG9mZl90IGlzIHRvbyBzbWFsbCIKIG1zZ3N0ciAiIgogCi0jOiBtaWR4LmM6MjcxCisjOiBtaWR4LmM6Mjg4CiBtc2dpZCAiZXJyb3IgcHJlcGFyaW5nIHBhY2tmaWxlIGZyb20gbXVsdGktcGFjay1pbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBtaWR4LmM6NDA3CisjOiBtaWR4LmM6NDcyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gYWRkIHBhY2tmaWxlICclcyciCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbGxlZ2lyIGVsIGZpdHhlciBkJ29yZHJlcyDCqyVzwrsiCiAKLSM6IG1pZHguYzo0MTMKKyM6IG1pZHguYzo0NzgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuIHBhY2staW5kZXggJyVzJyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpciDCqyVzwrsiCiAKLSM6IG1pZHguYzo1MDcKKyM6IG1pZHguYzo1MzgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBsb2NhdGUgb2JqZWN0ICVkIGluIHBhY2tmaWxlIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGxsZWdpciBsJ29iamVjdGUgwqslc8K7LiIKIAotIzogbWlkeC5jOjk0MworIzogbWlkeC5jOjg0MgorIywgZnV6enkKK21zZ2lkICJBZGRpbmcgcGFja2ZpbGVzIHRvIG11bHRpLXBhY2staW5kZXgiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbmV0ZWphciBsJ8OtbmRleCIKKworIzogbWlkeC5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJkaWQgbm90IHNlZSBwYWNrLWZpbGUgJXMgdG8gZHJvcCIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6OTczCittc2dpZCAiV3JpdGluZyBjaHVua3MgdG8gbXVsdGktcGFjay1pbmRleCIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6MTA1MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNsZWFyIG11bHRpLXBhY2staW5kZXggYXQgJXMiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbmV0ZWphciBsJ8OtbmRleCIKIAotIzogbWlkeC5jOjk4MQorIzogbWlkeC5jOjExMDgKK21zZ2lkICJMb29raW5nIGZvciByZWZlcmVuY2VkIHBhY2tmaWxlcyIKK21zZ3N0ciAiUydlc3RhbiBjZXJjYW50IGZpdHhlcnMgZGUgcGFxdWV0cyByZWZlcmVuY2lhdHMiCisKKyM6IG1pZHguYzoxMTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJvaWQgZmFub3V0IG91dCBvZiBvcmRlcjogZmFub3V0WyVkXSA9ICU8UFJJeDMyPiA+ICU8UFJJeDMyPiA9IGZhbm91dFslZF0iCiBtc2dzdHIgIiIKIAotIzogbWlkeC5jOjk5MgorIzogbWlkeC5jOjExMjgKK21zZ2lkICJWZXJpZnlpbmcgT0lEIG9yZGVyIGluIG11bHRpLXBhY2staW5kZXgiCittc2dzdHIgIiIKKworIzogbWlkeC5jOjExMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAib2lkIGxvb2t1cCBvdXQgb2Ygb3JkZXI6IG9pZFslZF0gPSAlcyA+PSAlcyA9IG9pZFslZF0iCiBtc2dzdHIgIiIKIAotIzogbWlkeC5jOjk5NgotIywgZnV6enkKLW1zZ2lkICJWZXJpZnlpbmcgb2JqZWN0IG9mZnNldHMiCi1tc2dzdHIgIlMnZXN0YW4gZXNjcml2aW50IGVscyBvYmplY3RlcyIKKyM6IG1pZHguYzoxMTU3Cittc2dpZCAiU29ydGluZyBvYmplY3RzIGJ5IHBhY2tmaWxlIgorbXNnc3RyICJTJ2VzdGFuIG9yZGVuYW50IGVscyBvYmplY3RlcyBwZXIgZml0eGVyIGRlIHBhcXVldCIKIAotIzogbWlkeC5jOjEwMDQKKyM6IG1pZHguYzoxMTY0Cittc2dpZCAiVmVyaWZ5aW5nIG9iamVjdCBvZmZzZXRzIgorbXNnc3RyICJTJ2VzdGFuIHZlcmlmaWNhbnQgZWxzIGRlc3BsYcOnYW1lbnRzIGRlbHMgb2JqZWN0ZXMiCisKKyM6IG1pZHguYzoxMTgwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBwYWNrIGVudHJ5IGZvciBvaWRbJWRdID0gJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWZlZ2lyIHVuYSBlbnRyYWRhIGRlIGNhdSBwZXIgYSAlcyIKIAotIzogbWlkeC5jOjEwMTAKKyM6IG1pZHguYzoxMTg2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBwYWNrLWluZGV4IGZvciBwYWNrZmlsZSAlcyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsbGVnaXIgZWwgZml0eGVyIGQnb3JkcmVzIMKrJXPCuyIKIAotIzogbWlkeC5jOjEwMTkKKyM6IG1pZHguYzoxMTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImluY29ycmVjdCBvYmplY3Qgb2Zmc2V0IGZvciBvaWRbJWRdID0gJXM6ICU8UFJJeDY0PiAhPSAlPFBSSXg2ND4iCiBtc2dzdHIgIiIKIAotIzogbmFtZS1oYXNoLmM6NTMyCisjOiBtaWR4LmM6MTIyMAorbXNnaWQgIkNvdW50aW5nIHJlZmVyZW5jZWQgb2JqZWN0cyIKK21zZ3N0ciAiUydlc3RhbiBjb21wdGFudCBlbHMgb2JqZWN0ZXMgcmVmZXJlbmNpYXRzIgorCisjOiBtaWR4LmM6MTIzMAorbXNnaWQgIkZpbmRpbmcgYW5kIGRlbGV0aW5nIHVucmVmZXJlbmNlZCBwYWNrZmlsZXMiCittc2dzdHIgIlMnZXN0YW4gY2VyY2FudCBpIHN1cHJpbWludCBlbHMgZml0eGVycyBkZSBwYXF1ZXRzIG5vIHJlZmVyZW5jaWF0cyIKKworIzogbWlkeC5jOjEzODgKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgcGFjay1vYmplY3RzIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGVsIHBhY2stb2JqZWN0cyIKKworIzogbWlkeC5jOjE0MDcKK21zZ2lkICJjb3VsZCBub3QgZmluaXNoIHBhY2stb2JqZWN0cyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBmaW5hbGl0emFyIGVsIHBhY2stb2JqZWN0cyIKKworIzogbmFtZS1oYXNoLmM6NTM3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxhenlfZGlyIHRocmVhZDogJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgZmlsOiAlcyIKIAotIzogbmFtZS1oYXNoLmM6NTU0CisjOiBuYW1lLWhhc2guYzo1NTkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbGF6eV9uYW1lIHRocmVhZDogJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgZmlsOiAlcyIKIAotIzogbmFtZS1oYXNoLmM6NTYwCisjOiBuYW1lLWhhc2guYzo1NjUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBqb2luIGxhenlfbmFtZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIGZpbDogJXMiCiAKLSM6IG5vdGVzLW1lcmdlLmM6Mjc1CisjOiBub3Rlcy1tZXJnZS5jOjI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIHByZXZpb3VzIG5vdGVzIG1lcmdlICglcyBleGlzdHMpLlxuIgpAQCAtMzQ2NiwyMSArNDcwMCwyMSBAQAogIlVzZXUgwqtnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXTCuyBvIMKrZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnTCuyBwZXIgYSBjb21ldHJlLyIKICJhdm9ydGFyIGxhIGZ1c2nDsyBwcsOodmlhIGFiYW5zIGRlIGNvbWVuw6dhciB1bmEgZnVzacOzIGRlIG5vdGVzIG5vdmEuIgogCi0jOiBub3Rlcy1tZXJnZS5jOjI4MgorIzogbm90ZXMtbWVyZ2UuYzoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG5vdGVzIG1lcmdlICglcyBleGlzdHMpLiIKIG1zZ3N0ciAiTm8gaGV1IGNvbmNsw7JzIGxhIHZvc3RyYSBmdXNpw7MgZGUgbm90ZXMgKCVzIGV4aXN0ZWl4KS4iCiAKLSM6IG5vdGVzLXV0aWxzLmM6NDUKKyM6IG5vdGVzLXV0aWxzLmM6NDYKIG1zZ2lkICJDYW5ub3QgY29tbWl0IHVuaW5pdGlhbGl6ZWQvdW5yZWZlcmVuY2VkIG5vdGVzIHRyZWUiCiBtc2dzdHIgIk5vIGVzIHBvdCBjb21ldHJlIHVuIGFyYnJlIGRlIG5vdGVzIG5vIGluaWNpYWxpdHphdCAvIG5vIHJlZmVyZW5jaWF0IgogCi0jOiBub3Rlcy11dGlscy5jOjEwNAorIzogbm90ZXMtdXRpbHMuYzoxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIG5vdGVzLnJld3JpdGVNb2RlIHZhbHVlOiAnJXMnIgogbXNnc3RyICJWYWxvciBkZSBub3Rlcy5yZXdyaXRlTW9kZSBlcnJvbmk6IMKrJXPCuyIKIAotIzogbm90ZXMtdXRpbHMuYzoxMTQKKyM6IG5vdGVzLXV0aWxzLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIHJld3JpdGUgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgogbXNnc3RyICJTJ2VzdMOgIHJlZnVzYW50IHJlZXNjcml1cmUgbGVzIG5vdGVzIGVuICVzIChmb3JhIGRlIHJlZnMvbm90ZXMvKSIKQEAgLTM0ODksMjUgKzQ3MjMsMjUgQEAKICMuIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcwogIy4gaXRzIHZhbHVlLgogIy4KLSM6IG5vdGVzLXV0aWxzLmM6MTQ0CisjOiBub3Rlcy11dGlscy5jOjE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgJXMgdmFsdWU6ICclcyciCiBtc2dzdHIgIlZhbG9yIGVycm9uaSBkZSAlczogwqslc8K7IgogCi0jOiBvYmplY3QuYzo1NAotIywgZnV6enksIGMtZm9ybWF0CisjOiBvYmplY3QuYzo1MworIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCB0eXBlIFwiJXNcIiIKLW1zZ3N0ciAib2JqZWN0ZSBkZSBibG9iIG5vIHbDoGxpZCAlcyIKK21zZ3N0ciAidGlwdXMgZCdvYmplY3RlIMKrJXPCuyBubyB2w6BsaWQiCiAKICM6IG9iamVjdC5jOjE3MwotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpcyBhICVzLCBub3QgYSAlcyIKLW1zZ3N0ciAibCdvYmplY3RlICVzIG5vIMOpcyB1biBibG9iIgorbXNnc3RyICJsJ29iamVjdGUgJXMgw6lzICVzLCBubyBwYXMgJXMiCiAKICM6IG9iamVjdC5jOjIzMwotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBoYXMgdW5rbm93biB0eXBlIGlkICVkIgotbXNnc3RyICJMJ29iamVjdGUgJXMgbm8gdMOpIGNhcCBub3RhXG4iCittc2dzdHIgImwnb2JqZWN0ZSAlcyB0w6kgdW4gaWRlbnRpZmljYWRvciBkZSB0aXB1cyAlZCBkZXNjb25lZ3V0IgogCiAjOiBvYmplY3QuYzoyNDYKICMsIGMtZm9ybWF0CkBAIC0zNTE2LDMwICs0NzUwLDg1IEBACiAKICM6IG9iamVjdC5jOjI2NiBvYmplY3QuYzoyNzcKICMsIGMtZm9ybWF0Ci1tc2dpZCAic2hhMSBtaXNtYXRjaCAlcyIKK21zZ2lkICJoYXNoIG1pc21hdGNoICVzIgogbXNnc3RyICIiCiAKLSM6IHBhY2tmaWxlLmM6NjA3CisjOiBwYWNrZmlsZS5jOjY0MQogbXNnaWQgIm9mZnNldCBiZWZvcmUgZW5kIG9mIHBhY2tmaWxlIChicm9rZW4gLmlkeD8pIgogbXNnc3RyICJkZXNwbGHDp2FtZW50IGFiYW5zIGRlIGxhIGZpIGRlbCBmaXR4ZXIgZGUgcGFxdWV0ICguaWR4IHRyZW5jYXQ/KSIKIAotIzogcGFja2ZpbGUuYzoxODY0CisjOiBwYWNrZmlsZS5jOjE4ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAib2Zmc2V0IGJlZm9yZSBzdGFydCBvZiBwYWNrIGluZGV4IGZvciAlcyAoY29ycnVwdCBpbmRleD8pIgogbXNnc3RyICIiCiAiZGVzcGxhw6dhbWVudCBhYmFucyBkJ2luaWNpIGQnw61uZGV4IGRlIHBhcXVldCBwZXIgYSAlcyAow61uZGV4IGNvcnJvbXB1dD8pIgogCi0jOiBwYWNrZmlsZS5jOjE4NjgKKyM6IHBhY2tmaWxlLmM6MTg5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmV5b25kIGVuZCBvZiBwYWNrIGluZGV4IGZvciAlcyAodHJ1bmNhdGVkIGluZGV4PykiCiBtc2dzdHIgIiIKICJkZXNwbGHDp2FtZW50IG3DqXMgZW5sbMOgIGRlIGxhIGZpIGQnw61uZGV4IGRlIHBhcXVldCBwZXIgYSAlcyAow61uZGV4IHRydW5jYXQ/KSIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjY3MgorIzogcGFyc2Utb3B0aW9ucy5jOjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGEgdmFsdWUiCittc2dzdHIgIiVzIHJlcXVlcmVpeCB1biB2YWxvciIKKworIzogcGFyc2Utb3B0aW9ucy5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGluY29tcGF0aWJsZSB3aXRoICVzIgorbXNnc3RyICIlcyDDqXMgaW5jb21wYXRpYmxlIGFtYiAlcyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIDogaW5jb21wYXRpYmxlIHdpdGggc29tZXRoaW5nIGVsc2UiCittc2dzdHIgIiVzOiDDqXMgaW5jb21wYXRpYmxlIGFtYiBhbGd1bmEgYWx0cmEgY29zYSIKKworIzogcGFyc2Utb3B0aW9ucy5jOjkyIHBhcnNlLW9wdGlvbnMuYzo5NiBwYXJzZS1vcHRpb25zLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHRha2VzIG5vIHZhbHVlIgorbXNnc3RyICIlcyBubyBhY2NlcHRhIGNhcCB2YWxvciIKKworIzogcGFyc2Utb3B0aW9ucy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzbid0IGF2YWlsYWJsZSIKK21zZ3N0ciAiJXMgbm8gw6lzIGRpc3BvbmlibGUiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhwZWN0cyBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIHZhbHVlIHdpdGggYW4gb3B0aW9uYWwgay9tL2cgc3VmZml4IgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYW1iaWd1b3VzIG9wdGlvbjogJXMgKGNvdWxkIGJlIC0tJXMlcyBvciAtLSVzJXMpIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo0MjMgcGFyc2Utb3B0aW9ucy5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJkaWQgeW91IG1lYW4gYC0tJXNgICh3aXRoIHR3byBkYXNoZXMgPykiCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiBgJXMnIgorbXNnc3RyICJvcGNpw7MgZGVzY29uZWd1ZGEgwqslc8K7IgorCisjOiBwYXJzZS1vcHRpb25zLmM6ODYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc3dpdGNoIGAlYyciCittc2dzdHIgIsKrc3dpdGNowrsgwqslY8K7IGRlc2NvbmVndXQiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo4NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBub24tYXNjaWkgb3B0aW9uIGluIHN0cmluZzogYCVzJyIKK21zZ3N0ciAib3BjacOzIG5vIGFzY2lpIGRlc2NvbmVndWRhIGVuIGxhIGNhZGVuYTogwqslc8K7IgorCisjOiBwYXJzZS1vcHRpb25zLmM6ODg4CiBtc2dpZCAiLi4uIgogbXNnc3RyICIuLi4iCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo2OTEKKyM6IHBhcnNlLW9wdGlvbnMuYzo5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidXNhZ2U6ICVzIgogbXNnc3RyICLDunM6ICVzIgpAQCAtMzU0NywyMDEgKzQ4MzYsMjgwIEBACiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uIGhlcmUgc2hvdWxkIGFsaWduIHdpdGggdGhlCiAjLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24uCiAjLgotIzogcGFyc2Utb3B0aW9ucy5jOjY5NworIzogcGFyc2Utb3B0aW9ucy5jOjkxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICBvcjogJXMiCiBtc2dzdHIgIiBvOiAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjcwMAorIzogcGFyc2Utb3B0aW9ucy5jOjkxNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJXMiCiBtc2dzdHIgIiAgICAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjczOQorIzogcGFyc2Utb3B0aW9ucy5jOjk1NQogbXNnaWQgIi1OVU0iCiBtc2dzdHIgIi1OVU0iCiAKLSM6IHBhcnNlLW9wdGlvbnMtY2IuYzozNwotIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAibWFsZm9ybWVkIGV4cGlyYXRpb24gZGF0ZSAnJXMnIgotbXNnc3RyICJmdWxsIGQnb3BjaW9ucyBtYWwgZm9ybWF0OiDCqyVzwrsiCisjOiBwYXJzZS1vcHRpb25zLmM6OTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsaWFzIG9mIC0tJXMiCittc2dzdHIgIsOgbGllcyBkZSAtLSVzIgogCi0jOiBwYXJzZS1vcHRpb25zLWNiLmM6MTA5CisjOiBwYXJzZS1vcHRpb25zLWNiLmM6MjAgcGFyc2Utb3B0aW9ucy1jYi5jOjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCittc2dzdHIgImwnb3BjacOzIMKrJXPCuyBlc3BlcmEgdW4gdmFsb3IgbnVtw6hyaWMiCisKKyM6IHBhcnNlLW9wdGlvbnMtY2IuYzo0MQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgZXhwaXJhdGlvbiBkYXRlICclcyciCittc2dzdHIgImRhdGEgZGUgdmVuY2ltZW50IMKrJXPCuyBtYWwgZm9ybWFkYSIKKworIzogcGFyc2Utb3B0aW9ucy1jYi5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgXCJhbHdheXNcIiwgXCJhdXRvXCIsIG9yIFwibmV2ZXJcIiIKK21zZ3N0ciAibCdvcGNpw7Mgwqslc8K7IGVzcGVyYSDCq2Fsd2F5c8K7LCDCq2F1dG/CuyBvIMKrbmV2ZXLCuyIKKworIzogcGFyc2Utb3B0aW9ucy1jYi5jOjEzMCBwYXJzZS1vcHRpb25zLWNiLmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAnJXMnIgotbXNnc3RyICJub20gZCdvYmplY3RlIG1hbCBmb3JtYXQgwqslc8K7IgorbXNnc3RyICJub20gZCdvYmplY3RlIMKrJXPCuyBtYWwgZm9ybWF0IgogCi0jOiBwYXRoLmM6ODk0CisjOiBwYXRoLmM6OTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtYWtlICVzIHdyaXRhYmxlIGJ5IGdyb3VwIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGZlciAlcyBlc2NyaXZpYmxlIHBlbCBncnVwIgogCi0jOiBwYXRoc3BlYy5jOjEyOQorIzogcGF0aHNwZWMuYzoxMzAKIG1zZ2lkICJFc2NhcGUgY2hhcmFjdGVyICdcXCcgbm90IGFsbG93ZWQgYXMgbGFzdCBjaGFyYWN0ZXIgaW4gYXR0ciB2YWx1ZSIKIG1zZ3N0ciAiIgotIkVsIGNhcsOgY3RlciBkJ2VzY2FwYW1lbnQgJ1xcJyBubyBlc3TDoCBwZXJtw6hzIGNvbSBhIMO6bHRpbSBjYXLDoGN0ZXIgZW4gdW4gIgorIkVsIGNhcsOgY3RlciBkJ2VzY2FwYW1lbnQgwqtcXMK7IG5vIGVzdMOgIHBlcm3DqHMgY29tIGEgw7psdGltIGNhcsOgY3RlciBlbiB1biAiCiAidmFsb3IgZCd1biBhdHJpYnV0IgogCi0jOiBwYXRoc3BlYy5jOjE0NworIzogcGF0aHNwZWMuYzoxNDgKIG1zZ2lkICJPbmx5IG9uZSAnYXR0cjonIHNwZWNpZmljYXRpb24gaXMgYWxsb3dlZC4iCi1tc2dzdHIgIk5vbcOpcyBlcyBwZXJtZXQgdW5hIGVzcGVjaWZpY2FjacOzICdhdHRyOicuIgorbXNnc3RyICJOb23DqXMgZXMgcGVybWV0IHVuYSBlc3BlY2lmaWNhY2nDsyDCq2F0dHI6wrsuIgogCi0jOiBwYXRoc3BlYy5jOjE1MAorIzogcGF0aHNwZWMuYzoxNTEKIG1zZ2lkICJhdHRyIHNwZWMgbXVzdCBub3QgYmUgZW1wdHkiCiBtc2dzdHIgInVuYSBlc3BlY2lmaWNhY2nDsyBkJ2F0cmlidXQgbm8gcG90IGVzdGFyIGJ1aWRhIgogCi0jOiBwYXRoc3BlYy5jOjE5MworIzogcGF0aHNwZWMuYzoxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBhdHRyaWJ1dGUgbmFtZSAlcyIKIG1zZ3N0ciAibm9tIGQnYXRyaWJ1dCBubyB2w6BsaWQgJXMiCiAKLSM6IHBhdGhzcGVjLmM6MjU4CisjOiBwYXRoc3BlYy5jOjI1OQogbXNnaWQgImdsb2JhbCAnZ2xvYicgYW5kICdub2dsb2InIHBhdGhzcGVjIHNldHRpbmdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKLSJlbHMgcGFyw6BtZXRyZXMgZCdlc3BlY2lmaWNhY2nDsyBkZSBjYW3DrSAnZ2xvYicgaSAnbm9nbG9iJyBnbG9iYWxzIHPDs24gIgorImVscyBwYXLDoG1ldHJlcyBkJ2VzcGVjaWZpY2FjacOzIGRlIGNhbcOtIMKrZ2xvYsK7IGkgwqtub2dsb2LCuyBnbG9iYWxzIHPDs24gIgogImluY29tcGF0aWJsZXMiCiAKLSM6IHBhdGhzcGVjLmM6MjY1CisjOiBwYXRoc3BlYy5jOjI2NgogbXNnaWQgIiIKICJnbG9iYWwgJ2xpdGVyYWwnIHBhdGhzcGVjIHNldHRpbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIGdsb2JhbCAiCiAicGF0aHNwZWMgc2V0dGluZ3MiCiBtc2dzdHIgIiIKLSJlbCBwYXLDoG1ldHJlIGQnZXNwZWNpZmljYWNpw7MgZGUgY2Ftw60gJ2xpdGVyYWwnIGdsb2JhbCDDqXMgaW5jb21wYXRpYmxlIGFtYiAiCisiZWwgcGFyw6BtZXRyZSBkJ2VzcGVjaWZpY2FjacOzIGRlIGNhbcOtIMKrbGl0ZXJhbMK7IGdsb2JhbCDDqXMgaW5jb21wYXRpYmxlIGFtYiAiCiAidG90cyBlbHMgYWx0cmVzIHBhcsOgbWV0cmVzIGQnZXNwZWNpZmljYWNpw7MgZGUgY2Ftw60gZ2xvYmFscyIKIAotIzogcGF0aHNwZWMuYzozMDUKKyM6IHBhdGhzcGVjLmM6MzA2CiBtc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXIgZm9yIHBhdGhzcGVjIG1hZ2ljICdwcmVmaXgnIgotbXNnc3RyICJwYXLDoG1ldHJlIG5vIHbDoGxpZCBwZXIgYSBsYSBtw6BnaWEgZCdlc3BlY2lmaWNhY2nDsyBkZSBjYW3DrSAncHJlZml4JyIKK21zZ3N0ciAicGFyw6BtZXRyZSBubyB2w6BsaWQgcGVyIGEgbGEgbcOgZ2lhIGQnZXNwZWNpZmljYWNpw7MgZGUgY2Ftw60gwqtwcmVmaXjCuyIKIAotIzogcGF0aHNwZWMuYzozMjYKKyM6IHBhdGhzcGVjLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgcGF0aHNwZWMgbWFnaWMgJyUuKnMnIGluICclcyciCiBtc2dzdHIgIk3DoGdpYSBkJ2VzcGVjaWZpY2FjacOzIGRlIGNhbcOtIG5vIHbDoGxpZGEgJyUuKnMnIGVuIMKrJXPCuyIKIAotIzogcGF0aHNwZWMuYzozMzEKKyM6IHBhdGhzcGVjLmM6MzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1pc3NpbmcgJyknIGF0IHRoZSBlbmQgb2YgcGF0aHNwZWMgbWFnaWMgaW4gJyVzJyIKLW1zZ3N0ciAiJyknIG1hbmNhbnQgYWwgZmluYWwgZGUgbGEgbcOgZ2lhIGQnZXNwZWNpZmljYWNpw7MgZGUgY2Ftw60gZW4gwqslc8K7IgorbXNnc3RyICLCqynCuyBtYW5jYW50IGFsIGZpbmFsIGRlIGxhIG3DoGdpYSBkJ2VzcGVjaWZpY2FjacOzIGRlIGNhbcOtIGVuIMKrJXPCuyIKIAotIzogcGF0aHNwZWMuYzozNjkKKyM6IHBhdGhzcGVjLmM6MzcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuaW1wbGVtZW50ZWQgcGF0aHNwZWMgbWFnaWMgJyVjJyBpbiAnJXMnIgotbXNnc3RyICJNw6BnaWEgZCdlc3BlY2lmaWNhY2nDsyBkZSBjYW3DrSBubyBpbXBsZW1lbnRhZGEgJyVjJyBlbiDCqyVzwrsiCittc2dzdHIgIk3DoGdpYSBkJ2VzcGVjaWZpY2FjacOzIGRlIGNhbcOtIG5vIGltcGxlbWVudGFkYSDCqyVjwrsgZW4gwqslc8K7IgogCi0jOiBwYXRoc3BlYy5jOjQyOAorIzogcGF0aHNwZWMuYzo0MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICdsaXRlcmFsJyBhbmQgJ2dsb2InIGFyZSBpbmNvbXBhdGlibGUiCi1tc2dzdHIgIiVzOiAnbGl0ZXJhbCcgaSAnZ2xvYicgc8OzbiBpbmNvbXBhdGlibGVzIgorbXNnc3RyICIlczogwqtsaXRlcmFswrsgaSDCq2dsb2LCuyBzw7NuIGluY29tcGF0aWJsZXMiCiAKLSM6IHBhdGhzcGVjLmM6NDQxCisjOiBwYXRoc3BlYy5jOjQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiVzOiDCqyVzwrsgw6lzIGZvcmEgZGVsIGRpcMOyc2l0IgogCi0jOiBwYXRoc3BlYy5jOjUxNQorIzogcGF0aHNwZWMuYzo1MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyAobW5lbW9uaWM6ICclYycpIgotbXNnc3RyICLCqyVzwrsgKG1uZW3Dsm5pYzogJyVjJykiCittc2dzdHIgIsKrJXPCuyAobW5lbcOybmljOiDCqyVjwrspIgogCi0jOiBwYXRoc3BlYy5jOjUyNQorIzogcGF0aHNwZWMuYzo1MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKIG1zZ3N0ciAiIgogIiVzOiBhcXVlc3RhIG9yZHJlIG5vIGVzdMOgIGFkbWVzYSBhbWIgbGEgbcOgZ2lhIGQnZXNwZWNpZmljYWNpw7MgZGUgY2Ftw606ICVzIgogCi0jOiBwYXRoc3BlYy5jOjU5MgorIzogcGF0aHNwZWMuYzo1OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICJsJ2VzcGVjaWZpY2FjacOzIGRlIGNhbcOtIMKrJXPCuyDDqXMgbcOpcyBlbmxsw6AgZCd1biBlbmxsYcOnIHNpbWLDsmxpYyIKIAotIzogcGt0LWxpbmUuYzoxMDQKLSMsIGZ1enp5Ci1tc2dpZCAiZmx1c2ggcGFja2V0IHdyaXRlIGZhaWxlZCIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbCBmaXR4ZXIgZCdldGlxdWV0YSIKLQotIzogcGt0LWxpbmUuYzoxNDIgcGt0LWxpbmUuYzoyMjgKLW1zZ2lkICJwcm90b2NvbCBlcnJvcjogaW1wb3NzaWJseSBsb25nIGxpbmUiCisjOiBwYXRoc3BlYy5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lIGlzIGJhZGx5IHF1b3RlZDogJXMiCiBtc2dzdHIgIiIKIAotIzogcGt0LWxpbmUuYzoxNTggcGt0LWxpbmUuYzoxNjAKLSMsIGZ1enp5Ci1tc2dpZCAicGFja2V0IHdyaXRlIHdpdGggZm9ybWF0IGZhaWxlZCIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbCBmaXR4ZXIgZCdldGlxdWV0YSIKKyM6IHBrdC1saW5lLmM6OTIKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmx1c2ggcGFja2V0IgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGVsIHBhcXVldCBkZSBidWlkYXRnZSIKIAotIzogcGt0LWxpbmUuYzoxOTIKKyM6IHBrdC1saW5lLmM6OTkKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZGVsaW0gcGFja2V0IgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGVsIHBhcXVldCBkZWxpbSIKKworIzogcGt0LWxpbmUuYzoxMDYKK21zZ2lkICJmbHVzaCBwYWNrZXQgd3JpdGUgZmFpbGVkIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGVzY3JpdXJlIGVsIHBhcXVldCBkZSBidWlkYXRnZSIKKworIzogcGt0LWxpbmUuYzoxNDYgcGt0LWxpbmUuYzoyMzIKK21zZ2lkICJwcm90b2NvbCBlcnJvcjogaW1wb3NzaWJseSBsb25nIGxpbmUiCittc2dzdHIgImVycm9yIGRlIHByb3RvY29sOiBsb25naXR1ZCBkZSBsw61uaWEgaW1wb3NzaWJsZSIKKworIzogcGt0LWxpbmUuYzoxNjIgcGt0LWxpbmUuYzoxNjQKK21zZ2lkICJwYWNrZXQgd3JpdGUgd2l0aCBmb3JtYXQgZmFpbGVkIgorbXNnc3RyICJoYSBmYWxsYXQgbCdlc2NyaXB0dXJhIGRlbCBwYXF1ZXQgYW1iIGZvcm1hdCIKKworIzogcGt0LWxpbmUuYzoxOTYKIG1zZ2lkICJwYWNrZXQgd3JpdGUgZmFpbGVkIC0gZGF0YSBleGNlZWRzIG1heCBwYWNrZXQgc2l6ZSIKIG1zZ3N0ciAiIgorIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgZWwgcGFxdWV0IC0gbGVzIGRhZGVzIGV4Y2VkZWl4ZW4gbGEgbWlkYSBtw6B4aW1hIGRlbCAiCisicGFxdWV0IgogCi0jOiBwa3QtbGluZS5jOjE5OSBwa3QtbGluZS5jOjIwNgotIywgZnV6enkKKyM6IHBrdC1saW5lLmM6MjAzIHBrdC1saW5lLmM6MjEwCiBtc2dpZCAicGFja2V0IHdyaXRlIGZhaWxlZCIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbCBmaXR4ZXIgZCdldGlxdWV0YSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbCBwYXF1ZXQiCiAKLSM6IHBrdC1saW5lLmM6MjkxCi0jLCBmdXp6eQorIzogcGt0LWxpbmUuYzoyOTUKIG1zZ2lkICJyZWFkIGVycm9yIgotbXNnc3RyICJlcnJvciBkZSBsZWN0dXJhIGQnZW50cmFkYSIKK21zZ3N0ciAiZXJyb3IgZGUgbGVjdHVyYSIKIAotIzogcGt0LWxpbmUuYzoyOTkKLSMsIGZ1enp5CisjOiBwa3QtbGluZS5jOjMwMwogbXNnaWQgInRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdW5leHBlY3RlZGx5IgotbXNnc3RyICJFbCBjb3N0YXQgcmVtb3QgaGEgcGVuamF0IGVuIGVsIG1vbWVudCBkZSBjb250YWN0ZSBpbmljaWFsIgorbXNnc3RyICJlbCByZW1vdCBoYSBwZW5qYXQgaW5lc3BlcmFkYW1lbnQiCiAKLSM6IHBrdC1saW5lLmM6MzI3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHBrdC1saW5lLmM6MzMxCisjLCBjLWZvcm1hdAogbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgbGluZSBsZW5ndGggY2hhcmFjdGVyOiAlLjRzIgotbXNnc3RyICJlcnJvciBkZSBwcm90b2NvbDogY2Fww6dhbGVyYSBkZSBwYXF1ZXQgZXJyw7JuaWEiCittc2dzdHIgImVycm9yIGRlIHByb3RvY29sOiBjYXLDoGN0ZXIgZGUgbG9uZ2l0dWQgZGUgbMOtbmlhIGVycm9uaTogJS40cyIKIAotIzogcGt0LWxpbmUuYzozMzcgcGt0LWxpbmUuYzozNDIKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogcGt0LWxpbmUuYzozNDEgcGt0LWxpbmUuYzozNDYKKyMsIGMtZm9ybWF0CiBtc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBsaW5lIGxlbmd0aCAlZCIKLW1zZ3N0ciAiZXJyb3IgZGUgcHJvdG9jb2w6IGNhcMOnYWxlcmEgZGUgcGFxdWV0IGVycsOybmlhIgorbXNnc3RyICJlcnJvciBkZSBwcm90b2NvbDogbG9uZ2l0dWQgZGUgbMOtbmlhIGVycsOybmlhICVkIgogCi0jOiBwcmVsb2FkLWluZGV4LmM6MTE4Ci0jLCBmdXp6eQorIzogcGt0LWxpbmUuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlIGVycm9yOiAlcyIKK21zZ3N0ciAiZXJyb3IgcmVtb3Q6ICVzIgorCisjOiBwcmVsb2FkLWluZGV4LmM6MTE5CiBtc2dpZCAiUmVmcmVzaGluZyBpbmRleCIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBhY3R1YWxpdHphciBsJ8OtbmRleCIKK21zZ3N0ciAiUydlc3TDoCBhY3R1YWxpdHphbnQgbCfDrW5kZXgiCiAKLSM6IHByZWxvYWQtaW5kZXguYzoxMzcKKyM6IHByZWxvYWQtaW5kZXguYzoxMzgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkZWQgbHN0YXQ6ICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIGZpbDogJXMiCiAKLSM6IHByZXR0eS5jOjk2MgorIzogcHJldHR5LmM6OTgxCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIC0tcHJldHR5IGZvcm1hdCIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgZWwgZm9ybWF0IC0tcHJldHR5IgogCi0jOiByYW5nZS1kaWZmLmM6NTYKLSMsIGZ1enp5CisjOiBwcm9taXNvci1yZW1vdGUuYzoyMworbXNnaWQgIlJlbW90ZSB3aXRoIG5vIFVSTCIKK21zZ3N0ciAiUmVtb3Qgc2Vuc2UgVVJMIgorCisjOiBwcm9taXNvci1yZW1vdGUuYzo1OAorIywgYy1mb3JtYXQKK21zZ2lkICJwcm9taXNvciByZW1vdGUgbmFtZSBjYW5ub3QgYmVnaW4gd2l0aCAnLyc6ICVzIgorbXNnc3RyICIiCisKKyM6IHJhbmdlLWRpZmYuYzo3NQogbXNnaWQgImNvdWxkIG5vdCBzdGFydCBgbG9nYCIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBmZXIgc3RhdCBhICVzIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGluaWNpYXIgwqtsb2fCuyIKIAotIzogcmFuZ2UtZGlmZi5jOjU5Ci0jLCBmdXp6eQorIzogcmFuZ2UtZGlmZi5jOjc3CiBtc2dpZCAiY291bGQgbm90IHJlYWQgYGxvZ2Agb3V0cHV0IgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBsYSBzb3J0aWRhIGRlICdzaG93JyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgbGEgc29ydGlkYSBkZSDCq2xvZ8K7IgogCi0jOiByYW5nZS1kaWZmLmM6NzQgc2VxdWVuY2VyLmM6NDc2NAorIzogcmFuZ2UtZGlmZi5jOjk2IHNlcXVlbmNlci5jOjUxNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBsYSBjb21pc3Npw7Mgwqslc8K7IgogCi0jOiByYW5nZS1kaWZmLmM6MjI0Ci0jLCBmdXp6eQorIzogcmFuZ2UtZGlmZi5jOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgZ2l0IGhlYWRlciAnJS4qcyciCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIGxhIGNhcMOnYWxlcmEgZGUgbGEgZ2lmIMKrJS4qc8K7IgorCisjOiByYW5nZS1kaWZmLmM6Mjg1CiBtc2dpZCAiZmFpbGVkIHRvIGdlbmVyYXRlIGRpZmYiCi1tc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZXhlY3V0YXIgwqslc8K7IgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGdlbmVyYXIgZWwgZGlmZiIKIAotIzogcmFuZ2UtZGlmZi5jOjQ1NSByYW5nZS1kaWZmLmM6NDU3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHJhbmdlLWRpZmYuYzo1MTggcmFuZ2UtZGlmZi5jOjUyMAorIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgbG9nIGZvciAnJXMnIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBmaXR4ZXIgZGUgcmVnaXN0cmUgwqslc8K7IgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBmaXR4ZXIgZGUgcmVnaXN0cmUgcGVyIMKrJXPCuyIKIAotIzogcmVhZC1jYWNoZS5jOjE0OTAKLSMsIGZ1enp5CisjOiByZWFkLWNhY2hlLmM6NjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IGFkZCBmaWxlIGFsaWFzICclcycgKCclcycgYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgpIgorbXNnc3RyICJubyBzJ2FmZWdpcsOgIGwnw6BsaWVzIMKrJXPCuzogKMKrJXPCuyBqYSBleGlzdGVpeCBlbiBsJ8OtbmRleCkiCisKKyM6IHJlYWQtY2FjaGUuYzo2OTYKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGFuIGVtcHR5IGJsb2IgaW4gdGhlIG9iamVjdCBkYXRhYmFzZSIKK21zZ3N0ciAibm8gZXMgcG90IGNyZWFyIHVuIGJsb2IgYnVpdCBhIGxhIGJhc2UgZGUgZGFkZXMgZCdvYmplY3RlcyIKKworIzogcmVhZC1jYWNoZS5jOjcxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuIG9ubHkgYWRkIHJlZ3VsYXIgZmlsZXMsIHN5bWJvbGljIGxpbmtzIG9yIGdpdC1kaXJlY3RvcmllcyIKK21zZ3N0ciAiIgorIiVzOiBub23DqXMgcG90IGFmZWdpciBmaXR4ZXJzIG5vcm1hbHMsIGVubGxhw6dvcyBzaW1iw7JsaWNzIG8gZGlyZWN0b3JpcyBnaXQiCisKKyM6IHJlYWQtY2FjaGUuYzo3MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiclcycgZG9lcyBub3QgaGF2ZSBhIGNvbW1pdCBjaGVja2VkIG91dCIKK21zZ3N0ciAiwqslc8K7IG5vIGFzc2VueWFsYSB1bmEgY29taXNzacOzIgorCisjOiByZWFkLWNhY2hlLmM6Nzc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBpbmRleCBmaWxlICclcyciCittc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgaW5kZXhhciBlbCBmaXR4ZXIgwqslc8K7IgorCisjOiByZWFkLWNhY2hlLmM6Nzk0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhZGQgJyVzJyB0byBpbmRleCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBhZmVnaXIgwqslc8K7IGEgbCfDrW5kZXgiCisKKyM6IHJlYWQtY2FjaGUuYzo4MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHN0YXQgJyVzJyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBmZXIgwqtzdGF0wrsgYSDCqyVzwrsiCisKKyM6IHJlYWQtY2FjaGUuYzoxMzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgYXBwZWFycyBhcyBib3RoIGEgZmlsZSBhbmQgYXMgYSBkaXJlY3RvcnkiCittc2dzdHIgIsKrJXPCuyBhcGFyZWl4IGNvbSBhIGZpdHhlciBpIGNvbSBhIGRpcmVjdG9yaSIKKworIzogcmVhZC1jYWNoZS5jOjE1MzEKIG1zZ2lkICJSZWZyZXNoIGluZGV4IgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFjdHVhbGl0emFyIGwnw61uZGV4IgorbXNnc3RyICJBY3R1YWxpdHphIGwnw61uZGV4IgogCi0jOiByZWFkLWNhY2hlLmM6MTYwNAorIzogcmVhZC1jYWNoZS5jOjE2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImluZGV4LnZlcnNpb24gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0zNzUwLDcgKzUxMTgsNyBAQAogImluZGV4LnZlcnNpb24gZXN0w6AgZXN0YWJsZXJ0YSwgcGVyw7IgZWwgdmFsb3Igbm8gw6lzIHbDoGxpZC5cbiIKICJTJ2VzdMOgIHVzYW50IGxhIHZlcnNpw7MgJWkiCiAKLSM6IHJlYWQtY2FjaGUuYzoxNjE0CisjOiByZWFkLWNhY2hlLmM6MTY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiR0lUX0lOREVYX1ZFUlNJT04gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0zNzU5LDYwICs1MTI3LDE1MSBAQAogIkdJVF9JTkRFWF9WRVJTSU9OIGVzdMOgIGVzdGFibGVydGEsIHBlcsOyIGVsIHZhbG9yIG5vIMOpcyB2w6BsaWQuXG4iCiAiUydlc3TDoCB1c2FudCBsYSB2ZXJzacOzICVpIgogCi0jOiByZWFkLWNhY2hlLmM6MTc5MgorIzogcmVhZC1jYWNoZS5jOjE3MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNpZ25hdHVyZSAweCUwOHgiCittc2dzdHIgInNpZ25hdHVyYSBtYWxtZXNhIDB4JTA4eCIKKworIzogcmVhZC1jYWNoZS5jOjE3MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJWQiCittc2dzdHIgInZlcnNpw7MgZCfDrW5kZXggaW5jb3JyZWN0YSAlZCIKKworIzogcmVhZC1jYWNoZS5jOjE3MjQKK21zZ2lkICJiYWQgaW5kZXggZmlsZSBzaGExIHNpZ25hdHVyZSIKK21zZ3N0ciAic2lnbmF0dXJhIHNoYTEgbWFsbWVzYSBhbCBmaXR4ZXIgZCfDrW5kZXgiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzU0CisjLCBjLWZvcm1hdAorbXNnaWQgImluZGV4IHVzZXMgJS40cyBleHRlbnNpb24sIHdoaWNoIHdlIGRvIG5vdCB1bmRlcnN0YW5kIgorbXNnc3RyICJsJ8OtbmRleCB1c2EgbCdleHRlbnNpw7MgJS40cywgcXVlIG5vIGVzIHBvdCBlbnRlbmRyZSIKKworIzogcmVhZC1jYWNoZS5jOjE3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgJS40cyBleHRlbnNpb24iCittc2dzdHIgInMnZXN0w6AgaWdub3JhbnQgbCdleHRlbnNpw7MgJS40cyIKKworIzogcmVhZC1jYWNoZS5jOjE3OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBpbmRleCBlbnRyeSBmb3JtYXQgMHglMDh4IgorbXNnc3RyICJGb3JtYXQgZCdlbnRyYWRhIGQnw61uZGV4IGRlc2NvbmVndWRhIMKrMHglMDh4wrsiCisKKyM6IHJlYWQtY2FjaGUuYzoxODA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBuYW1lIGZpZWxkIGluIHRoZSBpbmRleCwgbmVhciBwYXRoICclcyciCittc2dzdHIgImNhbXAgZGVsIG5vbSBtYWwgZm9ybWF0YXQgbCdpbmRleCwgY2Ftw60gYSBwcm9wIMKrJXPCuyIKKworIzogcmVhZC1jYWNoZS5jOjE4NjYKK21zZ2lkICJ1bm9yZGVyZWQgc3RhZ2UgZW50cmllcyBpbiBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiByZWFkLWNhY2hlLmM6MTk2MCByZXJlcmUuYzo1NjUgcmVyZXJlLmM6NTk5IHJlcmVyZS5jOjExMTEgYnVpbHRpbi9hZGQuYzo0NTgKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTc3IGJ1aWx0aW4vY2hlY2tvdXQuYzoyODkgYnVpbHRpbi9jaGVja291dC5jOjU4NQotIzogYnVpbHRpbi9jaGVja291dC5jOjk1MyBidWlsdGluL2NsZWFuLmM6OTU0IGJ1aWx0aW4vY29tbWl0LmM6MzQzCi0jOiBidWlsdGluL2RpZmYtdHJlZS5jOjExNSBidWlsdGluL2dyZXAuYzo0ODkgYnVpbHRpbi9tdi5jOjE0NAotIzogYnVpbHRpbi9yZXNldC5jOjI0NCBidWlsdGluL3JtLmM6MjcwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMjkKKyM6IHJlYWQtY2FjaGUuYzoxODY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtdWx0aXBsZSBzdGFnZSBlbnRyaWVzIGZvciBtZXJnZWQgZmlsZSAnJXMnIgorbXNnc3RyICJub20gZCdpZGVudGl0YXQgYnVpdCAocGVyIDwlcz4pIG5vIMOpcyBwZXJtw6hzIgorCisjOiByZWFkLWNhY2hlLmM6MTg3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5vcmRlcmVkIHN0YWdlIGVudHJpZXMgZm9yICclcyciCittc2dzdHIgIm5vIHMnaGFuIHBvZ3V0IGNyZWFyIGRpcmVjdG9yaXMgcGVyICVzIgorCisjOiByZWFkLWNhY2hlLmM6MTk3OCByZWFkLWNhY2hlLmM6MjI2NiByZXJlcmUuYzo1NjUgcmVyZXJlLmM6NTk5IHJlcmVyZS5jOjExMTEKKyM6IGJ1aWx0aW4vYWRkLmM6NDk5IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTc4IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NzAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NTQgYnVpbHRpbi9jbGVhbi5jOjk2NyBidWlsdGluL2NvbW1pdC5jOjM2NworIzogYnVpbHRpbi9kaWZmLXRyZWUuYzoxMjAgYnVpbHRpbi9ncmVwLmM6NDk5IGJ1aWx0aW4vbXYuYzoxNDUKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNDYgYnVpbHRpbi9ybS5jOjI3MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzMyCiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgogbXNnc3RyICJmaXR4ZXIgZCfDrW5kZXggbWFsbcOocyIKIAotIzogcmVhZC1jYWNoZS5jOjIxMDEKKyM6IHJlYWQtY2FjaGUuYzoyMTE5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxvYWRfY2FjaGVfZW50cmllcyB0aHJlYWQ6ICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIGZpbDogJXMiCiAKLSM6IHJlYWQtY2FjaGUuYzoyMTE0CisjOiByZWFkLWNhY2hlLmM6MjEzMgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGpvaW4gbG9hZF9jYWNoZV9lbnRyaWVzIHRocmVhZDogJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgZmlsOiAlcyIKIAotIzogcmVhZC1jYWNoZS5jOjIyMDAKKyM6IHJlYWQtY2FjaGUuYzoyMTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5kZXggZmlsZSBvcGVuIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYWN0dWFsaXR6YXIgZWxzIGZpdHhlcnMiCisKKyM6IHJlYWQtY2FjaGUuYzoyMTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHN0YXQgdGhlIG9wZW4gaW5kZXgiCittc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgbCfDrW5kZXgiCisKKyM6IHJlYWQtY2FjaGUuYzoyMTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmRleCBmaWxlIHNtYWxsZXIgdGhhbiBleHBlY3RlZCIKK21zZ3N0ciAiJXM6IGZpdHhlciBkJ8OtbmRleCBtw6lzIHBldGl0IHF1ZSBzJ2VzcGVyYXZhIgorCisjOiByZWFkLWNhY2hlLmM6MjE3NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG1hcCBpbmRleCBmaWxlIgorbXNnc3RyICIlczogbm8gZXMgcG90IG1hcGFyIGVsIGZpdHhlciBkJ8OtbmRleCIKKworIzogcmVhZC1jYWNoZS5jOjIyMTkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbG9hZF9pbmRleF9leHRlbnNpb25zIHRocmVhZDogJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgZmlsOiAlcyIKIAotIzogcmVhZC1jYWNoZS5jOjIyMjcKKyM6IHJlYWQtY2FjaGUuYzoyMjQ2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gam9pbiBsb2FkX2luZGV4X2V4dGVuc2lvbnMgdGhyZWFkOiAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBjcmVhciBmaWw6ICVzIgogCi0jOiByZWFkLWNhY2hlLmM6Mjk1MyBzZXF1ZW5jZXIuYzo0NzI3IHdyYXBwZXIuYzo2NTggYnVpbHRpbi9tZXJnZS5jOjEwODYKKyM6IHJlYWQtY2FjaGUuYzoyMjc4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmcmVzaGVuIHNoYXJlZCBpbmRleCAnJXMnIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJlZnJlc2NhciBsJ8OtbmRleCBjb21wYXJ0aXQgwqslc8K7IgorCisjOiByZWFkLWNhY2hlLmM6MjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICJicm9rZW4gaW5kZXgsIGV4cGVjdCAlcyBpbiAlcywgZ290ICVzIgorbXNnc3RyICLDrW5kZXggbWFsbcOocywgcydlc3BlcmF2YSAlcyBhICVzLCBzJ2hhIHJlYnV0ICVzIgorCisjOiByZWFkLWNhY2hlLmM6MzAyMSBzdHJidWYuYzoxMTQ1IHdyYXBwZXIuYzo2MjIgYnVpbHRpbi9tZXJnZS5jOjExMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNsb3NlICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgdGFuY2FyIMKrJXPCuyIKIAotIzogcmVhZC1jYWNoZS5jOjMwMjYgc2VxdWVuY2VyLmM6MjIwMyBzZXF1ZW5jZXIuYzozNTkyCisjOiByZWFkLWNhY2hlLmM6MzEyNCBzZXF1ZW5jZXIuYzoyNDI5IHNlcXVlbmNlci5jOjQwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBmZXIgc3RhdCBhIMKrJXPCuyIKIAotIzogcmVhZC1jYWNoZS5jOjMwMzkKKyM6IHJlYWQtY2FjaGUuYzozMTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIGdpdCBkaXI6ICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGRpcmVjdG9yaSBnaXQ6ICVzIgogCi0jOiByZWFkLWNhY2hlLmM6MzA1MQorIzogcmVhZC1jYWNoZS5jOjMxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVubGluazogJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZGVzZW5sbGHDp2FyOiAlcyIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTAKKyM6IHJlYWQtY2FjaGUuYzozMTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZml4IHBlcm1pc3Npb24gYml0cyBvbiAnJXMnIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJlc29sZHJlIGxhIHJldmlzacOzOiAlcyIKKworIzogcmVhZC1jYWNoZS5jOjMzMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZHJvcCB0byBzdGFnZSAjMCIKK21zZ3N0ciAibm8gZXMgcG90IGNhbnZpYXIgZGUgZGlyZWN0b3JpIGEgJXMiCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1bnJlY29nbml6ZWQgc2V0dGluZyAlcyBmb3Igb3B0aW9uIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiBJZ25vcmluZy4iCittc2dzdHIgIiIKKyJObyBzJ2hhIHJlY29uZWd1dCBlbCBwYXLDoG1ldHJlICVzIHBlciByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4gUydlc3TDoCAiCisiaWdub3JhbnQuIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzozNQogIywgZnV6enkKIG1zZ2lkICIiCiAiXG4iCkBAIC0zODQ4LDE2ICs1MzA3LDIzIEBACiAiXG4iCiAiRXMgcG90IGNhbnZpYXIgbCdvcmRyZSBkJ2FxdWVzdGVzIGzDrW5pZXM7IHMnZXhlY3V0ZW4gZGUgZGFsdCBhIGJhaXguXG4iCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjMxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxNzMKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSZWJhc2UgJXMgb250byAlcyAoJWQgY29tbWFuZCkiCittc2dpZF9wbHVyYWwgIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kcykiCittc2dzdHJbMF0gIlJlYmFzYSAkc2hvcnRyZXZpc2lvbnMgc29icmUgJHNob3J0b250byAoJHRvZG9jb3VudCBvcmRyZSkiCittc2dzdHJbMV0gIlJlYmFzYSAkc2hvcnRyZXZpc2lvbnMgc29icmUgJHNob3J0b250byAoJHRvZG9jb3VudCBvcmRyZXMpIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo2NSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjI4CiBtc2dpZCAiIgogIlxuIgogIkRvIG5vdCByZW1vdmUgYW55IGxpbmUuIFVzZSAnZHJvcCcgZXhwbGljaXRseSB0byByZW1vdmUgYSBjb21taXQuXG4iCiBtc2dzdHIgIiIKICJcbiIKLSJObyBlbGltaW5ldSBjYXAgbMOtbmlhLiBVc2V1ICdkcm9wJyBleHBsw61jaXRhbWVudCBwZXIgYSBlbGltaW5hciB1bmEgIgorIk5vIGVsaW1pbmV1IGNhcCBsw61uaWEuIFVzZXUgwqtkcm9wwrsgZXhwbMOtY2l0YW1lbnQgcGVyIGEgZWxpbWluYXIgdW5hICIKICJjb21pc3Npw7MuXG4iCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjM0IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxNzcKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjY4IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMzIKIG1zZ2lkICIiCiAiXG4iCiAiSWYgeW91IHJlbW92ZSBhIGxpbmUgaGVyZSBUSEFUIENPTU1JVCBXSUxMIEJFIExPU1QuXG4iCkBAIC0zODY1LDcgKzUzMzEsNyBAQAogIlxuIgogIlNpIGVsaW1pbmV1IHVuYSBsw61uaWEgYXF1w60sIEVTIFBFUkRSw4AgQVFVRUxMQSBDT01JU1NJw5MuXG4iCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjQwIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MTYKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjc0IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NzEKIG1zZ2lkICIiCiAiXG4iCiAiWW91IGFyZSBlZGl0aW5nIHRoZSB0b2RvIGZpbGUgb2YgYW4gb25nb2luZyBpbnRlcmFjdGl2ZSByZWJhc2UuXG4iCkBAIC0zODc5LDcgKzUzNDUsNyBAQAogIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKICJcbiIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6NDUgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg5MworIzogcmViYXNlLWludGVyYWN0aXZlLmM6NzkgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk0OAogbXNnaWQgIiIKICJcbiIKICJIb3dldmVyLCBpZiB5b3UgcmVtb3ZlIGV2ZXJ5dGhpbmcsIHRoZSByZWJhc2Ugd2lsbCBiZSBhYm9ydGVkLlxuIgpAQCAtMzg4OSw0OTQgKzUzNTUsNjM4IEBACiAiTm8gb2JzdGFudCwgc2kgZWxpbWluZXUgdG90LCBzJ2F2b3J0YXLDoCBlbCDCq3JlYmFzZcK7LlxuIgogIlxuIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo1MSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTAwCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo4NSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTU1CiBtc2dpZCAiTm90ZSB0aGF0IGVtcHR5IGNvbW1pdHMgYXJlIGNvbW1lbnRlZCBvdXQiCi1tc2dzdHIgIk5vdGEgcXVlIGxlcyBjb21pc3Npb25zIGJ1aWRlcyBlc3RhbiBjb21lbnRhZGVzIgorbXNnc3RyICJUaW5ndWV1IGVuIGNvbXB0ZSBxdWUgbGVzIGNvbWlzc2lvbnMgYnVpZGVzIGVzdGFuIGNvbWVudGFkZXMiCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjYyIHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjc1IHNlcXVlbmNlci5jOjIxODYKLSM6IHNlcXVlbmNlci5jOjQ1MDUgc2VxdWVuY2VyLmM6NDU2MSBzZXF1ZW5jZXIuYzo0ODM2CisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoxMDUgcmVyZXJlLmM6NDg1IHJlcmVyZS5jOjY5MiBzZXF1ZW5jZXIuYzozNTM2CisjOiBzZXF1ZW5jZXIuYzozNTYyIHNlcXVlbmNlci5jOjUyNjMgYnVpbHRpbi9mc2NrLmM6MzQ2IGJ1aWx0aW4vcmViYXNlLmM6MjU0CiAjLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciDCqyVzwrsuIgorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSAnJXMnIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIMKrJXPCuyIKIAotIzogcmVmcy5jOjE5MgotIywgZnV6enksIGMtZm9ybWF0CisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBjb3BpYXIgwqslc8K7IGEgwqslc8K7LiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS5cbiIKKyJEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKTpcbiIKK21zZ3N0ciAiIgorIkFkdmVydMOobmNpYTogcG90IHNlciBxdWUgYWxndW5lcyBjb21pc3Npb25zIHMnaGFnaW4gZGVzY2FydGF0ICIKKyJhY2NpZGVudGFsbWVudC5cbiIKKyJMZXMgY29taXNzaW9ucyBkZXNjYXJ0YWRlcyAobcOpcyBub3ZhIGEgbcOpcyB2ZWxsYSk6XG4iCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjE4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgXCJkcm9wXCIgdG8gZXhwbGljaXRseSByZW1vdmUgYSBjb21taXQuXG4iCisiXG4iCisiVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mICIKKyJ3YXJuaW5ncy5cbiIKKyJUaGUgcG9zc2libGUgYmVoYXZpb3VycyBhcmU6IGlnbm9yZSwgd2FybiwgZXJyb3IuXG4iCisiXG4iCittc2dzdHIgIiIKKyJQZXIgYSBldml0YXIgYXF1ZXN0IG1pc3NhdGdlLCB1c2V1IFwiZHJvcFwiIHBlciBhIGVsaW1pbmFyIGV4cGzDrWNpdGFtZW50IHVuYSAiCisiY29taXNzacOzLlxuIgorIlxuIgorIlVzZXUgJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHBlciBhIGNhbnZpYXIgZWwgbml2ZWxsICIKKyJkJ2FkdmVydMOobmNpZXMuXG4iCisiRWxzIGNvbXBvcnRhbWVudHMgcG9zc2libGVzIHPDs246IGlnbm9yZSwgd2FybiwgZXJyb3IuXG4iCisKKyM6IHJlZnMuYzoyNjIKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBvYmplY3QhIgotbXNnc3RyICLCqyVzwrsgbm8gYXNzZW55YWxhIHVuYSBjb21pc3Npw7MiCittc2dzdHIgIiVzIG5vIGFwdW50YSBhIHVuIG9iamVjdGUgdsOgbGlkIgogCi0jOiByZWZzLmM6NTgzCisjOiByZWZzLmM6NjY3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBkYW5nbGluZyBzeW1yZWYgJXMiCiBtc2dzdHIgInMnZXN0w6AgaWdub3JhbnQgbGEgcmVmZXLDqG5jaWEgdHJlbmNhZGEgJXMiCiAKLSM6IHJlZnMuYzo1ODUgcmVmLWZpbHRlci5jOjE5NTEKKyM6IHJlZnMuYzo2NjkgcmVmLWZpbHRlci5jOjIwOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgYnJva2VuIHJlZiAlcyIKIG1zZ3N0ciAicydlc3TDoCBpZ25vcmFudCBsYSByZWZlcsOobmNpYSB0cmVuY2FkYSAlcyIKIAotIzogcmVmcy5jOjcxMQotIywgZnV6enksIGMtZm9ybWF0CisjOiByZWZzLmM6ODA0CisjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmc6ICVzIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyIMKrJXPCuyBwZXIgYSBlc2NyaXB0dXJhIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyIMKrJXPCuyBwZXIgYSBlc2NyaXB0dXJhOiAlcyIKIAotIzogcmVmcy5jOjcyMSByZWZzLmM6NzcyCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHJlZnMuYzo4MTQgcmVmcy5jOjg2NQorIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCByZWYgJyVzJyIKLW1zZ3N0ciAiTm8gcydoYSBwb2d1dCBsbGVnaXIgbGEgcmVmZXLDqG5jaWEgJXMiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIGxhIHJlZmVyw6huY2lhIMKrJXPCuyIKIAotIzogcmVmcy5jOjcyNwotIywgZnV6enksIGMtZm9ybWF0CisjOiByZWZzLmM6ODIwCisjLCBjLWZvcm1hdAogbXNnaWQgInJlZiAnJXMnIGFscmVhZHkgZXhpc3RzIgotbXNnc3RyICLCqyVzwrsgamEgZXhpc3RlaXgiCittc2dzdHIgImxhIHJlZmVyw6huY2lhIMKrJXPCuyBqYSBleGlzdGVpeCIKIAotIzogcmVmcy5jOjczMgorIzogcmVmcy5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG9iamVjdCBJRCB3aGVuIHdyaXRpbmcgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJJRCBkJ29iamVjdGUgbm8gZXNwZXJhdCBlbiBlc2NyaXVyZSDCqyVzwrsiCiAKLSM6IHJlZnMuYzo3NDAgc2VxdWVuY2VyLmM6Mzk0IHNlcXVlbmNlci5jOjI1MTAgc2VxdWVuY2VyLmM6MjYzNgotIzogc2VxdWVuY2VyLmM6MjY1MCBzZXF1ZW5jZXIuYzoyODc3IHNlcXVlbmNlci5jOjQ3MjUgc2VxdWVuY2VyLmM6NDc4OAotIzogd3JhcHBlci5jOjY1NgorIzogcmVmcy5jOjgzMyBzZXF1ZW5jZXIuYzo0MDUgc2VxdWVuY2VyLmM6Mjc5MyBzZXF1ZW5jZXIuYzoyOTk3CisjOiBzZXF1ZW5jZXIuYzozMDExIHNlcXVlbmNlci5jOjMyNjkgc2VxdWVuY2VyLmM6NTE3OSBzdHJidWYuYzoxMTQyCisjOiB3cmFwcGVyLmM6NjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGEgwqslc8K7IgogCi0jOiByZWZzLmM6NzY3IHNlcXVlbmNlci5jOjQ3MjMgc2VxdWVuY2VyLmM6NDc4MiB3cmFwcGVyLmM6MjI1IHdyYXBwZXIuYzozOTUKLSM6IGJ1aWx0aW4vYW0uYzo3MjgKKyM6IHJlZnMuYzo4NjAgc3RyYnVmLmM6MTE0MCB3cmFwcGVyLmM6MTg4IHdyYXBwZXIuYzozNTggYnVpbHRpbi9hbS5jOjcxNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxMDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgwqslc8K7IHBlciBhIGVzY3JpcHR1cmEiCiAKLSM6IHJlZnMuYzo3NzQKKyM6IHJlZnMuYzo4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBvYmplY3QgSUQgd2hlbiBkZWxldGluZyAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgIklEIGQnb2JqZWN0ZSBubyBlc3BlcmF0IGVuIHN1cHJpbWlyIMKrJXPCuyIKIAotIzogcmVmcy5jOjkwNQorIzogcmVmcy5jOjk5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2cgZm9yIHJlZiAlcyBoYXMgZ2FwIGFmdGVyICVzIgogbXNnc3RyICIiCiAKLSM6IHJlZnMuYzo5MTEKKyM6IHJlZnMuYzoxMDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvZyBmb3IgcmVmICVzIHVuZXhwZWN0ZWRseSBlbmRlZCBvbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWZzLmM6OTY5CisjOiByZWZzLmM6MTA2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2cgZm9yICVzIGlzIGVtcHR5IgogbXNnc3RyICIiCiAKLSM6IHJlZnMuYzoxMDYxCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHJlZnMuYzoxMTU1CisjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvIHVwZGF0ZSByZWYgd2l0aCBiYWQgbmFtZSAnJXMnIgotbXNnc3RyICJzJ2VzdMOgIGlnbm9yYW50IGxhIHJlZmVyw6huY2lhIGFtYiBub20gbWFsbcOocyAlcyIKK21zZ3N0ciAicydlc3TDoCByZWZ1c2FudCBsYSByZWZlcsOobmNpYSBhbWIgbm9tIG1hbG3DqHMgwqslc8K7IgogCi0jOiByZWZzLmM6MTEzNworIzogcmVmcy5jOjEyMzEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVwZGF0ZV9yZWYgZmFpbGVkIGZvciByZWYgJyVzJzogJXMiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXIgwqslc8K7OiAlcyIKIAotIzogcmVmcy5jOjE5MTEKKyM6IHJlZnMuYzoyMDIzCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aXBsZSB1cGRhdGVzIGZvciByZWYgJyVzJyBub3QgYWxsb3dlZCIKIG1zZ3N0ciAibm9tIGQnaWRlbnRpdGF0IGJ1aXQgKHBlciA8JXM+KSBubyDDqXMgcGVybcOocyIKIAotIzogcmVmcy5jOjE5NDMKKyM6IHJlZnMuYzoyMDU1CiBtc2dpZCAicmVmIHVwZGF0ZXMgZm9yYmlkZGVuIGluc2lkZSBxdWFyYW50aW5lIGVudmlyb25tZW50IgogbXNnc3RyICJubyBlc3TDoCBwZXJtw6hzIGFjdHVhbGl0emFyIGxlcyByZWZlcsOobmNpZXMgZW4gdW4gZW50b3JuIGRlIHF1YXJhbnRlbmEiCiAKLSM6IHJlZnMuYzoyMDM5IHJlZnMuYzoyMDY5Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHJlZnMuYzoyMTUxIHJlZnMuYzoyMTgxCisjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICclcyciCi1tc2dzdHIgIm5vIGVzIHBvdCBjcmVhciDCqyVzwrsiCittc2dzdHIgIsKrJXPCuyBleGlzdGVpeDsgbm8gZXMgcG90IGNyZWFyIMKrJXPCuyIKIAotIzogcmVmcy5jOjIwNDUgcmVmcy5jOjIwODAKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogcmVmcy5jOjIxNTcgcmVmcy5jOjIxOTIKKyMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHByb2Nlc3MgJyVzJyBhbmQgJyVzJyBhdCB0aGUgc2FtZSB0aW1lIgotbXNnc3RyICIiCi0iTm8gZXMgcG9kZW4gYWN0dWFsaXR6YXIgZWxzIGNhbWlucyBpIGNhbnZpYXIgYSBsYSBicmFuY2Egwqslc8K7IGEgbGEgdmVnYWRhLiIKK21zZ3N0ciAibm8gZXMgcG9kZW4gcHJvY2Vzc2FyIMKrJXPCuyBpIMKrJXPCuyBhIGxhIHZlZ2FkYSIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTIyNworIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTIzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIHJlZmVyZW5jZSAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBlbGltaW5hciBsYSByZWZlcsOobmNpYSAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTI0MSByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTUzMgotIzogcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDIKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyNDggcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDEKKyM6IHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlICVzOiAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBzdXByaW1pciBsYSByZWZlcsOobmNpYSAlczogJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyNDQgcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDUKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyNTEgcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2VzOiAlcyIKIG1zZ3N0ciAibm8gcydoYW4gcG9ndXQgc3VwcmltaXIgbGVzIHJlZmVyw6huY2llczogJXMiCiAKICM6IHJlZnNwZWMuYzoxMzcKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHJlZnNwZWMgJyVzJyIKLW1zZ3N0ciAiZml0eGVyIG5vIHbDoGxpZDogwqslc8K7IgorbXNnc3RyICJyZWZzcGVjIG5vIHbDoGxpZGE6IMKrJXPCuyIKIAotIzogcmVmLWZpbHRlci5jOjM5IHd0LXN0YXR1cy5jOjE4NTUKKyM6IHJlZi1maWx0ZXIuYzo0MiB3dC1zdGF0dXMuYzoxOTM4CiBtc2dpZCAiZ29uZSIKIG1zZ3N0ciAibm8gaGkgw6lzIgogCi0jOiByZWYtZmlsdGVyLmM6NDAKKyM6IHJlZi1maWx0ZXIuYzo0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhaGVhZCAlZCIKIG1zZ3N0ciAiZGF2YW50IHBlciAlZCIKIAotIzogcmVmLWZpbHRlci5jOjQxCisjOiByZWYtZmlsdGVyLmM6NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmVoaW5kICVkIgogbXNnc3RyICJkYXJyZXJlIHBlciAlZCIKIAotIzogcmVmLWZpbHRlci5jOjQyCisjOiByZWYtZmlsdGVyLmM6NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWhlYWQgJWQsIGJlaGluZCAlZCIKIG1zZ3N0ciAiZGF2YW50IHBlciAlZCwgZGFycmVyZSBwZXIgJWQiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMzgKKyM6IHJlZi1maWx0ZXIuYzoxNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgZm9ybWF0OiAlJShjb2xvcjo8Y29sb3I+KSIKIG1zZ3N0ciAiZm9ybWF0IGVzcGVyYXQ6ICUlKGNvbG9yOjxjb2xvcj4pIgogCi0jOiByZWYtZmlsdGVyLmM6MTQwCisjOiByZWYtZmlsdGVyLmM6MTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBjb2xvcjogJSUoY29sb3I6JXMpIgogbXNnc3RyICJjb2xvciBubyByZWNvbmVndXQ6ICUlKGNvbG9yOiVzKSIKIAotIzogcmVmLWZpbHRlci5jOjE2MgorIzogcmVmLWZpbHRlci5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnRlZ2VyIHZhbHVlIGV4cGVjdGVkIHJlZm5hbWU6bHN0cmlwPSVzIgogbXNnc3RyICJ2YWxvciBlbnRlciBlc3BlcmF0IHBlbCBub20gZGUgcmVmZXLDqG5jaWE6bHN0cmlwPSVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTY2CisjOiByZWYtZmlsdGVyLmM6MTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludGVnZXIgdmFsdWUgZXhwZWN0ZWQgcmVmbmFtZTpyc3RyaXA9JXMiCiBtc2dzdHIgInZhbG9yIGVudGVyIGVzcGVyYXQgcGVsIG5vbSBkZSByZWZlcsOobmNpYTpyc3RyaXA9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjgKKyM6IHJlZi1maWx0ZXIuYzoxOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKCVzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgInBhcsOgbWV0cmUgJSUoJXMpIGRlc2NvbmVndXQ6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MjIzCisjOiByZWYtZmlsdGVyLmM6MjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiUlKG9iamVjdHR5cGUpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgogbXNnc3RyICIlJShzdWJqZWN0KSBubyBhY2NlcHRhIHBhcsOgbWV0cmVzIgogCi0jOiByZWYtZmlsdGVyLmM6MjM1CisjOiByZWYtZmlsdGVyLmM6MjcyCiAjLCBjLWZvcm1hdAotbXNnaWQgIiUlKG9iamVjdHNpemUpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgotbXNnc3RyICIlJShvYmplY3RzaXplKSBubyBhY2NlcHRhIHBhcsOgbWV0cmVzIgorbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RzaXplKSBhcmd1bWVudDogJXMiCittc2dzdHIgInBhcsOgbWV0cmUgJSUob2JqZWN0c2l6ZSkgbm8gcmVjb25lZ3V0OiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjI0NworIzogcmVmLWZpbHRlci5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlJShkZWx0YWJhc2UpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgorbXNnc3RyICIlJShkZWx0YWJhc2UpIG5vIGFjY2VwdGEgcGFyw6BtZXRyZXMiCisKKyM6IHJlZi1maWx0ZXIuYzoyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUoYm9keSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKGJvZHkpIG5vIGFjY2VwdGEgcGFyw6BtZXRyZXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoyNTYKKyM6IHJlZi1maWx0ZXIuYzozMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUoc3ViamVjdCkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKHN1YmplY3QpIG5vIGFjY2VwdGEgcGFyw6BtZXRyZXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoyNzgKKyM6IHJlZi1maWx0ZXIuYzozMjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biAlJSh0cmFpbGVycykgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJwYXLDoG1ldHJlICUlKHRyYWlsZXJzKSBkZXNjb25lZ3V0OiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjMwNworIzogcmVmLWZpbHRlci5jOjM1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBjb250ZW50czpsaW5lcz0lcyIKIG1zZ3N0ciAidmFsb3IgcG9zaXRpdSBlc3BlcmF0IGNvbnTDqTpsaW5lcz0lcyIKIAotIzogcmVmLWZpbHRlci5jOjMwOQorIzogcmVmLWZpbHRlci5jOjM1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoY29udGVudHMpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAicGFyw6BtZXRyZSAlJShjb250ZW50cykgbm8gcmVjb25lZ3V0OiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjMyNAorIzogcmVmLWZpbHRlci5jOjM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBvYmplY3RuYW1lOnNob3J0PSVzIgogbXNnc3RyICJ2YWxvciBwb3NpdGl1IGVzcGVyYXQgbm9tIGQnb2JqZWN0ZTpjdXJ0PSVzIgogCi0jOiByZWYtZmlsdGVyLmM6MzI4CisjOiByZWYtZmlsdGVyLmM6MzczCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RuYW1lKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgInBhcsOgbWV0cmUgJSUob2JqZWN0bmFtZSkgbm8gcmVjb25lZ3V0OiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjM1OAorIzogcmVmLWZpbHRlci5jOjQwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGFsaWduOjx3aWR0aD4sPHBvc2l0aW9uPikiCiBtc2dzdHIgImZvcm1hdCBlc3BlcmF0OiAlJShhbGlnbjo8YW1wbGFkYT4sPHBvc2ljacOzPikiCiAKLSM6IHJlZi1maWx0ZXIuYzozNzAKKyM6IHJlZi1maWx0ZXIuYzo0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHBvc2l0aW9uOiVzIgogbXNnc3RyICJwb3NpY2nDsyBubyByZWNvbmVndWRhOiVzIgogCi0jOiByZWYtZmlsdGVyLmM6Mzc3CisjOiByZWYtZmlsdGVyLmM6NDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aWR0aDolcyIKIG1zZ3N0ciAiYW1wbGFkYSBubyByZWNvbmVndWRhOiVzIgogCi0jOiByZWYtZmlsdGVyLmM6Mzg2CisjOiByZWYtZmlsdGVyLmM6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShhbGlnbikgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJwYXLDoG1ldHJlICUlKGFsaWduKSBubyByZWNvbmVndXQ6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6Mzk0CisjOiByZWYtZmlsdGVyLmM6NDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBvc2l0aXZlIHdpZHRoIGV4cGVjdGVkIHdpdGggdGhlICUlKGFsaWduKSBhdG9tIgogbXNnc3RyICJhbXBsYWRhIHBvc2l0aXZhIGVzcGVyYWRhIGFtYiBsJ8OgdG9tICUlKGFsaWduKSIKIAotIzogcmVmLWZpbHRlci5jOjQxMgorIzogcmVmLWZpbHRlci5jOjQ1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoaWYpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAicGFyw6BtZXRyZSAlJShpZikgbm8gcmVjb25lZ3V0OiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjUwOAorIzogcmVmLWZpbHRlci5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAibm9tIGRlIGNhbXAgbWFsIGZvcm1hdDogJS4qcyIKIAotIzogcmVmLWZpbHRlci5jOjUzNQorIzogcmVmLWZpbHRlci5jOjU4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGZpZWxkIG5hbWU6ICUuKnMiCiBtc2dzdHIgIm5vbSBkZSBjYW1wIGRlc2NvbmVndXQ6ICUuKnMiCiAKLSM6IHJlZi1maWx0ZXIuYzo1MzkKKyM6IHJlZi1maWx0ZXIuYzo1OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdCBhIGdpdCByZXBvc2l0b3J5LCBidXQgdGhlIGZpZWxkICclLipzJyByZXF1aXJlcyBhY2Nlc3MgdG8gb2JqZWN0IGRhdGEiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjY2MworIzogcmVmLWZpbHRlci5jOjcxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGlmKSBhdG9tIHVzZWQgd2l0aG91dCBhICUlKHRoZW4pIGF0b20iCiBtc2dzdHIgImZvcm1hdDogcydoYSB1c2F0IGwnw6B0b20gJSUoaWYpIHNlbnNlIHVuIMOgdG9tICUlKHRoZW4pIgogCi0jOiByZWYtZmlsdGVyLmM6NzI2CisjOiByZWYtZmlsdGVyLmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIHdpdGhvdXQgYW4gJSUoaWYpIGF0b20iCiBtc2dzdHIgImZvcm1hdDogcydoYSB1c2F0IGwnw6B0b20gJSUodGhlbikgc2Vuc2UgdW4gw6B0b20gJSUoaWYpIgogCi0jOiByZWYtZmlsdGVyLmM6NzI4CisjOiByZWYtZmlsdGVyLmM6Nzc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIG1vcmUgdGhhbiBvbmNlIgogbXNnc3RyICJmb3JtYXQ6IHMnaGEgdXNhdCBsJ8OgdG9tICUlKHRoZW4pIG3DqXMgZCd1biBjb3AiCiAKLSM6IHJlZi1maWx0ZXIuYzo3MzAKKyM6IHJlZi1maWx0ZXIuYzo3ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgYWZ0ZXIgJSUoZWxzZSkiCiBtc2dzdHIgImZvcm1hdDogcydoYSB1c2F0IGwnw6B0b20gJSUodGhlbikgZGVzcHLDqXMgZGUgJSUoZWxzZSkiCiAKLSM6IHJlZi1maWx0ZXIuYzo3NTgKKyM6IHJlZi1maWx0ZXIuYzo4MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKIG1zZ3N0ciAiZm9ybWF0OiBzJ2hhIHVzYXQgbCfDoHRvbSAlJShlbHNlKSBzZW5zZSB1biDDoHRvbSAlJShpZikiCiAKLSM6IHJlZi1maWx0ZXIuYzo3NjAKKyM6IHJlZi1maWx0ZXIuYzo4MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgd2l0aG91dCBhICUlKHRoZW4pIGF0b20iCiBtc2dzdHIgImZvcm1hdDogcydoYSB1c2F0IGwnw6B0b20gJSUoZWxzZSkgc2Vuc2UgdW4gw6B0b20gJSUodGhlbikiCiAKLSM6IHJlZi1maWx0ZXIuYzo3NjIKKyM6IHJlZi1maWx0ZXIuYzo4MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiCiBtc2dzdHIgImZvcm1hdDogcydoYSB1c2F0IGwnw6B0b20gJSUoZWxzZSkgbcOpcyBkJ3VuIGNvcCIKIAotIzogcmVmLWZpbHRlci5jOjc3NworIzogcmVmLWZpbHRlci5jOjgyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSB1c2VkIHdpdGhvdXQgY29ycmVzcG9uZGluZyBhdG9tIgogbXNnc3RyICJmb3JtYXQ6IHMnaGEgdXNhdCBsJ8OgdG9tICUlKGVuZCkgc2Vuc2UgbCfDoHRvbSBjb3JyZXNwb25lbnQiCiAKLSM6IHJlZi1maWx0ZXIuYzo4MzQKKyM6IHJlZi1maWx0ZXIuYzo4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGZvcm1hdCBzdHJpbmcgJXMiCiBtc2dzdHIgImNhZGVuYSBkZSBmb3JtYXQgbWFsIGZvcm1hdCAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE0MjQKKyM6IHJlZi1maWx0ZXIuYzoxNDg4CiAjLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKLW1zZ3N0ciAiKGNhcCBicmFuY2EsIHMnZXN0w6AgZmVudCDCq3JlYmFzZcK7ICVzKSIKK21zZ2lkICJubyBicmFuY2gsIHJlYmFzaW5nICVzIgorbXNnc3RyICJzZW5zZSBicmFuY2EsIHMnZXN0w6AgZmVudCDCq3JlYmFzZcK7ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTQyNworIzogcmVmLWZpbHRlci5jOjE0OTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgZGV0YWNoZWQgSEVBRCAlcykiCi1tc2dzdHIgIihjYXAgYnJhbmNhLCBzJ2VzdMOgIGZlbnQgwqtyZWJhc2XCuyBkJ3VuIMKrSEVBRMK7ICVzIG5vIGFkanVudGF0KSIKK21zZ2lkICJubyBicmFuY2gsIHJlYmFzaW5nIGRldGFjaGVkIEhFQUQgJXMiCittc2dzdHIgInNlbnNlIGJyYW5jYSwgcydlc3TDoCBmZW50IMKrcmViYXNlwrsgZCd1biDCq0hFQUTCuyAlcyBubyBhZGp1bnRhdCIKIAotIzogcmVmLWZpbHRlci5jOjE0MzAKKyM6IHJlZi1maWx0ZXIuYzoxNDk0CiAjLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKLW1zZ3N0ciAiKGNhcCBicmFuY2EsIGJpc2VjY2nDsyBjb21lbsOnYWRhIGVuICVzKSIKK21zZ2lkICJubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzIgorbXNnc3RyICIoc2Vuc2UgYnJhbmNhLCBiaXNlY2Npw7MgY29tZW7Dp2FkYSBlbiAlcykiCiAKLSMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECi0jLiBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCi0jLgotIzogcmVmLWZpbHRlci5jOjE0MzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgotbXNnc3RyICIoSEVBRCBzZXBhcmF0IGEgJXMpIgorIzogcmVmLWZpbHRlci5jOjE1MDQKK21zZ2lkICJubyBicmFuY2giCittc2dzdHIgInNlbnNlIGJyYW5jYSIKIAotIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMgIkhFQUQKLSMuIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYwotIy4KLSM6IHJlZi1maWx0ZXIuYzoxNDQ1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgotbXNnc3RyICIoSEVBRCBzZXBhcmF0IGRlICVzKSIKLQotIzogcmVmLWZpbHRlci5jOjE0NDkKLW1zZ2lkICIobm8gYnJhbmNoKSIKLW1zZ3N0ciAiKGNhcCBicmFuY2EpIgotCi0jOiByZWYtZmlsdGVyLmM6MTQ4MyByZWYtZmlsdGVyLmM6MTYzOAorIzogcmVmLWZpbHRlci5jOjE1NDAgcmVmLWZpbHRlci5jOjE3NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBvYmplY3QgJXMgZm9yICVzIgogbXNnc3RyICJtYW5jYSBsJ29iamVjdGUgJXMgcGVyIGEgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDkxCisjOiByZWYtZmlsdGVyLmM6MTU1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXJzZV9vYmplY3RfYnVmZmVyIGZhaWxlZCBvbiAlcyBmb3IgJXMiCiBtc2dzdHIgInBhcnNlX29iamVjdF9idWZmZXIgaGEgZmFsbGF0IGVuICVzIHBlciBhICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTg1NworIzogcmVmLWZpbHRlci5jOjIwMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBhdCAnJXMnIgogbXNnc3RyICJvYmplY3RlIG1hbCBmb3JtYXQgYSDCqyVzwrsiCiAKLSM6IHJlZi1maWx0ZXIuYzoxOTQ2CisjOiByZWYtZmlsdGVyLmM6MjA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyByZWYgd2l0aCBicm9rZW4gbmFtZSAlcyIKIG1zZ3N0ciAicydlc3TDoCBpZ25vcmFudCBsYSByZWZlcsOobmNpYSBhbWIgbm9tIG1hbG3DqHMgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoyMjMyCisjOiByZWYtZmlsdGVyLmM6MjM4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgogbXNnc3RyICJmb3JtYXQ6IG1hbmNhIGwnw6B0b20gJSUoZW5kKSIKIAotIzogcmVmLWZpbHRlci5jOjIzMzgKKyM6IHJlZi1maWx0ZXIuYzoyNDg5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbWVyZ2VkIgorbXNnc3RyICJsJ29wY2nDsyDCqyVzwrsgw6lzIGluY29tcGF0aWJsZSBhbWIgLS1tZXJnZWQiCisKKyM6IHJlZi1maWx0ZXIuYzoyNDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbm8tbWVyZ2VkIgorbXNnc3RyICJsJ29wY2nDsyDCqyVzwrsgw6lzIGluY29tcGF0aWJsZSBhbWIgLS1uby1tZXJnZWQiCisKKyM6IHJlZi1maWx0ZXIuYzoyNTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAibm9tIGQnb2JqZWN0ZSAlcyBtYWwgZm9ybWF0IgogCi0jOiByZW1vdGUuYzo2MDcKKyM6IHJlZi1maWx0ZXIuYzoyNTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIG11c3QgcG9pbnQgdG8gYSBjb21taXQiCittc2dzdHIgImwnb3BjacOzIMKrJXPCuyBoYSBkJ2FwdW50YXIgYSB1bmEgY29taXNzacOzIgorCisjOiByZW1vdGUuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29uZmlnIHJlbW90ZSBzaG9ydGhhbmQgY2Fubm90IGJlZ2luIHdpdGggJy8nOiAlcyIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUuYzo0MTMKK21zZ2lkICJtb3JlIHRoYW4gb25lIHJlY2VpdmVwYWNrIGdpdmVuLCB1c2luZyB0aGUgZmlyc3QiCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6NDIxCittc2dpZCAibW9yZSB0aGFuIG9uZSB1cGxvYWRwYWNrIGdpdmVuLCB1c2luZyB0aGUgZmlyc3QiCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6NjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBmZXRjaCBib3RoICVzIGFuZCAlcyB0byAlcyIKIG1zZ3N0ciAiTm8gZXMgcG9kZW4gb2J0ZW5pciBhbWJkw7NzICVzIGkgJXMgYSAlcyIKIAotIzogcmVtb3RlLmM6NjExCisjOiByZW1vdGUuYzo2MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdXN1YWxseSB0cmFja3MgJXMsIG5vdCAlcyIKIG1zZ3N0ciAiJXMgZ2VuZXJhbG1lbnQgc2VndWVpeCAlcywgbm8gJXMiCiAKLSM6IHJlbW90ZS5jOjYxNQorIzogcmVtb3RlLmM6NjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHRyYWNrcyBib3RoICVzIGFuZCAlcyIKIG1zZ3N0ciAiJXMgc2VndWVpeCBhbWJkw7NzICVzIGkgJXMiCiAKLSM6IHJlbW90ZS5jOjYyMwotbXNnaWQgIkludGVybmFsIGVycm9yIgotbXNnc3RyICJFcnJvciBpbnRlcm4iCisjOiByZW1vdGUuYzo2ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAia2V5ICclcycgb2YgcGF0dGVybiBoYWQgbm8gJyonIgorbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE1NjkgcmVtb3RlLmM6MTY3MAorIzogcmVtb3RlLmM6Njk3CisjLCBjLWZvcm1hdAorbXNnaWQgInZhbHVlICclcycgb2YgcGF0dGVybiBoYXMgbm8gJyonIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjEwMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNyYyByZWZzcGVjICVzIGRvZXMgbm90IG1hdGNoIGFueSIKK21zZ3N0ciAiJXM6IG5vIGNvaW5jaWRlaXggYW1iIGwnw61uZGV4IgorCisjOiByZW1vdGUuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgInNyYyByZWZzcGVjICVzIG1hdGNoZXMgbW9yZSB0aGFuIG9uZSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogIm1hdGNoZXMgJyVzJyUiIGlzIHRoZSA8ZHN0PiBwYXJ0IG9mICJnaXQgcHVzaAorIy4gPHJlbW90ZT4gPHNyYz46PGRzdD4iIHB1c2gsIGFuZCAiYmVpbmcgcHVzaGVkICgnJXMnKSIgaXMKKyMuIHRoZSA8c3JjPi4KKyMuCisjOiByZW1vdGUuYzoxMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVzdGluYXRpb24geW91IHByb3ZpZGVkIGlzIG5vdCBhIGZ1bGwgcmVmbmFtZSAoaS5lLixcbiIKKyJzdGFydGluZyB3aXRoIFwicmVmcy9cIikuIFdlIHRyaWVkIHRvIGd1ZXNzIHdoYXQgeW91IG1lYW50IGJ5OlxuIgorIlxuIgorIi0gTG9va2luZyBmb3IgYSByZWYgdGhhdCBtYXRjaGVzICclcycgb24gdGhlIHJlbW90ZSBzaWRlLlxuIgorIi0gQ2hlY2tpbmcgaWYgdGhlIDxzcmM+IGJlaW5nIHB1c2hlZCAoJyVzJylcbiIKKyIgIGlzIGEgcmVmIGluIFwicmVmcy97aGVhZHMsdGFnc30vXCIuIElmIHNvIHdlIGFkZCBhIGNvcnJlc3BvbmRpbmdcbiIKKyIgIHJlZnMve2hlYWRzLHRhZ3N9LyBwcmVmaXggb24gdGhlIHJlbW90ZSBzaWRlLlxuIgorIlxuIgorIk5laXRoZXIgd29ya2VkLCBzbyB3ZSBnYXZlIHVwLiBZb3UgbXVzdCBmdWxseSBxdWFsaWZ5IHRoZSByZWYuIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjEwNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSA8c3JjPiBwYXJ0IG9mIHRoZSByZWZzcGVjIGlzIGEgY29tbWl0IG9iamVjdC5cbiIKKyJEaWQgeW91IG1lYW4gdG8gY3JlYXRlIGEgbmV3IGJyYW5jaCBieSBwdXNoaW5nIHRvXG4iCisiJyVzOnJlZnMvaGVhZHMvJXMnPyIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUuYzoxMDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIHRhZyBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIGNyZWF0ZSBhIG5ldyB0YWcgYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL3RhZ3MvJXMnPyIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUuYzoxMDUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIHRyZWUgb2JqZWN0LlxuIgorIkRpZCB5b3UgbWVhbiB0byB0YWcgYSBuZXcgdHJlZSBieSBwdXNoaW5nIHRvXG4iCisiJyVzOnJlZnMvdGFncy8lcyc/IgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjEwNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSA8c3JjPiBwYXJ0IG9mIHRoZSByZWZzcGVjIGlzIGEgYmxvYiBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIHRhZyBhIG5ldyBibG9iIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy90YWdzLyVzJz8iCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6MTA5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYnJhbmNoIgorbXNnc3RyICLCqyVzwrsgbm8gZXMgcG90IHJlc29sZHJlIGEgdW5hIGJyYW5jYSIKKworIzogcmVtb3RlLmM6MTEwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZGVsZXRlICclcyc6IHJlbW90ZSByZWYgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgc3VwcmltaXIgwqslc8K7OiBsYSByZWZlcsOobmNpYSByZW1vdGEgbm8gZXhpc3RlaXgiCisKKyM6IHJlbW90ZS5jOjExMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHN0IHJlZnNwZWMgJXMgbWF0Y2hlcyBtb3JlIHRoYW4gb25lIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjExMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHN0IHJlZiAlcyByZWNlaXZlcyBmcm9tIG1vcmUgdGhhbiBvbmUgc3JjIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjE2MjcgcmVtb3RlLmM6MTcyOAogbXNnaWQgIkhFQUQgZG9lcyBub3QgcG9pbnQgdG8gYSBicmFuY2giCiBtc2dzdHIgIkhFQUQgbm8gYXNzZW55YWxhIGNhcCBicmFuY2EiCiAKLSM6IHJlbW90ZS5jOjE1NzgKKyM6IHJlbW90ZS5jOjE2MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2g6ICclcyciCi1tc2dzdHIgIm5vIGhpIGhhIHRhbCBicmFuY2E6IMKrJXPCuyIKK21zZ3N0ciAibm8gZXhpc3RlaXggbGEgYnJhbmNhOiDCqyVzwrsiCiAKLSM6IHJlbW90ZS5jOjE1ODEKKyM6IHJlbW90ZS5jOjE2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdXBzdHJlYW0gY29uZmlndXJlZCBmb3IgYnJhbmNoICclcyciCiBtc2dzdHIgImNhcCBmb250IGNvbmZpZ3VyYWRhIHBlciBhIGxhIGJyYW5jYSDCqyVzwrsiCiAKLSM6IHJlbW90ZS5jOjE1ODcKKyM6IHJlbW90ZS5jOjE2NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAidXBzdHJlYW0gYnJhbmNoICclcycgbm90IHN0b3JlZCBhcyBhIHJlbW90ZS10cmFja2luZyBicmFuY2giCiBtc2dzdHIgImxhIGJyYW5jYSBmb250IMKrJXPCuyBubyBzJ2VtbWFnYXR6ZW1hIGNvbSBhIGJyYW5jYSBhbWIgc2VndWltZW50IHJlbW90IgogCi0jOiByZW1vdGUuYzoxNjAyCisjOiByZW1vdGUuYzoxNjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInB1c2ggZGVzdGluYXRpb24gJyVzJyBvbiByZW1vdGUgJyVzJyBoYXMgbm8gbG9jYWwgdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICIiCiAiZWwgZGVzdMOtIGRlIHB1amFkYSDCqyVzwrsgZW4gZWwgcmVtb3Qgwqslc8K7IG5vIHTDqSBjYXAgYnJhbmNhIGFtYiBzZWd1aW1lbnQgcmVtb3QiCiAKLSM6IHJlbW90ZS5jOjE2MTQKKyM6IHJlbW90ZS5jOjE2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgaGFzIG5vIHJlbW90ZSBmb3IgcHVzaGluZyIKIG1zZ3N0ciAibGEgYnJhbmNhIMKrJXPCuyBubyB0w6kgY2FwIHJlbW90IGFsIHF1YWwgcHVqYXIiCiAKLSM6IHJlbW90ZS5jOjE2MjQKKyM6IHJlbW90ZS5jOjE2ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCByZWZzcGVjcyBmb3IgJyVzJyBkbyBub3QgaW5jbHVkZSAnJXMnIgogbXNnc3RyICJsZXMgZXNwZWNpZmljYWNpb25zIGRlIHJlZmVyw6huY2lhIGRlIMKrJXPCuyBubyBpbmNsb3VlbiDCqyVzwrsiCiAKLSM6IHJlbW90ZS5jOjE2MzcKKyM6IHJlbW90ZS5jOjE2OTUKIG1zZ2lkICJwdXNoIGhhcyBubyBkZXN0aW5hdGlvbiAocHVzaC5kZWZhdWx0IGlzICdub3RoaW5nJykiCi1tc2dzdHIgInB1c2ggbm8gdMOpIGRlc3TDrSAocHVzaC5kZWZhdWx0IMOpcyAnbm90aGluZycpIgorbXNnc3RyICJwdXNoIG5vIHTDqSBkZXN0w60gKHB1c2guZGVmYXVsdCDDqXMgwqtub3RoaW5nKSIKIAotIzogcmVtb3RlLmM6MTY1OQorIzogcmVtb3RlLmM6MTcxNwogbXNnaWQgImNhbm5vdCByZXNvbHZlICdzaW1wbGUnIHB1c2ggdG8gYSBzaW5nbGUgZGVzdGluYXRpb24iCiBtc2dzdHIgIm5vIGVzIHBvdCByZXNvbGRyZSB1bmEgcHVqYWRhICdzaW1wbGUnIGEgdW4gc29sIGRlc3TDrSIKIAotIzogcmVtb3RlLmM6MTkzNQorIzogcmVtb3RlLmM6MTg0MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgJXMiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgdHJvYmFyIGxhIHJlZmVyw6huY2lhIHJlbW90YSAlcyIKKworIzogcmVtb3RlLmM6MTg1NgorIywgYy1mb3JtYXQKK21zZ2lkICIqIElnbm9yaW5nIGZ1bm55IHJlZiAnJXMnIGxvY2FsbHkiCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6MjAxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBiYXNlZCBvbiAnJXMnLCBidXQgdGhlIHVwc3RyZWFtIGlzIGdvbmUuXG4iCiBtc2dzdHIgIkxhIHZvc3RyYSBicmFuY2EgZXN0w6AgYmFzYWRhIGVuIMKrJXPCuywgcGVyw7IgbGEgZm9udCBubyBoaSDDqXMuXG4iCiAKLSM6IHJlbW90ZS5jOjE5MzkKKyM6IHJlbW90ZS5jOjIwMjMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIKIG1zZ3N0ciAiICAodXNldSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHBlciBhIGFycmVnbGFyKVxuIgogCi0jOiByZW1vdGUuYzoxOTQyCisjOiByZW1vdGUuYzoyMDI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIHVwIHRvIGRhdGUgd2l0aCAnJXMnLlxuIgogbXNnc3RyICJMYSB2b3N0cmEgYnJhbmNhIGVzdMOgIGFsIGRpYSBhbWIgwqslc8K7LlxuIgogCi0jOiByZW1vdGUuYzoxOTQ2CisjOiByZW1vdGUuYzoyMDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGFuZCAnJXMnIHJlZmVyIHRvIGRpZmZlcmVudCBjb21taXRzLlxuIgogbXNnc3RyICJMYSB2b3N0cmEgYnJhbmNhIGkgwqslc8K7IGVzIHJlZmVyZWl4ZW4gYSBkaWZlcmVudHMgY29taXNzaW9ucy5cbiIKIAotIzogcmVtb3RlLmM6MTk0OQorIzogcmVtb3RlLmM6MjAzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCIlc1wiIGZvciBkZXRhaWxzKVxuIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE5NTMKKyM6IHJlbW90ZS5jOjIwMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKLW1zZ3N0clswXSAiTGEgdm9zdHJhIGJyYW5jYSBlc3TDoCBkYXZhbnQgZGUgwqslc8K7IHBlciAlZCBjb21pc3Npw7MuXG4iCi1tc2dzdHJbMV0gIkxhIHZvc3RyYSBicmFuY2EgZXN0w6AgZGF2YW50IGRlIMKrJXPCuyBwZXIgJWQgY29taXNzaW9ucy5cbiIKK21zZ3N0clswXSAiTGEgdm9zdHJhIGJyYW5jYSBlc3TDoCAlMiRkIGNvbWlzc2nDsyBwZXIgZGF2YW50IGRlIMKrJTEkc8K7LlxuIgorbXNnc3RyWzFdICJMYSB2b3N0cmEgYnJhbmNhIGVzdMOgICUyJGQgY29taXNzaW9ucyBwZXIgZGF2YW50IGRlIMKrJTEkc8K7LlxuIgogCi0jOiByZW1vdGUuYzoxOTU5CisjOiByZW1vdGUuYzoyMDQzCiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1c2hcIiB0byBwdWJsaXNoIHlvdXIgbG9jYWwgY29tbWl0cylcbiIKIG1zZ3N0ciAiICAodXNldSBcImdpdCBwdXNoXCIgcGVyIGEgcHVibGljYXIgbGVzIHZvc3RyZXMgY29taXNzaW9ucyBsb2NhbHMpXG4iCiAKLSM6IHJlbW90ZS5jOjE5NjIKKyM6IHJlbW90ZS5jOjIwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCiAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0cywgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKIG1zZ3N0clswXSAiIgotIkxhIHZvc3RyYSBicmFuY2EgZXN0w6AgZGFycmVyZSBkZSDCqyVzwrsgcGVyICVkIGNvbWlzc2nDsywgaSBwb3QgYXZhbsOnYXItc2UgIgorIkxhIHZvc3RyYSBicmFuY2EgZXN0w6AgJTIkZCBjb21pc3Npw7MgcGVyIGRhcnJlcmUgZGUgwqslMSRzwrssIGkgcG90IGF2YW7Dp2FyLXNlICIKICJyw6BwaWRhbWVudC5cbiIKIG1zZ3N0clsxXSAiIgotIkxhIHZvc3RyYSBicmFuY2EgZXN0w6AgZGFycmVyZSBkZSDCqyVzwrsgcGVyICVkIGNvbWlzc2lvbnMsIGkgcG90IGF2YW7Dp2FyLXNlICIKLSJyw6BwaWRhbWVudC5cbiIKKyJMYSB2b3N0cmEgYnJhbmNhIGVzdMOgICUyJGQgY29taXNzaW9ucyBwZXIgZGFycmVyZSBkZSDCqyUxJHPCuywgaSBwb3QgYXZhbsOnYXItIgorInNlIHLDoHBpZGFtZW50LlxuIgogCi0jOiByZW1vdGUuYzoxOTcwCisjOiByZW1vdGUuYzoyMDU0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byB1cGRhdGUgeW91ciBsb2NhbCBicmFuY2gpXG4iCi1tc2dzdHIgIiAodXNldSBcImdpdCBwdWxsXCIgcGVyIGEgYWN0dWFsaXR6YXIgbGEgdm9zdHJhIGJyYW5jYSBsb2NhbClcbiIKK21zZ3N0ciAiICAodXNldSDCq2dpdCBwdWxswrsgcGVyIGEgYWN0dWFsaXR6YXIgbGEgdm9zdHJhIGJyYW5jYSBsb2NhbClcbiIKIAotIzogcmVtb3RlLmM6MTk3MworIzogcmVtb3RlLmM6MjA1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKQEAgLTQzOTEsMTQgKzYwMDEsMTkgQEAKICJMYSB2b3N0cmEgYnJhbmNhIGkgwqslc8K7IGhhbiBkaXZlcmdpdCxcbiIKICJpIHRlbmVuICVkIGkgJWQgY29taXNzaW9ucyBkaXN0aW50ZXMgY2FkYSB1bmEsIHJlc3BlY3RpdmFtZW50LlxuIgogCi0jOiByZW1vdGUuYzoxOTgzCisjOiByZW1vdGUuYzoyMDY3CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIgotbXNnc3RyICIgICh1c2V1IFwiZ2l0IHB1bGxcIiBwZXIgYSBmdXNpb25hciBsYSBicmFuY2EgcmVtb3RhIGEgbGEgdm9zdHJhKVxuIgorbXNnc3RyICIgICh1c2V1IMKrZ2l0IHB1bGzCuyBwZXIgYSBmdXNpb25hciBsYSBicmFuY2EgcmVtb3RhIGEgbGEgdm9zdHJhKVxuIgorCisjOiByZW1vdGUuYzoyMjUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBwYXJzZSBleHBlY3RlZCBvYmplY3QgbmFtZSAnJXMnIgorbXNnc3RyICJubyBlcyBwb3QgYW5hbGl0emFyIGVsIG5vbSBkZSBsJ29iamVjdGUgZXNwZXJhdCDCqyVzwrsiCiAKICM6IHJlcGxhY2Utb2JqZWN0LmM6MjEKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwbGFjZSByZWYgbmFtZTogJXMiCi1tc2dzdHIgInN1cHJpbWVpeCBsZXMgcmVmZXLDqG5jaWVzIHJlZW1wbGHDp2FkZXMiCittc2dzdHIgIm5vbSBkZSBsYSByZWZlcsOobmNpYSByZWVtcGxhw6dhZGEgaW5jb3JyZWN0ZTogJXMiCiAKICM6IHJlcGxhY2Utb2JqZWN0LmM6MzAKICMsIGZ1enp5LCBjLWZvcm1hdApAQCAtNDQwNiwyOCArNjAyMSwyMiBAQAogbXNnc3RyICJzdXByaW1laXggbGVzIHJlZmVyw6huY2llcyByZWVtcGxhw6dhZGVzIgogCiAjOiByZXBsYWNlLW9iamVjdC5jOjczCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAicmVwbGFjZSBkZXB0aCB0b28gaGlnaCBmb3Igb2JqZWN0ICVzIgotbXNnc3RyICJyZWVtcGxhw6dhIGwnZXRpcXVldGEgc2kgZXhpc3RlaXgiCittc2dzdHIgImxhIHByb2Z1bmRpdGF0IGRlIHJlZW1wbGHDp2FtZW50IMOpcyBtYXNzYSBhbHRhIHBlciBsJ29iamVjdGUgJXMiCiAKICM6IHJlcmVyZS5jOjIxNyByZXJlcmUuYzoyMjYgcmVyZXJlLmM6MjI5CiBtc2dpZCAiY29ycnVwdCBNRVJHRV9SUiIKLW1zZ3N0ciAiIgorbXNnc3RyICJNRVJHRV9SUiBjb3JydXB0ZSIKIAogIzogcmVyZXJlLmM6MjY0IHJlcmVyZS5jOjI2OQotIywgZnV6enkKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcmVyZXJlIHJlY29yZCIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsJ29iamVjdGUgZGUgbm90YSIKLQotIzogcmVyZXJlLmM6NDg1IHJlcmVyZS5jOjY5MiBzZXF1ZW5jZXIuYzozMTM2IHNlcXVlbmNlci5jOjMxNjIKLSMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCB3cml0ZSAnJXMnIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGEgwqslc8K7IgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGVsIHJlZ2lzdHJlIMKrcmVyZXJlwrsiCiAKICM6IHJlcmVyZS5jOjQ5NQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgInRoZXJlIHdlcmUgZXJyb3JzIHdoaWxlIHdyaXRpbmcgJyVzJyAoJXMpIgotbXNnc3RyICJlcnJvciBlbiBsbGVnaXIgJXMiCittc2dzdHIgInMnaGFuIHByb2R1w690IGVycm9ycyBlbiBlc2NyaXVyZSDCqyVzwrsgKCVzKSIKIAogIzogcmVyZXJlLmM6NDk4CiAjLCBmdXp6eSwgYy1mb3JtYXQKQEAgLTQ0MzUsMTQgKzYwNDQsMTQgQEAKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBmZXIgc3RhdCBhIMKrJXPCuyIKIAogIzogcmVyZXJlLmM6NTAzIHJlcmVyZS5jOjEwMzkKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbmZsaWN0IGh1bmtzIGluICclcyciCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGxhIGNvbWlzc2nDsyDCqyVzwrsiCittc2dzdHIgIm5vIHMnaGFuIHBvZ3V0IGFuYWxpdHphciBlbHMgcGVkYcOnb3MgZW4gY29uZmxpY3RlIGEgwqslc8K7IgogCiAjOiByZXJlcmUuYzo2ODQKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdXRpbWUoKSBvbiAnJXMnIgotbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyIMKrJXPCuyIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBmZXIgwqtmYWlsZWQgdXRpbWUoKcK7IGEgwqslc8K7IgogCiAjOiByZXJlcmUuYzo2OTQKICMsIGZ1enp5LCBjLWZvcm1hdApAQCAtNDQ3NCw4ICs2MDgzLDggQEAKIG1zZ2lkICJSZWNvcmRlZCBwcmVpbWFnZSBmb3IgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgZWwgZml0eGVyIGRlIHJlZ2lzdHJlIMKrJXPCuyIKIAotIzogcmVyZXJlLmM6ODgxIHN1Ym1vZHVsZS5jOjE3NjMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MTMKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDIzCisjOiByZXJlcmUuYzo4ODEgc3VibW9kdWxlLmM6MjA2NyBidWlsdGluL2xvZy5jOjE4NzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDM2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgZWwgZGlyZWN0b3JpIMKrJXPCuyIKQEAgLTQ1MTAsNjAgKzYxMTksNjQgQEAKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiByci1jYWNoZSBkaXJlY3RvcnkiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWN0dWFsaXR6YXIgbCdhcmJyZSBjYXUiCiAKLSM6IHJldmlzaW9uLmM6MjMyNAorIzogcmV2aXNpb24uYzoyNDk3CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCBhcHBlYXJzIHRvIGJlIGJyb2tlbiIKIG1zZ3N0ciAibGEgdm9zdHJhIGJyYW5jYSBhY3R1YWwgc2VtYmxhIG1hbG1lc2EiCiAKLSM6IHJldmlzaW9uLmM6MjMyNworIzogcmV2aXNpb24uYzoyNTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggJyVzJyBkb2VzIG5vdCBoYXZlIGFueSBjb21taXRzIHlldCIKIG1zZ3N0ciAibGEgYnJhbmNhIGFjdHVhbCDCqyVzwrsgZW5jYXJhIG5vIHTDqSBjYXAgY29taXNzacOzIgogCi0jOiByZXZpc2lvbi5jOjI1MjMKKyM6IHJldmlzaW9uLmM6MjcwOAogbXNnaWQgIi0tZmlyc3QtcGFyZW50IGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYmlzZWN0IgogbXNnc3RyICItLWZpcnN0LXBhcmVudCDDqXMgaW5jb21wYXRpYmxlIGFtYiAtLWJpc2VjdCIKIAotIzogcnVuLWNvbW1hbmQuYzo3NDAKKyM6IHJldmlzaW9uLmM6MjcxMgorbXNnaWQgIi1MIGRvZXMgbm90IHlldCBzdXBwb3J0IGRpZmYgZm9ybWF0cyBiZXNpZGVzIC1wIGFuZCAtcyIKK21zZ3N0ciAiIgorCisjOiBydW4tY29tbWFuZC5jOjc2MgogbXNnaWQgIm9wZW4gL2Rldi9udWxsIGZhaWxlZCIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpciAvZGV2L251bGwiCiAKLSM6IHJ1bi1jb21tYW5kLmM6MTIyOQorIzogcnVuLWNvbW1hbmQuYzoxMjY4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIGFzeW5jIHRocmVhZDogJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgZmlsOiAlcyIKIAotIzogcnVuLWNvbW1hbmQuYzoxMjkzCisjOiBydW4tY29tbWFuZC5jOjEzMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAnJXMnIGhvb2sgd2FzIGlnbm9yZWQgYmVjYXVzZSBpdCdzIG5vdCBzZXQgYXMgZXhlY3V0YWJsZS5cbiIKICJZb3UgY2FuIGRpc2FibGUgdGhpcyB3YXJuaW5nIHdpdGggYGdpdCBjb25maWcgYWR2aWNlLmlnbm9yZWRIb29rIGZhbHNlYC4iCiBtc2dzdHIgIiIKIAotIzogc2VuZC1wYWNrLmM6MTQyCisjOiBzZW5kLXBhY2suYzoxNDQKIG1zZ2lkICJ1bmV4cGVjdGVkIGZsdXNoIHBhY2tldCB3aGlsZSByZWFkaW5nIHJlbW90ZSB1bnBhY2sgc3RhdHVzIgogbXNnc3RyICIiCiAicGFxdWV0IGRlIG5ldGVqYSBubyBlc3BlcmF0IHF1YW4gZXN0YXZhIGxsZWdpbnQgbCdlc3RhdCBkZWwgZGVzZW1wYXF1ZXRhbWVudCAiCiAicmVtb3QiCiAKLSM6IHNlbmQtcGFjay5jOjE0NAorIzogc2VuZC1wYWNrLmM6MTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSByZW1vdGUgdW5wYWNrIHN0YXR1czogJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGwnZXN0YXQgZGVsIGRlc2VtcGFxdWV0YW1lbnQgcmVtb3Q6ICVzIgogCi0jOiBzZW5kLXBhY2suYzoxNDYKKyM6IHNlbmQtcGFjay5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUgdW5wYWNrIGZhaWxlZDogJXMiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZWwgZGVzZW1wYXF1ZXRhbWVudCByZW1vdDogJXMiCiAKLSM6IHNlbmQtcGFjay5jOjMwOAorIzogc2VuZC1wYWNrLmM6MzA5CiBtc2dpZCAiZmFpbGVkIHRvIHNpZ24gdGhlIHB1c2ggY2VydGlmaWNhdGUiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gc2lnbmFyIGVsIGNlcnRpZmljYXQgZGUgcHVqYWRhIgogCi0jOiBzZW5kLXBhY2suYzo0MjEKKyM6IHNlbmQtcGFjay5jOjQyMwogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQgcHVzaCIKIG1zZ3N0ciAiZWwgZGVzdMOtIHJlY2VwdG9yIG5vIGFkbWV0IHB1amFyIC0tc2lnbmVkIgogCi0jOiBzZW5kLXBhY2suYzo0MjMKKyM6IHNlbmQtcGFjay5jOjQyNQogbXNnaWQgIiIKICJub3Qgc2VuZGluZyBhIHB1c2ggY2VydGlmaWNhdGUgc2luY2UgdGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLSIKICJzaWduZWQgcHVzaCIKQEAgLTQ1NzEsNDIgKzYxODQsNDcgQEAKICJubyBzJ2VzdMOgIGVudmlhbnQgdW5hIGNlcnRpZmljYWNpw7MgZGUgcHVqYWRhIHBlcnF1w6ggZWwgZGVzdMOtIHJlY2VwdG9yIG5vICIKICJhZG1ldCBwdWphciAtLXNpZ25lZCIKIAotIzogc2VuZC1wYWNrLmM6NDM1CisjOiBzZW5kLXBhY2suYzo0MzcKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIHB1c2giCiBtc2dzdHIgImVsIGRlc3TDrSByZWNlcHRvciBubyBhZG1ldCBwdWphciAtLWF0b21pYyIKIAotIzogc2VuZC1wYWNrLmM6NDQwCisjOiBzZW5kLXBhY2suYzo0NDIKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IHB1c2ggb3B0aW9ucyIKIG1zZ3N0ciAiZWwgZGVzdMOtIHJlY2VwdG9yIG5vIGFkbWV0IG9wY2lvbnMgZGUgcHVqYWRhIgogCi0jOiBzZXF1ZW5jZXIuYzoxODMKKyM6IHNlcXVlbmNlci5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbW1pdCBtZXNzYWdlIGNsZWFudXAgbW9kZSAnJXMnIgogbXNnc3RyICJtb2RlIGRlIG5ldGVqYSDCqyVzwrsgbm8gdsOgbGlkIGVuIGxhIGNvbWlzc2nDsyBkZWwgbWlzc2F0Z2UiCiAKLSM6IHNlcXVlbmNlci5jOjI4NworIzogc2VxdWVuY2VyLmM6Mjk0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlICclcyciCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgc3VwcmltaXIgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjMxMworIzogc2VxdWVuY2VyLmM6MzEzIGJ1aWx0aW4vcmViYXNlLmM6NzgxIGJ1aWx0aW4vcmViYXNlLmM6MTcwNiBidWlsdGluL3JtLmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgJyVzJyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBzdXByaW1pciDCqyVzwrsiCisKKyM6IHNlcXVlbmNlci5jOjMyMwogbXNnaWQgInJldmVydCIKIG1zZ3N0ciAicmV2ZXJ0aXIiCiAKLSM6IHNlcXVlbmNlci5jOjMxNQorIzogc2VxdWVuY2VyLmM6MzI1CiBtc2dpZCAiY2hlcnJ5LXBpY2siCiBtc2dzdHIgImNoZXJyeS1waWNrIgogCi0jOiBzZXF1ZW5jZXIuYzozMTcKKyM6IHNlcXVlbmNlci5jOjMyNwogbXNnaWQgInJlYmFzZSAtaSIKIG1zZ3N0ciAicmViYXNlIC1pIgogCi0jOiBzZXF1ZW5jZXIuYzozMTkKKyM6IHNlcXVlbmNlci5jOjMyOQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBhY3Rpb246ICVkIgogbXNnc3RyICJBY2Npw7MgZGVzY29uZWd1ZGE6ICVkIgogCi0jOiBzZXF1ZW5jZXIuYzozNzYKKyM6IHNlcXVlbmNlci5jOjM4NwogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nIgpAQCAtNDYxNCw3ICs2MjMyLDcgQEAKICJkZXNwcsOpcyBkZSByZXNvbGRyZSBlbHMgY29uZmxpY3RlcywgbWFycXVldSBlbHMgY2FtaW5zXG4iCiAiY29ycmVnaXRzIGFtYiAnZ2l0IGFkZCA8Y2FtaW5zPicgbyAnZ2l0IHJtIDxjYW1pbnM+JyIKIAotIzogc2VxdWVuY2VyLmM6Mzc5CisjOiBzZXF1ZW5jZXIuYzozOTAKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+J1xuIgpAQCAtNDYyNCwxMTAgKzYyNDIsMTE1IEBACiAiY29ycmVnaXRzIGFtYiAnZ2l0IGFkZCA8Y2FtaW5zPicgbyAnZ2l0IHJtIDxjYW1pbnM+J1xuIgogImkgY29tZXRldSBlbCByZXN1bHRhdCBhbWIgJ2dpdCBjb21taXQnIgogCi0jOiBzZXF1ZW5jZXIuYzozOTIgc2VxdWVuY2VyLmM6MjYzMgorIzogc2VxdWVuY2VyLmM6NDAzIHNlcXVlbmNlci5jOjI5OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvY2sgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBibG9xdWVqYXIgwqslc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzozOTkKKyM6IHNlcXVlbmNlci5jOjQxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgZW9sIHRvICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgZWwgdGVybWluYWRvciBkZSBsw61uaWEgYSDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjQwNCBzZXF1ZW5jZXIuYzoyNTE1IHNlcXVlbmNlci5jOjI2Mzggc2VxdWVuY2VyLmM6MjY1MgotIzogc2VxdWVuY2VyLmM6Mjg4NQorIzogc2VxdWVuY2VyLmM6NDE1IHNlcXVlbmNlci5jOjI3OTggc2VxdWVuY2VyLmM6Mjk5OSBzZXF1ZW5jZXIuYzozMDEzCisjOiBzZXF1ZW5jZXIuYzozMjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBmaW5hbGl6ZSAnJXMnIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGZpbmFsaXR6YXIgwqslc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzo0Mjcgc2VxdWVuY2VyLmM6OTIxIHNlcXVlbmNlci5jOjE1OTQgc2VxdWVuY2VyLmM6MjUzNQotIzogc2VxdWVuY2VyLmM6Mjg2NyBzZXF1ZW5jZXIuYzoyOTc0IGJ1aWx0aW4vYW0uYzoyNjAgYnVpbHRpbi9jb21taXQuYzo3NDYKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDg0IGJ1aWx0aW4vcmViYXNlLmM6MTUyCisjOiBzZXF1ZW5jZXIuYzo0Mzggc2VxdWVuY2VyLmM6MTcwNyBzZXF1ZW5jZXIuYzoyODE4IHNlcXVlbmNlci5jOjMyNTkKKyM6IHNlcXVlbmNlci5jOjMzNjggYnVpbHRpbi9hbS5jOjI0NCBidWlsdGluL2NvbW1pdC5jOjc4MyBidWlsdGluL21lcmdlLmM6MTExNworIzogYnVpbHRpbi9yZWJhc2UuYzo1ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgwqslc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzo0NTMKKyM6IHNlcXVlbmNlci5jOjQ2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXMuIgogbXNnc3RyICJlbHMgdm9zdHJlcyBjYW52aXMgbG9jYWxzIHNlIHNvYnJlZXNjcml1cmllbiBwZXIgJXMuIgogCi0jOiBzZXF1ZW5jZXIuYzo0NTcKKyM6IHNlcXVlbmNlci5jOjQ2OAogbXNnaWQgImNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKIG1zZ3N0ciAiY29tZXRldSBlbHMgdm9zdHJlcyBjYW52aXMgbyBmZXUgdW4gwqtzdGFzaMK7IHBlciBhIHByb2NlZGlyLiIKIAotIzogc2VxdWVuY2VyLmM6NDg2CisjOiBzZXF1ZW5jZXIuYzo1MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAiJXM6IGF2YW7DpyByw6BwaWQiCiAKKyM6IHNlcXVlbmNlci5jOjUzOSBidWlsdGluL3RhZy5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGNsZWFudXAgbW9kZSAlcyIKK21zZ3N0ciAiTW9kZSBkZSBuZXRlamEgbm8gdsOgbGlkICVzIgorCiAjLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiwgImNoZXJyeS1waWNrIiBvcgogIy4gInJlYmFzZSAtaSIuCiAjLgotIzogc2VxdWVuY2VyLmM6NTc1CisjOiBzZXF1ZW5jZXIuYzo2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiJXM6IE5vIHMnaGEgcG9ndXQgZXNjcml1cmUgdW4gZml0eGVyIGQnw61uZGV4IG5vdSIKIAotIzogc2VxdWVuY2VyLmM6NTkxCisjOiBzZXF1ZW5jZXIuYzo2NTAKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGNhY2hlIHRyZWUiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWN0dWFsaXR6YXIgbCdhcmJyZSBjYXUiCiAKLSM6IHNlcXVlbmNlci5jOjYwNAorIzogc2VxdWVuY2VyLmM6NjY0CiBtc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXQiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVzb2xkcmUgbGEgY29taXNzacOzIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjY4NAorIzogc2VxdWVuY2VyLmM6NzQ0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJubyBrZXkgcHJlc2VudCBpbiAnJS4qcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIMKrJS4qc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzo2OTUKKyM6IHNlcXVlbmNlci5jOjc1NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlcXVvdGUgdmFsdWUgb2YgJyVzJyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhZmVnaXIgZWwgcmVzdWx0YXQgZGUgZnVzacOzIHBlciBhIMKrJXPCuyIKIAotIzogc2VxdWVuY2VyLmM6NzMyIHdyYXBwZXIuYzoyMjcgd3JhcHBlci5jOjM5NyBidWlsdGluL2FtLmM6NzE5Ci0jOiBidWlsdGluL2FtLmM6ODExIGJ1aWx0aW4vbWVyZ2UuYzoxMDgxCisjOiBzZXF1ZW5jZXIuYzo3OTIgd3JhcHBlci5jOjE5MCB3cmFwcGVyLmM6MzYwIGJ1aWx0aW4vYW0uYzo3MDUKKyM6IGJ1aWx0aW4vYW0uYzo3OTcgYnVpbHRpbi9tZXJnZS5jOjExMTQgYnVpbHRpbi9yZWJhc2UuYzoxMDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgwqslc8K7IHBlciBhIGxlY3R1cmEiCiAKLSM6IHNlcXVlbmNlci5jOjc0MgorIzogc2VxdWVuY2VyLmM6ODAyCiBtc2dpZCAiJ0dJVF9BVVRIT1JfTkFNRScgYWxyZWFkeSBnaXZlbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJKYSBzJ2hhIGRvbmF0IMKrR0lUX0FVVEhPUl9OQU1FwrsiCiAKLSM6IHNlcXVlbmNlci5jOjc0NworIzogc2VxdWVuY2VyLmM6ODA3CiBtc2dpZCAiJ0dJVF9BVVRIT1JfRU1BSUwnIGFscmVhZHkgZ2l2ZW4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiSmEgcydoYSBkb25hdCDCq0dJVF9BVVRIT1JfRU1BSUzCuyIKIAotIzogc2VxdWVuY2VyLmM6NzUyCisjOiBzZXF1ZW5jZXIuYzo4MTIKIG1zZ2lkICInR0lUX0FVVEhPUl9EQVRFJyBhbHJlYWR5IGdpdmVuIgotbXNnc3RyICIiCittc2dzdHIgIkphIHMnaGEgZG9uYXQgwqtHSVRfQVVUSE9SX0RBVEXCuyIKIAotIzogc2VxdWVuY2VyLmM6NzU2Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHNlcXVlbmNlci5jOjgxNgorIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHZhcmlhYmxlICclcyciCi1tc2dzdHIgIkZvcm1hdCBkJ2FyeGl1IGRlc2NvbmVndXQgwqslc8K7IgorbXNnc3RyICJ2YXJpYWJsZSAgwqslc8K7IGRlc2NvbmVndWRhIgogCi0jOiBzZXF1ZW5jZXIuYzo3NjEKKyM6IHNlcXVlbmNlci5jOjgyMQogbXNnaWQgIm1pc3NpbmcgJ0dJVF9BVVRIT1JfTkFNRSciCi1tc2dzdHIgIiIKK21zZ3N0ciAiZmFsdGEgwqtHSVRfQVVUSE9SX05BTUXCuyIKIAotIzogc2VxdWVuY2VyLmM6NzYzCisjOiBzZXF1ZW5jZXIuYzo4MjMKIG1zZ2lkICJtaXNzaW5nICdHSVRfQVVUSE9SX0VNQUlMJyIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo3NjUKLW1zZ2lkICJtaXNzaW5nICdHSVRfQVVUSE9SX0RBVEUnIgotbXNnc3RyICIiCittc2dzdHIgImZhbHRhIMKrR0lUX0FVVEhPUl9FTUFJTMK7IgogCiAjOiBzZXF1ZW5jZXIuYzo4MjUKLSMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgZGF0ZSBmb3JtYXQgJyVzJyBpbiAnJXMnIgotbXNnc3RyICJmb3JtYXQgZGUgZGF0YSBubyB2w6BsaWQ6ICVzIgorbXNnaWQgIm1pc3NpbmcgJ0dJVF9BVVRIT1JfREFURSciCittc2dzdHIgImZhbHRhIMKrR0lUX0FVVEhPUl9EQVRFwrsiCiAKLSM6IHNlcXVlbmNlci5jOjg0MgorIzogc2VxdWVuY2VyLmM6OTAyIHNlcXVlbmNlci5jOjE0MjcKKyMsIGZ1enp5Cittc2dpZCAibWFsZm9ybWVkIGlkZW50IGxpbmUiCittc2dzdHIgImzDrW5pYSBkJ2VudHJhZGEgbWFsIGZvcm1hZGE6IMKrJXPCuy4iCisKKyM6IHNlcXVlbmNlci5jOjkyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAieW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWVcbiIKQEAgLTQ3NTcsMTYgKzYzODAsMTEgQEAKICJcbiIKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBzZXF1ZW5jZXIuYzo5MzUKLSMsIGZ1enp5Ci1tc2dpZCAid3JpdGluZyByb290IGNvbW1pdCIKLW1zZ3N0ciAibm8gaGkgaGEgcmVzIGEgY29tZXRyZVxuIgotCi0jOiBzZXF1ZW5jZXIuYzoxMTQyCisjOiBzZXF1ZW5jZXIuYzoxMjE4CiBtc2dpZCAiJ3ByZXBhcmUtY29tbWl0LW1zZycgaG9vayBmYWlsZWQiCiBtc2dzdHIgImVsIGxsaWdhbSDCq3ByZXBhcmUtY29tbWl0LW1zZ8K7IGhhIGZhbGxhdCIKIAotIzogc2VxdWVuY2VyLmM6MTE0OQorIzogc2VxdWVuY2VyLmM6MTIyNAogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC00NzgxLDE5ICs2Mzk5LDE5IEBACiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogbXNnc3RyICIiCiAiUydoYW4gY29uZmlndXJhdCBlbCB2b3N0cmUgbm9tIGkgYWRyZcOnYSBlbGVjdHLDsm5pY2FcbiIKLSJhdXRvbcOgdGljYW1lbnQgYmFzYXRzIGVuIGVsIHZvc3RyZSBub20gZCd1c3VhcmkgaSBub20gZGUgbcOgcXVpbmEuIFxuIgorImF1dG9tw6B0aWNhbWVudCBiYXNhbnQtc2UgZW4gZWwgdm9zdHJlIG5vbSBkJ3VzdWFyaSBpIG5vbSBkZSBtw6BxdWluYS4gXG4iCiAiQ29tcHJvdmV1IHF1ZSBzaWd1aW4gY29ycmVjdGVzLiBQb2RldSBzdXByaW1pciBhcXVlc3RcbiIKICJtaXNzYXRnZSBlc3RhYmxpbnQtbG9zIGV4cGzDrWNpdGFtZW50LiBFeGVjdXRldSBsJ29yZHJlIHNlZ8O8ZW50IGlcbiIKICJzZWd1aXUgbGVzIGluc3RydWNjaW9ucyBlbiBlbCB2b3N0cmUgZWRpdG9yIHBlciBlZGl0YXIgZWwgdm9zdHJlXG4iCiAiZml0eGVyIGRlIGNvbmZpZ3VyYWNpw7M6XG4iCiAiXG4iCiAiICAgIGdpdCBjb25maWcgLS1nbG9iYWwgLS1lZGl0XG4iCi0iRGVzcHLDqXMgZGUgZmVyIGFpeMOyLCBwb2RldSBhcnJlZ2xhciBsYSBpZGVudGl0YXQgdXNhZGEgcGVyIGEgYXF1ZXN0YVxuIgorIkRlc3Byw6lzIGRlIGZlciBhaXjDsiwgcG9kZXUgZXNtZW5hciBsYSBpZGVudGl0YXQgdXNhZGEgcGVyIGEgYXF1ZXN0YVxuIgogImNvbWlzc2nDsyBhbWI6XG4iCiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTYyCisjOiBzZXF1ZW5jZXIuYzoxMjM3CiBtc2dpZCAiIgogIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgogIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKQEAgLTQ4MTksMzAxICs2NDM3LDM1OSBAQAogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogc2VxdWVuY2VyLmM6MTIwMgorIzogc2VxdWVuY2VyLmM6MTI3OQogbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgdHJvYmFyIGxhIGNvbWlzc2nDsyBub3ZhbWVudCBjcmVhZGEiCiAKLSM6IHNlcXVlbmNlci5jOjEyMDQKKyM6IHNlcXVlbmNlci5jOjEyODEKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGxhIGNvbWlzc2nDsyBub3ZhbWVudCBjcmVhZGEiCiAKLSM6IHNlcXVlbmNlci5jOjEyNTAKKyM6IHNlcXVlbmNlci5jOjEzMjcKIG1zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSBIRUFEIGFmdGVyIGNyZWF0aW5nIGNvbW1pdCIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCByZXNvbGRyZSBIRUFEIGRlc3Byw6lzIGRlIGNyZWFyIGxhIGNvbWlzc2nDsyIKIAotIzogc2VxdWVuY2VyLmM6MTI1MgorIzogc2VxdWVuY2VyLmM6MTMyOQogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIkhFQUQgc2VwYXJhdCIKIAotIzogc2VxdWVuY2VyLmM6MTI1NgorIzogc2VxdWVuY2VyLmM6MTMzMwogbXNnaWQgIiAocm9vdC1jb21taXQpIgogbXNnc3RyICIgKGNvbWlzc2nDsyBkJ2FycmVsKSIKIAotIzogc2VxdWVuY2VyLmM6MTI3NworIzogc2VxdWVuY2VyLmM6MTM1NAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjc5CisjOiBzZXF1ZW5jZXIuYzoxMzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiSEVBRCAlcyBubyDDqXMgdW5hIGNvbWlzc2nDsyEiCiAKLSM6IHNlcXVlbmNlci5jOjEyODMgYnVpbHRpbi9jb21taXQuYzoxNTQzCisjOiBzZXF1ZW5jZXIuYzoxMzYwIHNlcXVlbmNlci5jOjE0NTggYnVpbHRpbi9jb21taXQuYzoxNTY5CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQgY29tbWl0IgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBsYSBjb21pc3Npw7MgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MTMzNCBzZXF1ZW5jZXIuYzoxOTM0CisjOiBzZXF1ZW5jZXIuYzoxNDExIHNlcXVlbmNlci5jOjIwNTUKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0IGF1dGhvciIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgbCdhdXRvciBkZSBsYSBjb21pc3Npw7MiCiAKLSM6IHNlcXVlbmNlci5jOjEzNDQgYnVpbHRpbi9hbS5jOjE1ODUgYnVpbHRpbi9tZXJnZS5jOjY3NworIzogc2VxdWVuY2VyLmM6MTQzMQorIywgZnV6enkKK21zZ2lkICJjb3JydXB0ZWQgYXV0aG9yIHdpdGhvdXQgZGF0ZSBpbmZvcm1hdGlvbiIKK21zZ3N0ciAiYWN0dWFsaXR6YSBsYSBpbmZvcm1hY2nDsyBkJ2VzdGFkw61zdGlxdWVzIgorCisjOiBzZXF1ZW5jZXIuYzoxNDQ3IGJ1aWx0aW4vYW0uYzoxNTYxIGJ1aWx0aW4vbWVyZ2UuYzo2ODQKIG1zZ2lkICJnaXQgd3JpdGUtdHJlZSBmYWlsZWQgdG8gd3JpdGUgYSB0cmVlIgogbXNnc3RyICJnaXQgd3JpdGUtdHJlZSBoYSBmYWxsYXQgZW4gZXNjcml1cmUgdW4gYXJicmUiCiAKLSM6IHNlcXVlbmNlci5jOjEzNjEgc2VxdWVuY2VyLmM6MTQxNgorIzogc2VxdWVuY2VyLmM6MTQ4MCBzZXF1ZW5jZXIuYzoxNTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIGNvbW1pdCBtZXNzYWdlIGZyb20gJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgZWwgbWlzc2F0Z2UgZGUgY29taXNzacOzIGRlcyBkZSDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjEzODMgYnVpbHRpbi9hbS5jOjE2MDYgYnVpbHRpbi9jb21taXQuYzoxNjQ2IGJ1aWx0aW4vbWVyZ2UuYzo4NTgKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4ODMKKyM6IHNlcXVlbmNlci5jOjE1MTYgYnVpbHRpbi9hbS5jOjE1ODMgYnVpbHRpbi9jb21taXQuYzoxNjY4IGJ1aWx0aW4vbWVyZ2UuYzo4ODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDgKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlc2NyaXVyZSBsJ29iamVjdGUgZGUgY29taXNzacOzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNDQzCisjOiBzZXF1ZW5jZXIuYzoxNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGxhIGNvbWlzc2nDsyAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTQ0OAorIzogc2VxdWVuY2VyLmM6MTU4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgbGEgY29taXNzacOzIHBhcmUgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjE1NDYgc2VxdWVuY2VyLmM6MTY1NAorIzogc2VxdWVuY2VyLmM6MTY1NiBzZXF1ZW5jZXIuYzoxNzY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gY29tbWFuZDogJWQiCiBtc2dzdHIgIm9yZHJlIGRlc2NvbmVndWRhOiAlZCIKIAotIzogc2VxdWVuY2VyLmM6MTYwMSBzZXF1ZW5jZXIuYzoxNjI2CisjOiBzZXF1ZW5jZXIuYzoxNzE0IHNlcXVlbmNlci5jOjE3MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICVkIGNvbW1pdHMuIgogbXNnc3RyICJBaXjDsiDDqXMgdW5hIGNvbWJpbmFjacOzIGRlICVkIGNvbWlzc2lvbnMuIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjExIHNlcXVlbmNlci5jOjQ3NDQKKyM6IHNlcXVlbmNlci5jOjE3MjQKIG1zZ2lkICJuZWVkIGEgSEVBRCB0byBmaXh1cCIKIG1zZ3N0ciAiY2FsIHVuIEhFQUQgcGVyIHJlcGFyYXItaG8iCiAKLSM6IHNlcXVlbmNlci5jOjE2MTMgc2VxdWVuY2VyLmM6MjkxMgorIzogc2VxdWVuY2VyLmM6MTcyNiBzZXF1ZW5jZXIuYzozMzA0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MTYxNQorIzogc2VxdWVuY2VyLmM6MTcyOAogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQncyBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgZWwgbWlzc2F0Z2UgZGUgY29taXNzacOzIGRlIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjE2MjEKKyM6IHNlcXVlbmNlci5jOjE3MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlICclcyciCiBtc2dzdHIgIm5vIGVzIHBvdCBlc2NyaXVyZSDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjE2MjggZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ0MQorIzogc2VxdWVuY2VyLmM6MTc0MSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDk2CiBtc2dpZCAiVGhpcyBpcyB0aGUgMXN0IGNvbW1pdCBtZXNzYWdlOiIKIG1zZ3N0ciAiQXF1ZXN0IMOpcyBlbCAxciBtaXNzYXRnZSBkZSBjb21pc3Npw7M6IgogCi0jOiBzZXF1ZW5jZXIuYzoxNjM2CisjOiBzZXF1ZW5jZXIuYzoxNzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlIG9mICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7M6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjQzCisjOiBzZXF1ZW5jZXIuYzoxNzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgdGhlIGNvbW1pdCBtZXNzYWdlICMlZDoiCiBtc2dzdHIgIkFxdWVzdCDDqXMgZWwgbWlzc2F0Z2UgZGUgY29taXNzacOzICMlZDoiCiAKLSM6IHNlcXVlbmNlci5jOjE2NDkKKyM6IHNlcXVlbmNlci5jOjE3NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGNvbW1pdCBtZXNzYWdlICMlZCB3aWxsIGJlIHNraXBwZWQ6IgogbXNnc3RyICJFbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MgbsO6bS4gIyVkIHMnb21ldHLDoDoiCiAKLSM6IHNlcXVlbmNlci5jOjE3MzIKKyM6IHNlcXVlbmNlci5jOjE4NTAKIG1zZ2lkICJ5b3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgogbXNnc3RyICJlbCB2b3N0cmUgZml0eGVyIGQnw61uZGV4IGVzdMOgIHNlbnNlIGZ1c2lvbmFyLiIKIAotIzogc2VxdWVuY2VyLmM6MTczOQorIzogc2VxdWVuY2VyLmM6MTg1NwogIywgZnV6enkKIG1zZ2lkICJjYW5ub3QgZml4dXAgcm9vdCBjb21taXQiCiBtc2dzdHIgIm5vIGVzIHBvdCB0cm9iYXIgbGEgY29taXNzacOzICVzICglcykiCiAKLSM6IHNlcXVlbmNlci5jOjE3NTgKKyM6IHNlcXVlbmNlci5jOjE4NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgogbXNnc3RyICJsYSBjb21pc3Npw7MgJXMgw6lzIHVuYSBmdXNpw7MgcGVyw7Igbm8gcydoYSBkb25hdCBjYXAgb3BjacOzIC1tLiIKIAotIzogc2VxdWVuY2VyLmM6MTc2NgorIzogc2VxdWVuY2VyLmM6MTg4NCBzZXF1ZW5jZXIuYzoxODkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKIG1zZ3N0ciAibGEgY29taXNzacOzICVzIG5vIHTDqSBwYXJlICVkIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzcwCi0jLCBjLWZvcm1hdAotbXNnaWQgIm1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iCi1tc2dzdHIgIiIKLSJzJ2hhIGVzcGVjaWZpY2F0IGxhIGzDrW5pYSBwcmluY2lwYWwgcGVyw7IgbGEgY29taXNzacOzICVzIG5vIMOpcyB1bmEgZnVzacOzLiIKLQotIzogc2VxdWVuY2VyLmM6MTc3NgorIzogc2VxdWVuY2VyLmM6MTg5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIGZvciAlcyIKIG1zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgZWwgbWlzc2F0Z2UgZGUgY29taXNzacOzIGRlICVzIgogCiAjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgYSAidG9kbyIgY29tbWFuZCBsaWtlCiAjLiAicmV2ZXJ0IiBvciAicGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExLgotIzogc2VxdWVuY2VyLmM6MTc5NQorIzogc2VxdWVuY2VyLmM6MTkxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCiBtc2dzdHIgIiVzOiBubyBlcyBwb3QgYW5hbGl0emFyIGxhIGNvbWlzc2nDsyBwYXJlICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxODYwCisjOiBzZXF1ZW5jZXIuYzoxOTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgJyVzJyB0byAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNhbnZpYXIgZWwgbm9tIMKrJXPCuyBhIMKrJXPCuyIKIAotIzogc2VxdWVuY2VyLmM6MTkxNQorIzogc2VxdWVuY2VyLmM6MjAzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmV2ZXJ0ICVzLi4uICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJldmVydGlyICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTE2CisjOiBzZXF1ZW5jZXIuYzoyMDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhcHBseSAlcy4uLiAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhcGxpY2FyICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTc0CisjOiBzZXF1ZW5jZXIuYzoyMTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbGxlZ2lyIGwnw61uZGV4IgogCi0jOiBzZXF1ZW5jZXIuYzoxOTgxCisjOiBzZXF1ZW5jZXIuYzoyMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYWN0dWFsaXR6YXIgbCfDrW5kZXgiCiAKLSM6IHNlcXVlbmNlci5jOjIwNjIKKyM6IHNlcXVlbmNlci5jOjIxODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZG9lcyBub3QgYWNjZXB0IGFyZ3VtZW50czogJyVzJyIKIG1zZ3N0ciAiJXMgbm8gYWNjZXB0YSBwYXLDoG1ldHJlczogwqslc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzoyMDcxCisjOiBzZXF1ZW5jZXIuYzoyMTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3NpbmcgYXJndW1lbnRzIGZvciAlcyIKIG1zZ3N0ciAiZmFsdGVuIGVscyBhcmd1bWVudHMgcGVyICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTMwCisjOiBzZXF1ZW5jZXIuYzoyMjM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgJyUuKnMnIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciDCqyVzwrsiCisKKyM6IHNlcXVlbmNlci5jOjIyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBsaW5lICVkOiAlLipzIgogbXNnc3RyICJsw61uaWEgbm8gdsOgbGlkYSAlZDogJS4qcyIKIAotIzogc2VxdWVuY2VyLmM6MjEzOAorIzogc2VxdWVuY2VyLmM6MjMwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgJyVzJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICJObyBlcyBwb3Qgwqslc8K7IHNlbnNlIHVuYSBjb21pc3Npw7MgcHLDqHZpYSIKIAotIzogc2VxdWVuY2VyLmM6MjIwOQorIzogc2VxdWVuY2VyLmM6MjM0OCBidWlsdGluL3JlYmFzZS5jOjE3MiBidWlsdGluL3JlYmFzZS5jOjE5NworIzogYnVpbHRpbi9yZWJhc2UuYzoyMjMgYnVpbHRpbi9yZWJhc2UuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJy4iCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIMKrJXPCuy4iCisKKyM6IHNlcXVlbmNlci5jOjIzODQKKyMsIGZ1enp5Cittc2dpZCAiY2FuY2VsbGluZyBhIGNoZXJyeSBwaWNraW5nIGluIHByb2dyZXNzIgorbXNnc3RyICJuaSBoaSBoYSBjYXAgwqtjaGVycnkgcGlja8K7IG5pIGNhcCByZXZlcnNpw7MgZW4gY3VycyIKKworIzogc2VxdWVuY2VyLmM6MjM5MQorIywgZnV6enkKK21zZ2lkICJjYW5jZWxsaW5nIGEgcmV2ZXJ0IGluIHByb2dyZXNzIgorbXNnc3RyICJuaSBoaSBoYSBjYXAgwqtjaGVycnkgcGlja8K7IG5pIGNhcCByZXZlcnNpw7MgZW4gY3VycyIKKworIzogc2VxdWVuY2VyLmM6MjQzNQogbXNnaWQgInBsZWFzZSBmaXggdGhpcyB1c2luZyAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuIgogbXNnc3RyICJjb3JyZWdpdS1obyB1c2FudCDCq2dpdCByZWJhc2UgLS1lZGl0LXRvZG/Cuy4iCiAKLSM6IHNlcXVlbmNlci5jOjIyMTEKKyM6IHNlcXVlbmNlci5jOjI0MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW51c2FibGUgaW5zdHJ1Y3Rpb24gc2hlZXQ6ICclcyciCiBtc2dzdHIgImZ1bGwgZCdpbnN0cnVjY2lvbnMgaW51c2FibGU6IMKrJXPCuyIKIAotIzogc2VxdWVuY2VyLmM6MjIxNgorIzogc2VxdWVuY2VyLmM6MjQ0MgogbXNnaWQgIm5vIGNvbW1pdHMgcGFyc2VkLiIKIG1zZ3N0ciAibm8gcydoYSBhbmFsaXR6YXQgY2FwIGNvbWlzc2nDsy4iCiAKLSM6IHNlcXVlbmNlci5jOjIyMjcKKyM6IHNlcXVlbmNlci5jOjI0NTMKIG1zZ2lkICJjYW5ub3QgY2hlcnJ5LXBpY2sgZHVyaW5nIGEgcmV2ZXJ0LiIKIG1zZ3N0ciAibm8gZXMgcG90IGZlciDCq2NoZXJyeSBwaWNrwrsgZHVyYW50IHVuYSByZXZlcnNpw7MuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjI5CisjOiBzZXF1ZW5jZXIuYzoyNDU1CiBtc2dpZCAiY2Fubm90IHJldmVydCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgIm5vIGVzIHBvdCByZXZlcnRpciBkdXJhbnQgdW4gwqtjaGVycnkgcGlja8K7LiIKIAotIzogc2VxdWVuY2VyLmM6MjI5OQorIzogc2VxdWVuY2VyLmM6MjUzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgInZhbG9yIG5vIHbDoGxpZCBwZXIgYSAlczogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjIzODAKKyM6IHNlcXVlbmNlci5jOjI2MzAKIG1zZ2lkICJ1bnVzYWJsZSBzcXVhc2gtb250byIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyMzk2CisjOiBzZXF1ZW5jZXIuYzoyNjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAnJXMnIgogbXNnc3RyICJmdWxsIGQnb3BjaW9ucyBtYWwgZm9ybWF0OiDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjI0Nzkgc2VxdWVuY2VyLmM6NDAwNQorIzogc2VxdWVuY2VyLmM6MjczNiBzZXF1ZW5jZXIuYzo0NDYzCiBtc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCiBtc2dzdHIgImNvbmp1bnQgZGUgY29taXNzaW9ucyBidWl0IHBhc3NhdCIKIAotIzogc2VxdWVuY2VyLmM6MjQ4NwotbXNnaWQgImEgY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCisjOiBzZXF1ZW5jZXIuYzoyNzUyCisjLCBmdXp6eQorbXNnaWQgInJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgogbXNnc3RyICJ1biDCq2NoZXJyeSBwaWNrwrsgbyB1bmEgcmV2ZXJzacOzIGphIGVzdMOgIGVuIGN1cnMiCiAKLSM6IHNlcXVlbmNlci5jOjI0ODgKLW1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgorIzogc2VxdWVuY2VyLmM6Mjc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidHJ5IFwiZ2l0IHJldmVydCAoLS1jb250aW51ZSB8ICVzLS1hYm9ydCB8IC0tcXVpdClcIiIKIG1zZ3N0ciAiaW50ZW50ZXUgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDkxCisjOiBzZXF1ZW5jZXIuYzoyNzU3CisjLCBmdXp6eQorbXNnaWQgImNoZXJyeS1waWNrIGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCittc2dzdHIgInVuIMKrY2hlcnJ5IHBpY2vCuyBvIHVuYSByZXZlcnNpw7MgamEgZXN0w6AgZW4gY3VycyIKKworIzogc2VxdWVuY2VyLmM6Mjc1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgJXMtLWFib3J0IHwgLS1xdWl0KVwiIgorbXNnc3RyICJpbnRlbnRldSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiCisKKyM6IHNlcXVlbmNlci5jOjI3NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgZWwgZGlyZWN0b3JpIGRlIHNlccO8ZW5jaWFkb3Igwqslc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzoyNTA1CisjOiBzZXF1ZW5jZXIuYzoyNzg4CiBtc2dpZCAiY291bGQgbm90IGxvY2sgSEVBRCIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBibG9xdWVqYXIgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MjU2MCBzZXF1ZW5jZXIuYzozNzYxCisjOiBzZXF1ZW5jZXIuYzoyODQ4IHNlcXVlbmNlci5jOjQyMDkKIG1zZ2lkICJubyBjaGVycnktcGljayBvciByZXZlcnQgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgIm5pIGhpIGhhIGNhcCDCq2NoZXJyeSBwaWNrwrsgbmkgY2FwIHJldmVyc2nDsyBlbiBjdXJzIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTYyCisjOiBzZXF1ZW5jZXIuYzoyODUwIHNlcXVlbmNlci5jOjI4NjEKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgogbXNnc3RyICJubyBlcyBwb3QgcmVzb2xkcmUgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MjU2NCBzZXF1ZW5jZXIuYzoyNTk5CisjOiBzZXF1ZW5jZXIuYzoyODUyIHNlcXVlbmNlci5jOjI4OTYKIG1zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAibm8gZXMgcG90IGF2b3J0YXIgZGVzIGQndW5hIGJyYW5jYSBxdWUgZW5jYXJhIGhhIGRlIG7DoGl4ZXIiCiAKLSM6IHNlcXVlbmNlci5jOjI1ODUgYnVpbHRpbi9ncmVwLmM6NzIxCisjOiBzZXF1ZW5jZXIuYzoyODgyIGJ1aWx0aW4vZ3JlcC5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgogbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgwqslc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzoyNTg3CisjOiBzZXF1ZW5jZXIuYzoyODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyc6ICVzIgogbXNnc3RyICJubyBlcyBwb3QgbGxlZ2lyIMKrJXPCuzogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjI1ODgKKyM6IHNlcXVlbmNlci5jOjI4ODUKIG1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJmaW5hbCBkZSBmaXR4ZXIgaW5lc3BlcmF0IgogCi0jOiBzZXF1ZW5jZXIuYzoyNTk0CisjOiBzZXF1ZW5jZXIuYzoyODkxCiAjLCBjLWZvcm1hdAogbXNnaWQgInN0b3JlZCBwcmUtY2hlcnJ5LXBpY2sgSEVBRCBmaWxlICclcycgaXMgY29ycnVwdCIKIG1zZ3N0ciAiZWwgZml0eGVyIEhFQUQgZW1tYWdhdHplbWF0IGFiYW5zIGRlIGZlciDCq2NoZXJyeSBwaWNrwrsgwqslc8K7IMOpcyBtYWxtw6hzIgogCi0jOiBzZXF1ZW5jZXIuYzoyNjA1CisjOiBzZXF1ZW5jZXIuYzoyOTAyCiBtc2dpZCAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFELiBOb3QgcmV3aW5kaW5nLCBjaGVjayB5b3VyIEhFQUQhIgogbXNnc3RyICJTZW1ibGEgcXVlIGhldSBtb2d1dCBIRUFEIHNlbnNlIHJlYm9iaW5hciwgY29tcHJvdmV1LWhvIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjI3MDkgc2VxdWVuY2VyLmM6MzY3OQorIzogc2VxdWVuY2VyLmM6Mjk0MworIywgZnV6enkKK21zZ2lkICJubyByZXZlcnQgaW4gcHJvZ3Jlc3MiCittc2dzdHIgIk5vIGhpIGhhIHVuIMKrcmViYXNlwrsgZW4gY3Vycz8iCisKKyM6IHNlcXVlbmNlci5jOjI5NTEKKyMsIGZ1enp5Cittc2dpZCAibm8gY2hlcnJ5LXBpY2sgaW4gcHJvZ3Jlc3MiCittc2dzdHIgIm5pIGhpIGhhIGNhcCDCq2NoZXJyeSBwaWNrwrsgbmkgY2FwIHJldmVyc2nDsyBlbiBjdXJzIgorCisjOiBzZXF1ZW5jZXIuYzoyOTYxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBza2lwIHRoZSBjb21taXQiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZXNjcml1cmUgbCdvYmplY3RlIGRlIGNvbWlzc2nDsyIKKworIzogc2VxdWVuY2VyLmM6Mjk2OAorbXNnaWQgInRoZXJlIGlzIG5vdGhpbmcgdG8gc2tpcCIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoyOTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJoYXZlIHlvdSBjb21taXR0ZWQgYWxyZWFkeT9cbiIKKyJ0cnkgXCJnaXQgJXMgLS1jb250aW51ZVwiIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjMwOTUgc2VxdWVuY2VyLmM6NDEyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdXBkYXRlICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFjdHVhbGl0emFyICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzQ3IHNlcXVlbmNlci5jOjM2NTkKKyM6IHNlcXVlbmNlci5jOjMxMzQgc2VxdWVuY2VyLmM6NDEwMQogbXNnaWQgImNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIk5vIGVzIHBvdCBsbGVnaXIgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6Mjc2MgotIywgZnV6enksIGMtZm9ybWF0CisjOiBzZXF1ZW5jZXIuYzozMTUxCisjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjb3B5ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBjb3BpYXIgwqslc8K7IGEgwqslc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzoyNzcwCisjOiBzZXF1ZW5jZXIuYzozMTU5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGNhbiBhbWVuZCB0aGUgY29tbWl0IG5vdywgd2l0aFxuIgpAQCAtNTEzMiwyNyArNjgwOCwyMiBAQAogIlxuIgogIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzgwCisjOiBzZXF1ZW5jZXIuYzozMTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAlcy4uLiAlLipzIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFwbGljYXIgJXMuLi4gJS4qcyIKIAotIzogc2VxdWVuY2VyLmM6Mjc4NworIzogc2VxdWVuY2VyLmM6MzE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbWVyZ2UgJS4qcyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBmdXNpb25hciAlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzk4IHNlcXVlbmNlci5jOjI4MDIgYnVpbHRpbi9kaWZmdG9vbC5jOjY0MAorIzogc2VxdWVuY2VyLmM6MzE5MCBzZXF1ZW5jZXIuYzozMTk0IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNvcGlhciDCqyVzwrsgYSDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjI4MjQgc2VxdWVuY2VyLmM6MzI0MiBidWlsdGluL3JlYmFzZS5jOjU4MCBidWlsdGluL3JlYmFzZS5jOjk5OQotIzogYnVpbHRpbi9yZWJhc2UuYzoxMzUwIGJ1aWx0aW4vcmViYXNlLmM6MTQwNAotbXNnaWQgImNvdWxkIG5vdCByZWFkIGluZGV4IgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBsJ8OtbmRleCIKLQotIzogc2VxdWVuY2VyLmM6MjgyOQorIzogc2VxdWVuY2VyLmM6MzIyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhlY3V0aW9uIGZhaWxlZDogJXNcbiIKQEAgLTUxNjcsMTEgKzY4MzgsMTEgQEAKICIgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAiXG4iCiAKLSM6IHNlcXVlbmNlci5jOjI4MzUKKyM6IHNlcXVlbmNlci5jOjMyMjcKIG1zZ2lkICJhbmQgbWFkZSBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgogbXNnc3RyICJpIGhhIGZldCBjYW52aXMgYSBsJ8OtbmRleCBpL28gbCdhcmJyZSBkZSB0cmViYWxsXG4iCiAKLSM6IHNlcXVlbmNlci5jOjI4NDEKKyM6IHNlcXVlbmNlci5jOjMyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4ZWN1dGlvbiBzdWNjZWVkZWQ6ICVzXG4iCkBAIC01MTg3LDc5ICs2ODU4LDc1IEBACiAiXG4iCiAiIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTAyCisjOiBzZXF1ZW5jZXIuYzozMjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImlsbGVnYWwgbGFiZWwgbmFtZTogJyUuKnMnIgogbXNnc3RyICJub20gZCdldGlxdWV0YSBubyBwZXJtw6hzOiDCqyUuKnPCuyIKIAotIzogc2VxdWVuY2VyLmM6Mjk1NAorIzogc2VxdWVuY2VyLmM6MzM0OAogIywgZnV6enkKIG1zZ2lkICJ3cml0aW5nIGZha2Ugcm9vdCBjb21taXQiCiBtc2dzdHIgIm5vIGhpIGhhIHJlcyBhIGNvbWV0cmVcbiIKIAotIzogc2VxdWVuY2VyLmM6Mjk1OQorIzogc2VxdWVuY2VyLmM6MzM1MwogbXNnaWQgIndyaXRpbmcgc3F1YXNoLW9udG8iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Mjk5NyBidWlsdGluL3JlYmFzZS5jOjU4NSBidWlsdGluL3JlYmFzZS5jOjU5MAorIzogc2VxdWVuY2VyLmM6MzM5MSBidWlsdGluL3JlYmFzZS5jOjg3NiBidWlsdGluL3JlYmFzZS5jOjg4MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZpbmQgdHJlZSBvZiAlcyIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgbCdhcmJyZSBkZSAlcy4iCiAKLSM6IHNlcXVlbmNlci5jOjMwMTUgYnVpbHRpbi9yZWJhc2UuYzo2MDMKLW1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgaW5kZXgiCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbCfDrW5kZXgiCi0KLSM6IHNlcXVlbmNlci5jOjMwNDIKKyM6IHNlcXVlbmNlci5jOjM0MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlc29sdmUgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCByZXNvbGRyZSDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjMwNjgKKyM6IHNlcXVlbmNlci5jOjM0NjcKICMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IG1lcmdlIHdpdGhvdXQgYSBjdXJyZW50IHJldmlzaW9uIgogbXNnc3RyICJObyBlcyBwb3Qgwqslc8K7IHNlbnNlIHVuYSBjb21pc3Npw7MgcHLDqHZpYSIKIAotIzogc2VxdWVuY2VyLmM6MzA5MAorIzogc2VxdWVuY2VyLmM6MzQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyUuKnMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciDCqyUuKnPCuyIKIAotIzogc2VxdWVuY2VyLmM6MzA5OQorIzogc2VxdWVuY2VyLmM6MzQ5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIG1lcmdlOiAnJS4qcyciCiBtc2dzdHIgIm5vIGhpIGhhIHJlcyBwZXIgZnVzaW9uYXIgwqslLipzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjMxMTEKKyM6IHNlcXVlbmNlci5jOjM1MTAKIG1zZ2lkICJvY3RvcHVzIG1lcmdlIGNhbm5vdCBiZSBleGVjdXRlZCBvbiB0b3Agb2YgYSBbbmV3IHJvb3RdIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjMxMjYKKyM6IHNlcXVlbmNlci5jOjM1MjYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgY29tbWl0IG1lc3NhZ2Ugb2YgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgZWwgbWlzc2F0Z2UgZGUgY29taXNzacOzOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MzI3NAotIywgZnV6enksIGMtZm9ybWF0CisjOiBzZXF1ZW5jZXIuYzozNjg4CisjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBldmVuIGF0dGVtcHQgdG8gbWVyZ2UgJyUuKnMnIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyIG8gbGxlZ2lyIMKrJXPCuyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBmdXNpb25hciDCqyUuKnPCuyIKIAotIzogc2VxdWVuY2VyLmM6MzI5MAorIzogc2VxdWVuY2VyLmM6MzcwNAogIywgZnV6enkKIG1zZ2lkICJtZXJnZTogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIlczogTm8gcydoYSBwb2d1dCBlc2NyaXVyZSB1biBmaXR4ZXIgZCfDrW5kZXggbm91IgogCi0jOiBzZXF1ZW5jZXIuYzozMzU4IGJ1aWx0aW4vcmViYXNlLmM6MjY4CisjOiBzZXF1ZW5jZXIuYzozNzczIGJ1aWx0aW4vcmViYXNlLmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLlxuIgogbXNnc3RyICJTJ2hhIGFwbGljYXQgZWwgwqtzdGFzaMK7IGF1dG9tw6B0aWNhbWVudC5cbiIKIAotIzogc2VxdWVuY2VyLmM6MzM3MAorIzogc2VxdWVuY2VyLmM6Mzc4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgJXMiCiBtc2dzdHIgIm5vIGVzIHBvdCBlbW1hZ2F0emVtYXIgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjMzNzMgYnVpbHRpbi9yZWJhc2UuYzoyODQKKyM6IHNlcXVlbmNlci5jOjM3ODggYnVpbHRpbi9yZWJhc2UuYzo3NDkgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjExMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy5cbiIKQEAgLTUyNzAsMzEgKzY5MzcsMzEgQEAKICJFbHMgdm9zdHJlcyBjYW52aXMgZXN0YW4gc2VndXJzIGVuIGVsIMKrc3Rhc2jCuy5cbiIKICJQb2RldSBleGVjdXRhciBcImdpdCBzdGFzaCBwb3BcIiBvIFwiZ2l0IHN0YXNoIGRyb3BcIiBlbiBxdWFsc2V2b2wgbW9tZW50LlxuIgogCi0jOiBzZXF1ZW5jZXIuYzozNDI3CisjOiBzZXF1ZW5jZXIuYzozODQ5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2hlY2tvdXQgJXMiCiBtc2dzdHIgIm5vIGVzIHBvdCBhZ2FmYXIgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjM0NDEKKyM6IHNlcXVlbmNlci5jOjM4NjMKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYSB2YWxpZCBPSUQiCiBtc2dzdHIgIsKrJXPCuyBubyDDqXMgdW4gdGVybWUgdsOgbGlkIgogCi0jOiBzZXF1ZW5jZXIuYzozNDQ2IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MjQKKyM6IHNlcXVlbmNlci5jOjM4NjggZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc3OQogbXNnaWQgImNvdWxkIG5vdCBkZXRhY2ggSEVBRCIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBzZXBhcmFyIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjM0NjEKKyM6IHNlcXVlbmNlci5jOjM4ODMKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQgYXQgSEVBRFxuIgogbXNnc3RyICJBdHVyYXQgYSAlcy4uLiAgJS4qc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzozNDYzCisjOiBzZXF1ZW5jZXIuYzozODg1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkIGF0ICVzXG4iCiBtc2dzdHIgIkF0dXJhdCBhICVzLi4uICAlLipzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM0NzEKKyM6IHNlcXVlbmNlci5jOjM4OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBleGVjdXRlIHRoZSB0b2RvIGNvbW1hbmRcbiIKQEAgLTUzMDcsNDggKzY5NzQsNDggQEAKICIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MzU0MworIzogc2VxdWVuY2VyLmM6Mzk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkIGF0ICVzLi4uICAlLipzXG4iCiBtc2dzdHIgIkF0dXJhdCBhICVzLi4uICAlLipzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM2MjIKKyM6IHNlcXVlbmNlci5jOjQwNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBjb21tYW5kICVkIgogbXNnc3RyICJvcmRyZSAlZCBkZXNjb25lZ3VkYSIKIAotIzogc2VxdWVuY2VyLmM6MzY2NworIzogc2VxdWVuY2VyLmM6NDEwOQogbXNnaWQgImNvdWxkIG5vdCByZWFkIG9yaWctaGVhZCIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBsbGVnaXIgb3JpZy1oZWFkIgogCi0jOiBzZXF1ZW5jZXIuYzozNjcyIHNlcXVlbmNlci5jOjQ3NDEKKyM6IHNlcXVlbmNlci5jOjQxMTQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnb250byciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyICdvbnRvJyIKIAotIzogc2VxdWVuY2VyLmM6MzY4NgorIzogc2VxdWVuY2VyLmM6NDEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdXBkYXRlIEhFQUQgdG8gJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWN0dWFsaXR6YXIgSEVBRCBhICVzIgogCi0jOiBzZXF1ZW5jZXIuYzozNzcyCisjOiBzZXF1ZW5jZXIuYzo0MjIxCiBtc2dpZCAiY2Fubm90IHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIk5vIGVzIHBvdCBmZXIgwqtyZWJhc2XCuzogdGVuaXUgY2FudmlzIMKrdW5zdGFnZWTCuy4iCiAKLSM6IHNlcXVlbmNlci5jOjM3ODEKKyM6IHNlcXVlbmNlci5jOjQyMzAKIG1zZ2lkICJjYW5ub3QgYW1lbmQgbm9uLWV4aXN0aW5nIGNvbW1pdCIKIG1zZ3N0ciAibm8gZXMgcG90IGVzbWVuYXIgdW5hIGNvbWlzc2nDsyBubyBleGlzdGVudCIKIAotIzogc2VxdWVuY2VyLmM6Mzc4MworIzogc2VxdWVuY2VyLmM6NDIzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGZpbGU6ICclcyciCiBtc2dzdHIgImZpdHhlciBubyB2w6BsaWQ6IMKrJXPCuyIKIAotIzogc2VxdWVuY2VyLmM6Mzc4NQorIzogc2VxdWVuY2VyLmM6NDIzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbnRlbnRzOiAnJXMnIgogbXNnc3RyICJjb250aW5ndXQgbm8gdsOgbGlkOiDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjM3ODgKKyM6IHNlcXVlbmNlci5jOjQyMzcKIG1zZ2lkICIiCiAiXG4iCiAiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlLCBjb21taXQgdGhlbVxuIgpAQCAtNTM1OCw4MyArNzAyNSw0MiBAQAogIlRlbml1IGNhbnZpcyBubyBjb21lc29zIGVuIGVsIHZvc3RyZSBhcmJyZSBkZSB0cmViYWxsLiBcbiIKICJQcmltZXIgY29tZXRldS1sb3MgaSBkZXNwcsOpcyBleGVjdXRldSAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBkZSBub3UuIgogCi0jOiBzZXF1ZW5jZXIuYzozODI0IHNlcXVlbmNlci5jOjM4NjIKKyM6IHNlcXVlbmNlci5jOjQyNzMgc2VxdWVuY2VyLmM6NDMxMgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGZpbGU6ICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgZWwgZml0eGVyIMKrJXPCuyIKIAotIzogc2VxdWVuY2VyLmM6Mzg3NworIzogc2VxdWVuY2VyLmM6NDMyNwogbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBlbGltaW5hciBDSEVSUllfUElDS19IRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzozODg0CisjOiBzZXF1ZW5jZXIuYzo0MzM0CiBtc2dpZCAiY291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIk5vIHMnaGFuIHBvZ3V0IGNvbWV0cmUgZWxzIGNhbnZpcyDCq3N0YWdlZMK7LiIKIAotIzogc2VxdWVuY2VyLmM6Mzk4MgorIzogc2VxdWVuY2VyLmM6NDQ0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2FuJ3QgY2hlcnJ5LXBpY2sgYSAlcyIKIG1zZ3N0ciAiJXM6IG5vIGVzIHBvdCBmZXIgwqtjaGVycnkgcGlja8K7IGEgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjM5ODYKKyM6IHNlcXVlbmNlci5jOjQ0NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKIG1zZ3N0ciAiJXM6IHJldmlzacOzIGluY29ycmVjdGEiCiAKLSM6IHNlcXVlbmNlci5jOjQwMjEKKyM6IHNlcXVlbmNlci5jOjQ0NzkKIG1zZ2lkICJjYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIm5vIGVzIHBvdCByZXZlcnRpciBjb20gYSBjb21pc3Npw7MgaW5pY2lhbCIKIAotIzogc2VxdWVuY2VyLmM6NDQ2NgorIzogc2VxdWVuY2VyLmM6NDk1MgogbXNnaWQgIm1ha2Vfc2NyaXB0OiB1bmhhbmRsZWQgb3B0aW9ucyIKIG1zZ3N0ciAibWFrZV9zY3JpcHQ6IG9wY2lvbnMgbm8gZ2VzdGlvbmFkZXMiCiAKLSM6IHNlcXVlbmNlci5jOjQ0NjkKKyM6IHNlcXVlbmNlci5jOjQ5NTUKIG1zZ2lkICJtYWtlX3NjcmlwdDogZXJyb3IgcHJlcGFyaW5nIHJldmlzaW9ucyIKIG1zZ3N0ciAibWFrZV9zY3JpcHQ6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gcHJlcGFyYXIgbGVzIHJldmlzaW9ucyIKIAotIzogc2VxdWVuY2VyLmM6NDUwOSBzZXF1ZW5jZXIuYzo0NTY1IHNlcXVlbmNlci5jOjQ4NDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW51c2FibGUgdG9kbyBsaXN0OiAnJXMnIgotbXNnc3RyICJsbGlzdGEgcGVyIGEgZmVyIGluZXN0YWJsZTogwqslc8K7IgotCi0jOiBzZXF1ZW5jZXIuYzo0NjIwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJ1bnJlY29nbml6ZWQgc2V0dGluZyAlcyBmb3Igb3B0aW9uIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiBJZ25vcmluZy4iCi1tc2dzdHIgIiIKLSJObyBzJ2hhIHJlY29uZWd1dCBlbCBwYXLDoG1ldHJlICVzIHBlciByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4gUydlc3TDoCAiCi0iaWdub3JhbnQuIgotCi0jOiBzZXF1ZW5jZXIuYzo0NjkwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS5cbiIKLSJEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKTpcbiIKLW1zZ3N0ciAiIgotIkFkdmVydMOobmNpYTogcG90IHNlciBxdWUgYWxndW5lcyBjb21pc3Npb25zIHMnaGFnaW4gZGVzY2FydGF0ICIKLSJhY2NpZGVudGFsbWVudC5cbiIKLSJMZXMgY29taXNzaW9ucyBkZXNjYXJ0YWRlcyAobcOpcyBub3ZhIGEgbcOpcyB2ZWxsYSk6XG4iCi0KLSM6IHNlcXVlbmNlci5jOjQ2OTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIlRvIGF2b2lkIHRoaXMgbWVzc2FnZSwgdXNlIFwiZHJvcFwiIHRvIGV4cGxpY2l0bHkgcmVtb3ZlIGEgY29tbWl0LlxuIgotIlxuIgotIlVzZSAnZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjaycgdG8gY2hhbmdlIHRoZSBsZXZlbCBvZiAiCi0id2FybmluZ3MuXG4iCi0iVGhlIHBvc3NpYmxlIGJlaGF2aW91cnMgYXJlOiBpZ25vcmUsIHdhcm4sIGVycm9yLlxuIgotIlxuIgotbXNnc3RyICIiCi0iUGVyIGEgZXZpdGFyIGFxdWVzdCBtaXNzYXRnZSwgdXNldSBcImRyb3BcIiBwZXIgYSBlbGltaW5hciBleHBsw61jaXRhbWVudCB1bmEgIgotImNvbWlzc2nDsy5cbiIKLSJcbiIKLSJVc2V1ICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyBwZXIgYSBjYW52aWFyIGVsIG5pdmVsbCAiCi0iZCdhZHZlcnTDqG5jaWVzLlxuIgotIkVscyBjb21wb3J0YW1lbnRzIHBvc3NpYmxlcyBzw7NuOiBpZ25vcmUsIHdhcm4sIGVycm9yLlxuIgotCi0jOiBzZXF1ZW5jZXIuYzo0NzEwCi0jLCBjLWZvcm1hdAorIzogc2VxdWVuY2VyLmM6NTExMwogbXNnaWQgIiIKICJZb3UgY2FuIGZpeCB0aGlzIHdpdGggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLSIKICJjb250aW51ZScuXG4iCkBAIC01NDQzLDY5ICs3MDY5LDUxIEBACiAiUG9kZXUgYXJyZWdsYXIgYWl4w7IgYW1iICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJyBpIGRlc3Byw6lzICdnaXQgcmViYXNlIC0tIgogImNvbnRpbnVlJy5cbiIKIAotIzogc2VxdWVuY2VyLmM6NDg0OCBzZXF1ZW5jZXIuYzo0ODg2Ci0jLCBmdXp6eQorIzogc2VxdWVuY2VyLmM6NTIyNiBzZXF1ZW5jZXIuYzo1MjQzCiBtc2dpZCAibm90aGluZyB0byBkbyIKLW1zZ3N0ciAibm8gaGkgaGEgcmVzIGEgY29tZXRyZVxuIgorbXNnc3RyICJyZXMgYSBmZXIiCiAKLSM6IHNlcXVlbmNlci5jOjQ4NTIKLSMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kKSIKLW1zZ2lkX3BsdXJhbCAiUmViYXNlICVzIG9udG8gJXMgKCVkIGNvbW1hbmRzKSIKLW1zZ3N0clswXSAiUmViYXNhICRzaG9ydHJldmlzaW9ucyBzb2JyZSAkc2hvcnRvbnRvICgkdG9kb2NvdW50IG9yZHJlKSIKLW1zZ3N0clsxXSAiUmViYXNhICRzaG9ydHJldmlzaW9ucyBzb2JyZSAkc2hvcnRvbnRvICgkdG9kb2NvdW50IG9yZHJlcykiCi0KLSM6IHNlcXVlbmNlci5jOjQ4NjQKLSMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjb3B5ICclcycgdG8gJyVzJy4iCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgY29waWFyIMKrJXPCuyBhIMKrJXPCuyIKLQotIzogc2VxdWVuY2VyLmM6NDg2OCBzZXF1ZW5jZXIuYzo0ODk3Ci0jLCBmdXp6eQotbXNnaWQgImNvdWxkIG5vdCB0cmFuc2Zvcm0gdGhlIHRvZG8gbGlzdCIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBsbGlzdGEgcGVyIGEgZmVyIgotCi0jOiBzZXF1ZW5jZXIuYzo0OTAwCi0jLCBmdXp6eQorIzogc2VxdWVuY2VyLmM6NTI1NwogbXNnaWQgImNvdWxkIG5vdCBza2lwIHVubmVjZXNzYXJ5IHBpY2sgY29tbWFuZHMiCi1tc2dzdHIgIm9tZXQgZWxzIMKrcGlja3PCuyBubyBuZWNlc3NhcmlzIgorbXNnc3RyICJubyBzJ2hhbiBwb2d1dCBvbWV0cmUgbGVzIG9yZHJlcyDCq3BpY2tzwrsgbm8gbmVjZXNzw6ByaWVzIgogCi0jOiBzZXF1ZW5jZXIuYzo0OTgzCisjOiBzZXF1ZW5jZXIuYzo1MzUxCiBtc2dpZCAidGhlIHNjcmlwdCB3YXMgYWxyZWFkeSByZWFycmFuZ2VkLiIKIG1zZ3N0ciAibCdzY3JpcHQgamEgZXN0YXZhIGVuZHJlw6dhdC4iCiAKLSM6IHNldHVwLmM6MTIzCisjOiBzZXR1cC5jOjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG91dHNpZGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiwqslc8K7IMOpcyBmb3JhIGRlbCBkaXDDsnNpdCIKIAotIzogc2V0dXAuYzoxNzIKKyM6IHNldHVwLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlczogbm8gc3VjaCBwYXRoIGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCiAiVXNlICdnaXQgPGNvbW1hbmQ+IC0tIDxwYXRoPi4uLicgdG8gc3BlY2lmeSBwYXRocyB0aGF0IGRvIG5vdCBleGlzdCBsb2NhbGx5LiIKIG1zZ3N0ciAiIgogIiVzOiBubyBoaSBoYSB0YWwgY2Ftw60gZW4gbCdhcmJyZSBkZSB0cmViYWxsLlxuIgotIlVzZXUgJ2dpdCA8b3JkcmU+IC0tIDxjYW3DrT4uLi4nIHBlciBhIGVzcGVjaWZpY2FyIGNhbWlucyBxdWUgbm8gZXhpc3RlaXhpbiAiCisiVXNldSDCq2dpdCA8b3JkcmU+IC0tIDxjYW3DrT4uLi7CuyBwZXIgYSBlc3BlY2lmaWNhciBjYW1pbnMgcXVlIG5vIGV4aXN0ZWl4aW4gIgogImxvY2FsbWVudC4iCiAKLSM6IHNldHVwLmM6MTg1CisjOiBzZXR1cC5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IHVua25vd24gcmV2aXNpb24gb3IgcGF0aCBub3QgaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKICJVc2UgJy0tJyB0byBzZXBhcmF0ZSBwYXRocyBmcm9tIHJldmlzaW9ucywgbGlrZSB0aGlzOlxuIgogIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciCiBtc2dzdHIgIiIKLSJwYXLDoG1ldHJlIGFtYmlndSDCqyVzwrs6IHJldmlzacOzIG5vIGNvbmVndWRhIG8gY2Ftw60gbm8gZW4gbCdhcmJyZSBkZSB0cmViYWxsLlxuIgotIlVzZXUgJy0tJyBwZXIgYSBzZXBhcmFyIGVscyBjYW1pbnMgZGUgbGVzIHJldmlzaW9ucywgY29tIGFpeMOyOlxuIgorInBhcsOgbWV0cmUgYW1iaWd1IMKrJXPCuzogcmV2aXNpw7Mgbm8gY29uZWd1ZGEgbyBlbCBjYW3DrSBubyDDqXMgZW4gbCdhcmJyZSBkZSAiCisidHJlYmFsbC5cbiIKKyJVc2V1IMKrLS3CuyBwZXIgYSBzZXBhcmFyIGVscyBjYW1pbnMgZGUgbGVzIHJldmlzaW9uczpcbiIKICInZ2l0IDxvcmRyZT4gWzxyZXZpc2nDsz4uLi5dIC0tIFs8Zml0eGVyPi4uLl0nIgogCi0jOiBzZXR1cC5jOjIzNAorIzogc2V0dXAuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAib3B0aW9uICclcycgbXVzdCBjb21lIGJlZm9yZSBub24tb3B0aW9uIGFyZ3VtZW50cyIKIG1zZ3N0ciAibCdvcGNpw7Mgwqslc8K7IGhhIGRlIHZlbmlyIGFiYW5zIGRlbHMgYXJndW1lbnRzIG9wY2lvbmFscyIKIAotIzogc2V0dXAuYzoyNTMKKyM6IHNldHVwLmM6MjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogYm90aCByZXZpc2lvbiBhbmQgZmlsZW5hbWVcbiIKQEAgLTU1MTMsOTYgKzcxMjEsOTcgQEAKICInZ2l0IDxjb21tYW5kPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWxlPi4uLl0nIgogbXNnc3RyICIiCiAicGFyw6BtZXRyZSBhbWJpZ3Ugwqslc8K7OiBhbWJkw7NzIHVuYSByZXZpc2nDsyBpIHVuIG5vbSBkZSBmaXR4ZXJcbiIKLSJVc2V1ICctLScgcGVyIGEgc2VwYXJhciBlbHMgY2FtaW5zIGRlIGxlcyByZXZpc2lvbnMsIGNvbSBhaXjDsjpcbiIKKyJVc2V1ICctLScgcGVyIGEgc2VwYXJhciBlbHMgY2FtaW5zIGRlIGxlcyByZXZpc2lvbnM6XG4iCiAiJ2dpdCA8b3JkcmU+IFs8cmV2aXNpw7M+Li4uXSAtLSBbPGZpdHhlcj4uLi5dJyIKIAotIzogc2V0dXAuYzozODkKKyM6IHNldHVwLmM6MzkxCiBtc2dpZCAidW5hYmxlIHRvIHNldCB1cCB3b3JrIHRyZWUgdXNpbmcgaW52YWxpZCBjb25maWciCiBtc2dzdHIgIiIKLSJubyBzJ2hhIHBvZ3V0IGNvbmZpZ3VyYXIgdW4gYXJicmUgZGUgdHJlYmFsbCB1dGlsaXR6YW50IHVuYSBjb25maWd1cmFjacOzIG5vIHbDoGxpZGEiCisibm8gcydoYSBwb2d1dCBjb25maWd1cmFyIHVuIGFyYnJlIGRlIHRyZWJhbGwgdXRpbGl0emFudCB1bmEgY29uZmlndXJhY2nDsyBubyAiCisidsOgbGlkYSIKIAotIzogc2V0dXAuYzozOTMKKyM6IHNldHVwLmM6Mzk1CiBtc2dpZCAidGhpcyBvcGVyYXRpb24gbXVzdCBiZSBydW4gaW4gYSB3b3JrIHRyZWUiCiBtc2dzdHIgImFxdWVzdGEgb3BlcmFjacOzIHMnaGEgZCdleGVjdXRhciBlbiB1biBhcmJyZSBkZSB0cmViYWxsIgogCi0jOiBzZXR1cC5jOjUyNworIzogc2V0dXAuYzo1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0ZWQgZ2l0IHJlcG8gdmVyc2lvbiA8PSAlZCwgZm91bmQgJWQiCiBtc2dzdHIgIlMnZXNwZXJhdmEgdW5hIHZlcnNpw7MgZGUgZGlww7JzaXQgZGUgZ2l0IDw9ICVkLCBzJ2hhIHRyb2JhdCAlZCIKIAotIzogc2V0dXAuYzo1MzUKKyM6IHNldHVwLmM6NTQ5CiBtc2dpZCAidW5rbm93biByZXBvc2l0b3J5IGV4dGVuc2lvbnMgZm91bmQ6IgogbXNnc3RyICJzJ2hhbiB0cm9iYXQgZXh0ZW5zaW9ucyBkZSBkaXDDsnNpdCBkZXNjb25lZ3VkZXM6IgogCi0jOiBzZXR1cC5jOjU1NAorIzogc2V0dXAuYzo1NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3Igb3BlbmluZyAnJXMnIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyIMKrJXPCuyIKIAotIzogc2V0dXAuYzo1NTYKKyM6IHNldHVwLmM6NTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRvbyBsYXJnZSB0byBiZSBhIC5naXQgZmlsZTogJyVzJyIKIG1zZ3N0ciAibWFzc2EgbGFyZyBwZXIgYSBzZXIgdW4gZml0eGVyIC5naXQ6IMKrJXPCuyIKIAotIzogc2V0dXAuYzo1NTgKKyM6IHNldHVwLmM6NTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHJlYWRpbmcgJXMiCiBtc2dzdHIgImVycm9yIGVuIGxsZWdpciAlcyIKIAotIzogc2V0dXAuYzo1NjAKKyM6IHNldHVwLmM6NTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgZ2l0ZmlsZSBmb3JtYXQ6ICVzIgogbXNnc3RyICJmb3JtYXQgZ2l0ZmlsZSBubyB2w6BsaWQ6ICVzIgogCi0jOiBzZXR1cC5jOjU2MgorIzogc2V0dXAuYzo1NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gcGF0aCBpbiBnaXRmaWxlOiAlcyIKIG1zZ3N0ciAic2Vuc2UgY2Ftw60gYWwgZ2l0ZmlsZTogJXMiCiAKLSM6IHNldHVwLmM6NTY0CisjOiBzZXR1cC5jOjU3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeTogJXMiCiBtc2dzdHIgIm5vIMOpcyB1biBkaXDDsnNpdCBkZSBnaXQ6ICVzIgogCi0jOiBzZXR1cC5jOjY2MworIzogc2V0dXAuYzo2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyQlcycgdG9vIGJpZyIKIG1zZ3N0ciAiwqskJXPCuyBtYXNzYSBncmFuIgogCi0jOiBzZXR1cC5jOjY3NworIzogc2V0dXAuYzo2OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgZ2l0IHJlcG9zaXRvcnk6ICclcyciCiBtc2dzdHIgIm5vIMOpcyB1biBkaXDDsnNpdCBkZSBnaXQ6IMKrJXPCuyIKIAotIzogc2V0dXAuYzo3MDYgc2V0dXAuYzo3MDggc2V0dXAuYzo3MzkKKyM6IHNldHVwLmM6NzIwIHNldHVwLmM6NzIyIHNldHVwLmM6NzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGRpciB0byAnJXMnIgogbXNnc3RyICJubyBlcyBwb3QgY2FudmlhciBkZSBkaXJlY3RvcmkgYSDCqyVzwrsiCiAKLSM6IHNldHVwLmM6NzExIHNldHVwLmM6NzY3IHNldHVwLmM6Nzc3IHNldHVwLmM6ODE2IHNldHVwLmM6ODI0IHNldHVwLmM6ODM5CisjOiBzZXR1cC5jOjcyNSBzZXR1cC5jOjc4MSBzZXR1cC5jOjc5MSBzZXR1cC5jOjgzMCBzZXR1cC5jOjgzOAogbXNnaWQgImNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgogbXNnc3RyICJubyBlcyBwb3QgdG9ybmFyIGFsIGRpcmVjdG9yaSBkZSB0cmViYWxsIGFjdHVhbCIKIAotIzogc2V0dXAuYzo4MzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBvZiB0aGUgcGFyZW50IGRpcmVjdG9yaWVzKTogJXMiCi1tc2dzdHIgIm5vIMOpcyB1biBkaXDDsnNpdCBkZSBnaXQgKG5pIGNhcCBkZWxzIGRpcmVjdG9yaXMgcGFyZXMpOiAlcyIKLQotIzogc2V0dXAuYzo4NDgKKyM6IHNldHVwLmM6ODUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclKnMlcyVzJyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBmZXIgc3RhdCBhIMKrJSpzJXMlc8K7IgogCi0jOiBzZXR1cC5jOjEwNzgKKyM6IHNldHVwLmM6MTA5MAogbXNnaWQgIlVuYWJsZSB0byByZWFkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgbGxlZ2lyIGVsIGRpcmVjdG9yaSBkZSB0cmViYWxsIGFjdHVhbCIKIAotIzogc2V0dXAuYzoxMDkwIHNldHVwLmM6MTA5NgorIzogc2V0dXAuYzoxMDk5IHNldHVwLmM6MTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hhbmdlIHRvICclcyciCiBtc2dzdHIgIm5vIGVzIHBvdCBjYW52aWFyIGEgwqslc8K7IgogCi0jOiBzZXR1cC5jOjExMDkKKyM6IHNldHVwLmM6MTExMAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIKK21zZ3N0ciAibm8gw6lzIHVuIGRpcMOyc2l0IGRlIGdpdCAobmkgY2FwIGRlbHMgZGlyZWN0b3JpcyBwYXJlcyk6ICVzIgorCisjOiBzZXR1cC5jOjExMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgcGFyZW50IHVwIHRvIG1vdW50IHBvaW50ICVzKVxuIgpAQCAtNTYxMiw3ICs3MjIxLDcgQEAKICJTJ2F0dXJhIGEgbGEgZnJvbnRlcmEgZGUgc2lzdGVtYSBkZSBmaXR4ZXJzIChHSVRfRElTQ09WRVJZX0FDUk9TU19GSUxFU1lTVEVNICIKICJubyBlc3TDoCBlc3RhYmxlcnQpLiIKIAotIzogc2V0dXAuYzoxMTkyCisjOiBzZXR1cC5jOjEyMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInByb2JsZW0gd2l0aCBjb3JlLnNoYXJlZFJlcG9zaXRvcnkgZmlsZW1vZGUgdmFsdWUgKDAlLjNvKS5cbiIKQEAgLTU2MjMsMjk1ICs3MjMyLDMwMCBAQAogIkVsIHByb3BpZXRhcmkgZGVscyBmaXR4ZXJzIHNlbXByZSBoYSBkZSB0ZW5pciBwZXJtaXNvcyBkZSBsZWN0dXJhIGkgIgogImVzY3JpcHR1cmEuIgogCi0jOiBzZXR1cC5jOjEyMzUKKyM6IHNldHVwLmM6MTI3MQogbXNnaWQgIm9wZW4gL2Rldi9udWxsIG9yIGR1cCBmYWlsZWQiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXIgL2Rldi9udWxsIG8gZHVwIgogCi0jOiBzZXR1cC5jOjEyNTAKKyM6IHNldHVwLmM6MTI4NgogbXNnaWQgImZvcmsgZmFpbGVkIgogbXNnc3RyICJlbCDCq2ZvcmvCuyBoYSBmYWxsYXQiCiAKLSM6IHNldHVwLmM6MTI1NQorIzogc2V0dXAuYzoxMjkxCiBtc2dpZCAic2V0c2lkIGZhaWxlZCIKIG1zZ3N0ciAibCfCq3N0YXNowrsgaGEgZmFsbGF0IgogCi0jOiBzaGExLWZpbGUuYzozODEKKyM6IHNoYTEtZmlsZS5jOjQ1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgZGlyZWN0b3J5ICVzIGRvZXMgbm90IGV4aXN0OyBjaGVjayAuZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjQzMgorIzogc2hhMS1maWxlLmM6NTAzCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbm9ybWFsaXplIGFsdGVybmF0ZSBvYmplY3QgcGF0aDogJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGwnb2JqZWN0ZTogJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjUwMworIzogc2hhMS1maWxlLmM6NTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpZ25vcmluZyBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlcywgbmVzdGluZyB0b28gZGVlcCIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzo1MTAKKyM6IHNoYTEtZmlsZS5jOjU4MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG5vcm1hbGl6ZSBvYmplY3QgZGlyZWN0b3J5OiAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgbCdvYmplY3RlOiAlcyIKIAotIzogc2hhMS1maWxlLmM6NTY1CisjOiBzaGExLWZpbGUuYzo2MjUKICMsIGZ1enp5CiBtc2dpZCAidW5hYmxlIHRvIGZkb3BlbiBhbHRlcm5hdGVzIGxvY2tmaWxlIgogbXNnc3RyICJubyBzJ2hhbiBwb2d1dCBlc2NyaXVyZSBlbHMgcGFyw6BtZXRyZXMgYWwgZml0eGVyIGRlIGNvbmZpZ3VyYWNpw7MiCiAKLSM6IHNoYTEtZmlsZS5jOjU4MworIzogc2hhMS1maWxlLmM6NjQzCiAjLCBmdXp6eQogbXNnaWQgInVuYWJsZSB0byByZWFkIGFsdGVybmF0ZXMgZmlsZSIKIG1zZ3N0ciAibm8gZXMgcG90IGxsZWdpciBlbCBmaXR4ZXIgZCfDrW5kZXgiCiAKLSM6IHNoYTEtZmlsZS5jOjU5MAorIzogc2hhMS1maWxlLmM6NjUwCiAjLCBmdXp6eQogbXNnaWQgInVuYWJsZSB0byBtb3ZlIG5ldyBhbHRlcm5hdGVzIGZpbGUgaW50byBwbGFjZSIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSB1biBmaXR4ZXIgZCfDrW5kZXggbm91IgogCi0jOiBzaGExLWZpbGUuYzo2MjUKKyM6IHNoYTEtZmlsZS5jOjY4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImVsIGNhbcOtIMKrJXPCuyBubyBleGlzdGVpeCIKIAotIzogc2hhMS1maWxlLmM6NjUxCisjOiBzaGExLWZpbGUuYzo3MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBhcyBhIGxpbmtlZCBjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iCiBtc2dzdHIgIiIKICJFbmNhcmEgbm8gc2Ugc3Vwb3J0YSBlbCBkaXDDsnNpdCBkZSByZWZlcsOobmNpYSDCqyVzwrsgY29tIGEgYWdhZmFtZW50IGVubGxhw6dhdC4iCiAKLSM6IHNoYTEtZmlsZS5jOjY1NworIzogc2hhMS1maWxlLmM6NzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCiBtc2dzdHIgImVsIGRpcMOyc2l0IGRlIHJlZmVyw6huY2lhIMKrJXPCuyBubyDDqXMgdW4gZGlww7JzaXQgbG9jYWwuIgogCi0jOiBzaGExLWZpbGUuYzo2NjMKKyM6IHNoYTEtZmlsZS5jOjcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIHNoYWxsb3ciCiBtc2dzdHIgImVsIGRpcMOyc2l0IGRlIHJlZmVyw6huY2lhIMKrJXPCuyDDqXMgc3VwZXJmaWNpYWwiCiAKLSM6IHNoYTEtZmlsZS5jOjY3MQorIzogc2hhMS1maWxlLmM6NzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKIG1zZ3N0ciAiZWwgZGlww7JzaXQgZGUgcmVmZXLDqG5jaWEgwqslc8K7IMOpcyBlbXBlbHRhdCIKIAotIzogc2hhMS1maWxlLmM6NzgxCisjOiBzaGExLWZpbGUuYzo3OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBsaW5lIHdoaWxlIHBhcnNpbmcgYWx0ZXJuYXRlIHJlZnM6ICVzIgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjk0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhdHRlbXB0aW5nIHRvIG1tYXAgJTxQUkl1TUFYPiBvdmVyIGxpbWl0ICU8UFJJdU1BWD4iCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6ODA2Ci0jLCBmdXp6eQorIzogc2hhMS1maWxlLmM6OTY0CiBtc2dpZCAibW1hcCBmYWlsZWQiCi1tc2dzdHIgIiVzIGhhIGZhbGxhdCIKK21zZ3N0ciAibW1hcCBoYSBmYWxsYXQiCiAKLSM6IHNoYTEtZmlsZS5jOjk3MwotIywgZnV6enksIGMtZm9ybWF0CisjOiBzaGExLWZpbGUuYzoxMTI4CisjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBmaWxlICVzIGlzIGVtcHR5IgotbXNnc3RyICJ0aXB1cyBkJ29iamVjdGUiCittc2dzdHIgImVsIHRpcHVzIGQnb2JqZWN0ZSAlcyDDqXMgYnVpdCIKIAotIzogc2hhMS1maWxlLmM6MTA5MyBzaGExLWZpbGUuYzoyMjE1CisjOiBzaGExLWZpbGUuYzoxMjUyIHNoYTEtZmlsZS5jOjIzOTIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgbG9vc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGwnb2JqZWN0ZSDCqyVzwrsiCiAKLSM6IHNoYTEtZmlsZS5jOjEwOTUgc2hhMS1maWxlLmM6MjIxOQorIzogc2hhMS1maWxlLmM6MTI1NCBzaGExLWZpbGUuYzoyMzk2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJnYXJiYWdlIGF0IGVuZCBvZiBsb29zZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgbCdvYmplY3RlOiAlcyIKIAotIzogc2hhMS1maWxlLmM6MTEzNworIzogc2hhMS1maWxlLmM6MTI5NgogIywgZnV6enkKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCB0eXBlIgogbXNnc3RyICJlbCB0aXB1cyBkJ29iamVjdGUgw6lzIGluY29ycmVjdGUuIgogCi0jOiBzaGExLWZpbGUuYzoxMjE5CisjOiBzaGExLWZpbGUuYzoxMzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1bnBhY2sgJXMgaGVhZGVyIHdpdGggLS1hbGxvdy11bmtub3duLXR5cGUiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTIyMgorIzogc2hhMS1maWxlLmM6MTM4MwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayAlcyBoZWFkZXIiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWN0dWFsaXR6YXIgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjEyMjgKKyM6IHNoYTEtZmlsZS5jOjEzODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICVzIGhlYWRlciB3aXRoIC0tYWxsb3ctdW5rbm93bi10eXBlIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjEyMzEKKyM6IHNoYTEtZmlsZS5jOjEzOTIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAlcyBoZWFkZXIiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWN0dWFsaXR6YXIgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjE0MjIKKyM6IHNoYTEtZmlsZS5jOjE1ODQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsbGVnaXIgbCdvYmplY3RlIMKrJXPCuy4iCiAKLSM6IHNoYTEtZmlsZS5jOjE0MjYKKyM6IHNoYTEtZmlsZS5jOjE1ODgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInJlcGxhY2VtZW50ICVzIG5vdCBmb3VuZCBmb3IgJXMiCiBtc2dzdHIgIm5vIHMnaGFuIHRyb2JhdCBsZXMgcGxhbnRpbGxlcyAlcyIKIAotIzogc2hhMS1maWxlLmM6MTQzMAorIzogc2hhMS1maWxlLmM6MTU5MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAibG9vc2Ugb2JqZWN0ICVzIChzdG9yZWQgaW4gJXMpIGlzIGNvcnJ1cHQiCiBtc2dzdHIgImwnb2JqZWN0ZSBsb2NhbCAlcyDDqXMgbWFsbcOocyIKIAotIzogc2hhMS1maWxlLmM6MTQzNAorIzogc2hhMS1maWxlLmM6MTU5NgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAicGFja2VkIG9iamVjdCAlcyAoc3RvcmVkIGluICVzKSBpcyBjb3JydXB0IgogbXNnc3RyICJsJ29iamVjdGUgbG9jYWwgJXMgw6lzIG1hbG3DqHMiCiAKLSM6IHNoYTEtZmlsZS5jOjE1MzYKKyM6IHNoYTEtZmlsZS5jOjE2OTkKICMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzaGExIGZpbGVuYW1lICVzIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGVsIGZpdHhlciBkJ2V0aXF1ZXRhIgorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICVzIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlICVzIgogCi0jOiBzaGExLWZpbGUuYzoxNTQzCisjOiBzaGExLWZpbGUuYzoxNzA2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc2V0IHBlcm1pc3Npb24gdG8gJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCByZXNvbGRyZSBsYSByZXZpc2nDszogJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjE1NTAKKyM6IHNoYTEtZmlsZS5jOjE3MTMKICMsIGZ1enp5CiBtc2dpZCAiZmlsZSB3cml0ZSBlcnJvciIKIG1zZ3N0ciAiZXNjcmlwdHVyYSBmYWxsYWRhIGFsIHJldi1saXN0IgogCi0jOiBzaGExLWZpbGUuYzoxNTY5CisjOiBzaGExLWZpbGUuYzoxNzMyCiAjLCBmdXp6eQotbXNnaWQgImVycm9yIHdoZW4gY2xvc2luZyBzaGExIGZpbGUiCittc2dpZCAiZXJyb3Igd2hlbiBjbG9zaW5nIGxvb3NlIG9iamVjdCBmaWxlIgogbXNnc3RyICJlcnJvciBlbiB0YW5jYXIgZWwgZml0eGVyIGRlIHBhcXVldCIKIAotIzogc2hhMS1maWxlLmM6MTYzNQorIzogc2hhMS1maWxlLmM6MTc5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnN1ZmZpY2llbnQgcGVybWlzc2lvbiBmb3IgYWRkaW5nIGFuIG9iamVjdCB0byByZXBvc2l0b3J5IGRhdGFiYXNlICVzIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjE2MzcKKyM6IHNoYTEtZmlsZS5jOjE3OTkKICMsIGZ1enp5CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBjcmVhciB1biDDrW5kZXggdGVtcG9yYWwiCiAKLSM6IHNoYTEtZmlsZS5jOjE2NjEKKyM6IHNoYTEtZmlsZS5jOjE4MjMKICMsIGZ1enp5Ci1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIHNoYTEgZmlsZSIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbCBmaXR4ZXIgZCdldGlxdWV0YSIKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbG9vc2Ugb2JqZWN0IGZpbGUiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbCdvYmplY3RlIGRlIG5vdGEiCiAKLSM6IHNoYTEtZmlsZS5jOjE2NjcKKyM6IHNoYTEtZmlsZS5jOjE4MjkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZWZsYXRlIG5ldyBvYmplY3QgJXMgKCVkKSIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBkZXNpbmZsYXIgbCdvYmplY3RlIGFubmV4YXQgKCVkKSIKIAotIzogc2hhMS1maWxlLmM6MTY3MQorIzogc2hhMS1maWxlLmM6MTgzMwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZUVuZCBvbiBvYmplY3QgJXMgZmFpbGVkICglZCkiCiBtc2dzdHIgImhhIGZhbGxhdCBmc3RhdCBhICVzIgogCi0jOiBzaGExLWZpbGUuYzoxNjc1CisjOiBzaGExLWZpbGUuYzoxODM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbmZ1c2VkIGJ5IHVuc3RhYmxlIG9iamVjdCBzb3VyY2UgZGF0YSBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTY4NSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjkxOAorIzogc2hhMS1maWxlLmM6MTg0NyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjkyNQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHV0aW1lKCkgb24gJXMiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXIgwqslc8K7IgogCi0jOiBzaGExLWZpbGUuYzoxNzYwCisjOiBzaGExLWZpbGUuYzoxOTIyCiAjLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgcmVhZCBzaGExX2ZpbGUgZm9yICVzIgotbXNnc3RyICJubyBlcyBwb3QgbGxlZ2lyICRmaWxlIHBlciBhIHJlcHJvZHVjY2nDsyIKK21zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgZm9yICVzIgorbXNnc3RyICJubyBlcyBwb3QgbGxlZ2lyIGwnb2JqZWN0ZSAlcyIKIAotIzogc2hhMS1maWxlLmM6MTgwNQorIzogc2hhMS1maWxlLmM6MTk2MgogIywgZnV6enkKIG1zZ2lkICJjb3JydXB0IGNvbW1pdCIKIG1zZ3N0ciAiYXV0b3IgY29ycmVnaXQgZGUgbGEgY29taXNzacOzIgogCi0jOiBzaGExLWZpbGUuYzoxODEzCisjOiBzaGExLWZpbGUuYzoxOTcwCiAjLCBmdXp6eQogbXNnaWQgImNvcnJ1cHQgdGFnIgogbXNnc3RyICJpbmZvcm1hIGRlIGxlcyBldGlxdWV0ZXMiCiAKLSM6IHNoYTEtZmlsZS5jOjE5MTIKKyM6IHNoYTEtZmlsZS5jOjIwNjkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZXJyb3Igd2hpbGUgaW5kZXhpbmcgJXMiCiBtc2dzdHIgImVycm9yIGVuIGxsZWdpciAlcyIKIAotIzogc2hhMS1maWxlLmM6MTkxNQorIzogc2hhMS1maWxlLmM6MjA3MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAic2hvcnQgcmVhZCB3aGlsZSBpbmRleGluZyAlcyIKIG1zZ3N0ciAibm8gZXMgcG90IGxsZWdpciBsJ8OtbmRleCIKIAotIzogc2hhMS1maWxlLmM6MTk4OCBzaGExLWZpbGUuYzoxOTk3CisjOiBzaGExLWZpbGUuYzoyMTQ1IHNoYTEtZmlsZS5jOjIxNTQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5zZXJ0IGludG8gZGF0YWJhc2UiCiBtc2dzdHIgImdwZyBoYSBmYWxsYXQgZW4gc2lnbmFyIGxlcyBkYWRlcyIKIAotIzogc2hhMS1maWxlLmM6MjAwMworIzogc2hhMS1maWxlLmM6MjE2MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuc3VwcG9ydGVkIGZpbGUgdHlwZSIKIG1zZ3N0ciAidmVyc2nDsyBkJ8OtbmRleCBubyBjb21wYXRpYmxlICVzIgogCi0jOiBzaGExLWZpbGUuYzoyMDI3CisjOiBzaGExLWZpbGUuYzoyMTg0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBvYmplY3QiCiBtc2dzdHIgIsKrJXPCuyBubyDDqXMgdW5hIHRlcm1lIHbDoGxpZCIKIAotIzogc2hhMS1maWxlLmM6MjAyOQorIzogc2hhMS1maWxlLmM6MjE4NgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgJyVzJyBvYmplY3QiCi1tc2dzdHIgIsKrJXPCuyBubyDDqXMgdW5hIHRlcm1lIHbDoGxpZCIKK21zZ3N0ciAiJXMgbm8gw6lzIHVuIG9iamVjdGUgZGUgwqslc8K7IHbDoGxpZCIKIAotIzogc2hhMS1maWxlLmM6MjA1NiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQKKyM6IHNoYTEtZmlsZS5jOjIyMTMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyICVzIgogCi0jOiBzaGExLWZpbGUuYzoyMjI2IHNoYTEtZmlsZS5jOjIyNzgKKyM6IHNoYTEtZmlsZS5jOjI0MDMgc2hhMS1maWxlLmM6MjQ1NQogIywgYy1mb3JtYXQKLW1zZ2lkICJzaGExIG1pc21hdGNoIGZvciAlcyAoZXhwZWN0ZWQgJXMpIgorbXNnaWQgImhhc2ggbWlzbWF0Y2ggZm9yICVzIChleHBlY3RlZCAlcykiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MjI1MAorIzogc2hhMS1maWxlLmM6MjQyNwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1tYXAgJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjIyNTUKKyM6IHNoYTEtZmlsZS5jOjI0MzIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1bnBhY2sgaGVhZGVyIG9mICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFjdHVhbGl0emFyICVzIgogCi0jOiBzaGExLWZpbGUuYzoyMjYxCisjOiBzaGExLWZpbGUuYzoyNDM4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgaGVhZGVyIG9mICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciAlcyIKIAotIzogc2hhMS1maWxlLmM6MjI3MgorIzogc2hhMS1maWxlLmM6MjQ0OQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayBjb250ZW50cyBvZiAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgZWwgY29udGFjdGU6ICVzIgogCi0jOiBzaGExLW5hbWUuYzo0NzYKKyM6IHNoYTEtbmFtZS5jOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzaG9ydCBTSEExICVzIGlzIGFtYmlndW91cyIKIG1zZ3N0ciAibCdTSEExICVzIGN1cnQgw6lzIGFtYmlndSIKIAotIzogc2hhMS1uYW1lLmM6NDg3CisjOiBzaGExLW5hbWUuYzo0OTgKIG1zZ2lkICJUaGUgY2FuZGlkYXRlcyBhcmU6IgogbXNnc3RyICJFbHMgY2FuZGlkYXRzIHPDs246IgogCi0jOiBzaGExLW5hbWUuYzo3NzAKKyM6IHNoYTEtbmFtZS5jOjc5NworIywgZnV6enkKIG1zZ2lkICIiCiAiR2l0IG5vcm1hbGx5IG5ldmVyIGNyZWF0ZXMgYSByZWYgdGhhdCBlbmRzIHdpdGggNDAgaGV4IGNoYXJhY3RlcnNcbiIKICJiZWNhdXNlIGl0IHdpbGwgYmUgaWdub3JlZCB3aGVuIHlvdSBqdXN0IHNwZWNpZnkgNDAtaGV4LiBUaGVzZSByZWZzXG4iCiAibWF5IGJlIGNyZWF0ZWQgYnkgbWlzdGFrZS4gRm9yIGV4YW1wbGUsXG4iCiAiXG4iCi0iICBnaXQgY2hlY2tvdXQgLWIgJGJyICQoZ2l0IHJldi1wYXJzZSAuLi4pXG4iCisiICBnaXQgc3dpdGNoIC1jICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgogIlxuIgogIndoZXJlIFwiJGJyXCIgaXMgc29tZWhvdyBlbXB0eSBhbmQgYSA0MC1oZXggcmVmIGlzIGNyZWF0ZWQuIFBsZWFzZVxuIgogImV4YW1pbmUgdGhlc2UgcmVmcyBhbmQgbWF5YmUgZGVsZXRlIHRoZW0uIFR1cm4gdGhpcyBtZXNzYWdlIG9mZiBieVxuIgpAQCAtNTkyOSw3MSArNzU0MywxNDMgQEAKICJzdXByaW1pdS1sZXMuIERlc2FjdGl2ZXUgYXF1ZXN0IG1pc3NhdGdlIGV4ZWN1dGFudFxuIgogIsKrZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2XCuyIKIAotIzogc3VibW9kdWxlLmM6MTE2IHN1Ym1vZHVsZS5jOjE0NQorIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IGdpYmlieXRlCisjOiBzdHJidWYuYzo4MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgR2lCIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBnaWJpYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjgyNAorIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBHaUIvcyIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggbWViaWJ5dGUKKyM6IHN0cmJ1Zi5jOjgzMgorIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBNaUIiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IG1lYmlieXRlL3NlY29uZAorIzogc3RyYnVmLmM6ODM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IE1pQi9zIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBraWJpYnl0ZQorIzogc3RyYnVmLmM6ODQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IEtpQiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDgga2liaWJ5dGUvc2Vjb25kCisjOiBzdHJidWYuYzo4NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgS2lCL3MiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IGJ5dGUKKyM6IHN0cmJ1Zi5jOjg0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXUgYnl0ZSIKK21zZ2lkX3BsdXJhbCAiJXUgYnl0ZXMiCittc2dzdHJbMF0gIiV1IGJ5dGUiCittc2dzdHJbMV0gIiV1IGJ5dGVzIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjg1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXUgYnl0ZS9zIgorbXNnaWRfcGx1cmFsICIldSBieXRlcy9zIgorbXNnc3RyWzBdICJvY3RldHMiCittc2dzdHJbMV0gIm9jdGV0cyIKKworIzogc3RyYnVmLmM6MTE0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGVkaXQgJyVzJyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgwqslc8K7IgorCisjOiBzdWJtb2R1bGUuYzoxMTQgc3VibW9kdWxlLmM6MTQzCiBtc2dpZCAiQ2Fubm90IGNoYW5nZSB1bm1lcmdlZCAuZ2l0bW9kdWxlcywgcmVzb2x2ZSBtZXJnZSBjb25mbGljdHMgZmlyc3QiCiBtc2dzdHIgIiIKICJObyBlcyBwb3QgY2FudmlhciB1biAuZ2l0bW9kdWxlcyBubyBmdXNpb25hdCwgcHJpbWVyIHJlc29sZXUgZWxzIGNvbmZsaWN0ZXMgIgogImRlIGZ1c2nDsyIKIAotIzogc3VibW9kdWxlLmM6MTIwIHN1Ym1vZHVsZS5jOjE0OQorIzogc3VibW9kdWxlLmM6MTE4IHN1Ym1vZHVsZS5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCBzZWN0aW9uIGluIC5naXRtb2R1bGVzIHdoZXJlIHBhdGg9JXMiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgdHJvYmFyIGxhIHNlY2Npw7MgZW4gLmdpdG1vZHVsZXMgb24gcGF0aD0lcyIKIAotIzogc3VibW9kdWxlLmM6MTU2CisjOiBzdWJtb2R1bGUuYzoxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSAuZ2l0bW9kdWxlcyBlbnRyeSBmb3IgJXMiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZWxpbWluYXIgbCdlbnRyYWRhIGRlIC5naXRtb2R1bGVzIHBlciBhICVzIgogCi0jOiBzdWJtb2R1bGUuYzoxNjcKKyM6IHN1Ym1vZHVsZS5jOjE2NQogbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCiBtc2dzdHIgImwnYWxsaXN0YW1lbnQgZGVsIC5naXRtb2R1bGVzIGFjdHVhbGl0emF0IGhhIGZhbGxhdCIKIAotIzogc3VibW9kdWxlLmM6MzI5CisjOiBzdWJtb2R1bGUuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW4gdW5wb3B1bGF0ZWQgc3VibW9kdWxlICclcyciCi1tc2dzdHIgImFsIHN1Ym3DsmR1bCBubyBwb3B1bGF0IMKrJXPCuyIKK21zZ3N0ciAiYWwgc3VibcOyZHVsIHNlbnNlIHBvcHVsYXIgwqslc8K7IgogCi0jOiBzdWJtb2R1bGUuYzozNjAKKyM6IHN1Ym1vZHVsZS5jOjM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJQYXRoc3BlYyAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCiBtc2dzdHIgIkwnZXNwZWNpZmljYWNpw7Mgwqslc8K7IMOpcyBlbiBlbCBzdWJtw7JkdWwgwqslLipzwrsiCiAKLSM6IHN1Ym1vZHVsZS5jOjg1NworIzogc3VibW9kdWxlLmM6OTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgInN1Ym1vZHVsZSBlbnRyeSAnJXMnICglcykgaXMgYSAlcywgbm90IGEgY29tbWl0IgogbXNnc3RyICJsJ2VudHJhZGEgZGVsIHN1Ym3DsmR1bCDCqyVzwrsgKCVzKSDDqXMgYSAlcywgbm8gw6lzIHVuYSBjb21pc3Npw7MiCiAKLSM6IHN1Ym1vZHVsZS5jOjEwOTcgYnVpbHRpbi9icmFuY2guYzo2NTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5ODUKKyM6IHN1Ym1vZHVsZS5jOjExNDcgYnVpbHRpbi9icmFuY2guYzo2ODAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwMTYKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiByZXNvbGRyZSBIRUFEIGNvbSBhIHJlZmVyw6huY2lhIHbDoGxpZGEuIgogCi0jOiBzdWJtb2R1bGUuYzoxNDA0CisjOiBzdWJtb2R1bGUuYzoxNDgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgYWNjZXNzIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciByZWN1cnNpdmFtZW50IGFsIGNhbcOtIGRlIHN1Ym3DsmR1bCDCqyVzwrsiCisKKyM6IHN1Ym1vZHVsZS5jOjE2NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBub3QgcmVjb2duaXplZCBhcyBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICLCqyVzwrsgbm8gcmVjb25lZ3V0IGNvbSB1biBkaXDDsnNpdCBnaXQiCiAKLSM6IHN1Ym1vZHVsZS5jOjE1NDIKKyM6IHN1Ym1vZHVsZS5jOjE3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXJ0ICdnaXQgc3RhdHVzJyBpbiBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBpbmljaWFyIMKrZ2l0IHN0YXR1c8K7IGFsIHN1Ym3DsmR1bCDCqyVzwrsiCiAKLSM6IHN1Ym1vZHVsZS5jOjE1NTUKKyM6IHN1Ym1vZHVsZS5jOjE4MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJ1biAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgJ2dpdCBzdGF0dXMnIGFsIHN1Ym3DsmR1bCDCqyVzwrsiCiAKLSM6IHN1Ym1vZHVsZS5jOjE2NDgKKyM6IHN1Ym1vZHVsZS5jOjE4MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1bnNldCBjb3JlLndvcmt0cmVlIHNldHRpbmcgaW4gc3VibW9kdWxlICclcyciCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgJ2dpdCBzdGF0dXMnIGFsIHN1Ym3DsmR1bCDCqyVzwrsiCisKKyM6IHN1Ym1vZHVsZS5jOjE5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3VibW9kdWxlICclcycgaGFzIGRpcnR5IGluZGV4IgogbXNnc3RyICJlbCBzdWJtw7JkdWwgwqslc8K7IHTDqSBsJ8OtbmRleCBicnV0IgogCi0jOiBzdWJtb2R1bGUuYzoxNzAwCisjOiBzdWJtb2R1bGUuYzoxOTU5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyVzJyBjb3VsZCBub3QgYmUgdXBkYXRlZC4iCiBtc2dzdHIgIlN1Ym3DsmR1bHMgY2FudmlhdHMgcGVyw7Igbm8gYWN0dWFsaXR6YXRzOiIKIAotIzogc3VibW9kdWxlLmM6MTc0NworIzogc3VibW9kdWxlLmM6MjAyNworIywgYy1mb3JtYXQKK21zZ2lkICJzdWJtb2R1bGUgZ2l0IGRpciAnJXMnIGlzIGluc2lkZSBnaXQgZGlyICclLipzJyIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoyMDQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJyZWxvY2F0ZV9naXRkaXIgZm9yIHN1Ym1vZHVsZSAnJXMnIHdpdGggbW9yZSB0aGFuIG9uZSB3b3JrdHJlZSBub3Qgc3VwcG9ydGVkIgpAQCAtNjAwMSwxMiArNzY4NywxNyBAQAogIm5vIGVzdMOgIGFkbcOocyByZWxvY2F0ZV9naXRkaXIgcGVyIGFsIHN1Ym3DsmR1bCDCqyVzwrsgYW1iIG3DqXMgZCd1biBhcmJyZSBkZSAiCiAidHJlYmFsbCIKIAotIzogc3VibW9kdWxlLmM6MTc1OSBzdWJtb2R1bGUuYzoxODE1CisjOiBzdWJtb2R1bGUuYzoyMDYwIHN1Ym1vZHVsZS5jOjIxMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBuYW1lIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSB0cm9iYXQgZWwgbm9tIHBlbCBzdWJtw7JkdWwgwqslc8K7IgogCi0jOiBzdWJtb2R1bGUuYzoxNzY2CisjOiBzdWJtb2R1bGUuYzoyMDY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZnVzaW5nIHRvIG1vdmUgJyVzJyBpbnRvIGFuIGV4aXN0aW5nIGdpdCBkaXIiCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MjA3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTWlncmF0aW5nIGdpdCBkaXJlY3Rvcnkgb2YgJyVzJXMnIGZyb21cbiIKQEAgLTYwMTcsNDAgKzc3MDgsNDAgQEAKICLCqyVzwrsgYVxuIgogIsKrJXPCu1xuIgogCi0jOiBzdWJtb2R1bGUuYzoxODUwCisjOiBzdWJtb2R1bGUuYzoyMTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWN1cnNlIGludG8gc3VibW9kdWxlICclcyciCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIHJlY3Vyc2l2YW1lbnQgYWwgY2Ftw60gZGUgc3VibcOyZHVsIMKrJXPCuyIKIAotIzogc3VibW9kdWxlLmM6MTg5NAorIzogc3VibW9kdWxlLmM6MjE5OAogbXNnaWQgImNvdWxkIG5vdCBzdGFydCBscy1maWxlcyBpbiAuLiIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBpbmljaWFyIGxzLWZpbGVzIGEgLi4iCiAKLSM6IHN1Ym1vZHVsZS5jOjE5MzMKKyM6IHN1Ym1vZHVsZS5jOjIyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAibHMtdHJlZSByZXR1cm5lZCB1bmV4cGVjdGVkIHJldHVybiBjb2RlICVkIgogbXNnc3RyICJscy10cmVlIGhhIHJldG9ybmF0IHVuIGNvZGkgZGUgcmV0b3JuICVkIG5vIGVzcGVyYXQiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzoyMzIKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzoyMzYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHN1c3BpY2lvdXMgc3VibW9kdWxlIG5hbWU6ICVzIgogbXNnc3RyICJzJ2VzdMOgIGlnbm9yYW50IGxhIHJlZmVyw6huY2lhIGFtYiBub20gbWFsbcOocyAlcyIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjI5NgorIzogc3VibW9kdWxlLWNvbmZpZy5jOjMwMwogbXNnaWQgIm5lZ2F0aXZlIHZhbHVlcyBub3QgYWxsb3dlZCBmb3Igc3VibW9kdWxlLmZldGNoam9icyIKIG1zZ3N0ciAibm8gZXMgcGVybWV0ZW4gZWxzIHZhbG9ycyBuZWdhdGl1cyBhIHN1Ym1vZHVsZS5mZXRjaGpvYnMiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzozOTAKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo0MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgJyVzJyB3aGljaCBtYXkgYmUgaW50ZXJwcmV0ZWQgYXMgYSBjb21tYW5kLWxpbmUgb3B0aW9uOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6NDc5CisjOiBzdWJtb2R1bGUtY29uZmlnLmM6NDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzIgogbXNnc3RyICJ2YWxvciBubyB2w6BsaWQgcGVyIGEgJXMiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzo3NTQKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo3NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhY3R1YWxpdHphciBsJ2VudHJhZGEgZGUgLmdpdG1vZHVsZXMgJXMiCkBAIC02MDg1LDcgKzc3NzYsNyBAQAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIGRlcyBkZSBzdGRpbiIKIAotIzogdHJhaWxlci5jOjEwMTEgYnVpbHRpbi9hbS5jOjQ3CisjOiB0cmFpbGVyLmM6MTAxMSB3cmFwcGVyLmM6NjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGF0ICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGZlciBzdGF0IGEgJXMiCkBAIC02MTE0LDQwICs3ODA1LDQ4IEBACiBtc2dpZCAiV291bGQgc2V0IHVwc3RyZWFtIG9mICclcycgdG8gJyVzJyBvZiAnJXMnXG4iCiBtc2dzdHIgIkNhbnZpYXJpYSBsYSBmb250IGRlIMKrJXPCuyBhIMKrJXPCuyBkZSDCqyVzwrtcbiIKIAotIzogdHJhbnNwb3J0LmM6MTQyCisjOiB0cmFuc3BvcnQuYzoxNDUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGJ1bmRsZSAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBmaXR4ZXIgwqslc8K7IgogCi0jOiB0cmFuc3BvcnQuYzoyMDgKKyM6IHRyYW5zcG9ydC5jOjIxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFuc3BvcnQ6IGludmFsaWQgZGVwdGggb3B0aW9uICclcyciCiBtc2dzdHIgInRyYW5zcG9ydDogb3BjacOzIGRlIHByb2Z1bmRpdGF0IG5vIHbDoGxpZGEgwqslc8K7IgogCi0jOiB0cmFuc3BvcnQuYzo2MTYKKyM6IHRyYW5zcG9ydC5jOjI2NgorbXNnaWQgInNlZSBwcm90b2NvbC52ZXJzaW9uIGluICdnaXQgaGVscCBjb25maWcnIGZvciBtb3JlIGRldGFpbHMiCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LmM6MjY3Cittc2dpZCAic2VydmVyIG9wdGlvbnMgcmVxdWlyZSBwcm90b2NvbCB2ZXJzaW9uIDIgb3IgbGF0ZXIiCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LmM6NjMyCiAjLCBmdXp6eQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSB0cmFuc3BvcnQuY29sb3IuKiBjb25maWciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGwnc2NyaXB0IGQnYXV0b3IiCiAKLSM6IHRyYW5zcG9ydC5jOjY4OQorIzogdHJhbnNwb3J0LmM6NzA1CiBtc2dpZCAic3VwcG9ydCBmb3IgcHJvdG9jb2wgdjIgbm90IGltcGxlbWVudGVkIHlldCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQuYzo4MTYKKyM6IHRyYW5zcG9ydC5jOjgzMQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biB2YWx1ZSBmb3IgY29uZmlnICclcyc6ICVzIgogbXNnc3RyICJ2YWxvciBkZXNjb25lZ3V0IMKrJXPCuyBwZXIgYSBsYSBjbGF1IMKrJXPCuyIKIAotIzogdHJhbnNwb3J0LmM6ODgyCisjOiB0cmFuc3BvcnQuYzo4OTcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInRyYW5zcG9ydCAnJXMnIG5vdCBhbGxvd2VkIgogbXNnc3RyICJubyBzJ2hhIHRyb2JhdCBsYSBicmFuY2Egwqslc8K7LiIKIAotIzogdHJhbnNwb3J0LmM6OTM2CisjOiB0cmFuc3BvcnQuYzo5NDkKIG1zZ2lkICJnaXQtb3Zlci1yc3luYyBpcyBubyBsb25nZXIgc3VwcG9ydGVkIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC5jOjEwMzEKKyM6IHRyYW5zcG9ydC5jOjEwNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIHBhdGhzIGNvbnRhaW4gY2hhbmdlcyB0aGF0IGNhblxuIgpAQCAtNjE1Niw3ICs3ODU1LDcgQEAKICJFbHMgY2FtaW5zIGRlIHN1Ym3DsmR1bCBzZWfDvGVudHMgY29udGVuZW4gY2FudmlzIHF1ZSBub1xuIgogImVzIHBvZGVuIHRyb2JhciBlbiBjYXAgcmVtb3Q6XG4iCiAKLSM6IHRyYW5zcG9ydC5jOjEwMzUKKyM6IHRyYW5zcG9ydC5jOjEwNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNjE4MiwxOTEgKzc4ODEsMTkxIEBACiAiXG4iCiAicGVyIGEgcHVqYXItbG9zIGEgdW4gcmVtb3QuXG4iCiAKLSM6IHRyYW5zcG9ydC5jOjEwNDMKKyM6IHRyYW5zcG9ydC5jOjEwNTYKIG1zZ2lkICJBYm9ydGluZy4iCiBtc2dzdHIgIlMnZXN0w6AgYXZvcnRhbnQuIgogCi0jOiB0cmFuc3BvcnQuYzoxMTgyCisjOiB0cmFuc3BvcnQuYzoxMjAxCiAjLCBmdXp6eQogbXNnaWQgImZhaWxlZCB0byBwdXNoIGFsbCBuZWVkZWQgc3VibW9kdWxlcyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgcmVjdXJzaXZhbWVudCBhbCBzdWJtw7JkdWwgwqslc8K7IgogCi0jOiB0cmFuc3BvcnQuYzoxMzE1IHRyYW5zcG9ydC1oZWxwZXIuYzo2NDMKKyM6IHRyYW5zcG9ydC5jOjEzNDUgdHJhbnNwb3J0LWhlbHBlci5jOjY1NgogIywgZnV6enkKIG1zZ2lkICJvcGVyYXRpb24gbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbCIKIG1zZ3N0ciAib3BjacOzIG5vIGFkbWVzYSBhbWIgLS1yZWN1cnNlLXN1Ym1vZHVsZXMuIgogCi0jOiB0cmFuc3BvcnQuYzoxNDE5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgbGluZSB3aGlsZSBwYXJzaW5nIGFsdGVybmF0ZSByZWZzOiAlcyIKLW1zZ3N0ciAiIgotCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NTEgdHJhbnNwb3J0LWhlbHBlci5jOjgwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjEgdHJhbnNwb3J0LWhlbHBlci5jOjkwCiAjLCBmdXp6eQogbXNnaWQgImZ1bGwgd3JpdGUgdG8gcmVtb3RlIGhlbHBlciBmYWlsZWQiCiBtc2dzdHIgImltcHJpbWVpeCBsJ2VzdGF0IGRlcyBkZSBsJ2FqdWRhbnQgcmVtb3QiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBmaW5kIHJlbW90ZSBoZWxwZXIgZm9yICclcyciCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYWZlZ2lyIGVsIHJlc3VsdGF0IGRlIGZ1c2nDsyBwZXIgYSDCqyVzwrsiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDggdHJhbnNwb3J0LWhlbHBlci5jOjU1NworIzogdHJhbnNwb3J0LWhlbHBlci5jOjE2MCB0cmFuc3BvcnQtaGVscGVyLmM6NTcwCiBtc2dpZCAiY2FuJ3QgZHVwIGhlbHBlciBvdXRwdXQgZmQiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjE5OQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjIxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidW5rbm93biBtYW5kYXRvcnkgY2FwYWJpbGl0eSAlczsgdGhpcyByZW1vdGUgaGVscGVyIHByb2JhYmx5IG5lZWRzIG5ld2VyICIKICJ2ZXJzaW9uIG9mIEdpdCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MjA1CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MjE3CiBtc2dpZCAidGhpcyByZW1vdGUgaGVscGVyIHNob3VsZCBpbXBsZW1lbnQgcmVmc3BlYyBjYXBhYmlsaXR5IgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoyNzIgdHJhbnNwb3J0LWhlbHBlci5jOjQxMgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjI4NCB0cmFuc3BvcnQtaGVscGVyLmM6NDI0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlcyB1bmV4cGVjdGVkbHkgc2FpZDogJyVzJyIKIG1zZ3N0ciAiYmxvYiBlc3BlcmF0IHBlciBhICVzIMKrJXPCuyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjQwMQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjQxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBhbHNvIGxvY2tlZCAlcyIKIG1zZ3N0ciAiJXMgdGFtYsOpIGhhIGJsb3F1ZWphdCAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjQ3OQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjQ5MgogIywgZnV6enkKIG1zZ2lkICJjb3VsZG4ndCBydW4gZmFzdC1pbXBvcnQiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgwqtzdGFzaMK7LiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjUwMgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjUxNQogIywgZnV6enkKIG1zZ2lkICJlcnJvciB3aGlsZSBydW5uaW5nIGZhc3QtaW1wb3J0IgogbXNnc3RyICJlcnJvciBlbiB0YW5jYXIgZWwgZml0eGVyIGRlIHBhcXVldCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjUzMSB0cmFuc3BvcnQtaGVscGVyLmM6MTA5MQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjU0NCB0cmFuc3BvcnQtaGVscGVyLmM6MTEzMwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgcmVmICVzIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGxsZWdpciBsYSByZWZlcsOobmNpYSAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjU3NgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjU4OQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biByZXNwb25zZSB0byBjb25uZWN0OiAlcyIKIG1zZ3N0ciAib3BjacOzIGRlc2NvbmVndWRhOiAlc1xuIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NTk4CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjExCiBtc2dpZCAic2V0dGluZyByZW1vdGUgc2VydmljZSBwYXRoIG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjYwMAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjYxMwogIywgZnV6enkKIG1zZ2lkICJpbnZhbGlkIHJlbW90ZSBzZXJ2aWNlIHBhdGgiCiBtc2dzdHIgInJlZmVyw6huY2lhIG5vIHbDoGxpZGE6ICVzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NjQ2CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IGNvbm5lY3QgdG8gc3Vic2VydmljZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NzEzCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NzM1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBvay9lcnJvciwgaGVscGVyIHNhaWQgJyVzJyIKIG1zZ3N0ciAiYmxvYiBlc3BlcmF0IHBlciBhICVzIMKrJXPCuyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjc2NgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjc4OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyIHJlcG9ydGVkIHVuZXhwZWN0ZWQgc3RhdHVzIG9mICVzIgogbXNnc3RyICJscy10cmVlIGhhIHJldG9ybmF0IHVuIGNvZGkgZGUgcmV0b3JuICVkIG5vIGVzcGVyYXQiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4MjcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NDkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0IGRyeS1ydW4iCiBtc2dzdHIgIkVsIHNlcnZpZG9yIG5vIGFkbWV0IC0tZGVlcGVuIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6ODMwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODUyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAtLXNpZ25lZCIKIG1zZ3N0ciAiRWwgc2Vydmlkb3Igbm8gYWRtZXQgLS1zaGFsbG93LXNpbmNlIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6ODMzCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODU1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAtLXNpZ25lZD1pZi1hc2tlZCIKIG1zZ3N0ciAiZWwgZGVzdMOtIHJlY2VwdG9yIG5vIGFkbWV0IHB1amFyIC0tc2lnbmVkIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6ODQwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAtLWF0b21pYyIKK21zZ3N0ciAiRWwgc2Vydmlkb3Igbm8gYWRtZXQgLS1zaGFsbG93LXNpbmNlIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODY2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAncHVzaC1vcHRpb24nIgogbXNnc3RyICJlbCBkZXN0w60gcmVjZXB0b3Igbm8gYWRtZXQgb3BjaW9ucyBkZSBwdWphZGEiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5MzIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5NjQKIG1zZ2lkICJyZW1vdGUtaGVscGVyIGRvZXNuJ3Qgc3VwcG9ydCBwdXNoOyByZWZzcGVjIG5lZWRlZCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6OTM3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6OTY5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAnZm9yY2UnIgogbXNnc3RyICJFbCBzZXJ2aWRvciBubyBhZG1ldCAtLWRlZXBlbiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjk4NAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwMTYKICMsIGZ1enp5CiBtc2dpZCAiY291bGRuJ3QgcnVuIGZhc3QtZXhwb3J0IgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIMKrc3Rhc2jCuy4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5ODkKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDIxCiAjLCBmdXp6eQogbXNnaWQgImVycm9yIHdoaWxlIHJ1bm5pbmcgZmFzdC1leHBvcnQiCiBtc2dzdHIgImVycm9yIGVuIHRhbmNhciBlbCBmaXR4ZXIgZGUgcGFxdWV0IgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTAxNAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIHJlZnMgaW4gY29tbW9uIGFuZCBub25lIHNwZWNpZmllZDsgZG9pbmcgbm90aGluZy5cbiIKICJQZXJoYXBzIHlvdSBzaG91bGQgc3BlY2lmeSBhIGJyYW5jaCBzdWNoIGFzICdtYXN0ZXInLlxuIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDc3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTExOQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIHJlc3BvbnNlIGluIHJlZiBsaXN0OiAlcyIKIG1zZ3N0ciAiZnVsbCBkJ29wY2lvbnMgbWFsIGZvcm1hdDogwqslc8K7IgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTIzMQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEyNzEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInJlYWQoJXMpIGZhaWxlZCIKIG1zZ3N0ciAiJXMgaGEgZmFsbGF0IgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTI1OAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEyOTgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIndyaXRlKCVzKSBmYWlsZWQiCiBtc2dzdHIgIiVzIGhhIGZhbGxhdCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMDcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzQ3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlcyB0aHJlYWQgZmFpbGVkIgogbXNnc3RyICIlcyBoYSBmYWxsYXQiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzExCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM1MQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXMgdGhyZWFkIGZhaWxlZCB0byBqb2luOiAlcyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpciDCqyVzwrsiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzMwIHRyYW5zcG9ydC1oZWxwZXIuYzoxMzM0CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM3MCB0cmFuc3BvcnQtaGVscGVyLmM6MTM3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW4ndCBzdGFydCB0aHJlYWQgZm9yIGNvcHlpbmcgZGF0YTogJXMiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNzEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHByb2Nlc3MgZmFpbGVkIHRvIHdhaXQiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNzUKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDE1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlcyBwcm9jZXNzIGZhaWxlZCIKIG1zZ3N0ciAiJXMgaGEgZmFsbGF0IgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM5MyB0cmFuc3BvcnQtaGVscGVyLmM6MTQwMgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjE0MzMgdHJhbnNwb3J0LWhlbHBlci5jOjE0NDIKIG1zZ2lkICJjYW4ndCBzdGFydCB0aHJlYWQgZm9yIGNvcHlpbmcgZGF0YSIKIG1zZ3N0ciAiIgogCkBAIC02MzgyLDExICs4MDgxLDE2IEBACiBtc2dpZCAiZW1wdHkgZmlsZW5hbWUgaW4gdHJlZSBlbnRyeSIKIG1zZ3N0ciAibm9tIGRlIGZpdHhlciBidWl0IGVuIHVuYSBlbnRyYWRhIGQnYXJicmUiCiAKLSM6IHRyZWUtd2Fsay5jOjExNQorIzogdHJlZS13YWxrLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZW5hbWUgaW4gdHJlZSBlbnRyeSBjb250YWlucyBiYWNrc2xhc2g6ICclcyciCittc2dzdHIgIiIKKworIzogdHJlZS13YWxrLmM6MTI0CiBtc2dpZCAidG9vLXNob3J0IHRyZWUgZmlsZSIKIG1zZ3N0ciAiZml0eGVyIGQnYXJicmUgbWFzc2EgY3VydCIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTEyCisjOiB1bnBhY2stdHJlZXMuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgpAQCAtNjM5Niw3ICs4MTAwLDcgQEAKICJhZ2FmYXI6XG4iCiAiJSVzQ29tZXRldSBlbHMgdm9zdHJlcyBjYW52aXMgbyBmZXUgwqtzdGFzaMK7IGFiYW5zIGRlIGNhbnZpYXIgZGUgYnJhbmNhLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTE0CisjOiB1bnBhY2stdHJlZXMuYzoxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgpAQCAtNjQwNiw3ICs4MTEwLDcgQEAKICJhZ2FmYXI6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTcKKyM6IHVucGFjay10cmVlcy5jOjExNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC02NDE2LDcgKzgxMjAsNyBAQAogImZ1c2lvbmFyOlxuIgogIiUlc0NvbWV0ZXUgZWxzIHZvc3RyZXMgY2FudmlzIG8gZmV1IMKrc3Rhc2jCuyBhYmFucyBkZSBmdXNpb25hci4iCiAKLSM6IHVucGFjay10cmVlcy5jOjExOQorIzogdW5wYWNrLXRyZWVzLmM6MTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKQEAgLTY0MjYsNyArODEzMCw3IEBACiAiZnVzaW9uYXI6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjIKKyM6IHVucGFjay10cmVlcy5jOjEyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCkBAIC02NDM1LDcgKzgxMzksNyBAQAogIkVscyB2b3N0cmVzIGNhbnZpcyBsb2NhbHMgYWxzIGZpdHhlcnMgc2Vnw7xlbnRzIHNlIHNvYnJlZXNjcml1cmllbiBwZXIgJXM6XG4iCiAiJSVzQ29tZXRldSBlbHMgdm9zdHJlcyBjYW52aXMgbyBmZXUgwqtzdGFzaMK7IGFiYW5zIGRlICVzLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTI0CisjOiB1bnBhY2stdHJlZXMuYzoxMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtNjQ0NCw3ICs4MTQ4LDcgQEAKICJFbHMgdm9zdHJlcyBjYW52aXMgbG9jYWxzIGFscyBmaXR4ZXJzIHNlZ8O8ZW50cyBzZSBzb2JyZWVzY3JpdXJpZW4gcGVyICVzOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTI5CisjOiB1bnBhY2stdHJlZXMuYzoxMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVwZGF0aW5nIHRoZSBmb2xsb3dpbmcgZGlyZWN0b3JpZXMgd291bGQgbG9zZSB1bnRyYWNrZWQgZmlsZXMgaW4gdGhlbTpcbiIKQEAgLTY0NTMsNyArODE1Nyw3IEBACiAiRW4gYWN0dWFsaXR6YXIgZWxzIGRpcmVjdG9yaXMgc2Vnw7xlbnRzIHBlcmRyaWEgZml0eGVycyBubyBzZWd1aXRzIGVuIGVsOlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzMKKyM6IHVucGFjay10cmVlcy5jOjEzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCkBAIC02NDYzLDcgKzgxNjcsNyBAQAogImFnYWZhcjpcbiIKICIlJXNNb3ZldS1sb3MgbyBlbGltaW5ldS1sb3MgYWJhbnMgZGUgY2FudmlhciBkZSBicmFuY2EuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzUKKyM6IHVucGFjay10cmVlcy5jOjEzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCkBAIC02NDczLDcgKzgxNzcsNyBAQAogImFnYWZhcjpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzOAorIzogdW5wYWNrLXRyZWVzLmM6MTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKQEAgLTY0ODMsNyArODE4Nyw3IEBACiAiZnVzaW9uYXI6XG4iCiAiJSVzTW92ZXUtbG9zIG8gZWxpbWluZXUtbG9zIGFiYW5zIGRlIGZ1c2lvbmFyLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQwCisjOiB1bnBhY2stdHJlZXMuYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgpAQCAtNjQ5Myw3ICs4MTk3LDcgQEAKICJmdXNpb25hcjpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE0MworIzogdW5wYWNrLXRyZWVzLmM6MTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKQEAgLTY1MDIsNyArODIwNiw3IEBACiAiRWxzIHNlZ8O8ZW50cyBmaXR4ZXJzIG5vIHNlZ3VpdHMgZW4gbCdhcmJyZSBkZSB0cmViYWxsIHMnZWxpbWluYXJpZW4gcGVyICVzOlxuIgogIiUlc01vdmV1LWxvcyBvIGVsaW1pbmV1LWxvcyBhYmFucyBkZSAlcy4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE0NQorIzogdW5wYWNrLXRyZWVzLmM6MTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKQEAgLTY1MTEsMjkgKzgyMTUsMjkgQEAKICJFbHMgc2Vnw7xlbnRzIGZpdHhlcnMgbm8gc2VndWl0cyBlbiBsJ2FyYnJlIGRlIHRyZWJhbGwgcydlbGltaW5hcmllbiBwZXIgJXM6XG4iCiAiJSVzIgogCisjOiB1bnBhY2stdHJlZXMuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCisiY2hlY2tvdXQ6XG4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgorbXNnc3RyICIiCisiRWxzIHNlZ8O8ZW50cyBmaXR4ZXJzIG5vIHNlZ3VpdHMgZW4gbCdhcmJyZSBkZSB0cmViYWxsIHNlIHNvYnJlZXNjcml1cmllbiBwZXIgIgorImFnYWZhcjpcbiIKKyIlJXNNb3ZldS1sb3MgbyBlbGltaW5ldS1sb3MgYWJhbnMgZGUgY2FudmlhciBkZSBicmFuY2EuIgorCiAjOiB1bnBhY2stdHJlZXMuYzoxNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCiAiY2hlY2tvdXQ6XG4iCi0iJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgotbXNnc3RyICIiCi0iRWxzIHNlZ8O8ZW50cyBmaXR4ZXJzIG5vIHNlZ3VpdHMgZW4gbCdhcmJyZSBkZSB0cmViYWxsIHNlIHNvYnJlZXNjcml1cmllbiBwZXIgIgotImFnYWZhcjpcbiIKLSIlJXNNb3ZldS1sb3MgbyBlbGltaW5ldS1sb3MgYWJhbnMgZGUgY2FudmlhciBkZSBicmFuY2EuIgotCi0jOiB1bnBhY2stdHJlZXMuYzoxNTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCi0iY2hlY2tvdXQ6XG4iCiAiJSVzIgogbXNnc3RyICIiCiAiRWxzIHNlZ8O8ZW50cyBmaXR4ZXJzIG5vIHNlZ3VpdHMgZW4gbCdhcmJyZSBkZSB0cmViYWxsIHNlIHNvYnJlZXNjcml1cmllbiBwZXIgIgogImFnYWZhcjpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE1NgorIzogdW5wYWNrLXRyZWVzLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC02NTQzLDcgKzgyNDcsNyBAQAogImZ1c2lvbmFyOlxuIgogIiUlc01vdmV1LWxvcyBvIGVsaW1pbmV1LWxvcyBhYmFucyBkZSBmdXNpb25hci4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE1OAorIzogdW5wYWNrLXRyZWVzLmM6MTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC02NTUzLDcgKzgyNTcsNyBAQAogImZ1c2lvbmFyOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTYxCisjOiB1bnBhY2stdHJlZXMuYzoxNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTY1NjMsNyArODI2Nyw3IEBACiAiJXM6XG4iCiAiJSVzTW92ZXUtbG9zIG8gZWxpbWluZXUtbG9zIGFiYW5zIGRlICVzLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTYzCisjOiB1bnBhY2stdHJlZXMuYzoxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTY1NzMsMTIgKzgyNzcsMTIgQEAKICIlczpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE3MQorIzogdW5wYWNrLXRyZWVzLmM6MTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVudHJ5ICclcycgb3ZlcmxhcHMgd2l0aCAnJXMnLiAgQ2Fubm90IGJpbmQuIgogbXNnc3RyICJMJ2VudHJhZGEgwqslc8K7IGVuY2F2YWxjYSBhbWIgwqslc8K7LiAgTm8gZXMgcG90IHZpbmN1bGFyLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTc0CisjOiB1bnBhY2stdHJlZXMuYzoxNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgc3BhcnNlIGNoZWNrb3V0OiB0aGUgZm9sbG93aW5nIGVudHJpZXMgYXJlIG5vdCB1cCB0byBkYXRlOlxuIgpAQCAtNjU4OCw3ICs4MjkyLDcgQEAKICJkaWE6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE3NgorIzogdW5wYWNrLXRyZWVzLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgIgpAQCAtNjU5OSw3ICs4MzAzLDcgQEAKICJhY3R1YWxpdHphciBsJ2FnYWZhbWVudCBwYXJjaWFsOlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNzgKKyM6IHVucGFjay10cmVlcy5jOjE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBzcGFyc2UgY2hlY2tvdXQgIgpAQCAtNjYxMCw3ICs4MzE0LDcgQEAKICJsJ2FnYWZhbWVudCBwYXJjaWFsOlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxODAKKyM6IHVucGFjay10cmVlcy5jOjE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBzdWJtb2R1bGU6XG4iCkBAIC02NjE5LDIyICs4MzIzLDI3IEBACiAiTm8gZXMgcG90IGFjdHVhbGl0emFyIGVsIHN1Ym3DsmR1bDpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MjU0CisjOiB1bnBhY2stdHJlZXMuYzoyNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmdcbiIKIG1zZ3N0ciAiUydlc3TDoCBhdm9ydGFudFxuIgogCi0jOiB1bnBhY2stdHJlZXMuYzozMzYKLW1zZ2lkICJDaGVja2luZyBvdXQgZmlsZXMiCi1tc2dzdHIgIlMnZXN0YW4gYWdhZmFudCBmaXR4ZXJzIgorIzogdW5wYWNrLXRyZWVzLmM6MzE3Cittc2dpZCAiVXBkYXRpbmcgZmlsZXMiCittc2dzdHIgIlMnZXN0YW4gYWN0dWFsaXR6YW50IGVscyBmaXR4ZXJzIgogCi0jOiB1bnBhY2stdHJlZXMuYzozNjgKKyM6IHVucGFjay10cmVlcy5jOjM0OQogbXNnaWQgIiIKICJ0aGUgZm9sbG93aW5nIHBhdGhzIGhhdmUgY29sbGlkZWQgKGUuZy4gY2FzZS1zZW5zaXRpdmUgcGF0aHNcbiIKICJvbiBhIGNhc2UtaW5zZW5zaXRpdmUgZmlsZXN5c3RlbSkgYW5kIG9ubHkgb25lIGZyb20gdGhlIHNhbWVcbiIKICJjb2xsaWRpbmcgZ3JvdXAgaXMgaW4gdGhlIHdvcmtpbmcgdHJlZTpcbiIKIG1zZ3N0ciAiIgogCisjOiB1bnBhY2stdHJlZXMuYzoxNDQxCisjLCBmdXp6eQorbXNnaWQgIlVwZGF0aW5nIGluZGV4IGZsYWdzIgorbXNnc3RyICJTJ2VzdGFuIGFjdHVhbGl0emFudCBlbHMgZml0eGVycyIKKwogIzogdXJsbWF0Y2guYzoxNjMKIG1zZ2lkICJpbnZhbGlkIFVSTCBzY2hlbWUgbmFtZSBvciBtaXNzaW5nICc6Ly8nIHN1ZmZpeCIKIG1zZ3N0ciAibCdlc3F1ZW1hIGQnVVJMIG5vIMOpcyB2w6BsaWQgbyBsaSBtYW5jYSBlbCBzdWZpeCAnOi8vJyIKQEAgLTY2NjQsMTk5ICs4MzczLDIwNCBAQAogbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCiBtc2dzdHIgInNlZ21lbnQgZGUgY2Ftw60gJy4uJyBubyB2w6BsaWQiCiAKLSM6IHdvcmt0cmVlLmM6MjQ5IGJ1aWx0aW4vYW0uYzoyMTAwCisjOiB3b3JrdHJlZS5jOjI1OCBidWlsdGluL2FtLmM6MjA4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAnJXMnIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGxsZWdpciDCqyVzwrsiCiAKLSM6IHdvcmt0cmVlLmM6Mjk1CisjOiB3b3JrdHJlZS5jOjMwNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGF0IG1haW4gd29ya2luZyB0cmVlIGlzIG5vdCB0aGUgcmVwb3NpdG9yeSBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogd29ya3RyZWUuYzozMDYKKyM6IHdvcmt0cmVlLmM6MzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZmlsZSBkb2VzIG5vdCBjb250YWluIGFic29sdXRlIHBhdGggdG8gdGhlIHdvcmtpbmcgdHJlZSBsb2NhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiB3b3JrdHJlZS5jOjMxOAorIzogd29ya3RyZWUuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiwqslc8K7IG5vIGV4aXN0ZWl4IgogCi0jOiB3b3JrdHJlZS5jOjMyNAorIzogd29ya3RyZWUuYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSAuZ2l0IGZpbGUsIGVycm9yIGNvZGUgJWQiCiBtc2dzdHIgIsKrJXPCuyBubyDDqXMgdW4gZml0eGVyIC5naXQsIGNvZGkgZCdlcnJvciAlZCIKIAotIzogd29ya3RyZWUuYzozMzIKKyM6IHdvcmt0cmVlLmM6MzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgYmFjayB0byAnJXMnIgogbXNnc3RyICLCqyVzwrsgbm8gYXNzZW55YWxhIGRlIHRvcm5hZGEgYSDCqyVzwrsiCiAKLSM6IHdyYXBwZXIuYzoyMjMgd3JhcHBlci5jOjM5MworIzogd3JhcHBlci5jOjE4NiB3cmFwcGVyLmM6MzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgwqslc8K7IHBlciBhIGxlY3R1cmEgaSBlc2NyaXB0dXJhIgogCi0jOiB3cmFwcGVyLmM6NDI0IHdyYXBwZXIuYzo2MjQKKyM6IHdyYXBwZXIuYzozODcgd3JhcHBlci5jOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWNjZWRpciBhIMKrJXPCuyIKIAotIzogd3JhcHBlci5jOjYzMgorIzogd3JhcHBlci5jOjU5NgogbXNnaWQgInVuYWJsZSB0byBnZXQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnRlbmlyIGVsIGRpcmVjdG9yaSBkZSB0cmViYWxsIGFjdHVhbCIKIAotIzogd3Qtc3RhdHVzLmM6MTU0CisjOiB3dC1zdGF0dXMuYzoxNTgKIG1zZ2lkICJVbm1lcmdlZCBwYXRoczoiCiBtc2dzdHIgIkNhbWlucyBzZW5zZSBmdXNpb25hcjoiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MSB3dC1zdGF0dXMuYzoyMDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgorIzogd3Qtc3RhdHVzLmM6MTg3IHd0LXN0YXR1cy5jOjIxOQorIywgZnV6enkKK21zZ2lkICIgICh1c2UgXCJnaXQgcmVzdG9yZSAtLXN0YWdlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiICAodXNldSBcImdpdCByZXNldCAlcyA8Zml0eGVyPi4uLlwiIHBlciBhIGZlciDCq3Vuc3RhZ2XCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MyB3dC1zdGF0dXMuYzoyMTAKKyM6IHd0LXN0YXR1cy5jOjE5MCB3dC1zdGF0dXMuYzoyMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgKHVzZSBcImdpdCByZXN0b3JlIC0tc291cmNlPSVzIC0tc3RhZ2VkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgorbXNnc3RyICIgICh1c2V1IFwiZ2l0IHJlc2V0ICVzIDxmaXR4ZXI+Li4uXCIgcGVyIGEgZmVyIMKrdW5zdGFnZcK7KSIKKworIzogd3Qtc3RhdHVzLmM6MTkzIHd0LXN0YXR1cy5jOjIyNQogbXNnaWQgIiAgKHVzZSBcImdpdCBybSAtLWNhY2hlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiICAodXNldSBcImdpdCBybSAtLWNhY2hlZCA8Zml0eGVyPi4uLlwiIHBlciBhIGZlciDCq3Vuc3RhZ2XCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NworIzogd3Qtc3RhdHVzLmM6MTk3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IGFkZCA8Zml0eGVyPi4uLlwiIHBlciBhIHNlbnlhbGFyIHJlc29sdWNpw7MpIgogCi0jOiB3dC1zdGF0dXMuYzoxODkgd3Qtc3RhdHVzLmM6MTkzCisjOiB3dC1zdGF0dXMuYzoxOTkgd3Qtc3RhdHVzLmM6MjAzCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAiICAodXNldSBcImdpdCBhZGQvcm0gPGZpdHhlcj4uLi5cIiBzZWdvbnMgc2lndWkgYXByb3BpYXQgcGVyIGEgc2VueWFsYXIgIgogInJlc29sdWNpw7MpIgogCi0jOiB3dC1zdGF0dXMuYzoxOTEKKyM6IHd0LXN0YXR1cy5jOjIwMQogbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IHJtIDxmaXR4ZXI+Li4uXCIgcGVyIGEgc2VueWFsYXIgcmVzb2x1Y2nDsykiCiAKLSM6IHd0LXN0YXR1cy5jOjIwMiB3dC1zdGF0dXMuYzoxMDQyCisjOiB3dC1zdGF0dXMuYzoyMTEgd3Qtc3RhdHVzLmM6MTA3NAogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiQ2FudmlzIGEgY29tZXRyZToiCiAKLSM6IHd0LXN0YXR1cy5jOjIyMCB3dC1zdGF0dXMuYzoxMDUxCisjOiB3dC1zdGF0dXMuYzoyMzQgd3Qtc3RhdHVzLmM6MTA4MwogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAiQ2FudmlzIG5vIMKrc3RhZ2VkwrsgcGVyIGEgY29tZXRyZToiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNAorIzogd3Qtc3RhdHVzLmM6MjM4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiAgKHVzZXUgXCJnaXQgYWRkIDxmaXR4ZXI+Li4uXCIgcGVyIGEgYWN0dWFsaXR6YXIgcXXDqCBlcyBjb21ldHLDoCkiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNgorIzogd3Qtc3RhdHVzLmM6MjQwCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiAgKHVzZXUgXCJnaXQgYWRkL3JtIDxmaXR4ZXI+Li4uXCIgcGVyIGEgYWN0dWFsaXR6YXIgcXXDqCBlcyBjb21ldHLDoCkiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNworIzogd3Qtc3RhdHVzLmM6MjQxCisjLCBmdXp6eQogbXNnaWQgIiIKLSIgICh1c2UgXCJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKKyIgICh1c2UgXCJnaXQgcmVzdG9yZSA8ZmlsZT4uLi5cIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpIgogbXNnc3RyICIiCiAiICAodXNldSBcImdpdCBjaGVja291dCAtLSA8Zml0eGVyPi4uLlwiIHBlciBhIGRlc2NhcnRhciBlbHMgY2FudmlzIGVuIGVsICIKICJkaXJlY3RvcmkgZGUgdHJlYmFsbCkiCiAKLSM6IHd0LXN0YXR1cy5jOjIyOQorIzogd3Qtc3RhdHVzLmM6MjQzCiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIiCiAiICAoY29tZXRldSBvIGRlc2NhcnRldSBlbCBjb250aW5ndXQgbW9kaWZpY2F0IG8gbm8gc2VndWl0IGVuIGVscyBzdWJtw7JkdWxzKSIKIAotIzogd3Qtc3RhdHVzLmM6MjQxCisjOiB3dC1zdGF0dXMuYzoyNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCi1tc2dzdHIgIiIKLSIgICh1c2V1IFwiZ2l0ICVzIDxmaXR4ZXI+Li4uXCIgcGVyIGEgaW5jbG91cmUtaG8gZW4gZWwgcXVhbCBlcyBjb21ldHLDoCkiCittc2dzdHIgIiAgKHVzZXUgXCJnaXQgJXMgPGZpdHhlcj4uLi5cIiBwZXIgYSBpbmNsb3VyZS1obyBlbiBlbCBxdWUgZXMgY29tZXRyw6ApIgogCi0jOiB3dC1zdGF0dXMuYzoyNTYKKyM6IHd0LXN0YXR1cy5jOjI2OAogbXNnaWQgImJvdGggZGVsZXRlZDoiCiBtc2dzdHIgInN1cHJpbWl0IHBlciBhbWJkw7NzOiIKIAotIzogd3Qtc3RhdHVzLmM6MjU4CisjOiB3dC1zdGF0dXMuYzoyNzAKIG1zZ2lkICJhZGRlZCBieSB1czoiCiBtc2dzdHIgImFmZWdpdCBwZXIgbm9zYWx0cmVzOiIKIAotIzogd3Qtc3RhdHVzLmM6MjYwCisjOiB3dC1zdGF0dXMuYzoyNzIKIG1zZ2lkICJkZWxldGVkIGJ5IHRoZW06IgogbXNnc3RyICJzdXByaW1pdCBwZXIgZWxsczoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MgorIzogd3Qtc3RhdHVzLmM6Mjc0CiBtc2dpZCAiYWRkZWQgYnkgdGhlbToiCiBtc2dzdHIgImFmZWdpdCBwZXIgZWxsczoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NAorIzogd3Qtc3RhdHVzLmM6Mjc2CiBtc2dpZCAiZGVsZXRlZCBieSB1czoiCiBtc2dzdHIgInN1cHJpbWl0IHBlciBub3NhbHRyZXM6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjYKKyM6IHd0LXN0YXR1cy5jOjI3OAogbXNnaWQgImJvdGggYWRkZWQ6IgogbXNnc3RyICJhZmVnaXQgcGVyIGFtYmTDs3M6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjgKKyM6IHd0LXN0YXR1cy5jOjI4MAogbXNnaWQgImJvdGggbW9kaWZpZWQ6IgogbXNnc3RyICJtb2RpZmljYXQgcGVyIGFtYmTDs3M6IgogCi0jOiB3dC1zdGF0dXMuYzoyNzgKKyM6IHd0LXN0YXR1cy5jOjI5MAogbXNnaWQgIm5ldyBmaWxlOiIKIG1zZ3N0ciAiZml0eGVyIG5vdToiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MAorIzogd3Qtc3RhdHVzLmM6MjkyCiBtc2dpZCAiY29waWVkOiIKIG1zZ3N0ciAiY29waWF0OiIKIAotIzogd3Qtc3RhdHVzLmM6MjgyCisjOiB3dC1zdGF0dXMuYzoyOTQKIG1zZ2lkICJkZWxldGVkOiIKIG1zZ3N0ciAic3VwcmltaXQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyODQKKyM6IHd0LXN0YXR1cy5jOjI5NgogbXNnaWQgIm1vZGlmaWVkOiIKIG1zZ3N0ciAibW9kaWZpY2F0OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg2CisjOiB3dC1zdGF0dXMuYzoyOTgKIG1zZ2lkICJyZW5hbWVkOiIKIG1zZ3N0ciAiY2FudmlhdCBkZSBub206IgogCi0jOiB3dC1zdGF0dXMuYzoyODgKKyM6IHd0LXN0YXR1cy5jOjMwMAogbXNnaWQgInR5cGVjaGFuZ2U6IgogbXNnc3RyICJjYW52aWF0IGRlIHRpcHVzOiIKIAotIzogd3Qtc3RhdHVzLmM6MjkwCisjOiB3dC1zdGF0dXMuYzozMDIKIG1zZ2lkICJ1bmtub3duOiIKIG1zZ3N0ciAiZGVzY29uZWd1dDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI5MgorIzogd3Qtc3RhdHVzLmM6MzA0CiBtc2dpZCAidW5tZXJnZWQ6IgogbXNnc3RyICJzZW5zZSBmdXNpb25hcjoiCiAKLSM6IHd0LXN0YXR1cy5jOjM3MgorIzogd3Qtc3RhdHVzLmM6Mzg0CiBtc2dpZCAibmV3IGNvbW1pdHMsICIKIG1zZ3N0ciAiY29taXNzaW9ucyBub3ZlcywgIgogCi0jOiB3dC1zdGF0dXMuYzozNzQKKyM6IHd0LXN0YXR1cy5jOjM4NgogbXNnaWQgIm1vZGlmaWVkIGNvbnRlbnQsICIKIG1zZ3N0ciAiY29udGluZ3V0IG1vZGlmaWNhdCwgIgogCi0jOiB3dC1zdGF0dXMuYzozNzYKKyM6IHd0LXN0YXR1cy5jOjM4OAogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgImNvbnRpbmd1dCBubyBzZWd1aXQsICIKIAotIzogd3Qtc3RhdHVzLmM6ODgwCisjOiB3dC1zdGF0dXMuYzo5MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJ5IgogbXNnaWRfcGx1cmFsICJZb3VyIHN0YXNoIGN1cnJlbnRseSBoYXMgJWQgZW50cmllcyIKIG1zZ3N0clswXSAiTCfCq3N0YXNowrsgdMOpIGFjdHVhbG1lbnQgJWQgZW50cmFkYSIKIG1zZ3N0clsxXSAiTCfCq3N0YXNowrsgdMOpIGFjdHVhbG1lbnQgJWQgZW50cmFkZXMiCiAKLSM6IHd0LXN0YXR1cy5jOjkxMgorIzogd3Qtc3RhdHVzLmM6OTM4CiBtc2dpZCAiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiCiBtc2dzdHIgIlN1Ym3DsmR1bHMgY2FudmlhdHMgcGVyw7Igbm8gYWN0dWFsaXR6YXRzOiIKIAotIzogd3Qtc3RhdHVzLmM6OTE0CisjOiB3dC1zdGF0dXMuYzo5NDAKIG1zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgogbXNnc3RyICJDYW52aXMgZGUgc3VibcOyZHVsIGEgY29tZXRyZToiCiAKLSM6IHd0LXN0YXR1cy5jOjk5NgorIzogd3Qtc3RhdHVzLmM6MTAyMgogbXNnaWQgIiIKICJEbyBub3QgbW9kaWZ5IG9yIHJlbW92ZSB0aGUgbGluZSBhYm92ZS5cbiIKICJFdmVyeXRoaW5nIGJlbG93IGl0IHdpbGwgYmUgaWdub3JlZC4iCkBAIC02ODY0LDEwOSArODU3OCwxMTcgQEAKICJObyBtb2RpZmlxdWV1IG8gc3VwcmltaXUgbGEgbMOtbmlhIGRlIGRhbHQuXG4iCiAiVG90IGVsIHF1ZSBoaSBoYSBhIHNvdGEgcydpZ25vcmFyw6AuIgogCi0jOiB3dC1zdGF0dXMuYzoxMDk3CisjOiB3dC1zdGF0dXMuYzoxMTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBjb21wdXRlIHRoZSBicmFuY2ggYWhlYWQvYmVoaW5kIHZhbHVlcy5cbiIKKyJZb3UgY2FuIHVzZSAnLS1uby1haGVhZC1iZWhpbmQnIHRvIGF2b2lkIHRoaXMuXG4iCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTE0NAogbXNnaWQgIllvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLiIKIG1zZ3N0ciAiVGVuaXUgY2FtaW5zIHNlbnNlIGZ1c2lvbmFyLiIKIAotIzogd3Qtc3RhdHVzLmM6MTEwMAorIzogd3Qtc3RhdHVzLmM6MTE0NwogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjb21taXRcIikiCiBtc2dzdHIgIiAgKGFycmVnbGV1IGVscyBjb25mbGljdGVzIGkgZXhlY3V0ZXUgXCJnaXQgY29tbWl0XCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTAyCisjOiB3dC1zdGF0dXMuYzoxMTQ5CiBtc2dpZCAiICAodXNlIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiB0byBhYm9ydCB0aGUgbWVyZ2UpIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiBwZXIgYSBhdm9ydGFyIGxhIGZ1c2nDsykiCiAKLSM6IHd0LXN0YXR1cy5jOjExMDYKKyM6IHd0LXN0YXR1cy5jOjExNTMKIG1zZ2lkICJBbGwgY29uZmxpY3RzIGZpeGVkIGJ1dCB5b3UgYXJlIHN0aWxsIG1lcmdpbmcuIgogbXNnc3RyICJUb3RzIGVscyBjb25mbGljdGVzIGVzdGFuIGFycmVnbGF0cyBwZXLDsiBlbmNhcmEgZXN0ZXUgZnVzaW9uYW50LiIKIAotIzogd3Qtc3RhdHVzLmM6MTEwOQorIzogd3Qtc3RhdHVzLmM6MTE1NgogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXRcIiB0byBjb25jbHVkZSBtZXJnZSkiCiBtc2dzdHIgIiAgKHVzZXUgXCJnaXQgY29tbWl0XCIgcGVyIGEgY29uY2xvdXJlIGxhIGZ1c2nDsykiCiAKLSM6IHd0LXN0YXR1cy5jOjExMTgKKyM6IHd0LXN0YXR1cy5jOjExNjUKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvbi4iCiBtc2dzdHIgIkVzdGV1IGVubWlnIGQndW5hIHNlc3Npw7MgYW0uIgogCi0jOiB3dC1zdGF0dXMuYzoxMTIxCisjOiB3dC1zdGF0dXMuYzoxMTY4CiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICJFbCBwZWRhw6cgYWN0dWFsIGVzdMOgIGJ1aXQuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTI1CisjOiB3dC1zdGF0dXMuYzoxMTcyCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoYXJyZWdsZXUgZWxzIGNvbmZsaWN0ZXMgaSBkZXNwcsOpcyBleGVjdXRldSBcImdpdCBhbSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTI3CisjOiB3dC1zdGF0dXMuYzoxMTc0CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKHVzZXUgXCJnaXQgYW0gLS1za2lwXCIgcGVyIGEgb21ldHJlIGFxdWVzdCBwZWRhw6cpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTI5CisjOiB3dC1zdGF0dXMuYzoxMTc2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IGFtIC0tYWJvcnRcIiBwZXIgYSByZXN0YXVyYXIgbGEgYnJhbmNhIG9yaWdpbmFsKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MAorIzogd3Qtc3RhdHVzLmM6MTMwOQogbXNnaWQgImdpdC1yZWJhc2UtdG9kbyBpcyBtaXNzaW5nLiIKIG1zZ3N0ciAiTWFuY2EgZ2l0LXJlYmFzZS10b2RvLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MgorIzogd3Qtc3RhdHVzLmM6MTMxMQogbXNnaWQgIk5vIGNvbW1hbmRzIGRvbmUuIgogbXNnc3RyICJObyBzJ2hhIGZldCBjYXAgb3JkcmUuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjY1CisjOiB3dC1zdGF0dXMuYzoxMzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxhc3QgY29tbWFuZCBkb25lICglZCBjb21tYW5kIGRvbmUpOiIKIG1zZ2lkX3BsdXJhbCAiTGFzdCBjb21tYW5kcyBkb25lICglZCBjb21tYW5kcyBkb25lKToiCiBtc2dzdHJbMF0gIsOabHRpbWEgb3JkcmUgZmV0YSAoJWQgb3JkcmUgZmV0YSk6IgogbXNnc3RyWzFdICLDmmx0aW1lcyBvcmRyZXMgZmV0ZXMgKCVkIG9yZHJlcyBmZXRlcyk6IgogCi0jOiB3dC1zdGF0dXMuYzoxMjc2CisjOiB3dC1zdGF0dXMuYzoxMzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHNlZSBtb3JlIGluIGZpbGUgJXMpIgogbXNnc3RyICIgICh2ZWdldSBtw6lzIGVuIGVsIGZpdHhlciAlcykiCiAKLSM6IHd0LXN0YXR1cy5jOjEyODEKKyM6IHd0LXN0YXR1cy5jOjEzMzAKIG1zZ2lkICJObyBjb21tYW5kcyByZW1haW5pbmcuIgogbXNnc3RyICJObyBtYW5jYSBjYXAgb3JkcmUuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjg0CisjOiB3dC1zdGF0dXMuYzoxMzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5leHQgY29tbWFuZCB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmQpOiIKIG1zZ2lkX3BsdXJhbCAiTmV4dCBjb21tYW5kcyB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmRzKToiCiBtc2dzdHJbMF0gIk9yZHJlIHNlZ8O8ZW50IGEgZmVyIChtYW5jYSAlZCBvcmRyZSk6IgogbXNnc3RyWzFdICJPcmRyZXMgc2Vnw7xlbnRzIGEgZmVyIChtYW5xdWVuICVkIG9yZHJlcyk6IgogCi0jOiB3dC1zdGF0dXMuYzoxMjkyCisjOiB3dC1zdGF0dXMuYzoxMzQxCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHRvIHZpZXcgYW5kIGVkaXQpIgogbXNnc3RyICIgICh1c2V1IFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHBlciBhIHZldXJlIGkgZWRpdGFyKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMwNAorIzogd3Qtc3RhdHVzLmM6MTM1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiQWN0dWFsbWVudCBlc3RldSBmZW50IMKrcmViYXNlwrsgZGUgbGEgYnJhbmNhIMKrJXPCuyBlbiDCqyVzwrsuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzA5CisjOiB3dC1zdGF0dXMuYzoxMzU4CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICJBY3R1YWxtZW50IGVzdGV1IGZlbnQgwqtyZWJhc2XCuy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzMjIKKyM6IHd0LXN0YXR1cy5jOjEzNzEKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKGFycmVnbGV1IGVscyBjb25mbGljdGVzIGkgZGVzcHLDqXMgZXhlY3V0ZXUgXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMjQKKyM6IHd0LXN0YXR1cy5jOjEzNzMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKHVzZXUgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHBlciBhIG9tZXRyZSBhcXVlc3QgcGVkYcOnKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMyNgorIzogd3Qtc3RhdHVzLmM6MTM3NQogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHRvIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAodXNldSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHBlciBhIGFnYWZhciBsYSBicmFuY2Egb3JpZ2luYWwpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzMzCisjOiB3dC1zdGF0dXMuYzoxMzgyCiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAodG90cyBlbHMgY29uZmxpY3RlcyBlc3RhbiBhcnJlZ2xhdHM6IGV4ZWN1dGV1IFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzM3CisjOiB3dC1zdGF0dXMuYzoxMzg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCkBAIC02OTc0LDEzMiArODY5NiwxNTQgQEAKICJBY3R1YWxtZW50IGVzdGV1IGRpdmlkaW50IHVuYSBjb21pc3Npw7MgbWVudHJlIGVzIGZhIMKrcmViYXNlwrsgZGUgbGEgYnJhbmNhICIKICLCqyVzwrsgZW4gwqslc8K7LiIKIAotIzogd3Qtc3RhdHVzLmM6MTM0MgorIzogd3Qtc3RhdHVzLmM6MTM5MQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICJBY3R1YWxtZW50IGVzdGV1IGRpdmlkaW50IHVuYSBjb21pc3Npw7MgZHVyYW50IHVuIMKrcmViYXNlwrsuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzQ1CisjOiB3dC1zdGF0dXMuYzoxMzk0CiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChVbmEgdmVnYWRhIHF1ZSBlbCB2b3N0cmUgZGlyZWN0b3JpIGRlIHRyZWJhbGwgc2lndWkgbmV0LCBleGVjdXRldSBcImdpdCAiCiAicmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNDkKKyM6IHd0LXN0YXR1cy5jOjEzOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiIgogIkFjdHVhbG1lbnQgZXN0ZXUgZWRpdGFudCB1bmEgY29taXNzacOzIG1lbnRyZSBlcyBmYSDCq3JlYmFzZcK7IGRlIGxhIGJyYW5jYSAiCiAiwqslc8K7IGVuIMKrJXPCuy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzNTQKKyM6IHd0LXN0YXR1cy5jOjE0MDMKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIkFjdHVhbG1lbnQgZXN0ZXUgZWRpdGFudCB1bmEgY29taXNzacOzIGR1cmFudCB1biDCq3JlYmFzZcK7LiIKIAotIzogd3Qtc3RhdHVzLmM6MTM1NworIzogd3Qtc3RhdHVzLmM6MTQwNgogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkiCiBtc2dzdHIgIiAgKHVzZXUgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiBwZXIgYSBlc21lbmFyIGxhIGNvbWlzc2nDsyBhY3R1YWwpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzU5CisjOiB3dC1zdGF0dXMuYzoxNDA4CiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpIgogbXNnc3RyICIiCiAiICAodXNldSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIHVuYSB2ZWdhZGEgcXVlIGVzdGlndWV1IHNhdGlzZmV0IGFtYiBlbHMgIgogInZvc3RyZXMgY2FudmlzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM2OAorIzogd3Qtc3RhdHVzLmM6MTQxOQorIywgZnV6enkKK21zZ2lkICJDaGVycnktcGljayBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MuIgorbXNnc3RyICJuaSBoaSBoYSBjYXAgwqtjaGVycnkgcGlja8K7IG5pIGNhcCByZXZlcnNpw7MgZW4gY3VycyIKKworIzogd3Qtc3RhdHVzLmM6MTQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgogbXNnc3RyICJBY3R1YWxtZW50IGVzdGV1IGZlbnQgwqtjaGVycnkgcGlja8K7IGEgbGEgY29taXNzacOzICVzLiIKIAotIzogd3Qtc3RhdHVzLmM6MTM3MworIzogd3Qtc3RhdHVzLmM6MTQyOQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChhcnJlZ2xldSBlbHMgY29uZmxpY3RlcyBpIGV4ZWN1dGV1IFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNzYKKyM6IHd0LXN0YXR1cy5jOjE0MzIKKyMsIGZ1enp5Cittc2dpZCAiICAocnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiB0byBjb250aW51ZSkiCittc2dzdHIgIiAgKGFycmVnbGV1IGVscyBjb25mbGljdGVzIGkgZXhlY3V0ZXUgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKKworIzogd3Qtc3RhdHVzLmM6MTQzNQogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAodG90cyBlbHMgY29uZmxpY3RlcyBlc3RhbiBhcnJlZ2xhdHM6IGV4ZWN1dGV1IFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWUiCiAiXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzc4CisjOiB3dC1zdGF0dXMuYzoxNDM3CisjLCBmdXp6eQorbXNnaWQgIiAgKHVzZSBcImdpdCBjaGVycnktcGljayAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgorbXNnc3RyICIgICh1c2V1IFwiZ2l0IGFtIC0tc2tpcFwiIHBlciBhIG9tZXRyZSBhcXVlc3QgcGVkYcOnKSIKKworIzogd3Qtc3RhdHVzLmM6MTQzOQogbXNnaWQgIiAgKHVzZSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSBjaGVycnktcGljayBvcGVyYXRpb24pIgogbXNnc3RyICIiCiAiICAodXNldSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgcGVyIGEgY2FuY2VswrdsYXIgbCdvcGVyYWNpw7MgZGUgwqtjaGVycnkgIgogInBpY2vCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjEzODYKKyM6IHd0LXN0YXR1cy5jOjE0NDkKKyMsIGZ1enp5Cittc2dpZCAiUmV2ZXJ0IGN1cnJlbnRseSBpbiBwcm9ncmVzcy4iCittc2dzdHIgImF2b3J0YSBsYSBmdXNpw7MgZW4gY3VycyBhY3R1YWwiCisKKyM6IHd0LXN0YXR1cy5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIkFjdHVhbG1lbnQgZXN0ZXUgcmV2ZXJ0aW50IGxhIGNvbWlzc2nDsyAlcy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzOTEKKyM6IHd0LXN0YXR1cy5jOjE0NTgKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKGFycmVnbGV1IGVscyBjb25mbGljdGVzIGkgZXhlY3V0ZXUgXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzOTQKKyM6IHd0LXN0YXR1cy5jOjE0NjEKKyMsIGZ1enp5Cittc2dpZCAiICAocnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIgdG8gY29udGludWUpIgorbXNnc3RyICIgIChhcnJlZ2xldSBlbHMgY29uZmxpY3RlcyBpIGV4ZWN1dGV1IFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgorCisjOiB3dC1zdGF0dXMuYzoxNDY0CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAodG90cyBlbHMgY29uZmxpY3RlcyBlc3RhbiBhcnJlZ2xhdHM6IGV4ZWN1dGV1IFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzk2CisjOiB3dC1zdGF0dXMuYzoxNDY2CisjLCBmdXp6eQorbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKK21zZ3N0ciAiICAodXNldSBcImdpdCByZWJhc2UgLS1za2lwXCIgcGVyIGEgb21ldHJlIGFxdWVzdCBwZWRhw6cpIgorCisjOiB3dC1zdGF0dXMuYzoxNDY4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSByZXZlcnQgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKHVzZXUgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiBwZXIgYSBjYW5jZWzCt2xhciBsJ29wZXJhY2nDsyBkZSByZXZlcnNpw7MpIgogCi0jOiB3dC1zdGF0dXMuYzoxNDA2CisjOiB3dC1zdGF0dXMuYzoxNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAiQWN0dWFsbWVudCBlc3RldSBiaXNlY2FudCwgaGV1IGNvbWVuw6dhdCBkZXMgZGUgbGEgYnJhbmNhIMKrJXPCuy4iCiAKLSM6IHd0LXN0YXR1cy5jOjE0MTAKKyM6IHd0LXN0YXR1cy5jOjE0ODIKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcuIgogbXNnc3RyICJBY3R1YWxtZW50IGVzdGV1IGJpc2VjYW50LiIKIAotIzogd3Qtc3RhdHVzLmM6MTQxMworIzogd3Qtc3RhdHVzLmM6MTQ4NQogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAodXNldSBcImdpdCBiaXNlY3QgcmVzZXRcIiBwZXIgYSB0b3JuYXIgYSBsYSBicmFuY2Egb3JpZ2luYWwpIgogCi0jOiB3dC1zdGF0dXMuYzoxNjExCisjOiB3dC1zdGF0dXMuYzoxNjk0CiBtc2dpZCAiT24gYnJhbmNoICIKIG1zZ3N0ciAiRW4gbGEgYnJhbmNhICIKIAotIzogd3Qtc3RhdHVzLmM6MTYxOAorIzogd3Qtc3RhdHVzLmM6MTcwMQogbXNnaWQgImludGVyYWN0aXZlIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgIsKrcmViYXNlwrsgaW50ZXJhY3RpdSBlbiBjdXJzOyBzb2JyZSAiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MjAKKyM6IHd0LXN0YXR1cy5jOjE3MDMKIG1zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICLCq3JlYmFzZcK7IGVuIGN1cnM7IHNvYnJlICIKIAotIzogd3Qtc3RhdHVzLmM6MTYyNQotbXNnaWQgIkhFQUQgZGV0YWNoZWQgYXQgIgotbXNnc3RyICJIRUFEIHNlcGFyYXQgYSAiCi0KLSM6IHd0LXN0YXR1cy5jOjE2MjcKLW1zZ2lkICJIRUFEIGRldGFjaGVkIGZyb20gIgotbXNnc3RyICJIRUFEIHNlcGFyYXQgZGUgIgotCi0jOiB3dC1zdGF0dXMuYzoxNjMwCisjOiB3dC1zdGF0dXMuYzoxNzEzCiBtc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiQWN0dWFsbWVudCBubyBzJ8OpcyBlbiBjYXAgYnJhbmNhLiIKIAotIzogd3Qtc3RhdHVzLmM6MTY0NworIzogd3Qtc3RhdHVzLmM6MTczMAogbXNnaWQgIkluaXRpYWwgY29tbWl0IgogbXNnc3RyICJDb21pc3Npw7MgaW5pY2lhbCIKIAotIzogd3Qtc3RhdHVzLmM6MTY0OAorIzogd3Qtc3RhdHVzLmM6MTczMQogbXNnaWQgIk5vIGNvbW1pdHMgeWV0IgotbXNnc3RyICJObyBzJ2hhIGZldCBjYXAgY29taXNzacOzIGVuY2FyYS4iCittc2dzdHIgIk5vIHMnaGEgZmV0IGNhcCBjb21pc3Npw7MgZW5jYXJhIgogCi0jOiB3dC1zdGF0dXMuYzoxNjYyCisjOiB3dC1zdGF0dXMuYzoxNzQ1CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJGaXR4ZXJzIG5vIHNlZ3VpdHMiCiAKLSM6IHd0LXN0YXR1cy5jOjE2NjQKKyM6IHd0LXN0YXR1cy5jOjE3NDcKIG1zZ2lkICJJZ25vcmVkIGZpbGVzIgogbXNnc3RyICJGaXR4ZXJzIGlnbm9yYXRzIgogCi0jOiB3dC1zdGF0dXMuYzoxNjY4CisjOiB3dC1zdGF0dXMuYzoxNzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCkBAIC03MTExLDMxICs4ODU1LDMxIEBACiAib2JsaWRhci12b3MgZCdhZmVnaXIgZml0eGVycyBub3VzIHZvc2FsdHJlcyBtYXRlaXhvcyAodmVnZXVcbiIKICInZ2l0IGhlbHAgc3RhdHVzJykuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjc0CisjOiB3dC1zdGF0dXMuYzoxNzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkJXMiCiBtc2dzdHIgIkVscyBmaXR4ZXJzIG5vIHNlZ3VpdHMgbm8gZXN0YW4gbGxpc3RhdHMlcyIKIAotIzogd3Qtc3RhdHVzLmM6MTY3NgorIzogd3Qtc3RhdHVzLmM6MTc1OQogbXNnaWQgIiAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCiBtc2dzdHIgIiAodXNldSBsJ29wY2nDsyAtdSBwZXIgYSBtb3N0cmFyIGVscyBmaXR4ZXJzIG5vIHNlZ3VpdHMpIgogCi0jOiB3dC1zdGF0dXMuYzoxNjgyCisjOiB3dC1zdGF0dXMuYzoxNzY1CiBtc2dpZCAiTm8gY2hhbmdlcyIKIG1zZ3N0ciAiU2Vuc2UgY2FudmlzIgogCi0jOiB3dC1zdGF0dXMuYzoxNjg3CisjOiB3dC1zdGF0dXMuYzoxNzcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgXCJnaXQgYWRkXCIgYW5kL29yIFwiZ2l0IGNvbW1pdCAtYVwiKVxuIgogbXNnc3RyICIiCiAibm8gaGkgaGEgY2FudmlzIGFmZWdpdHMgYSBjb21ldHJlICh1c2V1IFwiZ2l0IGFkZFwiIG8gXCJnaXQgY29tbWl0IC1hXCIpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2OTAKKyM6IHd0LXN0YXR1cy5jOjE3NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXRcbiIKIG1zZ3N0ciAibm8gaGkgaGEgY2FudmlzIGFmZWdpdHMgYSBjb21ldHJlXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2OTMKKyM6IHd0LXN0YXR1cy5jOjE3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKQEAgLTcxNDQsMTkyICs4ODg4LDE5NyBAQAogIm5vIGhpIGhhIHJlcyBhZmVnaXQgYSBjb21ldHJlIHBlcsOyIGhpIGhhIGZpdHhlcnMgbm8gc2VndWl0cyAodXNldSBcImdpdCBhZGQiCiAiXCIgcGVyIGEgc2VndWlyLWxvcylcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTY5NgorIzogd3Qtc3RhdHVzLmM6MTc3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnRcbiIKIG1zZ3N0ciAibm8gaGkgaGEgcmVzIGFmZWdpdCBhIGNvbWV0cmUgcGVyw7IgaGkgaGEgZml0eGVycyBubyBzZWd1aXRzXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2OTkKKyM6IHd0LXN0YXR1cy5jOjE3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCiBtc2dzdHIgIiIKICJubyBoaSBoYSByZXMgYSBjb21ldHJlIChjcmVldS9jb3BpZXUgZml0eGVycyBpIHVzZXUgXCJnaXQgYWRkXCIgcGVyIGEgc2VndWlyLSIKICJsb3MpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE3MDIgd3Qtc3RhdHVzLmM6MTcwNworIzogd3Qtc3RhdHVzLmM6MTc4NSB3dC1zdGF0dXMuYzoxNzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0XG4iCiBtc2dzdHIgIm5vIGhpIGhhIHJlcyBhIGNvbWV0cmVcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTcwNQorIzogd3Qtc3RhdHVzLmM6MTc4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKVxuIgogbXNnc3RyICIiCiAibm8gaGkgaGEgcmVzIGEgY29tZXRyZSAodXNldSAtdSBwZXIgYSBtb3N0cmFyIGVscyBmaXR4ZXJzIG5vIHNlZ3VpdHMpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE3MDkKKyM6IHd0LXN0YXR1cy5jOjE3OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhblxuIgogbXNnc3RyICJubyBoaSBoYSByZXMgYSBjb21ldHJlLCBsJ2FyYnJlIGRlIHRyZWJhbGwgZXN0w6AgbmV0XG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE4MjIKKyM6IHd0LXN0YXR1cy5jOjE5MDUKIG1zZ2lkICJObyBjb21taXRzIHlldCBvbiAiCiBtc2dzdHIgIk5vIHMnaGEgZmV0IGNhcCBjb21pc3Npw7MgZW5jYXJhIGEgIgogCi0jOiB3dC1zdGF0dXMuYzoxODI2CisjOiB3dC1zdGF0dXMuYzoxOTA5CiBtc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKIG1zZ3N0ciAiSEVBRCAoc2Vuc2UgYnJhbmNhKSIKIAotIzogd3Qtc3RhdHVzLmM6MTg1NworIzogd3Qtc3RhdHVzLmM6MTk0MAogbXNnaWQgImRpZmZlcmVudCIKIG1zZ3N0ciAiZGlmZXJlbnQiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NTkgd3Qtc3RhdHVzLmM6MTg2NworIzogd3Qtc3RhdHVzLmM6MTk0MiB3dC1zdGF0dXMuYzoxOTUwCiBtc2dpZCAiYmVoaW5kICIKIG1zZ3N0ciAiZGFycmVyZSAiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NjIgd3Qtc3RhdHVzLmM6MTg2NQorIzogd3Qtc3RhdHVzLmM6MTk0NSB3dC1zdGF0dXMuYzoxOTQ4CiBtc2dpZCAiYWhlYWQgIgogbXNnc3RyICJkYXZhbnQgcGVyICIKIAogIy4gVFJBTlNMQVRPUlM6IHRoZSBhY3Rpb24gaXMgZS5nLiAicHVsbCB3aXRoIHJlYmFzZSIKLSM6IHd0LXN0YXR1cy5jOjIzNzQKKyM6IHd0LXN0YXR1cy5jOjI0NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICVzOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAibm8gZXMgcG90ICVzOiBUZW5pdSBjYW52aXMgwqt1bnN0YWdlZMK7LiIKIAotIzogd3Qtc3RhdHVzLmM6MjM4MAorIzogd3Qtc3RhdHVzLmM6MjQ3NgogbXNnaWQgImFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiYWRkaWNpb25hbG1lbnQsIGVsIHZvc3RyZSDDrW5kZXggY29udMOpIGNhbnZpcyBzZW5zZSBjb21ldHJlLiIKIAotIzogd3Qtc3RhdHVzLmM6MjM4MgorIzogd3Qtc3RhdHVzLmM6MjQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgJXM6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIm5vIGVzIHBvdCAlczogRWwgdm9zdHJlIMOtbmRleCBjb250w6kgY2FudmlzIHNlbnNlIGNvbWV0cmUuIgogCi0jOiBidWlsdGluL2FkZC5jOjI0CisjOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTggYnVpbHRpbi9jbG9uZS5jOjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZGVzZW5sbGHDp2FyIMKrJXPCuyIKKworIzogYnVpbHRpbi9hZGQuYzoyNgogbXNnaWQgImdpdCBhZGQgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgYWRkIFs8b3BjaW9ucz5dIFstLV0gPGVzcGVjaWZpY2FjacOzLWRlLWNhbcOtPi4uLiIKIAotIzogYnVpbHRpbi9hZGQuYzo4MworIzogYnVpbHRpbi9hZGQuYzo4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGRpZmYgc3RhdHVzICVjIgogbXNnc3RyICJlc3RhdCBkZSBkaWZmIGluZXNwZXJhdCAlYyIKIAotIzogYnVpbHRpbi9hZGQuYzo4OCBidWlsdGluL2NvbW1pdC5jOjI4NAorIzogYnVpbHRpbi9hZGQuYzo5MiBidWlsdGluL2NvbW1pdC5jOjI4OAogbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBhY3R1YWxpdHphciBlbHMgZml0eGVycyIKIAotIzogYnVpbHRpbi9hZGQuYzo5OAorIzogYnVpbHRpbi9hZGQuYzoxMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3ZlICclcydcbiIKIG1zZ3N0ciAiZWxpbWluYSDCqyVzwrtcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoxNzMKKyM6IGJ1aWx0aW4vYWRkLmM6MTc3CiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZWZyZXNoaW5nIHRoZSBpbmRleDoiCiBtc2dzdHIgIkNhbnZpcyDCq3Vuc3RhZ2VkwrsgZGVzcHLDqXMgZCdhY3R1YWxpdHphciBsJ8OtbmRleDoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjMzIGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODk1CisjOiBidWlsdGluL2FkZC5jOjI1MiBidWlsdGluL3Jldi1wYXJzZS5jOjg5OQogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBsbGVnaXIgbCfDrW5kZXgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQ0CisjOiBidWlsdGluL2FkZC5jOjI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciDCqyVzwrsgcGVyIGEgZXNjcmlwdHVyYS4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQ4CisjOiBidWlsdGluL2FkZC5jOjI2NwogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbCBwZWRhw6ciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjUxCisjOiBidWlsdGluL2FkZC5jOjI3MAogbXNnaWQgImVkaXRpbmcgcGF0Y2ggZmFpbGVkIgogbXNnc3RyICJsJ2VkaWNpw7MgZGVsIHBlZGHDpyBoYSBmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU0CisjOiBidWlsdGluL2FkZC5jOjI3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGZlciBzdGF0IGEgwqslc8K7IgogCi0jOiBidWlsdGluL2FkZC5jOjI1NgorIzogYnVpbHRpbi9hZGQuYzoyNzUKIG1zZ2lkICJFbXB0eSBwYXRjaC4gQWJvcnRlZC4iCiBtc2dzdHIgIkVsIHBlZGHDpyDDqXMgYnVpdC4gUydoYSBhdm9ydGF0LiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjEKKyM6IGJ1aWx0aW4vYWRkLmM6MjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAnJXMnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFwbGljYXIgwqslc8K7IgogCi0jOiBidWlsdGluL2FkZC5jOjI2OQorIzogYnVpbHRpbi9hZGQuYzoyODgKIG1zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCiBtc2dzdHIgIiIKICJFbHMgY2FtaW5zIHNlZ8O8ZW50cyBzJ2lnbm9yZW4gcGVyIHVuIGRlbHMgdm9zdHJlcyBmaXR4ZXJzIC5naXRpZ25vcmU6XG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjg5IGJ1aWx0aW4vY2xlYW4uYzo5MDcgYnVpbHRpbi9mZXRjaC5jOjEzNyBidWlsdGluL212LmM6MTIzCi0jOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU2IGJ1aWx0aW4vcHVsbC5jOjIxMyBidWlsdGluL3B1c2guYzo1NTcKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM0NSBidWlsdGluL3JtLmM6MjQwIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY1CisjOiBidWlsdGluL2FkZC5jOjMwOCBidWlsdGluL2NsZWFuLmM6OTEwIGJ1aWx0aW4vZmV0Y2guYzoxNjMgYnVpbHRpbi9tdi5jOjEyNAorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NiBidWlsdGluL3B1bGwuYzoyMjMgYnVpbHRpbi9wdXNoLmM6NTQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjEzNDQgYnVpbHRpbi9ybS5jOjI0MSBidWlsdGluL3NlbmQtcGFjay5jOjE2NQogbXNnaWQgImRyeSBydW4iCiBtc2dzdHIgIm1hcnhhIGVuIHNlYyIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTIKKyM6IGJ1aWx0aW4vYWRkLmM6MzExCiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAicmVjdWxsIGludGVyYWN0aXUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjkzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU4IGJ1aWx0aW4vcmVzZXQuYzozMDUKKyM6IGJ1aWx0aW4vYWRkLmM6MzEyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDgyIGJ1aWx0aW4vcmVzZXQuYzozMDcKIG1zZ2lkICJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAic2VsZWNjaW9uYSBlbHMgdHJvc3NvcyBpbnRlcmFjdGl2YW1lbnQiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk0CisjOiBidWlsdGluL2FkZC5jOjMxMwogbXNnaWQgImVkaXQgY3VycmVudCBkaWZmIGFuZCBhcHBseSIKIG1zZ3N0ciAiZWRpdGEgbGEgZGlmZXLDqG5jaWEgYWN0dWFsIGkgYXBsaWNhLWxhIgogCi0jOiBidWlsdGluL2FkZC5jOjI5NQorIzogYnVpbHRpbi9hZGQuYzozMTQKIG1zZ2lkICJhbGxvdyBhZGRpbmcgb3RoZXJ3aXNlIGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgInBlcm1ldCBhZmVnaXIgZml0eGVycyBxdWUgZCdhbHRyYSBtYW5lcmEgcydpZ25vcmVuIgogCi0jOiBidWlsdGluL2FkZC5jOjI5NgorIzogYnVpbHRpbi9hZGQuYzozMTUKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiYWN0dWFsaXR6YSBlbHMgZml0eGVycyBzZWd1aXRzIgogCi0jOiBidWlsdGluL2FkZC5jOjI5NworIzogYnVpbHRpbi9hZGQuYzozMTYKIG1zZ2lkICJyZW5vcm1hbGl6ZSBFT0wgb2YgdHJhY2tlZCBmaWxlcyAoaW1wbGllcyAtdSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTgKKyM6IGJ1aWx0aW4vYWRkLmM6MzE3CiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCB0aGUgcGF0aCB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICJyZWdpc3RyYSBub23DqXMgZWwgZmV0IHF1ZSBlbCBjYW3DrSBzJ2FmZWdpcsOgIG3DqXMgdGFyZCIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTkKKyM6IGJ1aWx0aW4vYWRkLmM6MzE4CiBtc2dpZCAiYWRkIGNoYW5nZXMgZnJvbSBhbGwgdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJhZmVnZWl4IGVscyBjYW52aXMgZGUgdG90cyBlbHMgZml0eGVycyBzZWd1aXRzIGkgbm8gc2VndWl0cyIKIAotIzogYnVpbHRpbi9hZGQuYzozMDIKKyM6IGJ1aWx0aW4vYWRkLmM6MzIxCiBtc2dpZCAiaWdub3JlIHBhdGhzIHJlbW92ZWQgaW4gdGhlIHdvcmtpbmcgdHJlZSAoc2FtZSBhcyAtLW5vLWFsbCkiCiBtc2dzdHIgIiIKICJpZ25vcmEgZWxzIGNhbWlucyBlbGltaW5hdHMgZW4gbCdhcmJyZSBkZSB0cmViYWxsIChlbCBtYXRlaXggcXVlIC0tbm8tYWxsKSIKIAotIzogYnVpbHRpbi9hZGQuYzozMDQKKyM6IGJ1aWx0aW4vYWRkLmM6MzIzCiBtc2dpZCAiZG9uJ3QgYWRkLCBvbmx5IHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJubyBhZmVnZWl4aXMsIG5vbcOpcyBhY3R1YWxpdHphIGwnw61uZGV4IgogCi0jOiBidWlsdGluL2FkZC5jOjMwNQorIzogYnVpbHRpbi9hZGQuYzozMjQKIG1zZ2lkICJqdXN0IHNraXAgZmlsZXMgd2hpY2ggY2Fubm90IGJlIGFkZGVkIGJlY2F1c2Ugb2YgZXJyb3JzIgogbXNnc3RyICJub23DqXMgb21ldCBlbHMgZml0eGVycyBxdWUgbm8gZXMgcG9kZW4gYWZlZ2lyIGEgY2F1c2EgZCdlcnJvcnMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA2CisjOiBidWlsdGluL2FkZC5jOjMyNQogbXNnaWQgImNoZWNrIGlmIC0gZXZlbiBtaXNzaW5nIC0gZmlsZXMgYXJlIGlnbm9yZWQgaW4gZHJ5IHJ1biIKIG1zZ3N0ciAiIgogImNvbXByb3ZldSBzaSBlbHMgZml0eGVycyAtIGZpbnMgaSB0b3QgZWxzIGFic2VudHMgLSBzJ2lnbm9yZW4gZW4gbWFyeGEgZW4gc2VjIgogCi0jOiBidWlsdGluL2FkZC5jOjMwOCBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MAorIzogYnVpbHRpbi9hZGQuYzozMjcgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA0CiBtc2dpZCAib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiCiBtc2dzdHIgInBhc3NhIHBlciBhbHQgZWwgYml0IGV4ZWN1dGFibGUgZGVscyBmaXR4ZXJzIGxsaXN0YXRzIgogCi0jOiBidWlsdGluL2FkZC5jOjMxMAorIzogYnVpbHRpbi9hZGQuYzozMjkKIG1zZ2lkICJ3YXJuIHdoZW4gYWRkaW5nIGFuIGVtYmVkZGVkIHJlcG9zaXRvcnkiCiBtc2dzdHIgImF2aXNhJ20gcXVhbiBzJ2FmZWdlaXhpIHVuIGRpcMOyc2l0IGluY3J1c3RhdCIKIAotIzogYnVpbHRpbi9hZGQuYzozMjUKKyM6IGJ1aWx0aW4vYWRkLmM6MzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UndmUgYWRkZWQgYW5vdGhlciBnaXQgcmVwb3NpdG9yeSBpbnNpZGUgeW91ciBjdXJyZW50IHJlcG9zaXRvcnkuXG4iCkBAIC03MzYwLDE1MSArOTEwOSwxNjggQEAKICJcbiIKICJWZWdldSBcImdpdCBoZWxwIHN1Ym1vZHVsZVwiIHBlciBhIG3DqXMgaW5mb3JtYWNpw7MuIgogCi0jOiBidWlsdGluL2FkZC5jOjM1MworIzogYnVpbHRpbi9hZGQuYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkaW5nIGVtYmVkZGVkIGdpdCByZXBvc2l0b3J5OiAlcyIKIG1zZ3N0ciAicydlc3TDoCBhZmVnaW50IHVuIGRpcMOyc2l0IGluY3J1c3RhdDogJXMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzcxCisjOiBidWlsdGluL2FkZC5jOjM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCB0aGVtLlxuIgogbXNnc3RyICJVc2V1IC1mIHNpIHJlYWxtZW50IGVscyB2b2xldSBhZmVnaXIuXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzc5CisjOiBidWlsdGluL2FkZC5jOjQwMAogbXNnaWQgImFkZGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgImwnYWZlZ2ltZW50IGRlIGZpdHhlcnMgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL2FkZC5jOjQxNworIzogYnVpbHRpbi9hZGQuYzo0MjggYnVpbHRpbi9jb21taXQuYzozNDgKKyMsIGZ1enp5Cittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIgorbXNnc3RyICItLWZpcnN0LXBhcmVudCDDqXMgaW5jb21wYXRpYmxlIGFtYiAtLWJpc2VjdCIKKworIzogYnVpbHRpbi9hZGQuYzo0MzQKKyMsIGZ1enp5Cittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1lZGl0IgorbXNnc3RyICItLWZpcnN0LXBhcmVudCDDqXMgaW5jb21wYXRpYmxlIGFtYiAtLWJpc2VjdCIKKworIzogYnVpbHRpbi9hZGQuYzo0NDYKIG1zZ2lkICItQSBhbmQgLXUgYXJlIG11dHVhbGx5IGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLUEgaSAtdSBzw7NuIG3DunR1YW1lbnQgaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9hZGQuYzo0MjQKKyM6IGJ1aWx0aW4vYWRkLmM6NDQ5CiBtc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKIG1zZ3N0ciAiTCdvcGNpw7MgLS1pZ25vcmUtbWlzc2luZyBub23DqXMgZXMgcG90IHVzYXIganVudGFtZW50IGFtYiAtLWRyeS1ydW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDI4CisjOiBidWlsdGluL2FkZC5jOjQ1MwogIywgYy1mb3JtYXQKIG1zZ2lkICItLWNobW9kIHBhcmFtICclcycgbXVzdCBiZSBlaXRoZXIgLXggb3IgK3giCiBtc2dzdHIgImVsIHBhcsOgbWV0cmUgLS1jaG1vZCDCqyVzwrsgaGEgZGUgc2VyIG8gLXggbyAreCIKIAotIzogYnVpbHRpbi9hZGQuYzo0NDMKKyM6IGJ1aWx0aW4vYWRkLmM6NDcxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjQ4IGJ1aWx0aW4vY29tbWl0LmM6MzU0CisjOiBidWlsdGluL3Jlc2V0LmM6MzI3CisjLCBmdXp6eQorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIHBhdGhzcGVjIGFyZ3VtZW50cyIKK21zZ3N0ciAiLS1wYXRjaCDDqXMgaW5jb21wYXRpYmxlIGFtYiAtLXtoYXJkLG1peGVkLHNvZnR9IgorCisjOiBidWlsdGluL2FkZC5jOjQ3OCBidWlsdGluL2NoZWNrb3V0LmM6MTY2MCBidWlsdGluL2NvbW1pdC5jOjM2MAorIzogYnVpbHRpbi9yZXNldC5jOjMzMworbXNnaWQgIi0tcGF0aHNwZWMtZmlsZS1udWwgcmVxdWlyZXMgLS1wYXRoc3BlYy1mcm9tLWZpbGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgIk5vIHMnaGEgZXNwZWNpZmljYXQgcmVzLCBubyBzJ2hhIGFmZWdpdCByZXMuXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDQ0CisjOiBidWlsdGluL2FkZC5jOjQ4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAiUG90c2VyIHZvbMOtZXUgZGlyIMKrZ2l0IGFkZCAuwrs/XG4iCiAKLSM6IGJ1aWx0aW4vYW0uYzozNjMKKyM6IGJ1aWx0aW4vYW0uYzozNDcKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgYXV0aG9yIHNjcmlwdCIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgbCdzY3JpcHQgZCdhdXRvciIKIAotIzogYnVpbHRpbi9hbS5jOjQ0NworIzogYnVpbHRpbi9hbS5jOjQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIHdhcyBkZWxldGVkIGJ5IHRoZSBhcHBseXBhdGNoLW1zZyBob29rIgogbXNnc3RyICJzJ2hhIHN1cHJpbWl0IMKrJXPCuyBwZWwgbGxpZ2FtIGFwcGx5cGF0Y2gtbXNnIgogCi0jOiBidWlsdGluL2FtLmM6NDg4CisjOiBidWlsdGluL2FtLmM6NDczCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKIG1zZ3N0ciAiTMOtbmlhIGQnZW50cmFkYSBtYWwgZm9ybWFkYTogwqslc8K7LiIKIAotIzogYnVpbHRpbi9hbS5jOjUyNQorIzogYnVpbHRpbi9hbS5jOjUxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjb3BpYXIgbGVzIG5vdGVzIGRlIMKrJXPCuyBhIMKrJXPCuyIKIAotIzogYnVpbHRpbi9hbS5jOjU1MQorIzogYnVpbHRpbi9hbS5jOjUzNwogbXNnaWQgImZzZWVrIGZhaWxlZCIKIG1zZ3N0ciAiZnNlZWsgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL2FtLmM6NzM5CisjOiBidWlsdGluL2FtLmM6NzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXRjaCAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBlbCBwZWRhw6cgwqslc8K7IgogCi0jOiBidWlsdGluL2FtLmM6ODA0CisjOiBidWlsdGluL2FtLmM6NzkwCiBtc2dpZCAiT25seSBvbmUgU3RHSVQgcGF0Y2ggc2VyaWVzIGNhbiBiZSBhcHBsaWVkIGF0IG9uY2UiCiBtc2dzdHIgIk5vbcOpcyB1bmEgc8OocmllIGRlIHBlZGHDp29zIFN0R0lUIGVzIHBvdCBhcGxpY2FyIGEgbGEgdmVnYWRhIgogCi0jOiBidWlsdGluL2FtLmM6ODUyCisjOiBidWlsdGluL2FtLmM6ODM4CiBtc2dpZCAiaW52YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIm1hcmNhIGRlIHRlbXBzIG5vIHbDoGxpZGEiCiAKLSM6IGJ1aWx0aW4vYW0uYzo4NTcgYnVpbHRpbi9hbS5jOjg2OQorIzogYnVpbHRpbi9hbS5jOjg0MyBidWlsdGluL2FtLmM6ODU1CiBtc2dpZCAiaW52YWxpZCBEYXRlIGxpbmUiCiBtc2dzdHIgImzDrW5pYSBEYXRlIG5vIHbDoGxpZGEiCiAKLSM6IGJ1aWx0aW4vYW0uYzo4NjQKKyM6IGJ1aWx0aW4vYW0uYzo4NTAKIG1zZ2lkICJpbnZhbGlkIHRpbWV6b25lIG9mZnNldCIKIG1zZ3N0ciAiZGVzcGxhw6dhbWVudCBkZSB6b25hIGRlIHRlbXBzIG5vIHbDoGxpZCIKIAotIzogYnVpbHRpbi9hbS5jOjk1NworIzogYnVpbHRpbi9hbS5jOjk0MwogbXNnaWQgIlBhdGNoIGZvcm1hdCBkZXRlY3Rpb24gZmFpbGVkLiIKIG1zZ3N0ciAiTGEgZGV0ZWNjacOzIGRlIGZvcm1hdCBkZSBwZWRhw6cgaGEgZmFsbGF0LiIKIAotIzogYnVpbHRpbi9hbS5jOjk2MiBidWlsdGluL2Nsb25lLmM6NDA4CisjOiBidWlsdGluL2FtLmM6OTQ4IGJ1aWx0aW4vY2xvbmUuYzo0MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjcmVhciBlbCBkaXJlY3Rvcmkgwqslc8K7IgogCi0jOiBidWlsdGluL2FtLmM6OTY3CisjOiBidWlsdGluL2FtLmM6OTUzCiBtc2dpZCAiRmFpbGVkIHRvIHNwbGl0IHBhdGNoZXMuIgogbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGRpdmlkaXIgZWxzIHBlZGHDp29zLiIKIAotIzogYnVpbHRpbi9hbS5jOjEwOTcgYnVpbHRpbi9jb21taXQuYzozNjkKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgaW5kZXggZmlsZSIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbCBmaXR4ZXIgZCfDrW5kZXgiCi0KLSM6IGJ1aWx0aW4vYW0uYzoxMTExCisjOiBidWlsdGluL2FtLmM6MTA4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiJXMgLS1jb250aW51ZVwiLiIKIG1zZ3N0ciAiUXVhbiBow6BnaXUgcmVzb2x0IGFxdWVzdCBwcm9ibGVtYSwgZXhlY3V0ZXUgXCIlcyAtLWNvbnRpbnVlXCIuIgogCi0jOiBidWlsdGluL2FtLmM6MTExMgorIzogYnVpbHRpbi9hbS5jOjEwODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcIiVzIC0tc2tpcFwiIGluc3RlYWQuIgogbXNnc3RyICIiCiAiU2kgcHJlZmVyaXUgb21ldHJlIGFxdWVzdCBwZWRhw6csIGV4ZWN1dGV1IFwiJXMgLS1za2lwXCIgZW4gbGxvYyBkJ2FpeMOyLiIKIAotIzogYnVpbHRpbi9hbS5jOjExMTMKKyM6IGJ1aWx0aW4vYW0uYzoxMDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuIFwiJXMgLS1hYm9ydFwiLiIKIG1zZ3N0ciAiIgogIlBlciBhIHJlc3RhdXJhciBsYSBicmFuY2Egb3JpZ2luYWwgaSBkZWl4YXIgZCdhcGVkYcOnYXIsIGV4ZWN1dGV1IFwiJXMgLS1hYm9ydCIKICJcIi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTk2CisjOiBidWlsdGluL2FtLmM6MTE2OQogbXNnaWQgIlBhdGNoIHNlbnQgd2l0aCBmb3JtYXQ9Zmxvd2VkOyBzcGFjZSBhdCB0aGUgZW5kIG9mIGxpbmVzIG1pZ2h0IGJlIGxvc3QuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMjI0CisjOiBidWlsdGluL2FtLmM6MTE5NwogbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiIKIG1zZ3N0ciAiRWwgcGVkYcOnIGVzdMOgIGJ1aXQuIgogCi0jOiBidWlsdGluL2FtLmM6MTI5MAorIzogYnVpbHRpbi9hbS5jOjEyNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgYXV0aG9yIGxpbmUgaW4gY29tbWl0ICVzIgorbXNnc3RyICJNYW5jYSBlbCBub20gZGUgYnJhbmNhOyBwcm92ZXUgLWIiCisKKyM6IGJ1aWx0aW4vYW0uYzoxMjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJS4qcyIKIG1zZ3N0ciAibMOtbmlhIGQnaWRlbnRpdGF0IG5vIHbDoGxpZGE6ICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMzEyCi0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgJXMiCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGxhIGNvbWlzc2nDsyAlcyIKLQotIzogYnVpbHRpbi9hbS5jOjE1MDgKKyM6IGJ1aWx0aW4vYW0uYzoxNDg0CiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyBuZWNlc3NhcnkgYmxvYnMgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAiIgogIkFsIGRpcMOyc2l0IGxpIG1hbnF1ZW4gZWxzIGJsb2JzIG5lY2Vzc2FyaXMgcGVyIGEgcmV0cm9jZWRpciBhIHVuYSBmdXNpw7MgZGUgMyAiCiAidmllcy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNTEwCisjOiBidWlsdGluL2FtLmM6MTQ4NgogbXNnaWQgIlVzaW5nIGluZGV4IGluZm8gdG8gcmVjb25zdHJ1Y3QgYSBiYXNlIHRyZWUuLi4iCiBtc2dzdHIgIlMnZXN0w6AgdXNhbnQgbGEgaW5mb3JtYWNpw7MgZCfDrW5kZXggcGVyIGEgcmVjb25zdHJ1aXIgdW4gYXJicmUgYmFzZS4uLiIKIAotIzogYnVpbHRpbi9hbS5jOjE1MjkKKyM6IGJ1aWx0aW4vYW0uYzoxNTA1CiBtc2dpZCAiIgogIkRpZCB5b3UgaGFuZCBlZGl0IHlvdXIgcGF0Y2g/XG4iCiAiSXQgZG9lcyBub3QgYXBwbHkgdG8gYmxvYnMgcmVjb3JkZWQgaW4gaXRzIGluZGV4LiIKQEAgLTc1MTIsMjkgKzkyNzgsMjQgQEAKICJIZXUgZWRpdGF0IGVsIHZvc3RyZSBwZWRhw6cgYSBtw6A/XG4iCiAiTm8gcydhcGxpY2EgYWxzIGJsb2JzIHJlY29yZGF0cyBlbiBlbCBzZXUgw61uZGV4LiIKIAotIzogYnVpbHRpbi9hbS5jOjE1MzUKKyM6IGJ1aWx0aW4vYW0uYzoxNTExCiBtc2dpZCAiRmFsbGluZyBiYWNrIHRvIHBhdGNoaW5nIGJhc2UgYW5kIDMtd2F5IG1lcmdlLi4uIgogbXNnc3RyICJTJ2VzdMOgIHJldHJvY2VkaW50IGEgYXBlZGHDp2FyIGxhIGJhc2UgaSB1bmEgZnVzacOzIGRlIDMgdmllcy4uLiIKIAotIzogYnVpbHRpbi9hbS5jOjE1NjEKKyM6IGJ1aWx0aW4vYW0uYzoxNTM3CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIGluIHRoZSBjaGFuZ2VzLiIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBmdXNpb25hciBlbHMgY2FudmlzLiIKIAotIzogYnVpbHRpbi9hbS5jOjE1OTMKKyM6IGJ1aWx0aW4vYW0uYzoxNTY5CiBtc2dpZCAiYXBwbHlpbmcgdG8gYW4gZW1wdHkgaGlzdG9yeSIKIG1zZ3N0ciAicydlc3TDoCBhcGxpY2FudCBhIHVuYSBoaXN0w7JyaWEgYnVpZGEiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjM5IGJ1aWx0aW4vYW0uYzoxNjQzCisjOiBidWlsdGluL2FtLmM6MTYxNiBidWlsdGluL2FtLmM6MTYyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzdW1lOiAlcyBkb2VzIG5vdCBleGlzdC4iCiBtc2dzdHIgIm5vIGVzIHBvdCByZXByZW5kcmU6ICVzIG5vIGV4aXN0ZWl4LiIKIAotIzogYnVpbHRpbi9hbS5jOjE2NTkKLW1zZ2lkICJjYW5ub3QgYmUgaW50ZXJhY3RpdmUgd2l0aG91dCBzdGRpbiBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4iCi1tc2dzdHIgIiIKLSJubyBlcyBwb3Qgc2VyIGludGVyYWN0aXUgc2Vuc2UgcXVlIHN0ZGluIGVzdGlndWkgY29ubmVjdGFkYSBhIHVuIHRlcm1pbmFsLiIKLQotIzogYnVpbHRpbi9hbS5jOjE2NjQKKyM6IGJ1aWx0aW4vYW0uYzoxNjM4CiBtc2dpZCAiQ29tbWl0IEJvZHkgaXM6IgogbXNnc3RyICJFbCBjb3MgZGUgbGEgY29taXNzacOzIMOpczoiCiAKQEAgLTc1NDIsMzYgKzkzMDMsNDEgQEAKICMuIGluIHlvdXIgdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaAogIy4gaW5wdXQgYXQgdGhpcyBwb2ludC4KICMuCi0jOiBidWlsdGluL2FtLmM6MTY3NAorIzogYnVpbHRpbi9hbS5jOjE2NDgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHk/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGw6ICIKIG1zZ3N0ciAiIgogIlZvbGV1IGFwbGljYXItbG8/IFt5XWVzL1tuXW8vW2VdZGl0YS9bdl1pc3VhbGl0emEgZWwgcGVkYcOnL1thXWNjZXB0YSdscyAiCiAidG90czogIgogCi0jOiBidWlsdGluL2FtLmM6MTcyNAorIzogYnVpbHRpbi9hbS5jOjE2OTUgYnVpbHRpbi9jb21taXQuYzozOTQKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgaW5kZXggZmlsZSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbCBmaXR4ZXIgZCfDrW5kZXgiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRpcnR5IGluZGV4OiBjYW5ub3QgYXBwbHkgcGF0Y2hlcyAoZGlydHk6ICVzKSIKIG1zZ3N0ciAiw41uZGV4IGJydXQ6IG5vIGVzIHBvZGVuIGFwbGljYXIgcGVkYcOnb3MgKGJydXRzOiAlcykiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzY0IGJ1aWx0aW4vYW0uYzoxODMyCisjOiBidWlsdGluL2FtLmM6MTczOSBidWlsdGluL2FtLmM6MTgwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseWluZzogJS4qcyIKIG1zZ3N0ciAiUydlc3TDoCBhcGxpY2FudDogJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE3ODEKKyM6IGJ1aWx0aW4vYW0uYzoxNzU2CiBtc2dpZCAiTm8gY2hhbmdlcyAtLSBQYXRjaCBhbHJlYWR5IGFwcGxpZWQuIgogbXNnc3RyICJTZW5zZSBjYW52aXMgLS0gRWwgcGVkYcOnIGphIHMnaGEgYXBsaWNhdC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzg3CisjOiBidWlsdGluL2FtLmM6MTc2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJQYXRjaCBmYWlsZWQgYXQgJXMgJS4qcyIKIG1zZ3N0ciAiRWwgcGVkYcOnIGhhIGZhbGxhdCBhICVzICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzkxCisjOiBidWlsdGluL2FtLmM6MTc2NgogbXNnaWQgIlVzZSAnZ2l0IGFtIC0tc2hvdy1jdXJyZW50LXBhdGNoJyB0byBzZWUgdGhlIGZhaWxlZCBwYXRjaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTgzNQorIzogYnVpbHRpbi9hbS5jOjE4MTAKIG1zZ2lkICIiCiAiTm8gY2hhbmdlcyAtIGRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/XG4iCiAiSWYgdGhlcmUgaXMgbm90aGluZyBsZWZ0IHRvIHN0YWdlLCBjaGFuY2VzIGFyZSB0aGF0IHNvbWV0aGluZyBlbHNlXG4iCkBAIC03NTgxLDcgKzkzNDcsNyBAQAogIlNpIG5vIGhpIGhhIHJlcyBwZXIgZmVyIMKrc3RhZ2XCuywgcHJvYmFibGVtZW50IGFsZ3VuYSBhbHRyYSBjb3NhIGphIGhhXG4iCiAiaW50cm9kdcOvdCBlbHMgbWF0ZWl4b3MgY2FudmlzOyBwb3RzZXIgdm9sZXUgb21ldHJlIGFxdWVzdCBwZWRhw6cuIgogCi0jOiBidWlsdGluL2FtLmM6MTg0MgorIzogYnVpbHRpbi9hbS5jOjE4MTcKIG1zZ2lkICIiCiAiWW91IHN0aWxsIGhhdmUgdW5tZXJnZWQgcGF0aHMgaW4geW91ciBpbmRleC5cbiIKICJZb3Ugc2hvdWxkICdnaXQgYWRkJyBlYWNoIGZpbGUgd2l0aCByZXNvbHZlZCBjb25mbGljdHMgdG8gbWFyayB0aGVtIGFzICIKQEAgLTc1OTQsMTcgKzkzNjAsMTcgQEAKICJQb2RldSBleGVjdXRhciBgZ2l0IHJtYCBlbiB1biBmaXR4ZXIgcGVyIGFjY2VwdGFyIFwic3VwcmltaXQgcGVyIGVsbHNcIiBwZWwgIgogImZpdHhlci4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxOTQ5IGJ1aWx0aW4vYW0uYzoxOTUzIGJ1aWx0aW4vYW0uYzoxOTY1IGJ1aWx0aW4vcmVzZXQuYzozMjgKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMzYKKyM6IGJ1aWx0aW4vYW0uYzoxOTI0IGJ1aWx0aW4vYW0uYzoxOTI4IGJ1aWx0aW4vYW0uYzoxOTQwIGJ1aWx0aW4vcmVzZXQuYzozNDYKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgbCdvYmplY3RlIMKrJXPCuy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMDAxCisjOiBidWlsdGluL2FtLmM6MTk3NgogbXNnaWQgImZhaWxlZCB0byBjbGVhbiBpbmRleCIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBuZXRlamFyIGwnw61uZGV4IgogCi0jOiBidWlsdGluL2FtLmM6MjAzNgorIzogYnVpbHRpbi9hbS5jOjIwMjAKIG1zZ2lkICIiCiAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFEIHNpbmNlIHRoZSBsYXN0ICdhbScgZmFpbHVyZS5cbiIKICJOb3QgcmV3aW5kaW5nIHRvIE9SSUdfSEVBRCIKQEAgLTc2MTIsMTQ0ICs5Mzc4LDE0NCBAQAogIlNlbWJsYSBxdWUgaGV1IG1vZ3V0IEhFQUQgZGVzcHLDqXMgZGUgbCfDumx0aW1hIGZhbGxhZGEgZGUgJ2FtJy5cbiIKICJObyBzJ2VzdMOgIHJlYm9iaW5hbnQgYSBPUklHX0hFQUQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTI5CisjOiBidWlsdGluL2FtLmM6MjExNwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAtLXBhdGNoLWZvcm1hdDogJXMiCiBtc2dzdHIgIlZhbG9yIG5vIHbDoGxpZCBwZXIgYSAtLXBhdGNoLWZvcm1hdDogJXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTY1CisjOiBidWlsdGluL2FtLmM6MjE1MwogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSBbKDxtYm94PiB8IDxNYWlsZGlyPikuLi5dIgogbXNnc3RyICJnaXQgYW0gWzxvcGNpb25zPl0gWyg8YsO6c3RpYT4gfCA8ZGlyZWN0b3JpLWRlLWNvcnJldT4pLi4uXSIKIAotIzogYnVpbHRpbi9hbS5jOjIxNjYKKyM6IGJ1aWx0aW4vYW0uYzoyMTU0CiBtc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCkiCiBtc2dzdHIgImdpdCBhbSBbPG9wY2lvbnM+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgogCi0jOiBidWlsdGluL2FtLmM6MjE3MgorIzogYnVpbHRpbi9hbS5jOjIxNjAKIG1zZ2lkICJydW4gaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAiZXhlY3V0YSBpbnRlcmFjdGl2YW1lbnQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTc0CisjOiBidWlsdGluL2FtLmM6MjE2MgogbXNnaWQgImhpc3RvcmljYWwgb3B0aW9uIC0tIG5vLW9wIgogbXNnc3RyICJvcGNpw7MgaGlzdMOycmljYSAtLSBuby1vcCIKIAotIzogYnVpbHRpbi9hbS5jOjIxNzYKKyM6IGJ1aWx0aW4vYW0uYzoyMTY0CiBtc2dpZCAiYWxsb3cgZmFsbCBiYWNrIG9uIDN3YXkgbWVyZ2luZyBpZiBuZWVkZWQiCiBtc2dzdHIgInBlcm1ldCByZXRyb2NlZGlyIGEgdW5hIGZ1c2nDsyBkZSAzIHZpZXMgc2kgw6lzIG5lY2Vzc2FyaSIKIAotIzogYnVpbHRpbi9hbS5jOjIxNzcgYnVpbHRpbi9pbml0LWRiLmM6NDg2IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTgKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA2CisjOiBidWlsdGluL2FtLmM6MjE2NSBidWlsdGluL2luaXQtZGIuYzo0OTQgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1OAorIzogYnVpbHRpbi9yZXBhY2suYzozMDQgYnVpbHRpbi9zdGFzaC5jOjgxMQogbXNnaWQgImJlIHF1aWV0IgogbXNnc3RyICJzaWxlbmNpw7NzIgogCi0jOiBidWlsdGluL2FtLmM6MjE3OQorIzogYnVpbHRpbi9hbS5jOjIxNjcKIG1zZ2lkICJhZGQgYSBTaWduZWQtb2ZmLWJ5IGxpbmUgdG8gdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJhZmVnZWl4IHVuYSBsw61uaWEgwqtTaWduZWQtb2ZmLWJ5wrsgYWwgbWlzc2F0Z2UgZGUgY29taXNzacOzIgogCi0jOiBidWlsdGluL2FtLmM6MjE4MgorIzogYnVpbHRpbi9hbS5jOjIxNzAKIG1zZ2lkICJyZWNvZGUgaW50byB1dGY4IChkZWZhdWx0KSIKIG1zZ3N0ciAicmVjb2RpZmljYSBlbiB1dGY4IChwZXIgZGVmZWN0ZSkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTg0CisjOiBidWlsdGluL2FtLmM6MjE3MgogbXNnaWQgInBhc3MgLWsgZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgInBhc3NhIGwnaW5kaWNhZG9yIC1rIGEgZ2l0LW1haWxpbmZvIgogCi0jOiBidWlsdGluL2FtLmM6MjE4NgorIzogYnVpbHRpbi9hbS5jOjIxNzQKIG1zZ2lkICJwYXNzIC1iIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICJwYXNzYSBsJ2luZGljYWRvciAtYiBhIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIxODgKKyM6IGJ1aWx0aW4vYW0uYzoyMTc2CiBtc2dpZCAicGFzcyAtbSBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAicGFzc2EgbCdpbmRpY2Fkb3IgLW0gYSBnaXQtbWFpbGluZm8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTkwCisjOiBidWlsdGluL2FtLmM6MjE3OAogbXNnaWQgInBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBmb3IgbWJveCBmb3JtYXQiCiBtc2dzdHIgInBhc3NhIGwnaW5kaWNhZG9yIC0ta2VlcC1jciBhIGdpdC1tYWlsc3BsaXQgcGVyIGFsIGZvcm1hdCBtYm94IgogCi0jOiBidWlsdGluL2FtLmM6MjE5MworIzogYnVpbHRpbi9hbS5jOjIxODEKIG1zZ2lkICJkbyBub3QgcGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGluZGVwZW5kZW50IG9mIGFtLmtlZXBjciIKIG1zZ3N0ciAiIgogIm5vIHBhc3NpcyBsJ2luZGljYWRvciAtLWtlZXAtY3IgYSBnaXQtbWFpbHNwbGl0IGluZGVwZW5kZW50IGQnYW0ua2VlcGNyIgogCi0jOiBidWlsdGluL2FtLmM6MjE5NgorIzogYnVpbHRpbi9hbS5jOjIxODQKIG1zZ2lkICJzdHJpcCBldmVyeXRoaW5nIGJlZm9yZSBhIHNjaXNzb3JzIGxpbmUiCiBtc2dzdHIgImVsaW1pbmEgdG90IGFiYW5zIGQndW5hIGzDrW5pYSBkZSB0aXNvcmVzIgogCisjOiBidWlsdGluL2FtLmM6MjE4NiBidWlsdGluL2FtLmM6MjE4OSBidWlsdGluL2FtLmM6MjE5MiBidWlsdGluL2FtLmM6MjE5NQogIzogYnVpbHRpbi9hbS5jOjIxOTggYnVpbHRpbi9hbS5jOjIyMDEgYnVpbHRpbi9hbS5jOjIyMDQgYnVpbHRpbi9hbS5jOjIyMDcKLSM6IGJ1aWx0aW4vYW0uYzoyMjEwIGJ1aWx0aW4vYW0uYzoyMjEzIGJ1aWx0aW4vYW0uYzoyMjE2IGJ1aWx0aW4vYW0uYzoyMjE5Ci0jOiBidWlsdGluL2FtLmM6MjIyNQorIzogYnVpbHRpbi9hbS5jOjIyMTMKIG1zZ2lkICJwYXNzIGl0IHRocm91Z2ggZ2l0LWFwcGx5IgogbXNnc3RyICJwYXNzYS1obyBhIHRyYXbDqXMgZGUgZ2l0LWFwcGx5IgogCi0jOiBidWlsdGluL2FtLmM6MjIxNSBidWlsdGluL2NvbW1pdC5jOjEzNDAgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzQgYnVpbHRpbi9ncmVwLmM6ODY4IGJ1aWx0aW4vbWVyZ2UuYzoyMzkKLSM6IGJ1aWx0aW4vcHVsbC5jOjE1MSBidWlsdGluL3B1bGwuYzoyMDkgYnVpbHRpbi9yZWJhc2UuYzo4MzYKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE3IGJ1aWx0aW4vcmVwYWNrLmM6MzIxIGJ1aWx0aW4vcmVwYWNrLmM6MzIzCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUxIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzEgYnVpbHRpbi90YWcuYzozODYKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNDQgcGFyc2Utb3B0aW9ucy5oOjE0NiBwYXJzZS1vcHRpb25zLmg6MjY4CisjOiBidWlsdGluL2FtLmM6MjIwMyBidWlsdGluL2NvbW1pdC5jOjEzODYgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjczCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzYgYnVpbHRpbi9ncmVwLmM6ODgzIGJ1aWx0aW4vbWVyZ2UuYzoyNDkKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2MCBidWlsdGluL3B1bGwuYzoyMTkgYnVpbHRpbi9yZWJhc2UuYzoxNDY5CisjOiBidWlsdGluL3JlcGFjay5jOjMxNSBidWlsdGluL3JlcGFjay5jOjMxOSBidWlsdGluL3JlcGFjay5jOjMyMQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MCBidWlsdGluL3Nob3ctcmVmLmM6MTcyIGJ1aWx0aW4vdGFnLmM6NDAzCisjOiBwYXJzZS1vcHRpb25zLmg6MTU0IHBhcnNlLW9wdGlvbnMuaDoxNzUgcGFyc2Utb3B0aW9ucy5oOjMxNgogbXNnaWQgIm4iCiBtc2dzdHIgIm4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjIxIGJ1aWx0aW4vYnJhbmNoLmM6NjM3IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzgKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0MyBidWlsdGluL3RhZy5jOjQyMiBidWlsdGluL3ZlcmlmeS10YWcuYzozOQorIzogYnVpbHRpbi9hbS5jOjIyMDkgYnVpbHRpbi9icmFuY2guYzo2NjEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU1IGJ1aWx0aW4vdGFnLmM6NDM3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICJmb3JtYXQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjIyCisjOiBidWlsdGluL2FtLmM6MjIxMAogbXNnaWQgImZvcm1hdCB0aGUgcGF0Y2goZXMpIGFyZSBpbiIKIG1zZ3N0ciAiZWwgZm9ybWF0IGVuIGVsIHF1YWwgZXN0YW4gZWxzIHBlZGHDp29zIgogCi0jOiBidWlsdGluL2FtLmM6MjIyOAorIzogYnVpbHRpbi9hbS5jOjIyMTYKIG1zZ2lkICJvdmVycmlkZSBlcnJvciBtZXNzYWdlIHdoZW4gcGF0Y2ggZmFpbHVyZSBvY2N1cnMiCiBtc2dzdHIgInBhc3NhIHBlciBhbHQgZWwgbWlzc2F0Z2UgZCdlcnJvciBzaSBmYWxsYSBsJ2FwbGljYWNpw7MgZGVsIHBlZGHDpyIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzAKKyM6IGJ1aWx0aW4vYW0uYzoyMjE4CiBtc2dpZCAiY29udGludWUgYXBwbHlpbmcgcGF0Y2hlcyBhZnRlciByZXNvbHZpbmcgYSBjb25mbGljdCIKIG1zZ3N0ciAic2VndWVpeCBhcGxpY2FudCBwZWRhw6dvcyBkZXNwcsOpcyBkZSByZXNvbGRyZSB1biBjb25mbGljdGUiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjMzCisjOiBidWlsdGluL2FtLmM6MjIyMQogbXNnaWQgInN5bm9ueW1zIGZvciAtLWNvbnRpbnVlIgogbXNnc3RyICJzaW7Dsm5pbXMgZGUgLS1jb250aW51ZSIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzYKKyM6IGJ1aWx0aW4vYW0uYzoyMjI0CiBtc2dpZCAic2tpcCB0aGUgY3VycmVudCBwYXRjaCIKIG1zZ3N0ciAib21ldCBlbCBwZWRhw6cgYWN0dWFsIgogCi0jOiBidWlsdGluL2FtLmM6MjIzOQorIzogYnVpbHRpbi9hbS5jOjIyMjcKIG1zZ2lkICJyZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIGFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24uIgogbXNnc3RyICJyZXN0YXVyYSBsYSBicmFuY2Egb3JpZ2luYWwgaSBhdm9ydGEgbCdvcGVyYWNpw7MgZCdhcGVkYcOnYW1lbnQuIgogCi0jOiBidWlsdGluL2FtLmM6MjI0MgorIzogYnVpbHRpbi9hbS5jOjIyMzAKIG1zZ2lkICJhYm9ydCB0aGUgcGF0Y2hpbmcgb3BlcmF0aW9uIGJ1dCBrZWVwIEhFQUQgd2hlcmUgaXQgaXMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ1CisjOiBidWlsdGluL2FtLmM6MjIzMwogbXNnaWQgInNob3cgdGhlIHBhdGNoIGJlaW5nIGFwcGxpZWQuIgogbXNnc3RyICJtb3N0cmEgZWwgcGVkYcOnIHF1ZSBzJ2VzdMOgIGFwbGljYW50LiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDkKKyM6IGJ1aWx0aW4vYW0uYzoyMjM3CiBtc2dpZCAibGllIGFib3V0IGNvbW1pdHRlciBkYXRlIgogbXNnc3RyICJtZW50ZWl4IHNvYnJlIGxhIGRhdGEgZGVsIGNvbWl0ZW50IgogCi0jOiBidWlsdGluL2FtLmM6MjI1MQorIzogYnVpbHRpbi9hbS5jOjIyMzkKIG1zZ2lkICJ1c2UgY3VycmVudCB0aW1lc3RhbXAgZm9yIGF1dGhvciBkYXRlIgogbXNnc3RyICJ1c2EgZWwgbWFyYyBkZSB0ZW1wcyBhY3R1YWwgcGVyIGxhIGRhdGEgZCdhdXRvciIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTMgYnVpbHRpbi9jb21taXQuYzoxNDgzIGJ1aWx0aW4vbWVyZ2UuYzoyNzMKLSM6IGJ1aWx0aW4vcHVsbC5jOjE4NCBidWlsdGluL3JlYmFzZS5jOjg4MCBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODMKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEzIGJ1aWx0aW4vdGFnLmM6NDAyCisjOiBidWlsdGluL2FtLmM6MjI0MSBidWlsdGluL2NvbW1pdC10cmVlLmM6MTIwIGJ1aWx0aW4vY29tbWl0LmM6MTUwNworIzogYnVpbHRpbi9tZXJnZS5jOjI4NiBidWlsdGluL3B1bGwuYzoxOTQgYnVpbHRpbi9yZWJhc2UuYzo1MDkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxMyBidWlsdGluL3JldmVydC5jOjExNyBidWlsdGluL3RhZy5jOjQxOAogbXNnaWQgImtleS1pZCIKIG1zZ3N0ciAiSUQgZGUgY2xhdSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTQgYnVpbHRpbi9yZWJhc2UuYzo4ODEgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg0CisjOiBidWlsdGluL2FtLmM6MjI0MiBidWlsdGluL3JlYmFzZS5jOjUxMCBidWlsdGluL3JlYmFzZS5jOjE1MTQKIG1zZ2lkICJHUEctc2lnbiBjb21taXRzIgogbXNnc3RyICJzaWduYSBsZXMgY29taXNzaW9ucyBhbWIgR1BHIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NworIzogYnVpbHRpbi9hbS5jOjIyNDUKIG1zZ2lkICIoaW50ZXJuYWwgdXNlIGZvciBnaXQtcmViYXNlKSIKIG1zZ3N0ciAiKMO6cyBpbnRlcm4gcGVyIGEgZ2l0LXJlYmFzZSkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjc1CisjOiBidWlsdGluL2FtLmM6MjI2MwogbXNnaWQgIiIKICJUaGUgLWIvLS1iaW5hcnkgb3B0aW9uIGhhcyBiZWVuIGEgbm8tb3AgZm9yIGxvbmcgdGltZSwgYW5kXG4iCiAiaXQgd2lsbCBiZSByZW1vdmVkLiBQbGVhc2UgZG8gbm90IHVzZSBpdCBhbnltb3JlLiIKQEAgLTc3NTcsMTggKzk1MjMsMTggQEAKICJGYSBtb2x0IHF1ZSBsJ29wY2nDsyAtYi8tLWJpbmFyeSBubyBoYSBmZXQgcmVzLCBpXG4iCiAicydlbGltaW5hcsOgLiBObyBsJ3VzZXUgbcOpcy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjgyCisjOiBidWlsdGluL2FtLmM6MjI3MAogbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsbGVnaXIgbCfDrW5kZXgiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk3CisjOiBidWlsdGluL2FtLmM6MjI4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmV2aW91cyByZWJhc2UgZGlyZWN0b3J5ICVzIHN0aWxsIGV4aXN0cyBidXQgbWJveCBnaXZlbi4iCiBtc2dzdHIgIiIKICJ1biBkaXJlY3RvcmkgZGUgwqtyZWJhc2XCuyBhbnRlcmlvciAlcyBlbmNhcmEgZXhpc3RlaXggcGVyw7IgcydoYSBkb25hdCB1bmEgIgogImLDunN0aWEuIgogCi0jOiBidWlsdGluL2FtLmM6MjMyMQorIzogYnVpbHRpbi9hbS5jOjIzMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN0cmF5ICVzIGRpcmVjdG9yeSBmb3VuZC5cbiIKQEAgLTc3NzcsMTAgKzk1NDMsMTQgQEAKICJTJ2hhIHRyb2JhdCB1biBkaXJlY3RvcmkgJXMgZXh0cmF2aWF0LlxuIgogIlVzZXUgXCJnaXQgYW0gLS1hYm9ydFwiIHBlciBhIGVsaW1pbmFyLWxvLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMjcKKyM6IGJ1aWx0aW4vYW0uYzoyMzE1CiBtc2dpZCAiUmVzb2x2ZSBvcGVyYXRpb24gbm90IGluIHByb2dyZXNzLCB3ZSBhcmUgbm90IHJlc3VtaW5nLiIKIG1zZ3N0ciAiVW5hIG9wZXJhY2nDsyBkZSByZXNvbHVjacOzIG5vIGVzdMOgIGVuIGN1cnM7IG5vIHJlcHJlbmVtLiIKIAorIzogYnVpbHRpbi9hbS5jOjIzMjUKK21zZ2lkICJpbnRlcmFjdGl2ZSBtb2RlIHJlcXVpcmVzIHBhdGNoZXMgb24gdGhlIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGluL2FwcGx5LmM6OAogbXNnaWQgImdpdCBhcHBseSBbPG9wdGlvbnM+XSBbPHBhdGNoPi4uLl0iCiBtc2dzdHIgImdpdCBhcHBseSBbPG9wY2lvbnM+XSBbPHBlZGHDpz4uLi5dIgpAQCAtNzc5OCw4NiArOTU2OCwzMTAgQEAKIG1zZ2lkICJnaXQgYXJjaGl2ZTogUmVtb3RlIHdpdGggbm8gVVJMIgogbXNnc3RyICJnaXQgYXJjaGl2ZTogUmVtb3Qgc2Vuc2UgVVJMIgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo1OAorIzogYnVpbHRpbi9hcmNoaXZlLmM6NjEKIG1zZ2lkICJnaXQgYXJjaGl2ZTogZXhwZWN0ZWQgQUNLL05BSywgZ290IGEgZmx1c2ggcGFja2V0IgogbXNnc3RyICJnaXQgYXJjaGl2ZTogcydlc3BlcmF2YSBBQ0svTkFLLCBzJ2hhIHJlYnV0IHVuIHBhcXVldCBkZSBuZXRlamEiCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjYxCisjOiBidWlsdGluL2FyY2hpdmUuYzo2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXJjaGl2ZTogTkFDSyAlcyIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmU6ICVzIE5BQ0siCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY0CisjOiBidWlsdGluL2FyY2hpdmUuYzo2NQogbXNnaWQgImdpdCBhcmNoaXZlOiBwcm90b2NvbCBlcnJvciIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmU6IGVycm9yIGRlIHByb3RvY29sIgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2OAorIzogYnVpbHRpbi9hcmNoaXZlLmM6NjkKIG1zZ2lkICJnaXQgYXJjaGl2ZTogZXhwZWN0ZWQgYSBmbHVzaCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmU6IHMnZXNwZXJhdmEgdW5hIG5ldGVqYSIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjIKIG1zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1uZXh0LWFsbCBbLS1uby1jaGVja291dF0iCiBtc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLW5leHQtYWxsIFstLW5vLWNoZWNrb3V0XSIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEzCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjMKIG1zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS13cml0ZS10ZXJtcyA8YmFkX3Rlcm0+IDxnb29kX3Rlcm0+IgogbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS13cml0ZS10ZXJtcyA8bWFsX3Rlcm1lPiA8Ym9uX3Rlcm1lPiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE0CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjQKIG1zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2xlYW4tc3RhdGUiCiBtc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1jbGVhbi1zdGF0ZSIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjQ2CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjUKKyMsIGZ1enp5Cittc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXJlc2V0IFs8Y29tbWl0Pl0iCittc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1jbGVhbi1zdGF0ZSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtd3JpdGUgWy0tbm8tbG9nXSA8c3RhdGU+IDxyZXZpc2lvbj4gPGdvb2RfdGVybT4gIgorIjxiYWRfdGVybT4iCittc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLXdyaXRlLXRlcm1zIDxtYWxfdGVybWU+IDxib25fdGVybWU+IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjcKKyMsIGZ1enp5Cittc2dpZCAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1jaGVjay1hbmQtc2V0LXRlcm1zIDxjb21tYW5kPiA8Z29vZF90ZXJtPiAiCisiPGJhZF90ZXJtPiIKK21zZ3N0ciAiZ2l0IGJpc2VjdC0taGVscGVyIC0td3JpdGUtdGVybXMgPG1hbF90ZXJtZT4gPGJvbl90ZXJtZT4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyOAorIywgZnV6enkKK21zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtbmV4dC1jaGVjayA8Z29vZF90ZXJtPiA8YmFkX3Rlcm0+IFs8dGVybT5dIgorbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS13cml0ZS10ZXJtcyA8bWFsX3Rlcm1lPiA8Ym9uX3Rlcm1lPiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtdGVybXMgWy0tdGVybS1nb29kIHwgLS10ZXJtLW9sZCB8IC0tdGVybS1iYWQgfCAtLSIKKyJ0ZXJtLW5ld10iCittc2dzdHIgIiIKKyJwYXLDoG1ldHJlIG5vIHbDoGxpZCAkYXJnIHBlciBhICdnaXQgYmlzZWN0IHRlcm1zJy5cbiIKKyJMZXMgb3BjaW9ucyBhZG1lc2VzIHPDs246IC0tdGVybS1nb29kfC0tdGVybS1vbGQgaSAtLXRlcm0tYmFkfC0tdGVybS1uZXcuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzAKK21zZ2lkICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXN0YXJ0IFstLXRlcm0te29sZCxnb29kfT08dGVybT4gLS10ZXJtLXtuZXcsYmFkfSIKKyI9PHRlcm0+XVstLW5vLWNoZWNrb3V0XSBbPGJhZD4gWzxnb29kPi4uLl1dIFstLV0gWzxwYXRocz4uLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo4NgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRlcm0iCiBtc2dzdHIgIsKrJXPCuyBubyDDqXMgdW4gdGVybWUgdsOgbGlkIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTAKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW4ndCB1c2UgdGhlIGJ1aWx0aW4gY29tbWFuZCAnJXMnIGFzIGEgdGVybSIKIG1zZ3N0ciAibm8gZXMgcG90IHVzYXIgbCdvcmRyZSBpbnRlcm5hIMKrJXPCuyBjb20gYSB0ZXJtZSIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYwCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgdGVybSAnJXMnIgogbXNnc3RyICJubyBlcyBwb3QgY2FudmlhciBlbCBzaWduaWZpY2F0IGRlbCB0ZXJtZSDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo3MQorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjExMQogbXNnaWQgInBsZWFzZSB1c2UgdHdvIGRpZmZlcmVudCB0ZXJtcyIKIG1zZ3N0ciAidXNldSBkb3MgdGVybWVzIGRpc3RpbnRlcyIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjc4CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTE4CiBtc2dpZCAiY291bGQgbm90IG9wZW4gdGhlIGZpbGUgQklTRUNUX1RFUk1TIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyIGVsIEJJU0VDVF9URVJNUyIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyMAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV2UgYXJlIG5vdCBiaXNlY3RpbmcuXG4iCittc2dzdHIgIk5vIGVzdGVtIGJpc2VjYW50LiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCBjb21taXQiCittc2dzdHIgIsKrJXPCuyBubyDDqXMgdW4gdGVybWUgdsOgbGlkIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiY291bGQgbm90IGNoZWNrIG91dCBvcmlnaW5hbCBIRUFEICclcycuIFRyeSAnZ2l0IGJpc2VjdCByZXNldCA8Y29tbWl0PicuIgorbXNnc3RyICIiCisiTm8gcydoYSBwb2d1dCBhZ2FmYXIgbGEgSEVBRCBvcmlnaW5hbCAnJGJyYW5jaCcuXG4iCisiUHJvdmV1ICdnaXQgYmlzZWN0IHJlc2V0IDxjb21pc3Npw7M+Jy4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJhZCBiaXNlY3Rfd3JpdGUgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJQYXLDoG1ldHJlIGJpc2VjdF93cml0ZSBpbmNvcnJlY3RlOiAkc3RhdGUiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGdldCB0aGUgb2lkIG9mIHRoZSByZXYgJyVzJyIKK21zZ3N0ciAibm8gZXMgcG90IGNhbnZpYXIgZWwgc2lnbmlmaWNhdCBkZWwgdGVybWUgwqslc8K7IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBvcGVuIHRoZSBmaWxlICclcyciCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgZWwgZml0eGVyIMKrJXPCuyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjb21tYW5kOiB5b3UncmUgY3VycmVudGx5IGluIGEgJXMvJXMgYmlzZWN0IgorbXNnc3RyICIiCisiT3JkcmUgbm8gdsOgbGlkYTogYWN0dWFsbWVudCBlc3RldSBlbiB1bmEgYmlzZWNjacOzICRURVJNX0JBRC8kVEVSTV9HT09ELiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICVzIGFuZCAlcyByZXZpc2lvbi5cbiIKKyJZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJXNcIiBhbmQgXCJnaXQgYmlzZWN0ICVzXCIgZm9yIHRoYXQuIgorbXNnc3RyICIiCisiQ2FsIGRvbmFyLW1lIGFsbWVueXMgdW5hIHJldmlzacOzICRiYWRfc3luIGkgdW5hICRnb29kX3N5bi5cbiIKKyIoUG9kZXUgdXNhciBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiBpIFwiZ2l0IGJpc2VjdCAkZ29vZF9zeW5cIiBwZXIgYWl4w7IuKSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBuZWVkIHRvIHN0YXJ0IGJ5IFwiZ2l0IGJpc2VjdCBzdGFydFwiLlxuIgorIllvdSB0aGVuIG5lZWQgdG8gZ2l2ZSBtZSBhdCBsZWFzdCBvbmUgJXMgYW5kICVzIHJldmlzaW9uLlxuIgorIllvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCAlc1wiIGFuZCBcImdpdCBiaXNlY3QgJXNcIiBmb3IgdGhhdC4iCittc2dzdHIgIiIKKyJDYWwgY29tZW7Dp2FyIGFtYiBcImdpdCBiaXNlY3Qgc3RhcnRcIi5cbiIKKyJEZXNwcsOpcyBjYWwgZG9uYXItbWUgYWxtZW55cyB1bmEgcmV2aXNpw7MgJGdvb2Rfc3luIGkgdW5hICRiYWRfc3luLlxuIgorIihQb2RldSB1c2FyIFwiZ2l0IGJpc2VjdCAkYmFkX3N5blwiIGkgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiIHBlciBhaXjDsi4pIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiaXNlY3Rpbmcgb25seSB3aXRoIGEgJXMgY29tbWl0IgorbXNnc3RyICJBZHZlcnTDqG5jaWE6IGJpc2VjYW50IGFtYiBub23DqXMgY29taXNzacOzICRURVJNX0JBRC4iCisKKyMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbWV0gYW5kIFtuXSBpbiB5b3VyCisjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CisjLiBhdCB0aGlzIHBvaW50LgorIy4KKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozMzAKK21zZ2lkICJBcmUgeW91IHN1cmUgW1kvbl0/ICIKK21zZ3N0ciAiTidlc3RldSBzZWd1ciBbWS9uXT8gIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Mzc3Cittc2dpZCAibm8gdGVybXMgZGVmaW5lZCIKK21zZ3N0ciAiY2FwIHRlcm1lIGRlZmluaXQiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdXIgY3VycmVudCB0ZXJtcyBhcmUgJXMgZm9yIHRoZSBvbGQgc3RhdGVcbiIKKyJhbmQgJXMgZm9yIHRoZSBuZXcgc3RhdGUuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjM5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorImludmFsaWQgYXJndW1lbnQgJXMgZm9yICdnaXQgYmlzZWN0IHRlcm1zJy5cbiIKKyJTdXBwb3J0ZWQgb3B0aW9ucyBhcmU6IC0tdGVybS1nb29kfC0tdGVybS1vbGQgYW5kIC0tdGVybS1iYWR8LS10ZXJtLW5ldy4iCittc2dzdHIgIiIKKyJwYXLDoG1ldHJlIG5vIHbDoGxpZCAkYXJnIHBlciBhICdnaXQgYmlzZWN0IHRlcm1zJy5cbiIKKyJMZXMgb3BjaW9ucyBhZG1lc2VzIHPDs246IC0tdGVybS1nb29kfC0tdGVybS1vbGQgaSAtLXRlcm0tYmFkfC0tdGVybS1uZXcuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uOiAnJXMnIgorbXNnc3RyICJwb3NpY2nDsyBubyByZWNvbmVndWRhOiVzIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICInJXMnIGRvZXMgbm90IGFwcGVhciB0byBiZSBhIHZhbGlkIHJldmlzaW9uIgorbXNnc3RyICInJGFyZycgbm8gc2VtYmxhIHVuYSByZXZpc2nDsyB2w6BsaWRhIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTEyCisjLCBmdXp6eQorbXNnaWQgImJhZCBIRUFEIC0gSSBuZWVkIGEgSEVBRCIKK21zZ3N0ciAiSEVBRCBpbmNvcnJlY3RlIC0gQ2FsIHVuIEhFQUQiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoZWNraW5nIG91dCAnJXMnIGZhaWxlZC4gVHJ5ICdnaXQgYmlzZWN0IHN0YXJ0IDx2YWxpZC1icmFuY2g+Jy4iCittc2dzdHIgIiIKKyJMJ2FnYWZhbWVudCBkZSAnJHN0YXJ0X2hlYWQnIGhhIGZhbGxhdC4gUHJvdmV1ICdnaXQgYmlzZWN0IHJlc2V0IDxicmFuY2EtIgorInbDoGxpZGE+Jy4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1NDgKK21zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgorbXNnc3RyICJubyBlcyBiaXNlY2Fyw6AgZW4gdW4gYXJicmUgZW4gZWwgcXVhbCBzJ2hhIGZldCBjZy1zZWVrIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTUxCisjLCBmdXp6eQorbXNnaWQgImJhZCBIRUFEIC0gc3RyYW5nZSBzeW1ib2xpYyByZWYiCittc2dzdHIgIkhFQUQgaW5jb3JyZWN0ZSAtIHJlZmVyw6huY2lhIHNpbWLDsmxpY2EgZXN0cmFueWEiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVmOiAnJXMnIgorbXNnc3RyICJmaXR4ZXIgbm8gdsOgbGlkOiDCqyVzwrsiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2MzEKIG1zZ2lkICJwZXJmb3JtICdnaXQgYmlzZWN0IG5leHQnIgogbXNnc3RyICJyZWFsaXR6YSAnZ2l0IGJpc2VjdCBuZXh0JyIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyMgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzMwogbXNnaWQgIndyaXRlIHRoZSB0ZXJtcyB0byAuZ2l0L0JJU0VDVF9URVJNUyIKIG1zZ3N0ciAiZXNjcml1IGVscyB0ZXJtZXMgYSAuZ2l0L0JJU0VDVF9URVJNUyIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyNAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzNQogbXNnaWQgImNsZWFudXAgdGhlIGJpc2VjdGlvbiBzdGF0ZSIKIG1zZ3N0ciAibmV0ZWphIGwnZXN0YXQgZGUgbGEgYmlzZWNjacOzIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTI2CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM3CiBtc2dpZCAiY2hlY2sgZm9yIGV4cGVjdGVkIHJldnMiCiBtc2dzdHIgImNvbXByb3ZhIGxlcyByZXZpc2lvbnMgZXNwZXJhZGVzIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTI4CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM5CisjLCBmdXp6eQorbXNnaWQgInJlc2V0IHRoZSBiaXNlY3Rpb24gc3RhdGUiCittc2dzdHIgIm5ldGVqYSBsJ2VzdGF0IGRlIGxhIGJpc2VjY2nDsyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0MQorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBvdXQgdGhlIGJpc2VjdGlvbiBzdGF0ZSBpbiBCSVNFQ1RfTE9HIgorbXNnc3RyICJuZXRlamEgbCdlc3RhdCBkZSBsYSBiaXNlY2Npw7MiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDMKKyMsIGZ1enp5Cittc2dpZCAiY2hlY2sgYW5kIHNldCB0ZXJtcyBpbiBhIGJpc2VjdGlvbiBzdGF0ZSIKK21zZ3N0ciAibmV0ZWphIGwnZXN0YXQgZGUgbGEgYmlzZWNjacOzIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQ1Cittc2dpZCAiY2hlY2sgd2hldGhlciBiYWQgb3IgZ29vZCB0ZXJtcyBleGlzdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQ3CisjLCBmdXp6eQorbXNnaWQgInByaW50IG91dCB0aGUgYmlzZWN0IHRlcm1zIgorbXNnc3RyICJpbXByaW1laXggbm9tw6lzIGxlcyBldGlxdWV0ZXMgZGUgbCdvYmplY3RlIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQ5Cittc2dpZCAic3RhcnQgdGhlIGJpc2VjdCBzZXNzaW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NTEKIG1zZ2lkICJ1cGRhdGUgQklTRUNUX0hFQUQgaW5zdGVhZCBvZiBjaGVja2luZyBvdXQgdGhlIGN1cnJlbnQgY29tbWl0IgogbXNnc3RyICJhY3R1YWxpdHphIEJJU0VDVF9IRUFEIGVuIGxsb2MgZCdhZ2FmYXIgbGEgY29taXNzacOzIGFjdHVhbCIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE0MworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY1MworbXNnaWQgIm5vIGxvZyBmb3IgQklTRUNUX1dSSVRFIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NzAKIG1zZ2lkICItLXdyaXRlLXRlcm1zIHJlcXVpcmVzIHR3byBhcmd1bWVudHMiCiBtc2dzdHIgIi0td3JpdGUtdGVybXMgcmVxdWVyZWl4IGRvcyBwYXLDoG1ldHJlcyIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE0NworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY3NAogbXNnaWQgIi0tYmlzZWN0LWNsZWFuLXN0YXRlIHJlcXVpcmVzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiLS1iaXNlY3QtY2xlYW4tc3RhdGUgbm8gYWNjZXB0YSBwYXLDoG1ldHJlcyIKIAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY4MQorIywgZnV6enkKK21zZ2lkICItLWJpc2VjdC1yZXNldCByZXF1aXJlcyBlaXRoZXIgbm8gYXJndW1lbnQgb3IgYSBjb21taXQiCittc2dzdHIgIi0tYmlzZWN0LWNsZWFuLXN0YXRlIG5vIGFjY2VwdGEgcGFyw6BtZXRyZXMiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2ODUKKyMsIGZ1enp5Cittc2dpZCAiLS1iaXNlY3Qtd3JpdGUgcmVxdWlyZXMgZWl0aGVyIDQgb3IgNSBhcmd1bWVudHMiCittc2dzdHIgIi0tYmlzZWN0LWNsZWFuLXN0YXRlIG5vIGFjY2VwdGEgcGFyw6BtZXRyZXMiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2OTEKKyMsIGZ1enp5Cittc2dpZCAiLS1jaGVjay1hbmQtc2V0LXRlcm1zIHJlcXVpcmVzIDMgYXJndW1lbnRzIgorbXNnc3RyICItLWJpc2VjdC1jbGVhbi1zdGF0ZSBubyBhY2NlcHRhIHBhcsOgbWV0cmVzIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Njk3CisjLCBmdXp6eQorbXNnaWQgIi0tYmlzZWN0LW5leHQtY2hlY2sgcmVxdWlyZXMgMiBvciAzIGFyZ3VtZW50cyIKK21zZ3N0ciAiLS1iaXNlY3QtY2xlYW4tc3RhdGUgbm8gYWNjZXB0YSBwYXLDoG1ldHJlcyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjcwMworIywgZnV6enkKK21zZ2lkICItLWJpc2VjdC10ZXJtcyByZXF1aXJlcyAwIG9yIDEgYXJndW1lbnQiCittc2dzdHIgIi0td3JpdGUtdGVybXMgcmVxdWVyZWl4IGRvcyBwYXLDoG1ldHJlcyIKKwogIzogYnVpbHRpbi9ibGFtZS5jOjMxCiBtc2dpZCAiZ2l0IGJsYW1lIFs8b3B0aW9ucz5dIFs8cmV2LW9wdHM+XSBbPHJldj5dIFstLV0gPGZpbGU+IgogbXNnc3RyICJnaXQgYmxhbWUgWzxvcGNpb25zPl0gWzxvcGNpb25zLWRlLXJldmlzacOzPl0gWzxyZXZpc2nDsz5dIFstLV0gZml0eGVyIgpAQCAtNzg4NiwxNDAgKzk4ODAsMTU1IEBACiBtc2dpZCAiPHJldi1vcHRzPiBhcmUgZG9jdW1lbnRlZCBpbiBnaXQtcmV2LWxpc3QoMSkiCiBtc2dzdHIgImVzIGRvY3VtZW50ZW4gbGVzIDxvcGNpb25zLWRlLXJldmlzacOzPiBlbiBnaXQtcmV2LWxpc3QoMSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo0MDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo0MDkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGluZyBhIGNvbG9yOiAlcyIKIG1zZ3N0ciAicmVzcGVjdGEgZWxzIGNvbG9ycyBkZWwgZm9ybWF0IgogCi0jOiBidWlsdGluL2JsYW1lLmM6NDEzCisjOiBidWlsdGluL2JsYW1lLmM6NDE2CiBtc2dpZCAibXVzdCBlbmQgd2l0aCBhIGNvbG9yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3MDAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo3MjkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29sb3IgJyVzJyBpbiBjb2xvci5ibGFtZS5yZXBlYXRlZExpbmVzIgogbXNnc3RyICJpZ25vcmEgZWwgY29sb3Igbm8gdsOgbGlkIMKrJS4qc8K7IGVuIGxvZy5ncmFwaENvbG9ycyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjcxOAorIzogYnVpbHRpbi9ibGFtZS5jOjc0NwogIywgZnV6enkKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciBibGFtZS5jb2xvcmluZyIKIG1zZ3N0ciAidmFsb3Igbm8gdsOgbGlkIHBlciBhIC0tbWlzc2luZyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5MworIzogYnVpbHRpbi9ibGFtZS5jOjgyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgcmV2aXNpb24gJXMgdG8gaWdub3JlIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJlc29sZHJlIGxhIHJldmlzacOzOiAlcyIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg0NAogbXNnaWQgIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiCiBtc2dzdHIgIk1vc3RyYSBsZXMgZW50cmFkZXMgwqtibGFtZcK7IG1lbnRyZSBsZXMgdHJvYmVtLCBpbmNyZW1lbnRhbG1lbnQiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDUKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAiTW9zdHJhIHVuIFNIQS0xIGVuIGJsYW5jIHBlciBsZXMgY29taXNzaW9ucyBkZSBmcm9udGVyYSAoUGVyIGRlZmVjdGU6ICIKICJkZXNhY3RpdmF0KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5NQorIzogYnVpbHRpbi9ibGFtZS5jOjg0NgogbXNnaWQgIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogIk5vIHRyYWN0aXMgbGVzIGNvbWlzc2lvbnMgZCdhcnJlbCBjb20gYSBsw61taXRzIChQZXIgZGVmZWN0ZTogZGVzYWN0aXZhdCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDcKIG1zZ2lkICJTaG93IHdvcmsgY29zdCBzdGF0aXN0aWNzIgogbXNnc3RyICJNb3N0cmEgbGVzIGVzdGFkw61zdGlxdWVzIGRlIHByZXUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5NworIzogYnVpbHRpbi9ibGFtZS5jOjg0OAogbXNnaWQgIkZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiRm9yw6dhIGwnaW5mb3JtZSBkZSBwcm9ncsOpcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5OAorIzogYnVpbHRpbi9ibGFtZS5jOjg0OQogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICJNb3N0cmEgbGEgcHVudHVhY2nDsyBkZSBzb3J0aWRhIGRlIGxlcyBlbnRyYWRlcyDCq2JsYW1lwrsiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTAKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGZpbGVuYW1lIChEZWZhdWx0OiBhdXRvKSIKIG1zZ3N0ciAiTW9zdHJhIGVsIG5vbSBkZSBmaXR4ZXIgb3JpZ2luYWwgKFBlciBkZWZlY3RlOiBhdXRvbcOgdGljKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwMAorIzogYnVpbHRpbi9ibGFtZS5jOjg1MQogbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiTW9zdHJhIGVsIG7Dum1lcm8gZGUgbMOtbmlhIG9yaWdpbmFsIChQZXIgZGVmZWN0ZTogZGVzYWN0aXZhdCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTIKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICJQcmVzZW50YSBlbiB1biBmb3JtYXQgZGlzc2VueWF0IHBlciBjb25zdW1wY2nDsyBwZXIgbcOgcXVpbmEiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDIKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTMKIG1zZ2lkICJTaG93IHBvcmNlbGFpbiBmb3JtYXQgd2l0aCBwZXItbGluZSBjb21taXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgIk1vc3RyYSBlbCBmb3JtYXQgZGUgcG9yY2VsbGFuYSBhbWIgaW5mb3JtYWNpw7MgZGUgY29taXNzacOzIHBlciBsw61uaWEiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTQKIG1zZ2lkICJVc2UgdGhlIHNhbWUgb3V0cHV0IG1vZGUgYXMgZ2l0LWFubm90YXRlIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAiVXNhIGVsIG1hdGVpeCBtb2RlIGRlIHNvcnRpZGEgcXVlIGdpdC1hbm5vdGF0ZSAoUGVyIGRlZmVjdGU6IGRlc2FjdGl2YXQpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA0CisjOiBidWlsdGluL2JsYW1lLmM6ODU1CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJNb3N0cmEgbGEgbWFyY2EgZGUgdGVtcHMgY3J1YSAoUGVyIGRlZmVjdGU6IGRlc2FjdGl2YXQpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA1CisjOiBidWlsdGluL2JsYW1lLmM6ODU2CiBtc2dpZCAiU2hvdyBsb25nIGNvbW1pdCBTSEExIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJNb3N0cmEgbCdTSEExIGRlIGNvbWlzc2nDsyBsbGFyZyAoUGVyIGRlZmVjdGU6IGRlc2FjdGl2YXQpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA2CisjOiBidWlsdGluL2JsYW1lLmM6ODU3CiBtc2dpZCAiU3VwcHJlc3MgYXV0aG9yIG5hbWUgYW5kIHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiT21ldCBlbCBub20gZCdhdXRvciBpIGxhIG1hcmNhIGRlIHRlbXBzIChQZXIgZGVmZWN0ZTogZGVzYWN0aXZhdCkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTgKIG1zZ2lkICJTaG93IGF1dGhvciBlbWFpbCBpbnN0ZWFkIG9mIG5hbWUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKICJNb3N0cmEgbCdhZHJlw6dhIGVsZWN0csOybmljYSBkZSBsJ2F1dG9yIGVuIGxsb2MgZGVsIG5vbSAoUGVyIGRlZmVjdGU6ICIKICJkZXNhY3RpdmF0KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwOAorIzogYnVpbHRpbi9ibGFtZS5jOjg1OQogbXNnaWQgIklnbm9yZSB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzIgogbXNnc3RyICJJZ25vcmEgbGVzIGRpZmVyw6huY2llcyBkJ2VzcGFpIGVuIGJsYW5jIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA5CisjOiBidWlsdGluL2JsYW1lLmM6ODYwIGJ1aWx0aW4vbG9nLmM6MTcwMgorbXNnaWQgInJldiIKK21zZ3N0ciAicmV2IgorCisjOiBidWlsdGluL2JsYW1lLmM6ODYwCisjLCBmdXp6eQorbXNnaWQgIklnbm9yZSA8cmV2PiB3aGVuIGJsYW1pbmciCittc2dzdHIgImlnbm9yYSBsJ8OtbmRleCBlbiBjb21wcm92YXIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjEKKyMsIGZ1enp5Cittc2dpZCAiSWdub3JlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiIKK21zZ3N0ciAibGxlZ2l1IGVsIG1pc3NhdGdlIGRlcyBkJ3VuIGZpdHhlciIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg2MgogbXNnaWQgImNvbG9yIHJlZHVuZGFudCBtZXRhZGF0YSBmcm9tIHByZXZpb3VzIGxpbmUgZGlmZmVyZW50bHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgxMAorIzogYnVpbHRpbi9ibGFtZS5jOjg2MwogbXNnaWQgImNvbG9yIGxpbmVzIGJ5IGFnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODE3Ci1tc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKLW1zZ3N0ciAiVXNhIHVuIGhldXLDrXN0aWMgZXhwZXJpbWVudGFsIHBlciBhIG1pbGxvcmFyIGxlcyBkaWZlcsOobmNpZXMiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MTkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjQKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgIkdhc3RhIGNpY2xlcyBleHRyZXMgcGVyIGEgdHJvYmFyIHVuYSBjb2luY2lkw6huY2lhIG1pbGxvciIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyMAorIzogYnVpbHRpbi9ibGFtZS5jOjg2NQogbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKIG1zZ3N0ciAiVXNhIGxlcyByZXZpc2lvbnMgZGUgPGZpdHhlcj4gZW4gbGxvYyBkJ2ludm9jYXIgZ2l0LXJldi1saXN0IgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODIxCisjOiBidWlsdGluL2JsYW1lLmM6ODY2CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAiVXNhIGVscyBjb250aW5ndXRzIGRlIDxmaXR4ZXI+IGNvbSBhIGxhIGltYXRnZSBmaW5hbCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyMiBidWlsdGluL2JsYW1lLmM6ODIzCisjOiBidWlsdGluL2JsYW1lLmM6ODY3IGJ1aWx0aW4vYmxhbWUuYzo4NjgKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAicHVudHVhY2nDsyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyMgorIzogYnVpbHRpbi9ibGFtZS5jOjg2NwogbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIlRyb2JhIGPDsnBpZXMgZGUgbMOtbmlhIGRpbnMgaSBhIHRyYXbDqXMgZGVscyBmaXR4ZXJzIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODIzCisjOiBidWlsdGluL2JsYW1lLmM6ODY4CiBtc2dpZCAiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiVHJvYmEgbW92aW1lbnRzIGRlIGzDrW5pYSBkaW5zIGkgYSB0cmF2w6lzIGRlbHMgZml0eGVycyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyNAorIzogYnVpbHRpbi9ibGFtZS5jOjg2OQogbXNnaWQgIm4sbSIKIG1zZ3N0ciAibixtIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODI0CisjOiBidWlsdGluL2JsYW1lLmM6ODY5CiBtc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIlByb2Nlc3NhIG5vbcOpcyBlbCByYW5nIGRlIGzDrW5pZXMgbixtLCBjb21wdGFudCBkZXMgZCcxIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODczCisjOiBidWlsdGluL2JsYW1lLmM6OTIxCiBtc2dpZCAiLS1wcm9ncmVzcyBjYW4ndCBiZSB1c2VkIHdpdGggLS1pbmNyZW1lbnRhbCBvciBwb3JjZWxhaW4gZm9ybWF0cyIKIG1zZ3N0ciAiIgogIm5vIGVzIHBvdCB1c2FyIC0tcHJvZ3Jlc3MgYW1iIGVscyBmb3JtYXRzIC0taW5jcmVtZW50YWwgbyBkZSBwb3JjZWxsYW5hIgpAQCAtODAzMiwxOCArMTAwNDEsMTggQEAKICMuIHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvciBmZXdlciBkaXNwbGF5CiAjLiBjb2x1bW5zLgogIy4KLSM6IGJ1aWx0aW4vYmxhbWUuYzo5MjQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo5NzIKIG1zZ2lkICI0IHllYXJzLCAxMSBtb250aHMgYWdvIgogbXNnc3RyICJmYSA0IGFueXMgaSAxMSBtZXNvcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjEwMTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoxMDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmUiCiBtc2dpZF9wbHVyYWwgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmVzIgogbXNnc3RyWzBdICJlbCBmaXR4ZXIgJXMgdMOpIG5vbcOpcyAlbHUgbMOtbmlhIgogbXNnc3RyWzFdICJlbCBmaXR4ZXIgJXMgdMOpIG5vbcOpcyAlbHUgbMOtbmllcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjEwNTcKKyM6IGJ1aWx0aW4vYmxhbWUuYzoxMTI1CiBtc2dpZCAiQmxhbWluZyBsaW5lcyIKIG1zZ3N0ciAiUydlc3TDoCBmZW50IHVuIMKrYmxhbWXCuyIKIApAQCAtODA3NSw3ICsxMDA4NCw3IEBACiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tZm9ybWF0XSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPG9wY2lvbnM+XSBbLXIgfCAtYV0gWy0tZm9ybWF0XSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGhhcyBiZWVuIG1lcmdlZCB0b1xuIgpAQCAtODA4NSw3ICsxMDA5NCw3IEBACiAiICAgICAgICAgZnVzaW9uYXQgYSDCqyVzwrssIHBlcsOyIGVuY2FyYSBub1xuIgogIiAgICAgICAgIHMnaGEgZnVzaW9uYXQgYSBIRUFELiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBpcyBub3QgeWV0IG1lcmdlZCB0b1xuIgpAQCAtODA5NSwxMiArMTAxMDQsMTIgQEAKICIgICAgICAgICBzJ2hhIGZ1c2lvbmF0IGEgwqslc8K7LCBlbmNhcmEgcXVlIGVzdMOgXG4iCiAiICAgICAgICAgZnVzaW9uYWRhIGEgSEVBRC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTY5CisjOiBidWlsdGluL2JyYW5jaC5jOjE3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yICclcyciCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgdHJvYmFyIGwnb2JqZWN0ZSBkZSBjb21pc3Npw7MgZGUgwqslc8K7IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE3MworIzogYnVpbHRpbi9icmFuY2guYzoxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBicmFuY2ggJyVzJyBpcyBub3QgZnVsbHkgbWVyZ2VkLlxuIgpAQCAtODEwOSwxMTYgKzEwMTE4LDEyNiBAQAogIkxhIGJyYW5jYSDCqyVzwrsgbm8gZXN0w6AgdG90YWxtZW50IGZ1c2lvbmFkYS5cbiIKICJTaSBlc3RldSBzZWd1ciBxdWUgbGEgdm9sZXUgc3VwcmltaXIsIGV4ZWN1dGV1ICdnaXQgYnJhbmNoIC1EICVzJy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTg2CisjOiBidWlsdGluL2JyYW5jaC5jOjE4OQogbXNnaWQgIlVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIkwnYWN0dWFsaXR6YWNpw7MgZGVsIGZpdHhlciBkZSBjb25maWd1cmFjacOzIGhhIGZhbGxhdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjIwCiBtc2dpZCAiY2Fubm90IHVzZSAtYSB3aXRoIC1kIgogbXNnc3RyICJubyBlcyBwb3QgdXNhciAtYSBhbWIgLWQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjIzCisjOiBidWlsdGluL2JyYW5jaC5jOjIyNgogbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgSEVBRCIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCB0cm9iYXIgbCdvYmplY3RlIGRlIGNvbWlzc2nDsyBkZSBIRUFEIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIzNworIzogYnVpbHRpbi9icmFuY2guYzoyNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBicmFuY2ggJyVzJyBjaGVja2VkIG91dCBhdCAnJXMnIgogbXNnc3RyICJObyBlcyBwb3Qgc3VwcmltaXIgbGEgYnJhbmNhIMKrJXPCuyBhZ2FmYWRhIGEgwqslc8K7IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI1MgorIzogYnVpbHRpbi9icmFuY2guYzoyNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIG5vdCBmb3VuZC4iCiBtc2dzdHIgIm5vIHMnaGEgdHJvYmF0IGxhIGJyYW5jYSBhbWIgc2VndWltZW50IHJlbW90IMKrJXPCuy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjUzCisjOiBidWlsdGluL2JyYW5jaC5jOjI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICJubyBzJ2hhIHRyb2JhdCBsYSBicmFuY2Egwqslc8K7LiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIGRlbGV0aW5nIHJlbW90ZS10cmFja2luZyBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiRXJyb3IgZW4gc3VwcmltaXIgbGEgYnJhbmNhIGFtYiBzZWd1aW1lbnQgcmVtb3Qgwqslc8K7IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI2OQorIzogYnVpbHRpbi9icmFuY2guYzoyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgYnJhbmNoICclcyciCiBtc2dzdHIgIkVycm9yIGVuIHN1cHJpbWlyIGxhIGJyYW5jYSDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mjc2CisjOiBidWlsdGluL2JyYW5jaC5jOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHJlbW90ZS10cmFja2luZyBicmFuY2ggJXMgKHdhcyAlcykuXG4iCiBtc2dzdHIgIlMnaGEgc3VwcmltaXQgbGEgYnJhbmNhIGFtYiBzZWd1aW1lbnQgcmVtb3QgJXMgKGVyYSAlcykuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mjc3CisjOiBidWlsdGluL2JyYW5jaC5jOjI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAiUydoYSBzdXByaW1pdCBsYSBicmFuY2EgJXMgKGVyYSAlcykuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDIxIGJ1aWx0aW4vdGFnLmM6NTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDI5IGJ1aWx0aW4vdGFnLmM6NjEKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgZm9ybWF0IHN0cmluZyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgbGEgY2FkZW5hIGRlIGZvcm1hdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDYwCisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVzb2xkcmUgbGEgY29taXNzacOzIEhFQUQiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJIRUFEICglcykgcG9pbnRzIG91dHNpZGUgb2YgcmVmcy9oZWFkcy8iCittc2dzdHIgIkhFQUQgbm8gdHJvYmF0IHNvdGEgcmVmcy9oZWFkcyEiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyByZWJhc2VkIGF0ICVzIgogbXNnc3RyICJTJ2VzdMOgIGZlbnQgwqtyZWJhc2XCuyBlbiBsYSBicmFuY2EgJXMgYSAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyBiaXNlY3RlZCBhdCAlcyIKIG1zZ3N0ciAiTGEgYnJhbmNhICVzIHMnZXN0w6AgYmlzZWNhbnQgYSAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTAyCiBtc2dpZCAiY2Fubm90IGNvcHkgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgogbXNnc3RyICJubyBlcyBwb3QgY29waWFyIGJyYW5jYSBhY3R1YWwgbWVudHJlIG5vIHMnw6lzIGEgY2FwLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0ODEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTA0CiBtc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgIm5vIGVzIHBvdCBjYW52aWFyIGVsIG5vbSBkZSBsYSBicmFuY2EgYWN0dWFsIG1lbnRyZSBubyBzJ8OpcyBhIGNhcC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDkyCisjOiBidWlsdGluL2JyYW5jaC5jOjUxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGJyYW5jaCBuYW1lOiAnJXMnIgogbXNnc3RyICJOb20gZGUgYnJhbmNhIG5vIHbDoGxpZDogwqslc8K7IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUxOQorIzogYnVpbHRpbi9icmFuY2guYzo1NDIKIG1zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKIG1zZ3N0ciAiRWwgY2FudmkgZGUgbm9tIGRlIGJyYW5jYSBoYSBmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTIxCisjOiBidWlsdGluL2JyYW5jaC5jOjU0NAogbXNnaWQgIkJyYW5jaCBjb3B5IGZhaWxlZCIKIG1zZ3N0ciAiTGEgY8OycGlhIGRlIGxhIGJyYW5jYSBoYSBmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTI1CisjOiBidWlsdGluL2JyYW5jaC5jOjU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGEgY29weSBvZiBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIgogbXNnc3RyICJTJ2hhIGNyZWF0IHVuYSBjw7JwaWEgZCd1bmEgYnJhbmNhIG1hbCBhbm9tZW5hZGEgwqslc8K7IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUyOAorIzogYnVpbHRpbi9icmFuY2guYzo1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1lZCBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIGF3YXkiCiBtc2dzdHIgIlMnaGEgY2FudmlhdCBlbCBub20gZGUgbGEgYnJhbmNhIG1hbCBhbm9tZW5hZGEgwqslc8K7IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUzNAorIzogYnVpbHRpbi9icmFuY2guYzo1NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoIHJlbmFtZWQgdG8gJXMsIGJ1dCBIRUFEIGlzIG5vdCB1cGRhdGVkISIKIG1zZ3N0ciAiUydoYSBjYW52aWF0IGVsIG5vbSBkZSBsYSBicmFuY2EgYSAlcywgcGVyw7IgSEVBRCBubyBlc3TDoCBhY3R1YWxpdHphdCEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQzCisjOiBidWlsdGluL2JyYW5jaC5jOjU2NgogbXNnaWQgIkJyYW5jaCBpcyByZW5hbWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAiIgogIkxhIGJyYW5jYSBlc3TDoCBjYW52aWFkYSBkZSBub20sIHBlcsOyIGwnYWN0dWFsaXR6YWNpw7MgZGVsIGZpdHhlciBkZSAiCiAiY29uZmlndXJhY2nDsyBoYSBmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQ1CisjOiBidWlsdGluL2JyYW5jaC5jOjU2OAogbXNnaWQgIkJyYW5jaCBpcyBjb3BpZWQsIGJ1dCB1cGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICIiCiAiTGEgYnJhbmNhIGVzdMOgIGNvcGlhZGEsIHBlcsOyIGwnYWN0dWFsaXR6YWNpw7MgZGVsIGZpdHhlciBkZSBjb25maWd1cmFjacOzIGhhICIKICJmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYxCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoXG4iCkBAIC04MjI3LDIyNCArMTAyNDYsMjIzIEBACiBtc2dzdHIgIiIKICJFZGl0ZXUgbGEgZGVzY3JpcGNpw7MgZGUgbGEgYnJhbmNhXG4iCiAiICAlc1xuIgotIlMnZWxpbWluYXJhbiBsZXMgbMOtbmllcyBxdWUgY29tZW5jaW4gYW1iICclYycuXG4iCisiUydlbGltaW5hcmFuIGxlcyBsw61uaWVzIHF1ZSBjb21lbmNpbiBhbWIgwqslY8K7LlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NAorIzogYnVpbHRpbi9icmFuY2guYzo2MTgKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCiBtc2dzdHIgIk9wY2lvbnMgZ2Vuw6hyaXF1ZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk2CisjOiBidWlsdGluL2JyYW5jaC5jOjYyMAogbXNnaWQgInNob3cgaGFzaCBhbmQgc3ViamVjdCwgZ2l2ZSB0d2ljZSBmb3IgdXBzdHJlYW0gYnJhbmNoIgogbXNnc3RyICJtb3N0cmEgZWwgaGFzaCBpIGwnYXNzdW1wdGUsIGRvbmV1IGR1ZXMgdmVnYWRlcyBwZXIgbGEgYnJhbmNhIGZvbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk3CisjOiBidWlsdGluL2JyYW5jaC5jOjYyMQogbXNnaWQgInN1cHByZXNzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMiCiBtc2dzdHIgIm9tZXQgZWxzIG1pc3NhdGdlcyBpbmZvcm1hdGl1cyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIyCiBtc2dpZCAic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtcHVsbCgxKSkiCiBtc2dzdHIgImNvbmZpZ3VyYSBlbCBtb2RlIGRlIHNlZ3VpbWVudCAodmVnZXUgZ2l0LXB1bGwoMSkpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwMAorIzogYnVpbHRpbi9icmFuY2guYzo2MjQKIG1zZ2lkICJkbyBub3QgdXNlIgogbXNnc3RyICJubyB1c2FyIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwMiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI2IGJ1aWx0aW4vcmViYXNlLmM6NTA1CiBtc2dpZCAidXBzdHJlYW0iCiBtc2dzdHIgImZvbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAyCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNgogbXNnaWQgImNoYW5nZSB0aGUgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAiY2FudmlhIGxhIGluZm9ybWFjacOzIGRlIGZvbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAzCi1tc2dpZCAiVW5zZXQgdGhlIHVwc3RyZWFtIGluZm8iCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNworIywgZnV6enkKK21zZ2lkICJ1bnNldCB0aGUgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAiRGVzYXNzaWduYSBsYSBpbmZvcm1hY2nDsyBkZSBmb250IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwNAorIzogYnVpbHRpbi9icmFuY2guYzo2MjgKIG1zZ2lkICJ1c2UgY29sb3JlZCBvdXRwdXQiCiBtc2dzdHIgInVzYSBzb3J0aWRhIGNvbG9yYWRhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwNQorIzogYnVpbHRpbi9icmFuY2guYzo2MjkKIG1zZ2lkICJhY3Qgb24gcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICJhY3R1YSBlbiBicmFucXVlcyBhbWIgc2VndWltZW50IHJlbW90IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwNyBidWlsdGluL2JyYW5jaC5jOjYwOQorIzogYnVpbHRpbi9icmFuY2guYzo2MzEgYnVpbHRpbi9icmFuY2guYzo2MzMKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJpbXByaW1laXggbm9tw6lzIGxlcyBicmFucXVlcyBxdWUgY29udGluZ3VpbiBsYSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjA4IGJ1aWx0aW4vYnJhbmNoLmM6NjEwCisjOiBidWlsdGluL2JyYW5jaC5jOjYzMiBidWlsdGluL2JyYW5jaC5jOjYzNAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgImltcHJpbWVpeCBub23DqXMgbGVzIGJyYW5xdWVzIHF1ZSBubyBjb250aW5ndWluIGxhIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM3CiBtc2dpZCAiU3BlY2lmaWMgZ2l0LWJyYW5jaCBhY3Rpb25zOiIKIG1zZ3N0ciAiQWNjaW9ucyBkZSBnaXQtYnJhbmNoIGVzcGVjw61maXF1ZXM6IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxNAorIzogYnVpbHRpbi9icmFuY2guYzo2MzgKIG1zZ2lkICJsaXN0IGJvdGggcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAibGxpc3RhIGxlcyBicmFucXVlcyBhbWIgc2VndWltZW50IHJlbW90IGkgbGVzIGxvY2FscyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQwCiBtc2dpZCAiZGVsZXRlIGZ1bGx5IG1lcmdlZCBicmFuY2giCiBtc2dzdHIgInN1cHJpbWVpeCBsYSBicmFuY2Egc2kgZXN0w6AgY29tcGxldGFtZW50IGZ1c2lvbmFkYSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQxCiBtc2dpZCAiZGVsZXRlIGJyYW5jaCAoZXZlbiBpZiBub3QgbWVyZ2VkKSIKIG1zZ3N0ciAic3VwcmltZWl4IGxhIGJyYW5jYSAoZW5jYXJhIHF1ZSBubyBlc3RpZ3VpIGZ1c2lvbmFkYSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE4CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MgogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIgogbXNnc3RyICJtb3UvY2FudmlhIGRlIG5vbSB1bmEgYnJhbmNhIGkgZWwgc2V1IHJlZ2lzdHJlIGRlIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxOQorIzogYnVpbHRpbi9icmFuY2guYzo2NDMKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICJtb3UvY2FudmlhIGRlIG5vbSB1bmEgYnJhbmNhLCBlbmNhcmEgcXVlIGVsIGRlc3TDrSBleGlzdGVpeGkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIwCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NAogbXNnaWQgImNvcHkgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCiBtc2dzdHIgImNvcGlhIHVuYSBicmFuY2EgaSBlbCBzZXUgcmVnaXN0cmUgZGUgcmVmZXLDqG5jaWEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIxCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NQogbXNnaWQgImNvcHkgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAiY29waWEgdW5hIGJyYW5jYSwgZW5jYXJhIHF1ZSBlbCBkZXN0w60gZXhpc3RlaXhpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMgorIzogYnVpbHRpbi9icmFuY2guYzo2NDYKIG1zZ2lkICJsaXN0IGJyYW5jaCBuYW1lcyIKIG1zZ3N0ciAibGxpc3RhIGVscyBub21zIGRlIGJyYW5jYSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ3CisjLCBmdXp6eQorbXNnaWQgInNob3cgY3VycmVudCBicmFuY2ggbmFtZSIKK21zZ3N0ciAiTm8gaGkgaGEgY2FwIGJyYW5jYSBhY3R1YWwuIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY0OAogbXNnaWQgImNyZWF0ZSB0aGUgYnJhbmNoJ3MgcmVmbG9nIgogbXNnc3RyICJjcmVhIGVsIHJlZ2lzdHJlIGRlIHJlZmVyw6huY2lhIGRlIGxhIGJyYW5jYSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUwCiBtc2dpZCAiZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2giCiBtc2dzdHIgImVkaXRhIGxhIGRlc2NyaXBjacOzIGRlIGxhIGJyYW5jYSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUxCiBtc2dpZCAiZm9yY2UgY3JlYXRpb24sIG1vdmUvcmVuYW1lLCBkZWxldGlvbiIKIG1zZ3N0ciAiZm9yw6dhIGNyZWFjacOzLCBtb3ZpbWVudC9jYW52aSBkZSBub20sIHN1cHJlc3Npw7MiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI3CisjOiBidWlsdGluL2JyYW5jaC5jOjY1MgogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBhcmUgbWVyZ2VkIgogbXNnc3RyICJpbXByaW1laXggbm9tw6lzIGxlcyBicmFucXVlcyBxdWUgcydoYW4gZnVzaW9uYXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI4CisjOiBidWlsdGluL2JyYW5jaC5jOjY1MwogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAiaW1wcmltZWl4IG5vbcOpcyBsZXMgYnJhbnF1ZXMgcXVlIG5vIHMnaGFuIGZ1c2lvbmF0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyOQorIzogYnVpbHRpbi9icmFuY2guYzo2NTQKIG1zZ2lkICJsaXN0IGJyYW5jaGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgImxsaXN0YSBsZXMgYnJhbnF1ZXMgZW4gY29sdW1uZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDAgYnVpbHRpbi9scy1yZW1vdGUuYzo3MAotIzogYnVpbHRpbi90YWcuYzo0MTUKLW1zZ2lkICJrZXkiCi1tc2dzdHIgImNsYXUiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMxIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDEgYnVpbHRpbi9scy1yZW1vdGUuYzo3MQotIzogYnVpbHRpbi90YWcuYzo0MTYKLW1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCi1tc2dzdHIgIm5vbSBkZWwgY2FtcCBlbiBlbCBxdWFsIG9yZGVuYXIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMzIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDMgYnVpbHRpbi9ub3Rlcy5jOjQxNQotIzogYnVpbHRpbi9ub3Rlcy5jOjQxOCBidWlsdGluL25vdGVzLmM6NTc4IGJ1aWx0aW4vbm90ZXMuYzo1ODEKLSM6IGJ1aWx0aW4vdGFnLmM6NDE4CisjOiBidWlsdGluL2JyYW5jaC5jOjY1NyBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQyIGJ1aWx0aW4vbm90ZXMuYzo0MTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTggYnVpbHRpbi9ub3Rlcy5jOjU4MSBidWlsdGluL25vdGVzLmM6NTg0CisjOiBidWlsdGluL3RhZy5jOjQzMwogbXNnaWQgIm9iamVjdCIKIG1zZ3N0ciAib2JqZWN0ZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU4CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICJpbXByaW1laXggbm9tw6lzIGxlcyBicmFucXVlcyBkZSBsJ29iamVjdGUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM2IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDkgYnVpbHRpbi90YWcuYzo0MjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDggYnVpbHRpbi90YWcuYzo0NDAKIG1zZ2lkICJzb3J0aW5nIGFuZCBmaWx0ZXJpbmcgYXJlIGNhc2UgaW5zZW5zaXRpdmUiCiBtc2dzdHIgImwnb3JkZW5hY2nDsyBpIGVsIGZpbHRyYXRnZSBkaXN0aW5nZWl4ZW4gZW50cmUgbWFqw7pzY3VsZXMgaSBtaW7DunNjdWxlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzcgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOCBidWlsdGluL3RhZy5jOjQyMwotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYxIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzggYnVpbHRpbi90YWcuYzo0MzgKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CiBtc2dpZCAiZm9ybWF0IHRvIHVzZSBmb3IgdGhlIG91dHB1dCIKIG1zZ3N0ciAiZm9ybWF0IGEgdXNhciBlbiBsYSBzb3J0aWRhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2MCBidWlsdGluL2Nsb25lLmM6NzM5CisjOiBidWlsdGluL2JyYW5jaC5jOjY4NCBidWlsdGluL2Nsb25lLmM6Nzg0CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIkhFQUQgbm8gdHJvYmF0IHNvdGEgcmVmcy9oZWFkcyEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjgzCisjOiBidWlsdGluL2JyYW5jaC5jOjcwOAogbXNnaWQgIi0tY29sdW1uIGFuZCAtLXZlcmJvc2UgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4gaSAtLXZlcmJvc2Ugc8OzbiBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY5OCBidWlsdGluL2JyYW5jaC5jOjc0OSBidWlsdGluL2JyYW5jaC5jOjc1OAorIzogYnVpbHRpbi9icmFuY2guYzo3MjMgYnVpbHRpbi9icmFuY2guYzo3NzcgYnVpbHRpbi9icmFuY2guYzo3ODYKIG1zZ2lkICJicmFuY2ggbmFtZSByZXF1aXJlZCIKIG1zZ3N0ciAiY2FsIGVsIG5vbSBkZSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzI1CisjOiBidWlsdGluL2JyYW5jaC5jOjc1MwogbXNnaWQgIkNhbm5vdCBnaXZlIGRlc2NyaXB0aW9uIHRvIGRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIk5vIGVzIHBvdCBkb25hciBkZXNjcmlwY2nDsyBhIHVuIEhFQUQgc2VwYXJhdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzU4CiBtc2dpZCAiY2Fubm90IGVkaXQgZGVzY3JpcHRpb24gb2YgbW9yZSB0aGFuIG9uZSBicmFuY2giCiBtc2dzdHIgIm5vIGVzIHBvdCBlZGl0YXIgbGEgZGVzY3JpcGNpw7MgZGUgbcOpcyBkJ3VuYSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzM3CisjOiBidWlsdGluL2JyYW5jaC5jOjc2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBjb21taXQgb24gYnJhbmNoICclcycgeWV0LiIKIG1zZ3N0ciAiRW5jYXJhIG5vIGhpIGhhIGNhcCBjb21pc3Npw7MgZW4gbGEgYnJhbmNhIMKrJXPCuy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQwCisjOiBidWlsdGluL2JyYW5jaC5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBicmFuY2ggbmFtZWQgJyVzJy4iCiBtc2dzdHIgIk5vIGhpIGhhIGNhcCBicmFuY2EgYW1iIG5vbSDCqyVzwrsuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc1NQorIzogYnVpbHRpbi9icmFuY2guYzo3ODMKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyBmb3IgYSBjb3B5IG9wZXJhdGlvbiIKIG1zZ3N0ciAiaGkgaGEgbWFzc2EgYnJhbnF1ZXMgcGVyIGEgdW5hIG9wZXJhY2nDsyBkZSBjw7JwaWEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY0CisjOiBidWlsdGluL2JyYW5jaC5jOjc5MgogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyBmb3IgYSByZW5hbWUgb3BlcmF0aW9uIgogbXNnc3RyICJoaSBoYSBtYXNzYSBhcmd1bWVudHMgcGVyIGEgdW5hIG9wZXJhY2nDsyByZW1vdGEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY5CisjOiBidWlsdGluL2JyYW5jaC5jOjc5NwogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyB0byBzZXQgbmV3IHVwc3RyZWFtIgogbXNnc3RyICJoaSBoYSBtYXNzYSBhcmd1bWVudHMgcGVyIGEgZXN0YWJsaXIgdW5hIG5vdmEgZm9udCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NzMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjb3VsZCBub3Qgc2V0IHVwc3RyZWFtIG9mIEhFQUQgdG8gJXMgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiIgogIm5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgbGEgZm9udCBkZSBIRUFEIGNvbSBhICVzIHF1YW4gbm8gYXNzZW55YWxhIGNhcCBicmFuY2EuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc3NiBidWlsdGluL2JyYW5jaC5jOjc5OAorIzogYnVpbHRpbi9icmFuY2guYzo4MDQgYnVpbHRpbi9icmFuY2guYzo4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2ggJyVzJyIKLW1zZ3N0ciAibm8gaGkgaGEgdGFsIGJyYW5jYSDCqyVzwrsiCittc2dzdHIgIm5vIGV4aXN0ZWl4IGxhIGJyYW5jYSDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzgwCisjOiBidWlsdGluL2JyYW5jaC5jOjgwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAibGEgYnJhbmNhIMKrJXPCuyBubyBleGlzdGVpeCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIxCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIHRvIHVuc2V0IHVwc3RyZWFtIgogbXNnc3RyICJoaSBoYSBtYXNzYSBhcmd1bWVudHMgcGVyIGEgZGVzYXNzaWduYXIgbGEgZm9udCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI1CiBtc2dpZCAiY291bGQgbm90IHVuc2V0IHVwc3RyZWFtIG9mIEhFQUQgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiIgogIm5vIHMnaGEgcG9ndXQgZGVzYXNzaWduYXIgbGEgZm9udCBkZSBIRUFEIHBlcnF1w6ggbm8gYXNzZW55YWxhIGNhcCBicmFuY2EuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwMgorIzogYnVpbHRpbi9icmFuY2guYzo4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgaGFzIG5vIHVwc3RyZWFtIGluZm9ybWF0aW9uIgogbXNnc3RyICJMYSBicmFuY2Egwqslc8K7IG5vIHTDqSBpbmZvcm1hY2nDsyBkZSBmb250IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgxMgotbXNnaWQgIi1hIGFuZCAtciBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgbWFrZSBzZW5zZSB3aXRoIGEgYnJhbmNoIG5hbWUiCisjOiBidWlsdGluL2JyYW5jaC5jOjg0MQorIywgZnV6enkKK21zZ2lkICIiCisiVGhlIC1hLCBhbmQgLXIsIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCB0YWtlIGEgYnJhbmNoIG5hbWUuXG4iCisiRGlkIHlvdSBtZWFuIHRvIHVzZTogLWF8LXIgLS1saXN0IDxwYXR0ZXJuPj8iCiBtc2dzdHIgIiIKICJsZXMgb3BjaW9ucyAtYSBpIC1yIGEgJ2dpdCBicmFuY2gnIG5vIHRlbmVuIHNlbnRpdCBhbWIgdW4gbm9tIGRlIGJyYW5jYSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ1CiBtc2dpZCAiIgogInRoZSAnLS1zZXQtdXBzdHJlYW0nIG9wdGlvbiBpcyBubyBsb25nZXIgc3VwcG9ydGVkLiBQbGVhc2UgdXNlICctLXRyYWNrJyBvciAiCiAiJy0tc2V0LXVwc3RyZWFtLXRvJyBpbnN0ZWFkLiIKQEAgLTg0NTIsMjAgKzEwNDcwLDY4IEBACiAiTCdvcGNpw7MgLS1zZXQtdXBzdHJlYW0gamEgbm8gZXN0w6Agc3Vwb3J0YWRhLiBVc2V1IGVuIGNvbXB0ZXMgLS10cmFjayBvIC0tc2V0LSIKICJ1cHN0cmVhbS10by4iCiAKLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NDUKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTUgYnVpbHRpbi9idW5kbGUuYzoyMworIywgZnV6enkKK21zZ2lkICJnaXQgYnVuZGxlIGNyZWF0ZSBbPG9wdGlvbnM+XSA8ZmlsZT4gPGdpdC1yZXYtbGlzdCBhcmdzPiIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBhZGQgWzxvcGNpb25zPl0gPG5vbT4gPHVybD4iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTYgYnVpbHRpbi9idW5kbGUuYzoyOAorIywgZnV6enkKK21zZ2lkICJnaXQgYnVuZGxlIHZlcmlmeSBbPG9wdGlvbnM+XSA8ZmlsZT4iCittc2dzdHIgImdpdCBybSBbPG9wY2lvbnM+XSBbLS1dIDxmaXR4ZXI+Li4uIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjE3IGJ1aWx0aW4vYnVuZGxlLmM6MzMKK21zZ2lkICJnaXQgYnVuZGxlIGxpc3QtaGVhZHMgPGZpbGU+IFs8cmVmbmFtZT4uLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTggYnVpbHRpbi9idW5kbGUuYzozOAorbXNnaWQgImdpdCBidW5kbGUgdW5idW5kbGUgPGZpbGU+IFs8cmVmbmFtZT4uLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NjYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjI4Cittc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCittc2dzdHIgIm5vIG1vc3RyaXMgbCdpbmRpY2Fkb3IgZGUgcHJvZ3LDqXMiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NjggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjMwCittc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKK21zZ3N0ciAibW9zdHJhIGwnaW5kaWNhZG9yIGRlIHByb2dyw6lzIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjcwIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzMgorbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgorbXNnc3RyICJtb3N0cmEgbCdpbmRpY2Fkb3IgZGUgcHJvZ3LDqXMgZHVyYW50IGxhIGZhc2UgZCdlc2NyaXB0dXJhIGQnb2JqZWN0ZXMiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NzMgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM1Cittc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgorbXNnc3RyICJzaW1pbGFyIGEgLS1hbGwtcHJvZ3Jlc3MgcXVhbiBsJ2luZGljYWRvciBkZSBwcm9ncsOpcyBlcyBtb3N0cmEiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6OTMKK21zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byBjcmVhdGUgYSBidW5kbGUuIgorbXNnc3RyICJDYWwgdW4gZGlww7JzaXQgcGVyIGEgZmVyIHVuIGZhcmNlbGwuIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjEwNAorIywgZnV6enkKK21zZ2lkICJkbyBub3Qgc2hvdyBidW5kbGUgZGV0YWlscyIKK21zZ3N0ciAibm8gbW9zdHJpcyBsZXMgZXRpcXVldGVzIHBlbGFkZXMiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG9rYXlcbiIKIG1zZ3N0ciAiJXMgZXN0w6AgYsOpXG4iCiAKLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NTgKLW1zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byBjcmVhdGUgYSBidW5kbGUuIgotbXNnc3RyICJDYWwgdW4gZGlww7JzaXQgcGVyIGEgZmVyIHVuIGZhcmNlbGwuIgotCi0jOiBidWlsdGluL2J1bmRsZS5jOjYyCisjOiBidWlsdGluL2J1bmRsZS5jOjE2MAogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAiQ2FsIHVuIGRpcMOyc2l0IHBlciBhIGRlc2ZlciB1biBmYXJjZWxsLiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU4NworIzogYnVpbHRpbi9idW5kbGUuYzoxNjggYnVpbHRpbi9yZW1vdGUuYzoxNjA5Cittc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKK21zZ3N0ciAic2lndWVzIGRldGFsbGF0OyBzJ2hhIGRlIGNvbMK3bG9jYXIgYWJhbnMgZCd1biBzdWJvcmRyZSIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzoxNjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCittc2dzdHIgIlN1Ym9yZHJlIGRlc2NvbmVndWRhOiAlcyIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU5NQogbXNnaWQgIiIKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCA8dHlwZT4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxwYXRoPl0gPG9iamVjdD4iCkBAIC04NDczLDcgKzEwNTM5LDcgQEAKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCA8dGlwdXM+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycyBbLS1wYXRoPTxjYW3DrT5dKSA8b2JqZWN0ZT4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1ODgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1OTYKIG1zZ2lkICIiCiAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgogImZpbHRlcnNdIgpAQCAtODQ4MSwxMzYgKzEwNTQ3LDEzNiBAQAogImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKICJmaWx0ZXJzXSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYwOQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYxNwogIywgZnV6enkKIG1zZ2lkICJvbmx5IG9uZSBiYXRjaCBvcHRpb24gbWF5IGJlIHNwZWNpZmllZCIKIG1zZ3N0ciAiQ2FwIG5vbSBkZSBicmFuY2EgZXNwZWNpZmljYXQiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MjcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzUKIG1zZ2lkICI8dHlwZT4gY2FuIGJlIG9uZSBvZjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiBtc2dzdHIgIjx0aXB1cz4gcG90IHNlciB1biBkZTogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MjgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzYKIG1zZ2lkICJzaG93IG9iamVjdCB0eXBlIgogbXNnc3RyICJtb3N0cmEgZWwgdGlwdXMgZGUgbCdvYmplY3RlIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjI5CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM3CiBtc2dpZCAic2hvdyBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAibW9zdHJhIGxhIG1pZGEgZGUgbCdvYmplY3RlIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjMxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM5CiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICJzdXJ0IGFtYiB6ZXJvIHF1YW4gbm8gaGkgaGEgZXJyb3IiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDAKIG1zZ2lkICJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiaW1wcmltZWl4IGJlbGxhbWVudCBlbCBjb250aW5ndXQgZGUgbCdvYmplY3RlIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjM0CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQyCiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgImVuIGVscyBvYmplY3RlcyBkZSBibG9iLCBleGVjdXRhIHRleHRjb252IGVuIGVsIGNvbnRpbmd1dCBkZSBsJ29iamVjdGUiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzYKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDQKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gZmlsdGVycyBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICIiCiAiZW4gZWxzIG9iamVjdGVzIGRlIGJsb2IsIGV4ZWN1dGEgZWxzIGZpbHRyZXMgZW4gZWwgY29udGluZ3V0IGRlIGwnb2JqZWN0ZSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNyBnaXQtc3VibW9kdWxlLnNoOjg1NworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NSBnaXQtc3VibW9kdWxlLnNoOjk5MgogbXNnaWQgImJsb2IiCiBtc2dzdHIgImJsb2IiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDYKIG1zZ2lkICJ1c2UgYSBzcGVjaWZpYyBwYXRoIGZvciAtLXRleHRjb252Ly0tZmlsdGVycyIKIG1zZ3N0ciAidXNhIHVuIGNhbcOtIGVzcGVjw61maWMgcGVyIGEgLS10ZXh0Y29udi8tLWZpbHRlcnMiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDAKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDgKIG1zZ2lkICJhbGxvdyAtcyBhbmQgLXQgdG8gd29yayB3aXRoIGJyb2tlbi9jb3JydXB0IG9iamVjdHMiCiBtc2dzdHIgInBlcm1ldCBxdWUgLXMgaSAtdCBmdW5jaW9uaW4gYW1iIG9iamVjdGVzIHRyZW5jYXRzL21hbG1lc29zIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjQxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQ5CiBtc2dpZCAiYnVmZmVyIC0tYmF0Y2ggb3V0cHV0IgogbXNnc3RyICJwb3NhIGxhIHNvcnRpZGEgZGUgLS1iYXRjaCBlbiBtZW3DsnJpYSBpbnRlcm3DqGRpYSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0MworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1MQogbXNnaWQgInNob3cgaW5mbyBhbmQgY29udGVudCBvZiBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogIm1vc3RyYSBsYSBpbmZvcm1hY2nDsyBpIGNvbnRpbmd1dCBkZWxzIG9iamVjdGVzIHJlYnV0cyBkZSBsJ2VudHJhZGEgZXN0w6BuZGFyZCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1NQogbXNnaWQgInNob3cgaW5mbyBhYm91dCBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibW9zdHJhIGluZm9ybWFjacOzIHNvYnJlIGVscyBvYmplY3RlcyByZWJ1dHMgZGUgbCdlbnRyYWRhIGVzdMOgbmRhcmQiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTkKIG1zZ2lkICJmb2xsb3cgaW4tdHJlZSBzeW1saW5rcyAodXNlZCB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjaykiCiBtc2dzdHIgIiIKICJzZWd1ZWl4IGVscyBlbmxsYcOnb3Mgc2ltYsOybGljcyBlbiBsJ2FyYnJlIChzJ3VzYSBhbWIgLS1iYXRjaCBvIC0tYmF0Y2gtY2hlY2spIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjUzCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjYxCiBtc2dpZCAic2hvdyBhbGwgb2JqZWN0cyB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjayIKIG1zZ3N0ciAibW9zdHJhIHRvdHMgZWxzIG9iamVjdGVzIGFtYiAtLWJhdGNoIG8gLS1iYXRjaC1jaGVjayIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY2MwogbXNnaWQgImRvIG5vdCBvcmRlciAtLWJhdGNoLWFsbC1vYmplY3RzIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMgorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTMKIG1zZ2lkICJnaXQgY2hlY2stYXR0ciBbLWEgfCAtLWFsbCB8IDxhdHRyPi4uLl0gWy0tXSA8cGF0aG5hbWU+Li4uIgogbXNnc3RyICJnaXQgY2hlY2stYXR0ciBbLWEgfCAtLWFsbCB8IDxhdHJpYnV0Pi4uLl0gWy0tXSA8bm9tLWRlLWNhbcOtPi4uLiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTMKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjE0CiBtc2dpZCAiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSIKIG1zZ3N0ciAiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgPGF0cmlidXQ+Li4uXSIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjAKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxCiBtc2dpZCAicmVwb3J0IGFsbCBhdHRyaWJ1dGVzIHNldCBvbiBmaWxlIgogbXNnc3RyICJpbmZvcm1hIGRlIHRvdHMgZWxzIGF0cmlidXRzIGVzdGFibGVydHMgZW4gZWwgZml0eGVyIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMQorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjIKIG1zZ2lkICJ1c2UgLmdpdGF0dHJpYnV0ZXMgb25seSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAidXNhIC5naXRhdHRyaWJ1dGVzIG5vbcOpcyBkZXMgZGUgbCfDrW5kZXgiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIyIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjQgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNSBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAyCiBtc2dpZCAicmVhZCBmaWxlIG5hbWVzIGZyb20gc3RkaW4iCiBtc2dzdHIgImxsZWdlaXggZWxzIG5vbXMgZGUgZml0eGVyIGRlIHN0ZGluIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyNCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI2CisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyNSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI3CiBtc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgImFjYWJhIGVscyByZWdpc3RyZXMgZCdlbnRyYWRhIGkgZGUgc29ydGlkYSBhbWIgdW4gY2Fyw6BjdGVyIE5VTCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMCBidWlsdGluL2NoZWNrb3V0LmM6MTIzNCBidWlsdGluL2djLmM6NTE3Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDk1CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDM1IGJ1aWx0aW4vZ2MuYzo1MzcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDYKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIm9tZXQgZWxzIGluZm9ybWVzIGRlIHByb2dyw6lzIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI4CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI5CiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiCiBtc2dzdHIgIm1vc3RyYSBlbHMgY2FtaW5zIGQnZW50cmFkYSBxdWUgbm8gY29pbmNpZGVpeGluIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjMwCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjMxCiBtc2dpZCAiaWdub3JlIGluZGV4IHdoZW4gY2hlY2tpbmciCiBtc2dzdHIgImlnbm9yYSBsJ8OtbmRleCBlbiBjb21wcm92YXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU5CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MAogbXNnaWQgImNhbm5vdCBzcGVjaWZ5IHBhdGhuYW1lcyB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIm5vIGVzIHBvZGVuIGVzcGVjaWZpY2FyIG5vbXMgZGUgY2Ftw60gYW1iIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYyCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MwogbXNnaWQgIi16IG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCAtLXN0ZGluIgogbXNnc3RyICIteiBub23DqXMgdMOpIHNlbnRpdCBhbWIgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjQKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY1CiBtc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQiCiBtc2dzdHIgImNhcCBjYW3DrSBlc3BlY2lmaWNhdCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjgKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY5CiBtc2dpZCAiLS1xdWlldCBpcyBvbmx5IHZhbGlkIHdpdGggYSBzaW5nbGUgcGF0aG5hbWUiCiBtc2dzdHIgIi0tcXVpZXQgbm9tw6lzIMOpcyB2w6BsaWQgYW1iIHVuIHNvbCBub20gZGUgY2Ftw60iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcwCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MQogbXNnaWQgImNhbm5vdCBoYXZlIGJvdGggLS1xdWlldCBhbmQgLS12ZXJib3NlIgogbXNnc3RyICJubyBlcyBwb2RlbiBlc3BlY2lmaWNhciAtLXF1aWV0IGkgLS12ZXJib3NlIGFsaG9yYSIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzMKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTc0CiBtc2dpZCAiLS1ub24tbWF0Y2hpbmcgaXMgb25seSB2YWxpZCB3aXRoIC0tdmVyYm9zZSIKIG1zZ3N0ciAiLS1ub24tbWF0Y2hpbmcgw6lzIHbDoGxpZCBub23DqXMgYW1iIC0tdmVyYm9zZSIKIApAQCAtODYzMSw1NSArMTA2OTcsNTUgQEAKIG1zZ2lkICJubyBjb250YWN0cyBzcGVjaWZpZWQiCiBtc2dzdHIgIm5vIGhpIGhhIGNvbnRhY3RlcyBlc3BlY2lmaWNhdHMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxMjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxMzEKIG1zZ2lkICJnaXQgY2hlY2tvdXQtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0LWluZGV4IFs8b3BjaW9ucz5dIFstLV0gWzxmaXR4ZXI+Li4uXSIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0NQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0OAogbXNnaWQgInN0YWdlIHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kIDMgb3IgYWxsIgogbXNnc3RyICLCq3N0YWdlwrsgaGEgZGUgc2VyIGVudHJlIDEgaSAzIG8gYWxsIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYxCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY0CiBtc2dpZCAiY2hlY2sgb3V0IGFsbCBmaWxlcyBpbiB0aGUgaW5kZXgiCiBtc2dzdHIgImFnYWZhIHRvdHMgZWxzIGZpdHhlcnMgZW4gbCfDrW5kZXgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjUKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgZXhpc3RpbmcgZmlsZXMiCiBtc2dzdHIgImZvcsOnYSBsYSBzb2JyZWVzY3JpcHR1cmEgZGUgZml0eGVycyBleGlzdGVudHMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjcKIG1zZ2lkICJubyB3YXJuaW5nIGZvciBleGlzdGluZyBmaWxlcyBhbmQgZmlsZXMgbm90IGluIGluZGV4IgogbXNnc3RyICIiCiAiY2FwIGFkdmVydMOobmNpYSBwZXIgYSBmaXR4ZXJzIGV4aXN0ZW50cyBpIGZpdHhlcnMgcXVlIG5vIHNpZ3VpbiBhIGwnw61uZGV4IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY2CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY5CiBtc2dpZCAiZG9uJ3QgY2hlY2tvdXQgbmV3IGZpbGVzIgogbXNnc3RyICJubyBhZ2FmaXMgZml0eGVycyBub3VzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY4CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcxCiBtc2dpZCAidXBkYXRlIHN0YXQgaW5mb3JtYXRpb24gaW4gdGhlIGluZGV4IGZpbGUiCiBtc2dzdHIgImFjdHVhbGl0emEgbGEgaW5mb3JtYWNpw7MgZCdlc3RhZMOtc3RpcXVlcyBlbiBlbCBmaXR4ZXIgZCfDrW5kZXgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzUKIG1zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxsZWdlaXggbGEgbGxpc3RhIGRlIGNhbWlucyBkZXMgZGUgbCdlbnRyYWRhIGVzdMOgbmRhcmQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzcKIG1zZ2lkICJ3cml0ZSB0aGUgY29udGVudCB0byB0ZW1wb3JhcnkgZmlsZXMiCiBtc2dzdHIgImVzY3JpdSBlbCBjb250aW5ndXQgYSBmaXR4ZXJzIHRlbXBvcmFscyIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NSBidWlsdGluL2NvbHVtbi5jOjMxCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3MQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTMKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzggYnVpbHRpbi9jb2x1bW4uYzozMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzk2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODgyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6Njc5CiBtc2dpZCAic3RyaW5nIgogbXNnc3RyICJjYWRlbmEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzkKIG1zZ2lkICJ3aGVuIGNyZWF0aW5nIGZpbGVzLCBwcmVwZW5kIDxzdHJpbmc+IgogbXNnc3RyICJlbiBjcmVhciBmaXR4ZXJzLCBhbnRlcG9zYSA8Y2FkZW5hPiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE4MQogbXNnaWQgImNvcHkgb3V0IHRoZSBmaWxlcyBmcm9tIG5hbWVkIHN0YWdlIgogbXNnc3RyICJjb3BpYSBlbHMgZml0eGVycyBkZXMgZGUgwqtzdGFnZcK7IGFtYiBub20iCiAKQEAgLTg2OTEsMTA2ICsxMDc1NywxNTkgQEAKIG1zZ2lkICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gWzxicmFuY2g+XSAtLSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVja291dCBbPG9wY2lvbnM+XSBbPGJyYW5jYT5dIC0tIDxmaXR4ZXI+Li4uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozNworIywgZnV6enkKK21zZ2lkICJnaXQgc3dpdGNoIFs8b3B0aW9ucz5dIFs8YnJhbmNoPl0iCittc2dzdHIgImdpdCBjaGVja291dCBbPG9wY2lvbnM+XSA8YnJhbmNhPiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjQyCisjLCBmdXp6eQorbXNnaWQgImdpdCByZXN0b3JlIFs8b3B0aW9ucz5dIFstLXNvdXJjZT08YnJhbmNoPl0gPGZpbGU+Li4uIgorbXNnc3RyICJnaXQgY2hlY2tvdXQgWzxvcGNpb25zPl0gWzxicmFuY2E+XSAtLSA8Zml0eGVyPi4uLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NSBidWlsdGluL2NoZWNrb3V0LmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG91ciB2ZXJzaW9uIgogbXNnc3RyICJlbCBjYW3DrSDCqyVzwrsgbm8gdMOpIGxhIG5vc3RyYSB2ZXJzacOzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzcgYnVpbHRpbi9jaGVja291dC5jOjIxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSB0aGVpciB2ZXJzaW9uIgogbXNnc3RyICJlbCBjYW3DrSDCqyVzwrsgbm8gdMOpIGxhIHNldmEgdmVyc2nDsyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBhbGwgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICJlbCBjYW3DrSDCqyVzwrsgbm8gdMOpIHRvdGVzIGxlcyB2ZXJzaW9ucyBuZWNlc3PDoHJpZXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICJlbCBjYW3DrSDCqyVzwrsgbm8gdMOpIGxlcyB2ZXJzaW9ucyBuZWNlc3PDoHJpZXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnOiBjYW5ub3QgbWVyZ2UiCiBtc2dzdHIgImNhbcOtIMKrJXPCuzogbm8gZXMgcG90IGZ1c2lvbmFyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjQwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Mjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgbWVyZ2UgcmVzdWx0IGZvciAnJXMnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFmZWdpciBlbCByZXN1bHRhdCBkZSBmdXNpw7MgcGVyIGEgwqslc8K7IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjYyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjUgYnVpbHRpbi9jaGVja291dC5jOjI2OAotIzogYnVpbHRpbi9jaGVja291dC5jOjI3MQorIzogYnVpbHRpbi9jaGVja291dC5jOjM3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmVjcmVhdGVkICVkIG1lcmdlIGNvbmZsaWN0IgorbXNnaWRfcGx1cmFsICJSZWNyZWF0ZWQgJWQgbWVyZ2UgY29uZmxpY3RzIgorbXNnc3RyWzBdICJldGlxdWV0YSBkZSBmdXNpw7MgaW5jb3JyZWN0YSBlbiBsYSBjb21pc3Npw7Mgwqslc8K7IgorbXNnc3RyWzFdICJldGlxdWV0YSBkZSBmdXNpw7MgaW5jb3JyZWN0YSBlbiBsYSBjb21pc3Npw7Mgwqslc8K7IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVcGRhdGVkICVkIHBhdGggZnJvbSAlcyIKK21zZ2lkX3BsdXJhbCAiVXBkYXRlZCAlZCBwYXRocyBmcm9tICVzIgorbXNnc3RyWzBdICJhY3R1YWxpdHphdCAlZCBjYW3DrVxuIgorbXNnc3RyWzFdICJhY3R1YWxpdHphdHMgJWQgY2FtaW5zXG4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXBkYXRlZCAlZCBwYXRoIGZyb20gdGhlIGluZGV4IgorbXNnaWRfcGx1cmFsICJVcGRhdGVkICVkIHBhdGhzIGZyb20gdGhlIGluZGV4IgorbXNnc3RyWzBdICJTJ2hhIGFjdHVhbGl0emF0IHVuIGNhbcOtIGRlcyBkZSBsJ8OtbmRleCIKK21zZ3N0clsxXSAiUydoYSBhY3R1YWxpdHphdCAlZCBjYW1pbnMgZGVzIGRlIGwnw61uZGV4IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDEyIGJ1aWx0aW4vY2hlY2tvdXQuYzo0MTUgYnVpbHRpbi9jaGVja291dC5jOjQxOAorIzogYnVpbHRpbi9jaGVja291dC5jOjQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggdXBkYXRpbmcgcGF0aHMiCiBtc2dzdHIgIsKrJXPCuyBubyBlcyBwb3QgdXNhciBhbWIgYWN0dWFsaXR6YWNpw7MgZGUgY2FtaW5zIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Mjc0IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MjUgYnVpbHRpbi9jaGVja291dC5jOjQyOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIsKrJXPCuyBubyBlcyBwb3QgdXNhciBhbWIgJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyODAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuIgogbXNnc3RyICIiCiAiTm8gZXMgcG9kZW4gYWN0dWFsaXR6YXIgZWxzIGNhbWlucyBpIGNhbnZpYXIgYSBsYSBicmFuY2Egwqslc8K7IGEgbGEgdmVnYWRhLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjM0OSBidWlsdGluL2NoZWNrb3V0LmM6MzU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgJyVzJyBvciAnJXMnIGlzIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICInJXMnIG11c3QgYmUgdXNlZCB3aGVuICclcycgaXMgbm90IHNwZWNpZmllZCIKK21zZ3N0ciAiwqslc8K7IG5vIGVzIHBvdCB1c2FyIGFtYiDCqyVzwrsiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NDUgYnVpbHRpbi9jaGVja291dC5jOjQ1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBvciAnJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCittc2dzdHIgIiVzOiAlcyBubyBlcyBwb3QgdXNhciBhbWIgJXMiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1MDkgYnVpbHRpbi9jaGVja291dC5jOjUxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgImVsIGNhbcOtIMKrJXPCuyBlc3TDoCBzZW5zZSBmdXNpb25hciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjYwOAorIzogYnVpbHRpbi9jaGVja291dC5jOjY4MiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjgyCiBtc2dpZCAieW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCiBtc2dzdHIgImhldSBkZSBwcmltZXIgcmVzb2xkcmUgZWwgdm9zdHJlIMOtbmRleCBhY3R1YWwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NDUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBjb250aW51ZSB3aXRoIHN0YWdlZCBjaGFuZ2VzIGluIHRoZSBmb2xsb3dpbmcgZmlsZXM6XG4iCisiJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjgzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4gbm90IGRvIHJlZmxvZyBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAiTm8gZXMgcG90IGZlciByZWZsb2cgcGVyIGEgwqslc8K7OiAlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzg2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODc3CiBtc2dpZCAiSEVBRCBpcyBub3cgYXQiCiBtc2dzdHIgIkhFQUQgYXJhIMOpcyBhIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzkwIGJ1aWx0aW4vY2xvbmUuYzo2OTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4ODEgYnVpbHRpbi9jbG9uZS5jOjcxNgogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgSEVBRCIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhY3R1YWxpdHphciBIRUFEIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlJlc3RhYmxlaXggbGEgYnJhbmNhIMKrJXPCu1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICJKYSBlbiDCqyVzwrtcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgwMQorIzogYnVpbHRpbi9jaGVja291dC5jOjg5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhbmQgcmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiUydoYSBjYW52aWF0IGkgcmVzdGFibGVydCBhIGxhIGJyYW5jYSDCqyVzwrtcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgwMyBidWlsdGluL2NoZWNrb3V0LmM6MTE2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjg5NCBidWlsdGluL2NoZWNrb3V0LmM6MTI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJTJ2hhIGNhbnZpYXQgYSBsYSBicmFuY2Egbm92YSDCqyVzwrtcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgwNQorIzogYnVpbHRpbi9jaGVja291dC5jOjg5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJTJ2hhIGNhbnZpYXQgYSBsYSBicmFuY2Egwqslc8K7XG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4NTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIC4uLiBpICVkIG3DqXMuXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4NjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXQgYmVoaW5kLCBub3QgY29ubmVjdGVkIHRvXG4iCkBAIC04ODA0LDE2ICsxMDkyMywxNiBAQAogIiVzXG4iCiBtc2dzdHJbMF0gIiIKICJBZHZlcnTDqG5jaWE6IGVzdGV1IGRlaXhhbnQgZW5yZXJlICVkIGNvbWlzc2nDsywgbm9cbiIKLSJjb25uZWN0YWRhIGEgY2FwIGRlIGxlcyB2b3N0cmVzIGJyYW5xdWVzOlxuIgorInZpbmN1bGFkYSBhIGNhcCBkZSBsZXMgdm9zdHJlcyBicmFucXVlczpcbiIKICJcbiIKICIlc1xuIgogbXNnc3RyWzFdICIiCiAiQWR2ZXJ0w6huY2lhOiBlc3RldSBkZWl4YW50IGVucmVyZSAlZCBjb21pc3Npb25zLCBub1xuIgotImNvbm5lY3RhZGVzIGEgY2FwIGRlIGxlcyB2b3N0cmVzIGJyYW5xdWVzOlxuIgorInZpbmN1bGFkZXMgYSBjYXAgZGUgbGVzIHZvc3RyZXMgYnJhbnF1ZXM6XG4iCiAiXG4iCiAiJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjg4MQorIzogYnVpbHRpbi9jaGVja291dC5jOjk3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8ga2VlcCBpdCBieSBjcmVhdGluZyBhIG5ldyBicmFuY2gsIHRoaXMgbWF5IGJlIGEgZ29vZCB0aW1lXG4iCkBAIC04ODQwLDE2MyArMTA5NTksMjQwIEBACiAiIGdpdCBicmFuY2ggPG5vbS1kZS1icmFuY2Etbm92YT4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjkxMworIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDcKIG1zZ2lkICJpbnRlcm5hbCBlcnJvciBpbiByZXZpc2lvbiB3YWxrIgogbXNnc3RyICJlcnJvciBpbnRlcm4gZW4gZWwgcGFzc2VpZyBwZXIgcmV2aXNpb25zIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTE3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxMQogbXNnaWQgIlByZXZpb3VzIEhFQUQgcG9zaXRpb24gd2FzIgogbXNnc3RyICJMYSBwb3NpY2nDsyBkZSBIRUFEIGFudGVyaW9yIGVyYSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjk0NSBidWlsdGluL2NoZWNrb3V0LmM6MTE2MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTEgYnVpbHRpbi9jaGVja291dC5jOjEyODYKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICJTb3UgZW4gdW5hIGJyYW5jYSBxdWUgZW5jYXJhIGhhIGRlIG7DqWl4ZXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3OAorIywgZnV6enkKK21zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQiCittc2dzdHIgInMnZXNwZXJhdmEgbm9tw6lzIHVuYSByZWZlcsOobmNpYSwgcydoYW4gZG9uYXQgJWQuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQsICVkIGdpdmVuLiIKIG1zZ3N0ciAicydlc3BlcmF2YSBub23DqXMgdW5hIHJlZmVyw6huY2lhLCBzJ2hhbiBkb25hdCAlZC4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA3IGJ1aWx0aW4vd29ya3RyZWUuYzoyODkgYnVpbHRpbi93b3JrdHJlZS5jOjQ0NAorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiclcycgY291bGQgYmUgYm90aCBhIGxvY2FsIGZpbGUgYW5kIGEgdHJhY2tpbmcgYnJhbmNoLlxuIgorIlBsZWFzZSB1c2UgLS0gKGFuZCBvcHRpb25hbGx5IC0tbm8tZ3Vlc3MpIHRvIGRpc2FtYmlndWF0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0NSBidWlsdGluL3dvcmt0cmVlLmM6MjkwIGJ1aWx0aW4vd29ya3RyZWUuYzo0NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCByZWZlcmVuY2U6ICVzIgogbXNnc3RyICJyZWZlcsOobmNpYSBubyB2w6BsaWRhOiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSBpcyBub3QgYSB0cmVlOiAlcyIKIG1zZ3N0ciAibGEgcmVmZXLDqG5jaWEgbm8gw6lzIHVuIGFyYnJlOiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IHRhZyAnJXMnIgorbXNnc3RyICJubyBlcyBwb3QgbGxlZ2lyIGwnb2JqZWN0ZSAlcyDCqyVzwrsiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IHJlbW90ZSBicmFuY2ggJyVzJyIKK21zZ3N0ciAiIgorIkxhIGJyYW5jYSDCqyVzwrsgZXN0w6AgY29uZmlndXJhZGEgcGVyIGEgc2VndWlyIGxhIGJyYW5jYSByZW1vdGEgwqslc8K7IGRlIMKrJXPCuy4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzA4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290ICclcyciCittc2dzdHIgInMnZXNwZXJhdmEgc2hhbGxvdy91bnNoYWxsb3csIHMnaGEgcmVidXQgJXMiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IGNvbW1pdCAnJXMnIgorbXNnc3RyICJMYSB2b3N0cmEgYnJhbmNhIGVzdMOgIGFsIGRpYSBhbWIgwqslc8K7LlxuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMyNworbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCB3aGlsZSBtZXJnaW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgbWVyZ2UgLS1xdWl0XCIgb3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzMxCittc2dpZCAiIgorImNhbm5vdCBzd2l0Y2ggYnJhbmNoIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvblxuIgorIkNvbnNpZGVyIFwiZ2l0IGFtIC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMzNQorbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCB3aGlsZSByZWJhc2luZ1xuIgorIkNvbnNpZGVyIFwiZ2l0IHJlYmFzZSAtLXF1aXRcIiBvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMzkKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgY2hlcnJ5LXBpY2tpbmdcbiIKKyJDb25zaWRlciBcImdpdCBjaGVycnktcGljayAtLXF1aXRcIiBvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNDMKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgcmV2ZXJ0aW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgcmV2ZXJ0IC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM0NworIywgZnV6enkKK21zZ2lkICJ5b3UgYXJlIHN3aXRjaGluZyBicmFuY2ggd2hpbGUgYmlzZWN0aW5nIgorbXNnc3RyICJBY3R1YWxtZW50IGVzdGV1IGJpc2VjYW50LiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNTQKIG1zZ2lkICJwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiZWxzIGNhbWlucyBubyBlcyBwb2RlbiB1c2FyIGFtYiBjYW52aSBkZSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTc4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTgyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1NyBidWlsdGluL2NoZWNrb3V0LmM6MTM2MSBidWlsdGluL2NoZWNrb3V0LmM6MTM2NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICLCqyVzwrsgbm8gZXMgcG90IHVzYXIgYW1iIGNhbnZpIGRlIGJyYW5jYSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExODYgYnVpbHRpbi9jaGVja291dC5jOjExODkgYnVpbHRpbi9jaGVja291dC5jOjExOTQKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTk3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM2OSBidWlsdGluL2NoZWNrb3V0LmM6MTM3MiBidWlsdGluL2NoZWNrb3V0LmM6MTM3NQorIzogYnVpbHRpbi9jaGVja291dC5jOjEzODAgYnVpbHRpbi9jaGVja291dC5jOjEzODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciCiBtc2dzdHIgIsKrJXPCuyBubyBlcyBwb3QgdXNhciBhbWIgwqslc8K7IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwMgorIzogYnVpbHRpbi9jaGVja291dC5jOjEzODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiclcycgY2Fubm90IHRha2UgPHN0YXJ0LXBvaW50PiIKK21zZ3N0ciAiwqslc8K7IG5vIGVzIHBvdCB1c2FyIGFtYiBhY3R1YWxpdHphY2nDsyBkZSBjYW1pbnMiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICJObyBlcyBwb3QgY2FudmlhciBsYSBicmFuY2EgYSBsYSBubyBjb21pc3Npw7Mgwqslc8K7IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIzNSBidWlsdGluL2NoZWNrb3V0LmM6MTIzNyBidWlsdGluL2Nsb25lLmM6MTE5Ci0jOiBidWlsdGluL3JlbW90ZS5jOjE2OSBidWlsdGluL3JlbW90ZS5jOjE3MSBidWlsdGluL3dvcmt0cmVlLmM6NDg4Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkwCi1tc2dpZCAiYnJhbmNoIgotbXNnc3RyICJicmFuY2EiCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM5NworIywgZnV6enkKK21zZ2lkICJtaXNzaW5nIGJyYW5jaCBvciBjb21taXQgYXJndW1lbnQiCittc2dzdHIgIk1hbmNhIGVsIG5vbSBkZSBicmFuY2E7IHByb3ZldSAtYiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMzYKLW1zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKLW1zZ3N0ciAiY3JlYSBpIGFnYWZhIHVuYSBicmFuY2Egbm92YSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMzgKLW1zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgotbXNnc3RyICJjcmVhL3Jlc3RhYmxlaXggaSBhZ2FmYSB1bmEgYnJhbmNhIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIzOQotbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCi1tc2dzdHIgImNyZWEgdW4gcmVnaXN0cmUgZGUgcmVmZXLDqG5jaWEgcGVyIGEgbGEgYnJhbmNhIG5vdmEiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQwIGJ1aWx0aW4vd29ya3RyZWUuYzo0OTIKLW1zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCi1tc2dzdHIgInNlcGFyYSBIRUFEIGEgbGEgY29taXNzacOzIGFub21lbmFkYSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDEKLW1zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKLW1zZ3N0ciAiZXN0YWJsZWl4IGxhIGluZm9ybWFjacOzIGRlIGZvbnQgZGUgbGEgYnJhbmNhIG5vdmEiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQzCi1tc2dpZCAibmV3LWJyYW5jaCIKLW1zZ3N0ciAiYnJhbmNhLW5vdmEiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQzCi1tc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgotbXNnc3RyICJicmFuY2Egw7JyZmVuYSBub3ZhIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0NQotbXNnaWQgImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKLW1zZ3N0ciAiYWdhZmEgbGEgdmVyc2nDsyBub3N0cmEgZGVscyBmaXR4ZXJzIHNlbnNlIGZ1c2lvbmFyIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0OAotbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgotbXNnc3RyICJhZ2FmYSBsYSB2ZXJzacOzIHNldmEgZGVscyBmaXR4ZXJzIHNlbnNlIGZ1c2lvbmFyIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1MAotbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgotbXNnc3RyICJhZ2FmYSBhIGxhIGZvcsOnYSAoZGVzY2FydGEgcXVhbHNldm9sIG1vZGlmaWNhY2nDsyBsb2NhbCkiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjUyCi1tc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCi1tc2dzdHIgInJlYWxpdHphIHVuYSBmdXNpw7MgZGUgMyB2aWVzIGFtYiBsYSBicmFuY2Egbm92YSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTQgYnVpbHRpbi9tZXJnZS5jOjI3NQotbXNnaWQgInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIKLW1zZ3N0ciAiYWN0dWFsaXR6YSBlbHMgZml0eGVycyBpZ25vcmF0cyAocGVyIGRlZmVjdGUpIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1NiBidWlsdGluL2xvZy5jOjE1NzMgcGFyc2Utb3B0aW9ucy5oOjI3NAotbXNnaWQgInN0eWxlIgotbXNnc3RyICJlc3RpbCIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTcKLW1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgotbXNnc3RyICJlc3RpbCBkZSBjb25mbGljdGUgKGZ1c2nDsyBvIGRpZmYzKSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjAKLW1zZ2lkICJkbyBub3QgbGltaXQgcGF0aHNwZWNzIHRvIHNwYXJzZSBlbnRyaWVzIG9ubHkiCi1tc2dzdHIgIm5vIGxpbWl0aXMgbGVzIGVzcGVjaWZpY2FjaW9ucyBkZSBjYW3DrSBub23DqXMgYSBlbnRyYWRlcyBkaXNwZXJzZXMiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYyCi1tc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgPG5vLXN1Y2gtYnJhbmNoPiciCi1tc2dzdHIgImR1YnRhICdnaXQgY2hlY2tvdXQgPGNhcC1icmFuY2EtYWl4w60+JyIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjQKLW1zZ2lkICJkbyBub3QgY2hlY2sgaWYgYW5vdGhlciB3b3JrdHJlZSBpcyBob2xkaW5nIHRoZSBnaXZlbiByZWYiCi1tc2dzdHIgIm5vIGNvbXByb3ZpcyBzaSBhbHRyZSBhcmJyZSBkZSB0cmViYWxsIHTDqSBsYSByZWZlcsOobmNpYSBkb25hZGEiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY4IGJ1aWx0aW4vY2xvbmUuYzo4NiBidWlsdGluL2ZldGNoLmM6MTQxCi0jOiBidWlsdGluL21lcmdlLmM6MjcyIGJ1aWx0aW4vcHVsbC5jOjEyOSBidWlsdGluL3B1c2guYzo1NzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDM5IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjUyCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExMyBidWlsdGluL2ZldGNoLmM6MTY3IGJ1aWx0aW4vbWVyZ2UuYzoyODUKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjI3IGJ1aWx0aW4vcHVsbC5jOjEzOCBidWlsdGluL3B1c2guYzo1NjMKICM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc0CiBtc2dpZCAiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJmb3LDp2EgbCdpbmZvcm1lIGRlIHByb2dyw6lzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI5OAorIzogYnVpbHRpbi9jaGVja291dC5jOjE0NDAKK21zZ2lkICJwZXJmb3JtIGEgMy13YXkgbWVyZ2Ugd2l0aCB0aGUgbmV3IGJyYW5jaCIKK21zZ3N0ciAicmVhbGl0emEgdW5hIGZ1c2nDsyBkZSAzIHZpZXMgYW1iIGxhIGJyYW5jYSBub3ZhIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ0MSBidWlsdGluL2xvZy5jOjE2OTAgcGFyc2Utb3B0aW9ucy5oOjMyMgorbXNnaWQgInN0eWxlIgorbXNnc3RyICJlc3RpbCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NDIKK21zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgorbXNnc3RyICJlc3RpbCBkZSBjb25mbGljdGUgKGZ1c2nDsyBvIGRpZmYzKSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTQgYnVpbHRpbi93b3JrdHJlZS5jOjUwMworbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKK21zZ3N0ciAic2VwYXJhIEhFQUQgYSBsYSBjb21pc3Npw7MgYW5vbWVuYWRhIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ1NQorbXNnaWQgInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIgorbXNnc3RyICJlc3RhYmxlaXggbGEgaW5mb3JtYWNpw7MgZGUgZm9udCBkZSBsYSBicmFuY2Egbm92YSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTcKK21zZ2lkICJmb3JjZSBjaGVja291dCAodGhyb3cgYXdheSBsb2NhbCBtb2RpZmljYXRpb25zKSIKK21zZ3N0ciAiYWdhZmEgYSBsYSBmb3LDp2EgKGRlc2NhcnRhIHF1YWxzZXZvbCBtb2RpZmljYWNpw7MgbG9jYWwpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ1OQorbXNnaWQgIm5ldy1icmFuY2giCittc2dzdHIgImJyYW5jYS1ub3ZhIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ1OQorbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKK21zZ3N0ciAiYnJhbmNhIMOycmZlbmEgbm92YSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NjEgYnVpbHRpbi9tZXJnZS5jOjI4OAorbXNnaWQgInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIKK21zZ3N0ciAiYWN0dWFsaXR6YSBlbHMgZml0eGVycyBpZ25vcmF0cyAocGVyIGRlZmVjdGUpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ2NAorbXNnaWQgImRvIG5vdCBjaGVjayBpZiBhbm90aGVyIHdvcmt0cmVlIGlzIGhvbGRpbmcgdGhlIGdpdmVuIHJlZiIKK21zZ3N0ciAibm8gY29tcHJvdmlzIHNpIGFsdHJlIGFyYnJlIGRlIHRyZWJhbGwgdMOpIGxhIHJlZmVyw6huY2lhIGRvbmFkYSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NzcKK21zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCittc2dzdHIgImFnYWZhIGxhIHZlcnNpw7Mgbm9zdHJhIGRlbHMgZml0eGVycyBzZW5zZSBmdXNpb25hciIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0ODAKK21zZ2lkICJjaGVja291dCB0aGVpciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKK21zZ3N0ciAiYWdhZmEgbGEgdmVyc2nDsyBzZXZhIGRlbHMgZml0eGVycyBzZW5zZSBmdXNpb25hciIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0ODQKK21zZ2lkICJkbyBub3QgbGltaXQgcGF0aHNwZWNzIHRvIHNwYXJzZSBlbnRyaWVzIG9ubHkiCittc2dzdHIgIm5vIGxpbWl0aXMgbGVzIGVzcGVjaWZpY2FjaW9ucyBkZSBjYW3DrSBub23DqXMgYSBlbnRyYWRlcyBkaXNwZXJzZXMiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTM3CiBtc2dpZCAiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItYiwgLUIgaSAtLW9ycGhhbiBzw7NuIG3DunR1YW1lbnQgZXhjbG9lbnRzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTMxNQorIzogYnVpbHRpbi9jaGVja291dC5jOjE1NDAKKyMsIGZ1enp5Cittc2dpZCAiLXAgYW5kIC0tb3ZlcmxheSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItbiBpIC1rIHPDs24gbcO6dHVhbWVudCBleGNsb2VudHMuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTU3NwogbXNnaWQgIi0tdHJhY2sgbmVlZHMgYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiLS10cmFjayBuZWNlc3NpdGEgdW4gbm9tIGRlIGJyYW5jYSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzMjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTgyCiAjLCBmdXp6eQogbXNnaWQgIm1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAiTWFuY2EgZWwgbm9tIGRlIGJyYW5jYTsgcHJvdmV1IC1iIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1NworIzogYnVpbHRpbi9jaGVja291dC5jOjE2MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlICVzIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJlc29sZHJlIMKrJXPCuyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE2MzEKIG1zZ2lkICJpbnZhbGlkIHBhdGggc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiZXNwZWNpZmljYWNpw7MgZGUgY2Ftw60gbm8gdsOgbGlkYSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgY29tbWl0IGFuZCBhIGJyYW5jaCAnJXMnIGNhbm5vdCBiZSBjcmVhdGVkIGZyb20gaXQiCiBtc2dzdHIgIiIKICLCqyVzwrsgbm8gw6lzIHVuYSBjb21pc3Npw7MgaSBsYSBicmFuY2Egwqslc8K7IG5vIGVzIHBvdCBjcmVhciBhIHBhcnRpciBkJ2FxdWVzdGEgIgogImNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQgJyVzJyIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBubyBhY2NlcHRhIHVuIHBhcsOgbWV0cmUgZGUgY2Ftw60gwqslc8K7IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM3MgorIzogYnVpbHRpbi9jaGVja291dC5jOjE2NTEKKyMsIGZ1enp5Cittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1kZXRhY2giCittc2dzdHIgIi0tZmlyc3QtcGFyZW50IMOpcyBpbmNvbXBhdGlibGUgYW1iIC0tYmlzZWN0IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY1NCBidWlsdGluL3Jlc2V0LmM6MzI0CisjLCBmdXp6eQorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tcGF0Y2giCittc2dzdHIgIi0tZmlyc3QtcGFyZW50IMOpcyBpbmNvbXBhdGlibGUgYW1iIC0tYmlzZWN0IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY2NQogbXNnaWQgIiIKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKICJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIKQEAgLTkwMDQsNyArMTEyMDAsMTIgQEAKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBpIC0tbWVyZ2Ugc8OzbiBpbmNvbXBhdGlibGVzIGVuXG4iCiAiYWdhZmFyIGRlIGwnw61uZGV4LiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzOTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjcwCisjLCBmdXp6eQorbXNnaWQgInlvdSBtdXN0IHNwZWNpZnkgcGF0aChzKSB0byByZXN0b3JlIgorbXNnc3RyICJIZXUgZCdlc3BlY2lmaWNhciB1biBkaXJlY3RvcmkuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBtYXRjaGVkIG1vcmUgdGhhbiBvbmUgcmVtb3RlIHRyYWNraW5nIGJyYW5jaC5cbiIKQEAgLTkwMjEsMzggKzExMjIyLDExNSBAQAogImNoZWNrb3V0LmRlZmF1bHRSZW1vdGU9b3JpZ2luIGluIHlvdXIgY29uZmlnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc2NyBidWlsdGluL2Nsb25lLmM6MTIxIGJ1aWx0aW4vcmVtb3RlLmM6MTY5CisjOiBidWlsdGluL3JlbW90ZS5jOjE3MSBidWlsdGluL3dvcmt0cmVlLmM6NDk5IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDEKK21zZ2lkICJicmFuY2giCittc2dzdHIgImJyYW5jYSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MTUKK21zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKK21zZ3N0ciAiY3JlYSBpIGFnYWZhIHVuYSBicmFuY2Egbm92YSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MTcKK21zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgorbXNnc3RyICJjcmVhL3Jlc3RhYmxlaXggaSBhZ2FmYSB1bmEgYnJhbmNhIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcxOAorbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCittc2dzdHIgImNyZWEgdW4gcmVnaXN0cmUgZGUgcmVmZXLDqG5jaWEgcGVyIGEgbGEgYnJhbmNhIG5vdmEiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzIwCisjLCBmdXp6eQorbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IDxuby1zdWNoLWJyYW5jaD4nIChkZWZhdWx0KSIKK21zZ3N0ciAiZHVidGEgJ2dpdCBjaGVja291dCA8Y2FwLWJyYW5jYS1haXjDrT4nIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcyMQorIywgZnV6enkKK21zZ2lkICJ1c2Ugb3ZlcmxheSBtb2RlIChkZWZhdWx0KSIKK21zZ3N0ciAicG9kYSBsZXMgcmVmZXLDqG5jaWVzIHNvbHRlcyAocGVyIGRlZmVjdGUpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc2NgorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYW5kIHN3aXRjaCB0byBhIG5ldyBicmFuY2giCittc2dzdHIgImNyZWEgaSBhZ2FmYSB1bmEgYnJhbmNhIG5vdmEiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY4CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZS9yZXNldCBhbmQgc3dpdGNoIHRvIGEgYnJhbmNoIgorbXNnc3RyICJjcmVhL3Jlc3RhYmxlaXggaSBhZ2FmYSB1bmEgYnJhbmNhIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc3MAorIywgZnV6enkKK21zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBzd2l0Y2ggPG5vLXN1Y2gtYnJhbmNoPiciCittc2dzdHIgImR1YnRhICdnaXQgY2hlY2tvdXQgPGNhcC1icmFuY2EtYWl4w60+JyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NzIKKyMsIGZ1enp5Cittc2dpZCAidGhyb3cgYXdheSBsb2NhbCBtb2RpZmljYXRpb25zIgorbXNnc3RyICJhZ2FmYSBhIGxhIGZvcsOnYSAoZGVzY2FydGEgcXVhbHNldm9sIG1vZGlmaWNhY2nDsyBsb2NhbCkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODA0CisjLCBmdXp6eQorbXNnaWQgIndoaWNoIHRyZWUtaXNoIHRvIGNoZWNrb3V0IGZyb20iCittc2dzdHIgImxsZWdlaXggbCdvYmplY3RlIGRlcyBkZSBzdGRpbiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MDYKKyMsIGZ1enp5Cittc2dpZCAicmVzdG9yZSB0aGUgaW5kZXgiCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbGxlZ2lyIGwnw61uZGV4IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgwOAorIywgZnV6enkKK21zZ2lkICJyZXN0b3JlIHRoZSB3b3JraW5nIHRyZWUgKGRlZmF1bHQpIgorbXNnc3RyICJNb3N0cmEgbCdlc3RhdCBkZSBsJ2FyYnJlIGRlIHRyZWJhbGwiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODEwCisjLCBmdXp6eQorbXNnaWQgImlnbm9yZSB1bm1lcmdlZCBlbnRyaWVzIgorbXNnc3RyICJzJ2VzdMOgIGlnbm9yYW50ICVzIG5vIGZ1c2lvbmF0XG4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODExCittc2dpZCAidXNlIG92ZXJsYXkgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6MjgKIG1zZ2lkICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPHBhdHRlcm4+XSBbLXggfCAtWF0gWy0tXSA8cGF0aHM+Li4uIgogbXNnc3RyICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPHBhdHLDsz5dIFsteCB8IC1YXSBbLS1dIDxjYW1pbnM+Li4uIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzEKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlc1xuIgogbXNnc3RyICJTJ2VzdMOgIGVsaW1pbmFudCAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzIKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMwogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCByZW1vdmUgJXNcbiIKIG1zZ3N0ciAiRWxpbWluYXJpYSAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzMKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIlMnZXN0w6Agb21ldGVudCBlbCBkaXDDsnNpdCAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzQKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNQogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCBza2lwIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAiT21ldHJpYSBlbCBkaXDDsnNpdCAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzUKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICVzIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGVsaW1pbmFyICVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Mjk4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTc5CisjOiBidWlsdGluL2NsZWFuLmM6MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBsc3RhdCAlc1xuIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGZlciBzdGF0IGEgJXMiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMDEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgpAQCAtOTA2NSw3ICsxMTM0Myw3IEBACiAiZm9vICAgICAgICAtIHNlbGVjY2lvbmEgdW4gw610ZW0gYmFzYXQgZW4gdW4gcHJlZml4IMO6bmljXG4iCiAiICAgICAgICAgICAtIChidWl0KSBubyBzZWxlY2Npb25pcyByZXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMwMiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU4OAorIzogYnVpbHRpbi9jbGVhbi5jOjMwNSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCkBAIC05MDg2LDM4ICsxMTM2NCwzMyBAQAogIiogICAgICAgICAgLSB0cmlhIHRvdHMgZWxzIMOtdGVtc1xuIgogIiAgICAgICAgICAgLSAoYnVpdCkgZmluYWxpdHphIGxhIHNlbGVjY2nDs1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NTE4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTU0Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU1OQorIzogYnVpbHRpbi9jbGVhbi5jOjUyMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU3MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NzUKICMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAogbXNnaWQgIkh1aCAoJXMpP1xuIgogbXNnc3RyICJQZXJkw7MgKCVzKT9cbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY2MAorIzogYnVpbHRpbi9jbGVhbi5jOjY2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnB1dCBpZ25vcmUgcGF0dGVybnM+PiAiCiBtc2dzdHIgIkludHJvZHXDr3UgZWxzIHBhdHJvbnMgYSBpZ25vcmFyPj4gIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Njk3CisjOiBidWlsdGluL2NsZWFuLmM6NzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IENhbm5vdCBmaW5kIGl0ZW1zIG1hdGNoZWQgYnk6ICVzIgogbXNnc3RyICJBRFZFUlTDiE5DSUE6IE5vIGVzIHBvZGVuIHRyb2JhciDDrXRlbXMgcXVlIGNvaW5jaWRlaXhpbiBhbWI6ICVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzE4CisjOiBidWlsdGluL2NsZWFuLmM6NzIxCiBtc2dpZCAiU2VsZWN0IGl0ZW1zIHRvIGRlbGV0ZSIKIG1zZ3N0ciAiU2VsZWNjaW9uYSBlbHMgw610ZW1zIGEgc3VwcmltaXIiCiAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8ga2VlcCBbeS9OXSBhcyBpcwotIzogYnVpbHRpbi9jbGVhbi5jOjc1OQorIzogYnVpbHRpbi9jbGVhbi5jOjc2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmUgJXMgW3kvTl0/ICIKIG1zZ3N0ciAiVm9sZXUgZWxpbWluYXIgJXMgW3kvTl0/ICIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjc4NCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQnllLlxuIgotbXNnc3RyICJBZGV1LlxuIgotCi0jOiBidWlsdGluL2NsZWFuLmM6NzkyCisjOiBidWlsdGluL2NsZWFuLmM6Nzk1CiBtc2dpZCAiIgogImNsZWFuICAgICAgICAgICAgICAgLSBzdGFydCBjbGVhbmluZ1xuIgogImZpbHRlciBieSBwYXR0ZXJuICAgLSBleGNsdWRlIGl0ZW1zIGZyb20gZGVsZXRpb25cbiIKQEAgLTkxMzUsNjQgKzExNDA4LDU2IEBACiAiaGVscCAgICAgICAgICAgICAgICAtIGFxdWVzdGEgcGFudGFsbGFcbiIKICI/ICAgICAgICAgICAgICAgICAgIC0gYWp1ZGEgZGUgc2VsZWNjacOzIGRlIGwnYXbDrXMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzkzCi1tc2dpZCAiKioqIENvbW1hbmRzICoqKiIKLW1zZ3N0ciAiKioqIE9yZHJlcyAqKioiCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MjAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzkwCi1tc2dpZCAiV2hhdCBub3ciCi1tc2dzdHIgIkkgYXJhIHF1w6giCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MjgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MzEKIG1zZ2lkICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtOiIKIG1zZ2lkX3BsdXJhbCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbXM6IgogbXNnc3RyWzBdICJFbGltaW5hcmlhIGwnw610ZW0gc2Vnw7xlbnQ6IgogbXNnc3RyWzFdICJFbGltaW5hcmlhIGVscyDDrXRlbXMgc2Vnw7xlbnRzOiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg0NAorIzogYnVpbHRpbi9jbGVhbi5jOjg0NwogbXNnaWQgIk5vIG1vcmUgZmlsZXMgdG8gY2xlYW4sIGV4aXRpbmcuIgogbXNnc3RyICJObyBoaSBoYSBtw6lzIGZpdHhlcnMgYSBuZXRlamFyOyBzJ2VzdMOgIHNvcnRpbnQuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTA2CisjOiBidWlsdGluL2NsZWFuLmM6OTA5CiBtc2dpZCAiZG8gbm90IHByaW50IG5hbWVzIG9mIGZpbGVzIHJlbW92ZWQiCiBtc2dzdHIgIm5vIGltcHJpbWVpeGlzIGVscyBub21zIGRlbHMgZml0eGVycyBlbGltaW5hdHMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTEKIG1zZ2lkICJmb3JjZSIKIG1zZ3N0ciAiZm9yw6dhIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTA5CisjOiBidWlsdGluL2NsZWFuLmM6OTEyCiBtc2dpZCAiaW50ZXJhY3RpdmUgY2xlYW5pbmciCiBtc2dzdHIgIm5ldGVqYSBpbnRlcmFjdGl2YSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkxMQorIzogYnVpbHRpbi9jbGVhbi5jOjkxNAogbXNnaWQgInJlbW92ZSB3aG9sZSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiZWxpbWluYSBkaXJlY3RvcmlzIHNlbmNlcnMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTIgYnVpbHRpbi9kZXNjcmliZS5jOjU0NSBidWlsdGluL2Rlc2NyaWJlLmM6NTQ3Ci0jOiBidWlsdGluL2dyZXAuYzo4ODYgYnVpbHRpbi9sb2cuYzoxNjYgYnVpbHRpbi9sb2cuYzoxNjgKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTYgYnVpbHRpbi9uYW1lLXJldi5jOjQxNSBidWlsdGluL25hbWUtcmV2LmM6NDE3Ci0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL2NsZWFuLmM6OTE1IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDggYnVpbHRpbi9kZXNjcmliZS5jOjU1MAorIzogYnVpbHRpbi9ncmVwLmM6OTAxIGJ1aWx0aW4vbG9nLmM6MTc3IGJ1aWx0aW4vbG9nLmM6MTc5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU3IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjQgYnVpbHRpbi9uYW1lLXJldi5jOjQ2NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OQogbXNnaWQgInBhdHRlcm4iCiBtc2dzdHIgInBhdHLDsyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkxMworIzogYnVpbHRpbi9jbGVhbi5jOjkxNgogbXNnaWQgImFkZCA8cGF0dGVybj4gdG8gaWdub3JlIHJ1bGVzIgogbXNnc3RyICJhZmVnaXUgPHBhdHLDsz4gcGVyIGEgaWdub3JhciBsZXMgcmVnbGVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTE0CisjOiBidWlsdGluL2NsZWFuLmM6OTE3CiBtc2dpZCAicmVtb3ZlIGlnbm9yZWQgZmlsZXMsIHRvbyIKIG1zZ3N0ciAiZWxpbWluYSBlbHMgZml0eGVycyBpZ25vcmF0cywgdGFtYsOpIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTE2CisjOiBidWlsdGluL2NsZWFuLmM6OTE5CiBtc2dpZCAicmVtb3ZlIG9ubHkgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiZWxpbWluYSBub23DqXMgZWxzIGZpdHhlcnMgaWdub3JhdHMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MzQKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MzcKIG1zZ2lkICIteCBhbmQgLVggY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi14IGkgLVggbm8gZXMgcG9kZW4gdXNhciBqdW50cyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkzOAorIzogYnVpbHRpbi9jbGVhbi5jOjk0MQogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2Ugc2V0IHRvIHRydWUgYW5kIG5laXRoZXIgLWksIC1uLCBub3IgLWYgZ2l2ZW47IHJlZnVzaW5nIHRvICIKICJjbGVhbiIKQEAgLTkyMDAsNyArMTE0NjUsNyBAQAogImNsZWFuLnJlcXVpcmVGb3JjZSBlc3TDoCBlc3RhYmxlcnRhIGVuIGNlcnQgaSBuaSAtaSwgLW4gbmkgLWYgcydoYW4gaW5kaWNhdDsgIgogInJlZnVzYW50IG5ldGVqYXIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5NDEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5NDQKIG1zZ2lkICIiCiAiY2xlYW4ucmVxdWlyZUZvcmNlIGRlZmF1bHRzIHRvIHRydWUgYW5kIG5laXRoZXIgLWksIC1uLCBub3IgLWYgZ2l2ZW47ICIKICJyZWZ1c2luZyB0byBjbGVhbiIKQEAgLTkyMDgsMTQ3ICsxMTQ3MywxNjYgQEAKICJjbGVhbi5yZXF1aXJlRm9yY2Ugw6lzIHBlciBkZWZlY3RlIGNlcnQgaSBuaSAtaSwgLW4gbmkgLWYgcydoYW4gaW5kaWNhdDsgIgogInJlZnVzYW50IG5ldGVqYXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MworIzogYnVpbHRpbi9jbG9uZS5jOjQ1CiBtc2dpZCAiZ2l0IGNsb25lIFs8b3B0aW9ucz5dIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgImdpdCBjbG9uZSBbPG9wY2lvbnM+XSBbLS1dIDxkaXDDsnNpdD4gWzxkaXJlY3Rvcmk+XSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4CisjOiBidWlsdGluL2Nsb25lLmM6OTMKIG1zZ2lkICJkb24ndCBjcmVhdGUgYSBjaGVja291dCIKIG1zZ3N0ciAibm8gZmFjaXMgY2FwIGFnYWZhbWVudCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2luaXQtZGIuYzo0ODEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NCBidWlsdGluL2Nsb25lLmM6OTYgYnVpbHRpbi9pbml0LWRiLmM6NDg5CiBtc2dpZCAiY3JlYXRlIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJjcmVhIHVuIGRpcMOyc2l0IG51IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OAogbXNnaWQgImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIgogbXNnc3RyICJjcmVhIHVuIGRpcMOyc2l0IG1pcmFsbCAoaW1wbGljYSBiYXJlKSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1CisjOiBidWlsdGluL2Nsb25lLmM6MTAwCiBtc2dpZCAidG8gY2xvbmUgZnJvbSBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgInBlciBhIGNsb25hciBkZXMgZCd1biBkaXDDsnNpdCBsb2NhbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk3CisjOiBidWlsdGluL2Nsb25lLmM6MTAyCiBtc2dpZCAiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiCiBtc2dzdHIgIm5vIHVzaXMgZW5sbGHDp29zIGR1cnMgbG9jYWxzLCBzZW1wcmUgY29waWEiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNAogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICJjb25maWd1cmEgY29tIGEgZGlww7JzaXQgY29tcGFydGl0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxIGJ1aWx0aW4vY2xvbmUuYzoxMDUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcKIG1zZ2lkICJwYXRoc3BlYyIKIG1zZ3N0ciAiZXNwZWNpZmljYWNpw7MgZGUgY2Ftw60iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEgYnVpbHRpbi9jbG9uZS5jOjEwNQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNwogbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCiBtc2dzdHIgImluaWNpYWxpdHphIGVscyBzdWJtw7JkdWxzIGVuIGVsIGNsb24iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBjbG9uZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgIm5vbWJyZSBkZSBzdWJtw7JkdWxzIGNsb25hdHMgZW4gcGFyYWzCt2xlbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOSBidWlsdGluL2luaXQtZGIuYzo0NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9pbml0LWRiLmM6NDg2CiBtc2dpZCAidGVtcGxhdGUtZGlyZWN0b3J5IgogbXNnc3RyICJkaXJlY3RvcmktZGUtcGxhbnRpbGxhIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OQorIzogYnVpbHRpbi9jbG9uZS5jOjExMiBidWlsdGluL2luaXQtZGIuYzo0ODcKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICJkaXJlY3RvcmkgZGVzIGRlbCBxdWFsIHMndXNhcmFuIGxlcyBwbGFudGlsbGVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEyIGJ1aWx0aW4vY2xvbmUuYzoxMTQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzUKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODU2CisjOiBidWlsdGluL2Nsb25lLmM6MTE0IGJ1aWx0aW4vY2xvbmUuYzoxMTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODg1CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkiCiBtc2dzdHIgImRpcMOyc2l0IGRlIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc3Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1OAorIzogYnVpbHRpbi9jbG9uZS5jOjExOCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODcKIG1zZ2lkICJ1c2UgLS1yZWZlcmVuY2Ugb25seSB3aGlsZSBjbG9uaW5nIgogbXNnc3RyICJ1c2EgLS1yZWZlcmVuY2Ugbm9tw6lzIGVuIGNsb25hciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExNyBidWlsdGluL2NvbHVtbi5jOjI3IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ2Ci0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTkgYnVpbHRpbi9yZXBhY2suYzozMjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTkgYnVpbHRpbi9jb2x1bW4uYzoyNyBidWlsdGluL21lcmdlLWZpbGUuYzo0NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk0IGJ1aWx0aW4vcmVwYWNrLmM6MzI3CiBtc2dpZCAibmFtZSIKIG1zZ3N0ciAibm9tIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE4CisjOiBidWlsdGluL2Nsb25lLmM6MTIwCiBtc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgogbXNnc3RyICJ1c2EgPG5vbT4gZW4gbGxvYyBkZSAnb3JpZ2luJyBwZXIgYSBzZWd1aXIgbGEgZm9udCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyMAorIzogYnVpbHRpbi9jbG9uZS5jOjEyMgogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGluc3RlYWQgb2YgdGhlIHJlbW90ZSdzIEhFQUQiCiBtc2dzdHIgImFnYWZhIDxicmFuY2E+IGVuIGxsb2MgZGUgbGEgSEVBRCBkZWwgcmVtb3QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjQKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICJjYW3DrSBhIGdpdC11cGxvYWQtcGFjayBlbiBlbCByZW1vdCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyMyBidWlsdGluL2ZldGNoLmM6MTQyIGJ1aWx0aW4vZ3JlcC5jOjgyNQotIzogYnVpbHRpbi9wdWxsLmM6MjE3CisjOiBidWlsdGluL2Nsb25lLmM6MTI1IGJ1aWx0aW4vZmV0Y2guYzoxNjggYnVpbHRpbi9ncmVwLmM6ODQwCisjOiBidWlsdGluL3B1bGwuYzoyMjcKIG1zZ2lkICJkZXB0aCIKIG1zZ3N0ciAicHJvZnVuZGl0YXQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjYKIG1zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIG9mIHRoYXQgZGVwdGgiCiBtc2dzdHIgImNyZWEgdW4gY2xvbiBzdXBlcmZpY2lhbCBkZSB0YWwgcHJvZnVuZGl0YXQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjUgYnVpbHRpbi9mZXRjaC5jOjE0NCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjcgYnVpbHRpbi9mZXRjaC5jOjE3MCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODMKIG1zZ2lkICJ0aW1lIgogbXNnc3RyICJob3JhIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI2CisjOiBidWlsdGluL2Nsb25lLmM6MTI4CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBzaW5jZSBhIHNwZWNpZmljIHRpbWUiCiBtc2dzdHIgImNyZWEgdW4gY2xvbiBzdXBlcmZpY2lhbCBkZXMgZCd1bmEgaG9yYSBlc3BlY8OtZmljYSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyNyBidWlsdGluL2ZldGNoLmM6MTQ2IGJ1aWx0aW4vZmV0Y2guYzoxNjkKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODEzCisjOiBidWlsdGluL2Nsb25lLmM6MTI5IGJ1aWx0aW4vZmV0Y2guYzoxNzIgYnVpbHRpbi9mZXRjaC5jOjE5NQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDQ1CiBtc2dpZCAicmV2aXNpb24iCiBtc2dzdHIgInJldmlzacOzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI4IGJ1aWx0aW4vZmV0Y2guYzoxNDcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzAgYnVpbHRpbi9mZXRjaC5jOjE3MwogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUsIGV4Y2x1ZGluZyByZXYiCiBtc2dzdHIgImFwcm9mdW5kZWl4IGxhIGhpc3TDsnJpYSBkJ3VuIGNsb24gc3VwZXJmaWNpYWwsIGV4Y2xvZW50IHVuYSByZXZpc2nDsyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzMAorIzogYnVpbHRpbi9jbG9uZS5jOjEzMgogbXNnaWQgImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIKIG1zZ3N0ciAiY2xvbmEgbm9tw6lzIHVuYSBicmFuY2EsIEhFQUQgbyAtLWJyYW5jaCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzMgorIzogYnVpbHRpbi9jbG9uZS5jOjEzNAogbXNnaWQgImRvbid0IGNsb25lIGFueSB0YWdzLCBhbmQgbWFrZSBsYXRlciBmZXRjaGVzIG5vdCB0byBmb2xsb3cgdGhlbSIKIG1zZ3N0ciAiIgogIm5vIGNsb25ldSBjYXAgZXRpcXVldGEsIGkgZmV1IHF1ZSBlbHMgwqtmZXRjaMK7IHNlZ8O8ZW50cyBubyBlbHMgc2VndWVpeGVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM0CisjOiBidWlsdGluL2Nsb25lLmM6MTM2CiBtc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgYmUgc2hhbGxvdyIKIG1zZ3N0ciAicXVhbHNldm9sIHN1Ym3DsmR1bCBjbG9uYXQgc2Vyw6Agc3VwZXJmaWNpYWwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzUgYnVpbHRpbi9pbml0LWRiLmM6NDg3CisjOiBidWlsdGluL2Nsb25lLmM6MTM3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NQogbXNnaWQgImdpdGRpciIKIG1zZ3N0ciAiZGlyZWN0b3JpIGRlIGdpdCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzNiBidWlsdGluL2luaXQtZGIuYzo0ODgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzggYnVpbHRpbi9pbml0LWRiLmM6NDk2CiBtc2dpZCAic2VwYXJhdGUgZ2l0IGRpciBmcm9tIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAic2VwYXJhIGVsIGRpcmVjdG9yaSBkZSBnaXQgZGUgbCdhcmJyZSBkZSB0cmViYWxsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM3CisjOiBidWlsdGluL2Nsb25lLmM6MTM5CiBtc2dpZCAia2V5PXZhbHVlIgogbXNnc3RyICJjbGF1PXZhbG9yIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM4CisjOiBidWlsdGluL2Nsb25lLmM6MTQwCiBtc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgogbXNnc3RyICJlc3RhYmxlaXggbGEgY29uZmlndXJhY2nDsyBkaW5zIGRlbCBkaXDDsnNpdCBub3UiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzkgYnVpbHRpbi9mZXRjaC5jOjE2NSBidWlsdGluL3B1bGwuYzoyMzAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU4MworIzogYnVpbHRpbi9jbG9uZS5jOjE0MiBidWlsdGluL2ZldGNoLmM6MTkwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MyBidWlsdGluL3NlbmQtcGFjay5jOjE3MgorbXNnaWQgInNlcnZlci1zcGVjaWZpYyIKK21zZ3N0ciAiZXNwZWPDrWZpYyBhbCBzZXJ2aWRvciIKKworIzogYnVpbHRpbi9jbG9uZS5jOjE0MiBidWlsdGluL2ZldGNoLmM6MTkwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MyBidWlsdGluL3NlbmQtcGFjay5jOjE3MworbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKK21zZ3N0ciAib3BjacOzIGEgdHJhbnNtZXRyZSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjE0MyBidWlsdGluL2ZldGNoLmM6MTkxIGJ1aWx0aW4vcHVsbC5jOjI0MAorIzogYnVpbHRpbi9wdXNoLmM6NTc0CiBtc2dpZCAidXNlIElQdjQgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgInVzYSBub23DqXMgYWRyZWNlcyBJUHY0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTQxIGJ1aWx0aW4vZmV0Y2guYzoxNjcgYnVpbHRpbi9wdWxsLmM6MjMzCi0jOiBidWlsdGluL3B1c2guYzo1ODUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDUgYnVpbHRpbi9mZXRjaC5jOjE5MyBidWlsdGluL3B1bGwuYzoyNDMKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3NgogbXNnaWQgInVzZSBJUHY2IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICJ1c2Egbm9tw6lzIGFkcmVjZXMgSVB2NiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjI3OQorIzogYnVpbHRpbi9jbG9uZS5jOjE0OQorIywgZnV6enkKK21zZ2lkICJhbnkgY2xvbmVkIHN1Ym1vZHVsZXMgd2lsbCB1c2UgdGhlaXIgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKK21zZ3N0ciAicXVhbHNldm9sIHN1Ym3DsmR1bCBjbG9uYXQgc2Vyw6Agc3VwZXJmaWNpYWwiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNTEKK21zZ2lkICJpbml0aWFsaXplIHNwYXJzZS1jaGVja291dCBmaWxlIHRvIGluY2x1ZGUgb25seSBmaWxlcyBhdCByb290IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyODcKIG1zZ2lkICIiCiAiTm8gZGlyZWN0b3J5IG5hbWUgY291bGQgYmUgZ3Vlc3NlZC5cbiIKICJQbGVhc2Ugc3BlY2lmeSBhIGRpcmVjdG9yeSBvbiB0aGUgY29tbWFuZCBsaW5lIgpAQCAtOTM1NiwxNDggKzExNjQwLDE0OSBAQAogIk5vIHMnaGEgcG9ndXQgZW5kZXZpbmFyIGNhcCBub20gZGUgZGlyZWN0b3JpLlxuIgogIkVzcGVjaWZpcXVldSB1biBkaXJlY3RvcmkgZW4gbGEgbMOtbmlhIGQnb3JkcmVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzMyCisjOiBidWlsdGluL2Nsb25lLmM6MzQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImluZm86IENvdWxkIG5vdCBhZGQgYWx0ZXJuYXRlIGZvciAnJXMnOiAlc1xuIgogbXNnc3RyICJpbmZvOiBObyBzJ2hhIHBvZ3V0IGFmZWdpciB1biBhbHRlcm5hdGl1IHBlciBhIMKrJXPCuzogJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQwNAotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgotbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyIMKrJXPCuyIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjQxMgorIzogYnVpbHRpbi9jbG9uZS5jOjQxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMgZXhpc3RlaXggaSBubyDDqXMgZGlyZWN0b3JpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDI2Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCi1tc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZmVyIHN0YXQgYSAnJXMnXG4iCisjOiBidWlsdGluL2Nsb25lLmM6NDMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc3RhcnQgaXRlcmF0b3Igb3ZlciAnJXMnIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGEgwqslc8K7IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDQzCi0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKLW1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBkZXNlbmxsYcOnYXIgwqslc8K7IgotCi0jOiBidWlsdGluL2Nsb25lLmM6NDQ4CisjOiBidWlsdGluL2Nsb25lLmM6NDYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgbGluayAnJXMnIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNyZWFyIGwnZW5sbGHDpyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNvcHkgZmlsZSB0byAnJXMnIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNvcGlhciBlbCBmaXR4ZXIgYSDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpdGVyYXRlIG92ZXIgJyVzJyIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlbGltaW5hciDCqyVzwrsiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG9uZS5cbiIKIG1zZ3N0ciAiZmV0LlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDkyCisjOiBidWlsdGluL2Nsb25lLmM6NTA4CisjLCBmdXp6eQogbXNnaWQgIiIKICJDbG9uZSBzdWNjZWVkZWQsIGJ1dCBjaGVja291dCBmYWlsZWQuXG4iCiAiWW91IGNhbiBpbnNwZWN0IHdoYXQgd2FzIGNoZWNrZWQgb3V0IHdpdGggJ2dpdCBzdGF0dXMnXG4iCi0iYW5kIHJldHJ5IHRoZSBjaGVja291dCB3aXRoICdnaXQgY2hlY2tvdXQgLWYgSEVBRCdcbiIKKyJhbmQgcmV0cnkgd2l0aCAnZ2l0IHJlc3RvcmUgLS1zb3VyY2U9SEVBRCA6LydcbiIKIG1zZ3N0ciAiIgogIkVsIGNsb25hdGdlIGhhIHRpbmd1dCDDqHhpdCwgcGVyw7IgbCdhZ2FmYW1lbnQgaGFcbiIKICJmYWxsYXQuIFBvZGV1IGluc3BlY2Npb25hciBxdcOoIHMnaGEgYWdhZmF0IGFtYlxuIgogIidnaXQgc3RhdHVzJyBpIHRvcm5hciBhIGludGVudGFyIGwnYWdhZmFtZW50IGFtYlxuIgogIidnaXQgY2hlY2tvdXQgLWYgSEVBRCdcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjU2OQorIzogYnVpbHRpbi9jbG9uZS5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCByZW1vdGUgYnJhbmNoICVzIHRvIGNsb25lLiIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCB0cm9iYXIgbGEgYnJhbmNhIHJlbW90YSAlcyBwZXIgYSBjbG9uYXIuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjgwCisjOiBidWlsdGluL2Nsb25lLmM6NzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWN0dWFsaXR6YXIgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NTIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgc3BhcnNlLWNoZWNrb3V0IgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGZpbmFsaXR6YXIgwqslc8K7IgorCisjOiBidWlsdGluL2Nsb25lLmM6Nzc1CiBtc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgogbXNnc3RyICIiCiAibGEgSEVBRCByZW1vdCBlcyByZWZlcmVpeCBhIHVuYSByZWZlcsOobmNpYSBxdWUgbm8gZXhpc3RlaXg7IG5vIHMnaGEgcG9ndXQgIgogImFnYWZhci5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2MQorIzogYnVpbHRpbi9jbG9uZS5jOjgwNgogbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWdhZmFyIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgwNgorIzogYnVpbHRpbi9jbG9uZS5jOjg1NgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBwYXJhbWV0ZXJzIHRvIGNvbmZpZyBmaWxlIgogbXNnc3RyICJubyBzJ2hhbiBwb2d1dCBlc2NyaXVyZSBlbHMgcGFyw6BtZXRyZXMgYWwgZml0eGVyIGRlIGNvbmZpZ3VyYWNpw7MiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MTkKIG1zZ2lkICJjYW5ub3QgcmVwYWNrIHRvIGNsZWFuIHVwIgogbXNnc3RyICJubyBlcyBwb3QgcmVlbXBhcXVldGFyIHBlciBhIG5ldGVqYXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MjEKIG1zZ2lkICJjYW5ub3QgdW5saW5rIHRlbXBvcmFyeSBhbHRlcm5hdGVzIGZpbGUiCiBtc2dzdHIgIm5vIGVzIHBvdCBkZXNlbmxsYcOnYXIgZWwgZml0eGVyIGQnYWx0ZXJuYXRpdmVzIHRlbXBvcmFsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTExIGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk0MQorIzogYnVpbHRpbi9jbG9uZS5jOjk1OSBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NDgKIG1zZ2lkICJUb28gbWFueSBhcmd1bWVudHMuIgogbXNnc3RyICJIaSBoYSBtYXNzYSBwYXLDoG1ldHJlcy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjMKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgcmVwb3NpdG9yeSB0byBjbG9uZS4iCiBtc2dzdHIgIkhldSBkJ2VzcGVjaWZpY2FyIHVuIGRpcMOyc2l0IHBlciBhIGNsb25hci4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MjgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1iYXJlIGFuZCAtLW9yaWdpbiAlcyBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICJsZXMgb3BjaW9ucyAtLWJhcmUgaSAtLW9yaWdpbiAlcyBzw7NuIGluY29tcGF0aWJsZXMuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTMxCisjOiBidWlsdGluL2Nsb25lLmM6OTc5CiBtc2dpZCAiLS1iYXJlIGFuZCAtLXNlcGFyYXRlLWdpdC1kaXIgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgIi0tYmFyZSBpIC0tc2VwYXJhdGUtZ2l0LWRpciBzw7NuIGluY29tcGF0aWJsZXMuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQ0CisjOiBidWlsdGluL2Nsb25lLmM6OTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiZWwgZGlww7JzaXQgwqslc8K7IG5vIGV4aXN0ZWl4IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTUwIGJ1aWx0aW4vZmV0Y2guYzoxNjA2CisjOiBidWlsdGluL2Nsb25lLmM6OTk4IGJ1aWx0aW4vZmV0Y2guYzoxNzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKIG1zZ3N0ciAibGEgcHJvZnVuZGl0YXQgJXMgbm8gw6lzIG5vbWJyZSBwb3NpdGl1IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTYwCisjOiBidWlsdGluL2Nsb25lLmM6MTAwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiBwYXRoICclcycgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhbiBlbXB0eSBkaXJlY3RvcnkuIgogbXNnc3RyICJlbCBjYW3DrSBkZXN0w60gwqslc8K7IGphIGV4aXN0ZWl4IGkgbm8gw6lzIHVuIGRpcmVjdG9yaSBidWl0LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk3MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAid29ya2luZyB0cmVlICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICJsJ2FyYnJlIGRlIHRyZWJhbGwgwqslc8K7IGphIGV4aXN0ZWl4LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4NSBidWlsdGluL2Nsb25lLmM6MTAwNiBidWlsdGluL2RpZmZ0b29sLmM6MjcxCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Mjk1IGJ1aWx0aW4vd29ya3RyZWUuYzozMjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDMzIGJ1aWx0aW4vY2xvbmUuYzoxMDU0IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTg2NiBidWlsdGluL3dvcmt0cmVlLmM6MzAyIGJ1aWx0aW4vd29ya3RyZWUuYzozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgIm5vIHMnaGFuIHBvZ3V0IGNyZWFyIGVscyBkaXJlY3RvcmlzIGluaWNpYWxzIGRlIMKrJXPCuyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgZWwgZGlyZWN0b3JpIGQnYXJicmUgZGUgdHJlYmFsbCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEwCisjOiBidWlsdGluL2Nsb25lLmM6MTA1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKIG1zZ3N0ciAiUydlc3TDoCBjbG9uYW50IGFsIGRpcMOyc2l0IG51IMKrJXPCuy4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxMgorIzogYnVpbHRpbi9jbG9uZS5jOjEwNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAiUydlc3TDoCBjbG9uYW50IGEgwqslc8K7Li4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDM2CisjOiBidWlsdGluL2Nsb25lLmM6MTA4NAogbXNnaWQgIiIKICJjbG9uZSAtLXJlY3Vyc2l2ZSBpcyBub3QgY29tcGF0aWJsZSB3aXRoIGJvdGggLS1yZWZlcmVuY2UgYW5kIC0tcmVmZXJlbmNlLWlmLSIKICJhYmxlIgpAQCAtOTUwNSwzOCArMTE3OTAsMzggQEAKICJjbG9uZSAtLXJlY3Vyc2l2ZSBubyDDqXMgY29tcGF0aWJsZSBhbWIgYW1iZMOzcyAtLXJlZmVyZW5jZSBpIC0tcmVmZXJlbmNlLWlmLSIKICJhYmxlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5NworIzogYnVpbHRpbi9jbG9uZS5jOjExNDgKIG1zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiLS1kZXB0aCBzJ2lnbm9yYSBlbiBlbHMgY2xvbnMgbG9jYWxzOyB1c2V1IGZpbGU6Ly8gZW4gbGxvYyBkJ2FpeMOyLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTUwCiBtc2dpZCAiLS1zaGFsbG93LXNpbmNlIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogIi0tc2hhbGxvdy1zaW5jZSBzJ2lnbm9yYSBlbiBlbHMgY2xvbnMgbG9jYWxzOyB1c2V1IGZpbGU6Ly8gZW4gbGxvYyBkJ2FpeMOyLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTUyCiBtc2dpZCAiLS1zaGFsbG93LWV4Y2x1ZGUgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICIiCiAiLS1zaGFsbG93LWV4Y2x1ZGUgcydpZ25vcmEgZW4gZWxzIGNsb25zIGxvY2FsczsgdXNldSBmaWxlOi8vIGVuIGxsb2MgZCdhaXjDsi4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAzCisjOiBidWlsdGluL2Nsb25lLmM6MTE1NAogbXNnaWQgIi0tZmlsdGVyIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiLS1maWx0ZXIgcydpZ25vcmEgZW4gZWxzIGNsb25zIGxvY2FsczsgdXNldSBmaWxlOi8vIGVuIGxsb2MgZCdhaXjDsi4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTA2CisjOiBidWlsdGluL2Nsb25lLmM6MTE1NwogbXNnaWQgInNvdXJjZSByZXBvc2l0b3J5IGlzIHNoYWxsb3csIGlnbm9yaW5nIC0tbG9jYWwiCiBtc2dzdHIgImVsIGRpcMOyc2l0IGZvbnQgw6lzIHN1cGVyZmljaWFsLCBzJ2VzdMOgIGlnbm9yYW50IC0tbG9jYWwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTExCisjOiBidWlsdGluL2Nsb25lLmM6MTE2MgogbXNnaWQgIi0tbG9jYWwgaXMgaWdub3JlZCIKIG1zZ3N0ciAiLS1sb2NhbCBzJ2lnbm9yYSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExODEgYnVpbHRpbi9jbG9uZS5jOjExODkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjM3IGJ1aWx0aW4vY2xvbmUuYzoxMjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgogbXNnc3RyICJMYSBicmFuY2EgcmVtb3RhICVzIG5vIGVzIHRyb2JhIGVuIGxhIGZvbnQgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTkyCisjOiBidWlsdGluL2Nsb25lLmM6MTI0OAogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIlNlbWJsYSBxdWUgaGV1IGNsb25hdCB1biBkaXDDsnNpdCBidWl0LiIKIApAQCAtOTU3MiwxNSArMTE4NTcsODYgQEAKIG1zZ2lkICItLWNvbW1hbmQgbXVzdCBiZSB0aGUgZmlyc3QgYXJndW1lbnQiCiBtc2dzdHIgIi0tY29tbWFuZCBoYSBkZSBzZXIgZWwgcHJpbWVyIHBhcsOgbWV0cmUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDAKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxOAorbXNnaWQgIiIKKyJnaXQgY29tbWl0LXRyZWUgWygtcCA8cGFyZW50PikuLi5dIFstU1s8a2V5aWQ+XV0gWygtbSA8bWVzc2FnZT4pLi4uXSBbKC1GICIKKyI8ZmlsZT4pLi4uXSA8dHJlZT4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkdXBsaWNhdGUgcGFyZW50ICVzIGlnbm9yZWQiCittc2dzdHIgInN1cHJpbWVpeCBsZXMgcmVmZXLDqG5jaWVzIHJlZW1wbGHDp2FkZXMiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzo1NiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTM2IGJ1aWx0aW4vbG9nLmM6NTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKK21zZ3N0ciAibm8gw6lzIHVuIG5vbSBkJ29iamVjdGUgdsOgbGlkOiAlcyIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byBvcGVuICclcyciCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXIgwqslc8K7IgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIHJlYWQgJyVzJyIKK21zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUgaGEgZmFsbGF0IGVuIGVzY3JpdXJlIHVuIGFyYnJlIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIGNsb3NlICclcyciCittc2dzdHIgImdpdCB3cml0ZS10cmVlIGhhIGZhbGxhdCBlbiBlc2NyaXVyZSB1biBhcmJyZSIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExMQorIywgZnV6enkKK21zZ2lkICJwYXJlbnQiCittc2dzdHIgInBhcmUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAiaWQgb2YgYSBwYXJlbnQgY29tbWl0IG9iamVjdCIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlc2NyaXVyZSBsJ29iamVjdGUgZGUgY29taXNzacOzIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTE0IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NiBidWlsdGluL21lcmdlLmM6MjcwCisjOiBidWlsdGluL25vdGVzLmM6NDA5IGJ1aWx0aW4vbm90ZXMuYzo1NzUgYnVpbHRpbi9zdGFzaC5jOjE0NjkKKyM6IGJ1aWx0aW4vdGFnLmM6NDEyCittc2dpZCAibWVzc2FnZSIKK21zZ3N0ciAibWlzc2F0Z2UiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTUgYnVpbHRpbi9jb21taXQuYzoxNDk2Cittc2dpZCAiY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgIm1pc3NhdGdlIGRlIGNvbWlzc2nDsyIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExOAorIywgZnV6enkKK21zZ2lkICJyZWFkIGNvbW1pdCBsb2cgbWVzc2FnZSBmcm9tIGZpbGUiCittc2dzdHIgImxsZWdpdSBlbCBtaXNzYXRnZSBkZXMgZCd1biBmaXR4ZXIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMjEgYnVpbHRpbi9jb21taXQuYzoxNTA4IGJ1aWx0aW4vbWVyZ2UuYzoyODcKKyM6IGJ1aWx0aW4vcHVsbC5jOjE5NSBidWlsdGluL3JldmVydC5jOjExOAorbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKK21zZ3N0ciAic2lnbmEgbGEgY29taXNzacOzIGFtYiBHUEciCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAibXVzdCBnaXZlIGV4YWN0bHkgb25lIHRyZWUiCittc2dzdHIgIkNhbCBleGFjdGFtZW50IHVuIHJhbmcuIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTQwCisjLCBmdXp6eQorbXNnaWQgImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIHJlYWQiCittc2dzdHIgImdpdCB3cml0ZS10cmVlIGhhIGZhbGxhdCBlbiBlc2NyaXVyZSB1biBhcmJyZSIKKworIzogYnVpbHRpbi9jb21taXQuYzo0MQogbXNnaWQgImdpdCBjb21taXQgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgY29tbWl0IFs8b3BjaW9ucz5dIFstLV0gPGVzcGVjaWZpY2FjacOzLWRlLWNhbcOtPi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NQorIzogYnVpbHRpbi9jb21taXQuYzo0NgogbXNnaWQgImdpdCBzdGF0dXMgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgc3RhdHVzIFs8b3BjaW9ucz5dIFstLV0gPGVzcGVjaWZpY2FjacOzLWRlLWNhbcOtPi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1MAorIzogYnVpbHRpbi9jb21taXQuYzo1MQogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gYW1lbmQgdGhlIG1vc3QgcmVjZW50IGNvbW1pdCwgYnV0IGRvaW5nIHNvIHdvdWxkIG1ha2VcbiIKICJpdCBlbXB0eS4gWW91IGNhbiByZXBlYXQgeW91ciBjb21tYW5kIHdpdGggLS1hbGxvdy1lbXB0eSwgb3IgeW91IGNhblxuIgpAQCAtOTU5MCw3ICsxMTk0Niw3IEBACiAiZGVpeGFyaWEgYnVpZGEuIFBvZGV1IHJlcGV0aXIgbGEgdm9zdHJhIG9yZHJlIGFtYiAtLWFsbG93LWVtcHR5LCBvXG4iCiAicG9kZXUgZWxpbWluYXIgbGEgY29taXNzacOzIHBlciBjb21wbGV0IGFtYiBcImdpdCByZXNldCBIRUFEXlwiLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU1CisjOiBidWlsdGluL2NvbW1pdC5jOjU2CiBtc2dpZCAiIgogIlRoZSBwcmV2aW91cyBjaGVycnktcGljayBpcyBub3cgZW1wdHksIHBvc3NpYmx5IGR1ZSB0byBjb25mbGljdCByZXNvbHV0aW9uLlxuIgogIklmIHlvdSB3aXNoIHRvIGNvbW1pdCBpdCBhbnl3YXksIHVzZTpcbiIKQEAgLTk2MDUsODEgKzExOTYxLDg4IEBACiAiICAgIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eVxuIgogIlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYyCi1tc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgcmVzZXQnXG4iCisjOiBidWlsdGluL2NvbW1pdC5jOjYzCisjLCBmdXp6eQorbXNnaWQgIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IGNoZXJyeS1waWNrIC0tc2tpcCdcbiIKIG1zZ3N0ciAiRCdhbHRyYSBtYW5lcmEsIHVzZXUgwqtnaXQgcmVzZXTCu1xuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY1CisjOiBidWlsdGluL2NvbW1pdC5jOjY2CiBtc2dpZCAiIgorImFuZCB0aGVuIHVzZTpcbiIKKyJcbiIKKyIgICAgZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcbiIKKyJcbiIKKyJ0byByZXN1bWUgY2hlcnJ5LXBpY2tpbmcgdGhlIHJlbWFpbmluZyBjb21taXRzLlxuIgogIklmIHlvdSB3aXNoIHRvIHNraXAgdGhpcyBjb21taXQsIHVzZTpcbiIKICJcbiIKLSIgICAgZ2l0IHJlc2V0XG4iCisiICAgIGdpdCBjaGVycnktcGljayAtLXNraXBcbiIKICJcbiIKLSJUaGVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiB3aWxsIHJlc3VtZSBjaGVycnktcGlja2luZ1xuIgotInRoZSByZW1haW5pbmcgY29tbWl0cy5cbiIKIG1zZ3N0ciAiIgotIlNpIHZvbGV1IG9tZXRyZSBhcXVlc3RhIGNvbWlzc2nDsywgdXNldTpcbiIKLSJcbiIKLSIgICAgZ2l0IHJlc2V0XG4iCi0iXG4iCi0iTGxhdm9ycyBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgcmVwcmVuZHLDoFxuIgotImNvbSBhIMKrY2hlcnJ5IHBpY2vCuyBsZXMgY29taXNzaW9ucyByZXN0YW50cy5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzE1CiBtc2dpZCAiZmFpbGVkIHRvIHVucGFjayBIRUFEIHRyZWUgb2JqZWN0IgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGRlc2VtcGFxdWV0YXIgbCdvYmplY3RlIGQnYXJicmUgSEVBRCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzUxCisjLCBmdXp6eQorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiLWEgbm8gdMOpIHNlbnRpdCBhbWIgY2FtaW5zLiIKKworIzogYnVpbHRpbi9jb21taXQuYzozNjQKK21zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCittc2dzdHIgIi0taW5jbHVkZS8tLW9ubHkgbm8gdMOpIHNlbnRpdCBzZW5zZSBjYW3DrS4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Mzc2CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgdW4gw61uZGV4IHRlbXBvcmFsIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1OAorIzogYnVpbHRpbi9jb21taXQuYzozODIKIG1zZ2lkICJpbnRlcmFjdGl2ZSBhZGQgZmFpbGVkIgogbXNnc3RyICJsJ2FmZWdpbWVudCBpbnRlcmFjdGl1IGhhIGZhbGxhdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Mzk2CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWN0dWFsaXR6YXIgbCfDrW5kZXggdGVtcG9yYWwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzczCisjOiBidWlsdGluL2NvbW1pdC5jOjM5OAogbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgbWFpbiBjYWNoZSB0cmVlIgogbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGFjdHVhbGl0emFyIGwnYXJicmUgcHJpbmNpcGFsIGRlIG1lbcOycmlhIGNhdSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozOTggYnVpbHRpbi9jb21taXQuYzo0MjEgYnVpbHRpbi9jb21taXQuYzo0NjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDIzIGJ1aWx0aW4vY29tbWl0LmM6NDQ2IGJ1aWx0aW4vY29tbWl0LmM6NDkyCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGVsIGZpdHhlciBuZXdfaW5kZXgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDUwCisjOiBidWlsdGluL2NvbW1pdC5jOjQ3NQogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIG1lcmdlLiIKIG1zZ3N0ciAibm8gZXMgcG90IGZlciB1bmEgY29taXNzacOzIHBhcmNpYWwgZHVyYW50IHVuYSBmdXNpw7MuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1MgorIzogYnVpbHRpbi9jb21taXQuYzo0NzcKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgIm5vIGVzIHBvdCBmZXIgdW5hIGNvbWlzc2nDsyBwYXJjaWFsIGR1cmFudCB1biDCq2NoZXJyeSBwaWNrwrsuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ2MAorIzogYnVpbHRpbi9jb21taXQuYzo0ODUKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgbCfDrW5kZXgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDc5CisjOiBidWlsdGluL2NvbW1pdC5jOjUwNAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggZmlsZSIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSB1biBmaXR4ZXIgZCfDrW5kZXggdGVtcG9yYWwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTc3CisjOiBidWlsdGluL2NvbW1pdC5jOjYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJyVzJyBsYWNrcyBhdXRob3IgaGVhZGVyIgogbXNnc3RyICJhIGxhIGNvbWlzc2nDsyDCqyVzwrsgbGkgbWFuY2EgbGEgY2Fww6dhbGVyYSBkJ2F1dG9yIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU3OQorIzogYnVpbHRpbi9jb21taXQuYzo2MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICclcycgaGFzIG1hbGZvcm1lZCBhdXRob3IgbGluZSIKIG1zZ3N0ciAibGEgY29taXNzacOzIMKrJXPCuyB0w6kgdW5hIGzDrW5pYSBkJ2F1dG9yIG1hbCBmb3JtYWRhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU5OAorIzogYnVpbHRpbi9jb21taXQuYzo2MjMKIG1zZ2lkICJtYWxmb3JtZWQgLS1hdXRob3IgcGFyYW1ldGVyIgogbXNnc3RyICJwYXLDoG1ldHJlIC0tYXV0aG9yIG1hbCBmb3JtYXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjUwCisjOiBidWlsdGluL2NvbW1pdC5jOjY3NgogbXNnaWQgIiIKICJ1bmFibGUgdG8gc2VsZWN0IGEgY29tbWVudCBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgdXNlZFxuIgogImluIHRoZSBjdXJyZW50IGNvbW1pdCBtZXNzYWdlIgpAQCAtOTY4NywzOCArMTIwNTAsMzggQEAKICJubyBlcyBwb3Qgc2VsZWNjaW9uYXIgdW4gY2Fyw6BjdGVyIGRlIGNvbWVudGFyaSBxdWVcbiIKICJubyBzaWd1aSB1c2F0IGVuIGVsIG1pc3NhdGdlIGRlIGNvbWlzc2nDsyBhY3R1YWwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Njg3IGJ1aWx0aW4vY29tbWl0LmM6NzIwIGJ1aWx0aW4vY29tbWl0LmM6MTA0OQorIzogYnVpbHRpbi9jb21taXQuYzo3MTQgYnVpbHRpbi9jb21taXQuYzo3NDcgYnVpbHRpbi9jb21taXQuYzoxMDkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgY29tbWl0ICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHRyb2JhciBsYSBjb21pc3Npw7MgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Njk5IGJ1aWx0aW4vc2hvcnRsb2cuYzozMTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzI2IGJ1aWx0aW4vc2hvcnRsb2cuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAiKHMnZXN0w6AgbGxlZ2ludCBlbCBtaXNzYXRnZSBkZSByZWdpc3RyZSBkZXMgZGUgbCdlbnRyYWRhIGVzdMOgbmRhcmQpXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzAxCisjOiBidWlsdGluL2NvbW1pdC5jOjcyOAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCByZWdpc3RyZSBkZXMgZGUgbCdlbnRyYWRhIGVzdMOgbmRhcmQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzA1CisjOiBidWlsdGluL2NvbW1pdC5jOjczMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZmlsZSAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBmaXR4ZXIgZGUgcmVnaXN0cmUgwqslc8K7IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczNCBidWlsdGluL2NvbW1pdC5jOjc0MgorIzogYnVpbHRpbi9jb21taXQuYzo3NjMgYnVpbHRpbi9jb21taXQuYzo3NzkKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBTUVVBU0hfTVNHIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBTUVVBU0hfTVNHIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczOQorIzogYnVpbHRpbi9jb21taXQuYzo3NzAKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NU0ciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIE1FUkdFX01TRyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODMwCiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwbGFudGlsbGEgZGUgY29taXNzacOzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgxMQorIzogYnVpbHRpbi9jb21taXQuYzo4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtOTczMyw3ICsxMjA5Niw3IEBACiAiXHQlc1xuIgogImkgaW50ZW50ZXUtaG8gZGUgbm91LlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgxNgorIzogYnVpbHRpbi9jb21taXQuYzo4NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtOTc0OCwxNyArMTIxMTEsMTcgQEAKICJcdCVzXG4iCiAiaSBpbnRlbnRldS1obyBkZSBub3UuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODI5CisjOiBidWlsdGluL2NvbW1pdC5jOjg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgogIndpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQsIGFuZCBhbiBlbXB0eSBtZXNzYWdlIGFib3J0cyB0aGUgY29tbWl0LlxuIgogbXNnc3RyICIiCiAiSW50cm9kdcOvdSBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MgZGVscyB2b3N0cmVzIGNhbnZpcy5cbiIKLSJTJ2lnbm9yYXJhbiBsZXMgbMOtbmllcyBjb21lbsOnYW50IGFtYiAnJWMnLCBpIHVuIG1pc3NhdGdlIGRlXG4iCisiUydpZ25vcmFyYW4gbGVzIGzDrW5pZXMgcXVlIGNvbWVuY2luIGFtYiDCqyVjwrssIGkgdW4gbWlzc2F0Z2UgZGVcbiIKICJjb21pc3Npw7MgYnVpdCBhdm9ydGEgbGEgY29taXNzacOzLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgzNworIzogYnVpbHRpbi9jb21taXQuYzo4NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTk3NjYsMTU0ICsxMjEyOSwxNDYgQEAKICJBbiBlbXB0eSBtZXNzYWdlIGFib3J0cyB0aGUgY29tbWl0LlxuIgogbXNnc3RyICIiCiAiSW50cm9kdcOvdSBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MgZGVscyB2b3N0cmVzIGNhbnZpcy5cbiIKLSJFcyBtYW50aW5kcmFuIGxlcyBsw61uaWVzIHF1ZSBjb21lbmNpbiBhbWIgJyVjJzsgcG9kZXUgZWxpbWluYXItbGVzICIKKyJFcyBtYW50aW5kcmFuIGxlcyBsw61uaWVzIHF1ZSBjb21lbmNpbiBhbWIgwqslY8K7OyBwb2RldSBlbGltaW5hci1sZXMgIgogInZvc2FsdHJlc1xuIgogIm1hdGVpeG9zIHNpIHZvbGV1LiBVbiBtaXNzYXRnZSBidWl0IGF2b3J0YSBsYSBjb21pc3Npw7MuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODU0CisjOiBidWlsdGluL2NvbW1pdC5jOjg5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0F1dGhvcjogICAgJS4qcyA8JS4qcz4iCiBtc2dzdHIgIiVzQXV0b3I6ICAgICUuKnMgPCUuKnM+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg2MgorIzogYnVpbHRpbi9jb21taXQuYzo5MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNEYXRlOiAgICAgICVzIgogbXNnc3RyICIlc0RhdGE6ICAgICAgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODY5CisjOiBidWlsdGluL2NvbW1pdC5jOjkwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0NvbW1pdHRlcjogJS4qcyA8JS4qcz4iCiBtc2dzdHIgIiVzQ29taXRlbnQ6ICUuKnMgPCUuKnM+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg4NworIzogYnVpbHRpbi9jb21taXQuYzo5MjUKIG1zZ2lkICJDYW5ub3QgcmVhZCBpbmRleCIKIG1zZ3N0ciAiTm8gZXMgcG90IGxsZWdpciBsJ8OtbmRleCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTkyCiBtc2dpZCAiRXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgIkVycm9yIGVuIGNvbnN0cnVpciBhcmJyZXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTY3IGJ1aWx0aW4vdGFnLmM6MjU4CisjOiBidWlsdGluL2NvbW1pdC5jOjEwMDYgYnVpbHRpbi90YWcuYzoyNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbWVzc2FnZSB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uLlxuIgogbXNnc3RyICJFc3BlY2lmaXF1ZXUgZWwgbWlzc2F0Z2UgdXNhbnQgbCdvcGNpw7MgLW0gbyBsJ29wY2nDsyAtRi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDExCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1hdXRob3IgJyVzJyBpcyBub3QgJ05hbWUgPGVtYWlsPicgYW5kIG1hdGNoZXMgbm8gZXhpc3RpbmcgYXV0aG9yIgogbXNnc3RyICIiCiAiLS1hdXRob3Igwqslc8K7IG5vIMOpcyDCq05vbSA8YWRyZcOnYS1lbGVjdHLDsm5pY2E+wrsgaSBubyBjb2luY2lkZWl4IGFtYlxuIgogImNhcCBhdXRvciBleGlzdGVudCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDI1CisjOiBidWlsdGluL2NvbW1pdC5jOjEwNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBpZ25vcmVkIG1vZGUgJyVzJyIKIG1zZ3N0ciAibW9kZSBpZ25vcmF0IG5vIHbDoGxpZCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAzOSBidWlsdGluL2NvbW1pdC5jOjEyNzYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA4MiBidWlsdGluL2NvbW1pdC5jOjEzMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB1bnRyYWNrZWQgZmlsZXMgbW9kZSAnJXMnIgogbXNnc3RyICJNb2RlIGRlIGZpdHhlcnMgbm8gc2VndWl0cyBubyB2w6BsaWQgwqslc8K7IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyMgogbXNnaWQgIi0tbG9uZyBhbmQgLXogYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1sb25nIGkgLXogc8OzbiBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NgogbXNnaWQgIlVzaW5nIGJvdGggLS1yZXNldC1hdXRob3IgYW5kIC0tYXV0aG9yIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIlVzYXIgYW1iZMOzcyAtLXJlc2V0LWF1dGhvciBpIC0tYXV0aG9yIG5vIHTDqSBzZW50aXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExOQorIzogYnVpbHRpbi9jb21taXQuYzoxMTc1CiBtc2dpZCAiWW91IGhhdmUgbm90aGluZyB0byBhbWVuZC4iCiBtc2dzdHIgIk5vIHRlbml1IHJlcyBhIGVzbWVuYXIuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3OAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIkVzdGV1IGVubWlnIGQndW5hIGZ1c2nDsyAtLSBubyBlcyBwb3QgZXNtZW5hci4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNAorIzogYnVpbHRpbi9jb21taXQuYzoxMTgwCiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgY2hlcnJ5LXBpY2sgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiRXN0ZXUgZW5taWcgZCd1biDCq2NoZXJyeSBwaWNrwrsgLS0gbm8gZXMgcG90IGVzbWVuYXIuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MwogbXNnaWQgIk9wdGlvbnMgLS1zcXVhc2ggYW5kIC0tZml4dXAgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIkxlcyBvcGNpb25zIC0tc3F1YXNoIGkgLS1maXh1cCBubyBlcyBwb2RlbiB1c2FyIGp1bnRlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTM3CisjOiBidWlsdGluL2NvbW1pdC5jOjExOTMKIG1zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiTm9tw6lzIHVuIGRlIC1jLy1DLy1GLy0tZml4dXAgZXMgcG90IHVzYXIuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE5NQogbXNnaWQgIk9wdGlvbiAtbSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtYy8tQy8tRi4iCiBtc2dzdHIgIkwnb3BjacOzIC1tIG5vIGVzIHBvdCBjb21iaW5hciBhbWIgLWMvLUMvLUYvLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTQ3CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMDMKIG1zZ2lkICItLXJlc2V0LWF1dGhvciBjYW4gYmUgdXNlZCBvbmx5IHdpdGggLUMsIC1jIG9yIC0tYW1lbmQuIgogbXNnc3RyICItLXJlc2V0LWF1dGhvciBub23DqXMgZXMgcG90IHVzYXIgYW1iIC1DLCAtYyBvIC0tYW1lbmQuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyMAogbXNnaWQgIk9ubHkgb25lIG9mIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiTm9tw6lzIHVuIGRlIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIGVzIHBvdCB1c2FyLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTY2Ci1tc2dpZCAiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgotbXNnc3RyICItLWluY2x1ZGUvLS1vbmx5IG5vIHTDqSBzZW50aXQgc2Vuc2UgY2Ftw60uIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjExODAgYnVpbHRpbi90YWcuYzo1NDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCi1tc2dzdHIgIk1vZGUgZGUgbmV0ZWphIG5vIHbDoGxpZCAlcyIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMTg1Ci1tc2dpZCAiUGF0aHMgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGF0aHMgJyVzIC4uLicgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItYSBubyB0w6kgc2VudGl0IGFtYiBjYW1pbnMuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTEgYnVpbHRpbi9jb21taXQuYzoxNDk1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTcgYnVpbHRpbi9jb21taXQuYzoxNTE5CiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICJtb3N0cmEgbCdlc3RhdCBjb25jaXNhbWVudCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzEzIGJ1aWx0aW4vY29tbWl0LmM6MTQ5NworIzogYnVpbHRpbi9jb21taXQuYzoxMzU5IGJ1aWx0aW4vY29tbWl0LmM6MTUyMQogbXNnaWQgInNob3cgYnJhbmNoIGluZm9ybWF0aW9uIgogbXNnc3RyICJtb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgYnJhbmNhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MQogbXNnaWQgInNob3cgc3Rhc2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgIm1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSDCq3N0YXNowrsiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxNyBidWlsdGluL2NvbW1pdC5jOjE0OTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MyBidWlsdGluL2NvbW1pdC5jOjE1MjMKIG1zZ2lkICJjb21wdXRlIGZ1bGwgYWhlYWQvYmVoaW5kIHZhbHVlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2NQogbXNnaWQgInZlcnNpb24iCiBtc2dzdHIgInZlcnNpw7MiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxOSBidWlsdGluL2NvbW1pdC5jOjE1MDEgYnVpbHRpbi9wdXNoLmM6NTU4Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjM5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjUgYnVpbHRpbi9jb21taXQuYzoxNTI1IGJ1aWx0aW4vcHVzaC5jOjU0OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY1MAogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICJzb3J0aWRhIGxsZWdpYmxlIHBlciBtw6BxdWluYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzIyIGJ1aWx0aW4vY29tbWl0LmM6MTUwMworIzogYnVpbHRpbi9jb21taXQuYzoxMzY4IGJ1aWx0aW4vY29tbWl0LmM6MTUyNwogbXNnaWQgInNob3cgc3RhdHVzIGluIGxvbmcgZm9ybWF0IChkZWZhdWx0KSIKIG1zZ3N0ciAibW9zdHJhIGwnZXN0YXQgZW4gZm9ybWF0IGxsYXJnIChwZXIgZGVmZWN0ZSkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyNSBidWlsdGluL2NvbW1pdC5jOjE1MDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3MSBidWlsdGluL2NvbW1pdC5jOjE1MzAKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKIG1zZ3N0ciAiYWNhYmEgbGVzIGVudHJhZGVzIGFtYiBOVUwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyNyBidWlsdGluL2NvbW1pdC5jOjEzMzEgYnVpbHRpbi9jb21taXQuYzoxNTA5Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwNyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxMCBidWlsdGluL3JlYmFzZS5jOjg5MgotIzogYnVpbHRpbi90YWcuYzo0MDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3MyBidWlsdGluL2NvbW1pdC5jOjEzNzcgYnVpbHRpbi9jb21taXQuYzoxNTMzCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1MyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1NgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTkgYnVpbHRpbi9yZWJhc2UuYzoxNTI1IHBhcnNlLW9wdGlvbnMuaDozMzYKIG1zZ2lkICJtb2RlIgogbXNnc3RyICJtb2RlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjggYnVpbHRpbi9jb21taXQuYzoxNTA5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNzQgYnVpbHRpbi9jb21taXQuYzoxNTMzCiBtc2dpZCAic2hvdyB1bnRyYWNrZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiBhbGwsIG5vcm1hbCwgbm8uIChEZWZhdWx0OiBhbGwpIgogbXNnc3RyICIiCiAibW9zdHJhIGVscyBmaXR4ZXJzIG5vIHNlZ3VpdHMsIG1vZGVzIG9wY2lvbmFsczogYWxsLCBub3JtYWwsIG5vLiAoUGVyICIKICJkZWZlY3RlOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3OAogbXNnaWQgIiIKICJzaG93IGlnbm9yZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiB0cmFkaXRpb25hbCwgbWF0Y2hpbmcsIG5vLiAoRGVmYXVsdDogIgogInRyYWRpdGlvbmFsKSIKQEAgLTk5MjEsMTEgKzEyMjc2LDExIEBACiAibW9zdHJhIGVscyBmaXR4ZXJzIGlnbm9yYXRzLCBtb2RlcyBvcGNpb25hbHM6IHRyYWRpdGlvbmFsLCBtYXRjaGluZywgbm8uICIKICIoUGVyIGRlZmVjdGU6IHRyYWRpdGlvbmFsLCBtYXRjaGluZywgbm8uKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM0IHBhcnNlLW9wdGlvbnMuaDoxNjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4MCBwYXJzZS1vcHRpb25zLmg6MTkyCiBtc2dpZCAid2hlbiIKIG1zZ3N0ciAicXVhbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODEKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCkBAIC05OTMzLDI1MyArMTIyODgsMjQ0IEBACiAiaWdub3JhIGVscyBjYW52aXMgYWxzIHN1Ym3DsmR1bHMsIG9wY2lvbmFsIHF1YW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gKFBlciAiCiAiZGVmZWN0ZTogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODMKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgogbXNnc3RyICJtb3N0cmEgZWxzIGZpdHhlcnMgbm8gc2VndWl0cyBlbiBjb2x1bW5lcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM4Ci0jLCBmdXp6eQorIzogYnVpbHRpbi9jb21taXQuYzoxMzg0CiBtc2dpZCAiZG8gbm90IGRldGVjdCByZW5hbWVzIgotbXNnc3RyICJubyBjb25zdWx0aXMgZWxzIHJlbW90cyIKK21zZ3N0ciAibm8gZGV0ZWN0aXMgY2FudmlzIGRlIG5vbXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MAorIzogYnVpbHRpbi9jb21taXQuYzoxMzg2CiBtc2dpZCAiZGV0ZWN0IHJlbmFtZXMsIG9wdGlvbmFsbHkgc2V0IHNpbWlsYXJpdHkgaW5kZXgiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZGV0ZWN0YSBjYW52aXMgZGUgbm9tcywgaSBvcGNpb25hbG1lbnQgZXN0YWJsZWl4IHVuIMOtbmRleCBkZSBzZW1ibGFuw6dhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQwNgogbXNnaWQgIlVuc3VwcG9ydGVkIGNvbWJpbmF0aW9uIG9mIGlnbm9yZWQgYW5kIHVudHJhY2tlZC1maWxlcyBhcmd1bWVudHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODkKIG1zZ2lkICJzdXBwcmVzcyBzdW1tYXJ5IGFmdGVyIHN1Y2Nlc3NmdWwgY29tbWl0IgogbXNnc3RyICJvbWV0IGVsIHJlc3VtIGRlc3Byw6lzIGQndW5hIGNvbWlzc2nDsyByZWVpeGlkYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY2CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTAKIG1zZ2lkICJzaG93IGRpZmYgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgIm1vc3RyYSBsYSBkaWZlcsOobmNpYSBlbiBsYSBwbGFudGlsbGEgZGUgbWlzc2F0Z2UgZGUgY29taXNzacOzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MgogbXNnaWQgIkNvbW1pdCBtZXNzYWdlIG9wdGlvbnMiCiBtc2dzdHIgIk9wY2lvbnMgZGUgbWlzc2F0Z2UgZGUgY29taXNzacOzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjkgYnVpbHRpbi9tZXJnZS5jOjI2MyBidWlsdGluL3RhZy5jOjM5NworIzogYnVpbHRpbi9jb21taXQuYzoxNDkzIGJ1aWx0aW4vbWVyZ2UuYzoyNzQgYnVpbHRpbi90YWcuYzo0MTQKIG1zZ2lkICJyZWFkIG1lc3NhZ2UgZnJvbSBmaWxlIgogbXNnc3RyICJsbGVnaXUgZWwgbWlzc2F0Z2UgZGVzIGQndW4gZml0eGVyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAogbXNnaWQgImF1dGhvciIKIG1zZ3N0ciAiYXV0b3IiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDk0CiBtc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCiBtc2dzdHIgImF1dG9yIGNvcnJlZ2l0IGRlIGxhIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcxIGJ1aWx0aW4vZ2MuYzo1MTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NSBidWlsdGluL2djLmM6NTM4CiBtc2dpZCAiZGF0ZSIKIG1zZ3N0ciAiZGF0YSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTUKIG1zZ2lkICJvdmVycmlkZSBkYXRlIGZvciBjb21taXQiCiBtc2dzdHIgImRhdGEgY29ycmVnaWRhIGRlIGxhIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcyIGJ1aWx0aW4vbWVyZ2UuYzoyNTkgYnVpbHRpbi9ub3Rlcy5jOjQwOQotIzogYnVpbHRpbi9ub3Rlcy5jOjU3MiBidWlsdGluL3RhZy5jOjM5NQotbXNnaWQgIm1lc3NhZ2UiCi1tc2dzdHIgIm1pc3NhdGdlIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzIKLW1zZ2lkICJjb21taXQgbWVzc2FnZSIKLW1zZ3N0ciAibWlzc2F0Z2UgZGUgY29taXNzacOzIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzMgYnVpbHRpbi9jb21taXQuYzoxNDc0IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NQotIzogYnVpbHRpbi9jb21taXQuYzoxNDc2IHJlZi1maWx0ZXIuaDo5MiBwYXJzZS1vcHRpb25zLmg6MjgwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTcgYnVpbHRpbi9jb21taXQuYzoxNDk4IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTAwIHBhcnNlLW9wdGlvbnMuaDozMjggcmVmLWZpbHRlci5oOjkyCiBtc2dpZCAiY29tbWl0IgogbXNnc3RyICJjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MworIzogYnVpbHRpbi9jb21taXQuYzoxNDk3CiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgInJldXNhIGkgZWRpdGEgZWwgbWlzc2F0Z2UgZGUgbGEgY29taXNzacOzIGVzcGVjaWZpY2FkYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc0CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTgKIG1zZ2lkICJyZXVzZSBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAicmV1c2EgZWwgbWlzc2F0Z2UgZGUgbGEgY29taXNzacOzIGVzcGVjaWZpY2FkYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTkKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBmaXh1cCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAidXNhIGVsIG1pc3NhdGdlIGZvcm1hdGF0IGRlIMKrc3F1YXNowrsgYXV0b23DoHRpYyBwZXIgYSBjb3JyZWdpciBsYSBjb21pc3Npw7MgIgogImVzcGVjaWZpY2FkYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDAKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogInVzYSBlbCBtaXNzYXRnZSBmb3JtYXRhdCBkZSDCq3NxdWFzaMK7IGF1dG9tw6B0aWMgcGVyIGEgwqtzcXVhc2jCuyBhIGxhIGNvbWlzc2nDsyAiCiAiZXNwZWNpZmljYWRhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMQogbXNnaWQgInRoZSBjb21taXQgaXMgYXV0aG9yZWQgYnkgbWUgbm93ICh1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCkiCiBtc2dzdHIgImwnYXV0b3IgZGUgbGEgY29taXNzacOzIGphIHPDs2Mgam8gKHMndXNhIGFtYiAtQy8tYy8tLWFtZW5kKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc4IGJ1aWx0aW4vbG9nLmM6MTUyMCBidWlsdGluL21lcmdlLmM6Mjc2Ci0jOiBidWlsdGluL3B1bGwuYzoxNTUgYnVpbHRpbi9yZXZlcnQuYzoxMDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMiBidWlsdGluL2xvZy5jOjE2MzQgYnVpbHRpbi9tZXJnZS5jOjI4OQorIzogYnVpbHRpbi9wdWxsLmM6MTY0IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEwCiBtc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgogbXNnc3RyICJhZmVnZWl4IFNpZ25lZC1vZmYtYnk6IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMwogbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKIG1zZ3N0ciAidXNhIGVsIGZpdHhlciBkZSBwbGFudGlsbGEgZXNwZWNpZmljYXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MAorIzogYnVpbHRpbi9jb21taXQuYzoxNTA0CiBtc2dpZCAiZm9yY2UgZWRpdCBvZiBjb21taXQiCiBtc2dzdHIgImZvcsOnYSBsJ2VkaWNpw7MgZGUgbGEgY29taXNzacOzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODEKLW1zZ2lkICJkZWZhdWx0IgotbXNnc3RyICJwZXIgZGVmZWN0ZSIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDgxIGJ1aWx0aW4vdGFnLmM6NDAxCi1tc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKLW1zZ3N0ciAiY29tIHN1cHJpbWlyIGVscyBlc3BhaXMgaSAjY29tZW50YXJpcyBkZWwgbWlzc2F0Z2UiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTA2CiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgImluY2xvdSBsJ2VzdGF0IGVuIGxhIHBsYW50aWxsYSBkZSBtaXNzYXRnZSBkZSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NCBidWlsdGluL21lcmdlLmM6Mjc0IGJ1aWx0aW4vcHVsbC5jOjE4NQotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTQKLW1zZ2lkICJHUEcgc2lnbiBjb21taXQiCi1tc2dzdHIgInNpZ25hIGxhIGNvbWlzc2nDsyBhbWIgR1BHIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMQogbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgogbXNnc3RyICJPcGNpb25zIGRlbHMgY29udGluZ3V0cyBkZSBsZXMgY29taXNzaW9ucyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDg4CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTIKIG1zZ2lkICJjb21taXQgYWxsIGNoYW5nZWQgZmlsZXMiCiBtc2dzdHIgImNvbWV0IHRvdHMgZWxzIGZpdHhlcnMgY2FudmlhdHMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTEzCiBtc2dpZCAiYWRkIHNwZWNpZmllZCBmaWxlcyB0byBpbmRleCBmb3IgY29tbWl0IgogbXNnc3RyICJhZmVnZWl4IGVscyBmaXR4ZXJzIGVzcGVjaWZpY2F0cyBhIGwnw61uZGV4IHBlciBhIGNvbWV0cmUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MAorIzogYnVpbHRpbi9jb21taXQuYzoxNTE0CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCiBtc2dzdHIgImFmZWdlaXggZWxzIGZpdHhlcnMgaW50ZXJhY3RpdmFtZW50IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNQogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGNoYW5nZXMiCiBtc2dzdHIgImFmZWdlaXggZWxzIGNhbnZpcyBpbnRlcmFjdGl2YW1lbnQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTE2CiBtc2dpZCAiY29tbWl0IG9ubHkgc3BlY2lmaWVkIGZpbGVzIgogbXNnc3RyICJjb21ldCBub23DqXMgZWxzIGZpdHhlcnMgZXNwZWNpZmljYXRzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNwogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIgogbXNnc3RyICJldml0YSBlbHMgbGxpZ2FtcyBkZSBwcmVjb21pc3Npw7MgaSBtaXNzYXRnZSBkZSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTE4CiBtc2dpZCAic2hvdyB3aGF0IHdvdWxkIGJlIGNvbW1pdHRlZCIKIG1zZ3N0ciAibW9zdHJhIHF1w6ggZXMgY29tZXRyaWEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwNworIzogYnVpbHRpbi9jb21taXQuYzoxNTMxCiBtc2dpZCAiYW1lbmQgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICJlc21lbmEgbGEgY29taXNzacOzIGFudGVyaW9yIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzMgogbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKIG1zZ3N0ciAiZXZpdGEgZWwgbGxpZ2FtIGRlIHBvc3QgZXNjcmlwdHVyYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTEzCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MzkKIG1zZ2lkICJvayB0byByZWNvcmQgYW4gZW1wdHkgY2hhbmdlIgogbXNnc3RyICJlc3TDoCBiw6kgcmVnaXN0cmFyIHVuIGNhbnZpIGJ1aXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNQorIzogYnVpbHRpbi9jb21taXQuYzoxNTQxCiBtc2dpZCAib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIKIG1zZ3N0ciAiZXN0w6AgYsOpIHJlZ2lzdHJhciB1biBjYW52aSBhbWIgbWlzc2F0Z2UgYnVpdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKIG1zZ3N0ciAiRml0eGVyIE1FUkdFX0hFQUQgbWFsbcOocyAoJXMpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1OTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyMQogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIE1FUkdFX01PREUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAorIzogYnVpbHRpbi9jb21taXQuYzoxNjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlOiAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgZWwgbWlzc2F0Z2UgZGUgY29taXNzacOzOiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjI1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0IGR1ZSB0byBlbXB0eSBjb21taXQgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiUydlc3TDoCBhdm9ydGFudCBsYSBjb21pc3Npw7MgYSBjYXVzYSBkJ3VuIG1pc3NhdGdlIGRlIGNvbWlzc2nDsyBidWl0LlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iCiBtc2dzdHIgIlMnZXN0w6AgYXZvcnRhbnQgbGEgY29taXNzacOzOyBubyBoZXUgZWRpdGF0IGVsIG1pc3NhdGdlLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2NjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY4NgogIywgZnV6enkKIG1zZ2lkICIiCiAicmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLCBidXQgdW5hYmxlIHRvIHdyaXRlXG4iCiAibmV3X2luZGV4IGZpbGUuIENoZWNrIHRoYXQgZGlzayBpcyBub3QgZnVsbCBhbmQgcXVvdGEgaXNcbiIKLSJub3QgZXhjZWVkZWQsIGFuZCB0aGVuIFwiZ2l0IHJlc2V0IEhFQURcIiB0byByZWNvdmVyLiIKKyJub3QgZXhjZWVkZWQsIGFuZCB0aGVuIFwiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgOi9cIiB0byByZWNvdmVyLiIKIG1zZ3N0ciAiIgotIlMnaGEgYWN0dWFsaXR6YXQgZWwgZGlww7JzaXQsIHBlcsOyIG5vIGVzIHBvdCBlc2NyaXVyZSBlbFxuIgorInMnaGEgYWN0dWFsaXR6YXQgZWwgZGlww7JzaXQsIHBlcsOyIG5vIGVzIHBvdCBlc2NyaXVyZSBlbFxuIgogImZpdHhlciBuZXdfaW5kZXguIENvbXByb3ZldSBxdWUgZWwgZGlzYyBubyBlc3RpZ3VpIHBsZSBpXG4iCi0icXVlIGxhIHF1b3RhIG5vIGVzdGlndWkgZXhjZWRpZGEsIGkgZGVzcHLDqXNcbiIKLSLCq2dpdCByZXNldCBIRUFEwrsgcGVyIGEgcmVjdXBlcmFyLiIKKyJxdWUgbm8gcydoYWdpIGV4Y2VkaXQgbGEgcXVvdGEsIGkgZGVzcHLDqXMgZmV1IFxuIgorIsKrZ2l0IHJlc2V0IEhFQUTCuyBwZXIgYSByZWN1cGVyYXItaG8uIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwCi1tc2dpZCAiZ2l0IGNvbW1pdC1ncmFwaCBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MjMKLW1zZ2lkICJnaXQgY29tbWl0LWdyYXBoIHJlYWQgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE4Ci1tc2dpZCAiZ2l0IGNvbW1pdC1ncmFwaCB2ZXJpZnkgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMyBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjI4CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTcKIG1zZ2lkICIiCi0iZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSBbLS1hcHBlbmRdIFstLXJlYWNoYWJsZXwtLSIKLSJzdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIgorImdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IFstLW9iamVjdC1kaXIgPG9iamRpcj5dIFstLXNoYWxsb3ddIFstLVtuby1dcHJvZ3Jlc3NdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NDggYnVpbHRpbi9jb21taXQtZ3JhcGguYzo3OAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzIgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxOTAgYnVpbHRpbi9mZXRjaC5jOjE1MwotIzogYnVpbHRpbi9sb2cuYzoxNTQwCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEyIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MjIKK21zZ2lkICIiCisiZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSBbLS1hcHBlbmR8LS1zcGxpdF0gWy0tIgorInJlYWNoYWJsZXwtLXN0ZGluLXBhY2tzfC0tc3RkaW4tY29tbWl0c10gWy0tW25vLV1wcm9ncmVzc10gPHNwbGl0IG9wdGlvbnM+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NDggYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMDMKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTg3IGJ1aWx0aW4vZmV0Y2guYzoxNzkgYnVpbHRpbi9sb2cuYzoxNjU3CiBtc2dpZCAiZGlyIgogbXNnc3RyICJkaXJlY3RvcmkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NDkgYnVpbHRpbi9jb21taXQtZ3JhcGguYzo3OQotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzMgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxOTEKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NDkgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMDQKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTg4CiBtc2dpZCAiVGhlIG9iamVjdCBkaXJlY3RvcnkgdG8gc3RvcmUgdGhlIGdyYXBoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTM1CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjUxCittc2dpZCAiaWYgdGhlIGNvbW1pdC1ncmFwaCBpcyBzcGxpdCwgb25seSB2ZXJpZnkgdGhlIHRpcCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NzMgdC9oZWxwZXIvdGVzdC1yZWFkLWdyYXBoLmM6MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGNvbW1pdC1ncmFwaCAnJXMnIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBsYSBjb21pc3Npw7Mgwqslc8K7IgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwNgogbXNnaWQgInN0YXJ0IHdhbGsgYXQgYWxsIHJlZnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzcKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTA4CiBtc2dpZCAic2NhbiBwYWNrLWluZGV4ZXMgbGlzdGVkIGJ5IHN0ZGluIGZvciBjb21taXRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTM5CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExMAogbXNnaWQgInN0YXJ0IHdhbGsgYXQgY29tbWl0cyBsaXN0ZWQgYnkgc3RkaW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxNDEKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTEyCiBtc2dpZCAiaW5jbHVkZSBhbGwgY29tbWl0cyBhbHJlYWR5IGluIHRoZSBjb21taXQtZ3JhcGggZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE1MAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMTUKKyMsIGZ1enp5Cittc2dpZCAiYWxsb3cgd3JpdGluZyBhbiBpbmNyZW1lbnRhbCBjb21taXQtZ3JhcGggZmlsZSIKK21zZ3N0ciAiRXNjcml1IGkgdmVyaWZpY2EgZWxzIGZpdHhlcnMgY29tbWl0LWdyYXBoIGRlIEdpdCIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMTcgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMjEKK21zZ2lkICJtYXhpbXVtIG51bWJlciBvZiBjb21taXRzIGluIGEgbm9uLWJhc2Ugc3BsaXQgY29tbWl0LWdyYXBoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTE5Cittc2dpZCAibWF4aW11bSByYXRpbyBiZXR3ZWVuIHR3byBsZXZlbHMgb2YgYSBzcGxpdCBjb21taXQtZ3JhcGgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzcKIG1zZ2lkICJ1c2UgYXQgbW9zdCBvbmUgb2YgLS1yZWFjaGFibGUsIC0tc3RkaW4tY29tbWl0cywgb3IgLS1zdGRpbi1wYWNrcyIKIG1zZ3N0ciAiIgogCkBAIC0xMDE4NywxNSArMTI1MzMsMTQgQEAKIG1zZ2lkICJnaXQgY29uZmlnIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgY29uZmlnIFs8b3BjaW9ucz5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjEwMwotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGluL2NvbmZpZy5jOjEwMyBidWlsdGluL2Vudi0taGVscGVyLmM6MjMKKyMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIC0tdHlwZSBhcmd1bWVudCwgJXMiCi1tc2dzdHIgInBhcsOgbWV0cmUgbm8gcmVjb25lZ3V0OiAlcyIKK21zZ3N0ciAicGFyw6BtZXRyZSAtLXR5cGUgbm8gcmVjb25lZ3V0LCAlcyIKIAogIzogYnVpbHRpbi9jb25maWcuYzoxMTUKLSMsIGZ1enp5CiBtc2dpZCAib25seSBvbmUgdHlwZSBhdCBhIHRpbWUiCi1tc2dzdHIgImVtZXQgbm9tw6lzIGNvaW5jaWTDqG5jaWVzIGV4YWN0ZXMiCittc2dzdHIgIm5vbcOpcyB1biB0aXB1cyBjYWRhIGNvcCIKIAogIzogYnVpbHRpbi9jb25maWcuYzoxMjQKIG1zZ2lkICJDb25maWcgZmlsZSBsb2NhdGlvbiIKQEAgLTEwMjE0LDkgKzEyNTU5LDggQEAKIG1zZ3N0ciAidXNhIGVsIGZpdHhlciBkZSBjb25maWd1cmFjacOzIGRlbCBkaXDDsnNpdCIKIAogIzogYnVpbHRpbi9jb25maWcuYzoxMjgKLSMsIGZ1enp5CiBtc2dpZCAidXNlIHBlci13b3JrdHJlZSBjb25maWcgZmlsZSIKLW1zZ3N0ciAidXNhIGVsIGZpdHhlciBkZSBjb25maWd1cmFjacOzIGRlbCBkaXDDsnNpdCIKK21zZ3N0ciAidXNhIHVuIGZpdHhlciBkZSBjb25maWd1cmFjacOzIHBlciBkaXDDsnNpdCIKIAogIzogYnVpbHRpbi9jb25maWcuYzoxMjkKIG1zZ2lkICJ1c2UgZ2l2ZW4gY29uZmlnIGZpbGUiCkBAIC0xMDI5NSwxMCArMTI2MzksOSBAQAogbXNnaWQgIlR5cGUiCiBtc2dzdHIgIlRpcHVzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE0NwotIywgZnV6enkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ3IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzozOAogbXNnaWQgInZhbHVlIGlzIGdpdmVuIHRoaXMgdHlwZSIKLW1zZ3N0ciAiZWwgdmFsb3Igw6lzIHVuYSBkYXRhIGRlIHZlbmNpbWVudCIKK21zZ3N0ciAiZWwgdmFsb3IgdMOpIGRvbmF0IGFxdWVzdCB0aXB1cyIKIAogIzogYnVpbHRpbi9jb25maWcuYzoxNDgKIG1zZ2lkICJ2YWx1ZSBpcyBcInRydWVcIiBvciBcImZhbHNlXCIiCkBAIC0xMDM0Miw3ICsxMjY4NSw3IEBACiAibW9zdHJhIGwnb3JpZ2VuIGRlIGxhIGNvbmZpZ3VyYWNpw7MgKGZpdHhlciwgZW50cmFkYSBlc3TDoG5kYXJkLCBibG9iLCBsw61uaWEgIgogImQnb3JkcmVzKSIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxNTgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTU4IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo0MAogbXNnaWQgInZhbHVlIgogbXNnc3RyICJ2YWxvciIKIApAQCAtMTAzNTAsNTEgKzEyNjkzLDUwIEBACiBtc2dpZCAid2l0aCAtLWdldCwgdXNlIGRlZmF1bHQgdmFsdWUgd2hlbiBtaXNzaW5nIGVudHJ5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTcxCisjOiBidWlsdGluL2NvbmZpZy5jOjE3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzLCBzaG91bGQgYmUgJWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxNzMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMsIHNob3VsZCBiZSBmcm9tICVkIHRvICVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MzA3CisjOiBidWlsdGluL2NvbmZpZy5jOjMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGtleSBwYXR0ZXJuOiAlcyIKIG1zZ3N0ciAicGF0csOzIGRlIGxhIGNsYXUgbm8gdsOgbGlkOiAlcyIKIAotIzogYnVpbHRpbi9jb25maWcuYzozNDMKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbi9jb25maWcuYzozNDQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZvcm1hdCBkZWZhdWx0IGNvbmZpZyB2YWx1ZTogJXMiCi1tc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY3JlYXIgZWwgZml0eGVyICVzIgorbXNnc3RyICIiCisicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBmb3JtYXRhciBlbCB2YWxvciBwZXIgZGVmZWN0ZSBkZSBsYSBjb25maWd1cmFjacOzOiAlcyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0MDAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBwYXJzZSBjb2xvciAnJXMnIgogbXNnc3RyICJubyBlcyBwb3QgYW5hbGl0emFyIGVsIGNvbG9yIMKrJXPCuyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0NDIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDQzCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGRlZmF1bHQgY29sb3IgdmFsdWUiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGVsIHZhbG9yIGRlIGNvbG9yIHBlciBkZWZlY3RlIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjQ5NSBidWlsdGluL2NvbmZpZy5jOjc0MQotIywgZnV6enkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDk2IGJ1aWx0aW4vY29uZmlnLmM6NzQyCiBtc2dpZCAibm90IGluIGEgZ2l0IGRpcmVjdG9yeSIKLW1zZ3N0ciAibm8gw6lzIGVuIHVuIGRpcMOyc2l0IGRlIGdpdCIKK21zZ3N0ciAibm8gw6lzIGVuIHVuIGRpcmVjdG9yaSBnaXQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NDk4Ci0jLCBmdXp6eQorIzogYnVpbHRpbi9jb25maWcuYzo0OTkKIG1zZ2lkICJ3cml0aW5nIHRvIHN0ZGluIGlzIG5vdCBzdXBwb3J0ZWQiCi1tc2dzdHIgIk5vIHMnYWRtZXQgdW5hIHByb2Z1bmRpdGF0IG5lZ2F0aXZhIGVuIC0tZGVlcGVuIgorbXNnc3RyICJubyBzJ2FkbWV0IGVzY3JpdXJlIGEgc3RkaW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTAxCisjOiBidWlsdGluL2NvbmZpZy5jOjUwMgogIywgZnV6enkKIG1zZ2lkICJ3cml0aW5nIGNvbmZpZyBibG9icyBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJhdsOtczogZWwgc29icmVub20gZGUgc2VuZG1haWwgYW1iIGNvbWV0ZXMgbm8gZXN0w6Agc3Vwb3J0YXQ6ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTg2CisjOiBidWlsdGluL2NvbmZpZy5jOjU4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiIyBUaGlzIGlzIEdpdCdzIHBlci11c2VyIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiIKQEAgLTEwNDA5LDc5ICsxMjc1MSw3NSBAQAogIiNcdG5hbWUgPSAlc1xuIgogIiNcdGVtYWlsID0gJXNcbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjExCiBtc2dpZCAib25seSBvbmUgY29uZmlnIGZpbGUgYXQgYSB0aW1lIgotbXNnc3RyICIiCittc2dzdHIgIm5vbcOpcyB1biBmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyBjYWRhIGNvcCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjE2CiBtc2dpZCAiLS1sb2NhbCBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICItLWxvY2FsIG5vbcOpcyBlcyBwb3QgdXNhciBkaW5zIGQndW4gZGlww7JzaXQgZ2l0IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxOAotIywgZnV6enkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjE5CiBtc2dpZCAiLS1ibG9iIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgZ2l0IHJlcG9zaXRvcnkiCi1tc2dzdHIgIi0tbG9jYWwgbm9tw6lzIGVzIHBvdCB1c2FyIGRpbnMgZCd1biBkaXDDsnNpdCBnaXQiCittc2dzdHIgIi0tYmxvYiBub23DqXMgZXMgcG90IHVzYXIgZGlucyBkJ3VuIGRpcMOyc2l0IGdpdCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MzcKLSMsIGZ1enp5CisjOiBidWlsdGluL2NvbmZpZy5jOjYzOAogbXNnaWQgIiRIT01FIG5vdCBzZXQiCi1tc2dzdHIgIm5vIHVzYXIiCittc2dzdHIgIiRIT01FIG5vIGVzdMOgIGVzdGFibGVydGEiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjU3CisjOiBidWlsdGluL2NvbmZpZy5jOjY1OAogbXNnaWQgIiIKICItLXdvcmt0cmVlIGNhbm5vdCBiZSB1c2VkIHdpdGggbXVsdGlwbGUgd29ya2luZyB0cmVlcyB1bmxlc3MgdGhlIGNvbmZpZ1xuIgogImV4dGVuc2lvbiB3b3JrdHJlZUNvbmZpZyBpcyBlbmFibGVkLiBQbGVhc2UgcmVhZCBcIkNPTkZJR1VSQVRJT04gRklMRVwiXG4iCiAic2VjdGlvbiBpbiBcImdpdCBoZWxwIHdvcmt0cmVlXCIgZm9yIGRldGFpbHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2ODcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6Njg4CiBtc2dpZCAiLS1nZXQtY29sb3IgYW5kIHZhcmlhYmxlIHR5cGUgYXJlIGluY29oZXJlbnQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiLS1nZXQtY29sb3IgaSBlbCB0aXB1cyBkZSB2YXJpYWJsZSBzw7NuIGluY29oZXJlbnRzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY5MgorIzogYnVpbHRpbi9jb25maWcuYzo2OTMKIG1zZ2lkICJvbmx5IG9uZSBhY3Rpb24gYXQgYSB0aW1lIgotbXNnc3RyICIiCittc2dzdHIgIm5vbcOpcyB1bmEgYWNjacOzIGNhZGEgY29wIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwNQorIzogYnVpbHRpbi9jb25maWcuYzo3MDYKIG1zZ2lkICItLW5hbWUtb25seSBpcyBvbmx5IGFwcGxpY2FibGUgdG8gLS1saXN0IG9yIC0tZ2V0LXJlZ2V4cCIKLW1zZ3N0ciAiIgorbXNnc3RyICItLW5hbWUtb25seSBub23DqXMgw6lzIGFwbGljYWJsZSBhIC0tbGlzdCBvIC0tZ2V0LXJlZ2V4cCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MTEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzEyCiBtc2dpZCAiIgogIi0tc2hvdy1vcmlnaW4gaXMgb25seSBhcHBsaWNhYmxlIHRvIC0tZ2V0LCAtLWdldC1hbGwsIC0tZ2V0LXJlZ2V4cCwgYW5kIC0tIgogImxpc3QiCiBtc2dzdHIgIiIKKyItLXNob3ctb3JpZ2luIG5vbcOpcyDDqXMgYXBsaWNhYmxlIGEgLS1nZXQsIC0tZ2V0LWFsbCwgLS1nZXQtcmVnZXhwLCBpIC0tbGlzdCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MTcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzE4CiBtc2dpZCAiLS1kZWZhdWx0IGlzIG9ubHkgYXBwbGljYWJsZSB0byAtLWdldCIKLW1zZ3N0ciAiIgorbXNnc3RyICItLWRlZmF1bHQgbm9tw6lzIMOpcyBhcGxpY2FibGUgYSAtLWdldCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MzAKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbi9jb25maWcuYzo3MzEKKyMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgY29uZmlnIGZpbGUgJyVzJyIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgZWwgZml0eGVyIGRlIHNpZ25hdHVyYSDCqyVzwrsiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIGVsIGZpdHhlciBkZSBjb25maWd1cmFjacOzIMKrJXPCuyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MzMKLSMsIGZ1enp5CisjOiBidWlsdGluL2NvbmZpZy5jOjczNAogbXNnaWQgImVycm9yIHByb2Nlc3NpbmcgY29uZmlnIGZpbGUocykiCi1tc2dzdHIgInVzYSBlbCBmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyBkZWwgZGlww7JzaXQiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgcHJvY2Vzc2FudCBlbHMgZml0eGVycyBkZSBjb25maWd1cmFjacOzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0MwotIywgZnV6enkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQ0CiBtc2dpZCAiZWRpdGluZyBzdGRpbiBpcyBub3Qgc3VwcG9ydGVkIgotbXNnc3RyICJObyBzJ2FkbWV0IHVuYSBwcm9mdW5kaXRhdCBuZWdhdGl2YSBlbiAtLWRlZXBlbiIKK21zZ3N0ciAibm8gaGkgaGEgY29tcGF0aWJpbGl0YXQgcGVyIGEgbCdlZGljacOzIGEgc3RkaW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzQ1Ci0jLCBmdXp6eQorIzogYnVpbHRpbi9jb25maWcuYzo3NDYKIG1zZ2lkICJlZGl0aW5nIGJsb2JzIGlzIG5vdCBzdXBwb3J0ZWQiCi1tc2dzdHIgIk5vIHMnYWRtZXQgdW5hIHByb2Z1bmRpdGF0IG5lZ2F0aXZhIGVuIC0tZGVlcGVuIgorbXNnc3RyICJubyBoaSBoYSBjb21wYXRpYmlsaXRhdCBwZXIgbCdlZGljacOzIGRlIGJsb2JzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc1OQorIzogYnVpbHRpbi9jb25maWcuYzo3NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBjb25maWd1cmF0aW9uIGZpbGUgJXMiCiBtc2dzdHIgIm5vIGVzIHBvdCBjcmVhciBlbCBmaXR4ZXIgZGUgY29uZmlndXJhY2nDsyAlcyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjYW5ub3Qgb3ZlcndyaXRlIG11bHRpcGxlIHZhbHVlcyB3aXRoIGEgc2luZ2xlIHZhbHVlXG4iCkBAIC0xMDQ5MCwxMCArMTI4MjgsMTAgQEAKICJubyBlcyBwb2RlbiBzb2JyZWVzY3JpdXJlIG3Dumx0aXBsZXMgdmFsb3JzIGFtYiB1biBzb2wgdmFsb3JcbiIKICIgICAgICAgVXNldSB1bmEgZXhwcmVzc2nDsyByZWd1bGFyLCAtLWFkZCBvIC0tcmVwbGFjZS1hbGwgcGVyIGEgY2FudmlhciAlcy4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODQ2IGJ1aWx0aW4vY29uZmlnLmM6ODU3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODQ3IGJ1aWx0aW4vY29uZmlnLmM6ODU4CisjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggc2VjdGlvbjogJXMiCi1tc2dzdHIgIm5vIGhpIGhhIHRhbCByZWZlcsOobmNpYSAlcyIKK21zZ3N0ciAibm8gZXhpc3RlaXggbGEgc2VjY2nDszogJXMiCiAKICM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjkwCiBtc2dpZCAiZ2l0IGNvdW50LW9iamVjdHMgWy12XSBbLUggfCAtLWh1bWFuLXJlYWRhYmxlXSIKQEAgLTEwNTIzLDM3ICsxMjg2MSwzNyBAQAogbXNnaWQgImFubm90YXRlZCIKIG1zZ3N0ciAiYW5vdGF0IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjcyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc1CiAjLCBjLWZvcm1hdAogbXNnaWQgImFubm90YXRlZCB0YWcgJXMgbm90IGF2YWlsYWJsZSIKIG1zZ3N0ciAibCdldGlxdWV0YSBhbm90YWRhICVzIG5vIMOpcyBkaXNwb25pYmxlIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImFubm90YXRlZCB0YWcgJXMgaGFzIG5vIGVtYmVkZGVkIG5hbWUiCiBtc2dzdHIgImwnZXRpcXVldGEgYW5vdGFkYSAlcyBubyB0w6kgbm9tIGluY3J1c3RhdCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3OAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBpcyByZWFsbHkgJyVzJyBoZXJlIgogbXNnc3RyICJsJ2V0aXF1ZXRhIMKrJXPCuyByZWFsbWVudCDDqXMgwqslc8K7IGFxdcOtIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzIyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRhZyBleGFjdGx5IG1hdGNoZXMgJyVzJyIKIG1zZ3N0ciAiY2FwIGV0aXF1ZXRhIGNvaW5jaWRlaXggZXhhY3RhbWVudCBhbWIgwqslc8K7IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGV4YWN0IG1hdGNoIG9uIHJlZnMgb3IgdGFncywgc2VhcmNoaW5nIHRvIGRlc2NyaWJlXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM3OAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmaW5pc2hlZCBzZWFyY2ggYXQgJXNcbiIKIG1zZ3N0ciAicydoYSBmaW5hbGl0emF0IGxhIGNlcmNhIGEgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gYW5ub3RhdGVkIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCkBAIC0xMDU2Miw3ICsxMjkwMCw3IEBACiAiQ2FwIGV0aXF1ZXRhIGFub3RhZGEgcG90IGRlc2NyaXVyZSDCqyVzwrsuXG4iCiAiTm8gb2JzdGFudCwgaGkgaGF2aWEgZXRpcXVldGVzIG5vIGFub3RhZGVzOiBwcm92ZXUgLS10YWdzLiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwOAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKQEAgLTEwNTcxLDEyICsxMjkwOSwxMiBAQAogIkNhcCBldGlxdWV0YSBwb3QgZGVzY3JpdXJlIMKrJXPCuy5cbiIKICJQcm92ZXUgLS1hbHdheXMsIG8gY3JlZXUgYWxndW5lcyBldGlxdWV0ZXMuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDM4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXZlcnNlZCAlbHUgY29tbWl0c1xuIgogbXNnc3RyICIlbHUgY29taXNzaW9ucyB0cmF2ZXNzYWRlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJtb3JlIHRoYW4gJWkgdGFncyBmb3VuZDsgbGlzdGVkICVpIG1vc3QgcmVjZW50XG4iCkBAIC0xMDU4NSwxMTggKzEyOTIzLDExOCBAQAogInMnaGFuIHRyb2JhdCBtw6lzIGRlICVpIGV0aXF1ZXRlczogcydoYW4gbGxpc3RhdCBsZXMgJWkgbcOpcyByZWNlbnRzXG4iCiAicydoYSByZW51bmNpYXQgbGEgY2VyY2EgYSAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTA5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc2NyaWJlICVzXG4iCiBtc2dzdHIgImRlc2NyaXUgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUxMiBidWlsdGluL2xvZy5jOjUxMworIzogYnVpbHRpbi9kZXNjcmliZS5jOjUxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAiJXMgbm8gw6lzIHVuIG5vbSBkJ29iamVjdGUgdsOgbGlkIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTIwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG5laXRoZXIgYSBjb21taXQgbm9yIGJsb2IiCiBtc2dzdHIgIiVzIG5vIMOpcyB1bmEgY29taXNzacOzIG8gdW4gYmxvYiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzNwogbXNnaWQgImZpbmQgdGhlIHRhZyB0aGF0IGNvbWVzIGFmdGVyIHRoZSBjb21taXQiCiBtc2dzdHIgInRyb2JhIGwnZXRpcXVldGEgcXVlIHZpbmd1aSBkZXNwcsOpcyBkZSBsYSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzUKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzgKIG1zZ2lkICJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIgogbXNnc3RyICJlc3RyYXTDqGdpYSBkZSBjZXJjYSBkZSBkZXB1cmFjacOzIGVuIHN0ZGVyciIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzNgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzOQogbXNnaWQgInVzZSBhbnkgcmVmIgogbXNnc3RyICJ1c2EgcXVhbHNldm9sIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQwCiBtc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCiBtc2dzdHIgInVzYSBxdWFsc2V2b2wgZXRpcXVldGEsIGZpbnMgaSB0b3QgYXF1ZWxsZXMgc2Vuc2UgYW5vdGFyIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQxCiBtc2dpZCAiYWx3YXlzIHVzZSBsb25nIGZvcm1hdCIKIG1zZ3N0ciAic2VtcHJlIHVzYSBlbCBmb3JtYXQgbGxhcmciCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzkKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDIKIG1zZ2lkICJvbmx5IGZvbGxvdyBmaXJzdCBwYXJlbnQiCiBtc2dzdHIgIm5vbcOpcyBzZWd1ZWl4IGxhIHByaW1lcmEgbWFyZSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0NQogbXNnaWQgIm9ubHkgb3V0cHV0IGV4YWN0IG1hdGNoZXMiCiBtc2dzdHIgImVtZXQgbm9tw6lzIGNvaW5jaWTDqG5jaWVzIGV4YWN0ZXMiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDcKIG1zZ2lkICJjb25zaWRlciA8bj4gbW9zdCByZWNlbnQgdGFncyAoZGVmYXVsdDogMTApIgogbXNnc3RyICJjb25zaWRlcmEgbGVzIDxuPiBldGlxdWV0ZXMgbcOpcyByZWNlbnRzIChwZXIgZGVmZWN0ZTogMTApIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ5CiBtc2dpZCAib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAibm9tw6lzIGNvbnNpZGVyYSBsZXMgZXRpcXVldGVzIHF1ZSBjb2luY2lkZWl4ZW4gYW1iIDxwYXRyw7M+IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUxCiBtc2dpZCAiZG8gbm90IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJubyBjb25zaWRlcmlzIGxlcyBldGlxdWV0ZXMgcXVlIG5vIGNvaW5jaWRlaXhlbiBhbWIgPHBhdHLDsz4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTAgYnVpbHRpbi9uYW1lLXJldi5jOjQyNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MyBidWlsdGluL25hbWUtcmV2LmM6NDczCiBtc2dpZCAic2hvdyBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrIgogbXNnc3RyICJtb3N0cmEgbCdvYmplY3RlIGRlIGNvbWlzc2nDsyBhYnJldmlhdCBjb20gYSBzaXN0ZW1hIGFsdGVybmF0aXUiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTEgYnVpbHRpbi9kZXNjcmliZS5jOjU1NAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1NCBidWlsdGluL2Rlc2NyaWJlLmM6NTU3CiBtc2dpZCAibWFyayIKIG1zZ3N0ciAibWFyY2EiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTUKIG1zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGRpcnR5IHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItZGlydHlcIikiCiBtc2dzdHIgImFubmV4YSA8bWFyY2E+IGVuIGwnYXJicmUgZGUgdHJlYmFsbCBicnV0IChwZXIgZGVmZWN0ZTogXCItZGlydHlcIikiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTUKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTgKIG1zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGJyb2tlbiB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWJyb2tlblwiKSIKIG1zZ3N0ciAiYW5uZXhhIDxtYXJjYT4gZW4gbCdhcmJyZSBkZSB0cmViYWxsIGJydXQgKHBlciBkZWZlY3RlOiBcIi1icm9rZW5cIikiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NzMKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NzYKIG1zZ2lkICItLWxvbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hYmJyZXY9MCIKIG1zZ3N0ciAiLS1sb25nIMOpcyBpbmNvbXBhdGlibGUgYW1iIC0tYWJicmV2PTAiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2MDIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2MDUKIG1zZ2lkICJObyBuYW1lcyBmb3VuZCwgY2Fubm90IGRlc2NyaWJlIGFueXRoaW5nLiIKIG1zZ3N0ciAiTm8gcydoYSB0cm9iYXQgY2FwIG5vbSwgbm8gZXMgcG90IGRlc2NyaXVyZSByZXMuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NjUyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NjU2CiBtc2dpZCAiLS1kaXJ0eSBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXQtaXNoZXMiCiBtc2dzdHIgIi0tZGlydHkgw6lzIGluY29tcGF0aWJsZSBhbWIgbGVzIGNvbWlzc2lvbnMiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTgKIG1zZ2lkICItLWJyb2tlbiBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXQtaXNoZXMiCiBtc2dzdHIgIi0tYnJva2VuIMOpcyBpbmNvbXBhdGlibGUgYW1iIGxlcyBjb21pc3Npb25zIgogCi0jOiBidWlsdGluL2RpZmYuYzo4MworIzogYnVpbHRpbi9kaWZmLmM6ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogbm90IGEgcmVndWxhciBmaWxlIG9yIHN5bWxpbmsiCiBtc2dzdHIgIsKrJXPCuzogbm8gw6lzIG5pIGZpdHhlciByZWd1bGFyIG5pIGVubGxhw6cgc2ltYsOybGljIgogCi0jOiBidWlsdGluL2RpZmYuYzoyMzQKKyM6IGJ1aWx0aW4vZGlmZi5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9wdGlvbjogJXMiCiBtc2dzdHIgIm9wY2nDsyBubyB2w6BsaWRhOiAlcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzYzCisjOiBidWlsdGluL2RpZmYuYzozNTAKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiTm8gw6lzIHVuIGRpcMOyc2l0IGRlIGdpdCIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDA3CisjOiBidWlsdGluL2RpZmYuYzozOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgInMnaGEgZG9uYXQgdW4gb2JqZWN0ZSBubyB2w6BsaWQgwqslc8K7LiIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDE2CisjOiBidWlsdGluL2RpZmYuYzo0MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIHR3byBibG9icyBnaXZlbjogJyVzJyIKIG1zZ3N0ciAicydoYSBkb25hdCBtw6lzIGRlIGRvcyBibG9iczogwqslc8K7IgogCi0jOiBidWlsdGluL2RpZmYuYzo0MjEKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmhhbmRsZWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICJzJ2hhIGRvbmF0IGwnb2JqZWN0ZSBubyBnZXN0aW9uYXQgwqslc8K7LiIKQEAgLTEwNzMzLDU1ICsxMzA3MSw1NCBAQAogImVscyBmb3JtYXRzIGRlIGRpZmYgY29tYmluYXRzICgnLWMnIGFuZCAnLS1jYycpIG5vIHPDs24gYWRtZXNvcyBcbiIKICJlbiBlbCBtb2RlIGRpZmYgcGVyIGRpcmVjdG9yaXMgKCctZCcgYW5kICctLWRpci1kaWZmJykuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjMzCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJvdGggZmlsZXMgbW9kaWZpZWQ6ICclcycgYW5kICclcycuIgogbXNnc3RyICJzJ2hhbiBtb2RpZmljYXQgYW1iZMOzcyBmaXR4ZXJzOiDCqyVzwrsgaSDCqyVzwrsuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjM1CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjM2CiBtc2dpZCAid29ya2luZyB0cmVlIGZpbGUgaGFzIGJlZW4gbGVmdC4iCiBtc2dzdHIgInMnaGEgZGVpeGF0IHVuIGZpdHhlciBkZSBsJ2FyYnJlIGRlIHRyZWJhbGwuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjQ2CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInRlbXBvcmFyeSBmaWxlcyBleGlzdCBpbiAnJXMnLiIKLW1zZ3N0ciAiZXhpc3RlaXggdW4gZml0eGVyIHRlbXBvcmFsIGEgJXMnLiIKK21zZ3N0ciAiZXhpc3RlaXggdW4gZml0eGVyIHRlbXBvcmFsIGEgwqslc8K7LiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0NworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0OAogbXNnaWQgInlvdSBtYXkgd2FudCB0byBjbGVhbnVwIG9yIHJlY292ZXIgdGhlc2UuIgogbXNnc3RyICJwb2RldSBuZXRlamFyIG8gcmVjdXBlcmFyLWxvcy4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTcKIG1zZ2lkICJ1c2UgYGRpZmYuZ3VpdG9vbGAgaW5zdGVhZCBvZiBgZGlmZi50b29sYCIKIG1zZ3N0ciAidXRpbGl0emEgYGRpZmYuZ3VpdG9vbGAgZW4gY29tcHRlcyBkZSBgZGlmZi50b29sYCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5OAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5OQogbXNnaWQgInBlcmZvcm0gYSBmdWxsLWRpcmVjdG9yeSBkaWZmIgogbXNnc3RyICJmZXMgdW4gZGlmZiBkZSB0b3QgZWwgZGlyZWN0b3JpIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzAwCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzAxCiBtc2dpZCAiZG8gbm90IHByb21wdCBiZWZvcmUgbGF1bmNoaW5nIGEgZGlmZiB0b29sIgogbXNnc3RyICJubyBwcmVndW50aXMgYWJhbnMgZCdleGVjdXRhciBsJ2VpbmEgZGlmZiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNgogbXNnaWQgInVzZSBzeW1saW5rcyBpbiBkaXItZGlmZiBtb2RlIgogbXNnc3RyICJ1dGlsaXR6YSBlbmxsYcOnb3Mgc2ltYsOybGljcyBlbiBtb2RlIGRpci1kaWZmIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzA2Ci0jLCBmdXp6eQotbXNnaWQgInRvb2wiCi1tc2dzdHIgIjx0b29sPiIKLQogIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNworbXNnaWQgInRvb2wiCittc2dzdHIgImVpbmEiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDgKIG1zZ2lkICJ1c2UgdGhlIHNwZWNpZmllZCBkaWZmIHRvb2wiCiBtc2dzdHIgInV0aWxpdHphIGwnZWluYSBkZSBkaWZmIGVzcGVjaWZpY2FkYSIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwOQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMAogbXNnaWQgInByaW50IGEgbGlzdCBvZiBkaWZmIHRvb2xzIHRoYXQgbWF5IGJlIHVzZWQgd2l0aCBgLS10b29sYCIKIG1zZ3N0ciAiIgogImltcHJpbWVpeCB1bmEgbGxpc3RhIGRlIHRvdGVzIGxlcyBlaW5lcyBkaWZmIHF1ZSBwb2RldSB1c2FyIGFtYiBgLS10b29sYCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMwogbXNnaWQgIiIKICJtYWtlICdnaXQtZGlmZnRvb2wnIGV4aXQgd2hlbiBhbiBpbnZva2VkIGRpZmYgdG9vbCByZXR1cm5zIGEgbm9uIC0gemVybyBleGl0ICIKICJjb2RlIgpAQCAtMTA3ODksMTYwICsxMzEyNiwyNDIgQEAKICJmZXMgcXVlICdnaXQtZGlmZnRvb2wnIHN1cnRpIHF1YW4gbCdlaW5hIGRlIGRpZmYgaW52b2NhZGEgdG9ybmEgdW4gY29kaSBkZSAiCiAic29ydGlkYSBkaWZlcmVudCBkZSB6ZXJvIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzE1CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzE2CiBtc2dpZCAic3BlY2lmeSBhIGN1c3RvbSBjb21tYW5kIGZvciB2aWV3aW5nIGRpZmZzIgotbXNnc3RyICJlc3BlY2lmaXF1ZXUgdW5hIG9yZHJlIHBlcnNvbmFsaXR6YWRhIHBlciB2ZXVyZSBkaWZmcyIKK21zZ3N0ciAiZXNwZWNpZmlxdWV1IHVuIG9yZHJlIHBlcnNvbmFsaXR6YXQgcGVyIHZldXJlIGRpZmZzIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzE3Cittc2dpZCAicGFzc2VkIHRvIGBkaWZmYCIKK21zZ3N0ciAicGFzc2EtaG8gYSDCq2RpZmbCuyIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjczMgorbXNnaWQgImRpZmZ0b29sIHJlcXVpcmVzIHdvcmt0cmVlIG9yIC0tbm8taW5kZXgiCittc2dzdHIgImRpZmZ0b29sIHJlcXVlcmVpeCB3b3JrdHJlZSBvIC0tbm8taW5kZXgiCiAKICM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MzkKK21zZ2lkICItLWRpci1kaWZmIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbm8taW5kZXgiCittc2dzdHIgIi0tZGlyLWRpZmYgw6lzIGluY29tcGF0aWJsZSBhbWIgLS1uby1pbmRleCIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc0MgorbXNnaWQgIi0tZ3VpLCAtLXRvb2wgYW5kIC0tZXh0Y21kIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tZ3VpLCAtLXRvb2wgYW5kIC0tZXh0Y21kIHPDs24gbcO6dHVhbWVudCBleGNsb2VudHMiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3NTAKIG1zZ2lkICJubyA8dG9vbD4gZ2l2ZW4gZm9yIC0tdG9vbD08dG9vbD4iCiBtc2dzdHIgIm5vIHMnaGEgcHJvcG9yY2lvbmF0IDx0b29sPiBwZXIgLS10b29sPTx0b29sPiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc0NgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc1NwogbXNnaWQgIm5vIDxjbWQ+IGdpdmVuIGZvciAtLWV4dGNtZD08Y21kPiIKIG1zZ3N0ciAibm8gcydoYSBwcm9wb3JjaW9uYXQgPGNtZD4gcGVyIC0tZXh0Y21kPTxjbWQ+IgogCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6NgorbXNnaWQgImdpdCBlbnYtLWhlbHBlciAtLXR5cGU9W2Jvb2x8dWxvbmddIDxvcHRpb25zPiA8ZW52LXZhcj4iCittc2dzdHIgImdpdCBlbnYtLWhlbHBlciAtLXR5cGU9W2Jvb2x8dWxvbmddIDxvcGNpb25zPiA8ZW52LXZhcj4iCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzozNyBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKK21zZ2lkICJ0eXBlIgorbXNnc3RyICJ0aXB1cyIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjQxCittc2dpZCAiZGVmYXVsdCBmb3IgZ2l0X2Vudl8qKC4uLikgdG8gZmFsbCBiYWNrIG9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo0MworbXNnaWQgImJlIHF1aWV0IG9ubHkgdXNlIGdpdF9lbnZfKigpIHZhbHVlIGFzIGV4aXQgY29kZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAtLWRlZmF1bHQnIGV4cGVjdHMgYSBib29sZWFuIHZhbHVlIHdpdGggYC0tdHlwZT1ib29sYCwgbm90IGAlc2AiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvcHRpb24gYC0tZGVmYXVsdCcgZXhwZWN0cyBhbiB1bnNpZ25lZCBsb25nIHZhbHVlIHdpdGggYC0tdHlwZT11bG9uZ2AsIG5vdCBgIgorIiVzYCIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MjkKIG1zZ2lkICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LW9wdHNdIgogbXNnc3RyICJnaXQgZmFzdC1leHBvcnQgW29wY2lvbnMtZGUtbGxpc3RhLWRlLXJldmlzaW9uc10iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDA2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6ODUyCittc2dpZCAiRXJyb3I6IENhbm5vdCBleHBvcnQgbmVzdGVkIHRhZ3MgdW5sZXNzIC0tbWFyay10YWdzIGlzIHNwZWNpZmllZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTIKIG1zZ2lkICJzaG93IHByb2dyZXNzIGFmdGVyIDxuPiBvYmplY3RzIgogbXNnc3RyICJtb3N0cmEgZWwgcHJvZ3LDqXMgZGVzcHLDqXMgZGUgPG4+IG9iamVjdGVzIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwOAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTQKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2Ygc2lnbmVkIHRhZ3MiCiBtc2dzdHIgInNlbGVjY2lvbmEgbGEgZ2VzdGnDsyBkZSBsZXMgZXRpcXVldGVzIHNpZ25hZGVzIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxMQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTcKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIgogbXNnc3RyICJzZWxlY2Npb25hIGxhIGdlc3Rpw7MgZGUgbGVzIGV0aXF1ZXRlcyBxdWUgZXRpcXVldGluIG9iamVjdGVzIGZpbHRyYXRzIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxNAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjAKKyMsIGZ1enp5Cittc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIGNvbW1pdCBtZXNzYWdlcyBpbiBhbiBhbHRlcm5hdGUgZW5jb2RpbmciCittc2dzdHIgInNlbGVjY2lvbmEgbGEgZ2VzdGnDsyBkZSBsZXMgZXRpcXVldGVzIHF1ZSBldGlxdWV0aW4gb2JqZWN0ZXMgZmlsdHJhdHMiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTYzCiBtc2dpZCAiRHVtcCBtYXJrcyB0byB0aGlzIGZpbGUiCiBtc2dzdHIgIkJvbGNhIGxlcyBtYXJxdWVzIGEgYXF1ZXN0IGZpdHhlciIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY1CiBtc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIgogbXNnc3RyICJJbXBvcnRhIGxlcyBtYXJxdWVzIGQnYXF1ZXN0IGZpdHhlciIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY5CisjLCBmdXp6eQorbXNnaWQgIkltcG9ydCBtYXJrcyBmcm9tIHRoaXMgZmlsZSBpZiBpdCBleGlzdHMiCittc2dzdHIgIkltcG9ydGEgbGVzIG1hcnF1ZXMgZCdhcXVlc3QgZml0eGVyIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3MQogbXNnaWQgIkZha2UgYSB0YWdnZXIgd2hlbiB0YWdzIGxhY2sgb25lIgogbXNnc3RyICJGaW5nZWl4IHVuIGV0aXF1ZXRhZG9yIHF1YW4gZWxzIGVuIG1hbmNhIHVuIGEgbGVzIGV0aXF1ZXRlcyIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMjAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTczCiBtc2dpZCAiT3V0cHV0IGZ1bGwgdHJlZSBmb3IgZWFjaCBjb21taXQiCiBtc2dzdHIgIkltcHJpbWVpeCBsJ2FyYnJlIGNvbXBsZXQgZGUgY2FkYSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDIyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3NQogbXNnaWQgIlVzZSB0aGUgZG9uZSBmZWF0dXJlIHRvIHRlcm1pbmF0ZSB0aGUgc3RyZWFtIgogbXNnc3RyICJVc2EgbGEgY2FyYWN0ZXLDrXN0aWNhIGRvbmUgcGVyIGEgYWNhYmFyIGVsIGNvcnJlbnQiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDIzCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3NgogbXNnaWQgIlNraXAgb3V0cHV0IG9mIGJsb2IgZGF0YSIKIG1zZ3N0ciAiT21ldCBsJ2VtaXNzacOzIGRlIGRhZGVzIGRlIGJsb2IiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDI0IGJ1aWx0aW4vbG9nLmM6MTU4OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzcgYnVpbHRpbi9sb2cuYzoxNzA1CiBtc2dpZCAicmVmc3BlYyIKIG1zZ3N0ciAiZXNwZWNpZmljYWNpw7MgZGUgcmVmZXLDqG5jaWEiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDI1CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3OAogbXNnaWQgIkFwcGx5IHJlZnNwZWMgdG8gZXhwb3J0ZWQgcmVmcyIKIG1zZ3N0ciAiQXBsaWNhIGwnZXNwZWNpZmljYWNpw7MgZGUgcmVmZXLDqG5jaWEgYSBsZXMgcmVmZXLDqG5jaWVzIGV4cG9ydGFkZXMiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDI2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3OQogbXNnaWQgImFub255bWl6ZSBvdXRwdXQiCiBtc2dzdHIgImFub25pbWl0emEgbGEgc29ydGlkYSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE4MQorbXNnaWQgIlJlZmVyZW5jZSBwYXJlbnRzIHdoaWNoIGFyZSBub3QgaW4gZmFzdC1leHBvcnQgc3RyZWFtIGJ5IG9iamVjdCBpZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE4MworbXNnaWQgIlNob3cgb3JpZ2luYWwgb2JqZWN0IGlkcyBvZiBibG9icy9jb21taXRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTg1Cittc2dpZCAiTGFiZWwgdGFncyB3aXRoIG1hcmsgaWRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMjIwCittc2dpZCAiQ2Fubm90IHBhc3MgYm90aCAtLWltcG9ydC1tYXJrcyBhbmQgLS1pbXBvcnQtbWFya3MtaWYtZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNAogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs8b3BjaW9ucz5dIFs8ZGlww7JzaXQ+IFs8ZXNwZWNpZmljYWNpw7MtZGUtcmVmZXLDqG5jaWE+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyOQorIzogYnVpbHRpbi9mZXRjaC5jOjM1CiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIDxncm91cD4iCiBtc2dzdHIgImdpdCBmZXRjaCBbPG9wY2lvbnM+XSA8Z3J1cD4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMAorIzogYnVpbHRpbi9mZXRjaC5jOjM2CiBtc2dpZCAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzxvcHRpb25zPl0gWyg8cmVwb3NpdG9yeT4gfCA8Z3JvdXA+KS4uLl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3BjaW9ucz5dIFsoPGRpcMOyc2l0PiB8IDxncnVwPikuLi5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNwogbXNnaWQgImdpdCBmZXRjaCAtLWFsbCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGZldGNoIC0tYWxsIFs8b3BjaW9ucz5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE1IGJ1aWx0aW4vcHVsbC5jOjE5NAorIzogYnVpbHRpbi9mZXRjaC5jOjExNgorbXNnaWQgImZldGNoLnBhcmFsbGVsIGNhbm5vdCBiZSBuZWdhdGl2ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTM5IGJ1aWx0aW4vcHVsbC5jOjIwNAogbXNnaWQgImZldGNoIGZyb20gYWxsIHJlbW90ZXMiCiBtc2dzdHIgIm9idMOpbiBkZSB0b3RzIGVscyByZW1vdHMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTcgYnVpbHRpbi9wdWxsLmM6MTk3CisjOiBidWlsdGluL2ZldGNoLmM6MTQxIGJ1aWx0aW4vcHVsbC5jOjI0OAorIywgZnV6enkKK21zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL2ZldGNoIgorbXNnc3RyICJlc3RhYmxlaXggbGEgZm9udCBwZXIgYSBnaXQgcHVsbC9zdGF0dXMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDMgYnVpbHRpbi9wdWxsLmM6MjA3CiBtc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgogbXNnc3RyICJhbm5leGEgYSAuZ2l0L0ZFVENIX0hFQUQgZW4gbGxvYyBkZSBzb2JyZWVzY3JpdXJlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE5IGJ1aWx0aW4vcHVsbC5jOjIwMAorIzogYnVpbHRpbi9mZXRjaC5jOjE0NSBidWlsdGluL3B1bGwuYzoyMTAKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgImNhbcOtIGFsIHF1YWwgcHVqYXIgZWwgcGFxdWV0IGFsIGNvc3RhdCByZW1vdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMAotIywgZnV6enkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDYKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgbG9jYWwgcmVmZXJlbmNlIgotbXNnc3RyICJmb3LDp2EgbGEgc29icmVlc2NyaXB0dXJhIGRlIGxhIGJyYW5jYSBsb2NhbCIKK21zZ3N0ciAiZm9yw6dhIGxhIHNvYnJlZXNjcmlwdHVyYSBkZSBsYSByZWZlcsOobmNpYSBsb2NhbCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMgorIzogYnVpbHRpbi9mZXRjaC5jOjE0OAogbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKIG1zZ3N0ciAib2J0w6luIGRlIG3Dumx0aXBsZXMgcmVtb3RzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI0IGJ1aWx0aW4vcHVsbC5jOjIwNAorIzogYnVpbHRpbi9mZXRjaC5jOjE1MCBidWlsdGluL3B1bGwuYzoyMTQKIG1zZ2lkICJmZXRjaCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIgogbXNnc3RyICJvYnTDqW4gdG90ZXMgbGVzIGV0aXF1ZXRlcyBpIHRvdHMgZWxzIG9iamVjdGVzIGFzc29jaWF0cyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyNgorIzogYnVpbHRpbi9mZXRjaC5jOjE1MgogbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKIG1zZ3N0ciAibm8gb2J0aW5ndWlzIGxlcyBldGlxdWV0ZXMgKC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTQKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBmZXRjaGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJub21icmUgZGUgc3VibcOyZHVscyBvYnRpbmd1dHMgZW4gcGFyYWzCt2xlbCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMCBidWlsdGluL3B1bGwuYzoyMDcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTYgYnVpbHRpbi9wdWxsLmM6MjE3CiBtc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCiBtc2dzdHIgInBvZGEgbGVzIGJyYW5xdWVzIGFtYiBzZWd1aW1lbnQgcmVtb3QgcXVlIGphIG5vIGVzdGlndWluIGVuIGVsIHJlbW90IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyCisjOiBidWlsdGluL2ZldGNoLmM6MTU4CiBtc2dpZCAicHJ1bmUgbG9jYWwgdGFncyBubyBsb25nZXIgb24gcmVtb3RlIGFuZCBjbG9iYmVyIGNoYW5nZWQgdGFncyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMzIGJ1aWx0aW4vZmV0Y2guYzoxNTYgYnVpbHRpbi9wdWxsLmM6MTMyCisjOiBidWlsdGluL2ZldGNoLmM6MTU5IGJ1aWx0aW4vZmV0Y2guYzoxODIgYnVpbHRpbi9wdWxsLmM6MTQxCiBtc2dpZCAib24tZGVtYW5kIgogbXNnc3RyICJzb3RhIGRlbWFuZGEiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjAKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICJjb250cm9sYSBsJ29idGVuY2nDsyByZWN1cnNpdmEgZGUgc3VibcOyZHVscyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzOCBidWlsdGluL3B1bGwuYzoyMTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjQgYnVpbHRpbi9wdWxsLmM6MjI1CiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgInJldMOpbiBlbCBwYXF1ZXQgYmFpeGF0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQwCisjOiBidWlsdGluL2ZldGNoLmM6MTY2CiBtc2dpZCAiYWxsb3cgdXBkYXRpbmcgb2YgSEVBRCByZWYiCiBtc2dzdHIgInBlcm1ldCBsJ2FjdHVhbGl0emFjacOzIGRlIGxhIHJlZmVyw6huY2lhIEhFQUQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNDMgYnVpbHRpbi9mZXRjaC5jOjE0OSBidWlsdGluL3B1bGwuYzoyMTgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjkgYnVpbHRpbi9mZXRjaC5jOjE3NSBidWlsdGluL3B1bGwuYzoyMjgKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgogbXNnc3RyICJhcHJvZnVuZGVpeCBsYSBoaXN0w7JyaWEgZCd1biBjbG9uIHN1cGVyZmljaWFsIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQ1CisjOiBidWlsdGluL2ZldGNoLmM6MTcxCiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyByZXBvc2l0b3J5IGJhc2VkIG9uIHRpbWUiCiBtc2dzdHIgImFwcm9mdW5kZWl4IGxhIGhpc3TDsnJpYSBkJ3VuIGNsb24gc3VwZXJmaWNpYWwgYmFzYXQgZW4gdGVtcHMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTEgYnVpbHRpbi9wdWxsLmM6MjIxCisjOiBidWlsdGluL2ZldGNoLmM6MTc3IGJ1aWx0aW4vcHVsbC5jOjIzMQogbXNnaWQgImNvbnZlcnQgdG8gYSBjb21wbGV0ZSByZXBvc2l0b3J5IgogbXNnc3RyICJjb252ZXJ0ZWl4IGVuIHVuIGRpcMOyc2l0IGNvbXBsZXQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODAKIG1zZ2lkICJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IgogbXNnc3RyICJhbnRlcG9zYSBhaXjDsiBhIGxhIHNvcnRpZGEgZGUgY2Ftw60gZGVsIHN1Ym3DsmR1bCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1NworIzogYnVpbHRpbi9mZXRjaC5jOjE4MwogbXNnaWQgIiIKICJkZWZhdWx0IGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyAobG93ZXIgcHJpb3JpdHkgdGhhbiBjb25maWcgIgogImZpbGVzKSIKQEAgLTEwOTUwLDEwOCArMTMzNjksMTI4IEBACiAicGVyIGRlZmVjdGUgcGVyIGEgbCdvYnRlbmNpw7MgcmVjdXJzaXZhIGRlIHN1Ym3DsmR1bHMgKHByaW9yaXRhdCBtw6lzIGJhaXhhIHF1ZSAiCiAiZWxzIGZpdHhlcnMgZGUgY29uZmlndXJhY2nDsykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjEgYnVpbHRpbi9wdWxsLmM6MjI0CisjOiBidWlsdGluL2ZldGNoLmM6MTg3IGJ1aWx0aW4vcHVsbC5jOjIzNAogbXNnaWQgImFjY2VwdCByZWZzIHRoYXQgdXBkYXRlIC5naXQvc2hhbGxvdyIKIG1zZ3N0ciAiYWNjZXB0YSBsZXMgcmVmZXLDqG5jaWVzIHF1ZSBhY3R1YWxpdHppbiAuZ2l0L3NoYWxsb3ciCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjIgYnVpbHRpbi9wdWxsLmM6MjI2CisjOiBidWlsdGluL2ZldGNoLmM6MTg4IGJ1aWx0aW4vcHVsbC5jOjIzNgogbXNnaWQgInJlZm1hcCIKIG1zZ3N0ciAibWFwYSBkZSByZWZlcsOobmNpZXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjMgYnVpbHRpbi9wdWxsLmM6MjI3CisjOiBidWlsdGluL2ZldGNoLmM6MTg5IGJ1aWx0aW4vcHVsbC5jOjIzNwogbXNnaWQgInNwZWNpZnkgZmV0Y2ggcmVmbWFwIgogbXNnc3RyICJtb3N0cmEgZWwgbWFwYSBkZSByZWZlcsOobmNpZXMgZCdvYnRlbmNpw7MiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjQgYnVpbHRpbi9scy1yZW1vdGUuYzo3NyBidWlsdGluL3B1c2guYzo1ODIKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcyCi1tc2dpZCAic2VydmVyLXNwZWNpZmljIgotbXNnc3RyICJlc3BlY8OtZmljIGFsIHNlcnZpZG9yIgotCi0jOiBidWlsdGluL2ZldGNoLmM6MTY0IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzcgYnVpbHRpbi9wdXNoLmM6NTgyCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE3MwotbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKLW1zZ3N0ciAib3BjacOzIGEgdHJhbnNtZXRyZSIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjE3MAorIzogYnVpbHRpbi9mZXRjaC5jOjE5NgogbXNnaWQgInJlcG9ydCB0aGF0IHdlIGhhdmUgb25seSBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIHRoaXMgb2JqZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0NzAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxOTkKKyMsIGZ1enp5Cittc2dpZCAicnVuICdnYyAtLWF1dG8nIGFmdGVyIGZldGNoaW5nIgorbXNnc3RyICJwb2RhIGVscyByZW1vdHMgZGVzcHLDqXMgZCdvYnRlbmlyLWxvcyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjIwMSBidWlsdGluL3B1bGwuYzoyNDYKK21zZ2lkICJjaGVjayBmb3IgZm9yY2VkLXVwZGF0ZXMgb24gYWxsIHVwZGF0ZWQgYnJhbmNoZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjIwMworIywgZnV6enkKK21zZ2lkICJ3cml0ZSB0aGUgY29tbWl0LWdyYXBoIGFmdGVyIGZldGNoaW5nIgorbXNnc3RyICJwb2RhIGVscyByZW1vdHMgZGVzcHLDqXMgZCdvYnRlbmlyLWxvcyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjUxMwogbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHRyb2JhciBsYSByZWZlcsOobmNpYSBIRUFEIHJlbW90YSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwOQorIzogYnVpbHRpbi9mZXRjaC5jOjY1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBjb250YWlucyBpbnZhbGlkIHZhbHVlICVzIgogbXNnc3RyICJsYSBjb25maWd1cmFjacOzIGZldGNoLm91dHB1dCBjb250w6kgdW4gdmFsb3Igbm8gdsOgbGlkICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzAyCisjOiBidWlsdGluL2ZldGNoLmM6NzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBub3QgZm91bmQiCiBtc2dzdHIgIm9iamVjdGUgJXMgbm8gdHJvYmF0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzA2CisjOiBidWlsdGluL2ZldGNoLmM6NzU1CiBtc2dpZCAiW3VwIHRvIGRhdGVdIgogbXNnc3RyICJbYWwgZGlhXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcxOSBidWlsdGluL2ZldGNoLmM6NzM1IGJ1aWx0aW4vZmV0Y2guYzo4MDcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NjggYnVpbHRpbi9mZXRjaC5jOjc4NCBidWlsdGluL2ZldGNoLmM6ODU2CiBtc2dpZCAiW3JlamVjdGVkXSIKIG1zZ3N0ciAiW3JlYnV0amF0XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcyMAorIzogYnVpbHRpbi9mZXRjaC5jOjc2OQogbXNnaWQgImNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICJubyBlcyBwb3Qgb2J0ZW5pciBlbiBsYSBicmFuY2EgYWN0dWFsIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzMwCisjOiBidWlsdGluL2ZldGNoLmM6Nzc5CiBtc2dpZCAiW3RhZyB1cGRhdGVdIgogbXNnc3RyICJbYWN0dWFsaXR6YWNpw7MgZCdldGlxdWV0YV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MzEgYnVpbHRpbi9mZXRjaC5jOjc3MSBidWlsdGluL2ZldGNoLmM6Nzg3Ci0jOiBidWlsdGluL2ZldGNoLmM6ODAyCisjOiBidWlsdGluL2ZldGNoLmM6NzgwIGJ1aWx0aW4vZmV0Y2guYzo4MTcgYnVpbHRpbi9mZXRjaC5jOjgzOQorIzogYnVpbHRpbi9mZXRjaC5jOjg1MQogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFjdHVhbGl0emFyIGxhIHJlZmVyw6huY2lhIGxvY2FsIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzM1CisjOiBidWlsdGluL2ZldGNoLmM6Nzg0CiBtc2dpZCAid291bGQgY2xvYmJlciBleGlzdGluZyB0YWciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc1NworIzogYnVpbHRpbi9mZXRjaC5jOjgwNgogbXNnaWQgIltuZXcgdGFnXSIKIG1zZ3N0ciAiW2V0aXF1ZXRhIG5vdmFdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzYwCisjOiBidWlsdGluL2ZldGNoLmM6ODA5CiBtc2dpZCAiW25ldyBicmFuY2hdIgogbXNnc3RyICJbYnJhbmNhIG5vdmFdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzYzCisjOiBidWlsdGluL2ZldGNoLmM6ODEyCiBtc2dpZCAiW25ldyByZWZdIgogbXNnc3RyICJbcmVmZXLDqG5jaWEgbm92YV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MDIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTEKIG1zZ2lkICJmb3JjZWQgdXBkYXRlIgogbXNnc3RyICJhY3R1YWxpdHphY2nDsyBmb3LDp2FkYSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgwNworIzogYnVpbHRpbi9mZXRjaC5jOjg1NgogbXNnaWQgIm5vbi1mYXN0LWZvcndhcmQiCiBtc2dzdHIgInNlbnNlIGF2YW7DpyByw6BwaWQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NTMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NzcKK21zZ2lkICIiCisiRmV0Y2ggbm9ybWFsbHkgaW5kaWNhdGVzIHdoaWNoIGJyYW5jaGVzIGhhZCBhIGZvcmNlZCB1cGRhdGUsXG4iCisiYnV0IHRoYXQgY2hlY2sgaGFzIGJlZW4gZGlzYWJsZWQuIFRvIHJlLWVuYWJsZSwgdXNlICctLXNob3ctZm9yY2VkLXVwZGF0ZXMnXG4iCisiZmxhZyBvciBydW4gJ2dpdCBjb25maWcgZmV0Y2guc2hvd0ZvcmNlZFVwZGF0ZXMgdHJ1ZScuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGNoZWNrIGZvcmNlZCB1cGRhdGVzLiBZb3UgY2FuIHVzZVxuIgorIictLW5vLXNob3ctZm9yY2VkLXVwZGF0ZXMnIG9yIHJ1biAnZ2l0IGNvbmZpZyBmZXRjaC5zaG93Rm9yY2VkVXBkYXRlcyAiCisiZmFsc2UnXG4iCisiIHRvIGF2b2lkIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjkxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzXG4iCiBtc2dzdHIgIiVzIG5vIGhhIGVudmlhdCB0b3RzIGVscyBvYmplY3RlcyBuZWNlc3NhcmlzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVqZWN0ICVzIGJlY2F1c2Ugc2hhbGxvdyByb290cyBhcmUgbm90IGFsbG93ZWQgdG8gYmUgdXBkYXRlZCIKIG1zZ3N0ciAiIgogInJlYnV0amEgJXMgcGVycXXDqCBubyBlcyBwZXJtZXQgcXVlIGxlcyBhcnJlbHMgc3VwZXJmaWNpYWxzIHMnYWN0dWFsaXR6aW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NjMgYnVpbHRpbi9mZXRjaC5jOjEwODUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE3IGJ1aWx0aW4vZmV0Y2guYzoxMTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICJEZSAlLipzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJzb21lIGxvY2FsIHJlZnMgY291bGQgbm90IGJlIHVwZGF0ZWQ7IHRyeSBydW5uaW5nXG4iCkBAIC0xMTA2MSw1NSArMTM1MDAsODAgQEAKICIgaW50ZW50ZXUgZXhlY3V0YXIgJ2dpdCByZW1vdGUgcHJ1bmUgJXMnIHBlciBhIGVsaW1pbmFyXG4iCiAiIHF1YWxzZXZvbCBicmFuY2EgYW50aWdhIG8gY29uZmxpY3RpdmEiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDU1CisjOiBidWlsdGluL2ZldGNoLmM6MTEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMgZXMgdG9ybmFyw6AgcGVuamFudCkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDU2CisjOiBidWlsdGluL2ZldGNoLmM6MTEyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgaGFzIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICglcyBzJ2hhIHRvcm5hdCBwZW5qYW50KSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwODgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTU4CiBtc2dpZCAiW2RlbGV0ZWRdIgogbXNnc3RyICJbc3VwcmltaXRdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4OSBidWlsdGluL3JlbW90ZS5jOjEwMzYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTU5IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNQogbXNnaWQgIihub25lKSIKIG1zZ3N0ciAiKGNhcCkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEyCisjOiBidWlsdGluL2ZldGNoLmM6MTE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBmZXRjaCBpbnRvIGN1cnJlbnQgYnJhbmNoICVzIG9mIG5vbi1iYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIlMnZXN0w6AgcmVmdXNhbnQgb2J0ZW5pciBlbiBsYSBicmFuY2EgYWN0dWFsICVzIGQndW4gZGlww7JzaXQgbm8gbnUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTMxCisjOiBidWlsdGluL2ZldGNoLmM6MTIwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgotbXNnc3RyICJMJ29wY2nDsyBcIiVzXCIgYW1iIHZhbG9yIFwiJXNcIiBubyDDqXMgdsOgbGlkYSBwZXIgYSAlcyIKK21zZ3N0ciAiTCdvcGNpw7Mgwqslc8K7IGFtYiB2YWxvciDCqyVzwrsgbm8gw6lzIHbDoGxpZGEgcGVyIGEgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTM0CisjOiBidWlsdGluL2ZldGNoLmM6MTIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIGlzIGlnbm9yZWQgZm9yICVzXG4iCi1tc2dzdHIgIlMnaWdub3JhIGwnb3BjacOzIFwiJXNcIiBwZXIgYSAlc1xuIgorbXNnc3RyICJTJ2lnbm9yYSBsJ29wY2nDsyDCqyVzwrsgcGVyIGEgJXNcbiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MTIKK21zZ2lkICJtdWx0aXBsZSBicmFuY2hlcyBkZXRlY3RlZCwgaW5jb21wYXRpYmxlIHdpdGggLS1zZXQtdXBzdHJlYW0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MjcKKyMsIGZ1enp5Cittc2dpZCAibm90IHNldHRpbmcgdXBzdHJlYW0gZm9yIGEgcmVtb3RlIHJlbW90ZS10cmFja2luZyBicmFuY2giCittc2dzdHIgImxhIGJyYW5jYSBmb250IMKrJXPCuyBubyBzJ2VtbWFnYXR6ZW1hIGNvbSBhIGJyYW5jYSBhbWIgc2VndWltZW50IHJlbW90IgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQyOQorIywgZnV6enkKK21zZ2lkICJub3Qgc2V0dGluZyB1cHN0cmVhbSBmb3IgYSByZW1vdGUgdGFnIgorbXNnc3RyICJlc3RhYmxlaXggbGEgZm9udCBwZXIgYSBnaXQgcHVsbC9zdGF0dXMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDMxCisjLCBmdXp6eQorbXNnaWQgInVua25vd24gYnJhbmNoIHR5cGUiCittc2dzdHIgInRpcHVzIGQnb2JqZWN0ZSBkZXNjb25lZ3V0ICVkIgogCiAjOiBidWlsdGluL2ZldGNoLmM6MTQzMworbXNnaWQgIiIKKyJubyBzb3VyY2UgYnJhbmNoIGZvdW5kLlxuIgorInlvdSBuZWVkIHRvIHNwZWNpZnkgZXhhY3RseSBvbmUgYnJhbmNoIHdpdGggdGhlIC0tc2V0LXVwc3RyZWFtIG9wdGlvbi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE1NTkgYnVpbHRpbi9mZXRjaC5jOjE2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmV0Y2hpbmcgJXNcbiIKIG1zZ3N0ciAiUydlc3TDoCBvYnRlbmludCAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQzNSBidWlsdGluL3JlbW90ZS5jOjEwMAorIzogYnVpbHRpbi9mZXRjaC5jOjE1NjkgYnVpbHRpbi9mZXRjaC5jOjE2MjQgYnVpbHRpbi9yZW1vdGUuYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9idGVuaXIgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNDgxIGJ1aWx0aW4vZmV0Y2guYzoxNjQ5Ci1tc2dpZCAiIgotIi0tZmlsdGVyIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB0aGUgcmVtb3RlIGNvbmZpZ3VyZWQgaW4gY29yZS5wYXJ0aWFsQ2xvbmUiCi1tc2dzdHIgIiIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZmV0Y2ggJyVzJyAoZXhpdCBjb2RlOiAlZClcbiIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBlc3RhYmxpciDCqyVzwrsgYSDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTA0CisjOiBidWlsdGluL2ZldGNoLmM6MTY4NAogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgpAQCAtMTExMTcsNjYgKzEzNTgxLDcyIEBACiAiQ2FwIGRpcMOyc2l0IHJlbW90IGVzcGVjaWZpY2F0LiBFc3BlY2lmaXF1ZXUgdW4gVVJMIG9cbiIKICJ1biBub20gcmVtb3QgZGVsIHF1YWwgZXMgZGV1ZW4gb2J0ZW5pciBsZXMgcmV2aXNpb25zIG5vdmVzLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1NDEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzIxCiBtc2dpZCAiWW91IG5lZWQgdG8gc3BlY2lmeSBhIHRhZyBuYW1lLiIKIG1zZ3N0ciAiTmVjZXNzaXRldSBlc3BlY2lmaWNhciB1biBub20gZCdldGlxdWV0YS4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTkwCisjOiBidWlsdGluL2ZldGNoLmM6MTc3MQogbXNnaWQgIk5lZ2F0aXZlIGRlcHRoIGluIC0tZGVlcGVuIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIk5vIHMnYWRtZXQgdW5hIHByb2Z1bmRpdGF0IG5lZ2F0aXZhIGVuIC0tZGVlcGVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU5MgorIzogYnVpbHRpbi9mZXRjaC5jOjE3NzMKIG1zZ2lkICItLWRlZXBlbiBhbmQgLS1kZXB0aCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItLWRlZXBlbiBpIC0tZGVwdGggc8OzbiBtw7p0dWFtZW50IGV4Y2xvZW50cyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1OTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzc4CiBtc2dpZCAiLS1kZXB0aCBhbmQgLS11bnNoYWxsb3cgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi0tZGVwdGggaSAtLXVuc2hhbGxvdyBubyBlcyBwb2RlbiB1c2FyIGp1bnRzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU5OQorIzogYnVpbHRpbi9mZXRjaC5jOjE3ODAKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS11bnNoYWxsb3cgZW4gdW4gZGlww7JzaXQgY29tcGxldCBubyB0w6kgc2VudGl0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYxNQorIzogYnVpbHRpbi9mZXRjaC5jOjE3OTYKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCB0YWtlIGEgcmVwb3NpdG9yeSBhcmd1bWVudCIKIG1zZ3N0ciAiZmV0Y2ggLS1hbGwgbm8gYWNjZXB0YSB1biBwYXLDoG1ldHJlIGRlIGRpcMOyc2l0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYxNworIzogYnVpbHRpbi9mZXRjaC5jOjE3OTgKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgImZldGNoIC0tYWxsIG5vIHTDqSBzZW50aXQgYW1iIGVzcGVjaWZpY2FjaW9ucyBkZSByZWZlcsOobmNpYSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlIG9yIHJlbW90ZSBncm91cDogJXMiCi1tc2dzdHIgIk5vIGhpIGhhIHRhbCByZW1vdCBuaSB0YWwgZ3J1cCByZW1vdDogJXMiCittc2dzdHIgIk5vIGV4aXN0ZWl4IHVuIHJlbW90IG5pIHVuIGdydXAgcmVtb3Q6ICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYzMworIzogYnVpbHRpbi9mZXRjaC5jOjE4MTQKIG1zZ2lkICJGZXRjaGluZyBhIGdyb3VwIGFuZCBzcGVjaWZ5aW5nIHJlZnNwZWNzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIk9idGVuaXIgdW4gZ3J1cCBpIGVzcGVjaWZpY2FyIHJlZmVyw6huY2llcyBubyB0w6kgc2VudGl0IgogCisjOiBidWlsdGluL2ZldGNoLmM6MTgzMgorbXNnaWQgIiIKKyItLWZpbHRlciBjYW4gb25seSBiZSB1c2VkIHdpdGggdGhlIHJlbW90ZSBjb25maWd1cmVkIGluIGV4dGVuc2lvbnMuIgorInBhcnRpYWxjbG9uZSIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzoxOAogbXNnaWQgIiIKICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPG1lc3NhZ2U+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSA8ZmlsZT5dIgogbXNnc3RyICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtaXNzYXRnZT5dIFstLWxvZ1s9PG4+XSB8IC0tbm8tbG9nXSBbLS1maWxlIDxmaXR4ZXI+XSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcyCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzQKIG1zZ2lkICJwb3B1bGF0ZSBsb2cgd2l0aCBhdCBtb3N0IDxuPiBlbnRyaWVzIGZyb20gc2hvcnRsb2ciCiBtc2dzdHIgImVtcGxlbmEgZWwgcmVnaXN0cmUgYW1iIDxuPiBlbnRyYWRlcyBkZWwgcmVnaXN0cmUgY3VydCBjb20gYSBtw6B4aW0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NQorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc3CiBtc2dpZCAiYWxpYXMgZm9yIC0tbG9nIChkZXByZWNhdGVkKSIKIG1zZ3N0ciAiw6BsaWVzIHBlciAtLWxvZyAoZW4gZGVzw7pzKSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc4CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2ODAKIG1zZ2lkICJ0ZXh0IgogbXNnc3RyICJ0ZXh0IgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzkKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY4MQogbXNnaWQgInVzZSA8dGV4dD4gYXMgc3RhcnQgb2YgbWVzc2FnZSIKIG1zZ3N0ciAidXNhIDx0ZXh0PiBjb20gYSBpbmljaSBkZSBtaXNzYXRnZSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjgwCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2ODIKIG1zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKIG1zZ3N0ciAiZml0eGVyIGRlbCBxdWFsIGxsZWdpciIKIApAQCAtMTEyMTgsOTEgKzEzNjg4LDI3MyBAQAogbXNnaWQgInNob3cgb25seSA8bj4gbWF0Y2hlZCByZWZzIgogbXNnc3RyICJtb3N0cmEgbm9tw6lzIDxuPiByZWZlcsOobmNpZXMgY29pbmNpZGVudHMiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzkgYnVpbHRpbi90YWcuYzo0MjQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzkgYnVpbHRpbi90YWcuYzo0MzkKIG1zZ2lkICJyZXNwZWN0IGZvcm1hdCBjb2xvcnMiCiBtc2dzdHIgInJlc3BlY3RhIGVscyBjb2xvcnMgZGVsIGZvcm1hdCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MgogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBwb2ludHMgYXQgdGhlIGdpdmVuIG9iamVjdCIKIG1zZ3N0ciAiaW1wcmltZWl4IG5vbcOpcyBsZXMgcmVmZXLDqG5jaWVzIHF1ZSBhc3NlbnlhbGluIGwnb2JqZWN0ZSBkb25hdCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NAogbXNnaWQgInByaW50IG9ubHkgcmVmcyB0aGF0IGFyZSBtZXJnZWQiCiBtc2dzdHIgImltcHJpbWVpeCBub23DqXMgbGVzIHJlZmVyw6huY2llcyBxdWUgcydoYW4gZnVzaW9uYXQiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDYKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAiaW1wcmltZWl4IG5vbcOpcyBsZXMgcmVmZXLDqG5jaWVzIHF1ZSBubyBzJ2hhbiBmdXNpb25hdCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NgogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgImltcHJpbWVpeCBub23DqXMgbGVzIHJlZmVyw6huY2llcyBxdWUgY29udGluZ3VpbiBsYSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDgKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDcKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJpbXByaW1laXggbm9tw6lzIGxlcyByZWZlcsOobmNpZXMgcXVlIG5vIGNvbnRpbmd1aW4gbGEgY29taXNzacOzIgogCi0jOiBidWlsdGluL2ZzY2suYzo1OTgKKyM6IGJ1aWx0aW4vZnNjay5jOjY4IGJ1aWx0aW4vZnNjay5jOjE0NyBidWlsdGluL2ZzY2suYzoxNDgKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICJkZXNjb25lZ3V0IgorCisjLiBUUkFOU0xBVE9SUzogZS5nLiBlcnJvciBpbiB0cmVlIDAxYmZkYTogPG1vcmUgZXhwbGFuYXRpb24+CisjOiBidWlsdGluL2ZzY2suYzoxMDAgYnVpbHRpbi9mc2NrLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGluICVzICVzOiAlcyIKK21zZ3N0ciAiZXJyb3IgZW4gJXMgJXM6ICVzIgorCisjLiBUUkFOU0xBVE9SUzogZS5nLiB3YXJuaW5nIGluIHRyZWUgMDFiZmRhOiA8bW9yZSBleHBsYW5hdGlvbj4KKyM6IGJ1aWx0aW4vZnNjay5jOjExNAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nIGluICVzICVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzoxNDMgYnVpbHRpbi9mc2NrLmM6MTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImJyb2tlbiBsaW5rIGZyb20gJTdzICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjE1NQorbXNnaWQgIndyb25nIG9iamVjdCB0eXBlIGluIGxpbmsiCittc2dzdHIgInRpcHVzIGQnb2JqZWN0ZSBpbmNvcnJlY3RlIGVuIGwnZW5sbGHDpyIKKworIzogYnVpbHRpbi9mc2NrLmM6MTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJicm9rZW4gbGluayBmcm9tICU3cyAlc1xuIgorIiAgICAgICAgICAgICAgdG8gJTdzICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nICVzICVzIgorbXNnc3RyICJtYW5jYSAlcyAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlICVzICVzIgorbXNnc3RyICJpbmFiYXN0YWJsZSAlcyAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6MzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkYW5nbGluZyAlcyAlcyIKK21zZ3N0ciAiUydlc3RhbiBhY3R1YWxpdHphbnQgJXMuLiVzXG4iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjMzOQorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxvc3QtZm91bmQiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgZWwgZml0eGVyIMKrJXPCuyIKKworIzogYnVpbHRpbi9mc2NrLmM6MzUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmaW5pc2ggJyVzJyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBmaW5hbGl0emFyIMKrJXPCuyIKKworIzogYnVpbHRpbi9mc2NrLmM6MzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nICVzIgorbXNnc3RyICJTJ2VzdMOgIGNvbXByb3ZhbnQgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkgKCVkIG9iamVjdHMpIgorbXNnc3RyICJTJ2VzdMOgIGNvbXByb3ZhbnQgbGEgY29ubmVjdGl2aXRhdCAoJWQgb2JqZWN0ZXMpIgorCisjOiBidWlsdGluL2ZzY2suYzo0MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgJXMgJXMiCittc2dzdHIgIlMnZXN0w6AgY29tcHJvdmFudCAlcyAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDI5Cittc2dpZCAiYnJva2VuIGxpbmtzIgorbXNnc3RyICJlbmxsYcOnb3MgdHJlbmNhdHMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJyb290ICVzIgorbXNnc3RyICJhcnJlbCAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInRhZ2dlZCAlcyAlcyAoJXMpIGluICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZyIKK21zZ3N0ciAiJXM6IG9iamVjdGUgY29ycnVwdGUgbyBubyB0cm9iYXQiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjUwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCByZWZsb2cgZW50cnkgJXMiCittc2dzdHIgIiAlczogZW50cmFkYSBkZSByZWZlcsOobmNpYSBubyB2w6BsaWRhICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo1MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nIHJlZmxvZyAlcy0+JXMiCittc2dzdHIgIlMnZXN0w6AgY29tcHJvdmFudCBlbCBjYW52aSBkZSBub20gZGUgwqslc8K7IGEgwqslc8K7XG4iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBzaGExIHBvaW50ZXIgJXMiCittc2dzdHIgIiVzOiBwdW50ZXIgc2hhMSBubyB2w6BsaWQ6ICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGNvbW1pdCIKK21zZ3N0ciAiJXM6IG5vIMOpcyB1bmEgY29taXNzacOzIgorCisjOiBidWlsdGluL2ZzY2suYzo2MDkKK21zZ2lkICJub3RpY2U6IE5vIGRlZmF1bHQgcmVmZXJlbmNlcyIKK21zZ3N0ciAiYXbDrXM6IG5vIGhpIGhhIHJlZmVyw6huY2llcyBwZXIgZGVmZWN0ZSIKKworIzogYnVpbHRpbi9mc2NrLmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgY29ycnVwdCBvciBtaXNzaW5nOiAlcyIKK21zZ3N0ciAiJXM6IG9iamVjdGUgY29ycnVwdGUgbyBubyB0cm9iYXQ6ICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo2MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBjb3VsZCBub3QgYmUgcGFyc2VkOiAlcyIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGwnb2JqZWN0ZTogJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY1NworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc2hhMSBmaWxlOiAlcyIKK21zZ3N0ciAiZml0eGVyIHNoYTEgbWFsbcOoczogJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY3MgorbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcnkiCittc2dzdHIgIlMnZXN0w6AgY29tcHJvdmFudCBlbCBkaXJlY3RvcmkgZCdvYmplY3RlIgorCisjOiBidWlsdGluL2ZzY2suYzo2NzUKIG1zZ2lkICJDaGVja2luZyBvYmplY3QgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIlMnZXN0YW4gY29tcHJvdmFudCBlbHMgZGlyZWN0b3JpcyBkJ29iamVjdGUiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjY5MworIzogYnVpbHRpbi9mc2NrLmM6NjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nICVzIGxpbmsiCittc2dzdHIgIlMnZXN0w6AgY29tcHJvdmFudCBsJ2VubGxhw6cgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY5NSBidWlsdGluL2luZGV4LXBhY2suYzo4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCAlcyIKK21zZ3N0ciAiJXMgbm8gdsOgbGlkIgorCisjOiBidWlsdGluL2ZzY2suYzo3MDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHBvaW50cyB0byBzb21ldGhpbmcgc3RyYW5nZSAoJXMpIgorbXNnc3RyICIlcyAtIG5vIMOpcyB1bmEgY29zYSBxdWUgcHVndWVtIGZ1c2lvbmFyIgorCisjOiBidWlsdGluL2ZzY2suYzo3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaGVkIEhFQUQgcG9pbnRzIGF0IG5vdGhpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NzEyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdGljZTogJXMgcG9pbnRzIHRvIGFuIHVuYm9ybiBicmFuY2ggKCVzKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo3MjQKK21zZ2lkICJDaGVja2luZyBjYWNoZSB0cmVlIgorbXNnc3RyICJTJ2VzdMOgIGNvbXByb3ZhbnQgbCdhcmJyZSBkZSBsYSBtZW3DsnJpYSBjYXUiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjcyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgc2hhMSBwb2ludGVyIGluIGNhY2hlLXRyZWUiCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYWN0dWFsaXR6YXIgbCdhcmJyZSBwcmluY2lwYWwgZGUgbWVtw7JyaWEgY2F1IgorCisjOiBidWlsdGluL2ZzY2suYzo3MzgKK21zZ2lkICJub24tdHJlZSBpbiBjYWNoZS10cmVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjc2OQogbXNnaWQgImdpdCBmc2NrIFs8b3B0aW9ucz5dIFs8b2JqZWN0Pi4uLl0iCiBtc2dzdHIgImdpdCBmc2NrIFs8b3BjaW9ucz5dIFs8b2JqZWN0ZT4uLi5dIgogCi0jOiBidWlsdGluL2ZzY2suYzo2OTkKKyM6IGJ1aWx0aW4vZnNjay5jOjc3NQogbXNnaWQgInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAibW9zdHJhIGVscyBvYmplY3RlcyBpbmFiYXN0YWJsZXMiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwMAorIzogYnVpbHRpbi9mc2NrLmM6Nzc2CiBtc2dpZCAic2hvdyBkYW5nbGluZyBvYmplY3RzIgogbXNnc3RyICJtb3N0cmEgZWxzIG9iamVjdGVzIHBlbmphbnRzIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDEKKyM6IGJ1aWx0aW4vZnNjay5jOjc3NwogbXNnaWQgInJlcG9ydCB0YWdzIgogbXNnc3RyICJpbmZvcm1hIGRlIGxlcyBldGlxdWV0ZXMiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwMgorIzogYnVpbHRpbi9mc2NrLmM6Nzc4CiBtc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCiBtc2dzdHIgImluZm9ybWEgZGVscyBub2RlcyBkJ2FycmVsIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDMKKyM6IGJ1aWx0aW4vZnNjay5jOjc3OQogbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgogbXNnc3RyICJmZXMgZWxzIG9iamVjdGVzIGQnw61uZGV4IG5vZGVzIGRlIGNhcCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzA0CisjOiBidWlsdGluL2ZzY2suYzo3ODAKIG1zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCiBtc2dzdHIgImZlcyBxdWUgZWxzIHJlZ2lzdHJlcyBkZSByZWZlcsOobmNpZXMgc2lndWluIG5vZGVzIGRlIGNhcCAocGVyIGRlZmVjdGUpIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDUKKyM6IGJ1aWx0aW4vZnNjay5jOjc4MQogbXNnaWQgImFsc28gY29uc2lkZXIgcGFja3MgYW5kIGFsdGVybmF0ZSBvYmplY3RzIgogbXNnc3RyICJ0YW1iw6kgY29uc2lkZXJhIGVscyBwYXF1ZXRzIGkgZWxzIG9iamVjdGVzIGFsdGVybmF0aXVzIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDYKKyM6IGJ1aWx0aW4vZnNjay5jOjc4MgogbXNnaWQgImNoZWNrIG9ubHkgY29ubmVjdGl2aXR5IgogbXNnc3RyICJjb21wcm92YSBub23DqXMgbGEgY29ubmVjdGl2aXRhdCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzA3CisjOiBidWlsdGluL2ZzY2suYzo3ODMKIG1zZ2lkICJlbmFibGUgbW9yZSBzdHJpY3QgY2hlY2tpbmciCiBtc2dzdHIgImhhYmlsaXRhIGxhIGNvbXByb3ZhY2nDsyBtw6lzIGVzdHJpY3RhIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDkKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NQogbXNnaWQgIndyaXRlIGRhbmdsaW5nIG9iamVjdHMgaW4gLmdpdC9sb3N0LWZvdW5kIgogbXNnc3RyICJlc2NyaXUgb2JqZWN0ZXMgcGVuamFudHMgYSAuZ2l0L2xvc3QtZm91bmQiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcxMCBidWlsdGluL3BydW5lLmM6MTEwCisjOiBidWlsdGluL2ZzY2suYzo3ODYgYnVpbHRpbi9wcnVuZS5jOjEzMgogbXNnaWQgInNob3cgcHJvZ3Jlc3MiCiBtc2dzdHIgIm1vc3RyYSBlbCBwcm9ncsOpcyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzExCisjOiBidWlsdGluL2ZzY2suYzo3ODcKIG1zZ2lkICJzaG93IHZlcmJvc2UgbmFtZXMgZm9yIHJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJtb3N0cmEgZWxzIG5vbXMgZGV0YWxsYXRzIGRlbHMgb2JqZWN0ZXMgYWJhc3RhYmxlcyIKIAotIzogYnVpbHRpbi9mc2NrLmM6Nzc2CisjOiBidWlsdGluL2ZzY2suYzo4NDYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI1CiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiUydlc3RhbiBjb21wcm92YW50IGVscyBvYmplY3RlcyIKIAotIzogYnVpbHRpbi9nYy5jOjM0CisjOiBidWlsdGluL2ZzY2suYzo4NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgbWlzc2luZyIKK21zZ3N0ciAibW9zdHJhIGxhIG1pZGEgZGUgbCdvYmplY3RlIgorCisjOiBidWlsdGluL2ZzY2suYzo4ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcGFyYW1ldGVyOiBleHBlY3RlZCBzaGExLCBnb3QgJyVzJyIKK21zZ3N0ciAicydlc3BlcmF2YSBzaGFsbG93L3Vuc2hhbGxvdywgcydoYSByZWJ1dCAlcyIKKworIzogYnVpbHRpbi9nYy5jOjM1CiBtc2dpZCAiZ2l0IGdjIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgZ2MgWzxvcGNpb25zPl0iCiAKQEAgLTExMzExLDE3ICsxMzk2MywyMiBAQAogbXNnaWQgIkZhaWxlZCB0byBmc3RhdCAlczogJXMiCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZmVyIGZzdGF0ICVzOiAlcyIKIAotIzogYnVpbHRpbi9nYy5jOjQ2MSBidWlsdGluL2luaXQtZGIuYzo1NQorIzogYnVpbHRpbi9nYy5jOjEyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICclcycgdmFsdWUgJyVzJyIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBtb3VyZSDCqyVzwrsgYSDCqyVzwrsiCisKKyM6IGJ1aWx0aW4vZ2MuYzo0NzUgYnVpbHRpbi9pbml0LWRiLmM6NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IGZlciBzdGF0IGVuIMKrJXPCuyIKIAotIzogYnVpbHRpbi9nYy5jOjQ3MCBidWlsdGluL25vdGVzLmM6MjQwIGJ1aWx0aW4vdGFnLmM6NTEwCisjOiBidWlsdGluL2djLmM6NDg0IGJ1aWx0aW4vbm90ZXMuYzoyNDAgYnVpbHRpbi90YWcuYzo1MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IGxsZWdpciDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0NzcKKyM6IGJ1aWx0aW4vZ2MuYzo0OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBsYXN0IGdjIHJ1biByZXBvcnRlZCB0aGUgZm9sbG93aW5nLiBQbGVhc2UgY29ycmVjdCB0aGUgcm9vdCBjYXVzZVxuIgpAQCAtMTEzMzYsNzcgKzEzOTkzLDc4IEBACiAiXG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MTkKKyM6IGJ1aWx0aW4vZ2MuYzo1MzkKIG1zZ2lkICJwcnVuZSB1bnJlZmVyZW5jZWQgb2JqZWN0cyIKIG1zZ3N0ciAicG9kYSBvYmplY3RlcyBzZW5zZSByZWZlcsOobmNpYSIKIAotIzogYnVpbHRpbi9nYy5jOjUyMQorIzogYnVpbHRpbi9nYy5jOjU0MQogbXNnaWQgImJlIG1vcmUgdGhvcm91Z2ggKGluY3JlYXNlZCBydW50aW1lKSIKIG1zZ3N0ciAic2lndWVzIG3DqXMgZXhoYXVzdGl1IChlbCB0ZW1wcyBkJ2V4ZWN1Y2nDsyBhdWdtZW50YSkiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MjIKKyM6IGJ1aWx0aW4vZ2MuYzo1NDIKIG1zZ2lkICJlbmFibGUgYXV0by1nYyBtb2RlIgogbXNnc3RyICJoYWJpbGl0YSBlbCBtb2RlIGRlIHJlY29sbGlkYSBkJ2VzY29tYnJhcmllcyBhdXRvbcOgdGljYSIKIAotIzogYnVpbHRpbi9nYy5jOjUyNQorIzogYnVpbHRpbi9nYy5jOjU0NQogbXNnaWQgImZvcmNlIHJ1bm5pbmcgZ2MgZXZlbiBpZiB0aGVyZSBtYXkgYmUgYW5vdGhlciBnYyBydW5uaW5nIgogbXNnc3RyICJmb3LDp2EgbCdleGVjdWNpw7MgZGUgZ2MgZW5jYXJhIHF1ZSBoaSBwdWd1aSBoYXZlciB1biBhbHRyZSBnYyBleGVjdXRhbnQiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MjgKKyM6IGJ1aWx0aW4vZ2MuYzo1NDgKIG1zZ2lkICJyZXBhY2sgYWxsIG90aGVyIHBhY2tzIGV4Y2VwdCB0aGUgbGFyZ2VzdCBwYWNrIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1NDUKKyM6IGJ1aWx0aW4vZ2MuYzo1NjUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnYy5sb2dleHBpcnkgdmFsdWUgJXMiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGVsIHZhbG9yIGdjLmxvZ2V4cGlyeSAlcyIKIAotIzogYnVpbHRpbi9nYy5jOjU1NgorIzogYnVpbHRpbi9nYy5jOjU3NgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBydW5lIGV4cGlyeSB2YWx1ZSAlcyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgZWwgdmFsb3IgZ2MubG9nZXhwaXJ5ICVzIgogCi0jOiBidWlsdGluL2djLmM6NTc2CisjOiBidWlsdGluL2djLmM6NTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBpbiBiYWNrZ3JvdW5kIGZvciBvcHRpbXVtIHBlcmZvcm1hbmNlLlxuIgogbXNnc3RyICIiCi0iUydlc3TDoCBlbXBhcXVldGFudCBlbCBkaXDDsnNpdCBhdXRvbcOgdGljYW1lbnQgZW4gZWwgZm9ucyBwZXIgcmVuZGltZW50ICIKLSLDsnB0aW0uXG4iCisiUydlc3TDoCBlbXBhcXVldGFudCBlbCBkaXDDsnNpdCBhdXRvbcOgdGljYW1lbnQgZW4gZWwgcmVyZWZvbnMgcGVyIGEgdW4gIgorInJlbmRpbWVudCDDsnB0aW0uXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1NzgKKyM6IGJ1aWx0aW4vZ2MuYzo1OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0byBwYWNraW5nIHRoZSByZXBvc2l0b3J5IGZvciBvcHRpbXVtIHBlcmZvcm1hbmNlLlxuIgotbXNnc3RyICJTJ2VzdMOgIGVtcGFxdWV0YW50IGF1dG9tw6B0aWNhbWVudCBlbCBkaXDDsnNpdCBwZXIgcmVuZGltZW50IMOycHRpbS5cbiIKK21zZ3N0ciAiIgorIlMnZXN0w6AgZW1wYXF1ZXRhbnQgYXV0b23DoHRpY2FtZW50IGVsIGRpcMOyc2l0IHBlciBhIHVuIHJlbmRpbWVudCDDsnB0aW0uXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1NzkKKyM6IGJ1aWx0aW4vZ2MuYzo1OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VlIFwiZ2l0IGhlbHAgZ2NcIiBmb3IgbWFudWFsIGhvdXNla2VlcGluZy5cbiIKLW1zZ3N0ciAiVmVnZXUgXCJnaXQgaGVscCBnY1wiIHBlciBuZXRlamEgbWFudWFsLlxuIgorbXNnc3RyICJWZWdldSDCq2dpdCBoZWxwIGdjwrsgcGVyIGEgbmV0ZWphIG1hbnVhbC5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjYxOQorIzogYnVpbHRpbi9nYy5jOjYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZ2MgaXMgYWxyZWFkeSBydW5uaW5nIG9uIG1hY2hpbmUgJyVzJyBwaWQgJTxQUkl1TUFYPiAodXNlIC0tZm9yY2UgaWYgbm90KSIKIG1zZ3N0ciAiIgogImdjIGphIHMnZXN0w6AgZXhlY3V0YW50IGVuIGxhIG3DoHF1aW5hIMKrJXPCuyBwaWQgJTxQUkl1TUFYPiAodXNldSAtLWZvcmNlIHNpIG5vKSIKIAotIzogYnVpbHRpbi9nYy5jOjY3MAorIzogYnVpbHRpbi9nYy5jOjY5NAogbXNnaWQgIiIKICJUaGVyZSBhcmUgdG9vIG1hbnkgdW5yZWFjaGFibGUgbG9vc2Ugb2JqZWN0czsgcnVuICdnaXQgcHJ1bmUnIHRvIHJlbW92ZSB0aGVtLiIKIG1zZ3N0ciAiIgogIkhpIGhhIG1hc3NhIG9iamVjdGVzIHNvbHRzIGluYWJhc3RhYmxlczsgZXhlY3V0ZXUgJ2dpdCBwcnVuZScgcGVyIGEgZWxpbWluYXItIgogImxvcy4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI4CisjOiBidWlsdGluL2dyZXAuYzoyOQogbXNnaWQgImdpdCBncmVwIFs8b3B0aW9ucz5dIFstZV0gPHBhdHRlcm4+IFs8cmV2Pi4uLl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGdyZXAgWzxvcGNpb25zPl0gWy1lXSA8cGF0csOzPiBbPHJldmlzacOzPi4uLl0gW1stLV0gPGNhbcOtPi4uLl0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjIyNAorIzogYnVpbHRpbi9ncmVwLmM6MjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyZXA6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiZ3JlcDogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjcmVhciBmaWw6ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzoyNzgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIGZvciAlcyIKIG1zZ3N0ciAicydoYSBlc3BlY2lmaWNhdCB1biBub21icmUgZGUgZmlscyBubyB2w6BsaWQgKCVkKSBwZXIgYSAlcyIKQEAgLTExNDE1LDI3NSArMTQwNzMsMjY4IEBACiAjLiB2YXJpYWJsZSBmb3IgdHdlYWtpbmcgdGhyZWFkcywgY3VycmVudGx5CiAjLiBncmVwLnRocmVhZHMKICMuCi0jOiBidWlsdGluL2dyZXAuYzoyODYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUwNiBidWlsdGluL2luZGV4LXBhY2suYzoxNjk3Ci0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjI4NyBidWlsdGluL2luZGV4LXBhY2suYzoxNTM0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgogbXNnc3RyICJubyBoaSBoYSBzdXBvcnQgZGUgZmlscywgcydlc3TDoCBpZ25vcmFudCAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NDU4IGJ1aWx0aW4vZ3JlcC5jOjU3OSBidWlsdGluL2dyZXAuYzo2MjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjQ2NyBidWlsdGluL2dyZXAuYzo1OTIgYnVpbHRpbi9ncmVwLmM6NjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgbCdhcmJyZSAoJXMpIgogCi0jOiBidWlsdGluL2dyZXAuYzo2MzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ3JlcCBmcm9tIG9iamVjdCBvZiB0eXBlICVzIgogbXNnc3RyICJubyBlcyBwb3QgZmVyIGdyZXAgZGVzIGQndW4gb2JqZWN0ZSBkZSB0aXB1cyAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAxCisjOiBidWlsdGluL2dyZXAuYzo3MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKIG1zZ3N0ciAibCdvcGNpw7MgwqslY8K7IGVzcGVyYSB1biB2YWxvciBudW3DqHJpYyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODAwCisjOiBidWlsdGluL2dyZXAuYzo4MTUKIG1zZ2lkICJzZWFyY2ggaW4gaW5kZXggaW5zdGVhZCBvZiBpbiB0aGUgd29yayB0cmVlIgogbXNnc3RyICJjZXJjYSBlbiBsJ8OtbmRleCBlbiBsbG9jIGRlIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODAyCisjOiBidWlsdGluL2dyZXAuYzo4MTcKIG1zZ2lkICJmaW5kIGluIGNvbnRlbnRzIG5vdCBtYW5hZ2VkIGJ5IGdpdCIKIG1zZ3N0ciAiY2VyY2EgZW4gY29udGluZ3V0cyBubyBnZXN0aW9uYXRzIHBlciBnaXQiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgwNAorIzogYnVpbHRpbi9ncmVwLmM6ODE5CiBtc2dpZCAic2VhcmNoIGluIGJvdGggdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJjZXJjYSB0YW50IGVuIGZpdHhlcnMgc2VndWl0cyBjb20gZW4gbm8gc2VndWl0cyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODA2CisjOiBidWlsdGluL2dyZXAuYzo4MjEKIG1zZ2lkICJpZ25vcmUgZmlsZXMgc3BlY2lmaWVkIHZpYSAnLmdpdGlnbm9yZSciCiBtc2dzdHIgImlnbm9yYSBlbHMgZml0eGVycyBlc3BlY2lmaWNhdHMgbWl0amFuw6dhbnQgJy5naXRpZ25vcmUnIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyMwogbXNnaWQgInJlY3Vyc2l2ZWx5IHNlYXJjaCBpbiBlYWNoIHN1Ym1vZHVsZSIKIG1zZ3N0ciAiY2VyY2EgcmVjdXJzaXZhbWVudCBhIGNhZGEgc3VibcOyZHVsIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyNgogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJtb3N0cmEgbGVzIGzDrW5pZXMgbm8gY29pbmNpZGVudHMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxMworIzogYnVpbHRpbi9ncmVwLmM6ODI4CiBtc2dpZCAiY2FzZSBpbnNlbnNpdGl2ZSBtYXRjaGluZyIKIG1zZ3N0ciAiY29pbmNpZMOobmNpYSBpbnNlbnNpYmxlIGEgbWFqw7pzY3VsYSBpIG1pbsO6c2N1bGEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxNQorIzogYnVpbHRpbi9ncmVwLmM6ODMwCiBtc2dpZCAibWF0Y2ggcGF0dGVybnMgb25seSBhdCB3b3JkIGJvdW5kYXJpZXMiCiBtc2dzdHIgImNvaW5jaWRlaXggYW1iIGVscyBwYXRyb25zIG5vbcOpcyBhbHMgbMOtbWl0cyBkZSBwYXJhdWxhIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzMgogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIGFzIHRleHQiCiBtc2dzdHIgInByb2Nlc3NhIGVscyBmaXR4ZXJzIGJpbmFyaXMgY29tIGEgdGV4dCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODE5CisjOiBidWlsdGluL2dyZXAuYzo4MzQKIG1zZ2lkICJkb24ndCBtYXRjaCBwYXR0ZXJucyBpbiBiaW5hcnkgZmlsZXMiCiBtc2dzdHIgIm5vIGNvaW5jaWRlaXhpcyBhbWIgZWxzIHBhdHJvbnMgZW4gZWxzIGZpdHhlcnMgYmluYXJpcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODIyCisjOiBidWlsdGluL2dyZXAuYzo4MzcKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCiBtc2dzdHIgInByb2Nlc3NhIGVscyBmaXR4ZXJzIGJpbmFyaXMgYW1iIGZpbHRyZXMgZGUgdGV4dGNvbnYiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgyNAotIywgZnV6enkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzOQogbXNnaWQgInNlYXJjaCBpbiBzdWJkaXJlY3RvcmllcyAoZGVmYXVsdCkiCi1tc2dzdHIgInBvZGEgbGVzIHJlZmVyw6huY2llcyBzb2x0ZXMgKHBlciBkZWZlY3RlKSIKK21zZ3N0ciAiY2VyY2EgYWxzIHN1YmRpcmVjdG9yaWVzIChwZXIgZGVmZWN0ZSkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgyNgorIzogYnVpbHRpbi9ncmVwLmM6ODQxCiBtc2dpZCAiZGVzY2VuZCBhdCBtb3N0IDxkZXB0aD4gbGV2ZWxzIgogbXNnc3RyICJkZXNjZW5kZWl4IGNvbSBhIG3DoHhpbSA8cHJvZnVuZGl0YXQ+IG5pdmVsbHMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgzMAorIzogYnVpbHRpbi9ncmVwLmM6ODQ1CiBtc2dpZCAidXNlIGV4dGVuZGVkIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgInVzYSBsZXMgZXhwcmVzc2lvbnMgcmVndWxhcnMgUE9TSVggYW1wbGlhZGVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0OAogbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKIG1zZ3N0ciAidXNhIGxlcyBleHByZXNzaW9ucyByZWd1bGFycyBQT1NJWCBiw6BzaXF1ZXMgKHBlciBkZWZlY3RlKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODM2CisjOiBidWlsdGluL2dyZXAuYzo4NTEKIG1zZ2lkICJpbnRlcnByZXQgcGF0dGVybnMgYXMgZml4ZWQgc3RyaW5ncyIKIG1zZ3N0ciAiaW50ZXJwcmV0YSBlbHMgcGF0cm9ucyBjb20gYSBjYWRlbmVzIGZpeGVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1NAogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAidXNhIGxlcyBleHByZXNzaW9ucyByZWd1bGFycyBjb21wYXRpYmxlcyBhbWIgUGVybCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQyCisjOiBidWlsdGluL2dyZXAuYzo4NTcKIG1zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKIG1zZ3N0ciAibW9zdHJhIGVscyBuw7ptZXJvcyBkZSBsw61uaWEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0MwotIywgZnV6enkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1OAogbXNnaWQgInNob3cgY29sdW1uIG51bWJlciBvZiBmaXJzdCBtYXRjaCIKLW1zZ3N0ciAibW9zdHJhIG5vbcOpcyBlbHMgbm9tcyBkZWxzIGZpdHhlcnMgc2Vuc2UgY29pbmNpZMOobmNpYSIKK21zZ3N0ciAibW9zdHJhIGVsIG5vbWJyZSBkZSBjb2x1bW5hIGRlIGxhIHByaW1lcmEgY29pbmNpZMOobmNpYSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ0CisjOiBidWlsdGluL2dyZXAuYzo4NTkKIG1zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAibm8gbW9zdHJpcyBlbHMgbm9tcyBkZSBmaXR4ZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0NQorIzogYnVpbHRpbi9ncmVwLmM6ODYwCiBtc2dpZCAic2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgIm1vc3RyYSBlbHMgbm9tcyBkZSBmaXR4ZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0NworIzogYnVpbHRpbi9ncmVwLmM6ODYyCiBtc2dpZCAic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAibW9zdHJhIGVscyBub21zIGRlIGZpdHhlciByZWxhdGl1cyBhbCBkaXJlY3Rvcmkgc3VwZXJpb3IiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0OQorIzogYnVpbHRpbi9ncmVwLmM6ODY0CiBtc2dpZCAic2hvdyBvbmx5IGZpbGVuYW1lcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJtb3N0cmEgbm9tw6lzIGVscyBub21zIGRlIGZpdHhlciBlbiBsbG9jIGRlIGxlcyBsw61uaWVzIGNvaW5jaWRlbnRzIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2NgogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogbXNnc3RyICJzaW7Dsm5pbSBkZSAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODU0CisjOiBidWlsdGluL2dyZXAuYzo4NjkKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgIm1vc3RyYSBub23DqXMgZWxzIG5vbXMgZGVscyBmaXR4ZXJzIHNlbnNlIGNvaW5jaWTDqG5jaWEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg1NgorIzogYnVpbHRpbi9ncmVwLmM6ODcxCiBtc2dpZCAicHJpbnQgTlVMIGFmdGVyIGZpbGVuYW1lcyIKIG1zZ3N0ciAiaW1wcmltZWl4IE5VTCBkZXNwcsOpcyBkZWxzIG5vbXMgZGUgZml0eGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NTkKLSMsIGZ1enp5CisjOiBidWlsdGluL2dyZXAuYzo4NzQKIG1zZ2lkICJzaG93IG9ubHkgbWF0Y2hpbmcgcGFydHMgb2YgYSBsaW5lIgotbXNnc3RyICJtb3N0cmEgbGVzIGzDrW5pZXMgbm8gY29pbmNpZGVudHMiCittc2dzdHIgIm1vc3RyYSBub23DqXMgbGVzIHBhcnRzIGRlIGNvaW5jaWRlbnRzIGRlIGxhIGzDrW5pYSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODYxCisjOiBidWlsdGluL2dyZXAuYzo4NzYKIG1zZ2lkICJzaG93IHRoZSBudW1iZXIgb2YgbWF0Y2hlcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJtb3N0cmEgZWwgbm9tYnJlIGRlIGNvaW5jaWTDqG5jaWVzIGVuIGxsb2MgZGUgbGVzIGzDrW5pZXMgY29pbmNpZGVudHMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2MgorIzogYnVpbHRpbi9ncmVwLmM6ODc3CiBtc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCiBtc2dzdHIgInJlc3NhbHRhIGxlcyBjb2luY2lkw6huY2llcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODY0CisjOiBidWlsdGluL2dyZXAuYzo4NzkKIG1zZ2lkICJwcmludCBlbXB0eSBsaW5lIGJldHdlZW4gbWF0Y2hlcyBmcm9tIGRpZmZlcmVudCBmaWxlcyIKIG1zZ3N0ciAiaW1wcmltZWl4IHVuYSBsw61uaWEgYnVpZGEgZW50cmUgY29pbmNpZMOobmNpZXMgZGUgZml0eGVycyBkaXN0aW50cyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODY2CisjOiBidWlsdGluL2dyZXAuYzo4ODEKIG1zZ2lkICJzaG93IGZpbGVuYW1lIG9ubHkgb25jZSBhYm92ZSBtYXRjaGVzIGZyb20gc2FtZSBmaWxlIgogbXNnc3RyICIiCiAibW9zdHJhIGVsIG5vbSBkZSBmaXR4ZXIgbm9tw6lzIHVuYSB2ZWdhZGEgYSBkYWx0IGRlIGxlcyBjb2luY2lkw6huY2llcyBkZWwgIgogIm1hdGVpeCBmaXR4ZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2OQorIzogYnVpbHRpbi9ncmVwLmM6ODg0CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgYW5kIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIm1vc3RyYSA8bj4gbMOtbmllcyBkZSBjb250ZXh0IGFiYW5zIGkgZGVzcHLDqXMgZCd1bmEgY29pbmNpZMOobmNpYSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODcyCisjOiBidWlsdGluL2dyZXAuYzo4ODcKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICJtb3N0cmEgPG4+IGzDrW5pZXMgZGUgY29udGV4dCBhYmFucyBkJ3VuYSBjb2luY2lkw6huY2lhIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NzQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg4OQogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAibW9zdHJhIDxuPiBsw61uaWVzIGRlIGNvbnRleHQgZGVzcHLDqXMgZCd1bmEgY29pbmNpZMOobmNpYSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc2CisjOiBidWlsdGluL2dyZXAuYzo4OTEKIG1zZ2lkICJ1c2UgPG4+IHdvcmtlciB0aHJlYWRzIgogbXNnc3RyICJ1c2EgPG4+IGZpbHMgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc3CisjOiBidWlsdGluL2dyZXAuYzo4OTIKIG1zZ2lkICJzaG9ydGN1dCBmb3IgLUMgTlVNIgogbXNnc3RyICJkcmVjZXJhIHBlciAtQyBOVU0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4MAorIzogYnVpbHRpbi9ncmVwLmM6ODk1CiBtc2dpZCAic2hvdyBhIGxpbmUgd2l0aCB0aGUgZnVuY3Rpb24gbmFtZSBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAibW9zdHJhIHVuYSBsw61uaWEgYW1iIGVsIG5vbSBkZSBmdW5jacOzIGFiYW5zIGRlIGxlcyBjb2luY2lkw6huY2llcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODgyCisjOiBidWlsdGluL2dyZXAuYzo4OTcKIG1zZ2lkICJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIKIG1zZ3N0ciAibW9zdHJhIGxhIGZ1bmNpw7MgY2lyY3VtZGFudCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg1CisjOiBidWlsdGluL2dyZXAuYzo5MDAKIG1zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKIG1zZ3N0ciAibGxlZ2VpeCBlbHMgcGF0cm9ucyBkZXMgZCd1biBmaXR4ZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4NworIzogYnVpbHRpbi9ncmVwLmM6OTAyCiBtc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICJjb2luY2lkZWl4IGFtYiA8cGF0csOzPiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg5CisjOiBidWlsdGluL2dyZXAuYzo5MDQKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICJjb21iaW5hIGVscyBwYXRyb25zIGVzcGVjaWZpY2F0cyBhbWIgLWUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwMQorIzogYnVpbHRpbi9ncmVwLmM6OTE2CiBtc2dpZCAiaW5kaWNhdGUgaGl0IHdpdGggZXhpdCBzdGF0dXMgd2l0aG91dCBvdXRwdXQiCiBtc2dzdHIgImluZGljYSBjb2luY2lkw6huY2lhIGFtYiBlc3RhdCBkZSBzb3J0aWRhIHNlbnNlIHNvcnRpZGEgdGV4dHVhbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTAzCisjOiBidWlsdGluL2dyZXAuYzo5MTgKIG1zZ2lkICJzaG93IG9ubHkgbWF0Y2hlcyBmcm9tIGZpbGVzIHRoYXQgbWF0Y2ggYWxsIHBhdHRlcm5zIgogbXNnc3RyICIiCiAibW9zdHJhIG5vbcOpcyBsZXMgY29pbmNpZMOobmNpZXMgZGVscyBmaXR4ZXJzIHF1ZSBjb2luY2lkZWl4aW4gYW1iIHRvdHMgZWxzICIKICJwYXRyb25zIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkyMAogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICJtb3N0cmEgbCdhcmJyZSBkJ2Fuw6BsaXNpIGRlIGwnZXhwcmVzc2nDsyBncmVwIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkyNAogbXNnaWQgInBhZ2VyIgogbXNnc3RyICJwYWdpbmFkb3IiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQorIzogYnVpbHRpbi9ncmVwLmM6OTI0CiBtc2dpZCAic2hvdyBtYXRjaGluZyBmaWxlcyBpbiB0aGUgcGFnZXIiCiBtc2dzdHIgIm1vc3RyYSBlbHMgZml0eGVycyBjb2luY2lkZW50cyBlbiBlbCBwYWdpbmFkb3IiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkxMworIzogYnVpbHRpbi9ncmVwLmM6OTI4CiBtc2dpZCAiYWxsb3cgY2FsbGluZyBvZiBncmVwKDEpIChpZ25vcmVkIGJ5IHRoaXMgYnVpbGQpIgogbXNnc3RyICJwZXJtZXQgbGEgaW52b2NhY2nDsyBkZSBncmVwKDEpIChpZ25vcmF0IHBlciBhcXVlc3RhIGNvbXBpbGFjacOzKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTc3Ci0jLCBmdXp6eQorIzogYnVpbHRpbi9ncmVwLmM6OTkyCiBtc2dpZCAibm8gcGF0dGVybiBnaXZlbiIKLW1zZ3N0ciAiY2FwIHBhdHLDsyBkb25hdC4iCittc2dzdHIgIm5vIHMnaGEgZG9uYXQgY2FwIHBhdHLDsyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxMworIzogYnVpbHRpbi9ncmVwLmM6MTAyOAogbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzIgogbXNnc3RyICItLW5vLWluZGV4IG8gLS11bnRyYWNrZWQgbm8gZXMgcG90IHVzYXIgYW1iIHJldmlzaW9ucyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyMAorIzogYnVpbHRpbi9ncmVwLmM6MTAzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSByZXZpc2lvbjogJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVzb2xkcmUgbGEgcmV2aXNpw7M6ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDUxCi0jLCBmdXp6eQorIzogYnVpbHRpbi9ncmVwLmM6MTA2NwogbXNnaWQgImludmFsaWQgb3B0aW9uIGNvbWJpbmF0aW9uLCBpZ25vcmluZyAtLXRocmVhZHMiCi1tc2dzdHIgIm5vIGhpIGhhIHN1cG9ydCBkZSBmaWxzLCBzJ2VzdMOgIGlnbm9yYW50IC0tdGhyZWFkcyIKK21zZ3N0ciAiY29tYmluYWNpw7MgZCdvcGNpb25zIG5vIHbDoGxpZGEsIHMnZXN0w6AgaWdub3JhbnQgLS10aHJlYWRzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDU0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM5NQorIzogYnVpbHRpbi9ncmVwLmM6MTA3MCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDAKIG1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nIC0tdGhyZWFkcyIKIG1zZ3N0ciAibm8gaGkgaGEgc3Vwb3J0IGRlIGZpbHMsIHMnZXN0w6AgaWdub3JhbnQgLS10aHJlYWRzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDU3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MDMgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzE2CisjOiBidWlsdGluL2dyZXAuYzoxMDczIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MzEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCiBtc2dzdHIgInMnaGEgZXNwZWNpZmljYXQgdW4gbm9tYnJlIGRlIGZpbHMgbm8gdsOgbGlkICglZCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwODAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwOTYKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBub23DqXMgZnVuY2lvbmEgZW4gbCdhcmJyZSBkZSB0cmViYWxsIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMTAzCi0jLCBmdXp6eQorIzogYnVpbHRpbi9ncmVwLmM6MTExOQogbXNnaWQgIm9wdGlvbiBub3Qgc3VwcG9ydGVkIHdpdGggLS1yZWN1cnNlLXN1Ym1vZHVsZXMiCiBtc2dzdHIgIm9wY2nDsyBubyBhZG1lc2EgYW1iIC0tcmVjdXJzZS1zdWJtb2R1bGVzLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTEwOQotIywgZnV6enkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMjUKIG1zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXgiCiBtc2dzdHIgIi0tY2FjaGVkIG8gLS11bnRyYWNrZWQgbm8gZXMgcG90IHVzYXIgYW1iIC0tbm8taW5kZXguIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMTE1CisjOiBidWlsdGluL2dyZXAuYzoxMTMxCiAjLCBmdXp6eQogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzIgogbXNnc3RyICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBubyBlcyBwb3QgdXNhciBwZXIgYWxzIGNvbnRpbmd1dHMgc2VndWl0cy4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExMjMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMzkKICMsIGZ1enp5CiBtc2dpZCAiYm90aCAtLWNhY2hlZCBhbmQgdHJlZXMgYXJlIGdpdmVuIgogbXNnc3RyICJzJ2hhbiBkb25hdCBhbWJkw7NzIC0tY2FjaGVzIGkgYXJicmVzLiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjg0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODUKIG1zZ2lkICIiCiAiZ2l0IGhhc2gtb2JqZWN0IFstdCA8dHlwZT5dIFstd10gWy0tcGF0aD08ZmlsZT4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCiAiWy0tXSA8ZmlsZT4uLi4iCkBAIC0xMTY5MSwzOCArMTQzNDIsMzQgQEAKICJnaXQgaGFzaC1vYmplY3QgWy10IDx0aXB1cz5dIFstd10gWy0tcGF0aD08Zml0eGVyPiB8IC0tbm8tZmlsdGVyc10gWy0tc3RkaW5dICIKICJbLS1dIDxmaXR4ZXI+Li4uIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODUKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4NgogbXNnaWQgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIG1zZ3N0ciAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTcKLW1zZ2lkICJ0eXBlIgotbXNnc3RyICJ0aXB1cyIKLQotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk3CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKIG1zZ2lkICJvYmplY3QgdHlwZSIKIG1zZ3N0ciAidGlwdXMgZCdvYmplY3RlIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OQogbXNnaWQgIndyaXRlIHRoZSBvYmplY3QgaW50byB0aGUgb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICJlc2NyaXUgbCdvYmplY3RlIGEgbGEgYmFzZSBkZSBkYWRlcyBkJ29iamVjdGVzIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCiBtc2dpZCAicmVhZCB0aGUgb2JqZWN0IGZyb20gc3RkaW4iCiBtc2dzdHIgImxsZWdlaXggbCdvYmplY3RlIGRlcyBkZSBzdGRpbiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMgorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMwogbXNnaWQgInN0b3JlIGZpbGUgYXMgaXMgd2l0aG91dCBmaWx0ZXJzIgogbXNnc3RyICJlbW1hZ2F0emVtYSBlbCBmaXR4ZXIgdGFsIGNvbSDDqXMgc2Vuc2UgZmlsdHJlcyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwNAogbXNnaWQgIiIKICJqdXN0IGhhc2ggYW55IHJhbmRvbSBnYXJiYWdlIHRvIGNyZWF0ZSBjb3JydXB0IG9iamVjdHMgZm9yIGRlYnVnZ2luZyBHaXQiCiBtc2dzdHIgIiIKICJub23DqXMgc3VtYSBxdWFsc2V2b2wgYnJvc3NhIGFsZWF0w7JyaWEgcGVyIGEgY3JlYXIgb2JqZWN0ZXMgbWFsbWVzb3MgcGVyIGEgIgogImRlcHVyYXIgYWwgR2l0IgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA1CiBtc2dpZCAicHJvY2VzcyBmaWxlIGFzIGl0IHdlcmUgZnJvbSB0aGlzIHBhdGgiCiBtc2dzdHIgInByb2Nlc3NhIGVsIGZpdHhlciBjb20gc2kgZm9zIGQnYXF1ZXN0IGNhbcOtIgogCkBAIC0xMTc2NCwzMCArMTQ0MTEsMzAgQEAKIG1zZ2lkICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFs8Y29tbWFuZD5dIgogbXNnc3RyICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFs8b3JkcmU+XSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NzMKKyM6IGJ1aWx0aW4vaGVscC5jOjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWxwIGZvcm1hdCAnJXMnIgogbXNnc3RyICJmb3JtYXQgZCdhanVkYSBubyByZWNvbmVndXQgwqslc8K7IgogCi0jOiBidWlsdGluL2hlbHAuYzoxMDAKKyM6IGJ1aWx0aW4vaGVscC5jOjEwNAogbXNnaWQgIkZhaWxlZCB0byBzdGFydCBlbWFjc2NsaWVudC4iCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3InaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gaW5pY2lhciBlbWFjc2NsaWVudC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjExMworIzogYnVpbHRpbi9oZWxwLmM6MTE3CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVtYWNzY2xpZW50IHZlcnNpb24uIgogbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGFuYWxpdHphciBsYSB2ZXJzacOzIGQnZW1hY3NjbGllbnQuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMjEKKyM6IGJ1aWx0aW4vaGVscC5jOjEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJlbWFjc2NsaWVudCB2ZXJzaW9uICclZCcgdG9vIG9sZCAoPCAyMikuIgogbXNnc3RyICJsYSB2ZXJzacOzIGQnZW1hY3NjbGllbnQgwqslZMK7IMOpcyBtYXNzYSB2ZWxsYSAoPCAyMikuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMzkgYnVpbHRpbi9oZWxwLmM6MTYxIGJ1aWx0aW4vaGVscC5jOjE3MSBidWlsdGluL2hlbHAuYzoxNzkKKyM6IGJ1aWx0aW4vaGVscC5jOjE0MyBidWlsdGluL2hlbHAuYzoxNjUgYnVpbHRpbi9oZWxwLmM6MTc1IGJ1aWx0aW4vaGVscC5jOjE4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGV4ZWN1dGFyIMKrJXPCuyIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjE3CisjOiBidWlsdGluL2hlbHAuYzoyMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IHBhdGggZm9yIHVuc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCkBAIC0xMTc5Niw3ICsxNDQ0Myw3IEBACiAiwqslc8K7OiBjYW3DrSBhIHVuIHZpc3VhbGl0emFkb3IgZGUgbWFudWFscyBubyBjb21wYXRpYmxlLlxuIgogIkNvbnNpZGVyZXUgdXNhciAnbWFuLjxlaW5hPi5jbWQnIGVuIGxsb2MgZCdhaXjDsi4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIyOQorIzogYnVpbHRpbi9oZWxwLmM6MjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBjbWQgZm9yIHN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtMTE4MDUsMzMwICsxNDQ1MiwzMjAgQEAKICLCqyVzwrs6IG9yZHJlIHBlciBhIHVuIHZpc3VhbGl0emFkb3IgZGUgbWFudWFscyBjb21wYXRpYmxlLlxuIgogIkNvbnNpZGVyZXUgdXNhciAnbWFuLjxlaW5hPi5wYXRoJyBlbiBsbG9jIGQnYWl4w7IuIgogCi0jOiBidWlsdGluL2hlbHAuYzozNDYKKyM6IGJ1aWx0aW4vaGVscC5jOjM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmtub3duIG1hbiB2aWV3ZXIuIgogbXNnc3RyICLCqyVzwrs6IHZpc3VhbGl0emFkb3IgZGUgbWFudWFscyBkZXNjb25lZ3V0LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzYzCisjOiBidWlsdGluL2hlbHAuYzozNjcKIG1zZ2lkICJubyBtYW4gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgImNhcCB2aXN1YWxpdHphZG9yIGRlIG1hbnVhbHMgaGEgZ2VzdGlvbmF0IGxhIHNvbMK3bGljaXR1ZCIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzcxCisjOiBidWlsdGluL2hlbHAuYzozNzUKIG1zZ2lkICJubyBpbmZvIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICJjYXAgdmlzdWFsaXR6YWRvciBkJ2luZm9ybWFjacOzIGhhIGdlc3Rpb25hdCBsYSBzb2zCt2xpY2l0dWQiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQzMCBidWlsdGluL2hlbHAuYzo0NDEgZ2l0LmM6MzIyCisjOiBidWlsdGluL2hlbHAuYzo0MzQgYnVpbHRpbi9oZWxwLmM6NDQ1IGdpdC5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFsaWFzZWQgdG8gJyVzJyIKIG1zZ3N0ciAiwqslc8K7IMOpcyB1biDDoGxpZXMgZGUgwqslc8K7IgogCi0jOiBidWlsdGluL2hlbHAuYzo0NDQKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0OCBnaXQuYzozNjUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImJhZCBhbGlhcy4lcyBzdHJpbmc6ICVzIgogbXNnc3RyICJDYWRlbmEgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyBpbmNvcnJlY3RhOiAlcyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDczIGJ1aWx0aW4vaGVscC5jOjUwMworIzogYnVpbHRpbi9oZWxwLmM6NDc3IGJ1aWx0aW4vaGVscC5jOjUwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMlcyIKIG1zZ3N0ciAiw7pzOiAlcyVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0ODcKKyM6IGJ1aWx0aW4vaGVscC5jOjQ5MQogbXNnaWQgIidnaXQgaGVscCBjb25maWcnIGZvciBtb3JlIGluZm9ybWF0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCB0eXBlIG1pc21hdGNoIGF0ICVzIgogbXNnc3RyICJoaSBoYSB1bmEgZGlzY29yZGFuw6dhIGRlIHRpcHVzIGQnb2JqZWN0ZSBhICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJkaWQgbm90IHJlY2VpdmUgZXhwZWN0ZWQgb2JqZWN0ICVzIgogbXNnc3RyICJubyBzJ2hhIHJlYnV0IGwnb2JqZWN0ZSBlc3BlcmF0ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXM6IGV4cGVjdGVkIHR5cGUgJXMsIGZvdW5kICVzIgogbXNnc3RyICJvYmplY3RlICVzOiBzJ2VzcGVyYXZhIGVsIHRpcHVzICVzLCBzJ2hhIHRyb2JhdCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjQ5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCiBtc2dzdHJbMF0gIm5vIGVzIHBvdCBvbXBsaXIgJWQgb2N0ZXQiCiBtc2dzdHJbMV0gIm5vIGVzIHBvdCBvbXBsaXIgJWQgb2N0ZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OAogbXNnaWQgImVhcmx5IEVPRiIKIG1zZ3N0ciAiRU9GIHByZW1hdHVyIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OQogbXNnaWQgInJlYWQgZXJyb3Igb24gaW5wdXQiCiBtc2dzdHIgImVycm9yIGRlIGxlY3R1cmEgZCdlbnRyYWRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MQogbXNnaWQgInVzZWQgbW9yZSBieXRlcyB0aGFuIHdlcmUgYXZhaWxhYmxlIgogbXNnc3RyICJzJ2hhbiB1c2F0IG3DqXMgb2N0ZXRzIHF1ZSBoaSBoYXZpYSBkaXNwb25pYmxlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTk4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo2MDQKIG1zZ2lkICJwYWNrIHRvbyBsYXJnZSBmb3IgY3VycmVudCBkZWZpbml0aW9uIG9mIG9mZl90IgogbXNnc3RyICJwYXF1ZXQgbWFzc2EgZ3JhbiBwZXIgYSBsYSBkZWZpbmljacOzIGFjdHVhbCBkJ29mZl90IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyODIgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjk0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTEgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjk1CiBtc2dpZCAicGFjayBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBzaXplIgogbXNnc3RyICJlbCBwYXF1ZXQgc3VwZXJhIGxhIG1pZGEgbcOgeGltYSBwZXJtZXNhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIMKrJXPCuyIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzAzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gcGFja2ZpbGUgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IG9icmlyIGVsIGZpdHhlciBkZSBwYXF1ZXQgwqslc8K7IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMTcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyNgogbXNnaWQgInBhY2sgc2lnbmF0dXJlIG1pc21hdGNoIgogbXNnc3RyICJoaSBoYSB1bmEgZGlzY29yZGFuw6dhIGRlIHNpZ25hdHVyYSBkZSBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgdmVyc2lvbiAlPFBSSXUzMj4gdW5zdXBwb3J0ZWQiCiBtc2dzdHIgImxhIHZlcnNpw7MgZGUgcGFxdWV0ICU8UFJJdTMyPiBubyDDqXMgY29tcGF0aWJsZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCiBtc2dzdHIgImVsIHBhcXVldCB0w6kgdW4gb2JqZWN0ZSBpbmNvcnJlY3RlIGEgbGEgcG9zaWNpw7MgJTxQUkl1TUFYPjogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ1NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImluZmxhdGUgcmV0dXJuZWQgJWQiCiBtc2dzdHIgImxhIGluZmxhY2nDsyBoYSByZXRvcm5hdCAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTA2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MTUKIG1zZ2lkICJvZmZzZXQgdmFsdWUgb3ZlcmZsb3cgZm9yIGRlbHRhIGJhc2Ugb2JqZWN0IgogbXNnc3RyICIiCiAiZGVzYm9yZGFtZW50IGRlIHZhbG9yIGRlIGRlc3BsYcOnYW1lbnQgcGVyIGEgbCdvYmplY3RlIGJhc2UgZGUgZGlmZXLDqG5jaWVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyMwogbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IGlzIG91dCBvZiBib3VuZCIKIG1zZ3N0ciAiZWwgZGVzcGxhw6dhbWVudCBkZSBiYXNlIGRlIGRpZmVyw6huY2llcyBlc3TDoCBmb3JhIGRlIGzDrW1pdHMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gb2JqZWN0IHR5cGUgJWQiCiBtc2dzdHIgInRpcHVzIGQnb2JqZWN0ZSBkZXNjb25lZ3V0ICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU2MgogbXNnaWQgImNhbm5vdCBwcmVhZCBwYWNrIGZpbGUiCi1tc2dzdHIgIm5vIGVzIHBvdCBmZXIgcHJlYWQgZW4gZWwgZml0eGVyIGRlIHBhcXVldCIKK21zZ3N0ciAibm8gZXMgcG90IGZlciBwcmVhZCBlbiBlbCBmaXR4ZXIgZW1wYXF1ZXRhdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZSBtaXNzaW5nIgogbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlcyBtaXNzaW5nIgotbXNnc3RyWzBdICJlbCBmaW5hbCBkZWwgZml0eGVyIGRlIHBhcXVldCDDqXMgcHJlbWF0dXIsIG1hbmNhICU8UFJJdU1BWD4gb2N0ZXQiCittc2dzdHJbMF0gImVsIGZpbmFsIGRlbCBmaXR4ZXIgZW1wYXF1ZXRhdCDDqXMgcHJlbWF0dXIsIG1hbmNhICU8UFJJdU1BWD4gb2N0ZXQiCiBtc2dzdHJbMV0gIiIKLSJlbCBmaW5hbCBkZWwgZml0eGVyIGRlIHBhcXVldCDDqXMgcHJlbWF0dXIsIG1hbnF1ZW4gJTxQUkl1TUFYPiBvY3RldHMiCisiZWwgZmluYWwgZGVsIGZpdHhlciBlbXBhcXVldGF0IMOpcyBwcmVtYXR1ciwgbWFucXVlbiAlPFBSSXVNQVg+IG9jdGV0cyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTgxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1OTAKIG1zZ2lkICJzZXJpb3VzIGluZmxhdGUgaW5jb25zaXN0ZW5jeSIKIG1zZ3N0ciAiaGkgaGEgdW5hIGluY29uc2lzdMOobmNpYSBzZXJpb3NhIGQnaW5mbGFjacOzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3MjYgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzMyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1NQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Nzk0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzM1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0MSBidWlsdGluL2luZGV4LXBhY2suYzo3NjQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwMyBidWlsdGluL2luZGV4LXBhY2suYzo4MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgogbXNnc3RyICJTJ0hBIFRST0JBVCBVTkEgQ09MwrdMSVNJw5MgU0hBMSBBTUIgJXMgISIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzI5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTUxCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzM4IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTU3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxNyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc5MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCBpbmZvICVzIgogbXNnc3RyICJubyBlcyBwb3QgbGxlZ2lyIGxhIGluZm9ybWFjacOzIGQnb2JqZWN0ZSBleGlzdGVudCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODAwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0ICVzIgogbXNnc3RyICJubyBlcyBwb3QgbGxlZ2lyIGwnb2JqZWN0ZSBleGlzdGVudCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBibG9iIG9iamVjdCAlcyIKIG1zZ3N0ciAib2JqZWN0ZSBkZSBibG9iIG5vIHbDoGxpZCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODI2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0NQogIywgZnV6enkKIG1zZ2lkICJmc2NrIGVycm9yIGluIHBhY2tlZCBvYmplY3QiCiBtc2dzdHIgImlnbm9yYSBlbHMgb2JqZWN0ZXMgZW1wYXF1ZXRhdHMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzMwotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkICVzIgotbXNnc3RyICIlcyBubyB2w6BsaWQiCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhbGwgY2hpbGQgb2JqZWN0cyBvZiAlcyBhcmUgcmVhY2hhYmxlIgogbXNnc3RyICJObyB0b3RzIGVscyBvYmplY3RlcyBmaWxscyBkZSAlcyBzw7NuIGFiYXN0YWJsZXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkxMCBidWlsdGluL2luZGV4LXBhY2suYzo5NDEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkxOSBidWlsdGluL2luZGV4LXBhY2suYzo5NTAKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYXBsaWNhciBsYSBkaWZlcsOobmNpYSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTExOAogbXNnaWQgIlJlY2VpdmluZyBvYmplY3RzIgogbXNnc3RyICJTJ2VzdGFuIHJlYmVudCBvYmplY3RlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTExOAogbXNnaWQgIkluZGV4aW5nIG9iamVjdHMiCiBtc2dzdHIgIlMnZXN0YW4gaW5kZXhhbnQgb2JqZWN0ZXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTIKIG1zZ2lkICJwYWNrIGlzIGNvcnJ1cHRlZCAoU0hBMSBtaXNtYXRjaCkiCiBtc2dzdHIgImVsIHBhcXVldCDDqXMgbWFsbcOocyAoZGlzY29yZGFuw6dhIFNIQTEpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQ4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTU3CiBtc2dpZCAiY2Fubm90IGZzdGF0IHBhY2tmaWxlIgogbXNnc3RyICJubyBlcyBwb3QgZmVyIGZzdGF0IGVuIGVsIGZpdHhlciBkZSBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjAKIG1zZ2lkICJwYWNrIGhhcyBqdW5rIGF0IHRoZSBlbmQiCiBtc2dzdHIgImVsIHBhcXVldCB0w6kgYnJvc3NhIGFsIHNldSBmaW5hbCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3MgogbXNnaWQgImNvbmZ1c2lvbiBiZXlvbmQgaW5zYW5pdHkgaW4gcGFyc2VfcGFja19vYmplY3RzKCkiCiBtc2dzdHIgImNvbmZ1c2nDsyBtw6lzIGVubGzDoCBkZSBsYSBib2dlcmlhIGVuIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTg2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk1CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKIG1zZ3N0ciAiUydlc3RhbiByZXNvbGVudCBsZXMgZGlmZXLDqG5jaWVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk2IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTIwNSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIGZpbDogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNDYKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgogbXNnc3RyICJjb25mdXNpw7MgbcOpcyBlbmxsw6AgZGUgbGEgYm9nZXJpYSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdHMiCiBtc2dzdHJbMF0gInMnaGEgY29tcGxldGF0IGFtYiAlZCBvYmplY3RlIGxvY2FsIgogbXNnc3RyWzFdICJzJ2hhIGNvbXBsZXRhdCBhbWIgJWQgb2JqZWN0ZXMgbG9jYWxzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICJTdW1hIGRlIHZlcmlmaWNhY2nDsyBmaW5hbCBubyBlc3BlcmFkYSBwZXIgYSAlcyAoY29ycnVwY2nDsyBkZSBkaXNjPykiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YSIKIG1zZ2lkX3BsdXJhbCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YXMiCiBtc2dzdHJbMF0gIkVsIHBhcXVldCB0w6kgJWQgZGlmZXLDqG5jaWEgbm8gcmVzb2x0YSIKIG1zZ3N0clsxXSAiRWwgcGFxdWV0IHTDqSAlZCBkaWZlcsOobmNpZXMgbm8gcmVzb2x0ZXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyODMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgYXBwZW5kZWQgb2JqZWN0ICglZCkiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZGVzaW5mbGFyIGwnb2JqZWN0ZSBhbm5leGF0ICglZCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzODgKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9jYWwgb2JqZWN0ICVzIGlzIGNvcnJ1cHQiCiBtc2dzdHIgImwnb2JqZWN0ZSBsb2NhbCAlcyDDqXMgbWFsbcOocyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKIG1zZ3N0ciAiZWwgbm9tIGRlbCBmaXR4ZXIgZGUgcGFxdWV0IMKrJXPCuyBubyBhY2FiYSBhbWIgJy5wYWNrJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM5OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUgJXMgZmlsZSAnJXMnIgogbXNnc3RyICJubyBlcyBwb3QgZXNjcml1cmUgwqslc8K7IGFsIGZpdHhlciDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MzUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjbG9zZSB3cml0dGVuICVzIGZpbGUgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IHRhbmNhciBlbCBmaXR4ZXIgZXNjcml0IGEgbWFudGVuaXIgwqslc8K7IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDMxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDU5CiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCi1tc2dzdHIgImVycm9yIGVuIHRhbmNhciBlbCBmaXR4ZXIgZGUgcGFxdWV0IgorbXNnc3RyICJlcnJvciBlbiB0YW5jYXIgZWwgZml0eGVyIGVtcGFxdWV0YXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NDUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzMKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgcGFjayBmaWxlIgotbXNnc3RyICJubyBlcyBwb3QgZW1tYWdhdHplbWFyIGVsIGZpdHhlciBkZSBwYXF1ZXQiCittc2dzdHIgIm5vIGVzIHBvdCBlbW1hZ2F0emVtYXIgZWwgZml0eGVyIGVtcGFxdWV0YXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODEKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgaW5kZXggZmlsZSIKIG1zZ3N0ciAibm8gZXMgcG90IGVtbWFnYXR6ZW1hciBlbCBmaXR4ZXIgZCfDrW5kZXgiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0OTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTI1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICJwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4gaW5jb3JyZWN0ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGZpbGUgJyVzJyIKLW1zZ3N0ciAiTm8gZXMgcG90IG9icmlyIGVsIGZpdHhlciBkZSBwYXF1ZXQgZXhpc3RlbnQgwqslc8K7IgorbXNnc3RyICJObyBlcyBwb3Qgb2JyaXIgZWwgZml0eGVyIGVtcGFxdWV0YXQgZXhpc3RlbnQgwqslc8K7IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTY3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgIk5vIGVzIHBvdCBvYnJpciBlbCBmaXR4ZXIgZCfDrW5kZXggZGUgcGFxdWV0cyBleGlzdGVudCBkZSDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKIG1zZ3N0clswXSAic2Vuc2UgZGlmZXLDqG5jaWVzOiAlZCBvYmplY3RlIgogbXNnc3RyWzFdICJzZW5zZSBkaWZlcsOobmNpZXM6ICVkIG9iamVjdGVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCiBtc2dzdHJbMF0gImxvbmdpdHVkIGRlIGNhZGVuYSA9ICVkOiAlbHUgb2JqZWN0ZSIKIG1zZ3N0clsxXSAibG9uZ2l0dWQgZGUgY2FkZW5hID0gJWQ6ICVsdSBvYmplY3RlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY1OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY4OQogbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgogbXNnc3RyICJObyBlcyBwb3QgdG9ybmFyIGFsIGRpcmVjdG9yaSBkZSB0cmViYWxsIGFjdHVhbCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcwOCBidWlsdGluL2luZGV4LXBhY2suYzoxNzExCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzI3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MzEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MzggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc1NyBidWlsdGluL2luZGV4LXBhY2suYzoxNzYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCAlcyIKIG1zZ3N0ciAiJXMgaW5jb3JyZWN0ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc3NwogbXNnaWQgIi0tZml4LXRoaW4gY2Fubm90IGJlIHVzZWQgd2l0aG91dCAtLXN0ZGluIgogbXNnc3RyICItLWZpeC10aGluIG5vIGVzIHBvdCB1c2FyIHNlbnNlIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NzkKIG1zZ2lkICItLXN0ZGluIHJlcXVpcmVzIGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tc3RkaW4gcmVxdWVyZWl4IHVuIGRpcMOyc2l0IGdpdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc1NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc4NQogbXNnaWQgIi0tdmVyaWZ5IHdpdGggbm8gcGFja2ZpbGUgbmFtZSBnaXZlbiIKIG1zZ3N0ciAicydoYSBkb25hdCAtLXZlcmlmeSBzZW5zZSBub20gZGUgZml0eGVyIGRlIHBhcXVldCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTgwMyBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTgwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxODMzIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo1ODEKICMsIGZ1enp5CiBtc2dpZCAiZnNjayBlcnJvciBpbiBwYWNrIG9iamVjdHMiCiBtc2dzdHIgImVycm9yIGVuIG9iamVjdGU6ICVzIgpAQCAtMTIxNzMsNDIgKzE0ODEwLDQyIEBACiBtc2dpZCAibm90IGNvcHlpbmcgdGVtcGxhdGVzIGZyb20gJyVzJzogJXMiCiBtc2dzdHIgIm5vIHMnZXN0YW4gY29waWFudCBwbGFudGlsbGVzIGRlIMKrJXPCuzogJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMyOQorIzogYnVpbHRpbi9pbml0LWRiLmM6MzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBoYW5kbGUgZmlsZSB0eXBlICVkIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGdlc3Rpb25hciBlbCB0aXB1cyBkZSBmaXR4ZXIgJWQiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzMgorIzogYnVpbHRpbi9pbml0LWRiLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBtb3ZlICVzIHRvICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG1vdXJlICVzIGEgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0OSBidWlsdGluL2luaXQtZGIuYzozNTIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM1NCBidWlsdGluL2luaXQtZGIuYzozNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIiVzIGphIGV4aXN0ZWl4IgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIHNoYXJlZCBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIlMnaGEgcmVpbmljaWFsaXR6YXQgZWwgZGlww7JzaXQgY29tcGFydGl0IGV4aXN0ZW50IGRlbCBHaXQgZW4gJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiUydoYSByZWluaWNpYWxpdHphdCBlbCBkaXDDsnNpdCBleGlzdGVudCBkZWwgR2l0IGVuICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDEwCisjOiBidWlsdGluL2luaXQtZGIuYzo0MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiUydoYSBpbmljaWFsaXR6YXQgdW4gZGlww7JzaXQgY29tcGFydGl0IGJ1aXQgZGVsIEdpdCBlbiAlcyVzXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxMQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiUydoYSBpbmljaWFsaXR6YXQgdW4gZGlww7JzaXQgYnVpdCBkZWwgR2l0IGVuICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDYwCisjOiBidWlsdGluL2luaXQtZGIuYzo0NjgKIG1zZ2lkICIiCiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PHRlbXBsYXRlLWRpcmVjdG9yeT5dIFstLSIKICJzaGFyZWRbPTxwZXJtaXNzaW9ucz5dXSBbPGRpcmVjdG9yeT5dIgpAQCAtMTIyMTYsMjUgKzE0ODUzLDI1IEBACiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PGRpcmVjdG9yaS1kZS1wbGFudGlsbGE+XSBbLS0iCiAic2hhcmVkWz08cGVybWlzb3M+XV0gWzxkaXJlY3Rvcmk+XSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDgzCisjOiBidWlsdGluL2luaXQtZGIuYzo0OTEKIG1zZ2lkICJwZXJtaXNzaW9ucyIKIG1zZ3N0ciAicGVybWlzb3MiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NAorIzogYnVpbHRpbi9pbml0LWRiLmM6NDkyCiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgogbXNnc3RyICJlc3BlY2lmaWNhIHF1ZSBlbCBkaXDDsnNpdCBkZSBnaXQgZXMgY29tcGFydGlyw6AgZW50cmUgZGl2ZXJzb3MgdXN1YXJpcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTE4IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMworIzogYnVpbHRpbi9pbml0LWRiLmM6NTI5IGJ1aWx0aW4vaW5pdC1kYi5jOjUzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCiBtc2dzdHIgIm5vIGVzIHBvdCBta2RpciAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTI3CisjOiBidWlsdGluL2luaXQtZGIuYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZGlyIHRvICVzIgogbXNnc3RyICJubyBlcyBwb3QgY2FudmlhciBkZSBkaXJlY3RvcmkgYSAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTQ4CisjOiBidWlsdGluL2luaXQtZGIuYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiVzIChvciAtLXdvcmstdHJlZT08ZGlyZWN0b3J5Pikgbm90IGFsbG93ZWQgd2l0aG91dCBzcGVjaWZ5aW5nICVzIChvciAtLWdpdC0iCkBAIC0xMjI0MywxMiArMTQ4ODAsMTIgQEAKICJubyBlcyBwZXJtZXQgJXMgKG8gLS13b3JrLXRyZWU9PGRpcmVjdG9yaT4pIHNlbnNlIGVzcGVjaWZpY2FyICVzIChvIC0tZ2l0LSIKICJkaXI9PGRpcmVjdG9yaT4pIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NzYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgYWNjZXNzIHdvcmsgdHJlZSAnJXMnIgogbXNnc3RyICJObyBlcyBwb3QgYWNjZWRpciBhIGwnYXJicmUgZGUgdHJlYmFsbCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTUKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTYKIG1zZ2lkICIiCiAiZ2l0IGludGVycHJldC10cmFpbGVycyBbLS1pbi1wbGFjZV0gWy0tdHJpbS1lbXB0eV0gWygtLXRyYWlsZXIgIgogIjx0b2tlbj5bKD18Oik8dmFsdWU+XSkuLi5dIFs8ZmlsZT4uLi5dIgpAQCAtMTIyNTYsMTgwICsxNDg5MywxOTMgQEAKICJnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIFstLWluLXBsYWNlXSBbLS10cmltLWVtcHR5XSBbKC0tdHJhaWxlciAiCiAiPHRlc3RpbW9uaT5bKD18Oik8dmFsb3I+XSkuLi5dIFs8Zml0eGVyPi4uLl0iCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTQKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTUKIG1zZ2lkICJlZGl0IGZpbGVzIGluIHBsYWNlIgogbXNnc3RyICJlZGl0YSBlbHMgZml0eGVycyBpbiBzaXR1IgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk1CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk2CiBtc2dpZCAidHJpbSBlbXB0eSB0cmFpbGVycyIKIG1zZ3N0ciAiZXNjdXLDp2EgZWxzIHJlbW9sY3MgYnVpdHMiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTgKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTkKIG1zZ2lkICJ3aGVyZSB0byBwbGFjZSB0aGUgbmV3IHRyYWlsZXIiCiBtc2dzdHIgIm9uIHViaWNhIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDEKIG1zZ2lkICJhY3Rpb24gaWYgdHJhaWxlciBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiYWNjacOzIHNpIGVsIMKrdHJhaWxlcsK7IGphIGV4aXN0ZWl4IgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMgorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDMKIG1zZ2lkICJhY3Rpb24gaWYgdHJhaWxlciBpcyBtaXNzaW5nIgogbXNnc3RyICJhY2Npw7Mgc2kgZWwgwqt0cmFpbGVywrsgZmFsdGEiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA0CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNQogbXNnaWQgIm91dHB1dCBvbmx5IHRoZSB0cmFpbGVycyIKIG1zZ3N0ciAibW9zdHJhIG5vbcOpcyBlbHMgwqt0cmFpbGVywrsiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA1CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNgogbXNnaWQgImRvIG5vdCBhcHBseSBjb25maWcgcnVsZXMiCiBtc2dzdHIgIm5vIGFwbGlxdWlzIGxlcyByZWdsZXMgZGUgY29uZmlndXJhY2nDsyIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDYKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA3CiBtc2dpZCAiam9pbiB3aGl0ZXNwYWNlLWNvbnRpbnVlZCB2YWx1ZXMiCiBtc2dzdHIgInVuZWl4IGVscyB2YWxvcnMgY29udGludXMgYW1iIGVzcGFpcyBlbiBibGFuYyIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDcKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA4CiBtc2dpZCAic2V0IHBhcnNpbmcgb3B0aW9ucyIKIG1zZ3N0ciAiZXN0YWJsZWl4IGxlcyBvcGNpb25zIGQnYW7DoGxpc2kiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA5CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMAogbXNnaWQgImRvIG5vdCB0cmVhdCAtLS0gc3BlY2lhbGx5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTEwCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMQogbXNnaWQgInRyYWlsZXIiCiBtc2dzdHIgInJlbW9sYyIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMTEKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTEyCiBtc2dpZCAidHJhaWxlcihzKSB0byBhZGQiCiBtc2dzdHIgInJlbW9sY3MgYSBhZmVnaXIiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTIwCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEyMwogbXNnaWQgIi0tdHJhaWxlciB3aXRoIC0tb25seS1pbnB1dCBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLXRyYWlsZXIgYW1iIC0tb25seS1pbnB1dCBubyB0w6kgc2VudGl0IgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEzMAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMzMKIG1zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgogbXNnc3RyICJubyBzJ2hhIGRvbmF0IGNhcCBmaXR4ZXIgZCdlbnRyYWRhIHBlciBhIGVkaWNpw7MgaW4gc2l0dSIKIAotIzogYnVpbHRpbi9sb2cuYzo1NAorIzogYnVpbHRpbi9sb2cuYzo1NgogbXNnaWQgImdpdCBsb2cgWzxvcHRpb25zPl0gWzxyZXZpc2lvbi1yYW5nZT5dIFtbLS1dIDxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBsb2cgWzxvcGNpb25zPl0gWzxyYW5nLWRlLXJldmlzaW9ucz5dIFtbLS1dIDxjYW3DrT4uLi5dIgogCi0jOiBidWlsdGluL2xvZy5jOjU1CisjOiBidWlsdGluL2xvZy5jOjU3CiBtc2dpZCAiZ2l0IHNob3cgWzxvcHRpb25zPl0gPG9iamVjdD4uLi4iCiBtc2dzdHIgImdpdCBzaG93IFs8b3BjaW9ucz5dIDxvYmplY3RlPi4uLiIKIAotIzogYnVpbHRpbi9sb2cuYzo5OQorIzogYnVpbHRpbi9sb2cuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAtLWRlY29yYXRlIG9wdGlvbjogJXMiCiBtc2dzdHIgIm9wY2nDsyAtLWRlY29yYXRlIG5vIHbDoGxpZGE6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MgotbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgotbXNnc3RyICJvbWV0IGxhIHNvcnRpZGEgZGUgZGlmZXLDqG5jaWVzIgotCi0jOiBidWlsdGluL2xvZy5jOjE2MworIzogYnVpbHRpbi9sb2cuYzoxNzQKIG1zZ2lkICJzaG93IHNvdXJjZSIKIG1zZ3N0ciAibW9zdHJhIGxhIGZvbnQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY0CisjOiBidWlsdGluL2xvZy5jOjE3NQogbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgogbXNnc3RyICJVc2EgZWwgZml0eGVyIGRlIG1hcGEgZGUgY29ycmV1IgogCi0jOiBidWlsdGluL2xvZy5jOjE2NgorIzogYnVpbHRpbi9sb2cuYzoxNzcKIG1zZ2lkICJvbmx5IGRlY29yYXRlIHJlZnMgdGhhdCBtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgIm5vbcOpcyBkZWNvcmEgbGVzIHJlZmVyw6huY2llcyBxdWUgY29pbmNpZGVpeGluIGFtYiA8cGF0csOzPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjgKKyM6IGJ1aWx0aW4vbG9nLmM6MTc5CiBtc2dpZCAiZG8gbm90IGRlY29yYXRlIHJlZnMgdGhhdCBtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgIm5vIGRlY29yaXMgbGVzIHJlZmVyw6huY2llcyBxdWUgY29pbmNpZGVpeGVuIGFtYiA8cGF0csOzPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjkKKyM6IGJ1aWx0aW4vbG9nLmM6MTgwCiBtc2dpZCAiZGVjb3JhdGUgb3B0aW9ucyIKIG1zZ3N0ciAib3BjaW9ucyBkZSBkZWNvcmFjacOzIgogCi0jOiBidWlsdGluL2xvZy5jOjE3MgorIzogYnVpbHRpbi9sb2cuYzoxODMKIG1zZ2lkICJQcm9jZXNzIGxpbmUgcmFuZ2UgbixtIGluIGZpbGUsIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAiUHJvY2Vzc2EgZWwgcmFuZyBkZSBsw61uaWVzIG4sbSBlbiBlbCBmaXR4ZXIsIGNvbXB0YW50IGRlcyBkJzEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjcwCisjOiBidWlsdGluL2xvZy5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCiBtc2dzdHIgIlNvcnRpZGEgZmluYWw6ICVkICVzXG4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTIyCisjOiBidWlsdGluL2xvZy5jOjUzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgc2hvdyAlczogYmFkIGZpbGUiCiBtc2dzdHIgImdpdCBzaG93ICVzOiBmaXR4ZXIgaW5jb3JyZWN0ZSIKIAotIzogYnVpbHRpbi9sb2cuYzo1MzcgYnVpbHRpbi9sb2cuYzo2MzEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgorIzogYnVpbHRpbi9sb2cuYzo1NTAgYnVpbHRpbi9sb2cuYzo2NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAiTm8gZXMgcG90IGxsZWdpciBsJ29iamVjdGUgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NjU1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlVua25vd24gdHlwZTogJWQiCisjOiBidWlsdGluL2xvZy5jOjY3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0eXBlOiAlZCIKIG1zZ3N0ciAiVGlwdXMgZGVzY29uZWd1dDogJWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6Nzc2CisjOiBidWlsdGluL2xvZy5jOjgxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjb3ZlciBmcm9tIGRlc2NyaXB0aW9uIG1vZGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzo4MjEKIG1zZ2lkICJmb3JtYXQuaGVhZGVycyB3aXRob3V0IHZhbHVlIgogbXNnc3RyICJmb3JtYXQuaGVhZGVycyBzZW5zZSB2YWxvciIKIAotIzogYnVpbHRpbi9sb2cuYzo4NzcKKyM6IGJ1aWx0aW4vbG9nLmM6OTM2CiBtc2dpZCAibmFtZSBvZiBvdXRwdXQgZGlyZWN0b3J5IGlzIHRvbyBsb25nIgogbXNnc3RyICJlbCBub20gZGVsIGRpcmVjdG9yaSBkZSBzb3J0aWRhIMOpcyBtYXNzYSBsbGFyZyIKIAotIzogYnVpbHRpbi9sb2cuYzo4OTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKKyM6IGJ1aWx0aW4vbG9nLmM6OTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgogbXNnc3RyICJObyBlcyBwb3Qgb2JyaXIgZWwgZml0eGVyIGRlIHBlZGHDpyAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo5MTAKLW1zZ2lkICJOZWVkIGV4YWN0bHkgb25lIHJhbmdlLiIKKyM6IGJ1aWx0aW4vbG9nLmM6OTY5CisjLCBmdXp6eQorbXNnaWQgIm5lZWQgZXhhY3RseSBvbmUgcmFuZ2UiCiBtc2dzdHIgIkNhbCBleGFjdGFtZW50IHVuIHJhbmcuIgogCi0jOiBidWlsdGluL2xvZy5jOjkyMAotbXNnaWQgIk5vdCBhIHJhbmdlLiIKKyM6IGJ1aWx0aW4vbG9nLmM6OTc5CisjLCBmdXp6eQorbXNnaWQgIm5vdCBhIHJhbmdlIgogbXNnc3RyICJObyDDqXMgdW4gcmFuZy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA0MwotbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCisjOiBidWlsdGluL2xvZy5jOjExNDMKKyMsIGZ1enp5Cittc2dpZCAiY292ZXIgbGV0dGVyIG5lZWRzIGVtYWlsIGZvcm1hdCIKIG1zZ3N0ciAiTGEgY2FydGEgZGUgcHJlc2VudGFjacOzIG5lY2Vzc2l0YSBlbCBmb3JtYXQgZGUgY29ycmV1IGVsZWN0csOybmljIgogCi0jOiBidWlsdGluL2xvZy5jOjExMTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTE0OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGNvdmVyLWxldHRlciBmaWxlIgorbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNyZWFyIGVscyBmaXR4ZXJzIGRlIHNvcnRpZGEiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmUgaW4tcmVwbHktdG86ICVzIgogbXNnc3RyICJpbi1yZXBseS10byBib2lnOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTQ2CisjOiBidWlsdGluL2xvZy5jOjEyNTUKIG1zZ2lkICJnaXQgZm9ybWF0LXBhdGNoIFs8b3B0aW9ucz5dIFs8c2luY2U+IHwgPHJldmlzaW9uLXJhbmdlPl0iCiBtc2dzdHIgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcGNpb25zPl0gWzxkZXMtZGU+IHwgPHJhbmctZGUtcmV2aXNpb25zPl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwNAotbXNnaWQgIlR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgorIzogYnVpbHRpbi9sb2cuYzoxMzEzCisjLCBmdXp6eQorbXNnaWQgInR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgogbXNnc3RyICJIaSBoYSBkb3MgZGlyZWN0b3JpcyBkZSBzb3J0aWRhPyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzExIGJ1aWx0aW4vbG9nLmM6MjA1NCBidWlsdGluL2xvZy5jOjIwNTYgYnVpbHRpbi9sb2cuYzoyMDY4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlVua25vd24gY29tbWl0ICVzIgorIzogYnVpbHRpbi9sb2cuYzoxNDI0IGJ1aWx0aW4vbG9nLmM6MjE5NyBidWlsdGluL2xvZy5jOjIxOTkgYnVpbHRpbi9sb2cuYzoyMjExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbW1pdCAlcyIKIG1zZ3N0ciAiQ29taXNzacOzIGRlc2NvbmVndWRhICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMjEgYnVpbHRpbi9ub3Rlcy5jOjg5NCBidWlsdGluL3RhZy5jOjUyNgorIzogYnVpbHRpbi9sb2cuYzoxNDM0IGJ1aWx0aW4vcmVwbGFjZS5jOjU4IGJ1aWx0aW4vcmVwbGFjZS5jOjIwNworIzogYnVpbHRpbi9yZXBsYWNlLmM6MjEwCiAjLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgotbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHJlc29sZHJlIMKrJXPCuyBjb20gYSByZWZlcsOobmNpYSB2w6BsaWRhLiIKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHJlc29sZHJlIMKrJXPCuyBjb20gYSByZWZlcsOobmNpYSB2w6BsaWRhIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMjYKLW1zZ2lkICJDb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlLiIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzOQorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHRyb2JhciBsYSBiYXNlIGV4YWN0YSBkZSBmdXNpw7MuIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MworIywgZnV6enkKIG1zZ2lkICIiCi0iRmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCisiZmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCiAicGxlYXNlIHVzZSBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIHRvIHRyYWNrIGEgcmVtb3RlIGJyYW5jaC5cbiIKLSJPciB5b3UgY291bGQgc3BlY2lmeSBiYXNlIGNvbW1pdCBieSAtLWJhc2U9PGJhc2UtY29tbWl0LWlkPiBtYW51YWxseS4iCisiT3IgeW91IGNvdWxkIHNwZWNpZnkgYmFzZSBjb21taXQgYnkgLS1iYXNlPTxiYXNlLWNvbW1pdC1pZD4gbWFudWFsbHkiCiBtc2dzdHIgIiIKICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9idGVuaXIgbGEgZm9udC4gU2kgdm9sZXUgcmVnaXN0cmFyIGxhIGNvbWlzc2nDsyAiCiAiYmFzZVxuIgpAQCAtMTI0MzcsMjgxICsxNTA4NywyODIgQEAKICJzZWd1aXIgdW5hIGJyYW5jYSByZW1vdGEuIE8gcG9kZXUgZXNwZWNpZmljYXIgbGEgY29taXNzacOzIGJhc2UgbWFudWFsbWVudFxuIgogImFtYiAtLWJhc2U9PGlkLWRlLWNvbWlzc2nDsy1iYXNlPi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM1MAotbXNnaWQgIkZhaWxlZCB0byBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCisjOiBidWlsdGluL2xvZy5jOjE0NjMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGZpbmQgZXhhY3QgbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiB0cm9iYXIgbGEgYmFzZSBleGFjdGEgZGUgZnVzacOzLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzYxCisjOiBidWlsdGluL2xvZy5jOjE0NzQKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGQgYmUgdGhlIGFuY2VzdG9yIG9mIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgImxhIGNvbWlzc2nDsyBiYXNlIGhhIGRlIHNlciBsJ2F2YW50cGFzc2F0IGRlIGxhIGxsaXN0YSBkZSByZXZpc2lvbnMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM2NQorIzogYnVpbHRpbi9sb2cuYzoxNDc4CiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkbid0IGJlIGluIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgImxhIGNvbWlzc2nDsyBiYXNlIG5vIGhhIGRlIHNlciBlbiBsYSBsbGlzdGEgZGUgcmV2aXNpb25zIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTUzMQogbXNnaWQgImNhbm5vdCBnZXQgcGF0Y2ggaWQiCiBtc2dzdHIgIm5vIGVzIHBvdCBvYnRlbmlyIGwnaWQgZGVsIHBlZGHDpyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDcwCisjOiBidWlsdGluL2xvZy5jOjE1ODMKICMsIGZ1enp5CiBtc2dpZCAiZmFpbGVkIHRvIGluZmVyIHJhbmdlLWRpZmYgcmFuZ2VzIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGV4ZWN1dGFyIMKrJXPCuyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTE1CisjOiBidWlsdGluL2xvZy5jOjE2MjkKIG1zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgogbXNnc3RyICJ1c2EgW1BBVENIIG4vbV0gZmlucyBpIHRvdCBhbWIgdW4gc29sIHBlZGHDpyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTE4CisjOiBidWlsdGluL2xvZy5jOjE2MzIKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKIG1zZ3N0ciAidXNhIFtQQVRDSF0gZmlucyBpIHRvdCBhbWIgbcO6bHRpcGxlcyBwZWRhw6dvcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTIyCisjOiBidWlsdGluL2xvZy5jOjE2MzYKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAiaW1wcmltZWl4IGVscyBwZWRhw6dvcyBhIGxhIHNvcnRpZGEgZXN0w6BuZGFyZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTI0CisjOiBidWlsdGluL2xvZy5jOjE2MzgKIG1zZ2lkICJnZW5lcmF0ZSBhIGNvdmVyIGxldHRlciIKIG1zZ3N0ciAiZ2VuZXJhIHVuYSBjYXJ0YSBkZSBwcmVzZW50YWNpw7MiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUyNgorIzogYnVpbHRpbi9sb2cuYzoxNjQwCiBtc2dpZCAidXNlIHNpbXBsZSBudW1iZXIgc2VxdWVuY2UgZm9yIG91dHB1dCBmaWxlIG5hbWVzIgogbXNnc3RyICJ1c2EgdW5hIHNlccO8w6huY2lhIGRlIG7Dum1lcm9zIHBlciBhbHMgbm9tcyBkZWxzIGZpdHhlcnMgZGUgc29ydGlkYSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTI3CisjOiBidWlsdGluL2xvZy5jOjE2NDEKIG1zZ2lkICJzZngiCiBtc2dzdHIgInN1Zml4IgogCi0jOiBidWlsdGluL2xvZy5jOjE1MjgKKyM6IGJ1aWx0aW4vbG9nLmM6MTY0MgogbXNnaWQgInVzZSA8c2Z4PiBpbnN0ZWFkIG9mICcucGF0Y2gnIgogbXNnc3RyICJ1c2EgPHN1Zml4PiBlbiBsbG9jIGRlICcucGF0Y2gnIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTY0NAogbXNnaWQgInN0YXJ0IG51bWJlcmluZyBwYXRjaGVzIGF0IDxuPiBpbnN0ZWFkIG9mIDEiCiBtc2dzdHIgImNvbWVuw6dhIG51bWVyYW50IGVscyBwZWRhw6dvcyBhIDxuPiBlbiBsbG9jIGQnMSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMyCisjOiBidWlsdGluL2xvZy5jOjE2NDYKIG1zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCiBtc2dzdHIgIm1hcmNhIGxhIHPDqHJpZSBjb20gYSBsJ2Vuw6hzaW1hIGxsYW7Dp2FkYSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTM0CisjOiBidWlsdGluL2xvZy5jOjE2NDgKIG1zZ2lkICJVc2UgW1JGQyBQQVRDSF0gaW5zdGVhZCBvZiBbUEFUQ0hdIgogbXNnc3RyICJVc2EgW1JGQyBQQVRDSF0gZW4gbGxvYyBkZSBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTY1MQorbXNnaWQgImNvdmVyLWZyb20tZGVzY3JpcHRpb24tbW9kZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE2NTIKK21zZ2lkICJnZW5lcmF0ZSBwYXJ0cyBvZiBhIGNvdmVyIGxldHRlciBiYXNlZCBvbiBhIGJyYW5jaCdzIGRlc2NyaXB0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY1NAogbXNnaWQgIlVzZSBbPHByZWZpeD5dIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAiVXNhIFs8cHJlZml4Pl0gZW4gbGxvYyBkZSBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTY1NwogbXNnaWQgInN0b3JlIHJlc3VsdGluZyBmaWxlcyBpbiA8ZGlyPiIKIG1zZ3N0ciAiZW1tYWdhdHplbWEgZWxzIGZpdHhlcnMgcmVzdWx0YW50cyBhIDxkaXJlY3Rvcmk+IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTY2MAogbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgogbXNnc3RyICJubyBkZXNwdWxsaXMvYWZlZ2VpeGlzIFtQQVRDSF0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0NgorIzogYnVpbHRpbi9sb2cuYzoxNjYzCiBtc2dpZCAiZG9uJ3Qgb3V0cHV0IGJpbmFyeSBkaWZmcyIKIG1zZ3N0ciAibm8gZW1ldGlzIGRpZmVyw6huY2llcyBiaW7DoHJpZXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0OAorIzogYnVpbHRpbi9sb2cuYzoxNjY1CiBtc2dpZCAib3V0cHV0IGFsbC16ZXJvIGhhc2ggaW4gRnJvbSBoZWFkZXIiCiBtc2dzdHIgImVtZXQgdW4gaGFzaCBkZSB0b3RzIHplcm9zIGVuIGxhIGNhcMOnYWxlcmEgRnJvbSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTUwCisjOiBidWlsdGluL2xvZy5jOjE2NjcKIG1zZ2lkICJkb24ndCBpbmNsdWRlIGEgcGF0Y2ggbWF0Y2hpbmcgYSBjb21taXQgdXBzdHJlYW0iCiBtc2dzdHIgIm5vIGluY2xvZ3VpcyBwZWRhw6dvcyBxdWUgY29pbmNpZGVpeGluIGFtYiBjb21pc3Npb25zIGEgbGEgZm9udCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTUyCisjOiBidWlsdGluL2xvZy5jOjE2NjkKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgIiIKICJtb3N0cmEgZWwgZm9ybWF0IGRlIHBlZGHDpyBlbiBsbG9jIGRlbCBwZXIgZGVmZWN0ZSAocGVkYcOnICsgZXN0YWTDrXN0aXF1ZXMpIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3MQogbXNnaWQgIk1lc3NhZ2luZyIKIG1zZ3N0ciAiTWlzc2F0Z2VyaWEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NQorIzogYnVpbHRpbi9sb2cuYzoxNjcyCiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICJjYXDDp2FsZXJhIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTYKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3MwogbXNnaWQgImFkZCBlbWFpbCBoZWFkZXIiCiBtc2dzdHIgImFmZWdlaXggdW5hIGNhcMOnYWxlcmEgZGUgY29ycmV1IGVsZWN0csOybmljIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTcgYnVpbHRpbi9sb2cuYzoxNTU5CisjOiBidWlsdGluL2xvZy5jOjE2NzQgYnVpbHRpbi9sb2cuYzoxNjc2CiBtc2dpZCAiZW1haWwiCiBtc2dzdHIgImNvcnJldSBlbGVjdHLDsm5pYyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTU3CisjOiBidWlsdGluL2xvZy5jOjE2NzQKIG1zZ2lkICJhZGQgVG86IGhlYWRlciIKIG1zZ3N0ciAiYWZlZ2VpeCBsYSBjYXDDp2FsZXJhIFRvOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTU5CisjOiBidWlsdGluL2xvZy5jOjE2NzYKIG1zZ2lkICJhZGQgQ2M6IGhlYWRlciIKIG1zZ3N0ciAiYWZlZ2VpeCBsYSBjYXDDp2FsZXJhIENjOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTYxCisjOiBidWlsdGluL2xvZy5jOjE2NzgKIG1zZ2lkICJpZGVudCIKIG1zZ3N0ciAiaWRlbnRpdGF0IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NjIKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3OQogbXNnaWQgInNldCBGcm9tIGFkZHJlc3MgdG8gPGlkZW50PiAob3IgY29tbWl0dGVyIGlkZW50IGlmIGFic2VudCkiCiBtc2dzdHIgIiIKICJlc3RhYmxlaXggbCdhZHJlw6dhIEZyb20gYSA8aWRlbnRpdGF0PiAobyBsYSBpZGVudGl0YXQgZGVsIGNvbWl0ZW50IHNpIG1hbmNhKSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY0CisjOiBidWlsdGluL2xvZy5jOjE2ODEKIG1zZ2lkICJtZXNzYWdlLWlkIgogbXNnc3RyICJJRCBkZSBtaXNzYXRnZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY1CisjOiBidWlsdGluL2xvZy5jOjE2ODIKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgImZlcyBxdWUgZWwgcHJpbWVyIG1pc3NhdGdlIHNpZ3VpIHVuYSByZXNwb3N0YSBhIDxJRCBkZSBtaXNzYXRnZT4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NiBidWlsdGluL2xvZy5jOjE1NjkKKyM6IGJ1aWx0aW4vbG9nLmM6MTY4MyBidWlsdGluL2xvZy5jOjE2ODYKIG1zZ2lkICJib3VuZGFyeSIKIG1zZ3N0ciAibMOtbWl0IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTY4NAogbXNnaWQgImF0dGFjaCB0aGUgcGF0Y2giCiBtc2dzdHIgImFkanVudGEgZWwgcGVkYcOnIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTY4NwogbXNnaWQgImlubGluZSB0aGUgcGF0Y2giCiBtc2dzdHIgInBvc2EgZWwgcGVkYcOnIGVuIGVsIGNvcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc0CisjOiBidWlsdGluL2xvZy5jOjE2OTEKIG1zZ2lkICJlbmFibGUgbWVzc2FnZSB0aHJlYWRpbmcsIHN0eWxlczogc2hhbGxvdywgZGVlcCIKIG1zZ3N0ciAiaGFiaWxpdGEgbCdlbmZpbGFkYSBkZSBtaXNzYXRnZXMsIGVzdGlsczogc2hhbGxvdywgZGVlcCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc2CisjOiBidWlsdGluL2xvZy5jOjE2OTMKIG1zZ2lkICJzaWduYXR1cmUiCiBtc2dzdHIgInNpZ25hdHVyYSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc3CisjOiBidWlsdGluL2xvZy5jOjE2OTQKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUiCiBtc2dzdHIgImFmZWdlaXggdW5hIHNpZ25hdHVyYSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc4CisjOiBidWlsdGluL2xvZy5jOjE2OTUKIG1zZ2lkICJiYXNlLWNvbW1pdCIKIG1zZ3N0ciAiY29taXNzacOzIGJhc2UiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3OQorIzogYnVpbHRpbi9sb2cuYzoxNjk2CiBtc2dpZCAiYWRkIHByZXJlcXVpc2l0ZSB0cmVlIGluZm8gdG8gdGhlIHBhdGNoIHNlcmllcyIKIG1zZ3N0ciAiYWZlZ2VpeCBsYSBpbmZvcm1hY2nDsyBkJ2FyYnJlIHJlcXVlcmlkYSBhIGxhIHPDqHJpZSBkZSBwZWRhw6dvcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTgxCisjOiBidWlsdGluL2xvZy5jOjE2OTgKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUgZnJvbSBhIGZpbGUiCiBtc2dzdHIgImFmZWdlaXggdW5hIHNpZ25hdHVyYSBkZXMgZCd1biBmaXR4ZXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU4MgorIzogYnVpbHRpbi9sb2cuYzoxNjk5CiBtc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKIG1zZ3N0ciAibm8gaW1wcmltZWl4aXMgZWxzIG5vbXMgZGUgZml0eGVyIGRlbCBwZWRhw6ciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU4NAorIzogYnVpbHRpbi9sb2cuYzoxNzAxCiBtc2dpZCAic2hvdyBwcm9ncmVzcyB3aGlsZSBnZW5lcmF0aW5nIHBhdGNoZXMiCiBtc2dzdHIgIm1vc3RyYSBlbCBwcm9ncsOpcyBkdXJhbnQgbGEgZ2VuZXJhY2nDsyBkZSBwZWRhw6dvcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTg1Ci1tc2dpZCAicmV2IgotbXNnc3RyICJyZXYiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6MTU4NgorIzogYnVpbHRpbi9sb2cuYzoxNzAzCiBtc2dpZCAic2hvdyBjaGFuZ2VzIGFnYWluc3QgPHJldj4gaW4gY292ZXIgbGV0dGVyIG9yIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1ODkKKyM6IGJ1aWx0aW4vbG9nLmM6MTcwNgogbXNnaWQgInNob3cgY2hhbmdlcyBhZ2FpbnN0IDxyZWZzcGVjPiBpbiBjb3ZlciBsZXR0ZXIgb3Igc2luZ2xlIHBhdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU5MQorIzogYnVpbHRpbi9sb2cuYzoxNzA4CiBtc2dpZCAicGVyY2VudGFnZSBieSB3aGljaCBjcmVhdGlvbiBpcyB3ZWlnaHRlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE2NjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTc5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIgogbXNnc3RyICJsw61uaWEgZCdpZGVudGl0YXQgbm8gdsOgbGlkYTogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY4MQorIzogYnVpbHRpbi9sb2cuYzoxODA3CiAjLCBmdXp6eQogbXNnaWQgIi1uIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItbiBpIC1rIHPDs24gbcO6dHVhbWVudCBleGNsb2VudHMuIgogCi0jOiBidWlsdGluL2xvZy5jOjE2ODMKKyM6IGJ1aWx0aW4vbG9nLmM6MTgwOQogIywgZnV6enkKIG1zZ2lkICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIGkgLWsgc8OzbiBtw7p0dWFtZW50IGV4Y2xvZW50cy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY5MQorIzogYnVpbHRpbi9sb2cuYzoxODE3CiBtc2dpZCAiLS1uYW1lLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1uYW1lLW9ubHkgbm8gdMOpIHNlbnRpdCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjkzCisjOiBidWlsdGluL2xvZy5jOjE4MTkKIG1zZ2lkICItLW5hbWUtc3RhdHVzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1zdGF0dXMgbm8gdMOpIHNlbnRpdCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjk1CisjOiBidWlsdGluL2xvZy5jOjE4MjEKIG1zZ2lkICItLWNoZWNrIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tY2hlY2sgbm8gdMOpIHNlbnRpdCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzI3CisjOiBidWlsdGluL2xvZy5jOjE4NTQKIG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKIG1zZ3N0ciAic29ydGlkYSBlc3TDoG5kYXJkIG8gZGlyZWN0b3JpLCBxdWluIGRlbHMgZG9zPyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzI5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCi1tc2dzdHIgIk5vIHMnaGEgcG9ndXQgY3JlYXIgZWwgZGlyZWN0b3JpIMKrJXPCuyIKLQotIzogYnVpbHRpbi9sb2cuYzoxODE2CisjOiBidWlsdGluL2xvZy5jOjE5NTgKIG1zZ2lkICItLWludGVyZGlmZiByZXF1aXJlcyAtLWNvdmVyLWxldHRlciBvciBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODIwCisjOiBidWlsdGluL2xvZy5jOjE5NjIKIG1zZ2lkICJJbnRlcmRpZmY6IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyMQorIzogYnVpbHRpbi9sb2cuYzoxOTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludGVyZGlmZiBhZ2FpbnN0IHYlZDoiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODI3CisjOiBidWlsdGluL2xvZy5jOjE5NjkKIG1zZ2lkICItLWNyZWF0aW9uLWZhY3RvciByZXF1aXJlcyAtLXJhbmdlLWRpZmYiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODMxCisjOiBidWlsdGluL2xvZy5jOjE5NzMKIG1zZ2lkICItLXJhbmdlLWRpZmYgcmVxdWlyZXMgLS1jb3Zlci1sZXR0ZXIgb3Igc2luZ2xlIHBhdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgzOQorIzogYnVpbHRpbi9sb2cuYzoxOTgxCiBtc2dpZCAiUmFuZ2UtZGlmZjoiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODQwCisjOiBidWlsdGluL2xvZy5jOjE5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmFuZ2UtZGlmZiBhZ2FpbnN0IHYlZDoiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODUxCisjOiBidWlsdGluL2xvZy5jOjE5OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc2lnbmF0dXJlIGZpbGUgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgZWwgZml0eGVyIGRlIHNpZ25hdHVyYSDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTg4NworIzogYnVpbHRpbi9sb2cuYzoyMDI5CiBtc2dpZCAiR2VuZXJhdGluZyBwYXRjaGVzIgogbXNnc3RyICJTJ2VzdGFuIGdlbmVyYW50IGVscyBwZWRhw6dvcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxOTMxCi1tc2dpZCAiRmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCisjOiBidWlsdGluL2xvZy5jOjIwNzMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY3JlYXIgZWxzIGZpdHhlcnMgZGUgc29ydGlkYSIKIAotIzogYnVpbHRpbi9sb2cuYzoxOTg5CisjOiBidWlsdGluL2xvZy5jOjIxMzIKIG1zZ2lkICJnaXQgY2hlcnJ5IFstdl0gWzx1cHN0cmVhbT4gWzxoZWFkPiBbPGxpbWl0Pl1dXSIKIG1zZ3N0ciAiZ2l0IGNoZXJyeSBbLXZdIFs8Zm9udD4gWzxjYXA+IFs8bMOtbWl0Pl1dXSIKIAotIzogYnVpbHRpbi9sb2cuYzoyMDQzCisjOiBidWlsdGluL2xvZy5jOjIxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBmaW5kIGEgdHJhY2tlZCByZW1vdGUgYnJhbmNoLCBwbGVhc2Ugc3BlY2lmeSA8dXBzdHJlYW0+IG1hbnVhbGx5LlxuIgpAQCAtMTI3MTksMTA5ICsxNTM3MCwxMDkgQEAKICJObyBzJ2hhIHBvZ3V0IHRyb2JhciB1bmEgYnJhbmNhIHJlbW90YSBzZWd1aWRhLiBFc3BlY2lmaXF1ZXUgPGZvbnQ+ICIKICJtYW51YWxtZW50LlxuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDcwCiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgWzxvcGNpb25zPl0gWzxmaXR4ZXI+Li4uXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNgogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgImlkZW50aWZpY2EgbCdlc3RhdCBkZSBmaXR4ZXIgYW1iIGV0aXF1ZXRlcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOAogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgogbXNnc3RyICJ1c2EgbGxldHJlcyBtaW7DunNjdWxlcyBwZXIgYWxzIGZpdHhlcnMgJ2Fzc3VtZSB1bmNoYW5nZWQnIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTMwCiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnZnNtb25pdG9yIGNsZWFuJyBmaWxlcyIKIG1zZ3N0ciAidXNhIGxsZXRyZXMgbWluw7pzY3VsZXMgcGVyIGFscyBmaXR4ZXJzICdmc21vbml0b3IgY2xlYW4nIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTMxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTMyCiBtc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCiBtc2dzdHIgIiIKICJtb3N0cmEgZW4gbGEgc29ydGlkYSBlbHMgZml0eGVycyBkZXNhdHMgZW4gbGEgbWVtw7JyaWEgY2F1IChwZXIgZGVmZWN0ZSkiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzQKIG1zZ2lkICJzaG93IGRlbGV0ZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAibW9zdHJhIGVuIGxhIHNvcnRpZGEgZWxzIGZpdHhlcnMgc3VwcmltaXRzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2CiBtc2dpZCAic2hvdyBtb2RpZmllZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJtb3N0cmEgZW4gbGEgc29ydGlkYSBlbHMgZml0eGVycyBtb2RpZmljYXRzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM4CiBtc2dpZCAic2hvdyBvdGhlciBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJtb3N0cmEgZW4gbGEgc29ydGlkYSBlbHMgYWx0cmVzIGZpdHhlcnMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDAKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAibW9zdHJhIGVuIGxhIHNvcnRpZGEgZWxzIGZpdHhlcnMgaWdub3JhdHMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDMKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAibW9zdHJhIGVuIGxhIHNvcnRpZGEgZWwgbm9tIGQnb2JqZWN0ZSBkZWxzIGNvbnRpbmd1dHMgwqtzdGFnZcK7IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ1CiBtc2dpZCAic2hvdyBmaWxlcyBvbiB0aGUgZmlsZXN5c3RlbSB0aGF0IG5lZWQgdG8gYmUgcmVtb3ZlZCIKIG1zZ3N0ciAibW9zdHJhIGVscyBmaXR4ZXJzIGVuIGVsIHNpc3RlbWEgZGUgZml0eGVycyBxdWUgcydoYW4gZCdlbGltaW5hciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NwogbXNnaWQgInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZXMgb25seSIKIG1zZ3N0ciAibW9zdHJhIG5vbcOpcyBlbHMgbm9tcyBkZWxzIGRpcmVjdG9yaXMgJ290aGVyJyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OQogbXNnaWQgInNob3cgbGluZSBlbmRpbmdzIG9mIGZpbGVzIgogbXNnc3RyICJtb3N0cmEgZWxzIHRlcm1pbmFkb3JzIGRlIGzDrW5pYSBkZWxzIGZpdHhlcnMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTEKIG1zZ2lkICJkb24ndCBzaG93IGVtcHR5IGRpcmVjdG9yaWVzIgogbXNnc3RyICJubyBtb3N0cmlzIGVscyBkaXJlY3RvcmlzIGJ1aXRzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTUzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU0CiBtc2dpZCAic2hvdyB1bm1lcmdlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJtb3N0cmEgZW4gbGEgc29ydGlkYSBlbHMgZml0eGVycyBzZW5zZSBmdXNpb25hciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NgogbXNnaWQgInNob3cgcmVzb2x2ZS11bmRvIGluZm9ybWF0aW9uIgogbXNnc3RyICJtb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgcmVzb2x1Y2nDsyBkZSBkZXNmZXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTgKIG1zZ2lkICJza2lwIGZpbGVzIG1hdGNoaW5nIHBhdHRlcm4iCiBtc2dzdHIgIm9tZXQgZWxzIGZpdHhlcnMgY29pbmNpZGVudHMgYW1iIGVsIHBhdHLDsyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MQogbXNnaWQgImV4Y2x1ZGUgcGF0dGVybnMgYXJlIHJlYWQgZnJvbSA8ZmlsZT4iCiBtc2dzdHIgImVscyBwYXRyb25zIGQnZXhjbHVzacOzIGVzIGxsZWdlaXhlbiBkZSA8Zml0eGVyPiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NAogbXNnaWQgInJlYWQgYWRkaXRpb25hbCBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgcGF0dGVybnMgaW4gPGZpbGU+IgogbXNnc3RyICJsbGVnZWl4IGVscyBwYXRyb25zIGFkZGljaW9uYWxzIGQnZXhjbHVzacOzIHBlciBkaXJlY3RvcmkgZW4gPGZpdHhlcj4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjYKIG1zZ2lkICJhZGQgdGhlIHN0YW5kYXJkIGdpdCBleGNsdXNpb25zIgogbXNnc3RyICJhZmVnZWl4IGxlcyBleGNsdXNpb25zIGVzdMOgbmRhcmRzIGRlIGdpdCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU3MAogbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJmZXMgcXVlIGxhIHNvcnRpZGEgc2lndWkgcmVsYXRpdmEgYWwgZGlyZWN0b3JpIHN1cGVyaW9yIGRlbCBwcm9qZWN0ZSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU3MgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU3MwogbXNnaWQgInJlY3Vyc2UgdGhyb3VnaCBzdWJtb2R1bGVzIgogbXNnc3RyICJpbmNsb3UgcmVjdXJzaXZhbWVudCBhbHMgc3VibcOyZHVscyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU3NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU3NQogbXNnaWQgImlmIGFueSA8ZmlsZT4gaXMgbm90IGluIHRoZSBpbmRleCwgdHJlYXQgdGhpcyBhcyBhbiBlcnJvciIKIG1zZ3N0ciAic2kgcXVhbHNldm9sIDxmaXR4ZXI+IG5vIMOpcyBlbiBsJ8OtbmRleCwgdHJhY3RhLWhvIGNvbSBhIGVycm9yIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTc1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc2CiBtc2dpZCAidHJlZS1pc2giCiBtc2dzdHIgImFyYnJlIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTc2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc3CiBtc2dpZCAicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIKIG1zZ3N0ciAiIgogInByZXTDqW4gcXVlIGVscyBjYW1pbnMgZWxpbWluYXRzIGRlc3Byw6lzIGRlIDxhcmJyZT4gZW5jYXJhIHNpZ3VpbiBwcmVzZW50cyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU3OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU3OQogbXNnaWQgInNob3cgZGVidWdnaW5nIGRhdGEiCiBtc2dzdHIgIm1vc3RyYSBsZXMgZGFkZXMgZGUgZGVwdXJhY2nDsyIKIApAQCAtMTI4NDAsNyArMTU0OTEsNyBAQAogbXNnaWQgImRvIG5vdCBwcmludCByZW1vdGUgVVJMIgogbXNnc3RyICJubyBpbXByaW1laXhpcyBsJ1VSTCByZW1vdCIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MCBidWlsdGluL2xzLXJlbW90ZS5jOjYyIGJ1aWx0aW4vcmViYXNlLmM6ODg1CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjYwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIgYnVpbHRpbi9yZWJhc2UuYzoxNTE4CiBtc2dpZCAiZXhlYyIKIG1zZ3N0ciAiZXhlY3V0YWJsZSIKIApAQCAtMTI4NjQsMTEgKzE1NTE1LDExIEBACiBtc2dpZCAidGFrZSB1cmwuPGJhc2U+Lmluc3RlYWRPZiBpbnRvIGFjY291bnQiCiBtc2dzdHIgInRpbmd1ZXMgZW4gY29tcHRlIHVybC48YmFzZT4uaW5zdGVhZE9mIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjczCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjcyCiBtc2dpZCAiZXhpdCB3aXRoIGV4aXQgY29kZSAyIGlmIG5vIG1hdGNoaW5nIHJlZnMgYXJlIGZvdW5kIgogbXNnc3RyICJzdXJ0IGFtYiBjb2RpIGRlIHNvcnRpZGEgMiBzaSBubyBlcyB0cm9iYSBjYXAgcmVmZXLDqG5jaWEgY29pbmNpZGVudCIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo3NgorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo3NQogbXNnaWQgInNob3cgdW5kZXJseWluZyByZWYgaW4gYWRkaXRpb24gdG8gdGhlIG9iamVjdCBwb2ludGVkIGJ5IGl0IgogbXNnc3RyICJtb3N0cmEgbGEgcmVmZXLDqG5jaWEgc3ViamFjZW50IGEgbcOpcyBkZSBsJ29iamVjdGUgcXVlIHNlbnlhbGkiCiAKQEAgLTEyOTE0LDI2MiArMTU1NjUsMjkxIEBACiBtc2dpZCAiZW1wdHkgbWJveDogJyVzJyIKIG1zZ3N0ciAibWJveCBidWl0OiDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1MgorIzogYnVpbHRpbi9tZXJnZS5jOjU1CiBtc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIFs8Y29tbWl0Pi4uLl0iCiBtc2dzdHIgImdpdCBtZXJnZSBbPG9wY2lvbnM+XSBbPGNvbWlzc2nDsz4uLi5dIgogCi0jOiBidWlsdGluL21lcmdlLmM6NTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1NgogbXNnaWQgImdpdCBtZXJnZSAtLWFib3J0IgogbXNnc3RyICJnaXQgbWVyZ2UgLS1hYm9ydCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjU0CisjOiBidWlsdGluL21lcmdlLmM6NTcKIG1zZ2lkICJnaXQgbWVyZ2UgLS1jb250aW51ZSIKIG1zZ3N0ciAiZ2l0IG1lcmdlIC0tY29udGludWUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTgKIG1zZ2lkICJzd2l0Y2ggYG0nIHJlcXVpcmVzIGEgdmFsdWUiCiBtc2dzdHIgImwnb3BjacOzIMKrbcK7IHJlcXVlcmVpeCB1biB2YWxvciIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE3NworIzogYnVpbHRpbi9tZXJnZS5jOjE0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgcmVxdWlyZXMgYSB2YWx1ZSIKK21zZ3N0ciAibCdvcGNpw7Mgwqslc8K7IHJlcXVlcmVpeCB1biB2YWxvciIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCBtZXJnZSBzdHJhdGVneSAnJXMnLlxuIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHRyb2JhciBsJ2VzdHJhdMOoZ2lhIGRlIGZ1c2nDsyDCqyVzwrsuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAiTGVzIGVzdHJhdMOoZ2llcyBkaXNwb25pYmxlcyBzw7NuOiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE4MworIzogYnVpbHRpbi9tZXJnZS5jOjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdmFpbGFibGUgY3VzdG9tIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAiTGVzIGVzdHJhdMOoZ2llcyBwZXJzb25hbGl0emFkZXMgZGlzcG9uaWJsZXMgc8OzbjoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzQgYnVpbHRpbi9wdWxsLmM6MTQzCisjOiBidWlsdGluL21lcmdlLmM6MjQ0IGJ1aWx0aW4vcHVsbC5jOjE1MgogbXNnaWQgImRvIG5vdCBzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgIm5vIG1vc3RyaXMgbGVzIGVzdGFkw61zdGlxdWVzIGRlIGRpZmVyw6huY2lhIGFsIGZpbmFsIGRlIGxhIGZ1c2nDsyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzNyBidWlsdGluL3B1bGwuYzoxNDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDcgYnVpbHRpbi9wdWxsLmM6MTU1CiBtc2dpZCAic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJtb3N0cmEgbGVzIGVzdGFkw61zdGlxdWVzIGRlIGRpZmVyw6huY2lhIGFsIGZpbmFsIGRlIGxhIGZ1c2nDsyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzOCBidWlsdGluL3B1bGwuYzoxNDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDggYnVpbHRpbi9wdWxsLmM6MTU4CiBtc2dpZCAiKHN5bm9ueW0gdG8gLS1zdGF0KSIKIG1zZ3N0ciAiKHNpbsOybmltIGRlIC0tc3RhdCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDAgYnVpbHRpbi9wdWxsLmM6MTUyCisjOiBidWlsdGluL21lcmdlLmM6MjUwIGJ1aWx0aW4vcHVsbC5jOjE2MQogbXNnaWQgImFkZCAoYXQgbW9zdCA8bj4pIGVudHJpZXMgZnJvbSBzaG9ydGxvZyB0byBtZXJnZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiIgogImFmZWdlaXggKGNvbSBhIG3DoHhpbSA8bj4pIGVudHJhZGVzIGRlbCByZWdpc3RyZSBjdXJ0IGFsIG1pc3NhdGdlIGRlIGNvbWlzc2nDsyAiCiAiZGUgZnVzacOzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQzIGJ1aWx0aW4vcHVsbC5jOjE1OAorIzogYnVpbHRpbi9tZXJnZS5jOjI1MyBidWlsdGluL3B1bGwuYzoxNjcKIG1zZ2lkICJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIKIG1zZ3N0ciAiY3JlYSB1bmEgw7puaWNhIGNvbWlzc2nDsyBlbiBsbG9jIGRlIGZ1c2lvbmFyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQ1IGJ1aWx0aW4vcHVsbC5jOjE2MQorIzogYnVpbHRpbi9tZXJnZS5jOjI1NSBidWlsdGluL3B1bGwuYzoxNzAKIG1zZ2lkICJwZXJmb3JtIGEgY29tbWl0IGlmIHRoZSBtZXJnZSBzdWNjZWVkcyAoZGVmYXVsdCkiCiBtc2dzdHIgInJlYWxpdHphIHVuYSBjb21pc3Npw7Mgc2kgbGEgZnVzacOzIHTDqSDDqHhpdCAocGVyIGRlZmVjdGUpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQ3IGJ1aWx0aW4vcHVsbC5jOjE2NAorIzogYnVpbHRpbi9tZXJnZS5jOjI1NyBidWlsdGluL3B1bGwuYzoxNzMKIG1zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCiBtc2dzdHIgImVkaXRhIGVsIG1pc3NhdGdlIGFiYW5zIGRlIGNvbWV0cmUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTkKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQgKGRlZmF1bHQpIgogbXNnc3RyICJwZXJtZXQgbCdhdmFuw6cgcsOgcGlkIChwZXIgZGVmZWN0ZSkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTAgYnVpbHRpbi9wdWxsLmM6MTcwCisjOiBidWlsdGluL21lcmdlLmM6MjYxIGJ1aWx0aW4vcHVsbC5jOjE4MAogbXNnaWQgImFib3J0IGlmIGZhc3QtZm9yd2FyZCBpcyBub3QgcG9zc2libGUiCiBtc2dzdHIgImF2b3J0YSBzaSBsJ2F2YW7DpyByw6BwaWQgbm8gw6lzIHBvc3NpYmxlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU0IGJ1aWx0aW4vcHVsbC5jOjE3MworIzogYnVpbHRpbi9tZXJnZS5jOjI2NSBidWlsdGluL3B1bGwuYzoxODMKIG1zZ2lkICJ2ZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCiBtc2dzdHIgInZlcmlmaWNhIHF1ZSBsYSBjb21pc3Npw7MgYW5vbWVuYWRhIHRpbmd1aSB1bmEgc2lnbmF0dXJhIEdQRyB2w6BsaWRhIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU1IGJ1aWx0aW4vbm90ZXMuYzo3ODQgYnVpbHRpbi9wdWxsLmM6MTc3Ci0jOiBidWlsdGluL3JlYmFzZS5jOjg5OCBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODYgYnVpbHRpbi9yZXZlcnQuYzoxMTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjYgYnVpbHRpbi9ub3Rlcy5jOjc4NyBidWlsdGluL3B1bGwuYzoxODcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTEyIGJ1aWx0aW4vcmViYXNlLmM6MTUzMSBidWlsdGluL3JldmVydC5jOjExNAogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICJlc3RyYXTDqGdpYSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NiBidWlsdGluL3B1bGwuYzoxNzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjcgYnVpbHRpbi9wdWxsLmM6MTg4CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kgdG8gdXNlIgogbXNnc3RyICJlc3RyYXTDqGdpYSBkZSBmdXNpw7MgYSB1c2FyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU3IGJ1aWx0aW4vcHVsbC5jOjE4MQorIzogYnVpbHRpbi9tZXJnZS5jOjI2OCBidWlsdGluL3B1bGwuYzoxOTEKIG1zZ2lkICJvcHRpb249dmFsdWUiCiBtc2dzdHIgIm9wY2nDsz12YWxvciIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1OCBidWlsdGluL3B1bGwuYzoxODIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjkgYnVpbHRpbi9wdWxsLmM6MTkyCiBtc2dpZCAib3B0aW9uIGZvciBzZWxlY3RlZCBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAib3BjacOzIHBlciBhIGwnZXN0cmF0w6hnaWEgZGUgZnVzacOzIHNlbGVjY2lvbmFkYSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2MAorIzogYnVpbHRpbi9tZXJnZS5jOjI3MQogbXNnaWQgIm1lcmdlIGNvbW1pdCBtZXNzYWdlIChmb3IgYSBub24tZmFzdC1mb3J3YXJkIG1lcmdlKSIKIG1zZ3N0ciAibWlzc2F0Z2UgZGUgY29taXNzacOzIGRlIGZ1c2nDsyAocGVyIGEgdW5hIGZ1c2nDsyBubyBkJ2F2YW7DpyByw6BwaWQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjY3CisjOiBidWlsdGluL21lcmdlLmM6Mjc4CiBtc2dpZCAiYWJvcnQgdGhlIGN1cnJlbnQgaW4tcHJvZ3Jlc3MgbWVyZ2UiCiBtc2dzdHIgImF2b3J0YSBsYSBmdXNpw7MgZW4gY3VycyBhY3R1YWwiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODAKKyMsIGZ1enp5Cittc2dpZCAiLS1hYm9ydCBidXQgbGVhdmUgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSBhbG9uZSIKK21zZ3N0ciAicmVzdGFibGVpeCBIRUFELCBsJ8OtbmRleCBpIGwnYXJicmUgZGUgdHJlYmFsbCIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI4MgogbXNnaWQgImNvbnRpbnVlIHRoZSBjdXJyZW50IGluLXByb2dyZXNzIG1lcmdlIgogbXNnc3RyICJjb250aW51YSBsYSBmdXNpw7MgZW4gY3VycyBhY3R1YWwiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzEgYnVpbHRpbi9wdWxsLmM6MTg5CisjOiBidWlsdGluL21lcmdlLmM6Mjg0IGJ1aWx0aW4vcHVsbC5jOjE5OQogbXNnaWQgImFsbG93IG1lcmdpbmcgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAicGVybWV0IGZ1c2lvbmFyIGhpc3TDsnJpZXMgbm8gcmVsYWNpb25hZGVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6Mjc3Ci1tc2dpZCAidmVyaWZ5IGNvbW1pdC1tc2cgaG9vayIKLW1zZ3N0ciAidmVyaWZpY2EgZWwgbGxpZ2FtIGRlIG1pc3NhdGdlIGRlIGNvbWlzc2nDsyIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAiYnlwYXNzIHByZS1tZXJnZS1jb21taXQgYW5kIGNvbW1pdC1tc2cgaG9va3MiCittc2dzdHIgImV2aXRhIGVscyBsbGlnYW1zIGRlIHByZWNvbWlzc2nDsyBpIG1pc3NhdGdlIGRlIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjMwMgorIzogYnVpbHRpbi9tZXJnZS5jOjMwNwogbXNnaWQgImNvdWxkIG5vdCBydW4gc3Rhc2guIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIMKrc3Rhc2jCuy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozMDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMTIKIG1zZ2lkICJzdGFzaCBmYWlsZWQiCiBtc2dzdHIgImwnwqtzdGFzaMK7IGhhIGZhbGxhdCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjMxMgorIzogYnVpbHRpbi9tZXJnZS5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSB2YWxpZCBvYmplY3Q6ICVzIgogbXNnc3RyICJubyDDqXMgdW4gb2JqZWN0ZSB2w6BsaWQ6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzM0IGJ1aWx0aW4vbWVyZ2UuYzozNTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMzkgYnVpbHRpbi9tZXJnZS5jOjM1NgogbXNnaWQgInJlYWQtdHJlZSBmYWlsZWQiCiBtc2dzdHIgInJlYWQtdHJlZSBoYSBmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozODEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozODYKIG1zZ2lkICIgKG5vdGhpbmcgdG8gc3F1YXNoKSIKIG1zZ3N0ciAiIChyZXMgYSBmZXIgwqtzcXVhc2jCuykiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozOTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICJDb21pc3Npw7MgwqtzcXVhc2jCuyAtLSBubyBzJ2VzdMOgIGFjdHVhbGl0emFudCBIRUFEXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2UgbWVzc2FnZSAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICJDYXAgbWlzc2F0Z2UgZGUgZnVzacOzIC0tIG5vIHMnZXN0w6AgYWN0dWFsaXR6YW50IEhFQURcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ5MworIzogYnVpbHRpbi9tZXJnZS5jOjQ5OAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgY29tbWl0IgogbXNnc3RyICLCqyVzwrsgbm8gYXNzZW55YWxhIHVuYSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1ODAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAiQ2FkZW5hIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgaW5jb3JyZWN0YTogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3MDEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MDUKIG1zZ2lkICJOb3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgogbXNnc3RyICJObyBzJ2VzdMOgIGdlc3Rpb25hbnQgcmVzIGEgcGFydCBkZSBsYSBmdXNpw7MgZGUgZG9zIGNhcHMuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzE1CisjOiBidWlsdGluL21lcmdlLmM6NzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gb3B0aW9uIGZvciBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiBtc2dzdHIgIk9wY2nDsyBkZXNjb25lZ3VkYSBkZSBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3MzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzgyCisjOiBidWlsdGluL21lcmdlLmM6Nzg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIGZyb20gJyVzJyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBsbGVnaXIgZGUgwqslc8K7IgogCi0jOiBidWlsdGluL21lcmdlLmM6NzkxCisjOiBidWlsdGluL21lcmdlLmM6Nzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBjb21taXR0aW5nIG1lcmdlOyB1c2UgJ2dpdCBjb21taXQnIHRvIGNvbXBsZXRlIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiIgogIk5vIHMnZXN0w6AgY29tZXRlbnQgbGEgZnVzacOzOyB1c2V1ICdnaXQgY29tbWl0JyBwZXIgYSBjb21wbGV0YXIgbGEgZnVzacOzLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzk3Ci0jLCBjLWZvcm1hdAorIzogYnVpbHRpbi9tZXJnZS5jOjgwMQorIywgZnV6enkKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIGEgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB3aHkgdGhpcyBtZXJnZSBpcyBuZWNlc3NhcnksXG4iCiAiZXNwZWNpYWxseSBpZiBpdCBtZXJnZXMgYW4gdXBkYXRlZCB1cHN0cmVhbSBpbnRvIGEgdG9waWMgYnJhbmNoLlxuIgogIlxuIgotIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQsIGFuZCBhbiBlbXB0eSBtZXNzYWdlIGFib3J0c1xuIgotInRoZSBjb21taXQuXG4iCiBtc2dzdHIgIiIKICJJbnRyb2R1w691IHVuIG1pc3NhdGdlIGRlIGNvbWlzc2nDsyBwZXIgYSBleHBsaWNhciBwZXIgcXXDqFxuIgogImFxdWVzdGEgZnVzacOzIMOpcyBuZWNlc3PDoHJpYSwgZXNwZWNpYWxtZW50IHNpIGZ1c2lvbmEgdW5hIGZvbnRcbiIKICJhY3R1YWxpdHphZGEgYSB1bmEgYnJhbmNhIHRlbcOgdGljYS5cbiIKICJcbiIKLSJTJ2lnbm9yYXJhbiBsZXMgbMOtbmllcyBxdWUgY29tZW5jaW4gYW1iICclYycsIGkgdW4gbWlzc2F0Z2UgYnVpdFxuIgorIlMnaWdub3JhcmFuIGxlcyBsw61uaWVzIHF1ZSBjb21lbmNpbiBhbWIgwqslY8K7LCBpIHVuIG1pc3NhdGdlIGJ1aXRcbiIKICJhdm9ydGEgbGEgY29taXNzacOzLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODMzCisjOiBidWlsdGluL21lcmdlLmM6ODA2CisjLCBmdXp6eQorbXNnaWQgIkFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCittc2dzdHIgImVkaXRhIGVsIG1pc3NhdGdlIGFiYW5zIGRlIGNvbWV0cmUiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMaW5lcyBzdGFydGluZyB3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLCBhbmQgYW4gZW1wdHkgbWVzc2FnZSBhYm9ydHNcbiIKKyJ0aGUgY29tbWl0LlxuIgorbXNnc3RyICIiCisiSW50cm9kdcOvdSBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MgZGVscyB2b3N0cmVzIGNhbnZpcy5cbiIKKyJTJ2lnbm9yYXJhbiBsZXMgbMOtbmllcyBxdWUgY29tZW5jaW4gYW1iIMKrJWPCuywgaSB1biBtaXNzYXRnZSBkZVxuIgorImNvbWlzc2nDsyBidWl0IGF2b3J0YSBsYSBjb21pc3Npw7MuXG4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NjIKIG1zZ2lkICJFbXB0eSBjb21taXQgbWVzc2FnZS4iCiBtc2dzdHIgIkVsIG1pc3NhdGdlIGRlIGNvbWlzc2nDsyDDqXMgYnVpdC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiV29uZGVyZnVsLlxuIgogbXNnc3RyICJNZXJhdmVsbMOzcy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkwNQorIzogYnVpbHRpbi9tZXJnZS5jOjkzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2UgZmFpbGVkOyBmaXggY29uZmxpY3RzIGFuZCB0aGVuIGNvbW1pdCB0aGUgcmVzdWx0LlxuIgogbXNnc3RyICIiCiAiTGEgZnVzacOzIGF1dG9tw6B0aWNhIGhhIGZhbGxhdDsgYXJyZWdsZXUgZWxzIGNvbmZsaWN0ZXMgaSBkZXNwcsOpcyBjb21ldGV1IGVsICIKICJyZXN1bHRhdC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0NAorIzogYnVpbHRpbi9tZXJnZS5jOjk3NwogbXNnaWQgIk5vIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiTm8gaGkgaGEgY2FwIGJyYW5jYSBhY3R1YWwuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTQ2CisjOiBidWlsdGluL21lcmdlLmM6OTc5CiBtc2dpZCAiTm8gcmVtb3RlIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJObyBoaSBoYSBjYXAgcmVtb3QgcGVyIGEgbGEgYnJhbmNhIGFjdHVhbC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5ODEKIG1zZ2lkICJObyBkZWZhdWx0IHVwc3RyZWFtIGRlZmluZWQgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIk5vIGhpIGhhIGNhcCBmb250IHBlciBkZWZlY3RlIGRlZmluaWRhIHBlciBhIGxhIGJyYW5jYSBhY3R1YWwuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTUzCisjOiBidWlsdGluL21lcmdlLmM6OTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHJlbW90ZS10cmFja2luZyBicmFuY2ggZm9yICVzIGZyb20gJXMiCiBtc2dzdHIgIk5vIGhpIGhhIGNhcCBicmFuY2EgYW1iIHNlZ3VpbWVudCByZW1vdCBwZXIgYSAlcyBkZSAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwMTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCB2YWx1ZSAnJXMnIGluIGVudmlyb25tZW50ICclcyciCiBtc2dzdHIgIlZhbG9yIGluY29ycmVjdGUgwqslc8K7IGVuIGwnZW50b3JuIMKrJXPCuyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExMTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIGluICVzOiAlcyIKIG1zZ3N0ciAibm8gw6lzIHF1ZWxjb20gcXVlIHB1Z3VlbSBmdXNpb25hciBlbiAlczogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ3CisjOiBidWlsdGluL21lcmdlLmM6MTE4MAogbXNnaWQgIm5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICJubyDDqXMgcXVlbGNvbSBxdWUgcHVndWVtIGZ1c2lvbmFyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI1MAorIzogYnVpbHRpbi9tZXJnZS5jOjEyODMKIG1zZ2lkICItLWFib3J0IGV4cGVjdHMgbm8gYXJndW1lbnRzIgogbXNnc3RyICItLWFib3J0IG5vIGFjY2VwdGEgcGFyw6BtZXRyZXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjU0CisjOiBidWlsdGluL21lcmdlLmM6MTI4NwogbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIHRvIGFib3J0IChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKIG1zZ3N0ciAiTm8gaGkgaGEgZnVzacOzIGEgYXZvcnRhciAobWFuY2EgTUVSR0VfSEVBRCkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI2NgorIzogYnVpbHRpbi9tZXJnZS5jOjEyOTYKKyMsIGZ1enp5Cittc2dpZCAiLS1xdWl0IGV4cGVjdHMgbm8gYXJndW1lbnRzIgorbXNnc3RyICItLWFib3J0IG5vIGFjY2VwdGEgcGFyw6BtZXRyZXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzA5CiBtc2dpZCAiLS1jb250aW51ZSBleHBlY3RzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiLS1jb250aW51ZSBubyBhY2NlcHRhIHBhcsOgbWV0cmVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI3MAorIzogYnVpbHRpbi9tZXJnZS5jOjEzMTMKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSBpbiBwcm9ncmVzcyAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgIk5vIGhpIGhhIGNhcCBmdXNpw7MgZW4gY3VycyAobWFuY2EgTUVSR0VfSEVBRCkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI4NgorIzogYnVpbHRpbi9tZXJnZS5jOjEzMjkKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtMTMxNzcsNyArMTU4NTcsNyBAQAogIk5vIGhldSBjb25jbMOycyBsYSB2b3N0cmEgZnVzacOzIChNRVJHRV9IRUFEIGV4aXN0ZWl4KS5cbiIKICJDb21ldGV1IGVscyB2b3N0cmVzIGNhbnZpcyBhYmFucyBkZSBmdXNpb25hci4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjkzCisjOiBidWlsdGluL21lcmdlLmM6MTMzNgogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCkBAIC0xMzE4NSw5NCArMTU4NjUsOTkgQEAKICJObyBoZXUgY29uY2zDsnMgZWwgdm9zdHJlIMKrY2hlcnJ5IHBpY2vCuyAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdGVpeCkuXG4iCiAiQ29tZXRldSBlbHMgdm9zdHJlcyBjYW52aXMgYWJhbnMgZGUgZnVzaW9uYXIuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI5NgorIzogYnVpbHRpbi9tZXJnZS5jOjEzMzkKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIk5vIGhldSBjb25jbMOycyBlbCB2b3N0cmUgwqtjaGVycnkgcGlja8K7IChDSEVSUllfUElDS19IRUFEIGV4aXN0ZWl4KS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzA1CisjOiBidWlsdGluL21lcmdlLmM6MTM1MwogbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tbm8tZmYuIgogbXNnc3RyICJObyBwb2RldSBjb21iaW5hciAtLXNxdWFzaCBhbWIgLS1uby1mZi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzEzCisjOiBidWlsdGluL21lcmdlLmM6MTM1NQorIywgZnV6enkKK21zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLWNvbW1pdC4iCittc2dzdHIgIk5vIHBvZGV1IGNvbWJpbmFyIC0tc3F1YXNoIGFtYiAtLW5vLWZmLiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEzNzEKIG1zZ2lkICJObyBjb21taXQgc3BlY2lmaWVkIGFuZCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBub3Qgc2V0LiIKIG1zZ3N0ciAiIgogIk5vIGhpIGhhIHVuYSBjb21pc3Npw7MgZXNwZWNpZmljYWRhIGkgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm8gZXN0w6AgIgogImVzdGFibGVydC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzMwCisjOiBidWlsdGluL21lcmdlLmM6MTM4OAogbXNnaWQgIlNxdWFzaCBjb21taXQgaW50byBlbXB0eSBoZWFkIG5vdCBzdXBwb3J0ZWQgeWV0IgogbXNnc3RyICJVbmEgY29taXNzacOzIMKrc3F1YXNowrsgYSB1biBIRUFEIGJ1aXQgZW5jYXJhIG5vIGVzIHBlcm1ldCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMzIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzkwCiBtc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCiBtc2dzdHIgIlVuYSBjb21pc3Npw7Mgbm8gZCdhdmFuw6cgcsOgcGlkIG5vIHTDqSBzZW50aXQgYSB1biBIRUFEIGJ1aXQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzM3CisjOiBidWlsdGluL21lcmdlLmM6MTM5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICIlcyAtIG5vIMOpcyB1bmEgY29zYSBxdWUgcHVndWVtIGZ1c2lvbmFyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMzOQorIzogYnVpbHRpbi9tZXJnZS5jOjEzOTcKIG1zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICJFcyBwb3QgZnVzaW9uYXIgbm9tw6lzIHVuYSBjb21pc3Npw7MgYSB1biBIRUFEIGJ1aXQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDIxCisjOiBidWlsdGluL21lcmdlLmM6MTQ3NgogbXNnaWQgInJlZnVzaW5nIHRvIG1lcmdlIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgInMnZXN0w6AgcmVmdXNhbnQgZnVzaW9uYXIgaGlzdMOycmllcyBubyByZWxhY2lvbmFkZXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDMwCisjOiBidWlsdGluL21lcmdlLmM6MTQ4NQogbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgIkphIGVzdMOgIGFsIGRpYS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDQwCisjOiBidWlsdGluL21lcmdlLmM6MTQ5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGluZyAlcy4uJXNcbiIKIG1zZ3N0ciAiUydlc3RhbiBhY3R1YWxpdHphbnQgJXMuLiVzXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDgyCisjOiBidWlsdGluL21lcmdlLmM6MTUzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgcmVhbGx5IHRyaXZpYWwgaW4taW5kZXggbWVyZ2UuLi5cbiIKIG1zZ3N0ciAiUydlc3TDoCBpbnRlbnRhbnQgdW5hIGZ1c2nDsyBtb2x0IHRyaXZpYWwgZW4gbCfDrW5kZXguLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0ODkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vcGUuXG4iCiBtc2dzdHIgIk5vLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUxNAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NjkKIG1zZ2lkICJBbHJlYWR5IHVwIHRvIGRhdGUuIFllZWFoISIKIG1zZ3N0ciAiSmEgZXN0w6AgYWwgZGlhLiBFc3R1cGVuZCEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTIwCisjOiBidWlsdGluL21lcmdlLmM6MTU3NQogbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKIG1zZ3N0ciAiTm8gw6lzIHBvc3NpYmxlIGF2YW7Dp2FyIHLDoHBpZGFtZW50LCBzJ2VzdMOgIGF2b3J0YW50LiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NDMgYnVpbHRpbi9tZXJnZS5jOjE2MjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTk4IGJ1aWx0aW4vbWVyZ2UuYzoxNjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJld2luZGluZyB0aGUgdHJlZSB0byBwcmlzdGluZS4uLlxuIgogbXNnc3RyICJTJ2VzdMOgIHJlYm9iaW5hbnQgbCdhcmJyZSBhIGxhIHByaXN0aW5hLi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQ3CisjOiBidWlsdGluL21lcmdlLmM6MTYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgbWVyZ2Ugc3RyYXRlZ3kgJXMuLi5cbiIKIG1zZ3N0ciAiUydlc3TDoCBpbnRlbnRhbnQgbCdlc3RyYXTDqGdpYSBkZSBmdXNpw7MgJXMuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIHN0cmF0ZWd5IGhhbmRsZWQgdGhlIG1lcmdlLlxuIgogbXNnc3RyICJDYXAgZXN0cmF0w6hnaWEgZGUgZnVzacOzIGhhIGdlc3Rpb25hdCBsYSBmdXNpw7MuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjE1CisjOiBidWlsdGluL21lcmdlLmM6MTY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJNZXJnZSB3aXRoIHN0cmF0ZWd5ICVzIGZhaWxlZC5cbiIKIG1zZ3N0ciAiTCdlc3RyYXTDqGdpYSBkZSBmdXNpw7MgJXMgaGEgZmFsbGF0LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYyNAorIzogYnVpbHRpbi9tZXJnZS5jOjE2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNpbmcgdGhlICVzIHRvIHByZXBhcmUgcmVzb2x2aW5nIGJ5IGhhbmQuXG4iCiBtc2dzdHIgIlMnZXN0w6AgdXNhbnQgZWwgJXMgcGVyIGEgcHJlcGFyYXIgbGEgcmVzb2x1Y2nDsyBhIG3DoC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSB3ZW50IHdlbGw7IHN0b3BwZWQgYmVmb3JlIGNvbW1pdHRpbmcgYXMgcmVxdWVzdGVkXG4iCiBtc2dzdHIgIiIKQEAgLTEzMzYwLDMzICsxNjA0NSwzMyBAQAogbXNnaWQgInNldCBsYWJlbHMgZm9yIGZpbGUxL29yaWctZmlsZS9maWxlMiIKIG1zZ3N0ciAiZXN0YWJsZWl4IGxlcyBldGlxdWV0ZXMgcGVyIGEgZml0eGVyMS9maXR4ZXItb3JpZ2luYWwvZml0eGVyMiIKIAotIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo0NQorIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9wdGlvbiAlcyIKIG1zZ3N0ciAib3BjacOzIGRlc2NvbmVndWRhICVzIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjUxCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgbCdvYmplY3RlIMKrJXPCuyIKIAotIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1NQorIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCBiYXNlLiBJZ25vcmluZyAlcy4iCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2VzLiBJZ25vcmluZyAlcy4iCiBtc2dzdHJbMF0gIm5vIGVzIHBvdCBnZXN0aW9uYXIgbcOpcyBkJyVkIGJhc2UuIFMnZXN0w6AgaWdub3JhbnQgJXMuIgogbXNnc3RyWzFdICJubyBlcyBwb2RlbiBnZXN0aW9uYXIgbcOpcyBkZSAlZCBiYXNlcy4gUydlc3TDoCBpZ25vcmFudCAlcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjMKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjUKIG1zZ2lkICJub3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgogbXNnc3RyICJubyBzJ2VzdMOgIGdlc3Rpb25hbnQgcmVzIGEgcGFydCBkZSBsYSBmdXNpw7MgZGUgZG9zIGNhcHMuIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjY5IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzEKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzQgYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSByZWYgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCByZXNvbGRyZSBsYSByZWZlcsOobmNpYSDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzcKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2luZyAlcyB3aXRoICVzXG4iCiBtc2dzdHIgIlMnZXN0w6AgZnVzaW9uYW50ICVzIGFtYiAlc1xuIgpAQCAtMTMzOTksNyArMTYwODQsNyBAQAogbXNnaWQgImlucHV0IGlzIE5VTCB0ZXJtaW5hdGVkIgogbXNnc3RyICJsJ2VudHJhZGEgw6lzIGFjYWJhZGEgYW1iIE5VTCIKIAotIzogYnVpbHRpbi9ta3RyZWUuYzoxNTUgYnVpbHRpbi93cml0ZS10cmVlLmM6MjUKKyM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU1IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI2CiBtc2dpZCAiYWxsb3cgbWlzc2luZyBvYmplY3RzIgogbXNnc3RyICJwZXJtZXQgZWxzIG9iamVjdGVzIGFic2VudHMiCiAKQEAgLTEzNDA3LDE1OCArMTYwOTIsMTcwIEBACiBtc2dpZCAiYWxsb3cgY3JlYXRpb24gb2YgbW9yZSB0aGFuIG9uZSB0cmVlIgogbXNnc3RyICJwZXJtZXQgbGEgY3JlYWNpw7MgZGUgbcOpcyBkJ3VuIGFyYnJlIgogCi0jOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo4Ci1tc2dpZCAiZ2l0IG11bHRpLXBhY2staW5kZXggWy0tb2JqZWN0LWRpcj08ZGlyPl0gKHdyaXRlfHZlcmlmeSkiCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo5Cittc2dpZCAiIgorImdpdCBtdWx0aS1wYWNrLWluZGV4IFs8b3B0aW9ucz5dICh3cml0ZXx2ZXJpZnl8ZXhwaXJlfHJlcGFjayAtLWJhdGNoLSIKKyJzaXplPTxzaXplPikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MjEKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjI2CiBtc2dpZCAib2JqZWN0IGRpcmVjdG9yeSBjb250YWluaW5nIHNldCBvZiBwYWNrZmlsZSBhbmQgcGFjay1pbmRleCBwYWlycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzozOQorIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MjkKK21zZ2lkICIiCisiZHVyaW5nIHJlcGFjaywgY29sbGVjdCBwYWNrLWZpbGVzIG9mIHNtYWxsZXIgc2l6ZSBpbnRvIGEgYmF0Y2ggdGhhdCBpcyAiCisibGFyZ2VyIHRoYW4gdGhpcyBzaXplIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjUwIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NjcKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgImhpIGhhIG1hc3NhIHBhcsOgbWV0cmVzIgogCi0jOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgdmVyYjogJXMiCi1tc2dzdHIgInBhcsOgbWV0cmUgbm8gcmVjb25lZ3V0OiAlcyIKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjYwCittc2dpZCAiLS1iYXRjaC1zaXplIG9wdGlvbiBpcyBvbmx5IGZvciAncmVwYWNrJyBzdWJjb21tYW5kIgorbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNworIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdWJjb21tYW5kOiAlcyIKK21zZ3N0ciAic3Vib3JkcmUgZGVzY29uZWd1ZGE6ICVzIgorCisjOiBidWlsdGluL212LmM6MTgKIG1zZ2lkICJnaXQgbXYgWzxvcHRpb25zPl0gPHNvdXJjZT4uLi4gPGRlc3RpbmF0aW9uPiIKIG1zZ3N0ciAiZ2l0IG12IFs8b3BjaW9ucz5dIDxmb250Pi4uLiA8ZGVzdMOtPiIKIAotIzogYnVpbHRpbi9tdi5jOjgyCisjOiBidWlsdGluL212LmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGlyZWN0b3J5ICVzIGlzIGluIGluZGV4IGFuZCBubyBzdWJtb2R1bGU/IgogbXNnc3RyICJFbCBkaXJlY3RvcmkgJXMgw6lzIGVuIGwnw61uZGV4IGkgbm8gaGkgaGEgY2FwIHN1Ym3DsmR1bD8iCiAKLSM6IGJ1aWx0aW4vbXYuYzo4NAorIzogYnVpbHRpbi9tdi5jOjg1CiBtc2dpZCAiUGxlYXNlIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCiBtc2dzdHIgIiIKICJGZXUgwqtzdGFnZcK7IGRlbHMgdm9zdHJlcyBjYW52aXMgYSAuZ2l0bW9kdWxlcyBvIGZldSDCq3N0YXNowrsgZGVscyBtYXRlaXhvcyAiCiAicGVyIGEgcHJvY2VkaXIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMDIKKyM6IGJ1aWx0aW4vbXYuYzoxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJS4qcyBpcyBpbiBpbmRleCIKIG1zZ3N0ciAiJS4qcyDDqXMgZW4gbCfDrW5kZXgiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMjQKKyM6IGJ1aWx0aW4vbXYuYzoxMjUKIG1zZ2lkICJmb3JjZSBtb3ZlL3JlbmFtZSBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgImZvcsOnYSBlbCBtb3ZpbWVudCAvIGNhbnZpIGRlIG5vbSBlbmNhcmEgcXVlIGVsIGRlc3TDrSBleGlzdGVpeGkiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMjYKKyM6IGJ1aWx0aW4vbXYuYzoxMjcKIG1zZ2lkICJza2lwIG1vdmUvcmVuYW1lIGVycm9ycyIKIG1zZ3N0ciAib21ldCBlbHMgZXJyb3JzIGRlIG1vdmltZW50IC8gY2FudmkgZGUgbm9tIgogCi0jOiBidWlsdGluL212LmM6MTY4CisjOiBidWlsdGluL212LmM6MTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uICclcycgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICJlbCBkZXN0w60gwqslc8K7IG5vIMOpcyB1biBkaXJlY3RvcmkiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzkKKyM6IGJ1aWx0aW4vbXYuYzoxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICJTJ2VzdMOgIGNvbXByb3ZhbnQgZWwgY2FudmkgZGUgbm9tIGRlIMKrJXPCuyBhIMKrJXPCu1xuIgogCi0jOiBidWlsdGluL212LmM6MTgzCisjOiBidWlsdGluL212LmM6MTg0CiBtc2dpZCAiYmFkIHNvdXJjZSIKIG1zZ3N0ciAiZm9udCBpbmNvcnJlY3RhIgogCi0jOiBidWlsdGluL212LmM6MTg2CisjOiBidWlsdGluL212LmM6MTg3CiBtc2dpZCAiY2FuIG5vdCBtb3ZlIGRpcmVjdG9yeSBpbnRvIGl0c2VsZiIKIG1zZ3N0ciAibm8gZXMgcG90IG1vdXJlIHVuIGRpcmVjdG9yaSBhIGRpbnMgZCdlbGwgbWF0ZWl4IgogCi0jOiBidWlsdGluL212LmM6MTg5CisjOiBidWlsdGluL212LmM6MTkwCiBtc2dpZCAiY2Fubm90IG1vdmUgZGlyZWN0b3J5IG92ZXIgZmlsZSIKIG1zZ3N0ciAibm8gZXMgcG90IG1vdXJlIHVuIGRpcmVjdG9yaSBzb2JyZSB1biBmaXR4ZXIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxOTgKKyM6IGJ1aWx0aW4vbXYuYzoxOTkKIG1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgogbXNnc3RyICJlbCBkaXJlY3RvcmkgZm9udCBlc3TDoCBidWl0IgogCi0jOiBidWlsdGluL212LmM6MjIzCisjOiBidWlsdGluL212LmM6MjI0CiBtc2dpZCAibm90IHVuZGVyIHZlcnNpb24gY29udHJvbCIKIG1zZ3N0ciAibm8gZXN0w6Agc290YSBjb250cm9sIGRlIHZlcnNpb25zIgogCi0jOiBidWlsdGluL212LmM6MjI2CisjOiBidWlsdGluL212LmM6MjI3CiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICJlbCBkZXN0w60gZXhpc3RlaXgiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMzQKKyM6IGJ1aWx0aW4vbXYuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAib3ZlcndyaXRpbmcgJyVzJyIKIG1zZ3N0ciAicydlc3TDoCBzb2JyZWVzY3JpdmludCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMzcKKyM6IGJ1aWx0aW4vbXYuYzoyMzgKIG1zZ2lkICJDYW5ub3Qgb3ZlcndyaXRlIgogbXNnc3RyICJObyBlcyBwb3Qgc29icmVlc2NyaXVyZSIKIAotIzogYnVpbHRpbi9tdi5jOjI0MAorIzogYnVpbHRpbi9tdi5jOjI0MQogbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKIG1zZ3N0ciAibcO6bHRpcGxlcyBmb250cyBwZXIgYWwgbWF0ZWl4IGRlc3TDrSIKIAotIzogYnVpbHRpbi9tdi5jOjI0MgorIzogYnVpbHRpbi9tdi5jOjI0MwogbXNnaWQgImRlc3RpbmF0aW9uIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiZWwgZGlyZWN0b3JpIGRlc3TDrSBubyBleGlzdGVpeCIKIAotIzogYnVpbHRpbi9tdi5jOjI0OQorIzogYnVpbHRpbi9tdi5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKIG1zZ3N0ciAiJXMsIG9yaWdlbj0lcywgZGVzdMOtPSVzIgogCi0jOiBidWlsdGluL212LmM6MjcwCisjOiBidWlsdGluL212LmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzXG4iCiBtc2dzdHIgIlMnZXN0w6AgY2FudmlhbnQgZWwgbm9tIGRlICVzIGEgJXNcbiIKIAotIzogYnVpbHRpbi9tdi5jOjI3NiBidWlsdGluL3JlbW90ZS5jOjcxNyBidWlsdGluL3JlcGFjay5jOjUxMQorIzogYnVpbHRpbi9tdi5jOjI3NyBidWlsdGluL3JlbW90ZS5jOjcxNiBidWlsdGluL3JlcGFjay5jOjUxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW5hbWluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiZWwgY2FudmkgZGVsIG5vbSBkZSDCqyVzwrsgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzU1CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDAzCiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxvcGNpb25zPl0gPGNvbWlzc2nDsz4uLi4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozNTYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDQKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gLS1hbGwiCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPG9wY2lvbnM+XSAtLWFsbCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjM1NworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwNQogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLXN0ZGluIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxvcGNpb25zPl0gLS1zdGRpbiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxMworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2MgogbXNnaWQgInByaW50IG9ubHkgbmFtZXMgKG5vIFNIQS0xKSIKIG1zZ3N0ciAiaW1wcmltZWl4IG5vbcOpcyBlbHMgbm9tcyAoc2Vuc2UgU0hBLTEpIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDE0CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDYzCiBtc2dpZCAib25seSB1c2UgdGFncyB0byBuYW1lIHRoZSBjb21taXRzIgogbXNnc3RyICJub23DqXMgdXNhIGxlcyBldGlxdWV0ZXMgcGVyIGEgYW5vbWVuYXIgbGVzIGNvbWlzc2lvbnMiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjUKIG1zZ2lkICJvbmx5IHVzZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAibm9tw6lzIHVzYSBsZXMgcmVmZXLDqG5jaWVzIHF1ZSBjb2luY2lkZWl4aW4gYW1iIDxwYXRyw7M+IgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDE4CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDY3CiBtc2dpZCAiaWdub3JlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJpZ25vcmEgbGVzIHJlZmVyw6huY2llcyBxdWUgY29pbmNpZGVpeGluIGFtYiA8cGF0csOzPiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQyMAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2OQogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgImxsaXN0YSB0b3RlcyBsZXMgY29taXNzaW9ucyBhYmFzdGFibGVzIGRlIHRvdGVzIGxlcyByZWZlcsOobmNpZXMiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjEKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzAKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgImxsZWdlaXggZGUgc3RkaW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjIKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzEKIG1zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyAoZGVmYXVsdCkiCiBtc2dzdHIgInBlcm1ldCBpbXByaW1pciBlbHMgbm9tcyBgdW5kZWZpbmVkYCAocGVyIGRlZmVjdGUpIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDI4CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDc3CiBtc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbiB0aGUgaW5wdXQgKGludGVybmFsIHVzZSkiCiBtc2dzdHIgImRlc3JlZmVyZW5jaWEgbGVzIGV0aXF1ZXRlcyBlbiBsJ2VudHJhZGEgKMO6cyBpbnRlcm4pIgogCkBAIC0xMzcwNywxNCArMTY0MDQsMTQgQEAKIG1zZ2lkICJ0aGUgbm90ZSBjb250ZW50cyBoYXZlIGJlZW4gbGVmdCBpbiAlcyIKIG1zZ3N0ciAicydoYW4gZGVpeGF0IGVscyBjb250aW5ndXRzIGRlIGxhIG5vdGEgZW4gJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNDIgYnVpbHRpbi90YWcuYzo1MTMKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNDIgYnVpbHRpbi90YWcuYzo1MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gb3IgcmVhZCAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyIG8gbGxlZ2lyIMKrJXPCuyIKIAogIzogYnVpbHRpbi9ub3Rlcy5jOjI2MyBidWlsdGluL25vdGVzLmM6MzEzIGJ1aWx0aW4vbm90ZXMuYzozMTUKLSM6IGJ1aWx0aW4vbm90ZXMuYzozODMgYnVpbHRpbi9ub3Rlcy5jOjQzOCBidWlsdGluL25vdGVzLmM6NTI0Ci0jOiBidWlsdGluL25vdGVzLmM6NTI5IGJ1aWx0aW4vbm90ZXMuYzo2MDcgYnVpbHRpbi9ub3Rlcy5jOjY2OQorIzogYnVpbHRpbi9ub3Rlcy5jOjM4MyBidWlsdGluL25vdGVzLmM6NDM4IGJ1aWx0aW4vbm90ZXMuYzo1MjYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzEgYnVpbHRpbi9ub3Rlcy5jOjYxMCBidWlsdGluL25vdGVzLmM6NjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHJlc29sZHJlIMKrJXPCuyBjb20gYSByZWZlcsOobmNpYSB2w6BsaWRhLiIKQEAgLTEzNzQ3LDM4ICsxNjQ0NCwzOCBAQAogbXNnaWQgInJlZnVzaW5nIHRvICVzIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKIG1zZ3N0ciAicydlc3TDoCByZWZ1c2FudCAlcyBsZXMgbm90ZXMgZW4gJXMgKGZvcmEgZGUgcmVmcy9ub3Rlcy8pIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzc2IGJ1aWx0aW4vbm90ZXMuYzo0MzEgYnVpbHRpbi9ub3Rlcy5jOjUwNwotIzogYnVpbHRpbi9ub3Rlcy5jOjUxOSBidWlsdGluL25vdGVzLmM6NTk1IGJ1aWx0aW4vbm90ZXMuYzo2NjIKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MTIgYnVpbHRpbi9ub3Rlcy5jOjk1OSBidWlsdGluL25vdGVzLmM6OTgwCisjOiBidWlsdGluL25vdGVzLmM6Mzc2IGJ1aWx0aW4vbm90ZXMuYzo0MzEgYnVpbHRpbi9ub3Rlcy5jOjUwOQorIzogYnVpbHRpbi9ub3Rlcy5jOjUyMSBidWlsdGluL25vdGVzLmM6NTk4IGJ1aWx0aW4vbm90ZXMuYzo2NjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MTUgYnVpbHRpbi9ub3Rlcy5jOjk2MyBidWlsdGluL25vdGVzLmM6OTg1CiBtc2dpZCAidG9vIG1hbnkgcGFyYW1ldGVycyIKIG1zZ3N0ciAibWFzc2EgcGFyw6BtZXRyZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozODkgYnVpbHRpbi9ub3Rlcy5jOjY3NQorIzogYnVpbHRpbi9ub3Rlcy5jOjM4OSBidWlsdGluL25vdGVzLmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCiBtc2dzdHIgIm5vIHMnaGEgdHJvYmF0IGNhcCBub3RhIHBlciBhIGwnb2JqZWN0ZSAlcy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTAgYnVpbHRpbi9ub3Rlcy5jOjU3MworIzogYnVpbHRpbi9ub3Rlcy5jOjQxMCBidWlsdGluL25vdGVzLmM6NTc2CiBtc2dpZCAibm90ZSBjb250ZW50cyBhcyBhIHN0cmluZyIKIG1zZ3N0ciAiYW5vdGEgZWxzIGNvbnRpbmd1dHMgY29tIGEgY2FkZW5hIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDEzIGJ1aWx0aW4vbm90ZXMuYzo1NzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTMgYnVpbHRpbi9ub3Rlcy5jOjU3OQogbXNnaWQgIm5vdGUgY29udGVudHMgaW4gYSBmaWxlIgogbXNnc3RyICJhbm90YSBlbHMgY29udGluZ3V0cyBlbiB1biBmaXR4ZXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTYgYnVpbHRpbi9ub3Rlcy5jOjU3OQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxNiBidWlsdGluL25vdGVzLmM6NTgyCiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICJyZXVzYSBpIGVkaXRhIGwnb2JqZWN0ZSBkZSBub3RhIGVzcGVjaWZpY2F0IgogCi0jOiBidWlsdGluL25vdGVzLmM6NDE5IGJ1aWx0aW4vbm90ZXMuYzo1ODIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTkgYnVpbHRpbi9ub3Rlcy5jOjU4NQogbXNnaWQgInJldXNlIHNwZWNpZmllZCBub3RlIG9iamVjdCIKIG1zZ3N0ciAicmV1c2EgbCdvYmplY3RlIGRlIG5vdGEgZXNwZWNpZmljYXQiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MjIgYnVpbHRpbi9ub3Rlcy5jOjU4NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQyMiBidWlsdGluL25vdGVzLmM6NTg4CiBtc2dpZCAiYWxsb3cgc3RvcmluZyBlbXB0eSBub3RlIgogbXNnc3RyICJwZXJtZXQgbCdlbW1hZ2F0emVtYXRnZSBkJ3VuYSBub3RhIGJ1aWRhIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDIzIGJ1aWx0aW4vbm90ZXMuYzo0OTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MjMgYnVpbHRpbi9ub3Rlcy5jOjQ5NgogbXNnaWQgInJlcGxhY2UgZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgInJlZW1wbGHDp2EgbGVzIG5vdGVzIGV4aXN0ZW50cyIKIApAQCAtMTM3ODksMzIgKzE2NDg2LDMyIEBACiAiZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgIiIKICJObyBlcyBwb2RlbiBhZmVnaXIgbGVzIG5vdGVzLiBTJ2hhbiB0cm9iYXQgbm90ZXMgZXhpc3RlbnRzIGRlIGwnb2JqZWN0ZSAlcy4gIgotIlVzZXUgJy1mJyBwZXIgYSBzb2JyZWVzY3JpdXJlIGxlcyBub3RlcyBleGlzdGVudHMuIgorIlVzZXUgJy1mJyBwZXIgYSBzb2JyZWVzY3JpdXJlIGxlcyBub3RlcyBleGlzdGVudHMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NjMgYnVpbHRpbi9ub3Rlcy5jOjU0MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQ2MyBidWlsdGluL25vdGVzLmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk92ZXJ3cml0aW5nIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAiUydlc3RhbiBzb2JyZWVzY3JpdmludCBsZXMgbm90ZXMgZXhpc3RlbnRzIGRlIGwnb2JqZWN0ZSAlc1xuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDc0IGJ1aWx0aW4vbm90ZXMuYzo2MzQgYnVpbHRpbi9ub3Rlcy5jOjg5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ3NSBidWlsdGluL25vdGVzLmM6NjM3IGJ1aWx0aW4vbm90ZXMuYzo5MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgbm90ZSBmb3Igb2JqZWN0ICVzXG4iCiBtc2dzdHIgIlMnZXN0w6AgZWxpbWluYW50IGxhIG5vdGEgZGUgbCdvYmplY3RlICVzXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0OTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0OTcKIG1zZ2lkICJyZWFkIG9iamVjdHMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAibGxlZ2VpeCBlbHMgb2JqZWN0ZXMgZGVzIGRlIHN0ZGluIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDk3CisjOiBidWlsdGluL25vdGVzLmM6NDk5CiBtc2dpZCAibG9hZCByZXdyaXRpbmcgY29uZmlnIGZvciA8Y29tbWFuZD4gKGltcGxpZXMgLS1zdGRpbikiCiBtc2dzdHIgIiIKICJjYXJyZWdhIGxhIGNvbmZpZ3VyYWNpw7MgZGUgcmVlc2NyaXB0dXJhIHBlciBhIDxvcmRyZT4gKGltcGxpY2EgLS1zdGRpbikiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MTcKIG1zZ2lkICJ0b28gZmV3IHBhcmFtZXRlcnMiCiBtc2dzdHIgImhpIGhhIG1hc3NhIHBvY3MgcGFyw6BtZXRyZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgpAQCAtMTM4MjMsMTIgKzE2NTIwLDEyIEBACiAiTm8gZXMgcG9kZW4gY29waWFyIGxlcyBub3Rlcy4gUydoYW4gdHJvYmF0IG5vdGVzIGV4aXN0ZW50cyBkZSBsJ29iamVjdGUgJXMuICIKICJVc2V1ICctZicgcGVyIGEgc29icmVlc2NyaXVyZSBsZXMgbm90ZXMgZXhpc3RlbnRzLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjU0OAorIzogYnVpbHRpbi9ub3Rlcy5jOjU1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKIG1zZ3N0ciAibWFucXVlbiBub3RlcyBhIGwnb2JqZWN0ZSBmb250ICVzLiBObyBlcyBwb3QgY29waWFyLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjYwMAorIzogYnVpbHRpbi9ub3Rlcy5jOjYwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC1tLy1GLy1jLy1DIG9wdGlvbnMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZSAnZWRpdCcgc3ViY29tbWFuZC5cbiIKQEAgLTEzODM3LDUzICsxNjUzNCw1MyBAQAogIkVzIGRlc2Fjb25zZWxsZW4gbGVzIG9wY2lvbnMgLW0vLUYvLWMvLUMgZW4gZmF2b3IgZGUgbGEgc3Vib3JkcmUgJ2VkaXQnLlxuIgogIlVzZXUgwqtnaXQgbm90ZXMgYWRkIC1mIC1tLy1GLy1jLy1DwrsgZW4gbGxvYyBkJ2FpeMOyLlxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njk1CisjOiBidWlsdGluL25vdGVzLmM6Njk4CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBzdXByaW1pciBsYSByZWZlcsOobmNpYSBOT1RFU19NRVJHRV9QQVJUSUFMIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njk3CisjOiBidWlsdGluL25vdGVzLmM6NzAwCiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUkVGIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHN1cHJpbWlyIGxhIHJlZmVyw6huY2lhIE5PVEVTX01FUkdFX1JFRiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjcwMgogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJ2dpdCBub3RlcyBtZXJnZScgd29ya3RyZWUiCiBtc2dzdHIgIiIKICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGVsaW1pbmFyIGwnYXJicmUgZGUgdHJlYmFsbCBkZSAnZ2l0IG5vdGVzIG1lcmdlJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxOQorIzogYnVpbHRpbi9ub3Rlcy5jOjcyMgogbXNnaWQgImZhaWxlZCB0byByZWFkIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGxsZWdpciBsYSByZWZlcsOobmNpYSBOT1RFU19NRVJHRV9QQVJUSUFMIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzIxCisjOiBidWlsdGluL25vdGVzLmM6NzI0CiBtc2dpZCAiY291bGQgbm90IGZpbmQgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgdHJvYmFyIGNhcCBjb21pc3Npw7MgZGUgTk9URVNfTUVSR0VfUEFSVElBTC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjYKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGxhIGNvbWlzc2nDsyBkZSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjczNgorIzogYnVpbHRpbi9ub3Rlcy5jOjczOQogbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIE5PVEVTX01FUkdFX1JFRiIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiByZXNvbGRyZSBOT1RFU19NRVJHRV9SRUYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NDIKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZmluYWxpdHphciBsYSBmdXNpw7MgZGUgbm90ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBub3RlcyBtZXJnZSBzdHJhdGVneSAlcyIKIG1zZ3N0ciAiZXN0cmF0w6hnaWEgZGUgZnVzacOzIGRlIG5vdGVzIGRlc2NvbmVndWRhICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgxCisjOiBidWlsdGluL25vdGVzLmM6Nzg0CiBtc2dpZCAiR2VuZXJhbCBvcHRpb25zIgogbXNnc3RyICJPcGNpb25zIGdlbmVyYWxzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgzCisjOiBidWlsdGluL25vdGVzLmM6Nzg2CiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiT3BjaW9ucyBkZSBmdXNpw7MiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODgKIG1zZ2lkICIiCiAicmVzb2x2ZSBub3RlcyBjb25mbGljdHMgdXNpbmcgdGhlIGdpdmVuIHN0cmF0ZWd5IChtYW51YWwvb3Vycy90aGVpcnMvdW5pb24vIgogImNhdF9zb3J0X3VuaXEpIgpAQCAtMTM4OTEsNDggKzE2NTg4LDQ4IEBACiAicmVzb2wgZWxzIGNvbmZsaWN0ZXMgZGUgbm90YSB1c2FudCBsJ2VzdHJhdMOoZ2lhIGRvbmFkYSAobWFudWFsL291cnMvdGhlaXJzLyIKICJ1bmlvbi9jYXRfc29ydF91bmlxKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4NworIzogYnVpbHRpbi9ub3Rlcy5jOjc5MAogbXNnaWQgIkNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCiBtc2dzdHIgIlMnZXN0YW4gY29tZXRlbnQgbGVzIG5vdGVzIHNlbnNlIGZ1c2lvbmFyIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzg5CisjOiBidWlsdGluL25vdGVzLmM6NzkyCiBtc2dpZCAiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAiZmluYWxpdHphIGxhIGZ1c2nDsyBkZSBub3RlcyBjb21ldGVudCBsZXMgbm90ZXMgc2Vuc2UgZnVzaW9uYXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3OTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTQKIG1zZ2lkICJBYm9ydGluZyBub3RlcyBtZXJnZSByZXNvbHV0aW9uIgogbXNnc3RyICJTJ2VzdMOgIGF2b3J0YW50IGxhIHJlc29sdWNpw7MgZGUgZnVzacOzIGRlIG5vdGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzkzCisjOiBidWlsdGluL25vdGVzLmM6Nzk2CiBtc2dpZCAiYWJvcnQgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgImF2b3J0YSBsYSBmdXNpw7MgZGUgbm90ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDcKIG1zZ2lkICJjYW5ub3QgbWl4IC0tY29tbWl0LCAtLWFib3J0IG9yIC1zLy0tc3RyYXRlZ3kiCiBtc2dzdHIgIm5vIGVzIHBvdCBjb21iaW5hciAtLWNvbW1pdCwgLS1hYm9ydCBpIC1zLy0tc3RyYXRlZ3kiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MTIKIG1zZ2lkICJtdXN0IHNwZWNpZnkgYSBub3RlcyByZWYgdG8gbWVyZ2UiCiBtc2dzdHIgImNhbCBlc3BlY2lmaWNhciB1bmEgcmVmZXLDqG5jaWEgZGUgbm90ZXMgYSBmdXNpb25hciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjgzMworIzogYnVpbHRpbi9ub3Rlcy5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIC1zLy0tc3RyYXRlZ3k6ICVzIgogbXNnc3RyICItcy8tLXN0cmF0ZWd5IGRlc2NvbmVndWRhOiAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg3MAorIzogYnVpbHRpbi9ub3Rlcy5jOjg3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhIG5vdGVzIG1lcmdlIGludG8gJXMgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCAlcyIKIG1zZ3N0ciAidW5hIGZ1c2nDsyBkZSBub3RlcyBhICVzIGphIGVzdMOgIGVuIGN1cnMgYSAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg3MworIzogYnVpbHRpbi9ub3Rlcy5jOjg3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RvcmUgbGluayB0byBjdXJyZW50IG5vdGVzIHJlZiAoJXMpIgogbXNnc3RyICIiCiAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlbW1hZ2F0emVtYXIgbCdlbmxsYcOnIGEgbGEgcmVmZXLDqG5jaWEgZGUgbm90ZXMgIgogImFjdHVhbCAoJXMpIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODc1CisjOiBidWlsdGluL25vdGVzLmM6ODc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBdXRvbWF0aWMgbm90ZXMgbWVyZ2UgZmFpbGVkLiBGaXggY29uZmxpY3RzIGluICVzIGFuZCBjb21taXQgdGhlIHJlc3VsdCB3aXRoICIKQEAgLTEzOTQzLDM4NCArMTY2NDAsMzgyIEBACiAiY29tZXRldSBlbCByZXN1bHRhdCBhbWIgJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcsIG8gYXZvcnRldSBsYSBmdXNpw7MgYW1iICIKICInZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQnLlxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODk3CisjOiBidWlsdGluL25vdGVzLmM6ODk3IGJ1aWx0aW4vdGFnLmM6NTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgorbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHJlc29sZHJlIMKrJXPCuyBjb20gYSByZWZlcsOobmNpYSB2w6BsaWRhLiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjkwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJPYmplY3QgJXMgaGFzIG5vIG5vdGVcbiIKIG1zZ3N0ciAiTCdvYmplY3RlICVzIG5vIHTDqSBjYXAgbm90YVxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTA5CisjOiBidWlsdGluL25vdGVzLmM6OTEyCiBtc2dpZCAiYXR0ZW1wdCB0byByZW1vdmUgbm9uLWV4aXN0ZW50IG5vdGUgaXMgbm90IGFuIGVycm9yIgogbXNnc3RyICJsJ2ludGVudCBkJ2VsaW1pbmFyIHVuYSBub3RhIG5vIGV4aXN0ZW50IG5vIMOpcyB1biBlcnJvciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjkxMgorIzogYnVpbHRpbi9ub3Rlcy5jOjkxNQogbXNnaWQgInJlYWQgb2JqZWN0IG5hbWVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJsbGVnZWl4IGVscyBub21zIGQnb2JqZWN0ZSBkZXMgZGUgbCdlbnRyYWRhIGVzdMOgbmRhcmQiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NTAgYnVpbHRpbi9wcnVuZS5jOjEwOCBidWlsdGluL3dvcmt0cmVlLmM6MTY0CisjOiBidWlsdGluL25vdGVzLmM6OTU0IGJ1aWx0aW4vcHJ1bmUuYzoxMzAgYnVpbHRpbi93b3JrdHJlZS5jOjE2NAogbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKIG1zZ3N0ciAibm8gZWxpbWluaXMsIG5vbcOpcyBtb3N0cmEiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NTUKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIG5vdGVzIgogbXNnc3RyICJpbmZvcm1hIGRlIG5vdGVzIHBvZGFkZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5OTMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5OTgKIG1zZ2lkICJub3Rlcy1yZWYiCiBtc2dzdHIgInJlZmVyw6huY2lhIGRlIG5vdGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTk0CisjOiBidWlsdGluL25vdGVzLmM6OTk5CiBtc2dpZCAidXNlIG5vdGVzIGZyb20gPG5vdGVzLXJlZj4iCiBtc2dzdHIgInVzYSBsZXMgbm90ZXMgZGUgPHJlZmVyw6huY2lhLWRlLW5vdGVzPiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjEwMjkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxMDM0IGJ1aWx0aW4vc3Rhc2guYzoxNjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gc3ViY29tbWFuZDogJXMiCiBtc2dzdHIgInN1Ym9yZHJlIGRlc2NvbmVndWRhOiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1MgogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8b3B0aW9ucz4uLi5dIFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICIiCiAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPG9wY2lvbnM+Li4uXSBbPCA8bGxpc3RhLWRlLXJlZmVyw6huY2llcz4gfCA8ICIKICI8bGxpc3RhLWRlLW9iamVjdGVzPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTMKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBbPG9wdGlvbnM+Li4uXSA8YmFzZS1uYW1lPiBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiIgogImdpdCBwYWNrLW9iamVjdHMgWzxvcGNpb25zPi4uLl0gPG5vbS1iYXNlPiBbPCA8bGxpc3RhLWRlLXJlZmVyw6huY2llcz4gfCA8ICIKICI8bGxpc3RhLWRlLW9iamVjdGVzPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDIyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjQyOAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2tlZCBvYmplY3QgQ1JDIGZvciAlcyIKIG1zZ3N0ciAiaWdub3JhIGVscyBvYmplY3RlcyBlbXBhcXVldGF0cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0MzMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDM5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IHBhY2tlZCBvYmplY3QgZm9yICVzIgogbXNnc3RyICJpZ25vcmEgZWxzIG9iamVjdGVzIGVtcGFxdWV0YXRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjU2NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1NzAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInJlY3Vyc2l2ZSBkZWx0YSBkZXRlY3RlZCBmb3Igb2JqZWN0ICVzIgogbXNnc3RyICJubyBzJ2hhIHJlYnV0IGwnb2JqZWN0ZSBlc3BlcmF0ICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc3NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAib3JkZXJlZCAldSBvYmplY3RzLCBleHBlY3RlZCAlPFBSSXUzMj4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3ODgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzk0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBpcyBpbnZhbGlkOiAlcyIKIG1zZ3N0ciAiJXMgbm8gdsOgbGlkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc5MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIHBhY2tmaWxlIGZvciByZXVzZTogJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgbyBsbGVnaXIgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzk2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgwMgogIywgZnV6enkKIG1zZ2lkICJ1bmFibGUgdG8gc2VlayBpbiByZXVzZWQgcGFja2ZpbGUiCiBtc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgZWwgZml0eGVyIGQnw61uZGV4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgwNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4MTMKICMsIGZ1enp5CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgZnJvbSByZXVzZWQgcGFja2ZpbGUiCiBtc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgZWwgZml0eGVyIGQnw61uZGV4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgzNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4NDEKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIHBhY2tzIGFyZSBzcGxpdCBkdWUgdG8gcGFjay5wYWNrU2l6ZUxpbWl0IgogbXNnc3RyICIiCiAicydlc3TDoCBpbmhhYmlsaXRhbnQgbCdlc2NyaXB0dXJhIGRlIG1hcGVzIGRlIGJpdHMsIGVzIGRpdmlkZWl4ZW4gZWxzIHBhcXVldHMgIgogImEgY2F1c2EgZGUgcGFjay5wYWNrU2l6ZUxpbWl0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjg0OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4NTQKIG1zZ2lkICJXcml0aW5nIG9iamVjdHMiCiBtc2dzdHIgIlMnZXN0YW4gZXNjcml2aW50IGVscyBvYmplY3RlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5MTAgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo4OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5MTcgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAlcyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBmZXIgc3RhdCBhICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjk2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAid3JvdGUgJTxQUkl1MzI+IG9iamVjdHMgd2hpbGUgZXhwZWN0aW5nICU8UFJJdTMyPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjExNTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTE2NAogbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgYXMgc29tZSBvYmplY3RzIGFyZSBub3QgYmVpbmcgcGFja2VkIgogbXNnc3RyICIiCiAicydlc3TDoCBpbmhhYmlsaXRhbnQgbCdlc2NyaXB0dXJhIGRlIG1hcGVzIGRlIGJpdHMsIHBlcnF1w6ggYWxndW5zIG9iamVjdGVzIG5vICIKICJzJ2VtcGFxdWV0ZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTU4NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTkyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBvdmVyZmxvdyBpbiBwYWNrIGZvciAlcyIKIG1zZ3N0ciAiZWwgZGVzcGxhw6dhbWVudCBkZSBiYXNlIGRlIGRpZmVyw6huY2llcyBlc3TDoCBmb3JhIGRlIGzDrW1pdHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTU5NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjAxCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBvdXQgb2YgYm91bmQgZm9yICVzIgogbXNnc3RyICJlbCBkZXNwbGHDp2FtZW50IGRlIGJhc2UgZGUgZGlmZXLDqG5jaWVzIGVzdMOgIGZvcmEgZGUgbMOtbWl0cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODYzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NzAKIG1zZ2lkICJDb3VudGluZyBvYmplY3RzIgogbXNnc3RyICJTJ2VzdGFuIGNvbXB0YW50IGVscyBvYmplY3RlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxOTk4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwMDAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBnZXQgc2l6ZSBvZiAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBtb3VyZSAlcyBhICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwMTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjAxNQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIG9iamVjdCBoZWFkZXIgb2YgJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGwnb2JqZWN0ZTogJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA4MyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwOTkKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjEwOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDg1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjEwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTExCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgY2Fubm90IGJlIHJlYWQiCiBtc2dzdHIgIm9iamVjdGUgJXMgbm8gdHJvYmF0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwODYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwODggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpbmNvbnNpc3RlbnQgb2JqZWN0IGxlbmd0aCAoJTxQUkl1TUFYPiB2cyAlPFBSSXVNQVg+KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjEyNQogbXNnaWQgInN1Ym9wdGltYWwgcGFjayAtIG91dCBvZiBtZW1vcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDUxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsdGEgY29tcHJlc3Npb24gdXNpbmcgdXAgdG8gJWQgdGhyZWFkcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1ODMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU3MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhY2sgb2JqZWN0cyByZWFjaGFibGUgZnJvbSB0YWcgJXMiCiBtc2dzdHIgImluY2xvdSBlbHMgb2JqZWN0ZXMgYWJhc3RhYmxlcyBkZSBxdWFsc2V2b2wgcmVmZXLDqG5jaWEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY3MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjU5CiBtc2dpZCAiQ29tcHJlc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAiUydlc3RhbiBjb21wcmltaW50IGVscyBvYmplY3RlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjc2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjUKIG1zZ2lkICJpbmNvbnNpc3RlbmN5IHdpdGggZGVsdGEgY291bnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzUzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4cGVjdGVkIGVkZ2Ugb2JqZWN0IElELCBnb3QgZ2FyYmFnZTpcbiIKICIgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzU5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4cGVjdGVkIG9iamVjdCBJRCwgZ290IGdhcmJhZ2U6XG4iCiAiICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ2CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgLS1taXNzaW5nIgogbXNnc3RyICJ2YWxvciBubyB2w6BsaWQgcGVyIGEgLS1taXNzaW5nIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDIyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDEzCiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2sgaW5kZXgiCiBtc2dzdHIgIm5vIGVzIHBvdCBmZXIgcHJlYWQgZW4gZWwgZml0eGVyIGRlIHBhcXVldCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQ1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9vc2Ugb2JqZWN0IGF0ICVzIGNvdWxkIG5vdCBiZSBleGFtaW5lZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwMzAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAyMQogIywgZnV6enkKIG1zZ2lkICJ1bmFibGUgdG8gZm9yY2UgbG9vc2Ugb2JqZWN0IgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGwnb2JqZWN0ZSBkZSBub3RhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMjAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzExMwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgcmV2ICclcyciCiBtc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgwqslc8K7IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzExNgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmV2aXNpb24gJyVzJyIKIG1zZ3N0ciAicmV2aXNpw7MgaW5jb3JyZWN0ZSDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE0OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTQxCiBtc2dpZCAidW5hYmxlIHRvIGFkZCByZWNlbnQgb2JqZWN0cyIKIG1zZ3N0ciAibm8gcydoYW4gcG9ndXQgYWZlZ2lyIGVscyBvYmplY3RlcyByZWNlbnRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBpbmRleCB2ZXJzaW9uICVzIgogbXNnc3RyICJ2ZXJzacOzIGQnw61uZGV4IG5vIGNvbXBhdGlibGUgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIwNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICclcyciCiBtc2dzdHIgInZlcnNpw7MgZCfDrW5kZXggaW5jb3JyZWN0YSDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzNQotbXNnaWQgImRvIG5vdCBzaG93IHByb2dyZXNzIG1ldGVyIgotbXNnc3RyICJubyBtb3N0cmlzIGwnaW5kaWNhZG9yIGRlIHByb2dyw6lzIgotCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzcKLW1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgotbXNnc3RyICJtb3N0cmEgbCdpbmRpY2Fkb3IgZGUgcHJvZ3LDqXMiCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzOQotbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgotbXNnc3RyICJtb3N0cmEgbCdpbmRpY2Fkb3IgZGUgcHJvZ3LDqXMgZHVyYW50IGxhIGZhc2UgZCdlc2NyaXB0dXJhIGQnb2JqZWN0ZXMiCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0MgotbXNnaWQgInNpbWlsYXIgdG8gLS1hbGwtcHJvZ3Jlc3Mgd2hlbiBwcm9ncmVzcyBtZXRlciBpcyBzaG93biIKLW1zZ3N0ciAic2ltaWxhciBhIC0tYWxsLXByb2dyZXNzIHF1YW4gbCdpbmRpY2Fkb3IgZGUgcHJvZ3LDqXMgZXMgbW9zdHJhIgotCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzNgogbXNnaWQgIjx2ZXJzaW9uPlssPG9mZnNldD5dIgogbXNnc3RyICI8dmVyc2nDsz5bLDxkZXNwbGHDp2FtZW50Pl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM3CiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogImVzY3JpdSBlbCBmaXR4ZXIgZCfDrW5kZXggZGUgcGFxdWV0IGVuIGxhIHZlcnNpw7MgZGUgZm9ybWF0IGQnw61uZGV4ICIKICJlc3BlY2lmaWNhZGEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQwCiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZSIKLW1zZ3N0ciAibWlkYSBtw6B4aW1hIGRlIGNhZGEgZml0eGVyIGRlIHBhcXVldCBkZSBzb3J0aWRhIgorbXNnc3RyICJtaWRhIG3DoHhpbWEgZGUgY2FkYSBmaXR4ZXIgZW1wYXF1ZXRhdCBkZSBzb3J0aWRhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0MgogbXNnaWQgImlnbm9yZSBib3Jyb3dlZCBvYmplY3RzIGZyb20gYWx0ZXJuYXRlIG9iamVjdCBzdG9yZSIKIG1zZ3N0ciAiaWdub3JhIGVscyBvYmplY3RlcyBwcmVzdGF0cyBkJ3VuIGVtbWFnYXR6ZW1hdGdlIGQnb2JqZWN0ZXMgYWx0ZXJuYXRpdSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjUxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDQKIG1zZ2lkICJpZ25vcmUgcGFja2VkIG9iamVjdHMiCiBtc2dzdHIgImlnbm9yYSBlbHMgb2JqZWN0ZXMgZW1wYXF1ZXRhdHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQ2CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAibGltaXRhIGxhIGZpbmVzdHJhIGQnZW1wYXF1ZXRhbWVudCBwZXIgb2JqZWN0ZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQ4CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgbWVtb3J5IGluIGFkZGl0aW9uIHRvIG9iamVjdCBsaW1pdCIKIG1zZ3N0ciAiIgogImxpbWl0YSBsYSBmaW5lc3RyYSBkJ2VtcGFxdWV0YW1lbnQgcGVyIG1lbcOycmlhIGEgbcOpcyBkZWwgbMOtbWl0IGQnb2JqZWN0ZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjUwCiBtc2dpZCAibWF4aW11bSBsZW5ndGggb2YgZGVsdGEgY2hhaW4gYWxsb3dlZCBpbiB0aGUgcmVzdWx0aW5nIHBhY2siCiBtc2dzdHIgIiIKICJsb25naXR1ZCBtw6B4aW1hIGRlIGxhIGNhZGVuYSBkZSBkaWZlcsOobmNpZXMgcGVybWVzYSBlbiBlbCBwYXF1ZXQgcmVzdWx0YW50IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1MgogbXNnaWQgInJldXNlIGV4aXN0aW5nIGRlbHRhcyIKIG1zZ3N0ciAicmV1c2EgbGVzIGRpZmVyw6huY2llcyBleGlzdGVudHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU0CiBtc2dpZCAicmV1c2UgZXhpc3Rpbmcgb2JqZWN0cyIKIG1zZ3N0ciAicmV1c2EgZWxzIG9iamVjdGVzIGV4aXN0ZW50cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjYzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTYKIG1zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCiBtc2dzdHIgInVzYSBvYmplY3RlcyBPRlNfREVMVEEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU4CiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAidXNhIGZpbHMgZW4gY2VyY2FyIGxlcyBtaWxsb3JlcyBjb2luY2lkw6huY2llcyBkZSBkaWZlcsOobmNpZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjYwCiBtc2dpZCAiZG8gbm90IGNyZWF0ZSBhbiBlbXB0eSBwYWNrIG91dHB1dCIKIG1zZ3N0ciAibm8gY3Jlw69zIHVuYSBlbWlzc2nDsyBkZSBwYXF1ZXQgYnVpZGEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjYyCiBtc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibGxlZ2VpeCBlbHMgcGFyw6BtZXRyZXMgZGUgcmV2aXNpw7MgZGVzIGRlIGwnZW50cmFkYSBlc3TDoG5kYXJkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NAogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICJsaW1pdGEgZWxzIG9iamVjdGVzIGFscyBxdWFscyBlbmNhcmEgbm8gcydoYWdpbiBlbXBhcXVldGF0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NwogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgogbXNnc3RyICJpbmNsb3UgZWxzIG9iamVjdGVzIGFiYXN0YWJsZXMgZGUgcXVhbHNldm9sIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3MAogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAiIgogImluY2xvdSBlbHMgb2JqZWN0ZXMgYWxzIHF1YWxzIGZhY2luIHJlZmVyw6huY2lhIGxlcyBlbnRyYWRlcyBkZWwgcmVnaXN0cmUgZGUgIgogInJlZmVyw6huY2llcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzMKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgdG8gYnkgdGhlIGluZGV4IgogbXNnc3RyICJpbmNsb3UgZWxzIG9iamVjdGVzIGFscyBxdWFscyBmYWNpIHJlZmVyw6huY2lhIGwnw61uZGV4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3NgogbXNnaWQgIm91dHB1dCBwYWNrIHRvIHN0ZG91dCIKIG1zZ3N0ciAiZW1ldCBlbCBwYXF1ZXQgYSBzdGRvdXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjc4CiBtc2dpZCAiaW5jbHVkZSB0YWcgb2JqZWN0cyB0aGF0IHJlZmVyIHRvIG9iamVjdHMgdG8gYmUgcGFja2VkIgogbXNnc3RyICIiCiAiaW5jbG91IGVscyBvYmplY3RlcyBkJ2V0aXF1ZXRhIHF1ZSBmYWNpbiByZWZlcsOobmNpYSBhbHMgb2JqZWN0ZXMgYSBlbXBhcXVldGFyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4MAogbXNnaWQgImtlZXAgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAicmV0w6luIGVscyBvYmplY3RlcyBpbmFiYXN0YWJsZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgyCiBtc2dpZCAicGFjayBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJlbXBhcXVldGEgZWxzIG9iamVjdGVzIGluYWJhc3RhYmxlcyBzb2x0cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjkxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODQKIG1zZ2lkICJ1bnBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyBuZXdlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAiZGVzZW1wYXF1ZXRhIGVscyBvYmplY3RlcyBpbmFiYXN0YWJsZXMgbcOpcyBub3VzIHF1ZSA8aG9yYT4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg3Cittc2dpZCAidXNlIHRoZSBzcGFyc2UgcmVhY2hhYmlsaXR5IGFsZ29yaXRobSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODkKIG1zZ2lkICJjcmVhdGUgdGhpbiBwYWNrcyIKIG1zZ3N0ciAiY3JlYSBwYXF1ZXRzIHByaW1zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MQogbXNnaWQgImNyZWF0ZSBwYWNrcyBzdWl0YWJsZSBmb3Igc2hhbGxvdyBmZXRjaGVzIgogbXNnc3RyICJjcmVhIHBhcXVldHMgYWRlcXVhdHMgcGVyIGEgbGVzIG9idGVuY2lvbnMgc3VwZXJmaWNpYWxzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MwogbXNnaWQgImlnbm9yZSBwYWNrcyB0aGF0IGhhdmUgY29tcGFuaW9uIC5rZWVwIGZpbGUiCiBtc2dzdHIgImlnbm9yYSBlbHMgcGFxdWV0cyBxdWUgdGluZ3VpbiB1biBmaXR4ZXIgLmtlZXAgY29ycmVzcG9uZW50IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5NQogIywgZnV6enkKIG1zZ2lkICJpZ25vcmUgdGhpcyBwYWNrIgogbXNnc3RyICJ1c2EgZWwgcGFxdWV0IHByaW0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk3CiBtc2dpZCAicGFjayBjb21wcmVzc2lvbiBsZXZlbCIKIG1zZ3N0ciAibml2ZWxsIGRlIGNvbXByZXNzacOzIGRlIHBhcXVldCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzA0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTkKIG1zZ2lkICJkbyBub3QgaGlkZSBjb21taXRzIGJ5IGdyYWZ0cyIKIG1zZ3N0ciAibm8gYW1hZ3VpcyBsZXMgY29taXNzaW9ucyBwZXIgZW1wZWx0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwMQogbXNnaWQgInVzZSBhIGJpdG1hcCBpbmRleCBpZiBhdmFpbGFibGUgdG8gc3BlZWQgdXAgY291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogInVzYSB1biDDrW5kZXggZGUgbWFwYSBkZSBiaXRzLCBzaSBlc3TDoCBkaXNwb25pYmxlLCBwZXIgYSBhY2NlbGVyYXIgZWwgIgogInJlY29tcHRlIGQnb2JqZWN0ZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwOAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzAzCiBtc2dpZCAid3JpdGUgYSBiaXRtYXAgaW5kZXggdG9nZXRoZXIgd2l0aCB0aGUgcGFjayBpbmRleCIKIG1zZ3N0ciAiZXNjcml1IHVuIMOtbmRleCBkZSBtYXBhIGRlIGJpdHMganVudGFtZW50IGFtYiBsJ8OtbmRleCBkZSBwYXF1ZXQiCiAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwNworIywgZnV6enkKK21zZ2lkICJ3cml0ZSBhIGJpdG1hcCBpbmRleCBpZiBwb3NzaWJsZSIKK21zZ3N0ciAiZXNjcml1IMOtbmRleCBkZSBtYXBhIGRlIGJpdHMiCisKICM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxMQogbXNnaWQgImhhbmRsaW5nIGZvciBtaXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgImdlc3Rpw7MgZGVscyBvYmplY3RlcyBhYnNlbnRzIgpAQCAtMTQzMzQsNTggKzE3MDI5LDU5IEBACiBtc2dpZCAicmVzcGVjdCBpc2xhbmRzIGR1cmluZyBkZWx0YSBjb21wcmVzc2lvbiIKIG1zZ3N0ciAibWlkYSBkZSBsYSBmaW5lc3RyYSBxdWUgcyd1c2EgcGVyIGEgY29tcHJlc3Npw7MgZGUgZGlmZXLDqG5jaWVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzNDAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWx0YSBjaGFpbiBkZXB0aCAlZCBpcyB0b28gZGVlcCwgZm9yY2luZyAlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzNDUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrLmRlbHRhQ2FjaGVMaW1pdCBpcyB0b28gaGlnaCwgZm9yY2luZyAlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzOTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwNAogbXNnaWQgIi0tbWF4LXBhY2stc2l6ZSBjYW5ub3QgYmUgdXNlZCB0byBidWlsZCBhIHBhY2sgZm9yIHRyYW5zZmVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDA2CiBtc2dpZCAibWluaW11bSBwYWNrIHNpemUgbGltaXQgaXMgMSBNaUIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDA2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTEKICMsIGZ1enp5CiBtc2dpZCAiLS10aGluIGNhbm5vdCBiZSB1c2VkIHRvIGJ1aWxkIGFuIGluZGV4YWJsZSBwYWNrIgogbXNnc3RyICItLWZpeC10aGluIG5vIGVzIHBvdCB1c2FyIHNlbnNlIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDE0CiAjLCBmdXp6eQogbXNnaWQgIi0ta2VlcC11bnJlYWNoYWJsZSBhbmQgLS11bnBhY2stdW5yZWFjaGFibGUgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1rZWVwLXVucmVhY2hhYmxlIGkgLUEgc8OzbiBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQyMAogIywgZnV6enkKIG1zZ2lkICJjYW5ub3QgdXNlIC0tZmlsdGVyIHdpdGhvdXQgLS1zdGRvdXQiCiBtc2dzdHIgIm5vIGVzIHBvdCB1c2FyIC1hIGFtYiAtZCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDc0Ci0jLCBmdXp6eQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDgxCiBtc2dpZCAiRW51bWVyYXRpbmcgb2JqZWN0cyIKLW1zZ3N0ciAiUydlc3RhbiBlc2NyaXZpbnQgZWxzIG9iamVjdGVzIgorbXNnc3RyICJTJ2VzdGFuIGVudW1lcmFudCBlbHMgb2JqZWN0ZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQ5MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRvdGFsICU8UFJJdTMyPiAoZGVsdGEgJTxQUkl1MzI+KSwgcmV1c2VkICU8UFJJdTMyPiAoZGVsdGEgJTxQUkl1MzI+KSIKIG1zZ3N0ciAiIgorIlRvdGFsICU8UFJJdTMyPiAoZGlmZXLDqG5jaWVzICU8UFJJdTMyPiksIHJldXNhdCAlPFBSSXUzMj4gKGRpZmVyw6huY2llcyAiCisiJTxQUkl1MzI+KSIKIAotIzogYnVpbHRpbi9wYWNrLXJlZnMuYzo3CisjOiBidWlsdGluL3BhY2stcmVmcy5jOjgKIG1zZ2lkICJnaXQgcGFjay1yZWZzIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgcGFjay1yZWZzIFs8b3BjaW9ucz5dIgogCi0jOiBidWlsdGluL3BhY2stcmVmcy5jOjE1CisjOiBidWlsdGluL3BhY2stcmVmcy5jOjE2CiBtc2dpZCAicGFjayBldmVyeXRoaW5nIgogbXNnc3RyICJlbXBhcXVldGEtaG8gdG90IgogCi0jOiBidWlsdGluL3BhY2stcmVmcy5jOjE2CisjOiBidWlsdGluL3BhY2stcmVmcy5jOjE3CiBtc2dpZCAicHJ1bmUgbG9vc2UgcmVmcyAoZGVmYXVsdCkiCiBtc2dzdHIgInBvZGEgbGVzIHJlZmVyw6huY2llcyBzb2x0ZXMgKHBlciBkZWZlY3RlKSIKIApAQCAtMTQ0MDEsNzAgKzE3MDk3LDcwIEBACiBtc2dpZCAiZ2l0IHBydW5lIFstbl0gWy12XSBbLS1wcm9ncmVzc10gWy0tZXhwaXJlIDx0aW1lPl0gWy0tXSBbPGhlYWQ+Li4uXSIKIG1zZ3N0ciAiZ2l0IHBydW5lIFstbl0gWy12XSBbLS1wcm9ncmVzc10gWy0tZXhwaXJlIDxob3JhPl0gWy0tXSBbPGhlYWQ+Li4uXSIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjEwOQorIzogYnVpbHRpbi9wcnVuZS5jOjEzMQogbXNnaWQgInJlcG9ydCBwcnVuZWQgb2JqZWN0cyIKIG1zZ3N0ciAiaW5mb3JtYSBkJ29iamVjdGVzIHBvZGF0cyIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjExMgorIzogYnVpbHRpbi9wcnVuZS5jOjEzNAogbXNnaWQgImV4cGlyZSBvYmplY3RzIG9sZGVyIHRoYW4gPHRpbWU+IgogbXNnc3RyICJmZXMgY2FkdWNhciBlbHMgb2JqZWN0ZXMgbcOpcyB2ZWxscyBxdWUgPGhvcmE+IgogCi0jOiBidWlsdGluL3BydW5lLmM6MTE0CisjOiBidWlsdGluL3BydW5lLmM6MTM2CiBtc2dpZCAibGltaXQgdHJhdmVyc2FsIHRvIG9iamVjdHMgb3V0c2lkZSBwcm9taXNvciBwYWNrZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjEyOQorIzogYnVpbHRpbi9wcnVuZS5jOjE1MAogbXNnaWQgImNhbm5vdCBwcnVuZSBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAibm8gZXMgcG90IHBvZGFyIGVuIHVuIGRpcMOyc2l0IGQnb2JqZWN0ZXMgcHJlY2lvc29zIgogCi0jOiBidWlsdGluL3B1bGwuYzo2MCBidWlsdGluL3B1bGwuYzo2MgorIzogYnVpbHRpbi9wdWxsLmM6NjYgYnVpbHRpbi9wdWxsLmM6NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICJWYWxvciBubyB2w6BsaWQgcGVyIGEgJXM6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MgorIzogYnVpbHRpbi9wdWxsLmM6ODgKIG1zZ2lkICJnaXQgcHVsbCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1bGwgWzxvcGNpb25zPl0gWzxkaXDDsnNpdD4gWzxlc3BlY2lmaWNhY2nDsy1kZS1yZWZlcsOobmNpYT4uLi5dXSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTMzCisjOiBidWlsdGluL3B1bGwuYzoxNDIKIG1zZ2lkICJjb250cm9sIGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAiY29udHJvbGEgbCdvYnRlbmNpw7MgcmVjdXJzaXZhIGRlIHN1Ym3DsmR1bHMiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEzNworIzogYnVpbHRpbi9wdWxsLmM6MTQ2CiBtc2dpZCAiT3B0aW9ucyByZWxhdGVkIHRvIG1lcmdpbmciCiBtc2dzdHIgIk9wY2lvbnMgcmVsYWNpb25hZGVzIGFtYiBmdXNpb25hciIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTQwCisjOiBidWlsdGluL3B1bGwuYzoxNDkKIG1zZ2lkICJpbmNvcnBvcmF0ZSBjaGFuZ2VzIGJ5IHJlYmFzaW5nIHJhdGhlciB0aGFuIG1lcmdpbmciCiBtc2dzdHIgImluY29ycG9yYSBlbHMgY2FudmlzIGZlbnQgwqtyZWJhc2XCuyBlbiBsbG9jIGRlIGZ1c2lvbmFyIgogCi0jOiBidWlsdGluL3B1bGwuYzoxNjcgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTQ3IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIyCisjOiBidWlsdGluL3B1bGwuYzoxNzcgYnVpbHRpbi9yZWJhc2UuYzo0NjcgYnVpbHRpbi9yZXZlcnQuYzoxMjYKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQiCiBtc2dzdHIgInBlcm1ldCBsJ2F2YW7DpyByw6BwaWQiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE3NgorIzogYnVpbHRpbi9wdWxsLmM6MTg2CiBtc2dpZCAiYXV0b21hdGljYWxseSBzdGFzaC9zdGFzaCBwb3AgYmVmb3JlIGFuZCBhZnRlciByZWJhc2UiCiBtc2dzdHIgIiIKICJmZXMgwqtzdGFzaMK7IGkgwqtzdGFzaCBwb3DCuyBhdXRvbcOgdGljYW1lbnQgYWJhbnMgaSBkZXNwcsOpcyBkZSBmZXIgwqtyZWJhc2XCuyIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTkyCisjOiBidWlsdGluL3B1bGwuYzoyMDIKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gZmV0Y2hpbmciCiBtc2dzdHIgIk9wY2lvbnMgcmVsYWNpb25hZGVzIGFtYiBvYnRlbmlyIgogCi0jOiBidWlsdGluL3B1bGwuYzoyMDIKKyM6IGJ1aWx0aW4vcHVsbC5jOjIxMgogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCiBtc2dzdHIgImZvcsOnYSBsYSBzb2JyZWVzY3JpcHR1cmEgZGUgbGEgYnJhbmNhIGxvY2FsIgogCi0jOiBidWlsdGluL3B1bGwuYzoyMTAKKyM6IGJ1aWx0aW4vcHVsbC5jOjIyMAogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIHB1bGxlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAibm9tYnJlIGRlIHN1Ym3DsmR1bHMgYmFpeGF0cyBlbiBwYXJhbMK3bGVsIgogCi0jOiBidWlsdGluL3B1bGwuYzozMDUKKyM6IGJ1aWx0aW4vcHVsbC5jOjMyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciBwdWxsLmZmOiAlcyIKIG1zZ3N0ciAiVmFsb3Igbm8gdsOgbGlkIHBlciBhIHB1bGwuZmY6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MjEKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzNwogbXNnaWQgIiIKICJUaGVyZSBpcyBubyBjYW5kaWRhdGUgZm9yIHJlYmFzaW5nIGFnYWluc3QgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCAiCiAiZmV0Y2hlZC4iCkBAIC0xNDQ3MiwxMyArMTcxNjgsMTMgQEAKICJObyBoaSBoYSBjYXAgY2FuZGlkYXQgc29icmUgZWwgcXVhbCBmZXIgwqtyZWJhc2XCuyBlbnRyZSBsZXMgcmVmZXLDqG5jaWVzIHF1ZSAiCiAiYWNhYmV1IGQnb2J0ZW5pci4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyMworIzogYnVpbHRpbi9wdWxsLmM6NDM5CiBtc2dpZCAiIgogIlRoZXJlIGFyZSBubyBjYW5kaWRhdGVzIGZvciBtZXJnaW5nIGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgZmV0Y2hlZC4iCiBtc2dzdHIgIiIKICJObyBoaSBoYSBjYW5kaWRhdHMgcGVyIGEgZnVzaW9uYXIgZW50cmUgbGVzIHJlZmVyw6huY2llcyBxdWUgYWNhYmV1IGQnb2J0ZW5pci4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyNAorIzogYnVpbHRpbi9wdWxsLmM6NDQwCiBtc2dpZCAiIgogIkdlbmVyYWxseSB0aGlzIG1lYW5zIHRoYXQgeW91IHByb3ZpZGVkIGEgd2lsZGNhcmQgcmVmc3BlYyB3aGljaCBoYWQgbm9cbiIKICJtYXRjaGVzIG9uIHRoZSByZW1vdGUgZW5kLiIKQEAgLTE0NDg2LDcgKzE3MTgyLDcgQEAKICJHZW5lcmFsbWVudCBhaXjDsiB2b2wgZGlyIHF1ZSBoZXUgcHJvdmXDr3QgdW5hIGVzcGVjaWZpY2FjacOzIGRlXG4iCiAicmVmZXLDqG5jaWEgZGUgY29tb2TDrSBxdWUgbm8gdGVuaWEgY2FwIGNvaW5jaWTDqG5jaWEgZW4gZWwgY29zdGF0IHJlbW90LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDI3CisjOiBidWlsdGluL3B1bGwuYzo0NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBwdWxsIGZyb20gdGhlIHJlbW90ZSAnJXMnLCBidXQgZGlkIG5vdCBzcGVjaWZ5XG4iCkBAIC0xNDQ5Nyw0NCArMTcxOTMsNDQgQEAKICJQZXJxdcOoIGFxdWVzdCBubyDDqXMgZWwgcmVtb3QgY29uZmlndXJhdCBwZXIgZGVmZWN0ZSBwZXIgYSBsYSB2b3N0cmFcbiIKICJicmFuY2EgYWN0dWFsLCBoZXUgZCdlc3BlY2lmaWNhciB1bmEgYnJhbmNhIGVuIGxhIGzDrW5pYSBkJ29yZHJlcy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzMiBidWlsdGluL3JlYmFzZS5jOjc2MCBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCisjOiBidWlsdGluL3B1bGwuYzo0NDggYnVpbHRpbi9yZWJhc2UuYzoxMzc1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKIG1zZ2lkICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guIgogbXNnc3RyICJBY3R1YWxtZW50IG5vIHNvdSBlbiBjYXAgYnJhbmNhLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM0IGJ1aWx0aW4vcHVsbC5jOjQ0OSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CisjOiBidWlsdGluL3B1bGwuYzo0NTAgYnVpbHRpbi9wdWxsLmM6NDY1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gcmViYXNlIGFnYWluc3QuIgotbXNnc3RyICJFc3BlY2lmaXF1ZXUgc29icmUgcXXDqCBicmFuY2Egdm9sZXUgZmVyIMKrcmViYXNlwrsuIgorbXNnc3RyICJFc3BlY2lmaXF1ZXUgc29icmUgcXVpbmEgYnJhbmNhIHZvbGV1IGZlciDCq3JlYmFzZcK7LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM2IGJ1aWx0aW4vcHVsbC5jOjQ1MSBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCisjOiBidWlsdGluL3B1bGwuYzo0NTIgYnVpbHRpbi9wdWxsLmM6NDY3IGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gbWVyZ2Ugd2l0aC4iCiBtc2dzdHIgIkVzcGVjaWZpcXVldSBhbWIgcXVpbmEgYnJhbmNhIHZvbGV1IGZ1c2lvbmFyLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM3IGJ1aWx0aW4vcHVsbC5jOjQ1MgorIzogYnVpbHRpbi9wdWxsLmM6NDUzIGJ1aWx0aW4vcHVsbC5jOjQ2OAogbXNnaWQgIlNlZSBnaXQtcHVsbCgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIlZlZ2V1IGdpdC1wdWxsKDEpIHBlciBkZXRhbGxzLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM5IGJ1aWx0aW4vcHVsbC5jOjQ0NSBidWlsdGluL3B1bGwuYzo0NTQKLSM6IGJ1aWx0aW4vcmViYXNlLmM6NzY2IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjQKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1NSBidWlsdGluL3B1bGwuYzo0NjEgYnVpbHRpbi9wdWxsLmM6NDcwCisjOiBidWlsdGluL3JlYmFzZS5jOjEzODEgZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NAogbXNnaWQgIjxyZW1vdGU+IgogbXNnc3RyICI8cmVtb3Q+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzkgYnVpbHRpbi9wdWxsLmM6NDU0IGJ1aWx0aW4vcHVsbC5jOjQ1OQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTQ4IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1NSBidWlsdGluL3B1bGwuYzo0NzAgYnVpbHRpbi9wdWxsLmM6NDc1CisjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1CiBtc2dpZCAiPGJyYW5jaD4iCiBtc2dzdHIgIjxicmFuY2E+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0NDcgYnVpbHRpbi9yZWJhc2UuYzo3NTggZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQorIzogYnVpbHRpbi9wdWxsLmM6NDYzIGJ1aWx0aW4vcmViYXNlLmM6MTM3MyBnaXQtcGFyc2UtcmVtb3RlLnNoOjc1CiBtc2dpZCAiVGhlcmUgaXMgbm8gdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIk5vIGhpIGhhIGNhcCBpbmZvcm1hY2nDsyBkZSBzZWd1aW1lbnQgcGVyIGEgbGEgYnJhbmNhIGFjdHVhbC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ1NiBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CisjOiBidWlsdGluL3B1bGwuYzo0NzIgZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDoiCiBtc2dzdHIgIiIKICJTaSB2b2xldSBlc3RhYmxpciBpbmZvcm1hY2nDsyBkZSBzZWd1aW1lbnQgcGVyIGEgYXF1ZXN0YSBicmFuY2EsIHBvZGV1IGZlci1obyAiCiAiYW1iOiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDYxCisjOiBidWlsdGluL3B1bGwuYzo0NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgY29uZmlndXJhdGlvbiBzcGVjaWZpZXMgdG8gbWVyZ2Ugd2l0aCB0aGUgcmVmICclcydcbiIKQEAgLTE0NTQzLDMzICsxNzIzOSwzMyBAQAogIkxhIHZvc3RyYSBjb25maWd1cmFjacOzIGVzcGVjaWZpY2EgZnVzaW9uYXIgYW1iIGxhIHJlZmVyw6huY2lhIMKrJXPCu1xuIgogImRlbCByZW1vdCwgcGVyw7Igbm8gcydoYSBvYnRpbmd1dCB0YWwgcmVmZXLDqG5jaWEuIgogCi0jOiBidWlsdGluL3B1bGwuYzo1NjUKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbi9wdWxsLmM6NTg3CisjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgY29tbWl0ICVzIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFuYWxpdHphciBsYSBjb21pc3Npw7MgJXMiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWNjZWRpciBhIGxhIGNvbWlzc2nDsyAlcyIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODQzCisjOiBidWlsdGluL3B1bGwuYzo4NjcKIG1zZ2lkICJpZ25vcmluZyAtLXZlcmlmeS1zaWduYXR1cmVzIGZvciByZWJhc2UiCiBtc2dzdHIgInMnZXN0w6AgaWdub3JhbnQgLS12ZXJpZnktc2lnbmF0dXJlcyBlbiBmZXIgwqtyZWJhc2XCuyIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODkxCisjOiBidWlsdGluL3B1bGwuYzo5MjIKIG1zZ2lkICItLVtuby1dYXV0b3N0YXNoIG9wdGlvbiBpcyBvbmx5IHZhbGlkIHdpdGggLS1yZWJhc2UuIgogbXNnc3RyICJsJ29wY2nDsyAtLVtuby1dLWF1dG9zdGFzaCDDqXMgdsOgbGlkIG5vbcOpcyBhbWIgLS1yZWJhc2UuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4OTkKKyM6IGJ1aWx0aW4vcHVsbC5jOjkzMAogbXNnaWQgIlVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleC4iCiBtc2dzdHIgIiIKICJTJ2VzdMOgIGFjdHVhbGl0emFudCB1bmEgYnJhbmNhIG5vIG5hc2N1ZGEgYW1iIGNhbnZpcyBhZmVnaXRzIGEgbCfDrW5kZXguIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MDIKKyM6IGJ1aWx0aW4vcHVsbC5jOjkzNAogbXNnaWQgInB1bGwgd2l0aCByZWJhc2UiCiBtc2dzdHIgImJhaXhhciBmZW50IMKrcmViYXNlwrsiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkwMworIzogYnVpbHRpbi9wdWxsLmM6OTM1CiBtc2dpZCAicGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAiY29tZXRldS1sb3MgbyBlbW1hZ2F0emVtZXUtbG9zLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTI4CisjOiBidWlsdGluL3B1bGwuYzo5NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC0xNDU4MCw3ICsxNzI3Niw3IEBACiAicydlc3TDoCBhdmFuw6dhbnQgcsOgcGlkYW1lbnQgZWwgdm9zdHJlIGFyYnJlIGRlIHRyZWJhbGwgZGVzIGRlXG4iCiAibGEgY29taXNzacOzICVzLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTM0CisjOiBidWlsdGluL3B1bGwuYzo5NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBmYXN0LWZvcndhcmQgeW91ciB3b3JraW5nIHRyZWUuXG4iCkBAIC0xNDU5OCwxNSArMTcyOTQsMTUgQEAKICIkIGdpdCByZXNldCAtLWhhcmRcbiIKICJwZXIgYSByZWN1cGVyYXIuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5NDkKKyM6IGJ1aWx0aW4vcHVsbC5jOjk4MQogbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQuIgogbXNnc3RyICJObyBlcyBwb2RlbiBmdXNpb25hciBtw7psdGlwbGVzIGJyYW5xdWVzIGEgdW4gSEVBRCBidWl0LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTUzCisjOiBidWlsdGluL3B1bGwuYzo5ODUKIG1zZ2lkICJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMuIgogbXNnc3RyICJObyBlcyBwb3QgZmVyIMKrcmViYXNlwrsgc29icmUgbcO6bHRpcGxlcyBicmFucXVlcy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjk2MAorIzogYnVpbHRpbi9wdWxsLmM6OTkyCiBtc2dpZCAiY2Fubm90IHJlYmFzZSB3aXRoIGxvY2FsbHkgcmVjb3JkZWQgc3VibW9kdWxlIG1vZGlmaWNhdGlvbnMiCiBtc2dzdHIgIiIKICJubyBlcyBwb3QgZmVyIMKrcmViYXNlwrsgYW1iIG1vZGlmaWNhY2lvbnMgYWxzIHN1Ym3DsmR1bHMgZW5yZWdpc3RyYWRlcyAiCkBAIC0xNDYxNiwxNSArMTczMTIsMTUgQEAKIG1zZ2lkICJnaXQgcHVzaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1c2ggWzxvcGNpb25zPl0gWzxkaXDDsnNpdD4gWzxlc3BlY2lmaWNhY2nDsy1kZS1yZWZlcsOobmNpYT4uLi5dXSIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTExCisjOiBidWlsdGluL3B1c2guYzoxMTIKIG1zZ2lkICJ0YWcgc2hvcnRoYW5kIHdpdGhvdXQgPHRhZz4iCiBtc2dzdHIgImFicmV2aWF0dXJhIGQnZXRpcXVldGEgc2Vuc2UgPHRhZz4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEyMQorIzogYnVpbHRpbi9wdXNoLmM6MTIyCiBtc2dpZCAiLS1kZWxldGUgb25seSBhY2NlcHRzIHBsYWluIHRhcmdldCByZWYgbmFtZXMiCiBtc2dzdHIgIi0tZGVsZXRlIG5vbcOpcyBhY2NlcHRhIG5vbXMgZGUgcmVmZXLDqG5jaWEgZGUgZGVzdMOtIHNlbnppbGxzIgogCi0jOiBidWlsdGluL3B1c2guYzoxNjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjE2OAogbXNnaWQgIiIKICJcbiIKICJUbyBjaG9vc2UgZWl0aGVyIG9wdGlvbiBwZXJtYW5lbnRseSwgc2VlIHB1c2guZGVmYXVsdCBpbiAnZ2l0IGhlbHAgY29uZmlnJy4iCkBAIC0xNDYzMyw3ICsxNzMyOSw3IEBACiAiUGVyIGEgdHJpYXIgcXVhbHNldm9sIG9wY2nDsyBwZXJtYW5lbnRtZW50LCB2ZWdldSBwdXNoLmRlZmF1bHQgYSAnZ2l0IGhlbHAgIgogImNvbmZpZycuIgogCi0jOiBidWlsdGluL3B1c2guYzoxNjgKKyM6IGJ1aWx0aW4vcHVzaC5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHVwc3RyZWFtIGJyYW5jaCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGRvZXMgbm90IG1hdGNoXG4iCkBAIC0xNDY0NCw3ICsxNzM0MCw3IEBACiAiXG4iCiAiVG8gcHVzaCB0byB0aGUgYnJhbmNoIG9mIHRoZSBzYW1lIG5hbWUgb24gdGhlIHJlbW90ZSwgdXNlXG4iCiAiXG4iCi0iICAgIGdpdCBwdXNoICVzICVzXG4iCisiICAgIGdpdCBwdXNoICVzIEhFQURcbiIKICIlcyIKIG1zZ3N0ciAiIgogIkxhIGJyYW5jYSBmb250IGRlIGxhIHZvc3RyYSBicmFuY2EgYWN0dWFsIG5vIGNvaW5jaWRlaXhcbiIKQEAgLTE0NjU1LDEwICsxNzM1MSwxMCBAQAogIlxuIgogIlBlciBhIHB1amFyIGEgbGEgYnJhbmNhIGRlbCBtYXRlaXggbm9tIGVuIGVsIHJlbW90LCB1c2V1XG4iCiAiXG4iCi0iICAgIGdpdCBwdXNoICVzICVzXG4iCisiICAgIGdpdCBwdXNoICVzIEhFQURcbiIKICIlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTgzCisjOiBidWlsdGluL3B1c2guYzoxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC5cbiIKQEAgLTE0NjczLDcgKzE3MzY5LDcgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggJXMgSEVBRDo8bm9tLWRlLWJyYW5jYS1yZW1vdGE+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE5NworIzogYnVpbHRpbi9wdXNoLmM6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG5vIHVwc3RyZWFtIGJyYW5jaC5cbiIKQEAgLTE0Njg2LDEzICsxNzM4MiwxMyBAQAogIlxuIgogIiAgICBnaXQgcHVzaCAtLXNldC11cHN0cmVhbSAlcyAlc1xuIgogCi0jOiBidWlsdGluL3B1c2guYzoyMDUKKyM6IGJ1aWx0aW4vcHVzaC5jOjIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG11bHRpcGxlIHVwc3RyZWFtIGJyYW5jaGVzLCByZWZ1c2luZyB0byBwdXNoLiIKIG1zZ3N0ciAiIgogIkxhIGJyYW5jYSBhY3R1YWwgJXMgdMOpIG3Dumx0aXBsZXMgYnJhbnF1ZXMgZm9udHMsIHMnZXN0w6AgcmVmdXNhbnQgcHVqYXIuIgogCi0jOiBidWlsdGluL3B1c2guYzoyMDgKKyM6IGJ1aWx0aW4vcHVzaC5jOjIxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBwdXNoaW5nIHRvIHJlbW90ZSAnJXMnLCB3aGljaCBpcyBub3QgdGhlIHVwc3RyZWFtIG9mXG4iCkBAIC0xNDcwMywxNCArMTczOTksMTQgQEAKICJicmFuY2EgYWN0dWFsIMKrJXPCuywgc2Vuc2UgZGlyLW1lIHF1w6ggcHVqYXIgcGVyIGEgYWN0dWFsaXR6YXJcbiIKICJxdWluYSBicmFuY2EgcmVtb3RhLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjY3CisjOiBidWlsdGluL3B1c2guYzoyNzAKIG1zZ2lkICIiCiAiWW91IGRpZG4ndCBzcGVjaWZ5IGFueSByZWZzcGVjcyB0byBwdXNoLCBhbmQgcHVzaC5kZWZhdWx0IGlzIFwibm90aGluZ1wiLiIKIG1zZ3N0ciAiIgogIk5vIGhldSBlc3BlY2lmaWNhdCBjYXAgZXNwZWNpZmljYWNpw7MgZGUgcmVmZXLDqG5jaWEgYSBwdWphciwgaSBwdXNoLmRlZmF1bHQgIgogIsOpcyBcIm5vdGhpbmdcIi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI3NAorIzogYnVpbHRpbi9wdXNoLmM6Mjc3CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0aXAgb2YgeW91ciBjdXJyZW50IGJyYW5jaCBpcyBiZWhpbmRcbiIKICJpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LiBJbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzIChlLmcuXG4iCkBAIC0xNDcyMiw3ICsxNzQxOCw3IEBACiAiZWxzIGNhbnZpcyByZW1vdHMgKHBlciBleGVtcGxlLCAnZ2l0IHB1bGwgLi4uJykgYWJhbnMgZGUgcHVqYXIgZGUgbm91LlxuIgogIlZlZ2V1IGxhICdOb3RhIHNvYnJlIGF2YW7Dp29zIHLDoHBpZHMnIGEgJ2dpdCBwdXNoIC0taGVscCcgcGVyIGRldGFsbHMuIgogCi0jOiBidWlsdGluL3B1c2guYzoyODAKKyM6IGJ1aWx0aW4vcHVzaC5jOjI4MwogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCiAiY291bnRlcnBhcnQuIENoZWNrIG91dCB0aGlzIGJyYW5jaCBhbmQgaW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlc1xuIgpAQCAtMTQ3MzUsNyArMTc0MzEsNyBAQAogImFiYW5zIGRlIHB1amFyIGRlIG5vdS5cbiIKICJWZWdldSBsYSAnTm90YSBzb2JyZSBhdmFuw6dvcyByw6BwaWRzJyBhICdnaXQgcHVzaCAtLWhlbHAnIHBlciBkZXRhbGxzLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mjg2CisjOiBidWlsdGluL3B1c2guYzoyODkKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHJlbW90ZSBjb250YWlucyB3b3JrIHRoYXQgeW91IGRvXG4iCiAibm90IGhhdmUgbG9jYWxseS4gVGhpcyBpcyB1c3VhbGx5IGNhdXNlZCBieSBhbm90aGVyIHJlcG9zaXRvcnkgcHVzaGluZ1xuIgpAQCAtMTQ3NTAsMTIgKzE3NDQ2LDEyIEBACiAicHVqYXIgZGUgbm91LlxuIgogIlZlZ2V1IGxhICdOb3RhIHNvYnJlIGF2YW7Dp29zIHLDoHBpZHMnIGEgJ2dpdCBwdXNoIC0taGVscCcgcGVyIGRldGFsbHMuIgogCi0jOiBidWlsdGluL3B1c2guYzoyOTMKKyM6IGJ1aWx0aW4vcHVzaC5jOjI5NgogbXNnaWQgIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0YWcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIHJlbW90ZS4iCiBtc2dzdHIgIiIKICJTJ2hhbiByZWJ1dGphdCBsZXMgYWN0dWFsaXR6YWNpb25zIHBlcnF1w6ggbCdldGlxdWV0YSBqYSBleGlzdGVpeCBlbiBlbCByZW1vdC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI5NgorIzogYnVpbHRpbi9wdXNoLmM6Mjk5CiBtc2dpZCAiIgogIllvdSBjYW5ub3QgdXBkYXRlIGEgcmVtb3RlIHJlZiB0aGF0IHBvaW50cyBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgogIm9yIHVwZGF0ZSBhIHJlbW90ZSByZWYgdG8gbWFrZSBpdCBwb2ludCBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgpAQCAtMTQ3NjYsMjIgKzE3NDYyLDk5IEBACiAiZmVyIHF1ZSBhc3NlbnlhbGkgdW4gb2JqZWN0ZSBubyBkZSBjb21pc3Npw7MsIHNlbnNlIHVzYXIgbCdvcGNpw7NcbiIKICInLS1mb3JjZScuXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM1NworIzogYnVpbHRpbi9wdXNoLmM6MzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlB1c2hpbmcgdG8gJXNcbiIKIG1zZ3N0ciAiUydlc3TDoCBwdWphbnQgYSAlc1xuIgogCi0jOiBidWlsdGluL3B1c2guYzozNjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBwdWphciBhbGd1bmVzIHJlZmVyw6huY2llcyBhIMKrJXPCuyIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzk1CisjOiBidWlsdGluL3B1c2guYzo1NDIKK21zZ2lkICJyZXBvc2l0b3J5IgorbXNnc3RyICJkaXDDsnNpdCIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0Cittc2dpZCAicHVzaCBhbGwgcmVmcyIKK21zZ3N0ciAicHVqYSB0b3RlcyBsZXMgcmVmZXLDqG5jaWVzIgorCisjOiBidWlsdGluL3B1c2guYzo1NDQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKK21zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCittc2dzdHIgInJlZmxlY3RlaXggdG90ZXMgbGVzIHJlZmVyw6huY2llcyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ2Cittc2dpZCAiZGVsZXRlIHJlZnMiCittc2dzdHIgInN1cHJpbWVpeCBsZXMgcmVmZXLDqG5jaWVzIgorCisjOiBidWlsdGluL3B1c2guYzo1NDcKK21zZ2lkICJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiCittc2dzdHIgInB1amEgbGVzIGV0aXF1ZXRlcyAobm8gZXMgcG90IHVzYXIgYW1iIC0tYWxsIG8gLS1taXJyb3IpIgorCisjOiBidWlsdGluL3B1c2guYzo1NTAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjcKK21zZ2lkICJmb3JjZSB1cGRhdGVzIgorbXNnc3RyICJmb3LDp2EgbGVzIGFjdHVhbGl0emFjaW9ucyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTUyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgxCittc2dpZCAiPHJlZm5hbWU+OjxleHBlY3Q+IgorbXNnc3RyICI8bm9tLWRlLXJlZmVyw6huY2lhPjo8ZXNwZXJhdD4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MyBidWlsdGluL3NlbmQtcGFjay5jOjE4MgorbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgorbXNnc3RyICJyZXF1ZXJlaXggcXVlIGVsIHZhbG9yIGFudGljIGRlIGxhIHJlZmVyw6huY2lhIHNpZ3VpIGQnYXF1ZXN0IHZhbG9yIgorCisjOiBidWlsdGluL3B1c2guYzo1NTYKK21zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCittc2dzdHIgImNvbnRyb2xhIGxhIHB1amFkYSByZWN1cnNpdmEgZGVscyBzdWJtw7JkdWxzIgorCisjOiBidWlsdGluL3B1c2guYzo1NTggYnVpbHRpbi9zZW5kLXBhY2suYzoxNzUKK21zZ2lkICJ1c2UgdGhpbiBwYWNrIgorbXNnc3RyICJ1c2EgZWwgcGFxdWV0IHByaW0iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1OSBidWlsdGluL3B1c2guYzo1NjAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCittc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCittc2dzdHIgInByb2dyYW1hIHF1ZSByZXAgZWxzIHBhcXVldHMiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2MQorbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIgorbXNnc3RyICJlc3RhYmxlaXggbGEgZm9udCBwZXIgYSBnaXQgcHVsbC9zdGF0dXMiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2NAorbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgorbXNnc3RyICJwb2RhIGxlcyByZWZlcsOobmNpZXMgZWxpbWluYWRlcyBsb2NhbG1lbnQiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2NgorbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgorbXNnc3RyICJldml0YSBlbCBsbGlnYW0gZGUgcHJlcHVqYWRhIgorCisjOiBidWlsdGluL3B1c2guYzo1NjcKK21zZ2lkICJwdXNoIG1pc3NpbmcgYnV0IHJlbGV2YW50IHRhZ3MiCittc2dzdHIgInB1amEgbGVzIGV0aXF1ZXRlcyBhYnNlbnRzIHBlcsOyIHJlbGxldmFudHMiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MCBidWlsdGluL3NlbmQtcGFjay5jOjE2OQorbXNnaWQgIkdQRyBzaWduIHRoZSBwdXNoIgorbXNnc3RyICJzaWduYSBsYSBwdWphZGEgYW1iIEdQRyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTcyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2Cittc2dpZCAicmVxdWVzdCBhdG9taWMgdHJhbnNhY3Rpb24gb24gcmVtb3RlIHNpZGUiCittc2dzdHIgImRlbWFuYSB1bmEgdHJhbnNhY2Npw7MgYXTDsm1pY2EgYWwgY29zdGF0IHJlbW90IgorCisjOiBidWlsdGluL3B1c2guYzo1OTAKK21zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKK21zZ3N0ciAiLS1kZWxldGUgw6lzIGluY29tcGF0aWJsZSBhbWIgLS1hbGwsIC0tbWlycm9yIGkgLS10YWdzIgorCisjOiBidWlsdGluL3B1c2guYzo1OTIKK21zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKK21zZ3N0ciAiLS1kZWxldGUgbm8gdMOpIHNlbnRpdCBzZW5zZSByZWZlcsOobmNpZXMiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjYxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgogbXNnc3RyICJkaXDDsnNpdCBpbmNvcnJlY3RlIMKrJXPCuyIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzk2CisjOiBidWlsdGluL3B1c2guYzo2MTMKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgogIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCkBAIC0xNDgwMywxMDUgKzE3NTc2LDI3IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIDxub20+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU1MQotbXNnaWQgInJlcG9zaXRvcnkiCi1tc2dzdHIgImRpcMOyc2l0IgotCi0jOiBidWlsdGluL3B1c2guYzo1NTIgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKLW1zZ2lkICJwdXNoIGFsbCByZWZzIgotbXNnc3RyICJwdWphIHRvdGVzIGxlcyByZWZlcsOobmNpZXMiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1MyBidWlsdGluL3NlbmQtcGFjay5jOjE2NgotbXNnaWQgIm1pcnJvciBhbGwgcmVmcyIKLW1zZ3N0ciAicmVmbGVjdGVpeCB0b3RlcyBsZXMgcmVmZXLDqG5jaWVzIgotCi0jOiBidWlsdGluL3B1c2guYzo1NTUKLW1zZ2lkICJkZWxldGUgcmVmcyIKLW1zZ3N0ciAic3VwcmltZWl4IGxlcyByZWZlcsOobmNpZXMiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1NgotbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKLW1zZ3N0ciAicHVqYSBsZXMgZXRpcXVldGVzIChubyBlcyBwb3QgdXNhciBhbWIgLS1hbGwgbyAtLW1pcnJvcikiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1OSBidWlsdGluL3NlbmQtcGFjay5jOjE2NwotbXNnaWQgImZvcmNlIHVwZGF0ZXMiCi1tc2dzdHIgImZvcsOnYSBsZXMgYWN0dWFsaXR6YWNpb25zIgotCi0jOiBidWlsdGluL3B1c2guYzo1NjEgYnVpbHRpbi9zZW5kLXBhY2suYzoxODEKLSMsIGZ1enp5Ci1tc2dpZCAiPHJlZm5hbWU+OjxleHBlY3Q+IgotbXNnc3RyICJub20tZGUtcmVmZXLDqG5jaWE+Ojxlc3BlcmF0IgotCi0jOiBidWlsdGluL3B1c2guYzo1NjIgYnVpbHRpbi9zZW5kLXBhY2suYzoxODIKLW1zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKLW1zZ3N0ciAicmVxdWVyZWl4IHF1ZSBlbCB2YWxvciBhbnRpYyBkZSBsYSByZWZlcsOobmNpYSBzaWd1aSBkJ2FxdWVzdCB2YWxvciIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTY1Ci1tc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgotbXNnc3RyICJjb250cm9sYSBsYSBwdWphZGEgcmVjdXJzaXZhIGRlbHMgc3VibcOyZHVscyIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTY3IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1Ci1tc2dpZCAidXNlIHRoaW4gcGFjayIKLW1zZ3N0ciAidXNhIGVsIHBhcXVldCBwcmltIgotCi0jOiBidWlsdGluL3B1c2guYzo1NjggYnVpbHRpbi9wdXNoLmM6NTY5IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MgotbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgotbXNnc3RyICJwcm9ncmFtYSBxdWUgcmVwIGVscyBwYXF1ZXRzIgotCi0jOiBidWlsdGluL3B1c2guYzo1NzAKLW1zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL3N0YXR1cyIKLW1zZ3N0ciAiZXN0YWJsZWl4IGxhIGZvbnQgcGVyIGEgZ2l0IHB1bGwvc3RhdHVzIgotCi0jOiBidWlsdGluL3B1c2guYzo1NzMKLW1zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKLW1zZ3N0ciAicG9kYSBsZXMgcmVmZXLDqG5jaWVzIGVsaW1pbmFkZXMgbG9jYWxtZW50IgotCi0jOiBidWlsdGluL3B1c2guYzo1NzUKLW1zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKLW1zZ3N0ciAiZXZpdGEgZWwgbGxpZ2FtIGRlIHByZXB1amFkYSIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTc2Ci1tc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgotbXNnc3RyICJwdWphIGxlcyBldGlxdWV0ZXMgYWJzZW50cyBwZXLDsiByZWxsZXZhbnRzIgotCi0jOiBidWlsdGluL3B1c2guYzo1NzkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKLW1zZ2lkICJHUEcgc2lnbiB0aGUgcHVzaCIKLW1zZ3N0ciAic2lnbmEgbGEgcHVqYWRhIGFtYiBHUEciCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU4MSBidWlsdGluL3NlbmQtcGFjay5jOjE3NgotbXNnaWQgInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIgotbXNnc3RyICJkZW1hbmEgdW5hIHRyYW5zYWNjacOzIGF0w7JtaWNhIGFsIGNvc3RhdCByZW1vdCIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTk5Ci1tc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCi1tc2dzdHIgIi0tZGVsZXRlIMOpcyBpbmNvbXBhdGlibGUgYW1iIC0tYWxsLCAtLW1pcnJvciBpIC0tdGFncyIKLQotIzogYnVpbHRpbi9wdXNoLmM6NjAxCi1tc2dpZCAiLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgYW55IHJlZnMiCi1tc2dzdHIgIi0tZGVsZXRlIG5vIHTDqSBzZW50aXQgc2Vuc2UgcmVmZXLDqG5jaWVzIgotCi0jOiBidWlsdGluL3B1c2guYzo2MDQKKyM6IGJ1aWx0aW4vcHVzaC5jOjYyOAogbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwgaSAtLXRhZ3Mgc8OzbiBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3B1c2guYzo2MDYKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzMAogbXNnaWQgIi0tYWxsIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIi0tYWxsIG5vIGVzIHBvdCBjb21iaW5hciBhbWIgZXNwZWNpZmljYWNpb25zIGRlIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL3B1c2guYzo2MTAKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzNAogbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1taXJyb3IgaSAtLXRhZ3Mgc8OzbiBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3B1c2guYzo2MTIKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzNgogbXNnaWQgIi0tbWlycm9yIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIi0tbWlycm9yIG5vIGVzIHBvdCBjb21iaW5hciBhbWIgZXNwZWNpZmljYWNpb25zIGRlIHJlZmVyw6huY2lhIgogCi0jOiBidWlsdGluL3B1c2guYzo2MTUKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzOQogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCBpIC0tbWlycm9yIHPDs24gaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjM0CisjOiBidWlsdGluL3B1c2guYzo2NDMKIG1zZ2lkICJwdXNoIG9wdGlvbnMgbXVzdCBub3QgaGF2ZSBuZXcgbGluZSBjaGFyYWN0ZXJzIgogbXNnc3RyICJsZXMgb3BjaW9ucyBkZSBwdWphZGEgbm8gaGFuIGRlIHRlbmlyIGNhcsOgY3RlcnMgZGUgbMOtbmlhIG5vdmEiCiAKQEAgLTE0OTE5LDI4ICsxNzYxNCwzOCBAQAogbXNnaWQgImdpdCByYW5nZS1kaWZmIFs8b3B0aW9ucz5dIDxiYXNlPiA8b2xkLXRpcD4gPG5ldy10aXA+IgogbXNnc3RyICJnaXQgbXYgWzxvcGNpb25zPl0gPGZvbnQ+Li4uIDxkZXN0w60+IgogCi0jOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyMQorIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjIKIG1zZ2lkICJQZXJjZW50YWdlIGJ5IHdoaWNoIGNyZWF0aW9uIGlzIHdlaWdodGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjIzCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyNAogbXNnaWQgInVzZSBzaW1wbGUgZGlmZiBjb2xvcnMiCiBtc2dzdHIgInV0aWxpdHphIGNvbG9ycyBzaW1wbGVzIGRlIGRpZmYiCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjYxIGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjY1CisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyNgorIywgZnV6enkKK21zZ2lkICJub3RlcyIKK21zZ3N0ciAibm90ZXMiCisKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjI2CisjLCBmdXp6eQorbXNnaWQgInBhc3NlZCB0byAnZ2l0IGxvZyciCittc2dzdHIgInBhc3NhLWhvIGEgwqtnaXQgYW3CuyIKKworIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NTAgYnVpbHRpbi9yYW5nZS1kaWZmLmM6NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gLi4gaW4gcmFuZ2U6ICclcyciCiBtc2dzdHIgImNhcCAuLiBlbiByYW5nOiDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjc1CisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzo2NAogbXNnaWQgInNpbmdsZSBhcmcgZm9ybWF0IG11c3QgYmUgc3ltbWV0cmljIHJhbmdlIgogbXNnc3RyICJlbCBmb3JtYXQgZGUgbCdhcmd1bWVudCDDum5pYyBoYSBkZSBzZXIgZGUgcmFuZyBzaW3DqHRyaWMiCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjkwCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzo3OQogbXNnaWQgIm5lZWQgdHdvIGNvbW1pdCByYW5nZXMiCiBtc2dzdHIgImNhbGVuIGRvcyByYW5ncyBkZSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDEKIG1zZ2lkICIiCiAiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxwcmVmaXg+KSAiCiAiWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLXNwYXJzZS1jaGVja291dF0gWy0tIgpAQCAtMTQ5NTAsMTE5ICsxNzY1NSwzMTkgQEAKICJbLXUgWy0tZXhjbHVkZS1wZXItZGlyZWN0b3J5PTxnaXRpZ25vcmU+XSB8IC1pXV0gWy0tbm8tc3BhcnNlLWNoZWNrb3V0XSBbLS0iCiAiaW5kZXgtb3V0cHV0PTxmaXR4ZXI+XSAoLS1lbXB0eSB8IDxhcmJyZTE+IFs8YXJicmUyPiBbPGFyYnJlMz5dXSkiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNAogbXNnaWQgIndyaXRlIHJlc3VsdGluZyBpbmRleCB0byA8ZmlsZT4iCiBtc2dzdHIgImVzY3JpdSBsJ8OtbmRleCByZXN1bHRhbnQgYWwgPGZpdHhlcj4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI2CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNwogbXNnaWQgIm9ubHkgZW1wdHkgdGhlIGluZGV4IgogbXNnc3RyICJub23DqXMgYnVpZGEgbCfDrW5kZXgiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI4CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOQogbXNnaWQgIk1lcmdpbmciCiBtc2dzdHIgIlMnZXN0w6AgZnVzaW9uYW50IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzEKIG1zZ2lkICJwZXJmb3JtIGEgbWVyZ2UgaW4gYWRkaXRpb24gdG8gYSByZWFkIgogbXNnc3RyICJyZWFsaXR6YSB1bmEgZnVzacOzIGEgbcOpcyBkJ3VuYSBsZWN0dXJhIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMgorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzMKIG1zZ2lkICIzLXdheSBtZXJnZSBpZiBubyBmaWxlIGxldmVsIG1lcmdpbmcgcmVxdWlyZWQiCiBtc2dzdHIgImZ1c2nDsyBkZSAzIHZpZXMgc2kgbm8gY2FsIGZ1c2nDsyBhIG5pdmVsbCBkZSBmaXR4ZXJzIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzUKIG1zZ2lkICIzLXdheSBtZXJnZSBpbiBwcmVzZW5jZSBvZiBhZGRzIGFuZCByZW1vdmVzIgogbXNnc3RyICJmdXNpw7MgZGUgMyB2aWVzIGVuIHByZXPDqG5jaWEgZCdhZmVnaW1lbnRzIGkgZWxpbWluYWNpb25zIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNgorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzcKIG1zZ2lkICJzYW1lIGFzIC1tLCBidXQgZGlzY2FyZCB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICJlbCBtYXRlaXggcXVlIC1tLCBwZXLDsiBkZXNjYXJ0YSBsZXMgZW50cmFkZXMgbm8gZnVzaW9uYWRlcyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM4CiBtc2dpZCAiPHN1YmRpcmVjdG9yeT4vIgogbXNnc3RyICI8c3ViZGlyZWN0b3JpPi8iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM4CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOQogbXNnaWQgInJlYWQgdGhlIHRyZWUgaW50byB0aGUgaW5kZXggdW5kZXIgPHN1YmRpcmVjdG9yeT4vIgogbXNnc3RyICJsbGVnaXUgbCdhcmJyZSBhIGwnw61uZGV4IHNvdGEgPHN1YmRpcmVjdG9yaT4vIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0MQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDIKIG1zZ2lkICJ1cGRhdGUgd29ya2luZyB0cmVlIHdpdGggbWVyZ2UgcmVzdWx0IgogbXNnc3RyICJhY3R1YWxpdHphIGwnYXJicmUgZGUgdHJlYmFsbCBhbWIgZWwgcmVzdWx0YXQgZGUgZnVzacOzIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0MworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDQKIG1zZ2lkICJnaXRpZ25vcmUiCiBtc2dzdHIgImdpdGlnbm9yZSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDQKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ1CiBtc2dpZCAiYWxsb3cgZXhwbGljaXRseSBpZ25vcmVkIGZpbGVzIHRvIGJlIG92ZXJ3cml0dGVuIgogbXNnc3RyICJwZXJtZXQgcXVlIGVscyBmaXR4ZXJzIGV4cGzDrWNpdGFtZW50IGlnbm9yYXRzIHNlIHNvYnJlZXNjcmlndWluIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDgKIG1zZ2lkICJkb24ndCBjaGVjayB0aGUgd29ya2luZyB0cmVlIGFmdGVyIG1lcmdpbmciCiBtc2dzdHIgIm5vIGNvbXByb3ZpcyBsJ2FyYnJlIGRlIHRyZWJhbGwgZGVzcHLDqXMgZGUgZnVzaW9uYXIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ4CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0OQogbXNnaWQgImRvbid0IHVwZGF0ZSB0aGUgaW5kZXggb3IgdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAibm8gYWN0dWFsaXR6aXMgbCfDrW5kZXggbmkgbCdhcmJyZSBkZSB0cmViYWxsIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1MAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTEKIG1zZ2lkICJza2lwIGFwcGx5aW5nIHNwYXJzZSBjaGVja291dCBmaWx0ZXIiCiBtc2dzdHIgIm9tZXQgbCdhcGxpY2FjacOzIGRlbCBmaWx0cmUgZCdhZ2FmYW1lbnQgcGFyY2lhbCIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTIKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUzCiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICJkZXB1cmEgdW5wYWNrLXRyZWVzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjI5CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1NworIywgZnV6enkKK21zZ2lkICJzdXBwcmVzcyBmZWVkYmFjayBtZXNzYWdlcyIKK21zZ3N0ciAib21ldCBlbHMgbWlzc2F0Z2VzIGluZm9ybWF0aXVzIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE4OAorIywgZnV6enkKK21zZ2lkICJZb3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKK21zZ3N0ciAiaGV1IGRlIHByaW1lciByZXNvbGRyZSBlbCB2b3N0cmUgw61uZGV4IGFjdHVhbCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzozMgogIywgZnV6enkKIG1zZ2lkICIiCi0iZ2l0IHJlYmFzZSBbLWldIFtvcHRpb25zXSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPl0gWzx1cHN0cmVhbT5dICIKLSJbPGJyYW5jaD5dIgorImdpdCByZWJhc2UgWy1pXSBbb3B0aW9uc10gWy0tZXhlYyA8Y21kPl0gWy0tb250byA8bmV3YmFzZT4gfCAtLWtlZXAtYmFzZV0gIgorIls8dXBzdHJlYW0+IFs8YnJhbmNoPl1dIgogbXNnc3RyICIiCiAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPGRpcMOyc2l0PiBbLS1leGVjIDxvcmRyZT5dIFs8b3BjaW9ucz5dIDxhcmJyZT4gIgogIls8Y2Ftw60+Li4uXSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzozMQorIzogYnVpbHRpbi9yZWJhc2UuYzozNAogbXNnaWQgIiIKICJnaXQgcmViYXNlIFstaV0gW29wdGlvbnNdIFstLWV4ZWMgPGNtZD5dIFstLW9udG8gPG5ld2Jhc2U+XSAtLXJvb3QgWzxicmFuY2g+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjMzCisjOiBidWlsdGluL3JlYmFzZS5jOjM2CiBtc2dpZCAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIHwgLS1hYm9ydCB8IC0tc2tpcCB8IC0tZWRpdC10b2RvIgogbXNnc3RyICJnaXQgcmViYXNlIC0tY29udGludWUgfCAtLWFib3J0IHwgLS1za2lwIHwgLS1lZGl0LXRvZG8iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTE5CisjOiBidWlsdGluL3JlYmFzZS5jOjE3NyBidWlsdGluL3JlYmFzZS5jOjIwMSBidWlsdGluL3JlYmFzZS5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnVzYWJsZSB0b2RvIGxpc3Q6ICclcyciCittc2dzdHIgImxsaXN0YSBwZXIgYSBmZXIgaW5lc3RhYmxlOiDCqyVzwrsiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg2IGJ1aWx0aW4vcmViYXNlLmM6MjEyIGJ1aWx0aW4vcmViYXNlLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSAnJXMnLiIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBhIMKrJXPCuy4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjcxCittc2dpZCAibm8gSEVBRD8iCittc2dzdHIgIm5vIGhpIGhhIGNhcCBIRUFEPyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJXMiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgZWwgZml0eGVyIHRlbXBvcmFsICVzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjMwNAorbXNnaWQgImNvdWxkIG5vdCBtYXJrIGFzIGludGVyYWN0aXZlIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG1hcmNhciBjb20gYSBpbnRlcmFjdGl1IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjM2MgorbXNnaWQgImNvdWxkIG5vdCBnZW5lcmF0ZSB0b2RvIGxpc3QiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZ2VuZXJhciBsYSBsbGlzdGEgcGVyIGEgZmVyIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQwMgorbXNnaWQgImEgYmFzZSBjb21taXQgbXVzdCBiZSBwcm92aWRlZCB3aXRoIC0tdXBzdHJlYW0gb3IgLS1vbnRvIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDU3Cittc2dpZCAiZ2l0IHJlYmFzZS0taW50ZXJhY3RpdmUgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCByZWJhc2UtLWludGVyYWN0aXZlIFs8b3BjaW9ucz5dIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ2OQorbXNnaWQgImtlZXAgZW1wdHkgY29tbWl0cyIKK21zZ3N0ciAibWFudMOpbiBsZXMgY29taXNzaW9ucyBidWlkZXMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDcxIGJ1aWx0aW4vcmV2ZXJ0LmM6MTI4Cittc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgorbXNnc3RyICJwZXJtZXQgbGVzIGNvbWlzc2lvbnMgYW1iIG1pc3NhdGdlcyBidWl0cyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzIKK21zZ2lkICJyZWJhc2UgbWVyZ2UgY29tbWl0cyIKK21zZ3N0ciAiZmVzIMKrcmViYXNlwrsgZGUgbGVzIGNvbWlzc2lvbnMgZGUgZnVzacOzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3NAorbXNnaWQgImtlZXAgb3JpZ2luYWwgYnJhbmNoIHBvaW50cyBvZiBjb3VzaW5zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDc2Cittc2dpZCAibW92ZSBjb21taXRzIHRoYXQgYmVnaW4gd2l0aCBzcXVhc2ghL2ZpeHVwISIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3NworbXNnaWQgInNpZ24gY29tbWl0cyIKK21zZ3N0ciAic2lnbmEgbGVzIGNvbWlzc2lvbnMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDc5IGJ1aWx0aW4vcmViYXNlLmM6MTQ1NQorbXNnaWQgImRpc3BsYXkgYSBkaWZmc3RhdCBvZiB3aGF0IGNoYW5nZWQgdXBzdHJlYW0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0ODEKK21zZ2lkICJjb250aW51ZSByZWJhc2UiCittc2dzdHIgImNvbnRpbnVhIGVsIMKrcmViYXNlwrsiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDgzCittc2dpZCAic2tpcCBjb21taXQiCittc2dzdHIgIm9tZXQgbGEgY29taXNzacOzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4NAorbXNnaWQgImVkaXQgdGhlIHRvZG8gbGlzdCIKK21zZ3N0ciAiZWRpdGEgbGEgbGxpc3RhIGEgZmVyIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4NgorbXNnaWQgInNob3cgdGhlIGN1cnJlbnQgcGF0Y2giCittc2dzdHIgIm1vc3RyYSBlbCBwZWRhw6cgYWN0dWFsIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4OQorbXNnaWQgInNob3J0ZW4gY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICJlc2N1csOnYSBlbHMgaWRzIGRlIGxlcyBjb21pc3Npb25zIGVuIGxhIGxsaXN0YSBwZXIgYSBmZXIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDkxCittc2dpZCAiZXhwYW5kIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKK21zZ3N0ciAiZXhwYW5kZWl4IGVscyBpZHMgZGUgbGVzIGNvbWlzc2lvbnMgZW4gbGEgbGxpc3RhIHBlciBhIGZlciIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTMKK21zZ2lkICJjaGVjayB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICJjb21wcm92YSBsYSBsbGlzdGEgYSBmZXIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDk1Cittc2dpZCAicmVhcnJhbmdlIGZpeHVwL3NxdWFzaCBsaW5lcyIKK21zZ3N0ciAicmVvcmdhbml0emEgbGVzIGzDrW5pZXMgwqtmaXh1cC9waWNrwrsiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDk3Cittc2dpZCAiaW5zZXJ0IGV4ZWMgY29tbWFuZHMgaW4gdG9kbyBsaXN0IgorbXNnc3RyICJleHBhbmRlaXggbGVzIG9yZHJlcyBleGVjIGVuIGxhIGxsaXN0YSBwZXIgYSBmZXIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDk4Cittc2dpZCAib250byIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwMQorIywgZnV6enkKK21zZ2lkICJyZXN0cmljdC1yZXZpc2lvbiIKK21zZ3N0ciAicmV2aXNpw7MiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTAxCisjLCBmdXp6eQorbXNnaWQgInJlc3RyaWN0IHJldmlzaW9uIgorbXNnc3RyICJyZXZpc2nDsyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDMKK21zZ2lkICJzcXVhc2gtb250byIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwNAorbXNnaWQgInNxdWFzaCBvbnRvIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA2CisjLCBmdXp6eQorbXNnaWQgInRoZSB1cHN0cmVhbSBjb21taXQiCittc2dzdHIgIkRlc2Fzc2lnbmEgbGEgaW5mb3JtYWNpw7MgZGUgZm9udCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDgKKyMsIGZ1enp5Cittc2dpZCAiaGVhZC1uYW1lIgorbXNnc3RyICJjYW52aSBkZSBub20iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA4CisjLCBmdXp6eQorbXNnaWQgImhlYWQgbmFtZSIKK21zZ3N0ciAiZGF2YW50IHBlciAiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTEzCisjLCBmdXp6eQorbXNnaWQgInJlYmFzZSBzdHJhdGVneSIKK21zZ3N0ciAiZXN0cmF0w6hnaWEgZGUgZnVzacOzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxNAorIywgZnV6enkKK21zZ2lkICJzdHJhdGVneS1vcHRzIgorbXNnc3RyICJlc3RyYXTDqGdpYSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTUKKyMsIGZ1enp5Cittc2dpZCAic3RyYXRlZ3kgb3B0aW9ucyIKK21zZ3N0ciAib3BjaW9ucyBkZSBkZWNvcmFjacOzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxNgorbXNnaWQgInN3aXRjaC10byIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxNworbXNnaWQgInRoZSBicmFuY2ggb3IgY29tbWl0IHRvIGNoZWNrb3V0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE4CisjLCBmdXp6eQorbXNnaWQgIm9udG8tbmFtZSIKK21zZ3N0ciAibm9tIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOAorIywgZnV6enkKK21zZ2lkICJvbnRvIG5hbWUiCittc2dzdHIgIm5vbSBkZWwgcmVtb3QiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE5CisjLCBmdXp6eQorbXNnaWQgImNtZCIKK21zZ3N0ciAib3JkcmUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE5Cittc2dpZCAidGhlIGNvbW1hbmQgdG8gcnVuIgorbXNnc3RyICJsJ29yZHJlIGEgZXhlY3V0YXIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTIyIGJ1aWx0aW4vcmViYXNlLmM6MTU0MAorbXNnaWQgImF1dG9tYXRpY2FsbHkgcmUtc2NoZWR1bGUgYW55IGBleGVjYCB0aGF0IGZhaWxzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTQwCittc2dpZCAiLS1bbm8tXXJlYmFzZS1jb3VzaW5zIGhhcyBubyBlZmZlY3Qgd2l0aG91dCAtLXJlYmFzZS1tZXJnZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcmVxdWlyZXMgYW4gaW50ZXJhY3RpdmUgcmViYXNlIgogbXNnc3RyICIlcyByZXF1ZXJlaXggdW4gwqtyZWJhc2XCuyBpbnRlcmFjdGl1IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE3MQorIzogYnVpbHRpbi9yZWJhc2UuYzo2MDgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgJ29udG8nOiAnJXMnIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzdGFibGlyIMKrJXPCuyBhIMKrJXPCuyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxODYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NjIzCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9yaWctaGVhZDogJyVzJyIKIG1zZ3N0ciAiZml0eGVyIG5vIHbDoGxpZDogwqslc8K7IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjIxNAorIzogYnVpbHRpbi9yZWJhc2UuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgaW52YWxpZCBhbGxvd19yZXJlcmVfYXV0b3VwZGF0ZTogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjI1OQorIzogYnVpbHRpbi9yZWJhc2UuYzo3MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBsbGVnaXIgwqslc8K7IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjI3NworIzogYnVpbHRpbi9yZWJhc2UuYzo3NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN0b3JlICVzIgogbXNnc3RyICJObyBlcyBwb3QgZW1tYWdhdHplbWFyICVzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjMzNworIzogYnVpbHRpbi9yZWJhc2UuYzo4NDkKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIEhFQUQgcmV2aXNpb24iCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZGV0ZXJtaW5hciBsYSByZXZpc2nDsyBkZSBIRUFEIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjk3MiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODEKIG1zZ2lkICIiCiAiUmVzb2x2ZSBhbGwgY29uZmxpY3RzIG1hbnVhbGx5LCBtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgd2l0aFxuIgogIlwiZ2l0IGFkZC9ybSA8Y29uZmxpY3RlZF9maWxlcz5cIiwgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKQEAgLTE1MDc3LDEyICsxNzk4MiwyMCBAQAogIlBlciBhIGF2b3J0YXIgaSB0b3JuYXIgYSBsJ2VzdGF0IGFudGVyaW9yIGFiYW5zIGRlIGwnb3JkcmUgwqtnaXQgcmViYXNlwrssICIKICJleGVjdXRldSDCq2dpdCByZWJhc2UgLS1hYm9ydMK7LiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo1NjEKLW1zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIEhFQUQgcmV2aXNpb24iCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgZGV0ZXJtaW5hciBsYSByZXZpc2nDsyBkZSBIRUFEIgorIzogYnVpbHRpbi9yZWJhc2UuYzoxMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJnaXQgZW5jb3VudGVyZWQgYW4gZXJyb3Igd2hpbGUgcHJlcGFyaW5nIHRoZSBwYXRjaGVzIHRvIHJlcGxheVxuIgorInRoZXNlIHJldmlzaW9uczpcbiIKKyJcbiIKKyIgICAgJXNcbiIKKyJcbiIKKyJBcyBhIHJlc3VsdCwgZ2l0IGNhbm5vdCByZWJhc2UgdGhlbS4iCittc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo3NTIKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbi9yZWJhc2UuYzoxMzY3CisjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlc1xuIgogIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byByZWJhc2UgYWdhaW5zdC5cbiIKQEAgLTE1MDkwLDEwICsxODAwMywxNiBAQAogIlxuIgogIiAgICBnaXQgcmViYXNlICc8YnJhbmNoPidcbiIKICJcbiIKLW1zZ3N0ciAiRXNwZWNpZmlxdWV1IHNvYnJlIHF1w6ggYnJhbmNhIHZvbGV1IGZlciDCq3JlYmFzZcK7LiIKK21zZ3N0ciAiIgorIiVzXG4iCisiRXNwZWNpZmlxdWV1IHNvYnJlIHF1w6ggYnJhbmNhIHZvbGV1IGZlciDCq3JlYmFzZcK7LlxuIgorIlZlZ2V1IGdpdC1yZWJhc2UoMSkgcGVyIGRldGFsbHMuXG4iCisiXG4iCisiICAgIGdpdCByZWJhc2UgJzxicmFuY2E+J1xuIgorIlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjc2OAotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGluL3JlYmFzZS5jOjEzODMKKyMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNldCB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhpcyBicmFuY2ggeW91IGNhbiBkbyBzbyB3aXRoOlxuIgogIlxuIgpAQCAtMTUxMDEsMTYwICsxODAyMCwyMDAgQEAKICJcbiIKIG1zZ3N0ciAiIgogIlNpIHZvbGV1IGVzdGFibGlyIGluZm9ybWFjacOzIGRlIHNlZ3VpbWVudCBwZXIgYSBhcXVlc3RhIGJyYW5jYSwgcG9kZXUgZmVyLWhvICIKLSJhbWI6IgorImFtYjpcbiIKKyJcbiIKKyIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10bz0lcy88YnJhbmNoPiAlc1xuIgorIlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjgxNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDEzCisjLCBmdXp6eQorbXNnaWQgImV4ZWMgY29tbWFuZHMgY2Fubm90IGNvbnRhaW4gbmV3bGluZXMiCittc2dzdHIgImV4cGFuZGVpeCBsZXMgb3JkcmVzIGV4ZWMgZW4gbGEgbGxpc3RhIHBlciBhIGZlciIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDE3Cittc2dpZCAiZW1wdHkgZXhlYyBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ0NgogbXNnaWQgInJlYmFzZSBvbnRvIGdpdmVuIGJyYW5jaCBpbnN0ZWFkIG9mIHVwc3RyZWFtIgogbXNnc3RyICJmZXMgdW4gwqtyZWJhc2XCuyBlbiBsYSBicmFuY2EgZG9uYWRhIGVuIGNvbXB0ZXMgZGUgbGEgZm9udCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4MTYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ0OAorIywgZnV6enkKK21zZ2lkICJ1c2UgdGhlIG1lcmdlLWJhc2Ugb2YgdXBzdHJlYW0gYW5kIGJyYW5jaCBhcyB0aGUgY3VycmVudCBiYXNlIgorbXNnc3RyICJsYSBicmFuY2EgZm9udCBkZW1hbmFkYSDCqyVzwrsgbm8gZXhpc3RlaXgiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1MAogbXNnaWQgImFsbG93IHByZS1yZWJhc2UgaG9vayB0byBydW4iCiBtc2dzdHIgInBlcm1ldCBhbCBsbGlnYW0gcHJlLXJlYmFzZSBleGVjdXRhci1zZSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4MTgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1MgogbXNnaWQgImJlIHF1aWV0LiBpbXBsaWVzIC0tbm8tc3RhdCIKIG1zZ3N0ciAic2lsZW5jacOzcy4gSW1wbGljYSAtLW5vLXN0YXQiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODIxCi1tc2dpZCAiZGlzcGxheSBhIGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS5jOjgyNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDU4CiAjLCBmdXp6eQogbXNnaWQgImRvIG5vdCBzaG93IGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbSIKIG1zZ3N0ciAibm8gbW9zdHJpcyBsZXMgZXN0YWTDrXN0aXF1ZXMgZGUgZGlmZXLDqG5jaWEgYWwgZmluYWwgZGUgbGEgZnVzacOzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjgyNworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDYxCiAjLCBmdXp6eQogbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnk6IGxpbmUgdG8gZWFjaCBjb21taXQiCiBtc2dzdHIgImFmZWdlaXggdW5hIGzDrW5pYSDCq1NpZ25lZC1vZmYtYnnCuyBhbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODI5IGJ1aWx0aW4vcmViYXNlLmM6ODMzIGJ1aWx0aW4vcmViYXNlLmM6ODM1Ci1tc2dpZCAicGFzc2VkIHRvICdnaXQgYW0nIgotbXNnc3RyICJwYXNzYS1obyBhIMKrZ2l0IGFtwrsiCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NjQKKyMsIGZ1enp5Cittc2dpZCAibWFrZSBjb21taXR0ZXIgZGF0ZSBtYXRjaCBhdXRob3IgZGF0ZSIKK21zZ3N0ciAiQWdydXBhIHBlciDCq2NvbWl0dGVywrsgZW4gY29tcHRlcyBkZSBwZXIgYXV0b3IiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODM3IGJ1aWx0aW4vcmViYXNlLmM6ODM5CisjOiBidWlsdGluL3JlYmFzZS5jOjE0NjYKK21zZ2lkICJpZ25vcmUgYXV0aG9yIGRhdGUgYW5kIHVzZSBjdXJyZW50IGRhdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDY4CisjLCBmdXp6eQorbXNnaWQgInN5bm9ueW0gb2YgLS1yZXNldC1hdXRob3ItZGF0ZSIKK21zZ3N0ciAic2luw7JuaW0gZGUgLS1maWxlcy13aXRoLW1hdGNoZXMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3MCBidWlsdGluL3JlYmFzZS5jOjE0NzQKIG1zZ2lkICJwYXNzZWQgdG8gJ2dpdCBhcHBseSciCiBtc2dzdHIgInBhc3NhLWhvIGEgwqtnaXQtYXBwbHnCuyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NDEgYnVpbHRpbi9yZWJhc2UuYzo4NDQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3MgorIywgZnV6enkKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIgorbXNnc3RyICJpZ25vcmEgZWxzIGNhbnZpcyBkJ2VzcGFpIGVuIGJsYW5jIGFsIGZpbmFsIGRlIGxhIGzDrW5pYSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDc2IGJ1aWx0aW4vcmViYXNlLmM6MTQ3OQogbXNnaWQgImNoZXJyeS1waWNrIGFsbCBjb21taXRzLCBldmVuIGlmIHVuY2hhbmdlZCIKIG1zZ3N0ciAiwqtjaGVycnkgcGlja8K7IHRvdGVzIGxlcyBjb21pc3Npb25zLCBpbmNsw7pzIGxlcyBubyBjYW52aWFkZXMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODQ2CisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODEKIG1zZ2lkICJjb250aW51ZSIKIG1zZ3N0ciAiY29udGludWEiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODQ5CisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODQKIG1zZ2lkICJza2lwIGN1cnJlbnQgcGF0Y2ggYW5kIGNvbnRpbnVlIgogbXNnc3RyICJvbWV0IGVsIHBlZGHDpyBhY3R1YWwgaSBjb250aW51YSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NTEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ4NgogbXNnaWQgImFib3J0IGFuZCBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCIKIG1zZ3N0ciAiaW50ZXJyb21wIGkgYWdhZmEgbGEgYnJhbmNhIG9yaWdpbmFsIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg1NAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDg5CiBtc2dpZCAiYWJvcnQgYnV0IGtlZXAgSEVBRCB3aGVyZSBpdCBpcyIKIG1zZ3N0ciAiaW50ZXJyb21wIHBlcsOyIG1hbnTDqSBIRUFEIG9uIMOpcyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NTUKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ5MAogbXNnaWQgImVkaXQgdGhlIHRvZG8gbGlzdCBkdXJpbmcgYW4gaW50ZXJhY3RpdmUgcmViYXNlIgogbXNnc3RyICJlZGl0YSBsYSBsbGlzdGEgZGUgY29zZXMgYSBmZXIgZHVyYW50IHVuIMKrcmViYXNlwrsgaW50ZXJhY3RpdSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NTgKLSMsIGZ1enp5CisjOiBidWlsdGluL3JlYmFzZS5jOjE0OTMKIG1zZ2lkICJzaG93IHRoZSBwYXRjaCBmaWxlIGJlaW5nIGFwcGxpZWQgb3IgbWVyZ2VkIgotbXNnc3RyICJtb3N0cmEgZWwgcGVkYcOnIHF1ZSBzJ2VzdMOgIGFwbGljYW50LiIKK21zZ3N0ciAibW9zdHJhIGVsIHBlZGHDpyBxdWUgcydlc3TDoCBhcGxpY2FudCBvIGZ1c2lvbmFudCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NjEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ5NgogIywgZnV6enkKIG1zZ2lkICJ1c2UgbWVyZ2luZyBzdHJhdGVnaWVzIHRvIHJlYmFzZSIKIG1zZ3N0ciAiZXN0cmF0w6hnaWEgZGUgZnVzacOzIGEgdXNhciIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NjUKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwMAogbXNnaWQgImxldCB0aGUgdXNlciBlZGl0IHRoZSBsaXN0IG9mIGNvbW1pdHMgdG8gcmViYXNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODY5Ci1tc2dpZCAidHJ5IHRvIHJlY3JlYXRlIG1lcmdlcyBpbnN0ZWFkIG9mIGlnbm9yaW5nIHRoZW0iCi1tc2dzdHIgIiIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwNAorIywgZnV6enkKK21zZ2lkICIoREVQUkVDQVRFRCkgdHJ5IHRvIHJlY3JlYXRlIG1lcmdlcyBpbnN0ZWFkIG9mIGlnbm9yaW5nIHRoZW0iCittc2dzdHIgImludGVudGEgcmVjcmVhciBsZXMgIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg3MwotbXNnaWQgImFsbG93IHJlcmVyZSB0byB1cGRhdGUgaW5kZXggIHdpdGggcmVzb2x2ZWQgY29uZmxpY3QiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzo4NzYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwOQogIywgZnV6enkKIG1zZ2lkICJwcmVzZXJ2ZSBlbXB0eSBjb21taXRzIGR1cmluZyByZWJhc2UiCiBtc2dzdHIgInByZXNlcnZhIGxlcyBjb21pc3Npb25zIGluaWNpYWxtZW50IGJ1aWRlcyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NzgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxMQogbXNnaWQgIm1vdmUgY29tbWl0cyB0aGF0IGJlZ2luIHdpdGggc3F1YXNoIS9maXh1cCEgdW5kZXIgLWkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4ODQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxNwogIywgZnV6enkKIG1zZ2lkICJhdXRvbWF0aWNhbGx5IHN0YXNoL3N0YXNoIHBvcCBiZWZvcmUgYW5kIGFmdGVyIgogbXNnc3RyICIiCiAiZmVzIMKrc3Rhc2jCuyBpIMKrc3Rhc2ggcG9wwrsgYXV0b23DoHRpY2FtZW50IGFiYW5zIGkgZGVzcHLDqXMgZGUgZmVyIMKrcmViYXNlwrsiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODg2CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MTkKIG1zZ2lkICJhZGQgZXhlYyBsaW5lcyBhZnRlciBlYWNoIGNvbW1pdCBvZiB0aGUgZWRpdGFibGUgbGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg5MAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTIzCiAjLCBmdXp6eQogbXNnaWQgImFsbG93IHJlYmFzaW5nIGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKIG1zZ3N0ciAicGVybWV0IGxlcyBjb21pc3Npb25zIGFtYiBtaXNzYXRnZXMgYnVpdHMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODkzCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MjYKIG1zZ2lkICJ0cnkgdG8gcmViYXNlIG1lcmdlcyBpbnN0ZWFkIG9mIHNraXBwaW5nIHRoZW0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4OTYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyOQogIywgZnV6enkKIG1zZ2lkICJ1c2UgJ21lcmdlLWJhc2UgLS1mb3JrLXBvaW50JyB0byByZWZpbmUgdXBzdHJlYW0iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmVmZXLDqG5jaWE+IFs8Y29taXNzacOzPl0iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODk4Ci0jLCBmdXp6eQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTMxCiBtc2dpZCAidXNlIHRoZSBnaXZlbiBtZXJnZSBzdHJhdGVneSIKLW1zZ3N0ciAib3BjacOzIGQnZXN0cmF0w6hnaWEgZGUgZnVzacOzIgorbXNnc3RyICJ1dGlsaXR6YSBsJ2VzdHJhdMOoZ2lhIGRlIGZ1c2nDsyBkb25hZGEiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTAwIGJ1aWx0aW4vcmV2ZXJ0LmM6MTExCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MzMgYnVpbHRpbi9yZXZlcnQuYzoxMTUKIG1zZ2lkICJvcHRpb24iCiBtc2dzdHIgIm9wY2nDsyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MDEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzNAogbXNnaWQgInBhc3MgdGhlIGFyZ3VtZW50IHRocm91Z2ggdG8gdGhlIG1lcmdlIHN0cmF0ZWd5IgotbXNnc3RyICJwYXNzYSBsJ2FyZ3VtZW50IGEgbCdlc3RyYXTDqGdpYSBkZSBmdXNzacOzIgorbXNnc3RyICJwYXNzYSBsJ2FyZ3VtZW50IGEgbCdlc3RyYXTDqGdpYSBkZSBmdXNpw7MiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTA0CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MzcKIG1zZ2lkICJyZWJhc2UgYWxsIHJlYWNoYWJsZSBjb21taXRzIHVwIHRvIHRoZSByb290KHMpIgogbXNnc3RyICJmZXMgwqtyZWJhc2XCuyBkZSB0b3RlcyBsZXMgY29taXNzaW9ucyBhY2Nlc3NpYmxlcyBmaW5zIGwnYXJyZWwiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTIwCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBleGVjICVzIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyICVzIgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTU0Cittc2dpZCAiIgorInRoZSByZWJhc2UudXNlQnVpbHRpbiBzdXBwb3J0IGhhcyBiZWVuIHJlbW92ZWQhXG4iCisiU2VlIGl0cyBlbnRyeSBpbiAnZ2l0IGhlbHAgY29uZmlnJyBmb3IgZGV0YWlscy4iCittc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MzggZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6MjEzCisjOiBidWlsdGluL3JlYmFzZS5jOjE1NjAKIG1zZ2lkICJJdCBsb29rcyBsaWtlICdnaXQgYW0nIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKIG1zZ3N0ciAiU2VtYmxhIHF1ZSDCq2dpdCBhbcK7IGVzdMOgIGVuIGN1cnMuIE5vIGVzIHBvdCBmZXIgwqtyZWJhc2XCuy4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTc5IGdpdC1sZWdhY3ktcmViYXNlLnNoOjM4NworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjAxCisjLCBmdXp6eQorbXNnaWQgIiIKKyJnaXQgcmViYXNlIC0tcHJlc2VydmUtbWVyZ2VzIGlzIGRlcHJlY2F0ZWQuIFVzZSAtLXJlYmFzZS1tZXJnZXMgaW5zdGVhZC4iCittc2dzdHIgImVycm9yOiBubyBlcyBwb3QgY29tYmluYXIgwqstLXByZXNlcnZlLW1lcmdlc8K7IGFtYiDCqy0tcmViYXNlLW1lcmdlc8K7IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2MDYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0ta2VlcC1iYXNlJyB3aXRoICctLW9udG8nIgorbXNnc3RyICJlcnJvcjogbm8gZXMgcG90IGNvbWJpbmFyIMKrLS1yZWJhc2UtbWVyZ2VzwrsgYW1iIMKrLS1zdHJhdGVnecK7IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2MDgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0ta2VlcC1iYXNlJyB3aXRoICctLXJvb3QnIgorbXNnc3RyICJlcnJvcjogbm8gZXMgcG90IGNvbWJpbmFyIMKrLS1yZWJhc2UtbWVyZ2VzwrsgYW1iIMKrLS1zdHJhdGVnecK7IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2MTIKIG1zZ2lkICJObyByZWJhc2UgaW4gcHJvZ3Jlc3M/IgogbXNnc3RyICJObyBoaSBoYSB1biDCq3JlYmFzZcK7IGVuIGN1cnM/IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjk4MiBnaXQtbGVnYWN5LXJlYmFzZS5zaDozOTgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYxNgogbXNnaWQgIlRoZSAtLWVkaXQtdG9kbyBhY3Rpb24gY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgaW50ZXJhY3RpdmUgcmViYXNlLiIKIG1zZ3N0ciAiTCdhY2Npw7MgLS1lZGl0LXRvZG8gbm9tw6lzIGVzIHBvdCB1c2FyIGR1cmFudCB1biDCq3JlYmFzZcK7IGludGVyYWN0aXUuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjk5NSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0MDUKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYzOQogbXNnaWQgIkNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIk5vIGVzIHBvdCBsbGVnaXIgSEVBRCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDA4IGdpdC1sZWdhY3ktcmViYXNlLnNoOjQwOAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNjUxCiBtc2dpZCAiIgogIllvdSBtdXN0IGVkaXQgYWxsIG1lcmdlIGNvbmZsaWN0cyBhbmQgdGhlblxuIgogIm1hcmsgdGhlbSBhcyByZXNvbHZlZCB1c2luZyBnaXQgYWRkIgpAQCAtMTUyNjIsMjEgKzE4MjIxLDE2IEBACiAiSGV1IGQnZWRpdGFyIHRvdHMgZWxzIGNvbmZsaWN0ZXMgZGUgZnVzacOzIGkgZGVzcHLDqXNcbiIKICJtYXJjYXItbG9zIGNvbSBhIHJlc29sdHMgZmVudCBzZXJ2aXIgZ2l0IGFkZCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDI2CisjOiBidWlsdGluL3JlYmFzZS5jOjE2NzAKIG1zZ2lkICJjb3VsZCBub3QgZGlzY2FyZCB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICJubyBzJ2hhbiBwb2d1dCBkZXNjYXJ0YXIgZWxzIGNhbnZpcyBkZSBsJ2FyYnJlIGRlIHRyZWJhbGwiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTA0NAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgdG9ybmFyIGEgJXMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTA1NSBidWlsdGluL3JtLmM6MzY4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgJyVzJyIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBzdXByaW1pciDCqyVzwrsiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTA4MQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNzM0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJXMgZGlyZWN0b3J5LCBhbmRcbiIKQEAgLTE1Mjk3LDM1NCArMTgyNTEsMTY2IEBACiAiaSBleGVjdXRldS1tZSBkZSBub3UuIE0nYXR1cm8gcGVyIHNpIGVuY2FyYSBoaSB0ZW5pdSBhbGd1bmEgY29zYVxuIgogImRlIHZhbG9yLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTAyCi0jLCBmdXp6eQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNzU3CiBtc2dpZCAic3dpdGNoIGBDJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgotbXNnc3RyICJsJ29wY2nDsyDCqyVjwrsgZXNwZXJhIHVuIHZhbG9yIG51bcOocmljIgorbXNnc3RyICLCq3N3aXRjaMK7IMKrY8K7IGVzcGVyYSB1biB2YWxvciBudW3DqHJpYyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTM5CisjOiBidWlsdGluL3JlYmFzZS5jOjE3OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBtb2RlOiAlcyIKIG1zZ3N0ciAiTW9kZSBkZXNjb25lZ3V0OiAlcyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTYxCisjOiBidWlsdGluL3JlYmFzZS5jOjE4MjAKIG1zZ2lkICItLXN0cmF0ZWd5IHJlcXVpcmVzIC0tbWVyZ2Ugb3IgLS1pbnRlcmFjdGl2ZSIKIG1zZ3N0ciAiLS1zdHJhdGVneSByZXF1ZXJlaXggLS1tZXJnZSBvIC0taW50ZXJhY3RpdmUiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTIwNAotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iZXJyb3I6IGNhbm5vdCBjb21iaW5lIGludGVyYWN0aXZlIG9wdGlvbnMgKC0taW50ZXJhY3RpdmUsIC0tZXhlYywgLS1yZWJhc2UtIgotIm1lcmdlcywgLS1wcmVzZXJ2ZS1tZXJnZXMsIC0ta2VlcC1lbXB0eSwgLS1yb290ICsgLS1vbnRvKSB3aXRoIGFtIG9wdGlvbnMgIgotIiglcykiCisjOiBidWlsdGluL3JlYmFzZS5jOjE4NjAKKyMsIGZ1enp5Cittc2dpZCAiLS1yZXNjaGVkdWxlLWZhaWxlZC1leGVjIHJlcXVpcmVzIC0tZXhlYyBvciAtLWludGVyYWN0aXZlIgorbXNnc3RyICItLXN0cmF0ZWd5IHJlcXVlcmVpeCAtLW1lcmdlIG8gLS1pbnRlcmFjdGl2ZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxODcyCittc2dpZCAiY2Fubm90IGNvbWJpbmUgYW0gb3B0aW9ucyB3aXRoIGVpdGhlciBpbnRlcmFjdGl2ZSBvciBtZXJnZSBvcHRpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTIwOQotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iZXJyb3I6IGNhbm5vdCBjb21iaW5lIG1lcmdlIG9wdGlvbnMgKC0tbWVyZ2UsIC0tc3RyYXRlZ3ksIC0tc3RyYXRlZ3ktb3B0aW9uKSAiCi0id2l0aCBhbSBvcHRpb25zICglcykiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjI5IGdpdC1sZWdhY3ktcmViYXNlLnNoOjUyOAotbXNnaWQgImVycm9yOiBjYW5ub3QgY29tYmluZSAnLS1wcmVzZXJ2ZS1tZXJnZXMnIHdpdGggJy0tcmViYXNlLW1lcmdlcyciCisjOiBidWlsdGluL3JlYmFzZS5jOjE4OTEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0tcHJlc2VydmUtbWVyZ2VzJyB3aXRoICctLXJlYmFzZS1tZXJnZXMnIgogbXNnc3RyICJlcnJvcjogbm8gZXMgcG90IGNvbWJpbmFyIMKrLS1wcmVzZXJ2ZS1tZXJnZXPCuyBhbWIgwqstLXJlYmFzZS1tZXJnZXPCuyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjM0IGdpdC1sZWdhY3ktcmViYXNlLnNoOjUzNAotbXNnaWQgImVycm9yOiBjYW5ub3QgY29tYmluZSAnLS1yZWJhc2UtbWVyZ2VzJyB3aXRoICctLXN0cmF0ZWd5LW9wdGlvbiciCi1tc2dzdHIgImVycm9yOiBubyBlcyBwb3QgY29tYmluYXIgwqstLXJlYmFzZS1tZXJnZXPCuyBhbWIgwqstLXN0cmF0ZWd5LW9wdGlvbsK7IgorIzogYnVpbHRpbi9yZWJhc2UuYzoxODk1CisjLCBmdXp6eQorbXNnaWQgIiIKKyJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcHJlc2VydmUtbWVyZ2VzJyB3aXRoICctLXJlc2NoZWR1bGUtZmFpbGVkLWV4ZWMnIgorbXNnc3RyICJlcnJvcjogbm8gZXMgcG90IGNvbWJpbmFyIMKrLS1wcmVzZXJ2ZS1tZXJnZXPCuyBhbWIgwqstLXJlYmFzZS1tZXJnZXPCuyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjM3IGdpdC1sZWdhY3ktcmViYXNlLnNoOjUzNgotbXNnaWQgImVycm9yOiBjYW5ub3QgY29tYmluZSAnLS1yZWJhc2UtbWVyZ2VzJyB3aXRoICctLXN0cmF0ZWd5JyIKLW1zZ3N0ciAiZXJyb3I6IG5vIGVzIHBvdCBjb21iaW5hciDCqy0tcmViYXNlLW1lcmdlc8K7IGFtYiDCqy0tc3RyYXRlZ3nCuyIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjYxCisjOiBidWlsdGluL3JlYmFzZS5jOjE5MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAnJXMnIgogbXNnc3RyICJmb250IG5vIHbDoGxpZGE6IMKrJXPCuyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjY3CisjOiBidWlsdGluL3JlYmFzZS5jOjE5MjUKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIG5ldyByb290IGNvbW1pdCIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBjcmVhciB1bmEgY29taXNzacOzIGFycmVsIG5vdmEiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI4NQorIzogYnVpbHRpbi9yZWJhc2UuYzoxOTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICInJXMnOiBuZWVkIGV4YWN0bHkgb25lIG1lcmdlIGJhc2Ugd2l0aCBicmFuY2giCittc2dzdHIgIkNhbCBleGFjdGFtZW50IHVuIHJhbmcuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE5NTQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IG5lZWQgZXhhY3RseSBvbmUgbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiQ2FsIGV4YWN0YW1lbnQgdW4gcmFuZy4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI5MgorIzogYnVpbHRpbi9yZWJhc2UuYzoxOTYyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdCAnJXMnIgogbXNnc3RyICJObyBhc3NlbnlhbGEgdW5hIGNvbWlzc2nDsyB2w6BsaWRhOiAkb250b19uYW1lIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzMTcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTk4NwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoL2NvbW1pdCAnJXMnIgogbXNnc3RyICJmYXRhbDogbm8gaGkgaGEgdGFsIGJyYW5jYTogJGJyYW5jaF9uYW1lIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzMjUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM3Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkzMAorIzogYnVpbHRpbi9yZWJhc2UuYzoxOTk1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZWY6ICVzIgogbXNnc3RyICJObyBoaSBoYSB0YWwgcmVmZXLDqG5jaWE6ICVzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzMzcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjAwNgogIywgZnV6enkKIG1zZ2lkICJDb3VsZCBub3QgcmVzb2x2ZSBIRUFEIHRvIGEgcmV2aXNpb24iCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVzb2xkcmUgbGEgY29taXNzacOzIEhFQUQiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM3NyBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2NTcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA0NAogbXNnaWQgIkNhbm5vdCBhdXRvc3Rhc2giCiBtc2dzdHIgIk5vIGVzIHBvdCBlbW1hZ2F0emVtYXIgYXV0b23DoHRpY2FtZW50IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzODAKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA0NwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiVW5leHBlY3RlZCBzdGFzaCByZXNwb25zZTogJyVzJyIKIG1zZ3N0ciAiZmluYWwgZGUgZml0eGVyIGluZXNwZXJhdCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMzg2CisjOiBidWlsdGluL3JlYmFzZS5jOjIwNTMKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IGZvciAnJXMnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGNyZWFyIGVsIGRpcmVjdG9yaSDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM4OQorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDU2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJXNcbiIKIG1zZ3N0ciAiUydoYSBjcmVhdCB1biBtYWdhdHplbSBhdXRvbcOgdGljOiAkc3Rhc2hfYWJicmV2IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzOTIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA1OQogIywgZnV6enkKIG1zZ2lkICJjb3VsZCBub3QgcmVzZXQgLS1oYXJkIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGxsZWdpciBvcmlnLWhlYWQiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM5MyBidWlsdGluL3Jlc2V0LmM6MTEzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkhFQUQgaXMgbm93IGF0ICVzIgotbXNnc3RyICJIRUFEIGFyYSDDqXMgYSAlcyIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDA5IGdpdC1sZWdhY3ktcmViYXNlLnNoOjY2NgorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDY4CiBtc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAiQ29tZXRldS1sb3MgbyBlbW1hZ2F0emVtZXUtbG9zLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDM2Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA5NQorIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJyVzJyIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBhbmFsaXR6YXIgJXMiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIMKrJXPCuyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDQ3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEwOAorIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3dpdGNoIHRvICVzIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGEgwqslc8K7IgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNvbW11dGFyIGEgJXMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1OCBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2ODkKLSMsIHNoLWZvcm1hdAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTE5CiBtc2dpZCAiSEVBRCBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAiSEVBRCBlc3TDoCBhbCBkaWEuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0NjAKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTIxCisjLCBjLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICVzIGlzIHVwIHRvIGRhdGUuXG4iCi1tc2dzdHIgIkxhIGJyYW5jYSBhY3R1YWwgJGJyYW5jaF9uYW1lIGVzdMOgIGFsIGRpYS4iCittc2dzdHIgIkxhIGJyYW5jYSBhY3R1YWwgJXMgZXN0w6AgYWwgZGlhLlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0NjggZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6Njk5Ci0jLCBmdXp6eSwgc2gtZm9ybWF0CisjOiBidWlsdGluL3JlYmFzZS5jOjIxMjkKIG1zZ2lkICJIRUFEIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIgotbXNnc3RyICJMYSBicmFuY2EgYWN0dWFsICRicmFuY2hfbmFtZSBlc3TDoCBhbCBkaWE7IMKrcmViYXNlwrsgZm9yw6dhdC4iCittc2dzdHIgIkxhIGJyYW5jYSBhY3R1YWwgZXN0w6AgYWwgZGlhLCDCq3JlYmFzZcK7IGZvcsOnYXQuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0NzAKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTMxCisjLCBjLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICVzIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuXG4iCi1tc2dzdHIgIkxhIGJyYW5jYSBhY3R1YWwgJGJyYW5jaF9uYW1lIGVzdMOgIGFsIGRpYTsgwqtyZWJhc2XCuyBmb3LDp2F0LiIKK21zZ3N0ciAiTGEgYnJhbmNhIGFjdHVhbCAlcyBlc3TDoCBhbCBkaWE7IMKrcmViYXNlwrsgZm9yw6dhdC5cbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDc4IGdpdC1sZWdhY3ktcmViYXNlLnNoOjIwOAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTM5CiBtc2dpZCAiVGhlIHByZS1yZWJhc2UgaG9vayByZWZ1c2VkIHRvIHJlYmFzZS4iCiBtc2dzdHIgIkVsIGxsaWdhbSBwcmUtwqtyZWJhc2XCuyBoYSByZWZ1c2F0IGEgZmVyIMKrcmViYXNlwrsuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0ODQKLSMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgIkNoYW5nZXMgZnJvbSAlcyB0byAlczpcbiIKLW1zZ3N0ciAiQ2FudmlzIGRlICRtYiBhICRvbnRvOiIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VzIHRvICVzOlxuIgorbXNnc3RyICJDYW52aXMgYSAgJXM6XG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwNwotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGluL3JlYmFzZS5jOjIxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlcyBmcm9tICVzIHRvICVzOlxuIgorbXNnc3RyICJDYW52aXMgZGUgJXMgYSAlczpcbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMTc0CisjLCBjLWZvcm1hdAogbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLlxuIgogbXNnc3RyICIiCi0iUHJpbWVyLCBzJ2VzdMOgIHJlYm9iaW5hbnQgSEVBRCBwZXIgYSByZXByb2R1aXIgZWwgdm9zdHJlIHRyZWJhbGwgYWwgZGFtdW50Li4uIgorIlByaW1lciwgcydlc3TDoCByZWJvYmluYW50IEhFQUQgcGVyIGEgcmVwcm9kdWlyIGVsIHZvc3RyZSB0cmViYWxsIGFsICIKKyJkYW11bnQuLi5cbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNTEzCi0jLCBmdXp6eQorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTgzCiBtc2dpZCAiQ291bGQgbm90IGRldGFjaCBIRUFEIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHNlcGFyYXIgSEVBRCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBzZXBhcmFyIEhFQUQiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyMgotIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAiRmFzdC1mb3J3YXJkZWQgJXMgdG8gJXMuIFxuIgotbXNnc3RyICJBdmFuw6cgcsOgcGlkIGEgJHNoYTEiCisjOiBidWlsdGluL3JlYmFzZS5jOjIxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFzdC1mb3J3YXJkZWQgJXMgdG8gJXMuXG4iCittc2dzdHIgIkF2YW7DpyByw6BwaWQgJXMgYSAlcy5cbiIKIAotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MjQKLSMsIGZ1enp5Ci1tc2dpZCAibm8gSEVBRD8iCi1tc2dzdHIgIk5vIGhpIGhhIGNhcCBIRUFEPyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6NTEKLSMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICVzIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIGVsIGZpdHhlciB0ZW1wb3JhbCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6NTcKLSMsIGZ1enp5Ci1tc2dpZCAiY291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCi1tc2dzdHIgIk5vIHMnaGEgcG9ndXQgbWFyY2FyIGNvbSBhIGludGVyYWN0aXUiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjEwMQotIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IG9wZW4gJXMiCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgwqslc8K7IgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxMTQKLSMsIGZ1enp5Ci1tc2dpZCAiY291bGQgbm90IGdlbmVyYXRlIHRvZG8gbGlzdCIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBsbGlzdGEgcGVyIGEgZmVyIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxMjkKLSMsIGZ1enp5Ci1tc2dpZCAiZ2l0IHJlYmFzZS0taW50ZXJhY3RpdmUgWzxvcHRpb25zPl0iCi1tc2dzdHIgImdpdCByZWJhc2UtLWhlbHBlciBbPG9wY2lvbnM+XSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTQ4Ci1tc2dpZCAia2VlcCBlbXB0eSBjb21taXRzIgotbXNnc3RyICJtYW50w6luIGxlcyBjb21pc3Npb25zIGJ1aWRlcyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTUwIGJ1aWx0aW4vcmV2ZXJ0LmM6MTI0Ci1tc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgotbXNnc3RyICJwZXJtZXQgbGVzIGNvbWlzc2lvbnMgYW1iIG1pc3NhdGdlcyBidWl0cyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTUxCi0jLCBmdXp6eQotbXNnaWQgInJlYmFzZSBtZXJnZSBjb21taXRzIgotbXNnc3RyICJldGlxdWV0YSBkZSBmdXNpw7MgaW5jb3JyZWN0YSBlbiBsYSBjb21pc3Npw7Mgwqslc8K7IgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTMKLW1zZ2lkICJrZWVwIG9yaWdpbmFsIGJyYW5jaCBwb2ludHMgb2YgY291c2lucyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTUKLW1zZ2lkICJtb3ZlIGNvbW1pdHMgdGhhdCBiZWdpbiB3aXRoIHNxdWFzaCEvZml4dXAhIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1NgotIywgZnV6enkKLW1zZ2lkICJzaWduIGNvbW1pdHMiCi1tc2dzdHIgInNpZ25hIGxlcyBjb21pc3Npb25zIGFtYiBHUEciCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1OAotbXNnaWQgImNvbnRpbnVlIHJlYmFzZSIKLW1zZ3N0ciAiY29udGludWEgZWwgwqtyZWJhc2XCuyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTYwCi0jLCBmdXp6eQotbXNnaWQgInNraXAgY29tbWl0IgotbXNnc3RyICJjb21pc3Npw7MiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE2MQotIywgZnV6enkKLW1zZ2lkICJlZGl0IHRoZSB0b2RvIGxpc3QiCi1tc2dzdHIgImNvbXByb3ZhIGxhIGxsaXN0YSBhIGZlciIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTYzCi0jLCBmdXp6eQotbXNnaWQgInNob3cgdGhlIGN1cnJlbnQgcGF0Y2giCi1tc2dzdHIgIm9tZXQgZWwgcGVkYcOnIGFjdHVhbCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTY2Ci1tc2dpZCAic2hvcnRlbiBjb21taXQgaWRzIGluIHRoZSB0b2RvIGxpc3QiCi1tc2dzdHIgImVzY3Vyw6dhIGVscyBpZHMgZGUgbGVzIGNvbWlzc2lvbnMgZW4gbGEgbGxpc3RhIHBlciBhIGZlciIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTY4Ci1tc2dpZCAiZXhwYW5kIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKLW1zZ3N0ciAiZXhwYW5kZWl4IGVscyBpZHMgZGUgZWxzIGNvbWlzc2lvbnMgZW4gbGEgbGxpc3RhIHBlciBhIGZlciIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTcwCi1tc2dpZCAiY2hlY2sgdGhlIHRvZG8gbGlzdCIKLW1zZ3N0ciAiY29tcHJvdmEgbGEgbGxpc3RhIGEgZmVyIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzIKLW1zZ2lkICJyZWFycmFuZ2UgZml4dXAvc3F1YXNoIGxpbmVzIgotbXNnc3RyICJyZW9yZ2FuaXR6YSBsZXMgbMOtbmllcyDCq2ZpeHVwL3BpY2vCuyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc0Ci1tc2dpZCAiaW5zZXJ0IGV4ZWMgY29tbWFuZHMgaW4gdG9kbyBsaXN0IgotbXNnc3RyICJleHBhbmRlaXggbGVzIG9yZHJlcyBleGVjIGVuIGxhIGxsaXN0YSBwZXIgYSBmZXIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3NQotbXNnaWQgIm9udG8iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc3Ci0jLCBmdXp6eQotbXNnaWQgInJlc3RyaWN0LXJldmlzaW9uIgotbXNnc3RyICJyZXZpc2nDsyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc3Ci0jLCBmdXp6eQotbXNnaWQgInJlc3RyaWN0IHJldmlzaW9uIgotbXNnc3RyICJyZXZpc2nDsyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc4Ci1tc2dpZCAic3F1YXNoLW9udG8iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc5Ci1tc2dpZCAic3F1YXNoIG9udG8iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgxCi0jLCBmdXp6eQotbXNnaWQgInRoZSB1cHN0cmVhbSBjb21taXQiCi1tc2dzdHIgIkRlc2Fzc2lnbmEgbGEgaW5mb3JtYWNpw7MgZGUgZm9udCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgyCi0jLCBmdXp6eQotbXNnaWQgImhlYWQtbmFtZSIKLW1zZ3N0ciAiY2FudmkgZGUgbm9tIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODIKLSMsIGZ1enp5Ci1tc2dpZCAiaGVhZCBuYW1lIgotbXNnc3RyICJkYXZhbnQgcGVyICIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg3Ci0jLCBmdXp6eQotbXNnaWQgInJlYmFzZSBzdHJhdGVneSIKLW1zZ3N0ciAiZXN0cmF0w6hnaWEgZGUgZnVzacOzIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODgKLSMsIGZ1enp5Ci1tc2dpZCAic3RyYXRlZ3ktb3B0cyIKLW1zZ3N0ciAiZXN0cmF0w6hnaWEiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4OQotIywgZnV6enkKLW1zZ2lkICJzdHJhdGVneSBvcHRpb25zIgotbXNnc3RyICJvcGNpb25zIGRlIGRlY29yYWNpw7MiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5MAotbXNnaWQgInN3aXRjaC10byIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTEKLW1zZ2lkICJ0aGUgYnJhbmNoIG9yIGNvbW1pdCB0byBjaGVja291dCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTIKLSMsIGZ1enp5Ci1tc2dpZCAib250by1uYW1lIgotbXNnc3RyICJub20iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5MgotIywgZnV6enkKLW1zZ2lkICJvbnRvIG5hbWUiCi1tc2dzdHIgIm5vbSBkZWwgcmVtb3QiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5MwotIywgZnV6enkKLW1zZ2lkICJjbWQiCi1tc2dzdHIgIm9yZHJlIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTMKLSMsIGZ1enp5Ci1tc2dpZCAidGhlIGNvbW1hbmQgdG8gcnVuIgotbXNnc3RyICJObyBzJ2hhIGZldCBjYXAgb3JkcmUuIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoyMjAKLW1zZ2lkICItLVtuby1dcmViYXNlLWNvdXNpbnMgaGFzIG5vIGVmZmVjdCB3aXRob3V0IC0tcmViYXNlLW1lcmdlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoyMjYKLW1zZ2lkICJhIGJhc2UgY29tbWl0IG11c3QgYmUgcHJvdmlkZWQgd2l0aCAtLXVwc3RyZWFtIG9yIC0tb250byIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjMzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjMyCiBtc2dpZCAiZ2l0IHJlY2VpdmUtcGFjayA8Z2l0LWRpcj4iCiBtc2dzdHIgImdpdCByZWNlaXZlLXBhY2sgPGdpdC1kaXI+IgogCkBAIC0xNTcwMSwxOSArMTg0NjcsNzAgQEAKICJcbiIKICJQZXIgYSBzaWxlbmNpYXIgYXF1ZXN0IG1pc3NhdGdlLCBwb2RldSBlc3RhYmxpci1sYSBhICdyZWZ1c2UnLiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTI5CisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5MzYKIG1zZ2lkICJxdWlldCIKIG1zZ3N0ciAic2lsZW5jacOzcyIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NTAKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgZGlyZWN0b3J5LiIKIG1zZ3N0ciAiSGV1IGQnZXNwZWNpZmljYXIgdW4gZGlyZWN0b3JpLiIKIAotIzogYnVpbHRpbi9yZWZsb2cuYzo1NjMgYnVpbHRpbi9yZWZsb2cuYzo1NjgKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6MTcKK21zZ2lkICIiCisiZ2l0IHJlZmxvZyBleHBpcmUgWy0tZXhwaXJlPTx0aW1lPl0gWy0tZXhwaXJlLXVucmVhY2hhYmxlPTx0aW1lPl0gWy0tIgorInJld3JpdGVdIFstLXVwZGF0ZXJlZl0gWy0tc3RhbGUtZml4XSBbLS1kcnktcnVuIHwgLW5dIFstLXZlcmJvc2VdIFstLWFsbF0gIgorIjxyZWZzPi4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjIyCittc2dpZCAiIgorImdpdCByZWZsb2cgZGVsZXRlIFstLXJld3JpdGVdIFstLXVwZGF0ZXJlZl0gWy0tZHJ5LXJ1biB8IC1uXSBbLS12ZXJib3NlXSAiCisiPHJlZnM+Li4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6MjUKK21zZ2lkICJnaXQgcmVmbG9nIGV4aXN0cyA8cmVmPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjU2NyBidWlsdGluL3JlZmxvZy5jOjU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAiwqslc8K7IG5vIMOpcyB1bmEgbWFyY2EgZGUgdGVtcHMgdsOgbGlkYSIKIAorIzogYnVpbHRpbi9yZWZsb2cuYzo2MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1hcmtpbmcgcmVhY2hhYmxlIG9iamVjdHMuLi4iCittc2dzdHIgInJldMOpbiBlbHMgb2JqZWN0ZXMgaW5hYmFzdGFibGVzIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjY0MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBwb2ludHMgbm93aGVyZSEiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo2OTUKKyMsIGZ1enp5Cittc2dpZCAibm8gcmVmbG9nIHNwZWNpZmllZCB0byBkZWxldGUiCittc2dzdHIgImNhcCByZW1vdCBlc3BlY2lmaWNhdCIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo3MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHJlZmxvZzogJXMiCittc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgwqslc8K7IgorCisjOiBidWlsdGluL3JlZmxvZy5jOjcwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gcmVmbG9nIGZvciAnJXMnIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBlbCBmaXR4ZXIgZGUgcmVnaXN0cmUgcGVyIMKrJXPCuyIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCByZWYgZm9ybWF0OiAlcyIKK21zZ3N0ciAiZm9ybWF0IGRlIHJlZmVyw6huY2lhIG5vIHbDoGxpZDogJXMiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NzY0Cittc2dpZCAiZ2l0IHJlZmxvZyBbIHNob3cgfCBleHBpcmUgfCBkZWxldGUgfCBleGlzdHMgXSIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGluL3JlbW90ZS5jOjE2CiBtc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCkBAIC0xNTg3NywxMCArMTg2OTQsMTAgQEAKIG1zZ2lkICIoZGVsZXRlKSIKIG1zZ3N0ciAiKHN1cHJpbWlyKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MjkgYnVpbHRpbi9yZW1vdGUuYzo3NjUgYnVpbHRpbi9yZW1vdGUuYzo4NjQKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbi9yZW1vdGUuYzo2MjkgYnVpbHRpbi9yZW1vdGUuYzo3NjQgYnVpbHRpbi9yZW1vdGUuYzo4NjMKKyMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGU6ICclcyciCi1tc2dzdHIgIk5vIGhpIGhhIHRhbCByZW1vdCDCqyVzwrsiCittc2dzdHIgIk5vIGV4aXN0ZWl4IGVsIHJlbW90IMKrJXPCuyIKIAogIzogYnVpbHRpbi9yZW1vdGUuYzo2NDYKICMsIGMtZm9ybWF0CkBAIC0xNTg5OSwxNyArMTg3MTYsMTcgQEAKICJcdCVzXG4iCiAiXHRBY3R1YWxpdHpldSBsYSBjb25maWd1cmFjacOzIG1hbnVhbG1lbnQgc2kgw6lzIG5lY2Vzc2FyaS4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzAyCisjOiBidWlsdGluL3JlbW90ZS5jOjcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAibGEgc3VwcmVzc2nDsyBkZSDCqyVzwrsgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjczNgorIzogYnVpbHRpbi9yZW1vdGUuYzo3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3JlYXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgImxhIGNyZWFjacOzIGRlIMKrJXPCuyBoYSBmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODAyCisjOiBidWlsdGluL3JlbW90ZS5jOjgwMQogbXNnaWQgIiIKICJOb3RlOiBBIGJyYW5jaCBvdXRzaWRlIHRoZSByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSB3YXMgbm90IHJlbW92ZWQ7XG4iCiAidG8gZGVsZXRlIGl0LCB1c2U6IgpAQCAtMTU5MjQsMTE4ICsxODc0MSwxMTggQEAKICJlbGltaW5hdDtcbiIKICJwZXIgYSBzdXByaW1pci1sZXMsIHVzZXU6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgxNgorIzogYnVpbHRpbi9yZW1vdGUuYzo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBjb25maWcgc2VjdGlvbiAnJXMnIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVsaW1pbmFyIGxhIHNlY2Npw7MgZGUgY29uZmlndXJhY2nDsyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE3CisjOiBidWlsdGluL3JlbW90ZS5jOjkxNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgbmV3IChuZXh0IGZldGNoIHdpbGwgc3RvcmUgaW4gcmVtb3Rlcy8lcykiCiBtc2dzdHIgIiBub3UgKGxhIHByw7J4aW1hIG9idGVuY2nDsyBlbW1hZ2F0emVtYXLDoCBhIHJlbW90ZXMvJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkyMAorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTkKIG1zZ2lkICIgdHJhY2tlZCIKIG1zZ3N0ciAiIHNlZ3VpdCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTIxCiBtc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCiBtc2dzdHIgIiBlc3RhbmNhdCAodXNldSAnZ2l0IHJlbW90ZSBwcnVuZScgcGVyIGEgZWxpbWluYXIpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkyNAorIzogYnVpbHRpbi9yZW1vdGUuYzo5MjMKIG1zZ2lkICIgPz8/IgogbXNnc3RyICIgPz8/IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk2NQorIzogYnVpbHRpbi9yZW1vdGUuYzo5NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBicmFuY2guJXMubWVyZ2U7IGNhbm5vdCByZWJhc2Ugb250byA+IDEgYnJhbmNoIgogbXNnc3RyICJicmFuY2guJXMubWVyZ2Ugbm8gdsOgbGlkOyBubyBlcyBwb3QgZmVyIMKrcmViYXNlwrsgc29icmUgPiAxIGJyYW5jYSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTczCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAiZXMgZmEgwqtyZWJhc2XCuyBpbnRlcmFjdGl2YW1lbnQgc29icmUgZWwgcmVtb3QgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc2CisjOiBidWlsdGluL3JlbW90ZS5jOjk3NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBpbnRlcmFjdGl2ZWx5ICh3aXRoIG1lcmdlcykgb250byByZW1vdGUgJXMiCiBtc2dzdHIgImVzIGZhIMKrcmViYXNlwrsgaW50ZXJhY3RpdmFtZW50IHNvYnJlIGVsIHJlbW90ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3OQorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAiZXMgZmEgwqtyZWJhc2XCuyBzb2JyZSBlbCByZW1vdCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5ODMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgImVzIGZ1c2lvbmEgYW1iIGVsIHJlbW90ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk4NgorIzogYnVpbHRpbi9yZW1vdGUuYzo5ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICJlcyBmdXNpb25hIGFtYiBlbCByZW1vdCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5ODkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiUtKnMgICAgYW5kIHdpdGggcmVtb3RlICVzXG4iCiBtc2dzdHIgIiUtKnMgICAgaSBhbWIgZWwgcmVtb3QgJXNcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMyCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzEKIG1zZ2lkICJjcmVhdGUiCiBtc2dzdHIgImNyZWEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM0CiBtc2dpZCAiZGVsZXRlIgogbXNnc3RyICJzdXByaW1laXgiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM4CiBtc2dpZCAidXAgdG8gZGF0ZSIKIG1zZ3N0ciAiYWwgZGlhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MQogbXNnaWQgImZhc3QtZm9yd2FyZGFibGUiCiBtc2dzdHIgImF2YW7DpyByw6BwaWQgcG9zc2libGUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ0CiBtc2dpZCAibG9jYWwgb3V0IG9mIGRhdGUiCiBtc2dzdHIgImxvY2FsIG5vIGFjdHVhbGl0emF0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyBmb3LDp2EgYSAlLSpzICglcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiAgICAlLSpzIHB1amEgYSAlLSpzICglcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnMgZm9yw6dhIGEgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA2MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnMgcHVqYSBhICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEyOQogbXNnaWQgImRvIG5vdCBxdWVyeSByZW1vdGVzIgogbXNnc3RyICJubyBjb25zdWx0aXMgZWxzIHJlbW90cyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU3CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiByZW1vdGUgJXMiCiBtc2dzdHIgIiogcmVtb3QgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmV0Y2ggVVJMOiAlcyIKIG1zZ3N0ciAiICBVUkwgZCdvYnRlbmNpw7M6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTkgYnVpbHRpbi9yZW1vdGUuYzoxMTc1IGJ1aWx0aW4vcmVtb3RlLmM6MTMxNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NCBidWlsdGluL3JlbW90ZS5jOjEzMTMKIG1zZ2lkICIobm8gVVJMKSIKIG1zZ3N0ciAiKHNlbnNlIFVSTCkiCiAKQEAgLTE2MDQzLDE5NCArMTg4NjAsMTg1IEBACiAjLiB3aXRoIHRoZSBvbmUgaW4gIiBGZXRjaCBVUkw6ICVzIgogIy4gdHJhbnNsYXRpb24uCiAjLgotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTczIGJ1aWx0aW4vcmVtb3RlLmM6MTE3NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTcyIGJ1aWx0aW4vcmVtb3RlLmM6MTE3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFB1c2ggIFVSTDogJXMiCiBtc2dzdHIgIiAgVVJMIGRlIHB1amFkYTogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NyBidWlsdGluL3JlbW90ZS5jOjExNzkgYnVpbHRpbi9yZW1vdGUuYzoxMTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNzYgYnVpbHRpbi9yZW1vdGUuYzoxMTc4IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEhFQUQgYnJhbmNoOiAlcyIKIG1zZ3N0ciAiICBCcmFuY2EgZGUgSEVBRDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2CiBtc2dpZCAiKG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiKG5vIGNvbnN1bHRhdCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc4CiBtc2dpZCAiKHVua25vd24pIgogbXNnc3RyICIoZGVzY29uZWd1dCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIEhFQUQgYnJhbmNoIChyZW1vdGUgSEVBRCBpcyBhbWJpZ3VvdXMsIG1heSBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyk6XG4iCiBtc2dzdHIgIiIKICIgIEJyYW5jYSBkZSBIRUFEIChsYSBIRUFEIHJlbW90IMOpcyBhbWJpZ3VhLCBwb3Qgc2VyIHVuIGRlbHMgc2Vnw7xlbnRzKTpcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk1CisjOiBidWlsdGluL3JlbW90ZS5jOjExOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBSZW1vdGUgYnJhbmNoOiVzIgogbXNnaWRfcGx1cmFsICIgIFJlbW90ZSBicmFuY2hlczolcyIKIG1zZ3N0clswXSAiICBCcmFuY2EgcmVtb3RhOiVzIgogbXNnc3RyWzFdICIgIEJyYW5xdWVzIHJlbW90ZXM6JXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5OCBidWlsdGluL3JlbW90ZS5jOjEyMjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NyBidWlsdGluL3JlbW90ZS5jOjEyMjMKIG1zZ2lkICIgKHN0YXR1cyBub3QgcXVlcmllZCkiCiBtc2dzdHIgIiAoZXN0YXQgbm8gY29uc3VsdGF0KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjA3CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDYKIG1zZ2lkICIgIExvY2FsIGJyYW5jaCBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCBicmFuY2hlcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ3N0clswXSAiICBCcmFuY2EgbG9jYWwgY29uZmlndXJhZGEgcGVyIGEgwqtnaXQgcHVsbMK7OiIKIG1zZ3N0clsxXSAiICBCcmFucXVlcyBsb2NhbHMgY29uZmlndXJhZGVzIHBlciBhIMKrZ2l0IHB1bGzCuzoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIxNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjE0CiBtc2dpZCAiICBMb2NhbCByZWZzIHdpbGwgYmUgbWlycm9yZWQgYnkgJ2dpdCBwdXNoJyIKIG1zZ3N0ciAiICDCq2dpdCBwdXNowrsgcmVmbGVjdGlyw6AgbGVzIHJlZmVyw6huY2llcyBsb2NhbHMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTG9jYWwgcmVmIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgcmVmcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnc3RyWzBdICIgIFJlZmVyw6huY2lhIGxvY2FsIGNvbmZpZ3VyYWRhIHBlciBhIMKrZ2l0IHB1c2jCuyVzOiIKIG1zZ3N0clsxXSAiICBSZWZlcsOobmNpZXMgbG9jYWxzIGNvbmZpZ3VyYWRlcyBwZXIgYSDCq2dpdCBwdXNowrslczoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQxCiBtc2dpZCAic2V0IHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCBhY2NvcmRpbmcgdG8gcmVtb3RlIgogbXNnc3RyICJlc3RhYmxlaXggcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIHNlZ29ucyBlbCByZW1vdCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQ0CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDMKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICJzdXByaW1laXggcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1OAogbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgcmVtb3RlIEhFQUQiCiBtc2dzdHIgIk5vIGVzIHBvdCBkZXRlcm1pbmFyIGxhIEhFQUQgcmVtb3RhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MAogbXNnaWQgIk11bHRpcGxlIHJlbW90ZSBIRUFEIGJyYW5jaGVzLiBQbGVhc2UgY2hvb3NlIG9uZSBleHBsaWNpdGx5IHdpdGg6IgogbXNnc3RyICJNw7psdGlwbGVzIGJyYW5xdWVzIGRlIEhFQUQgcmVtb3Rlcy4gVHJpZXUtbmUgdW5hIGV4cGzDrWNpdGFtZW50IGFtYjoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgJXMiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgc3VwcmltaXIgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIHJlZjogJXMiCiBtc2dzdHIgIk5vIMOpcyB1bmEgcmVmZXLDqG5jaWEgdsOgbGlkYTogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCAlcyIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBjb25maWd1cmFyICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMgZXMgdG9ybmFyw6AgcGVuamFudCEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyBoYXMgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVzIHMnaGEgdG9ybmF0IHBlbmphbnQhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcnVuaW5nICVzIgogbXNnc3RyICJTJ2VzdMOgIHBvZGFudCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzExCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVVJMOiAlcyIKIG1zZ3N0ciAiVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI3CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3dvdWxkIHBydW5lXSAlcyIKIG1zZ3N0ciAiICogW3BvZGFyaWFdICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbcHJ1bmVkXSAlcyIKIG1zZ3N0ciAiICogW3BvZGF0XSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzc1CisjOiBidWlsdGluL3JlbW90ZS5jOjEzNzQKIG1zZ2lkICJwcnVuZSByZW1vdGVzIGFmdGVyIGZldGNoaW5nIgogbXNnc3RyICJwb2RhIGVscyByZW1vdHMgZGVzcHLDqXMgZCdvYnRlbmlyLWxvcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDM4IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5MiBidWlsdGluL3JlbW90ZS5jOjE1NjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNyBidWlsdGluL3JlbW90ZS5jOjE0OTEgYnVpbHRpbi9yZW1vdGUuYzoxNTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlICclcyciCiBtc2dzdHIgIk5vIGhpIGhhIHRhbCByZW1vdCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ1NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDUzCiBtc2dpZCAiYWRkIGJyYW5jaCIKIG1zZ3N0ciAiYWZlZ2VpeCBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYwCiBtc2dpZCAibm8gcmVtb3RlIHNwZWNpZmllZCIKIG1zZ3N0ciAiY2FwIHJlbW90IGVzcGVjaWZpY2F0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3NwogbXNnaWQgInF1ZXJ5IHB1c2ggVVJMcyByYXRoZXIgdGhhbiBmZXRjaCBVUkxzIgogbXNnc3RyICJjb25zdWx0YSBlbHMgVVJMIGRlIHB1amFkYSBlbiBsbG9jIGRlbHMgVVJMIGQnb2J0ZW5jacOzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0ODAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3OQogbXNnaWQgInJldHVybiBhbGwgVVJMcyIKIG1zZ3N0ciAicmV0b3JuYSB0b3RzIGVscyBVUkwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUwOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCiBtc2dzdHIgImNhcCBVUkwgY29uZmlndXJhdCBwZXIgYWwgcmVtb3Qgwqslc8K7IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzMwogbXNnaWQgIm1hbmlwdWxhdGUgcHVzaCBVUkxzIgogbXNnc3RyICJtYW5pcHVsYSBlbHMgVVJMIGRlIHB1amFkYSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM2CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzUKIG1zZ2lkICJhZGQgVVJMIgogbXNnc3RyICJhZmVnZWl4IFVSTCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM4CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzcKIG1zZ2lkICJkZWxldGUgVVJMcyIKIG1zZ3N0ciAic3VwcmltZWl4IGVscyBVUkwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU0NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTQ0CiBtc2dpZCAiLS1hZGQgLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWFkZCAtLWRlbGV0ZSBubyB0w6kgc2VudGl0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1ODQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG9sZCBVUkwgcGF0dGVybjogJXMiCiBtc2dzdHIgIlBhdHLDsyBkJ1VSTCBhbnRpYyBubyB2w6BsaWQ6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIFVSTCBmb3VuZDogJXMiCiBtc2dzdHIgIk5vIHMnaGEgdHJvYmF0IHRhbCBVUkw6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MwogbXNnaWQgIldpbGwgbm90IGRlbGV0ZSBhbGwgbm9uLXB1c2ggVVJMcyIKIG1zZ3N0ciAiTm8gc2Ugc3VwcmltaXJhbiB0b3RzIGVscyBVUkwgbm8gZGUgcHVqYWRhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2MTAKLW1zZ2lkICJiZSB2ZXJib3NlOyBtdXN0IGJlIHBsYWNlZCBiZWZvcmUgYSBzdWJjb21tYW5kIgotbXNnc3RyICJzaWd1ZXMgZGV0YWxsYXQ7IHMnaGEgZGUgY29swrdsb2NhciBhYmFucyBkJ3VuYSBzdWJvcmRyZSIKLQotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjQxCi0jLCBjLWZvcm1hdAotbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCi1tc2dzdHIgIlN1Ym9yZHJlIGRlc2NvbmVndWRhOiAlcyIKLQotIzogYnVpbHRpbi9yZXBhY2suYzoyMgorIzogYnVpbHRpbi9yZXBhY2suYzoyMwogbXNnaWQgImdpdCByZXBhY2sgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCByZXBhY2sgWzxvcGNpb25zPl0iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjgKIG1zZ2lkICIiCiAiSW5jcmVtZW50YWwgcmVwYWNrcyBhcmUgaW5jb21wYXRpYmxlIHdpdGggYml0bWFwIGluZGV4ZXMuICBVc2VcbiIKICItLW5vLXdyaXRlLWJpdG1hcC1pbmRleCBvciBkaXNhYmxlIHRoZSBwYWNrLndyaXRlYml0bWFwcyBjb25maWd1cmF0aW9uLiIKQEAgLTE2MjQwLDk5ICsxOTA0OCwxMjggQEAKICItLW5vLXdyaXRlLWJpdG1hcC1pbmRleCBvIGluaGFiaWxpdGV1IGVsIHBhcsOgbWV0cmUgZGUgY29uZmlndXJhY2nDsyBwYWNrLiIKICJ3cml0ZWJpdG1hcHMuIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjI5NAorIzogYnVpbHRpbi9yZXBhY2suYzoxOTEKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgcGFjay1vYmplY3RzIHRvIHJlcGFjayBwcm9taXNvciBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjMwIGJ1aWx0aW4vcmVwYWNrLmM6NDE2Cittc2dpZCAicmVwYWNrOiBFeHBlY3RpbmcgZnVsbCBoZXggb2JqZWN0IElEIGxpbmVzIG9ubHkgZnJvbSBwYWNrLW9iamVjdHMuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjU0Cittc2dpZCAiY291bGQgbm90IGZpbmlzaCBwYWNrLW9iamVjdHMgdG8gcmVwYWNrIHByb21pc29yIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyOTIKIG1zZ2lkICJwYWNrIGV2ZXJ5dGhpbmcgaW4gYSBzaW5nbGUgcGFjayIKIG1zZ3N0ciAiZW1wYXF1ZXRhLWhvIHRvdCBlbiB1biDDum5pYyBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk2CisjOiBidWlsdGluL3JlcGFjay5jOjI5NAogbXNnaWQgInNhbWUgYXMgLWEsIGFuZCB0dXJuIHVucmVhY2hhYmxlIG9iamVjdHMgbG9vc2UiCiBtc2dzdHIgImVsIG1hdGVpeCBxdWUgLWEsIGkgc29sdGEgZWxzIG9iamVjdGVzIGluYWJhc3RhYmxlcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyOTkKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk3CiBtc2dpZCAicmVtb3ZlIHJlZHVuZGFudCBwYWNrcywgYW5kIHJ1biBnaXQtcHJ1bmUtcGFja2VkIgogbXNnc3RyICJlbGltaW5hIGVscyBwYXF1ZXRzIHJlZHVuZGFudHMsIGkgZXhlY3V0ZXUgZ2l0LXBydW5lLXBhY2tlZCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMDEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk5CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLWRlbHRhIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgInBhc3NhIC0tbm8tcmV1c2UtZGVsdGEgYSBnaXQtcGFjay1vYmplY3RzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMwMworIzogYnVpbHRpbi9yZXBhY2suYzozMDEKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgInBhc3NhIC0tbm8tcmV1c2Utb2JqZWN0IGEgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMDUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzAzCiBtc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgogbXNnc3RyICJubyBleGVjdXRpcyBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMwOAorIzogYnVpbHRpbi9yZXBhY2suYzozMDYKIG1zZ2lkICJwYXNzIC0tbG9jYWwgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAicGFzc2EgLS1sb2NhbCBhIGdpdC1wYWNrLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEwCisjOiBidWlsdGluL3JlcGFjay5jOjMwOAogbXNnaWQgIndyaXRlIGJpdG1hcCBpbmRleCIKIG1zZ3N0ciAiZXNjcml1IMOtbmRleCBkZSBtYXBhIGRlIGJpdHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEyCisjOiBidWlsdGluL3JlcGFjay5jOjMxMAogIywgZnV6enkKIG1zZ2lkICJwYXNzIC0tZGVsdGEtaXNsYW5kcyB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJwYXNzYSAtLWxvY2FsIGEgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzExCiBtc2dpZCAiYXBwcm94aWRhdGUiCiBtc2dzdHIgImRhdGEgYXByb3hpbWFkYSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEyCiBtc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKIG1zZ3N0ciAiYW1iIC1BLCBubyBzb2x0aXMgZWxzIG9iamVjdGVzIG3DqXMgdmVsbHMgcXVlIGFxdWVzdCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE0CiBtc2dpZCAid2l0aCAtYSwgcmVwYWNrIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgImFtYiAtYSwgcmVlbXBhcXVldGEgZWxzIG9iamVjdGVzIGluYWJhc3RhYmxlcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE2CiBtc2dpZCAic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIgogbXNnc3RyICJtaWRhIGRlIGxhIGZpbmVzdHJhIHF1ZSBzJ3VzYSBwZXIgYSBjb21wcmVzc2nDsyBkZSBkaWZlcsOobmNpZXMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE5IGJ1aWx0aW4vcmVwYWNrLmM6MzI1CisjOiBidWlsdGluL3JlcGFjay5jOjMxNyBidWlsdGluL3JlcGFjay5jOjMyMwogbXNnaWQgImJ5dGVzIgogbXNnc3RyICJvY3RldHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzIwCisjOiBidWlsdGluL3JlcGFjay5jOjMxOAogbXNnaWQgInNhbWUgYXMgdGhlIGFib3ZlLCBidXQgbGltaXQgbWVtb3J5IHNpemUgaW5zdGVhZCBvZiBlbnRyaWVzIGNvdW50IgogbXNnc3RyICIiCiAiZWwgbWF0ZWl4IHF1ZSBsJ2FudGVyaW9yLCBwZXLDsiBsaW1pdGEgbGEgbWlkYSBkZSBtZW3DsnJpYSBlbiBsbG9jIGRlbCBub21icmUgIgogImQnZW50cmFkZXMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzIyCisjOiBidWlsdGluL3JlcGFjay5jOjMyMAogbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBkZWx0YSBkZXB0aCIKIG1zZ3N0ciAibGltaXRhIGxhIHByb2Z1bmRpdGF0IG3DoHhpbWEgZGUgbGVzIGRpZmVyw6huY2llcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMjQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzIyCiBtc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiB0aHJlYWRzIgogbXNnc3RyICJsaW1pdGEgZWwgbm9tYnJlIG3DoHhpbSBkZSBmaWxzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMyNgorIzogYnVpbHRpbi9yZXBhY2suYzozMjQKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBwYWNrZmlsZSIKIG1zZ3N0ciAibWlkYSBtw6B4aW1hIGRlIGNhZGEgZml0eGVyIGRlIHBhcXVldCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMjgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI2CiBtc2dpZCAicmVwYWNrIG9iamVjdHMgaW4gcGFja3MgbWFya2VkIHdpdGggLmtlZXAiCiBtc2dzdHIgInJlZW1wYXF1ZXRhIGVscyBvYmplY3RlcyBlbiBwYXF1ZXRzIG1hcmNhdHMgYW1iIC5rZWVwIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMzMAorIzogYnVpbHRpbi9yZXBhY2suYzozMjgKICMsIGZ1enp5CiBtc2dpZCAiZG8gbm90IHJlcGFjayB0aGlzIHBhY2siCiBtc2dzdHIgImNyZWEgcGFxdWV0cyBwcmltcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozNDAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzM4CiBtc2dpZCAiY2Fubm90IGRlbGV0ZSBwYWNrcyBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAibm8gZXMgcG9kZW4gc3VwcmltaXIgcGFxdWV0cyBlbiB1biBkaXDDsnNpdCBkJ29iamVjdGVzIHByZWNpb3NvcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozNDQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzQyCiBtc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWtlZXAtdW5yZWFjaGFibGUgaSAtQSBzw7NuIGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6NTI3CisjOiBidWlsdGluL3JlcGFjay5jOjQyNQorIywgZnV6enkKK21zZ2lkICJOb3RoaW5nIG5ldyB0byBwYWNrLiIKK21zZ3N0ciAidXNhIGVsIHBhcXVldCBwcmltIgorCisjOiBidWlsdGluL3JlcGFjay5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogU29tZSBwYWNrcyBpbiB1c2UgaGF2ZSBiZWVuIHJlbmFtZWQgYnlcbiIKKyJXQVJOSU5HOiBwcmVmaXhpbmcgb2xkLSB0byB0aGVpciBuYW1lLCBpbiBvcmRlciB0b1xuIgorIldBUk5JTkc6IHJlcGxhY2UgdGhlbSB3aXRoIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGVcbiIKKyJXQVJOSU5HOiBmaWxlLiAgQnV0IHRoZSBvcGVyYXRpb24gZmFpbGVkLCBhbmQgdGhlXG4iCisiV0FSTklORzogYXR0ZW1wdCB0byByZW5hbWUgdGhlbSBiYWNrIHRvIHRoZWlyXG4iCisiV0FSTklORzogb3JpZ2luYWwgbmFtZXMgYWxzbyBmYWlsZWQuXG4iCisiV0FSTklORzogUGxlYXNlIHJlbmFtZSB0aGVtIGluICVzIG1hbnVhbGx5OlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6NTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlbGltaW5hciDCqyVzwrsiCkBAIC0xNjM2MSwzOSArMTkxOTgsMzQgQEAKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PGZvcm1hdD5dIFstbCBbPHBhdHRlcm4+XV0iCiBtc2dzdHIgImdpdCByZXBsYWNlIFstLWZvcm1hdD08Zm9ybWF0Pl0gWy1sIFs8cGF0csOzPl1dIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1OCBidWlsdGluL3JlcGxhY2UuYzoyMDMgYnVpbHRpbi9yZXBsYWNlLmM6MjA2Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYiCi1tc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gcmVzb2xkcmUgwqslc8K7IGNvbSBhIHJlZmVyw6huY2lhIHbDoGxpZGEiCi0KLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjg2CisjOiBidWlsdGluL3JlcGxhY2UuYzo5MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiaW52YWxpZCByZXBsYWNlIGZvcm1hdCAnJXMnXG4iCiAidmFsaWQgZm9ybWF0cyBhcmUgJ3Nob3J0JywgJ21lZGl1bScgYW5kICdsb25nJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEyNQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAicmVwbGFjZSByZWYgJyVzJyBub3QgZm91bmQiCiBtc2dzdHIgIm5vIHMnaGEgdHJvYmF0IGxhIGJyYW5jYSDCqyVzwrsuIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMzcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE0MQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRlZCByZXBsYWNlIHJlZiAnJXMnIgogbXNnc3RyICJzdXByaW1laXggbGVzIHJlZmVyw6huY2llcyByZWVtcGxhw6dhZGVzIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxNDkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE1MwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZWYgbmFtZSIKIG1zZ3N0ciAiwqslc8K7IG5vIMOpcyB1biBub20gZGUgcmVtb3QgdsOgbGlkIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxNTQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE1OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAicmVwbGFjZSByZWYgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiZWwgZGVzdMOtIMKrJXPCuyBqYSBleGlzdGVpeCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTc0CisjOiBidWlsdGluL3JlcGxhY2UuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk9iamVjdHMgbXVzdCBiZSBvZiB0aGUgc2FtZSB0eXBlLlxuIgpAQCAtMTY0MDEsODIgKzE5MjMzLDg3IEBACiAid2hpbGUgJyVzJyBwb2ludHMgdG8gYSByZXBsYWNlbWVudCBvYmplY3Qgb2YgdHlwZSAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMjUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIyOQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgwqslc8K7IHBlciBhIGVzY3JpcHR1cmEiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIzOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjQyCiBtc2dpZCAiY2F0LWZpbGUgcmVwb3J0ZWQgZmFpbHVyZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyNTQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI1OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgbyBsbGVnaXIgJXMiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI2OAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjcyCiAjLCBmdXp6eQogbXNnaWQgInVuYWJsZSB0byBzcGF3biBta3RyZWUiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIGwnYXJicmUgKCVzKSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjcyCisjOiBidWlsdGluL3JlcGxhY2UuYzoyNzYKICMsIGZ1enp5CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgZnJvbSBta3RyZWUiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIGwnYXJicmUgKCVzKSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjgxCisjOiBidWlsdGluL3JlcGxhY2UuYzoyODUKICMsIGZ1enp5CiBtc2dpZCAibWt0cmVlIHJlcG9ydGVkIGZhaWx1cmUiCiBtc2dzdHIgImxhIHJldmVyc2nDsyBoYSBmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI4NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjg5CiAjLCBmdXp6eQogbXNnaWQgIm1rdHJlZSBkaWQgbm90IHJldHVybiBhbiBvYmplY3QgbmFtZSIKIG1zZ3N0ciAiZWwgcmVtb3Qgbm8gaGEgZW52aWF0IHRvdHMgZWxzIG9iamVjdGVzIG5lY2Vzc2FyaXMiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI5NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjk4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZnN0YXQgJXMiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWN0dWFsaXR6YXIgJXMiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI5OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzAzCiAjLCBmdXp6eQogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBvYmplY3QgdG8gZGF0YWJhc2UiCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbCdvYmplY3RlIGRlIG5vdGEiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMxOCBidWlsdGluL3JlcGxhY2UuYzozNzEgYnVpbHRpbi9yZXBsYWNlLmM6NDE1Ci0jOiBidWlsdGluL3JlcGxhY2UuYzo0NDUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMyMiBidWlsdGluL3JlcGxhY2UuYzozNzggYnVpbHRpbi9yZXBsYWNlLmM6NDIzCisjOiBidWlsdGluL3JlcGxhY2UuYzo0NTMKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnIgogbXNnc3RyICJObyDDqXMgdW4gbm9tIGQnb2JqZWN0ZSB2w6BsaWQ6IMKrJXPCuyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzIyCisjOiBidWlsdGluL3JlcGxhY2UuYzozMjYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBnZXQgb2JqZWN0IHR5cGUgZm9yICVzIgogbXNnc3RyICJubyBlcyBwb3QgZmVyIGdyZXAgZGVzIGQndW4gb2JqZWN0ZSBkZSB0aXB1cyAlcyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzM4CisjOiBidWlsdGluL3JlcGxhY2UuYzozNDIKICMsIGZ1enp5CiBtc2dpZCAiZWRpdGluZyBvYmplY3QgZmlsZSBmYWlsZWQiCiBtc2dzdHIgImxhIGxlY3R1cmEgZGUgbGVzIHJlZmVyw6huY2llcyBkZSBiaXNlY2Npw7MgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNDcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgb2JqZWN0IGlzIHRoZSBzYW1lIGFzIHRoZSBvbGQgb25lOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwNworIzogYnVpbHRpbi9yZXBsYWNlLmM6Mzg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMgYXMgYSBjb21taXQiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYW5hbGl0emFyIGxhIGNvbWlzc2nDsyBIRUFEIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG1lcmdldGFnIGluIGNvbW1pdCAnJXMnIgogbXNnc3RyICJldGlxdWV0YSBkZSBmdXNpw7MgaW5jb3JyZWN0YSBlbiBsYSBjb21pc3Npw7Mgwqslc8K7IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MDkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCiBtc2dzdHIgImV0aXF1ZXRhIGRlIGZ1c2nDsyBtYWwgZm9ybWFkYSBlbiBsYSBjb21pc3Npw7Mgwqslc8K7IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAib3JpZ2luYWwgY29tbWl0ICclcycgY29udGFpbnMgbWVyZ2V0YWcgJyVzJyB0aGF0IGlzIGRpc2NhcmRlZDsgdXNlIC0tZWRpdCAiCkBAIC0xNjQ4NSwxMTEgKzE5MzIyLDEwNyBAQAogImxhIGNvbWlzc2nDsyBvcmlnaW5hbCDCqyVzwrsgY29udMOpIGwnZXRpcXVldGEgZGUgZnVzacOzIMKrJXPCuyBxdWUgZXMgZGVzY2FydGE7ICIKICJ1c2V1IC0tZWRpdCBlbiBsbG9jIGRlIC0tZ3JhZnQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2MAotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGluL3JlcGxhY2UuYzo0NjgKKyMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIG9yaWdpbmFsIGNvbW1pdCAnJXMnIGhhcyBhIGdwZyBzaWduYXR1cmUiCi1tc2dzdHIgImxhIGNvbWlzc2nDsyBvcmlnaW5hbCDCqyVzwrsgdMOpIHVuYSBzaWduYXR1cmEgZ3BnLiIKK21zZ3N0ciAibGEgY29taXNzacOzIG9yaWdpbmFsIMKrJXPCuyB0w6kgdW5hIHNpZ25hdHVyYSBncGciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDY5CiBtc2dpZCAidGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIHJlcGxhY2VtZW50IGNvbW1pdCEiCiBtc2dzdHIgInMnZWxpbWluYXLDoCBsYSBzaWduYXR1cmEgZW4gbGEgY29taXNzacOzIGRlIHJlZW1wbGHDp2FtZW50ISIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDcxCisjOiBidWlsdGluL3JlcGxhY2UuYzo0NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHJlcGxhY2VtZW50IGNvbW1pdCBmb3I6ICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgY29taXNzacOzIGRlIHJlZW1wbGHDp2FtZW50IHBlciBhOiDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ3OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyYWZ0IGZvciAnJXMnIHVubmVjZXNzYXJ5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ4MgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBjb21taXQgaXMgdGhlIHNhbWUgYXMgdGhlIG9sZCBvbmU6ICclcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAibGEgY29taXNzacOzIG5vdmEgw6lzIGxhIG1hdGVpeGEgcXVlIGwnYW50aWdhOiDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUxNAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTI2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IGNvbnZlcnQgdGhlIGZvbGxvd2luZyBncmFmdChzKTpcbiIKICIlcyIKIG1zZ3N0ciAiRWxpbWluYXJpYSBsJ8OtdGVtIHNlZ8O8ZW50OiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM1CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDcKIG1zZ2lkICJsaXN0IHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAibGxpc3RhIGxlcyByZWZlcsOobmNpZXMgcmVlbXBsYcOnYWRlcyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM2CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDgKIG1zZ2lkICJkZWxldGUgcmVwbGFjZSByZWZzIgogbXNnc3RyICJzdXByaW1laXggbGVzIHJlZmVyw6huY2llcyByZWVtcGxhw6dhZGVzIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1MzcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0OQogbXNnaWQgImVkaXQgZXhpc3Rpbmcgb2JqZWN0IgogbXNnc3RyICJlZGl0YSB1biBvYmplY3RlIGV4aXN0ZW50IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1MzgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1MAogbXNnaWQgImNoYW5nZSBhIGNvbW1pdCdzIHBhcmVudHMiCiBtc2dzdHIgImNhbnZpYSBsZXMgbWFyZXMgZCd1bmEgY29taXNzacOzIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1MzkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1MQogIywgZnV6enkKIG1zZ2lkICJjb252ZXJ0IGV4aXN0aW5nIGdyYWZ0IGZpbGUiCiBtc2dzdHIgImZvcsOnYSBsYSBzb2JyZWVzY3JpcHR1cmEgZGUgZml0eGVycyBleGlzdGVudHMiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0MAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTUyCiBtc2dpZCAicmVwbGFjZSB0aGUgcmVmIGlmIGl0IGV4aXN0cyIKIG1zZ3N0ciAicmVlbXBsYcOnYSBsYSByZWZlcsOobmNpYSBzaSBleGlzdGVpeCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQyCisjOiBidWlsdGluL3JlcGxhY2UuYzo1NTQKIG1zZ2lkICJkbyBub3QgcHJldHR5LXByaW50IGNvbnRlbnRzIGZvciAtLWVkaXQiCiBtc2dzdHIgIm5vIGltcHJpbWVpeGlzIGJlbGxhbWVudCBlbHMgY29udGluZ3V0cyBwZXIgYSAtLWVkaXQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0MworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU1CiBtc2dpZCAidXNlIHRoaXMgZm9ybWF0IgogbXNnc3RyICJ1c2EgYXF1ZXN0IGZvcm1hdCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU2CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NjgKICMsIGZ1enp5CiBtc2dpZCAiLS1mb3JtYXQgY2Fubm90IGJlIHVzZWQgd2hlbiBub3QgbGlzdGluZyIKIG1zZ3N0ciAiLS1maXgtdGhpbiBubyBlcyBwb3QgdXNhciBzZW5zZSAtLXN0ZGluIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NjQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU3NgogIywgZnV6enkKIG1zZ2lkICItZiBvbmx5IG1ha2VzIHNlbnNlIHdoZW4gd3JpdGluZyBhIHJlcGxhY2VtZW50IgogbXNnc3RyICIteiBub23DqXMgdMOpIHNlbnRpdCBhbWIgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTY4Ci0jLCBmdXp6eQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTgwCiBtc2dpZCAiLS1yYXcgb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tZWRpdCIKLW1zZ3N0ciAiLXogbm9tw6lzIHTDqSBzZW50aXQgYW1iIC0tc3RkaW4iCittc2dzdHIgIi0tcmF3IG5vbcOpcyB0w6kgc2VudGl0IGFtYiAtLWVkaXQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU3NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTg2CiBtc2dpZCAiLWQgbmVlZHMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU4MAotbXNnaWQgImJhZCBudW1iZXIgb2YgYXJndW1lbnRzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU4NgotIywgZnV6enkKLW1zZ2lkICItZSBuZWVkcyBleGFjdGx5IG9uZSBhcmd1bWVudCIKLW1zZ3N0ciAiQ2FsIGV4YWN0YW1lbnQgdW4gcmFuZy4iCi0KICM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU5MgotbXNnaWQgIi1nIG5lZWRzIGF0IGxlYXN0IG9uZSBhcmd1bWVudCIKLW1zZ3N0ciAiIgorbXNnaWQgImJhZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJub21icmUgaW5jb3JyZWN0ZSBkJ2FyZ3VtZW50cyIKIAogIzogYnVpbHRpbi9yZXBsYWNlLmM6NTk4Ci0jLCBmdXp6eQotbXNnaWQgIi0tY29udmVydC1ncmFmdC1maWxlIHRha2VzIG5vIGFyZ3VtZW50IgotbXNnc3RyICItLWNvbnRpbnVlIG5vIGFjY2VwdGEgcGFyw6BtZXRyZXMiCittc2dpZCAiLWUgbmVlZHMgZXhhY3RseSBvbmUgYXJndW1lbnQiCittc2dzdHIgIi1lIG5lY2Vzc2l0YSBleGFjdGFtZW50IHVuIGFyZ3VtZW50IgogCiAjOiBidWlsdGluL3JlcGxhY2UuYzo2MDQKLSMsIGZ1enp5Cittc2dpZCAiLWcgbmVlZHMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50IgorbXNnc3RyICItZyBuZWNlc3NpdGEgYWxtZW55cyB1biBhcmd1bWVudCIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NjEwCittc2dpZCAiLS1jb252ZXJ0LWdyYWZ0LWZpbGUgdGFrZXMgbm8gYXJndW1lbnQiCittc2dzdHIgIi0tY29udmVydC1ncmFmdC1maWxlIGFyZ3VtZW50cyIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NjE2CiBtc2dpZCAib25seSBvbmUgcGF0dGVybiBjYW4gYmUgZ2l2ZW4gd2l0aCAtbCIKLW1zZ3N0ciAiY29tYmluYSBlbHMgcGF0cm9ucyBlc3BlY2lmaWNhdHMgYW1iIC1lIgorbXNnc3RyICJub23DqXMgZXMgcG90IGVzcGVjaWZpY2FyIHVuIHBhdHLDsyBhbWIgLWwiCiAKICM6IGJ1aWx0aW4vcmVyZXJlLmM6MTMKIG1zZ2lkICJnaXQgcmVyZXJlIFtjbGVhciB8IGZvcmdldCA8cGF0aD4uLi4gfCBzdGF0dXMgfCByZW1haW5pbmcgfCBkaWZmIHwgZ2NdIgpAQCAtMTY2MDMsMTI2ICsxOTQzNiwxMzkgQEAKIG1zZ2lkICInZ2l0IHJlcmVyZSBmb3JnZXQnIHdpdGhvdXQgcGF0aHMgaXMgZGVwcmVjYXRlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjExMQotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGluL3JlcmVyZS5jOjExMworIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ2VuZXJhdGUgZGlmZiBmb3IgJyVzJyIKLW1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBleGVjdXRhciDCqyVzwrsiCittc2dzdHIgInMnaGEgcG9ndXQgZ2VuZXJhciBlbCBkaWZmIHBlciBhIMKrJXPCuyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMxCisjOiBidWlsdGluL3Jlc2V0LmM6MzIKIG1zZ2lkICIiCiAiZ2l0IHJlc2V0IFstLW1peGVkIHwgLS1zb2Z0IHwgLS1oYXJkIHwgLS1tZXJnZSB8IC0ta2VlcF0gWy1xXSBbPGNvbW1pdD5dIgogbXNnc3RyICIiCiAiZ2l0IHJlc2V0IFstLW1peGVkIHwgLS1zb2Z0IHwgLS1oYXJkIHwgLS1tZXJnZSB8IC0ta2VlcF0gWy1xXSBbPGNvbWlzc2nDsz5dIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzIKLW1zZ2lkICJnaXQgcmVzZXQgWy1xXSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHM+Li4uIgorIzogYnVpbHRpbi9yZXNldC5jOjMzCisjLCBmdXp6eQorbXNnaWQgImdpdCByZXNldCBbLXFdIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCByZXNldCBbLXFdIFs8YXJicmU+XSBbLS1dIDxjYW1pbnM+Li4uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMKLW1zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0iCisjOiBidWlsdGluL3Jlc2V0LmM6MzQKK21zZ2lkICIiCisiZ2l0IHJlc2V0IFstcV0gWy0tcGF0aHNwZWMtZnJvbS1maWxlIFstLXBhdGhzcGVjLWZpbGUtbnVsXV0gWzx0cmVlLWlzaD5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNQorIywgZnV6enkKK21zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzcGVjPi4uLl0iCiBtc2dzdHIgImdpdCByZXNldCAtLXBhdGNoIFs8YXJicmU+XSBbLS1dIFs8Y2FtaW5zPi4uLl0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOQorIzogYnVpbHRpbi9yZXNldC5jOjQxCiBtc2dpZCAibWl4ZWQiCiBtc2dzdHIgIm1peHQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOQorIzogYnVpbHRpbi9yZXNldC5jOjQxCiBtc2dpZCAic29mdCIKIG1zZ3N0ciAic3VhdSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5CisjOiBidWlsdGluL3Jlc2V0LmM6NDEKIG1zZ2lkICJoYXJkIgogbXNnc3RyICJkdXIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOQorIzogYnVpbHRpbi9yZXNldC5jOjQxCiBtc2dpZCAibWVyZ2UiCiBtc2dzdHIgImZ1c2nDsyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5CisjOiBidWlsdGluL3Jlc2V0LmM6NDEKIG1zZ2lkICJrZWVwIgogbXNnc3RyICJyZXRlbmltZW50IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6ODAKKyM6IGJ1aWx0aW4vcmVzZXQuYzo4MgogbXNnaWQgIllvdSBkbyBub3QgaGF2ZSBhIHZhbGlkIEhFQUQuIgogbXNnc3RyICJObyB0ZW5pdSB1biBIRUFEIHbDoGxpZC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo4MgorIzogYnVpbHRpbi9yZXNldC5jOjg0CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgdHJlZSBvZiBIRUFELiIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiB0cm9iYXIgbCdhcmJyZSBkZSBIRUFELiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjg4CisjOiBidWlsdGluL3Jlc2V0LmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgdHJlZSBvZiAlcy4iCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIGwnYXJicmUgZGUgJXMuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MTkyCisjOiBidWlsdGluL3Jlc2V0LmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIkhFQUQgaXMgbm93IGF0ICVzIgorbXNnc3RyICJIRUFEIGFyYSDDqXMgYSAlcyIKKworIzogYnVpbHRpbi9yZXNldC5jOjE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gYSAlcyByZXNldCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UuIgogbXNnc3RyICJObyBlcyBwb3QgZmVyIHVuIHJlc3RhYmxpbWVudCBkZSAlcyBlbm1pZyBkJ3VuYSBmdXNpw7MuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjkyCisjOiBidWlsdGluL3Jlc2V0LmM6Mjk0IGJ1aWx0aW4vc3Rhc2guYzo1MTkgYnVpbHRpbi9zdGFzaC5jOjU5NAorIzogYnVpbHRpbi9zdGFzaC5jOjYxOAogbXNnaWQgImJlIHF1aWV0LCBvbmx5IHJlcG9ydCBlcnJvcnMiCiBtc2dzdHIgInNpZ3VlcyBzaWxlbmNpw7NzLCBub23DqXMgaW5mb3JtYSBkJ2Vycm9ycyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5NAorIzogYnVpbHRpbi9yZXNldC5jOjI5NgogbXNnaWQgInJlc2V0IEhFQUQgYW5kIGluZGV4IgogbXNnc3RyICJyZXN0YWJsZWl4IEhFQUQgaSBsJ8OtbmRleCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5NQorIzogYnVpbHRpbi9yZXNldC5jOjI5NwogbXNnaWQgInJlc2V0IG9ubHkgSEVBRCIKIG1zZ3N0ciAicmVzdGFibGVpeCBub23DqXMgSEVBRCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5NyBidWlsdGluL3Jlc2V0LmM6Mjk5CisjOiBidWlsdGluL3Jlc2V0LmM6Mjk5IGJ1aWx0aW4vcmVzZXQuYzozMDEKIG1zZ2lkICJyZXNldCBIRUFELCBpbmRleCBhbmQgd29ya2luZyB0cmVlIgogbXNnc3RyICJyZXN0YWJsZWl4IEhFQUQsIGwnw61uZGV4IGkgbCdhcmJyZSBkZSB0cmViYWxsIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzAxCisjOiBidWlsdGluL3Jlc2V0LmM6MzAzCiBtc2dpZCAicmVzZXQgSEVBRCBidXQga2VlcCBsb2NhbCBjaGFuZ2VzIgogbXNnc3RyICJyZXN0YWJsZWl4IEhFQUQgcGVyw7IgcmV0w6luIGVscyBjYW52aXMgbG9jYWxzIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzA3CisjOiBidWlsdGluL3Jlc2V0LmM6MzA5CiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCByZW1vdmVkIHBhdGhzIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgInJlZ2lzdHJhIG5vbcOpcyBlbCBmZXQgcXVlIGVscyBjYW1pbnMgZWxpbWluYXRzIHMnYWZlZ2lyYW4gZGVzcHLDqXMiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMjUKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJldmlzaW9uLiIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiByZXNvbGRyZSDCqyVzwrsgY29tIGEgcmV2aXNpw7MgdsOgbGlkYS4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMzMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHRyZWUuIgogbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHJlc29sZHJlIMKrJXPCuyBjb20gYSBhcmJyZSB2w6BsaWQuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQyCisjOiBidWlsdGluL3Jlc2V0LmM6MzYwCiBtc2dpZCAiLS1wYXRjaCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLXtoYXJkLG1peGVkLHNvZnR9IgogbXNnc3RyICItLXBhdGNoIMOpcyBpbmNvbXBhdGlibGUgYW1iIC0te2hhcmQsbWl4ZWQsc29mdH0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNTEKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNzAKIG1zZ2lkICItLW1peGVkIHdpdGggcGF0aHMgaXMgZGVwcmVjYXRlZDsgdXNlICdnaXQgcmVzZXQgLS0gPHBhdGhzPicgaW5zdGVhZC4iCiBtc2dzdHIgIiIKICItLW1peGVkIGFtYiBjYW1pbnMgZXN0w6AgZW4gZGVzw7pzOyB1c2V1ICdnaXQgcmVzZXQgLS0gPGNhbWlucz4nIGVuIGxsb2MgIgogImQnYWl4w7IuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzUzCisjOiBidWlsdGluL3Jlc2V0LmM6MzcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyAlcyByZXNldCB3aXRoIHBhdGhzLiIKIG1zZ3N0ciAiTm8gZXMgcG90IHJlc3RhYmxpciBkZSAlcyBhbWIgY2FtaW5zLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM2MworIzogYnVpbHRpbi9yZXNldC5jOjM4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyByZXNldCBpcyBub3QgYWxsb3dlZCBpbiBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiZWwgcmVzdGFibGltZW50IGRlICVzIG5vIGVzIHBlcm1ldCBlbiB1biBkaXDDsnNpdCBudSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM2NworIzogYnVpbHRpbi9yZXNldC5jOjM5MQogbXNnaWQgIi1OIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCAtLW1peGVkIgogbXNnc3RyICItTiBub23DqXMgZXMgcG90IHVzYXIgYW1iIC0tbWl4ZWQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozODcKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MTIKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKIG1zZ3N0ciAiQ2FudmlzIMKrdW5zdGFnZWTCuyBkZXNwcsOpcyBkZWwgcmVzdGFibGltZW50OiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5MAorIzogYnVpbHRpbi9yZXNldC5jOjQxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xNjczMSw1MyArMTk1NzcsNDggQEAKICJ0byBtYWtlIHRoaXMgdGhlIGRlZmF1bHQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjQwMAorIzogYnVpbHRpbi9yZXNldC5jOjQyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVzZXQgaW5kZXggZmlsZSB0byByZXZpc2lvbiAnJXMnLiIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCByZXN0YWJsaXIgZWwgZml0eGVyIGQnw61uZGV4IGEgbGEgcmV2aXNpw7Mgwqslc8K7LiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjQwNAorIzogYnVpbHRpbi9yZXNldC5jOjQyOQogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgZWwgZml0eGVyIGQnw61uZGV4IG5vdS4iCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0MDMKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0MTEKIG1zZ2lkICJjYW5ub3QgY29tYmluZSAtLWV4Y2x1ZGUtcHJvbWlzb3Itb2JqZWN0cyBhbmQgLS1taXNzaW5nIgotbXNnc3RyICIiCittc2dzdHIgIm5vIGVzIHBvdCBjb21iaW5hciAtLWV4Y2x1ZGUtcHJvbWlzb3Itb2JqZWN0cyBpIC0tbWlzc2luZyIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjQ2MQorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjQ3MgogbXNnaWQgIm9iamVjdCBmaWx0ZXJpbmcgcmVxdWlyZXMgLS1vYmplY3RzIgogbXNnc3RyICJlbCBmaWx0cmF0Z2UgZCdvYmplY3RlcyByZXF1ZXJlaXggLS1vYmplY3RzIgogCi0jOiBidWlsdGluL3Jldi1saXN0LmM6NDY0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgc3BhcnNlIHZhbHVlICclcyciCi1tc2dzdHIgInZhbG9yIHBhcmNpYWwgbm8gdsOgbGlkOiDCqyVzwrsiCi0KLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo1MDUKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo1MjIKIG1zZ2lkICJyZXYtbGlzdCBkb2VzIG5vdCBzdXBwb3J0IGRpc3BsYXkgb2Ygbm90ZXMiCiBtc2dzdHIgImVsIHJldi1saXN0IG5vIHBlcm1ldCBtb3N0cmFyIG5vdGVzIgogCi0jOiBidWlsdGluL3Jldi1saXN0LmM6NTA4CisjOiBidWlsdGluL3Jldi1saXN0LmM6NTI1CiBtc2dpZCAiY2Fubm90IGNvbWJpbmUgLS11c2UtYml0bWFwLWluZGV4IHdpdGggb2JqZWN0IGZpbHRlcmluZyIKIG1zZ3N0ciAibm8gZXMgcG90IGNvbWJpbmFyIC0tdXNlLWJpdG1hcC1pbmRleCBhbWIgZWwgZmlsdHJhdGdlIGQnb2JqZWN0ZXMiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDA3CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQwOAogbXNnaWQgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXSIKIG1zZ3N0ciAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3BjaW9ucz5dIC0tIFs8cGFyw6BtZXRyZXM+Li4uXSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTIKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDEzCiBtc2dpZCAia2VlcCB0aGUgYC0tYCBwYXNzZWQgYXMgYW4gYXJnIgogbXNnc3RyICJyZXTDqW4gZWwgwqstLcK7IHBhc3NhdCBjb20gYSBwYXLDoG1ldHJlIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxNAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTUKIG1zZ2lkICJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiCiBtc2dzdHIgImRlaXhhIGQnYW5hbGl0emFyIGRlc3Byw6lzIGRlbCBwcmltZXIgcGFyw6BtZXRyZSBubyBkJ29wY2nDsyIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTcKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDE4CiBtc2dpZCAib3V0cHV0IGluIHN0dWNrIGxvbmcgZm9ybSIKIG1zZ3N0ciAiZW1ldCBlbiBmb3JtYSBsbGFyZ2EgZW5nYW54YWRhIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjU1MAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1NTEKIG1zZ2lkICIiCiAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dXG4iCiAiICAgb3I6IGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPGFyZz4uLi5dXG4iCkBAIC0xNjgwOCw3MiArMTk2NDksODEgQEAKIG1zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgPHN1YmNvbW1hbmQ+IgogbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgPHN1Ym9yZHJlPiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo5MQorIzogYnVpbHRpbi9yZXZlcnQuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBleHBlY3RzIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiB6ZXJvIgorbXNnc3RyICJsJ29wY2nDsyDCqyVzwrsgZXNwZXJhIHVuIG5vbWJyZSBtYWpvciBxdWUgemVybyIKKworIzogYnVpbHRpbi9yZXZlcnQuYzo5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXMgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKIG1zZ3N0ciAiJXM6ICVzIG5vIGVzIHBvdCB1c2FyIGFtYiAlcyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCiBtc2dpZCAiZW5kIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiYWNhYmEgbGEgc2Vxw7zDqG5jaWEgZGUgcmV2ZXJzacOzIG8gZWwgwqtjaGVycnkgcGlja8K7IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJyZXN1bWUgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJyZXByw6huIGxhIHNlccO8w6huY2lhIGRlIHJldmVyc2nDsyBvIGVsIMKrY2hlcnJ5IHBpY2vCuyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CiBtc2dpZCAiY2FuY2VsIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiY2FuY2VswrdsYSBsYSBzZXHDvMOobmNpYSBkZSByZXZlcnNpw7MgbyBlbCDCq2NoZXJyeSBwaWNrwrsiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCisjOiBidWlsdGluL3JldmVydC5jOjEwNQorbXNnaWQgInNraXAgY3VycmVudCBjb21taXQgYW5kIGNvbnRpbnVlIgorbXNnc3RyICJvbWV0IGxhIGNvbWlzc2nDsyBhY3R1YWwgaSBjb250aW51YSIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDcKIG1zZ2lkICJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIKIG1zZ3N0ciAibm8gY29tZXRpcyBhdXRvbcOgdGljYW1lbnQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CisjOiBidWlsdGluL3JldmVydC5jOjEwOAogbXNnaWQgImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJlZGl0YSBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3CisjOiBidWlsdGluL3JldmVydC5jOjExMQogbXNnaWQgInBhcmVudC1udW1iZXIiCiBtc2dzdHIgIm7Dum1lcm8gZGVsIHBhcmUiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA4CisjOiBidWlsdGluL3JldmVydC5jOjExMgogbXNnaWQgInNlbGVjdCBtYWlubGluZSBwYXJlbnQiCiBtc2dzdHIgInNlbGVjY2lvbmEgbGEgbMOtbmlhIHByaW5jaXBhbCBkZWwgcGFyZSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE0CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgImVzdHJhdMOoZ2lhIGRlIGZ1c2nDsyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE2CiBtc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAib3BjacOzIGQnZXN0cmF0w6hnaWEgZGUgZnVzacOzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyMQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjUKIG1zZ2lkICJhcHBlbmQgY29tbWl0IG5hbWUiCiBtc2dzdHIgIm5vbSBkZSBsYSBjb21pc3Npw7MgYSBhbm5leGFyIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyMworIzogYnVpbHRpbi9yZXZlcnQuYzoxMjcKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAicHJlc2VydmEgbGVzIGNvbWlzc2lvbnMgaW5pY2lhbG1lbnQgYnVpZGVzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyNQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjkKIG1zZ2lkICJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAicmV0w6luIGxlcyBjb21pc3Npb25zIHJlZHVuZGFudHMgaSBidWlkZXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjE5CisjOiBidWlsdGluL3JldmVydC5jOjIzMgogbXNnaWQgInJldmVydCBmYWlsZWQiCiBtc2dzdHIgImxhIHJldmVyc2nDsyBoYSBmYWxsYXQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMyCisjOiBidWlsdGluL3JldmVydC5jOjI0NQogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAiZWwgwqtjaGVycnkgcGlja8K7IGhhIGZhbGxhdCIKIAotIzogYnVpbHRpbi9ybS5jOjE4CisjOiBidWlsdGluL3JtLmM6MTkKIG1zZ2lkICJnaXQgcm0gWzxvcHRpb25zPl0gWy0tXSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBybSBbPG9wY2lvbnM+XSBbLS1dIDxmaXR4ZXI+Li4uIgogCi0jOiBidWlsdGluL3JtLmM6MjA2CisjOiBidWlsdGluL3JtLmM6MjA3CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKICJmaWxlIGFuZCB0aGUgSEVBRDoiCkBAIC0xNjg4Nyw3ICsxOTczNyw3IEBACiAiZWxzIGZpdHhlcnMgc2Vnw7xlbnRzIHRlbmVuIGNvbnRpbmd1dCDCq3N0YWdlwrsgZGlmZXJlbnQgZCdhbWJkw7NzXG4iCiAiZWwgZml0eGVyIGkgbGEgSEVBRDoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMTEKKyM6IGJ1aWx0aW4vcm0uYzoyMTIKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtZiB0byBmb3JjZSByZW1vdmFsKSIKQEAgLTE2ODk1LDEzICsxOTc0NSwxMyBAQAogIlxuIgogIih1c2V1IC1mIHBlciBhIGZvcsOnYXIgbCdlbGltaW5hY2nDsykiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMTUKKyM6IGJ1aWx0aW4vcm0uYzoyMTYKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnc3RyWzBdICJlbCBmaXR4ZXIgc2Vnw7xlbnQgdMOpIGNhbnZpcyDCq3N0YWdlZMK7IGVuIGwnw61uZGV4OiIKIG1zZ3N0clsxXSAiZWxzIGZpdHhlcnMgc2Vnw7xlbnRzIHRlbmVuIGNhbnZpcyDCq3N0YWdlZMK7IGVuIGwnw61uZGV4OiIKIAotIzogYnVpbHRpbi9ybS5jOjIxOSBidWlsdGluL3JtLmM6MjI4CisjOiBidWlsdGluL3JtLmM6MjIwIGJ1aWx0aW4vcm0uYzoyMjkKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtLWNhY2hlZCB0byBrZWVwIHRoZSBmaWxlLCBvciAtZiB0byBmb3JjZSByZW1vdmFsKSIKQEAgLTE2OTA5LDQ1ICsxOTc1OSw0NSBAQAogIlxuIgogIih1c2V1IC0tY2FjaGVkIHBlciBhIG1hbnRlbmlyIGVsIGZpdHhlciwgbyAtZiBwZXIgYSBmb3LDp2FyIGwnZWxpbWluYWNpw7MpIgogCi0jOiBidWlsdGluL3JtLmM6MjI1CisjOiBidWlsdGluL3JtLmM6MjI2CiBtc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGxvY2FsIG1vZGlmaWNhdGlvbnM6IgogbXNnc3RyWzBdICJlbCBmaXR4ZXIgc2Vnw7xlbnQgdMOpIG1vZGlmaWNhY2lvbnMgbG9jYWxzOiIKIG1zZ3N0clsxXSAiZWxzIGZpdHhlcnMgc2Vnw7xlbnRzIHRlbmVuIG1vZGlmaWNhY2lvbnMgbG9jYWxzOiIKIAotIzogYnVpbHRpbi9ybS5jOjI0MQorIzogYnVpbHRpbi9ybS5jOjI0MgogbXNnaWQgImRvIG5vdCBsaXN0IHJlbW92ZWQgZmlsZXMiCiBtc2dzdHIgIm5vIGxsaXN0aXMgZWxzIGZpdHhlcnMgZWxpbWluYXRzIgogCi0jOiBidWlsdGluL3JtLmM6MjQyCisjOiBidWlsdGluL3JtLmM6MjQzCiBtc2dpZCAib25seSByZW1vdmUgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgIm5vbcOpcyBlbGltaW5hIGRlIGwnw61uZGV4IgogCi0jOiBidWlsdGluL3JtLmM6MjQzCisjOiBidWlsdGluL3JtLmM6MjQ0CiBtc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCiBtc2dzdHIgInBhc3NhIHBlciBhbHQgbGEgY29tcHJvdmFjacOzIGQnYWN0dWFsaXRhdCIKIAotIzogYnVpbHRpbi9ybS5jOjI0NAorIzogYnVpbHRpbi9ybS5jOjI0NQogbXNnaWQgImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIgogbXNnc3RyICJwZXJtZXQgbCdlbGltaW5hY2nDsyByZWN1cnNpdmEiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDYKKyM6IGJ1aWx0aW4vcm0uYzoyNDcKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAic3VydCBhbWIgZXN0YXQgemVybyBlbmNhcmEgcXVlIHJlcyBoYWdpIGNvaW5jaWRpdCIKIAotIzogYnVpbHRpbi9ybS5jOjI4OAorIzogYnVpbHRpbi9ybS5jOjI4OQogIywgZnV6enkKIG1zZ2lkICJwbGVhc2Ugc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIKIG1zZ3N0ciAiIgogIkZldSDCq3N0YWdlwrsgZGVscyB2b3N0cmVzIGNhbnZpcyBhIC5naXRtb2R1bGVzIG8gZmV1IMKrc3Rhc2jCuyBkZWxzIG1hdGVpeG9zICIKICJwZXIgYSBwcm9jZWRpciIKIAotIzogYnVpbHRpbi9ybS5jOjMwNgorIzogYnVpbHRpbi9ybS5jOjMwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgcmVtb3ZpbmcgJyVzJyByZWN1cnNpdmVseSB3aXRob3V0IC1yIgogbXNnc3RyICJubyBzJ2VzdMOgIGVsaW1pbmFudCDCqyVzwrsgcmVjdXJzaXZhbWVudCBzZW5zZSAtciIKIAotIzogYnVpbHRpbi9ybS5jOjM0NQorIzogYnVpbHRpbi9ybS5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgcm06IHVuYWJsZSB0byByZW1vdmUgJXMiCiBtc2dzdHIgImdpdCBybTogbm8gcydoYSBwb2d1dCBlbGltaW5hciAlcyIKQEAgLTE2OTgwLDIwICsxOTgzMCw2IEBACiBtc2dpZCAicHJpbnQgc3RhdHVzIGZyb20gcmVtb3RlIGhlbHBlciIKIG1zZ3N0ciAiaW1wcmltZWl4IGwnZXN0YXQgZGVzIGRlIGwnYWp1ZGFudCByZW1vdCIKIAotIzogYnVpbHRpbi9zZXJ2ZS5jOjcKLSMsIGZ1enp5Ci1tc2dpZCAiZ2l0IHNlcnZlIFs8b3B0aW9ucz5dIgotbXNnc3RyICJnaXQgcmVwYWNrIFs8b3BjaW9ucz5dIgotCi0jOiBidWlsdGluL3NlcnZlLmM6MTcgYnVpbHRpbi91cGxvYWQtcGFjay5jOjIzCi1tc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgotbXNnc3RyICJzdXJ0IGRlc3Byw6lzIGQndW4gc29sIGludGVyY2FudmkgZGUgc29swrdsaWNpdHVkL3Jlc3Bvc3RhIgotCi0jOiBidWlsdGluL3NlcnZlLmM6MTkKLSMsIGZ1enp5Ci1tc2dpZCAiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBhZHZlcnRpc2luZyBjYXBhYmlsaXRpZXMiCi1tc2dzdHIgInN1cnQgaW1tZWRpYXRhbWVudCBkZXNwcsOpcyBkZSBsJ2FudW5jaSBpbmljaWFsIGRlIHJlZmVyw6huY2lhIgotCiAjOiBidWlsdGluL3Nob3J0bG9nLmM6MTQKICMsIGZ1enp5CiBtc2dpZCAiZ2l0IHNob3J0bG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSA8cGF0aD4uLi5dIgpAQCAtMTcwMjksNyArMTk4NjUsNyBAQAogbXNnaWQgIkxpbmV3cmFwIG91dHB1dCIKIG1zZ3N0ciAiQWp1c3RhIGxlcyBsw61uaWVzIGRlIGxhIHNvcnRpZGEiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyOTkKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzozMDEKICMsIGZ1enp5CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIGdpdmVuIG91dHNpZGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiaGkgaGEgbWFzc2EgYXJndW1lbnRzIHBlciBhIGRlc2Fzc2lnbmFyIGxhIGZvbnQiCkBAIC0xNzA1NywxMTkgKzE5ODkzLDExOSBAQAogbXNnc3RyWzBdICJzJ2VzdMOgIGlnbm9yYW50ICVzOyBubyBlcyBwb3QgZ2VzdGlvbmFyIG3DqXMgZGUgJWQgcmVmZXLDqG5jaWEiCiBtc2dzdHJbMV0gInMnZXN0w6AgaWdub3JhbnQgJXM7IG5vIGVzIHBvZGVuIGdlc3Rpb25hciBtw6lzIGRlICVkIHJlZmVyw6huY2llcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjU0OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaGluZyByZWZzIHdpdGggJXMiCiBtc2dzdHIgIm5vIGhpIGhhIHJlZmVyw6huY2llcyBjb2luY2lkZW50cyBhbWIgJXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgIm1vc3RyYSBsZXMgYnJhbnF1ZXMgYW1iIHNlZ3VpbWVudCByZW1vdCBpIGxlcyBsb2NhbHMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDcKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAibW9zdHJhIGxlcyBicmFucXVlcyBhbWIgc2VndWltZW50IHJlbW90IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ5CiBtc2dpZCAiY29sb3IgJyohKy0nIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGJyYW5jaCIKIG1zZ3N0ciAiY29sb3JhICcqISstJyBjb3JyZXNwb25lbnQgYSBsYSBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTEKIG1zZ2lkICJzaG93IDxuPiBtb3JlIGNvbW1pdHMgYWZ0ZXIgdGhlIGNvbW1vbiBhbmNlc3RvciIKIG1zZ3N0ciAibW9zdHJhIDxuPiBjb21pc3Npb25zIGRlc3Byw6lzIGRlIGwnYXZhbnRwYXNzYXQgY29tw7oiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTMKIG1zZ2lkICJzeW5vbnltIHRvIG1vcmU9LTEiCiBtc2dzdHIgInNpbsOybmltIGRlIG1vcmU9LTEiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKIG1zZ2lkICJzdXBwcmVzcyBuYW1pbmcgc3RyaW5ncyIKIG1zZ3N0ciAib21ldCBhbm9tZW5hciBjYWRlbmVzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU2CiBtc2dpZCAiaW5jbHVkZSB0aGUgY3VycmVudCBicmFuY2giCiBtc2dzdHIgImluY2xvdSBsYSBicmFuY2EgYWN0dWFsIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU4CiBtc2dpZCAibmFtZSBjb21taXRzIHdpdGggdGhlaXIgb2JqZWN0IG5hbWVzIgogbXNnc3RyICJhbm9tZW5hIGxlcyBjb21pc3Npb25zIGFtYiBlbHMgc2V1cyBub21zIGQnb2JqZWN0ZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MAogbXNnaWQgInNob3cgcG9zc2libGUgbWVyZ2UgYmFzZXMiCiBtc2dzdHIgIm1vc3RyYSBsZXMgYmFzZXMgZGUgZnVzacOzIHBvc3NpYmxlcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MgogbXNnaWQgInNob3cgcmVmcyB1bnJlYWNoYWJsZSBmcm9tIGFueSBvdGhlciByZWYiCiBtc2dzdHIgIm1vc3RyYSBsZXMgcmVmZXLDqG5jaWVzIGluYWJhc3RhYmxlcyBkZSBxdWFsc2V2b2wgYWx0cmEgcmVmZXLDqG5jaWEiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjQKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgIm1vc3RyYSBsZXMgY29taXNzaW9ucyBlbiBvcmRyZSB0b3BvbMOyZ2ljIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY3CiBtc2dpZCAic2hvdyBvbmx5IGNvbW1pdHMgbm90IG9uIHRoZSBmaXJzdCBicmFuY2giCiBtc2dzdHIgIm1vc3RyYSBub23DqXMgbGVzIGNvbWlzc2lvbnMgcXVlIG5vIHNpZ3VpbiBlbiBsYSBwcmltZXJhIGJyYW5jYSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OQogbXNnaWQgInNob3cgbWVyZ2VzIHJlYWNoYWJsZSBmcm9tIG9ubHkgb25lIHRpcCIKIG1zZ3N0ciAibW9zdHJhIGxlcyBmdXNpb25zIGFiYXN0YWJsZXMgZGUgbm9tw6lzIHVuYSBwdW50YSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MQogbXNnaWQgInRvcG9sb2dpY2FsbHkgc29ydCwgbWFpbnRhaW5pbmcgZGF0ZSBvcmRlciB3aGVyZSBwb3NzaWJsZSIKIG1zZ3N0ciAib3JkZW5hIHRvcG9sw7JnaWNhbWVudCwgbWFudGVuaW50IGwnb3JkcmUgZGUgZGF0ZXMgb24gc2lndWkgcG9zc2libGUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzQKIG1zZ2lkICI8bj5bLDxiYXNlPl0iCiBtc2dzdHIgIjxuPlssPGJhc2U+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NQogbXNnaWQgInNob3cgPG4+IG1vc3QgcmVjZW50IHJlZi1sb2cgZW50cmllcyBzdGFydGluZyBhdCBiYXNlIgogbXNnc3RyICJtb3N0cmEgbGVzIDxuPiBlbnRyYWRlcyBtw6lzIHJlY2VudHMgY29tZW7Dp2FudCBhIGxhIGJhc2UiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MTIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MTEKIG1zZ2lkICIiCiAiLS1yZWZsb2cgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCBvciAtLW1lcmdlLWJhc2UiCiBtc2dzdHIgIiIKICItLXJlZmxvZyDDqXMgaW5jb21wYXRpYmxlIGFtYiAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50IG8gLS1tZXJnZS1iYXNlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM1CiBtc2dpZCAibm8gYnJhbmNoZXMgZ2l2ZW4sIGFuZCBIRUFEIGlzIG5vdCB2YWxpZCIKIG1zZ3N0ciAibm8gcydoYSBkb25hdCBjYXAgYnJhbmNhLCBpIEhFQUQgbm8gw6lzIHbDoGxpZCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczOQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczOAogbXNnaWQgIi0tcmVmbG9nIG9wdGlvbiBuZWVkcyBvbmUgYnJhbmNoIG5hbWUiCiBtc2dzdHIgImwnb3BjacOzIC0tcmVmbG9nIG5lY2Vzc2l0YSB1biBub20gZGUgYnJhbmNhIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9ubHkgJWQgZW50cnkgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKIG1zZ2lkX3BsdXJhbCAib25seSAlZCBlbnRyaWVzIGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCiBtc2dzdHJbMF0gImVzIHBvdCBtb3N0cmFyIG5vbcOpcyAlZCBlbnRyYWRhIGEgbGEgdmVnYWRhLiIKIG1zZ3N0clsxXSAiZXMgcG9kZW4gbW9zdHJhciBub23DqXMgJWQgZW50cmFkZXMgYSBsYSB2ZWdhZGEuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQ2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcmVmICVzIgogbXNnc3RyICJubyBoaSBoYSB0YWwgcmVmZXLDqG5jaWEgJXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2LiIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2cy4iCiBtc2dzdHJbMF0gIm5vIGVzIHBvdCBnZXN0aW9uYXIgbcOpcyBkJyVkIHJldmlzacOzLiIKIG1zZ3N0clsxXSAibm8gZXMgcG9kZW4gZ2VzdGlvbmFyIG3DqXMgZGUgJWQgcmV2aXNpb25zLiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIsKrJXPCuyBubyDDqXMgdW5hIHJlZmVyw6huY2lhIHbDoGxpZGEuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmaW5kIGNvbW1pdCAlcyAoJXMpIgogbXNnc3RyICJubyBlcyBwb3QgdHJvYmFyIGxhIGNvbWlzc2nDsyAlcyAoJXMpIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTEKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMgogbXNnaWQgIiIKICJnaXQgc2hvdy1yZWYgWy1xIHwgLS1xdWlldF0gWy0tdmVyaWZ5XSBbLS1oZWFkXSBbLWQgfCAtLWRlcmVmZXJlbmNlXSBbLXMgfCAtLSIKICJoYXNoWz08bj5dXSBbLS1hYmJyZXZbPTxuPl1dIFstLXRhZ3NdIFstLWhlYWRzXSBbLS1dIFs8cGF0dGVybj4uLi5dIgpAQCAtMTcxNzcsNDQgKzIwMDEzLDMzNSBAQAogImdpdCBzaG93LXJlZiBbLXEgfCAtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZCB8IC0tZGVyZWZlcmVuY2VdIFstcyB8IC0tIgogImhhc2hbPTxuPl1dIFstLWFiYnJldls9PG4+XV0gWy0tdGFnc10gWy0taGVhZHNdIFstLV0gWzxwYXRyw7M+Li4uXSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjEyCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTMKIG1zZ2lkICJnaXQgc2hvdy1yZWYgLS1leGNsdWRlLWV4aXN0aW5nWz08cGF0dGVybj5dIgogbXNnc3RyICJnaXQgc2hvdy1yZWYgLS1leGNsdWRlLWV4aXN0aW5nWz08cGF0csOzPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjEKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjIKIG1zZ2lkICJvbmx5IHNob3cgdGFncyAoY2FuIGJlIGNvbWJpbmVkIHdpdGggaGVhZHMpIgogbXNnc3RyICJtb3N0cmEgbm9tw6lzIGxlcyBldGlxdWV0ZXMgKGVzIHBvdCBjb21iaW5hciBhbWIgaGVhZHMpIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTYyCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTYzCiBtc2dpZCAib25seSBzaG93IGhlYWRzIChjYW4gYmUgY29tYmluZWQgd2l0aCB0YWdzKSIKIG1zZ3N0ciAibW9zdHJhIG5vbcOpcyBlbHMgY2FwcyAoZXMgcG90IGNvbWJpbmFyIGFtYiB0YWdzKSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2MworIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2NAogbXNnaWQgInN0cmljdGVyIHJlZmVyZW5jZSBjaGVja2luZywgcmVxdWlyZXMgZXhhY3QgcmVmIHBhdGgiCiBtc2dzdHIgIiIKICJjb21wcm92YWNpw7MgZGUgcmVmZXLDqG5jaWEgbcOpcyBlc3RyaWN0YSwgcmVxdWVyZWl4IGVsIGNhbcOtIGRlIHJlZmVyw6huY2lhICIKICJleGFjdGUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjYgYnVpbHRpbi9zaG93LXJlZi5jOjE2OAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2NyBidWlsdGluL3Nob3ctcmVmLmM6MTY5CiBtc2dpZCAic2hvdyB0aGUgSEVBRCByZWZlcmVuY2UsIGV2ZW4gaWYgaXQgd291bGQgYmUgZmlsdGVyZWQgb3V0IgogbXNnc3RyICJtb3N0cmEgbGEgcmVmZXLDqG5jaWEgSEVBRCwgZW5jYXJhIHF1ZSBlcyBmaWx0csOpcyIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MQogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW50byBvYmplY3QgSURzIgogbXNnc3RyICJkZXNyZWZlcmVuY2lhIGxlcyBldGlxdWV0ZXMgYSBJRCBkJ29iamVjdGUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzIKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzMKIG1zZ2lkICJvbmx5IHNob3cgU0hBMSBoYXNoIHVzaW5nIDxuPiBkaWdpdHMiCiBtc2dzdHIgIm1vc3RyYSBlbCBoYXNoIFNIQTEgdXNhbnQgbm9tw6lzIDxuPiB4aWZyZXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzYKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzcKIG1zZ2lkICJkbyBub3QgcHJpbnQgcmVzdWx0cyB0byBzdGRvdXQgKHVzZWZ1bCB3aXRoIC0tdmVyaWZ5KSIKIG1zZ3N0ciAibm8gaW1wcmltZWl4aXMgZWxzIHJlc3VsdGF0cyBhIHN0ZG91dCAow7p0aWwgYW1iIC0tdmVyaWZ5KSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OQogbXNnaWQgInNob3cgcmVmcyBmcm9tIHN0ZGluIHRoYXQgYXJlbid0IGluIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIm1vc3RyYSBsZXMgcmVmZXLDqG5jaWVzIGRlIHN0ZGluIHF1ZSBubyBzaWd1aW4gZW4gZWwgZGlww7JzaXQgbG9jYWwiCiAKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MjAKK21zZ2lkICJnaXQgc3BhcnNlLWNoZWNrb3V0IChpbml0fGxpc3R8c2V0fGRpc2FibGUpIDxvcHRpb25zPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjYxCittc2dpZCAidGhpcyB3b3JrdHJlZSBpcyBub3Qgc3BhcnNlIChzcGFyc2UtY2hlY2tvdXQgZmlsZSBtYXkgbm90IGV4aXN0KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjIyMAorbXNnaWQgImZhaWxlZCB0byBzZXQgZXh0ZW5zaW9ucy53b3JrdHJlZUNvbmZpZyBzZXR0aW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MjM3Cittc2dpZCAiZ2l0IHNwYXJzZS1jaGVja291dCBpbml0IFstLWNvbmVdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MjU2Cittc2dpZCAiaW5pdGlhbGl6ZSB0aGUgc3BhcnNlLWNoZWNrb3V0IGluIGNvbmUgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI2MgorIywgZnV6enkKK21zZ2lkICJpbml0aWFsaXplIHNwYXJzZS1jaGVja291dCIKK21zZ3N0ciAib21ldCBsJ2FwbGljYWNpw7MgZGVsIGZpbHRyZSBkJ2FnYWZhbWVudCBwYXJjaWFsIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKK21zZ3N0ciAicydoYSBmYWxsYXQgZW4gb2JyaXIgJyVzJyIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzozNjEKKyMsIGZ1enp5Cittc2dpZCAiZ2l0IHNwYXJzZS1jaGVja291dCBzZXQgKC0tc3RkaW4gfCA8cGF0dGVybnM+KSIKK21zZ3N0ciAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjM3OAorIywgZnV6enkKK21zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gc3RhbmRhcmQgaW4iCittc2dzdHIgImxsZWdlaXggbGVzIGFjdHVhbGl0emFjaW9ucyBkZXMgZGUgc3RkaW4iCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6Mzg0CisjLCBmdXp6eQorbXNnaWQgInNldCBzcGFyc2UtY2hlY2tvdXQgcGF0dGVybnMiCittc2dzdHIgIm9tZXQgbCdhcGxpY2FjacOzIGRlbCBmaWx0cmUgZCdhZ2FmYW1lbnQgcGFyY2lhbCIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo0NDcKKyMsIGZ1enp5Cittc2dpZCAiZGlzYWJsZSBzcGFyc2UtY2hlY2tvdXQiCittc2dzdHIgIm9tZXQgbCdhcGxpY2FjacOzIGRlbCBmaWx0cmUgZCdhZ2FmYW1lbnQgcGFyY2lhbCIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo0NTkKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3Igd2hpbGUgcmVmcmVzaGluZyB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnRlbmlyIGVsIGRpcmVjdG9yaSBkZSB0cmViYWxsIGFjdHVhbCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjIyIGJ1aWx0aW4vc3Rhc2guYzozNworIywgZnV6enkKK21zZ2lkICJnaXQgc3Rhc2ggbGlzdCBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHdvcmt0cmVlIGxpc3QgWzxvcGNpb25zPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyMyBidWlsdGluL3N0YXNoLmM6NDIKKyMsIGZ1enp5Cittc2dpZCAiZ2l0IHN0YXNoIHNob3cgWzxvcHRpb25zPl0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgcmVtb3RlIHNob3cgWzxvcGNpb25zPl0gPG5vbT4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNCBidWlsdGluL3N0YXNoLmM6NDcKK21zZ2lkICJnaXQgc3Rhc2ggZHJvcCBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNQorbXNnaWQgImdpdCBzdGFzaCAoIHBvcCB8IGFwcGx5ICkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjI2IGJ1aWx0aW4vc3Rhc2guYzo2MgorIywgZnV6enkKK21zZ2lkICJnaXQgc3Rhc2ggYnJhbmNoIDxicmFuY2huYW1lPiBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBicmFuY2ggWzxvcGNpb25zPl0gWy1sXSBbLWZdIDxub20tZGUtYnJhbmNhPiBbPHB1bnQtaW5pY2lhbD5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjcgYnVpbHRpbi9zdGFzaC5jOjY3Cittc2dpZCAiZ2l0IHN0YXNoIGNsZWFyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyOCBidWlsdGluL3N0YXNoLmM6NzcKK21zZ2lkICIiCisiZ2l0IHN0YXNoIFtwdXNoIFstcHwtLXBhdGNoXSBbLWt8LS1bbm8tXWtlZXAtaW5kZXhdIFstcXwtLXF1aWV0XVxuIgorIiAgICAgICAgICBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbLW18LS1tZXNzYWdlIDxtZXNzYWdlPl1cbiIKKyIgICAgICAgICAgWy0tXSBbPHBhdGhzcGVjPi4uLl1dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzozMSBidWlsdGluL3N0YXNoLmM6ODQKK21zZ2lkICIiCisiZ2l0IHN0YXNoIHNhdmUgWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisiICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFs8bWVzc2FnZT5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1MgorbXNnaWQgImdpdCBzdGFzaCBwb3AgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU3Cittc2dpZCAiZ2l0IHN0YXNoIGFwcGx5IFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo3MgorbXNnaWQgImdpdCBzdGFzaCBzdG9yZSBbLW18LS1tZXNzYWdlIDxtZXNzYWdlPl0gWy1xfC0tcXVpZXRdIDxjb21taXQ+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCittc2dzdHIgIickYXJncycgbm8gw6lzIHVuYSBjb21pc3Npw7MgZGUgdGlwdXMgbWFnYXR6ZW0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6JXMiCittc2dzdHIgIlMnaGFuIGVzcGVjaWZpY2F0IG1hc3NhIHJldmlzaW9uczogJFJFViIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE2MSBnaXQtbGVnYWN5LXN0YXNoLnNoOjU0OQorbXNnaWQgIk5vIHN0YXNoIGVudHJpZXMgZm91bmQuIgorbXNnc3RyICJObyBzJ2hhIHRyb2JhdCBjYXAgwqtzdGFzaMK7LiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgorbXNnc3RyICLCqyVzwrsgbm8gw6lzIHVuIG5vbSBkZSByZW1vdCB2w6BsaWQiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyMjQgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo3NQorbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKK21zZ3N0ciAiZ2l0IHN0YXNoIGNsZWFyIGFtYiBwYXLDoG1ldHJlcyBubyBlc3TDoCBpbXBsZW1lbnRhdCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQwMworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCittc2dzdHIgIk5vIGVzIHBvdCBhcGxpY2FyIHVuIG1hZ2F0emVtIGVubWlnIGQndW5hIGZ1c2nDsyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGdlbmVyYXRlIGRpZmYgJXNeIS4iCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZ2VuZXJhciBsYSBsbGlzdGEgcGVyIGEgZmVyIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDIxCisjLCBmdXp6eQorbXNnaWQgImNvbmZsaWN0cyBpbiBpbmRleC5Ucnkgd2l0aG91dCAtLWluZGV4LiIKK21zZ3N0ciAiSGkgaGEgY29uZmxpY3RlcyBlbiBsJ8OtbmRleC4gUHJvdmV1LWhvIHNlbnNlIC0taW5kZXguIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDI3CisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZGVzYXIgbCdhcmJyZSBkJ8OtbmRleCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQzNgorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCIKK21zZ3N0ciAiTm8gcydoYW4gcG9ndXQgcmVzdGF1cmFyIGVscyBmaXR4ZXJzIG5vIHNlZ3VpdHMgZGVzIGRlbCDCq3N0YXNowrsiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lcmdpbmcgJXMgd2l0aCAlcyIKK21zZ3N0ciAiUydlc3TDoCBmdXNpb25hbnQgJXMgYW1iICVzXG4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0NjAgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2ODEKK21zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCittc2dzdHIgIkwnw61uZGV4IG5vIGVzdGF2YSBzZW5zZSBlbW1hZ2F0emVtYXIuIgorCisjOiBidWlsdGluL3N0YXNoLmM6NTIxIGJ1aWx0aW4vc3Rhc2guYzo2MjAKKyMsIGZ1enp5Cittc2dpZCAiYXR0ZW1wdCB0byByZWNyZWF0ZSB0aGUgaW5kZXgiCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbGxlZ2lyIGwnw61uZGV4IgorCisjOiBidWlsdGluL3N0YXNoLmM6NTU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEcm9wcGVkICVzICglcykiCittc2dzdHIgIiR7UkVWfSAoJHMpIGRlc2NhcnRhZGEiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKK21zZ3N0ciAiJHtSRVZ9OiBObyBzJ2hhIHBvZ3V0IGRlc2NhcnRhciBsJ2VudHJhZGEgZGUgbWFnYXR6ZW0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgc3Rhc2ggcmVmZXJlbmNlIgorbXNnc3RyICInJGFyZ3MnIG5vIMOpcyB1bmEgcmVmZXLDqG5jaWEgZGUgbWFnYXR6ZW0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo2MzIgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2OTUKK21zZ2lkICJUaGUgc3Rhc2ggZW50cnkgaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIKK21zZ3N0ciAiRXMgY29uc2VydmEgbCdlbnRyYWRhIMKrc3Rhc2jCuyBlbiBjYXMgcXVlIGxhIG5lY2Vzc2l0ZXUgYWx0cmEgdmVnYWRhLiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjY1NSBnaXQtbGVnYWN5LXN0YXNoLnNoOjcxMworbXNnaWQgIk5vIGJyYW5jaCBuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAiQ2FwIG5vbSBkZSBicmFuY2EgZXNwZWNpZmljYXQiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo3OTUgYnVpbHRpbi9zdGFzaC5jOjgzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHVwZGF0ZSAlcyB3aXRoICVzIgorbXNnc3RyICJObyBlcyBwb3QgYWN0dWFsaXR6YXIgJHJlZl9zdGFzaCBhbWIgJHdfY29tbWl0IgorCisjOiBidWlsdGluL3N0YXNoLmM6ODEzIGJ1aWx0aW4vc3Rhc2guYzoxNDcwIGJ1aWx0aW4vc3Rhc2guYzoxNTA2CisjLCBmdXp6eQorbXNnaWQgInN0YXNoIG1lc3NhZ2UiCittc2dzdHIgIm1pc3NhdGdlIGQnZXRpcXVldGEiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo4MjMKKyMsIGZ1enp5Cittc2dpZCAiXCJnaXQgc3Rhc2ggc3RvcmVcIiByZXF1aXJlcyBvbmUgPGNvbW1pdD4gYXJndW1lbnQiCittc2dzdHIgIi0tYmlzZWN0LWNsZWFuLXN0YXRlIG5vIGFjY2VwdGEgcGFyw6BtZXRyZXMiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMDQ1IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjE4Cittc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKK21zZ3N0ciAiTm8gaGkgaGEgY2FudmlzIHNlbGVjY2lvbmF0cyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExNDUgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoxNTAKK21zZ2lkICJZb3UgZG8gbm90IGhhdmUgdGhlIGluaXRpYWwgY29tbWl0IHlldCIKK21zZ3N0ciAiRW5jYXJhIG5vIHRlbml1IGxhIGNvbWlzc2nDsyBpbmljaWFsIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTE3MiBnaXQtbGVnYWN5LXN0YXNoLnNoOjE2NQorbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IGluZGV4IHN0YXRlIgorbXNnc3RyICJObyBlcyBwb3QgZGVzYXIgbCdlc3RhdCBkJ8OtbmRleCBhY3R1YWwiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTgxIGdpdC1sZWdhY3ktc3Rhc2guc2g6MTgwCittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKK21zZ3N0ciAiTm8gZXMgcG9kZW4gZGVzYXIgZWxzIGZpdHhlcnMgbm8gc2VndWl0cyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExOTIgYnVpbHRpbi9zdGFzaC5jOjEyMDEgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMDEKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjE0Cittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCittc2dzdHIgIk5vIGVzIHBvdCBkZXNhciBsJ2VzdGF0IGQnYXJicmUgZGUgdHJlYmFsbCBhY3R1YWwiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMjI5IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjM0Cittc2dpZCAiQ2Fubm90IHJlY29yZCB3b3JraW5nIHRyZWUgc3RhdGUiCittc2dzdHIgIk5vIGVzIHBvdCByZWdpc3RyYXIgbCdlc3RhdCBkZSBsJ2FyYnJlIGRlIHRyZWJhbGwiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMjc4IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzM4Cittc2dpZCAiQ2FuJ3QgdXNlIC0tcGF0Y2ggYW5kIC0taW5jbHVkZS11bnRyYWNrZWQgb3IgLS1hbGwgYXQgdGhlIHNhbWUgdGltZSIKK21zZ3N0ciAiTm8gZXMgcG9kZW4gdXNhciAtLXBhdGNoIGkgLS1pbmNsdWRlLXVudHJhY2tlZCBvIC0tYWxsIGEgbGEgdmVnYWRhIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTI5NAorIywgZnV6enkKK21zZ2lkICJEaWQgeW91IGZvcmdldCB0byAnZ2l0IGFkZCc/IgorbXNnc3RyICJQb3RzZXIgdm9sw61ldSBkaXIgwqtnaXQgYWRkIC7Cuz9cbiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEzMDkgZ2l0LWxlZ2FjeS1zdGFzaC5zaDozNDYKK21zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCittc2dzdHIgIk5vIGhpIGhhIGNhbnZpcyBsb2NhbHMgYSBkZXNhciIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEzMTYgZ2l0LWxlZ2FjeS1zdGFzaC5zaDozNTEKK21zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKK21zZ3N0ciAiTm8gZXMgcG90IGluaWNpYWxpdHphciBlbCBtYWdhdHplbSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEzMzEgZ2l0LWxlZ2FjeS1zdGFzaC5zaDozNTUKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCittc2dzdHIgIk5vIGVzIHBvdCBkZXNhciBsJ2VzdGF0IGFjdHVhbCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEzMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBpbmRleCBzdGF0ZSAlcyIKK21zZ3N0ciAiUydoYW4gZGVzYXQgZWwgZGlyZWN0b3JpIGRlIHRyZWJhbGwgaSBsJ2VzdGF0IGQnw61uZGV4ICRzdGFzaF9tc2ciCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDI2IGdpdC1sZWdhY3ktc3Rhc2guc2g6Mzg1Cittc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgorbXNnc3RyICJObyBlcyBwb2RlbiBlbGltaW5hciBlbHMgY2FudmlzIGRlIGwnYXJicmUgZGUgdHJlYmFsbCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjEgYnVpbHRpbi9zdGFzaC5jOjE0OTcKKyMsIGZ1enp5Cittc2dpZCAia2VlcCBpbmRleCIKK21zZ3N0ciAiQWN0dWFsaXR6YSBsJ8OtbmRleCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjMgYnVpbHRpbi9zdGFzaC5jOjE0OTkKK21zZ2lkICJzdGFzaCBpbiBwYXRjaCBtb2RlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDY0IGJ1aWx0aW4vc3Rhc2guYzoxNTAwCisjLCBmdXp6eQorbXNnaWQgInF1aWV0IG1vZGUiCittc2dzdHIgInNpbGVuY2nDs3MiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDY2IGJ1aWx0aW4vc3Rhc2guYzoxNTAyCisjLCBmdXp6eQorbXNnaWQgImluY2x1ZGUgdW50cmFja2VkIGZpbGVzIGluIHN0YXNoIgorbXNnc3RyICJtb3N0cmEgZWxzIGZpdHhlcnMgbm8gc2VndWl0cyBlbiBjb2x1bW5lcyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjggYnVpbHRpbi9zdGFzaC5jOjE1MDQKKyMsIGZ1enp5Cittc2dpZCAiaW5jbHVkZSBpZ25vcmUgZmlsZXMiCittc2dzdHIgImVsaW1pbmEgbm9tw6lzIGVscyBmaXR4ZXJzIGlnbm9yYXRzIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTU2NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZXhlYyAlcyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciAlcyIKKwogIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTgKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLXMgfCAtLXN0cmlwLWNvbW1lbnRzXSIKIG1zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1zIHwgLS1zdHJpcC1jb21tZW50c10iCkBAIC0xNzIyMyw1NiArMjAzNTAsNTYgQEAKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogbXNnc3RyICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzozNgorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzcKIG1zZ2lkICJza2lwIGFuZCByZW1vdmUgYWxsIGxpbmVzIHN0YXJ0aW5nIHdpdGggY29tbWVudCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKICJvbWV0IGkgZWxpbWluYSB0b3RlcyBsZXMgbMOtbmllcyBxdWUgY29tZW5jaW4gYW1iIGVsIGNhcsOgY3RlciBkZSBjb21lbnRhcmkiCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM5CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzo0MAogbXNnaWQgInByZXBlbmQgY29tbWVudCBjaGFyYWN0ZXIgYW5kIHNwYWNlIHRvIGVhY2ggbGluZSIKIG1zZ3N0ciAiYW50ZXBvc2EgZWwgY2Fyw6BjdGVyIGRlIGNvbWVudGFyaSBpIHVuIGVzcGFpIGEgY2FkYSBsw61uaWEiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkzOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGluZyBhIGZ1bGwgcmVmIG5hbWUsIGdvdCAlcyIKIG1zZ3N0ciAiUydlc3BlcmEgdW4gbm9tIGRlIHJlZmVyw6huY2lhIHBsZSwgcydoYSByZWJ1dCAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQKIG1zZ2lkICJzdWJtb2R1bGUtLWhlbHBlciBwcmludC1kZWZhdWx0LXJlbW90ZSB0YWtlcyBubyBhcmd1bWVudHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdHJpcCBvbmUgY29tcG9uZW50IG9mZiB1cmwgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG90IGRlc3B1bGxhciB1biBjb21wb25lbnQgZGUgbCd1cmwgwqslc8K7IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzYzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDEwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzgwCiBtc2dpZCAiYWx0ZXJuYXRpdmUgYW5jaG9yIGZvciByZWxhdGl2ZSBwYXRocyIKIG1zZ3N0ciAiw6BuY29yYSBhbHRlcm5hdGl2YSBwZXIgYWxzIGNhbWlucyByZWxhdGl1cyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxNQogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PGNhbcOtPl0gWzxjYW3DrT4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDY5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MjYKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NzIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzMAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyB1cmwgZm91bmQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcycgaW4gLmdpdG1vZHVsZXMiCiBtc2dzdHIgIk5vIHMnaGEgdHJvYmF0IGNhcCB1cmwgcGVyIGFsIGNhbcOtIGRlIHN1Ym3DsmR1bCDCqyVzwrsgYSAuZ2l0bW9kdWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyMQotIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAiRW50ZXJpbmcgJyVzJ1xuIgotbXNnc3RyICJzJ2VzdMOgIHNvYnJlZXNjcml2aW50IMKrJXPCuyIKLQogIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNAogIywgYy1mb3JtYXQKK21zZ2lkICJFbnRlcmluZyAnJXMnXG4iCittc2dzdHIgIlMnZXN0w6AgZW50cmFudCBhIMKrJXPCu1xuIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI3CisjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fY29tbWFuZCByZXR1cm5lZCBub24temVybyBzdGF0dXMgZm9yICVzXG4iCiAiLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTQ1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fY29tbWFuZCByZXR1cm5lZCBub24temVybyBzdGF0dXMgd2hpbGUgcmVjdXJzaW5nIGluIHRoZSBuZXN0ZWQgIgpAQCAtMTcyODAsMjIgKzIwNDA3LDIxIEBACiAiLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTYxCi0jLCBmdXp6eQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NQogbXNnaWQgIlN1cHByZXNzIG91dHB1dCBvZiBlbnRlcmluZyBlYWNoIHN1Ym1vZHVsZSBjb21tYW5kIgotbXNnc3RyICJPbWV0IGxhIHNvcnRpZGEgZCdpbmljaWFsaXR6YXIgdW4gc3VibcOyZHVsIgorbXNnc3RyICJPbWV0IGxhIHNvcnRpZGEgZW4gZW50cmFyIGwnb3JkcmUgZGUgY2FkYSBzdWJtw7JkdWwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNDgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTMKIG1zZ2lkICJSZWN1cnNlIGludG8gbmVzdGVkIHN1Ym1vZHVsZXMiCi1tc2dzdHIgIkluY2xvdSByZWN1cnNpdmFtZW50IGVscyBzdWJtw7JkdWxzIGltYnJpbmNhdHMiCittc2dzdHIgIkluY2xvdSByZWN1cnNpdmFtZW50IGVscyBzdWJtw7JkdWxzIGltYnJpY2F0cyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU3MgogIywgZnV6enkKLW1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZm9yZWFjaCBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSA8Y29tbWFuZD4iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBzeW5jIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIFs8Y2Ftw60+XSIKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZm9yZWFjaCBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSBbLS1dIDxjb21tYW5kPiIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGZvcmVhY2ggWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWzxvcmRyZT5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTk1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTkKKyMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBsb29rIHVwIGNvbmZpZ3VyYXRpb24gJyVzJy4gQXNzdW1pbmcgdGhpcyByZXBvc2l0b3J5IGlzIGl0cyBvd24gIgogImF1dGhvcml0YXRpdmUgdXBzdHJlYW0uIgpAQCAtMTczMDMsMTA1ICsyMDQyOSwxMDYgQEAKICJubyBzJ2hhIHBvZ3V0IHRyb2JhciBsYSBjb25maWd1cmFjacOzIMKrJXPCuy4gUydhc3N1bWVpeCBxdWUgYXF1ZXN0IGRpcMOyc2l0IMOpcyAiCiAiZWwgc2V1IGRpcMOyc2l0IGZvbnQgYXV0b3JpdHphdC4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiByZWdpc3RyYXIgbCd1cmwgcGVyIGFsIGNhbcOtIGRlIHN1Ym3DsmR1bCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgKCVzKSByZWdpc3RlcmVkIGZvciBwYXRoICclcydcbiIKIG1zZ3N0ciAiUydoYSByZWdpc3RyYXQgZWwgc3VibcOyZHVsIMKrJXPCuyAoJXMpIHBlciBhbCBjYW3DrSDCqyVzwrtcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY3NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBjb21tYW5kIHVwZGF0ZSBtb2RlIHN1Z2dlc3RlZCBmb3Igc3VibW9kdWxlICclcydcbiIKIG1zZ3N0ciAiIgogImFkdmVydMOobmNpYTogc2Ugc3VnZ2VyZWl4IGVsIG1vZGUgZCdhY3R1YWxpdHphY2nDsyBwZXIgb3JkcmUgcGVyIGFsIHN1Ym3DsmR1bCAiCiAiwqslc8K7XG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiByZWdpc3RyYXIgZWwgbW9kZSBkJ2FjdHVhbGl0emFjacOzIHBlciBhbCBjYW3DrSBkZSAiCiAic3VibcOyZHVsIMKrJXPCuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcwNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcxMAogbXNnaWQgIlN1cHByZXNzIG91dHB1dCBmb3IgaW5pdGlhbGl6aW5nIGEgc3VibW9kdWxlIgogbXNnc3RyICJPbWV0IGxhIHNvcnRpZGEgZCdpbmljaWFsaXR6YXIgdW4gc3VibcOyZHVsIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzExCi1tc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzxwYXRoPl0iCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzE1CisjLCBmdXp6eQorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8b3B0aW9ucz5dIFs8cGF0aD5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPGNhbcOtPl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkwOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc4NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Ym1vZHVsZSBtYXBwaW5nIGZvdW5kIGluIC5naXRtb2R1bGVzIGZvciBwYXRoICclcyciCiBtc2dzdHIgIk5vIHMnaGEgdHJvYmF0IGNhcCBtYXBhdGdlIGRlIHN1Ym3DsmR1bCBhIC5naXRtb2R1bGVzIHBlciBhbCBjYW3DrSDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4MjIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCByZWYgaW5zaWRlIHRoZSBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCByZXNvbGRyZSBsYSByZWZlcsOobmNpYSBhIEhFQUQgZGlucyBkZWwgc3VibcOyZHVsIMKrJXPCuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg0OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAxOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg1NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciByZWN1cnNpdmFtZW50IGFsIHN1Ym3DsmR1bCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NzMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NzggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODkKIG1zZ2lkICJTdXBwcmVzcyBzdWJtb2R1bGUgc3RhdHVzIG91dHB1dCIKIG1zZ3N0ciAiU3VwcmltZWl4IGxhIHNvcnRpZGEgZGUgbCdlc3RhdCBkZWwgc3VibcOyZHVsIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc5CiBtc2dpZCAiIgogIlVzZSBjb21taXQgc3RvcmVkIGluIHRoZSBpbmRleCBpbnN0ZWFkIG9mIHRoZSBvbmUgc3RvcmVkIGluIHRoZSBzdWJtb2R1bGUgIgogIkhFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg4MAogbXNnaWQgInJlY3Vyc2UgaW50byBuZXN0ZWQgc3VibW9kdWxlcyIKIG1zZ3N0ciAiaW5jbG91IHJlY3Vyc2l2YW1lbnQgZWxzIHN1Ym3DsmR1bHMgaW1icmluY2F0cyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg4MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg4NQogbXNnaWQgImdpdCBzdWJtb2R1bGUgc3RhdHVzIFstLXF1aWV0XSBbLS1jYWNoZWRdIFstLXJlY3Vyc2l2ZV0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUgc3RhdHVzIFstLXF1aWV0XSBbLS1jYWNoZWRdIFstLXJlY3Vyc2l2ZV0gWzxjYW3DrT4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA5CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPHBhdGg+IgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8Y2Ftw60+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCBmb3IgJyVzJ1xuIgogbXNnc3RyICJTJ2VzdMOgIHNpbmNyb25pdHphbnQgbCd1cmwgZGVsIHN1Ym3DsmR1bCBwZXIgYSDCqyVzwrtcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHJlZ2lzdHJhciBsJ3VybCBwZXIgYWwgY2Ftw60gZGVsIHN1Ym3DsmR1bCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgZGVmYXVsdCByZW1vdGUgZm9yIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICIiCiAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnRlbmlyIGVsIHJlbW90IHBlciBkZWZlY3RlIHBlbCBzdWJtw7JkdWwgwqslc8K7IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTk5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdXBkYXRlIHJlbW90ZSBmb3Igc3VibW9kdWxlICclcyciCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYWN0dWFsaXR6YXIgZWwgcmVtb3QgcGVsIHN1Ym3DsmR1bCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDQ2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1MQogbXNnaWQgIlN1cHByZXNzIG91dHB1dCBvZiBzeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwiCiBtc2dzdHIgIk9tZXQgbGEgc29ydGlkYSBkZSBsYSBzaW5jcm9uaXR6YWNpw7MgZGUgbCd1cmwgZGVsIHN1Ym3DsmR1bCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDU4CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHN5bmMgWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWzxwYXRoPl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBzeW5jIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIFs8Y2Ftw60+XSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICclcycgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeSAodXNlICdybSAtcmYnIGlmIHlvdSAiCkBAIC0xNzQxMCw3ICsyMDUzNyw3IEBACiAiTCdhcmJyZSBkZSB0cmViYWxsIGRlIHN1Ym3DsmR1bCDCqyVzwrsgY29udMOpIHVuIGRpcmVjdG9yaSAuZ2l0XG4iCiAiKHVzZXUgJ3JtIC1yZicgc2kgcmVhbG1lbnQgdm9sZXUgZWxpbWluYXItbG8sIGluY2xvZW50IHRvdGEgbGEgc2V2YSBoaXN0w7JyaWEpIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTExOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyVzJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byBkaXNjYXJkICIKQEAgLTE3NDE5LDgyICsyMDU0Niw5NSBAQAogIkwnYXJicmUgZGUgdHJlYmFsbCBkZWwgc3VibcOyZHVsIMKrJXPCuyBjb250w6kgbW9kaWZpY2FjaW9ucyBsb2NhbHM7IHVzZXUgJy1mJyAiCiAicGVyIGEgZGVzY2FydGFyLWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMjcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsZWFyZWQgZGlyZWN0b3J5ICclcydcbiIKIG1zZ3N0ciAiUydoYSBuZXRlamF0IGVsIGRpcmVjdG9yaSDCqyVzwrtcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJXMnXG4iCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZWxpbWluYXIgbCdhcmJyZSBkZSB0cmViYWxsIGRlIHN1Ym3DsmR1bCDCqyVzwrtcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBjcmVhciBlbCBkaXJlY3RvcmkgZGUgc3VibcOyZHVsIGJ1aXQgJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTU0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyVzJyAoJXMpIHVucmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCiBtc2dzdHIgIlMnaGEgZGVzcmVnaXN0cmF0IGVsIHN1Ym3DsmR1bCDCqyVzwrsgKCVzKSBwZXIgYWwgY2Ftw60gwqslc8K7XG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTgzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE5MAogbXNnaWQgIlJlbW92ZSBzdWJtb2R1bGUgd29ya2luZyB0cmVlcyBldmVuIGlmIHRoZXkgY29udGFpbiBsb2NhbCBjaGFuZ2VzIgogbXNnc3RyICIiCiAiU3VwcmltZWl4IGVscyBhcmJyZXMgZGUgdHJlYmFsbCBkZWxzIHN1Ym3DsmR1bHMgZmlucyBpIHRvdCBzaSBjb250ZW5lbiBjYW52aXMgIgogImxvY2FscyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTkxCiBtc2dpZCAiVW5yZWdpc3RlciBhbGwgc3VibW9kdWxlcyIKIG1zZ3N0ciAiRGVzcmVnaXN0cmEgcmVjdXJzaXZhbWVudCB0b3RzIGVscyBzdWJtw7JkdWxzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE4OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExOTYKIG1zZ2lkICIiCiAiZ2l0IHN1Ym1vZHVsZSBkZWluaXQgWy0tcXVpZXRdIFstZiB8IC0tZm9yY2VdIFstLWFsbCB8IFstLV0gWzxwYXRoPi4uLl1dIgogbXNnc3RyICIiCiAiZ2l0IHN1Ym1vZHVsZSBkZWluaXQgWy0tcXVpZXRdIFstZiB8IC0tZm9yY2VdIFstLWFsbCB8IFstLV0gWzxjYW3DrT4uLi5dXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyMDMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjEwCiBtc2dpZCAiVXNlICctLWFsbCcgaWYgeW91IHJlYWxseSB3YW50IHRvIGRlaW5pdGlhbGl6ZSBhbGwgc3VibW9kdWxlcyIKIG1zZ3N0ciAiVXNldSAnLS1hbGwnIHNpIHJlYWxtZW50IHZvbGV1IGRlc2luaWNpYWxpdHphciB0b3RzIGVscyBzdWJtw7JkdWxzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTI5NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTMwMAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyNzUKK21zZ2lkICIiCisiQW4gYWx0ZXJuYXRlIGNvbXB1dGVkIGZyb20gYSBzdXBlcnByb2plY3QncyBhbHRlcm5hdGUgaXMgaW52YWxpZC5cbiIKKyJUbyBhbGxvdyBHaXQgdG8gY2xvbmUgd2l0aG91dCBhbiBhbHRlcm5hdGUgaW4gc3VjaCBhIGNhc2UsIHNldFxuIgorInN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IHRvICdpbmZvJyBvciwgZXF1aXZhbGVudGx5LCBjbG9uZSB3aXRoXG4iCisiJy0tcmVmZXJlbmNlLWlmLWFibGUnIGluc3RlYWQgb2YgJy0tcmVmZXJlbmNlJy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzMTQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3VibW9kdWxlICclcycgY2Fubm90IGFkZCBhbHRlcm5hdGU6ICVzIgogbXNnc3RyICJlbCBzdWJtw7JkdWwgwqslc8K7IG5vIHBvdCBhZmVnaXIgdW4gYWx0ZXJuYXRpdTogJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzM2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSBpcyBub3QgcmVjb2duaXplZCIKIG1zZ3N0ciAiTm8gZXMgcmVjb25laXggZWwgdmFsb3Igwqslc8K7IHBlciBhIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM0MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIGlzIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICJObyBlcyByZWNvbmVpeCBlbCB2YWxvciDCqyVzwrsgcGVyIGEgc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODMKIG1zZ2lkICJ3aGVyZSB0aGUgbmV3IHN1Ym1vZHVsZSB3aWxsIGJlIGNsb25lZCB0byIKIG1zZ3N0ciAiYSBvbiBlcyBjbG9uYXLDoCBlbCBzdWJtw7JkdWwgbm91IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODYKIG1zZ2lkICJuYW1lIG9mIHRoZSBuZXcgc3VibW9kdWxlIgogbXNnc3RyICJub20gZGVsIHN1Ym3DsmR1bCBub3UiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzcyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4OQogbXNnaWQgInVybCB3aGVyZSB0byBjbG9uZSB0aGUgc3VibW9kdWxlIGZyb20iCiBtc2dzdHIgInVybCBkZWwgcXVhbCBjbG9uYXIgZWwgc3VibcOyZHVsIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTcKIG1zZ2lkICJkZXB0aCBmb3Igc2hhbGxvdyBjbG9uZXMiCiBtc2dzdHIgInByb2Z1bmRpdGF0IGRlbHMgY2xvbnMgc3VwZXJmaWNpYWxzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MDAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTcKIG1zZ2lkICJmb3JjZSBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICJmb3LDp2EgZWwgcHJvZ3LDqXMgZGVsIGNsb25hdGdlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MDIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTkKKyMsIGZ1enp5Cittc2dpZCAiZGlzYWxsb3cgY2xvbmluZyBpbnRvIG5vbi1lbXB0eSBkaXJlY3RvcnkiCittc2dzdHIgInMnZXN0w6AgYXBsaWNhbnQgYSB1bmEgaGlzdMOycmlhIGJ1aWRhIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQwNwogbXNnaWQgIiIKICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSAiCiAiPHJlcG9zaXRvcnk+XSBbLS1uYW1lIDxuYW1lPl0gWy0tZGVwdGggPGRlcHRoPl0gLS11cmwgPHVybD4gLS1wYXRoIDxwYXRoPiIKQEAgLTE3NTAyLDk2ICsyMDY0MiwxMDQgQEAKICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTxjYW3DrT5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgIgogIjxkaXDDsnNpdD5dIFstLW5hbWUgPG5vbT5dIFstLWRlcHRoIDxwcm9mdW5kaXRhdD5dIC0tdXJsIDx1cmw+IC0tcGF0aCA8Y2Ftw60+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQxOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmdXNpbmcgdG8gY3JlYXRlL3VzZSAnJXMnIGluIGFub3RoZXIgc3VibW9kdWxlJ3MgZ2l0IGRpciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjbG9uZSBvZiAnJXMnIGludG8gc3VibW9kdWxlIHBhdGggJyVzJyBmYWlsZWQiCiBtc2dzdHIgImVsIGNsb25hdGdlIGRlIMKrJXPCuyBhbCBjYW3DrSBkZSBzdWJtw7JkdWwgwqslc8K7IGhhIGZhbGxhdCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MzMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3Rvcnkgbm90IGVtcHR5OiAnJXMnIgorbXNnc3RyICJlbCBkaXJlY3RvcmkgZm9udCBlc3TDoCBidWl0IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZ2V0IHN1Ym1vZHVsZSBkaXJlY3RvcnkgZm9yICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2J0ZW5pciBlbCBkaXJlY3RvcmkgZGUgc3VibcOyZHVsIHBlciBhIMKrJXPCuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NjkKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0OTQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB1cGRhdGUgbW9kZSAnJXMnIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgotbXNnc3RyICIiCi0iUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiByZWdpc3RyYXIgZWwgbW9kZSBkJ2FjdHVhbGl0emFjacOzIHBlciBhbCBjYW3DrSBkZSAiCi0ic3VibcOyZHVsIMKrJXPCuyIKK21zZ3N0ciAiTW9kZSBkJ2FjdHVhbGl0emFjacOzIMKrJXPCuyBubyB2w6BsaWQgcGVyIGFsIGNhbcOtIGRlIHN1Ym3DsmR1bCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDczCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDk4CisjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdXBkYXRlIG1vZGUgJyVzJyBjb25maWd1cmVkIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICIiCi0iUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiByZWdpc3RyYXIgZWwgbW9kZSBkJ2FjdHVhbGl0emFjacOzIHBlciBhbCBjYW3DrSBkZSAiCi0ic3VibcOyZHVsIMKrJXPCuyIKKyJNb2RlIGQnYWN0dWFsaXR6YWNpw7Mgwqslc8K7IGNvbmZpZ3VyYXQgbm8gdsOgbGlkIHBlciBhbCBjYW3DrSBkZSBzdWJtw7JkdWwgwqslc8K7IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTU2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE1OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyVzJyBub3QgaW5pdGlhbGl6ZWQiCiBtc2dzdHIgIkVsIGNhbcOtIGRlIHN1Ym3DsmR1bCDCqyVzwrsgbm8gZXN0w6AgaW5pY2lhbGl0emF0IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTU3MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE1OTgKIG1zZ2lkICJNYXliZSB5b3Ugd2FudCB0byB1c2UgJ3VwZGF0ZSAtLWluaXQnPyIKIG1zZ3N0ciAiUG90c2VyIHZvbGV1IHVzYXIgJ3VwZGF0ZSAtLWluaXQnPyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE2MDAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHVubWVyZ2VkIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAiUydlc3TDoCBvbWV0ZW50IGVsIHN1Ym3DsmR1bCBubyBmdXNpb25hdCAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE2MjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJTJ2VzdMOgIG9tZXRlbnQgZWwgc3VibcOyZHVsIMKrJXPCuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE3NzMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnLiBSZXRyeSBzY2hlZHVsZWQiCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2xvbmFyIMKrJXPCuy4gUydoYSBwcm9ncmFtYXQgdW4gcmVpbnRlbnQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNzg0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJyBhIHNlY29uZCB0aW1lLCBhYm9ydGluZyIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBwZXIgc2Vnb24gY29wIGVuIGNsb25hciDCqyVzwrssIHMnZXN0w6AgYXZvcnRhbnQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODQ3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDg5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg3NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjEyMAogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICJjYW3DrSBhIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc5CiBtc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUsIGFjcm9zcyBuZXN0ZWQgc3VibW9kdWxlIGJvdW5kYXJpZXMiCiBtc2dzdHIgImNhbcOtIGEgbCdhcmJyZSBkZSB0cmViYWxsLCBhIHRyYXbDqXMgZGUgZnJvbnRlcmVzIGRlIHN1Ym3DsmR1bHMgbmlhdHMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODU0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4MwogbXNnaWQgInJlYmFzZSwgbWVyZ2UsIGNoZWNrb3V0IG9yIG5vbmUiCiBtc2dzdHIgInJlYmFzZSwgbWVyZ2UsIGNoZWNrb3V0IG8gbm9uZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NjAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODg5CiBtc2dpZCAiQ3JlYXRlIGEgc2hhbGxvdyBjbG9uZSB0cnVuY2F0ZWQgdG8gdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgcmV2aXNpb25zIgogbXNnc3RyICJDcmVhIHVuIGNsb24gc3VwZXJmaWNpYWwgdHJ1bmNhdCBhbCBub21icmUgZGUgcmV2aXNpb25zIGVzcGVjaWZpY2F0IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTIKIG1zZ2lkICJwYXJhbGxlbCBqb2JzIgogbXNnc3RyICJ0YXNxdWVzIHBhcmFswrdsZWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NjUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODk0CiBtc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgogbXNnc3RyICJzaSBlbCBjbG9uYXRnZSBpbmljaWFsIGhhIGRlIHNlZ3VpciBsYSByZWNvbWFuYWNpw7MgZGUgc3VwZXJmaWNpYWxpdGF0IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTUKIG1zZ2lkICJkb24ndCBwcmludCBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICJubyBpbXByaW1laXhpcyBlbCBwcm9ncsOpcyBkZWwgY2xvbmF0Z2UiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODczCi1tc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZV9jbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTA0CisjLCBmdXp6eQorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGUtY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxjYW3DrT5dIFs8Y2Ftw60+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTE3CiBtc2dpZCAiYmFkIHZhbHVlIGZvciB1cGRhdGUgcGFyYW1ldGVyIgogbXNnc3RyICJ2YWxvciBpbmNvcnJlY3RlIHBlciBhbCBwYXLDoG1ldHJlIHVwZGF0ZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgKCVzKSBicmFuY2ggY29uZmlndXJlZCB0byBpbmhlcml0IGJyYW5jaCBmcm9tIHN1cGVycHJvamVjdCwgYnV0ICIKQEAgLTE3NjAwLDQ5ICsyMDc0OCw1OSBAQAogIkxhIGJyYW5jYSBkZSBzdWJtw7JkdWwgKCVzKSBlc3TDoCBjb25maWd1cmFkYSBwZXIgYSBoZXJldGFyIGxhIGJyYW5jYSBkZWwgIgogInN1cGVycHJvamVjdGUsIHBlcsOyIGVsIHN1cGVycHJvamVjdGUgbm8gw6lzIGVuIGNhcCBicmFuY2EiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDU3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDg4CisjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgYSByZXBvc2l0b3J5IGhhbmRsZSBmb3Igc3VibW9kdWxlICclcyciCi1tc2dzdHIgIm5vIHMnaGEgdHJvYmF0IGVsIG5vbSBwZWwgc3VibcOyZHVsIMKrJXPCuyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnRlbmlyIGVsIGdlc3RvciBkZWwgZGlww7JzaXQgcGVsIHN1Ym3DsmR1bCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDkwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjEyMQogbXNnaWQgInJlY3Vyc2UgaW50byBzdWJtb2R1bGVzIgogbXNnc3RyICJpbmNsb3UgcmVjdXJzaXZhbWVudCBhbHMgc3VibcOyZHVscyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwOTYKLW1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZW1iZWQtZ2l0LWRpciBbPHBhdGg+Li4uXSIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTI3CisjLCBmdXp6eQorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBhYnNvcmItZ2l0LWRpcnMgWzxvcHRpb25zPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBlbWJlZC1naXQtZGlyIFs8Y2Ftw60+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTgzCiBtc2dpZCAiY2hlY2sgaWYgaXQgaXMgc2FmZSB0byB3cml0ZSB0byB0aGUgLmdpdG1vZHVsZXMgZmlsZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJjb21wcm92YSBzaSDDqXMgc2VndXIgZXNjcml1cmUgYWwgZml0eGVyIC5naXRtb2R1bGVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE1NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxODYKICMsIGZ1enp5Ci1tc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyBuYW1lIFt2YWx1ZV0iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIDxjYW3DrT4iCittc2dpZCAidW5zZXQgdGhlIGNvbmZpZyBpbiB0aGUgLmdpdG1vZHVsZXMgZmlsZSIKK21zZ3N0ciAibCdhbGxpc3RhbWVudCBkZWwgLmdpdG1vZHVsZXMgYWN0dWFsaXR6YXQgaGEgZmFsbGF0IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE1OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxOTEKICMsIGZ1enp5Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyA8bmFtZT4gWzx2YWx1ZT5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIG5hbWUgW3ZhbG9yXSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxOTIKKyMsIGZ1enp5Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLXVuc2V0IDxuYW1lPiIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyBuYW1lIFt2YWxvcl0iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTkzCiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLWNoZWNrLXdyaXRlYWJsZSIKLW1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzxjYW3DrT5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tY2hlY2std3JpdGVhYmxlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE3NSBnaXQtc3VibW9kdWxlLnNoOjE2OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyMTIgZ2l0LXN1Ym1vZHVsZS5zaDoxNzMKICMsIGZ1enp5LCBzaC1mb3JtYXQKIG1zZ2lkICJwbGVhc2UgbWFrZSBzdXJlIHRoYXQgdGhlIC5naXRtb2R1bGVzIGZpbGUgaXMgaW4gdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogIkZldSDCq3N0YWdlwrsgZGVscyB2b3N0cmVzIGNhbnZpcyBhIC5naXRtb2R1bGVzIG8gZmV1IMKrc3Rhc2jCuyBkZWxzIG1hdGVpeG9zICIKICJwZXIgYSBwcm9jZWRpciIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyMjUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjYyIGdpdC5jOjQzMyBnaXQuYzo2ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZG9lc24ndCBzdXBwb3J0IC0tc3VwZXItcHJlZml4IgogbXNnc3RyICIlcyBubyBhZG1ldCAtLXN1cGVyLXByZWZpeCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyMzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgc3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCIKLW1zZ3N0ciAiwqslc8K7IG5vIMOpcyB1bmEgc3Vib3JkcmUgdsOgbGlkYSBkZSBzdWJtb2R1bGUtLWhlbHBlciIKK21zZ3N0ciAiwqslc8K7IG5vIMOpcyB1biBzdWJvcmRyZSB2w6BsaWQgZGUgc3VibW9kdWxlLS1oZWxwZXIiCiAKICM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6OAogbXNnaWQgImdpdCBzeW1ib2xpYy1yZWYgWzxvcHRpb25zPl0gPG5hbWU+IFs8cmVmPl0iCkBAIC0xNzY3MywxOCArMjA4MzEsMTkgQEAKIG1zZ3N0ciAicmHDsyBkZSBsJ2FjdHVhbGl0emFjacOzIgogCiAjOiBidWlsdGluL3RhZy5jOjI1CisjLCBmdXp6eQogbXNnaWQgIiIKLSJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGtleS1pZD5dIFstZl0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+XSA8dGFnbmFtZT4gIgotIls8aGVhZD5dIgorImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT5dXG4iCisiXHRcdDx0YWduYW1lPiBbPGhlYWQ+XSIKIG1zZ3N0ciAiIgogImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8aWQtZGUtY2xhdT5dIFstZl0gWy1tIDxtaXNzYXRnZT4gfCAtRiA8Zml0eGVyPl0gPG5vbS0iCiAiZCdldGlxdWV0YT4gWzxjYXA+XSIKIAotIzogYnVpbHRpbi90YWcuYzoyNgorIzogYnVpbHRpbi90YWcuYzoyNwogbXNnaWQgImdpdCB0YWcgLWQgPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC1kIDxub20tZCdldGlxdWV0YT4uLi4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjcKKyM6IGJ1aWx0aW4vdGFnLmM6MjgKIG1zZ2lkICIiCiAiZ2l0IHRhZyAtbCBbLW5bPG51bT5dXSBbLS1jb250YWlucyA8Y29tbWl0Pl0gWy0tbm8tY29udGFpbnMgPGNvbW1pdD5dIFstLSIKICJwb2ludHMtYXQgPG9iamVjdD5dXG4iCkBAIC0xNzY5NCwyMSArMjA4NTMsMjEgQEAKICJbLS1wb2ludHMtYXQgPG9iamVjdGU+XVxuIgogIlx0XHRbLS1mb3JtYXQ9PGZvcm1hdD5dIFstLVtuby1dbWVyZ2VkIFs8Y29taXNzacOzPl1dIFs8cGF0csOzPi4uLl0iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjkKKyM6IGJ1aWx0aW4vdGFnLmM6MzAKIG1zZ2lkICJnaXQgdGFnIC12IFstLWZvcm1hdD08Zm9ybWF0Pl0gPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC12IFstLWZvcm1hdD08Zm9ybWF0Pl0gPG5vbS1kJ2V0aXF1ZXRhPi4uLiIKIAotIzogYnVpbHRpbi90YWcuYzo4NworIzogYnVpbHRpbi90YWcuYzo4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICJubyBzJ2hhIHRyb2JhdCBsJ2V0aXF1ZXRhIMKrJXPCuy4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTAzCisjOiBidWlsdGluL3RhZy5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgIlMnaGEgc3VwcmltaXQgbCdldGlxdWV0YSDCqyVzwrsgKGVyYSAlcylcbiIKIAotIzogYnVpbHRpbi90YWcuYzoxMzMKKyM6IGJ1aWx0aW4vdGFnLmM6MTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTE3NzE5LDkgKzIwODc4LDkgQEAKICJcbiIKICJFc2NyaXZpdSBlbCBtaXNzYXRnZSBkZSBsJ2V0aXF1ZXRhOlxuIgogIiAgJXNcbiIKLSJMZXMgbMOtbmllcyBxdWUgY29tZW5jaW4gYW1iICclYycgcydpZ25vcmFyYW4uXG4iCisiTGVzIGzDrW5pZXMgcXVlIGNvbWVuY2luIGFtYiDCqyVjwrsgcydpZ25vcmFyYW4uXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTM3CisjOiBidWlsdGluL3RhZy5jOjEzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xNzczMywzNTkgKzIwODkyLDM3MiBAQAogIlxuIgogIkVzY3Jpdml1IGVsIG1pc3NhdGdlIGRlIGwnZXRpcXVldGE6XG4iCiAiICAlc1xuIgotIkxlcyBsw61uaWVzIHF1ZSBjb21lbmNpbiBhbWIgJyVjJyBlcyByZXRpbmRyYW47IHBvZGV1IGVsaW1pbmFyLWxlcyBwZXIgdsOzcyAiCisiTGVzIGzDrW5pZXMgcXVlIGNvbWVuY2luIGFtYiDCqyVjwrsgZXMgcmV0aW5kcmFuOyBwb2RldSBlbGltaW5hci1sZXMgcGVyIHbDs3MgIgogIm1hdGVpeCBzaSB2b2xldS5cbiIKIAotIzogYnVpbHRpbi90YWcuYzoxOTEKKyM6IGJ1aWx0aW4vdGFnLmM6MTk4CiBtc2dpZCAidW5hYmxlIHRvIHNpZ24gdGhlIHRhZyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBzaWduYXIgbCdldGlxdWV0YSIKIAotIzogYnVpbHRpbi90YWcuYzoxOTMKKyM6IGJ1aWx0aW4vdGFnLmM6MjAwCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRhZyBmaWxlIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGVsIGZpdHhlciBkJ2V0aXF1ZXRhIgogCi0jOiBidWlsdGluL3RhZy5jOjIxOAorIzogYnVpbHRpbi90YWcuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlIGNyZWF0ZWQgYSBuZXN0ZWQgdGFnLiBUaGUgb2JqZWN0IHJlZmVycmVkIHRvIGJ5IHlvdXIgbmV3IHRhZyBpc1xuIgorImFscmVhZHkgYSB0YWcuIElmIHlvdSBtZWFudCB0byB0YWcgdGhlIG9iamVjdCB0aGF0IGl0IHBvaW50cyB0bywgdXNlOlxuIgorIlxuIgorIlx0Z2l0IHRhZyAtZiAlcyAlc157fSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjIzMgogbXNnaWQgImJhZCBvYmplY3QgdHlwZS4iCiBtc2dzdHIgImVsIHRpcHVzIGQnb2JqZWN0ZSDDqXMgaW5jb3JyZWN0ZS4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjY3CisjOiBidWlsdGluL3RhZy5jOjI4NAogbXNnaWQgIm5vIHRhZyBtZXNzYWdlPyIKIG1zZ3N0ciAibm8gaGkgaGEgY2FwIG1pc3NhdGdlIGQnZXRpcXVldGE/IgogCi0jOiBidWlsdGluL3RhZy5jOjI3NAorIzogYnVpbHRpbi90YWcuYzoyOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIHRhZyBtZXNzYWdlIGhhcyBiZWVuIGxlZnQgaW4gJXNcbiIKIG1zZ3N0ciAiUydoYSBkZWl4YXQgZWwgbWlzc2F0Z2UgZGUgbCdldGlxdWV0YSBlbiAlc1xuIgogCi0jOiBidWlsdGluL3RhZy5jOjM4NQorIzogYnVpbHRpbi90YWcuYzo0MDIKIG1zZ2lkICJsaXN0IHRhZyBuYW1lcyIKIG1zZ3N0ciAibGxpc3RhIGVscyBub21zIGQnZXRpcXVldGEiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg3CisjOiBidWlsdGluL3RhZy5jOjQwNAogbXNnaWQgInByaW50IDxuPiBsaW5lcyBvZiBlYWNoIHRhZyBtZXNzYWdlIgogbXNnc3RyICJpbXByaW1laXggPG4+IGzDrW5pZXMgZGUgY2FkYSBtaXNzYXRnZSBkJ2V0aXF1ZXRhIgogCi0jOiBidWlsdGluL3RhZy5jOjM4OQorIzogYnVpbHRpbi90YWcuYzo0MDYKIG1zZ2lkICJkZWxldGUgdGFncyIKIG1zZ3N0ciAic3VwcmltZWl4IGxlcyBldGlxdWV0ZXMiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzkwCisjOiBidWlsdGluL3RhZy5jOjQwNwogbXNnaWQgInZlcmlmeSB0YWdzIgogbXNnc3RyICJ2ZXJpZmljYSBsZXMgZXRpcXVldGVzIgogCi0jOiBidWlsdGluL3RhZy5jOjM5MgorIzogYnVpbHRpbi90YWcuYzo0MDkKIG1zZ2lkICJUYWcgY3JlYXRpb24gb3B0aW9ucyIKIG1zZ3N0ciAiT3BjaW9ucyBkZSBjcmVhY2nDsyBkJ2V0aXF1ZXRlcyIKIAotIzogYnVpbHRpbi90YWcuYzozOTQKKyM6IGJ1aWx0aW4vdGFnLmM6NDExCiBtc2dpZCAiYW5ub3RhdGVkIHRhZywgbmVlZHMgYSBtZXNzYWdlIgogbXNnc3RyICJldGlxdWV0YSBhbm90YWRhLCBuZWNlc3NpdGEgdW4gbWlzc2F0Z2UiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzk2CisjOiBidWlsdGluL3RhZy5jOjQxMwogbXNnaWQgInRhZyBtZXNzYWdlIgogbXNnc3RyICJtaXNzYXRnZSBkJ2V0aXF1ZXRhIgogCi0jOiBidWlsdGluL3RhZy5jOjM5OAorIzogYnVpbHRpbi90YWcuYzo0MTUKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIHRhZyBtZXNzYWdlIgogbXNnc3RyICJmb3LDp2EgbCdlZGljacOzIGRlbCBtaXNzYXRnZSBkZSBsJ2V0aXF1ZXRhIgogCi0jOiBidWlsdGluL3RhZy5jOjM5OQorIzogYnVpbHRpbi90YWcuYzo0MTYKIG1zZ2lkICJhbm5vdGF0ZWQgYW5kIEdQRy1zaWduZWQgdGFnIgogbXNnc3RyICJldGlxdWV0YSBhbm90YWRhIGkgc2lnbmFkYSBwZXIgR1BHIgogCi0jOiBidWlsdGluL3RhZy5jOjQwMworIzogYnVpbHRpbi90YWcuYzo0MTkKIG1zZ2lkICJ1c2UgYW5vdGhlciBrZXkgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICJ1c2EgdW5hIGFsdHJhIGNsYXUgcGVyIGEgc2lnbmFyIGwnZXRpcXVldGEiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA0CisjOiBidWlsdGluL3RhZy5jOjQyMAogbXNnaWQgInJlcGxhY2UgdGhlIHRhZyBpZiBleGlzdHMiCiBtc2dzdHIgInJlZW1wbGHDp2EgbCdldGlxdWV0YSBzaSBleGlzdGVpeCIKIAotIzogYnVpbHRpbi90YWcuYzo0MDUgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY5CisjOiBidWlsdGluL3RhZy5jOjQyMSBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjkKIG1zZ2lkICJjcmVhdGUgYSByZWZsb2ciCiBtc2dzdHIgImNyZWEgdW4gcmVnaXN0cmUgZGUgcmVmZXLDqG5jaWVzIgogCi0jOiBidWlsdGluL3RhZy5jOjQwNworIzogYnVpbHRpbi90YWcuYzo0MjMKIG1zZ2lkICJUYWcgbGlzdGluZyBvcHRpb25zIgogbXNnc3RyICJPcGNpb25zIGRlIGxsaXN0YXQgZCdldGlxdWV0ZXMiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA4CisjOiBidWlsdGluL3RhZy5jOjQyNAogbXNnaWQgInNob3cgdGFnIGxpc3QgaW4gY29sdW1ucyIKIG1zZ3N0ciAibW9zdHJhIGxhIGxsaXN0YSBkJ2V0aXF1ZXRlcyBlbiBjb2x1bW5lcyIKIAotIzogYnVpbHRpbi90YWcuYzo0MDkgYnVpbHRpbi90YWcuYzo0MTEKKyM6IGJ1aWx0aW4vdGFnLmM6NDI1IGJ1aWx0aW4vdGFnLmM6NDI3CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJpbXByaW1laXggbm9tw6lzIGxlcyBldGlxdWV0ZXMgcXVlIGNvbnRpbmd1aW4gbGEgY29taXNzacOzIgogCi0jOiBidWlsdGluL3RhZy5jOjQxMCBidWlsdGluL3RhZy5jOjQxMgorIzogYnVpbHRpbi90YWcuYzo0MjYgYnVpbHRpbi90YWcuYzo0MjgKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgImltcHJpbWVpeCBub23DqXMgbGVzIGV0aXF1ZXRlcyBxdWUgbm8gY29udGluZ3VpbiBsYSBjb21pc3Npw7MiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDEzCisjOiBidWlsdGluL3RhZy5jOjQyOQogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGFyZSBtZXJnZWQiCiBtc2dzdHIgImltcHJpbWVpeCBub23DqXMgbGVzIGV0aXF1ZXRlcyBxdWUgcydoYW4gZnVzaW9uYXQiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDE0CisjOiBidWlsdGluL3RhZy5jOjQzMAogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICJpbXByaW1laXggbm9tw6lzIGxlcyBldGlxdWV0ZXMgcXVlIG5vIHMnaGFuIGZ1c2lvbmF0IgogCi0jOiBidWlsdGluL3RhZy5jOjQxOQorIzogYnVpbHRpbi90YWcuYzo0MzQKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAiaW1wcmltZWl4IG5vbcOpcyBsZXMgZXRpcXVldGVzIGRlIGwnb2JqZWN0ZSIKIAotIzogYnVpbHRpbi90YWcuYzo0NjMKKyM6IGJ1aWx0aW4vdGFnLmM6NDgyCiBtc2dpZCAiLS1jb2x1bW4gYW5kIC1uIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tY29sdW1uIGkgLW4gc8OzbiBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3RhZy5jOjQ4NQorIzogYnVpbHRpbi90YWcuYzo1MDQKIG1zZ2lkICItbiBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKIG1zZ3N0ciAiZXMgcGVybWV0IGwnb3BjacOzIC1uIG5vbcOpcyBhbWIgbW9kZSBsbGlzdGEiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDg3CisjOiBidWlsdGluL3RhZy5jOjUwNgogbXNnaWQgIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgImVzIHBlcm1ldCBsJ29wY2nDsyAtLWNvbnRhaW5zIG5vbcOpcyBhbWIgbW9kZSBsbGlzdGEiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDg5CisjOiBidWlsdGluL3RhZy5jOjUwOAogbXNnaWQgIi0tbm8tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgImVzIHBlcm1ldCBsJ29wY2nDsyAtLW5vLWNvbnRhaW5zIG5vbcOpcyBhbWIgbW9kZSBsbGlzdGEiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDkxCisjOiBidWlsdGluL3RhZy5jOjUxMAogbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICJlcyBwZXJtZXQgLS1wb2ludHMtYXQgb3B0aW9uIG5vbcOpcyBhbWIgbW9kZSBsbGlzdGEiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDkzCisjOiBidWlsdGluL3RhZy5jOjUxMgogbXNnaWQgIi0tbWVyZ2VkIGFuZCAtLW5vLW1lcmdlZCBvcHRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICJlcyBwZXJtZXRlbiBsZXMgb3BjaW9ucyAtLW1lcmdlZCBpIC0tbm8tbWVyZ2VkIG5vbcOpcyBhbWIgbW9kZSBsbGlzdGEiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTA0CisjOiBidWlsdGluL3RhZy5jOjUyMwogbXNnaWQgIm9ubHkgb25lIC1GIG9yIC1tIG9wdGlvbiBpcyBhbGxvd2VkLiIKIG1zZ3N0ciAibm9tw6lzIGVzIHBlcm1ldCB1bmEgb3BjacOzIC1GIG8gLW0uIgogCi0jOiBidWlsdGluL3RhZy5jOjUyMworIzogYnVpbHRpbi90YWcuYzo1NDIKIG1zZ2lkICJ0b28gbWFueSBwYXJhbXMiCiBtc2dzdHIgIm1hc3NhIHBhcsOgbWV0cmVzIgogCi0jOiBidWlsdGluL3RhZy5jOjUyOQorIzogYnVpbHRpbi90YWcuYzo1NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0YWcgbmFtZS4iCiBtc2dzdHIgIsKrJXPCuyBubyDDqXMgdW4gbm9tIGQnZXRpcXVldGEgdsOgbGlkLiIKIAotIzogYnVpbHRpbi90YWcuYzo1MzQKKyM6IGJ1aWx0aW4vdGFnLmM6NTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJsJ2V0aXF1ZXRhIMKrJXPCuyBqYSBleGlzdGVpeCIKIAotIzogYnVpbHRpbi90YWcuYzo1NjUKKyM6IGJ1aWx0aW4vdGFnLmM6NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAiRXRpcXVldGEgwqslc8K7IGFjdHVhbGl0emFkYSAoZXJhICVzKVxuIgogCi0jOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTAwCisjOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTAxCiBtc2dpZCAiVW5wYWNraW5nIG9iamVjdHMiCiBtc2dzdHIgIlMnZXN0YW4gZGVzZW1wYXF1ZXRhbnQgZWxzIG9iamVjdGVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjgyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNyZWFyIGVsIGRpcmVjdG9yaSAlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBmaWxlICVzIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNyZWFyIGVsIGZpdHhlciAlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZmlsZSAlcyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBzdXByaW1pciBlbCBmaXR4ZXIgJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNSBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBzdXByaW1pciBlbCBkaXJlY3RvcmkgJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTM4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJUZXN0aW5nIG10aW1lIGluICclcycgIgogbXNnc3RyICJTJ2VzdMOgIHByb3ZhbnQgbXRpbWUgZW4gwqslc8K7ICIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTU0CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgYWRkaW5nIGEgbmV3IGZpbGUiCiBtc2dzdHIgIiIKICJsYSBpbmZvcm1hY2nDsyBkJ3N0YXQgZGUgZGlyZWN0b3JpIG5vIGNhbnZpYSBkZXNwcsOpcyBkJ2FmZWdpciB1biBmaXR4ZXIgbm91IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE2NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNjcKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBhZGRpbmcgYSBuZXcgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAibGEgaW5mb3JtYWNpw7MgZCdzdGF0IGRlIGRpcmVjdG9yaSBubyBjYW52aWEgZGVzcHLDqXMgZCdhZmVnaXIgdW4gZGlyZWN0b3JpIG5vdSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTgwCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBjaGFuZ2VzIGFmdGVyIHVwZGF0aW5nIGEgZmlsZSIKIG1zZ3N0ciAiIgogImxhIGluZm9ybWFjacOzIGQnc3RhdCBkZSBkaXJlY3RvcmkgY2FudmlhIGRlc3Byw6lzIGQnYWN0dWFsaXR6YXIgdW4gZml0eGVyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE4OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxOTEKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGNoYW5nZXMgYWZ0ZXIgYWRkaW5nIGEgZmlsZSBpbnNpZGUgc3ViZGlyZWN0b3J5IgogbXNnc3RyICIiCiAibGEgaW5mb3JtYWNpw7MgZCdzdGF0IGRlIGRpcmVjdG9yaSBjYW52aWEgZGVzcHLDqXMgZCdhZmVnaXIgdW4gZml0eGVyIGRpbnMgIgogImQndW4gc3ViZGlyZWN0b3JpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIwMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMDIKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBkZWxldGluZyBhIGZpbGUiCiBtc2dzdHIgIiIKICJsYSBpbmZvcm1hY2nDsyBkJ3N0YXQgZGUgZGlyZWN0b3JpIG5vIGNhbnZpYSBkZXNwcsOpcyBkZSBzdXByaW1pciB1biBmaXR4ZXIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjEzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxNQogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGRlbGV0aW5nIGEgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAibGEgaW5mb3JtYWNpw7MgZCdzdGF0IGRlIGRpcmVjdG9yaSBubyBjYW52aWEgZGVzcHLDqXMgZGUgc3VwcmltaXIgdW4gZGlyZWN0b3JpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIyMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMjIKIG1zZ2lkICIgT0siCiBtc2dzdHIgIiBEJ2Fjb3JkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU4OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1OTEKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggWzxvcGNpb25zPl0gWy0tXSBbPGZpdHhlcj4uLi5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzQKIG1zZ2lkICJjb250aW51ZSByZWZyZXNoIGV2ZW4gd2hlbiBpbmRleCBuZWVkcyB1cGRhdGUiCiBtc2dzdHIgIiIKICJjb250aW51YSBsJ2FjdHVhbGl0emFjacOzIGVuY2FyYSBxdWUgbCfDrW5kZXggbmVjZXNzaXRpIHVuYSBhY3R1YWxpdHphY2nDsyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc3CiBtc2dpZCAicmVmcmVzaDogaWdub3JlIHN1Ym1vZHVsZXMiCiBtc2dzdHIgImFjdHVhbGl0emE6IGlnbm9yYSBlbHMgc3VibcOyZHVscyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgwCiBtc2dpZCAiZG8gbm90IGlnbm9yZSBuZXcgZmlsZXMiCiBtc2dzdHIgIm5vIGlnbm9yaXMgZWxzIGZpdHhlcnMgbm91cyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgyCiBtc2dpZCAibGV0IGZpbGVzIHJlcGxhY2UgZGlyZWN0b3JpZXMgYW5kIHZpY2UtdmVyc2EiCiBtc2dzdHIgImRlaXhhIHF1ZSBlbHMgZml0eGVycyByZWVtcGxhY2luIGVscyBkaXJlY3RvcmlzIGkgdmljZXZlcnNhIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODQKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJ0aW5ndWVzIGVuIGNvbXB0ZSBlbHMgZml0eGVycyBhYnNlbnRzIGRlIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg2CiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgImFjdHVhbGl0emEgZW5jYXJhIHF1ZSBsJ8OtbmRleCBjb250aW5ndWkgZW50cmFkZXMgbm8gZnVzaW9uYWRlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg5CiBtc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgogbXNnc3RyICJhY3R1YWxpdHphIGxhIGluZm9ybWFjacOzIGQnZXN0YWTDrXN0aXF1ZXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MwogbXNnaWQgImxpa2UgLS1yZWZyZXNoLCBidXQgaWdub3JlIGFzc3VtZS11bmNoYW5nZWQgc2V0dGluZyIKIG1zZ3N0ciAiY29tIC0tcmVmcmVzaCwgcGVyw7IgaWdub3JhIGVsIHBhcsOgbWV0cmUgYXNzdW1lLXVuY2hhbmdlZCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CiBtc2dpZCAiPG1vZGU+LDxvYmplY3Q+LDxwYXRoPiIKIG1zZ3N0ciAiPG1vZGU+LDxvYmplY3RlPiw8Y2Ftw60+IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTgKIG1zZ2lkICJhZGQgdGhlIHNwZWNpZmllZCBlbnRyeSB0byB0aGUgaW5kZXgiCiBtc2dzdHIgImFmZWdlaXggbCdlbnRyYWRhIGVzcGVjaWZpY2FkYSBhIGwnw61uZGV4IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA4CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcIm5vdCBjaGFuZ2luZ1wiIgogbXNnc3RyICJtYXJjYSBlbHMgZml0eGVycyBjb20gYSBcIm5vIGNhbnZpYW50XCIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTEKIG1zZ2lkICJjbGVhciBhc3N1bWVkLXVuY2hhbmdlZCBiaXQiCiBtc2dzdHIgIm5ldGVqYSBlbCBiaXQgYXNzdW1lZC11bmNoYW5nZWQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE0CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAibWFyY2EgZWxzIGZpdHhlcnMgY29tIGEgXCJub23DqXMgw61uZGV4XCIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE3CiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCiBtc2dzdHIgIm5ldGVqYSBlbCBiaXQgc2tpcC13b3JrdHJlZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjAKK21zZ2lkICJkbyBub3QgdG91Y2ggaW5kZXgtb25seSBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyMgogbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICIiCiAibm9tw6lzIGFmZWdlaXggYSBsJ8OtbmRleDsgbm8gYWZlZ2VpeGlzIGVsIGNvbnRpbmd1dCBhIGxhIGJhc2UgZGUgZGFkZXMgIgogImQnb2JqZWN0ZXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI0CiBtc2dpZCAicmVtb3ZlIG5hbWVkIHBhdGhzIGV2ZW4gaWYgcHJlc2VudCBpbiB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogImVsaW1pbmEgZWxzIGNhbWlucyBhbm9tZW5hdHMgZW5jYXJhIHF1ZSBlc3RpZ3VpbiBwcmVzZW50cyBlbiBsJ2FyYnJlIGRlICIKICJ0cmViYWxsIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyNgogbXNnaWQgIndpdGggLS1zdGRpbjogaW5wdXQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgYnkgbnVsbCBieXRlcyIKIG1zZ3N0ciAiYW1iIC0tc3RkaW46IGxlcyBsw61uaWVzIGQnZW50cmFkYSBhY2FiZW4gYW1iIG9jdGV0cyBudWxzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyOAogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxsZWdlaXggbGEgbGxpc3RhIGRlIGNhbWlucyBhIGFjdHVhbGl0emFyIGRlcyBkZSBsJ2VudHJhZGEgZXN0w6BuZGFyZCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzIKIG1zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiYWZlZ2VpeCBsZXMgZW50cmFkZXMgZGUgbCdlbnRyYWRhIGVzdMOgbmRhcmQgYSBsJ8OtbmRleCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDIwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzYKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgInJlZW1wbGVuYSBsZXMgwqtzdGFnZcK7ICMyIGkgIzMgcGVyIGFscyBjYW1pbnMgbGxpc3RhdHMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQwCiBtc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCiBtc2dzdHIgIm5vbcOpcyBhY3R1YWxpdHphIGxlcyBlbnRyYWRlcyBxdWUgZGlmZXJlaXhpbiBkZSBIRUFEIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0NAogbXNnaWQgImlnbm9yZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgImlnbm9yYSBlbHMgZml0eGVycyBhYnNlbnRzIGRlIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDMxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDcKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgImluZm9ybWEgZGUgbGVzIGFjY2lvbnMgZW4gbGEgc29ydGlkYSBlc3TDoG5kYXJkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0OQogbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgogbXNnc3RyICIocGVyIGEgcG9yY2VsbGFuZXMpIG9ibGlkYSd0IGRlbHMgY29uZmxpY3RlcyBubyByZXNvbHRzIG5pIGRlc2F0cyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDM3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTMKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAiZXNjcml1IGwnw61uZGV4IGVuIGFxdWVzdCBmb3JtYXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzOQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDU1CiBtc2dpZCAiZW5hYmxlIG9yIGRpc2FibGUgc3BsaXQgaW5kZXgiCiBtc2dzdHIgImhhYmlsaXRhIG8gaW5oYWJpbGl0YSBsJ8OtbmRleCBkaXZpZGl0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1NwogbXNnaWQgImVuYWJsZS9kaXNhYmxlIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAiaGFiaWxpdGEvaW5oYWJpbGl0YSBsYSBtZW3DsnJpYSBjYXUgbm8gc2VndWlkYSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTkKIG1zZ2lkICJ0ZXN0IGlmIHRoZSBmaWxlc3lzdGVtIHN1cHBvcnRzIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAicHJvdmEgc2kgZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIGFkbWV0IGxhIG1lbcOycmlhIGNhdSBubyBzZWd1aWRhIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2MQogbXNnaWQgImVuYWJsZSB1bnRyYWNrZWQgY2FjaGUgd2l0aG91dCB0ZXN0aW5nIHRoZSBmaWxlc3lzdGVtIgogbXNnc3RyICJoYWJpbGl0YSBsYSBtZW3DsnJpYSBjYXUgbm8gc2VndWlkYSBzZW5zZSBwcm92YXIgZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2MwogbXNnaWQgIndyaXRlIG91dCB0aGUgaW5kZXggZXZlbiBpZiBpcyBub3QgZmxhZ2dlZCBhcyBjaGFuZ2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDY1CiBtc2dpZCAiZW5hYmxlIG9yIGRpc2FibGUgZmlsZSBzeXN0ZW0gbW9uaXRvciIKIG1zZ3N0ciAiaGFiaWxpdGEgbyBpbmhhYmlsaXRhIGVsIG1vbml0b3IgZGVsIHNpc3RlbWEgZGUgZml0eGVycyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDUxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNjcKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIGZzbW9uaXRvciB2YWxpZCIKIG1zZ3N0ciAibWFyY2EgZWxzIGZpdHhlcnMgY29tIGEgdsOgbGlkcyBwZWwgZnNtb25pdG9yIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA3MAogbXNnaWQgImNsZWFyIGZzbW9uaXRvciB2YWxpZCBiaXQiCiBtc2dzdHIgIm5ldGVqYSBlbCBiaXQgZGUgdmFsaWRlc2EgZGVsIGZzbW9uaXRvciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTUzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNzMKIG1zZ2lkICIiCiAiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvICIKICJlbmFibGUgc3BsaXQgaW5kZXgiCkBAIC0xODA5Myw3ICsyMTI2NSw3IEBACiAiY29yZS5zcGxpdEluZGV4IGVzdMOgIGVzdGFibGVydCBhIGZhbHM7IGVsaW1pbmV1LWxvIG8gY2Fudmlhci1sbywgc2kgcmVhbG1lbnQgIgogInZvbGV1IGhhYmlsaXRhciBsJ8OtbmRleCBkaXZpZGl0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNjIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE4MgogbXNnaWQgIiIKICJjb3JlLnNwbGl0SW5kZXggaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCiAiZGlzYWJsZSBzcGxpdCBpbmRleCIKQEAgLTE4MTAxLDcgKzIxMjczLDcgQEAKICJjb3JlLnNwbGl0SW5kZXggZXN0w6AgZXN0YWJsZXJ0IGEgY2VydDsgZWxpbWluZXUtbG8gbyBjYW52aWV1LWxvLCBzaSByZWFsbWVudCAiCiAidm9sZXUgaW5oYWJpbGl0YXIgbCfDrW5kZXggZGl2aWRpdCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTczCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExOTQKIG1zZ2lkICIiCiAiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKICJ0byBkaXNhYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCkBAIC0xODEwOSwxMSArMjEyODEsMTEgQEAKICJjb3JlLnVudHJhY2tlZENhY2hlIGVzdMOgIGVzdGFibGVydCBhIGNlcnQ7IGVsaW1pbmV1LWxvIG8gY2FudmlldS1sbywgc2kgIgogInJlYWxtZW50IHZvbGV1IGluaGFiaWxpdGFyIGVsIGNhdSBubyBzZWd1aXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE3NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTk4CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIgogbXNnc3RyICJMYSBtZW3DsnJpYSBjYXUgbm8gc2VndWlkYSBlc3TDoCBpbmhhYmlsaXRhZGEiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE4NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjA2CiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgpAQCAtMTgxMjEsMjkgKzIxMjkzLDI5IEBACiAiY29yZS51bnRyYWNrZWRDYWNoZSBlc3TDoCBlc3RhYmxlcnQgYSBmYWxzOyBlbGltaW5ldS1sbyBvIGNhbnZpYXItbG8sIHNpICIKICJyZWFsbWVudCB2b2xldSBoYWJpbGl0YXIgZWwgY2F1IG5vIHNlZ3VpdCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTg5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGVuYWJsZWQgZm9yICclcyciCiBtc2dzdHIgIkxhIG1lbcOycmlhIGNhdSBubyBzZWd1aWRhIGVzdMOgIGhhYmlsaXRhZGEgcGVyIGEgwqslc8K7IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExOTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIxOAogbXNnaWQgImNvcmUuZnNtb25pdG9yIGlzIHVuc2V0OyBzZXQgaXQgaWYgeW91IHJlYWxseSB3YW50IHRvIGVuYWJsZSBmc21vbml0b3IiCiBtc2dzdHIgIiIKICJjb3JlLmZzbW9uaXRvciBlc3TDoCBlc3RhYmxlcnQgYSBmYWxzOyBlc3RhYmxpdS1sbyBhIGNlcnQgc2kgcmVhbG1lbnQgdm9sZXUgIgogImhhYmlsaXRhciBmc21vbml0b3IiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIwMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjIyCiBtc2dpZCAiZnNtb25pdG9yIGVuYWJsZWQiCiBtc2dzdHIgImZzbW9uaXRvciBoYWJpbGl0YXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIwNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjI1CiBtc2dpZCAiIgogImNvcmUuZnNtb25pdG9yIGlzIHNldDsgcmVtb3ZlIGl0IGlmIHlvdSByZWFsbHkgd2FudCB0byBkaXNhYmxlIGZzbW9uaXRvciIKIG1zZ3N0ciAiIgogImNvcmUuZnNtb25pdG9yIGVzdMOgIGVzdGFibGVydCBhIGNlcnQ7IGVsaW1pbmV1LWxvIHNpIHJlYWxtZW50IHZvbGV1ICIKICJpbmhhYmlsaXRhciBmc21vbml0b3IiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIwOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjI5CiBtc2dpZCAiZnNtb25pdG9yIGRpc2FibGVkIgogbXNnc3RyICJmc21vbml0b3IgaW5oYWJpbGl0YXQiCiAKQEAgLTE4MTY2LDcgKzIxMzM4LDcgQEAKIAogIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY2CiBtc2dpZCAidXBkYXRlIDxyZWZuYW1lPiBub3QgdGhlIG9uZSBpdCBwb2ludHMgdG8iCi1tc2dzdHIgImFjdHVhbGl0emEgPG5vbSBkZSByZWZlcsOobmNpYT4sIG5vIGxhIHF1ZSBhc3NlbnlhbGkiCittc2dzdHIgImFjdHVhbGl0emEgPG5vbSBkZSByZWZlcsOobmNpYT4sIG5vIGxhIHF1ZSBhcHVudGkiCiAKICM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NwogbXNnaWQgInN0ZGluIGhhcyBOVUwtdGVybWluYXRlZCBhcmd1bWVudHMiCkBAIC0xODE4OCw2ICsyMTM2MCwxMCBAQAogbXNnaWQgImdpdCB1cGxvYWQtcGFjayBbPG9wdGlvbnM+XSA8ZGlyPiIKIG1zZ3N0ciAiZ2l0IHVwbG9hZC1wYWNrIFs8b3BjaW9ucz5dIDxkaXJlY3Rvcmk+IgogCisjOiBidWlsdGluL3VwbG9hZC1wYWNrLmM6MjMgdC9oZWxwZXIvdGVzdC1zZXJ2ZS12Mi5jOjE3Cittc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgorbXNnc3RyICJzdXJ0IGRlc3Byw6lzIGQndW4gc29sIGludGVyY2FudmkgZGUgc29swrdsaWNpdHVkL3Jlc3Bvc3RhIgorCiAjOiBidWlsdGluL3VwbG9hZC1wYWNrLmM6MjUKIG1zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGluaXRpYWwgcmVmIGFkdmVydGlzZW1lbnQiCiBtc2dzdHIgInN1cnQgaW1tZWRpYXRhbWVudCBkZXNwcsOpcyBkZSBsJ2FudW5jaSBpbmljaWFsIGRlIHJlZmVyw6huY2lhIgpAQCAtMTgyMDEsMTUgKzIxMzc3LDE1IEBACiBtc2dpZCAiaW50ZXJydXB0IHRyYW5zZmVyIGFmdGVyIDxuPiBzZWNvbmRzIG9mIGluYWN0aXZpdHkiCiBtc2dzdHIgImludGVycm9tcCBsYSB0cmFuc2ZlcsOobmNpYSBkZXNwcsOpcyBkZSA8bj4gc2Vnb25zIGQnaW5hY3Rpdml0YXQiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjIwCisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzoxOQogbXNnaWQgImdpdCB2ZXJpZnktY29tbWl0IFstdiB8IC0tdmVyYm9zZV0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCB2ZXJpZnktY29tbWl0IFstdiB8IC0tdmVyYm9zZV0gPGNvbWlzc2nDsz4uLi4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjc2CisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo2OAogbXNnaWQgInByaW50IGNvbW1pdCBjb250ZW50cyIKIG1zZ3N0ciAiaW1wcmltZWl4IGVscyBjb250aW5ndXRzIGRlIGxhIGNvbWlzc2nDsyIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzcgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzgKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjY5IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM3CiBtc2dpZCAicHJpbnQgcmF3IGdwZyBzdGF0dXMgb3V0cHV0IgogbXNnc3RyICJpbXByaW1laXggbGEgc29ydGlkYSBjcnVhIGRlIGwnZXN0YXQgZ3BnIgogCkBAIC0xODIyNSwxMSArMjE0MDEsMTEgQEAKIG1zZ2lkICJzaG93IHN0YXRpc3RpY3Mgb25seSIKIG1zZ3N0ciAibW9zdHJhIG5vbcOpcyBlc3RhZMOtc3RpcXVlcyIKIAotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MTkKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjE4CiBtc2dpZCAiZ2l0IHZlcmlmeS10YWcgWy12IHwgLS12ZXJib3NlXSBbLS1mb3JtYXQ9PGZvcm1hdD5dIDx0YWc+Li4uIgogbXNnc3RyICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIFstLWZvcm1hdD08Zm9ybWF0Pl0gPGV0aXF1ZXRhPi4uLiIKIAotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzcKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM2CiBtc2dpZCAicHJpbnQgdGFnIGNvbnRlbnRzIgogbXNnc3RyICJpbXByaW1laXggZWxzIGNvbnRpbmd1dHMgZGUgbCdldGlxdWV0YSIKIApAQCAtMTgyNjEsMTAgKzIxNDM3LDEwIEBACiBtc2dpZCAiZ2l0IHdvcmt0cmVlIHVubG9jayA8cGF0aD4iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSB1bmxvY2sgPGNhbcOtPiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjYwIGJ1aWx0aW4vd29ya3RyZWUuYzo4NzEKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjYwIGJ1aWx0aW4vd29ya3RyZWUuYzo4OTgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSAnJXMnIgotbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGV4ZWN1dGFyIMKrJXPCuyIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBzdXByaW1pciDCqyVzwrsiCiAKICM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3OQogIywgYy1mb3JtYXQKQEAgLTE4MzE2LDkgKzIxNDkyLDkgQEAKIG1zZ3N0ciAiwqslc8K7IGphIGV4aXN0ZWl4IgogCiAjOiBidWlsdGluL3dvcmt0cmVlLmM6MjUxCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlLWFkZCB3b3JrdHJlZSAnJXMnIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGxsZWdpciBsJ2FyYnJlICglcykiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgdG9ybmFyIGEgYWZlZ2lyIGEgbCdhcmJyZSBkZSB0cmViYWxsIMKrJXPCuyIKIAogIzogYnVpbHRpbi93b3JrdHJlZS5jOjI1NgogIywgYy1mb3JtYXQKQEAgLTE4MzM0LDIwMiArMjE1MTAsMjE1IEBACiAidXNlICdhZGQgLWYnIHRvIG92ZXJyaWRlLCBvciAncHJ1bmUnIG9yICdyZW1vdmUnIHRvIGNsZWFyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMDkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3Rvcnkgb2YgJyVzJyIKIG1zZ3N0ciAibm8gcydoYSBwb2d1dCBjcmVhciBkaXJlY3RvcmkgZGUgwqslc8K7IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDI4IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzkgYnVpbHRpbi93b3JrdHJlZS5jOjQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKG5ldyBicmFuY2ggJyVzJykiCiBtc2dzdHIgIlMnZXN0w6AgcHJlcGFyYW50IGwnYXJicmUgZGUgdHJlYmFsbCAoYnJhbmNhIG5vdmEgwqslc8K7KSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQzMAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKHJlc2V0dGluZyBicmFuY2ggJyVzJzsgd2FzIGF0ICVzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDM5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlByZXBhcmluZyB3b3JrdHJlZSAoY2hlY2tpbmcgb3V0ICclcycpIgogbXNnc3RyICJTJ2VzdMOgIHByZXBhcmFudCBsJ2FyYnJlIGRlIHRyZWJhbGwgKHMnZXN0w6AgYWdhZmFudCDCqyVzwrspIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDQ1Ci0jLCAgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NTYKKyMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChkZXRhY2hlZCBIRUFEICVzKSIKIG1zZ3N0ciAiUydlc3TDoCBwcmVwYXJhbnQgbCdhcmJyZSBkZSB0cmViYWxsIChIRUFEICVzIHNlcGFyYXQpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDg2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDk3CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gZXZlbiBpZiBhbHJlYWR5IGNoZWNrZWQgb3V0IGluIG90aGVyIHdvcmt0cmVlIgogbXNnc3RyICJhZ2FmYSA8YnJhbmNhPiBlbmNhcmEgcXVlIHNpZ3VpIGFnYWZhZGEgZW4gYWx0cmUgYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwMAogbXNnaWQgImNyZWF0ZSBhIG5ldyBicmFuY2giCiBtc2dzdHIgImNyZWEgdW5hIGJyYW5jYSBub3ZhIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTAyCiBtc2dpZCAiY3JlYXRlIG9yIHJlc2V0IGEgYnJhbmNoIgogbXNnc3RyICJjcmVhIG8gcmVzdGFibGVpeCB1bmEgYnJhbmNhIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA0CiBtc2dpZCAicG9wdWxhdGUgdGhlIG5ldyB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImVtcGxlbmEgbCdhcmJyZSBkZSB0cmViYWxsIG5vdSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5NAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwNQogbXNnaWQgImtlZXAgdGhlIG5ldyB3b3JraW5nIHRyZWUgbG9ja2VkIgogbXNnc3RyICJtYW50w6luIGwnYXJicmUgZGUgdHJlYmFsbCBub3UgYmxvcXVlamF0IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDk3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA4CiBtc2dpZCAic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtYnJhbmNoKDEpKSIKIG1zZ3N0ciAiY29uZmlndXJhIGVsIG1vZGUgZGUgc2VndWltZW50ICh2ZWdldSBnaXQtYnJhbmNoKDEpKSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwMAotIywgZnV6enkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTEKIG1zZ2lkICJ0cnkgdG8gbWF0Y2ggdGhlIG5ldyBicmFuY2ggbmFtZSB3aXRoIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKLW1zZ3N0ciAibGEgYnJhbmNhIGZvbnQgwqslc8K7IG5vIHMnZW1tYWdhdHplbWEgY29tIGEgYnJhbmNhIGFtYiBzZWd1aW1lbnQgcmVtb3QiCittc2dzdHIgIiIKKyJwcm92YSBkZSBmZXIgY29pbmNpZGlyIGVsIG5vbSBkZSBsYSBicmFuY2Egbm92YSBhbWIgdW5hIGJyYW5jYSBhbWIgc2VndWltZW50ICIKKyJyZW1vdCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUxOQogbXNnaWQgIi1iLCAtQiwgYW5kIC0tZGV0YWNoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1iLCAtQiBpIC0tZGV0YWNoIHPDs24gbcO6dHVhbWVudCBleGNsb2VudHMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1NjkKLSMsIGZ1enp5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTgwCiBtc2dpZCAiLS1bbm8tXXRyYWNrIGNhbiBvbmx5IGJlIHVzZWQgaWYgYSBuZXcgYnJhbmNoIGlzIGNyZWF0ZWQiCi1tc2dzdHIgIi0tbG9jYWwgbm9tw6lzIGVzIHBvdCB1c2FyIGRpbnMgZCd1biBkaXDDsnNpdCBnaXQiCittc2dzdHIgIi0tW25vLV10cmFjayBub23DqXMgZXMgcG90IHVzYXIgc2kgZXMgY3JlYSB1bmEgYnJhbmNhIG5vdmEiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NjkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODAKIG1zZ2lkICJyZWFzb24gZm9yIGxvY2tpbmciCiBtc2dzdHIgInJhw7MgcGVyIGJsb3F1ZWphciIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY4MSBidWlsdGluL3dvcmt0cmVlLmM6NzE0IGJ1aWx0aW4vd29ya3RyZWUuYzo3NzIKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4OTkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2OTIgYnVpbHRpbi93b3JrdHJlZS5jOjcyNSBidWlsdGluL3dvcmt0cmVlLmM6Nzk5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgd29ya2luZyB0cmVlIgogbXNnc3RyICLCqyVzwrsgbm8gw6lzIHVuIGFyYnJlIGRlIHRyZWJhbGwiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODMgYnVpbHRpbi93b3JrdHJlZS5jOjcxNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5NCBidWlsdGluL3dvcmt0cmVlLmM6NzI3CiBtc2dpZCAiVGhlIG1haW4gd29ya2luZyB0cmVlIGNhbm5vdCBiZSBsb2NrZWQgb3IgdW5sb2NrZWQiCiBtc2dzdHIgIk5vIGVzIHBvdCBibG9xdWVqYXIgbmkgZGVzYmxvcXVlamFyIGwnYXJicmUgZGUgdHJlYmFsbCBwcmluY2lwYWwiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCwgcmVhc29uOiAlcyIKIG1zZ3N0ciAiwqslc8K7IGphIGVzdMOgIGJsb3F1ZWphdCwgcmHDszogwqslc8K7IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjkwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQiCiBtc2dzdHIgIsKrJXPCuyBqYSBlc3TDoCBibG9xdWVqYXQiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3MTgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgbG9ja2VkIgogbXNnc3RyICLCqyVzwrsgbm8gZXN0w6AgYmxvcXVlamF0IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzQzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NzcwCiBtc2dpZCAid29ya2luZyB0cmVlcyBjb250YWluaW5nIHN1Ym1vZHVsZXMgY2Fubm90IGJlIG1vdmVkIG9yIHJlbW92ZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZWxzIGFyYnJlcyBkZSB0cmViYWxsIHF1ZSBjb250ZW50IHN1Ym3DsmR1bHMgbm8gZXMgcG9kZW4gbW91cmUgbyBzdXByaW1pciIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc1MQotIywgZnV6enkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3NzgKIG1zZ2lkICJmb3JjZSBtb3ZlIGV2ZW4gaWYgd29ya3RyZWUgaXMgZGlydHkgb3IgbG9ja2VkIgotbXNnc3RyICJmb3LDp2EgZWwgbW92aW1lbnQgLyBjYW52aSBkZSBub20gZW5jYXJhIHF1ZSBlbCBkZXN0w60gZXhpc3RlaXhpIgorbXNnc3RyICJmb3LDp2EgZWwgbW92aW1lbnQgZW5jYXJhIHF1ZSBsJ2FyYnJlIGRlIHRyZWJhbGwgZXN0aWd1aSBicnV0IG8gYmxvcXVlamF0IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Nzc0IGJ1aWx0aW4vd29ya3RyZWUuYzo5MDEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MDEgYnVpbHRpbi93b3JrdHJlZS5jOjkyOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGEgbWFpbiB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIsKrJXPCuyDDqXMgdW4gYXJicmUgZGUgdHJlYmFsbCBwcmluY2lwYWwiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3NzkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGZpZ3VyZSBvdXQgZGVzdGluYXRpb24gbmFtZSBmcm9tICclcyciCiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZGVkdWlyIGVsIG5vbSBkZSBkZXN0w60gZGVzIGRlIMKrJXPCuyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc4NQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjgxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YXJnZXQgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiZWwgZGVzdMOtIMKrJXPCuyBqYSBleGlzdGVpeCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc5MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjgyMAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiIgogImNhbm5vdCBtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZSwgbG9jayByZWFzb246ICVzXG4iCiAidXNlICdtb3ZlIC1mIC1mJyB0byBvdmVycmlkZSBvciB1bmxvY2sgZmlyc3QiCiBtc2dzdHIgIk5vIGVzIHBvZGVuIGVsaW1pbmFyIGVscyBjYW52aXMgZGUgbCdhcmJyZSBkZSB0cmViYWxsIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Nzk1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODIyCiAjLCBmdXp6eQogbXNnaWQgIiIKICJjYW5ub3QgbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWU7XG4iCiAidXNlICdtb3ZlIC1mIC1mJyB0byBvdmVycmlkZSBvciB1bmxvY2sgZmlyc3QiCiBtc2dzdHIgIk5vIGVzIHBvZGVuIGVsaW1pbmFyIGVscyBjYW52aXMgZGUgbCdhcmJyZSBkZSB0cmViYWxsIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Nzk4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInZhbGlkYXRpb24gZmFpbGVkLCBjYW5ub3QgbW92ZSB3b3JraW5nIHRyZWU6ICVzIgogbXNnc3RyICJsYSB2YWxpZGFjacOzIGhhIGZhbGxhdCwgbm8gZXMgcG90IG1vdXJlIGwnYXJicmUgZGUgdHJlYmFsbDogJXMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MDMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG1vdmUgJyVzJyB0byAnJXMnIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG1vdXJlIMKrJXPCuyBhIMKrJXPCuyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjg1MQotIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHJ1biAnZ2l0IHN0YXR1cycgb24gJyVzJyIKLW1zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBhIMKrJXPCuyIKLQotIzogYnVpbHRpbi93b3JrdHJlZS5jOjg1NQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjg3OAogIywgYy1mb3JtYXQKLW1zZ2lkICInJXMnIGlzIGRpcnR5LCB1c2UgLS1mb3JjZSB0byBkZWxldGUgaXQiCittc2dpZCAiZmFpbGVkIHRvIHJ1biAnZ2l0IHN0YXR1cycgb24gJyVzJyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciDCq2dpdCBzdGF0dXPCuyBhIMKrJXPCuyIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjg4MgorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGNvbnRhaW5zIG1vZGlmaWVkIG9yIHVudHJhY2tlZCBmaWxlcywgdXNlIC0tZm9yY2UgdG8gZGVsZXRlIGl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NjAKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjg4NworIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcnVuICdnaXQgc3RhdHVzJyBvbiAnJXMnLCBjb2RlICVkIgotbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyICdnaXQgc3RhdHVzJyBhbCBzdWJtw7JkdWwgwqslc8K7IgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIMKrZ2l0IHN0YXR1c8K7IGEgwqslc8K7LCBjb2RpICVkIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODgzCi0jLCBmdXp6eQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjkxMAogbXNnaWQgImZvcmNlIHJlbW92YWwgZXZlbiBpZiB3b3JrdHJlZSBpcyBkaXJ0eSBvciBsb2NrZWQiCi1tc2dzdHIgImZvcsOnYSBlbCBtb3ZpbWVudCAvIGNhbnZpIGRlIG5vbSBlbmNhcmEgcXVlIGVsIGRlc3TDrSBleGlzdGVpeGkiCittc2dzdHIgImZvcsOnYSBsYSBzdXByZXNzacOzIGVuY2FyYSBxdWUgbCdhcmJyZSBkZSB0cmViYWxsIGVzdGlndWkgYnJ1dCBvIGJsb3F1ZWphdCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjkwNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjkzMwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiIgogImNhbm5vdCByZW1vdmUgYSBsb2NrZWQgd29ya2luZyB0cmVlLCBsb2NrIHJlYXNvbjogJXNcbiIKICJ1c2UgJ3JlbW92ZSAtZiAtZicgdG8gb3ZlcnJpZGUgb3IgdW5sb2NrIGZpcnN0IgogbXNnc3RyICJObyBlcyBwb2RlbiBlbGltaW5hciBlbHMgY2FudmlzIGRlIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjkwOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjkzNQogIywgZnV6enkKIG1zZ2lkICIiCiAiY2Fubm90IHJlbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWU7XG4iCiAidXNlICdyZW1vdmUgLWYgLWYnIHRvIG92ZXJyaWRlIG9yIHVubG9jayBmaXJzdCIKIG1zZ3N0ciAiTm8gZXMgcG9kZW4gZWxpbWluYXIgZWxzIGNhbnZpcyBkZSBsJ2FyYnJlIGRlIHRyZWJhbGwiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidmFsaWRhdGlvbiBmYWlsZWQsIGNhbm5vdCByZW1vdmUgd29ya2luZyB0cmVlOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzoxNAorIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MTUKIG1zZ2lkICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PHByZWZpeD4vXSIKIG1zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTxwcmVmaXg+L10iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI3CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOAogbXNnaWQgIjxwcmVmaXg+LyIKIG1zZ3N0ciAiPHByZWZpeD4vIgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOAorIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjkKIG1zZ2lkICJ3cml0ZSB0cmVlIG9iamVjdCBmb3IgYSBzdWJkaXJlY3RvcnkgPHByZWZpeD4iCiBtc2dzdHIgImVzY3JpdSBsJ29iamVjdGUgZCdhcmJyZSBwZXIgYSB1biBzdWJkaXJlY3RvcmkgPHByZWZpeD4iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjMwCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMQogbXNnaWQgIm9ubHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmciCiBtc2dzdHIgIm5vbcOpcyDDunRpbCBwZXIgYSBsYSBkZXB1cmFjacOzIgogCi0jOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyMjIKKyM6IGZhc3QtaW1wb3J0LmM6MzEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJFeHBlY3RlZCAnbWFyaycgY29tbWFuZCwgZ290ICVzIgorbXNnc3RyICJTJ2VzcGVyYXZhIGwnb3JkcmUgwqttYXJrwrssIHMnaGEgcmVidXQgJXMiCisKKyM6IGZhc3QtaW1wb3J0LmM6MzEzMAorIywgYy1mb3JtYXQKK21zZ2lkICJFeHBlY3RlZCAndG8nIGNvbW1hbmQsIGdvdCAlcyIKK21zZ3N0ciAiUydlc3BlcmF2YSBsJ29yZHJlIMKrdG/CuywgcydoYSByZWJ1dCDCqyVzwrsiCisKKyM6IGZhc3QtaW1wb3J0LmM6MzI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmZWF0dXJlICclcycgZm9yYmlkZGVuIGluIGlucHV0IHdpdGhvdXQgLS1hbGxvdy11bnNhZmUtZmVhdHVyZXMiCittc2dzdHIgIiIKKworIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgcGVybWlzc2lvbnMgb24geW91ciBzb2NrZXQgZGlyZWN0b3J5IGFyZSB0b28gbG9vc2U7IG90aGVyXG4iCkBAIC0xODU0MywxOSArMjE3MzIsMjYgQEAKICJcbiIKICJcdGNobW9kIDA3MDAgJXMiCiAKLSM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjI3MQorIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcyCiBtc2dpZCAicHJpbnQgZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHN0ZGVyciIKIG1zZ3N0ciAiaW1wcmltZWl4IGVscyBtaXNzYXRnZXMgZGUgZGVwdXJhY2nDsyBhIHN0ZGVyciIKIAogIzogdC9oZWxwZXIvdGVzdC1yZWFjaC5jOjE1MgotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAlcyBpcyBub3QgbWFya2VkIHJlYWNoYWJsZSIKLW1zZ3N0ciAibGEgY29taXNzacOzICVzIG5vIHTDqSBwYXJlICVkIgorbXNnc3RyICJsYSBjb21pc3Npw7MgJXMgbm8gZXN0w6AgbWFyY2FkYSBjb20gYWJhc3RhYmxlIgogCiAjOiB0L2hlbHBlci90ZXN0LXJlYWNoLmM6MTYyCi0jLCBmdXp6eQogbXNnaWQgInRvbyBtYW55IGNvbW1pdHMgbWFya2VkIHJlYWNoYWJsZSIKLW1zZ3N0ciAibWFzc2VzIGNvbWlzc2lvbnMgcGVyIGVzY3JpdXJlIHVuIGdyYWYiCittc2dzdHIgIm1hc3NlcyBjb21pc3Npb24gbWFyY2FkZXMgY29tIGFiYXN0YWJsZSIKKworIzogdC9oZWxwZXIvdGVzdC1zZXJ2ZS12Mi5jOjcKK21zZ2lkICJ0ZXN0LXRvb2wgc2VydmUtdjIgWzxvcHRpb25zPl0iCittc2dzdHIgInRlc3QtdG9vbCBzZXJ2ZS12MiBbPG9wY2lvbnM+XSIKKworIzogdC9oZWxwZXIvdGVzdC1zZXJ2ZS12Mi5jOjE5Cittc2dpZCAiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBhZHZlcnRpc2luZyBjYXBhYmlsaXRpZXMiCittc2dzdHIgInN1cnQgaW1tZWRpYXRhbWVudCBkZXNwcsOpcyBkJ2FudW5jaWFyIGxlcyBmdW5jaW9uYWxpdGF0cyIKIAogIzogZ2l0LmM6MjcKIG1zZ2lkICIiCkBAIC0xODU3MSwxMDEgKzIxNzY3LDE1MSBAQAogbXNnaWQgIiIKICInZ2l0IGhlbHAgLWEnIGFuZCAnZ2l0IGhlbHAgLWcnIGxpc3QgYXZhaWxhYmxlIHN1YmNvbW1hbmRzIGFuZCBzb21lXG4iCiAiY29uY2VwdCBndWlkZXMuIFNlZSAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyBvciAnZ2l0IGhlbHAgPGNvbmNlcHQ+J1xuIgotInRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIG9yIGNvbmNlcHQuIgorInRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIG9yIGNvbmNlcHQuXG4iCisiU2VlICdnaXQgaGVscCBnaXQnIGZvciBhbiBvdmVydmlldyBvZiB0aGUgc3lzdGVtLiIKIG1zZ3N0ciAiIgotIidnaXQgaGVscCAtYScgaSAnZ2l0IGhlbHAgLWcnIGxsaXN0ZW4gc3Vib3JkcmVzIGRpc3BvbmlibGVzIGlcbiIKLSJhbGd1bmVzIGd1aWVzIGRlIGNvbmNlcHRlLiBWZWdldSAnZ2l0IGhlbHAgPG9yZHJlPicgb1xuIgotIidnaXQgaGVscCA8Y29uY2VwdGU+JyBwZXIgYSBsbGVnaXIgc29icmUgdW5hIHN1Ym9yZHJlIG8gY29uY2VwdGUgZXNwZWPDrWZpYy4iCisiwqtnaXQgaGVscCAtYcK7IGkgwqtnaXQgaGVscCAtZ8K7IGxsaXN0ZW4gc3Vib3JkcmVzIGRpc3BvbmlibGVzIGlcbiIKKyJhbGd1bmVzIGd1aWVzIGRlIGNvbmNlcHRlLiBWZWdldSDCq2dpdCBoZWxwIDxvcmRyZT7CuyBvXG4iCisiwqtnaXQgaGVscCA8Y29uY2VwdGU+wrsgcGVyIGEgbGxlZ2lyIHNvYnJlIHVuIHN1Ym9yZHJlIG8gY29uY2VwdGUgZXNwZWPDrWZpYy5cbiIKKyJWZWdldSDCq2dpdCBoZWxwIGdpdMK7IHBlciBhIHVuYSB2aXNpw7MgZ2VuZXJhbCBkZWwgc2lzdGVtYS4iCiAKLSM6IGdpdC5jOjE3MworIzogZ2l0LmM6MTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLS1naXQtZGlyXG4iCiBtc2dzdHIgIm5vIHMnaGEgZXNwZWNpZmljYXQgdW4gZGlyZWN0b3JpIHBlciAtLWdpdC1kaXJcbiIKIAotIzogZ2l0LmM6MTg3CisjOiBnaXQuYzoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbmFtZXNwYWNlIGdpdmVuIGZvciAtLW5hbWVzcGFjZVxuIgogbXNnc3RyICJubyBzJ2hhIGVzcGVjaWZpY2F0IHVuIG5vbSBkJ2VzcGFpIHBlciAtLW5hbWVzcGFjZVxuIgogCi0jOiBnaXQuYzoyMDEKKyM6IGdpdC5jOjIxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBkaXJlY3RvcnkgZ2l2ZW4gZm9yIC0td29yay10cmVlXG4iCiBtc2dzdHIgIm5vIHMnaGEgZXNwZWNpZmljYXQgdW4gZGlyZWN0b3JpIHBlciAtLXdvcmstdHJlZVxuIgogCi0jOiBnaXQuYzoyMTUKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogZ2l0LmM6MjI4CisjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHByZWZpeCBnaXZlbiBmb3IgLS1zdXBlci1wcmVmaXhcbiIKLW1zZ3N0ciAiJXMgbm8gYWRtZXQgLS1zdXBlci1wcmVmaXgiCittc2dzdHIgIm5vIHMnaGEgZXNwZWNpZmljYXQgY2FwIHByZWZpeCBwZXIgYSAtLXN1cGVyLXByZWZpeFxuIgogCi0jOiBnaXQuYzoyMzcKKyM6IGdpdC5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICItYyBleHBlY3RzIGEgY29uZmlndXJhdGlvbiBzdHJpbmdcbiIKIG1zZ3N0ciAiLWMgZXNwZXJhIHVuYSBjYWRlbmEgZGUgY29uZmlndXJhY2nDs1xuIgogCi0jOiBnaXQuYzoyNzUKKyM6IGdpdC5jOjI4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBkaXJlY3RvcnkgZ2l2ZW4gZm9yIC1DXG4iCiBtc2dzdHIgIm5vIHMnaGEgZXNwZWNpZmljYXQgdW4gZGlyZWN0b3JpIHBlciAtQ1xuIgogCi0jOiBnaXQuYzozMDAKKyM6IGdpdC5jOjMxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9wdGlvbjogJXNcbiIKIG1zZ3N0ciAib3BjacOzIGRlc2NvbmVndWRhOiAlc1xuIgogCi0jOiBnaXQuYzo3MTkKKyM6IGdpdC5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ3aGlsZSBleHBhbmRpbmcgYWxpYXMgJyVzJzogJyVzJyIKK21zZ3N0ciAiIgorCisjOiBnaXQuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImFsaWFzICclcycgY2hhbmdlcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4iCisiWW91IGNhbiB1c2UgJyFnaXQnIGluIHRoZSBhbGlhcyB0byBkbyB0aGlzIgorbXNnc3RyICIiCisKKyM6IGdpdC5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJlbXB0eSBhbGlhcyBmb3IgJXMiCittc2dzdHIgIiIKKworIzogZ2l0LmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY3Vyc2l2ZSBhbGlhczogJXMiCittc2dzdHIgIsOgbGllcyByZWN1cnNpdTogJXMiCisKKyM6IGdpdC5jOjQ1OQorbXNnaWQgIndyaXRlIGZhaWx1cmUgb24gc3RhbmRhcmQgb3V0cHV0IgorbXNnc3RyICJmYWxsYWRhIGQnZXNjcmlwdHVyYSBlbiBsYSBzb3J0aWRhIGVzdMOgbmRhcmQiCisKKyM6IGdpdC5jOjQ2MQorbXNnaWQgInVua25vd24gd3JpdGUgZmFpbHVyZSBvbiBzdGFuZGFyZCBvdXRwdXQiCittc2dzdHIgImZhbGxhZGEgZCdlc2NyaXB0dXJhIGRlc2NvbmVndWRhIGVuIGxhIHNvcnRpZGEgZXN0w6BuZGFyZCIKKworIzogZ2l0LmM6NDYzCittc2dpZCAiY2xvc2UgZmFpbGVkIG9uIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAiaGEgZmFsbGF0IGVsIHRhbmNhbWVudCBlbiBsYSBzb3J0aWRhIGVzdMOgbmRhcmQiCisKKyM6IGdpdC5jOjc5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhbGlhcyBsb29wIGRldGVjdGVkOiBleHBhbnNpb24gb2YgJyVzJyBkb2VzIG5vdCB0ZXJtaW5hdGU6JXMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LmM6ODAyCisjOiBnaXQuYzo4NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBoYW5kbGUgJXMgYXMgYSBidWlsdGluIgorbXNnc3RyICJubyBlcyBwb3QgdXNhciAgJXMgY29tIGEgZml0eGVyIGQnZXhjbHVzacOzIgorCisjOiBnaXQuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisiw7pzOiAlc1xuIgorIlxuIgorCisjOiBnaXQuYzo4NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwYW5zaW9uIG9mIGFsaWFzICclcycgZmFpbGVkOyAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LmM6ODE0Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGdpdC5jOjg4OAorIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcnVuIGNvbW1hbmQgJyVzJzogJXNcbiIKLW1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpciDCqyVzwrs6ICVzIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGV4ZWN1dGFyIGwnb3JkcmUgwqslc8K7OiAlc1xuIgogCi0jOiBodHRwLmM6Mzc0CisjOiBodHRwLmM6Mzc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5lZ2F0aXZlIHZhbHVlIGZvciBodHRwLnBvc3RidWZmZXI7IGRlZmF1bHRpbmcgdG8gJWQiCiBtc2dzdHIgInZhbG9yIG5lZ2F0aXUgcGVyIGh0dHAucG9zdGJ1ZmZlcjsgdXRpbGl0emFudCBlbCB2YWxvciAlZCIKIAotIzogaHR0cC5jOjM5NQorIzogaHR0cC5jOjM5OQogbXNnaWQgIkRlbGVnYXRpb24gY29udHJvbCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuMjIuMCIKIG1zZ3N0ciAiTm8gcydhZG1ldCBlbCBjb250cm9sIGRlIGRlbGVnYWNpw7MgYW1iIGVsIGNVUkwgPCA3LjIyLjAiCiAKLSM6IGh0dHAuYzo0MDQKKyM6IGh0dHAuYzo0MDgKIG1zZ2lkICJQdWJsaWMga2V5IHBpbm5pbmcgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjQ0LjAiCiBtc2dzdHIgIk5vIHMnYWRtZXQgbCdlbmdhbnggZGUgY2xhdSBww7pibGljYSBhbWIgY1VSTCA8IDcuNDQuMCIKIAotIzogaHR0cC5jOjgzNworIzogaHR0cC5jOjg3NgogIywgZnV6enkKLW1zZ2lkICJDVVJMU1NMT1BUX05PX1JFVk9LRSBub3Qgc3Vwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgorbXNnaWQgIkNVUkxTU0xPUFRfTk9fUkVWT0tFIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgogbXNnc3RyICJObyBzJ2FkbWV0IGwnZW5nYW54IGRlIGNsYXUgcMO6YmxpY2EgYW1iIGNVUkwgPCA3LjQ0LjAiCiAKLSM6IGh0dHAuYzo5MTAKKyM6IGh0dHAuYzo5NDkKICMsIGZ1enp5CiBtc2dpZCAiUHJvdG9jb2wgcmVzdHJpY3Rpb25zIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy4xOS40IgogbXNnc3RyICJObyBzJ2FkbWV0IGwnZW5nYW54IGRlIGNsYXUgcMO6YmxpY2EgYW1iIGNVUkwgPCA3LjQ0LjAiCiAKLSM6IGh0dHAuYzoxMDQ2CisjOiBodHRwLmM6MTA4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnN1cHBvcnRlZCBTU0wgYmFja2VuZCAnJXMnLiBTdXBwb3J0ZWQgU1NMIGJhY2tlbmRzOiIKIG1zZ3N0ciAiIgogCi0jOiBodHRwLmM6MTA1MworIzogaHR0cC5jOjEwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldCBTU0wgYmFja2VuZCB0byAnJXMnOiBjVVJMIHdhcyBidWlsdCB3aXRob3V0IFNTTCBiYWNrZW5kcyIKIG1zZ3N0ciAiIgogCi0jOiBodHRwLmM6MTA1NworIzogaHR0cC5jOjEwOTcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXQgU1NMIGJhY2tlbmQgdG8gJyVzJzogYWxyZWFkeSBzZXQiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgdG9ybmFyIGEgJGhlYWRfbmFtZSIKIAotIzogaHR0cC5jOjE5MjEKKyM6IGh0dHAuYzoxOTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ1bmFibGUgdG8gdXBkYXRlIHVybCBiYXNlIGZyb20gcmVkaXJlY3Rpb246XG4iCkBAIC0xODY3Niw0MCArMjE5MjIsMTg1IEBACiAiICBwZXRpY2nDszogJXNcbiIKICIgICByZWRpcmVjY2nDszogJXMiCiAKLSM6IHJlbW90ZS1jdXJsLmM6NDAxCisjOiByZW1vdGUtY3VybC5jOjE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBxdW90aW5nIGluIHB1c2gtb3B0aW9uIHZhbHVlOiAnJXMnIgorbXNnc3RyICJ2YWxvciBwYXJjaWFsIG5vIHbDoGxpZDogwqslc8K7IgorCisjOiByZW1vdGUtY3VybC5jOjI2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXNpbmZvL3JlZnMgbm90IHZhbGlkOiBpcyB0aGlzIGEgZ2l0IHJlcG9zaXRvcnk/IgorbXNnc3RyICLCqyVzwrsgbm8gcmVjb25lZ3V0IGNvbSB1biBkaXDDsnNpdCBnaXQiCisKKyM6IHJlbW90ZS1jdXJsLmM6MzY0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2VydmVyIHJlc3BvbnNlOyBleHBlY3RlZCBzZXJ2aWNlLCBnb3QgZmx1c2ggcGFja2V0IgorbXNnc3RyICJnaXQgYXJjaGl2ZTogcydlc3BlcmF2YSBBQ0svTkFLLCBzJ2hhIHJlYnV0IHVuIHBhcXVldCBkZSBuZXRlamEiCisKKyM6IHJlbW90ZS1jdXJsLmM6Mzk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNlcnZlciByZXNwb25zZTsgZ290ICclcyciCittc2dzdHIgInJlZmVyw6huY2lhIG5vIHbDoGxpZGE6ICVzIgorCisjOiByZW1vdGUtY3VybC5jOjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZXBvc2l0b3J5ICclcycgbm90IGZvdW5kIgorbXNnc3RyICJubyBzJ2hhIHRyb2JhdCBlbCBkaXDDsnNpdCDCqyVzwrsiCisKKyM6IHJlbW90ZS1jdXJsLmM6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIkF1dGhlbnRpY2F0aW9uIGZhaWxlZCBmb3IgJyVzJyIKK21zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBhdXRlbnRpY2FyIHBlciDCqyVzwrsiCisKKyM6IHJlbW90ZS1jdXJsLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJzogJXMiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYWNjZWRpciBhIMKrJXPCuzogJXMiCisKKyM6IHJlbW90ZS1jdXJsLmM6NDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZGlyZWN0aW5nIHRvICVzIgogbXNnc3RyICJzJ2VzdMOgIHJlZGlyaWdpbnQgYSAlcyIKIAotIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmg6NjAKKyM6IHJlbW90ZS1jdXJsLmM6NTkzCittc2dpZCAic2hvdWxkbid0IGhhdmUgRU9GIHdoZW4gbm90IGdlbnRsZSBvbiBFT0YiCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzo2NzMKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHJwYyBwb3N0IGRhdGEgLSB0cnkgaW5jcmVhc2luZyBodHRwLnBvc3RCdWZmZXIiCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzo3MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJQQyBmYWlsZWQ7ICVzIgorbXNnc3RyICJTVEFSVFRMUyBoYSBmYWxsYXQhICVzIgorCisjOiByZW1vdGUtY3VybC5jOjc3MworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgaGFuZGxlIHB1c2hlcyB0aGlzIGJpZyIKK21zZ3N0ciAibm8gZXMgcG90IHVzYXIgICVzIGNvbSBhIGZpdHhlciBkJ2V4Y2x1c2nDsyIKKworIzogcmVtb3RlLWN1cmwuYzo4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRlZmxhdGUgcmVxdWVzdDsgemxpYiBkZWZsYXRlIGVycm9yICVkIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6ODkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZWZsYXRlIHJlcXVlc3Q7IHpsaWIgZW5kIGVycm9yICVkIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTAyMworIywgZnV6enkKK21zZ2lkICJkdW1iIGh0dHAgdHJhbnNwb3J0IGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjYXBhYmlsaXRpZXMiCittc2dzdHIgIkVsIHNlcnZpZG9yIG5vIHBlcm1ldCBjbGllbnRzIHN1cGVyZmljaWFscyIKKworIzogcmVtb3RlLWN1cmwuYzoxMDM3CisjLCBmdXp6eQorbXNnaWQgImZldGNoIGZhaWxlZC4iCittc2dzdHIgImwnwqtzdGFzaMK7IGhhIGZhbGxhdCIKKworIzogcmVtb3RlLWN1cmwuYzoxMDg1Cittc2dpZCAiY2Fubm90IGZldGNoIGJ5IHNoYTEgb3ZlciBzbWFydCBodHRwIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTEyOSByZW1vdGUtY3VybC5jOjExMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInByb3RvY29sIGVycm9yOiBleHBlY3RlZCBzaGEvcmVmLCBnb3QgJyVzJyIKK21zZ3N0ciAiIgorInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZGUgcHJvdG9jb2w6IHMnZXNwZXJhdmEgc2hhbGxvdyBzaGEtMSwgcydoYSByZWJ1dCDCqyVzwrsiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTE0NyByZW1vdGUtY3VybC5jOjEyNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImh0dHAgdHJhbnNwb3J0IGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgImxhIHZhcmlhbnQgwqtzaW1wbGXCuyBkJ3NzaCBubyDDqXMgY29tcGF0aWJsZSBhbWIgLTQiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTE4MworIywgZnV6enkKK21zZ2lkICJnaXQtaHR0cC1wdXNoIGZhaWxlZCIKK21zZ3N0ciAibCfCq3N0YXNowrsgaGEgZmFsbGF0IgorCisjOiByZW1vdGUtY3VybC5jOjEzNjcKK21zZ2lkICJyZW1vdGUtY3VybDogdXNhZ2U6IGdpdCByZW1vdGUtY3VybCA8cmVtb3RlPiBbPHVybD5dIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTM5OQorbXNnaWQgInJlbW90ZS1jdXJsOiBlcnJvciByZWFkaW5nIGNvbW1hbmQgc3RyZWFtIGZyb20gZ2l0IgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTQwNgorbXNnaWQgInJlbW90ZS1jdXJsOiBmZXRjaCBhdHRlbXB0ZWQgd2l0aG91dCBhIGxvY2FsIHJlcG8iCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzoxNDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW90ZS1jdXJsOiB1bmtub3duIGNvbW1hbmQgJyVzJyBmcm9tIGdpdCIKK21zZ3N0ciAiIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaDo4NQogbXNnaWQgImFyZ3MiCiBtc2dzdHIgImFyZ3MiCiAKLSM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oOjYxCi0jLCBmdXp6eQorIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmg6ODYKIG1zZ2lkICJvYmplY3QgZmlsdGVyaW5nIgotbXNnc3RyICJ0aXB1cyBkJ29iamVjdGUiCittc2dzdHIgImZpbHRyYXRnZSBkJ29iamVjdGUiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNTQKKyM6IHBhcnNlLW9wdGlvbnMuaDoxODMKIG1zZ2lkICJleHBpcnktZGF0ZSIKIG1zZ3N0ciAiZGF0YS1kZS1jYWR1Y2l0YXQiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNjkKKyM6IHBhcnNlLW9wdGlvbnMuaDoxOTcKIG1zZ2lkICJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiCiBtc2dzdHIgIm9wZXJhY2nDsyBudWzCt2xhIChwZXIgYSBjb21wYXRpYmlsaXRhdCBhbWIgdmVyc2lvbnMgYW50ZXJpb3JzKSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjI2MQorIzogcGFyc2Utb3B0aW9ucy5oOjMwOQogbXNnaWQgImJlIG1vcmUgdmVyYm9zZSIKIG1zZ3N0ciAic2lndWVzIG3DqXMgZGV0YWxsYXQiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNjMKKyM6IHBhcnNlLW9wdGlvbnMuaDozMTEKIG1zZ2lkICJiZSBtb3JlIHF1aWV0IgotbXNnc3RyICJzaWd1ZXMgbcOpcyBjYWxsYXQiCittc2dzdHIgInNpZ3VlcyBtw6lzIGRpc2NyZXQiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNjkKKyM6IHBhcnNlLW9wdGlvbnMuaDozMTcKIG1zZ2lkICJ1c2UgPG4+IGRpZ2l0cyB0byBkaXNwbGF5IFNIQS0xcyIKIG1zZ3N0ciAidXNhIDxuPiB4aWZyZXMgcGVyIHByZXNlbnRhciBlbHMgU0hBLTEiCiAKKyM6IHBhcnNlLW9wdGlvbnMuaDozMzYKK21zZ2lkICJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIgorbXNnc3RyICJjb20gc3VwcmltaXIgZWxzIGVzcGFpcyBpICNjb21lbnRhcmlzIGRlbCBtaXNzYXRnZSIKKworIzogcGFyc2Utb3B0aW9ucy5oOjMzNworIywgZnV6enkKK21zZ2lkICJyZWFkIHBhdGhzcGVjIGZyb20gZmlsZSIKK21zZ3N0ciAibGxlZ2VpeCBlbHMgcGF0cm9ucyBkZXMgZCd1biBmaXR4ZXIiCisKKyM6IHBhcnNlLW9wdGlvbnMuaDozMzgKKyMsIGZ1enp5Cittc2dpZCAiIgorIndpdGggLS1wYXRoc3BlYy1mcm9tLWZpbGUsIHBhdGhzcGVjIGVsZW1lbnRzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgorbXNnc3RyICJlbHMgY2FtaW5zIHNlIHNlcGFyZW4gYW1iIGVsIGNhcsOgY3RlciBOVUwiCisKKyM6IHJlZi1maWx0ZXIuaDoxMDEKK21zZ2lkICJrZXkiCittc2dzdHIgImNsYXUiCisKKyM6IHJlZi1maWx0ZXIuaDoxMDEKK21zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCittc2dzdHIgIm5vbSBkZWwgY2FtcCBlbiBlbCBxdWFsIG9yZGVuYXIiCisKKyM6IHJlcmVyZS5oOjQ0Cittc2dpZCAidXBkYXRlIHRoZSBpbmRleCB3aXRoIHJldXNlZCBjb25mbGljdCByZXNvbHV0aW9uIGlmIHBvc3NpYmxlIgorbXNnc3RyICIiCisiYWN0dWFsaXR6YSBsJ8OtbmRleCBhbWIgbGEgcmVzb2x1Y2nDsyBkZSBjb25mbGljdGUgcmV1c2FkYSBzaSDDqXMgcG9zc2libGUiCisKKyM6IHd0LXN0YXR1cy5oOjY3Cittc2dpZCAiSEVBRCBkZXRhY2hlZCBhdCAiCittc2dzdHIgIkhFQUQgc2VwYXJhdCBhICIKKworIzogd3Qtc3RhdHVzLmg6NjgKK21zZ2lkICJIRUFEIGRldGFjaGVkIGZyb20gIgorbXNnc3RyICJIRUFEIHNlcGFyYXQgZGUgIgorCiAjOiBjb21tYW5kLWxpc3QuaDo1MAogbXNnaWQgIkFkZCBmaWxlIGNvbnRlbnRzIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiQWZlZ2VpeCBlbHMgY29udGluZ3V0cyBkZWxzIGZpdHhlcnMgYSBsJ8OtbmRleCIKQEAgLTE4NzQwLDcgKzIyMTMxLDkgQEAKIAogIzogY29tbWFuZC1saXN0Lmg6NTcKIG1zZ2lkICJTaG93IHdoYXQgcmV2aXNpb24gYW5kIGF1dGhvciBsYXN0IG1vZGlmaWVkIGVhY2ggbGluZSBvZiBhIGZpbGUiCi1tc2dzdHIgIk1vc3RyYSBxdWluYSByZXZpc2nDsyBpIGF1dG9yIGhhIG1vZGlmaWNhdCBwZXIgw7psdGltIGNvcCBjYWRhIGzDrW5pYSBkJ3VuIGZpdHhlciIKK21zZ3N0ciAiIgorIk1vc3RyYSBxdWluYSByZXZpc2nDsyBpIGF1dG9yIGhhIG1vZGlmaWNhdCBwZXIgw7psdGltIGNvcCBjYWRhIGzDrW5pYSBkJ3VuICIKKyJmaXR4ZXIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjU4CiBtc2dpZCAiTGlzdCwgY3JlYXRlLCBvciBkZWxldGUgYnJhbmNoZXMiCkBAIC0xODc1MiwxNiArMjIxNDUsMTYgQEAKIAogIzogY29tbWFuZC1saXN0Lmg6NjAKIG1zZ2lkICJQcm92aWRlIGNvbnRlbnQgb3IgdHlwZSBhbmQgc2l6ZSBpbmZvcm1hdGlvbiBmb3IgcmVwb3NpdG9yeSBvYmplY3RzIgotbXNnc3RyICJQcm92ZWVpeCBjb250aW5ndXQgbyBpbmZvcm1hY2nDsyBkZWwgdGlwdXMgaSBtaWRhIHBlciBhbHMgb2JqZWN0ZXMgZGVsIGRpcMOyc2l0IgorbXNnc3RyICIiCisiUHJvdmVlaXggY29udGluZ3V0IG8gaW5mb3JtYWNpw7MgZGVsIHRpcHVzIGkgbWlkYSBwZXIgYWxzIG9iamVjdGVzIGRlbCBkaXDDsnNpdCIKIAogIzogY29tbWFuZC1saXN0Lmg6NjEKLSMsIGZ1enp5CiBtc2dpZCAiRGlzcGxheSBnaXRhdHRyaWJ1dGVzIGluZm9ybWF0aW9uIgotbXNnc3RyICJ1c2EgLmdpdGF0dHJpYnV0ZXMgbm9tw6lzIGRlcyBkZSBsJ8OtbmRleCIKK21zZ3N0ciAiTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIC5naXRhdHRyaWJ1dGVzIgogCiAjOiBjb21tYW5kLWxpc3QuaDo2MgogbXNnaWQgIkRlYnVnIGdpdGlnbm9yZSAvIGV4Y2x1ZGUgZmlsZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiRGVwdXJhIGdpdGlnbm9yZSAvIGZpdHhlcnMgZCdleGNsdXNpw7MiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjYzCiAjLCBmdXp6eQpAQCAtMTg3NzMsMzkgKzIyMTY2LDM2IEBACiBtc2dzdHIgIkNhbnZpYSBkZSBicmFuY2EgbyByZXN0YXVyYSBlbHMgZml0eGVycyBkZSBsJ2FyYnJlIGRlIHRyZWJhbGwiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjY1Ci0jLCBmdXp6eQogbXNnaWQgIkNvcHkgZmlsZXMgZnJvbSB0aGUgaW5kZXggdG8gdGhlIHdvcmtpbmcgdHJlZSIKLW1zZ3N0ciAiY2Ftw60gYSBsJ2FyYnJlIGRlIHRyZWJhbGwiCittc2dzdHIgIkNvcGlhIGZpdHhlcnMgZGVzIGRlIGwnw61uZGV4IGEgbCdhcmJyZSBkZSB0cmViYWxsIgogCiAjOiBjb21tYW5kLWxpc3QuaDo2NgogbXNnaWQgIkVuc3VyZXMgdGhhdCBhIHJlZmVyZW5jZSBuYW1lIGlzIHdlbGwgZm9ybWVkIgotbXNnc3RyICIiCittc2dzdHIgIkFzc2VndXJhIHF1ZSB1biBub20gZGUgcmVmZXLDqG5jaWEgZXN0w6AgYmVuIGZvcm1hdCIKIAogIzogY29tbWFuZC1saXN0Lmg6NjcKIG1zZ2lkICJGaW5kIGNvbW1pdHMgeWV0IHRvIGJlIGFwcGxpZWQgdG8gdXBzdHJlYW0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiVHJvYmEgbGVzIGNvbWlzc2lvbnMgcXVlIGVuY2FyYSBzJ2hhbiBkJ2FwbGljYXIgYSBsYSBmb250IgogCiAjOiBjb21tYW5kLWxpc3QuaDo2OAogbXNnaWQgIkFwcGx5IHRoZSBjaGFuZ2VzIGludHJvZHVjZWQgYnkgc29tZSBleGlzdGluZyBjb21taXRzIgotbXNnc3RyICIiCittc2dzdHIgIkFwbGljYSBlbHMgY2FudmlzIGludHJvZHXDr3RzIHBlciBhbGd1bmVzIGNvbWlzc2lvbnMgZXhpc3RlbnRzIgogCiAjOiBjb21tYW5kLWxpc3QuaDo2OQogbXNnaWQgIkdyYXBoaWNhbCBhbHRlcm5hdGl2ZSB0byBnaXQtY29tbWl0IgotbXNnc3RyICIiCittc2dzdHIgIkFsdGVybmF0aXZhIGdyw6BmaWNhIGEgZ2l0LWNvbW1pdCIKIAogIzogY29tbWFuZC1saXN0Lmg6NzAKLSMsIGZ1enp5CiBtc2dpZCAiUmVtb3ZlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHRoZSB3b3JraW5nIHRyZWUiCi1tc2dzdHIgIkVsaW1pbmEgZml0eGVycyBkZSBsJ2FyYnJlIGRlIHRyZWJhbGwgaSBkZSBsJ8OtbmRleCIKK21zZ3N0ciAiU3VwcmltZWl4IGVscyBmaXR4ZXJzIG5vIHNlZ3VpdHMgZGUgbCdhcmJyZSBkZSB0cmViYWxsIgogCiAjOiBjb21tYW5kLWxpc3QuaDo3MQogbXNnaWQgIkNsb25lIGEgcmVwb3NpdG9yeSBpbnRvIGEgbmV3IGRpcmVjdG9yeSIKIG1zZ3N0ciAiQ2xvbmEgdW4gZGlww7JzaXQgYSB1biBkaXJlY3Rvcmkgbm91IgogCiAjOiBjb21tYW5kLWxpc3QuaDo3MgotIywgZnV6enkKIG1zZ2lkICJEaXNwbGF5IGRhdGEgaW4gY29sdW1ucyIKLW1zZ3N0ciAibGxpc3RhIGxlcyBicmFucXVlcyBlbiBjb2x1bW5lcyIKK21zZ3N0ciAiTW9zdHJhIGxlcyBkYWRlcyBlbiBjb2x1bW5lcyIKIAogIzogY29tbWFuZC1saXN0Lmg6NzMKIG1zZ2lkICJSZWNvcmQgY2hhbmdlcyB0byB0aGUgcmVwb3NpdG9yeSIKQEAgLTE4ODEzLDE2ICsyMjIwMywxNSBAQAogCiAjOiBjb21tYW5kLWxpc3QuaDo3NAogbXNnaWQgIldyaXRlIGFuZCB2ZXJpZnkgR2l0IGNvbW1pdC1ncmFwaCBmaWxlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJFc2NyaXUgaSB2ZXJpZmljYSBlbHMgZml0eGVycyBjb21taXQtZ3JhcGggZGUgR2l0IgogCiAjOiBjb21tYW5kLWxpc3QuaDo3NQotIywgZnV6enkKIG1zZ2lkICJDcmVhdGUgYSBuZXcgY29tbWl0IG9iamVjdCIKLW1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlc2NyaXVyZSBsJ29iamVjdGUgZGUgY29taXNzacOzIgorbXNnc3RyICJDcmVhIHVuIG9iamVjdGUgZGUgY29taXNzacOzIG5vdSIKIAogIzogY29tbWFuZC1saXN0Lmg6NzYKIG1zZ2lkICJHZXQgYW5kIHNldCByZXBvc2l0b3J5IG9yIGdsb2JhbCBvcHRpb25zIgotbXNnc3RyICIiCittc2dzdHIgIk9idMOpIG8gZXN0YWJsZWl4IG9wY2lvbnMgZGUgZGlww7JzaXQgbyBnbG9iYWxzIgogCiAjOiBjb21tYW5kLWxpc3QuaDo3NwogbXNnaWQgIkNvdW50IHVucGFja2VkIG51bWJlciBvZiBvYmplY3RzIGFuZCB0aGVpciBkaXNrIGNvbnN1bXB0aW9uIgpAQCAtMTg4MzgsNyArMjIyMjcsNyBAQAogCiAjOiBjb21tYW5kLWxpc3QuaDo4MAogbXNnaWQgIkhlbHBlciB0byBzdG9yZSBjcmVkZW50aWFscyBvbiBkaXNrIgotbXNnc3RyICIiCittc2dzdHIgIkFqdWRhbnQgcGVyIGEgZW1tYWdhdHplbWFyIGNyZWRlbmNpYWxzIGEgZGlzYyIKIAogIzogY29tbWFuZC1saXN0Lmg6ODEKIG1zZ2lkICJFeHBvcnQgYSBzaW5nbGUgY29tbWl0IHRvIGEgQ1ZTIGNoZWNrb3V0IgpAQCAtMTg4NTAsMzAgKzIyMjM5LDI5IEBACiAKICM6IGNvbW1hbmQtbGlzdC5oOjgzCiBtc2dpZCAiQSBDVlMgc2VydmVyIGVtdWxhdG9yIGZvciBHaXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiVW4gZW11bGFkb3IgZGUgc2Vydmlkb3IgQ1ZTIHBlciBhbCBHaXQiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjg0CiBtc2dpZCAiQSByZWFsbHkgc2ltcGxlIHNlcnZlciBmb3IgR2l0IHJlcG9zaXRvcmllcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJVbiBzZXJ2aWRvciByZWFsbWVudCBzZW56aWxsIHBlciBhIGRpcMOyc2l0cyBHaXQiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjg1CiBtc2dpZCAiR2l2ZSBhbiBvYmplY3QgYSBodW1hbiByZWFkYWJsZSBuYW1lIGJhc2VkIG9uIGFuIGF2YWlsYWJsZSByZWYiCiBtc2dzdHIgIiIKKyJEw7NuYSB1biBub20gbGxlZ2libGUgcGVyIGh1bWFucyBiYXNhbnQtc2UgZW4gbGVzIHJlZmVyw6huY2llcyBkaXNwb25pYmxlcyIKIAogIzogY29tbWFuZC1saXN0Lmg6ODYKIG1zZ2lkICJTaG93IGNoYW5nZXMgYmV0d2VlbiBjb21taXRzLCBjb21taXQgYW5kIHdvcmtpbmcgdHJlZSwgZXRjIgogbXNnc3RyICIiCi0iTW9zdHJhIGVscyBjYW52aXMgZW50cmUgY29taXNzaW9ucywgbGEgY29taXNzacOzIGkgbCdhcmJyZSBkZSB0cmViYWxsLCBldGMuIgorIk1vc3RyYSBlbHMgY2FudmlzIGVudHJlIGNvbWlzc2lvbnMsIGxhIGNvbWlzc2nDsyBpIGwnYXJicmUgZGUgdHJlYmFsbCwgZXRjIgogCiAjOiBjb21tYW5kLWxpc3QuaDo4NwotIywgZnV6enkKIG1zZ2lkICJDb21wYXJlcyBmaWxlcyBpbiB0aGUgd29ya2luZyB0cmVlIGFuZCB0aGUgaW5kZXgiCi1tc2dzdHIgIkVsaW1pbmEgZml0eGVycyBkZSBsJ2FyYnJlIGRlIHRyZWJhbGwgaSBkZSBsJ8OtbmRleCIKK21zZ3N0ciAiQ29tcGFyYSBmaXR4ZXJzIGVuIGwnYXJicmUgZGUgdHJlYmFsbCBpIGwnw61uZGV4IgogCiAjOiBjb21tYW5kLWxpc3QuaDo4OAotIywgZnV6enkKIG1zZ2lkICJDb21wYXJlIGEgdHJlZSB0byB0aGUgd29ya2luZyB0cmVlIG9yIGluZGV4IgotbXNnc3RyICJjYW3DrSBhIGwnYXJicmUgZGUgdHJlYmFsbCIKK21zZ3N0ciAiQ29tcGFyYSB1biBhcmJyZSBhbWIgbCdhcmJyZSBkZSB0cmViYWxsIG8gbCfDrW5kZXgiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjg5CiBtc2dpZCAiQ29tcGFyZXMgdGhlIGNvbnRlbnQgYW5kIG1vZGUgb2YgYmxvYnMgZm91bmQgdmlhIHR3byB0cmVlIG9iamVjdHMiCkBAIC0xODg4MSw1MiArMjIyNjksNDcgQEAKIAogIzogY29tbWFuZC1saXN0Lmg6OTAKIG1zZ2lkICJTaG93IGNoYW5nZXMgdXNpbmcgY29tbW9uIGRpZmYgdG9vbHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiTW9zdHJhIGVscyBjYW52aXMgdXNhbnQgZWluZXMgZGlmZiBjb211bmVzIgogCiAjOiBjb21tYW5kLWxpc3QuaDo5MQogbXNnaWQgIkdpdCBkYXRhIGV4cG9ydGVyIgotbXNnc3RyICIiCittc2dzdHIgIkV4cGxvcmFkb3IgZGUgZGFkZXMgZGVsIEdpdCIKIAogIzogY29tbWFuZC1saXN0Lmg6OTIKIG1zZ2lkICJCYWNrZW5kIGZvciBmYXN0IEdpdCBkYXRhIGltcG9ydGVycyIKLW1zZ3N0ciAiIgorbXNnc3RyICJSZXJlZm9ucyBwZXIgYSBpbXBvcnRhZG9ycyByw6BwaWRzIGRlIGRhZGVzIGRlIEdpdCIKIAogIzogY29tbWFuZC1saXN0Lmg6OTMKIG1zZ2lkICJEb3dubG9hZCBvYmplY3RzIGFuZCByZWZzIGZyb20gYW5vdGhlciByZXBvc2l0b3J5IgogbXNnc3RyICJCYWl4YSBvYmplY3RlcyBpIHJlZmVyw6huY2llcyBkJ3VuIGFsdHJlIGRpcMOyc2l0IgogCiAjOiBjb21tYW5kLWxpc3QuaDo5NAotIywgZnV6enkKIG1zZ2lkICJSZWNlaXZlIG1pc3Npbmcgb2JqZWN0cyBmcm9tIGFub3RoZXIgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiQmFpeGEgb2JqZWN0ZXMgaSByZWZlcsOobmNpZXMgZCd1biBhbHRyZSBkaXDDsnNpdCIKK21zZ3N0ciAiUmVwIGVscyBvYmplY3RlcyBxdWUgbWFucXVlbiBkZXMgZCd1biBhbHRyZSBkaXDDsnNpdCIKIAogIzogY29tbWFuZC1saXN0Lmg6OTUKLSMsIGZ1enp5CiBtc2dpZCAiUmV3cml0ZSBicmFuY2hlcyIKLW1zZ3N0ciAiICBCcmFuY2EgcmVtb3RhOiVzIgorbXNnc3RyICJUb3JuYSBhIGVzY3JpdXJlIGxlcyBicmFucXVlcyIKIAogIzogY29tbWFuZC1saXN0Lmg6OTYKLSMsIGZ1enp5CiBtc2dpZCAiUHJvZHVjZSBhIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgotbXNnc3RyICJlZGl0YSBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MiCittc2dzdHIgIlByb2R1ZWl4IHVuIG1pc3NhdGdlIGRlIGNvbWlzc2nDsyBkZSBmdXNpw7MiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjk3Ci0jLCBmdXp6eQogbXNnaWQgIk91dHB1dCBpbmZvcm1hdGlvbiBvbiBlYWNoIHJlZiIKLW1zZ3N0ciAiYWN0dWFsaXR6YSBsYSBpbmZvcm1hY2nDsyBkJ2VzdGFkw61zdGlxdWVzIGVuIGVsIGZpdHhlciBkJ8OtbmRleCIKK21zZ3N0ciAiTW9zdHJhIGxhIGluZm9ybWFjacOzIGVuIGNhZGEgcmVmZXLDqG5jaWEiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjk4CiBtc2dpZCAiUHJlcGFyZSBwYXRjaGVzIGZvciBlLW1haWwgc3VibWlzc2lvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJQcmVwYXJhIHBlZGHDp29zIHBlciBlbnZpYXItbG9zIHBlciBjb3JyZXUgZWxlY3Ryw7JuaWMiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjk5Ci0jLCBmdXp6eQogbXNnaWQgIlZlcmlmaWVzIHRoZSBjb25uZWN0aXZpdHkgYW5kIHZhbGlkaXR5IG9mIHRoZSBvYmplY3RzIGluIHRoZSBkYXRhYmFzZSIKLW1zZ3N0ciAiZXNjcml1IGwnb2JqZWN0ZSBhIGxhIGJhc2UgZGUgZGFkZXMgZCdvYmplY3RlcyIKK21zZ3N0ciAiVmVyaWZpY2EgbGEgY29ubmVjdGl2aXRhdCBpIHZhbGlkZXNhIGRlbCBvYmplY3RlcyBhIGxhIGJhc2UgZGUgZGFkZXMiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjEwMAogbXNnaWQgIkNsZWFudXAgdW5uZWNlc3NhcnkgZmlsZXMgYW5kIG9wdGltaXplIHRoZSBsb2NhbCByZXBvc2l0b3J5IgotbXNnc3RyICIiCittc2dzdHIgIk5ldGVqYSBlbHMgZml0eGVycyBpbm5lY2Vzc2FyaXMgaSBvcHRpbWl0emEgZWwgZGlww7JzaXQgbG9jYWwiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjEwMQogbXNnaWQgIkV4dHJhY3QgY29tbWl0IElEIGZyb20gYW4gYXJjaGl2ZSBjcmVhdGVkIHVzaW5nIGdpdC1hcmNoaXZlIgpAQCAtMTg5MzgsMjQgKzIyMzIxLDIzIEBACiAKICM6IGNvbW1hbmQtbGlzdC5oOjEwMwogbXNnaWQgIkEgcG9ydGFibGUgZ3JhcGhpY2FsIGludGVyZmFjZSB0byBHaXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiVW5hIGludGVyZsOtY2llIGdyw6BmaWMgcG9ydGFibGUgcGVyIGFsIEdpdCIKIAogIzogY29tbWFuZC1saXN0Lmg6MTA0CiBtc2dpZCAiQ29tcHV0ZSBvYmplY3QgSUQgYW5kIG9wdGlvbmFsbHkgY3JlYXRlcyBhIGJsb2IgZnJvbSBhIGZpbGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiQ2FsY3VsYSBsJ0lEIGRlIGwnb2JqZWN0ZSBpIG9wY2lvbmFsbWVudCBjcmVhIHVuIGJsb2IgZGVzIGRlbCBmaXR4ZXIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjEwNQogbXNnaWQgIkRpc3BsYXkgaGVscCBpbmZvcm1hdGlvbiBhYm91dCBHaXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiTW9zdHJhIGluZm9ybWFjacOzIGQnYWp1ZGEgZGVsIEdpdCIKIAogIzogY29tbWFuZC1saXN0Lmg6MTA2CiBtc2dpZCAiU2VydmVyIHNpZGUgaW1wbGVtZW50YXRpb24gb2YgR2l0IG92ZXIgSFRUUCIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMDcKLSMsIGZ1enp5CiBtc2dpZCAiRG93bmxvYWQgZnJvbSBhIHJlbW90ZSBHaXQgcmVwb3NpdG9yeSB2aWEgSFRUUCIKLW1zZ3N0ciAiQmFpeGEgb2JqZWN0ZXMgaSByZWZlcsOobmNpZXMgZCd1biBhbHRyZSBkaXDDsnNpdCIKK21zZ3N0ciAiQmFpeGEgZGVzIGQndW4gZGlww7JzaXQgR2l0IHJlbW90IHZpYSBIVFRQIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMDgKICMsIGZ1enp5CkBAIC0xODk3OSwzMiArMjIzNjEsMjggQEAKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMTMKLW1zZ2lkICJhZGQgb3IgcGFyc2Ugc3RydWN0dXJlZCBpbmZvcm1hdGlvbiBpbiBjb21taXQgbWVzc2FnZXMiCittc2dpZCAiQWRkIG9yIHBhcnNlIHN0cnVjdHVyZWQgaW5mb3JtYXRpb24gaW4gY29tbWl0IG1lc3NhZ2VzIgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjExNAotIywgZnV6enkKIG1zZ2lkICJUaGUgR2l0IHJlcG9zaXRvcnkgYnJvd3NlciIKLW1zZ3N0ciAibm8gw6lzIHVuIGRpcMOyc2l0IGRlIGdpdDogJXMiCittc2dzdHIgIkVsIG5hdmVnYWRvciBkZSBkaXDDsnNpdHMgR2l0IgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMTUKIG1zZ2lkICJTaG93IGNvbW1pdCBsb2dzIgogbXNnc3RyICJNb3N0cmEgZWxzIHJlZ2lzdHJlcyBkZSBjb21pc3Npw7MiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjExNgotIywgZnV6enkKIG1zZ2lkICJTaG93IGluZm9ybWF0aW9uIGFib3V0IGZpbGVzIGluIHRoZSBpbmRleCBhbmQgdGhlIHdvcmtpbmcgdHJlZSIKLW1zZ3N0ciAiaSBoYSBmZXQgY2FudmlzIGEgbCfDrW5kZXggbyBsJ2FyYnJlIGRlIHRyZWJhbGwiCittc2dzdHIgIk1vc3RyYSBpbmZvcm1hY2nDsyBzb2JyZSBlbHMgZml0eGVyIGEgbCfDrW5kZXggaSBhIGwnYXJicmUgZGUgdHJlYmFsbCIKIAogIzogY29tbWFuZC1saXN0Lmg6MTE3Ci0jLCBmdXp6eQogbXNnaWQgIkxpc3QgcmVmZXJlbmNlcyBpbiBhIHJlbW90ZSByZXBvc2l0b3J5IgotbXNnc3RyICJkaXDDsnNpdCBkZSByZWZlcsOobmNpYSIKK21zZ3N0ciAiTW9zdHJhIGxlcyByZWZlcsOobmNpZXMgZCd1biBkaXDDsnNpdCByZW1vdCIKIAogIzogY29tbWFuZC1saXN0Lmg6MTE4Ci0jLCBmdXp6eQogbXNnaWQgIkxpc3QgdGhlIGNvbnRlbnRzIG9mIGEgdHJlZSBvYmplY3QiCi1tc2dzdHIgImltcHJpbWVpeCBub23DqXMgbGVzIGV0aXF1ZXRlcyBkZSBsJ29iamVjdGUiCittc2dzdHIgIk1vc3RyYSBlbHMgY29udGluZ3V0cyBkJ3VuIG9iamVjdGUgZGUgbCdhcmJyZSIKIAogIzogY29tbWFuZC1saXN0Lmg6MTE5CiBtc2dpZCAiRXh0cmFjdHMgcGF0Y2ggYW5kIGF1dGhvcnNoaXAgZnJvbSBhIHNpbmdsZSBlLW1haWwgbWVzc2FnZSIKQEAgLTE5MDQwLDYgKzIyNDE4LDcgQEAKICM6IGNvbW1hbmQtbGlzdC5oOjEyNgogbXNnaWQgIlJ1biBtZXJnZSBjb25mbGljdCByZXNvbHV0aW9uIHRvb2xzIHRvIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIgogbXNnc3RyICIiCisiRXhlY3V0YSBlaW5lcyBkZSByZXNvbHVjacOzIGRlIGNvbmZsaWN0ZXMgcGVyIGEgcmVzb2xkcmUgY29uZmxpY3RlcyBkZSBmdXNzacOzIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMjcKIG1zZ2lkICJTaG93IHRocmVlLXdheSBtZXJnZSB3aXRob3V0IHRvdWNoaW5nIGluZGV4IgpAQCAtMTkwNTAsOSArMjI0MjksOCBAQAogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjEyOQotIywgZnV6enkKIG1zZ2lkICJDcmVhdGVzIGEgdGFnIG9iamVjdCIKLW1zZ3N0ciAiZWRpdGEgdW4gb2JqZWN0ZSBleGlzdGVudCIKK21zZ3N0ciAiQ3JlYSB1biBvYmplY3RlIGV0aXF1ZXRhIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMzAKIG1zZ2lkICJCdWlsZCBhIHRyZWUtb2JqZWN0IGZyb20gbHMtdHJlZSBmb3JtYXR0ZWQgdGV4dCIKQEAgLTE5MDY3LDIzICsyMjQ0NSwyMCBAQAogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjEzMwotIywgZnV6enkKIG1zZ2lkICJBZGQgb3IgaW5zcGVjdCBvYmplY3Qgbm90ZXMiCi1tc2dzdHIgIm5vIHMnaGEgcmVidXQgbCdvYmplY3RlIGVzcGVyYXQgJXMiCittc2dzdHIgIkFmZWdlaXggbyBpbnNwZWNjaW9uYSBub3RlcyBkZSBsJ29iamVjdGUiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjEzNAogbXNnaWQgIkltcG9ydCBmcm9tIGFuZCBzdWJtaXQgdG8gUGVyZm9yY2UgcmVwb3NpdG9yaWVzIgotbXNnc3RyICIiCittc2dzdHIgIkltcG9ydGEgZGVzIGRlIGkgZW52aWEgYSBkaXDDsnNpdHMgUGVyZm9yY2UiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjEzNQotIywgZnV6enkKIG1zZ2lkICJDcmVhdGUgYSBwYWNrZWQgYXJjaGl2ZSBvZiBvYmplY3RzIgotbXNnc3RyICJpZ25vcmEgZWxzIG9iamVjdGVzIGVtcGFxdWV0YXRzIgorbXNnc3RyICJDcmVhIHVuIGFyeGl1IGVtcGFxdWV0YXQgZCdvYmplY3RlcyIKIAogIzogY29tbWFuZC1saXN0Lmg6MTM2Ci0jLCBmdXp6eQogbXNnaWQgIkZpbmQgcmVkdW5kYW50IHBhY2sgZmlsZXMiCi1tc2dzdHIgIm5vIGVzIHBvdCBmZXIgcHJlYWQgZW4gZWwgZml0eGVyIGRlIHBhcXVldCIKK21zZ3N0ciAiVHJvYmEgZml0eGVycyBlbXBhcXVldGF0cyByZWR1bmRhbnRzIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMzcKIG1zZ2lkICJQYWNrIGhlYWRzIGFuZCB0YWdzIGZvciBlZmZpY2llbnQgcmVwb3NpdG9yeSBhY2Nlc3MiCkBAIC0xOTE3MSwyNDAgKzIyNTQ2LDIzOCBAQAogbXNnc3RyICJSZXN0YWJsZWl4IGxhIEhFQUQgYWN0dWFsIGEgbCdlc3RhdCBlc3BlY2lmaWNhdCIKIAogIzogY29tbWFuZC1saXN0Lmg6MTU2Ci0jLCBmdXp6eQotbXNnaWQgIlJldmVydCBzb21lIGV4aXN0aW5nIGNvbW1pdHMiCi1tc2dzdHIgIm5vIGVzIHBvdCBlc21lbmFyIHVuYSBjb21pc3Npw7Mgbm8gZXhpc3RlbnQiCittc2dpZCAiUmVzdG9yZSB3b3JraW5nIHRyZWUgZmlsZXMiCittc2dzdHIgIlJlc3RhdXJhIGVscyBmaXR4ZXJzIGRlIGwnYXJicmUgZGUgdHJlYmFsbCIKIAogIzogY29tbWFuZC1saXN0Lmg6MTU3Ci0jLCBmdXp6eQotbXNnaWQgIkxpc3RzIGNvbW1pdCBvYmplY3RzIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlciIKLW1zZ3N0ciAibW9zdHJhIGxlcyBjb21pc3Npb25zIGVuIG9yZHJlIHRvcG9sw7JnaWMiCittc2dpZCAiUmV2ZXJ0IHNvbWUgZXhpc3RpbmcgY29tbWl0cyIKK21zZ3N0ciAiUmV2ZXJ0ZWl4IGNvbWlzc2lvbnMgZXhpc3RlbnRzIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNTgKLSMsIGZ1enp5Ci1tc2dpZCAiUGljayBvdXQgYW5kIG1hc3NhZ2UgcGFyYW1ldGVycyIKLW1zZ3N0ciAibWFzc2EgcGFyw6BtZXRyZXMiCittc2dpZCAiTGlzdHMgY29tbWl0IG9iamVjdHMgaW4gcmV2ZXJzZSBjaHJvbm9sb2dpY2FsIG9yZGVyIgorbXNnc3RyICJNb3N0cmEgbGVzIGNvbWlzc2lvbnMgZW4gb3JkcmUgdG9wb2zDsmdpYyBpbnZlcnMiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE1OQorbXNnaWQgIlBpY2sgb3V0IGFuZCBtYXNzYWdlIHBhcmFtZXRlcnMiCittc2dzdHIgIkVzY29sbGVpeCBpIHBlcnNvbmFsaXR6YSBlbHMgcGFyw6BtZXRyZXMiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE2MAogbXNnaWQgIlJlbW92ZSBmaWxlcyBmcm9tIHRoZSB3b3JraW5nIHRyZWUgYW5kIGZyb20gdGhlIGluZGV4IgogbXNnc3RyICJFbGltaW5hIGZpdHhlcnMgZGUgbCdhcmJyZSBkZSB0cmViYWxsIGkgZGUgbCfDrW5kZXgiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2MAotbXNnaWQgIlNlbmQgYSBjb2xsZWN0aW9uIG9mIHBhdGNoZXMgYXMgZW1haWxzIgotbXNnc3RyICIiCi0KICM6IGNvbW1hbmQtbGlzdC5oOjE2MQotIywgZnV6enkKLW1zZ2lkICJQdXNoIG9iamVjdHMgb3ZlciBHaXQgcHJvdG9jb2wgdG8gYW5vdGhlciByZXBvc2l0b3J5IgotbXNnc3RyICJCYWl4YSBvYmplY3RlcyBpIHJlZmVyw6huY2llcyBkJ3VuIGFsdHJlIGRpcMOyc2l0IgorbXNnaWQgIlNlbmQgYSBjb2xsZWN0aW9uIG9mIHBhdGNoZXMgYXMgZW1haWxzIgorbXNnc3RyICJFbnZpYSB1bmEgY29swrdsZWNjacOzIGRlIHBlZGHDp29zIGNvbSBhIGNvcnJldXMgZWxlY3Ryw7JuaWNzIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNjIKK21zZ2lkICJQdXNoIG9iamVjdHMgb3ZlciBHaXQgcHJvdG9jb2wgdG8gYW5vdGhlciByZXBvc2l0b3J5IgorbXNnc3RyICJQdWphIG9iamVjdGVzIHNvYnJlIGVsIHByb3RvY29sIEdpdCBhIHVuIGFsdHJlIGRpcMOyc2l0IgorCisjOiBjb21tYW5kLWxpc3QuaDoxNjMKIG1zZ2lkICJSZXN0cmljdGVkIGxvZ2luIHNoZWxsIGZvciBHaXQtb25seSBTU0ggYWNjZXNzIgogbXNnc3RyICIiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2MworIzogY29tbWFuZC1saXN0Lmg6MTY0CiBtc2dpZCAiU3VtbWFyaXplICdnaXQgbG9nJyBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTY0CisjOiBjb21tYW5kLWxpc3QuaDoxNjUKIG1zZ2lkICJTaG93IHZhcmlvdXMgdHlwZXMgb2Ygb2JqZWN0cyIKIG1zZ3N0ciAiTW9zdHJhIGRpdmVyc29zIHRpcHVzIGQnb2JqZWN0ZXMiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2NQotIywgZnV6enkKLW1zZ2lkICJTaG93IGJyYW5jaGVzIGFuZCB0aGVpciBjb21taXRzIgotbXNnc3RyICJpbXByaW1laXggbm9tw6lzIGxlcyBicmFucXVlcyBxdWUgY29udGluZ3VpbiBsYSBjb21pc3Npw7MiCi0KICM6IGNvbW1hbmQtbGlzdC5oOjE2NgotbXNnaWQgIlNob3cgcGFja2VkIGFyY2hpdmUgaW5kZXgiCi1tc2dzdHIgIiIKK21zZ2lkICJTaG93IGJyYW5jaGVzIGFuZCB0aGVpciBjb21taXRzIgorbXNnc3RyICJNb3N0cmEgbGVzIGJyYW5xdWVzIGkgbGVzIHNldmVzIGNvbWlzc2lvbnMiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE2NwotIywgZnV6enkKLW1zZ2lkICJMaXN0IHJlZmVyZW5jZXMgaW4gYSBsb2NhbCByZXBvc2l0b3J5IgotbXNnc3RyICJlbCBkaXDDsnNpdCBkZSByZWZlcsOobmNpYSDCqyVzwrsgbm8gw6lzIHVuIGRpcMOyc2l0IGxvY2FsLiIKK21zZ2lkICJTaG93IHBhY2tlZCBhcmNoaXZlIGluZGV4IgorbXNnc3RyICJNb3N0cmEgbCfDrW5kZXggZCdhcnhpdXMgZW1wYXF1ZXRhdCIKIAogIzogY29tbWFuZC1saXN0Lmg6MTY4Cittc2dpZCAiTGlzdCByZWZlcmVuY2VzIGluIGEgbG9jYWwgcmVwb3NpdG9yeSIKK21zZ3N0ciAiTGxpc3RhIGxlcyByZWZlcsOobmNpZXMgZW4gdW4gZGlww7JzaXQgbG9jYWwiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE2OQogbXNnaWQgIkdpdCdzIGkxOG4gc2V0dXAgY29kZSBmb3Igc2hlbGwgc2NyaXB0cyIKIG1zZ3N0ciAiIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjkKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MAogbXNnaWQgIkNvbW1vbiBHaXQgc2hlbGwgc2NyaXB0IHNldHVwIGNvZGUiCittc2dzdHIgIkNvZGkgZGUgc2NyaXB0cyBkZSBjb25maWd1cmFjacOzIGNvbXVucyBwZWwgR2l0IHNoZWxsIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNzEKK21zZ2lkICJJbml0aWFsaXplIGFuZCBtb2RpZnkgdGhlIHNwYXJzZS1jaGVja291dCIKIG1zZ3N0ciAiIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzAKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MgogIywgZnV6enkKIG1zZ2lkICJTdGFzaCB0aGUgY2hhbmdlcyBpbiBhIGRpcnR5IHdvcmtpbmcgZGlyZWN0b3J5IGF3YXkiCiBtc2dzdHIgIiVzOiBqYSBleGlzdGVpeCBlbiBlbCBkaXJlY3RvcmkgZGUgdHJlYmFsbCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTcxCisjOiBjb21tYW5kLWxpc3QuaDoxNzMKICMsIGZ1enp5CiBtc2dpZCAiQWRkIGZpbGUgY29udGVudHMgdG8gdGhlIHN0YWdpbmcgYXJlYSIKIG1zZ3N0ciAiQWZlZ2VpeCBlbHMgY29udGluZ3V0cyBkZWxzIGZpdHhlcnMgYSBsJ8OtbmRleCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTcyCisjOiBjb21tYW5kLWxpc3QuaDoxNzQKIG1zZ2lkICJTaG93IHRoZSB3b3JraW5nIHRyZWUgc3RhdHVzIgogbXNnc3RyICJNb3N0cmEgbCdlc3RhdCBkZSBsJ2FyYnJlIGRlIHRyZWJhbGwiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3MworIzogY29tbWFuZC1saXN0Lmg6MTc1CiBtc2dpZCAiUmVtb3ZlIHVubmVjZXNzYXJ5IHdoaXRlc3BhY2UiCiBtc2dzdHIgIlN1cHJpbWVpeCBsJ2VzcGFpIGVuIGJsYW5jIGlubmVjZXNzYXJpIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzQKLSMsIGZ1enp5Ci1tc2dpZCAiSW5pdGlhbGl6ZSwgdXBkYXRlIG9yIGluc3BlY3Qgc3VibW9kdWxlcyIKLW1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBhY3R1YWxpdHphciBlbCByZW1vdCBwZWwgc3VibcOyZHVsIMKrJXPCuyIKLQotIzogY29tbWFuZC1saXN0Lmg6MTc1Ci1tc2dpZCAiQmlkaXJlY3Rpb25hbCBvcGVyYXRpb24gYmV0d2VlbiBhIFN1YnZlcnNpb24gcmVwb3NpdG9yeSBhbmQgR2l0IgotbXNnc3RyICIiCi0KICM6IGNvbW1hbmQtbGlzdC5oOjE3NgotIywgZnV6enkKLW1zZ2lkICJSZWFkLCBtb2RpZnkgYW5kIGRlbGV0ZSBzeW1ib2xpYyByZWZzIgotbXNnc3RyICJzdXByaW1laXggbGEgcmVmZXLDqG5jaWEgc2ltYsOybGljYSIKK21zZ2lkICJJbml0aWFsaXplLCB1cGRhdGUgb3IgaW5zcGVjdCBzdWJtb2R1bGVzIgorbXNnc3RyICJJbmljaWFsaXR6YSwgYWN0dWFsaXR6YSBvIGluc3BlY2Npb25hIHN1Ym3DsmR1bHMiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE3NworbXNnaWQgIkJpZGlyZWN0aW9uYWwgb3BlcmF0aW9uIGJldHdlZW4gYSBTdWJ2ZXJzaW9uIHJlcG9zaXRvcnkgYW5kIEdpdCIKK21zZ3N0ciAiT3BlcmFjacOzIGJpZGlyZWNjaW9uYWwgZW50cmUgdW4gZGlww7JzaXQgYSBTdWJ2ZXJzaW9uIGkgR2l0IgorCisjOiBjb21tYW5kLWxpc3QuaDoxNzgKK21zZ2lkICJTd2l0Y2ggYnJhbmNoZXMiCittc2dzdHIgIkNvbW11dGEgYnJhbnF1ZXMiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3OQorbXNnaWQgIlJlYWQsIG1vZGlmeSBhbmQgZGVsZXRlIHN5bWJvbGljIHJlZnMiCittc2dzdHIgIkxsZWdlaXgsIG1vZGlmaWNhIGkgc3VwcmltZWl4IHJlZmVyw6huY2llcyBzaW1iw7JsaXF1ZXMiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE4MAogbXNnaWQgIkNyZWF0ZSwgbGlzdCwgZGVsZXRlIG9yIHZlcmlmeSBhIHRhZyBvYmplY3Qgc2lnbmVkIHdpdGggR1BHIgogbXNnc3RyICIiCiAiQ3JlYSwgbGxpc3RhLCBzdXByaW1laXggbyB2ZXJpZmljYSB1biBvYmplY3RlIGQnZXRpcXVldGEgc2lnbmF0IGFtYiBHUEciCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3OAotbXNnaWQgIkNyZWF0ZXMgYSB0ZW1wb3JhcnkgZmlsZSB3aXRoIGEgYmxvYidzIGNvbnRlbnRzIgotbXNnc3RyICIiCi0KLSM6IGNvbW1hbmQtbGlzdC5oOjE3OQotbXNnaWQgIlVucGFjayBvYmplY3RzIGZyb20gYSBwYWNrZWQgYXJjaGl2ZSIKLW1zZ3N0ciAiIgotCi0jOiBjb21tYW5kLWxpc3QuaDoxODAKLSMsIGZ1enp5Ci1tc2dpZCAiUmVnaXN0ZXIgZmlsZSBjb250ZW50cyBpbiB0aGUgd29ya2luZyB0cmVlIHRvIHRoZSBpbmRleCIKLW1zZ3N0ciAiRWxpbWluYSBmaXR4ZXJzIGRlIGwnYXJicmUgZGUgdHJlYmFsbCBpIGRlIGwnw61uZGV4IgotCiAjOiBjb21tYW5kLWxpc3QuaDoxODEKLW1zZ2lkICJVcGRhdGUgdGhlIG9iamVjdCBuYW1lIHN0b3JlZCBpbiBhIHJlZiBzYWZlbHkiCi1tc2dzdHIgIiIKK21zZ2lkICJDcmVhdGVzIGEgdGVtcG9yYXJ5IGZpbGUgd2l0aCBhIGJsb2IncyBjb250ZW50cyIKK21zZ3N0ciAiQ3JlYSB1biBmaXR4ZXIgdGVtcG9yYWwgYW1iIGVscyBjb250aW5ndXRzIGRlbHMgYmxvYnMiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE4MgorbXNnaWQgIlVucGFjayBvYmplY3RzIGZyb20gYSBwYWNrZWQgYXJjaGl2ZSIKK21zZ3N0ciAiRGVzZW1wYXF1ZXRhIG9iamVjdGVzIGQndW4gYXJ4aXUgZW1wYXF1ZXRhdCIKKworIzogY29tbWFuZC1saXN0Lmg6MTgzCittc2dpZCAiUmVnaXN0ZXIgZmlsZSBjb250ZW50cyBpbiB0aGUgd29ya2luZyB0cmVlIHRvIHRoZSBpbmRleCIKK21zZ3N0ciAiUmVnaXN0cmEgZWxzIGNvbnRpbmd1dHMgZGVsIGZpdHhlciBlbiBsJ2FyYnJlIGRlIHRyZWJhbGwgYSBsJ8OtbmRleCIKKworIzogY29tbWFuZC1saXN0Lmg6MTg0Cittc2dpZCAiVXBkYXRlIHRoZSBvYmplY3QgbmFtZSBzdG9yZWQgaW4gYSByZWYgc2FmZWx5IgorbXNnc3RyICIiCisiQWN0dWFsaXR6YSBlbCBub20gZGUgbCdvYmplY3RlIGVtbWFnYXR6ZW1hIGVuIHVuYSByZWZlcsOobmNpYSBkZSBmb3JtYSBzZWd1cmEiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE4NQogbXNnaWQgIlVwZGF0ZSBhdXhpbGlhcnkgaW5mbyBmaWxlIHRvIGhlbHAgZHVtYiBzZXJ2ZXJzIgogbXNnc3RyICIiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4MwotbXNnaWQgIlNlbmQgYXJjaGl2ZSBiYWNrIHRvIGdpdC1hcmNoaXZlIgotbXNnc3RyICIiCi0KLSM6IGNvbW1hbmQtbGlzdC5oOjE4NAotbXNnaWQgIlNlbmQgb2JqZWN0cyBwYWNrZWQgYmFjayB0byBnaXQtZmV0Y2gtcGFjayIKLW1zZ3N0ciAiIgotCi0jOiBjb21tYW5kLWxpc3QuaDoxODUKLW1zZ2lkICJTaG93IGEgR2l0IGxvZ2ljYWwgdmFyaWFibGUiCi1tc2dzdHIgIiIKLQogIzogY29tbWFuZC1saXN0Lmg6MTg2Ci0jLCBmdXp6eQotbXNnaWQgIkNoZWNrIHRoZSBHUEcgc2lnbmF0dXJlIG9mIGNvbW1pdHMiCi1tc2dzdHIgInNpZ25hIGxhIGNvbWlzc2nDsyBhbWIgR1BHIgorbXNnaWQgIlNlbmQgYXJjaGl2ZSBiYWNrIHRvIGdpdC1hcmNoaXZlIgorbXNnc3RyICJFbnZpYSBsJ2FyeGl1IGRlIHRvcm5hZGEgYWwgZ2l0LWFyY2hpdmUiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE4NwotIywgZnV6enkKLW1zZ2lkICJWYWxpZGF0ZSBwYWNrZWQgR2l0IGFyY2hpdmUgZmlsZXMiCi1tc2dzdHIgIm5vIHMnaGEgcG9ndXQgY3JlYXIgZWwgZml0eGVyIGQnYXJ4aXUgwqslc8K7IgorbXNnaWQgIlNlbmQgb2JqZWN0cyBwYWNrZWQgYmFjayB0byBnaXQtZmV0Y2gtcGFjayIKK21zZ3N0ciAiRW52aWEgZWxzIG9iamVjdGVzIGVtcGFxdWV0YXRzIGRlIHRvcm5hZGEgYWwgZ2l0LWZldGNoLXBhY2siCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE4OAotbXNnaWQgIkNoZWNrIHRoZSBHUEcgc2lnbmF0dXJlIG9mIHRhZ3MiCi1tc2dzdHIgIiIKK21zZ2lkICJTaG93IGEgR2l0IGxvZ2ljYWwgdmFyaWFibGUiCittc2dzdHIgIk1vc3RyYSB1bmEgdmFyaWFibGUgbMOyZ2ljYSBkZWwgR2l0IgogCiAjOiBjb21tYW5kLWxpc3QuaDoxODkKLW1zZ2lkICJHaXQgd2ViIGludGVyZmFjZSAod2ViIGZyb250ZW5kIHRvIEdpdCByZXBvc2l0b3JpZXMpIgotbXNnc3RyICIiCittc2dpZCAiQ2hlY2sgdGhlIEdQRyBzaWduYXR1cmUgb2YgY29tbWl0cyIKK21zZ3N0ciAiVmVyaWZpY2EgbGEgc2lnbmF0dXJhIEdQRyBkZSBsZXMgY29taXNzaW9ucyIKIAogIzogY29tbWFuZC1saXN0Lmg6MTkwCi1tc2dpZCAiU2hvdyBsb2dzIHdpdGggZGlmZmVyZW5jZSBlYWNoIGNvbW1pdCBpbnRyb2R1Y2VzIgotbXNnc3RyICIiCittc2dpZCAiVmFsaWRhdGUgcGFja2VkIEdpdCBhcmNoaXZlIGZpbGVzIgorbXNnc3RyICJWYWxpZGEgZWxzIGZpdHhlcnMgZCdhcnhpdXMgR2l0IGVtcGFxdWV0YXRzIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxOTEKK21zZ2lkICJDaGVjayB0aGUgR1BHIHNpZ25hdHVyZSBvZiB0YWdzIgorbXNnc3RyICJWZXJpZmljYSBsYSBzaWduYXR1cmEgR1BHIGRlIGxlcyBldGlxdWV0ZXMiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE5MgorbXNnaWQgIkdpdCB3ZWIgaW50ZXJmYWNlICh3ZWIgZnJvbnRlbmQgdG8gR2l0IHJlcG9zaXRvcmllcykiCittc2dzdHIgIkludGVyZsOtY2llIHdlYiBkZWwgR2l0IChpbnRlcmbDrWNpZSB3ZWIgcGVscyBkaXDDsnNpdHMgR2l0KSIKKworIzogY29tbWFuZC1saXN0Lmg6MTkzCittc2dpZCAiU2hvdyBsb2dzIHdpdGggZGlmZmVyZW5jZSBlYWNoIGNvbW1pdCBpbnRyb2R1Y2VzIgorbXNnc3RyICJNb3N0cmEgcmVnaXN0cmVzIGFtYiBsYSBkaWZlcsOobmNpYSBpbnRyb2R1w69kYSBwZXIgY2FkYSBjb21pc3Npw7MiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE5NAogbXNnaWQgIk1hbmFnZSBtdWx0aXBsZSB3b3JraW5nIHRyZWVzIgogbXNnc3RyICJHZXN0aW9uYSBtw7psdGlwbGVzIGFyYnJlcyBkZSB0cmViYWxsIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTIKLSMsIGZ1enp5CisjOiBjb21tYW5kLWxpc3QuaDoxOTUKIG1zZ2lkICJDcmVhdGUgYSB0cmVlIG9iamVjdCBmcm9tIHRoZSBjdXJyZW50IGluZGV4IgotbXNnc3RyICJsbGVnZWl4IGwnb2JqZWN0ZSBkZXMgZGUgc3RkaW4iCittc2dzdHIgIkNyZWEgdW4gb2JqZWN0ZSBhcmJyZSBkZXMgZGUgbCfDrW5kZXggYWN0dWFsIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTMKKyM6IGNvbW1hbmQtbGlzdC5oOjE5NgogbXNnaWQgIkRlZmluaW5nIGF0dHJpYnV0ZXMgcGVyIHBhdGgiCiBtc2dzdHIgIkxhIGRlZmluaWNpw7MgZCdhdHJpYnV0cyBwZXIgY2Ftw60iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5NAotbXNnaWQgIkdpdCBjb21tYW5kLWxpbmUgaW50ZXJmYWNlIGFuZCBjb252ZW50aW9ucyIKLW1zZ3N0ciAiIgotCi0jOiBjb21tYW5kLWxpc3QuaDoxOTUKLW1zZ2lkICJBIEdpdCBjb3JlIHR1dG9yaWFsIGZvciBkZXZlbG9wZXJzIgotbXNnc3RyICIiCi0KLSM6IGNvbW1hbmQtbGlzdC5oOjE5NgotbXNnaWQgIkdpdCBmb3IgQ1ZTIHVzZXJzIgotbXNnc3RyICIiCi0KICM6IGNvbW1hbmQtbGlzdC5oOjE5NworbXNnaWQgIkdpdCBjb21tYW5kLWxpbmUgaW50ZXJmYWNlIGFuZCBjb252ZW50aW9ucyIKK21zZ3N0ciAiSW50ZXJmw61jaWUgaSBjb252ZW5jaW9ucyBkZSBsYSBsw61uaWEgZCdvcmRyZXMgZGVsIEdpdCIKKworIzogY29tbWFuZC1saXN0Lmg6MTk4Cittc2dpZCAiQSBHaXQgY29yZSB0dXRvcmlhbCBmb3IgZGV2ZWxvcGVycyIKK21zZ3N0ciAiVW4gdHV0b3JpYWwgYsOgc2ljIGRlbCBHaXQgcGVyIGEgZGVzZW52b2x1cGFkb3JzIgorCisjOiBjb21tYW5kLWxpc3QuaDoxOTkKK21zZ2lkICJHaXQgZm9yIENWUyB1c2VycyIKK21zZ3N0ciAiR2l0IHBlciBhIHVzdWFyaXMgZGVsIENWUyIKKworIzogY29tbWFuZC1saXN0Lmg6MjAwCiAjLCBmdXp6eQogbXNnaWQgIlR3ZWFraW5nIGRpZmYgb3V0cHV0IgogbXNnc3RyICJvbWV0IGxhIHNvcnRpZGEgZGUgZGlmZXLDqG5jaWVzIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTgKKyM6IGNvbW1hbmQtbGlzdC5oOjIwMQogbXNnaWQgIkEgdXNlZnVsIG1pbmltdW0gc2V0IG9mIGNvbW1hbmRzIGZvciBFdmVyeWRheSBHaXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiVW4gY29uanVudCBtw61uaW0gw7p0aWwgZCdvcmRyZXMgZGnDoHJpZXMgZGVsIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk5CisjOiBjb21tYW5kLWxpc3QuaDoyMDIKIG1zZ2lkICJBIEdpdCBHbG9zc2FyeSIKIG1zZ3N0ciAiVW4gZ2xvc3NhcmkgZGUgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDAKKyM6IGNvbW1hbmQtbGlzdC5oOjIwMwogbXNnaWQgIkhvb2tzIHVzZWQgYnkgR2l0IgogbXNnc3RyICJMbGlnYW1zIHV0aWxpdHphdHMgcGVsIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjAxCisjOiBjb21tYW5kLWxpc3QuaDoyMDQKIG1zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgogbXNnc3RyICJFc3BlY2lmaWNhIGVscyBmaXR4ZXJzIGludGVuY2lvbmFsbWVudCBubyBzZWd1aXRzIGEgaWdub3JhciIKIAotIzogY29tbWFuZC1saXN0Lmg6MjAyCisjOiBjb21tYW5kLWxpc3QuaDoyMDUKIG1zZ2lkICJEZWZpbmluZyBzdWJtb2R1bGUgcHJvcGVydGllcyIKIG1zZ3N0ciAiTGEgZGVmaW5pY2nDsyBkZSBsZXMgcHJvcGlldGF0cyBkZSBzdWJtw7JkdWxzIgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDMKKyM6IGNvbW1hbmQtbGlzdC5oOjIwNgogbXNnaWQgIkdpdCBuYW1lc3BhY2VzIgogbXNnc3RyICJFc3BhaXMgZGUgbm9tcyBkZWwgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDQKKyM6IGNvbW1hbmQtbGlzdC5oOjIwNwogbXNnaWQgIkdpdCBSZXBvc2l0b3J5IExheW91dCIKLW1zZ3N0ciAiIgorbXNnc3RyICJEaXNwb3NpY2nDsyBkZWwgZGlww7JzaXQgZGVsIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjA1CisjOiBjb21tYW5kLWxpc3QuaDoyMDgKIG1zZ2lkICJTcGVjaWZ5aW5nIHJldmlzaW9ucyBhbmQgcmFuZ2VzIGZvciBHaXQiCiBtc2dzdHIgIkwnZXNwZWNpZmljYWNpw7MgZGUgcmV2aXNpb25zIGkgcmFuZ3MgcGVyIGFsIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjA2Ci0jLCBmdXp6eQorIzogY29tbWFuZC1saXN0Lmg6MjA5Cittc2dpZCAiTW91bnRpbmcgb25lIHJlcG9zaXRvcnkgaW5zaWRlIGFub3RoZXIiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MjEwCiBtc2dpZCAiQSB0dXRvcmlhbCBpbnRyb2R1Y3Rpb24gdG8gR2l0OiBwYXJ0IHR3byIKLW1zZ3N0ciAiVW5hIGludHJvZHVjY2nDsyB0dXRvcmlhbCBhbCBHaXQgKHBlciBhIGxhIHZlcnNpw7MgMS41LjEgbyBtw6lzIG5vdmEpIgorbXNnc3RyICJVbiB0dXRvcmlhbCBkJ2ludHJvZHVjY2nDsyBhbCBHaXQ6IHNlZ29uYSBwYXJ0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDcKLSMsIGZ1enp5CisjOiBjb21tYW5kLWxpc3QuaDoyMTEKIG1zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQiCi1tc2dzdHIgIlVuYSBpbnRyb2R1Y2Npw7MgdHV0b3JpYWwgYWwgR2l0IChwZXIgYSBsYSB2ZXJzacOzIDEuNS4xIG8gbcOpcyBub3ZhKSIKK21zZ3N0ciAiVW4gdHV0b3JpYWwgZCdpbnRyb2R1Y2Npw7MgYWwgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDgKKyM6IGNvbW1hbmQtbGlzdC5oOjIxMgogbXNnaWQgIkFuIG92ZXJ2aWV3IG9mIHJlY29tbWVuZGVkIHdvcmtmbG93cyB3aXRoIEdpdCIKIG1zZ3N0ciAiVW5hIHZpc2nDsyBkZSBjb25qdW50IGRlIGZsdXhvcyBkZSB0cmViYWxsIHJlY29tYW5hdHMgYW1iIEdpdCIKIAotIzogcmVyZXJlLmg6NDQKLW1zZ2lkICJ1cGRhdGUgdGhlIGluZGV4IHdpdGggcmV1c2VkIGNvbmZsaWN0IHJlc29sdXRpb24gaWYgcG9zc2libGUiCi1tc2dzdHIgIiIKLSJhY3R1YWxpdHphIGwnw61uZGV4IGFtYiBsYSByZXNvbHVjacOzIGRlIGNvbmZsaWN0ZSByZXVzYWRhIHNpIMOpcyBwb3NzaWJsZSIKLQogIzogZ2l0LWJpc2VjdC5zaDo1NAogbXNnaWQgIllvdSBuZWVkIHRvIHN0YXJ0IGJ5IFwiZ2l0IGJpc2VjdCBzdGFydFwiIgogbXNnc3RyICJDYWwgY29tZW7Dp2FyIHBlciBcImdpdCBiaXNlY3Qgc3RhcnRcIiIKQEAgLTE5NDE2LDEzNCArMjI3ODksNDkgQEAKIG1zZ2lkICJEbyB5b3Ugd2FudCBtZSB0byBkbyBpdCBmb3IgeW91IFtZL25dPyAiCiBtc2dzdHIgIlZvbGV1IHF1ZSBobyBmYWNpIHBlciB2b3N0w6ggW1kvbl0/ICIKIAotIzogZ2l0LWJpc2VjdC5zaDoxMjEKLSMsIHNoLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXNlZCBvcHRpb246ICckYXJnJyIKLW1zZ3N0ciAib3BjacOzIG5vIHJlY29uZWd1ZGE6ICckYXJnJyIKLQotIzogZ2l0LWJpc2VjdC5zaDoxMjUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIickYXJnJyBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYSB2YWxpZCByZXZpc2lvbiIKLW1zZ3N0ciAiJyRhcmcnIG5vIHNlbWJsYSB1bmEgcmV2aXNpw7MgdsOgbGlkYSIKLQotIzogZ2l0LWJpc2VjdC5zaDoxNTQKLW1zZ2lkICJCYWQgSEVBRCAtIEkgbmVlZCBhIEhFQUQiCi1tc2dzdHIgIkhFQUQgaW5jb3JyZWN0ZSAtIENhbCB1biBIRUFEIgotCi0jOiBnaXQtYmlzZWN0LnNoOjE2NwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIkNoZWNraW5nIG91dCAnJHN0YXJ0X2hlYWQnIGZhaWxlZC4gVHJ5ICdnaXQgYmlzZWN0IHJlc2V0IDx2YWxpZC1icmFuY2g+Jy4iCi1tc2dzdHIgIiIKLSJMJ2FnYWZhbWVudCBkZSAnJHN0YXJ0X2hlYWQnIGhhIGZhbGxhdC4gUHJvdmV1ICdnaXQgYmlzZWN0IHJlc2V0IDxicmFuY2EtIgotInbDoGxpZGE+Jy4iCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTc3Ci1tc2dpZCAid29uJ3QgYmlzZWN0IG9uIGNnLXNlZWsnZWQgdHJlZSIKLW1zZ3N0ciAibm8gZXMgYmlzZWNhcsOgIGVuIHVuIGFyYnJlIGVuIGVsIHF1YWwgcydoYSBmZXQgY2ctc2VlayIKLQotIzogZ2l0LWJpc2VjdC5zaDoxODEKLW1zZ2lkICJCYWQgSEVBRCAtIHN0cmFuZ2Ugc3ltYm9saWMgcmVmIgotbXNnc3RyICJIRUFEIGluY29ycmVjdGUgLSByZWZlcsOobmNpYSBzaW1iw7JsaWNhIGVzdHJhbnlhIgotCi0jOiBnaXQtYmlzZWN0LnNoOjIzMwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQmFkIGJpc2VjdF93cml0ZSBhcmd1bWVudDogJHN0YXRlIgotbXNnc3RyICJQYXLDoG1ldHJlIGJpc2VjdF93cml0ZSBpbmNvcnJlY3RlOiAkc3RhdGUiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MjQ2CisjOiBnaXQtYmlzZWN0LnNoOjEwMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQmFkIHJldiBpbnB1dDogJGFyZyIKIG1zZ3N0ciAiSW50cm9kdWNjacOzIGRlIHJldmlzacOzIGVycsOybmlhOiAkYXJnIgogCi0jOiBnaXQtYmlzZWN0LnNoOjI2NQorIzogZ2l0LWJpc2VjdC5zaDoxMjEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRiaXNlY3RlZF9oZWFkIgogbXNnc3RyICJFbnRyYWRhIGRlIHJldmlzacOzIGVycsOybmlhOiAkYmlzZWN0ZWRfaGVhZCIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNzQKKyM6IGdpdC1iaXNlY3Quc2g6MTMwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkcmV2IgogbXNnc3RyICJJbnRyb2R1Y2Npw7MgZGUgcmV2aXNpw7MgZXJyw7JuaWE6ICRyZXYiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MjgzCisjOiBnaXQtYmlzZWN0LnNoOjEzOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJ2dpdCBiaXNlY3QgJFRFUk1fQkFEJyBjYW4gdGFrZSBvbmx5IG9uZSBhcmd1bWVudC4iCiBtc2dzdHIgIidnaXQgYmlzZWN0ICRURVJNX0JBRCcgcG90IGFjY2VwdGFyIG5vbcOpcyB1biBwYXLDoG1ldHJlLiIKIAotIzogZ2l0LWJpc2VjdC5zaDozMDYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIldhcm5pbmc6IGJpc2VjdGluZyBvbmx5IHdpdGggYSAkVEVSTV9CQUQgY29tbWl0LiIKLW1zZ3N0ciAiQWR2ZXJ0w6huY2lhOiBiaXNlY2FudCBhbWIgbm9tw6lzIGNvbWlzc2nDsyAkVEVSTV9CQUQuIgotCi0jLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW1ldIGFuZCBbbl0gaW4geW91cgotIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAotIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1iaXNlY3Quc2g6MzEyCi1tc2dpZCAiQXJlIHlvdSBzdXJlIFtZL25dPyAiCi1tc2dzdHIgIk4nZXN0ZXUgc2VndXIgW1kvbl0/ICIKLQotIzogZ2l0LWJpc2VjdC5zaDozMjQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJZb3UgbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSAkYmFkX3N5biBhbmQgb25lICRnb29kX3N5biByZXZpc2lvbi5cbiIKLSIoWW91IGNhbiB1c2UgXCJnaXQgYmlzZWN0ICRiYWRfc3luXCIgYW5kIFwiZ2l0IGJpc2VjdCAkZ29vZF9zeW5cIiBmb3IgdGhhdC4pIgotbXNnc3RyICIiCi0iQ2FsIGRvbmFyLW1lIGFsbWVueXMgdW5hIHJldmlzacOzICRiYWRfc3luIGkgdW5hICRnb29kX3N5bi5cbiIKLSIoUG9kZXUgdXNhciBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiBpIFwiZ2l0IGJpc2VjdCAkZ29vZF9zeW5cIiBwZXIgYWl4w7IuKSIKLQotIzogZ2l0LWJpc2VjdC5zaDozMjcKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJZb3UgbmVlZCB0byBzdGFydCBieSBcImdpdCBiaXNlY3Qgc3RhcnRcIi5cbiIKLSJZb3UgdGhlbiBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICRnb29kX3N5biBhbmQgb25lICRiYWRfc3luIHJldmlzaW9uLlxuIgotIihZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiBhbmQgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiIGZvciB0aGF0LikiCi1tc2dzdHIgIiIKLSJDYWwgY29tZW7Dp2FyIGFtYiBcImdpdCBiaXNlY3Qgc3RhcnRcIi5cbiIKLSJEZXNwcsOpcyBjYWwgZG9uYXItbWUgYWxtZW55cyB1bmEgcmV2aXNpw7MgJGdvb2Rfc3luIGkgdW5hICRiYWRfc3luLlxuIgotIihQb2RldSB1c2FyIFwiZ2l0IGJpc2VjdCAkYmFkX3N5blwiIGkgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiIHBlciBhaXjDsi4pIgotCi0jOiBnaXQtYmlzZWN0LnNoOjM5OCBnaXQtYmlzZWN0LnNoOjUxMgotbXNnaWQgIldlIGFyZSBub3QgYmlzZWN0aW5nLiIKLW1zZ3N0ciAiTm8gZXN0ZW0gYmlzZWNhbnQuIgotCi0jOiBnaXQtYmlzZWN0LnNoOjQwNQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiJyRpbnZhbGlkJyBpcyBub3QgYSB2YWxpZCBjb21taXQiCi1tc2dzdHIgIickaW52YWxpZCcgbm8gw6lzIHVuYSBjb21pc3Npw7MgdsOgbGlkYSIKLQotIzogZ2l0LWJpc2VjdC5zaDo0MTQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJDb3VsZCBub3QgY2hlY2sgb3V0IG9yaWdpbmFsIEhFQUQgJyRicmFuY2gnLlxuIgotIlRyeSAnZ2l0IGJpc2VjdCByZXNldCA8Y29tbWl0PicuIgotbXNnc3RyICIiCi0iTm8gcydoYSBwb2d1dCBhZ2FmYXIgbGEgSEVBRCBvcmlnaW5hbCAnJGJyYW5jaCcuXG4iCi0iUHJvdmV1ICdnaXQgYmlzZWN0IHJlc2V0IDxjb21pc3Npw7M+Jy4iCi0KLSM6IGdpdC1iaXNlY3Quc2g6NDIyCisjOiBnaXQtYmlzZWN0LnNoOjIwOQogbXNnaWQgIk5vIGxvZ2ZpbGUgZ2l2ZW4iCiBtc2dzdHIgIkNhcCBmaXR4ZXIgZGUgcmVnaXN0cmUgZG9uYXQiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDIzCisjOiBnaXQtYmlzZWN0LnNoOjIxMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJGZpbGUgZm9yIHJlcGxheWluZyIKIG1zZ3N0ciAibm8gZXMgcG90IGxsZWdpciAkZmlsZSBwZXIgYSByZXByb2R1Y2Npw7MiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDQ0CisjOiBnaXQtYmlzZWN0LnNoOjIzMgogbXNnaWQgIj8/IHdoYXQgYXJlIHlvdSB0YWxraW5nIGFib3V0PyIKIG1zZ3N0ciAiPz8gZGUgcXXDqCBwYXJsZXU/IgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ1MworIzogZ2l0LWJpc2VjdC5zaDoyNDEKIG1zZ2lkICJiaXNlY3QgcnVuIGZhaWxlZDogbm8gY29tbWFuZCBwcm92aWRlZC4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LWJpc2VjdC5zaDo0NTgKKyM6IGdpdC1iaXNlY3Quc2g6MjQ2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJydW5uaW5nICRjb21tYW5kIgogbXNnc3RyICJzJ2VzdMOgIGV4ZWN1dGFudCAkY29tbWFuZCIKIAotIzogZ2l0LWJpc2VjdC5zaDo0NjUKKyM6IGdpdC1iaXNlY3Quc2g6MjUzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiYmlzZWN0IHJ1biBmYWlsZWQ6XG4iCkBAIC0xOTU1MiwxMSArMjI4NDAsMTEgQEAKICJlbCBwYXMgZGUgYmlzZWNjacOzIGhhIGZhbGxhdDpcbiIKICJlbCBjb2RpIGRlIHNvcnRpZGEgJHJlcyBkZSAnJGNvbW1hbmQnIMOpcyA8IDAgbyA+PSAxMjgiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDkxCisjOiBnaXQtYmlzZWN0LnNoOjI3OQogbXNnaWQgImJpc2VjdCBydW4gY2Fubm90IGNvbnRpbnVlIGFueSBtb3JlIgogbXNnc3RyICJlbCBwYXMgZGUgYmlzZWNjacOzIG5vIHBvdCBjb250aW51YXIgbcOpcyIKIAotIzogZ2l0LWJpc2VjdC5zaDo0OTcKKyM6IGdpdC1iaXNlY3Quc2g6Mjg1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiYmlzZWN0IHJ1biBmYWlsZWQ6XG4iCkBAIC0xOTU2NSwyOCArMjI4NTMsMTMgQEAKICJlbCBwYXMgZGUgYmlzZWNjacOzIGhhIGZhbGxhdDpcbiIKICInYmlzZWN0X3N0YXRlICRzdGF0ZScgaGEgc29ydGl0IGFtYiBlbCBjb2RpIGQnZXJyb3IgJHJlcyIKIAotIzogZ2l0LWJpc2VjdC5zaDo1MDQKKyM6IGdpdC1iaXNlY3Quc2g6MjkyCiBtc2dpZCAiYmlzZWN0IHJ1biBzdWNjZXNzIgogbXNnc3RyICJwYXMgZGUgYmlzZWNjacOzIHJlZWl4aXQiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NTMzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIGNvbW1hbmQ6IHlvdSdyZSBjdXJyZW50bHkgaW4gYSAkVEVSTV9CQUQvJFRFUk1fR09PRCBiaXNlY3QuIgotbXNnc3RyICIiCi0iT3JkcmUgbm8gdsOgbGlkYTogYWN0dWFsbWVudCBlc3RldSBlbiB1bmEgYmlzZWNjacOzICRURVJNX0JBRC8kVEVSTV9HT09ELiIKLQotIzogZ2l0LWJpc2VjdC5zaDo1NjcKLW1zZ2lkICJubyB0ZXJtcyBkZWZpbmVkIgotbXNnc3RyICJjYXAgdGVybWUgZGVmaW5pdCIKLQotIzogZ2l0LWJpc2VjdC5zaDo1ODQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJpbnZhbGlkIGFyZ3VtZW50ICRhcmcgZm9yICdnaXQgYmlzZWN0IHRlcm1zJy5cbiIKLSJTdXBwb3J0ZWQgb3B0aW9ucyBhcmU6IC0tdGVybS1nb29kfC0tdGVybS1vbGQgYW5kIC0tdGVybS1iYWR8LS10ZXJtLW5ldy4iCi1tc2dzdHIgIiIKLSJwYXLDoG1ldHJlIG5vIHbDoGxpZCAkYXJnIHBlciBhICdnaXQgYmlzZWN0IHRlcm1zJy5cbiIKLSJMZXMgb3BjaW9ucyBhZG1lc2VzIHPDs246IC0tdGVybS1nb29kfC0tdGVybS1vbGQgaSAtLXRlcm0tYmFkfC0tdGVybS1uZXcuIgorIzogZ2l0LWJpc2VjdC5zaDozMDAKK21zZ2lkICJXZSBhcmUgbm90IGJpc2VjdGluZy4iCittc2dzdHIgIk5vIGVzdGVtIGJpc2VjYW50LiIKIAogIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NDYKIG1zZ2lkICIiCkBAIC0xOTYyOSwyNTkgKzIyOTAyLDExNSBAQAogbXNnc3RyICIiCiAiTGEgZnVzacOzIHNpbXBsZSBubyBoYSBmdW5jaW9uYXQsIHMnZXN0w6AgaW50ZW50YW50IHVuYSBmdXNpw7MgYXV0b23DoHRpY2EuIgogCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0MjYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKLW1zZ3N0ciAiTm8gcydoYSBwb2d1dCB0b3JuYXIgYSAkaGVhZF9uYW1lIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0NTIKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKLSJJIHdvbmRlciBpZiB5b3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW5vdGhlciByZWJhc2UuICBJZiB0aGF0IGlzIHRoZVxuIgotImNhc2UsIHBsZWFzZSB0cnlcbiIKLSJcdCRjbWRfbGl2ZV9yZWJhc2VcbiIKLSJJZiB0aGF0IGlzIG5vdCB0aGUgY2FzZSwgcGxlYXNlXG4iCi0iXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxuIgotImFuZCBydW4gbWUgYWdhaW4uICBJIGFtIHN0b3BwaW5nIGluIGNhc2UgeW91IHN0aWxsIGhhdmUgc29tZXRoaW5nXG4iCi0idmFsdWFibGUgdGhlcmUuIgotbXNnc3RyICIiCi0iU2VtYmxhIHF1ZSBqYSBoaSBoYSB1biBkaXJlY3RvcmkgJHN0YXRlX2Rpcl9iYXNlLCBpXG4iCi0iZW0gcHJlZ3VudG8gc2kgZXN0ZXUgZW5taWcgZCd1biBhbHRyZSDCq3JlYmFzZcK7LiBTaSBhcXVlc3Qgw6lzIGVsXG4iCi0iY2FzLCBwcm92ZXVcbiIKLSJcdCRjbWRfbGl2ZV9yZWJhc2VcbiIKLSJTaSBubyDDqXMgZWwgY2FzLCBcbiIKLSJcdCRjbWRfY2xlYXJfc3RhbGVfcmViYXNlXG4iCi0iaSBleGVjdXRldS1tZSBkZSBub3UuIE0nYXR1cm8gcGVyIHNpIGVuY2FyYSBoaSB0ZW5pdSBhbGd1bmEgY29zYVxuIgotImRlIHZhbG9yLiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTE3Ci1tc2dpZCAiZXJyb3I6IGNhbm5vdCBjb21iaW5lICctLXNpZ25vZmYnIHdpdGggJy0tcHJlc2VydmUtbWVyZ2VzJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1NjIKLSMsIGZ1enp5LCBzaC1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICckdXBzdHJlYW1fbmFtZSciCi1tc2dzdHIgImZvbnQgbm8gdsOgbGlkYSAkdXBzdHJlYW1fbmFtZSIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTg2Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKLW1zZ3N0ciAiJG9udG9fbmFtZTogamEgaGkgaGEgbcOpcyBkJ3VuYSBiYXNlIGRlIGZ1c2nDsyIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTg5IGdpdC1sZWdhY3ktcmViYXNlLnNoOjU5MwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKLW1zZ3N0ciAiJG9udG9fbmFtZTogbm8gaGkgaGEgY2FwIGJhc2UgZGUgZnVzacOzIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1OTgKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0OiAkb250b19uYW1lIgotbXNnc3RyICJObyBhc3NlbnlhbGEgdW5hIGNvbWlzc2nDsyB2w6BsaWRhOiAkb250b19uYW1lIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2MjQKLSMsIGZ1enp5LCBzaC1mb3JtYXQKLW1zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2gvY29tbWl0ICckYnJhbmNoX25hbWUnIgotbXNnc3RyICJmYXRhbDogbm8gaGkgaGEgdGFsIGJyYW5jYTogJGJyYW5jaF9uYW1lIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2NjIKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgotbXNnc3RyICJTJ2hhIGNyZWF0IHVuIG1hZ2F0emVtIGF1dG9tw6B0aWM6ICRzdGFzaF9hYmJyZXYiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjY5MQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUuIgotbXNnc3RyICJMYSBicmFuY2EgYWN0dWFsICRicmFuY2hfbmFtZSBlc3TDoCBhbCBkaWEuIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MDEKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKLW1zZ3N0ciAiTGEgYnJhbmNhIGFjdHVhbCAkYnJhbmNoX25hbWUgZXN0w6AgYWwgZGlhOyDCq3JlYmFzZcK7IGZvcsOnYXQuIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MTMKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNoYW5nZXMgZnJvbSAkbWIgdG8gJG9udG86IgotbXNnc3RyICJDYW52aXMgZGUgJG1iIGEgJG9udG86IgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MjIKLW1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCi1tc2dzdHIgIiIKLSJQcmltZXIsIHMnZXN0w6AgcmVib2JpbmFudCBIRUFEIHBlciBhIHJlcHJvZHVpciBlbCB2b3N0cmUgdHJlYmFsbCBhbCBkYW11bnQuLi4iCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjczMgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFzdC1mb3J3YXJkZWQgJGJyYW5jaF9uYW1lIHRvICRvbnRvX25hbWUuIgotbXNnc3RyICJTJ2hhIGF2YW7Dp2F0ICRicmFuY2hfbmFtZSByw6BwaWRhbWVudCBhICRvbnRvX25hbWUuIgotCi0jOiBnaXQtc3Rhc2guc2g6NjEKLW1zZ2lkICJnaXQgc3Rhc2ggY2xlYXIgd2l0aCBwYXJhbWV0ZXJzIGlzIHVuaW1wbGVtZW50ZWQiCi1tc2dzdHIgImdpdCBzdGFzaCBjbGVhciBhbWIgcGFyw6BtZXRyZXMgbm8gZXN0w6AgaW1wbGVtZW50YXQiCi0KLSM6IGdpdC1zdGFzaC5zaDoxMDgKLW1zZ2lkICJZb3UgZG8gbm90IGhhdmUgdGhlIGluaXRpYWwgY29tbWl0IHlldCIKLW1zZ3N0ciAiRW5jYXJhIG5vIHRlbml1IGxhIGNvbWlzc2nDsyBpbmljaWFsIgotCi0jOiBnaXQtc3Rhc2guc2g6MTIzCi1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCi1tc2dzdHIgIk5vIGVzIHBvdCBkZXNhciBsJ2VzdGF0IGQnw61uZGV4IGFjdHVhbCIKLQotIzogZ2l0LXN0YXNoLnNoOjEzOAotbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSB1bnRyYWNrZWQgZmlsZXMiCi1tc2dzdHIgIk5vIGVzIHBvZGVuIGRlc2FyIGVscyBmaXR4ZXJzIG5vIHNlZ3VpdHMiCi0KLSM6IGdpdC1zdGFzaC5zaDoxNTggZ2l0LXN0YXNoLnNoOjE3MQotbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHdvcmt0cmVlIHN0YXRlIgotbXNnc3RyICJObyBlcyBwb3QgZGVzYXIgbCdlc3RhdCBkJ2FyYnJlIGRlIHRyZWJhbGwgYWN0dWFsIgotCi0jOiBnaXQtc3Rhc2guc2g6MTc1Ci1tc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKLW1zZ3N0ciAiTm8gaGkgaGEgY2FudmlzIHNlbGVjY2lvbmF0cyIKLQotIzogZ2l0LXN0YXNoLnNoOjE3OAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMjEKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHRlbXBvcmFyeSBpbmRleCAoY2FuJ3QgaGFwcGVuKSIKIG1zZ3N0ciAiTm8gZXMgcG90IGVsaW1pbmFyIGwnw61uZGV4IHRlbXBvcmFsIChhaXjDsiBubyBwb3QgcGFzc2FyKSIKIAotIzogZ2l0LXN0YXNoLnNoOjE5MQotbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgotbXNnc3RyICJObyBlcyBwb3QgcmVnaXN0cmFyIGwnZXN0YXQgZGUgbCdhcmJyZSBkZSB0cmViYWxsIgotCi0jOiBnaXQtc3Rhc2guc2g6MjI5CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjI3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSAkcmVmX3N0YXNoIHdpdGggJHdfY29tbWl0IgogbXNnc3RyICJObyBlcyBwb3QgYWN0dWFsaXR6YXIgJHJlZl9zdGFzaCBhbWIgJHdfY29tbWl0IgogCi0jOiBnaXQtc3Rhc2guc2g6MjgxCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjMyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggcHVzaCc6ICRvcHRpb24iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjI5NQotbXNnaWQgIkNhbid0IHVzZSAtLXBhdGNoIGFuZCAtLWluY2x1ZGUtdW50cmFja2VkIG9yIC0tYWxsIGF0IHRoZSBzYW1lIHRpbWUiCi1tc2dzdHIgIk5vIGVzIHBvZGVuIHVzYXIgLS1wYXRjaCBpIC0taW5jbHVkZS11bnRyYWNrZWQgbyAtLWFsbCBhIGxhIHZlZ2FkYS4iCi0KLSM6IGdpdC1zdGFzaC5zaDozMDMKLW1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCi1tc2dzdHIgIk5vIGhpIGhhIGNhbnZpcyBsb2NhbHMgYSBkZXNhciIKLQotIzogZ2l0LXN0YXNoLnNoOjMwOAotbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgotbXNnc3RyICJObyBlcyBwb3QgaW5pY2lhbGl0emFyIGVsIG1hZ2F0emVtIgotCi0jOiBnaXQtc3Rhc2guc2g6MzEyCi1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgotbXNnc3RyICJObyBlcyBwb3QgZGVzYXIgbCdlc3RhdCBhY3R1YWwiCi0KLSM6IGdpdC1zdGFzaC5zaDozMTMKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzU2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTYXZlZCB3b3JraW5nIGRpcmVjdG9yeSBhbmQgaW5kZXggc3RhdGUgJHN0YXNoX21zZyIKIG1zZ3N0ciAiUydoYW4gZGVzYXQgZWwgZGlyZWN0b3JpIGRlIHRyZWJhbGwgaSBsJ2VzdGF0IGQnw61uZGV4ICRzdGFzaF9tc2ciCiAKLSM6IGdpdC1zdGFzaC5zaDozNDIKLW1zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCi1tc2dzdHIgIk5vIGVzIHBvZGVuIGVsaW1pbmFyIGVscyBjYW52aXMgZGUgbCdhcmJyZSBkZSB0cmViYWxsIgotCi0jOiBnaXQtc3Rhc2guc2g6NDkwCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjUzNgogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICRvcHQiCiBtc2dzdHIgIm9wY2nDsyBkZXNjb25lZ3VkYTogJG9wdCIKIAotIzogZ2l0LXN0YXNoLnNoOjUwMwotbXNnaWQgIk5vIHN0YXNoIGVudHJpZXMgZm91bmQuIgotbXNnc3RyICJObyBzJ2hhIHRyb2JhdCBjYXAgwqtzdGFzaMK7LiIKLQotIzogZ2l0LXN0YXNoLnNoOjUxMAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1NTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCiBtc2dzdHIgIlMnaGFuIGVzcGVjaWZpY2F0IG1hc3NhIHJldmlzaW9uczogJFJFViIKIAotIzogZ2l0LXN0YXNoLnNoOjUyNQorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1NzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNlIG5vIMOpcyB1bmEgcmVmZXLDqG5jaWEgdsOgbGlkYSIKIAotIzogZ2l0LXN0YXNoLnNoOjU1MworIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1OTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCiBtc2dzdHIgIickYXJncycgbm8gw6lzIHVuYSBjb21pc3Npw7MgZGUgdGlwdXMgbWFnYXR6ZW0iCiAKLSM6IGdpdC1zdGFzaC5zaDo1NjQKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjEwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKIG1zZ3N0ciAiJyRhcmdzJyBubyDDqXMgdW5hIHJlZmVyw6huY2lhIGRlIG1hZ2F0emVtIgogCi0jOiBnaXQtc3Rhc2guc2g6NTcyCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYxOAogbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFjdHVhbGl0emFyIGwnw61uZGV4IgogCi0jOiBnaXQtc3Rhc2guc2g6NTc2CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYyMgogbXNnaWQgIkNhbm5vdCBhcHBseSBhIHN0YXNoIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSIKIG1zZ3N0ciAiTm8gZXMgcG90IGFwbGljYXIgdW4gbWFnYXR6ZW0gZW5taWcgZCd1bmEgZnVzacOzIgogCi0jOiBnaXQtc3Rhc2guc2g6NTg0CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYzMAogbXNnaWQgIkNvbmZsaWN0cyBpbiBpbmRleC4gVHJ5IHdpdGhvdXQgLS1pbmRleC4iCiBtc2dzdHIgIkhpIGhhIGNvbmZsaWN0ZXMgZW4gbCfDrW5kZXguIFByb3ZldS1obyBzZW5zZSAtLWluZGV4LiIKIAotIzogZ2l0LXN0YXNoLnNoOjU4NgorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2MzIKIG1zZ2lkICJDb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGRlc2FyIGwnYXJicmUgZCfDrW5kZXgiCiAKLSM6IGdpdC1zdGFzaC5zaDo1OTUKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjQxCiBtc2dpZCAiQ291bGQgbm90IHJlc3RvcmUgdW50cmFja2VkIGZpbGVzIGZyb20gc3Rhc2ggZW50cnkiCiBtc2dzdHIgIk5vIHMnaGFuIHBvZ3V0IHJlc3RhdXJhciBlbHMgZml0eGVycyBubyBzZWd1aXRzIGRlcyBkZWwgwqtzdGFzaMK7IgogCi0jOiBnaXQtc3Rhc2guc2g6NjIwCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjY2NgogbXNnaWQgIkNhbm5vdCB1bnN0YWdlIG1vZGlmaWVkIGZpbGVzIgogbXNnc3RyICJObyBlcyBwb3QgZmVyIMKrdW5zdGFnZcK7IGRlbHMgZml0eGVycyBtb2RpZmljYXRzIgogCi0jOiBnaXQtc3Rhc2guc2g6NjM1Ci1tc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgotbXNnc3RyICJMJ8OtbmRleCBubyBlc3RhdmEgc2Vuc2UgZW1tYWdhdHplbWFyLiIKLQotIzogZ2l0LXN0YXNoLnNoOjY0OQotbXNnaWQgIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgotbXNnc3RyICJFcyBjb25zZXJ2YSBsJ2VudHJhZGEgwqtzdGFzaMK7IGVuIGNhcyBxdWUgbGEgbmVjZXNzaXRldSBhbHRyYSB2ZWdhZGEuIgotCi0jOiBnaXQtc3Rhc2guc2g6NjU4CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjcwNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiRHJvcHBlZCAke1JFVn0gKCRzKSIKIG1zZ3N0ciAiJHtSRVZ9ICgkcykgZGVzY2FydGFkYSIKIAotIzogZ2l0LXN0YXNoLnNoOjY1OQorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo3MDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCiBtc2dzdHIgIiR7UkVWfTogTm8gcydoYSBwb2d1dCBkZXNjYXJ0YXIgbCdlbnRyYWRhIGRlIG1hZ2F0emVtIgogCi0jOiBnaXQtc3Rhc2guc2g6NjY3Ci1tc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgotbXNnc3RyICJDYXAgbm9tIGRlIGJyYW5jYSBlc3BlY2lmaWNhdCIKLQotIzogZ2l0LXN0YXNoLnNoOjc0NgorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo3OTIKIG1zZ2lkICIoVG8gcmVzdG9yZSB0aGVtIHR5cGUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiBtc2dzdHIgIihQZXIgcmVzdGF1cmFyLWxlcyB0ZWNsZWdldSBcImdpdCBzdGFzaCBhcHBseVwiKSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxOTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjAyCiBtc2dpZCAiUmVsYXRpdmUgcGF0aCBjYW4gb25seSBiZSB1c2VkIGZyb20gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIiIKICJFbCBjYW3DrSByZWxhdGl1IG5vbcOpcyBlcyBwb3QgdXNhciBkZXMgZGVsIG5pdmVsbCBzdXBlcmlvciBkZSBsJ2FyYnJlIGRlICIKICJ0cmViYWxsIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIwOAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTIKICMsIHNoLWZvcm1hdAogbXNnaWQgInJlcG8gVVJMOiAnJHJlcG8nIG11c3QgYmUgYWJzb2x1dGUgb3IgYmVnaW4gd2l0aCAuL3wuLi8iCiBtc2dzdHIgIlVSTCBkZSBkaXDDsnNpdDogJyRyZXBvJyBoYSBkZSBzZXIgYWJzb2x1dCBvIGNvbWVuw6dhciBhbWIgLi98Li4vIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIyNworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGluZGV4IgogbXNnc3RyICInJHNtX3BhdGgnIGphIGV4aXN0ZWl4IGVuIGwnw61uZGV4IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzMAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGluZGV4IGFuZCBpcyBub3QgYSBzdWJtb2R1bGUiCiBtc2dzdHIgIickc21fcGF0aCcgamEgZXhpc3RlaXggZW4gbCfDrW5kZXggaSBubyDDqXMgc3VibcOyZHVsIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDEKKyMsIGZ1enp5LCBzaC1mb3JtYXQKK21zZ2lkICInJHNtX3BhdGgnIGRvZXMgbm90IGhhdmUgYSBjb21taXQgY2hlY2tlZCBvdXQiCittc2dzdHIgImVsIGNhbcOtIMKrJXPCuyBubyB0w6kgbGEgc2V2YSB2ZXJzacOzIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjI0NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgcGF0aCBpcyBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCkBAIC0xOTg5MiwyMyArMjMwMjEsMjMgQEAKICIkc21fcGF0aFxuIgogIlVzZXUgLWYgc2kgcmVhbG1lbnQgdm9sZXUgYWZlZ2lyLWxvLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjcwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgZXhpc3RpbmcgcmVwbyBhdCAnJHNtX3BhdGgnIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiUydlc3TDoCBhZmVnaW50IGVsIGRpcMOyc2l0IGV4aXN0ZW50IGEgJyRzbV9wYXRoJyBhIGwnw61uZGV4IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI2MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhIHZhbGlkIGdpdCByZXBvIgogbXNnc3RyICInJHNtX3BhdGgnIGphIGV4aXN0ZWl4IGkgbm8gw6lzIHVuIGRpcMOyc2l0IGRlIGdpdCB2w6BsaWQiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjY5CisjOiBnaXQtc3VibW9kdWxlLnNoOjI4MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQSBnaXQgZGlyZWN0b3J5IGZvciAnJHNtX25hbWUnIGlzIGZvdW5kIGxvY2FsbHkgd2l0aCByZW1vdGUocyk6IgogbXNnc3RyICIiCiAiRXMgdHJvYmEgdW4gZGlyZWN0b3JpIGRlIGdpdCBwZXIgYSAnJHNtX25hbWUnIGxvY2FsbWVudCBhbWIgZWxzIHJlbW90czoiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjcxCisjOiBnaXQtc3VibW9kdWxlLnNoOjI4MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gZnJvbVxuIgpAQCAtMTk5MjUsMzkgKzIzMDU0LDM5IEBACiAibyBubyBlc3RldSBzZWd1ciBkZSBxdcOoIHZvbCBkaXIgYWl4w7IsIHRyaWV1IHVuIGFsdHJlIG5vbSBhbWIgbCdvcGNpw7MgJy0tIgogIm5hbWUnLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Mjg4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWFjdGl2YXRpbmcgbG9jYWwgZ2l0IGRpcmVjdG9yeSBmb3Igc3VibW9kdWxlICckc21fbmFtZScuIgogbXNnc3RyICIiCiAiUydlc3TDoCByZWFjdGl2YW50IGVsIGRpcmVjdG9yaSBkZSBnaXQgbG9jYWwgcGVyIGFsIHN1Ym3DsmR1bCAnJHNtX25hbWUnLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzAwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYWdhZmFyIGVsIHN1Ym3DsmR1bCAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI5NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDozMDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBhZGQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYWZlZ2lyIGVsIHN1Ym3DsmR1bCAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMwMworIzogZ2l0LXN1Ym1vZHVsZS5zaDozMTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiByZWdpc3RyYXIgZWwgc3VibcOyZHVsICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTYzCisjOiBnaXQtc3VibW9kdWxlLnNoOjU4MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIk5vIHMnaGEgcG9ndXQgdHJvYmFyIGxhIHJldmlzacOzIGFjdHVhbCBlbiBlbCBjYW3DrSBkZSBzdWJtw7JkdWwgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTczCisjOiBnaXQtc3VibW9kdWxlLnNoOjU5MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciBlbiBlbCBjYW3DrSBkZSBzdWJtw7JkdWwgJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgpAQCAtMTk5NjYsOTAgKzIzMDk1LDk0IEBACiAiTm8gcydoYSBwb2d1dCB0cm9iYXIgbGEgcmV2aXNpw7MgYWN0dWFsIGRlICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSBlbiBlbCAiCiAiY2Ftw60gZGUgc3VibcOyZHVsICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTk2CisjOiBnaXQtc3VibW9kdWxlLnNoOjYxMwogIywgc2gtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgotbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9idGVuaXIgZW4gZWwgY2Ftw60gZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnIgorbXNnaWQgIiIKKyJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc7IHRyeWluZyB0byBkaXJlY3RseSBmZXRjaCAiCisiJHNoYTE6IgorbXNnc3RyICIiCisiTm8gcydoYSBwb2d1dCBvYnRlbmlyIGVuIGVsIGNhbcOtIGRlIHN1Ym3DsmR1bCDCqyRkaXNwbGF5cGF0aMK7OyBzJ2VzdMOgICIKKyJpbnRlbnRhbnQgb2J0ZW5pciBkaXJlY3RhbWVudCAkc2hhMToiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjAyCisjOiBnaXQtc3VibW9kdWxlLnNoOjYxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkZldGNoZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcsIGJ1dCBpdCBkaWQgbm90IGNvbnRhaW4gJHNoYTEuICIKICJEaXJlY3QgZmV0Y2hpbmcgb2YgdGhhdCBjb21taXQgZmFpbGVkLiIKIG1zZ3N0ciAiIgotIlMnaGEgb2J0aW5ndXQgZW4gZWwgY2Ftw60gZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnLCBwZXLDsiBubyBjb250ZW5pYSAkc2hhMS4gIgorIlMnaGEgb2J0aW5ndXQgZW4gZWwgY2Ftw60gZGUgc3VibcOyZHVsIMKrJGRpc3BsYXlwYXRowrssIHBlcsOyIG5vIGNvbnRlbmlhICRzaGExLiAiCiAiTCdvYnRlbmNpw7MgZGlyZWN0YSBkJ2FxdWVsbGEgY29taXNzacOzIGhhIGZhbGxhdC4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjA5Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKLW1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhZ2FmYXIgJyRzaGExJyBlbiBlbCBjYW3DrSBkZSBzdWJtw7JkdWwgJyRkaXNwbGF5cGF0aCciCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjEwCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogY2hlY2tlZCBvdXQgJyRzaGExJyIKLW1zZ3N0ciAiQ2Ftw60gZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnOiBzJ2hhIGFnYWZhdCAnJHNoYTEnIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYxNAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgotbXNnc3RyICIiCi0iTm8gcydoYSBwb2d1dCBmZXIgwqtyZWJhc2XCuyAnJHNoYTEnIGVuIGVsIGNhbcOtIGRlIHN1Ym3DsmR1bCAnJGRpc3BsYXlwYXRoJyIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiByZWJhc2VkIGludG8gJyRzaGExJyIKLW1zZ3N0ciAiQ2Ftw60gZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnOiBzJ2hhIGZldCDCq3JlYmFzZcK7IGVuICckc2hhMSciCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjIwCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gbWVyZ2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKLW1zZ3N0ciAiTm8gcydoYSBwb2d1dCBmdXNpb25hciAnJHNoYTEnIGVuIGVsIGNhbcOtIGRlIHN1Ym3DsmR1bCAnJGRpc3BsYXlwYXRoJyIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjEKLSMsIHNoLWZvcm1hdAotbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKLW1zZ3N0ciAiQ2Ftw60gZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnOiBzJ2hhIGZ1c2lvbmF0IGVuICckc2hhMSciCi0KICM6IGdpdC1zdWJtb2R1bGUuc2g6NjI2CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCi1tc2dzdHIgIiIKLSJMJ2V4ZWN1Y2nDsyBkZSAnJGNvbW1hbmQgJHNoYTEnIGhhIGZhbGxhdCBlbiBlbCBjYW3DrSBkZSBzdWJtw7JkdWwgIgotIickZGlzcGxheXBhdGgnIgorbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFnYWZhciDCqyRzaGExwrsgZW4gZWwgY2Ftw60gZGUgc3VibcOyZHVsIMKrJGRpc3BsYXlwYXRowrsiCiAKICM6IGdpdC1zdWJtb2R1bGUuc2g6NjI3CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogJyRjb21tYW5kICRzaGExJyIKLW1zZ3N0ciAiQ2Ftw60gZGUgc3VibcOyZHVsICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgorbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBjaGVja2VkIG91dCAnJHNoYTEnIgorbXNnc3RyICJDYW3DrSBkZSBzdWJtw7JkdWwgwqskZGlzcGxheXBhdGjCuzogcydoYSBhZ2FmYXQgwqskc2hhMcK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY1OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byByZWJhc2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiIgorIk5vIHMnaGEgcG9ndXQgZmVyIMKrcmViYXNlwrsgwqskc2hhMcK7JyBlbiBlbCBjYW3DrSBkZSBzdWJtw7JkdWwgwqskZGlzcGxheXBhdGjCuyIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiByZWJhc2VkIGludG8gJyRzaGExJyIKK21zZ3N0ciAiQ2Ftw60gZGUgc3VibcOyZHVsIMKrJGRpc3BsYXlwYXRowrs6IHMnaGEgZmV0IMKrcmViYXNlwrsgZW4gwqskc2hhMcK7IgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzNworIywgc2gtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZnVzaW9uYXIgwqskc2hhMcK7IGVuIGVsIGNhbcOtIGRlIHN1Ym3DsmR1bCDCqyRkaXNwbGF5cGF0aMK7IgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzOAorIywgc2gtZm9ybWF0Cittc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IG1lcmdlZCBpbiAnJHNoYTEnIgorbXNnc3RyICJDYW3DrSBkZSBzdWJtw7JkdWwgwqskZGlzcGxheXBhdGjCuzogcydoYSBmdXNpb25hdCBlbiDCqyRzaGExwrsiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjQzCisjLCBzaC1mb3JtYXQKK21zZ2lkICJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIiIKKyJMJ2V4ZWN1Y2nDsyBkZSDCqyRjb21tYW5kICRzaGExwrsgaGEgZmFsbGF0IGVuIGVsIGNhbcOtIGRlIHN1Ym3DsmR1bCAiCisiwqskZGlzcGxheXBhdGjCuyIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NDQKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgorbXNnc3RyICJDYW3DrSBkZSBzdWJtw7JkdWwgwqskZGlzcGxheXBhdGjCuzogwqskY29tbWFuZCAkc2hhMcK7IgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjY3NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gcmVjb3JyZSByZWN1cnNpdmFtZW50IGRpbnMgZGVsIGNhbcOtIGRlIHN1Ym3DsmR1bCAiCi0iJyRkaXNwbGF5cGF0aCciCisiwqskZGlzcGxheXBhdGjCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3NTQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODg2CiBtc2dpZCAiVGhlIC0tY2FjaGVkIG9wdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoZSAtLWZpbGVzIG9wdGlvbiIKIG1zZ3N0ciAiTCdvcGNpw7MgLS1jYWNoZWQgbm8gZXMgcG90IHVzYXIgYW1iIGwnb3BjacOzIC0tZmlsZXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODA2CisjOiBnaXQtc3VibW9kdWxlLnNoOjkzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBtb2RlICRtb2RfZHN0IgogbXNnc3RyICJtb2RlIGluZXNwZXJhdCAkbW9kX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTU4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCiBtc2dzdHIgIiAgQXbDrXM6ICRkaXNwbGF5X25hbWUgbm8gY29udMOpIGxhIGNvbWlzc2nDsyAkc2hhMV9zcmMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODI5CisjOiBnaXQtc3VibW9kdWxlLnNoOjk2MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfZHN0IgogbXNnc3RyICIgIEF2w61zOiAkZGlzcGxheV9uYW1lIG5vIGNvbnTDqSBsYSBjb21pc3Npw7MgJHNoYTFfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgzMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5NjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0cyAkc2hhMV9zcmMgYW5kICRzaGExX2RzdCIKIG1zZ3N0ciAiICBBdsOtczogJGRpc3BsYXlfbmFtZSBubyBjb250w6kgbGVzIGNvbWlzc2lvbnMgJHNoYTFfc3JjIGkgJHNoYTFfZHN0IgpAQCAtMjAwNTksMTIgKzIzMTkyLDIxIEBACiBtc2dpZCAiU2VlIGdpdC0ke2NtZH0oMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICJWZWdldSBnaXQtJHtjbWR9KDEpIHBlciBkZXRhbGxzLiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjEzNgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjEwOQorbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKK21zZ3N0ciAiUydoYSBhcGxpY2F0IGwnwqthdXRvc3Rhc2jCuy4iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMTIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBzdG9yZSAkc3Rhc2hfc2hhMSIKK21zZ3N0ciAiTm8gZXMgcG90IGVtbWFnYXR6ZW1hciAkc3Rhc2hfc2hhMSIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjE5MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmViYXNpbmcgKCRuZXdfY291bnQvJHRvdGFsKSIKIG1zZ3N0ciAiUydlc3TDoCBmZW50IMKrcmViYXNlwrsgKCRuZXdfY291bnQvJHRvdGFsKSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjE1MgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjIwNwogIywgZnV6enkKIG1zZ2lkICIiCiAiXG4iCkBAIC0yMDA4NywxMSArMjMyMjksMTEgQEAKIG1zZ3N0ciAiIgogIlxuIgogIk9yZHJlczpcbiIKLSIgcCwgcGljayA9IHVzYSBsYSBjb21pc3Npw7NcbiIKLSIgciwgcmV3b3JkID0gdXNhIGxhIGNvbWlzc2nDsywgcGVyw7IgZWRpdGEgZWwgbWlzc2F0Z2UgZGUgY29taXNzacOzXG4iCi0iIGUsIGVkaXQgPSB1c2EgbGEgY29taXNzacOzLCBwZXLDsiBhdHVyYSd0IHBlciBhIGVzbWVuYXJcbiIKLSIgcywgc3F1YXNoID0gdXNhIGxhIGNvbWlzc2nDsywgcGVyw7IgZnVzaW9uYSdsIGEgbGEgY29taXNzacOzIHByw6h2aWFcbiIKLSIgZiwgZml4dXAgPSBjb20gXCJzcXVhc2hcIiwgcGVyw7IgZGVzY2FydGEgZWwgbWlzc2F0Z2UgZGUgcmVnaXN0cmUgZCdhcXVlc3RhICIKKyIgcCwgcGljayA8Y29taXNzacOzPiA9IHVzYSBsYSBjb21pc3Npw7NcbiIKKyIgciwgcmV3b3JkIDxjb21pc3Npw7M+ID0gdXNhIGxhIGNvbWlzc2nDsywgcGVyw7IgZWRpdGEgZWwgbWlzc2F0Z2UgZGUgY29taXNzacOzXG4iCisiIGUsIGVkaXQgPGNvbWlzc2nDsz4gPSB1c2EgbGEgY29taXNzacOzLCBwZXLDsiBhdHVyYSd0IHBlciBhIGVzbWVuYXJcbiIKKyIgcywgc3F1YXNoIDxjb21pc3Npw7M+ID0gdXNhIGxhIGNvbWlzc2nDsywgcGVyw7IgZnVzaW9uYSdsIGEgbGEgY29taXNzacOzIHByw6h2aWFcbiIKKyIgZiwgZml4dXAgPGNvbWlzc2nDsz4gPSBjb20gXCJzcXVhc2hcIiwgcGVyw7IgZGVzY2FydGEgZWwgbWlzc2F0Z2UgZGUgcmVnaXN0cmUgZCdhcXVlc3RhICIKICJjb21pc3Npw7NcbiIKICIgeCwgZXhlYyA9IGV4ZWN1dGEgbCdvcmRyZSAobGEgcmVzdGEgZGUgbGEgbMOtbmlhKSB1c2FudCBsJ2ludMOocnByZXQgIgogImQnb3JkcmVzXG4iCkBAIC0yMDA5OSw3ICsyMzI0MSw3IEBACiAiXG4iCiAiRXMgcG90IGNhbnZpYXIgbCdvcmRyZSBkJ2FxdWVzdGVzIGzDrW5pZXM7IHMnZXhlY3V0ZW4gZGUgZGFsdCBhIGJhaXguXG4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMTUKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyNzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgY2FuIGFtZW5kIHRoZSBjb21taXQgbm93LCB3aXRoXG4iCkBAIC0yMDExOCw4MyArMjMyNjAsODMgQEAKICJcbiIKICJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjI0MAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjI5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHNoYTE6IG5vdCBhIGNvbW1pdCB0aGF0IGNhbiBiZSBwaWNrZWQiCiBtc2dzdHIgIiRzaGExOiBubyDDqXMgdW5hIGNvbWlzc2nDsyBxdWUgZXMgcHVndWkgZXNjb2xsaXIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyNzkKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozMzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkludmFsaWQgY29tbWl0IG5hbWU6ICRzaGExIgogbXNnc3RyICJOb20gZGUgY29taXNzacOzIG5vIHbDoGxpZDogJHNoYTEiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozMDkKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozNjQKIG1zZ2lkICJDYW5ub3Qgd3JpdGUgY3VycmVudCBjb21taXQncyByZXBsYWNlbWVudCBzaGExIgogbXNnc3RyICJObyBlcyBwb3QgZXNjcml1cmUgZWwgc2hhMSByZWVtcGxhw6dhbnQgZGUgbGEgY29taXNzacOzIGFjdHVhbCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM2MAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQxNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkIHRvICRzaGExIgogbXNnc3RyICJBdmFuw6cgcsOgcGlkIGEgJHNoYTEiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozNjIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBmYXN0LWZvcndhcmQgdG8gJHNoYTEiCiBtc2dzdHIgIk5vIGVzIHBvdCBhdmFuw6dhciByw6BwaWRhbWVudCBhICRzaGExIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzcxCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDI2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgbW92ZSBIRUFEIHRvICRmaXJzdF9wYXJlbnQiCiBtc2dzdHIgIk5vIGVzIHBvdCBtb3VyZSBIRUFEIGEgJGZpcnN0X3BhcmVudCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM3NgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQzMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gc3F1YXNoIGEgbWVyZ2U6ICRzaGExIgogbXNnc3RyICJTJ2VzdMOgIHJlZnVzYW50IGZlciDCq3NxdWFzaMK7IGEgdW5hIGZ1c2nDszogJHNoYTEiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozOTQKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIkVycm9yIHJlZG9pbmcgbWVyZ2UgJHNoYTEiCiBtc2dzdHIgIkVycm9yIGVuIHJlZmVyIGxhIGZ1c2nDsyAkc2hhMSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQwMworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ1OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBpY2sgJHNoYTEiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjb2xsaXIgJHNoYTEiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgdGhlIGNvbW1pdCBtZXNzYWdlICMke259OiIKIG1zZ3N0ciAiQXF1ZXN0IMOpcyBlbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MgbsO6bS4gJHtufToiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJHtufSB3aWxsIGJlIHNraXBwZWQ6IgogbXNnc3RyICJFbCBtaXNzYXRnZSBkZSBjb21pc3Npw7MgbsO6bS4gJHtufSBzJ29tZXRyw6A6IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDI4CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDgzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJGNvdW50IGNvbW1pdC4iCiBtc2dpZF9wbHVyYWwgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0cy4iCiBtc2dzdHJbMF0gIkFpeMOyIMOpcyB1bmEgY29tYmluYWNpw7MgZGUgJGNvdW50IGNvbWlzc2nDsy4iCiBtc2dzdHJbMV0gIkFpeMOyIMOpcyB1bmEgY29tYmluYWNpw7MgZGUgJGNvdW50IGNvbWlzc2lvbnMuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDM3CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDkyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgd3JpdGUgJGZpeHVwX21zZyIKIG1zZ3N0ciAiTm8gZXMgcG90IGVzY3JpdXJlICRmaXh1cF9tc2ciCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NDAKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0OTUKIG1zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgMiBjb21taXRzLiIKIG1zZ3N0ciAiQWl4w7Igw6lzIHVuYSBjb21iaW5hY2nDsyBkZSAyIGNvbWlzc2lvbnMuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDgxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MjQKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MjcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MzYgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU3OQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU4MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICRzaGExLi4uICRyZXN0IgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFwbGljYXIgJHNoYTEuLi4gJHJlc3QiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1NTYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2MTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgYW1lbmQgY29tbWl0IGFmdGVyIHN1Y2Nlc3NmdWxseSBwaWNraW5nICRzaGExLi4uICRyZXN0XG4iCkBAIC0yMDIxMCwzMSArMjMzNTIsMzEgQEAKICJuZWNlc3NpdGV1IHJlc29sZHJlIGVsIHByb2JsZW1hIGFiYW5zIHF1ZSBwdWd1ZXUgY2FudmlhciBlbCBtaXNzYXRnZSBkZVxuIgogImNvbWlzc2nDsy4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1NzEKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2MjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQgYXQgJHNoYTFfYWJicmV2Li4uICRyZXN0IgogbXNnc3RyICJTJ2hhIGF0dXJhdCBhICRzaGExX2FiYnJldi4uLiAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU4NgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY0MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90ICckc3F1YXNoX3N0eWxlJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICJObyBlcyBwb3QgJyRzcXVhc2hfc3R5bGUnIHNlbnNlIHVuYSBjb21pc3Npw7MgcHLDqHZpYSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYyOAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY4MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRXhlY3V0aW5nOiAkcmVzdCIKIG1zZ3N0ciAiUydlc3TDoCBleGVjdXRhbnQ6ICRyZXN0IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjM2CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjkxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpb24gZmFpbGVkOiAkcmVzdCIKIG1zZ3N0ciAiTCdleGVjdWNpw7MgaGEgZmFsbGF0OiAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYzOAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY5MwogbXNnaWQgImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICJpIGhhIGZldCBjYW52aXMgYSBsJ8OtbmRleCBvIGwnYXJicmUgZGUgdHJlYmFsbCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY0MAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY5NQogbXNnaWQgIiIKICJZb3UgY2FuIGZpeCB0aGUgcHJvYmxlbSwgYW5kIHRoZW4gcnVuXG4iCiAiXG4iCkBAIC0yMDI0NSw3ICsyMzM4Nyw3IEBACiAiXHRnaXQgcmViYXNlIC0tY29udGludWUiCiAKICMuIFRSQU5TTEFUT1JTOiBhZnRlciB0aGVzZSBsaW5lcyBpcyBhIGNvbW1hbmQgdG8gYmUgaXNzdWVkIGJ5IHRoZSB1c2VyCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjUzCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzA4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiRXhlY3V0aW9uIHN1Y2NlZWRlZDogJHJlc3RcbiIKQEAgLTIwMjYwLDI1ICsyMzQwMiwyNSBAQAogIlxuIgogIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjY0CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICRjb21tYW5kICRzaGExICRyZXN0IgogbXNnc3RyICJPcmRyZSBkZXNjb25lZ3VkYTogJGNvbW1hbmQgJHNoYTEgJHJlc3QiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NjUKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MjAKIG1zZ2lkICJQbGVhc2UgZml4IHRoaXMgdXNpbmcgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKIG1zZ3N0ciAiQ29ycmVnaXUtaG8gdXNhbnQgwqtnaXQgcmViYXNlIC0tZWRpdC10b2RvwrsuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzAwCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzU1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWNjZXNzZnVsbHkgcmViYXNlZCBhbmQgdXBkYXRlZCAkaGVhZF9uYW1lLiIKIG1zZ3N0ciAiUydoYSBmZXQgwqtyZWJhc2XCuyBpIGFjdHVhbGl0emF0ICRoZWFkX25hbWUgYW1iIMOoeGl0LiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc1NworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgxMgogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBlbGltaW5hciBDSEVSUllfUElDS19IRUFEIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzYyCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODE3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuXG4iCkBAIC0yMDMwOSwxMyArMjM0NTEsMTMgQEAKICJcbiIKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Nzc5CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODM0CiBtc2dpZCAiRXJyb3IgdHJ5aW5nIHRvIGZpbmQgdGhlIGF1dGhvciBpZGVudGl0eSB0byBhbWVuZCBjb21taXQiCiBtc2dzdHIgIiIKICJIaSBoYSBoYWd1dCB1biBlcnJvciBlbiBpbnRlbnRhciB0cm9iYXIgbGEgaWRlbnRpdGF0IGQnYXV0b3IgcGVyIGEgZXNtZW5hciAiCiAibGEgY29taXNzacOzIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Nzg0CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODM5CiBtc2dpZCAiIgogIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSBjb21taXQgdGhlbVxuIgogImZpcnN0IGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBhZ2Fpbi4iCkBAIC0yMDMyMyw0MCArMjM0NjUsNDAgQEAKICJUZW5pdSBjYW52aXMgbm8gY29tZXNvcyBlbiBlbCB2b3N0cmUgYXJicmUgZGUgdHJlYmFsbC4gXG4iCiAiUHJpbWVyIGNvbWV0ZXUtbG9zIGkgZGVzcHLDqXMgZXhlY3V0ZXUgwqtnaXQgcmViYXNlIC0tY29udGludWXCuyBkZSBub3UuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Nzg5IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3OTMKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NDQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg0OAogbXNnaWQgIkNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJObyBzJ2hhbiBwb2d1dCBjb21ldHJlIGVscyBjYW52aXMgwqtzdGFnZWTCuy4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MjQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkxMAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg3OSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTY1CiBtc2dpZCAiQ291bGQgbm90IGV4ZWN1dGUgZWRpdG9yIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGwnZWRpdG9yIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODQ1CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTAwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY2hlY2tvdXQgJHN3aXRjaF90byIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhZ2FmYXIgJHN3aXRjaF90byIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg1MgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkwNwogbXNnaWQgIk5vIEhFQUQ/IgogbXNnc3RyICJObyBoaSBoYSBjYXAgSEVBRD8iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NTMKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MDgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICRzdGF0ZV9kaXIiCiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgY3JlYXIgZWwgJHN0YXRlX2RpciB0ZW1wb3JhbCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg1NgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkxMQogbXNnaWQgIkNvdWxkIG5vdCBtYXJrIGFzIGludGVyYWN0aXZlIgogbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG1hcmNhciBjb20gYSBpbnRlcmFjdGl1IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODg4CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTQzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kKSIKIG1zZ2lkX3BsdXJhbCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZHMpIgotbXNnc3RyWzBdICJSZWJhc2EgJHNob3J0cmV2aXNpb25zIHNvYnJlICRzaG9ydG9udG8gKCR0b2RvY291bnQgb3JkcmUpIgotbXNnc3RyWzFdICJSZWJhc2EgJHNob3J0cmV2aXNpb25zIHNvYnJlICRzaG9ydG9udG8gKCR0b2RvY291bnQgb3JkcmVzKSIKK21zZ3N0clswXSAiRmVzIMKrcmViYXNlwrsgJHNob3J0cmV2aXNpb25zIHNvYnJlICRzaG9ydG9udG8gKCR0b2RvY291bnQgb3JkcmUpIgorbXNnc3RyWzFdICJGZXMgwqtyZWJhc2XCuyAkc2hvcnRyZXZpc2lvbnMgc29icmUgJHNob3J0b250byAoJHRvZG9jb3VudCBvcmRyZXMpIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTQyIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NDcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5OTcgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjEwMDIKIG1zZ2lkICJDb3VsZCBub3QgaW5pdCByZXdyaXR0ZW4gY29tbWl0cyIKIG1zZ3N0ciAiTm8gcydoYW4gcG9ndXQgaW5pY2lhciBsZXMgY29taXNzaW9ucyByZWVzY3JpdGVzIgogCkBAIC0yMDM2NSwxMzggKzIzNTA3LDc2IEBACiBtc2dpZCAidXNhZ2U6ICRkYXNobGVzcyAkVVNBR0UiCiBtc2dzdHIgIsO6czogJGRhc2hsZXNzICRVU0FHRSIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjE5MAorIzogZ2l0LXNoLXNldHVwLnNoOjE5MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGNoZGlyIHRvICRjZHVwLCB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogIk5vIGVzIHBvdCBjYW52aWFyIGRlIGRpcmVjdG9yaSBhICRjZHVwLCBlbCBuaXZlbGwgc3VwZXJpb3IgZGUgbCdhcmJyZSBkZSAiCiAidHJlYmFsbCIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjE5OSBnaXQtc2gtc2V0dXAuc2g6MjA2CisjOiBnaXQtc2gtc2V0dXAuc2g6MjAwIGdpdC1zaC1zZXR1cC5zaDoyMDcKICMsIHNoLWZvcm1hdAogbXNnaWQgImZhdGFsOiAkcHJvZ3JhbV9uYW1lIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgYSB3b3JraW5nIHRyZWUuIgogbXNnc3RyICJmYXRhbDogbm8gZXMgcG90IHVzYXIgJHByb2dyYW1fbmFtZSBzZW5zZSB1biBhcmJyZSBkZSB0cmViYWxsLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjIyMAorIzogZ2l0LXNoLXNldHVwLnNoOjIyMQogbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJObyBlcyBwb3QgZmVyIMKrcmViYXNlwrs6IHRlbml1IGNhbnZpcyDCq3Vuc3RhZ2VkwrsuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjIzCisjOiBnaXQtc2gtc2V0dXAuc2g6MjI0CiBtc2dpZCAiQ2Fubm90IHJld3JpdGUgYnJhbmNoZXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJObyBlcyBwb2RlbiByZWVzY3JpdXJlIGJyYW5xdWVzOiBUZW5pdSBjYW52aXMgwqt1bnN0YWdlZMK7LiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjIyNgorIzogZ2l0LXNoLXNldHVwLnNoOjIyNwogbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiTm8gZXMgcG90IGJhaXhhciBmZW50IMKrcmViYXNlwrs6IFRlbml1IGNhbnZpcyDCq3Vuc3RhZ2VkwrsuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjI5CisjOiBnaXQtc2gtc2V0dXAuc2g6MjMwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgJGFjdGlvbjogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIk5vIGVzIHBvdCAkYWN0aW9uOiBUZW5pdSBjYW52aXMgwqt1bnN0YWdlZMK7LiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjI0MgorIzogZ2l0LXNoLXNldHVwLnNoOjI0MwogbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIk5vIGVzIHBvdCBmZXIgwqtyZWJhc2XCuzogRWwgdm9zdHJlIMOtbmRleCBjb250w6kgY2FudmlzIHNlbnNlIGNvbWV0cmUuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjQ1CisjOiBnaXQtc2gtc2V0dXAuc2g6MjQ2CiBtc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKICJObyBlcyBwb3QgYmFpeGFyIGZlbnQgwqtyZWJhc2XCuzogRWwgdm9zdHJlIMOtbmRleCBjb250w6kgY2FudmlzIHNlbnNlIGNvbWV0cmUuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjQ4CisjOiBnaXQtc2gtc2V0dXAuc2g6MjQ5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgJGFjdGlvbjogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiTm8gZXMgcG90ICRhY3Rpb246IEVsIHZvc3RyZSDDrW5kZXggY29udMOpIGNhbnZpcyBzZW5zZSBjb21ldHJlLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjI1MgorIzogZ2l0LXNoLXNldHVwLnNoOjI1MwogbXNnaWQgIkFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiQWRkaWNpb25hbG1lbnQsIGVsIHZvc3RyZSDDrW5kZXggY29udMOpIGNhbnZpcyBzZW5zZSBjb21ldHJlLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjM3MgorIzogZ2l0LXNoLXNldHVwLnNoOjM3MwogbXNnaWQgIllvdSBuZWVkIHRvIHJ1biB0aGlzIGNvbW1hbmQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZS4iCiBtc2dzdHIgIiIKICJIZXUgZCdleGVjdXRhciBhcXVlc3RhIG9yZHJlIGRlcyBkZWwgbml2ZWxsIHN1cGVyaW9yIGRlIGwnYXJicmUgZGUgdHJlYmFsbC4iCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDozNzcKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzgKIG1zZ2lkICJVbmFibGUgdG8gZGV0ZXJtaW5lIGFic29sdXRlIHBhdGggb2YgZ2l0IGRpcmVjdG9yeSIKIG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBkZXRlcm1pbmFyIGVsIGNhbcOtIGFic29sdXQgZGVsIGRpcmVjdG9yaSBkZSBnaXQiCiAKICMuIFRSQU5TTEFUT1JTOiB5b3UgY2FuIGFkanVzdCB0aGlzIHRvIGFsaWduICJnaXQgYWRkIC1pIiBzdGF0dXMgbWVudQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjEyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiUxMnMgJTEycyAlcyIKIG1zZ3N0ciAiJTEycyAlMTJzICVzIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwotbXNnaWQgInN0YWdlZCIKLW1zZ3N0ciAic3RhZ2VkIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwotbXNnaWQgInVuc3RhZ2VkIgotbXNnc3RyICJ1bnN0YWdlZCIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNzgKLW1zZ2lkICJiaW5hcnkiCi1tc2dzdHIgImJpbmFyaSIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNjIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMTYKLW1zZ2lkICJub3RoaW5nIgotbXNnc3RyICJyZXMiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Mjk4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzEzCi1tc2dpZCAidW5jaGFuZ2VkIgotbXNnc3RyICJzZW5zZSBjYW52aXMiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjA5Ci0jLCBwZXJsLWZvcm1hdAotbXNnaWQgImFkZGVkICVkIHBhdGhcbiIKLW1zZ2lkX3BsdXJhbCAiYWRkZWQgJWQgcGF0aHNcbiIKLW1zZ3N0clswXSAiYWZlZ2l0ICVkIGNhbcOtXG4iCi1tc2dzdHJbMV0gImFmZWdpdHMgJWQgY2FtaW5zXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjEyCi0jLCBwZXJsLWZvcm1hdAotbXNnaWQgInVwZGF0ZWQgJWQgcGF0aFxuIgotbXNnaWRfcGx1cmFsICJ1cGRhdGVkICVkIHBhdGhzXG4iCi1tc2dzdHJbMF0gImFjdHVhbGl0emF0ICVkIGNhbcOtXG4iCi1tc2dzdHJbMV0gImFjdHVhbGl0emF0cyAlZCBjYW1pbnNcbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MTUKLSMsIHBlcmwtZm9ybWF0Ci1tc2dpZCAicmV2ZXJ0ZWQgJWQgcGF0aFxuIgotbXNnaWRfcGx1cmFsICJyZXZlcnRlZCAlZCBwYXRoc1xuIgotbXNnc3RyWzBdICJyZXZlcnRpdCAlZCBjYW3DrVxuIgotbXNnc3RyWzFdICJyZXZlcnRpdHMgJWQgY2FtaW5zXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjE4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYzNAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ0b3VjaGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAidG91Y2hlZCAlZCBwYXRoc1xuIgogbXNnc3RyWzBdICJtb2RpZmljYXQgJWQgY2Ftw61cbiIKIG1zZ3N0clsxXSAibW9kaWZpY2F0ICVkIGNhbWluc1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYyNwotbXNnaWQgIlVwZGF0ZSIKLW1zZ3N0ciAiQWN0dWFsaXR6YSIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzkKLW1zZ2lkICJSZXZlcnQiCi1tc2dzdHIgIlJldmVydGVpeCIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NjIKLSMsIHBlcmwtZm9ybWF0Ci1tc2dpZCAibm90ZTogJXMgaXMgdW50cmFja2VkIG5vdy5cbiIKLW1zZ3N0ciAibm90YTogJXMgZXN0w6AgYXJhIHNlbnNlIHNlZ3VpbWVudC5cbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzMKLW1zZ2lkICJBZGQgdW50cmFja2VkIgotbXNnc3RyICJBZmVnZWl4IHNlbnNlIHNlZ3VpbWVudCIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzkKLW1zZ2lkICJObyB1bnRyYWNrZWQgZmlsZXMuXG4iCi1tc2dzdHIgIlNlbnNlIGZpdHhlcnMgbm8gc2VndWl0cy5cbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDMzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTMKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHN0YWdpbmcuIgpAQCAtMjA1MDQsNyArMjM1ODQsNyBAQAogIlNpIGVsIHBlZGHDpyBzJ2FwbGljYSBjb3JyZWN0YW1lbnQsIGVsIHRyb3MgZWRpdGF0IGVzIG1hcmNhcsOgIGltbWVkaWF0YW1lbnRcbiIKICJwZXIgwqtzdGFnaW5nwrsuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMzYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1NgogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3Igc3Rhc2hpbmcuIgpAQCAtMjA1MTIsNyArMjM1OTIsNyBAQAogIlNpIGVsIHBlZGHDpyBzJ2FwbGljYSBjb3JyZWN0YW1lbnQsIGVsIHRyb3MgZWRpdGF0IGVzIG1hcmNhcsOgIGltbWVkaWF0YW1lbnRcbiIKICJwZXIgwqtzdGFzaGluZ8K7LiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDM5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTkKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHVuc3RhZ2luZy4iCkBAIC0yMDUyMCw3ICsyMzYwMCw4IEBACiAiU2kgZWwgcGVkYcOnIHMnYXBsaWNhIGNvcnJlY3RhbWVudCwgZWwgdHJvcyBlZGl0YXQgZXMgbWFyY2Fyw6AgaW1tZWRpYXRhbWVudFxuIgogInBlciDCq3Vuc3RhZ2luZ8K7LiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDYyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA3MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDc3CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBhcHBseWluZy4iCkBAIC0yMDUyOCw3ICsyMzYwOSw4IEBACiAiU2kgZWwgcGVkYcOnIHMnYXBsaWNhIGNvcnJlY3RhbWVudCwgZWwgdHJvcyBlZGl0YXQgZXMgbWFyY2Fyw6AgaW1tZWRpYXRhbWVudFxuIgogInBlciBhcGxpY2FyLXNlLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQ1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA2OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDc0CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBkaXNjYXJkaW5nLiIKQEAgLTIwNTM2LDE3ICsyMzYxOCwxMiBAQAogIlNpIGVsIHBlZGHDpyBzJ2FwbGljYSBjb3JyZWN0YW1lbnQsIGVsIHRyb3MgZWRpdGF0IGVzIG1hcmNhcsOgIGltbWVkaWF0YW1lbnRcbiIKICJwZXIgZGVzY2FydGFyLXNlLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDg1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHdyaXRpbmc6ICVzIgogbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGVzY3JpdXJlIGFsIGZpdHhlciBkJ2VkaWNpw7MgZGVsIHRyb3M6ICVzIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwODYKLW1zZ2lkICJNYW51YWwgaHVuayBlZGl0IG1vZGUgLS0gc2VlIGJvdHRvbSBmb3IgYSBxdWljayBndWlkZS5cbiIKLW1zZ3N0ciAiIgotIk1vZGUgZCdlZGljacOzIGRlIHRyb3Nzb3MgbWFudWFsIC0gdmVnZXUgbcOpcyBhdmFsbCBwZXIgdW5hIGd1aWEgcsOgcGlkYS5cbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDkyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIi0tLVxuIgpAQCAtMjA1NTksMzcgKzIzNjM2LDEyIEBACiAiUGVyIHN1cHJpbWlyIMKrJXPCuyBsw61uaWVzLCBzdXByaW1pdS1sZXMuXG4iCiAiTGVzIGzDrW5pZXMgcXVlIGNvbWVuY2luIHBlciAlcyBzZXJhbiBzdXByaW1pZGVzLlxuIgogCi0jLiBUUkFOU0xBVE9SUzogJ2l0JyByZWZlcnMgdG8gdGhlIHBhdGNoIG1lbnRpb25lZCBpbiB0aGUgcHJldmlvdXMgbWVzc2FnZXMuCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMDAKLW1zZ2lkICIiCi0iSWYgaXQgZG9lcyBub3QgYXBwbHkgY2xlYW5seSwgeW91IHdpbGwgYmUgZ2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG9cbiIKLSJlZGl0IGFnYWluLiAgSWYgYWxsIGxpbmVzIG9mIHRoZSBodW5rIGFyZSByZW1vdmVkLCB0aGVuIHRoZSBlZGl0IGlzXG4iCi0iYWJvcnRlZCBhbmQgdGhlIGh1bmsgaXMgbGVmdCB1bmNoYW5nZWQuXG4iCi1tc2dzdHIgIiIKLSJTaSBubyBzJ2FwbGljYSBjb3JyZWN0YW1lbnQsIHRpbmRyZXUgdW5hIG9wb3J0dW5pdGF0IHBlciBlZGl0YXItbG9cbiIKLSJkZSBub3UuIFNpIHRvdGVzIGxlcyBsw61uaWVzIGRlbCB0cm9zIHNlIHN1cHJpbWVpeGVuLCBsbGF2b3JzIGwnZWRpY2nDsyAiCi0icydhdm9ydGFcbiIKLSJpIGVsIHRyb3MgZXMgZGVpeGEgc2Vuc2UgY2FwIGNhbnZpLlxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE0MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBodW5rIGVkaXQgZmlsZSBmb3IgcmVhZGluZzogJXMiCiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbGxlZ2lyIGFsIGZpdHhlciBkJ2VkaWNpw7MgZGVsIHRyb3M6ICVzIgogCi0jLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSBbeS9uXQotIy4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCB0aGF0IGlucHV0Ci0jLiBhdCB0aGlzIHBvaW50LgotIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKLSMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCi0jLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIxMwotbXNnaWQgIiIKLSJZb3VyIGVkaXRlZCBodW5rIGRvZXMgbm90IGFwcGx5LiBFZGl0IGFnYWluIChzYXlpbmcgXCJub1wiIGRpc2NhcmRzISkgW3kvbl0/ICIKLW1zZ3N0ciAiIgotIkVsIHRyb3MgZWRpdGF0IG5vIHMnYXBsaWNhLiBFZGl0ZXUtbG8gZGUgbm91IChzaSByZXNwb25ldSBcIm5vXCIgZXMgIgotImRlc2NhcnRhcsOgKSBbeS9uXT8gIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI0OAogbXNnaWQgIiIKICJ5IC0gc3RhZ2UgdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmtcbiIKQEAgLTIwNjAzLDcgKzIzNjU1LDcgQEAKICJhIC0gZmVzIMKrc3RhZ2XCuyBkJ2FxdWVzdCB0cm9zIGkgdG90YSBsYSByZXN0YSBkZSB0cm9zc29zIGRlbCBmaXR4ZXJcbiIKICJkIC0gbm8gZmFjaXMgwqtzdGFnZcK7IGQnYXF1ZXN0IHRyb3MgbyBkZSBjYXAgYWx0cmUgcmVzdGFudCBkZWwgZml0eGVyIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI1NAogbXNnaWQgIiIKICJ5IC0gc3Rhc2ggdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCBzdGFzaCB0aGlzIGh1bmtcbiIKQEAgLTIwNjE3LDcgKzIzNjY5LDcgQEAKICJhIC0gZmVzIMKrc3Rhc2jCuyBkJ2FxdWVzdCB0cm9zIGkgdG90YSBsYSByZXN0YSBkZSB0cm9zc29zIGRlbCBmaXR4ZXJcbiIKICJkIC0gbm8gZmFjaXMgwqtzdGFzaMK7IGQnYXF1ZXN0IHRyb3MgbyBkZSBjYXAgYWx0cmUgcmVzdGFudCBkZWwgZml0eGVyIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMzQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI2MAogbXNnaWQgIiIKICJ5IC0gdW5zdGFnZSB0aGlzIGh1bmtcbiIKICJuIC0gZG8gbm90IHVuc3RhZ2UgdGhpcyBodW5rXG4iCkBAIC0yMDYzMSw3ICsyMzY4Myw3IEBACiAiYSAtIGZlcyDCq3Vuc3RhZ2XCuyBkJ2FxdWVzdCB0cm9zIGkgdG90YSBsYSByZXN0YSBkZSB0cm9zc29zIGRlbCBmaXR4ZXJcbiIKICJkIC0gbm8gZmFjaXMgwqt1bnN0YWdlwrsgZCdhcXVlc3QgdHJvcyBvIGRlIGNhcCBhbHRyZSByZXN0YW50IGRlbCBmaXR4ZXIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI0MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjY2CiBtc2dpZCAiIgogInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXhcbiIKICJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgpAQCAtMjA2NDUsNyArMjM2OTcsNyBAQAogImEgLSBhcGxpY2EgYXF1ZXN0IHRyb3MgaSB0b3RzIGVscyB0cm9zc29zIHBvc3RlcmlvcnMgZW4gZWwgZml0eGVyXG4iCiAiZCAtIG5vIGFwbGlxdWlzIGFxdWVzdCB0cm9zIG5pIGNhcCBkZWxzIHRyb3Nzb3MgcG9zdGVyaW9ycyBlbiBlbCBmaXR4ZXIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI0NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjcyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI5MAogbXNnaWQgIiIKICJ5IC0gZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZVxuIgpAQCAtMjA2NTksNyArMjM3MTEsNyBAQAogImEgLSBkZXNjYXJ0YSBhcXVlc3QgdHJvcyBpIHRvdHMgZWxzIHRyb3Nzb3MgcG9zdGVyaW9ycyBlbiBlbCBmaXR4ZXJcbiIKICJkIC0gbm8gZGVzY2FydGlzIGFxdWVzdCB0cm9zIG5pIGNhcCBkZWxzIHRyb3Nzb3MgcG9zdGVyaW9ycyBlbiBlbCBmaXR4ZXIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI1MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjc4CiBtc2dpZCAiIgogInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWVcbiIKQEAgLTIwNjczLDcgKzIzNzI1LDcgQEAKICJhIC0gZGVzY2FydGEgYXF1ZXN0IHRyb3MgaSB0b3RzIGVscyB0cm9zc29zIHBvc3RlcmlvcnMgZW4gZWwgZml0eGVyXG4iCiAiZCAtIG5vIGRlc2NhcnRpcyBhcXVlc3QgdHJvcyBuaSBjYXAgZGVscyB0cm9zc29zIHBvc3RlcmlvcnMgZW4gZWwgZml0eGVyIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI4NAogbXNnaWQgIiIKICJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgpAQCAtMjA2ODcsNyArMjM3MzksMjEgQEAKICJhIC0gYXBsaWNhIGFxdWVzdCB0cm9zIGkgdG90cyBlbHMgdHJvc3NvcyBwb3N0ZXJpb3JzIGVuIGVsIGZpdHhlclxuIgogImQgLSBubyBhcGxpcXVpcyBhcXVlc3QgdHJvcyBuaSBjYXAgZGVscyB0cm9zc29zIHBvc3RlcmlvcnMgZW4gZWwgZml0eGVyIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI5NgorbXNnaWQgIiIKKyJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIHdvcmt0cmVlXG4iCisibiAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgdG8gd29ya3RyZWVcbiIKKyJxIC0gcXVpdDsgZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIGFwcGx5IHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisiZCAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAiIgorInkgLSBhcGxpY2EgYXF1ZXN0IHRyb3MgYSBsJ2FyYnJlIGRlIHRyZWJhbGxcbiIKKyJuIC0gbm8gYXBsaXF1aXMgYXF1ZXN0IHRyb3MgYSBsJ2FyYnJlIGRlIHRyZWJhbGxcbiIKKyJxIC0gc3VydDsgbm8gYXBsaXF1aXMgYXF1ZXN0IHRyb3MgbmkgY2FwIGRlbHMgcGVuZGVudHNcbiIKKyJhIC0gYXBsaWNhIGFxdWVzdCB0cm9zIGkgdG90cyBlbHMgdHJvc3NvcyBwb3N0ZXJpb3JzIGVuIGVsIGZpdHhlclxuIgorImQgLSBubyBhcGxpcXVpcyBhcXVlc3QgdHJvcyBuaSBjYXAgZGVscyB0cm9zc29zIHBvc3RlcmlvcnMgZW4gZWwgZml0eGVyIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTEKIG1zZ2lkICIiCiAiZyAtIHNlbGVjdCBhIGh1bmsgdG8gZ28gdG9cbiIKICIvIC0gc2VhcmNoIGZvciBhIGh1bmsgbWF0Y2hpbmcgdGhlIGdpdmVuIHJlZ2V4XG4iCkBAIC0yMDcwOSwyMTYgKzIzNzc1LDIwMyBAQAogImUgLSBlZGl0YSBtYW51YWxtZW50IGVsIHRyb3MgYWN0dWFsXG4iCiAiPyAtIG1vc3RyYSBsJ2FqdWRhXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzQyCiBtc2dpZCAiVGhlIHNlbGVjdGVkIGh1bmtzIGRvIG5vdCBhcHBseSB0byB0aGUgaW5kZXghXG4iCiBtc2dzdHIgIkVscyB0cm9zc29zIHNlbGVjY2lvbmF0cyBubyBhcGxpcXVlbiBhIGwnw61uZGV4XG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzQzCiBtc2dpZCAiQXBwbHkgdGhlbSB0byB0aGUgd29ya3RyZWUgYW55d2F5PyAiCiBtc2dzdHIgIlZvbGV1IGFwbGljYXItbG9zIGlndWFsbWVudCBhIGwnYXJicmUgZGUgdHJlYmFsbD8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMDgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM0NgogbXNnaWQgIk5vdGhpbmcgd2FzIGFwcGxpZWQuXG4iCiBtc2dzdHIgIk5vIHMnaGEgYXBsaWNhdCByZXMuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxOQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzU3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHVubWVyZ2VkOiAlc1xuIgogbXNnc3RyICJzJ2VzdMOgIGlnbm9yYW50ICVzIG5vIGZ1c2lvbmF0XG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyOAotbXNnaWQgIk9ubHkgYmluYXJ5IGZpbGVzIGNoYW5nZWQuXG4iCi1tc2dzdHIgIk5vbcOpcyBzJ2hhbiBjYW52aWF0IGVscyBmaXR4ZXJzIGJpbmFyaXMuXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzMAotbXNnaWQgIk5vIGNoYW5nZXMuXG4iCi1tc2dzdHIgIlNlbnNlIGNhbnZpcy5cbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzM4Ci1tc2dpZCAiUGF0Y2ggdXBkYXRlIgotbXNnc3RyICJBY3R1YWxpdHphY2nDsyBkZWwgcGVkYcOnIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiQ2FudmlhIGVsIG1vZGUgZGUgwqtzdGFnZcK7IFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyOQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiU3VwcmltZWl4IMKrc3RhZ2XCuyBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzkyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJGZXIgdW4gwqtzdGFnZcK7IGQnYXF1ZXN0IHRyb3MgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDMzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJDYW52aWEgZWwgbW9kZSBkZSDCq3N0YXNowrsgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDM0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIGRlbGV0aW9uIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJTdXByaW1laXggwqtzdGFzaMK7IFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFzaCB0aGlzIGh1bmsgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIkZlciB1biDCq3N0YXNowrsgZCdhcXVlc3QgdHJvcyBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDAwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5zdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiQ2FudmlhIGVsIG1vZGUgZGUgwqt1bnN0YWdlwrsgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwMQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDM5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgZGVsZXRpb24gW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIlN1cHJpbWVpeCDCq1Vuc3RhZ2XCuyBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDAyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5zdGFnZSB0aGlzIGh1bmsgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIkZlciB1biDCq3Vuc3RhZ2XCuyBkJ2FxdWVzdCB0cm9zIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MDUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byBpbmRleCBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiQXBsaWNhIGVsIGNhbnZpIGRlIG1vZGUgYSBsJ8OtbmRleCBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgZGVsZXRpb24gdG8gaW5kZXggW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIkFwbGljYSBsJ2VzYm9ycmF0IGEgbCfDrW5kZXggW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwNworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQ1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiQXBsaWNhIGFxdWVzdCB0cm9zIGEgbCfDrW5kZXggW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxMAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQ4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIkRlc2NhcnRhIGVsIGNhbnZpIGRlIG1vZGUgZGVzIGRlIGwnYXJicmUgZGUgdHJlYmFsbCBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDExCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiRGVzY2FydGEgbCdlc2JvcnJhdCBkZXMgZGUgbCdhcmJyZSBkZSB0cmViYWxsIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MTIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiRGVzY2FydGEgYXF1ZXN0IHRyb3MgZGVzIGRlIGwnYXJicmUgZGUgdHJlYmFsbCAgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDUzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgbW9kZSBjaGFuZ2UgZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIiIKICJEZXNjYXJ0YSBlbCBjYW52aSBkZSBtb2RlIGRlcyBkZSBsJ8OtbmRleCBpIGwnYXJicmUgZGUgdHJlYmFsbCBbeSxuLHEsYSxkIgogIiVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIiIKICJEZXNjYXJ0YSBsYSBzdXByZXNzacOzIGRlcyBkZSBsJ8OtbmRleCBpIGwnYXJicmUgZGUgdHJlYmFsbCBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDE3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIiIKICJEZXNjYXJ0YSBhcXVlc3QgdHJvcyBkZXMgZGUgbCfDrW5kZXggaSBsJ2FyYnJlIGRlIHRyZWJhbGwgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyMAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiIgogIkFwbGljYSBlbCBjYW52aSBkZSBtb2RlIGEgbCfDrW5kZXggaSBsJ2FyYnJlIGRlIHRyZWJhbGwgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyMQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiQXBsaWNhIGxhIHN1cHJlc3Npw7MgYSBsJ8OtbmRleCBpIGwnYXJicmUgZGUgdHJlYmFsbCBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDIyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiQXBsaWNhIGFxdWVzdCB0cm9zIGEgbCfDrW5kZXggaSBsJ2FyYnJlIGRlIHRyZWJhbGwgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUyMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY4CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICJBcGxpY2EgZWwgY2FudmkgZGUgbW9kZSBhIGwnYXJicmUgZGUgdHJlYmFsbCBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY5CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICJBcGxpY2EgbGEgc3VwcmVzc2nDsyBhIGwnYXJicmUgZGUgdHJlYmFsbCBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDcwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiQXBsaWNhIGFxdWVzdCB0cm9zIGEgbCdhcmJyZSBkZSB0cmViYWxsIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzAKIG1zZ2lkICJObyBvdGhlciBodW5rcyB0byBnb3RvXG4iCiBtc2dzdHIgIk5vIGhpIGhhIGFsdHJlcyB0cm9zc29zIG9uIGFuYXItaGlcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTI5Ci1tc2dpZCAiZ28gdG8gd2hpY2ggaHVuayAoPHJldD4gdG8gc2VlIG1vcmUpPyAiCi1tc2dzdHIgInbDqXMgYSBxdWluIHRyb3MgKDxyZXQ+IHBlciB2ZXVyZSduIG3DqXMpPyAiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUzMQotbXNnaWQgImdvIHRvIHdoaWNoIGh1bms/ICIKLW1zZ3N0ciAidsOpcyBhIHF1aW4gdHJvcz8gIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NDAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU4OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG51bWJlcjogJyVzJ1xuIgotbXNnc3RyICJOw7ptZXJvIG5vIHbDoGxpZDogJyVzJ1xuIgorbXNnc3RyICJOw7ptZXJvIG5vIHbDoGxpZDogwqslc8K7XG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU0NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTkzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNvcnJ5LCBvbmx5ICVkIGh1bmsgYXZhaWxhYmxlLlxuIgogbXNnaWRfcGx1cmFsICJTb3JyeSwgb25seSAlZCBodW5rcyBhdmFpbGFibGUuXG4iCiBtc2dzdHJbMF0gIk5vbcOpcyAlZCB0cm9zIGRpc3BvbmlibGUuXG4iCiBtc2dzdHJbMV0gIk5vbcOpcyAlZCB0cm9zc29zIGRpc3BvbmlibGVzLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYxOQogbXNnaWQgIk5vIG90aGVyIGh1bmtzIHRvIHNlYXJjaFxuIgogbXNnc3RyICJObyBoaSBoYSBjYXAgYWx0cmUgdHJvcyBhIGNlcmNhclxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzUKLW1zZ2lkICJzZWFyY2ggZm9yIHJlZ2V4PyAiCi1tc2dzdHIgIkNlcmNhIHBlciBleHByZXNzacOzIHJlZ3VsYXI/ICIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTg4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MzYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzXG4iCiBtc2dzdHIgIkV4cHJlc3Npw7MgcmVndWxhciBkZSBjZXJjYSBtYWwgZm9ybWFkYSAlczogJXNcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTk4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NDYKIG1zZ2lkICJObyBodW5rIG1hdGNoZXMgdGhlIGdpdmVuIHBhdHRlcm5cbiIKIG1zZ3N0ciAiTm8gaGkgaGEgdHJvc3NvcyBxdWUgY29pbmNpZGVpeGluIGFtYiBlbCBwYXRyw7MgZG9uYXRcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjEwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYzMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjU4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY4MAogbXNnaWQgIk5vIHByZXZpb3VzIGh1bmtcbiIKIG1zZ3N0ciAiU2Vuc2UgdHJvcyBwcmV2aVxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjM4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjg2CiBtc2dpZCAiTm8gbmV4dCBodW5rXG4iCiBtc2dzdHIgIk5vIGhpIGhhIHRyb3Mgc2Vnw7xlbnRcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQ0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTIKIG1zZ2lkICJTb3JyeSwgY2Fubm90IHNwbGl0IHRoaXMgaHVua1xuIgogbXNnc3RyICJObyBlcyBwb3QgZGl2aWRpciBhcXVlc3QgdHJvc1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY5OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTcGxpdCBpbnRvICVkIGh1bmsuXG4iCiBtc2dpZF9wbHVyYWwgIlNwbGl0IGludG8gJWQgaHVua3MuXG4iCiBtc2dzdHJbMF0gIkRpdmlkZWl4IGVuICVkIHRyb3MuXG4iCiBtc2dzdHJbMV0gIkRpdmlkZWl4IGVuICVkIHRyb3Nzb3MuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzA4CiBtc2dpZCAiU29ycnksIGNhbm5vdCBlZGl0IHRoaXMgaHVua1xuIgogbXNnc3RyICJObyBlcyBwb3QgZWRpdGFyIGFxdWVzdCB0cm9zXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcwNgotbXNnaWQgIlJldmlldyBkaWZmIgotbXNnc3RyICJSZXZpc2V1IGxlcyBkaWZlcsOobmNpZXMiCi0KICMuIFRSQU5TTEFUT1JTOiBwbGVhc2UgZG8gbm90IHRyYW5zbGF0ZSB0aGUgY29tbWFuZCBuYW1lcwogIy4gJ3N0YXR1cycsICd1cGRhdGUnLCAncmV2ZXJ0JywgZXRjLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzI1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NzMKIG1zZ2lkICIiCiAic3RhdHVzICAgICAgICAtIHNob3cgcGF0aHMgd2l0aCBjaGFuZ2VzXG4iCiAidXBkYXRlICAgICAgICAtIGFkZCB3b3JraW5nIHRyZWUgc3RhdGUgdG8gdGhlIHN0YWdlZCBzZXQgb2YgY2hhbmdlc1xuIgpAQCAtMjA5MzcsMTggKzIzOTkwLDE5IEBACiAiYWRkIHVudHJhY2tlZCAtIGFmZWdlaXggZWwgY29udGluZ3V0IGRlbHMgZml0eGVycyBubyBzZWd1aXRzIGFsIGNvbmp1bnQgZGUgIgogImNhbnZpcyDCq3N0YWdlZMK7XG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc0MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NDcKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc1MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NTcKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2MSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc5MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3OTUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc5OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MDUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgwOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MTUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgxOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MjUKIG1zZ2lkICJtaXNzaW5nIC0tIgogbXNnc3RyICJtYW5jYSAtLSIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzYzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MjEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidW5rbm93biAtLXBhdGNoIG1vZGU6ICVzIgogbXNnc3RyICJkZXNjb25lZ3V0IC0tcGF0Y2ggbW9kZTogJXMiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NzUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyNyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MzMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCAlcywgZXhwZWN0aW5nIC0tIgogbXNnc3RyICJhcmd1bWVudCAlcyBubyB2w6BsaWQsIHMnZXNwZXJhdmEgLS0iCkBAIC0yMDk2MSw2NiArMjQwMTUsNjYgQEAKIG1zZ2lkICJsb2NhbCB0aW1lIG9mZnNldCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMjQgaG91cnNcbiIKIG1zZ3N0ciAiZWwgZGVzcGxhw6dhbWVudCBkZSBsYSB6b25hIGxvY2FsIMOpcyBtw6lzIGdyYW4gbyBpZ3VhbCBhIDI0IGhvcmVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjE5IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjI1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIyMyBnaXQtc2VuZC1lbWFpbC5wZXJsOjIyOQogbXNnaWQgInRoZSBlZGl0b3IgZXhpdGVkIHVuY2xlYW5seSwgYWJvcnRpbmcgZXZlcnl0aGluZyIKIG1zZ3N0ciAibCdlZGl0b3Igbm8gaGEgc29ydGl0IGNvcnJlY3RhbWVudCwgYXZvcnRhbnQtaG8gdG90IgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMwMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDozMTAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgY29udGFpbnMgYW4gaW50ZXJtZWRpYXRlIHZlcnNpb24gb2YgdGhlIGVtYWlsIHlvdSB3ZXJlIGNvbXBvc2luZy5cbiIKIG1zZ3N0ciAiwqslc8K7IGNvbnTDqSB1bmEgdmVyc2nDsyBpbnRlcm3DqGRpYSBkZWwgY29ycmV1IHF1ZSBlc3TDoHZldSByZWRhY3RhbnQuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzA3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMxNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICInJXMuZmluYWwnIGNvbnRhaW5zIHRoZSBjb21wb3NlZCBlbWFpbC5cbiIKIG1zZ3N0ciAiJyVzLmZpbmFsJyBjb250w6kgZWwgY29ycmV1IHJlZGFjdGF0LlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMyNgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo0MDgKIG1zZ2lkICItLWR1bXAtYWxpYXNlcyBpbmNvbXBhdGlibGUgd2l0aCBvdGhlciBvcHRpb25zXG4iCiBtc2dzdHIgIi0tZHVtcC1hbGlhc2VzIMOpcyBpbmNvbXBhdGlibGUgYW1iIGFsdHJlcyBvcGNpb25zXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mzk1IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjUwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ4MSBnaXQtc2VuZC1lbWFpbC5wZXJsOjY4MwogbXNnaWQgIkNhbm5vdCBydW4gZ2l0IGZvcm1hdC1wYXRjaCBmcm9tIG91dHNpZGUgYSByZXBvc2l0b3J5XG4iCiBtc2dzdHIgIk5vIGVzIHBvdCBleGVjdXRhciBnaXQgZm9ybWF0LXBhdGNoIGRlcyBkZSBmb3JhIGRlbCBkaXDDsnNpdFxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjM5OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo0ODQKIG1zZ2lkICIiCiAiYGJhdGNoLXNpemVgIGFuZCBgcmVsb2dpbmAgbXVzdCBiZSBzcGVjaWZpZWQgdG9nZXRoZXIgKHZpYSBjb21tYW5kLWxpbmUgb3IgIgogImNvbmZpZ3VyYXRpb24gb3B0aW9uKVxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDY4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ5NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbmtub3duIC0tc3VwcHJlc3MtY2MgZmllbGQ6ICclcydcbiIKIG1zZ3N0ciAiQ2FtcCAtLXN1cHByZXNzLWNjIGRlc2NvbmVndXQ6IMKrJXPCu1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ5NworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5rbm93biAtLWNvbmZpcm0gc2V0dGluZzogJyVzJ1xuIgogbXNnc3RyICItLWNvbmZpcm0gc2V0dGluZyBkZXNjb25lZ3V0OiDCqyVzwrtcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTU2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IHNlbmRtYWlsIGFsaWFzIHdpdGggcXVvdGVzIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgImF2w61zOiBlbCBzb2JyZW5vbSBkZSBzZW5kbWFpbCBhbWIgY29tZXRlcyBubyBlc3TDoCBzdXBvcnRhdDogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTU4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGA6aW5jbHVkZTpgIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgImF2w61zOiBgOmluY2x1ZGU6YCBubyBlc3TDoCBzdXBvcnRhdDogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTYwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGAvZmlsZWAgb3IgYHxwaXBlYCByZWRpcmVjdGlvbiBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICJhdsOtczogbGVzIHJlZGlyZWNjaW9ucyBgL2ZpbGVgIG9yIGB8cGlwZSBubyBzw7NuIGFkbWVzZXM6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTM0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU2NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBsaW5lIGlzIG5vdCByZWNvZ25pemVkOiAlc1xuIgogbXNnc3RyICJhdsOtczogbm8gZXMgcG90IHJlY29uw6hpeGVyIGxhIGzDrW5pYSBzZW5kbWFpbDogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2MTYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjQ5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJGaWxlICclcycgZXhpc3RzIGJ1dCBpdCBjb3VsZCBhbHNvIGJlIHRoZSByYW5nZSBvZiBjb21taXRzXG4iCkBAIC0yMTAzNSwxMiArMjQwODksMTIgQEAKICIgICAgKiBEaWVudCBcIi4vJXNcIiBzaSB2b2zDrWV1IGVzcGVjaWZpY2FyIGFxdWVzdCBmaXR4ZXI7IG9cbiIKICIgICAgKiBQcm9wb3JjaW9uYW50IGwnb3BjacOzIC0tZm9ybWF0LXBhdGNoIHNpIHZvbMOtZXUgZXNwZWNpZmljYXIgdW4gcmFuZy5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2MzcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjcwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuZGlyICVzOiAlcyIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpciBlbCBkaXJlY3RvcmkgJXM6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY2MQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2OTQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogImZhdGFsOiAlczogJXNcbiIKQEAgLTIxMDQ5LDcgKzI0MTAzLDcgQEAKICJmYXRhbDogJXM6ICVzXG4iCiAiYXbDrXM6IG5vIHMnaGFuIGVudmlhdCBwZWRhw6dvc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY3MgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MDUKIG1zZ2lkICIiCiAiXG4iCiAiTm8gcGF0Y2ggZmlsZXMgc3BlY2lmaWVkIVxuIgpAQCAtMjEwNTksMTcgKzI0MTEzLDE3IEBACiAiTm8gcydoYW4gZXNwZWNpZmljYXQgZml0eGVycyBkZSBwZWRhw6dcbiIKICJcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2ODUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIk5vIHN1YmplY3QgbGluZSBpbiAlcz8iCiBtc2dzdHIgIlNlbnNlIGFzc3VtcHRlIGEgJXM/IgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY5NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MjgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gZm9yIHdyaXRpbmcgJXM6ICVzIgogbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyIHBlciBlc2NyaXB0dXJhICVzOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MDYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzM5CiBtc2dpZCAiIgogIkxpbmVzIGJlZ2lubmluZyBpbiBcIkdJVDpcIiB3aWxsIGJlIHJlbW92ZWQuXG4iCiAiQ29uc2lkZXIgaW5jbHVkaW5nIGFuIG92ZXJhbGwgZGlmZnN0YXQgb3IgdGFibGUgb2YgY29udGVudHNcbiIKQEAgLTIxMDgzLDI3ICsyNDEzNywyNyBAQAogIlxuIgogIk5ldGVnZXUgZWwgY29udGluZ3V0IGRlbCBjb3Mgc2kgbm8gdm9sZXUgZW52aWFyIHVuIHJlc3VtLlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjczMAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3NjMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXM6ICVzIgogbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyICVzOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3NDcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzgwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzLmZpbmFsOiAlcyIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpciAlcy5maW5hbDogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzkwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgyMwogbXNnaWQgIlN1bW1hcnkgZW1haWwgaXMgZW1wdHksIHNraXBwaW5nIGl0XG4iCiBtc2dzdHIgIkVsIGNvcnJldSBlbGVjdHLDsm5pYyBkZSByZXN1bSBlc3TDoCBidWl0LCBzJ29tZXRcbiIKIAogIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBrZWVwIFt5L05dIGFzIGlzLgotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODU4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB1c2UgPCVzPiBbeS9OXT8gIgogbXNnc3RyICJFc3RldSBzZWd1ciBxdWUgdm9sZXUgdXNhciA8JXM+IFt5L05dPyAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODgwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkxMwogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIGZpbGVzIGFyZSA4Yml0LCBidXQgZG8gbm90IGRlY2xhcmUgYSBDb250ZW50LVRyYW5zZmVyLSIKICJFbmNvZGluZy5cbiIKQEAgLTIxMTExLDExICsyNDE2NSwxMSBAQAogIkVscyBmaXR4ZXJzIHNlZ8O8ZW50cyBzw7NuIDhiaXQsIHBlcsOyIG5vIGRlY2xhcmVuIHVuIENvbnRlbnQtVHJhbnNmZXItIgogIkVuY29kaW5nLlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg4NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MTgKIG1zZ2lkICJXaGljaCA4Yml0IGVuY29kaW5nIHNob3VsZCBJIGRlY2xhcmUgW1VURi04XT8gIgogbXNnc3RyICJRdWluYSBjb2RpZmljYWNpw7MgZGUgOCBiaXRzIGhhdXJpYSBkZSBkZWNsYXJhciBbVVRGLThdPyAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODkzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkyNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiUmVmdXNpbmcgdG8gc2VuZCBiZWNhdXNlIHRoZSBwYXRjaFxuIgpAQCAtMjExMjgsMjMgKzI0MTgyLDIzIEBACiAicGVycXXDqCBsYSBwbGFudGlsbGEgdMOpIGwnYXNzdW1wdGUgJyoqKiBTVUJKRUNUIEhFUkUgKioqJy4gUGFzc2V1IC0tZm9yY2Ugc2kgIgogInJlYWxtZW50IHZvbGV1IGVudmlhci1sby5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MTIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTQ1CiBtc2dpZCAiVG8gd2hvbSBzaG91bGQgdGhlIGVtYWlscyBiZSBzZW50IChpZiBhbnlvbmUpPyIKIG1zZ3N0ciAiIgogIkEgcXVpIHMnaGF1cmllbiBkJ2VudmlhciBlbHMgY29ycmV1cyBlbGVjdHLDsm5pY3MgKHNpIHMnaGFuIGQnZW52aWFyIGEgYWxnw7opPyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MzAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTYzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImZhdGFsOiBhbGlhcyAnJXMnIGV4cGFuZHMgdG8gaXRzZWxmXG4iCiBtc2dzdHIgImZhdGFsOiBsJ8OgbGllcyDCqyVzwrsgcydleHBhbmRlaXggYSBzaSBtYXRlaXhcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5NDIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTc1CiBtc2dpZCAiTWVzc2FnZS1JRCB0byBiZSB1c2VkIGFzIEluLVJlcGx5LVRvIGZvciB0aGUgZmlyc3QgZW1haWwgKGlmIGFueSk/ICIKIG1zZ3N0ciAiIgogIlMnaGEgZCd1c2FyIGVsIE1lc3NhZ2UtSUQgY29tIGEgSW4tUmVwbHktVG8gcGVsIHByaW1lciBjb3JyZXUgKHNpIG4naGkgaGEgIgogImNhcCk/ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDAwIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTAwOAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDMzIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTA0MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJlcnJvcjogdW5hYmxlIHRvIGV4dHJhY3QgYSB2YWxpZCBhZGRyZXNzIGZyb206ICVzXG4iCiBtc2dzdHIgImVycm9yOiBubyBzJ2hhIHBvZ3V0IGV4dHJldXJlIHVuYSBhZHJlw6dhIHbDoGxpZGEgZGU6ICVzXG4iCkBAIC0yMTE1MiwxNiArMjQyMDYsMTYgQEAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbcV0gW2RdIFtlXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDEyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwNDUKIG1zZ2lkICJXaGF0IHRvIGRvIHdpdGggdGhpcyBhZGRyZXNzPyAoW3FddWl0fFtkXXJvcHxbZV1kaXQpOiAiCiBtc2dzdHIgIlF1w6ggY2FsIGZlciBhbWIgYXF1ZXN0YSBhZHJlw6dhPyAoW3Fdc3VydHxbZF1lc2NhcnRhfFtlXWRpdGEpOiAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzYyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkNBIHBhdGggXCIlc1wiIGRvZXMgbm90IGV4aXN0IgotbXNnc3RyICJlbCBjYW3DrSBDQSBcIiVzXCIgbm8gZXhpc3RlaXgiCittc2dzdHIgImVsIGNhbcOtIENBIMKrJXPCuyBubyBleGlzdGVpeCIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDEyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NDUKIG1zZ2lkICIiCiAiICAgIFRoZSBDYyBsaXN0IGFib3ZlIGhhcyBiZWVuIGV4cGFuZGVkIGJ5IGFkZGl0aW9uYWxcbiIKICIgICAgYWRkcmVzc2VzIGZvdW5kIGluIHRoZSBwYXRjaCBjb21taXQgbWVzc2FnZS4gQnkgZGVmYXVsdFxuIgpAQCAtMjExODgsMjI5ICsyNDI0MiwxMzEgQEAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbeV0gW25dIFtlXSBbcV0gW2FdIGluIHlvdXIKICMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKICMuIGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjcKLSMsIGZ1enp5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjAKIG1zZ2lkICJTZW5kIHRoaXMgZW1haWw/IChbeV1lc3xbbl1vfFtlXWRpdHxbcV11aXR8W2FdbGwpOiAiCi1tc2dzdHIgIlZvbGV1IGVudmlhciBhcXVlc3QgY29ycmV1IGVsZWN0csOybmljPyAoW3ldc8OtfFtuXW98W3Fdc3VydHxbYV10b3QpOiAiCittc2dzdHIgIiIKKyJWb2xldSBlbnZpYXIgYXF1ZXN0IGNvcnJldSBlbGVjdHLDsm5pYz8gKFt5XXPDrXxbbl1vfFtlXWRpdGF8W3Fdc3VydHxbYV10b3QpOiAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQzMAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDYzCiBtc2dpZCAiU2VuZCB0aGlzIGVtYWlsIHJlcGx5IHJlcXVpcmVkIgogbXNnc3RyICJSZXF1ZXJlaXggcmVzcG9zdGEgZW4gZW52aWFyIGVsIGNvcnJldSIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDU4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0OTEKIG1zZ2lkICJUaGUgcmVxdWlyZWQgU01UUCBzZXJ2ZXIgaXMgbm90IHByb3Blcmx5IGRlZmluZWQuIgogbXNnc3RyICJFbCBzZXJ2aWRvciBTTVRQIHJlcXVlcml0IG5vIGVzdMOgIGNvcnJlY3RhbWVudCBkZWZpbml0LiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTA1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MzgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgU1RBUlRUTFMhICVzIgogbXNnc3RyICJFbCBzZXJ2aWRvciBubyBhZG1ldCBTVEFSVFRMUyEgJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUxMCBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MTQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU0MyBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU1RBUlRUTFMgZmFpbGVkISAlcyIKIG1zZ3N0ciAiU1RBUlRUTFMgaGEgZmFsbGF0ISAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTIzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NTYKIG1zZ2lkICJVbmFibGUgdG8gaW5pdGlhbGl6ZSBTTVRQIHByb3Blcmx5LiBDaGVjayBjb25maWcgYW5kIHVzZSAtLXNtdHAtZGVidWcuIgogbXNnc3RyICIiCiAiTm8gcydoYSBwb2d1dCBpbmljaWFsaXR6YXIgU01UUCBjb3JyZWN0YW1lbnQuIENvbXByb3ZldS1obyBsYSBjb25maWd1cmFjacOzIGkgIgogInVzZXUgLS1zbXRwLWRlYnVnLiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHNlbmQgJXNcbiIKIG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlbnZpYXIgJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRHJ5LVNlbnQgJXNcbiIKIG1zZ3N0ciAiU2ltdWxhY2nDsyBkJ2VudmlhbWVudCAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZW50ICVzXG4iCiBtc2dzdHIgIkVudmlhdCAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3OQogbXNnaWQgIkRyeS1PSy4gTG9nIHNheXM6XG4iCiBtc2dzdHIgIlNpbXVsYWNpw7MgZGUgY29ycmVjdGUuIEVsIHJlZ2lzdHJlIGRpdTpcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzkKIG1zZ2lkICJPSy4gTG9nIHNheXM6XG4iCiBtc2dzdHIgIkNvcnJlY3RlLiBFbCByZWdpc3RyZSBkaXU6IFxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NTgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU5MQogbXNnaWQgIlJlc3VsdDogIgogbXNnc3RyICJSZXN1bHRhdDogIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NjEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU5NAogbXNnaWQgIlJlc3VsdDogT0tcbiIKIG1zZ3N0ciAiUmVzdWx0YXQ6IGNvcnJlY3RlXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3OQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjEyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gZmlsZSAlcyIKIG1zZ3N0ciAibm8gZXMgcG90IG9icmlyIGVsIGZpdHhlciAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjI2IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY0NgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjU5IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY3OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIobWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIobWJveCkgUydlc3TDoCBhZmVnaW50IGNjOiAlcyBkZXMgZGUgbGEgbMOtbmlhIMKrJXPCu1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2MzIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY2NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIobWJveCkgQWRkaW5nIHRvOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIobWJveCkgUydlc3TDoCBhZmVnaW50IGE6ICVzIGRlcyBkZSBsYSBsw61uaWEgwqslc8K7XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY4NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihub24tbWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIobm8gbWJveCkgUydlc3TDoCBhZmVnaW50IGNjOiAlcyBkZXMgZGUgbGEgbMOtbmlhIMKrJXPCu1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MjAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc1MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoYm9keSkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIoY29zKSBTJ2VzdMOgIGFmZWdpbnQgY2M6ICVzIGRlcyBkZSBsYSBsw61uaWEgwqslc8K7XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgzMQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODY0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiglcykgQ291bGQgbm90IGV4ZWN1dGUgJyVzJyIKIG1zZ3N0ciAiKCVzKSBubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIMKrJXPCuyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODM4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NzEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBBZGRpbmcgJXM6ICVzIGZyb206ICclcydcbiIKIG1zZ3N0ciAiKCVzKSBTJ2VzdMOgIGFmZWdpbnQgJXM6ICVzIGRlcyBkZTogwqslc8K7XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg0MgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODc1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiglcykgZmFpbGVkIHRvIGNsb3NlIHBpcGUgdG8gJyVzJyIKIG1zZ3N0ciAiKCVzKSBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHRhbmNhciBlbCBjb25kdWN0ZSDCqyVzwrsiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg3MgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTA1CiBtc2dpZCAiY2Fubm90IHNlbmQgbWVzc2FnZSBhcyA3Yml0IgogbXNnc3RyICJubyBlcyBwb3QgZW52aWFyIGVsIG1pc3NhdGdlIGVuIDcgYml0cyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODgwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5MTMKIG1zZ2lkICJpbnZhbGlkIHRyYW5zZmVyIGVuY29kaW5nIgogbXNnc3RyICJjb2RpZmljYWNpw7MgZGUgdHJhbnNmZXLDqG5jaWEgbm8gdsOgbGlkYSIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTIxIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk3MyBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5ODMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk1NCBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwMDYgZ2l0LXNlbmQtZW1haWwucGVybDoyMDE2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzOiAlc1xuIgogbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyICVzOiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5MjQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk1NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggY29udGFpbnMgYSBsaW5lIGxvbmdlciB0aGFuIDk5OCBjaGFyYWN0ZXJzIgogbXNnc3RyICIlczogZWwgcGVkYcOnIGNvbnTDqSB1bmEgbMOtbmlhIG3DqXMgZ3JhbiBkZSA5OTggY2Fyw6BjdGVycyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgJXMgd2l0aCBiYWNrdXAgc3VmZml4ICclcycuXG4iCiBtc2dzdHIgIlMnZXN0w6Agb21ldGVudCAlcyBhbWIgZWwgc3VmaXggZGUgY8OycGlhIGRlIHNlZ3VyZXRhdCDCqyVzwrsuXG4iCiAKICMuIFRSQU5TTEFUT1JTOiBwbGVhc2Uga2VlcCAiW3l8Tl0iIGFzIGlzLgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTQ1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NzgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIHNlbmQgJXM/IFt5fE5dOiAiCiBtc2dzdHIgIkVzdGV1IHNlZ3VyIHF1ZSB2b2xldSBlbnZpYXIgJXM/IFt5fE5dOiAiCi0KLSMsIGZ1enp5Ci0jfiBtc2dpZCAiY291bGQgbm90IHBhcnNlICclcycgKGxvb2tpbmcgZm9yICclcycpIgotI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzdGFibGlyIMKrJXPCuyBhIMKrJXPCuyIKLQotIywgZnV6enkKLSN+IG1zZ2lkICJiYWQgcXVvdGluZyBvbiAlcyB2YWx1ZSBpbiAnJXMnIgotI34gbXNnc3RyICJWYWxvciBlcnJvbmkgZGUgJXM6IMKrJXPCuyIKLQotIywgZnV6enkKLSN+IG1zZ2lkICJDb3VsZCBub3QgdW5zZXQgY29yZS53b3JrdHJlZSBzZXR0aW5nIGluIHN1Ym1vZHVsZSAnJXMnIgotI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyICdnaXQgc3RhdHVzJyBhbCBzdWJtw7JkdWwgwqslc8K7IgotCi0jfiBtc2dpZCAiQ2FuJ3Qgc3RhdCAlcyIKLSN+IG1zZ3N0ciAiTm8gZXMgcG90IGZlciBzdGF0IGVuICVzIgotCi0jfiBtc2dpZCAiYWJvcnQgcmViYXNlIgotI34gbXNnc3RyICJhdm9ydGEgZWwgwqtyZWJhc2XCuyIKLQotI34gbXNnaWQgIm1ha2UgcmViYXNlIHNjcmlwdCIKLSN+IG1zZ3N0ciAiZmVzIHVuIHNjcmlwdCBkZSDCq3JlYmFzZcK7IgotCi0jfiBtc2dpZCAiTm8gc3VjaCByZW1vdGU6ICVzIgotI34gbXNnc3RyICJObyBoaSBoYSB0YWwgcmVtb3Q6ICVzIgotCi0jLCBmdXp6eQotI34gbXNnaWQgImNhbm5vdCBtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZSIKLSN+IG1zZ3N0ciAiTm8gZXMgcG90IHJlZ2lzdHJhciBsJ2VzdGF0IGRlIGwnYXJicmUgZGUgdHJlYmFsbCIKLQotIywgZnV6enkKLSN+IG1zZ2lkICJjYW5ub3QgcmVtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZSIKLSN+IG1zZ3N0ciAiTm8gZXMgcG90IHJlZ2lzdHJhciBsJ2VzdGF0IGRlIGwnYXJicmUgZGUgdHJlYmFsbCIKLQotI34gbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKLSN+IG1zZ3N0ciAiUydoYSBhcGxpY2F0IGVsIG1hZ2F0emVtIGF1dG9tw6B0aWMuIgotCi0jfiBtc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgotI34gbXNnc3RyICJObyBlcyBwb3QgZW1tYWdhdHplbWFyICRzdGFzaF9zaGExIgotCi0jLCBmdXp6eQotI34gbXNnaWQgIiIKLSN+ICJcbiIKLSN+ICJcdEhvd2V2ZXIsIGlmIHlvdSByZW1vdmUgZXZlcnl0aGluZywgdGhlIHJlYmFzZSB3aWxsIGJlIGFib3J0ZWQuXG4iCi0jfiAiXG4iCi0jfiAiXHQiCi0jfiBtc2dzdHIgIiIKLSN+ICJcbiIKLSN+ICJObyBvYnN0YW50LCBzaSBlbGltaW5ldSB0b3QsIHMnYXZvcnRhcsOgIGVsIMKrcmViYXNlwrsuXG4iCi0jfiAiXG4iCi0KLSN+IG1zZ2lkICJEaXJ0eSBpbmRleDogY2Fubm90IG1lcmdlIChkaXJ0eTogJXMpIgotI34gbXNnc3RyICLDjW5kZXggYnJ1dDogbm8gZXMgcG90IGZ1c2lvbmFyIChicnV0czogJXMpIgotCi0jfiBtc2dpZCAiIgotI34gInVuZXhwZWN0ZWQgMXN0IGxpbmUgb2Ygc3F1YXNoIG1lc3NhZ2U6XG4iCi0jfiAiXG4iCi0jfiAiXHQlLipzIgotI34gbXNnc3RyICIiCi0jfiAiUHJpbWVyYSBsw61uaWEgZGVsIG1pc3NhdGdlIGRlIMKrc3F1YXNowrsgbm8gZXNwZXJhZGE6XG4iCi0jfiAiXG4iCi0jfiAiXHQlLipzIgotCi0jfiBtc2dpZCAiIgotI34gImludmFsaWQgMXN0IGxpbmUgb2Ygc3F1YXNoIG1lc3NhZ2U6XG4iCi0jfiAiXG4iCi0jfiAiXHQlLipzIgotI34gbXNnc3RyICIiCi0jfiAiUHJpbWVyYSBsw61uaWEgZGVsIG1pc3NhdGdlIGRlIMKrc3F1YXNowrsgbm8gdsOgbGlkYTpcbiIKLSN+ICJcbiIKLSN+ICJcdCUuKnMiCi0KLSN+IG1zZ2lkICJCVUc6IHJldHVybmVkIHBhdGggc3RyaW5nIGRvZXNuJ3QgbWF0Y2ggY3dkPyIKLSN+IG1zZ3N0ciAiRVJSQURBOiBsYSBjYWRlbmEgZGVsIGNhbcOtIHJldG9ybmFkYSBubyBjb2luY2lkZWl4IGFtYiBjd2Q/IgotCi0jfiBtc2dpZCAiKCsvLSl4IgotI34gbXNnc3RyICIoKy8tKXgiCi0KLSN+IG1zZ2lkICI8Y29tbWFuZD4iCi0jfiBtc2dzdHIgIjxjb21tYW5kPiIKLQotI34gbXNnaWQgIkV2ZXJ5ZGF5IEdpdCBXaXRoIDIwIENvbW1hbmRzIE9yIFNvIgotI34gbXNnc3RyICJHaXQgcXVvdGlkacOgIGFtYiBtw6lzIG8gbWVueXMgMjAgb3JkcmVzIgotCi0jfiBtc2dpZCAiRXJyb3IgaW4gb2JqZWN0IgotI34gbXNnc3RyICJFcnJvciBlbiBvYmplY3RlIgotCi0jfiBtc2dpZCAicHVzaHxmZXRjaCIKLSN+IG1zZ3N0ciAicHVzaHxmZXRjaCIKLQotI34gbXNnaWQgIndbLGkxWyxpMl1dIgotI34gbXNnc3RyICJ3WyxpMVssaTJdXSIKLQotI34gbXNnaWQgIkVudGVyaW5nICckZGlzcGxheXBhdGgnIgotI34gbXNnc3RyICJTJ2VzdMOgIGVudHJhbnQgJyRkaXNwbGF5cGF0aCciCi0KLSN+IG1zZ2lkICJTdG9wcGluZyBhdCAnJGRpc3BsYXlwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCi0jfiBtc2dzdHIgIiIKLSN+ICJTJ2VzdMOgIGF0dXJhbnQgYSAnJGRpc3BsYXlwYXRoJzsgbCdzY3JpcHQgaGEgcmV0b3JuYXQgdW4gZXN0YXQgbm8gemVyby4iCmRpZmYgLS1naXQgYS9wby9kZS5wbyBiL3BvL2RlLnBvCmluZGV4IGQ1MTEzNDMuLjA1YmVhMjAgMTAwNjQ0Ci0tLSBhL3BvL2RlLnBvCisrKyBiL3BvL2RlLnBvCkBAIC0xLDU5ICsxLDQ5MiBAQAogIyBHZXJtYW4gdHJhbnNsYXRpb25zIGZvciBHaXQuCi0jIENvcHlyaWdodCAoQykgMjAxMC0yMDE2IFJhbGYgVGhpZWxvdyA8cmFsZi50aGllbG93QGdtYWlsLmNvbT4KKyMgQ29weXJpZ2h0IChDKSAyMDE5IE1hdHRoaWFzIFLDvHN0ZXIgPG1hdHRoaWFzLnJ1ZXN0ZXJAZ21haWwuY29tPgogIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgR2l0IHBhY2thZ2UuCi0jIFJhbGYgVGhpZWxvdyA8cmFsZi50aGllbG93QGdtYWlsLmNvbT4sIDIwMTAtMjAxNi4KKyMgTWF0dGhpYXMgUsO8c3RlciA8bWF0dGhpYXMucnVlc3RlckBnbWFpbC5jb20+LCAyMDE5LgorIyBSYWxmIFRoaWVsb3cgPHJhbGYudGhpZWxvd0BnbWFpbC5jb20+LCAyMDEwLTIwMTkuCiAjCiBtc2dpZCAiIgogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBHaXRcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogR2l0IE1haWxpbmcgTGlzdCA8Z2l0QHZnZXIua2VybmVsLm9yZz5cbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOC0xMi0wMiAxMDo1NSswODAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTktMTItMzAgMDg6NDgrMDgwMFxuIgogIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMTEtMjggMTg6MTArMDEwMFxuIgotIkxhc3QtVHJhbnNsYXRvcjogUmFsZiBUaGllbG93IDxyYWxmLnRoaWVsb3dAZ21haWwuY29tPlxuIgotIkxhbmd1YWdlLVRlYW06IEdlcm1hbiA8PlxuIgorIkxhc3QtVHJhbnNsYXRvcjogTWF0dGhpYXMgUsO8c3RlciA8bWF0dGhpYXMucnVlc3RlckBnbWFpbC5jb20+XG4iCisiTGFuZ3VhZ2UtVGVhbTogTWF0dGhpYXMgUsO8c3RlciA8bWF0dGhpYXMucnVlc3RlckBnbWFpbC5jb20+XG4iCiAiTGFuZ3VhZ2U6IGRlXG4iCiAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiAiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4hPTEpO1xuIgogCi0jOiBhZHZpY2UuYzo5OQorIzogYWRkLWludGVyYWN0aXZlLmM6MzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkh1aCAoJXMpPyIKK21zZ3N0ciAiV2llIGJpdHRlICglcyk/IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo1MDAgYWRkLWludGVyYWN0aXZlLmM6ODAxIHNlcXVlbmNlci5jOjMyMTYKKyM6IHNlcXVlbmNlci5jOjM2NTYgYnVpbHRpbi9yZWJhc2UuYzo4NzEgYnVpbHRpbi9yZWJhc2UuYzoxNjQzCisjOiBidWlsdGluL3JlYmFzZS5jOjIwMTkgYnVpbHRpbi9yZWJhc2UuYzoyMDYzCittc2dpZCAiY291bGQgbm90IHJlYWQgaW5kZXgiCittc2dzdHIgIktvbm50ZSBkZW4gSW5kZXggbmljaHQgbGVzZW4uIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo1NTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNjkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Mjk0Cittc2dpZCAiYmluYXJ5IgorbXNnc3RyICJCaW7DpHIiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjYxMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI3OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMzIKK21zZ2lkICJub3RoaW5nIgorbXNnc3RyICJOaWNodHMiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjYxNCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMxNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMjkKK21zZ2lkICJ1bmNoYW5nZWQiCittc2dzdHIgInVudmVyw6RuZGVydCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NjUxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjQzCittc2dpZCAiVXBkYXRlIgorbXNnc3RyICJBa3R1YWxpc2llcmVuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2NjggYWRkLWludGVyYWN0aXZlLmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGFnZSAnJXMnIgorbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCB6dW0gQ29tbWl0IHZvcm1lcmtlbi4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjY3NCBhZGQtaW50ZXJhY3RpdmUuYzo4NjMgc2VxdWVuY2VyLmM6MzQwOQorIzogYnVpbHRpbi9yZWJhc2UuYzo4OTUKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgaW5kZXgiCittc2dzdHIgIktvbm50ZSBJbmRleCBuaWNodCBzY2hyZWliZW4uIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2NzcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MjgKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgInVwZGF0ZWQgJWQgcGF0aFxuIgorbXNnaWRfcGx1cmFsICJ1cGRhdGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gIiVkIFBmYWQgYWt0dWFsaXNpZXJ0XG4iCittc2dzdHJbMV0gIiVkIFBmYWRlIGFrdHVhbGlzaWVydFxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2OTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzgKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgIm5vdGU6ICVzIGlzIHVudHJhY2tlZCBub3cuXG4iCittc2dzdHIgIkhpbndlaXM6ICVzIGlzdCBudW4gdW52ZXJzaW9uaWVydC5cbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NzAwIGFwcGx5LmM6NDEwOCBidWlsdGluL2NoZWNrb3V0LmM6MjgxCisjOiBidWlsdGluL3Jlc2V0LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCittc2dzdHIgIm1ha2VfY2FjaGVfZW50cnkgZsO8ciBQZmFkICclcycgZmVobGdlc2NobGFnZW4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjczMCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY1NQorbXNnaWQgIlJldmVydCIKK21zZ3N0ciAiUmV2ZXJ0IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo3NDYKK21zZ2lkICJDb3VsZCBub3QgcGFyc2UgSEVBRF57dHJlZX0iCittc2dzdHIgIktvbm50ZSBIRUFEXnt0cmVlfSBuaWNodCBwYXJzZW4uIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo3ODQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzEKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgInJldmVydGVkICVkIHBhdGhcbiIKK21zZ2lkX3BsdXJhbCAicmV2ZXJ0ZWQgJWQgcGF0aHNcbiIKK21zZ3N0clswXSAiJWQgUGZhZCB3aWVkZXJoZXJnZXN0ZWxsdFxuIgorbXNnc3RyWzFdICIlZCBQZmFkZSB3aWVkZXJoZXJnZXN0ZWxsdFxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo4MzUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdW50cmFja2VkIGZpbGVzLlxuIgorbXNnc3RyICJLZWluZSB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbi5cbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6ODM5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Njg5Cittc2dpZCAiQWRkIHVudHJhY2tlZCIKK21zZ3N0ciAidW52ZXJzaW9uaWVydGUgRGF0ZWllbiBoaW56dWbDvGdlbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6ODY2IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjI1CisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJhZGRlZCAlZCBwYXRoXG4iCittc2dpZF9wbHVyYWwgImFkZGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gIiVkIFBmYWQgaGluenVnZWbDvGd0XG4iCittc2dzdHJbMV0gIiVkIFBmYWRlIGhpbnp1Z2Vmw7xndFxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5tZXJnZWQ6ICVzIgorbXNnc3RyICJJZ25vcmllcmUgbmljaHQgenVzYW1tZW5nZWbDvGhydGUgRGF0ZWk6ICVzIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5MDggYWRkLXBhdGNoLmM6MTMzMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiT25seSBiaW5hcnkgZmlsZXMgY2hhbmdlZC5cbiIKK21zZ3N0ciAiTnVyIEJpbsOkcmRhdGVpZW4gZ2XDpG5kZXJ0LlxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5MTAgYWRkLXBhdGNoLmM6MTMyOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gY2hhbmdlcy5cbiIKK21zZ3N0ciAiS2VpbmUgw4RuZGVydW5nZW4uXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjkxNCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzYKK21zZ2lkICJQYXRjaCB1cGRhdGUiCittc2dzdHIgIlBhdGNoIEFrdHVhbGlzaWVydW5nIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5NTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzU0Cittc2dpZCAiUmV2aWV3IGRpZmYiCittc2dzdHIgIkRpZmYgw7xiZXJwcsO8ZmVuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5ODEKK21zZ2lkICJzaG93IHBhdGhzIHdpdGggY2hhbmdlcyIKK21zZ3N0ciAiWmVpZ2UgUGZhZGUgbWl0IMOEbmRlcnVuZ2VuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5ODMKK21zZ2lkICJhZGQgd29ya2luZyB0cmVlIHN0YXRlIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXMiCittc2dzdHIgIlp1c3RhbmQgZGVzIEFyYmVpdHN2ZXJ6ZWljaG5pc3NlcyB6dW0gQ29tbWl0IHZvcm1lcmtlbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTg1Cittc2dpZCAicmV2ZXJ0IHN0YWdlZCBzZXQgb2YgY2hhbmdlcyBiYWNrIHRvIHRoZSBIRUFEIHZlcnNpb24iCittc2dzdHIgIlp1bSBDb21taXQgdm9yZ2VtZXJrdGUgw4RuZGVydW5nZW4gYXVmIEhFQUQtVmVyc2lvbiB6dXLDvGNrc2V0emVuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5ODcKK21zZ2lkICJwaWNrIGh1bmtzIGFuZCB1cGRhdGUgc2VsZWN0aXZlbHkiCittc2dzdHIgIkJsw7Zja2UgdW5kIMOEbmRlcnVuZyBnZXppZWx0IGF1c3fDpGhsZW4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4OQorbXNnaWQgInZpZXcgZGlmZiBiZXR3ZWVuIEhFQUQgYW5kIGluZGV4IgorbXNnc3RyICJEaWZmZXJlbnogendpc2NoZW4gSEVBRCB1bmQgSW5kZXggYW5zZWhlbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTkxCittc2dpZCAiYWRkIGNvbnRlbnRzIG9mIHVudHJhY2tlZCBmaWxlcyB0byB0aGUgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzIgorbXNnc3RyICJJbmhhbHRlIHZvbiB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiB6dW0gQ29tbWl0IHZvcm1lcmtlbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTk5IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNDgKK21zZ2lkICJQcm9tcHQgaGVscDoiCittc2dzdHIgIkhpbGZlIGbDvHIgRWluZ2FiZW46IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDAxCittc2dpZCAic2VsZWN0IGEgc2luZ2xlIGl0ZW0iCittc2dzdHIgIkVpbiBlaW56ZWxuZXMgRWxlbWVudCBhdXN3w6RobGVuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDAzCittc2dpZCAic2VsZWN0IGEgcmFuZ2Ugb2YgaXRlbXMiCittc2dzdHIgIkVpbmUgUmVpaGUgdm9uIEVsZW1lbnRlbiBhdXN3w6RobGVuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDA1Cittc2dpZCAic2VsZWN0IG11bHRpcGxlIHJhbmdlcyIKK21zZ3N0ciAiTWVocmVyZSBSZWloZW4gYXVzd8OkaGxlbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAwNyBhZGQtaW50ZXJhY3RpdmUuYzoxMDUyCittc2dpZCAic2VsZWN0IGl0ZW0gYmFzZWQgb24gdW5pcXVlIHByZWZpeCIKK21zZ3N0ciAiRWxlbWVudCBiYXNpZXJlbmQgYXVmIGVpbmRldXRpZ2VuIFByw6RmaXggYXVzd8OkaGxlbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAwOQorbXNnaWQgInVuc2VsZWN0IHNwZWNpZmllZCBpdGVtcyIKK21zZ3N0ciAiQW5nZWdlYmVuZSBFbGVtZW50ZSBhYnfDpGhsZW4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMTEKK21zZ2lkICJjaG9vc2UgYWxsIGl0ZW1zIgorbXNnc3RyICJBbGxlIEVsZW1lbnRlIGF1c3fDpGhsZW4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMTMKK21zZ2lkICIoZW1wdHkpIGZpbmlzaCBzZWxlY3RpbmciCittc2dzdHIgIihsZWVyKSBBdXN3w6RobGVuIGJlZW5kZW4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNTAKK21zZ2lkICJzZWxlY3QgYSBudW1iZXJlZCBpdGVtIgorbXNnc3RyICJFaW4gbnVtbWVyaWVydGVzIEVsZW1lbnQgYXVzd8OkaGxlbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTA1NAorbXNnaWQgIihlbXB0eSkgc2VsZWN0IG5vdGhpbmciCittc2dzdHIgIihsZWVyKSBuaWNodHMgYXVzd8OkaGxlbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTA2MiBidWlsdGluL2NsZWFuLmM6ODIyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTg1MQorbXNnaWQgIioqKiBDb21tYW5kcyAqKioiCittc2dzdHIgIioqKiBCZWZlaGxlICoqKiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTA2MyBidWlsdGluL2NsZWFuLmM6ODIzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTg0OAorbXNnaWQgIldoYXQgbm93IgorbXNnc3RyICJXYXMgbnVuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjEzCittc2dpZCAic3RhZ2VkIgorbXNnc3RyICJ6dXIgU3RhZ2luZy1BcmVhIGhpbnp1Z2Vmw7xndCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTExNSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMworbXNnaWQgInVuc3RhZ2VkIgorbXNnc3RyICJhdXMgU3RhZ2luZy1BcmVhIGVudGZlcm50IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGFwcGx5LmM6NDk2NSBhcHBseS5jOjQ5NjggYnVpbHRpbi9hbS5jOjIxOTcKKyM6IGJ1aWx0aW4vYW0uYzoyMjAwIGJ1aWx0aW4vY2xvbmUuYzoxMjMgYnVpbHRpbi9mZXRjaC5jOjE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjI3MyBidWlsdGluL3B1bGwuYzoyMDkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjExOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMworbXNnaWQgInBhdGgiCittc2dzdHIgIlBmYWQiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjExMjIKK21zZ2lkICJjb3VsZCBub3QgcmVmcmVzaCBpbmRleCIKK21zZ3N0ciAiS29ubnRlIGRlbiBJbmRleCBuaWNodCBha3R1YWxpc2llcmVuLiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTEzNiBidWlsdGluL2NsZWFuLmM6Nzg3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2NQorIywgYy1mb3JtYXQKK21zZ2lkICJCeWUuXG4iCittc2dzdHIgIlRzY2jDvHNzLlxuIgorCisjOiBhZGQtcGF0Y2guYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLGEscSxkJXMsP10/ICIKK21zZ3N0ciAiTW9kdXPDpG5kZXJ1bmcgZGVyIFN0YWdpbmctQXJlYSBoaW56dWbDvGdlbiBbeSxuLGEscSxkJXMsP10/ICIKKworIzogYWRkLXBhdGNoLmM6MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhZ2UgZGVsZXRpb24gW3ksbixhLHEsZCVzLD9dPyAiCittc2dzdHIgIkzDtnNjaHVuZyBkZXIgU3RhZ2luZy1BcmVhIGhpbnp1ZsO8Z2VuIFt5LG4sYSxxLGQlcyw/XT8gIgorCisjOiBhZGQtcGF0Y2guYzoxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdGFnZSB0aGlzIGh1bmsgW3ksbixhLHEsZCVzLD9dPyAiCittc2dzdHIgIkRpZXNlbiBQYXRjaC1CbG9jayBkZXIgU3RhZ2luZy1BcmVhIGhpbnp1ZsO8Z2VuIFt5LG4sYSxxLGQlcyw/XT8gIgorCisjOiBhZGQtcGF0Y2guYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGh1bmsgaGVhZGVyICclLipzJyIKK21zZ3N0ciAiS29ubnRlIEJsb2NrLUhlYWRlciAnJS4qcycgbmljaHQgcGFyc2VuLiIKKworIzogYWRkLXBhdGNoLmM6MTMwIGFkZC1wYXRjaC5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29sb3JlZCBodW5rIGhlYWRlciAnJS4qcyciCittc2dzdHIgIktvbm50ZSBmYXJiaWdlbiBCbG9jay1IZWFkZXIgJyUuKnMnIG5pY2h0IHBhcnNlbi4iCisKKyM6IGFkZC1wYXRjaC5jOjE3NgorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBkaWZmIgorbXNnc3RyICJLb25udGUgRGlmZmVyZW56IG5pY2h0IHBhcnNlbi4iCisKKyM6IGFkZC1wYXRjaC5jOjE5NAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb2xvcmVkIGRpZmYiCittc2dzdHIgIktvbm50ZSBmYXJiaWdlIERpZmZlcmVueiBuaWNodCBwYXJzZW4uIgorCisjOiBhZGQtcGF0Y2guYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImV4cGVjdGVkIGNvbnRleHQgbGluZSAjJWQgaW5cbiIKKyIlLipzIgorbXNnc3RyICJFcndhcnRldGUgS29udGV4dHplaWxlICMlZCBpblxuIgorIiUuKnMiCisKKyM6IGFkZC1wYXRjaC5jOjUyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiaHVua3MgZG8gbm90IG92ZXJsYXA6XG4iCisiJS4qc1xuIgorIlx0ZG9lcyBub3QgZW5kIHdpdGg6XG4iCisiJS4qcyIKK21zZ3N0ciAiIgorIlBhdGNoLUJsw7Zja2Ugw7xiZXJsYXBwZW4gc2ljaCBuaWNodDpcbiIKKyIlLipzXG4iCisiXHRlbmRldCBuaWNodCBtaXQ6XG4iCisiJS4qcyIKKworIzogYWRkLXBhdGNoLmM6Nzk5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTExMgorbXNnaWQgIk1hbnVhbCBodW5rIGVkaXQgbW9kZSAtLSBzZWUgYm90dG9tIGZvciBhIHF1aWNrIGd1aWRlLlxuIgorbXNnc3RyICIiCisiTWFudWVsbGVyIEVkaXRpZXJtb2R1cyBmw7xyIFBhdGNoLUJsw7Zja2UgLS0gc2llaGUgbmFjaCB1bnRlbiBmw7xyIGVpbmVcbiIKKyJLdXJ6YW5sZWl0dW5nLlxuIgorCisjOiBhZGQtcGF0Y2guYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLVxuIgorIlRvIHJlbW92ZSAnJWMnIGxpbmVzLCBtYWtlIHRoZW0gJyAnIGxpbmVzIChjb250ZXh0KS5cbiIKKyJUbyByZW1vdmUgJyVjJyBsaW5lcywgZGVsZXRlIHRoZW0uXG4iCisiTGluZXMgc3RhcnRpbmcgd2l0aCAlYyB3aWxsIGJlIHJlbW92ZWQuXG4iCittc2dzdHIgIiIKKyItLS1cbiIKKyJVbSAnJWMnIFplaWxlbiB6dSBlbnRmZXJuZW4sIG1hY2hlbiBTaWUgYXVzIGRpZXNlbiAnICcgWmVpbGVuIChLb250ZXh0KS5cbiIKKyJVbSAnJWMnIFplaWxlbiB6dSBlbnRmZXJuZW4sIGzDtnNjaGVuIFNpZSBkaWVzZS5cbiIKKyJaZWlsZW4sIGRpZSBtaXQgJWMgYmVnaW5uZW4sIHdlcmRlbiBlbnRmZXJudC5cbiIKKworIzogYWRkLXBhdGNoLmM6ODEwCittc2dpZCAiIgorIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCisibWFya2VkIGZvciBzdGFnaW5nLlxuIgorbXNnc3RyICIiCisiV2VubiBkZXIgUGF0Y2ggc2F1YmVyIGFuZ2V3ZW5kZXQgd2VyZGVuIGthbm4sIHdpcmQgZGVyIGJlYXJiZWl0ZXRlIFBhdGNoLSIKKyJCbG9ja1xuIgorImRpcmVrdCBhbHMgenVtIEhpbnp1ZsO8Z2VuIHp1ciBTdGFnaW5nLUFyZWEgbWFya2llcnQuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiAnaXQnIHJlZmVycyB0byB0aGUgcGF0Y2ggbWVudGlvbmVkIGluIHRoZSBwcmV2aW91cyBtZXNzYWdlcy4KKyM6IGFkZC1wYXRjaC5jOjgxOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMjYKK21zZ2lkICIiCisiSWYgaXQgZG9lcyBub3QgYXBwbHkgY2xlYW5seSwgeW91IHdpbGwgYmUgZ2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG9cbiIKKyJlZGl0IGFnYWluLiAgSWYgYWxsIGxpbmVzIG9mIHRoZSBodW5rIGFyZSByZW1vdmVkLCB0aGVuIHRoZSBlZGl0IGlzXG4iCisiYWJvcnRlZCBhbmQgdGhlIGh1bmsgaXMgbGVmdCB1bmNoYW5nZWQuXG4iCittc2dzdHIgIiIKKyJXZW5uIGRhcyBuaWNodCBzYXViZXIgYW5nZXdlbmRldCB3ZXJkZW4ga2FubiwgaGFiZW4gU2llIGRpZSBNw7ZnbGljaGtlaXRcbiIKKyJlaW5lciBlcm5ldXRlbiBCZWFyYmVpdHVuZy4gV2VubiBhbGxlIFplaWxlbiBkZXMgUGF0Y2gtQmxvY2tzIGVudGZlcm50ICIKKyJ3ZXJkZW4sXG4iCisid2lyZCBkaWUgQmVhcmJlaXR1bmcgYWJnZWJyb2NoZW4gdW5kIGRlciBQYXRjaC1CbG9jayBibGVpYnQgdW52ZXLDpG5kZXJ0LlxuIgorCisjOiBhZGQtcGF0Y2guYzo4NTEKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgaHVuayBoZWFkZXIiCittc2dzdHIgIktvbm50ZSBCbG9jay1IZWFkZXIgbmljaHQgcGFyc2VuLiIKKworIzogYWRkLXBhdGNoLmM6ODk1IGFkZC1wYXRjaC5jOjEyOTQKK21zZ2lkICInZ2l0IGFwcGx5IC0tY2FjaGVkJyBmYWlsZWQiCittc2dzdHIgIidnaXQgYXBwbHkgLS1jYWNoZWQnIHNjaGx1ZyBmZWhsLiIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgW3kvbl0KKyMuIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgdGhhdCBpbnB1dCBhdCB0aGlzIHBvaW50LgorIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKKyMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCisjLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KKyMuCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSBbeS9uXQorIy4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCB0aGF0IGlucHV0CisjLiBhdCB0aGlzIHBvaW50LgorIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKKyMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCisjLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KKyM6IGFkZC1wYXRjaC5jOjk1MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMzkKK21zZ2lkICIiCisiWW91ciBlZGl0ZWQgaHVuayBkb2VzIG5vdCBhcHBseS4gRWRpdCBhZ2FpbiAoc2F5aW5nIFwibm9cIiBkaXNjYXJkcyEpIFt5L25dPyAiCittc2dzdHIgIiIKKyJJaHIgYmVhcmJlaXRldGVyIFBhdGNoLUJsb2NrIGthbm4gbmljaHQgYW5nZXdlbmRldCB3ZXJkZW4uXG4iCisiRXJuZXV0IGJlYXJiZWl0ZW4/IChcIm5cIiB2ZXJ3aXJmdCBCZWFyYmVpdHVuZyEpIFt5L25dPyIKKworIzogYWRkLXBhdGNoLmM6MTAwOQorbXNnaWQgIiIKKyJ5IC0gc3RhZ2UgdGhpcyBodW5rXG4iCisibiAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmtcbiIKKyJxIC0gcXVpdDsgZG8gbm90IHN0YWdlIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIHN0YWdlIHRoaXMgYW5kIGFsbCB0aGUgcmVtYWluaW5nIGh1bmtzXG4iCisiZCAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmsgbm9yIGFueSBvZiB0aGUgcmVtYWluaW5nIGh1bmtzXG4iCittc2dzdHIgIiIKKyJ5IC0gZGllc2VuIFBhdGNoLUJsb2NrIHp1bSBDb21taXQgdm9ybWVya2VuXG4iCisibiAtIGRpZXNlbiBQYXRjaC1CbG9jayBuaWNodCB6dW0gQ29tbWl0IHZvcm1lcmtlblxuIgorInEgLSBCZWVuZGVuOyBkaWVzZW4gb2RlciBhbGxlIHZlcmJsZWliZW5kZW4gUGF0Y2gtQmzDtmNrZSBuaWNodCB6dW0gQ29tbWl0ICIKKyJ2b3JtZXJrZW5cbiIKKyJhIC0gZGllc2VuIHVuZCBhbGxlIHdlaXRlcmVuIFBhdGNoLUJsw7Zja2UgenVtIENvbW1pdCB2b3JtZXJrZW5cbiIKKyJkIC0gZGllc2VuIHVuZCBhbGxlIHdlaXRlcmVuIFBhdGNoLUJsw7Zja2UgbmljaHQgenVtIENvbW1pdCB2b3JtZXJrZW5cbiIKKworIzogYWRkLXBhdGNoLmM6MTAxNgorbXNnaWQgIiIKKyJqIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIG5leHQgdW5kZWNpZGVkIGh1bmtcbiIKKyJKIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIG5leHQgaHVua1xuIgorImsgLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgcHJldmlvdXMgdW5kZWNpZGVkIGh1bmtcbiIKKyJLIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIHByZXZpb3VzIGh1bmtcbiIKKyJnIC0gc2VsZWN0IGEgaHVuayB0byBnbyB0b1xuIgorIi8gLSBzZWFyY2ggZm9yIGEgaHVuayBtYXRjaGluZyB0aGUgZ2l2ZW4gcmVnZXhcbiIKKyJzIC0gc3BsaXQgdGhlIGN1cnJlbnQgaHVuayBpbnRvIHNtYWxsZXIgaHVua3NcbiIKKyJlIC0gbWFudWFsbHkgZWRpdCB0aGUgY3VycmVudCBodW5rXG4iCisiPyAtIHByaW50IGhlbHBcbiIKK21zZ3N0ciAiIgorImogLSBkaWVzZW4gUGF0Y2gtQmxvY2sgdW5iZXN0aW1tdCBsYXNzZW4sIG7DpGNoc3RlbiB1bmJlc3RpbW10ZW4gUGF0Y2gtQmxvY2sgIgorImFuemVpZ2VuXG4iCisiSiAtIGRpZXNlbiBQYXRjaC1CbG9jayB1bmJlc3RpbW10IGxhc3NlbiwgbsOkY2hzdGVuIFBhdGNoLUJsb2NrIGFuemVpZ2VuXG4iCisiayAtIGRpZXNlbiBQYXRjaC1CbG9jayB1bmJlc3RpbW10IGxhc3Nlbiwgdm9yaGVyaWdlbiB1bmJlc3RpbW10ZW4gUGF0Y2gtIgorIkJsb2NrIGFuemVpZ2VuXG4iCisiSyAtIGRpZXNlbiBQYXRjaC1CbG9jayB1bmJlc3RpbW10IGxhc3Nlbiwgdm9yaGVyaWdlbiBQYXRjaC1CbG9jayBhbnplaWdlblxuIgorImcgLSBQYXRjaC1CbG9jayB6dW0gSGluc3ByaW5nZW4gYXVzd8OkaGxlblxuIgorIi8gLSBuYWNoIFBhdGNoLUJsb2NrIHN1Y2hlbiwgZGVyIGdlZ2ViZW5lbSByZWd1bMOkcmVtIEF1c2RydWNrIGVudHNwcmljaHRcbiIKKyJzIC0gYWt0dWVsbGVuIFBhdGNoLUJsb2NrIGluIGtsZWluZXJlIFBhdGNoLUJsw7Zja2UgYXVmdGVpbGVuXG4iCisiZSAtIGFrdHVlbGxlbiBQYXRjaC1CbG9jayBtYW51ZWxsIGVkaXRpZXJlblxuIgorIj8gLSBIaWxmZSBhbnplaWdlblxuIgorCisjOiBhZGQtcGF0Y2guYzoxMTM3IGFkZC1wYXRjaC5jOjExNDcKK21zZ2lkICJObyBwcmV2aW91cyBodW5rIgorbXNnc3RyICJLZWluIHZvcmhlcmlnZXIgUGF0Y2gtQmxvY2siCisKKyM6IGFkZC1wYXRjaC5jOjExNDIgYWRkLXBhdGNoLmM6MTE1MgorbXNnaWQgIk5vIG5leHQgaHVuayIKK21zZ3N0ciAiS2VpbiBmb2xnZW5kZXIgUGF0Y2gtQmxvY2siCisKKyM6IGFkZC1wYXRjaC5jOjExNTgKK21zZ2lkICJObyBvdGhlciBodW5rcyB0byBnb3RvIgorbXNnc3RyICJLZWluZSBhbmRlcmVuIFBhdGNoLUJsw7Zja2UgdmVyYmxlaWJlbmQiCisKKyM6IGFkZC1wYXRjaC5jOjExNjkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTc3Cittc2dpZCAiZ28gdG8gd2hpY2ggaHVuayAoPHJldD4gdG8gc2VlIG1vcmUpPyAiCittc2dzdHIgInp1IHdlbGNoZW0gUGF0Y2gtQmxvY2sgc3ByaW5nZW4gKDxFbnRlcj4gZsO8ciBtZWhyIEluZm9ybWF0aW9uZW4pPyAiCisKKyM6IGFkZC1wYXRjaC5jOjExNzAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTc5Cittc2dpZCAiZ28gdG8gd2hpY2ggaHVuaz8gIgorbXNnc3RyICJ6dSB3ZWxjaGVtIFBhdGNoLUJsb2NrIHNwcmluZ2VuPyAiCisKKyM6IGFkZC1wYXRjaC5jOjExODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBudW1iZXI6ICclcyciCittc2dzdHIgIlVuZ8O8bHRpZ2UgTnVtbWVyOiAnJXMnIgorCisjOiBhZGQtcGF0Y2guYzoxMTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNvcnJ5LCBvbmx5ICVkIGh1bmsgYXZhaWxhYmxlLiIKK21zZ2lkX3BsdXJhbCAiU29ycnksIG9ubHkgJWQgaHVua3MgYXZhaWxhYmxlLiIKK21zZ3N0clswXSAiRW50c2NodWxkaWd1bmcsIG51ciAlZCBQYXRjaC1CbG9jayB2ZXJmw7xnYmFyLiIKK21zZ3N0clsxXSAiRW50c2NodWxkaWd1bmcsIG51ciAlZCBQYXRjaC1CbMO2Y2tlIHZlcmbDvGdiYXIuIgorCisjOiBhZGQtcGF0Y2guYzoxMTk1Cittc2dpZCAiTm8gb3RoZXIgaHVua3MgdG8gc2VhcmNoIgorbXNnc3RyICJLZWluZSBhbmRlcmVuIFBhdGNoLUJsw7Zja2UgenVtIER1cmNoc3VjaGVuIgorCisjOiBhZGQtcGF0Y2guYzoxMjAxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYyMworbXNnaWQgInNlYXJjaCBmb3IgcmVnZXg/ICIKK21zZ3N0ciAiU3VjaGUgbmFjaCByZWd1bMOkcmVtIEF1c2RydWNrPyAiCisKKyM6IGFkZC1wYXRjaC5jOjEyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzIgorbXNnc3RyICJGZWhsZXJoYWZ0ZXIgcmVndWzDpHJlciBBdXNkcnVjayBmw7xyIFN1Y2hlICVzOiAlcyIKKworIzogYWRkLXBhdGNoLmM6MTIzMworbXNnaWQgIk5vIGh1bmsgbWF0Y2hlcyB0aGUgZ2l2ZW4gcGF0dGVybiIKK21zZ3N0ciAiS2VpbiBQYXRjaC1CbG9jayBlbnRzcHJpY2h0IGRlbSBhbmdlZ2ViZW5lbiBNdXN0ZXIiCisKKyM6IGFkZC1wYXRjaC5jOjEyNDAKK21zZ2lkICJTb3JyeSwgY2Fubm90IHNwbGl0IHRoaXMgaHVuayIKK21zZ3N0ciAiRW50c2NodWxkaWd1bmcsIGthbm4gZGllc2VuIFBhdGNoLUJsb2NrIG5pY2h0IGF1ZnRlaWxlbiIKKworIzogYWRkLXBhdGNoLmM6MTI0NAorIywgYy1mb3JtYXQKK21zZ2lkICJTcGxpdCBpbnRvICVkIGh1bmtzLiIKK21zZ3N0ciAiSW4gJWQgUGF0Y2gtQmxvY2sgYXVmZ2V0ZWlsdC4iCisKKyM6IGFkZC1wYXRjaC5jOjEyNDgKK21zZ2lkICJTb3JyeSwgY2Fubm90IGVkaXQgdGhpcyBodW5rIgorbXNnc3RyICJFbnRzY2h1bGRpZ3VuZywga2FubiBkaWVzZW4gUGF0Y2gtQmxvY2sgbmljaHQgYmVhcmJlaXRlbiIKKworIzogYWR2aWNlLmM6MTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzaGludDogJS4qcyVzXG4iCiBtc2dzdHIgIiVzSGlud2VpczogJS4qcyVzXG4iCiAKLSM6IGFkdmljZS5jOjE1MgorIzogYWR2aWNlLmM6MTY0CiBtc2dpZCAiQ2hlcnJ5LXBpY2tpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICIiCiAiQ2hlcnJ5LVBpY2tlbiBpc3QgbmljaHQgbcO2Z2xpY2gsIHdlaWwgU2llIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gIgogImhhYmVuLiIKIAotIzogYWR2aWNlLmM6MTU0CisjOiBhZHZpY2UuYzoxNjYKIG1zZ2lkICJDb21taXR0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogIkNvbW1pdHRlbiBpc3QgbmljaHQgbcO2Z2xpY2gsIHdlaWwgU2llIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gaGFiZW4uIgogCi0jOiBhZHZpY2UuYzoxNTYKKyM6IGFkdmljZS5jOjE2OAogbXNnaWQgIk1lcmdpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICIiCiAiTWVyZ2VuIGlzdCBuaWNodCBtw7ZnbGljaCwgd2VpbCBTaWUgbmljaHQgenVzYW1tZW5nZWbDvGhydGUgRGF0ZWllbiBoYWJlbi4iCiAKLSM6IGFkdmljZS5jOjE1OAorIzogYWR2aWNlLmM6MTcwCiBtc2dpZCAiUHVsbGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIiIKICJQdWxsZW4gaXN0IG5pY2h0IG3DtmdsaWNoLCB3ZWlsIFNpZSBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBEYXRlaWVuIGhhYmVuLiIKIAotIzogYWR2aWNlLmM6MTYwCisjOiBhZHZpY2UuYzoxNzIKIG1zZ2lkICJSZXZlcnRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICIiCiAiUmV2ZXJ0ZW4gaXN0IG5pY2h0IG3DtmdsaWNoLCB3ZWlsIFNpZSBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBEYXRlaWVuIGhhYmVuLiIKIAotIzogYWR2aWNlLmM6MTYyCisjOiBhZHZpY2UuYzoxNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSXQgaXMgbm90IHBvc3NpYmxlIHRvICVzIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICIlcyBpc3QgbmljaHQgbcO2Z2xpY2gsIHdlaWwgU2llIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gaGFiZW4uIgogCi0jOiBhZHZpY2UuYzoxNzAKKyM6IGFkdmljZS5jOjE4MgogbXNnaWQgIiIKICJGaXggdGhlbSB1cCBpbiB0aGUgd29yayB0cmVlLCBhbmQgdGhlbiB1c2UgJ2dpdCBhZGQvcm0gPGZpbGU+J1xuIgogImFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbiBhbmQgbWFrZSBhIGNvbW1pdC4iCkBAIC02MiwxNDYgKzQ5NSwxNTYgQEAKICJkYW5uICdnaXQgYWRkL3JtIDxEYXRlaT4nLCB1bSBkaWUgQXVmbMO2c3VuZyBlbnRzcHJlY2hlbmQgenUgbWFya2llcmVuXG4iCiAidW5kIHp1IGNvbW1pdHRlbi4iCiAKLSM6IGFkdmljZS5jOjE3OAorIzogYWR2aWNlLmM6MTkwCiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIGFuIHVucmVzb2x2ZWQgY29uZmxpY3QuIgogbXNnc3RyICJCZWVuZGUgd2VnZW4gdW5hdWZnZWzDtnN0ZW0gS29uZmxpa3QuIgogCi0jOiBhZHZpY2UuYzoxODMgYnVpbHRpbi9tZXJnZS5jOjEyODkKKyM6IGFkdmljZS5jOjE5NSBidWlsdGluL21lcmdlLmM6MTMzMgogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiU2llIGhhYmVuIElocmVuIE1lcmdlIG5pY2h0IGFiZ2VzY2hsb3NzZW4gKE1FUkdFX0hFQUQgZXhpc3RpZXJ0KS4iCiAKLSM6IGFkdmljZS5jOjE4NQorIzogYWR2aWNlLmM6MTk3CiBtc2dpZCAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSBtZXJnaW5nLiIKIG1zZ3N0ciAiQml0dGUgY29tbWl0dGVuIFNpZSBJaHJlIMOEbmRlcnVuZ2VuLCBiZXZvciBTaWUgbWVyZ2VuLiIKIAotIzogYWR2aWNlLmM6MTg2CisjOiBhZHZpY2UuYzoxOTgKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgdW5maW5pc2hlZCBtZXJnZS4iCiBtc2dzdHIgIkJlZW5kZSB3ZWdlbiBuaWNodCBhYmdlc2NobG9zc2VuZW0gTWVyZ2UuIgogCi0jOiBhZHZpY2UuYzoxOTIKKyM6IGFkdmljZS5jOjIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iTm90ZTogY2hlY2tpbmcgb3V0ICclcycuXG4iCisiTm90ZTogc3dpdGNoaW5nIHRvICclcycuXG4iCiAiXG4iCiAiWW91IGFyZSBpbiAnZGV0YWNoZWQgSEVBRCcgc3RhdGUuIFlvdSBjYW4gbG9vayBhcm91bmQsIG1ha2UgZXhwZXJpbWVudGFsXG4iCiAiY2hhbmdlcyBhbmQgY29tbWl0IHRoZW0sIGFuZCB5b3UgY2FuIGRpc2NhcmQgYW55IGNvbW1pdHMgeW91IG1ha2UgaW4gdGhpc1xuIgotInN0YXRlIHdpdGhvdXQgaW1wYWN0aW5nIGFueSBicmFuY2hlcyBieSBwZXJmb3JtaW5nIGFub3RoZXIgY2hlY2tvdXQuXG4iCisic3RhdGUgd2l0aG91dCBpbXBhY3RpbmcgYW55IGJyYW5jaGVzIGJ5IHN3aXRjaGluZyBiYWNrIHRvIGEgYnJhbmNoLlxuIgogIlxuIgogIklmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggdG8gcmV0YWluIGNvbW1pdHMgeW91IGNyZWF0ZSwgeW91IG1heVxuIgotImRvIHNvIChub3cgb3IgbGF0ZXIpIGJ5IHVzaW5nIC1iIHdpdGggdGhlIGNoZWNrb3V0IGNvbW1hbmQgYWdhaW4uIEV4YW1wbGU6XG4iCisiZG8gc28gKG5vdyBvciBsYXRlcikgYnkgdXNpbmcgLWMgd2l0aCB0aGUgc3dpdGNoIGNvbW1hbmQuIEV4YW1wbGU6XG4iCiAiXG4iCi0iICBnaXQgY2hlY2tvdXQgLWIgPG5ldy1icmFuY2gtbmFtZT5cbiIKKyIgIGdpdCBzd2l0Y2ggLWMgPG5ldy1icmFuY2gtbmFtZT5cbiIKKyJcbiIKKyJPciB1bmRvIHRoaXMgb3BlcmF0aW9uIHdpdGg6XG4iCisiXG4iCisiICBnaXQgc3dpdGNoIC1cbiIKKyJcbiIKKyJUdXJuIG9mZiB0aGlzIGFkdmljZSBieSBzZXR0aW5nIGNvbmZpZyB2YXJpYWJsZSBhZHZpY2UuZGV0YWNoZWRIZWFkIHRvICIKKyJmYWxzZVxuIgogIlxuIgogbXNnc3RyICIiCi0iSGlud2VpczogQ2hlY2tlICclcycgYXVzLlxuIgorIkhpbndlaXM6IFdlY2hzbGUgenUgJyVzJy5cbiIKICJcbiIKICJTaWUgYmVmaW5kZW4gc2ljaCBpbSBadXN0YW5kIGVpbmVzICdsb3NnZWzDtnN0ZW4gSEVBRCcuIFNpZSBrw7ZubmVuIHNpY2hcbiIKICJ1bXNjaGF1ZW4sIGV4cGVyaW1lbnRlbGxlIMOEbmRlcnVuZ2VuIHZvcm5laG1lbiB1bmQgZGllc2UgY29tbWl0dGVuLCB1bmRcbiIKICJTaWUga8O2bm5lbiBhbGxlIG3DtmdsaWNoZW4gQ29tbWl0cywgZGllIFNpZSBpbiBkaWVzZW0gWnVzdGFuZCBtYWNoZW4sXG4iCi0ib2huZSBBdXN3aXJrdW5nZW4gYXVmIGlyZ2VuZGVpbmVuIEJyYW5jaCB2ZXJ3ZXJmZW4sIGluZGVtIFNpZSBlaW5lblxuIgotIndlaXRlcmVuIENoZWNrb3V0IGR1cmNoZsO8aHJlbi5cbiIKKyJvaG5lIEF1c3dpcmt1bmdlbiBhdWYgaXJnZW5kZWluZW4gQnJhbmNoIHZlcndlcmZlbiwgaW5kZW0gU2llIHp1IGVpbmVtXG4iCisiYW5kZXJlbiBCcmFuY2ggd2VjaHNlbG4uXG4iCiAiXG4iCiAiV2VubiBTaWUgZWluZW4gbmV1ZW4gQnJhbmNoIGVyc3RlbGxlbiBtw7ZjaHRlbiwgdW0gSWhyZSBlcnN0ZWxsdGVuIENvbW1pdHNcbiIKLSJ6dSBiZWhhbHRlbiwga8O2bm5lbiBTaWUgZGFzIChqZXR6dCBvZGVyIHNww6R0ZXIpIGR1cmNoIGVpbmVuIHdlaXRlcmVuICIKLSJDaGVja291dFxuIgotIm1pdCBkZXIgT3B0aW9uIC1iIHR1bi4gQmVpc3BpZWw6XG4iCisienUgYmVoYWx0ZW4sIGvDtm5uZW4gU2llIGRhcyAoamV0enQgb2RlciBzcMOkdGVyKSBkdXJjaCBOdXR6dW5nIHZvblxuIgorIidzd2l0Y2gnIG1pdCBkZXIgT3B0aW9uIC1jIHR1bi4gQmVpc3BpZWw6XG4iCiAiXG4iCi0iICBnaXQgY2hlY2tvdXQgLWIgPG5ldWVyLUJyYW5jaG5hbWU+XG4iCisiICBnaXQgc3dpdGNoIC1jIDxuZXVlci1CcmFuY2huYW1lPlxuIgorIlxuIgorIk9kZXIgdW0gZGllc2UgT3BlcmF0aW9uIHLDvGNrZ8OkbmdpZyB6dSBtYWNoZW46XG4iCisiICBnaXQgc3dpdGNoIC1cbiIKKyJcbiIKKyJTaWUga8O2bm5lbiBkaWVzZW4gSGlud2VpcyBhdXNzY2hhbHRlbiwgaW5kZW0gU2llIGRpZSBLb25maWd1cmF0aW9uc3ZhcmlhYmxlXG4iCisiJ2FkdmljZS5kZXRhY2hlZEhlYWQnIGF1ZiAnZmFsc2UnIHNldHplbi5cbiIKICJcbiIKIAotIzogYXBwbHkuYzo1OQorIzogYWxpYXMuYzo1MAorbXNnaWQgImNtZGxpbmUgZW5kcyB3aXRoIFxcIgorbXNnc3RyICJCZWZlaGxzemVpbGUgZW5kZXQgbWl0IFxcIgorCisjOiBhbGlhcy5jOjUxCittc2dpZCAidW5jbG9zZWQgcXVvdGUiCittc2dzdHIgIk5pY2h0IGdlc2NobG9zc2VuZSBBbmbDvGhydW5nc3plaWNoZW4uIgorCisjOiBhcHBseS5jOjY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgotbXNnc3RyICJuaWNodCBlcmthbm50ZSBXaGl0ZXNwYWNlLU9wdGlvbjogJyVzJyIKK21zZ3N0ciAiTmljaHQgZXJrYW5udGUgV2hpdGVzcGFjZS1PcHRpb246ICclcyciCiAKLSM6IGFwcGx5LmM6NzUKKyM6IGFwcGx5LmM6ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgogbXNnc3RyICJuaWNodCBlcmthbm50ZSBPcHRpb24genVtIElnbm9yaWVyZW4gdm9uIFdoaXRlc3BhY2U6ICclcyciCiAKLSM6IGFwcGx5LmM6MTI1CisjOiBhcHBseS5jOjEzNQogbXNnaWQgIi0tcmVqZWN0IGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgogbXNnc3RyICItLXJlamVjdCB1bmQgLS0zd2F5IGvDtm5uZW4gbmljaHQgZ2VtZWluc2FtIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBhcHBseS5jOjEyNworIzogYXBwbHkuYzoxMzcKIG1zZ2lkICItLWNhY2hlZCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKIG1zZ3N0ciAiLS1jYWNoZWQgdW5kIC0tM3dheSBrw7ZubmVuIG5pY2h0IGdlbWVpbnNhbSB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYXBwbHkuYzoxMzAKKyM6IGFwcGx5LmM6MTQwCiBtc2dpZCAiLS0zd2F5IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAiRGllIE9wdGlvbiAtLTN3YXkga2FubiBuaWNodCBhdcOfZXJoYWxiIGVpbmVzIFJlcG9zaXRvcmllcyB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYXBwbHkuYzoxNDEKKyM6IGFwcGx5LmM6MTUxCiBtc2dpZCAiLS1pbmRleCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb24gLS1pbmRleCBrYW5uIG5pY2h0IGF1w59lcmhhbGIgZWluZXMgUmVwb3NpdG9yaWVzIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBhcHBseS5jOjE0NAorIzogYXBwbHkuYzoxNTQKIG1zZ2lkICItLWNhY2hlZCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb24gLS1jYWNoZWQga2FubiBuaWNodCBhdcOfZXJoYWxiIGVpbmVzIFJlcG9zaXRvcmllcyB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYXBwbHkuYzo4MjYKKyM6IGFwcGx5LmM6ODAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBwcmVwYXJlIHRpbWVzdGFtcCByZWdleHAgJXMiCiBtc2dzdHIgIkthbm4gcmVndWzDpHJlbiBBdXNkcnVjayBmw7xyIFplaXRzdGVtcGVsICVzIG5pY2h0IHZlcmFyYmVpdGVuIgogCi0jOiBhcHBseS5jOjgzNQorIzogYXBwbHkuYzo4MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIgogbXNnc3RyICJBdXNmw7xocnVuZyBkZXMgcmVndWzDpHJlbiBBdXNkcnVja3MgZ2FiICVkIHp1csO8Y2suIEVpbmdhYmU6ICVzIgogCi0jOiBhcHBseS5jOjkwOQorIzogYXBwbHkuYzo4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGZpbmQgZmlsZW5hbWUgaW4gcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAiS29ubnRlIGtlaW5lbiBEYXRlaW5hbWVuIGluIFplaWxlICVkIGRlcyBQYXRjaGVzIGZpbmRlbi4iCiAKLSM6IGFwcGx5LmM6OTQ3CisjOiBhcHBseS5jOjkyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKICJnaXQgYXBwbHk6IHVuZ8O8bHRpZ2VzICdnaXQtZGlmZicgLSBlcndhcnRldGUgL2Rldi9udWxsLCBlcmhpZWx0ICVzIGluIFplaWxlICIKICIlZCIKIAotIzogYXBwbHkuYzo5NTMKKyM6IGFwcGx5LmM6OTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG5ldyBmaWxlbmFtZSBvbiBsaW5lICVkIgogbXNnc3RyICIiCiAiZ2l0IGFwcGx5OiB1bmfDvGx0aWdlcyAnZ2l0LWRpZmYnIC0gSW5rb25zaXN0ZW50ZXIgbmV1ZXIgRGF0ZWluYW1lIGluIFplaWxlICVkIgogCi0jOiBhcHBseS5jOjk1NAorIzogYXBwbHkuYzo5MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKICJnaXQgYXBwbHk6IHVuZ8O8bHRpZ2VzICdnaXQtZGlmZicgLSBJbmtvbnNpc3RlbnRlciBhbHRlciBEYXRlaW5hbWUgaW4gWmVpbGUgJWQiCiAKLSM6IGFwcGx5LmM6OTU5CisjOiBhcHBseS5jOjkzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCBvbiBsaW5lICVkIgogbXNnc3RyICJnaXQgYXBwbHk6IHVuZ8O8bHRpZ2VzICdnaXQtZGlmZicgLSBlcndhcnRldGUgL2Rldi9udWxsIGluIFplaWxlICVkIgogCi0jOiBhcHBseS5jOjk4OAorIzogYXBwbHkuYzo5NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBtb2RlIG9uIGxpbmUgJWQ6ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlciBNb2R1cyBpbiBaZWlsZSAlZDogJXMiCiAKLSM6IGFwcGx5LmM6MTMwNworIzogYXBwbHkuYzoxMjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImluY29uc2lzdGVudCBoZWFkZXIgbGluZXMgJWQgYW5kICVkIgogbXNnc3RyICJJbmtvbnNpc3RlbnRlIEtvcGZ6ZWlsZW4gJWQgdW5kICVkLiIKIAotIzogYXBwbHkuYzoxNDc5Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKLW1zZ3N0ciAicmVjb3VudDogdW5lcndhcnRldGUgWmVpbGU6ICUuKnMiCi0KLSM6IGFwcGx5LmM6MTU0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgotbXNnc3RyICJQYXRjaC1GcmFnbWVudCBvaG5lIEtvcGZiZXJlaWNoIGJlaSBaZWlsZSAlZDogJS4qcyIKLQotIzogYXBwbHkuYzoxNTY4CisjOiBhcHBseS5jOjEzNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgpAQCAtMjE2LDcyICs2NTksODIgQEAKICJEZW0gS29wZmJlcmVpY2ggdm9uIFwiZ2l0IGRpZmZcIiBmZWhsZW4gSW5mb3JtYXRpb25lbiB6dW0gRGF0ZWluYW1lbiwgd2VubiAiCiAiJWQgdm9yYW5nZXN0ZWxsdGUgVGVpbGUgZGVzIFBmYWRlcyBlbnRmZXJudCB3ZXJkZW4gKFplaWxlICVkKSIKIAotIzogYXBwbHkuYzoxNTgxCisjOiBhcHBseS5jOjEzODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIChsaW5lICVkKSIKIG1zZ3N0ciAiIgogIkRlbSBLb3BmYmVyZWljaCB2b24gXCJnaXQgZGlmZlwiIGZlaGxlbiBJbmZvcm1hdGlvbmVuIHp1bSBEYXRlaW5hbWVuIChaZWlsZSAiCiAiJWQpIgogCi0jOiBhcHBseS5jOjE3NjkKKyM6IGFwcGx5LmM6MTQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvdW50OiB1bmV4cGVjdGVkIGxpbmU6ICUuKnMiCittc2dzdHIgInJlY291bnQ6IHVuZXJ3YXJ0ZXRlIFplaWxlOiAlLipzIgorCisjOiBhcHBseS5jOjE1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0Y2ggZnJhZ21lbnQgd2l0aG91dCBoZWFkZXIgYXQgbGluZSAlZDogJS4qcyIKK21zZ3N0ciAiUGF0Y2gtRnJhZ21lbnQgb2huZSBLb3BmYmVyZWljaCBiZWkgWmVpbGUgJWQ6ICUuKnMiCisKKyM6IGFwcGx5LmM6MTc1MwogbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgogbXNnc3RyICJuZXVlIERhdGVpIGjDpG5ndCB2b24gYWx0ZW4gSW5oYWx0ZW4gYWIiCiAKLSM6IGFwcGx5LmM6MTc3MQorIzogYXBwbHkuYzoxNzU1CiBtc2dpZCAiZGVsZXRlZCBmaWxlIHN0aWxsIGhhcyBjb250ZW50cyIKIG1zZ3N0ciAiZW50ZmVybnRlIERhdGVpIGhhdCBub2NoIEluaGFsdGUiCiAKLSM6IGFwcGx5LmM6MTgwNQorIzogYXBwbHkuYzoxNzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAiZmVobGVyaGFmdGVyIFBhdGNoIGJlaSBaZWlsZSAlZCIKIAotIzogYXBwbHkuYzoxODQyCisjOiBhcHBseS5jOjE4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCiBtc2dzdHIgIm5ldWUgRGF0ZWkgJXMgaMOkbmd0IHZvbiBhbHRlbiBJbmhhbHRlbiBhYiIKIAotIzogYXBwbHkuYzoxODQ0CisjOiBhcHBseS5jOjE4MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRlZCBmaWxlICVzIHN0aWxsIGhhcyBjb250ZW50cyIKIG1zZ3N0ciAiZW50ZmVybnRlIERhdGVpICVzIGhhdCBub2NoIEluaGFsdGUiCiAKLSM6IGFwcGx5LmM6MTg0NworIzogYXBwbHkuYzoxODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIioqIHdhcm5pbmc6IGZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiCiBtc2dzdHIgIioqIFdhcm51bmc6IERhdGVpICVzIHdpcmQgbGVlciwgYWJlciBuaWNodCBlbnRmZXJudC4iCiAKLSM6IGFwcGx5LmM6MTk5NAorIzogYXBwbHkuYzoxOTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgImZlaGxlcmhhZnRlciBCaW7DpHItUGF0Y2ggYmVpIFplaWxlICVkOiAlLipzIgogCi0jOiBhcHBseS5jOjIwMzEKKyM6IGFwcGx5LmM6MjAxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgIm5pY2h0IGVya2FubnRlciBCaW7DpHItUGF0Y2ggYmVpIFplaWxlICVkIgogCi0jOiBhcHBseS5jOjIxOTMKKyM6IGFwcGx5LmM6MjE3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIgogbXNnc3RyICJQYXRjaCBtaXQgbnV0emxvc2VuIEluZm9ybWF0aW9uZW4gYmVpIFplaWxlICVkIgogCi0jOiBhcHBseS5jOjIyNzkKKyM6IGFwcGx5LmM6MjI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzeW1saW5rICVzIgogbXNnc3RyICJrb25udGUgc3ltYm9saXNjaGUgVmVya27DvHBmdW5nICVzIG5pY2h0IGxlc2VuIgogCi0jOiBhcHBseS5jOjIyODMKKyM6IGFwcGx5LmM6MjI2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiBvciByZWFkICVzIgogbXNnc3RyICJrb25udGUgJXMgbmljaHQgw7ZmZm5lbiBvZGVyIGxlc2VuIgogCi0jOiBhcHBseS5jOjI5NDIKKyM6IGFwcGx5LmM6MjkzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHN0YXJ0IG9mIGxpbmU6ICclYyciCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIFplaWxlbmFuZmFuZzogJyVjJyIKIAotIzogYXBwbHkuYzozMDYzCisjOiBhcHBseS5jOjMwNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZSkuIgogbXNnaWRfcGx1cmFsICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lcykuIgpAQCAtMjg5LDEyICs3NDIsMTIgQEAKIG1zZ3N0clsxXSAiIgogIlBhdGNoLUJlcmVpY2ggIyVkIGVyZm9sZ3JlaWNoIGFuZ2V3ZW5kZXQgYmVpICVkICglZCBaZWlsZW4gdmVyc2V0enQpIgogCi0jOiBhcHBseS5jOjMwNzUKKyM6IGFwcGx5LmM6MzA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgogbXNnc3RyICJLb250ZXh0IHJlZHV6aWVydCB6dSAoJWxkLyVsZCksIHVtIFBhdGNoLUJlcmVpY2ggYmVpICVkIGFuenV3ZW5kZW4iCiAKLSM6IGFwcGx5LmM6MzA4MQorIzogYXBwbHkuYzozMDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuIgpAQCAtMzAzLDI1ICs3NTYsMjUgQEAKICJiZWkgZGVyIFN1Y2hlIG5hY2g6XG4iCiAiJS4qcyIKIAotIzogYXBwbHkuYzozMTAzCisjOiBhcHBseS5jOjMwOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKIG1zZ3N0ciAia2VpbmUgRGF0ZW4gaW4gQmluw6RyLVBhdGNoIGbDvHIgJyVzJyIKIAotIzogYXBwbHkuYzozMTExCisjOiBhcHBseS5jOjMxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJldmVyc2UtYXBwbHkgYSBiaW5hcnkgcGF0Y2ggd2l0aG91dCB0aGUgcmV2ZXJzZSBodW5rIHRvICclcyciCiBtc2dzdHIgIiIKICJrYW5uIGJpbsOkcmVuIFBhdGNoIG5pY2h0IGluIHVtZ2VrZWhydGVyIFJlaWhlbmZvbGdlIGFud2VuZGVuIG9obmUgZWluZW5cbiIKICJ1bWdla2VocnRlbiBQYXRjaC1CbG9jayBhdWYgJyVzJyIKIAotIzogYXBwbHkuYzozMTU4CisjOiBhcHBseS5jOjMxNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGFwcGx5IGJpbmFyeSBwYXRjaCB0byAnJXMnIHdpdGhvdXQgZnVsbCBpbmRleCBsaW5lIgogbXNnc3RyICIiCiAia2FubiBiaW7DpHJlbiBQYXRjaCBhdWYgJyVzJyBuaWNodCBvaG5lIGVpbmUgdm9sbHN0w6RuZGlnZSBJbmRleC1aZWlsZSBhbndlbmRlbiIKIAotIzogYXBwbHkuYzozMTY4CisjOiBhcHBseS5jOjMxNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInRoZSBwYXRjaCBhcHBsaWVzIHRvICclcycgKCVzKSwgd2hpY2ggZG9lcyBub3QgbWF0Y2ggdGhlIGN1cnJlbnQgY29udGVudHMuIgpAQCAtMzI5LDQ0MSArNzgyLDQyNyBAQAogImRlciBQYXRjaCB3aXJkIGFuZ2V3ZW5kZXQgYXVmICclcycgKCVzKSwgd2FzIG5pY2h0IGRlbiBha3R1ZWxsZW4gSW5oYWx0ZW5cbiIKICJlbnRzcHJpY2h0IgogCi0jOiBhcHBseS5jOjMxNzYKKyM6IGFwcGx5LmM6MzE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgcGF0Y2ggYXBwbGllcyB0byBhbiBlbXB0eSAnJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiCiBtc2dzdHIgImRlciBQYXRjaCB3aXJkIGF1ZiBlaW4gbGVlcmVzICclcycgYW5nZXdlbmRldCwgd2FzIGFiZXIgbmljaHQgbGVlciBpc3QiCiAKLSM6IGFwcGx5LmM6MzE5NAorIzogYXBwbHkuYzozMTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBuZWNlc3NhcnkgcG9zdGltYWdlICVzIGZvciAnJXMnIGNhbm5vdCBiZSByZWFkIgogbXNnc3RyICJkYXMgZXJmb3JkZXJsaWNoZSBQb3N0aW1hZ2UgJXMgZsO8ciAnJXMnIGthbm4gbmljaHQgZ2VsZXNlbiB3ZXJkZW4iCiAKLSM6IGFwcGx5LmM6MzIwNworIzogYXBwbHkuYzozMjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJpbmFyeSBwYXRjaCBkb2VzIG5vdCBhcHBseSB0byAnJXMnIgogbXNnc3RyICJLb25udGUgQmluw6RyLVBhdGNoIG5pY2h0IGF1ZiAnJXMnIGFud2VuZGVuIgogCi0jOiBhcHBseS5jOjMyMTMKKyM6IGFwcGx5LmM6MzIwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJiaW5hcnkgcGF0Y2ggdG8gJyVzJyBjcmVhdGVzIGluY29ycmVjdCByZXN1bHQgKGV4cGVjdGluZyAlcywgZ290ICVzKSIKIG1zZ3N0ciAiIgogIkJpbsOkci1QYXRjaCBmw7xyICclcycgZXJ6ZXVndCBmYWxzY2hlcyBFcmdlYm5pcyAoZXJ3YXJ0ZXRlICVzLCBiZWthbSAlcykiCiAKLSM6IGFwcGx5LmM6MzIzNAorIzogYXBwbHkuYzozMjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgogbXNnc3RyICJBbndlbmR1bmcgZGVzIFBhdGNoZXMgZmVobGdlc2NobGFnZW46ICVzOiVsZCIKIAotIzogYXBwbHkuYzozMzU2CisjOiBhcHBseS5jOjMzNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZWNrb3V0ICVzIgogbXNnc3RyICJrYW5uICVzIG5pY2h0IGF1c2NoZWNrZW4iCiAKLSM6IGFwcGx5LmM6MzQwOCBhcHBseS5jOjM0MTkgYXBwbHkuYzozNDY1IG1pZHguYzo1OCBzZXR1cC5jOjI3OAorIzogYXBwbHkuYzozNDAzIGFwcGx5LmM6MzQxNCBhcHBseS5jOjM0NjAgbWlkeC5jOjYxIHNldHVwLmM6MjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkICVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSBMZXNlbiB2b24gJXMiCiAKLSM6IGFwcGx5LmM6MzQxNgorIzogYXBwbHkuYzozNDExCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWRpbmcgZnJvbSAnJXMnIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgIiclcycgaXN0IGhpbnRlciBlaW5lciBzeW1ib2xpc2NoZW4gVmVya27DvHBmdW5nIgogCi0jOiBhcHBseS5jOjM0NDUgYXBwbHkuYzozNjg4CisjOiBhcHBseS5jOjM0NDAgYXBwbHkuYzozNjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJXMgaGFzIGJlZW4gcmVuYW1lZC9kZWxldGVkIgogbXNnc3RyICJQZmFkICVzIHd1cmRlIHVtYmVuYW5udC9nZWzDtnNjaHQiCiAKLSM6IGFwcGx5LmM6MzUzMSBhcHBseS5jOjM3MDMKKyM6IGFwcGx5LmM6MzUyNiBhcHBseS5jOjM2OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4IgogbXNnc3RyICIlcyBpc3QgbmljaHQgaW0gSW5kZXgiCiAKLSM6IGFwcGx5LmM6MzU0MCBhcHBseS5jOjM3MTEKKyM6IGFwcGx5LmM6MzUzNSBhcHBseS5jOjM3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IgogbXNnc3RyICIlcyBlbnRzcHJpY2h0IG5pY2h0IGRlciBWZXJzaW9uIGltIEluZGV4IgogCi0jOiBhcHBseS5jOjM1NzUKKyM6IGFwcGx5LmM6MzU3MAogbXNnaWQgInJlcG9zaXRvcnkgbGFja3MgdGhlIG5lY2Vzc2FyeSBibG9iIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgIiIKICJEZW0gUmVwb3NpdG9yeSBmZWhsdCBkZXIgbm90d2VuZGlnZSBCbG9iLCB1bSBhdWYgZWluZW4gMy1XZWdlLU1lcmdlXG4iCiAienVyw7xja3p1ZmFsbGVuLiIKIAotIzogYXBwbHkuYzozNTc4CisjOiBhcHBseS5jOjM1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFsbGluZyBiYWNrIHRvIHRocmVlLXdheSBtZXJnZS4uLlxuIgogbXNnc3RyICJGYWxsZSB6dXLDvGNrIGF1ZiAzLVdlZ2UtTWVyZ2UgLi4uXG4iCiAKLSM6IGFwcGx5LmM6MzU5NCBhcHBseS5jOjM1OTgKKyM6IGFwcGx5LmM6MzU4OSBhcHBseS5jOjM1OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgJyVzJyIKIG1zZ3N0ciAia2FubiBha3R1ZWxsZSBJbmhhbHRlIHZvbiAnJXMnIG5pY2h0IGxlc2VuIgogCi0jOiBhcHBseS5jOjM2MTAKKyM6IGFwcGx5LmM6MzYwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gZmFsbCBiYWNrIG9uIHRocmVlLXdheSBtZXJnZS4uLlxuIgogbXNnc3RyICJGZWhsZXIgYmVpbSBadXLDvGNrZmFsbGVuIGF1ZiAzLVdlZ2UtTWVyZ2UuLi5cbiIKIAotIzogYXBwbHkuYzozNjI0CisjOiBhcHBseS5jOjM2MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIHdpdGggY29uZmxpY3RzLlxuIgogbXNnc3RyICJQYXRjaCBhdWYgJyVzJyBtaXQgS29uZmxpa3RlbiBhbmdld2VuZGV0LlxuIgogCi0jOiBhcHBseS5jOjM2MjkKKyM6IGFwcGx5LmM6MzYyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgY2xlYW5seS5cbiIKIG1zZ3N0ciAiUGF0Y2ggYXVmICclcycgc2F1YmVyIGFuZ2V3ZW5kZXQuXG4iCiAKLSM6IGFwcGx5LmM6MzY1NQorIzogYXBwbHkuYzozNjUwCiBtc2dpZCAicmVtb3ZhbCBwYXRjaCBsZWF2ZXMgZmlsZSBjb250ZW50cyIKIG1zZ3N0ciAiTMO2c2NoLVBhdGNoIGhpbnRlcmzDpHNzdCBEYXRlaWluaGFsdGUiCiAKLSM6IGFwcGx5LmM6MzcyOAorIzogYXBwbHkuYzozNzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgogbXNnc3RyICIlczogZmFsc2NoZXIgVHlwIgogCi0jOiBhcHBseS5jOjM3MzAKKyM6IGFwcGx5LmM6MzcyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCiBtc2dzdHIgIiVzIGlzdCB2b20gVHlwICVvLCBlcndhcnRldGUgJW8iCiAKLSM6IGFwcGx5LmM6Mzg4MSBhcHBseS5jOjM4ODMKKyM6IGFwcGx5LmM6Mzg3NiBhcHBseS5jOjM4NzggcmVhZC1jYWNoZS5jOjgzMCByZWFkLWNhY2hlLmM6ODU2CisjOiByZWFkLWNhY2hlLmM6MTMyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHBhdGggJyVzJyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgUGZhZCAnJXMnIgogCi0jOiBhcHBseS5jOjM5MzkKKyM6IGFwcGx5LmM6MzkzNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgiCiBtc2dzdHIgIiVzIGlzdCBiZXJlaXRzIGJlcmVpdGdlc3RlbGx0IgogCi0jOiBhcHBseS5jOjM5NDIKKyM6IGFwcGx5LmM6MzkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzIGV4aXN0aWVydCBiZXJlaXRzIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyIKIAotIzogYXBwbHkuYzozOTYyCisjOiBhcHBseS5jOjM5NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIgogbXNnc3RyICJuZXVlciBNb2R1cyAoJW8pIHZvbiAlcyBlbnRzcHJpY2h0IG5pY2h0IGRlbSBhbHRlbiBNb2R1cyAoJW8pIgogCi0jOiBhcHBseS5jOjM5NjcKKyM6IGFwcGx5LmM6Mzk2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiCiBtc2dzdHIgIm5ldWVyIE1vZHVzICglbykgdm9uICVzIGVudHNwcmljaHQgbmljaHQgZGVtIGFsdGVuIE1vZHVzICglbykgdm9uICVzIgogCi0jOiBhcHBseS5jOjM5ODcKKyM6IGFwcGx5LmM6Mzk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAiYmV0cm9mZmVuZSBEYXRlaSAnJXMnIGlzdCBoaW50ZXIgZWluZXIgc3ltYm9saXNjaGVuIFZlcmtuw7xwZnVuZyIKIAotIzogYXBwbHkuYzozOTkxCisjOiBhcHBseS5jOjM5ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgogbXNnc3RyICIlczogUGF0Y2gga29ubnRlIG5pY2h0IGFuZ2V3ZW5kZXQgd2VyZGVuIgogCi0jOiBhcHBseS5jOjQwMDYKKyM6IGFwcGx5LmM6NDAwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKIG1zZ3N0ciAiUHLDvGZlIFBhdGNoICVzIC4uLiIKIAotIzogYXBwbHkuYzo0MDk4CisjOiBhcHBseS5jOjQwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAiU0hBLTEgSW5mb3JtYXRpb24gZmVobHQgb2RlciBpc3QgdW5icmF1Y2hiYXIgZsO8ciBTdWJtb2R1bCAlcyIKIAotIzogYXBwbHkuYzo0MTA1CisjOiBhcHBseS5jOjQxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9kZSBjaGFuZ2UgZm9yICVzLCB3aGljaCBpcyBub3QgaW4gY3VycmVudCBIRUFEIgogbXNnc3RyICJNb2R1c8OkbmRlcnVuZyBmw7xyICVzLCB3YXMgc2ljaCBuaWNodCBpbSBha3R1ZWxsZW4gSEVBRCBiZWZpbmRldCIKIAotIzogYXBwbHkuYzo0MTA4CisjOiBhcHBseS5jOjQxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgKCVzKS4iCiBtc2dzdHIgIlNIQS0xIEluZm9ybWF0aW9uIGZlaGx0IG9kZXIgaXN0IHVuYnJhdWNoYmFyICglcykuIgogCi0jOiBhcHBseS5jOjQxMTMgYnVpbHRpbi9jaGVja291dC5jOjI0NCBidWlsdGluL3Jlc2V0LmM6MTQyCi0jLCBjLWZvcm1hdAotbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCi1tc2dzdHIgIm1ha2VfY2FjaGVfZW50cnkgZsO8ciBQZmFkICclcycgZmVobGdlc2NobGFnZW4iCi0KLSM6IGFwcGx5LmM6NDExNworIzogYXBwbHkuYzo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhZGQgJXMgdG8gdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJrb25udGUgJXMgbmljaHQgenVtIHRlbXBvcsOkcmVuIEluZGV4IGhpbnp1ZsO8Z2VuIgogCi0jOiBhcHBseS5jOjQxMjcKKyM6IGFwcGx5LmM6NDEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdGVtcG9yYXJ5IGluZGV4IHRvICVzIgogbXNnc3RyICJrb25udGUgdGVtcG9yw6RyZW4gSW5kZXggbmljaHQgbmFjaCAlcyBzY2hyZWliZW4iCiAKLSM6IGFwcGx5LmM6NDI2NQorIzogYXBwbHkuYzo0MjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKIG1zZ3N0ciAia29ubnRlICVzIG5pY2h0IGF1cyBkZW0gSW5kZXggZW50ZmVybmVuIgogCi0jOiBhcHBseS5jOjQyOTkKKyM6IGFwcGx5LmM6NDI5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgImZlaGxlcmhhZnRlciBQYXRjaCBmw7xyIFN1Ym1vZHVsICVzIgogCi0jOiBhcHBseS5jOjQzMDUKKyM6IGFwcGx5LmM6NDMwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhdCBuZXdseSBjcmVhdGVkIGZpbGUgJyVzJyIKIG1zZ3N0ciAia29ubnRlIG5ldSBlcnN0ZWxsdGUgRGF0ZWkgJyVzJyBuaWNodCBsZXNlbiIKIAotIzogYXBwbHkuYzo0MzEzCisjOiBhcHBseS5jOjQzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciBuZXdseSBjcmVhdGVkIGZpbGUgJXMiCiBtc2dzdHIgImthbm4gaW50ZXJuZW4gU3BlaWNoZXIgZsO8ciBlYmVuIGVyc3RlbGx0ZSBEYXRlaSAlcyBuaWNodCBlcnpldWdlbiIKIAotIzogYXBwbHkuYzo0MzE5IGFwcGx5LmM6NDQ2NAorIzogYXBwbHkuYzo0MzE0IGFwcGx5LmM6NDQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKIG1zZ3N0ciAia2FubiBmw7xyICVzIGtlaW5lbiBFaW50cmFnIGluIGRlbiBad2lzY2hlbnNwZWljaGVyIGhpbnp1ZsO8Z2VuIgogCi0jOiBhcHBseS5jOjQzNjIKKyM6IGFwcGx5LmM6NDM1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgdG8gJyVzJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gU2NocmVpYmVuIG5hY2ggJyVzJyIKIAotIzogYXBwbHkuYzo0MzY2CisjOiBhcHBseS5jOjQzNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvc2luZyBmaWxlICclcyciCiBtc2dzdHIgInNjaGxpZcOfZSBEYXRlaSAnJXMnIgogCi0jOiBhcHBseS5jOjQ0MzYKKyM6IGFwcGx5LmM6NDQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAnJXMnIG1vZGUgJW8iCiBtc2dzdHIgImtvbm50ZSBEYXRlaSAnJXMnIG1pdCBNb2R1cyAlbyBuaWNodCBzY2hyZWliZW4iCiAKLSM6IGFwcGx5LmM6NDUzNAorIzogYXBwbHkuYzo0NTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggJXMgY2xlYW5seS4iCiBtc2dzdHIgIlBhdGNoICVzIHNhdWJlciBhbmdld2VuZGV0IgogCi0jOiBhcHBseS5jOjQ1NDIKKyM6IGFwcGx5LmM6NDUzNwogbXNnaWQgImludGVybmFsIGVycm9yIgogbXNnc3RyICJpbnRlcm5lciBGZWhsZXIiCiAKLSM6IGFwcGx5LmM6NDU0NQorIzogYXBwbHkuYzo0NTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdC4uLiIKIG1zZ2lkX3BsdXJhbCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0cy4uLiIKIG1zZ3N0clswXSAiV2VuZGUgUGF0Y2ggJSVzIG1pdCAlZCBadXLDvGNrd2Vpc3VuZyBhbi4uLiIKIG1zZ3N0clsxXSAiV2VuZGUgUGF0Y2ggJSVzIG1pdCAlZCBadXLDvGNrd2Vpc3VuZ2VuIGFuLi4uIgogCi0jOiBhcHBseS5jOjQ1NTYKKyM6IGFwcGx5LmM6NDU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCiBtc2dzdHIgIlZlcmvDvHJ6ZSBOYW1lIHZvbiAucmVqIERhdGVpIHp1ICUuKnMucmVqIgogCi0jOiBhcHBseS5jOjQ1NjQgYnVpbHRpbi9mZXRjaC5jOjg0MyBidWlsdGluL2ZldGNoLmM6MTEyMgorIzogYXBwbHkuYzo0NTU5IGJ1aWx0aW4vZmV0Y2guYzo5MDEgYnVpbHRpbi9mZXRjaC5jOjExOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXMiCiBtc2dzdHIgImthbm4gJyVzJyBuaWNodCDDtmZmbmVuIgogCi0jOiBhcHBseS5jOjQ1NzgKKyM6IGFwcGx5LmM6NDU3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJIdW5rICMlZCBhcHBsaWVkIGNsZWFubHkuIgogbXNnc3RyICJQYXRjaC1CZXJlaWNoICMlZCBzYXViZXIgYW5nZXdlbmRldC4iCiAKLSM6IGFwcGx5LmM6NDU4MgorIzogYXBwbHkuYzo0NTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlamVjdGVkIGh1bmsgIyVkLiIKIG1zZ3N0ciAiUGF0Y2gtQmxvY2sgIyVkIHp1csO8Y2tnZXdpZXNlbi4iCiAKLSM6IGFwcGx5LmM6NDY5MgorIzogYXBwbHkuYzo0Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgcGF0Y2ggJyVzJy4iCiBtc2dzdHIgIlBhdGNoICclcycgYXVzZ2VsYXNzZW4uIgogCi0jOiBhcHBseS5jOjQ3MDAKKyM6IGFwcGx5LmM6NDcwNAogbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKIG1zZ3N0ciAibmljaHQgZXJrYW5udGUgRWluZ2FiZSIKIAotIzogYXBwbHkuYzo0NzE5CisjOiBhcHBseS5jOjQ3MjQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgogbXNnc3RyICJLb25udGUgSW5kZXgtRGF0ZWkgbmljaHQgbGVzZW4iCiAKLSM6IGFwcGx5LmM6NDg3NAorIzogYXBwbHkuYzo0ODgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJzogJXMiCiBtc2dzdHIgImthbm4gUGF0Y2ggJyVzJyBuaWNodCDDtmZmbmVuOiAlcyIKIAotIzogYXBwbHkuYzo0OTAxCisjOiBhcHBseS5jOjQ5MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3IiCiBtc2dpZF9wbHVyYWwgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9ycyIKIG1zZ3N0clswXSAidW50ZXJkcsO8Y2t0ZSAlZCBXaGl0ZXNwYWNlLUZlaGxlciIKIG1zZ3N0clsxXSAidW50ZXJkcsO8Y2t0ZSAlZCBXaGl0ZXNwYWNlLUZlaGxlciIKIAotIzogYXBwbHkuYzo0OTA3IGFwcGx5LmM6NDkyMgorIzogYXBwbHkuYzo0OTE0IGFwcGx5LmM6NDkyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnc3RyWzBdICIlZCBaZWlsZSBmw7xndCBXaGl0ZXNwYWNlLUZlaGxlciBoaW56dS4iCiBtc2dzdHJbMV0gIiVkIFplaWxlbiBmw7xnZW4gV2hpdGVzcGFjZS1GZWhsZXIgaGluenUuIgogCi0jOiBhcHBseS5jOjQ5MTUKKyM6IGFwcGx5LmM6NDkyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnc3RyWzBdICIlZCBaZWlsZSBuYWNoIEJlaGVidW5nIHZvbiBXaGl0ZXNwYWNlLUZlaGxlcm4gYW5nZXdlbmRldC4iCiBtc2dzdHJbMV0gIiVkIFplaWxlbiBuYWNoIEJlaGVidW5nIHZvbiBXaGl0ZXNwYWNlLUZlaGxlcm4gYW5nZXdlbmRldC4iCiAKLSM6IGFwcGx5LmM6NDkzMSBidWlsdGluL2FkZC5jOjUzOCBidWlsdGluL212LmM6MzAwIGJ1aWx0aW4vcm0uYzozODkKKyM6IGFwcGx5LmM6NDkzOCBidWlsdGluL2FkZC5jOjU3OSBidWlsdGluL212LmM6MzAxIGJ1aWx0aW4vcm0uYzozOTAKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIktvbm50ZSBuZXVlIEluZGV4LURhdGVpIG5pY2h0IHNjaHJlaWJlbi4iCiAKLSM6IGFwcGx5LmM6NDk1OCBhcHBseS5jOjQ5NjEgYnVpbHRpbi9hbS5jOjIyMDkgYnVpbHRpbi9hbS5jOjIyMTIKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjExOCBidWlsdGluL21lcmdlLmM6MjYyCi0jOiBidWlsdGluL3B1bGwuYzoxOTkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNgotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjUKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODQ2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODQ5Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjA4OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwotbXNnaWQgInBhdGgiCi1tc2dzdHIgIlBmYWQiCi0KLSM6IGFwcGx5LmM6NDk1OQorIzogYXBwbHkuYzo0OTY2CiBtc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKIG1zZ3N0ciAia2VpbmUgw4RuZGVydW5nZW4gaW0gYW5nZWdlYmVuZW4gUGZhZCBhbndlbmRlbiIKIAotIzogYXBwbHkuYzo0OTYyCisjOiBhcHBseS5jOjQ5NjkKIG1zZ2lkICJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgogbXNnc3RyICLDhG5kZXJ1bmdlbiBudXIgaW0gYW5nZWdlYmVuZW4gUGZhZCBhbndlbmRlbiIKIAotIzogYXBwbHkuYzo0OTY0IGJ1aWx0aW4vYW0uYzoyMjE4CisjOiBhcHBseS5jOjQ5NzEgYnVpbHRpbi9hbS5jOjIyMDYKIG1zZ2lkICJudW0iCiBtc2dzdHIgIkFuemFobCIKIAotIzogYXBwbHkuYzo0OTY1CisjOiBhcHBseS5jOjQ5NzIKIG1zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKIG1zZ3N0ciAiIgogIjxBbnphaGw+IHZvcmFuZ2VzdGVsbHRlIFNjaHLDpGdzdHJpY2hlIHZvbiBoZXJrw7ZtbWxpY2hlbiBEaWZmZXJlbnpwZmFkZW4gIgogImVudGZlcm5lbiIKIAotIzogYXBwbHkuYzo0OTY4CisjOiBhcHBseS5jOjQ5NzUKIG1zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgogbXNnc3RyICJoaW56dWdlZsO8Z3RlIFplaWxlbiBkZXMgUGF0Y2hlcyBpZ25vcmllcmVuIgogCi0jOiBhcHBseS5jOjQ5NzAKKyM6IGFwcGx5LmM6NDk3NwogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKIG1zZ3N0ciAiIgogImFuc3RhdHQgZGVyIEFud2VuZHVuZyBkZXMgUGF0Y2hlcywgZGVuIFwiZGlmZnN0YXRcIiBmw7xyIGRpZSBFaW5nYWJlICIKICJhdXNnZWdlYmVuIgogCi0jOiBhcHBseS5jOjQ5NzQKKyM6IGFwcGx5LmM6NDk4MQogbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCiBtc2dzdHIgIiIKICJkaWUgQW56YWhsIHZvbiBoaW56dWdlZsO8Z3Rlbi9lbnRmZXJudGVuIFplaWxlbiBpbiBEZXppbWFsbm90YXRpb24gYW56ZWlnZW4iCiAKLSM6IGFwcGx5LmM6NDk3NgorIzogYXBwbHkuYzo0OTgzCiBtc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBhIHN1bW1hcnkgZm9yIHRoZSBpbnB1dCIKIG1zZ3N0ciAiIgogImFuc3RhdHQgZGVyIEFud2VuZHVuZyBkZXMgUGF0Y2hlcywgZWluZSBadXNhbW1lbmZhc3N1bmcgZsO8ciBkaWUgRWluZ2FiZSAiCiAiYXVzZ2ViZW4iCiAKLSM6IGFwcGx5LmM6NDk3OAorIzogYXBwbHkuYzo0OTg1CiBtc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIHNlZSBpZiB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSIKIG1zZ3N0ciAiIgogImFuc3RhdHQgZGVyIEFud2VuZHVuZyBkZXMgUGF0Y2hlcywgemVpZ2Ugb2IgUGF0Y2ggYW5nZXdlbmRldCB3ZXJkZW4ga2FubiIKIAotIzogYXBwbHkuYzo0OTgwCisjOiBhcHBseS5jOjQ5ODcKIG1zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCiBtc2dzdHIgIiIKICJzaWNoZXJzdGVsbGVuLCBkYXNzIGRlciBQYXRjaCBtaXQgZGVtIGFrdHVlbGxlbiBJbmRleCBhbmdld2VuZGV0IHdlcmRlbiBrYW5uIgogCi0jOiBhcHBseS5jOjQ5ODIKKyM6IGFwcGx5LmM6NDk4OQogbXNnaWQgIm1hcmsgbmV3IGZpbGVzIHdpdGggYGdpdCBhZGQgLS1pbnRlbnQtdG8tYWRkYCIKIG1zZ3N0ciAibmV1ZSBEYXRlaWVuIG1pdCBgZ2l0IGFkZCAtLWludGVudC10by1hZGRgIG1hcmtpZXJlbiIKIAotIzogYXBwbHkuYzo0OTg0CisjOiBhcHBseS5jOjQ5OTEKIG1zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiUGF0Y2ggYW53ZW5kZW4sIG9obmUgw4RuZGVydW5nZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzIHZvcnp1bmVobWVuIgogCi0jOiBhcHBseS5jOjQ5ODYKKyM6IGFwcGx5LmM6NDk5MwogbXNnaWQgImFjY2VwdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBvdXRzaWRlIHRoZSB3b3JraW5nIGFyZWEiCiBtc2dzdHIgIiIKICJQYXRjaCBhbndlbmRlbiwgZGVyIMOEbmRlcnVuZ2VuIGF1w59lcmhhbGIgZGVzIEFyYmVpdHN2ZXJ6ZWljaG5pc3NlcyB2b3JuaW1tdCIKIAotIzogYXBwbHkuYzo0OTg5CisjOiBhcHBseS5jOjQ5OTYKIG1zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKIG1zZ3N0ciAiUGF0Y2ggYW53ZW5kZW4gKEJlbnV0enVuZyBtaXQgLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKIAotIzogYXBwbHkuYzo0OTkxCisjOiBhcHBseS5jOjQ5OTgKIG1zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgogbXNnc3RyICJ2ZXJzdWNoZSAzLVdlZ2UtTWVyZ2UsIHdlbm4gZGVyIFBhdGNoIG5pY2h0IGFuZ2V3ZW5kZXQgd2VyZGVuIGtvbm50ZSIKIAotIzogYXBwbHkuYzo0OTkzCisjOiBhcHBseS5jOjUwMDAKIG1zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogImVpbmVuIHRlbXBvcsOkcmVuIEluZGV4LCBiYXNpZXJlbmQgYXVmIGRlbiBpbnRlZ3JpZXJ0ZW4gSW5kZXgtSW5mb3JtYXRpb25lbiwgIgogImVyc3RlbGxlbiIKIAotIzogYXBwbHkuYzo0OTk2IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzAgYnVpbHRpbi9scy1maWxlcy5jOjUyMworIzogYXBwbHkuYzo1MDAzIGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzMgYnVpbHRpbi9scy1maWxlcy5jOjUyNAogbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICJQZmFkZSBzaW5kIGdldHJlbm50IGR1cmNoIE5VTCBaZWljaGVuIgogCi0jOiBhcHBseS5jOjQ5OTgKKyM6IGFwcGx5LmM6NTAwNQogbXNnaWQgImVuc3VyZSBhdCBsZWFzdCA8bj4gbGluZXMgb2YgY29udGV4dCBtYXRjaCIKIG1zZ3N0ciAiIgogInNpY2hlciBzdGVsbGVuLCBkYXNzIG1pbmRlc3RlbnMgPG4+IFplaWxlbiBkZXMgS29udGV4dGVzIMO8YmVyZWluc3RpbW1lbiIKIAotIzogYXBwbHkuYzo0OTk5IGJ1aWx0aW4vYW0uYzoyMTk3IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTcKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTkgYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDEKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxMiBidWlsdGluL3JlYmFzZS5jOjg1NworIzogYXBwbHkuYzo1MDA2IGJ1aWx0aW4vYW0uYzoyMTg1IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTgKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAwIGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTAgYnVpbHRpbi9yZWJhc2UuYzoxNDc0CiBtc2dpZCAiYWN0aW9uIgogbXNnc3RyICJBa3Rpb24iCiAKLSM6IGFwcGx5LmM6NTAwMAorIzogYXBwbHkuYzo1MDA3CiBtc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCiBtc2dzdHIgIm5ldWUgb2RlciBnZcOkbmRlcnRlIFplaWxlbiwgZGllIFdoaXRlc3BhY2UtRmVobGVyIGhhYmVuLCBlcm1pdHRlbG4iCiAKLSM6IGFwcGx5LmM6NTAwMyBhcHBseS5jOjUwMDYKKyM6IGFwcGx5LmM6NTAxMCBhcHBseS5jOjUwMTMKIG1zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IgogbXNnc3RyICLDhG5kZXJ1bmdlbiBpbSBXaGl0ZXNwYWNlIGJlaSBkZXIgU3VjaGUgZGVzIEtvbnRleHRlcyBpZ25vcmllcmVuIgogCi0jOiBhcHBseS5jOjUwMDkKKyM6IGFwcGx5LmM6NTAxNgogbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgogbXNnc3RyICJkZW4gUGF0Y2ggaW4gdW1nZWtlaHJ0ZXIgUmVpaGVuZm9sZ2UgYW53ZW5kZW4iCiAKLSM6IGFwcGx5LmM6NTAxMQorIzogYXBwbHkuYzo1MDE4CiBtc2dpZCAiZG9uJ3QgZXhwZWN0IGF0IGxlYXN0IG9uZSBsaW5lIG9mIGNvbnRleHQiCiBtc2dzdHIgImtlaW5lbiBLb250ZXh0IGVyd2FydGVuIgogCi0jOiBhcHBseS5jOjUwMTMKKyM6IGFwcGx5LmM6NTAyMAogbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgogbXNnc3RyICIiCiAienVyw7xja2dld2llc2VuZSBQYXRjaC1CbMO2Y2tlIGluIGVudHNwcmVjaGVuZGVuICoucmVqIERhdGVpZW4gaGludGVybGFzc2VuIgogCi0jOiBhcHBseS5jOjUwMTUKKyM6IGFwcGx5LmM6NTAyMgogbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgogbXNnc3RyICJzaWNoIMO8YmVybGFwcGVuZGUgUGF0Y2gtQmzDtmNrZSBlcmxhdWJlbiIKIAotIzogYXBwbHkuYzo1MDE2IGJ1aWx0aW4vYWRkLmM6MjkwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjEKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMwOSBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5OCBidWlsdGluL2ZzY2suYzo2OTgKLSM6IGJ1aWx0aW4vbG9nLmM6MjAyMyBidWlsdGluL212LmM6MTIyIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI3Ci0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTcKKyM6IGFwcGx5LmM6NTAyMyBidWlsdGluL2FkZC5jOjMwOSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIyCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTUgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTggYnVpbHRpbi9mc2NrLmM6Nzc0CisjOiBidWlsdGluL2xvZy5jOjIxNjYgYnVpbHRpbi9tdi5jOjEyMyBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAogbXNnaWQgImJlIHZlcmJvc2UiCiBtc2dzdHIgImVyd2VpdGVydGUgQXVzZ2FiZW4iCiAKLSM6IGFwcGx5LmM6NTAxOAorIzogYXBwbHkuYzo1MDI1CiBtc2dpZCAidG9sZXJhdGUgaW5jb3JyZWN0bHkgZGV0ZWN0ZWQgbWlzc2luZyBuZXctbGluZSBhdCB0aGUgZW5kIG9mIGZpbGUiCiBtc2dzdHIgImZlaGxlcmhhZnQgZXJrYW5udGVuIGZlaGxlbmRlbiBaZWlsZW51bWJydWNoIGFtIERhdGVpZW5kZSB0b2xlcmllcmVuIgogCi0jOiBhcHBseS5jOjUwMjEKKyM6IGFwcGx5LmM6NTAyOAogbXNnaWQgImRvIG5vdCB0cnVzdCB0aGUgbGluZSBjb3VudHMgaW4gdGhlIGh1bmsgaGVhZGVycyIKIG1zZ3N0ciAiZGVuIFplaWxlbm51bW1lcm4gaW0gS29wZiBkZXMgUGF0Y2gtQmxvY2tzIG5pY2h0IHZlcnRyYXVlbiIKIAotIzogYXBwbHkuYzo1MDIzIGJ1aWx0aW4vYW0uYzoyMjA2CisjOiBhcHBseS5jOjUwMzAgYnVpbHRpbi9hbS5jOjIxOTQKIG1zZ2lkICJyb290IgogbXNnc3RyICJXdXJ6ZWx2ZXJ6ZWljaG5pcyIKIAotIzogYXBwbHkuYzo1MDI0CisjOiBhcHBseS5jOjUwMzEKIG1zZ2lkICJwcmVwZW5kIDxyb290PiB0byBhbGwgZmlsZW5hbWVzIgogbXNnc3RyICI8V3VyemVsdmVyemVpY2huaXM+IHZvciBhbGxlIERhdGVpbmFtZW4gc3RlbGxlbiIKIApAQCAtNzg2LDE0OCArMTIyNSwxNjggQEAKIG1zZ2lkICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8cmVwbz4gWy0tZXhlYyA8Y21kPl0gLS1saXN0IgogbXNnc3RyICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8UmVwb3NpdG9yeT4gWy0tZXhlYyA8UHJvZ3JhbW0+XSAtLWxpc3QiCiAKLSM6IGFyY2hpdmUuYzozNzAgYnVpbHRpbi9hZGQuYzoxNzYgYnVpbHRpbi9hZGQuYzo1MTQgYnVpbHRpbi9ybS5jOjI5OAorIzogYXJjaGl2ZS5jOjM3MiBidWlsdGluL2FkZC5jOjE4MCBidWlsdGluL2FkZC5jOjU1NSBidWlsdGluL3JtLmM6Mjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiCiBtc2dzdHIgIlBmYWRzcGV6aWZpa2F0aW9uICclcycgc3RpbW10IG1pdCBrZWluZW4gRGF0ZWllbiDDvGJlcmVpbiIKIAotIzogYXJjaGl2ZS5jOjQ1MworIzogYXJjaGl2ZS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlZjogJS4qcyIKK21zZ3N0ciAiS2VpbmUgc29sY2hlIFJlZmVyZW56OiAlLipzIgorCisjOiBhcmNoaXZlLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAlcyIKK21zZ3N0ciAiS2VpbiBnw7xsdGlnZXIgT2JqZWt0bmFtZTogJXMiCisKKyM6IGFyY2hpdmUuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgdHJlZSBvYmplY3Q6ICVzIgorbXNnc3RyICJLZWluIFRyZWUtT2JqZWt0OiAlcyIKKworIzogYXJjaGl2ZS5jOjQyNgorbXNnaWQgImN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgaXMgdW50cmFja2VkIgorbXNnc3RyICJBa3R1ZWxsZXMgQXJiZWl0c3ZlcnplaWNobmlzIGlzdCB1bnZlcnNpb25pZXJ0LiIKKworIzogYXJjaGl2ZS5jOjQ1NwogbXNnaWQgImZtdCIKIG1zZ3N0ciAiRm9ybWF0IgogCi0jOiBhcmNoaXZlLmM6NDUzCisjOiBhcmNoaXZlLmM6NDU3CiBtc2dpZCAiYXJjaGl2ZSBmb3JtYXQiCiBtc2dzdHIgIkFyY2hpdmZvcm1hdCIKIAotIzogYXJjaGl2ZS5jOjQ1NCBidWlsdGluL2xvZy5jOjE1MzYKKyM6IGFyY2hpdmUuYzo0NTggYnVpbHRpbi9sb2cuYzoxNjUzCiBtc2dpZCAicHJlZml4IgogbXNnc3RyICJQcsOkZml4IgogCi0jOiBhcmNoaXZlLmM6NDU1CisjOiBhcmNoaXZlLmM6NDU5CiBtc2dpZCAicHJlcGVuZCBwcmVmaXggdG8gZWFjaCBwYXRobmFtZSBpbiB0aGUgYXJjaGl2ZSIKIG1zZ3N0ciAiZWluZW4gUHLDpGZpeCB2b3IgamVkZW4gUGZhZG5hbWVuIGluIGRlbSBBcmNoaXYgc3RlbGxlbiIKIAotIzogYXJjaGl2ZS5jOjQ1NiBidWlsdGluL2JsYW1lLmM6ODIwIGJ1aWx0aW4vYmxhbWUuYzo4MjEgYnVpbHRpbi9jb25maWcuYzoxMjkKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDEzIGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDE1IGJ1aWx0aW4vZ3JlcC5jOjg4NAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwNCBidWlsdGluL2xzLWZpbGVzLmM6NTU5IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjIKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTIgYnVpbHRpbi9ub3Rlcy5jOjU3NSBidWlsdGluL3JlYWQtdHJlZS5jOjEyMgotIzogcGFyc2Utb3B0aW9ucy5oOjE2MgorIzogYXJjaGl2ZS5jOjQ2MCBidWlsdGluL2JsYW1lLmM6ODYxIGJ1aWx0aW4vYmxhbWUuYzo4NjUgYnVpbHRpbi9ibGFtZS5jOjg2NgorIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExNyBidWlsdGluL2NvbmZpZy5jOjEyOSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2MgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjQgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjggYnVpbHRpbi9ncmVwLmM6ODk5CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA1IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjAgYnVpbHRpbi9scy1maWxlcy5jOjU2MworIzogYnVpbHRpbi9ub3Rlcy5jOjQxMiBidWlsdGluL25vdGVzLmM6NTc4IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIzCisjOiBwYXJzZS1vcHRpb25zLmg6MTkwCiBtc2dpZCAiZmlsZSIKIG1zZ3N0ciAiRGF0ZWkiCiAKLSM6IGFyY2hpdmUuYzo0NTcgYnVpbHRpbi9hcmNoaXZlLmM6ODkKKyM6IGFyY2hpdmUuYzo0NjEgYnVpbHRpbi9hcmNoaXZlLmM6OTAKIG1zZ2lkICJ3cml0ZSB0aGUgYXJjaGl2ZSB0byB0aGlzIGZpbGUiCiBtc2dzdHIgImRhcyBBcmNoaXYgaW4gZGllc2UgRGF0ZWkgc2NocmVpYmVuIgogCi0jOiBhcmNoaXZlLmM6NDU5CisjOiBhcmNoaXZlLmM6NDYzCiBtc2dpZCAicmVhZCAuZ2l0YXR0cmlidXRlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiLmdpdGF0dHJpYnV0ZXMgYXVzIGRlbSBBcmJlaXRzdmVyemVpY2huaXMgbGVzZW4iCiAKLSM6IGFyY2hpdmUuYzo0NjAKKyM6IGFyY2hpdmUuYzo0NjQKIG1zZ2lkICJyZXBvcnQgYXJjaGl2ZWQgZmlsZXMgb24gc3RkZXJyIgogbXNnc3RyICJhcmNoaXZpZXJ0ZSBEYXRlaWVuIGluIGRlciBTdGFuZGFyZC1GZWhsZXJhdXNnYWJlIGF1c2dlYmVuIgogCi0jOiBhcmNoaXZlLmM6NDYxCisjOiBhcmNoaXZlLmM6NDY1CiBtc2dpZCAic3RvcmUgb25seSIKIG1zZ3N0ciAibnVyIHNwZWljaGVybiIKIAotIzogYXJjaGl2ZS5jOjQ2MgorIzogYXJjaGl2ZS5jOjQ2NgogbXNnaWQgImNvbXByZXNzIGZhc3RlciIKIG1zZ3N0ciAic2NobmVsbGVyIGtvbXByaW1pZXJlbiIKIAotIzogYXJjaGl2ZS5jOjQ3MAorIzogYXJjaGl2ZS5jOjQ3NAogbXNnaWQgImNvbXByZXNzIGJldHRlciIKIG1zZ3N0ciAiYmVzc2VyIGtvbXByaW1pZXJlbiIKIAotIzogYXJjaGl2ZS5jOjQ3MworIzogYXJjaGl2ZS5jOjQ3NwogbXNnaWQgImxpc3Qgc3VwcG9ydGVkIGFyY2hpdmUgZm9ybWF0cyIKIG1zZ3N0ciAidW50ZXJzdMO8dHp0ZSBBcmNoaXZmb3JtYXRlIGF1Zmxpc3RlbiIKIAotIzogYXJjaGl2ZS5jOjQ3NSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vY2xvbmUuYzoxMTQKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODU1CisjOiBhcmNoaXZlLmM6NDc5IGJ1aWx0aW4vYXJjaGl2ZS5jOjkxIGJ1aWx0aW4vY2xvbmUuYzoxMTMgYnVpbHRpbi9jbG9uZS5jOjExNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODQKIG1zZ2lkICJyZXBvIgogbXNnc3RyICJSZXBvc2l0b3J5IgogCi0jOiBhcmNoaXZlLmM6NDc2IGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCisjOiBhcmNoaXZlLmM6NDgwIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyCiBtc2dpZCAicmV0cmlldmUgdGhlIGFyY2hpdmUgZnJvbSByZW1vdGUgcmVwb3NpdG9yeSA8cmVwbz4iCiBtc2dzdHIgIkFyY2hpdiB2b20gUmVtb3RlLVJlcG9zaXRvcnkgPFJlcG9zaXRvcnk+IGFicnVmZW4iCiAKLSM6IGFyY2hpdmUuYzo0NzcgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9kaWZmdG9vbC5jOjcxNAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ5NgorIzogYXJjaGl2ZS5jOjQ4MSBidWlsdGluL2FyY2hpdmUuYzo5MyBidWlsdGluL2RpZmZ0b29sLmM6NzE1CisjOiBidWlsdGluL25vdGVzLmM6NDk4CiBtc2dpZCAiY29tbWFuZCIKIG1zZ3N0ciAiUHJvZ3JhbW0iCiAKLSM6IGFyY2hpdmUuYzo0NzggYnVpbHRpbi9hcmNoaXZlLmM6OTMKKyM6IGFyY2hpdmUuYzo0ODIgYnVpbHRpbi9hcmNoaXZlLmM6OTQKIG1zZ2lkICJwYXRoIHRvIHRoZSByZW1vdGUgZ2l0LXVwbG9hZC1hcmNoaXZlIGNvbW1hbmQiCiBtc2dzdHIgIlBmYWQgenVtIGV4dGVybmVuIFwiZ2l0LXVwbG9hZC1hcmNoaXZlXCItUHJvZ3JhbW0iCiAKLSM6IGFyY2hpdmUuYzo0ODUKKyM6IGFyY2hpdmUuYzo0ODkKIG1zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLXJlbW90ZSIKIG1zZ3N0ciAiVW5lcndhcnRldGUgT3B0aW9uIC0tcmVtb3RlIgogCi0jOiBhcmNoaXZlLmM6NDg3CisjOiBhcmNoaXZlLmM6NDkxCiBtc2dpZCAiT3B0aW9uIC0tZXhlYyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1yZW1vdGUiCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1leGVjIGthbm4gbnVyIHp1c2FtbWVuIG1pdCAtLXJlbW90ZSB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYXJjaGl2ZS5jOjQ4OQorIzogYXJjaGl2ZS5jOjQ5MwogbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tb3V0cHV0IgogbXNnc3RyICJVbmVyd2FydGV0ZSBPcHRpb24gLS1vdXRwdXQiCiAKLSM6IGFyY2hpdmUuYzo1MTEKKyM6IGFyY2hpdmUuYzo1MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBhcmNoaXZlIGZvcm1hdCAnJXMnIgogbXNnc3RyICJVbmJla2FubnRlcyBBcmNoaXZmb3JtYXQgJyVzJyIKIAotIzogYXJjaGl2ZS5jOjUxOAorIzogYXJjaGl2ZS5jOjUyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJBcmd1bWVudCBub3Qgc3VwcG9ydGVkIGZvciBmb3JtYXQgJyVzJzogLSVkIgogbXNnc3RyICJBcmd1bWVudCBmw7xyIEZvcm1hdCAnJXMnIG5pY2h0IHVudGVyc3TDvHR6dDogLSVkIgogCi0jOiBhcmNoaXZlLXRhci5jOjEyNSBhcmNoaXZlLXppcC5jOjM0NQorIzogYXJjaGl2ZS10YXIuYzoxMjUgYXJjaGl2ZS16aXAuYzozNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0cmVhbSBibG9iICVzIgogbXNnc3RyICJLYW5uIEJsb2IgJXMgbmljaHQgc3RyZWFtZW4uIgogCi0jOiBhcmNoaXZlLXRhci5jOjI2MCBhcmNoaXZlLXppcC5jOjM2MworIzogYXJjaGl2ZS10YXIuYzoyNjYgYXJjaGl2ZS16aXAuYzozNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgZmlsZSBtb2RlOiAwJW8gKFNIQTE6ICVzKSIKIG1zZ3N0ciAiTmljaHQgdW50ZXJzdMO8dHp0ZXIgRGF0ZWltb2R1czogMCVvIChTSEExOiAlcykiCiAKLSM6IGFyY2hpdmUtdGFyLmM6Mjg3IGFyY2hpdmUtemlwLmM6MzUzCisjOiBhcmNoaXZlLXRhci5jOjI5MyBhcmNoaXZlLXppcC5jOjM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAlcyIKIG1zZ3N0ciAiS2FubiAlcyBuaWNodCBsZXNlbi4iCiAKLSM6IGFyY2hpdmUtdGFyLmM6NDU4CisjOiBhcmNoaXZlLXRhci5jOjQ2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhcnQgJyVzJyBmaWx0ZXIiCiBtc2dzdHIgIktvbm50ZSAnJXMnIEZpbHRlciBuaWNodCBzdGFydGVuLiIKIAotIzogYXJjaGl2ZS10YXIuYzo0NjEKKyM6IGFyY2hpdmUtdGFyLmM6NDY4CiBtc2dpZCAidW5hYmxlIHRvIHJlZGlyZWN0IGRlc2NyaXB0b3IiCiBtc2dzdHIgIktvbm50ZSBEZXNjcmlwdG9yIG5pY2h0IHVtbGVpdGVuLiIKIAotIzogYXJjaGl2ZS10YXIuYzo0NjgKKyM6IGFyY2hpdmUtdGFyLmM6NDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZmlsdGVyIHJlcG9ydGVkIGVycm9yIgogbXNnc3RyICInJXMnIEZpbHRlciBtZWxkZXRlIEZlaGxlci4iCiAKLSM6IGFyY2hpdmUtemlwLmM6MzE0CisjOiBhcmNoaXZlLXppcC5jOjMxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoIGlzIG5vdCB2YWxpZCBVVEYtODogJXMiCiBtc2dzdHIgIlBmYWQgaXN0IGtlaW4gZ8O8bHRpZ2VzIFVURi04OiAlcyIKIAotIzogYXJjaGl2ZS16aXAuYzozMTgKKyM6IGFyY2hpdmUtemlwLmM6MzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggdG9vIGxvbmcgKCVkIGNoYXJzLCBTSEExOiAlcyk6ICVzIgogbXNnc3RyICJQZmFkIHp1IGxhbmcgKCVkIFplaWNoZW4sIFNIQTE6ICVzKTogJXMiCiAKLSM6IGFyY2hpdmUtemlwLmM6NDc0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjI0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjI3CisjOiBhcmNoaXZlLXppcC5jOjQ3OSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzMCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWZsYXRlIGVycm9yICglZCkiCiBtc2dzdHIgIkZlaGxlciBiZWltIEtvbXByaW1pZXJlbiAoJWQpIgogCi0jOiBhcmNoaXZlLXppcC5jOjYwOQorIzogYXJjaGl2ZS16aXAuYzo2MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidGltZXN0YW1wIHRvbyBsYXJnZSBmb3IgdGhpcyBzeXN0ZW06ICU8UFJJdU1BWD4iCiBtc2dzdHIgIlRpbWVzdGFtcCB6dSBncm/DnyBmw7xyIGRpZXNlcyBTeXN0ZW06ICU8UFJJdU1BWD4iCkBAIC05MzcsNiArMTM5NiwxMSBAQAogbXNnaWQgIiUuKnMgaXMgbm90IGEgdmFsaWQgYXR0cmlidXRlIG5hbWUiCiBtc2dzdHIgIiUuKnMgaXN0IGtlaW4gZ8O8bHRpZ2VyIEF0dHJpYnV0bmFtZSIKIAorIzogYXR0ci5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYWxsb3dlZDogJXM6JWQiCittc2dzdHIgIiVzIG5pY2h0IGVybGF1YnQ6ICVzOiVkIgorCiAjOiBhdHRyLmM6NDA5CiBtc2dpZCAiIgogIk5lZ2F0aXZlIHBhdHRlcm5zIGFyZSBpZ25vcmVkIGluIGdpdCBhdHRyaWJ1dGVzXG4iCkBAIC05NTAsMTcgKzE0MTQsMTcgQEAKIG1zZ2lkICJCYWRseSBxdW90ZWQgY29udGVudCBpbiBmaWxlICclcyc6ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlciBJbmhhbHQgYnpnbC4gQW5mw7xocnVuZ3N6ZWljaGVuIGluIERhdGVpICclcyc6ICVzIgogCi0jOiBiaXNlY3QuYzo2NzYKKyM6IGJpc2VjdC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJXZSBjYW5ub3QgYmlzZWN0IG1vcmUhXG4iCiBtc2dzdHIgIktlaW5lIGJpbsOkcmUgU3VjaGUgbWVociBtw7ZnbGljaCFcbiIKIAotIzogYmlzZWN0LmM6NzMwCisjOiBiaXNlY3QuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgY29tbWl0IG5hbWUgJXMiCiBtc2dzdHIgIiVzIGlzdCBrZWluIGfDvGx0aWdlciBDb21taXQtTmFtZSIKIAotIzogYmlzZWN0LmM6NzU0CisjOiBiaXNlY3QuYzo3NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBtZXJnZSBiYXNlICVzIGlzIGJhZC5cbiIKQEAgLTk2OSw3ICsxNDMzLDcgQEAKICJEaWUgTWVyZ2UtQmFzaXMgJXMgaXN0IGZlaGxlcmhhZnQuXG4iCiAiRGFzIGJlZGV1dGV0LCBkZXIgRmVobGVyIHd1cmRlIHp3aXNjaGVuICVzIHVuZCBbJXNdIGJlaG9iZW4uXG4iCiAKLSM6IGJpc2VjdC5jOjc1OQorIzogYmlzZWN0LmM6NzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbWVyZ2UgYmFzZSAlcyBpcyBuZXcuXG4iCkBAIC05NzgsNyArMTQ0Miw3IEBACiAiRGllIE1lcmdlLUJhc2lzICVzIGlzdCBuZXUuXG4iCiAiRGFzIGJlZGV1dGV0LCBkaWUgRWlnZW5zY2hhZnQgaGF0IHNpY2ggendpc2NoZW4gJXMgdW5kIFslc10gZ2XDpG5kZXJ0LlxuIgogCi0jOiBiaXNlY3QuYzo3NjQKKyM6IGJpc2VjdC5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIG1lcmdlIGJhc2UgJXMgaXMgJXMuXG4iCkBAIC05ODcsNyArMTQ1MSw3IEBACiAiRGllIE1lcmdlLUJhc2lzICVzIGlzdCAlcy5cbiIKICJEYXMgYmVkZXV0ZXQsIGRlciBlcnN0ZSAnJXMnIENvbW1pdCBiZWZpbmRldCBzaWNoIHp3aXNjaGVuICVzIHVuZCBbJXNdLlxuIgogCi0jOiBiaXNlY3QuYzo3NzIKKyM6IGJpc2VjdC5jOjc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU29tZSAlcyByZXZzIGFyZSBub3QgYW5jZXN0b3JzIG9mIHRoZSAlcyByZXYuXG4iCkBAIC05OTgsNyArMTQ2Miw3IEBACiAiZ2l0IGJpc2VjdCBrYW5uIGluIGRpZXNlbSBGYWxsIG5pY2h0IHJpY2h0aWcgYXJiZWl0ZW4uXG4iCiAiVmllbGxlaWNodCB2ZXJ3ZWNoc2VsdGVuIFNpZSAlcyB1bmQgJXMgQ29tbWl0cz9cbiIKIAotIzogYmlzZWN0LmM6Nzg1CisjOiBiaXNlY3QuYzo3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInRoZSBtZXJnZSBiYXNlIGJldHdlZW4gJXMgYW5kIFslc10gbXVzdCBiZSBza2lwcGVkLlxuIgpAQCAtMTAxMCwyMiArMTQ3NCwyMiBAQAogImVyc3RlICVzIENvbW1pdCB6d2lzY2hlbiAlcyB1bmQgJXMgYmVmaW5kZXQuXG4iCiAiRXMgd2lyZCBkZW5ub2NoIGZvcnRnZXNldHp0LiIKIAotIzogYmlzZWN0LmM6ODE4CisjOiBiaXNlY3QuYzo4MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmlzZWN0aW5nOiBhIG1lcmdlIGJhc2UgbXVzdCBiZSB0ZXN0ZWRcbiIKIG1zZ3N0ciAiYmluw6RyZSBTdWNoZTogZWluZSBNZXJnZS1CYXNpcyBtdXNzIGdlcHLDvGZ0IHdlcmRlblxuIgogCi0jOiBiaXNlY3QuYzo4NTgKKyM6IGJpc2VjdC5jOjg2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhICVzIHJldmlzaW9uIGlzIG5lZWRlZCIKIG1zZ3N0ciAiZWluICVzIENvbW1pdCB3aXJkIGJlbsO2dGlndCIKIAotIzogYmlzZWN0LmM6ODc3IGJ1aWx0aW4vbm90ZXMuYzoxNzcgYnVpbHRpbi90YWcuYzoyMzcKKyM6IGJpc2VjdC5jOjg4NCBidWlsdGluL25vdGVzLmM6MTc3IGJ1aWx0aW4vdGFnLmM6MjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgogbXNnc3RyICJrb25udGUgRGF0ZWkgJyVzJyBuaWNodCBlcnN0ZWxsZW4iCiAKLSM6IGJpc2VjdC5jOjkyOCBidWlsdGluL21lcmdlLmM6MTM4CisjOiBiaXNlY3QuYzo5MjggYnVpbHRpbi9tZXJnZS5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBmaWxlICclcyciCiBtc2dzdHIgIktvbm50ZSBEYXRlaSAnJXMnIG5pY2h0IGxlc2VuIgpAQCAtMTA2NSw0OCArMTUyOSw0OCBAQAogbXNnc3RyWzBdICJiaW7DpHJlIFN1Y2hlOiBkYW5hY2ggbm9jaCAlZCBDb21taXQgenVtIFRlc3RlbiDDvGJyaWcgJXNcbiIKIG1zZ3N0clsxXSAiYmluw6RyZSBTdWNoZTogZGFuYWNoIG5vY2ggJWQgQ29tbWl0cyB6dW0gVGVzdGVuIMO8YnJpZyAlc1xuIgogCi0jOiBibGFtZS5jOjE3ODcKKyM6IGJsYW1lLmM6MjcwMAogbXNnaWQgIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iCiBtc2dzdHIgIi0tY29udGVudHMgdW5kIC0tcmV2ZXJzZSBmdW5rdGlvbmllcmVuIGdlbWVpbnNhbSBuaWNodC4iCiAKLSM6IGJsYW1lLmM6MTgwMQorIzogYmxhbWUuYzoyNzE0CiBtc2dpZCAiY2Fubm90IHVzZSAtLWNvbnRlbnRzIHdpdGggZmluYWwgY29tbWl0IG9iamVjdCBuYW1lIgogbXNnc3RyICIiCiAia2FubiAtLWNvbnRlbnRzIG5pY2h0IG1pdCBlbmRnw7xsdGlnZW0gTmFtZW4gZGVzIENvbW1pdC1PYmpla3RlcyBiZW51dHplbiIKIAotIzogYmxhbWUuYzoxODIyCisjOiBibGFtZS5jOjI3MzUKIG1zZ2lkICItLXJldmVyc2UgYW5kIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgc3BlY2lmaWVkIGxhdGVzdCBjb21taXQiCiBtc2dzdHIgIiIKICItLXJldmVyc2UgdW5kIC0tZmlyc3QtcGFyZW50IHp1c2FtbWVuIGVyZm9yZGVybiBkaWUgQW5nYWJlIGVpbmVzICIKICJlbmRnw7xsdGlnZW5cbiIKICJDb21taXRzIgogCi0jOiBibGFtZS5jOjE4MzEgYnVuZGxlLmM6MTYyIHJlZi1maWx0ZXIuYzoyMDQ2IHNlcXVlbmNlci5jOjE5NjMKLSM6IHNlcXVlbmNlci5jOjQwMDIgYnVpbHRpbi9jb21taXQuYzoxMDAxIGJ1aWx0aW4vbG9nLmM6Mzc3IGJ1aWx0aW4vbG9nLmM6OTMyCi0jOiBidWlsdGluL2xvZy5jOjE0MDcgYnVpbHRpbi9sb2cuYzoxNzgzIGJ1aWx0aW4vbG9nLmM6MjA3MiBidWlsdGluL21lcmdlLmM6NDA2Ci0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMzcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTUyCisjOiBibGFtZS5jOjI3NDQgYnVuZGxlLmM6MTY3IHJlZi1maWx0ZXIuYzoyMjAzIHJlbW90ZS5jOjE5NDEgc2VxdWVuY2VyLmM6MjA5MworIzogc2VxdWVuY2VyLmM6NDQ2MCBidWlsdGluL2NvbW1pdC5jOjEwNDAgYnVpbHRpbi9sb2cuYzozODggYnVpbHRpbi9sb2cuYzo5OTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTUyMCBidWlsdGluL2xvZy5jOjE5MjUgYnVpbHRpbi9sb2cuYzoyMjE1IGJ1aWx0aW4vbWVyZ2UuYzo0MTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzEyOCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxNDMKICM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxOTIKIG1zZ2lkICJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIKIG1zZ3N0ciAiRWlucmljaHR1bmcgZGVzIFJldmlzaW9uc2dhbmdzIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBibGFtZS5jOjE4NDkKKyM6IGJsYW1lLmM6Mjc2MgogbXNnaWQgIiIKICItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSByYW5nZSBhbG9uZyBmaXJzdC1wYXJlbnQgY2hhaW4iCiBtc2dzdHIgIiIKICItLXJldmVyc2UgdW5kIC0tZmlyc3QtcGFyZW50IHp1c2FtbWVuIGVyZm9yZGVybiBlaW5lbiBCZXJlaWNoIGVudGxhbmcgZGVyXG4iCiAiXCJmaXJzdC1wYXJlbnRcIi1LZXR0ZSIKIAotIzogYmxhbWUuYzoxODYwCisjOiBibGFtZS5jOjI3NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBwYXRoICVzIGluICVzIgogbXNnc3RyICJQZmFkICVzIG5pY2h0IGluICVzIgogCi0jOiBibGFtZS5jOjE4NzEKKyM6IGJsYW1lLmM6Mjc4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgogbXNnc3RyICJrYW5uIEJsb2IgJXMgZsO8ciBQZmFkICclcycgbmljaHQgbGVzZW4iCiAKLSM6IGJyYW5jaC5jOjUyCisjOiBicmFuY2guYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xMTIwLDg5ICsxNTg0LDg5IEBACiAiXCJnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvPSVzJXMlc1wiXG4iCiAiZXJuZXV0IHNldHplbi4iCiAKLSM6IGJyYW5jaC5jOjY2CisjOiBicmFuY2guYzo2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3Qgc2V0dGluZyBicmFuY2ggJXMgYXMgaXRzIG93biB1cHN0cmVhbS4iCiBtc2dzdHIgIkJyYW5jaCAlcyBrYW5uIG5pY2h0IHNlaW4gZWlnZW5lciBVcHN0cmVhbS1CcmFuY2ggc2Vpbi4iCiAKLSM6IGJyYW5jaC5jOjkyCisjOiBicmFuY2guYzo5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgcmVtb3RlIGJyYW5jaCAnJXMnIGZyb20gJyVzJyBieSByZWJhc2luZy4iCiBtc2dzdHIgIkJyYW5jaCAnJXMnIGZvbGd0IG51biBSZW1vdGUtQnJhbmNoICclcycgdm9uICclcycgZHVyY2ggUmViYXNlLiIKIAotIzogYnJhbmNoLmM6OTMKKyM6IGJyYW5jaC5jOjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgYnJhbmNoICclcycgZnJvbSAnJXMnLiIKIG1zZ3N0ciAiQnJhbmNoICclcycgZm9sZ3QgbnVuIFJlbW90ZS1CcmFuY2ggJyVzJyB2b24gJyVzJy4iCiAKLSM6IGJyYW5jaC5jOjk3CisjOiBicmFuY2guYzo5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgYnJhbmNoICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICJCcmFuY2ggJyVzJyBmb2xndCBudW4gbG9rYWxlbSBCcmFuY2ggJyVzJyBkdXJjaCBSZWJhc2UuIgogCi0jOiBicmFuY2guYzo5OAorIzogYnJhbmNoLmM6OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAiQnJhbmNoICclcycgZm9sZ3QgbnVuIGxva2FsZW0gQnJhbmNoICclcycuIgogCi0jOiBicmFuY2guYzoxMDMKKyM6IGJyYW5jaC5jOjEwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgcmVtb3RlIHJlZiAnJXMnIGJ5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiQnJhbmNoICclcycgZm9sZ3QgbnVuIFJlbW90ZS1SZWZlcmVueiAnJXMnIGR1cmNoIFJlYmFzZS4iCiAKLSM6IGJyYW5jaC5jOjEwNAorIzogYnJhbmNoLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgcmVmICclcycuIgogbXNnc3RyICJCcmFuY2ggJyVzJyBmb2xndCBudW4gUmVtb3RlLVJlZmVyZW56ICclcycuIgogCi0jOiBicmFuY2guYzoxMDgKKyM6IGJyYW5jaC5jOjEwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgcmVmICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICJCcmFuY2ggJyVzJyBmb2xndCBudW4gbG9rYWxlciBSZWZlcmVueiAnJXMnIGR1cmNoIFJlYmFzZS4iCiAKLSM6IGJyYW5jaC5jOjEwOQorIzogYnJhbmNoLmM6MTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayBsb2NhbCByZWYgJyVzJy4iCiBtc2dzdHIgIkJyYW5jaCAnJXMnIGZvbGd0IG51biBsb2thbGVyIFJlZmVyZW56ICclcycuIgogCi0jOiBicmFuY2guYzoxMTgKKyM6IGJyYW5jaC5jOjExOQogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB1cHN0cmVhbSBicmFuY2ggY29uZmlndXJhdGlvbiIKIG1zZ3N0ciAiS29ubnRlIEtvbmZpZ3VyYXRpb24genUgVXBzdHJlYW0tQnJhbmNoIG5pY2h0IHNjaHJlaWJlbi4iCiAKLSM6IGJyYW5jaC5jOjE1NQorIzogYnJhbmNoLmM6MTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCB0cmFja2luZzogYW1iaWd1b3VzIGluZm9ybWF0aW9uIGZvciByZWYgJXMiCiBtc2dzdHIgIiIKICJLb25maWd1cmF0aW9uIHp1bSBGb2xnZW4gdm9uIEJyYW5jaCBuaWNodCBlaW5nZXJpY2h0ZXQuIFJlZmVyZW56ICVzIGlzdCAiCiAibWVocmRldXRpZy4iCiAKLSM6IGJyYW5jaC5jOjE4OAorIzogYnJhbmNoLmM6MTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgYnJhbmNoIG5hbWUuIgogbXNnc3RyICInJXMnIGlzdCBrZWluIGfDvGx0aWdlciBCcmFuY2huYW1lLiIKIAotIzogYnJhbmNoLmM6MjA3CisjOiBicmFuY2guYzoyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQSBicmFuY2ggbmFtZWQgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgIkJyYW5jaCAnJXMnIGV4aXN0aWVydCBiZXJlaXRzLiIKIAotIzogYnJhbmNoLmM6MjEyCisjOiBicmFuY2guYzoyMTMKIG1zZ2lkICJDYW5ub3QgZm9yY2UgdXBkYXRlIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIkthbm4gQWt0dWFsaXNpZXJ1bmcgZGVzIGFrdHVlbGxlbiBCcmFuY2hlcyBuaWNodCBlcnp3aW5nZW4uIgogCi0jOiBicmFuY2guYzoyMzIKKyM6IGJyYW5jaC5jOjIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc2V0dXAgdHJhY2tpbmcgaW5mb3JtYXRpb247IHN0YXJ0aW5nIHBvaW50ICclcycgaXMgbm90IGEgYnJhbmNoLiIKIG1zZ3N0ciAiIgogIkthbm4gVHJhY2tpbmctSW5mb3JtYXRpb25lbiBuaWNodCBlaW5yaWNodGVuOyBTdGFydHB1bmt0ICclcycgaXN0IGtlaW4gIgogIkJyYW5jaC4iCiAKLSM6IGJyYW5jaC5jOjIzNAorIzogYnJhbmNoLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSByZXF1ZXN0ZWQgdXBzdHJlYW0gYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImRlciBhbmdlZm9yZGVydGUgVXBzdHJlYW0tQnJhbmNoICclcycgZXhpc3RpZXJ0IG5pY2h0IgogCi0jOiBicmFuY2guYzoyMzYKKyM6IGJyYW5jaC5jOjIzNwogbXNnaWQgIiIKICJcbiIKICJJZiB5b3UgYXJlIHBsYW5uaW5nIG9uIGJhc2luZyB5b3VyIHdvcmsgb24gYW4gdXBzdHJlYW1cbiIKQEAgLTEyMjMsMjcgKzE2ODcsMjcgQEAKICJcImdpdCBwdXNoIC11XCIgdmVyd2VuZGVuLCB1bSBkZW4gVXBzdHJlYW0tQnJhbmNoIGJlaW0gXCJwdXNoXCJcbiIKICJ6dSBrb25maWd1cmllcmVuLiIKIAotIzogYnJhbmNoLmM6Mjc5CisjOiBicmFuY2guYzoyODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICJVbmfDvGx0aWdlciBPYmpla3QtTmFtZTogJyVzJyIKIAotIzogYnJhbmNoLmM6Mjk5CisjOiBicmFuY2guYzozMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQW1iaWd1b3VzIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAibWVocmRldXRpZ2VyIE9iamVrdC1OYW1lOiAnJXMnIgogCi0jOiBicmFuY2guYzozMDQKKyM6IGJyYW5jaC5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgogbXNnc3RyICJVbmfDvGx0aWdlciBCcmFuY2hwdW5rdDogJyVzJyIKIAotIzogYnJhbmNoLmM6MzU4CisjOiBicmFuY2guYzozNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGNoZWNrZWQgb3V0IGF0ICclcyciCiBtc2dzdHIgIiclcycgaXN0IGJlcmVpdHMgaW4gJyVzJyBhdXNnZWNoZWNrdCIKIAotIzogYnJhbmNoLmM6MzgxCisjOiBicmFuY2guYzozODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSEVBRCBvZiB3b3JraW5nIHRyZWUgJXMgaXMgbm90IHVwZGF0ZWQiCiBtc2dzdHIgIkhFQUQgZGVzIEFyYmVpdHN2ZXJ6ZWljaG5pc3NlcyAlcyBpc3QgbmljaHQgYWt0dWFsaXNpZXJ0LiIKQEAgLTEyNTgsNzAgKzE3MjIsNzQgQEAKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVhZGVyOiAlcyVzICglZCkiCiBtc2dzdHIgIm5pY2h0IGVya2FubnRlciBLb3BmYmVyZWljaDogJXMlcyAoJWQpIgogCi0jOiBidW5kbGUuYzo5MCByZXJlcmUuYzo0ODAgcmVyZXJlLmM6NjkwIHNlcXVlbmNlci5jOjIxODIgc2VxdWVuY2VyLmM6MjcyMgotIzogYnVpbHRpbi9jb21taXQuYzo3NzQKKyM6IGJ1bmRsZS5jOjkwIHJlcmVyZS5jOjQ4MCByZXJlcmUuYzo2OTAgc2VxdWVuY2VyLmM6MjM0NCBzZXF1ZW5jZXIuYzozMTA4CisjOiBidWlsdGluL2NvbW1pdC5jOjgxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCDDtmZmbmVuIgogCi0jOiBidW5kbGUuYzoxNDEKKyM6IGJ1bmRsZS5jOjE0MwogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgdGhlc2UgcHJlcmVxdWlzaXRlIGNvbW1pdHM6IgogbXNnc3RyICJEZW0gUmVwb3NpdG9yeSBmZWhsZW4gZm9sZ2VuZGUgdm9yYXVzZ2VzZXR6dGUgQ29tbWl0czoiCiAKLSM6IGJ1bmRsZS5jOjE5MgorIzogYnVuZGxlLmM6MTQ2Cittc2dpZCAibmVlZCBhIHJlcG9zaXRvcnkgdG8gdmVyaWZ5IGEgYnVuZGxlIgorbXNnc3RyICJVbSBlaW4gUGFrZXQgenUgw7xiZXJwcsO8ZmVuIHdpcmQgZWluIFJlcG9zaXRvcnkgYmVuw7Z0aWd0LiIKKworIzogYnVuZGxlLmM6MTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBidW5kbGUgY29udGFpbnMgdGhpcyByZWY6IgogbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoZXNlICVkIHJlZnM6IgogbXNnc3RyWzBdICJEYXMgUGFrZXQgZW50aMOkbHQgZGllc2UgUmVmZXJlbno6IgogbXNnc3RyWzFdICJEYXMgUGFrZXQgZW50aMOkbHQgZGllc2UgJWQgUmVmZXJlbnplbjoiCiAKLSM6IGJ1bmRsZS5jOjE5OQorIzogYnVuZGxlLmM6MjA0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZWNvcmRzIGEgY29tcGxldGUgaGlzdG9yeS4iCiBtc2dzdHIgIkRhcyBQYWtldCBzcGVpY2hlcnQgZWluZSBrb21wbGV0dGUgSGlzdG9yaWUuIgogCi0jOiBidW5kbGUuYzoyMDEKKyM6IGJ1bmRsZS5jOjIwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoaXMgcmVmOiIKIG1zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGVzZSAlZCByZWZzOiIKIG1zZ3N0clswXSAiRGFzIFBha2V0IGJlbsO2dGlndCBkaWVzZSBSZWZlcmVuejoiCiBtc2dzdHJbMV0gIkRhcyBQYWtldCBiZW7DtnRpZ3QgZGllc2UgJWQgUmVmZXJlbnplbjoiCiAKLSM6IGJ1bmRsZS5jOjI2NworIzogYnVuZGxlLmM6MjczCiBtc2dpZCAidW5hYmxlIHRvIGR1cCBidW5kbGUgZGVzY3JpcHRvciIKIG1zZ3N0ciAiS29ubnRlIGR1cCBmw7xyIERlc2NyaXB0b3IgZGVzIFBha2V0cyBuaWNodCBhdXNmw7xocmVuLiIKIAotIzogYnVuZGxlLmM6Mjc0CisjOiBidW5kbGUuYzoyODAKIG1zZ2lkICJDb3VsZCBub3Qgc3Bhd24gcGFjay1vYmplY3RzIgogbXNnc3RyICJLb25udGUgUGFrZXRvYmpla3RlIG5pY2h0IGVyc3RlbGxlbiIKIAotIzogYnVuZGxlLmM6Mjg1CisjOiBidW5kbGUuYzoyOTEKIG1zZ2lkICJwYWNrLW9iamVjdHMgZGllZCIKIG1zZ3N0ciAiRXJzdGVsbHVuZyBkZXIgUGFrZXRvYmpla3RlIGFiZ2Vicm9jaGVuIgogCi0jOiBidW5kbGUuYzozMjcKKyM6IGJ1bmRsZS5jOjMzMwogbXNnaWQgInJldi1saXN0IGRpZWQiCiBtc2dzdHIgIlwicmV2LWxpc3RcIiBhYmdlYnJvY2hlbiIKIAotIzogYnVuZGxlLmM6Mzc2CisjOiBidW5kbGUuYzozODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmICclcycgaXMgZXhjbHVkZWQgYnkgdGhlIHJldi1saXN0IG9wdGlvbnMiCiBtc2dzdHIgIlJlZmVyZW56ICclcycgd2lyZCBkdXJjaCBcInJldi1saXN0XCIgT3B0aW9uZW4gYXVzZ2VzY2hsb3NzZW4iCiAKLSM6IGJ1bmRsZS5jOjQ1NiBidWlsdGluL2xvZy5jOjE5MiBidWlsdGluL2xvZy5jOjE2ODggYnVpbHRpbi9zaG9ydGxvZy5jOjMwNAorIzogYnVuZGxlLmM6NDYxIGJ1aWx0aW4vbG9nLmM6MjAzIGJ1aWx0aW4vbG9nLmM6MTgxNCBidWlsdGluL3Nob3J0bG9nLmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgIm5pY2h0IGVya2FubnRlcyBBcmd1bWVudDogJXMiCiAKLSM6IGJ1bmRsZS5jOjQ2NAorIzogYnVuZGxlLmM6NDY5CiBtc2dpZCAiUmVmdXNpbmcgdG8gY3JlYXRlIGVtcHR5IGJ1bmRsZS4iCiBtc2dzdHIgIkVyc3RlbGx1bmcgZWluZXMgbGVlcmVuIFBha2V0cyB6dXLDvGNrZ2V3aWVzZW4uIgogCi0jOiBidW5kbGUuYzo0NzQKKyM6IGJ1bmRsZS5jOjQ3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlICclcyciCiBtc2dzdHIgImthbm4gJyVzJyBuaWNodCBlcnN0ZWxsZW4iCiAKLSM6IGJ1bmRsZS5jOjQ5OAorIzogYnVuZGxlLmM6NTA0CiBtc2dpZCAiaW5kZXgtcGFjayBkaWVkIgogbXNnc3RyICJFcnN0ZWxsdW5nIGRlciBQYWtldGluZGV4ZGF0ZWkgYWJnZWJyb2NoZW4iCiAKQEAgLTEzMzAsMTQgKzE3OTgsMTMgQEAKIG1zZ2lkICJpbnZhbGlkIGNvbG9yIHZhbHVlOiAlLipzIgogbXNnc3RyICJVbmfDvGx0aWdlciBGYXJid2VydDogJS4qcyIKIAotIzogY29tbWl0LmM6NTAgc2VxdWVuY2VyLmM6MjUyOCBidWlsdGluL2FtLmM6MzcwIGJ1aWx0aW4vYW0uYzo0MTQKLSM6IGJ1aWx0aW4vYW0uYzoxMzkwIGJ1aWx0aW4vYW0uYzoyMDI1IGJ1aWx0aW4vcmVwbGFjZS5jOjM3NgotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQ4CisjOiBjb21taXQuYzo1MSBzZXF1ZW5jZXIuYzoyODExIGJ1aWx0aW4vYW0uYzozNTQgYnVpbHRpbi9hbS5jOjM5OAorIzogYnVpbHRpbi9hbS5jOjEzNjYgYnVpbHRpbi9hbS5jOjIwMDkgYnVpbHRpbi9yZXBsYWNlLmM6NDU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyIKIG1zZ3N0ciAia29ubnRlICVzIG5pY2h0IHBhcnNlbiIKIAotIzogY29tbWl0LmM6NTIKKyM6IGNvbW1pdC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzICVzIGlzIG5vdCBhIGNvbW1pdCEiCiBtc2dzdHIgIiVzICVzIGlzdCBrZWluIENvbW1pdCEiCkBAIC0xMzYzLDI4ICsxODMwLDI4IEBACiAiU2llIGvDtm5uZW4gZGllc2UgTWVsZHVuZyB1bnRlcmRyw7xja2VuLCBpbmRlbSBTaWVcbiIKICJcImdpdCBjb25maWcgYWR2aWNlLmdyYWZ0RmlsZURlcHJlY2F0ZWQgZmFsc2VcIiBhdXNmw7xocmVuLiIKIAotIzogY29tbWl0LmM6MTExNQorIzogY29tbWl0LmM6MTE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICIiCiAiQ29tbWl0ICVzIGhhdCBlaW5lIG5pY2h0IHZlcnRyYXVlbnN3w7xyZGlnZSBHUEctU2lnbmF0dXIsIGFuZ2VibGljaCB2b24gJXMuIgogCi0jOiBjb21taXQuYzoxMTE4CisjOiBjb21taXQuYzoxMTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBiYWQgR1BHIHNpZ25hdHVyZSBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICJDb21taXQgJXMgaGF0IGVpbmUgdW5nw7xsdGlnZSBHUEctU2lnbmF0dXIsIGFuZ2VibGljaCB2b24gJXMuIgogCi0jOiBjb21taXQuYzoxMTIxCisjOiBjb21taXQuYzoxMTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIGEgR1BHIHNpZ25hdHVyZS4iCiBtc2dzdHIgIkNvbW1pdCAlcyBoYXQga2VpbmUgR1BHLVNpZ25hdHVyLiIKIAotIzogY29tbWl0LmM6MTEyNAorIzogY29tbWl0LmM6MTE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIGJ5ICVzXG4iCiBtc2dzdHIgIkNvbW1pdCAlcyBoYXQgZWluZSBnw7xsdGlnZSBHUEctU2lnbmF0dXIgdm9uICVzXG4iCiAKLSM6IGNvbW1pdC5jOjEzNzgKKyM6IGNvbW1pdC5jOjE0MTUKIG1zZ2lkICIiCiAiV2FybmluZzogY29tbWl0IG1lc3NhZ2UgZGlkIG5vdCBjb25mb3JtIHRvIFVURi04LlxuIgogIllvdSBtYXkgd2FudCB0byBhbWVuZCBpdCBhZnRlciBmaXhpbmcgdGhlIG1lc3NhZ2UsIG9yIHNldCB0aGUgY29uZmlnXG4iCkBAIC0xMzk2LDk3ICsxODYzLDI3MyBAQAogIkVuY29kaW5nLFxuIgogIndlbGNoZXMgdm9uIGlocmVtIFByb2pla3QgdmVyd2VuZGV0IHdpcmQuXG4iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEwOAotIywgYy1mb3JtYXQKLW1zZ2lkICJncmFwaCBmaWxlICVzIGlzIHRvbyBzbWFsbCIKLW1zZ3N0ciAiR3JhcGgtRGF0ZWkgJXMgaXN0IHp1IGtsZWluLiIKKyM6IGNvbW1pdC1ncmFwaC5jOjEzMAorbXNnaWQgImNvbW1pdC1ncmFwaCBmaWxlIGlzIHRvbyBzbWFsbCIKK21zZ3N0ciAiQ29tbWl0LUdyYXBoLURhdGVpIGlzdCB6dSBrbGVpbi4iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjExNQorIzogY29tbWl0LWdyYXBoLmM6MTk1CiAjLCBjLWZvcm1hdAotbXNnaWQgImdyYXBoIHNpZ25hdHVyZSAlWCBkb2VzIG5vdCBtYXRjaCBzaWduYXR1cmUgJVgiCi1tc2dzdHIgIkdyYXBoLVNpZ25hdHVyICVYIHN0aW1tdCBuaWNodCBtaXQgU2lnbmF0dXIgJVggw7xiZXJlaW4uIgorbXNnaWQgImNvbW1pdC1ncmFwaCBzaWduYXR1cmUgJVggZG9lcyBub3QgbWF0Y2ggc2lnbmF0dXJlICVYIgorbXNnc3RyICJDb21taXQtR3JhcGgtU2lnbmF0dXIgJVggc3RpbW10IG5pY2h0IG1pdCBTaWduYXR1ciAlWCDDvGJlcmVpbi4iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEyMgorIzogY29tbWl0LWdyYXBoLmM6MjAyCiAjLCBjLWZvcm1hdAotbXNnaWQgImdyYXBoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKLW1zZ3N0ciAiR3JhcGgtVmVyc2lvbiAlWCBzdGltbXQgbmljaHQgbWl0IFZlcnNpb24gJVggw7xiZXJlaW4uIgorbXNnaWQgImNvbW1pdC1ncmFwaCB2ZXJzaW9uICVYIGRvZXMgbm90IG1hdGNoIHZlcnNpb24gJVgiCittc2dzdHIgIkNvbW1pdC1HcmFwaC1WZXJzaW9uICVYIHN0aW1tdCBuaWNodCBtaXQgVmVyc2lvbiAlWCDDvGJlcmVpbi4iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEyOQorIzogY29tbWl0LWdyYXBoLmM6MjA5CiAjLCBjLWZvcm1hdAotbXNnaWQgImhhc2ggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIgotbXNnc3RyICJIYXNoLVZlcnNpb24gJVggc3RpbW10IG5pY2h0IG1pdCBWZXJzaW9uICVYIMO8YmVyZWluLiIKK21zZ2lkICJjb21taXQtZ3JhcGggaGFzaCB2ZXJzaW9uICVYIGRvZXMgbm90IG1hdGNoIHZlcnNpb24gJVgiCittc2dzdHIgIkhhc2gtVmVyc2lvbiBkZXMgQ29tbWl0LUdyYXBoICVYIHN0aW1tdCBuaWNodCBtaXQgVmVyc2lvbiAlWCDDvGJlcmVpbi4iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjE1MworIzogY29tbWl0LWdyYXBoLmM6MjMyCittc2dpZCAiY29tbWl0LWdyYXBoIGNodW5rIGxvb2t1cCB0YWJsZSBlbnRyeSBtaXNzaW5nOyBmaWxlIG1heSBiZSBpbmNvbXBsZXRlIgorbXNnc3RyICIiCisiZmVobGVuZGVyIFRhYmVsbGVuZWludHJhZyBmw7xyIENvbW1pdC1HcmFwaCBDaHVuay1Mb29rdXA7IERhdGVpICIKKyJtw7ZnbGljaGVyd2Vpc2UgdW52b2xsc3TDpG5kaWciCisKKyM6IGNvbW1pdC1ncmFwaC5jOjI0MwogIywgYy1mb3JtYXQKLW1zZ2lkICJpbXByb3BlciBjaHVuayBvZmZzZXQgJTA4eCUwOHgiCi1tc2dzdHIgIlVuenVsw6Rzc2lnZXIgQ2h1bmstT2Zmc2V0ICUwOHglMDh4IgorbXNnaWQgImNvbW1pdC1ncmFwaCBpbXByb3BlciBjaHVuayBvZmZzZXQgJTA4eCUwOHgiCittc2dzdHIgIlVuenVsw6Rzc2lnZXIgQ29tbWl0LUdyYXBoIENodW5rLU9mZnNldCAlMDh4JTA4eCIKIAotIzogY29tbWl0LWdyYXBoLmM6MTg5CisjOiBjb21taXQtZ3JhcGguYzoyODYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY2h1bmsgaWQgJTA4eCBhcHBlYXJzIG11bHRpcGxlIHRpbWVzIgotbXNnc3RyICJDaHVuay1JZCAlMDh4IGtvbW10IG1laHJmYWNoIHZvci4iCittc2dpZCAiY29tbWl0LWdyYXBoIGNodW5rIGlkICUwOHggYXBwZWFycyBtdWx0aXBsZSB0aW1lcyIKK21zZ3N0ciAiQ29tbWl0LUdyYXBoIENodW5rLUlkICUwOHgga29tbXQgbWVocmZhY2ggdm9yLiIKIAotIzogY29tbWl0LWdyYXBoLmM6MzA4CisjOiBjb21taXQtZ3JhcGguYzozNTAKK21zZ2lkICJjb21taXQtZ3JhcGggaGFzIG5vIGJhc2UgZ3JhcGhzIGNodW5rIgorbXNnc3RyICJDb21taXQtR3JhcGggaGF0IGtlaW5lbiBCYXNpcy1HcmFwaC1DaHVuayIKKworIzogY29tbWl0LWdyYXBoLmM6MzYwCittc2dpZCAiY29tbWl0LWdyYXBoIGNoYWluIGRvZXMgbm90IG1hdGNoIgorbXNnc3RyICJDb21taXQtR3JhcGggVmVya2V0dHVuZyBzdGltbXQgbmljaHQgw7xiZXJlaW4uIgorCisjOiBjb21taXQtZ3JhcGguYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjb21taXQtZ3JhcGggY2hhaW46IGxpbmUgJyVzJyBub3QgYSBoYXNoIgorbXNnc3RyICJVbmfDvGx0aWdlIENvbW1pdC1HcmFwaCBWZXJrZXR0dW5nOiBaZWlsZSAnJXMnIGlzdCBrZWluIEhhc2giCisKKyM6IGNvbW1pdC1ncmFwaC5jOjQzMworbXNnaWQgInVuYWJsZSB0byBmaW5kIGFsbCBjb21taXQtZ3JhcGggZmlsZXMiCittc2dzdHIgIktvbm50ZSBuaWNodCBhbGxlIENvbW1pdC1HcmFwaC1EYXRlaWVuIGZpbmRlbi4iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjU2NCBjb21taXQtZ3JhcGguYzo2MjQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdCBwb3NpdGlvbi4gY29tbWl0LWdyYXBoIGlzIGxpa2VseSBjb3JydXB0IgorbXNnc3RyICJVbmfDvGx0aWdlIENvbW1pdC1Qb3NpdGlvbi4gQ29tbWl0LUdyYXBoIGlzdCB3YWhyc2NoZWlubGljaCBiZXNjaMOkZGlndC4iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZmluZCBjb21taXQgJXMiCiBtc2dzdHIgIktvbm50ZSBDb21taXQgJXMgbmljaHQgZmluZGVuLiIKIAotIzogY29tbWl0LWdyYXBoLmM6NjE3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1MgorIzogY29tbWl0LWdyYXBoLmM6ODU4IGJ1aWx0aW4vYW0uYzoxMjg3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgJXMiCittc2dzdHIgIktvbm50ZSBDb21taXQgJyVzJyBuaWNodCBwYXJzZW4uIgorCisjOiBjb21taXQtZ3JhcGguYzoxMDE3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IHR5cGUgb2Ygb2JqZWN0ICVzIgogbXNnc3RyICJLb25udGUgQXJ0IHZvbiBPYmpla3QgJyVzJyBuaWNodCBiZXN0aW1tZW4uIgogCi0jOiBjb21taXQtZ3JhcGguYzo2NTEKLW1zZ2lkICJBbm5vdGF0aW5nIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgotbXNnc3RyICJBbm5vdGllcmUgQ29tbWl0cyBpbiBDb21taXQtR3JhcGhlbiIKKyM6IGNvbW1pdC1ncmFwaC5jOjEwNDkKK21zZ2lkICJMb2FkaW5nIGtub3duIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICJMYWRlIGJla2FubnRlIENvbW1pdHMgaW4gQ29tbWl0LUdyYXBoIgogCi0jOiBjb21taXQtZ3JhcGguYzo2OTEKKyM6IGNvbW1pdC1ncmFwaC5jOjEwNjYKK21zZ2lkICJFeHBhbmRpbmcgcmVhY2hhYmxlIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICJFcndlaXRlcmUgZXJyZWljaGJhcmUgQ29tbWl0cyBpbiBDb21taXQtR3JhcGgiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEwODUKK21zZ2lkICJDbGVhcmluZyBjb21taXQgbWFya3MgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICJMw7ZzY2hlIENvbW1pdC1NYXJraWVydW5nZW4gaW4gQ29tbWl0LUdyYXBoIgorCisjOiBjb21taXQtZ3JhcGguYzoxMTA0CiBtc2dpZCAiQ29tcHV0aW5nIGNvbW1pdCBncmFwaCBnZW5lcmF0aW9uIG51bWJlcnMiCi1tc2dzdHIgIkNvbW1pdC1HcmFwaCBHZW5lcmllcnVuZ3NudW1tZXJuIGJlcmVjaG5lbiIKK21zZ3N0ciAiQ29tbWl0LUdyYXBoIEdlbmVyYXRpb25zbnVtbWVybiBiZXJlY2huZW4iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjgwMyBjb21taXQtZ3JhcGguYzo4MjYgY29tbWl0LWdyYXBoLmM6ODUyCi1tc2dpZCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGgiCi1tc2dzdHIgIkJlc3RpbW1lIENvbW1pdHMgZsO8ciBDb21taXQtR3JhcGhlbiIKKyM6IGNvbW1pdC1ncmFwaC5jOjExNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGggaW4gJWQgcGFjayIKK21zZ2lkX3BsdXJhbCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGggaW4gJWQgcGFja3MiCittc2dzdHJbMF0gIlN1Y2hlIENvbW1pdHMgZsO8ciBDb21taXQtR3JhcGggaW4gJWQgUGFrZXQiCittc2dzdHJbMV0gIlN1Y2hlIENvbW1pdHMgZsO8ciBDb21taXQtR3JhcGggaW4gJWQgUGFrZXRlbiIKIAotIzogY29tbWl0LWdyYXBoLmM6ODEyCisjOiBjb21taXQtZ3JhcGguYzoxMTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGFkZGluZyBwYWNrICVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSBIaW56dWbDvGdlbiB2b24gUGFrZXQgJXMuIgogCi0jOiBjb21taXQtZ3JhcGguYzo4MTQKKyM6IGNvbW1pdC1ncmFwaC5jOjExOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3Igb3BlbmluZyBpbmRleCBmb3IgJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIMOWZmZuZW4gZGVzIEluZGV4IGbDvHIgJXMuIgogCi0jOiBjb21taXQtZ3JhcGguYzo4NjgKKyM6IGNvbW1pdC1ncmFwaC5jOjEyMjAKICMsIGMtZm9ybWF0Ci1tc2dpZCAidGhlIGNvbW1pdCBncmFwaCBmb3JtYXQgY2Fubm90IHdyaXRlICVkIGNvbW1pdHMiCi1tc2dzdHIgIkRhcyBDb21taXQtR3JhcGggRm9ybWF0IGthbm4gbmljaHQgJWQgQ29tbWl0cyBzY2hyZWliZW4uIgorbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGZyb20gJWQgcmVmIgorbXNnaWRfcGx1cmFsICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBmcm9tICVkIHJlZnMiCittc2dzdHJbMF0gIlN1Y2hlIENvbW1pdHMgZsO8ciBDb21taXQtR3JhcGggaW4gJWQgUmVmZXJlbnoiCittc2dzdHJbMV0gIlN1Y2hlIENvbW1pdHMgZsO8ciBDb21taXQtR3JhcGggaW4gJWQgUmVmZXJlbnplbiIKIAotIzogY29tbWl0LWdyYXBoLmM6ODk1Ci1tc2dpZCAidG9vIG1hbnkgY29tbWl0cyB0byB3cml0ZSBncmFwaCIKLW1zZ3N0ciAiWnUgdmllbGUgQ29tbWl0cyB6dW0gU2NocmVpYmVuIGRlcyBHcmFwaGVuLiIKKyM6IGNvbW1pdC1ncmFwaC5jOjEyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjb21taXQgb2JqZWN0IGlkOiAlcyIKK21zZ3N0ciAidW5nw7xsdGlnZSBDb21taXQtT2JqZWt0LUlEOiAlcyIKIAotIzogY29tbWl0LWdyYXBoLmM6OTAyIG1pZHguYzo3NjkKKyM6IGNvbW1pdC1ncmFwaC5jOjEyNTUKK21zZ2lkICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBhbW9uZyBwYWNrZWQgb2JqZWN0cyIKK21zZ3N0ciAiU3VjaGUgQ29tbWl0cyBmw7xyIENvbW1pdC1HcmFwaCBpbiBnZXBhY2t0ZW4gT2JqZWt0ZW4iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEyNzAKK21zZ2lkICJDb3VudGluZyBkaXN0aW5jdCBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAiWsOkaGxlIENvbW1pdHMgaW4gQ29tbWl0LUdyYXBoIgorCisjOiBjb21taXQtZ3JhcGguYzoxMzAwCittc2dpZCAiRmluZGluZyBleHRyYSBlZGdlcyBpbiBjb21taXQgZ3JhcGgiCittc2dzdHIgIlN1Y2hlIHp1c8OkdHpsaWNoZSBSw6RuZGVyIGluIENvbW1pdC1HcmFwaCIKKworIzogY29tbWl0LWdyYXBoLmM6MTM0NgorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBjb3JyZWN0IG51bWJlciBvZiBiYXNlIGdyYXBoIGlkcyIKK21zZ3N0ciAiRmVobGVyIGJlaW0gU2NocmVpYmVuIGRlciBrb3JyZWt0ZW4gQW56YWhsIHZvbiBCYXNpcy1HcmFwaC1JRHMuIgorCisjOiBjb21taXQtZ3JhcGguYzoxMzc5IG1pZHguYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICVzIgogbXNnc3RyICJLb25udGUgZsO8aHJlbmRlIFZlcnplaWNobmlzc2Ugdm9uICclcycgbmljaHQgZXJzdGVsbGVuLiIKIAotIzogY29tbWl0LWdyYXBoLmM6MTAwMgorIzogY29tbWl0LWdyYXBoLmM6MTM5MSBidWlsdGluL2luZGV4LXBhY2suYzozMDYgYnVpbHRpbi9yZXBhY2suYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgorbXNnc3RyICJrb25udGUgJyVzJyBuaWNodCBlcnN0ZWxsZW4iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGluZyBvdXQgY29tbWl0IGdyYXBoIGluICVkIHBhc3MiCittc2dpZF9wbHVyYWwgIldyaXRpbmcgb3V0IGNvbW1pdCBncmFwaCBpbiAlZCBwYXNzZXMiCittc2dzdHJbMF0gIlNjaHJlaWJlIENvbW1pdC1HcmFwaCBpbiAlZCBEdXJjaGdhbmciCittc2dzdHJbMV0gIlNjaHJlaWJlIENvbW1pdC1HcmFwaCBpbiAlZCBEdXJjaGfDpG5nZW4iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE0OTIKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiBjb21taXQtZ3JhcGggY2hhaW4gZmlsZSIKK21zZ3N0ciAiS29ubnRlIENvbW1pdC1HcmFwaCBDaGFpbi1EYXRlaSBuaWNodCDDtmZmbmVuLiIKKworIzogY29tbWl0LWdyYXBoLmM6MTUwNAorbXNnaWQgImZhaWxlZCB0byByZW5hbWUgYmFzZSBjb21taXQtZ3JhcGggZmlsZSIKK21zZ3N0ciAiS29ubnRlIEJhc2lzLUNvbW1pdC1HcmFwaC1EYXRlaSBuaWNodCB1bWJlbmVubmVuLiIKKworIzogY29tbWl0LWdyYXBoLmM6MTUyNAorbXNnaWQgImZhaWxlZCB0byByZW5hbWUgdGVtcG9yYXJ5IGNvbW1pdC1ncmFwaCBmaWxlIgorbXNnc3RyICJLb25udGUgdGVtcG9yw6RyZSBDb21taXQtR3JhcGgtRGF0ZWkgbmljaHQgdW1iZW5lbm5lbi4iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE2MzUKK21zZ2lkICJTY2FubmluZyBtZXJnZWQgY29tbWl0cyIKK21zZ3N0ciAiRHVyY2hzdWNoZSB6dXNhbW1lbmdlZsO8aHJ0ZSBDb21taXRzIgorCisjOiBjb21taXQtZ3JhcGguYzoxNjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZHVwbGljYXRlIGNvbW1pdCBpZCAlcyIKK21zZ3N0ciAiVW5lcndhcnRldGUgZG9wcGVsdGUgQ29tbWl0LUlEICVzIgorCisjOiBjb21taXQtZ3JhcGguYzoxNjcwCittc2dpZCAiTWVyZ2luZyBjb21taXQtZ3JhcGgiCittc2dzdHIgIlp1c2FtbWVuZsO8aHJlbiB2b24gQ29tbWl0LUdyYXBoIgorCisjOiBjb21taXQtZ3JhcGguYzoxODYwCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBjb21taXQgZ3JhcGggZm9ybWF0IGNhbm5vdCB3cml0ZSAlZCBjb21taXRzIgorbXNnc3RyICJEYXMgQ29tbWl0LUdyYXBoIEZvcm1hdCBrYW5uIG5pY2h0ICVkIENvbW1pdHMgc2NocmVpYmVuLiIKKworIzogY29tbWl0LWdyYXBoLmM6MTg3MQorbXNnaWQgInRvbyBtYW55IGNvbW1pdHMgdG8gd3JpdGUgZ3JhcGgiCittc2dzdHIgIlp1IHZpZWxlIENvbW1pdHMgenVtIFNjaHJlaWJlbiBkZXMgR3JhcGhlbi4iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE5NjEKIG1zZ2lkICJ0aGUgY29tbWl0LWdyYXBoIGZpbGUgaGFzIGluY29ycmVjdCBjaGVja3N1bSBhbmQgaXMgbGlrZWx5IGNvcnJ1cHQiCiBtc2dzdHIgIiIKICJEaWUgQ29tbWl0LUdyYXBoLURhdGVpIGhhdCBlaW5lIGZhbHNjaGUgUHLDvGZzdW1tZSB1bmQgaXN0IHdhaHJzY2hlaW5saWNoICIKICJiZXNjaMOkZGlndC4iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEwNDYKKyM6IGNvbW1pdC1ncmFwaC5jOjE5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIGhhcyBpbmNvcnJlY3QgT0lEIG9yZGVyOiAlcyB0aGVuICVzIgorbXNnc3RyICJDb21taXQtR3JhcGggaGF0IGZlaGxlcmhhZnRlIE9JRC1SZWloZW5mb2xnZTogJXMgZGFubiAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTk4MSBjb21taXQtZ3JhcGguYzoxOTk2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBoYXMgaW5jb3JyZWN0IGZhbm91dCB2YWx1ZTogZmFub3V0WyVkXSA9ICV1ICE9ICV1IgorbXNnc3RyICJDb21taXQtR3JhcGggaGF0IGZlaGxlcmhhZnRlbiBGYW5vdXQtV2VydDogZmFub3V0WyVkXSA9ICV1ICE9ICV1IgorCisjOiBjb21taXQtZ3JhcGguYzoxOTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb21taXQgJXMgZnJvbSBjb21taXQtZ3JhcGgiCittc2dzdHIgIktvbm50ZSBDb21taXQgJXMgdm9uIENvbW1pdC1HcmFwaCBuaWNodCBwYXJzZW4uIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDA2CiBtc2dpZCAiVmVyaWZ5aW5nIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgogbXNnc3RyICJDb21taXQgaW4gQ29tbWl0LUdyYXBoIMO8YmVycHLDvGZlbiIKIAotIzogY29tcGF0L29ic3RhY2suYzo0MDUgY29tcGF0L29ic3RhY2suYzo0MDcKKyM6IGNvbW1pdC1ncmFwaC5jOjIwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbW1pdCAlcyBmcm9tIG9iamVjdCBkYXRhYmFzZSBmb3IgY29tbWl0LWdyYXBoIgorbXNnc3RyICIiCisiRmVobGVyIGJlaW0gUGFyc2VuIGRlcyBDb21taXRzICVzIHZvbiBPYmpla3QtRGF0ZW5iYW5rIGbDvHIgQ29tbWl0LUdyYXBoIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDI3CisjLCBjLWZvcm1hdAorbXNnaWQgInJvb3QgdHJlZSBPSUQgZm9yIGNvbW1pdCAlcyBpbiBjb21taXQtZ3JhcGggaXMgJXMgIT0gJXMiCittc2dzdHIgIiIKKyJPSUQgZGVzIFd1cnplbHZlcnplaWNobmlzc2VzIGbDvHIgQ29tbWl0ICVzIGluIENvbW1pdC1HcmFwaCBpc3QgJXMgIT0gJXMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIHBhcmVudCBsaXN0IGZvciBjb21taXQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgIkNvbW1pdC1HcmFwaCBWb3Jnw6RuZ2VyLUxpc3RlIGbDvHIgQ29tbWl0ICVzIGlzdCB6dSBsYW5nIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBwYXJlbnQgZm9yICVzIGlzICVzICE9ICVzIgorbXNnc3RyICJDb21taXQtR3JhcGgtVm9yZ8OkbmdlciBmw7xyICVzIGlzdCAlcyAhPSAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MjA1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggcGFyZW50IGxpc3QgZm9yIGNvbW1pdCAlcyB0ZXJtaW5hdGVzIGVhcmx5IgorbXNnc3RyICJDb21taXQtR3JhcGggVm9yZ8Okbmdlci1MaXN0ZSBmw7xyIENvbW1pdCAlcyBlbmRldCB6dSBmcsO8aCIKKworIzogY29tbWl0LWdyYXBoLmM6MjA2NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY29tbWl0LWdyYXBoIGhhcyBnZW5lcmF0aW9uIG51bWJlciB6ZXJvIGZvciBjb21taXQgJXMsIGJ1dCBub24temVybyBlbHNld2hlcmUiCittc2dzdHIgIiIKKyJDb21taXQtR3JhcGggaGF0IEdlbmVyYXRpb25zbnVtbWVyIG51bGwgZsO8ciBDb21taXQgJXMsIGFiZXIgc29uc3QgdW5nbGVpY2ggIgorIm51bGwiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvbW1pdC1ncmFwaCBoYXMgbm9uLXplcm8gZ2VuZXJhdGlvbiBudW1iZXIgZm9yIGNvbW1pdCAlcywgYnV0IHplcm8gZWxzZXdoZXJlIgorbXNnc3RyICIiCisiQ29tbWl0LUdyYXBoIGhhdCBHZW5lcmF0aW9uc251bW1lciB1bmdsZWljaCBudWxsIGbDvHIgQ29tbWl0ICVzLCBhYmVyIHNvbnN0ICIKKyJudWxsIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBnZW5lcmF0aW9uIGZvciBjb21taXQgJXMgaXMgJXUgIT0gJXUiCittc2dzdHIgIkNvbW1pdC1HcmFwaCBFcnN0ZWxsdW5nIGbDvHIgQ29tbWl0ICVzIGlzdCAldSAhPSAldSIKKworIzogY29tbWl0LWdyYXBoLmM6MjA4OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQgZGF0ZSBmb3IgY29tbWl0ICVzIGluIGNvbW1pdC1ncmFwaCBpcyAlPFBSSXVNQVg+ICE9ICU8UFJJdU1BWD4iCittc2dzdHIgIiIKKyJDb21taXQtRGF0dW0gZsO8ciBDb21taXQgJXMgaW4gQ29tbWl0LUdyYXBoIGlzdCAlPFBSSXVNQVg+ICE9ICU8UFJJdU1BWD4iCisKKyM6IGNvbXBhdC9vYnN0YWNrLmM6NDA2IGNvbXBhdC9vYnN0YWNrLmM6NDA4CiBtc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKIG1zZ3N0ciAiU3BlaWNoZXIgdmVyYnJhdWNodCIKIAotIzogY29uZmlnLmM6MTIzCisjOiBjb25maWcuYzoxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4Y2VlZGVkIG1heGltdW0gaW5jbHVkZSBkZXB0aCAoJWQpIHdoaWxlIGluY2x1ZGluZ1xuIgpAQCAtMTUwMiwzMTIgKzIxNDUsMzA2IEBACiAiw7xiZXJzY2hyaXR0ZW4uXG4iCiAiRGFzIGvDtm5udGUgZHVyY2ggemlya3VsYXJlIEluY2x1ZGVzIGVudHN0YW5kZW4gc2Vpbi4iCiAKLSM6IGNvbmZpZy5jOjEzOQorIzogY29uZmlnLmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBleHBhbmQgaW5jbHVkZSBwYXRoICclcyciCiBtc2dzdHIgIktvbm50ZSBJbmNsdWRlLVBmYWQgJyVzJyBuaWNodCBlcndlaXRlcm4uIgogCi0jOiBjb25maWcuYzoxNTAKKyM6IGNvbmZpZy5jOjE1MQogbXNnaWQgInJlbGF0aXZlIGNvbmZpZyBpbmNsdWRlcyBtdXN0IGNvbWUgZnJvbSBmaWxlcyIKIG1zZ3N0ciAiUmVsYXRpdmUgSW5jbHVkZXMgdm9uIEtvbmZpZ3VyYXRpb25lbiBtw7xzc2VuIGF1cyBEYXRlaWVuIGtvbW1lbi4iCiAKLSM6IGNvbmZpZy5jOjE5MAorIzogY29uZmlnLmM6MTk3CiBtc2dpZCAicmVsYXRpdmUgY29uZmlnIGluY2x1ZGUgY29uZGl0aW9uYWxzIG11c3QgY29tZSBmcm9tIGZpbGVzIgogbXNnc3RyICIiCiAiQmVkaW5ndW5nZW4gZsO8ciBkYXMgRWluYmluZGVuIHZvbiBLb25maWd1cmF0aW9uZW4gYXVzIHJlbGF0aXZlbiBQZmFkZW4gIgogIm3DvHNzZW5cbiIKICJhdXMgRGF0ZWllbiBrb21tZW4uIgogCi0jOiBjb25maWcuYzozNDgKKyM6IGNvbmZpZy5jOjM3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJrZXkgZG9lcyBub3QgY29udGFpbiBhIHNlY3Rpb246ICVzIgogbXNnc3RyICJTY2hsw7xzc2VsIGVudGjDpGx0IGtlaW5lIFNla3Rpb246ICVzIgogCi0jOiBjb25maWcuYzozNTQKKyM6IGNvbmZpZy5jOjM4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJrZXkgZG9lcyBub3QgY29udGFpbiB2YXJpYWJsZSBuYW1lOiAlcyIKIG1zZ3N0ciAiU2NobMO8c3NlbCBlbnRow6RsdCBrZWluZW4gVmFyaWFibGVubmFtZW46ICVzIgogCi0jOiBjb25maWcuYzozNzggc2VxdWVuY2VyLmM6MjI5NgorIzogY29uZmlnLmM6NDA2IHNlcXVlbmNlci5jOjI1MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXk6ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlciBTY2hsw7xzc2VsOiAlcyIKIAotIzogY29uZmlnLmM6Mzg0CisjOiBjb25maWcuYzo0MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXkgKG5ld2xpbmUpOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgU2NobMO8c3NlbCAobmV1ZSBaZWlsZSk6ICVzIgogCi0jOiBjb25maWcuYzo0MjAgY29uZmlnLmM6NDMyCisjOiBjb25maWcuYzo0NDggY29uZmlnLmM6NDYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJvZ3VzIGNvbmZpZyBwYXJhbWV0ZXI6ICVzIgogbXNnc3RyICJGZWhsZXJoYWZ0ZXIgS29uZmlndXJhdGlvbnNwYXJhbWV0ZXI6ICVzIgogCi0jOiBjb25maWcuYzo0NjcKKyM6IGNvbmZpZy5jOjQ5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJib2d1cyBmb3JtYXQgaW4gJXMiCiBtc2dzdHIgIkZlaGxlcmhhZnRlcyBGb3JtYXQgaW4gJXMiCiAKLSM6IGNvbmZpZy5jOjc5MworIzogY29uZmlnLmM6ODIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBibG9iICVzIgogbXNnc3RyICJVbmfDvGx0aWdlIEtvbmZpZ3VyYXRpb25zemVpbGUgJWQgaW4gQmxvYiAlcyIKIAotIzogY29uZmlnLmM6Nzk3CisjOiBjb25maWcuYzo4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGZpbGUgJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgS29uZmlndXJhdGlvbnN6ZWlsZSAlZCBpbiBEYXRlaSAlcyIKIAotIzogY29uZmlnLmM6ODAxCisjOiBjb25maWcuYzo4MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJVbmfDvGx0aWdlIEtvbmZpZ3VyYXRpb25zemVpbGUgJWQgaW4gU3RhbmRhcmQtRWluZ2FiZSIKIAotIzogY29uZmlnLmM6ODA1CisjOiBjb25maWcuYzo4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN1Ym1vZHVsZS1ibG9iICVzIgogbXNnc3RyICJVbmfDvGx0aWdlIEtvbmZpZ3VyYXRpb25zemVpbGUgJWQgaW4gU3VibW9kdWwtQmxvYiAlcyIKIAotIzogY29uZmlnLmM6ODA5CisjOiBjb25maWcuYzo4MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGNvbW1hbmQgbGluZSAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBLb25maWd1cmF0aW9uc3plaWxlICVkIGluIEtvbW1hbmRvemVpbGUgJXMiCiAKLSM6IGNvbmZpZy5jOjgxMworIzogY29uZmlnLmM6ODQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBLb25maWd1cmF0aW9uc3plaWxlICVkIGluICVzIgogCi0jOiBjb25maWcuYzo5NTIKKyM6IGNvbmZpZy5jOjk3OAogbXNnaWQgIm91dCBvZiByYW5nZSIKIG1zZ3N0ciAiQXXDn2VyaGFsYiBkZXMgQmVyZWljaHMiCiAKLSM6IGNvbmZpZy5jOjk1MgorIzogY29uZmlnLmM6OTc4CiBtc2dpZCAiaW52YWxpZCB1bml0IgogbXNnc3RyICJVbmfDvGx0aWdlIEVpbmhlaXQiCiAKLSM6IGNvbmZpZy5jOjk1OAorIzogY29uZmlnLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgbnVtZXJpc2NoZXIgV2VydCAnJXMnIGbDvHIgS29uZmlndXJhdGlvbiAnJXMnOiAlcyIKIAotIzogY29uZmlnLmM6OTYzCisjOiBjb25maWcuYzo5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gYmxvYiAlczogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIG51bWVyaXNjaGVyIFdlcnQgJyVzJyBmw7xyIEtvbmZpZ3VyYXRpb24gJyVzJyBpbiBCbG9iICVzOiAlcyIKIAotIzogY29uZmlnLmM6OTY2CisjOiBjb25maWcuYzoxMDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGZpbGUgJXM6ICVzIgogbXNnc3RyICIiCiAiVW5nw7xsdGlnZXIgbnVtZXJpc2NoZXIgV2VydCAnJXMnIGbDvHIgS29uZmlndXJhdGlvbiAnJXMnIGluIERhdGVpICVzOiAlcyIKIAotIzogY29uZmlnLmM6OTY5CisjOiBjb25maWcuYzoxMDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiAlcyIKIG1zZ3N0ciAiIgogIlVuZ8O8bHRpZ2VyIG51bWVyaXNjaGVyIFdlcnQgJyVzJyBmw7xyIEtvbmZpZ3VyYXRpb24gJyVzJyBpbiBTdGFuZGFyZC1FaW5nYWJlOiAiCiAiJXMiCiAKLSM6IGNvbmZpZy5jOjk3MgorIzogY29uZmlnLmM6MTAwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdWJtb2R1bGUtYmxvYiAlczogJXMiCiBtc2dzdHIgIiIKICJVbmfDvGx0aWdlciBudW1lcmlzY2hlciBXZXJ0ICclcycgZsO8ciBLb25maWd1cmF0aW9uICclcycgaW4gU3VibW9kdWwtQmxvYiAlczogIgogIiVzIgogCi0jOiBjb25maWcuYzo5NzUKKyM6IGNvbmZpZy5jOjEwMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gY29tbWFuZCBsaW5lICVzOiAlcyIKIG1zZ3N0ciAiIgogIlVuZ8O8bHRpZ2VyIG51bWVyaXNjaGVyIFdlcnQgJyVzJyBmw7xyIEtvbmZpZ3VyYXRpb24gJyVzJyBpbiBCZWZlaGxzemVpbGUgJXM6ICIKICIlcyIKIAotIzogY29uZmlnLmM6OTc4CisjOiBjb25maWcuYzoxMDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgbnVtZXJpc2NoZXIgV2VydCAnJXMnIGbDvHIgS29uZmlndXJhdGlvbiAnJXMnIGluICVzOiAlcyIKIAotIzogY29uZmlnLmM6MTA3MworIzogY29uZmlnLmM6MTEwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhwYW5kIHVzZXIgZGlyIGluOiAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBFcndlaXRlcm4gZGVzIE51dHplcnZlcnplaWNobmlzc2VzIGluOiAnJXMnIgogCi0jOiBjb25maWcuYzoxMDgyCisjOiBjb25maWcuYzoxMTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZm9yICclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICInJXMnIGlzdCBrZWluIGfDvGx0aWdlciBaZWl0c3RlbXBlbCBmw7xyICclcyciCiAKLSM6IGNvbmZpZy5jOjExNzMKKyM6IGNvbmZpZy5jOjEyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWJicmV2IGxlbmd0aCBvdXQgb2YgcmFuZ2U6ICVkIgogbXNnc3RyICJMw6RuZ2UgZsO8ciBBYmvDvHJ6dW5nIHZvbiBDb21taXQtSURzIGF1w59lcmhhbGIgZGVzIEJlcmVpY2hzOiAlZCIKIAotIzogY29uZmlnLmM6MTE4NyBjb25maWcuYzoxMTk4CisjOiBjb25maWcuYzoxMjIyIGNvbmZpZy5jOjEyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHpsaWIgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgInVuZ8O8bHRpZ2VyIHpsaWIgS29tcHJpbWllcnVuZ3NncmFkICVkIgogCi0jOiBjb25maWcuYzoxMjkwCisjOiBjb25maWcuYzoxMzI1CiBtc2dpZCAiY29yZS5jb21tZW50Q2hhciBzaG91bGQgb25seSBiZSBvbmUgY2hhcmFjdGVyIgogbXNnc3RyICJjb3JlLmNvbW1lbnRDaGFyIHNvbGx0ZSBudXIgZWluIFplaWNoZW4gc2VpbiIKIAotIzogY29uZmlnLmM6MTMyMworIzogY29uZmlnLmM6MTM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG1vZGUgZm9yIG9iamVjdCBjcmVhdGlvbjogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIE1vZHVzIGbDvHIgT2JqZWt0ZXJzdGVsbHVuZzogJXMiCiAKLSM6IGNvbmZpZy5jOjEzOTUKKyM6IGNvbmZpZy5jOjE0MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIHZhbHVlIGZvciAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgV2VydCBmw7xyICVzLiIKIAotIzogY29uZmlnLmM6MTQyMQorIzogY29uZmlnLmM6MTQ1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgdmFsdWUgZm9yICVzOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgV2VydCBmw7xyICVzOiAlcyIKIAotIzogY29uZmlnLmM6MTQyMgorIzogY29uZmlnLmM6MTQ1NwogbXNnaWQgIm11c3QgYmUgb25lIG9mIG5vdGhpbmcsIG1hdGNoaW5nLCBzaW1wbGUsIHVwc3RyZWFtIG9yIGN1cnJlbnQiCiBtc2dzdHIgIiIKICJNdXNzIGVpbmVyIHZvbiBkaWVzZW4gc2Vpbjogbm90aGluZywgbWF0Y2hpbmcsIHNpbXBsZSwgdXBzdHJlYW0sIGN1cnJlbnQiCiAKLSM6IGNvbmZpZy5jOjE0ODEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzkxCisjOiBjb25maWcuYzoxNTE4IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjayBjb21wcmVzc2lvbiBsZXZlbCAlZCIKIG1zZ3N0ciAidW5nw7xsdGlnZXIgS29tcHJpbWllcnVuZ3NncmFkICglZCkgZsO8ciBQYWtldGllcnVuZyIKIAotIzogY29uZmlnLmM6MTYwMgorIzogY29uZmlnLmM6MTYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbG9hZCBjb25maWcgYmxvYiBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIEJsb2ItT2JqZWt0ICclcycgZsO8ciBLb25maWd1cmF0aW9uIG5pY2h0IGxhZGVuLiIKIAotIzogY29uZmlnLmM6MTYwNQorIzogY29uZmlnLmM6MTY0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGJsb2IiCiBtc2dzdHIgIlJlZmVyZW56ICclcycgemVpZ3QgYXVmIGtlaW5lbiBCbG9iLiIKIAotIzogY29uZmlnLmM6MTYyMgorIzogY29uZmlnLmM6MTY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSBjb25maWcgYmxvYiAnJXMnIgogbXNnc3RyICJLb25udGUgQmxvYiAnJXMnIGbDvHIgS29uZmlndXJhdGlvbiBuaWNodCBhdWZsw7ZzZW4uIgogCi0jOiBjb25maWcuYzoxNjUyCisjOiBjb25maWcuYzoxNjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gUGFyc2VuIHZvbiAlcy4iCiAKLSM6IGNvbmZpZy5jOjE3MDUKKyM6IGNvbmZpZy5jOjE3NDUKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAiIgogIktvbm50ZSBkaWUgw7xiZXIgZGllIEJlZmVobHN6ZWlsZSBhbmdlZ2ViZW5lIEtvbmZpZ3VyYXRpb24gbmljaHQgcGFyc2VuLiIKIAotIzogY29uZmlnLmM6MjAzNworIzogY29uZmlnLmM6MjA5NgogbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKIG1zZ3N0ciAiIgogIkVzIHRyYXQgZWluIHVuYmVrYW5udGVyIEZlaGxlciBiZWltIExlc2VuIGRlciBLb25maWd1cmF0aW9uc2RhdGVpZW4gYXVmLiIKIAotIzogY29uZmlnLmM6MjIwNworIzogY29uZmlnLmM6MjI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkICVzOiAnJXMnIgogbXNnc3RyICJVbmfDvGx0aWdlciAlczogJyVzJyIKIAotIzogY29uZmlnLmM6MjI1MAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmtub3duIGNvcmUudW50cmFja2VkQ2FjaGUgdmFsdWUgJyVzJzsgdXNpbmcgJ2tlZXAnIGRlZmF1bHQgdmFsdWUiCi1tc2dzdHIgIiIKLSJVbmJla2FubnRlciBXZXJ0ICclcycgaW4gY29yZS51bnRyYWNrZWRDYWNoZTsgYmVudXR6ZSBTdGFuZGFyZHdlcnQgJ2tlZXAnIgotCi0jOiBjb25maWcuYzoyMjc2CisjOiBjb25maWcuYzoyMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgInNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSB2YWx1ZSAnJWQnIHNob3VsZCBiZSBiZXR3ZWVuIDAgYW5kIDEwMCIKIG1zZ3N0ciAiIgogIkRlciBXZXJ0ICclZCcgdm9uIHNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSBzb2xsdGUgendpc2NoZW4gMCB1bmQgMTAwICIKICJsaWVnZW4uIgogCi0jOiBjb25maWcuYzoyMzIyCisjOiBjb25maWcuYzoyMzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAnJXMnIGZyb20gY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAiIgogIktvbm50ZSBXZXJ0ICclcycgYXVzIGRlciDDvGJlciBkaWUgQmVmZWhsc3plaWxlIGFuZ2VnZWJlbmVuIEtvbmZpZ3VyYXRpb25cbiIKICJuaWNodCBwYXJzZW4uIgogCi0jOiBjb25maWcuYzoyMzI0CisjOiBjb25maWcuYzoyMzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgdmFyaWFibGUgJyVzJyBpbiBmaWxlICclcycgYXQgbGluZSAlZCIKIG1zZ3N0ciAidW5nw7xsdGlnZSBLb25maWd1cmF0aW9uc3ZhcmlhYmxlICclcycgaW4gRGF0ZWkgJyVzJyBiZWkgWmVpbGUgJWQiCiAKLSM6IGNvbmZpZy5jOjI0MDUKKyM6IGNvbmZpZy5jOjI0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzZWN0aW9uIG5hbWUgJyVzJyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgU2VrdGlvbnNuYW1lICclcyciCiAKLSM6IGNvbmZpZy5jOjI0MzcKKyM6IGNvbmZpZy5jOjI0NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIG11bHRpcGxlIHZhbHVlcyIKIG1zZ3N0ciAiJXMgaGF0IG1laHJlcmUgV2VydGUiCiAKLSM6IGNvbmZpZy5jOjI0NjYKKyM6IGNvbmZpZy5jOjI1MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIG5ldyBjb25maWd1cmF0aW9uIGZpbGUgJXMiCiBtc2dzdHIgIktvbm50ZSBuZXVlIEtvbmZpZ3VyYXRpb25zZGF0ZWkgJyVzJyBuaWNodCBzY2hyZWliZW4uIgogCi0jOiBjb25maWcuYzoyNzE3IGNvbmZpZy5jOjMwNDEKKyM6IGNvbmZpZy5jOjI3NTMgY29uZmlnLmM6MzA3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9jayBjb25maWcgZmlsZSAlcyIKIG1zZ3N0ciAiS29ubnRlIEtvbmZpZ3VyYXRpb25zZGF0ZWkgJyVzJyBuaWNodCBzcGVycmVuLiIKIAotIzogY29uZmlnLmM6MjcyOAorIzogY29uZmlnLmM6Mjc2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJvcGVuaW5nICVzIgogbXNnc3RyICLDlmZmbmUgJXMiCiAKLSM6IGNvbmZpZy5jOjI3NjMgYnVpbHRpbi9jb25maWcuYzozMjcKKyM6IGNvbmZpZy5jOjI3OTkgYnVpbHRpbi9jb25maWcuYzozMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBwYXR0ZXJuOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXMgTXVzdGVyOiAlcyIKIAotIzogY29uZmlnLmM6Mjc4OAorIzogY29uZmlnLmM6MjgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbmZpZyBmaWxlICVzIgogbXNnc3RyICJVbmfDvGx0aWdlIEtvbmZpZ3VyYXRpb25zZGF0ZWkgJXMiCiAKLSM6IGNvbmZpZy5jOjI4MDEgY29uZmlnLmM6MzA1NAorIzogY29uZmlnLmM6MjgzNyBjb25maWcuYzozMDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZzdGF0IG9uICVzIGZhaWxlZCIKIG1zZ3N0ciAiZnN0YXQgYXVmICVzIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBjb25maWcuYzoyODEyCisjOiBjb25maWcuYzoyODQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBtbWFwICclcyciCiBtc2dzdHIgIm1tYXAgZsO8ciAnJXMnIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBjb25maWcuYzoyODIxIGNvbmZpZy5jOjMwNTkKKyM6IGNvbmZpZy5jOjI4NTcgY29uZmlnLmM6MzA5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjaG1vZCBvbiAlcyBmYWlsZWQiCiBtc2dzdHIgImNobW9kIGF1ZiAlcyBmZWhsZ2VzY2hsYWdlbiIKIAotIzogY29uZmlnLmM6MjkwNiBjb25maWcuYzozMTU2CisjOiBjb25maWcuYzoyOTQyIGNvbmZpZy5jOjMxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbmZpZyBmaWxlICVzIgogbXNnc3RyICJLb25udGUgS29uZmlndXJhdGlvbnNkYXRlaSAlcyBuaWNodCBzY2hyZWliZW4uIgogCi0jOiBjb25maWcuYzoyOTQwCisjOiBjb25maWcuYzoyOTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzZXQgJyVzJyB0byAnJXMnIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCB6dSAnJXMnIHNldHplbi4iCiAKLSM6IGNvbmZpZy5jOjI5NDIgYnVpbHRpbi9yZW1vdGUuYzo3ODIKKyM6IGNvbmZpZy5jOjI5NzggYnVpbHRpbi9yZW1vdGUuYzo3ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVuc2V0ICclcyciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGF1ZmhlYmVuLiIKIAotIzogY29uZmlnLmM6MzAzMgorIzogY29uZmlnLmM6MzA2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNlY3Rpb24gbmFtZTogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIFNla3Rpb25zbmFtZTogJXMiCiAKLSM6IGNvbmZpZy5jOjMxOTkKKyM6IGNvbmZpZy5jOjMyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyB2YWx1ZSBmb3IgJyVzJyIKIG1zZ3N0ciAiRmVobGVuZGVyIFdlcnQgZsO8ciAnJXMnIgpAQCAtMTg2Myw1MCArMjUwMCw0NSBAQAogIlJlcG9zaXRvcnkgYXVmIGRlciBHZWdlbnNlaXRlIGthbm4ga2VpbmUgdW52b2xsc3TDpG5kaWdlIEhpc3RvcmllIChzaGFsbG93KSAiCiAiZW50aGFsdGVuIgogCi0jOiBjb25uZWN0LmM6MzEwIGZldGNoLXBhY2suYzoxODIgYnVpbHRpbi9hcmNoaXZlLmM6NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVtb3RlIGVycm9yOiAlcyIKLW1zZ3N0ciAiRmVobGVyIGFtIGFuZGVyZW4gRW5kZTogJXMiCi0KLSM6IGNvbm5lY3QuYzozMTYKKyM6IGNvbm5lY3QuYzozMTMKIG1zZ2lkICJpbnZhbGlkIHBhY2tldCIKIG1zZ3N0ciAiVW5nw7xsdGlnZXMgUGFrZXQuIgogCi0jOiBjb25uZWN0LmM6MzM2CisjOiBjb25uZWN0LmM6MzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgInByb3RvY29sIGVycm9yOiB1bmV4cGVjdGVkICclcyciCiBtc2dzdHIgIlByb3Rva29sbGZlaGxlcjogdW5lcndhcnRldGVzICclcyciCiAKLSM6IGNvbm5lY3QuYzo0NDQKKyM6IGNvbm5lY3QuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBscy1yZWZzIHJlc3BvbnNlOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBscy1yZWZzIEFudHdvcnQ6ICVzIgogCi0jOiBjb25uZWN0LmM6NDQ4CisjOiBjb25uZWN0LmM6NDQ1CiBtc2dpZCAiZXhwZWN0ZWQgZmx1c2ggYWZ0ZXIgcmVmIGxpc3RpbmciCiBtc2dzdHIgIkVyd2FydGV0ZSBGbHVzaCBuYWNoIEF1Zmxpc3R1bmcgZGVyIFJlZmVyZW56ZW4uIgogCi0jOiBjb25uZWN0LmM6NTQ3CisjOiBjb25uZWN0LmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInByb3RvY29sICclcycgaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiUHJvdG9rb2xsICclcycgd2lyZCBuaWNodCB1bnRlcnN0w7x0enQuIgogCi0jOiBjb25uZWN0LmM6NTk4CisjOiBjb25uZWN0LmM6NTk1CiBtc2dpZCAidW5hYmxlIHRvIHNldCBTT19LRUVQQUxJVkUgb24gc29ja2V0IgogbXNnc3RyICJLYW5uIFNPX0tFRVBBTElWRSBiZWkgU29ja2V0IG5pY2h0IHNldHplbi4iCiAKLSM6IGNvbm5lY3QuYzo2MzggY29ubmVjdC5jOjcwMQorIzogY29ubmVjdC5jOjYzNSBjb25uZWN0LmM6Njk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxvb2tpbmcgdXAgJXMgLi4uICIKIG1zZ3N0ciAiU3VjaGUgbmFjaCAlcyAuLi4iCiAKLSM6IGNvbm5lY3QuYzo2NDIKKyM6IGNvbm5lY3QuYzo2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGxvb2sgdXAgJXMgKHBvcnQgJXMpICglcykiCiBtc2dzdHIgIkZlaGxlciBiZWkgU3VjaGUgbmFjaCAlcyAoUG9ydCAlcykgKCVzKS4iCiAKICMuIFRSQU5TTEFUT1JTOiB0aGlzIGlzIHRoZSBlbmQgb2YgIkxvb2tpbmcgdXAgJXMgLi4uICIKLSM6IGNvbm5lY3QuYzo2NDYgY29ubmVjdC5jOjcxNworIzogY29ubmVjdC5jOjY0MyBjb25uZWN0LmM6NzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJkb25lLlxuIgpAQCAtMTkxNSw3ICsyNTQ3LDcgQEAKICJGZXJ0aWcuXG4iCiAiVmVyYmluZGUgbmFjaCAlcyAoUG9ydCAlcykgLi4uICIKIAotIzogY29ubmVjdC5jOjY2OCBjb25uZWN0LmM6NzQ1CisjOiBjb25uZWN0LmM6NjY1IGNvbm5lY3QuYzo3NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInVuYWJsZSB0byBjb25uZWN0IHRvICVzOlxuIgpAQCAtMTkyNSw3NCArMjU1Nyw3NCBAQAogIiVzIgogCiAjLiBUUkFOU0xBVE9SUzogdGhpcyBpcyB0aGUgZW5kIG9mICJDb25uZWN0aW5nIHRvICVzIChwb3J0ICVzKSAuLi4gIgotIzogY29ubmVjdC5jOjY3NCBjb25uZWN0LmM6NzUxCisjOiBjb25uZWN0LmM6NjcxIGNvbm5lY3QuYzo3NDgKIG1zZ2lkICJkb25lLiIKIG1zZ3N0ciAiRmVydGlnLiIKIAotIzogY29ubmVjdC5jOjcwNQorIzogY29ubmVjdC5jOjcwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbG9vayB1cCAlcyAoJXMpIgogbXNnc3RyICJGZWhsZXIgYmVpIGRlciBTdWNoZSBuYWNoICVzICglcykiCiAKLSM6IGNvbm5lY3QuYzo3MTEKKyM6IGNvbm5lY3QuYzo3MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBwb3J0ICVzIgogbXNnc3RyICJVbmJla2FubnRlciBQb3J0ICVzIgogCi0jOiBjb25uZWN0LmM6ODQ4IGNvbm5lY3QuYzoxMTc0CisjOiBjb25uZWN0LmM6ODQ1IGNvbm5lY3QuYzoxMTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0cmFuZ2UgaG9zdG5hbWUgJyVzJyBibG9ja2VkIgogbXNnc3RyICJNZXJrd8O8cmRpZ2VuIEhvc3RuYW1lbiAnJXMnIGJsb2NraWVydC4iCiAKLSM6IGNvbm5lY3QuYzo4NTAKKyM6IGNvbm5lY3QuYzo4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RyYW5nZSBwb3J0ICclcycgYmxvY2tlZCIKIG1zZ3N0ciAiTWVya3fDvHJkaWdlbiBQb3J0ICclcycgYmxvY2tpZXJ0LiIKIAotIzogY29ubmVjdC5jOjg2MAorIzogY29ubmVjdC5jOjg1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhcnQgcHJveHkgJXMiCiBtc2dzdHIgIkthbm4gUHJveHkgJXMgbmljaHQgc3RhcnRlbi4iCiAKLSM6IGNvbm5lY3QuYzo5MjcKKyM6IGNvbm5lY3QuYzo5MjgKIG1zZ2lkICJubyBwYXRoIHNwZWNpZmllZDsgc2VlICdnaXQgaGVscCBwdWxsJyBmb3IgdmFsaWQgdXJsIHN5bnRheCIKIG1zZ3N0ciAiIgogIktlaW4gUGZhZCBhbmdlZ2ViZW47IHNpZWhlICdnaXQgaGVscCBwdWxsJyBmw7xyIGVpbmUgZ8O8bHRpZ2UgVVJMLVN5bnRheC4iCiAKLSM6IGNvbm5lY3QuYzoxMTIyCisjOiBjb25uZWN0LmM6MTEyMwogbXNnaWQgInNzaCB2YXJpYW50ICdzaW1wbGUnIGRvZXMgbm90IHN1cHBvcnQgLTQiCiBtc2dzdHIgIlNTSC1WYXJpYW50ZSAnc2ltcGxlJyB1bnRlcnN0w7x0enQga2VpbiAtNC4iCiAKLSM6IGNvbm5lY3QuYzoxMTM0CisjOiBjb25uZWN0LmM6MTEzNQogbXNnaWQgInNzaCB2YXJpYW50ICdzaW1wbGUnIGRvZXMgbm90IHN1cHBvcnQgLTYiCiBtc2dzdHIgIlNTSC1WYXJpYW50ZSAnc2ltcGxlJyB1bnRlcnN0w7x0enQga2VpbiAtNi4iCiAKLSM6IGNvbm5lY3QuYzoxMTUxCisjOiBjb25uZWN0LmM6MTE1MgogbXNnaWQgInNzaCB2YXJpYW50ICdzaW1wbGUnIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyBwb3J0IgogbXNnc3RyICJTU0gtVmFyaWFudGUgJ3NpbXBsZScgdW50ZXJzdMO8dHp0IG5pY2h0IGRhcyBTZXR6ZW4gZWluZXMgUG9ydHMuIgogCi0jOiBjb25uZWN0LmM6MTI2MgorIzogY29ubmVjdC5jOjEyNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RyYW5nZSBwYXRobmFtZSAnJXMnIGJsb2NrZWQiCiBtc2dzdHIgIk1lcmt3w7xyZGlnZW4gUGZhZG5hbWVuICclcycgYmxvY2tpZXJ0LiIKIAotIzogY29ubmVjdC5jOjEzMDcKKyM6IGNvbm5lY3QuYzoxMzExCiBtc2dpZCAidW5hYmxlIHRvIGZvcmsiCiBtc2dzdHIgIkthbm4gUHJvemVzcyBuaWNodCBzdGFydGVuLiIKIAotIzogY29ubmVjdGVkLmM6NjggYnVpbHRpbi9mc2NrLmM6MjAyIGJ1aWx0aW4vcHJ1bmUuYzoxNDcKKyM6IGNvbm5lY3RlZC5jOjg5IGJ1aWx0aW4vZnNjay5jOjIwOCBidWlsdGluL3BydW5lLmM6NDMKIG1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkiCiBtc2dzdHIgIlByw7xmZSBLb25uZWt0aXZpdMOkdCIKIAotIzogY29ubmVjdGVkLmM6ODAKKyM6IGNvbm5lY3RlZC5jOjEwMQogbXNnaWQgIkNvdWxkIG5vdCBydW4gJ2dpdCByZXYtbGlzdCciCiBtc2dzdHIgIktvbm50ZSAnZ2l0IHJldi1saXN0JyBuaWNodCBhdXNmw7xocmVuIgogCi0jOiBjb25uZWN0ZWQuYzoxMDAKKyM6IGNvbm5lY3RlZC5jOjEyMQogbXNnaWQgImZhaWxlZCB3cml0ZSB0byByZXYtbGlzdCIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gU2NocmVpYmVuIG5hY2ggcmV2LWxpc3QiCiAKLSM6IGNvbm5lY3RlZC5jOjEwNworIzogY29ubmVjdGVkLmM6MTI4CiBtc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW4iCiBtc2dzdHIgIkZlaGxlciBiZWltIFNjaGxpZcOfZW4gdm9uIHJldi1saXN0J3MgU3RhbmRhcmQtRWluZ2FiZSIKIApAQCAtMjAzMSwyNiArMjY2MywyNiBAQAogIkRpZSBEYXRlaSB3aXJkIGlocmUgdXJzcHLDvG5nbGljaGVuIFplaWxlbmVuZGVuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyAiCiAiYmVoYWx0ZW4uIgogCi0jOiBjb252ZXJ0LmM6MjgwCisjOiBjb252ZXJ0LmM6Mjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJPTSBpcyBwcm9oaWJpdGVkIGluICclcycgaWYgZW5jb2RlZCBhcyAlcyIKIG1zZ3N0ciAiQk9NIGlzdCBpbiAnJXMnIHVuenVsw6Rzc2lnLCB3ZW5uIGFscyAlcyBjb2RpZXJ0LiIKIAotIzogY29udmVydC5jOjI4NworIzogY29udmVydC5jOjI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iVGhlIGZpbGUgJyVzJyBjb250YWlucyBhIGJ5dGUgb3JkZXIgbWFyayAoQk9NKS4gUGxlYXNlIHVzZSBVVEYtJXMgYXMgd29ya2luZy0iCi0idHJlZS1lbmNvZGluZy4iCisiVGhlIGZpbGUgJyVzJyBjb250YWlucyBhIGJ5dGUgb3JkZXIgbWFyayAoQk9NKS4gUGxlYXNlIHVzZSBVVEYtJS4qcyBhcyAiCisid29ya2luZy10cmVlLWVuY29kaW5nLiIKIG1zZ3N0ciAiIgotIkRpZSBEYXRlaSAnJXMnIGVudGjDpGx0IGVpbiBCeXRlLU9yZGVyLU1hcmsgKEJPTSkuIEJpdHRlIGJlbnV0emVuIFNpZSBVVEYtJXNcbiIKLSJhbHMgQ29kaWVydW5nIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcy4iCisiRGllIERhdGVpICclcycgZW50aMOkbHQgZWluIEJ5dGUtT3JkZXItTWFyayAoQk9NKS4gQml0dGUgYmVudXR6ZW4gU2llXG4iCisiVVRGLSUuKnMgYWxzIENvZGllcnVuZyBpbSBBcmJlaXRzdmVyemVpY2huaXMuIgogCi0jOiBjb252ZXJ0LmM6MzA1CisjOiBjb252ZXJ0LmM6MzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJPTSBpcyByZXF1aXJlZCBpbiAnJXMnIGlmIGVuY29kZWQgYXMgJXMiCiBtc2dzdHIgIkJPTSBpc3QgZXJmb3JkZXJsaWNoIGluICclcycsIHdlbm4gYWxzICVzIGNvZGllcnQuIgogCi0jOiBjb252ZXJ0LmM6MzA3CisjOiBjb252ZXJ0LmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZmlsZSAnJXMnIGlzIG1pc3NpbmcgYSBieXRlIG9yZGVyIG1hcmsgKEJPTSkuIFBsZWFzZSB1c2UgVVRGLSVzQkUgb3IgVVRGLSIKQEAgLTIwNjAsNTAgKzI2OTIsNTAgQEAKICJvZGVyIFVURi0lc0xFIChhYmjDpG5naWcgdm9uIGRlciBCeXRlLVJlaWhlbmZvbGdlKSBhbHMgQ29kaWVydW5nIGltXG4iCiAiQXJiZWl0c3ZlcnplaWNobmlzLiIKIAotIzogY29udmVydC5jOjQyNSBjb252ZXJ0LmM6NDk2CisjOiBjb252ZXJ0LmM6NDE5IGNvbnZlcnQuYzo0OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGVuY29kZSAnJXMnIGZyb20gJXMgdG8gJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIENvZGllcmVuIHZvbiAnJXMnIHZvbiAlcyBuYWNoICVzLiIKIAotIzogY29udmVydC5jOjQ2OAorIzogY29udmVydC5jOjQ2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJlbmNvZGluZyAnJXMnIGZyb20gJXMgdG8gJXMgYW5kIGJhY2sgaXMgbm90IHRoZSBzYW1lIgogbXNnc3RyICJEaWUgQ29kaWVydW5nICclcycgdm9uICVzIG5hY2ggJXMgdW5kIHp1csO8Y2sgaXN0IG5pY2h0IGRhc3NlbGJlLiIKIAotIzogY29udmVydC5jOjY3NAorIzogY29udmVydC5jOjY2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZm9yayB0byBydW4gZXh0ZXJuYWwgZmlsdGVyICclcyciCiBtc2dzdHIgIkthbm4gZXh0ZXJuZW4gRmlsdGVyICclcycgbmljaHQgc3RhcnRlbi4iCiAKLSM6IGNvbnZlcnQuYzo2OTQKKyM6IGNvbnZlcnQuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZlZWQgdGhlIGlucHV0IHRvIGV4dGVybmFsIGZpbHRlciAnJXMnIgogbXNnc3RyICJLYW5uIEVpbmdhYmVuIG5pY2h0IGFuIGV4dGVybmVuIEZpbHRlciAnJXMnIMO8YmVyZ2ViZW4uIgogCi0jOiBjb252ZXJ0LmM6NzAxCisjOiBjb252ZXJ0LmM6Njk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCAlZCIKIG1zZ3N0ciAiRXh0ZXJuZXIgRmlsdGVyICclcycgZmVobGdlc2NobGFnZW4gJWQiCiAKLSM6IGNvbnZlcnQuYzo3MzYgY29udmVydC5jOjczOQorIzogY29udmVydC5jOjczMCBjb252ZXJ0LmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZnJvbSBleHRlcm5hbCBmaWx0ZXIgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIkxlc2VuIHZvbiBleHRlcm5lbSBGaWx0ZXIgJyVzJyBmZWhsZ2VzY2hsYWdlbi4iCiAKLSM6IGNvbnZlcnQuYzo3NDIgY29udmVydC5jOjc5NgorIzogY29udmVydC5jOjczNiBjb252ZXJ0LmM6NzkxCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiRXh0ZXJuZXIgRmlsdGVyICclcycgZmVobGdlc2NobGFnZW4uIgogCi0jOiBjb252ZXJ0LmM6ODQ0CisjOiBjb252ZXJ0LmM6ODM5CiBtc2dpZCAidW5leHBlY3RlZCBmaWx0ZXIgdHlwZSIKIG1zZ3N0ciAiVW5lcndhcnRldGUgRmlsdGVyYXJ0LiIKIAotIzogY29udmVydC5jOjg1NQorIzogY29udmVydC5jOjg1MAogbXNnaWQgInBhdGggbmFtZSB0b28gbG9uZyBmb3IgZXh0ZXJuYWwgZmlsdGVyIgogbXNnc3RyICJQZmFkbmFtZSB6dSBsYW5nIGbDvHIgZXh0ZXJuZW4gRmlsdGVyLiIKIAotIzogY29udmVydC5jOjkyOQorIzogY29udmVydC5jOjkyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXh0ZXJuYWwgZmlsdGVyICclcycgaXMgbm90IGF2YWlsYWJsZSBhbnltb3JlIGFsdGhvdWdoIG5vdCBhbGwgcGF0aHMgaGF2ZSAiCkBAIC0yMTExLDY3ICsyNzQzLDY3IEBACiBtc2dzdHIgIiIKICJFeHRlcm5lciBGaWx0ZXIgJyVzJyBuaWNodCBtZWhyIHZlcmbDvGdiYXIuIE5pY2h0IGFsbGUgUGZhZGUgd3VyZGVuIGdlZmlsdGVydC4iCiAKLSM6IGNvbnZlcnQuYzoxMjI4CisjOiBjb252ZXJ0LmM6MTIyMwogbXNnaWQgInRydWUvZmFsc2UgYXJlIG5vIHZhbGlkIHdvcmtpbmctdHJlZS1lbmNvZGluZ3MiCiBtc2dzdHIgInRydWUvZmFsc2Ugc2luZCBrZWluZSBnw7xsdGlnZW4gQ29kaWVydW5nZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzLiIKIAotIzogY29udmVydC5jOjEzOTggY29udmVydC5jOjE0MzIKKyM6IGNvbnZlcnQuYzoxNDExIGNvbnZlcnQuYzoxNDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjbGVhbiBmaWx0ZXIgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIiVzOiBjbGVhbi1GaWx0ZXIgJyVzJyBmZWhsZ2VzY2hsYWdlbi4iCiAKLSM6IGNvbnZlcnQuYzoxNDc2CisjOiBjb252ZXJ0LmM6MTQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc211ZGdlIGZpbHRlciAlcyBmYWlsZWQiCiBtc2dzdHIgIiVzOiBzbXVkZ2UtRmlsdGVyICclcycgZmVobGdlc2NobGFnZW4uIgogCi0jOiBkYXRlLmM6MTE2CisjOiBkYXRlLmM6MTM4CiBtc2dpZCAiaW4gdGhlIGZ1dHVyZSIKIG1zZ3N0ciAiaW4gZGVyIFp1a3VuZnQiCiAKLSM6IGRhdGUuYzoxMjIKKyM6IGRhdGUuYzoxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBzZWNvbmQgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHNlY29uZHMgYWdvIgogbXNnc3RyWzBdICJ2b3IgJTxQUkl1TUFYPiBTZWt1bmRlIgogbXNnc3RyWzFdICJ2b3IgJTxQUkl1TUFYPiBTZWt1bmRlbiIKIAotIzogZGF0ZS5jOjEyOQorIzogZGF0ZS5jOjE1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IG1pbnV0ZSBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gbWludXRlcyBhZ28iCiBtc2dzdHJbMF0gInZvciAlPFBSSXVNQVg+IE1pbnV0ZSIKIG1zZ3N0clsxXSAidm9yICU8UFJJdU1BWD4gTWludXRlbiIKIAotIzogZGF0ZS5jOjEzNgorIzogZGF0ZS5jOjE1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IGhvdXIgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IGhvdXJzIGFnbyIKIG1zZ3N0clswXSAidm9yICU8UFJJdU1BWD4gU3R1bmRlIgogbXNnc3RyWzFdICJ2b3IgJTxQUkl1TUFYPiBTdHVuZGVuIgogCi0jOiBkYXRlLmM6MTQzCisjOiBkYXRlLmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiU8UFJJdU1BWD4gZGF5IGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBkYXlzIGFnbyIKIG1zZ3N0clswXSAidm9yICU8UFJJdU1BWD4gVGFnIgogbXNnc3RyWzFdICJ2b3IgJTxQUkl1TUFYPiBUYWdlbiIKIAotIzogZGF0ZS5jOjE0OQorIzogZGF0ZS5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHdlZWsgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHdlZWtzIGFnbyIKIG1zZ3N0clswXSAidm9yICU8UFJJdU1BWD4gV29jaGUiCiBtc2dzdHJbMV0gInZvciAlPFBSSXVNQVg+IFdvY2hlbiIKIAotIzogZGF0ZS5jOjE1NgorIzogZGF0ZS5jOjE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IG1vbnRoIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBtb250aHMgYWdvIgogbXNnc3RyWzBdICJ2b3IgJTxQUkl1TUFYPiBNb25hdCIKIG1zZ3N0clsxXSAidm9yICU8UFJJdU1BWD4gTW9uYXRlbiIKIAotIzogZGF0ZS5jOjE2NworIzogZGF0ZS5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHllYXIiCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4geWVhcnMiCkBAIC0yMTc5LDQyICsyODExLDQzIEBACiBtc2dzdHJbMV0gInZvciAlPFBSSXVNQVg+IEphaHJlbiIKIAogIy4gVFJBTlNMQVRPUlM6ICIlcyIgaXMgIjxuPiB5ZWFycyIKLSM6IGRhdGUuYzoxNzAKKyM6IGRhdGUuYzoxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsICU8UFJJdU1BWD4gbW9udGggYWdvIgogbXNnaWRfcGx1cmFsICIlcywgJTxQUkl1TUFYPiBtb250aHMgYWdvIgogbXNnc3RyWzBdICIlcywgdW5kICU8UFJJdU1BWD4gTW9uYXQiCiBtc2dzdHJbMV0gIiVzLCB1bmQgJTxQUkl1TUFYPiBNb25hdGVuIgogCi0jOiBkYXRlLmM6MTc1IGRhdGUuYzoxODAKKyM6IGRhdGUuYzoxOTcgZGF0ZS5jOjIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHllYXIgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIGFnbyIKIG1zZ3N0clswXSAidm9yICU8UFJJdU1BWD4gSmFociIKIG1zZ3N0clsxXSAidm9yICU8UFJJdU1BWD4gSmFocmVuIgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6MjY4CisjOiBkZWx0YS1pc2xhbmRzLmM6MjcyCiBtc2dpZCAiUHJvcGFnYXRpbmcgaXNsYW5kIG1hcmtzIgogbXNnc3RyICJFcnpldWdlIERlbHRhLUlzbGFuZCBNYXJraWVydW5nZW4iCiAKLSM6IGRlbHRhLWlzbGFuZHMuYzoyODYKKyM6IGRlbHRhLWlzbGFuZHMuYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHRyZWUgb2JqZWN0ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlcyBUcmVlLU9iamVrdCAlcy4iCiAKLSM6IGRlbHRhLWlzbGFuZHMuYzozMzAKKyM6IGRlbHRhLWlzbGFuZHMuYzozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgaXNsYW5kIHJlZ2V4IGZvciAnJXMnOiAlcyIKLW1zZ3N0ciAiRmVobGVyIGJlaW0gTGFkZW4gZGVzIHJlZ3Vsw6RyZW4gQXVzZHJ1Y2tzIGRlcyBEZWx0YS1Jc2xhbmQgZsO8ciAnJXMnOiAlcyIKK21zZ3N0ciAiIgorIkZlaGxlciBiZWltIExhZGVuIGRlcyByZWd1bMOkcmVuIEF1c2RydWNrcyBkZXMgRGVsdGEtSXNsYW5kIGbDvHIgJyVzJzogJXMiCiAKLSM6IGRlbHRhLWlzbGFuZHMuYzozODYKKyM6IGRlbHRhLWlzbGFuZHMuYzozOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaXNsYW5kIHJlZ2V4IGZyb20gY29uZmlnIGhhcyB0b28gbWFueSBjYXB0dXJlIGdyb3VwcyAobWF4PSVkKSIKIG1zZ3N0ciAiIgogIlJlZ3Vsw6RyZXIgQXVzZHJ1Y2sgZGVzIERlbHRhLUlzbGFuZCBhdXMgS29uZmlndXJhdGlvbiBoYXQgenVcbiIKICJ2aWVsZSBDYXB0dXJlLUdydXBwZW4gKG1heGltYWwgJWQpLiIKIAotIzogZGVsdGEtaXNsYW5kcy5jOjQ2MgorIzogZGVsdGEtaXNsYW5kcy5jOjQ2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXJrZWQgJWQgaXNsYW5kcywgZG9uZS5cbiIKIG1zZ3N0ciAiJWQgRGVsdGEtSXNsYW5kcyBtYXJraWVydCwgZmVydGlnLlxuIgpAQCAtMjIyNCwyNyArMjg1NywzNCBAQAogbXNnaWQgImZhaWxlZCB0byByZWFkIG9yZGVyZmlsZSAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBMZXNlbiBkZXIgUmVpaGVuZm9sZ2VkYXRlaSAnJXMnLiIKIAotIzogZGlmZmNvcmUtcmVuYW1lLmM6NTQ0CisjOiBkaWZmY29yZS1yZW5hbWUuYzo1NDMKIG1zZ2lkICJQZXJmb3JtaW5nIGluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiIKIG1zZ3N0ciAiRsO8aHJlIEVya2VubnVuZyBmw7xyIHVuZ2VuYXVlIFVtYmVuZW5udW5nIGF1cyIKIAotIzogZGlmZi5jOjEwOAotIywgYy1mb3JtYXQKLW1zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhIHZhbHVlIgotbXNnc3RyICJPcHRpb24gJyVzJyBlcmZvcmRlcnQgZWluZW4gV2VydC4iCisjOiBkaWZmLW5vLWluZGV4LmM6MjM4Cittc2dpZCAiZ2l0IGRpZmYgLS1uby1pbmRleCBbPG9wdGlvbnM+XSA8cGF0aD4gPHBhdGg+IgorbXNnc3RyICJnaXQgZGlmZiAtLW5vLWluZGV4IFs8T3B0aW9uZW4+XSA8UGZhZD4gPFBmYWQ+IgogCi0jOiBkaWZmLmM6MTU4CisjOiBkaWZmLW5vLWluZGV4LmM6MjYzCittc2dpZCAiIgorIk5vdCBhIGdpdCByZXBvc2l0b3J5LiBVc2UgLS1uby1pbmRleCB0byBjb21wYXJlIHR3byBwYXRocyBvdXRzaWRlIGEgd29ya2luZyAiCisidHJlZSIKK21zZ3N0ciAiIgorIktlaW4gR2l0LVJlcG9zaXRvcnkuIE51dHplbiBTaWUgLS1uby1pbmRleCwgdW0gendlaSBQZmFkZSBhdcOfZXJoYWxiIGRlcyAiCisiQXJiZWl0c3ZlcnplaWNobmlzc2VzIHp1IHZlcmdsZWljaGVuLiIKKworIzogZGlmZi5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZhaWxlZCB0byBwYXJzZSBkaXJzdGF0IGN1dC1vZmYgcGVyY2VudGFnZSAnJXMnXG4iCiBtc2dzdHIgIiIKICIgIEZlaGxlciBiZWltIFBhcnNlbiBkZXMgYWJnZXNjaG5pdHRlbmVuIFwiZGlyc3RhdFwiIFByb3plbnRzYXR6ZXMgJyVzJ1xuIgogCi0jOiBkaWZmLmM6MTYzCisjOiBkaWZmLmM6MTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgVW5rbm93biBkaXJzdGF0IHBhcmFtZXRlciAnJXMnXG4iCiBtc2dzdHIgIiAgVW5iZWthbm50ZXIgXCJkaXJzdGF0XCIgUGFyYW1ldGVyICclcydcbiIKIAotIzogZGlmZi5jOjI5MQorIzogZGlmZi5jOjI5NgogbXNnaWQgIiIKICJjb2xvciBtb3ZlZCBzZXR0aW5nIG11c3QgYmUgb25lIG9mICdubycsICdkZWZhdWx0JywgJ2Jsb2NrcycsICd6ZWJyYScsICIKICInZGltbWVkLXplYnJhJywgJ3BsYWluJyIKQEAgLTIyNTIsMjUgKzI4OTIsMjkgQEAKICJcImNvbG9yIG1vdmVkXCItRWluc3RlbGx1bmcgbXVzcyBlaW5lcyB2b24gZGllc2VuIHNlaW46ICdubycsICdkZWZhdWx0JywgIgogIidibG9ja3MnLCAnemVicmEnLCAnZGltbWVkX3plYnJhJywgJ3BsYWluJyIKIAotIzogZGlmZi5jOjMxNgorIzogZGlmZi5jOjMyNAogIywgYy1mb3JtYXQKLW1zZ2lkICJpZ25vcmluZyB1bmtub3duIGNvbG9yLW1vdmVkLXdzIG1vZGUgJyVzJyIKLW1zZ3N0ciAiSWdub3JpZXJlIHVuYmVrYW5udGVuICdjb2xvci1tb3ZlZC13cyctTW9kdXMgJyVzJy4iCi0KLSM6IGRpZmYuYzozMjMKIG1zZ2lkICIiCi0iY29sb3ItbW92ZWQtd3M6IGFsbG93LWluZGVudGF0aW9uLWNoYW5nZSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB3aGl0ZSAiCi0ic3BhY2UgbW9kZXMiCisidW5rbm93biBjb2xvci1tb3ZlZC13cyBtb2RlICclcycsIHBvc3NpYmxlIHZhbHVlcyBhcmUgJ2lnbm9yZS1zcGFjZS1jaGFuZ2UnLCAiCisiJ2lnbm9yZS1zcGFjZS1hdC1lb2wnLCAnaWdub3JlLWFsbC1zcGFjZScsICdhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UnIgorbXNnc3RyICIiCisiVW5iZWthbm50ZXIgY29sb3ItbW92ZWQtd3MgTW9kdXMgJyVzJywgbcO2Z2xpY2hlIFdlcnRlIHNpbmQgJ2lnbm9yZS1zcGFjZS0iCisiY2hhbmdlJywgJ2lnbm9yZS1zcGFjZS1hdC1lb2wnLCAnaWdub3JlLWFsbC1zcGFjZScsICdhbGxvdy1pZGVudGF0aW9uLWNoYW5nZSciCisKKyM6IGRpZmYuYzozMzIKK21zZ2lkICIiCisiY29sb3ItbW92ZWQtd3M6IGFsbG93LWluZGVudGF0aW9uLWNoYW5nZSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciAiCisid2hpdGVzcGFjZSBtb2RlcyIKIG1zZ3N0ciAiIgogImNvbG9yLW1vdmVkLXdzOiBhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2Uga2FubiBuaWNodCBtaXQgYW5kZXJlblxuIgogIldoaXRlc3BhY2UtTW9kaSBrb21iaW5pZXJ0IHdlcmRlbi4iCiAKLSM6IGRpZmYuYzozOTQKKyM6IGRpZmYuYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB2YWx1ZSBmb3IgJ2RpZmYuc3VibW9kdWxlJyBjb25maWcgdmFyaWFibGU6ICclcyciCiBtc2dzdHIgIlVuYmVrYW5udGVyIFdlcnQgaW4gS29uZmlndXJhdGlvbnN2YXJpYWJsZSAnZGlmZi5kaXJzdGF0JzogJyVzJyIKIAotIzogZGlmZi5jOjQ1NAorIzogZGlmZi5jOjQ2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRm91bmQgZXJyb3JzIGluICdkaWZmLmRpcnN0YXQnIGNvbmZpZyB2YXJpYWJsZTpcbiIKQEAgLTIyNzksMjUgKzI5MjMsMzYgQEAKICJGZWhsZXIgaW4gJ2RpZmYuZGlyc3RhdCcgS29uZmlndXJhdGlvbnN2YXJpYWJsZSBnZWZ1bmRlbjpcbiIKICIlcyIKIAotIzogZGlmZi5jOjQxNDAKKyM6IGRpZmYuYzo0MjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGRpZmYgZGllZCwgc3RvcHBpbmcgYXQgJXMiCiBtc2dzdHIgImV4dGVybmVzIERpZmYtUHJvZ3JhbW0gdW5lcndhcnRldCBiZWVuZGV0LCBhbmdlaGFsdGVuIGJlaSAlcyIKIAotIzogZGlmZi5jOjQ0ODIKKyM6IGRpZmYuYzo0NTQ3CiBtc2dpZCAiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIiIKICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjayB1bmQgLXMgc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnIGF1cyIKIAotIzogZGlmZi5jOjQ0ODUKKyM6IGRpZmYuYzo0NTUwCiBtc2dpZCAiLUcsIC1TIGFuZCAtLWZpbmQtb2JqZWN0IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1HLCAtUyB1bmQgLS1maW5kLW9iamVjdCBzY2hsaWXDn2VuIHNpY2ggZ2VnZW5zZWl0aWcgYXVzIgogCi0jOiBkaWZmLmM6NDU2MworIzogZGlmZi5jOjQ2MjgKIG1zZ2lkICItLWZvbGxvdyByZXF1aXJlcyBleGFjdGx5IG9uZSBwYXRoc3BlYyIKIG1zZ3N0ciAiLS1mb2xsb3cgZXJmb3JkZXJ0IGdlbmF1IGVpbmUgUGZhZHNwZXppZmlrYXRpb24iCiAKLSM6IGRpZmYuYzo0NzI5CisjOiBkaWZmLmM6NDY3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIC0tc3RhdCB2YWx1ZTogJXMiCittc2dzdHIgIlVuZ8O8bHRpZ2VyIC0tc3RhdCBXZXJ0OiAlcyIKKworIzogZGlmZi5jOjQ2ODEgZGlmZi5jOjQ2ODYgZGlmZi5jOjQ2OTEgZGlmZi5jOjQ2OTYgZGlmZi5jOjUyMDkKKyM6IHBhcnNlLW9wdGlvbnMuYzoxOTkgcGFyc2Utb3B0aW9ucy5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgorbXNnc3RyICIlcyBlcndhcnRldCBlaW5lbiBudW1lcmlzY2hlbiBXZXJ0LiIKKworIzogZGlmZi5jOjQ3MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBwYXJzZSAtLWRpcnN0YXQvLVggb3B0aW9uIHBhcmFtZXRlcjpcbiIKQEAgLTIzMDYsMjIgKzI5NjEsNTIzIEBACiAiRmVobGVyIGJlaW0gUGFyc2VuIGRlcyAtLWRpcnN0YXQvLVggT3B0aW9uc3BhcmFtZXRlcnM6XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzo0NzQzCisjOiBkaWZmLmM6NDc5OAogIywgYy1mb3JtYXQKLW1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKK21zZ2lkICJ1bmtub3duIGNoYW5nZSBjbGFzcyAnJWMnIGluIC0tZGlmZi1maWx0ZXI9JXMiCittc2dzdHIgIlVuYmVrYW5udGUgw4RuZGVydW5nc2tsYXNzZSAnJWMnIGluIC0tZGlmZi1maWx0ZXI9JXMiCisKKyM6IGRpZmYuYzo0ODIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdmFsdWUgYWZ0ZXIgd3MtZXJyb3ItaGlnaGxpZ2h0PSUuKnMiCittc2dzdHIgIlVuYmVrYW5udGVyIFdlcnQgbmFjaCB3cy1lcnJvci1oaWdobGlnaHQ9JS4qcyIKKworIzogZGlmZi5jOjQ4MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAia29ubnRlICclcycgbmljaHQgYXVmbMO2c2VuIgorCisjOiBkaWZmLmM6NDg4NiBkaWZmLmM6NDg5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIDxuPi88bT4gZm9ybSIKK21zZ3N0ciAiJXMgZXJ3YXJ0ZXQgZGllIEZvcm0gPG4+LzxtPiIKKworIzogZGlmZi5jOjQ5MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhwZWN0cyBhIGNoYXJhY3RlciwgZ290ICclcyciCittc2dzdHIgIiVzIGVyd2FydGV0IGVpbiBaZWljaGVuLCAnJXMnIGJla29tbWVuIgorCisjOiBkaWZmLmM6NDkyNQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgLS1jb2xvci1tb3ZlZCBhcmd1bWVudDogJXMiCittc2dzdHIgIlVuZ8O8bHRpZ2VzIC0tY29sb3ItbW92ZWQgQXJndW1lbnQ6ICVzIgorCisjOiBkaWZmLmM6NDk0NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG1vZGUgJyVzJyBpbiAtLWNvbG9yLW1vdmVkLXdzIgorbXNnc3RyICJVbmfDvGx0aWdlciBNb2R1cyAnJXMnIGluIC0tY29sb3ItbW92ZWQtd3MiCisKKyM6IGRpZmYuYzo0OTg0Cittc2dpZCAiIgorIm9wdGlvbiBkaWZmLWFsZ29yaXRobSBhY2NlcHRzIFwibXllcnNcIiwgXCJtaW5pbWFsXCIsIFwicGF0aWVuY2VcIiBhbmQgIgorIlwiaGlzdG9ncmFtXCIiCittc2dzdHIgIiIKKyJPcHRpb24gZGlmZi1hbGdvcml0aG0gYWt6ZXB0aWVydDogXCJteWVyc1wiLCBcIm1pbmltYWxcIiwgXCJwYXRpZW5jZVwiIGFuZCAiCisiXCJoaXN0b2dyYW1cIiIKKworIzogZGlmZi5jOjUwMjAgZGlmZi5jOjUwNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAiVW5nw7xsdGlnZXMgQXJndW1lbnQgZsO8ciAlcyIKKworIzogZGlmZi5jOjUxNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIFBhcnNlbiBkZXMgLS1zdWJtb2R1bGUgT3B0aW9uc3BhcmFtZXRlcnM6ICclcyciCiAKLSM6IGRpZmYuYzo1ODIzCisjOiBkaWZmLmM6NTIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgLS13b3JkLWRpZmYgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJVbmfDvGx0aWdlcyAtLXdvcmQtZGlmZiBBcmd1bWVudDogJXMiCisKKyM6IGRpZmYuYzo1MjU3Cittc2dpZCAiRGlmZiBvdXRwdXQgZm9ybWF0IG9wdGlvbnMiCittc2dzdHIgIkRpZmYtT3B0aW9uZW4genUgQXVzZ2FiZWZvcm1hdGVuIgorCisjOiBkaWZmLmM6NTI1OSBkaWZmLmM6NTI2NQorbXNnaWQgImdlbmVyYXRlIHBhdGNoIgorbXNnc3RyICJFcnpldWdlIFBhdGNoIgorCisjOiBkaWZmLmM6NTI2MiBidWlsdGluL2xvZy5jOjE3MworbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgorbXNnc3RyICJBdXNnYWJlIGRlciBVbnRlcnNjaGllZGUgdW50ZXJkcsO8Y2tlbiIKKworIzogZGlmZi5jOjUyNjcgZGlmZi5jOjUzODEgZGlmZi5jOjUzODgKK21zZ2lkICI8bj4iCittc2dzdHIgIjxuPiIKKworIzogZGlmZi5jOjUyNjggZGlmZi5jOjUyNzEKK21zZ2lkICJnZW5lcmF0ZSBkaWZmcyB3aXRoIDxuPiBsaW5lcyBjb250ZXh0IgorbXNnc3RyICJFcnN0ZWxsZSBVbnRlcnNjaGllZGUgbWl0IDxuPiBaZWlsZW4gZGVzIEtvbnRleHRlcyIKKworIzogZGlmZi5jOjUyNzMKK21zZ2lkICJnZW5lcmF0ZSB0aGUgZGlmZiBpbiByYXcgZm9ybWF0IgorbXNnc3RyICJFcnN0ZWxsZSBVbnRlcnNjaGllZGUgaW0gUm9oZm9ybWF0IgorCisjOiBkaWZmLmM6NTI3NgorbXNnaWQgInN5bm9ueW0gZm9yICctcCAtLXJhdyciCittc2dzdHIgIlN5bm9ueW0gZsO8ciAnLXAgLS1yYXcnIgorCisjOiBkaWZmLmM6NTI4MAorbXNnaWQgInN5bm9ueW0gZm9yICctcCAtLXN0YXQnIgorbXNnc3RyICJTeW5vbnltIGbDvHIgJy1wIC0tc3RhdCciCisKKyM6IGRpZmYuYzo1Mjg0Cittc2dpZCAibWFjaGluZSBmcmllbmRseSAtLXN0YXQiCittc2dzdHIgIm1hc2NoaW5lbmxlc2JhcmUgQXVzZ2FiZSB2b24gLS1zdGF0IgorCisjOiBkaWZmLmM6NTI4NworbXNnaWQgIm91dHB1dCBvbmx5IHRoZSBsYXN0IGxpbmUgb2YgLS1zdGF0IgorbXNnc3RyICJudXIgZGllIGxldHp0ZSBaZWlsZSB2b24gLS1zdGF0IGF1c2dlYmVuIgorCisjOiBkaWZmLmM6NTI4OSBkaWZmLmM6NTI5NworbXNnaWQgIjxwYXJhbTEscGFyYW0yPi4uLiIKK21zZ3N0ciAiPFBhcmFtZXRlcjEsUGFyYW1ldGVyMj4uLi4iCisKKyM6IGRpZmYuYzo1MjkwCittc2dpZCAiIgorIm91dHB1dCB0aGUgZGlzdHJpYnV0aW9uIG9mIHJlbGF0aXZlIGFtb3VudCBvZiBjaGFuZ2VzIGZvciBlYWNoIHN1Yi1kaXJlY3RvcnkiCittc2dzdHIgIiIKKyJHZWJlIGRpZSBWZXJ0ZWlsdW5nIGRlcyByZWxhdGl2ZW4gVW1mYW5ncyBkZXIgw4RuZGVydW5nZW4gZsO8ciBqZWRlcyAiCisiVW50ZXJ2ZXJ6ZWljaG5pcyBhdXMiCisKKyM6IGRpZmYuYzo1Mjk0Cittc2dpZCAic3lub255bSBmb3IgLS1kaXJzdGF0PWN1bXVsYXRpdmUiCittc2dzdHIgIlN5bm9ueW0gZsO8ciAtLWRpcnN0YXQ9Y3VtdWxhdGl2ZSIKKworIzogZGlmZi5jOjUyOTgKK21zZ2lkICJzeW5vbnltIGZvciAtLWRpcnN0YXQ9ZmlsZXMscGFyYW0xLHBhcmFtMi4uLiIKK21zZ3N0ciAiU3lub255bSBmw7xyIC0tZGlyc3RhdD1maWxlcyxQYXJhbWV0ZXIxLFBhcmFtZXRlcjIuLi4iCisKKyM6IGRpZmYuYzo1MzAyCittc2dpZCAid2FybiBpZiBjaGFuZ2VzIGludHJvZHVjZSBjb25mbGljdCBtYXJrZXJzIG9yIHdoaXRlc3BhY2UgZXJyb3JzIgorbXNnc3RyICIiCisiV2FybmVuLCB3ZW5uIMOEbmRlcnVuZ2VuIEtvbmZsaWt0bWFya2VyIG9kZXIgV2hpdGVzcGFjZS1GZWhsZXIgZWluYnJpbmdlbiIKKworIzogZGlmZi5jOjUzMDUKK21zZ2lkICJjb25kZW5zZWQgc3VtbWFyeSBzdWNoIGFzIGNyZWF0aW9ucywgcmVuYW1lcyBhbmQgbW9kZSBjaGFuZ2VzIgorbXNnc3RyICIiCisiR2Vrw7xyenRlIFp1c2FtbWVuZmFzc3VuZywgd2llIHouQi4gRXJzdGVsbHVuZ2VuLCBVbWJlbmVubnVuZ2VuIHVuZCAiCisiw4RuZGVydW5nZW4gZGVyIERhdGVpLVJlY2h0ZSIKKworIzogZGlmZi5jOjUzMDgKK21zZ2lkICJzaG93IG9ubHkgbmFtZXMgb2YgY2hhbmdlZCBmaWxlcyIKK21zZ3N0ciAibnVyIERhdGVpbmFtZW4gZGVyIGdlw6RuZGVydGVuIERhdGVpZW4gYW56ZWlnZW4iCisKKyM6IGRpZmYuYzo1MzExCittc2dpZCAic2hvdyBvbmx5IG5hbWVzIGFuZCBzdGF0dXMgb2YgY2hhbmdlZCBmaWxlcyIKK21zZ3N0ciAibnVyIERhdGVpbmFtZW4gdW5kIFN0YXR1cyBkZXIgZ2XDpG5kZXJ0ZW4gRGF0ZWllbiBhbnplaWdlbiIKKworIzogZGlmZi5jOjUzMTMKK21zZ2lkICI8d2lkdGg+Wyw8bmFtZS13aWR0aD5bLDxjb3VudD5dXSIKK21zZ3N0ciAiPEJyZWl0ZT5bLDxOYW1lbnMtQnJlaXRlPlssPEFuemFobD5dXSIKKworIzogZGlmZi5jOjUzMTQKK21zZ2lkICJnZW5lcmF0ZSBkaWZmc3RhdCIKK21zZ3N0ciAiR2VuZXJpZXJlIFp1c2FtbWVuZmFzc3VuZyBkZXIgVW50ZXJzY2hpZWRlIgorCisjOiBkaWZmLmM6NTMxNiBkaWZmLmM6NTMxOSBkaWZmLmM6NTMyMgorbXNnaWQgIjx3aWR0aD4iCittc2dzdHIgIjxCcmVpdGU+IgorCisjOiBkaWZmLmM6NTMxNworbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggYSBnaXZlbiB3aWR0aCIKK21zZ3N0ciAiRXJ6ZXVnZSBadXNhbW1lbmZhc3N1bmcgZGVyIFVudGVyc2NoaWVkZSBtaXQgZ2VnZWJlbmVyIEJyZWl0ZSIKKworIzogZGlmZi5jOjUzMjAKK21zZ2lkICJnZW5lcmF0ZSBkaWZmc3RhdCB3aXRoIGEgZ2l2ZW4gbmFtZSB3aWR0aCIKK21zZ3N0ciAiRXJ6ZXVnZSBadXNhbW1lbmZhc3N1bmcgZGVyIFVudGVyc2NoaWVkZSBtaXQgZ2VnZWJlbmVyIE5hbWVucy1CcmVpdGUiCisKKyM6IGRpZmYuYzo1MzIzCittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBhIGdpdmVuIGdyYXBoIHdpZHRoIgorbXNnc3RyICJFcnpldWdlIFp1c2FtbWVuZmFzc3VuZyBkZXIgVW50ZXJzY2hpZWRlIG1pdCBnZWdlYmVuZXIgR3JhcGgtQnJlaXRlIgorCisjOiBkaWZmLmM6NTMyNQorbXNnaWQgIjxjb3VudD4iCittc2dzdHIgIjxBbnphaGw+IgorCisjOiBkaWZmLmM6NTMyNgorbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggbGltaXRlZCBsaW5lcyIKK21zZ3N0ciAiRXJ6ZXVnZSBadXNhbW1lbmZhc3N1bmcgZGVyIFVudGVyc2NoaWVkZSBtaXQgYmVncmVuenRlbiBaZWlsZW4iCisKKyM6IGRpZmYuYzo1MzI5Cittc2dpZCAiZ2VuZXJhdGUgY29tcGFjdCBzdW1tYXJ5IGluIGRpZmZzdGF0IgorbXNnc3RyICJFcnpldWdlIGtvbXBha3RlIFp1c2FtbWVuc3RlbGx1bmcgaW4gWnVzYW1tZW5mYXNzdW5nIGRlciBVbnRlcnNjaGllZGUiCisKKyM6IGRpZmYuYzo1MzMyCittc2dpZCAib3V0cHV0IGEgYmluYXJ5IGRpZmYgdGhhdCBjYW4gYmUgYXBwbGllZCIKK21zZ3N0ciAiR2ViZSBlaW5lIGJpbsOkcmUgRGlmZmVyZW56IGF1cywgZGFzcyBhbmdld2VuZGV0IHdlcmRlbiBrYW5uIgorCisjOiBkaWZmLmM6NTMzNQorbXNnaWQgInNob3cgZnVsbCBwcmUtIGFuZCBwb3N0LWltYWdlIG9iamVjdCBuYW1lcyBvbiB0aGUgXCJpbmRleFwiIGxpbmVzIgorbXNnc3RyICJaZWlnZSB2b2xsc3TDpG5kaWdlIE9iamVrdC1OYW1lbiBpbiBkZW4gXCJpbmRleFwiLVplaWxlbiIKKworIzogZGlmZi5jOjUzMzcKK21zZ2lkICJzaG93IGNvbG9yZWQgZGlmZiIKK21zZ3N0ciAiWmVpZ2UgZmFyYmlnZSBVbnRlcnNjaGllZGUiCisKKyM6IGRpZmYuYzo1MzM4Cittc2dpZCAiPGtpbmQ+IgorbXNnc3RyICI8QXJ0PiIKKworIzogZGlmZi5jOjUzMzkKK21zZ2lkICIiCisiaGlnaGxpZ2h0IHdoaXRlc3BhY2UgZXJyb3JzIGluIHRoZSAnY29udGV4dCcsICdvbGQnIG9yICduZXcnIGxpbmVzIGluIHRoZSAiCisiZGlmZiIKK21zZ3N0ciAiIgorIkhlYmUgV2hpdGVzcGFjZS1GZWhsZXIgaW4gZGVuIFplaWxlbiAnY29udGV4dCcsICdvbGQnIG9kZXIgJ25ldycgYmVpIGRlbiAiCisiVW50ZXJzY2hpZWRlbiBoZXJ2b3IiCisKKyM6IGRpZmYuYzo1MzQyCittc2dpZCAiIgorImRvIG5vdCBtdW5nZSBwYXRobmFtZXMgYW5kIHVzZSBOVUxzIGFzIG91dHB1dCBmaWVsZCB0ZXJtaW5hdG9ycyBpbiAtLXJhdyBvciAiCisiLS1udW1zdGF0IgorbXNnc3RyICIiCisiVmVyc2NobGVpZXJlIG5pY2h0IGRpZSBQZmFkbmFtZW4gdW5kIG51dHplIE5VTC1aZWljaGVuIGFscyBTY2hsdXNzemVpY2hlbiBpbiAiCisiQXVzZ2FiZWZlbGRlcm4gYmVpIC0tcmF3IG9kZXIgLS1udW1zdGF0IgorCisjOiBkaWZmLmM6NTM0NSBkaWZmLmM6NTM0OCBkaWZmLmM6NTM1MSBkaWZmLmM6NTQ1NworbXNnaWQgIjxwcmVmaXg+IgorbXNnc3RyICI8UHLDpGZpeD4iCisKKyM6IGRpZmYuYzo1MzQ2Cittc2dpZCAic2hvdyB0aGUgZ2l2ZW4gc291cmNlIHByZWZpeCBpbnN0ZWFkIG9mIFwiYS9cIiIKK21zZ3N0ciAiWmVpZ2UgZGVuIGdlZ2ViZW5lbiBRdWVsbC1QcsOkZml4IHN0YXR0IFwiYS9cIiIKKworIzogZGlmZi5jOjUzNDkKK21zZ2lkICJzaG93IHRoZSBnaXZlbiBkZXN0aW5hdGlvbiBwcmVmaXggaW5zdGVhZCBvZiBcImIvXCIiCittc2dzdHIgIlplaWdlIGRlbiBnZWdlYmVuZW4gWmllbC1QcsOkZml4IHN0YXR0IFwiYi9cIiIKKworIzogZGlmZi5jOjUzNTIKK21zZ2lkICJwcmVwZW5kIGFuIGFkZGl0aW9uYWwgcHJlZml4IHRvIGV2ZXJ5IGxpbmUgb2Ygb3V0cHV0IgorbXNnc3RyICJTdGVsbGUgZWluZW4genVzw6R0emxpY2hlbiBQcsOkZml4IGJlaSBqZWRlciBBdXNnYWJlemVpbGUgdm9yYW4iCisKKyM6IGRpZmYuYzo1MzU1Cittc2dpZCAiZG8gbm90IHNob3cgYW55IHNvdXJjZSBvciBkZXN0aW5hdGlvbiBwcmVmaXgiCittc2dzdHIgIlplaWdlIGtlaW5lIFF1ZWxsLSBvZGVyIFppZWwtUHLDpGZpeGUgYW4iCisKKyM6IGRpZmYuYzo1MzU4Cittc2dpZCAic2hvdyBjb250ZXh0IGJldHdlZW4gZGlmZiBodW5rcyB1cCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBsaW5lcyIKK21zZ3N0ciAiIgorIlplaWdlIEtvbnRleHQgendpc2NoZW4gVW50ZXJzY2hpZWQtQmzDtmNrZW4gYmlzIHp1ciBhbmdlZ2ViZW5lbiBBbnphaGwgdm9uICIKKyJaZWlsZW4uIgorCisjOiBkaWZmLmM6NTM2MiBkaWZmLmM6NTM2NyBkaWZmLmM6NTM3MgorbXNnaWQgIjxjaGFyPiIKK21zZ3N0ciAiPFplaWNoZW4+IgorCisjOiBkaWZmLmM6NTM2MworbXNnaWQgInNwZWNpZnkgdGhlIGNoYXJhY3RlciB0byBpbmRpY2F0ZSBhIG5ldyBsaW5lIGluc3RlYWQgb2YgJysnIgorbXNnc3RyICJEYXMgWmVpY2hlbiBmZXN0bGVnZW4sIGRhcyBlaW5lIG5ldWUgWmVpbGUga2VubnplaWNobmV0IChzdGF0dCAnKycpIgorCisjOiBkaWZmLmM6NTM2OAorbXNnaWQgInNwZWNpZnkgdGhlIGNoYXJhY3RlciB0byBpbmRpY2F0ZSBhbiBvbGQgbGluZSBpbnN0ZWFkIG9mICctJyIKK21zZ3N0ciAiRGFzIFplaWNoZW4gZmVzdGxlZ2VuLCBkYXMgZWluZSBhbHRlIFplaWxlIGtlbm56ZWljaG5ldCAoc3RhdHQgJy0nKSIKKworIzogZGlmZi5jOjUzNzMKK21zZ2lkICJzcGVjaWZ5IHRoZSBjaGFyYWN0ZXIgdG8gaW5kaWNhdGUgYSBjb250ZXh0IGluc3RlYWQgb2YgJyAnIgorbXNnc3RyICJEYXMgWmVpY2hlbiBmZXN0bGVnZW4sIGRhcyBkZW4gS29udGV4dCBrZW5uemVpY2huZXQgKHN0YXR0ICcgJykiCisKKyM6IGRpZmYuYzo1Mzc2Cittc2dpZCAiRGlmZiByZW5hbWUgb3B0aW9ucyIKK21zZ3N0ciAiRGlmZi1PcHRpb25lbiB6dXIgVW1iZW5lbm51bmciCisKKyM6IGRpZmYuYzo1Mzc3Cittc2dpZCAiPG4+Wy88bT5dIgorbXNnc3RyICI8bj5bLzxtPl0iCisKKyM6IGRpZmYuYzo1Mzc4Cittc2dpZCAiYnJlYWsgY29tcGxldGUgcmV3cml0ZSBjaGFuZ2VzIGludG8gcGFpcnMgb2YgZGVsZXRlIGFuZCBjcmVhdGUiCittc2dzdHIgIiIKKyJUZWlsZSBrb21wbGV0dGUgUmV3cml0ZS3DhG5kZXJ1bmdlbiBpbiDDhG5kZXJ1bmdlbiBtaXQgXCJsw7ZzY2hlblwiIHVuZCAiCisiXCJlcnN0ZWxsZW5cIiIKKworIzogZGlmZi5jOjUzODIKK21zZ2lkICJkZXRlY3QgcmVuYW1lcyIKK21zZ3N0ciAiVW1iZW5lbm51bmdlbiBlcmtlbm5lbiIKKworIzogZGlmZi5jOjUzODYKK21zZ2lkICJvbWl0IHRoZSBwcmVpbWFnZSBmb3IgZGVsZXRlcyIKK21zZ3N0ciAiUHJlaW1hZ2UgZsO8ciBMw7ZzY2h1bmdlbiB3ZWdsYXNzZW4uIgorCisjOiBkaWZmLmM6NTM4OQorbXNnaWQgImRldGVjdCBjb3BpZXMiCittc2dzdHIgIktvcGllbiBlcmtlbm5lbiIKKworIzogZGlmZi5jOjUzOTMKK21zZ2lkICJ1c2UgdW5tb2RpZmllZCBmaWxlcyBhcyBzb3VyY2UgdG8gZmluZCBjb3BpZXMiCittc2dzdHIgIk51dHplIHVuZ2XDpG5kZXJ0ZSBEYXRlaWVuIGFscyBRdWVsbGUgenVtIEZpbmRlbiB2b24gS29waWVuIgorCisjOiBkaWZmLmM6NTM5NQorbXNnaWQgImRpc2FibGUgcmVuYW1lIGRldGVjdGlvbiIKK21zZ3N0ciAiRXJrZW5udW5nIHZvbiBVbWJlbmVubnVuZ2VuIGRlYWt0aXZpZXJlbiIKKworIzogZGlmZi5jOjUzOTgKK21zZ2lkICJ1c2UgZW1wdHkgYmxvYnMgYXMgcmVuYW1lIHNvdXJjZSIKK21zZ3N0ciAiTnV0emUgbGVlcmUgQmxvYnMgYWxzIFF1ZWxsZSB2b24gVW1iZW5udW5nZW4iCisKKyM6IGRpZmYuYzo1NDAwCittc2dpZCAiY29udGludWUgbGlzdGluZyB0aGUgaGlzdG9yeSBvZiBhIGZpbGUgYmV5b25kIHJlbmFtZXMiCittc2dzdHIgIkZvcnRmw7xocmVuIGRlciBBdWZsaXN0dW5nIGRlciBIaXN0b3JpZSBlaW5lciBEYXRlaSBuYWNoIFVtYmVubnVuZyIKKworIzogZGlmZi5jOjU0MDMKK21zZ2lkICIiCisicHJldmVudCByZW5hbWUvY29weSBkZXRlY3Rpb24gaWYgdGhlIG51bWJlciBvZiByZW5hbWUvY29weSB0YXJnZXRzIGV4Y2VlZHMgIgorImdpdmVuIGxpbWl0IgorbXNnc3RyICIiCisiVmVyaGluZGVyZSBkaWUgRXJrZW5udW5nIHZvbiBVbWJlbm51bmdlbiB1bmQgS29waWVuLCB3ZW5uIGRpZSBBbnphaGwgZGVyICIKKyJaaWVsZSBmw7xyIFVtYmVubnVuZ2VuIHVuZCBLb3BpZW4gZGFzIGdlZ2ViZW5lIExpbWl0IMO8YmVyc2NocmVpdGV0IgorCisjOiBkaWZmLmM6NTQwNQorbXNnaWQgIkRpZmYgYWxnb3JpdGhtIG9wdGlvbnMiCittc2dzdHIgIkRpZmYgQWxnb3JpdGhtdXMtT3B0aW9uZW4iCisKKyM6IGRpZmYuYzo1NDA3Cittc2dpZCAicHJvZHVjZSB0aGUgc21hbGxlc3QgcG9zc2libGUgZGlmZiIKK21zZ3N0ciAiRXJ6ZXVnZSBkaWUga2xlaW5zdG3DtmdsaWNoZW4gw4RuZGVydW5nZW4iCisKKyM6IGRpZmYuYzo1NDEwCittc2dpZCAiaWdub3JlIHdoaXRlc3BhY2Ugd2hlbiBjb21wYXJpbmcgbGluZXMiCittc2dzdHIgIldoaXRlc3BhY2Utw4RuZGVydW5nZW4gYmVpbSBWZXJnbGVpY2ggdm9uIFplaWxlbiBpZ25vcmllcmVuIgorCisjOiBkaWZmLmM6NTQxMworbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIGFtb3VudCBvZiB3aGl0ZXNwYWNlIgorbXNnc3RyICLDhG5kZXJ1bmdlbiBiZWkgZGVyIEFuemFobCB2b24gV2hpdGVzcGFjZSBpZ25vcmllcmVuIgorCisjOiBkaWZmLmM6NTQxNgorbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2UgYXQgRU9MIgorbXNnc3RyICJXaGl0ZXNwYWNlLcOEbmRlcnVuZ2VuIGFtIFplaWxlbmVuZGUgaWdub3JpZXJlbiIKKworIzogZGlmZi5jOjU0MTkKK21zZ2lkICJpZ25vcmUgY2Fycmllci1yZXR1cm4gYXQgdGhlIGVuZCBvZiBsaW5lIgorbXNnc3RyICJJZ25vcmllcmUgZGVuIFplaWxlbnVtYnJ1Y2ggYW0gRW5kZSBkZXIgWmVpbGUiCisKKyM6IGRpZmYuYzo1NDIyCittc2dpZCAiaWdub3JlIGNoYW5nZXMgd2hvc2UgbGluZXMgYXJlIGFsbCBibGFuayIKK21zZ3N0ciAiSWdub3JpZXJlIMOEbmRlcnVuZ2VuIGluIGxlZXJlbiBaZWlsZW4iCisKKyM6IGRpZmYuYzo1NDI1Cittc2dpZCAiaGV1cmlzdGljIHRvIHNoaWZ0IGRpZmYgaHVuayBib3VuZGFyaWVzIGZvciBlYXN5IHJlYWRpbmciCittc2dzdHIgIiIKKyJIZXVyaXN0aWssIHVtIEdyZW56ZW4gZGVyIMOEbmRlcnVuZ3NibMO2Y2tlIGbDvHIgYmVzc2VyZSBMZXNiYXJrZWl0IHp1ICIKKyJ2ZXJzY2hpZWJlbiIKKworIzogZGlmZi5jOjU0MjgKK21zZ2lkICJnZW5lcmF0ZSBkaWZmIHVzaW5nIHRoZSBcInBhdGllbmNlIGRpZmZcIiBhbGdvcml0aG0iCittc2dzdHIgIkVyemV1Z2Ugw4RuZGVydW5nZW4gZHVyY2ggTnV0enVuZyBkZXMgQWxnb3JpdGhtdXMgXCJQYXRpZW5jZSBEaWZmXCIiCisKKyM6IGRpZmYuYzo1NDMyCittc2dpZCAiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJoaXN0b2dyYW0gZGlmZlwiIGFsZ29yaXRobSIKK21zZ3N0ciAiRXJ6ZXVnZSDDhG5kZXJ1bmdlbiBkdXJjaCBOdXR6dW5nIGRlcyBBbGdvcml0aG11cyBcIkhpc3RvZ3JhbSBEaWZmXCIiCisKKyM6IGRpZmYuYzo1NDM0Cittc2dpZCAiPGFsZ29yaXRobT4iCittc2dzdHIgIjxBbGdvcml0aG11cz4iCisKKyM6IGRpZmYuYzo1NDM1Cittc2dpZCAiY2hvb3NlIGEgZGlmZiBhbGdvcml0aG0iCittc2dzdHIgIkVpbiBBbGdvcml0aG11cyBmw7xyIMOEbmRlcnVuZ2VuIHfDpGhsZW4iCisKKyM6IGRpZmYuYzo1NDM3Cittc2dpZCAiPHRleHQ+IgorbXNnc3RyICI8VGV4dD4iCisKKyM6IGRpZmYuYzo1NDM4Cittc2dpZCAiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJhbmNob3JlZCBkaWZmXCIgYWxnb3JpdGhtIgorbXNnc3RyICJFcnpldWdlIMOEbmRlcnVuZ2VuIGR1cmNoIE51dHp1bmcgZGVzIEFsZ29yaXRobXVzIFwiQW5jaG9yZWQgRGlmZlwiIgorCisjOiBkaWZmLmM6NTQ0MCBkaWZmLmM6NTQ0OSBkaWZmLmM6NTQ1MgorbXNnaWQgIjxtb2RlPiIKK21zZ3N0ciAiPE1vZHVzPiIKKworIzogZGlmZi5jOjU0NDEKK21zZ2lkICJzaG93IHdvcmQgZGlmZiwgdXNpbmcgPG1vZGU+IHRvIGRlbGltaXQgY2hhbmdlZCB3b3JkcyIKK21zZ3N0ciAiWmVpZ2UgV29ydC3DhG5kZXJ1bmdlbiwgbnV0emUgPE1vZHVzPiwgdW0gV8O2cnRlciBhYnp1Z3JlbnplbiIKKworIzogZGlmZi5jOjU0NDMgZGlmZi5jOjU0NDYgZGlmZi5jOjU0OTEKK21zZ2lkICI8cmVnZXg+IgorbXNnc3RyICI8UmVnZXg+IgorCisjOiBkaWZmLmM6NTQ0NAorbXNnaWQgInVzZSA8cmVnZXg+IHRvIGRlY2lkZSB3aGF0IGEgd29yZCBpcyIKK21zZ3N0ciAiTnV0emUgPFJlZ2V4PiwgdW0genUgZW50c2NoZWlkZW4sIHdhcyBlaW4gV29ydCBpc3QiCisKKyM6IGRpZmYuYzo1NDQ3Cittc2dpZCAiZXF1aXZhbGVudCB0byAtLXdvcmQtZGlmZj1jb2xvciAtLXdvcmQtZGlmZi1yZWdleD08cmVnZXg+IgorbXNnc3RyICJFbnRzcHJlY2hlbmQgd2llIC0td29yZC1kaWZmPWNvbG9yIC0td29yZC1kaWZmLXJlZ2V4PTxSZWdleD4iCisKKyM6IGRpZmYuYzo1NDUwCittc2dpZCAibW92ZWQgbGluZXMgb2YgY29kZSBhcmUgY29sb3JlZCBkaWZmZXJlbnRseSIKK21zZ3N0ciAiVmVyc2Nob2JlbmUgQ29kZXplaWxlbiBzaW5kIGFuZGVyc2ZhcmJpZyIKKworIzogZGlmZi5jOjU0NTMKK21zZ2lkICJob3cgd2hpdGUgc3BhY2VzIGFyZSBpZ25vcmVkIGluIC0tY29sb3ItbW92ZWQiCittc2dzdHIgIldpZSBXaGl0ZXNwYWNlcyBpbiAtLWNvbG9yLW1vdmVkIGlnbm9yaWVydCB3ZXJkZW4iCisKKyM6IGRpZmYuYzo1NDU2Cittc2dpZCAiT3RoZXIgZGlmZiBvcHRpb25zIgorbXNnc3RyICJBbmRlcmUgRGlmZi1PcHRpb25lbiIKKworIzogZGlmZi5jOjU0NTgKK21zZ2lkICJ3aGVuIHJ1biBmcm9tIHN1YmRpciwgZXhjbHVkZSBjaGFuZ2VzIG91dHNpZGUgYW5kIHNob3cgcmVsYXRpdmUgcGF0aHMiCittc2dzdHIgIiIKKyJXZW5uIHZvbSBVbnRlcnZlcnplaWNobmlzIGF1ZmdlcnVmZW4sIHNjaGxpZcOfZSDDhG5kZXJ1bmdlbiBhdcOfZXJoYWxiIGF1cyB1bmQgIgorInplaWdlIHJlbGF0aXZlIFBmYWRlIGFuIgorCisjOiBkaWZmLmM6NTQ2MgorbXNnaWQgInRyZWF0IGFsbCBmaWxlcyBhcyB0ZXh0IgorbXNnc3RyICJhbGxlIERhdGVpZW4gYWxzIFRleHQgYmVoYW5kZWxuIgorCisjOiBkaWZmLmM6NTQ2NAorbXNnaWQgInN3YXAgdHdvIGlucHV0cywgcmV2ZXJzZSB0aGUgZGlmZiIKK21zZ3N0ciAiVmVydGF1c2NoZSBkaWUgYmVpZGVuIEVpbmdhYmVuIHVuZCBkcmVoZSBkaWUgw4RuZGVydW5nZW4gdW0iCisKKyM6IGRpZmYuYzo1NDY2Cittc2dpZCAiZXhpdCB3aXRoIDEgaWYgdGhlcmUgd2VyZSBkaWZmZXJlbmNlcywgMCBvdGhlcndpc2UiCittc2dzdHIgIiIKKyJCZWVuZGUgbWl0IEV4aXQtU3RhdHVzIDEsIHdlbm4gw4RuZGVydW5nZW4gdm9yaGFuZGVuIHNpbmQsIGFuZGVybmZhbGxzIG1pdCAwIgorCisjOiBkaWZmLmM6NTQ2OAorbXNnaWQgImRpc2FibGUgYWxsIG91dHB1dCBvZiB0aGUgcHJvZ3JhbSIKK21zZ3N0ciAiS2VpbmUgQXVzZ2FiZW4gdm9tIFByb2dyYW1tIgorCisjOiBkaWZmLmM6NTQ3MAorbXNnaWQgImFsbG93IGFuIGV4dGVybmFsIGRpZmYgaGVscGVyIHRvIGJlIGV4ZWN1dGVkIgorbXNnc3RyICJFcmxhdWJlIGRpZSBBdXNmw7xocnVuZyBlaW5lcyBleHRlcm5lcyBQcm9ncmFtbXMgZsO8ciDDhG5kZXJ1bmdlbiIKKworIzogZGlmZi5jOjU0NzIKK21zZ2lkICJydW4gZXh0ZXJuYWwgdGV4dCBjb252ZXJzaW9uIGZpbHRlcnMgd2hlbiBjb21wYXJpbmcgYmluYXJ5IGZpbGVzIgorbXNnc3RyICIiCisiRsO8aHJlIGV4dGVybmUgVGV4dC1Lb252ZXJ0aWVydW5nc2ZpbHRlciBhdXMsIHdlbm4gYmluw6RyZSBEYXRlaWVuIHZlcmdsZWljaHQgIgorIndlcmRlbiIKKworIzogZGlmZi5jOjU0NzQKK21zZ2lkICI8d2hlbj4iCittc2dzdHIgIjx3YW5uPiIKKworIzogZGlmZi5jOjU0NzUKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyB0byBzdWJtb2R1bGVzIGluIHRoZSBkaWZmIGdlbmVyYXRpb24iCittc2dzdHIgIiIKKyLDhG5kZXJ1bmdlbiBpbiBTdWJtb2R1bGVuIHfDpGhyZW5kIGRlciBFcnN0ZWxsdW5nIGRlciBVbnRlcnNjaGllZGUgaWdub3JpZXJlbiIKKworIzogZGlmZi5jOjU0NzgKK21zZ2lkICI8Zm9ybWF0PiIKK21zZ3N0ciAiPEZvcm1hdD4iCisKKyM6IGRpZmYuYzo1NDc5Cittc2dpZCAic3BlY2lmeSBob3cgZGlmZmVyZW5jZXMgaW4gc3VibW9kdWxlcyBhcmUgc2hvd24iCittc2dzdHIgIkFuZ2ViZW4sIHdpZSBVbnRlcnNjaGllZGUgaW4gU3VibW9kdWxlbiBnZXplaWd0IHdlcmRlbiIKKworIzogZGlmZi5jOjU0ODMKK21zZ2lkICJoaWRlICdnaXQgYWRkIC1OJyBlbnRyaWVzIGZyb20gdGhlIGluZGV4IgorbXNnc3RyICJ2ZXJzdGVja2UgJ2dpdCBhZGQgLU4nIEVpbnRyw6RnZSB2b20gSW5kZXgiCisKKyM6IGRpZmYuYzo1NDg2Cittc2dpZCAidHJlYXQgJ2dpdCBhZGQgLU4nIGVudHJpZXMgYXMgcmVhbCBpbiB0aGUgaW5kZXgiCittc2dzdHIgIkJlaGFuZGxlICdnaXQgYWRkIC1OJyBFaW50csOkZ2UgaW0gSW5kZXggYWxzIGVjaHQiCisKKyM6IGRpZmYuYzo1NDg4Cittc2dpZCAiPHN0cmluZz4iCittc2dzdHIgIjxaZWljaGVua2V0dGU+IgorCisjOiBkaWZmLmM6NTQ4OQorbXNnaWQgIiIKKyJsb29rIGZvciBkaWZmZXJlbmNlcyB0aGF0IGNoYW5nZSB0aGUgbnVtYmVyIG9mIG9jY3VycmVuY2VzIG9mIHRoZSBzcGVjaWZpZWQgIgorInN0cmluZyIKK21zZ3N0ciAiIgorIlN1Y2hlIG5hY2ggVW50ZXJzY2hpZWRlbiwgd2VsY2hlIGRpZSBBbnphaGwgZGVzIFZvcmtvbW1lbnMgZGVyIGFuZ2VnZWJlbmVuICIKKyJaZWljaGVua2V0dGUgdmVyw6RuZGVybiIKKworIzogZGlmZi5jOjU0OTIKK21zZ2lkICIiCisibG9vayBmb3IgZGlmZmVyZW5jZXMgdGhhdCBjaGFuZ2UgdGhlIG51bWJlciBvZiBvY2N1cnJlbmNlcyBvZiB0aGUgc3BlY2lmaWVkICIKKyJyZWdleCIKK21zZ3N0ciAiIgorIlN1Y2hlIG5hY2ggVW50ZXJzY2hpZWRlbiwgd2VsY2hlIGRpZSBBbnphaGwgZGVzIFZvcmtvbW1lbnMgZGVzIGFuZ2VnZWJlbmVuICIKKyJyZWd1bMOkcmVuIEF1c2RydWNrcyB2ZXLDpG5kZXJuIgorCisjOiBkaWZmLmM6NTQ5NQorbXNnaWQgInNob3cgYWxsIGNoYW5nZXMgaW4gdGhlIGNoYW5nZXNldCB3aXRoIC1TIG9yIC1HIgorbXNnc3RyICJ6ZWlnZSBhbGxlIMOEbmRlcnVuZ2VuIGltIENoYW5nZXNldCBtaXQgLVMgb2RlciAtRyIKKworIzogZGlmZi5jOjU0OTgKK21zZ2lkICJ0cmVhdCA8c3RyaW5nPiBpbiAtUyBhcyBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIiIKKyJiZWhhbmRsZSA8WmVpY2hlbmtldHRlPiBiZWkgLVMgYWxzIGVyd2VpdGVydGVuIFBPU0lYIHJlZ3Vsw6RyZW4gQXVzZHJ1Y2siCisKKyM6IGRpZmYuYzo1NTAxCittc2dpZCAiY29udHJvbCB0aGUgb3JkZXIgaW4gd2hpY2ggZmlsZXMgYXBwZWFyIGluIHRoZSBvdXRwdXQiCittc2dzdHIgIiIKKyJrb250cm9sbGllcmUgZGllIFJlaWhlbmZvbGdlLCBpbiBkZXIgZGllIERhdGVpZW4gaW4gZGVyIEF1c2dhYmUgZXJzY2hlaW5lbiIKKworIzogZGlmZi5jOjU1MDIKK21zZ2lkICI8b2JqZWN0LWlkPiIKK21zZ3N0ciAiPE9iamVrdC1JRD4iCisKKyM6IGRpZmYuYzo1NTAzCittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisib2JqZWN0IgorbXNnc3RyICIiCisiU3VjaGUgbmFjaCBVbnRlcnNjaGllZGVuLCB3ZWxjaGUgZGllIEFuemFobCBkZXMgVm9ya29tbWVucyBkZXMgYW5nZWdlYmVuZW4gIgorIk9iamVrdGVzIHZlcsOkbmRlcm4iCisKKyM6IGRpZmYuYzo1NTA1Cittc2dpZCAiWyhBfEN8RHxNfFJ8VHxVfFh8QikuLi5bKl1dIgorbXNnc3RyICJbKEF8Q3xEfE18UnxUfFV8WHxCKS4uLlsqXV0iCisKKyM6IGRpZmYuYzo1NTA2Cittc2dpZCAic2VsZWN0IGZpbGVzIGJ5IGRpZmYgdHlwZSIKK21zZ3N0ciAiV8OkaGxlIERhdGVpZW4gYW5oYW5kIGRlciBBcnQgZGVyIMOEbmRlcnVuZyIKKworIzogZGlmZi5jOjU1MDgKK21zZ2lkICI8ZmlsZT4iCittc2dzdHIgIjxEYXRlaT4iCisKKyM6IGRpZmYuYzo1NTA5Cittc2dpZCAiT3V0cHV0IHRvIGEgc3BlY2lmaWMgZmlsZSIKK21zZ3N0ciAiQXVzZ2FiZSB6dSBlaW5lciBiZXN0aW1tdGVuIERhdGVpIgorCisjOiBkaWZmLmM6NjE2NAogbXNnaWQgImluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiB3YXMgc2tpcHBlZCBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgogbXNnc3RyICIiCiAiVW5nZW5hdWUgRXJrZW5udW5nIGbDvHIgVW1iZW5lbm51bmdlbiB3dXJkZSBhdWZncnVuZCB6dSB2aWVsZXIgRGF0ZWllblxuIgogIsO8YmVyc3BydW5nZW4uIgogCi0jOiBkaWZmLmM6NTgyNgorIzogZGlmZi5jOjYxNjcKIG1zZ2lkICJvbmx5IGZvdW5kIGNvcGllcyBmcm9tIG1vZGlmaWVkIHBhdGhzIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCiBtc2dzdHIgIm51ciBLb3BpZW4gdm9uIGdlw6RuZGVydGVuIFBmYWRlbiwgYXVmZ3J1bmQgenUgdmllbGVyIERhdGVpZW4sIGdlZnVuZGVuIgogCi0jOiBkaWZmLmM6NTgyOQorIzogZGlmZi5jOjYxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInlvdSBtYXkgd2FudCB0byBzZXQgeW91ciAlcyB2YXJpYWJsZSB0byBhdCBsZWFzdCAlZCBhbmQgcmV0cnkgdGhlIGNvbW1hbmQuIgpAQCAtMjMyOSw0MyArMzQ4NSw2NCBAQAogIlNpZSBrw7ZubnRlbiBkaWUgVmFyaWFibGUgJXMgYXVmIG1pbmRlc3RlbnMgJWQgc2V0emVuIHVuZCBkZW4gQmVmZWhsXG4iCiAiZXJuZXV0IHZlcnN1Y2hlbi4iCiAKLSM6IGRpci5jOjU3NgorIzogZGlyLmM6NTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZShzKSBrbm93biB0byBnaXQiCiBtc2dzdHIgIiIKICJQZmFkc3BlemlmaWthdGlvbiAnJXMnIHN0aW1tdCBtaXQga2VpbmVuIGdpdC1iZWthbm50ZW4gRGF0ZWllbiDDvGJlcmVpbi4iCiAKLSM6IGRpci5jOjk2NQorIzogZGlyLmM6NjY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBwYXR0ZXJuOiAnJXMnIgorbXNnc3RyICJVbmJla2FubnRlcyBNdXN0ZXI6ICclcyciCisKKyM6IGRpci5jOjY4MiBkaXIuYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG5lZ2F0aXZlIHBhdHRlcm46ICclcyciCittc2dzdHIgIlVuYmVrYW5udGVzIHZlcm5laW5lbmRlcyBNdXN0ZXI6ICclcyciCisKKyM6IGRpci5jOjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNwYXJzZS1jaGVja291dCBmaWxlIG1heSBoYXZlIGlzc3VlczogcGF0dGVybiAnJXMnIGlzIHJlcGVhdGVkIgorbXNnc3RyICIiCisiSWhyZSBEYXRlaSBmw7xyIGRlbiBwYXJ0aWVsbGVuIENoZWNrb3V0IGhhdCBldmVudHVlbGwgUHJvYmxlbWU6XG4iCisiTXVzdGVyICclcycgd2llZGVyaG9sdCBzaWNoLiIKKworIzogZGlyLmM6NzI0Cittc2dpZCAiZGlzYWJsaW5nIGNvbmUgcGF0dGVybiBtYXRjaGluZyIKK21zZ3N0ciAiRGVha3RpdmllcmUgQ29uZS1NdXN0ZXItw5xiZXJlaW5zdGltbXVuZyIKKworIzogZGlyLmM6MTEwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgdXNlICVzIGFzIGFuIGV4Y2x1ZGUgZmlsZSIKIG1zZ3N0ciAiS2FubiAlcyBuaWNodCBhbHMgZXhjbHVkZS1GaWx0ZXIgYmVudXR6ZW4uIgogCi0jOiBkaXIuYzoxODgwCisjOiBkaXIuYzoyMDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJLb25udGUgVmVyemVpY2huaXMgJyVzJyBuaWNodCDDtmZmbmVuLiIKIAotIzogZGlyLmM6MjEyMgorIzogZGlyLmM6MjQxNQogbXNnaWQgImZhaWxlZCB0byBnZXQga2VybmVsIG5hbWUgYW5kIGluZm9ybWF0aW9uIgogbXNnc3RyICJGZWhsZXIgYmVpbSBTYW1tZWxuIHZvbiBOYW1lbiB1bmQgSW5mb3JtYXRpb25lbiB6dW0gS2VybmVsIgogCi0jOiBkaXIuYzoyMjQ2CisjOiBkaXIuYzoyNTM5CiBtc2dpZCAidW50cmFja2VkIGNhY2hlIGlzIGRpc2FibGVkIG9uIHRoaXMgc3lzdGVtIG9yIGxvY2F0aW9uIgogbXNnc3RyICIiCiAiQ2FjaGUgZsO8ciB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuIGlzdCBhdWYgZGllc2VtIFN5c3RlbSBvZGVyXG4iCiAiZsO8ciBkaWVzZXMgVmVyemVpY2huaXMgZGVha3RpdmllcnQuIgogCi0jOiBkaXIuYzozMDQ3CisjOiBkaXIuYzozMzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCBpbiByZXBvICVzIgogbXNnc3RyICJJbmRleC1EYXRlaSBpbiBSZXBvc2l0b3J5ICVzIGJlc2Now6RkaWd0LiIKIAotIzogZGlyLmM6MzA5MiBkaXIuYzozMDk3CisjOiBkaXIuYzozMzg4IGRpci5jOjMzOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcmllcyBmb3IgJXMiCiBtc2dzdHIgIktvbm50ZSBWZXJ6ZWljaG5pc3NlIGbDvHIgJyVzJyBuaWNodCBlcnN0ZWxsZW4uIgogCi0jOiBkaXIuYzozMTI2CisjOiBkaXIuYzozNDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBtaWdyYXRlIGdpdCBkaXJlY3RvcnkgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgIktvbm50ZSBHaXQtVmVyemVpY2huaXMgbmljaHQgdm9uICclcycgbmFjaCAnJXMnIG1pZ3JpZXJlbi4iCkBAIC0yMzc5LDI5NyArMzU1NiwyODkgQEAKIG1zZ2lkICJGaWx0ZXJpbmcgY29udGVudCIKIG1zZ3N0ciAiRmlsdGVyZSBJbmhhbHQiCiAKLSM6IGVudHJ5LmM6NDY1CisjOiBlbnRyeS5jOjQ3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCBmaWxlICclcyciCiBtc2dzdHIgIktvbm50ZSBEYXRlaSAnJXMnIG5pY2h0IGxlc2VuLiIKIAotIzogZW52aXJvbm1lbnQuYzoxNTAKKyM6IGVudmlyb25tZW50LmM6MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBnaXQgbmFtZXNwYWNlIHBhdGggXCIlc1wiIgogbXNnc3RyICJVbmfDvGx0aWdlciBHaXQtTmFtZXNwYWNlLVBmYWQgXCIlc1wiIgogCi0jOiBlbnZpcm9ubWVudC5jOjMzMgorIzogZW52aXJvbm1lbnQuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCBHSVRfRElSIHRvICclcyciCiBtc2dzdHIgIktvbm50ZSBHSVRfRElSIG5pY2h0IHp1ICclcycgc2V0emVuLiIKIAotIzogZXhlYy1jbWQuYzozNjEKKyM6IGV4ZWMtY21kLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRvbyBtYW55IGFyZ3MgdG8gcnVuICVzIgogbXNnc3RyICJadSB2aWVsZSBBcmd1bWVudGUgYW5nZWdlYmVuLCB1bSAlcyBhdXN6dWbDvGhyZW4uIgogCi0jOiBmZXRjaC1vYmplY3QuYzoxNwotbXNnaWQgIlJlbW90ZSB3aXRoIG5vIFVSTCIKLW1zZ3N0ciAiUmVtb3RlLVJlcG9zaXRvcnkgb2huZSBVUkwiCi0KLSM6IGZldGNoLXBhY2suYzoxNTEKKyM6IGZldGNoLXBhY2suYzoxNTAKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgc2hhbGxvdyBsaXN0IgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogZXJ3YXJ0ZXRlIHNoYWxsb3ctTGlzdGUiCiAKLSM6IGZldGNoLXBhY2suYzoxNjMKKyM6IGZldGNoLXBhY2suYzoxNTMKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgYSBmbHVzaCBwYWNrZXQgYWZ0ZXIgc2hhbGxvdyBsaXN0IgorbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogZXJ3YXJ0ZXRlIGVpbiBGbHVzaC1QYWtldCBuYWNoIGRlciBzaGFsbG93LUxpc3RlIgorCisjOiBmZXRjaC1wYWNrLmM6MTY0CiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBhIGZsdXNoIHBhY2tldCIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IEFDSy9OQUsgZXJ3YXJ0ZXQsIEZsdXNoLVBha2V0IGJla29tbWVuIgogCi0jOiBmZXRjaC1wYWNrLmM6MTgzCisjOiBmZXRjaC1wYWNrLmM6MTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgJyVzJyIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IEFDSy9OQUsgZXJ3YXJ0ZXQsICclcycgYmVrb21tZW4iCiAKLSM6IGZldGNoLXBhY2suYzoyNTMKKyM6IGZldGNoLXBhY2suYzoxOTUKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdG8gcmVtb3RlIgorbXNnc3RyICJrb25udGUgbmljaHQgenVtIFJlbW90ZSBzY2hyZWliZW4iCisKKyM6IGZldGNoLXBhY2suYzoyNTcKIG1zZ2lkICItLXN0YXRlbGVzcy1ycGMgcmVxdWlyZXMgbXVsdGlfYWNrX2RldGFpbGVkIgogbXNnc3RyICItLXN0YXRlbGVzcy1ycGMgYmVuw7Z0aWd0IG11bHRpX2Fja19kZXRhaWxlZCIKIAotIzogZmV0Y2gtcGFjay5jOjM0NyBmZXRjaC1wYWNrLmM6MTI3NworIzogZmV0Y2gtcGFjay5jOjM1NiBmZXRjaC1wYWNrLmM6MTM0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNoYWxsb3cgbGluZTogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2Ugc2hhbGxvdy1aZWlsZTogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozNTMgZmV0Y2gtcGFjay5jOjEyODMKKyM6IGZldGNoLXBhY2suYzozNjIgZmV0Y2gtcGFjay5jOjEzNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1bnNoYWxsb3cgbGluZTogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgdW5zaGFsbG93LVplaWxlOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM1NSBmZXRjaC1wYWNrLmM6MTI4NQorIzogZmV0Y2gtcGFjay5jOjM2NCBmZXRjaC1wYWNrLmM6MTM0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3Qgbm90IGZvdW5kOiAlcyIKIG1zZ3N0ciAiT2JqZWt0IG5pY2h0IGdlZnVuZGVuOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM1OCBmZXRjaC1wYWNrLmM6MTI4OAorIzogZmV0Y2gtcGFjay5jOjM2NyBmZXRjaC1wYWNrLmM6MTM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBpbiBvYmplY3Q6ICVzIgogbXNnc3RyICJGZWhsZXIgaW4gT2JqZWt0OiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM2MCBmZXRjaC1wYWNrLmM6MTI5MAorIzogZmV0Y2gtcGFjay5jOjM2OSBmZXRjaC1wYWNrLmM6MTM1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzaGFsbG93IGZvdW5kOiAlcyIKIG1zZ3N0ciAiS2VpbiBzaGFsbG93LU9iamVrdCBnZWZ1bmRlbjogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozNjMgZmV0Y2gtcGFjay5jOjEyOTMKKyM6IGZldGNoLXBhY2suYzozNzIgZmV0Y2gtcGFjay5jOjEzNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgc2hhbGxvdy91bnNoYWxsb3csIGdvdCAlcyIKIG1zZ3N0ciAic2hhbGxvdy91bnNoYWxsb3cgZXJ3YXJ0ZXQsICVzIGJla29tbWVuIgogCi0jOiBmZXRjaC1wYWNrLmM6NDA0CisjOiBmZXRjaC1wYWNrLmM6NDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImdvdCAlcyAlZCAlcyIKIG1zZ3N0ciAiJXMgJWQgJXMgYmVrb21tZW4iCiAKLSM6IGZldGNoLXBhY2suYzo0MjEKKyM6IGZldGNoLXBhY2suYzo0MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb21taXQgJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIENvbW1pdCAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjQ1MgorIzogZmV0Y2gtcGFjay5jOjQ2MgogbXNnaWQgImdpdmluZyB1cCIKIG1zZ3N0ciAiR2ViZSBhdWYiCiAKLSM6IGZldGNoLXBhY2suYzo0NjQgcHJvZ3Jlc3MuYzoyMjkKKyM6IGZldGNoLXBhY2suYzo0NzUgcHJvZ3Jlc3MuYzozMjMKIG1zZ2lkICJkb25lIgogbXNnc3RyICJGZXJ0aWciCiAKLSM6IGZldGNoLXBhY2suYzo0NzYKKyM6IGZldGNoLXBhY2suYzo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ290ICVzICglZCkgJXMiCiBtc2dzdHIgIiVzICglZCkgJXMgYmVrb21tZW4iCiAKLSM6IGZldGNoLXBhY2suYzo1MjIKKyM6IGZldGNoLXBhY2suYzo1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFya2luZyAlcyBhcyBjb21wbGV0ZSIKIG1zZ3N0ciAiTWFya2llcmUgJXMgYWxzIHZvbGxzdMOkbmRpZyIKIAotIzogZmV0Y2gtcGFjay5jOjc2NAorIzogZmV0Y2gtcGFjay5jOjc1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJhbHJlYWR5IGhhdmUgJXMgKCVzKSIKIG1zZ3N0ciAiaGFiZSAlcyAoJXMpIGJlcmVpdHMiCiAKLSM6IGZldGNoLXBhY2suYzo4MDMKKyM6IGZldGNoLXBhY2suYzo4MTgKIG1zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKIG1zZ3N0ciAiZmV0Y2gtcGFjazogRmVobGVyIGJlaW0gU3RhcnRlbiBkZXMgc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKIAotIzogZmV0Y2gtcGFjay5jOjgxMQorIzogZmV0Y2gtcGFjay5jOjgyNgogbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgcGFjayBoZWFkZXIiCiBtc2dzdHIgIlByb3Rva29sbGZlaGxlcjogdW5nw7xsdGlnZXIgUGFjay1IZWFkZXIiCiAKLSM6IGZldGNoLXBhY2suYzo4NzkKKyM6IGZldGNoLXBhY2suYzo5MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmICVzIgogbXNnc3RyICJmZXRjaC1wYWNrOiBrb25udGUgJXMgbmljaHQgc3RhcnRlbiIKIAotIzogZmV0Y2gtcGFjay5jOjg5NQorIzogZmV0Y2gtcGFjay5jOjkxNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBmYWlsZWQiCiBtc2dzdHIgIiVzIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBmZXRjaC1wYWNrLmM6ODk3CisjOiBmZXRjaC1wYWNrLmM6OTE4CiBtc2dpZCAiZXJyb3IgaW4gc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKIG1zZ3N0ciAiRmVobGVyIGluIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCiAKLSM6IGZldGNoLXBhY2suYzo5MjYKLW1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNsaWVudHMiCi1tc2dzdHIgIlNlcnZlciB1bnRlcnN0w7x0enQga2VpbmUgc2hhbGxvdy1DbGllbnRzIgotCi0jOiBmZXRjaC1wYWNrLmM6OTMwCi1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2Fja19kZXRhaWxlZCIKLW1zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBtdWx0aV9hY2tfZGV0YWlsZWQiCi0KLSM6IGZldGNoLXBhY2suYzo5MzMKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbm8tZG9uZSIKLW1zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBuby1kb25lIgotCi0jOiBmZXRjaC1wYWNrLmM6OTM5Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2FjayIKLW1zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBtdWx0aV9hY2siCi0KLSM6IGZldGNoLXBhY2suYzo5NDMKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kLTY0ayIKLW1zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBzaWRlLWJhbmQtNjRrIgotCi0jOiBmZXRjaC1wYWNrLmM6OTQ3Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZCIKLW1zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBzaWRlLWJhbmQiCi0KLSM6IGZldGNoLXBhY2suYzo5NTEKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctdGlwLXNoYTEtaW4td2FudCIKLW1zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBhbGxvdy10aXAtc2hhMS1pbi13YW50IgotCi0jOiBmZXRjaC1wYWNrLmM6OTU1Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCi1tc2dzdHIgIlNlcnZlciB1bnRlcnN0w7x0enQgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKLQogIzogZmV0Y2gtcGFjay5jOjk2NQotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBvZnMtZGVsdGEiCi1tc2dzdHIgIlNlcnZlciB1bnRlcnN0w7x0enQgb2ZzLWRlbHRhIgotCi0jOiBmZXRjaC1wYWNrLmM6OTcxIGZldGNoLXBhY2suYzoxMTU4Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIGZpbHRlciIKLW1zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBGaWx0ZXIiCi0KLSM6IGZldGNoLXBhY2suYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VydmVyIHZlcnNpb24gaXMgJS4qcyIKIG1zZ3N0ciAiU2VydmVyLVZlcnNpb24gaXN0ICUuKnMiCiAKLSM6IGZldGNoLXBhY2suYzo5ODUKKyM6IGZldGNoLXBhY2suYzo5NzAgZmV0Y2gtcGFjay5jOjk3NiBmZXRjaC1wYWNrLmM6OTc5IGZldGNoLXBhY2suYzo5ODUKKyM6IGZldGNoLXBhY2suYzo5ODkgZmV0Y2gtcGFjay5jOjk5MyBmZXRjaC1wYWNrLmM6OTk3IGZldGNoLXBhY2suYzoxMDAxCisjOiBmZXRjaC1wYWNrLmM6MTAwNSBmZXRjaC1wYWNrLmM6MTAwOSBmZXRjaC1wYWNrLmM6MTAxMyBmZXRjaC1wYWNrLmM6MTAxNworIzogZmV0Y2gtcGFjay5jOjEwMjMgZmV0Y2gtcGFjay5jOjEwMjkgZmV0Y2gtcGFjay5jOjEwMzQgZmV0Y2gtcGFjay5jOjEwMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzICVzIgorbXNnc3RyICJTZXJ2ZXIgdW50ZXJzdMO8dHp0ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6OTcyCittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgorbXNnc3RyICJTZXJ2ZXIgdW50ZXJzdMO8dHp0IGtlaW5lIHNoYWxsb3ctQ2xpZW50cyIKKworIzogZmV0Y2gtcGFjay5jOjEwMzIKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctc2luY2UiCiBtc2dzdHIgIlNlcnZlciB1bnRlcnN0w7x0enQga2VpbiAtLXNoYWxsb3ctc2luY2UiCiAKLSM6IGZldGNoLXBhY2suYzo5ODkKKyM6IGZldGNoLXBhY2suYzoxMDM3CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LWV4Y2x1ZGUiCiBtc2dzdHIgIlNlcnZlciB1bnRlcnN0w7x0enQga2VpbiAtLXNoYWxsb3ctZXhjbHVkZSIKIAotIzogZmV0Y2gtcGFjay5jOjk5MQorIzogZmV0Y2gtcGFjay5jOjEwNDEKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLWRlZXBlbiIKIG1zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBrZWluIC0tZGVlcGVuIgogCi0jOiBmZXRjaC1wYWNrLmM6MTAwOAorIzogZmV0Y2gtcGFjay5jOjEwNTgKIG1zZ2lkICJubyBjb21tb24gY29tbWl0cyIKIG1zZ3N0ciAia2VpbmUgZ2VtZWluc2FtZW4gQ29tbWl0cyIKIAotIzogZmV0Y2gtcGFjay5jOjEwMjAgZmV0Y2gtcGFjay5jOjE0MTgKKyM6IGZldGNoLXBhY2suYzoxMDcwIGZldGNoLXBhY2suYzoxNTM2CiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGZldGNoIGZhaWxlZC4iCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrOiBBYmhvbGVuIGZlaGxnZXNjaGxhZ2VuLiIKIAotIzogZmV0Y2gtcGFjay5jOjExNTMKKyM6IGZldGNoLXBhY2suYzoxMjA5CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyByZXF1ZXN0cyIKIG1zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBrZWluZSBzaGFsbG93LUFuZnJhZ2VuLiIKIAotIzogZmV0Y2gtcGFjay5jOjExOTkKKyM6IGZldGNoLXBhY2suYzoxMjE2Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzIGZpbHRlciIKK21zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBGaWx0ZXIiCisKKyM6IGZldGNoLXBhY2suYzoxMjM5Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHJlcXVlc3QgdG8gcmVtb3RlIgorbXNnc3RyICJrb25udGUgQW5mcmFnZSBuaWNodCB6dW0gUmVtb3RlIHNjaHJlaWJlbiIKKworIzogZmV0Y2gtcGFjay5jOjEyNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcmVhZGluZyBzZWN0aW9uIGhlYWRlciAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBMZXNlbiB2b24gU2VrdGlvbnNrb3BmICclcycuIgogCi0jOiBmZXRjaC1wYWNrLmM6MTIwNQorIzogZmV0Y2gtcGFjay5jOjEyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgJyVzJywgcmVjZWl2ZWQgJyVzJyIKIG1zZ3N0ciAiJyVzJyBlcndhcnRldCwgJyVzJyBlbXBmYW5nZW4iCiAKLSM6IGZldGNoLXBhY2suYzoxMjQ0CisjOiBmZXRjaC1wYWNrLmM6MTMwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFja25vd2xlZGdtZW50IGxpbmU6ICclcyciCiBtc2dzdHIgIlVuZXJ3YXJ0ZXRlIEFja25vd2xlZGdtZW50LVplaWxlOiAnJXMnIgogCi0jOiBmZXRjaC1wYWNrLmM6MTI0OQorIzogZmV0Y2gtcGFjay5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcHJvY2Vzc2luZyBhY2tzOiAlZCIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gVmVyYXJiZWl0ZW4gdm9uIEFDS1M6ICVkIgogCi0jOiBmZXRjaC1wYWNrLmM6MTI1OQorIzogZmV0Y2gtcGFjay5jOjEzMTgKIG1zZ2lkICJleHBlY3RlZCBwYWNrZmlsZSB0byBiZSBzZW50IGFmdGVyICdyZWFkeSciCiBtc2dzdHIgIkVyd2FydGV0ZSBWZXJzYW5kIGVpbmVyIFBhY2tkYXRlaSBuYWNoICdyZWFkeScuIgogCi0jOiBmZXRjaC1wYWNrLmM6MTI2MQorIzogZmV0Y2gtcGFjay5jOjEzMjAKIG1zZ2lkICJleHBlY3RlZCBubyBvdGhlciBzZWN0aW9ucyB0byBiZSBzZW50IGFmdGVyIG5vICdyZWFkeSciCiBtc2dzdHIgIkVyd2FydGV0ZSBrZWluZW4gVmVyc2FuZCBlaW5lciBhbmRlcmVuIFNla3Rpb24gb2huZSAncmVhZHknLiIKIAotIzogZmV0Y2gtcGFjay5jOjEyOTgKKyM6IGZldGNoLXBhY2suYzoxMzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHByb2Nlc3Npbmcgc2hhbGxvdyBpbmZvOiAlZCIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gVmVyYXJiZWl0ZW4gdm9uIFNoYWxsb3ctSW5mb3JtYXRpb25lbjogJWQiCiAKLSM6IGZldGNoLXBhY2suYzoxMzE0CisjOiBmZXRjaC1wYWNrLmM6MTQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCB3YW50ZWQtcmVmLCBnb3QgJyVzJyIKIG1zZ3N0ciAid2FudGVkLXJlZiBlcndhcnRldCwgJyVzJyBiZWtvbW1lbiIKIAotIzogZmV0Y2gtcGFjay5jOjEzMjQKKyM6IGZldGNoLXBhY2suYzoxNDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgd2FudGVkLXJlZjogJyVzJyIKIG1zZ3N0ciAiVW5lcndhcnRldGVzIHdhbnRlZC1yZWY6ICclcyciCiAKLSM6IGZldGNoLXBhY2suYzoxMzI4CisjOiBmZXRjaC1wYWNrLmM6MTQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBwcm9jZXNzaW5nIHdhbnRlZCByZWZzOiAlZCIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gVmVyYXJiZWl0ZW4gdm9uIHdhbnRlZC1yZWZzOiAlZCIKIAotIzogZmV0Y2gtcGFjay5jOjE2NDIKKyM6IGZldGNoLXBhY2suYzoxNzYyCiBtc2dpZCAibm8gbWF0Y2hpbmcgcmVtb3RlIGhlYWQiCiBtc2dzdHIgImtlaW4gw7xiZXJlaW5zdGltbWVuZGVyIFJlbW90ZS1CcmFuY2giCiAKLSM6IGZldGNoLXBhY2suYzoxNjYwIGJ1aWx0aW4vY2xvbmUuYzo2NjQKKyM6IGZldGNoLXBhY2suYzoxNzg1IGJ1aWx0aW4vY2xvbmUuYzo2ODgKIG1zZ2lkICJyZW1vdGUgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0cyIKIG1zZ3N0ciAiUmVtb3RlLVJlcG9zaXRvcnkgaGF0IG5pY2h0IGFsbGUgZXJmb3JkZXJsaWNoZW4gT2JqZWt0ZSBnZXNlbmRldC4iCiAKLSM6IGZldGNoLXBhY2suYzoxNjg2CisjOiBmZXRjaC1wYWNrLmM6MTgxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIHJlbW90ZSByZWYgJXMiCiBtc2dzdHIgImtlaW5lIHNvbGNoZSBSZW1vdGUtUmVmZXJlbnogJXMiCiAKLSM6IGZldGNoLXBhY2suYzoxNjg5CisjOiBmZXRjaC1wYWNrLmM6MTgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3QgYWxsb3cgcmVxdWVzdCBmb3IgdW5hZHZlcnRpc2VkIG9iamVjdCAlcyIKIG1zZ3N0ciAiRGVyIFNlcnZlciBsZWhudCBBbmZyYWdlIG5hY2ggbmljaHQgYW5nZWJvdGVuZW0gT2JqZWt0ICVzIGFiLiIKIAotIzogZ3BnLWludGVyZmFjZS5jOjMxOAotbXNnaWQgImdwZyBmYWlsZWQgdG8gc2lnbiB0aGUgZGF0YSIKLW1zZ3N0ciAiZ3BnIGJlaW0gU2lnbmllcmVuIGRlciBEYXRlbiBmZWhsZ2VzY2hsYWdlbiIKLQotIzogZ3BnLWludGVyZmFjZS5jOjM0NAorIzogZ3BnLWludGVyZmFjZS5jOjIyMwogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgImtvbm50ZSB0ZW1wb3LDpHJlIERhdGVpIG5pY2h0IGVyc3RlbGxlbiIKIAotIzogZ3BnLWludGVyZmFjZS5jOjM0NworIzogZ3BnLWludGVyZmFjZS5jOjIyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gU2NocmVpYmVuIGRlciBsb3NnZWzDtnN0ZW4gU2lnbmF0dXIgbmFjaCAnJXMnIgogCi0jOiBncmFwaC5jOjk3CisjOiBncGctaW50ZXJmYWNlLmM6MzkwCittc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgorbXNnc3RyICJncGcgYmVpbSBTaWduaWVyZW4gZGVyIERhdGVuIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBncmFwaC5jOjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yZSBpbnZhbGlkIGNvbG9yICclLipzJyBpbiBsb2cuZ3JhcGhDb2xvcnMiCiBtc2dzdHIgIklnbm9yaWVyZSB1bmfDvGx0aWdlIEZhcmJlICclLipzJyBpbiBsb2cuZ3JhcGhDb2xvcnMiCiAKLSM6IGdyZXAuYzoyMTEzCisjOiBncmVwLmM6NjY4Cittc2dpZCAiIgorImdpdmVuIHBhdHRlcm4gY29udGFpbnMgTlVMTCBieXRlICh2aWEgLWYgPGZpbGU+KS4gVGhpcyBpcyBvbmx5IHN1cHBvcnRlZCAiCisid2l0aCAtUCB1bmRlciBQQ1JFIHYyIgorbXNnc3RyICIiCisiQW5nZWdlYmVuZXMgTXVzdGVyIGVudGjDpGx0IE5VTEwgQnl0ZSAow7xiZXIgLWYgPERhdGVpPikuIERhcyB3aXJkIG51ciBtaXQgLSIKKyJQdW50ZXIgUENSRSB2MiB1bnRlcnN0w7x0enQuIgorCisjOiBncmVwLmM6MjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAiJyVzJzoga29ubnRlICVzIG5pY2h0IGxlc2VuIgogCi0jOiBncmVwLmM6MjEzMCBzZXR1cC5jOjE2NCBidWlsdGluL2Nsb25lLmM6NDEwIGJ1aWx0aW4vZGlmZi5jOjgxCi0jOiBidWlsdGluL3JtLmM6MTM0CisjOiBncmVwLmM6MjE0MSBzZXR1cC5jOjE2NSBidWlsdGluL2Nsb25lLmM6NDExIGJ1aWx0aW4vZGlmZi5jOjgyCisjOiBidWlsdGluL3JtLmM6MTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclcyciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGxlc2VuIgogCi0jOiBncmVwLmM6MjE0MQorIzogZ3JlcC5jOjIxNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogc2hvcnQgcmVhZCIKIG1zZ3N0ciAiJyVzJzogcmVhZCgpIHp1IGt1cnoiCkBAIC0yNzE5LDQ4ICszODg4LDUwIEBACiBtc2dzdHIgIlN5c3RlbWJlZmVobGUgLyBBYmZyYWdlbiIKIAogIzogaGVscC5jOjM3Ci1tc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gU3luY2hpbmcgUmVwb3NpdG9yaWVzIgorbXNnaWQgIkxvdy1sZXZlbCBDb21tYW5kcyAvIFN5bmNpbmcgUmVwb3NpdG9yaWVzIgogbXNnc3RyICJTeXN0ZW1iZWZlaGxlIC8gUmVwb3NpdG9yaWVzIHN5bmNocm9uaXNpZXJlbiIKIAogIzogaGVscC5jOjM4CiBtc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gSW50ZXJuYWwgSGVscGVycyIKIG1zZ3N0ciAiU3lzdGVtYmVmZWhsZSAvIEludGVybmUgSGlsZnNiZWZlaGxlIgogCi0jOiBoZWxwLmM6Mjk2CisjOiBoZWxwLmM6Mjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImF2YWlsYWJsZSBnaXQgY29tbWFuZHMgaW4gJyVzJyIKIG1zZ3N0ciAiVm9yaGFuZGVuZSBHaXQtQmVmZWhsZSBpbiAnJXMnIgogCi0jOiBoZWxwLmM6MzAzCisjOiBoZWxwLmM6MzA1CiBtc2dpZCAiZ2l0IGNvbW1hbmRzIGF2YWlsYWJsZSBmcm9tIGVsc2V3aGVyZSBvbiB5b3VyICRQQVRIIgogbXNnc3RyICJWb3JoYW5kZW5lIEdpdC1CZWZlaGxlIGFuZGVyc3dvIGluIElocmVtICRQQVRIIgogCi0jOiBoZWxwLmM6MzEyCisjOiBoZWxwLmM6MzE0CiBtc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgogbXNnc3RyICJBbGxnZW1laW5lIEdpdC1CZWZlaGxlLCB2ZXJ3ZW5kZXQgaW4gdmVyc2NoaWVkZW5lbiBTaXR1YXRpb25lbjoiCiAKLSM6IGhlbHAuYzozNjEgZ2l0LmM6OTAKKyM6IGhlbHAuYzozNjMgZ2l0LmM6OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCBsaXN0aW5nIHR5cGUgJyVzJyIKIG1zZ3N0ciAiTmljaHQgdW50ZXJzdMO8dHp0ZSBBcnQgenVyIEJlZmVobHNhdWZsaXN0dW5nICclcycuIgogCi0jOiBoZWxwLmM6NDA4CisjOiBoZWxwLmM6NDAzCiBtc2dpZCAiVGhlIGNvbW1vbiBHaXQgZ3VpZGVzIGFyZToiCiBtc2dzdHIgIkRpZSBhbGxnZW1laW5lbiBHaXQtQW5sZWl0dW5nZW4gc2luZDoiCiAKLSM6IGhlbHAuYzo1MTcKKyM6IGhlbHAuYzo1MTIKIG1zZ2lkICJTZWUgJ2dpdCBoZWxwIDxjb21tYW5kPicgdG8gcmVhZCBhYm91dCBhIHNwZWNpZmljIHN1YmNvbW1hbmQiCi1tc2dzdHIgIlNpZWhlICdnaXQgaGVscCA8QmVmZWhsPicsIHVtIG1laHIgw7xiZXIgZWluZW4gc3BlemlmaXNjaGVuIFVudGVyYmVmZWhsIHp1IGxlc2VuLiIKK21zZ3N0ciAiIgorIlNpZWhlICdnaXQgaGVscCA8QmVmZWhsPicsIHVtIG1laHIgw7xiZXIgZWluZW4gc3BlemlmaXNjaGVuIFVudGVyYmVmZWhsIHp1ICIKKyJsZXNlbi4iCiAKLSM6IGhlbHAuYzo1MjIKKyM6IGhlbHAuYzo1MTcKIG1zZ2lkICJFeHRlcm5hbCBjb21tYW5kcyIKIG1zZ3N0ciAiRXh0ZXJuZSBCZWZlaGxlIgogCi0jOiBoZWxwLmM6NTMwCisjOiBoZWxwLmM6NTMyCiBtc2dpZCAiQ29tbWFuZCBhbGlhc2VzIgogbXNnc3RyICJBbGlhcy1CZWZlaGxlIgogCi0jOiBoZWxwLmM6NTk0CisjOiBoZWxwLmM6NTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnIGFwcGVhcnMgdG8gYmUgYSBnaXQgY29tbWFuZCwgYnV0IHdlIHdlcmUgbm90XG4iCkBAIC0yNzY5LDMyICszOTQwLDMyIEBACiAiJyVzJyBzY2hlaW50IGVpbiBnaXQtQmVmZWhsIHp1IHNlaW4sIGtvbm50ZSBhYmVyXG4iCiAibmljaHQgYXVzZ2Vmw7xocnQgd2VyZGVuLiBWaWVsbGVpY2h0IGlzdCBnaXQtJXMgZmVobGVyaGFmdD8iCiAKLSM6IGhlbHAuYzo2NTMKKyM6IGhlbHAuYzo2NTUKIG1zZ2lkICJVaCBvaC4gWW91ciBzeXN0ZW0gcmVwb3J0cyBubyBHaXQgY29tbWFuZHMgYXQgYWxsLiIKIG1zZ3N0ciAiVWggb2guIEtlaW5lIEdpdC1CZWZlaGxlIGF1ZiBJaHJlbSBTeXN0ZW0gdm9yaGFuZGVuLiIKIAotIzogaGVscC5jOjY3NQorIzogaGVscC5jOjY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJXQVJOSU5HOiBZb3UgY2FsbGVkIGEgR2l0IGNvbW1hbmQgbmFtZWQgJyVzJywgd2hpY2ggZG9lcyBub3QgZXhpc3QuIgogbXNnc3RyICIiCiAiV0FSTlVORzogU2llIGhhYmVuIEdpdC1CZWZlaGwgJyVzJyBhdXNnZWbDvGhydCwgd2VsY2hlciBuaWNodCBleGlzdGllcnQuIgogCi0jOiBoZWxwLmM6NjgwCisjOiBoZWxwLmM6NjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbnRpbnVpbmcgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCB5b3UgbWVhbnQgJyVzJy4iCiBtc2dzdHIgIlNldHplIGZvcnQgdW50ZXIgZGVyIEFubmFobWUsIGRhc3MgU2llICclcycgbWVpbnRlbi4iCiAKLSM6IGhlbHAuYzo2ODUKKyM6IGhlbHAuYzo2ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29udGludWluZyBpbiAlMC4xZiBzZWNvbmRzLCBhc3N1bWluZyB0aGF0IHlvdSBtZWFudCAnJXMnLiIKIG1zZ3N0ciAiU2V0emUgaW4gJTAuMWYgU2VrdW5kZW4gZm9ydCB1bnRlciBkZXIgQW5uYWhtZSwgZGFzcyBTaWUgJyVzJyBtZWludGVuLiIKIAotIzogaGVscC5jOjY5MworIzogaGVscC5jOjY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQ6ICclcycgaXMgbm90IGEgZ2l0IGNvbW1hbmQuIFNlZSAnZ2l0IC0taGVscCcuIgogbXNnc3RyICJnaXQ6ICclcycgaXN0IGtlaW4gR2l0LUJlZmVobC4gU2llaGUgJ2dpdCAtLWhlbHAnLiIKIAotIzogaGVscC5jOjY5NworIzogaGVscC5jOjY5OQogbXNnaWQgIiIKICJcbiIKICJUaGUgbW9zdCBzaW1pbGFyIGNvbW1hbmQgaXMiCkBAIC0yODA4LDE2ICszOTc5LDE2IEBACiAiXG4iCiAiRGllIMOkaG5saWNoc3RlbiBCZWZlaGxlIHNpbmQiCiAKLSM6IGhlbHAuYzo3MTIKKyM6IGhlbHAuYzo3MTQKIG1zZ2lkICJnaXQgdmVyc2lvbiBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHZlcnNpb24gWzxPcHRpb25lbj5dIgogCi0jOiBoZWxwLmM6NzgwCisjOiBoZWxwLmM6NzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyAtICVzIgogbXNnc3RyICIlczogJXMgLSAlcyIKIAotIzogaGVscC5jOjc4NAorIzogaGVscC5jOjc4NwogbXNnaWQgIiIKICJcbiIKICJEaWQgeW91IG1lYW4gdGhpcz8iCkBAIC0yODMxLDcgKzQwMDIsNyBAQAogIlxuIgogIkhhYmVuIFNpZSBlaW5lcyB2b24gZGllc2VuIGdlbWVpbnQ/IgogCi0jOiBpZGVudC5jOjM0NQorIzogaWRlbnQuYzozNDkKIG1zZ2lkICIiCiAiXG4iCiAiKioqIFBsZWFzZSB0ZWxsIG1lIHdobyB5b3UgYXJlLlxuIgpAQCAtMjg1Nyw1MCArNDAyOCw5MCBAQAogIkxhc3NlbiBTaWUgZGllIE9wdGlvbiBcIi0tZ2xvYmFsXCIgd2VnLCB1bSBkaWUgSWRlbnRpdMOkdCBudXJcbiIKICJmw7xyIGRpZXNlcyBSZXBvc2l0b3J5IHp1IHNldHplbi5cbiIKIAotIzogaWRlbnQuYzozNjkKKyM6IGlkZW50LmM6Mzc5CiBtc2dpZCAibm8gZW1haWwgd2FzIGdpdmVuIGFuZCBhdXRvLWRldGVjdGlvbiBpcyBkaXNhYmxlZCIKIG1zZ3N0ciAia2VpbmUgRS1NYWlsIGFuZ2VnZWJlbiB1bmQgYXV0b21hdGlzY2hlIEVya2VubnVuZyBpc3QgZGVha3RpdmllcnQiCiAKLSM6IGlkZW50LmM6Mzc0CisjOiBpZGVudC5jOjM4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYXV0by1kZXRlY3QgZW1haWwgYWRkcmVzcyAoZ290ICclcycpIgogbXNnc3RyICJLb25udGUgZGllIEUtTWFpbC1BZHJlc3NlIG5pY2h0IGF1dG9tYXRpc2NoIGVya2VubmVuICgnJXMnIGVyaGFsdGVuKSIKIAotIzogaWRlbnQuYzozODQKKyM6IGlkZW50LmM6NDAxCiBtc2dpZCAibm8gbmFtZSB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgogbXNnc3RyICJrZWluIE5hbWUgYW5nZWdlYmVuIHVuZCBhdXRvbWF0aXNjaGUgRXJrZW5udW5nIGlzdCBkZWFrdGl2aWVydCIKIAotIzogaWRlbnQuYzozOTAKKyM6IGlkZW50LmM6NDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBuYW1lIChnb3QgJyVzJykiCiBtc2dzdHIgImtvbm50ZSBOYW1lbiBuaWNodCBhdXRvbWF0aXNjaCBlcmtlbm5lbiAoJyVzJyBlcmhhbHRlbikiCiAKLSM6IGlkZW50LmM6Mzk4CisjOiBpZGVudC5jOjQxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJlbXB0eSBpZGVudCBuYW1lIChmb3IgPCVzPikgbm90IGFsbG93ZWQiCiBtc2dzdHIgIkxlZXJlciBOYW1lIGluIElkZW50aWZpa2F0aW9uIChmw7xyIDwlcz4pIG5pY2h0IGVybGF1YnQuIgogCi0jOiBpZGVudC5jOjQwNAorIzogaWRlbnQuYzo0MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAibmFtZSBjb25zaXN0cyBvbmx5IG9mIGRpc2FsbG93ZWQgY2hhcmFjdGVyczogJXMiCiBtc2dzdHIgIk5hbWUgYmVzdGVodCBudXIgYXVzIG5pY2h0IGVybGF1YnRlbiBaZWljaGVuOiAlcyIKIAotIzogaWRlbnQuYzo0MTkgYnVpbHRpbi9jb21taXQuYzo2MDYKKyM6IGlkZW50LmM6NDM2IGJ1aWx0aW4vY29tbWl0LmM6NjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgZGF0ZSBmb3JtYXQ6ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlcyBEYXR1bXNmb3JtYXQ6ICVzIgogCi0jOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzozNQotbXNnaWQgIm11bHRpcGxlIGZpbHRlci1zcGVjcyBjYW5ub3QgYmUgY29tYmluZWQiCi1tc2dzdHIgIk1laHJlcmUgZmlsdGVyLXNwZWNzIGvDtm5uZW4gbmljaHQga29tYmluaWVydCB3ZXJkZW4uIgorIzogbGlzdC1vYmplY3RzLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgImVudHJ5ICclcycgaW4gdHJlZSAlcyBoYXMgdHJlZSBtb2RlLCBidXQgaXMgbm90IGEgdHJlZSIKK21zZ3N0ciAiIgorIkVpbnRyYWcgJyVzJyBpbSBUcmVlLU9iamVrdCAlcyBoYXQgVHJlZS1Nb2R1cywgYWJlciBpc3Qga2VpbiBUcmVlLU9iamVrdCIKKworIzogbGlzdC1vYmplY3RzLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgImVudHJ5ICclcycgaW4gdHJlZSAlcyBoYXMgYmxvYiBtb2RlLCBidXQgaXMgbm90IGEgYmxvYiIKK21zZ3N0ciAiRWludHJhZyAnJXMnIGltIFRyZWUtT2JqZWt0ICVzIGhhdCBCbG9iLU1vZHVzLCBhYmVyIGlzdCBrZWluIEJsb2IiCisKKyM6IGxpc3Qtb2JqZWN0cy5jOjM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gbG9hZCByb290IHRyZWUgZm9yIGNvbW1pdCAlcyIKK21zZ3N0ciAiS29ubnRlIFJvb3QtVHJlZS1PYmpla3QgZsO8ciBDb21taXQgJXMgbmljaHQgbGFkZW4uIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhY2Nlc3Mgc3BhcnNlIGJsb2IgaW4gJyVzJyIKK21zZ3N0ciAia29ubnRlIG5pY2h0IGF1ZiBwYXJ0aWVsbGVuIEJsb2IgJyVzJyB6dWdyZWlmZW4iCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXIuYzo0OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIHNwYXJzZSBmaWx0ZXIgZGF0YSBpbiAlcyIKK21zZ3N0ciAiS29ubnRlIHBhcnRpZWxsZSBGaWx0ZXItRGF0ZW4gaW4gJXMgbmljaHQgcGFyc2VuLiIKIAogIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6NTgKLW1zZ2lkICJvbmx5ICd0cmVlOjAnIGlzIHN1cHBvcnRlZCIKLW1zZ3N0ciAiRXMgd2lyZCBudXIgJ3RyZWU6MCcgdW50ZXJzdMO8dHp0LiIKK21zZ2lkICJleHBlY3RlZCAndHJlZTo8ZGVwdGg+JyIKK21zZ3N0ciAiJ3RyZWU6PFRpZWZlPicgZXJ3YXJ0ZXQiCiAKLSM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjEzNwotbXNnaWQgImNhbm5vdCBjaGFuZ2UgcGFydGlhbCBjbG9uZSBwcm9taXNvciByZW1vdGUiCi1tc2dzdHIgIkthbm4gUmVtb3RlLVJlcG9zaXRvcnkgZsO8ciBwYXJ0aWVsbGVzIEtsb25lbiBuaWNodCDDpG5kZXJuLiIKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjczCittc2dpZCAic3BhcnNlOnBhdGggZmlsdGVycyBzdXBwb3J0IGhhcyBiZWVuIGRyb3BwZWQiCittc2dzdHIgIktlaW5lIFVudGVyc3TDvHR6dW5nIGbDvHIgc3BhcnNlOnBhdGggRmlsdGVyIG1laHIiCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZmlsdGVyLXNwZWMgJyVzJyIKK21zZ3N0ciAiVW5nw7xsdGlnZSBmaWx0ZXItc3BlYyAnJXMnIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBlc2NhcGUgY2hhciBpbiBzdWItZmlsdGVyLXNwZWM6ICclYyciCittc2dzdHIgIlplaWNoZW4gaW4gc3ViLWZpbHRlci1zcGVjIG11c3MgbWFza2llcnQgd2VyZGVuOiAnJWMnIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzoxNDQKK21zZ2lkICJleHBlY3RlZCBzb21ldGhpbmcgYWZ0ZXIgY29tYmluZToiCittc2dzdHIgImVyd2FydGV0ZSBldHdhcyBuYWNoICdjb21iaW5lOiciCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjIyNgorbXNnaWQgIm11bHRpcGxlIGZpbHRlci1zcGVjcyBjYW5ub3QgYmUgY29tYmluZWQiCittc2dzdHIgIk1laHJlcmUgZmlsdGVyLXNwZWNzIGvDtm5uZW4gbmljaHQga29tYmluaWVydCB3ZXJkZW4uIgogCiAjOiBsb2NrZmlsZS5jOjE1MQogIywgYy1mb3JtYXQKQEAgLTI5MzEsMTE3ICs0MTQyLDExNCBAQAogbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBjYWNoZSIKIG1zZ3N0ciAiTGVzZW4gZGVzIFp3aXNjaGVuc3BlaWNoZXJzIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBtZXJnZS5jOjEwNyByZXJlcmUuYzo3MjAgYnVpbHRpbi9hbS5jOjE4OTkgYnVpbHRpbi9hbS5jOjE5MzMKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozODcgYnVpbHRpbi9jaGVja291dC5jOjcwOCBidWlsdGluL2Nsb25lLmM6NzY0CisjOiBtZXJnZS5jOjEwNyByZXJlcmUuYzo3MjAgYnVpbHRpbi9hbS5jOjE4NzQgYnVpbHRpbi9hbS5jOjE5MDgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1MzkgYnVpbHRpbi9jaGVja291dC5jOjc5OCBidWlsdGluL2Nsb25lLmM6ODA5CisjOiBidWlsdGluL3N0YXNoLmM6MjY0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJLb25udGUgbmV1ZSBJbmRleC1EYXRlaSBuaWNodCBzY2hyZWliZW4uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM2NwogbXNnaWQgIihiYWQgY29tbWl0KVxuIgogbXNnc3RyICIodW5nw7xsdGlnZXIgQ29tbWl0KVxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNDUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfY2FjaGVpbmZvIGZhaWxlZCBmb3IgcGF0aCAnJXMnOyBtZXJnZSBhYm9ydGluZy4iCiBtc2dzdHIgImFkZF9jYWNoZWluZm8gZsO8ciBQZmFkICclcycgZmVobGdlc2NobGFnZW47IE1lcmdlIHdpcmQgYWJnZWJyb2NoZW4uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNTMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfY2FjaGVpbmZvIGZhaWxlZCB0byByZWZyZXNoIGZvciBwYXRoICclcyc7IG1lcmdlIGFib3J0aW5nLiIKIG1zZ3N0ciAiIgogImFkZF9jYWNoZWluZm8genVyIEFrdHVhbGlzaWVydW5nIGbDvHIgUGZhZCAnJXMnIGZlaGxnZXNjaGxhZ2VuO1xuIgogIk1lcmdlIHdpcmQgYWJnZWJyb2NoZW4uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo0MzUKLW1zZ2lkICJlcnJvciBidWlsZGluZyB0cmVlcyIKLW1zZ3N0ciAiRmVobGVyIGJlaW0gRXJzdGVsbGVuIGRlciBcIlRyZWVcIi1PYmpla3RlIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5MDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBhdGggJyVzJyVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSBFcnN0ZWxsZW4gZGVzIFBmYWRlcyAnJXMnJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIHRvIG1ha2Ugcm9vbSBmb3Igc3ViZGlyZWN0b3J5XG4iCiBtc2dzdHIgIkVudGZlcm5lICVzLCB1bSBQbGF0eiBmw7xyIFVudGVydmVyemVpY2huaXMgenUgc2NoYWZmZW5cbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTMxIG1lcmdlLXJlY3Vyc2l2ZS5jOjk1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTEwIG1lcmdlLXJlY3Vyc2l2ZS5jOjkyOQogbXNnaWQgIjogcGVyaGFwcyBhIEQvRiBjb25mbGljdD8iCiBtc2dzdHIgIjogdmllbGxlaWNodCBlaW4gVmVyemVpY2huaXMvRGF0ZWktS29uZmxpa3Q/IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5NDAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICclcyciCiBtc2dzdHIgInZlcndlaWdlcmUsIGRhIHVudmVyc2lvbmllcnRlIERhdGVpZW4gaW4gJyVzJyB2ZXJsb3JlbiBnZWhlbiB3w7xyZGVuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODIgYnVpbHRpbi9jYXQtZmlsZS5jOjM5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5NjAgYnVpbHRpbi9jYXQtZmlsZS5jOjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyAnJXMnIgogbXNnc3RyICJrYW5uIE9iamVrdCAlcyAnJXMnIG5pY2h0IGxlc2VuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5ODQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgogbXNnc3RyICJCbG9iIGVyd2FydGV0IGbDvHIgJXMgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAwOAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyc6ICVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSDDlmZmbmVuIHZvbiAnJXMnOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAxOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3ltbGluayAnJXMnOiAlcyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRXJzdGVsbGVuIGVpbmVyIHN5bWJvbGlzY2hlbiBWZXJrbsO8cGZ1bmcgZsO8ciAnJXMnOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAyNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJkbyBub3Qga25vdyB3aGF0IHRvIGRvIHdpdGggJTA2byAlcyAnJXMnIgogbXNnc3RyICJ3ZWnDnyBuaWNodCB3YXMgbWl0ICUwNm8gJXMgJyVzJyB6dSBtYWNoZW4gaXN0IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjEyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG5vdCBjaGVja2VkIG91dCkiCiBtc2dzdHIgIkZlaGxlciBiZWltIE1lcmdlIHZvbiBTdWJtb2R1bCAlcyAobmljaHQgYXVzZ2VjaGVja3QpLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIxOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChjb21taXRzIG5vdCBwcmVzZW50KSIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gTWVyZ2Ugdm9uIFN1Ym1vZHVsICVzIChDb21taXRzIG5pY2h0IHZvcmhhbmRlbikuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjI2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKGNvbW1pdHMgZG9uJ3QgZm9sbG93IG1lcmdlLWJhc2UpIgogbXNnc3RyICJGZWhsZXIgYmVpbSBNZXJnZSB2b24gU3VibW9kdWwgJXMgKENvbW1pdHMgZm9sZ2VuIGtlaW5lciBNZXJnZS1CYXNpcykiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzQgbWVyZ2UtcmVjdXJzaXZlLmM6MTI0NgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyMSBtZXJnZS1yZWN1cnNpdmUuYzoxMjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGluZyBzdWJtb2R1bGUgJXMgdG8gdGhlIGZvbGxvd2luZyBjb21taXQ6IgogbXNnc3RyICJTcHVsZSBTdWJtb2R1bCAlcyB6dSBkZW0gZm9sZ2VuZGVuIENvbW1pdCB2b3I6IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjM3IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNDkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjQgbWVyZ2UtcmVjdXJzaXZlLmM6MTIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRpbmcgc3VibW9kdWxlICVzIgogbXNnc3RyICJTcHVsZSBTdWJtb2R1bCAlcyB2b3IiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobWVyZ2UgZm9sbG93aW5nIGNvbW1pdHMgbm90IGZvdW5kKSIKIG1zZ3N0ciAiIgogIkZlaGxlciBiZWltIE1lcmdlIHZvbiBTdWJtb2R1bGUgJXMgKGRlbSBNZXJnZSBuYWNoZm9sZ2VuZGUgQ29tbWl0cyBuaWNodCAiCiAiZ2VmdW5kZW4pIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG5vdCBmYXN0LWZvcndhcmQpIgogbXNnc3RyICJGZWhsZXIgYmVpbSBNZXJnZSB2b24gU3VibW9kdWwgJXMgKGtlaW4gVm9yc3B1bGVuKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI3NgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI2NAogbXNnaWQgIkZvdW5kIGEgcG9zc2libGUgbWVyZ2UgcmVzb2x1dGlvbiBmb3IgdGhlIHN1Ym1vZHVsZTpcbiIKIG1zZ3N0ciAiTcO2Z2xpY2hlIEF1ZmzDtnN1bmcgZGVzIE1lcmdlcyBmw7xyIFN1Ym1vZHVsIGdlZnVuZGVuOlxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB0aGlzIGlzIGNvcnJlY3Qgc2ltcGx5IGFkZCBpdCB0byB0aGUgaW5kZXggZm9yIGV4YW1wbGVcbiIKQEAgLTMwNTgsMzMgKzQyNjYsMzMgQEAKICJcbiIKICJoaW56dSwgdW0gZGllc2VuIFZvcnNjaGxhZyB6dSBha3plcHRpZXJlbi5cbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI4OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChtdWx0aXBsZSBtZXJnZXMgZm91bmQpIgogbXNnc3RyICJGZWhsZXIgYmVpbSBNZXJnZSB2b24gU3VibW9kdWwgJXMgKG1laHJlcmUgTWVyZ2VzIGdlZnVuZGVuKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM1OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM0OQogbXNnaWQgIkZhaWxlZCB0byBleGVjdXRlIGludGVybmFsIG1lcmdlIgogbXNnc3RyICJGZWhsZXIgYmVpIEF1c2bDvGhydW5nIGRlcyBpbnRlcm5lbiBNZXJnZXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzNjMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGFkZCAlcyB0byBkYXRhYmFzZSIKIG1zZ3N0ciAiS29ubnRlICVzIG5pY2h0IHp1ciBEYXRlbmJhbmsgaGluenVmw7xnZW4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzOTUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0by1tZXJnaW5nICVzIgogbXNnc3RyICJhdXRvbWF0aXNjaGVyIE1lcmdlIHZvbiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQxNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvcjogUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlczsgd3JpdGluZyB0byAlcyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogIkZlaGxlcjogVmVyd2VpZ2VyZSB1bnZlcnNpb25pZXJ0ZSBEYXRlaSBiZWkgJXMgenUgdmVybGllcmVuO1xuIgogInNjaHJlaWJlIHN0YXR0ZGVzc2VuIG5hY2ggJXMuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDgzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCkBAIC0zMDkzLDcgKzQzMDEsNyBAQAogIktPTkZMSUtUICglcy9sw7ZzY2hlbik6ICVzIGdlbMO2c2NodCBpbiAlcyB1bmQgJXMgaW4gJXMuIFN0YW5kICVzIHZvbiAlcyB3dXJkZSAiCiAiaW0gQXJiZWl0c2JlcmVpY2ggZ2VsYXNzZW4uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDg4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgdG8gJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgIgpAQCAtMzEwMiw3ICs0MzEwLDcgQEAKICJLT05GTElLVCAoJXMvbMO2c2NoZW4pOiAlcyBnZWzDtnNjaHQgaW4gJXMgdW5kICVzIG5hY2ggJXMgaW4gJXMuIFN0YW5kICVzIHZvbiAiCiAiJXMgd3VyZGUgaW0gQXJiZWl0c2JlcmVpY2ggZ2VsYXNzZW4uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDk1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCkBAIC0zMTExLDcgKzQzMTksNyBAQAogIktPTkZMSUtUICglcy9sw7ZzY2hlbik6ICVzIGdlbMO2c2NodCBpbiAlcyB1bmQgJXMgaW4gJXMuIFN0YW5kICVzIHZvbiAlcyB3dXJkZSAiCiAiaW0gQXJiZWl0c2JlcmVpY2ggYmVpICVzIGdlbGFzc2VuLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUwMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzICIKQEAgLTMxMjgsMjUgKzQzMzYsMzggQEAKIG1zZ2lkICJyZW5hbWVkIgogbXNnc3RyICJ1bWJlbmFubnQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1ODggbWVyZ2UtcmVjdXJzaXZlLmM6MTczNyBtZXJnZS1yZWN1cnNpdmUuYzoyMzY5Ci0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMTI0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjE0IG1lcmdlLXJlY3Vyc2l2ZS5jOjI1MzAgbWVyZ2UtcmVjdXJzaXZlLmM6MzE3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBsb3NlIGRpcnR5IGZpbGUgYXQgJXMiCiBtc2dzdHIgIlZlcndlaWdlcmUgZ2XDpG5kZXJ0ZSBEYXRlaSBiZWkgJXMgenUgdmVybGllcmVuLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYwMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYyNAorIywgYy1mb3JtYXQKK21zZ2lkICJSZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICVzLCBldmVuIHRob3VnaCBpdCdzIGluIHRoZSB3YXkuIgorbXNnc3RyICIiCisiVmVyd2VpZ2VyZSB1bnZlcnNpb25pZXJ0ZSBEYXRlaSBiZWkgJXMgenUgdmVybGllcmVuLCBhdWNoIHdlbm4gZGllc2UgaW0gV2VnICIKKyJpc3QuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvYWRkKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gIEFkZGVkICVzIGluICVzIgorbXNnc3RyICIiCisiS09ORkxJS1QgKHVtYmVuZW5uZW4vaGluenVmw7xnZW4pOiBCZW5lbm5lIHVtICVzLT4lcyBpbiAlcy4gJXMgaGluenVnZWbDvGd0IGluICIKKyIlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBhIGRpcmVjdG9yeSBpbiAlcyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiJXMgaXN0IGVpbiBWZXJ6ZWljaG5pcyBpbiAlcywgZsO8Z2UgZXMgc3RhdHRkZXNzZW4gYWxzICVzIGhpbnp1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjA3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJXM7IGFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICIiCiAiVmVyd2VpZ2VyZSB1bnZlcnNpb25pZXJ0ZSBEYXRlaSBiZWkgJXMgenUgdmVybGllcmVuOyBmw7xnZSBzdGF0dGRlc3NlbiAlcyAiCiAiaGluenUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIFwiJXNcIi0+XCIlc1wiIGluIGJyYW5jaCBcIiVzXCIgcmVuYW1lIFwiJXMiCkBAIC0zMTU1LDMwICs0Mzc2LDE4IEBACiAiS09ORkxJS1QgKHVtYmVuZW5uZW4vdW1iZW5lbm5lbik6IEJlbmVubmUgdW0gXCIlc1wiLT5cIiVzXCIgaW4gQnJhbmNoIFwiJXNcIiAiCiAidW5kIFwiJXNcIi0+XCIlc1wiIGluIEJyYW5jaCBcIiVzXCIlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYzOAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0MgogbXNnaWQgIiAobGVmdCB1bnJlc29sdmVkKSIKIG1zZ3N0ciAiIChibGVpYnQgdW5hdWZnZWzDtnN0KSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY5OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuIFJlbmFtZSAlcy0+JXMgaW4gJXMiCiBtc2dzdHIgIiIKICJLT05GTElLVCAodW1iZW5lbm5lbi91bWJlbmVubmVuKTogQmVuZW5uZSB1bSAlcy0+JXMgaW4gJXMuIEJlbmVubmUgdW0gJXMtPiVzICIKICJpbiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNAotIywgYy1mb3JtYXQKLW1zZ2lkICJSZW5hbWluZyAlcyB0byAlcyBhbmQgJXMgdG8gJXMgaW5zdGVhZCIKLW1zZ3N0ciAiQmVuZW5uZSBzdGF0dGRlc3NlbiAlcyBuYWNoICVzIHVuZCAlcyBuYWNoICVzIHVtIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQ2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJXMsIGV2ZW4gdGhvdWdoIGl0J3MgaW4gdGhlIHdheS4iCi1tc2dzdHIgIiIKLSJWZXJ3ZWlnZXJlIHVudmVyc2lvbmllcnRlIERhdGVpIGJlaSAlcyB6dSB2ZXJsaWVyZW4sIGF1Y2ggd2VubiBkaWVzZSBpbSBXZWcgIgotImlzdC4iCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5NTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChkaXJlY3RvcnkgcmVuYW1lIHNwbGl0KTogVW5jbGVhciB3aGVyZSB0byBwbGFjZSAlcyBiZWNhdXNlICIKQEAgLTMxOTEsNyArNDQwMCw3IEBACiAid29iZWlcbiIKICJrZWluZXMgZGllc2VyIFppZWxlIGRpZSBNZWhyaGVpdCBkZXIgRGF0ZWllbiBlcmhpZWx0LiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTk4NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKGltcGxpY2l0IGRpciByZW5hbWUpOiBFeGlzdGluZyBmaWxlL2RpciBhdCAlcyBpbiB0aGUgd2F5IG9mICIKQEAgLTMyMDIsNyArNDQxMSw3IEBACiAiV2VnIHZvbiBpbXBsaXppdGVyIFZlcnplaWNobmlzdW1iZW5lbm51bmcsIGRpZSB2ZXJzdWNodCwgZWluZW4gb2RlciBtZWhyZXJlXG4iCiAiUGZhZGUgZGFoaW4genUgc2V0emVuOiAlcy4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5OTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChpbXBsaWNpdCBkaXIgcmVuYW1lKTogQ2Fubm90IG1hcCBtb3JlIHRoYW4gb25lIHBhdGggdG8gJXM7ICIKQEAgLTMyMTMsNyArNDQyMiw3IEBACiAiJXMgbWFwcGVuOyBpbXBsaXppdGUgVmVyemVpY2huaXN1bWJlbmVubnVuZ2VuIHZlcnN1Y2h0ZW4gZGllc2UgUGZhZGUgZGFoaW5cbiIKICJ6dSBzZXR6ZW46ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDg2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSBkaXJlY3RvcnkgJXMtPiVzIGluICVzLiBSZW5hbWUgZGlyZWN0b3J5ICVzLSIKQEAgLTMyMjIsNyArNDQzMSw3IEBACiAiS09ORkxJS1QgKHVtYmVuZW5uZW4vdW1iZW5lbm5lbik6IEJlbmVubmUgVmVyemVpY2huaXMgdW0gJXMtPiVzIGluICVzLlxuIgogIkJlbmVubmUgVmVyemVpY2huaXMgdW0gJXMtPiVzIGluICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMzMxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyNDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXQVJOSU5HOiBBdm9pZGluZyBhcHBseWluZyAlcyAtPiAlcyByZW5hbWUgdG8gJXMsIGJlY2F1c2UgJXMgaXRzZWxmIHdhcyAiCkBAIC0zMjMxLDg5ICs0NDQwLDE0MyBAQAogIldBUk5VTkc6IFZlcm1laWRlIFVtYmVuZW5udW5nICVzIC0+ICVzIHZvbiAlcywgd2VpbCAlcyBzZWxic3QgdW1iZW5hbm50ICIKICJ3dXJkZS4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI3MzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAlcyBhZGRlZCBpbiAlcyIKLW1zZ3N0ciAiIgotIktPTkZMSUtUICh1bWJlbmVubmVuL2hpbnp1ZsO8Z2VuKTogQmVuZW5uZSB1bSAlcy0+JXMgaW4gJXMuICVzIGhpbnp1Z2Vmw7xndCBpbiAiCi0iJXMiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI3NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQWRkaW5nIG1lcmdlZCAlcyIKLW1zZ3N0ciAiRsO8Z2UgenVzYW1tZW5nZWbDvGhydGUgRGF0ZWkgJXMgaGluenUiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI3NzAgbWVyZ2UtcmVjdXJzaXZlLmM6MzEyNwotIywgYy1mb3JtYXQKLW1zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKLW1zZ3N0ciAiRsO8Z2Ugc3RhdHRkZXNzZW4gYWxzICVzIGhpbnp1IgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyOTM0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAia2FubiBPYmpla3QgJXMgbmljaHQgbGVzZW4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI5MzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIGlzIG5vdCBhIGJsb2IiCiBtc2dzdHIgIk9iamVrdCAlcyBpc3Qga2VpbiBCbG9iIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDA2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDg2CiBtc2dpZCAibW9kaWZ5IgogbXNnc3RyICLDpG5kZXJuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDA2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDg2CiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgImdlw6RuZGVydCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAxNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA5OAogbXNnaWQgImNvbnRlbnQiCiBtc2dzdHIgIkluaGFsdCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAyNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzEwMgogbXNnaWQgImFkZC9hZGQiCiBtc2dzdHIgImhpbnp1ZsO8Z2VuL2hpbnp1ZsO8Z2VuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDcxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgJXMgKG1lcmdlZCBzYW1lIGFzIGV4aXN0aW5nKSIKIG1zZ3N0ciAiJXMgYXVzZ2VsYXNzZW4gKEVyZ2VibmlzIGRlcyBNZXJnZXMgZXhpc3RpZXJ0IGJlcmVpdHMpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDkzIGdpdC1zdWJtb2R1bGUuc2g6ODU4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTQ3IGdpdC1zdWJtb2R1bGUuc2g6OTkzCiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICJTdWJtb2R1bCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA5NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBNZXJnZSBjb25mbGljdCBpbiAlcyIKIG1zZ3N0ciAiS09ORkxJS1QgKCVzKTogTWVyZ2UtS29uZmxpa3QgaW4gJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyMTYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGFzICVzIGluc3RlYWQiCittc2dzdHIgIkbDvGdlIHN0YXR0ZGVzc2VuIGFscyAlcyBoaW56dSIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI2MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGF0aCB1cGRhdGVkOiAlcyBhZGRlZCBpbiAlcyBpbnNpZGUgYSBkaXJlY3RvcnkgdGhhdCB3YXMgcmVuYW1lZCBpbiAlczsgIgorIm1vdmluZyBpdCB0byAlcy4iCittc2dzdHIgIiIKKyJQZmFkIGFrdHVhbGlzaWVydDogJXMgaGluenVnZWbDvGd0IGluICVzIGlubmVyaGFsYiBlaW5lcyBWZXJ6ZWljaG5pc3NlcywgZGFzICIKKyJ1bWJlbmFubnQgd3VyZGUgaW4gJXM7IFZlcnNjaGllYmUgZXMgbmFjaCAlcy4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUIChmaWxlIGxvY2F0aW9uKTogJXMgYWRkZWQgaW4gJXMgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgd2FzIHJlbmFtZWQgIgorImluICVzLCBzdWdnZXN0aW5nIGl0IHNob3VsZCBwZXJoYXBzIGJlIG1vdmVkIHRvICVzLiIKK21zZ3N0ciAiIgorIktPTkZMSUtUIChTcGVpY2hlcm9ydCk6ICVzIGhpbnp1Z2Vmw7xndCBpbiAlcyBpbm5lcmhhbGIgZWluZXMgVmVyemVpY2huaXNzZXMsICIKKyJkYXMgdW1iZW5hbm50IHd1cmRlIGluICVzLCBlcyBzb2xsdGUgdmllbGxlaWNodCBuYWNoICVzIHZlcnNjaG9iZW4gd2VyZGVuLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGF0aCB1cGRhdGVkOiAlcyByZW5hbWVkIHRvICVzIGluICVzLCBpbnNpZGUgYSBkaXJlY3RvcnkgdGhhdCB3YXMgcmVuYW1lZCBpbiAiCisiJXM7IG1vdmluZyBpdCB0byAlcy4iCittc2dzdHIgIiIKKyJQZmFkIGFrdHVhbGlzaWVydDogJXMgdW1iZW5hbm50IG5hY2ggJXMgaW4gJXMsIGlubmVyaGFsYiBlaW5lcyAiCisiVmVyemVpY2huaXNzZXMsIGRhcyB1bWJlbmFubnQgd3VyZGUgaW4gJXM7IFZlcnNjaGllYmUgZXMgbmFjaCAlcy4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUIChmaWxlIGxvY2F0aW9uKTogJXMgcmVuYW1lZCB0byAlcyBpbiAlcywgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgIgorIndhcyByZW5hbWVkIGluICVzLCBzdWdnZXN0aW5nIGl0IHNob3VsZCBwZXJoYXBzIGJlIG1vdmVkIHRvICVzLiIKK21zZ3N0ciAiIgorIktPTkZMSUtUIChTcGVpY2hlcm9ydCk6ICVzIHVtYmVuYW5udCBuYWNoICVzIGluICVzLCBpbm5lcmhhbGIgZWluZXMgIgorIlZlcnplaWNobmlzc2VzLCBkYXMgdW1iZW5hbm50IHd1cmRlIGluICVzLCBlcyBzb2xsdGUgdmllbGxlaWNodCBuYWNoICVzICIKKyJ2ZXJzY2hvYmVuIHdlcmRlbi4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMzODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMiCiBtc2dzdHIgIkVudGZlcm5lICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjQyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDA4CiBtc2dpZCAiZmlsZS9kaXJlY3RvcnkiCiBtc2dzdHIgIkRhdGVpL1ZlcnplaWNobmlzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjQ4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDEzCiBtc2dpZCAiZGlyZWN0b3J5L2ZpbGUiCiBtc2dzdHIgIlZlcnplaWNobmlzL0RhdGVpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjU1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgogbXNnc3RyICIiCiAiS09ORkxJS1QgKCVzKTogRXMgZXhpc3RpZXJ0IGJlcmVpdHMgZWluIFZlcnplaWNobmlzICVzIGluICVzLiBGw7xnZSAlcyBhbHMgJXMgIgogImhpbnp1LiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI2NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgJXMiCiBtc2dzdHIgIkbDvGdlICVzIGhpbnp1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMzAwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNPTkZMSUNUIChhZGQvYWRkKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCittc2dzdHIgIktPTkZMSUtUIChoaW56dWbDvGdlbi9oaW56dWbDvGdlbik6IE1lcmdlLUtvbmZsaWt0IGluICVzIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDgyCittc2dpZCAiQWxyZWFkeSB1cCB0byBkYXRlISIKK21zZ3N0ciAiQmVyZWl0cyBha3R1ZWxsISIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQ5MQorIywgYy1mb3JtYXQKK21zZ2lkICJtZXJnaW5nIG9mIHRyZWVzICVzIGFuZCAlcyBmYWlsZWQiCittc2dzdHIgIlp1c2FtbWVuZsO8aHJlbiBkZXIgXCJUcmVlXCItT2JqZWt0ZSAlcyB1bmQgJXMgZmVobGdlc2NobGFnZW4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM1OTUKK21zZ2lkICJNZXJnaW5nOiIKK21zZ3N0ciAiTWVyZ2U6IgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNjA4CisjLCBjLWZvcm1hdAorbXNnaWQgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcjoiCittc2dpZF9wbHVyYWwgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcnM6IgorbXNnc3RyWzBdICIldSBnZW1laW5zYW1lbiBWb3Jnw6RuZ2VyLUNvbW1pdCBnZWZ1bmRlbiIKK21zZ3N0clsxXSAiJXUgZ2VtZWluc2FtZSBWb3Jnw6RuZ2VyLUNvbW1pdHMgZ2VmdW5kZW4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM2NTgKK21zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCittc2dzdHIgIk1lcmdlIGhhdCBrZWluZW4gQ29tbWl0IHp1csO8Y2tnZWdlYmVuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKQEAgLTMzMjMsMTY3ICs0NTg2LDE4OCBAQAogIsO8YmVyc2NocmllYmVuIHdlcmRlbjpcbiIKICIgICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMzExCi1tc2dpZCAiQWxyZWFkeSB1cCB0byBkYXRlISIKLW1zZ3N0ciAiQmVyZWl0cyBha3R1ZWxsISIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzMyMAotIywgYy1mb3JtYXQKLW1zZ2lkICJtZXJnaW5nIG9mIHRyZWVzICVzIGFuZCAlcyBmYWlsZWQiCi1tc2dzdHIgIlp1c2FtbWVuZsO8aHJlbiBkZXIgXCJUcmVlXCItT2JqZWt0ZSAlcyB1bmQgJXMgZmVobGdlc2NobGFnZW4iCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MTkKLW1zZ2lkICJNZXJnaW5nOiIKLW1zZ3N0ciAiTWVyZ2U6IgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNDMyCi0jLCBjLWZvcm1hdAotbXNnaWQgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcjoiCi1tc2dpZF9wbHVyYWwgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcnM6IgotbXNnc3RyWzBdICIldSBnZW1laW5zYW1lbiBWb3Jnw6RuZ2VyLUNvbW1pdCBnZWZ1bmRlbiIKLW1zZ3N0clsxXSAiJXUgZ2VtZWluc2FtZSBWb3Jnw6RuZ2VyLUNvbW1pdHMgZ2VmdW5kZW4iCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0NzEKLW1zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCi1tc2dzdHIgIk1lcmdlIGhhdCBrZWluZW4gQ29tbWl0IHp1csO8Y2tnZWdlYmVuIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNTM3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIE9iamVrdCAnJXMnIG5pY2h0IHBhcnNlbi4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM1NTMgYnVpbHRpbi9tZXJnZS5jOjY5MSBidWlsdGluL21lcmdlLmM6ODQ5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozODMyIGJ1aWx0aW4vbWVyZ2UuYzo2OTQgYnVpbHRpbi9tZXJnZS5jOjg3NAogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCiBtc2dzdHIgIktvbm50ZSBJbmRleCBuaWNodCBzY2hyZWliZW4uIgogCi0jOiBtaWR4LmM6NjUKKyM6IG1pZHguYzo2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IGZpbGUgJXMgaXMgdG9vIHNtYWxsIgogbXNnc3RyICJtdWx0aS1wYWNrLWluZGV4LURhdGVpICVzIGlzdCB6dSBrbGVpbi4iCiAKLSM6IG1pZHguYzo4MQorIzogbWlkeC5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm11bHRpLXBhY2staW5kZXggc2lnbmF0dXJlIDB4JTA4eCBkb2VzIG5vdCBtYXRjaCBzaWduYXR1cmUgMHglMDh4IgotbXNnc3RyICJtdWx0aS1wYWNrLWluZGV4LVNpZ25hdHVyIDB4JTA4eCBzdGltbXQgbmljaHQgbWl0IFNpZ25hdHVyIDB4JTA4eCDDvGJlcmVpbi4iCittc2dzdHIgIiIKKyJtdWx0aS1wYWNrLWluZGV4LVNpZ25hdHVyIDB4JTA4eCBzdGltbXQgbmljaHQgbWl0IFNpZ25hdHVyIDB4JTA4eCDDvGJlcmVpbi4iCiAKLSM6IG1pZHguYzo4NgorIzogbWlkeC5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm11bHRpLXBhY2staW5kZXggdmVyc2lvbiAlZCBub3QgcmVjb2duaXplZCIKIG1zZ3N0ciAibXVsdGktcGFjay1pbmRleC1WZXJzaW9uICVkIG5pY2h0IGVya2FubnQuIgogCi0jOiBtaWR4LmM6OTEKKyM6IG1pZHguYzo5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJoYXNoIHZlcnNpb24gJXUgZG9lcyBub3QgbWF0Y2giCiBtc2dzdHIgIkhhc2gtVmVyc2lvbiAldSBzdGltbXQgbmljaHQgw7xiZXJlaW4uIgogCi0jOiBtaWR4LmM6MTA1CisjOiBtaWR4LmM6MTA4CiBtc2dpZCAiaW52YWxpZCBjaHVuayBvZmZzZXQgKHRvbyBsYXJnZSkiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIENodW5rLU9mZnNldCAoenUgZ3Jvw58pIgogCi0jOiBtaWR4LmM6MTI5CisjOiBtaWR4LmM6MTMyCiBtc2dpZCAidGVybWluYXRpbmcgbXVsdGktcGFjay1pbmRleCBjaHVuayBpZCBhcHBlYXJzIGVhcmxpZXIgdGhhbiBleHBlY3RlZCIKIG1zZ3N0ciAiQWJzY2hsaWXDn2VuZGUgbXVsdGktcGFjay1pbmRleCBDaHVuay1JZCBlcnNjaGVpbnQgZWhlciBhbHMgZXJ3YXJ0ZXQuIgogCi0jOiBtaWR4LmM6MTQyCisjOiBtaWR4LmM6MTQ1CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCBtaXNzaW5nIHJlcXVpcmVkIHBhY2stbmFtZSBjaHVuayIKIG1zZ3N0ciAibXVsdGktcGFjay1pbmRleCBmZWhsdCBlcmZvcmRlcmxpY2hlciBwYWNrLW5hbWUgQ2h1bmsuIgogCi0jOiBtaWR4LmM6MTQ0CisjOiBtaWR4LmM6MTQ3CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCBtaXNzaW5nIHJlcXVpcmVkIE9JRCBmYW5vdXQgY2h1bmsiCiBtc2dzdHIgIm11bHRpLXBhY2staW5kZXggZmVobHQgZXJmb3JkZXJsaWNoZXIgT0lEIGZhbm91dCBDaHVuay4iCiAKLSM6IG1pZHguYzoxNDYKKyM6IG1pZHguYzoxNDkKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgT0lEIGxvb2t1cCBjaHVuayIKIG1zZ3N0ciAibXVsdGktcGFjay1pbmRleCBmZWhsdCBlcmZvcmRlcmxpY2hlciBPSUQgbG9va3VwIENodW5rLiIKIAotIzogbWlkeC5jOjE0OAorIzogbWlkeC5jOjE1MQogbXNnaWQgIm11bHRpLXBhY2staW5kZXggbWlzc2luZyByZXF1aXJlZCBvYmplY3Qgb2Zmc2V0cyBjaHVuayIKIG1zZ3N0ciAibXVsdGktcGFjay1pbmRleCBmZWhsdCBlcmZvcmRlcmxpY2hlciBvYmplY3Qgb2Zmc2V0IENodW5rLiIKIAotIzogbWlkeC5jOjE2MgorIzogbWlkeC5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHBhY2sgbmFtZXMgb3V0IG9mIG9yZGVyOiAnJXMnIGJlZm9yZSAnJXMnIgogbXNnc3RyICJGYWxzY2hlIFJlaWhlbmZvbGdlIGJlaSBtdWx0aS1wYWNrLWluZGV4IFBhY2stTmFtZW46ICclcycgdm9yICclcyciCiAKLSM6IG1pZHguYzoyMDUKKyM6IG1pZHguYzoyMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2staW50LWlkOiAldSAoJXUgdG90YWwgcGFja3MpIgogbXNnc3RyICJVbmfDvGx0aWdlIHBhY2staW50LWlkOiAldSAoJXUgUGFrZXRlIGluc2dlc2FtdCkiCiAKLSM6IG1pZHguYzoyNDYKKyM6IG1pZHguYzoyNjAKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHN0b3JlcyBhIDY0LWJpdCBvZmZzZXQsIGJ1dCBvZmZfdCBpcyB0b28gc21hbGwiCi1tc2dzdHIgIm11bHRpLXBhY2staW5kZXggc3BlaWNoZXJ0IGVpbmVuIDY0LUJpdCBPZmZzZXQsIGFiZXIgb2ZmX3QgaXN0IHp1IGtsZWluLiIKK21zZ3N0ciAiIgorIm11bHRpLXBhY2staW5kZXggc3BlaWNoZXJ0IGVpbmVuIDY0LUJpdCBPZmZzZXQsIGFiZXIgb2ZmX3QgaXN0IHp1IGtsZWluLiIKIAotIzogbWlkeC5jOjI3MQorIzogbWlkeC5jOjI4OAogbXNnaWQgImVycm9yIHByZXBhcmluZyBwYWNrZmlsZSBmcm9tIG11bHRpLXBhY2staW5kZXgiCiBtc2dzdHIgIkZlaGxlciBiZWkgVm9yYmVyZWl0dW5nIGRlciBQYWNrZGF0ZWkgYXVzIG11bHRpLXBhY2staW5kZXguIgogCi0jOiBtaWR4LmM6NDA3CisjOiBtaWR4LmM6NDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBhZGQgcGFja2ZpbGUgJyVzJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gSGluenVmw7xnZW4gdm9uIFBhY2tkYXRlaSAnJXMnLiIKIAotIzogbWlkeC5jOjQxMworIzogbWlkeC5jOjQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBwYWNrLWluZGV4ICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIMOWZmZuZW4gdm9uIHBhY2staW5kZXggJyVzJyIKIAotIzogbWlkeC5jOjUwNworIzogbWlkeC5jOjUzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9jYXRlIG9iamVjdCAlZCBpbiBwYWNrZmlsZSIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gTG9rYWxpc2llcmVuIHZvbiBPYmpla3QgJWQgaW4gUGFja2RhdGVpLiIKIAotIzogbWlkeC5jOjk0MworIzogbWlkeC5jOjg0MgorbXNnaWQgIkFkZGluZyBwYWNrZmlsZXMgdG8gbXVsdGktcGFjay1pbmRleCIKK21zZ3N0ciAiUGFja2RhdGVpZW4genVtIG11bHRpLXBhY2staW5kZXggaGluenVmw7xnZW4iCisKKyM6IG1pZHguYzo4NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlkIG5vdCBzZWUgcGFjay1maWxlICVzIHRvIGRyb3AiCittc2dzdHIgIlBhY2stRGF0ZWkgJXMgenVtIFdlZ2xhc3NlbiBuaWNodCBnZWZ1bmRlbiIKKworIzogbWlkeC5jOjk3MworbXNnaWQgIldyaXRpbmcgY2h1bmtzIHRvIG11bHRpLXBhY2staW5kZXgiCittc2dzdHIgIkNodW5rcyB6dW0gbXVsdGktcGFjay1pbmRleCBzY2hyZWliZW4iCisKKyM6IG1pZHguYzoxMDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjbGVhciBtdWx0aS1wYWNrLWluZGV4IGF0ICVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSBMw7ZzY2hlbiBkZXMgbXVsdGktcGFjay1pbmRleCBiZWkgJXMiCiAKLSM6IG1pZHguYzo5ODEKKyM6IG1pZHguYzoxMTA4Cittc2dpZCAiTG9va2luZyBmb3IgcmVmZXJlbmNlZCBwYWNrZmlsZXMiCittc2dzdHIgIlN1Y2hlIG5hY2ggcmVmZXJlbnppZXJ0ZW4gUGFjay1EYXRlaWVuIgorCisjOiBtaWR4LmM6MTEyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAib2lkIGZhbm91dCBvdXQgb2Ygb3JkZXI6IGZhbm91dFslZF0gPSAlPFBSSXgzMj4gPiAlPFBSSXgzMj4gPSBmYW5vdXRbJWRdIgotbXNnc3RyICJVbmfDvGx0aWdlIG9pZCBmYW5vdXQgUmVpaGVuZm9sZ2U6IGZhbm91dFslZF0gPSAlPFBSSXgzMj4gPiAlPFBSSXgzMj4gPSBmYW5vdXRbJWRdIgorbXNnc3RyICIiCisiVW5nw7xsdGlnZSBvaWQgZmFub3V0IFJlaWhlbmZvbGdlOiBmYW5vdXRbJWRdID0gJTxQUkl4MzI+ID4gJTxQUkl4MzI+ID0gIgorImZhbm91dFslZF0iCiAKLSM6IG1pZHguYzo5OTIKKyM6IG1pZHguYzoxMTI4Cittc2dpZCAiVmVyaWZ5aW5nIE9JRCBvcmRlciBpbiBtdWx0aS1wYWNrLWluZGV4IgorbXNnc3RyICJWZXJpZml6aWVyZSBPSUQtUmVpaGVuZm9sZ2UgaW0gbXVsdGktcGFjay1pbmRleCIKKworIzogbWlkeC5jOjExMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAib2lkIGxvb2t1cCBvdXQgb2Ygb3JkZXI6IG9pZFslZF0gPSAlcyA+PSAlcyA9IG9pZFslZF0iCiBtc2dzdHIgIlVuZ8O8bHRpZ2Ugb2lkIGxvb2t1cCBSZWloZW5mb2xnZTogb2lkWyVkXSA9ICVzID49ICVzID0gb2lkWyVkXSIKIAotIzogbWlkeC5jOjk5NgorIzogbWlkeC5jOjExNTcKK21zZ2lkICJTb3J0aW5nIG9iamVjdHMgYnkgcGFja2ZpbGUiCittc2dzdHIgIlNvcnRpZXJlIE9iamVrdGUgbmFjaCBQYWNrLURhdGVpIgorCisjOiBtaWR4LmM6MTE2NAogbXNnaWQgIlZlcmlmeWluZyBvYmplY3Qgb2Zmc2V0cyIKIG1zZ3N0ciAiw5xiZXJwcsO8ZmUgT2JqZWt0LU9mZnNldHMiCiAKLSM6IG1pZHguYzoxMDA0CisjOiBtaWR4LmM6MTE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBwYWNrIGVudHJ5IGZvciBvaWRbJWRdID0gJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIExhZGVuIGRlcyBQYWNrLUVpbnRyYWdzIGbDvHIgb2lkWyVkXSA9ICVzIgogCi0jOiBtaWR4LmM6MTAxMAorIzogbWlkeC5jOjExODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgcGFjay1pbmRleCBmb3IgcGFja2ZpbGUgJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIExhZGVuIGRlcyBQYWNrLUluZGV4IGbDvHIgUGFja2RhdGVpICVzIgogCi0jOiBtaWR4LmM6MTAxOQorIzogbWlkeC5jOjExOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5jb3JyZWN0IG9iamVjdCBvZmZzZXQgZm9yIG9pZFslZF0gPSAlczogJTxQUkl4NjQ+ICE9ICU8UFJJeDY0PiIKIG1zZ3N0ciAiRmFsc2NoZXIgT2JqZWt0LU9mZnNldCBmw7xyIG9pZFslZF0gPSAlczogJTxQUkl4NjQ+ICE9ICU8UFJJeDY0PiIKIAotIzogbmFtZS1oYXNoLmM6NTMyCisjOiBtaWR4LmM6MTIyMAorbXNnaWQgIkNvdW50aW5nIHJlZmVyZW5jZWQgb2JqZWN0cyIKK21zZ3N0ciAiUmVmZXJlbnppZXJ0ZSBPYmpla3RlIHrDpGhsZW4iCisKKyM6IG1pZHguYzoxMjMwCittc2dpZCAiRmluZGluZyBhbmQgZGVsZXRpbmcgdW5yZWZlcmVuY2VkIHBhY2tmaWxlcyIKK21zZ3N0ciAiU3VjaGVuIHVuZCBMw7ZzY2hlbiB2b24gdW5yZWZlcmVuemllcnRlbiBQYWNrLURhdGVpZW4iCisKKyM6IG1pZHguYzoxMzg4Cittc2dpZCAiY291bGQgbm90IHN0YXJ0IHBhY2stb2JqZWN0cyIKK21zZ3N0ciAiS29ubnRlICdwYWNrLW9iamVjdHMnIG5pY2h0IGF1c2bDvGhyZW4iCisKKyM6IG1pZHguYzoxNDA3Cittc2dpZCAiY291bGQgbm90IGZpbmlzaCBwYWNrLW9iamVjdHMiCittc2dzdHIgIktvbm50ZSAncGFjay1vYmplY3RzJyBuaWNodCBiZWVuZGVuIgorCisjOiBuYW1lLWhhc2guYzo1MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsYXp5X2RpciB0aHJlYWQ6ICVzIgogbXNnc3RyICJLYW5uIGxhenlfZGlyIFRocmVhZCBuaWNodCBlcnpldWdlbjogJXMiCiAKLSM6IG5hbWUtaGFzaC5jOjU1NAorIzogbmFtZS1oYXNoLmM6NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbGF6eV9uYW1lIHRocmVhZDogJXMiCiBtc2dzdHIgIkthbm4gbGF6eV9uYW1lIFRocmVhZCBuaWNodCBlcnpldWdlbjogJXMiCiAKLSM6IG5hbWUtaGFzaC5jOjU2MAorIzogbmFtZS1oYXNoLmM6NTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBqb2luIGxhenlfbmFtZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJLYW5uIGxhenlfbmFtZSBUaHJlYWQgbmljaHQgYmVpdHJldGVuOiAlcyIKIAotIzogbm90ZXMtbWVyZ2UuYzoyNzUKKyM6IG5vdGVzLW1lcmdlLmM6Mjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgcHJldmlvdXMgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuXG4iCkBAIC0zNDk4LDIyICs0NzgyLDIyIEBACiAiTWVyZ2VcbiIKICJ2b24gTm90aXplbiBiZWdpbm5lbi4iCiAKLSM6IG5vdGVzLW1lcmdlLmM6MjgyCisjOiBub3Rlcy1tZXJnZS5jOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuIgogbXNnc3RyICJTaWUgaGFiZW4gSWhyZW4gTWVyZ2Ugdm9uIE5vdGl6ZW4gbmljaHQgYWJnZXNjaGxvc3NlbiAoJXMgZXhpc3RpZXJ0KS4iCiAKLSM6IG5vdGVzLXV0aWxzLmM6NDUKKyM6IG5vdGVzLXV0aWxzLmM6NDYKIG1zZ2lkICJDYW5ub3QgY29tbWl0IHVuaW5pdGlhbGl6ZWQvdW5yZWZlcmVuY2VkIG5vdGVzIHRyZWUiCiBtc2dzdHIgIiIKICJLYW5uIHVuaW5pdGlhbGlzaWVydGVzL3VucmVmZXJlbnppZXJ0ZXMgTm90aXotVmVyemVpY2huaXMgbmljaHQgY29tbWl0dGVuLiIKIAotIzogbm90ZXMtdXRpbHMuYzoxMDQKKyM6IG5vdGVzLXV0aWxzLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBub3Rlcy5yZXdyaXRlTW9kZSB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgbm90ZXMucmV3cml0ZU1vZGUgV2VydDogJyVzJyIKIAotIzogbm90ZXMtdXRpbHMuYzoxMTQKKyM6IG5vdGVzLXV0aWxzLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIHJld3JpdGUgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgogbXNnc3RyICIiCkBAIC0zNTIzLDEyICs0ODA3LDEyIEBACiAjLiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZSBzZWNvbmQgJXMgaXMKICMuIGl0cyB2YWx1ZS4KICMuCi0jOiBub3Rlcy11dGlscy5jOjE0NAorIzogbm90ZXMtdXRpbHMuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkICVzIHZhbHVlOiAnJXMnIgogbXNnc3RyICJVbmfDvGx0aWdlciAlcyBXZXJ0OiAnJXMnIgogCi0jOiBvYmplY3QuYzo1NAorIzogb2JqZWN0LmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvYmplY3QgdHlwZSBcIiVzXCIiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIE9iamVrdHR5cCBcIiVzXCIiCkBAIC0zNTUwLDI4ICs0ODM0LDg1IEBACiAKICM6IG9iamVjdC5jOjI2NiBvYmplY3QuYzoyNzcKICMsIGMtZm9ybWF0Ci1tc2dpZCAic2hhMSBtaXNtYXRjaCAlcyIKLW1zZ3N0ciAiU0hBLTEgcGFzc3QgbmljaHQgenUgJXMiCittc2dpZCAiaGFzaCBtaXNtYXRjaCAlcyIKK21zZ3N0ciAiSGFzaCBzdGltbXQgbmljaHQgbWl0ICVzIMO8YmVyZWluLiIKIAotIzogcGFja2ZpbGUuYzo2MDcKKyM6IHBhY2tmaWxlLmM6NjQxCiBtc2dpZCAib2Zmc2V0IGJlZm9yZSBlbmQgb2YgcGFja2ZpbGUgKGJyb2tlbiAuaWR4PykiCiBtc2dzdHIgIk9mZnNldCB2b3IgRW5kZSBkZXIgUGFja2RhdGVpIChmZWhsZXJoYWZ0ZSBJbmRleGRhdGVpPykiCiAKLSM6IHBhY2tmaWxlLmM6MTg2NAorIzogcGFja2ZpbGUuYzoxODg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZWZvcmUgc3RhcnQgb2YgcGFjayBpbmRleCBmb3IgJXMgKGNvcnJ1cHQgaW5kZXg/KSIKIG1zZ3N0ciAiT2Zmc2V0IHZvciBCZWdpbm4gZGVzIFBhY2stSW5kZXggZsO8ciAlcyAoYmVzY2jDpGRpZ3RlciBJbmRleD8pIgogCi0jOiBwYWNrZmlsZS5jOjE4NjgKKyM6IHBhY2tmaWxlLmM6MTg5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmV5b25kIGVuZCBvZiBwYWNrIGluZGV4IGZvciAlcyAodHJ1bmNhdGVkIGluZGV4PykiCiBtc2dzdHIgIk9mZnNldCBoaW50ZXIgRW5kZSBkZXMgUGFjay1JbmRleCBmw7xyICVzIChhYmdlc2Nobml0dGVuZXIgSW5kZXg/KSIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjY3MgorIzogcGFyc2Utb3B0aW9ucy5jOjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGEgdmFsdWUiCittc2dzdHIgIiVzIGVyZm9yZGVydCBlaW5lbiBXZXJ0LiIKKworIzogcGFyc2Utb3B0aW9ucy5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGluY29tcGF0aWJsZSB3aXRoICVzIgorbXNnc3RyICIlcyBpc3QgaW5rb21wYXRpYmVsIG1pdCAlcy4iCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyA6IGluY29tcGF0aWJsZSB3aXRoIHNvbWV0aGluZyBlbHNlIgorbXNnc3RyICIlczogaW5rb21wYXRpYmVsIG1pdCBldHdhcyBhbmRlcmVtIgorCisjOiBwYXJzZS1vcHRpb25zLmM6OTIgcGFyc2Utb3B0aW9ucy5jOjk2IHBhcnNlLW9wdGlvbnMuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGFrZXMgbm8gdmFsdWUiCittc2dzdHIgIiVzIGVyd2FydGV0IGtlaW5lbiBXZXJ0IgorCisjOiBwYXJzZS1vcHRpb25zLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXNuJ3QgYXZhaWxhYmxlIgorbXNnc3RyICIlcyBpc3QgbmljaHQgdmVyZsO8Z2Jhci4iCisKKyM6IHBhcnNlLW9wdGlvbnMuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhwZWN0cyBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIHZhbHVlIHdpdGggYW4gb3B0aW9uYWwgay9tL2cgc3VmZml4IgorbXNnc3RyICIiCisiJXMgZXJ3YXJ0ZXQgZWluZW4gbmljaHQtbmVnYXRpdmVuIEludGVnZXItV2VydCBtaXQgZWluZW0gb3B0aW9uYWxlbiBrL20vZyAiCisiU3VmZml4IgorCisjOiBwYXJzZS1vcHRpb25zLmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgImFtYmlndW91cyBvcHRpb246ICVzIChjb3VsZCBiZSAtLSVzJXMgb3IgLS0lcyVzKSIKK21zZ3N0ciAiTWVocmRldXRpZ2UgT3B0aW9uOiAlcyAoa2FubiAtLSVzJXMgb2RlciAtLSVzJXMgc2VpbikiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo0MjMgcGFyc2Utb3B0aW9ucy5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJkaWQgeW91IG1lYW4gYC0tJXNgICh3aXRoIHR3byBkYXNoZXMgPykiCittc2dzdHIgIk1laW50ZW4gU2llIGAtLSVzYCAobWl0IHp3ZWkgU3RyaWNoZW4/KSIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiBgJXMnIgorbXNnc3RyICJVbmJla2FubnRlIE9wdGlvbjogYCVzJyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHN3aXRjaCBgJWMnIgorbXNnc3RyICJVbmJla2FubnRlciBTY2hhbHRlciBgJWMnIgorCisjOiBwYXJzZS1vcHRpb25zLmM6ODY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbm9uLWFzY2lpIG9wdGlvbiBpbiBzdHJpbmc6IGAlcyciCittc2dzdHIgIlVuYmVrYW5udGUgbmljaHQtQXNjaWkgT3B0aW9uIGluIFN0cmluZzogYCVzJyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg4OAogbXNnaWQgIi4uLiIKIG1zZ3N0ciAiLi4uIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NjkxCisjOiBwYXJzZS1vcHRpb25zLmM6OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyIKIG1zZ3N0ciAiVmVyd2VuZHVuZzogJXMiCkBAIC0zNTc5LDU5ICs0OTIwLDc0IEBACiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uIGhlcmUgc2hvdWxkIGFsaWduIHdpdGggdGhlCiAjLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24uCiAjLgotIzogcGFyc2Utb3B0aW9ucy5jOjY5NworIzogcGFyc2Utb3B0aW9ucy5jOjkxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICBvcjogJXMiCiBtc2dzdHIgIiAgICAgIG9kZXI6ICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NzAwCisjOiBwYXJzZS1vcHRpb25zLmM6OTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlcyIKIG1zZ3N0ciAiICAgICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NzM5CisjOiBwYXJzZS1vcHRpb25zLmM6OTU1CiBtc2dpZCAiLU5VTSIKIG1zZ3N0ciAiLU5VTSIKIAotIzogcGFyc2Utb3B0aW9ucy1jYi5jOjM3CisjOiBwYXJzZS1vcHRpb25zLmM6OTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsaWFzIG9mIC0tJXMiCittc2dzdHIgIkFsaWFzIGbDvHIgLS0lcyIKKworIzogcGFyc2Utb3B0aW9ucy1jYi5jOjIwIHBhcnNlLW9wdGlvbnMtY2IuYzoyNAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgorbXNnc3RyICJPcHRpb24gYCVzJyBlcndhcnRldCBlaW5lbiBudW1lcmlzY2hlbiBXZXJ0LiIKKworIzogcGFyc2Utb3B0aW9ucy1jYi5jOjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBleHBpcmF0aW9uIGRhdGUgJyVzJyIKIG1zZ3N0ciAiRmVobGVyaGFmdGVzIEFibGF1ZmRhdHVtICclcyciCiAKLSM6IHBhcnNlLW9wdGlvbnMtY2IuYzoxMDkKKyM6IHBhcnNlLW9wdGlvbnMtY2IuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBleHBlY3RzIFwiYWx3YXlzXCIsIFwiYXV0b1wiLCBvciBcIm5ldmVyXCIiCittc2dzdHIgIk9wdGlvbiBgJXMnIGVyd2FydGV0IFwiYWx3YXlzXCIsIFwiYXV0b1wiIG9kZXIgXCJuZXZlclwiLiIKKworIzogcGFyc2Utb3B0aW9ucy1jYi5jOjEzMCBwYXJzZS1vcHRpb25zLWNiLmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAnJXMnIgogbXNnc3RyICJmZWhsZXJoYWZ0ZXIgT2JqZWt0LU5hbWUgJyVzJyIKIAotIzogcGF0aC5jOjg5NAorIzogcGF0aC5jOjkxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbWFrZSAlcyB3cml0YWJsZSBieSBncm91cCIKIG1zZ3N0ciAiS29ubnRlIEdydXBwZW5zY2hyZWlicmVjaHQgZsO8ciAlcyBuaWNodCBzZXR6ZW4uIgogCi0jOiBwYXRoc3BlYy5jOjEyOQorIzogcGF0aHNwZWMuYzoxMzAKIG1zZ2lkICJFc2NhcGUgY2hhcmFjdGVyICdcXCcgbm90IGFsbG93ZWQgYXMgbGFzdCBjaGFyYWN0ZXIgaW4gYXR0ciB2YWx1ZSIKIG1zZ3N0ciAiRXNjYXBlLVplaWNoZW4gJ1xcJyBhbHMgbGV0enRlcyBaZWljaGVuIGluIEF0dHJpYnV0d2VydCBuaWNodCBlcmxhdWJ0IgogCi0jOiBwYXRoc3BlYy5jOjE0NworIzogcGF0aHNwZWMuYzoxNDgKIG1zZ2lkICJPbmx5IG9uZSAnYXR0cjonIHNwZWNpZmljYXRpb24gaXMgYWxsb3dlZC4iCiBtc2dzdHIgIkVzIGlzdCBudXIgZWluZSBBbmdhYmUgdm9uICdhdHRyOicgZXJsYXVidC4iCiAKLSM6IHBhdGhzcGVjLmM6MTUwCisjOiBwYXRoc3BlYy5jOjE1MQogbXNnaWQgImF0dHIgc3BlYyBtdXN0IG5vdCBiZSBlbXB0eSIKIG1zZ3N0ciAiQW5nYWJlIHZvbiAnYXR0cjonIGRhcmYgbmljaHQgbGVlciBzZWluIgogCi0jOiBwYXRoc3BlYy5jOjE5MworIzogcGF0aHNwZWMuYzoxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBhdHRyaWJ1dGUgbmFtZSAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgQXR0cmlidXRuYW1lICVzIgogCi0jOiBwYXRoc3BlYy5jOjI1OAorIzogcGF0aHNwZWMuYzoyNTkKIG1zZ2lkICJnbG9iYWwgJ2dsb2InIGFuZCAnbm9nbG9iJyBwYXRoc3BlYyBzZXR0aW5ncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAiR2xvYmFsZSBFaW5zdGVsbHVuZ2VuIHp1ciBQZmFkc3BlemlmaWthdGlvbiAnZ2xvYicgdW5kICdub2dsb2InIHNpbmQgIgogImlua29tcGF0aWJlbC4iCiAKLSM6IHBhdGhzcGVjLmM6MjY1CisjOiBwYXRoc3BlYy5jOjI2NgogbXNnaWQgIiIKICJnbG9iYWwgJ2xpdGVyYWwnIHBhdGhzcGVjIHNldHRpbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIGdsb2JhbCAiCiAicGF0aHNwZWMgc2V0dGluZ3MiCkBAIC0zNjM5LDEzMCArNDk5NSwyMDQgQEAKICJHbG9iYWxlIEVpbnN0ZWxsdW5nIHp1ciBQZmFkc3BlemlmaWthdGlvbiAnbGl0ZXJhbCcgaXN0IGlua29tcGF0aWJlbFxuIgogIm1pdCBhbGxlbiBhbmRlcmVuIE9wdGlvbmVuLiIKIAotIzogcGF0aHNwZWMuYzozMDUKKyM6IHBhdGhzcGVjLmM6MzA2CiBtc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXIgZm9yIHBhdGhzcGVjIG1hZ2ljICdwcmVmaXgnIgogbXNnc3RyICJ1bmfDvGx0aWdlciBQYXJhbWV0ZXIgZsO8ciBQZmFkc3BlemlmaWthdGlvbnNhbmdhYmUgJ3ByZWZpeCciCiAKLSM6IHBhdGhzcGVjLmM6MzI2CisjOiBwYXRoc3BlYy5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHBhdGhzcGVjIG1hZ2ljICclLipzJyBpbiAnJXMnIgogbXNnc3RyICJ1bmfDvGx0aWdlIFBmYWRzcGV6aWZpa2F0aW9uc2FuZ2FiZSAnJS4qcycgaW4gJyVzJyIKIAotIzogcGF0aHNwZWMuYzozMzEKKyM6IHBhdGhzcGVjLmM6MzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1pc3NpbmcgJyknIGF0IHRoZSBlbmQgb2YgcGF0aHNwZWMgbWFnaWMgaW4gJyVzJyIKIG1zZ3N0ciAiRmVobGVuZGVzICcpJyBhbSBFbmRlIGRlciBQZmFkc3BlemlmaWthdGlvbnNhbmdhYmUgaW4gJyVzJyIKIAotIzogcGF0aHNwZWMuYzozNjkKKyM6IHBhdGhzcGVjLmM6MzcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuaW1wbGVtZW50ZWQgcGF0aHNwZWMgbWFnaWMgJyVjJyBpbiAnJXMnIgogbXNnc3RyICJuaWNodCB1bnRlcnN0w7x0enRlIFBmYWRzcGV6aWZpa2F0aW9uc2FuZ2FiZSAnJWMnIGluICclcyciCiAKLSM6IHBhdGhzcGVjLmM6NDI4CisjOiBwYXRoc3BlYy5jOjQyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJ2xpdGVyYWwnIGFuZCAnZ2xvYicgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiJXM6ICdsaXRlcmFsJyB1bmQgJ2dsb2InIHNpbmQgaW5rb21wYXRpYmVsIgogCi0jOiBwYXRoc3BlYy5jOjQ0MQorIzogcGF0aHNwZWMuYzo0NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IgogbXNnc3RyICIlczogJyVzJyBsaWVndCBhdcOfZXJoYWxiIGRlcyBSZXBvc2l0b3JpZXMiCiAKLSM6IHBhdGhzcGVjLmM6NTE1CisjOiBwYXRoc3BlYy5jOjUxNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIChtbmVtb25pYzogJyVjJykiCiBtc2dzdHIgIiclcycgKEvDvHJ6ZWw6ICclYycpIgogCi0jOiBwYXRoc3BlYy5jOjUyNQorIzogcGF0aHNwZWMuYzo1MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKIG1zZ3N0ciAiIgogIiVzOiBQZmFkc3BlemlmaWthdGlvbnNhbmdhYmUgd2lyZCB2b24gZGllc2VtIEJlZmVobCBuaWNodCB1bnRlcnN0w7x0enQ6ICVzIgogCi0jOiBwYXRoc3BlYy5jOjU5MgorIzogcGF0aHNwZWMuYzo1OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICJQZmFkc3BlemlmaWthdGlvbiAnJXMnIGlzdCBoaW50ZXIgZWluZXIgc3ltYm9saXNjaGVuIFZlcmtuw7xwZnVuZyIKIAotIzogcGt0LWxpbmUuYzoxMDQKKyM6IHBhdGhzcGVjLmM6NjM4CisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgaXMgYmFkbHkgcXVvdGVkOiAlcyIKK21zZ3N0ciAiWmVpbGUgZW50aMOkbHQgZmFsc2NoZSBBbmbDvGhydW5nc3plaWNoZW46ICVzIgorCisjOiBwa3QtbGluZS5jOjkyCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZsdXNoIHBhY2tldCIKK21zZ3N0ciAiS29ubnRlIEZsdXNoLVBha2V0IG5pY2h0IHNjaHJlaWJlbi4iCisKKyM6IHBrdC1saW5lLmM6OTkKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZGVsaW0gcGFja2V0IgorbXNnc3RyICJLb25udGUgRGVsaW0tUGFrZXQgbmljaHQgc2NocmVpYmVuLiIKKworIzogcGt0LWxpbmUuYzoxMDYKIG1zZ2lkICJmbHVzaCBwYWNrZXQgd3JpdGUgZmFpbGVkIgogbXNnc3RyICJGbHVzaCBiZWltIFNjaHJlaWJlbiBkZXMgUGFrZXRzIGZlaGxnZXNjaGxhZ2VuLiIKIAotIzogcGt0LWxpbmUuYzoxNDIgcGt0LWxpbmUuYzoyMjgKKyM6IHBrdC1saW5lLmM6MTQ2IHBrdC1saW5lLmM6MjMyCiBtc2dpZCAicHJvdG9jb2wgZXJyb3I6IGltcG9zc2libHkgbG9uZyBsaW5lIgogbXNnc3RyICJQcm90b2tvbGxmZWhsZXI6IHVubcO2Z2xpY2ggbGFuZ2UgWmVpbGUiCiAKLSM6IHBrdC1saW5lLmM6MTU4IHBrdC1saW5lLmM6MTYwCisjOiBwa3QtbGluZS5jOjE2MiBwa3QtbGluZS5jOjE2NAogbXNnaWQgInBhY2tldCB3cml0ZSB3aXRoIGZvcm1hdCBmYWlsZWQiCiBtc2dzdHIgIlNjaHJlaWJlbiBkZXMgUGFrZXRzIG1pdCBGb3JtYXQgZmVobGdlc2NobGFnZW4uIgogCi0jOiBwa3QtbGluZS5jOjE5MgorIzogcGt0LWxpbmUuYzoxOTYKIG1zZ2lkICJwYWNrZXQgd3JpdGUgZmFpbGVkIC0gZGF0YSBleGNlZWRzIG1heCBwYWNrZXQgc2l6ZSIKIG1zZ3N0ciAiIgogIlNjaHJlaWJlbiBkZXMgUGFrZXRzIGZlaGxnZXNjaGxhZ2VuIC0gRGF0ZW4gw7xiZXJzY2hyZWl0ZW4gbWF4aW1hbGUgUGFrZXRncsO2w59lIgogCi0jOiBwa3QtbGluZS5jOjE5OSBwa3QtbGluZS5jOjIwNgorIzogcGt0LWxpbmUuYzoyMDMgcGt0LWxpbmUuYzoyMTAKIG1zZ2lkICJwYWNrZXQgd3JpdGUgZmFpbGVkIgogbXNnc3RyICJTY2hyZWliZW4gZGVzIFBha2V0cyBmZWhsZ2VzY2hsYWdlbi4iCiAKLSM6IHBrdC1saW5lLmM6MjkxCisjOiBwa3QtbGluZS5jOjI5NQogbXNnaWQgInJlYWQgZXJyb3IiCiBtc2dzdHIgIkxlc2VmZWhsZXIiCiAKLSM6IHBrdC1saW5lLmM6Mjk5CisjOiBwa3QtbGluZS5jOjMwMwogbXNnaWQgInRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdW5leHBlY3RlZGx5IgogbXNnc3RyICJEaWUgR2VnZW5zZWl0ZSBoYXQgdW5lcndhcnRldCBhYmdlYnJvY2hlbi4iCiAKLSM6IHBrdC1saW5lLmM6MzI3CisjOiBwa3QtbGluZS5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIGxpbmUgbGVuZ3RoIGNoYXJhY3RlcjogJS40cyIKIG1zZ3N0ciAiUHJvdG9rb2xsZmVobGVyOiB1bmfDvGx0aWdlcyBaZWljaGVuIGbDvHIgWmVpbGVubMOkbmdlOiAlLjRzIgogCi0jOiBwa3QtbGluZS5jOjMzNyBwa3QtbGluZS5jOjM0MgorIzogcGt0LWxpbmUuYzozNDEgcGt0LWxpbmUuYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBsaW5lIGxlbmd0aCAlZCIKIG1zZ3N0ciAiUHJvdG9rb2xsZmVobGVyOiB1bmfDvGx0aWdlIFplaWxlbmzDpG5nZSAlZCIKIAotIzogcHJlbG9hZC1pbmRleC5jOjExOAorIzogcGt0LWxpbmUuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlIGVycm9yOiAlcyIKK21zZ3N0ciAiRmVobGVyIGFtIGFuZGVyZW4gRW5kZTogJXMiCisKKyM6IHByZWxvYWQtaW5kZXguYzoxMTkKIG1zZ2lkICJSZWZyZXNoaW5nIGluZGV4IgogbXNnc3RyICJBa3R1YWxpc2llcmUgSW5kZXgiCiAKLSM6IHByZWxvYWQtaW5kZXguYzoxMzcKKyM6IHByZWxvYWQtaW5kZXguYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWRlZCBsc3RhdDogJXMiCiBtc2dzdHIgIkthbm4gVGhyZWFkIGbDvHIgbHN0YXQgbmljaHQgZXJ6ZXVnZW46ICVzIgogCi0jOiBwcmV0dHkuYzo5NjIKKyM6IHByZXR0eS5jOjk4MQogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAtLXByZXR0eSBmb3JtYXQiCiBtc2dzdHIgIktvbm50ZSAtLXByZXR0eSBGb3JtYXQgbmljaHQgcGFyc2VuLiIKIAotIzogcmFuZ2UtZGlmZi5jOjU2CisjOiBwcm9taXNvci1yZW1vdGUuYzoyMworbXNnaWQgIlJlbW90ZSB3aXRoIG5vIFVSTCIKK21zZ3N0ciAiUmVtb3RlLVJlcG9zaXRvcnkgb2huZSBVUkwiCisKKyM6IHByb21pc29yLXJlbW90ZS5jOjU4CisjLCBjLWZvcm1hdAorbXNnaWQgInByb21pc29yIHJlbW90ZSBuYW1lIGNhbm5vdCBiZWdpbiB3aXRoICcvJzogJXMiCittc2dzdHIgIlByb21pc29yLVJlbW90ZS1OYW1lIGthbm4gbmljaHQgbWl0ICcvJyBiZWdpbm5lbjogJXMiCisKKyM6IHJhbmdlLWRpZmYuYzo3NQogbXNnaWQgImNvdWxkIG5vdCBzdGFydCBgbG9nYCIKIG1zZ3N0ciAiS29ubnRlIGBsb2dgIG5pY2h0IHN0YXJ0ZW4uIgogCi0jOiByYW5nZS1kaWZmLmM6NTkKKyM6IHJhbmdlLWRpZmYuYzo3NwogbXNnaWQgImNvdWxkIG5vdCByZWFkIGBsb2dgIG91dHB1dCIKIG1zZ3N0ciAiS29ubnRlIEF1c2dhYmUgdm9uIGBsb2dgIG5pY2h0IGxlc2VuLiIKIAotIzogcmFuZ2UtZGlmZi5jOjc0IHNlcXVlbmNlci5jOjQ3NjQKKyM6IHJhbmdlLWRpZmYuYzo5NiBzZXF1ZW5jZXIuYzo1MTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIENvbW1pdCAnJXMnIG5pY2h0IHBhcnNlbi4iCiAKLSM6IHJhbmdlLWRpZmYuYzoyMjQKKyM6IHJhbmdlLWRpZmYuYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGdpdCBoZWFkZXIgJyUuKnMnIgorbXNnc3RyICJLb25udGUgR2l0LUhlYWRlciAnJS4qcycgbmljaHQgcGFyc2VuLiIKKworIzogcmFuZ2UtZGlmZi5jOjI4NQogbXNnaWQgImZhaWxlZCB0byBnZW5lcmF0ZSBkaWZmIgogbXNnc3RyICJGZWhsZXIgYmVpbSBHZW5lcmllcmVuIGRlcyBEaWZmcy4iCiAKLSM6IHJhbmdlLWRpZmYuYzo0NTUgcmFuZ2UtZGlmZi5jOjQ1NworIzogcmFuZ2UtZGlmZi5jOjUxOCByYW5nZS1kaWZmLmM6NTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBsb2cgZm9yICclcyciCiBtc2dzdHIgIktvbm50ZSBMb2cgZsO8ciAnJXMnIG5pY2h0IHBhcnNlbi4iCiAKLSM6IHJlYWQtY2FjaGUuYzoxNDkwCisjOiByZWFkLWNhY2hlLmM6NjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IGFkZCBmaWxlIGFsaWFzICclcycgKCclcycgYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgpIgorbXNnc3RyICIiCisiRGF0ZWlhbGlhcyAnJXMnIHdpcmQgbmljaHQgaGluenVnZWbDvGd0ICgnJXMnIGV4aXN0aWVydCBiZXJlaXRzIGltIEluZGV4KS4iCisKKyM6IHJlYWQtY2FjaGUuYzo2OTYKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGFuIGVtcHR5IGJsb2IgaW4gdGhlIG9iamVjdCBkYXRhYmFzZSIKK21zZ3N0ciAiS2FubiBrZWluZW4gbGVlcmVuIEJsb2IgaW4gZGllIE9iamVrdGRhdGVuYmFuayBzY2hyZWliZW4uIgorCisjOiByZWFkLWNhY2hlLmM6NzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4gb25seSBhZGQgcmVndWxhciBmaWxlcywgc3ltYm9saWMgbGlua3Mgb3IgZ2l0LWRpcmVjdG9yaWVzIgorbXNnc3RyICIiCisiJXM6IEthbm4gbnVyIHJlZ3Vsw6RyZSBEYXRlaWVuLCBzeW1ib2xpc2NoZSBMaW5rcyBvZGVyIEdpdC1WZXJ6ZWljaG5pc3NlICIKKyJoaW56dWbDvGdlbi4iCisKKyM6IHJlYWQtY2FjaGUuYzo3MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBkb2VzIG5vdCBoYXZlIGEgY29tbWl0IGNoZWNrZWQgb3V0IgorbXNnc3RyICInJXMnIGhhdCBrZWluZW4gQ29tbWl0IGF1c2dlY2hlY2t0IgorCisjOiByZWFkLWNhY2hlLmM6Nzc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBpbmRleCBmaWxlICclcyciCittc2dzdHIgIktvbm50ZSBEYXRlaSAnJXMnIG5pY2h0IGluZGl6aWVyZW4uIgorCisjOiByZWFkLWNhY2hlLmM6Nzk0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhZGQgJyVzJyB0byBpbmRleCIKK21zZ3N0ciAiS29ubnRlICclcycgbmljaHQgZGVtIEluZGV4IGhpbnp1ZsO8Z2VuLiIKKworIzogcmVhZC1jYWNoZS5jOjgwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gc3RhdCAnJXMnIgorbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBsZXNlbi4iCisKKyM6IHJlYWQtY2FjaGUuYzoxMzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgYXBwZWFycyBhcyBib3RoIGEgZmlsZSBhbmQgYXMgYSBkaXJlY3RvcnkiCittc2dzdHIgIiclcycgc2NoZWludCBlaW5lIERhdGVpIHVuZCBlaW4gVmVyemVpY2huaXMgenUgc2Vpbi4iCisKKyM6IHJlYWQtY2FjaGUuYzoxNTMxCiBtc2dpZCAiUmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAiQWt0dWFsaXNpZXJlIEluZGV4IgogCi0jOiByZWFkLWNhY2hlLmM6MTYwNAorIzogcmVhZC1jYWNoZS5jOjE2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImluZGV4LnZlcnNpb24gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0zNzcxLDcgKzUyMDEsNyBAQAogImluZGV4LnZlcnNpb24gZ2VzZXR6dCwgYWJlciBXZXJ0IHVuZ8O8bHRpZy5cbiIKICJWZXJ3ZW5kZSBWZXJzaW9uICVpIgogCi0jOiByZWFkLWNhY2hlLmM6MTYxNAorIzogcmVhZC1jYWNoZS5jOjE2NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkdJVF9JTkRFWF9WRVJTSU9OIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgpAQCAtMzc4MCw2MCArNTIxMCwxNTEgQEAKICJHSVRfSU5ERVhfVkVSU0lPTiBnZXNldHp0LCBhYmVyIFdlcnQgdW5nw7xsdGlnLlxuIgogIlZlcndlbmRlIFZlcnNpb24gJWkiCiAKLSM6IHJlYWQtY2FjaGUuYzoxNzkyCisjOiByZWFkLWNhY2hlLmM6MTcxMgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc2lnbmF0dXJlIDB4JTA4eCIKK21zZ3N0ciAiVW5nw7xsdGlnZSBTaWduYXR1ciAweCUwOHgiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzE1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICVkIgorbXNnc3RyICJVbmfDvGx0aWdlIEluZGV4LVZlcnNpb24gJWQiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzI0Cittc2dpZCAiYmFkIGluZGV4IGZpbGUgc2hhMSBzaWduYXR1cmUiCittc2dzdHIgIlVuZ8O8bHRpZ2UgU0hBMS1TaWduYXR1ciBkZXIgSW5kZXgtRGF0ZWkuIgorCisjOiByZWFkLWNhY2hlLmM6MTc1NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbmRleCB1c2VzICUuNHMgZXh0ZW5zaW9uLCB3aGljaCB3ZSBkbyBub3QgdW5kZXJzdGFuZCIKK21zZ3N0ciAiSW5kZXggdmVyd2VuZGV0IEVyd2VpdGVydW5nICUuNHMsIHdlbGNoZSB3aXIgbmljaHQgdW50ZXJzdMO8dHplbi4iCisKKyM6IHJlYWQtY2FjaGUuYzoxNzU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nICUuNHMgZXh0ZW5zaW9uIgorbXNnc3RyICJJZ25vcmllcmUgRXJ3ZWl0ZXJ1bmcgJS40cyIKKworIzogcmVhZC1jYWNoZS5jOjE3OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBpbmRleCBlbnRyeSBmb3JtYXQgMHglMDh4IgorbXNnc3RyICJVbmJla2FubnRlcyBGb3JtYXQgZsO8ciBJbmRleC1FaW50cmFnIDB4JTA4eCIKKworIzogcmVhZC1jYWNoZS5jOjE4MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG5hbWUgZmllbGQgaW4gdGhlIGluZGV4LCBuZWFyIHBhdGggJyVzJyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXMgTmFtZW5zZmVsZCBpbSBJbmRleCwgaW4gZGVyIE7DpGhlIHZvbiBQZmFkICclcycuIgogCi0jOiByZWFkLWNhY2hlLmM6MTk2MCByZXJlcmUuYzo1NjUgcmVyZXJlLmM6NTk5IHJlcmVyZS5jOjExMTEgYnVpbHRpbi9hZGQuYzo0NTgKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTc3IGJ1aWx0aW4vY2hlY2tvdXQuYzoyODkgYnVpbHRpbi9jaGVja291dC5jOjU4NQotIzogYnVpbHRpbi9jaGVja291dC5jOjk1MyBidWlsdGluL2NsZWFuLmM6OTU0IGJ1aWx0aW4vY29tbWl0LmM6MzQzCi0jOiBidWlsdGluL2RpZmYtdHJlZS5jOjExNSBidWlsdGluL2dyZXAuYzo0ODkgYnVpbHRpbi9tdi5jOjE0NAotIzogYnVpbHRpbi9yZXNldC5jOjI0NCBidWlsdGluL3JtLmM6MjcwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMjkKKyM6IHJlYWQtY2FjaGUuYzoxODY2Cittc2dpZCAidW5vcmRlcmVkIHN0YWdlIGVudHJpZXMgaW4gaW5kZXgiCittc2dzdHIgIlVuZ2VvcmRuZXRlIFN0YWdlLUVpbnRyw6RnZSBpbSBJbmRleC4iCisKKyM6IHJlYWQtY2FjaGUuYzoxODY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm11bHRpcGxlIHN0YWdlIGVudHJpZXMgZm9yIG1lcmdlZCBmaWxlICclcyciCittc2dzdHIgIk1laHJlcmUgU3RhZ2UtRWludHLDpGdlIGbDvHIgenVzYW1tZW5nZWbDvGhydGUgRGF0ZWkgJyVzJy4iCisKKyM6IHJlYWQtY2FjaGUuYzoxODcyCisjLCBjLWZvcm1hdAorbXNnaWQgInVub3JkZXJlZCBzdGFnZSBlbnRyaWVzIGZvciAnJXMnIgorbXNnc3RyICJVbmdlb3JkbmV0ZSBTdGFnZS1FaW50csOkZ2UgZsO8ciAnJXMnLiIKKworIzogcmVhZC1jYWNoZS5jOjE5NzggcmVhZC1jYWNoZS5jOjIyNjYgcmVyZXJlLmM6NTY1IHJlcmVyZS5jOjU5OSByZXJlcmUuYzoxMTExCisjOiBidWlsdGluL2FkZC5jOjQ5OSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3OCBidWlsdGluL2NoZWNrb3V0LmM6NDcwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjU0IGJ1aWx0aW4vY2xlYW4uYzo5NjcgYnVpbHRpbi9jb21taXQuYzozNjcKKyM6IGJ1aWx0aW4vZGlmZi10cmVlLmM6MTIwIGJ1aWx0aW4vZ3JlcC5jOjQ5OSBidWlsdGluL212LmM6MTQ1CisjOiBidWlsdGluL3Jlc2V0LmM6MjQ2IGJ1aWx0aW4vcm0uYzoyNzEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMzMgogbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCIKIG1zZ3N0ciAiSW5kZXgtRGF0ZWkgYmVzY2jDpGRpZ3QiCiAKLSM6IHJlYWQtY2FjaGUuYzoyMTAxCisjOiByZWFkLWNhY2hlLmM6MjExOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxvYWRfY2FjaGVfZW50cmllcyB0aHJlYWQ6ICVzIgogbXNnc3RyICJLYW5uIFRocmVhZCBmw7xyIGxvYWRfY2FjaGVfZW50cmllcyBuaWNodCBlcnpldWdlbjogJXMiCiAKLSM6IHJlYWQtY2FjaGUuYzoyMTE0CisjOiByZWFkLWNhY2hlLmM6MjEzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gam9pbiBsb2FkX2NhY2hlX2VudHJpZXMgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiS2FubiBUaHJlYWQgZsO8ciBsb2FkX2NhY2hlX2VudHJpZXMgbmljaHQgZXJ6ZXVnZW46ICVzIgogCi0jOiByZWFkLWNhY2hlLmM6MjIwMQorIzogcmVhZC1jYWNoZS5jOjIxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluZGV4IGZpbGUgb3BlbiBmYWlsZWQiCittc2dzdHIgIiVzOiDDlmZmbmVuIGRlciBJbmRleC1EYXRlaSBmZWhsZ2VzY2hsYWdlbi4iCisKKyM6IHJlYWQtY2FjaGUuYzoyMTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3Qgc3RhdCB0aGUgb3BlbiBpbmRleCIKK21zZ3N0ciAiJXM6IEthbm4gZ2XDtmZmbmV0ZW4gSW5kZXggbmljaHQgbGVzZW4uIgorCisjOiByZWFkLWNhY2hlLmM6MjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5kZXggZmlsZSBzbWFsbGVyIHRoYW4gZXhwZWN0ZWQiCittc2dzdHIgIiVzOiBJbmRleC1EYXRlaSBpc3Qga2xlaW5lciBhbHMgZXJ3YXJ0ZXQuIgorCisjOiByZWFkLWNhY2hlLmM6MjE3NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG1hcCBpbmRleCBmaWxlIgorbXNnc3RyICIlczogS29ubnRlIEluZGV4LURhdGVpIG5pY2h0IGVpbmxlc2VuLiIKKworIzogcmVhZC1jYWNoZS5jOjIyMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsb2FkX2luZGV4X2V4dGVuc2lvbnMgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiS2FubiBUaHJlYWQgZsO8ciBsb2FkX2luZGV4X2V4dGVuc2lvbnMgbmljaHQgZXJ6ZXVnZW46ICVzIgogCi0jOiByZWFkLWNhY2hlLmM6MjIyOAorIzogcmVhZC1jYWNoZS5jOjIyNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGpvaW4gbG9hZF9pbmRleF9leHRlbnNpb25zIHRocmVhZDogJXMiCiBtc2dzdHIgIkthbm4gVGhyZWFkIGbDvHIgbG9hZF9pbmRleF9leHRlbnNpb25zIG5pY2h0IGJlaXRyZXRlbjogJXMiCiAKLSM6IHJlYWQtY2FjaGUuYzoyOTgyIHNlcXVlbmNlci5jOjQ3Mjcgd3JhcHBlci5jOjY1OCBidWlsdGluL21lcmdlLmM6MTA4NgorIzogcmVhZC1jYWNoZS5jOjIyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGZyZXNoZW4gc2hhcmVkIGluZGV4ICclcyciCittc2dzdHIgIktvbm50ZSBnZXRlaWx0ZW4gSW5kZXggJyVzJyBuaWNodCBha3R1YWxpc2llcmVuLiIKKworIzogcmVhZC1jYWNoZS5jOjIzMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYnJva2VuIGluZGV4LCBleHBlY3QgJXMgaW4gJXMsIGdvdCAlcyIKK21zZ3N0ciAiRmVobGVyaGFmdGVyIEluZGV4LiBFcndhcnRldGUgJXMgaW4gJXMsIGVyaGllbHQgJXMuIgorCisjOiByZWFkLWNhY2hlLmM6MzAyMSBzdHJidWYuYzoxMTQ1IHdyYXBwZXIuYzo2MjIgYnVpbHRpbi9tZXJnZS5jOjExMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNsb3NlICclcyciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IHNjaGxpZcOfZW4uIgogCi0jOiByZWFkLWNhY2hlLmM6MzA1NSBzZXF1ZW5jZXIuYzoyMjAzIHNlcXVlbmNlci5jOjM1OTIKKyM6IHJlYWQtY2FjaGUuYzozMTI0IHNlcXVlbmNlci5jOjI0Mjkgc2VxdWVuY2VyLmM6NDA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBsZXNlbi4iCiAKLSM6IHJlYWQtY2FjaGUuYzozMDY4CisjOiByZWFkLWNhY2hlLmM6MzEzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiBnaXQgZGlyOiAlcyIKIG1zZ3N0ciAia29ubnRlIEdpdC1WZXJ6ZWljaG5pcyBuaWNodCDDtmZmbmVuOiAlcyIKIAotIzogcmVhZC1jYWNoZS5jOjMwODAKKyM6IHJlYWQtY2FjaGUuYzozMTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1bmxpbms6ICVzIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBlbnRmZXJuZW4uIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoxMAorIzogcmVhZC1jYWNoZS5jOjMxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpeCBwZXJtaXNzaW9uIGJpdHMgb24gJyVzJyIKK21zZ3N0ciAiS29ubnRlIFp1Z3JpZmZzYmVyZWNodGlndW5nIGF1ZiAnJXMnIG5pY2h0IHNldHplbi4iCisKKyM6IHJlYWQtY2FjaGUuYzozMzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZHJvcCB0byBzdGFnZSAjMCIKK21zZ3N0ciAiJXM6IEthbm4gbmljaHQgYXVmIFN0dWZlICMwIHdlY2hzZWxuLiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVucmVjb2duaXplZCBzZXR0aW5nICVzIGZvciBvcHRpb24gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suIElnbm9yaW5nLiIKK21zZ3N0ciAiIgorIk5pY2h0IGVya2FubnRlIEVpbnN0ZWxsdW5nICVzIGbDvHIgT3B0aW9uIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiAiCisiSWdub3JpZXJlLiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MzUKIG1zZ2lkICIiCiAiXG4iCiAiQ29tbWFuZHM6XG4iCkBAIC0zODYwLDIyICs1MzgxLDMyIEBACiAiciwgcmV3b3JkIDxDb21taXQ+ID0gQ29tbWl0IHZlcndlbmRlbiwgYWJlciBDb21taXQtQmVzY2hyZWlidW5nIGJlYXJiZWl0ZW5cbiIKICJlLCBlZGl0IDxDb21taXQ+ID0gQ29tbWl0IHZlcndlbmRlbiwgYWJlciB6dW0gTmFjaGJlc3Nlcm4gYW5oYWx0ZW5cbiIKICJzLCBzcXVhc2ggPENvbW1pdD4gPSBDb21taXQgdmVyd2VuZGVuLCBhYmVyIG1pdCB2b3JoZXJpZ2VtIENvbW1pdCB2ZXJlaW5lblxuIgotImYsIGZpeHVwIDxDb21taXQ+ID0gd2llIFwic3F1YXNoXCIsIGFiZXIgZGllc2UgQ29tbWl0LUJlc2NocmVpYnVuZyB2ZXJ3ZXJmZW5cbiIKKyJmLCBmaXh1cCA8Q29tbWl0PiA9IHdpZSBcInNxdWFzaFwiLCBhYmVyIGRpZXNlIENvbW1pdC1CZXNjaHJlaWJ1bmcgIgorInZlcndlcmZlblxuIgogIngsIGV4ZWMgPENvbW1pdD4gPSBCZWZlaGwgKFJlc3QgZGVyIFplaWxlKSBtaXR0ZWxzIFNoZWxsIGF1c2bDvGhyZW5cbiIKLSJiLCBicmVhayA9IGhpZXIgYW5oYWx0ZW4gKFJlYmFzZSBzcMOkdGVyIG1pdCAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBmb3J0c2V0emVuKVxuIgorImIsIGJyZWFrID0gaGllciBhbmhhbHRlbiAoUmViYXNlIHNww6R0ZXIgbWl0ICdnaXQgcmViYXNlIC0tY29udGludWUnICIKKyJmb3J0c2V0emVuKVxuIgogImQsIGRyb3AgPENvbW1pdD4gPSBDb21taXQgZW50ZmVybmVuXG4iCiAibCwgbGFiZWwgPExhYmVsPiA9IGFrdHVlbGxlbiBIRUFEIG1pdCBMYWJlbCB2ZXJzZWhlblxuIgogInQsIHJlc2V0IDxMYWJlbD4gPSBIRUFEIHp1IGVpbmVtIExhYmVsIHVtc2V0emVuXG4iCiAibSwgbWVyZ2UgWy1DIDxDb21taXQ+IHwgLWMgPENvbW1pdD5dIDxMYWJlbD4gWyMgPGVpbmVaZWlsZT5dXG4iCiAiLiAgICAgICBNZXJnZS1Db21taXQgbWl0IGRlciBvcmlnaW5hbGVuIE1lcmdlLUNvbW1pdC1CZXNjaHJlaWJ1bmcgZXJzdGVsbGVuXG4iCi0iLiAgICAgICAob2RlciBkaWUgZWluZSBaZWlsZSwgd2VubiBrZWluZSBvcmlnaW5hbGUgTWVyZ2UtQ29tbWl0LUJlc2NocmVpYnVuZ1xuIgorIi4gICAgICAgKG9kZXIgZGllIGVpbmUgWmVpbGUsIHdlbm4ga2VpbmUgb3JpZ2luYWxlIE1lcmdlLUNvbW1pdC0iCisiQmVzY2hyZWlidW5nXG4iCiAiLiAgICAgICBzcGV6aWZpemllcnQgaXN0KS4gQmVudXR6ZW4gU2llIC1jIDxDb21taXQ+IHp1bSBCZWFyYmVpdGVuIGRlclxuIgogIi4gICAgICAgQ29tbWl0LUJlc2NocmVpYnVuZy5cbiIKICJcbiIKICJEaWVzZSBaZWlsZW4ga8O2bm5lbiB1bXNvcnRpZXJ0IHdlcmRlbjsgU2llIHdlcmRlbiB2b24gb2JlbiBuYWNoIHVudGVuXG4iCiAiYXVzZ2Vmw7xocnQuXG4iCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjMxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxNzMKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kKSIKK21zZ2lkX3BsdXJhbCAiUmViYXNlICVzIG9udG8gJXMgKCVkIGNvbW1hbmRzKSIKK21zZ3N0clswXSAiUmViYXNlIHZvbiAlcyBhdWYgJXMgKCVkIEtvbW1hbmRvKSIKK21zZ3N0clsxXSAiUmViYXNlIHZvbiAlcyBhdWYgJXMgKCVkIEtvbW1hbmRvcykiCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjY1IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMjgKIG1zZ2lkICIiCiAiXG4iCiAiRG8gbm90IHJlbW92ZSBhbnkgbGluZS4gVXNlICdkcm9wJyBleHBsaWNpdGx5IHRvIHJlbW92ZSBhIGNvbW1pdC5cbiIKQEAgLTM4ODQsNyArNTQxNSw3IEBACiAiS2VpbmUgWmVpbGUgZW50ZmVybmVuLiBCZW51dHplbiBTaWUgJ2Ryb3AnLCB1bSBleHBsaXppdCBlaW5lbiBDb21taXQgenVcbiIKICJlbnRmZXJuZW4uXG4iCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjM0IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxNzcKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjY4IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMzIKIG1zZ2lkICIiCiAiXG4iCiAiSWYgeW91IHJlbW92ZSBhIGxpbmUgaGVyZSBUSEFUIENPTU1JVCBXSUxMIEJFIExPU1QuXG4iCkBAIC0zODkyLDcgKzU0MjMsNyBAQAogIlxuIgogIldlbm4gU2llIGhpZXIgZWluZSBaZWlsZSBlbnRmZXJuZW4sIHdpcmQgRElFU0VSIENPTU1JVCBWRVJMT1JFTiBHRUhFTi5cbiIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6NDAgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgxNgorIzogcmViYXNlLWludGVyYWN0aXZlLmM6NzQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg3MQogbXNnaWQgIiIKICJcbiIKICJZb3UgYXJlIGVkaXRpbmcgdGhlIHRvZG8gZmlsZSBvZiBhbiBvbmdvaW5nIGludGVyYWN0aXZlIHJlYmFzZS5cbiIKQEAgLTM5MDYsNyArNTQzNyw3IEBACiAiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo0NSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODkzCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo3OSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTQ4CiBtc2dpZCAiIgogIlxuIgogIkhvd2V2ZXIsIGlmIHlvdSByZW1vdmUgZXZlcnl0aGluZywgdGhlIHJlYmFzZSB3aWxsIGJlIGFib3J0ZWQuXG4iCkBAIC0zOTE2LDEyNyArNTQ0NywxNTggQEAKICJXZW5uIFNpZSBqZWRvY2ggYWxsZXMgbMO2c2NoZW4sIHdpcmQgZGVyIFJlYmFzZSBhYmdlYnJvY2hlbi5cbiIKICJcbiIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6NTEgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkwMAorIzogcmViYXNlLWludGVyYWN0aXZlLmM6ODUgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk1NQogbXNnaWQgIk5vdGUgdGhhdCBlbXB0eSBjb21taXRzIGFyZSBjb21tZW50ZWQgb3V0IgogbXNnc3RyICJMZWVyZSBDb21taXRzIHNpbmQgYXVza29tbWVudGllcnQuIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo2MiByZWJhc2UtaW50ZXJhY3RpdmUuYzo3NSBzZXF1ZW5jZXIuYzoyMTg2Ci0jOiBzZXF1ZW5jZXIuYzo0NTA1IHNlcXVlbmNlci5jOjQ1NjEgc2VxdWVuY2VyLmM6NDgzNgorIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTA1IHJlcmVyZS5jOjQ4NSByZXJlcmUuYzo2OTIgc2VxdWVuY2VyLmM6MzUzNgorIzogc2VxdWVuY2VyLmM6MzU2MiBzZXF1ZW5jZXIuYzo1MjYzIGJ1aWx0aW4vZnNjay5jOjM0NiBidWlsdGluL3JlYmFzZS5jOjI1NAogIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnLiIKLW1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgbGVzZW4uIgorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSAnJXMnIgorbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBzY2hyZWliZW4uIgogCi0jOiByZWZzLmM6MTkyCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAiS29ubnRlICclcycgbmljaHQgbmFjaCAnJXMnIGtvcGllcmVuLiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS5cbiIKKyJEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKTpcbiIKK21zZ3N0ciAiIgorIldhcm51bmc6IEVpbmlnZSBDb21taXRzIGvDtm5udGVuIGF1cyBWZXJzZWhlbiBlbnRmZXJudCB3b3JkZW4gc2Vpbi5cbiIKKyJFbnRmZXJudGUgQ29tbWl0cyAobmV1IHp1IGFsdCk6XG4iCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjE4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgXCJkcm9wXCIgdG8gZXhwbGljaXRseSByZW1vdmUgYSBjb21taXQuXG4iCisiXG4iCisiVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mICIKKyJ3YXJuaW5ncy5cbiIKKyJUaGUgcG9zc2libGUgYmVoYXZpb3VycyBhcmU6IGlnbm9yZSwgd2FybiwgZXJyb3IuXG4iCisiXG4iCittc2dzdHIgIiIKKyJVbSBkaWVzZSBNZWxkdW5nIHp1IHZlcm1laWRlbiwgYmVudXR6ZW4gU2llIFwiZHJvcFwiLCB1bSBleGxpeml0IENvbW1pdHMgenVcbiIKKyJlbnRmZXJuZW4uXG4iCisiXG4iCisiQmVudXR6ZW4gU2llICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJywgdW0gZGllIFN0dWZlIGRlclxuIgorIldhcm51bmdlbiB6dSDDpG5kZXJuLlxuIgorIkRpZSBtw7ZnbGljaGVuIFZlcmhhbHRlbnN3ZWlzZW4gc2luZDogaWdub3JlLCB3YXJuLCBlcnJvci5cbiIKKworIzogcmVmcy5jOjI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIG9iamVjdCEiCiBtc2dzdHIgIiVzIHplaWd0IGF1ZiBrZWluIGfDvGx0aWdlcyBPYmpla3QhIgogCi0jOiByZWZzLmM6NTgzCisjOiByZWZzLmM6NjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIGRhbmdsaW5nIHN5bXJlZiAlcyIKIG1zZ3N0ciAiSWdub3JpZXJlIHVucmVmZXJlbnppZXJ0ZSBzeW1ib2xpc2NoZSBSZWZlcmVueiAlcyIKIAotIzogcmVmcy5jOjU4NSByZWYtZmlsdGVyLmM6MTk1MQorIzogcmVmcy5jOjY2OSByZWYtZmlsdGVyLmM6MjA5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBicm9rZW4gcmVmICVzIgogbXNnc3RyICJJZ25vcmllcmUgZmVobGVyaGFmdGUgUmVmZXJlbnogJXMiCiAKLSM6IHJlZnMuYzo3MTEKKyM6IHJlZnMuYzo4MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZzogJXMiCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IHp1bSBTY2hyZWliZW4gw7ZmZm5lbjogJXMiCiAKLSM6IHJlZnMuYzo3MjEgcmVmcy5jOjc3MgorIzogcmVmcy5jOjgxNCByZWZzLmM6ODY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIHJlZiAnJXMnIgogbXNnc3RyICJLb25udGUgUmVmZXJlbnogJyVzJyBuaWNodCBsZXNlbi4iCiAKLSM6IHJlZnMuYzo3MjcKKyM6IHJlZnMuYzo4MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIlJlZmVyZW56ICclcycgZXhpc3RpZXJ0IGJlcmVpdHMuIgogCi0jOiByZWZzLmM6NzMyCisjOiByZWZzLmM6ODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgb2JqZWN0IElEIHdoZW4gd3JpdGluZyAnJXMnIgogbXNnc3RyICJVbmVyd2FydGV0ZSBPYmpla3QtSUQgYmVpbSBTY2hyZWliZW4gdm9uICclcycuIgogCi0jOiByZWZzLmM6NzQwIHNlcXVlbmNlci5jOjM5NCBzZXF1ZW5jZXIuYzoyNTEwIHNlcXVlbmNlci5jOjI2MzYKLSM6IHNlcXVlbmNlci5jOjI2NTAgc2VxdWVuY2VyLmM6Mjg3NyBzZXF1ZW5jZXIuYzo0NzI1IHNlcXVlbmNlci5jOjQ3ODgKLSM6IHdyYXBwZXIuYzo2NTYKKyM6IHJlZnMuYzo4MzMgc2VxdWVuY2VyLmM6NDA1IHNlcXVlbmNlci5jOjI3OTMgc2VxdWVuY2VyLmM6Mjk5NworIzogc2VxdWVuY2VyLmM6MzAxMSBzZXF1ZW5jZXIuYzozMjY5IHNlcXVlbmNlci5jOjUxNzkgc3RyYnVmLmM6MTE0MgorIzogd3JhcHBlci5jOjYyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKIG1zZ3N0ciAiS29ubnRlIG5pY2h0IG5hY2ggJyVzJyBzY2hyZWliZW4uIgogCi0jOiByZWZzLmM6NzY3IHNlcXVlbmNlci5jOjQ3MjMgc2VxdWVuY2VyLmM6NDc4MiB3cmFwcGVyLmM6MjI1IHdyYXBwZXIuYzozOTUKLSM6IGJ1aWx0aW4vYW0uYzo3MjgKKyM6IHJlZnMuYzo4NjAgc3RyYnVmLmM6MTE0MCB3cmFwcGVyLmM6MTg4IHdyYXBwZXIuYzozNTggYnVpbHRpbi9hbS5jOjcxNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxMDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IHp1bSBTY2hyZWliZW4gw7ZmZm5lbi4iCiAKLSM6IHJlZnMuYzo3NzQKKyM6IHJlZnMuYzo4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBvYmplY3QgSUQgd2hlbiBkZWxldGluZyAnJXMnIgogbXNnc3RyICJVbmVyd2FydGV0ZSBPYmpla3QtSUQgYmVpbSBMw7ZzY2hlbiB2b24gJyVzJy4iCiAKLSM6IHJlZnMuYzo5MDUKKyM6IHJlZnMuYzo5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9nIGZvciByZWYgJXMgaGFzIGdhcCBhZnRlciAlcyIKIG1zZ3N0ciAiTG9nIGbDvHIgUmVmZXJlbnogJXMgaGF0IGVpbmUgTMO8Y2tlIG5hY2ggJXMuIgogCi0jOiByZWZzLmM6OTExCisjOiByZWZzLmM6MTAwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2cgZm9yIHJlZiAlcyB1bmV4cGVjdGVkbHkgZW5kZWQgb24gJXMiCiBtc2dzdHIgIkxvZyBmw7xyIFJlZmVyZW56ICVzIHVuZXJ3YXJ0ZXQgYmVpICVzIGJlZW5kZXQuIgogCi0jOiByZWZzLmM6OTY5CisjOiByZWZzLmM6MTA2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2cgZm9yICVzIGlzIGVtcHR5IgogbXNnc3RyICJMb2cgZsO8ciAlcyBpc3QgbGVlci4iCiAKLSM6IHJlZnMuYzoxMDYxCisjOiByZWZzLmM6MTE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZ1c2luZyB0byB1cGRhdGUgcmVmIHdpdGggYmFkIG5hbWUgJyVzJyIKIG1zZ3N0ciAiVmVyd2VpZ2VyZSBBa3R1YWxpc2llcnVuZyBlaW5lciBSZWZlcmVueiBtaXQgZmVobGVyaGFmdGVtIE5hbWVuICclcycuIgogCi0jOiByZWZzLmM6MTEzNworIzogcmVmcy5jOjEyMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidXBkYXRlX3JlZiBmYWlsZWQgZm9yIHJlZiAnJXMnOiAlcyIKIG1zZ3N0ciAidXBkYXRlX3JlZiBmw7xyIFJlZmVyZW56ICclcycgZmVobGdlc2NobGFnZW46ICVzIgogCi0jOiByZWZzLmM6MTkxMQorIzogcmVmcy5jOjIwMjMKICMsIGMtZm9ybWF0CiBtc2dpZCAibXVsdGlwbGUgdXBkYXRlcyBmb3IgcmVmICclcycgbm90IGFsbG93ZWQiCiBtc2dzdHIgIk1laHJlcmUgQWt0dWFsaXNpZXJ1bmdlbiBmw7xyIFJlZmVyZW56ICclcycgbmljaHQgZXJsYXVidC4iCiAKLSM6IHJlZnMuYzoxOTQzCisjOiByZWZzLmM6MjA1NQogbXNnaWQgInJlZiB1cGRhdGVzIGZvcmJpZGRlbiBpbnNpZGUgcXVhcmFudGluZSBlbnZpcm9ubWVudCIKIG1zZ3N0ciAiIgogIkFrdHVhbGlzaWVydW5nZW4gdm9uIFJlZmVyZW56ZW4gaXN0IGlubmVyaGFsYiBkZXIgUXVhcmFudMOkbmUtVW1nZWJ1bmcgIgogInZlcmJvdGVuLiIKIAotIzogcmVmcy5jOjIwMzkgcmVmcy5jOjIwNjkKKyM6IHJlZnMuYzoyMTUxIHJlZnMuYzoyMTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICclcyciCiBtc2dzdHIgIiclcycgZXhpc3RpZXJ0OyBrYW5uICclcycgbmljaHQgZXJzdGVsbGVuIgogCi0jOiByZWZzLmM6MjA0NSByZWZzLmM6MjA4MAorIzogcmVmcy5jOjIxNTcgcmVmcy5jOjIxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHByb2Nlc3MgJyVzJyBhbmQgJyVzJyBhdCB0aGUgc2FtZSB0aW1lIgogbXNnc3RyICJLYW5uICclcycgdW5kICclcycgbmljaHQgenVyIHNlbGJlbiBaZWl0IHZlcmFyYmVpdGVuLiIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTIyOAorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTIzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIHJlZmVyZW5jZSAlcyIKIG1zZ3N0ciAiS29ubnRlIFJlZmVyZW56ICVzIG5pY2h0IGzDtnNjaGVuIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxMjQyIHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTMyCi0jOiByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTU0MgorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTI0OCByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTU0MQorIzogcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2UgJXM6ICVzIgogbXNnc3RyICJLb25udGUgUmVmZXJlbnogJXMgbmljaHQgZW50ZmVybmVuOiAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTI0NSByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTU0NQorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTI1MSByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTU1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZXM6ICVzIgogbXNnc3RyICJLb25udGUgUmVmZXJlbnplbiBuaWNodCBlbnRmZXJuZW46ICVzIgpAQCAtNDA0NiwzNTEgKzU2MDgsNDkyIEBACiBtc2dpZCAiaW52YWxpZCByZWZzcGVjICclcyciCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgUmVmc3BlYyAnJXMnIgogCi0jOiByZWYtZmlsdGVyLmM6Mzkgd3Qtc3RhdHVzLmM6MTg1NQorIzogcmVmLWZpbHRlci5jOjQyIHd0LXN0YXR1cy5jOjE5MzgKIG1zZ2lkICJnb25lIgogbXNnc3RyICJlbnRmZXJudCIKIAotIzogcmVmLWZpbHRlci5jOjQwCisjOiByZWYtZmlsdGVyLmM6NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWhlYWQgJWQiCiBtc2dzdHIgIiVkIHZvcmF1cyIKIAotIzogcmVmLWZpbHRlci5jOjQxCisjOiByZWYtZmlsdGVyLmM6NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmVoaW5kICVkIgogbXNnc3RyICIlZCBoaW50ZXJoZXIiCiAKLSM6IHJlZi1maWx0ZXIuYzo0MgorIzogcmVmLWZpbHRlci5jOjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImFoZWFkICVkLCBiZWhpbmQgJWQiCiBtc2dzdHIgIiVkIHZvcmF1cywgJWQgaGludGVyaGVyIgogCi0jOiByZWYtZmlsdGVyLmM6MTM4CisjOiByZWYtZmlsdGVyLmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIGZvcm1hdDogJSUoY29sb3I6PGNvbG9yPikiCiBtc2dzdHIgIkVyd2FydGV0ZXMgRm9ybWF0OiAlJShjb2xvcjo8RmFyYmU+KSIKIAotIzogcmVmLWZpbHRlci5jOjE0MAorIzogcmVmLWZpbHRlci5jOjE2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgY29sb3I6ICUlKGNvbG9yOiVzKSIKIG1zZ3N0ciAibmljaHQgZXJrYW5udGUgRmFyYmU6ICUlKGNvbG9yOiVzKSIKIAotIzogcmVmLWZpbHRlci5jOjE2MgorIzogcmVmLWZpbHRlci5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnRlZ2VyIHZhbHVlIGV4cGVjdGVkIHJlZm5hbWU6bHN0cmlwPSVzIgogbXNnc3RyICJQb3NpdGl2ZXIgV2VydCBlcndhcnRldCByZWZuYW1lOmxzdHJpcD0lcyIKIAotIzogcmVmLWZpbHRlci5jOjE2NgorIzogcmVmLWZpbHRlci5jOjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnRlZ2VyIHZhbHVlIGV4cGVjdGVkIHJlZm5hbWU6cnN0cmlwPSVzIgogbXNnc3RyICJQb3NpdGl2ZXIgV2VydCBlcndhcnRldCByZWZuYW1lOnJzdHJpcD0lcyIKIAotIzogcmVmLWZpbHRlci5jOjE2OAorIzogcmVmLWZpbHRlci5jOjE5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoJXMpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAibmljaHQgZXJrYW5udGVzICUlKCVzKSBBcmd1bWVudDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoyMjMKKyM6IHJlZi1maWx0ZXIuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUob2JqZWN0dHlwZSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKG9iamVjdHR5cGUpIGFremVwdGllcnQga2VpbmUgQXJndW1lbnRlIgogCi0jOiByZWYtZmlsdGVyLmM6MjM1CisjOiByZWYtZmlsdGVyLmM6MjcyCiAjLCBjLWZvcm1hdAotbXNnaWQgIiUlKG9iamVjdHNpemUpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgotbXNnc3RyICIlJShvYmplY3RzaXplKSBha3plcHRpZXJ0IGtlaW5lIEFyZ3VtZW50ZSIKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUob2JqZWN0c2l6ZSkgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJuaWNodCBlcmthbm50ZXMgJSUob2JqZWN0c2l6ZSkgQXJndW1lbnQ6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MjQ3CisjOiByZWYtZmlsdGVyLmM6MjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlKGRlbHRhYmFzZSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCittc2dzdHIgIiUlKGRlbHRhYmFzZSkgYWt6ZXB0aWVydCBrZWluZSBBcmd1bWVudGUiCisKKyM6IHJlZi1maWx0ZXIuYzoyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUoYm9keSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKGJvZHkpIGFremVwdGllcnQga2VpbmUgQXJndW1lbnRlIgogCi0jOiByZWYtZmlsdGVyLmM6MjU2CisjOiByZWYtZmlsdGVyLmM6MzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiUlKHN1YmplY3QpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgogbXNnc3RyICIlJShzdWJqZWN0KSBha3plcHRpZXJ0IGtlaW5lIEFyZ3VtZW50ZSIKIAotIzogcmVmLWZpbHRlci5jOjI3OAorIzogcmVmLWZpbHRlci5jOjMyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duICUlKHRyYWlsZXJzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgInVuYmVrYW5udGVzICUlKHRyYWlsZXJzKSBBcmd1bWVudDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozMDcKKyM6IHJlZi1maWx0ZXIuYzozNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgY29udGVudHM6bGluZXM9JXMiCiBtc2dzdHIgIlBvc2l0aXZlciBXZXJ0IGVyd2FydGV0IGNvbnRlbnRzOmxpbmVzPSVzIgogCi0jOiByZWYtZmlsdGVyLmM6MzA5CisjOiByZWYtZmlsdGVyLmM6MzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShjb250ZW50cykgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJuaWNodCBlcmthbm50ZXMgJSUoY29udGVudHMpIEFyZ3VtZW50OiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjMyNAorIzogcmVmLWZpbHRlci5jOjM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBvYmplY3RuYW1lOnNob3J0PSVzIgogbXNnc3RyICJQb3NpdGl2ZXIgV2VydCBlcndhcnRldCBvYmplY3RuYW1lOnNob3J0PSVzIgogCi0jOiByZWYtZmlsdGVyLmM6MzI4CisjOiByZWYtZmlsdGVyLmM6MzczCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RuYW1lKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIm5pY2h0IGVya2FubnRlcyAlJShvYmplY3RuYW1lKSBBcmd1bWVudDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozNTgKKyM6IHJlZi1maWx0ZXIuYzo0MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgZm9ybWF0OiAlJShhbGlnbjo8d2lkdGg+LDxwb3NpdGlvbj4pIgogbXNnc3RyICJFcndhcnRldGVzIEZvcm1hdDogJSUoYWxpZ246PEJyZWl0ZT4sPFBvc2l0aW9uPikiCiAKLSM6IHJlZi1maWx0ZXIuYzozNzAKKyM6IHJlZi1maWx0ZXIuYzo0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHBvc2l0aW9uOiVzIgogbXNnc3RyICJuaWNodCBlcmthbm50ZSBQb3NpdGlvbjolcyIKIAotIzogcmVmLWZpbHRlci5jOjM3NworIzogcmVmLWZpbHRlci5jOjQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgd2lkdGg6JXMiCiBtc2dzdHIgIm5pY2h0IGVya2FubnRlIEJyZWl0ZTolcyIKIAotIzogcmVmLWZpbHRlci5jOjM4NgorIzogcmVmLWZpbHRlci5jOjQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoYWxpZ24pIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAibmljaHQgZXJrYW5udGVzICUlKGFsaWduKSBBcmd1bWVudDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozOTQKKyM6IHJlZi1maWx0ZXIuYzo0MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgd2lkdGggZXhwZWN0ZWQgd2l0aCB0aGUgJSUoYWxpZ24pIGF0b20iCiBtc2dzdHIgIlBvc2l0aXZlIEJyZWl0ZW5hbmdhYmUgZsO8ciAlJShhbGlnbikgZXJ3YXJ0ZXQiCiAKLSM6IHJlZi1maWx0ZXIuYzo0MTIKKyM6IHJlZi1maWx0ZXIuYzo0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGlmKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIm5pY2h0IGVya2FubnRlcyAlJShpZikgQXJndW1lbnQ6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6NTA4CisjOiByZWYtZmlsdGVyLmM6NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBmaWVsZCBuYW1lOiAlLipzIgogbXNnc3RyICJGZWhsZXJoYWZ0ZXIgRmVsZG5hbWU6ICUuKnMiCiAKLSM6IHJlZi1maWx0ZXIuYzo1MzUKKyM6IHJlZi1maWx0ZXIuYzo1ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBmaWVsZCBuYW1lOiAlLipzIgogbXNnc3RyICJVbmJla2FubnRlciBGZWxkbmFtZTogJS4qcyIKIAotIzogcmVmLWZpbHRlci5jOjUzOQorIzogcmVmLWZpbHRlci5jOjU5MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGEgZ2l0IHJlcG9zaXRvcnksIGJ1dCB0aGUgZmllbGQgJyUuKnMnIHJlcXVpcmVzIGFjY2VzcyB0byBvYmplY3QgZGF0YSIKLW1zZ3N0ciAiS2VpbiBHaXQtUmVwb3NpdG9yeSwgYWJlciBkYXMgRmVsZCAnJS4qcycgZXJmb3JkZXJ0IFp1Z3JpZmYgYXVmIE9iamVrdGRhdGVuLiIKK21zZ3N0ciAiIgorIktlaW4gR2l0LVJlcG9zaXRvcnksIGFiZXIgZGFzIEZlbGQgJyUuKnMnIGVyZm9yZGVydCBadWdyaWZmIGF1ZiBPYmpla3RkYXRlbi4iCiAKLSM6IHJlZi1maWx0ZXIuYzo2NjMKKyM6IHJlZi1maWx0ZXIuYzo3MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShpZikgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgogbXNnc3RyICJmb3JtYXQ6ICUlKGlmKSBBdG9tIG9obmUgZWluICUlKHRoZW4pIEF0b20gdmVyd2VuZGV0IgogCi0jOiByZWYtZmlsdGVyLmM6NzI2CisjOiByZWYtZmlsdGVyLmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIHdpdGhvdXQgYW4gJSUoaWYpIGF0b20iCiBtc2dzdHIgImZvcm1hdDogJSUodGhlbikgQXRvbSBvaG5lIGVpbiAlJShpZikgQXRvbSB2ZXJ3ZW5kZXQiCiAKLSM6IHJlZi1maWx0ZXIuYzo3MjgKKyM6IHJlZi1maWx0ZXIuYzo3NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiCiBtc2dzdHIgImZvcm1hdDogJSUodGhlbikgQXRvbSBtZWhyIGFscyBlaW5tYWwgdmVyd2VuZGV0IgogCi0jOiByZWYtZmlsdGVyLmM6NzMwCisjOiByZWYtZmlsdGVyLmM6NzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIGFmdGVyICUlKGVsc2UpIgogbXNnc3RyICJmb3JtYXQ6ICUlKHRoZW4pIEF0b20gbmFjaCAlJShlbHNlKSB2ZXJ3ZW5kZXQiCiAKLSM6IHJlZi1maWx0ZXIuYzo3NTgKKyM6IHJlZi1maWx0ZXIuYzo4MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKIG1zZ3N0ciAiZm9ybWF0OiAlJShlbHNlKSBBdG9tIG9obmUgZWluICUlKGlmKSBBdG9tIHZlcndlbmRldCIKIAotIzogcmVmLWZpbHRlci5jOjc2MAorIzogcmVmLWZpbHRlci5jOjgxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCB3aXRob3V0IGEgJSUodGhlbikgYXRvbSIKIG1zZ3N0ciAiRm9ybWF0OiAlJShlbHNlKSBBdG9tIG9obmUgZWluICUlKHRoZW4pIEF0b20gdmVyd2VuZGV0IgogCi0jOiByZWYtZmlsdGVyLmM6NzYyCisjOiByZWYtZmlsdGVyLmM6ODEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIG1vcmUgdGhhbiBvbmNlIgogbXNnc3RyICJGb3JtYXQ6ICUlKGVuZCkgQXRvbSBtZWhyIGFscyBlaW5tYWwgdmVyd2VuZGV0IgogCi0jOiByZWYtZmlsdGVyLmM6Nzc3CisjOiByZWYtZmlsdGVyLmM6ODI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZW5kKSBhdG9tIHVzZWQgd2l0aG91dCBjb3JyZXNwb25kaW5nIGF0b20iCiBtc2dzdHIgIkZvcm1hdDogJSUoZW5kKSBBdG9tIG9obmUgenVnZWjDtnJpZ2VzIEF0b20gdmVyd2VuZGV0IgogCi0jOiByZWYtZmlsdGVyLmM6ODM0CisjOiByZWYtZmlsdGVyLmM6ODg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBmb3JtYXQgc3RyaW5nICVzIgogbXNnc3RyICJGZWhsZXJoYWZ0ZXIgRm9ybWF0aWVydW5nc3N0cmluZyAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE0MjQKKyM6IHJlZi1maWx0ZXIuYzoxNDg4CiAjLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKLW1zZ3N0ciAiKGtlaW4gQnJhbmNoLCBSZWJhc2Ugdm9uIEJyYW5jaCAlcyBpbSBHYW5nZSkiCittc2dpZCAibm8gYnJhbmNoLCByZWJhc2luZyAlcyIKK21zZ3N0ciAia2VpbiBCcmFuY2gsIFJlYmFzZSB2b24gJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDI3CisjOiByZWYtZmlsdGVyLmM6MTQ5MQogIywgYy1mb3JtYXQKLW1zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyBkZXRhY2hlZCBIRUFEICVzKSIKLW1zZ3N0ciAiKGtlaW4gQnJhbmNoLCBSZWJhc2Ugdm9uIGxvc2dlbMO2c3RlbSBIRUFEICVzKSIKK21zZ2lkICJubyBicmFuY2gsIHJlYmFzaW5nIGRldGFjaGVkIEhFQUQgJXMiCittc2dzdHIgImtlaW4gQnJhbmNoLCBSZWJhc2Ugdm9uIGxvc2dlbMO2c3RlbSBIRUFEICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTQzMAorIzogcmVmLWZpbHRlci5jOjE0OTQKICMsIGMtZm9ybWF0Ci1tc2dpZCAiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIgotbXNnc3RyICIoa2VpbiBCcmFuY2gsIGJpbsOkcmUgU3VjaGUgYmVnb25uZW4gYmVpICVzKSIKK21zZ2lkICJubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzIgorbXNnc3RyICJrZWluIEJyYW5jaCwgYmluw6RyZSBTdWNoZSBiZWdvbm5lbiBiZWkgJXMiCiAKLSMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECi0jLiBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCi0jLgotIzogcmVmLWZpbHRlci5jOjE0MzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgotbXNnc3RyICIoSEVBRCBsb3NnZWzDtnN0IGJlaSAlcykiCisjOiByZWYtZmlsdGVyLmM6MTUwNAorbXNnaWQgIm5vIGJyYW5jaCIKK21zZ3N0ciAia2VpbiBCcmFuY2giCiAKLSMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECi0jLiBkZXRhY2hlZCBmcm9tICIgaW4gd3Qtc3RhdHVzLmMKLSMuCi0jOiByZWYtZmlsdGVyLmM6MTQ0NQotIywgYy1mb3JtYXQKLW1zZ2lkICIoSEVBRCBkZXRhY2hlZCBmcm9tICVzKSIKLW1zZ3N0ciAiKEhFQUQgbG9zZ2Vsw7ZzdCB2b24gJXMpIgotCi0jOiByZWYtZmlsdGVyLmM6MTQ0OQotbXNnaWQgIihubyBicmFuY2gpIgotbXNnc3RyICIoa2VpbiBCcmFuY2gpIgotCi0jOiByZWYtZmlsdGVyLmM6MTQ4MyByZWYtZmlsdGVyLmM6MTYzOAorIzogcmVmLWZpbHRlci5jOjE1NDAgcmVmLWZpbHRlci5jOjE3NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBvYmplY3QgJXMgZm9yICVzIgogbXNnc3RyICJPYmpla3QgJXMgZmVobHQgZsO8ciAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE0OTEKKyM6IHJlZi1maWx0ZXIuYzoxNTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhcnNlX29iamVjdF9idWZmZXIgZmFpbGVkIG9uICVzIGZvciAlcyIKIG1zZ3N0ciAicGFyc2Vfb2JqZWN0X2J1ZmZlciBiZWkgJXMgZsO8ciAlcyBmZWhsZ2VzY2hsYWdlbiIKIAotIzogcmVmLWZpbHRlci5jOjE4NTcKKyM6IHJlZi1maWx0ZXIuYzoyMDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgYXQgJyVzJyIKIG1zZ3N0ciAiZmVobGVyaGFmdGVzIE9iamVrdCBiZWkgJyVzJyIKIAotIzogcmVmLWZpbHRlci5jOjE5NDYKKyM6IHJlZi1maWx0ZXIuYzoyMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHJlZiB3aXRoIGJyb2tlbiBuYW1lICVzIgogbXNnc3RyICJJZ25vcmllcmUgUmVmZXJlbnogbWl0IGZlaGxlcmhhZnRlbSBOYW1lbiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjIyMzIKKyM6IHJlZi1maWx0ZXIuYzoyMzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZW5kKSBhdG9tIG1pc3NpbmciCiBtc2dzdHIgIkZvcm1hdDogJSUoZW5kKSBBdG9tIGZlaGx0IgogCi0jOiByZWYtZmlsdGVyLmM6MjMzOAorIzogcmVmLWZpbHRlci5jOjI0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1tZXJnZWQiCittc2dzdHIgIkRpZSBPcHRpb24gYCVzJyBpc3QgaW5rb21wYXRpYmVsIG1pdCAtLW1lcmdlZC4iCisKKyM6IHJlZi1maWx0ZXIuYzoyNDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbm8tbWVyZ2VkIgorbXNnc3RyICJEaWUgT3B0aW9uIGAlcycgaXN0IGlua29tcGF0aWJlbCBtaXQgLS1uby1tZXJnZWQuIgorCisjOiByZWYtZmlsdGVyLmM6MjUwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgIk1pc3NnZWJpbGRldGVyIE9iamVrdG5hbWUgJXMiCiAKLSM6IHJlbW90ZS5jOjYwNworIzogcmVmLWZpbHRlci5jOjI1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgbXVzdCBwb2ludCB0byBhIGNvbW1pdCIKK21zZ3N0ciAiRGllIE9wdGlvbiBgJXMnIG11c3MgYXVmIGVpbmVuIENvbW1pdCB6ZWlnZW4uIgorCisjOiByZW1vdGUuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29uZmlnIHJlbW90ZSBzaG9ydGhhbmQgY2Fubm90IGJlZ2luIHdpdGggJy8nOiAlcyIKK21zZ3N0ciAiIgorIkvDvHJ6ZWwgZsO8ciBSZW1vdGUtUmVwb3NpdG9yeSBpbiBkZXIgS29uZmlndXJhdGlvbiBrYW5uIG5pY2h0IG1pdCAnLycgIgorImJlZ2lubmVuOiAlcyIKKworIzogcmVtb3RlLmM6NDEzCittc2dpZCAibW9yZSB0aGFuIG9uZSByZWNlaXZlcGFjayBnaXZlbiwgdXNpbmcgdGhlIGZpcnN0IgorbXNnc3RyICJNZWhyIGFscyBlaW4gcmVjZWl2ZXBhY2stQmVmZWhsIGFuZ2VnZWJlbiwgYmVudXR6ZSBkZW4gZXJzdGVuLiIKKworIzogcmVtb3RlLmM6NDIxCittc2dpZCAibW9yZSB0aGFuIG9uZSB1cGxvYWRwYWNrIGdpdmVuLCB1c2luZyB0aGUgZmlyc3QiCittc2dzdHIgIk1laHIgYWxzIGVpbiB1cGxvYWRwYWNrLUJlZmVobCBhbmdlZ2ViZW4sIGJlbnV0emUgZGVuIGVyc3Rlbi4iCisKKyM6IHJlbW90ZS5jOjYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZmV0Y2ggYm90aCAlcyBhbmQgJXMgdG8gJXMiCiBtc2dzdHIgIkthbm4gJ2ZldGNoJyBuaWNodCBmw7xyIHNvd29obCAlcyBhbHMgYXVjaCAlcyBuYWNoICVzIGF1c2bDvGhyZW4uIgogCi0jOiByZW1vdGUuYzo2MTEKKyM6IHJlbW90ZS5jOjYxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB1c3VhbGx5IHRyYWNrcyAlcywgbm90ICVzIgogbXNnc3RyICIlcyBmb2xndCDDvGJsaWNoZXJ3ZWlzZSAlcywgbmljaHQgJXMiCiAKLSM6IHJlbW90ZS5jOjYxNQorIzogcmVtb3RlLmM6NjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHRyYWNrcyBib3RoICVzIGFuZCAlcyIKIG1zZ3N0ciAiJXMgZm9sZ3Qgc293b2hsICVzIGFscyBhdWNoICVzIgogCi0jOiByZW1vdGUuYzo2MjMKLW1zZ2lkICJJbnRlcm5hbCBlcnJvciIKLW1zZ3N0ciAiSW50ZXJuZXIgRmVobGVyIgorIzogcmVtb3RlLmM6Njg3CisjLCBjLWZvcm1hdAorbXNnaWQgImtleSAnJXMnIG9mIHBhdHRlcm4gaGFkIG5vICcqJyIKK21zZ3N0ciAiU2NobMO8c3NlbCAnJXMnIGRlcyBNdXN0ZXJzIGhhdHRlIGtlaW4gJyonLiIKIAotIzogcmVtb3RlLmM6MTU2OSByZW1vdGUuYzoxNjcwCisjOiByZW1vdGUuYzo2OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidmFsdWUgJyVzJyBvZiBwYXR0ZXJuIGhhcyBubyAnKiciCittc2dzdHIgIldlcnQgJyVzJyBkZXMgTXVzdGVycyBoYXQga2VpbiAnKicuIgorCisjOiByZW1vdGUuYzoxMDAzCisjLCBjLWZvcm1hdAorbXNnaWQgInNyYyByZWZzcGVjICVzIGRvZXMgbm90IG1hdGNoIGFueSIKK21zZ3N0ciAiU3JjLVJlZnNwZWMgJXMgZW50c3ByaWNodCBrZWluZXIgUmVmZXJlbnouIgorCisjOiByZW1vdGUuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgInNyYyByZWZzcGVjICVzIG1hdGNoZXMgbW9yZSB0aGFuIG9uZSIKK21zZ3N0ciAiU3JjLVJlZnNwZWMgJXMgZW50c3ByaWNodCBtZWhyIGFscyBlaW5lciBSZWZlcmVuei4iCisKKyMuIFRSQU5TTEFUT1JTOiAibWF0Y2hlcyAnJXMnJSIgaXMgdGhlIDxkc3Q+IHBhcnQgb2YgImdpdCBwdXNoCisjLiA8cmVtb3RlPiA8c3JjPjo8ZHN0PiIgcHVzaCwgYW5kICJiZWluZyBwdXNoZWQgKCclcycpIiBpcworIy4gdGhlIDxzcmM+LgorIy4KKyM6IHJlbW90ZS5jOjEwMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZXN0aW5hdGlvbiB5b3UgcHJvdmlkZWQgaXMgbm90IGEgZnVsbCByZWZuYW1lIChpLmUuLFxuIgorInN0YXJ0aW5nIHdpdGggXCJyZWZzL1wiKS4gV2UgdHJpZWQgdG8gZ3Vlc3Mgd2hhdCB5b3UgbWVhbnQgYnk6XG4iCisiXG4iCisiLSBMb29raW5nIGZvciBhIHJlZiB0aGF0IG1hdGNoZXMgJyVzJyBvbiB0aGUgcmVtb3RlIHNpZGUuXG4iCisiLSBDaGVja2luZyBpZiB0aGUgPHNyYz4gYmVpbmcgcHVzaGVkICgnJXMnKVxuIgorIiAgaXMgYSByZWYgaW4gXCJyZWZzL3toZWFkcyx0YWdzfS9cIi4gSWYgc28gd2UgYWRkIGEgY29ycmVzcG9uZGluZ1xuIgorIiAgcmVmcy97aGVhZHMsdGFnc30vIHByZWZpeCBvbiB0aGUgcmVtb3RlIHNpZGUuXG4iCisiXG4iCisiTmVpdGhlciB3b3JrZWQsIHNvIHdlIGdhdmUgdXAuIFlvdSBtdXN0IGZ1bGx5IHF1YWxpZnkgdGhlIHJlZi4iCittc2dzdHIgIiIKKyJEYXMgYW5nZWdlYmVuZSBaaWVsIGlzdCBrZWluIHZvbGxzdMOkbmRpZ2VyIFJlZmVyZW56bmFtZSAoc3RhcnRldCBtaXQgXCJyZWZzLyIKKyJcIikuXG4iCisiV2lyIHZlcnN1Y2h0ZW4genUgZXJyYXRlbiwgd2FzIFNpZSBtZWludGVuLCBtaXQ6XG4iCisiXG4iCisiLSBTdWNoZSBlaW5lciBSZWZlcmVueiwgZGllIG1pdCAnJXMnIMO8YmVyZWluc3RpbW10LCBhdWYgZGVyIFJlbW90ZS1TZWl0ZVxuIgorIi0gUHLDvGZ1bmcsIG9iIGRpZSB2ZXJzZW5kZXRlIDxRdWVsbGU+ICgnJXMnKSBlaW5lIFJlZmVyZW56IGluIFwicmVmcy97aGVhZHMsIgorInRhZ3N9XCJcbiIKKyIgIGlzdCwgaW4gZGVzc2VuIEZhbGxlIHdpciBlaW5lbiBlbnRzcHJlY2hlbmRlbiByZWZzL3toZWFkcyx0YWdzfSBQcsOkZml4ICIKKyJhdWZcbiIKKyIgIGRlciBSZW1vdGUtU2VpdGUgaGluenVmw7xnZW4gd8O8cmRlbi5cbiIKKyJcbiIKKyJLZWluZXMgaGF0IGZ1bmt0aW9uaWVydCwgc29kYXNzIHdpciBhdWZnZWdlYmVuIGhhYmVuLiBTaWUgbcO8c3NlbiBkaWVcbiIKKyJSZWZlcmVueiBtaXQgdm9sbHF1YWxpZml6aWVydGVuIE5hbWVuIGFuZ2ViZW4uIgorCisjOiByZW1vdGUuYzoxMDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIGNvbW1pdCBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL2hlYWRzLyVzJz8iCittc2dzdHIgIiIKKyJEZXIgPFF1ZWxsZT4gVGVpbCBkZXIgUmVmc3BlYyBpc3QgZWluIENvbW1pdC1PYmpla3QuXG4iCisiTWVpbnRlbiBTaWUsIGVpbmVuIG5ldWVuIEJyYW5jaCBtaXR0ZWxzIFB1c2ggbmFjaFxuIgorIiclczpyZWZzL2hlYWRzLyVzJyB6dSBlcnN0ZWxsZW4/IgorCisjOiByZW1vdGUuYzoxMDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIHRhZyBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIGNyZWF0ZSBhIG5ldyB0YWcgYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL3RhZ3MvJXMnPyIKK21zZ3N0ciAiIgorIkRlciA8UXVlbGxlPiBUZWlsIGRlciBSZWZzcGVjIGlzdCBlaW4gVGFnLU9iamVrdC5cbiIKKyJNZWludGVuIFNpZSwgZWluZW4gbmV1ZW4gVGFnIG1pdHRlbHMgUHVzaCBuYWNoXG4iCisiJyVzOnJlZnMvdGFncy8lcycgenUgZXJzdGVsbGVuPyIKKworIzogcmVtb3RlLmM6MTA1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSB0cmVlIG9iamVjdC5cbiIKKyJEaWQgeW91IG1lYW4gdG8gdGFnIGEgbmV3IHRyZWUgYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL3RhZ3MvJXMnPyIKK21zZ3N0ciAiIgorIkRlciA8UXVlbGxlPiBUZWlsIGRlciBSZWZzcGVjIGlzdCBlaW4gVHJlZS1PYmpla3QuXG4iCisiTWVpbnRlbiBTaWUsIGVpbmVuIFRhZyBmw7xyIGVpbiBuZXVlcyBUcmVlLU9iamVrdFxuIgorIm1pdHRlbHMgUHVzaCBuYWNoICclczpyZWZzL3RhZ3MvJyVzJyB6dSBlcnN0ZWxsZW4/IgorCisjOiByZW1vdGUuYzoxMDU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIGJsb2Igb2JqZWN0LlxuIgorIkRpZCB5b3UgbWVhbiB0byB0YWcgYSBuZXcgYmxvYiBieSBwdXNoaW5nIHRvXG4iCisiJyVzOnJlZnMvdGFncy8lcyc/IgorbXNnc3RyICIiCisiRGVyIDxRdWVsbGU+IFRlaWwgZGVyIFJlZnNwZWMgaXN0IGVpbiBCbG9iLU9iamVrdC5cbiIKKyJNZWludGVuIFNpZSwgZWluZW4gVGFnIGbDvHIgZWluIG5ldWVzIEJsb2ItT2JqZWt0XG4iCisibWl0dGVscyBQdXNoIG5hY2ggJyVzOnJlZnMvdGFncy8lcycgenUgZXJzdGVsbGVuPyIKKworIzogcmVtb3RlLmM6MTA5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYnJhbmNoIgorbXNnc3RyICIlcyBrYW5uIG5pY2h0IHp1IEJyYW5jaCBhdWZnZWzDtnN0IHdlcmRlbi4iCisKKyM6IHJlbW90ZS5jOjExMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGRlbGV0ZSAnJXMnOiByZW1vdGUgcmVmIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBsw7ZzY2hlbjogUmVtb3RlLVJlZmVyZW56IGV4aXN0aWVydCBuaWNodC4iCisKKyM6IHJlbW90ZS5jOjExMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHN0IHJlZnNwZWMgJXMgbWF0Y2hlcyBtb3JlIHRoYW4gb25lIgorbXNnc3RyICJEc3QtUmVmc3BlYyAlcyBlbnRzcHJpY2h0IG1laHIgYWxzIGVpbmVyIFJlZmVyZW56LiIKKworIzogcmVtb3RlLmM6MTEyNAorIywgYy1mb3JtYXQKK21zZ2lkICJkc3QgcmVmICVzIHJlY2VpdmVzIGZyb20gbW9yZSB0aGFuIG9uZSBzcmMiCittc2dzdHIgIkRzdC1SZWZlcmVueiAlcyBlbXBmw6RuZ3Qgdm9uIG1laHIgYWxzIGVpbmVyIFF1ZWxsZSIKKworIzogcmVtb3RlLmM6MTYyNyByZW1vdGUuYzoxNzI4CiBtc2dpZCAiSEVBRCBkb2VzIG5vdCBwb2ludCB0byBhIGJyYW5jaCIKIG1zZ3N0ciAiSEVBRCB6ZWlndCBhdWYga2VpbmVuIEJyYW5jaCIKIAotIzogcmVtb3RlLmM6MTU3OAorIzogcmVtb3RlLmM6MTYzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaDogJyVzJyIKIG1zZ3N0ciAiS2VpbiBzb2xjaGVyIEJyYW5jaDogJyVzJyIKIAotIzogcmVtb3RlLmM6MTU4MQorIzogcmVtb3RlLmM6MTYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiS2VpbiBVcHN0cmVhbS1CcmFuY2ggZsO8ciBCcmFuY2ggJyVzJyBrb25maWd1cmllcnQuIgogCi0jOiByZW1vdGUuYzoxNTg3CisjOiByZW1vdGUuYzoxNjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICJVcHN0cmVhbS1CcmFuY2ggJyVzJyBuaWNodCBhbHMgUmVtb3RlLVRyYWNraW5nLUJyYW5jaCBnZXNwZWljaGVydCIKIAotIzogcmVtb3RlLmM6MTYwMgorIzogcmVtb3RlLmM6MTY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwdXNoIGRlc3RpbmF0aW9uICclcycgb24gcmVtb3RlICclcycgaGFzIG5vIGxvY2FsIHRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAiIgogIlppZWwgZsO8ciBcInB1c2hcIiAnJXMnIGF1ZiBSZW1vdGUtUmVwb3NpdG9yeSAnJXMnIGhhdCBrZWluZW4gbG9rYWwgZ2Vmb2xndGVuICIKICJCcmFuY2giCiAKLSM6IHJlbW90ZS5jOjE2MTQKKyM6IHJlbW90ZS5jOjE2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgaGFzIG5vIHJlbW90ZSBmb3IgcHVzaGluZyIKIG1zZ3N0ciAiQnJhbmNoICclcycgaGF0IGtlaW5lbiBVcHN0cmVhbS1CcmFuY2ggZ2VzZXR6dCIKIAotIzogcmVtb3RlLmM6MTYyNAorIzogcmVtb3RlLmM6MTY4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwdXNoIHJlZnNwZWNzIGZvciAnJXMnIGRvIG5vdCBpbmNsdWRlICclcyciCiBtc2dzdHIgIlB1c2gtUmVmc3BlY3MgZsO8ciAnJXMnIGJlaW5oYWx0ZW4gbmljaHQgJyVzJyIKIAotIzogcmVtb3RlLmM6MTYzNworIzogcmVtb3RlLmM6MTY5NQogbXNnaWQgInB1c2ggaGFzIG5vIGRlc3RpbmF0aW9uIChwdXNoLmRlZmF1bHQgaXMgJ25vdGhpbmcnKSIKIG1zZ3N0ciAia2VpbiBaaWVsIGbDvHIgXCJwdXNoXCIgKHB1c2guZGVmYXVsdCBpc3QgJ25vdGhpbmcnKSIKIAotIzogcmVtb3RlLmM6MTY1OQorIzogcmVtb3RlLmM6MTcxNwogbXNnaWQgImNhbm5vdCByZXNvbHZlICdzaW1wbGUnIHB1c2ggdG8gYSBzaW5nbGUgZGVzdGluYXRpb24iCiBtc2dzdHIgImthbm4gZWluemVsbmVzIFppZWwgZsO8ciBcInB1c2hcIiBpbSBNb2R1cyAnc2ltcGxlJyBuaWNodCBhdWZsw7ZzZW4iCiAKLSM6IHJlbW90ZS5jOjE5MzUKKyM6IHJlbW90ZS5jOjE4NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCByZW1vdGUgcmVmICVzIgorbXNnc3RyICJLb25udGUgUmVtb3RlLVJlZmVyZW56ICVzIG5pY2h0IGZpbmRlbi4iCisKKyM6IHJlbW90ZS5jOjE4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiKiBJZ25vcmluZyBmdW5ueSByZWYgJyVzJyBsb2NhbGx5IgorbXNnc3RyICIqIElnbm9yaWVyZSBzb25kZXJiYXJlIFJlZmVyZW56ICclcycgbG9rYWwiCisKKyM6IHJlbW90ZS5jOjIwMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgogbXNnc3RyICIiCiAiSWhyIEJyYW5jaCBiYXNpZXJ0IGF1ZiAnJXMnLCBhYmVyIGRlciBVcHN0cmVhbS1CcmFuY2ggd3VyZGUgZW50ZmVybnQuXG4iCiAKLSM6IHJlbW90ZS5jOjE5MzkKKyM6IHJlbW90ZS5jOjIwMjMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIKIG1zZ3N0ciAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIgenVtIEJlaGViZW4pXG4iCiAKLSM6IHJlbW90ZS5jOjE5NDIKKyM6IHJlbW90ZS5jOjIwMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgdXAgdG8gZGF0ZSB3aXRoICclcycuXG4iCiBtc2dzdHIgIklociBCcmFuY2ggaXN0IGF1ZiBkZW1zZWxiZW4gU3RhbmQgd2llICclcycuXG4iCiAKLSM6IHJlbW90ZS5jOjE5NDYKKyM6IHJlbW90ZS5jOjIwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggYW5kICclcycgcmVmZXIgdG8gZGlmZmVyZW50IGNvbW1pdHMuXG4iCiBtc2dzdHIgIklociBCcmFuY2ggdW5kICclcycgemVpZ2VuIGF1ZiB1bnRlcnNjaGllZGxpY2hlIENvbW1pdHMuXG4iCiAKLSM6IHJlbW90ZS5jOjE5NDkKKyM6IHJlbW90ZS5jOjIwMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiJXNcIiBmb3IgZGV0YWlscylcbiIKIG1zZ3N0ciAiICAoYmVudXR6ZW4gU2llIFwiJXNcIiBmw7xyIERldGFpbHMpXG4iCiAKLSM6IHJlbW90ZS5jOjE5NTMKKyM6IHJlbW90ZS5jOjIwMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKIG1zZ3N0clswXSAiSWhyIEJyYW5jaCBpc3QgJTIkZCBDb21taXQgdm9yICclMSRzJy5cbiIKIG1zZ3N0clsxXSAiSWhyIEJyYW5jaCBpc3QgJTIkZCBDb21taXRzIHZvciAnJTEkcycuXG4iCiAKLSM6IHJlbW90ZS5jOjE5NTkKKyM6IHJlbW90ZS5jOjIwNDMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIgogbXNnc3RyICIgIChiZW51dHplbiBTaWUgXCJnaXQgcHVzaFwiLCB1bSBsb2thbGUgQ29tbWl0cyB6dSBwdWJsaXppZXJlbilcbiIKIAotIzogcmVtb3RlLmM6MTk2MgorIzogcmVtb3RlLmM6MjA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBiZWhpbmQgJyVzJyBieSAlZCBjb21taXQsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCiBtc2dpZF9wbHVyYWwgIiIKQEAgLTQ0MDAsMTIgKzYxMDMsMTIgQEAKIG1zZ3N0clsxXSAiIgogIklociBCcmFuY2ggaXN0ICUyJGQgQ29tbWl0cyBoaW50ZXIgJyUxJHMnLCB1bmQga2FubiB2b3JnZXNwdWx0IHdlcmRlbi5cbiIKIAotIzogcmVtb3RlLmM6MTk3MAorIzogcmVtb3RlLmM6MjA1NAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHB1bGxcIiwgdW0gSWhyZW4gbG9rYWxlbiBCcmFuY2ggenUgYWt0dWFsaXNpZXJlbilcbiIKIAotIzogcmVtb3RlLmM6MTk3MworIzogcmVtb3RlLmM6MjA1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKQEAgLTQ0MjAsMTIgKzYxMjMsMTcgQEAKICJJaHIgQnJhbmNoIHVuZCAnJXMnIHNpbmQgZGl2ZXJnaWVydCxcbiIKICJ1bmQgaGFiZW4gamV3ZWlscyAlZCB1bmQgJWQgdW50ZXJzY2hpZWRsaWNoZSBDb21taXRzLlxuIgogCi0jOiByZW1vdGUuYzoxOTgzCisjOiByZW1vdGUuYzoyMDY3CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHB1bGxcIiwgdW0gSWhyZW4gQnJhbmNoIG1pdCBkZW0gUmVtb3RlLUJyYW5jaCAiCiAienVzYW1tZW56dWbDvGhyZW4pXG4iCiAKKyM6IHJlbW90ZS5jOjIyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHBhcnNlIGV4cGVjdGVkIG9iamVjdCBuYW1lICclcyciCittc2dzdHIgIkthbm4gZXJ3YXJ0ZXRlbiBPYmpla3RuYW1lbiAnJXMnIG5pY2h0IHBhcnNlbi4iCisKICM6IHJlcGxhY2Utb2JqZWN0LmM6MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJlcGxhY2UgcmVmIG5hbWU6ICVzIgpAQCAtNDQ0OSwxMSArNjE1Nyw2IEBACiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHJlcmVyZSByZWNvcmQiCiBtc2dzdHIgIktvbm50ZSBSZXJlcmUtRWludHJhZyBuaWNodCBzY2hyZWliZW4uIgogCi0jOiByZXJlcmUuYzo0ODUgcmVyZXJlLmM6NjkyIHNlcXVlbmNlci5jOjMxMzYgc2VxdWVuY2VyLmM6MzE2MgotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgJyVzJyIKLW1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgc2NocmVpYmVuLiIKLQogIzogcmVyZXJlLmM6NDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZXJlIHdlcmUgZXJyb3JzIHdoaWxlIHdyaXRpbmcgJyVzJyAoJXMpIgpAQCAtNDUwNCw4ICs2MjA3LDggQEAKIG1zZ2lkICJSZWNvcmRlZCBwcmVpbWFnZSBmb3IgJyVzJyIKIG1zZ3N0ciAiUHJlaW1hZ2UgZsO8ciAnJXMnIGF1ZmdlemVpY2huZXQuIgogCi0jOiByZXJlcmUuYzo4ODEgc3VibW9kdWxlLmM6MTc2MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQxMwotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MjMKKyM6IHJlcmVyZS5jOjg4MSBzdWJtb2R1bGUuYzoyMDY3IGJ1aWx0aW4vbG9nLmM6MTg3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MzYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIFZlcnplaWNobmlzICclcycgbmljaHQgZXJzdGVsbGVuLiIKQEAgLTQ1MzksMjkgKzYyNDIsMzMgQEAKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiByci1jYWNoZSBkaXJlY3RvcnkiCiBtc2dzdHIgIktvbm50ZSByci1jYWNoZSBWZXJ6ZWljaG5pcyBuaWNodCDDtmZmbmVuLiIKIAotIzogcmV2aXNpb24uYzoyMzI0CisjOiByZXZpc2lvbi5jOjI0OTcKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoIGFwcGVhcnMgdG8gYmUgYnJva2VuIgogbXNnc3RyICJJaHIgYWt0dWVsbGVyIEJyYW5jaCBzY2hlaW50IGZlaGxlcmhhZnQgenUgc2Vpbi4iCiAKLSM6IHJldmlzaW9uLmM6MjMyNworIzogcmV2aXNpb24uYzoyNTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggJyVzJyBkb2VzIG5vdCBoYXZlIGFueSBjb21taXRzIHlldCIKIG1zZ3N0ciAiSWhyIGFrdHVlbGxlciBCcmFuY2ggJyVzJyBoYXQgbm9jaCBrZWluZSBDb21taXRzLiIKIAotIzogcmV2aXNpb24uYzoyNTIzCisjOiByZXZpc2lvbi5jOjI3MDgKIG1zZ2lkICItLWZpcnN0LXBhcmVudCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWJpc2VjdCIKIG1zZ3N0ciAiRGllIE9wdGlvbmVuIC0tZmlyc3QtcGFyZW50IHVuZCAtLWJpc2VjdCBzaW5kIGlua29tcGF0aWJlbC4iCiAKLSM6IHJ1bi1jb21tYW5kLmM6NzQwCisjOiByZXZpc2lvbi5jOjI3MTIKK21zZ2lkICItTCBkb2VzIG5vdCB5ZXQgc3VwcG9ydCBkaWZmIGZvcm1hdHMgYmVzaWRlcyAtcCBhbmQgLXMiCittc2dzdHIgIi1MIHVudGVyc3TDvHR6dCBub2NoIGtlaW5lIGFuZGVyZW4gRGlmZi1Gb3JtYXRlIGF1w59lciAtcCB1bmQgLXMiCisKKyM6IHJ1bi1jb21tYW5kLmM6NzYyCiBtc2dpZCAib3BlbiAvZGV2L251bGwgZmFpbGVkIgogbXNnc3RyICLDlmZmbmVuIHZvbiAvZGV2L251bGwgZmVobGdlc2NobGFnZW4iCiAKLSM6IHJ1bi1jb21tYW5kLmM6MTIyOQorIzogcnVuLWNvbW1hbmQuYzoxMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgYXN5bmMgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiS29ubnRlIFRocmVhZCBmw7xyIGFzeW5jIG5pY2h0IGVyemV1Z2VuOiAlcyIKIAotIzogcnVuLWNvbW1hbmQuYzoxMjkzCisjOiBydW4tY29tbWFuZC5jOjEzMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAnJXMnIGhvb2sgd2FzIGlnbm9yZWQgYmVjYXVzZSBpdCdzIG5vdCBzZXQgYXMgZXhlY3V0YWJsZS5cbiIKQEAgLTQ1NzEsMzAgKzYyNzgsMzAgQEAKICJTaWUga8O2bm5lbiBkaWVzZSBXYXJudW5nIG1pdCBgZ2l0IGNvbmZpZyBhZHZpY2UuaWdub3JlZEhvb2sgZmFsc2VgICIKICJkZWFrdGl2aWVyZW4uIgogCi0jOiBzZW5kLXBhY2suYzoxNDIKKyM6IHNlbmQtcGFjay5jOjE0NAogbXNnaWQgInVuZXhwZWN0ZWQgZmx1c2ggcGFja2V0IHdoaWxlIHJlYWRpbmcgcmVtb3RlIHVucGFjayBzdGF0dXMiCiBtc2dzdHIgIlVuZXJ3YXJ0ZXRlcyBGbHVzaC1QYWtldCBiZWltIExlc2VuIGRlcyBSZW1vdGUtVW5wYWNrLVN0YXR1cy4iCiAKLSM6IHNlbmQtcGFjay5jOjE0NAorIzogc2VuZC1wYWNrLmM6MTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSByZW1vdGUgdW5wYWNrIHN0YXR1czogJXMiCiBtc2dzdHIgIktvbm50ZSBTdGF0dXMgZGVzIEVudHBhY2tlbnMgZGVyIEdlZ2Vuc2VpdGUgbmljaHQgcGFyc2VuOiAlcyIKIAotIzogc2VuZC1wYWNrLmM6MTQ2CisjOiBzZW5kLXBhY2suYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlIHVucGFjayBmYWlsZWQ6ICVzIgogbXNnc3RyICJFbnRwYWNrZW4gYXVmIGRlciBHZWdlbnNlaXRlIGZlaGxnZXNjaGxhZ2VuOiAlcyIKIAotIzogc2VuZC1wYWNrLmM6MzA4CisjOiBzZW5kLXBhY2suYzozMDkKIG1zZ2lkICJmYWlsZWQgdG8gc2lnbiB0aGUgcHVzaCBjZXJ0aWZpY2F0ZSIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gU2lnbmllcmVuIGRlcyBcInB1c2hcIi1aZXJ0aWZpa2F0ZXMiCiAKLSM6IHNlbmQtcGFjay5jOjQyMQorIzogc2VuZC1wYWNrLmM6NDIzCiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLXNpZ25lZCBwdXNoIgogbXNnc3RyICIiCiAiZGllIEdlZ2Vuc2VpdGUgdW50ZXJzdMO8dHp0IGtlaW5lbiBzaWduaWVydGVuIFZlcnNhbmQgKFwiLS1zaWduZWQgcHVzaFwiKSIKIAotIzogc2VuZC1wYWNrLmM6NDIzCisjOiBzZW5kLXBhY2suYzo0MjUKIG1zZ2lkICIiCiAibm90IHNlbmRpbmcgYSBwdXNoIGNlcnRpZmljYXRlIHNpbmNlIHRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS0iCiAic2lnbmVkIHB1c2giCkBAIC00NjAyLDQyICs2MzA5LDQ3IEBACiAia2VpbiBWZXJzYW5kIGRlcyBcInB1c2hcIi1aZXJ0aWZpa2F0ZXMsIGRhIGRpZSBHZWdlbnNlaXRlIGtlaW5lbiBzaWduaWVydGVuXG4iCiAiVmVyc2FuZCAoXCItLXNpZ25lZCBwdXNoXCIpIHVudGVyc3TDvHR6dCIKIAotIzogc2VuZC1wYWNrLmM6NDM1CisjOiBzZW5kLXBhY2suYzo0MzcKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIHB1c2giCiBtc2dzdHIgImRpZSBHZWdlbnNlaXRlIHVudGVyc3TDvHR6dCBrZWluZW4gYXRvbWFyZW4gVmVyc2FuZCAoXCItLWF0b21pYyBwdXNoXCIpIgogCi0jOiBzZW5kLXBhY2suYzo0NDAKKyM6IHNlbmQtcGFjay5jOjQ0MgogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgcHVzaCBvcHRpb25zIgogbXNnc3RyICJkaWUgR2VnZW5zZWl0ZSB1bnRlcnN0w7x0enQga2VpbmUgUHVzaC1PcHRpb25lbiIKIAotIzogc2VxdWVuY2VyLmM6MTgzCisjOiBzZXF1ZW5jZXIuYzoxODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb21taXQgbWVzc2FnZSBjbGVhbnVwIG1vZGUgJyVzJyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgXCJjbGVhbnVwXCItTW9kdXMgJyVzJyBmw7xyIENvbW1pdC1CZXNjaHJlaWJ1bmdlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjI4NworIzogc2VxdWVuY2VyLmM6Mjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgJyVzJyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgbMO2c2NoZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzozMTMKKyM6IHNlcXVlbmNlci5jOjMxMyBidWlsdGluL3JlYmFzZS5jOjc4MSBidWlsdGluL3JlYmFzZS5jOjE3MDYgYnVpbHRpbi9ybS5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVtb3ZlICclcyciCittc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGzDtnNjaGVuIgorCisjOiBzZXF1ZW5jZXIuYzozMjMKIG1zZ2lkICJyZXZlcnQiCiBtc2dzdHIgIlJldmVydCIKIAotIzogc2VxdWVuY2VyLmM6MzE1CisjOiBzZXF1ZW5jZXIuYzozMjUKIG1zZ2lkICJjaGVycnktcGljayIKIG1zZ3N0ciAiQ2hlcnJ5LVBpY2siCiAKLSM6IHNlcXVlbmNlci5jOjMxNworIzogc2VxdWVuY2VyLmM6MzI3CiBtc2dpZCAicmViYXNlIC1pIgogbXNnc3RyICJpbnRlcmFrdGl2ZXMgUmViYXNlIgogCi0jOiBzZXF1ZW5jZXIuYzozMTkKKyM6IHNlcXVlbmNlci5jOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGFjdGlvbjogJWQiCiBtc2dzdHIgIlVuYmVrYW5udGUgQWt0aW9uOiAlZCIKIAotIzogc2VxdWVuY2VyLmM6Mzc2CisjOiBzZXF1ZW5jZXIuYzozODcKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+JyIKQEAgLTQ2NDUsNyArNjM1Nyw3IEBACiAibmFjaCBBdWZsw7ZzdW5nIGRlciBLb25mbGlrdGUgbWFya2llcmVuIFNpZSBkaWUga29ycmlnaWVydGVuIFBmYWRlXG4iCiAibWl0ICdnaXQgYWRkIDxQZmFkZT4nIG9kZXIgJ2dpdCBybSA8UGZhZGU+JyIKIAotIzogc2VxdWVuY2VyLmM6Mzc5CisjOiBzZXF1ZW5jZXIuYzozOTAKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+J1xuIgpAQCAtNDY1NSwxMTEgKzYzNjcsMTE1IEBACiAibWl0ICdnaXQgYWRkIDxQZmFkZT4nIG9kZXIgJ2dpdCBybSA8UGZhZGU+JyB1bmQgdHJhZ2VuIFNpZSBkYXMgRXJnZWJuaXMgbWl0XG4iCiAiJ2dpdCBjb21taXQnIGVpbiIKIAotIzogc2VxdWVuY2VyLmM6MzkyIHNlcXVlbmNlci5jOjI2MzIKKyM6IHNlcXVlbmNlci5jOjQwMyBzZXF1ZW5jZXIuYzoyOTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb2NrICclcyciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IHNwZXJyZW4iCiAKLSM6IHNlcXVlbmNlci5jOjM5OQorIzogc2VxdWVuY2VyLmM6NDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBlb2wgdG8gJyVzJyIKIG1zZ3N0ciAiS29ubnRlIEVPTCBuaWNodCBuYWNoICclcycgc2NocmVpYmVuLiIKIAotIzogc2VxdWVuY2VyLmM6NDA0IHNlcXVlbmNlci5jOjI1MTUgc2VxdWVuY2VyLmM6MjYzOCBzZXF1ZW5jZXIuYzoyNjUyCi0jOiBzZXF1ZW5jZXIuYzoyODg1CisjOiBzZXF1ZW5jZXIuYzo0MTUgc2VxdWVuY2VyLmM6Mjc5OCBzZXF1ZW5jZXIuYzoyOTk5IHNlcXVlbmNlci5jOjMwMTMKKyM6IHNlcXVlbmNlci5jOjMyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIEZlcnRpZ3N0ZWxsZW4gdm9uICclcycuIgogCi0jOiBzZXF1ZW5jZXIuYzo0Mjcgc2VxdWVuY2VyLmM6OTIxIHNlcXVlbmNlci5jOjE1OTQgc2VxdWVuY2VyLmM6MjUzNQotIzogc2VxdWVuY2VyLmM6Mjg2NyBzZXF1ZW5jZXIuYzoyOTc0IGJ1aWx0aW4vYW0uYzoyNjAgYnVpbHRpbi9jb21taXQuYzo3NDYKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDg0IGJ1aWx0aW4vcmViYXNlLmM6MTUyCisjOiBzZXF1ZW5jZXIuYzo0Mzggc2VxdWVuY2VyLmM6MTcwNyBzZXF1ZW5jZXIuYzoyODE4IHNlcXVlbmNlci5jOjMyNTkKKyM6IHNlcXVlbmNlci5jOjMzNjggYnVpbHRpbi9hbS5jOjI0NCBidWlsdGluL2NvbW1pdC5jOjc4MyBidWlsdGluL21lcmdlLmM6MTExNworIzogYnVpbHRpbi9yZWJhc2UuYzo1ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgbGVzZW4iCiAKLSM6IHNlcXVlbmNlci5jOjQ1MworIzogc2VxdWVuY2VyLmM6NDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInlvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlcy4iCiBtc2dzdHIgIklocmUgbG9rYWxlbiDDhG5kZXJ1bmdlbiB3w7xyZGVuIGR1cmNoIGRlbiAlcyDDvGJlcnNjaHJpZWJlbiB3ZXJkZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzo0NTcKKyM6IHNlcXVlbmNlci5jOjQ2OAogbXNnaWQgImNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKIG1zZ3N0ciAiIgogIkNvbW1pdHRlbiBTaWUgSWhyZSDDhG5kZXJ1bmdlbiBvZGVyIGJlbnV0emVuIFNpZSBcInN0YXNoXCIsIHVtIGZvcnR6dWZhaHJlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjQ4NgorIzogc2VxdWVuY2VyLmM6NTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmYXN0LWZvcndhcmQiCiBtc2dzdHIgIiVzOiBWb3JzcHVsZW4iCiAKKyM6IHNlcXVlbmNlci5jOjUzOSBidWlsdGluL3RhZy5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGNsZWFudXAgbW9kZSAlcyIKK21zZ3N0ciAiVW5nw7xsdGlnZXIgXCJjbGVhbnVwXCIgTW9kdXMgJXMiCisKICMuIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiLCAiY2hlcnJ5LXBpY2siIG9yCiAjLiAicmViYXNlIC1pIi4KICMuCi0jOiBzZXF1ZW5jZXIuYzo1NzUKKyM6IHNlcXVlbmNlci5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIlczogS29ubnRlIG5ldWUgSW5kZXgtRGF0ZWkgbmljaHQgc2NocmVpYmVuIgogCi0jOiBzZXF1ZW5jZXIuYzo1OTEKKyM6IHNlcXVlbmNlci5jOjY1MAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZSIKIG1zZ3N0ciAiS29ubnRlIENhY2hlLVZlcnplaWNobmlzIG5pY2h0IGFrdHVhbGlzaWVyZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzo2MDQKKyM6IHNlcXVlbmNlci5jOjY2NAogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0IgogbXNnc3RyICJLb25udGUgSEVBRC1Db21taXQgbmljaHQgYXVmbMO2c2VuLiIKIAotIzogc2VxdWVuY2VyLmM6Njg0CisjOiBzZXF1ZW5jZXIuYzo3NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8ga2V5IHByZXNlbnQgaW4gJyUuKnMnIgogbXNnc3RyICJLZWluIFNjaGzDvHNzZWwgaW4gJyUuKnMnIHZvcmhhbmRlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjY5NQorIzogc2VxdWVuY2VyLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZXF1b3RlIHZhbHVlIG9mICclcyciCiBtc2dzdHIgIktvbm50ZSBBbmbDvGhydW5nc3plaWNoZW4gdm9uICclcycgbmljaHQgZW50ZmVybmVuLiIKIAotIzogc2VxdWVuY2VyLmM6NzMyIHdyYXBwZXIuYzoyMjcgd3JhcHBlci5jOjM5NyBidWlsdGluL2FtLmM6NzE5Ci0jOiBidWlsdGluL2FtLmM6ODExIGJ1aWx0aW4vbWVyZ2UuYzoxMDgxCisjOiBzZXF1ZW5jZXIuYzo3OTIgd3JhcHBlci5jOjE5MCB3cmFwcGVyLmM6MzYwIGJ1aWx0aW4vYW0uYzo3MDUKKyM6IGJ1aWx0aW4vYW0uYzo3OTcgYnVpbHRpbi9tZXJnZS5jOjExMTQgYnVpbHRpbi9yZWJhc2UuYzoxMDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IHp1bSBMZXNlbiDDtmZmbmVuLiIKIAotIzogc2VxdWVuY2VyLmM6NzQyCisjOiBzZXF1ZW5jZXIuYzo4MDIKIG1zZ2lkICInR0lUX0FVVEhPUl9OQU1FJyBhbHJlYWR5IGdpdmVuIgogbXNnc3RyICInR0lUX0FVVEhPUl9OQU1FJyBiZXJlaXRzIGFuZ2VnZWJlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjc0NworIzogc2VxdWVuY2VyLmM6ODA3CiBtc2dpZCAiJ0dJVF9BVVRIT1JfRU1BSUwnIGFscmVhZHkgZ2l2ZW4iCiBtc2dzdHIgIidHSVRfQVVUSE9SX0VNQUlMJyBiZXJlaXRzIGFuZ2VnZWJlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjc1MgorIzogc2VxdWVuY2VyLmM6ODEyCiBtc2dpZCAiJ0dJVF9BVVRIT1JfREFURScgYWxyZWFkeSBnaXZlbiIKIG1zZ3N0ciAiJ0dJVF9BVVRIT1JfREFURScgYmVyZWl0cyBhbmdlZ2ViZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzo3NTYKKyM6IHNlcXVlbmNlci5jOjgxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHZhcmlhYmxlICclcyciCiBtc2dzdHIgIlVuYmVrYW5udGUgVmFyaWFibGUgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6NzYxCisjOiBzZXF1ZW5jZXIuYzo4MjEKIG1zZ2lkICJtaXNzaW5nICdHSVRfQVVUSE9SX05BTUUnIgogbXNnc3RyICInR0lUX0FVVEhPUl9OQU1FJyBmZWhsdC4iCiAKLSM6IHNlcXVlbmNlci5jOjc2MworIzogc2VxdWVuY2VyLmM6ODIzCiBtc2dpZCAibWlzc2luZyAnR0lUX0FVVEhPUl9FTUFJTCciCiBtc2dzdHIgIidHSVRfQVVUSE9SX0VNQUlMJyBmZWhsdC4iCiAKLSM6IHNlcXVlbmNlci5jOjc2NQorIzogc2VxdWVuY2VyLmM6ODI1CiBtc2dpZCAibWlzc2luZyAnR0lUX0FVVEhPUl9EQVRFJyIKIG1zZ3N0ciAiJ0dJVF9BVVRIT1JfREFURScgZmVobHQuIgogCi0jOiBzZXF1ZW5jZXIuYzo4MjUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdCAnJXMnIGluICclcyciCi1tc2dzdHIgIlVuZ8O8bHRpZ2VzIERhdHVtc2Zvcm1hdCAnJXMnIGluICclcyciCisjOiBzZXF1ZW5jZXIuYzo5MDIgc2VxdWVuY2VyLmM6MTQyNworbXNnaWQgIm1hbGZvcm1lZCBpZGVudCBsaW5lIgorbXNnc3RyICJGZWhsZXJoYWZ0ZSBJZGVudGlmaWthdGlvbnN6ZWlsZS4iCiAKLSM6IHNlcXVlbmNlci5jOjg0MgorIzogc2VxdWVuY2VyLmM6OTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ5b3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZVxuIgpAQCAtNDc5MCwxNSArNjUwNiwxMSBAQAogIlxuIgogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IHNlcXVlbmNlci5jOjkzNQotbXNnaWQgIndyaXRpbmcgcm9vdCBjb21taXQiCi1tc2dzdHIgIlJvb3QtQ29tbWl0IHNjaHJlaWJlbiIKLQotIzogc2VxdWVuY2VyLmM6MTE0MgorIzogc2VxdWVuY2VyLmM6MTIxOAogbXNnaWQgIidwcmVwYXJlLWNvbW1pdC1tc2cnIGhvb2sgZmFpbGVkIgogbXNnc3RyICIncHJlcGFyZS1jb21taXQtbXNnJyBIb29rIGZlaGxnZXNjaGxhZ2VuLiIKIAotIzogc2VxdWVuY2VyLmM6MTE0OQorIzogc2VxdWVuY2VyLmM6MTIyNAogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC00ODI2LDcgKzY1MzgsNyBAQAogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogc2VxdWVuY2VyLmM6MTE2MgorIzogc2VxdWVuY2VyLmM6MTIzNwogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC00ODUyLDMwMSArNjU2NCwzNTQgQEAKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiAKLSM6IHNlcXVlbmNlci5jOjEyMDIKKyM6IHNlcXVlbmNlci5jOjEyNzkKIG1zZ2lkICJjb3VsZG4ndCBsb29rIHVwIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJLb25udGUgbmV1IGVyc3RlbGx0ZW4gQ29tbWl0IG5pY2h0IG5hY2hzY2hsYWdlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjEyMDQKKyM6IHNlcXVlbmNlci5jOjEyODEKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgIktvbm50ZSBuZXUgZXJzdGVsbHRlbiBDb21taXQgbmljaHQgYW5hbHlzaWVyZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjUwCisjOiBzZXF1ZW5jZXIuYzoxMzI3CiBtc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgSEVBRCBhZnRlciBjcmVhdGluZyBjb21taXQiCiBtc2dzdHIgIktvbm50ZSBIRUFEIG5pY2h0IGF1ZmzDtnNlbiwgbmFjaGRlbSBkZXIgQ29tbWl0IGVyc3RlbGx0IHd1cmRlLiIKIAotIzogc2VxdWVuY2VyLmM6MTI1MgorIzogc2VxdWVuY2VyLmM6MTMyOQogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgImxvc2dlbMO2c3RlciBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjU2CisjOiBzZXF1ZW5jZXIuYzoxMzMzCiBtc2dpZCAiIChyb290LWNvbW1pdCkiCi1tc2dzdHIgIiAoQmFzaXMtQ29tbWl0KSIKK21zZ3N0ciAiIChSb290LUNvbW1pdCkiCiAKLSM6IHNlcXVlbmNlci5jOjEyNzcKKyM6IHNlcXVlbmNlci5jOjEzNTQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCIKIG1zZ3N0ciAiS29ubnRlIEhFQUQgbmljaHQgcGFyc2VuLiIKIAotIzogc2VxdWVuY2VyLmM6MTI3OQorIzogc2VxdWVuY2VyLmM6MTM1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJIRUFEICVzIGlzIG5vdCBhIGNvbW1pdCEiCiBtc2dzdHIgIkhFQUQgJXMgaXN0IGtlaW4gQ29tbWl0ISIKIAotIzogc2VxdWVuY2VyLmM6MTI4MyBidWlsdGluL2NvbW1pdC5jOjE1NDMKKyM6IHNlcXVlbmNlci5jOjEzNjAgc2VxdWVuY2VyLmM6MTQ1OCBidWlsdGluL2NvbW1pdC5jOjE1NjkKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCBjb21taXQiCiBtc2dzdHIgIktvbm50ZSBDb21taXQgdm9uIEhFQUQgbmljaHQgYW5hbHlzaWVyZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzM0IHNlcXVlbmNlci5jOjE5MzQKKyM6IHNlcXVlbmNlci5jOjE0MTEgc2VxdWVuY2VyLmM6MjA1NQogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgYXV0aG9yIgogbXNnc3RyICJLb25udGUgQ29tbWl0LUF1dG9yIG5pY2h0IHBhcnNlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjEzNDQgYnVpbHRpbi9hbS5jOjE1ODUgYnVpbHRpbi9tZXJnZS5jOjY3NworIzogc2VxdWVuY2VyLmM6MTQzMQorbXNnaWQgImNvcnJ1cHRlZCBhdXRob3Igd2l0aG91dCBkYXRlIGluZm9ybWF0aW9uIgorbXNnc3RyICJGZWhsZXJoYWZ0ZXIgQXV0b3Igb2huZSBEYXR1bXNpbmZvcm1hdGlvbmVuLiIKKworIzogc2VxdWVuY2VyLmM6MTQ0NyBidWlsdGluL2FtLmM6MTU2MSBidWlsdGluL21lcmdlLmM6Njg0CiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIKIG1zZ3N0ciAiXCJnaXQgd3JpdGUtdHJlZVwiIHNjaGx1ZyBiZWltIFNjaHJlaWJlbiBlaW5lcyBcIlRyZWVcIi1PYmpla3RlcyBmZWhsIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzYxIHNlcXVlbmNlci5jOjE0MTYKKyM6IHNlcXVlbmNlci5jOjE0ODAgc2VxdWVuY2VyLmM6MTU1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBjb21taXQgbWVzc2FnZSBmcm9tICclcyciCiBtc2dzdHIgIktvbm50ZSBDb21taXQtQmVzY2hyZWlidW5nIHZvbiAnJXMnIG5pY2h0IGxlc2VuLiIKIAotIzogc2VxdWVuY2VyLmM6MTM4MyBidWlsdGluL2FtLmM6MTYwNiBidWlsdGluL2NvbW1pdC5jOjE2NDYgYnVpbHRpbi9tZXJnZS5jOjg1OAotIzogYnVpbHRpbi9tZXJnZS5jOjg4MworIzogc2VxdWVuY2VyLmM6MTUxNiBidWlsdGluL2FtLmM6MTU4MyBidWlsdGluL2NvbW1pdC5jOjE2NjggYnVpbHRpbi9tZXJnZS5jOjg4MworIzogYnVpbHRpbi9tZXJnZS5jOjkwOAogbXNnaWQgImZhaWxlZCB0byB3cml0ZSBjb21taXQgb2JqZWN0IgogbXNnc3RyICJGZWhsZXIgYmVpbSBTY2hyZWliZW4gZGVzIENvbW1pdC1PYmpla3Rlcy4iCiAKLSM6IHNlcXVlbmNlci5jOjE0NDMKKyM6IHNlcXVlbmNlci5jOjE1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAlcyIKIG1zZ3N0ciAiS29ubnRlIENvbW1pdCAlcyBuaWNodCBwYXJzZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoxNDQ4CisjOiBzZXF1ZW5jZXIuYzoxNTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzIgogbXNnc3RyICJLb25udGUgRWx0ZXJuLUNvbW1pdCAlcyBuaWNodCBwYXJzZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTQ2IHNlcXVlbmNlci5jOjE2NTQKKyM6IHNlcXVlbmNlci5jOjE2NTYgc2VxdWVuY2VyLmM6MTc2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQ6ICVkIgogbXNnc3RyICJVbmJla2FubnRlciBCZWZlaGw6ICVkIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjAxIHNlcXVlbmNlci5jOjE2MjYKKyM6IHNlcXVlbmNlci5jOjE3MTQgc2VxdWVuY2VyLmM6MTczOQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJWQgY29tbWl0cy4iCiBtc2dzdHIgIkRhcyBpc3QgZWluZSBLb21iaW5hdGlvbiBhdXMgJWQgQ29tbWl0cy4iCiAKLSM6IHNlcXVlbmNlci5jOjE2MTEgc2VxdWVuY2VyLmM6NDc0NAorIzogc2VxdWVuY2VyLmM6MTcyNAogbXNnaWQgIm5lZWQgYSBIRUFEIHRvIGZpeHVwIgogbXNnc3RyICJiZW7DtnRpZ2UgSEVBRCBmw7xyIGZpeHVwIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjEzIHNlcXVlbmNlci5jOjI5MTIKKyM6IHNlcXVlbmNlci5jOjE3MjYgc2VxdWVuY2VyLmM6MzMwNAogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIktvbm50ZSBIRUFEIG5pY2h0IGxlc2VuIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjE1CisjOiBzZXF1ZW5jZXIuYzoxNzI4CiBtc2dpZCAiY291bGQgbm90IHJlYWQgSEVBRCdzIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJLb25udGUgQ29tbWl0LUJlc2NocmVpYnVuZyB2b24gSEVBRCBuaWNodCBsZXNlbiIKIAotIzogc2VxdWVuY2VyLmM6MTYyMQorIzogc2VxdWVuY2VyLmM6MTczNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUgJyVzJyIKIG1zZ3N0ciAia2FubiAnJXMnIG5pY2h0IHNjaHJlaWJlbiIKIAotIzogc2VxdWVuY2VyLmM6MTYyOCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDQxCisjOiBzZXF1ZW5jZXIuYzoxNzQxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0OTYKIG1zZ2lkICJUaGlzIGlzIHRoZSAxc3QgY29tbWl0IG1lc3NhZ2U6IgogbXNnc3RyICJEYXMgaXN0IGRpZSBlcnN0ZSBDb21taXQtQmVzY2hyZWlidW5nOiIKIAotIzogc2VxdWVuY2VyLmM6MTYzNgorIzogc2VxdWVuY2VyLmM6MTc0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZSBvZiAlcyIKIG1zZ3N0ciAiS29ubnRlIENvbW1pdC1CZXNjaHJlaWJ1bmcgdm9uICVzIG5pY2h0IGxlc2VuLiIKIAotIzogc2VxdWVuY2VyLmM6MTY0MworIzogc2VxdWVuY2VyLmM6MTc1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIHRoZSBjb21taXQgbWVzc2FnZSAjJWQ6IgogbXNnc3RyICJEYXMgaXN0IENvbW1pdC1CZXNjaHJlaWJ1bmcgIyVkOiIKIAotIzogc2VxdWVuY2VyLmM6MTY0OQorIzogc2VxdWVuY2VyLmM6MTc2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY29tbWl0IG1lc3NhZ2UgIyVkIHdpbGwgYmUgc2tpcHBlZDoiCiBtc2dzdHIgIkRpZSBDb21taXQtQmVzY2hyZWlidW5nICMlZCB3aXJkIGF1c2dlbGFzc2VuOiIKIAotIzogc2VxdWVuY2VyLmM6MTczMgorIzogc2VxdWVuY2VyLmM6MTg1MAogbXNnaWQgInlvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCiBtc2dzdHIgIklocmUgSW5kZXgtRGF0ZWkgaXN0IG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnQuIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzM5CisjOiBzZXF1ZW5jZXIuYzoxODU3CiBtc2dpZCAiY2Fubm90IGZpeHVwIHJvb3QgY29tbWl0IgogbXNnc3RyICJrYW5uIGZpeHVwIG5pY2h0IGF1ZiBSb290LUNvbW1pdCBhbndlbmRlbiIKIAotIzogc2VxdWVuY2VyLmM6MTc1OAorIzogc2VxdWVuY2VyLmM6MTg3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJXMgaXMgYSBtZXJnZSBidXQgbm8gLW0gb3B0aW9uIHdhcyBnaXZlbi4iCiBtc2dzdHIgIkNvbW1pdCAlcyBpc3QgZWluIE1lcmdlLCBhYmVyIGRpZSBPcHRpb24gLW0gd3VyZGUgbmljaHQgYW5nZWdlYmVuLiIKIAotIzogc2VxdWVuY2VyLmM6MTc2NgorIzogc2VxdWVuY2VyLmM6MTg4NCBzZXF1ZW5jZXIuYzoxODkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKIG1zZ3N0ciAiQ29tbWl0ICVzIGhhdCBrZWluZW4gRWx0ZXJuLUNvbW1pdCAlZCIKIAotIzogc2VxdWVuY2VyLmM6MTc3MAotIywgYy1mb3JtYXQKLW1zZ2lkICJtYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgotbXNnc3RyICJIYXVwdGxpbmllIHd1cmRlIHNwZXppZml6aWVydCwgYWJlciBDb21taXQgJXMgaXN0IGtlaW4gTWVyZ2UuIgotCi0jOiBzZXF1ZW5jZXIuYzoxNzc2CisjOiBzZXF1ZW5jZXIuYzoxODk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgogbXNnc3RyICJLYW5uIGtlaW5lIENvbW1pdC1CZXNjaHJlaWJ1bmcgZsO8ciAlcyBiZWtvbW1lbi4iCiAKICMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSBhICJ0b2RvIiBjb21tYW5kIGxpa2UKICMuICJyZXZlcnQiIG9yICJwaWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEuCi0jOiBzZXF1ZW5jZXIuYzoxNzk1CisjOiBzZXF1ZW5jZXIuYzoxOTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXM6IGthbm4gRWx0ZXJuLUNvbW1pdCAlcyBuaWNodCBwYXJzZW4iCiAKLSM6IHNlcXVlbmNlci5jOjE4NjAKKyM6IHNlcXVlbmNlci5jOjE5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbmFtZSAnJXMnIHRvICclcyciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IHp1ICclcycgdW1iZW5lbm5lbi4iCiAKLSM6IHNlcXVlbmNlci5jOjE5MTUKKyM6IHNlcXVlbmNlci5jOjIwMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKIG1zZ3N0ciAiS29ubnRlIFwicmV2ZXJ0XCIgbmljaHQgYXVmICVzLi4uICglcykgYXVzZsO8aHJlbiIKIAotIzogc2VxdWVuY2VyLmM6MTkxNgorIzogc2VxdWVuY2VyLmM6MjAzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgIktvbm50ZSAlcy4uLiAoJXMpIG5pY2h0IGFud2VuZGVuIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTc0CisjOiBzZXF1ZW5jZXIuYzoyMTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6IEZlaGxlciBiZWltIExlc2VuIGRlcyBJbmRleCIKIAotIzogc2VxdWVuY2VyLmM6MTk4MQorIzogc2VxdWVuY2VyLmM6MjExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzOiBGZWhsZXIgYmVpbSBBa3R1YWxpc2llcmVuIGRlcyBJbmRleCIKIAotIzogc2VxdWVuY2VyLmM6MjA2MgorIzogc2VxdWVuY2VyLmM6MjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkb2VzIG5vdCBhY2NlcHQgYXJndW1lbnRzOiAnJXMnIgogbXNnc3RyICIlcyBha3plcHRpZXJ0IGtlaW5lIEFyZ3VtZW50ZTogJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MjA3MQorIzogc2VxdWVuY2VyLmM6MjE5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIGFyZ3VtZW50cyBmb3IgJXMiCiBtc2dzdHIgIkZlaGxlbmRlIEFyZ3VtZW50ZSBmw7xyICVzLiIKIAotIzogc2VxdWVuY2VyLmM6MjEzMAorIzogc2VxdWVuY2VyLmM6MjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgJyUuKnMnIgorbXNnc3RyICJLb25udGUgJyUuKnMnIG5pY2h0IHBhcnNlbi4iCisKKyM6IHNlcXVlbmNlci5jOjIyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBsaW5lICVkOiAlLipzIgogbXNnc3RyICJVbmfDvGx0aWdlIFplaWxlICVkOiAlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTM4CisjOiBzZXF1ZW5jZXIuYzoyMzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAnJXMnIHdpdGhvdXQgYSBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgIkthbm4gJyVzJyBuaWNodCBvaG5lIHZvcmhlcmlnZW4gQ29tbWl0IGF1c2bDvGhyZW4iCiAKLSM6IHNlcXVlbmNlci5jOjIyMDkKKyM6IHNlcXVlbmNlci5jOjIzNDggYnVpbHRpbi9yZWJhc2UuYzoxNzIgYnVpbHRpbi9yZWJhc2UuYzoxOTcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjIzIGJ1aWx0aW4vcmViYXNlLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgorbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBsZXNlbi4iCisKKyM6IHNlcXVlbmNlci5jOjIzODQKK21zZ2lkICJjYW5jZWxsaW5nIGEgY2hlcnJ5IHBpY2tpbmcgaW4gcHJvZ3Jlc3MiCittc2dzdHIgIkFiYnJlY2hlbiBlaW5lcyBsYXVmZW5kZW4gXCJjaGVycnktcGlja1wiIgorCisjOiBzZXF1ZW5jZXIuYzoyMzkxCittc2dpZCAiY2FuY2VsbGluZyBhIHJldmVydCBpbiBwcm9ncmVzcyIKK21zZ3N0ciAiQWJicmVjaGVuIGVpbmVzIGxhdWZlbmRlbiBcInJldmVydFwiIgorCisjOiBzZXF1ZW5jZXIuYzoyNDM1CiBtc2dpZCAicGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCiBtc2dzdHIgIiIKICJCaXR0ZSBiZWhlYmVuIFNpZSBkaWVzZXMsIGluZGVtIFNpZSAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycgYXVzZsO8aHJlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjIyMTEKKyM6IHNlcXVlbmNlci5jOjI0MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW51c2FibGUgaW5zdHJ1Y3Rpb24gc2hlZXQ6ICclcyciCiBtc2dzdHIgIlVuYmVudXR6YmFyZXMgSW5zdHJ1a3Rpb25zYmxhdHQ6ICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjIyMTYKKyM6IHNlcXVlbmNlci5jOjI0NDIKIG1zZ2lkICJubyBjb21taXRzIHBhcnNlZC4iCiBtc2dzdHIgIktlaW5lIENvbW1pdHMgZ2VwYXJzdC4iCiAKLSM6IHNlcXVlbmNlci5jOjIyMjcKKyM6IHNlcXVlbmNlci5jOjI0NTMKIG1zZ2lkICJjYW5ub3QgY2hlcnJ5LXBpY2sgZHVyaW5nIGEgcmV2ZXJ0LiIKIG1zZ3N0ciAiS2FubiBDaGVycnktUGljayBuaWNodCB3w6RocmVuZCBlaW5lcyBSZXZlcnRzIGF1c2bDvGhyZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjI5CisjOiBzZXF1ZW5jZXIuYzoyNDU1CiBtc2dpZCAiY2Fubm90IHJldmVydCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgIkthbm4gUmV2ZXJ0IG5pY2h0IHfDpGhyZW5kIGVpbmVzIENoZXJyeS1QaWNrcyBhdXNmw7xocmVuLiIKIAotIzogc2VxdWVuY2VyLmM6MjI5OQorIzogc2VxdWVuY2VyLmM6MjUzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIFdlcnQgZsO8ciAlczogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjIzODAKKyM6IHNlcXVlbmNlci5jOjI2MzAKIG1zZ2lkICJ1bnVzYWJsZSBzcXVhc2gtb250byIKIG1zZ3N0ciAiVW5iZW51dHpiYXJlcyBzcXVhc2gtb250by4iCiAKLSM6IHNlcXVlbmNlci5jOjIzOTYKKyM6IHNlcXVlbmNlci5jOjI2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9wdGlvbnMgc2hlZXQ6ICclcyciCiBtc2dzdHIgIkZlaGxlcmhhZnRlcyBPcHRpb25zYmxhdHQ6ICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjI0Nzkgc2VxdWVuY2VyLmM6NDAwNQorIzogc2VxdWVuY2VyLmM6MjczNiBzZXF1ZW5jZXIuYzo0NDYzCiBtc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCiBtc2dzdHIgImxlZXJlIE1lbmdlIHZvbiBDb21taXRzIMO8YmVyZ2ViZW4iCiAKLSM6IHNlcXVlbmNlci5jOjI0ODcKLW1zZ2lkICJhIGNoZXJyeS1waWNrIG9yIHJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgotbXNnc3RyICJcImNoZXJyeS1waWNrXCIgb2RlciBcInJldmVydFwiIGlzdCBiZXJlaXRzIGltIEdhbmciCisjOiBzZXF1ZW5jZXIuYzoyNzUyCittc2dpZCAicmV2ZXJ0IGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCittc2dzdHIgIlwicmV2ZXJ0XCIgaXN0IGJlcmVpdHMgaW0gR2FuZ2UiCiAKLSM6IHNlcXVlbmNlci5jOjI0ODgKLW1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgotbXNnc3RyICJ2ZXJzdWNoZW4gU2llIFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKKyM6IHNlcXVlbmNlci5jOjI3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJ5IFwiZ2l0IHJldmVydCAoLS1jb250aW51ZSB8ICVzLS1hYm9ydCB8IC0tcXVpdClcIiIKK21zZ3N0ciAiVmVyc3VjaGVuIFNpZSBcImdpdCByZXZlcnQgKC0tY29udGludWUgfCAlcy0tYWJvcnQgfCAtLXF1aXQpXCIiCiAKLSM6IHNlcXVlbmNlci5jOjI0OTEKKyM6IHNlcXVlbmNlci5jOjI3NTcKK21zZ2lkICJjaGVycnktcGljayBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgorbXNnc3RyICJcImNoZXJyeS1waWNrXCIgd2lyZCBiZXJlaXRzIGR1cmNoZ2Vmw7xocnQiCisKKyM6IHNlcXVlbmNlci5jOjI3NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgJXMtLWFib3J0IHwgLS1xdWl0KVwiIgorbXNnc3RyICJWZXJzdWNoZW4gU2llIFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgJXMtLWFib3J0IHwgLS1xdWl0KVwiIgorCisjOiBzZXF1ZW5jZXIuYzoyNzczCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJLb25udGUgXCJzZXF1ZW5jZXJcIi1WZXJ6ZWljaG5pcyAnJXMnIG5pY2h0IGVyc3RlbGxlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjI1MDUKKyM6IHNlcXVlbmNlci5jOjI3ODgKIG1zZ2lkICJjb3VsZCBub3QgbG9jayBIRUFEIgogbXNnc3RyICJLb25udGUgSEVBRCBuaWNodCBzcGVycmVuIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTYwIHNlcXVlbmNlci5jOjM3NjEKKyM6IHNlcXVlbmNlci5jOjI4NDggc2VxdWVuY2VyLmM6NDIwOQogbXNnaWQgIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIKLW1zZ3N0ciAia2VpbiBcImNoZXJyeS1waWNrXCIgb2RlciBcInJldmVydFwiIGltIEdhbmciCittc2dzdHIgImtlaW4gXCJjaGVycnktcGlja1wiIG9kZXIgXCJyZXZlcnRcIiBpbSBHYW5nZSIKIAotIzogc2VxdWVuY2VyLmM6MjU2MgorIzogc2VxdWVuY2VyLmM6Mjg1MCBzZXF1ZW5jZXIuYzoyODYxCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgSEVBRCIKIG1zZ3N0ciAia2FubiBIRUFEIG5pY2h0IGF1ZmzDtnNlbiIKIAotIzogc2VxdWVuY2VyLmM6MjU2NCBzZXF1ZW5jZXIuYzoyNTk5CisjOiBzZXF1ZW5jZXIuYzoyODUyIHNlcXVlbmNlci5jOjI4OTYKIG1zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAia2FubiBuaWNodCBhYmJyZWNoZW46IGJpbiBhdWYgZWluZW0gQnJhbmNoLCBkZXIgbm9jaCBuaWNodCBnZWJvcmVuIGlzdCIKIAotIzogc2VxdWVuY2VyLmM6MjU4NSBidWlsdGluL2dyZXAuYzo3MjEKKyM6IHNlcXVlbmNlci5jOjI4ODIgYnVpbHRpbi9ncmVwLmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICclcyciCiBtc2dzdHIgImthbm4gJyVzJyBuaWNodCDDtmZmbmVuIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTg3CisjOiBzZXF1ZW5jZXIuYzoyODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyc6ICVzIgogbXNnc3RyICJLYW5uICclcycgbmljaHQgbGVzZW46ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTg4CisjOiBzZXF1ZW5jZXIuYzoyODg1CiBtc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiVW5lcndhcnRldGVzIERhdGVpZW5kZSIKIAotIzogc2VxdWVuY2VyLmM6MjU5NAorIzogc2VxdWVuY2VyLmM6Mjg5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJzdG9yZWQgcHJlLWNoZXJyeS1waWNrIEhFQUQgZmlsZSAnJXMnIGlzIGNvcnJ1cHQiCiBtc2dzdHIgImdlc3BlaWNoZXJ0ZSBcInByZS1jaGVycnktcGlja1wiIEhFQUQgRGF0ZWkgJyVzJyBpc3QgYmVzY2jDpGRpZ3QiCiAKLSM6IHNlcXVlbmNlci5jOjI2MDUKKyM6IHNlcXVlbmNlci5jOjI5MDIKIG1zZ2lkICJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQuIE5vdCByZXdpbmRpbmcsIGNoZWNrIHlvdXIgSEVBRCEiCiBtc2dzdHIgIiIKICJTaWUgc2NoZWluZW4gSEVBRCB2ZXLDpG5kZXJ0IHp1IGhhYmVuLiBLZWluZSBSw7xja3NwdWx1bmcsIHByw7xmZW4gU2llIEhFQUQuIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzA5IHNlcXVlbmNlci5jOjM2NzkKKyM6IHNlcXVlbmNlci5jOjI5NDMKK21zZ2lkICJubyByZXZlcnQgaW4gcHJvZ3Jlc3MiCittc2dzdHIgIktlaW4gUmV2ZXJ0IGltIEdhbmdlIgorCisjOiBzZXF1ZW5jZXIuYzoyOTUxCittc2dpZCAibm8gY2hlcnJ5LXBpY2sgaW4gcHJvZ3Jlc3MiCittc2dzdHIgImtlaW4gXCJjaGVycnktcGlja1wiIGltIEdhbmdlIgorCisjOiBzZXF1ZW5jZXIuYzoyOTYxCittc2dpZCAiZmFpbGVkIHRvIHNraXAgdGhlIGNvbW1pdCIKK21zZ3N0ciAiw5xiZXJzcHJpbmdlbiBkZXMgQ29tbWl0cyBmZWhsZ2VzY2hsYWdlbiIKKworIzogc2VxdWVuY2VyLmM6Mjk2OAorbXNnaWQgInRoZXJlIGlzIG5vdGhpbmcgdG8gc2tpcCIKK21zZ3N0ciAiTmljaHRzIHp1bSDDnGJlcnNwcmluZ2VuIHZvcmhhbmRlbiIKKworIzogc2VxdWVuY2VyLmM6Mjk3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiaGF2ZSB5b3UgY29tbWl0dGVkIGFscmVhZHk/XG4iCisidHJ5IFwiZ2l0ICVzIC0tY29udGludWVcIiIKK21zZ3N0ciAiIgorIkhhYmVuIFNpZSBiZXJlaXRzIGNvbW1pdHRldD9cbiIKKyJWZXJzdWNoZW4gU2llIFwiZ2l0ICVzIC0tY29udGludWVcIiIKKworIzogc2VxdWVuY2VyLmM6MzA5NSBzZXF1ZW5jZXIuYzo0MTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgJXMiCiBtc2dzdHIgIktvbm50ZSAlcyBuaWNodCBha3R1YWxpc2llcmVuLiIKIAotIzogc2VxdWVuY2VyLmM6Mjc0NyBzZXF1ZW5jZXIuYzozNjU5CisjOiBzZXF1ZW5jZXIuYzozMTM0IHNlcXVlbmNlci5jOjQxMDEKIG1zZ2lkICJjYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICJLYW5uIEhFQUQgbmljaHQgbGVzZW4iCiAKLSM6IHNlcXVlbmNlci5jOjI3NjIKKyM6IHNlcXVlbmNlci5jOjMxNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBuYWNoICclcycga29waWVyZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzcwCisjOiBzZXF1ZW5jZXIuYzozMTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgY2FuIGFtZW5kIHRoZSBjb21taXQgbm93LCB3aXRoXG4iCkBAIC01MTY1LDI3ICs2OTMwLDIyIEBACiAiXG4iCiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIAotIzogc2VxdWVuY2VyLmM6Mjc4MAorIzogc2VxdWVuY2VyLmM6MzE2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJXMuLi4gJS4qcyIKIG1zZ3N0ciAiS29ubnRlICVzLi4uICglLipzKSBuaWNodCBhbndlbmRlbiIKIAotIzogc2VxdWVuY2VyLmM6Mjc4NworIzogc2VxdWVuY2VyLmM6MzE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbWVyZ2UgJS4qcyIKIG1zZ3N0ciAiS29ubnRlIFwiJS4qc1wiIG5pY2h0IHp1c2FtbWVuZsO8aHJlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjI3OTggc2VxdWVuY2VyLmM6MjgwMiBidWlsdGluL2RpZmZ0b29sLmM6NjQwCisjOiBzZXF1ZW5jZXIuYzozMTkwIHNlcXVlbmNlci5jOjMxOTQgYnVpbHRpbi9kaWZmdG9vbC5jOjY0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IG5hY2ggJyVzJyBrb3BpZXJlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjI4MjQgc2VxdWVuY2VyLmM6MzI0MiBidWlsdGluL3JlYmFzZS5jOjU4MCBidWlsdGluL3JlYmFzZS5jOjEwMTkKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM3MiBidWlsdGluL3JlYmFzZS5jOjE0MjYKLW1zZ2lkICJjb3VsZCBub3QgcmVhZCBpbmRleCIKLW1zZ3N0ciAiS29ubnRlIGRlbiBJbmRleCBuaWNodCBsZXNlbi4iCi0KLSM6IHNlcXVlbmNlci5jOjI4MjkKKyM6IHNlcXVlbmNlci5jOjMyMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4ZWN1dGlvbiBmYWlsZWQ6ICVzXG4iCkBAIC01MjAxLDExICs2OTYxLDExIEBACiAiXG4iCiAiYXVzZsO8aHJlbi5cbiIKIAotIzogc2VxdWVuY2VyLmM6MjgzNQorIzogc2VxdWVuY2VyLmM6MzIyNwogbXNnaWQgImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlXG4iCiBtc2dzdHIgIkRlciBJbmRleCB1bmQvb2RlciBkYXMgQXJiZWl0c3ZlcnplaWNobmlzIHd1cmRlIGdlw6RuZGVydC5cbiIKIAotIzogc2VxdWVuY2VyLmM6Mjg0MQorIzogc2VxdWVuY2VyLmM6MzIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhlY3V0aW9uIHN1Y2NlZWRlZDogJXNcbiIKQEAgLTUyMjMsNzcgKzY5ODMsNzMgQEAKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTAyCisjOiBzZXF1ZW5jZXIuYzozMjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImlsbGVnYWwgbGFiZWwgbmFtZTogJyUuKnMnIgogbXNnc3RyICJVbmVybGF1YnRlciBCZXNjaHJpZnR1bmdzbmFtZTogJyUuKnMnIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTU0CisjOiBzZXF1ZW5jZXIuYzozMzQ4CiBtc2dpZCAid3JpdGluZyBmYWtlIHJvb3QgY29tbWl0IgogbXNnc3RyICJ1bmVjaHRlbiBSb290LUNvbW1pdCBzY2hyZWliZW4iCiAKLSM6IHNlcXVlbmNlci5jOjI5NTkKKyM6IHNlcXVlbmNlci5jOjMzNTMKIG1zZ2lkICJ3cml0aW5nIHNxdWFzaC1vbnRvIgogbXNnc3RyICJzcXVhc2gtb250byBzY2hyZWliZW4iCiAKLSM6IHNlcXVlbmNlci5jOjI5OTcgYnVpbHRpbi9yZWJhc2UuYzo1ODUgYnVpbHRpbi9yZWJhc2UuYzo1OTEKKyM6IHNlcXVlbmNlci5jOjMzOTEgYnVpbHRpbi9yZWJhc2UuYzo4NzYgYnVpbHRpbi9yZWJhc2UuYzo4ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZpbmQgdHJlZSBvZiAlcyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRmluZGVuIGRlcyBcIlRyZWVcIi1PYmpla3RlcyB2b24gJXMuIgogCi0jOiBzZXF1ZW5jZXIuYzozMDE1IGJ1aWx0aW4vcmViYXNlLmM6NjA0Ci1tc2dpZCAiY291bGQgbm90IHdyaXRlIGluZGV4IgotbXNnc3RyICJLb25udGUgSW5kZXggbmljaHQgc2NocmVpYmVuLiIKLQotIzogc2VxdWVuY2VyLmM6MzA0MgorIzogc2VxdWVuY2VyLmM6MzQzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSAnJXMnIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBhdWZsw7ZzZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzozMDY4CisjOiBzZXF1ZW5jZXIuYzozNDY3CiBtc2dpZCAiY2Fubm90IG1lcmdlIHdpdGhvdXQgYSBjdXJyZW50IHJldmlzaW9uIgogbXNnc3RyICJLYW5uIG5pY2h0IG9obmUgZWluZW4gYWt0dWVsbGVuIENvbW1pdCBtZXJnZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzozMDkwCisjOiBzZXF1ZW5jZXIuYzozNDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAnJS4qcyciCiBtc2dzdHIgIktvbm50ZSAnJS4qcycgbmljaHQgcGFyc2VuLiIKIAotIzogc2VxdWVuY2VyLmM6MzA5OQorIzogc2VxdWVuY2VyLmM6MzQ5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIG1lcmdlOiAnJS4qcyciCiBtc2dzdHIgIk5pY2h0cyB6dW0gWnVzYW1tZW5mw7xocmVuOiAnJS4qcyciCiAKLSM6IHNlcXVlbmNlci5jOjMxMTEKKyM6IHNlcXVlbmNlci5jOjM1MTAKIG1zZ2lkICJvY3RvcHVzIG1lcmdlIGNhbm5vdCBiZSBleGVjdXRlZCBvbiB0b3Agb2YgYSBbbmV3IHJvb3RdIgogbXNnc3RyICIiCiAiT2N0dXB1cy1NZXJnZSBrYW5uIG5pY2h0IGF1ZiBCYXNpcyB2b24gW25ldWVtIFJvb3QtQ29tbWl0XSBhdXNnZWbDvGhydCB3ZXJkZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzozMTI2CisjOiBzZXF1ZW5jZXIuYzozNTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgY29tbWl0IG1lc3NhZ2Ugb2YgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIGtlaW5lIENvbW1pdC1CZXNjaHJlaWJ1bmcgdm9uICclcycgYmVrb21tZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzozMjc0CisjOiBzZXF1ZW5jZXIuYzozNjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBldmVuIGF0dGVtcHQgdG8gbWVyZ2UgJyUuKnMnIgogbXNnc3RyICJLb25udGUgbmljaHQgZWlubWFsIHZlcnN1Y2hlbiAnJS4qcycgenUgbWVyZ2VuLiIKIAotIzogc2VxdWVuY2VyLmM6MzI5MAorIzogc2VxdWVuY2VyLmM6MzcwNAogbXNnaWQgIm1lcmdlOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIm1lcmdlOiBLb25udGUgbmV1ZSBJbmRleC1EYXRlaSBuaWNodCBzY2hyZWliZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzozMzU4IGJ1aWx0aW4vcmViYXNlLmM6MjY4CisjOiBzZXF1ZW5jZXIuYzozNzczIGJ1aWx0aW4vcmViYXNlLmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLlxuIgogbXNnc3RyICJBdXRvbWF0aXNjaGVuIFN0YXNoIGFuZ2V3ZW5kZXQuXG4iCiAKLSM6IHNlcXVlbmNlci5jOjMzNzAKKyM6IHNlcXVlbmNlci5jOjM3ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0b3JlICVzIgogbXNnc3RyICJrYW5uICVzIG5pY2h0IHNwZWljaGVybiIKIAotIzogc2VxdWVuY2VyLmM6MzM3MyBidWlsdGluL3JlYmFzZS5jOjI4NAorIzogc2VxdWVuY2VyLmM6Mzc4OCBidWlsdGluL3JlYmFzZS5jOjc0OSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBcHBseWluZyBhdXRvc3Rhc2ggcmVzdWx0ZWQgaW4gY29uZmxpY3RzLlxuIgpAQCAtNTMwNCwzMSArNzA2MCwzMSBAQAogIklocmUgw4RuZGVydW5nZW4gc2luZCBpbSBTdGFzaCBzaWNoZXIuXG4iCiAiU2llIGvDtm5uZW4gamVkZXJ6ZWl0IFwiZ2l0IHN0YXNoIHBvcFwiIG9kZXIgXCJnaXQgc3Rhc2ggZHJvcFwiIGF1c2bDvGhyZW4uXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM0MjcKKyM6IHNlcXVlbmNlci5jOjM4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNoZWNrb3V0ICVzIgogbXNnc3RyICJLb25udGUgJXMgbmljaHQgYXVzY2hlY2tlbi4iCiAKLSM6IHNlcXVlbmNlci5jOjM0NDEKKyM6IHNlcXVlbmNlci5jOjM4NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhIHZhbGlkIE9JRCIKIG1zZ3N0ciAiJXM6IGtlaW5lIGfDvGx0aWdlIE9JRCIKIAotIzogc2VxdWVuY2VyLmM6MzQ0NiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzI0CisjOiBzZXF1ZW5jZXIuYzozODY4IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3NzkKIG1zZ2lkICJjb3VsZCBub3QgZGV0YWNoIEhFQUQiCiBtc2dzdHIgIktvbm50ZSBIRUFEIG5pY2h0IGxvc2zDtnNlbiIKIAotIzogc2VxdWVuY2VyLmM6MzQ2MQorIzogc2VxdWVuY2VyLmM6Mzg4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkIGF0IEhFQURcbiIKIG1zZ3N0ciAiQW5nZWhhbHRlbiBiZWkgSEVBRFxuIgogCi0jOiBzZXF1ZW5jZXIuYzozNDYzCisjOiBzZXF1ZW5jZXIuYzozODg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQgYXQgJXNcbiIKIG1zZ3N0ciAiQW5nZWhhbHRlbiBiZWkgJXNcbiIKIAotIzogc2VxdWVuY2VyLmM6MzQ3MQorIzogc2VxdWVuY2VyLmM6Mzg5MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGV4ZWN1dGUgdGhlIHRvZG8gY29tbWFuZFxuIgpAQCAtNTM1MCw1MCArNzEwNiw1MCBAQAogIiAgICBnaXQgcmViYXNlIC0tZWRpdC10b2RvXG4iCiAiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBzZXF1ZW5jZXIuYzozNTQzCisjOiBzZXF1ZW5jZXIuYzozOTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQgYXQgJXMuLi4gICUuKnNcbiIKIG1zZ3N0ciAiQW5nZWhhbHRlbiBiZWkgJXMuLi4gJS4qc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzozNjIyCisjOiBzZXF1ZW5jZXIuYzo0MDUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gY29tbWFuZCAlZCIKIG1zZ3N0ciAiVW5iZWthbm50ZXIgQmVmZWhsICVkIgogCi0jOiBzZXF1ZW5jZXIuYzozNjY3CisjOiBzZXF1ZW5jZXIuYzo0MTA5CiBtc2dpZCAiY291bGQgbm90IHJlYWQgb3JpZy1oZWFkIgogbXNnc3RyICJLb25udGUgb3JpZy1oZWFkIG5pY2h0IGxlc2VuLiIKIAotIzogc2VxdWVuY2VyLmM6MzY3MiBzZXF1ZW5jZXIuYzo0NzQxCisjOiBzZXF1ZW5jZXIuYzo0MTE0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJ29udG8nIgogbXNnc3RyICJLb25udGUgJ29udG8nIG5pY2h0IGxlc2VuLiIKIAotIzogc2VxdWVuY2VyLmM6MzY4NgorIzogc2VxdWVuY2VyLmM6NDEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdXBkYXRlIEhFQUQgdG8gJXMiCiBtc2dzdHIgIktvbm50ZSBIRUFEIG5pY2h0IGF1ZiAlcyBha3R1YWxpc2llcmVuLiIKIAotIzogc2VxdWVuY2VyLmM6Mzc3MgorIzogc2VxdWVuY2VyLmM6NDIyMQogbXNnaWQgImNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICIiCiAiUmViYXNlIG5pY2h0IG3DtmdsaWNoOiBTaWUgaGFiZW4gw4RuZGVydW5nZW4sIGRpZSBuaWNodCB6dW0gQ29tbWl0XG4iCiAidm9yZ2VtZXJrdCBzaW5kLiIKIAotIzogc2VxdWVuY2VyLmM6Mzc4MQorIzogc2VxdWVuY2VyLmM6NDIzMAogbXNnaWQgImNhbm5vdCBhbWVuZCBub24tZXhpc3RpbmcgY29tbWl0IgogbXNnc3RyICJLYW5uIG5pY2h0IGV4aXN0aWVyZW5kZW4gQ29tbWl0IG5pY2h0IG5hY2hiZXNzZXJuLiIKIAotIzogc2VxdWVuY2VyLmM6Mzc4MworIzogc2VxdWVuY2VyLmM6NDIzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGZpbGU6ICclcyciCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgRGF0ZWk6ICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjM3ODUKKyM6IHNlcXVlbmNlci5jOjQyMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb250ZW50czogJyVzJyIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBJbmhhbHRlOiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzozNzg4CisjOiBzZXF1ZW5jZXIuYzo0MjM3CiBtc2dpZCAiIgogIlxuIgogIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSwgY29tbWl0IHRoZW1cbiIKQEAgLTU0MDQsODIgKzcxNjAsNDIgQEAKICJjb21taXR0ZW4gU2llIGRpZXNlIHp1ZXJzdCB1bmQgZsO8aHJlbiBTaWUgZGFubiAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJ1xuIgogImVybmV1dCBhdXMuIgogCi0jOiBzZXF1ZW5jZXIuYzozODI0IHNlcXVlbmNlci5jOjM4NjIKKyM6IHNlcXVlbmNlci5jOjQyNzMgc2VxdWVuY2VyLmM6NDMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgZmlsZTogJyVzJyIKIG1zZ3N0ciAiS29ubnRlIERhdGVpIG5pY2h0IHNjaHJlaWJlbjogJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6Mzg3NworIzogc2VxdWVuY2VyLmM6NDMyNwogbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKIG1zZ3N0ciAiS29ubnRlIENIRVJSWV9QSUNLX0hFQUQgbmljaHQgbMO2c2NoZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzozODg0CisjOiBzZXF1ZW5jZXIuYzo0MzM0CiBtc2dpZCAiY291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIktvbm50ZSDDhG5kZXJ1bmdlbiBhdXMgZGVyIFN0YWdpbmctQXJlYSBuaWNodCBjb21taXR0ZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzozOTgyCisjOiBzZXF1ZW5jZXIuYzo0NDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgogbXNnc3RyICIlczogJXMga2FubiBuaWNodCBpbiBcImNoZXJyeS1waWNrXCIgYmVudXR6dCB3ZXJkZW4iCiAKLSM6IHNlcXVlbmNlci5jOjM5ODYKKyM6IHNlcXVlbmNlci5jOjQ0NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKIG1zZ3N0ciAiJXM6IHVuZ8O8bHRpZ2VyIENvbW1pdCIKIAotIzogc2VxdWVuY2VyLmM6NDAyMQorIzogc2VxdWVuY2VyLmM6NDQ3OQogbXNnaWQgImNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAiS2FubiBuaWNodCBhbHMgYWxsZXJlcnN0ZW4gQ29tbWl0IGVpbmVuIFJldmVydCBhdXNmw7xocmVuLiIKIAotIzogc2VxdWVuY2VyLmM6NDQ2NgorIzogc2VxdWVuY2VyLmM6NDk1MgogbXNnaWQgIm1ha2Vfc2NyaXB0OiB1bmhhbmRsZWQgb3B0aW9ucyIKIG1zZ3N0ciAibWFrZV9zY3JpcHQ6IHVuYmVoYW5kZWx0ZSBPcHRpb25lbiIKIAotIzogc2VxdWVuY2VyLmM6NDQ2OQorIzogc2VxdWVuY2VyLmM6NDk1NQogbXNnaWQgIm1ha2Vfc2NyaXB0OiBlcnJvciBwcmVwYXJpbmcgcmV2aXNpb25zIgogbXNnc3RyICJtYWtlX3NjcmlwdDogRmVobGVyIGJlaW0gVm9yYmVyZWl0ZW4gZGVyIENvbW1pdHMiCiAKLSM6IHNlcXVlbmNlci5jOjQ1MDkgc2VxdWVuY2VyLmM6NDU2NSBzZXF1ZW5jZXIuYzo0ODQwCi0jLCBjLWZvcm1hdAotbXNnaWQgInVudXNhYmxlIHRvZG8gbGlzdDogJyVzJyIKLW1zZ3N0ciAiVW5iZW51dHpiYXJlIFRPRE8tTGlzdGU6ICclcyciCi0KLSM6IHNlcXVlbmNlci5jOjQ2MjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotInVucmVjb2duaXplZCBzZXR0aW5nICVzIGZvciBvcHRpb24gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suIElnbm9yaW5nLiIKLW1zZ3N0ciAiIgotIk5pY2h0IGVya2FubnRlIEVpbnN0ZWxsdW5nICVzIGbDvHIgT3B0aW9uIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiAiCi0iSWdub3JpZXJlLiIKLQotIzogc2VxdWVuY2VyLmM6NDY5MAotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iV2FybmluZzogc29tZSBjb21taXRzIG1heSBoYXZlIGJlZW4gZHJvcHBlZCBhY2NpZGVudGFsbHkuXG4iCi0iRHJvcHBlZCBjb21taXRzIChuZXdlciB0byBvbGRlcik6XG4iCi1tc2dzdHIgIiIKLSJXYXJudW5nOiBFaW5pZ2UgQ29tbWl0cyBrw7ZubnRlbiBhdXMgVmVyc2VoZW4gZW50ZmVybnQgd29yZGVuIHNlaW4uXG4iCi0iRW50ZmVybnRlIENvbW1pdHMgKG5ldSB6dSBhbHQpOlxuIgotCi0jOiBzZXF1ZW5jZXIuYzo0Njk3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJUbyBhdm9pZCB0aGlzIG1lc3NhZ2UsIHVzZSBcImRyb3BcIiB0byBleHBsaWNpdGx5IHJlbW92ZSBhIGNvbW1pdC5cbiIKLSJcbiIKLSJVc2UgJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHRvIGNoYW5nZSB0aGUgbGV2ZWwgb2YgIgotIndhcm5pbmdzLlxuIgotIlRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci5cbiIKLSJcbiIKLW1zZ3N0ciAiIgotIlVtIGRpZXNlIE1lbGR1bmcgenUgdmVybWVpZGVuLCBiZW51dHplbiBTaWUgXCJkcm9wXCIsIHVtIGV4bGl6aXQgQ29tbWl0cyB6dVxuIgotImVudGZlcm5lbi5cbiIKLSJcbiIKLSJCZW51dHplbiBTaWUgJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snLCB1bSBkaWUgU3R1ZmUgZGVyXG4iCi0iV2FybnVuZ2VuIHp1IMOkbmRlcm4uXG4iCi0iRGllIG3DtmdsaWNoZW4gVmVyaGFsdGVuc3dlaXNlbiBzaW5kOiBpZ25vcmUsIHdhcm4sIGVycm9yLlxuIgotCi0jOiBzZXF1ZW5jZXIuYzo0NzEwCi0jLCBjLWZvcm1hdAorIzogc2VxdWVuY2VyLmM6NTExMwogbXNnaWQgIiIKICJZb3UgY2FuIGZpeCB0aGlzIHdpdGggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLSIKICJjb250aW51ZScuXG4iCkBAIC01NDg5LDQwICs3MjA1LDI0IEBACiAiJ2dpdCByZWJhc2UgLS1jb250aW51ZScgYXVzLlxuIgogIk9kZXIgU2llIGvDtm5uZW4gZGVuIFJlYmFzZSBtaXQgJ2dpdCByZWJhc2UgLS1hYm9ydCcgYWJicmVjaGVuLlxuIgogCi0jOiBzZXF1ZW5jZXIuYzo0ODQ4IHNlcXVlbmNlci5jOjQ4ODYKKyM6IHNlcXVlbmNlci5jOjUyMjYgc2VxdWVuY2VyLmM6NTI0MwogbXNnaWQgIm5vdGhpbmcgdG8gZG8iCiBtc2dzdHIgIk5pY2h0cyB6dSB0dW4uIgogCi0jOiBzZXF1ZW5jZXIuYzo0ODUyCi0jLCBjLWZvcm1hdAotbXNnaWQgIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kKSIKLW1zZ2lkX3BsdXJhbCAiUmViYXNlICVzIG9udG8gJXMgKCVkIGNvbW1hbmRzKSIKLW1zZ3N0clswXSAiUmViYXNlIHZvbiAlcyBhdWYgJXMgKCVkIEtvbW1hbmRvKSIKLW1zZ3N0clsxXSAiUmViYXNlIHZvbiAlcyBhdWYgJXMgKCVkIEtvbW1hbmRvcykiCi0KLSM6IHNlcXVlbmNlci5jOjQ4NjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnLiIKLW1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgbmFjaCAnJXMnIGtvcGllcmVuLiIKLQotIzogc2VxdWVuY2VyLmM6NDg2OCBzZXF1ZW5jZXIuYzo0ODk3Ci1tc2dpZCAiY291bGQgbm90IHRyYW5zZm9ybSB0aGUgdG9kbyBsaXN0IgotbXNnc3RyICJLb25udGUgZGllIFRPRE8tTGlzdGUgbmljaHQgdW13YW5kZWxuLiIKLQotIzogc2VxdWVuY2VyLmM6NDkwMAorIzogc2VxdWVuY2VyLmM6NTI1NwogbXNnaWQgImNvdWxkIG5vdCBza2lwIHVubmVjZXNzYXJ5IHBpY2sgY29tbWFuZHMiCiBtc2dzdHIgIktvbm50ZSB1bm7DtnRpZ2UgXCJwaWNrXCItQmVmZWhsZSBuaWNodCBhdXNsYXNzZW4uIgogCi0jOiBzZXF1ZW5jZXIuYzo0OTgzCisjOiBzZXF1ZW5jZXIuYzo1MzUxCiBtc2dpZCAidGhlIHNjcmlwdCB3YXMgYWxyZWFkeSByZWFycmFuZ2VkLiIKIG1zZ3N0ciAiRGFzIFNjcmlwdCB3dXJkZSBiZXJlaXRzIHVtZ2VvcmRuZXQuIgogCi0jOiBzZXR1cC5jOjEyMworIzogc2V0dXAuYzoxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiclcycgbGllZ3QgYXXDn2VyaGFsYiBkZXMgUmVwb3NpdG9yaWVzLiIKIAotIzogc2V0dXAuYzoxNzIKKyM6IHNldHVwLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlczogbm8gc3VjaCBwYXRoIGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCkBAIC01NTMyLDcgKzcyMzIsNyBAQAogIkJlbnV0emVuIFNpZSAnZ2l0IDxCZWZlaGw+IC0tIDxQZmFkPi4uLicgenVyIEFuZ2FiZSB2b24gUGZhZGVuLCBkaWUgbG9rYWxcbiIKICJuaWNodCBleGlzdGllcmVuLiIKIAotIzogc2V0dXAuYzoxODUKKyM6IHNldHVwLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogdW5rbm93biByZXZpc2lvbiBvciBwYXRoIG5vdCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgpAQCAtNTU0NCwxMyArNzI0NCwxMyBAQAogIkJlbnV0emVuIFNpZSAnLS0nLCB1bSBQZmFkZSB1bmQgQ29tbWl0cyB6dSB0cmVubmVuLCDDpGhubGljaCB3aWU6XG4iCiAiJ2dpdCA8QmVmZWhsPiBbPENvbW1pdD4uLi5dIC0tIFs8RGF0ZWk+Li4uXSciCiAKLSM6IHNldHVwLmM6MjM0CisjOiBzZXR1cC5jOjIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJvcHRpb24gJyVzJyBtdXN0IGNvbWUgYmVmb3JlIG5vbi1vcHRpb24gYXJndW1lbnRzIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbiAnJXMnIG11c3Mgdm9yIGRlbiBBcmd1bWVudGVuIGtvbW1lbiwgZGllIGtlaW5lIE9wdGlvbmVuIHNpbmQuIgogCi0jOiBzZXR1cC5jOjI1MworIzogc2V0dXAuYzoyNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiBib3RoIHJldmlzaW9uIGFuZCBmaWxlbmFtZVxuIgpAQCAtNTU2MSw5MyArNzI2MSw5MyBAQAogIkJlbnV0emVuIFNpZSAnLS0nLCB1bSBQZmFkZSB1bmQgQ29tbWl0cyB6dSB0cmVubmVuLCDDpGhubGljaCB3aWU6XG4iCiAiJ2dpdCA8QmVmZWhsPiBbPENvbW1pdD4uLi5dIC0tIFs8RGF0ZWk+Li4uXSciCiAKLSM6IHNldHVwLmM6Mzg5CisjOiBzZXR1cC5jOjM5MQogbXNnaWQgInVuYWJsZSB0byBzZXQgdXAgd29yayB0cmVlIHVzaW5nIGludmFsaWQgY29uZmlnIgogbXNnc3RyICIiCiAiS29ubnRlIEFyYmVpdHN2ZXJ6ZWljaG5pcyBtaXQgdW5nw7xsdGlnZXIgS29uZmlndXJhdGlvbiBuaWNodCBlaW5yaWNodGVuLiIKIAotIzogc2V0dXAuYzozOTMKKyM6IHNldHVwLmM6Mzk1CiBtc2dpZCAidGhpcyBvcGVyYXRpb24gbXVzdCBiZSBydW4gaW4gYSB3b3JrIHRyZWUiCiBtc2dzdHIgIkRpZXNlIE9wZXJhdGlvbiBtdXNzIGluIGVpbmVtIEFyYmVpdHN2ZXJ6ZWljaG5pcyBhdXNnZWbDvGhydCB3ZXJkZW4uIgogCi0jOiBzZXR1cC5jOjUyNworIzogc2V0dXAuYzo1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0ZWQgZ2l0IHJlcG8gdmVyc2lvbiA8PSAlZCwgZm91bmQgJWQiCiBtc2dzdHIgIkVyd2FydGV0ZSBHaXQtUmVwb3NpdG9yeS1WZXJzaW9uIDw9ICVkLCAlZCBnZWZ1bmRlbiIKIAotIzogc2V0dXAuYzo1MzUKKyM6IHNldHVwLmM6NTQ5CiBtc2dpZCAidW5rbm93biByZXBvc2l0b3J5IGV4dGVuc2lvbnMgZm91bmQ6IgogbXNnc3RyICJVbmJla2FubnRlIFJlcG9zaXRvcnktRXJ3ZWl0ZXJ1bmdlbiBnZWZ1bmRlbjoiCiAKLSM6IHNldHVwLmM6NTU0CisjOiBzZXR1cC5jOjU2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBvcGVuaW5nICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIMOWZmZuZW4gdm9uICclcycuIgogCi0jOiBzZXR1cC5jOjU1NgorIzogc2V0dXAuYzo1NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidG9vIGxhcmdlIHRvIGJlIGEgLmdpdCBmaWxlOiAnJXMnIgogbXNnc3RyICJadSBncm/DnywgdW0gZWluZSAuZ2l0LURhdGVpIHp1IHNlaW46ICclcyciCiAKLSM6IHNldHVwLmM6NTU4CisjOiBzZXR1cC5jOjU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciByZWFkaW5nICVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSBMZXNlbiB2b24gJyVzJy4iCiAKLSM6IHNldHVwLmM6NTYwCisjOiBzZXR1cC5jOjU3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGdpdGZpbGUgZm9ybWF0OiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXMgZ2l0ZmlsZS1Gb3JtYXQ6ICVzIgogCi0jOiBzZXR1cC5jOjU2MgorIzogc2V0dXAuYzo1NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gcGF0aCBpbiBnaXRmaWxlOiAlcyIKIG1zZ3N0ciAiS2VpbiBQZmFkIGluIGdpdGZpbGU6ICVzIgogCi0jOiBzZXR1cC5jOjU2NAorIzogc2V0dXAuYzo1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgZ2l0IHJlcG9zaXRvcnk6ICVzIgogbXNnc3RyICJLZWluIEdpdC1SZXBvc2l0b3J5OiAlcyIKIAotIzogc2V0dXAuYzo2NjMKKyM6IHNldHVwLmM6Njc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIickJXMnIHRvbyBiaWciCiBtc2dzdHIgIickJXMnIHp1IGdyb8OfIgogCi0jOiBzZXR1cC5jOjY3NworIzogc2V0dXAuYzo2OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgZ2l0IHJlcG9zaXRvcnk6ICclcyciCiBtc2dzdHIgIktlaW4gR2l0LVJlcG9zaXRvcnk6ICclcyciCiAKLSM6IHNldHVwLmM6NzA2IHNldHVwLmM6NzA4IHNldHVwLmM6NzM5CisjOiBzZXR1cC5jOjcyMCBzZXR1cC5jOjcyMiBzZXR1cC5jOjc1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJyVzJyIKIG1zZ3N0ciAiS2FubiBuaWNodCBpbiBWZXJ6ZWljaG5pcyAnJXMnIHdlY2hzZWxuLiIKIAotIzogc2V0dXAuYzo3MTEgc2V0dXAuYzo3Njcgc2V0dXAuYzo3Nzcgc2V0dXAuYzo4MTYgc2V0dXAuYzo4MjQgc2V0dXAuYzo4MzkKKyM6IHNldHVwLmM6NzI1IHNldHVwLmM6NzgxIHNldHVwLmM6NzkxIHNldHVwLmM6ODMwIHNldHVwLmM6ODM4CiBtc2dpZCAiY2Fubm90IGNvbWUgYmFjayB0byBjd2QiCiBtc2dzdHIgIkthbm4gbmljaHQgenVtIGFrdHVlbGxlbiBBcmJlaXRzdmVyemVpY2huaXMgenVyw7xja3dlY2hzZWxuLiIKIAotIzogc2V0dXAuYzo4MzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBvZiB0aGUgcGFyZW50IGRpcmVjdG9yaWVzKTogJXMiCi1tc2dzdHIgIktlaW4gR2l0LVJlcG9zaXRvcnkgKG9kZXIgaXJnZW5kZWluZXMgZGVyIEVsdGVybnZlcnplaWNobmlzc2UpOiAlcyIKLQotIzogc2V0dXAuYzo4NDgKKyM6IHNldHVwLmM6ODUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclKnMlcyVzJyIKIG1zZ3N0ciAiS29ubnRlICclKnMlcyVzJyBuaWNodCBsZXNlbi4iCiAKLSM6IHNldHVwLmM6MTA3OAorIzogc2V0dXAuYzoxMDkwCiBtc2dpZCAiVW5hYmxlIHRvIHJlYWQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiS29ubnRlIGFrdHVlbGxlcyBBcmJlaXRzdmVyemVpY2huaXMgbmljaHQgbGVzZW4uIgogCi0jOiBzZXR1cC5jOjEwOTAgc2V0dXAuYzoxMDk2CisjOiBzZXR1cC5jOjEwOTkgc2V0dXAuYzoxMTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGFuZ2UgdG8gJyVzJyIKIG1zZ3N0ciAiS2FubiBuaWNodCBuYWNoICclcycgd2VjaHNlbG4uIgogCi0jOiBzZXR1cC5jOjExMDkKKyM6IHNldHVwLmM6MTExMAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIKK21zZ3N0ciAiS2VpbiBHaXQtUmVwb3NpdG9yeSAob2RlciBpcmdlbmRlaW5lcyBkZXIgRWx0ZXJudmVyemVpY2huaXNzZSk6ICVzIgorCisjOiBzZXR1cC5jOjExMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgcGFyZW50IHVwIHRvIG1vdW50IHBvaW50ICVzKVxuIgpAQCAtNTY1Nyw3ICs3MzU3LDcgQEAKICIlcylcbiIKICJTdG9wcGUgYmVpIERhdGVpc3lzdGVtZ3JlbnplIChHSVRfRElTQ09WRVJZX0FDUk9TU19GSUxFU1lTVEVNIG5pY2h0IGdlc2V0enQpLiIKIAotIzogc2V0dXAuYzoxMTkyCisjOiBzZXR1cC5jOjEyMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInByb2JsZW0gd2l0aCBjb3JlLnNoYXJlZFJlcG9zaXRvcnkgZmlsZW1vZGUgdmFsdWUgKDAlLjNvKS5cbiIKQEAgLTU2NjYsMjkxICs3MzY2LDI5NiBAQAogIlByb2JsZW0gbWl0IFdlcnQgZsO8ciBEYXRlaW1vZHVzICgwJS4zbykgdm9uIGNvcmUuc2hhcmVkUmVwb3NpdG9yeS5cbiIKICJEZXIgQmVzaXR6ZXIgZGVyIERhdGVpZW4gbXVzcyBpbW1lciBMZXNlLSB1bmQgU2NocmVpYnJlY2h0ZSBoYWJlbi4iCiAKLSM6IHNldHVwLmM6MTIzNQorIzogc2V0dXAuYzoxMjcxCiBtc2dpZCAib3BlbiAvZGV2L251bGwgb3IgZHVwIGZhaWxlZCIKIG1zZ3N0ciAiw5ZmZm5lbiB2b24gL2Rldi9udWxsIG9kZXIgZHVwIGZlaGxnZXNjaGxhZ2VuLiIKIAotIzogc2V0dXAuYzoxMjUwCisjOiBzZXR1cC5jOjEyODYKIG1zZ2lkICJmb3JrIGZhaWxlZCIKIG1zZ3N0ciAiZm9yayBmZWhsZ2VzY2hsYWdlbiIKIAotIzogc2V0dXAuYzoxMjU1CisjOiBzZXR1cC5jOjEyOTEKIG1zZ2lkICJzZXRzaWQgZmFpbGVkIgogbXNnc3RyICJzZXRzaWQgZmVobGdlc2NobGFnZW4iCiAKLSM6IHNoYTEtZmlsZS5jOjM4MQorIzogc2hhMS1maWxlLmM6NDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBkaXJlY3RvcnkgJXMgZG9lcyBub3QgZXhpc3Q7IGNoZWNrIC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMiCiBtc2dzdHIgIiIKICJPYmpla3R2ZXJ6ZWljaG5pcyAlcyBleGlzdGllcnQgbmljaHQ7IHByw7xmZSAuZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzIgogCi0jOiBzaGExLWZpbGUuYzo0MzIKKyM6IHNoYTEtZmlsZS5jOjUwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbm9ybWFsaXplIGFsdGVybmF0ZSBvYmplY3QgcGF0aDogJXMiCiBtc2dzdHIgIktvbm50ZSBhbHRlcm5hdGl2ZW4gT2JqZWt0cGZhZCAnJXMnIG5pY2h0IG5vcm1hbGlzaWVyZW4uIgogCi0jOiBzaGExLWZpbGUuYzo1MDMKKyM6IHNoYTEtZmlsZS5jOjU3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaWdub3JpbmcgYWx0ZXJuYXRlIG9iamVjdCBzdG9yZXMsIG5lc3RpbmcgdG9vIGRlZXAiCiBtc2dzdHIgIiVzOiBpZ25vcmllcmUgYWx0ZXJuYXRpdmUgT2JqZWt0c3BlaWNoZXIgLSBWZXJzY2hhY2h0ZWx1bmcgenUgdGllZiIKIAotIzogc2hhMS1maWxlLmM6NTEwCisjOiBzaGExLWZpbGUuYzo1ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG5vcm1hbGl6ZSBvYmplY3QgZGlyZWN0b3J5OiAlcyIKIG1zZ3N0ciAiS29ubnRlIE9iamVrdHZlcnplaWNobmlzICclcycgbmljaHQgbm9ybWFsaXNpZXJlbi4iCiAKLSM6IHNoYTEtZmlsZS5jOjU2NQorIzogc2hhMS1maWxlLmM6NjI1CiBtc2dpZCAidW5hYmxlIHRvIGZkb3BlbiBhbHRlcm5hdGVzIGxvY2tmaWxlIgogbXNnc3RyICJLb25udGUgZmRvcGVuIG5pY2h0IGF1ZiBMb2NrLURhdGVpIGbDvHIgXCJhbHRlcm5hdGVzXCIgYXVmcnVmZW4uIgogCi0jOiBzaGExLWZpbGUuYzo1ODMKKyM6IHNoYTEtZmlsZS5jOjY0MwogbXNnaWQgInVuYWJsZSB0byByZWFkIGFsdGVybmF0ZXMgZmlsZSIKIG1zZ3N0ciAiS29ubnRlIFwiYWx0ZXJuYXRlc1wiLURhdGVpIG5pY2h0IGxlc2VuLiIKIAotIzogc2hhMS1maWxlLmM6NTkwCisjOiBzaGExLWZpbGUuYzo2NTAKIG1zZ2lkICJ1bmFibGUgdG8gbW92ZSBuZXcgYWx0ZXJuYXRlcyBmaWxlIGludG8gcGxhY2UiCiBtc2dzdHIgIktvbm50ZSBuZXVlIFwiYWx0ZXJuYXRlc1wiLURhdGVpIG5pY2h0IMO8YmVybmVobWVuLiIKIAotIzogc2hhMS1maWxlLmM6NjI1CisjOiBzaGExLWZpbGUuYzo2ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJQZmFkICclcycgZXhpc3RpZXJ0IG5pY2h0IgogCi0jOiBzaGExLWZpbGUuYzo2NTEKKyM6IHNoYTEtZmlsZS5jOjcxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGFzIGEgbGlua2VkIGNoZWNrb3V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LiIKIG1zZ3N0ciAiIgogIlJlZmVyZW56aWVydGVzIFJlcG9zaXRvcnkgJyVzJyB3aXJkIG5vY2ggbmljaHQgYWxzIHZlcmtuw7xwZnRlc1xuIgogIkFyYmVpdHN2ZXJ6ZWljaG5pcyB1bnRlcnN0w7x0enQuIgogCi0jOiBzaGExLWZpbGUuYzo2NTcKKyM6IHNoYTEtZmlsZS5jOjcxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgogbXNnc3RyICJSZWZlcmVuemllcnRlcyBSZXBvc2l0b3J5ICclcycgaXN0IGtlaW4gbG9rYWxlcyBSZXBvc2l0b3J5LiIKIAotIzogc2hhMS1maWxlLmM6NjYzCisjOiBzaGExLWZpbGUuYzo3MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IgogbXNnc3RyICIiCiAiUmVmZXJlbnppZXJ0ZXMgUmVwb3NpdG9yeSAnJXMnIGhhdCBlaW5lIHVudm9sbHN0w6RuZGlnZSBIaXN0b3JpZSAoc2hhbGxvdykuIgogCi0jOiBzaGExLWZpbGUuYzo2NzEKKyM6IHNoYTEtZmlsZS5jOjczMQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiCiBtc2dzdHIgIiIKICJSZWZlcmVuemllcnRlcyBSZXBvc2l0b3J5ICclcycgaXN0IG1pdCBrw7xuc3RsaWNoZW4gVm9yZ8Okbmdlcm4gKFwiZ3JhZnRzXCIpICIKICJlaW5nZWjDpG5ndC4iCiAKLSM6IHNoYTEtZmlsZS5jOjc4MQorIzogc2hhMS1maWxlLmM6NzkxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbGluZSB3aGlsZSBwYXJzaW5nIGFsdGVybmF0ZSByZWZzOiAlcyIKK21zZ3N0ciAiVW5nw7xsdGlnZSBaZWlsZSBiZWltIFBhcnNlbiBhbHRlcm5hdGl2ZXIgUmVmZXJlbnplbjogJXMiCisKKyM6IHNoYTEtZmlsZS5jOjk0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhdHRlbXB0aW5nIHRvIG1tYXAgJTxQUkl1TUFYPiBvdmVyIGxpbWl0ICU8UFJJdU1BWD4iCiBtc2dzdHIgIlZlcnN1Y2hlIG1tYXAgJTxQUkl1TUFYPiDDvGJlciBMaW1pdCAlPFBSSXVNQVg+LiIKIAotIzogc2hhMS1maWxlLmM6ODA2CisjOiBzaGExLWZpbGUuYzo5NjQKIG1zZ2lkICJtbWFwIGZhaWxlZCIKIG1zZ3N0ciAibW1hcCBmZWhsZ2VzY2hsYWdlbiIKIAotIzogc2hhMS1maWxlLmM6OTczCisjOiBzaGExLWZpbGUuYzoxMTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBmaWxlICVzIGlzIGVtcHR5IgogbXNnc3RyICJPYmpla3RkYXRlaSAlcyBpc3QgbGVlci4iCiAKLSM6IHNoYTEtZmlsZS5jOjEwOTMgc2hhMS1maWxlLmM6MjIxNQorIzogc2hhMS1maWxlLmM6MTI1MiBzaGExLWZpbGUuYzoyMzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgbG9vc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgIkZlaGxlcmhhZnRlcyBsb3NlcyBPYmpla3QgJyVzJy4iCiAKLSM6IHNoYTEtZmlsZS5jOjEwOTUgc2hhMS1maWxlLmM6MjIxOQorIzogc2hhMS1maWxlLmM6MTI1NCBzaGExLWZpbGUuYzoyMzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImdhcmJhZ2UgYXQgZW5kIG9mIGxvb3NlIG9iamVjdCAnJXMnIgogbXNnc3RyICJOdXR6bG9zZSBEYXRlbiBhbSBFbmRlIHZvbiBsb3NlbSBPYmpla3QgJyVzJy4iCiAKLSM6IHNoYTEtZmlsZS5jOjExMzcKKyM6IHNoYTEtZmlsZS5jOjEyOTYKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCB0eXBlIgogbXNnc3RyICJ1bmfDvGx0aWdlciBPYmpla3QtVHlwIgogCi0jOiBzaGExLWZpbGUuYzoxMjE5CisjOiBzaGExLWZpbGUuYzoxMzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1bnBhY2sgJXMgaGVhZGVyIHdpdGggLS1hbGxvdy11bmtub3duLXR5cGUiCiBtc2dzdHIgIktvbm50ZSAlcyBLb3BmYmVyZWljaCBuaWNodCBtaXQgLS1hbGxvdy11bmtub3duLXR5cGUgZW50cGFja2VuLiIKIAotIzogc2hhMS1maWxlLmM6MTIyMgorIzogc2hhMS1maWxlLmM6MTM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdW5wYWNrICVzIGhlYWRlciIKIG1zZ3N0ciAiS29ubnRlICVzIEtvcGZiZXJlaWNoIG5pY2h0IGVudHBhY2tlbi4iCiAKLSM6IHNoYTEtZmlsZS5jOjEyMjgKKyM6IHNoYTEtZmlsZS5jOjEzODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICVzIGhlYWRlciB3aXRoIC0tYWxsb3ctdW5rbm93bi10eXBlIgogbXNnc3RyICJLb25udGUgJXMgS29wZmJlcmVpY2ggbWl0IC0tYWxsb3ctdW5rbm93bi10eXBlIG5pY2h0IHBhcnNlbi4iCiAKLSM6IHNoYTEtZmlsZS5jOjEyMzEKKyM6IHNoYTEtZmlsZS5jOjEzOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICVzIGhlYWRlciIKIG1zZ3N0ciAiS29ubnRlICVzIEtvcGZiZXJlaWNoIG5pY2h0IHBhcnNlbi4iCiAKLSM6IHNoYTEtZmlsZS5jOjE0MjIKKyM6IHNoYTEtZmlsZS5jOjE1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICJLb25udGUgT2JqZWt0ICVzIG5pY2h0IGxlc2VuLiIKIAotIzogc2hhMS1maWxlLmM6MTQyNgorIzogc2hhMS1maWxlLmM6MTU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBsYWNlbWVudCAlcyBub3QgZm91bmQgZm9yICVzIgogbXNnc3RyICJFcnNldHp1bmcgJXMgZsO8ciAlcyBuaWNodCBnZWZ1bmRlbi4iCiAKLSM6IHNoYTEtZmlsZS5jOjE0MzAKKyM6IHNoYTEtZmlsZS5jOjE1OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9vc2Ugb2JqZWN0ICVzIChzdG9yZWQgaW4gJXMpIGlzIGNvcnJ1cHQiCiBtc2dzdHIgIkxvc2VzIE9iamVrdCAlcyAoZ2VzcGVpY2hlcnQgaW4gJXMpIGlzdCBiZXNjaMOkZGlndC4iCiAKLSM6IHNoYTEtZmlsZS5jOjE0MzQKKyM6IHNoYTEtZmlsZS5jOjE1OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFja2VkIG9iamVjdCAlcyAoc3RvcmVkIGluICVzKSBpcyBjb3JydXB0IgogbXNnc3RyICJHZXBhY2t0ZXMgT2JqZWt0ICVzIChnZXNwZWljaGVydCBpbiAlcykgaXN0IGJlc2Now6RkaWd0LiIKIAotIzogc2hhMS1maWxlLmM6MTUzNgorIzogc2hhMS1maWxlLmM6MTY5OQogIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc2hhMSBmaWxlbmFtZSAlcyIKLW1zZ3N0ciAiS29ubnRlIFNIQTEtRGF0ZWluYW1lICVzIG5pY2h0IHNjaHJlaWJlbi4iCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJXMiCittc2dzdHIgIktvbm50ZSBEYXRlaSAlcyBuaWNodCBzY2hyZWliZW4uIgogCi0jOiBzaGExLWZpbGUuYzoxNTQzCisjOiBzaGExLWZpbGUuYzoxNzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBzZXQgcGVybWlzc2lvbiB0byAnJXMnIgogbXNnc3RyICJLb25udGUgWnVncmlmZnNiZXJlY2h0aWd1bmcgYXVmICclcycgbmljaHQgc2V0emVuLiIKIAotIzogc2hhMS1maWxlLmM6MTU1MAorIzogc2hhMS1maWxlLmM6MTcxMwogbXNnaWQgImZpbGUgd3JpdGUgZXJyb3IiCiBtc2dzdHIgIkZlaGxlciBiZWltIFNjaHJlaWJlbiBlaW5lciBEYXRlaS4iCiAKLSM6IHNoYTEtZmlsZS5jOjE1NjkKLW1zZ2lkICJlcnJvciB3aGVuIGNsb3Npbmcgc2hhMSBmaWxlIgotbXNnc3RyICJGZWhsZXIgYmVpbSBTY2hsaWXDn2VuIGRlciBTSEExLURhdGVpLiIKKyM6IHNoYTEtZmlsZS5jOjE3MzIKK21zZ2lkICJlcnJvciB3aGVuIGNsb3NpbmcgbG9vc2Ugb2JqZWN0IGZpbGUiCittc2dzdHIgIkZlaGxlciBiZWltIFNjaGxpZcOfZW4gZGVyIERhdGVpIGbDvHIgbG9zZSBPYmpla3RlLiIKIAotIzogc2hhMS1maWxlLmM6MTYzNQorIzogc2hhMS1maWxlLmM6MTc5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnN1ZmZpY2llbnQgcGVybWlzc2lvbiBmb3IgYWRkaW5nIGFuIG9iamVjdCB0byByZXBvc2l0b3J5IGRhdGFiYXNlICVzIgogbXNnc3RyICIiCiAiVW56dXJlaWNoZW5kZSBCZXJlY2h0aWd1bmcgenVtIEhpbnp1ZsO8Z2VuIGVpbmVzIE9iamVrdGVzIHp1ciBSZXBvc2l0b3J5LSIKICJEYXRlbmJhbmsgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjE2MzcKKyM6IHNoYTEtZmlsZS5jOjE3OTkKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgogbXNnc3RyICJLb25udGUgdGVtcG9yw6RyZSBEYXRlaSBuaWNodCBlcnN0ZWxsZW4uIgogCi0jOiBzaGExLWZpbGUuYzoxNjYxCi1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIHNoYTEgZmlsZSIKLW1zZ3N0ciAiS29ubnRlIFNIQTEtRGF0ZWkgbmljaHQgc2NocmVpYmVuLiIKKyM6IHNoYTEtZmlsZS5jOjE4MjMKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbG9vc2Ugb2JqZWN0IGZpbGUiCittc2dzdHIgIkZlaGxlciBiZWltIFNjaHJlaWJlbiBkZXIgRGF0ZWkgZsO8ciBsb3NlIE9iamVrdGUuIgogCi0jOiBzaGExLWZpbGUuYzoxNjY3CisjOiBzaGExLWZpbGUuYzoxODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZWZsYXRlIG5ldyBvYmplY3QgJXMgKCVkKSIKIG1zZ3N0ciAiS29ubnRlIG5ldWVzIE9iamVrdCAlcyAoJWQpIG5pY2h0IGtvbXByaW1pZXJlbi4iCiAKLSM6IHNoYTEtZmlsZS5jOjE2NzEKKyM6IHNoYTEtZmlsZS5jOjE4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZUVuZCBvbiBvYmplY3QgJXMgZmFpbGVkICglZCkiCiBtc2dzdHIgImRlZmxhdGVFbmQgYXVmIE9iamVrdCAlcyBmZWhsZ2VzY2hsYWdlbiAoJWQpIgogCi0jOiBzaGExLWZpbGUuYzoxNjc1CisjOiBzaGExLWZpbGUuYzoxODM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbmZ1c2VkIGJ5IHVuc3RhYmxlIG9iamVjdCBzb3VyY2UgZGF0YSBmb3IgJXMiCiBtc2dzdHIgIkZlaGxlciB3ZWdlbiBpbnN0YWJpbGVuIE9iamVrdHF1ZWxsZGF0ZW4gZsO8ciAlcyIKIAotIzogc2hhMS1maWxlLmM6MTY4NSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjkxOAorIzogc2hhMS1maWxlLmM6MTg0NyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjkyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdXRpbWUoKSBvbiAlcyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gQXVmcnVmIHZvbiB1dGltZSgpIGF1ZiAnJXMnLiIKIAotIzogc2hhMS1maWxlLmM6MTc2MAorIzogc2hhMS1maWxlLmM6MTkyMgogIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgcmVhZCBzaGExX2ZpbGUgZm9yICVzIgotbXNnc3RyICJLYW5uIFNIQTEtRGF0ZWkgZsO8ciAlcyBuaWNodCBsZXNlbi4iCittc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0IGZvciAlcyIKK21zZ3N0ciAiS2FubiBPYmpla3QgZsO8ciAlcyBuaWNodCBsZXNlbi4iCiAKLSM6IHNoYTEtZmlsZS5jOjE4MDUKKyM6IHNoYTEtZmlsZS5jOjE5NjIKIG1zZ2lkICJjb3JydXB0IGNvbW1pdCIKIG1zZ3N0ciAiZmVobGVyaGFmdGVyIENvbW1pdCIKIAotIzogc2hhMS1maWxlLmM6MTgxMworIzogc2hhMS1maWxlLmM6MTk3MAogbXNnaWQgImNvcnJ1cHQgdGFnIgogbXNnc3RyICJmZWhsZXJoYWZ0ZXMgVGFnIgogCi0jOiBzaGExLWZpbGUuYzoxOTEyCisjOiBzaGExLWZpbGUuYzoyMDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZXJyb3Igd2hpbGUgaW5kZXhpbmcgJXMiCiBtc2dzdHIgIkxlc2VmZWhsZXIgYmVpbSBJbmRpemllcmVuIHZvbiAnJXMnLiIKIAotIzogc2hhMS1maWxlLmM6MTkxNQorIzogc2hhMS1maWxlLmM6MjA3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJzaG9ydCByZWFkIHdoaWxlIGluZGV4aW5nICVzIgogbXNnc3RyICJyZWFkKCkgenUga3VyeiBiZWltIEluZGl6aWVyZW4gdm9uICclcycuIgogCi0jOiBzaGExLWZpbGUuYzoxOTg4IHNoYTEtZmlsZS5jOjE5OTcKKyM6IHNoYTEtZmlsZS5jOjIxNDUgc2hhMS1maWxlLmM6MjE1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmFpbGVkIHRvIGluc2VydCBpbnRvIGRhdGFiYXNlIgogbXNnc3RyICIlczogRmVobGVyIGJlaW0gRWluZsO8Z2VuIGluIGRpZSBEYXRlbmJhbmsiCiAKLSM6IHNoYTEtZmlsZS5jOjIwMDMKKyM6IHNoYTEtZmlsZS5jOjIxNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuc3VwcG9ydGVkIGZpbGUgdHlwZSIKIG1zZ3N0ciAiJXM6IG5pY2h0IHVudGVyc3TDvHR6dGUgRGF0ZWlhcnQiCiAKLSM6IHNoYTEtZmlsZS5jOjIwMjcKKyM6IHNoYTEtZmlsZS5jOjIxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgb2JqZWN0IgogbXNnc3RyICIlcyBpc3Qga2VpbiBnw7xsdGlnZXMgT2JqZWt0IgogCi0jOiBzaGExLWZpbGUuYzoyMDI5CisjOiBzaGExLWZpbGUuYzoyMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkICclcycgb2JqZWN0IgogbXNnc3RyICIlcyBpc3Qga2VpbiBnw7xsdGlnZXMgJyVzJyBPYmpla3QiCiAKLSM6IHNoYTEtZmlsZS5jOjIwNTYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0CisjOiBzaGExLWZpbGUuYzoyMjEzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKIG1zZ3N0ciAia2FubiAlcyBuaWNodCDDtmZmbmVuIgogCi0jOiBzaGExLWZpbGUuYzoyMjI2IHNoYTEtZmlsZS5jOjIyNzgKKyM6IHNoYTEtZmlsZS5jOjI0MDMgc2hhMS1maWxlLmM6MjQ1NQogIywgYy1mb3JtYXQKLW1zZ2lkICJzaGExIG1pc21hdGNoIGZvciAlcyAoZXhwZWN0ZWQgJXMpIgotbXNnc3RyICJTSEEtMSBmw7xyICVzIHBhc3NlbiBuaWNodCB6dXNhbW1lbiAoJXMgZXJ3YXJ0ZXQpIgorbXNnaWQgImhhc2ggbWlzbWF0Y2ggZm9yICVzIChleHBlY3RlZCAlcykiCittc2dzdHIgIkhhc2ggZsO8ciAlcyBzdGltbXQgbmljaHQgw7xiZXJlaW4gKCVzIGVyd2FydGV0KS4iCiAKLSM6IHNoYTEtZmlsZS5jOjIyNTAKKyM6IHNoYTEtZmlsZS5jOjI0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1tYXAgJXMiCiBtc2dzdHIgIktvbm50ZSBtbWFwIG5pY2h0IGF1ZiAlcyBhdXNmw7xocmVuLiIKIAotIzogc2hhMS1maWxlLmM6MjI1NQorIzogc2hhMS1maWxlLmM6MjQzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdW5wYWNrIGhlYWRlciBvZiAlcyIKIG1zZ3N0ciAiS29ubnRlIEtvcGZiZXJlaWNoIHZvbiAlcyBuaWNodCBlbnRwYWNrZW4uIgogCi0jOiBzaGExLWZpbGUuYzoyMjYxCisjOiBzaGExLWZpbGUuYzoyNDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBoZWFkZXIgb2YgJXMiCiBtc2dzdHIgIktvbm50ZSBLb3BmYmVyZWljaCB2b24gJXMgbmljaHQgcGFyc2VuLiIKIAotIzogc2hhMS1maWxlLmM6MjI3MgorIzogc2hhMS1maWxlLmM6MjQ0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdW5wYWNrIGNvbnRlbnRzIG9mICVzIgogbXNnc3RyICJLb25udGUgSW5oYWx0IHZvbiAlcyBuaWNodCBlbnRwYWNrZW4uIgogCi0jOiBzaGExLW5hbWUuYzo0NzYKKyM6IHNoYTEtbmFtZS5jOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzaG9ydCBTSEExICVzIGlzIGFtYmlndW91cyIKIG1zZ3N0ciAiS3VyemVyIFNIQS0xICVzIGlzdCBtZWhyZGV1dGlnLiIKIAotIzogc2hhMS1uYW1lLmM6NDg3CisjOiBzaGExLW5hbWUuYzo0OTgKIG1zZ2lkICJUaGUgY2FuZGlkYXRlcyBhcmU6IgogbXNnc3RyICJEaWUgS2FuZGlkYXRlbiBzaW5kOiIKIAotIzogc2hhMS1uYW1lLmM6NzcwCisjOiBzaGExLW5hbWUuYzo3OTcKIG1zZ2lkICIiCiAiR2l0IG5vcm1hbGx5IG5ldmVyIGNyZWF0ZXMgYSByZWYgdGhhdCBlbmRzIHdpdGggNDAgaGV4IGNoYXJhY3RlcnNcbiIKICJiZWNhdXNlIGl0IHdpbGwgYmUgaWdub3JlZCB3aGVuIHlvdSBqdXN0IHNwZWNpZnkgNDAtaGV4LiBUaGVzZSByZWZzXG4iCiAibWF5IGJlIGNyZWF0ZWQgYnkgbWlzdGFrZS4gRm9yIGV4YW1wbGUsXG4iCiAiXG4iCi0iICBnaXQgY2hlY2tvdXQgLWIgJGJyICQoZ2l0IHJldi1wYXJzZSAuLi4pXG4iCisiICBnaXQgc3dpdGNoIC1jICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgogIlxuIgogIndoZXJlIFwiJGJyXCIgaXMgc29tZWhvdyBlbXB0eSBhbmQgYSA0MC1oZXggcmVmIGlzIGNyZWF0ZWQuIFBsZWFzZVxuIgogImV4YW1pbmUgdGhlc2UgcmVmcyBhbmQgbWF5YmUgZGVsZXRlIHRoZW0uIFR1cm4gdGhpcyBtZXNzYWdlIG9mZiBieVxuIgpAQCAtNTk2MSw3ICs3NjY2LDcgQEAKICJTaWUgZGllc2UgYW5nZWJlbi4gRGllc2UgUmVmZXJlbnplbiBrw7ZubnRlbiBhdXMgVmVyc2VoZW5cbiIKICJlcnpldWd0IHdvcmRlbiBzZWluLiBadW0gQmVpc3BpZWwsXG4iCiAiXG4iCi0iICBnaXQgY2hlY2tvdXQgLWIgJGJyICQoZ2l0IHJldi1wYXJzZSAuLi4pXG4iCisiICBnaXQgc3dpdGNoIC1jICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgogIlxuIgogIndvYmVpIFwiJGJyXCIgbGVlciBpc3QgdW5kIGVpbmUgNDAtSGV4LVJlZmVyZW56IGVyemV1Z3RcbiIKICJ3dXJkZS4gQml0dGUgcHLDvGZlbiBTaWUgZGllc2UgUmVmZXJlbnplbiB1bmQgbMO2c2NoZW5cbiIKQEAgLTU5NjksNzEgKzc2NzQsMTQ0IEBACiAiaW5kZW0gU2llIFwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIlxuIgogImF1c2bDvGhyZW4uIgogCi0jOiBzdWJtb2R1bGUuYzoxMTYgc3VibW9kdWxlLmM6MTQ1CisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggZ2liaWJ5dGUKKyM6IHN0cmJ1Zi5jOjgyMgorIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBHaUIiCittc2dzdHIgIiV1LiUyLjJ1IEdpQiIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IGdpYmlieXRlL3NlY29uZAorIzogc3RyYnVmLmM6ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IEdpQi9zIgorbXNnc3RyICIldS4lMi4ydSBHaUIvcyIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IG1lYmlieXRlCisjOiBzdHJidWYuYzo4MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgTWlCIgorbXNnc3RyICIldS4lMi4ydSBNaUIiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBtZWJpYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjgzNAorIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBNaUIvcyIKK21zZ3N0ciAiJXUuJTIuMnUgTWlCL3MiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBraWJpYnl0ZQorIzogc3RyYnVmLmM6ODQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IEtpQiIKK21zZ3N0ciAiJXUuJTIuMnUgS2lCIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDgga2liaWJ5dGUvc2Vjb25kCisjOiBzdHJidWYuYzo4NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgS2lCL3MiCittc2dzdHIgIiV1LiUyLjJ1IEtpQi9zIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggYnl0ZQorIzogc3RyYnVmLmM6ODQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiV1IGJ5dGUiCittc2dpZF9wbHVyYWwgIiV1IGJ5dGVzIgorbXNnc3RyWzBdICIldSBCeXRlIgorbXNnc3RyWzFdICIldSBCeXRlcyIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IGJ5dGUvc2Vjb25kCisjOiBzdHJidWYuYzo4NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUgYnl0ZS9zIgorbXNnaWRfcGx1cmFsICIldSBieXRlcy9zIgorbXNnc3RyWzBdICIldSBCeXRlL3MiCittc2dzdHJbMV0gIiV1IEJ5dGVzL3MiCisKKyM6IHN0cmJ1Zi5jOjExNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGVkaXQgJyVzJyIKK21zZ3N0ciAiS29ubnRlICclcycgbmljaHQgZWRpdGllcmVuLiIKKworIzogc3VibW9kdWxlLmM6MTE0IHN1Ym1vZHVsZS5jOjE0MwogbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgogbXNnc3RyICIiCiAiS2FubiBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSAuZ2l0bW9kdWxlcy1EYXRlaSBuaWNodCDDpG5kZXJuLCBsw7ZzZW5cbiIKICJTaWUgenVlcnN0IGRpZSBLb25mbGlrdGUgYXVmIgogCi0jOiBzdWJtb2R1bGUuYzoxMjAgc3VibW9kdWxlLmM6MTQ5CisjOiBzdWJtb2R1bGUuYzoxMTggc3VibW9kdWxlLmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIKIG1zZ3N0ciAiS29ubnRlIGtlaW5lIFNla3Rpb24gaW4gLmdpdG1vZHVsZXMgbWl0IFBmYWQgXCIlc1wiIGZpbmRlbiIKIAotIzogc3VibW9kdWxlLmM6MTU2CisjOiBzdWJtb2R1bGUuYzoxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSAuZ2l0bW9kdWxlcyBlbnRyeSBmb3IgJXMiCiBtc2dzdHIgIktvbm50ZSBFaW50cmFnICclcycgbmljaHQgYXVzIC5naXRtb2R1bGVzIGVudGZlcm5lbiIKIAotIzogc3VibW9kdWxlLmM6MTY3CisjOiBzdWJtb2R1bGUuYzoxNjUKIG1zZ2lkICJzdGFnaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgogbXNnc3RyICJLb25udGUgYWt0dWFsaXNpZXJ0ZSAuZ2l0bW9kdWxlcy1EYXRlaSBuaWNodCB6dW0gQ29tbWl0IHZvcm1lcmtlbiIKIAotIzogc3VibW9kdWxlLmM6MzI5CisjOiBzdWJtb2R1bGUuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW4gdW5wb3B1bGF0ZWQgc3VibW9kdWxlICclcyciCiBtc2dzdHIgIkluIG5pY2h0IGF1c2dlY2hlY2t0ZW0gU3VibW9kdWwgJyVzJy4iCiAKLSM6IHN1Ym1vZHVsZS5jOjM2MAorIzogc3VibW9kdWxlLmM6MzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhdGhzcGVjICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKIG1zZ3N0ciAiUGZhZHNwZXppZmlrYXRpb24gJyVzJyBiZWZpbmRldCBzaWNoIGluIFN1Ym1vZHVsICclLipzJyIKIAotIzogc3VibW9kdWxlLmM6ODU3CisjOiBzdWJtb2R1bGUuYzo5MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAic3VibW9kdWxlIGVudHJ5ICclcycgKCVzKSBpcyBhICVzLCBub3QgYSBjb21taXQiCiBtc2dzdHIgIlN1Ym1vZHVsLUVpbnRyYWcgJyVzJyAoJXMpIGlzdCBlaW4gJXMsIGtlaW4gQ29tbWl0LiIKIAotIzogc3VibW9kdWxlLmM6MTA5NyBidWlsdGluL2JyYW5jaC5jOjY1NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk4NQorIzogc3VibW9kdWxlLmM6MTE0NyBidWlsdGluL2JyYW5jaC5jOjY4MCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjAxNgogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJLb25udGUgSEVBRCBuaWNodCBhbHMgZ8O8bHRpZ2UgUmVmZXJlbnogYXVmbMO2c2VuLiIKIAotIzogc3VibW9kdWxlLmM6MTQwNAorIzogc3VibW9kdWxlLmM6MTQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgYWNjZXNzIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICJLb25udGUgbmljaHQgYXVmIFN1Ym1vZHVsICclcycgenVncmVpZmVuLiIKKworIzogc3VibW9kdWxlLmM6MTY1MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIG5vdCByZWNvZ25pemVkIGFzIGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIiclcycgbmljaHQgYWxzIEdpdC1SZXBvc2l0b3J5IGVya2FubnQiCiAKLSM6IHN1Ym1vZHVsZS5jOjE1NDIKKyM6IHN1Ym1vZHVsZS5jOjE3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXJ0ICdnaXQgc3RhdHVzJyBpbiBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiS29ubnRlICdnaXQgc3RhdHVzJyBpbiBTdWJtb2R1bCAnJXMnIG5pY2h0IHN0YXJ0ZW4uIgogCi0jOiBzdWJtb2R1bGUuYzoxNTU1CisjOiBzdWJtb2R1bGUuYzoxODAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBydW4gJ2dpdCBzdGF0dXMnIGluIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJLb25udGUgJ2dpdCBzdGF0dXMnIGluIFN1Ym1vZHVsICclcycgbmljaHQgYXVzZsO8aHJlbi4iCiAKLSM6IHN1Ym1vZHVsZS5jOjE2NDgKKyM6IHN1Ym1vZHVsZS5jOjE4MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVuc2V0IGNvcmUud29ya3RyZWUgc2V0dGluZyBpbiBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAiS29ubnRlIGNvcmUud29ya3RyZWUgRWluc3RlbGx1bmcgaW4gU3VibW9kdWwgJyVzJyBuaWNodCBhdWZoZWJlbi4iCisKKyM6IHN1Ym1vZHVsZS5jOjE5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3VibW9kdWxlICclcycgaGFzIGRpcnR5IGluZGV4IgogbXNnc3RyICJTdWJtb2R1bCAnJXMnIGhhdCBlaW5lbiBnZcOkbmRlcnRlbiBJbmRleC4iCiAKLSM6IHN1Ym1vZHVsZS5jOjE3MDAKKyM6IHN1Ym1vZHVsZS5jOjE5NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgY291bGQgbm90IGJlIHVwZGF0ZWQuIgogbXNnc3RyICJTdWJtb2R1bGUgJyVzJyBrb25udGUgbmljaHQgYWt0dWFsaXNpZXJ0IHdlcmRlbi4iCiAKLSM6IHN1Ym1vZHVsZS5jOjE3NDcKKyM6IHN1Ym1vZHVsZS5jOjIwMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VibW9kdWxlIGdpdCBkaXIgJyVzJyBpcyBpbnNpZGUgZ2l0IGRpciAnJS4qcyciCittc2dzdHIgIiIKKyJHaXQtVmVyemVpY2huaXMgZGVzIFN1Ym1vZHVscyAnJXMnIGlzdCBpbSBHaXQtVmVyemVpY2huaXMgJyUuKnMnIGVudGhhbHRlbi4iCisKKyM6IHN1Ym1vZHVsZS5jOjIwNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJlbG9jYXRlX2dpdGRpciBmb3Igc3VibW9kdWxlICclcycgd2l0aCBtb3JlIHRoYW4gb25lIHdvcmt0cmVlIG5vdCBzdXBwb3J0ZWQiCkBAIC02MDQxLDEyICs3ODE5LDE3IEBACiAicmVsb2NhdGVfZ2l0ZGlyIGbDvHIgU3VibW9kdWwgJyVzJyBtaXQgbWVociBhbHMgZWluZW0gQXJiZWl0c3ZlcnplaWNobmlzXG4iCiAid2lyZCBuaWNodCB1bnRlcnN0w7x0enQiCiAKLSM6IHN1Ym1vZHVsZS5jOjE3NTkgc3VibW9kdWxlLmM6MTgxNQorIzogc3VibW9kdWxlLmM6MjA2MCBzdWJtb2R1bGUuYzoyMTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgbmFtZSBmb3Igc3VibW9kdWxlICclcyciCi1tc2dzdHIgImtvbm50ZSBOYW1lIGbDvHIgU3VibW9kdWwgJyVzJyBuaWNodCBuYWNoc2NobGFnZW4iCittc2dzdHIgIktvbm50ZSBOYW1lIGbDvHIgU3VibW9kdWwgJyVzJyBuaWNodCBuYWNoc2NobGFnZW4uIgogCi0jOiBzdWJtb2R1bGUuYzoxNzY2CisjOiBzdWJtb2R1bGUuYzoyMDY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZnVzaW5nIHRvIG1vdmUgJyVzJyBpbnRvIGFuIGV4aXN0aW5nIGdpdCBkaXIiCittc2dzdHIgIlZlcnNjaGllYmVuIHZvbiAnJXMnIGluIGVpbiBleGlzdGllcmVuZGVzIEdpdC1WZXJ6ZWljaG5pcyB2ZXJ3ZWlnZXJ0LiIKKworIzogc3VibW9kdWxlLmM6MjA3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTWlncmF0aW5nIGdpdCBkaXJlY3Rvcnkgb2YgJyVzJXMnIGZyb21cbiIKQEAgLTYwNTcsNDAgKzc4NDAsNDIgQEAKICInJXMnIG5hY2hcbiIKICInJXMnXG4iCiAKLSM6IHN1Ym1vZHVsZS5jOjE4NTAKKyM6IHN1Ym1vZHVsZS5jOjIxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiRmVobGVyIGJlaSBSZWt1cnNpb24gaW4gU3VibW9kdWwtUGZhZCAnJXMnIgogCi0jOiBzdWJtb2R1bGUuYzoxODk0CisjOiBzdWJtb2R1bGUuYzoyMTk4CiBtc2dpZCAiY291bGQgbm90IHN0YXJ0IGxzLWZpbGVzIGluIC4uIgogbXNnc3RyICJLb25udGUgJ2xzLWZpbGVzJyBuaWNodCBpbiAuLiBzdGFydGVuIgogCi0jOiBzdWJtb2R1bGUuYzoxOTMzCisjOiBzdWJtb2R1bGUuYzoyMjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImxzLXRyZWUgcmV0dXJuZWQgdW5leHBlY3RlZCByZXR1cm4gY29kZSAlZCIKIG1zZ3N0ciAibHMtdHJlZSBtaXQgdW5lcndhcnRldGVtIFLDvGNrZ2FiZXdlcnQgJWQgYmVlbmRldCIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjIzMgorIzogc3VibW9kdWxlLWNvbmZpZy5jOjIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBzdXNwaWNpb3VzIHN1Ym1vZHVsZSBuYW1lOiAlcyIKIG1zZ3N0ciAiSWdub3JpZXJlIHZlcmTDpGNodGlnZW4gU3VibW9kdWxuYW1lbjogJXMiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzoyOTYKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzozMDMKIG1zZ2lkICJuZWdhdGl2ZSB2YWx1ZXMgbm90IGFsbG93ZWQgZm9yIHN1Ym1vZHVsZS5mZXRjaGpvYnMiCiBtc2dzdHIgIk5lZ2F0aXZlIFdlcnRlIGbDvHIgc3VibW9kdWxlLmZldGNoam9icyBuaWNodCBlcmxhdWJ0LiIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjM5MAorIzogc3VibW9kdWxlLWNvbmZpZy5jOjQwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyAnJXMnIHdoaWNoIG1heSBiZSBpbnRlcnByZXRlZCBhcyBhIGNvbW1hbmQtbGluZSBvcHRpb246ICVzIgotbXNnc3RyICJJZ25vcmllcmUgJyVzJywgd2FzIGFscyBlaW5lIEJlZmVobHN6ZWlsZW5vcHRpb24gJyVzJyBpbnRlcnByZXRpZXJ0IHdlcmRlbiB3w7xyZGUuIgorbXNnc3RyICIiCisiSWdub3JpZXJlICclcycsIHdhcyBhbHMgZWluZSBCZWZlaGxzemVpbGVub3B0aW9uICclcycgaW50ZXJwcmV0aWVydCB3ZXJkZW4gIgorInfDvHJkZS4iCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzo0NzkKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIFdlcnQgZsO8ciAlcyIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjc1NAorIzogc3VibW9kdWxlLWNvbmZpZy5jOjc2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgdXBkYXRlIC5naXRtb2R1bGVzIGVudHJ5ICVzIgogbXNnc3RyICJLb25udGUgRWludHJhZyAnJXMnIGluIC5naXRtb2R1bGVzIG5pY2h0IGFrdHVhbGlzaWVyZW4iCkBAIC02MTI1LDcgKzc5MTAsNyBAQAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgImtvbm50ZSBuaWNodCB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUgbGVzZW4iCiAKLSM6IHRyYWlsZXIuYzoxMDExIGJ1aWx0aW4vYW0uYzo0NworIzogdHJhaWxlci5jOjEwMTEgd3JhcHBlci5jOjY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAlcyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgbGVzZW4iCkBAIC02MTU0LDM5ICs3OTM5LDQ3IEBACiBtc2dpZCAiV291bGQgc2V0IHVwc3RyZWFtIG9mICclcycgdG8gJyVzJyBvZiAnJXMnXG4iCiBtc2dzdHIgIlfDvHJkZSBVcHN0cmVhbS1CcmFuY2ggdm9uICclcycgenUgJyVzJyB2b24gJyVzJyBzZXR6ZW5cbiIKIAotIzogdHJhbnNwb3J0LmM6MTQyCisjOiB0cmFuc3BvcnQuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgYnVuZGxlICclcyciCiBtc2dzdHIgIktvbm50ZSBQYWtldCAnJXMnIG5pY2h0IGxlc2VuLiIKIAotIzogdHJhbnNwb3J0LmM6MjA4CisjOiB0cmFuc3BvcnQuYzoyMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhbnNwb3J0OiBpbnZhbGlkIGRlcHRoIG9wdGlvbiAnJXMnIgogbXNnc3RyICJ0cmFuc3BvcnQ6IHVuZ8O8bHRpZ2UgLS1kZXB0aCBPcHRpb24gJyVzJyIKIAotIzogdHJhbnNwb3J0LmM6NjE2CisjOiB0cmFuc3BvcnQuYzoyNjYKK21zZ2lkICJzZWUgcHJvdG9jb2wudmVyc2lvbiBpbiAnZ2l0IGhlbHAgY29uZmlnJyBmb3IgbW9yZSBkZXRhaWxzIgorbXNnc3RyICJTaWVoZSBwcm90b2NvbC52ZXJzaW9uIGluICdnaXQgaGVscCBjb25maWcnIGbDvHIgd2VpdGVyZSBJbmZvcm1hdGlvbmVuIgorCisjOiB0cmFuc3BvcnQuYzoyNjcKK21zZ2lkICJzZXJ2ZXIgb3B0aW9ucyByZXF1aXJlIHByb3RvY29sIHZlcnNpb24gMiBvciBsYXRlciIKK21zZ3N0ciAiU2VydmVyLU9wdGlvbmVuIGJlbsO2dGlnZW4gUHJvdG9rb2xsLVZlcnNpb24gMiBvZGVyIGjDtmhlciIKKworIzogdHJhbnNwb3J0LmM6NjMyCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHRyYW5zcG9ydC5jb2xvci4qIGNvbmZpZyIKIG1zZ3N0ciAiS29ubnRlIHRyYW5zcG9ydC5jb2xvci4qIEtvbmZpZ3VyYXRpb24gbmljaHQgcGFyc2VuLiIKIAotIzogdHJhbnNwb3J0LmM6Njg5CisjOiB0cmFuc3BvcnQuYzo3MDUKIG1zZ2lkICJzdXBwb3J0IGZvciBwcm90b2NvbCB2MiBub3QgaW1wbGVtZW50ZWQgeWV0IgogbXNnc3RyICJVbnRlcnN0w7x0enVuZyBmw7xyIFByb3Rva29sbCB2MiBub2NoIG5pY2h0IGltcGxlbWVudGllcnQuIgogCi0jOiB0cmFuc3BvcnQuYzo4MTYKKyM6IHRyYW5zcG9ydC5jOjgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHZhbHVlIGZvciBjb25maWcgJyVzJzogJXMiCiBtc2dzdHIgIlVuYmVrYW5udGVyIFdlcnQgZsO8ciBLb25maWd1cmF0aW9uICclcyc6ICVzIgogCi0jOiB0cmFuc3BvcnQuYzo4ODIKKyM6IHRyYW5zcG9ydC5jOjg5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFuc3BvcnQgJyVzJyBub3QgYWxsb3dlZCIKIG1zZ3N0ciAiw5xiZXJ0cmFndW5nc2FydCAnJXMnIG5pY2h0IGVybGF1YnQuIgogCi0jOiB0cmFuc3BvcnQuYzo5MzYKKyM6IHRyYW5zcG9ydC5jOjk0OQogbXNnaWQgImdpdC1vdmVyLXJzeW5jIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQiCiBtc2dzdHIgImdpdC1vdmVyLXJzeW5jIHdpcmQgbmljaHQgbMOkbmdlciB1bnRlcnN0w7x0enQuIgogCi0jOiB0cmFuc3BvcnQuYzoxMDMxCisjOiB0cmFuc3BvcnQuYzoxMDQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHN1Ym1vZHVsZSBwYXRocyBjb250YWluIGNoYW5nZXMgdGhhdCBjYW5cbiIKQEAgLTYxOTUsNyArNzk4OCw3IEBACiAiRGllIGZvbGdlbmRlbiBTdWJtb2R1bC1QZmFkZSBlbnRoYWx0ZW4gw4RuZGVydW5nZW4sIGRpZSBpbiBrZWluZW1cbiIKICJSZW1vdGUtUmVwb3NpdG9yeSBnZWZ1bmRlbiB3dXJkZW46XG4iCiAKLSM6IHRyYW5zcG9ydC5jOjEwMzUKKyM6IHRyYW5zcG9ydC5jOjEwNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNjIyMiwzOSArODAxNSwzNCBAQAogInp1bSBWZXJzZW5kZW4genUgZWluZW0gUmVtb3RlLVJlcG9zaXRvcnkuXG4iCiAiXG4iCiAKLSM6IHRyYW5zcG9ydC5jOjEwNDMKKyM6IHRyYW5zcG9ydC5jOjEwNTYKIG1zZ2lkICJBYm9ydGluZy4iCiBtc2dzdHIgIkFiYnJ1Y2guIgogCi0jOiB0cmFuc3BvcnQuYzoxMTgyCisjOiB0cmFuc3BvcnQuYzoxMjAxCiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggYWxsIG5lZWRlZCBzdWJtb2R1bGVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSBWZXJzYW5kIGFsbGVyIGVyZm9yZGVybGljaGVuIFN1Ym1vZHVsZS4iCiAKLSM6IHRyYW5zcG9ydC5jOjEzMTUgdHJhbnNwb3J0LWhlbHBlci5jOjY0MworIzogdHJhbnNwb3J0LmM6MTM0NSB0cmFuc3BvcnQtaGVscGVyLmM6NjU2CiBtc2dpZCAib3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wiCiBtc2dzdHIgIkRpZSBPcGVyYXRpb24gd2lyZCB2b24gZGVtIFByb3Rva29sbCBuaWNodCB1bnRlcnN0w7x0enQuIgogCi0jOiB0cmFuc3BvcnQuYzoxNDE5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgbGluZSB3aGlsZSBwYXJzaW5nIGFsdGVybmF0ZSByZWZzOiAlcyIKLW1zZ3N0ciAiVW5nw7xsdGlnZSBaZWlsZSBiZWltIFBhcnNlbiBhbHRlcm5hdGl2ZXIgUmVmZXJlbnplbjogJXMiCi0KLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MSB0cmFuc3BvcnQtaGVscGVyLmM6ODAKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2MSB0cmFuc3BvcnQtaGVscGVyLmM6OTAKIG1zZ2lkICJmdWxsIHdyaXRlIHRvIHJlbW90ZSBoZWxwZXIgZmFpbGVkIgogbXNnc3RyICJWb2xsc3TDpG5kaWdlcyBTY2hyZWliZW4genUgUmVtb3RlLUhlbHBlciBmZWhsZ2VzY2hsYWdlbi4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGZpbmQgcmVtb3RlIGhlbHBlciBmb3IgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIFJlbW90ZS1IZWxwZXIgZsO8ciAnJXMnIG5pY2h0IGZpbmRlbi4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDggdHJhbnNwb3J0LWhlbHBlci5jOjU1NworIzogdHJhbnNwb3J0LWhlbHBlci5jOjE2MCB0cmFuc3BvcnQtaGVscGVyLmM6NTcwCiBtc2dpZCAiY2FuJ3QgZHVwIGhlbHBlciBvdXRwdXQgZmQiCiBtc2dzdHIgIiIKICJLb25udGUgZHVwKCkgYXVmIERhdGVpZGVza3JpcHRvciBmw7xyIEF1c2dhYmVuIGRlcyBSZW1vdGUtSGVscGVycyBuaWNodCAiCiAiYXVzZsO8aHJlbi4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxOTkKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoyMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInVua25vd24gbWFuZGF0b3J5IGNhcGFiaWxpdHkgJXM7IHRoaXMgcmVtb3RlIGhlbHBlciBwcm9iYWJseSBuZWVkcyBuZXdlciAiCkBAIC02MjYzLDEwMCArODA1MSwxMDUgQEAKICJVbmJla2FubnRlIGVyZm9yZGVybGljaGUgRsOkaGlna2VpdCAlczsgZGllc2VyIFJlbW90ZS1IZWxwZXIgYmVuw7Z0aWd0XG4iCiAid2FocnNjaGVpbmxpY2ggZWluZSBuZXVlcmUgVmVyc2lvbiB2b24gR2l0LiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjIwNQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjIxNwogbXNnaWQgInRoaXMgcmVtb3RlIGhlbHBlciBzaG91bGQgaW1wbGVtZW50IHJlZnNwZWMgY2FwYWJpbGl0eSIKIG1zZ3N0ciAiRGllc2VyIFJlbW90ZS1IZWxwZXIgc29sbHRlIGRpZSBcInJlZnNwZWNcIi1Gw6RoaWdrZWl0IGltcGxlbWVudGllcmVuLiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjI3MiB0cmFuc3BvcnQtaGVscGVyLmM6NDEyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6Mjg0IHRyYW5zcG9ydC1oZWxwZXIuYzo0MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdW5leHBlY3RlZGx5IHNhaWQ6ICclcyciCiBtc2dzdHIgInVuZXJ3YXJ0ZXRlIEF1c2dhYmUgdm9uICVzOiAnJXMnIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NDAxCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGFsc28gbG9ja2VkICVzIgogbXNnc3RyICIlcyBzcGVycnRlIGF1Y2ggJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo0NzkKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo0OTIKIG1zZ2lkICJjb3VsZG4ndCBydW4gZmFzdC1pbXBvcnQiCiBtc2dzdHIgIktvbm50ZSBcImZhc3QtaW1wb3J0XCIgbmljaHQgYXVzZsO8aHJlbi4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MDIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MTUKIG1zZ2lkICJlcnJvciB3aGlsZSBydW5uaW5nIGZhc3QtaW1wb3J0IgogbXNnc3RyICJGZWhsZXIgYmVpbSBBdXNmw7xocmVuIHZvbiAnZmFzdC1pbXBvcnQnLiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjUzMSB0cmFuc3BvcnQtaGVscGVyLmM6MTA5MQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjU0NCB0cmFuc3BvcnQtaGVscGVyLmM6MTEzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCByZWYgJXMiCiBtc2dzdHIgIktvbm50ZSBSZWZlcmVueiAlcyBuaWNodCBsZXNlbi4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1NzYKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biByZXNwb25zZSB0byBjb25uZWN0OiAlcyIKIG1zZ3N0ciAiVW5iZWthbm50ZSBBbnR3b3J0IGF1ZiAnY29ubmVjdCc6ICVzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NTk4CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjExCiBtc2dpZCAic2V0dGluZyByZW1vdGUgc2VydmljZSBwYXRoIG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wiCiBtc2dzdHIgIiIKICJTZXR6ZW4gZGVzIFJlbW90ZS1TZXJ2aWNlIFBmYWRzIHdpcmQgdm9uIGRlbSBQcm90b2tvbGwgbmljaHQgdW50ZXJzdMO8dHp0LiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjYwMAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjYxMwogbXNnaWQgImludmFsaWQgcmVtb3RlIHNlcnZpY2UgcGF0aCIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgUmVtb3RlLVNlcnZpY2UgUGZhZC4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2NDYKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3QgY29ubmVjdCB0byBzdWJzZXJ2aWNlICVzIgogbXNnc3RyICJLYW5uIGtlaW5lIFZlcmJpbmR1bmcgenUgU3Vic2VydmljZSAlcyBoZXJzdGVsbGVuLiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjcxMworIzogdHJhbnNwb3J0LWhlbHBlci5jOjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBvay9lcnJvciwgaGVscGVyIHNhaWQgJyVzJyIKIG1zZ3N0ciAiRXJ3YXJ0ZXRlIG9rL2Vycm9yLCBSZW1vdGUtSGVscGVyIGdhYiAnJXMnIGF1cy4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo3NjYKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo3ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyIHJlcG9ydGVkIHVuZXhwZWN0ZWQgc3RhdHVzIG9mICVzIgogbXNnc3RyICJSZW1vdGUtSGVscGVyIG1lbGRldGUgdW5lcndhcnRldGVuIFN0YXR1cyB2b24gJXMuIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6ODI3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0IGRyeS1ydW4iCiBtc2dzdHIgIlJlbW90ZS1IZWxwZXIgJXMgdW50ZXJzdMO8dHp0IGtlaW4gVHJvY2tlbmxhdWYuIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6ODMwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIgogbXNnc3RyICJSZW1vdGUtSGVscGVyICVzIHVudGVyc3TDvHR6dCBrZWluIC0tc2lnbmVkLiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjgzMworIzogdHJhbnNwb3J0LWhlbHBlci5jOjg1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAtLXNpZ25lZD1pZi1hc2tlZCIKIG1zZ3N0ciAiUmVtb3RlLUhlbHBlciAlcyB1bnRlcnN0w7x0enQga2VpbiAtLXNpZ25lZD1pZi1hc2tlZC4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NDAKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgLS1hdG9taWMiCittc2dzdHIgIlJlbW90ZS1IZWxwZXIgJXMgdW50ZXJzdMO8dHp0IGtlaW4gLS1hdG9taWMuIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0ICdwdXNoLW9wdGlvbiciCiBtc2dzdHIgIlJlbW90ZS1IZWxwZXIgJXMgdW50ZXJzdMO8dHp0IG5pY2h0ICdwdXNoLW9wdGlvbicuIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6OTMyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6OTY0CiBtc2dpZCAicmVtb3RlLWhlbHBlciBkb2Vzbid0IHN1cHBvcnQgcHVzaDsgcmVmc3BlYyBuZWVkZWQiCiBtc2dzdHIgIlJlbW90ZS1IZWxwZXIgdW50ZXJzdMO8dHp0IGtlaW4gUHVzaDsgUmVmc3BlYyBiZW7DtnRpZ3QiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5MzcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgJ2ZvcmNlJyIKIG1zZ3N0ciAiUmVtb3RlLUhlbHBlciAlcyB1bnRlcnN0w7x0enQga2VpbiAnZm9yY2UnLiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjk4NAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwMTYKIG1zZ2lkICJjb3VsZG4ndCBydW4gZmFzdC1leHBvcnQiCiBtc2dzdHIgIktvbm50ZSBcImZhc3QtZXhwb3J0XCIgbmljaHQgYXVzZsO8aHJlbi4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5ODkKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDIxCiBtc2dpZCAiZXJyb3Igd2hpbGUgcnVubmluZyBmYXN0LWV4cG9ydCIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gQXVzZsO8aHJlbiB2b24gXCJmYXN0LWV4cG9ydFwiLiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwMTQKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyByZWZzIGluIGNvbW1vbiBhbmQgbm9uZSBzcGVjaWZpZWQ7IGRvaW5nIG5vdGhpbmcuXG4iCkBAIC02MzY1LDQ3ICs4MTU4LDQ3IEBACiAiS2VpbmUgZ2VtZWluc2FtZW4gUmVmZXJlbnplbiB1bmQgbmljaHRzIHNwZXppZml6aWVydDsga2VpbmUgQXVzZsO8aHJ1bmcuXG4iCiAiVmllbGxlaWNodCBzb2xsdGVuIFNpZSBlaW5lbiBCcmFuY2ggd2llICdtYXN0ZXInIGFuZ2ViZW4uXG4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDc3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTExOQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgcmVzcG9uc2UgaW4gcmVmIGxpc3Q6ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlIEFudHdvcnQgaW4gUmVmZXJlbnpsaXN0ZTogJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMjMxCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkKCVzKSBmYWlsZWQiCiBtc2dzdHIgIkxlc2VuIHZvbiAlcyBmZWhsZ2VzY2hsYWdlbi4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMjU4CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3cml0ZSglcykgZmFpbGVkIgogbXNnc3RyICJTY2hyZWliZW4gdm9uICVzIGZlaGxnZXNjaGxhZ2VuLiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMDcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHRocmVhZCBmYWlsZWQiCiBtc2dzdHIgIlRocmVhZCAlcyBmZWhsZ2VzY2hsYWdlbi4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzExCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB0aHJlYWQgZmFpbGVkIHRvIGpvaW46ICVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSBCZWl0cmV0ZW4genUgVGhyZWFkICVzOiAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMzAgdHJhbnNwb3J0LWhlbHBlci5jOjEzMzQKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzcwIHRyYW5zcG9ydC1oZWxwZXIuYzoxMzc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IHN0YXJ0IHRocmVhZCBmb3IgY29weWluZyBkYXRhOiAlcyIKIG1zZ3N0ciAiS2FubiBUaHJlYWQgenVtIEtvcGllcmVuIHZvbiBEYXRlbiBuaWNodCBzdGFydGVuOiAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNzEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHByb2Nlc3MgZmFpbGVkIHRvIHdhaXQiCiBtc2dzdHIgIkZlaGxlciBiZWltIFdhcnRlbiB2b24gUHJvemVzcyAlcy4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzc1CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTQxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBwcm9jZXNzIGZhaWxlZCIKIG1zZ3N0ciAiUHJvemVzcyAlcyBmZWhsZ2VzY2hsYWdlbiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzOTMgdHJhbnNwb3J0LWhlbHBlci5jOjE0MDIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDMzIHRyYW5zcG9ydC1oZWxwZXIuYzoxNDQyCiBtc2dpZCAiY2FuJ3Qgc3RhcnQgdGhyZWFkIGZvciBjb3B5aW5nIGRhdGEiCiBtc2dzdHIgIkthbm4gVGhyZWFkIHp1bSBLb3BpZXJlbiB2b24gRGF0ZW4gbmljaHQgc3RhcnRlbi4iCiAKQEAgLTY0MjEsMTEgKzgyMTQsMTYgQEAKIG1zZ2lkICJlbXB0eSBmaWxlbmFtZSBpbiB0cmVlIGVudHJ5IgogbXNnc3RyICJsZWVyZXIgRGF0ZWluYW1lIGluIFRyZWUtRWludHJhZyIKIAotIzogdHJlZS13YWxrLmM6MTE1CisjOiB0cmVlLXdhbGsuYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlbmFtZSBpbiB0cmVlIGVudHJ5IGNvbnRhaW5zIGJhY2tzbGFzaDogJyVzJyIKK21zZ3N0ciAiRGF0ZWluYW1lIGltIFRyZWUtRWludHJhZyBlbnRow6RsdCBCYWNrc2xhc2g6ICclcyciCisKKyM6IHRyZWUtd2Fsay5jOjEyNAogbXNnaWQgInRvby1zaG9ydCB0cmVlIGZpbGUiCiBtc2dzdHIgInp1IGt1cnplIFRyZWUtRGF0ZWkiCiAKLSM6IHVucGFjay10cmVlcy5jOjExMgorIzogdW5wYWNrLXRyZWVzLmM6MTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKQEAgLTY0MzYsNyArODIzNCw3IEBACiAiJSVzQml0dGUgY29tbWl0dGVuIG9kZXIgc3Rhc2hlbiBTaWUgSWhyZSDDhG5kZXJ1bmdlbiwgYmV2b3IgU2llIEJyYW5jaGVzXG4iCiAid2VjaHNlbG4uIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTQKKyM6IHVucGFjay10cmVlcy5jOjExMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCkBAIC02NDQ2LDcgKzgyNDQsNyBAQAogIsO8YmVyc2NocmllYmVuIHdlcmRlbjpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjExNworIzogdW5wYWNrLXRyZWVzLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKQEAgLTY0NTYsNyArODI1NCw3IEBACiAiw7xiZXJzY2hyaWViZW4gd2VyZGVuOlxuIgogIiUlc0JpdHRlIGNvbW1pdHRlbiBvZGVyIHN0YXNoZW4gU2llIElocmUgw4RuZGVydW5nZW4sIGJldm9yIFNpZSBtZXJnZW4uIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTkKKyM6IHVucGFjay10cmVlcy5jOjExNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC02NDY2LDcgKzgyNjQsNyBAQAogIsO8YmVyc2NocmllYmVuIHdlcmRlbjpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEyMgorIzogdW5wYWNrLXRyZWVzLmM6MTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTY0NzYsNyArODI3NCw3IEBACiAiw7xiZXJzY2hyaWViZW4gd2VyZGVuOlxuIgogIiUlc0JpdHRlIGNvbW1pdHRlbiBvZGVyIHN0YXNoZW4gU2llIElocmUgw4RuZGVydW5nZW4sIGJldm9yIFNpZSAlcyBhdXNmw7xocmVuLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTI0CisjOiB1bnBhY2stdHJlZXMuYzoxMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtNjQ4NSw3ICs4MjgzLDcgQEAKICJJaHJlIGxva2FsZW4gw4RuZGVydW5nZW4gd8O8cmRlbiBkdXJjaCAlcyDDvGJlcnNjaHJpZWJlbiB3ZXJkZW4uXG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjkKKyM6IHVucGFjay10cmVlcy5jOjEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXBkYXRpbmcgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyB3b3VsZCBsb3NlIHVudHJhY2tlZCBmaWxlcyBpbiB0aGVtOlxuIgpAQCAtNjQ5NSw3ICs4MjkzLDcgQEAKICJEYXRlaWVuIGluIGRpZXNlbiBWZXJ6ZWljaG5pc3NlbiB2ZXJsb3JlbiBnZWhlbjpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTMzCisjOiB1bnBhY2stdHJlZXMuYzoxMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgpAQCAtNjUwNSw3ICs4MzAzLDcgQEAKICJkZW4gQ2hlY2tvdXQgZW50ZmVybnQgd2VyZGVuOlxuIgogIiUlc0JpdHRlIHZlcnNjaGllYmVuIG9kZXIgZW50ZmVybmVuIFNpZSBkaWVzZSwgYmV2b3IgU2llIEJyYW5jaGVzIHdlY2hzZWxuLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTM1CisjOiB1bnBhY2stdHJlZXMuYzoxMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgpAQCAtNjUxNiw3ICs4MzE0LDcgQEAKICJDaGVja291dCBlbnRmZXJudCB3ZXJkZW46XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzgKKyM6IHVucGFjay10cmVlcy5jOjEzNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4iCkBAIC02NTI2LDcgKzgzMjQsNyBAQAogImRlbiBNZXJnZSBlbnRmZXJudCB3ZXJkZW46XG4iCiAiJSVzQml0dGUgdmVyc2NoaWViZW4gb2RlciBlbnRmZXJuZW4gU2llIGRpZXNlLCBiZXZvciBzaWUgbWVyZ2VuLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQwCisjOiB1bnBhY2stdHJlZXMuYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgpAQCAtNjUzNyw3ICs4MzM1LDcgQEAKICJNZXJnZSBlbnRmZXJudCB3ZXJkZW46XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDMKKyM6IHVucGFjay10cmVlcy5jOjE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCkBAIC02NTQ3LDcgKzgzNDUsNyBAQAogImRlbiAlcyBlbnRmZXJudCB3ZXJkZW46XG4iCiAiJSVzQml0dGUgdmVyc2NoaWViZW4gb2RlciBlbnRmZXJuZW4gU2llIGRpZXNlLCBiZXZvciBzaWUgJXMgYXVzZsO8aHJlbi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE0NQorIzogdW5wYWNrLXRyZWVzLmM6MTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKQEAgLTY1NTcsNyArODM1NSw3IEBACiAiZGVuICVzIGVudGZlcm50IHdlcmRlbjpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE1MQorIzogdW5wYWNrLXRyZWVzLmM6MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgpAQCAtNjU2OCw3ICs4MzY2LDcgQEAKICJkZW4gQ2hlY2tvdXQgw7xiZXJzY2hyaWViZW4gd2VyZGVuOlxuIgogIiUlc0JpdHRlIHZlcnNjaGllYmVuIG9kZXIgZW50ZmVybmVuIFNpZSBkaWVzZSwgYmV2b3IgU2llIEJyYW5jaGVzIHdlY2hzZWxuLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTUzCisjOiB1bnBhY2stdHJlZXMuYzoxNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCkBAIC02NTgwLDcgKzgzNzgsNyBAQAogIkNoZWNrb3V0IMO8YmVyc2NocmllYmVuIHdlcmRlbjpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE1NgorIzogdW5wYWNrLXRyZWVzLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC02NTkwLDcgKzgzODgsNyBAQAogImRlbiBNZXJnZSDDvGJlcnNjaHJpZWJlbiB3ZXJkZW46XG4iCiAiJSVzQml0dGUgdmVyc2NoaWViZW4gb2RlciBlbnRmZXJuZW4gU2llIGRpZXNlLCBiZXZvciBTaWUgbWVyZ2VuLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTU4CisjOiB1bnBhY2stdHJlZXMuYzoxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKQEAgLTY2MDAsNyArODM5OCw3IEBACiAiZGVuIE1lcmdlIMO8YmVyc2NocmllYmVuIHdlcmRlbjpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE2MQorIzogdW5wYWNrLXRyZWVzLmM6MTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCkBAIC02NjEwLDcgKzg0MDgsNyBAQAogImRlbiAlcyDDvGJlcnNjaHJpZWJlbiB3ZXJkZW46XG4iCiAiJSVzQml0dGUgdmVyc2NoaWViZW4gb2RlciBlbnRmZXJuZW4gU2llIGRpZXNlLCBiZXZvciBzaWUgJXMgYXVzZsO8aHJlbi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE2MworIzogdW5wYWNrLXRyZWVzLmM6MTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCkBAIC02NjIxLDEyICs4NDE5LDEyIEBACiAiJXMgw7xiZXJzY2hyaWViZW4gd2VyZGVuOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTcxCisjOiB1bnBhY2stdHJlZXMuYzoxNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRW50cnkgJyVzJyBvdmVybGFwcyB3aXRoICclcycuICBDYW5ub3QgYmluZC4iCiBtc2dzdHIgIkVpbnRyYWcgJyVzJyDDvGJlcnNjaG5laWRldCBzaWNoIG1pdCAnJXMnLiBLYW5uIG5pY2h0IHZlcmJpbmRlbi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE3NAorIzogdW5wYWNrLXRyZWVzLmM6MTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgdXBkYXRlIHNwYXJzZSBjaGVja291dDogdGhlIGZvbGxvd2luZyBlbnRyaWVzIGFyZSBub3QgdXAgdG8gZGF0ZTpcbiIKQEAgLTY2MzYsNyArODQzNCw3IEBACiAic2luZCBuaWNodCBha3R1ZWxsOlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNzYKKyM6IHVucGFjay10cmVlcy5jOjE3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgc3BhcnNlIGNoZWNrb3V0ICIKQEAgLTY2NDcsNyArODQ0NSw3IEBACiAiw7xiZXIgZWluZW4gcGFydGllbGxlbiBDaGVja291dCDDvGJlcnNjaHJpZWJlbiB3ZXJkZW46XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE3OAorIzogdW5wYWNrLXRyZWVzLmM6MTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCAiCkBAIC02NjU4LDcgKzg0NTYsNyBAQAogIsO8YmVyIGVpbmVuIHBhcnRpZWxsZW4gQ2hlY2tvdXQgZW50ZmVybnQgd2VyZGVuOlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxODAKKyM6IHVucGFjay10cmVlcy5jOjE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBzdWJtb2R1bGU6XG4iCkBAIC02NjY3LDE2ICs4NDY1LDE2IEBACiAiS2FubiBTdWJtb2R1bCBuaWNodCBha3R1YWxpc2llcmVuOlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoyNTQKKyM6IHVucGFjay10cmVlcy5jOjI1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZ1xuIgogbXNnc3RyICJBYmJydWNoXG4iCiAKLSM6IHVucGFjay10cmVlcy5jOjMzNgotbXNnaWQgIkNoZWNraW5nIG91dCBmaWxlcyIKLW1zZ3N0ciAiQ2hlY2tlIERhdGVpZW4gYXVzIgorIzogdW5wYWNrLXRyZWVzLmM6MzE3Cittc2dpZCAiVXBkYXRpbmcgZmlsZXMiCittc2dzdHIgIkFrdHVhbGlzaWVyZSBEYXRlaWVuIgogCi0jOiB1bnBhY2stdHJlZXMuYzozNjgKKyM6IHVucGFjay10cmVlcy5jOjM0OQogbXNnaWQgIiIKICJ0aGUgZm9sbG93aW5nIHBhdGhzIGhhdmUgY29sbGlkZWQgKGUuZy4gY2FzZS1zZW5zaXRpdmUgcGF0aHNcbiIKICJvbiBhIGNhc2UtaW5zZW5zaXRpdmUgZmlsZXN5c3RlbSkgYW5kIG9ubHkgb25lIGZyb20gdGhlIHNhbWVcbiIKQEAgLTY2ODYsNiArODQ4NCwxMCBAQAogImF1ZiBlaW5lbSBjYXNlLWluc2Vuc2l0aXZlbiBEYXRlaXN5c3RlbSkgdW5kIG51ciBlaW5lciB2b24gZGVyXG4iCiAic2VsYmVuIEtvbGxpc3Npb25zZ3J1cHBlIGlzdCBpbSBBcmJlaXRzdmVyemVpY2huaXM6XG4iCiAKKyM6IHVucGFjay10cmVlcy5jOjE0NDEKK21zZ2lkICJVcGRhdGluZyBpbmRleCBmbGFncyIKK21zZ3N0ciAiQWt0dWFsaXNpZXJlIEluZGV4LU1hcmtpZXJ1bmdlbiIKKwogIzogdXJsbWF0Y2guYzoxNjMKIG1zZ2lkICJpbnZhbGlkIFVSTCBzY2hlbWUgbmFtZSBvciBtaXNzaW5nICc6Ly8nIHN1ZmZpeCIKIG1zZ3N0ciAiVW5nw7xsdGlnZXMgVVJMLVNjaGVtYSBvZGVyIFN1ZmZpeCAnOi8vJyBmZWhsdCIKQEAgLTY3MTUsMjExICs4NTE3LDIxNyBAQAogbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCiBtc2dzdHIgInVuZ8O8bHRpZ2VzICcuLicgUGZhZHNlZ21lbnQiCiAKLSM6IHdvcmt0cmVlLmM6MjQ5IGJ1aWx0aW4vYW0uYzoyMTAwCisjOiB3b3JrdHJlZS5jOjI1OCBidWlsdGluL2FtLmM6MjA4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBMZXNlbiB2b24gJyVzJyIKIAotIzogd29ya3RyZWUuYzoyOTUKKyM6IHdvcmt0cmVlLmM6MzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgYXQgbWFpbiB3b3JraW5nIHRyZWUgaXMgbm90IHRoZSByZXBvc2l0b3J5IGRpcmVjdG9yeSIKIG1zZ3N0ciAiJyVzJyBpbSBIYXVwdGFyYmVpdHN2ZXJ6ZWljaG5pcyBpc3QgbmljaHQgZGFzIFJlcG9zaXRvcnktVmVyemVpY2huaXMuIgogCi0jOiB3b3JrdHJlZS5jOjMwNgorIzogd29ya3RyZWUuYzozMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBmaWxlIGRvZXMgbm90IGNvbnRhaW4gYWJzb2x1dGUgcGF0aCB0byB0aGUgd29ya2luZyB0cmVlIGxvY2F0aW9uIgogbXNnc3RyICInJXMnIERhdGVpIGVudGjDpGx0IG5pY2h0IGRlbiBhYnNvbHV0ZW4gUGZhZCB6dW0gQXJiZWl0c3ZlcnplaWNobmlzLiIKIAotIzogd29ya3RyZWUuYzozMTgKKyM6IHdvcmt0cmVlLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIiclcycgZXhpc3RpZXJ0IG5pY2h0LiIKIAotIzogd29ya3RyZWUuYzozMjQKKyM6IHdvcmt0cmVlLmM6MzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgLmdpdCBmaWxlLCBlcnJvciBjb2RlICVkIgogbXNnc3RyICInJXMnIGlzdCBrZWluZSAuZ2l0LURhdGVpLCBGZWhsZXJjb2RlICVkIgogCi0jOiB3b3JrdHJlZS5jOjMzMgorIzogd29ya3RyZWUuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBwb2ludCBiYWNrIHRvICclcyciCiBtc2dzdHIgIiclcycgemVpZ3QgbmljaHQgenVyw7xjayBhdWYgJyVzJyIKIAotIzogd3JhcHBlci5jOjIyMyB3cmFwcGVyLmM6MzkzCisjOiB3cmFwcGVyLmM6MTg2IHdyYXBwZXIuYzozNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgenVtIExlc2VuIHVuZCBTY2hyZWliZW4gw7ZmZm5lbi4iCiAKLSM6IHdyYXBwZXIuYzo0MjQgd3JhcHBlci5jOjYyNAorIzogd3JhcHBlci5jOjM4NyB3cmFwcGVyLmM6NTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJyIKIG1zZ3N0ciAia29ubnRlIG5pY2h0IGF1ZiAnJXMnIHp1Z3JlaWZlbiIKIAotIzogd3JhcHBlci5jOjYzMgorIzogd3JhcHBlci5jOjU5NgogbXNnaWQgInVuYWJsZSB0byBnZXQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiS29ubnRlIGFrdHVlbGxlcyBBcmJlaXRzdmVyemVpY2huaXMgbmljaHQgYmVrb21tZW4uIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQKKyM6IHd0LXN0YXR1cy5jOjE1OAogbXNnaWQgIlVubWVyZ2VkIHBhdGhzOiIKIG1zZ3N0ciAiTmljaHQgenVzYW1tZW5nZWbDvGhydGUgUGZhZGU6IgogCi0jOiB3dC1zdGF0dXMuYzoxODEgd3Qtc3RhdHVzLmM6MjA4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiAgKHVzZSBcImdpdCByZXNldCAlcyA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKKyM6IHd0LXN0YXR1cy5jOjE4NyB3dC1zdGF0dXMuYzoyMTkKK21zZ2lkICIgICh1c2UgXCJnaXQgcmVzdG9yZSAtLXN0YWdlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiIgotIiAgKGJlbnV0emVuIFNpZSBcImdpdCByZXNldCAlcyA8RGF0ZWk+Li4uXCIgenVtIEVudGZlcm5lbiBhdXMgZGVyIFN0YWdpbmctIgotIkFyZWEpIgorIiAgKGJlbnV0emVuIFNpZSBcImdpdCByZXN0b3JlIC0tc3RhZ2VkIDxEYXRlaT4uLi5cIiB6dW0gRW50ZmVybmVuIGF1cyBkZXIgIgorIlN0YWdpbmctQXJlYSkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MyB3dC1zdGF0dXMuYzoyMTAKKyM6IHd0LXN0YXR1cy5jOjE5MCB3dC1zdGF0dXMuYzoyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAodXNlIFwiZ2l0IHJlc3RvcmUgLS1zb3VyY2U9JXMgLS1zdGFnZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCittc2dzdHIgIiIKKyIgIChiZW51dHplbiBTaWUgXCJnaXQgcmVzdG9yZSAtLXNvdXJjZT0lcyAtLXN0YWdlZCA8RGF0ZWk+Li4uXCIgenVtICIKKyJFbnRmZXJuZW4gYXVzIGRlciBTdGFnaW5nLUFyZWEpIgorCisjOiB3dC1zdGF0dXMuYzoxOTMgd3Qtc3RhdHVzLmM6MjI1CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHJtIC0tY2FjaGVkIDxEYXRlaT4uLi5cIiB6dW0gRW50ZmVybmVuIGF1cyBkZXIgU3RhZ2luZy0iCiAiQXJlYSkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NworIzogd3Qtc3RhdHVzLmM6MTk3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGFkZC9ybSA8RGF0ZWk+Li4uXCIsIHVtIGRpZSBBdWZsw7ZzdW5nIHp1IG1hcmtpZXJlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjE4OSB3dC1zdGF0dXMuYzoxOTMKKyM6IHd0LXN0YXR1cy5jOjE5OSB3dC1zdGF0dXMuYzoyMDMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgYWRkL3JtIDxEYXRlaT4uLi5cIiwgdW0gZGllIEF1ZmzDtnN1bmcgZW50c3ByZWNoZW5kIHp1ICIKICJtYXJraWVyZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxOTEKKyM6IHd0LXN0YXR1cy5jOjIwMQogbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGFkZC9ybSA8RGF0ZWk+Li4uXCIsIHVtIGRpZSBBdWZsw7ZzdW5nIHp1IG1hcmtpZXJlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjIwMiB3dC1zdGF0dXMuYzoxMDQyCisjOiB3dC1zdGF0dXMuYzoyMTEgd3Qtc3RhdHVzLmM6MTA3NAogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiWnVtIENvbW1pdCB2b3JnZW1lcmt0ZSDDhG5kZXJ1bmdlbjoiCiAKLSM6IHd0LXN0YXR1cy5jOjIyMCB3dC1zdGF0dXMuYzoxMDUxCisjOiB3dC1zdGF0dXMuYzoyMzQgd3Qtc3RhdHVzLmM6MTA4MwogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAiw4RuZGVydW5nZW4sIGRpZSBuaWNodCB6dW0gQ29tbWl0IHZvcmdlbWVya3Qgc2luZDoiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNAorIzogd3Qtc3RhdHVzLmM6MjM4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgYWRkIDxEYXRlaT4uLi5cIiwgdW0gZGllIMOEbmRlcnVuZ2VuIHp1bSBDb21taXQgIgogInZvcnp1bWVya2VuKSIKIAotIzogd3Qtc3RhdHVzLmM6MjI2CisjOiB3dC1zdGF0dXMuYzoyNDAKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBhZGQvcm0gPERhdGVpPi4uLlwiLCB1bSBkaWUgw4RuZGVydW5nZW4genVtIENvbW1pdCAiCiAidm9yenVtZXJrZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoyMjcKKyM6IHd0LXN0YXR1cy5jOjI0MQogbXNnaWQgIiIKLSIgICh1c2UgXCJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKKyIgICh1c2UgXCJnaXQgcmVzdG9yZSA8ZmlsZT4uLi5cIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpIgogbXNnc3RyICIiCi0iICAoYmVudXR6ZW4gU2llIFwiZ2l0IGNoZWNrb3V0IC0tIDxEYXRlaT4uLi5cIiwgdW0gZGllIMOEbmRlcnVuZ2VuIGltICIKKyIgIChiZW51dHplbiBTaWUgXCJnaXQgcmVzdG9yZSA8RGF0ZWk+Li4uXCIsIHVtIGRpZSDDhG5kZXJ1bmdlbiBpbSAiCiAiQXJiZWl0c3ZlcnplaWNobmlzIHp1IHZlcndlcmZlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjIyOQorIzogd3Qtc3RhdHVzLmM6MjQzCiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIiCiAiICAoY29tbWl0dGVuIG9kZXIgdmVyd2VyZmVuIFNpZSBkZW4gdW52ZXJzaW9uaWVydGVuIG9kZXIgZ2XDpG5kZXJ0ZW4gSW5oYWx0ICIKICJpbiBkZW4gU3VibW9kdWxlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjI0MQorIzogd3Qtc3RhdHVzLmM6MjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0ICVzIDxEYXRlaT4uLi5cIiwgdW0gZGllIMOEbmRlcnVuZ2VuIHp1bSBDb21taXQgIgogInZvcnp1bWVya2VuKSIKIAotIzogd3Qtc3RhdHVzLmM6MjU2CisjOiB3dC1zdGF0dXMuYzoyNjgKIG1zZ2lkICJib3RoIGRlbGV0ZWQ6IgogbXNnc3RyICJiZWlkZSBnZWzDtnNjaHQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTgKKyM6IHd0LXN0YXR1cy5jOjI3MAogbXNnaWQgImFkZGVkIGJ5IHVzOiIKIG1zZ3N0ciAidm9uIHVucyBoaW56dWdlZsO8Z3Q6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjAKKyM6IHd0LXN0YXR1cy5jOjI3MgogbXNnaWQgImRlbGV0ZWQgYnkgdGhlbToiCiBtc2dzdHIgInZvbiBkZW5lbiBnZWzDtnNjaHQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjIKKyM6IHd0LXN0YXR1cy5jOjI3NAogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICJ2b24gZGVuZW4gaGluenVnZWbDvGd0OiIKIAotIzogd3Qtc3RhdHVzLmM6MjY0CisjOiB3dC1zdGF0dXMuYzoyNzYKIG1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKIG1zZ3N0ciAidm9uIHVucyBnZWzDtnNjaHQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjYKKyM6IHd0LXN0YXR1cy5jOjI3OAogbXNnaWQgImJvdGggYWRkZWQ6IgogbXNnc3RyICJ2b24gYmVpZGVuIGhpbnp1Z2Vmw7xndDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2OAorIzogd3Qtc3RhdHVzLmM6MjgwCiBtc2dpZCAiYm90aCBtb2RpZmllZDoiCiBtc2dzdHIgInZvbiBiZWlkZW4gZ2XDpG5kZXJ0OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc4CisjOiB3dC1zdGF0dXMuYzoyOTAKIG1zZ2lkICJuZXcgZmlsZToiCiBtc2dzdHIgIm5ldWUgRGF0ZWk6IgogCi0jOiB3dC1zdGF0dXMuYzoyODAKKyM6IHd0LXN0YXR1cy5jOjI5MgogbXNnaWQgImNvcGllZDoiCiBtc2dzdHIgImtvcGllcnQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyODIKKyM6IHd0LXN0YXR1cy5jOjI5NAogbXNnaWQgImRlbGV0ZWQ6IgogbXNnc3RyICJnZWzDtnNjaHQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyODQKKyM6IHd0LXN0YXR1cy5jOjI5NgogbXNnaWQgIm1vZGlmaWVkOiIKIG1zZ3N0ciAiZ2XDpG5kZXJ0OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg2CisjOiB3dC1zdGF0dXMuYzoyOTgKIG1zZ2lkICJyZW5hbWVkOiIKIG1zZ3N0ciAidW1iZW5hbm50OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg4CisjOiB3dC1zdGF0dXMuYzozMDAKIG1zZ2lkICJ0eXBlY2hhbmdlOiIKIG1zZ3N0ciAiVHlww6RuZGVydW5nOiIKIAotIzogd3Qtc3RhdHVzLmM6MjkwCisjOiB3dC1zdGF0dXMuYzozMDIKIG1zZ2lkICJ1bmtub3duOiIKIG1zZ3N0ciAidW5iZWthbm50OiIKIAotIzogd3Qtc3RhdHVzLmM6MjkyCisjOiB3dC1zdGF0dXMuYzozMDQKIG1zZ2lkICJ1bm1lcmdlZDoiCiBtc2dzdHIgIm5pY2h0IGdlbWVyZ2VkOiIKIAotIzogd3Qtc3RhdHVzLmM6MzcyCisjOiB3dC1zdGF0dXMuYzozODQKIG1zZ2lkICJuZXcgY29tbWl0cywgIgogbXNnc3RyICJuZXVlIENvbW1pdHMsICIKIAotIzogd3Qtc3RhdHVzLmM6Mzc0CisjOiB3dC1zdGF0dXMuYzozODYKIG1zZ2lkICJtb2RpZmllZCBjb250ZW50LCAiCiBtc2dzdHIgImdlw6RuZGVydGVyIEluaGFsdCwgIgogCi0jOiB3dC1zdGF0dXMuYzozNzYKKyM6IHd0LXN0YXR1cy5jOjM4OAogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgInVudmVyc2lvbmllcnRlciBJbmhhbHQsICIKIAotIzogd3Qtc3RhdHVzLmM6ODgwCisjOiB3dC1zdGF0dXMuYzo5MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJ5IgogbXNnaWRfcGx1cmFsICJZb3VyIHN0YXNoIGN1cnJlbnRseSBoYXMgJWQgZW50cmllcyIKIG1zZ3N0clswXSAiSWhyIFN0YXNoIGhhdCBnZXJhZGUgJWQgRWludHJhZyIKIG1zZ3N0clsxXSAiSWhyIFN0YXNoIGhhdCBnZXJhZGUgJWQgRWludHLDpGdlIgogCi0jOiB3dC1zdGF0dXMuYzo5MTIKKyM6IHd0LXN0YXR1cy5jOjkzOAogbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgogbXNnc3RyICJTdWJtb2R1bGUgZ2XDpG5kZXJ0LCBhYmVyIG5pY2h0IGFrdHVhbGlzaWVydDoiCiAKLSM6IHd0LXN0YXR1cy5jOjkxNAorIzogd3Qtc3RhdHVzLmM6OTQwCiBtc2dpZCAiU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiw4RuZGVydW5nZW4gaW4gU3VibW9kdWwgenVtIENvbW1pdHRlbjoiCiAKLSM6IHd0LXN0YXR1cy5jOjk5NgorIzogd3Qtc3RhdHVzLmM6MTAyMgogbXNnaWQgIiIKICJEbyBub3QgbW9kaWZ5IG9yIHJlbW92ZSB0aGUgbGluZSBhYm92ZS5cbiIKICJFdmVyeXRoaW5nIGJlbG93IGl0IHdpbGwgYmUgaWdub3JlZC4iCkBAIC02OTI3LDExNCArODczNSwxMjYgQEAKICLDhG5kZXJuIG9kZXIgZW50ZmVybmVuIFNpZSBuaWNodCBkaWUgb2JpZ2UgWmVpbGUuXG4iCiAiQWxsZXMgdW50ZXJoYWxiIHZvbiBpaHIgd2lyZCBpZ25vcmllcnQuIgogCi0jOiB3dC1zdGF0dXMuYzoxMDk3CisjOiB3dC1zdGF0dXMuYzoxMTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBjb21wdXRlIHRoZSBicmFuY2ggYWhlYWQvYmVoaW5kIHZhbHVlcy5cbiIKKyJZb3UgY2FuIHVzZSAnLS1uby1haGVhZC1iZWhpbmQnIHRvIGF2b2lkIHRoaXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJFcyB3dXJkZW4gJS4yZiBTZWt1bmRlbiBiZW7DtnRpZ3QsIHVtIGRpZSB2b3JhdXMvaGludGVyaGVyLVdlcnRlIHp1ICIKKyJiZXJlY2huZW4uXG4iCisiU2llIGvDtm5uZW4gJy0tbm8tYWhlYWQtYmVoaW5kJyBiZW51dHplbiwgdW0gZGFzIHp1IHZlcmhpbmRlcm4uXG4iCisKKyM6IHd0LXN0YXR1cy5jOjExNDQKIG1zZ2lkICJZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4iCiBtc2dzdHIgIlNpZSBoYWJlbiBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBQZmFkZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjExMDAKKyM6IHd0LXN0YXR1cy5jOjExNDcKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY29tbWl0XCIpIgogbXNnc3RyICIgKGJlaGViZW4gU2llIGRpZSBLb25mbGlrdGUgdW5kIGbDvGhyZW4gU2llIFwiZ2l0IGNvbW1pdFwiIGF1cykiCiAKLSM6IHd0LXN0YXR1cy5jOjExMDIKKyM6IHd0LXN0YXR1cy5jOjExNDkKIG1zZ2lkICIgICh1c2UgXCJnaXQgbWVyZ2UgLS1hYm9ydFwiIHRvIGFib3J0IHRoZSBtZXJnZSkiCiBtc2dzdHIgIiAgKGJlbnV0emVuIFNpZSBcImdpdCBtZXJnZSAtLWFib3J0XCIsIHVtIGRlbiBNZXJnZSBhYnp1YnJlY2hlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjExMDYKKyM6IHd0LXN0YXR1cy5jOjExNTMKIG1zZ2lkICJBbGwgY29uZmxpY3RzIGZpeGVkIGJ1dCB5b3UgYXJlIHN0aWxsIG1lcmdpbmcuIgogbXNnc3RyICJBbGxlIEtvbmZsaWt0ZSBzaW5kIGJlaG9iZW4sIGFiZXIgU2llIHNpbmQgaW1tZXIgbm9jaCBiZWltIE1lcmdlLiIKIAotIzogd3Qtc3RhdHVzLmM6MTEwOQorIzogd3Qtc3RhdHVzLmM6MTE1NgogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXRcIiB0byBjb25jbHVkZSBtZXJnZSkiCiBtc2dzdHIgIiAgKGJlbnV0emVuIFNpZSBcImdpdCBjb21taXRcIiwgdW0gZGVuIE1lcmdlIGFienVzY2hsaWXDn2VuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTExOAorIzogd3Qtc3RhdHVzLmM6MTE2NQogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLiIKIG1zZ3N0ciAiRWluZSBcImFtXCItU2l0enVuZyBpc3QgaW0gR2FuZ2UuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTIxCisjOiB3dC1zdGF0dXMuYzoxMTY4CiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICJEZXIgYWt0dWVsbGUgUGF0Y2ggaXN0IGxlZXIuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTI1CisjOiB3dC1zdGF0dXMuYzoxMTcyCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKGJlaGViZW4gU2llIGRpZSBLb25mbGlrdGUgdW5kIGbDvGhyZW4gU2llIGRhbm4gXCJnaXQgYW0gLS1jb250aW51ZVwiIGF1cykiCiAKLSM6IHd0LXN0YXR1cy5jOjExMjcKKyM6IHd0LXN0YXR1cy5jOjExNzQKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGFtIC0tc2tpcFwiLCB1bSBkaWVzZW4gUGF0Y2ggYXVzenVsYXNzZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMTI5CisjOiB3dC1zdGF0dXMuYzoxMTc2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIiCiAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IGFtIC0tYWJvcnRcIiwgdW0gZGVuIHVyc3Byw7xuZ2xpY2hlbiBCcmFuY2ggIgogIndpZWRlcmhlcnp1c3RlbGxlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjAKKyM6IHd0LXN0YXR1cy5jOjEzMDkKIG1zZ2lkICJnaXQtcmViYXNlLXRvZG8gaXMgbWlzc2luZy4iCiBtc2dzdHIgImdpdC1yZWJhc2UtdG9kbyBmZWhsdC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjIKKyM6IHd0LXN0YXR1cy5jOjEzMTEKIG1zZ2lkICJObyBjb21tYW5kcyBkb25lLiIKIG1zZ3N0ciAiS2VpbmUgQmVmZWhsZSBhdXNnZWbDvGhydC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjUKKyM6IHd0LXN0YXR1cy5jOjEzMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTGFzdCBjb21tYW5kIGRvbmUgKCVkIGNvbW1hbmQgZG9uZSk6IgogbXNnaWRfcGx1cmFsICJMYXN0IGNvbW1hbmRzIGRvbmUgKCVkIGNvbW1hbmRzIGRvbmUpOiIKIG1zZ3N0clswXSAiWnVsZXR6dCBhdXNnZWbDvGhydGVyIEJlZmVobCAoJWQgQmVmZWhsIGF1c2dlZsO8aHJ0KToiCiBtc2dzdHJbMV0gIlp1bGV0enQgYXVzZ2Vmw7xocnRlIEJlZmVobGUgKCVkIEJlZmVobGUgYXVzZ2Vmw7xocnQpOiIKIAotIzogd3Qtc3RhdHVzLmM6MTI3NgorIzogd3Qtc3RhdHVzLmM6MTMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIChzZWUgbW9yZSBpbiBmaWxlICVzKSIKIG1zZ3N0ciAiICAobWVociBJbmZvcm1hdGlvbmVuIGluIERhdGVpICVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI4MQorIzogd3Qtc3RhdHVzLmM6MTMzMAogbXNnaWQgIk5vIGNvbW1hbmRzIHJlbWFpbmluZy4iCiBtc2dzdHIgIktlaW5lIEJlZmVobGUgdmVyYmxlaWJlbmQuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjg0CisjOiB3dC1zdGF0dXMuYzoxMzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5leHQgY29tbWFuZCB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmQpOiIKIG1zZ2lkX3BsdXJhbCAiTmV4dCBjb21tYW5kcyB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmRzKToiCiBtc2dzdHJbMF0gIk7DpGNoc3RlciBhdXN6dWbDvGhyZW5kZXIgQmVmZWhsICglZCBCZWZlaGxlIHZlcmJsZWliZW5kKToiCiBtc2dzdHJbMV0gIk7DpGNoc3RlIGF1c3p1ZsO8aHJlbmRlIEJlZmVobGUgKCVkIEJlZmVobGUgdmVyYmxlaWJlbmQpOiIKIAotIzogd3Qtc3RhdHVzLmM6MTI5MgorIzogd3Qtc3RhdHVzLmM6MTM0MQogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIiB0byB2aWV3IGFuZCBlZGl0KSIKIG1zZ3N0ciAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHp1bSBBbnNlaGVuIHVuZCBCZWFyYmVpdGVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMwNAorIzogd3Qtc3RhdHVzLmM6MTM1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiU2llIHNpbmQgZ2VyYWRlIGJlaW0gUmViYXNlIHZvbiBCcmFuY2ggJyVzJyBhdWYgJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzMDkKKyM6IHd0LXN0YXR1cy5jOjEzNTgKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iCiBtc2dzdHIgIlNpZSBzaW5kIGdlcmFkZSBiZWltIFJlYmFzZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzMjIKKyM6IHd0LXN0YXR1cy5jOjEzNzEKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKGJlaGViZW4gU2llIGRpZSBLb25mbGlrdGUgdW5kIGbDvGhyZW4gU2llIGRhbm4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIiAiCiAiYXVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMyNAorIzogd3Qtc3RhdHVzLmM6MTM3MwogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiwgdW0gZGllc2VuIFBhdGNoIGF1c3p1bGFzc2VuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMyNgorIzogd3Qtc3RhdHVzLmM6MTM3NQogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHRvIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiLCB1bSBkZW4gdXJzcHLDvG5nbGljaGVuIEJyYW5jaCAiCiAiYXVzenVjaGVja2VuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMzMworIzogd3Qtc3RhdHVzLmM6MTM4MgogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoYWxsZSBLb25mbGlrdGUgYmVob2JlbjogZsO8aHJlbiBTaWUgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBhdXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzM3CisjOiB3dC1zdGF0dXMuYzoxMzg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCkBAIC03MDQyLDEzOCArODg2MiwxNTUgQEAKICJTaWUgdGVpbGVuIGdlcmFkZSBlaW5lbiBDb21taXQgYXVmLCB3w6RocmVuZCBlaW4gUmViYXNlIHZvbiBCcmFuY2ggJyVzJyBhdWYgIgogIiclcycgaW0gR2FuZ2UgaXN0LiIKIAotIzogd3Qtc3RhdHVzLmM6MTM0MgorIzogd3Qtc3RhdHVzLmM6MTM5MQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICJTaWUgdGVpbGVuIGdlcmFkZSBlaW5lbiBDb21taXQgd8OkaHJlbmQgZWluZXMgUmViYXNlIGF1Zi4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzNDUKKyM6IHd0LXN0YXR1cy5jOjEzOTQKIG1zZ2lkICIgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKFNvYmFsZCBJaHIgQXJiZWl0c3ZlcnplaWNobmlzIHVudmVyw6RuZGVydCBpc3QsIGbDvGhyZW4gU2llIFwiZ2l0IHJlYmFzZSAtLSIKICJjb250aW51ZVwiIGF1cykiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNDkKKyM6IHd0LXN0YXR1cy5jOjEzOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiIgogIlNpZSBlZGl0aWVyZW4gZ2VyYWRlIGVpbmVuIENvbW1pdCB3w6RocmVuZCBlaW5lcyBSZWJhc2Ugdm9uIEJyYW5jaCAnJXMnIGF1ZiAiCiAiJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzNTQKKyM6IHd0LXN0YXR1cy5jOjE0MDMKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIlNpZSBlZGl0aWVyZW4gZ2VyYWRlIGVpbmVuIENvbW1pdCB3w6RocmVuZCBlaW5lcyBSZWJhc2UuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzU3CisjOiB3dC1zdGF0dXMuYzoxNDA2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBjb21taXQgLS1hbWVuZFwiLCB1bSBkZW4gYWt0dWVsbGVuIENvbW1pdCAiCiAibmFjaHp1YmVzc2VybikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNTkKKyM6IHd0LXN0YXR1cy5jOjE0MDgKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBzb2JhbGQgSWhyZSDDhG5kZXJ1bmdlbiAiCiAiYWJnZXNjaGxvc3NlbiBzaW5kKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM2OAorIzogd3Qtc3RhdHVzLmM6MTQxOQorbXNnaWQgIkNoZXJyeS1waWNrIGN1cnJlbnRseSBpbiBwcm9ncmVzcy4iCittc2dzdHIgIkNoZXJyeS1waWNrIHp1cnplaXQgaW0gR2FuZ2UuIgorCisjOiB3dC1zdGF0dXMuYzoxNDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGNoZXJyeS1waWNraW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIlNpZSBmw7xocmVuIGdlcmFkZSBcImNoZXJyeS1waWNrXCIgdm9uIENvbW1pdCAlcyBhdXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzczCisjOiB3dC1zdGF0dXMuYzoxNDI5CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChiZWhlYmVuIFNpZSBkaWUgS29uZmxpa3RlIHVuZCBmw7xocmVuIFNpZSBkYW5uIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWUiCiAiXCIgYXVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM3NgorIzogd3Qtc3RhdHVzLmM6MTQzMgorbXNnaWQgIiAgKHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgdG8gY29udGludWUpIgorbXNnc3RyICIgIChGw7xocmVuIFNpZSBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgYXVzLCB1bSB3ZWl0ZXJ6dW1hY2hlbikiCisKKyM6IHd0LXN0YXR1cy5jOjE0MzUKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKGFsbGUgS29uZmxpa3RlIGJlaG9iZW46IGbDvGhyZW4gU2llIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiBhdXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzc4CisjOiB3dC1zdGF0dXMuYzoxNDM3Cittc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCittc2dzdHIgIiIKKyIgIChiZW51dHplbiBTaWUgXCJnaXQgY2hlcnJ5LXBpY2sgLS1za2lwXCIsIHVtIGRpZXNlbiBQYXRjaCBhdXN6dWxhc3NlbikiCisKKyM6IHd0LXN0YXR1cy5jOjE0MzkKIG1zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIsIHVtIGRpZSBDaGVycnktUGljay1PcGVyYXRpb24gIgogImFienVicmVjaGVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM4NgorIzogd3Qtc3RhdHVzLmM6MTQ0OQorbXNnaWQgIlJldmVydCBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MuIgorbXNnc3RyICJSZXZlcnQgenVyemVpdCBpbSBHYW5nZS4iCisKKyM6IHd0LXN0YXR1cy5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIlNpZSBzaW5kIGdlcmFkZSBiZWltIFJldmVydCB2b24gQ29tbWl0ICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzkxCisjOiB3dC1zdGF0dXMuYzoxNDU4CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoYmVoZWJlbiBTaWUgZGllIEtvbmZsaWt0ZSB1bmQgZsO8aHJlbiBTaWUgZGFubiBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiICIKICJhdXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzk0CisjOiB3dC1zdGF0dXMuYzoxNDYxCittc2dpZCAiICAocnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIgdG8gY29udGludWUpIgorbXNnc3RyICIgIChGw7xocmVuIFNpZSBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiLCB1bSB3ZWl0ZXJ6dW1hY2hlbikiCisKKyM6IHd0LXN0YXR1cy5jOjE0NjQKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKGFsbGUgS29uZmxpa3RlIGJlaG9iZW46IGbDvGhyZW4gU2llIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIgYXVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM5NgorIzogd3Qtc3RhdHVzLmM6MTQ2NgorbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKK21zZ3N0ciAiICAoYmVudXR6ZW4gU2llIFwiZ2l0IHJldmVydCAtLXNraXBcIiwgdW0gZGllc2VuIFBhdGNoIGF1c3p1bGFzc2VuKSIKKworIzogd3Qtc3RhdHVzLmM6MTQ2OAogbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgcmV2ZXJ0IG9wZXJhdGlvbikiCiBtc2dzdHIgIiIKICIgIChiZW51dHplbiBTaWUgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiwgdW0gZGllIFJldmVydC1PcGVyYXRpb24gYWJ6dWJyZWNoZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxNDA2CisjOiB3dC1zdGF0dXMuYzoxNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAiU2llIHNpbmQgZ2VyYWRlIGJlaSBlaW5lciBiaW7DpHJlbiBTdWNoZSwgZ2VzdGFydGV0IHZvbiBCcmFuY2ggJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjE0MTAKKyM6IHd0LXN0YXR1cy5jOjE0ODIKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcuIgogbXNnc3RyICJTaWUgc2luZCBnZXJhZGUgYmVpIGVpbmVyIGJpbsOkcmVuIFN1Y2hlLiIKIAotIzogd3Qtc3RhdHVzLmM6MTQxMworIzogd3Qtc3RhdHVzLmM6MTQ4NQogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiIgogIiAgKGJlbnV0emVuIFNpZSBcImdpdCBiaXNlY3QgcmVzZXRcIiwgdW0genVtIHVyc3Byw7xuZ2xpY2hlbiBCcmFuY2ggIgogInp1csO8Y2t6dWtlaHJlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTEKKyM6IHd0LXN0YXR1cy5jOjE2OTQKIG1zZ2lkICJPbiBicmFuY2ggIgogbXNnc3RyICJBdWYgQnJhbmNoICIKIAotIzogd3Qtc3RhdHVzLmM6MTYxOAorIzogd3Qtc3RhdHVzLmM6MTcwMQogbXNnaWQgImludGVyYWN0aXZlIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgImludGVyYWt0aXZlcyBSZWJhc2UgaW0gR2FuZ2U7IGF1ZiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MjAKKyM6IHd0LXN0YXR1cy5jOjE3MDMKIG1zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICJSZWJhc2UgaW0gR2FuZ2U7IGF1ZiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MjUKLW1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKLW1zZ3N0ciAiSEVBRCBsb3NnZWzDtnN0IGJlaSAiCi0KLSM6IHd0LXN0YXR1cy5jOjE2MjcKLW1zZ2lkICJIRUFEIGRldGFjaGVkIGZyb20gIgotbXNnc3RyICJIRUFEIGxvc2dlbMO2c3Qgdm9uICIKLQotIzogd3Qtc3RhdHVzLmM6MTYzMAorIzogd3Qtc3RhdHVzLmM6MTcxMwogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIkltIE1vbWVudCBhdWYga2VpbmVtIEJyYW5jaC4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2NDcKKyM6IHd0LXN0YXR1cy5jOjE3MzAKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAiSW5pdGlhbGVyIENvbW1pdCIKIAotIzogd3Qtc3RhdHVzLmM6MTY0OAorIzogd3Qtc3RhdHVzLmM6MTczMQogbXNnaWQgIk5vIGNvbW1pdHMgeWV0IgogbXNnc3RyICJOb2NoIGtlaW5lIENvbW1pdHMiCiAKLSM6IHd0LXN0YXR1cy5jOjE2NjIKKyM6IHd0LXN0YXR1cy5jOjE3NDUKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIlVudmVyc2lvbmllcnRlIERhdGVpZW4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2NjQKKyM6IHd0LXN0YXR1cy5jOjE3NDcKIG1zZ2lkICJJZ25vcmVkIGZpbGVzIgogbXNnc3RyICJJZ25vcmllcnRlIERhdGVpZW4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2NjgKKyM6IHd0LXN0YXR1cy5jOjE3NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGVudW1lcmF0ZSB1bnRyYWNrZWQgZmlsZXMuICdzdGF0dXMgLXVubydcbiIKQEAgLTcxODQsMzIgKzkwMjEsMzIgQEAKICInc3RhdHVzIC11bm8nIGvDtm5udGUgZGFzIGJlc2NobGV1bmlnZW4sIGFiZXIgU2llIG3DvHNzZW4gZGFyYXVmIGFjaHRlbixcbiIKICJuZXVlIERhdGVpZW4gc2VsYnN0c3TDpG5kaWcgaGluenV6dWbDvGdlbiAoc2llaGUgJ2dpdCBoZWxwIHN0YXR1cycpLiIKIAotIzogd3Qtc3RhdHVzLmM6MTY3NAorIzogd3Qtc3RhdHVzLmM6MTc1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCVzIgogbXNnc3RyICJVbnZlcnNpb25pZXJ0ZSBEYXRlaWVuIG5pY2h0IGF1ZmdlbGlzdGV0JXMiCiAKLSM6IHd0LXN0YXR1cy5jOjE2NzYKKyM6IHd0LXN0YXR1cy5jOjE3NTkKIG1zZ2lkICIgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpIgogbXNnc3RyICIgKGJlbnV0emVuIFNpZSBkaWUgT3B0aW9uIC11LCB1bSB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuIGFuenV6ZWlnZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxNjgyCisjOiB3dC1zdGF0dXMuYzoxNzY1CiBtc2dpZCAiTm8gY2hhbmdlcyIKIG1zZ3N0ciAiS2VpbmUgw4RuZGVydW5nZW4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2ODcKKyM6IHd0LXN0YXR1cy5jOjE3NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpXG4iCiBtc2dzdHIgIiIKICJrZWluZSDDhG5kZXJ1bmdlbiB6dW0gQ29tbWl0IHZvcmdlbWVya3QgKGJlbnV0emVuIFNpZSBcImdpdCBhZGRcIiB1bmQvb2RlciAiCiAiXCJnaXQgY29tbWl0IC1hXCIpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2OTAKKyM6IHd0LXN0YXR1cy5jOjE3NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXRcbiIKIG1zZ3N0ciAia2VpbmUgw4RuZGVydW5nZW4genVtIENvbW1pdCB2b3JnZW1lcmt0XG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2OTMKKyM6IHd0LXN0YXR1cy5jOjE3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKQEAgLTcyMTgsMjAwICs5MDU1LDIwNSBAQAogIm5pY2h0cyB6dW0gQ29tbWl0IHZvcmdlbWVya3QsIGFiZXIgZXMgZ2lidCB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuXG4iCiAiKGJlbnV0emVuIFNpZSBcImdpdCBhZGRcIiB6dW0gVmVyc2lvbmllcmVuKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjk2CisjOiB3dC1zdGF0dXMuYzoxNzc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgogbXNnc3RyICJuaWNodHMgenVtIENvbW1pdCB2b3JnZW1lcmt0LCBhYmVyIGVzIGdpYnQgdW52ZXJzaW9uaWVydGUgRGF0ZWllblxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjk5CisjOiB3dC1zdGF0dXMuYzoxNzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0IChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKVxuIgogbXNnc3RyICIiCiAibmljaHRzIHp1IGNvbW1pdHRlbiAoZXJzdGVsbGVuL2tvcGllcmVuIFNpZSBEYXRlaWVuIHVuZCBiZW51dHplblxuIgogIlNpZSBcImdpdCBhZGRcIiB6dW0gVmVyc2lvbmllcmVuKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNzAyIHd0LXN0YXR1cy5jOjE3MDcKKyM6IHd0LXN0YXR1cy5jOjE3ODUgd3Qtc3RhdHVzLmM6MTc5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICJuaWNodHMgenUgY29tbWl0dGVuXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE3MDUKKyM6IHd0LXN0YXR1cy5jOjE3ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAiIgogIm5pY2h0cyB6dSBjb21taXR0ZW4gKGJlbnV0emVuIFNpZSBkaWUgT3B0aW9uIC11LCB1bSB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuICIKICJhbnp1emVpZ2VuKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNzA5CisjOiB3dC1zdGF0dXMuYzoxNzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIKIG1zZ3N0ciAibmljaHRzIHp1IGNvbW1pdHRlbiwgQXJiZWl0c3ZlcnplaWNobmlzIHVudmVyw6RuZGVydFxuIgogCi0jOiB3dC1zdGF0dXMuYzoxODIyCisjOiB3dC1zdGF0dXMuYzoxOTA1CiBtc2dpZCAiTm8gY29tbWl0cyB5ZXQgb24gIgogbXNnc3RyICJOb2NoIGtlaW5lIENvbW1pdHMgaW4gIgogCi0jOiB3dC1zdGF0dXMuYzoxODI2CisjOiB3dC1zdGF0dXMuYzoxOTA5CiBtc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKIG1zZ3N0ciAiSEVBRCAoa2VpbiBCcmFuY2gpIgogCi0jOiB3dC1zdGF0dXMuYzoxODU3CisjOiB3dC1zdGF0dXMuYzoxOTQwCiBtc2dpZCAiZGlmZmVyZW50IgogbXNnc3RyICJ1bnRlcnNjaGllZGxpY2giCiAKLSM6IHd0LXN0YXR1cy5jOjE4NTkgd3Qtc3RhdHVzLmM6MTg2NworIzogd3Qtc3RhdHVzLmM6MTk0MiB3dC1zdGF0dXMuYzoxOTUwCiBtc2dpZCAiYmVoaW5kICIKIG1zZ3N0ciAiaGludGVyaGVyICIKIAotIzogd3Qtc3RhdHVzLmM6MTg2MiB3dC1zdGF0dXMuYzoxODY1CisjOiB3dC1zdGF0dXMuYzoxOTQ1IHd0LXN0YXR1cy5jOjE5NDgKIG1zZ2lkICJhaGVhZCAiCiBtc2dzdHIgInZvcmF1cyAiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgYWN0aW9uIGlzIGUuZy4gInB1bGwgd2l0aCByZWJhc2UiCi0jOiB3dC1zdGF0dXMuYzoyMzc0CisjOiB3dC1zdGF0dXMuYzoyNDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKICIlcyBuaWNodCBtw7ZnbGljaDogU2llIGhhYmVuIMOEbmRlcnVuZ2VuLCBkaWUgbmljaHQgenVtIENvbW1pdCB2b3JnZW1lcmt0IHNpbmQuIgogCi0jOiB3dC1zdGF0dXMuYzoyMzgwCisjOiB3dC1zdGF0dXMuYzoyNDc2CiBtc2dpZCAiYWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICJadXPDpHR6bGljaCBlbnRow6RsdCBkaWUgU3RhZ2luZy1BcmVhIG5pY2h0IGNvbW1pdHRldGUgw4RuZGVydW5nZW4uIgogCi0jOiB3dC1zdGF0dXMuYzoyMzgyCisjOiB3dC1zdGF0dXMuYzoyNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogIiVzIG5pY2h0IG3DtmdsaWNoOiBEaWUgU3RhZ2luZy1BcmVhIGVudGjDpGx0IG5pY2h0IGNvbW1pdHRldGUgw4RuZGVydW5nZW4uIgogCi0jOiBidWlsdGluL2FkZC5jOjI0CisjOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTggYnVpbHRpbi9jbG9uZS5jOjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCittc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGVudGZlcm5lbi4iCisKKyM6IGJ1aWx0aW4vYWRkLmM6MjYKIG1zZ2lkICJnaXQgYWRkIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IGFkZCBbPE9wdGlvbmVuPl0gWy0tXSA8UGZhZHNwZXppZmlrYXRpb24+Li4uIgogCi0jOiBidWlsdGluL2FkZC5jOjgzCisjOiBidWlsdGluL2FkZC5jOjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgInVuZXJ3YXJ0ZXRlciBEaWZmZXJlbnotU3RhdHVzICVjIgogCi0jOiBidWlsdGluL2FkZC5jOjg4IGJ1aWx0aW4vY29tbWl0LmM6Mjg0CisjOiBidWlsdGluL2FkZC5jOjkyIGJ1aWx0aW4vY29tbWl0LmM6Mjg4CiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICJBa3R1YWxpc2llcnVuZyBkZXIgRGF0ZWllbiBmZWhsZ2VzY2hsYWdlbiIKIAotIzogYnVpbHRpbi9hZGQuYzo5OAorIzogYnVpbHRpbi9hZGQuYzoxMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3ZlICclcydcbiIKIG1zZ3N0ciAibMO2c2NoZSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MTczCisjOiBidWlsdGluL2FkZC5jOjE3NwogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVmcmVzaGluZyB0aGUgaW5kZXg6IgogbXNnc3RyICIiCiAiTmljaHQgenVtIENvbW1pdCB2b3JnZW1lcmt0ZSDDhG5kZXJ1bmdlbiBuYWNoIEFrdHVhbGlzaWVydW5nIGRlciBTdGFnaW5nLUFyZWE6IgogCi0jOiBidWlsdGluL2FkZC5jOjIzMyBidWlsdGluL3Jldi1wYXJzZS5jOjg5NQorIzogYnVpbHRpbi9hZGQuYzoyNTIgYnVpbHRpbi9yZXYtcGFyc2UuYzo4OTkKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIktvbm50ZSBkZW4gSW5kZXggbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQ0CisjOiBidWlsdGluL2FkZC5jOjI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgenVtIFNjaHJlaWJlbiDDtmZmbmVuLiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNDgKKyM6IGJ1aWx0aW4vYWRkLmM6MjY3CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHBhdGNoIgogbXNnc3RyICJLb25udGUgUGF0Y2ggbmljaHQgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2FkZC5jOjI1MQorIzogYnVpbHRpbi9hZGQuYzoyNzAKIG1zZ2lkICJlZGl0aW5nIHBhdGNoIGZhaWxlZCIKIG1zZ3N0ciAiQmVhcmJlaXR1bmcgZGVzIFBhdGNoZXMgZmVobGdlc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU0CisjOiBidWlsdGluL2FkZC5jOjI3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICJLb25udGUgVmVyemVpY2huaXMgJyVzJyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc1CiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICJMZWVyZXIgUGF0Y2guIEFiZ2Vicm9jaGVuLiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjEKKyM6IGJ1aWx0aW4vYWRkLmM6MjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAnJXMnIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBhbndlbmRlbi4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjY5CisjOiBidWlsdGluL2FkZC5jOjI4OAogbXNnaWQgIlRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKIG1zZ3N0ciAiIgogIkRpZSBmb2xnZW5kZW4gUGZhZGUgd2VyZGVuIGR1cmNoIGVpbmUgSWhyZXIgXCIuZ2l0aWdub3JlXCIgRGF0ZWllbiAiCiAiaWdub3JpZXJ0OlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjI4OSBidWlsdGluL2NsZWFuLmM6OTA3IGJ1aWx0aW4vZmV0Y2guYzoxMzcgYnVpbHRpbi9tdi5jOjEyMwotIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NiBidWlsdGluL3B1bGwuYzoyMTMgYnVpbHRpbi9wdXNoLmM6NTU3Ci0jOiBidWlsdGluL3JlbW90ZS5jOjEzNDUgYnVpbHRpbi9ybS5jOjI0MCBidWlsdGluL3NlbmQtcGFjay5jOjE2NQorIzogYnVpbHRpbi9hZGQuYzozMDggYnVpbHRpbi9jbGVhbi5jOjkxMCBidWlsdGluL2ZldGNoLmM6MTYzIGJ1aWx0aW4vbXYuYzoxMjQKKyM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTYgYnVpbHRpbi9wdWxsLmM6MjIzIGJ1aWx0aW4vcHVzaC5jOjU0OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzQ0IGJ1aWx0aW4vcm0uYzoyNDEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjUKIG1zZ2lkICJkcnkgcnVuIgogbXNnc3RyICJQcm9iZWxhdWYiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjkyCisjOiBidWlsdGluL2FkZC5jOjMxMQogbXNnaWQgImludGVyYWN0aXZlIHBpY2tpbmciCiBtc2dzdHIgImludGVyYWt0aXZlcyBBdXN3w6RobGVuIgogCi0jOiBidWlsdGluL2FkZC5jOjI5MyBidWlsdGluL2NoZWNrb3V0LmM6MTI1OCBidWlsdGluL3Jlc2V0LmM6MzA1CisjOiBidWlsdGluL2FkZC5jOjMxMiBidWlsdGluL2NoZWNrb3V0LmM6MTQ4MiBidWlsdGluL3Jlc2V0LmM6MzA3CiBtc2dpZCAic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgIkJsw7Zja2UgaW50ZXJha3RpdiBhdXN3w6RobGVuIgogCi0jOiBidWlsdGluL2FkZC5jOjI5NAorIzogYnVpbHRpbi9hZGQuYzozMTMKIG1zZ2lkICJlZGl0IGN1cnJlbnQgZGlmZiBhbmQgYXBwbHkiCiBtc2dzdHIgImFrdHVlbGxlIFVudGVyc2NoaWVkZSBlZGl0aWVyZW4gdW5kIGFud2VuZGVuIgogCi0jOiBidWlsdGluL2FkZC5jOjI5NQorIzogYnVpbHRpbi9hZGQuYzozMTQKIG1zZ2lkICJhbGxvdyBhZGRpbmcgb3RoZXJ3aXNlIGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgImRhcyBIaW56dWbDvGdlbiBhbmRlcm5mYWxscyBpZ25vcmllcnRlciBEYXRlaWVuIGVybGF1YmVuIgogCi0jOiBidWlsdGluL2FkZC5jOjI5NgorIzogYnVpbHRpbi9hZGQuYzozMTUKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAidmVyc2lvbmllcnRlIERhdGVpZW4gYWt0dWFsaXNpZXJlbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTcKKyM6IGJ1aWx0aW4vYWRkLmM6MzE2CiBtc2dpZCAicmVub3JtYWxpemUgRU9MIG9mIHRyYWNrZWQgZmlsZXMgKGltcGxpZXMgLXUpIgogbXNnc3RyICIiCiAiZXJuZXV0ZXMgTm9ybWFsaXNpZXJlbiBkZXIgWmVpbGVuZW5kZW4gdm9uIHZlcnNpb25pZXJ0ZW4gRGF0ZWllbiAoaW1wbGl6aWVydCAiCiAiLXUpIgogCi0jOiBidWlsdGluL2FkZC5jOjI5OAorIzogYnVpbHRpbi9hZGQuYzozMTcKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBwYXRoIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgIm51ciBzcGVpY2hlcm4sIGRhc3MgZGVyIFBmYWQgc3DDpHRlciBoaW56dWdlZsO8Z3Qgd2VyZGVuIHNvbGwiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk5CisjOiBidWlsdGluL2FkZC5jOjMxOAogbXNnaWQgImFkZCBjaGFuZ2VzIGZyb20gYWxsIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiIgogIsOEbmRlcnVuZ2VuIHZvbiBhbGxlbiB2ZXJzaW9uaWVydGVuIHVuZCB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9hZGQuYzozMDIKKyM6IGJ1aWx0aW4vYWRkLmM6MzIxCiBtc2dpZCAiaWdub3JlIHBhdGhzIHJlbW92ZWQgaW4gdGhlIHdvcmtpbmcgdHJlZSAoc2FtZSBhcyAtLW5vLWFsbCkiCiBtc2dzdHIgImdlbMO2c2NodGUgUGZhZGUgaW0gQXJiZWl0c3ZlcnplaWNobmlzIGlnbm9yaWVyZW4gKGdlbmF1IHdpZSAtLW5vLWFsbCkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA0CisjOiBidWlsdGluL2FkZC5jOjMyMwogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAibmljaHRzIGhpbnp1ZsO8Z2VuLCBudXIgZGVuIEluZGV4IGFrdHVhbGlzaWVyZW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA1CisjOiBidWlsdGluL2FkZC5jOjMyNAogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCiBtc2dzdHIgIiIKICJEYXRlaWVuIMO8YmVyc3ByaW5nZW4sIGRpZSBhdWZncnVuZCB2b24gRmVobGVybiBuaWNodCBoaW56dWdlZsO8Z3Qgd2VyZGVuICIKICJrb25udGVuIgogCi0jOiBidWlsdGluL2FkZC5jOjMwNgorIzogYnVpbHRpbi9hZGQuYzozMjUKIG1zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCiBtc2dzdHIgInByw7xmZW4gb2IgLSBhdWNoIGZlaGxlbmRlIC0gRGF0ZWllbiBpbSBQcm9iZWxhdWYgaWdub3JpZXJ0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9hZGQuYzozMDggYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTAKKyM6IGJ1aWx0aW4vYWRkLmM6MzI3IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNAogbXNnaWQgIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIgogbXNnc3RyICJkYXMgXCJhdXNmw7xocmJhclwiLUJpdCBkZXIgYXVmZ2VsaXN0ZXRlbiBEYXRlaWVuIMO8YmVyc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2FkZC5jOjMxMAorIzogYnVpbHRpbi9hZGQuYzozMjkKIG1zZ2lkICJ3YXJuIHdoZW4gYWRkaW5nIGFuIGVtYmVkZGVkIHJlcG9zaXRvcnkiCiBtc2dzdHIgIndhcm5lbiB3ZW5uIGVpbmdlYmV0dGV0ZXMgUmVwb3NpdG9yeSBoaW56dWdlZsO8Z3Qgd2lyZCIKIAotIzogYnVpbHRpbi9hZGQuYzozMjUKKyM6IGJ1aWx0aW4vYWRkLmM6MzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UndmUgYWRkZWQgYW5vdGhlciBnaXQgcmVwb3NpdG9yeSBpbnNpZGUgeW91ciBjdXJyZW50IHJlcG9zaXRvcnkuXG4iCkBAIC03NDQ1LDE1NiArOTI4NywxNzYgQEAKICJcbiIKICJTaWVoZSBcImdpdCBoZWxwIHN1Ym1vZHVsZVwiIGbDvHIgd2VpdGVyZSBJbmZvcm1hdGlvbmVuLiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTMKKyM6IGJ1aWx0aW4vYWRkLmM6Mzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZGluZyBlbWJlZGRlZCBnaXQgcmVwb3NpdG9yeTogJXMiCiBtc2dzdHIgIkbDvGdlIGVpbmdlYmV0dGV0ZXMgUmVwb3NpdG9yeSBoaW56dTogJXMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzcxCisjOiBidWlsdGluL2FkZC5jOjM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCB0aGVtLlxuIgogbXNnc3RyICJWZXJ3ZW5kZW4gU2llIC1mIHdlbm4gU2llIGRpZXNlIHdpcmtsaWNoIGhpbnp1ZsO8Z2VuIG3DtmNodGVuLlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjM3OQorIzogYnVpbHRpbi9hZGQuYzo0MDAKIG1zZ2lkICJhZGRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICJIaW56dWbDvGdlbiB2b24gRGF0ZWllbiBmZWhsZ2VzY2hsYWdlbiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MTcKKyM6IGJ1aWx0aW4vYWRkLmM6NDI4IGJ1aWx0aW4vY29tbWl0LmM6MzQ4Cittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIgorbXNnc3RyICIiCisiRGllIE9wdGlvbmVuIC0tcGF0aHNwZWMtZnJvbS1maWxlIHVuZCAtLWludGVyYWN0aXZlLy0tcGF0Y2ggc2luZCAiCisiaW5rb21wYXRpYmVsLiIKKworIzogYnVpbHRpbi9hZGQuYzo0MzQKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWVkaXQiCittc2dzdHIgIkRpZSBPcHRpb25lbiAtLXBhdGhzcGVjLWZyb20tZmlsZSB1bmQgLS1lZGl0IHNpbmQgaW5rb21wYXRpYmVsLiIKKworIzogYnVpbHRpbi9hZGQuYzo0NDYKIG1zZ2lkICItQSBhbmQgLXUgYXJlIG11dHVhbGx5IGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiRGllIE9wdGlvbmVuIC1BIHVuZCAtdSBzaW5kIHp1ZWluYW5kZXIgaW5rb21wYXRpYmVsLiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MjQKKyM6IGJ1aWx0aW4vYWRkLmM6NDQ5CiBtc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBrYW5uIG51ciB6dXNhbW1lbiBtaXQgLS1kcnktcnVuIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2FkZC5jOjQyOAorIzogYnVpbHRpbi9hZGQuYzo0NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1jaG1vZCBwYXJhbSAnJXMnIG11c3QgYmUgZWl0aGVyIC14IG9yICt4IgogbXNnc3RyICItLWNobW9kIFBhcmFtZXRlciAnJXMnIG11c3MgZW50d2VkZXIgLXggb2RlciAreCBzZWluIgogCi0jOiBidWlsdGluL2FkZC5jOjQ0MworIzogYnVpbHRpbi9hZGQuYzo0NzEgYnVpbHRpbi9jaGVja291dC5jOjE2NDggYnVpbHRpbi9jb21taXQuYzozNTQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMjcKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCBwYXRoc3BlYyBhcmd1bWVudHMiCittc2dzdHIgIiIKKyJEaWUgT3B0aW9uIC0tcGF0aHNwZWMtZnJvbS1maWxlIGlzdCBpbmtvbXBhdGliZWwgbWl0XG4iCisiUGZhZHNwZXppZmlrYXRpb24tQXJndW1lbnRlbi4iCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDc4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjYwIGJ1aWx0aW4vY29tbWl0LmM6MzYwCisjOiBidWlsdGluL3Jlc2V0LmM6MzMzCittc2dpZCAiLS1wYXRoc3BlYy1maWxlLW51bCByZXF1aXJlcyAtLXBhdGhzcGVjLWZyb20tZmlsZSIKK21zZ3N0ciAiRGllIE9wdGlvbiAtLXBhdGhzcGVjLWZpbGUtbnVsIGJlbsO2dGlndCAtLXBhdGhzcGVjLWZyb20tZmlsZSIKKworIzogYnVpbHRpbi9hZGQuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgIk5pY2h0cyBzcGV6aWZpemllcnQsIG5pY2h0cyBoaW56dWdlZsO8Z3QuXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDQ0CisjOiBidWlsdGluL2FkZC5jOjQ4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAiTWVpbnRlbiBTaWUgdmllbGxlaWNodCAnZ2l0IGFkZCAuJz9cbiIKIAotIzogYnVpbHRpbi9hbS5jOjM2MworIzogYnVpbHRpbi9hbS5jOjM0NwogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBhdXRob3Igc2NyaXB0IgogbXNnc3RyICJrb25udGUgQXV0b3ItU2tyaXB0IG5pY2h0IHBhcnNlbiIKIAotIzogYnVpbHRpbi9hbS5jOjQ0NworIzogYnVpbHRpbi9hbS5jOjQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIHdhcyBkZWxldGVkIGJ5IHRoZSBhcHBseXBhdGNoLW1zZyBob29rIgogbXNnc3RyICInJXMnIHd1cmRlIGR1cmNoIGRlbiBhcHBseXBhdGNoLW1zZyBIb29rIGVudGZlcm50IgogCi0jOiBidWlsdGluL2FtLmM6NDg4CisjOiBidWlsdGluL2FtLmM6NDczCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKIG1zZ3N0ciAiRmVobGVyaGFmdGUgRWluZ2FiZXplaWxlOiAnJXMnLiIKIAotIzogYnVpbHRpbi9hbS5jOjUyNQorIzogYnVpbHRpbi9hbS5jOjUxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gS29waWVyZW4gZGVyIE5vdGl6ZW4gdm9uICclcycgbmFjaCAnJXMnIgogCi0jOiBidWlsdGluL2FtLmM6NTUxCisjOiBidWlsdGluL2FtLmM6NTM3CiBtc2dpZCAiZnNlZWsgZmFpbGVkIgogbXNnc3RyICJcImZzZWVrXCIgZmVobGdlc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo3MzkKKyM6IGJ1aWx0aW4vYW0uYzo3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHBhdGNoICclcyciCiBtc2dzdHIgImtvbm50ZSBQYXRjaCAnJXMnIG5pY2h0IHBhcnNlbiIKIAotIzogYnVpbHRpbi9hbS5jOjgwNAorIzogYnVpbHRpbi9hbS5jOjc5MAogbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgogbXNnc3RyICJFcyBrYW5uIG51ciBlaW5lIFN0R0lUIFBhdGNoLVNlcmllIGF1ZiBlaW5tYWwgYW5nZXdlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2FtLmM6ODUyCisjOiBidWlsdGluL2FtLmM6ODM4CiBtc2dpZCAiaW52YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgInVuZ8O8bHRpZ2VyIFplaXRzdGVtcGVsIgogCi0jOiBidWlsdGluL2FtLmM6ODU3IGJ1aWx0aW4vYW0uYzo4NjkKKyM6IGJ1aWx0aW4vYW0uYzo4NDMgYnVpbHRpbi9hbS5jOjg1NQogbXNnaWQgImludmFsaWQgRGF0ZSBsaW5lIgogbXNnc3RyICJVbmfDvGx0aWdlIFwiRGF0ZVwiLVplaWxlIgogCi0jOiBidWlsdGluL2FtLmM6ODY0CisjOiBidWlsdGluL2FtLmM6ODUwCiBtc2dpZCAiaW52YWxpZCB0aW1lem9uZSBvZmZzZXQiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIE9mZnNldCBpbiBkZXIgWmVpdHpvbmUiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5NTcKKyM6IGJ1aWx0aW4vYW0uYzo5NDMKIG1zZ2lkICJQYXRjaCBmb3JtYXQgZGV0ZWN0aW9uIGZhaWxlZC4iCiBtc2dzdHIgIlBhdGNoLUZvcm1hdGVya2VubnVuZyBmZWhsZ2VzY2hsYWdlbi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo5NjIgYnVpbHRpbi9jbG9uZS5jOjQwOAorIzogYnVpbHRpbi9hbS5jOjk0OCBidWlsdGluL2Nsb25lLmM6NDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIEVyc3RlbGxlbiB2b24gVmVyemVpY2huaXMgJyVzJyIKIAotIzogYnVpbHRpbi9hbS5jOjk2NworIzogYnVpbHRpbi9hbS5jOjk1MwogbXNnaWQgIkZhaWxlZCB0byBzcGxpdCBwYXRjaGVzLiIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gQXVmdGVpbGVuIGRlciBQYXRjaGVzLiIKIAotIzogYnVpbHRpbi9hbS5jOjEwOTcgYnVpbHRpbi9jb21taXQuYzozNjkKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgaW5kZXggZmlsZSIKLW1zZ3N0ciAiS29ubnRlIEluZGV4LURhdGVpIG5pY2h0IHNjaHJlaWJlbi4iCi0KLSM6IGJ1aWx0aW4vYW0uYzoxMTExCisjOiBidWlsdGluL2FtLmM6MTA4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiJXMgLS1jb250aW51ZVwiLiIKIG1zZ3N0ciAiIgogIldlbm4gU2llIGRhcyBQcm9ibGVtIGF1ZmdlbMO2c3QgaGFiZW4sIGbDvGhyZW4gU2llIFwiJXMgLS1jb250aW51ZVwiIGF1cy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTEyCisjOiBidWlsdGluL2FtLmM6MTA4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiJXMgLS1za2lwXCIgaW5zdGVhZC4iCiBtc2dzdHIgIiIKICJGYWxscyBTaWUgZGllc2VuIFBhdGNoIGF1c2xhc3NlbiBtw7ZjaHRlbiwgZsO8aHJlbiBTaWUgc3RhdHRkZXNzZW4gXCIlcyAtLXNraXAiCiAiXCIgYXVzLiIKIAotIzogYnVpbHRpbi9hbS5jOjExMTMKKyM6IGJ1aWx0aW4vYW0uYzoxMDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuIFwiJXMgLS1hYm9ydFwiLiIKIG1zZ3N0ciAiIgogIlVtIGRlbiB1cnNwcsO8bmdsaWNoZW4gQnJhbmNoIHdpZWRlcmhlcnp1c3RlbGxlbiB1bmQgZGllIEFud2VuZHVuZyBkZXIgIgogIlBhdGNoZXMgYWJ6dWJyZWNoZW4sIGbDvGhyZW4gU2llIFwiJXMgLS1hYm9ydFwiIGF1cy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTk2CisjOiBidWlsdGluL2FtLmM6MTE2OQogbXNnaWQgIlBhdGNoIHNlbnQgd2l0aCBmb3JtYXQ9Zmxvd2VkOyBzcGFjZSBhdCB0aGUgZW5kIG9mIGxpbmVzIG1pZ2h0IGJlIGxvc3QuIgotbXNnc3RyICJQYXRjaCBtaXQgZm9ybWF0PWZsb3dlZCB2ZXJzZW5kZXQ7IExlZXJ6ZWljaGVuIGFtIEVuZGUgdm9uIFplaWxlbiBrw7ZubnRlIHZlcmxvcmVuIGdlaGVuLiIKK21zZ3N0ciAiIgorIlBhdGNoIG1pdCBmb3JtYXQ9Zmxvd2VkIHZlcnNlbmRldDsgTGVlcnplaWNoZW4gYW0gRW5kZSB2b24gWmVpbGVuIGvDtm5udGUgIgorInZlcmxvcmVuIGdlaGVuLiIKIAotIzogYnVpbHRpbi9hbS5jOjEyMjQKKyM6IGJ1aWx0aW4vYW0uYzoxMTk3CiBtc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICJQYXRjaCBpc3QgbGVlci4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMjkwCisjOiBidWlsdGluL2FtLmM6MTI2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIGF1dGhvciBsaW5lIGluIGNvbW1pdCAlcyIKK21zZ3N0ciAiQXV0b3ItWmVpbGUgZmVobHQgaW4gQ29tbWl0ICVzIgorCisjOiBidWlsdGluL2FtLmM6MTI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICUuKnMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgSWRlbnRpZmlrYXRpb25zemVpbGU6ICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMzEyCi0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgJXMiCi1tc2dzdHIgIktvbm50ZSBDb21taXQgJyVzJyBuaWNodCBwYXJzZW4uIgotCi0jOiBidWlsdGluL2FtLmM6MTUwOAorIzogYnVpbHRpbi9hbS5jOjE0ODQKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIG5lY2Vzc2FyeSBibG9icyB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIgogbXNnc3RyICIiCiAiRGVtIFJlcG9zaXRvcnkgZmVobGVuIG5vdHdlbmRpZ2UgQmxvYnMgdW0gYXVmIGVpbmVuIDMtV2VnZS1NZXJnZSAiCiAienVyw7xja3p1ZmFsbGVuLiIKIAotIzogYnVpbHRpbi9hbS5jOjE1MTAKKyM6IGJ1aWx0aW4vYW0uYzoxNDg2CiBtc2dpZCAiVXNpbmcgaW5kZXggaW5mbyB0byByZWNvbnN0cnVjdCBhIGJhc2UgdHJlZS4uLiIKIG1zZ3N0ciAiIgogIlZlcndlbmRlIEluZm9ybWF0aW9uZW4gYXVzIGRlciBTdGFnaW5nLUFyZWEsIHVtIGVpbiBCYXNpc3ZlcnplaWNobmlzICIKICJuYWNoenVzdGVsbGVuIC4uLiIKIAotIzogYnVpbHRpbi9hbS5jOjE1MjkKKyM6IGJ1aWx0aW4vYW0uYzoxNTA1CiBtc2dpZCAiIgogIkRpZCB5b3UgaGFuZCBlZGl0IHlvdXIgcGF0Y2g/XG4iCiAiSXQgZG9lcyBub3QgYXBwbHkgdG8gYmxvYnMgcmVjb3JkZWQgaW4gaXRzIGluZGV4LiIKQEAgLTc2MDIsMzAgKzk0NjQsMjQgQEAKICJIYWJlbiBTaWUgZGVuIFBhdGNoIHBlciBIYW5kIGVkaXRpZXJ0P1xuIgogIkVyIGthbm4gbmljaHQgYXVmIGRpZSBCbG9icyBpbiBzZWluZXIgJ2luZGV4JyBaZWlsZSBhbmdld2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNTM1CisjOiBidWlsdGluL2FtLmM6MTUxMQogbXNnaWQgIkZhbGxpbmcgYmFjayB0byBwYXRjaGluZyBiYXNlIGFuZCAzLXdheSBtZXJnZS4uLiIKIG1zZ3N0ciAiRmFsbGUgenVyw7xjayB6dW0gUGF0Y2hlbiBkZXIgQmFzaXMgdW5kIHp1bSAzLVdlZ2UtTWVyZ2UgLi4uIgogCi0jOiBidWlsdGluL2FtLmM6MTU2MQorIzogYnVpbHRpbi9hbS5jOjE1MzcKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2UgaW4gdGhlIGNoYW5nZXMuIgogbXNnc3RyICJNZXJnZSBkZXIgw4RuZGVydW5nZW4gZmVobGdlc2NobGFnZW4uIgogCi0jOiBidWlsdGluL2FtLmM6MTU5MworIzogYnVpbHRpbi9hbS5jOjE1NjkKIG1zZ2lkICJhcHBseWluZyB0byBhbiBlbXB0eSBoaXN0b3J5IgogbXNnc3RyICJhdWYgbGVlcmUgSGlzdG9yaWUgYW53ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjM5IGJ1aWx0aW4vYW0uYzoxNjQzCisjOiBidWlsdGluL2FtLmM6MTYxNiBidWlsdGluL2FtLmM6MTYyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzdW1lOiAlcyBkb2VzIG5vdCBleGlzdC4iCiBtc2dzdHIgIkthbm4gbmljaHQgZm9ydHNldHplbjogJXMgZXhpc3RpZXJ0IG5pY2h0IgogCi0jOiBidWlsdGluL2FtLmM6MTY1OQotbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKLW1zZ3N0ciAiIgotIkthbm4gbmljaHQgaW50ZXJha3RpdiBzZWluLCBvaG5lIGRhc3MgZGllIFN0YW5kYXJkLUVpbmdhYmUgbWl0IGVpbmVtICIKLSJUZXJtaW5hbCB2ZXJidW5kZW4gaXN0LiIKLQotIzogYnVpbHRpbi9hbS5jOjE2NjQKKyM6IGJ1aWx0aW4vYW0uYzoxNjM4CiBtc2dpZCAiQ29tbWl0IEJvZHkgaXM6IgogbXNnc3RyICJDb21taXQtQmVzY2hyZWlidW5nIGlzdDoiCiAKQEAgLTc2MzMsMzYgKzk0ODksNDEgQEAKICMuIGluIHlvdXIgdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaAogIy4gaW5wdXQgYXQgdGhpcyBwb2ludC4KICMuCi0jOiBidWlsdGluL2FtLmM6MTY3NAorIzogYnVpbHRpbi9hbS5jOjE2NDgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHk/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGw6ICIKIG1zZ3N0ciAiQW53ZW5kZW4/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGw6ICIKIAotIzogYnVpbHRpbi9hbS5jOjE3MjQKKyM6IGJ1aWx0aW4vYW0uYzoxNjk1IGJ1aWx0aW4vY29tbWl0LmM6Mzk0Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGluZGV4IGZpbGUiCittc2dzdHIgIktvbm50ZSBJbmRleC1EYXRlaSBuaWNodCBzY2hyZWliZW4uIgorCisjOiBidWlsdGluL2FtLmM6MTY5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJ0eSBpbmRleDogY2Fubm90IGFwcGx5IHBhdGNoZXMgKGRpcnR5OiAlcykiCiBtc2dzdHIgIkdlw6RuZGVydGVyIEluZGV4OiBrYW5uIFBhdGNoZXMgbmljaHQgYW53ZW5kZW4gKGdlw6RuZGVydDogJXMpIgogCi0jOiBidWlsdGluL2FtLmM6MTc2NCBidWlsdGluL2FtLmM6MTgzMgorIzogYnVpbHRpbi9hbS5jOjE3MzkgYnVpbHRpbi9hbS5jOjE4MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmc6ICUuKnMiCiBtc2dzdHIgIldlbmRlIGFuOiAlLipzIgogCi0jOiBidWlsdGluL2FtLmM6MTc4MQorIzogYnVpbHRpbi9hbS5jOjE3NTYKIG1zZ2lkICJObyBjaGFuZ2VzIC0tIFBhdGNoIGFscmVhZHkgYXBwbGllZC4iCiBtc2dzdHIgIktlaW5lIMOEbmRlcnVuZ2VuIC0tIFBhdGNoZXMgYmVyZWl0cyBhbmdld2VuZGV0LiIKIAotIzogYnVpbHRpbi9hbS5jOjE3ODcKKyM6IGJ1aWx0aW4vYW0uYzoxNzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhdGNoIGZhaWxlZCBhdCAlcyAlLipzIgogbXNnc3RyICJBbndlbmR1bmcgZGVzIFBhdGNoZXMgZmVobGdlc2NobGFnZW4gYmVpICVzICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzkxCisjOiBidWlsdGluL2FtLmM6MTc2NgogbXNnaWQgIlVzZSAnZ2l0IGFtIC0tc2hvdy1jdXJyZW50LXBhdGNoJyB0byBzZWUgdGhlIGZhaWxlZCBwYXRjaCIKIG1zZ3N0ciAiIgogIkJlbnV0emVuIFNpZSAnZ2l0IGFtIC0tc2hvdy1jdXJyZW50LXBhdGNoJywgdW0gZGVuXG4iCiAiZmVobGdlc2NobGFnZW5lbiBQYXRjaCB6dSBzZWhlbi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODM1CisjOiBidWlsdGluL2FtLmM6MTgxMAogbXNnaWQgIiIKICJObyBjaGFuZ2VzIC0gZGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz9cbiIKICJJZiB0aGVyZSBpcyBub3RoaW5nIGxlZnQgdG8gc3RhZ2UsIGNoYW5jZXMgYXJlIHRoYXQgc29tZXRoaW5nIGVsc2VcbiIKQEAgLTc2NzMsNyArOTUzNCw3IEBACiAiZGllc2UgYmVyZWl0cyBhbmRlcndlaXRpZyBlaW5nZWbDvGd0IHdvcmRlbiBzZWluOyBTaWUga8O2bm50ZW4gZGllc2VuIFBhdGNoXG4iCiAiYXVzbGFzc2VuLiIKIAotIzogYnVpbHRpbi9hbS5jOjE4NDIKKyM6IGJ1aWx0aW4vYW0uYzoxODE3CiBtc2dpZCAiIgogIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCiAiWW91IHNob3VsZCAnZ2l0IGFkZCcgZWFjaCBmaWxlIHdpdGggcmVzb2x2ZWQgY29uZmxpY3RzIHRvIG1hcmsgdGhlbSBhcyAiCkBAIC03Njg2LDE3ICs5NTQ3LDE3IEBACiAiU2llIGvDtm5uZW4gJ2dpdCBybScgYXVmIERhdGVpZW4gYXVzZsO8aHJlbiwgdW0gXCJ2b24gZGVuZW4gZ2Vsw7ZzY2h0XCIgZsO8clxuIgogImRpZXNlIHp1IGFremVwdGllcmVuLiIKIAotIzogYnVpbHRpbi9hbS5jOjE5NDkgYnVpbHRpbi9hbS5jOjE5NTMgYnVpbHRpbi9hbS5jOjE5NjUgYnVpbHRpbi9yZXNldC5jOjMyOAotIzogYnVpbHRpbi9yZXNldC5jOjMzNgorIzogYnVpbHRpbi9hbS5jOjE5MjQgYnVpbHRpbi9hbS5jOjE5MjggYnVpbHRpbi9hbS5jOjE5NDAgYnVpbHRpbi9yZXNldC5jOjM0NgorIzogYnVpbHRpbi9yZXNldC5jOjM1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgogbXNnc3RyICJLb25udGUgT2JqZWt0ICclcycgbmljaHQgcGFyc2VuLiIKIAotIzogYnVpbHRpbi9hbS5jOjIwMDEKKyM6IGJ1aWx0aW4vYW0uYzoxOTc2CiBtc2dpZCAiZmFpbGVkIHRvIGNsZWFuIGluZGV4IgogbXNnc3RyICJGZWhsZXIgYmVpbSBCZXJlaW5pZ2VuIGRlcyBJbmRleCIKIAotIzogYnVpbHRpbi9hbS5jOjIwMzYKKyM6IGJ1aWx0aW4vYW0uYzoyMDIwCiBtc2dpZCAiIgogIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRCBzaW5jZSB0aGUgbGFzdCAnYW0nIGZhaWx1cmUuXG4iCiAiTm90IHJld2luZGluZyB0byBPUklHX0hFQUQiCkBAIC03NzA0LDE0NCArOTU2NSwxNDQgQEAKICJTaWUgc2NoZWluZW4gc2VpdCBkZW0gbGV0enRlbiBnZXNjaGVpdGVydGVuICdhbScgSEVBRCBnZcOkbmRlcnQgenUgaGFiZW4uXG4iCiAiS2VpbmUgWnVyw7xja3NldHp1bmcgenUgT1JJR19IRUFELiIKIAotIzogYnVpbHRpbi9hbS5jOjIxMjkKKyM6IGJ1aWx0aW4vYW0uYzoyMTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIC0tcGF0Y2gtZm9ybWF0OiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgV2VydCBmw7xyIC0tcGF0Y2gtZm9ybWF0OiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjIxNjUKKyM6IGJ1aWx0aW4vYW0uYzoyMTUzCiBtc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KS4uLl0iCiBtc2dzdHIgImdpdCBhbSBbPE9wdGlvbmVuPl0gWyg8bWJveD4gfCA8RS1NYWlsLVZlcnplaWNobmlzPikuLi5dIgogCi0jOiBidWlsdGluL2FtLmM6MjE2NgorIzogYnVpbHRpbi9hbS5jOjIxNTQKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIG1zZ3N0ciAiZ2l0IGFtIFs8T3B0aW9uZW4+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgogCi0jOiBidWlsdGluL2FtLmM6MjE3MgorIzogYnVpbHRpbi9hbS5jOjIxNjAKIG1zZ2lkICJydW4gaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAiaW50ZXJha3RpdiBhdXNmw7xocmVuIgogCi0jOiBidWlsdGluL2FtLmM6MjE3NAorIzogYnVpbHRpbi9hbS5jOjIxNjIKIG1zZ2lkICJoaXN0b3JpY2FsIG9wdGlvbiAtLSBuby1vcCIKIG1zZ3N0ciAiaGlzdG9yaXNjaGUgT3B0aW9uIC0tIGtlaW4gRWZmZWt0IgogCi0jOiBidWlsdGluL2FtLmM6MjE3NgorIzogYnVpbHRpbi9hbS5jOjIxNjQKIG1zZ2lkICJhbGxvdyBmYWxsIGJhY2sgb24gM3dheSBtZXJnaW5nIGlmIG5lZWRlZCIKIG1zZ3N0ciAiZXJsYXViZSwgZmFsbHMgbm90d2VuZGlnLCBkYXMgWnVyw7xja2ZhbGxlbiBhdWYgZWluZW4gMy1XZWdlLU1lcmdlIgogCi0jOiBidWlsdGluL2FtLmM6MjE3NyBidWlsdGluL2luaXQtZGIuYzo0ODYgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1OAotIzogYnVpbHRpbi9yZXBhY2suYzozMDYKKyM6IGJ1aWx0aW4vYW0uYzoyMTY1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NCBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU4CisjOiBidWlsdGluL3JlcGFjay5jOjMwNCBidWlsdGluL3N0YXNoLmM6ODExCiBtc2dpZCAiYmUgcXVpZXQiCiBtc2dzdHIgIndlbmlnZXIgQXVzZ2FiZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTc5CisjOiBidWlsdGluL2FtLmM6MjE2NwogbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnkgbGluZSB0byB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgImRlciBDb21taXQtQmVzY2hyZWlidW5nIGVpbmUgU2lnbmVkLW9mZi1ieSBaZWlsZSBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9hbS5jOjIxODIKKyM6IGJ1aWx0aW4vYW0uYzoyMTcwCiBtc2dpZCAicmVjb2RlIGludG8gdXRmOCAoZGVmYXVsdCkiCiBtc2dzdHIgIm5hY2ggVVRGLTggdW1rb2RpZXJlbiAoU3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2FtLmM6MjE4NAorIzogYnVpbHRpbi9hbS5jOjIxNzIKIG1zZ2lkICJwYXNzIC1rIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICItayBhbiBnaXQtbWFpbGluZm8gw7xiZXJnZWJlbiIKIAotIzogYnVpbHRpbi9hbS5jOjIxODYKKyM6IGJ1aWx0aW4vYW0uYzoyMTc0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAiLWIgYW4gZ2l0LW1haWxpbmZvIMO8YmVyZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTg4CisjOiBidWlsdGluL2FtLmM6MjE3NgogbXNnaWQgInBhc3MgLW0gZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgIi1tIGFuIGdpdC1tYWlsaW5mbyDDvGJlcmdlYmVuIgogCi0jOiBidWlsdGluL2FtLmM6MjE5MAorIzogYnVpbHRpbi9hbS5jOjIxNzgKIG1zZ2lkICJwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgZm9yIG1ib3ggZm9ybWF0IgogbXNnc3RyICItLWtlZXAtY3IgYW4gZ2l0LW1haWxzcGxpdCBmw7xyIG1ib3gtRm9ybWF0IMO8YmVyZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTkzCisjOiBidWlsdGluL2FtLmM6MjE4MQogbXNnaWQgImRvIG5vdCBwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgaW5kZXBlbmRlbnQgb2YgYW0ua2VlcGNyIgogbXNnc3RyICJrZWluIC0ta2VlcC1jciBhbiBnaXQtbWFpbHNwbGl0IMO8YmVyZ2ViZW4sIHVuYWJow6RuZ2lnIHZvbiBhbS5rZWVwY3IiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTk2CisjOiBidWlsdGluL2FtLmM6MjE4NAogbXNnaWQgInN0cmlwIGV2ZXJ5dGhpbmcgYmVmb3JlIGEgc2Npc3NvcnMgbGluZSIKIG1zZ3N0ciAiYWxsZXMgdm9yIGVpbmVyIFNjaGVyZW4tWmVpbGUgZW50ZmVybmVuIgogCisjOiBidWlsdGluL2FtLmM6MjE4NiBidWlsdGluL2FtLmM6MjE4OSBidWlsdGluL2FtLmM6MjE5MiBidWlsdGluL2FtLmM6MjE5NQogIzogYnVpbHRpbi9hbS5jOjIxOTggYnVpbHRpbi9hbS5jOjIyMDEgYnVpbHRpbi9hbS5jOjIyMDQgYnVpbHRpbi9hbS5jOjIyMDcKLSM6IGJ1aWx0aW4vYW0uYzoyMjEwIGJ1aWx0aW4vYW0uYzoyMjEzIGJ1aWx0aW4vYW0uYzoyMjE2IGJ1aWx0aW4vYW0uYzoyMjE5Ci0jOiBidWlsdGluL2FtLmM6MjIyNQorIzogYnVpbHRpbi9hbS5jOjIyMTMKIG1zZ2lkICJwYXNzIGl0IHRocm91Z2ggZ2l0LWFwcGx5IgogbXNnc3RyICJhbiBnaXQtYXBwbHkgw7xiZXJnZWJlbiIKIAotIzogYnVpbHRpbi9hbS5jOjIyMTUgYnVpbHRpbi9jb21taXQuYzoxMzQwIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MQotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc0IGJ1aWx0aW4vZ3JlcC5jOjg2OCBidWlsdGluL21lcmdlLmM6MjM5Ci0jOiBidWlsdGluL3B1bGwuYzoxNTEgYnVpbHRpbi9wdWxsLmM6MjA5IGJ1aWx0aW4vcmViYXNlLmM6ODU0Ci0jOiBidWlsdGluL3JlcGFjay5jOjMxNyBidWlsdGluL3JlcGFjay5jOjMyMSBidWlsdGluL3JlcGFjay5jOjMyMwotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MSBidWlsdGluL3Nob3ctcmVmLmM6MTcxIGJ1aWx0aW4vdGFnLmM6Mzg2Ci0jOiBwYXJzZS1vcHRpb25zLmg6MTQ0IHBhcnNlLW9wdGlvbnMuaDoxNDYgcGFyc2Utb3B0aW9ucy5oOjI2OAorIzogYnVpbHRpbi9hbS5jOjIyMDMgYnVpbHRpbi9jb21taXQuYzoxMzg2IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc2IGJ1aWx0aW4vZ3JlcC5jOjg4MyBidWlsdGluL21lcmdlLmM6MjQ5CisjOiBidWlsdGluL3B1bGwuYzoxNjAgYnVpbHRpbi9wdWxsLmM6MjE5IGJ1aWx0aW4vcmViYXNlLmM6MTQ2OQorIzogYnVpbHRpbi9yZXBhY2suYzozMTUgYnVpbHRpbi9yZXBhY2suYzozMTkgYnVpbHRpbi9yZXBhY2suYzozMjEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAgYnVpbHRpbi9zaG93LXJlZi5jOjE3MiBidWlsdGluL3RhZy5jOjQwMworIzogcGFyc2Utb3B0aW9ucy5oOjE1NCBwYXJzZS1vcHRpb25zLmg6MTc1IHBhcnNlLW9wdGlvbnMuaDozMTYKIG1zZ2lkICJuIgogbXNnc3RyICJBbnphaGwiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjIxIGJ1aWx0aW4vYnJhbmNoLmM6NjM3IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzgKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0NCBidWlsdGluL3RhZy5jOjQyMiBidWlsdGluL3ZlcmlmeS10YWcuYzozOQorIzogYnVpbHRpbi9hbS5jOjIyMDkgYnVpbHRpbi9icmFuY2guYzo2NjEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU1IGJ1aWx0aW4vdGFnLmM6NDM3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICJGb3JtYXQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjIyCisjOiBidWlsdGluL2FtLmM6MjIxMAogbXNnaWQgImZvcm1hdCB0aGUgcGF0Y2goZXMpIGFyZSBpbiIKIG1zZ3N0ciAiUGF0Y2gtRm9ybWF0IgogCi0jOiBidWlsdGluL2FtLmM6MjIyOAorIzogYnVpbHRpbi9hbS5jOjIyMTYKIG1zZ2lkICJvdmVycmlkZSBlcnJvciBtZXNzYWdlIHdoZW4gcGF0Y2ggZmFpbHVyZSBvY2N1cnMiCiBtc2dzdHIgIk1lbGR1bmcgYmVpIGZlaGxlcmhhZnRlciBQYXRjaC1BbndlbmR1bmcgw7xiZXJzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjMwCisjOiBidWlsdGluL2FtLmM6MjIxOAogbXNnaWQgImNvbnRpbnVlIGFwcGx5aW5nIHBhdGNoZXMgYWZ0ZXIgcmVzb2x2aW5nIGEgY29uZmxpY3QiCiBtc2dzdHIgIkFud2VuZHVuZyBkZXIgUGF0Y2hlcyBuYWNoIEF1ZmzDtnN1bmcgZWluZXMgS29uZmxpa3RlcyBmb3J0c2V0emVuIgogCi0jOiBidWlsdGluL2FtLmM6MjIzMworIzogYnVpbHRpbi9hbS5jOjIyMjEKIG1zZ2lkICJzeW5vbnltcyBmb3IgLS1jb250aW51ZSIKIG1zZ3N0ciAiU3lub255bWUgZsO8ciAtLWNvbnRpbnVlIgogCi0jOiBidWlsdGluL2FtLmM6MjIzNgorIzogYnVpbHRpbi9hbS5jOjIyMjQKIG1zZ2lkICJza2lwIHRoZSBjdXJyZW50IHBhdGNoIgogbXNnc3RyICJkZW4gYWt0dWVsbGVuIFBhdGNoIGF1c2xhc3NlbiIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzkKKyM6IGJ1aWx0aW4vYW0uYzoyMjI3CiBtc2dpZCAicmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBhYm9ydCB0aGUgcGF0Y2hpbmcgb3BlcmF0aW9uLiIKIG1zZ3N0ciAiIgogInVyc3Byw7xuZ2xpY2hlbiBCcmFuY2ggd2llZGVyaGVyc3RlbGxlbiB1bmQgQW53ZW5kdW5nIGRlciBQYXRjaGVzIGFiYnJlY2hlbiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDIKKyM6IGJ1aWx0aW4vYW0uYzoyMjMwCiBtc2dpZCAiYWJvcnQgdGhlIHBhdGNoaW5nIG9wZXJhdGlvbiBidXQga2VlcCBIRUFEIHdoZXJlIGl0IGlzLiIKIG1zZ3N0ciAiUGF0Y2gtT3BlcmF0aW9uIGFiYnJlY2hlbiwgYWJlciBIRUFEIGFuIGFrdHVlbGxlciBTdGVsbGUgYmVsYXNzZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ1CisjOiBidWlsdGluL2FtLmM6MjIzMwogbXNnaWQgInNob3cgdGhlIHBhdGNoIGJlaW5nIGFwcGxpZWQuIgogbXNnc3RyICJkZW4gUGF0Y2gsIGRlciBnZXJhZGUgYW5nZXdlbmRldCB3aXJkLCBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDkKKyM6IGJ1aWx0aW4vYW0uYzoyMjM3CiBtc2dpZCAibGllIGFib3V0IGNvbW1pdHRlciBkYXRlIgogbXNnc3RyICJBdXRvci1EYXR1bSBhbHMgQ29tbWl0LURhdHVtIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTEKKyM6IGJ1aWx0aW4vYW0uYzoyMjM5CiBtc2dpZCAidXNlIGN1cnJlbnQgdGltZXN0YW1wIGZvciBhdXRob3IgZGF0ZSIKIG1zZ3N0ciAiYWt0dWVsbGVuIFplaXRzdGVtcGVsIGFscyBBdXRvci1EYXR1bSB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUzIGJ1aWx0aW4vY29tbWl0LmM6MTQ4MyBidWlsdGluL21lcmdlLmM6MjczCi0jOiBidWlsdGluL3B1bGwuYzoxODQgYnVpbHRpbi9yZWJhc2UuYzo4OTggYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgzCi0jOiBidWlsdGluL3JldmVydC5jOjExMyBidWlsdGluL3RhZy5jOjQwMgorIzogYnVpbHRpbi9hbS5jOjIyNDEgYnVpbHRpbi9jb21taXQtdHJlZS5jOjEyMCBidWlsdGluL2NvbW1pdC5jOjE1MDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODYgYnVpbHRpbi9wdWxsLmM6MTk0IGJ1aWx0aW4vcmViYXNlLmM6NTA5CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MTMgYnVpbHRpbi9yZXZlcnQuYzoxMTcgYnVpbHRpbi90YWcuYzo0MTgKIG1zZ2lkICJrZXktaWQiCiBtc2dzdHIgIkdQRy1TY2hsw7xzc2Vsa2VubnVuZyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTQgYnVpbHRpbi9yZWJhc2UuYzo4OTkgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg0CisjOiBidWlsdGluL2FtLmM6MjI0MiBidWlsdGluL3JlYmFzZS5jOjUxMCBidWlsdGluL3JlYmFzZS5jOjE1MTQKIG1zZ2lkICJHUEctc2lnbiBjb21taXRzIgogbXNnc3RyICJDb21taXRzIG1pdCBHUEcgc2lnbmllcmVuIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NworIzogYnVpbHRpbi9hbS5jOjIyNDUKIG1zZ2lkICIoaW50ZXJuYWwgdXNlIGZvciBnaXQtcmViYXNlKSIKIG1zZ3N0ciAiKGludGVybiBmw7xyIGdpdC1yZWJhc2UgdmVyd2VuZGV0KSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNzUKKyM6IGJ1aWx0aW4vYW0uYzoyMjYzCiBtc2dpZCAiIgogIlRoZSAtYi8tLWJpbmFyeSBvcHRpb24gaGFzIGJlZW4gYSBuby1vcCBmb3IgbG9uZyB0aW1lLCBhbmRcbiIKICJpdCB3aWxsIGJlIHJlbW92ZWQuIFBsZWFzZSBkbyBub3QgdXNlIGl0IGFueW1vcmUuIgpAQCAtNzg0OSwxNiArOTcxMCwxNiBAQAogIkRpZSAtYi8tLWJpbmFyeSBPcHRpb24gaGF0IHNlaXQgTGFuZ2VtIGtlaW5lbiBFZmZla3QgdW5kIHdpcmRcbiIKICJlbnRmZXJudC4gQml0dGUgdmVyd2VuZGVuIFNpZSBkaWVzZSBuaWNodCBtZWhyLiIKIAotIzogYnVpbHRpbi9hbS5jOjIyODIKKyM6IGJ1aWx0aW4vYW0uYzoyMjcwCiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJGZWhsZXIgYmVpbSBMZXNlbiBkZXMgSW5kZXgiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk3CisjOiBidWlsdGluL2FtLmM6MjI4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmV2aW91cyByZWJhc2UgZGlyZWN0b3J5ICVzIHN0aWxsIGV4aXN0cyBidXQgbWJveCBnaXZlbi4iCiBtc2dzdHIgIlZvcmhlcmlnZXMgUmViYXNlLVZlcnplaWNobmlzICVzIGV4aXN0aWVydCBub2NoLCBhYmVyIG1ib3ggZ2VnZWJlbi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzIxCisjOiBidWlsdGluL2FtLmM6MjMwOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU3RyYXkgJXMgZGlyZWN0b3J5IGZvdW5kLlxuIgpAQCAtNzg2NywxMCArOTcyOCwxNCBAQAogIlN0cmF5ICVzIFZlcnplaWNobmlzIGdlZnVuZGVuLlxuIgogIkJlbnV0emVuIFNpZSBcImdpdCBhbSAtLWFib3J0XCIsIHVtIGVzIHp1IGVudGZlcm5lbi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzI3CisjOiBidWlsdGluL2FtLmM6MjMxNQogbXNnaWQgIlJlc29sdmUgb3BlcmF0aW9uIG5vdCBpbiBwcm9ncmVzcywgd2UgYXJlIG5vdCByZXN1bWluZy4iCiBtc2dzdHIgIkVzIGlzdCBrZWluZSBBdWZsw7ZzdW5nIGltIEdhbmdlLCBlcyB3aXJkIG5pY2h0IGZvcnRnZXNldHp0LiIKIAorIzogYnVpbHRpbi9hbS5jOjIzMjUKK21zZ2lkICJpbnRlcmFjdGl2ZSBtb2RlIHJlcXVpcmVzIHBhdGNoZXMgb24gdGhlIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiSW50ZXJha3RpdmVyIE1vZHVzIGJlbsO2dGlndCBQYXRjaGVzIMO8YmVyIGRpZSBLb21tYW5kb3plaWxlIgorCiAjOiBidWlsdGluL2FwcGx5LmM6OAogbXNnaWQgImdpdCBhcHBseSBbPG9wdGlvbnM+XSBbPHBhdGNoPi4uLl0iCiBtc2dzdHIgImdpdCBhcHBseSBbPE9wdGlvbmVuPl0gWzxQYXRjaD4uLi5dIgpAQCAtNzg4OCw4NiArOTc1MywzMDQgQEAKIG1zZ2lkICJnaXQgYXJjaGl2ZTogUmVtb3RlIHdpdGggbm8gVVJMIgogbXNnc3RyICJnaXQgYXJjaGl2ZTogRXh0ZXJuZXMgQXJjaGl2IG9obmUgVVJMIgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo1OAorIzogYnVpbHRpbi9hcmNoaXZlLmM6NjEKIG1zZ2lkICJnaXQgYXJjaGl2ZTogZXhwZWN0ZWQgQUNLL05BSywgZ290IGEgZmx1c2ggcGFja2V0IgogbXNnc3RyICJnaXQgYXJjaGl2ZTogQUNLL05BSyBlcndhcnRldCwgRmx1c2gtUGFrZXQgYmVrb21tZW4iCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjYxCisjOiBidWlsdGluL2FyY2hpdmUuYzo2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXJjaGl2ZTogTkFDSyAlcyIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmU6IE5BQ0sgJXMiCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY0CisjOiBidWlsdGluL2FyY2hpdmUuYzo2NQogbXNnaWQgImdpdCBhcmNoaXZlOiBwcm90b2NvbCBlcnJvciIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmU6IFByb3Rva29sbGZlaGxlciIKIAotIzogYnVpbHRpbi9hcmNoaXZlLmM6NjgKKyM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY5CiBtc2dpZCAiZ2l0IGFyY2hpdmU6IGV4cGVjdGVkIGEgZmx1c2giCiBtc2dzdHIgImdpdCBhcmNoaXZlOiBlcndhcnRldGUgZWluZSBTcMO8bHVuZyAoZmx1c2gpIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTIKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMgogbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLW5leHQtYWxsIFstLW5vLWNoZWNrb3V0XSIKIG1zZ3N0ciAiZ2l0IGJpc2VjdC0taGVscGVyIC0tbmV4dC1hbGwgWy0tbm8tY2hlY2tvdXRdIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTMKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMwogbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLXdyaXRlLXRlcm1zIDxiYWRfdGVybT4gPGdvb2RfdGVybT4iCiBtc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLXdyaXRlLXRlcm1zIDxiYWRfdGVybT4gPGdvb2RfdGVybT4iCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI0CiBtc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNsZWFuLXN0YXRlIgogbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2xlYW4tc3RhdGUiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo0NgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI1Cittc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXJlc2V0IFs8Y29tbWl0Pl0iCittc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1yZXNldCBbPENvbW1pdD5dIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjYKK21zZ2lkICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXdyaXRlIFstLW5vLWxvZ10gPHN0YXRlPiA8cmV2aXNpb24+IDxnb29kX3Rlcm0+ICIKKyI8YmFkX3Rlcm0+IgorbXNnc3RyICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXdyaXRlIFstLW5vLWxvZ10gPFp1c3RhbmQ+IDxSZXZpc2lvbj4gIgorIjxCZWdyaWZmX2d1dD4gPEJlZ3JpZmZfc2NobGVjaHQ+IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjcKK21zZ2lkICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNoZWNrLWFuZC1zZXQtdGVybXMgPGNvbW1hbmQ+IDxnb29kX3Rlcm0+ICIKKyI8YmFkX3Rlcm0+IgorbXNnc3RyICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNoZWNrLWFuZC1zZXQtdGVybXMgPEJlZmVobD4gPEJlZ3JpZmZfZ3V0PiAiCisiPEJlZ3JpZmZfc2NobGVjaHQ+IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjgKK21zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtbmV4dC1jaGVjayA8Z29vZF90ZXJtPiA8YmFkX3Rlcm0+IFs8dGVybT5dIgorbXNnc3RyICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LW5leHQtY2hlY2sgPEJlZ3JpZmZfZ3V0PiA8QmVncmlmZl9zY2hsZWNodD4gIgorIls8QmVncmlmZj5dIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjkKK21zZ2lkICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXRlcm1zIFstLXRlcm0tZ29vZCB8IC0tdGVybS1vbGQgfCAtLXRlcm0tYmFkIHwgLS0iCisidGVybS1uZXddIgorbXNnc3RyICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXRlcm1zIFstLXRlcm0tZ29vZCB8IC0tdGVybS1vbGQgfCAtLXRlcm0tYmFkIHwgLS0iCisidGVybS1uZXddIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzAKK21zZ2lkICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXN0YXJ0IFstLXRlcm0te29sZCxnb29kfT08dGVybT4gLS10ZXJtLXtuZXcsYmFkfSIKKyI9PHRlcm0+XVstLW5vLWNoZWNrb3V0XSBbPGJhZD4gWzxnb29kPi4uLl1dIFstLV0gWzxwYXRocz4uLi5dIgorbXNnc3RyICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXN0YXJ0IFstLXRlcm0te29sZCxnb29kfT08QmVncmlmZj4gLS10ZXJtLXtuZXcsIgorImJhZH09PEJlZ3JpZmY+XVstLW5vLWNoZWNrb3V0XSBbPHNjaGxlY2h0PiBbPGd1dD4uLi5dXSBbLS1dIFs8UGZhZGU+Li4uXSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGVybSIKIG1zZ3N0ciAiJyVzJyBpc3Qga2VpbiBnw7xsdGlnZXIgQmVncmlmZi4iCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1MAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IHVzZSB0aGUgYnVpbHRpbiBjb21tYW5kICclcycgYXMgYSB0ZXJtIgogbXNnc3RyICJLYW5uIGRlbiBlaW5nZWJhdXRlbiBCZWZlaGwgJyVzJyBuaWNodCBhbHMgQmVncmlmZiB2ZXJ3ZW5kZW4uIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjAKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3QgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSB0ZXJtICclcyciCiBtc2dzdHIgIkthbm4gZGllIEJlZGV1dHVuZyB2b24gZGVtIEJlZ3JpZmYgJyVzJyBuaWNodCDDpG5kZXJuLiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjcxCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTExCiBtc2dpZCAicGxlYXNlIHVzZSB0d28gZGlmZmVyZW50IHRlcm1zIgogbXNnc3RyICJCaXR0ZSB2ZXJ3ZW5kZW4gU2llIHp3ZWkgdmVyc2NoaWVkZW5lIEJlZ3JpZmZlLiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjc4CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTE4CiBtc2dpZCAiY291bGQgbm90IG9wZW4gdGhlIGZpbGUgQklTRUNUX1RFUk1TIgogbXNnc3RyICJLb25udGUgZGllIERhdGVpIEJJU0VDVF9URVJNUyBuaWNodCDDtmZmbmVuLiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyMAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJXZSBhcmUgbm90IGJpc2VjdGluZy5cbiIKK21zZ3N0ciAiS2VpbmUgYmluw6RyZSBTdWNoZSBpbSBHYW5nZS5cbiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE2MworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIGNvbW1pdCIKK21zZ3N0ciAiJyVzJyBpc3Qga2VpbiBnw7xsdGlnZXIgQ29tbWl0LiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE3MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY291bGQgbm90IGNoZWNrIG91dCBvcmlnaW5hbCBIRUFEICclcycuIFRyeSAnZ2l0IGJpc2VjdCByZXNldCA8Y29tbWl0PicuIgorbXNnc3RyICIiCisiS29ubnRlIGRlbiB1cnNwcsO8bmdsaWNoZW4gSEVBRCAnJXMnIG5pY2h0IGF1c2NoZWNrZW4uXG4iCisiVmVyc3VjaGVuIFNpZSAnZ2l0IGJpc2VjdCByZXNldCA8Q29tbWl0PicuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCBiaXNlY3Rfd3JpdGUgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJVbmfDvGx0aWdlcyBcImJpc2VjdF93cml0ZVwiIEFyZ3VtZW50OiAlcyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjIyMQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBnZXQgdGhlIG9pZCBvZiB0aGUgcmV2ICclcyciCittc2dzdHIgIktvbm50ZSBkaWUgT0lEIGRlciBSZXZpc2lvbiAnJXMnIG5pY2h0IGVyaGFsdGVuLiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBvcGVuIHRoZSBmaWxlICclcyciCittc2dzdHIgIktvbm50ZSBkaWUgRGF0ZWkgJyVzJyBuaWNodCDDtmZmbmVuLiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGNvbW1hbmQ6IHlvdSdyZSBjdXJyZW50bHkgaW4gYSAlcy8lcyBiaXNlY3QiCittc2dzdHIgIlVuZ8O8bHRpZ2VyIEJlZmVobDogU2llIHNpbmQgZ2VyYWRlIGJlaSBlaW5lciBiaW7DpHJlbiAlcy8lcyBTdWNoZS4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICVzIGFuZCAlcyByZXZpc2lvbi5cbiIKKyJZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJXNcIiBhbmQgXCJnaXQgYmlzZWN0ICVzXCIgZm9yIHRoYXQuIgorbXNnc3RyICIiCisiU2llIG3DvHNzZW4gbWluZGVzdGVucyBlaW5lbiBcIiVzXCIgdW5kIGVpbmVuIFwiJXNcIiBDb21taXQgYW5nZWJlbi5cbiIKKyJTaWUga8O2bm5lbiBkYWbDvHIgXCJnaXQgYmlzZWN0ICVzXCIgdW5kIFwiZ2l0IGJpc2VjdCAlc1wiIGJlbnV0emVuLiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IG5lZWQgdG8gc3RhcnQgYnkgXCJnaXQgYmlzZWN0IHN0YXJ0XCIuXG4iCisiWW91IHRoZW4gbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSAlcyBhbmQgJXMgcmV2aXNpb24uXG4iCisiWW91IGNhbiB1c2UgXCJnaXQgYmlzZWN0ICVzXCIgYW5kIFwiZ2l0IGJpc2VjdCAlc1wiIGZvciB0aGF0LiIKK21zZ3N0ciAiIgorIlNpZSBtw7xzc2VuIG1pdCBcImdpdCBiaXNlY3Qgc3RhcnRcIiBiZWdpbm5lbi5cbiIKKyJEYW5hY2ggbcO8c3NlbiBTaWUgbWluZGVzdGVucyBlaW5lbiBcIiVzXCIgdW5kIGVpbmVuIFwiJXNcIiBDb21taXQgYW5nZWJlbi5cbiIKKyJTaWUga8O2bm5lbiBkYWbDvHIgXCJnaXQgYmlzZWN0ICVzXCIgdW5kIFwiZ2l0IGJpc2VjdCAlc1wiIGJlbnV0emVuLiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICJiaXNlY3Rpbmcgb25seSB3aXRoIGEgJXMgY29tbWl0IgorbXNnc3RyICJCaW7DpHJlIFN1Y2hlIG51ciBtaXQgZWluZW0gJXMgQ29tbWl0LiIKKworIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtZXSBhbmQgW25dIGluIHlvdXIKKyMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKKyMuIGF0IHRoaXMgcG9pbnQuCisjLgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjMzMAorbXNnaWQgIkFyZSB5b3Ugc3VyZSBbWS9uXT8gIgorbXNnc3RyICJTaW5kIFNpZSBzaWNoZXIgW1kvbl0/ICIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjM3NworbXNnaWQgIm5vIHRlcm1zIGRlZmluZWQiCittc2dzdHIgIktlaW5lIEJlZ3JpZmZlIGRlZmluaWVydC4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdXIgY3VycmVudCB0ZXJtcyBhcmUgJXMgZm9yIHRoZSBvbGQgc3RhdGVcbiIKKyJhbmQgJXMgZm9yIHRoZSBuZXcgc3RhdGUuXG4iCittc2dzdHIgIiIKKyJJaHJlIGFrdHVlbGxlbiBCZWdyaWZmZSBzaW5kICVzIGbDvHIgZGVuIGFsdGVuIFp1c3RhbmRcbiIKKyJ1bmQgJXMgZsO8ciBkZW4gbmV1ZW4gWnVzdGFuZC5cbiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiaW52YWxpZCBhcmd1bWVudCAlcyBmb3IgJ2dpdCBiaXNlY3QgdGVybXMnLlxuIgorIlN1cHBvcnRlZCBvcHRpb25zIGFyZTogLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCBhbmQgLS10ZXJtLWJhZHwtLXRlcm0tbmV3LiIKK21zZ3N0ciAiIgorIlVuZ8O8bHRpZ2VzIEFyZ3VtZW50ICVzIGbDvHIgJ2dpdCBiaXNlY3QgdGVybXMnLlxuIgorIlVudGVyc3TDvHR6dGUgT3B0aW9uZW4gc2luZDogLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCB1bmQgLS10ZXJtLWJhZHwtLXRlcm0tbmV3LiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uOiAnJXMnIgorbXNnc3RyICJOaWNodCBlcmthbm50ZSBQb3NpdGlvbjogJyVzJyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGRvZXMgbm90IGFwcGVhciB0byBiZSBhIHZhbGlkIHJldmlzaW9uIgorbXNnc3RyICInJXMnIHNjaGVpbnQga2VpbiBnw7xsdGlnZXIgQ29tbWl0IHp1IHNlaW4uIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTEyCittc2dpZCAiYmFkIEhFQUQgLSBJIG5lZWQgYSBIRUFEIgorbXNnc3RyICJVbmfDvGx0aWdlciBIRUFEIC0gSEVBRCB3aXJkIGJlbsO2dGlndC4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tpbmcgb3V0ICclcycgZmFpbGVkLiBUcnkgJ2dpdCBiaXNlY3Qgc3RhcnQgPHZhbGlkLWJyYW5jaD4nLiIKK21zZ3N0ciAiIgorIkF1c2NoZWNrZW4gdm9uICclcycgZmVobGdlc2NobGFnZW4uIFZlcnN1Y2hlbiBTaWUgJ2dpdCBiaXNlY3Qgc3RhcnQgIgorIjxnw7xsdGlnZXItQnJhbmNoPicuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTQ4Cittc2dpZCAid29uJ3QgYmlzZWN0IG9uIGNnLXNlZWsnZWQgdHJlZSIKK21zZ3N0ciAiIgorImJpbsOkcmUgU3VjaGUgYXVmIGVpbmVtIGR1cmNoICdjZy1zZWVrJyBnZcOkbmRlcnRlbSBWZXJ6ZWljaG5pcyBuaWNodCBtw7ZnbGljaCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjU1MQorbXNnaWQgImJhZCBIRUFEIC0gc3RyYW5nZSBzeW1ib2xpYyByZWYiCittc2dzdHIgIlVuZ8O8bHRpZ2VyIEhFQUQgLSBtZXJrd8O8cmRpZ2Ugc3ltYm9saXNjaGUgUmVmZXJlbnouIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVmOiAnJXMnIgorbXNnc3RyICJVbmfDvGx0aWdlIFJlZmVyZW56OiAnJXMnIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjMxCiBtc2dpZCAicGVyZm9ybSAnZ2l0IGJpc2VjdCBuZXh0JyIKIG1zZ3N0ciAiJ2dpdCBiaXNlY3QgbmV4dCcgYXVzZsO8aHJlbiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyMgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzMwogbXNnaWQgIndyaXRlIHRoZSB0ZXJtcyB0byAuZ2l0L0JJU0VDVF9URVJNUyIKIG1zZ3N0ciAiZGllIEJlZ3JpZmZlIG5hY2ggLmdpdC9CSVNFQ1RfVEVSTVMgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTI0CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM1CiBtc2dpZCAiY2xlYW51cCB0aGUgYmlzZWN0aW9uIHN0YXRlIgogbXNnc3RyICJkZW4gWnVzdGFuZCBkZXIgYmluw6RyZW4gU3VjaGUgYXVmcsOkdW1lbiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyNgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzNwogbXNnaWQgImNoZWNrIGZvciBleHBlY3RlZCByZXZzIgogbXNnc3RyICJhdWYgZXJ3YXJ0ZXRlIENvbW1pdHMgcHLDvGZlbiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyOAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzOQorbXNnaWQgInJlc2V0IHRoZSBiaXNlY3Rpb24gc3RhdGUiCittc2dzdHIgImRlbiBadXN0YW5kIGRlciBiaW7DpHJlbiBTdWNoZSB6dXLDvGNrc2V0emVuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQxCittc2dpZCAid3JpdGUgb3V0IHRoZSBiaXNlY3Rpb24gc3RhdGUgaW4gQklTRUNUX0xPRyIKK21zZ3N0ciAiZGVuIFp1c3RhbmQgZGVyIGJpbsOkcmVuIFN1Y2hlIG5hY2ggQklTRUNUX0xPRyBzY2hyZWliZW4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDMKK21zZ2lkICJjaGVjayBhbmQgc2V0IHRlcm1zIGluIGEgYmlzZWN0aW9uIHN0YXRlIgorbXNnc3RyICJCZWdyaWZmZSBpbm5lcmhhbGIgZWluZXIgYmluw6RyZW4gU3VjaGUgcHLDvGZlbiB1bmQgc2V0emVuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQ1Cittc2dpZCAiY2hlY2sgd2hldGhlciBiYWQgb3IgZ29vZCB0ZXJtcyBleGlzdCIKK21zZ3N0ciAicHLDvGZlbiwgb2IgQmVncmlmZmUgZsO8ciBndXRlIHVuZCBzY2hsZWNodGUgQ29tbWl0cyBleGlzdGllcmVuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQ3Cittc2dpZCAicHJpbnQgb3V0IHRoZSBiaXNlY3QgdGVybXMiCittc2dzdHIgImRpZSBCZWdyaWZmZSBmw7xyIGRpZSBiaW7DpHJlIFN1Y2hlIGF1c2dlYmVuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQ5Cittc2dpZCAic3RhcnQgdGhlIGJpc2VjdCBzZXNzaW9uIgorbXNnc3RyICJTaXR6dW5nIGbDvHIgYmluw6RyZSBTdWNoZSBzdGFydGVuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjUxCiBtc2dpZCAidXBkYXRlIEJJU0VDVF9IRUFEIGluc3RlYWQgb2YgY2hlY2tpbmcgb3V0IHRoZSBjdXJyZW50IGNvbW1pdCIKIG1zZ3N0ciAiQklTRUNUX0hFQUQgYWt0dWFsaXNpZXJlbiwgYW5zdGF0dCBkZW4gYWt0dWVsbGVuIENvbW1pdCBhdXN6dWNoZWNrZW4iCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNDMKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NTMKK21zZ2lkICJubyBsb2cgZm9yIEJJU0VDVF9XUklURSIKK21zZ3N0ciAia2VpbiBMb2cgZsO8ciBCSVNFQ1RfV1JJVEUiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NzAKIG1zZ2lkICItLXdyaXRlLXRlcm1zIHJlcXVpcmVzIHR3byBhcmd1bWVudHMiCiBtc2dzdHIgIi0td3JpdGUtdGVybXMgYmVuw7Z0aWd0IHp3ZWkgQXJndW1lbnRlLiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE0NworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY3NAogbXNnaWQgIi0tYmlzZWN0LWNsZWFuLXN0YXRlIHJlcXVpcmVzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiLS1iaXNlY3QtY2xlYW4tc3RhdGUgZXJ3YXJ0ZXQga2VpbmUgQXJndW1lbnRlLiIKIAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY4MQorbXNnaWQgIi0tYmlzZWN0LXJlc2V0IHJlcXVpcmVzIGVpdGhlciBubyBhcmd1bWVudCBvciBhIGNvbW1pdCIKK21zZ3N0ciAiLS1iaXNlY3QtcmVzZXQgYmVuw7Z0aWd0IGVudHdlZGVyIGtlaW4gQXJndW1lbnQgb2RlciBlaW4gQ29tbWl0LiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY4NQorbXNnaWQgIi0tYmlzZWN0LXdyaXRlIHJlcXVpcmVzIGVpdGhlciA0IG9yIDUgYXJndW1lbnRzIgorbXNnc3RyICItLWJpc2VjdC13cml0ZSBiZW7DtnRpZ3QgZW50d2VkZXIgNCBvZGVyIDUgQXJndW1lbnRlLiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY5MQorbXNnaWQgIi0tY2hlY2stYW5kLXNldC10ZXJtcyByZXF1aXJlcyAzIGFyZ3VtZW50cyIKK21zZ3N0ciAiLS1jaGVjay1hbmQtc2V0LXRlcm1zIGJlbsO2dGlndCAzIEFyZ3VtZW50ZS4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2OTcKK21zZ2lkICItLWJpc2VjdC1uZXh0LWNoZWNrIHJlcXVpcmVzIDIgb3IgMyBhcmd1bWVudHMiCittc2dzdHIgIi0tYmlzZWN0LW5leHQtY2hlY2sgYmVuw7Z0aWd0IDIgb2RlciAzIEFyZ3VtZW50ZS4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo3MDMKK21zZ2lkICItLWJpc2VjdC10ZXJtcyByZXF1aXJlcyAwIG9yIDEgYXJndW1lbnQiCittc2dzdHIgIi0tYmlzZWN0LXRlcm1zIGJlbsO2dGlndCAwIG9kZXIgMSBBcmd1bWVudC4iCisKICM6IGJ1aWx0aW4vYmxhbWUuYzozMQogbXNnaWQgImdpdCBibGFtZSBbPG9wdGlvbnM+XSBbPHJldi1vcHRzPl0gWzxyZXY+XSBbLS1dIDxmaWxlPiIKIG1zZ3N0ciAiZ2l0IGJsYW1lIFs8T3B0aW9uZW4+XSBbPHJldi1vcHRzPl0gWzxDb21taXQ+XSBbLS1dIDxEYXRlaT4iCkBAIC03OTc2LDEzOCArMTAwNTksMTQ5IEBACiBtc2dpZCAiPHJldi1vcHRzPiBhcmUgZG9jdW1lbnRlZCBpbiBnaXQtcmV2LWxpc3QoMSkiCiBtc2dzdHIgIjxyZXYtb3B0cz4gc2luZCBkb2t1bWVudGllcnQgaW4gZ2l0LXJldi1saXN0KDEpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6NDA2CisjOiBidWlsdGluL2JsYW1lLmM6NDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGluZyBhIGNvbG9yOiAlcyIKIG1zZ3N0ciAiRXJ3YXJ0ZSBlaW5lIEZhcmJlOiAlcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjQxMworIzogYnVpbHRpbi9ibGFtZS5jOjQxNgogbXNnaWQgIm11c3QgZW5kIHdpdGggYSBjb2xvciIKIG1zZ3N0ciAiTXVzcyBtaXQgZWluZXIgRmFyYmUgZW5kZW4uIgogCi0jOiBidWlsdGluL2JsYW1lLmM6NzAwCisjOiBidWlsdGluL2JsYW1lLmM6NzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29sb3IgJyVzJyBpbiBjb2xvci5ibGFtZS5yZXBlYXRlZExpbmVzIgogbXNnc3RyICJVbmfDvGx0aWdlIEZhcmJlICclcycgaW4gY29sb3IuYmxhbWUucmVwZWF0ZWRMaW5lcy4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3MTgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo3NDcKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciBibGFtZS5jb2xvcmluZyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgV2VydCBmw7xyIGJsYW1lLmNvbG9yaW5nLiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5MworIzogYnVpbHRpbi9ibGFtZS5jOjgyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCByZXZpc2lvbiAlcyB0byBpZ25vcmUiCittc2dzdHIgIktvbm50ZSBDb21taXQgJXMgenVtIElnbm9yaWVyZW4gbmljaHQgZmluZGVuIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODQ0CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAiXCJibGFtZVwiLUVpbnRyw6RnZSBzY2hyaXR0d2Vpc2UgYW56ZWlnZW4sIHfDpGhyZW5kIHdpciBzaWUgZ2VuZXJpZXJlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5NAorIzogYnVpbHRpbi9ibGFtZS5jOjg0NQogbXNnaWQgIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgImxlZXJlIFNIQS0xIGbDvHIgR3JlbnotQ29tbWl0cyBhbnplaWdlbiAoU3RhbmRhcmQ6IGF1cykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTUKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDYKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlJvb3QtQ29tbWl0cyBuaWNodCBhbHMgR3JlbnplbiBiZWhhbmRlbG4gKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Nzk2CisjOiBidWlsdGluL2JsYW1lLmM6ODQ3CiBtc2dpZCAiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIKIG1zZ3N0ciAiU3RhdGlzdGlrZW4genVtIEFyYmVpdHNhdWZ3YW5kIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Nzk3CisjOiBidWlsdGluL2JsYW1lLmM6ODQ4CiBtc2dpZCAiRm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJGb3J0c2Nocml0dHNhbnplaWdlIGVyendpbmdlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5OAorIzogYnVpbHRpbi9ibGFtZS5jOjg0OQogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICJBdXNnYWJlYmV3ZXJ0dW5nIGbDvHIgXCJibGFtZVwiLUVpbnRyw6RnZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5OQorIzogYnVpbHRpbi9ibGFtZS5jOjg1MAogbXNnaWQgIlNob3cgb3JpZ2luYWwgZmlsZW5hbWUgKERlZmF1bHQ6IGF1dG8pIgogbXNnc3RyICJ1cnNwcsO8bmdsaWNoZW4gRGF0ZWluYW1lbiBhbnplaWdlbiAoU3RhbmRhcmQ6IGF1dG8pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODAwCisjOiBidWlsdGluL2JsYW1lLmM6ODUxCiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBsaW5lbnVtYmVyIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJ1cnNwcsO8bmdsaWNoZSBaZWlsZW5udW1tZXIgYW56ZWlnZW4gKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODAxCisjOiBidWlsdGluL2JsYW1lLmM6ODUyCiBtc2dpZCAiU2hvdyBpbiBhIGZvcm1hdCBkZXNpZ25lZCBmb3IgbWFjaGluZSBjb25zdW1wdGlvbiIKIG1zZ3N0ciAiQW56ZWlnZSBpbiBlaW5lbSBGb3JtYXQgZsO8ciBtYXNjaGluZWxsZSBBdXN3ZXJ0dW5nIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODAyCisjOiBidWlsdGluL2JsYW1lLmM6ODUzCiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICIiCiAiQW56ZWlnZSBpbiBGb3JtYXQgZsO8ciBGcmVtZHByb2dyYW1tZSBtaXQgQ29tbWl0LUluZm9ybWF0aW9uZW4gcHJvIFplaWxlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODAzCisjOiBidWlsdGluL2JsYW1lLmM6ODU0CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogIkRlbiBnbGVpY2hlbiBBdXNnYWJlbW9kdXMgYmVudXR6ZW4gd2llIFwiZ2l0LWFubm90YXRlXCIgKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA0CisjOiBidWlsdGluL2JsYW1lLmM6ODU1CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJVbmJlYXJiZWl0ZXRlbiBaZWl0c3RlbXBlbCBhbnplaWdlbiAoU3RhbmRhcmQ6IGF1cykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDUKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTYKIG1zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkxhbmdlbiBDb21taXQtU0hBMSBhbnplaWdlbiAoU3RhbmRhcmQ6IGF1cykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTcKIG1zZ2lkICJTdXBwcmVzcyBhdXRob3IgbmFtZSBhbmQgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJEZW4gTmFtZW4gZGVzIEF1dG9ycyB1bmQgZGVuIFplaXRzdGVtcGVsIHVudGVyZHLDvGNrZW4gKFN0YW5kYXJkOiBhdXMpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA3CisjOiBidWlsdGluL2JsYW1lLmM6ODU4CiBtc2dpZCAiU2hvdyBhdXRob3IgZW1haWwgaW5zdGVhZCBvZiBuYW1lIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAiQW5zdGF0dCBkZXMgTmFtZW5zIGRpZSBFLU1haWwtQWRyZXNzZSBkZXMgQXV0b3JzIGFuemVpZ2VuIChTdGFuZGFyZDogYXVzKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwOAorIzogYnVpbHRpbi9ibGFtZS5jOjg1OQogbXNnaWQgIklnbm9yZSB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzIgogbXNnc3RyICJVbnRlcnNjaGllZGUgaW0gV2hpdGVzcGFjZSBpZ25vcmllcmVuIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA5CisjOiBidWlsdGluL2JsYW1lLmM6ODYwIGJ1aWx0aW4vbG9nLmM6MTcwMgorbXNnaWQgInJldiIKK21zZ3N0ciAiQ29tbWl0IgorCisjOiBidWlsdGluL2JsYW1lLmM6ODYwCittc2dpZCAiSWdub3JlIDxyZXY+IHdoZW4gYmxhbWluZyIKK21zZ3N0ciAiSWdub3JpZXJlIDxyZXY+IGJlaW0gQXVzZsO8aHJlbiB2b24gJ2JsYW1lJyIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg2MQorbXNnaWQgIklnbm9yZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4iCittc2dzdHIgIklnbm9yaWVyZSBDb21taXRzIGF1cyA8RGF0ZWk+IgorCisjOiBidWlsdGluL2JsYW1lLmM6ODYyCiBtc2dpZCAiY29sb3IgcmVkdW5kYW50IG1ldGFkYXRhIGZyb20gcHJldmlvdXMgbGluZSBkaWZmZXJlbnRseSIKIG1zZ3N0ciAicmVkdW5kYW50ZSBNZXRhZGF0ZW4gZGVyIHZvcmhlcmlnZW4gWmVpbGUgdW50ZXJzY2hpZWRsaWNoIGVpbmbDpHJiZW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjMKIG1zZ2lkICJjb2xvciBsaW5lcyBieSBhZ2UiCiBtc2dzdHIgIlplaWxlbiBuYWNoIEFsdGVyIGVpbmbDpHJiZW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MTcKLW1zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgotbXNnc3RyICIiCi0iZWluZSBleHBlcmltZW50ZWxsZSBIZXVyaXN0aWsgenVyIFZlcmJlc3NlcnVuZyBkZXIgRGFyc3RlbGx1bmdcbiIKLSJ2b24gVW50ZXJzY2hpZWRlbiB2ZXJ3ZW5kZW4iCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MTkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjQKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgIkzDpG5nZXIgYXJiZWl0ZW4sIHVtIGJlc3NlcmUgw5xiZXJlaW5zdGltbXVuZ2VuIHp1IGZpbmRlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyMAorIzogYnVpbHRpbi9ibGFtZS5jOjg2NQogbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKIG1zZ3N0ciAiQ29tbWl0cyB2b24gPERhdGVpPiBiZW51dHplbiwgYW5zdGF0dCBcImdpdC1yZXYtbGlzdFwiIGF1Znp1cnVmZW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjYKIG1zZ2lkICJVc2UgPGZpbGU+J3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlIgogbXNnc3RyICJJbmhhbHRlIGRlciA8RGF0ZWk+ZW4gYWxzIGVuZGfDvGx0aWdlcyBBYmJpbGQgYmVudXR6ZW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjIgYnVpbHRpbi9ibGFtZS5jOjgyMworIzogYnVpbHRpbi9ibGFtZS5jOjg2NyBidWlsdGluL2JsYW1lLmM6ODY4CiBtc2dpZCAic2NvcmUiCiBtc2dzdHIgIkJld2VydHVuZyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyMgorIzogYnVpbHRpbi9ibGFtZS5jOjg2NwogbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgImtvcGllcnRlIFplaWxlbiBpbm5lcmhhbGIgb2RlciB6d2lzY2hlbiBEYXRlaWVuIGZpbmRlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyMworIzogYnVpbHRpbi9ibGFtZS5jOjg2OAogbXNnaWQgIkZpbmQgbGluZSBtb3ZlbWVudHMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgInZlcnNjaG9iZW5lIFplaWxlbiBpbm5lcmhhbGIgb2RlciB6d2lzY2hlbiBEYXRlaWVuIGZpbmRlbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyNAorIzogYnVpbHRpbi9ibGFtZS5jOjg2OQogbXNnaWQgIm4sbSIKIG1zZ3N0ciAibixtIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODI0CisjOiBidWlsdGluL2JsYW1lLmM6ODY5CiBtc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIm51ciBaZWlsZW4gaW0gQmVyZWljaCBuLG0gdmVyYXJiZWl0ZW4sIGdlesOkaGx0IHZvbiAxIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODczCisjOiBidWlsdGluL2JsYW1lLmM6OTIxCiBtc2dpZCAiLS1wcm9ncmVzcyBjYW4ndCBiZSB1c2VkIHdpdGggLS1pbmNyZW1lbnRhbCBvciBwb3JjZWxhaW4gZm9ybWF0cyIKIG1zZ3N0ciAiIgogIi0tcHJvZ3Jlc3Mga2FubiBuaWNodCBtaXQgLS1pbmNyZW1lbnRhbCBvZGVyIEZvcm1hdGVuIGbDvHIgRnJlbWRwcm9ncmFtbWVcbiIKQEAgLTgxMjEsMTggKzEwMjE1LDE4IEBACiAjLiB5b3VyIGxhbmd1YWdlIG1heSBuZWVkIG1vcmUgb3IgZmV3ZXIgZGlzcGxheQogIy4gY29sdW1ucy4KICMuCi0jOiBidWlsdGluL2JsYW1lLmM6OTI0CisjOiBidWlsdGluL2JsYW1lLmM6OTcyCiBtc2dpZCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIKIG1zZ3N0ciAidm9yIDQgSmFocmVuIHVuZCAxMSBNb25hdGVuIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MTAxMQorIzogYnVpbHRpbi9ibGFtZS5jOjEwNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZSIKIG1zZ2lkX3BsdXJhbCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZXMiCiBtc2dzdHJbMF0gIkRhdGVpICVzIGhhdCBudXIgJWx1IFplaWxlIgogbXNnc3RyWzFdICJEYXRlaSAlcyBoYXQgbnVyICVsdSBaZWlsZW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoxMDU3CisjOiBidWlsdGluL2JsYW1lLmM6MTEyNQogbXNnaWQgIkJsYW1pbmcgbGluZXMiCiBtc2dzdHIgIlZlcmFyYmVpdGUgWmVpbGVuIgogCkBAIC04MTY0LDcgKzEwMjU4LDcgQEAKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1mb3JtYXRdIgogbXNnc3RyICJnaXQgYnJhbmNoIFs8T3B0aW9uZW4+XSBbLXIgfCAtYV0gWy0tZm9ybWF0XSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGhhcyBiZWVuIG1lcmdlZCB0b1xuIgpAQCAtODE3Myw3ICsxMDI2Nyw3IEBACiAiZW50ZmVybmUgQnJhbmNoICclcycsIGRlciB6dXNhbW1lbmdlZsO8aHJ0IHd1cmRlIG1pdFxuIgogIiAgICAgICAgICclcycsIGFiZXIgbm9jaCBuaWNodCBtaXQgSEVBRCB6dXNhbW1lbmdlZsO8aHJ0IHd1cmRlLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBpcyBub3QgeWV0IG1lcmdlZCB0b1xuIgpAQCAtODE4MiwxMiArMTAyNzYsMTIgQEAKICJlbnRmZXJuZSBCcmFuY2ggJyVzJyBuaWNodCwgZGVyIG5vY2ggbmljaHQgenVzYW1tZW5nZWbDvGhydCB3dXJkZSBtaXRcbiIKICIgICAgICAgICAnJXMnLCBvYndvaGwgZXIgbWl0IEhFQUQgenVzYW1tZW5nZWbDvGhydCB3dXJkZS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTY5CisjOiBidWlsdGluL2JyYW5jaC5jOjE3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yICclcyciCiBtc2dzdHIgIktvbm50ZSBDb21taXQtT2JqZWt0IGbDvHIgJyVzJyBuaWNodCBuYWNoc2NobGFnZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE3MworIzogYnVpbHRpbi9icmFuY2guYzoxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBicmFuY2ggJyVzJyBpcyBub3QgZnVsbHkgbWVyZ2VkLlxuIgpAQCAtODE5NywxMTkgKzEwMjkxLDEyOCBAQAogIldlbm4gU2llIHNpY2hlciBzaW5kIGRpZXNlbiBCcmFuY2ggenUgZW50ZmVybmVuLCBmw7xocmVuIFNpZSAnZ2l0IGJyYW5jaCAtRCAiCiAiJXMnIGF1cy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTg2CisjOiBidWlsdGluL2JyYW5jaC5jOjE4OQogbXNnaWQgIlVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIkFrdHVhbGlzaWVydW5nIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIGZlaGxnZXNjaGxhZ2VuLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjIwCiBtc2dpZCAiY2Fubm90IHVzZSAtYSB3aXRoIC1kIgogbXNnc3RyICJrYW5uIC1hIG5pY2h0IG1pdCAtZCBiZW51dHplbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMjMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjI2CiBtc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciBIRUFEIgogbXNnc3RyICJLb25udGUgQ29tbWl0LU9iamVrdCBmw7xyIEhFQUQgbmljaHQgbmFjaHNjaGxhZ2VuLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkZWxldGUgYnJhbmNoICclcycgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiS2FubiBCcmFuY2ggJyVzJyBuaWNodCBlbnRmZXJuZW4sIGF1c2dlY2hlY2t0IGluICclcycuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI1MgorIzogYnVpbHRpbi9icmFuY2guYzoyNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIG5vdCBmb3VuZC4iCiBtc2dzdHIgIlJlbW90ZS1UcmFja2luZy1CcmFuY2ggJyVzJyBuaWNodCBnZWZ1bmRlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIG5vdCBmb3VuZC4iCiBtc2dzdHIgIkJyYW5jaCAnJXMnIG5pY2h0IGdlZnVuZGVuLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIGRlbGV0aW5nIHJlbW90ZS10cmFja2luZyBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRW50ZmVybmVuIGRlcyBSZW1vdGUtVHJhY2tpbmctQnJhbmNoZXMgJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIGRlbGV0aW5nIGJyYW5jaCAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBFbnRmZXJuZW4gZGVzIEJyYW5jaGVzICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mjc2CisjOiBidWlsdGluL2JyYW5jaC5jOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHJlbW90ZS10cmFja2luZyBicmFuY2ggJXMgKHdhcyAlcykuXG4iCiBtc2dzdHIgIlJlbW90ZS1UcmFja2luZy1CcmFuY2ggJXMgZW50ZmVybnQgKHdhciAlcykuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mjc3CisjOiBidWlsdGluL2JyYW5jaC5jOjI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAiQnJhbmNoICVzIGVudGZlcm50ICh3YXIgJXMpLlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQyMSBidWlsdGluL3RhZy5jOjU5CisjOiBidWlsdGluL2JyYW5jaC5jOjQyOSBidWlsdGluL3RhZy5jOjYxCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGZvcm1hdCBzdHJpbmciCiBtc2dzdHIgIktvbm50ZSBGb3JtYXRpZXJ1bmdzc3RyaW5nIG5pY2h0IHBhcnNlbi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU4CisjOiBidWlsdGluL2JyYW5jaC5jOjQ2MAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQiCittc2dzdHIgIktvbm50ZSBIRUFELUNvbW1pdCBuaWNodCBhdWZsw7ZzZW4uIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ2NgorIywgYy1mb3JtYXQKK21zZ2lkICJIRUFEICglcykgcG9pbnRzIG91dHNpZGUgb2YgcmVmcy9oZWFkcy8iCittc2dzdHIgIkhFQUQgKCVzKSB3dXJkZSBuaWNodCB1bnRlciBcInJlZnMvaGVhZHMvXCIgZ2VmdW5kZW4hIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgaXMgYmVpbmcgcmViYXNlZCBhdCAlcyIKIG1zZ3N0ciAiQnJhbmNoICVzIHdpcmQgYXVmICVzIHVtZ2VzZXR6dCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyBiaXNlY3RlZCBhdCAlcyIKIG1zZ3N0ciAiQmluw6RyZSBTdWNoZSB2b24gQnJhbmNoICVzIHp1ICVzIGltIEdhbmdlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ3OQorIzogYnVpbHRpbi9icmFuY2guYzo1MDIKIG1zZ2lkICJjYW5ub3QgY29weSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgIiIKICJLYW5uIGRlbiBha3R1ZWxsZW4gQnJhbmNoIG5pY2h0IGtvcGllcmVuLCBzb2xhbmdlIFNpZSBzaWNoIGF1ZiBrZWluZW0gIgogImJlZmluZGVuLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0ODEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTA0CiBtc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgIiIKICJLYW5uIGFrdHVlbGxlbiBCcmFuY2ggbmljaHQgdW1iZW5lbm5lbiwgc29sYW5nZSBTaWUgc2ljaCBhdWYga2VpbmVtIGJlZmluZGVuLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0OTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIEJyYW5jaG5hbWU6ICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTE5CisjOiBidWlsdGluL2JyYW5jaC5jOjU0MgogbXNnaWQgIkJyYW5jaCByZW5hbWUgZmFpbGVkIgogbXNnc3RyICJVbWJlbmVubnVuZyBkZXMgQnJhbmNoZXMgZmVobGdlc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTIxCisjOiBidWlsdGluL2JyYW5jaC5jOjU0NAogbXNnaWQgIkJyYW5jaCBjb3B5IGZhaWxlZCIKIG1zZ3N0ciAiS29waWUgZGVzIEJyYW5jaGVzIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUyNQorIzogYnVpbHRpbi9icmFuY2guYzo1NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ3JlYXRlZCBhIGNvcHkgb2YgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiS29waWUgZWluZXMgZmFsc2NoIGJlbmFubnRlbiBCcmFuY2hlcyAnJXMnIGVyc3RlbGx0LiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1MjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgogbXNnc3RyICJmYWxzY2ggYmVuYW5udGVuIEJyYW5jaCAnJXMnIHVtYmVuYW5udCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1MzQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCiBtc2dzdHIgIkJyYW5jaCB1bWJlbmFubnQgenUgJXMsIGFiZXIgSEVBRCBpc3QgbmljaHQgYWt0dWFsaXNpZXJ0ISIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY2CiBtc2dpZCAiQnJhbmNoIGlzIHJlbmFtZWQsIGJ1dCB1cGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICIiCiAiQnJhbmNoIGlzdCB1bWJlbmFubnQsIGFiZXIgZGllIEFrdHVhbGlzaWVydW5nIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIGlzdCAiCiAiZmVobGdlc2NobGFnZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU0NQorIzogYnVpbHRpbi9icmFuY2guYzo1NjgKIG1zZ2lkICJCcmFuY2ggaXMgY29waWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAiIgogIkJyYW5jaCB3dXJkZSBrb3BpZXJ0LCBhYmVyIGRpZSBBa3R1YWxpc2llcnVuZyBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBpc3RcbiIKICJmZWhsZ2VzY2hsYWdlbi4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYxCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoXG4iCkBAIC04MzIwLDE4NyArMTA0MjMsMTgxIEBACiAiICAlc1xuIgogIlplaWxlbiwgZGllIG1pdCAnJWMnIGJlZ2lubmVuLCB3ZXJkZW4gZW50ZmVybnQuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CisjOiBidWlsdGluL2JyYW5jaC5jOjYxOAogbXNnaWQgIkdlbmVyaWMgb3B0aW9ucyIKIG1zZ3N0ciAiQWxsZ2VtZWluZSBPcHRpb25lbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIwCiBtc2dpZCAic2hvdyBoYXNoIGFuZCBzdWJqZWN0LCBnaXZlIHR3aWNlIGZvciB1cHN0cmVhbSBicmFuY2giCiBtc2dzdHIgIkhhc2ggdW5kIEJldHJlZmYgYW56ZWlnZW47IC12djogenVzw6R0emxpY2ggVXBzdHJlYW0tQnJhbmNoIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NworIzogYnVpbHRpbi9icmFuY2guYzo2MjEKIG1zZ2lkICJzdXBwcmVzcyBpbmZvcm1hdGlvbmFsIG1lc3NhZ2VzIgogbXNnc3RyICJJbmZvcm1hdGlvbnNtZWxkdW5nZW4gdW50ZXJkcsO8Y2tlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIyCiBtc2dpZCAic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtcHVsbCgxKSkiCiBtc2dzdHIgIk1vZHVzIHp1bSBGb2xnZW4gdm9uIEJyYW5jaGVzIGVpbnN0ZWxsZW4gKHNpZWhlIGdpdC1wdWxsKDEpKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI0CiBtc2dpZCAiZG8gbm90IHVzZSIKIG1zZ3N0ciAibmljaHQgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwMiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI2IGJ1aWx0aW4vcmViYXNlLmM6NTA1CiBtc2dpZCAidXBzdHJlYW0iCiBtc2dzdHIgIlVwc3RyZWFtIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwMgorIzogYnVpbHRpbi9icmFuY2guYzo2MjYKIG1zZ2lkICJjaGFuZ2UgdGhlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgIkluZm9ybWF0aW9uZW4genVtIFVwc3RyZWFtLUJyYW5jaCDDpG5kZXJuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwMwotbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgorIzogYnVpbHRpbi9icmFuY2guYzo2MjcKK21zZ2lkICJ1bnNldCB0aGUgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAiSW5mb3JtYXRpb25lbiB6dW0gVXBzdHJlYW0tQnJhbmNoIGVudGZlcm5lbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI4CiBtc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgogbXNnc3RyICJmYXJiaWdlIEF1c2dhYmVuIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI5CiBtc2dpZCAiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAiYXVmIFJlbW90ZS1UcmFja2luZy1CcmFuY2hlcyB3aXJrZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjA3IGJ1aWx0aW4vYnJhbmNoLmM6NjA5CisjOiBidWlsdGluL2JyYW5jaC5jOjYzMSBidWlsdGluL2JyYW5jaC5jOjYzMwogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgIm51ciBCcmFuY2hlcyBhdXNnZWJlbiwgZGllIGRpZXNlbiBDb21taXQgZW50aGFsdGVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwOCBidWlsdGluL2JyYW5jaC5jOjYxMAorIzogYnVpbHRpbi9icmFuY2guYzo2MzIgYnVpbHRpbi9icmFuY2guYzo2MzQKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJudXIgQnJhbmNoZXMgYXVzZ2ViZW4sIGRpZSBkaWVzZW4gQ29tbWl0IG5pY2h0IGVudGhhbHRlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM3CiBtc2dpZCAiU3BlY2lmaWMgZ2l0LWJyYW5jaCBhY3Rpb25zOiIKIG1zZ3N0ciAic3BlemlmaXNjaGUgQWt0aW9uZW4gZsO8ciBcImdpdC1icmFuY2hcIjoiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE0CisjOiBidWlsdGluL2JyYW5jaC5jOjYzOAogbXNnaWQgImxpc3QgYm90aCByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICJSZW1vdGUtVHJhY2tpbmcgdW5kIGxva2FsZSBCcmFuY2hlcyBhdWZsaXN0ZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE2CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MAogbXNnaWQgImRlbGV0ZSBmdWxseSBtZXJnZWQgYnJhbmNoIgogbXNnc3RyICJ2b2xsc3TDpG5kaWcgenVzYW1tZW5nZWbDvGhydGVuIEJyYW5jaCBlbnRmZXJuZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE3CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MQogbXNnaWQgImRlbGV0ZSBicmFuY2ggKGV2ZW4gaWYgbm90IG1lcmdlZCkiCiBtc2dzdHIgIkJyYW5jaCBsw7ZzY2hlbiAoYXVjaCB3ZW5uIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnQpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxOAorIzogYnVpbHRpbi9icmFuY2guYzo2NDIKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKIG1zZ3N0ciAiZWluZW4gQnJhbmNoIHVuZCBkZXNzZW4gUmVmbG9nIHZlcnNjaGllYmVuL3VtYmVuZW5uZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE5CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MwogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgIiIKICJlaW5lbiBCcmFuY2ggdmVyc2NoaWViZW4vdW1iZW5lbm5lbiwgYXVjaCB3ZW5uIGRhcyBaaWVsIGJlcmVpdHMgZXhpc3RpZXJ0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMAorIzogYnVpbHRpbi9icmFuY2guYzo2NDQKIG1zZ2lkICJjb3B5IGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIgogbXNnc3RyICJlaW5lbiBCcmFuY2ggdW5kIGRlc3NlbiBSZWZsb2cga29waWVyZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIxCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NQogbXNnaWQgImNvcHkgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAiZWluZW4gQnJhbmNoIGtvcGllcmVuLCBhdWNoIHdlbm4gZGFzIFppZWwgYmVyZWl0cyBleGlzdGllcnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIyCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NgogbXNnaWQgImxpc3QgYnJhbmNoIG5hbWVzIgogbXNnc3RyICJCcmFuY2huYW1lbiBhdWZsaXN0ZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIzCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NworbXNnaWQgInNob3cgY3VycmVudCBicmFuY2ggbmFtZSIKK21zZ3N0ciAiWmVpZ2UgYWt0dWVsbGVuIEJyYW5jaC1OYW1lbi4iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ4CiBtc2dpZCAiY3JlYXRlIHRoZSBicmFuY2gncyByZWZsb2ciCiBtc2dzdHIgImRhcyBSZWZsb2cgZGVzIEJyYW5jaGVzIGVyemV1Z2VuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyNQorIzogYnVpbHRpbi9icmFuY2guYzo2NTAKIG1zZ2lkICJlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaCIKIG1zZ3N0ciAiZGllIEJlc2NocmVpYnVuZyBmw7xyIGRlbiBCcmFuY2ggYmVhcmJlaXRlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUxCiBtc2dpZCAiZm9yY2UgY3JlYXRpb24sIG1vdmUvcmVuYW1lLCBkZWxldGlvbiIKIG1zZ3N0ciAiRXJzdGVsbHVuZywgVmVyc2NoaWVidW5nL1VtYmVuZW5udW5nIG9kZXIgTMO2c2NodW5nIGVyendpbmdlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUyCiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBtZXJnZWQiCiBtc2dzdHIgIm51ciB6dXNhbW1lbmdlZsO8aHJ0ZSBCcmFuY2hlcyBhdXNnZWJlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUzCiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICJudXIgbmljaHQgenVzYW1tZW5nZWbDvGhydGUgQnJhbmNoZXMgYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI5CisjOiBidWlsdGluL2JyYW5jaC5jOjY1NAogbXNnaWQgImxpc3QgYnJhbmNoZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAiQnJhbmNoZXMgaW4gU3BhbHRlbiBhdWZsaXN0ZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDAgYnVpbHRpbi9scy1yZW1vdGUuYzo3MAotIzogYnVpbHRpbi90YWcuYzo0MTUKLW1zZ2lkICJrZXkiCi1tc2dzdHIgIlNjaMO8c3NlbCIKLQotIzogYnVpbHRpbi9icmFuY2guYzo2MzEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MSBidWlsdGluL2xzLXJlbW90ZS5jOjcxCi0jOiBidWlsdGluL3RhZy5jOjQxNgotbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKLW1zZ3N0ciAic29ydGllcmUgbmFjaCBkaWVzZW0gRmVsZCIKLQotIzogYnVpbHRpbi9icmFuY2guYzo2MzMgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MyBidWlsdGluL25vdGVzLmM6NDE1Ci0jOiBidWlsdGluL25vdGVzLmM6NDE4IGJ1aWx0aW4vbm90ZXMuYzo1NzggYnVpbHRpbi9ub3Rlcy5jOjU4MQotIzogYnVpbHRpbi90YWcuYzo0MTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU3IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDIgYnVpbHRpbi9ub3Rlcy5jOjQxNQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxOCBidWlsdGluL25vdGVzLmM6NTgxIGJ1aWx0aW4vbm90ZXMuYzo1ODQKKyM6IGJ1aWx0aW4vdGFnLmM6NDMzCiBtc2dpZCAib2JqZWN0IgogbXNnc3RyICJPYmpla3QiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM0CisjOiBidWlsdGluL2JyYW5jaC5jOjY1OAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAibnVyIEJyYW5jaGVzIHZvbiBkaWVzZW0gT2JqZWt0IGF1c2dlYmVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzNiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ5IGJ1aWx0aW4vdGFnLmM6NDI1CisjOiBidWlsdGluL2JyYW5jaC5jOjY2MCBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ4IGJ1aWx0aW4vdGFnLmM6NDQwCiBtc2dpZCAic29ydGluZyBhbmQgZmlsdGVyaW5nIGFyZSBjYXNlIGluc2Vuc2l0aXZlIgogbXNnc3RyICJTb3J0aWVydW5nIHVuZCBGaWx0ZXJ1bmcgc2luZCB1bmFiaMOkbmdpZyB2b24gR3Jvw58tIHVuZCBLbGVpbnNjaHJlaWJ1bmciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM3IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzggYnVpbHRpbi90YWcuYzo0MjMKLSM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM5CisjOiBidWlsdGluL2JyYW5jaC5jOjY2MSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6NDM4CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzozOAogbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCiBtc2dzdHIgImbDvHIgZGllIEF1c2dhYmUgenUgdmVyd2VuZGVuZGVzIEZvcm1hdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjAgYnVpbHRpbi9jbG9uZS5jOjczOQorIzogYnVpbHRpbi9icmFuY2guYzo2ODQgYnVpbHRpbi9jbG9uZS5jOjc4NAogbXNnaWQgIkhFQUQgbm90IGZvdW5kIGJlbG93IHJlZnMvaGVhZHMhIgogbXNnc3RyICJIRUFEIHd1cmRlIG5pY2h0IHVudGVyIFwicmVmcy9oZWFkc1wiIGdlZnVuZGVuISIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2ODMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzA4CiBtc2dpZCAiLS1jb2x1bW4gYW5kIC0tdmVyYm9zZSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1jb2x1bW4gdW5kIC0tdmVyYm9zZSBzaW5kIGlua29tcGF0aWJlbC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk4IGJ1aWx0aW4vYnJhbmNoLmM6NzQ5IGJ1aWx0aW4vYnJhbmNoLmM6NzU4CisjOiBidWlsdGluL2JyYW5jaC5jOjcyMyBidWlsdGluL2JyYW5jaC5jOjc3NyBidWlsdGluL2JyYW5jaC5jOjc4NgogbXNnaWQgImJyYW5jaCBuYW1lIHJlcXVpcmVkIgogbXNnc3RyICJCcmFuY2huYW1lIGVyZm9yZGVybGljaCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzUzCiBtc2dpZCAiQ2Fubm90IGdpdmUgZGVzY3JpcHRpb24gdG8gZGV0YWNoZWQgSEVBRCIKIG1zZ3N0ciAienUgbG9zZ2Vsw7ZzdGVtIEhFQUQga2FubiBrZWluZSBCZXNjaHJlaWJ1bmcgaGludGVybGVndCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzMwCisjOiBidWlsdGluL2JyYW5jaC5jOjc1OAogbXNnaWQgImNhbm5vdCBlZGl0IGRlc2NyaXB0aW9uIG9mIG1vcmUgdGhhbiBvbmUgYnJhbmNoIgogbXNnc3RyICJCZXNjaHJlaWJ1bmcgdm9uIG1laHIgYWxzIGVpbmVtIEJyYW5jaCBrYW5uIG5pY2h0IGJlYXJiZWl0ZXQgd2VyZGVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjczNworIzogYnVpbHRpbi9icmFuY2guYzo3NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gY29tbWl0IG9uIGJyYW5jaCAnJXMnIHlldC4iCiBtc2dzdHIgIk5vY2gga2VpbiBDb21taXQgaW4gQnJhbmNoICclcycuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc0MAorIzogYnVpbHRpbi9icmFuY2guYzo3NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gYnJhbmNoIG5hbWVkICclcycuIgogbXNnc3RyICJCcmFuY2ggJyVzJyBuaWNodCB2b3JoYW5kZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc1NQorIzogYnVpbHRpbi9icmFuY2guYzo3ODMKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyBmb3IgYSBjb3B5IG9wZXJhdGlvbiIKIG1zZ3N0ciAienUgdmllbGUgQnJhbmNoZXMgZsO8ciBlaW5lIEtvcGllcm9wZXJhdGlvbiBhbmdlZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY0CisjOiBidWlsdGluL2JyYW5jaC5jOjc5MgogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyBmb3IgYSByZW5hbWUgb3BlcmF0aW9uIgogbXNnc3RyICJ6dSB2aWVsZSBBcmd1bWVudGUgZsO8ciBlaW5lIFVtYmVuZW5uZW4tT3BlcmF0aW9uIGFuZ2VnZWJlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk3CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIHRvIHNldCBuZXcgdXBzdHJlYW0iCiBtc2dzdHIgInp1IHZpZWxlIEFyZ3VtZW50ZSBhbmdlZ2ViZW4sIHVtIFVwc3RyZWFtLUJyYW5jaCB6dSBzZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzczCisjOiBidWlsdGluL2JyYW5jaC5jOjgwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IHNldCB1cHN0cmVhbSBvZiBIRUFEIHRvICVzIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCkBAIC04NTA4LDQwICsxMDYwNSw0MyBAQAogIktvbm50ZSBrZWluZW4gbmV1ZW4gVXBzdHJlYW0tQnJhbmNoIHZvbiBIRUFEIHp1ICVzIHNldHplbiwgZGEgZGllc2VyIGF1ZlxuIgogImtlaW5lbiBCcmFuY2ggemVpZ3QuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc3NiBidWlsdGluL2JyYW5jaC5jOjc5OAorIzogYnVpbHRpbi9icmFuY2guYzo4MDQgYnVpbHRpbi9icmFuY2guYzo4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiS2VpbiBzb2xjaGVyIEJyYW5jaCAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc4MAorIzogYnVpbHRpbi9icmFuY2guYzo4MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIkJyYW5jaCAnJXMnIGV4aXN0aWVydCBuaWNodCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIxCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIHRvIHVuc2V0IHVwc3RyZWFtIgogbXNnc3RyICIiCiAienUgdmllbGUgQXJndW1lbnRlIGFuZ2VnZWJlbiwgdW0gS29uZmlndXJhdGlvbiB6dSBVcHN0cmVhbS1CcmFuY2ggenUgIgogImVudGZlcm5lbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI1CiBtc2dpZCAiY291bGQgbm90IHVuc2V0IHVwc3RyZWFtIG9mIEhFQUQgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiIgogIktvbm50ZSBLb25maWd1cmF0aW9uIHp1IFVwc3RyZWFtLUJyYW5jaCB2b24gSEVBRCBuaWNodCBlbnRmZXJuZW4sIGRhIGRpZXNlclxuIgogImF1ZiBrZWluZW4gQnJhbmNoIHplaWd0LiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIGhhcyBubyB1cHN0cmVhbSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiQnJhbmNoICclcycgaGF0IGtlaW5lbiBVcHN0cmVhbS1CcmFuY2ggZ2VzZXR6dCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MTIKLW1zZ2lkICItYSBhbmQgLXIgb3B0aW9ucyB0byAnZ2l0IGJyYW5jaCcgZG8gbm90IG1ha2Ugc2Vuc2Ugd2l0aCBhIGJyYW5jaCBuYW1lIgorIzogYnVpbHRpbi9icmFuY2guYzo4NDEKK21zZ2lkICIiCisiVGhlIC1hLCBhbmQgLXIsIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCB0YWtlIGEgYnJhbmNoIG5hbWUuXG4iCisiRGlkIHlvdSBtZWFuIHRvIHVzZTogLWF8LXIgLS1saXN0IDxwYXR0ZXJuPj8iCiBtc2dzdHIgIiIKLSJEaWUgT3B0aW9uZW4gLWEgdW5kIC1yIGJlaSAnZ2l0IGJyYW5jaCcga8O2bm5lbiBuaWNodCBnZW1laW1zYW0gbWl0IGVpbmVtICIKLSJCcmFuY2huYW1lbiB2ZXJ3ZW5kZXQgd2VyZGVuLiIKKyJEaWUgT3B0aW9uZW4gLWEgdW5kIC1yIGJlaSAnZ2l0IGJyYW5jaCcga8O2bm5lbiBuaWNodCBtaXQgZWluZW0gQnJhbmNobmFtZW4gIgorInZlcndlbmRldCB3ZXJkZW4uXG4iCisiV29sbHRlbiBTaWUgLWF8LXIgLS1saXN0IDxNdXN0ZXI+IGJlbnV0emVuPyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ1CiBtc2dpZCAiIgogInRoZSAnLS1zZXQtdXBzdHJlYW0nIG9wdGlvbiBpcyBubyBsb25nZXIgc3VwcG9ydGVkLiBQbGVhc2UgdXNlICctLXRyYWNrJyBvciAiCiAiJy0tc2V0LXVwc3RyZWFtLXRvJyBpbnN0ZWFkLiIKQEAgLTg1NDksMjAgKzEwNjQ5LDY1IEBACiAiRGllICctLXNldC11cHN0cmVhbScgT3B0aW9uIHdpcmQgbmljaHQgbMOkbmdlciB1bnRlcnN0w7x0enQuXG4iCiAiQml0dGUgYmVudXR6ZW4gU2llIHN0YXR0ZGVzc2VuICctLXRyYWNrJyBvZGVyICctLXNldC11cHN0cmVhbS10bycuIgogCi0jOiBidWlsdGluL2J1bmRsZS5jOjQ1CisjOiBidWlsdGluL2J1bmRsZS5jOjE1IGJ1aWx0aW4vYnVuZGxlLmM6MjMKK21zZ2lkICJnaXQgYnVuZGxlIGNyZWF0ZSBbPG9wdGlvbnM+XSA8ZmlsZT4gPGdpdC1yZXYtbGlzdCBhcmdzPiIKK21zZ3N0ciAiZ2l0IGJ1bmRsZSBjcmVhdGUgWzxPcHRpb25lbj5dIDxEYXRlaT4gPGdpdC1yZXYtbGlzdCBBcmd1bWVudGU+IgorCisjOiBidWlsdGluL2J1bmRsZS5jOjE2IGJ1aWx0aW4vYnVuZGxlLmM6MjgKK21zZ2lkICJnaXQgYnVuZGxlIHZlcmlmeSBbPG9wdGlvbnM+XSA8ZmlsZT4iCittc2dzdHIgImdpdCBidW5kbGUgdmVyaWZ5IFs8T3B0aW9uZW4+XSA8RGF0ZWk+IgorCisjOiBidWlsdGluL2J1bmRsZS5jOjE3IGJ1aWx0aW4vYnVuZGxlLmM6MzMKK21zZ2lkICJnaXQgYnVuZGxlIGxpc3QtaGVhZHMgPGZpbGU+IFs8cmVmbmFtZT4uLi5dIgorbXNnc3RyICJnaXQgYnVuZGxlIGxpc3QtaGVhZHMgPERhdGVpPiBbPFJlZmVyZW56bmFtZT4uLi5dIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjE4IGJ1aWx0aW4vYnVuZGxlLmM6MzgKK21zZ2lkICJnaXQgYnVuZGxlIHVuYnVuZGxlIDxmaWxlPiBbPHJlZm5hbWU+Li4uXSIKK21zZ3N0ciAiZ2l0IGJ1bmRsZSB1bmJ1bmRsZSA8RGF0ZWk+IFs8UmVmZXJlbnpuYW1lPi4uLl0iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NjYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjI4Cittc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCittc2dzdHIgImtlaW5lIEZvcnRzY2hyaXR0c2FuemVpZ2UgYW56ZWlnZW4iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NjggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjMwCittc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKK21zZ3N0ciAiRm9ydHNjaHJpdHRzYW56ZWlnZSBhbnplaWdlbiIKKworIzogYnVpbHRpbi9idW5kbGUuYzo3MCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzIKK21zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIGR1cmluZyBvYmplY3Qgd3JpdGluZyBwaGFzZSIKK21zZ3N0ciAiRm9yc2Nocml0dHNhbnplaWdlIHfDpGhyZW5kIGRlcyBTY2hyZWliZW5zIHZvbiBPYmpla3RlbiBhbnplaWdlbiIKKworIzogYnVpbHRpbi9idW5kbGUuYzo3MyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzUKK21zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCittc2dzdHIgIsOkaG5saWNoIHp1IC0tYWxsLXByb2dyZXNzIHdlbm4gRm9ydHNjaHJpdHRzYW56ZWlnZSBkYXJzdGVsbHQgd2lyZCIKKworIzogYnVpbHRpbi9idW5kbGUuYzo5MworbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIGNyZWF0ZSBhIGJ1bmRsZS4iCittc2dzdHIgIlVtIGVpbiBQYWtldCB6dSBlcnN0ZWxsZW4gd2lyZCBlaW4gUmVwb3NpdG9yeSBiZW7DtnRpZ3QuIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjEwNAorbXNnaWQgImRvIG5vdCBzaG93IGJ1bmRsZSBkZXRhaWxzIgorbXNnc3RyICJLZWluZSBCdW5kbGUtRGV0YWlscyBhbnplaWdlbiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgb2theVxuIgogbXNnc3RyICIlcyBpc3QgaW4gT3JkbnVuZ1xuIgogCi0jOiBidWlsdGluL2J1bmRsZS5jOjU4Ci1tc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gY3JlYXRlIGEgYnVuZGxlLiIKLW1zZ3N0ciAiVW0gZWluIFBha2V0IHp1IGVyc3RlbGxlbiB3aXJkIGVpbiBSZXBvc2l0b3J5IGJlbsO2dGlndC4iCi0KLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NjIKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTYwCiBtc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gdW5idW5kbGUuIgogbXNnc3RyICJadW0gRW50cGFja2VuIHdpcmQgZWluIFJlcG9zaXRvcnkgYmVuw7Z0aWd0LiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU4NworIzogYnVpbHRpbi9idW5kbGUuYzoxNjggYnVpbHRpbi9yZW1vdGUuYzoxNjA5Cittc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKK21zZ3N0ciAiZXJ3ZWl0ZXJ0ZSBBdXNnYWJlbjsgbXVzcyB2b3IgZWluZW0gVW50ZXJiZWZlaGwgYW5nZWdlYmVuIHdlcmRlbiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzoxNjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCittc2dzdHIgIlVuYmVrYW5udGVyIFVudGVyYmVmZWhsOiAlcyIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU5NQogbXNnaWQgIiIKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCA8dHlwZT4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxwYXRoPl0gPG9iamVjdD4iCkBAIC04NTcwLDcgKzEwNzE1LDcgQEAKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCA8QXJ0PiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9PFBmYWQ+XSA8T2JqZWt0PiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU4OAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU5NgogbXNnaWQgIiIKICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIFstLXRleHRjb252IHwgLS0iCiAiZmlsdGVyc10iCkBAIC04NTc4LDEzOCArMTA3MjMsMTM4IEBACiAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgogImZpbHRlcnNdIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjA5CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjE3CiBtc2dpZCAib25seSBvbmUgYmF0Y2ggb3B0aW9uIG1heSBiZSBzcGVjaWZpZWQiCiBtc2dzdHIgIk51ciBlaW5lIEJhdGNoLU9wdGlvbiBlcmxhdWJ0LiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYyNworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNQogbXNnaWQgIjx0eXBlPiBjYW4gYmUgb25lIG9mOiBibG9iLCB0cmVlLCBjb21taXQsIHRhZyIKIG1zZ3N0ciAiPEFydD4ga2FubiBzZWluOiBibG9iLCB0cmVlLCBjb21taXQsIHRhZyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYyOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNgogbXNnaWQgInNob3cgb2JqZWN0IHR5cGUiCiBtc2dzdHIgIk9iamVrdGFydCBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYyOQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNwogbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCiBtc2dzdHIgIk9iamVrdGdyw7bDn2UgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzkKIG1zZ2lkICJleGl0IHdpdGggemVybyB3aGVuIHRoZXJlJ3Mgbm8gZXJyb3IiCiBtc2dzdHIgIm1pdCBSw7xja2dhYmV3ZXJ0IDAgYmVlbmRlbiwgd2VubiBrZWluIEZlaGxlciBhdWZnZXRyZXRlbiBpc3QiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDAKIG1zZ2lkICJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiYW5zcHJlY2hlbmRlIEFuemVpZ2UgZGVzIE9iamVrdGluaGFsdGVzIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjM0CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQyCiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgImVpbmUgVGV4dGtvbnZlcnRpZXJ1bmcgYXVmIGRlbiBJbmhhbHQgdm9uIEJsb2ItT2JqZWt0ZW4gYXVzZsO8aHJlbiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NAogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biBmaWx0ZXJzIG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgImbDvHIgQmxvYi1PYmpla3RlLCBGaWx0ZXIgYXVmIE9iamVrdC1JbmhhbHRlIGF1c2bDvGhyZW4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzcgZ2l0LXN1Ym1vZHVsZS5zaDo4NTcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDUgZ2l0LXN1Ym1vZHVsZS5zaDo5OTIKIG1zZ2lkICJibG9iIgogbXNnc3RyICJCbG9iIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjM4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQ2CiBtc2dpZCAidXNlIGEgc3BlY2lmaWMgcGF0aCBmb3IgLS10ZXh0Y29udi8tLWZpbHRlcnMiCiBtc2dzdHIgImVpbmVuIGJlc3RpbW10ZW4gUGZhZCBmw7xyIC0tdGV4dGNvbnYvLS1maWx0ZXJzIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0MAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0OAogbXNnaWQgImFsbG93IC1zIGFuZCAtdCB0byB3b3JrIHdpdGggYnJva2VuL2NvcnJ1cHQgb2JqZWN0cyIKIG1zZ3N0ciAiLXMgdW5kIC10IG1pdCBiZXNjaMOkZGlndGVuIE9iamVrdGVuIGVybGF1YmVuIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjQxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQ5CiBtc2dpZCAiYnVmZmVyIC0tYmF0Y2ggb3V0cHV0IgogbXNnc3RyICJBdXNnYWJlIHZvbiAtLWJhdGNoIHB1ZmZlcm4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTEKIG1zZ2lkICJzaG93IGluZm8gYW5kIGNvbnRlbnQgb2Ygb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKICJBbnplaWdlIHZvbiBJbmZvcm1hdGlvbmVuIHVuZCBJbmhhbHQgdm9uIE9iamVrdGVuLCBnZWxlc2VuIHZvbiBkZXIgU3RhbmRhcmQtIgogIkVpbmdhYmUiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTUKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKICJBbnplaWdlIHZvbiBJbmZvcm1hdGlvbmVuIMO8YmVyIE9iamVrdGUsIGdlbGVzZW4gdm9uIGRlciBTdGFuZGFyZC1FaW5nYWJlIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjUxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjU5CiBtc2dpZCAiZm9sbG93IGluLXRyZWUgc3ltbGlua3MgKHVzZWQgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2spIgogbXNnc3RyICIiCiAic3ltYm9saXNjaGVuIFZlcmtuw7xwZnVuZ2VuIGlubmVyaGFsYiBkZXMgUmVwb3NpdG9yaWVzIGZvbGdlbiAodmVyd2VuZGV0IG1pdCAiCiAiLS1iYXRjaCBvZGVyIC0tYmF0Y2gtY2hlY2spIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjUzCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjYxCiBtc2dpZCAic2hvdyBhbGwgb2JqZWN0cyB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjayIKIG1zZ3N0ciAiYWxsZSBPYmpla3RlIG1pdCAtLWJhdGNoIG9kZXIgLS1iYXRjaC1jaGVjayBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY2MwogbXNnaWQgImRvIG5vdCBvcmRlciAtLWJhdGNoLWFsbC1vYmplY3RzIG91dHB1dCIKIG1zZ3N0ciAiQXVzZ2FiZSB2b24gLS1iYXRjaC1hbGwtb2JqZWN0cyBuaWNodCBvcmRuZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEyCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMwogbXNnaWQgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSBbLS1dIDxwYXRobmFtZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPEF0dHJpYnV0Pi4uLl0gWy0tXSA8UGZhZG5hbWU+Li4uIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMworIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTQKIG1zZ2lkICJnaXQgY2hlY2stYXR0ciAtLXN0ZGluIFstel0gWy1hIHwgLS1hbGwgfCA8YXR0cj4uLi5dIgogbXNnc3RyICJnaXQgY2hlY2stYXR0ciAtLXN0ZGluIFstel0gWy1hIHwgLS1hbGwgfCA8QXR0cmlidXQ+Li4uXSIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjAKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxCiBtc2dpZCAicmVwb3J0IGFsbCBhdHRyaWJ1dGVzIHNldCBvbiBmaWxlIgogbXNnc3RyICJhbGxlIEF0dHJpYnV0ZSBlaW5lciBEYXRlaSBhdXNnZWJlbiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIyCiBtc2dpZCAidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgIm51ciAuZ2l0YXR0cmlidXRlcyB2b20gSW5kZXggdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI0IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjUgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMgogbXNnaWQgInJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIgogbXNnc3RyICJEYXRlaW5hbWVuIHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSBsZXNlbiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjQgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNgorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjUgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNwogbXNnaWQgInRlcm1pbmF0ZSBpbnB1dCBhbmQgb3V0cHV0IHJlY29yZHMgYnkgYSBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICJFaW50csOkZ2Ugdm9uIEVpbi0gdW5kIEF1c2dhYmUgbWl0IE5VTC1aZWljaGVuIGFic2NobGllw59lbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMCBidWlsdGluL2NoZWNrb3V0LmM6MTIzNCBidWlsdGluL2djLmM6NTE3Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDk1CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDM1IGJ1aWx0aW4vZ2MuYzo1MzcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDYKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIkZvcnRzY2hyaXR0c2FuemVpZ2UgdW50ZXJkcsO8Y2tlbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOQogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGlucHV0IHBhdGhzIgogbXNnc3RyICJFaW5nYWJlLVBmYWRlIG9obmUgw5xiZXJlaW5zdGltbXVuZ2VuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjMwCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjMxCiBtc2dpZCAiaWdub3JlIGluZGV4IHdoZW4gY2hlY2tpbmciCiBtc2dzdHIgIkluZGV4IGJlaSBkZXIgUHLDvGZ1bmcgaWdub3JpZXJlbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTkKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYwCiBtc2dpZCAiY2Fubm90IHNwZWNpZnkgcGF0aG5hbWVzIHdpdGggLS1zdGRpbiIKIG1zZ3N0ciAiQW5nYWJlIHZvbiBQZmFkbmFtZW4ga2FubiBuaWNodCBnZW1laW5zYW0gbWl0IC0tc3RkaW4gdmVyd2VuZGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjIKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYzCiBtc2dpZCAiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIkRpZSBPcHRpb24gLXoga2FubiBudXIgbWl0IC0tc3RkaW4gdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY0CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2NQogbXNnaWQgIm5vIHBhdGggc3BlY2lmaWVkIgogbXNnc3RyICJrZWluIFBmYWQgYW5nZWdlYmVuIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2OAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjkKIG1zZ2lkICItLXF1aWV0IGlzIG9ubHkgdmFsaWQgd2l0aCBhIHNpbmdsZSBwYXRobmFtZSIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLXF1aWV0IGlzdCBudXIgbWl0IGVpbmVtIGVpbnplbG5lbiBQZmFkbmFtZW4gZ8O8bHRpZy4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcwCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MQogbXNnaWQgImNhbm5vdCBoYXZlIGJvdGggLS1xdWlldCBhbmQgLS12ZXJib3NlIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbmVuIC0tcXVpZXQgdW5kIC0tdmVyYm9zZSBrw7ZubmVuIG5pY2h0IGdlbWVpbnNhbSB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzMKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTc0CiBtc2dpZCAiLS1ub24tbWF0Y2hpbmcgaXMgb25seSB2YWxpZCB3aXRoIC0tdmVyYm9zZSIKIG1zZ3N0ciAiLS1ub24tbWF0Y2hpbmcgaXN0IG51ciBtaXQgLS12ZXJib3NlIHp1bMOkc3NpZyIKIApAQCAtODczMCw1NyArMTA4NzUsNTcgQEAKIG1zZ2lkICJubyBjb250YWN0cyBzcGVjaWZpZWQiCiBtc2dzdHIgImtlaW5lIEtvbnRha3RlIGFuZ2VnZWJlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyOAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEzMQogbXNnaWQgImdpdCBjaGVja291dC1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgY2hlY2tvdXQtaW5kZXggWzxPcHRpb25lbj5dIFstLV0gWzxEYXRlaT4uLi5dIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTQ1CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTQ4CiBtc2dpZCAic3RhZ2Ugc2hvdWxkIGJlIGJldHdlZW4gMSBhbmQgMyBvciBhbGwiCiBtc2dzdHIgIi0tc3RhZ2Ugc29sbHRlIHp3aXNjaGVuIDEgdW5kIDMgb2RlciAnYWxsJyBzZWluIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYxCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY0CiBtc2dpZCAiY2hlY2sgb3V0IGFsbCBmaWxlcyBpbiB0aGUgaW5kZXgiCiBtc2dzdHIgImFsbGUgRGF0ZWllbiBpbSBJbmRleCBhdXNjaGVja2VuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYyCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY1CiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGV4aXN0aW5nIGZpbGVzIgogbXNnc3RyICJkYXMgw5xiZXJzY2hyZWliZW4gYmVyZWl0cyBleGlzdGllcmVuZGVyIERhdGVpZW4gZXJ6d2luZ2VuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY0CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY3CiBtc2dpZCAibm8gd2FybmluZyBmb3IgZXhpc3RpbmcgZmlsZXMgYW5kIGZpbGVzIG5vdCBpbiBpbmRleCIKIG1zZ3N0ciAiIgogImtlaW5lIFdhcm51bmcgZsO8ciBleGlzdGllcmVuZGUgRGF0ZWllbiwgdW5kIERhdGVpZW4sIGRpZSBzaWNoIG5pY2h0IGltIEluZGV4ICIKICJiZWZpbmRlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NgorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OQogbXNnaWQgImRvbid0IGNoZWNrb3V0IG5ldyBmaWxlcyIKIG1zZ3N0ciAia2VpbmUgbmV1ZW4gRGF0ZWllbiBhdXNjaGVja2VuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY4CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcxCiBtc2dpZCAidXBkYXRlIHN0YXQgaW5mb3JtYXRpb24gaW4gdGhlIGluZGV4IGZpbGUiCiBtc2dzdHIgIkRhdGVpaW5mb3JtYXRpb25lbiBpbiBkZXIgSW5kZXgtRGF0ZWkgYWt0dWFsaXNpZXJlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MgorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NQogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiZWluZSBMaXN0ZSB2b24gUGZhZGVuIHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSBsZXNlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NwogbXNnaWQgIndyaXRlIHRoZSBjb250ZW50IHRvIHRlbXBvcmFyeSBmaWxlcyIKIG1zZ3N0ciAiZGVuIEluaGFsdCBpbiB0ZW1wb3LDpHJlIERhdGVpZW4gc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc1IGJ1aWx0aW4vY29sdW1uLmM6MzEKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzY4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzcxCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1MwotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY2OAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OCBidWlsdGluL2NvbHVtbi5jOjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4NSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NzkKIG1zZ2lkICJzdHJpbmciCiBtc2dzdHIgIlplaWNoZW5rZXR0ZSIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NgorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OQogbXNnaWQgIndoZW4gY3JlYXRpbmcgZmlsZXMsIHByZXBlbmQgPHN0cmluZz4iCiBtc2dzdHIgIiIKICJ3ZW5uIERhdGVpZW4gZXJ6ZXVndCB3ZXJkZW4sIHN0ZWxsZSA8WmVpY2hlbmtldHRlPiBkZW0gRGF0ZWluYW1lbiB2b3JhbiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE4MQogbXNnaWQgImNvcHkgb3V0IHRoZSBmaWxlcyBmcm9tIG5hbWVkIHN0YWdlIgogbXNnc3RyICJEYXRlaWVuIHZvbiBkZW0gYmVuYW5udGVuIFN0YW5kIGtvcGllcmVuIgogCkBAIC04NzkyLDEwNiArMTA5MzcsMTU5IEBACiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFs8b3B0aW9ucz5dIFs8YnJhbmNoPl0gLS0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgY2hlY2tvdXQgWzxPcHRpb25lbj5dIFs8QnJhbmNoPl0gLS0gPERhdGVpPi4uLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE0NCBidWlsdGluL2NoZWNrb3V0LmM6MTc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzcKK21zZ2lkICJnaXQgc3dpdGNoIFs8b3B0aW9ucz5dIFs8YnJhbmNoPl0iCittc2dzdHIgImdpdCBzd2l0Y2ggWzxPcHRpb25lbj5dIFs8QnJhbmNoPl0iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MgorbXNnaWQgImdpdCByZXN0b3JlIFs8b3B0aW9ucz5dIFstLXNvdXJjZT08YnJhbmNoPl0gPGZpbGU+Li4uIgorbXNnc3RyICJnaXQgcmVzdG9yZSBbPE9wdGlvbmVuPl0gWy0tc291cmNlPTxCcmFuY2g+XSA8RGF0ZWk+Li4uIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc1IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgb3VyIHZlcnNpb24iCiBtc2dzdHIgIlBmYWQgJyVzJyBoYXQgbmljaHQgdW5zZXJlIFZlcnNpb24uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzkKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzcgYnVpbHRpbi9jaGVja291dC5jOjIxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSB0aGVpciB2ZXJzaW9uIgogbXNnc3RyICJQZmFkICclcycgaGF0IG5pY2h0IGRlcmVuIFZlcnNpb24uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTYyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIGFsbCBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgIlBmYWQgJyVzJyBoYXQgbmljaHQgYWxsZSBub3R3ZW5kaWdlbiBWZXJzaW9uZW4uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjA2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAiUGZhZCAnJXMnIGhhdCBuaWNodCBkaWUgbm90d2VuZGlnZW4gVmVyc2lvbmVuLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIyNAorIzogYnVpbHRpbi9jaGVja291dC5jOjI2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcyc6IGNhbm5vdCBtZXJnZSIKIG1zZ3N0ciAiUGZhZCAnJXMnOiBrYW5uIG5pY2h0IHp1c2FtbWVuZsO8aHJlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI0MAorIzogYnVpbHRpbi9jaGVja291dC5jOjI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIE1lcmdlLUVyZ2VibmlzIHZvbiAnJXMnIG5pY2h0IGhpbnp1ZsO8Z2VuLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2MiBidWlsdGluL2NoZWNrb3V0LmM6MjY1IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjgKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVjcmVhdGVkICVkIG1lcmdlIGNvbmZsaWN0IgorbXNnaWRfcGx1cmFsICJSZWNyZWF0ZWQgJWQgbWVyZ2UgY29uZmxpY3RzIgorbXNnc3RyWzBdICIlZCBNZXJnZS1Lb25mbGlrdCB3aWVkZXIgZXJzdGVsbHQiCittc2dzdHJbMV0gIiVkIE1lcmdlLUtvbmZsaWt0ZSB3aWVkZXIgZXJzdGVsbHQiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXBkYXRlZCAlZCBwYXRoIGZyb20gJXMiCittc2dpZF9wbHVyYWwgIlVwZGF0ZWQgJWQgcGF0aHMgZnJvbSAlcyIKK21zZ3N0clswXSAiJWQgUGZhZCB2b24gJXMgYWt0dWFsaXNpZXJ0IgorbXNnc3RyWzFdICIlZCBQZmFkZSB2b24gJXMgYWt0dWFsaXNpZXJ0IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVwZGF0ZWQgJWQgcGF0aCBmcm9tIHRoZSBpbmRleCIKK21zZ2lkX3BsdXJhbCAiVXBkYXRlZCAlZCBwYXRocyBmcm9tIHRoZSBpbmRleCIKK21zZ3N0clswXSAiJWQgUGZhZCB2b20gSW5kZXggYWt0dWFsaXNpZXJ0IgorbXNnc3RyWzFdICIlZCBQZmFkZSB2b20gSW5kZXggYWt0dWFsaXNpZXJ0IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDEyIGJ1aWx0aW4vY2hlY2tvdXQuYzo0MTUgYnVpbHRpbi9jaGVja291dC5jOjQxOAorIzogYnVpbHRpbi9jaGVja291dC5jOjQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggdXBkYXRpbmcgcGF0aHMiCiBtc2dzdHIgIiclcycga2FubiBuaWNodCBtaXQgZGVyIEFrdHVhbGlzaWVydW5nIHZvbiBQZmFkZW4gdmVyd2VuZGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI3NCBidWlsdGluL2NoZWNrb3V0LmM6Mjc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDI1IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICInJXMnIGthbm4gbmljaHQgbWl0ICclcycgdmVyd2VuZGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI4MAorIzogYnVpbHRpbi9jaGVja291dC5jOjQzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS4iCiBtc2dzdHIgIiIKICJLYW5uIG5pY2h0IGdsZWljaHplaXRpZyBQZmFkZSBha3R1YWxpc2llcmVuIHVuZCB6dSBCcmFuY2ggJyVzJyB3ZWNoc2VsbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjM0OSBidWlsdGluL2NoZWNrb3V0LmM6MzU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgJyVzJyBvciAnJXMnIGlzIHNwZWNpZmllZCIKK21zZ3N0ciAiV2VkZXIgJyVzJyBub2NoICclcycgaXN0IGFuZ2VnZWJlbiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIG11c3QgYmUgdXNlZCB3aGVuICclcycgaXMgbm90IHNwZWNpZmllZCIKK21zZ3N0ciAiJyVzJyBrYW5uIG51ciBnZW51dHp0IHdlcmRlbiwgd2VubiAnJXMnIG5pY2h0IHZlcndlbmRldCB3aXJkIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDQ1IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBvciAnJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCittc2dzdHIgIiclcycgb2RlciAnJXMnIGthbm4gbmljaHQgbWl0ICVzIHZlcndlbmRldCB3ZXJkZW4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1MDkgYnVpbHRpbi9jaGVja291dC5jOjUxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgIlBmYWQgJyVzJyBpc3QgbmljaHQgenVzYW1tZW5nZWbDvGhydC4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MDgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODIgYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo4MgogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgogbXNnc3RyICJTaWUgbcO8c3NlbiB6dWVyc3QgZGllIEtvbmZsaWt0ZSBpbiBJaHJlbSBha3R1ZWxsZW4gSW5kZXggYXVmbMO2c2VuLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc0NQorIzogYnVpbHRpbi9jaGVja291dC5jOjczMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IGNvbnRpbnVlIHdpdGggc3RhZ2VkIGNoYW5nZXMgaW4gdGhlIGZvbGxvd2luZyBmaWxlczpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIkthbm4gbmljaHQgbWl0IHZvcmdlbWVya3RlbiDDhG5kZXJ1bmdlbiBpbiBmb2xnZW5kZW4gRGF0ZWllbiBmb3J0c2V0emVuOlxuIgorIiVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnOiAlc1xuIgogbXNnc3RyICJLYW5uIFwicmVmbG9nXCIgZsO8ciAnJXMnIG5pY2h0IGR1cmNoZsO8aHJlbjogJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc4NgorIzogYnVpbHRpbi9jaGVja291dC5jOjg3NwogbXNnaWQgIkhFQUQgaXMgbm93IGF0IgogbXNnc3RyICJIRUFEIGlzdCBqZXR6dCBiZWkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTAgYnVpbHRpbi9jbG9uZS5jOjY5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjg4MSBidWlsdGluL2Nsb25lLmM6NzE2CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBIRUFEIgogbXNnc3RyICJLb25udGUgSEVBRCBuaWNodCBha3R1YWxpc2llcmVuLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5NAorIzogYnVpbHRpbi9jaGVja291dC5jOjg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJTZXR6ZSBCcmFuY2ggJyVzJyBuZXVcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5NworIzogYnVpbHRpbi9jaGVja291dC5jOjg4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJBbHJlYWR5IG9uICclcydcbiIKIG1zZ3N0ciAiQmVyZWl0cyBhdWYgJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODAxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGFuZCByZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJadSB1bWdlc2V0enRlbSBCcmFuY2ggJyVzJyBnZXdlY2hzZWx0XG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MDMgYnVpbHRpbi9jaGVja291dC5jOjExNjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4OTQgYnVpbHRpbi9jaGVja291dC5jOjEyOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYSBuZXcgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiWnUgbmV1ZW0gQnJhbmNoICclcycgZ2V3ZWNoc2VsdFxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODA1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlp1IEJyYW5jaCAnJXMnIGdld2VjaHNlbHRcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjg1NgorIzogYnVpbHRpbi9jaGVja291dC5jOjk0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgLi4uIGFuZCAlZCBtb3JlLlxuIgogbXNnc3RyICIgLi4uIHVuZCAlZCB3ZWl0ZXJlLlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODYyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtODkxNCw3ICsxMTExMiw3IEBACiAiXG4iCiAiJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjg4MQorIzogYnVpbHRpbi9jaGVja291dC5jOjk3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8ga2VlcCBpdCBieSBjcmVhdGluZyBhIG5ldyBicmFuY2gsIHRoaXMgbWF5IGJlIGEgZ29vZCB0aW1lXG4iCkBAIC04OTQxLDE2MyArMTExMzksMjUwIEBACiAiIGdpdCBicmFuY2ggPG5ldWVyLUJyYW5jaG5hbWU+ICVzXG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5MTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDA3CiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IgaW4gcmV2aXNpb24gd2FsayIKIG1zZ3N0ciAiaW50ZXJuZXIgRmVobGVyIGltIFJldmlzaW9uc2dhbmciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5MTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDExCiBtc2dpZCAiUHJldmlvdXMgSEVBRCBwb3NpdGlvbiB3YXMiCiBtc2dzdHIgIlZvcmhlcmlnZSBQb3NpdGlvbiB2b24gSEVBRCB3YXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NDUgYnVpbHRpbi9jaGVja291dC5jOjExNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDUxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjg2CiBtc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAiU2llIHNpbmQgYXVmIGVpbmVtIEJyYW5jaCwgZGVyIG5vY2ggbmljaHQgZ2Vib3JlbiBpc3QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3OAorbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCIKK21zZ3N0ciAibnVyIGVpbmUgUmVmZXJlbnogZXJ3YXJ0ZXQiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgogbXNnc3RyICJudXIgZWluZSBSZWZlcmVueiBlcndhcnRldCwgJWQgZ2VnZWJlbi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA3IGJ1aWx0aW4vd29ya3RyZWUuYzoyODkgYnVpbHRpbi93b3JrdHJlZS5jOjQ0NAorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiclcycgY291bGQgYmUgYm90aCBhIGxvY2FsIGZpbGUgYW5kIGEgdHJhY2tpbmcgYnJhbmNoLlxuIgorIlBsZWFzZSB1c2UgLS0gKGFuZCBvcHRpb25hbGx5IC0tbm8tZ3Vlc3MpIHRvIGRpc2FtYmlndWF0ZSIKK21zZ3N0ciAiIgorIiclcycga8O2bm50ZSBlaW5lIGxva2FsZSBEYXRlaSB1bmQgZWluIFRyYWNraW5nLUJyYW5jaCBzZWluLlxuIgorIkJpdHRlIGJlbnV0emVuIFNpZSAtLSAodW5kIG9wdGlvbmFsIC0tbm8tZ3Vlc3MpLCB1bSBkaWVzZVxuIgorImVpbmRldXRpZyB2b25laW5hbmRlciB6dSB1bnRlcnNjaGVpZGVuLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDUgYnVpbHRpbi93b3JrdHJlZS5jOjI5MCBidWlsdGluL3dvcmt0cmVlLmM6NDU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBSZWZlcmVuejogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTM2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1OCBidWlsdGluL2NoZWNrb3V0LmM6MTYyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCiBtc2dzdHIgIlJlZmVyZW56IGlzdCBrZWluIFwiVHJlZVwiLU9iamVrdDogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTc1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMwNQorIywgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IHRhZyAnJXMnIgorbXNnc3RyICJFaW4gQnJhbmNoIHdpcmQgZXJ3YXJ0ZXQsIFRhZyAnJXMnIGJla29tbWVuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMwNworIywgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IHJlbW90ZSBicmFuY2ggJyVzJyIKK21zZ3N0ciAiRWluIEJyYW5jaCB3aXJkIGVyd2FydGV0LCBSZW1vdGUtQnJhbmNoICclcycgYmVrb21tZW4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzA4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImEgYnJhbmNoIGlzIGV4cGVjdGVkLCBnb3QgJyVzJyIKK21zZ3N0ciAiRWluIEJyYW5jaCB3aXJkIGVyd2FydGV0LCAnJXMnIGJla29tbWVuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMxMQorIywgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IGNvbW1pdCAnJXMnIgorbXNnc3RyICJFaW4gQnJhbmNoIHdpcmQgZXJ3YXJ0ZXQsIENvbW1pdCAnJXMnIGJla29tbWVuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMyNworbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCB3aGlsZSBtZXJnaW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgbWVyZ2UgLS1xdWl0XCIgb3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorbXNnc3RyICIiCisiRGVyIEJyYW5jaCBrYW5uIG5pY2h0IHfDpGhyZW5kIGVpbmVzIE1lcmdlcyBnZXdlY2hzZWx0IHdlcmRlbi5cbiIKKyJaaWVoZW4gU2llIFwiZ2l0IG1lcmdlIC0tcXVpdFwiIG9kZXIgXCJnaXQgd29ya3RyZWUgYWRkXCIgaW4gQmV0cmFjaHQuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMzMQorbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb25cbiIKKyJDb25zaWRlciBcImdpdCBhbSAtLXF1aXRcIiBvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCittc2dzdHIgIiIKKyJEZXIgQnJhbmNoIGthbm4gbmljaHQgd8OkaHJlbmQgZWluZXMgbGF1ZmVuZGVuICdhbSctQmVmZWhscyBnZXdlY2hzZWx0ICIKKyJ3ZXJkZW4uXG4iCisiWmllaGVuIFNpZSBcImdpdCBhbSAtLXF1aXRcIiBvZGVyIFwiZ2l0IHdvcmt0cmVlIGFkZFwiIGluIEJldHJhY2h0LiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMzUKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgcmViYXNpbmdcbiIKKyJDb25zaWRlciBcImdpdCByZWJhc2UgLS1xdWl0XCIgb3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorbXNnc3RyICIiCisiRGVyIEJyYW5jaCBrYW5uIG5pY2h0IHfDpGhyZW5kIGVpbmVzIGxhdWZlbmRlbiAncmV2ZXJ0Jy1CZWZlaGxzIGdld2VjaHNlbHQgIgorIndlcmRlbi5cbiIKKyJaaWVoZW4gU2llIFwiZ2l0IHJlYmFzZSAtLXF1aXRcIiBvZGVyIFwiZ2l0IHdvcmt0cmVlIGFkZFwiIGluIEJldHJhY2h0LiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMzkKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgY2hlcnJ5LXBpY2tpbmdcbiIKKyJDb25zaWRlciBcImdpdCBjaGVycnktcGljayAtLXF1aXRcIiBvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCittc2dzdHIgIiIKKyJEZXIgQnJhbmNoIGthbm4gbmljaHQgd8OkaHJlbmQgZWluZXMgbGF1ZmVuZGVuICdjaGVycnktcGljayctQmVmZWhscyAiCisiZ2V3ZWNoc2VsdCB3ZXJkZW4uXG4iCisiWmllaGVuIFNpZSBcImdpdCBjaGVycnktcGljayAtLXF1aXRcIiBvZGVyIFwiZ2l0IHdvcmt0cmVlIGFkZFwiIGluIEJldHJhY2h0LiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNDMKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgcmV2ZXJ0aW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgcmV2ZXJ0IC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorIkRlciBCcmFuY2gga2FubiBuaWNodCB3w6RocmVuZCBlaW5lcyBsYXVmZW5kZW4gJ3JldmVydCctQmVmZWhscyBnZXdlY2hzZWx0ICIKKyJ3ZXJkZW4uXG4iCisiWmllaGVuIFNpZSBcImdpdCByZXZlcnQgLS1xdWl0XCIgb2RlciBcImdpdCB3b3JrdHJlZSBhZGRcIiBpbiBCZXRyYWNodC4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzQ3Cittc2dpZCAieW91IGFyZSBzd2l0Y2hpbmcgYnJhbmNoIHdoaWxlIGJpc2VjdGluZyIKK21zZ3N0ciAiU2llIHdlY2hzZWxuIGRlbiBCcmFuY2ggd8OkaHJlbmQgZWluZXIgYmluw6RyZW4gU3VjaGUiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzU0CiBtc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIlBmYWRlIGvDtm5uZW4gbmljaHQgYmVpbSBXZWNoc2VsbiB2b24gQnJhbmNoZXMgdmVyd2VuZGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNzggYnVpbHRpbi9jaGVja291dC5jOjExODIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzU3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzYxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIiclcycga2FubiBuaWNodCBiZWltIFdlY2hzZWxuIHZvbiBCcmFuY2hlcyB2ZXJ3ZW5kZXQgd2VyZGVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE4NiBidWlsdGluL2NoZWNrb3V0LmM6MTE4OSBidWlsdGluL2NoZWNrb3V0LmM6MTE5NAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzY5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzcyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzc1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM4MCBidWlsdGluL2NoZWNrb3V0LmM6MTM4NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJyVzJyIKIG1zZ3N0ciAiJyVzJyBrYW5uIG5pY2h0IG1pdCAnJXMnIHZlcndlbmRldCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjAyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM4MgorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGNhbm5vdCB0YWtlIDxzdGFydC1wb2ludD4iCittc2dzdHIgIiclcycga2FubiBuaWNodCA8U3RhcnRwdW5rdD4gYmVrb21tZW4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICJLYW5uIEJyYW5jaCBuaWNodCB6dSBOaWNodC1Db21taXQgJyVzJyB3ZWNoc2VsbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMzUgYnVpbHRpbi9jaGVja291dC5jOjEyMzcgYnVpbHRpbi9jbG9uZS5jOjExOQotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjkgYnVpbHRpbi9yZW1vdGUuYzoxNzEgYnVpbHRpbi93b3JrdHJlZS5jOjQ4OAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MAotbXNnaWQgImJyYW5jaCIKLW1zZ3N0ciAiQnJhbmNoIgorIzogYnVpbHRpbi9jaGVja291dC5jOjEzOTcKK21zZ2lkICJtaXNzaW5nIGJyYW5jaCBvciBjb21taXQgYXJndW1lbnQiCittc2dzdHIgIkJyYW5jaC0gb2RlciBDb21taXQtQXJndW1lbnQgZmVobHQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjM2Ci1tc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCi1tc2dzdHIgImVpbmVuIG5ldWVuIEJyYW5jaCBlcnpldWdlbiB1bmQgYXVzY2hlY2tlbiIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDM5IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjUyCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExMyBidWlsdGluL2ZldGNoLmM6MTY3IGJ1aWx0aW4vbWVyZ2UuYzoyODUKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjI3IGJ1aWx0aW4vcHVsbC5jOjEzOCBidWlsdGluL3B1c2guYzo1NjMKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc0Cittc2dpZCAiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgorbXNnc3RyICJGb3J0c2Nocml0dHNhbnplaWdlIGVyendpbmdlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMzgKLW1zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgotbXNnc3RyICJlaW5lbiBCcmFuY2ggZXJzdGVsbGVuL3Vtc2V0emVuIHVuZCBhdXNjaGVja2VuIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIzOQotbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCi1tc2dzdHIgImRhcyBSZWZsb2cgZsO8ciBkZW4gbmV1ZW4gQnJhbmNoIGVyemV1Z2VuIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0MCBidWlsdGluL3dvcmt0cmVlLmM6NDkyCi1tc2dpZCAiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IgotbXNnc3RyICJIRUFEIGJlaSBiZW5hbm50ZW0gQ29tbWl0IGxvc2zDtnNlbiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDEKLW1zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKLW1zZ3N0ciAiSW5mb3JtYXRpb25lbiB6dW0gVXBzdHJlYW0tQnJhbmNoIGbDvHIgZGVuIG5ldWVuIEJyYW5jaCBzZXR6ZW4iCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQzCi1tc2dpZCAibmV3LWJyYW5jaCIKLW1zZ3N0ciAibmV1ZXIgQnJhbmNoIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0MwotbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKLW1zZ3N0ciAibmV1ZXIgQnJhbmNoIG9obmUgRWx0ZXJuLUNvbW1pdCIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDUKLW1zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCi1tc2dzdHIgInVuc2VyZSBWYXJpYW50ZSBmw7xyIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gYXVzY2hlY2tlbiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDgKLW1zZ2lkICJjaGVja291dCB0aGVpciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKLW1zZ3N0ciAiaWhyZSBWYXJpYW50ZSBmw7xyIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gYXVzY2hlY2tlbiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTAKLW1zZ2lkICJmb3JjZSBjaGVja291dCAodGhyb3cgYXdheSBsb2NhbCBtb2RpZmljYXRpb25zKSIKLW1zZ3N0ciAiQXVzY2hlY2tlbiBlcnp3aW5nZW4gKHZlcndpcmZ0IGxva2FsZSDDhG5kZXJ1bmdlbikiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjUyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ0MAogbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgogbXNnc3RyICJlaW5lbiAzLVdlZ2UtTWVyZ2UgbWl0IGRlbSBuZXVlbiBCcmFuY2ggYXVzZsO8aHJlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTQgYnVpbHRpbi9tZXJnZS5jOjI3NQotbXNnaWQgInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIKLW1zZ3N0ciAiaWdub3JpZXJ0ZSBEYXRlaWVuIGFrdHVhbGlzaWVyZW4gKFN0YW5kYXJkKSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTYgYnVpbHRpbi9sb2cuYzoxNTczIHBhcnNlLW9wdGlvbnMuaDoyNzQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDQxIGJ1aWx0aW4vbG9nLmM6MTY5MCBwYXJzZS1vcHRpb25zLmg6MzIyCiBtc2dpZCAic3R5bGUiCiBtc2dzdHIgIlN0aWwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ0MgogbXNnaWQgImNvbmZsaWN0IHN0eWxlIChtZXJnZSBvciBkaWZmMykiCiBtc2dzdHIgIktvbmZsaWt0c3RpbCAobWVyZ2Ugb2RlciBkaWZmMykiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYwCi1tc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgotbXNnc3RyICJrZWluZSBFaW5zY2hyw6Rua3VuZyBiZWkgUGZhZHNwZXppZmlrYXRpb25lbiB6dW0gcGFydGllbGxlbiBBdXNjaGVja2VuIgorIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTQgYnVpbHRpbi93b3JrdHJlZS5jOjUwMworbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKK21zZ3N0ciAiSEVBRCBiZWkgYmVuYW5udGVtIENvbW1pdCBsb3Nsw7ZzZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYyCi1tc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgPG5vLXN1Y2gtYnJhbmNoPiciCi1tc2dzdHIgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IDxuby1zdWNoLWJyYW5jaD4nIgorIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTUKK21zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKK21zZ3N0ciAiSW5mb3JtYXRpb25lbiB6dW0gVXBzdHJlYW0tQnJhbmNoIGbDvHIgZGVuIG5ldWVuIEJyYW5jaCBzZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ1NworbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgorbXNnc3RyICJBdXNjaGVja2VuIGVyendpbmdlbiAodmVyd2lyZnQgbG9rYWxlIMOEbmRlcnVuZ2VuKSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTkKK21zZ2lkICJuZXctYnJhbmNoIgorbXNnc3RyICJuZXVlciBCcmFuY2giCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU5Cittc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgorbXNnc3RyICJuZXVlciBCcmFuY2ggb2huZSBFbHRlcm4tQ29tbWl0IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ2MSBidWlsdGluL21lcmdlLmM6Mjg4Cittc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgorbXNnc3RyICJpZ25vcmllcnRlIERhdGVpZW4gYWt0dWFsaXNpZXJlbiAoU3RhbmRhcmQpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ2NAogbXNnaWQgImRvIG5vdCBjaGVjayBpZiBhbm90aGVyIHdvcmt0cmVlIGlzIGhvbGRpbmcgdGhlIGdpdmVuIHJlZiIKIG1zZ3N0ciAiIgogIlByw7xmdW5nLCBvYiBkaWUgUmVmZXJlbnogYmVyZWl0cyBpbiBlaW5lbSBhbmRlcmVuIEFyYmVpdHN2ZXJ6ZWljaG5pcyAiCiAiYXVzZ2VjaGVja3Qgd3VyZGUsIGRlYWt0aXZpZXJlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjggYnVpbHRpbi9jbG9uZS5jOjg2IGJ1aWx0aW4vZmV0Y2guYzoxNDEKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzIgYnVpbHRpbi9wdWxsLmM6MTI5IGJ1aWx0aW4vcHVzaC5jOjU3MgotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzQKLW1zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCi1tc2dzdHIgIkZvcnRzY2hyaXR0c2FuemVpZ2UgZXJ6d2luZ2VuIgorIzogYnVpbHRpbi9jaGVja291dC5jOjE0NzcKK21zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCittc2dzdHIgInVuc2VyZSBWYXJpYW50ZSBmw7xyIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIERhdGVpZW4gYXVzY2hlY2tlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyOTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDgwCittc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCittc2dzdHIgImlocmUgVmFyaWFudGUgZsO8ciBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBEYXRlaWVuIGF1c2NoZWNrZW4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDg0Cittc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgorbXNnc3RyICJrZWluZSBFaW5zY2hyw6Rua3VuZyBiZWkgUGZhZHNwZXppZmlrYXRpb25lbiB6dW0gcGFydGllbGxlbiBBdXNjaGVja2VuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTUzNwogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiRGllIE9wdGlvbmVuIC1iLCAtQiB1bmQgLS1vcnBoYW4gc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnIGF1cy4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzE1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTU0MAorbXNnaWQgIi1wIGFuZCAtLW92ZXJsYXkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLXAgdW5kIC0tb3ZlcmxheSBzY2hsaWXDn2VuIHNpY2ggZ2VnZW5zZWl0aWcgYXVzLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE1NzcKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIkJlaSBkZXIgT3B0aW9uIC0tdHJhY2sgbXVzcyBlaW4gQnJhbmNobmFtZSBhbmdlZ2ViZW4gd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzMjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTgyCiBtc2dpZCAibWlzc2luZyBicmFuY2ggbmFtZTsgdHJ5IC1iIgogbXNnc3RyICJLZWluIEJyYW5jaG5hbWU7IHZlcnN1Y2hlbiBTaWUgLWIuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1NworIzogYnVpbHRpbi9jaGVja291dC5jOjE2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlc29sdmUgJXMiCittc2dzdHIgIktvbm50ZSAlcyBuaWNodCBhdWZsw7ZzZW4uIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTYzMQogbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICJ1bmfDvGx0aWdlIFBmYWRzcGV6aWZpa2F0aW9uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM2NAorIzogYnVpbHRpbi9jaGVja291dC5jOjE2MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQgYW5kIGEgYnJhbmNoICclcycgY2Fubm90IGJlIGNyZWF0ZWQgZnJvbSBpdCIKIG1zZ3N0ciAiIgogIiclcycgaXN0IGtlaW4gQ29tbWl0IHVuZCBlcyBrYW5uIGtlaW4gQnJhbmNoICclcycgYXVzIGRpZXNlbSBlcnN0ZWxsdCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM2OAorIzogYnVpbHRpbi9jaGVja291dC5jOjE2NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBkb2VzIG5vdCB0YWtlIGEgcGF0aCBhcmd1bWVudCAnJXMnIgogbXNnc3RyICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIG5pbW10IGtlaW4gUGZhZC1Bcmd1bWVudCAnJXMnIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM3MgorIzogYnVpbHRpbi9jaGVja291dC5jOjE2NTEKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWRldGFjaCIKK21zZ3N0ciAiRGllIE9wdGlvbmVuIC0tcGF0aHNwZWMtZnJvbS1maWxlIHVuZCAtLWRldGFjaCBzaW5kIGlua29tcGF0aWJlbC4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjU0IGJ1aWx0aW4vcmVzZXQuYzozMjQKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLXBhdGNoIgorbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1wYXRoc3BlYy1mcm9tLWZpbGUgdW5kIC0tcGF0Y2ggc2luZCBpbmtvbXBhdGliZWwuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY2NQogbXNnaWQgIiIKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKICJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIKQEAgLTkxMDUsNyArMTEzOTAsMTEgQEAKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSB1bmQgLS1tZXJnZSBzaW5kIGlua29tcGF0aWJlbCB3ZW5uXG4iCiAiU2llIGF1cyBkZW0gSW5kZXggYXVzY2hlY2tlbi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzkyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY3MAorbXNnaWQgInlvdSBtdXN0IHNwZWNpZnkgcGF0aChzKSB0byByZXN0b3JlIgorbXNnc3RyICJTaWUgbcO8c3NlbiBQZmFkKGUpIHp1ciBXaWVkZXJoZXJzdGVsbHVuZyBhbmdlYmVuLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgbWF0Y2hlZCBtb3JlIHRoYW4gb25lIHJlbW90ZSB0cmFja2luZyBicmFuY2guXG4iCkBAIC05MTM3LDM4ICsxMTQyNiwxMDUgQEAKICJiZXZvcnp1Z2VuIG3DtmNodGVuLCB6LkIuICdvcmlnaW4nLCBrw7ZubnRlbiBTaWUgZGllIEVpbnN0ZWxsdW5nXG4iCiAiY2hlY2tvdXQuZGVmYXVsdFJlbW90ZT1vcmlnaW4gaW4gSWhyZXIgS29uZmlndXJhdGlvbiBzZXR6ZW4uIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc2NyBidWlsdGluL2Nsb25lLmM6MTIxIGJ1aWx0aW4vcmVtb3RlLmM6MTY5CisjOiBidWlsdGluL3JlbW90ZS5jOjE3MSBidWlsdGluL3dvcmt0cmVlLmM6NDk5IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDEKK21zZ2lkICJicmFuY2giCittc2dzdHIgIkJyYW5jaCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MTUKK21zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKK21zZ3N0ciAiZWluZW4gbmV1ZW4gQnJhbmNoIGVyemV1Z2VuIHVuZCBhdXNjaGVja2VuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcxNworbXNnaWQgImNyZWF0ZS9yZXNldCBhbmQgY2hlY2tvdXQgYSBicmFuY2giCittc2dzdHIgImVpbmVuIEJyYW5jaCBlcnN0ZWxsZW4vdW1zZXR6ZW4gdW5kIGF1c2NoZWNrZW4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE4Cittc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKK21zZ3N0ciAiZGFzIFJlZmxvZyBmw7xyIGRlbiBuZXVlbiBCcmFuY2ggZXJ6ZXVnZW4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzIwCittc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgPG5vLXN1Y2gtYnJhbmNoPicgKGRlZmF1bHQpIgorbXNnc3RyICJad2VpdGUgVmVybXV0dW5nICdnaXQgY2hlY2tvdXQgPGtlaW4tc29sY2hlci1CcmFuY2g+JyAoU3RhbmRhcmQpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcyMQorbXNnaWQgInVzZSBvdmVybGF5IG1vZGUgKGRlZmF1bHQpIgorbXNnc3RyICJiZW51dHplIE92ZXJsYXktTW9kdXMgKFN0YW5kYXJkKSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NjYKK21zZ2lkICJjcmVhdGUgYW5kIHN3aXRjaCB0byBhIG5ldyBicmFuY2giCittc2dzdHIgImVpbmVuIG5ldWVuIEJyYW5jaCBlcnpldWdlbiB1bmQgZGFoaW4gd2VjaHNlbG4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY4Cittc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBzd2l0Y2ggdG8gYSBicmFuY2giCittc2dzdHIgImVpbmVuIEJyYW5jaCBlcnN0ZWxsZW4vdW1zZXR6ZW4gdW5kIGRhaGluIHdlY2hzZWxuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc3MAorbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IHN3aXRjaCA8bm8tc3VjaC1icmFuY2g+JyIKK21zZ3N0ciAiWndlaXRlIFZlcm11dHVuZyAnZ2l0IHN3aXRjaCA8a2Vpbi1zb2xjaGVyLUJyYW5jaD4nIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc3MgorbXNnaWQgInRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucyIKK21zZ3N0ciAibG9rYWxlIMOEbmRlcnVuZ2VuIHZlcndlcmZlbiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MDQKK21zZ2lkICJ3aGljaCB0cmVlLWlzaCB0byBjaGVja291dCBmcm9tIgorbXNnc3RyICJWb24gd2VsY2hlciBDb21taXQtUmVmZXJlbnogYXVzZ2VjaGVja3Qgd2VyZGVuIHNvbGwiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODA2Cittc2dpZCAicmVzdG9yZSB0aGUgaW5kZXgiCittc2dzdHIgIkluZGV4IHdpZWRlcmhlcnN0ZWxsZW4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODA4Cittc2dpZCAicmVzdG9yZSB0aGUgd29ya2luZyB0cmVlIChkZWZhdWx0KSIKK21zZ3N0ciAiZGFzIEFyYmVpdHN2ZXJ6ZWljaG5pcyB3aWVkZXJoZXJzdGVsbGVuIChTdGFuZGFyZCkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODEwCittc2dpZCAiaWdub3JlIHVubWVyZ2VkIGVudHJpZXMiCittc2dzdHIgImlnbm9yaWVyZSBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBFaW50csOkZ2UiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODExCittc2dpZCAidXNlIG92ZXJsYXkgbW9kZSIKK21zZ3N0ciAiYmVudXR6ZSBPdmVybGF5LU1vZHVzIgorCisjOiBidWlsdGluL2NsZWFuLmM6MjgKIG1zZ2lkICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPHBhdHRlcm4+XSBbLXggfCAtWF0gWy0tXSA8cGF0aHM+Li4uIgogbXNnc3RyICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPE11c3Rlcj5dIFsteCB8IC1YXSBbLS1dIDxQZmFkZT4uLi4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMQorIzogYnVpbHRpbi9jbGVhbi5jOjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzXG4iCiBtc2dzdHIgIkzDtnNjaGUgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMyCisjOiBidWlsdGluL2NsZWFuLmM6MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgcmVtb3ZlICVzXG4iCiBtc2dzdHIgIlfDvHJkZSAlcyBsw7ZzY2hlblxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzMKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIsOcYmVyc3ByaW5nZSBSZXBvc2l0b3J5ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozNAorIzogYnVpbHRpbi9jbGVhbi5jOjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHNraXAgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICJXw7xyZGUgUmVwb3NpdG9yeSAlcyDDvGJlcnNwcmluZ2VuXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozNQorIzogYnVpbHRpbi9jbGVhbi5jOjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIEzDtnNjaGVuIHZvbiAlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI5OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU3OQorIzogYnVpbHRpbi9jbGVhbi5jOjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBsc3RhdCAlc1xuIgorbXNnc3RyICJLb25udGUgJ2xzdGF0JyBuaWNodCBmw7xyICVzIGF1c2bDvGhyZW5cbiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjMwMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCkBAIC05MTgxLDcgKzExNTM3LDcgQEAKICJmb28gICAgICAgIC0gRWxlbWVudCBhbmhhbmQgZWluZXMgZWluZGV1dGlnZW4gUHLDpGZpeCBhdXN3w6RobGVuXG4iCiAiICAgICAgICAgICAtIChsZWVyKSBuaWNodHMgYXVzd8OkaGxlblxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzAyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTg4CisjOiBidWlsdGluL2NsZWFuLmM6MzA1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQcm9tcHQgaGVscDpcbiIKQEAgLTkyMDIsMzggKzExNTU4LDMzIEBACiAiKiAgICAgICAgICAtIGFsbGUgRWxlbWVudGUgYXVzd8OkaGxlblxuIgogIiAgICAgICAgICAgLSAobGVlcikgQXVzd2FobCBiZWVuZGVuXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo1MTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NTQKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTU5CisjOiBidWlsdGluL2NsZWFuLmM6NTIxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTcwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU3NQogIywgYy1mb3JtYXQsIHBlcmwtZm9ybWF0CiBtc2dpZCAiSHVoICglcyk/XG4iCiBtc2dzdHIgIldpZSBiaXR0ZSAoJXMpP1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NjYwCisjOiBidWlsdGluL2NsZWFuLmM6NjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIklucHV0IGlnbm9yZSBwYXR0ZXJucz4+ICIKIG1zZ3N0ciAiSWdub3JpZXItTXVzdGVyIGVpbmdlYmVuPj4gIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Njk3CisjOiBidWlsdGluL2NsZWFuLmM6NzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IENhbm5vdCBmaW5kIGl0ZW1zIG1hdGNoZWQgYnk6ICVzIgogbXNnc3RyICJXQVJOVU5HOiBLYW5uIGtlaW5lIEVpbnRyw6RnZSBmaW5kZW4gZGllIE11c3RlciBlbnRzcHJlY2hlbjogJXMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3MTgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3MjEKIG1zZ2lkICJTZWxlY3QgaXRlbXMgdG8gZGVsZXRlIgogbXNnc3RyICJXw6RobGVuIFNpZSBFaW50csOkZ2UgenVtIEzDtnNjaGVuIgogCiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGtlZXAgW3kvTl0gYXMgaXMKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3NTkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZlICVzIFt5L05dPyAiCiBtc2dzdHIgIiclcycgbMO2c2NoZW4gW3kvTl0/ICIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjc4NCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQnllLlxuIgotbXNnc3RyICJUc2Now7xzcy5cbiIKLQotIzogYnVpbHRpbi9jbGVhbi5jOjc5MgorIzogYnVpbHRpbi9jbGVhbi5jOjc5NQogbXNnaWQgIiIKICJjbGVhbiAgICAgICAgICAgICAgIC0gc3RhcnQgY2xlYW5pbmdcbiIKICJmaWx0ZXIgYnkgcGF0dGVybiAgIC0gZXhjbHVkZSBpdGVtcyBmcm9tIGRlbGV0aW9uXG4iCkBAIC05MjUxLDY0ICsxMTYwMiw1NiBAQAogImhlbHAgICAgICAgICAgICAgICAgLSBkaWVzZSBNZWxkdW5nIGFuemVpZ2VuXG4iCiAiPyAgICAgICAgICAgICAgICAgICAtIEhpbGZlIHp1ciBBdXN3YWhsIG1pdHRlbHMgRWluZ2FiZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3OTMKLW1zZ2lkICIqKiogQ29tbWFuZHMgKioqIgotbXNnc3RyICIqKiogQmVmZWhsZSAqKioiCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MjAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzkwCi1tc2dpZCAiV2hhdCBub3ciCi1tc2dzdHIgIldhcyBudW4iCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MjgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MzEKIG1zZ2lkICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtOiIKIG1zZ2lkX3BsdXJhbCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbXM6IgogbXNnc3RyWzBdICJXw7xyZGUgZGFzIGZvbGdlbmRlIEVsZW1lbnQgZW50ZmVybmVuOiIKIG1zZ3N0clsxXSAiV8O8cmRlIGRpZSBmb2xnZW5kZW4gRWxlbWVudGUgZW50ZmVybmVuOiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg0NAorIzogYnVpbHRpbi9jbGVhbi5jOjg0NwogbXNnaWQgIk5vIG1vcmUgZmlsZXMgdG8gY2xlYW4sIGV4aXRpbmcuIgogbXNnc3RyICJLZWluZSBEYXRlaWVuIG1laHIgenVtIEzDtnNjaGVuLCBiZWVuZGUuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTA2CisjOiBidWlsdGluL2NsZWFuLmM6OTA5CiBtc2dpZCAiZG8gbm90IHByaW50IG5hbWVzIG9mIGZpbGVzIHJlbW92ZWQiCiBtc2dzdHIgImtlaW5lIE5hbWVuIHZvbiBnZWzDtnNjaHRlbiBEYXRlaWVuIGF1c2dlYmVuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTA4CisjOiBidWlsdGluL2NsZWFuLmM6OTExCiBtc2dpZCAiZm9yY2UiCiBtc2dzdHIgIkFrdGlvbiBlcnp3aW5nZW4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTIKIG1zZ2lkICJpbnRlcmFjdGl2ZSBjbGVhbmluZyIKIG1zZ3N0ciAiaW50ZXJha3RpdmVzIENsZWFuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTExCisjOiBidWlsdGluL2NsZWFuLmM6OTE0CiBtc2dpZCAicmVtb3ZlIHdob2xlIGRpcmVjdG9yaWVzIgogbXNnc3RyICJnYW56ZSBWZXJ6ZWljaG5pc3NlIGzDtnNjaGVuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTEyIGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDUgYnVpbHRpbi9kZXNjcmliZS5jOjU0NwotIzogYnVpbHRpbi9ncmVwLmM6ODg2IGJ1aWx0aW4vbG9nLmM6MTY2IGJ1aWx0aW4vbG9nLmM6MTY4Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU2IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTUgYnVpbHRpbi9uYW1lLXJldi5jOjQxNwotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OAorIzogYnVpbHRpbi9jbGVhbi5jOjkxNSBidWlsdGluL2Rlc2NyaWJlLmM6NTQ4IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMSBidWlsdGluL2xvZy5jOjE3NyBidWlsdGluL2xvZy5jOjE3OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NyBidWlsdGluL25hbWUtcmV2LmM6NDY0IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjYKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzkKIG1zZ2lkICJwYXR0ZXJuIgogbXNnc3RyICJNdXN0ZXIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTMKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTYKIG1zZ2lkICJhZGQgPHBhdHRlcm4+IHRvIGlnbm9yZSBydWxlcyIKIG1zZ3N0ciAiPE11c3Rlcj4genUgZGVuIFJlZ2VsbiBmw7xyIGlnbm9yaWVydGUgUGZhZGUgaGluenVmw7xnZW4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTQKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTcKIG1zZ2lkICJyZW1vdmUgaWdub3JlZCBmaWxlcywgdG9vIgogbXNnc3RyICJhdWNoIGlnbm9yaWVydGUgRGF0ZWllbiBsw7ZzY2hlbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkxNgorIzogYnVpbHRpbi9jbGVhbi5jOjkxOQogbXNnaWQgInJlbW92ZSBvbmx5IGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIm51ciBpZ25vcmllcnRlIERhdGVpZW4gbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MzQKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MzcKIG1zZ2lkICIteCBhbmQgLVggY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIkRpZSBPcHRpb25lbiAteCB1bmQgLVgga8O2bm5lbiBuaWNodCBnZW1laW5zYW0gdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MzgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5NDEKIG1zZ2lkICIiCiAiY2xlYW4ucmVxdWlyZUZvcmNlIHNldCB0byB0cnVlIGFuZCBuZWl0aGVyIC1pLCAtbiwgbm9yIC1mIGdpdmVuOyByZWZ1c2luZyB0byAiCiAiY2xlYW4iCkBAIC05MzE2LDcgKzExNjU5LDcgQEAKICJjbGVhbi5yZXF1aXJlRm9yY2UgYXVmIFwidHJ1ZVwiIGdlc2V0enQgdW5kIHdlZGVyIC1pLCAtbiBub2NoIC1mIGdlZ2ViZW47ICIKICJcImNsZWFuXCIgdmVyd2VpZ2VydCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjk0MQorIzogYnVpbHRpbi9jbGVhbi5jOjk0NAogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgIgogInJlZnVzaW5nIHRvIGNsZWFuIgpAQCAtOTMyNCwxNTIgKzExNjY3LDE3MiBAQAogImNsZWFuLnJlcXVpcmVGb3JjZSBzdGFuZGFyZG3DpMOfaWcgYXVmIFwidHJ1ZVwiIGdlc2V0enQgdW5kIHdlZGVyIC1pLCAtbiBub2NoIC0iCiAiZiBnZWdlYmVuOyBcImNsZWFuXCIgdmVyd2VpZ2VydCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQzCisjOiBidWlsdGluL2Nsb25lLmM6NDUKIG1zZ2lkICJnaXQgY2xvbmUgWzxvcHRpb25zPl0gWy0tXSA8cmVwbz4gWzxkaXI+XSIKIG1zZ3N0ciAiZ2l0IGNsb25lIFs8T3B0aW9uZW4+XSBbLS1dIDxSZXBvc2l0b3J5PiBbPFZlcnplaWNobmlzPl0iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OAorIzogYnVpbHRpbi9jbG9uZS5jOjkzCiBtc2dpZCAiZG9uJ3QgY3JlYXRlIGEgY2hlY2tvdXQiCiBtc2dzdHIgImtlaW4gQXVzY2hlY2tlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2luaXQtZGIuYzo0ODEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NCBidWlsdGluL2Nsb25lLmM6OTYgYnVpbHRpbi9pbml0LWRiLmM6NDg5CiBtc2dpZCAiY3JlYXRlIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJlaW4gQmFyZS1SZXBvc2l0b3J5IGVyc3RlbGxlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzCisjOiBidWlsdGluL2Nsb25lLmM6OTgKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAiZWluIFNwaWVnZWxhcmNoaXYgZXJzdGVsbGVuIChpbXBsaXppZXJ0IC0tYmFyZSkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NQorIzogYnVpbHRpbi9jbG9uZS5jOjEwMAogbXNnaWQgInRvIGNsb25lIGZyb20gYSBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICJ2b24gZWluZW0gbG9rYWxlbiBSZXBvc2l0b3J5IGtsb25lbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk3CisjOiBidWlsdGluL2Nsb25lLmM6MTAyCiBtc2dpZCAiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiCiBtc2dzdHIgImxva2FsIGtlaW5lIGhhcnRlbiBWZXJ3ZWlzZSB2ZXJ3ZW5kZW4sIGltbWVyIEtvcGllbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5CisjOiBidWlsdGluL2Nsb25lLmM6MTA0CiBtc2dpZCAic2V0dXAgYXMgc2hhcmVkIHJlcG9zaXRvcnkiCiBtc2dzdHIgImFscyB2ZXJ0ZWlsdGVzIFJlcG9zaXRvcnkgZWlucmljaHRlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMSBidWlsdGluL2Nsb25lLmM6MTA1CisjOiBidWlsdGluL2Nsb25lLmM6MTA3CiBtc2dpZCAicGF0aHNwZWMiCiBtc2dzdHIgIlBmYWRzcGV6aWZpa2F0aW9uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxIGJ1aWx0aW4vY2xvbmUuYzoxMDUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcKIG1zZ2lkICJpbml0aWFsaXplIHN1Ym1vZHVsZXMgaW4gdGhlIGNsb25lIgogbXNnc3RyICJTdWJtb2R1bGUgaW0gS2xvbiBpbml0aWFsaXNpZXJlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOAorIzogYnVpbHRpbi9jbG9uZS5jOjExMAogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGNsb25lZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAiQW56YWhsIGRlciBwYXJhbGxlbCB6dSBrbG9uZW5kZW4gU3VibW9kdWxlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OAorIzogYnVpbHRpbi9jbG9uZS5jOjExMSBidWlsdGluL2luaXQtZGIuYzo0ODYKIG1zZ2lkICJ0ZW1wbGF0ZS1kaXJlY3RvcnkiCiBtc2dzdHIgIlZvcmxhZ2VudmVyemVpY2huaXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAgYnVpbHRpbi9pbml0LWRiLmM6NDc5CisjOiBidWlsdGluL2Nsb25lLmM6MTEyIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NwogbXNnaWQgImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiCiBtc2dzdHIgIlZlcnplaWNobmlzLCB2b24gd2VsY2hlbSBkaWUgVm9ybGFnZW4gdmVyd2VuZGV0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMiBidWlsdGluL2Nsb25lLmM6MTE0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc1Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1NgorIzogYnVpbHRpbi9jbG9uZS5jOjExNCBidWlsdGluL2Nsb25lLmM6MTE2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzkyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NQogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5IgogbXNnc3RyICJSZXBvc2l0b3J5IHJlZmVyZW56aWVyZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzcKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODU4CisjOiBidWlsdGluL2Nsb25lLmM6MTE4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzk0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NwogbXNnaWQgInVzZSAtLXJlZmVyZW5jZSBvbmx5IHdoaWxlIGNsb25pbmciCiBtc2dzdHIgIi0tcmVmZXJlbmNlIG51ciB3w6RocmVuZCBkZXMgS2xvbmVucyBiZW51dHplbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExNyBidWlsdGluL2NvbHVtbi5jOjI3IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ2Ci0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDEgYnVpbHRpbi9yZXBhY2suYzozMjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTkgYnVpbHRpbi9jb2x1bW4uYzoyNyBidWlsdGluL21lcmdlLWZpbGUuYzo0NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk0IGJ1aWx0aW4vcmVwYWNrLmM6MzI3CiBtc2dpZCAibmFtZSIKIG1zZ3N0ciAiTmFtZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExOAorIzogYnVpbHRpbi9jbG9uZS5jOjEyMAogbXNnaWQgInVzZSA8bmFtZT4gaW5zdGVhZCBvZiAnb3JpZ2luJyB0byB0cmFjayB1cHN0cmVhbSIKIG1zZ3N0ciAiPE5hbWU+IHN0YXR0ICdvcmlnaW4nIGbDvHIgVXBzdHJlYW0tUmVwb3NpdG9yeSB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjIKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBpbnN0ZWFkIG9mIHRoZSByZW1vdGUncyBIRUFEIgogbXNnc3RyICI8QnJhbmNoPiBhdXNjaGVja2VuLCBhbnN0YXR0IEhFQUQgZGVzIFJlbW90ZS1SZXBvc2l0b3JpZXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjQKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICJQZmFkIHp1IFwiZ2l0LXVwbG9hZC1wYWNrXCIgYXVmIGRlciBHZWdlbnNlaXRlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTIzIGJ1aWx0aW4vZmV0Y2guYzoxNDIgYnVpbHRpbi9ncmVwLmM6ODI1Ci0jOiBidWlsdGluL3B1bGwuYzoyMTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjUgYnVpbHRpbi9mZXRjaC5jOjE2OCBidWlsdGluL2dyZXAuYzo4NDAKKyM6IGJ1aWx0aW4vcHVsbC5jOjIyNwogbXNnaWQgImRlcHRoIgogbXNnc3RyICJUaWVmZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyNAorIzogYnVpbHRpbi9jbG9uZS5jOjEyNgogbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgb2YgdGhhdCBkZXB0aCIKIG1zZ3N0ciAiIgogImVpbmVuIEtsb24gbWl0IHVudm9sbHN0w6RuZGlnZXIgSGlzdG9yaWUgKHNoYWxsb3cpIGluIGRpZXNlciBUaWVmZSBlcnN0ZWxsZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjUgYnVpbHRpbi9mZXRjaC5jOjE0NCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjcgYnVpbHRpbi9mZXRjaC5jOjE3MCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODMKIG1zZ2lkICJ0aW1lIgogbXNnc3RyICJaZWl0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI2CisjOiBidWlsdGluL2Nsb25lLmM6MTI4CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBzaW5jZSBhIHNwZWNpZmljIHRpbWUiCiBtc2dzdHIgIiIKICJlaW5lbiBLbG9uIG1pdCB1bnZvbGxzdMOkbmRpZ2VyIEhpc3RvcmllIChzaGFsbG93KSBzZWl0IGVpbmVyIGJlc3RpbW10ZW4gIgogIlplaXRcbiIKICJlcnN0ZWxsZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjcgYnVpbHRpbi9mZXRjaC5jOjE0NiBidWlsdGluL2ZldGNoLmM6MTY5Ci0jOiBidWlsdGluL3JlYmFzZS5jOjgzMQorIzogYnVpbHRpbi9jbG9uZS5jOjEyOSBidWlsdGluL2ZldGNoLmM6MTcyIGJ1aWx0aW4vZmV0Y2guYzoxOTUKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ0NQogbXNnaWQgInJldmlzaW9uIgogbXNnc3RyICJDb21taXQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjggYnVpbHRpbi9mZXRjaC5jOjE0NworIzogYnVpbHRpbi9jbG9uZS5jOjEzMCBidWlsdGluL2ZldGNoLmM6MTczCiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSwgZXhjbHVkaW5nIHJldiIKIG1zZ3N0ciAiIgogImRpZSBIaXN0b3JpZSBlaW5lcyBLbG9ucyBtaXQgdW52b2xsc3TDpG5kaWdlciBIaXN0b3JpZSAoc2hhbGxvdykgbWl0dGVsc1xuIgogIkF1c3NjaGx1c3MgZWluZXMgQ29tbWl0cyB2ZXJ0aWVmZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzIKIG1zZ2lkICJjbG9uZSBvbmx5IG9uZSBicmFuY2gsIEhFQUQgb3IgLS1icmFuY2giCiBtc2dzdHIgIm51ciBlaW5lbiBCcmFuY2gga2xvbmVuLCBIRUFEIG9kZXIgLS1icmFuY2giCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzQKIG1zZ2lkICJkb24ndCBjbG9uZSBhbnkgdGFncywgYW5kIG1ha2UgbGF0ZXIgZmV0Y2hlcyBub3QgdG8gZm9sbG93IHRoZW0iCiBtc2dzdHIgImtlaW5lIFRhZ3Mga2xvbmVuLCB1bmQgYXVjaCBiZWkgc3DDpHRlcmVuIEFicnVmZW4gbmljaHQgYmVhY2h0ZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzYKIG1zZ2lkICJhbnkgY2xvbmVkIHN1Ym1vZHVsZXMgd2lsbCBiZSBzaGFsbG93IgogbXNnc3RyICJqZWRlcyBnZWtsb250ZSBTdWJtb2R1bCBtaXQgdW52b2xsc3TDpG5kaWdlciBIaXN0b3JpZSAoc2hhbGxvdykiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzUgYnVpbHRpbi9pbml0LWRiLmM6NDg3CisjOiBidWlsdGluL2Nsb25lLmM6MTM3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NQogbXNnaWQgImdpdGRpciIKIG1zZ3N0ciAiLmdpdC1WZXJ6ZWljaG5pcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzNiBidWlsdGluL2luaXQtZGIuYzo0ODgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzggYnVpbHRpbi9pbml0LWRiLmM6NDk2CiBtc2dpZCAic2VwYXJhdGUgZ2l0IGRpciBmcm9tIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiR2l0LVZlcnplaWNobmlzIHZvbSBBcmJlaXRzdmVyemVpY2huaXMgc2VwYXJpZXJlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzNworIzogYnVpbHRpbi9jbG9uZS5jOjEzOQogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAiU2NobMO8c3NlbD1XZXJ0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM4CisjOiBidWlsdGluL2Nsb25lLmM6MTQwCiBtc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgogbXNnc3RyICJLb25maWd1cmF0aW9uIGlubmVyaGFsYiBkZXMgbmV1ZW4gUmVwb3NpdG9yaWVzIHNldHplbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzOSBidWlsdGluL2ZldGNoLmM6MTY1IGJ1aWx0aW4vcHVsbC5jOjIzMAotIzogYnVpbHRpbi9wdXNoLmM6NTgzCisjOiBidWlsdGluL2Nsb25lLmM6MTQyIGJ1aWx0aW4vZmV0Y2guYzoxOTAgYnVpbHRpbi9scy1yZW1vdGUuYzo3NgorIzogYnVpbHRpbi9wdXNoLmM6NTczIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcyCittc2dpZCAic2VydmVyLXNwZWNpZmljIgorbXNnc3RyICJzZXJ2ZXJzcGV6aWZpc2NoIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTQyIGJ1aWx0aW4vZmV0Y2guYzoxOTAgYnVpbHRpbi9scy1yZW1vdGUuYzo3NgorIzogYnVpbHRpbi9wdXNoLmM6NTczIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTczCittc2dpZCAib3B0aW9uIHRvIHRyYW5zbWl0IgorbXNnc3RyICJPcHRpb24gw7xiZXJ0cmFnZW4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDMgYnVpbHRpbi9mZXRjaC5jOjE5MSBidWlsdGluL3B1bGwuYzoyNDAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3NAogbXNnaWQgInVzZSBJUHY0IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICJudXIgSVB2NC1BZHJlc3NlbiBiZW51dHplbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjE0MSBidWlsdGluL2ZldGNoLmM6MTY3IGJ1aWx0aW4vcHVsbC5jOjIzMwotIzogYnVpbHRpbi9wdXNoLmM6NTg1CisjOiBidWlsdGluL2Nsb25lLmM6MTQ1IGJ1aWx0aW4vZmV0Y2guYzoxOTMgYnVpbHRpbi9wdWxsLmM6MjQzCisjOiBidWlsdGluL3B1c2guYzo1NzYKIG1zZ2lkICJ1c2UgSVB2NiBhZGRyZXNzZXMgb25seSIKIG1zZ3N0ciAibnVyIElQdjYtQWRyZXNzZW4gYmVudXR6ZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoyNzkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDkKK21zZ2lkICJhbnkgY2xvbmVkIHN1Ym1vZHVsZXMgd2lsbCB1c2UgdGhlaXIgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKK21zZ3N0ciAiamVkZXMgZ2VrbG9udGUgU3VibW9kdWwgbnV0enQgc2VpbmVuIFJlbW90ZS1UcmFja2luZy1CcmFuY2giCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNTEKK21zZ2lkICJpbml0aWFsaXplIHNwYXJzZS1jaGVja291dCBmaWxlIHRvIGluY2x1ZGUgb25seSBmaWxlcyBhdCByb290IgorbXNnc3RyICIiCisiSW5pdGlhbGlzaWVyZSBEYXRlaSBmw7xyIHBhcnRpZWxsZW4gQ2hlY2tvdXQsIHVtIG51ciBEYXRlaWVuIGltXG4iCisiUm9vdC1WZXJ6ZWljaG5pcyBlaW56dWJlemllaGVuIgorCisjOiBidWlsdGluL2Nsb25lLmM6Mjg3CiBtc2dpZCAiIgogIk5vIGRpcmVjdG9yeSBuYW1lIGNvdWxkIGJlIGd1ZXNzZWQuXG4iCiAiUGxlYXNlIHNwZWNpZnkgYSBkaXJlY3Rvcnkgb24gdGhlIGNvbW1hbmQgbGluZSIKQEAgLTk0NzcsMTQ3ICsxMTg0MCwxNDYgQEAKICJLb25udGUga2VpbmVuIFZlcnplaWNobmlzbmFtZW4gZXJyYXRlbi5cbiIKICJCaXR0ZSBnZWJlbiBTaWUgZWluIFZlcnplaWNobmlzIGF1ZiBkZXIgQmVmZWhsc3plaWxlIGFuLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMzMgorIzogYnVpbHRpbi9jbG9uZS5jOjM0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZvOiBDb3VsZCBub3QgYWRkIGFsdGVybmF0ZSBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAiaW5mbzogS29ubnRlIEFsdGVybmF0aXZlIGbDvHIgJyVzJyBuaWNodCBoaW56dWbDvGdlbjogJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQwNAotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgotbXNnc3RyICJGZWhsZXIgYmVpbSDDlmZmbmVuIHZvbiAnJXMnIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NDEyCisjOiBidWlsdGluL2Nsb25lLmM6NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGV4aXN0cyBhbmQgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICIlcyBleGlzdGllcnQgdW5kIGlzdCBrZWluIFZlcnplaWNobmlzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDI2CisjOiBidWlsdGluL2Nsb25lLmM6NDMwCiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCi1tc2dzdHIgIktvbm50ZSAlcyBuaWNodCBsZXNlblxuIgorbXNnaWQgImZhaWxlZCB0byBzdGFydCBpdGVyYXRvciBvdmVyICclcyciCittc2dzdHIgIkZlaGxlciBiZWltIFN0YXJ0ZW4gZGVyIEl0ZXJhdGlvbiDDvGJlciAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDQzCi0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKLW1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgZW50ZmVybmVuLiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjQ0OAorIzogYnVpbHRpbi9jbG9uZS5jOjQ2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGxpbmsgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIFZlcndlaXMgJyVzJyBuaWNodCBlcnN0ZWxsZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNvcHkgZmlsZSB0byAnJXMnIgogbXNnc3RyICJLb25udGUgRGF0ZWkgbmljaHQgbmFjaCAnJXMnIGtvcGllcmVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDc4CisjOiBidWlsdGluL2Nsb25lLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpdGVyYXRlIG92ZXIgJyVzJyIKK21zZ3N0ciAiRmVobGVyIGJlaW0gSXRlcmllcmVuIMO8YmVyICclcyciCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG9uZS5cbiIKIG1zZ3N0ciAiRmVydGlnLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDkyCisjOiBidWlsdGluL2Nsb25lLmM6NTA4CiBtc2dpZCAiIgogIkNsb25lIHN1Y2NlZWRlZCwgYnV0IGNoZWNrb3V0IGZhaWxlZC5cbiIKICJZb3UgY2FuIGluc3BlY3Qgd2hhdCB3YXMgY2hlY2tlZCBvdXQgd2l0aCAnZ2l0IHN0YXR1cydcbiIKLSJhbmQgcmV0cnkgdGhlIGNoZWNrb3V0IHdpdGggJ2dpdCBjaGVja291dCAtZiBIRUFEJ1xuIgorImFuZCByZXRyeSB3aXRoICdnaXQgcmVzdG9yZSAtLXNvdXJjZT1IRUFEIDovJ1xuIgogbXNnc3RyICIiCiAiS2xvbmVuIGVyZm9sZ3JlaWNoLCBBdXNjaGVja2VuIGlzdCBhYmVyIGZlaGxnZXNjaGxhZ2VuLlxuIgogIlNpZSBrw7ZubmVuIG1pdCAnZ2l0IHN0YXR1cycgcHLDvGZlbiwgd2FzIGF1c2dlY2hlY2t0IHdvcmRlbiBpc3RcbiIKLSJ1bmQgZGFzIEF1c2NoZWNrZW4gbWl0ICdnaXQgY2hlY2tvdXQgLWYgSEVBRCcgZXJuZXV0IHZlcnN1Y2hlbi5cbiIKKyJ1bmQgZGFzIEF1c2NoZWNrZW4gbWl0ICdnaXQgcmVzdG9yZSAtLXNvdXJjZT1IRUFEIDovJyBlcm5ldXQgdmVyc3VjaGVuLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTY5CisjOiBidWlsdGluL2Nsb25lLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbW90ZSBicmFuY2ggJXMgdG8gY2xvbmUuIgogbXNnc3RyICJLb25udGUgenUga2xvbmVuZGVuIFJlbW90ZS1CcmFuY2ggJXMgbmljaHQgZmluZGVuLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY4MAorIzogYnVpbHRpbi9jbG9uZS5jOjcwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlICVzIgogbXNnc3RyICJrYW5uICVzIG5pY2h0IGFrdHVhbGlzaWVyZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NTIKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzcGFyc2UtY2hlY2tvdXQiCittc2dzdHIgIkZlaGxlciBiZWltIEluaXRpYWxpc2llcmVuIHZvbSBwYXJ0aWVsbGVuIENoZWNrb3V0LiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjc3NQogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAiIgogIkV4dGVybmVyIEhFQUQgYmV6aWVodCBzaWNoIGF1ZiBlaW5lIG5pY2h0IGV4aXN0aWVyZW5kZSBSZWZlcmVueiB1bmQga2FubiAiCiAibmljaHQgYXVzZ2VjaGVja3Qgd2VyZGVuLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzYxCisjOiBidWlsdGluL2Nsb25lLmM6ODA2CiBtc2dpZCAidW5hYmxlIHRvIGNoZWNrb3V0IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiQXJiZWl0c3ZlcnplaWNobmlzIGtvbm50ZSBuaWNodCBhdXNnZWNoZWNrdCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MDYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTYKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcGFyYW1ldGVycyB0byBjb25maWcgZmlsZSIKIG1zZ3N0ciAia29ubnRlIFBhcmFtZXRlciBuaWNodCBpbiBLb25maWd1cmF0aW9uc2RhdGVpIHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2OQorIzogYnVpbHRpbi9jbG9uZS5jOjkxOQogbXNnaWQgImNhbm5vdCByZXBhY2sgdG8gY2xlYW4gdXAiCiBtc2dzdHIgIkthbm4gXCJyZXBhY2tcIiB6dW0gQXVmcsOkdW1lbiBuaWNodCBhdWZydWZlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg3MQorIzogYnVpbHRpbi9jbG9uZS5jOjkyMQogbXNnaWQgImNhbm5vdCB1bmxpbmsgdGVtcG9yYXJ5IGFsdGVybmF0ZXMgZmlsZSIKIG1zZ3N0ciAiS2FubiB0ZW1wb3LDpHJlIFwiYWx0ZXJuYXRlc1wiLURhdGVpIG5pY2h0IGVudGZlcm5lbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxMSBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NTkgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQ4CiBtc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKIG1zZ3N0ciAiWnUgdmllbGUgQXJndW1lbnRlLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxNQorIzogYnVpbHRpbi9jbG9uZS5jOjk2MwogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSByZXBvc2l0b3J5IHRvIGNsb25lLiIKIG1zZ3N0ciAiU2llIG3DvHNzZW4gZWluIFJlcG9zaXRvcnkgenVtIEtsb25lbiBhbmdlYmVuLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyOAorIzogYnVpbHRpbi9jbG9uZS5jOjk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICItLWJhcmUgYW5kIC0tb3JpZ2luICVzIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgIkRpZSBPcHRpb25lbiAtLWJhcmUgdW5kIC0tb3JpZ2luICVzIHNpbmQgaW5rb21wYXRpYmVsLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzMQorIzogYnVpbHRpbi9jbG9uZS5jOjk3OQogbXNnaWQgIi0tYmFyZSBhbmQgLS1zZXBhcmF0ZS1naXQtZGlyIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1iYXJlIHVuZCAtLXNlcGFyYXRlLWdpdC1kaXIgc2luZCBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQ0CisjOiBidWlsdGluL2Nsb25lLmM6OTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiUmVwb3NpdG9yeSAnJXMnIGV4aXN0aWVydCBuaWNodC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NTAgYnVpbHRpbi9mZXRjaC5jOjE2MDYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OTggYnVpbHRpbi9mZXRjaC5jOjE3ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVwdGggJXMgaXMgbm90IGEgcG9zaXRpdmUgbnVtYmVyIgogbXNnc3RyICJUaWVmZSAlcyBpc3Qga2VpbmUgcG9zaXRpdmUgWmFobCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk2MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gcGF0aCAnJXMnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYW4gZW1wdHkgZGlyZWN0b3J5LiIKIG1zZ3N0ciAiWmllbHBmYWQgJyVzJyBleGlzdGllcnQgYmVyZWl0cyB1bmQgaXN0IGtlaW4gbGVlcmVzIFZlcnplaWNobmlzLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk3MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAid29ya2luZyB0cmVlICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICJBcmJlaXRzdmVyemVpY2huaXMgJyVzJyBleGlzdGllcnQgYmVyZWl0cy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5ODUgYnVpbHRpbi9jbG9uZS5jOjEwMDYgYnVpbHRpbi9kaWZmdG9vbC5jOjI3MQotIzogYnVpbHRpbi93b3JrdHJlZS5jOjI5NSBidWlsdGluL3dvcmt0cmVlLmM6MzI1CisjOiBidWlsdGluL2Nsb25lLmM6MTAzMyBidWlsdGluL2Nsb25lLmM6MTA1NCBidWlsdGluL2RpZmZ0b29sLmM6MjcxCisjOiBidWlsdGluL2xvZy5jOjE4NjYgYnVpbHRpbi93b3JrdHJlZS5jOjMwMiBidWlsdGluL3dvcmt0cmVlLmM6MzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAnJXMnIgogbXNnc3RyICJLb25udGUgZsO8aHJlbmRlIFZlcnplaWNobmlzc2Ugdm9uICclcycgbmljaHQgZXJzdGVsbGVuLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcyciCiBtc2dzdHIgIktvbm50ZSBBcmJlaXRzdmVyemVpY2huaXMgJyVzJyBuaWNodCBlcnN0ZWxsZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEwCisjOiBidWlsdGluL2Nsb25lLmM6MTA1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKIG1zZ3N0ciAiS2xvbmUgaW4gQmFyZS1SZXBvc2l0b3J5ICclcycgLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEyCisjOiBidWlsdGluL2Nsb25lLmM6MTA2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgogbXNnc3RyICJLbG9uZSBuYWNoICclcycgLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDM2CisjOiBidWlsdGluL2Nsb25lLmM6MTA4NAogbXNnaWQgIiIKICJjbG9uZSAtLXJlY3Vyc2l2ZSBpcyBub3QgY29tcGF0aWJsZSB3aXRoIGJvdGggLS1yZWZlcmVuY2UgYW5kIC0tcmVmZXJlbmNlLWlmLSIKICJhYmxlIgpAQCAtOTYyNSw0NSArMTE5ODcsNDUgQEAKICInY2xvbmUgLS1yZWN1cnNpdmUnIGlzdCBuaWNodCBrb21wYXRpYmVsIG1pdCAtLXJlZmVyZW5jZSB1bmQgLS1yZWZlcmVuY2UtaWYtIgogImFibGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDk3CisjOiBidWlsdGluL2Nsb25lLmM6MTE0OAogbXNnaWQgIi0tZGVwdGggaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbiAtLWRlcHRoIHdpcmQgaW4gbG9rYWxlbiBLbG9uZW4gaWdub3JpZXJ0OyBiZW51dHplbiBTaWUgIgogInN0YXR0ZGVzc2VuIGZpbGU6Ly8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDk5CisjOiBidWlsdGluL2Nsb25lLmM6MTE1MAogbXNnaWQgIi0tc2hhbGxvdy1zaW5jZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKICItLXNoYWxsb3ctc2luY2Ugd2lyZCBpbiBsb2thbGVuIEtsb25lbiBpZ25vcmllcnQ7IGJlbnV0emVuIFNpZSBzdGF0dGRlc3NlbiAiCiAiZmlsZTovLyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTUyCiBtc2dpZCAiLS1zaGFsbG93LWV4Y2x1ZGUgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICIiCiAiLS1zaGFsbG93LWV4Y2x1ZGUgd2lyZCBpbiBsb2thbGVuIEtsb25lbiBpZ25vcmllcnQ7IGJlbnV0emVuIFNpZSBzdGF0dGRlc3NlbiAiCiAiZmlsZTovLyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMDMKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTU0CiBtc2dpZCAiLS1maWx0ZXIgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICIiCiAiLS1maWx0ZXIgd2lyZCBpbiBsb2thbGVuIEtsb25lbiBpZ25vcmllcnQ7IGJlbnV0emVuIFNpZSBzdGF0dGRlc3NlbiBmaWxlOi8vIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEwNgorIzogYnVpbHRpbi9jbG9uZS5jOjExNTcKIG1zZ2lkICJzb3VyY2UgcmVwb3NpdG9yeSBpcyBzaGFsbG93LCBpZ25vcmluZyAtLWxvY2FsIgogbXNnc3RyICIiCiAiUXVlbGxlIGlzdCBlaW4gUmVwb3NpdG9yeSBtaXQgdW52b2xsc3TDpG5kaWdlciBIaXN0b3JpZSAoc2hhbGxvdyksXG4iCiAiaWdub3JpZXJlIC0tbG9jYWwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTExCisjOiBidWlsdGluL2Nsb25lLmM6MTE2MgogbXNnaWQgIi0tbG9jYWwgaXMgaWdub3JlZCIKIG1zZ3N0ciAiLS1sb2NhbCB3aXJkIGlnbm9yaWVydCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExODEgYnVpbHRpbi9jbG9uZS5jOjExODkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjM3IGJ1aWx0aW4vY2xvbmUuYzoxMjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgogbXNnc3RyICJSZW1vdGUtQnJhbmNoICVzIG5pY2h0IGltIFVwc3RyZWFtLVJlcG9zaXRvcnkgJXMgZ2VmdW5kZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTkyCisjOiBidWlsdGluL2Nsb25lLmM6MTI0OAogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIlNpZSBzY2hlaW5lbiBlaW4gbGVlcmVzIFJlcG9zaXRvcnkgZ2VrbG9udCB6dSBoYWJlbi4iCiAKQEAgLTk2OTksMTUgKzEyMDYxLDgzIEBACiBtc2dpZCAiLS1jb21tYW5kIG11c3QgYmUgdGhlIGZpcnN0IGFyZ3VtZW50IgogbXNnc3RyICJEaWUgT3B0aW9uIC0tY29tbWFuZCBtdXNzIGFuIGVyc3RlciBTdGVsbGUgc3RlaGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MAorIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjE4Cittc2dpZCAiIgorImdpdCBjb21taXQtdHJlZSBbKC1wIDxwYXJlbnQ+KS4uLl0gWy1TWzxrZXlpZD5dXSBbKC1tIDxtZXNzYWdlPikuLi5dIFsoLUYgIgorIjxmaWxlPikuLi5dIDx0cmVlPiIKK21zZ3N0ciAiIgorImdpdCBjb21taXQtdHJlZSBbKC1wIDxFbHRlcm4tQ29tbWl0PikuLi5dIFstU1s8S2V5LUlEPl1dIFsoLW0gIgorIjxOYWNocmljaHQ+KS4uLl0gWygtRiA8RGF0ZWk+KS4uLl0gPFRyZWUtT2JqZWt0PiIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImR1cGxpY2F0ZSBwYXJlbnQgJXMgaWdub3JlZCIKK21zZ3N0ciAiZG9wcGVsdGVyIFZvcmfDpG5nZXIgJXMgaWdub3JpZXJ0IgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6NTYgYnVpbHRpbi9jb21taXQtdHJlZS5jOjEzNiBidWlsdGluL2xvZy5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKK21zZ3N0ciAiS2VpbiBnw7xsdGlnZXIgT2JqZWt0bmFtZTogJXMiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byBvcGVuICclcyciCittc2dzdHIgImdpdCBjb21taXQtdHJlZTogRmVobGVyIGJlaW0gw5ZmZm5lbiB2b24gJyVzJyIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIHJlYWQgJyVzJyIKK21zZ3N0ciAiZ2l0IGNvbW1pdC10cmVlOiBGZWhsZXIgYmVpbSBMZXNlbiB2b24gJyVzJyIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIGNsb3NlICclcyciCittc2dzdHIgImdpdCBjb21taXQtdHJlZTogRmVobGVyIGJlaW0gU2NobGllw59lbiB2b24gJyVzJyIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExMQorbXNnaWQgInBhcmVudCIKK21zZ3N0ciAiRWx0ZXJuLUNvbW1pdCIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExMgorbXNnaWQgImlkIG9mIGEgcGFyZW50IGNvbW1pdCBvYmplY3QiCittc2dzdHIgIklEIGVpbmVzIEVsdGVybi1Db21taXQtT2JqZWt0ZXMuIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTE0IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NiBidWlsdGluL21lcmdlLmM6MjcwCisjOiBidWlsdGluL25vdGVzLmM6NDA5IGJ1aWx0aW4vbm90ZXMuYzo1NzUgYnVpbHRpbi9zdGFzaC5jOjE0NjkKKyM6IGJ1aWx0aW4vdGFnLmM6NDEyCittc2dpZCAibWVzc2FnZSIKK21zZ3N0ciAiQmVzY2hyZWlidW5nIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTE1IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NgorbXNnaWQgImNvbW1pdCBtZXNzYWdlIgorbXNnc3RyICJDb21taXQtQmVzY2hyZWlidW5nIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTE4Cittc2dpZCAicmVhZCBjb21taXQgbG9nIG1lc3NhZ2UgZnJvbSBmaWxlIgorbXNnc3RyICJDb21taXQtQmVzY2hyZWlidW5nIHZvbiBEYXRlaSBsZXNlbiIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjEyMSBidWlsdGluL2NvbW1pdC5jOjE1MDggYnVpbHRpbi9tZXJnZS5jOjI4NworIzogYnVpbHRpbi9wdWxsLmM6MTk1IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE4Cittc2dpZCAiR1BHIHNpZ24gY29tbWl0IgorbXNnc3RyICJDb21taXQgbWl0IEdQRyBzaWduaWVyZW4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMzMKK21zZ2lkICJtdXN0IGdpdmUgZXhhY3RseSBvbmUgdHJlZSIKK21zZ3N0ciAiQnJhdWNoZSBnZW5hdSBlaW4gVHJlZS1PYmpla3QuIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTQwCittc2dpZCAiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gcmVhZCIKK21zZ3N0ciAiZ2l0IGNvbW1pdC10cmVlOiBGZWhsZXIgYmVpbSBMZXNlbiIKKworIzogYnVpbHRpbi9jb21taXQuYzo0MQogbXNnaWQgImdpdCBjb21taXQgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgY29tbWl0IFs8T3B0aW9uZW4+XSBbLS1dIDxQZmFkc3BlemlmaWthdGlvbj4uLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDYKIG1zZ2lkICJnaXQgc3RhdHVzIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IHN0YXR1cyBbPE9wdGlvbmVuPl0gWy0tXSA8UGZhZHNwZXppZmlrYXRpb24+Li4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjUwCisjOiBidWlsdGluL2NvbW1pdC5jOjUxCiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBhbWVuZCB0aGUgbW9zdCByZWNlbnQgY29tbWl0LCBidXQgZG9pbmcgc28gd291bGQgbWFrZVxuIgogIml0IGVtcHR5LiBZb3UgY2FuIHJlcGVhdCB5b3VyIGNvbW1hbmQgd2l0aCAtLWFsbG93LWVtcHR5LCBvciB5b3UgY2FuXG4iCkBAIC05NzE3LDcgKzEyMTQ3LDcgQEAKICJtYWNoZW4uIFNpZSBrw7ZubmVuIElocmVuIEJlZmVobCBtaXQgLS1hbGxvdy1lbXB0eSB3aWVkZXJob2xlbiwgb2RlciBkaWVzZW5cbiIKICJDb21taXQgbWl0IFwiZ2l0IHJlc2V0IEhFQUReXCIgdm9sbHN0w6RuZGlnIGVudGZlcm5lbi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NQorIzogYnVpbHRpbi9jb21taXQuYzo1NgogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCkBAIC05NzMyLDgyICsxMjE2Miw5NiBAQAogIiAgICBnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHlcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MgotbXNnaWQgIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgotbXNnc3RyICJBbmRlcm5mYWxscyBiZW51dHplbiBTaWUgYml0dGUgJ2dpdCByZXNldCdcbiIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjMKK21zZ2lkICJPdGhlcndpc2UsIHBsZWFzZSB1c2UgJ2dpdCBjaGVycnktcGljayAtLXNraXAnXG4iCittc2dzdHIgIkFuZGVybmZhbGxzIGJlbnV0emVuIFNpZSBiaXR0ZSAnZ2l0IGNoZXJyeS1waWNrIC0tc2tpcCdcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NQorIzogYnVpbHRpbi9jb21taXQuYzo2NgogbXNnaWQgIiIKKyJhbmQgdGhlbiB1c2U6XG4iCisiXG4iCisiICAgIGdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXG4iCisiXG4iCisidG8gcmVzdW1lIGNoZXJyeS1waWNraW5nIHRoZSByZW1haW5pbmcgY29tbWl0cy5cbiIKICJJZiB5b3Ugd2lzaCB0byBza2lwIHRoaXMgY29tbWl0LCB1c2U6XG4iCiAiXG4iCi0iICAgIGdpdCByZXNldFxuIgorIiAgICBnaXQgY2hlcnJ5LXBpY2sgLS1za2lwXG4iCiAiXG4iCi0iVGhlbiBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgd2lsbCByZXN1bWUgY2hlcnJ5LXBpY2tpbmdcbiIKLSJ0aGUgcmVtYWluaW5nIGNvbW1pdHMuXG4iCiBtc2dzdHIgIiIKLSJXZW5uIFNpZSBkaWVzZW4gQ29tbWl0IGF1c2xhc3NlbiBtw7ZjaHRlbiwgYmVudXR6ZW4gU2llOlxuIgorIlVuZCBkYW5uIG51dHplbiBTaWU6XG4iCiAiXG4iCi0iICAgIGdpdCByZXNldFxuIgorIiAgICBnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVxuIgogIlxuIgotIkJlbnV0emVuIFNpZSBhbnNjaGxpZcOfZW5kIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiwgdW0gZGllXG4iCi0iQ2hlcnJ5LVBpY2stT3BlcmF0aW9uIG1pdCBkZW4gdmVyYmxlaWJlbmRlbiBDb21taXRzIGZvcnR6dXNldHplbi5cbiIKKyJ1bSBkYXMgQ2hlcnJ5LVBpY2tpbmcgbWl0IGRlbiDDvGJyaWdlbiBDb21taXRzIGZvcnR6dXNldHplbi5cbiIKKyJXZW5uIGRpZXNlciBDb21taXQgw7xiZXJzcHJ1bmdlbiB3ZXJkZW4gc29sbCwgbnV0emVuIFNpZTpcbiIKKyJcbiIKKyIgICAgZ2l0IGNoZXJyeS1waWNrIC0tc2tpcFxuIgorIlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjMxMQorIzogYnVpbHRpbi9jb21taXQuYzozMTUKIG1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCi1tc2dzdHIgIkZlaGxlciBiZWltIEVudHBhY2tlbiBkZXMgXCJUcmVlXCItT2JqZWt0ZXMgdm9uIEhFQUQuIgorbXNnc3RyICJGZWhsZXIgYmVpbSBFbnRwYWNrZW4gZGVzIFRyZWUtT2JqZWt0ZXMgdm9uIEhFQUQuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1MgorIzogYnVpbHRpbi9jb21taXQuYzozNTEKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIk9wdGlvbiAtLXBhdGhzcGVjLWZyb20tZmlsZSBtaXQgLWEgaXN0IG5pY2h0IHNpbm52b2xsLiIKKworIzogYnVpbHRpbi9jb21taXQuYzozNjQKK21zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCittc2dzdHIgIktlaW5lIFBmYWRlIG1pdCBkZXIgT3B0aW9uIC0taW5jbHVkZS8tLW9ubHkgaXN0IG5pY2h0IHNpbm52b2xsLiIKKworIzogYnVpbHRpbi9jb21taXQuYzozNzYKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAiS29ubnRlIHRlbXBvcsOkcmVuIEluZGV4IG5pY2h0IGVyc3RlbGxlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzU4CisjOiBidWlsdGluL2NvbW1pdC5jOjM4MgogbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCiBtc2dzdHIgImludGVyYWt0aXZlcyBIaW56dWbDvGdlbiBmZWhsZ2VzY2hsYWdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Mzk2CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgIktvbm50ZSB0ZW1wb3LDpHJlbiBJbmRleCBuaWNodCBha3R1YWxpc2llcmVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Mzk4CiBtc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBtYWluIGNhY2hlIHRyZWUiCiBtc2dzdHIgIktvbm50ZSBIYXVwdC1DYWNoZS1WZXJ6ZWljaG5pcyBuaWNodCBha3R1YWxpc2llcmVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM5OCBidWlsdGluL2NvbW1pdC5jOjQyMSBidWlsdGluL2NvbW1pdC5jOjQ2NworIzogYnVpbHRpbi9jb21taXQuYzo0MjMgYnVpbHRpbi9jb21taXQuYzo0NDYgYnVpbHRpbi9jb21taXQuYzo0OTIKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3X2luZGV4IGZpbGUiCiBtc2dzdHIgIktvbm50ZSBuZXdfaW5kZXggRGF0ZWkgbmljaHQgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1MAorIzogYnVpbHRpbi9jb21taXQuYzo0NzUKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBtZXJnZS4iCiBtc2dzdHIgIkthbm4ga2VpbmVuIFRlaWwtQ29tbWl0IGR1cmNoZsO8aHJlbiwgd8OkaHJlbmQgZWluIE1lcmdlIGltIEdhbmdlIGlzdC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDUyCisjOiBidWlsdGluL2NvbW1pdC5jOjQ3NwogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAiIgogIkthbm4ga2VpbmVuIFRlaWwtQ29tbWl0IGR1cmNoZsO8aHJlbiwgd8OkaHJlbmQgXCJjaGVycnktcGlja1wiIGltIEdhbmdlIGlzdC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDYwCisjOiBidWlsdGluL2NvbW1pdC5jOjQ4NQogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiS2FubiBJbmRleCBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTA0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRlbXBvcmFyeSBpbmRleCBmaWxlIgogbXNnc3RyICJLb25udGUgdGVtcG9yw6RyZSBJbmRleC1EYXRlaSBuaWNodCBzY2hyZWliZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU3NworIzogYnVpbHRpbi9jb21taXQuYzo2MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICclcycgbGFja3MgYXV0aG9yIGhlYWRlciIKIG1zZ3N0ciAiQ29tbWl0ICclcycgZmVobHQgQXV0b3ItS29wZmJlcmVpY2giCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTc5CisjOiBidWlsdGluL2NvbW1pdC5jOjYwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJyVzJyBoYXMgbWFsZm9ybWVkIGF1dGhvciBsaW5lIgogbXNnc3RyICJDb21taXQgJyVzJyBoYXQgZmVobGVyaGFmdGUgQXV0b3ItWmVpbGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTk4CisjOiBidWlsdGluL2NvbW1pdC5jOjYyMwogbXNnaWQgIm1hbGZvcm1lZCAtLWF1dGhvciBwYXJhbWV0ZXIiCiBtc2dzdHIgIkZlaGxlcmhhZnRlciAtLWF1dGhvciBQYXJhbWV0ZXIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjUwCisjOiBidWlsdGluL2NvbW1pdC5jOjY3NgogbXNnaWQgIiIKICJ1bmFibGUgdG8gc2VsZWN0IGEgY29tbWVudCBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgdXNlZFxuIgogImluIHRoZSBjdXJyZW50IGNvbW1pdCBtZXNzYWdlIgpAQCAtOTgxNSwzOCArMTIyNTksMzggQEAKICJLb25udGUga2VpbiBLb21tZW50YXItWmVpY2hlbiBhdXN3w6RobGVuLCBkYXMgbmljaHQgaW5cbiIKICJkZXIgYWt0dWVsbGVuIENvbW1pdC1CZXNjaHJlaWJ1bmcgdmVyd2VuZGV0IHdpcmQuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY4NyBidWlsdGluL2NvbW1pdC5jOjcyMCBidWlsdGluL2NvbW1pdC5jOjEwNDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzE0IGJ1aWx0aW4vY29tbWl0LmM6NzQ3IGJ1aWx0aW4vY29tbWl0LmM6MTA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIGNvbW1pdCAlcyIKIG1zZ3N0ciAiS29ubnRlIENvbW1pdCAlcyBuaWNodCBuYWNoc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Njk5IGJ1aWx0aW4vc2hvcnRsb2cuYzozMTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzI2IGJ1aWx0aW4vc2hvcnRsb2cuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAiKGxlc2UgTG9nLU5hY2hyaWNodCB2b24gU3RhbmRhcmQtRWluZ2FiZSlcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzI4CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIktvbm50ZSBMb2cgbmljaHQgdm9uIFN0YW5kYXJkLUVpbmdhYmUgbGVzZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwNQorIzogYnVpbHRpbi9jb21taXQuYzo3MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZpbGUgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIExvZy1EYXRlaSAnJXMnIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczNCBidWlsdGluL2NvbW1pdC5jOjc0MgorIzogYnVpbHRpbi9jb21taXQuYzo3NjMgYnVpbHRpbi9jb21taXQuYzo3NzkKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBTUVVBU0hfTVNHIgogbXNnc3RyICJLb25udGUgU1FVQVNIX01TRyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzcwCiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTVNHIgogbXNnc3RyICJLb25udGUgTUVSR0VfTVNHIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc5MworIzogYnVpbHRpbi9jb21taXQuYzo4MzAKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgY29tbWl0IHRlbXBsYXRlIgogbXNnc3RyICJLb25udGUgQ29tbWl0LVZvcmxhZ2UgbmljaHQgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgxMQorIzogYnVpbHRpbi9jb21taXQuYzo4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtOTg2MSw3ICsxMjMwNSw3IEBACiAiXHQlc1xuIgogInVuZCB2ZXJzdWNoZW4gU2llIGVzIGVybmV1dC5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTk4NzYsNyArMTIzMjAsNyBAQAogIlx0JXNcbiIKICJ1bmQgdmVyc3VjaGVuIFNpZSBlcyBlcm5ldXQuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODI5CisjOiBidWlsdGluL2NvbW1pdC5jOjg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgpAQCAtOTg4Niw3ICsxMjMzMCw3IEBACiAiZGllIG1pdCAnJWMnIGJlZ2lubmVuLCB3ZXJkZW4gaWdub3JpZXJ0LCB1bmQgZWluZSBsZWVyZSBCZXNjaHJlaWJ1bmdcbiIKICJicmljaHQgZGVuIENvbW1pdCBhYi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC05ODk5LDE1OSArMTIzNDMsMTQ5IEBACiAiZW50ZmVybmVuLlxuIgogIkVpbmUgbGVlcmUgQmVzY2hyZWlidW5nIGJyaWNodCBkZW4gQ29tbWl0IGFiLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg1NAorIzogYnVpbHRpbi9jb21taXQuYzo4OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNBdXRob3I6ICAgICUuKnMgPCUuKnM+IgogbXNnc3RyICIlc0F1dG9yOiAgICAgICAgICAgJS4qcyA8JS4qcz4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODYyCisjOiBidWlsdGluL2NvbW1pdC5jOjkwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0RhdGU6ICAgICAgJXMiCiBtc2dzdHIgIiVzRGF0dW06ICAgICAgICAgICAgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODY5CisjOiBidWlsdGluL2NvbW1pdC5jOjkwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0NvbW1pdHRlcjogJS4qcyA8JS4qcz4iCiBtc2dzdHIgIiVzQ29tbWl0LUVyc3RlbGxlcjogJS4qcyA8JS4qcz4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODg3CisjOiBidWlsdGluL2NvbW1pdC5jOjkyNQogbXNnaWQgIkNhbm5vdCByZWFkIGluZGV4IgogbXNnc3RyICJLYW5uIEluZGV4IG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk1MworIzogYnVpbHRpbi9jb21taXQuYzo5OTIKIG1zZ2lkICJFcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRXJ6ZXVnZW4gZGVyIFwiVHJlZVwiLU9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTY3IGJ1aWx0aW4vdGFnLmM6MjU4CisjOiBidWlsdGluL2NvbW1pdC5jOjEwMDYgYnVpbHRpbi90YWcuYzoyNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbWVzc2FnZSB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uLlxuIgogbXNnc3RyICIiCiAiQml0dGUgbGllZmVybiBTaWUgZWluZSBCZXNjaHJlaWJ1bmcgZW50d2VkZXIgbWl0IGRlciBPcHRpb24gLW0gb2RlciAtRi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDExCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1hdXRob3IgJyVzJyBpcyBub3QgJ05hbWUgPGVtYWlsPicgYW5kIG1hdGNoZXMgbm8gZXhpc3RpbmcgYXV0aG9yIgogbXNnc3RyICIiCiAiLS1hdXRob3IgJyVzJyBpc3QgbmljaHQgaW0gRm9ybWF0ICdOYW1lIDxFLU1haWw+JyB1bmQgc3RpbW10IG1pdCBrZWluZW0gIgogInZvcmhhbmRlbmVuIEF1dG9yIMO8YmVyZWluIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGlnbm9yZWQgbW9kZSAnJXMnIgogbXNnc3RyICJVbmfDvGx0aWdlciBpZ25vcmVkLU1vZHVzICclcycuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMzkgYnVpbHRpbi9jb21taXQuYzoxMjc2CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODIgYnVpbHRpbi9jb21taXQuYzoxMzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgTW9kdXMgJyVzJyBmw7xyIHVudmVyc2lvbmllcnRlIERhdGVpZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3NworIzogYnVpbHRpbi9jb21taXQuYzoxMTIyCiBtc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1sb25nIHVuZCAteiBzaW5kIGlua29tcGF0aWJlbC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExMAorIzogYnVpbHRpbi9jb21taXQuYzoxMTY2CiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb25lbiAtLXJlc2V0LWF1dGhvciB1bmQgLS1hdXRob3Iga8O2bm5lbiBuaWNodCBnZW1laW5zYW0gdmVyd2VuZGV0ICIKICJ3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3NQogbXNnaWQgIllvdSBoYXZlIG5vdGhpbmcgdG8gYW1lbmQuIgogbXNnc3RyICJTaWUgaGFiZW4gbmljaHRzIGbDvHIgXCItLWFtZW5kXCIuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3OAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIkVpbiBNZXJnZSBpc3QgaW0gR2FuZ2UgLS0ga2FubiBcIi0tYW1lbmRcIiBuaWNodCBhdXNmw7xocmVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTI0CisjOiBidWlsdGluL2NvbW1pdC5jOjExODAKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICJcImNoZXJyeS1waWNrXCIgaXN0IGltIEdhbmdlIC0tIGthbm4gXCItLWFtZW5kXCIgbmljaHQgYXVzZsO8aHJlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNworIzogYnVpbHRpbi9jb21taXQuYzoxMTgzCiBtc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb25lbiAtLXNxdWFzaCB1bmQgLS1maXh1cCBrw7ZubmVuIG5pY2h0IGdlbWVpbnNhbSB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTM3CisjOiBidWlsdGluL2NvbW1pdC5jOjExOTMKIG1zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiRXMga2FubiBudXIgZWluZSBPcHRpb24gdm9uIC1jLy1DLy1GLy0tZml4dXAgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEzOQorIzogYnVpbHRpbi9jb21taXQuYzoxMTk1CiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLiIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtbSBrYW5uIG5pY2h0IG1pdCAtYy8tQy8tRiBrb21iaW5pZXJ0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE0NworIzogYnVpbHRpbi9jb21taXQuYzoxMjAzCiBtc2dpZCAiLS1yZXNldC1hdXRob3IgY2FuIGJlIHVzZWQgb25seSB3aXRoIC1DLCAtYyBvciAtLWFtZW5kLiIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb24gLS1yZXNldC0tYXV0aG9yIGthbm4gbnVyIG1pdCAtQywgLWMgb2RlciAtLWFtZW5kIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyMAogbXNnaWQgIk9ubHkgb25lIG9mIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiIgogIkVzIGthbm4gbnVyIGVpbmUgT3B0aW9uIHZvbiAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCAiCiAidmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NgotbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKLW1zZ3N0ciAiIgotIkRpZSBPcHRpb25lbiAtLWluY2x1ZGUgdW5kIC0tb25seSBrw7ZubmVuIG51ciBtaXQgZGVyIEFuZ2FiZSB2b24gUGZhZGVuICIKLSJ2ZXJ3ZW5kZXQgd2VyZGVuLiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMTgwIGJ1aWx0aW4vdGFnLmM6NTQ2CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMjYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCi1tc2dzdHIgIlVuZ8O8bHRpZ2VyIFwiY2xlYW51cFwiIE1vZHVzICVzIgorbXNnaWQgInBhdGhzICclcyAuLi4nIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiUGZhZGUgJyVzIC4uLicgbWl0IC1hIHNpbmQgbmljaHQgc2lubnZvbGwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4NQotbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCi1tc2dzdHIgIkRpZSBPcHRpb24gLWEga2FubiBuaWNodCBtaXQgZGVyIEFuZ2FiZSB2b24gUGZhZGVuIHZlcndlbmRldCB3ZXJkZW4uIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTEgYnVpbHRpbi9jb21taXQuYzoxNDk1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTcgYnVpbHRpbi9jb21taXQuYzoxNTE5CiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICJTdGF0dXMgaW0gS3VyemZvcm1hdCBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzEzIGJ1aWx0aW4vY29tbWl0LmM6MTQ5NworIzogYnVpbHRpbi9jb21taXQuYzoxMzU5IGJ1aWx0aW4vY29tbWl0LmM6MTUyMQogbXNnaWQgInNob3cgYnJhbmNoIGluZm9ybWF0aW9uIgogbXNnc3RyICJCcmFuY2hpbmZvcm1hdGlvbmVuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MQogbXNnaWQgInNob3cgc3Rhc2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgIlN0YXNoaW5mb3JtYXRpb25lbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzE3IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OQorIzogYnVpbHRpbi9jb21taXQuYzoxMzYzIGJ1aWx0aW4vY29tbWl0LmM6MTUyMwogbXNnaWQgImNvbXB1dGUgZnVsbCBhaGVhZC9iZWhpbmQgdmFsdWVzIgogbXNnc3RyICJ2b3JhdXMvaGludGVyaGVyLVdlcnRlIGJlcmVjaG5lbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzE5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjUKIG1zZ2lkICJ2ZXJzaW9uIgogbXNnc3RyICJWZXJzaW9uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTkgYnVpbHRpbi9jb21taXQuYzoxNTAxIGJ1aWx0aW4vcHVzaC5jOjU1OAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjYzOQorIzogYnVpbHRpbi9jb21taXQuYzoxMzY1IGJ1aWx0aW4vY29tbWl0LmM6MTUyNSBidWlsdGluL3B1c2guYzo1NDkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NTAKIG1zZ2lkICJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIKIG1zZ3N0ciAibWFzY2hpbmVubGVzYmFyZSBBdXNnYWJlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjIgYnVpbHRpbi9jb21taXQuYzoxNTAzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjggYnVpbHRpbi9jb21taXQuYzoxNTI3CiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICJTdGF0dXMgaW0gTGFuZ2Zvcm1hdCBhbnplaWdlbiAoU3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjUgYnVpbHRpbi9jb21taXQuYzoxNTA2CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNzEgYnVpbHRpbi9jb21taXQuYzoxNTMwCiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiCiBtc2dzdHIgIkVpbnRyw6RnZSBtaXQgTlVMLVplaWNoZW4gYWJzY2hsaWXDn2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjcgYnVpbHRpbi9jb21taXQuYzoxMzMxIGJ1aWx0aW4vY29tbWl0LmM6MTUwOQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDcgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTAgYnVpbHRpbi9yZWJhc2UuYzo5MTAKLSM6IGJ1aWx0aW4vdGFnLmM6NDAwCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNzMgYnVpbHRpbi9jb21taXQuYzoxMzc3IGJ1aWx0aW4vY29tbWl0LmM6MTUzMworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTMgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTU5IGJ1aWx0aW4vcmViYXNlLmM6MTUyNSBwYXJzZS1vcHRpb25zLmg6MzM2CiBtc2dpZCAibW9kZSIKIG1zZ3N0ciAiTW9kdXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyOCBidWlsdGluL2NvbW1pdC5jOjE1MDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3NCBidWlsdGluL2NvbW1pdC5jOjE1MzMKIG1zZ2lkICJzaG93IHVudHJhY2tlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IGFsbCwgbm9ybWFsLCBuby4gKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgIiIKICJ1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuIGFuemVpZ2VuLCBvcHRpb25hbGUgTW9kaTogYWxsLCBub3JtYWwsIG5vLiAoU3RhbmRhcmQ6ICIKICJhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3OAogbXNnaWQgIiIKICJzaG93IGlnbm9yZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiB0cmFkaXRpb25hbCwgbWF0Y2hpbmcsIG5vLiAoRGVmYXVsdDogIgogInRyYWRpdGlvbmFsKSIKQEAgLTEwMDU5LDExICsxMjQ5MywxMSBAQAogImlnbm9yaWVydGUgRGF0ZWllbiBhbnplaWdlbiwgb3B0aW9uYWxlIE1vZGk6IHRyYWRpdGlvbmFsLCBtYXRjaGluZywgbm8uICIKICIoU3RhbmRhcmQ6IHRyYWRpdGlvbmFsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM0IHBhcnNlLW9wdGlvbnMuaDoxNjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4MCBwYXJzZS1vcHRpb25zLmg6MTkyCiBtc2dpZCAid2hlbiIKIG1zZ3N0ciAid2FubiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODEKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCkBAIC0xMDA3MSwyNTcgKzEyNTA1LDI1MyBAQAogIsOEbmRlcnVuZ2VuIGluIFN1Ym1vZHVsZW4gaWdub3JpZXJlbiwgb3B0aW9uYWwgd2VubjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKFN0YW5kYXJkOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4MwogbXNnaWQgImxpc3QgdW50cmFja2VkIGZpbGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgInVudmVyc2lvbmllcnRlIERhdGVpZW4gaW4gU3BhbHRlbiBhdWZsaXN0ZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzOAorIzogYnVpbHRpbi9jb21taXQuYzoxMzg0CiBtc2dpZCAiZG8gbm90IGRldGVjdCByZW5hbWVzIgogbXNnc3RyICJrZWluZSBVbWJlbmVubnVuZ2VuIGVybWl0dGVsbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzQwCisjOiBidWlsdGluL2NvbW1pdC5jOjEzODYKIG1zZ2lkICJkZXRlY3QgcmVuYW1lcywgb3B0aW9uYWxseSBzZXQgc2ltaWxhcml0eSBpbmRleCIKIG1zZ3N0ciAiVW1iZW5lbm51bmdlbiBlcmtlbm5lbiwgb3B0aW9uYWwgSW5kZXggZsO8ciBHbGVpY2hoZWl0IHNldHplbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzYwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0MDYKIG1zZ2lkICJVbnN1cHBvcnRlZCBjb21iaW5hdGlvbiBvZiBpZ25vcmVkIGFuZCB1bnRyYWNrZWQtZmlsZXMgYXJndW1lbnRzIgogbXNnc3RyICIiCiAiTmljaHQgdW50ZXJzdMO8dHp0ZSBLb21iaW5hdGlvbiB2b24gaWdub3JlZCB1bmQgdW50cmFja2VkLWZpbGVzIEFyZ3VtZW50ZW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4OQogbXNnaWQgInN1cHByZXNzIHN1bW1hcnkgYWZ0ZXIgc3VjY2Vzc2Z1bCBjb21taXQiCiBtc2dzdHIgIlp1c2FtbWVuZmFzc3VuZyBuYWNoIGVyZm9sZ3JlaWNoZW0gQ29tbWl0IHVudGVyZHLDvGNrZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NgorIzogYnVpbHRpbi9jb21taXQuYzoxNDkwCiBtc2dpZCAic2hvdyBkaWZmIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICJVbnRlcnNjaGllZGUgaW4gQ29tbWl0LUJlc2NocmVpYnVuZ3N2b3JsYWdlIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MgogbXNnaWQgIkNvbW1pdCBtZXNzYWdlIG9wdGlvbnMiCiBtc2dzdHIgIk9wdGlvbmVuIGbDvHIgQ29tbWl0LUJlc2NocmVpYnVuZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY5IGJ1aWx0aW4vbWVyZ2UuYzoyNjMgYnVpbHRpbi90YWcuYzozOTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MyBidWlsdGluL21lcmdlLmM6Mjc0IGJ1aWx0aW4vdGFnLmM6NDE0CiBtc2dpZCAicmVhZCBtZXNzYWdlIGZyb20gZmlsZSIKIG1zZ3N0ciAiQmVzY2hyZWlidW5nIHZvbiBEYXRlaSBsZXNlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTQKIG1zZ2lkICJhdXRob3IiCiBtc2dzdHIgIkF1dG9yIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAogbXNnaWQgIm92ZXJyaWRlIGF1dGhvciBmb3IgY29tbWl0IgogbXNnc3RyICJBdXRvciBlaW5lcyBDb21taXRzIMO8YmVyc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzEgYnVpbHRpbi9nYy5jOjUxOAorIzogYnVpbHRpbi9jb21taXQuYzoxNDk1IGJ1aWx0aW4vZ2MuYzo1MzgKIG1zZ2lkICJkYXRlIgogbXNnc3RyICJEYXR1bSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTUKIG1zZ2lkICJvdmVycmlkZSBkYXRlIGZvciBjb21taXQiCiBtc2dzdHIgIkRhdHVtIGVpbmVzIENvbW1pdHMgw7xiZXJzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MiBidWlsdGluL21lcmdlLmM6MjU5IGJ1aWx0aW4vbm90ZXMuYzo0MDkKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NzIgYnVpbHRpbi90YWcuYzozOTUKLW1zZ2lkICJtZXNzYWdlIgotbXNnc3RyICJCZXNjaHJlaWJ1bmciCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MgotbXNnaWQgImNvbW1pdCBtZXNzYWdlIgotbXNnc3RyICJDb21taXQtQmVzY2hyZWlidW5nIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzMgYnVpbHRpbi9jb21taXQuYzoxNDc0IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NQotIzogYnVpbHRpbi9jb21taXQuYzoxNDc2IHJlZi1maWx0ZXIuaDo5MiBwYXJzZS1vcHRpb25zLmg6MjgwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTcgYnVpbHRpbi9jb21taXQuYzoxNDk4IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTAwIHBhcnNlLW9wdGlvbnMuaDozMjggcmVmLWZpbHRlci5oOjkyCiBtc2dpZCAiY29tbWl0IgogbXNnc3RyICJDb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MworIzogYnVpbHRpbi9jb21taXQuYzoxNDk3CiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIkJlc2NocmVpYnVuZyBkZXMgYW5nZWdlYmVuZW4gQ29tbWl0cyB3aWVkZXJ2ZXJ3ZW5kZW4gdW5kIGVkaXRpZXJlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc0CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTgKIG1zZ2lkICJyZXVzZSBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiQmVzY2hyZWlidW5nIGRlcyBhbmdlZ2ViZW5lbiBDb21taXRzIHdpZWRlcnZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTkKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBmaXh1cCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAiZWluZSBhdXRvbWF0aXNjaCB6dXNhbW1lbmdlc2V0enRlIEJlc2NocmVpYnVuZyB6dW0gTmFjaGJlc3Nlcm4gZGVzICIKICJhbmdlZ2ViZW5lbiBDb21taXRzIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDAKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogImVpbmUgYXV0b21hdGlzY2ggenVzYW1tZW5nZXNldHp0ZSBCZXNjaHJlaWJ1bmcgYmVpbSBcInNxdWFzaFwiIGRlcyAiCiAiYW5nZWdlYmVuZW4gQ29tbWl0cyB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NworIzogYnVpbHRpbi9jb21taXQuYzoxNTAxCiBtc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKIG1zZ3N0ciAiU2llIGFscyBBdXRvciBkZXMgQ29tbWl0cyBzZXR6ZW4gKHZlcndlbmRldCBtaXQgLUMvLWMvLS1hbWVuZCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OCBidWlsdGluL2xvZy5jOjE1MjAgYnVpbHRpbi9tZXJnZS5jOjI3NgotIzogYnVpbHRpbi9wdWxsLmM6MTU1IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDIgYnVpbHRpbi9sb2cuYzoxNjM0IGJ1aWx0aW4vbWVyZ2UuYzoyODkKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2NCBidWlsdGluL3JldmVydC5jOjExMAogbXNnaWQgImFkZCBTaWduZWQtb2ZmLWJ5OiIKIG1zZ3N0ciAiJ1NpZ25lZC1vZmYtYnk6Jy1aZWlsZSBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDMKIG1zZ2lkICJ1c2Ugc3BlY2lmaWVkIHRlbXBsYXRlIGZpbGUiCiBtc2dzdHIgImFuZ2VnZWJlbmUgVm9ybGFnZW5kYXRlaSB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MAorIzogYnVpbHRpbi9jb21taXQuYzoxNTA0CiBtc2dpZCAiZm9yY2UgZWRpdCBvZiBjb21taXQiCiBtc2dzdHIgIkJlYXJiZWl0dW5nIGRlcyBDb21taXRzIGVyendpbmdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDgxCi1tc2dpZCAiZGVmYXVsdCIKLW1zZ3N0ciAiU3RhbmRhcmQiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MSBidWlsdGluL3RhZy5jOjQwMQotbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCi1tc2dzdHIgIiIKLSJ3aWUgTGVlcnplaWNoZW4gdW5kICNLb21tZW50YXJlIHZvbiBkZXIgQmVzY2hyZWlidW5nIGdldHJlbm50IHdlcmRlbiBzb2xsZW4iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTA2CiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgIlN0YXR1cyBpbiBkaWUgQ29tbWl0LUJlc2NocmVpYnVuZ3N2b3JsYWdlIGVpbmbDvGdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDg0IGJ1aWx0aW4vbWVyZ2UuYzoyNzQgYnVpbHRpbi9wdWxsLmM6MTg1Ci0jOiBidWlsdGluL3JldmVydC5jOjExNAotbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKLW1zZ3N0ciAiQ29tbWl0IG1pdCBHUEcgc2lnbmllcmVuIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMQogbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgogbXNnc3RyICJPcHRpb25lbiBmw7xyIENvbW1pdC1JbmhhbHQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4OAorIzogYnVpbHRpbi9jb21taXQuYzoxNTEyCiBtc2dpZCAiY29tbWl0IGFsbCBjaGFuZ2VkIGZpbGVzIgogbXNnc3RyICJhbGxlIGdlw6RuZGVydGVuIERhdGVpZW4gY29tbWl0dGVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMwogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAiZGllIGFuZ2VnZWJlbmVuIERhdGVpZW4genVzw6R0emxpY2ggenVtIENvbW1pdCB2b3JtZXJrZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MAorIzogYnVpbHRpbi9jb21taXQuYzoxNTE0CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCiBtc2dzdHIgImludGVyYWt0aXZlcyBIaW56dWbDvGdlbiB2b24gRGF0ZWllbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDkxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTUKIG1zZ2lkICJpbnRlcmFjdGl2ZWx5IGFkZCBjaGFuZ2VzIgogbXNnc3RyICJpbnRlcmFrdGl2ZXMgSGluenVmw7xnZW4gdm9uIMOEbmRlcnVuZ2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNgogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAibnVyIGRpZSBhbmdlZ2ViZW5lbiBEYXRlaWVuIGNvbW1pdHRlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDkzCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTcKIG1zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBhbmQgY29tbWl0LW1zZyBob29rcyIKIG1zZ3N0ciAiSG9va3MgcHJlLWNvbW1pdCB1bmQgY29tbWl0LW1zZyB1bWdlaGVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxOAogbXNnaWQgInNob3cgd2hhdCB3b3VsZCBiZSBjb21taXR0ZWQiCiBtc2dzdHIgImFuemVpZ2VuLCB3YXMgY29tbWl0dGV0IHdlcmRlbiB3w7xyZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwNworIzogYnVpbHRpbi9jb21taXQuYzoxNTMxCiBtc2dpZCAiYW1lbmQgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICJ2b3JoZXJpZ2VuIENvbW1pdCDDpG5kZXJuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzMgogbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKIG1zZ3N0ciAiXCJwb3N0LXJld3JpdGUgaG9va1wiIHVtZ2VoZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMworIzogYnVpbHRpbi9jb21taXQuYzoxNTM5CiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAiQXVmemVpY2hudW5nIGVpbmVyIGxlZXJlbiDDhG5kZXJ1bmcgZXJsYXViZW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNQorIzogYnVpbHRpbi9jb21taXQuYzoxNTQxCiBtc2dpZCAib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIKIG1zZ3N0ciAiQXVmemVpY2hudW5nIGVpbmVyIMOEbmRlcnVuZyBtaXQgZWluZXIgbGVlcmVuIEJlc2NocmVpYnVuZyBlcmxhdWJlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKIG1zZ3N0ciAiQmVzY2jDpGRpZ3RlIE1FUkdFX0hFQUQtRGF0ZWkgKCVzKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MjEKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NT0RFIgogbXNnc3RyICJLb25udGUgTUVSR0VfTU9ERSBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgogbXNnc3RyICJLb25udGUgQ29tbWl0LUJlc2NocmVpYnVuZyBuaWNodCBsZXNlbjogJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyNQorIzogYnVpbHRpbi9jb21taXQuYzoxNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdCBkdWUgdG8gZW1wdHkgY29tbWl0IG1lc3NhZ2UuXG4iCiBtc2dzdHIgIkNvbW1pdCBhdWZncnVuZCBsZWVyZXIgQmVzY2hyZWlidW5nIGFiZ2Vicm9jaGVuLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iCiBtc2dzdHIgIkNvbW1pdCBhYmdlYnJvY2hlbjsgU2llIGhhYmVuIGRpZSBCZXNjaHJlaWJ1bmcgbmljaHQgZWRpdGllcnQuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNjg2CiBtc2dpZCAiIgogInJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgYW5kIHF1b3RhIGlzXG4iCi0ibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXNldCBIRUFEXCIgdG8gcmVjb3Zlci4iCisibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXN0b3JlIC0tc3RhZ2VkIDovXCIgdG8gcmVjb3Zlci4iCiBtc2dzdHIgIiIKICJEYXMgUmVwb3NpdG9yeSB3dXJkZSBha3R1YWxpc2llcnQsIGFiZXIgZGllIFwibmV3X2luZGV4XCItRGF0ZWlcbiIKICJrb25udGUgbmljaHQgZ2VzY2hyaWViZW4gd2VyZGVuLiBQcsO8ZmVuIFNpZSwgZGFzcyBJaHJlIEZlc3RwbGF0dGUgbmljaHRcbiIKICJ2b2xsIHVuZCBJaHIgS29udGluZ2VudCBuaWNodCBhdWZnZWJyYXVjaHQgaXN0IHVuZCBmw7xocmVuIFNpZVxuIgotImFuc2NobGllw59lbmQgXCJnaXQgcmVzZXQgSEVBRFwiIHp1IFdpZWRlcmhlcnN0ZWxsdW5nIGF1cy4iCisiYW5zY2hsaWXDn2VuZCBcImdpdCByZXN0b3JlIEhFQUQgLS1zdGFnZWQgOi9cIiB6dXIgV2llZGVyaGVyc3RlbGx1bmcgYXVzLiIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMAotbXNnaWQgImdpdCBjb21taXQtZ3JhcGggWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCi1tc2dzdHIgImdpdCBjb21taXQtZ3JhcGggWy0tb2JqZWN0LWRpciA8T2JqZWt0dmVyemVpY2huaXM+XSIKLQotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjIzCi1tc2dpZCAiZ2l0IGNvbW1pdC1ncmFwaCByZWFkIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgotbXNnc3RyICJnaXQgY29tbWl0LWdyYXBoIHJlYWQgWy0tb2JqZWN0LWRpciA8T2JqZWt0dmVyemVpY2huaXM+XSIKLQotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE4Ci1tc2dpZCAiZ2l0IGNvbW1pdC1ncmFwaCB2ZXJpZnkgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCi1tc2dzdHIgImdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IFstLW9iamVjdC1kaXIgPE9iamVrdHZlcnplaWNobmlzPl0iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTMgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoyOAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE3CiBtc2dpZCAiIgotImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0gWy0tYXBwZW5kXSBbLS1yZWFjaGFibGV8LS0iCi0ic3RkaW4tcGFja3N8LS1zdGRpbi1jb21taXRzXSIKKyJnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSBbLS1zaGFsbG93XSBbLS1bbm8tXXByb2dyZXNzXSIKIG1zZ3N0ciAiIgotImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA8T2JqZWt0dmVyemVpY2huaXM+XSBbLS1hcHBlbmRdIFstLSIKLSJyZWFjaGFibGV8LS1zdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIgorImdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IFstLW9iamVjdC1kaXIgPE9iamVrdHZlcnplaWNobmlzPl0gWy0tc2hhbGxvd10gWy0tIgorIltuby1dcHJvZ3Jlc3NdIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjQ4IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NzgKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTMyIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTkwIGJ1aWx0aW4vZmV0Y2guYzoxNTMKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjIyCittc2dpZCAiIgorImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0gWy0tYXBwZW5kfC0tc3BsaXRdIFstLSIKKyJyZWFjaGFibGV8LS1zdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIFstLVtuby1dcHJvZ3Jlc3NdIDxzcGxpdCBvcHRpb25zPiIKK21zZ3N0ciAiIgorImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA8T2JqZWt0dmVyemVpY2huaXM+XSBbLS1hcHBlbmR8c3BsaXRdICIKKyJbLS1yZWFjaGFibGV8LS1zdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIFstLVtuby1dcHJvZ3Jlc3NdIDxTcGxpdC0iCisiT3B0aW9uZW4+IgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjQ4IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTAzCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE4NyBidWlsdGluL2ZldGNoLmM6MTc5IGJ1aWx0aW4vbG9nLmM6MTY1NwogbXNnaWQgImRpciIKIG1zZ3N0ciAiVmVyemVpY2huaXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NDkgYnVpbHRpbi9jb21taXQtZ3JhcGguYzo3OQotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzMgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxOTEKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NDkgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMDQKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTg4CiBtc2dpZCAiVGhlIG9iamVjdCBkaXJlY3RvcnkgdG8gc3RvcmUgdGhlIGdyYXBoIgogbXNnc3RyICJEYXMgT2JqZWt0dmVyemVpY2huaXMgenVtIFNwZWljaGVybiBkZXMgR3JhcGhlbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTM1CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjUxCittc2dpZCAiaWYgdGhlIGNvbW1pdC1ncmFwaCBpcyBzcGxpdCwgb25seSB2ZXJpZnkgdGhlIHRpcCBmaWxlIgorbXNnc3RyICIiCisiV2VubiBkZXIgQ29tbWl0LUdyYXBoIGF1ZmdldGVpbHQgaXN0LCBudXIgZGllIERhdGVpIGFuIGRlciBTcGl0emUgw7xiZXJwcsO8ZmVuIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjczIHQvaGVscGVyL3Rlc3QtcmVhZC1ncmFwaC5jOjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGNvbW1pdC1ncmFwaCAnJXMnIgorbXNnc3RyICJLb25udGUgQ29tbWl0LUdyYXBoICclcycgbmljaHQgw7ZmZm5lbi4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTA2CiBtc2dpZCAic3RhcnQgd2FsayBhdCBhbGwgcmVmcyIKIG1zZ3N0ciAiRHVyY2hsYXVmIGF1ZiBhbGxlbiBSZWZlcmVuemVuIGJlZ2lubmVuIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzNworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMDgKIG1zZ2lkICJzY2FuIHBhY2staW5kZXhlcyBsaXN0ZWQgYnkgc3RkaW4gZm9yIGNvbW1pdHMiCiBtc2dzdHIgImR1cmNoIFN0YW5kYXJkLUVpbmdhYmUgZ2VsaXN0ZXRlIFBhY2stSW5kZXhlIG5hY2ggQ29tbWl0cyBzY2FubmVuIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzOQorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMTAKIG1zZ2lkICJzdGFydCB3YWxrIGF0IGNvbW1pdHMgbGlzdGVkIGJ5IHN0ZGluIgogbXNnc3RyICJMYXVmIGJlaSBDb21taXRzIGJlZ2lubmVuLCBkaWUgw7xiZXIgZGllIFN0YW5kYXJkLUVpbmdhYmUgZ2VsaXN0ZXQgc2luZCIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxNDEKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTEyCiBtc2dpZCAiaW5jbHVkZSBhbGwgY29tbWl0cyBhbHJlYWR5IGluIHRoZSBjb21taXQtZ3JhcGggZmlsZSIKIG1zZ3N0ciAiIgogImFsbGUgQ29tbWl0cyBlaW5zY2hsaWXDn2VuLCBkaWUgc2ljaCBiZXJlaXRzIGluIGRlciBDb21taXQtR3JhcGgtRGF0ZWkgIgogImJlZmluZGVuIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE1MAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMTUKK21zZ2lkICJhbGxvdyB3cml0aW5nIGFuIGluY3JlbWVudGFsIGNvbW1pdC1ncmFwaCBmaWxlIgorbXNnc3RyICJFcmxhdWJlIGRhcyBTY2hyZWliZW4gZWluZXIgaW5rcmVtZW50ZWxsZW4gQ29tbWl0LUdyYXBoLURhdGVpIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExNyBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEyMQorbXNnaWQgIm1heGltdW0gbnVtYmVyIG9mIGNvbW1pdHMgaW4gYSBub24tYmFzZSBzcGxpdCBjb21taXQtZ3JhcGgiCittc2dzdHIgIiIKKyJNYXhpbWFsZSBBbnphaGwgdm9uIENvbW1pdHMgaW4gZWluZW0gYXVmZ2V0ZWlsdGVuIENvbW1pdC1HcmFwaCBvaG5lIEJhc2lzIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExOQorbXNnaWQgIm1heGltdW0gcmF0aW8gYmV0d2VlbiB0d28gbGV2ZWxzIG9mIGEgc3BsaXQgY29tbWl0LWdyYXBoIgorbXNnc3RyICIiCisiTWF4aW1hbGVzIFZlcmjDpGx0bmlzIHp3aXNjaGVuIHp3ZWkgRWJlbmVuIGVpbmVzIGF1ZmdldGVpbHRlbiBDb21taXQtR3JhcGgiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTM3CiBtc2dpZCAidXNlIGF0IG1vc3Qgb25lIG9mIC0tcmVhY2hhYmxlLCAtLXN0ZGluLWNvbW1pdHMsIG9yIC0tc3RkaW4tcGFja3MiCiBtc2dzdHIgIiIKICJCZW51dHplbiBTaWUgbWluZGVzdGVucyBlaW5zIHZvbiAtLXJlYWNoYWJsZSwgLS1zdGRpbi1jb21taXRzLCBvZGVyIC0tc3RkaW4tIgpAQCAtMTAzMzEsNyArMTI3NjEsNyBAQAogbXNnaWQgImdpdCBjb25maWcgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBjb25maWcgWzxPcHRpb25lbj5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjEwMworIzogYnVpbHRpbi9jb25maWcuYzoxMDMgYnVpbHRpbi9lbnYtLWhlbHBlci5jOjIzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAtLXR5cGUgYXJndW1lbnQsICVzIgogbXNnc3RyICJuaWNodCBlcmthbm50ZXMgLS10eXBlIEFyZ3VtZW50LCAlcyIKQEAgLTEwNDM2LDcgKzEyODY2LDcgQEAKIG1zZ2lkICJUeXBlIgogbXNnc3RyICJUeXAiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ3CisjOiBidWlsdGluL2NvbmZpZy5jOjE0NyBidWlsdGluL2Vudi0taGVscGVyLmM6MzgKIG1zZ2lkICJ2YWx1ZSBpcyBnaXZlbiB0aGlzIHR5cGUiCiBtc2dzdHIgIldlcnQgaXN0IG1pdCBkaWVzZW0gVHlwIGFuZ2VnZWJlbiIKIApAQCAtMTA0ODIsNyArMTI5MTIsNyBAQAogIlVyc3BydW5nIGRlciBLb25maWd1cmF0aW9uIGFuemVpZ2VuIChEYXRlaSwgU3RhbmRhcmQtRWluZ2FiZSwgQmxvYiwgIgogIkJlZmVobHN6ZWlsZSkiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTU4CisjOiBidWlsdGluL2NvbmZpZy5jOjE1OCBidWlsdGluL2Vudi0taGVscGVyLmM6NDAKIG1zZ2lkICJ2YWx1ZSIKIG1zZ3N0ciAiV2VydCIKIApAQCAtMTA0OTAsNDkgKzEyOTIwLDQ5IEBACiBtc2dpZCAid2l0aCAtLWdldCwgdXNlIGRlZmF1bHQgdmFsdWUgd2hlbiBtaXNzaW5nIGVudHJ5IgogbXNnc3RyICJtaXQgLS1nZXQsIGJlbnV0emUgZGVuIFN0YW5kYXJkd2VydCwgd2VubiBkZXIgRWludHJhZyBmZWhsdCIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxNzEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMsIHNob3VsZCBiZSAlZCIKIG1zZ3N0ciAiRmFsc2NoZSBBbnphaGwgdm9uIEFyZ3VtZW50ZW4gLSBzb2xsdGUgJWQgc2Vpbi4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTczCisjOiBidWlsdGluL2NvbmZpZy5jOjE3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzLCBzaG91bGQgYmUgZnJvbSAlZCB0byAlZCIKIG1zZ3N0ciAiRmFsc2NoZSBBbnphaGwgdm9uIEFyZ3VtZW50ZW4gLSBzb2xsdGUgendpc2NoZW4gJWQgdW5kICVkIHNlaW4uIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjMwNworIzogYnVpbHRpbi9jb25maWcuYzozMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXkgcGF0dGVybjogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VzIFNjaGzDvHNzZWxtdXN0ZXI6ICVzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjM0MworIzogYnVpbHRpbi9jb25maWcuYzozNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZvcm1hdCBkZWZhdWx0IGNvbmZpZyB2YWx1ZTogJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIEZvcm1hdGllcmVuIGRlcyBTdGFuZGFyZGtvbmZpZ3VyYXRpb25zd2VydGVzOiAlcyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0MDAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBwYXJzZSBjb2xvciAnJXMnIgogbXNnc3RyICJLYW5uIEZhcmJlICclcycgbmljaHQgcGFyc2VuLiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0NDIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDQzCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGRlZmF1bHQgY29sb3IgdmFsdWUiCiBtc2dzdHIgImtvbm50ZSBTdGFuZGFyZC1GYXJid2VydCBuaWNodCBwYXJzZW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NDk1IGJ1aWx0aW4vY29uZmlnLmM6NzQxCisjOiBidWlsdGluL2NvbmZpZy5jOjQ5NiBidWlsdGluL2NvbmZpZy5jOjc0MgogbXNnaWQgIm5vdCBpbiBhIGdpdCBkaXJlY3RvcnkiCiBtc2dzdHIgIk5pY2h0IGluIGVpbmVtIEdpdC1SZXBvc2l0b3J5LiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0OTgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDk5CiBtc2dpZCAid3JpdGluZyB0byBzdGRpbiBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJEYXMgU2NocmVpYmVuIGluIGRpZSBTdGFuZGFyZC1FaW5nYWJlIHdpcmQgbmljaHQgdW50ZXJzdMO8dHp0LiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1MDEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTAyCiBtc2dpZCAid3JpdGluZyBjb25maWcgYmxvYnMgaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiIgogIkRhcyBTY2hyZWliZW4gdm9uIEJsb2ItT2JqZWt0ZW4gZsO8ciBLb25maWd1cmF0aW9uZW4gd2lyZCBuaWNodCB1bnRlcnN0w7x0enQuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU4NgorIzogYnVpbHRpbi9jb25maWcuYzo1ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiMgVGhpcyBpcyBHaXQncyBwZXItdXNlciBjb25maWd1cmF0aW9uIGZpbGUuXG4iCkBAIC0xMDU0NywyMyArMTI5NzcsMjMgQEAKICIjXHRuYW1lID0gJXNcbiIKICIjXHRlbWFpbCA9ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEwCisjOiBidWlsdGluL2NvbmZpZy5jOjYxMQogbXNnaWQgIm9ubHkgb25lIGNvbmZpZyBmaWxlIGF0IGEgdGltZSIKIG1zZ3N0ciAiTnVyIGVpbmUgS29uZmlndXJhdGlvbnNkYXRlaSB6dSBlaW5lciBaZWl0IG3DtmdsaWNoLiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjE2CiBtc2dpZCAiLS1sb2NhbCBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICItLWxvY2FsIGthbm4gbnVyIGlubmVyaGFsYiBlaW5lcyBHaXQtUmVwb3NpdG9yaWVzIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxOAorIzogYnVpbHRpbi9jb25maWcuYzo2MTkKIG1zZ2lkICItLWJsb2IgY2FuIG9ubHkgYmUgdXNlZCBpbnNpZGUgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiLS1ibG9iIGthbm4gbnVyIGlubmVyaGFsYiBlaW5lcyBHaXQtUmVwb3NpdG9yaWVzIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYzNworIzogYnVpbHRpbi9jb25maWcuYzo2MzgKIG1zZ2lkICIkSE9NRSBub3Qgc2V0IgogbXNnc3RyICIkSE9NRSBuaWNodCBnZXNldHp0LiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NTcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjU4CiBtc2dpZCAiIgogIi0td29ya3RyZWUgY2Fubm90IGJlIHVzZWQgd2l0aCBtdWx0aXBsZSB3b3JraW5nIHRyZWVzIHVubGVzcyB0aGUgY29uZmlnXG4iCiAiZXh0ZW5zaW9uIHdvcmt0cmVlQ29uZmlnIGlzIGVuYWJsZWQuIFBsZWFzZSByZWFkIFwiQ09ORklHVVJBVElPTiBGSUxFXCJcbiIKQEAgLTEwNTcxLDU0ICsxMzAwMSw1NSBAQAogbXNnc3RyICIiCiAiLS13b3JrdHJlZSBrYW5uIG5pY2h0IG1pdCBtZWhyZXJlbiBBcmJlaXRzdmVyemVpY2huaXNzZW4gdmVyd2VuZGV0IHdlcmRlbixcbiIKICJhdcOfZXIgZGllIEtvbmZpZ3VyYXRpb25zZXJ3ZWl0ZXJ1bmcgd29ya3RyZWVDb25maWcgaXN0IGFrdGl2aWVydC4gQml0dGVcbiIKLSJsZXNlbiBTaWUgZGllIFNla3Rpb24gXCJDT05GSUdVUkFUSU9OX0ZJTEVcIiBpbiBcImdpdCBoZWxwIHdvcmt0cmVlXCIgZsO8ciBEZXRhaWxzIgorImxlc2VuIFNpZSBkaWUgU2VrdGlvbiBcIkNPTkZJR1VSQVRJT05fRklMRVwiIGluIFwiZ2l0IGhlbHAgd29ya3RyZWVcIiBmw7xyICIKKyJEZXRhaWxzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY4NworIzogYnVpbHRpbi9jb25maWcuYzo2ODgKIG1zZ2lkICItLWdldC1jb2xvciBhbmQgdmFyaWFibGUgdHlwZSBhcmUgaW5jb2hlcmVudCIKIG1zZ3N0ciAiQW5nYWJlIHZvbiAtLWdldC1jb2xvciB1bmQgVmFyaWFibGVudHlwIHNpbmQgdW5nw7xsdGlnLiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OTIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjkzCiBtc2dpZCAib25seSBvbmUgYWN0aW9uIGF0IGEgdGltZSIKIG1zZ3N0ciAiTnVyIGVpbmUgQWt0aW9uIGVybGF1YnQuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwNQorIzogYnVpbHRpbi9jb25maWcuYzo3MDYKIG1zZ2lkICItLW5hbWUtb25seSBpcyBvbmx5IGFwcGxpY2FibGUgdG8gLS1saXN0IG9yIC0tZ2V0LXJlZ2V4cCIKIG1zZ3N0ciAiLS1uYW1lLW9ubHkgaXN0IG51ciBhbndlbmRiYXIgYXVmIC0tbGlzdCBvZGVyIC0tZ2V0LXJlZ2V4cCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MTEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzEyCiBtc2dpZCAiIgogIi0tc2hvdy1vcmlnaW4gaXMgb25seSBhcHBsaWNhYmxlIHRvIC0tZ2V0LCAtLWdldC1hbGwsIC0tZ2V0LXJlZ2V4cCwgYW5kIC0tIgogImxpc3QiCiBtc2dzdHIgIiIKICItLXNob3ctb3JpZ2luIGlzdCBudXIgYW53ZW5kYmFyIGF1ZiAtLWdldCwgLS1nZXQtYWxsLCAtLWdldC1yZWdleHAgdW5kIC0tbGlzdCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MTcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzE4CiBtc2dpZCAiLS1kZWZhdWx0IGlzIG9ubHkgYXBwbGljYWJsZSB0byAtLWdldCIKIG1zZ3N0ciAiLS1kZWZhdWx0IGlzdCBudXIgYW53ZW5kYmFyIGF1ZiAtLWdldCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MzAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIGNvbmZpZyBmaWxlICclcyciCiBtc2dzdHIgIktvbm50ZSBLb25maWd1cmF0aW9uc2RhdGVpICclcycgbmljaHQgbGVzZW4uIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjczMworIzogYnVpbHRpbi9jb25maWcuYzo3MzQKIG1zZ2lkICJlcnJvciBwcm9jZXNzaW5nIGNvbmZpZyBmaWxlKHMpIgogbXNnc3RyICJGZWhsZXIgYmVpbSBWZXJhcmJlaXRlbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaShlbikuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0MworIzogYnVpbHRpbi9jb25maWcuYzo3NDQKIG1zZ2lkICJlZGl0aW5nIHN0ZGluIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIkRhcyBCZWFyYmVpdGVuIGRlciBTdGFuZGFyZC1FaW5nYWJlIHdpcmQgbmljaHQgdW50ZXJzdMO8dHp0LiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NDUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQ2CiBtc2dpZCAiZWRpdGluZyBibG9icyBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJEYXMgQmVhcmJlaXRlbiB2b24gQmxvYnMgd2lyZCBuaWNodCB1bnRlcnN0w7x0enQuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc1OQorIzogYnVpbHRpbi9jb25maWcuYzo3NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBjb25maWd1cmF0aW9uIGZpbGUgJXMiCiBtc2dzdHIgIktvbm50ZSBLb25maWd1cmF0aW9uc2RhdGVpICclcycgbmljaHQgZXJzdGVsbGVuLiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjYW5ub3Qgb3ZlcndyaXRlIG11bHRpcGxlIHZhbHVlcyB3aXRoIGEgc2luZ2xlIHZhbHVlXG4iCkBAIC0xMDYyOCw3ICsxMzA1OSw3IEBACiAiICAgICAgIEJlbnV0emVuIFNpZSBlaW5lbiByZWd1bMOkcmVuIEF1c2RydWNrLCAtLWFkZCBvZGVyIC0tcmVwbGFjZSwgdW0gJXNcbiIKICIgICAgICAgenUgw6RuZGVybi4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODQ2IGJ1aWx0aW4vY29uZmlnLmM6ODU3CisjOiBidWlsdGluL2NvbmZpZy5jOjg0NyBidWlsdGluL2NvbmZpZy5jOjg1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIHNlY3Rpb246ICVzIgogbXNnc3RyICJLZWluZSBzb2xjaGUgU2VrdGlvbjogJXMiCkBAIC0xMDY2MSwzOSArMTMwOTIsMzkgQEAKIG1zZ2lkICJhbm5vdGF0ZWQiCiBtc2dzdHIgImFubm90aWVydCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIG5vdCBhdmFpbGFibGUiCiBtc2dzdHIgImFubm90aWVydGVzIFRhZyAlcyBpc3QgbmljaHQgdmVyZsO8Z2JhciIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIGhhcyBubyBlbWJlZGRlZCBuYW1lIgogbXNnc3RyICJhbm5vdGllcnRlcyBUYWcgJXMgaGF0IGtlaW5lbiBlaW5nZWJldHRldGVuIE5hbWVuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGlzIHJlYWxseSAnJXMnIGhlcmUiCiBtc2dzdHIgIlRhZyAnJXMnIGlzdCBlaWdlbnRsaWNoICclcycgaGllciIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjMyMgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0YWcgZXhhY3RseSBtYXRjaGVzICclcyciCiBtc2dzdHIgImtlaW4gVGFnIGVudHNwcmljaHQgZXhha3QgJyVzJyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjMyNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBleGFjdCBtYXRjaCBvbiByZWZzIG9yIHRhZ3MsIHNlYXJjaGluZyB0byBkZXNjcmliZVxuIgogbXNnc3RyICIiCiAiS2VpbmUgZXhha3RlIMOcYmVyZWluc3RpbW11bmcgYmVpIFJlZmVyZW56ZW4gb2RlciBUYWdzLCBTdWNoZSB6dW0gIgogIkJlc2NocmVpYmVuXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNzgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmluaXNoZWQgc2VhcmNoIGF0ICVzXG4iCiBtc2dzdHIgImJlZW5kZXRlIFN1Y2hlIGJlaSAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyBhbm5vdGF0ZWQgdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKQEAgLTEwNzAyLDcgKzEzMTMzLDcgQEAKICJLZWluZSBhbm5vdGllcnRlbiBUYWdzIGvDtm5uZW4gJyVzJyBiZXNjaHJlaWJlbi5cbiIKICJKZWRvY2ggZ2FiIGVzIG5pY2h0LWFubm90aWVydGUgVGFnczogdmVyc3VjaGVuIFNpZSAtLXRhZ3MuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgpAQCAtMTA3MTEsMTIgKzEzMTQyLDEyIEBACiAiS2VpbmUgVGFncyBrw7ZubmVuICclcycgYmVzY2hyZWliZW4uXG4iCiAiVmVyc3VjaGVuIFNpZSAtLWFsd2F5cyBvZGVyIGVyc3RlbGxlbiBTaWUgZWluaWdlIFRhZ3MuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDM4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXZlcnNlZCAlbHUgY29tbWl0c1xuIgogbXNnc3RyICIlbHUgQ29tbWl0cyBkdXJjaGxhdWZlblxuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJtb3JlIHRoYW4gJWkgdGFncyBmb3VuZDsgbGlzdGVkICVpIG1vc3QgcmVjZW50XG4iCkBAIC0xMDcyNSwxMjIgKzEzMTU2LDEyMSBAQAogIm1laHIgYWxzICVpIFRhZ3MgZ2VmdW5kZW47IGbDvGhyZSBkaWUgZXJzdGVuICVpIGF1ZlxuIgogIlN1Y2hlIGJlaSAlcyBhdWZnZWdlYmVuXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MDkKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzY3JpYmUgJXNcbiIKIG1zZ3N0ciAiQmVzY2hyZWliZSAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTEyIGJ1aWx0aW4vbG9nLmM6NTEzCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICIlcyBpc3Qga2VpbiBnw7xsdGlnZXIgT2JqZWt0LU5hbWUiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MjAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbmVpdGhlciBhIGNvbW1pdCBub3IgYmxvYiIKIG1zZ3N0ciAiJXMgaXN0IHdlZGVyIGVpbiBDb21taXQsIG5vY2ggZWluIEJsb2IuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM3CiBtc2dpZCAiZmluZCB0aGUgdGFnIHRoYXQgY29tZXMgYWZ0ZXIgdGhlIGNvbW1pdCIKIG1zZ3N0ciAiZGFzIFRhZyBmaW5kZW4sIGRhcyBuYWNoIGRlbSBDb21taXQga29tbXQiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzUKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzgKIG1zZ2lkICJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIgogbXNnc3RyICJkaWUgU3VjaHN0cmF0ZWdpZSBpbiBkZXIgU3RhbmRhcmQtRmVobGVyYXVzZ2FiZSBwcm90b2tvbGxpZXJlbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzNgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzOQogbXNnaWQgInVzZSBhbnkgcmVmIgogbXNnc3RyICJhbGxlIFJlZmVyZW56ZW4gdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQwCiBtc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCiBtc2dzdHIgImplZGVzIFRhZyB2ZXJ3ZW5kZW4sIGF1Y2ggbmljaHQtYW5ub3RpZXJ0ZSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzOAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MQogbXNnaWQgImFsd2F5cyB1c2UgbG9uZyBmb3JtYXQiCiBtc2dzdHIgImltbWVyIGxhbmdlcyBGb3JtYXQgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQyCiBtc2dpZCAib25seSBmb2xsb3cgZmlyc3QgcGFyZW50IgogbXNnc3RyICJudXIgZXJzdGVtIEVsdGVybnRlaWwgZm9sZ2VuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ1CiBtc2dpZCAib25seSBvdXRwdXQgZXhhY3QgbWF0Y2hlcyIKIG1zZ3N0ciAibnVyIGV4YWt0ZSDDnGJlcmVpbnN0aW1tdW5nZW4gYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDcKIG1zZ2lkICJjb25zaWRlciA8bj4gbW9zdCByZWNlbnQgdGFncyAoZGVmYXVsdDogMTApIgogbXNnc3RyICJkaWUgasO8bmdzdGVuIDxuPiBUYWdzIGJldHJhY2h0ZW4gKFN0YW5kYXJkOiAxMCkiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDkKIG1zZ2lkICJvbmx5IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJudXIgVGFncywgZGllIDxNdXN0ZXI+IGVudHNwcmVjaGVuLCBiZXRyYWNodGVuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUxCiBtc2dpZCAiZG8gbm90IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJrZWluZSBUYWdzIGJldHJhY2h0ZW4sIGRpZSA8TXVzdGVyPiBlbnRzcHJlY2hlbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MCBidWlsdGluL25hbWUtcmV2LmM6NDI0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUzIGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzMKIG1zZ2lkICJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siCiBtc2dzdHIgImdla8O8cnp0ZXMgQ29tbWl0LU9iamVrdCBhbnplaWdlbiwgd2VubiBzb25zdCBuaWNodHMgenV0cmlmZnQiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTEgYnVpbHRpbi9kZXNjcmliZS5jOjU1NAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1NCBidWlsdGluL2Rlc2NyaWJlLmM6NTU3CiBtc2dpZCAibWFyayIKLW1zZ3N0ciAiS2VubnplaWNoZW4iCi0KLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTIKLW1zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGRpcnR5IHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItZGlydHlcIikiCi1tc2dzdHIgIiIKLSI8S2VubnplaWNoZW4+IGJlaSBnZcOkbmRlcnRlbSBBcmJlaXRzdmVyemVpY2huaXMgYW5ow6RuZ2VuIChTdGFuZGFyZDogXCItZGlydHkiCi0iXCIpIgorbXNnc3RyICJNYXJraWVydW5nIgogCiAjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTU1Ci1tc2dpZCAiYXBwZW5kIDxtYXJrPiBvbiBicm9rZW4gd29ya2luZyB0cmVlIChkZWZhdWx0OiBcIi1icm9rZW5cIikiCittc2dpZCAiYXBwZW5kIDxtYXJrPiBvbiBkaXJ0eSB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWRpcnR5XCIpIgogbXNnc3RyICIiCi0iPEtlbm56ZWljaGVuPiBiZWkgZGVmZWt0ZW0gQXJiZWl0c3ZlcnplaWNobmlzIGFuaMOkbmdlbiAoU3RhbmRhcmQ6IFwiLWJyb2tlbiIKKyI8TWFya2llcnVuZz4gYmVpIGdlw6RuZGVydGVtIEFyYmVpdHN2ZXJ6ZWljaG5pcyBhbmjDpG5nZW4gKFN0YW5kYXJkOiBcIi1kaXJ0eSIKICJcIikiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NzMKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTgKK21zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGJyb2tlbiB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWJyb2tlblwiKSIKK21zZ3N0ciAiIgorIjxNYXJraWVydW5nPiBiZWkgZGVmZWt0ZW0gQXJiZWl0c3ZlcnplaWNobmlzIGFuaMOkbmdlbiAoU3RhbmRhcmQ6IFwiLWJyb2tlblwiKSIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU3NgogbXNnaWQgIi0tbG9uZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFiYnJldj0wIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1sb25nIHVuZCAtLWFiYnJldj0wIHNpbmQgaW5rb21wYXRpYmVsLiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjYwMgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjYwNQogbXNnaWQgIk5vIG5hbWVzIGZvdW5kLCBjYW5ub3QgZGVzY3JpYmUgYW55dGhpbmcuIgogbXNnc3RyICJLZWluZSBOYW1lbiBnZWZ1bmRlbiwga2FubiBuaWNodHMgYmVzY2hyZWliZW4uIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NjUyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NjU2CiBtc2dpZCAiLS1kaXJ0eSBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXQtaXNoZXMiCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1kaXJ0eSBrYW5uIG5pY2h0IG1pdCBDb21taXRzIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NjU0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NjU4CiBtc2dpZCAiLS1icm9rZW4gaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tYnJva2VuIGthbm4gbmljaHQgbWl0IENvbW1pdHMgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjgzCisjOiBidWlsdGluL2RpZmYuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBub3QgYSByZWd1bGFyIGZpbGUgb3Igc3ltbGluayIKIG1zZ3N0ciAiJyVzJzoga2VpbmUgcmVndWzDpHJlIERhdGVpIG9kZXIgc3ltYm9saXNjaGUgVmVya27DvHBmdW5nIgogCi0jOiBidWlsdGluL2RpZmYuYzoyMzQKKyM6IGJ1aWx0aW4vZGlmZi5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9wdGlvbjogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgT3B0aW9uOiAlcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzYzCisjOiBidWlsdGluL2RpZmYuYzozNTAKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiS2VpbiBHaXQtUmVwb3NpdG9yeSIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDA3CisjOiBidWlsdGluL2RpZmYuYzozOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgIk9iamVrdCAnJXMnIGlzdCB1bmfDvGx0aWcuIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MTYKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gdHdvIGJsb2JzIGdpdmVuOiAnJXMnIgogbXNnc3RyICJNZWhyIGFscyB6d2VpIEJsb2JzIGFuZ2VnZWJlbjogJyVzJyIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDIxCisjOiBidWlsdGluL2RpZmYuYzo0MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5oYW5kbGVkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAidW5iZWhhbmRlbHRlcyBPYmpla3QgJyVzJyBhbmdlZ2ViZW4iCkBAIC0xMDg3Nyw1NCArMTMzMDcsNTQgQEAKICJLb21iaW5pZXJ0ZSBEaWZmLUZvcm1hdGUoJy1jJyB1bmQgJy0tY2MnKSB3ZXJkZW4gaW0gVmVyemVpY2huaXMtXG4iCiAiRGlmZi1Nb2R1cygnLWQnIHVuZCAnLS1kaXItZGlmZicpIG5pY2h0IHVudGVyc3TDvHR6dC4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzMKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYm90aCBmaWxlcyBtb2RpZmllZDogJyVzJyBhbmQgJyVzJy4iCiBtc2dzdHIgImJlaWRlIERhdGVpZW4gZ2XDpG5kZXJ0OiAnJXMnIHVuZCAnJXMnLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNgogbXNnaWQgIndvcmtpbmcgdHJlZSBmaWxlIGhhcyBiZWVuIGxlZnQuIgogbXNnc3RyICJEYXRlaSBpbSBBcmJlaXRzdmVyemVpY2huaXMgYmVsYXNzZW4uIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjQ2CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInRlbXBvcmFyeSBmaWxlcyBleGlzdCBpbiAnJXMnLiIKIG1zZ3N0ciAiRXMgZXhpc3RpZXJlbiB0ZW1wb3LDpHJlIERhdGVpZW4gaW4gJyVzJy4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDcKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDgKIG1zZ2lkICJ5b3UgbWF5IHdhbnQgdG8gY2xlYW51cCBvciByZWNvdmVyIHRoZXNlLiIKIG1zZ3N0ciAiU2llIGvDtm5udGVuIGRpZXNlIGF1ZnLDpHVtZW4gb2RlciB3aWVkZXJoZXJzdGVsbGVuLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5NgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5NwogbXNnaWQgInVzZSBgZGlmZi5ndWl0b29sYCBpbnN0ZWFkIG9mIGBkaWZmLnRvb2xgIgogbXNnc3RyICJgZGlmZi5ndWl0b29sYCBhbnN0YXR0IGBkaWZmLnRvb2xgIGJlbnV0emVuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6Njk4CisjOiBidWlsdGluL2RpZmZ0b29sLmM6Njk5CiBtc2dpZCAicGVyZm9ybSBhIGZ1bGwtZGlyZWN0b3J5IGRpZmYiCiBtc2dzdHIgIkRpZmYgw7xiZXIgZ2FuemVzIFZlcnplaWNobmlzIGF1c2bDvGhyZW4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDEKIG1zZ2lkICJkbyBub3QgcHJvbXB0IGJlZm9yZSBsYXVuY2hpbmcgYSBkaWZmIHRvb2wiCiBtc2dzdHIgImtlaW5lIEVpbmdhYmVhdWZmb3JkZXJ1bmcgdm9yIEF1c2bDvGhydW5nIGVpbmVzIERpZmYtVG9vbHMiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDUKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDYKIG1zZ2lkICJ1c2Ugc3ltbGlua3MgaW4gZGlyLWRpZmYgbW9kZSIKIG1zZ3N0ciAic3ltYm9saXNjaGUgVmVya27DvHBmdW5nZW4gaW0gZGlyLWRpZmYgTW9kdXMgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzA2CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA3CiBtc2dpZCAidG9vbCIKIG1zZ3N0ciAiVG9vbCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwOAogbXNnaWQgInVzZSB0aGUgc3BlY2lmaWVkIGRpZmYgdG9vbCIKIG1zZ3N0ciAiZGFzIGFuZ2VnZWJlbmUgRGlmZi1Ub29sIGJlbnV0emVuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzA5CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzEwCiBtc2dpZCAicHJpbnQgYSBsaXN0IG9mIGRpZmYgdG9vbHMgdGhhdCBtYXkgYmUgdXNlZCB3aXRoIGAtLXRvb2xgIgogbXNnc3RyICIiCiAiZWluZSBMaXN0ZSBtaXQgRGlmZi1Ub29scyBkYXJzdGVsbGVuLCBkaWUgbWl0IGAtLXRvb2xgIGJlbnV0enQgd2VyZGVuIGvDtm5uZW4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTIKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTMKIG1zZ2lkICIiCiAibWFrZSAnZ2l0LWRpZmZ0b29sJyBleGl0IHdoZW4gYW4gaW52b2tlZCBkaWZmIHRvb2wgcmV0dXJucyBhIG5vbiAtIHplcm8gZXhpdCAiCiAiY29kZSIKQEAgLTEwOTMzLDE2NyArMTMzNjMsMjU4IEBACiAiUsO8Y2trZWhyd2VydFxuIgogInZlcnNjaGllZGVuIDAgYXVzZ2Vmw7xocnQgd3VyZGUiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTUKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTYKIG1zZ2lkICJzcGVjaWZ5IGEgY3VzdG9tIGNvbW1hbmQgZm9yIHZpZXdpbmcgZGlmZnMiCiBtc2dzdHIgImVpZ2VuZW4gQmVmZWhsIHp1ciBBbnplaWdlIHZvbiBVbnRlcnNjaGllZGVuIGFuZ2ViZW4iCiAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTcKK21zZ2lkICJwYXNzZWQgdG8gYGRpZmZgIgorbXNnc3RyICJhbiAnZGlmZicgw7xiZXJnZWJlbiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjczMgorbXNnaWQgImRpZmZ0b29sIHJlcXVpcmVzIHdvcmt0cmVlIG9yIC0tbm8taW5kZXgiCittc2dzdHIgImRpZmZ0b29sIGJlbsO2dGlndCBBcmJlaXRzdmVyemVpY2huaXMgb2RlciAtLW5vLWluZGV4IgorCiAjOiBidWlsdGluL2RpZmZ0b29sLmM6NzM5Cittc2dpZCAiLS1kaXItZGlmZiBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW5vLWluZGV4IgorbXNnc3RyICItLWRpci1kaWZmIGthbm4gbmljaHQgbWl0IC0tbm8taW5kZXggdmVyd2VuZGV0IHdlcmRlbiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc0MgorbXNnaWQgIi0tZ3VpLCAtLXRvb2wgYW5kIC0tZXh0Y21kIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tZ3VpLCAtLXRvb2wgdW5kIC0tZXh0Y21kIHNjaGxpZcOfZW4gc2ljaCBnZWdlbnNlaXRpZyBhdXMiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3NTAKIG1zZ2lkICJubyA8dG9vbD4gZ2l2ZW4gZm9yIC0tdG9vbD08dG9vbD4iCiBtc2dzdHIgImtlaW4gPFRvb2w+IGbDvHIgLS10b29sPTxUb29sPiBhbmdlZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3NDYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3NTcKIG1zZ2lkICJubyA8Y21kPiBnaXZlbiBmb3IgLS1leHRjbWQ9PGNtZD4iCiBtc2dzdHIgImtlaW4gPFByb2dyYW1tPiBmw7xyIC0tZXh0Y21kPTxQcm9ncmFtbT4gYW5nZWdlYmVuIgogCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6NgorbXNnaWQgImdpdCBlbnYtLWhlbHBlciAtLXR5cGU9W2Jvb2x8dWxvbmddIDxvcHRpb25zPiA8ZW52LXZhcj4iCittc2dzdHIgImdpdCBlbnYtLWhlbHBlciAtLXR5cGU9W2Jvb2x8dWxvbmddIDxPcHRpb25lbj4gPFVtZ2VidW5nc3ZhcmlhYmxlPiIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjM3IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorbXNnaWQgInR5cGUiCittc2dzdHIgIkFydCIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjQxCittc2dpZCAiZGVmYXVsdCBmb3IgZ2l0X2Vudl8qKC4uLikgdG8gZmFsbCBiYWNrIG9uIgorbXNnc3RyICJTdGFuZGFyZCBmw7xyIGdpdF9lbnZfKiguLi4pLCB1bSBkYXJhdWYgenVyw7xja3p1Z3JlaWZlbiIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjQzCittc2dpZCAiYmUgcXVpZXQgb25seSB1c2UgZ2l0X2Vudl8qKCkgdmFsdWUgYXMgZXhpdCBjb2RlIgorbXNnc3RyICJBdXNnYWJlbiB1bnRlcmRyw7xja2VuOyBudXIgZ2l0X2Vudl8qKCkgV2VydGUgYWxzIEV4aXQtQ29kZSB2ZXJ3ZW5kZW4iCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYC0tZGVmYXVsdCcgZXhwZWN0cyBhIGJvb2xlYW4gdmFsdWUgd2l0aCBgLS10eXBlPWJvb2xgLCBub3QgYCVzYCIKK21zZ3N0ciAiIgorIk9wdGlvbiBgLS1kZWZhdWx0JyBlcndhcnRldCBlaW5lbiBib29sZXNjaGVuIFdlcnQgYmVpIGAtLXR5cGU9Ym9vbCcsIG5pY2h0IGAiCisiJXNgIgorCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm9wdGlvbiBgLS1kZWZhdWx0JyBleHBlY3RzIGFuIHVuc2lnbmVkIGxvbmcgdmFsdWUgd2l0aCBgLS10eXBlPXVsb25nYCwgbm90IGAiCisiJXNgIgorbXNnc3RyICIiCisiT3B0aW9uIGAtLWRlZmF1bHQnIGVyd2FydGV0IGVpbmVuIHZvcnplaWNoZW5sb3NlbiBMb25nLVdlcnQgYmVpIGAtLSIKKyJ0eXBlPXVsb25nYCwgbmljaHQgYCVzYCIKKwogIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjI5CiBtc2dpZCAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1vcHRzXSIKIG1zZ3N0ciAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1vcHRzXSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo4NTIKK21zZ2lkICJFcnJvcjogQ2Fubm90IGV4cG9ydCBuZXN0ZWQgdGFncyB1bmxlc3MgLS1tYXJrLXRhZ3MgaXMgc3BlY2lmaWVkLiIKK21zZ3N0ciAiIgorIkZlaGxlcjogVmVyc2NoYWNodGVsdGUgVGFncyBrw7ZubmVuIG5pY2h0IGV4cG9ydGllcnQgd2VyZGVuLCBhdcOfZXIgLS1tYXJrLSIKKyJ0YWdzIHd1cmRlIGFuZ2VnZWJlbi4iCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTUyCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBhZnRlciA8bj4gb2JqZWN0cyIKIG1zZ3N0ciAiRm9ydHNjaHJpdHQgbmFjaCA8bj4gT2JqZWt0ZW4gYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDA4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1NAogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBzaWduZWQgdGFncyIKIG1zZ3N0ciAiQmVoYW5kbHVuZyB2b24gc2lnbmllcnRlbiBUYWdzIHfDpGhsZW4iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDExCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1NwogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiB0YWdzIHRoYXQgdGFnIGZpbHRlcmVkIG9iamVjdHMiCiBtc2dzdHIgIkJlaGFuZGx1bmcgdm9uIFRhZ3Mgd8OkaGxlbiwgZGllIGdlZmlsdGVydGUgT2JqZWt0ZSBtYXJraWVyZW4iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDE0CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2MAorbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBjb21taXQgbWVzc2FnZXMgaW4gYW4gYWx0ZXJuYXRlIGVuY29kaW5nIgorbXNnc3RyICIiCisiQXVzd8OkaGxlbiBkZXIgQmVoYW5kbHVuZyB2b24gQ29tbWl0LUJlc2NocmVpYnVuZ2VuIGJlaSB3ZWNoc2VsbmRlbSBFbmNvZGluZyIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjMKIG1zZ2lkICJEdW1wIG1hcmtzIHRvIHRoaXMgZmlsZSIKLW1zZ3N0ciAiS2VubnplaWNoZW4gaW4gZGllc2UgRGF0ZWkgc2NocmVpYmVuIgorbXNnc3RyICJNYXJraWVydW5nZW4gaW4gZGllc2UgRGF0ZWkgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxNgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjUKIG1zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUiCi1tc2dzdHIgIktlbm56ZWljaGVuIHZvbiBkaWVzZXIgRGF0ZWkgaW1wb3J0aWVyZW4iCittc2dzdHIgIk1hcmtpZXJ1bmdlbiB2b24gZGllc2VyIERhdGVpIGltcG9ydGllcmVuIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxOAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjkKK21zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUgaWYgaXQgZXhpc3RzIgorbXNnc3RyICJNYXJraWVydW5nZW4gdm9uIGRpZXNlciBEYXRlaSBpbXBvcnRpZXJlbiwgd2VubiBkaWVzZSBleGlzdGllcnQiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTcxCiBtc2dpZCAiRmFrZSBhIHRhZ2dlciB3aGVuIHRhZ3MgbGFjayBvbmUiCiBtc2dzdHIgImvDvG5zdGxpY2ggZWluZW4gVGFnLUVyc3RlbGxlciBlcnpldWdlbiwgd2VubiBkYXMgVGFnIGtlaW5lbiBoYXQiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDIwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3MwogbXNnaWQgIk91dHB1dCBmdWxsIHRyZWUgZm9yIGVhY2ggY29tbWl0IgogbXNnc3RyICJmw7xyIGplZGVuIENvbW1pdCBkYXMgZ2VzYW10ZSBWZXJ6ZWljaG5pcyBhdXNnZWJlbiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMjIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTc1CiBtc2dpZCAiVXNlIHRoZSBkb25lIGZlYXR1cmUgdG8gdGVybWluYXRlIHRoZSBzdHJlYW0iCiBtc2dzdHIgImRpZSBcImRvbmVcIi1GdW5rdGlvbiBiZW51dHplbiwgdW0gZGVuIERhdGVuc3Ryb20gYWJ6dXNjaGxpZcOfZW4iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDIzCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3NgogbXNnaWQgIlNraXAgb3V0cHV0IG9mIGJsb2IgZGF0YSIKIG1zZ3N0ciAiQXVzZ2FiZSB2b24gQmxvYi1EYXRlbiDDvGJlcnNwcmluZ2VuIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAyNCBidWlsdGluL2xvZy5jOjE1ODgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTc3IGJ1aWx0aW4vbG9nLmM6MTcwNQogbXNnaWQgInJlZnNwZWMiCiBtc2dzdHIgIlJlZnNwZWMiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDI1CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3OAogbXNnaWQgIkFwcGx5IHJlZnNwZWMgdG8gZXhwb3J0ZWQgcmVmcyIKIG1zZ3N0ciAiUmVmc3BlYyBhdWYgZXhwb3J0aWVydGUgUmVmZXJlbnplbiBhbndlbmRlbiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMjYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTc5CiBtc2dpZCAiYW5vbnltaXplIG91dHB1dCIKIG1zZ3N0ciAiQXVzZ2FiZSBhbm9ueW1pc2llcmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTgxCittc2dpZCAiUmVmZXJlbmNlIHBhcmVudHMgd2hpY2ggYXJlIG5vdCBpbiBmYXN0LWV4cG9ydCBzdHJlYW0gYnkgb2JqZWN0IGlkIgorbXNnc3RyICIiCisiRWx0ZXJuLCBkaWUgbmljaHQgaW0gRmFzdC1FeHBvcnQtU3RyZWFtIHNpbmQsIGFuaGFuZCBpaHJlciBPYmpla3QtSUQgIgorInJlZmVyZW56aWVyZW4iCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTgzCittc2dpZCAiU2hvdyBvcmlnaW5hbCBvYmplY3QgaWRzIG9mIGJsb2JzL2NvbW1pdHMiCittc2dzdHIgIm9yaWdpbmFsZSBPYmpla3QtSURzIHZvbiBCbG9icy9Db21taXRzIGFuemVpZ2VuIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE4NQorbXNnaWQgIkxhYmVsIHRhZ3Mgd2l0aCBtYXJrIGlkcyIKK21zZ3N0ciAiVGFncyBtaXQgTWFya2llcnVuZ3MtSURzIGJlc2NocmlmdGVuIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTIyMAorbXNnaWQgIkNhbm5vdCBwYXNzIGJvdGggLS1pbXBvcnQtbWFya3MgYW5kIC0taW1wb3J0LW1hcmtzLWlmLWV4aXN0cyIKK21zZ3N0ciAiIgorIi0taW1wb3J0LW1hcmtzIHVuZCAtLWltcG9ydC1tYXJrcy1pZi1leGlzdHMga8O2bm5lbiBuaWNodCB6dXNhbW1lbiAiCisid2VpdGVyZ2VnZWJlbiB3ZXJkZW4iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNAogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs8T3B0aW9uZW4+XSBbPFJlcG9zaXRvcnk+IFs8UmVmc3BlYz4uLi5dXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI5CisjOiBidWlsdGluL2ZldGNoLmM6MzUKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gPGdyb3VwPiIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs8T3B0aW9uZW4+XSA8R3J1cHBlPiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMwCisjOiBidWlsdGluL2ZldGNoLmM6MzYKIG1zZ2lkICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPG9wdGlvbnM+XSBbKDxyZXBvc2l0b3J5PiB8IDxncm91cD4pLi4uXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzxPcHRpb25lbj5dIFsoPFJlcG9zaXRvcnk+IHwgPEdydXBwZT4pLi4uXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMxCisjOiBidWlsdGluL2ZldGNoLmM6MzcKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPE9wdGlvbmVuPl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTUgYnVpbHRpbi9wdWxsLmM6MTk0CisjOiBidWlsdGluL2ZldGNoLmM6MTE2Cittc2dpZCAiZmV0Y2gucGFyYWxsZWwgY2Fubm90IGJlIG5lZ2F0aXZlIgorbXNnc3RyICJmZXRjaC5wYXJhbGxlbCBrYW5uIG5pY2h0IG5lZ2F0aXYgc2VpbiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEzOSBidWlsdGluL3B1bGwuYzoyMDQKIG1zZ2lkICJmZXRjaCBmcm9tIGFsbCByZW1vdGVzIgogbXNnc3RyICJmb3JkZXJ0IHZvbiBhbGxlbiBSZW1vdGUtUmVwb3NpdG9yaWVzIGFuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE3IGJ1aWx0aW4vcHVsbC5jOjE5NworIzogYnVpbHRpbi9mZXRjaC5jOjE0MSBidWlsdGluL3B1bGwuYzoyNDgKK21zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL2ZldGNoIgorbXNnc3RyICJVcHN0cmVhbSBmw7xyIFwiZ2l0IHB1bGwvZmV0Y2hcIiBzZXR6ZW4iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDMgYnVpbHRpbi9wdWxsLmM6MjA3CiBtc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgogbXNnc3RyICJhbiAuZ2l0L0ZFVENIX0hFQUQgYW5ow6RuZ2VuLCBhbnN0YXR0IHp1IMO8YmVyc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE5IGJ1aWx0aW4vcHVsbC5jOjIwMAorIzogYnVpbHRpbi9mZXRjaC5jOjE0NSBidWlsdGluL3B1bGwuYzoyMTAKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgIlBmYWQgZGVzIFByb2dyYW1tcyB6dW0gSG9jaGxhZGVuIHZvbiBQYWtldGVuIGF1ZiBkZXIgR2VnZW5zZWl0ZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMAorIzogYnVpbHRpbi9mZXRjaC5jOjE0NgogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCByZWZlcmVuY2UiCiBtc2dzdHIgImRhcyDDnGJlcnNjaHJlaWJlbiBlaW5lciBsb2thbGVuIFJlZmVyZW56IGVyendpbmdlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMgorIzogYnVpbHRpbi9mZXRjaC5jOjE0OAogbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKIG1zZ3N0ciAidm9uIG1laHJlcmVuIFJlbW90ZS1SZXBvc2l0b3JpZXMgYW5mb3JkZXJuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI0IGJ1aWx0aW4vcHVsbC5jOjIwNAorIzogYnVpbHRpbi9mZXRjaC5jOjE1MCBidWlsdGluL3B1bGwuYzoyMTQKIG1zZ2lkICJmZXRjaCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIgogbXNnc3RyICJhbGxlIFRhZ3MgdW5kIHZlcmJ1bmRlbmUgT2JqZWt0ZSBhbmZvcmRlcm4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTIKIG1zZ2lkICJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiCiBtc2dzdHIgIm5pY2h0IGFsbGUgVGFncyBhbmZvcmRlcm4gKC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTQKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBmZXRjaGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJBbnphaGwgZGVyIHBhcmFsbGVsIGFuenVmb3JkZXJuZGVuIFN1Ym1vZHVsZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMCBidWlsdGluL3B1bGwuYzoyMDcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTYgYnVpbHRpbi9wdWxsLmM6MjE3CiBtc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCiBtc2dzdHIgIiIKICJSZW1vdGUtVHJhY2tpbmctQnJhbmNoZXMgZW50ZmVybmVuLCBkaWUgc2ljaCBuaWNodCBtZWhyIGltIFJlbW90ZS1SZXBvc2l0b3J5ICIKICJiZWZpbmRlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMgorIzogYnVpbHRpbi9mZXRjaC5jOjE1OAogbXNnaWQgInBydW5lIGxvY2FsIHRhZ3Mgbm8gbG9uZ2VyIG9uIHJlbW90ZSBhbmQgY2xvYmJlciBjaGFuZ2VkIHRhZ3MiCiBtc2dzdHIgIiIKICJsb2thbGUgVGFncyBlbnRmZXJuZW4sIGRpZSBzaWNoIG5pY2h0IG1laHIgaW0gUmVtb3RlLVJlcG9zaXRvcnkgYmVmaW5kZW4sICIKICJ1bmQgZ2XDpG5kZXJ0ZSBUYWdzIGFrdHVhbGlzaWVyZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzMgYnVpbHRpbi9mZXRjaC5jOjE1NiBidWlsdGluL3B1bGwuYzoxMzIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTkgYnVpbHRpbi9mZXRjaC5jOjE4MiBidWlsdGluL3B1bGwuYzoxNDEKIG1zZ2lkICJvbi1kZW1hbmQiCiBtc2dzdHIgImJlaS1CZWRhcmYiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjAKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICJyZWt1cnNpdmUgQW5mb3JkZXJ1bmdlbiB2b24gU3VibW9kdWxlbiBrb250cm9sbGllcmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM4IGJ1aWx0aW4vcHVsbC5jOjIxNQorIzogYnVpbHRpbi9mZXRjaC5jOjE2NCBidWlsdGluL3B1bGwuYzoyMjUKIG1zZ2lkICJrZWVwIGRvd25sb2FkZWQgcGFjayIKIG1zZ3N0ciAiaGVydW50ZXJnZWxhZGVuZXMgUGFrZXQgYmVoYWx0ZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjYKIG1zZ2lkICJhbGxvdyB1cGRhdGluZyBvZiBIRUFEIHJlZiIKIG1zZ3N0ciAiQWt0dWFsaXNpZXJ1bmcgZGVyIFwiSEVBRFwiLVJlZmVyZW56IGVybGF1YmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQzIGJ1aWx0aW4vZmV0Y2guYzoxNDkgYnVpbHRpbi9wdWxsLmM6MjE4CisjOiBidWlsdGluL2ZldGNoLmM6MTY5IGJ1aWx0aW4vZmV0Y2guYzoxNzUgYnVpbHRpbi9wdWxsLmM6MjI4CiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSIKIG1zZ3N0ciAiIgogImRpZSBIaXN0b3JpZSBlaW5lcyBLbG9ucyBtaXQgdW52b2xsc3TDpG5kaWdlciBIaXN0b3JpZSAoc2hhbGxvdykgdmVydGllZmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQ1CisjOiBidWlsdGluL2ZldGNoLmM6MTcxCiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyByZXBvc2l0b3J5IGJhc2VkIG9uIHRpbWUiCiBtc2dzdHIgIiIKICJkaWUgSGlzdG9yaWUgZWluZXMgS2xvbnMgbWl0IHVudm9sbHN0w6RuZGlnZXIgSGlzdG9yaWUgKHNoYWxsb3cpIGF1ZiAiCiAiWmVpdGJhc2lzXG4iCiAidmVydGllZmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTUxIGJ1aWx0aW4vcHVsbC5jOjIyMQorIzogYnVpbHRpbi9mZXRjaC5jOjE3NyBidWlsdGluL3B1bGwuYzoyMzEKIG1zZ2lkICJjb252ZXJ0IHRvIGEgY29tcGxldGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAienUgZWluZW0gdm9sbHN0w6RuZGlnZW4gUmVwb3NpdG9yeSBrb252ZXJ0aWVyZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODAKIG1zZ2lkICJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IgogbXNnc3RyICJkaWVzIGFuIGRpZSBBdXNnYWJlIGRlciBTdWJtb2R1bC1QZmFkZSB2b3JhbnN0ZWxsZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODMKIG1zZ2lkICIiCiAiZGVmYXVsdCBmb3IgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMgKGxvd2VyIHByaW9yaXR5IHRoYW4gY29uZmlnICIKICJmaWxlcykiCkBAIC0xMTEwMSw5OSArMTM2MjIsMTI1IEBACiAiU3RhbmRhcmQgZsO8ciBkaWUgcmVrdXJzaXZlIEFuZm9yZGVydW5nIHZvbiBTdWJtb2R1bGVuIChnZXJpbmdlcmUgUHJpb3JpdMOkdFxuIgogImFscyBLb25maWd1cmF0aW9uc2RhdGVpZW4pIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYxIGJ1aWx0aW4vcHVsbC5jOjIyNAorIzogYnVpbHRpbi9mZXRjaC5jOjE4NyBidWlsdGluL3B1bGwuYzoyMzQKIG1zZ2lkICJhY2NlcHQgcmVmcyB0aGF0IHVwZGF0ZSAuZ2l0L3NoYWxsb3ciCiBtc2dzdHIgIlJlZmVyZW56ZW4sIGRpZSAuZ2l0L3NoYWxsb3cgYWt0dWFsaXNpZXJlbiwgYWt6ZXB0aWVyZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjIgYnVpbHRpbi9wdWxsLmM6MjI2CisjOiBidWlsdGluL2ZldGNoLmM6MTg4IGJ1aWx0aW4vcHVsbC5jOjIzNgogbXNnaWQgInJlZm1hcCIKIG1zZ3N0ciAiUmVmbWFwIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYzIGJ1aWx0aW4vcHVsbC5jOjIyNworIzogYnVpbHRpbi9mZXRjaC5jOjE4OSBidWlsdGluL3B1bGwuYzoyMzcKIG1zZ2lkICJzcGVjaWZ5IGZldGNoIHJlZm1hcCIKIG1zZ3N0ciAiUmVmbWFwIGbDvHIgJ2ZldGNoJyBhbmdlYmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTY0IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzcgYnVpbHRpbi9wdXNoLmM6NTgyCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE3MgotbXNnaWQgInNlcnZlci1zcGVjaWZpYyIKLW1zZ3N0ciAic2VydmVyc3BlemlmaXNjaCIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjE2NCBidWlsdGluL2xzLXJlbW90ZS5jOjc3IGJ1aWx0aW4vcHVzaC5jOjU4MgotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzMKLW1zZ2lkICJvcHRpb24gdG8gdHJhbnNtaXQiCi1tc2dzdHIgIk9wdGlvbiDDvGJlcnRyYWdlbiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjE3MAorIzogYnVpbHRpbi9mZXRjaC5jOjE5NgogbXNnaWQgInJlcG9ydCB0aGF0IHdlIGhhdmUgb25seSBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIHRoaXMgb2JqZWN0IgogbXNnc3RyICIiCiAiYXVzZ2ViZW4sIGRhc3Mgd2lyIG51ciBPYmpla3RlIGhhYmVuLCBkaWUgdm9uIGRpZXNlbSBPYmpla3QgYXVzIGVycmVpY2hiYXIgIgogInNpbmQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0NzAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxOTkKK21zZ2lkICJydW4gJ2djIC0tYXV0bycgYWZ0ZXIgZmV0Y2hpbmciCittc2dzdHIgIkbDvGhyZSAnZ2MgLS1hdXRvJyBuYWNoIFwiZmV0Y2hcIiBhdXMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMDEgYnVpbHRpbi9wdWxsLmM6MjQ2Cittc2dpZCAiY2hlY2sgZm9yIGZvcmNlZC11cGRhdGVzIG9uIGFsbCB1cGRhdGVkIGJyYW5jaGVzIgorbXNnc3RyICJQcsO8ZmUgYXVmIGVyend1bmdlbmUgQWt0dWFsaXNpZXJ1bmdlbiBpbiBhbGxlbiBha3R1YWxpc2llcnRlbiBCcmFuY2hlcyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjIwMworbXNnaWQgIndyaXRlIHRoZSBjb21taXQtZ3JhcGggYWZ0ZXIgZmV0Y2hpbmciCittc2dzdHIgIlNjaHJlaWJlIGRlbiBDb21taXQtR3JhcGggbmFjaCBcImZldGNoXCIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MTMKIG1zZ2lkICJDb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgSEVBRCIKIG1zZ3N0ciAiS29ubnRlIFJlbW90ZS1SZWZlcmVueiB2b24gSEVBRCBuaWNodCBmaW5kZW4uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjA5CisjOiBidWlsdGluL2ZldGNoLmM6NjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbmZpZ3VyYXRpb24gZmV0Y2gub3V0cHV0IGNvbnRhaW5zIGludmFsaWQgdmFsdWUgJXMiCiBtc2dzdHIgIktvbmZpZ3VyYXRpb24gZmV0Y2gub3V0cHV0IGVudGjDpGx0IHVuZ8O8bHRpZ2VuIFdlcnQgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MDIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKIG1zZ3N0ciAiT2JqZWt0ICVzIG5pY2h0IGdlZnVuZGVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzA2CisjOiBidWlsdGluL2ZldGNoLmM6NzU1CiBtc2dpZCAiW3VwIHRvIGRhdGVdIgogbXNnc3RyICJbYWt0dWVsbF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MTkgYnVpbHRpbi9mZXRjaC5jOjczNSBidWlsdGluL2ZldGNoLmM6ODA3CisjOiBidWlsdGluL2ZldGNoLmM6NzY4IGJ1aWx0aW4vZmV0Y2guYzo3ODQgYnVpbHRpbi9mZXRjaC5jOjg1NgogbXNnaWQgIltyZWplY3RlZF0iCiBtc2dzdHIgIlt6dXLDvGNrZ2V3aWVzZW5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzIwCisjOiBidWlsdGluL2ZldGNoLmM6NzY5CiBtc2dpZCAiY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2giCiBtc2dzdHIgImthbm4gXCJmZXRjaFwiIGltIGFrdHVlbGxlbiBCcmFuY2ggbmljaHQgYXVzZsO8aHJlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjczMAorIzogYnVpbHRpbi9mZXRjaC5jOjc3OQogbXNnaWQgIlt0YWcgdXBkYXRlXSIKIG1zZ3N0ciAiW1RhZyBBa3R1YWxpc2llcnVuZ10iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MzEgYnVpbHRpbi9mZXRjaC5jOjc3MSBidWlsdGluL2ZldGNoLmM6Nzg3Ci0jOiBidWlsdGluL2ZldGNoLmM6ODAyCisjOiBidWlsdGluL2ZldGNoLmM6NzgwIGJ1aWx0aW4vZmV0Y2guYzo4MTcgYnVpbHRpbi9mZXRjaC5jOjgzOQorIzogYnVpbHRpbi9mZXRjaC5jOjg1MQogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIgogbXNnc3RyICJrYW5uIGxva2FsZSBSZWZlcmVueiBuaWNodCBha3R1YWxpc2llcmVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzM1CisjOiBidWlsdGluL2ZldGNoLmM6Nzg0CiBtc2dpZCAid291bGQgY2xvYmJlciBleGlzdGluZyB0YWciCiBtc2dzdHIgInfDvHJkZSBiZXN0ZWhlbmRlIFRhZ3MgdmVyw6RuZGVybiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc1NworIzogYnVpbHRpbi9mZXRjaC5jOjgwNgogbXNnaWQgIltuZXcgdGFnXSIKIG1zZ3N0ciAiW25ldWVzIFRhZ10iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4MDkKIG1zZ2lkICJbbmV3IGJyYW5jaF0iCiBtc2dzdHIgIltuZXVlciBCcmFuY2hdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzYzCisjOiBidWlsdGluL2ZldGNoLmM6ODEyCiBtc2dpZCAiW25ldyByZWZdIgogbXNnc3RyICJbbmV1ZSBSZWZlcmVuel0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MDIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTEKIG1zZ2lkICJmb3JjZWQgdXBkYXRlIgogbXNnc3RyICJBa3R1YWxpc2llcnVuZyBlcnp3dW5nZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MDcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTYKIG1zZ2lkICJub24tZmFzdC1mb3J3YXJkIgogbXNnc3RyICJrZWluIFZvcnNwdWxlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg1MworIzogYnVpbHRpbi9mZXRjaC5jOjg3NworbXNnaWQgIiIKKyJGZXRjaCBub3JtYWxseSBpbmRpY2F0ZXMgd2hpY2ggYnJhbmNoZXMgaGFkIGEgZm9yY2VkIHVwZGF0ZSxcbiIKKyJidXQgdGhhdCBjaGVjayBoYXMgYmVlbiBkaXNhYmxlZC4gVG8gcmUtZW5hYmxlLCB1c2UgJy0tc2hvdy1mb3JjZWQtdXBkYXRlcydcbiIKKyJmbGFnIG9yIHJ1biAnZ2l0IGNvbmZpZyBmZXRjaC5zaG93Rm9yY2VkVXBkYXRlcyB0cnVlJy4iCittc2dzdHIgIiIKKyJOb3JtYWxlcndlaXNlIHplaWd0ICdmZXRjaCcgd2VsY2hlIEJyYW5jaGVzIGVpbmUgZXJ6d3VuZ2VuZSBBa3R1YWxpc2llcnVuZ1xuIgorImhhdHRlbiwgYWJlciBkaWVzZSDDnGJlcnByw7xmdW5nIHd1cmRlIGRlYWt0aXZpZXJ0LiBVbSBkaWVzZSB3aWVkZXIgenVcbiIKKyJha3RpdmllcmVuLCBudXR6ZW4gU2llIGRpZSBPcHRpb24gJy0tc2hvdy1mb3JjZWQtdXBkYXRlZCcgb2RlciBmw7xocmVuXG4iCisiU2llICdnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzIHRydWUnIGF1cy4iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGNoZWNrIGZvcmNlZCB1cGRhdGVzLiBZb3UgY2FuIHVzZVxuIgorIictLW5vLXNob3ctZm9yY2VkLXVwZGF0ZXMnIG9yIHJ1biAnZ2l0IGNvbmZpZyBmZXRjaC5zaG93Rm9yY2VkVXBkYXRlcyAiCisiZmFsc2UnXG4iCisiIHRvIGF2b2lkIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyJFcyBicmF1Y2h0ZSAlLjJmIFNla3VuZGVuLCB1bSBlcnp3dW5nZW5lIEFrdHVhbGlzaWVydW5nZW4genUgw7xiZXJwcsO8ZmVuLlxuIgorIlNpZSBrw7ZubmVuIGRpZSBPcHRpb24gJy0tbm8tc2hvdy1mb3JjZWQtdXBkYXRlcycgYmVudXR6ZW4gb2RlclxuIgorIidnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzIGZhbHNlJyBhdXNmw7xocmVuLCB1bSBkaWVzZSDDnGJlcnByw7xmdW5nXG4iCisienUgdW1nZWhlbi5cbiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjkxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzXG4iCiBtc2dzdHIgIiVzIGhhdCBuaWNodCBhbGxlIGVyZm9yZGVybGljaGVuIE9iamVrdGUgZ2VzZW5kZXRcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg3NAorIzogYnVpbHRpbi9mZXRjaC5jOjkzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWplY3QgJXMgYmVjYXVzZSBzaGFsbG93IHJvb3RzIGFyZSBub3QgYWxsb3dlZCB0byBiZSB1cGRhdGVkIgogbXNnc3RyICIiCkBAIC0xMTIwMSwxMiArMTM3NDgsMTIgQEAKICJ1bnZvbGxzdMOkbmRpZ2VyXG4iCiAiSGlzdG9yaWUgKHNoYWxsb3cpIG5pY2h0IGFrdHVhbGlzaWVydCB3ZXJkZW4gZMO8cmZlbi4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NjMgYnVpbHRpbi9mZXRjaC5jOjEwODUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE3IGJ1aWx0aW4vZmV0Y2guYzoxMTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICJWb24gJS4qc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTc0CisjOiBidWlsdGluL2ZldGNoLmM6MTAyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAic29tZSBsb2NhbCByZWZzIGNvdWxkIG5vdCBiZSB1cGRhdGVkOyB0cnkgcnVubmluZ1xuIgpAQCAtMTEyMTUsNTkgKzEzNzYyLDgxIEBACiAiRWluaWdlIGxva2FsZSBSZWZlcmVuemVuIGtvbm50ZW4gbmljaHQgYWt0dWFsaXNpZXJ0IHdlcmRlbjsgdmVyc3VjaGVuIFNpZVxuIgogIidnaXQgcmVtb3RlIHBydW5lICVzJywgdW0gamVkZW4gw6RsdGVyZW4sIHdpZGVyc3Byw7xjaGxpY2hlbiBCcmFuY2ggenUgbMO2c2NoZW4uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA1NQorIzogYnVpbHRpbi9mZXRjaC5jOjExMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIHdpbGwgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIHdpcmQgdW5yZWZlcmVuemllcnQpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA1NgorIzogYnVpbHRpbi9mZXRjaC5jOjExMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMgd3VyZGUgdW5yZWZlcmVuemllcnQpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4OAorIzogYnVpbHRpbi9mZXRjaC5jOjExNTgKIG1zZ2lkICJbZGVsZXRlZF0iCiBtc2dzdHIgIltnZWzDtnNjaHRdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4OSBidWlsdGluL3JlbW90ZS5jOjEwMzYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTU5IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNQogbXNnaWQgIihub25lKSIKIG1zZ3N0ciAiKG5pY2h0cykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEyCisjOiBidWlsdGluL2ZldGNoLmM6MTE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBmZXRjaCBpbnRvIGN1cnJlbnQgYnJhbmNoICVzIG9mIG5vbi1iYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKICJEZXIgXCJmZXRjaFwiIGluIGRlbiBha3R1ZWxsZW4gQnJhbmNoICVzIHZvbiBlaW5lbSBOaWNodC1CYXJlLVJlcG9zaXRvcnkgIgogInd1cmRlIHZlcndlaWdlcnQuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEzMQorIzogYnVpbHRpbi9mZXRjaC5jOjEyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKIG1zZ3N0ciAiT3B0aW9uIFwiJXNcIiBXZXJ0IFwiJXNcIiBpc3QgbmljaHQgZ8O8bHRpZyBmw7xyICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEzNAorIzogYnVpbHRpbi9mZXRjaC5jOjEyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICJPcHRpb24gXCIlc1wiIHdpcmQgaWdub3JpZXJ0IGbDvHIgJXNcbiIKIAorIzogYnVpbHRpbi9mZXRjaC5jOjE0MTIKK21zZ2lkICJtdWx0aXBsZSBicmFuY2hlcyBkZXRlY3RlZCwgaW5jb21wYXRpYmxlIHdpdGggLS1zZXQtdXBzdHJlYW0iCittc2dzdHIgIk1laHJlcmUgQnJhbmNoZXMgZXJrYW5udCwgaW5rb21wYXRpYmVsIG1pdCAtLXNldC11cHN0cmVhbSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MjcKK21zZ2lkICJub3Qgc2V0dGluZyB1cHN0cmVhbSBmb3IgYSByZW1vdGUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKK21zZ3N0ciAiU2V0emUga2VpbmVuIFVwc3RyZWFtIGbDvHIgZWluZW4gZW50ZmVybnRlbiBSZW1vdGUtVHJhY2tpbmctQnJhbmNoLiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MjkKK21zZ2lkICJub3Qgc2V0dGluZyB1cHN0cmVhbSBmb3IgYSByZW1vdGUgdGFnIgorbXNnc3RyICJTZXR6ZSBrZWluZW4gVXBzdHJlYW0gZsO8ciBlaW5lbiBUYWcgZWluZXMgUmVtb3RlLVJlcG9zaXRvcmllcy4iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDMxCittc2dpZCAidW5rbm93biBicmFuY2ggdHlwZSIKK21zZ3N0ciAiVW5iZWthbm50ZXIgQnJhbmNoLVR5cCIKKwogIzogYnVpbHRpbi9mZXRjaC5jOjE0MzMKK21zZ2lkICIiCisibm8gc291cmNlIGJyYW5jaCBmb3VuZC5cbiIKKyJ5b3UgbmVlZCB0byBzcGVjaWZ5IGV4YWN0bHkgb25lIGJyYW5jaCB3aXRoIHRoZSAtLXNldC11cHN0cmVhbSBvcHRpb24uIgorbXNnc3RyICIiCisiS2VpbmVuIFF1ZWxsLUJyYW5jaCBnZWZ1bmRlbi5cbiIKKyJTaWUgbcO8c3NlbiBiZWkgZGVyIE9wdGlvbiAtLXNldC11cHN0cmVhbSBnZW5hdSBlaW5lbiBCcmFuY2ggYW5nZWJlbi4iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTU5IGJ1aWx0aW4vZmV0Y2guYzoxNjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZldGNoaW5nICVzXG4iCiBtc2dzdHIgIkZvcmRlcmUgYW4gdm9uICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNDM1IGJ1aWx0aW4vcmVtb3RlLmM6MTAwCisjOiBidWlsdGluL2ZldGNoLmM6MTU2OSBidWlsdGluL2ZldGNoLmM6MTYyNCBidWlsdGluL3JlbW90ZS5jOjEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmV0Y2ggJXMiCiBtc2dzdHIgIktvbm50ZSBuaWNodCB2b24gJXMgYW5mb3JkZXJuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQ4MSBidWlsdGluL2ZldGNoLmM6MTY0OQotbXNnaWQgIiIKLSItLWZpbHRlciBjYW4gb25seSBiZSB1c2VkIHdpdGggdGhlIHJlbW90ZSBjb25maWd1cmVkIGluIGNvcmUucGFydGlhbENsb25lIgotbXNnc3RyICIiCi0iLS1maWx0ZXIga2FubiBudXIgbWl0IGRlbiBSZW1vdGUtUmVwb3NpdG9yaWVzIHZlcndlbmRldCB3ZXJkZW4sXG4iCi0iZGllIGluIGNvcmUucGFydGlhbENsb25lIGtvbmZpZ3VyaWVydCBzaW5kLiIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTgxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmZXRjaCAnJXMnIChleGl0IGNvZGU6ICVkKVxuIgorbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBhbmZvcmRlcm4gKEV4aXQtQ29kZTogJWQpXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTA0CisjOiBidWlsdGluL2ZldGNoLmM6MTY4NAogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgpAQCAtMTEyNzYsNDggKzEzODQ1LDU2IEBACiAib2RlciBkZW4gTmFtZW4gZGVzIFJlbW90ZS1SZXBvc2l0b3JpZXMgYW4sIHZvbiB3ZWxjaGVtIG5ldWVcbiIKICJDb21taXRzIGFuZ2Vmb3JkZXJ0IHdlcmRlbiBzb2xsZW4uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU0MQorIzogYnVpbHRpbi9mZXRjaC5jOjE3MjEKIG1zZ2lkICJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgdGFnIG5hbWUuIgogbXNnc3RyICJTaWUgbcO8c3NlbiBkZW4gTmFtZW4gZGVzIFRhZ3MgYW5nZWJlbi4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTkwCisjOiBidWlsdGluL2ZldGNoLmM6MTc3MQogbXNnaWQgIk5lZ2F0aXZlIGRlcHRoIGluIC0tZGVlcGVuIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIk5lZ2F0aXZlIFRpZWZlIHdpcmQgdm9uIC0tZGVlcGVuIG5pY2h0IHVudGVyc3TDvHR6dC4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTkyCisjOiBidWlsdGluL2ZldGNoLmM6MTc3MwogbXNnaWQgIi0tZGVlcGVuIGFuZCAtLWRlcHRoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi0tZGVlcGVuIHVuZCAtLWRlcHRoIHNjaGxpZcOfZW4gc2ljaCBnZWdlbnNlaXRpZyBhdXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTk3CisjOiBidWlsdGluL2ZldGNoLmM6MTc3OAogbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbmVuIC0tZGVwdGggdW5kIC0tdW5zaGFsbG93IGvDtm5uZW4gbmljaHQgZ2VtZWluc2FtIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU5OQorIzogYnVpbHRpbi9mZXRjaC5jOjE3ODAKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgotIkRpZSBPcHRpb24gLS11bnNoYWxsb3cga2FubiBuaWNodCBpbiBlaW5lbSBSZXBvc2l0b3J5IG1pdCB1bnZvbGxzdMOkbmRpZ2VyICIKKyJEaWUgT3B0aW9uIC0tdW5zaGFsbG93IGthbm4gbmljaHQgaW4gZWluZW0gUmVwb3NpdG9yeSBtaXQgdm9sbHN0w6RuZGlnZXIgIgogIkhpc3RvcmllIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYxNQorIzogYnVpbHRpbi9mZXRjaC5jOjE3OTYKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCB0YWtlIGEgcmVwb3NpdG9yeSBhcmd1bWVudCIKIG1zZ3N0ciAiZmV0Y2ggLS1hbGwgYWt6ZXB0aWVydCBrZWluIFJlcG9zaXRvcnkgYWxzIEFyZ3VtZW50IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYxNworIzogYnVpbHRpbi9mZXRjaC5jOjE3OTgKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgImZldGNoIC0tYWxsIGthbm4gbmljaHQgbWl0IFJlZnNwZWNzIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYyNgorIzogYnVpbHRpbi9mZXRjaC5jOjE4MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgb3IgcmVtb3RlIGdyb3VwOiAlcyIKIG1zZ3N0ciAiS2VpbiBSZW1vdGUtUmVwb3NpdG9yeSAoZWluemVsbiBvZGVyIEdydXBwZSk6ICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYzMworIzogYnVpbHRpbi9mZXRjaC5jOjE4MTQKIG1zZ2lkICJGZXRjaGluZyBhIGdyb3VwIGFuZCBzcGVjaWZ5aW5nIHJlZnNwZWNzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKICJEYXMgQWJob2xlbiBlaW5lciBHcnVwcGUgdm9uIFJlbW90ZS1SZXBvc2l0b3JpZXMga2FubiBuaWNodCBtaXQgZGVyIEFuZ2FiZVxuIgogInZvbiBSZWZzcGVjcyB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAorIzogYnVpbHRpbi9mZXRjaC5jOjE4MzIKK21zZ2lkICIiCisiLS1maWx0ZXIgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHRoZSByZW1vdGUgY29uZmlndXJlZCBpbiBleHRlbnNpb25zLiIKKyJwYXJ0aWFsY2xvbmUiCittc2dzdHIgIiIKKyItLWZpbHRlciBrYW5uIG51ciBtaXQgZGVuIFJlbW90ZS1SZXBvc2l0b3JpZXMgdmVyd2VuZGV0IHdlcmRlbixcbiIKKyJkaWUgaW4gY29yZS5wYXJ0aWFsQ2xvbmUga29uZmlndXJpZXJ0IHNpbmQuIgorCiAjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzoxOAogbXNnaWQgIiIKICJnaXQgZm10LW1lcmdlLW1zZyBbLW0gPG1lc3NhZ2U+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSA8ZmlsZT5dIgpAQCAtMTEzMjUsMjMgKzEzOTAyLDIzIEBACiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxCZXNjaHJlaWJ1bmc+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSAiCiAiPERhdGVpPl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MgorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc0CiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgogbXNnc3RyICJIaXN0b3JpZSBtaXQgaMO2Y2hzdGVucyA8bj4gRWludHLDpGdlbiB2b24gXCJzaG9ydGxvZ1wiIGhpbnp1ZsO8Z2VuIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzUKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NwogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCiBtc2dzdHIgIkFsaWFzIGbDvHIgLS1sb2cgKHZlcmFsdGV0KSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc4CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2ODAKIG1zZ2lkICJ0ZXh0IgogbXNnc3RyICJUZXh0IgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzkKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY4MQogbXNnaWQgInVzZSA8dGV4dD4gYXMgc3RhcnQgb2YgbWVzc2FnZSIKIG1zZ3N0ciAiPFRleHQ+IGFscyBCZXNjaHJlaWJ1bmdzYW5mYW5nIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjgwCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2ODIKIG1zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKIG1zZ3N0ciAiRGF0ZWkgenVtIEVpbmxlc2VuIgogCkBAIC0xMTM4MSw5MSArMTM5NTgsMjc0IEBACiBtc2dpZCAic2hvdyBvbmx5IDxuPiBtYXRjaGVkIHJlZnMiCiBtc2dzdHIgIm51ciA8bj4gcGFzc2VuZGUgUmVmZXJlbnplbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjQyNAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjQzOQogbXNnaWQgInJlc3BlY3QgZm9ybWF0IGNvbG9ycyIKIG1zZ3N0ciAiRm9ybWF0ZmFyYmVuIGJlYWNodGVuIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQzCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQyCiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIHBvaW50cyBhdCB0aGUgZ2l2ZW4gb2JqZWN0IgogbXNnc3RyICJudXIgYXVmIGRpZXNlcyBPYmpla3QgemVpZ2VuZGUgUmVmZXJlbnplbiBhdXNnZWJlbiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NAogbXNnaWQgInByaW50IG9ubHkgcmVmcyB0aGF0IGFyZSBtZXJnZWQiCiBtc2dzdHIgIm51ciB6dXNhbW1lbmdlZsO8aHJ0ZSBSZWZlcmVuemVuIGF1c2dlYmVuIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ1CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgIm51ciBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBSZWZlcmVuemVuIGF1c2dlYmVuIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ3CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAibnVyIFJlZmVyZW56ZW4gYXVzZ2ViZW4sIGRpZSBkaWVzZW4gQ29tbWl0IGVudGhhbHRlbiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0OAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NwogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgIm51ciBSZWZlcmVuemVuIGF1c2dlYmVuLCBkaWUgZGllc2VuIENvbW1pdCBuaWNodCBlbnRoYWx0ZW4iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjU5OAorIzogYnVpbHRpbi9mc2NrLmM6NjggYnVpbHRpbi9mc2NrLmM6MTQ3IGJ1aWx0aW4vZnNjay5jOjE0OAorbXNnaWQgInVua25vd24iCittc2dzdHIgInVuYmVrYW5udCIKKworIy4gVFJBTlNMQVRPUlM6IGUuZy4gZXJyb3IgaW4gdHJlZSAwMWJmZGE6IDxtb3JlIGV4cGxhbmF0aW9uPgorIzogYnVpbHRpbi9mc2NrLmM6MTAwIGJ1aWx0aW4vZnNjay5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBpbiAlcyAlczogJXMiCittc2dzdHIgIkZlaGxlciBpbiAlcyAlczogJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBlLmcuIHdhcm5pbmcgaW4gdHJlZSAwMWJmZGE6IDxtb3JlIGV4cGxhbmF0aW9uPgorIzogYnVpbHRpbi9mc2NrLmM6MTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmcgaW4gJXMgJXM6ICVzIgorbXNnc3RyICJXYXJudW5nIGluICVzICVzOiAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6MTQzIGJ1aWx0aW4vZnNjay5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJicm9rZW4gbGluayBmcm9tICU3cyAlcyIKK21zZ3N0ciAiRmVobGVyaGFmdGUgVmVya27DvHBmdW5nIHZvbiAlN3MgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjE1NQorbXNnaWQgIndyb25nIG9iamVjdCB0eXBlIGluIGxpbmsiCittc2dzdHIgIkZhbHNjaGVyIE9iamVrdHR5cCBpbiBWZXJrbsO8cGZ1bmcuIgorCisjOiBidWlsdGluL2ZzY2suYzoxNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImJyb2tlbiBsaW5rIGZyb20gJTdzICVzXG4iCisiICAgICAgICAgICAgICB0byAlN3MgJXMiCittc2dzdHIgIiIKKyJGZWhsZXJoYWZ0ZSBWZXJrbsO8cGZ1bmcgdm9uICU3cyAlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgbmFjaCAlN3MgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nICVzICVzIgorbXNnc3RyICIlcyAlcyBmZWhsdCIKKworIzogYnVpbHRpbi9mc2NrLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlICVzICVzIgorbXNnc3RyICIlcyAlcyBuaWNodCBlcnJlaWNoYmFyIgorCisjOiBidWlsdGluL2ZzY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGFuZ2xpbmcgJXMgJXMiCittc2dzdHIgIiVzICVzIHVucmVmZXJlbnppZXJ0IgorCisjOiBidWlsdGluL2ZzY2suYzozMzkKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxvc3QtZm91bmQiCittc2dzdHIgIktvbm50ZSBsb3N0LWZvdW5kIG5pY2h0IGVyc3RlbGxlbi4iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjM1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZmluaXNoICclcyciCittc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGFic2NobGllw59lbi4iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjM2NworIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyAlcyIKK21zZ3N0ciAiUHLDvGZlICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5ICglZCBvYmplY3RzKSIKK21zZ3N0ciAiUHLDvGZlIEtvbm5la3Rpdml0w6R0ICglZCBPYmpla3RlKSIKKworIzogYnVpbHRpbi9mc2NrLmM6NDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nICVzICVzIgorbXNnc3RyICJQcsO8ZmUgJXMgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQyOQorbXNnaWQgImJyb2tlbiBsaW5rcyIKK21zZ3N0ciAiRmVobGVyaGFmdGUgVmVya27DvHBmdW5nZW4iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJyb290ICVzIgorbXNnc3RyICJXdXJ6ZWwgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWdnZWQgJXMgJXMgKCVzKSBpbiAlcyIKK21zZ3N0ciAiJXMgJXMgKCVzKSBpbiAlcyBnZXRhZ2d0IgorCisjOiBidWlsdGluL2ZzY2suYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBjb3JydXB0IG9yIG1pc3NpbmciCittc2dzdHIgIiVzOiBPYmpla3QgZmVobGVyaGFmdCBvZGVyIG5pY2h0IHZvcmhhbmRlbiIKKworIzogYnVpbHRpbi9mc2NrLmM6NTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHJlZmxvZyBlbnRyeSAlcyIKK21zZ3N0ciAiJXM6IFVuZ8O8bHRpZ2VyIFJlZmxvZy1FaW50cmFnICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgcmVmbG9nICVzLT4lcyIKK21zZ3N0ciAiUHLDvGZlIFJlZmxvZyAlcy0+JXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBzaGExIHBvaW50ZXIgJXMiCittc2dzdHIgIiVzOiBVbmfDvGx0aWdlciBTSEExLVplaWdlciAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBjb21taXQiCittc2dzdHIgIiVzOiBrZWluIENvbW1pdCIKKworIzogYnVpbHRpbi9mc2NrLmM6NjA5Cittc2dpZCAibm90aWNlOiBObyBkZWZhdWx0IHJlZmVyZW5jZXMiCittc2dzdHIgIk5vdGl6OiBLZWluZSBTdGFuZGFyZHJlZmVyZW56ZW4iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZzogJXMiCittc2dzdHIgIiVzOiBPYmpla3QgZmVobGVyaGFmdCBvZGVyIG5pY2h0IHZvcmhhbmRlbjogJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2JqZWN0IGNvdWxkIG5vdCBiZSBwYXJzZWQ6ICVzIgorbXNnc3RyICIlczogT2JqZWt0IGtvbm50ZSBuaWNodCBnZXBhcnN0IHdlcmRlbjogJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY1NworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc2hhMSBmaWxlOiAlcyIKK21zZ3N0ciAiVW5nw7xsdGlnZSBTSEExLURhdGVpOiAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NjcyCittc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yeSIKK21zZ3N0ciAiUHLDvGZlIE9iamVrdC1WZXJ6ZWljaG5pcyIKKworIzogYnVpbHRpbi9mc2NrLmM6Njc1CiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yaWVzIgogbXNnc3RyICJQcsO8ZmUgT2JqZWt0LVZlcnplaWNobmlzc2UiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjY5MworIzogYnVpbHRpbi9mc2NrLmM6NjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nICVzIGxpbmsiCittc2dzdHIgIlByw7xmZSAlcyBWZXJrbsO8cGZ1bmciCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY5NSBidWlsdGluL2luZGV4LXBhY2suYzo4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCAlcyIKK21zZ3N0ciAiVW5nw7xsdGlnZXIgT2JqZWt0LVR5cCAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NzAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHBvaW50cyB0byBzb21ldGhpbmcgc3RyYW5nZSAoJXMpIgorbXNnc3RyICIlcyB6ZWlndCBhdWYgZXR3YXMgc2VsdHNhbWVzICglcykiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjcwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoZWQgSEVBRCBwb2ludHMgYXQgbm90aGluZyIKK21zZ3N0ciAiJXM6IGxvc2dlbMO2c3RlciBIRUFEIHplaWd0IGF1ZiBuaWNodHMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjcxMgorIywgYy1mb3JtYXQKK21zZ2lkICJub3RpY2U6ICVzIHBvaW50cyB0byBhbiB1bmJvcm4gYnJhbmNoICglcykiCittc2dzdHIgIk5vdGl6OiAlcyB6ZWlndCBhdWYgZWluZW4gdW5nZWJvcmVuZW4gQnJhbmNoICglcykiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjcyNAorbXNnaWQgIkNoZWNraW5nIGNhY2hlIHRyZWUiCittc2dzdHIgIlByw7xmZSBDYWNoZS1WZXJ6ZWljaG5pcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHNoYTEgcG9pbnRlciBpbiBjYWNoZS10cmVlIgorbXNnc3RyICIlczogVW5nw7xsdGlnZXIgU0hBMS1aZWlnZXIgaW4gQ2FjaGUtVmVyemVpY2huaXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjczOAorbXNnaWQgIm5vbi10cmVlIGluIGNhY2hlLXRyZWUiCittc2dzdHIgIm5vbi10cmVlIGluIENhY2hlLVZlcnplaWNobmlzIgorCisjOiBidWlsdGluL2ZzY2suYzo3NjkKIG1zZ2lkICJnaXQgZnNjayBbPG9wdGlvbnM+XSBbPG9iamVjdD4uLi5dIgogbXNnc3RyICJnaXQgZnNjayBbPE9wdGlvbmVuPl0gWzxPYmpla3Q+Li4uXSIKIAotIzogYnVpbHRpbi9mc2NrLmM6Njk5CisjOiBidWlsdGluL2ZzY2suYzo3NzUKIG1zZ2lkICJzaG93IHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgInVuZXJyZWljaGJhcmUgT2JqZWt0ZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzAwCisjOiBidWlsdGluL2ZzY2suYzo3NzYKIG1zZ2lkICJzaG93IGRhbmdsaW5nIG9iamVjdHMiCiBtc2dzdHIgInVucmVmZXJlbnppZXJ0ZSBPYmpla3RlIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDEKKyM6IGJ1aWx0aW4vZnNjay5jOjc3NwogbXNnaWQgInJlcG9ydCB0YWdzIgogbXNnc3RyICJUYWdzIG1lbGRlbiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzAyCisjOiBidWlsdGluL2ZzY2suYzo3NzgKIG1zZ2lkICJyZXBvcnQgcm9vdCBub2RlcyIKIG1zZ3N0ciAiSGF1cHR3dXJ6ZWxuIG1lbGRlbiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzAzCisjOiBidWlsdGluL2ZzY2suYzo3NzkKIG1zZ2lkICJtYWtlIGluZGV4IG9iamVjdHMgaGVhZCBub2RlcyIKIG1zZ3N0ciAiSW5kZXgtT2JqZWt0ZSBpbiBFcnJlaWNoYmFya2VpdHNwcsO8ZnVuZyBlaW5iZXppZWhlbiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzA0CisjOiBidWlsdGluL2ZzY2suYzo3ODAKIG1zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCiBtc2dzdHIgIlJlZmxvZ3MgaW4gRXJyZWljaGJhcmtlaXRzcHLDvGZ1bmcgZWluYmV6aWVoZW4gKFN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzA1CisjOiBidWlsdGluL2ZzY2suYzo3ODEKIG1zZ2lkICJhbHNvIGNvbnNpZGVyIHBhY2tzIGFuZCBhbHRlcm5hdGUgb2JqZWN0cyIKIG1zZ3N0ciAiZWJlbnNvIFBha2V0ZSB1bmQgYWx0ZXJuYXRpdmUgT2JqZWt0ZSBiZXRyYWNodGVuIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDYKKyM6IGJ1aWx0aW4vZnNjay5jOjc4MgogbXNnaWQgImNoZWNrIG9ubHkgY29ubmVjdGl2aXR5IgogbXNnc3RyICJudXIgS29ubmVrdGl2aXTDpHQgcHLDvGZlbiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzA3CisjOiBidWlsdGluL2ZzY2suYzo3ODMKIG1zZ2lkICJlbmFibGUgbW9yZSBzdHJpY3QgY2hlY2tpbmciCiBtc2dzdHIgImdlbmF1ZXJlIFByw7xmdW5nIGFrdGl2aWVyZW4iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwOQorIzogYnVpbHRpbi9mc2NrLmM6Nzg1CiBtc2dpZCAid3JpdGUgZGFuZ2xpbmcgb2JqZWN0cyBpbiAuZ2l0L2xvc3QtZm91bmQiCiBtc2dzdHIgInVucmVmZXJlbnppZXJ0ZSBPYmpla3RlIG5hY2ggLmdpdC9sb3N0LWZvdW5kIHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzEwIGJ1aWx0aW4vcHJ1bmUuYzoxMTAKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NiBidWlsdGluL3BydW5lLmM6MTMyCiBtc2dpZCAic2hvdyBwcm9ncmVzcyIKIG1zZ3N0ciAiRm9ydHNjaHJpdHRzYW56ZWlnZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzExCisjOiBidWlsdGluL2ZzY2suYzo3ODcKIG1zZ2lkICJzaG93IHZlcmJvc2UgbmFtZXMgZm9yIHJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJhdXNmw7xocmxpY2hlIE5hbWVuIGbDvHIgZXJyZWljaGJhcmUgT2JqZWt0ZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9mc2NrLmM6Nzc2CisjOiBidWlsdGluL2ZzY2suYzo4NDYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI1CiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiUHLDvGZlIE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozNAorIzogYnVpbHRpbi9mc2NrLmM6ODc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgbWlzc2luZyIKK21zZ3N0ciAiJXM6IE9iamVrdCBuaWNodCB2b3JoYW5kZW4iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHBhcmFtZXRlcjogZXhwZWN0ZWQgc2hhMSwgZ290ICclcyciCittc2dzdHIgIlVuZ8O8bHRpZ2VyIFBhcmFtZXRlcjogU0hBLTEgZXJ3YXJ0ZXQsICclcycgYmVrb21tZW4iCisKKyM6IGJ1aWx0aW4vZ2MuYzozNQogbXNnaWQgImdpdCBnYyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGdjIFs8T3B0aW9uZW4+XSIKIApAQCAtMTE0NzQsMTcgKzE0MjM0LDIyIEBACiBtc2dpZCAiRmFpbGVkIHRvIGZzdGF0ICVzOiAlcyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgbGVzZW46ICVzIgogCi0jOiBidWlsdGluL2djLmM6NDYxIGJ1aWx0aW4vaW5pdC1kYi5jOjU1CisjOiBidWlsdGluL2djLmM6MTI2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAnJXMnIHZhbHVlICclcyciCittc2dzdHIgIkZlaGxlciBiZWltIFBhcnNlbiB2b24gJyVzJyBtaXQgZGVtIFdlcnQgJyVzJyIKKworIzogYnVpbHRpbi9nYy5jOjQ3NSBidWlsdGluL2luaXQtZGIuYzo1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhdCAnJXMnIgogbXNnc3RyICJLYW5uICclcycgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0NzAgYnVpbHRpbi9ub3Rlcy5jOjI0MCBidWlsdGluL3RhZy5jOjUxMAorIzogYnVpbHRpbi9nYy5jOjQ4NCBidWlsdGluL25vdGVzLmM6MjQwIGJ1aWx0aW4vdGFnLmM6NTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyciCiBtc2dzdHIgImthbm4gJyVzJyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9nYy5jOjQ3NworIzogYnVpbHRpbi9nYy5jOjQ5MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGxhc3QgZ2MgcnVuIHJlcG9ydGVkIHRoZSBmb2xsb3dpbmcuIFBsZWFzZSBjb3JyZWN0IHRoZSByb290IGNhdXNlXG4iCkBAIC0xMTUwMCw1OCArMTQyNjUsNTggQEAKICJcbiIKICIlcyIKIAotIzogYnVpbHRpbi9nYy5jOjUxOQorIzogYnVpbHRpbi9nYy5jOjUzOQogbXNnaWQgInBydW5lIHVucmVmZXJlbmNlZCBvYmplY3RzIgogbXNnc3RyICJ1bnJlZmVyZW56aWVydGUgT2JqZWt0ZSBlbnRmZXJuZW4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MjEKKyM6IGJ1aWx0aW4vZ2MuYzo1NDEKIG1zZ2lkICJiZSBtb3JlIHRob3JvdWdoIChpbmNyZWFzZWQgcnVudGltZSkiCiBtc2dzdHIgIm1laHIgR3LDvG5kbGljaGtlaXQgKGVyaMO2aHQgTGF1ZnplaXQpIgogCi0jOiBidWlsdGluL2djLmM6NTIyCisjOiBidWlsdGluL2djLmM6NTQyCiBtc2dpZCAiZW5hYmxlIGF1dG8tZ2MgbW9kZSIKIG1zZ3N0ciAiXCJhdXRvLWdjXCIgTW9kdXMgYWt0aXZpZXJlbiIKIAotIzogYnVpbHRpbi9nYy5jOjUyNQorIzogYnVpbHRpbi9nYy5jOjU0NQogbXNnaWQgImZvcmNlIHJ1bm5pbmcgZ2MgZXZlbiBpZiB0aGVyZSBtYXkgYmUgYW5vdGhlciBnYyBydW5uaW5nIgogbXNnc3RyICIiCiAiQXVzZsO8aHJ1bmcgdm9uIFwiZ2l0IGdjXCIgZXJ6d2luZ2VuLCBzZWxic3Qgd2VubiBlaW4gYW5kZXJlc1xuIgogIlwiZ2l0IGdjXCIgYmVyZWl0cyBhdXNnZWbDvGhydCB3aXJkIgogCi0jOiBidWlsdGluL2djLmM6NTI4CisjOiBidWlsdGluL2djLmM6NTQ4CiBtc2dpZCAicmVwYWNrIGFsbCBvdGhlciBwYWNrcyBleGNlcHQgdGhlIGxhcmdlc3QgcGFjayIKIG1zZ3N0ciAiYWxsZSBhbmRlcmVuIFBha2V0ZSwgYXXDn2VyIGRhcyBncsO2w590ZSBQYWtldCwgbmV1IHBhY2tlbiIKIAotIzogYnVpbHRpbi9nYy5jOjU0NQorIzogYnVpbHRpbi9nYy5jOjU2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2MubG9nZXhwaXJ5IHZhbHVlICVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSBQYXJzZW4gZGVzIFdlcnRlcyAnJXMnIHZvbiBnYy5sb2dleHBpcnkuIgogCi0jOiBidWlsdGluL2djLmM6NTU2CisjOiBidWlsdGluL2djLmM6NTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwcnVuZSBleHBpcnkgdmFsdWUgJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIFBhcnNlbiBkZXMgXCJwcnVuZSBleHBpcnlcIiBXZXJ0ZXMgJXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1NzYKKyM6IGJ1aWx0aW4vZ2MuYzo1OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0byBwYWNraW5nIHRoZSByZXBvc2l0b3J5IGluIGJhY2tncm91bmQgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCiBtc2dzdHIgIiIKICJEaWUgRGF0ZW5iYW5rIGRlcyBSZXBvc2l0b3JpZXMgd2lyZCBmw7xyIGVpbmUgb3B0aW1hbGUgUGVyZm9ybWFuY2UgaW1cbiIKICJIaW50ZXJncnVuZCBrb21wcmltaWVydC5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjU3OAorIzogYnVpbHRpbi9nYy5jOjU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCiBtc2dzdHIgIiIKICJEaWUgRGF0ZW5iYW5rIGRlcyBQcm9qZWt0YXJjaGl2cyB3aXJkIGbDvHIgZWluZSBvcHRpbWFsZSBQZXJmb3JtYW5jZSAiCiAia29tcHJpbWllcnQuXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1NzkKKyM6IGJ1aWx0aW4vZ2MuYzo1OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VlIFwiZ2l0IGhlbHAgZ2NcIiBmb3IgbWFudWFsIGhvdXNla2VlcGluZy5cbiIKIG1zZ3N0ciAiU2llaGUgXCJnaXQgaGVscCBnY1wiIGbDvHIgbWFudWVsbGVzIEF1ZnLDpHVtZW4uXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo2MTkKKyM6IGJ1aWx0aW4vZ2MuYzo2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImdjIGlzIGFscmVhZHkgcnVubmluZyBvbiBtYWNoaW5lICclcycgcGlkICU8UFJJdU1BWD4gKHVzZSAtLWZvcmNlIGlmIG5vdCkiCkBAIC0xMTU1OSwyMyArMTQzMjQsMjMgQEAKICJcImdpdCBnY1wiIHdpcmQgYmVyZWl0cyBhdWYgTWFzY2hpbmUgJyVzJyBwaWQgJTxQUkl1TUFYPiBhdXNnZWbDvGhydFxuIgogIihiZW51dHplbiBTaWUgLS1mb3JjZSBmYWxscyBuaWNodCkiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo2NzAKKyM6IGJ1aWx0aW4vZ2MuYzo2OTQKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgdGhlbS4iCiBtc2dzdHIgIiIKICJFcyBnaWJ0IHp1IHZpZWxlIHVuZXJyZWljaGJhcmUgbG9zZSBPYmpla3RlOyBmw7xocmVuIFNpZSAnZ2l0IHBydW5lJyBhdXMsIHVtICIKICJkaWVzZSB6dSBsw7ZzY2hlbi4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI4CisjOiBidWlsdGluL2dyZXAuYzoyOQogbXNnaWQgImdpdCBncmVwIFs8b3B0aW9ucz5dIFstZV0gPHBhdHRlcm4+IFs8cmV2Pi4uLl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGdyZXAgWzxPcHRpb25lbj5dIFstZV0gPE11c3Rlcj4gWzxDb21taXQ+Li4uXSBbWy0tXSA8UGZhZD4uLi5dIgogCi0jOiBidWlsdGluL2dyZXAuYzoyMjQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJncmVwOiBmYWlsZWQgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgImdyZXA6IEZlaGxlciBiZWltIEVyemV1Z2VuIGVpbmVzIFRocmVhZDogJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI3OAorIzogYnVpbHRpbi9ncmVwLmM6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkgZm9yICVzIgogbXNnc3RyICJ1bmfDvGx0aWdlIEFuemFobCB2b24gVGhyZWFkcyAoJWQpIGbDvHIgJXMgYW5nZWdlYmVuIgpAQCAtMTE1ODQsMjcwICsxNDM0OSwyNzAgQEAKICMuIHZhcmlhYmxlIGZvciB0d2Vha2luZyB0aHJlYWRzLCBjdXJyZW50bHkKICMuIGdyZXAudGhyZWFkcwogIy4KLSM6IGJ1aWx0aW4vZ3JlcC5jOjI4NiBidWlsdGluL2luZGV4LXBhY2suYzoxNTA2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTcKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcxOQorIzogYnVpbHRpbi9ncmVwLmM6Mjg3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MzQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCiBtc2dzdHIgImtlaW5lIFVudGVyc3TDvHR6dW5nIHZvbiBUaHJlYWRzLCAnJXMnIHdpcmQgaWdub3JpZXJ0IgogCi0jOiBidWlsdGluL2dyZXAuYzo0NTggYnVpbHRpbi9ncmVwLmM6NTc5IGJ1aWx0aW4vZ3JlcC5jOjYyMAorIzogYnVpbHRpbi9ncmVwLmM6NDY3IGJ1aWx0aW4vZ3JlcC5jOjU5MiBidWlsdGluL2dyZXAuYzo2MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgogbXNnc3RyICJrb25udGUgXCJUcmVlXCItT2JqZWt0ICglcykgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjYzNQorIzogYnVpbHRpbi9ncmVwLmM6NjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBncmVwIGZyb20gb2JqZWN0IG9mIHR5cGUgJXMiCiBtc2dzdHIgImthbm4gXCJncmVwXCIgbmljaHQgbWl0IE9iamVrdGVuIGRlcyBUeXBzICVzIGR1cmNoZsO8aHJlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAxCisjOiBidWlsdGluL2dyZXAuYzo3MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKIG1zZ3N0ciAiU2NoYWx0ZXIgJyVjJyBlcndhcnRldCBlaW5lbiBudW1lcmlzY2hlbiBXZXJ0IgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxNQogbXNnaWQgInNlYXJjaCBpbiBpbmRleCBpbnN0ZWFkIG9mIGluIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgImltIEluZGV4IGFuc3RhdHQgaW0gQXJiZWl0c3ZlcnplaWNobmlzIHN1Y2hlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODAyCisjOiBidWlsdGluL2dyZXAuYzo4MTcKIG1zZ2lkICJmaW5kIGluIGNvbnRlbnRzIG5vdCBtYW5hZ2VkIGJ5IGdpdCIKIG1zZ3N0ciAiYXVjaCBpbiBJbmhhbHRlbiBmaW5kZW4sIGRpZSBuaWNodCB2b24gR2l0IHZlcndhbHRldCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgwNAorIzogYnVpbHRpbi9ncmVwLmM6ODE5CiBtc2dpZCAic2VhcmNoIGluIGJvdGggdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJpbiB2ZXJzaW9uaWVydGVuIHVuZCB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiBzdWNoZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgwNgorIzogYnVpbHRpbi9ncmVwLmM6ODIxCiBtc2dpZCAiaWdub3JlIGZpbGVzIHNwZWNpZmllZCB2aWEgJy5naXRpZ25vcmUnIgogbXNnc3RyICJEYXRlaWVuLCBkaWUgw7xiZXIgJy5naXRpZ25vcmUnIGFuZ2VnZWJlbiBzaW5kLCBpZ25vcmllcmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyMwogbXNnaWQgInJlY3Vyc2l2ZWx5IHNlYXJjaCBpbiBlYWNoIHN1Ym1vZHVsZSIKIG1zZ3N0ciAicmVrdXJzaXZlIFN1Y2hlIGluIGplZGVtIFN1Ym1vZHVsIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyNgogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJaZWlsZW4gb2huZSDDnGJlcmVpbnN0aW1tdW5nZW4gYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxMworIzogYnVpbHRpbi9ncmVwLmM6ODI4CiBtc2dpZCAiY2FzZSBpbnNlbnNpdGl2ZSBtYXRjaGluZyIKIG1zZ3N0ciAiw5xiZXJlaW5zdGltbXVuZ2VuIHVuYWJow6RuZ2lnIHZvbiBHcm/Dny0gdW5kIEtsZWluc2NocmVpYnVuZyBmaW5kZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxNQorIzogYnVpbHRpbi9ncmVwLmM6ODMwCiBtc2dpZCAibWF0Y2ggcGF0dGVybnMgb25seSBhdCB3b3JkIGJvdW5kYXJpZXMiCiBtc2dzdHIgIm51ciBnYW56ZSBXw7ZydGVyIHN1Y2hlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODE3CisjOiBidWlsdGluL2dyZXAuYzo4MzIKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyB0ZXh0IgogbXNnc3RyICJiaW7DpHJlIERhdGVpZW4gYWxzIFRleHQgdmVyYXJiZWl0ZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxOQorIzogYnVpbHRpbi9ncmVwLmM6ODM0CiBtc2dpZCAiZG9uJ3QgbWF0Y2ggcGF0dGVybnMgaW4gYmluYXJ5IGZpbGVzIgogbXNnc3RyICJrZWluZSBNdXN0ZXIgaW4gQmluw6RyZGF0ZWllbiBmaW5kZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgyMgorIzogYnVpbHRpbi9ncmVwLmM6ODM3CiBtc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgd2l0aCB0ZXh0Y29udiBmaWx0ZXJzIgogbXNnc3RyICJiaW7DpHJlIERhdGVpZW4gbWl0IFwidGV4dGNvbnZcIi1GaWx0ZXJuIHZlcmFyYmVpdGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MjQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzOQogbXNnaWQgInNlYXJjaCBpbiBzdWJkaXJlY3RvcmllcyAoZGVmYXVsdCkiCiBtc2dzdHIgImluIFVudGVydmVyemVpY2huaXNzZW4gc3VjaGVuIChTdGFuZGFyZCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgyNgorIzogYnVpbHRpbi9ncmVwLmM6ODQxCiBtc2dpZCAiZGVzY2VuZCBhdCBtb3N0IDxkZXB0aD4gbGV2ZWxzIgogbXNnc3RyICJow7ZjaHN0ZW5zIDxUaWVmZT4gRWJlbmVuIGR1cmNobGF1ZmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MzAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0NQogbXNnaWQgInVzZSBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJlcndlaXRlcnRlIHJlZ3Vsw6RyZSBBdXNkcsO8Y2tlIGF1cyBQT1NJWCB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgzMworIzogYnVpbHRpbi9ncmVwLmM6ODQ4CiBtc2dpZCAidXNlIGJhc2ljIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMgKGRlZmF1bHQpIgogbXNnc3RyICJncnVuZGxlZ2VuZGUgcmVndWzDpHJlIEF1c2Ryw7xja2UgYXVzIFBPU0lYIHZlcndlbmRlbiAoU3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MzYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1MQogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICJNdXN0ZXIgYWxzIGZlc3RlIFplaWNoZW5rZXR0ZW4gaW50ZXJwcmV0aWVyZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgzOQorIzogYnVpbHRpbi9ncmVwLmM6ODU0CiBtc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJQZXJsLWtvbXBhdGlibGUgcmVndWzDpHJlIEF1c2Ryw7xja2UgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1NwogbXNnaWQgInNob3cgbGluZSBudW1iZXJzIgogbXNnc3RyICJaZWlsZW5udW1tZXJuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1OAogbXNnaWQgInNob3cgY29sdW1uIG51bWJlciBvZiBmaXJzdCBtYXRjaCIKIG1zZ3N0ciAiTnVtbWVyIGRlciBTcGFsdGUgZGVzIGVyc3RlbiBUcmVmZmVycyBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ0CisjOiBidWlsdGluL2dyZXAuYzo4NTkKIG1zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAia2VpbmUgRGF0ZWluYW1lbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ1CisjOiBidWlsdGluL2dyZXAuYzo4NjAKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAiRGF0ZWluYW1lbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ3CisjOiBidWlsdGluL2dyZXAuYzo4NjIKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJEYXRlaW5hbWVuIHJlbGF0aXYgenVtIFByb2pla3R2ZXJ6ZWljaG5pcyBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ5CisjOiBidWlsdGluL2dyZXAuYzo4NjQKIG1zZ2lkICJzaG93IG9ubHkgZmlsZW5hbWVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgIm51ciBEYXRlaW5hbWVuIGFuemVpZ2VuIGFuc3RhdHQgw7xiZXJlaW5zdGltbWVuZGUgWmVpbGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2NgogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogbXNnc3RyICJTeW5vbnltIGbDvHIgLS1maWxlcy13aXRoLW1hdGNoZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg1NAorIzogYnVpbHRpbi9ncmVwLmM6ODY5CiBtc2dpZCAic2hvdyBvbmx5IHRoZSBuYW1lcyBvZiBmaWxlcyB3aXRob3V0IG1hdGNoIgogbXNnc3RyICJudXIgZGllIERhdGVpbmFtZW4gb2huZSDDnGJlcmVpbnN0aW1tdW5nZW4gYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg1NgorIzogYnVpbHRpbi9ncmVwLmM6ODcxCiBtc2dpZCAicHJpbnQgTlVMIGFmdGVyIGZpbGVuYW1lcyIKIG1zZ3N0ciAiTlVMLVplaWNoZW4gbmFjaCBEYXRlaW5hbWVuIGF1c2dlYmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NAogbXNnaWQgInNob3cgb25seSBtYXRjaGluZyBwYXJ0cyBvZiBhIGxpbmUiCiBtc2dzdHIgIm51ciDDvGJlcmVpbnN0aW1tZW5kZSBUZWlsZSBkZXIgWmVpbGUgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2MQorIzogYnVpbHRpbi9ncmVwLmM6ODc2CiBtc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiYW5zdGF0dCBkZXIgWmVpbGVuLCBkaWUgQW56YWhsIGRlciDDvGJlcmVpbnN0aW1tZW5kZW4gWmVpbGVuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NwogbXNnaWQgImhpZ2hsaWdodCBtYXRjaGVzIgogbXNnc3RyICLDnGJlcmVpbnN0aW1tdW5nZW4gaGVydm9yaGViZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2NAorIzogYnVpbHRpbi9ncmVwLmM6ODc5CiBtc2dpZCAicHJpbnQgZW1wdHkgbGluZSBiZXR3ZWVuIG1hdGNoZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMiCiBtc2dzdHIgIiIKICJlaW5lIExlZXJ6ZWlsZSB6d2lzY2hlbiDDnGJlcmVpbnN0aW1tdW5nZW4gaW4gdmVyc2NoaWVkZW5lbiBEYXRlaWVuIGF1c2dlYmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg4MQogbXNnaWQgInNob3cgZmlsZW5hbWUgb25seSBvbmNlIGFib3ZlIG1hdGNoZXMgZnJvbSBzYW1lIGZpbGUiCiBtc2dzdHIgIiIKICJkZW4gRGF0ZWluYW1lbiBudXIgZWlubWFsIG9iZXJoYWxiIGRlciDDnGJlcmVpbnN0aW1tdW5nZW4gYXVzIGRpZXNlciBEYXRlaSAiCiAiYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2OQorIzogYnVpbHRpbi9ncmVwLmM6ODg0CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgYW5kIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIjxuPiBaZWlsZW4gdm9yIHVuZCBuYWNoIGRlbiDDnGJlcmVpbnN0aW1tdW5nZW4gYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg3MgorIzogYnVpbHRpbi9ncmVwLmM6ODg3CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAiPG4+IFplaWxlbiB2b3IgZGVuIMOcYmVyZWluc3RpbW11bmdlbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc0CisjOiBidWlsdGluL2dyZXAuYzo4ODkKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIjxuPiBaZWlsZW4gbmFjaCBkZW4gw5xiZXJlaW5zdGltbXVuZ2VuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NzYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5MQogbXNnaWQgInVzZSA8bj4gd29ya2VyIHRocmVhZHMiCiBtc2dzdHIgIjxuPiBUaHJlYWRzIGJlbnV0emVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5MgogbXNnaWQgInNob3J0Y3V0IGZvciAtQyBOVU0iCiBtc2dzdHIgIkt1cnpmb3JtIGbDvHIgLUMgTlVNIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5NQogbXNnaWQgInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgImVpbmUgWmVpbGUgbWl0IGRlbSBGdW5rdGlvbnNuYW1lbiB2b3Igw5xiZXJlaW5zdGltbXVuZ2VuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5NwogbXNnaWQgInNob3cgdGhlIHN1cnJvdW5kaW5nIGZ1bmN0aW9uIgogbXNnc3RyICJkaWUgdW1nZWJlbmRlIEZ1bmt0aW9uIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMAogbXNnaWQgInJlYWQgcGF0dGVybnMgZnJvbSBmaWxlIgogbXNnc3RyICJNdXN0ZXIgdm9uIGVpbmVyIERhdGVpIGxlc2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMgogbXNnaWQgIm1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiPE11c3Rlcj4gZmluZGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwNAogbXNnaWQgImNvbWJpbmUgcGF0dGVybnMgc3BlY2lmaWVkIHdpdGggLWUiCiBtc2dzdHIgIk11c3RlciBrb21iaW5pZXJlbiwgZGllIG1pdCAtZSBhbmdlZ2ViZW4gd3VyZGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxNgogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICLDnGJlcmVpbnN0aW1tdW5nZW4gbnVyIGR1cmNoIEJlZW5kaWd1bmdzc3RhdHVzIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxOAogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgIiIKICJudXIgw5xiZXJlaW5zdGltbXVuZ2VuIHZvbiBEYXRlaWVuIGFuemVpZ2VuLCBkaWUgYWxsZW4gTXVzdGVybiBlbnRzcHJlY2hlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTA1CisjOiBidWlsdGluL2dyZXAuYzo5MjAKIG1zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiZ2VwYXJzdGVzIFZlcnplaWNobmlzIGbDvHIgXCJncmVwXCItQXVzZHJ1Y2sgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQorIzogYnVpbHRpbi9ncmVwLmM6OTI0CiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgIkFuemVpZ2Vwcm9ncmFtbSIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTA5CisjOiBidWlsdGluL2dyZXAuYzo5MjQKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAiRGF0ZWllbiBtaXQgw5xiZXJlaW5zdGltbXVuZ2VuIGltIEFuemVpZ2Vwcm9ncmFtbSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTEzCisjOiBidWlsdGluL2dyZXAuYzo5MjgKIG1zZ2lkICJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiCiBtc2dzdHIgImRlbiBBdWZydWYgdm9uIGdyZXAoMSkgZXJsYXViZW4gKHZvbiBkaWVzZXIgUHJvZ3JhbW12ZXJzaW9uIGlnbm9yaWVydCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk3NworIzogYnVpbHRpbi9ncmVwLmM6OTkyCiBtc2dpZCAibm8gcGF0dGVybiBnaXZlbiIKIG1zZ3N0ciAiS2VpbiBNdXN0ZXIgYW5nZWdlYmVuLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxMworIzogYnVpbHRpbi9ncmVwLmM6MTAyOAogbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzIgogbXNnc3RyICItLW5vLWluZGV4IG9kZXIgLS11bnRyYWNrZWQga8O2bm5lbiBuaWNodCBtaXQgQ29tbWl0cyB2ZXJ3ZW5kZXQgd2VyZGVuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDIwCisjOiBidWlsdGluL2dyZXAuYzoxMDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZXNvbHZlIHJldmlzaW9uOiAlcyIKIG1zZ3N0ciAiS29ubnRlIENvbW1pdCBuaWNodCBhdWZsw7ZzZW46ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDUxCisjOiBidWlsdGluL2dyZXAuYzoxMDY3CiBtc2dpZCAiaW52YWxpZCBvcHRpb24gY29tYmluYXRpb24sIGlnbm9yaW5nIC0tdGhyZWFkcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBLb21iaW5hdGlvbiB2b24gT3B0aW9uZW4sIC0tdGhyZWFkcyB3aXJkIGlnbm9yaWVydC4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzk3CisjOiBidWlsdGluL2dyZXAuYzoxMDcwIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwMAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgLS10aHJlYWRzIgogbXNnc3RyICJLZWluZSBVbnRlcnN0w7x0enVuZyBmw7xyIFRocmVhZHMsIC0tdGhyZWFkcyB3aXJkIGlnbm9yaWVydC4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUwMyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUzMSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIKIG1zZ3N0ciAidW5nw7xsdGlnZSBBbnphaGwgdm9uIFRocmVhZHMgYW5nZWdlYmVuICglZCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwODAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwOTYKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uIC0tb3Blbi1maWxlcy1pbi1wYWdlciBrYW5uIG51ciBpbm5lcmhhbGIgZGVzICIKICJBcmJlaXRzdmVyemVpY2huaXNzZXMgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExMDMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMTkKIG1zZ2lkICJvcHRpb24gbm90IHN1cHBvcnRlZCB3aXRoIC0tcmVjdXJzZS1zdWJtb2R1bGVzIgogbXNnc3RyICJEaWUgT3B0aW9uIHdpcmQgbWl0IC0tcmVjdXJzZS1zdWJtb2R1bGVzIG5pY2h0IHVudGVyc3TDvHR6dC4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExMDkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMjUKIG1zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXgiCiBtc2dzdHIgIi0tY2FjaGVkIHVuZCAtLXVudHJhY2tlZCBrw7ZubmVuIG5pY2h0IG1pdCAtLW5vLWluZGV4IHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMTE1CisjOiBidWlsdGluL2dyZXAuYzoxMTMxCiBtc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMiCiBtc2dzdHIgIiIKICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBrYW5uIG5pY2h0IG1pdCB2ZXJzaW9uaWVydGVuIEluaGFsdGVuIHZlcndlbmRldCAiCiAid2VyZGVuLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTEyMworIzogYnVpbHRpbi9ncmVwLmM6MTEzOQogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbiIKIG1zZ3N0ciAiLS1jYWNoZWQgdW5kIFwiVHJlZVwiLU9iamVrdGUgYW5nZWdlYmVuIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODQKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4NQogbXNnaWQgIiIKICJnaXQgaGFzaC1vYmplY3QgWy10IDx0eXBlPl0gWy13XSBbLS1wYXRoPTxmaWxlPiB8IC0tbm8tZmlsdGVyc10gWy0tc3RkaW5dICIKICJbLS1dIDxmaWxlPi4uLiIKQEAgLTExODU1LDM4ICsxNDYyMCwzNCBAQAogImdpdCBoYXNoLW9iamVjdCBbLXQgPEFydD5dIFstd10gWy0tcGF0aD08RGF0ZWk+IHwgLS1uby1maWx0ZXJzXSBbLS1zdGRpbl0gIgogIlstLV0gPERhdGVpPi4uLiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjg1CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODYKIG1zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiBtc2dzdHIgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk3Ci1tc2dpZCAidHlwZSIKLW1zZ3N0ciAiQXJ0IgotCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTcKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAogbXNnaWQgIm9iamVjdCB0eXBlIgogbXNnc3RyICJBcnQgZGVzIE9iamVrdGVzIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OQogbXNnaWQgIndyaXRlIHRoZSBvYmplY3QgaW50byB0aGUgb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICJkYXMgT2JqZWt0IGluIGRpZSBPYmpla3RkYXRlbmJhbmsgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCiBtc2dpZCAicmVhZCB0aGUgb2JqZWN0IGZyb20gc3RkaW4iCiBtc2dzdHIgImRhcyBPYmpla3Qgdm9uIGRlciBTdGFuZGFyZC1FaW5nYWJlIGxlc2VuIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAyCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAzCiBtc2dpZCAic3RvcmUgZmlsZSBhcyBpcyB3aXRob3V0IGZpbHRlcnMiCiBtc2dzdHIgIkRhdGVpIHdpZSBzaWUgaXN0IHNwZWljaGVybiwgb2huZSBGaWx0ZXIiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDMKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDQKIG1zZ2lkICIiCiAianVzdCBoYXNoIGFueSByYW5kb20gZ2FyYmFnZSB0byBjcmVhdGUgY29ycnVwdCBvYmplY3RzIGZvciBkZWJ1Z2dpbmcgR2l0IgogbXNnc3RyICIiCiAiSGFzaCDDvGJlciB6dWbDpGxsaWdlIERhdGVuLCB6dXIgRXJ6ZXVndW5nIHZvbiBiZXNjaMOkZGlndGVuIE9iamVrdGVuIHp1clxuIgogIkZlaGxlcnN1Y2hlIGluIEdpdCwgZXJ6ZXVnZW4iCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDQKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDUKIG1zZ2lkICJwcm9jZXNzIGZpbGUgYXMgaXQgd2VyZSBmcm9tIHRoaXMgcGF0aCIKIG1zZ3N0ciAiRGF0ZWkgdmVyYXJiZWl0ZW4sIGFscyBvYiBzaWUgdm9uIGRpZXNlbSBQZmFkIHfDpHJlIgogCkBAIC0xMTkyNiwzMCArMTQ2ODcsMzAgQEAKIG1zZ2lkICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFs8Y29tbWFuZD5dIgogbXNnc3RyICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFs8QmVmZWhsPl0iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjczCisjOiBidWlsdGluL2hlbHAuYzo3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVscCBmb3JtYXQgJyVzJyIKIG1zZ3N0ciAibmljaHQgZXJrYW5udGVzIEhpbGZlZm9ybWF0OiAlcyIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTAwCisjOiBidWlsdGluL2hlbHAuYzoxMDQKIG1zZ2lkICJGYWlsZWQgdG8gc3RhcnQgZW1hY3NjbGllbnQuIgogbXNnc3RyICJLb25udGUgZW1hY3NjbGllbnQgbmljaHQgc3RhcnRlbi4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjExMworIzogYnVpbHRpbi9oZWxwLmM6MTE3CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVtYWNzY2xpZW50IHZlcnNpb24uIgogbXNnc3RyICJLb25udGUgVmVyc2lvbiBkZXMgZW1hY3NjbGllbnQgbmljaHQgcGFyc2VuLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTIxCisjOiBidWlsdGluL2hlbHAuYzoxMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1hY3NjbGllbnQgdmVyc2lvbiAnJWQnIHRvbyBvbGQgKDwgMjIpLiIKIG1zZ3N0ciAiVmVyc2lvbiBkZXMgZW1hY3NjbGllbnQgJyVkJyBpc3QgenUgYWx0ICg8IDIyKS4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEzOSBidWlsdGluL2hlbHAuYzoxNjEgYnVpbHRpbi9oZWxwLmM6MTcxIGJ1aWx0aW4vaGVscC5jOjE3OQorIzogYnVpbHRpbi9oZWxwLmM6MTQzIGJ1aWx0aW4vaGVscC5jOjE2NSBidWlsdGluL2hlbHAuYzoxNzUgYnVpbHRpbi9oZWxwLmM6MTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleGVjICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIEF1c2bDvGhyZW4gdm9uICclcyciCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIxNworIzogYnVpbHRpbi9oZWxwLmM6MjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBwYXRoIGZvciB1bnN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtMTE5NTgsNyArMTQ3MTksNyBAQAogIiclcyc6IFBmYWQgZsO8ciBuaWNodCB1bnRlcnN0w7x0enRlbiBIYW5kYnVjaGJldHJhY2h0ZXIuXG4iCiAiU2llIGvDtm5udGVuIHN0YXR0ZGVzc2VuICdtYW4uPFdlcmt6ZXVnPi5jbWQnIGJlbnV0emVuLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjI5CisjOiBidWlsdGluL2hlbHAuYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IGNtZCBmb3Igc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCkBAIC0xMTk2NywzMjggKzE0NzI4LDMxOCBAQAogIiclcyc6IFByb2dyYW1tIGbDvHIgdW50ZXJzdMO8dHp0ZW4gSGFuZGJ1Y2hiZXRyYWNodGVyLlxuIgogIlNpZSBrw7ZubnRlbiBzdGF0dGRlc3NlbiAnbWFuLjxXZXJremV1Zz4ucGF0aCcgYmVudXR6ZW4uIgogCi0jOiBidWlsdGluL2hlbHAuYzozNDYKKyM6IGJ1aWx0aW4vaGVscC5jOjM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmtub3duIG1hbiB2aWV3ZXIuIgogbXNnc3RyICInJXMnOiB1bmJla2FubnRlciBIYW5kYnVjaC1CZXRyYWNodGVyLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzYzCisjOiBidWlsdGluL2hlbHAuYzozNjcKIG1zZ2lkICJubyBtYW4gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgImtlaW4gSGFuZGJ1Y2gtQmV0cmFjaHRlciBrb25udGUgbWl0IGRpZXNlciBBbmZyYWdlIHVtZ2VoZW4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM3MQorIzogYnVpbHRpbi9oZWxwLmM6Mzc1CiBtc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAia2VpbiBJbmZvcm1hdGlvbnMtQmV0cmFjaHRlciBrb25udGUgbWl0IGRpZXNlciBBbmZyYWdlIHVtZ2VoZW4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQzMCBidWlsdGluL2hlbHAuYzo0NDEgZ2l0LmM6MzIyCisjOiBidWlsdGluL2hlbHAuYzo0MzQgYnVpbHRpbi9oZWxwLmM6NDQ1IGdpdC5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFsaWFzZWQgdG8gJyVzJyIKIG1zZ3N0ciAiRsO8ciAnJXMnIHd1cmRlIGRlciBBbGlhcyAnJXMnIGFuZ2VsZWd0LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDQ0CisjOiBidWlsdGluL2hlbHAuYzo0NDggZ2l0LmM6MzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBhbGlhcy4lcyBzdHJpbmc6ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlciBhbGlhcy4lcyBTdHJpbmc6ICVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NzMgYnVpbHRpbi9oZWxwLmM6NTAzCisjOiBidWlsdGluL2hlbHAuYzo0NzcgYnVpbHRpbi9oZWxwLmM6NTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyVzIgogbXNnc3RyICJWZXJ3ZW5kdW5nOiAlcyVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0ODcKKyM6IGJ1aWx0aW4vaGVscC5jOjQ5MQogbXNnaWQgIidnaXQgaGVscCBjb25maWcnIGZvciBtb3JlIGluZm9ybWF0aW9uIgogbXNnc3RyICInZ2l0IGhlbHAgY29uZmlnJyBmw7xyIHdlaXRlcmUgSW5mb3JtYXRpb25lbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTg0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxODUKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IHR5cGUgbWlzbWF0Y2ggYXQgJXMiCiBtc2dzdHIgIk9iamVrdC1UeXBlbiBwYXNzZW4gYmVpICVzIG5pY2h0IHp1c2FtbWVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJkaWQgbm90IHJlY2VpdmUgZXhwZWN0ZWQgb2JqZWN0ICVzIgogbXNnc3RyICJrb25udGUgZXJ3YXJ0ZXRlcyBPYmpla3QgJXMgbmljaHQgZW1wZmFuZ2VuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXM6IGV4cGVjdGVkIHR5cGUgJXMsIGZvdW5kICVzIgogbXNnc3RyICJPYmpla3QgJXM6IGVyd2FydGV0ZXIgVHlwICVzLCAlcyBnZWZ1bmRlbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjQ5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCiBtc2dzdHJbMF0gImthbm4gJWQgQnl0ZSBuaWNodCBsZXNlbiIKIG1zZ3N0clsxXSAia2FubiAlZCBCeXRlcyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjU5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjgKIG1zZ2lkICJlYXJseSBFT0YiCiBtc2dzdHIgInp1IGZyw7xoZXMgRGF0ZWllbmRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OQogbXNnaWQgInJlYWQgZXJyb3Igb24gaW5wdXQiCiBtc2dzdHIgIkZlaGxlciBiZWltIExlc2VuIGRlciBFaW5nYWJlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MQogbXNnaWQgInVzZWQgbW9yZSBieXRlcyB0aGFuIHdlcmUgYXZhaWxhYmxlIgogbXNnc3RyICJ2ZXJ3ZW5kZXRlIG1laHIgQnl0ZXMgYWxzIHZlcmbDvGdiYXIgd2FyZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3OSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjU5OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjg4IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NjA0CiBtc2dpZCAicGFjayB0b28gbGFyZ2UgZm9yIGN1cnJlbnQgZGVmaW5pdGlvbiBvZiBvZmZfdCIKIG1zZ3N0ciAiUGFrZXQgaXN0IHp1IGdyb8OfIGbDvHIgZGllIGFrdHVlbGxlIERlZmluaXRpb24gdm9uIG9mZl90IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyODIgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjk0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTEgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjk1CiBtc2dpZCAicGFjayBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBzaXplIgogbXNnc3RyICJQYWtldCDDvGJlcnNjaHJlaXRldCBkaWUgbWF4aW1hbCBlcmxhdWJ0ZSBHcsO2w59lIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgotbXNnc3RyICJrb25udGUgJyVzJyBuaWNodCBlcnN0ZWxsZW4iCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2tmaWxlICclcyciCiBtc2dzdHIgIkthbm4gUGFrZXRkYXRlaSAnJXMnIG5pY2h0IMO2ZmZuZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI2CiBtc2dpZCAicGFjayBzaWduYXR1cmUgbWlzbWF0Y2giCiBtc2dzdHIgIlBha2V0c2lnbmF0dXIgc3RpbW10IG5pY2h0IMO8YmVyZWluIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIHZlcnNpb24gJTxQUkl1MzI+IHVuc3VwcG9ydGVkIgogbXNnc3RyICJQYWtldHZlcnNpb24gJTxQUkl1MzI+IG5pY2h0IHVudGVyc3TDvHR6dCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCiBtc2dzdHIgIlBha2V0IGhhdCBlaW4gdW5nw7xsdGlnZXMgT2JqZWt0IGJlaSBWZXJzYXR6ICU8UFJJdU1BWD46ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo0NTcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZsYXRlIHJldHVybmVkICVkIgogbXNnc3RyICJEZWtvbXByaW1pZXJ1bmcgZ2FiICVkIHp1csO8Y2siCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUwNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTE1CiBtc2dpZCAib2Zmc2V0IHZhbHVlIG92ZXJmbG93IGZvciBkZWx0YSBiYXNlIG9iamVjdCIKIG1zZ3N0ciAiV2VydCBmw7xyIFZlcnNhdHogYmVpIERpZmZlcmVuem9iamVrdCDDvGJlcmdlbGF1ZmVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyMwogbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IGlzIG91dCBvZiBib3VuZCIKIG1zZ3N0ciAiIgogIldlcnQgZsO8ciBWZXJzYXR6IGJlaSBEaWZmZXJlbnpvYmpla3QgbGllZ3QgYXXDn2VyaGFsYiBkZXMgZ8O8bHRpZ2VuIEJlcmVpY2hzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9iamVjdCB0eXBlICVkIgogbXNnc3RyICJVbmJla2FubnRlciBPYmpla3QtVHlwICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU2MgogbXNnaWQgImNhbm5vdCBwcmVhZCBwYWNrIGZpbGUiCiBtc2dzdHIgIkthbm4gUGFrZXRkYXRlaSAlcyBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZSBtaXNzaW5nIgogbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlcyBtaXNzaW5nIgogbXNnc3RyWzBdICJmcsO8aHplaXRpZ2VzIEVuZGUgZGVyIFBha2V0ZGF0ZWksIHZlcm1pc3NlICU8UFJJdU1BWD4gQnl0ZSIKIG1zZ3N0clsxXSAiZnLDvGh6ZWl0aWdlcyBFbmRlIGRlciBQYWtldGRhdGVpLCB2ZXJtaXNzZSAlPFBSSXVNQVg+IEJ5dGVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1ODEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU5MAogbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgogbXNnc3RyICJlcm5zdGhhZnRlIElua29uc2lzdGVueiBuYWNoIERla29tcHJpbWllcnVuZyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzI2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjczMiBidWlsdGluL2luZGV4LXBhY2suYzo3NTUKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc5NCBidWlsdGluL2luZGV4LXBhY2suYzo4MDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjczNSBidWlsdGluL2luZGV4LXBhY2suYzo3NDEgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzY0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MDMgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIKIG1zZ3N0ciAiU0hBMSBLT0xMSVNJT04gTUlUICVzIEdFRlVOREVOICEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjcyOSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE1MQotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjczOCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE1NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgImthbm4gJXMgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc5MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCBpbmZvICVzIgogbXNnc3RyICJLYW5uIGV4aXN0aWVyZW5kZSBJbmZvcm1hdGlvbmVuIHp1IE9iamVrdCAlcyBuaWNodCBsZXNlbi4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCAlcyIKIG1zZ3N0ciAiS2FubiBleGlzdGllcmVuZGVzIE9iamVrdCAlcyBuaWNodCBsZXNlbi4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYmxvYiBvYmplY3QgJXMiCiBtc2dzdHIgInVuZ8O8bHRpZ2VzIEJsb2ItT2JqZWt0ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODM2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MjYgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ1CiBtc2dpZCAiZnNjayBlcnJvciBpbiBwYWNrZWQgb2JqZWN0IgogbXNnc3RyICJmc2NrIEZlaGxlciBpbiBnZXBhY2t0ZW0gT2JqZWt0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCAlcyIKLW1zZ3N0ciAiVW5nw7xsdGlnZXIgT2JqZWt0LVR5cCAlcyIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODM4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGFsbCBjaGlsZCBvYmplY3RzIG9mICVzIGFyZSByZWFjaGFibGUiCiBtc2dzdHIgIk5pY2h0IGFsbGUgS2luZC1PYmpla3RlIHZvbiAlcyBzaW5kIGVycmVpY2hiYXIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkxMCBidWlsdGluL2luZGV4LXBhY2suYzo5NDEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkxOSBidWlsdGluL2luZGV4LXBhY2suYzo5NTAKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCiBtc2dzdHIgIktvbm50ZSBEYXRlaXVudGVyc2NoaWVkIG5pY2h0IGFud2VuZGVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CiBtc2dpZCAiUmVjZWl2aW5nIG9iamVjdHMiCiBtc2dzdHIgIkVtcGZhbmdlIE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMTgKIG1zZ2lkICJJbmRleGluZyBvYmplY3RzIgogbXNnc3RyICJJbmRpemllcmUgT2JqZWt0ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MgogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAiUGFrZXQgaXN0IGJlc2Now6RkaWd0IChTSEExIHVudGVyc2NoaWVkbGljaCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNDgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTcKIG1zZ2lkICJjYW5ub3QgZnN0YXQgcGFja2ZpbGUiCiBtc2dzdHIgImthbm4gUGFrZXRkYXRlaSBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MAogbXNnaWQgInBhY2sgaGFzIGp1bmsgYXQgdGhlIGVuZCIKIG1zZ3N0ciAiUGFrZXRlbmRlIGVudGjDpGx0IG5pY2h0IHZlcndlbmRiYXJlbiBJbmhhbHQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzIKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IGluIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogbXNnc3RyICJGZWhsZXIgYmVpbSBBdXNmw7xocmVuIHZvbiBcInBhcnNlX3BhY2tfb2JqZWN0cygpXCIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExODYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExOTUKIG1zZ2lkICJSZXNvbHZpbmcgZGVsdGFzIgogbXNnc3RyICJMw7ZzZSBVbnRlcnNjaGllZGUgYXVmIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk2IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTIwNSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJrYW5uIFRocmVhZCBuaWNodCBlcnpldWdlbjogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNDYKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgogbXNnc3RyICJGZWhsZXIgYmVpbSBBdWZsw7ZzZW4gZGVyIFVudGVyc2NoaWVkZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdHMiCiBtc2dzdHJbMF0gImFiZ2VzY2hsb3NzZW4gbWl0ICVkIGxva2FsZW0gT2JqZWt0IgogbXNnc3RyWzFdICJhYmdlc2NobG9zc2VuIG1pdCAlZCBsb2thbGVuIE9iamVrdGVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICJVbmVyd2FydGV0ZSBQcsO8ZnN1bW1lIGbDvHIgJXMgKEZlc3RwbGF0dGVuZmVobGVyPykiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YSIKIG1zZ2lkX3BsdXJhbCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YXMiCi1tc2dzdHJbMF0gIlBha2V0IGhhdCAlZCB1bmF1ZmdlbMO2c3RlIFVudGVyc2NoaWVkIgorbXNnc3RyWzBdICJQYWtldCBoYXQgJWQgdW5hdWZnZWzDtnN0ZW4gVW50ZXJzY2hpZWQiCiBtc2dzdHJbMV0gIlBha2V0IGhhdCAlZCB1bmF1ZmdlbMO2c3RlIFVudGVyc2NoaWVkZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI4MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKIG1zZ3N0ciAiS29ubnRlIGFuZ2Vow6RuZ3RlcyBPYmpla3QgKCVkKSBuaWNodCBrb21wcmltaWVyZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNjAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzODgKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9jYWwgb2JqZWN0ICVzIGlzIGNvcnJ1cHQiCiBtc2dzdHIgImxva2FsZXMgT2JqZWt0ICVzIGlzdCBiZXNjaMOkZGlndCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKIG1zZ3N0ciAiTmFtZSBkZXIgUGFrZXRkYXRlaSAnJXMnIGVuZGV0IG5pY2h0IG1pdCAnLnBhY2snIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzk5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB3cml0ZSAlcyBmaWxlICclcyciCiBtc2dzdHIgIkthbm4gJXMgRGF0ZWkgJyVzJyBuaWNodCBzY2hyZWliZW4uIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDA3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjbG9zZSB3cml0dGVuICVzIGZpbGUgJyVzJyIKIG1zZ3N0ciAiS2FubiBlYmVuIGdlc2NocmllYmVuZSAlcyBEYXRlaSAnJXMnIG5pY2h0IHNjaGxpZcOfZW4uIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDMxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDU5CiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCiBtc2dzdHIgIkZlaGxlciBiZWltIFNjaGxpZcOfZW4gZGVyIFBha2V0ZGF0ZWkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NDUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzMKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgcGFjayBmaWxlIgogbXNnc3RyICJLYW5uIFBha2V0ZGF0ZWkgbmljaHQgc3BlaWNoZXJuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDUzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDgxCiBtc2dpZCAiY2Fubm90IHN0b3JlIGluZGV4IGZpbGUiCiBtc2dzdHIgIkthbm4gSW5kZXhkYXRlaSBuaWNodCBzcGVpY2hlcm4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0OTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTI1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICJcInBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPlwiIGlzdCB1bmfDvGx0aWciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgIkthbm4gZXhpc3RpZXJlbmRlIFBha2V0ZGF0ZWkgJyVzJyBuaWNodCDDtmZmbmVuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTY3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgIkthbm4gZXhpc3RpZXJlbmRlIEluZGV4ZGF0ZWkgZsO8ciBQYWtldCAnJXMnIG5pY2h0IMO2ZmZuZW4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKIG1zZ3N0clswXSAia2VpbiBVbnRlcnNjaGllZDogJWQgT2JqZWt0IgogbXNnc3RyWzFdICJrZWluIFVudGVyc2NoaWVkOiAlZCBPYmpla3RlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCiBtc2dzdHJbMF0gIkzDpG5nZSBkZXIgT2JqZWt0LUxpc3RlID0gJWQ6ICVsdSBPYmpla3QiCiBtc2dzdHJbMV0gIkzDpG5nZSBkZXIgT2JqZWt0LUxpc3RlID0gJWQ6ICVsdSBPYmpla3RlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjU5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjg5CiBtc2dpZCAiQ2Fubm90IGNvbWUgYmFjayB0byBjd2QiCiBtc2dzdHIgIkthbm4gbmljaHQgenVyw7xjayB6dW0gQXJiZWl0c3ZlcnplaWNobmlzIHdlY2hzZWxuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzA4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTEKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MjcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczMQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczOCBidWlsdGluL2luZGV4LXBhY2suYzoxNzQxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzU3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkICVzIgogbXNnc3RyICIlcyBpc3QgdW5nw7xsdGlnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzc3CiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1maXgtdGhpbiBrYW5uIG5pY2h0IG9obmUgLS1zdGRpbiB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc3OQogbXNnaWQgIi0tc3RkaW4gcmVxdWlyZXMgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiLS1zdGRpbiBlcmZvcmRlcnQgZWluIEdpdC1SZXBvc2l0b3J5IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzg1CiBtc2dpZCAiLS12ZXJpZnkgd2l0aCBubyBwYWNrZmlsZSBuYW1lIGdpdmVuIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tdmVyaWZ5IHd1cmRlIG9obmUgTmFtZW4gZGVyIFBha2V0ZGF0ZWkgYW5nZWdlYmVuLiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTgwMyBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTgwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxODMzIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo1ODEKIG1zZ2lkICJmc2NrIGVycm9yIGluIHBhY2sgb2JqZWN0cyIKIG1zZ3N0ciAiZnNjayBGZWhsZXIgYmVpbSBQYWNrZW4gdm9uIE9iamVrdGVuIgogCkBAIC0xMjMzMiw0MiArMTUwODMsNDIgQEAKIG1zZ2lkICJub3QgY29weWluZyB0ZW1wbGF0ZXMgZnJvbSAnJXMnOiAlcyIKIG1zZ3N0ciAia29waWVyZSBrZWluZSBWb3JsYWdlbiB2b24gJyVzJzogJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMyOQorIzogYnVpbHRpbi9pbml0LWRiLmM6MzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBoYW5kbGUgZmlsZSB0eXBlICVkIgogbXNnc3RyICJrYW5uIG5pY2h0IG1pdCBEYXRlaXR5cCAlZCB1bWdlaGVuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozMzIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbW92ZSAlcyB0byAlcyIKIG1zZ3N0ciAiS29ubnRlICVzIG5pY2h0IG5hY2ggJXMgdmVyc2NoaWViZW4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0OSBidWlsdGluL2luaXQtZGIuYzozNTIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM1NCBidWlsdGluL2luaXQtZGIuYzozNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIiVzIGV4aXN0aWVydCBiZXJlaXRzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIHNoYXJlZCBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIkJlc3RlaGVuZGVzIHZlcnRlaWx0ZXMgR2l0LVJlcG9zaXRvcnkgaW4gJXMlcyBuZXVpbml0aWFsaXNpZXJ0XG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNgorIzogYnVpbHRpbi9pbml0LWRiLmM6NDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmcgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICJCZXN0ZWhlbmRlcyBHaXQtUmVwb3NpdG9yeSBpbiAlcyVzIG5ldWluaXRpYWxpc2llcnRcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDEwCisjOiBidWlsdGluL2luaXQtZGIuYzo0MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiTGVlcmVzIHZlcnRlaWx0ZXMgR2l0LVJlcG9zaXRvcnkgaW4gJXMlcyBpbml0aWFsaXNpZXJ0XG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxMQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiTGVlcmVzIEdpdC1SZXBvc2l0b3J5IGluICVzJXMgaW5pdGlhbGlzaWVydFxuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NjAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ2OAogbXNnaWQgIiIKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGVtcGxhdGUtZGlyZWN0b3J5Pl0gWy0tIgogInNoYXJlZFs9PHBlcm1pc3Npb25zPl1dIFs8ZGlyZWN0b3J5Pl0iCkBAIC0xMjM3NSwyNSArMTUxMjYsMjUgQEAKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08Vm9ybGFnZW52ZXJ6ZWljaG5pcz5dIFstLSIKICJzaGFyZWRbPTxCZXJlY2h0aWd1bmdlbj5dXSBbPFZlcnplaWNobmlzPl0iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MworIzogYnVpbHRpbi9pbml0LWRiLmM6NDkxCiBtc2dpZCAicGVybWlzc2lvbnMiCiBtc2dzdHIgIkJlcmVjaHRpZ3VuZ2VuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0ODQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5MgogbXNnaWQgInNwZWNpZnkgdGhhdCB0aGUgZ2l0IHJlcG9zaXRvcnkgaXMgdG8gYmUgc2hhcmVkIGFtb25nc3Qgc2V2ZXJhbCB1c2VycyIKIG1zZ3N0ciAiYW5nZWJlbiwgZGFzcyBkYXMgR2l0LVJlcG9zaXRvcnkgbWl0IG1laHJlcmVuIEJlbnV0emVybiBnZXRlaWx0IHdpcmQiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxOCBidWlsdGluL2luaXQtZGIuYzo1MjMKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUyOSBidWlsdGluL2luaXQtZGIuYzo1MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG1rZGlyICVzIgogbXNnc3RyICJrYW5uIFZlcnplaWNobmlzICVzIG5pY2h0IGVyc3RlbGxlbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTI3CisjOiBidWlsdGluL2luaXQtZGIuYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZGlyIHRvICVzIgogbXNnc3RyICJrYW5uIG5pY2h0IGluIFZlcnplaWNobmlzICVzIHdlY2hzZWxuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NDgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXMgKG9yIC0td29yay10cmVlPTxkaXJlY3Rvcnk+KSBub3QgYWxsb3dlZCB3aXRob3V0IHNwZWNpZnlpbmcgJXMgKG9yIC0tZ2l0LSIKQEAgLTEyNDAyLDEyICsxNTE1MywxMiBAQAogIiVzIChvZGVyIC0td29yay10cmVlPTxWZXJ6ZWljaG5pcz4pIG5pY2h0IGVybGF1YnQgb2huZSBTcGV6aWZpemllcnVuZyB2b24gJXMgIgogIihvZGVyIC0tZ2l0LWRpcj08VmVyemVpY2huaXM+KSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTc2CisjOiBidWlsdGluL2luaXQtZGIuYzo1ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGFjY2VzcyB3b3JrIHRyZWUgJyVzJyIKIG1zZ3N0ciAiS2FubiBuaWNodCBhdWYgQXJiZWl0c3ZlcnplaWNobmlzICclcycgenVncmVpZmVuLiIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxNQorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxNgogbXNnaWQgIiIKICJnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIFstLWluLXBsYWNlXSBbLS10cmltLWVtcHR5XSBbKC0tdHJhaWxlciAiCiAiPHRva2VuPlsoPXw6KTx2YWx1ZT5dKS4uLl0gWzxmaWxlPi4uLl0iCkBAIC0xMjQxNSw0NjEgKzE1MTY2LDQ3MCBAQAogImdpdCBpbnRlcnByZXQtdHJhaWxlcnMgWy0taW4tcGxhY2VdIFstLXRyaW0tZW1wdHldIFsoLS10cmFpbGVyICIKICI8VG9rZW4+Wyg9fDopPFdlcnQ+XSkuLi5dIFs8RGF0ZWk+Li4uXSIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NQogbXNnaWQgImVkaXQgZmlsZXMgaW4gcGxhY2UiCiBtc2dzdHIgInZvcmhhbmRlbmUgRGF0ZWllbiBkaXJla3QgYmVhcmJlaXRlbiIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NQorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NgogbXNnaWQgInRyaW0gZW1wdHkgdHJhaWxlcnMiCiBtc2dzdHIgImvDvHJ6dCBsZWVyZSBBbmjDpG5nZSIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5OAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5OQogbXNnaWQgIndoZXJlIHRvIHBsYWNlIHRoZSBuZXcgdHJhaWxlciIKIG1zZ3N0ciAid28gZGVyIG5ldWUgQW5oYW5nIHBsYXR6aWVydCB3aXJkIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDEKIG1zZ2lkICJhY3Rpb24gaWYgdHJhaWxlciBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiQWt0aW9uLCB3ZW5uIEFuaGFuZyBiZXJlaXRzIGV4aXN0aWVydCIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDIKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAzCiBtc2dpZCAiYWN0aW9uIGlmIHRyYWlsZXIgaXMgbWlzc2luZyIKIG1zZ3N0ciAiQWt0aW9uLCB3ZW5uIEFuaGFuZyBmZWhsdCIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDQKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA1CiBtc2dpZCAib3V0cHV0IG9ubHkgdGhlIHRyYWlsZXJzIgogbXNnc3RyICJudXIgQW5ow6RuZ2UgYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA1CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNgogbXNnaWQgImRvIG5vdCBhcHBseSBjb25maWcgcnVsZXMiCiBtc2dzdHIgIlJlZ2VsbiBhdXMgS29uZmlndXJhdGlvbiBuaWNodCBhbndlbmRlbiIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDYKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA3CiBtc2dpZCAiam9pbiB3aGl0ZXNwYWNlLWNvbnRpbnVlZCB2YWx1ZXMiCiBtc2dzdHIgImR1cmNoIExlZXJ6ZWljaGVuIGZvcnRnZXNldHp0ZSBXZXJ0ZSB2ZXJiaW5kZW4iCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA3CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwOAogbXNnaWQgInNldCBwYXJzaW5nIG9wdGlvbnMiCiBtc2dzdHIgIk9wdGlvbmVuIGbDvHIgZGFzIFBhcnNlbiBzZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA5CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMAogbXNnaWQgImRvIG5vdCB0cmVhdCAtLS0gc3BlY2lhbGx5IgogbXNnc3RyICItLS0gbmljaHQgc3BlemllbGwgYmVoYW5kZWxuIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMTEKIG1zZ2lkICJ0cmFpbGVyIgogbXNnc3RyICJBbmhhbmciCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTExCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMgogbXNnaWQgInRyYWlsZXIocykgdG8gYWRkIgogbXNnc3RyICJBbmhhbmcvQW5ow6RuZ2UgaGluenVmw7xnZW4iCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTIwCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEyMwogbXNnaWQgIi0tdHJhaWxlciB3aXRoIC0tb25seS1pbnB1dCBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICIiCiAiRGllIE9wdGlvbmVuIC0tdHJhaWxlciB1bmQgLS1vbmx5LWlucHV0IGvDtm5uZW4gbmljaHQgZ2VtZWluc2FtIHZlcndlbmRldCAiCiAid2VyZGVuLiIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMzAKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTMzCiBtc2dpZCAibm8gaW5wdXQgZmlsZSBnaXZlbiBmb3IgaW4tcGxhY2UgZWRpdGluZyIKIG1zZ3N0ciAia2VpbmUgRGF0ZWkgenVyIGRpcmVrdGVuIEJlYXJiZWl0dW5nIGFuZ2VnZWJlbiIKIAotIzogYnVpbHRpbi9sb2cuYzo1NAorIzogYnVpbHRpbi9sb2cuYzo1NgogbXNnaWQgImdpdCBsb2cgWzxvcHRpb25zPl0gWzxyZXZpc2lvbi1yYW5nZT5dIFtbLS1dIDxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBsb2cgWzxPcHRpb25lbj5dIFs8Q29tbWl0YmVyZWljaD5dIFtbLS1dIDxQZmFkPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTUKKyM6IGJ1aWx0aW4vbG9nLmM6NTcKIG1zZ2lkICJnaXQgc2hvdyBbPG9wdGlvbnM+XSA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHNob3cgWzxPcHRpb25lbj5dIDxPYmpla3Q+Li4uIgogCi0jOiBidWlsdGluL2xvZy5jOjk5CisjOiBidWlsdGluL2xvZy5jOjExMAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIC0tZGVjb3JhdGUgb3B0aW9uOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBPcHRpb24gZsO8ciAtLWRlY29yYXRlOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjIKLW1zZ2lkICJzdXBwcmVzcyBkaWZmIG91dHB1dCIKLW1zZ3N0ciAiQXVzZ2FiZSBkZXIgVW50ZXJzY2hpZWRlIHVudGVyZHLDvGNrZW4iCi0KLSM6IGJ1aWx0aW4vbG9nLmM6MTYzCisjOiBidWlsdGluL2xvZy5jOjE3NAogbXNnaWQgInNob3cgc291cmNlIgogbXNnc3RyICJRdWVsbGUgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY0CisjOiBidWlsdGluL2xvZy5jOjE3NQogbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgogbXNnc3RyICJcIm1haWxtYXBcIi1EYXRlaSB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY2CisjOiBidWlsdGluL2xvZy5jOjE3NwogbXNnaWQgIm9ubHkgZGVjb3JhdGUgcmVmcyB0aGF0IG1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiXCJkZWNvcmF0ZVwiIG51ciBiZWkgUmVmZXJlbnplbiBhbndlbmRlbiwgZGllIDxNdXN0ZXI+IGVudHNwcmVjaGVuIgogCi0jOiBidWlsdGluL2xvZy5jOjE2OAorIzogYnVpbHRpbi9sb2cuYzoxNzkKIG1zZ2lkICJkbyBub3QgZGVjb3JhdGUgcmVmcyB0aGF0IG1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiXCJkZWNvcmF0ZVwiIG5pY2h0IGJlaSBSZWZlcmVuemVuIGFud2VuZGVuLCBkaWUgPE11c3Rlcj4gZW50c3ByZWNoZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY5CisjOiBidWlsdGluL2xvZy5jOjE4MAogbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCiBtc2dzdHIgImRlY29yYXRlLU9wdGlvbmVuIgogCi0jOiBidWlsdGluL2xvZy5jOjE3MgorIzogYnVpbHRpbi9sb2cuYzoxODMKIG1zZ2lkICJQcm9jZXNzIGxpbmUgcmFuZ2UgbixtIGluIGZpbGUsIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAiVmVyYXJiZWl0ZXQgbnVyIFplaWxlbiBpbSBCZXJlaWNoIG4sbSBpbiBkZXIgRGF0ZWksIGdlesOkaGx0IHZvbiAxIgogCi0jOiBidWlsdGluL2xvZy5jOjI3MAorIzogYnVpbHRpbi9sb2cuYzoyODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmluYWwgb3V0cHV0OiAlZCAlc1xuIgogbXNnc3RyICJsZXR6dGUgQXVzZ2FiZTogJWQgJXNcbiIKIAotIzogYnVpbHRpbi9sb2cuYzo1MjIKKyM6IGJ1aWx0aW4vbG9nLmM6NTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBzaG93ICVzOiBiYWQgZmlsZSIKIG1zZ3N0ciAiZ2l0IHNob3cgJXM6IHVuZ8O8bHRpZ2UgRGF0ZWkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTM3IGJ1aWx0aW4vbG9nLmM6NjMxCisjOiBidWlsdGluL2xvZy5jOjU1MCBidWlsdGluL2xvZy5jOjY0NQogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCi1tc2dzdHIgIkthbm4gT2JqZWt0ICVzIG5pY2h0IGxlc2VuLiIKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCittc2dzdHIgIktvbm50ZSBPYmpla3QgJXMgbmljaHQgbGVzZW4uIgogCi0jOiBidWlsdGluL2xvZy5jOjY1NQorIzogYnVpbHRpbi9sb2cuYzo2NzAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biB0eXBlOiAlZCIKK21zZ2lkICJ1bmtub3duIHR5cGU6ICVkIgogbXNnc3RyICJVbmJla2FubnRlciBUeXA6ICVkIgogCi0jOiBidWlsdGluL2xvZy5jOjc3NgorIzogYnVpbHRpbi9sb2cuYzo4MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY292ZXIgZnJvbSBkZXNjcmlwdGlvbiBtb2RlIgorbXNnc3RyICIiCisiJXM6IFVuZ8O8bHRpZ2VyIE1vZHVzIGbDvHIgRXJzdGVsbHVuZyBkZXMgRGVja2JsYXR0ZXMgYXVzIGRlciBCZXNjaHJlaWJ1bmciCisKKyM6IGJ1aWx0aW4vbG9nLmM6ODIxCiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAiZm9ybWF0LmhlYWRlcnMgb2huZSBXZXJ0IgogCi0jOiBidWlsdGluL2xvZy5jOjg3NworIzogYnVpbHRpbi9sb2cuYzo5MzYKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCiBtc2dzdHIgIk5hbWUgZGVzIEF1c2dhYmV2ZXJ6ZWljaG5pc3NlcyBpc3QgenUgbGFuZy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODkzCisjOiBidWlsdGluL2xvZy5jOjk1MgogIywgYy1mb3JtYXQKLW1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgorbXNnaWQgImNhbm5vdCBvcGVuIHBhdGNoIGZpbGUgJXMiCiBtc2dzdHIgIkthbm4gUGF0Y2gtRGF0ZWkgJXMgbmljaHQgw7ZmZm5lbiIKIAotIzogYnVpbHRpbi9sb2cuYzo5MTAKLW1zZ2lkICJOZWVkIGV4YWN0bHkgb25lIHJhbmdlLiIKKyM6IGJ1aWx0aW4vbG9nLmM6OTY5Cittc2dpZCAibmVlZCBleGFjdGx5IG9uZSByYW5nZSIKIG1zZ3N0ciAiQnJhdWNoZSBnZW5hdSBlaW5lbiBDb21taXQtQmVyZWljaC4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTIwCi1tc2dpZCAiTm90IGEgcmFuZ2UuIgorIzogYnVpbHRpbi9sb2cuYzo5NzkKK21zZ2lkICJub3QgYSByYW5nZSIKIG1zZ3N0ciAiS2VpbiBDb21taXQtQmVyZWljaC4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA0MwotbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCisjOiBidWlsdGluL2xvZy5jOjExNDMKK21zZ2lkICJjb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgogbXNnc3RyICJBbnNjaHJlaWJlbiBiZW7DtnRpZ3QgRS1NYWlsLUZvcm1hdCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTE5CisjOiBidWlsdGluL2xvZy5jOjExNDkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGNvdmVyLWxldHRlciBmaWxlIgorbXNnc3RyICJGZWhsZXIgYmVpbSBFcnN0ZWxsZW4gZGVyIERhdGVpIGbDvHIgZGFzIEFuc2NocmVpYmVuLiIKKworIzogYnVpbHRpbi9sb2cuYzoxMjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCiBtc2dzdHIgInVuZ8O8bHRpZ2VzIGluLXJlcGx5LXRvOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTQ2CisjOiBidWlsdGluL2xvZy5jOjEyNTUKIG1zZ2lkICJnaXQgZm9ybWF0LXBhdGNoIFs8b3B0aW9ucz5dIFs8c2luY2U+IHwgPHJldmlzaW9uLXJhbmdlPl0iCiBtc2dzdHIgImdpdCBmb3JtYXQtcGF0Y2ggWzxPcHRpb25lbj5dIFs8c2VpdD4gfCA8Q29tbWl0YmVyZWljaD5dIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMDQKLW1zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKKyM6IGJ1aWx0aW4vbG9nLmM6MTMxMworbXNnaWQgInR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgogbXNnc3RyICJad2VpIEF1c2dhYmV2ZXJ6ZWljaG5pc3NlPyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzExIGJ1aWx0aW4vbG9nLmM6MjA1NCBidWlsdGluL2xvZy5jOjIwNTYgYnVpbHRpbi9sb2cuYzoyMDY4CisjOiBidWlsdGluL2xvZy5jOjE0MjQgYnVpbHRpbi9sb2cuYzoyMTk3IGJ1aWx0aW4vbG9nLmM6MjE5OSBidWlsdGluL2xvZy5jOjIyMTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biBjb21taXQgJXMiCittc2dpZCAidW5rbm93biBjb21taXQgJXMiCiBtc2dzdHIgIlVuYmVrYW5udGVyIENvbW1pdCAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzIxIGJ1aWx0aW4vbm90ZXMuYzo4OTQgYnVpbHRpbi90YWcuYzo1MjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNCBidWlsdGluL3JlcGxhY2UuYzo1OCBidWlsdGluL3JlcGxhY2UuYzoyMDcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIxMAogIywgYy1mb3JtYXQKLW1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBhbHMgZ8O8bHRpZ2UgUmVmZXJlbnogYXVmbMO2c2VuLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzI2Ci1tc2dpZCAiQ291bGQgbm90IGZpbmQgZXhhY3QgbWVyZ2UgYmFzZS4iCisjOiBidWlsdGluL2xvZy5jOjE0MzkKK21zZ2lkICJjb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlIgogbXNnc3RyICJLb25udGUga2VpbmUgZXhha3RlIE1lcmdlLUJhc2lzIGZpbmRlbi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMzMAorIzogYnVpbHRpbi9sb2cuYzoxNDQzCiBtc2dpZCAiIgotIkZhaWxlZCB0byBnZXQgdXBzdHJlYW0sIGlmIHlvdSB3YW50IHRvIHJlY29yZCBiYXNlIGNvbW1pdCBhdXRvbWF0aWNhbGx5LFxuIgorImZhaWxlZCB0byBnZXQgdXBzdHJlYW0sIGlmIHlvdSB3YW50IHRvIHJlY29yZCBiYXNlIGNvbW1pdCBhdXRvbWF0aWNhbGx5LFxuIgogInBsZWFzZSB1c2UgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byB0byB0cmFjayBhIHJlbW90ZSBicmFuY2guXG4iCi0iT3IgeW91IGNvdWxkIHNwZWNpZnkgYmFzZSBjb21taXQgYnkgLS1iYXNlPTxiYXNlLWNvbW1pdC1pZD4gbWFudWFsbHkuIgorIk9yIHlvdSBjb3VsZCBzcGVjaWZ5IGJhc2UgY29tbWl0IGJ5IC0tYmFzZT08YmFzZS1jb21taXQtaWQ+IG1hbnVhbGx5IgogbXNnc3RyICIiCiAiRmVobGVyIGJlaW0gQmVzdGltbWVuIGRlcyBVcHN0cmVhbS1CcmFuY2hlcy4gV2VubiBTaWUgZGVuIEJhc2lzLUNvbW1pdFxuIgogImF1dG9tYXRpc2NoIHNwZWljaGVybiBsYXNzZW4gbcO2Y2h0ZW4sIGJlbnV0emVuIFNpZSBiaXR0ZVxuIgogIidnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvJywgdW0gZWluZW0gUmVtb3RlLUJyYW5jaCB6dSBmb2xnZW4uXG4iCiAiT2RlciBnZWJlbiBTaWUgZGVuIEJhc2lzLUNvbW1pdCBtaXQgJy0tYmFzZT08QmFzaXMtQ29tbWl0LUlkPicgbWFudWVsbCBhbi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM1MAotbXNnaWQgIkZhaWxlZCB0byBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCisjOiBidWlsdGluL2xvZy5jOjE0NjMKK21zZ2lkICJmYWlsZWQgdG8gZmluZCBleGFjdCBtZXJnZSBiYXNlIgogbXNnc3RyICJGZWhsZXIgYmVpbSBGaW5kZW4gZWluZXIgZXhha3RlbiBNZXJnZS1CYXNpcy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM2MQorIzogYnVpbHRpbi9sb2cuYzoxNDc0CiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkIGJlIHRoZSBhbmNlc3RvciBvZiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICJCYXNpcy1Db21taXQgc29sbHRlIGRlciBWb3Jnw6RuZ2VyIGRlciBSZXZpc2lvbnNsaXN0ZSBzZWluLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzY1CisjOiBidWlsdGluL2xvZy5jOjE0NzgKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGRuJ3QgYmUgaW4gcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAiQmFzaXMtQ29tbWl0IHNvbGx0ZSBuaWNodCBpbiBkZXIgUmV2aXNpb25zbGlzdGUgZW50aGFsdGVuIHNlaW4uIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTUzMQogbXNnaWQgImNhbm5vdCBnZXQgcGF0Y2ggaWQiCiBtc2dzdHIgImthbm4gUGF0Y2gtSWQgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3MAorIzogYnVpbHRpbi9sb2cuYzoxNTgzCiBtc2dpZCAiZmFpbGVkIHRvIGluZmVyIHJhbmdlLWRpZmYgcmFuZ2VzIgogbXNnc3RyICJGZWhsZXIgYmVpbSBBYmxlaXRlbiBkZXMgcmFuZ2UtZGlmZi1CZXJlaWNocy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUxNQorIzogYnVpbHRpbi9sb2cuYzoxNjI5CiBtc2dpZCAidXNlIFtQQVRDSCBuL21dIGV2ZW4gd2l0aCBhIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAiW1BBVENIIG4vbV0gYXVjaCBtaXQgZWluemVsbmVtIFBhdGNoIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTE4CisjOiBidWlsdGluL2xvZy5jOjE2MzIKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKIG1zZ3N0ciAiW1BBVENIXSBhdWNoIG1pdCBtZWhyZXJlbiBQYXRjaGVzIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTIyCisjOiBidWlsdGluL2xvZy5jOjE2MzYKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAiQXVzZ2FiZSBkZXIgUGF0Y2hlcyBpbiBTdGFuZGFyZC1BdXNnYWJlIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTYzOAogbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgogbXNnc3RyICJlaW4gRGVja2JsYXR0IGVyemV1Z2VuIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTY0MAogbXNnaWQgInVzZSBzaW1wbGUgbnVtYmVyIHNlcXVlbmNlIGZvciBvdXRwdXQgZmlsZSBuYW1lcyIKIG1zZ3N0ciAiZWluZmFjaGUgTnVtbWVybmZvbGdlIGbDvHIgZGllIE5hbWVuIGRlciBBdXNnYWJlZGF0ZWllbiB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUyNworIzogYnVpbHRpbi9sb2cuYzoxNjQxCiBtc2dpZCAic2Z4IgogbXNnc3RyICJEYXRlaWVuZHVuZyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTI4CisjOiBidWlsdGluL2xvZy5jOjE2NDIKIG1zZ2lkICJ1c2UgPHNmeD4gaW5zdGVhZCBvZiAnLnBhdGNoJyIKIG1zZ3N0ciAiPERhdGVpZW5kdW5nPiBhbnN0YXR0ICcucGF0Y2gnIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMwCisjOiBidWlsdGluL2xvZy5jOjE2NDQKIG1zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgogbXNnc3RyICJkaWUgTnVtbWVyaWVydW5nIGRlciBQYXRjaGVzIGJlaSA8bj4gYW5zdGF0dCBiZWkgMSBiZWdpbm5lbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMyCisjOiBidWlsdGluL2xvZy5jOjE2NDYKIG1zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCiBtc2dzdHIgImRpZSBTZXJpZSBhbHMgbi10ZSBGYXNzdW5nIGtlbm56ZWljaG5lbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTM0CisjOiBidWlsdGluL2xvZy5jOjE2NDgKIG1zZ2lkICJVc2UgW1JGQyBQQVRDSF0gaW5zdGVhZCBvZiBbUEFUQ0hdIgogbXNnc3RyICJbUkZDIFBBVENIXSBhbnN0YXR0IFtQQVRDSF0gdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzcKLW1zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCi1tc2dzdHIgIls8UHLDpGZpeD5dIGFuc3RhdHQgW1BBVENIXSB2ZXJ3ZW5kZW4iCisjOiBidWlsdGluL2xvZy5jOjE2NTEKK21zZ2lkICJjb3Zlci1mcm9tLWRlc2NyaXB0aW9uLW1vZGUiCittc2dzdHIgIk1vZHVzIGbDvHIgRXJzdGVsbHVuZyBkZXMgRGVja2JsYXR0ZXMgYXVzIGRlciBCZXNjaHJlaWJ1bmciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MAorIzogYnVpbHRpbi9sb2cuYzoxNjUyCittc2dpZCAiZ2VuZXJhdGUgcGFydHMgb2YgYSBjb3ZlciBsZXR0ZXIgYmFzZWQgb24gYSBicmFuY2gncyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiIgorIkVyemV1Z2UgVGVpbGUgZGVzIERlY2tibGF0dGVzIGJhc2llcmVuZCBhdWYgZGVyIEJlc2NocmVpYnVuZyBkZXMgQnJhbmNoZXMiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY1NAorbXNnaWQgIlVzZSBbPHByZWZpeD5dIGluc3RlYWQgb2YgW1BBVENIXSIKK21zZ3N0ciAiTnV0emUgWzxQcsOkZml4Pl0gc3RhdHQgW1BBVENIXSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjU3CiBtc2dpZCAic3RvcmUgcmVzdWx0aW5nIGZpbGVzIGluIDxkaXI+IgogbXNnc3RyICJlcnpldWd0ZSBEYXRlaWVuIGluIDxWZXJ6ZWljaG5pcz4gc3BlaWNoZXJuIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTY2MAogbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgogbXNnc3RyICJbUEFUQ0hdIG5pY2h0IGVudGZlcm5lbi9oaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTQ2CisjOiBidWlsdGluL2xvZy5jOjE2NjMKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICJrZWluZSBiaW7DpHJlbiBVbnRlcnNjaGllZGUgYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0OAorIzogYnVpbHRpbi9sb2cuYzoxNjY1CiBtc2dpZCAib3V0cHV0IGFsbC16ZXJvIGhhc2ggaW4gRnJvbSBoZWFkZXIiCiBtc2dzdHIgIkhhc2ggbWl0IE51bGxlbiBpbiBcIkZyb21cIi1IZWFkZXIgYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1MAorIzogYnVpbHRpbi9sb2cuYzoxNjY3CiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgogbXNnc3RyICIiCiAia2VpbmUgUGF0Y2hlcyBlaW5zY2hsaWXDn2VuLCBkaWUgZWluZW0gQ29tbWl0IGltIFVwc3RyZWFtLUJyYW5jaCBlbnRzcHJlY2hlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTUyCisjOiBidWlsdGluL2xvZy5jOjE2NjkKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgIlBhdGNoZm9ybWF0IGFuc3RhdHQgZGVzIFN0YW5kYXJkcyBhbnplaWdlbiAoUGF0Y2ggKyBadXNhbW1lbmZhc3N1bmcpIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3MQogbXNnaWQgIk1lc3NhZ2luZyIKIG1zZ3N0ciAiRS1NYWlsLUVpbnN0ZWxsdW5nZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NQorIzogYnVpbHRpbi9sb2cuYzoxNjcyCiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICJIZWFkZXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NgorIzogYnVpbHRpbi9sb2cuYzoxNjczCiBtc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKIG1zZ3N0ciAiRS1NYWlsLUhlYWRlciBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTU3IGJ1aWx0aW4vbG9nLmM6MTU1OQorIzogYnVpbHRpbi9sb2cuYzoxNjc0IGJ1aWx0aW4vbG9nLmM6MTY3NgogbXNnaWQgImVtYWlsIgogbXNnc3RyICJFLU1haWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NworIzogYnVpbHRpbi9sb2cuYzoxNjc0CiBtc2dpZCAiYWRkIFRvOiBoZWFkZXIiCiBtc2dzdHIgIlwiVG86XCItSGVhZGVyIGhpbnp1ZsO8Z2VuIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3NgogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICJcIkNjOlwiLUhlYWRlciBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTYxCisjOiBidWlsdGluL2xvZy5jOjE2NzgKIG1zZ2lkICJpZGVudCIKIG1zZ3N0ciAiSWRlbnQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2MgorIzogYnVpbHRpbi9sb2cuYzoxNjc5CiBtc2dpZCAic2V0IEZyb20gYWRkcmVzcyB0byA8aWRlbnQ+IChvciBjb21taXR0ZXIgaWRlbnQgaWYgYWJzZW50KSIKIG1zZ3N0ciAiIgogIlwiRnJvbVwiLUFkcmVzc2UgYXVmIDxJZGVudD4gc2V0emVuIChvZGVyIElkZW50IGRlcyBDb21taXQtRXJzdGVsbGVycywgd2VubiAiCiAiZmVobGVuZCkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NAorIzogYnVpbHRpbi9sb2cuYzoxNjgxCiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAibWVzc2FnZS1pZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY1CisjOiBidWlsdGluL2xvZy5jOjE2ODIKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgImF1cyBlcnN0ZXIgRS1NYWlsIGVpbmUgQW50d29ydCB6dSA8bWVzc2FnZS1pZD4gbWFjaGVuIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NjYgYnVpbHRpbi9sb2cuYzoxNTY5CisjOiBidWlsdGluL2xvZy5jOjE2ODMgYnVpbHRpbi9sb2cuYzoxNjg2CiBtc2dpZCAiYm91bmRhcnkiCiBtc2dzdHIgIkdyZW56ZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY3CisjOiBidWlsdGluL2xvZy5jOjE2ODQKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICJkZW4gUGF0Y2ggYW5ow6RuZ2VuIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTY4NwogbXNnaWQgImlubGluZSB0aGUgcGF0Y2giCiBtc2dzdHIgImRlbiBQYXRjaCBkaXJla3QgaW4gZGllIE5hY2hyaWNodCBlaW5mw7xnZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3NAorIzogYnVpbHRpbi9sb2cuYzoxNjkxCiBtc2dpZCAiZW5hYmxlIG1lc3NhZ2UgdGhyZWFkaW5nLCBzdHlsZXM6IHNoYWxsb3csIGRlZXAiCiBtc2dzdHIgIk5hY2hyaWNodGVudmVya2V0dHVuZyBha3RpdmllcmVuLCBTdGlsZTogc2hhbGxvdywgZGVlcCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc2CisjOiBidWlsdGluL2xvZy5jOjE2OTMKIG1zZ2lkICJzaWduYXR1cmUiCiBtc2dzdHIgIlNpZ25hdHVyIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5NAogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSIKIG1zZ3N0ciAiZWluZSBTaWduYXR1ciBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc4CisjOiBidWlsdGluL2xvZy5jOjE2OTUKIG1zZ2lkICJiYXNlLWNvbW1pdCIKIG1zZ3N0ciAiQmFzaXMtQ29tbWl0IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5NgogbXNnaWQgImFkZCBwcmVyZXF1aXNpdGUgdHJlZSBpbmZvIHRvIHRoZSBwYXRjaCBzZXJpZXMiCiBtc2dzdHIgImVyZm9yZGVybGljaGUgUmV2aXNpb25zLUluZm9ybWF0aW9uZW4gZGVyIFBhdGNoLVNlcmllIGhpbnp1ZsO8Z2VuIgogCi0jOiBidWlsdGluL2xvZy5jOjE1ODEKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5OAogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSBmcm9tIGEgZmlsZSIKIG1zZ3N0ciAiZWluZSBTaWduYXR1ciBhdXMgZWluZXIgRGF0ZWkgaGluenVmw7xnZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU4MgorIzogYnVpbHRpbi9sb2cuYzoxNjk5CiBtc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKIG1zZ3N0ciAia2VpbmUgRGF0ZWluYW1lbiBkZXIgUGF0Y2hlcyBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTg0CisjOiBidWlsdGluL2xvZy5jOjE3MDEKIG1zZ2lkICJzaG93IHByb2dyZXNzIHdoaWxlIGdlbmVyYXRpbmcgcGF0Y2hlcyIKIG1zZ3N0ciAiRm9yc2Nocml0dHNhbnplaWdlIHfDpGhyZW5kIGRlciBFcnpldWd1bmcgZGVyIFBhdGNoZXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU4NQotbXNnaWQgInJldiIKLW1zZ3N0ciAiQ29tbWl0IgotCi0jOiBidWlsdGluL2xvZy5jOjE1ODYKKyM6IGJ1aWx0aW4vbG9nLmM6MTcwMwogbXNnaWQgInNob3cgY2hhbmdlcyBhZ2FpbnN0IDxyZXY+IGluIGNvdmVyIGxldHRlciBvciBzaW5nbGUgcGF0Y2giCi1tc2dzdHIgIsOEbmRlcnVuZ2VuIGdlZ2Vuw7xiZXIgPENvbW1pdD4gaW0gRGVja2JsYXR0IG9kZXIgZWluemVsbmVtIFBhdGNoIGFuemVpZ2VuIgorbXNnc3RyICIiCisiw4RuZGVydW5nZW4gZ2VnZW7DvGJlciA8Q29tbWl0PiBpbSBEZWNrYmxhdHQgb2RlciBlaW56ZWxuZW0gUGF0Y2ggYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU4OQorIzogYnVpbHRpbi9sb2cuYzoxNzA2CiBtc2dpZCAic2hvdyBjaGFuZ2VzIGFnYWluc3QgPHJlZnNwZWM+IGluIGNvdmVyIGxldHRlciBvciBzaW5nbGUgcGF0Y2giCi1tc2dzdHIgIsOEbmRlcnVuZ2VuIGdlZ2Vuw7xiZXIgPFJlZnNwZWM+IGltIERlY2tibGF0dCBvZGVyIGVpbnplbG5lbSBQYXRjaCBhbnplaWdlbiIKK21zZ3N0ciAiIgorIsOEbmRlcnVuZ2VuIGdlZ2Vuw7xiZXIgPFJlZnNwZWM+IGltIERlY2tibGF0dCBvZGVyIGVpbnplbG5lbSBQYXRjaCBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTkxCisjOiBidWlsdGluL2xvZy5jOjE3MDgKIG1zZ2lkICJwZXJjZW50YWdlIGJ5IHdoaWNoIGNyZWF0aW9uIGlzIHdlaWdodGVkIgogbXNnc3RyICJQcm96ZW50c2F0eiBtaXQgd2VsY2hlbSBFcnpldWd1bmcgZ2V3aWNodGV0IHdpcmQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY2NgorIzogYnVpbHRpbi9sb2cuYzoxNzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgSWRlbnRpZmlrYXRpb25zemVpbGU6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjE2ODEKKyM6IGJ1aWx0aW4vbG9nLmM6MTgwNwogbXNnaWQgIi1uIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItbiB1bmQgLWsgc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnIGF1cy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY4MworIzogYnVpbHRpbi9sb2cuYzoxODA5CiBtc2dpZCAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyB1bmQgLWsgc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnIGF1cy4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY5MQorIzogYnVpbHRpbi9sb2cuYzoxODE3CiBtc2dpZCAiLS1uYW1lLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLW5hbWUtb25seSBrYW5uIG5pY2h0IHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL2xvZy5jOjE2OTMKKyM6IGJ1aWx0aW4vbG9nLmM6MTgxOQogbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLW5hbWUtc3RhdHVzIGthbm4gbmljaHQgdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY5NQorIzogYnVpbHRpbi9sb2cuYzoxODIxCiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tY2hlY2sga2FubiBuaWNodCB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzI3CisjOiBidWlsdGluL2xvZy5jOjE4NTQKIG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKIG1zZ3N0ciAiU3RhbmRhcmQtQXVzZ2FiZSBvZGVyIFZlcnplaWNobmlzLCB3ZWxjaGVzIHZvbiBiZWlkZW0/IgogCi0jOiBidWlsdGluL2xvZy5jOjE3MjkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKLW1zZ3N0ciAiS29ubnRlIFZlcnplaWNobmlzICclcycgbmljaHQgZXJzdGVsbGVuLiIKLQotIzogYnVpbHRpbi9sb2cuYzoxODE2CisjOiBidWlsdGluL2xvZy5jOjE5NTgKIG1zZ2lkICItLWludGVyZGlmZiByZXF1aXJlcyAtLWNvdmVyLWxldHRlciBvciBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIi0taW50ZXJkaWZmIGVyZm9yZGVydCAtLWNvdmVyLWxldHRlciBvZGVyIGVpbnplbG5lbiBQYXRjaC4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyMAorIzogYnVpbHRpbi9sb2cuYzoxOTYyCiBtc2dpZCAiSW50ZXJkaWZmOiIKIG1zZ3N0ciAiSW50ZXJkaWZmOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODIxCisjOiBidWlsdGluL2xvZy5jOjE5NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW50ZXJkaWZmIGFnYWluc3QgdiVkOiIKIG1zZ3N0ciAiSW50ZXJkaWZmIGdlZ2VuIHYlZDoiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyNworIzogYnVpbHRpbi9sb2cuYzoxOTY5CiBtc2dpZCAiLS1jcmVhdGlvbi1mYWN0b3IgcmVxdWlyZXMgLS1yYW5nZS1kaWZmIgogbXNnc3RyICItLWNyZWF0aW9uLWZhY3RvciBlcmZvcmRlcnQgLS1yYW5nZS1kaWZmIgogCi0jOiBidWlsdGluL2xvZy5jOjE4MzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTk3MwogbXNnaWQgIi0tcmFuZ2UtZGlmZiByZXF1aXJlcyAtLWNvdmVyLWxldHRlciBvciBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIi0tcmFuZ2UtZGlmZiBlcmZvcmRlcnQgLS1jb3Zlci1sZXR0ZXIgb2RlciBlaW56ZWxuZW4gUGF0Y2guIgogCi0jOiBidWlsdGluL2xvZy5jOjE4MzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTk4MQogbXNnaWQgIlJhbmdlLWRpZmY6IgogbXNnc3RyICJSYW5nZS1EaWZmOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODQwCisjOiBidWlsdGluL2xvZy5jOjE5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmFuZ2UtZGlmZiBhZ2FpbnN0IHYlZDoiCiBtc2dzdHIgIlJhbmdlLURpZmYgZ2VnZW4gdiVkOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODUxCisjOiBidWlsdGluL2xvZy5jOjE5OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc2lnbmF0dXJlIGZpbGUgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIFNpZ25hdHVyLURhdGVpICclcycgbmljaHQgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTg4NworIzogYnVpbHRpbi9sb2cuYzoyMDI5CiBtc2dpZCAiR2VuZXJhdGluZyBwYXRjaGVzIgogbXNnc3RyICJFcnpldWdlIFBhdGNoZXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTkzMQotbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgorIzogYnVpbHRpbi9sb2cuYzoyMDczCittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIEVyc3RlbGxlbiBkZXIgQXVzZ2FiZWRhdGVpZW4uIgogCi0jOiBidWlsdGluL2xvZy5jOjE5ODkKKyM6IGJ1aWx0aW4vbG9nLmM6MjEzMgogbXNnaWQgImdpdCBjaGVycnkgWy12XSBbPHVwc3RyZWFtPiBbPGhlYWQ+IFs8bGltaXQ+XV1dIgogbXNnc3RyICJnaXQgY2hlcnJ5IFstdl0gWzxVcHN0cmVhbT4gWzxCcmFuY2g+IFs8TGltaXQ+XV1dIgogCi0jOiBidWlsdGluL2xvZy5jOjIwNDMKKyM6IGJ1aWx0aW4vbG9nLmM6MjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCkBAIC0xMjg3NywxMTIgKzE1NjM3LDExMiBAQAogIktvbm50ZSBnZWZvbGd0ZW4gUmVtb3RlLUJyYW5jaCBuaWNodCBmaW5kZW4sIGJpdHRlIGdlYmVuIFNpZSA8VXBzdHJlYW0+ICIKICJtYW51ZWxsIGFuLlxuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDcwCiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgWzxPcHRpb25lbj5dIFs8RGF0ZWk+Li4uXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNgogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgImRlbiBEYXRlaXN0YXR1cyBtaXQgVGFncyBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOAogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgogbXNnc3RyICIiCiAiS2xlaW5idWNoc3RhYmVuIGbDvHIgRGF0ZWllbiBtaXQgJ2Fzc3VtZSB1bmNoYW5nZWQnIE1hcmtpZXJ1bmcgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTMwCiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnZnNtb25pdG9yIGNsZWFuJyBmaWxlcyIKIG1zZ3N0ciAiS2xlaW5idWNoc3RhYmVuIGbDvHIgJ2ZzbW9uaXRvciBjbGVhbicgRGF0ZWllbiB2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzIKIG1zZ2lkICJzaG93IGNhY2hlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IChkZWZhdWx0KSIKIG1zZ3N0ciAiendpc2NoZW5nZXNwZWljaGVydGUgRGF0ZWllbiBpbiBkZXIgQXVzZ2FiZSBhbnplaWdlbiAoU3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTMzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM0CiBtc2dpZCAic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImVudGZlcm50ZSBEYXRlaWVuIGluIGRlciBBdXNnYWJlIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2CiBtc2dpZCAic2hvdyBtb2RpZmllZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJnZcOkbmRlcnRlIERhdGVpZW4gaW4gZGVyIEF1c2dhYmUgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzgKIG1zZ2lkICJzaG93IG90aGVyIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgInNvbnN0aWdlIERhdGVpZW4gaW4gZGVyIEF1c2dhYmUgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDAKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiaWdub3JpZXJ0ZSBEYXRlaWVuIGluIGRlciBBdXNnYWJlIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQzCiBtc2dpZCAic2hvdyBzdGFnZWQgY29udGVudHMnIG9iamVjdCBuYW1lIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIiIKICJPYmpla3RuYW1lbiB2b24gSW5oYWx0ZW4sIGRpZSB6dW0gQ29tbWl0IHZvcmdlbWVya3Qgc2luZCwgaW4gZGVyIEF1c2dhYmUgIgogImFuemVpZ2VuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ1CiBtc2dpZCAic2hvdyBmaWxlcyBvbiB0aGUgZmlsZXN5c3RlbSB0aGF0IG5lZWQgdG8gYmUgcmVtb3ZlZCIKIG1zZ3N0ciAiRGF0ZWllbiBpbSBEYXRlaXN5c3RlbSwgZGllIGdlbMO2c2NodCB3ZXJkZW4gbcO8c3NlbiwgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDcKIG1zZ2lkICJzaG93ICdvdGhlcicgZGlyZWN0b3JpZXMnIG5hbWVzIG9ubHkiCiBtc2dzdHIgIm51ciBOYW1lbiB2b24gJ3NvbnN0aWdlbicgVmVyemVpY2huaXNzZW4gYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDkKIG1zZ2lkICJzaG93IGxpbmUgZW5kaW5ncyBvZiBmaWxlcyIKIG1zZ3N0ciAiWmVpbGVuZW5kZW4gdm9uIERhdGVpZW4gYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTEKIG1zZ2lkICJkb24ndCBzaG93IGVtcHR5IGRpcmVjdG9yaWVzIgogbXNnc3RyICJrZWluZSBsZWVyZW4gVmVyemVpY2huaXNzZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NAogbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAibmljaHQgenVzYW1tZW5nZWbDvGhydGUgRGF0ZWllbiBpbiBkZXIgQXVzZ2FiZSBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NgogbXNnaWQgInNob3cgcmVzb2x2ZS11bmRvIGluZm9ybWF0aW9uIgogbXNnc3RyICIncmVzb2x2ZS11bmRvJyBJbmZvcm1hdGlvbmVuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU4CiBtc2dpZCAic2tpcCBmaWxlcyBtYXRjaGluZyBwYXR0ZXJuIgogbXNnc3RyICJEYXRlaWVuIGF1c2xhc3NlbiwgZGllIGVpbmVtIE11c3RlciBlbnRzcHJlY2hlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MQogbXNnaWQgImV4Y2x1ZGUgcGF0dGVybnMgYXJlIHJlYWQgZnJvbSA8ZmlsZT4iCiBtc2dzdHIgIk11c3RlciwgZ2VsZXNlbiB2b24gPERhdGVpPiwgYXVzc2NobGllw59lbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NAogbXNnaWQgInJlYWQgYWRkaXRpb25hbCBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgcGF0dGVybnMgaW4gPGZpbGU+IgogbXNnc3RyICJ6dXPDpHR6bGljaGUgcHJvLVZlcnplaWNobmlzIEF1c2NobHVzc211c3RlciBhdXMgPERhdGVpPiBhdXNsZXNlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NgogbXNnaWQgImFkZCB0aGUgc3RhbmRhcmQgZ2l0IGV4Y2x1c2lvbnMiCiBtc2dzdHIgImRpZSBzdGFuZGFyZG3DpMOfaWdlbiBHaXQtQXVzc2NobMO8c3NlIGhpbnp1ZsO8Z2VuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTY5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTcwCiBtc2dpZCAibWFrZSB0aGUgb3V0cHV0IHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgIkF1c2dhYmUgcmVsYXRpdiB6dW0gUHJvamVrdHZlcnplaWNobmlzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTcyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTczCiBtc2dpZCAicmVjdXJzZSB0aHJvdWdoIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIlJla3Vyc2lvbiBpbiBTdWJtb2R1bGVuIGR1cmNoZsO8aHJlbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU3NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU3NQogbXNnaWQgImlmIGFueSA8ZmlsZT4gaXMgbm90IGluIHRoZSBpbmRleCwgdHJlYXQgdGhpcyBhcyBhbiBlcnJvciIKIG1zZ3N0ciAiYWxzIEZlaGxlciBiZWhhbmRlbG4sIHdlbm4gc2ljaCBlaW5lIDxEYXRlaT4gbmljaHQgaW0gSW5kZXggYmVmaW5kZXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzYKIG1zZ2lkICJ0cmVlLWlzaCIKIG1zZ3N0ciAiQ29tbWl0LVJlZmVyZW56IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTc2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc3CiBtc2dpZCAicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIKIG1zZ3N0ciAiIgogInZvcmdlYmVuLCBkYXNzIFBmYWRlLCBkaWUgc2VpdCA8Q29tbWl0LVJlZmVyZW56PiBnZWzDtnNjaHQgd3VyZGVuLCBpbW1lciBub2NoICIKICJ2b3JoYW5kZW4gc2luZCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU3OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU3OQogbXNnaWQgInNob3cgZGVidWdnaW5nIGRhdGEiCiBtc2dzdHIgIkF1c2dhYmVuIHp1ciBGZWhsZXJzdWNoZSBhbnplaWdlbiIKIApAQCAtMTMwMDAsNyArMTU3NjAsNyBAQAogbXNnaWQgImRvIG5vdCBwcmludCByZW1vdGUgVVJMIgogbXNnc3RyICJVUkwgZGVzIFJlbW90ZS1SZXBvc2l0b3JpZXMgbmljaHQgYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjAgYnVpbHRpbi9scy1yZW1vdGUuYzo2MiBidWlsdGluL3JlYmFzZS5jOjkwMworIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MCBidWlsdGluL2xzLXJlbW90ZS5jOjYyIGJ1aWx0aW4vcmViYXNlLmM6MTUxOAogbXNnaWQgImV4ZWMiCiBtc2dzdHIgIlByb2dyYW1tIgogCkBAIC0xMzAyNCwxMyArMTU3ODQsMTMgQEAKIG1zZ2lkICJ0YWtlIHVybC48YmFzZT4uaW5zdGVhZE9mIGludG8gYWNjb3VudCIKIG1zZ3N0ciAidXJsLjxCYXNpcz4uaW5zdGVhZE9mIGJlcsO8Y2tzaWNodGlnZW4iCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzMKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzIKIG1zZ2lkICJleGl0IHdpdGggZXhpdCBjb2RlIDIgaWYgbm8gbWF0Y2hpbmcgcmVmcyBhcmUgZm91bmQiCiBtc2dzdHIgIiIKLSJtaXQgUsO8Y2trZWhyd2VydCAyIGJlZW5kZW4sIHdlbm4ga2VpbmUgw7xiZXJlaW5zdGltbWVuZGVuIFJlZmVyZW56ZW5cbiIKKyJtaXQgRXhpdC1Db2RlIDIgYmVlbmRlbiwgd2VubiBrZWluZSDDvGJlcmVpbnN0aW1tZW5kZW4gUmVmZXJlbnplblxuIgogImdlZnVuZGVuIHd1cmRlbiIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo3NgorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo3NQogbXNnaWQgInNob3cgdW5kZXJseWluZyByZWYgaW4gYWRkaXRpb24gdG8gdGhlIG9iamVjdCBwb2ludGVkIGJ5IGl0IgogbXNnc3RyICJ6dXPDpHR6bGljaCB6dW0gT2JqZWt0IGRpZSBkYXJhdWYgdmVyd2Vpc2VuZGVuIFJlZmVyZW56ZW4gYW56ZWlnZW4iCiAKQEAgLTEzMDc3LDI2NSArMTU4MzcsMjg2IEBACiBtc2dpZCAiZW1wdHkgbWJveDogJyVzJyIKIG1zZ3N0ciAiTGVlcmUgbWJveDogJyVzJyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjUyCisjOiBidWlsdGluL21lcmdlLmM6NTUKIG1zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gWzxjb21taXQ+Li4uXSIKIG1zZ3N0ciAiZ2l0IG1lcmdlIFs8T3B0aW9uZW4+XSBbPENvbW1pdD4uLi5dIgogCi0jOiBidWlsdGluL21lcmdlLmM6NTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1NgogbXNnaWQgImdpdCBtZXJnZSAtLWFib3J0IgogbXNnc3RyICJnaXQgbWVyZ2UgLS1hYm9ydCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjU0CisjOiBidWlsdGluL21lcmdlLmM6NTcKIG1zZ2lkICJnaXQgbWVyZ2UgLS1jb250aW51ZSIKIG1zZ3N0ciAiZ2l0IG1lcmdlIC0tY29udGludWUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTgKIG1zZ2lkICJzd2l0Y2ggYG0nIHJlcXVpcmVzIGEgdmFsdWUiCiBtc2dzdHIgIlNjaGFsdGVyICdtJyBlcmZvcmRlcnQgZWluZW4gV2VydC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNzcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgcmVxdWlyZXMgYSB2YWx1ZSIKK21zZ3N0ciAiT3B0aW9uIGAlcycgZXJmb3JkZXJ0IGVpbmVuIFdlcnQuIgorCisjOiBidWlsdGluL21lcmdlLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIG1lcmdlIHN0cmF0ZWd5ICclcycuXG4iCiBtc2dzdHIgIktvbm50ZSBNZXJnZS1TdHJhdGVnaWUgJyVzJyBuaWNodCBmaW5kZW4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAiVmVyZsO8Z2JhcmUgU3RyYXRlZ2llbiBzaW5kOiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE4MworIzogYnVpbHRpbi9tZXJnZS5jOjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdmFpbGFibGUgY3VzdG9tIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAiVmVyZsO8Z2JhcmUgYmVudXR6ZXJkZWZpbmllcnRlIFN0cmF0ZWdpZW4gc2luZDoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzQgYnVpbHRpbi9wdWxsLmM6MTQzCisjOiBidWlsdGluL21lcmdlLmM6MjQ0IGJ1aWx0aW4vcHVsbC5jOjE1MgogbXNnaWQgImRvIG5vdCBzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgImtlaW5lIFp1c2FtbWVuZmFzc3VuZyBkZXIgVW50ZXJzY2hpZWRlIGFtIFNjaGx1c3MgZGVzIE1lcmdlcyBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzNyBidWlsdGluL3B1bGwuYzoxNDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDcgYnVpbHRpbi9wdWxsLmM6MTU1CiBtc2dpZCAic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJlaW5lIFp1c2FtbWVuZmFzc3VuZyBkZXIgVW50ZXJzY2hpZWRlIGFtIFNjaGx1c3MgZGVzIE1lcmdlcyBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzOCBidWlsdGluL3B1bGwuYzoxNDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDggYnVpbHRpbi9wdWxsLmM6MTU4CiBtc2dpZCAiKHN5bm9ueW0gdG8gLS1zdGF0KSIKIG1zZ3N0ciAiKFN5bm9ueW0gZsO8ciAtLXN0YXQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQwIGJ1aWx0aW4vcHVsbC5jOjE1MgorIzogYnVpbHRpbi9tZXJnZS5jOjI1MCBidWlsdGluL3B1bGwuYzoxNjEKIG1zZ2lkICJhZGQgKGF0IG1vc3QgPG4+KSBlbnRyaWVzIGZyb20gc2hvcnRsb2cgdG8gbWVyZ2UgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIiIKICIoaMO2Y2hzdGVucyA8bj4pIEVpbnRyw6RnZSB2b24gXCJzaG9ydGxvZ1wiIHp1ciBCZXNjaHJlaWJ1bmcgZGVzIE1lcmdlLUNvbW1pdHMgIgogImhpbnp1ZsO8Z2VuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQzIGJ1aWx0aW4vcHVsbC5jOjE1OAorIzogYnVpbHRpbi9tZXJnZS5jOjI1MyBidWlsdGluL3B1bGwuYzoxNjcKIG1zZ2lkICJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIKIG1zZ3N0ciAiZWluZW4gZWluemVsbmVuIENvbW1pdCBhbnN0YXR0IGVpbmVzIE1lcmdlcyBlcnpldWdlbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI0NSBidWlsdGluL3B1bGwuYzoxNjEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTUgYnVpbHRpbi9wdWxsLmM6MTcwCiBtc2dpZCAicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIgogbXNnc3RyICJlaW5lbiBDb21taXQgZHVyY2hmw7xocmVuLCB3ZW5uIGRlciBNZXJnZSBlcmZvbGdyZWljaCB3YXIgKFN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI0NyBidWlsdGluL3B1bGwuYzoxNjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTcgYnVpbHRpbi9wdWxsLmM6MTczCiBtc2dpZCAiZWRpdCBtZXNzYWdlIGJlZm9yZSBjb21taXR0aW5nIgogbXNnc3RyICJCZWFyYmVpdHVuZyBkZXIgQmVzY2hyZWlidW5nIHZvciBkZW0gQ29tbWl0IgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQ4CisjOiBidWlsdGluL21lcmdlLmM6MjU5CiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIKIG1zZ3N0ciAiVm9yc3B1bGVuIGVybGF1YmVuIChTdGFuZGFyZCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTAgYnVpbHRpbi9wdWxsLmM6MTcwCisjOiBidWlsdGluL21lcmdlLmM6MjYxIGJ1aWx0aW4vcHVsbC5jOjE4MAogbXNnaWQgImFib3J0IGlmIGZhc3QtZm9yd2FyZCBpcyBub3QgcG9zc2libGUiCiBtc2dzdHIgImFiYnJlY2hlbiwgd2VubiBrZWluIFZvcnNwdWxlbiBtw7ZnbGljaCBpc3QiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTQgYnVpbHRpbi9wdWxsLmM6MTczCisjOiBidWlsdGluL21lcmdlLmM6MjY1IGJ1aWx0aW4vcHVsbC5jOjE4MwogbXNnaWQgInZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKIG1zZ3N0ciAiZGVuIGdlbmFubnRlbiBDb21taXQgYXVmIGVpbmUgZ8O8bHRpZ2UgR1BHLVNpZ25hdHVyIMO8YmVycHLDvGZlbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NSBidWlsdGluL25vdGVzLmM6Nzg0IGJ1aWx0aW4vcHVsbC5jOjE3NwotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTYgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg2IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEwCisjOiBidWlsdGluL21lcmdlLmM6MjY2IGJ1aWx0aW4vbm90ZXMuYzo3ODcgYnVpbHRpbi9wdWxsLmM6MTg3CisjOiBidWlsdGluL3JlYmFzZS5jOjUxMiBidWlsdGluL3JlYmFzZS5jOjE1MzEgYnVpbHRpbi9yZXZlcnQuYzoxMTQKIG1zZ2lkICJzdHJhdGVneSIKIG1zZ3N0ciAiU3RyYXRlZ2llIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU2IGJ1aWx0aW4vcHVsbC5jOjE3OAorIzogYnVpbHRpbi9tZXJnZS5jOjI2NyBidWlsdGluL3B1bGwuYzoxODgKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSB0byB1c2UiCiBtc2dzdHIgInp1IHZlcndlbmRlbmRlIE1lcmdlLVN0cmF0ZWdpZSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NyBidWlsdGluL3B1bGwuYzoxODEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjggYnVpbHRpbi9wdWxsLmM6MTkxCiBtc2dpZCAib3B0aW9uPXZhbHVlIgogbXNnc3RyICJPcHRpb249V2VydCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1OCBidWlsdGluL3B1bGwuYzoxODIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjkgYnVpbHRpbi9wdWxsLmM6MTkyCiBtc2dpZCAib3B0aW9uIGZvciBzZWxlY3RlZCBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAiT3B0aW9uIGbDvHIgYXVzZ2V3w6RobHRlIE1lcmdlLVN0cmF0ZWdpZSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2MAorIzogYnVpbHRpbi9tZXJnZS5jOjI3MQogbXNnaWQgIm1lcmdlIGNvbW1pdCBtZXNzYWdlIChmb3IgYSBub24tZmFzdC1mb3J3YXJkIG1lcmdlKSIKIG1zZ3N0ciAiIgogIkNvbW1pdC1CZXNjaHJlaWJ1bmcgenVzYW1tZW5mw7xocmVuIChmw7xyIGVpbmVuIE1lcmdlLCBkZXIga2VpbiBWb3JzcHVsZW4gd2FyKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2NworIzogYnVpbHRpbi9tZXJnZS5jOjI3OAogbXNnaWQgImFib3J0IHRoZSBjdXJyZW50IGluLXByb2dyZXNzIG1lcmdlIgogbXNnc3RyICJkZW4gc2ljaCBpbSBHYW5nZSBiZWZpbmRsaWNoZW4gTWVyZ2UgYWJicmVjaGVuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjY5CisjOiBidWlsdGluL21lcmdlLmM6MjgwCittc2dpZCAiLS1hYm9ydCBidXQgbGVhdmUgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSBhbG9uZSIKK21zZ3N0ciAiLS1hYm9ydCwgYWJlciBJbmRleCB1bmQgQXJiZWl0c3ZlcnplaWNobmlzIHVudmVyw6RuZGVydCBsYXNzZW4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODIKIG1zZ2lkICJjb250aW51ZSB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiZGVuIHNpY2ggaW0gR2FuZ2UgYmVmaW5kbGljaGVuIE1lcmdlIGZvcnRzZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzEgYnVpbHRpbi9wdWxsLmM6MTg5CisjOiBidWlsdGluL21lcmdlLmM6Mjg0IGJ1aWx0aW4vcHVsbC5jOjE5OQogbXNnaWQgImFsbG93IG1lcmdpbmcgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAiZXJsYXViZSBkYXMgWnVzYW1tZW5mw7xocmVuIHZvbiBuaWNodCB6dXNhbW1lbmjDpG5nZW5kZW4gSGlzdG9yaWVuIgogCi0jOiBidWlsdGluL21lcmdlLmM6Mjc3Ci1tc2dpZCAidmVyaWZ5IGNvbW1pdC1tc2cgaG9vayIKLW1zZ3N0ciAiY29tbWl0LW1zZyBIb29rIMO8YmVycHLDvGZlbiIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyOTAKK21zZ2lkICJieXBhc3MgcHJlLW1lcmdlLWNvbW1pdCBhbmQgY29tbWl0LW1zZyBob29rcyIKK21zZ3N0ciAiSG9va3MgcHJlLW1lcmdlLWNvbW1pdCB1bmQgY29tbWl0LW1zZyB1bWdlaGVuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzAyCisjOiBidWlsdGluL21lcmdlLmM6MzA3CiBtc2dpZCAiY291bGQgbm90IHJ1biBzdGFzaC4iCiBtc2dzdHIgIktvbm50ZSBcInN0YXNoXCIgbmljaHQgYXVzZsO8aHJlbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozMDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMTIKIG1zZ2lkICJzdGFzaCBmYWlsZWQiCiBtc2dzdHIgIlwic3Rhc2hcIiBmZWhsZ2VzY2hsYWdlbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjMxMgorIzogYnVpbHRpbi9tZXJnZS5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSB2YWxpZCBvYmplY3Q6ICVzIgogbXNnc3RyICJrZWluIGfDvGx0aWdlcyBPYmpla3Q6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzM0IGJ1aWx0aW4vbWVyZ2UuYzozNTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMzkgYnVpbHRpbi9tZXJnZS5jOjM1NgogbXNnaWQgInJlYWQtdHJlZSBmYWlsZWQiCiBtc2dzdHIgInJlYWQtdHJlZSBmZWhsZ2VzY2hsYWdlbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM4MQorIzogYnVpbHRpbi9tZXJnZS5jOjM4NgogbXNnaWQgIiAobm90aGluZyB0byBzcXVhc2gpIgogbXNnc3RyICIgKG5pY2h0cyB6dSBxdWV0c2NoZW4pIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzkyCisjOiBidWlsdGluL21lcmdlLmM6Mzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNxdWFzaCBjb21taXQgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKIG1zZ3N0ciAiUXVldHNjaGUgQ29tbWl0IC0tIEhFQUQgd2lyZCBuaWNodCBha3R1YWxpc2llcnRcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ0MgorIzogYnVpbHRpbi9tZXJnZS5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBtZXNzYWdlIC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgIktlaW5lIE1lcmdlLUNvbW1pdC1CZXNjaHJlaWJ1bmcgLS0gSEVBRCB3aXJkIG5pY2h0IGFrdHVhbGlzaWVydFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDkzCisjOiBidWlsdGluL21lcmdlLmM6NDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCiBtc2dzdHIgIiclcycgemVpZ3QgYXVmIGtlaW5lbiBDb21taXQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1ODAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAiVW5nw7xsdGlnZXIgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyBTdHJpbmc6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzAxCisjOiBidWlsdGluL21lcmdlLmM6NzA1CiBtc2dpZCAiTm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKIG1zZ3N0ciAiRXMgd2lyZCBudXIgZGVyIE1lcmdlIHZvbiB6d2VpIEJyYW5jaGVzIGJlaGFuZGVsdC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3MTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBvcHRpb24gZm9yIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIG1zZ3N0ciAiVW5iZWthbm50ZSBPcHRpb24gZsO8ciBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3MzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgogbXNnc3RyICJrb25udGUgJXMgbmljaHQgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzgyCisjOiBidWlsdGluL21lcmdlLmM6Nzg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIGZyb20gJyVzJyIKIG1zZ3N0ciAia29ubnRlIG5pY2h0IHZvbiAnJXMnIGxlc2VuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzkxCisjOiBidWlsdGluL21lcmdlLmM6Nzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBjb21taXR0aW5nIG1lcmdlOyB1c2UgJ2dpdCBjb21taXQnIHRvIGNvbXBsZXRlIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiIgogIk1lcmdlIHd1cmRlIG5pY2h0IGNvbW1pdHRldDsgYmVudXR6ZW4gU2llICdnaXQgY29tbWl0JywgdW0gZGVuIE1lcmdlICIKICJhYnp1c2NobGllw59lbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc5NwotIywgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDEKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIGEgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB3aHkgdGhpcyBtZXJnZSBpcyBuZWNlc3NhcnksXG4iCiAiZXNwZWNpYWxseSBpZiBpdCBtZXJnZXMgYW4gdXBkYXRlZCB1cHN0cmVhbSBpbnRvIGEgdG9waWMgYnJhbmNoLlxuIgogIlxuIgotIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQsIGFuZCBhbiBlbXB0eSBtZXNzYWdlIGFib3J0c1xuIgotInRoZSBjb21taXQuXG4iCiBtc2dzdHIgIiIKICJCaXR0ZSBnZWJlbiBTaWUgZWluZSBDb21taXQtQmVzY2hyZWlidW5nIGVpbiwgdW0genUgZXJrbMOkcmVuLCB3YXJ1bSBkaWVzZXJcbiIKICJNZXJnZSBlcmZvcmRlcmxpY2ggaXN0LCBpbnNiZXNvbmRlcmUgd2VubiBlcyBlaW5lbiBha3R1YWxpc2llcnRlblxuIgogIlVwc3RyZWFtLUJyYW5jaCBtaXQgZWluZW0gVGhlbWEtQnJhbmNoIHp1c2FtbWVuZsO8aHJ0LlxuIgogIlxuIgotIlplaWxlbiBiZWdpbm5lbmQgbWl0ICclYycgd2VyZGVuIGlnbm9yaWVydCwgdW5kIGVpbmUgbGVlcmUgQmVzY2hyZWlidW5nXG4iCi0iYnJpY2h0IGRlbiBDb21taXQgYWIuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MzMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDYKK21zZ2lkICJBbiBlbXB0eSBtZXNzYWdlIGFib3J0cyB0aGUgY29tbWl0LlxuIgorbXNnc3RyICJFaW5lIGxlZXJlIENvbW1pdC1CZXNjaHJlaWJ1bmcgYnJpY2h0IGRlbiBDb21taXQgYWIuXG4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQsIGFuZCBhbiBlbXB0eSBtZXNzYWdlIGFib3J0c1xuIgorInRoZSBjb21taXQuXG4iCittc2dzdHIgIiIKKyJaZWlsZW4sIGRpZSBtaXQgJyVjJyBiZWdpbm5lbiwgd2VyZGVuIGlnbm9yaWVydCxcbiIKKyJ1bmQgZWluZSBsZWVyZSBCZXNjaHJlaWJ1bmcgYnJpY2h0IGRlbiBDb21taXQgYWIuXG4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NjIKIG1zZ2lkICJFbXB0eSBjb21taXQgbWVzc2FnZS4iCiBtc2dzdHIgIkxlZXJlIENvbW1pdC1CZXNjaHJlaWJ1bmciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiV29uZGVyZnVsLlxuIgogbXNnc3RyICJXdW5kZXJiYXIuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIGZhaWxlZDsgZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBjb21taXQgdGhlIHJlc3VsdC5cbiIKIG1zZ3N0ciAiIgogIkF1dG9tYXRpc2NoZXIgTWVyZ2UgZmVobGdlc2NobGFnZW47IGJlaGViZW4gU2llIGRpZSBLb25mbGlrdGUgdW5kIGNvbW1pdHRlbiAiCiAiU2llIGRhbm4gZGFzIEVyZ2VibmlzLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTQ0CisjOiBidWlsdGluL21lcmdlLmM6OTc3CiBtc2dpZCAiTm8gY3VycmVudCBicmFuY2guIgogbXNnc3RyICJTaWUgYmVmaW5kZW4gc2ljaCBhdWYga2VpbmVtIEJyYW5jaC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzkKIG1zZ2lkICJObyByZW1vdGUgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIktlaW4gUmVtb3RlLVJlcG9zaXRvcnkgZsO8ciBkZW4gYWt0dWVsbGVuIEJyYW5jaC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5ODEKIG1zZ2lkICJObyBkZWZhdWx0IHVwc3RyZWFtIGRlZmluZWQgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIiIKICJFcyBpc3Qga2VpbiBTdGFuZGFyZC1VcHN0cmVhbS1CcmFuY2ggZsO8ciBkZW4gYWt0dWVsbGVuIEJyYW5jaCBkZWZpbmllcnQuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTUzCisjOiBidWlsdGluL21lcmdlLmM6OTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHJlbW90ZS10cmFja2luZyBicmFuY2ggZm9yICVzIGZyb20gJXMiCiBtc2dzdHIgIktlaW4gUmVtb3RlLVRyYWNraW5nLUJyYW5jaCBmw7xyICVzIHZvbiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwMTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCB2YWx1ZSAnJXMnIGluIGVudmlyb25tZW50ICclcyciCiBtc2dzdHIgIkZlaGxlcmhhZnRlciBXZXJ0ICclcycgaW4gVW1nZWJ1bmdzdmFyaWFibGUgJyVzJyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExMTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIGluICVzOiAlcyIKIG1zZ3N0ciAibmljaHRzIHdhcyB3aXIgaW4gJXMgenVzYW1tZW5mw7xocmVuIGvDtm5uZW46ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE0NworIzogYnVpbHRpbi9tZXJnZS5jOjExODAKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKIG1zZ3N0ciAibmljaHRzIHdhcyB3aXIgenVzYW1tZW5mw7xocmVuIGvDtm5uZW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjUwCisjOiBidWlsdGluL21lcmdlLmM6MTI4MwogbXNnaWQgIi0tYWJvcnQgZXhwZWN0cyBubyBhcmd1bWVudHMiCiBtc2dzdHIgIi0tYWJvcnQgYWt6ZXB0aWVydCBrZWluZSBBcmd1bWVudGUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjU0CisjOiBidWlsdGluL21lcmdlLmM6MTI4NwogbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIHRvIGFib3J0IChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKIG1zZ3N0ciAiRXMgZ2lidCBrZWluZW4gTWVyZ2UgYWJ6dWJyZWNoZW4gKE1FUkdFX0hFQUQgZmVobHQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI2NgorIzogYnVpbHRpbi9tZXJnZS5jOjEyOTYKK21zZ2lkICItLXF1aXQgZXhwZWN0cyBubyBhcmd1bWVudHMiCittc2dzdHIgIi0tcXVpdCBlcndhcnRldCBrZWluZSBBcmd1bWVudGUiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzA5CiBtc2dpZCAiLS1jb250aW51ZSBleHBlY3RzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiLS1jb250aW51ZSBlcndhcnRldCBrZWluZSBBcmd1bWVudGUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjcwCisjOiBidWlsdGluL21lcmdlLmM6MTMxMwogbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIGluIHByb2dyZXNzIChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKIG1zZ3N0ciAiRXMgaXN0IGtlaW4gTWVyZ2UgaW0gR2FuZ2UgKE1FUkdFX0hFQUQgZmVobHQpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyODYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzI5CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKQEAgLTEzMzQzLDcgKzE2MTI0LDcgQEAKICJTaWUgaGFiZW4gSWhyZW4gTWVyZ2UgbmljaHQgYWJnZXNjaGxvc3NlbiAoTUVSR0VfSEVBRCBleGlzdGllcnQpLlxuIgogIkJpdHRlIGNvbW1pdHRlbiBTaWUgSWhyZSDDhG5kZXJ1bmdlbiwgYmV2b3IgU2llIGRlbiBNZXJnZSBhdXNmw7xocmVuLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyOTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzM2CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKQEAgLTEzMzUxLDk2ICsxNjEzMiwxMDAgQEAKICJTaWUgaGFiZW4gXCJjaGVycnktcGlja1wiIG5pY2h0IGFiZ2VzY2hsb3NzZW4gKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RpZXJ0KS5cbiIKICJCaXR0ZSBjb21taXR0ZW4gU2llIElocmUgw4RuZGVydW5nZW4sIGJldm9yIFNpZSBkZW4gTWVyZ2UgYXVzZsO8aHJlbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk2CisjOiBidWlsdGluL21lcmdlLmM6MTMzOQogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiIgogIlNpZSBoYWJlbiBcImNoZXJyeS1waWNrXCIgbmljaHQgYWJnZXNjaGxvc3NlbiAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdGllcnQpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzUzCiBtc2dpZCAiWW91IGNhbm5vdCBjb21iaW5lIC0tc3F1YXNoIHdpdGggLS1uby1mZi4iCiBtc2dzdHIgIlNpZSBrw7ZubmVuIC0tc3F1YXNoIG5pY2h0IG1pdCAtLW5vLWZmIGtvbWJpbmllcmVuLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzU1Cittc2dpZCAiWW91IGNhbm5vdCBjb21iaW5lIC0tc3F1YXNoIHdpdGggLS1jb21taXQuIgorbXNnc3RyICJTaWUga8O2bm5lbiAtLXNxdWFzaCBuaWNodCBtaXQgLS1jb21taXQga29tYmluaWVyZW4uIgorCisjOiBidWlsdGluL21lcmdlLmM6MTM3MQogbXNnaWQgIk5vIGNvbW1pdCBzcGVjaWZpZWQgYW5kIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIG5vdCBzZXQuIgogbXNnc3RyICJLZWluIENvbW1pdCBhbmdlZ2ViZW4gdW5kIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIGlzdCBuaWNodCBnZXNldHp0LiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzg4CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQgbm90IHN1cHBvcnRlZCB5ZXQiCiBtc2dzdHIgIiIKICJCaW4gYXVmIGVpbmVtIENvbW1pdCwgZGVyIG5vY2ggZ2Vib3JlbiB3aXJkOyBrYW5uIFwic3F1YXNoXCIgbmljaHQgYXVzZsO8aHJlbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzMyCisjOiBidWlsdGluL21lcmdlLmM6MTM5MAogbXNnaWQgIk5vbi1mYXN0LWZvcndhcmQgY29tbWl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW50byBhbiBlbXB0eSBoZWFkIgogbXNnc3RyICIiCiAiTmljaHQgdm9yenVzcHVsZW5kZXIgQ29tbWl0IGthbm4gbmljaHQgaW4gZWluZW0gbGVlcmVuIEJyYW5jaCB2ZXJ3ZW5kZXQgIgogIndlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzM3CisjOiBidWlsdGluL21lcmdlLmM6MTM5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICIlcyAtIG5pY2h0cyB3YXMgd2lyIHp1c2FtbWVuZsO8aHJlbiBrw7ZubmVuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMzOQorIzogYnVpbHRpbi9tZXJnZS5jOjEzOTcKIG1zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICJLYW5uIG51ciBleGFrdCBlaW5lbiBDb21taXQgaW4gZWluZW0gbGVlcmVuIEJyYW5jaCB6dXNhbW1lbmbDvGhyZW4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQyMQorIzogYnVpbHRpbi9tZXJnZS5jOjE0NzYKIG1zZ2lkICJyZWZ1c2luZyB0byBtZXJnZSB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICJWZXJ3ZWlnZXJlIGRlbiBNZXJnZSB2b24gbmljaHQgenVzYW1tZW5ow6RuZ2VuZGVuIEhpc3Rvcmllbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDMwCisjOiBidWlsdGluL21lcmdlLmM6MTQ4NQogbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgIkJlcmVpdHMgYWt0dWVsbC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDQwCisjOiBidWlsdGluL21lcmdlLmM6MTQ5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGluZyAlcy4uJXNcbiIKIG1zZ3N0ciAiQWt0dWFsaXNpZXJlICVzLi4lc1xuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ4MgorIzogYnVpbHRpbi9tZXJnZS5jOjE1MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIHJlYWxseSB0cml2aWFsIGluLWluZGV4IG1lcmdlLi4uXG4iCiBtc2dzdHIgIlByb2JpZXJlIHdpcmtsaWNoIHRyaXZpYWxlbiBcImluLWluZGV4XCItTWVyZ2UgLi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDg5CisjOiBidWlsdGluL21lcmdlLmM6MTU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3BlLlxuIgogbXNnc3RyICJOZWluLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUxNAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NjkKIG1zZ2lkICJBbHJlYWR5IHVwIHRvIGRhdGUuIFllZWFoISIKIG1zZ3N0ciAiQmVyZWl0cyBha3R1ZWxsLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MjAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTc1CiBtc2dpZCAiTm90IHBvc3NpYmxlIHRvIGZhc3QtZm9yd2FyZCwgYWJvcnRpbmcuIgogbXNnc3RyICJWb3JzcHVsZW4gbmljaHQgbcO2Z2xpY2gsIGJyZWNoZSBhYi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQzIGJ1aWx0aW4vbWVyZ2UuYzoxNjIyCisjOiBidWlsdGluL21lcmdlLmM6MTU5OCBidWlsdGluL21lcmdlLmM6MTY2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXdpbmRpbmcgdGhlIHRyZWUgdG8gcHJpc3RpbmUuLi5cbiIKIG1zZ3N0ciAiUsO8Y2tsYXVmIGRlcyBWZXJ6ZWljaG5pc3NlcyBiaXMgenVtIFVyc3BydW5nIC4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU0NworIzogYnVpbHRpbi9tZXJnZS5jOjE2MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIG1lcmdlIHN0cmF0ZWd5ICVzLi4uXG4iCiBtc2dzdHIgIlByb2JpZXJlIE1lcmdlLVN0cmF0ZWdpZSAlcyAuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIHN0cmF0ZWd5IGhhbmRsZWQgdGhlIG1lcmdlLlxuIgogbXNnc3RyICJLZWluZSBNZXJnZS1TdHJhdGVnaWUgYmVoYW5kZWx0IGRpZXNlbiBNZXJnZS5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1lcmdlIHdpdGggc3RyYXRlZ3kgJXMgZmFpbGVkLlxuIgogbXNnc3RyICJNZXJnZSBtaXQgU3RyYXRlZ2llICVzIGZlaGxnZXNjaGxhZ2VuLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYyNAorIzogYnVpbHRpbi9tZXJnZS5jOjE2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNpbmcgdGhlICVzIHRvIHByZXBhcmUgcmVzb2x2aW5nIGJ5IGhhbmQuXG4iCiBtc2dzdHIgIkJlbnV0emVuIFNpZSBcIiVzXCIsIHVtIGRpZSBBdWZsw7ZzdW5nIHBlciBIYW5kIHZvcnp1YmVyZWl0ZW4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjM2CisjOiBidWlsdGluL21lcmdlLmM6MTY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgogbXNnc3RyICIiCkBAIC0xMzUyNiwzMyArMTYzMTEsMzMgQEAKIG1zZ2lkICJzZXQgbGFiZWxzIGZvciBmaWxlMS9vcmlnLWZpbGUvZmlsZTIiCiBtc2dzdHIgIkJlc2NocmlmdHVuZyBmw7xyIERhdGVpMS9vcmlnLURhdGVpL0RhdGVpMiBzZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NDUKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb24gJXMiCiBtc2dzdHIgInVuYmVrYW5udGUgT3B0aW9uOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1MQorIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgIktvbm50ZSBPYmpla3QgJyVzJyBuaWNodCBwYXJzZW4uIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjU1CisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2UuIElnbm9yaW5nICVzLiIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgYmFzZXMuIElnbm9yaW5nICVzLiIKIG1zZ3N0clswXSAia2FubiBuaWNodCBtaXQgbWVociBhbHMgJWQgTWVyZ2UtQmFzaXMgdW1nZWhlbi4gSWdub3JpZXJlICVzLiIKIG1zZ3N0clsxXSAia2FubiBuaWNodCBtaXQgbWVociBhbHMgJWQgTWVyZ2UtQmFzZW4gdW1nZWhlbi4gSWdub3JpZXJlICVzLiIKIAotIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2MworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2NQogbXNnaWQgIm5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCiBtc2dzdHIgIkVzIHdpcmQgbnVyIGRlciBNZXJnZSB2b24gendlaSBCcmFuY2hlcyBiZWhhbmRlbHQuIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjY5IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzEKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzQgYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSByZWYgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIFJlZmVyZW56ICclcycgbmljaHQgYXVmbMO2c2VuIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjc3CisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1lcmdpbmcgJXMgd2l0aCAlc1xuIgogbXNnc3RyICJGw7xocmUgJXMgbWl0ICVzIHp1c2FtbWVuXG4iCkBAIC0xMzU2NSw3ICsxNjM1MCw3IEBACiBtc2dpZCAiaW5wdXQgaXMgTlVMIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIkVpbmdhYmUgaXN0IGR1cmNoIE5VTC1aZWljaGVuIGFiZ2VzY2hsb3NzZW4iCiAKLSM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU1IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI1CisjOiBidWlsdGluL21rdHJlZS5jOjE1NSBidWlsdGluL3dyaXRlLXRyZWUuYzoyNgogbXNnaWQgImFsbG93IG1pc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAiZmVobGVuZGUgT2JqZWt0ZSBlcmxhdWJlbiIKIApAQCAtMTM1NzMsMTU5ICsxNjM1OCwxNzYgQEAKIG1zZ2lkICJhbGxvdyBjcmVhdGlvbiBvZiBtb3JlIHRoYW4gb25lIHRyZWUiCiBtc2dzdHIgImRpZSBFcnN0ZWxsdW5nIHZvbiBtZWhyIGFscyBlaW5lbSBcIlRyZWVcIi1PYmpla3QgZXJsYXViZW4iCiAKLSM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjgKLW1zZ2lkICJnaXQgbXVsdGktcGFjay1pbmRleCBbLS1vYmplY3QtZGlyPTxkaXI+XSAod3JpdGV8dmVyaWZ5KSIKLW1zZ3N0ciAiZ2l0IG11bHRpLXBhY2staW5kZXggWy0tb2JqZWN0LWRpcj08VmVyemVpY2huaXM+XSAod3JpdGV8dmVyaWZ5KSIKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjkKK21zZ2lkICIiCisiZ2l0IG11bHRpLXBhY2staW5kZXggWzxvcHRpb25zPl0gKHdyaXRlfHZlcmlmeXxleHBpcmV8cmVwYWNrIC0tYmF0Y2gtIgorInNpemU9PHNpemU+KSIKK21zZ3N0ciAiIgorImdpdCBtdWx0aS1wYWNrLWluZGV4IFs8T3B0aW9uZW4+XSAod3JpdGV8dmVyaWZ5fGV4cGlyZXxyZXBhY2sgLS1iYXRjaC0iCisic2l6ZT08R3LDtsOfZT4pIgogCi0jOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzoyMQorIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MjYKIG1zZ2lkICJvYmplY3QgZGlyZWN0b3J5IGNvbnRhaW5pbmcgc2V0IG9mIHBhY2tmaWxlIGFuZCBwYWNrLWluZGV4IHBhaXJzIgotbXNnc3RyICJPYmpla3QtVmVyemVpY2huaXMsIHdlbGNoZXMgUGFhcmUgdm9uIFBhY2tkYXRlaWVuIHVuZCBwYWNrLWluZGV4IGVudGjDpGx0IgorbXNnc3RyICIiCisiT2JqZWt0LVZlcnplaWNobmlzLCB3ZWxjaGVzIFBhYXJlIHZvbiBQYWNrZGF0ZWllbiB1bmQgcGFjay1pbmRleCBlbnRow6RsdCIKIAotIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MzkKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjI5Cittc2dpZCAiIgorImR1cmluZyByZXBhY2ssIGNvbGxlY3QgcGFjay1maWxlcyBvZiBzbWFsbGVyIHNpemUgaW50byBhIGJhdGNoIHRoYXQgaXMgIgorImxhcmdlciB0aGFuIHRoaXMgc2l6ZSIKK21zZ3N0ciAiIgorIlfDpGhyZW5kIGRlcyBVbXBhY2tlbnMsIHNhbW1sZSBQYWtldC1EYXRlaWVuIHZvbiBnZXJpbmdlcmVyIEdyw7bDn2UgaW4gIgorImVpbmVuU3RhcGVsLCB3ZWxjaGVyIGdyw7bDn2VyIGlzdCBhbHMgZGllc2UgR3LDtsOfZSIKKworIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6NTAgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo2NwogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAiWnUgdmllbGUgQXJndW1lbnRlLiIKIAotIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6NDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIHZlcmI6ICVzIgotbXNnc3RyICJOaWNodCBlcmthbm50ZXMgVmVyYjogJXMiCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo2MAorbXNnaWQgIi0tYmF0Y2gtc2l6ZSBvcHRpb24gaXMgb25seSBmb3IgJ3JlcGFjaycgc3ViY29tbWFuZCIKK21zZ3N0ciAiT3B0aW9uIC0tYmF0Y2gtc2l6ZSBpc3QgbnVyIGbDvHIgZGVuIFVudGVyYmVmZWhsICdyZXBhY2snIgogCi0jOiBidWlsdGluL212LmM6MTcKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdWJjb21tYW5kOiAlcyIKK21zZ3N0ciAiTmljaHQgZXJrYW5udGVyIFVudGVyYmVmZWhsOiAlcyIKKworIzogYnVpbHRpbi9tdi5jOjE4CiBtc2dpZCAiZ2l0IG12IFs8b3B0aW9ucz5dIDxzb3VyY2U+Li4uIDxkZXN0aW5hdGlvbj4iCiBtc2dzdHIgImdpdCBtdiBbPE9wdGlvbmVuPl0gPFF1ZWxsZT4uLi4gPFppZWw+IgogCi0jOiBidWlsdGluL212LmM6ODIKKyM6IGJ1aWx0aW4vbXYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCiBtc2dzdHIgIlZlcnplaWNobmlzICVzIGlzdCB6dW0gQ29tbWl0IHZvcmdlbWVya3QgdW5kIGtlaW4gU3VibW9kdWw/IgogCi0jOiBidWlsdGluL212LmM6ODQKKyM6IGJ1aWx0aW4vbXYuYzo4NQogbXNnaWQgIlBsZWFzZSBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgogbXNnc3RyICIiCiAiQml0dGUgbWVya2VuIFNpZSBJaHJlIMOEbmRlcnVuZ2VuIGluIC5naXRtb2R1bGVzIHp1bSBDb21taXQgdm9yIG9kZXIgIgogImJlbnV0emVuXG4iCiAiU2llIFwic3Rhc2hcIiwgdW0gZm9ydHp1ZmFocmVuLiIKIAotIzogYnVpbHRpbi9tdi5jOjEwMgorIzogYnVpbHRpbi9tdi5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlLipzIGlzIGluIGluZGV4IgogbXNnc3RyICIlLipzIGlzdCB6dW0gQ29tbWl0IHZvcmdlbWVya3QiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMjQKKyM6IGJ1aWx0aW4vbXYuYzoxMjUKIG1zZ2lkICJmb3JjZSBtb3ZlL3JlbmFtZSBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgIlZlcnNjaGllYmVuL1VtYmVuZW5uZW4gZXJ6d2luZ2VuLCBhdWNoIHdlbm4gZGFzIFppZWwgZXhpc3RpZXJ0IgogCi0jOiBidWlsdGluL212LmM6MTI2CisjOiBidWlsdGluL212LmM6MTI3CiBtc2dpZCAic2tpcCBtb3ZlL3JlbmFtZSBlcnJvcnMiCiBtc2dzdHIgIkZlaGxlciBiZWltIFZlcnNjaGllYmVuIG9kZXIgVW1iZW5lbm5lbiDDvGJlcnNwcmluZ2VuIgogCi0jOiBidWlsdGluL212LmM6MTY4CisjOiBidWlsdGluL212LmM6MTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uICclcycgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICJaaWVsICclcycgaXN0IGtlaW4gVmVyemVpY2huaXMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzkKKyM6IGJ1aWx0aW4vbXYuYzoxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICJQcsO8ZmUgVW1iZW5lbm51bmcgdm9uICclcycgbmFjaCAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODMKKyM6IGJ1aWx0aW4vbXYuYzoxODQKIG1zZ2lkICJiYWQgc291cmNlIgogbXNnc3RyICJ1bmfDvGx0aWdlIFF1ZWxsZSIKIAotIzogYnVpbHRpbi9tdi5jOjE4NgorIzogYnVpbHRpbi9tdi5jOjE4NwogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCiBtc2dzdHIgImthbm4gVmVyemVpY2huaXMgbmljaHQgaW4gc2ljaCBzZWxic3QgdmVyc2NoaWViZW4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODkKKyM6IGJ1aWx0aW4vbXYuYzoxOTAKIG1zZ2lkICJjYW5ub3QgbW92ZSBkaXJlY3Rvcnkgb3ZlciBmaWxlIgogbXNnc3RyICJrYW5uIFZlcnplaWNobmlzIG5pY2h0IMO8YmVyIERhdGVpIHZlcnNjaGllYmVuIgogCi0jOiBidWlsdGluL212LmM6MTk4CisjOiBidWlsdGluL212LmM6MTk5CiBtc2dpZCAic291cmNlIGRpcmVjdG9yeSBpcyBlbXB0eSIKIG1zZ3N0ciAiUXVlbGx2ZXJ6ZWljaG5pcyBpc3QgbGVlciIKIAotIzogYnVpbHRpbi9tdi5jOjIyMworIzogYnVpbHRpbi9tdi5jOjIyNAogbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCiBtc2dzdHIgIm5pY2h0IHVudGVyIFZlcnNpb25za29udHJvbGxlIgogCi0jOiBidWlsdGluL212LmM6MjI2CisjOiBidWlsdGluL212LmM6MjI3CiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICJaaWVsIGV4aXN0aWVydCBiZXJlaXRzIgogCi0jOiBidWlsdGluL212LmM6MjM0CisjOiBidWlsdGluL212LmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgIsO8YmVyc2NocmVpYmUgJyVzJyIKIAotIzogYnVpbHRpbi9tdi5jOjIzNworIzogYnVpbHRpbi9tdi5jOjIzOAogbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCiBtc2dzdHIgIkthbm4gbmljaHQgw7xiZXJzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNDAKKyM6IGJ1aWx0aW4vbXYuYzoyNDEKIG1zZ2lkICJtdWx0aXBsZSBzb3VyY2VzIGZvciB0aGUgc2FtZSB0YXJnZXQiCiBtc2dzdHIgIm1laHJlcmUgUXVlbGxlbiBmw7xyIGRhc3NlbGJlIFppZWwiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNDIKKyM6IGJ1aWx0aW4vbXYuYzoyNDMKIG1zZ2lkICJkZXN0aW5hdGlvbiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIlppZWx2ZXJ6ZWljaG5pcyBleGlzdGllcnQgbmljaHQiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNDkKKyM6IGJ1aWx0aW4vbXYuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsIHNvdXJjZT0lcywgZGVzdGluYXRpb249JXMiCiBtc2dzdHIgIiVzLCBRdWVsbGU9JXMsIFppZWw9JXMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNzAKKyM6IGJ1aWx0aW4vbXYuYzoyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKIG1zZ3N0ciAiQmVuZW5uZSAlcyBuYWNoICVzIHVtXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNzYgYnVpbHRpbi9yZW1vdGUuYzo3MTcgYnVpbHRpbi9yZXBhY2suYzo1MTEKKyM6IGJ1aWx0aW4vbXYuYzoyNzcgYnVpbHRpbi9yZW1vdGUuYzo3MTYgYnVpbHRpbi9yZXBhY2suYzo1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVuYW1pbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIlVtYmVuZW5udW5nIHZvbiAnJXMnIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzU1CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDAzCiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxPcHRpb25lbj5dIDxDb21taXQ+Li4uIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzU2CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDA0CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tYWxsIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxPcHRpb25lbj5dIC0tYWxsIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzU3CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDA1CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tc3RkaW4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPE9wdGlvbmVuPl0gLS1zdGRpbiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxMworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2MgogbXNnaWQgInByaW50IG9ubHkgbmFtZXMgKG5vIFNIQS0xKSIKIG1zZ3N0ciAibnVyIE5hbWVuIGFuemVpZ2VuIChrZWluZSBTSEEtMSkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTQKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjMKIG1zZ2lkICJvbmx5IHVzZSB0YWdzIHRvIG5hbWUgdGhlIGNvbW1pdHMiCiBtc2dzdHIgIm51ciBUYWdzIHZlcndlbmRlbiwgdW0gZGllIENvbW1pdHMgenUgYmVuZW5uZW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjUKIG1zZ2lkICJvbmx5IHVzZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAibnVyIFJlZmVyZW56ZW4gdmVyd2VuZGVuLCBkaWUgPE11c3Rlcj4gZW50c3ByZWNoZW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjcKIG1zZ2lkICJpZ25vcmUgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgImlnbm9yaWVyZSBSZWZlcmVuemVuIGRpZSA8TXVzdGVyPiBlbnRzcHJlY2hlbiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQyMAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2OQogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgImFsbGUgQ29tbWl0cyBhdWZsaXN0ZW4sIGRpZSB2b24gYWxsZW4gUmVmZXJlbnplbiBlcnJlaWNoYmFyIHNpbmQiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjEKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzAKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgInZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSBsZXNlbiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQyMgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ3MQogbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIChkZWZhdWx0KSIKIG1zZ3N0ciAiQXVzZ2FiZSB2b24gYHVuZGVmaW5pZXJ0ZW5gIE5hbWVuIGVybGF1YmVuIChTdGFuZGFyZCkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzcKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKIG1zZ3N0ciAiVGFncyBpbiBkZXIgRWluZ2FiZSBkZXJlZmVyZW56aWVyZW4gKGludGVybmUgVmVyd2VuZHVuZykiCiAKQEAgLTEzODczLDE0ICsxNjY3NSwxNCBAQAogbXNnaWQgInRoZSBub3RlIGNvbnRlbnRzIGhhdmUgYmVlbiBsZWZ0IGluICVzIgogbXNnc3RyICJEaWUgTm90aXotSW5oYWx0ZSB3dXJkZW4gaW4gJXMgYmVsYXNzZW4uIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjQyIGJ1aWx0aW4vdGFnLmM6NTEzCisjOiBidWlsdGluL25vdGVzLmM6MjQyIGJ1aWx0aW4vdGFnLmM6NTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIG9yIHJlYWQgJyVzJyIKIG1zZ3N0ciAia29ubnRlICclcycgbmljaHQgw7ZmZm5lbiBvZGVyIGxlc2VuIgogCiAjOiBidWlsdGluL25vdGVzLmM6MjYzIGJ1aWx0aW4vbm90ZXMuYzozMTMgYnVpbHRpbi9ub3Rlcy5jOjMxNQotIzogYnVpbHRpbi9ub3Rlcy5jOjM4MyBidWlsdGluL25vdGVzLmM6NDM4IGJ1aWx0aW4vbm90ZXMuYzo1MjQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MjkgYnVpbHRpbi9ub3Rlcy5jOjYwNyBidWlsdGluL25vdGVzLmM6NjY5CisjOiBidWlsdGluL25vdGVzLmM6MzgzIGJ1aWx0aW4vbm90ZXMuYzo0MzggYnVpbHRpbi9ub3Rlcy5jOjUyNgorIzogYnVpbHRpbi9ub3Rlcy5jOjUzMSBidWlsdGluL25vdGVzLmM6NjEwIGJ1aWx0aW4vbm90ZXMuYzo2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGFscyBnw7xsdGlnZSBSZWZlcmVueiBhdWZsw7ZzZW4uIgpAQCAtMTM5MTUsMzggKzE2NzE3LDM4IEBACiAiQXVzZsO8aHJ1bmcgdm9uICVzIGF1ZiBOb3RpemVuIGluICVzIChhdcOfZXJoYWxiIHZvbiByZWZzL25vdGVzLykgIgogInp1csO8Y2tnZXdpZXNlbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM3NiBidWlsdGluL25vdGVzLmM6NDMxIGJ1aWx0aW4vbm90ZXMuYzo1MDcKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTkgYnVpbHRpbi9ub3Rlcy5jOjU5NSBidWlsdGluL25vdGVzLmM6NjYyCi0jOiBidWlsdGluL25vdGVzLmM6ODEyIGJ1aWx0aW4vbm90ZXMuYzo5NTkgYnVpbHRpbi9ub3Rlcy5jOjk4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjM3NiBidWlsdGluL25vdGVzLmM6NDMxIGJ1aWx0aW4vbm90ZXMuYzo1MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjEgYnVpbHRpbi9ub3Rlcy5jOjU5OCBidWlsdGluL25vdGVzLmM6NjY1CisjOiBidWlsdGluL25vdGVzLmM6ODE1IGJ1aWx0aW4vbm90ZXMuYzo5NjMgYnVpbHRpbi9ub3Rlcy5jOjk4NQogbXNnaWQgInRvbyBtYW55IHBhcmFtZXRlcnMiCiBtc2dzdHIgInp1IHZpZWxlIFBhcmFtZXRlciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM4OSBidWlsdGluL25vdGVzLmM6Njc1CisjOiBidWlsdGluL25vdGVzLmM6Mzg5IGJ1aWx0aW4vbm90ZXMuYzo2NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbm90ZSBmb3VuZCBmb3Igb2JqZWN0ICVzLiIKIG1zZ3N0ciAiS2VpbmUgTm90aXogZsO8ciBPYmpla3QgJXMgZ2VmdW5kZW4uIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDEwIGJ1aWx0aW4vbm90ZXMuYzo1NzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTAgYnVpbHRpbi9ub3Rlcy5jOjU3NgogbXNnaWQgIm5vdGUgY29udGVudHMgYXMgYSBzdHJpbmciCiBtc2dzdHIgIk5vdGl6aW5oYWx0ZSBhbHMgWmVpY2hlbmtldHRlIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDEzIGJ1aWx0aW4vbm90ZXMuYzo1NzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTMgYnVpbHRpbi9ub3Rlcy5jOjU3OQogbXNnaWQgIm5vdGUgY29udGVudHMgaW4gYSBmaWxlIgogbXNnc3RyICJOb3RpemluaGFsdGUgaW4gZWluZXIgRGF0ZWkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTYgYnVpbHRpbi9ub3Rlcy5jOjU3OQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxNiBidWlsdGluL25vdGVzLmM6NTgyCiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICJXaWVkZXJ2ZXJ3ZW5kdW5nIHVuZCBCZWFyYmVpdHVuZyBkZXMgYW5nZWdlYmVuZW4gTm90aXotT2JqZWt0ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTkgYnVpbHRpbi9ub3Rlcy5jOjU4MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQxOSBidWlsdGluL25vdGVzLmM6NTg1CiBtc2dpZCAicmV1c2Ugc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICJXaWVkZXJ2ZXJ3ZW5kdW5nIGRlcyBhbmdlZ2ViZW5lbiBOb3Rpei1PYmpla3RlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQyMiBidWlsdGluL25vdGVzLmM6NTg1CisjOiBidWlsdGluL25vdGVzLmM6NDIyIGJ1aWx0aW4vbm90ZXMuYzo1ODgKIG1zZ2lkICJhbGxvdyBzdG9yaW5nIGVtcHR5IG5vdGUiCiBtc2dzdHIgIlNwZWljaGVybiBsZWVyZXIgTm90aXogZXJsYXViZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MjMgYnVpbHRpbi9ub3Rlcy5jOjQ5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjQyMyBidWlsdGluL25vdGVzLmM6NDk2CiBtc2dpZCAicmVwbGFjZSBleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAiZXhpc3RpZXJlbmRlIE5vdGl6ZW4gZXJzZXR6ZW4iCiAKQEAgLTEzOTU5LDMxICsxNjc2MSwzMSBAQAogIktvbm50ZSBOb3RpemVuIG5pY2h0IGhpbnp1ZsO8Z2VuLiBFeGlzdGllcmVuZGUgTm90aXplbiBmw7xyIE9iamVrdCAlcyAiCiAiZ2VmdW5kZW4uIFZlcndlbmRlbiBTaWUgJy1mJywgdW0gZGllIGV4aXN0aWVyZW5kZW4gTm90aXplbiB6dSDDvGJlcnNjaHJlaWJlbi4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NjMgYnVpbHRpbi9ub3Rlcy5jOjU0MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQ2MyBidWlsdGluL25vdGVzLmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk92ZXJ3cml0aW5nIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAiw5xiZXJzY2hyZWliZSBleGlzdGllcmVuZGUgTm90aXplbiBmw7xyIE9iamVrdCAlc1xuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDc0IGJ1aWx0aW4vbm90ZXMuYzo2MzQgYnVpbHRpbi9ub3Rlcy5jOjg5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ3NSBidWlsdGluL25vdGVzLmM6NjM3IGJ1aWx0aW4vbm90ZXMuYzo5MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgbm90ZSBmb3Igb2JqZWN0ICVzXG4iCiBtc2dzdHIgIkVudGZlcm5lIE5vdGl6IGbDvHIgT2JqZWt0ICVzXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0OTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0OTcKIG1zZ2lkICJyZWFkIG9iamVjdHMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAiT2JqZWt0ZSB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0OTcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0OTkKIG1zZ2lkICJsb2FkIHJld3JpdGluZyBjb25maWcgZm9yIDxjb21tYW5kPiAoaW1wbGllcyAtLXN0ZGluKSIKIG1zZ3N0ciAiIgogIktvbmZpZ3VyYXRpb24gZsO8ciA8QmVmZWhsPiB6dW0gVW1zY2hyZWliZW4gdm9uIENvbW1pdHMgbGFkZW4gKGltcGxpemllcnQgLS0iCiAic3RkaW4pIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTE1CisjOiBidWlsdGluL25vdGVzLmM6NTE3CiBtc2dpZCAidG9vIGZldyBwYXJhbWV0ZXJzIgogbXNnc3RyICJ6dSB3ZW5pZyBQYXJhbWV0ZXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgpAQCAtMTM5OTIsMTIgKzE2Nzk0LDEyIEBACiAiS2FubiBOb3RpemVuIG5pY2h0IGtvcGllcmVuLiBFeGlzdGllcmVuZGUgTm90aXplbiBmw7xyIE9iamVrdCAlcyBnZWZ1bmRlbi4gIgogIlZlcndlbmRlbiBTaWUgJy1mJywgdW0gZGllIGV4aXN0aWVyZW5kZW4gTm90aXplbiB6dSDDvGJlcnNjaHJlaWJlbi4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NDgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBub3RlcyBvbiBzb3VyY2Ugb2JqZWN0ICVzLiBDYW5ub3QgY29weS4iCiBtc2dzdHIgIktlaW5lIE5vdGl6ZW4gZsO8ciBRdWVsbC1PYmpla3QgJXMuIEtvcGllIG5pY2h0IG3DtmdsaWNoLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjYwMAorIzogYnVpbHRpbi9ub3Rlcy5jOjYwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIC1tLy1GLy1jLy1DIG9wdGlvbnMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZSAnZWRpdCcgc3ViY29tbWFuZC5cbiIKQEAgLTE0MDA2LDUyICsxNjgwOCw1MiBAQAogIkRpZSBPcHRpb25lbiAtbS8tRi8tYy8tQyBzaW5kIGbDvHIgZGVuIFVudGVyYmVmZWhsICdlZGl0JyB2ZXJhbHRldC5cbiIKICJCaXR0ZSBiZW51dHplbiBTaWUgc3RhdHRkZXNzZW4gJ2dpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUMnLlxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njk1CisjOiBidWlsdGluL25vdGVzLmM6Njk4CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gTMO2c2NoZW4gZGVyIFJlZmVyZW56IE5PVEVTX01FUkdFX1BBUlRJQUwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2OTcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MDAKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9SRUYiCiBtc2dzdHIgIkZlaGxlciBiZWltIEzDtnNjaGVuIGRlciBSZWZlcmVueiBOT1RFU19NRVJHRV9SRUYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MDIKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICdnaXQgbm90ZXMgbWVyZ2UnIHdvcmt0cmVlIgogbXNnc3RyICJGZWhsZXIgYmVpbSBMw7ZzY2hlbiBkZXMgQXJiZWl0c3ZlcnplaWNobmlzc2VzIHZvbiAnZ2l0IG5vdGVzIG1lcmdlJy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjIKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gTGVzZW4gZGVyIFJlZmVyZW56IE5PVEVTX01FUkdFX1BBUlRJQUwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjQKIG1zZ2lkICJjb3VsZCBub3QgZmluZCBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAiS29ubnRlIENvbW1pdCB2b24gTk9URVNfTUVSR0VfUEFSVElBTCBuaWNodCBmaW5kZW4uIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzIzCisjOiBidWlsdGluL25vdGVzLmM6NzI2CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgogbXNnc3RyICJLb25udGUgQ29tbWl0IHZvbiBOT1RFU19NRVJHRV9QQVJUSUFMIG5pY2h0IHBhcnNlbi4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MzkKIG1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBOT1RFU19NRVJHRV9SRUYiCiBtc2dzdHIgIkZlaGxlciBiZWltIEF1ZmzDtnNlbiB2b24gTk9URVNfTUVSR0VfUkVGIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzM5CisjOiBidWlsdGluL25vdGVzLmM6NzQyCiBtc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplIG5vdGVzIG1lcmdlIgogbXNnc3RyICJGZWhsZXIgYmVpbSBBYnNjaGxpZcOfZW4gZGVyIFp1c2FtbWVuZsO8aHJ1bmcgZGVyIE5vdGl6ZW4uIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzY1CisjOiBidWlsdGluL25vdGVzLmM6NzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gbm90ZXMgbWVyZ2Ugc3RyYXRlZ3kgJXMiCiBtc2dzdHIgInVuYmVrYW5udGUgTWVyZ2UtU3RyYXRlZ2llICclcycgZsO8ciBOb3RpemVuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgxCisjOiBidWlsdGluL25vdGVzLmM6Nzg0CiBtc2dpZCAiR2VuZXJhbCBvcHRpb25zIgogbXNnc3RyICJBbGxnZW1laW5lIE9wdGlvbmVuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgzCisjOiBidWlsdGluL25vdGVzLmM6Nzg2CiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiTWVyZ2UtT3B0aW9uZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODgKIG1zZ2lkICIiCiAicmVzb2x2ZSBub3RlcyBjb25mbGljdHMgdXNpbmcgdGhlIGdpdmVuIHN0cmF0ZWd5IChtYW51YWwvb3Vycy90aGVpcnMvdW5pb24vIgogImNhdF9zb3J0X3VuaXEpIgpAQCAtMTQwNTksNDkgKzE2ODYxLDQ5IEBACiAibMO2c3QgS29uZmxpa3RlIGJlaSBOb3RpemVuIG1pdCBkZXIgYW5nZWdlYmVuZW4gU3RyYXRlZ2llIGF1ZiAobWFudWFsL291cnMvIgogInRoZWlycy91bmlvbi9jYXRfc29ydF91bmlxKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4NworIzogYnVpbHRpbi9ub3Rlcy5jOjc5MAogbXNnaWQgIkNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCiBtc2dzdHIgIm5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIE5vdGl6ZW4gZWludHJhZ2VuIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzg5CisjOiBidWlsdGluL25vdGVzLmM6NzkyCiBtc2dpZCAiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAiIgogIk1lcmdlIHZvbiBOb3RpemVuIGFic2NobGllw59lbiwgaW4gZGVtIG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIE5vdGl6ZW4gIgogImNvbW1pdHRldCB3ZXJkZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3OTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTQKIG1zZ2lkICJBYm9ydGluZyBub3RlcyBtZXJnZSByZXNvbHV0aW9uIgogbXNnc3RyICJLb25mbGlrdGF1ZmzDtnN1bmcgYmVpbSBNZXJnZSB2b24gTm90aXplbiBhYmJyZWNoZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3OTMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTYKIG1zZ2lkICJhYm9ydCBub3RlcyBtZXJnZSIKIG1zZ3N0ciAiTWVyZ2Ugdm9uIE5vdGl6ZW4gYWJicmVjaGVuIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODA0CisjOiBidWlsdGluL25vdGVzLmM6ODA3CiBtc2dpZCAiY2Fubm90IG1peCAtLWNvbW1pdCwgLS1hYm9ydCBvciAtcy8tLXN0cmF0ZWd5IgogbXNnc3RyICJLYW5uIC0tY29tbWl0LCAtLWFib3J0IG9kZXIgLXMvLS1zdHJhdGVneSBuaWNodCBrb21iaW5pZXJlbi4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MTIKIG1zZ2lkICJtdXN0IHNwZWNpZnkgYSBub3RlcyByZWYgdG8gbWVyZ2UiCiBtc2dzdHIgIlNpZSBtw7xzc2VuIGVpbmUgTm90aXotUmVmZXJlbnogenVtIE1lcmdlbiBhbmdlYmVuLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjgzMworIzogYnVpbHRpbi9ub3Rlcy5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIC1zLy0tc3RyYXRlZ3k6ICVzIgogbXNnc3RyICJVbmJla2FubnRlciBXZXJ0IGbDvHIgLXMvLS1zdHJhdGVneTogJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NzAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYSBub3RlcyBtZXJnZSBpbnRvICVzIGlzIGFscmVhZHkgaW4tcHJvZ3Jlc3MgYXQgJXMiCiBtc2dzdHIgIkVpbiBNZXJnZSB2b24gTm90aXplbiBuYWNoICVzIGlzdCBiZXJlaXRzIGltIEdhbmdlIGJlaSAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg3MworIzogYnVpbHRpbi9ub3Rlcy5jOjg3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RvcmUgbGluayB0byBjdXJyZW50IG5vdGVzIHJlZiAoJXMpIgogbXNnc3RyICIiCiAiRmVobGVyIGJlaW0gU3BlaWNoZXJuIGRlciBWZXJrbsO8cGZ1bmcgenVyIGFrdHVlbGxlbiBOb3Rlcy1SZWZlcmVueiAoJXMpIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODc1CisjOiBidWlsdGluL25vdGVzLmM6ODc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBdXRvbWF0aWMgbm90ZXMgbWVyZ2UgZmFpbGVkLiBGaXggY29uZmxpY3RzIGluICVzIGFuZCBjb21taXQgdGhlIHJlc3VsdCB3aXRoICIKQEAgLTE0MTEzLDE3NyArMTY5MTUsMTgyIEBACiAiY29tbWl0JyxcbiIKICJvZGVyIGJyZWNoZW4gU2llIGRlbiBNZXJnZSBtaXQgJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0JyBhYi5cbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5NworIzogYnVpbHRpbi9ub3Rlcy5jOjg5NyBidWlsdGluL3RhZy5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKK21zZ3N0ciAiS29ubnRlICclcycgbmljaHQgYWxzIGfDvGx0aWdlIFJlZmVyZW56IGF1ZmzDtnNlbi4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiT2JqZWN0ICVzIGhhcyBubyBub3RlXG4iCiBtc2dzdHIgIk9iamVrdCAlcyBoYXQga2VpbmUgTm90aXpcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjkwOQorIzogYnVpbHRpbi9ub3Rlcy5jOjkxMgogbXNnaWQgImF0dGVtcHQgdG8gcmVtb3ZlIG5vbi1leGlzdGVudCBub3RlIGlzIG5vdCBhbiBlcnJvciIKIG1zZ3N0ciAiZGVyIFZlcnN1Y2gsIGVpbmUgbmljaHQgZXhpc3RpZXJlbmRlIE5vdGl6IHp1IGzDtnNjaGVuLCBpc3Qga2VpbiBGZWhsZXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5MTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MTUKIG1zZ2lkICJyZWFkIG9iamVjdCBuYW1lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiT2JqZWt0bmFtZW4gdm9uIGRlciBTdGFuZGFyZC1FaW5nYWJlIGxlc2VuIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTUwIGJ1aWx0aW4vcHJ1bmUuYzoxMDggYnVpbHRpbi93b3JrdHJlZS5jOjE2NAorIzogYnVpbHRpbi9ub3Rlcy5jOjk1NCBidWlsdGluL3BydW5lLmM6MTMwIGJ1aWx0aW4vd29ya3RyZWUuYzoxNjQKIG1zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCiBtc2dzdHIgIm5pY2h0IGzDtnNjaGVuLCBudXIgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NTUKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIG5vdGVzIgogbXNnc3RyICJnZWzDtnNjaHRlIE5vdGl6ZW4gbWVsZGVuIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTkzCisjOiBidWlsdGluL25vdGVzLmM6OTk4CiBtc2dpZCAibm90ZXMtcmVmIgogbXNnc3RyICJOb3Rpei1SZWZlcmVueiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjk5OQogbXNnaWQgInVzZSBub3RlcyBmcm9tIDxub3Rlcy1yZWY+IgogbXNnc3RyICJOb3RpemVuIHZvbiA8Tm90aXotUmVmZXJlbno+IHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjEwMjkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxMDM0IGJ1aWx0aW4vc3Rhc2guYzoxNjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gc3ViY29tbWFuZDogJXMiCiBtc2dzdHIgIlVuYmVrYW5udGVyIFVudGVyYmVmZWhsOiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1MgogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8b3B0aW9ucz4uLi5dIFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICIiCiAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPE9wdGlvbmVuPi4uLl0gWzwgPFJlZmVyZW56bGlzdGU+IHwgPCAiCiAiPE9iamVrdGxpc3RlPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTMKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBbPG9wdGlvbnM+Li4uXSA8YmFzZS1uYW1lPiBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiIgogImdpdCBwYWNrLW9iamVjdHMgWzxPcHRpb25lbj4uLi5dIDxCYXNpcy1OYW1lPiBbPCA8UmVmZXJlbnpsaXN0ZT4gfCA8ICIKICI8T2JqZWt0bGlzdGU+XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0MjIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrZWQgb2JqZWN0IENSQyBmb3IgJXMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2VzIENSQyBmw7xyIGdlcGFja3RlcyBPYmpla3QgJXMuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjQzMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBwYWNrZWQgb2JqZWN0IGZvciAlcyIKIG1zZ3N0ciAiRmVobGVyaGFmdGVzIGdlcGFja3RlcyBPYmpla3QgZsO8ciAlcy4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTY0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjU3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWN1cnNpdmUgZGVsdGEgZGV0ZWN0ZWQgZm9yIG9iamVjdCAlcyIKIG1zZ3N0ciAiUmVrdXJzaXZlciBVbnRlcnNjaGllZCBmw7xyIE9iamVrdCAlcyBmZXN0Z2VzdGVsbHQuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc3NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAib3JkZXJlZCAldSBvYmplY3RzLCBleHBlY3RlZCAlPFBSSXUzMj4iCiBtc2dzdHIgIiV1IE9iamVrdGUgZ2VvcmRuZXQsICU8UFJJdTMyPiBlcndhcnRldC4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzg4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBpcyBpbnZhbGlkOiAlcyIKIG1zZ3N0ciAiUGFja2RhdGVpIGlzdCB1bmfDvGx0aWc6ICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc5MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gcGFja2ZpbGUgZm9yIHJldXNlOiAlcyIKIG1zZ3N0ciAiS29ubnRlIFBhY2tkYXRlaSBuaWNodCB6dXIgV2llZGVydmVyd2VuZHVuZyDDtmZmbmVuOiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODAyCiBtc2dpZCAidW5hYmxlIHRvIHNlZWsgaW4gcmV1c2VkIHBhY2tmaWxlIgogbXNnc3RyICJLb25udGUgXCJzZWVrXCIgbmljaHQgaW4gd2llZGVydmVyd2VuZGV0ZXIgUGFja2RhdGVpIGF1c2bDvGhyZW4uIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgwNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4MTMKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBmcm9tIHJldXNlZCBwYWNrZmlsZSIKIG1zZ3N0ciAiS29ubnRlIG5pY2h0IHZvbiB3aWVkZXJ2ZXJ3ZW5kZXRlciBQYWNrZGF0ZWkgbGVzZW4uIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgzNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4NDEKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIHBhY2tzIGFyZSBzcGxpdCBkdWUgdG8gcGFjay5wYWNrU2l6ZUxpbWl0IgogbXNnc3RyICIiCiAiRGVha3RpdmllcmUgU2NocmVpYmVuIGRlciBCaXRtYXAsIFBha2V0ZSB3dXJkZW4gZHVyY2ggcGFjay5wYWNrU2l6ZUxpbWl0XG4iCiAiYXVmZ2V0cmVubnQuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjg0OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4NTQKIG1zZ2lkICJXcml0aW5nIG9iamVjdHMiCiBtc2dzdHIgIlNjaHJlaWJlIE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTEwIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTE3IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXMiCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGxlc2VuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjk2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAid3JvdGUgJTxQUkl1MzI+IG9iamVjdHMgd2hpbGUgZXhwZWN0aW5nICU8UFJJdTMyPiIKIG1zZ3N0ciAiU2NocmllYiAlPFBSSXUzMj4gT2JqZWt0ZSB3w6RocmVuZCAlPFBSSXUzMj4gZXJ3YXJ0ZXQgd2FyZW4uIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjExNTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTE2NAogbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgYXMgc29tZSBvYmplY3RzIGFyZSBub3QgYmVpbmcgcGFja2VkIgogbXNnc3RyICIiCiAiRGVha3RpdmllcmUgU2NocmVpYmVuIGRlciBCaXRtYXAsIGRhIGVpbmlnZSBPYmpla3RlIG5pY2h0IGluIGVpbmUgUGFjay0iCiAiRGF0ZWlcbiIKICJnZXNjaHJpZWJlbiB3dXJkZW4uIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE1ODUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBvdmVyZmxvdyBpbiBwYWNrIGZvciAlcyIKIG1zZ3N0ciAiXCJkZWx0YSBiYXNlIG9mZnNldFwiIMOcYmVybGF1ZiBpbiBQYWtldCBmw7xyICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE1OTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTYwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBvdXQgb2YgYm91bmQgZm9yICVzIgogbXNnc3RyICJcImRlbHRhIGJhc2Ugb2Zmc2V0XCIgbGllZ3QgYXXDn2VyaGFsYiBkZXMgZ8O8bHRpZ2VuIEJlcmVpY2hzIGbDvHIgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODcwCiBtc2dpZCAiQ291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiWsOkaGxlIE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTk5OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBnZXQgc2l6ZSBvZiAlcyIKIG1zZ3N0ciAiS29ubnRlIEdyw7bDn2Ugdm9uICVzIG5pY2h0IGJlc3RpbW1lbi4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjAxMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBvYmplY3QgaGVhZGVyIG9mICVzIgogbXNnc3RyICJLb25udGUgS29wZmJlcmVpY2ggdm9uIE9iamVrdCAnJXMnIG5pY2h0IHBhcnNlbi4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA4MyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwOTkKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjEwOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDg1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjEwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBjYW5ub3QgYmUgcmVhZCIKIG1zZ3N0ciAiT2JqZWt0ICVzIGthbm4gbmljaHQgZ2VsZXNlbiB3ZXJkZW4uIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwODYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwODggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpbmNvbnNpc3RlbnQgb2JqZWN0IGxlbmd0aCAoJTxQUkl1TUFYPiB2cyAlPFBSSXVNQVg+KSIKIG1zZ3N0ciAiSW5rb25zaXN0ZW50ZSBPYmpla3Rsw6RuZ2UgYmVpIE9iamVrdCAlcyAoJTxQUkl1TUFYPiB2cyAlPFBSSXVNQVg+KSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTIzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMjUKIG1zZ2lkICJzdWJvcHRpbWFsIHBhY2sgLSBvdXQgb2YgbWVtb3J5IgogbXNnc3RyICJ1bmfDvG5zdGlnZXMgUGFja2V0IC0gU3BlaWNoZXIgdm9sbCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDUxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsdGEgY29tcHJlc3Npb24gdXNpbmcgdXAgdG8gJWQgdGhyZWFkcyIKIG1zZ3N0ciAiRGVsdGEtS29tcHJlc3Npb24gdmVyd2VuZGV0IGJpcyB6dSAlZCBUaHJlYWRzLiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTgzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhY2sgb2JqZWN0cyByZWFjaGFibGUgZnJvbSB0YWcgJXMiCiBtc2dzdHIgIktvbm50ZSBrZWluZSBPYmpla3RlIHBhY2tlbiwgZGllIHZvbiBUYWcgJXMgZXJyZWljaGJhciBzaW5kLiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjcwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTkKIG1zZ2lkICJDb21wcmVzc2luZyBvYmplY3RzIgogbXNnc3RyICJLb21wcmltaWVyZSBPYmpla3RlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NzYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY2NQogbXNnaWQgImluY29uc2lzdGVuY3kgd2l0aCBkZWx0YSBjb3VudCIKIG1zZ3N0ciAiSW5rb25zaXN0ZW56IG1pdCBkZXIgQW56YWhsIHZvbiBEZWx0YXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc1MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleHBlY3RlZCBlZGdlIG9iamVjdCBJRCwgZ290IGdhcmJhZ2U6XG4iCkBAIC0xNDI5Miw3ICsxNzA5OSw3IEBACiAiRXJ3YXJ0ZXRlIFJhbmRvYmpla3QtSUQsIGVyaGllbHQgbnV0emxvc2UgRGF0ZW46XG4iCiAiICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhwZWN0ZWQgb2JqZWN0IElELCBnb3QgZ2FyYmFnZTpcbiIKQEAgLTE0MzAxLDI2MyArMTcxMDgsMjU1IEBACiAiRXJ3YXJ0ZXRlIE9iamVrdC1JRCwgZXJoaWVsdCBudXR6bG9zZSBEYXRlbjpcbiIKICIgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg1NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODQ2CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgLS1taXNzaW5nIgogbXNnc3RyICJVbmfDvGx0aWdlciBXZXJ0IGbDvHIgLS1taXNzaW5nLiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTE2IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAyNAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTA1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAxMwogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2sgaW5kZXgiCiBtc2dzdHIgIkthbm4gUGFrZXRpbmRleCBuaWNodCDDtmZmbmVuLiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9vc2Ugb2JqZWN0IGF0ICVzIGNvdWxkIG5vdCBiZSBleGFtaW5lZCIKIG1zZ3N0ciAiTG9zZXMgT2JqZWt0IGJlaSAlcyBrb25udGUgbmljaHQgdW50ZXJzdWNodCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwMzIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAyMQogbXNnaWQgInVuYWJsZSB0byBmb3JjZSBsb29zZSBvYmplY3QiCiBtc2dzdHIgIktvbm50ZSBsb3NlcyBPYmpla3QgbmljaHQgZXJ6d2luZ2VuLiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTIyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgcmV2ICclcyciCiBtc2dzdHIgIiclcycgaXN0IGtlaW4gQ29tbWl0LiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTI1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJldmlzaW9uICclcyciCiBtc2dzdHIgIlVuZ8O8bHRpZ2VyIENvbW1pdCAnJXMnLiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTUwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxNDEKIG1zZ2lkICJ1bmFibGUgdG8gYWRkIHJlY2VudCBvYmplY3RzIgogbXNnc3RyICJLb25udGUgasO8bmdzdGUgT2JqZWt0ZSBuaWNodCBoaW56dWbDvGdlbi4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIwMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCiBtc2dzdHIgIk5pY2h0IHVudGVyc3TDvHR6dGUgSW5kZXgtVmVyc2lvbiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjA3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJyVzJyIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBJbmRleC1WZXJzaW9uICclcyciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzNwotbXNnaWQgImRvIG5vdCBzaG93IHByb2dyZXNzIG1ldGVyIgotbXNnc3RyICJrZWluZSBGb3J0c2Nocml0dHNhbnplaWdlIGFuemVpZ2VuIgotCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzkKLW1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgotbXNnc3RyICJGb3J0c2Nocml0dHNhbnplaWdlIGFuemVpZ2VuIgotCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDEKLW1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIGR1cmluZyBvYmplY3Qgd3JpdGluZyBwaGFzZSIKLW1zZ3N0ciAiRm9yc2Nocml0dHNhbnplaWdlIHfDpGhyZW5kIGRlcyBTY2hyZWliZW5zIHZvbiBPYmpla3RlbiBhbnplaWdlbiIKLQotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQ0Ci1tc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgotbXNnc3RyICLDpGhubGljaCB6dSAtLWFsbC1wcm9ncmVzcyB3ZW5uIEZvcnRzY2hyaXR0c2FuemVpZ2UgZGFyc3RlbGx0IHdpcmQiCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM2CiBtc2dpZCAiPHZlcnNpb24+Wyw8b2Zmc2V0Pl0iCiBtc2dzdHIgIjxWZXJzaW9uPlssPE9mZnNldD5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzNwogbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCiBtc2dzdHIgIiIKICJkaWUgSW5kZXgtRGF0ZWkgZGVzIFBha2V0ZXMgaW4gZGVyIGFuZ2VnZWJlbmVuIEluZGV4Zm9ybWF0LVZlcnNpb24gc2NocmVpYmVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0MAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIG91dHB1dCBwYWNrIGZpbGUiCiBtc2dzdHIgIm1heGltYWxlIEdyw7bDn2UgZsO8ciBqZWRlIGF1c2dlZ2ViZW5lIFBha2V0ZGF0ZWkiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQyCiBtc2dpZCAiaWdub3JlIGJvcnJvd2VkIG9iamVjdHMgZnJvbSBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlIgogbXNnc3RyICJnZWxpZWhlbmUgT2JqZWt0ZSB2b24gYWx0ZXJuYXRpdmVtIE9iamVrdHNwZWljaGVyIGlnbm9yaWVyZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQ0CiBtc2dpZCAiaWdub3JlIHBhY2tlZCBvYmplY3RzIgogbXNnc3RyICJnZXBhY2t0ZSBPYmpla3RlIGlnbm9yaWVyZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQ2CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAiUGFrZXRmZW5zdGVyIGR1cmNoIE9iamVrdGUgYmVncmVuemVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0OAogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgIiIKICJQYWtldGZlbnN0ZXIsIHp1c8OkdHpsaWNoIHp1ciBPYmpla3RiZWdyZW56dW5nLCBkdXJjaCBTcGVpY2hlciBiZWdyZW56ZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjUwCiBtc2dpZCAibWF4aW11bSBsZW5ndGggb2YgZGVsdGEgY2hhaW4gYWxsb3dlZCBpbiB0aGUgcmVzdWx0aW5nIHBhY2siCiBtc2dzdHIgIiIKICJtYXhpbWFsZSBMw6RuZ2UgZGVyIGVybGF1YnRlbiBEaWZmZXJlbnp2ZXJrZXR0dW5nIGltIHJlc3VsdGllcmVuZGVuIFBha2V0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1MgogbXNnaWQgInJldXNlIGV4aXN0aW5nIGRlbHRhcyIKIG1zZ3N0ciAiZXhpc3RpZXJlbmRlIFVudGVyc2NoaWVkZSB3aWVkZXJ2ZXJ3ZW5kZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU0CiBtc2dpZCAicmV1c2UgZXhpc3Rpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiZXhpc3RpZXJlbmRlIE9iamVrdGUgd2llZGVydmVyd2VuZGVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1NgogbXNnaWQgInVzZSBPRlNfREVMVEEgb2JqZWN0cyIKIG1zZ3N0ciAiT0ZTX0RFTFRBIE9iamVrdGUgdmVyd2VuZGVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1OAogbXNnaWQgInVzZSB0aHJlYWRzIHdoZW4gc2VhcmNoaW5nIGZvciBiZXN0IGRlbHRhIG1hdGNoZXMiCiBtc2dzdHIgIiIKICJUaHJlYWRzIGJlaSBkZXIgU3VjaGUgbmFjaCBkZW4gYmVzdGVuIMOcYmVyZWluc3RpbW11bmdlbiBiZWkgVW50ZXJzY2hpZWRlbiAiCiAidmVyd2VuZGVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2MAogbXNnaWQgImRvIG5vdCBjcmVhdGUgYW4gZW1wdHkgcGFjayBvdXRwdXQiCiBtc2dzdHIgImtlaW5lIGxlZXJlbiBQYWtldGUgZXJ6ZXVnZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjYyCiBtc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiQXJndW1lbnRlIGJlesO8Z2xpY2ggQ29tbWl0cyB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUgbGVzZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjY0CiBtc2dpZCAibGltaXQgdGhlIG9iamVjdHMgdG8gdGhvc2UgdGhhdCBhcmUgbm90IHlldCBwYWNrZWQiCiBtc2dzdHIgImRpZSBPYmpla3RlIHp1IHNvbGNoZW4sIGRpZSBub2NoIG5pY2h0IGdlcGFja3Qgd3VyZGVuLCBiZWdyZW56ZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjY3CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIGFueSByZWZlcmVuY2UiCiBtc2dzdHIgIk9iamVrdGUgZWluc2NobGllw59lbiwgZGllIHZvbiBqZWRlciBSZWZlcmVueiBlcnJlaWNoYmFyIHNpbmQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjcwCiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIGJ5IHJlZmxvZyBlbnRyaWVzIgogbXNnc3RyICIiCiAiT2JqZWt0ZSBlaW5zY2hsaWXDn2VuLCBkaWUgdm9uIEVpbnRyw6RnZW4gZGVzIFJlZmxvZ3MgcmVmZXJlbnppZXJ0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzMKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgdG8gYnkgdGhlIGluZGV4IgogbXNnc3RyICJPYmpla3RlIGVpbnNjaGxpZcOfZW4sIGRpZSB2b20gSW5kZXggcmVmZXJlbnppZXJ0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzYKIG1zZ2lkICJvdXRwdXQgcGFjayB0byBzdGRvdXQiCiBtc2dzdHIgIlBha2V0IGluIGRpZSBTdGFuZGFyZC1BdXNnYWJlIHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzgKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgIlRhZy1PYmpla3RlIGVpbnNjaGxpZcOfZW4sIGRpZSBhdWYgZ2VwYWNrdGUgT2JqZWt0ZSByZWZlcmVuemllcmVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4MAogbXNnaWQgImtlZXAgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAibmljaHQgZXJyZWljaGJhcmUgT2JqZWt0ZSBiZWhhbHRlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjkxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODIKIG1zZ2lkICJwYWNrIGxvb3NlIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIm5pY2h0IGVycmVpY2hiYXJlIGxvc2UgT2JqZWt0ZSBwYWNrZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg0CiBtc2dpZCAidW5wYWNrIHVucmVhY2hhYmxlIG9iamVjdHMgbmV3ZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgIm5pY2h0IGVycmVpY2hiYXJlIE9iamVrdGUgZW50cGFja2VuLCBkaWUgbmV1ZXIgYWxzIDxaZWl0PiBzaW5kIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4NworbXNnaWQgInVzZSB0aGUgc3BhcnNlIHJlYWNoYWJpbGl0eSBhbGdvcml0aG0iCittc2dzdHIgImRlbiBcInNwYXJzZVwiIEFsZ29yaXRobXVzIHp1ciBCZXN0aW1tdW5nIGRlciBFcnJlaWNoYmFya2VpdCBiZW51dHplbiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg5CiBtc2dpZCAiY3JlYXRlIHRoaW4gcGFja3MiCiBtc2dzdHIgImTDvG5uZXJlIFBha2V0ZSBlcnpldWdlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTEKIG1zZ2lkICJjcmVhdGUgcGFja3Mgc3VpdGFibGUgZm9yIHNoYWxsb3cgZmV0Y2hlcyIKIG1zZ3N0ciAiIgogIlBha2V0ZSBnZWVpZ25ldCBmw7xyIEFiaG9sdW5nIG1pdCB1bnZvbGxzdMOkbmRpZ2VyIEhpc3RvcmllIChzaGFsbG93KSBlcnpldWdlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzAwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTMKIG1zZ2lkICJpZ25vcmUgcGFja3MgdGhhdCBoYXZlIGNvbXBhbmlvbiAua2VlcCBmaWxlIgogbXNnc3RyICJQYWtldGUgaWdub3JpZXJlbiwgZGllIC5rZWVwIERhdGVpZW4gaGFiZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk1CiBtc2dpZCAiaWdub3JlIHRoaXMgcGFjayIKIG1zZ3N0ciAiZGllc2VzIFBha2V0IGlnbm9yaWVyZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwNAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk3CiBtc2dpZCAicGFjayBjb21wcmVzc2lvbiBsZXZlbCIKIG1zZ3N0ciAiS29tcHJpbWllcnVuZ3NncmFkIGbDvHIgUGFrZXRpZXJ1bmciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwNgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk5CiBtc2dpZCAiZG8gbm90IGhpZGUgY29tbWl0cyBieSBncmFmdHMiCiBtc2dzdHIgImtlaW5lIGvDvG5zdGxpY2hlbiBWb3Jnw6RuZ2VyLUNvbW1pdHMgKFwiZ3JhZnRzXCIpIHZlcmJlcmdlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzA4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDEKIG1zZ2lkICJ1c2UgYSBiaXRtYXAgaW5kZXggaWYgYXZhaWxhYmxlIHRvIHNwZWVkIHVwIGNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgIiIKICJCaXRtYXAtSW5kZXggKGZhbGxzIHZlcmbDvGdiYXIpIHp1ciBPcHRpbWllcnVuZyBkZXIgT2JqZWt0esOkaGx1bmcgYmVudXR6ZW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxMAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzAzCiBtc2dpZCAid3JpdGUgYSBiaXRtYXAgaW5kZXggdG9nZXRoZXIgd2l0aCB0aGUgcGFjayBpbmRleCIKIG1zZ3N0ciAiQml0bWFwLUluZGV4IHp1c2FtbWVuIG1pdCBQYWNrLUluZGV4IHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDcKK21zZ2lkICJ3cml0ZSBhIGJpdG1hcCBpbmRleCBpZiBwb3NzaWJsZSIKK21zZ3N0ciAiQml0bWFwLUluZGV4IHNjaHJlaWJlbiwgd2VubiBtw7ZnbGljaCIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzExCiBtc2dpZCAiaGFuZGxpbmcgZm9yIG1pc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAiQmVoYW5kbHVuZyBmw7xyIGZlaGxlbmRlIE9iamVrdGUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxNgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzE0CiBtc2dpZCAiZG8gbm90IHBhY2sgb2JqZWN0cyBpbiBwcm9taXNvciBwYWNrZmlsZXMiCiBtc2dzdHIgIiIKICJrZWluZSBPYmpla3RlIGF1cyBQYWNrZGF0ZWllbiB2b24gcGFydGllbGwgZ2VrbG9udGVuIFJlbW90ZS1SZXBvc2l0b3JpZXMgIgogInBhY2tlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzE4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTYKIG1zZ2lkICJyZXNwZWN0IGlzbGFuZHMgZHVyaW5nIGRlbHRhIGNvbXByZXNzaW9uIgogbXNnc3RyICJEZWx0YS1Jc2xhbmRzIGJlaSBEZWx0YS1Lb21wcmVzc2lvbiBiZWFjaHRlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzQyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsdGEgY2hhaW4gZGVwdGggJWQgaXMgdG9vIGRlZXAsIGZvcmNpbmcgJWQiCiBtc2dzdHIgIlRpZWZlIGbDvHIgVmVya2V0dHVuZyB2b24gVW50ZXJzY2hpZWRlbiAlZCBpc3QgenUgdGllZiwgZXJ6d2luZ2UgJWQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2suZGVsdGFDYWNoZUxpbWl0IGlzIHRvbyBoaWdoLCBmb3JjaW5nICVkIgogbXNnc3RyICJwYWNrLmRlbHRhQ2FjaGVMaW1pdCBpc3QgenUgaG9jaCwgZXJ6d2luZ2UgJWQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDA0CiBtc2dpZCAiLS1tYXgtcGFjay1zaXplIGNhbm5vdCBiZSB1c2VkIHRvIGJ1aWxkIGEgcGFjayBmb3IgdHJhbnNmZXIiCiBtc2dzdHIgIiIKICItLW1heC1wYWNrLXNpemUga2FubiBuaWNodCBmw7xyIGRpZSBFcnN0ZWxsdW5nIGVpbmVzIFBha2V0cyBmw7xyIGVpbmUgIgogIsOcYmVydHJhZ3VuZ1xuIgogImJlbnV0enQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDAzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDYKIG1zZ2lkICJtaW5pbXVtIHBhY2sgc2l6ZSBsaW1pdCBpcyAxIE1pQiIKIG1zZ3N0ciAiTWluaW1hbGVzIExpbWl0IGbDvHIgZGllIFBha2V0Z3LDtsOfZSBpc3QgMSBNaUIuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQxMQogbXNnaWQgIi0tdGhpbiBjYW5ub3QgYmUgdXNlZCB0byBidWlsZCBhbiBpbmRleGFibGUgcGFjayIKIG1zZ3N0ciAiIgogIi0tdGhpbiBrYW5uIG5pY2h0IGJlbnV0enQgd2VyZGVuLCB1bSBlaW4gaW5kaXppZXJiYXJlcyBQYWtldCB6dSBlcnN0ZWxsZW4uIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQxNAogbXNnaWQgIi0ta2VlcC11bnJlYWNoYWJsZSBhbmQgLS11bnBhY2stdW5yZWFjaGFibGUgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1rZWVwLXVucmVhY2hhYmxlIHVuZCAtLXVucGFjay11bnJlYWNoYWJsZSBzaW5kIGlua29tcGF0aWJlbCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDE3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MjAKIG1zZ2lkICJjYW5ub3QgdXNlIC0tZmlsdGVyIHdpdGhvdXQgLS1zdGRvdXQiCiBtc2dzdHIgIkthbm4gLS1maWx0ZXIgbmljaHQgb2huZSAtLXN0ZG91dCBiZW51dHplbi4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQ3NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDgxCiBtc2dpZCAiRW51bWVyYXRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiT2JqZWt0ZSBhdWZ6w6RobGVuIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0OTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzUxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJUb3RhbCAlPFBSSXUzMj4gKGRlbHRhICU8UFJJdTMyPiksIHJldXNlZCAlPFBSSXUzMj4gKGRlbHRhICU8UFJJdTMyPikiCiBtc2dzdHIgIiIKICJHZXNhbXQgJTxQUkl1MzI+IChEZWx0YSAlPFBSSXUzMj4pLCBXaWVkZXJ2ZXJ3ZW5kZXQgJTxQUkl1MzI+IChEZWx0YSAiCiAiJTxQUkl1MzI+KSIKIAotIzogYnVpbHRpbi9wYWNrLXJlZnMuYzo3CisjOiBidWlsdGluL3BhY2stcmVmcy5jOjgKIG1zZ2lkICJnaXQgcGFjay1yZWZzIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgcGFjay1yZWZzIFs8T3B0aW9uZW4+XSIKIAotIzogYnVpbHRpbi9wYWNrLXJlZnMuYzoxNQorIzogYnVpbHRpbi9wYWNrLXJlZnMuYzoxNgogbXNnaWQgInBhY2sgZXZlcnl0aGluZyIKIG1zZ3N0ciAiYWxsZXMgcGFja2VuIgogCi0jOiBidWlsdGluL3BhY2stcmVmcy5jOjE2CisjOiBidWlsdGluL3BhY2stcmVmcy5jOjE3CiBtc2dpZCAicHJ1bmUgbG9vc2UgcmVmcyAoZGVmYXVsdCkiCiBtc2dzdHIgImxvc2UgUmVmZXJlbnplbiBlbnRmZXJuZW4gKFN0YW5kYXJkKSIKIApAQCAtMTQ1NzMsNzEgKzE3MzcyLDcxIEBACiBtc2dpZCAiZ2l0IHBydW5lIFstbl0gWy12XSBbLS1wcm9ncmVzc10gWy0tZXhwaXJlIDx0aW1lPl0gWy0tXSBbPGhlYWQ+Li4uXSIKIG1zZ3N0ciAiZ2l0IHBydW5lIFstbl0gWy12XSBbLS1wcm9ncmVzc10gWy0tZXhwaXJlIDxaZWl0Pl0gWy0tXSBbPEJyYW5jaD4uLi5dIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTA5CisjOiBidWlsdGluL3BydW5lLmM6MTMxCiBtc2dpZCAicmVwb3J0IHBydW5lZCBvYmplY3RzIgogbXNnc3RyICJnZWzDtnNjaHRlIE9iamVrdGUgbWVsZGVuIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTEyCisjOiBidWlsdGluL3BydW5lLmM6MTM0CiBtc2dpZCAiZXhwaXJlIG9iamVjdHMgb2xkZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgIk9iamVrdGUgw6RsdGVyIGFscyA8WmVpdD4gdmVyZmFsbGVuIGxhc3NlbiIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjExNAorIzogYnVpbHRpbi9wcnVuZS5jOjEzNgogbXNnaWQgImxpbWl0IHRyYXZlcnNhbCB0byBvYmplY3RzIG91dHNpZGUgcHJvbWlzb3IgcGFja2ZpbGVzIgogbXNnc3RyICIiCiAiVHJhdmVyc2llcnVuZyBhdWYgT2JqZWt0ZSBhdcOfZXJoYWxiIHZvbiBQYWNrZGF0ZWllbiBhdXMgcGFydGllbGwgZ2VrbG9udGVuICIKICJSZW1vdGUtUmVwb3NpdG9yaWVzIGVpbnNjaHLDpG5rZW4iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMjkKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxNTAKIG1zZ2lkICJjYW5ub3QgcHJ1bmUgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCiBtc2dzdHIgImthbm4gXCJwcnVuZVwiIGluIHByZWNpb3VzLW9iamVjdHMgUmVwb3NpdG9yeSBuaWNodCBhdXNmw7xocmVuIgogCi0jOiBidWlsdGluL3B1bGwuYzo2MCBidWlsdGluL3B1bGwuYzo2MgorIzogYnVpbHRpbi9wdWxsLmM6NjYgYnVpbHRpbi9wdWxsLmM6NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlciBXZXJ0IGbDvHIgJXM6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MgorIzogYnVpbHRpbi9wdWxsLmM6ODgKIG1zZ2lkICJnaXQgcHVsbCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1bGwgWzxPcHRpb25lbj5dIFs8UmVwb3NpdG9yeT4gWzxSZWZzcGVjPi4uLl1dIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjE0MgogbXNnaWQgImNvbnRyb2wgZm9yIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICJyZWt1cnNpdmUgQW5mb3JkZXJ1bmdlbiB2b24gU3VibW9kdWxlbiBrb250cm9sbGllcmVuIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMzcKKyM6IGJ1aWx0aW4vcHVsbC5jOjE0NgogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBtZXJnaW5nIgogbXNnc3RyICJPcHRpb25lbiBiZXpvZ2VuIGF1ZiBNZXJnZSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTQwCisjOiBidWlsdGluL3B1bGwuYzoxNDkKIG1zZ2lkICJpbmNvcnBvcmF0ZSBjaGFuZ2VzIGJ5IHJlYmFzaW5nIHJhdGhlciB0aGFuIG1lcmdpbmciCiBtc2dzdHIgIkludGVncmF0aW9uIHZvbiDDhG5kZXJ1bmdlbiBkdXJjaCBSZWJhc2Ugc3RhdHQgTWVyZ2UiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE2NyBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNDcgYnVpbHRpbi9yZXZlcnQuYzoxMjIKKyM6IGJ1aWx0aW4vcHVsbC5jOjE3NyBidWlsdGluL3JlYmFzZS5jOjQ2NyBidWlsdGluL3JldmVydC5jOjEyNgogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAiVm9yc3B1bGVuIGVybGF1YmVuIgogCi0jOiBidWlsdGluL3B1bGwuYzoxNzYKKyM6IGJ1aWx0aW4vcHVsbC5jOjE4NgogbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIgcmViYXNlIgogbXNnc3RyICJhdXRvbWF0aXNjaGVyIFN0YXNoL1N0YXNoLVBvcCB2b3IgdW5kIG5hY2ggZWluZXMgUmViYXNlIgogCi0jOiBidWlsdGluL3B1bGwuYzoxOTIKKyM6IGJ1aWx0aW4vcHVsbC5jOjIwMgogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBmZXRjaGluZyIKIG1zZ3N0ciAiT3B0aW9uZW4gYmV6b2dlbiBhdWYgRmV0Y2giCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjIwMgorIzogYnVpbHRpbi9wdWxsLmM6MjEyCiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIGJyYW5jaCIKIG1zZ3N0ciAiZGFzIMOcYmVyc2NocmVpYmVuIHZvbiBsb2thbGVuIEJyYW5jaGVzIGVyendpbmdlbiIKIAotIzogYnVpbHRpbi9wdWxsLmM6MjEwCisjOiBidWlsdGluL3B1bGwuYzoyMjAKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBwdWxsZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgIkFuemFobCBkZXIgcGFyYWxsZWwgbWl0ICdwdWxsJyB6dSB2ZXJhcmJlaXRlbmRlbiBTdWJtb2R1bGUiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjMwNQorIzogYnVpbHRpbi9wdWxsLmM6MzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIHB1bGwuZmY6ICVzIgogbXNnc3RyICJVbmfDvGx0aWdlciBXZXJ0IGbDvHIgcHVsbC5mZjogJXMiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyMQorIzogYnVpbHRpbi9wdWxsLmM6NDM3CiBtc2dpZCAiIgogIlRoZXJlIGlzIG5vIGNhbmRpZGF0ZSBmb3IgcmViYXNpbmcgYWdhaW5zdCBhbW9uZyB0aGUgcmVmcyB0aGF0IHlvdSBqdXN0ICIKICJmZXRjaGVkLiIKQEAgLTE0NjQ1LDE0ICsxNzQ0NCwxNCBAQAogIkVzIGdpYnQga2VpbmVuIEthbmRpZGF0ZW4gZsO8ciBSZWJhc2UgaW5uZXJoYWxiIGRlciBSZWZlcmVuemVuLCBkaWUgZWJlbiAiCiAiYW5nZWZvcmRlcnQgd3VyZGVuLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDIzCisjOiBidWlsdGluL3B1bGwuYzo0MzkKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIG5vIGNhbmRpZGF0ZXMgZm9yIG1lcmdpbmcgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCBmZXRjaGVkLiIKIG1zZ3N0ciAiIgogIkVzIGdpYnQga2VpbmUgS2FuZGlkYXRlbiBmw7xyIE1lcmdlIGlubmVyaGFsYiBkZXIgUmVmZXJlbnplbiwgZGllIGViZW4gIgogImFuZ2Vmb3JkZXJ0IHd1cmRlbi4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyNAorIzogYnVpbHRpbi9wdWxsLmM6NDQwCiBtc2dpZCAiIgogIkdlbmVyYWxseSB0aGlzIG1lYW5zIHRoYXQgeW91IHByb3ZpZGVkIGEgd2lsZGNhcmQgcmVmc3BlYyB3aGljaCBoYWQgbm9cbiIKICJtYXRjaGVzIG9uIHRoZSByZW1vdGUgZW5kLiIKQEAgLTE0NjYwLDcgKzE3NDU5LDcgQEAKICJJbSBBbGxnZW1laW5lbiBiZWRldXRldCBkYXMsIGRhc3MgU2llIGVpbmVuIFJlZnNwZWMgbWl0IFdpbGRjYXJkcyBhbmdlZ2ViZW5cbiIKICJoYWJlbiwgZGVyIGF1ZiBkZXIgR2VnZW5zZWl0ZSBtaXQga2VpbmVuIFJlZmVyZW56ZW4gw7xiZXJlaW5zdGltbXQuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MjcKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIHB1bGwgZnJvbSB0aGUgcmVtb3RlICclcycsIGJ1dCBkaWQgbm90IHNwZWNpZnlcbiIKQEAgLTE0NjcyLDM5ICsxNzQ3MSwzOSBAQAogIlJlcG9zaXRvcnkgZsO8ciBkZW4gYWt0dWVsbGVuIEJyYW5jaCBpc3QsIG3DvHNzZW4gU2llIGVpbmVuIEJyYW5jaCBhdWZcbiIKICJkZXIgQmVmZWhsc3plaWxlIGFuZ2ViZW4uIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzIgYnVpbHRpbi9yZWJhc2UuYzo3NjEgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MworIzogYnVpbHRpbi9wdWxsLmM6NDQ4IGJ1aWx0aW4vcmViYXNlLmM6MTM3NSBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCiBtc2dpZCAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLiIKIG1zZ3N0ciAiSW0gTW9tZW50IGF1ZiBrZWluZW0gQnJhbmNoLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM0IGJ1aWx0aW4vcHVsbC5jOjQ0OSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CisjOiBidWlsdGluL3B1bGwuYzo0NTAgYnVpbHRpbi9wdWxsLmM6NDY1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gcmViYXNlIGFnYWluc3QuIgogbXNnc3RyICIiCiAiQml0dGUgZ2ViZW4gU2llIGRlbiBCcmFuY2ggYW4sIGdlZ2VuIHdlbGNoZW4gU2llIFwicmViYXNlXCIgYXVzZsO8aHJlbiAiCiAibcO2Y2h0ZW4uIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzYgYnVpbHRpbi9wdWxsLmM6NDUxIGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1MiBidWlsdGluL3B1bGwuYzo0NjcgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgogbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byBtZXJnZSB3aXRoLiIKIG1zZ3N0ciAiQml0dGUgZ2ViZW4gU2llIGRlbiBCcmFuY2ggYW4sIHdlbGNoZW4gU2llIHp1c2FtbWVuZsO8aHJlbiBtw7ZjaHRlbi4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzNyBidWlsdGluL3B1bGwuYzo0NTIKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1MyBidWlsdGluL3B1bGwuYzo0NjgKIG1zZ2lkICJTZWUgZ2l0LXB1bGwoMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICJTaWVoZSBnaXQtcHVsbCgxKSBmw7xyIHdlaXRlcmUgRGV0YWlscy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzOSBidWlsdGluL3B1bGwuYzo0NDUgYnVpbHRpbi9wdWxsLmM6NDU0Ci0jOiBidWlsdGluL3JlYmFzZS5jOjc2NyBnaXQtcGFyc2UtcmVtb3RlLnNoOjY0CisjOiBidWlsdGluL3B1bGwuYzo0NTUgYnVpbHRpbi9wdWxsLmM6NDYxIGJ1aWx0aW4vcHVsbC5jOjQ3MAorIzogYnVpbHRpbi9yZWJhc2UuYzoxMzgxIGdpdC1wYXJzZS1yZW1vdGUuc2g6NjQKIG1zZ2lkICI8cmVtb3RlPiIKIG1zZ3N0ciAiPFJlbW90ZS1SZXBvc2l0b3J5PiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM5IGJ1aWx0aW4vcHVsbC5jOjQ1NCBidWlsdGluL3B1bGwuYzo0NTkKLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjU1NiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1CisjOiBidWlsdGluL3B1bGwuYzo0NTUgYnVpbHRpbi9wdWxsLmM6NDcwIGJ1aWx0aW4vcHVsbC5jOjQ3NQorIzogZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NQogbXNnaWQgIjxicmFuY2g+IgogbXNnc3RyICI8QnJhbmNoPiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDQ3IGJ1aWx0aW4vcmViYXNlLmM6NzU5IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ2MyBidWlsdGluL3JlYmFzZS5jOjEzNzMgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQogbXNnaWQgIlRoZXJlIGlzIG5vIHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJFcyBnaWJ0IGtlaW5lIFRyYWNraW5nLUluZm9ybWF0aW9uZW4gZsO8ciBkZW4gYWt0dWVsbGVuIEJyYW5jaC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ1NiBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CisjOiBidWlsdGluL3B1bGwuYzo0NzIgZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDoiCiBtc2dzdHIgIiIKQEAgLTE0NzEyLDcgKzE3NTExLDcgQEAKICJTaWVcbiIKICJkaWVzIHR1biBtaXQ6IgogCi0jOiBidWlsdGluL3B1bGwuYzo0NjEKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBjb25maWd1cmF0aW9uIHNwZWNpZmllcyB0byBtZXJnZSB3aXRoIHRoZSByZWYgJyVzJ1xuIgpAQCAtMTQ3MjIsMzQgKzE3NTIxLDM0IEBACiAiZGVzIFJlbW90ZS1SZXBvc2l0b3JpZXMgZHVyY2h6dWbDvGhyZW4sIGFiZXIgZGllc2UgUmVmZXJlbnpcbiIKICJ3dXJkZSBuaWNodCBhbmdlZm9yZGVydC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjU2NQorIzogYnVpbHRpbi9wdWxsLmM6NTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgY29tbWl0ICVzIgogbXNnc3RyICJLb25udGUgbmljaHQgYXVmIENvbW1pdCAnJXMnIHp1Z3JlaWZlbi4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg0MworIzogYnVpbHRpbi9wdWxsLmM6ODY3CiBtc2dpZCAiaWdub3JpbmcgLS12ZXJpZnktc2lnbmF0dXJlcyBmb3IgcmViYXNlIgogbXNnc3RyICJJZ25vcmllcmUgLS12ZXJpZnktc2lnbmF0dXJlcyBmw7xyIFJlYmFzZSIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODkxCisjOiBidWlsdGluL3B1bGwuYzo5MjIKIG1zZ2lkICItLVtuby1dYXV0b3N0YXNoIG9wdGlvbiBpcyBvbmx5IHZhbGlkIHdpdGggLS1yZWJhc2UuIgogbXNnc3RyICItLVtuby1dYXV0b3N0YXNoIGlzdCBudXIgbWl0IC0tcmViYXNlIHp1bMOkc3NpZy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg5OQorIzogYnVpbHRpbi9wdWxsLmM6OTMwCiBtc2dpZCAiVXBkYXRpbmcgYW4gdW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4LiIKIG1zZ3N0ciAiIgogIkFrdHVhbGlzaWVyZSBlaW5lbiB1bmdlYm9yZW5lbiBCcmFuY2ggbWl0IMOEbmRlcnVuZ2VuLCBkaWUgenVtIENvbW1pdCAiCiAidm9yZ2VtZXJrdCBzaW5kLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTAyCisjOiBidWlsdGluL3B1bGwuYzo5MzQKIG1zZ2lkICJwdWxsIHdpdGggcmViYXNlIgogbXNnc3RyICJQdWxsIG1pdCBSZWJhc2UiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkwMworIzogYnVpbHRpbi9wdWxsLmM6OTM1CiBtc2dpZCAicGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAiQml0dGUgY29tbWl0dGVuIFNpZSBkaWUgw4RuZGVydW5nZW4gb2RlciBiZW51dHplbiBTaWUgXCJzdGFzaFwiLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTI4CisjOiBidWlsdGluL3B1bGwuYzo5NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC0xNDc1OSw3ICsxNzU1OCw3IEBACiAiXCJmZXRjaFwiIGFrdHVhbGlzaWVydGUgZGllIFNwaXR6ZSBkZXMgYWt0dWVsbGVuIEJyYW5jaGVzLlxuIgogIlNwdWxlIElociBBcmJlaXRzdmVyemVpY2huaXMgdm9uIENvbW1pdCAlcyB2b3IuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MzQKKyM6IGJ1aWx0aW4vcHVsbC5jOjk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGZhc3QtZm9yd2FyZCB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTE0Nzc2LDE1ICsxNzU3NSwxNSBAQAogIiQgZ2l0IHJlc2V0IC0taGFyZFxuIgogInp1ciBXaWVkZXJoZXJzdGVsbHVuZyBhdXMuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5NDkKKyM6IGJ1aWx0aW4vcHVsbC5jOjk4MQogbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQuIgogbXNnc3RyICJLYW5uIG5pY2h0IG1laHJlcmUgQnJhbmNoZXMgaW4gZWluZW4gbGVlcmVuIEJyYW5jaCB6dXNhbW1lbmbDvGhyZW4uIgogCi0jOiBidWlsdGluL3B1bGwuYzo5NTMKKyM6IGJ1aWx0aW4vcHVsbC5jOjk4NQogbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcy4iCiBtc2dzdHIgIkthbm4gUmViYXNlIG5pY2h0IGF1ZiBtZWhyZXJlIEJyYW5jaGVzIGF1c2bDvGhyZW4uIgogCi0jOiBidWlsdGluL3B1bGwuYzo5NjAKKyM6IGJ1aWx0aW4vcHVsbC5jOjk5MgogbXNnaWQgImNhbm5vdCByZWJhc2Ugd2l0aCBsb2NhbGx5IHJlY29yZGVkIHN1Ym1vZHVsZSBtb2RpZmljYXRpb25zIgogbXNnc3RyICIiCiAiS2FubiBSZWJhc2UgbmljaHQgbWl0IGxva2FsIGF1ZmdlemVpY2huZXRlbiDDhG5kZXJ1bmdlbiBpbiBTdWJtb2R1bGVuICIKQEAgLTE0Nzk0LDE1ICsxNzU5MywxNSBAQAogbXNnaWQgImdpdCBwdXNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgcHVzaCBbPE9wdGlvbmVuPl0gWzxSZXBvc2l0b3J5PiBbPFJlZnNwZWM+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjExMQorIzogYnVpbHRpbi9wdXNoLmM6MTEyCiBtc2dpZCAidGFnIHNob3J0aGFuZCB3aXRob3V0IDx0YWc+IgogbXNnc3RyICJLdXJ6c2NocmlmdCBmw7xyIFRhZyBvaG5lIDxUYWc+IgogCi0jOiBidWlsdGluL3B1c2guYzoxMjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjEyMgogbXNnaWQgIi0tZGVsZXRlIG9ubHkgYWNjZXB0cyBwbGFpbiB0YXJnZXQgcmVmIG5hbWVzIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tZGVsZXRlIGFremVwdGllcnQgbnVyIHJlaW5lIFJlZmVyZW56bmFtZW4gYWxzIFppZWwuIgogCi0jOiBidWlsdGluL3B1c2guYzoxNjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjE2OAogbXNnaWQgIiIKICJcbiIKICJUbyBjaG9vc2UgZWl0aGVyIG9wdGlvbiBwZXJtYW5lbnRseSwgc2VlIHB1c2guZGVmYXVsdCBpbiAnZ2l0IGhlbHAgY29uZmlnJy4iCkBAIC0xNDgxMSw3ICsxNzYxMCw3IEBACiAiVW0gZWluZSBWYXJpYW50ZSBwZXJtYW5lbnQgenUgdmVyd2VuZGVuLCBzaWVoZSBwdXNoLmRlZmF1bHQgaW4gJ2dpdCBoZWxwICIKICJjb25maWcnLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTY4CisjOiBidWlsdGluL3B1c2guYzoxNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSB1cHN0cmVhbSBicmFuY2ggb2YgeW91ciBjdXJyZW50IGJyYW5jaCBkb2VzIG5vdCBtYXRjaFxuIgpAQCAtMTQ4MzcsNyArMTc2MzYsNyBAQAogIiAgICBnaXQgcHVzaCAlcyBIRUFEXG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE4MworIzogYnVpbHRpbi9wdXNoLmM6MTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guXG4iCkBAIC0xNDg1Miw3ICsxNzY1MSw3IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoICVzIEhFQUQ6PE5hbWUtZGVzLVJlbW90ZS1CcmFuY2hlcz5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTk3CisjOiBidWlsdGluL3B1c2guYzoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbm8gdXBzdHJlYW0gYnJhbmNoLlxuIgpAQCAtMTQ4NjYsMTMgKzE3NjY1LDEzIEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIwNQorIzogYnVpbHRpbi9wdXNoLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbXVsdGlwbGUgdXBzdHJlYW0gYnJhbmNoZXMsIHJlZnVzaW5nIHRvIHB1c2guIgogbXNnc3RyICIiCiAiRGVyIGFrdHVlbGxlIEJyYW5jaCAlcyBoYXQgbWVocmVyZSBVcHN0cmVhbS1CcmFuY2hlcywgXCJwdXNoXCIgdmVyd2VpZ2VydC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIwOAorIzogYnVpbHRpbi9wdXNoLmM6MjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIHB1c2hpbmcgdG8gcmVtb3RlICclcycsIHdoaWNoIGlzIG5vdCB0aGUgdXBzdHJlYW0gb2ZcbiIKQEAgLTE0ODgzLDE0ICsxNzY4MiwxNCBAQAogIkJyYW5jaGVzICclcycgaXN0LCBvaG5lIGFuenVnZWJlbiwgd2FzIHZlcnNlbmRldCB3ZXJkZW4gc29sbCwgdW0gd2VsY2hlblxuIgogIlJlbW90ZS1CcmFuY2ggenUgYWt0dWFsaXNpZXJlbi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI2NworIzogYnVpbHRpbi9wdXNoLmM6MjcwCiBtc2dpZCAiIgogIllvdSBkaWRuJ3Qgc3BlY2lmeSBhbnkgcmVmc3BlY3MgdG8gcHVzaCwgYW5kIHB1c2guZGVmYXVsdCBpcyBcIm5vdGhpbmdcIi4iCiBtc2dzdHIgIiIKICJTaWUgaGFiZW4ga2VpbmUgUmVmc3BlYyBmw7xyIFwicHVzaFwiIGFuZ2VnZWJlbiwgdW5kIHB1c2guZGVmYXVsdCBpc3QgIgogIlwibm90aGluZ1wiLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mjc0CisjOiBidWlsdGluL3B1c2guYzoyNzcKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRpcCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGlzIGJlaGluZFxuIgogIml0cyByZW1vdGUgY291bnRlcnBhcnQuIEludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXMgKGUuZy5cbiIKQEAgLTE0OTA0LDcgKzE3NzAzLDcgQEAKICJTaWVoZSBhdWNoIGRpZSBTZWt0aW9uICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGluICdnaXQgcHVzaCAtLWhlbHAnXG4iCiAiZsO8ciB3ZWl0ZXJlIERldGFpbHMuIgogCi0jOiBidWlsdGluL3B1c2guYzoyODAKKyM6IGJ1aWx0aW4vcHVzaC5jOjI4MwogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCiAiY291bnRlcnBhcnQuIENoZWNrIG91dCB0aGlzIGJyYW5jaCBhbmQgaW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlc1xuIgpAQCAtMTQ5MTgsNyArMTc3MTcsNyBAQAogIlNpZWhlIGF1Y2ggZGllIFNla3Rpb24gJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCdcbiIKICJmw7xyIHdlaXRlcmUgRGV0YWlscy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI4NgorIzogYnVpbHRpbi9wdXNoLmM6Mjg5CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgogIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKQEAgLTE0OTM3LDEzICsxNzczNiwxMyBAQAogIlNpZWhlIGF1Y2ggZGllIFNla3Rpb24gJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCdcbiIKICJmw7xyIHdlaXRlcmUgRGV0YWlscy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI5MworIzogYnVpbHRpbi9wdXNoLmM6Mjk2CiBtc2dpZCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRhZyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgcmVtb3RlLiIKIG1zZ3N0ciAiIgogIkFrdHVhbGlzaWVydW5nZW4gd3VyZGVuIHp1csO8Y2tnZXdpZXNlbiwgd2VpbCBkYXMgVGFnIGJlcmVpdHNcbiIKICJpbSBSZW1vdGUtUmVwb3NpdG9yeSBleGlzdGllcnQuIgogCi0jOiBidWlsdGluL3B1c2guYzoyOTYKKyM6IGJ1aWx0aW4vcHVzaC5jOjI5OQogbXNnaWQgIiIKICJZb3UgY2Fubm90IHVwZGF0ZSBhIHJlbW90ZSByZWYgdGhhdCBwb2ludHMgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKICJvciB1cGRhdGUgYSByZW1vdGUgcmVmIHRvIG1ha2UgaXQgcG9pbnQgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKQEAgLTE0OTUzLDIyICsxNzc1Miw5OSBAQAogImRhcyBrZWluIENvbW1pdCBpc3QsIG9kZXIgZXMgYXVmIGVpbiBzb2xjaGVzIE9iamVrdCB6ZWlnZW4gbGFzc2VuLCBvaG5lXG4iCiAiZGllIE9wdGlvbiAnLS1mb3JjZScgenUgdmVyd2VuZGVuLlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozNTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJQdXNoaW5nIHRvICVzXG4iCiBtc2dzdHIgIlZlcnNlbmRlIG5hY2ggJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzYxCisjOiBidWlsdGluL3B1c2guYzozNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIFZlcnNlbmRlbiBlaW5pZ2VyIFJlZmVyZW56ZW4gbmFjaCAnJXMnIgogCi0jOiBidWlsdGluL3B1c2guYzozOTUKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MgorbXNnaWQgInJlcG9zaXRvcnkiCittc2dzdHIgIlJlcG9zaXRvcnkiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MyBidWlsdGluL3NlbmQtcGFjay5jOjE2NAorbXNnaWQgInB1c2ggYWxsIHJlZnMiCittc2dzdHIgImFsbGUgUmVmZXJlbnplbiB2ZXJzZW5kZW4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NCBidWlsdGluL3NlbmQtcGFjay5jOjE2NgorbXNnaWQgIm1pcnJvciBhbGwgcmVmcyIKK21zZ3N0ciAiYWxsZSBSZWZlcmVuemVuIHNwaWVnZWxuIgorCisjOiBidWlsdGluL3B1c2guYzo1NDYKK21zZ2lkICJkZWxldGUgcmVmcyIKK21zZ3N0ciAiUmVmZXJlbnplbiBsw7ZzY2hlbiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ3Cittc2dpZCAicHVzaCB0YWdzIChjYW4ndCBiZSB1c2VkIHdpdGggLS1hbGwgb3IgLS1taXJyb3IpIgorbXNnc3RyICJUYWdzIHZlcnNlbmRlbiAoa2FubiBuaWNodCBtaXQgLS1hbGwgb2RlciAtLW1pcnJvciB2ZXJ3ZW5kZXQgd2VyZGVuKSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTUwIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY3Cittc2dpZCAiZm9yY2UgdXBkYXRlcyIKK21zZ3N0ciAiQWt0dWFsaXNpZXJ1bmcgZXJ6d2luZ2VuIgorCisjOiBidWlsdGluL3B1c2guYzo1NTIgYnVpbHRpbi9zZW5kLXBhY2suYzoxODEKK21zZ2lkICI8cmVmbmFtZT46PGV4cGVjdD4iCittc2dzdHIgIjxSZWZlcmVuem5hbWU+OjxFcndhcnR1bmdzd2VydD4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MyBidWlsdGluL3NlbmQtcGFjay5jOjE4MgorbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgorbXNnc3RyICJSZWZlcmVueiBtdXNzIHNpY2ggYXVmIGRlbSBhbmdlZ2ViZW5lbiBXZXJ0IGJlZmluZGVuIgorCisjOiBidWlsdGluL3B1c2guYzo1NTYKK21zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCittc2dzdHIgInJla3Vyc2l2ZW4gXCJwdXNoXCIgdm9uIFN1Ym1vZHVsZW4gc3RldWVybiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTU4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1Cittc2dpZCAidXNlIHRoaW4gcGFjayIKK21zZ3N0ciAia2xlaW5lcmUgUGFrZXRlIHZlcndlbmRlbiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTU5IGJ1aWx0aW4vcHVzaC5jOjU2MCBidWlsdGluL3NlbmQtcGFjay5jOjE2MQorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKK21zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKK21zZ3N0ciAiJ3JlY2VpdmUgcGFjaycgUHJvZ3JhbW0iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2MQorbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIgorbXNnc3RyICJVcHN0cmVhbSBmw7xyIFwiZ2l0IHB1bGwvc3RhdHVzXCIgc2V0emVuIgorCisjOiBidWlsdGluL3B1c2guYzo1NjQKK21zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKK21zZ3N0ciAibG9rYWwgZ2Vsw7ZzY2h0ZSBSZWZlcmVuemVuIGVudGZlcm5lbiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTY2Cittc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCittc2dzdHIgIlwicHJlLXB1c2ggaG9va1wiIHVtZ2VoZW4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2NworbXNnaWQgInB1c2ggbWlzc2luZyBidXQgcmVsZXZhbnQgdGFncyIKK21zZ3N0ciAiZmVobGVuZGUsIGFiZXIgcmVsZXZhbnRlIFRhZ3MgdmVyc2VuZGVuIgorCisjOiBidWlsdGluL3B1c2guYzo1NzAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKK21zZ2lkICJHUEcgc2lnbiB0aGUgcHVzaCIKK21zZ3N0ciAic2lnbmllcnQgXCJwdXNoXCIgbWl0IEdQRyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTcyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2Cittc2dpZCAicmVxdWVzdCBhdG9taWMgdHJhbnNhY3Rpb24gb24gcmVtb3RlIHNpZGUiCittc2dzdHIgIlJlZmVyZW56ZW4gYXRvbWFyIHZlcnNlbmRlbiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTkwCittc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCittc2dzdHIgIkRpZSBPcHRpb24gLS1kZWxldGUgaXN0IGlua29tcGF0aWJlbCBtaXQgLS1hbGwsIC0tbWlycm9yIHVuZCAtLXRhZ3MuIgorCisjOiBidWlsdGluL3B1c2guYzo1OTIKK21zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKK21zZ3N0ciAiRGllIE9wdGlvbiAtLWRlbGV0ZSBrYW5uIG51ciBtaXQgUmVmZXJlbnplbiB2ZXJ3ZW5kZXQgd2VyZGVuLiIKKworIzogYnVpbHRpbi9wdXNoLmM6NjEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCByZXBvc2l0b3J5ICclcyciCiBtc2dzdHIgInVuZ8O8bHRpZ2VzIFJlcG9zaXRvcnkgJyVzJyIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzk2CisjOiBidWlsdGluL3B1c2guYzo2MTMKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgogIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCkBAIC0xNDk5MCwxMDQgKzE3ODY2LDI3IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIDxOYW1lPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzo1NTEKLW1zZ2lkICJyZXBvc2l0b3J5IgotbXNnc3RyICJSZXBvc2l0b3J5IgotCi0jOiBidWlsdGluL3B1c2guYzo1NTIgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKLW1zZ2lkICJwdXNoIGFsbCByZWZzIgotbXNnc3RyICJhbGxlIFJlZmVyZW56ZW4gdmVyc2VuZGVuIgotCi0jOiBidWlsdGluL3B1c2guYzo1NTMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKLW1zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCi1tc2dzdHIgImFsbGUgUmVmZXJlbnplbiBzcGllZ2VsbiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTU1Ci1tc2dpZCAiZGVsZXRlIHJlZnMiCi1tc2dzdHIgIlJlZmVyZW56ZW4gbMO2c2NoZW4iCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1NgotbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKLW1zZ3N0ciAiVGFncyB2ZXJzZW5kZW4gKGthbm4gbmljaHQgbWl0IC0tYWxsIG9kZXIgLS1taXJyb3IgdmVyd2VuZGV0IHdlcmRlbikiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1OSBidWlsdGluL3NlbmQtcGFjay5jOjE2NwotbXNnaWQgImZvcmNlIHVwZGF0ZXMiCi1tc2dzdHIgIkFrdHVhbGlzaWVydW5nIGVyendpbmdlbiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTYxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgxCi1tc2dpZCAiPHJlZm5hbWU+OjxleHBlY3Q+IgotbXNnc3RyICI8UmVmZXJlbnpuYW1lPjo8RXJ3YXJ0dW5nc3dlcnQ+IgotCi0jOiBidWlsdGluL3B1c2guYzo1NjIgYnVpbHRpbi9zZW5kLXBhY2suYzoxODIKLW1zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKLW1zZ3N0ciAiUmVmZXJlbnogbXVzcyBzaWNoIGF1ZiBkZW0gYW5nZWdlYmVuZW4gV2VydCBiZWZpbmRlbiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTY1Ci1tc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgotbXNnc3RyICJyZWt1cnNpdmVuIFwicHVzaFwiIHZvbiBTdWJtb2R1bGVuIHN0ZXVlcm4iCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU2NyBidWlsdGluL3NlbmQtcGFjay5jOjE3NQotbXNnaWQgInVzZSB0aGluIHBhY2siCi1tc2dzdHIgImtsZWluZXJlIFBha2V0ZSB2ZXJ3ZW5kZW4iCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU2OCBidWlsdGluL3B1c2guYzo1NjkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCi1tc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCi1tc2dzdHIgIidyZWNlaXZlIHBhY2snIFByb2dyYW1tIgotCi0jOiBidWlsdGluL3B1c2guYzo1NzAKLW1zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL3N0YXR1cyIKLW1zZ3N0ciAiVXBzdHJlYW0gZsO8ciBcImdpdCBwdWxsL3N0YXR1c1wiIHNldHplbiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTczCi1tc2dpZCAicHJ1bmUgbG9jYWxseSByZW1vdmVkIHJlZnMiCi1tc2dzdHIgImxva2FsIGdlbMO2c2NodGUgUmVmZXJlbnplbiBlbnRmZXJuZW4iCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU3NQotbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgotbXNnc3RyICJcInByZS1wdXNoIGhvb2tcIiB1bWdlaGVuIgotCi0jOiBidWlsdGluL3B1c2guYzo1NzYKLW1zZ2lkICJwdXNoIG1pc3NpbmcgYnV0IHJlbGV2YW50IHRhZ3MiCi1tc2dzdHIgImZlaGxlbmRlLCBhYmVyIHJlbGV2YW50ZSBUYWdzIHZlcnNlbmRlbiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTc5IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY5Ci1tc2dpZCAiR1BHIHNpZ24gdGhlIHB1c2giCi1tc2dzdHIgInNpZ25pZXJ0IFwicHVzaFwiIG1pdCBHUEciCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU4MSBidWlsdGluL3NlbmQtcGFjay5jOjE3NgotbXNnaWQgInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIgotbXNnc3RyICJSZWZlcmVuemVuIGF0b21hciB2ZXJzZW5kZW4iCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU5OQotbXNnaWQgIi0tZGVsZXRlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLW1pcnJvciBhbmQgLS10YWdzIgotbXNnc3RyICJEaWUgT3B0aW9uIC0tZGVsZXRlIGlzdCBpbmtvbXBhdGliZWwgbWl0IC0tYWxsLCAtLW1pcnJvciB1bmQgLS10YWdzLiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NjAxCi1tc2dpZCAiLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgYW55IHJlZnMiCi1tc2dzdHIgIkRpZSBPcHRpb24gLS1kZWxldGUga2FubiBudXIgbWl0IFJlZmVyZW56ZW4gdmVyd2VuZGV0IHdlcmRlbi4iCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjYwNAorIzogYnVpbHRpbi9wdXNoLmM6NjI4CiBtc2dpZCAiLS1hbGwgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1hbGwgdW5kIC0tdGFncyBzaW5kIGlua29tcGF0aWJlbC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjYwNgorIzogYnVpbHRpbi9wdXNoLmM6NjMwCiBtc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLWFsbCBrYW5uIG5pY2h0IG1pdCBSZWZzcGVjcyBrb21iaW5pZXJ0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjYxMAorIzogYnVpbHRpbi9wdXNoLmM6NjM0CiBtc2dpZCAiLS1taXJyb3IgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1taXJyb3IgdW5kIC0tdGFncyBzaW5kIGlua29tcGF0aWJlbC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjYxMgorIzogYnVpbHRpbi9wdXNoLmM6NjM2CiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLW1pcnJvciBrYW5uIG5pY2h0IG1pdCBSZWZzcGVjcyBrb21iaW5pZXJ0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjYxNQorIzogYnVpbHRpbi9wdXNoLmM6NjM5CiBtc2dpZCAiLS1hbGwgYW5kIC0tbWlycm9yIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIkRpZSBPcHRpb25lbiAtLWFsbCB1bmQgLS1taXJyb3Igc2luZCBpbmtvbXBhdGliZWwuIgogCi0jOiBidWlsdGluL3B1c2guYzo2MzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjY0MwogbXNnaWQgInB1c2ggb3B0aW9ucyBtdXN0IG5vdCBoYXZlIG5ldyBsaW5lIGNoYXJhY3RlcnMiCiBtc2dzdHIgIlB1c2gtT3B0aW9uZW4gZMO8cmZlbiBrZWluZSBaZWlsZW52b3JzY2h1YnplaWNoZW4gaGFiZW4iCiAKQEAgLTE1MTA1LDI4ICsxNzkwNCwzNiBAQAogbXNnaWQgImdpdCByYW5nZS1kaWZmIFs8b3B0aW9ucz5dIDxiYXNlPiA8b2xkLXRpcD4gPG5ldy10aXA+IgogbXNnc3RyICJnaXQgcmFuZ2UtZGlmZiBbPE9wdGlvbmVuPl0gPEJhc2lzPiA8YWx0ZS1TcGl0emU+IDxuZXVlLVNwaXR6ZT4iCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjIxCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyMgogbXNnaWQgIlBlcmNlbnRhZ2UgYnkgd2hpY2ggY3JlYXRpb24gaXMgd2VpZ2h0ZWQiCiBtc2dzdHIgIlByb3plbnRzYXR6IG1pdCB3ZWxjaGVtIEVyemV1Z3VuZyBnZXdpY2h0ZXQgd2lyZCIKIAotIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjMKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjI0CiBtc2dpZCAidXNlIHNpbXBsZSBkaWZmIGNvbG9ycyIKIG1zZ3N0ciAiZWluZmFjaGUgRGlmZi1GYXJiZW4gYmVudXR6ZW4iCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjYxIGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjY1CisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyNgorbXNnaWQgIm5vdGVzIgorbXNnc3RyICJOb3RpemVuIgorCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyNgorbXNnaWQgInBhc3NlZCB0byAnZ2l0IGxvZyciCittc2dzdHIgImFuICdnaXQgbG9nJyDDvGJlcmdlYmVuIgorCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzo1MCBidWlsdGluL3JhbmdlLWRpZmYuYzo1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyAuLiBpbiByYW5nZTogJyVzJyIKIG1zZ3N0ciAiS2VpbiAuLiBpbSBCZXJlaWNoOiAnJXMnIgogCi0jOiBidWlsdGluL3JhbmdlLWRpZmYuYzo3NQorIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NjQKIG1zZ2lkICJzaW5nbGUgYXJnIGZvcm1hdCBtdXN0IGJlIHN5bW1ldHJpYyByYW5nZSIKIG1zZ3N0ciAiRm9ybWF0IG1pdCBlaW5mYWNoZW0gQXJndW1lbnQgbXVzcyBzeW1tZXRyaXNjaGVyIEJlcmVpY2ggc2Vpbi4iCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjkwCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzo3OQogbXNnaWQgIm5lZWQgdHdvIGNvbW1pdCByYW5nZXMiCiBtc2dzdHIgIkJlbsO2dGlnZSB6d2VpIENvbW1pdC1CZXJlaWNoZS4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDEKIG1zZ2lkICIiCiAiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxwcmVmaXg+KSAiCiAiWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLXNwYXJzZS1jaGVja291dF0gWy0tIgpAQCAtMTUxMzcsMTE2ICsxNzk0NCwzMDggQEAKICJpbmRleC1vdXRwdXQ9PERhdGVpPl0gKC0tZW1wdHkgfCA8Q29tbWl0LVJlZmVyZW56MT4gWzxDb21taXQtUmVmZXJlbnoyPiAiCiAiWzxDb21taXQtUmVmZXJlbnozPl1dKSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjMKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI0CiBtc2dpZCAid3JpdGUgcmVzdWx0aW5nIGluZGV4IHRvIDxmaWxlPiIKIG1zZ3N0ciAicmVzdWx0aWVyZW5kZW4gSW5kZXggbmFjaCA8RGF0ZWk+IHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjYKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI3CiBtc2dpZCAib25seSBlbXB0eSB0aGUgaW5kZXgiCiBtc2dzdHIgIm51ciBkZW4gSW5kZXggbGVlcmVuIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjkKIG1zZ2lkICJNZXJnaW5nIgogbXNnc3RyICJNZXJnZSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMxCiBtc2dpZCAicGVyZm9ybSBhIG1lcmdlIGluIGFkZGl0aW9uIHRvIGEgcmVhZCIKIG1zZ3N0ciAiZWluZW4gTWVyZ2UsIHp1c8OkdHpsaWNoIHp1bSBMZXNlbiwgYXVzZsO8aHJlbiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzIKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMzCiBtc2dpZCAiMy13YXkgbWVyZ2UgaWYgbm8gZmlsZSBsZXZlbCBtZXJnaW5nIHJlcXVpcmVkIgogbXNnc3RyICIzLVdlZ2UtTWVyZ2UsIHdlbm4ga2VpbiBNZXJnZSBhdWYgRGF0ZWllYmVuZSBlcmZvcmRlcmxpY2ggaXN0IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzUKIG1zZ2lkICIzLXdheSBtZXJnZSBpbiBwcmVzZW5jZSBvZiBhZGRzIGFuZCByZW1vdmVzIgogbXNnc3RyICIzLVdlZ2UtTWVyZ2UgYmVpIFZvcmhhbmRlbnNlaW4gdm9uIGhpbnp1Z2Vmw7xndGVuL2VudGZlcm50ZW4gWmVpbGVuIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNgorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzcKIG1zZ2lkICJzYW1lIGFzIC1tLCBidXQgZGlzY2FyZCB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICJnZW5hdSB3aWUgLW0sIGFiZXIgbmljaHQgenVzYW1tZW5nZWbDvGhydGUgRWludHLDpGdlIHZlcndlcmZlbiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM4CiBtc2dpZCAiPHN1YmRpcmVjdG9yeT4vIgogbXNnc3RyICI8VW50ZXJ2ZXJ6ZWljaG5pcz4vIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKIG1zZ2lkICJyZWFkIHRoZSB0cmVlIGludG8gdGhlIGluZGV4IHVuZGVyIDxzdWJkaXJlY3Rvcnk+LyIKIG1zZ3N0ciAiZGFzIFZlcnplaWNobmlzIGluIGRlbiBJbmRleCB1bnRlciA8VW50ZXJ2ZXJ6ZWljaG5pcz4vIGxlc2VuIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0MQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDIKIG1zZ2lkICJ1cGRhdGUgd29ya2luZyB0cmVlIHdpdGggbWVyZ2UgcmVzdWx0IgogbXNnc3RyICJBcmJlaXRzdmVyemVpY2huaXMgbWl0IGRlbSBFcmdlYm5pcyBkZXMgTWVyZ2VzIGFrdHVhbGlzaWVyZW4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NAogbXNnaWQgImdpdGlnbm9yZSIKIG1zZ3N0ciAiZ2l0aWdub3JlIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDUKIG1zZ2lkICJhbGxvdyBleHBsaWNpdGx5IGlnbm9yZWQgZmlsZXMgdG8gYmUgb3ZlcndyaXR0ZW4iCiBtc2dzdHIgImV4cGxpeml0IGlnbm9yaWVydGUgRGF0ZWllbiB6dSDDvGJlcnNjaHJlaWJlbiBlcmxhdWJlbiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ4CiBtc2dpZCAiZG9uJ3QgY2hlY2sgdGhlIHdvcmtpbmcgdHJlZSBhZnRlciBtZXJnaW5nIgogbXNnc3RyICJkYXMgQXJiZWl0c3ZlcnplaWNobmlzIG5hY2ggZGVtIE1lcmdlIG5pY2h0IHByw7xmZW4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ4CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0OQogbXNnaWQgImRvbid0IHVwZGF0ZSB0aGUgaW5kZXggb3IgdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAid2VkZXIgZGVuIEluZGV4LCBub2NoIGRhcyBBcmJlaXRzdmVyemVpY2huaXMgYWt0dWFsaXNpZXJlbiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUxCiBtc2dpZCAic2tpcCBhcHBseWluZyBzcGFyc2UgY2hlY2tvdXQgZmlsdGVyIgogbXNnc3RyICJBbndlbmR1bmcgZGVzIEZpbHRlcnMgZsO8ciBwYXJ0aWVsbGVzIEF1c2NoZWNrZW4gw7xiZXJzcHJpbmdlbiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTIKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUzCiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICJ1bnBhY2stdHJlZXMgcHJvdG9rb2xsaWVyZW4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MjkKLW1zZ2lkICIiCi0iZ2l0IHJlYmFzZSBbLWldIFtvcHRpb25zXSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPl0gWzx1cHN0cmVhbT5dICIKLSJbPGJyYW5jaD5dIgotbXNnc3RyICJnaXQgcmViYXNlIFstaV0gWzxPcHRpb25lbj5dIFstLWV4ZWMgPFByb2dyYW1tPl0gWy0tb250byA8bmV1ZS1CYXNpcz5dIFs8VXBzdHJlYW0+XSBbPEJyYW5jaD5dIgorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTcKK21zZ2lkICJzdXBwcmVzcyBmZWVkYmFjayBtZXNzYWdlcyIKK21zZ3N0ciAiUsO8Y2ttZWxkdW5nZW4gdW50ZXJkcsO8Y2tlbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzozMQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxODgKK21zZ2lkICJZb3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKK21zZ3N0ciAiU2llIG3DvHNzZW4genVlcnN0IGRpZSBLb25mbGlrdGUgaW4gSWhyZW0gYWt0dWVsbGVuIEluZGV4IGF1ZmzDtnNlbi4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzIKK21zZ2lkICIiCisiZ2l0IHJlYmFzZSBbLWldIFtvcHRpb25zXSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPiB8IC0ta2VlcC1iYXNlXSAiCisiWzx1cHN0cmVhbT4gWzxicmFuY2g+XV0iCittc2dzdHIgIiIKKyJnaXQgcmViYXNlIFstaV0gWzxPcHRpb25lbj5dIFstLWV4ZWMgPFByb2dyYW1tPl0gWy0tb250byA8bmV1ZS1CYXNpcz4gfCAtLSIKKyJrZWVwLWJhc2VdIFs8VXBzdHJlYW0+IFs8QnJhbmNoPl1dIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjM0CiBtc2dpZCAiIgogImdpdCByZWJhc2UgWy1pXSBbb3B0aW9uc10gWy0tZXhlYyA8Y21kPl0gWy0tb250byA8bmV3YmFzZT5dIC0tcm9vdCBbPGJyYW5jaD5dIgotbXNnc3RyICJnaXQgcmViYXNlIFstaV0gWzxPcHRpb25lbj5dIFstLWV4ZWMgPFByb2dyYW1tPl0gWy0tb250byA8bmV1ZS1CYXNpcz5dIC0tcm9vdCBbPEJyYW5jaD5dIgorbXNnc3RyICIiCisiZ2l0IHJlYmFzZSBbLWldIFs8T3B0aW9uZW4+XSBbLS1leGVjIDxQcm9ncmFtbT5dIFstLW9udG8gPG5ldWUtQmFzaXM+XSAtLSIKKyJyb290IFs8QnJhbmNoPl0iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MzMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzYKIG1zZ2lkICJnaXQgcmViYXNlIC0tY29udGludWUgfCAtLWFib3J0IHwgLS1za2lwIHwgLS1lZGl0LXRvZG8iCiBtc2dzdHIgImdpdCByZWJhc2UgLS1jb250aW51ZSB8IC0tYWJvcnQgfCAtLXNraXAgfCAtLWVkaXQtdG9kbyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTc3IGJ1aWx0aW4vcmViYXNlLmM6MjAxIGJ1aWx0aW4vcmViYXNlLmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVudXNhYmxlIHRvZG8gbGlzdDogJyVzJyIKK21zZ3N0ciAiVW5iZW51dHpiYXJlIFRPRE8tTGlzdGU6ICclcyciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg2IGJ1aWx0aW4vcmViYXNlLmM6MjEyIGJ1aWx0aW4vcmViYXNlLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSAnJXMnLiIKK21zZ3N0ciAiS29ubnRlICclcycgbmljaHQgc2NocmVpYmVuLiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyNzEKK21zZ2lkICJubyBIRUFEPyIKK21zZ3N0ciAiS2VpbiBIRUFEPyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJXMiCittc2dzdHIgIktvbm50ZSB0ZW1wb3LDpHJlcyBWZXJ6ZWljaG5pcyAnJXMnIG5pY2h0IGVyc3RlbGxlbi4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzA0Cittc2dpZCAiY291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCittc2dzdHIgIk1hcmtpZXJ1bmcgYXVmIGludGVyYWt0aXZlbiBSZWJhc2UgZmVobGdlc2NobGFnZW4uIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjM2MgorbXNnaWQgImNvdWxkIG5vdCBnZW5lcmF0ZSB0b2RvIGxpc3QiCittc2dzdHIgIktvbm50ZSBUT0RPLUxpc3RlIG5pY2h0IGVyemV1Z2VuLiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0MDIKK21zZ2lkICJhIGJhc2UgY29tbWl0IG11c3QgYmUgcHJvdmlkZWQgd2l0aCAtLXVwc3RyZWFtIG9yIC0tb250byIKK21zZ3N0ciAiRWluIEJhc2lzLUNvbW1pdCBtdXNzIG1pdCAtLXVwc3RyZWFtIG9kZXIgLS1vbnRvIGFuZ2VnZWJlbiB3ZXJkZW4uIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ1NworbXNnaWQgImdpdCByZWJhc2UtLWludGVyYWN0aXZlIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgcmViYXNlLS1pbnRlcmFjdGl2ZSBbPE9wdGlvbmVuPl0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDY5Cittc2dpZCAia2VlcCBlbXB0eSBjb21taXRzIgorbXNnc3RyICJsZWVyZSBDb21taXRzIGJlaGFsdGVuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3MSBidWlsdGluL3JldmVydC5jOjEyOAorbXNnaWQgImFsbG93IGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKK21zZ3N0ciAiQ29tbWl0cyBtaXQgbGVlcmVyIEJlc2NocmVpYnVuZyBlcmxhdWJlbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzIKK21zZ2lkICJyZWJhc2UgbWVyZ2UgY29tbWl0cyIKK21zZ3N0ciAiUmViYXNlIGF1ZiBNZXJnZS1Db21taXRzIGF1c2bDvGhyZW4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDc0Cittc2dpZCAia2VlcCBvcmlnaW5hbCBicmFuY2ggcG9pbnRzIG9mIGNvdXNpbnMiCittc2dzdHIgIm9yaWdpbmFsZSBCcmFuY2gtUHVua3RlIGRlciBDb3VzaW5zIGJlaGFsdGVuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3NgorbXNnaWQgIm1vdmUgY29tbWl0cyB0aGF0IGJlZ2luIHdpdGggc3F1YXNoIS9maXh1cCEiCittc2dzdHIgIkNvbW1pdHMgdmVyc2NoaWViZW4sIGRpZSBtaXQgc3F1YXNoIS9maXh1cCEgYmVnaW5uZW4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDc3Cittc2dpZCAic2lnbiBjb21taXRzIgorbXNnc3RyICJDb21taXRzIHNpZ25pZXJlbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzkgYnVpbHRpbi9yZWJhc2UuYzoxNDU1Cittc2dpZCAiZGlzcGxheSBhIGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbSIKK21zZ3N0ciAiIgorIlp1c2FtbWVuZmFzc3VuZyBkZXIgVW50ZXJzY2hpZWRlIGdlZ2Vuw7xiZXIgZGVtIFVwc3RyZWFtLUJyYW5jaCBhbnplaWdlbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0ODEKK21zZ2lkICJjb250aW51ZSByZWJhc2UiCittc2dzdHIgIlJlYmFzZSBmb3J0c2V0emVuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4MworbXNnaWQgInNraXAgY29tbWl0IgorbXNnc3RyICJDb21taXQgYXVzbGFzc2VuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4NAorbXNnaWQgImVkaXQgdGhlIHRvZG8gbGlzdCIKK21zZ3N0ciAiZGllIFRPRE8tTGlzdGUgYmVhcmJlaXRlbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0ODYKK21zZ2lkICJzaG93IHRoZSBjdXJyZW50IHBhdGNoIgorbXNnc3RyICJkZW4gYWt0dWVsbGVuIFBhdGNoIGFuemVpZ2VuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4OQorbXNnaWQgInNob3J0ZW4gY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICJDb21taXQtSURzIGluIGRlciBUT0RPLUxpc3RlIHZlcmvDvHJ6ZW4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDkxCittc2dpZCAiZXhwYW5kIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKK21zZ3N0ciAiQ29tbWl0LUlEcyBpbiBkZXIgVE9ETy1MaXN0ZSBlcndlaXRlcm4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDkzCittc2dpZCAiY2hlY2sgdGhlIHRvZG8gbGlzdCIKK21zZ3N0ciAiZGllIFRPRE8tTGlzdGUgcHLDvGZlbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTUKK21zZ2lkICJyZWFycmFuZ2UgZml4dXAvc3F1YXNoIGxpbmVzIgorbXNnc3RyICJmaXh1cC9zcXVhc2gtWmVpbGVuIHVtb3JkbmVuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ5NworbXNnaWQgImluc2VydCBleGVjIGNvbW1hbmRzIGluIHRvZG8gbGlzdCIKK21zZ3N0ciAiXCJleGVjXCItQmVmZWhsZSBpbiBUT0RPLUxpc3RlIGVpbmbDvGdlbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTgKK21zZ2lkICJvbnRvIgorbXNnc3RyICJhdWYiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTAxCittc2dpZCAicmVzdHJpY3QtcmV2aXNpb24iCittc2dzdHIgIkJlZ3Jlbnp1bmdzY29tbWl0IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwMQorbXNnaWQgInJlc3RyaWN0IHJldmlzaW9uIgorbXNnc3RyICJCZWdyZW56dW5nc2NvbW1pdCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDMKK21zZ2lkICJzcXVhc2gtb250byIKK21zZ3N0ciAic3F1YXNoLW9udG8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA0Cittc2dpZCAic3F1YXNoIG9udG8iCittc2dzdHIgInNxdWFzaCBvbnRvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwNgorbXNnaWQgInRoZSB1cHN0cmVhbSBjb21taXQiCittc2dzdHIgImRlciBVcHN0cmVhbS1Db21taXQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA4Cittc2dpZCAiaGVhZC1uYW1lIgorbXNnc3RyICJoZWFkLU5hbWUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA4Cittc2dpZCAiaGVhZCBuYW1lIgorbXNnc3RyICJoZWFkLU5hbWUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTEzCittc2dpZCAicmViYXNlIHN0cmF0ZWd5IgorbXNnc3RyICJSZWJhc2UtU3RyYXRlZ2llIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxNAorbXNnaWQgInN0cmF0ZWd5LW9wdHMiCittc2dzdHIgIlN0cmF0ZWdpZS1PcHRpb25lbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTUKK21zZ2lkICJzdHJhdGVneSBvcHRpb25zIgorbXNnc3RyICJTdHJhdGVnaWUtT3B0aW9uZW4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE2Cittc2dpZCAic3dpdGNoLXRvIgorbXNnc3RyICJ3ZWNoc2VsbiB6dSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTcKK21zZ2lkICJ0aGUgYnJhbmNoIG9yIGNvbW1pdCB0byBjaGVja291dCIKK21zZ3N0ciAiZGVyIEJyYW5jaCBvZGVyIENvbW1pdCB6dW0gQXVzY2hlY2tlbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTgKK21zZ2lkICJvbnRvLW5hbWUiCittc2dzdHIgIm9udG8tTmFtZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTgKK21zZ2lkICJvbnRvIG5hbWUiCittc2dzdHIgIm9udG8tTmFtZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTkKK21zZ2lkICJjbWQiCittc2dzdHIgIkJlZmVobCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTkKK21zZ2lkICJ0aGUgY29tbWFuZCB0byBydW4iCittc2dzdHIgImF1c3p1ZsO8aHJlbmRlciBCZWZlaGwiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTIyIGJ1aWx0aW4vcmViYXNlLmM6MTU0MAorbXNnaWQgImF1dG9tYXRpY2FsbHkgcmUtc2NoZWR1bGUgYW55IGBleGVjYCB0aGF0IGZhaWxzIgorbXNnc3RyICJqZWRlbiBmZWhsZ2VzY2hsYWdlbmVuIGBleGVjYC1CZWZlaGwgbmV1IGFuc2V0emVuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjU0MAorbXNnaWQgIi0tW25vLV1yZWJhc2UtY291c2lucyBoYXMgbm8gZWZmZWN0IHdpdGhvdXQgLS1yZWJhc2UtbWVyZ2VzIgorbXNnc3RyICItLVtuby1dcmViYXNlLWNvdXNpbnMgaGF0IG9obmUgLS1yZWJhc2UtbWVyZ2VzIGtlaW5lIEF1c3dpcmt1bmciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGludGVyYWN0aXZlIHJlYmFzZSIKIG1zZ3N0ciAiJXMgZXJmb3JkZXJ0IGVpbiBpbnRlcmFrdGl2ZXMgUmViYXNlIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE3MQorIzogYnVpbHRpbi9yZWJhc2UuYzo2MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCAnb250byc6ICclcyciCiBtc2dzdHIgIktvbm50ZSAnb250bycgbmljaHQgYmVzdGltbWVuOiAnJXMnIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE4NgorIzogYnVpbHRpbi9yZWJhc2UuYzo2MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvcmlnLWhlYWQ6ICclcyciCiBtc2dzdHIgIlVuZ8O8bHRpZ2VzIG9yaWctaGVhZDogJyVzJyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoyMTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIGludmFsaWQgYWxsb3dfcmVyZXJlX2F1dG91cGRhdGU6ICclcyciCiBtc2dzdHIgIklnbm9yaWVyZSB1bmfDvGx0aWdlcyBhbGxvd19yZXJlcmVfYXV0b3VwZGF0ZTogJyVzJyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoyNTkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkICclcyciCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGxlc2VuLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoyNzcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzdG9yZSAlcyIKIG1zZ3N0ciAiS2FubiAlcyBuaWNodCBzcGVpY2hlcm4uIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjMzNworIzogYnVpbHRpbi9yZWJhc2UuYzo4NDkKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIEhFQUQgcmV2aXNpb24iCittc2dzdHIgIktvbm50ZSBIRUFELUNvbW1pdCBuaWNodCBiZXN0aW1tZW4uIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjk3MiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODEKIG1zZ2lkICIiCiAiUmVzb2x2ZSBhbGwgY29uZmxpY3RzIG1hbnVhbGx5LCBtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgd2l0aFxuIgogIlwiZ2l0IGFkZC9ybSA8Y29uZmxpY3RlZF9maWxlcz5cIiwgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKQEAgLTE1MjYyLDExICsxODI2MSwyNyBAQAogIlVtIGFienVicmVjaGVuIHVuZCB6dXLDvGNrIHp1bSBadXN0YW5kIHZvciBcImdpdCByZWJhc2VcIiB6dSBnZWxhbmdlbixcbiIKICJmw7xocmVuIFNpZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIGF1cy4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6NTYxCi1tc2dpZCAiY291bGQgbm90IGRldGVybWluZSBIRUFEIHJldmlzaW9uIgotbXNnc3RyICJLb25udGUgSEVBRC1Db21taXQgbmljaHQgYmVzdGltbWVuLiIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTA2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiZ2l0IGVuY291bnRlcmVkIGFuIGVycm9yIHdoaWxlIHByZXBhcmluZyB0aGUgcGF0Y2hlcyB0byByZXBsYXlcbiIKKyJ0aGVzZSByZXZpc2lvbnM6XG4iCisiXG4iCisiICAgICVzXG4iCisiXG4iCisiQXMgYSByZXN1bHQsIGdpdCBjYW5ub3QgcmViYXNlIHRoZW0uIgorbXNnc3RyICIiCisiXG4iCisiR2l0IHN0ZWxsdGUgZWluZW4gRmVobGVyIGJlaW0gVm9yYmVyZWl0ZW4gZGVyIFBhdGNoZXMgenVyXG4iCisid2llZGVyaG9sdGVuIEFud2VuZHVuZyBkZXIgUmV2aXNpb25lbiBmZXN0OlxuIgorIlxuIgorIiAgICAlc1xuIgorIlxuIgorIkluZm9sZ2UgZGVzc2VuIGthbm4gR2l0IGF1ZiBkaWVzZW4gUmV2aXNpb25lbiBSZWJhc2UgbmljaHRcbiIKKyJhdXNmw7xocmVuLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo3NTMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTM2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXNcbiIKQEAgLTE1Mjc3LDEzICsxODI5MiwxNCBAQAogIlxuIgogbXNnc3RyICIiCiAiJXNcbiIKLSJCaXR0ZSBnZWJlbiBTaWUgZGVuIEJyYW5jaCBhbiwgZ2VnZW4gd2VsY2hlbiBTaWUgXCJyZWJhc2VcIiBhdXNmw7xocmVuIG3DtmNodGVuLlxuIgorIkJpdHRlIGdlYmVuIFNpZSBkZW4gQnJhbmNoIGFuLCBnZWdlbiB3ZWxjaGVuIFNpZSBcInJlYmFzZVwiIGF1c2bDvGhyZW4gIgorIm3DtmNodGVuLlxuIgogIlNpZWhlIGdpdC1yZWJhc2UoMSkgZsO8ciBEZXRhaWxzLlxuIgogIlxuIgogIiAgICBnaXQgcmViYXNlICc8QnJhbmNoPidcbiIKICJcbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo3NjkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdpc2ggdG8gc2V0IHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGlzIGJyYW5jaCB5b3UgY2FuIGRvIHNvIHdpdGg6XG4iCkBAIC0xNTI5NywxNTAgKzE4MzEzLDE4OSBAQAogIiAgICBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvPSVzLzxCcmFuY2g+ICVzXG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODMyCisjOiBidWlsdGluL3JlYmFzZS5jOjE0MTMKK21zZ2lkICJleGVjIGNvbW1hbmRzIGNhbm5vdCBjb250YWluIG5ld2xpbmVzIgorbXNnc3RyICJcImV4ZWNcIi1CZWZlaGxlIGvDtm5uZW4ga2VpbmUgbmV1ZW4gWmVpbGVuIGVudGhhbHRlbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDE3Cittc2dpZCAiZW1wdHkgZXhlYyBjb21tYW5kIgorbXNnc3RyICJMZWVyZXIgXCJleGVjXCItQmVmZWhsLiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDQ2CiBtc2dpZCAicmViYXNlIG9udG8gZ2l2ZW4gYnJhbmNoIGluc3RlYWQgb2YgdXBzdHJlYW0iCiBtc2dzdHIgIlJlYmFzZSBhdWYgYW5nZWdlYmVuZW4gQnJhbmNoIGFuc3RlbGxlIGRlcyBVcHN0cmVhbS1CcmFuY2hlcyBhdXNmw7xocmVuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjgzNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDQ4Cittc2dpZCAidXNlIHRoZSBtZXJnZS1iYXNlIG9mIHVwc3RyZWFtIGFuZCBicmFuY2ggYXMgdGhlIGN1cnJlbnQgYmFzZSIKK21zZ3N0ciAiTnV0emUgZGllIE1lcmdlLUJhc2lzIHZvbiBVcHN0cmVhbSB1bmQgQnJhbmNoIGFscyBkaWUgYWt0dWVsbGUgQmFzaXMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1MAogbXNnaWQgImFsbG93IHByZS1yZWJhc2UgaG9vayB0byBydW4iCiBtc2dzdHIgIkF1c2bDvGhydW5nIGRlcyBwcmUtcmViYXNlLUhvb2tzIGVybGF1YmVuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjgzNgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDUyCiBtc2dpZCAiYmUgcXVpZXQuIGltcGxpZXMgLS1uby1zdGF0IgogbXNnc3RyICJ3ZW5pZ2VyIEF1c2dhYmVuIChpbXBsaXppZXJ0IC0tbm8tc3RhdCkiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODM5Ci1tc2dpZCAiZGlzcGxheSBhIGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbSIKLW1zZ3N0ciAiWnVzYW1tZW5mYXNzdW5nIGRlciBVbnRlcnNjaGllZGUgZ2VnZW7DvGJlciBkZW0gVXBzdHJlYW0tQnJhbmNoIGFuemVpZ2VuIgotCi0jOiBidWlsdGluL3JlYmFzZS5jOjg0MgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDU4CiBtc2dpZCAiZG8gbm90IHNob3cgZGlmZnN0YXQgb2Ygd2hhdCBjaGFuZ2VkIHVwc3RyZWFtIgotbXNnc3RyICJadXNhbW1lbmZhc3N1bmcgZGVyIFVudGVyc2NoaWVkZSBnZWdlbsO8YmVyIGRlbSBVcHN0cmVhbS1CcmFuY2ggdmVyYmVyZ2VuIgorbXNnc3RyICIiCisiWnVzYW1tZW5mYXNzdW5nIGRlciBVbnRlcnNjaGllZGUgZ2VnZW7DvGJlciBkZW0gVXBzdHJlYW0tQnJhbmNoIHZlcmJlcmdlbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NDUKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ2MQogbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnk6IGxpbmUgdG8gZWFjaCBjb21taXQiCiBtc2dzdHIgImVpbmUgXCJTaWduZWQtb2ZmLWJ5OlwiLVplaWxlIHp1IGplZGVtIENvbW1pdCBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NDcgYnVpbHRpbi9yZWJhc2UuYzo4NTEgYnVpbHRpbi9yZWJhc2UuYzo4NTMKLW1zZ2lkICJwYXNzZWQgdG8gJ2dpdCBhbSciCi1tc2dzdHIgImFuICdnaXQgYW0nIMO8YmVyZ2ViZW4iCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NjQKK21zZ2lkICJtYWtlIGNvbW1pdHRlciBkYXRlIG1hdGNoIGF1dGhvciBkYXRlIgorbXNnc3RyICJDb21taXQtRGF0dW0gdW5kIEF1dG9yLURhdHVtIHNvbGxlbiDDvGJlcmVpbnN0aW1tZW4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODU1IGJ1aWx0aW4vcmViYXNlLmM6ODU3CisjOiBidWlsdGluL3JlYmFzZS5jOjE0NjYKK21zZ2lkICJpZ25vcmUgYXV0aG9yIGRhdGUgYW5kIHVzZSBjdXJyZW50IGRhdGUiCittc2dzdHIgIkF1dG9yLURhdHVtIGlnbm9yaWVyZW4gdW5kIGFrdHVlbGxlcyBEYXR1bSBudXR6ZW4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ2OAorbXNnaWQgInN5bm9ueW0gb2YgLS1yZXNldC1hdXRob3ItZGF0ZSIKK21zZ3N0ciAiU3lub255bSBmw7xyIC0tcmVzZXQtYXV0aG9yLWRhdGUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3MCBidWlsdGluL3JlYmFzZS5jOjE0NzQKIG1zZ2lkICJwYXNzZWQgdG8gJ2dpdCBhcHBseSciCiBtc2dzdHIgImFuICdnaXQgYXBwbHknIMO8YmVyZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODU5IGJ1aWx0aW4vcmViYXNlLmM6ODYyCi1tc2dpZCAiY2hlcnJ5LXBpY2sgYWxsIGNvbW1pdHMsIGV2ZW4gaWYgdW5jaGFuZ2VkIgotbXNnc3RyICJDaGVycnktUGljayBhdWYgYWxsZSBDb21taXRzIGF1c2bDvGhyZW4sIGF1Y2ggd2VubiBkaWVzZSB1bnZlcsOkbmRlcnQgc2luZCIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3MgorbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2UiCittc2dzdHIgIldoaXRlc3BhY2Utw4RuZGVydW5nZW4gaWdub3JpZXJlbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NjQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3NiBidWlsdGluL3JlYmFzZS5jOjE0NzkKK21zZ2lkICJjaGVycnktcGljayBhbGwgY29tbWl0cywgZXZlbiBpZiB1bmNoYW5nZWQiCittc2dzdHIgIiIKKyJDaGVycnktUGljayBhdWYgYWxsZSBDb21taXRzIGF1c2bDvGhyZW4sIGF1Y2ggd2VubiBkaWVzZSB1bnZlcsOkbmRlcnQgc2luZCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDgxCiBtc2dpZCAiY29udGludWUiCiBtc2dzdHIgImZvcnRzZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODY3CisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODQKIG1zZ2lkICJza2lwIGN1cnJlbnQgcGF0Y2ggYW5kIGNvbnRpbnVlIgogbXNnc3RyICJkZW4gYWt0dWVsbGVuIFBhdGNoIGF1c2xhc3NlbiB1bmQgZm9ydGZhaHJlbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NjkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ4NgogbXNnaWQgImFib3J0IGFuZCBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCIKIG1zZ3N0ciAiYWJicmVjaGVuIHVuZCBkZW4gdXJzcHLDvG5nbGljaGVuIEJyYW5jaCBhdXNjaGVja2VuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg3MgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDg5CiBtc2dpZCAiYWJvcnQgYnV0IGtlZXAgSEVBRCB3aGVyZSBpdCBpcyIKIG1zZ3N0ciAiYWJicmVjaGVuLCBhYmVyIEhFQUQgYW4gYWt0dWVsbGVyIFN0ZWxsZSBiZWxhc3NlbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NzMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ5MAogbXNnaWQgImVkaXQgdGhlIHRvZG8gbGlzdCBkdXJpbmcgYW4gaW50ZXJhY3RpdmUgcmViYXNlIgogbXNnc3RyICJUT0RPLUxpc3RlIHfDpGhyZW5kIGVpbmVzIGludGVyYWt0aXZlbiBSZWJhc2UgYmVhcmJlaXRlbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NzYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ5MwogbXNnaWQgInNob3cgdGhlIHBhdGNoIGZpbGUgYmVpbmcgYXBwbGllZCBvciBtZXJnZWQiCiBtc2dzdHIgImRlbiBQYXRjaCwgZGVyIGdlcmFkZSBhbmdld2VuZGV0IG9kZXIgenVzYW1tZW5nZWbDvGhydCB3aXJkLCBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NzkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ5NgogbXNnaWQgInVzZSBtZXJnaW5nIHN0cmF0ZWdpZXMgdG8gcmViYXNlIgogbXNnc3RyICJNZXJnZS1TdHJhdGVnaWVuIGJlaW0gUmViYXNlIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4ODMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwMAogbXNnaWQgImxldCB0aGUgdXNlciBlZGl0IHRoZSBsaXN0IG9mIGNvbW1pdHMgdG8gcmViYXNlIgogbXNnc3RyICJkZW4gQmVudXR6ZXIgZGllIExpc3RlIGRlciBDb21taXRzIGbDvHIgZGVuIFJlYmFzZSBiZWFyYmVpdGVuIGxhc3NlbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4ODcKLW1zZ2lkICJ0cnkgdG8gcmVjcmVhdGUgbWVyZ2VzIGluc3RlYWQgb2YgaWdub3JpbmcgdGhlbSIKLW1zZ3N0ciAidmVyc3VjaGVuLCBNZXJnZXMgd2llZGVyaGVyenVzdGVsbGVuIGFuc3RhdHQgc2llIHp1IGlnbm9yaWVyZW4iCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MDQKK21zZ2lkICIoREVQUkVDQVRFRCkgdHJ5IHRvIHJlY3JlYXRlIG1lcmdlcyBpbnN0ZWFkIG9mIGlnbm9yaW5nIHRoZW0iCittc2dzdHIgIiIKKyIoVkVSQUxURVQpIFZlcnN1Y2hlLCBNZXJnZXMgd2llZGVyaGVyenVzdGVsbGVuIGFuc3RhdHQgc2llIHp1IGlnbm9yaWVyZW4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODkxCi1tc2dpZCAiYWxsb3cgcmVyZXJlIHRvIHVwZGF0ZSBpbmRleCB3aXRoIHJlc29sdmVkIGNvbmZsaWN0IgotbXNnc3RyICJSZXJlcmUgZXJsYXViZW4sIGRlbiBJbmRleCBtaXQgZGVtIGF1ZmdlbMO2c3RlbSBLb25mbGlrdCB6dSBha3R1YWxpc2llcmVuIgotCi0jOiBidWlsdGluL3JlYmFzZS5jOjg5NAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTA5CiBtc2dpZCAicHJlc2VydmUgZW1wdHkgY29tbWl0cyBkdXJpbmcgcmViYXNlIgogbXNnc3RyICJsZWVyZSBDb21taXRzIHfDpGhyZW5kIGRlcyBSZWJhc2UgZXJoYWx0ZW4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODk2CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MTEKIG1zZ2lkICJtb3ZlIGNvbW1pdHMgdGhhdCBiZWdpbiB3aXRoIHNxdWFzaCEvZml4dXAhIHVuZGVyIC1pIgogbXNnc3RyICJiZWkgLWkgQ29tbWl0cyB2ZXJzY2hpZWJlbiwgZGllIG1pdCBzcXVhc2ghL2ZpeHVwISBiZWdpbm5lbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MDIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxNwogbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIiCiBtc2dzdHIgImF1dG9tYXRpc2NoZXIgU3Rhc2gvU3Rhc2gtUG9wIGRhdm9yIHVuZCBkYW5hY2giCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTA0CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MTkKIG1zZ2lkICJhZGQgZXhlYyBsaW5lcyBhZnRlciBlYWNoIGNvbW1pdCBvZiB0aGUgZWRpdGFibGUgbGlzdCIKIG1zZ3N0ciAiZXhlYy1aZWlsZW4gbmFjaCBqZWRlbSBDb21taXQgZGVyIGVkaXRpZXJiYXJlbiBMaXN0ZSBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MDgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyMwogbXNnaWQgImFsbG93IHJlYmFzaW5nIGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKIG1zZ3N0ciAiUmViYXNlIHZvbiBDb21taXRzIG1pdCBsZWVyZXIgQmVzY2hyZWlidW5nIGVybGF1YmVuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkxMQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTI2CiBtc2dpZCAidHJ5IHRvIHJlYmFzZSBtZXJnZXMgaW5zdGVhZCBvZiBza2lwcGluZyB0aGVtIgotbXNnc3RyICJ2ZXJzdWNoZW4sIFJlYmFzZSBtaXQgTWVyZ2VzIGF1c3p1ZsO8aHJlbiwgYW5zdGF0dCBkaWVzZSB6dSDDvGJlcnNwcmluZ2VuIgorbXNnc3RyICIiCisidmVyc3VjaGVuLCBSZWJhc2UgbWl0IE1lcmdlcyBhdXN6dWbDvGhyZW4sIGFuc3RhdHQgZGllc2UgenUgw7xiZXJzcHJpbmdlbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyOQogbXNnaWQgInVzZSAnbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQnIHRvIHJlZmluZSB1cHN0cmVhbSIKLW1zZ3N0ciAiJ2dpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCcgYmVudXR6ZW4sIHVtIFVwc3RyZWFtLUJyYW5jaCB6dSBiZXN0aW1tZW4iCittc2dzdHIgIiIKKyInZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50JyBiZW51dHplbiwgdW0gVXBzdHJlYW0tQnJhbmNoIHp1IGJlc3RpbW1lbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzMQogbXNnaWQgInVzZSB0aGUgZ2l2ZW4gbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgImFuZ2VnZWJlbmUgTWVyZ2UtU3RyYXRlZ2llIHZlcndlbmRlbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTggYnVpbHRpbi9yZXZlcnQuYzoxMTEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzMyBidWlsdGluL3JldmVydC5jOjExNQogbXNnaWQgIm9wdGlvbiIKIG1zZ3N0ciAiT3B0aW9uIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkxOQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTM0CiBtc2dpZCAicGFzcyB0aGUgYXJndW1lbnQgdGhyb3VnaCB0byB0aGUgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIkFyZ3VtZW50IHp1ciBNZXJnZS1TdHJhdGVnaWUgZHVyY2hyZWljaGVuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkyMgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTM3CiBtc2dpZCAicmViYXNlIGFsbCByZWFjaGFibGUgY29tbWl0cyB1cCB0byB0aGUgcm9vdChzKSIKIG1zZ3N0ciAiUmViYXNlIGF1ZiBhbGxlIGVycmVpY2hiYXJlbiBDb21taXRzIGJpcyB6dW0gUm9vdC1Db21taXQgYXVzZsO8aHJlbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGV4ZWMgJXMiCi1tc2dzdHIgIktvbm50ZSAnZXhlYyAlcycgbmljaHQgYXVzZsO8aHJlbi4iCisjOiBidWlsdGluL3JlYmFzZS5jOjE1NTQKK21zZ2lkICIiCisidGhlIHJlYmFzZS51c2VCdWlsdGluIHN1cHBvcnQgaGFzIGJlZW4gcmVtb3ZlZCFcbiIKKyJTZWUgaXRzIGVudHJ5IGluICdnaXQgaGVscCBjb25maWcnIGZvciBkZXRhaWxzLiIKK21zZ3N0ciAiIgorIkRpZSBVbnRlcnN0w7x0enVuZyBmw7xyIHJlYmFzZS51c2VCdWlsdGluIHd1cmRlIGVudGZlcm50IVxuIgorIlNpZWhlIGRlc3NlbiBFaW50cmFnIGluICdnaXQgaGVscCBjb25maWcnIGbDvHIgRGV0YWlscy4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTU2IGdpdC1sZWdhY3ktcmViYXNlLnNoOjIxMworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTYwCiBtc2dpZCAiSXQgbG9va3MgbGlrZSAnZ2l0IGFtJyBpcyBpbiBwcm9ncmVzcy4gQ2Fubm90IHJlYmFzZS4iCiBtc2dzdHIgIidnaXQtYW0nIHNjaGVpbnQgaW0gR2FuZ2UgenUgc2Vpbi4gS2FubiBSZWJhc2UgbmljaHQgZHVyY2hmw7xocmVuLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5OTcgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6Mzk1CisjOiBidWlsdGluL3JlYmFzZS5jOjE2MDEKK21zZ2lkICIiCisiZ2l0IHJlYmFzZSAtLXByZXNlcnZlLW1lcmdlcyBpcyBkZXByZWNhdGVkLiBVc2UgLS1yZWJhc2UtbWVyZ2VzIGluc3RlYWQuIgorbXNnc3RyICIiCisiJ2dpdCByZWJhc2UgLS1wcmVzZXJ2ZS1tZXJnZXMnIGlzdCB2ZXJhbHRldC4gQmVudXR6ZW4gU2llIHN0YXR0ZGVzc2VuICctLSIKKyJyZWJhc2UtbWVyZ2VzJy4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYwNgorbXNnaWQgImNhbm5vdCBjb21iaW5lICctLWtlZXAtYmFzZScgd2l0aCAnLS1vbnRvJyIKK21zZ3N0ciAiJy0ta2VlcC1iYXNlJyBrYW5uIG5pY2h0IG1pdCAnLS1vbnRvJyBrb21iaW5pZXJ0IHdlcmRlbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjA4Cittc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0ta2VlcC1iYXNlJyB3aXRoICctLXJvb3QnIgorbXNnc3RyICInLS1rZWVwLWJhc2UnIGthbm4gbmljaHQgbWl0ICctLXJvb3QnIGtvbWJpbmllcnQgd2VyZGVuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2MTIKIG1zZ2lkICJObyByZWJhc2UgaW4gcHJvZ3Jlc3M/IgogbXNnc3RyICJLZWluIFJlYmFzZSBpbSBHYW5nZT8iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTAwMSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0MDYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYxNgogbXNnaWQgIlRoZSAtLWVkaXQtdG9kbyBhY3Rpb24gY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgaW50ZXJhY3RpdmUgcmViYXNlLiIKIG1zZ3N0ciAiIgogIkRpZSAtLWVkaXQtdG9kbyBBa3Rpb24ga2FubiBudXIgd8OkaHJlbmQgZWluZXMgaW50ZXJha3RpdmVuIFJlYmFzZSB2ZXJ3ZW5kZXQgIgogIndlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTAxNSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0MTMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYzOQogbXNnaWQgIkNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIkthbm4gSEVBRCBuaWNodCBsZXNlbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDI4IGdpdC1sZWdhY3ktcmViYXNlLnNoOjQxNgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNjUxCiBtc2dpZCAiIgogIllvdSBtdXN0IGVkaXQgYWxsIG1lcmdlIGNvbmZsaWN0cyBhbmQgdGhlblxuIgogIm1hcmsgdGhlbSBhcyByZXNvbHZlZCB1c2luZyBnaXQgYWRkIgpAQCAtMTU0NDgsMjEgKzE4NTAzLDE2IEBACiAiU2llIG3DvHNzZW4gYWxsZSBNZXJnZS1Lb25mbGlrdGUgZWRpdGllcmVuIHVuZCBkaWVzZSBkYW5uXG4iCiAibWl0dGVscyBcImdpdCBhZGRcIiBhbHMgYXVmZ2Vsw7ZzdCBtYXJraWVyZW4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTA0NworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjcwCiBtc2dpZCAiY291bGQgbm90IGRpc2NhcmQgd29ya3RyZWUgY2hhbmdlcyIKIG1zZ3N0ciAiS29ubnRlIMOEbmRlcnVuZ2VuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyBuaWNodCB2ZXJ3ZXJmZW4uIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEwNjYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbW92ZSBiYWNrIHRvICVzIgogbXNnc3RyICJLb25udGUgbmljaHQgenUgJXMgenVyw7xja2dlaGVuLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDc3IGJ1aWx0aW4vcm0uYzozNjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHJlbW92ZSAnJXMnIgotbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBsw7ZzY2hlbiIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTAzCisjOiBidWlsdGluL3JlYmFzZS5jOjE3MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICVzIGRpcmVjdG9yeSwgYW5kXG4iCkBAIC0xNTQ4MywzMzYgKzE4NTMzLDE2NiBAQAogInVuZCBmw7xocmVuIFNpZSBkaWVzZW4gQmVmZWhsIG5vY2htYWwgYXVzLiBFcyB3aXJkIGFuZ2VoYWx0ZW4sIGZhbGxzIG5vY2hcbiIKICJldHdhcyBTY2jDvHR6ZW5zd2VydGVzIHZvcmhhbmRlbiBpc3QuXG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTEyNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNzU3CiBtc2dpZCAic3dpdGNoIGBDJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICJTY2hhbHRlciBgQycgZXJ3YXJ0ZXQgZWluZW4gbnVtZXJpc2NoZW4gV2VydC4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTE2MQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gbW9kZTogJXMiCiBtc2dzdHIgIlVuYmVrYW5udGVyIE1vZHVzOiAlcyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTgzCisjOiBidWlsdGluL3JlYmFzZS5jOjE4MjAKIG1zZ2lkICItLXN0cmF0ZWd5IHJlcXVpcmVzIC0tbWVyZ2Ugb3IgLS1pbnRlcmFjdGl2ZSIKIG1zZ3N0ciAiLS1zdHJhdGVneSBlcmZvcmRlcnQgLS1tZXJnZSBvZGVyIC0taW50ZXJhY3RpdmUiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTIyNgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iZXJyb3I6IGNhbm5vdCBjb21iaW5lIGludGVyYWN0aXZlIG9wdGlvbnMgKC0taW50ZXJhY3RpdmUsIC0tZXhlYywgLS1yZWJhc2UtIgotIm1lcmdlcywgLS1wcmVzZXJ2ZS1tZXJnZXMsIC0ta2VlcC1lbXB0eSwgLS1yb290ICsgLS1vbnRvKSB3aXRoIGFtIG9wdGlvbnMgIgotIiglcykiCi1tc2dzdHIgIkZlaGxlcjogJ2ludGVyYWN0aXZlJy1PcHRpb25lbiAoLS1pbnRlcmFjdGl2ZSwgLS1leGVjLCAtLXJlYmFzZS1tZXJnZXMsIC0tcHJlc2VydmUtbWVyZ2VzLCAtLWtlZXAtZW1wdHksIC0tcm9vdCArIC0tb250byApIGvDtm5uZW4gbmljaHQgbWl0ICdhbSctT3B0aW9uZW4gKCVzKSBrb21iaW5pZXJ0IHdlcmRlbi4iCisjOiBidWlsdGluL3JlYmFzZS5jOjE4NjAKK21zZ2lkICItLXJlc2NoZWR1bGUtZmFpbGVkLWV4ZWMgcmVxdWlyZXMgLS1leGVjIG9yIC0taW50ZXJhY3RpdmUiCittc2dzdHIgIi0tcmVzY2hlZHVsZS1mYWlsZWQtZXhlYyBlcmZvcmRlcnQgLS1leGVjIG9kZXIgLS1pbnRlcmFjdGl2ZSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjMxCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJlcnJvcjogY2Fubm90IGNvbWJpbmUgbWVyZ2Ugb3B0aW9ucyAoLS1tZXJnZSwgLS1zdHJhdGVneSwgLS1zdHJhdGVneS1vcHRpb24pICIKLSJ3aXRoIGFtIG9wdGlvbnMgKCVzKSIKLW1zZ3N0ciAiRmVobGVyOiAnbWVyZ2UnLU9wdGlvbmVuICgtLW1lcmdlLCAtLXN0cmF0ZWd5LCAtLXN0cmF0ZWd5LW9wdGlvbikga8O2bm5lbiBuaWNodCBtaXQgJ2FtJy1PcHRpb25lbiAoJXMpIGtvbWJpbmllcnQgd2VyZGVuLiIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjUxIGdpdC1sZWdhY3ktcmViYXNlLnNoOjUzNgotbXNnaWQgImVycm9yOiBjYW5ub3QgY29tYmluZSAnLS1wcmVzZXJ2ZS1tZXJnZXMnIHdpdGggJy0tcmViYXNlLW1lcmdlcyciCi1tc2dzdHIgIkZlaGxlcjogJy0tcHJlc2VydmUtbWVyZ2VzJyB1bmQgJy0tcmViYXNlLW1lcmdlcycga8O2bm5lbiBuaWNodCBrb21iaW5pZXJ0IHdlcmRlbi4iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI1NiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1NDIKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneS1vcHRpb24nIgorIzogYnVpbHRpbi9yZWJhc2UuYzoxODcyCittc2dpZCAiY2Fubm90IGNvbWJpbmUgYW0gb3B0aW9ucyB3aXRoIGVpdGhlciBpbnRlcmFjdGl2ZSBvciBtZXJnZSBvcHRpb25zIgogbXNnc3RyICIiCi0iRmVobGVyOiAnLS1yZWJhc2UtbWVyZ2VzJyB1bmQgJy0tc3RyYXRlZ3ktb3B0aW9uJyBrw7ZubmVuIG5pY2h0IGtvbWJpbmllcnQgIgotIndlcmRlbi4iCisiT3B0aW9uZW4gZsO8ciBcImFtXCIga8O2bm5lbiBuaWNodCBtaXQgT3B0aW9uZW4gZsO8ciBcImludGVyYWN0aXZlXCIgb2RlciAiCisiXCJtZXJnZVwiIGtvbWJpbmllcnQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjU5IGdpdC1sZWdhY3ktcmViYXNlLnNoOjU0NAotbXNnaWQgImVycm9yOiBjYW5ub3QgY29tYmluZSAnLS1yZWJhc2UtbWVyZ2VzJyB3aXRoICctLXN0cmF0ZWd5JyIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg5MQorbXNnaWQgImNhbm5vdCBjb21iaW5lICctLXByZXNlcnZlLW1lcmdlcycgd2l0aCAnLS1yZWJhc2UtbWVyZ2VzJyIKIG1zZ3N0ciAiIgotIkZlaGxlcjogJy0tcmViYXNlLW1lcmdlcycgdW5kICctLXN0cmF0ZWd5JyBrw7ZubmVuIG5pY2h0IGtvbWJpbmllcnQgd2VyZGVuLiIKKyInLS1wcmVzZXJ2ZS1tZXJnZXMnIGthbm4gbmljaHQgbWl0ICctLXJlYmFzZS1tZXJnZXMnIGtvbWJpbmllcnQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjgzCisjOiBidWlsdGluL3JlYmFzZS5jOjE4OTUKK21zZ2lkICIiCisiZXJyb3I6IGNhbm5vdCBjb21iaW5lICctLXByZXNlcnZlLW1lcmdlcycgd2l0aCAnLS1yZXNjaGVkdWxlLWZhaWxlZC1leGVjJyIKK21zZ3N0ciAiIgorIkZlaGxlcjogJy0tcHJlc2VydmUtbWVyZ2VzJyBrYW5uIG5pY2h0IG1pdCAnLS1yZXNjaGVkdWxlLWZhaWxlZC1leGVjJyAiCisia29tYmluaWVydCB3ZXJkZW4uIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE5MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAnJXMnIgogbXNnc3RyICJVbmfDvGx0aWdlciBVcHN0cmVhbSAnJXMnIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEyODkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTkyNQogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgbmV3IHJvb3QgY29tbWl0IgogbXNnc3RyICJLb25udGUgbmV1ZW4gUm9vdC1Db21taXQgbmljaHQgZXJzdGVsbGVuLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMzA3CisjOiBidWlsdGluL3JlYmFzZS5jOjE5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJzogbmVlZCBleGFjdGx5IG9uZSBtZXJnZSBiYXNlIHdpdGggYnJhbmNoIgorbXNnc3RyICInJXMnOiBiZW7DtnRpZ2UgZ2VuYXUgZWluZSBNZXJnZS1CYXNpcyBtaXQgZGVtIEJyYW5jaCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxOTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IG5lZWQgZXhhY3RseSBvbmUgbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiJyVzJzogYmVuw7Z0aWdlIGdlbmF1IGVpbmUgTWVyZ2UtQmFzaXMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTMxNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxOTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0ICclcyciCiBtc2dzdHIgIiclcycgemVpZ3QgYXVmIGtlaW5lbiBnw7xsdGlnZW4gQ29tbWl0LiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMzM5CisjOiBidWlsdGluL3JlYmFzZS5jOjE5ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoL2NvbW1pdCAnJXMnIgogbXNnc3RyICJmYXRhbDogQnJhbmNoL0NvbW1pdCAnJXMnIG5pY2h0IGdlZnVuZGVuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzNDcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM3Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkzMAorIzogYnVpbHRpbi9yZWJhc2UuYzoxOTk1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZWY6ICVzIgogbXNnc3RyICJSZWZlcmVueiBuaWNodCBnZWZ1bmRlbjogJXMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM1OQorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDA2CiBtc2dpZCAiQ291bGQgbm90IHJlc29sdmUgSEVBRCB0byBhIHJldmlzaW9uIgogbXNnc3RyICJLb25udGUgSEVBRCB6dSBrZWluZW0gQ29tbWl0IGF1ZmzDtnNlbi4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM5OSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2NjUKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA0NAogbXNnaWQgIkNhbm5vdCBhdXRvc3Rhc2giCiBtc2dzdHIgIkthbm4gYXV0b21hdGlzY2hlbiBTdGFzaCBuaWNodCBlcnpldWdlbi4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQwMgorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgc3Rhc2ggcmVzcG9uc2U6ICclcyciCiBtc2dzdHIgIlVuZXJ3YXJ0ZXRlICdzdGFzaCctQW50d29ydDogJyVzJyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDA4CisjOiBidWlsdGluL3JlYmFzZS5jOjIwNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgZm9yICclcyciCiBtc2dzdHIgIktvbm50ZSBWZXJ6ZWljaG5pcyBmw7xyICclcycgbmljaHQgZXJzdGVsbGVuLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDExCisjOiBidWlsdGluL3JlYmFzZS5jOjIwNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICVzXG4iCiBtc2dzdHIgIkF1dG9tYXRpc2NoZW4gU3Rhc2ggZXJ6ZXVndDogJXNcbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDE0CisjOiBidWlsdGluL3JlYmFzZS5jOjIwNTkKIG1zZ2lkICJjb3VsZCBub3QgcmVzZXQgLS1oYXJkIgogbXNnc3RyICJLb25udGUgJ3Jlc2V0IC0taGFyZCcgbmljaHQgYXVzZsO8aHJlbi4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQxNSBidWlsdGluL3Jlc2V0LmM6MTEzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkhFQUQgaXMgbm93IGF0ICVzIgotbXNnc3RyICJIRUFEIGlzdCBqZXR6dCBiZWkgJXMiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQzMSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2NzQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA2OAogbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgIkJpdHRlIGNvbW1pdHRlbiBTaWUgZGllIMOEbmRlcnVuZ2VuIG9kZXIgYmVudXR6ZW4gU2llIFwic3Rhc2hcIi4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1OAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAnJXMnIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBwYXJzZW4uIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0NzAKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3dpdGNoIHRvICVzIgogbXNnc3RyICJLb25udGUgbmljaHQgenUgJXMgd2VjaHNlbG4uIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0ODEgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6Njk3Ci0jLCBzaC1mb3JtYXQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjExOQogbXNnaWQgIkhFQUQgaXMgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgIkhFQUQgaXN0IGFrdHVlbGwuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0ODMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAlcyBpcyB1cCB0byBkYXRlLlxuIgogbXNnc3RyICJBa3R1ZWxsZXIgQnJhbmNoICVzIGlzdCBhdWYgZGVtIG5ldWVzdGVuIFN0YW5kLlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0OTEgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzA3Ci0jLCBzaC1mb3JtYXQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEyOQogbXNnaWQgIkhFQUQgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCiBtc2dzdHIgIkhFQUQgaXN0IGFrdHVlbGwsIFJlYmFzZSBlcnp3dW5nZW4uIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0OTMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAlcyBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLlxuIgogbXNnc3RyICJBa3R1ZWxsZXIgQnJhbmNoICVzIGlzdCBhdWYgZGVtIG5ldWVzdGVuIFN0YW5kLCBSZWJhc2UgZXJ6d3VuZ2VuLlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE1MDEgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6MjA4CisjOiBidWlsdGluL3JlYmFzZS5jOjIxMzkKIG1zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKIG1zZ3N0ciAiRGVyIFwicHJlLXJlYmFzZSBob29rXCIgaGF0IGRlbiBSZWJhc2UgenVyw7xja2dld2llc2VuLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNTA4CisjOiBidWlsdGluL3JlYmFzZS5jOjIxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hhbmdlcyB0byAlczpcbiIKIG1zZ3N0ciAiw4RuZGVydW5nZW4genUgJXM6XG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxMQorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgZnJvbSAlcyB0byAlczpcbiIKIG1zZ3N0ciAiw4RuZGVydW5nZW4gdm9uICVzIHp1ICVzOlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE1MzYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi5cbiIKLW1zZ3N0ciAiWnVuw6RjaHN0IHdpcmQgZGVyIEJyYW5jaCB6dXLDvGNrZ2VzcHVsdCwgdW0gSWhyZSDDhG5kZXJ1bmdlbiBkYXJhdWYgbmV1IGFuenV3ZW5kZW4uLi5cbiIKK21zZ3N0ciAiIgorIlp1bsOkY2hzdCB3aXJkIGRlciBCcmFuY2ggenVyw7xja2dlc3B1bHQsIHVtIElocmUgw4RuZGVydW5nZW4gZGFyYXVmIG5ldSAiCisiYW56dXdlbmRlbi4uLlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE1NDMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE4MwogbXNnaWQgIkNvdWxkIG5vdCBkZXRhY2ggSEVBRCIKIG1zZ3N0ciAiS29ubnRlIEhFQUQgbmljaHQgbG9zbMO2c2VuLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNTUyCisjOiBidWlsdGluL3JlYmFzZS5jOjIxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkZWQgJXMgdG8gJXMuXG4iCiBtc2dzdHIgIlNwdWxlICVzIHZvciB6dSAlcy5cbiIKIAotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MjQKLW1zZ2lkICJubyBIRUFEPyIKLW1zZ3N0ciAiS2VpbiBIRUFEPyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6NTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJXMiCi1tc2dzdHIgIktvbm50ZSB0ZW1wb3LDpHJlcyBWZXJ6ZWljaG5pcyAnJXMnIG5pY2h0IGVyc3RlbGxlbi4iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjU3Ci1tc2dpZCAiY291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCi1tc2dzdHIgIk1hcmtpZXJ1bmcgYXVmIGludGVyYWt0aXZlbiBSZWJhc2UgZmVobGdlc2NobGFnZW4uIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxMDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IG9wZW4gJXMiCi1tc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IMO2ZmZuZW4uIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxMTQKLW1zZ2lkICJjb3VsZCBub3QgZ2VuZXJhdGUgdG9kbyBsaXN0IgotbXNnc3RyICJLb25udGUgVE9ETy1MaXN0ZSBuaWNodCBlcnpldWdlbi4iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjEyOQotbXNnaWQgImdpdCByZWJhc2UtLWludGVyYWN0aXZlIFs8b3B0aW9ucz5dIgotbXNnc3RyICJnaXQgcmViYXNlLS1pbnRlcmFjdGl2ZSBbPE9wdGlvbmVuPl0iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE0OAotbXNnaWQgImtlZXAgZW1wdHkgY29tbWl0cyIKLW1zZ3N0ciAibGVlcmUgQ29tbWl0cyBiZWhhbHRlbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTUwIGJ1aWx0aW4vcmV2ZXJ0LmM6MTI0Ci1tc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgotbXNnc3RyICJDb21taXRzIG1pdCBsZWVyZXIgQmVzY2hyZWlidW5nIGVybGF1YmVuIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTEKLW1zZ2lkICJyZWJhc2UgbWVyZ2UgY29tbWl0cyIKLW1zZ3N0ciAiUmViYXNlIGF1ZiBNZXJnZS1Db21taXRzIGF1c2bDvGhyZW4iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1MwotbXNnaWQgImtlZXAgb3JpZ2luYWwgYnJhbmNoIHBvaW50cyBvZiBjb3VzaW5zIgotbXNnc3RyICJvcmlnaW5hbGUgQnJhbmNoLVB1bmt0ZSBkZXIgQ291c2lucyBiZWhhbHRlbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTU1Ci1tc2dpZCAibW92ZSBjb21taXRzIHRoYXQgYmVnaW4gd2l0aCBzcXVhc2ghL2ZpeHVwISIKLW1zZ3N0ciAiQ29tbWl0cyB2ZXJzY2hpZWJlbiwgZGllIG1pdCBzcXVhc2ghL2ZpeHVwISBiZWdpbm5lbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTU2Ci1tc2dpZCAic2lnbiBjb21taXRzIgotbXNnc3RyICJDb21taXRzIHNpZ25pZXJlbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTU4Ci1tc2dpZCAiY29udGludWUgcmViYXNlIgotbXNnc3RyICJSZWJhc2UgZm9ydHNldHplbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTYwCi1tc2dpZCAic2tpcCBjb21taXQiCi1tc2dzdHIgIkNvbW1pdCBhdXNsYXNzZW4iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE2MQotbXNnaWQgImVkaXQgdGhlIHRvZG8gbGlzdCIKLW1zZ3N0ciAiZGllIFRPRE8tTGlzdGUgYmVhcmJlaXRlbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTYzCi1tc2dpZCAic2hvdyB0aGUgY3VycmVudCBwYXRjaCIKLW1zZ3N0ciAiZGVuIGFrdHVlbGxlbiBQYXRjaCBhbnplaWdlbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTY2Ci1tc2dpZCAic2hvcnRlbiBjb21taXQgaWRzIGluIHRoZSB0b2RvIGxpc3QiCi1tc2dzdHIgIkNvbW1pdC1JRHMgaW4gZGVyIFRPRE8tTGlzdGUgdmVya8O8cnplbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTY4Ci1tc2dpZCAiZXhwYW5kIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKLW1zZ3N0ciAiQ29tbWl0LUlEcyBpbiBkZXIgVE9ETy1MaXN0ZSBlcndlaXRlcm4iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3MAotbXNnaWQgImNoZWNrIHRoZSB0b2RvIGxpc3QiCi1tc2dzdHIgImRpZSBUT0RPLUxpc3RlIHByw7xmZW4iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3MgotbXNnaWQgInJlYXJyYW5nZSBmaXh1cC9zcXVhc2ggbGluZXMiCi1tc2dzdHIgImZpeHVwL3NxdWFzaC1aZWlsZW4gdW1vcmRuZW4iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3NAotbXNnaWQgImluc2VydCBleGVjIGNvbW1hbmRzIGluIHRvZG8gbGlzdCIKLW1zZ3N0ciAiXCJleGVjXCItQmVmZWhsZSBpbiBUT0RPLUxpc3RlIGVpbmbDvGdlbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc1Ci1tc2dpZCAib250byIKLW1zZ3N0ciAiYXVmIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzcKLW1zZ2lkICJyZXN0cmljdC1yZXZpc2lvbiIKLW1zZ3N0ciAiQmVncmVuenVuZ3Njb21taXQiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3NwotbXNnaWQgInJlc3RyaWN0IHJldmlzaW9uIgotbXNnc3RyICJCZWdyZW56dW5nc2NvbW1pdCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc4Ci1tc2dpZCAic3F1YXNoLW9udG8iCi1tc2dzdHIgInNxdWFzaC1vbnRvIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzkKLW1zZ2lkICJzcXVhc2ggb250byIKLW1zZ3N0ciAic3F1YXNoIG9udG8iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4MQotbXNnaWQgInRoZSB1cHN0cmVhbSBjb21taXQiCi1tc2dzdHIgImRlciBVcHN0cmVhbS1Db21taXQiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4MgotbXNnaWQgImhlYWQtbmFtZSIKLW1zZ3N0ciAiaGVhZC1OYW1lIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODIKLW1zZ2lkICJoZWFkIG5hbWUiCi1tc2dzdHIgImhlYWQtTmFtZSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg3Ci1tc2dpZCAicmViYXNlIHN0cmF0ZWd5IgotbXNnc3RyICJSZWJhc2UtU3RyYXRlZ2llIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODgKLW1zZ2lkICJzdHJhdGVneS1vcHRzIgotbXNnc3RyICJTdHJhdGVnaWUtT3B0aW9uZW4iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4OQotbXNnaWQgInN0cmF0ZWd5IG9wdGlvbnMiCi1tc2dzdHIgIlN0cmF0ZWdpZS1PcHRpb25lbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkwCi1tc2dpZCAic3dpdGNoLXRvIgotbXNnc3RyICJ3ZWNoc2VsbiB6dSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkxCi1tc2dpZCAidGhlIGJyYW5jaCBvciBjb21taXQgdG8gY2hlY2tvdXQiCi1tc2dzdHIgImRlciBCcmFuY2ggb2RlciBDb21taXQgenVtIEF1c2NoZWNrZW4iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5MgotbXNnaWQgIm9udG8tbmFtZSIKLW1zZ3N0ciAib250by1OYW1lIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTIKLW1zZ2lkICJvbnRvIG5hbWUiCi1tc2dzdHIgIm9udG8tTmFtZSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkzCi1tc2dpZCAiY21kIgotbXNnc3RyICJCZWZlaGwiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5MwotbXNnaWQgInRoZSBjb21tYW5kIHRvIHJ1biIKLW1zZ3N0ciAiYXVzenVmw7xocmVuZGVyIEJlZmVobCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MjIwCi1tc2dpZCAiLS1bbm8tXXJlYmFzZS1jb3VzaW5zIGhhcyBubyBlZmZlY3Qgd2l0aG91dCAtLXJlYmFzZS1tZXJnZXMiCi1tc2dzdHIgIi0tW25vLV1yZWJhc2UtY291c2lucyBoYXQgb2huZSAtLXJlYmFzZS1tZXJnZXMga2VpbmUgQXVzd2lya3VuZyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MjI2Ci1tc2dpZCAiYSBiYXNlIGNvbW1pdCBtdXN0IGJlIHByb3ZpZGVkIHdpdGggLS11cHN0cmVhbSBvciAtLW9udG8iCi1tc2dzdHIgIkVpbiBCYXNpcy1Db21taXQgbXVzcyBtaXQgLS11cHN0cmVhbSBvZGVyIC0tb250byBhbmdlZ2ViZW4gd2VyZGVuLiIKLQotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzozMworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzozMgogbXNnaWQgImdpdCByZWNlaXZlLXBhY2sgPGdpdC1kaXI+IgogbXNnc3RyICJnaXQgcmVjZWl2ZS1wYWNrIDxHaXQtVmVyemVpY2huaXM+IgogCkBAIC0xNTg2OSwxOSArMTg3NDksNzQgQEAKICJcbiIKICJVbSBkaWVzZSBNZWxkdW5nIHp1IHVudGVyZHLDvGNrZW4sIHNldHplbiBTaWUgZGllIFZhcmlhYmxlIGF1ZiAncmVmdXNlJy4iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTkyOQorIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTM2CiBtc2dpZCAicXVpZXQiCiBtc2dzdHIgIndlbmlnZXIgQXVzZ2FiZW4iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk0MworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTUwCiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIGRpcmVjdG9yeS4iCiBtc2dzdHIgIlNpZSBtw7xzc2VuIGVpbiBSZXBvc2l0b3J5IGFuZ2ViZW4uIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjU2MyBidWlsdGluL3JlZmxvZy5jOjU2OAorIzogYnVpbHRpbi9yZWZsb2cuYzoxNworbXNnaWQgIiIKKyJnaXQgcmVmbG9nIGV4cGlyZSBbLS1leHBpcmU9PHRpbWU+XSBbLS1leHBpcmUtdW5yZWFjaGFibGU9PHRpbWU+XSBbLS0iCisicmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1zdGFsZS1maXhdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gWy0tYWxsXSAiCisiPHJlZnM+Li4uIgorbXNnc3RyICIiCisiZ2l0IHJlZmxvZyBleHBpcmUgWy0tZXhwaXJlPTxaZWl0Pl0gWy0tZXhwaXJlLXVucmVhY2hhYmxlPTxaZWl0Pl0gWy0tIgorInJld3JpdGVdIFstLXVwZGF0ZXJlZl0gWy0tc3RhbGUtZml4XSBbLS1kcnktcnVuIHwgLW5dIFstLXZlcmJvc2VdIFstLWFsbF0gIgorIjxSZWZlcmVuemVuPi4uLiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzoyMgorbXNnaWQgIiIKKyJnaXQgcmVmbG9nIGRlbGV0ZSBbLS1yZXdyaXRlXSBbLS11cGRhdGVyZWZdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gIgorIjxyZWZzPi4uLiIKK21zZ3N0ciAiIgorImdpdCByZWZsb2cgZGVsZXRlIFstLXJld3JpdGVdIFstLXVwZGF0ZXJlZl0gWy0tZHJ5LXJ1biB8IC1uXSBbLS12ZXJib3NlXSAiCisiPFJlZmVyZW56ZW4+Li4uIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjI1Cittc2dpZCAiZ2l0IHJlZmxvZyBleGlzdHMgPHJlZj4iCittc2dzdHIgImdpdCByZWZsb2cgZXhpc3RzIDxSZWZlcmVuej4iCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NTY3IGJ1aWx0aW4vcmVmbG9nLmM6NTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICInJXMnIGlzdCBrZWluIGfDvGx0aWdlciBaZWl0c3RlbXBlbCIKIAorIzogYnVpbHRpbi9yZWZsb2cuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWFya2luZyByZWFjaGFibGUgb2JqZWN0cy4uLiIKK21zZ3N0ciAiTWFya2llcmUgbmljaHQgZXJyZWljaGJhcmUgT2JqZWt0ZS4uLiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo2NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcG9pbnRzIG5vd2hlcmUhIgorbXNnc3RyICIlcyB6ZWlndCBhdWYgbmljaHRzISIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo2OTUKK21zZ2lkICJubyByZWZsb2cgc3BlY2lmaWVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAiS2VpbiBSZWZsb2cgenVtIEzDtnNjaGVuIGFuZ2VnZWJlbi4iCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHJlZmxvZzogJXMiCittc2dzdHIgIktlaW4gUmVmbG9nOiAlcyIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo3MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gcmVmbG9nIGZvciAnJXMnIgorbXNnc3RyICJLZWluIFJlZmxvZyBmw7xyICclcycuIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHJlZiBmb3JtYXQ6ICVzIgorbXNnc3RyICJVbmfDvGx0aWdlcyBGb3JtYXQgZsO8ciBSZWZlcmVuemVuOiAlcyIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo3NjQKK21zZ2lkICJnaXQgcmVmbG9nIFsgc2hvdyB8IGV4cGlyZSB8IGRlbGV0ZSB8IGV4aXN0cyBdIgorbXNnc3RyICJnaXQgcmVmbG9nIFsgc2hvdyB8IGV4cGlyZSB8IGRlbGV0ZSB8IGV4aXN0cyBdIgorCiAjOiBidWlsdGluL3JlbW90ZS5jOjE2CiBtc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCkBAIC0xNjA0OCw3ICsxODk4Myw3IEBACiBtc2dpZCAiKGRlbGV0ZSkiCiBtc2dzdHIgIihsw7ZzY2hlKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MjkgYnVpbHRpbi9yZW1vdGUuYzo3NjUgYnVpbHRpbi9yZW1vdGUuYzo4NjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjI5IGJ1aWx0aW4vcmVtb3RlLmM6NzY0IGJ1aWx0aW4vcmVtb3RlLmM6ODYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlOiAnJXMnIgogbXNnc3RyICJLZWluIHNvbGNoZXMgUmVtb3RlLVJlcG9zaXRvcnk6ICclcyciCkBAIC0xNjA2OSwxNyArMTkwMDQsMTcgQEAKICJcdCVzXG4iCiAiXHRCaXR0ZSBha3R1YWxpc2llcmVuIFNpZSwgZmFsbHMgbm90d2VuZGlnLCBkaWUgS29uZmlndXJhdGlvbiBtYW51ZWxsLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3MDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBsw7ZzY2hlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3MzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNyZWF0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBlcnN0ZWxsZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODAyCisjOiBidWlsdGluL3JlbW90ZS5jOjgwMQogbXNnaWQgIiIKICJOb3RlOiBBIGJyYW5jaCBvdXRzaWRlIHRoZSByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSB3YXMgbm90IHJlbW92ZWQ7XG4iCiAidG8gZGVsZXRlIGl0LCB1c2U6IgpAQCAtMTYwOTUsMTE4ICsxOTAzMCwxMTggQEAKICJlbnRmZXJudDtcbiIKICJ1bSBkaWVzZSB6dSBlbnRmZXJuZW4sIGJlbnV0emVuIFNpZToiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODE2CisjOiBidWlsdGluL3JlbW90ZS5jOjgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIGNvbmZpZyBzZWN0aW9uICclcyciCiBtc2dzdHIgIktvbm50ZSBTZWt0aW9uICclcycgbmljaHQgYXVzIEtvbmZpZ3VyYXRpb24gZW50ZmVybmVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxNworIzogYnVpbHRpbi9yZW1vdGUuYzo5MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG5ldyAobmV4dCBmZXRjaCB3aWxsIHN0b3JlIGluIHJlbW90ZXMvJXMpIgogbXNnc3RyICIgbmV1ICh3aXJkIGJlaSBuw6RjaHN0ZW0gXCJmZXRjaFwiIGluIHJlbW90ZXMvJXMgZ2VzcGVpY2hlcnQpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkyMAorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTkKIG1zZ2lkICIgdHJhY2tlZCIKIG1zZ3N0ciAiIGdlZm9sZ3QiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTIyCisjOiBidWlsdGluL3JlbW90ZS5jOjkyMQogbXNnaWQgIiBzdGFsZSAodXNlICdnaXQgcmVtb3RlIHBydW5lJyB0byByZW1vdmUpIgogbXNnc3RyICIgdmVyYWx0ZXQgKGJlbnV0emVuIFNpZSAnZ2l0IHJlbW90ZSBwcnVuZScgenVtIEzDtnNjaGVuKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTIzCiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiID8/PyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAidW5nw7xsdGlnZXMgYnJhbmNoLiVzLm1lcmdlOyBrYW5uIFJlYmFzZSBuaWNodCBhdWYgPiAxIEJyYW5jaCBhdXNmw7xocmVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3NAorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBpbnRlcmFjdGl2ZWx5IG9udG8gcmVtb3RlICVzIgogbXNnc3RyICJpbnRlcmFrdGl2ZXIgUmViYXNlIGF1ZiBSZW1vdGUtQnJhbmNoICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3NgorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBpbnRlcmFjdGl2ZWx5ICh3aXRoIG1lcmdlcykgb250byByZW1vdGUgJXMiCiBtc2dzdHIgImludGVyYWt0aXZlciBSZWJhc2UgKG1pdCBNZXJnZXMpIGF1ZiBSZW1vdGUtQnJhbmNoICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3OQorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAiUmViYXNlIGF1ZiBSZW1vdGUtQnJhbmNoICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk4MworIzogYnVpbHRpbi9yZW1vdGUuYzo5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiIGbDvGhydCBtaXQgUmVtb3RlLUJyYW5jaCAlcyB6dXNhbW1lbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5ODYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiZsO8aHJ0IG1pdCBSZW1vdGUtQnJhbmNoICVzIHp1c2FtbWVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk4OQorIzogYnVpbHRpbi9yZW1vdGUuYzo5ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJS0qcyAgICBhbmQgd2l0aCByZW1vdGUgJXNcbiIKIG1zZ3N0ciAiJS0qcyAgICB1bmQgbWl0IFJlbW90ZS1CcmFuY2ggJXNcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMyCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzEKIG1zZ2lkICJjcmVhdGUiCiBtc2dzdHIgImVyc3RlbGx0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNAogbXNnaWQgImRlbGV0ZSIKIG1zZ3N0ciAiZ2Vsw7ZzY2h0IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzOAogbXNnaWQgInVwIHRvIGRhdGUiCiBtc2dzdHIgImFrdHVlbGwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQxCiBtc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKIG1zZ3N0ciAidm9yc3B1bGJhciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ1CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDQKIG1zZ2lkICJsb2NhbCBvdXQgb2YgZGF0ZSIKIG1zZ3N0ciAibG9rYWwgbmljaHQgYWt0dWVsbCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUyCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMgZXJ6d2luZ3QgVmVyc2FuZHQgbmFjaCAlLSpzICglcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiAgICAlLSpzIHZlcnNlbmRldCBuYWNoICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU5CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyBlcnp3aW5ndCBWZXJzYW5kIG5hY2ggJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA2MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnMgdmVyc2VuZGV0IG5hY2ggJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEzMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTI5CiBtc2dpZCAiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiCiBtc2dzdHIgImtlaW5lIEFiZnJhZ2Ugdm9uIFJlbW90ZS1SZXBvc2l0b3JpZXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiogcmVtb3RlICVzIgogbXNnc3RyICIqIFJlbW90ZS1SZXBvc2l0b3J5ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZldGNoIFVSTDogJXMiCiBtc2dzdHIgIiAgVVJMIHp1bSBBYmhvbGVuOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU5IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NSBidWlsdGluL3JlbW90ZS5jOjEzMTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OCBidWlsdGluL3JlbW90ZS5jOjExNzQgYnVpbHRpbi9yZW1vdGUuYzoxMzEzCiBtc2dpZCAiKG5vIFVSTCkiCiBtc2dzdHIgIihrZWluZSBVUkwpIgogCkBAIC0xNjIxNCwyNSArMTkxNDksMjUgQEAKICMuIHdpdGggdGhlIG9uZSBpbiAiIEZldGNoIFVSTDogJXMiCiAjLiB0cmFuc2xhdGlvbi4KICMuCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzMgYnVpbHRpbi9yZW1vdGUuYzoxMTc1CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzIgYnVpbHRpbi9yZW1vdGUuYzoxMTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUHVzaCAgVVJMOiAlcyIKIG1zZ3N0ciAiICBVUkwgenVtIFZlcnNlbmRlbjogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NyBidWlsdGluL3JlbW90ZS5jOjExNzkgYnVpbHRpbi9yZW1vdGUuYzoxMTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNzYgYnVpbHRpbi9yZW1vdGUuYzoxMTc4IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEhFQUQgYnJhbmNoOiAlcyIKIG1zZ3N0ciAiICBIYXVwdGJyYW5jaDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2CiBtc2dpZCAiKG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiKG5pY2h0IGFiZ2VmcmFndCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc4CiBtc2dpZCAiKHVua25vd24pIgogbXNnc3RyICIodW5iZWthbm50KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgzCisjOiBidWlsdGluL3JlbW90ZS5jOjExODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiAgSEVBRCBicmFuY2ggKHJlbW90ZSBIRUFEIGlzIGFtYmlndW91cywgbWF5IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nKTpcbiIKQEAgLTE2MjQwLDE3MiArMTkxNzUsMTYzIEBACiAiICBIYXVwdGJyYW5jaCAoZXh0ZXJuZXIgSEVBRCBpc3QgbWVocmRldXRpZywga8O2bm50ZSBlaW5lciBkZXIgZm9sZ2VuZGVuICIKICJzZWluKTpcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk1CisjOiBidWlsdGluL3JlbW90ZS5jOjExOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBSZW1vdGUgYnJhbmNoOiVzIgogbXNnaWRfcGx1cmFsICIgIFJlbW90ZSBicmFuY2hlczolcyIKIG1zZ3N0clswXSAiICBSZW1vdGUtQnJhbmNoOiVzIgogbXNnc3RyWzFdICIgIFJlbW90ZS1CcmFuY2hlczolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk4IGJ1aWx0aW4vcmVtb3RlLmM6MTIyNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk3IGJ1aWx0aW4vcmVtb3RlLmM6MTIyMwogbXNnaWQgIiAoc3RhdHVzIG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiIChadXN0YW5kIG5pY2h0IGFiZ2VmcmFndCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjA2CiBtc2dpZCAiICBMb2NhbCBicmFuY2ggY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgYnJhbmNoZXMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCiBtc2dzdHJbMF0gIiAgTG9rYWxlciBCcmFuY2gga29uZmlndXJpZXJ0IGbDvHIgJ2dpdCBwdWxsJzoiCiBtc2dzdHJbMV0gIiAgTG9rYWxlIEJyYW5jaGVzIGtvbmZpZ3VyaWVydCBmw7xyICdnaXQgcHVsbCc6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIxNAogbXNnaWQgIiAgTG9jYWwgcmVmcyB3aWxsIGJlIG1pcnJvcmVkIGJ5ICdnaXQgcHVzaCciCiBtc2dzdHIgIiAgTG9rYWxlIFJlZmVyZW56ZW4gd2VyZGVuIHZvbiAnZ2l0IHB1c2gnIGdlc3BpZWdlbHQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTG9jYWwgcmVmIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgcmVmcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnc3RyWzBdICIgIExva2FsZSBSZWZlcmVueiBrb25maWd1cmllcnQgZsO8ciAnZ2l0IHB1c2gnJXM6IgogbXNnc3RyWzFdICIgIExva2FsZSBSZWZlcmVuemVuIGtvbmZpZ3VyaWVydCBmw7xyICdnaXQgcHVzaCclczoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQxCiBtc2dpZCAic2V0IHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCBhY2NvcmRpbmcgdG8gcmVtb3RlIgogbXNnc3RyICJzZXR6dCByZWZzL3JlbW90ZXMvPE5hbWU+L0hFQUQgZ2Vtw6TDnyBkZW0gUmVtb3RlLVJlcG9zaXRvcnkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQzCiBtc2dpZCAiZGVsZXRlIHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCIKIG1zZ3N0ciAiZW50ZmVybnQgcmVmcy9yZW1vdGVzLzxOYW1lPi9IRUFEIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1OAogbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgcmVtb3RlIEhFQUQiCiBtc2dzdHIgIkthbm4gSEVBRCBkZXMgUmVtb3RlLVJlcG9zaXRvcmllcyBuaWNodCBiZXN0aW1tZW4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYwCiBtc2dpZCAiTXVsdGlwbGUgcmVtb3RlIEhFQUQgYnJhbmNoZXMuIFBsZWFzZSBjaG9vc2Ugb25lIGV4cGxpY2l0bHkgd2l0aDoiCiBtc2dzdHIgIiIKICJNZWhyZXJlIEhhdXB0YnJhbmNoZXMgaW0gUmVtb3RlLVJlcG9zaXRvcnkuIEJpdHRlIHfDpGhsZW4gU2llIGV4cGxpeml0IGVpbmVuICIKICJhdXMgbWl0OiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjcxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGRlbGV0ZSAlcyIKIG1zZ3N0ciAiS29ubnRlICVzIG5pY2h0IGVudGZlcm5lbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjc5CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgcmVmOiAlcyIKIG1zZ3N0ciAia2VpbmUgZ8O8bHRpZ2UgUmVmZXJlbno6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyODEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0dXAgJXMiCiBtc2dzdHIgIktvbm50ZSAlcyBuaWNodCBlaW5yaWNodGVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMgd2lyZCB1bnJlZmVyZW56aWVydCEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyBoYXMgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVzIHd1cmRlIHVucmVmZXJlbnppZXJ0ISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzEwCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJ1bmluZyAlcyIKIG1zZ3N0ciAiZW50ZmVybmUgdmVyYWx0ZXRlIEJyYW5jaGVzIHZvbiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzExCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVVJMOiAlcyIKIG1zZ3N0ciAiVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI3CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3dvdWxkIHBydW5lXSAlcyIKIG1zZ3N0ciAiICogW3fDvHJkZSB2ZXJhbHRldGVuIEJyYW5jaCBlbnRmZXJuZW5dICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbcHJ1bmVkXSAlcyIKIG1zZ3N0ciAiKiBbdmVyYWx0ZXRlbiBCcmFuY2ggZW50ZmVybnRdICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzNzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM3NAogbXNnaWQgInBydW5lIHJlbW90ZXMgYWZ0ZXIgZmV0Y2hpbmciCiBtc2dzdHIgImVudGZlcm5lIHZlcmFsdGV0ZSBCcmFuY2hlcyBpbSBSZW1vdGUtUmVwb3NpdG9yeSBuYWNoIFwiZmV0Y2hcIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDM4IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5MiBidWlsdGluL3JlbW90ZS5jOjE1NjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNyBidWlsdGluL3JlbW90ZS5jOjE0OTEgYnVpbHRpbi9yZW1vdGUuYzoxNTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlICclcyciCiBtc2dzdHIgIktlaW4gc29sY2hlcyBSZW1vdGUtUmVwb3NpdG9yeSAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ1MwogbXNnaWQgImFkZCBicmFuY2giCiBtc2dzdHIgIkJyYW5jaCBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjAKIG1zZ2lkICJubyByZW1vdGUgc3BlY2lmaWVkIgogbXNnc3RyICJrZWluIFJlbW90ZS1SZXBvc2l0b3J5IGFuZ2VnZWJlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDc4CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NzcKIG1zZ2lkICJxdWVyeSBwdXNoIFVSTHMgcmF0aGVyIHRoYW4gZmV0Y2ggVVJMcyIKIG1zZ3N0ciAibnVyIFVSTHMgZsO8ciBQdXNoIGF1c2dlYmVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0ODAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3OQogbXNnaWQgInJldHVybiBhbGwgVVJMcyIKIG1zZ3N0ciAiYWxsZSBVUkxzIGF1c2dlYmVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBVUkxzIGNvbmZpZ3VyZWQgZm9yIHJlbW90ZSAnJXMnIgogbXNnc3RyICJLZWluZSBVUkxzIGbDvHIgUmVtb3RlLVJlcG9zaXRvcnkgJyVzJyBrb25maWd1cmllcnQuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzMwogbXNnaWQgIm1hbmlwdWxhdGUgcHVzaCBVUkxzIgogbXNnc3RyICJVUkxzIGbDvHIgXCJwdXNoXCIgbWFuaXB1bGllcmVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzNQogbXNnaWQgImFkZCBVUkwiCiBtc2dzdHIgIlVSTCBoaW56dWbDvGdlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM4CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzcKIG1zZ2lkICJkZWxldGUgVVJMcyIKIG1zZ3N0ciAiVVJMcyBsw7ZzY2hlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTQ1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NDQKIG1zZ2lkICItLWFkZCAtLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKICJEaWUgT3B0aW9uZW4gLS1hZGQgdW5kIC0tZGVsZXRlIGvDtm5uZW4gbmljaHQgZ2VtZWluc2FtIHZlcndlbmRldCB3ZXJkZW4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1ODQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG9sZCBVUkwgcGF0dGVybjogJXMiCiBtc2dzdHIgInVuZ8O8bHRpZ2VzIGFsdGVzIFVSTCBGb3JtYXQ6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIFVSTCBmb3VuZDogJXMiCiBtc2dzdHIgIktlaW5lIHNvbGNoZSBVUkwgZ2VmdW5kZW46ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MwogbXNnaWQgIldpbGwgbm90IGRlbGV0ZSBhbGwgbm9uLXB1c2ggVVJMcyIKIG1zZ3N0ciAiV2VyZGUga2VpbmUgVVJMcyBlbnRmZXJuZW4sIGRpZSBuaWNodCBmw7xyIFwicHVzaFwiIGJlc3RpbW10IHNpbmQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYxMAotbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCi1tc2dzdHIgImVyd2VpdGVydGUgQXVzZ2FiZW47IG11c3Mgdm9yIGVpbmVtIFVudGVyYmVmZWhsIGFuZ2VnZWJlbiB3ZXJkZW4iCi0KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY0MQotIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgotbXNnc3RyICJVbmJla2FubnRlciBVbnRlcmJlZmVobDogJXMiCi0KLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjMKIG1zZ2lkICJnaXQgcmVwYWNrIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgcmVwYWNrIFs8T3B0aW9uZW4+XSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyNworIzogYnVpbHRpbi9yZXBhY2suYzoyOAogbXNnaWQgIiIKICJJbmNyZW1lbnRhbCByZXBhY2tzIGFyZSBpbmNvbXBhdGlibGUgd2l0aCBiaXRtYXAgaW5kZXhlcy4gIFVzZVxuIgogIi0tbm8td3JpdGUtYml0bWFwLWluZGV4IG9yIGRpc2FibGUgdGhlIHBhY2sud3JpdGViaXRtYXBzIGNvbmZpZ3VyYXRpb24uIgpAQCAtMTY0MTQsOTggKzE5MzQwLDEzOCBAQAogIi0tbm8td3JpdGUtYml0bWFwLWluZGV4IG9kZXIgZGVha3RpdmllcmVuIFNpZSBkaWUgcGFjay53cml0ZWJpdG1hcHNcbiIKICJLb25maWd1cmF0aW9uLiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyOTQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkxCittc2dpZCAiY291bGQgbm90IHN0YXJ0IHBhY2stb2JqZWN0cyB0byByZXBhY2sgcHJvbWlzb3Igb2JqZWN0cyIKK21zZ3N0ciAiIgorIktvbm50ZSAncGFjay1vYmplY3RzJyBmw7xyIGRhcyBOZXVwYWNrZW4gdm9uIE9iamVrdGVuIGF1cyBwYXJ0aWVsbCBnZWtsb250ZW5cbiIKKyJSZW1vdGUtUmVwb3NpdG9yaWVzIG5pY2h0IHN0YXJ0ZW4uIgorCisjOiBidWlsdGluL3JlcGFjay5jOjIzMCBidWlsdGluL3JlcGFjay5jOjQxNgorbXNnaWQgInJlcGFjazogRXhwZWN0aW5nIGZ1bGwgaGV4IG9iamVjdCBJRCBsaW5lcyBvbmx5IGZyb20gcGFjay1vYmplY3RzLiIKK21zZ3N0ciAiIgorInJlcGFjazogRXJ3YXJ0ZSBaZWlsZW4gbWl0IHZvbGxzdMOkbmRpZ2VyIEhleC1PYmpla3QtSUQgbnVyIHZvbiBwYWNrLW9iamVjdHMuIgorCisjOiBidWlsdGluL3JlcGFjay5jOjI1NAorbXNnaWQgImNvdWxkIG5vdCBmaW5pc2ggcGFjay1vYmplY3RzIHRvIHJlcGFjayBwcm9taXNvciBvYmplY3RzIgorbXNnc3RyICIiCisiS29ubnRlICdwYWNrLW9iamVjdHMnIGbDvHIgZGFzIE5ldXBhY2tlbiB2b24gT2JqZWt0ZW4gYXVzIHBhcnRpZWxsIGdla2xvbnRlblxuIgorIlJlbW90ZS1SZXBvc2l0b3JpZXMgbmljaHQgYWJzY2hsaWXDn2VuLiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyOTIKIG1zZ2lkICJwYWNrIGV2ZXJ5dGhpbmcgaW4gYSBzaW5nbGUgcGFjayIKIG1zZ3N0ciAiYWxsZXMgaW4gZWluZSBlaW56aWdlIFBhY2stRGF0ZWkgcGFja2VuIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjI5NgorIzogYnVpbHRpbi9yZXBhY2suYzoyOTQKIG1zZ2lkICJzYW1lIGFzIC1hLCBhbmQgdHVybiB1bnJlYWNoYWJsZSBvYmplY3RzIGxvb3NlIgogbXNnc3RyICJnZW5hdSB3aWUgLWEsIHVuZXJyZWljaGJhcmUgT2JqZWt0ZSB3ZXJkZW4gYWJlciBuaWNodCBnZWzDtnNjaHQiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk5CisjOiBidWlsdGluL3JlcGFjay5jOjI5NwogbXNnaWQgInJlbW92ZSByZWR1bmRhbnQgcGFja3MsIGFuZCBydW4gZ2l0LXBydW5lLXBhY2tlZCIKIG1zZ3N0ciAicmVkdW5kYW50ZSBQYWtldGUgZW50ZmVybmVuIHVuZCBcImdpdC1wcnVuZS1wYWNrZWRcIiBhdXNmw7xocmVuIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMwMQorIzogYnVpbHRpbi9yZXBhY2suYzoyOTkKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2UtZGVsdGEgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAiLS1uby1yZXVzZS1kZWx0YSBhbiBnaXQtcGFjay1vYmplY3RzIMO8YmVyZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzAzCisjOiBidWlsdGluL3JlcGFjay5jOjMwMQogbXNnaWQgInBhc3MgLS1uby1yZXVzZS1vYmplY3QgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAiLS1uby1yZXVzZS1vYmplY3QgYW4gZ2l0LXBhY2stb2JqZWN0cyDDvGJlcmdlYmVuIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMwNQorIzogYnVpbHRpbi9yZXBhY2suYzozMDMKIG1zZ2lkICJkbyBub3QgcnVuIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCiBtc2dzdHIgImdpdC11cGRhdGUtc2VydmVyLWluZm8gbmljaHQgYXVzZsO8aHJlbiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMDgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA2CiBtc2dpZCAicGFzcyAtLWxvY2FsIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgIi0tbG9jYWwgYW4gZ2l0LXBhY2stb2JqZWN0cyDDvGJlcmdlYmVuIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMxMAorIzogYnVpbHRpbi9yZXBhY2suYzozMDgKIG1zZ2lkICJ3cml0ZSBiaXRtYXAgaW5kZXgiCiBtc2dzdHIgIkJpdG1hcC1JbmRleCBzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEyCisjOiBidWlsdGluL3JlcGFjay5jOjMxMAogbXNnaWQgInBhc3MgLS1kZWx0YS1pc2xhbmRzIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgIi0tZGVsdGEtaXNsYW5kcyBhbiBnaXQtcGFjay1vYmplY3RzIMO8YmVyZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEzCisjOiBidWlsdGluL3JlcGFjay5jOjMxMQogbXNnaWQgImFwcHJveGlkYXRlIgogbXNnc3RyICJEYXR1bXNhbmdhYmUiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE0CisjOiBidWlsdGluL3JlcGFjay5jOjMxMgogbXNnaWQgIndpdGggLUEsIGRvIG5vdCBsb29zZW4gb2JqZWN0cyBvbGRlciB0aGFuIHRoaXMiCiBtc2dzdHIgIm1pdCAtQSwga2VpbmUgT2JqZWt0ZSDDpGx0ZXIgYWxzIGRpZXNlcyBEYXR1bSBsw7ZzY2hlbiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE0CiBtc2dpZCAid2l0aCAtYSwgcmVwYWNrIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIm1pdCAtYSwgbmljaHQgZXJyZWljaGJhcmUgT2JqZWt0ZSBuZXUgcGFja2VuIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMxOAorIzogYnVpbHRpbi9yZXBhY2suYzozMTYKIG1zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCiBtc2dzdHIgIkdyw7bDn2UgZGVzIEZlbnN0ZXJzIGbDvHIgZGllIERlbHRhLUtvbXByZXNzaW9uIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMxOSBidWlsdGluL3JlcGFjay5jOjMyNQorIzogYnVpbHRpbi9yZXBhY2suYzozMTcgYnVpbHRpbi9yZXBhY2suYzozMjMKIG1zZ2lkICJieXRlcyIKIG1zZ3N0ciAiQnl0ZXMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzIwCisjOiBidWlsdGluL3JlcGFjay5jOjMxOAogbXNnaWQgInNhbWUgYXMgdGhlIGFib3ZlLCBidXQgbGltaXQgbWVtb3J5IHNpemUgaW5zdGVhZCBvZiBlbnRyaWVzIGNvdW50IgogbXNnc3RyICIiCiAiZ2xlaWNoZXMgd2llIG9iZW4sIGFiZXIgZGllIFNwZWljaGVyZ3LDtsOfZSBhbnN0YXR0IGRlclxuIgogIkFuemFobCBkZXIgRWludHLDpGdlIGxpbWl0aWVyZW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzIyCisjOiBidWlsdGluL3JlcGFjay5jOjMyMAogbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBkZWx0YSBkZXB0aCIKIG1zZ3N0ciAiZGllIG1heGltYWxlIERlbHRhLVRpZWZlIGxpbWl0aWVyZW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI0CisjOiBidWlsdGluL3JlcGFjay5jOjMyMgogbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcyIKIG1zZ3N0ciAibWF4aW1hbGUgQW56YWhsIHZvbiBUaHJlYWRzIGxpbWl0aWVyZW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI2CisjOiBidWlsdGluL3JlcGFjay5jOjMyNAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgogbXNnc3RyICJtYXhpbWFsZSBHcsO2w59lIGbDvHIgamVkZSBQYWtldGRhdGVpIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMyOAorIzogYnVpbHRpbi9yZXBhY2suYzozMjYKIG1zZ2lkICJyZXBhY2sgb2JqZWN0cyBpbiBwYWNrcyBtYXJrZWQgd2l0aCAua2VlcCIKIG1zZ3N0ciAiIgogIk9iamVrdGUgdW1wYWNrZW4sIGRpZSBzaWNoIGluIG1pdCAua2VlcCBtYXJraWVydGVuIFBhY2stRGF0ZWllbiBiZWZpbmRlbiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMzAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI4CiBtc2dpZCAiZG8gbm90IHJlcGFjayB0aGlzIHBhY2siCiBtc2dzdHIgImRpZXNlcyBQYWtldCBuaWNodCBuZXUgcGFja2VuIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjM0MAorIzogYnVpbHRpbi9yZXBhY2suYzozMzgKIG1zZ2lkICJjYW5ub3QgZGVsZXRlIHBhY2tzIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICJrYW5uIFBhY2stRGF0ZWllbiBpbiBwcmVjaW91cy1vYmplY3RzIFJlcG9zaXRvcnkgbmljaHQgbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzQ0CisjOiBidWlsdGluL3JlcGFjay5jOjM0MgogbXNnaWQgIi0ta2VlcC11bnJlYWNoYWJsZSBhbmQgLUEgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1rZWVwLXVucmVhY2hhYmxlIHVuZCAtQSBzaW5kIGlua29tcGF0aWJlbCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzo1MjcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6NDI1Cittc2dpZCAiTm90aGluZyBuZXcgdG8gcGFjay4iCittc2dzdHIgIk5pY2h0cyBOZXVlcyB6dW0gUGFja2VuLiIKKworIzogYnVpbHRpbi9yZXBhY2suYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IFNvbWUgcGFja3MgaW4gdXNlIGhhdmUgYmVlbiByZW5hbWVkIGJ5XG4iCisiV0FSTklORzogcHJlZml4aW5nIG9sZC0gdG8gdGhlaXIgbmFtZSwgaW4gb3JkZXIgdG9cbiIKKyJXQVJOSU5HOiByZXBsYWNlIHRoZW0gd2l0aCB0aGUgbmV3IHZlcnNpb24gb2YgdGhlXG4iCisiV0FSTklORzogZmlsZS4gIEJ1dCB0aGUgb3BlcmF0aW9uIGZhaWxlZCwgYW5kIHRoZVxuIgorIldBUk5JTkc6IGF0dGVtcHQgdG8gcmVuYW1lIHRoZW0gYmFjayB0byB0aGVpclxuIgorIldBUk5JTkc6IG9yaWdpbmFsIG5hbWVzIGFsc28gZmFpbGVkLlxuIgorIldBUk5JTkc6IFBsZWFzZSByZW5hbWUgdGhlbSBpbiAlcyBtYW51YWxseTpcbiIKK21zZ3N0ciAiIgorIldBUk5VTkc6IEVpbmlnZSBpbiBWZXJ3ZW5kdW5nIGJlZmluZGxpY2hlIFBha2V0ZSB3dXJkZW5cbiIKKyJXQVJOVU5HOiB1bWJlbmFubnQsIGluZGVtICdvbGQtJyBhbiBkZXJlbiBOYW1lbiB2b3JyYW5nZXN0ZWxsdFxuIgorIldBUk5VTkc6IHd1cmRlLCB1bSBkaWVzZSBtaXQgZGVyIG5ldWVuIERhdGVpdmVyc2lvbiB6dSBlcnNldHplbi5cbiIKKyJXQVJOVU5HOiBEaWVzZSBPcGVyYXRpb24gaXN0IGZlaGxnZXNjaGxhZ2VuLiBEZXIgVmVyc3VjaCwgZGllXG4iCisiV0FSTlVORzogRGF0ZWkgenUgaWhyZW0gdXJzcHLDvG5nbGljaGVuIE5hbWVuIHVtenViZW5lbm5lbiwgc2NobHVnXG4iCisiV0FSTlVORzogZWJlbmZhbGxzIGZlaGwuXG4iCisiV0FSTlVORzogQml0dGUgYmVuZW5uZW4gU2llIGRpZXNlIG1hbnVlbGwgbmFjaCAlcyB1bTpcbiIKKworIzogYnVpbHRpbi9yZXBhY2suYzo1MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBMw7ZzY2hlbiB2b24gJyVzJyIKQEAgLTE2NTM0LDEyICsxOTUwMCw3IEBACiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PTxmb3JtYXQ+XSBbLWwgWzxwYXR0ZXJuPl1dIgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PEZvcm1hdD5dIFstbCBbPE11c3Rlcj5dXSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTggYnVpbHRpbi9yZXBsYWNlLmM6MjAzIGJ1aWx0aW4vcmVwbGFjZS5jOjIwNgotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmIgotbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBhbHMgZ8O8bHRpZ2UgUmVmZXJlbnogYXVmbMO2c2VuLiIKLQotIzogYnVpbHRpbi9yZXBsYWNlLmM6ODYKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJpbnZhbGlkIHJlcGxhY2UgZm9ybWF0ICclcydcbiIKQEAgLTE2NTQ4LDI3ICsxOTUwOSwyNyBAQAogIlVuZ8O8bHRpZ2VzIEVyc2V0enVuZ3Nmb3JtYXQgJyVzJ1xuIgogIkfDvGx0aWdlIEZvcm1hdGUgc2luZCAnc2hvcnQnLCAnbWVkaXVtJyB1bmQgJ2xvbmcnLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIxCisjOiBidWlsdGluL3JlcGxhY2UuYzoxMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwbGFjZSByZWYgJyVzJyBub3QgZm91bmQiCiBtc2dzdHIgIkVyc2V0emVuZGUgUmVmZXJlbnogJyVzJyBuaWNodCBnZWZ1bmRlbi4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEzNworIzogYnVpbHRpbi9yZXBsYWNlLmM6MTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgcmVwbGFjZSByZWYgJyVzJyIKIG1zZ3N0ciAiRXJzZXR6ZW5kZSBSZWZlcmVueiAnJXMnIGdlbMO2c2NodC4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE0OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmIG5hbWUiCiBtc2dzdHIgIiclcycgaXN0IGtlaW4gZ8O8bHRpZ2VyIFJlZmVyZW56bmFtZS4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE1NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcGxhY2UgcmVmICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIkVyc2V0emVuZGUgUmVmZXJlbnogJyVzJyBleGlzdGllcnQgYmVyZWl0cy4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJPYmplY3RzIG11c3QgYmUgb2YgdGhlIHNhbWUgdHlwZS5cbiIKQEAgLTE2NTgwLDc2ICsxOTU0MSw4MSBAQAogInfDpGhyZW5kICclcycgYXVmIGVpbiBlcnNldHplbmRlcyBPYmpla3Qgdm9tIFR5cCAnJXMnXG4iCiAiemVpZ3QuIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMjUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgenVtIFNjaHJlaWJlbiDDtmZmbmVuLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjM4CisjOiBidWlsdGluL3JlcGxhY2UuYzoyNDIKIG1zZ2lkICJjYXQtZmlsZSByZXBvcnRlZCBmYWlsdXJlIgogbXNnc3RyICJjYXQtZmlsZSBtZWxkZXRlIEZlaGxlci4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI1NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIGZvciByZWFkaW5nIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCB6dW0gTGVzZW4gw7ZmZm5lbi4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI2OAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjcyCiBtc2dpZCAidW5hYmxlIHRvIHNwYXduIG1rdHJlZSIKIG1zZ3N0ciAiS29ubnRlIG1rdHJlZSBuaWNodCBhdXNmw7xocmVuLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjcyCisjOiBidWlsdGluL3JlcGxhY2UuYzoyNzYKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBmcm9tIG1rdHJlZSIKIG1zZ3N0ciAiS29ubnRlIG5pY2h0IHZvbiBta3RyZWUgbGVzZW4uIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyODEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI4NQogbXNnaWQgIm1rdHJlZSByZXBvcnRlZCBmYWlsdXJlIgogbXNnc3RyICJta3RyZWUgbWVsZGV0ZSBGZWhsZXIuIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyODUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI4OQogbXNnaWQgIm1rdHJlZSBkaWQgbm90IHJldHVybiBhbiBvYmplY3QgbmFtZSIKIG1zZ3N0ciAibWt0cmVlIGxpZWZlcnRlIGtlaW5lbiBPYmpla3RuYW1lbiB6dXLDvGNrLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjk0CisjOiBidWlsdGluL3JlcGxhY2UuYzoyOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGZzdGF0ICVzIgogbXNnc3RyICJLYW5uIGZzdGF0IGF1ZiAlcyBuaWNodCBhdXNmw7xocmVuLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjk5CisjOiBidWlsdGluL3JlcGxhY2UuYzozMDMKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgb2JqZWN0IHRvIGRhdGFiYXNlIgogbXNnc3RyICJLb25udGUgT2JqZWt0IG5pY2h0IGluIERhdGVuYmFuayBzY2hyZWliZW4uIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozMTggYnVpbHRpbi9yZXBsYWNlLmM6MzcxIGJ1aWx0aW4vcmVwbGFjZS5jOjQxNQotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQ1CisjOiBidWlsdGluL3JlcGxhY2UuYzozMjIgYnVpbHRpbi9yZXBsYWNlLmM6Mzc4IGJ1aWx0aW4vcmVwbGFjZS5jOjQyMworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnIgogbXNnc3RyICJLZWluIGfDvGx0aWdlciBPYmpla3RuYW1lOiAnJXMnIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozMjIKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IG9iamVjdCB0eXBlIGZvciAlcyIKIG1zZ3N0ciAiS29ubnRlIE9iamVrdGFydCB2b24gJXMgbmljaHQgYmVzdGltbXRlbi4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMzOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzQyCiBtc2dpZCAiZWRpdGluZyBvYmplY3QgZmlsZSBmYWlsZWQiCiBtc2dzdHIgIkJlYXJiZWl0ZW4gdm9uIE9iamVrdGRhdGVpIGZlaGxnZXNjaGxhZ2VuLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzQ3CisjOiBidWlsdGluL3JlcGxhY2UuYzozNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IG9iamVjdCBpcyB0aGUgc2FtZSBhcyB0aGUgb2xkIG9uZTogJyVzJyIKIG1zZ3N0ciAiTmV1ZXMgT2JqZWt0IGlzdCBkYXNzZWxiZSB3aWUgZGFzIGFsdGU6ICclcyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwNworIzogYnVpbHRpbi9yZXBsYWNlLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyBhcyBhIGNvbW1pdCIKK21zZ3N0ciAiS29ubnRlIG5pY2h0ICVzIGFscyBDb21taXQgcGFyc2VuLiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBtZXJnZXRhZyBpbiBjb21taXQgJyVzJyIKIG1zZ3N0ciAidW5nw7xsdGlnZXIgTWVyZ2UtVGFnIGluIENvbW1pdCAnJXMnIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MDkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCiBtc2dzdHIgImZlaGxlcmhhZnRlciBNZXJnZS1UYWcgaW4gQ29tbWl0ICclcyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQyMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJvcmlnaW5hbCBjb21taXQgJyVzJyBjb250YWlucyBtZXJnZXRhZyAnJXMnIHRoYXQgaXMgZGlzY2FyZGVkOyB1c2UgLS1lZGl0ICIKQEAgLTE2NjU4LDMxICsxOTYyNCwzMSBAQAogIkRlciB1cnNwcsO8bmdsaWNoZSBDb21taXQgJyVzJyBlbnRow6RsdCBNZXJnZS1UYWcgJyVzJywgZGVyIHZlcndvcmZlblxuIgogIndpcmQ7IGJlbnV0emVuIFNpZSAtLWVkaXQgYW5zdGF0dCAtLWdyYWZ0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0NjAKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgb3JpZ2luYWwgY29tbWl0ICclcycgaGFzIGEgZ3BnIHNpZ25hdHVyZSIKIG1zZ3N0ciAiRGVyIG9yaWdpbmFsZSBDb21taXQgJyVzJyBoYXQgZWluZSBHUEctU2lnbmF0dXIuIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0NjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2OQogbXNnaWQgInRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGluIHRoZSByZXBsYWNlbWVudCBjb21taXQhIgogbXNnc3RyICJEaWUgU2lnbmF0dXIgd2lyZCBpbiBkZW0gRXJzZXR6dW5ncy1Db21taXQgZW50ZmVybnQhIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0NzEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgcmVwbGFjZW1lbnQgY29tbWl0IGZvcjogJyVzJyIKIG1zZ3N0ciAiS29ubnRlIEVyc2V0enVuZ3MtQ29tbWl0IGbDvHIgJyVzJyBuaWNodCBzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ3OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyYWZ0IGZvciAnJXMnIHVubmVjZXNzYXJ5IgogbXNnc3RyICJLw7xuc3RsaWNoZXIgVm9yZ8OkbmdlciAoXCJncmFmdFwiKSBmw7xyICclcycgbmljaHQgbm90d2VuZGlnLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDgyCisjOiBidWlsdGluL3JlcGxhY2UuYzo0OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IGNvbW1pdCBpcyB0aGUgc2FtZSBhcyB0aGUgb2xkIG9uZTogJyVzJyIKIG1zZ3N0ciAiTmV1ZXIgQ29tbWl0IGlzdCBkZXJzZWxiZSB3aWUgZGVyIGFsdGU6ICclcyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUxNQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjb3VsZCBub3QgY29udmVydCB0aGUgZm9sbG93aW5nIGdyYWZ0KHMpOlxuIgpAQCAtMTY2OTEsNzEgKzE5NjU3LDcxIEBACiAiS29ubnRlIGRpZSBmb2xnZW5kZW4ga8O8bnN0bGljaGVuIFZvcmfDpG5nZXIgKFwiZ3JhZnRzXCIpIG5pY2h0IGtvbnZlcnRpZXJlbjpcbiIKICIlcyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM2CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDcKIG1zZ2lkICJsaXN0IHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAiZXJzZXR6ZW5kZSBSZWZlcmVuemVuIGF1Zmxpc3RlbiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM3CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDgKIG1zZ2lkICJkZWxldGUgcmVwbGFjZSByZWZzIgogbXNnc3RyICJlcnNldHplbmRlIFJlZmVyZW56ZW4gbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUzOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQ5CiBtc2dpZCAiZWRpdCBleGlzdGluZyBvYmplY3QiCiBtc2dzdHIgImV4aXN0aWVyZW5kZXMgT2JqZWt0IGJlYXJiZWl0ZW4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUzOQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTUwCiBtc2dpZCAiY2hhbmdlIGEgY29tbWl0J3MgcGFyZW50cyIKIG1zZ3N0ciAiRWx0ZXJuLUNvbW1pdHMgZWluZXMgQ29tbWl0cyDDpG5kZXJuIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NDAKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1MQogbXNnaWQgImNvbnZlcnQgZXhpc3RpbmcgZ3JhZnQgZmlsZSIKIG1zZ3N0ciAiZXhpc3RpZXJlbmRlIERhdGVpIGRlcyBrw7xuc3RsaWNoZW4gVm9yZ8OkbmdlcnMgKFwiZ3JhZnRcIikga29udmVydGllcmVuIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NDEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1MgogbXNnaWQgInJlcGxhY2UgdGhlIHJlZiBpZiBpdCBleGlzdHMiCiBtc2dzdHIgImRpZSBSZWZlcmVueiBlcnNldHplbiwgd2VubiBzaWUgZXhpc3RpZXJ0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NDMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1NAogbXNnaWQgImRvIG5vdCBwcmV0dHktcHJpbnQgY29udGVudHMgZm9yIC0tZWRpdCIKIG1zZ3N0ciAia2VpbmUgYW5zcHJlY2hlbmRlIEFuemVpZ2UgZGVzIE9iamVrdGluaGFsdGVzIGbDvHIgLS1lZGl0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NDQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1NQogbXNnaWQgInVzZSB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAiZGFzIGFuZ2VnZWJlbmUgRm9ybWF0IGJlbnV0emVuIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NTcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU2OAogbXNnaWQgIi0tZm9ybWF0IGNhbm5vdCBiZSB1c2VkIHdoZW4gbm90IGxpc3RpbmciCiBtc2dzdHIgIi0tZm9ybWF0IGthbm4gbmljaHQgYmVpbSBBdWZsaXN0ZW4gdmVyd2VuZGV0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU2NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTc2CiBtc2dpZCAiLWYgb25seSBtYWtlcyBzZW5zZSB3aGVuIHdyaXRpbmcgYSByZXBsYWNlbWVudCIKIG1zZ3N0ciAiLWYgbWFjaHQgbnVyIGJlaW0gU2NocmVpYmVuIGVpbmVyIEVyc2V0enVuZyBTaW5uLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTY5CisjOiBidWlsdGluL3JlcGxhY2UuYzo1ODAKIG1zZ2lkICItLXJhdyBvbmx5IG1ha2VzIHNlbnNlIHdpdGggLS1lZGl0IgogbXNnc3RyICItLXJhdyBtYWNodCBudXIgbWl0IC0tZWRpdCBTaW5uLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTc1CisjOiBidWlsdGluL3JlcGxhY2UuYzo1ODYKIG1zZ2lkICItZCBuZWVkcyBhdCBsZWFzdCBvbmUgYXJndW1lbnQiCiBtc2dzdHIgIi1kIGJlbsO2dGlndCBtaW5kZXN0ZW5zIGVpbiBBcmd1bWVudC4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU4MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTkyCiBtc2dpZCAiYmFkIG51bWJlciBvZiBhcmd1bWVudHMiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgQW56YWhsIHZvbiBBcmd1bWVudGVuLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTg3CisjOiBidWlsdGluL3JlcGxhY2UuYzo1OTgKIG1zZ2lkICItZSBuZWVkcyBleGFjdGx5IG9uZSBhcmd1bWVudCIKIG1zZ3N0ciAiLWUgYmVuw7Z0aWd0IGdlbmF1IGVpbiBBcmd1bWVudC4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU5MworIzogYnVpbHRpbi9yZXBsYWNlLmM6NjA0CiBtc2dpZCAiLWcgbmVlZHMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50IgogbXNnc3RyICItZyBiZW7DtnRpZ3QgbWluZGVzdGVucyBlaW4gQXJndW1lbnQuIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1OTkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYxMAogbXNnaWQgIi0tY29udmVydC1ncmFmdC1maWxlIHRha2VzIG5vIGFyZ3VtZW50IgogbXNnc3RyICItLWNvbnZlcnQtZ3JhZnQtZmlsZSBlcndhcnRldCBrZWluZSBBcmd1bWVudGUiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYwNQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NjE2CiBtc2dpZCAib25seSBvbmUgcGF0dGVybiBjYW4gYmUgZ2l2ZW4gd2l0aCAtbCIKIG1zZ3N0ciAiTWl0IC1sIGthbm4gbnVyIGVpbiBNdXN0ZXIgYW5nZWdlYmVuIHdlcmRlbi4iCiAKQEAgLTE2NzcxLDEyNiArMTk3MzcsMTM5IEBACiBtc2dpZCAiJ2dpdCByZXJlcmUgZm9yZ2V0JyB3aXRob3V0IHBhdGhzIGlzIGRlcHJlY2F0ZWQiCiBtc2dzdHIgIidnaXQgcmVyZXJlIGZvcmdldCcgb2huZSBQZmFkZSBpc3QgdmVyYWx0ZXQuIgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjExMQorIzogYnVpbHRpbi9yZXJlcmUuYzoxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdlbmVyYXRlIGRpZmYgZm9yICclcyciCiBtc2dzdHIgIktvbm50ZSBrZWluIERpZmYgZsO8ciAnJXMnIGdlbmVyaWVyZW4uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzEKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMgogbXNnaWQgIiIKICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Q29tbWl0Pl0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMgotbXNnaWQgImdpdCByZXNldCBbLXFdIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRocz4uLi4iCi1tc2dzdHIgImdpdCByZXNldCBbLXFdIFs8Q29tbWl0LVJlZmVyZW56Pl0gWy0tXSA8UGZhZGU+Li4uIgotCiAjOiBidWlsdGluL3Jlc2V0LmM6MzMKLW1zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0iCi1tc2dzdHIgImdpdCByZXNldCAtLXBhdGNoIFs8Q29tbWl0LVJlZmVyZW56Pl0gWy0tXSBbPFBmYWRlPi4uLl0iCittc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzcGVjPi4uLiIKK21zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gWzxDb21taXQtUmVmZXJlbno+XSBbLS1dIDxQZmFkc3BlemlmaWthdGlvbj4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOQorIzogYnVpbHRpbi9yZXNldC5jOjM0Cittc2dpZCAiIgorImdpdCByZXNldCBbLXFdIFstLXBhdGhzcGVjLWZyb20tZmlsZSBbLS1wYXRoc3BlYy1maWxlLW51bF1dIFs8dHJlZS1pc2g+XSIKK21zZ3N0ciAiIgorImdpdCByZXNldCBbLXFdIFstLXBhdGhzcGVjLWZyb20tZmlsZSBbLS1wYXRoc3BlYy1maWxlLW51bF1dICIKKyJbPENvbW1pdC1SZWZlcmVuej5dIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzUKK21zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzcGVjPi4uLl0iCittc2dzdHIgImdpdCByZXNldCAtLXBhdGNoIFs8Q29tbWl0LVJlZmVyZW56Pl0gWy0tXSBbPFBmYWRzcGV6aWZpa2F0aW9uPi4uLl0iCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgIm1peGVkIgogbXNnc3RyICJtaXhlZCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5CisjOiBidWlsdGluL3Jlc2V0LmM6NDEKIG1zZ2lkICJzb2Z0IgogbXNnc3RyICJzb2Z0IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgImhhcmQiCiBtc2dzdHIgImhhcmQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOQorIzogYnVpbHRpbi9yZXNldC5jOjQxCiBtc2dpZCAibWVyZ2UiCiBtc2dzdHIgInp1c2FtbWVuZsO8aHJlbiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5CisjOiBidWlsdGluL3Jlc2V0LmM6NDEKIG1zZ2lkICJrZWVwIgogbXNnc3RyICJrZWVwIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6ODAKKyM6IGJ1aWx0aW4vcmVzZXQuYzo4MgogbXNnaWQgIllvdSBkbyBub3QgaGF2ZSBhIHZhbGlkIEhFQUQuIgogbXNnc3RyICJTaWUgaGFiZW4ga2VpbmVuIGfDvGx0aWdlbiBIRUFELiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjgyCisjOiBidWlsdGluL3Jlc2V0LmM6ODQKIG1zZ2lkICJGYWlsZWQgdG8gZmluZCB0cmVlIG9mIEhFQUQuIgogbXNnc3RyICJGZWhsZXIgYmVpbSBGaW5kZW4gZGVzIFwiVHJlZVwiLU9iamVrdGVzIHZvbiBIRUFELiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjg4CisjOiBidWlsdGluL3Jlc2V0LmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgdHJlZSBvZiAlcy4iCiBtc2dzdHIgIkZlaGxlciBiZWltIEZpbmRlbiBkZXMgXCJUcmVlXCItT2JqZWt0ZXMgdm9uICVzLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjE5MgorIzogYnVpbHRpbi9yZXNldC5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICJIRUFEIGlzIG5vdyBhdCAlcyIKK21zZ3N0ciAiSEVBRCBpc3QgamV0enQgYmVpICVzIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyBhICVzIHJlc2V0IGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZS4iCiBtc2dzdHIgIkthbm4ga2VpbmVuICclcyctUmVzZXQgZHVyY2hmw7xocmVuLCB3w6RocmVuZCBlaW4gTWVyZ2UgaW0gR2FuZ2UgaXN0LiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5MgorIzogYnVpbHRpbi9yZXNldC5jOjI5NCBidWlsdGluL3N0YXNoLmM6NTE5IGJ1aWx0aW4vc3Rhc2guYzo1OTQKKyM6IGJ1aWx0aW4vc3Rhc2guYzo2MTgKIG1zZ2lkICJiZSBxdWlldCwgb25seSByZXBvcnQgZXJyb3JzIgotbXNnc3RyICJ3ZW5pZ2VyIEF1c2dhYmVuLCBtZWxkZXQgbnVyIEZlaGxlciIKK21zZ3N0ciAid2VuaWdlciBBdXNnYWJlbiwgbnVyIEZlaGxlciBtZWxkZW4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTQKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTYKIG1zZ2lkICJyZXNldCBIRUFEIGFuZCBpbmRleCIKIG1zZ3N0ciAiSEVBRCB1bmQgSW5kZXggdW1zZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTUKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTcKIG1zZ2lkICJyZXNldCBvbmx5IEhFQUQiCiBtc2dzdHIgIm51ciBIRUFEIHVtc2V0emVuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjk3IGJ1aWx0aW4vcmVzZXQuYzoyOTkKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTkgYnVpbHRpbi9yZXNldC5jOjMwMQogbXNnaWQgInJlc2V0IEhFQUQsIGluZGV4IGFuZCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIkhFQUQsIEluZGV4IHVuZCBBcmJlaXRzdmVyemVpY2huaXMgdW1zZXR6ZW4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDEKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDMKIG1zZ2lkICJyZXNldCBIRUFEIGJ1dCBrZWVwIGxvY2FsIGNoYW5nZXMiCiBtc2dzdHIgIkhFQUQgdW1zZXR6ZW4sIGFiZXIgbG9rYWxlIMOEbmRlcnVuZ2VuIGJlaGFsdGVuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzA3CisjOiBidWlsdGluL3Jlc2V0LmM6MzA5CiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCByZW1vdmVkIHBhdGhzIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgIm51ciBzcGVpY2hlcm4sIGRhc3MgZ2Vsw7ZzY2h0ZSBQZmFkZSBzcMOkdGVyIGhpbnp1Z2Vmw7xndCB3ZXJkZW4gc29sbGVuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzI1CisjOiBidWlsdGluL3Jlc2V0LmM6MzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZXZpc2lvbi4iCiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGFscyBnw7xsdGlnZW4gQ29tbWl0IGF1ZmzDtnNlbi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMzMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHRyZWUuIgogbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBhbHMgZ8O8bHRpZ2VzIFwiVHJlZVwiLU9iamVrdCBhdWZsw7ZzZW4uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQyCisjOiBidWlsdGluL3Jlc2V0LmM6MzYwCiBtc2dpZCAiLS1wYXRjaCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLXtoYXJkLG1peGVkLHNvZnR9IgogbXNnc3RyICItLXBhdGNoIGlzdCBpbmtvbXBhdGliZWwgbWl0IC0te2hhcmQsbWl4ZWQsc29mdH0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNTEKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNzAKIG1zZ2lkICItLW1peGVkIHdpdGggcGF0aHMgaXMgZGVwcmVjYXRlZDsgdXNlICdnaXQgcmVzZXQgLS0gPHBhdGhzPicgaW5zdGVhZC4iCiBtc2dzdHIgIiIKICItLW1peGVkIG1pdCBQZmFkZW4gaXN0IHZlcmFsdGV0OyBiZW51dHplbiBTaWUgc3RhdHRkZXNzZW4gJ2dpdCByZXNldCAtLSAiCiAiPFBmYWRlPicuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzUzCisjOiBidWlsdGluL3Jlc2V0LmM6MzcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyAlcyByZXNldCB3aXRoIHBhdGhzLiIKIG1zZ3N0ciAiRWluICclcyctUmVzZXQgbWl0IFBmYWRlbiBpc3QgbmljaHQgbcO2Z2xpY2guIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzYzCisjOiBidWlsdGluL3Jlc2V0LmM6Mzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHJlc2V0IGlzIG5vdCBhbGxvd2VkIGluIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICInJXMnLVJlc2V0IGlzdCBpbiBlaW5lbSBCYXJlLVJlcG9zaXRvcnkgbmljaHQgZXJsYXVidCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM2NworIzogYnVpbHRpbi9yZXNldC5jOjM5MQogbXNnaWQgIi1OIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCAtLW1peGVkIgogbXNnc3RyICItTiBrYW5uIG51ciBtaXQgLW1peGVkIGJlbnV0enQgd2VyZGVuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mzg3CisjOiBidWlsdGluL3Jlc2V0LmM6NDEyCiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZXNldDoiCiBtc2dzdHIgIk5pY2h0IHp1bSBDb21taXQgdm9yZ2VtZXJrdGUgw4RuZGVydW5nZW4gbmFjaCBadXLDvGNrc2V0enVuZzoiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOTAKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTY5MDQsNTYgKzE5ODgzLDUxIEBACiAiZGFzIHp1IHZlcmhpbmRlcm4uIFNldHplbiBTaWUgZGllIEtvbmZpZ3VyYXRpb25zZWluc3RlbGx1bmcgcmVzZXQucXVpZXRcbiIKICJhdWYgXCJ0cnVlXCIsIHVtIGRhcyB6dW0gU3RhbmRhcmQgenUgbWFjaGVuLlxuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NDAwCisjOiBidWlsdGluL3Jlc2V0LmM6NDI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIgogbXNnc3RyICJLb25udGUgSW5kZXgtRGF0ZWkgbmljaHQgenUgQ29tbWl0ICclcycgc2V0emVuLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjQwNAorIzogYnVpbHRpbi9yZXNldC5jOjQyOQogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iCiBtc2dzdHIgIktvbm50ZSBuZXVlIEluZGV4LURhdGVpIG5pY2h0IHNjaHJlaWJlbi4iCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0MDMKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0MTEKIG1zZ2lkICJjYW5ub3QgY29tYmluZSAtLWV4Y2x1ZGUtcHJvbWlzb3Itb2JqZWN0cyBhbmQgLS1taXNzaW5nIgogbXNnc3RyICIiCiAiLS1leGNsdWRlLXByb21pc29yLW9iamVjdHMgdW5kIC0tbWlzc2luZyBrw7ZubmVuIG5pY2h0IGtvbWJpbmllcnQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjQ2MQorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjQ3MgogbXNnaWQgIm9iamVjdCBmaWx0ZXJpbmcgcmVxdWlyZXMgLS1vYmplY3RzIgogbXNnc3RyICJEYXMgRmlsdGVybiB2b24gT2JqZWt0ZW4gZXJmb3JkZXJ0IC0tb2JqZWN0cy4iCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0NjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBzcGFyc2UgdmFsdWUgJyVzJyIKLW1zZ3N0ciAiVW5nw7xsdGlnZXIgXCJzcGFyc2VcIi1XZXJ0ICclcycuIgotCi0jOiBidWlsdGluL3Jldi1saXN0LmM6NTA1CisjOiBidWlsdGluL3Jldi1saXN0LmM6NTIyCiBtc2dpZCAicmV2LWxpc3QgZG9lcyBub3Qgc3VwcG9ydCBkaXNwbGF5IG9mIG5vdGVzIgogbXNnc3RyICJyZXYtbGlzdCB1bnRlcnN0w7x0enQga2VpbmUgQW56ZWlnZSB2b24gTm90aXplbiIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUwOAorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUyNQogbXNnaWQgImNhbm5vdCBjb21iaW5lIC0tdXNlLWJpdG1hcC1pbmRleCB3aXRoIG9iamVjdCBmaWx0ZXJpbmciCiBtc2dzdHIgIiIKICItLXVzZS1iaXRtYXAtaW5kZXgga2FubiBuaWNodCBtaXQgZGVtIEZpbHRlcm4gdm9uIE9iamVrdGVuIGtvbWJpbmllcnQgd2VyZGVuLiIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDcKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDA4CiBtc2dpZCAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dIgogbXNnc3RyICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxPcHRpb25lbj5dIC0tIFs8QXJndW1lbnRlPi4uLl0iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDEyCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxMwogbXNnaWQgImtlZXAgdGhlIGAtLWAgcGFzc2VkIGFzIGFuIGFyZyIKIG1zZ3N0ciAiYC0tYCBhbHMgQXJndW1lbnQgbGFzc2VuIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxNAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTUKIG1zZ2lkICJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiCiBtc2dzdHIgImRhcyBQYXJzZW4gbmFjaCBkZW0gZXJzdGVuIEFyZ3VtZW50LCB3YXMga2VpbmUgT3B0aW9uIGlzdCwgc3RvcHBlbiIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTcKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDE4CiBtc2dpZCAib3V0cHV0IGluIHN0dWNrIGxvbmcgZm9ybSIKIG1zZ3N0ciAiIgogIkF1c2dhYmUgaW4gTGFuZ2Zvcm0gbWl0IEFyZ3VtZW50ZW4gYW4gZGVuIE9wdGlvbmVuIChnZXRyZW5udCBkdXJjaCAnPScpIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjU1MAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1NTEKIG1zZ2lkICIiCiAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dXG4iCiAiICAgb3I6IGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPGFyZz4uLi5dXG4iCkBAIC0xNjk4NCw3MiArMTk5NTgsODEgQEAKIG1zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgPHN1YmNvbW1hbmQ+IgogbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgPFVudGVyYmVmZWhsPiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo5MQorIzogYnVpbHRpbi9yZXZlcnQuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBleHBlY3RzIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiB6ZXJvIgorbXNnc3RyICJPcHRpb24gYCVzJyBlcndhcnRldCBlaW5lIE51bW1lciBncsO2w59lciBhbHMgMC4iCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiVzOiAlcyBrYW5uIG5pY2h0IG1pdCAlcyB2ZXJ3ZW5kZXQgd2VyZGVuIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKIG1zZ2lkICJlbmQgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJcInJldmVydFwiIG9kZXIgXCJjaGVycnktcGlja1wiIEFibGF1ZiBiZWVuZGVuIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJyZXN1bWUgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJcInJldmVydFwiIG9kZXIgXCJjaGVycnktcGlja1wiIEFibGF1ZiBmb3J0c2V0emVuIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKIG1zZ2lkICJjYW5jZWwgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJcInJldmVydFwiIG9kZXIgXCJjaGVycnktcGlja1wiIEFibGF1ZiBhYmJyZWNoZW4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCisjOiBidWlsdGluL3JldmVydC5jOjEwNQorbXNnaWQgInNraXAgY3VycmVudCBjb21taXQgYW5kIGNvbnRpbnVlIgorbXNnc3RyICJkZW4gYWt0dWVsbGVuIENvbW1pdCBhdXNsYXNzZW4gdW5kIGZvcnRmYWhyZW4iCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3CiBtc2dpZCAiZG9uJ3QgYXV0b21hdGljYWxseSBjb21taXQiCiBtc2dzdHIgIm5pY2h0IGF1dG9tYXRpc2NoIGNvbW1pdHRlbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA4CiBtc2dpZCAiZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIkNvbW1pdC1CZXNjaHJlaWJ1bmcgYmVhcmJlaXRlbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDcKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTExCiBtc2dpZCAicGFyZW50LW51bWJlciIKIG1zZ3N0ciAiTnVtbWVyIGRlcyBFbHRlcm50ZWlscyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyCiBtc2dpZCAic2VsZWN0IG1haW5saW5lIHBhcmVudCIKIG1zZ3N0ciAiRWx0ZXJudGVpbCBkZXIgSGF1cHRsaW5pZSBhdXN3w6RobGVuIgogCi0jOiBidWlsdGluL3JldmVydC5jOjExMAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTQKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAiTWVyZ2UtU3RyYXRlZ2llIgogCi0jOiBidWlsdGluL3JldmVydC5jOjExMgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTYKIG1zZ2lkICJvcHRpb24gZm9yIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJPcHRpb24gZsO8ciBNZXJnZS1TdHJhdGVnaWUiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIxCisjOiBidWlsdGluL3JldmVydC5jOjEyNQogbXNnaWQgImFwcGVuZCBjb21taXQgbmFtZSIKIG1zZ3N0ciAiQ29tbWl0LU5hbWVuIGFuaMOkbmdlbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI3CiBtc2dpZCAicHJlc2VydmUgaW5pdGlhbGx5IGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgInVyc3Byw7xuZ2xpY2hlLCBsZWVyZSBDb21taXRzIGVyaGFsdGVuIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyNQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjkKIG1zZ2lkICJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAicmVkdW5kYW50ZSwgbGVlcmUgQ29tbWl0cyBiZWhhbHRlbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMTkKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMyCiBtc2dpZCAicmV2ZXJ0IGZhaWxlZCIKIG1zZ3N0ciAiXCJyZXZlcnRcIiBmZWhsZ2VzY2hsYWdlbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMzIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjQ1CiBtc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgogbXNnc3RyICJcImNoZXJyeS1waWNrXCIgZmVobGdlc2NobGFnZW4iCiAKLSM6IGJ1aWx0aW4vcm0uYzoxOAorIzogYnVpbHRpbi9ybS5jOjE5CiBtc2dpZCAiZ2l0IHJtIFs8b3B0aW9ucz5dIFstLV0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgcm0gWzxPcHRpb25lbj5dIFstLV0gPERhdGVpPi4uLiIKIAotIzogYnVpbHRpbi9ybS5jOjIwNgorIzogYnVpbHRpbi9ybS5jOjIwNwogbXNnaWQgIiIKICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIHN0YWdlZCBjb250ZW50IGRpZmZlcmVudCBmcm9tIGJvdGggdGhlXG4iCiAiZmlsZSBhbmQgdGhlIEhFQUQ6IgpAQCAtMTcwNjQsNyArMjAwNDcsNyBAQAogInVudGVyc2NoaWVkbGljaFxuIgogInp1IGRlciBEYXRlaSB1bmQgSEVBRDoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMTEKKyM6IGJ1aWx0aW4vcm0uYzoyMTIKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtZiB0byBmb3JjZSByZW1vdmFsKSIKQEAgLTE3MDcyLDEzICsyMDA1NSwxMyBAQAogIlxuIgogIihiZW51dHplbiBTaWUgLWYsIHVtIGRpZSBMw7ZzY2h1bmcgenUgZXJ6d2luZ2VuKSIKIAotIzogYnVpbHRpbi9ybS5jOjIxNQorIzogYnVpbHRpbi9ybS5jOjIxNgogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dzdHJbMF0gImRpZSBmb2xnZW5kZSBEYXRlaSBoYXQgenVtIENvbW1pdCB2b3JnZW1lcmt0ZSDDhG5kZXJ1bmdlbjoiCiBtc2dzdHJbMV0gImRpZSBmb2xnZW5kZW4gRGF0ZWllbiBoYWJlbiB6dW0gQ29tbWl0IHZvcmdlbWVya3RlIMOEbmRlcnVuZ2VuOiIKIAotIzogYnVpbHRpbi9ybS5jOjIxOSBidWlsdGluL3JtLmM6MjI4CisjOiBidWlsdGluL3JtLmM6MjIwIGJ1aWx0aW4vcm0uYzoyMjkKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtLWNhY2hlZCB0byBrZWVwIHRoZSBmaWxlLCBvciAtZiB0byBmb3JjZSByZW1vdmFsKSIKQEAgLTE3MDg3LDQ0ICsyMDA3MCw0NCBAQAogIihiZW51dHplbiBTaWUgLS1jYWNoZWQsIHVtIGRpZSBEYXRlaSB6dSBiZWhhbHRlbiwgb2RlciAtZiwgdW0gZGFzIEVudGZlcm5lbiAiCiAienUgZXJ6d2luZ2VuKSIKIAotIzogYnVpbHRpbi9ybS5jOjIyNQorIzogYnVpbHRpbi9ybS5jOjIyNgogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ3N0clswXSAiZGllIGZvbGdlbmRlIERhdGVpIGhhdCBsb2thbGUgw4RuZGVydW5nZW46IgogbXNnc3RyWzFdICJkaWUgZm9sZ2VuZGVuIERhdGVpZW4gaGFiZW4gbG9rYWxlIMOEbmRlcnVuZ2VuOiIKIAotIzogYnVpbHRpbi9ybS5jOjI0MQorIzogYnVpbHRpbi9ybS5jOjI0MgogbXNnaWQgImRvIG5vdCBsaXN0IHJlbW92ZWQgZmlsZXMiCiBtc2dzdHIgImtlaW5lIGdlbMO2c2NodGVuIERhdGVpZW4gYXVmbGlzdGVuIgogCi0jOiBidWlsdGluL3JtLmM6MjQyCisjOiBidWlsdGluL3JtLmM6MjQzCiBtc2dpZCAib25seSByZW1vdmUgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgIm51ciBhdXMgZGVtIEluZGV4IGVudGZlcm5lbiIKIAotIzogYnVpbHRpbi9ybS5jOjI0MworIzogYnVpbHRpbi9ybS5jOjI0NAogbXNnaWQgIm92ZXJyaWRlIHRoZSB1cC10by1kYXRlIGNoZWNrIgogbXNnc3RyICJkaWUgXCJ1cC10by1kYXRlXCIgUHLDvGZ1bmcgw7xiZXJzY2hyZWliZW4iCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDQKKyM6IGJ1aWx0aW4vcm0uYzoyNDUKIG1zZ2lkICJhbGxvdyByZWN1cnNpdmUgcmVtb3ZhbCIKIG1zZ3N0ciAicmVrdXJzaXZlcyBFbnRmZXJuZW4gZXJsYXViZW4iCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDYKKyM6IGJ1aWx0aW4vcm0uYzoyNDcKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAibWl0IFLDvGNrZ2FiZXdlcnQgMCBiZWVuZGVuLCB3ZW5uIGtlaW5lIMOcYmVyZWluc3RpbW11bmcgZ2VmdW5kZW4gd3VyZGUiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyODgKKyM6IGJ1aWx0aW4vcm0uYzoyODkKIG1zZ2lkICJwbGVhc2Ugc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIKIG1zZ3N0ciAiIgogIkJpdHRlIG1lcmtlbiBTaWUgSWhyZSDDhG5kZXJ1bmdlbiBpbiAuZ2l0bW9kdWxlcyB6dW0gQ29tbWl0IHZvciBvZGVyXG4iCiAiYmVudXR6ZW4gU2llIFwic3Rhc2hcIiwgdW0gZm9ydHp1ZmFocmVuLiIKIAotIzogYnVpbHRpbi9ybS5jOjMwNgorIzogYnVpbHRpbi9ybS5jOjMwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgcmVtb3ZpbmcgJyVzJyByZWN1cnNpdmVseSB3aXRob3V0IC1yIgogbXNnc3RyICInJXMnIHdpcmQgbmljaHQgb2huZSAtciByZWt1cnNpdiBlbnRmZXJudCIKIAotIzogYnVpbHRpbi9ybS5jOjM0NQorIzogYnVpbHRpbi9ybS5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgcm06IHVuYWJsZSB0byByZW1vdmUgJXMiCiBtc2dzdHIgImdpdCBybToga29ubnRlICVzIG5pY2h0IGzDtnNjaGVuIgpAQCAtMTcxNTgsMTggKzIwMTQxLDYgQEAKIG1zZ2lkICJwcmludCBzdGF0dXMgZnJvbSByZW1vdGUgaGVscGVyIgogbXNnc3RyICJTdGF0dXMgZGVzIFJlbW90ZS1IZWxwZXJzIGF1c2dlYmVuIgogCi0jOiBidWlsdGluL3NlcnZlLmM6NwotbXNnaWQgImdpdCBzZXJ2ZSBbPG9wdGlvbnM+XSIKLW1zZ3N0ciAiZ2l0IHNlcnZlIFs8T3B0aW9uZW4+XSIKLQotIzogYnVpbHRpbi9zZXJ2ZS5jOjE3IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyMwotbXNnaWQgInF1aXQgYWZ0ZXIgYSBzaW5nbGUgcmVxdWVzdC9yZXNwb25zZSBleGNoYW5nZSIKLW1zZ3N0ciAibmFjaCBlaW5lbSBlaW56aWdlbiBSZXF1ZXN0L1Jlc3BvbnNlLUF1c3RhdXNjaCBiZWVuZGVuIgotCi0jOiBidWlsdGluL3NlcnZlLmM6MTkKLW1zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGFkdmVydGlzaW5nIGNhcGFiaWxpdGllcyIKLW1zZ3N0ciAiZGlyZWt0IG5hY2ggQW56ZWlnZSBkZXIgYW5nZWJvdGVuZW4gRsOkaGlna2VpdGVuIGJlZW5kZW4iCi0KICM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNAogbXNnaWQgImdpdCBzaG9ydGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHNob3J0bG9nIFs8T3B0aW9uZW4+XSBbPENvbW1pdGJlcmVpY2g+XSBbWy0tXSA8UGZhZD4uLi5dIgpAQCAtMTcyMDIsNyArMjAxNzMsNyBAQAogbXNnaWQgIkxpbmV3cmFwIG91dHB1dCIKIG1zZ3N0ciAiQXVzZ2FiZSBtaXQgWmVpbGVudW1icsO8Y2hlbiIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjI5OQorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjMwMQogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyBnaXZlbiBvdXRzaWRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgInp1IHZpZWxlIEFyZ3VtZW50ZSBhdcOfZXJoYWxiIGRlcyBSZXBvc2l0b3JpZXMgYW5nZWdlYmVuIgogCkBAIC0xNzIyOSwxMjEgKzIwMjAwLDEyMSBAQAogbXNnc3RyWzBdICJpZ25vcmllcmUgJXM7IGthbm4gbmljaHQgbWVociBhbHMgJWQgUmVmZXJlbnogYmVoYW5kZWxuIgogbXNnc3RyWzFdICJpZ25vcmllcmUgJXM7IGthbm4gbmljaHQgbWVociBhbHMgJWQgUmVmZXJlbnplbiBiZWhhbmRlbG4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1NDkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2hpbmcgcmVmcyB3aXRoICVzIgogbXNnc3RyICJrZWluZSDDvGJlcmVpbnN0aW1tZW5kZW4gUmVmZXJlbnplbiBtaXQgJXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgIlJlbW90ZS1UcmFja2luZyB1bmQgbG9rYWxlIEJyYW5jaGVzIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ3CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIlJlbW90ZS1UcmFja2luZy1CcmFuY2hlcyBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OQogbXNnaWQgImNvbG9yICcqISstJyBjb3JyZXNwb25kaW5nIHRvIHRoZSBicmFuY2giCiBtc2dzdHIgIicqISstJyBlbnRzcHJlY2hlbmQgZGVzIEJyYW5jaGVzIGVpbmbDpHJiZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTEKIG1zZ2lkICJzaG93IDxuPiBtb3JlIGNvbW1pdHMgYWZ0ZXIgdGhlIGNvbW1vbiBhbmNlc3RvciIKIG1zZ3N0ciAiPG4+IHdlaXRlcmUgQ29tbWl0cyBuYWNoIGRlbSBnZW1laW5zYW1lbiBWb3Jnw6RuZ2VyLUNvbW1pdCBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MwogbXNnaWQgInN5bm9ueW0gdG8gbW9yZT0tMSIKIG1zZ3N0ciAiU3lub255bSBmw7xyIG1vcmU9LTEiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKIG1zZ2lkICJzdXBwcmVzcyBuYW1pbmcgc3RyaW5ncyIKIG1zZ3N0ciAiTmFtZW4gdW50ZXJkcsO8Y2tlbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NgogbXNnaWQgImluY2x1ZGUgdGhlIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICJkZW4gYWt0dWVsbGVuIEJyYW5jaCBlaW5iZXppZWhlbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OAogbXNnaWQgIm5hbWUgY29tbWl0cyB3aXRoIHRoZWlyIG9iamVjdCBuYW1lcyIKIG1zZ3N0ciAiQ29tbWl0cyBuYWNoIGlocmVuIE9iamVrdG5hbWVuIGJlbmVubmVuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYwCiBtc2dpZCAic2hvdyBwb3NzaWJsZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAibcO2Z2xpY2hlIE1lcmdlLUJhc2VuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYyCiBtc2dpZCAic2hvdyByZWZzIHVucmVhY2hhYmxlIGZyb20gYW55IG90aGVyIHJlZiIKIG1zZ3N0ciAiIgogIlJlZmVyZW56ZW4sIGRpZSB1bmVycmVpY2hiYXIgdm9uIGFsbGVuIGFuZGVyZW4gUmVmZXJlbnplbiBzaW5kLCBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NAogbXNnaWQgInNob3cgY29tbWl0cyBpbiB0b3BvbG9naWNhbCBvcmRlciIKIG1zZ3N0ciAiQ29tbWl0cyBpbiB0b3BvbG9naXNjaGVyIE9yZG51bmcgYW56ZWlnZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjcKIG1zZ2lkICJzaG93IG9ubHkgY29tbWl0cyBub3Qgb24gdGhlIGZpcnN0IGJyYW5jaCIKIG1zZ3N0ciAibnVyIENvbW1pdHMgYW56ZWlnZW4sIGRpZSBzaWNoIG5pY2h0IGltIGVyc3RlbiBCcmFuY2ggYmVmaW5kZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKIG1zZ2lkICJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiCiBtc2dzdHIgIk1lcmdlcyBhbnplaWdlbiwgZGllIG51ciB2b24gZWluZW0gQnJhbmNoIGF1cyBlcnJlaWNoYmFyIHNpbmQiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzEKIG1zZ2lkICJ0b3BvbG9naWNhbGx5IHNvcnQsIG1haW50YWluaW5nIGRhdGUgb3JkZXIgd2hlcmUgcG9zc2libGUiCiBtc2dzdHIgInRvcG9sb2dpc2NoZSBTb3J0aWVydW5nLCBCZWliZWhhbHR1bmcgRGF0dW1zb3JkbnVuZyB3byBtw7ZnbGljaCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NAogbXNnaWQgIjxuPlssPGJhc2U+XSIKIG1zZ3N0ciAiPG4+Wyw8QmFzaXM+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NQogbXNnaWQgInNob3cgPG4+IG1vc3QgcmVjZW50IHJlZi1sb2cgZW50cmllcyBzdGFydGluZyBhdCBiYXNlIgogbXNnc3RyICJkaWUgPG4+IGrDvG5nc3RlbiBFaW50csOkZ2UgaW0gUmVmbG9nLCBiZWdpbm5lbmQgYW4gZGVyIEJhc2lzLCBhbnplaWdlbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxMgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxMQogbXNnaWQgIiIKICItLXJlZmxvZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50IG9yIC0tbWVyZ2UtYmFzZSIKIG1zZ3N0ciAiIgogIi0tcmVmbG9nIGlzdCBpbmtvbXBhdGliZWwgbWl0IC0tYWxsLCAtLXJlbW90ZXMsIC0taW5kZXBlbmRlbnQgb2RlciAtLW1lcmdlLSIKICJiYXNlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM1CiBtc2dpZCAibm8gYnJhbmNoZXMgZ2l2ZW4sIGFuZCBIRUFEIGlzIG5vdCB2YWxpZCIKIG1zZ3N0ciAia2VpbmUgQnJhbmNoZXMgYW5nZWdlYmVuLCB1bmQgSEVBRCBpc3QgdW5nw7xsdGlnIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM4CiBtc2dpZCAiLS1yZWZsb2cgb3B0aW9uIG5lZWRzIG9uZSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiRGllIE9wdGlvbiAtLXJlZmxvZyBiZW7DtnRpZ3QgZWluZW4gQnJhbmNobmFtZW4uIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9ubHkgJWQgZW50cnkgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKIG1zZ2lkX3BsdXJhbCAib25seSAlZCBlbnRyaWVzIGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCiBtc2dzdHJbMF0gIm51ciAlZCBFaW50cmFnIGthbm4genVyIHNlbGJlbiBaZWl0IGFuZ2V6ZWlndCB3ZXJkZW4iCiBtc2dzdHJbMV0gIm51ciAlZCBFaW50csOkZ2Uga8O2bm5lbiB6dXIgc2VsYmVuIFplaXQgYW5nZXplaWd0IHdlcmRlbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjc0NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjc0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIHJlZiAlcyIKIG1zZ3N0ciAiUmVmZXJlbnogbmljaHQgZ2VmdW5kZW46ICVzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldi4iCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldnMuIgogbXNnc3RyWzBdICJLYW5uIG5pY2h0IG1laHIgYWxzICVkIENvbW1pdCBiZWhhbmRlbG4uIgogbXNnc3RyWzFdICJLYW5uIG5pY2h0IG1laHIgYWxzICVkIENvbW1pdHMgYmVoYW5kZWxuLiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIiclcycgaXN0IGtlaW5lIGfDvGx0aWdlIFJlZmVyZW56LiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmluZCBjb21taXQgJXMgKCVzKSIKIG1zZ3N0ciAia2FubiBDb21taXQgJXMgKCVzKSBuaWNodCBmaW5kZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMQorIzogYnVpbHRpbi9zaG93LXJlZi5jOjEyCiBtc2dpZCAiIgogImdpdCBzaG93LXJlZiBbLXEgfCAtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZCB8IC0tZGVyZWZlcmVuY2VdIFstcyB8IC0tIgogImhhc2hbPTxuPl1dIFstLWFiYnJldls9PG4+XV0gWy0tdGFnc10gWy0taGVhZHNdIFstLV0gWzxwYXR0ZXJuPi4uLl0iCkBAIC0xNzM1MSw0NiArMjAzMjIsMzI2IEBACiAiZ2l0IHNob3ctcmVmIFstcSB8IC0tcXVpZXRdIFstLXZlcmlmeV0gWy0taGVhZF0gWy1kIHwgLS1kZXJlZmVyZW5jZV0gWy1zIHwgLS0iCiAiaGFzaFs9PG4+XV0gWy0tYWJicmV2Wz08bj5dXSBbLS10YWdzXSBbLS1oZWFkc10gWy0tXSBbPE11c3Rlcj4uLi5dICIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjEyCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTMKIG1zZ2lkICJnaXQgc2hvdy1yZWYgLS1leGNsdWRlLWV4aXN0aW5nWz08cGF0dGVybj5dIgogbXNnc3RyICJnaXQgc2hvdy1yZWYgLS1leGNsdWRlLWV4aXN0aW5nWz08TXVzdGVyPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjEKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjIKIG1zZ2lkICJvbmx5IHNob3cgdGFncyAoY2FuIGJlIGNvbWJpbmVkIHdpdGggaGVhZHMpIgogbXNnc3RyICJudXIgVGFncyBhbnplaWdlbiAoa2FubiBtaXQgXCJoZWFkc1wiIGtvbWJpbmllcnQgd2VyZGVuKSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2MgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2MwogbXNnaWQgIm9ubHkgc2hvdyBoZWFkcyAoY2FuIGJlIGNvbWJpbmVkIHdpdGggdGFncykiCiBtc2dzdHIgIm51ciBCcmFuY2hlcyBhbnplaWdlbiAoa2FubiBtaXQgXCJ0YWdzXCIga29tYmluaWVydCB3ZXJkZW4pIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTYzCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTY0CiBtc2dpZCAic3RyaWN0ZXIgcmVmZXJlbmNlIGNoZWNraW5nLCByZXF1aXJlcyBleGFjdCByZWYgcGF0aCIKIG1zZ3N0ciAic3RyZW5nZXJlIFJlZmVyZW56cHLDvGZ1bmcsIGVyZm9yZGVydCBleGFrdGVuIFJlZmVyZW56cGZhZCIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2NiBidWlsdGluL3Nob3ctcmVmLmM6MTY4CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTY3IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjkKIG1zZ2lkICJzaG93IHRoZSBIRUFEIHJlZmVyZW5jZSwgZXZlbiBpZiBpdCB3b3VsZCBiZSBmaWx0ZXJlZCBvdXQiCiBtc2dzdHIgIiIKICJkaWUgSEVBRC1SZWZlcmVueiBhbnplaWdlbiwgc2VsYnN0IHdlbm4gZGllc2UgYXVzZ2VmaWx0ZXJ0IHdlcmRlbiB3w7xyZGUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzAKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzEKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGludG8gb2JqZWN0IElEcyIKIG1zZ3N0ciAiVGFncyBpbiBPYmpla3QtSWRlbnRpZmlrYXRpb25lbiBkZXJlZmVyZW56aWVyZW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzIKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzMKIG1zZ2lkICJvbmx5IHNob3cgU0hBMSBoYXNoIHVzaW5nIDxuPiBkaWdpdHMiCiBtc2dzdHIgIm51ciBTSEExIEhhc2ggbWl0IDxuPiBaaWZmZXJuIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc2CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc3CiBtc2dpZCAiZG8gbm90IHByaW50IHJlc3VsdHMgdG8gc3Rkb3V0ICh1c2VmdWwgd2l0aCAtLXZlcmlmeSkiCiBtc2dzdHIgIiIKICJrZWluZSBBdXNnYWJlIGRlciBFcmdlYm5pc3NlIGluIGRpZSBTdGFuZGFyZC1BdXNnYWJlIChuw7x0emxpY2ggbWl0IC0tdmVyaWZ5KSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OQogbXNnaWQgInNob3cgcmVmcyBmcm9tIHN0ZGluIHRoYXQgYXJlbid0IGluIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKICJSZWZlcmVuemVuIHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSBhbnplaWdlbiwgZGllIHNpY2ggbmljaHQgaW0gbG9rYWxlbiAiCiAiUmVwb3NpdG9yeSBiZWZpbmRlbiIKIAorIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzoyMAorbXNnaWQgImdpdCBzcGFyc2UtY2hlY2tvdXQgKGluaXR8bGlzdHxzZXR8ZGlzYWJsZSkgPG9wdGlvbnM+IgorbXNnc3RyICJnaXQgc3BhcnNlLWNoZWNrb3V0IChpbml0fGxpc3R8c2V0fGRpc2FibGUpIDxPcHRpb25lbj4iCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6NjEKK21zZ2lkICJ0aGlzIHdvcmt0cmVlIGlzIG5vdCBzcGFyc2UgKHNwYXJzZS1jaGVja291dCBmaWxlIG1heSBub3QgZXhpc3QpIgorbXNnc3RyICIiCisiRGllc2VzIEFyYmVpdHN2ZXJ6ZWljaG5pcyBpc3QgbmljaHQgcGFydGllbGwgKERhdGVpIGbDvHIgcGFydGllbGxlciBDaGVja291dCAiCisiZXhpc3RpZXJ0IGV2ZW50dWVsbCBuaWNodCkuIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjIyMAorbXNnaWQgImZhaWxlZCB0byBzZXQgZXh0ZW5zaW9ucy53b3JrdHJlZUNvbmZpZyBzZXR0aW5nIgorbXNnc3RyICJFaW5zdGVsbHVuZyBmw7xyIGV4dGVuc2lvbnMud29ya3RyZWVDb25maWcga29ubnRlIG5pY2h0IGdlc2V0enQgd2VyZGVuIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjIzNworbXNnaWQgImdpdCBzcGFyc2UtY2hlY2tvdXQgaW5pdCBbLS1jb25lXSIKK21zZ3N0ciAiZ2l0IHNwYXJzZS1jaGVja291dCBpbml0IFstLWNvbmVdIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI1NgorbXNnaWQgImluaXRpYWxpemUgdGhlIHNwYXJzZS1jaGVja291dCBpbiBjb25lIG1vZGUiCittc2dzdHIgIkluaXRpYWxpc2llcmUgZGVuIHBhcnRpZWxsZW4gQ2hlY2tvdXQgaW0gQ29uZS1Nb2R1cyIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzoyNjIKK21zZ2lkICJpbml0aWFsaXplIHNwYXJzZS1jaGVja291dCIKK21zZ3N0ciAiUGFydGllbGxlbiBDaGVja291dCBpbml0aWFsaXNpZXJlbiIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKK21zZ3N0ciAiRmVobGVyIGJlaW0gw5ZmZm5lbiB2b24gJyVzJyIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzozNjEKK21zZ2lkICJnaXQgc3BhcnNlLWNoZWNrb3V0IHNldCAoLS1zdGRpbiB8IDxwYXR0ZXJucz4pIgorbXNnc3RyICJnaXQgc3BhcnNlLWNoZWNrb3V0IHNldCAoLS1zdGRpbiB8IDxNdXN0ZXI+KSIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzozNzgKK21zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gc3RhbmRhcmQgaW4iCittc2dzdHIgIk11c3RlciB2b24gZGVyIFN0YW5kYXJkLUVpbmdhYmUgbGVzZW4iCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6Mzg0Cittc2dpZCAic2V0IHNwYXJzZS1jaGVja291dCBwYXR0ZXJucyIKK21zZ3N0ciAiU2V0emUgTXVzdGVyIGbDvHIgcGFydGllbGxlcyBBdXNjaGVja2VuIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjQ0NworbXNnaWQgImRpc2FibGUgc3BhcnNlLWNoZWNrb3V0IgorbXNnc3RyICJQYXJ0aWVsbGVuIENoZWNrb3V0IGRlYWt0aXZpZXJlbiIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo0NTkKK21zZ2lkICJlcnJvciB3aGlsZSByZWZyZXNoaW5nIHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJGZWhsZXIgd8OkaHJlbmQgZGVyIEFrdHVhbGlzaWVydW5nIGRlcyBBcmJlaXRzdmVyemVpY2huaXNzZXMuIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjIgYnVpbHRpbi9zdGFzaC5jOjM3Cittc2dpZCAiZ2l0IHN0YXNoIGxpc3QgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCBzdGFzaCBsaXN0IFs8T3B0aW9uZW4+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjIzIGJ1aWx0aW4vc3Rhc2guYzo0MgorbXNnaWQgImdpdCBzdGFzaCBzaG93IFs8b3B0aW9ucz5dIFs8c3Rhc2g+XSIKK21zZ3N0ciAiZ2l0IHN0YXNoIHNob3cgWzxPcHRpb25lbj5dIFs8U3Rhc2g+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjI0IGJ1aWx0aW4vc3Rhc2guYzo0NworbXNnaWQgImdpdCBzdGFzaCBkcm9wIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCBkcm9wIFstcXwtLXF1aWV0XSBbPFN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNQorbXNnaWQgImdpdCBzdGFzaCAoIHBvcCB8IGFwcGx5ICkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCAoIHBvcCB8IGFwcGx5ICkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPFN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNiBidWlsdGluL3N0YXNoLmM6NjIKK21zZ2lkICJnaXQgc3Rhc2ggYnJhbmNoIDxicmFuY2huYW1lPiBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCBicmFuY2ggPEJyYW5jaD4gWzxTdGFzaD5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjcgYnVpbHRpbi9zdGFzaC5jOjY3Cittc2dpZCAiZ2l0IHN0YXNoIGNsZWFyIgorbXNnc3RyICJnaXQgc3Rhc2ggY2xlYXIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyOCBidWlsdGluL3N0YXNoLmM6NzcKK21zZ2lkICIiCisiZ2l0IHN0YXNoIFtwdXNoIFstcHwtLXBhdGNoXSBbLWt8LS1bbm8tXWtlZXAtaW5kZXhdIFstcXwtLXF1aWV0XVxuIgorIiAgICAgICAgICBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbLW18LS1tZXNzYWdlIDxtZXNzYWdlPl1cbiIKKyIgICAgICAgICAgWy0tXSBbPHBhdGhzcGVjPi4uLl1dIgorbXNnc3RyICIiCisiZ2l0IHN0YXNoIFtwdXNoIFstcHwtLXBhdGNoXSBbLWt8LS1bbm8tXWtlZXAtaW5kZXhdIFstcXwtLXF1aWV0XVxuIgorIiAgICAgICAgICBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbLW18LS1tZXNzYWdlIDxOYWNocmljaHQ+XVxuIgorIiAgICAgICAgICBbLS1dIFs8UGZhZHNwZXppZmlrYXRpb24+Li4uXV0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzozMSBidWlsdGluL3N0YXNoLmM6ODQKK21zZ2lkICIiCisiZ2l0IHN0YXNoIHNhdmUgWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisiICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFs8bWVzc2FnZT5dIgorbXNnc3RyICIiCisiZ2l0IHN0YXNoIHNhdmUgWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisiICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFs8TmFjaHJpY2h0Pl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1MgorbXNnaWQgImdpdCBzdGFzaCBwb3AgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCBwb3AgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPFN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1NworbXNnaWQgImdpdCBzdGFzaCBhcHBseSBbLS1pbmRleF0gWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIKK21zZ3N0ciAiZ2l0IHN0YXNoIGFwcGx5IFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxTdGFzaD5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6NzIKK21zZ2lkICJnaXQgc3Rhc2ggc3RvcmUgWy1tfC0tbWVzc2FnZSA8bWVzc2FnZT5dIFstcXwtLXF1aWV0XSA8Y29tbWl0PiIKK21zZ3N0ciAiZ2l0IHN0YXNoIHN0b3JlIFstbXwtLW1lc3NhZ2UgPE5hY2hyaWNodD5dIFstcXwtLXF1aWV0XSA8Q29tbWl0PiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHN0YXNoLWxpa2UgY29tbWl0IgorbXNnc3RyICInJXMnIGlzdCBrZWluIFwic3Rhc2hcIi1hcnRpZ2VyIENvbW1pdCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiVzIgorbXNnc3RyICJadSB2aWVsZSBDb21taXRzIGFuZ2VnZWJlbjolcyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE2MSBnaXQtbGVnYWN5LXN0YXNoLnNoOjU0OQorbXNnaWQgIk5vIHN0YXNoIGVudHJpZXMgZm91bmQuIgorbXNnc3RyICJLZWluZSBTdGFzaC1FaW50csOkZ2UgZ2VmdW5kZW4uIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIHJlZmVyZW5jZSIKK21zZ3N0ciAiJyVzJyBpc3Qga2VpbiBnw7xsdGlnZXIgUmVmZXJlbnpuYW1lLiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjIyNCBnaXQtbGVnYWN5LXN0YXNoLnNoOjc1Cittc2dpZCAiZ2l0IHN0YXNoIGNsZWFyIHdpdGggcGFyYW1ldGVycyBpcyB1bmltcGxlbWVudGVkIgorbXNnc3RyICJnaXQgc3Rhc2ggY2xlYXIgbWl0IFBhcmFtZXRlcm4gaXN0IG5pY2h0IGltcGxlbWVudGllcnQiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MDMKK21zZ2lkICJjYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCittc2dzdHIgIkthbm4gU3Rhc2ggbmljaHQgYW53ZW5kZW4sIHNvbGFuZ2UgZWluIE1lcmdlIGltIEdhbmdlIGlzdCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZ2VuZXJhdGUgZGlmZiAlc14hLiIKK21zZ3N0ciAiS29ubnRlIGtlaW5lbiBEaWZmIGVyemV1Z2VuICVzXiEuIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDIxCittc2dpZCAiY29uZmxpY3RzIGluIGluZGV4LlRyeSB3aXRob3V0IC0taW5kZXguIgorbXNnc3RyICJLb25mbGlrdGUgaW0gSW5kZXguIFZlcnN1Y2hlbiBTaWUgZXMgb2huZSAtLWluZGV4LiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQyNworbXNnaWQgImNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCittc2dzdHIgIktvbm50ZSBJbmRleC1WZXJ6ZWljaG5pcyBuaWNodCBzcGVpY2hlcm4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MzYKK21zZ2lkICJjb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCIKK21zZ3N0ciAiS29ubnRlIHVudmVyc2lvbmllcnRlIERhdGVpZW4gdm9tIFN0YXNoIG5pY2h0IHdpZWRlcmhlcnN0ZWxsZW4uIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lcmdpbmcgJXMgd2l0aCAlcyIKK21zZ3N0ciAiRsO8aHJlICVzIG1pdCAlcyB6dXNhbW1lbiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQ2MCBnaXQtbGVnYWN5LXN0YXNoLnNoOjY4MQorbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKK21zZ3N0ciAiSW5kZXggd3VyZGUgbmljaHQgYXVzIGRlbSBTdGFzaCB6dXLDvGNrZ2VsYWRlbi4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1MjEgYnVpbHRpbi9zdGFzaC5jOjYyMAorbXNnaWQgImF0dGVtcHQgdG8gcmVjcmVhdGUgdGhlIGluZGV4IgorbXNnc3RyICJWZXJzdWNoZSBJbmRleCB3aWVkZXJoZXJ6dXN0ZWxsZW4uIgorCisjOiBidWlsdGluL3N0YXNoLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRyb3BwZWQgJXMgKCVzKSIKK21zZ3N0ciAiJXMgKCVzKSBnZWzDtnNjaHQiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgorbXNnc3RyICIlczogS29ubnRlIFN0YXNoLUVpbnRyYWcgbmljaHQgbMO2c2NoZW4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCittc2dzdHIgIiclcycgaXN0IGtlaW5lIFN0YXNoLVJlZmVyZW56IgorCisjOiBidWlsdGluL3N0YXNoLmM6NjMyIGdpdC1sZWdhY3ktc3Rhc2guc2g6Njk1Cittc2dpZCAiVGhlIHN0YXNoIGVudHJ5IGlzIGtlcHQgaW4gY2FzZSB5b3UgbmVlZCBpdCBhZ2Fpbi4iCittc2dzdHIgIiIKKyJEZXIgU3Rhc2gtRWludHJhZyB3aXJkIGbDvHIgZGVuIEZhbGwgYmVoYWx0ZW4sIGRhc3MgU2llIGRpZXNlbiBub2NobWFsICIKKyJiZW7DtnRpZ2VuLiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjY1NSBnaXQtbGVnYWN5LXN0YXNoLnNoOjcxMworbXNnaWQgIk5vIGJyYW5jaCBuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAiS2VpbiBCcmFuY2huYW1lIHNwZXppZml6aWVydCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjc5NSBidWlsdGluL3N0YXNoLmM6ODMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB1cGRhdGUgJXMgd2l0aCAlcyIKK21zZ3N0ciAiS2FubiBuaWNodCAlcyBtaXQgJXMgYWt0dWFsaXNpZXJlbi4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo4MTMgYnVpbHRpbi9zdGFzaC5jOjE0NzAgYnVpbHRpbi9zdGFzaC5jOjE1MDYKK21zZ2lkICJzdGFzaCBtZXNzYWdlIgorbXNnc3RyICJTdGFzaC1CZXNjaHJlaWJ1bmciCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo4MjMKK21zZ2lkICJcImdpdCBzdGFzaCBzdG9yZVwiIHJlcXVpcmVzIG9uZSA8Y29tbWl0PiBhcmd1bWVudCIKK21zZ3N0ciAiXCJnaXQgc3Rhc2ggc3RvcmVcIiBlcndhcnRldCBlaW4gQXJndW1lbnQgPENvbW1pdD4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMDQ1IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjE4Cittc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKK21zZ3N0ciAiS2VpbmUgw4RuZGVydW5nZW4gYXVzZ2V3w6RobHQiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTQ1IGdpdC1sZWdhY3ktc3Rhc2guc2g6MTUwCittc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCittc2dzdHIgIlNpZSBoYWJlbiBiaXNoZXIgbm9jaCBrZWluZW4gaW5pdGlhbGVuIENvbW1pdCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExNzIgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoxNjUKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKK21zZ3N0ciAiS2FubiBkZW4gYWt0dWVsbGVuIFp1c3RhbmQgZGVzIEluZGV4IG5pY2h0IHNwZWljaGVybiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExODEgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoxODAKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgdW50cmFja2VkIGZpbGVzIgorbXNnc3RyICJLYW5uIGRpZSB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiBuaWNodCBzcGVpY2hlcm4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTkyIGJ1aWx0aW4vc3Rhc2guYzoxMjAxIGdpdC1sZWdhY3ktc3Rhc2guc2g6MjAxCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjIxNAorbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHdvcmt0cmVlIHN0YXRlIgorbXNnc3RyICJLYW5uIGRlbiBha3R1ZWxsZW4gWnVzdGFuZCBkZXMgQXJiZWl0c3ZlcnplaWNobmlzc2VzIG5pY2h0IHNwZWljaGVybiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyMjkgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMzQKK21zZ2lkICJDYW5ub3QgcmVjb3JkIHdvcmtpbmcgdHJlZSBzdGF0ZSIKK21zZ3N0ciAiS2FubiBadXN0YW5kIGRlcyBBcmJlaXRzdmVyemVpY2huaXNzZXMgbmljaHQgYXVmemVpY2huZW4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMjc4IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzM4Cittc2dpZCAiQ2FuJ3QgdXNlIC0tcGF0Y2ggYW5kIC0taW5jbHVkZS11bnRyYWNrZWQgb3IgLS1hbGwgYXQgdGhlIHNhbWUgdGltZSIKK21zZ3N0ciAiIgorIkthbm4gbmljaHQgZ2xlaWNoemVpdGlnIC0tcGF0Y2ggdW5kIC0taW5jbHVkZS11bnRyYWNrZWQgb2RlciAtLWFsbCB2ZXJ3ZW5kZW4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMjk0Cittc2dpZCAiRGlkIHlvdSBmb3JnZXQgdG8gJ2dpdCBhZGQnPyIKK21zZ3N0ciAiSGFiZW4gU2llIHZpZWxsZWljaHQgJ2dpdCBhZGQnIHZlcmdlc3Nlbj8iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzA5IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzQ2Cittc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgorbXNnc3RyICJLZWluZSBsb2thbGVuIMOEbmRlcnVuZ2VuIHp1bSBTcGVpY2hlcm4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzE2IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzUxCittc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCittc2dzdHIgIkthbm4gXCJzdGFzaFwiIG5pY2h0IGluaXRpYWxpc2llcmVuIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTMzMSBnaXQtbGVnYWN5LXN0YXNoLnNoOjM1NQorbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHN0YXR1cyIKK21zZ3N0ciAiS2FubiBkZW4gYWt0dWVsbGVuIFN0YXR1cyBuaWNodCBzcGVpY2hlcm4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBpbmRleCBzdGF0ZSAlcyIKK21zZ3N0ciAiQXJiZWl0c3ZlcnplaWNobmlzIHVuZCBJbmRleC1TdGF0dXMgJXMgZ2VzcGVpY2hlcnQuIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQyNiBnaXQtbGVnYWN5LXN0YXNoLnNoOjM4NQorbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKK21zZ3N0ciAiS2FubiDDhG5kZXJ1bmdlbiBpbSBBcmJlaXRzdmVyemVpY2huaXMgbmljaHQgbMO2c2NoZW4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDYxIGJ1aWx0aW4vc3Rhc2guYzoxNDk3Cittc2dpZCAia2VlcCBpbmRleCIKK21zZ3N0ciAiYmVoYWx0ZSBJbmRleCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjMgYnVpbHRpbi9zdGFzaC5jOjE0OTkKK21zZ2lkICJzdGFzaCBpbiBwYXRjaCBtb2RlIgorbXNnc3RyICJTdGFzaCBpbiBQYXRjaC1Nb2R1cyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjQgYnVpbHRpbi9zdGFzaC5jOjE1MDAKK21zZ2lkICJxdWlldCBtb2RlIgorbXNnc3RyICJ3ZW5pZ2VyIEF1c2dhYmVuIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ2NiBidWlsdGluL3N0YXNoLmM6MTUwMgorbXNnaWQgImluY2x1ZGUgdW50cmFja2VkIGZpbGVzIGluIHN0YXNoIgorbXNnc3RyICJ1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuIGluIFN0YXNoIGVpbmJlemllaGVuIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ2OCBidWlsdGluL3N0YXNoLmM6MTUwNAorbXNnaWQgImluY2x1ZGUgaWdub3JlIGZpbGVzIgorbXNnc3RyICJpZ25vcmllcnRlIERhdGVpZW4gZWluYmV6aWVoZW4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNTY0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBleGVjICVzIgorbXNnc3RyICJLb25udGUgJ2V4ZWMgJXMnIG5pY2h0IGF1c2bDvGhyZW4uIgorCiAjOiBidWlsdGluL3N0cmlwc3BhY2UuYzoxOAogbXNnaWQgImdpdCBzdHJpcHNwYWNlIFstcyB8IC0tc3RyaXAtY29tbWVudHNdIgogbXNnc3RyICJnaXQgc3RyaXBzcGFjZSBbLXMgfCAtLXN0cmlwLWNvbW1lbnRzXSIKQEAgLTE3Mzk5LDUwICsyMDY1MCw1MCBAQAogbXNnaWQgImdpdCBzdHJpcHNwYWNlIFstYyB8IC0tY29tbWVudC1saW5lc10iCiBtc2dzdHIgImdpdCBzdHJpcHNwYWNlIFstYyB8IC0tY29tbWVudC1saW5lc10iCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM2CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzozNwogbXNnaWQgInNraXAgYW5kIHJlbW92ZSBhbGwgbGluZXMgc3RhcnRpbmcgd2l0aCBjb21tZW50IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogImFsbGUgWmVpbGVuLCBkaWUgbWl0IGRlbSBLb21tZW50YXJ6ZWljaGVuIGJlZ2lubmVuLCDDvGJlcnNwcmluZ2VuIHVuZCAiCiAiZW50ZmVybmVuIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzozOQorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6NDAKIG1zZ2lkICJwcmVwZW5kIGNvbW1lbnQgY2hhcmFjdGVyIGFuZCBzcGFjZSB0byBlYWNoIGxpbmUiCiBtc2dzdHIgIktvbW1lbnRhcnplaWNoZW4gbWl0IExlZXJ6ZWljaGVuIGFuIGplZGUgWmVpbGUgdm9yYW5zdGVsbGVuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MzkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RpbmcgYSBmdWxsIHJlZiBuYW1lLCBnb3QgJXMiCiBtc2dzdHIgIlZvbGxzdMOkbmRpZ2VyIFJlZmVyZW56bmFtZSBlcndhcnRldCwgJXMgZXJoYWx0ZW4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0CiBtc2dpZCAic3VibW9kdWxlLS1oZWxwZXIgcHJpbnQtZGVmYXVsdC1yZW1vdGUgdGFrZXMgbm8gYXJndW1lbnRzIgogbXNnc3RyICInc3VibW9kdWxlLS1oZWxwZXIgcHJpbnQtZGVmYXVsdC1yZW1vdGUnIGVyd2FydGV0IGtlaW5lIEFyZ3VtZW50ZS4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RyaXAgb25lIGNvbXBvbmVudCBvZmYgdXJsICclcyciCiBtc2dzdHIgIkthbm4gZWluZSBLb21wb25lbnRlIHZvbiBVUkwgJyVzJyBuaWNodCBleHRyYWhpZXJlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4MAogbXNnaWQgImFsdGVybmF0aXZlIGFuY2hvciBmb3IgcmVsYXRpdmUgcGF0aHMiCiBtc2dzdHIgIkFsdGVybmF0aXZlciBBbmtlciBmw7xyIHJlbGF0aXZlIFBmYWRlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDEyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDE1CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IFstLXByZWZpeD08UGZhZD5dIFs8UGZhZD4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDY5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MjYKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NzIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzMAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyB1cmwgZm91bmQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcycgaW4gLmdpdG1vZHVsZXMiCiBtc2dzdHIgIktlaW5lIFVSTCBmw7xyIFN1Ym1vZHVsLVBmYWQgJyVzJyBpbiAuZ2l0bW9kdWxlcyBnZWZ1bmRlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJFbnRlcmluZyAnJXMnXG4iCiBtc2dzdHIgIkJldHJldGUgJyVzJ1xuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fY29tbWFuZCByZXR1cm5lZCBub24temVybyBzdGF0dXMgZm9yICVzXG4iCkBAIC0xNzQ1MSw3ICsyMDcwMiw3IEBACiAicnVuX2NvbW1hbmQgZ2FiIG5pY2h0LU51bGwgU3RhdHVzIGbDvHIgJyVzJyB6dXLDvGNrLlxuIgogIi4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NDUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9jb21tYW5kIHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cyB3aGlsZSByZWN1cnNpbmcgaW4gdGhlIG5lc3RlZCAiCkBAIC0xNzQ2MywyMSArMjA3MTQsMjEgQEAKICJuaWNodC1OdWxsIFN0YXR1cyB6dXLDvGNrLlxuIgogIi4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjUKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgb2YgZW50ZXJpbmcgZWFjaCBzdWJtb2R1bGUgY29tbWFuZCIKIG1zZ3N0ciAiIgogIkF1c2dhYmVuIGJlaW0gQmV0cmV0ZW4gdW5kIGRlciBCZWZlaGxzYXVzZsO8aHJ1bmcgaW4gZWluZW0gU3VibW9kdWwgIgogInVudGVyZHLDvGNrZW4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNDgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTMKIG1zZ2lkICJSZWN1cnNlIGludG8gbmVzdGVkIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIlJla3Vyc2lvbiBpbiB2ZXJzY2hhY2h0ZWx0ZSBTdWJtb2R1bGUgZHVyY2hmw7xocmVuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTY4Ci1tc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGZvcmVhY2ggWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gPGNvbW1hbmQ+IgotbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZm9yZWFjaCBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSA8QmVmZWhsPiIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NzIKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZm9yZWFjaCBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSBbLS1dIDxjb21tYW5kPiIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGZvcmVhY2ggWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWy0tXSA8QmVmZWhsPiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IGxvb2sgdXAgY29uZmlndXJhdGlvbiAnJXMnLiBBc3N1bWluZyB0aGlzIHJlcG9zaXRvcnkgaXMgaXRzIG93biAiCkBAIC0xNzQ4NiwxMDQgKzIwNzM3LDEwNCBAQAogIktvbm50ZSBLb25maWd1cmF0aW9uICclcycgbmljaHQgbmFjaHNjaGxhZ2VuLiBOZWhtZSBhbiwgZGFzcyBkaWVzZXNcbiIKICJSZXBvc2l0b3J5IHNlaW4gZWlnZW5lcyB2ZXJiaW5kbGljaGVzIFVwc3RyZWFtLVJlcG9zaXRvcnkgaXN0LiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAiRmVobGVyIGJlaW0gRWludHJhZ2VuIGRlciBVUkwgZsO8ciBTdWJtb2R1bC1QZmFkICclcycgaW4gZGllIEtvbmZpZ3VyYXRpb24uIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjY3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJXMnICglcykgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCiBtc2dzdHIgIlN1Ym1vZHVsICclcycgKCVzKSBmw7xyIFBmYWQgJyVzJyBpbiBkaWUgS29uZmlndXJhdGlvbiBlaW5nZXRyYWdlbi5cbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY3NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBjb21tYW5kIHVwZGF0ZSBtb2RlIHN1Z2dlc3RlZCBmb3Igc3VibW9kdWxlICclcydcbiIKIG1zZ3N0ciAiV2FybnVuZzogJ3VwZGF0ZSctTW9kdXMgZsO8ciBTdWJtb2R1bCAnJXMnIHZvcmdlc2NobGFnZW5cbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXBkYXRlIG1vZGUgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIiIKICJGZWhsZXIgYmVpIMOEbmRlcnVuZyBkZXMgQWt0dWFsaXNpZXJ1bmdzbW9kdXMgZsO8ciBTdWJtb2R1bC1QZmFkICclcycgaW4gZGVyXG4iCiAiS29uZmlndXJhdGlvbi4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MTAKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgZm9yIGluaXRpYWxpemluZyBhIHN1Ym1vZHVsZSIKIG1zZ3N0ciAiQXVzZ2FiZW4gYmVpIEluaXRpYWxpc2llcnVuZyBlaW5lcyBTdWJtb2R1bHMgdW50ZXJkcsO8Y2tlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcxMQotbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cGF0aD5dIgotbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPFBmYWQ+XSIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MTUKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPG9wdGlvbnM+XSBbPHBhdGg+XSIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzxPcHRpb25lbj5dIFs8UGZhZD5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzgzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MDkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWJtb2R1bGUgbWFwcGluZyBmb3VuZCBpbiAuZ2l0bW9kdWxlcyBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICJLZWluZSBTdWJtb2R1bC1adW9yZG51bmcgaW4gLmdpdG1vZHVsZXMgZsO8ciBQZmFkICclcycgZ2VmdW5kZW4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4MjIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCByZWYgaW5zaWRlIHRoZSBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIEhFQUQtUmVmZXJlbnogbmljaHQgaW5uZXJoYWxiIGRlcyBTdWJtb2R1bC1QZmFkcyAnJXMnIGF1ZmzDtnNlbi4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NDkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NTQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiRmVobGVyIGJlaSBSZWt1cnNpb24gaW4gU3VibW9kdWwgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NzMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NzggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODkKIG1zZ2lkICJTdXBwcmVzcyBzdWJtb2R1bGUgc3RhdHVzIG91dHB1dCIKIG1zZ3N0ciAiQXVzZ2FiZSDDvGJlciBTdWJtb2R1bC1TdGF0dXMgdW50ZXJkcsO8Y2tlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3OQogbXNnaWQgIiIKICJVc2UgY29tbWl0IHN0b3JlZCBpbiB0aGUgaW5kZXggaW5zdGVhZCBvZiB0aGUgb25lIHN0b3JlZCBpbiB0aGUgc3VibW9kdWxlICIKICJIRUFEIgogbXNnc3RyICIiCiAiQmVudXR6ZSBkZW4gQ29tbWl0LCBkZXIgaW0gSW5kZXggZ2VzcGVpY2hlcnQgaXN0LCBzdGF0dCBkZW4gaW0gU3VibW9kdWwgSEVBRCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg4MAogbXNnaWQgInJlY3Vyc2UgaW50byBuZXN0ZWQgc3VibW9kdWxlcyIKIG1zZ3N0ciAiUmVrdXJzaW9uIGluIHZlcnNjaGFjaHRlbHRlIFN1Ym1vZHVsZSBkdXJjaGbDvGhyZW4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4ODAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4ODUKIG1zZ2lkICJnaXQgc3VibW9kdWxlIHN0YXR1cyBbLS1xdWlldF0gWy0tY2FjaGVkXSBbLS1yZWN1cnNpdmVdIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlIHN0YXR1cyBbLS1xdWlldF0gWy0tY2FjaGVkXSBbLS1yZWN1cnNpdmVdIFs8UGZhZD4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA5CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPHBhdGg+IgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8UGZhZD4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJXMnXG4iCiBtc2dzdHIgIlN5bmNocm9uaXNpZXJlIFN1Ym1vZHVsLVVSTCBmw7xyICclcydcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBSZWdpc3RyaWVyZW4gZGVyIFVSTCBmw7xyIFN1Ym1vZHVsLVBmYWQgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgZGVmYXVsdCByZW1vdGUgZm9yIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBMZXNlbiBkZXMgU3RhbmRhcmQtUmVtb3RlLVJlcG9zaXRvcmllcyBmw7xyIFN1Ym1vZHVsICclcycuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTk5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdXBkYXRlIHJlbW90ZSBmb3Igc3VibW9kdWxlICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIEFrdHVhbGlzaWVyZW4gZGVzIFJlbW90ZS1SZXBvc2l0b3JpZXMgZsO8ciBTdWJtb2R1bCAnJXMnLiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDUxCiBtc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IG9mIHN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCIKIG1zZ3N0ciAiQXVzZ2FiZW4gYmVpIGRlciBTeW5jaHJvbmlzaWVydW5nIGRlciBTdWJtb2R1bC1VUkxzIHVudGVyZHLDvGNrZW4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDUzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1OAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBzeW5jIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIFs8cGF0aD5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgc3luYyBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSBbPFBmYWQ+XSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICclcycgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeSAodXNlICdybSAtcmYnIGlmIHlvdSAiCkBAIC0xNzU5Myw3ICsyMDg0NCw3IEBACiAiKGJlbnV0emVuIFNpZSAncm0gLXJmJywgd2VubiBTaWUgZGllc2VzIHdpcmtsaWNoIG1pdHNhbXQgc2VpbmVyIEhpc3RvcmllXG4iCiAibMO2c2NoZW4gbcO2Y2h0ZW4pIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTExOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyVzJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byBkaXNjYXJkICIKQEAgLTE3NjAyLDg0ICsyMDg1MywxMDEgQEAKICJBcmJlaXRzdmVyemVpY2huaXMgdm9uIFN1Ym1vZHVsIGluICclcycgZW50aMOkbHQgbG9rYWxlIMOEbmRlcnVuZ2VuO1xuIgogInZlcndlbmRlbiBTaWUgJy1mJywgdW0gZGllc2UgenUgdmVyd2VyZmVuLiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMjcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsZWFyZWQgZGlyZWN0b3J5ICclcydcbiIKIG1zZ3N0ciAiVmVyemVpY2huaXMgJyVzJyBiZXJlaW5pZ3QuXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTI5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIHN1Ym1vZHVsZSB3b3JrIHRyZWUgJyVzJ1xuIgogbXNnc3RyICJLb25udGUgQXJiZWl0c3ZlcnplaWNobmlzIGRlcyBTdWJtb2R1bHMgaW4gJyVzJyBuaWNodCBsw7ZzY2hlbi5cbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAiS29ubnRlIGtlaW4gbGVlcmVzIFZlcnplaWNobmlzIGbDvHIgU3VibW9kdWwgaW4gJyVzJyBlcnN0ZWxsZW4uIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE1NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgKCVzKSB1bnJlZ2lzdGVyZWQgZm9yIHBhdGggJyVzJ1xuIgogbXNnc3RyICJTdWJtb2R1bCAnJXMnICglcykgZsO8ciBQZmFkICclcycgYXVzZ2V0cmFnZW4uXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTgzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE5MAogbXNnaWQgIlJlbW92ZSBzdWJtb2R1bGUgd29ya2luZyB0cmVlcyBldmVuIGlmIHRoZXkgY29udGFpbiBsb2NhbCBjaGFuZ2VzIgogbXNnc3RyICIiCiAiQXJiZWl0c3ZlcnplaWNobmlzc2Ugdm9uIFN1Ym1vZHVsZW4gbMO2c2NoZW4sIGF1Y2ggd2VubiBsb2thbGUgw4RuZGVydW5nZW4gIgogInZvcmxpZWdlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTkxCiBtc2dpZCAiVW5yZWdpc3RlciBhbGwgc3VibW9kdWxlcyIKIG1zZ3N0ciAiYWxsZSBTdWJtb2R1bGUgYXVzdHJhZ2VuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE4OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExOTYKIG1zZ2lkICIiCiAiZ2l0IHN1Ym1vZHVsZSBkZWluaXQgWy0tcXVpZXRdIFstZiB8IC0tZm9yY2VdIFstLWFsbCB8IFstLV0gWzxwYXRoPi4uLl1dIgogbXNnc3RyICIiCiAiZ2l0IHN1Ym1vZHVsZSBkZWluaXQgWy0tcXVpZXRdIFstZiB8IC0tZm9yY2VdIFstLWFsbCB8IFstLV0gWzxQZmFkPi4uLl1dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTIwMworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyMTAKIG1zZ2lkICJVc2UgJy0tYWxsJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAiVmVyd2VuZGVuIFNpZSAnLS1hbGwnLCB3ZW5uIFNpZSB3aXJrbGljaCBhbGxlIFN1Ym1vZHVsZSBkZWluaXRpYWxpc2llcmVuXG4iCiAibcO2Y2h0ZW4uIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTI5NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTMwMAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyNzUKK21zZ2lkICIiCisiQW4gYWx0ZXJuYXRlIGNvbXB1dGVkIGZyb20gYSBzdXBlcnByb2plY3QncyBhbHRlcm5hdGUgaXMgaW52YWxpZC5cbiIKKyJUbyBhbGxvdyBHaXQgdG8gY2xvbmUgd2l0aG91dCBhbiBhbHRlcm5hdGUgaW4gc3VjaCBhIGNhc2UsIHNldFxuIgorInN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IHRvICdpbmZvJyBvciwgZXF1aXZhbGVudGx5LCBjbG9uZSB3aXRoXG4iCisiJy0tcmVmZXJlbmNlLWlmLWFibGUnIGluc3RlYWQgb2YgJy0tcmVmZXJlbmNlJy4iCittc2dzdHIgIiIKKyJFaW5lIEFsdGVybmF0aXZlLCBkaWUgdm9uIGVpbmVyIMO8YmVyZ2VvcmRuZXRlbiBQcm9qZWt0LUFsdGVybmF0aXZlXG4iCisiYmVyZWNobmV0IHd1cmRlLCBpc3QgdW5nw7xsdGlnLlxuIgorIlVtIEdpdCBkYXMgS2xvbmVuIG9obmUgQWx0ZXJuYXRpdmUgaW4gc29sY2ggZWluZW0gRmFsbCB6dSBlcmxhdWJlbiwgc2V0emVcbiIKKyJzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSBhdWYgJ2luZm8nIG9kZXIga2xvbmUgbWl0IGRlciBPcHRpb25cbiIKKyInLS1yZWZlcmVuY2UtaWYtYWJsZScgc3RhdHQgJy0tcmVmZXJlbmNlJy4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzE0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGNhbm5vdCBhZGQgYWx0ZXJuYXRlOiAlcyIKIG1zZ3N0ciAiU3VibW9kdWwgJyVzJyBrYW5uIEFsdGVybmF0aXZlIG5pY2h0IGhpbnp1ZsO8Z2VuOiAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzMzYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IGlzIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICJXZXJ0ICclcycgZsO8ciBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSB3aXJkIG5pY2h0IGVya2FubnQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzQzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gaXMgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgIldlcnQgJyVzJyBmw7xyIHN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbiB3aXJkIG5pY2h0IGVya2FubnQuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODMKIG1zZ2lkICJ3aGVyZSB0aGUgbmV3IHN1Ym1vZHVsZSB3aWxsIGJlIGNsb25lZCB0byIKIG1zZ3N0ciAiUGZhZCBmw7xyIG5ldWVzIFN1Ym1vZHVsIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODYKIG1zZ2lkICJuYW1lIG9mIHRoZSBuZXcgc3VibW9kdWxlIgogbXNnc3RyICJOYW1lIGRlcyBuZXVlbiBTdWJtb2R1bHMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzcyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4OQogbXNnaWQgInVybCB3aGVyZSB0byBjbG9uZSB0aGUgc3VibW9kdWxlIGZyb20iCiBtc2dzdHIgIlVSTCB2b24gZGVyIGRhcyBTdWJtb2R1bCBnZWtsb250IHdpcmQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5NwogbXNnaWQgImRlcHRoIGZvciBzaGFsbG93IGNsb25lcyIKIG1zZ3N0ciAiVGllZmUgZGVzIEtsb25zIG1pdCB1bnZvbGxzdMOkbmRpZ2VyIEhpc3RvcmllIChzaGFsbG93KSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDAwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODk3CiBtc2dpZCAiZm9yY2UgY2xvbmluZyBwcm9ncmVzcyIKIG1zZ3N0ciAiRm9ydHNjaHJpdHRzYW56ZWlnZSBiZWltIEtsb25lbiBlcnp3aW5nZW4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQwMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5OQorbXNnaWQgImRpc2FsbG93IGNsb25pbmcgaW50byBub24tZW1wdHkgZGlyZWN0b3J5IgorbXNnc3RyICJLbG9uZW4gaW4gZWluIG5pY2h0IGxlZXJlcyBWZXJ6ZWljaG5pcyB2ZXJiaWV0ZW4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDA3CiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKICI8cmVwb3NpdG9yeT5dIFstLW5hbWUgPG5hbWU+XSBbLS1kZXB0aCA8ZGVwdGg+XSAtLXVybCA8dXJsPiAtLXBhdGggPHBhdGg+IgpAQCAtMTc2ODgsOTggKzIwOTU2LDExMSBAQAogIjxSZXBvc2l0b3J5Pl0gWy0tbmFtZSA8TmFtZT5dIFstLXVybCA8VVJMPl0gWy0tbmFtZSA8TmFtZT5dIFstLWRlcHRoICIKICI8VGllZmU+XSAtLXVybCA8VVJMPiAtLXBhdGggPFBmYWQ+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQxOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmdXNpbmcgdG8gY3JlYXRlL3VzZSAnJXMnIGluIGFub3RoZXIgc3VibW9kdWxlJ3MgZ2l0IGRpciIKK21zZ3N0ciAiIgorIkVyc3RlbGx1bmcvQmVudXR6dW5nIHZvbiAnJXMnIGluIGVpbmVtIGFuZGVyZW4gU3VibW9kdWwtR2l0LVZlcnplaWNobmlzXG4iCisidmVyd2VpZ2VydC4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDQyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb25lIG9mICclcycgaW50byBzdWJtb2R1bGUgcGF0aCAnJXMnIGZhaWxlZCIKLW1zZ3N0ciAiS2xvbmVuIHZvbiAnJXMnIGluIFN1Ym1vZHVsLVBmYWQgJyVzJyBmZWhsZ2VzY2hsYWdlbiIKK21zZ3N0ciAiS2xvbmVuIHZvbiAnJXMnIGluIFN1Ym1vZHVsLVBmYWQgJyVzJyBmZWhsZ2VzY2hsYWdlbi4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDMzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3Rvcnkgbm90IGVtcHR5OiAnJXMnIgorbXNnc3RyICJWZXJ6ZWljaG5pcyBpc3QgbmljaHQgbGVlcjogJyVzJyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBzdWJtb2R1bGUgZGlyZWN0b3J5IGZvciAnJXMnIgogbXNnc3RyICJLb25udGUgU3VibW9kdWwtVmVyemVpY2huaXMgJyVzJyBuaWNodCBmaW5kZW4uIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ2OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB1cGRhdGUgbW9kZSAnJXMnIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICJVbmfDvGx0aWdlciBBa3R1YWxpc2llcnVuZ3Ntb2R1cyAnJXMnIGbDvHIgU3VibW9kdWwtUGZhZCAnJXMnLiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NzMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdXBkYXRlIG1vZGUgJyVzJyBjb25maWd1cmVkIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgotbXNnc3RyICJVbmfDvGx0aWdlciBBa3R1YWxpc2llcnVuZ3Ntb2R1cyAnJXMnIGbDvHIgU3VibW9kdWwtUGZhZCAnJXMnIGtvbmZpZ3VyaWVydC4iCittc2dzdHIgIiIKKyJVbmfDvGx0aWdlciBBa3R1YWxpc2llcnVuZ3Ntb2R1cyAnJXMnIGbDvHIgU3VibW9kdWwtUGZhZCAnJXMnIGtvbmZpZ3VyaWVydC4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTY2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTU5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJXMnIG5vdCBpbml0aWFsaXplZCIKIG1zZ3N0ciAiU3VibW9kdWwtUGZhZCAnJXMnIG5pY2h0IGluaXRpYWxpc2llcnQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTcwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTU5OAogbXNnaWQgIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgogbXNnc3RyICJNZWludGVuIFNpZSB2aWVsbGVpY2h0ICd1cGRhdGUgLS1pbml0Jz8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjAwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyB1bm1lcmdlZCBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIsOcYmVyc3ByaW5nZSBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZXMgU3VibW9kdWwgJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjI5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTY1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiw5xiZXJzcHJpbmdlIFN1Ym1vZHVsICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNzczCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTgwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJy4gUmV0cnkgc2NoZWR1bGVkIgogbXNnc3RyICJGZWhsZXIgYmVpbSBLbG9uZW4gdm9uICclcycuIFdlaXRlcmVyIFZlcnN1Y2ggZ2VwbGFudCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE3ODQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnIGEgc2Vjb25kIHRpbWUsIGFib3J0aW5nIgogbXNnc3RyICJad2VpdGVyIFZlcnN1Y2ggJyVzJyB6dSBrbG9uZW4gZmVobGdlc2NobGFnZW4sIGJyZWNoZSBhYi4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODQ3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDg5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg3NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjEyMAogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICJQZmFkIHp1bSBBcmJlaXRzdmVyemVpY2huaXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODUwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg3OQogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlLCBhY3Jvc3MgbmVzdGVkIHN1Ym1vZHVsZSBib3VuZGFyaWVzIgogbXNnc3RyICIiCiAiUGZhZCB6dW0gQXJiZWl0c3ZlcnplaWNobmlzLCDDvGJlciB2ZXJzY2hhY2h0ZWx0ZSBTdWJtb2R1bC1HcmVuemVuIGhpbndlZyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODgzCiBtc2dpZCAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Igbm9uZSIKIG1zZ3N0ciAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb2RlciBub25lIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODkKIG1zZ2lkICJDcmVhdGUgYSBzaGFsbG93IGNsb25lIHRydW5jYXRlZCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiByZXZpc2lvbnMiCiBtc2dzdHIgIiIKICJFcnN0ZWxsdW5nIGVpbmVzIEtsb25zIG1pdCB1bnZvbGxzdMOkbmRpZ2VyIEhpc3RvcmllIChzaGFsbG93KSwgYWJnZXNjaG5pdHRlbiAiCiAiYmVpXG4iCiAiZGVyIGFuZ2VnZWJlbmVuIEFuemFobCB2b24gQ29tbWl0cy4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODYzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5MgogbXNnaWQgInBhcmFsbGVsIGpvYnMiCiBtc2dzdHIgIlBhcmFsbGVsZSBBdXNmw7xocnVuZ2VuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTQKIG1zZ2lkICJ3aGV0aGVyIHRoZSBpbml0aWFsIGNsb25lIHNob3VsZCBmb2xsb3cgdGhlIHNoYWxsb3cgcmVjb21tZW5kYXRpb24iCiBtc2dzdHIgIiIKICJvYiBkYXMgaW5pdGlhbGUgS2xvbmVuIGRlbiBFbXBmZWhsdW5nZW4gZsO8ciBlaW5lIHVudm9sbHN0w6RuZGlnZVxuIgogIkhpc3RvcmllIChzaGFsbG93KSBmb2xnZW4gc29sbCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NjYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODk1CiBtc2dpZCAiZG9uJ3QgcHJpbnQgY2xvbmluZyBwcm9ncmVzcyIKIG1zZ3N0ciAia2VpbmUgRm9ydHNjaHJpdHRzYW56ZWlnZSBiZWltIEtsb25lbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NzMKLW1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgotbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD08UGZhZD5dIFs8UGZhZD4uLi5dIgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MDQKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlLWNsb25lIFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlLWNsb25lIFstLXByZWZpeD08UGZhZD5dIFs8UGZhZD4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MTcKIG1zZ2lkICJiYWQgdmFsdWUgZm9yIHVwZGF0ZSBwYXJhbWV0ZXIiCiBtc2dzdHIgIkZlaGxlcmhhZnRlciBXZXJ0IGbDvHIgLS11cGRhdGUgUGFyYW1ldGVyIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkzNAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSAoJXMpIGJyYW5jaCBjb25maWd1cmVkIHRvIGluaGVyaXQgYnJhbmNoIGZyb20gc3VwZXJwcm9qZWN0LCBidXQgIgpAQCAtMTc3ODgsNDIgKzIxMDY5LDUyIEBACiAiQnJhbmNoIHZvbiBTdWJtb2R1bCAoJXMpIGlzdCBrb25maWd1cmllcnQsIGRlbiBCcmFuY2ggZGVzIEhhdXB0cHJvamVrdGVzXG4iCiAienUgZXJiZW4sIGFiZXIgZGFzIEhhdXB0cHJvamVrdCBiZWZpbmRldCBzaWNoIGF1ZiBrZWluZW0gQnJhbmNoLiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwNTcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgYSByZXBvc2l0b3J5IGhhbmRsZSBmb3Igc3VibW9kdWxlICclcyciCiBtc2dzdHIgIktvbm50ZSBrZWluIFJlcG9zaXRvcnktSGFuZGxlIGbDvHIgU3VibW9kdWwgJyVzJyBlcmhhbHRlbi4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDkwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjEyMQogbXNnaWQgInJlY3Vyc2UgaW50byBzdWJtb2R1bGVzIgogbXNnc3RyICJSZWt1cnNpb24gaW4gU3VibW9kdWxlIGR1cmNoZsO8aHJlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwOTYKLW1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZW1iZWQtZ2l0LWRpciBbPHBhdGg+Li4uXSIKLW1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGVtYmVkLWdpdC1kaXIgWzxQZmFkPi4uLl0iCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjEyNworbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBhYnNvcmItZ2l0LWRpcnMgWzxvcHRpb25zPl0gWzxwYXRoPi4uLl0iCittc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBhYnNvcmItZ2l0LWRpcnMgWzxPcHRpb25lbj5dIFs8UGZhZD4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE1MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxODMKIG1zZ2lkICJjaGVjayBpZiBpdCBpcyBzYWZlIHRvIHdyaXRlIHRvIHRoZSAuZ2l0bW9kdWxlcyBmaWxlIgogbXNnc3RyICJwcsO8ZmVuLCBvYiBlcyBzaWNoZXIgaXN0LCBpbiBkaWUgRGF0ZWkgLmdpdG1vZHVsZXMgenUgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE1NwotbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgbmFtZSBbdmFsdWVdIgotbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIG5hbWUgW1dlcnRdIgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxODYKK21zZ2lkICJ1bnNldCB0aGUgY29uZmlnIGluIHRoZSAuZ2l0bW9kdWxlcyBmaWxlIgorbXNnc3RyICJLb25maWd1cmF0aW9uIGluIGRlciAuZ2l0bW9kdWxlcy1EYXRlaSBlbnRmZXJuZW4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTU4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE5MQorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgPG5hbWU+IFs8dmFsdWU+XSIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyA8bmFtZT4gWzxXZXJ0Pl0iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTkyCittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLXVuc2V0IDxuYW1lPiIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLXVuc2V0IDxOYW1lPiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxOTMKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tY2hlY2std3JpdGVhYmxlIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tY2hlY2std3JpdGVhYmxlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE3NSBnaXQtc3VibW9kdWxlLnNoOjE2OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyMTIgZ2l0LXN1Ym1vZHVsZS5zaDoxNzMKICMsIHNoLWZvcm1hdAogbXNnaWQgInBsZWFzZSBtYWtlIHN1cmUgdGhhdCB0aGUgLmdpdG1vZHVsZXMgZmlsZSBpcyBpbiB0aGUgd29ya2luZyB0cmVlIgotbXNnc3RyICJCaXR0ZSBzdGVsbGVuIFNpZSBzaWNoZXIsIGRhc3Mgc2ljaCBkaWUgRGF0ZWkgLmdpdG1vZHVsZXMgaW0gQXJiZWl0c3ZlcnplaWNobmlzIGJlZmluZGV0LiIKK21zZ3N0ciAiIgorIkJpdHRlIHN0ZWxsZW4gU2llIHNpY2hlciwgZGFzcyBzaWNoIGRpZSBEYXRlaSAuZ2l0bW9kdWxlcyBpbSAiCisiQXJiZWl0c3ZlcnplaWNobmlzIGJlZmluZGV0LiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyMjUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjYyIGdpdC5jOjQzMyBnaXQuYzo2ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZG9lc24ndCBzdXBwb3J0IC0tc3VwZXItcHJlZml4IgogbXNnc3RyICIlcyB1bnRlcnN0w7x0enQga2VpbiAtLXN1cGVyLXByZWZpeCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyMzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgc3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCIKIG1zZ3N0ciAiJyVzJyBpc3Qga2VpbiBnw7xsdGlnZXIgVW50ZXJiZWZlaGwgdm9uIHN1Ym1vZHVsZS0taGVscGVyIgpAQCAtMTc4NTksMTcgKzIxMTUwLDE3IEBACiAKICM6IGJ1aWx0aW4vdGFnLmM6MjUKIG1zZ2lkICIiCi0iZ2l0IHRhZyBbLWEgfCAtcyB8IC11IDxrZXktaWQ+XSBbLWZdIFstbSA8bXNnPiB8IC1GIDxmaWxlPl0gPHRhZ25hbWU+ICIKLSJbPGhlYWQ+XSIKKyJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGtleS1pZD5dIFstZl0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+XVxuIgorIlx0XHQ8dGFnbmFtZT4gWzxoZWFkPl0iCiBtc2dzdHIgIiIKLSJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPFNjaGzDvHNzZWwtaWQ+XSBbLWZdIFstbSA8QmVzY2hyZWlidW5nPiB8IC1GIDxEYXRlaT5dICIKLSI8VGFnbmFtZT4gWzxDb21taXQ+XSIKKyJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPFNjaGzDvHNzZWwtaWQ+XSBbLWZdIFstbSA8QmVzY2hyZWlidW5nPiB8IC1GIDxEYXRlaT5dXG4iCisiXHRcdDxUYWduYW1lPiBbPENvbW1pdD5dIgogCi0jOiBidWlsdGluL3RhZy5jOjI2CisjOiBidWlsdGluL3RhZy5jOjI3CiBtc2dpZCAiZ2l0IHRhZyAtZCA8dGFnbmFtZT4uLi4iCiBtc2dzdHIgImdpdCB0YWcgLWQgPFRhZ25hbWU+Li4uIgogCi0jOiBidWlsdGluL3RhZy5jOjI3CisjOiBidWlsdGluL3RhZy5jOjI4CiBtc2dpZCAiIgogImdpdCB0YWcgLWwgWy1uWzxudW0+XV0gWy0tY29udGFpbnMgPGNvbW1pdD5dIFstLW5vLWNvbnRhaW5zIDxjb21taXQ+XSBbLS0iCiAicG9pbnRzLWF0IDxvYmplY3Q+XVxuIgpAQCAtMTc4NzksMjEgKzIxMTcwLDIxIEBACiAicG9pbnRzLWF0IDxPYmpla3Q+XVxuIgogIlx0XHRbLS1mb3JtYXQ9PE11c3Rlcj5dIFstLVtuby1dbWVyZ2VkIFs8Q29tbWl0Pl1dIFs8TXVzdGVyPi4uLl0iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjkKKyM6IGJ1aWx0aW4vdGFnLmM6MzAKIG1zZ2lkICJnaXQgdGFnIC12IFstLWZvcm1hdD08Zm9ybWF0Pl0gPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC12IFstLWZvcm1hdD08Rm9ybWF0Pl0gPFRhZ25hbWU+Li4uIgogCi0jOiBidWlsdGluL3RhZy5jOjg3CisjOiBidWlsdGluL3RhZy5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIG5vdCBmb3VuZC4iCiBtc2dzdHIgIlRhZyAnJXMnIG5pY2h0IGdlZnVuZGVuLiIKIAotIzogYnVpbHRpbi90YWcuYzoxMDMKKyM6IGJ1aWx0aW4vdGFnLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAiVGFnICclcycgZ2Vsw7ZzY2h0ICh3YXIgJXMpXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTMzCisjOiBidWlsdGluL3RhZy5jOjEzNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xNzkwNiw3ICsyMTE5Nyw3IEBACiAiICAlc1xuIgogImVpbi4gWmVpbGVuLCBkaWUgbWl0ICclYycgYmVnaW5uZW4sIHdlcmRlbiBpZ25vcmllcnQuXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTM3CisjOiBidWlsdGluL3RhZy5jOjEzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xNzkyMSwzNjMgKzIxMjEyLDM4MSBAQAogImVpbi4gWmVpbGVuLCBkaWUgbWl0ICclYycgYmVnaW5uZW4sIHdlcmRlbiBiZWhhbHRlbjsgU2llIGTDvHJmZW4gZGllc2VcbiIKICJzZWxic3QgZW50ZmVybmVuIHdlbm4gU2llIG3DtmNodGVuLlxuIgogCi0jOiBidWlsdGluL3RhZy5jOjE5MQorIzogYnVpbHRpbi90YWcuYzoxOTgKIG1zZ2lkICJ1bmFibGUgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICJrb25udGUgVGFnIG5pY2h0IHNpZ25pZXJlbiIKIAotIzogYnVpbHRpbi90YWcuYzoxOTMKKyM6IGJ1aWx0aW4vdGFnLmM6MjAwCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRhZyBmaWxlIgogbXNnc3RyICJrb25udGUgVGFnLURhdGVpIG5pY2h0IHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi90YWcuYzoyMTgKKyM6IGJ1aWx0aW4vdGFnLmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBjcmVhdGVkIGEgbmVzdGVkIHRhZy4gVGhlIG9iamVjdCByZWZlcnJlZCB0byBieSB5b3VyIG5ldyB0YWcgaXNcbiIKKyJhbHJlYWR5IGEgdGFnLiBJZiB5b3UgbWVhbnQgdG8gdGFnIHRoZSBvYmplY3QgdGhhdCBpdCBwb2ludHMgdG8sIHVzZTpcbiIKKyJcbiIKKyJcdGdpdCB0YWcgLWYgJXMgJXNee30iCittc2dzdHIgIiIKKyJTaWUgaGFiZW4gZWluZW4gdmVyc2NoYWNodGVsdGVuIFRhZyBlcnpldWd0LiBEYXMgT2JqZWt0LCBhdWYgd2VsY2hlcyBJaHJcbiIKKyJuZXVlcyBUYWcgcmVmZXJlbnppZXJ0LCBpc3QgYmVyZWl0cyBlaW4gVGFnLiBXZW5uIFNpZSBkYXMgT2JqZWt0IHRhZ2dlblxuIgorIndvbGx0ZW4sIHdvcmF1ZiBkaWVzZXMgemVpZ3QsIG51dHplbiBTaWU6XG4iCisiXG4iCisiXHRnaXQgdGFnIC1mICVzICVzXnt9IgorCisjOiBidWlsdGluL3RhZy5jOjIzMgogbXNnaWQgImJhZCBvYmplY3QgdHlwZS4iCiBtc2dzdHIgInVuZ8O8bHRpZ2VyIE9iamVrdC1UeXAiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjY3CisjOiBidWlsdGluL3RhZy5jOjI4NAogbXNnaWQgIm5vIHRhZyBtZXNzYWdlPyIKIG1zZ3N0ciAia2VpbmUgVGFnLUJlc2NocmVpYnVuZz8iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mjc0CisjOiBidWlsdGluL3RhZy5jOjI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgdGFnIG1lc3NhZ2UgaGFzIGJlZW4gbGVmdCBpbiAlc1xuIgotbXNnc3RyICJEaWUgVGFnLUJlc2NocmVpYnVuZyB3dXJkZSBnZWxhc3NlbiBpbiAlc1xuIgorbXNnc3RyICJEaWUgVGFnLUJlc2NocmVpYnVuZyB3dXJkZSBpbiAlcyBnZWxhc3NlblxuIgogCi0jOiBidWlsdGluL3RhZy5jOjM4NQorIzogYnVpbHRpbi90YWcuYzo0MDIKIG1zZ2lkICJsaXN0IHRhZyBuYW1lcyIKIG1zZ3N0ciAiVGFnbmFtZW4gYXVmbGlzdGVuIgogCi0jOiBidWlsdGluL3RhZy5jOjM4NworIzogYnVpbHRpbi90YWcuYzo0MDQKIG1zZ2lkICJwcmludCA8bj4gbGluZXMgb2YgZWFjaCB0YWcgbWVzc2FnZSIKIG1zZ3N0ciAiPG4+IFplaWxlbiBqZWRlciBUYWctQmVzY2hyZWlidW5nIGFuemVpZ2VuIgogCi0jOiBidWlsdGluL3RhZy5jOjM4OQorIzogYnVpbHRpbi90YWcuYzo0MDYKIG1zZ2lkICJkZWxldGUgdGFncyIKIG1zZ3N0ciAiVGFncyBsw7ZzY2hlbiIKIAotIzogYnVpbHRpbi90YWcuYzozOTAKKyM6IGJ1aWx0aW4vdGFnLmM6NDA3CiBtc2dpZCAidmVyaWZ5IHRhZ3MiCiBtc2dzdHIgIlRhZ3Mgw7xiZXJwcsO8ZmVuIgogCi0jOiBidWlsdGluL3RhZy5jOjM5MgorIzogYnVpbHRpbi90YWcuYzo0MDkKIG1zZ2lkICJUYWcgY3JlYXRpb24gb3B0aW9ucyIKIG1zZ3N0ciAiT3B0aW9uZW4gZsO8ciBFcnN0ZWxsdW5nIHZvbiBUYWdzIgogCi0jOiBidWlsdGluL3RhZy5jOjM5NAorIzogYnVpbHRpbi90YWcuYzo0MTEKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnLCBuZWVkcyBhIG1lc3NhZ2UiCiBtc2dzdHIgImFubm90aWVydGVzIFRhZywgYmVuw7Z0aWd0IGVpbmUgQmVzY2hyZWlidW5nIgogCi0jOiBidWlsdGluL3RhZy5jOjM5NgorIzogYnVpbHRpbi90YWcuYzo0MTMKIG1zZ2lkICJ0YWcgbWVzc2FnZSIKIG1zZ3N0ciAiVGFnLUJlc2NocmVpYnVuZyIKIAotIzogYnVpbHRpbi90YWcuYzozOTgKKyM6IGJ1aWx0aW4vdGFnLmM6NDE1CiBtc2dpZCAiZm9yY2UgZWRpdCBvZiB0YWcgbWVzc2FnZSIKIG1zZ3N0ciAiQmVhcmJlaXR1bmcgZGVyIFRhZy1CZXNjaHJlaWJ1bmcgZXJ6d2luZ2VuIgogCi0jOiBidWlsdGluL3RhZy5jOjM5OQorIzogYnVpbHRpbi90YWcuYzo0MTYKIG1zZ2lkICJhbm5vdGF0ZWQgYW5kIEdQRy1zaWduZWQgdGFnIgogbXNnc3RyICJhbm5vdGllcnRlcyB1bmQgR1BHLXNpZ25pZXJ0ZXMgVGFnIgogCi0jOiBidWlsdGluL3RhZy5jOjQwMworIzogYnVpbHRpbi90YWcuYzo0MTkKIG1zZ2lkICJ1c2UgYW5vdGhlciBrZXkgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICJlaW5lbiBhbmRlcmVuIFNjaGzDvHNzZWwgdmVyd2VuZGVuLCB1bSBkYXMgVGFnIHp1IHNpZ25pZXJlbiIKIAotIzogYnVpbHRpbi90YWcuYzo0MDQKKyM6IGJ1aWx0aW4vdGFnLmM6NDIwCiBtc2dpZCAicmVwbGFjZSB0aGUgdGFnIGlmIGV4aXN0cyIKIG1zZ3N0ciAiZGFzIFRhZyBlcnNldHplbiwgd2VubiBlcyBleGlzdGllcnQiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA1IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OQorIzogYnVpbHRpbi90YWcuYzo0MjEgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY5CiBtc2dpZCAiY3JlYXRlIGEgcmVmbG9nIgogbXNnc3RyICJSZWZsb2cgZXJzdGVsbGVuIgogCi0jOiBidWlsdGluL3RhZy5jOjQwNworIzogYnVpbHRpbi90YWcuYzo0MjMKIG1zZ2lkICJUYWcgbGlzdGluZyBvcHRpb25zIgogbXNnc3RyICJPcHRpb25lbiBmw7xyIEF1Zmxpc3R1bmcgZGVyIFRhZ3MiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA4CisjOiBidWlsdGluL3RhZy5jOjQyNAogbXNnaWQgInNob3cgdGFnIGxpc3QgaW4gY29sdW1ucyIKIG1zZ3N0ciAiTGlzdGUgZGVyIFRhZ3MgaW4gU3BhbHRlbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi90YWcuYzo0MDkgYnVpbHRpbi90YWcuYzo0MTEKKyM6IGJ1aWx0aW4vdGFnLmM6NDI1IGJ1aWx0aW4vdGFnLmM6NDI3CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJudXIgVGFncyBhdXNnZWJlbiwgZGllIGRpZXNlbiBDb21taXQgYmVpbmhhbHRlbiIKIAotIzogYnVpbHRpbi90YWcuYzo0MTAgYnVpbHRpbi90YWcuYzo0MTIKKyM6IGJ1aWx0aW4vdGFnLmM6NDI2IGJ1aWx0aW4vdGFnLmM6NDI4CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJudXIgVGFncyBhdXNnZWJlbiwgZGllIGRpZXNlbiBDb21taXQgbmljaHQgZW50aGFsdGVuIgogCi0jOiBidWlsdGluL3RhZy5jOjQxMworIzogYnVpbHRpbi90YWcuYzo0MjkKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbWVyZ2VkIgogbXNnc3RyICJudXIgVGFncyBhdXNnZWJlbiwgZGllIGdlbWVyZ2VkIHd1cmRlbiIKIAotIzogYnVpbHRpbi90YWcuYzo0MTQKKyM6IGJ1aWx0aW4vdGFnLmM6NDMwCiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgIm51ciBUYWdzIGF1c2dlYmVuLCBkaWUgbmljaHQgZ2VtZXJnZWQgd3VyZGVuIgogCi0jOiBidWlsdGluL3RhZy5jOjQxOQorIzogYnVpbHRpbi90YWcuYzo0MzQKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAibnVyIFRhZ3Mgdm9uIGRlbSBPYmpla3QgYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDYzCisjOiBidWlsdGluL3RhZy5jOjQ4MgogbXNnaWQgIi0tY29sdW1uIGFuZCAtbiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWNvbHVtbiB1bmQgLW4gc2luZCBpbmtvbXBhdGliZWwiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDg1CisjOiBidWlsdGluL3RhZy5jOjUwNAogbXNnaWQgIi1uIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICJEaWUgT3B0aW9uIC1uIGlzdCBudXIgaW0gTGlzdGVubW9kdXMgZXJsYXVidC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDg3CisjOiBidWlsdGluL3RhZy5jOjUwNgogbXNnaWQgIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1jb250YWlucyBpc3QgbnVyIGltIExpc3Rlbm1vZHVzIGVybGF1YnQuIgogCi0jOiBidWlsdGluL3RhZy5jOjQ4OQorIzogYnVpbHRpbi90YWcuYzo1MDgKIG1zZ2lkICItLW5vLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICJEaWUgT3B0aW9uIC0tbm8tY29udGFpbnMgaXN0IG51ciBpbSBMaXN0ZW5tb2R1cyBlcmxhdWJ0LiIKIAotIzogYnVpbHRpbi90YWcuYzo0OTEKKyM6IGJ1aWx0aW4vdGFnLmM6NTEwCiBtc2dpZCAiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgIkRpZSBPcHRpb24gLS1wb2ludHMtYXQgaXN0IG51ciBpbSBMaXN0ZW5tb2R1cyBlcmxhdWJ0LiIKIAotIzogYnVpbHRpbi90YWcuYzo0OTMKKyM6IGJ1aWx0aW4vdGFnLmM6NTEyCiBtc2dpZCAiLS1tZXJnZWQgYW5kIC0tbm8tbWVyZ2VkIG9wdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgIkRpZSBPcHRpb25lbiAtLW1lcmdlZCB1bmQgLS1uby1tZXJnZWQgc2luZCBudXIgaW0gTGlzdGVubW9kdXMgZXJsYXVidC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTA0CisjOiBidWlsdGluL3RhZy5jOjUyMwogbXNnaWQgIm9ubHkgb25lIC1GIG9yIC1tIG9wdGlvbiBpcyBhbGxvd2VkLiIKIG1zZ3N0ciAibnVyIGVpbmUgLUYgb2RlciAtbSBPcHRpb24gaXN0IGVybGF1YnQuIgogCi0jOiBidWlsdGluL3RhZy5jOjUyMworIzogYnVpbHRpbi90YWcuYzo1NDIKIG1zZ2lkICJ0b28gbWFueSBwYXJhbXMiCiBtc2dzdHIgInp1IHZpZWxlIFBhcmFtZXRlciIKIAotIzogYnVpbHRpbi90YWcuYzo1MjkKKyM6IGJ1aWx0aW4vdGFnLmM6NTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGFnIG5hbWUuIgogbXNnc3RyICInJXMnIGlzdCBrZWluIGfDvGx0aWdlciBUYWduYW1lLiIKIAotIzogYnVpbHRpbi90YWcuYzo1MzQKKyM6IGJ1aWx0aW4vdGFnLmM6NTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJUYWcgJyVzJyBleGlzdGllcnQgYmVyZWl0cyIKIAotIzogYnVpbHRpbi90YWcuYzo1NjUKKyM6IGJ1aWx0aW4vdGFnLmM6NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAiVGFnICclcycgYWt0dWFsaXNpZXJ0ICh3YXIgJXMpXG4iCiAKLSM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo1MDAKKyM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo1MDEKIG1zZ2lkICJVbnBhY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiRW50cGFja2UgT2JqZWt0ZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo4MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRXJzdGVsbGVuIHZvbiBWZXJ6ZWljaG5pcyAnJXMnIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGZpbGUgJXMiCiBtc2dzdHIgIktvbm50ZSBEYXRlaSAnJXMnIG5pY2h0IGVyc3RlbGxlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZmlsZSAlcyIKIG1zZ3N0ciAiS29ubnRlIERhdGVpICclcycgbmljaHQgbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNSBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAiS29ubnRlIFZlcnplaWNobmlzICclcycgbmljaHQgbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTM4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJUZXN0aW5nIG10aW1lIGluICclcycgIgogbXNnc3RyICJQcsO8ZmUgbXRpbWUgaW4gJyVzJyAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTUyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1NAogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGFkZGluZyBhIG5ldyBmaWxlIgogbXNnc3RyICIiCiAiVmVyemVpY2huaXNpbmZvcm1hdGlvbmVuIGhhYmVuIHNpY2ggbmFjaCBIaW56dWbDvGdlbiBlaW5lciBuZXVlbiBEYXRlaSBuaWNodCAiCiAiZ2XDpG5kZXJ0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE2NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNjcKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBhZGRpbmcgYSBuZXcgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAiVmVyemVpY2huaXNpbmZvcm1hdGlvbmVuIGhhYmVuIHNpY2ggbmFjaCBIaW56dWbDvGdlbiBlaW5lcyBuZXVlbiAiCiAiVmVyemVpY2huaXNzZXMgbmljaHQgZ2XDpG5kZXJ0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE3OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxODAKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGNoYW5nZXMgYWZ0ZXIgdXBkYXRpbmcgYSBmaWxlIgogbXNnc3RyICIiCiAiVmVyemVpY2huaXNpbmZvcm1hdGlvbmVuIGhhYmVuIHNpY2ggbmFjaCBBa3R1YWxpc2llcnVuZyBlaW5lciBEYXRlaSBnZcOkbmRlcnQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTg5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE5MQogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciBhZGRpbmcgYSBmaWxlIGluc2lkZSBzdWJkaXJlY3RvcnkiCiBtc2dzdHIgIiIKICJWZXJ6ZWljaG5pc2luZm9ybWF0aW9uZW4gaGFiZW4gc2ljaCBuYWNoIEhpbnp1ZsO8Z2VuIGVpbmVyIERhdGVpIGluIGVpbiAiCiAiVW50ZXJ2ZXJ6ZWljaG5pcyBnZcOkbmRlcnQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjAwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIwMgogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGRlbGV0aW5nIGEgZmlsZSIKIG1zZ3N0ciAiIgogIlZlcnplaWNobmlzaW5mb3JtYXRpb25lbiBoYWJlbiBzaWNoIG5hY2ggZGVtIEzDtnNjaGVuIGVpbmVyIERhdGVpIG5pY2h0ICIKICJnZcOkbmRlcnQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjEzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxNQogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGRlbGV0aW5nIGEgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAiVmVyemVpY2huaXNpbmZvcm1hdGlvbmVuIGhhYmVuIHNpY2ggbmFjaCBkZW0gTMO2c2NoZW4gZWluZXMgVmVyemVpY2huaXNzZXMgIgogIm5pY2h0IGdlw6RuZGVydCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMjAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjIyCiBtc2dpZCAiIE9LIgogbXNnc3RyICIgT0siCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NTg4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU5MQogbXNnaWQgImdpdCB1cGRhdGUtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1pbmRleCBbPE9wdGlvbmVuPl0gWy0tXSBbPERhdGVpPi4uLl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NAogbXNnaWQgImNvbnRpbnVlIHJlZnJlc2ggZXZlbiB3aGVuIGluZGV4IG5lZWRzIHVwZGF0ZSIKIG1zZ3N0ciAiIgogIkFrdHVhbGlzaWVydW5nIGZvcnRzZXR6ZW4sIGF1Y2ggd2VubiBkZXIgSW5kZXggYWt0dWFsaXNpZXJ0IHdlcmRlbiBtdXNzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzcKIG1zZ2lkICJyZWZyZXNoOiBpZ25vcmUgc3VibW9kdWxlcyIKIG1zZ3N0ciAiQWt0dWFsaXNpZXJ1bmc6IGlnbm9yaWVydCBTdWJtb2R1bGUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MAogbXNnaWQgImRvIG5vdCBpZ25vcmUgbmV3IGZpbGVzIgogbXNnc3RyICJrZWluZSBuZXVlbiBEYXRlaWVuIGlnbm9yaWVyZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MgogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICJEYXRlaWVuIFZlcnplaWNobmlzc2UgZXJzZXR6ZW4gbGFzc2VuLCB1bmQgdW1nZWRyZWh0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODQKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJmZWhsZW5kZSBEYXRlaWVuIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyBiZWFjaHRlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg2CiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgIiIKICJha3R1YWxpc2llcmVuLCBhdWNoIHdlbm4gZGVyIEluZGV4IG5pY2h0IHp1c2FtbWVuZ2Vmw7xocnRlIEVpbnRyw6RnZSBiZWluaGFsdGV0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODkKIG1zZ2lkICJyZWZyZXNoIHN0YXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgIkRhdGVpaW5mb3JtYXRpb25lbiBha3R1YWxpc2llcmVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTMKIG1zZ2lkICJsaWtlIC0tcmVmcmVzaCwgYnV0IGlnbm9yZSBhc3N1bWUtdW5jaGFuZ2VkIHNldHRpbmciCiBtc2dzdHIgIndpZSAtLXJlZnJlc2gsIGlnbm9yaWVydCBhYmVyIFwiYXNzdW1lLXVuY2hhbmdlZFwiIEVpbnN0ZWxsdW5nIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKIG1zZ2lkICI8bW9kZT4sPG9iamVjdD4sPHBhdGg+IgogbXNnc3RyICI8TW9kdXM+LDxPYmpla3Q+LDxQZmFkPiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk4CiBtc2dpZCAiYWRkIHRoZSBzcGVjaWZpZWQgZW50cnkgdG8gdGhlIGluZGV4IgogbXNnc3RyICJkZW4gYW5nZWdlYmVuZW4gRWludHJhZyB6dW0gQ29tbWl0IHZvcm1lcmtlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwOAogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJub3QgY2hhbmdpbmdcIiIKIG1zZ3N0ciAiZGllc2UgRGF0ZWkgaW1tZXIgYWxzIHVudmVyw6RuZGVydCBiZXRyYWNodGVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDExCiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgogbXNnc3RyICJcImFzc3VtZWQtdW5jaGFuZ2VkXCItQml0IGzDtnNjaGVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxNAogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJpbmRleC1vbmx5XCIiCiBtc2dzdHIgIkRhdGVpZW4gYWxzIFwiaW5kZXgtb25seVwiIG1hcmtpZXJlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTcKIG1zZ2lkICJjbGVhciBza2lwLXdvcmt0cmVlIGJpdCIKIG1zZ3N0ciAiXCJza2lwLXdvcmt0cmVlXCItQml0IGzDtnNjaGVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyMAorbXNnaWQgImRvIG5vdCB0b3VjaCBpbmRleC1vbmx5IGVudHJpZXMiCittc2dzdHIgIlwiaW5kZXgtb25seVwiIEVpbnRyw6RnZSDDvGJlcnNwcmluZ2VuIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjIKIG1zZ2lkICJhZGQgdG8gaW5kZXggb25seTsgZG8gbm90IGFkZCBjb250ZW50IHRvIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAiIgogImRpZSDDhG5kZXJ1bmdlbiBudXIgenVtIENvbW1pdCB2b3JtZXJrZW47IEluaGFsdCB3aXJkIG5pY2h0IGRlciBPYmpla3QtIgogIkRhdGVuYmFuayBoaW56dWdlZsO8Z3QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI0CiBtc2dpZCAicmVtb3ZlIG5hbWVkIHBhdGhzIGV2ZW4gaWYgcHJlc2VudCBpbiB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogImJlbmFubnRlIFBmYWRlIGzDtnNjaGVuLCBhdWNoIHdlbm4gc2llIHNpY2ggaW0gQXJiZWl0c3ZlcnplaWNobmlzIGJlZmluZGVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyNgogbXNnaWQgIndpdGggLS1zdGRpbjogaW5wdXQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgYnkgbnVsbCBieXRlcyIKIG1zZ3N0ciAibWl0IC0tc3RkaW46IGVpbmdlZ2ViZW5lIFplaWxlbiBzaW5kIGR1cmNoIE5VTC1CeXRlcyBhYmdlc2NobG9zc2VuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyOAogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIkxpc3RlIGRlciB6dSBha3R1YWxpc2llcmVuZGVuIFBmYWRlIHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSBsZXNlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzIKIG1zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiRWludHLDpGdlIHZvbiBkZXIgU3RhbmRhcmQtRWluZ2FiZSB6dW0gQ29tbWl0IHZvcm1lcmtlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDIwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzYKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgIiIKICJ3aWVkZXJob2x0ZXMgRWlucGZsZWdlbiBkZXIgWnVzdMOkbmRlICMyIHVuZCAjMyBmw7xyIGRpZSBhdWZnZWxpc3RldGVuIFBmYWRlIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0MAogbXNnaWQgIm9ubHkgdXBkYXRlIGVudHJpZXMgdGhhdCBkaWZmZXIgZnJvbSBIRUFEIgogbXNnc3RyICJudXIgRWludHLDpGdlIGFrdHVhbGlzaWVyZW4sIGRpZSB1bnRlcnNjaGllZGxpY2ggenUgSEVBRCBzaW5kIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0NAogbXNnaWQgImlnbm9yZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgImZlaGxlbmRlIERhdGVpZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzIGlnbm9yaWVyZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQ3CiBtc2dpZCAicmVwb3J0IGFjdGlvbnMgdG8gc3RhbmRhcmQgb3V0cHV0IgogbXNnc3RyICJkaWUgQWt0aW9uZW4gaW4gZGVyIFN0YW5kYXJkLUF1c2dhYmUgYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQ5CiBtc2dpZCAiKGZvciBwb3JjZWxhaW5zKSBmb3JnZXQgc2F2ZWQgdW5yZXNvbHZlZCBjb25mbGljdHMiCiBtc2dzdHIgIihmw7xyIEZyZW1kcHJvZ3JhbW1lKSBrZWluZSBnZXNwZWljaGVydGVuLCBuaWNodCBhdWZnZWzDtnN0ZSBLb25mbGlrdGUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzNworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDUzCiBtc2dpZCAid3JpdGUgaW5kZXggaW4gdGhpcyBmb3JtYXQiCiBtc2dzdHIgIkluZGV4LURhdGVpIGluIGRpZXNlbSBGb3JtYXQgc2NocmVpYmVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1NQogbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIHNwbGl0IGluZGV4IgogbXNnc3RyICJTcGxpdHRpbmcgZGVzIEluZGV4IGFrdGl2aWVyZW4gb2RlciBkZWFrdGl2aWVyZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDU3CiBtc2dpZCAiZW5hYmxlL2Rpc2FibGUgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICJDYWNoZSBmw7xyIHVudmVyc2lvbmllcnRlIERhdGVpZW4gYWt0aXZpZXJlbiBvZGVyIGRlYWt0aXZpZXJlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTkKIG1zZ2lkICJ0ZXN0IGlmIHRoZSBmaWxlc3lzdGVtIHN1cHBvcnRzIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAiIgogInByw7xmZW4sIG9iIGRhcyBEYXRlaXN5c3RlbSBlaW5lbiBDYWNoZSBmw7xyIHVudmVyc2lvbmllcnRlIERhdGVpZW4gdW50ZXJzdMO8dHp0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2MQogbXNnaWQgImVuYWJsZSB1bnRyYWNrZWQgY2FjaGUgd2l0aG91dCB0ZXN0aW5nIHRoZSBmaWxlc3lzdGVtIgogbXNnc3RyICIiCiAiQ2FjaGUgZsO8ciB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuIG9obmUgUHLDvGZ1bmcgZGVzIERhdGVpc3lzdGVtcyBha3RpdmllcmVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2MwogbXNnaWQgIndyaXRlIG91dCB0aGUgaW5kZXggZXZlbiBpZiBpcyBub3QgZmxhZ2dlZCBhcyBjaGFuZ2VkIgogbXNnc3RyICJJbmRleCByYXVzc2NocmVpYmVuLCBhdWNoIHdlbm4gZGllc2VyIG5pY2h0IGFscyBnZcOkbmRlcnQgbWFya2llcnQgaXN0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2NQogbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIGZpbGUgc3lzdGVtIG1vbml0b3IiCiBtc2dzdHIgIkRhdGVpc3lzdGVtLU1vbml0b3IgYWt0aXZpZXJlbiBvZGVyIGRlYWt0aXZpZXJlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDUxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNjcKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIGZzbW9uaXRvciB2YWxpZCIKIG1zZ3N0ciAiRGF0ZWllbiBhbHMgXCJmc21vbml0b3IgdmFsaWRcIiBtYXJraWVyZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDcwCiBtc2dpZCAiY2xlYXIgZnNtb25pdG9yIHZhbGlkIGJpdCIKIG1zZ3N0ciAiXCJmc21vbml0b3IgdmFsaWRcIi1CaXQgbMO2c2NoZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE1MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTczCiBtc2dpZCAiIgogImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gZmFsc2U7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCiAiZW5hYmxlIHNwbGl0IGluZGV4IgpAQCAtMTgyODUsNyArMjE1OTQsNyBAQAogImNvcmUuc3BsaXRJbmRleCBpc3QgYXVmICdmYWxzZScgZ2VzZXR6dC4gRW50ZmVybmVuIG9kZXIgw6RuZGVybiBTaWUgZGllcyxcbiIKICJ3ZW5uIHNpZSB3aXJrbGljaCBkYXMgU3BsaXR0aW5nIGRlcyBJbmRleCBha3RpdmllcmVuIG3DtmNodGVuLiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTYyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExODIKIG1zZ2lkICIiCiAiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgogImRpc2FibGUgc3BsaXQgaW5kZXgiCkBAIC0xODI5Myw3ICsyMTYwMiw3IEBACiAiY29yZS5zcGxpdEluZGV4IGlzdCBhdWYgJ3RydWUnIGdlc2V0enQuIEVudGZlcm5lbiBvZGVyIMOkbmRlcm4gU2llIGRpZXMsXG4iCiAid2VubiBTaWUgd2lya2xpY2ggZGFzIFNwbGl0dGluZyBkZXMgSW5kZXggZGVha3RpdmllcmVuIG3DtmNodGVuLiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTczCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExOTQKIG1zZ2lkICIiCiAiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKICJ0byBkaXNhYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCkBAIC0xODMwMSwxMSArMjE2MTAsMTEgQEAKICJjb3JlLnVudHJhY2tlZENhY2hlIGlzdCBhdWYgJ3RydWUnIGdlc2V0enQuIEVudGZlcm5lbiBvZGVyIMOkbmRlcm4gU2llIGRpZXMsXG4iCiAid2VubiBTaWUgd2lya2xpY2ggZGVuIENhY2hlIGbDvHIgdW52ZXJzaW9uaWVydGUgRGF0ZWllbiBkZWFrdGl2aWVyZW4gbcO2Y2h0ZW4uIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNzcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE5OAogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBkaXNhYmxlZCIKIG1zZ3N0ciAiQ2FjaGUgZsO8ciB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuIGRlYWt0aXZpZXJ0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIwNgogbXNnaWQgIiIKICJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKICJ0byBlbmFibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKQEAgLTE4MzE0LDIzICsyMTYyMywyMyBAQAogImRpZXMsXG4iCiAid2VubiBzaWUgd2lya2xpY2ggZGVuIENhY2hlIGbDvHIgdW52ZXJzaW9uaWVydGUgRGF0ZWllbiBha3RpdmllcmVuIG3DtmNodGVuLiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTg5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGVuYWJsZWQgZm9yICclcyciCiBtc2dzdHIgIkNhY2hlIGbDvHIgdW52ZXJzaW9uaWVydGUgRGF0ZWllbiBmw7xyICclcycgYWt0aXZpZXJ0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExOTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIxOAogbXNnaWQgImNvcmUuZnNtb25pdG9yIGlzIHVuc2V0OyBzZXQgaXQgaWYgeW91IHJlYWxseSB3YW50IHRvIGVuYWJsZSBmc21vbml0b3IiCiBtc2dzdHIgIiIKICJjb3JlLmZzbW9uaXRvciBuaWNodCBnZXNldHp0LiBTZXR6ZW4gU2llIGVzLCB3ZW5uIFNpZSBkZW4gRGF0ZWlzeXN0ZW0tIgogIk1vbml0b3JcbiIKICJ3aXJrbGljaCBha3RpdmllcmVuIG3DtmNodGVuLiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjAxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMjIKIG1zZ2lkICJmc21vbml0b3IgZW5hYmxlZCIKIG1zZ3N0ciAiRGF0ZWlzeXN0ZW0tTW9uaXRvciBha3RpdmllcnQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIwNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjI1CiBtc2dpZCAiIgogImNvcmUuZnNtb25pdG9yIGlzIHNldDsgcmVtb3ZlIGl0IGlmIHlvdSByZWFsbHkgd2FudCB0byBkaXNhYmxlIGZzbW9uaXRvciIKIG1zZ3N0ciAiIgpAQCAtMTgzMzgsNyArMjE2NDcsNyBAQAogIk1vbml0b3JcbiIKICJ3aXJrbGljaCBkZWFrdGl2aWVyZW4gbcO2Y2h0ZW4uIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMDgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIyOQogbXNnaWQgImZzbW9uaXRvciBkaXNhYmxlZCIKIG1zZ3N0ciAiRGF0ZWlzeXN0ZW0tTW9uaXRvciBkZWFrdGl2aWVydCIKIApAQCAtMTgzODMsNiArMjE2OTIsMTAgQEAKIG1zZ2lkICJnaXQgdXBsb2FkLXBhY2sgWzxvcHRpb25zPl0gPGRpcj4iCiBtc2dzdHIgImdpdCB1cGxvYWQtcGFjayBbPE9wdGlvbmVuPl0gPFZlcnplaWNobmlzPiIKIAorIzogYnVpbHRpbi91cGxvYWQtcGFjay5jOjIzIHQvaGVscGVyL3Rlc3Qtc2VydmUtdjIuYzoxNworbXNnaWQgInF1aXQgYWZ0ZXIgYSBzaW5nbGUgcmVxdWVzdC9yZXNwb25zZSBleGNoYW5nZSIKK21zZ3N0ciAibmFjaCBlaW5lbSBlaW56aWdlbiBSZXF1ZXN0L1Jlc3BvbnNlLUF1c3RhdXNjaCBiZWVuZGVuIgorCiAjOiBidWlsdGluL3VwbG9hZC1wYWNrLmM6MjUKIG1zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGluaXRpYWwgcmVmIGFkdmVydGlzZW1lbnQiCiBtc2dzdHIgImRpcmVrdCBuYWNoIGRlciBpbml0aWFsZW4gQW5nYWJlIGRlciBDb21taXRzIGJlZW5kZW4iCkBAIC0xODM5NywxNSArMjE3MTAsMTUgQEAKIG1zZ2lkICJpbnRlcnJ1cHQgdHJhbnNmZXIgYWZ0ZXIgPG4+IHNlY29uZHMgb2YgaW5hY3Rpdml0eSIKIG1zZ3N0ciAiw5xiZXJ0cmFndW5nIG5hY2ggPG4+IFNla3VuZGVuIEluYWt0aXZpdMOkdCB1bnRlcmJyZWNoZW4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjIwCisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzoxOQogbXNnaWQgImdpdCB2ZXJpZnktY29tbWl0IFstdiB8IC0tdmVyYm9zZV0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCB2ZXJpZnktY29tbWl0IFstdiB8IC0tdmVyYm9zZV0gPENvbW1pdD4uLi4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjc2CisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo2OAogbXNnaWQgInByaW50IGNvbW1pdCBjb250ZW50cyIKIG1zZ3N0ciAiQ29tbWl0LUluaGFsdGUgYXVzZ2ViZW4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjc3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo2OSBidWlsdGluL3ZlcmlmeS10YWcuYzozNwogbXNnaWQgInByaW50IHJhdyBncGcgc3RhdHVzIG91dHB1dCIKIG1zZ3N0ciAidW5iZWFyYmVpdGV0ZSBBdXNnYWJlIGRlcyBTdGF0dXMgdm9uIGdwZyBhdXNnZWJlbiIKIApAQCAtMTg0MjEsMTEgKzIxNzM0LDExIEBACiBtc2dpZCAic2hvdyBzdGF0aXN0aWNzIG9ubHkiCiBtc2dzdHIgIm51ciBTdGF0aXN0aWtlbiBhbnplaWdlbiIKIAotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MTkKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjE4CiBtc2dpZCAiZ2l0IHZlcmlmeS10YWcgWy12IHwgLS12ZXJib3NlXSBbLS1mb3JtYXQ9PGZvcm1hdD5dIDx0YWc+Li4uIgogbXNnc3RyICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIFstLWZvcm1hdD08Rm9ybWF0Pl0gPFRhZz4uLi4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM3CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzozNgogbXNnaWQgInByaW50IHRhZyBjb250ZW50cyIKIG1zZ3N0ciAiVGFnLUluaGFsdGUgYXVzZ2ViZW4iCiAKQEAgLTE4NDU3LDcgKzIxNzcwLDcgQEAKIG1zZ2lkICJnaXQgd29ya3RyZWUgdW5sb2NrIDxwYXRoPiIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIHVubG9jayA8UGZhZD4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2MCBidWlsdGluL3dvcmt0cmVlLmM6ODcxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NjAgYnVpbHRpbi93b3JrdHJlZS5jOjg5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIEzDtnNjaGVuIHZvbiAnJXMnIgpAQCAtMTg1MzQsMTI3ICsyMTg0NywxMjkgQEAKICJCZW51dHplbiBTaWUgJ2FkZCAtZicgenVtIMOcYmVyc2NocmVpYmVuLCBvZGVyICdwcnVuZScgb2RlciAncmVtb3ZlJyB6dW1cbiIKICJMw7ZzY2hlbi4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMDkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3Rvcnkgb2YgJyVzJyIKIG1zZ3N0ciAiS29ubnRlIFZlcnplaWNobmlzICclcycgbmljaHQgZXJzdGVsbGVuLiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQyOCBidWlsdGluL3dvcmt0cmVlLmM6NDM0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDM5IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChuZXcgYnJhbmNoICclcycpIgogbXNnc3RyICJCZXJlaXRlIEFyYmVpdHN2ZXJ6ZWljaG5pcyB2b3IgKG5ldWVyIEJyYW5jaCAnJXMnKSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQzMAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKHJlc2V0dGluZyBicmFuY2ggJyVzJzsgd2FzIGF0ICVzKSIKIG1zZ3N0ciAiQmVyZWl0ZSBBcmJlaXRzdmVyemVpY2huaXMgdm9yIChzZXR6ZSBCcmFuY2ggJyVzJyB1bTsgd2FyIGJlaSAlcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChjaGVja2luZyBvdXQgJyVzJykiCiBtc2dzdHIgIkJlcmVpdGUgQXJiZWl0c3ZlcnplaWNobmlzIHZvciAoY2hlY2tlICclcycgYXVzKSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0NQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKGRldGFjaGVkIEhFQUQgJXMpIgogbXNnc3RyICJCZXJlaXRlIEFyYmVpdHN2ZXJ6ZWljaG5pcyB2b3IgKGxvc2dlbMO2c3RlciBIRUFEICVzKSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4NgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5NwogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGV2ZW4gaWYgYWxyZWFkeSBjaGVja2VkIG91dCBpbiBvdGhlciB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogIjxCcmFuY2g+IGF1c2NoZWNrZW4sIGF1Y2ggd2VubiBkaWVzZXIgYmVyZWl0cyBpbiBlaW5lbSBhbmRlcmVuICIKICJBcmJlaXRzdmVyemVpY2huaXMgYXVzZ2VjaGVja3QgaXN0IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDg5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTAwCiBtc2dpZCAiY3JlYXRlIGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAibmV1ZW4gQnJhbmNoIGVyc3RlbGxlbiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwMgogbXNnaWQgImNyZWF0ZSBvciByZXNldCBhIGJyYW5jaCIKIG1zZ3N0ciAiQnJhbmNoIGVyc3RlbGxlbiBvZGVyIHVtc2V0emVuIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA0CiBtc2dpZCAicG9wdWxhdGUgdGhlIG5ldyB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImRhcyBuZXVlIEFyYmVpdHN2ZXJ6ZWljaG5pcyBhdXNjaGVja2VuIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDk0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA1CiBtc2dpZCAia2VlcCB0aGUgbmV3IHdvcmtpbmcgdHJlZSBsb2NrZWQiCiBtc2dzdHIgImRhcyBuZXVlIEFyYmVpdHN2ZXJ6ZWljaG5pcyBnZXNwZXJydCBsYXNzZW4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDgKIG1zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1icmFuY2goMSkpIgogbXNnc3RyICJNb2R1cyB6dW0gRm9sZ2VuIHZvbiBCcmFuY2hlcyBlaW5zdGVsbGVuIChzaWVoZSBnaXQtYnJhbmNoKDEpKSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwMAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUxMQogbXNnaWQgInRyeSB0byBtYXRjaCB0aGUgbmV3IGJyYW5jaCBuYW1lIHdpdGggYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICIiCiAidmVyc3VjaGVuLCBlaW5lIMOcYmVyZWluc3RpbW11bmcgZGVzIEJyYW5jaC1OYW1lbnMgbWl0IGVpbmVtXG4iCiAiUmVtb3RlLVRyYWNraW5nLUJyYW5jaCBoZXJ6dXN0ZWxsZW4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTkKIG1zZ2lkICItYiwgLUIsIGFuZCAtLWRldGFjaCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItYiwgLUIgdW5kIC0tZGV0YWNoIHNjaGxpZcOfZW4gc2ljaCBnZWdlbnNlaXRpZyBhdXMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1NjkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1ODAKIG1zZ2lkICItLVtuby1ddHJhY2sgY2FuIG9ubHkgYmUgdXNlZCBpZiBhIG5ldyBicmFuY2ggaXMgY3JlYXRlZCIKIG1zZ3N0ciAiIgogIi0tW25vXS10cmFjayBrYW5uIG51ciB2ZXJ3ZW5kZXQgd2VyZGVuLCB3ZW5uIGVpbiBuZXVlciBCcmFuY2ggZXJzdGVsbHQgd2lyZC4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NjkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODAKIG1zZ2lkICJyZWFzb24gZm9yIGxvY2tpbmciCiBtc2dzdHIgIlNwZXJyZ3J1bmQiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODEgYnVpbHRpbi93b3JrdHJlZS5jOjcxNCBidWlsdGluL3dvcmt0cmVlLmM6NzcyCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODk5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NjkyIGJ1aWx0aW4vd29ya3RyZWUuYzo3MjUgYnVpbHRpbi93b3JrdHJlZS5jOjc5OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjkyNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiJyVzJyBpc3Qga2VpbiBBcmJlaXRzdmVyemVpY2huaXMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODMgYnVpbHRpbi93b3JrdHJlZS5jOjcxNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5NCBidWlsdGluL3dvcmt0cmVlLmM6NzI3CiBtc2dpZCAiVGhlIG1haW4gd29ya2luZyB0cmVlIGNhbm5vdCBiZSBsb2NrZWQgb3IgdW5sb2NrZWQiCiBtc2dzdHIgIkRhcyBIYXVwdGFyYmVpdHN2ZXJ6ZWljaG5pcyBrYW5uIG5pY2h0IGdlc3BlcnJ0IG9kZXIgZW50c3BlcnJ0IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCwgcmVhc29uOiAlcyIKIG1zZ3N0ciAiJyVzJyBpc3QgYmVyZWl0cyBnZXNwZXJydCwgR3J1bmQ6ICVzIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjkwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQiCiBtc2dzdHIgIiclcycgaXN0IGJlcmVpdHMgZ2VzcGVycnQiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3MTgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgbG9ja2VkIgogbXNnc3RyICInJXMnIGlzdCBuaWNodCBnZXNwZXJydCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc0MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3MAogbXNnaWQgIndvcmtpbmcgdHJlZXMgY29udGFpbmluZyBzdWJtb2R1bGVzIGNhbm5vdCBiZSBtb3ZlZCBvciByZW1vdmVkIgogbXNnc3RyICIiCiAiQXJiZWl0c3ZlcnplaWNobmlzc2UsIGRpZSBTdWJtb2R1bGUgZW50aGFsdGVuLCBrw7ZubmVuIG5pY2h0IHZlcnNjaG9iZW4gb2RlclxuIgogImVudGZlcm50IHdlcmRlbi4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3NTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3NzgKIG1zZ2lkICJmb3JjZSBtb3ZlIGV2ZW4gaWYgd29ya3RyZWUgaXMgZGlydHkgb3IgbG9ja2VkIgotbXNnc3RyICJWZXJzY2hpZWJlbiBlcnp3aW5nZW4sIGF1Y2ggd2VubiBkYXMgQXJiZWl0c3ZlcnplaWNobmlzIGdlw6RuZGVydCBvZGVyIGdlc3BlcnJ0IGlzdCIKK21zZ3N0ciAiIgorIlZlcnNjaGllYmVuIGVyendpbmdlbiwgYXVjaCB3ZW5uIGRhcyBBcmJlaXRzdmVyemVpY2huaXMgZ2XDpG5kZXJ0IG9kZXIgIgorImdlc3BlcnJ0IGlzdCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3NCBidWlsdGluL3dvcmt0cmVlLmM6OTAxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODAxIGJ1aWx0aW4vd29ya3RyZWUuYzo5MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhIG1haW4gd29ya2luZyB0cmVlIgogbXNnc3RyICInJXMnIGlzdCBlaW4gSGF1cHRhcmJlaXRzdmVyemVpY2huaXMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3NzkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGZpZ3VyZSBvdXQgZGVzdGluYXRpb24gbmFtZSBmcm9tICclcyciCiBtc2dzdHIgIktvbm50ZSBaaWVsbmFtZSBhdXMgJyVzJyBuaWNodCBiZXN0aW1tZW4uIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Nzg1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhcmdldCAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJaaWVsICclcycgZXhpc3RpZXJ0IGJlcmVpdHMuIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzkzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjYW5ub3QgbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWUsIGxvY2sgcmVhc29uOiAlc1xuIgpAQCAtMTg2NjQsNyArMjE5NzksNyBAQAogIkJlbnV0emVuIFNpZSAnbW92ZSAtZiAtZicgenVtIMOcYmVyc2NocmVpYmVuIG9kZXIgZW50c3BlcnJlbiBTaWUgenVlcnN0XG4iCiAiZGFzIEFyYmVpdHN2ZXJ6ZWljaG5pcy4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3OTUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MjIKIG1zZ2lkICIiCiAiY2Fubm90IG1vdmUgYSBsb2NrZWQgd29ya2luZyB0cmVlO1xuIgogInVzZSAnbW92ZSAtZiAtZicgdG8gb3ZlcnJpZGUgb3IgdW5sb2NrIGZpcnN0IgpAQCAtMTg2NzMsMzYgKzIxOTg4LDQwIEBACiAiQmVudXR6ZW4gU2llICdtb3ZlIC1mIC1mJyB6dW0gw5xiZXJzY2hyZWliZW4gb2RlciBlbnRzcGVycmVuIFNpZSB6dWVyc3RcbiIKICJkYXMgQXJiZWl0c3ZlcnplaWNobmlzLiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc5OAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ2YWxpZGF0aW9uIGZhaWxlZCwgY2Fubm90IG1vdmUgd29ya2luZyB0cmVlOiAlcyIKIG1zZ3N0ciAiVmFsaWRpZXJ1bmcgZmVobGdlc2NobGFnZW4sIGthbm4gQXJiZWl0c3plaWNobmlzIG5pY2h0IHZlcnNjaGllYmVuOiAlcyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwMworIzogYnVpbHRpbi93b3JrdHJlZS5jOjgzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbW92ZSAnJXMnIHRvICclcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIFZlcnNjaGllYmVuIHZvbiAnJXMnIG5hY2ggJyVzJyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjg1MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjg3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcnVuICdnaXQgc3RhdHVzJyBvbiAnJXMnIgogbXNnc3RyICJGZWhsZXIgYmVpbSBBdXNmw7xocmVuIHZvbiAnZ2l0IHN0YXR1cycgYXVmICclcyciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NTUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4ODIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBkaXJ0eSwgdXNlIC0tZm9yY2UgdG8gZGVsZXRlIGl0IgotbXNnc3RyICInJXMnIGlzdCB2ZXLDpG5kZXJ0LCBiZW51dHplbiBTaWUgLS1mb3JjZSB6dW0gTMO2c2NoZW4iCittc2dpZCAiJyVzJyBjb250YWlucyBtb2RpZmllZCBvciB1bnRyYWNrZWQgZmlsZXMsIHVzZSAtLWZvcmNlIHRvIGRlbGV0ZSBpdCIKK21zZ3N0ciAiIgorIiclcycgZW50aMOkbHQgZ2XDpG5kZXJ0ZSBvZGVyIG5pY2h0IHZlcnNpb25pZXJ0ZSBEYXRlaWVuLCBiZW51dHplbiBTaWUgLS1mb3JjZSAiCisienVtIEzDtnNjaGVuIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODYwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBydW4gJ2dpdCBzdGF0dXMnIG9uICclcycsIGNvZGUgJWQiCiBtc2dzdHIgIkZlaGxlciBiZWltIEF1c2bDvGhyZW4gdm9uICdnaXQgc3RhdHVzJyBhdWYgJyVzJy4gQ29kZTogJWQiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4ODMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MTAKIG1zZ2lkICJmb3JjZSByZW1vdmFsIGV2ZW4gaWYgd29ya3RyZWUgaXMgZGlydHkgb3IgbG9ja2VkIgotbXNnc3RyICJMw7ZzY2hlbiBlcnp3aW5nZW4sIGF1Y2ggd2VubiBkYXMgQXJiZWl0c3ZlcnplaWNobmlzIGdlw6RuZGVydCBvZGVyIGdlc3BlcnJ0IGlzdCIKK21zZ3N0ciAiIgorIkzDtnNjaGVuIGVyendpbmdlbiwgYXVjaCB3ZW5uIGRhcyBBcmJlaXRzdmVyemVpY2huaXMgZ2XDpG5kZXJ0IG9kZXIgZ2VzcGVycnQgIgorImlzdCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjkwNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjkzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY2Fubm90IHJlbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWUsIGxvY2sgcmVhc29uOiAlc1xuIgpAQCAtMTg3MTIsNyArMjIwMzEsNyBAQAogIkJlbnV0emVuIFNpZSAncmVtb3ZlIC1mIC1mJyB6dW0gw5xiZXJzY2hyZWliZW4gb2RlciBlbnRzcGVycmVuIFNpZSB6dWVyc3RcbiIKICJkYXMgQXJiZWl0c3ZlcnplaWNobmlzLiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjkwOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjkzNQogbXNnaWQgIiIKICJjYW5ub3QgcmVtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZTtcbiIKICJ1c2UgJ3JlbW92ZSAtZiAtZicgdG8gb3ZlcnJpZGUgb3IgdW5sb2NrIGZpcnN0IgpAQCAtMTg3MjEsMjggKzIyMDQwLDQzIEBACiAiQmVudXR6ZW4gU2llICdyZW1vdmUgLWYgLWYnIHp1bSDDnGJlcnNjaHJlaWJlbiBvZGVyIGVudHNwZXJyZW4gU2llIHp1ZXJzdFxuIgogImRhcyBBcmJlaXRzdmVyemVpY2huaXMuIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6OTExCisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInZhbGlkYXRpb24gZmFpbGVkLCBjYW5ub3QgcmVtb3ZlIHdvcmtpbmcgdHJlZTogJXMiCiBtc2dzdHIgIlZhbGlkaWVydW5nIGZlaGxnZXNjaGxhZ2VuLCBrYW5uIEFyYmVpdHN2ZXJ6ZWljaG5pcyBuaWNodCBsw7ZzY2hlbjogJXMiCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjE0CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoxNQogbXNnaWQgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08cHJlZml4Pi9dIgogbXNnc3RyICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PFByw6RmaXg+L10iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI3CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOAogbXNnaWQgIjxwcmVmaXg+LyIKIG1zZ3N0ciAiPFByw6RmaXg+LyIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjgKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI5CiBtc2dpZCAid3JpdGUgdHJlZSBvYmplY3QgZm9yIGEgc3ViZGlyZWN0b3J5IDxwcmVmaXg+IgotbXNnc3RyICJkYXMgXCJUcmVlXCItT2JqZWt0IGbDvHIgZWluIFVudGVydmVyemVpY2huaXMgPFByw6RmaXg+IHNjaHJlaWJlbiIKK21zZ3N0ciAiZGFzIFRyZWUtT2JqZWt0IGbDvHIgZWluIFVudGVydmVyemVpY2huaXMgPFByw6RmaXg+IHNjaHJlaWJlbiIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MzAKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjMxCiBtc2dpZCAib25seSB1c2VmdWwgZm9yIGRlYnVnZ2luZyIKIG1zZ3N0ciAibnVyIG7DvHR6bGljaCBmw7xyIEZlaGxlcnN1Y2hlIgogCi0jOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyMjIKKyM6IGZhc3QtaW1wb3J0LmM6MzEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJFeHBlY3RlZCAnbWFyaycgY29tbWFuZCwgZ290ICVzIgorbXNnc3RyICInbWFyaycgQmVmZWhsIGVyd2FydGV0LCAnJXMnIGJla29tbWVuIgorCisjOiBmYXN0LWltcG9ydC5jOjMxMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhwZWN0ZWQgJ3RvJyBjb21tYW5kLCBnb3QgJXMiCittc2dzdHIgIid0bycgQmVmZWhsIGVyd2FydGV0LCAnJXMnIGJla29tbWVuIgorCisjOiBmYXN0LWltcG9ydC5jOjMyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmVhdHVyZSAnJXMnIGZvcmJpZGRlbiBpbiBpbnB1dCB3aXRob3V0IC0tYWxsb3ctdW5zYWZlLWZlYXR1cmVzIgorbXNnc3RyICJGZWF0dXJlICclcycgdmVyYm90ZW4gaW4gRWluZ2FiZSBvaG5lIE9wdGlvbiAtLWFsbG93LXVuc2FmZS1mZWF0dXJlcyIKKworIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgcGVybWlzc2lvbnMgb24geW91ciBzb2NrZXQgZGlyZWN0b3J5IGFyZSB0b28gbG9vc2U7IG90aGVyXG4iCkBAIC0xODc1OCw3ICsyMjA5Miw3IEBACiAiXG4iCiAiYXVzenVmw7xocmVuLiIKIAotIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcxCisjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyNzIKIG1zZ2lkICJwcmludCBkZWJ1Z2dpbmcgbWVzc2FnZXMgdG8gc3RkZXJyIgogbXNnc3RyICJNZWxkdW5nZW4genVyIEZlaGxlcnN1Y2hlIGluIFN0YW5kYXJkLUZlaGxlcmF1c2dhYmUgYXVzZ2ViZW4iCiAKQEAgLTE4NzcxLDYgKzIyMTA1LDE0IEBACiBtc2dpZCAidG9vIG1hbnkgY29tbWl0cyBtYXJrZWQgcmVhY2hhYmxlIgogbXNnc3RyICJadSB2aWVsZSBDb21taXRzIGFscyBlcnJlaWNoYmFyIGdla2VubnplaWNobmV0LiIKIAorIzogdC9oZWxwZXIvdGVzdC1zZXJ2ZS12Mi5jOjcKK21zZ2lkICJ0ZXN0LXRvb2wgc2VydmUtdjIgWzxvcHRpb25zPl0iCittc2dzdHIgInRlc3QtdG9vbCBzZXJ2ZS12MiBbPE9wdGlvbmVuPl0iCisKKyM6IHQvaGVscGVyL3Rlc3Qtc2VydmUtdjIuYzoxOQorbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgYWR2ZXJ0aXNpbmcgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJkaXJla3QgbmFjaCBBbnplaWdlIGRlciBhbmdlYm90ZW5lbiBGw6RoaWdrZWl0ZW4gYmVlbmRlbiIKKwogIzogZ2l0LmM6MjcKIG1zZ2lkICIiCiAiZ2l0IFstLXZlcnNpb25dIFstLWhlbHBdIFstQyA8cGF0aD5dIFstYyA8bmFtZT49PHZhbHVlPl1cbiIKQEAgLTE4NzkxLDEwMiArMjIxMzMsMTU1IEBACiBtc2dpZCAiIgogIidnaXQgaGVscCAtYScgYW5kICdnaXQgaGVscCAtZycgbGlzdCBhdmFpbGFibGUgc3ViY29tbWFuZHMgYW5kIHNvbWVcbiIKICJjb25jZXB0IGd1aWRlcy4gU2VlICdnaXQgaGVscCA8Y29tbWFuZD4nIG9yICdnaXQgaGVscCA8Y29uY2VwdD4nXG4iCi0idG8gcmVhZCBhYm91dCBhIHNwZWNpZmljIHN1YmNvbW1hbmQgb3IgY29uY2VwdC4iCisidG8gcmVhZCBhYm91dCBhIHNwZWNpZmljIHN1YmNvbW1hbmQgb3IgY29uY2VwdC5cbiIKKyJTZWUgJ2dpdCBoZWxwIGdpdCcgZm9yIGFuIG92ZXJ2aWV3IG9mIHRoZSBzeXN0ZW0uIgogbXNnc3RyICIiCiAiJ2dpdCBoZWxwIC1hJyB1bmQgJ2dpdCBoZWxwIC1nJyBsaXN0ZXQgdmVyZsO8Z2JhcmUgVW50ZXJiZWZlaGxlIHVuZFxuIgogImVpbmlnZSBBbmxlaXR1bmdlbiB6dSBHaXQtS29uemVwdGVuIGF1Zi4gQmVudXR6ZW4gU2llICdnaXQgaGVscCA8QmVmZWhsPidcbiIKICJvZGVyICdnaXQgaGVscCA8S29uemVwdD4nLCB1bSBtZWhyIMO8YmVyIGVpbmVuIHNwZXppZmlzY2hlbiBCZWZlaGwgb2RlclxuIgotIktvbnplcHQgenUgZXJmYWhyZW4uIgorIktvbnplcHQgenUgZXJmYWhyZW4uXG4iCisiQmVudXR6ZW4gU2llICdnaXQgaGVscCBnaXQnIGbDvHIgZWluZW4gw5xiZXJibGljayBkZXMgU3lzdGVtcy4iCiAKLSM6IGdpdC5jOjE3MworIzogZ2l0LmM6MTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLS1naXQtZGlyXG4iCiBtc2dzdHIgIktlaW4gVmVyemVpY2huaXMgZsO8ciAtLWdpdC1kaXIgYW5nZWdlYmVuLlxuIgogCi0jOiBnaXQuYzoxODcKKyM6IGdpdC5jOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBuYW1lc3BhY2UgZ2l2ZW4gZm9yIC0tbmFtZXNwYWNlXG4iCiBtc2dzdHIgIktlaW4gTmFtZXNwYWNlIGbDvHIgLS1uYW1lc3BhY2UgYW5nZWdlYmVuLlxuIgogCi0jOiBnaXQuYzoyMDEKKyM6IGdpdC5jOjIxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBkaXJlY3RvcnkgZ2l2ZW4gZm9yIC0td29yay10cmVlXG4iCiBtc2dzdHIgIktlaW4gVmVyemVpY2huaXMgZsO8ciAtLXdvcmstdHJlZSBhbmdlZ2ViZW4uXG4iCiAKLSM6IGdpdC5jOjIxNQorIzogZ2l0LmM6MjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHByZWZpeCBnaXZlbiBmb3IgLS1zdXBlci1wcmVmaXhcbiIKIG1zZ3N0ciAiS2VpbiBQcsOkZml4IGbDvHIgLS1zdXBlci1wcmVmaXggYW5nZWdlYmVuLlxuIgogCi0jOiBnaXQuYzoyMzcKKyM6IGdpdC5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICItYyBleHBlY3RzIGEgY29uZmlndXJhdGlvbiBzdHJpbmdcbiIKIG1zZ3N0ciAiLWMgZXJ3YXJ0ZXQgZWluZW4gS29uZmlndXJhdGlvbnNzdHJpbmcuXG4iCiAKLSM6IGdpdC5jOjI3NQorIzogZ2l0LmM6Mjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLUNcbiIKIG1zZ3N0ciAiS2VpbiBWZXJ6ZWljaG5pcyBmw7xyIC1DIGFuZ2VnZWJlbi5cbiIKIAotIzogZ2l0LmM6MzAwCisjOiBnaXQuYzozMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICVzXG4iCiBtc2dzdHIgIlVuYmVrYW5udGUgT3B0aW9uOiAlc1xuIgogCi0jOiBnaXQuYzo3MTkKKyM6IGdpdC5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ3aGlsZSBleHBhbmRpbmcgYWxpYXMgJyVzJzogJyVzJyIKK21zZ3N0ciAiYmVpbSBFcndlaXRlcm4gdm9uIEFsaWFzICclcyc6ICclcyciCisKKyM6IGdpdC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYWxpYXMgJyVzJyBjaGFuZ2VzIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiIKKyJZb3UgY2FuIHVzZSAnIWdpdCcgaW4gdGhlIGFsaWFzIHRvIGRvIHRoaXMiCittc2dzdHIgIiIKKyJBbGlhcyAnJXMnIMOkbmRlcnQgVW1nZWJ1bmdzdmFyaWFibGVuLlxuIgorIlNpZSBrw7ZubmVuICchZ2l0JyBpbSBBbGlhcyBiZW51dHplbiwgdW0gZGllcyB6dSB0dW4uIgorCisjOiBnaXQuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1wdHkgYWxpYXMgZm9yICVzIgorbXNnc3RyICJsZWVyZXIgQWxpYXMgZsO8ciAlcyIKKworIzogZ2l0LmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY3Vyc2l2ZSBhbGlhczogJXMiCittc2dzdHIgInJla3Vyc2l2ZXIgQWxpYXM6ICVzIgorCisjOiBnaXQuYzo0NTkKK21zZ2lkICJ3cml0ZSBmYWlsdXJlIG9uIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAiRmVobGVyIGJlaW0gU2NocmVpYmVuIGluIGRpZSBTdGFuZGFyZC1BdXNnYWJlLiIKKworIzogZ2l0LmM6NDYxCittc2dpZCAidW5rbm93biB3cml0ZSBmYWlsdXJlIG9uIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAiVW5iZWthbm50ZXIgRmVobGVyIGJlaW0gU2NocmVpYmVuIGluIGRpZSBTdGFuZGFyZC1BdXNnYWJlLiIKKworIzogZ2l0LmM6NDYzCittc2dpZCAiY2xvc2UgZmFpbGVkIG9uIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAiRmVobGVyIGJlaW0gU2NobGllw59lbiBkZXIgU3RhbmRhcmQtQXVzZ2FiZS4iCisKKyM6IGdpdC5jOjc5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhbGlhcyBsb29wIGRldGVjdGVkOiBleHBhbnNpb24gb2YgJyVzJyBkb2VzIG5vdCB0ZXJtaW5hdGU6JXMiCiBtc2dzdHIgIkFsaWFzLVNjaGxlaWZlIGVya2FubnQ6IEVyd2VpdGVydW5nIHZvbiAnJXMnIHNjaGxpZcOfdCBuaWNodCBhYjolcyIKIAotIzogZ2l0LmM6ODAyCisjOiBnaXQuYzo4NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGhhbmRsZSAlcyBhcyBhIGJ1aWx0aW4iCittc2dzdHIgIkthbm4gJXMgbmljaHQgYWxzIGVpbmdlYmF1dGVuIEJlZmVobCBiZWhhbmRlbG4uIgorCisjOiBnaXQuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisiVmVyd2VuZHVuZzogJXNcbiIKKyJcbiIKKworIzogZ2l0LmM6ODc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGFuc2lvbiBvZiBhbGlhcyAnJXMnIGZhaWxlZDsgJyVzJyBpcyBub3QgYSBnaXQgY29tbWFuZFxuIgogbXNnc3RyICJFcndlaXRlcnVuZyB2b24gQWxpYXMgJyVzJyBmZWhsZ2VzY2hsYWdlbjsgJyVzJyBpc3Qga2VpbiBHaXQtQmVmZWhsLlxuIgogCi0jOiBnaXQuYzo4MTQKKyM6IGdpdC5jOjg4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcnVuIGNvbW1hbmQgJyVzJzogJXNcbiIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gQXVzZsO8aHJlbiB2b24gQmVmZWhsICclcyc6ICVzXG4iCiAKLSM6IGh0dHAuYzozNzQKKyM6IGh0dHAuYzozNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAibmVnYXRpdmUgdmFsdWUgZm9yIGh0dHAucG9zdGJ1ZmZlcjsgZGVmYXVsdGluZyB0byAlZCIKIG1zZ3N0ciAibmVnYXRpdmVyIFdlcnQgZsO8ciBodHRwLnBvc3RidWZmZXI7IGJlbnV0emUgU3RhbmRhcmR3ZXJ0ICVkIgogCi0jOiBodHRwLmM6Mzk1CisjOiBodHRwLmM6Mzk5CiBtc2dpZCAiRGVsZWdhdGlvbiBjb250cm9sIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy4yMi4wIgogbXNnc3RyICJLb250cm9sbGUgw7xiZXIgRGVsZWdhdGlvbiB3aXJkIG1pdCBjVVJMIDwgNy4yMi4wIG5pY2h0IHVudGVyc3TDvHR6dCIKIAotIzogaHR0cC5jOjQwNAorIzogaHR0cC5jOjQwOAogbXNnaWQgIlB1YmxpYyBrZXkgcGlubmluZyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuNDQuMCIKIG1zZ3N0ciAiIgogIkRhcyBBbmhlZnRlbiBkZXMgw7ZmZmVudGxpY2hlbiBTY2hsw7xzc2VscyB3aXJkIG1pdCBjVVJMIDwgNy40NC4wXG4iCiAibmljaHQgdW50ZXJzdMO8dHp0LiIKIAotIzogaHR0cC5jOjgzNworIzogaHR0cC5jOjg3NgogbXNnaWQgIkNVUkxTU0xPUFRfTk9fUkVWT0tFIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgogbXNnc3RyICJDVVJMU1NMT1BUX05PX1JFVk9LRSB3aXJkIG1pdCBjVVJMIDwgNy40NC4wIG5pY2h0IHVudGVyc3TDvHR6dC4iCiAKLSM6IGh0dHAuYzo5MTAKKyM6IGh0dHAuYzo5NDkKIG1zZ2lkICJQcm90b2NvbCByZXN0cmljdGlvbnMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjE5LjQiCiBtc2dzdHIgIlByb3Rva29sbGJlc2NocsOkbmt1bmdlbiB3ZXJkZW4gbWl0IGNVUkwgPCA3LjE5LjQgbmljaHQgdW50ZXJzdMO8dHp0LiIKIAotIzogaHR0cC5jOjEwNDYKKyM6IGh0dHAuYzoxMDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuc3VwcG9ydGVkIFNTTCBiYWNrZW5kICclcycuIFN1cHBvcnRlZCBTU0wgYmFja2VuZHM6IgogbXNnc3RyICJOaWNodCB1bnRlcnN0w7x0enRlcyBTU0wtQmFja2VuZCAnJXMnLiBVbnRlcnN0w7x0enRlIFNTTC1CYWNrZW5kczoiCiAKLSM6IGh0dHAuYzoxMDUzCisjOiBodHRwLmM6MTA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0IFNTTCBiYWNrZW5kIHRvICclcyc6IGNVUkwgd2FzIGJ1aWx0IHdpdGhvdXQgU1NMIGJhY2tlbmRzIgotbXNnc3RyICJLb25udGUgU1NMLUJhY2tlbmQgbmljaHQgenUgJyVzJyBzZXR6ZW46IGNVUkwgd3VyZGUgb2huZSBTU0wtQmFja2VuZHMgZ2ViYXV0LiIKK21zZ3N0ciAiIgorIktvbm50ZSBTU0wtQmFja2VuZCBuaWNodCB6dSAnJXMnIHNldHplbjogY1VSTCB3dXJkZSBvaG5lIFNTTC1CYWNrZW5kcyBnZWJhdXQuIgogCi0jOiBodHRwLmM6MTA1NworIzogaHR0cC5jOjEwOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldCBTU0wgYmFja2VuZCB0byAnJXMnOiBhbHJlYWR5IHNldCIKIG1zZ3N0ciAiS29ubnRlIFNTTC1CYWNrZW5kIG5pY2h0IHp1ICclcycgc2V0emVuOiBiZXJlaXRzIGdlc2V0enQiCiAKLSM6IGh0dHAuYzoxOTIxCisjOiBodHRwLmM6MTk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidW5hYmxlIHRvIHVwZGF0ZSB1cmwgYmFzZSBmcm9tIHJlZGlyZWN0aW9uOlxuIgpAQCAtMTg4OTcsMzkgKzIyMjkyLDE4MSBAQAogIiAgZ2VmcmFndCBuYWNoOiAlc1xuIgogIiAgICB1bWdlbGVpdGV0OiAlcyIKIAotIzogcmVtb3RlLWN1cmwuYzo0MDEKKyM6IHJlbW90ZS1jdXJsLmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcXVvdGluZyBpbiBwdXNoLW9wdGlvbiB2YWx1ZTogJyVzJyIKK21zZ3N0ciAiVW5nw7xsdGlnZXMgUXVvdGluZyBiZWltIFwicHVzaC1vcHRpb25cIi1XZXJ0OiAnJXMnIgorCisjOiByZW1vdGUtY3VybC5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICIlc2luZm8vcmVmcyBub3QgdmFsaWQ6IGlzIHRoaXMgYSBnaXQgcmVwb3NpdG9yeT8iCittc2dzdHIgIiVzaW5mby9yZWZzIG5pY2h0IGfDvGx0aWc6IElzdCBkYXMgZWluIEdpdC1SZXBvc2l0b3J5PyIKKworIzogcmVtb3RlLWN1cmwuYzozNjQKK21zZ2lkICJpbnZhbGlkIHNlcnZlciByZXNwb25zZTsgZXhwZWN0ZWQgc2VydmljZSwgZ290IGZsdXNoIHBhY2tldCIKK21zZ3N0ciAiVW5nw7xsdGlnZSBBbnR3b3J0IGRlcyBTZXJ2ZXJzLiBTZXJ2aWNlIGVyd2FydGV0LCBGbHVzaC1QYWtldCBiZWtvbW1lbiIKKworIzogcmVtb3RlLWN1cmwuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzZXJ2ZXIgcmVzcG9uc2U7IGdvdCAnJXMnIgorbXNnc3RyICJVbmfDvGx0aWdlIFNlcnZlcmFudHdvcnQ7ICclcycgYmVrb21tZW4iCisKKyM6IHJlbW90ZS1jdXJsLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBub3QgZm91bmQiCittc2dzdHIgIlJlcG9zaXRvcnkgJyVzJyBuaWNodCBnZWZ1bmRlbi4iCisKKyM6IHJlbW90ZS1jdXJsLmM6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIkF1dGhlbnRpY2F0aW9uIGZhaWxlZCBmb3IgJyVzJyIKK21zZ3N0ciAiQXV0aGVudGlmaXppZXJ1bmcgZmVobGdlc2NobGFnZW4gZsO8ciAnJXMnIgorCisjOiByZW1vdGUtY3VybC5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyc6ICVzIgorbXNnc3RyICJrb25udGUgbmljaHQgYXVmICclcycgenVncmVpZmVuOiAlcyIKKworIzogcmVtb3RlLWN1cmwuYzo0NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVkaXJlY3RpbmcgdG8gJXMiCiBtc2dzdHIgIkxlaXRlIG5hY2ggJXMgdW0iCiAKLSM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oOjYwCisjOiByZW1vdGUtY3VybC5jOjU5MworbXNnaWQgInNob3VsZG4ndCBoYXZlIEVPRiB3aGVuIG5vdCBnZW50bGUgb24gRU9GIgorbXNnc3RyICJzb2xsdGUga2VpbiBFT0YgaGFiZW4sIHdlbm4gbmljaHQgYmVodXRzYW0gbWl0IEVPRiIKKworIzogcmVtb3RlLWN1cmwuYzo2NzMKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHJwYyBwb3N0IGRhdGEgLSB0cnkgaW5jcmVhc2luZyBodHRwLnBvc3RCdWZmZXIiCittc2dzdHIgIiIKKyJLb25udGUgbmljaHQgUlBDLVBPU1QtRGF0ZW4genVyw7xja3NwdWxlbiAtIFZlcnN1Y2hlbiBTaWUgaHR0cC5wb3N0QnVmZmVyIHp1ICIKKyJlcmjDtmhlbiIKKworIzogcmVtb3RlLWN1cmwuYzo3MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUlBDIGZhaWxlZDsgJXMiCittc2dzdHIgIlJQQyBmZWhsZ2VzY2hsYWdlbjsgJXMiCisKKyM6IHJlbW90ZS1jdXJsLmM6NzczCittc2dpZCAiY2Fubm90IGhhbmRsZSBwdXNoZXMgdGhpcyBiaWciCittc2dzdHIgIkthbm4gc29sY2hlIGdyb8OfZW4gw5xiZXJ0cmFndW5nZW4gbmljaHQgdmVyYXJiZWl0ZW4uIgorCisjOiByZW1vdGUtY3VybC5jOjg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGVmbGF0ZSByZXF1ZXN0OyB6bGliIGRlZmxhdGUgZXJyb3IgJWQiCittc2dzdHIgIkthbm4gUmVxdWVzdCBuaWNodCBrb21wcmltaWVyZW47IFwiemxpYiBkZWZsYXRlXCItRmVobGVyICVkIgorCisjOiByZW1vdGUtY3VybC5jOjg5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGVmbGF0ZSByZXF1ZXN0OyB6bGliIGVuZCBlcnJvciAlZCIKK21zZ3N0ciAiS2FubiBSZXF1ZXN0IG5pY2h0IGtvbXByaW1pZXJlbjsgXCJ6bGliIGVuZFwiLUZlaGxlciAlZCIKKworIzogcmVtb3RlLWN1cmwuYzoxMDIzCittc2dpZCAiZHVtYiBodHRwIHRyYW5zcG9ydCBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJEdW1iIEhUVFAtVHJhbnNwb3J0IHVudGVyc3TDvHR6dCBrZWluZSBzaGFsbG93LUZ1bmt0aW9uZW4iCisKKyM6IHJlbW90ZS1jdXJsLmM6MTAzNworbXNnaWQgImZldGNoIGZhaWxlZC4iCittc2dzdHIgIlwiZmV0Y2hcIiBmZWhsZ2VzY2hsYWdlbi4iCisKKyM6IHJlbW90ZS1jdXJsLmM6MTA4NQorbXNnaWQgImNhbm5vdCBmZXRjaCBieSBzaGExIG92ZXIgc21hcnQgaHR0cCIKK21zZ3N0ciAiS2FubiBTSEEtMSBuaWNodCDDvGJlciBTbWFydC1IVFRQIGFuZm9yZGVybiIKKworIzogcmVtb3RlLWN1cmwuYzoxMTI5IHJlbW90ZS1jdXJsLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICJwcm90b2NvbCBlcnJvcjogZXhwZWN0ZWQgc2hhL3JlZiwgZ290ICclcyciCittc2dzdHIgIlByb3Rva29sbGZlaGxlcjogU0hBLTEvUmVmZXJlbnogZXJ3YXJ0ZXQsICclcycgYmVrb21tZW4iCisKKyM6IHJlbW90ZS1jdXJsLmM6MTE0NyByZW1vdGUtY3VybC5jOjEyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaHR0cCB0cmFuc3BvcnQgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAiSFRUUC1UcmFuc3BvcnQgdW50ZXJzdMO8dHp0IG5pY2h0ICVzIgorCisjOiByZW1vdGUtY3VybC5jOjExODMKK21zZ2lkICJnaXQtaHR0cC1wdXNoIGZhaWxlZCIKK21zZ3N0ciAiXCJnaXQtaHR0cC1wdXNoXCIgZmVobGdlc2NobGFnZW4iCisKKyM6IHJlbW90ZS1jdXJsLmM6MTM2NworbXNnaWQgInJlbW90ZS1jdXJsOiB1c2FnZTogZ2l0IHJlbW90ZS1jdXJsIDxyZW1vdGU+IFs8dXJsPl0iCittc2dzdHIgInJlbW90ZS1jdXJsOiBWZXJ3ZW5kdW5nOiBnaXQgcmVtb3RlLWN1cmwgPFJlbW90ZS1SZXBvc2l0b3J5PiBbPFVSTD5dIgorCisjOiByZW1vdGUtY3VybC5jOjEzOTkKK21zZ2lkICJyZW1vdGUtY3VybDogZXJyb3IgcmVhZGluZyBjb21tYW5kIHN0cmVhbSBmcm9tIGdpdCIKK21zZ3N0ciAicmVtb3RlLWN1cmw6IEZlaGxlciBiZWltIExlc2VuIGRlcyBLb21tYW5kby1TdHJlYW1zIHZvbiBHaXQiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTQwNgorbXNnaWQgInJlbW90ZS1jdXJsOiBmZXRjaCBhdHRlbXB0ZWQgd2l0aG91dCBhIGxvY2FsIHJlcG8iCittc2dzdHIgInJlbW90ZS1jdXJsOiBcImZldGNoXCIgb2huZSBsb2thbGVzIFJlcG9zaXRvcnkgdmVyc3VjaHQiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUtY3VybDogdW5rbm93biBjb21tYW5kICclcycgZnJvbSBnaXQiCittc2dzdHIgInJlbW90ZS1jdXJsOiBVbmJla2FubnRlciBCZWZlaGwgJyVzJyB2b24gR2l0IgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaDo4NQogbXNnaWQgImFyZ3MiCiBtc2dzdHIgIkFyZ3VtZW50ZSIKIAotIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmg6NjEKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oOjg2CiBtc2dpZCAib2JqZWN0IGZpbHRlcmluZyIKIG1zZ3N0ciAiRmlsdGVybiBuYWNoIE9iamVrdGVuIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MTU0CisjOiBwYXJzZS1vcHRpb25zLmg6MTgzCiBtc2dpZCAiZXhwaXJ5LWRhdGUiCiBtc2dzdHIgIlZlcmZhbGxzZGF0dW0iCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNjkKKyM6IHBhcnNlLW9wdGlvbnMuaDoxOTcKIG1zZ2lkICJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiCiBtc2dzdHIgIktlaW4gRWZmZWt0IChSw7xja3fDpHJ0c2tvbXBhdGliaWxpdMOkdCkiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNjEKKyM6IHBhcnNlLW9wdGlvbnMuaDozMDkKIG1zZ2lkICJiZSBtb3JlIHZlcmJvc2UiCiBtc2dzdHIgImVyd2VpdGVydGUgQXVzZ2FiZW4iCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNjMKKyM6IHBhcnNlLW9wdGlvbnMuaDozMTEKIG1zZ2lkICJiZSBtb3JlIHF1aWV0IgogbXNnc3RyICJ3ZW5pZ2VyIEF1c2dhYmVuIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjY5CisjOiBwYXJzZS1vcHRpb25zLmg6MzE3CiBtc2dpZCAidXNlIDxuPiBkaWdpdHMgdG8gZGlzcGxheSBTSEEtMXMiCiBtc2dzdHIgImJlbnV0emUgPG4+IFppZmZlcm4genVyIEFuemVpZ2Ugdm9uIFNIQS0xcyIKIAorIzogcGFyc2Utb3B0aW9ucy5oOjMzNgorbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCittc2dzdHIgIiIKKyJ3aWUgTGVlcnplaWNoZW4gdW5kICNLb21tZW50YXJlIHZvbiBkZXIgQmVzY2hyZWlidW5nIGdldHJlbm50IHdlcmRlbiBzb2xsZW4iCisKKyM6IHBhcnNlLW9wdGlvbnMuaDozMzcKK21zZ2lkICJyZWFkIHBhdGhzcGVjIGZyb20gZmlsZSIKK21zZ3N0ciAiUGZhZHNwZXppZmlrYXRpb24gYXVzIGVpbmVyIERhdGVpIGxlc2VuIgorCisjOiBwYXJzZS1vcHRpb25zLmg6MzM4Cittc2dpZCAiIgorIndpdGggLS1wYXRoc3BlYy1mcm9tLWZpbGUsIHBhdGhzcGVjIGVsZW1lbnRzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgorbXNnc3RyICIiCisiTWl0IGRlciBPcHRpb24gLS1wYXRoc3BlYy1mcm9tLWZpbGUgc2luZCBQZmFkZSBkdXJjaCBOVUwtWmVpY2hlbiBnZXRyZW5udCIKKworIzogcmVmLWZpbHRlci5oOjEwMQorbXNnaWQgImtleSIKK21zZ3N0ciAiU2Now7xzc2VsIgorCisjOiByZWYtZmlsdGVyLmg6MTAxCittc2dpZCAiZmllbGQgbmFtZSB0byBzb3J0IG9uIgorbXNnc3RyICJzb3J0aWVyZSBuYWNoIGRpZXNlbSBGZWxkIgorCisjOiByZXJlcmUuaDo0NAorbXNnaWQgInVwZGF0ZSB0aGUgaW5kZXggd2l0aCByZXVzZWQgY29uZmxpY3QgcmVzb2x1dGlvbiBpZiBwb3NzaWJsZSIKK21zZ3N0ciAiIgorIkluZGV4LCB3ZW5uIG3DtmdsaWNoLCBtaXQgd2llZGVydmVyd2VuZGV0ZXIgS29uZmxpa3RhdWZsw7ZzdW5nIGFrdHVhbGlzaWVyZW4iCisKKyM6IHd0LXN0YXR1cy5oOjY3Cittc2dpZCAiSEVBRCBkZXRhY2hlZCBhdCAiCittc2dzdHIgIkhFQUQgbG9zZ2Vsw7ZzdCBiZWkgIgorCisjOiB3dC1zdGF0dXMuaDo2OAorbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCittc2dzdHIgIkhFQUQgbG9zZ2Vsw7ZzdCB2b24gIgorCiAjOiBjb21tYW5kLWxpc3QuaDo1MAogbXNnaWQgIkFkZCBmaWxlIGNvbnRlbnRzIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiRGF0ZWlpbmhhbHRlIHp1bSBDb21taXQgdm9ybWVya2VuIgpAQCAtMTkyMDEsOSArMjI3MzgsOSBAQAogbXNnc3RyICJJaHIgYWt0dWVsbGVzIFJlcG9zaXRvcnkgc29mb3J0IGluIGdpdHdlYiBiZXRyYWNodGVuIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMTMKLW1zZ2lkICJhZGQgb3IgcGFyc2Ugc3RydWN0dXJlZCBpbmZvcm1hdGlvbiBpbiBjb21taXQgbWVzc2FnZXMiCittc2dpZCAiQWRkIG9yIHBhcnNlIHN0cnVjdHVyZWQgaW5mb3JtYXRpb24gaW4gY29tbWl0IG1lc3NhZ2VzIgogbXNnc3RyICIiCi0ic3RydWt0dXJpZXJ0ZSBJbmZvcm1hdGlvbmVuIGluIENvbW1pdC1CZXNjaHJlaWJ1bmdlbiBoaW56dWbDvGdlbiBvZGVyIHBhcnNlbiIKKyJTdHJ1a3R1cmllcnRlIEluZm9ybWF0aW9uZW4gaW4gQ29tbWl0LUJlc2NocmVpYnVuZ2VuIGhpbnp1ZsO8Z2VuIG9kZXIgcGFyc2VuIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMTQKIG1zZ2lkICJUaGUgR2l0IHJlcG9zaXRvcnkgYnJvd3NlciIKQEAgLTE5MzgzLDIyNyArMjI5MjAsMjM4IEBACiBtc2dzdHIgImFrdHVlbGxlbiBIRUFEIHp1IGVpbmVtIHNwZXppZml6aWVydGVuIFp1c3RhbmQgc2V0emVuIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNTYKK21zZ2lkICJSZXN0b3JlIHdvcmtpbmcgdHJlZSBmaWxlcyIKK21zZ3N0ciAiRGF0ZWllbiBpbSBBcmJlaXRzdmVyemVpY2huaXMgd2llZGVyaGVyc3RlbGxlbiIKKworIzogY29tbWFuZC1saXN0Lmg6MTU3CiBtc2dpZCAiUmV2ZXJ0IHNvbWUgZXhpc3RpbmcgY29tbWl0cyIKIG1zZ3N0ciAiZWluaWdlIGJlc3RlaGVuZGUgQ29tbWl0cyByw7xja2fDpG5naWcgbWFjaGVuIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNTcKKyM6IGNvbW1hbmQtbGlzdC5oOjE1OAogbXNnaWQgIkxpc3RzIGNvbW1pdCBvYmplY3RzIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlciIKIG1zZ3N0ciAiQ29tbWl0LU9iamVrdGUgaW4gdW1nZWtlaHJ0ZXIgY2hyb25vbG9naXNjaGVyIE9yZG51bmcgYXVmbGlzdGVuIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNTgKKyM6IGNvbW1hbmQtbGlzdC5oOjE1OQogbXNnaWQgIlBpY2sgb3V0IGFuZCBtYXNzYWdlIHBhcmFtZXRlcnMiCiBtc2dzdHIgIlBhcmFtZXRlciBoZXJhdXNwaWNrZW4gdW5kIMOkbmRlcm4iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE1OQorIzogY29tbWFuZC1saXN0Lmg6MTYwCiBtc2dpZCAiUmVtb3ZlIGZpbGVzIGZyb20gdGhlIHdvcmtpbmcgdHJlZSBhbmQgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgIkRhdGVpZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzIHVuZCB2b20gSW5kZXggbMO2c2NoZW4iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2MAorIzogY29tbWFuZC1saXN0Lmg6MTYxCiBtc2dpZCAiU2VuZCBhIGNvbGxlY3Rpb24gb2YgcGF0Y2hlcyBhcyBlbWFpbHMiCiBtc2dzdHIgImVpbmUgU2FtbWx1bmcgdm9uIFBhdGNoZXMgYWxzIEUtTWFpbHMgdmVyc2VuZGVuIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjEKKyM6IGNvbW1hbmQtbGlzdC5oOjE2MgogbXNnaWQgIlB1c2ggb2JqZWN0cyBvdmVyIEdpdCBwcm90b2NvbCB0byBhbm90aGVyIHJlcG9zaXRvcnkiCiBtc2dzdHIgIk9iamVrdGUgw7xiZXIgZGFzIEdpdCBQcm90b2tvbGwgenUgZWluZW0gYW5kZXJlbiBSZXBvc2l0b3J5IMO8YmVydHJhZ2VuIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjIKKyM6IGNvbW1hbmQtbGlzdC5oOjE2MwogbXNnaWQgIlJlc3RyaWN0ZWQgbG9naW4gc2hlbGwgZm9yIEdpdC1vbmx5IFNTSCBhY2Nlc3MiCiBtc2dzdHIgIkxvZ2luLVNoZWxsIGJlc2NocsOkbmt0IGbDvHIgTnVyLUdpdCBTU0gtWnVncmlmZiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTYzCisjOiBjb21tYW5kLWxpc3QuaDoxNjQKIG1zZ2lkICJTdW1tYXJpemUgJ2dpdCBsb2cnIG91dHB1dCIKIG1zZ3N0ciAiQXVzZ2FiZSB2b24gJ2dpdCBsb2cnIHp1c2FtbWVuZmFzc2VuIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjQKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NQogbXNnaWQgIlNob3cgdmFyaW91cyB0eXBlcyBvZiBvYmplY3RzIgogbXNnc3RyICJ2ZXJzY2hpZWRlbmUgQXJ0ZW4gdm9uIE9iamVrdGVuIGFuemVpZ2VuIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjUKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NgogbXNnaWQgIlNob3cgYnJhbmNoZXMgYW5kIHRoZWlyIGNvbW1pdHMiCiBtc2dzdHIgIkJyYW5jaGVzIHVuZCBpaHJlIENvbW1pdHMgYXVzZ2ViZW4iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2NgorIzogY29tbWFuZC1saXN0Lmg6MTY3CiBtc2dpZCAiU2hvdyBwYWNrZWQgYXJjaGl2ZSBpbmRleCIKIG1zZ3N0ciAiZ2VwYWNrdGVuIEFyY2hpdi1JbmRleCBhbnplaWdlbiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTY3CisjOiBjb21tYW5kLWxpc3QuaDoxNjgKIG1zZ2lkICJMaXN0IHJlZmVyZW5jZXMgaW4gYSBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICJSZWZlcmVuemVuIGluIGVpbmVtIGxva2FsZXMgUmVwb3NpdG9yeSBhdWZsaXN0ZW4iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2OAorIzogY29tbWFuZC1saXN0Lmg6MTY5CiBtc2dpZCAiR2l0J3MgaTE4biBzZXR1cCBjb2RlIGZvciBzaGVsbCBzY3JpcHRzIgogbXNnc3RyICJHaXQncyBpMThuLUtvbmZpZ3VyYXRpb25zY29kZSBmw7xyIFNoZWxsLVNrcmlwdGUiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2OQorIzogY29tbWFuZC1saXN0Lmg6MTcwCiBtc2dpZCAiQ29tbW9uIEdpdCBzaGVsbCBzY3JpcHQgc2V0dXAgY29kZSIKIG1zZ3N0ciAiYWxsZ2VtZWluZXIgR2l0IFNoZWxsLVNrcmlwdCBLb25maWd1cmF0aW9uc2NvZGUiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3MAorIzogY29tbWFuZC1saXN0Lmg6MTcxCittc2dpZCAiSW5pdGlhbGl6ZSBhbmQgbW9kaWZ5IHRoZSBzcGFyc2UtY2hlY2tvdXQiCittc2dzdHIgIkluaXRpYWxpc2llcmUgdW5kIHZlcsOkbmRlcmUgZGVuIHBhcnRpZWxsZW4gQ2hlY2tvdXQiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MgogbXNnaWQgIlN0YXNoIHRoZSBjaGFuZ2VzIGluIGEgZGlydHkgd29ya2luZyBkaXJlY3RvcnkgYXdheSIKIG1zZ3N0ciAiw4RuZGVydW5nZW4gaW4gZWluZW0gQXJiZWl0c3ZlcnplaWNobmlzIGF1ZmJld2FocmVuIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzEKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MwogbXNnaWQgIkFkZCBmaWxlIGNvbnRlbnRzIHRvIHRoZSBzdGFnaW5nIGFyZWEiCiBtc2dzdHIgIkRhdGVpaW5oYWx0ZSBkZXIgU3RhZ2luZy1BcmVhIGhpbnp1ZsO8Z2VuIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzIKKyM6IGNvbW1hbmQtbGlzdC5oOjE3NAogbXNnaWQgIlNob3cgdGhlIHdvcmtpbmcgdHJlZSBzdGF0dXMiCiBtc2dzdHIgImRlbiBadXN0YW5kIGRlcyBBcmJlaXRzdmVyemVpY2huaXNzZXMgYW56ZWlnZW4iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3MworIzogY29tbWFuZC1saXN0Lmg6MTc1CiBtc2dpZCAiUmVtb3ZlIHVubmVjZXNzYXJ5IHdoaXRlc3BhY2UiCiBtc2dzdHIgIm5pY2h0IGVyZm9yZGVybGljaGVuIFdoaXRlc3BhY2UgZW50ZmVybmVuIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzQKKyM6IGNvbW1hbmQtbGlzdC5oOjE3NgogbXNnaWQgIkluaXRpYWxpemUsIHVwZGF0ZSBvciBpbnNwZWN0IHN1Ym1vZHVsZXMiCiBtc2dzdHIgIlN1Ym1vZHVsZSBpbml0aWFsaXNpZXJlbiwgYWt0dWFsaXNpZXJlbiBvZGVyIGluc3BpemllcmVuIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzUKKyM6IGNvbW1hbmQtbGlzdC5oOjE3NwogbXNnaWQgIkJpZGlyZWN0aW9uYWwgb3BlcmF0aW9uIGJldHdlZW4gYSBTdWJ2ZXJzaW9uIHJlcG9zaXRvcnkgYW5kIEdpdCIKIG1zZ3N0ciAiIgogIkJpZGlyZWt0aW9uYWxlIE9wZXJhdGlvbmVuIHp3aXNjaGVuIGVpbmVtIFN1YnZlcnNpb24gUmVwb3NpdG9yeSB1bmQgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzYKKyM6IGNvbW1hbmQtbGlzdC5oOjE3OAorbXNnaWQgIlN3aXRjaCBicmFuY2hlcyIKK21zZ3N0ciAiQnJhbmNoZXMgd2VjaHNlbG4iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3OQogbXNnaWQgIlJlYWQsIG1vZGlmeSBhbmQgZGVsZXRlIHN5bWJvbGljIHJlZnMiCiBtc2dzdHIgInN5bWJvbGlzY2hlIFJlZmVyZW56ZW4gbGVzZW4sIMOkbmRlcm4gdW5kIGzDtnNjaGVuIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzcKKyM6IGNvbW1hbmQtbGlzdC5oOjE4MAogbXNnaWQgIkNyZWF0ZSwgbGlzdCwgZGVsZXRlIG9yIHZlcmlmeSBhIHRhZyBvYmplY3Qgc2lnbmVkIHdpdGggR1BHIgogbXNnc3RyICIiCiAiZWluIG1pdCBHUEcgc2lnbmllcnRlcyBUYWctT2JqZWt0IGVyemV1Z2VuLCBhdWZsaXN0ZW4sIGzDtnNjaGVuIG9kZXIgIgogInZlcmlmaXppZXJlbi4iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3OAorIzogY29tbWFuZC1saXN0Lmg6MTgxCiBtc2dpZCAiQ3JlYXRlcyBhIHRlbXBvcmFyeSBmaWxlIHdpdGggYSBibG9iJ3MgY29udGVudHMiCiBtc2dzdHIgImVpbmUgdGVtcG9yw6RyZSBEYXRlaSBtaXQgZGVuIEluaGFsdGVuIGVpbmVzIEJsb2JzIGVyc3RlbGxlbiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTc5CisjOiBjb21tYW5kLWxpc3QuaDoxODIKIG1zZ2lkICJVbnBhY2sgb2JqZWN0cyBmcm9tIGEgcGFja2VkIGFyY2hpdmUiCiBtc2dzdHIgIk9iamVrdGUgdm9uIGVpbmVtIGdlcGFja3RlbiBBcmNoaXYgZW50cGFja2VuIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODAKKyM6IGNvbW1hbmQtbGlzdC5oOjE4MwogbXNnaWQgIlJlZ2lzdGVyIGZpbGUgY29udGVudHMgaW4gdGhlIHdvcmtpbmcgdHJlZSB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIkRhdGVpaW5oYWx0ZSBhdXMgZGVtIEFyYmVpdHN2ZXJ6ZWljaG5pcyBpbSBJbmRleCByZWdpc3RyaWVyZW4iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4MQorIzogY29tbWFuZC1saXN0Lmg6MTg0CiBtc2dpZCAiVXBkYXRlIHRoZSBvYmplY3QgbmFtZSBzdG9yZWQgaW4gYSByZWYgc2FmZWx5IgogbXNnc3RyICIiCiAiZGVuIE9iamVrdG5hbWVuLCBkZXIgaW4gZWluZXIgUmVmZXJlbnogZ2VzcGVpY2hlcnQgaXN0LCBzaWNoZXIgYWt0dWFsaXNpZXJlbiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTgyCisjOiBjb21tYW5kLWxpc3QuaDoxODUKIG1zZ2lkICJVcGRhdGUgYXV4aWxpYXJ5IGluZm8gZmlsZSB0byBoZWxwIGR1bWIgc2VydmVycyIKIG1zZ3N0ciAiSGlsZnNpbmZvcm1hdGlvbnNkYXRlaSB6dXIgSGlsZmUgdm9uIGVpbmZhY2hlbiBTZXJ2ZXJuIGFrdHVhbGlzaWVyZW4iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4MworIzogY29tbWFuZC1saXN0Lmg6MTg2CiBtc2dpZCAiU2VuZCBhcmNoaXZlIGJhY2sgdG8gZ2l0LWFyY2hpdmUiCiBtc2dzdHIgIkFyY2hpdiB6dXLDvGNrIHp1IGdpdC1hcmNoaXZlIHNlbmRlbiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTg0CisjOiBjb21tYW5kLWxpc3QuaDoxODcKIG1zZ2lkICJTZW5kIG9iamVjdHMgcGFja2VkIGJhY2sgdG8gZ2l0LWZldGNoLXBhY2siCiBtc2dzdHIgIk9iamVrdGUgZ2VwYWNrdCB6dXLDvGNrIGFuIGdpdC1mZXRjaC1wYWNrIHNlbmRlbiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTg1CisjOiBjb21tYW5kLWxpc3QuaDoxODgKIG1zZ2lkICJTaG93IGEgR2l0IGxvZ2ljYWwgdmFyaWFibGUiCiBtc2dzdHIgImVpbmUgbG9naXNjaGUgVmFyaWFibGUgdm9uIEdpdCBhbnplaWdlbiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTg2CisjOiBjb21tYW5kLWxpc3QuaDoxODkKIG1zZ2lkICJDaGVjayB0aGUgR1BHIHNpZ25hdHVyZSBvZiBjb21taXRzIgogbXNnc3RyICJkaWUgR1BHLVNpZ25hdHVyIHZvbiBDb21taXRzIHByw7xmZW4iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4NworIzogY29tbWFuZC1saXN0Lmg6MTkwCiBtc2dpZCAiVmFsaWRhdGUgcGFja2VkIEdpdCBhcmNoaXZlIGZpbGVzIgogbXNnc3RyICJnZXBhY2t0ZSBHaXQtQXJjaGl2ZGF0ZWllbiB2YWxpZGllcmVuIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODgKKyM6IGNvbW1hbmQtbGlzdC5oOjE5MQogbXNnaWQgIkNoZWNrIHRoZSBHUEcgc2lnbmF0dXJlIG9mIHRhZ3MiCiBtc2dzdHIgImRpZSBHUEctU2lnbmF0dXIgdm9uIFRhZ3MgcHLDvGZlbiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTg5CisjOiBjb21tYW5kLWxpc3QuaDoxOTIKIG1zZ2lkICJHaXQgd2ViIGludGVyZmFjZSAod2ViIGZyb250ZW5kIHRvIEdpdCByZXBvc2l0b3JpZXMpIgogbXNnc3RyICJHaXQgV2ViIEludGVyZmFjZSAoV2ViLUZyb250ZW5kIGbDvHIgR2l0LVJlcG9zaXRvcmllcykiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5MAorIzogY29tbWFuZC1saXN0Lmg6MTkzCiBtc2dpZCAiU2hvdyBsb2dzIHdpdGggZGlmZmVyZW5jZSBlYWNoIGNvbW1pdCBpbnRyb2R1Y2VzIgogbXNnc3RyICJMb2dzIG1pdCBkZW0gVW50ZXJzY2hpZWQsIGRlbiBqZWRlciBDb21taXQgZWluZsO8aHJ0LCBhbnplaWdlbiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTkxCisjOiBjb21tYW5kLWxpc3QuaDoxOTQKIG1zZ2lkICJNYW5hZ2UgbXVsdGlwbGUgd29ya2luZyB0cmVlcyIKIG1zZ3N0ciAibWVocmVyZSBBcmJlaXRzdmVyemVpY2huaXNzZSB2ZXJ3YWx0ZW4iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5MgorIzogY29tbWFuZC1saXN0Lmg6MTk1CiBtc2dpZCAiQ3JlYXRlIGEgdHJlZSBvYmplY3QgZnJvbSB0aGUgY3VycmVudCBpbmRleCIKIG1zZ3N0ciAiVHJlZS1PYmpla3Qgdm9tIGFrdHVlbGxlbiBJbmRleCBlcnN0ZWxsZW4iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5MworIzogY29tbWFuZC1saXN0Lmg6MTk2CiBtc2dpZCAiRGVmaW5pbmcgYXR0cmlidXRlcyBwZXIgcGF0aCIKIG1zZ3N0ciAiRGVmaW5pdGlvbiB2b24gQXR0cmlidXRlbiBwcm8gUGZhZCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk0CisjOiBjb21tYW5kLWxpc3QuaDoxOTcKIG1zZ2lkICJHaXQgY29tbWFuZC1saW5lIGludGVyZmFjZSBhbmQgY29udmVudGlvbnMiCiBtc2dzdHIgIkdpdCBLb21tYW5kb3plaWxlbnNjaG5pdHRzdGVsbGUgdW5kIEtvbnZlbnRpb25lbiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk1CisjOiBjb21tYW5kLWxpc3QuaDoxOTgKIG1zZ2lkICJBIEdpdCBjb3JlIHR1dG9yaWFsIGZvciBkZXZlbG9wZXJzIgogbXNnc3RyICJlaW5lIEdpdCBBbmxlaXR1bmcgZsO8ciBFbnR3aWNrbGVyIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTYKKyM6IGNvbW1hbmQtbGlzdC5oOjE5OQogbXNnaWQgIkdpdCBmb3IgQ1ZTIHVzZXJzIgogbXNnc3RyICJHaXQgZsO8ciBDVlMgQmVudXR6ZXIiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5NworIzogY29tbWFuZC1saXN0Lmg6MjAwCiBtc2dpZCAiVHdlYWtpbmcgZGlmZiBvdXRwdXQiCiBtc2dzdHIgIkRpZmYtQXVzZ2FiZSBvcHRpbWllcmVuIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTgKKyM6IGNvbW1hbmQtbGlzdC5oOjIwMQogbXNnaWQgIkEgdXNlZnVsIG1pbmltdW0gc2V0IG9mIGNvbW1hbmRzIGZvciBFdmVyeWRheSBHaXQiCiBtc2dzdHIgIiIKICJlaW4ga2xlaW5lLCBuw7x0emxpY2hlIE1lbmdlIHZvbiBCZWZlaGxlbiBmw7xyIGRpZSB0w6RnbGljaGUgVmVyd2VuZHVuZyB2b24gR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTkKKyM6IGNvbW1hbmQtbGlzdC5oOjIwMgogbXNnaWQgIkEgR2l0IEdsb3NzYXJ5IgogbXNnc3RyICJlaW4gR2l0LUdsb3NzYXIiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjIwMAorIzogY29tbWFuZC1saXN0Lmg6MjAzCiBtc2dpZCAiSG9va3MgdXNlZCBieSBHaXQiCiBtc2dzdHIgInZvbiBHaXQgdmVyd2VuZGV0ZSBIb29rcyIKIAotIzogY29tbWFuZC1saXN0Lmg6MjAxCisjOiBjb21tYW5kLWxpc3QuaDoyMDQKIG1zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgogbXNnc3RyICJTcGV6aWZpa2F0aW9uIHZvbiBiZXd1c3N0IGlnbm9yaWVydGVuLCB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiIKIAotIzogY29tbWFuZC1saXN0Lmg6MjAyCisjOiBjb21tYW5kLWxpc3QuaDoyMDUKIG1zZ2lkICJEZWZpbmluZyBzdWJtb2R1bGUgcHJvcGVydGllcyIKIG1zZ3N0ciAiRGVmaW5pdGlvbiB2b24gU3VibW9kdWwtRWlnZW5zY2hhZnRlbiIKIAotIzogY29tbWFuZC1saXN0Lmg6MjAzCisjOiBjb21tYW5kLWxpc3QuaDoyMDYKIG1zZ2lkICJHaXQgbmFtZXNwYWNlcyIKIG1zZ3N0ciAiR2l0IE5hbWVuc2JlcmVpY2hlIgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDQKKyM6IGNvbW1hbmQtbGlzdC5oOjIwNwogbXNnaWQgIkdpdCBSZXBvc2l0b3J5IExheW91dCIKIG1zZ3N0ciAiR2l0IFJlcG9zaXRvcnkgQXVmYmF1IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDUKKyM6IGNvbW1hbmQtbGlzdC5oOjIwOAogbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKIG1zZ3N0ciAiU3BlemlmaWthdGlvbiB2b24gQ29tbWl0cyB1bmQgQmVyZWljaGVuIGbDvHIgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDYKKyM6IGNvbW1hbmQtbGlzdC5oOjIwOQorbXNnaWQgIk1vdW50aW5nIG9uZSByZXBvc2l0b3J5IGluc2lkZSBhbm90aGVyIgorbXNnc3RyICJFaW5iaW5kZW4gZWluZXMgUmVwb3NpdG9yaWVzIGluIGVpbiBhbmRlcmVzIgorCisjOiBjb21tYW5kLWxpc3QuaDoyMTAKIG1zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQ6IHBhcnQgdHdvIgogbXNnc3RyICJlaW5lIGVpbmbDvGhyZW5kZSBBbmxlaXR1bmcgenUgR2l0OiBUZWlsIHp3ZWkiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjIwNworIzogY29tbWFuZC1saXN0Lmg6MjExCiBtc2dpZCAiQSB0dXRvcmlhbCBpbnRyb2R1Y3Rpb24gdG8gR2l0IgogbXNnc3RyICJlaW5lIGVpbmbDvGhyZW5kZSBBbmxlaXR1bmcgenUgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDgKKyM6IGNvbW1hbmQtbGlzdC5oOjIxMgogbXNnaWQgIkFuIG92ZXJ2aWV3IG9mIHJlY29tbWVuZGVkIHdvcmtmbG93cyB3aXRoIEdpdCIKIG1zZ3N0ciAiRWluZSDDnGJlcnNpY2h0IMO8YmVyIGVtcGZvaGxlbmUgQXJiZWl0c2FibMOkdWZlIG1pdCBHaXQiCiAKLSM6IHJlcmVyZS5oOjQ0Ci1tc2dpZCAidXBkYXRlIHRoZSBpbmRleCB3aXRoIHJldXNlZCBjb25mbGljdCByZXNvbHV0aW9uIGlmIHBvc3NpYmxlIgotbXNnc3RyICIiCi0iSW5kZXgsIHdlbm4gbcO2Z2xpY2gsIG1pdCB3aWVkZXJ2ZXJ3ZW5kZXRlciBLb25mbGlrdGF1ZmzDtnN1bmcgYWt0dWFsaXNpZXJlbiIKLQogIzogZ2l0LWJpc2VjdC5zaDo1NAogbXNnaWQgIllvdSBuZWVkIHRvIHN0YXJ0IGJ5IFwiZ2l0IGJpc2VjdCBzdGFydFwiIgogbXNnc3RyICJTaWUgbcO8c3NlbiBtaXQgXCJnaXQgYmlzZWN0IHN0YXJ0XCIgYmVnaW5uZW4uIgpAQCAtMTk2MTUsMTUyICsyMzE2Myw2MiBAQAogbXNnaWQgIkRvIHlvdSB3YW50IG1lIHRvIGRvIGl0IGZvciB5b3UgW1kvbl0/ICIKIG1zZ3N0ciAiV29sbGVuIFNpZSwgZGFzcyBpY2ggZXMgZsO8ciBTaWUgbWFjaGUgW1kvbl0/ICIKIAotIzogZ2l0LWJpc2VjdC5zaDoxMjEKLSMsIHNoLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXNlZCBvcHRpb246ICckYXJnJyIKLW1zZ3N0ciAibmljaHQgZXJrYW5udGUgT3B0aW9uOiAnJGFyZyciCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTI1Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICInJGFyZycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgdmFsaWQgcmV2aXNpb24iCi1tc2dzdHIgIickYXJnJyBzY2hlaW50IGtlaW4gZ8O8bHRpZ2VyIENvbW1pdCB6dSBzZWluIgotCi0jOiBnaXQtYmlzZWN0LnNoOjE1NAotbXNnaWQgIkJhZCBIRUFEIC0gSSBuZWVkIGEgSEVBRCIKLW1zZ3N0ciAiVW5nw7xsdGlnZXIgSEVBRCAtIEhFQUQgd2lyZCBiZW7DtnRpZ3QiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTY3Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iQ2hlY2tpbmcgb3V0ICckc3RhcnRfaGVhZCcgZmFpbGVkLiBUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPHZhbGlkLWJyYW5jaD4nLiIKLW1zZ3N0ciAiIgotIkF1c2NoZWNrZW4gdm9uICckc3RhcnRfaGVhZCcgZmVobGdlc2NobGFnZW4uIFZlcnN1Y2hlbiBTaWUgJ2dpdCBiaXNlY3QgcmVzZXQgIgotIjxnw7xsdGlnZXItQnJhbmNoPicuIgotCi0jOiBnaXQtYmlzZWN0LnNoOjE3NwotbXNnaWQgIndvbid0IGJpc2VjdCBvbiBjZy1zZWVrJ2VkIHRyZWUiCi1tc2dzdHIgIiIKLSJiaW7DpHJlIFN1Y2hlIGF1ZiBlaW5lbSBkdXJjaCAnY2ctc2VlaycgZ2XDpG5kZXJ0ZW0gVmVyemVpY2huaXMgbmljaHQgbcO2Z2xpY2giCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTgxCi1tc2dpZCAiQmFkIEhFQUQgLSBzdHJhbmdlIHN5bWJvbGljIHJlZiIKLW1zZ3N0ciAiVW5nw7xsdGlnZXIgSEVBRCAtIG1lcmt3w7xyZGlnZSBzeW1ib2xpc2NoZSBSZWZlcmVueiIKLQotIzogZ2l0LWJpc2VjdC5zaDoyMzMKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkJhZCBiaXNlY3Rfd3JpdGUgYXJndW1lbnQ6ICRzdGF0ZSIKLW1zZ3N0ciAiVW5nw7xsdGlnZXMgXCJiaXNlY3Rfd3JpdGVcIiBBcmd1bWVudDogJHN0YXRlIgotCi0jOiBnaXQtYmlzZWN0LnNoOjI0NgorIzogZ2l0LWJpc2VjdC5zaDoxMDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRhcmciCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgUmVmZXJlbnotRWluZ2FiZTogJGFyZyIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNjUKKyM6IGdpdC1iaXNlY3Quc2g6MTIxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkYmlzZWN0ZWRfaGVhZCIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBSZWZlcmVuei1FaW5nYWJlOiAkYmlzZWN0ZWRfaGVhZCIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNzQKKyM6IGdpdC1iaXNlY3Quc2g6MTMwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkcmV2IgogbXNnc3RyICJVbmfDvGx0aWdlIFJlZmVyZW56LUVpbmdhYmU6ICRyZXYiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MjgzCisjOiBnaXQtYmlzZWN0LnNoOjEzOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJ2dpdCBiaXNlY3QgJFRFUk1fQkFEJyBjYW4gdGFrZSBvbmx5IG9uZSBhcmd1bWVudC4iCiBtc2dzdHIgIidnaXQgYmlzZWN0ICRURVJNX0JBRCcga2FubiBudXIgZWluIEFyZ3VtZW50IGVudGdlZ2VubmVobWVuLiIKIAotIzogZ2l0LWJpc2VjdC5zaDozMDYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIldhcm5pbmc6IGJpc2VjdGluZyBvbmx5IHdpdGggYSAkVEVSTV9CQUQgY29tbWl0LiIKLW1zZ3N0ciAiV2FybnVuZzogYmluw6RyZSBTdWNoZSBudXIgbWl0IGVpbmVtICRURVJNX0JBRCBDb21taXQuIgotCi0jLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW1ldIGFuZCBbbl0gaW4geW91cgotIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAotIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1iaXNlY3Quc2g6MzEyCi1tc2dpZCAiQXJlIHlvdSBzdXJlIFtZL25dPyAiCi1tc2dzdHIgIlNpbmQgU2llIHNpY2hlciBbWS9uXT8gIgotCi0jOiBnaXQtYmlzZWN0LnNoOjMyNAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIllvdSBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICRiYWRfc3luIGFuZCBvbmUgJGdvb2Rfc3luIHJldmlzaW9uLlxuIgotIihZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiBhbmQgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiIGZvciB0aGF0LikiCi1tc2dzdHIgIiIKLSJTaWUgbcO8c3NlbiBtaW5kZXN0ZW5zIGVpbmVuIFwiJGJhZF9zeW5cIiB1bmQgZWluZW4gXCIkZ29vZF9zeW5cIiBDb21taXQgIgotImFuZ2ViZW4uXG4iCi0iKFNpZSBrw7ZubmVuIGRhZsO8ciBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiB1bmQgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiICIKLSJiZW51dHplbi4pIgotCi0jOiBnaXQtYmlzZWN0LnNoOjMyNwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIllvdSBuZWVkIHRvIHN0YXJ0IGJ5IFwiZ2l0IGJpc2VjdCBzdGFydFwiLlxuIgotIllvdSB0aGVuIG5lZWQgdG8gZ2l2ZSBtZSBhdCBsZWFzdCBvbmUgJGdvb2Rfc3luIGFuZCBvbmUgJGJhZF9zeW4gcmV2aXNpb24uXG4iCi0iKFlvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCAkYmFkX3N5blwiIGFuZCBcImdpdCBiaXNlY3QgJGdvb2Rfc3luXCIgZm9yIHRoYXQuKSIKLW1zZ3N0ciAiIgotIlNpZSBtw7xzc2VuIG1pdCBcImdpdCBiaXNlY3Qgc3RhcnRcIiBiZWdpbm5lbi5cbiIKLSJEYW5hY2ggbcO8c3NlbiBTaWUgbWluZGVzdGVucyBlaW5lbiBcIiRnb29kX3N5blwiIHVuZCBlaW5lbiBcIiRiYWRfc3luXCIgIgotIkNvbW1pdCBhbmdlYmVuLlxuIgotIihTaWUga8O2bm5lbiBkYWbDvHIgXCJnaXQgYmlzZWN0ICRiYWRfc3luXCIgdW5kIFwiZ2l0IGJpc2VjdCAkZ29vZF9zeW5cIiAiCi0iYmVudXR6ZW4uKSIKLQotIzogZ2l0LWJpc2VjdC5zaDozOTggZ2l0LWJpc2VjdC5zaDo1MTIKLW1zZ2lkICJXZSBhcmUgbm90IGJpc2VjdGluZy4iCi1tc2dzdHIgImtlaW5lIGJpbsOkcmUgU3VjaGUgaW0gR2FuZ2UiCi0KLSM6IGdpdC1iaXNlY3Quc2g6NDA1Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICInJGludmFsaWQnIGlzIG5vdCBhIHZhbGlkIGNvbW1pdCIKLW1zZ3N0ciAiJyRpbnZhbGlkJyBpc3Qga2VpbiBnw7xsdGlnZXIgQ29tbWl0IgotCi0jOiBnaXQtYmlzZWN0LnNoOjQxNAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIkNvdWxkIG5vdCBjaGVjayBvdXQgb3JpZ2luYWwgSEVBRCAnJGJyYW5jaCcuXG4iCi0iVHJ5ICdnaXQgYmlzZWN0IHJlc2V0IDxjb21taXQ+Jy4iCi1tc2dzdHIgIiIKLSJLb25udGUgZGVuIHVyc3Byw7xuZ2xpY2hlbiBIRUFEICckYnJhbmNoJyBuaWNodCBhdXNjaGVja2VuLlxuIgotIlZlcnN1Y2hlbiBTaWUgJ2dpdCBiaXNlY3QgcmVzZXQgPENvbW1pdD4nLiIKLQotIzogZ2l0LWJpc2VjdC5zaDo0MjIKKyM6IGdpdC1iaXNlY3Quc2g6MjA5CiBtc2dpZCAiTm8gbG9nZmlsZSBnaXZlbiIKIG1zZ3N0ciAiS2VpbmUgTG9nLURhdGVpIGdlZ2ViZW4iCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDIzCisjOiBnaXQtYmlzZWN0LnNoOjIxMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJGZpbGUgZm9yIHJlcGxheWluZyIKIG1zZ3N0ciAia2FubiAkZmlsZSBuaWNodCBmw7xyIGRhcyBBYnNwaWVsZW4gbGVzZW4iCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDQ0CisjOiBnaXQtYmlzZWN0LnNoOjIzMgogbXNnaWQgIj8/IHdoYXQgYXJlIHlvdSB0YWxraW5nIGFib3V0PyIKIG1zZ3N0ciAiPz8gV2FzIHJlZGVuIFNpZSBkYT8iCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDUzCisjOiBnaXQtYmlzZWN0LnNoOjI0MQogbXNnaWQgImJpc2VjdCBydW4gZmFpbGVkOiBubyBjb21tYW5kIHByb3ZpZGVkLiIKIG1zZ3N0ciAiJ2Jpc2VjdCBydW4nIGZlaGxnZXNjaGxhZ2VuOiBrZWluIEJlZmVobCBhbmdlZ2ViZW4uIgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ1OAorIzogZ2l0LWJpc2VjdC5zaDoyNDYKICMsIHNoLWZvcm1hdAogbXNnaWQgInJ1bm5pbmcgJGNvbW1hbmQiCiBtc2dzdHIgImbDvGhyZSAkY29tbWFuZCBhdXMiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDY1CisjOiBnaXQtYmlzZWN0LnNoOjI1MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImJpc2VjdCBydW4gZmFpbGVkOlxuIgogImV4aXQgY29kZSAkcmVzIGZyb20gJyRjb21tYW5kJyBpcyA8IDAgb3IgPj0gMTI4IgogbXNnc3RyICIiCiAiJ2Jpc2VjdCBydW4nIGZlaGxnZXNjaGxhZ2VuOlxuIgotIlLDvGNra2VocndlcnQgJHJlcyB2b24gJyRjb21tYW5kJyBpc3QgPCAwIG9kZXIgPj0gMTI4IgorIkV4aXQtQ29kZSAkcmVzIHZvbiAnJGNvbW1hbmQnIGlzdCA8IDAgb2RlciA+PSAxMjgiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDkxCisjOiBnaXQtYmlzZWN0LnNoOjI3OQogbXNnaWQgImJpc2VjdCBydW4gY2Fubm90IGNvbnRpbnVlIGFueSBtb3JlIgogbXNnc3RyICInYmlzZWN0IHJ1bicga2FubiBuaWNodCBtZWhyIGZvcnRnZXNldHp0IHdlcmRlbiIKIAotIzogZ2l0LWJpc2VjdC5zaDo0OTcKKyM6IGdpdC1iaXNlY3Quc2g6Mjg1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiYmlzZWN0IHJ1biBmYWlsZWQ6XG4iCkBAIC0xOTc2OSwyOSArMjMyMjcsMTMgQEAKICInYmlzZWN0IHJ1bicgZmVobGdlc2NobGFnZW46XG4iCiAiJ2Jpc2VjdF9zdGF0ZSAkc3RhdGUnIHd1cmRlIG1pdCBGZWhsZXJ3ZXJ0ICRyZXMgYmVlbmRldCIKIAotIzogZ2l0LWJpc2VjdC5zaDo1MDQKKyM6IGdpdC1iaXNlY3Quc2g6MjkyCiBtc2dpZCAiYmlzZWN0IHJ1biBzdWNjZXNzIgogbXNnc3RyICInYmlzZWN0IHJ1bicgZXJmb2xncmVpY2ggYXVzZ2Vmw7xocnQiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NTMzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIGNvbW1hbmQ6IHlvdSdyZSBjdXJyZW50bHkgaW4gYSAkVEVSTV9CQUQvJFRFUk1fR09PRCBiaXNlY3QuIgotbXNnc3RyICIiCi0iVW5nw7xsdGlnZXIgQmVmZWhsOiBTaWUgc2luZCBnZXJhZGUgYmVpIGVpbmVyIGJpbsOkcmVuICRURVJNX0JBRC8kVEVSTV9HT09EICIKLSJTdWNoZS4iCi0KLSM6IGdpdC1iaXNlY3Quc2g6NTY3Ci1tc2dpZCAibm8gdGVybXMgZGVmaW5lZCIKLW1zZ3N0ciAiS2VpbmUgQmVncmlmZmUgZGVmaW5pZXJ0LiIKLQotIzogZ2l0LWJpc2VjdC5zaDo1ODQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJpbnZhbGlkIGFyZ3VtZW50ICRhcmcgZm9yICdnaXQgYmlzZWN0IHRlcm1zJy5cbiIKLSJTdXBwb3J0ZWQgb3B0aW9ucyBhcmU6IC0tdGVybS1nb29kfC0tdGVybS1vbGQgYW5kIC0tdGVybS1iYWR8LS10ZXJtLW5ldy4iCi1tc2dzdHIgIiIKLSJVbmfDvGx0aWdlcyBBcmd1bWVudCAkYXJnIGbDvHIgJ2dpdCBiaXNlY3QgdGVybXMnLlxuIgotIlVudGVyc3TDvHR6dGUgT3B0aW9uZW4gc2luZDogLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCB1bmQgLS10ZXJtLWJhZHwtLXRlcm0tbmV3LiIKKyM6IGdpdC1iaXNlY3Quc2g6MzAwCittc2dpZCAiV2UgYXJlIG5vdCBiaXNlY3RpbmcuIgorbXNnc3RyICJrZWluZSBiaW7DpHJlIFN1Y2hlIGltIEdhbmdlIgogCiAjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo0NgogbXNnaWQgIiIKQEAgLTE5ODM0LDI3MSArMjMyNzYsMTE2IEBACiBtc2dpZCAiU2ltcGxlIG1lcmdlIGRpZCBub3Qgd29yaywgdHJ5aW5nIGF1dG9tYXRpYyBtZXJnZS4iCiBtc2dzdHIgIkVpbmZhY2hlciBNZXJnZSBoYXQgbmljaHQgZnVua3Rpb25pZXJ0LCB2ZXJzdWNoZSBhdXRvbWF0aXNjaGVuIE1lcmdlLiIKIAotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NDM0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCi1tc2dzdHIgIktvbm50ZSBuaWNodCB6dSAkaGVhZF9uYW1lIHp1csO8Y2tnZWhlbiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NDYwCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJHN0YXRlX2Rpcl9iYXNlIGRpcmVjdG9yeSwgYW5kXG4iCi0iSSB3b25kZXIgaWYgeW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgcmViYXNlLiAgSWYgdGhhdCBpcyB0aGVcbiIKLSJjYXNlLCBwbGVhc2UgdHJ5XG4iCi0iXHQkY21kX2xpdmVfcmViYXNlXG4iCi0iSWYgdGhhdCBpcyBub3QgdGhlIGNhc2UsIHBsZWFzZVxuIgotIlx0JGNtZF9jbGVhcl9zdGFsZV9yZWJhc2VcbiIKLSJhbmQgcnVuIG1lIGFnYWluLiAgSSBhbSBzdG9wcGluZyBpbiBjYXNlIHlvdSBzdGlsbCBoYXZlIHNvbWV0aGluZ1xuIgotInZhbHVhYmxlIHRoZXJlLiIKLW1zZ3N0ciAiIgotIkVzIHNpZWh0IHNvIGF1cywgYWxzIG9iIGVzIGRhcyBWZXJ6ZWljaG5pcyAkc3RhdGVfZGlyX2Jhc2UgYmVyZWl0cyBnaWJ0XG4iCi0idW5kIGVzIGvDtm5udGUgZWluIGFuZGVyZXIgUmViYXNlIGltIEdhbmdlIHNlaW4uIFdlbm4gZGFzIGRlciBGYWxsIGlzdCxcbiIKLSJwcm9iaWVyZW4gU2llIGJpdHRlXG4iCi0iXHQkY21kX2xpdmVfcmViYXNlXG4iCi0iV2VubiBkYXMgbmljaHQgZGVyIEZhbGwgaXN0LCBwcm9iaWVyZW4gU2llIGJpdHRlXG4iCi0iXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxuIgotInVuZCBmw7xocmVuIFNpZSBkaWVzZW4gQmVmZWhsIG5vY2htYWwgYXVzLiBFcyB3aXJkIGFuZ2VoYWx0ZW4sIGZhbGxzIG5vY2hcbiIKLSJldHdhcyBTY2jDvHR6ZW5zd2VydGVzIHZvcmhhbmRlbiBpc3QuIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1MjUKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tc2lnbm9mZicgd2l0aCAnLS1wcmVzZXJ2ZS1tZXJnZXMnIgotbXNnc3RyICIiCi0iRmVobGVyOiAnLS1zaWdub2ZmJyB1bmQgJy0tcHJlc2VydmUtbWVyZ2VzJyBrw7ZubmVuIG5pY2h0IGtvbWJpbmllcnQgd2VyZGVuLiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTcwCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICckdXBzdHJlYW1fbmFtZSciCi1tc2dzdHIgIlVuZ8O8bHRpZ2VyIFVwc3RyZWFtLUJyYW5jaCAnJHVwc3RyZWFtX25hbWUnLiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTk0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKLW1zZ3N0ciAiJG9udG9fbmFtZTogZXMgZ2lidCBtZWhyIGFscyBlaW5lIE1lcmdlLUJhc2lzIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1OTcgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NjAxCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIgotbXNnc3RyICIkb250b19uYW1lOiBlcyBnaWJ0IGtlaW5lIE1lcmdlLUJhc2lzIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2MDYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0OiAkb250b19uYW1lIgotbXNnc3RyICIkb250b19uYW1lIHplaWd0IGF1ZiBrZWluZW4gZ8O8bHRpZ2VuIENvbW1pdCIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NjMyCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2gvY29tbWl0ICckYnJhbmNoX25hbWUnIgotbXNnc3RyICJmYXRhbDogQnJhbmNoL0NvbW1pdCAnJGJyYW5jaF9uYW1lJyBuaWNodCBnZWZ1bmRlbiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NjcwCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJHN0YXNoX2FiYnJldiIKLW1zZ3N0ciAiQXV0b21hdGlzY2hlbiBTdGFzaCBlcnpldWd0OiAkc3Rhc2hfYWJicmV2IgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2OTkKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKLW1zZ3N0ciAiQWt0dWVsbGVyIEJyYW5jaCAkYnJhbmNoX25hbWUgaXN0IGF1ZiBkZW0gbmV1ZXN0ZW4gU3RhbmQuIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MDkKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKLW1zZ3N0ciAiIgotIkFrdHVlbGxlciBCcmFuY2ggJGJyYW5jaF9uYW1lIGlzdCBhdWYgZGVtIG5ldWVzdGVuIFN0YW5kLCBSZWJhc2UgZXJ6d3VuZ2VuLiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzIzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDaGFuZ2VzIHRvICRvbnRvOiIKLW1zZ3N0ciAiw4RuZGVydW5nZW4genUgJG9udG86IgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MjUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNoYW5nZXMgZnJvbSAkbWIgdG8gJG9udG86IgotbXNnc3RyICLDhG5kZXJ1bmdlbiB2b24gJG1iIHp1ICRvbnRvOiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzM2Ci1tc2dpZCAiRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uIgotbXNnc3RyICIiCi0iWnVuw6RjaHN0IHdpcmQgZGVyIEJyYW5jaCB6dXLDvGNrZ2VzcHVsdCwgdW0gSWhyZSDDhG5kZXJ1bmdlblxuIgotImRhcmF1ZiBuZXUgYW56dXdlbmRlbiAuLi4iCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjc0NgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFzdC1mb3J3YXJkZWQgJGJyYW5jaF9uYW1lIHRvICRvbnRvX25hbWUuIgotbXNnc3RyICIkYnJhbmNoX25hbWUgenUgJG9udG9fbmFtZSB2b3JnZXNwdWx0LiIKLQotIzogZ2l0LXN0YXNoLnNoOjYxCi1tc2dpZCAiZ2l0IHN0YXNoIGNsZWFyIHdpdGggcGFyYW1ldGVycyBpcyB1bmltcGxlbWVudGVkIgotbXNnc3RyICJnaXQgc3Rhc2ggY2xlYXIgbWl0IFBhcmFtZXRlcm4gaXN0IG5pY2h0IGltcGxlbWVudGllcnQiCi0KLSM6IGdpdC1zdGFzaC5zaDoxMDgKLW1zZ2lkICJZb3UgZG8gbm90IGhhdmUgdGhlIGluaXRpYWwgY29tbWl0IHlldCIKLW1zZ3N0ciAiU2llIGhhYmVuIGJpc2hlciBub2NoIGtlaW5lbiBpbml0aWFsZW4gQ29tbWl0IgotCi0jOiBnaXQtc3Rhc2guc2g6MTIzCi1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCi1tc2dzdHIgIkthbm4gZGVuIGFrdHVlbGxlbiBadXN0YW5kIGRlcyBJbmRleCBuaWNodCBzcGVpY2hlcm4iCi0KLSM6IGdpdC1zdGFzaC5zaDoxMzgKLW1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgdW50cmFja2VkIGZpbGVzIgotbXNnc3RyICJLYW5uIGRpZSB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiBuaWNodCBzcGVpY2hlcm4iCi0KLSM6IGdpdC1zdGFzaC5zaDoxNTggZ2l0LXN0YXNoLnNoOjE3MQotbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHdvcmt0cmVlIHN0YXRlIgotbXNnc3RyICJLYW5uIGRlbiBha3R1ZWxsZW4gWnVzdGFuZCBkZXMgQXJiZWl0c3ZlcnplaWNobmlzc2VzIG5pY2h0IHNwZWljaGVybiIKLQotIzogZ2l0LXN0YXNoLnNoOjE3NQotbXNnaWQgIk5vIGNoYW5nZXMgc2VsZWN0ZWQiCi1tc2dzdHIgIktlaW5lIMOEbmRlcnVuZ2VuIGF1c2dld8OkaGx0IgotCi0jOiBnaXQtc3Rhc2guc2g6MTc4CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjIyMQogbXNnaWQgIkNhbm5vdCByZW1vdmUgdGVtcG9yYXJ5IGluZGV4IChjYW4ndCBoYXBwZW4pIgogbXNnc3RyICJLYW5uIHRlbXBvcsOkcmVuIEluZGV4IG5pY2h0IGzDtnNjaGVuIChrYW5uIG5pY2h0IHBhc3NpZXJlbikiCiAKLSM6IGdpdC1zdGFzaC5zaDoxOTEKLW1zZ2lkICJDYW5ub3QgcmVjb3JkIHdvcmtpbmcgdHJlZSBzdGF0ZSIKLW1zZ3N0ciAiS2FubiBadXN0YW5kIGRlcyBBcmJlaXRzdmVyemVpY2huaXNzZXMgbmljaHQgYXVmemVpY2huZW4iCi0KLSM6IGdpdC1zdGFzaC5zaDoyMjkKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlICRyZWZfc3Rhc2ggd2l0aCAkd19jb21taXQiCiBtc2dzdHIgIkthbm4gJHJlZl9zdGFzaCBuaWNodCBtaXQgJHdfY29tbWl0IGFrdHVhbGlzaWVyZW4uIgogCi0jOiBnaXQtc3Rhc2guc2g6MjgxCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjMyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggcHVzaCc6ICRvcHRpb24iCiBtc2dzdHIgIkZlaGxlcjogdW5iZWthbm50ZSBPcHRpb24gZsO8ciAnc3Rhc2ggcHVzaCc6ICRvcHRpb24iCiAKLSM6IGdpdC1zdGFzaC5zaDoyOTUKLW1zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgotbXNnc3RyICIiCi0iS2FubiBuaWNodCBnbGVpY2h6ZWl0aWcgLS1wYXRjaCB1bmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvZGVyIC0tYWxsIHZlcndlbmRlbiIKLQotIzogZ2l0LXN0YXNoLnNoOjMwMwotbXNnaWQgIk5vIGxvY2FsIGNoYW5nZXMgdG8gc2F2ZSIKLW1zZ3N0ciAiS2VpbmUgbG9rYWxlbiDDhG5kZXJ1bmdlbiB6dW0gU3BlaWNoZXJuIgotCi0jOiBnaXQtc3Rhc2guc2g6MzA4Ci1tc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCi1tc2dzdHIgIkthbm4gXCJzdGFzaFwiIG5pY2h0IGluaXRpYWxpc2llcmVuIgotCi0jOiBnaXQtc3Rhc2guc2g6MzEyCi1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgotbXNnc3RyICJLYW5uIGRlbiBha3R1ZWxsZW4gU3RhdHVzIG5pY2h0IHNwZWljaGVybiIKLQotIzogZ2l0LXN0YXNoLnNoOjMxMworIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDozNTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIlNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBpbmRleCBzdGF0ZSAkc3Rhc2hfbXNnIgogbXNnc3RyICJTcGVpY2hlcnRlIEFyYmVpdHN2ZXJ6ZWljaG5pcyB1bmQgSW5kZXgtU3RhdHVzICRzdGFzaF9tc2ciCiAKLSM6IGdpdC1zdGFzaC5zaDozNDIKLW1zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCi1tc2dzdHIgIkthbm4gw4RuZGVydW5nZW4gaW0gQXJiZWl0c3ZlcnplaWNobmlzIG5pY2h0IGzDtnNjaGVuIgotCi0jOiBnaXQtc3Rhc2guc2g6NDkwCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjUzNgogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICRvcHQiCiBtc2dzdHIgInVuYmVrYW5udGUgT3B0aW9uOiAkb3B0IgogCi0jOiBnaXQtc3Rhc2guc2g6NTAzCi1tc2dpZCAiTm8gc3Rhc2ggZW50cmllcyBmb3VuZC4iCi1tc2dzdHIgIktlaW5lIFN0YXNoLUVpbnRyw6RnZSBnZWZ1bmRlbi4iCi0KLSM6IGdpdC1zdGFzaC5zaDo1MTAKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NTU2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICJadSB2aWVsZSBDb21taXRzIGFuZ2VnZWJlbjogJFJFViIKIAotIzogZ2l0LXN0YXNoLnNoOjUyNQorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1NzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNlIGlzdCBrZWluZSBnw7xsdGlnZSBSZWZlcmVueiIKIAotIzogZ2l0LXN0YXNoLnNoOjU1MworIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1OTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCiBtc2dzdHIgIickYXJncycgaXN0IGtlaW4gXCJzdGFzaFwiLWFydGlnZXIgQ29tbWl0IgogCi0jOiBnaXQtc3Rhc2guc2g6NTY0CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYxMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIickYXJncycgaXN0IGtlaW5lIFwic3Rhc2hcIi1SZWZlcmVueiIKIAotIzogZ2l0LXN0YXNoLnNoOjU3MgorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2MTgKIG1zZ2lkICJ1bmFibGUgdG8gcmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAiS29ubnRlIGRlbiBJbmRleCBuaWNodCBha3R1YWxpc2llcmVuLiIKIAotIzogZ2l0LXN0YXNoLnNoOjU3NgorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2MjIKIG1zZ2lkICJDYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCiBtc2dzdHIgIkthbm4gXCJzdGFzaFwiIG5pY2h0IGFud2VuZGVuLCBzb2xhbmdlIGVpbiBNZXJnZSBpbSBHYW5nZSBpc3QiCiAKLSM6IGdpdC1zdGFzaC5zaDo1ODQKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjMwCiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAiS29uZmxpa3RlIGltIEluZGV4LiBWZXJzdWNoZW4gU2llIGVzIG9obmUgLS1pbmRleC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1ODYKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjMyCiBtc2dpZCAiQ291bGQgbm90IHNhdmUgaW5kZXggdHJlZSIKIG1zZ3N0ciAiS29ubnRlIEluZGV4LVZlcnplaWNobmlzIG5pY2h0IHNwZWljaGVybiIKIAotIzogZ2l0LXN0YXNoLnNoOjU5NQorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2NDEKIG1zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiIgogIktvbm50ZSB1bnZlcnNpb25pZXJ0ZSBEYXRlaWVuIHZvbSBTdGFzaC1FaW50cmFnIG5pY2h0IHdpZWRlcmhlcnN0ZWxsZW4uIgogCi0jOiBnaXQtc3Rhc2guc2g6NjIwCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjY2NgogbXNnaWQgIkNhbm5vdCB1bnN0YWdlIG1vZGlmaWVkIGZpbGVzIgogbXNnc3RyICJLYW5uIGdlw6RuZGVydGUgRGF0ZWllbiBuaWNodCBhdXMgZGVtIEluZGV4IGVudGZlcm5lbiIKIAotIzogZ2l0LXN0YXNoLnNoOjYzNQotbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKLW1zZ3N0ciAiSW5kZXggd3VyZGUgbmljaHQgYXVzIGRlbSBTdGFzaCB6dXLDvGNrZ2VsYWRlbi4iCi0KLSM6IGdpdC1zdGFzaC5zaDo2NDkKLW1zZ2lkICJUaGUgc3Rhc2ggZW50cnkgaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIKLW1zZ3N0ciAiIgotIkRlciBTdGFzaC1FaW50cmFnIHdpcmQgZsO8ciBkZW4gRmFsbCBiZWhhbHRlbiwgZGFzcyBTaWUgZGllc2VuIG5vY2htYWwgIgotImJlbsO2dGlnZW4uIgotCi0jOiBnaXQtc3Rhc2guc2g6NjU4CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjcwNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiRHJvcHBlZCAke1JFVn0gKCRzKSIKIG1zZ3N0ciAiJHtSRVZ9ICgkcykgZ2Vsw7ZzY2h0IgogCi0jOiBnaXQtc3Rhc2guc2g6NjU5CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjcwNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiJHtSRVZ9OiBLb25udGUgXCJzdGFzaFwiLUVpbnRyYWcgbmljaHQgbMO2c2NoZW4iCiAKLSM6IGdpdC1zdGFzaC5zaDo2NjcKLW1zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCi1tc2dzdHIgIktlaW4gQnJhbmNobmFtZSBzcGV6aWZpemllcnQiCi0KLSM6IGdpdC1zdGFzaC5zaDo3NDYKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzkyCiBtc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogbXNnc3RyICIoWnVyIFdpZWRlcmhlcnN0ZWxsdW5nIGdlYmVuIFNpZSBcImdpdCBzdGFzaCBhcHBseVwiIGVpbikiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTk4CisjOiBnaXQtc3VibW9kdWxlLnNoOjIwMgogbXNnaWQgIlJlbGF0aXZlIHBhdGggY2FuIG9ubHkgYmUgdXNlZCBmcm9tIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICIiCiAiUmVsYXRpdmUgUGZhZGUga8O2bm5lbiBudXIgdm9uIGRlciBvYmVyc3RlbiBFYmVuZSBkZXMgQXJiZWl0c3ZlcnplaWNobmlzc2VzICIKICJiZW51dHp0IHdlcmRlbi4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjA4CisjOiBnaXQtc3VibW9kdWxlLnNoOjIxMgogIywgc2gtZm9ybWF0CiBtc2dpZCAicmVwbyBVUkw6ICckcmVwbycgbXVzdCBiZSBhYnNvbHV0ZSBvciBiZWdpbiB3aXRoIC4vfC4uLyIKIG1zZ3N0ciAicmVwbyBVUkw6ICckcmVwbycgbXVzcyBhYnNvbHV0IHNlaW4gb2RlciBtaXQgLi98Li4vIGJlZ2lubmVuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIyNworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGluZGV4IgogbXNnc3RyICInJHNtX3BhdGgnIGlzdCBiZXJlaXRzIHp1bSBDb21taXQgdm9yZ2VtZXJrdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjM0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCBhbmQgaXMgbm90IGEgc3VibW9kdWxlIgogbXNnc3RyICInJHNtX3BhdGgnIGlzdCBiZXJlaXRzIHp1bSBDb21taXQgdm9yZ2VtZXJrdCB1bmQgaXN0IGtlaW4gU3VibW9kdWwiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjM2CisjOiBnaXQtc3VibW9kdWxlLnNoOjI0MQorIywgc2gtZm9ybWF0Cittc2dpZCAiJyRzbV9wYXRoJyBkb2VzIG5vdCBoYXZlIGEgY29tbWl0IGNoZWNrZWQgb3V0IgorbXNnc3RyICInJHNtX3BhdGgnIGhhdCBrZWluZW4gQ29tbWl0IGF1c2dlY2hlY2t0IgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjI0NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgcGF0aCBpcyBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCkBAIC0yMDEwOSwyNCArMjMzOTYsMjQgQEAKICIkc21fcGF0aFxuIgogIkJlbnV0emVuIFNpZSAtZiB3ZW5uIFNpZSBkaWVzZW4gd2lya2xpY2ggaGluenVmw7xnZW4gbcO2Y2h0ZW4uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI1OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgogbXNnc3RyICJGw7xnZSBleGlzdGllcmVuZGVzIFJlcG9zaXRvcnkgaW4gJyRzbV9wYXRoJyBkZW0gSW5kZXggaGluenUuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI2MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhIHZhbGlkIGdpdCByZXBvIgogbXNnc3RyICInJHNtX3BhdGgnIGV4aXN0aWVydCBiZXJlaXRzIHVuZCBpc3Qga2VpbiBnw7xsdGlnZXMgR2l0LVJlcG9zaXRvcnkiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjY5CisjOiBnaXQtc3VibW9kdWxlLnNoOjI4MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQSBnaXQgZGlyZWN0b3J5IGZvciAnJHNtX25hbWUnIGlzIGZvdW5kIGxvY2FsbHkgd2l0aCByZW1vdGUocyk6IgogbXNnc3RyICIiCiAiRWluIEdpdC1WZXJ6ZWljaG5pcyBmw7xyICckc21fbmFtZScgd3VyZGUgbG9rYWwgZ2VmdW5kZW4gbWl0IGRlbiBSZW1vdGUtIgogIlJlcG9zaXRvcmllczoiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjcxCisjOiBnaXQtc3VibW9kdWxlLnNoOjI4MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gZnJvbVxuIgpAQCAtMjAxNDQsMzcgKzIzNDMxLDM3IEBACiAibmljaHQgZGFzIGtvcnJla3RlIFJlcG9zaXRvcnkgaXN0IG9kZXIgU2llIHVuc2ljaGVyIHNpbmQsIHdhcyBkYXMgYmVkZXV0ZXQsXG4iCiAid8OkaGxlbiBTaWUgZWluZW4gYW5kZXJlbiBOYW1lbiBtaXQgZGVyIE9wdGlvbiAnLS1uYW1lJy4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mjc3CisjOiBnaXQtc3VibW9kdWxlLnNoOjI4OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVhY3RpdmF0aW5nIGxvY2FsIGdpdCBkaXJlY3RvcnkgZm9yIHN1Ym1vZHVsZSAnJHNtX25hbWUnLiIKIG1zZ3N0ciAiUmVha3RpdmllcmUgbG9rYWxlcyBHaXQtVmVyemVpY2huaXMgZsO8ciBTdWJtb2R1bCAnJHNtX25hbWUnLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzAwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIkthbm4gU3VibW9kdWwgJyRzbV9wYXRoJyBuaWNodCBhdXNjaGVja2VuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI5NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDozMDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBhZGQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIkhpbnp1ZsO8Z2VuIHZvbiBTdWJtb2R1bCAnJHNtX3BhdGgnIGZlaGxnZXNjaGxhZ2VuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMwMworIzogZ2l0LXN1Ym1vZHVsZS5zaDozMTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gRWludHJhZ2VuIHZvbiBTdWJtb2R1bCAnJHNtX3BhdGgnIGluIGRpZSBLb25maWd1cmF0aW9uLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NjMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTgwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLb25udGUgYWt0dWVsbGVuIENvbW1pdCBpbiBTdWJtb2R1bC1QZmFkICckZGlzcGxheXBhdGgnIG5pY2h0IGZpbmRlbi4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTczCisjOiBnaXQtc3VibW9kdWxlLnNoOjU5MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIktvbm50ZSBcImZldGNoXCIgaW4gU3VibW9kdWwtUGZhZCAnJHNtX3BhdGgnIG5pY2h0IGF1c2bDvGhyZW4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTc4CisjOiBnaXQtc3VibW9kdWxlLnNoOjU5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgJHtyZW1vdGVfbmFtZX0vJHticmFuY2h9IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICIKQEAgLTIwMTgzLDEyICsyMzQ3MCwxNiBAQAogIktvbm50ZSBha3R1ZWxsZW4gQ29tbWl0IHZvbiAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gaW4gU3VibW9kdWwtUGZhZFxuIgogIickc21fcGF0aCcgbmljaHQgZmluZGVuLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1OTYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjEzCiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCi1tc2dzdHIgIktvbm50ZSBcImZldGNoXCIgaW4gU3VibW9kdWwtUGZhZCAnJGRpc3BsYXlwYXRoJyBuaWNodCBhdXNmw7xocmVuIgorbXNnaWQgIiIKKyJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc7IHRyeWluZyB0byBkaXJlY3RseSBmZXRjaCAiCisiJHNoYTE6IgorbXNnc3RyICIiCisiS29ubnRlIFwiZmV0Y2hcIiBpbiBTdWJtb2R1bC1QZmFkICckZGlzcGxheXBhdGgnIG5pY2h0IGF1c2bDvGhyZW4uIFZlcnN1Y2hlICIKKyIkc2hhMSBkaXJla3QgYW56dWZvcmRlcm46IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYwMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJGZXRjaGVkIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnLCBidXQgaXQgZGlkIG5vdCBjb250YWluICRzaGExLiAiCkBAIC0yMDE5Nyw3NCArMjM0ODgsNzQgQEAKICJcImZldGNoXCIgaW4gU3VibW9kdWwtUGZhZCAnJGRpc3BsYXlwYXRoJyBhdXNnZWbDvGhydCwgYWJlciAkc2hhMSBuaWNodFxuIgogImVudGhhbHRlbi4gRGlyZWt0ZXMgQW5mb3JkZXJuIGRpZXNlcyBDb21taXRzIGlzdCBmZWhsZ2VzY2hsYWdlbi4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjA5CisjOiBnaXQtc3VibW9kdWxlLnNoOjYyNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0ICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIktvbm50ZSAnJHNoYTEnIGluIFN1Ym1vZHVsLVBmYWQgJyRkaXNwbGF5cGF0aCcgbmljaHQgYXVzY2hlY2tlbi4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjEwCisjOiBnaXQtc3VibW9kdWxlLnNoOjYyNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IGNoZWNrZWQgb3V0ICckc2hhMSciCiBtc2dzdHIgIlN1Ym1vZHVsLVBmYWQ6ICckZGlzcGxheXBhdGgnOiAnJHNoYTEnIGF1c2dlY2hlY2t0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYxNAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byByZWJhc2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiUmViYXNlIGF1ZiAnJHNoYTEnIGluIFN1Ym1vZHVsLVBmYWQgJyRkaXNwbGF5cGF0aCcgbmljaHQgbcO2Z2xpY2giCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjE1CisjOiBnaXQtc3VibW9kdWxlLnNoOjYzMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IHJlYmFzZWQgaW50byAnJHNoYTEnIgogbXNnc3RyICJTdWJtb2R1bC1QZmFkICckZGlzcGxheXBhdGgnOiBSZWJhc2UgYXVmICckc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjIwCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIk1lcmdlIHZvbiAnJHNoYTEnIGluIFN1Ym1vZHVsLVBmYWQgJyRkaXNwbGF5cGF0aCcgZmVobGdlc2NobGFnZW4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjIxCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IG1lcmdlZCBpbiAnJHNoYTEnIgogbXNnc3RyICJTdWJtb2R1bC1QZmFkICckZGlzcGxheXBhdGgnOiB6dXNhbW1lbmdlZsO8aHJ0IGluICckc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjI2CisjOiBnaXQtc3VibW9kdWxlLnNoOjY0MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRXhlY3V0aW9uIG9mICckY29tbWFuZCAkc2hhMScgZmFpbGVkIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiQXVzZsO8aHJ1bmcgdm9uICckY29tbWFuZCAkc2hhMScgaW4gU3VibW9kdWwtUGZhZCAnJGRpc3BsYXlwYXRoJyAiCiAiZmVobGdlc2NobGFnZW4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjI3CisjOiBnaXQtc3VibW9kdWxlLnNoOjY0NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6ICckY29tbWFuZCAkc2hhMSciCiBtc2dzdHIgIlN1Ym1vZHVsLVBmYWQgJyRkaXNwbGF5cGF0aCc6ICckY29tbWFuZCAkc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjU4CisjOiBnaXQtc3VibW9kdWxlLnNoOjY3NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiRmVobGVyIGJlaSBSZWt1cnNpb24gaW4gU3VibW9kdWwtUGZhZCAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3NTQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODg2CiBtc2dpZCAiVGhlIC0tY2FjaGVkIG9wdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoZSAtLWZpbGVzIG9wdGlvbiIKIG1zZ3N0ciAiIgogIkRpZSBPcHRpb25lbiAtLWNhY2hlZCB1bmQgLS1maWxlcyBrw7ZubmVuIG5pY2h0IGdlbWVpbnNhbSB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MDYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG1vZGUgJG1vZF9kc3QiCiBtc2dzdHIgInVuZXJ3YXJ0ZXRlciBNb2R1cyAkbW9kX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTU4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCiBtc2dzdHIgIiAgV2FybnVuZzogJGRpc3BsYXlfbmFtZSBiZWluaGFsdGV0IG5pY2h0IENvbW1pdCAkc2hhMV9zcmMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODI5CisjOiBnaXQtc3VibW9kdWxlLnNoOjk2MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfZHN0IgogbXNnc3RyICIgIFdhcm51bmc6ICRkaXNwbGF5X25hbWUgYmVpbmhhbHRldCBuaWNodCBDb21taXQgJHNoYTFfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgzMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5NjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0cyAkc2hhMV9zcmMgYW5kICRzaGExX2RzdCIKIG1zZ3N0ciAiIgpAQCAtMjAyNzUsMTIgKzIzNTY2LDIxIEBACiBtc2dpZCAiU2VlIGdpdC0ke2NtZH0oMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICJTaWVoZSBnaXQtJHtjbWR9KDEpIGbDvHIgd2VpdGVyZSBEZXRhaWxzLiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjEzNgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjEwOQorbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKK21zZ3N0ciAiQXV0b21hdGlzY2hlbiBTdGFzaCBhbmdld2VuZGV0LiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjExMgorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgorbXNnc3RyICJLYW5uICRzdGFzaF9zaGExIG5pY2h0IHNwZWljaGVybi4iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxOTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYmFzaW5nICgkbmV3X2NvdW50LyR0b3RhbCkiCiBtc2dzdHIgIkbDvGhyZSBSZWJhc2UgYXVzICgkbmV3X2NvdW50LyR0b3RhbCkiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxNTIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMDcKIG1zZ2lkICIiCiAiXG4iCiAiQ29tbWFuZHM6XG4iCkBAIC0yMDMyMiw3ICsyMzYyMiw3IEBACiAiRGllc2UgWmVpbGVuIGvDtm5uZW4gdW1zb3J0aWVydCB3ZXJkZW47IFNpZSB3ZXJkZW4gdm9uIG9iZW4gbmFjaCB1bnRlblxuIgogImF1c2dlZsO8aHJ0LlxuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjE1CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjcwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGNhbiBhbWVuZCB0aGUgY29tbWl0IG5vdywgd2l0aFxuIgpAQCAtMjAzNDEsODMgKzIzNjQxLDgzIEBACiAiXG4iCiAiXHRnaXQgcmViYXNlIC0tY29udGludWUiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyNDAKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyOTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRzaGExOiBub3QgYSBjb21taXQgdGhhdCBjYW4gYmUgcGlja2VkIgogbXNnc3RyICIkc2hhMToga2VpbiBDb21taXQgZGVyIGdlcGlja3Qgd2VyZGVuIGthbm4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyNzkKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozMzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkludmFsaWQgY29tbWl0IG5hbWU6ICRzaGExIgogbXNnc3RyICJVbmfDvGx0aWdlciBDb21taXQtTmFtZTogJHNoYTEiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozMDkKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozNjQKIG1zZ2lkICJDYW5ub3Qgd3JpdGUgY3VycmVudCBjb21taXQncyByZXBsYWNlbWVudCBzaGExIgogbXNnc3RyICJLYW5uIGVyc2V0emVuZGVuIFNIQS0xIGRlcyBha3R1ZWxsZW4gQ29tbWl0cyBuaWNodCBzY2hyZWliZW4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozNjAKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZCB0byAkc2hhMSIKIG1zZ3N0ciAiU3B1bGUgdm9yIHp1ICRzaGExIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzYyCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDE3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZmFzdC1mb3J3YXJkIHRvICRzaGExIgogbXNnc3RyICJLYW5uIG5pY2h0IHp1ICRzaGExIHZvcnNwdWxlbiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM3MQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQyNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG1vdmUgSEVBRCB0byAkZmlyc3RfcGFyZW50IgogbXNnc3RyICJLYW5uIEhFQUQgbmljaHQgYXVmICRmaXJzdF9wYXJlbnQgc2V0emVuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Mzc2CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDMxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBzcXVhc2ggYSBtZXJnZTogJHNoYTEiCiBtc2dzdHIgIlwic3F1YXNoXCIgZWluZXMgTWVyZ2VzICgkc2hhMSkgenVyw7xja2dld2llc2VuLiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM5NAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ0OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRXJyb3IgcmVkb2luZyBtZXJnZSAkc2hhMSIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gV2llZGVyaG9sZW4gZGVzIE1lcmdlcyB2b24gJHNoYTEiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MDMKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NTgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwaWNrICRzaGExIgogbXNnc3RyICJLb25udGUgJHNoYTEgbmljaHQgcGlja2VuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDEyCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDY3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIHRoZSBjb21taXQgbWVzc2FnZSAjJHtufToiCiBtc2dzdHIgIkRhcyBpc3QgQ29tbWl0LUJlc2NocmVpYnVuZyAjJHtufToiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJHtufSB3aWxsIGJlIHNraXBwZWQ6IgogbXNnc3RyICJDb21taXQtQmVzY2hyZWlidW5nICMke259IHdpcmQgYXVzZ2VsYXNzZW46IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDI4CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDgzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJGNvdW50IGNvbW1pdC4iCiBtc2dpZF9wbHVyYWwgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0cy4iCiBtc2dzdHJbMF0gIkRhcyBpc3QgZWluZSBLb21iaW5hdGlvbiBhdXMgJGNvdW50IENvbW1pdC4iCiBtc2dzdHJbMV0gIkRhcyBpc3QgZWluZSBLb21iaW5hdGlvbiBhdXMgJGNvdW50IENvbW1pdHMuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDM3CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDkyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgd3JpdGUgJGZpeHVwX21zZyIKIG1zZ3N0ciAiS2FubiAkZml4dXBfbXNnIG5pY2h0IHNjaHJlaWJlbiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ0MAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ5NQogbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAyIGNvbW1pdHMuIgogbXNnc3RyICJEYXMgaXN0IGVpbmUgS29tYmluYXRpb24gYXVzIDIgQ29tbWl0cy4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0ODEgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjUyNAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjUyNworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjUzNiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NTc5CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NTgyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJHNoYTEuLi4gJHJlc3QiCiBtc2dzdHIgIktvbm50ZSAkc2hhMS4uLiAoJHJlc3QpIG5pY2h0IGFud2VuZGVuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NTU2CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjExCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGFtZW5kIGNvbW1pdCBhZnRlciBzdWNjZXNzZnVsbHkgcGlja2luZyAkc2hhMS4uLiAkcmVzdFxuIgpAQCAtMjA0MzQsMzEgKzIzNzM0LDMxIEBACiAic29sbHRlbiBTaWUgZGFzIFByb2JsZW0gYmVoZWJlbiwgYmV2b3IgU2llIGRpZSBDb21taXQtQmVzY2hyZWlidW5nIMOkbmRlcm4gIgogImvDtm5uZW4uIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NTcxCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjI2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkIGF0ICRzaGExX2FiYnJldi4uLiAkcmVzdCIKIG1zZ3N0ciAiQW5nZWhhbHRlbiBiZWkgJHNoYTFfYWJicmV2Li4uICRyZXN0IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NTg2CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjQxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgJyRzcXVhc2hfc3R5bGUnIHdpdGhvdXQgYSBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgIkthbm4gbmljaHQgJyRzcXVhc2hfc3R5bGUnIG9obmUgdm9yaGVyaWdlbiBDb21taXQiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2MjgKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2ODMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGluZzogJHJlc3QiCiBtc2dzdHIgIkbDvGhyZSBhdXM6ICRyZXN0IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjM2CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjkxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpb24gZmFpbGVkOiAkcmVzdCIKIG1zZ3N0ciAiQXVzZsO8aHJ1bmcgZmVobGdlc2NobGFnZW46ICRyZXN0IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjM4CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjkzCiBtc2dpZCAiYW5kIG1hZGUgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIkRlciBJbmRleCB1bmQvb2RlciBkYXMgQXJiZWl0c3ZlcnplaWNobmlzIHd1cmRlIGdlw6RuZGVydC4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NDAKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2OTUKIG1zZ2lkICIiCiAiWW91IGNhbiBmaXggdGhlIHByb2JsZW0sIGFuZCB0aGVuIHJ1blxuIgogIlxuIgpAQCAtMjA0NzEsNyArMjM3NzEsNyBAQAogImF1c2bDvGhyZW4uIgogCiAjLiBUUkFOU0xBVE9SUzogYWZ0ZXIgdGhlc2UgbGluZXMgaXMgYSBjb21tYW5kIHRvIGJlIGlzc3VlZCBieSB0aGUgdXNlcgotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY1MworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjcwOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkV4ZWN1dGlvbiBzdWNjZWVkZWQ6ICRyZXN0XG4iCkBAIC0yMDQ4NywyNSArMjM3ODcsMjUgQEAKICJcbiIKICJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY2NAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjcxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBjb21tYW5kOiAkY29tbWFuZCAkc2hhMSAkcmVzdCIKIG1zZ3N0ciAiVW5iZWthbm50ZXIgQmVmZWhsOiAkY29tbWFuZCAkc2hhMSAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY2NQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjcyMAogbXNnaWQgIlBsZWFzZSBmaXggdGhpcyB1c2luZyAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuIgogbXNnc3RyICJCaXR0ZSBiZWhlYmVuIFNpZSBkYXMsIGluZGVtIFNpZSAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycgYXVzZsO8aHJlbi4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MDAKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3NTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Y2Nlc3NmdWxseSByZWJhc2VkIGFuZCB1cGRhdGVkICRoZWFkX25hbWUuIgogbXNnc3RyICJFcmZvbGdyZWljaCBSZWJhc2UgYXVzZ2Vmw7xocnQgdW5kICRoZWFkX25hbWUgYWt0dWFsaXNpZXJ0LiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc1NworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgxMgogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKIG1zZ3N0ciAiS29ubnRlIENIRVJSWV9QSUNLX0hFQUQgbmljaHQgbMO2c2NoZW4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3NjIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MTcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTIwNTM3LDEzICsyMzgzNywxMyBAQAogIlxuIgogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3NzkKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MzQKIG1zZ2lkICJFcnJvciB0cnlpbmcgdG8gZmluZCB0aGUgYXV0aG9yIGlkZW50aXR5IHRvIGFtZW5kIGNvbW1pdCIKIG1zZ3N0ciAiIgogIkZlaGxlciBiZWltIFZlcnN1Y2ggZGllIElkZW50aXTDpHQgZGVzIEF1dGhvcnMgenVtIFZlcmJlc3Nlcm4gZGVzIENvbW1pdHMgenVcbiIKICJmaW5kZW4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3ODQKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MzkKIG1zZ2lkICIiCiAiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlIGNvbW1pdCB0aGVtXG4iCiAiZmlyc3QgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnIGFnYWluLiIKQEAgLTIwNTUzLDQwICsyMzg1Myw0MCBAQAogImVybmV1dFxuIgogImF1cy4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3ODkgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc5MworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg0NCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODQ4CiBtc2dpZCAiQ291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIktvbm50ZSDDhG5kZXJ1bmdlbiBhdXMgZGVyIFN0YWdpbmctQXJlYSBuaWNodCBjb21taXR0ZW4uIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODI0IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MTAKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NzkgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk2NQogbXNnaWQgIkNvdWxkIG5vdCBleGVjdXRlIGVkaXRvciIKIG1zZ3N0ciAiS29ubnRlIEVkaXRvciBuaWNodCBhdXNmw7xocmVuLiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg0NQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkwMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNoZWNrb3V0ICRzd2l0Y2hfdG8iCiBtc2dzdHIgIktvbm50ZSAkc3dpdGNoX3RvIG5pY2h0IGF1c2NoZWNrZW4uIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODUyCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTA3CiBtc2dpZCAiTm8gSEVBRD8iCiBtc2dzdHIgIktlaW4gSEVBRD8iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NTMKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MDgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICRzdGF0ZV9kaXIiCiBtc2dzdHIgIktvbm50ZSB0ZW1wb3LDpHJlcyBWZXJ6ZWljaG5pcyAkc3RhdGVfZGlyIG5pY2h0IGVyc3RlbGxlbi4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NTYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MTEKIG1zZ2lkICJDb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKIG1zZ3N0ciAiS29ubnRlIG5pY2h0IGFscyBpbnRlcmFrdGl2ZW4gUmViYXNlIG1hcmtpZXJlbi4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4ODgKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NDMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmQpIgogbXNnaWRfcGx1cmFsICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kcykiCiBtc2dzdHJbMF0gIlJlYmFzZSB2b24gJHNob3J0cmV2aXNpb25zIGF1ZiAkc2hvcnRvbnRvICgkdG9kb2NvdW50IEtvbW1hbmRvKSIKIG1zZ3N0clsxXSAiUmViYXNlIHZvbiAkc2hvcnRyZXZpc2lvbnMgYXVmICRzaG9ydG9udG8gKCR0b2RvY291bnQgS29tbWFuZG9zKSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk0MiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTQ3CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTk3IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMDAyCiBtc2dpZCAiQ291bGQgbm90IGluaXQgcmV3cml0dGVuIGNvbW1pdHMiCiBtc2dzdHIgIktvbm50ZSBuZXUgZ2VzY2hyaWViZW5lIENvbW1pdHMgbmljaHQgaW5pdGlhbGlzaWVyZW4uIgogCkBAIC0yMDU5NSwxNTQgKzIzODk1LDkyIEBACiBtc2dpZCAidXNhZ2U6ICRkYXNobGVzcyAkVVNBR0UiCiBtc2dzdHIgIlZlcndlbmR1bmc6ICRkYXNobGVzcyAkVVNBR0UiCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoxOTAKKyM6IGdpdC1zaC1zZXR1cC5zaDoxOTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBjaGRpciB0byAkY2R1cCwgdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIiIKICJLb25udGUgbmljaHQgaW4gVmVyemVpY2huaXMgJGNkdXAgd2VjaHNlbG4sIGRlciBvYmVyc3RlbiBFYmVuZSBkZXNcbiIKICJBcmJlaXRzdmVyemVpY2huaXNzZXMuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MTk5IGdpdC1zaC1zZXR1cC5zaDoyMDYKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMDAgZ2l0LXNoLXNldHVwLnNoOjIwNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiZmF0YWw6ICRwcm9ncmFtX25hbWUgY2Fubm90IGJlIHVzZWQgd2l0aG91dCBhIHdvcmtpbmcgdHJlZS4iCiBtc2dzdHIgIiIKICJmYXRhbDogJHByb2dyYW1fbmFtZSBrYW5uIG9obmUgZWluIEFyYmVpdHN2ZXJ6ZWljaG5pcyBuaWNodCB2ZXJ3ZW5kZXQgd2VyZGVuLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjIyMAorIzogZ2l0LXNoLXNldHVwLnNoOjIyMQogbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICIiCiAiUmViYXNlIG5pY2h0IG3DtmdsaWNoOiBTaWUgaGFiZW4gw4RuZGVydW5nZW4sIGRpZSBuaWNodCB6dW0gQ29tbWl0IHZvcmdlbWVya3QgIgogInNpbmQuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjIzCisjOiBnaXQtc2gtc2V0dXAuc2g6MjI0CiBtc2dpZCAiQ2Fubm90IHJld3JpdGUgYnJhbmNoZXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICIiCiAiS2FubiBCcmFuY2hlcyBuaWNodCBuZXUgc2NocmVpYmVuOiBTaWUgaGFiZW4gw4RuZGVydW5nZW4sIGRpZSBuaWNodCB6dW0gIgogIkNvbW1pdFxuIgogInZvcmdlbWVya3Qgc2luZC4iCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoyMjYKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjcKIG1zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKICJLYW5uIFwicHVsbFwiIG1pdCBcInJlYmFzZVwiIG5pY2h0IGF1c2bDvGhyZW46IFNpZSBoYWJlbiDDhG5kZXJ1bmdlbiwgZGllICIKICJuaWNodCB6dW0gQ29tbWl0IHZvcmdlbWVya3Qgc2luZC4iCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoyMjkKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCAkYWN0aW9uOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogIkthbm4gJGFjdGlvbiBuaWNodCBhdXNmw7xocmVuOiBTaWUgaGFiZW4gw4RuZGVydW5nZW4sIGRpZSBuaWNodCB6dW0gQ29tbWl0XG4iCiAidm9yZ2VtZXJrdCBzaW5kLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjI0MgorIzogZ2l0LXNoLXNldHVwLnNoOjI0MwogbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKICJSZWJhc2UgbmljaHQgbcO2Z2xpY2g6IERpZSBTdGFnaW5nLUFyZWEgYmVpbmhhbHRldCBuaWNodCBjb21taXR0ZXRlICIKICLDhG5kZXJ1bmdlbi4iCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoyNDUKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNDYKIG1zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogIkthbm4gXCJwdWxsXCIgbWl0IFwicmViYXNlXCIgbmljaHQgYXVzZsO8aHJlbjogRGllIFN0YWdpbmctQXJlYSBiZWluaGFsdGV0ICIKICJuaWNodCBjb21taXR0ZXRlIMOEbmRlcnVuZ2VuLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjI0OAorIzogZ2l0LXNoLXNldHVwLnNoOjI0OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90ICRhY3Rpb246IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKICJLYW5uICRhY3Rpb24gbmljaHQgYXVzZsO8aHJlbjogRGllIFN0YWdpbmctQXJlYSBiZWluaGFsdGV0IG5pY2h0IGNvbW1pdHRldGVcbiIKICLDhG5kZXJ1bmdlbi4iCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoyNTIKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNTMKIG1zZ2lkICJBZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIlp1c8OkdHpsaWNoIGJlaW5oYWx0ZXQgZGllIFN0YWdpbmctQXJlYSBuaWNodCBjb21taXR0ZXRlIMOEbmRlcnVuZ2VuLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjM3MgorIzogZ2l0LXNoLXNldHVwLnNoOjM3MwogbXNnaWQgIllvdSBuZWVkIHRvIHJ1biB0aGlzIGNvbW1hbmQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZS4iCiBtc2dzdHIgIiIKICJTaWUgbcO8c3NlbiBkZW4gQmVmZWhsIHZvbiBkZXIgb2JlcnN0ZW4gRWJlbmUgZGVzIEFyYmVpdHN2ZXJ6ZWljaG5pc3NlcyAiCiAiYXVzZsO8aHJlbi4iCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDozNzcKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzgKIG1zZ2lkICJVbmFibGUgdG8gZGV0ZXJtaW5lIGFic29sdXRlIHBhdGggb2YgZ2l0IGRpcmVjdG9yeSIKIG1zZ3N0ciAiS29ubnRlIGFic29sdXRlbiBQZmFkIGRlcyBHaXQtVmVyemVpY2huaXNzZXMgbmljaHQgYmVzdGltbWVuLiIKIAogIy4gVFJBTlNMQVRPUlM6IHlvdSBjYW4gYWRqdXN0IHRoaXMgdG8gYWxpZ24gImdpdCBhZGQgLWkiIHN0YXR1cyBtZW51Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMTIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJTEycyAlMTJzICVzIgogbXNnc3RyICIlMjhzICUyNXMgJXMiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk3Ci1tc2dpZCAic3RhZ2VkIgotbXNnc3RyICJ6dXIgU3RhZ2luZy1BcmVhIGhpbnp1Z2Vmw7xndCIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKLW1zZ2lkICJ1bnN0YWdlZCIKLW1zZ3N0ciAiYXVzIFN0YWdpbmctQXJlYSBlbnRmZXJudCIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNzgKLW1zZ2lkICJiaW5hcnkiCi1tc2dzdHIgIkJpbsOkciIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNjIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMTYKLW1zZ2lkICJub3RoaW5nIgotbXNnc3RyICJOaWNodHMiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Mjk4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzEzCi1tc2dpZCAidW5jaGFuZ2VkIgotbXNnc3RyICJ1bnZlcsOkbmRlcnQiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjA5Ci0jLCBwZXJsLWZvcm1hdAotbXNnaWQgImFkZGVkICVkIHBhdGhcbiIKLW1zZ2lkX3BsdXJhbCAiYWRkZWQgJWQgcGF0aHNcbiIKLW1zZ3N0clswXSAiJWQgUGZhZCBoaW56dWdlZsO8Z3RcbiIKLW1zZ3N0clsxXSAiJWQgUGZhZGUgaGluenVnZWbDvGd0XG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjEyCi0jLCBwZXJsLWZvcm1hdAotbXNnaWQgInVwZGF0ZWQgJWQgcGF0aFxuIgotbXNnaWRfcGx1cmFsICJ1cGRhdGVkICVkIHBhdGhzXG4iCi1tc2dzdHJbMF0gIiVkIFBmYWQgYWt0dWFsaXNpZXJ0XG4iCi1tc2dzdHJbMV0gIiVkIFBmYWRlIGFrdHVhbGlzaWVydFxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYxNQotIywgcGVybC1mb3JtYXQKLW1zZ2lkICJyZXZlcnRlZCAlZCBwYXRoXG4iCi1tc2dpZF9wbHVyYWwgInJldmVydGVkICVkIHBhdGhzXG4iCi1tc2dzdHJbMF0gIiVkIFBmYWQgd2llZGVyaGVyZ2VzdGVsbHRcbiIKLW1zZ3N0clsxXSAiJWQgUGZhZGUgd2llZGVyaGVyZ2VzdGVsbHRcbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjM0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInRvdWNoZWQgJWQgcGF0aFxuIgogbXNnaWRfcGx1cmFsICJ0b3VjaGVkICVkIHBhdGhzXG4iCiBtc2dzdHJbMF0gIiVkIFBmYWQgYW5nZWZhc3N0XG4iCiBtc2dzdHJbMV0gIiVkIFBmYWRlIGFuZ2VmYXNzdFxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYyNwotbXNnaWQgIlVwZGF0ZSIKLW1zZ3N0ciAiQWt0dWFsaXNpZXJlbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzkKLW1zZ2lkICJSZXZlcnQiCi1tc2dzdHIgIlJldmVydCIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NjIKLSMsIHBlcmwtZm9ybWF0Ci1tc2dpZCAibm90ZTogJXMgaXMgdW50cmFja2VkIG5vdy5cbiIKLW1zZ3N0ciAiSGlud2VpczogJXMgaXN0IG51biB1bnZlcnNpb25pZXJ0LlxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY3MwotbXNnaWQgIkFkZCB1bnRyYWNrZWQiCi1tc2dzdHIgInVudmVyc2lvbmllcnRlIERhdGVpZW4gaGluenVmw7xnZW4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Njc5Ci1tc2dpZCAiTm8gdW50cmFja2VkIGZpbGVzLlxuIgotbXNnc3RyICJLZWluZSB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbi5cbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDMzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTMKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHN0YWdpbmcuIgpAQCAtMjA3NTEsNyArMjM5ODksNyBAQAogIkJsb2NrXG4iCiAiZGlyZWt0IGFscyB6dW0gSGluenVmw7xnZW4genVyIFN0YWdpbmctQXJlYSBtYXJraWVydC4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAzNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDU2CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBzdGFzaGluZy4iCkBAIC0yMDc2MCw3ICsyMzk5OCw3IEBACiAiQmxvY2tcbiIKICJkaXJla3QgYWxzIHp1bSBIaW56dWbDvGdlbiB6dW0gU3Rhc2ggbWFya2llcnQuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMzkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1OQogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgdW5zdGFnaW5nLiIKQEAgLTIwNzY5LDcgKzI0MDA3LDggQEAKICJCbG9ja1xuIgogImRpcmVrdCBhbHMgenVtIEVudGZlcm5lbiBhdXMgZGVyIFN0YWdpbmctQXJlYSBtYXJraWVydC4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA2MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNzEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA3NwogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgYXBwbHlpbmcuIgpAQCAtMjA3NzgsNyArMjQwMTcsOCBAQAogIkJsb2NrXG4iCiAiZGlyZWt0IGFscyB6dW0gQW53ZW5kZW4gbWFya2llcnQuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQ4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNzQKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIGRpc2NhcmRpbmcuIgpAQCAtMjA3ODcsMTkgKzI0MDI3LDEzIEBACiAiQmxvY2tcbiIKICJkaXJla3QgYWxzIHp1bSBWZXJ3ZXJmZW4gbWFya2llcnQuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwODUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTExMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBodW5rIGVkaXQgZmlsZSBmb3Igd3JpdGluZzogJXMiCiBtc2dzdHIgIiIKICJGZWhsZXIgYmVpbSDDlmZmbmVuIHZvbiBFZGl0aWVyLURhdGVpIGVpbmVzIFBhdGNoLUJsb2NrcyB6dW0gU2NocmVpYmVuOiAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDg2Ci1tc2dpZCAiTWFudWFsIGh1bmsgZWRpdCBtb2RlIC0tIHNlZSBib3R0b20gZm9yIGEgcXVpY2sgZ3VpZGUuXG4iCi1tc2dzdHIgIiIKLSJNYW51ZWxsZXIgRWRpdGllcm1vZHVzIGbDvHIgUGF0Y2gtQmzDtmNrZSAtLSBzaWVoZSBuYWNoIHVudGVuIGbDvHIgZWluZVxuIgotIkt1cnphbmxlaXR1bmcuXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA5MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICItLS1cbiIKQEAgLTIwODEyLDM3ICsyNDA0NiwxMiBAQAogIlVtICclcycgWmVpbGVuIHp1IGVudGZlcm5lbiwgbMO2c2NoZW4gU2llIGRpZXNlLlxuIgogIlplaWxlbiwgZGllIG1pdCAlcyBiZWdpbm5lbiwgd2VyZGVuIGVudGZlcm50LlxuIgogCi0jLiBUUkFOU0xBVE9SUzogJ2l0JyByZWZlcnMgdG8gdGhlIHBhdGNoIG1lbnRpb25lZCBpbiB0aGUgcHJldmlvdXMgbWVzc2FnZXMuCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMDAKLW1zZ2lkICIiCi0iSWYgaXQgZG9lcyBub3QgYXBwbHkgY2xlYW5seSwgeW91IHdpbGwgYmUgZ2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG9cbiIKLSJlZGl0IGFnYWluLiAgSWYgYWxsIGxpbmVzIG9mIHRoZSBodW5rIGFyZSByZW1vdmVkLCB0aGVuIHRoZSBlZGl0IGlzXG4iCi0iYWJvcnRlZCBhbmQgdGhlIGh1bmsgaXMgbGVmdCB1bmNoYW5nZWQuXG4iCi1tc2dzdHIgIiIKLSJXZW5uIGRhcyBuaWNodCBzYXViZXIgYW5nZXdlbmRldCB3ZXJkZW4ga2FubiwgaGFiZW4gU2llIGRpZSBNw7ZnbGljaGtlaXRcbiIKLSJlaW5lciBlcm5ldXRlbiBCZWFyYmVpdHVuZy4gV2VubiBhbGxlIFplaWxlbiBkZXMgUGF0Y2gtQmxvY2tzIGVudGZlcm50ICIKLSJ3ZXJkZW4sXG4iCi0id2lyZCBkaWUgQmVhcmJlaXR1bmcgYWJnZWJyb2NoZW4gdW5kIGRlciBQYXRjaC1CbG9jayBibGVpYnQgdW52ZXLDpG5kZXJ0LlxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE0MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBodW5rIGVkaXQgZmlsZSBmb3IgcmVhZGluZzogJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIMOWZmZuZW4gdm9uIEVkaXRpZXItRGF0ZWkgZWluZXMgUGF0Y2gtQmxvY2tzIHp1bSBMZXNlbjogJXMiCiAKLSMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIFt5L25dCi0jLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IHRoYXQgaW5wdXQKLSMuIGF0IHRoaXMgcG9pbnQuCi0jLiBDb25zaWRlciB0cmFuc2xhdGluZyAoc2F5aW5nICJubyIgZGlzY2FyZHMhKSBhcwotIy4gKHNheWluZyAibiIgZm9yICJubyIgZGlzY2FyZHMhKSBpZiB0aGUgdHJhbnNsYXRpb24KLSMuIG9mIHRoZSB3b3JkICJubyIgZG9lcyBub3Qgc3RhcnQgd2l0aCBuLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjEzCi1tc2dpZCAiIgotIllvdXIgZWRpdGVkIGh1bmsgZG9lcyBub3QgYXBwbHkuIEVkaXQgYWdhaW4gKHNheWluZyBcIm5vXCIgZGlzY2FyZHMhKSBbeS9uXT8gIgotbXNnc3RyICIiCi0iSWhyIGJlYXJiZWl0ZXRlciBQYXRjaC1CbG9jayBrYW5uIG5pY2h0IGFuZ2V3ZW5kZXQgd2VyZGVuLlxuIgotIkVybmV1dCBiZWFyYmVpdGVuPyAoXCJuXCIgdmVyd2lyZnQgQmVhcmJlaXR1bmchKSBbeS9uXT8iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQ4CiBtc2dpZCAiIgogInkgLSBzdGFnZSB0aGlzIGh1bmtcbiIKICJuIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVua1xuIgpAQCAtMjA4NTgsNyArMjQwNjcsNyBAQAogImQgLSBkaWVzZW4gb2RlciBhbGxlIHdlaXRlcmVuIFBhdGNoLUJsw7Zja2UgaW4gZGllc2VyIERhdGVpIG5pY2h0IHp1bSBDb21taXQgIgogInZvcm1lcmtlbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjI4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNTQKIG1zZ2lkICIiCiAieSAtIHN0YXNoIHRoaXMgaHVua1xuIgogIm4gLSBkbyBub3Qgc3Rhc2ggdGhpcyBodW5rXG4iCkBAIC0yMDg3Miw3ICsyNDA4MSw3IEBACiAiYSAtIGRpZXNlbiB1bmQgYWxsZSB3ZWl0ZXJlbiBQYXRjaC1CbMO2Y2tlIGRpZXNlciBEYXRlaSBzdGFzaGVuXG4iCiAiZCAtIGRpZXNlbiBvZGVyIGFsbGUgd2VpdGVyZW4gUGF0Y2gtQmzDtmNrZSBkaWVzZXIgRGF0ZWkgbmljaHQgc3Rhc2hlbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjM0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNjAKIG1zZ2lkICIiCiAieSAtIHVuc3RhZ2UgdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCB1bnN0YWdlIHRoaXMgaHVua1xuIgpAQCAtMjA4ODYsNyArMjQwOTUsNyBAQAogImEgLSBkaWVzZW4gdW5kIGFsbGUgd2VpdGVyZW4gUGF0Y2gtQmzDtmNrZSBkaWVzZXIgRGF0ZWkgdW5zdGFzaGVuXG4iCiAiZCAtIGRpZXNlbiBvZGVyIGFsbGUgd2VpdGVyZW4gUGF0Y2gtQmzDtmNrZSBkaWVzZXIgRGF0ZWkgbmljaHQgdW5zdGFzaGVuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI2NgogbXNnaWQgIiIKICJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4XG4iCiAibiAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXhcbiIKQEAgLTIwOTAzLDcgKzI0MTEyLDcgQEAKICJkIC0gZGllc2VuIG9kZXIgYWxsZSB3ZWl0ZXJlbiBQYXRjaC1CbMO2Y2tlIGRpZXNlciBEYXRlaSBuaWNodCBhdWYgZGVuIEluZGV4ICIKICJhbndlbmRlbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQ2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjkwCiBtc2dpZCAiIgogInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCkBAIC0yMDkyMCw3ICsyNDEyOSw3IEBACiAiZCAtIGRpZXNlbiBvZGVyIGFsbGUgd2VpdGVyZW4gUGF0Y2gtQmzDtmNrZSBkaWVzZXIgRGF0ZWkgbmljaHQgaW0gIgogIkFyYmVpdHN2ZXJ6ZWljaG5pcyB2ZXJ3ZXJmZW4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI1MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjc4CiBtc2dpZCAiIgogInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWVcbiIKQEAgLTIwOTM1LDcgKzI0MTQ0LDcgQEAKICJhIC0gZGllc2VuIHVuZCBhbGxlIHdlaXRlcmVuIFBhdGNoLUJsw7Zja2UgaW4gZGVyIERhdGVpIHZlcndlcmZlblxuIgogImQgLSBkaWVzZW4gb2RlciBhbGxlIHdlaXRlcmVuIFBhdGNoLUJsw7Zja2UgaW4gZGVyIERhdGVpIG5pY2h0IHZlcndlcmZlbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjU4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyODQKIG1zZ2lkICIiCiAieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKICJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKQEAgLTIwOTQ5LDcgKzI0MTU4LDIxIEBACiAiYSAtIGRpZXNlbiB1bmQgYWxsZSB3ZWl0ZXJlbiBQYXRjaC1CbMO2Y2tlIGluIGRlciBEYXRlaSBhbndlbmRlblxuIgogImQgLSBkaWVzZW4gb2RlciBhbGxlIHdlaXRlcmVuIFBhdGNoLUJsw7Zja2UgaW4gZGVyIERhdGVpIG5pY2h0IGFud2VuZGVuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI5NgorbXNnaWQgIiIKKyJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIHdvcmt0cmVlXG4iCisibiAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgdG8gd29ya3RyZWVcbiIKKyJxIC0gcXVpdDsgZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIGFwcGx5IHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisiZCAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAiIgorInkgLSBkaWVzZW4gUGF0Y2gtQmxvY2sgYXVmIGRhcyBBcmJlaXRzdmVyemVpY2huaXMgYW53ZW5kZW5cbiIKKyJuIC0gZGllc2VuIFBhdGNoLUJsb2NrIG5pY2h0IGF1ZiBkYXMgQXJiZWl0c3ZlcnplaWNobmlzIGFud2VuZGVuXG4iCisicSAtIEJlZW5kZW47IGRpZXNlbiB1bmQgYWxsZSB2ZXJibGVpYmVuZGVuIFBhdGNoLUJsw7Zja2UgbmljaHQgYW53ZW5kZW5cbiIKKyJhIC0gZGllc2VuIHVuZCBhbGxlIHdlaXRlcmVuIFBhdGNoLUJsw7Zja2UgaW4gZGVyIERhdGVpIGFud2VuZGVuXG4iCisiZCAtIGRpZXNlbiB1bmQgYWxsZSB3ZWl0ZXJlbiBQYXRjaC1CbMO2Y2tlIGluIGRlciBEYXRlaSBuaWNodCBhbndlbmRlbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzExCiBtc2dpZCAiIgogImcgLSBzZWxlY3QgYSBodW5rIHRvIGdvIHRvXG4iCiAiLyAtIHNlYXJjaCBmb3IgYSBodW5rIG1hdGNoaW5nIHRoZSBnaXZlbiByZWdleFxuIgpAQCAtMjA5NjIsNyArMjQxODUsNyBAQAogIj8gLSBwcmludCBoZWxwXG4iCiBtc2dzdHIgIiIKICJnIC0gUGF0Y2gtQmxvY2sgenVtIEhpbnNwcmluZ2VuIGF1c3fDpGhsZW5cbiIKLSIvIC0gbmFjaCBQYXRjaC1CbG9jayBzdWNoZW4gZGVyIGdlZ2ViZW5lbSByZWd1bMOkcmVtIEF1c2RydWNrIGVudHNwcmljaHRcbiIKKyIvIC0gbmFjaCBQYXRjaC1CbG9jayBzdWNoZW4sIGRlciBnZWdlYmVuZW0gcmVndWzDpHJlbSBBdXNkcnVjayBlbnRzcHJpY2h0XG4iCiAiaiAtIGRpZXNlbiBQYXRjaC1CbG9jayB1bmJlc3RpbW10IGxhc3NlbiwgbsOkY2hzdGVuIHVuYmVzdGltbXRlbiBQYXRjaC1CbG9jayAiCiAiYW56ZWlnZW5cbiIKICJKIC0gZGllc2VuIFBhdGNoLUJsb2NrIHVuYmVzdGltbXQgbGFzc2VuLCBuw6RjaHN0ZW4gUGF0Y2gtQmxvY2sgYW56ZWlnZW5cbiIKQEAgLTIwOTczLDIxOCArMjQxOTYsMjA2IEBACiAiZSAtIGFrdHVlbGxlbiBQYXRjaC1CbG9jayBtYW51ZWxsIGVkaXRpZXJlblxuIgogIj8gLSBIaWxmZSBhbnplaWdlblxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMDQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM0MgogbXNnaWQgIlRoZSBzZWxlY3RlZCBodW5rcyBkbyBub3QgYXBwbHkgdG8gdGhlIGluZGV4IVxuIgogbXNnc3RyICIiCiAiRGllIGF1c2dld8OkaGx0ZW4gUGF0Y2gtQmzDtmNrZSBrw7ZubmVuIG5pY2h0IGF1ZiBkZW4gSW5kZXggYW5nZXdlbmRldCB3ZXJkZW4hXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzQzCiBtc2dpZCAiQXBwbHkgdGhlbSB0byB0aGUgd29ya3RyZWUgYW55d2F5PyAiCiBtc2dzdHIgIlRyb3R6ZGVtIGF1ZiBBcmJlaXRzdmVyemVpY2huaXMgYW53ZW5kZW4/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNDYKIG1zZ2lkICJOb3RoaW5nIHdhcyBhcHBsaWVkLlxuIgogbXNnc3RyICJOaWNodHMgYW5nZXdlbmRldC5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzE5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNTcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdW5tZXJnZWQ6ICVzXG4iCiBtc2dzdHIgImlnbm9yaWVyZSBuaWNodCB6dXNhbW1lbmdlZsO8aHJ0ZSBEYXRlaTogJXNcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI4Ci1tc2dpZCAiT25seSBiaW5hcnkgZmlsZXMgY2hhbmdlZC5cbiIKLW1zZ3N0ciAiTnVyIEJpbsOkcmRhdGVpZW4gZ2XDpG5kZXJ0LlxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzAKLW1zZ2lkICJObyBjaGFuZ2VzLlxuIgotbXNnc3RyICJLZWluZSDDhG5kZXJ1bmdlbi5cbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzM4Ci1tc2dpZCAiUGF0Y2ggdXBkYXRlIgotbXNnc3RyICJQYXRjaCBBa3R1YWxpc2llcnVuZyIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzkwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MjgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3RhZ2UgbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIk1vZHVzw6RuZGVydW5nIGRlciBTdGFnaW5nLUFyZWEgaGluenVmw7xnZW4gW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDI5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJMw7ZzY2h1bmcgZGVyIFN0YWdpbmctQXJlYSBoaW56dWbDvGdlbiBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzkyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJEaWVzZW4gUGF0Y2gtQmxvY2sgZGVyIFN0YWdpbmctQXJlYSBoaW56dWbDvGdlbiBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzk1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3Rhc2ggbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIk1vZHVzw6RuZGVydW5nIHN0YXNoZW4gW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDM0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIGRlbGV0aW9uIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJMw7ZzY2h1bmcgc3Rhc2hlbiBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzk3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3Rhc2ggdGhpcyBodW5rIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJEaWVzZW4gUGF0Y2gtQmxvY2sgc3Rhc2hlbiBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDAwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5zdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiTW9kdXPDpG5kZXJ1bmcgYXVzIGRlciBTdGFnaW5nLUFyZWEgZW50ZmVybmVuIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MDEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzOQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJMw7ZzY2h1bmcgYXVzIGRlciBTdGFnaW5nLUFyZWEgZW50ZmVybmVuIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MDIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiRGllc2VuIFBhdGNoLUJsb2NrIGF1cyBkZXIgU3RhZ2luZy1BcmVhIGVudGZlcm5lbiBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDA1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gaW5kZXggW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIk1vZHVzw6RuZGVydW5nIGF1ZiBJbmRleCBhbndlbmRlbiBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgZGVsZXRpb24gdG8gaW5kZXggW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIkzDtnNjaHVuZyBhdWYgSW5kZXggYW53ZW5kZW4gW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwNworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQ1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiRGllc2VuIFBhdGNoLUJsb2NrIGF1ZiBJbmRleCBhbndlbmRlbiBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDEwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDYzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgbW9kZSBjaGFuZ2UgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiTW9kdXPDpG5kZXJ1bmcgaW0gQXJiZWl0c3ZlcnplaWNobmlzIHZlcndlcmZlbiBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDExCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiTMO2c2NodW5nIGltIEFyYmVpdHN2ZXJ6ZWljaG5pcyB2ZXJ3ZXJmZW4gW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDUwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJEaWVzZW4gUGF0Y2gtQmxvY2sgaW0gQXJiZWl0c3ZlcnplaWNobmlzIHZlcndlcmZlbiBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDE1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBtb2RlIGNoYW5nZSBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiIgogIk1vZHVzw6RuZGVydW5nIHZvbSBJbmRleCB1bmQgQXJiZWl0c3ZlcnplaWNobmlzIHZlcndlcmZlbiBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDE2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBkZWxldGlvbiBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiTMO2c2NodW5nIHZvbSBJbmRleCB1bmQgQXJiZWl0c3ZlcnplaWNobmlzIHZlcndlcmZlbiBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDE3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIiIKICJEaWVzZW4gUGF0Y2gtQmxvY2sgdm9tIEluZGV4IHVuZCBBcmJlaXRzdmVyemVpY2huaXMgdmVyd2VyZmVuIFt5LG4scSxhLGQiCiAiJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDIwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICIiCiAiTW9kdXPDpG5kZXJ1bmcgYXVmIEluZGV4IHVuZCBBcmJlaXRzdmVyemVpY2huaXMgYW53ZW5kZW4gW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyMQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiTMO2c2NodW5nIGF1ZiBJbmRleCB1bmQgQXJiZWl0c3ZlcnplaWNobmlzIGFud2VuZGVuIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MjIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICIiCiAiRGllc2VuIFBhdGNoLUJsb2NrIGF1ZiBJbmRleCB1bmQgQXJiZWl0c3ZlcnplaWNobmlzIGFud2VuZGVuIFt5LG4scSxhLGQiCiAiJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTIyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIk1vZHVzw6RuZGVydW5nIGF1ZiBBcmJlaXRzdmVyemVpY2huaXMgYW53ZW5kZW4gW3ksbixxLGEsZCVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2OQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSBkZWxldGlvbiB0byB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiTMO2c2NodW5nIGF1ZiBBcmJlaXRzdmVyemVpY2huaXMgYW53ZW5kZW4gW3ksbixxLGEsZCVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ3MAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIiIKKyJEaWVzZW4gUGF0Y2gtQmxvY2sgYXVmIGRhcyBBcmJlaXRzdmVyemVpY2huaXMgYW53ZW5kZW4gW3ksbixxLGEsZCVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3MAogbXNnaWQgIk5vIG90aGVyIGh1bmtzIHRvIGdvdG9cbiIKIG1zZ3N0ciAiS2VpbmUgYW5kZXJlbiBQYXRjaC1CbMO2Y2tlIHZlcmJsZWliZW5kXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUyOQotbXNnaWQgImdvIHRvIHdoaWNoIGh1bmsgKDxyZXQ+IHRvIHNlZSBtb3JlKT8gIgotbXNnc3RyICJ6dSB3ZWxjaGVtIFBhdGNoLUJsb2NrIHNwcmluZ2VuICg8RW50ZXI+IGbDvHIgbWVociBJbmZvcm1hdGlvbmVuKT8gIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MzEKLW1zZ2lkICJnbyB0byB3aGljaCBodW5rPyAiCi1tc2dzdHIgInp1IHdlbGNoZW0gUGF0Y2gtQmxvY2sgc3ByaW5nZW4/ICIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTQwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1ODgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBudW1iZXI6ICclcydcbiIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBOdW1tZXI6ICclcydcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTQ1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1OTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU29ycnksIG9ubHkgJWQgaHVuayBhdmFpbGFibGUuXG4iCiBtc2dpZF9wbHVyYWwgIlNvcnJ5LCBvbmx5ICVkIGh1bmtzIGF2YWlsYWJsZS5cbiIKIG1zZ3N0clswXSAiRW50c2NodWxkaWd1bmcsIG51ciAlZCBQYXRjaC1CbG9jayB2ZXJmw7xnYmFyLlxuIgogbXNnc3RyWzFdICJFbnRzY2h1bGRpZ3VuZywgbnVyICVkIFBhdGNoLUJsw7Zja2UgdmVyZsO8Z2Jhci5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTcxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTkKIG1zZ2lkICJObyBvdGhlciBodW5rcyB0byBzZWFyY2hcbiIKIG1zZ3N0ciAiS2VpbmUgYW5kZXJlbiBQYXRjaC1CbMO2Y2tlIHp1bSBEdXJjaHN1Y2hlblxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzUKLW1zZ2lkICJzZWFyY2ggZm9yIHJlZ2V4PyAiCi1tc2dzdHIgIlN1Y2hlIG5hY2ggcmVndWzDpHJlbSBBdXNkcnVjaz8gIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1ODgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYzNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgc2VhcmNoIHJlZ2V4cCAlczogJXNcbiIKIG1zZ3N0ciAiRmVobGVyaGFmdGVyIHJlZ3Vsw6RyZXIgQXVzZHJ1Y2sgZsO8ciBTdWNoZSAlczogJXNcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTk4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NDYKIG1zZ2lkICJObyBodW5rIG1hdGNoZXMgdGhlIGdpdmVuIHBhdHRlcm5cbiIKIG1zZ3N0ciAiS2VpbiBQYXRjaC1CbG9jayBlbnRzcHJpY2h0IGRlbSBhbmdlZ2ViZW5lbiBNdXN0ZXJcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjEwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYzMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjU4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY4MAogbXNnaWQgIk5vIHByZXZpb3VzIGh1bmtcbiIKIG1zZ3N0ciAiS2VpbiB2b3JoZXJpZ2VyIFBhdGNoLUJsb2NrXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYxOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MzgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2ODYKIG1zZ2lkICJObyBuZXh0IGh1bmtcbiIKIG1zZ3N0ciAiS2VpbiBmb2xnZW5kZXIgUGF0Y2gtQmxvY2tcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQ0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTIKIG1zZ2lkICJTb3JyeSwgY2Fubm90IHNwbGl0IHRoaXMgaHVua1xuIgogbXNnc3RyICJFbnRzY2h1bGRpZ3VuZywga2FubiBkaWVzZW4gUGF0Y2gtQmxvY2sgbmljaHQgYXVmdGVpbGVuLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY5OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTcGxpdCBpbnRvICVkIGh1bmsuXG4iCiBtc2dpZF9wbHVyYWwgIlNwbGl0IGludG8gJWQgaHVua3MuXG4iCiBtc2dzdHJbMF0gIkluICVkIFBhdGNoLUJsb2NrIGF1ZmdldGVpbHQuXG4iCiBtc2dzdHJbMV0gIkluICVkIFBhdGNoLUJsw7Zja2UgYXVmZ2V0ZWlsdC5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjYwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDgKIG1zZ2lkICJTb3JyeSwgY2Fubm90IGVkaXQgdGhpcyBodW5rXG4iCiBtc2dzdHIgIkVudHNjaHVsZGlndW5nLCBrYW5uIGRpZXNlbiBQYXRjaC1CbG9jayBuaWNodCBiZWFyYmVpdGVuLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDYKLW1zZ2lkICJSZXZpZXcgZGlmZiIKLW1zZ3N0ciAiRGlmZiDDvGJlcnByw7xmZW4iCi0KICMuIFRSQU5TTEFUT1JTOiBwbGVhc2UgZG8gbm90IHRyYW5zbGF0ZSB0aGUgY29tbWFuZCBuYW1lcwogIy4gJ3N0YXR1cycsICd1cGRhdGUnLCAncmV2ZXJ0JywgZXRjLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzI1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NzMKIG1zZ2lkICIiCiAic3RhdHVzICAgICAgICAtIHNob3cgcGF0aHMgd2l0aCBjaGFuZ2VzXG4iCiAidXBkYXRlICAgICAgICAtIGFkZCB3b3JraW5nIHRyZWUgc3RhdGUgdG8gdGhlIHN0YWdlZCBzZXQgb2YgY2hhbmdlc1xuIgpAQCAtMjEyMDMsMTggKzI0NDE0LDE5IEBACiAiZGlmZiAgICAgICAgICAtIFVudGVyc2NoaWVkZSB6d2lzY2hlbiBIRUFEIHVuZCBJbmRleCBhbnplaWdlblxuIgogImFkZCB1bnRyYWNrZWQgLSBJbmhhbHRlIHZvbiB1bnZlcnNpb25pZXJ0ZW4gRGF0ZWllbiB6dW0gQ29tbWl0IHZvcm1lcmtlblxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzQ3Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NTAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzU3Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzY3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3OTAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzk1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3OTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODA1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MDggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODE1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODI1CiBtc2dpZCAibWlzc2luZyAtLSIKIG1zZ3N0ciAiLS0gZmVobHQiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODIxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInVua25vd24gLS1wYXRjaCBtb2RlOiAlcyIKIG1zZ3N0ciAiVW5iZWthbm50ZXIgLS1wYXRjaCBNb2R1czogJXMiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NzUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyNyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MzMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCAlcywgZXhwZWN0aW5nIC0tIgogbXNnc3RyICJ1bmfDvGx0aWdlcyBBcmd1bWVudCAlcywgZXJ3YXJ0ZSAtLSIKQEAgLTIxMjI4LDMyICsyNDQ0MCwzMiBAQAogbXNnaWQgImxvY2FsIHRpbWUgb2Zmc2V0IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAyNCBob3Vyc1xuIgogbXNnc3RyICJsb2thbGVyIFplaXQtT2Zmc2V0IGdyw7bDn2VyIG9kZXIgZ2xlaWNoIDI0IFN0dW5kZW5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoyMTkgZ2l0LXNlbmQtZW1haWwucGVybDoyMjUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjIzIGdpdC1zZW5kLWVtYWlsLnBlcmw6MjI5CiBtc2dpZCAidGhlIGVkaXRvciBleGl0ZWQgdW5jbGVhbmx5LCBhYm9ydGluZyBldmVyeXRoaW5nIgogbXNnc3RyICJEZXIgRWRpdG9yIHd1cmRlIHVuc2F1YmVyIGJlZW5kZXQsIGJyZWNoZSBhbGxlcyBhYi4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzAyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMxMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBjb250YWlucyBhbiBpbnRlcm1lZGlhdGUgdmVyc2lvbiBvZiB0aGUgZW1haWwgeW91IHdlcmUgY29tcG9zaW5nLlxuIgogbXNnc3RyICIiCiAiJyVzJyBlbnRow6RsdCBlaW5lIFp3aXNjaGVudmVyc2lvbiBkZXIgRS1NYWlsLCBkaWUgU2llIGdlcmFkZSB2ZXJmYXNzZW4uXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzA3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMxNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICInJXMuZmluYWwnIGNvbnRhaW5zIHRoZSBjb21wb3NlZCBlbWFpbC5cbiIKIG1zZ3N0ciAiJyVzLmZpbmFsJyBlbnRow6RsdCBkaWUgdmVyZmFzc3RlIEUtTWFpbC5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDozMjYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDA4CiBtc2dpZCAiLS1kdW1wLWFsaWFzZXMgaW5jb21wYXRpYmxlIHdpdGggb3RoZXIgb3B0aW9uc1xuIgogbXNnc3RyICItLWR1bXAtYWxpYXNlcyBpc3QgbWl0IGFuZGVyZW4gT3B0aW9uZW4gaW5rb21wYXRpYmVsXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mzk1IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjUwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ4MSBnaXQtc2VuZC1lbWFpbC5wZXJsOjY4MwogbXNnaWQgIkNhbm5vdCBydW4gZ2l0IGZvcm1hdC1wYXRjaCBmcm9tIG91dHNpZGUgYSByZXBvc2l0b3J5XG4iCiBtc2dzdHIgIiIKICJLYW5uICdnaXQgZm9ybWF0LXBhdGNoJyBuaWNodCBhdcOfZXJoYWxiIGVpbmVzIFJlcG9zaXRvcmllcyBhdXNmw7xocmVuLlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjM5OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo0ODQKIG1zZ2lkICIiCiAiYGJhdGNoLXNpemVgIGFuZCBgcmVsb2dpbmAgbXVzdCBiZSBzcGVjaWZpZWQgdG9nZXRoZXIgKHZpYSBjb21tYW5kLWxpbmUgb3IgIgogImNvbmZpZ3VyYXRpb24gb3B0aW9uKVxuIgpAQCAtMjEyNjIsMzcgKzI0NDc0LDM4IEBACiAiS29tbWFuZG96ZWlsZVxuIgogIm9kZXIgS29uZmlndXJhdGlvbnNvcHRpb24pXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDY4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ5NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbmtub3duIC0tc3VwcHJlc3MtY2MgZmllbGQ6ICclcydcbiIKIG1zZ3N0ciAiVW5iZWthbm50ZXMgLS1zdXBwcmVzcy1jYyBGZWxkOiAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDk3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUyOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbmtub3duIC0tY29uZmlybSBzZXR0aW5nOiAnJXMnXG4iCiBtc2dzdHIgIlVuYmVrYW5udGUgLS1jb25maXJtIEVpbnN0ZWxsdW5nOiAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTI1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU1NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBhbGlhcyB3aXRoIHF1b3RlcyBpcyBub3Qgc3VwcG9ydGVkOiAlc1xuIgotbXNnc3RyICJXYXJudW5nOiBzZW5kZW1haWwtQWxpYXMgbWl0IEFuZsO8aHJ1bmdzemVpY2hlbiB3aXJkIG5pY2h0IHVudGVyc3TDvHR6dDogJXNcbiIKK21zZ3N0ciAiIgorIldhcm51bmc6IHNlbmRlbWFpbC1BbGlhcyBtaXQgQW5mw7xocnVuZ3N6ZWljaGVuIHdpcmQgbmljaHQgdW50ZXJzdMO8dHp0OiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUyNworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1NTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogYDppbmNsdWRlOmAgbm90IHN1cHBvcnRlZDogJXNcbiIKIG1zZ3N0ciAiV2FybnVuZzogYDppbmNsdWRlOmAgd2lyZCBuaWNodCB1bnRlcnN0w7x0enQ6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTI5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU2MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBgL2ZpbGVgIG9yIGB8cGlwZWAgcmVkaXJlY3Rpb24gbm90IHN1cHBvcnRlZDogJXNcbiIKIG1zZ3N0ciAiV2FybnVuZzogYC9maWxlYCBvZGVyIGB8cGlwZWAgVW1sZWl0dW5nIHdpcmQgbmljaHQgdW50ZXJzdMO8dHp0OiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUzNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo1NjUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogc2VuZG1haWwgbGluZSBpcyBub3QgcmVjb2duaXplZDogJXNcbiIKIG1zZ3N0ciAiV2FybnVuZzogc2VuZG1haWwgWmVpbGUgd2lyZCBuaWNodCBlcmthbm50OiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYxNgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NDkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIkZpbGUgJyVzJyBleGlzdHMgYnV0IGl0IGNvdWxkIGFsc28gYmUgdGhlIHJhbmdlIG9mIGNvbW1pdHNcbiIKQEAgLTIxMzA5LDEyICsyNDUyMiwxMiBAQAogIiAgICAqIGRpZSBPcHRpb24gLS1mb3JtYXQtcGF0Y2ggYW5nZWJlbiwgd2VubiBTaWUgZWluZW4gQ29tbWl0LUJlcmVpY2ggIgogIm1laW5lblxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYzNworIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NzAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG9wZW5kaXIgJXM6ICVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSDDlmZmbmVuIHZvbiAlczogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjYxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY5NAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiZmF0YWw6ICVzOiAlc1xuIgpAQCAtMjEzMjMsNyArMjQ1MzYsNyBAQAogImZhdGFsOiAlczogJXNcbiIKICJXYXJudW5nOiBFcyB3dXJkZW4ga2VpbmUgUGF0Y2hlcyB2ZXJzZW5kZXQuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjcyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcwNQogbXNnaWQgIiIKICJcbiIKICJObyBwYXRjaCBmaWxlcyBzcGVjaWZpZWQhXG4iCkBAIC0yMTMzMywxNyArMjQ1NDYsMTcgQEAKICJrZWluZSBQYXRjaC1EYXRlaWVuIGFuZ2VnZWJlbiFcbiIKICJcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2ODUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIk5vIHN1YmplY3QgbGluZSBpbiAlcz8iCiBtc2dzdHIgIktlaW5lIEJldHJlZmZ6ZWlsZSBpbiAlcz8iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njk1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcyOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiBmb3Igd3JpdGluZyAlczogJXMiCiBtc2dzdHIgIkZlaGxlciBiZWltIMOWZmZuZW4gdm9uICclcycgenVtIFNjaHJlaWJlbjogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzA2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjczOQogbXNnaWQgIiIKICJMaW5lcyBiZWdpbm5pbmcgaW4gXCJHSVQ6XCIgd2lsbCBiZSByZW1vdmVkLlxuIgogIkNvbnNpZGVyIGluY2x1ZGluZyBhbiBvdmVyYWxsIGRpZmZzdGF0IG9yIHRhYmxlIG9mIGNvbnRlbnRzXG4iCkBAIC0yMTM1OCwyNyArMjQ1NzEsMjcgQEAKICJMZWVyZW4gU2llIGRlbiBJbmhhbHQgZGVzIEJvZHlzLCB3ZW5uIFNpZSBrZWluZSBadXNhbW1lbmZhc3N1bmcgc2VuZGVuICIKICJtw7ZjaHRlbi5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MzAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzYzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzOiAlcyIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gw5ZmZm5lbiB2b24gJXM6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc0NworIzogZ2l0LXNlbmQtZW1haWwucGVybDo3ODAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMuZmluYWw6ICVzIgogbXNnc3RyICJGZWhsZXIgYmVpbSDDlmZmbmVuIHZvbiAlcy5maW5hbDogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzkwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgyMwogbXNnaWQgIlN1bW1hcnkgZW1haWwgaXMgZW1wdHksIHNraXBwaW5nIGl0XG4iCiBtc2dzdHIgIkUtTWFpbCBtaXQgWnVzYW1tZW5mYXNzdW5nIGlzdCBsZWVyLCB3aXJkIGF1c2dlbGFzc2VuXG4iCiAKICMuIFRSQU5TTEFUT1JTOiBwbGVhc2Uga2VlcCBbeS9OXSBhcyBpcy4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODI1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg1OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdXNlIDwlcz4gW3kvTl0/ICIKIG1zZ3N0ciAiU2luZCBTaWUgc2ljaCBzaWNoZXIsIDwlcz4genUgYmVudXR6ZW4gW3kvTl0/ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4ODAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTEzCiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgZmlsZXMgYXJlIDhiaXQsIGJ1dCBkbyBub3QgZGVjbGFyZSBhIENvbnRlbnQtVHJhbnNmZXItIgogIkVuY29kaW5nLlxuIgpAQCAtMjEzODYsMTEgKzI0NTk5LDExIEBACiAiRGllIGZvbGdlbmRlbiBEYXRlaWVuIHNpbmQgOC1CaXQsIGFiZXIgZGVrbGFyaWVyZW4ga2VpblxuIgogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2RpbmcuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODg1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkxOAogbXNnaWQgIldoaWNoIDhiaXQgZW5jb2Rpbmcgc2hvdWxkIEkgZGVjbGFyZSBbVVRGLThdPyAiCiBtc2dzdHIgIldlbGNoZXMgOC1CaXQtRW5jb2Rpbmcgc29sbCBkZWtsYXJpZXJ0IHdlcmRlbiBbVVRGLThdPyAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODkzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkyNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiUmVmdXNpbmcgdG8gc2VuZCBiZWNhdXNlIHRoZSBwYXRjaFxuIgpAQCAtMjE0MDQsMjIgKzI0NjE3LDIyIEBACiAiYW4sXG4iCiAid2VubiBTaWUgZGVuIFBhdGNoIHdpcmtsaWNoIHZlcnNlbmRlbiB3b2xsZW4uXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTEyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjk0NQogbXNnaWQgIlRvIHdob20gc2hvdWxkIHRoZSBlbWFpbHMgYmUgc2VudCAoaWYgYW55b25lKT8iCiBtc2dzdHIgIkFuIHdlbiBzb2xsZW4gZGllIEUtTWFpbHMgdmVyc2VuZGV0IHdlcmRlbiAod2VubiDDvGJlcmhhdXB0IGplbWFuZCk/IgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkzMAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo5NjMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZmF0YWw6IGFsaWFzICclcycgZXhwYW5kcyB0byBpdHNlbGZcbiIKIG1zZ3N0ciAiZmF0YWw6IEFsaWFzICclcycgZXJ3ZWl0ZXJ0IHNpY2ggenUgc2ljaCBzZWxic3RcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5NDIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTc1CiBtc2dpZCAiTWVzc2FnZS1JRCB0byBiZSB1c2VkIGFzIEluLVJlcGx5LVRvIGZvciB0aGUgZmlyc3QgZW1haWwgKGlmIGFueSk/ICIKIG1zZ3N0ciAiIgogIk1lc3NhZ2UtSUQgenVyIFZlcndlbmR1bmcgYWxzIEluLVJlcGx5LVRvIGbDvHIgZGllIGVyc3RlIEUtTWFpbCAod2VubiBlaW5lICIKICJleGlzdGllcnQpPyAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTAwMCBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwMDgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTAzMyBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwNDEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZXJyb3I6IHVuYWJsZSB0byBleHRyYWN0IGEgdmFsaWQgYWRkcmVzcyBmcm9tOiAlc1xuIgogbXNnc3RyICJGZWhsZXI6IGtvbm50ZSBrZWluZSBnw7xsdGlnZSBBZHJlc3NlIGF1cyAlcyBleHRyYWhpZXJlblxuIgpAQCAtMjE0MjcsMTggKzI0NjQwLDE4IEBACiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3FdIFtkXSBbZV0gaW4geW91cgogIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAogIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTAxMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDQ1CiBtc2dpZCAiV2hhdCB0byBkbyB3aXRoIHRoaXMgYWRkcmVzcz8gKFtxXXVpdHxbZF1yb3B8W2VdZGl0KTogIgogbXNnc3RyICIiCiAiV2FzIHNvbGwgbWl0IGRpZXNlciBBZHJlc3NlIGdlc2NoZWhlbj8gKEJlZW5kZW4gW3FdfEzDtnNjaGVuIFtkXXxCZWFyYmVpdGVuICIKICJbZV0pOiAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzYyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkNBIHBhdGggXCIlc1wiIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJDQSBQZmFkIFwiJXNcIiBleGlzdGllcnQgbmljaHQiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQxMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDQ1CiBtc2dpZCAiIgogIiAgICBUaGUgQ2MgbGlzdCBhYm92ZSBoYXMgYmVlbiBleHBhbmRlZCBieSBhZGRpdGlvbmFsXG4iCiAiICAgIGFkZHJlc3NlcyBmb3VuZCBpbiB0aGUgcGF0Y2ggY29tbWl0IG1lc3NhZ2UuIEJ5IGRlZmF1bHRcbiIKQEAgLTIxNDY3LDUxMyArMjQ2ODAsMjgxIEBACiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3ldIFtuXSBbZV0gW3FdIFthXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDI3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjAKIG1zZ2lkICJTZW5kIHRoaXMgZW1haWw/IChbeV1lc3xbbl1vfFtlXWRpdHxbcV11aXR8W2FdbGwpOiAiCiBtc2dzdHIgIiIKICJEaWVzZSBFLU1haWwgdmVyc2VuZGVuPyAoSmEgW3ldfE5laW4gW25dfEJlYXJiZWl0ZW4gW2VdfEJlZW5kZW4gW3FdfEFsbGUgIgogIlthXSk6ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDMwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjMKIG1zZ2lkICJTZW5kIHRoaXMgZW1haWwgcmVwbHkgcmVxdWlyZWQiCiBtc2dzdHIgIlp1bSBWZXJzZW5kZW4gZGllc2VyIEUtTWFpbCBpc3QgZWluZSBBbnR3b3J0IGVyZm9yZGVybGljaC4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDkxCiBtc2dpZCAiVGhlIHJlcXVpcmVkIFNNVFAgc2VydmVyIGlzIG5vdCBwcm9wZXJseSBkZWZpbmVkLiIKIG1zZ3N0ciAiRGVyIGVyZm9yZGVybGljaGUgU01UUC1TZXJ2ZXIgaXN0IG5pY2h0IGtvcnJla3QgZGVmaW5pZXJ0LiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTA1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MzgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgU1RBUlRUTFMhICVzIgogbXNnc3RyICJTZXJ2ZXIgdW50ZXJzdMO8dHp0IGtlaW4gU1RBUlRUTFMhICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MTAgZ2l0LXNlbmQtZW1haWwucGVybDoxNTE0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDMgZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNUQVJUVExTIGZhaWxlZCEgJXMiCiBtc2dzdHIgIlNUQVJUVExTIGZlaGxnZXNjaGxhZ2VuISAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTIzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NTYKIG1zZ2lkICJVbmFibGUgdG8gaW5pdGlhbGl6ZSBTTVRQIHByb3Blcmx5LiBDaGVjayBjb25maWcgYW5kIHVzZSAtLXNtdHAtZGVidWcuIgogbXNnc3RyICIiCiAiS29ubnRlIFNNVFAgbmljaHQga29ycmVrdCBpbml0aWFsaXNpZXJlbi4gQml0dGUgcHLDvGZlbiBTaWUgSWhyZSAiCiAiS29uZmlndXJhdGlvblxuIgogInVuZCBiZW51dHplbiBTaWUgLS1zbXRwLWRlYnVnLiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHNlbmQgJXNcbiIKIG1zZ3N0ciAiRmVobGVyIGJlaW0gU2VuZGVuICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU0NAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRyeS1TZW50ICVzXG4iCiBtc2dzdHIgIlByb2JldmVyc2FuZCAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZW50ICVzXG4iCiBtc2dzdHIgIiVzIGdlc2VuZGV0XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU0NgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc5CiBtc2dpZCAiRHJ5LU9LLiBMb2cgc2F5czpcbiIKIG1zZ3N0ciAiUHJvYmV2ZXJzYW5kIE9LLiBMb2cgZW50aMOkbHQ6XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU0NgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc5CiBtc2dpZCAiT0suIExvZyBzYXlzOlxuIgogbXNnc3RyICJPSy4gTG9nIGVudGjDpGx0OlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NTgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU5MQogbXNnaWQgIlJlc3VsdDogIgogbXNnc3RyICJFcmdlYm5pczogIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NjEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU5NAogbXNnaWQgIlJlc3VsdDogT0tcbiIKIG1zZ3N0ciAiRXJnZWJuaXM6IE9LXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3OQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjEyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gZmlsZSAlcyIKIG1zZ3N0ciAiS2FubiBEYXRlaSAlcyBuaWNodCDDtmZmbmVuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2MjYgZ2l0LXNlbmQtZW1haWwucGVybDoxNjQ2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NTkgZ2l0LXNlbmQtZW1haWwucGVybDoxNjc5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihtYm94KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihtYm94KSBGw7xnZSBjYzogaGluenU6ICVzIHZvbiBaZWlsZSAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYzMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjY1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihtYm94KSBBZGRpbmcgdG86ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihtYm94KSBGw7xnZSB0bzogaGluenU6ICVzIHZvbiBaZWlsZSAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY4NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihub24tbWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIobm9uLW1ib3gpIEbDvGdlIGNjOiBoaW56dTogJXMgdm9uIFplaWxlICclcydcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzIwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKGJvZHkpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiKGJvZHkpIEbDvGdlIGNjOiBoaW56dTogJXMgdm9uIFplaWxlICclcydcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODMxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NjQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBDb3VsZCBub3QgZXhlY3V0ZSAnJXMnIgogbXNnc3RyICIoJXMpIEtvbm50ZSAnJXMnIG5pY2h0IGF1c2bDvGhyZW4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgzOAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODcxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiglcykgQWRkaW5nICVzOiAlcyBmcm9tOiAnJXMnXG4iCiBtc2dzdHIgIiglcykgRsO8Z2UgJXM6ICVzIGhpbnp1IHZvbjogJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NDIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg3NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoJXMpIGZhaWxlZCB0byBjbG9zZSBwaXBlIHRvICclcyciCiBtc2dzdHIgIiglcykgRmVobGVyIGJlaW0gU2NobGllw59lbiBkZXIgUGlwZSBuYWNoICclcyciCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg3MgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTA1CiBtc2dpZCAiY2Fubm90IHNlbmQgbWVzc2FnZSBhcyA3Yml0IgogbXNnc3RyICJLYW5uIE5hY2hyaWNodCBuaWNodCBhbHMgN2JpdCB2ZXJzZW5kZW4uIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4ODAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTkxMwogbXNnaWQgImludmFsaWQgdHJhbnNmZXIgZW5jb2RpbmciCiBtc2dzdHIgIlVuZ8O8bHRpZ2VzIFRyYW5zZmVyLUVuY29kaW5nIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5MjEgZ2l0LXNlbmQtZW1haWwucGVybDoxOTczIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk4MworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTU0IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjAwNiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwMTYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXM6ICVzXG4iCiBtc2dzdHIgImtvbm50ZSAlcyBuaWNodCDDtmZmbmVuOiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5MjQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk1NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggY29udGFpbnMgYSBsaW5lIGxvbmdlciB0aGFuIDk5OCBjaGFyYWN0ZXJzIgogbXNnc3RyICIlczogUGF0Y2ggZW50aMOkbHQgZWluZSBaZWlsZSwgZGllIGzDpG5nZXIgYWxzIDk5OCBaZWljaGVuIGlzdCIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgJXMgd2l0aCBiYWNrdXAgc3VmZml4ICclcycuXG4iCiBtc2dzdHIgIkxhc3NlICVzIG1pdCBCYWNrdXAtU3VmZml4ICclcycgYXVzLlxuIgogCiAjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGtlZXAgIlt5fE5dIiBhcyBpcy4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk0NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTc4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBzZW5kICVzPyBbeXxOXTogIgogbXNnc3RyICJXb2xsZW4gU2llICVzIHdpcmtsaWNoIHZlcnNlbmRlbj8gW3l8Tl06ICIKIAotI34gbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAnJXMnIChsb29raW5nIGZvciAnJXMnKSIKLSN+IG1zZ3N0ciAiS29ubnRlICclcycgbmljaHQgcGFyc2VuIChiZWkgU3VjaGUgbmFjaCAnJXMnKS4iCisjfiBtc2dpZCAidW5hYmxlIHRvIGdldCB0cmVlIGZvciAlcyIKKyN+IG1zZ3N0ciAiS29ubnRlIFZlcnplaWNobmlzIGbDvHIgJXMgbmljaHQgYmVzdGltbWVuLiIKIAotI34gbXNnaWQgImJhZCBxdW90aW5nIG9uICVzIHZhbHVlIGluICclcyciCi0jfiBtc2dzdHIgIlVuZ8O8bHRpZ2VzIFNldHplbiB2b24gQW5mw7xocnVuZ3N6ZWljaGVuIGJlaSAlcyBXZXJ0IGluICclcyciCisjfiBtc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKKyN+IG1zZ3N0ciAiIgorI34gImVpbmUgZXhwZXJpbWVudGVsbGUgSGV1cmlzdGlrIHp1ciBWZXJiZXNzZXJ1bmcgZGVyIERhcnN0ZWxsdW5nXG4iCisjfiAidm9uIFVudGVyc2NoaWVkZW4gdmVyd2VuZGVuIgogCi0jfiBtc2dpZCAiQ291bGQgbm90IHVuc2V0IGNvcmUud29ya3RyZWUgc2V0dGluZyBpbiBzdWJtb2R1bGUgJyVzJyIKLSN+IG1zZ3N0ciAiS29ubnRlIGNvcmUud29ya3RyZWUgRWluc3RlbGx1bmcgaW4gU3VibW9kdWwgJyVzJyBuaWNodCBhdWZoZWJlbi4iCisjfiBtc2dpZCAiZ2l0IGNvbW1pdC1ncmFwaCBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKKyN+IG1zZ3N0ciAiZ2l0IGNvbW1pdC1ncmFwaCBbLS1vYmplY3QtZGlyIDxPYmpla3R2ZXJ6ZWljaG5pcz5dIgogCi0jfiBtc2dpZCAiZGVwcmVjYXRlZCBzeW5vbnltIGZvciAtLWNyZWF0ZS1yZWZsb2ciCi0jfiBtc2dzdHIgInZlcmFsdGV0ZXMgU3lub255bSBmw7xyIC0tY3JlYXRlLXJlZmxvZyIKKyN+IG1zZ2lkICJnaXQgY29tbWl0LWdyYXBoIHJlYWQgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCisjfiBtc2dzdHIgImdpdCBjb21taXQtZ3JhcGggcmVhZCBbLS1vYmplY3QtZGlyIDxPYmpla3R2ZXJ6ZWljaG5pcz5dIgogCi0jfiBtc2dpZCAiQ2FuJ3Qgc3RhdCAlcyIKLSN+IG1zZ3N0ciAiS2FubiAnJXMnIG5pY2h0IGxlc2VuLiIKKyN+IG1zZ2lkICJ1bmtub3duIGNvcmUudW50cmFja2VkQ2FjaGUgdmFsdWUgJyVzJzsgdXNpbmcgJ2tlZXAnIGRlZmF1bHQgdmFsdWUiCisjfiBtc2dzdHIgIiIKKyN+ICJVbmJla2FubnRlciBXZXJ0ICclcycgaW4gY29yZS51bnRyYWNrZWRDYWNoZTsgYmVudXR6ZSBTdGFuZGFyZHdlcnQgJ2tlZXAnIgogCi0jfiBtc2dpZCAiYWJvcnQgcmViYXNlIgotI34gbXNnc3RyICJSZWJhc2UgYWJicmVjaGVuIgorI34gbXNnaWQgImNhbm5vdCBjaGFuZ2UgcGFydGlhbCBjbG9uZSBwcm9taXNvciByZW1vdGUiCisjfiBtc2dzdHIgIkthbm4gUmVtb3RlLVJlcG9zaXRvcnkgZsO8ciBwYXJ0aWVsbGVzIEtsb25lbiBuaWNodCDDpG5kZXJuLiIKIAotI34gbXNnaWQgIm1ha2UgcmViYXNlIHNjcmlwdCIKLSN+IG1zZ3N0ciAiUmViYXNlLVNrcmlwdCBlcnN0ZWxsZW4iCisjfiBtc2dpZCAiZXJyb3IgYnVpbGRpbmcgdHJlZXMiCisjfiBtc2dzdHIgIkZlaGxlciBiZWltIEVyc3RlbGxlbiBkZXIgXCJUcmVlXCItT2JqZWt0ZSIKIAotI34gbXNnaWQgIk5vIHN1Y2ggcmVtb3RlOiAlcyIKLSN+IG1zZ3N0ciAiS2VpbiBzb2xjaGVzIFJlbW90ZS1SZXBvc2l0b3J5OiAlcyIKKyN+IG1zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0ICclcycgaW4gJyVzJyIKKyN+IG1zZ3N0ciAiVW5nw7xsdGlnZXMgRGF0dW1zZm9ybWF0ICclcycgaW4gJyVzJyIKIAotI34gbXNnaWQgImNhbm5vdCBtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZSIKLSN+IG1zZ3N0ciAiS2FubiBnZXNwZXJydGVzIEFyYmVpdHN2ZXJ6ZWljaG5pcyBuaWNodCB2ZXJzY2hpZWJlbi4iCisjfiBtc2dpZCAid3JpdGluZyByb290IGNvbW1pdCIKKyN+IG1zZ3N0ciAiUm9vdC1Db21taXQgc2NocmVpYmVuIgogCi0jfiBtc2dpZCAiY2Fubm90IHJlbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWUiCi0jfiBtc2dzdHIgIkthbm4gZ2VzcGVycnRlcyBBcmJlaXRzdmVyemVpY2huaXMgbmljaHQgbMO2c2NoZW4uIgotCi0jfiBtc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guIgotI34gbXNnc3RyICJBdXRvbWF0aXNjaGVuIFN0YXNoIGFuZ2V3ZW5kZXQuIgotCi0jfiBtc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgotI34gbXNnc3RyICJLYW5uICRzdGFzaF9zaGExIG5pY2h0IHNwZWljaGVybi4iCisjfiBtc2dpZCAic3RhZ2VkIGNoYW5nZXMgaW4gdGhlIGZvbGxvd2luZyBmaWxlcyBtYXkgYmUgbG9zdDogJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJadW0gQ29tbWl0IHZvcmdlbWVya3RlIMOEbmRlcnVuZ2VuIGluIGRlbiBmb2xnZW5kZW4gRGF0ZWllbiBnZWhlbiAiCisjfiAiZXZlbnR1ZWxsIHZlcmxvcmVuOiAlcyIKIAogI34gbXNnaWQgIiIKKyN+ICItLWZpbHRlciBjYW4gb25seSBiZSB1c2VkIHdpdGggdGhlIHJlbW90ZSBjb25maWd1cmVkIGluIGV4dGVuc2lvbnMuIgorI34gInBhcnRpYWxDbG9uZSIKKyN+IG1zZ3N0ciAiIgorI34gIi0tZmlsdGVyIGthbm4gbnVyIG1pdCBkZW4gUmVtb3RlLVJlcG9zaXRvcmllcyB2ZXJ3ZW5kZXQgd2VyZGVuLFxuIgorI34gImRpZSBpbiBjb3JlLnBhcnRpYWxDbG9uZSBrb25maWd1cmllcnQgc2luZC4iCisKKyN+IG1zZ2lkICJ2ZXJpZnkgY29tbWl0LW1zZyBob29rIgorI34gbXNnc3RyICJjb21taXQtbXNnIEhvb2sgw7xiZXJwcsO8ZmVuIgorCisjfiBtc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneS1vcHRpb24nIgorI34gbXNnc3RyICIiCisjfiAiJy0tcmViYXNlLW1lcmdlcycga2FubiBuaWNodCBtaXQgJy0tc3RyYXRlZ3ktb3B0aW9uJyBrb21iaW5pZXJ0IHdlcmRlbi4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIHNwYXJzZSB2YWx1ZSAnJXMnIgorI34gbXNnc3RyICJVbmfDvGx0aWdlciBcInNwYXJzZVwiLVdlcnQgJyVzJy4iCisKKyN+IG1zZ2lkICIiCisjfiAiRmV0Y2ggbm9ybWFsbHkgaW5kaWNhdGVzIHdoaWNoIGJyYW5jaGVzIGhhZCBhIGZvcmNlZCB1cGRhdGUsIGJ1dCB0aGF0ICIKKyN+ICJjaGVjayBoYXMgYmVlbiBkaXNhYmxlZC4iCisjfiBtc2dzdHIgIiIKKyN+ICInZmV0Y2gnIHplaWd0IG5vcm1hbGVyd2Vpc2UsIHdlbGNoZSBCcmFuY2hlcyBlaW5lIGVyend1bmdlbmUgIgorI34gIkFrdHVhbGlzaWVydW5nIGhhdHRlbiwgYWJlciBkaWVzZSDDnGJlcnByw7xmdW5nIHd1cmRlIGRlYWt0aXZpZXJ0LiIKKworI34gbXNnaWQgIiIKKyN+ICJvciBydW4gJ2dpdCBjb25maWcgZmV0Y2guc2hvd0ZvcmNlZFVwZGF0ZXMgZmFsc2UnIHRvIGF2b2lkIHRoaXMgY2hlY2suXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJvZGVyIGbDvGhyZW4gU2llICdnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzIGZhbHNlJyBhdXMsIHVtIGRpZXNlICIKKyN+ICLDnGJlcnByw7xmdW5nIHp1IHVtZ2VoZW4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAibG9nLm1haWxtYXAgaXMgbm90IHNldDsgaXRzIGltcGxpY2l0IHZhbHVlIHdpbGwgY2hhbmdlIGluIGFuXG4iCisjfiAidXBjb21pbmcgcmVsZWFzZS4gVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2UgYW5kIHByZXNlcnZlIGN1cnJlbnRcbiIKKyN+ICJiZWhhdmlvdXIsIHNldCB0aGUgbG9nLm1haWxtYXAgY29uZmlndXJhdGlvbiB2YWx1ZSB0byBmYWxzZS5cbiIKICN+ICJcbiIKLSN+ICJcdEhvd2V2ZXIsIGlmIHlvdSByZW1vdmUgZXZlcnl0aGluZywgdGhlIHJlYmFzZSB3aWxsIGJlIGFib3J0ZWQuXG4iCisjfiAiVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2UgYW5kIGFkb3B0IHRoZSBuZXcgYmVoYXZpb3VyIG5vdywgc2V0IHRoZVxuIgorI34gImxvZy5tYWlsbWFwIGNvbmZpZ3VyYXRpb24gdmFsdWUgdG8gdHJ1ZS5cbiIKICN+ICJcbiIKLSN+ICJcdCIKKyN+ICJTZWUgJ2dpdCBoZWxwIGNvbmZpZycgYW5kIHNlYXJjaCBmb3IgJ2xvZy5tYWlsbWFwJyBmb3IgZnVydGhlciAiCisjfiAiaW5mb3JtYXRpb24uIgogI34gbXNnc3RyICIiCisjfiAiJ2xvZy5tYWlsbWFwJyBpc3QgbmljaHQgZ2VzZXR6dDsgZGVyIGltcGxpeml0ZSBXZXJ0IHdpcmQgc2ljaCBpbiBlaW5lbVxuIgorI34gImtvbW1lbmRlbiBSZWxlYXNlIMOkbmRlcm4uIFVtIGRpZXNlIE1lbGR1bmcgenUgdW50ZXJkcsO8Y2tlbiB1bmQgZGFzICIKKyN+ICJha3R1ZWxsZVxuIgorI34gIlZlcmhhbHRlbiBiZWl6dWJlaGFsdGVuLCBzZXR6ZW4gU2llIGRlbiBLb25maWd1cmF0aW9uc3dlcnQgdm9uJ2xvZy4iCisjfiAibWFpbG1hcCcgYXVmICdmYWxzZScuXG4iCiAjfiAiXG4iCi0jfiAiXHRXZW5uIFNpZSBqZWRvY2ggYWxsZXMgbMO2c2NoZW4sIHdpcmQgZGVyIFJlYmFzZSBhYmdlYnJvY2hlbi5cbiIKKyN+ICJVbSBkaWVzZSBNZWxkdW5nIHp1IHVudGVyZHLDvGNrZW4gdW5kIGpldHp0IGRhcyBuZXVlIFZlcmhhbHRlbiB6dVxuIgorI34gIsO8YmVybmVobWVuLCBzZXR6ZW4gU2llIGRlbiBLb25maWd1cmF0aW9uc3dlcnQgdm9uICdsb2cubWFpbG1hcCcgYXVmICIKKyN+ICIndHJ1ZScuXG4iCiAjfiAiXG4iCi0jfiAiXHQiCisjfiAiRsO8aHJlbiBTaWUgJ2dpdCBoZWxwIGNvbmZpZycgYXVzIHVuZCBzdWNoZW4gU2llIG5hY2ggJ2xvZy5tYWlsbWFwJywgdW1cbiIKKyN+ICJ3ZWl0ZXJlIEluZm9ybWF0aW9uZW4genUgZXJoYWx0ZW4uIgogCi0jfiBtc2dpZCAiRGlydHkgaW5kZXg6IGNhbm5vdCBtZXJnZSAoZGlydHk6ICVzKSIKLSN+IG1zZ3N0ciAiR2XDpG5kZXJ0ZXIgSW5kZXg6IGthbm4gbmljaHQgbWVyZ2VuIChnZcOkbmRlcnQ6ICVzKSIKKyN+IG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrX2RldGFpbGVkIgorI34gbXNnc3RyICJTZXJ2ZXIgdW50ZXJzdMO8dHp0IG11bHRpX2Fja19kZXRhaWxlZCIKIAotI34gbXNnaWQgIigrLy0peCIKLSN+IG1zZ3N0ciAiKCsvLSl4IgorI34gbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBuby1kb25lIgorI34gbXNnc3RyICJTZXJ2ZXIgdW50ZXJzdMO8dHp0IG5vLWRvbmUiCiAKLSN+IG1zZ2lkICI8Y29tbWFuZD4iCi0jfiBtc2dzdHIgIjxQcm9ncmFtbT4iCisjfiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2FjayIKKyN+IG1zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBtdWx0aV9hY2siCiAKLSN+IG1zZ2lkICJFdmVyeWRheSBHaXQgV2l0aCAyMCBDb21tYW5kcyBPciBTbyIKLSN+IG1zZ3N0ciAiVMOkZ2xpY2hlIEJlbnV0enVuZyB2b24gR2l0IG1pdCB1bmdlZsOkaHIgMjAgQmVmZWhsZW4iCisjfiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZC02NGsiCisjfiBtc2dzdHIgIlNlcnZlciB1bnRlcnN0w7x0enQgc2lkZS1iYW5kLTY0ayIKIAotI34gbXNnaWQgInB1c2h8ZmV0Y2giCi0jfiBtc2dzdHIgInB1c2h8ZmV0Y2giCisjfiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZCIKKyN+IG1zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBzaWRlLWJhbmQiCiAKLSN+IG1zZ2lkICJ3WyxpMVssaTJdXSIKLSN+IG1zZ3N0ciAid1ssaTFbLGkyXV0iCisjfiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCisjfiBtc2dzdHIgIlNlcnZlciB1bnRlcnN0w7x0enQgYWxsb3ctdGlwLXNoYTEtaW4td2FudCIKIAotI34gbXNnaWQgIkVudGVyaW5nICckZGlzcGxheXBhdGgnIgotI34gbXNnc3RyICJCZXRyZXRlICckZGlzcGxheXBhdGgnIgorI34gbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgorI34gbXNnc3RyICJTZXJ2ZXIgdW50ZXJzdMO8dHp0IGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCiAKLSN+IG1zZ2lkICJTdG9wcGluZyBhdCAnJGRpc3BsYXlwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCi0jfiBtc2dzdHIgIlN0b3BwZSBiZWkgJyRkaXNwbGF5cGF0aCc7IFNrcmlwdCBnYWIgbmljaHQtTnVsbCBTdGF0dXMgenVyw7xjay4iCisjfiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG9mcy1kZWx0YSIKKyN+IG1zZ3N0ciAiU2VydmVyIHVudGVyc3TDvHR6dCBvZnMtZGVsdGEiCiAKLSN+IG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgotI34gbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCB6dW0gU2NocmVpYmVuIMO2ZmZuZW4uIgorI34gbXNnaWQgIihIRUFEIGRldGFjaGVkIGF0ICVzKSIKKyN+IG1zZ3N0ciAiKEhFQUQgbG9zZ2Vsw7ZzdCBiZWkgJXMpIgorCisjfiBtc2dpZCAiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiCisjfiBtc2dzdHIgIihIRUFEIGxvc2dlbMO2c3Qgdm9uICVzKSIKKworI34gbXNnaWQgIkNoZWNraW5nIG91dCBmaWxlcyIKKyN+IG1zZ3N0ciAiQ2hlY2tlIERhdGVpZW4gYXVzIgorCisjfiBtc2dpZCAiY2Fubm90IGJlIGludGVyYWN0aXZlIHdpdGhvdXQgc3RkaW4gY29ubmVjdGVkIHRvIGEgdGVybWluYWwuIgorI34gbXNnc3RyICIiCisjfiAiS2FubiBuaWNodCBpbnRlcmFrdGl2IHNlaW4sIG9obmUgZGFzcyBkaWUgU3RhbmRhcmQtRWluZ2FiZSBtaXQgZWluZW0gIgorI34gIlRlcm1pbmFsIHZlcmJ1bmRlbiBpc3QuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXNcbiIKKyN+IG1zZ3N0ciAiS29ubnRlICVzIG5pY2h0IGxlc2VuXG4iCiAKICN+IG1zZ2lkICIiCi0jfiAidW5leHBlY3RlZCAxc3QgbGluZSBvZiBzcXVhc2ggbWVzc2FnZTpcbiIKKyN+ICJJZiB5b3Ugd2lzaCB0byBza2lwIHRoaXMgY29tbWl0LCB1c2U6XG4iCiAjfiAiXG4iCi0jfiAiXHQlLipzIgotI34gbXNnc3RyICIiCi0jfiAidW5lcndhcnRldGUgZXJzdGUgWmVpbGUgZGVyIFNxdWFzaC1CZXNjaHJlaWJ1bmc6XG4iCisjfiAiICAgIGdpdCByZXNldFxuIgogI34gIlxuIgotI34gIlx0JS4qcyIKLQotI34gbXNnaWQgIiIKLSN+ICJpbnZhbGlkIDFzdCBsaW5lIG9mIHNxdWFzaCBtZXNzYWdlOlxuIgorI34gIlRoZW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHdpbGwgcmVzdW1lIGNoZXJyeS1waWNraW5nXG4iCisjfiAidGhlIHJlbWFpbmluZyBjb21taXRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiV2VubiBTaWUgZGllc2VuIENvbW1pdCBhdXNsYXNzZW4gbcO2Y2h0ZW4sIGJlbnV0emVuIFNpZTpcbiIKICN+ICJcbiIKLSN+ICJcdCUuKnMiCi0jfiBtc2dzdHIgIiIKLSN+ICJ1bmfDvGx0aWdlIGVyc3RlIFplaWxlIGRlciBTcXVhc2gtQmVzY2hyZWlidW5nOlxuIgorI34gIiAgICBnaXQgcmVzZXRcbiIKICN+ICJcbiIKLSN+ICJcdCUuKnMiCisjfiAiQmVudXR6ZW4gU2llIGFuc2NobGllw59lbmQgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiLCB1bSBkaWVcbiIKKyN+ICJDaGVycnktUGljay1PcGVyYXRpb24gbWl0IGRlbiB2ZXJibGVpYmVuZGVuIENvbW1pdHMgZm9ydHp1c2V0emVuLlxuIgogCi0jfiBtc2dpZCAiQlVHOiByZXR1cm5lZCBwYXRoIHN0cmluZyBkb2Vzbid0IG1hdGNoIGN3ZD8iCi0jfiBtc2dzdHIgIkZFSExFUjogenVyw7xja2dlZ2ViZW5lIFplaWNoZW5rZXR0ZSBmw7xyIFBmYWQgZW50c3ByaWNodCBuaWNodCBjd2Q/IgotCi0jfiBtc2dpZCAiRXJyb3IgaW4gb2JqZWN0IgotI34gbXNnc3RyICJGZWhsZXIgaW4gT2JqZWt0IgotCi0jfiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBFT0YiCi0jfiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrOiBBQ0svTkFLIGVyd2FydGV0LCBFT0YgYmVrb21tZW4iCi0KLSN+IG1zZ2lkICJpbnZhbGlkIGZpbHRlci1zcGVjIGV4cHJlc3Npb24gJyVzJyIKLSN+IG1zZ3N0ciAiVW5nw7xsdGlnZXIgZmlsdGVyLXNwZWMgQXVzZHJ1Y2sgJyVzJy4iCi0KLSN+IG1zZ2lkICJUaGUgY29weSBvZiB0aGUgcGF0Y2ggdGhhdCBmYWlsZWQgaXMgZm91bmQgaW46ICVzIgotI34gbXNnc3RyICJEaWUgS29waWUgZGVzIGZlaGxnZXNjaGxhZ2VuZW4gUGF0Y2hlcyBiZWZpbmRldCBzaWNoIGluOiAlcyIKLQotI34gbXNnaWQgInBhdGhzcGVjIGFuZCAtLWFsbCBhcmUgaW5jb21wYXRpYmxlIgotI34gbXNnc3RyICJQZmFkc3BlemlmaWthdGlvbmVuIHVuZCAtLWFsbCBzaW5kIGlua29tcGF0aWJlbC4iCi0KLSN+IG1zZ2lkICJTdWJtb2R1bGUgJyRuYW1lJyAoJHVybCkgdW5yZWdpc3RlcmVkIGZvciBwYXRoICckZGlzcGxheXBhdGgnIgotI34gbXNnc3RyICIiCi0jfiAiU3VibW9kdWwgJyRuYW1lJyAoJHVybCkgZsO8ciBQZmFkICckZGlzcGxheXBhdGgnIHd1cmRlIGF1cyBkZXIgIgotI34gIktvbmZpZ3VyYXRpb24gZW50ZmVybnQuIgotCi0jfiBtc2dpZCAiVG8vQ2MvQmNjIGZpZWxkcyBhcmUgbm90IGludGVycHJldGVkIHlldCwgdGhleSBoYXZlIGJlZW4gaWdub3JlZFxuIgotI34gbXNnc3RyICIiCi0jfiAiVG8vQ2MvQmNjIEZlbGRlciB3dXJkZW4gbm9jaCBuaWNodCBpbnRlcnByZXRpZXJ0LCBzaWUgd3VyZGVuIGlnbm9yaWVydFxuIgotCi0jfiBtc2dpZCAiIgotI34gImVtcHR5IHN0cmluZ3MgYXMgcGF0aHNwZWNzIHdpbGwgYmUgbWFkZSBpbnZhbGlkIGluIHVwY29taW5nIHJlbGVhc2VzLiAiCi0jfiAicGxlYXNlIHVzZSAuIGluc3RlYWQgaWYgeW91IG1lYW50IHRvIG1hdGNoIGFsbCBwYXRocyIKLSN+IG1zZ3N0ciAiIgotI34gIkxlZXJlIFN0cmluZ3MgYWxzIFBmYWRzcGV6aWZpa2F0aW9uZW4gd2VyZGVuIGluIGtvbW1lbmRlbiBSZWxlYXNlcyAiCi0jfiAidW5nw7xsdGlnLlxuIgotI34gIkJpdHRlIGJlbnV0emVuIFNpZSBzdGF0dGRlc3NlbiAuIHdlbm4gU2llIGFsbGUgUGZhZGUgbWVpbmVuLiIKLQotI34gbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSAnJXMnIgotI34gbXNnc3RyICJLb25udGUgJyVzJyBuaWNodCBhYnNjaG5laWRlbi4iCi0KLSN+IG1zZ2lkICJjb3VsZCBub3QgZmluaXNoICclcyciCi0jfiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IGFic2NobGllw59lbi4iCi0KLSN+IG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJXMiCi0jfiBtc2dzdHIgIktvbm50ZSAnJXMnIG5pY2h0IHNjaGxpZcOfZW4uIgotCi0jfiBtc2dpZCAiQ29waWVkIGEgbWlzbmFtZWQgYnJhbmNoICclcycgYXdheSIKLSN+IG1zZ3N0ciAiZmFsc2NoIGJlbmFubnRlbiBCcmFuY2ggJyVzJyB3ZWdrb3BpZXJ0IgotCi0jfiBtc2dpZCAiaXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byBjcmVhdGUgJ0hFQUQnIG1hbnVhbGx5IgotI34gbXNnc3RyICInSEVBRCcgZGFyZiBuaWNodCBtYW51ZWxsIGVyc3RlbGx0IHdlcmRlbiIKLQotI34gbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGNsb25lICVzIgotI34gbXNnc3RyICJXZWnDnyBuaWNodCB3aWUgJXMgenUga2xvbmVuIGlzdC4iCi0KLSN+IG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMiCi0jfiBtc2dzdHIgImlnbm9yaWVydGUgRGF0ZWllbiBhbnplaWdlbiIKLQotI34gbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCi0jfiBtc2dzdHIgIldlacOfIG5pY2h0IHdpZSB2b24gJXMgYW5nZWZvcmRlcnQgd2lyZC4iCi0KLSN+IG1zZ2lkICInJHRlcm0nIGlzIG5vdCBhIHZhbGlkIHRlcm0iCi0jfiBtc2dzdHIgIickdGVybScgaXN0IGtlaW4gZ8O8bHRpZ2VyIEJlZ3JpZmYiCi0KLSN+IG1zZ2lkICIiCi0jfiAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKLSN+ICIgICAgICAgVG8gcHJvdmlkZSBhIG1lc3NhZ2UsIHVzZSBnaXQgc3Rhc2ggc2F2ZSAtLSAnJG9wdGlvbiciCi0jfiBtc2dzdHIgIiIKLSN+ICJGZWhsZXI6IHVuYmVrYW5udGUgT3B0aW9uIGbDvHIgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCi0jfiAiICAgICAgICBVbSBlaW5lIEJlc2NocmVpYnVuZyBhbnp1Z2ViZW4sIGJlbnV0emVuIFNpZSBcImdpdCBzdGFzaCBzYXZlIC0tICIKLSN+ICInJG9wdGlvbidcIiIKLQotI34gbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKLSN+IG1zZ3N0ciAiRmVobGVyIGJlaSBSZWt1cnNpb24gaW4gU3VibW9kdWwtUGZhZCAnJHNtX3BhdGgnIgotCi0jfiBtc2dpZCAiJSUodHJhaWxlcnMpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgotI34gbXNnc3RyICIlJSh0cmFpbGVycykgYWt6ZXB0aWVydCBrZWluZSBBcmd1bWVudGUiCi0KLSN+IG1zZ2lkICIiCi0jfiAiV2FybmluZzogdGhlIFNIQS0xIGlzIG1pc3Npbmcgb3IgaXNuJ3QgYSBjb21taXQgaW4gdGhlIGZvbGxvd2luZyBsaW5lOlxuIgotI34gIiAtICRsaW5lIgotI34gbXNnc3RyICIiCi0jfiAiV2FybnVuZzogRGVyIFNIQS0xIGluIGRlciBmb2xnZW5kZW4gWmVpbGUgZmVobHQgb2RlciBpc3Qga2VpbiBDb21taXQ6XG4iCi0jfiAiIC0gJGxpbmUiCi0KLSN+IG1zZ2lkICIiCi0jfiAiV2FybmluZzogdGhlIGNvbW1hbmQgaXNuJ3QgcmVjb2duaXplZCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6XG4iCi0jfiAiIC0gJGxpbmUiCi0jfiBtc2dzdHIgIiIKLSN+ICJXYXJudW5nOiBEYXMgS29tbWFuZG8gaW4gZGVyIGZvbGdlbmRlbiBaZWlsZSB3dXJkZSBuaWNodCBlcmthbm50OlxuIgotI34gIiAtICRsaW5lIgotCi0jfiBtc2dpZCAiT3IgeW91IGNhbiBhYm9ydCB0aGUgcmViYXNlIHdpdGggJ2dpdCByZWJhc2UgLS1hYm9ydCcuIgotI34gbXNnc3RyICJPZGVyIFNpZSBrw7ZubmVuIGRlbiBSZWJhc2UgbWl0ICdnaXQgcmViYXNlIC0tYWJvcnQnIGFiYnJlY2hlbi4iCi0KLSN+IG1zZ2lkICJzdWJtb2R1bGUgdXBkYXRlIHN0cmF0ZWd5IG5vdCBzdXBwb3J0ZWQgZm9yIHN1Ym1vZHVsZSAnJXMnIgotI34gbXNnc3RyICIiCi0jfiAiU3RyYXRlZ2llIHp1ciBBa3R1YWxpc2llcnVuZyB2b24gU3VibW9kdWxlbiBmw7xyIFN1Ym1vZHVsICclcycgbmljaHQgIgotI34gInVudGVyc3TDvHR6dC4iCi0KLSN+IG1zZ2lkICJjaGFuZ2UgdXBzdHJlYW0gaW5mbyIKLSN+IG1zZ3N0ciAiSW5mb3JtYXRpb25lbiB6dW0gVXBzdHJlYW0tQnJhbmNoIMOkbmRlcm4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiXG4iCi0jfiAiSWYgeW91IHdhbnRlZCB0byBtYWtlICclcycgdHJhY2sgJyVzJywgZG8gdGhpczpcbiIKLSN+ICJcbiIKLSN+IG1zZ3N0ciAiIgotI34gIlxuIgotI34gIldlbm4gU2llIHdvbGx0ZW4sIGRhc3MgJyVzJyBkZW4gQnJhbmNoICclcycgYWxzIFVwc3RyZWFtLUJyYW5jaCBoYXQsICIKLSN+ICJmw7xocmVuIFNpZSBhdXM6XG4iCi0KLSN+IG1zZ2lkICJiYXNlbmFtZSIKLSN+IG1zZ3N0ciAiQmFzaXNuYW1lIgotCi0jfiBtc2dpZCAicHJlcGVuZCBwYXJlbnQgcHJvamVjdCdzIGJhc2VuYW1lIHRvIG91dHB1dCIKLSN+IG1zZ3N0ciAiQmFzaXNuYW1lIGRlcyBFbHRlcm5wcm9qZWt0ZXMgYW4gQXVzZ2FiZW4gdm9yYW5zdGVsbGVuIgotCi0jfiBtc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSAnJXMnIgotI34gbXNnc3RyICJLb25udGUgRGF0ZWkgJyVzJyBuaWNodCDDtmZmbmVuIgotCi0jfiBtc2dpZCAiaW4gJTAuMWYgc2Vjb25kcyBhdXRvbWF0aWNhbGx5Li4uIgotI34gbXNnc3RyICJBdXRvbWF0aXNjaGUgQXVzZsO8aHJ1bmcgaW4gJTAuMWYgU2VrdW5kZW4gLi4uIgotCi0jfiBtc2dpZCAiZHVwMiglZCwlZCkgZmFpbGVkIgotI34gbXNnc3RyICJkdXAyKCVkLCVkKSBmZWhsZ2VzY2hsYWdlbiIKLQotI34gbXNnaWQgIkluaXRpYWwgY29tbWl0IG9uICIKLSN+IG1zZ3N0ciAiSW5pdGlhbGVyIENvbW1pdCBhdWYgIgotCi0jfiBtc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIFdhcyBpdCBzcGxpdCB3cm9uZz8iCi0jfiBtc2dzdHIgIlBhdGNoIGlzdCBsZWVyLiBXYXIgZGVzc2VuIEF1ZnRlaWx1bmcgZmFsc2NoPyIKLQotI34gbXNnaWQgIiIKLSN+ICJZb3Ugc3RpbGwgaGF2ZSB1bm1lcmdlZCBwYXRocyBpbiB5b3VyIGluZGV4LlxuIgotI34gIkRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/IgotI34gbXNnc3RyICIiCi0jfiAiU2llIGhhYmVuIGltbWVyIG5vY2ggbmljaHQgenVzYW1tZW5nZWbDvGhydGUgUGZhZGUgaW0gSW5kZXguXG4iCi0jfiAiSGFiZW4gU2llIHZlcmdlc3NlbiAnZ2l0IGFkZCcgenUgYmVudXR6ZW4/IgotCi0jfiBtc2dpZCAiIgotI34gIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLlxuIgotI34gIkRpZCB5b3UgaW50ZW5kIHRvIGNoZWNrb3V0ICclcycgd2hpY2ggY2FuIG5vdCBiZSByZXNvbHZlZCBhcyBjb21taXQ/IgotI34gbXNnc3RyICIiCi0jfiAiS2FubiBuaWNodCBnbGVpY2h6ZWl0aWcgUGZhZGUgYWt0dWFsaXNpZXJlbiB1bmQgenUgQnJhbmNoICclcycgd2VjaHNlbG4uXG4iCi0jfiAiSGFiZW4gU2llIGJlYWJzaWNodGlndCAnJXMnIGF1c3p1Y2hlY2tlbiwgd2VsY2hlciBuaWNodCBhbHMgQ29tbWl0ICIKLSN+ICJhdWZnZWzDtnN0IHdlcmRlbiBrYW5uPyIKLQotI34gbXNnaWQgIkV4cGxpY2l0IHBhdGhzIHNwZWNpZmllZCB3aXRob3V0IC1pIG9yIC1vOyBhc3N1bWluZyAtLW9ubHkgcGF0aHMuLi4iCi0jfiBtc2dzdHIgIkV4cGxpeml0ZSBQZmFkZSBvaG5lIC1pIG9kZXIgLW8gYW5nZWdlYmVuOyBuZWhtZSAtLW9ubHkgYW4iCi0KLSN+IG1zZ2lkICJkZWZhdWx0IG1vZGUgZm9yIHJlY3Vyc2lvbiIKLSN+IG1zZ3N0ciAiU3RhbmRhcmQtTW9kdXMgZsO8ciBSZWt1cnNpb24iCi0KLSN+IG1zZ2lkICJzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIG11c3QgYmUgY2FsbGVkIHdpdGggYSBzdWJjb21tYW5kIgotI34gbXNnc3RyICJzdWJtb2R1bGUtLWhlbHBlciBtdXNzIG1pdCBlaW5lbSBVbnRlcmJlZmVobCBhdWZnZXJ1ZmVuIHdlcmRlbiIKLQotI34gbXNnaWQgInRhZzogdGFnZ2luZyAiCi0jfiBtc2dzdHIgInRhZzogdGFnZ2UgIgotCi0jfiBtc2dpZCAiY29tbWl0IG9iamVjdCIKLSN+IG1zZ3N0ciAiQ29tbWl0LU9iamVrdCIKLQotI34gbXNnaWQgInRyZWUgb2JqZWN0IgotI34gbXNnc3RyICJUcmVlLU9iamVrdCIKLQotI34gbXNnaWQgImJsb2Igb2JqZWN0IgotI34gbXNnc3RyICJCbG9iLU9iamVrdCIKLQotIywgZnV6enkKLSN+IG1zZ2lkICJTdWJtb2R1bGUgJyVzJyBjYW5ub3QgY2hlY2tvdXQgbmV3IEhFQUQiCi0jfiBtc2dzdHIgIlN1Ym1vZHVsICclcycga2FubiBBbHRlcm5hdGl2ZSBuaWNodCBoaW56dWbDvGdlbjogJXMiCi0KLSN+IG1zZ2lkICJpbnNhbmVseSBsb25nIG9iamVjdCBkaXJlY3RvcnkgJS4qcyIKLSN+IG1zZ3N0ciAienUgbGFuZ2VzIE9iamVrdC1WZXJ6ZWljaG5pcyAlLipzIgotCi0jfiBtc2dpZCAidGFnIG5hbWUgdG9vIGxvbmc6ICUuKnMuLi4iCi0jfiBtc2dzdHIgIlRhZ25hbWUgenUgbGFuZzogJS4qcy4uLiIKLQotI34gbXNnaWQgInRhZyBoZWFkZXIgdG9vIGJpZy4iCi0jfiBtc2dzdHIgIlRhZy1Lb3BmIHp1IGdyb8OfLiIKLQotI34gbXNnaWQgIiIKLSN+ICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgotI34gIm1hcmtlZCBmb3IgZGlzY2FyZGluZyIKLSN+IG1zZ3N0ciAiIgotI34gIldlbm4gZGVyIFBhdGNoIHNhdWJlciBhbmdld2VuZGV0IHdlcmRlbiBrYW5uLCB3aXJkIGRlciBiZWFyYmVpdGV0ZSBQYXRjaC0iCi0jfiAiQmxvY2tcbiIKLSN+ICJkaXJla3QgYWxzIHp1bSBWZXJ3ZXJmZW4gbWFya2llcnQuIgotCi0jfiBtc2dpZCAiIgotI34gIlRoZXJlIGlzIG5vdGhpbmcgdG8gZXhjbHVkZSBmcm9tIGJ5IDooZXhjbHVkZSkgcGF0dGVybnMuXG4iCi0jfiAiUGVyaGFwcyB5b3UgZm9yZ290IHRvIGFkZCBlaXRoZXIgJzovJyBvciAnLicgPyIKLSN+IG1zZ3N0ciAiIgotI34gIjooZXhjbHVkZSkgTXVzdGVyLCBhYmVyIGtlaW5lIGFuZGVyZW4gUGZhZHNwZXppZmlrYXRpb25lbiBhbmdlZ2ViZW4uXG4iCi0jfiAiVmllbGxlaWNodCBoYWJlbiBTaWUgdmVyZ2Vzc2VuIGVudHdlZGVyICc6Lycgb2RlciAnLicgaGluenV6dWbDvGdlbj8iCi0KLSN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybWF0OiAlJSglcykiCi0jfiBtc2dzdHIgIm5pY2h0IGVya2FubnRlcyBGb3JtYXQ6ICUlKCVzKSIKLQotI34gbXNnaWQgIjpzdHJpcD0gcmVxdWlyZXMgYSBwb3NpdGl2ZSBpbnRlZ2VyIGFyZ3VtZW50IgotI34gbXNnc3RyICI6c3RyaXA9IGVyZm9yZGVydCBlaW5lIHBvc2l0aXZlIEdhbnp6YWhsIGFscyBBcmd1bWVudCIKLQotI34gbXNnaWQgInJlZiAnJXMnIGRvZXMgbm90IGhhdmUgJWxkIGNvbXBvbmVudHMgdG8gOnN0cmlwIgotI34gbXNnc3RyICJSZWZlcmVueiAnJXMnIGhhdCBrZWluZSAlbGQgS29tcG9uZW50ZW4gZsO8ciA6c3RyaXAiCi0KLSN+IG1zZ2lkICJ1bmtub3duICUuKnMgZm9ybWF0ICVzIgotI34gbXNnc3RyICJVbmJla2FubnRlcyAlLipzIEZvcm1hdCAlcyIKLQotI34gbXNnaWQgIlslczogZ29uZV0iCi0jfiBtc2dzdHIgIlslczogZW50ZmVybnRdIgotCi0jfiBtc2dpZCAiWyVzXSIKLSN+IG1zZ3N0ciAiWyVzXSIKLQotI34gbXNnaWQgIlslczogYmVoaW5kICVkXSIKLSN+IG1zZ3N0ciAiWyVzOiAlZCBoaW50ZXJoZXJdIgotCi0jfiBtc2dpZCAiWyVzOiBhaGVhZCAlZF0iCi0jfiBtc2dzdHIgIlslczogJWQgdm9yYXVzXSIKLQotI34gbXNnaWQgIlslczogYWhlYWQgJWQsIGJlaGluZCAlZF0iCi0jfiBtc2dzdHIgIlslczogJWQgdm9yYXVzLCAlZCBoaW50ZXJoZXJdIgotCi0jfiBtc2dpZCAiICoqKiogaW52YWxpZCByZWYgKioqKiIKLSN+IG1zZ3N0ciAiICoqKiogdW5nw7xsdGlnZSBSZWZlcmVueiAqKioqIgotCi0jfiBtc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIDxtc2c+IEhFQUQgPGNvbW1pdD4iCi0jfiBtc2dzdHIgImdpdCBtZXJnZSBbPE9wdGlvbmVuPl0gPEJlc2NocmVpYnVuZz4gSEVBRCA8Q29tbWl0PiIKLQotI34gbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgYmxhbmstbGluZS1iYXNlZCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKLSN+IG1zZ3N0ciAiIgotI34gImVpbmUgZXhwZXJpbWVudGVsbGUsIGF1ZiBMZWVyemVpbGVuIGJhc2llcmVuZGUgSGV1cmlzdGlrIHp1ciAiCi0jfiAiVmVyYmVzc2VydW5nXG4iCi0jfiAiZGVyIERhcnN0ZWxsdW5nIHZvbiBVbnRlcnNjaGllZGVuIHZlcndlbmRlbiIKLQotI34gbXNnaWQgIkNsZXZlci4uLiBhbWVuZGluZyB0aGUgbGFzdCBvbmUgd2l0aCBkaXJ0eSBpbmRleC4iCi0jfiBtc2dzdHIgIktsdWcgLi4uIGRlbiBsZXR6dGVuIENvbW1pdCBtaXQgZWluZW0gZ2XDpG5kZXJ0ZW4gSW5kZXggbmFjaGJlc3Nlcm4uIgotCi0jfiBtc2dpZCAiIgotI34gInRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIChvciBvbmUgb2YgaXRzIG5lc3RlZCBzdWJtb2R1bGVzKVxuIgotI34gInVzZXMgYSAuZ2l0IGRpcmVjdG9yeToiCi0jfiBtc2dpZF9wbHVyYWwgIiIKLSN+ICJ0aGUgZm9sbG93aW5nIHN1Ym1vZHVsZXMgKG9yIG9uZSBvZiB0aGVpciBuZXN0ZWQgc3VibW9kdWxlcylcbiIKLSN+ICJ1c2UgYSAuZ2l0IGRpcmVjdG9yeToiCi0jfiBtc2dzdHJbMF0gIiIKLSN+ICJkYXMgZm9sZ2VuZGUgU3VibW9kdWwgKG9kZXIgZWluIGdlc2NoYWNodGVsdGVzIFN1Ym1vZHVsIGhpZXJ2b24pXG4iCi0jfiAiYmVudXR6dCBlaW4gLmdpdC1WZXJ6ZWljaG5pczoiCi0jfiBtc2dzdHJbMV0gIiIKLSN+ICJkaWUgZm9sZ2VuZGVuIFN1Ym1vZHVsZSAob2RlciBlaW4gZ2VzY2hhY2h0ZWx0ZXMgU3VibW9kdWwgaGllcnZvbilcbiIKLSN+ICJiZW51dHplbiBlaW4gLmdpdC1WZXJ6ZWljaG5pczoiCi0KLSN+IG1zZ2lkICIiCi0jfiAiXG4iCi0jfiAiKHVzZSAncm0gLXJmJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gcmVtb3ZlIGl0IGluY2x1ZGluZyBhbGwgb2YgaXRzICIKLSN+ICJoaXN0b3J5KSIKLSN+IG1zZ3N0ciAiIgotI34gIlxuIgotI34gIihiZW51dHplbiBTaWUgJ3JtIC1yZicgd2VubiBTaWUgZGllc2VzIFN1Ym1vZHVsIHdpcmtsaWNoIG1pdHNhbXRcbiIKLSN+ICJzZWluZXIgSGlzdG9yaWUgbMO2c2NoZW4gbcO2Y2h0ZW4pIgotCi0jfiBtc2dpZCAiWW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZXJyeS1waWNrLiIKLSN+IG1zZ3N0ciAiIgotI34gIklocmUgbG9rYWxlbiDDhG5kZXJ1bmdlbiB3w7xyZGVuIGR1cmNoIGRlbiBDaGVycnktUGljayDDvGJlcnNjaHJpZWJlbiB3ZXJkZW4uIgotCi0jfiBtc2dpZCAiQ2Fubm90IHJldmVydCBkdXJpbmcgYW5vdGhlciByZXZlcnQuIgotI34gbXNnc3RyICJLYW5uIFJldmVydCBuaWNodCB3w6RocmVuZCBlaW5lcyBhbmRlcmVuIFJldmVydHMgYXVzZsO8aHJlbi4iCi0KLSN+IG1zZ2lkICJDYW5ub3QgY2hlcnJ5LXBpY2sgZHVyaW5nIGFub3RoZXIgY2hlcnJ5LXBpY2suIgotI34gbXNnc3RyICIiCi0jfiAiS2FubiBDaGVycnktUGljayBuaWNodCB3w6RocmVuZCBlaW5lcyBhbmRlcmVuIENoZXJyeS1QaWNrcyBhdXNmw7xocmVuLiIKLQotI34gbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBsaW5lICVkLiIKLSN+IG1zZ3N0ciAiS29ubnRlIFplaWxlICVkIG5pY2h0IHBhcnNlbi4iCi0KLSN+IG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAlcyIKLSN+IG1zZ3N0ciAiS29ubnRlICVzIG5pY2h0IMO2ZmZuZW4iCi0KLSN+IG1zZ2lkICJDb3VsZCBub3QgZm9ybWF0ICVzLiIKLSN+IG1zZ3N0ciAiS29ubnRlICVzIG5pY2h0IGZvcm1hdGllcmVuLiIKLQotI34gbXNnaWQgIiVzOiAlcyIKLSN+IG1zZ3N0ciAiJXM6ICVzIgotCi0jfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgotI34gbXNnc3RyICJLYW5uICVzIG5pY2h0IMO2ZmZuZW46ICVzIgotCi0jfiBtc2dpZCAiWW91IG5lZWQgdG8gc2V0IHlvdXIgY29tbWl0dGVyIGluZm8gZmlyc3QiCi0jfiBtc2dzdHIgIlNpZSBtw7xzc2VuIHp1ZXJzdCBkaWUgSW5mb3JtYXRpb25lbiB6dW0gQ29tbWl0LUVyc3RlbGxlciBzZXR6ZW4uIgorI34gbXNnaWQgInVucmVjb2duaXplZCB2ZXJiOiAlcyIKKyN+IG1zZ3N0ciAiTmljaHQgZXJrYW5udGVzIFZlcmI6ICVzIgpkaWZmIC0tZ2l0IGEvcG8vZWwucG8gYi9wby9lbC5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDNmNDZkCi0tLSAvZGV2L251bGwKKysrIGIvcG8vZWwucG8KQEAgLTAsMCArMSwyMTQ2OCBAQAorIyBHcmVlayB0cmFuc2xhdGlvbnMgZm9yIEdpdC4KKyMgQ29weXJpZ2h0IChDKSAyMDE5IEppbW15IEFuZ2VsYWtvcyA8dnlydXNzQGhlbGx1Zy5ncj4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIEdpdCBwYWNrYWdlLgorIworIyBHcmVlayB0cmFuc2xhdGlvbnMgb2YgY29tbW9uIEdpdCB3b3JkcyB1c2VkIGluIHRoaXMgZmlsZToKKyMKKyMgICBFbmdsaXNoICAgICAgICAgIHwgIEdyZWVrCisjICAgLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjICAgMy13YXkgbWVyZ2UgICAgICB8ICDPhM+BzrnPgM67zq4gz4PPhc6zz4fPjs69zrXPhc+DzrcKKyMgICAjTk4gICAgICAgICAgICAgIHwgIM+Fz4AnIM6xz4EuIE5OCisjICAgYW1lbmQgICAgICAgICAgICB8ICDPhM+Bzr/PgM6/z4DOv865z44KKyMgICBhcmNoaXZlICAgICAgICAgIHwgIM6xz4HPh861zrnOv864zq7Ous63CisjICAgYmFja3dhcmQgICAgICAgICB8CisjICAgICBjb21wYXRpYmlsaXR5ICB8ICDPg8+FzrzOss6xz4TPjM+EzrfPhM6xIM+Az4HOv8+CIM+EzrEgz4DOr8+Dz4kKKyMgICBiYXJlIHJlcG9zaXRvcnkgIHwgIM6zz4XOvM69z4wgzrHPgM6/zrjOtc+Ezq7Pgc65zr8KKyMgICBiaXNlY3QgICAgICAgICAgIHwgIM60zrnPh86/z4TOv868z44KKyMgICBicmFuY2ggICAgICAgICAgIHwgIM66zrvOrM60zr/PggorIyAgIGJ1ZyAgICAgICAgICAgICAgfCAgz4PPhs6szrvOvM6xCisjICAgYnVuZGxlICAgICAgICAgICB8ICDOtM61z4POvM6vzrTOsQorIyAgIGJ5cGFzcyAgICAgICAgICAgfCAgz4DOsc+BzrHOus6szrzPgM+Ez4kKKyMgICAoYSkgY2hlY2tvdXQgICAgIHwgIM61zr7Osc6zz4nOs86uCisjICAgKHRvKSBjaGVja291dCAgICB8ICDOtc6+zqzOs8+JCisjICAgY2hlcnJ5LXBpY2sgICAgICB8ICDOtc+AzrnOu861zrrPhM65zrrOriDOtM65zrHOu86/zrPOrgorIyAgIChhKSBjb21taXQgICAgICAgfCAgzrzOuc6xIM+Fz4DOv86yzr/Ou86uCisjICAgKHRvKSBjb21taXQgICAgICB8ICDPhc+Azr/Oss6szrvOu8+JCisjICAgY29tbWl0LWlzaCAgICAgICB8ICDPhc+Azr/Oss6/zrvOriDOriDPhs6xzrnOvc6/zrzOtc69zrnOus6uCisjICAgY29uZmlnIGZpbGUgICAgICB8ICDOsc+Bz4fOtc6vzr8gz4HPhc64zrzOr8+DzrXPic69CisjICAgY29uZmxpY3QgICAgICAgICB8ICDPg8+NzrPOus+Bzr/Phc+DzrcKKyMgICBkYW5nbGluZyAgICAgICAgIHwgIM61zrrOus+BzrXOvM6tz4IKKyMgICAodG8pIGRlYnVnICAgICAgIHwgIM6xz4DOv8+Dz4bOsc67zrzOsc+Ez47Ovc+JCisjICAgZGVidWdnaW5nICAgICAgICB8ICDOsc+Azr/Pg8+GzrHOu868zqzPhM+Jz4POtworIyAgIGRlZmxhdGUgICAgICAgICAgfCAgzrHPgM6/z4PPhc68z4DOuc6tzrbPiQorIyAgIGRpcmVjdG9yeSAgICAgICAgfCAgz4bOrM66zrXOu86/z4IKKyMgICBkaXZlcmdlICAgICAgICAgIHwgIM6xz4DOv866zrvOr869z4kKKyMgICBlZGl0b3IgICAgICAgICAgIHwgIM60zrnOv8+BzrjPic+Ezq7PggorIyAgIGVudHJ5ICAgICAgICAgICAgfCAgz4PPhM6/zrnPh861zq/OvworIyAgIGZhc3QtZm9yd2FyZCAgICAgfCAgz4TOsc+HzrXOr86xIM+Az4HOv8+OzrjOt8+DzrcKKyMgICBmYXN0LWZvcndhcmRlZCAgIHwgIM+EzrHPh86tz4nPgiDPgM+Bzr/Pic64zrfOvM6tzr3OvworIyAgIChhKSBmZXRjaCAgICAgICAgfCAgzrHOvc6szrrPhM63z4POtworIyAgICh0bykgZmV0Y2ggICAgICAgfCAgzrHOvc6xzrrPhM+OCisjICAgZml4IGNvbmZsaWN0cyAgICB8ICDOtc+Azq/Ou8+Fz4POtyDPg8+FzrPOus+Bzr/Pjc+DzrXPic69CisjICAgKHRvKSBmb3JtYXQgICAgICB8ICDOvM6/z4HPhs6/z4DOv865z44KKyMgICBnbG9iICAgICAgICAgICAgIHwgIM6xzr3PhM65zrrOsc+EzqzPg8+EzrHPg863IM68zrXPhM6xz4fOsc+BzrHOus+Ezq7Pgc+Jzr0KKyMgICBoYXNoICAgICAgICAgICAgIHwgIM+Dz4XOvM6yzr/Ou86/z4POtc65z4HOrAorIyAgIEhFQUQgICAgICAgICAgICAgfCAgSEVBRCAozr/Phc60zq3PhM61z4HOvykKKyMgICBob29rICAgICAgICAgICAgIHwgIM6szrPOus65z4PPhM+Bzr8KKyMgICBodW5rICAgICAgICAgICAgIHwgIM6xzrvOu86xzrPOrgorIyAgIGluY29uc2lzdGVuY3kgICAgfCAgzrHOvc+Ezq/Phs6xz4POtworIyAgICh0bykgaW5mbGF0ZSAgICAgfCAgzrHPgM6/z4PPhc68z4DOuc6tzrbPiQorIyAgIChhKSBsaXN0ICAgICAgICAgfCAgz4DOsc+BzqzOuM61z4POtworIyAgICh0bykgbGlzdCAgICAgICAgfCAgz4DOsc+BzrHOuM6tz4TPiQorIyAgIG1hcHBpbmcgICAgICAgICAgfCAgzrHOvc+EzrnPg8+Ezr/Or8+HzrnPg863CisjICAgbWlzbWF0Y2ggICAgICAgICB8ICDOsc+Dz4XOvM+Gz4nOvc6vzrEKKyMgICBtZXJnZSAgICAgICAgICAgIHwgIM+Dz4XOs8+Hz47Ovc61z4XPg863CisjICAgcGFjayAgICAgICAgICAgICB8ICDPgM6xzrrOrc+Ezr8KKyMgICBwYXRjaGVzICAgICAgICAgIHwgIM60zrnOv8+BzrjPjs+DzrXOuc+CCisjICAgcGF0aCAgICAgICAgICAgICB8ICDOtM65zrHOtM+Bzr/OvM6uCisjICAgcGF0aHNwZWMgICAgICAgICB8ICDPgM61z4HOuc6zz4HOsc+Gzq4gzrTOuc6xzrTPgc6/zrzOrs+CCisjICAgcGF0dGVybiAgICAgICAgICB8ICDOvM6/z4TOr86yzr8KKyMgICAodG8pIHBydW5lICAgICAgIHwgIM66zrvOsc60zrXPjc+JCisjICAgKGEpIHB1bGwgICAgICAgICB8ICDOtc69z4PPic68zqzPhM+Jz4POtworIyAgICh0bykgcHVsbCAgICAgICAgfCAgzrXOvc+Dz4nOvM6xz4TPjs69z4kKKyMgICAoYSkgcHVzaCAgICAgICAgIHwgIM60zrfOvM6/z4POr861z4XPg863CisjICAgKHRvKSBwdXNoICAgICAgICB8ICDOtM63zrzOv8+DzrnOtc+Nz4kKKyMgICB0cmFpbGVycyAgICAgICAgIHwgIM+Fz4DOv8+DzrfOvM61zrnPjs+DzrXOuc+CCisjICAgcmVwb3NpdG9yeSAgICAgICB8ICDOsc+Azr/OuM61z4TOrs+BzrnOvworIyAgIHJlbW90ZSAgICAgICAgICAgfCAgzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr8gKM6uIM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/z4IgzrXOvs+Fz4DOt8+BzrXPhM63z4TOrs+CKQorIyAgIHJlc2V0ICAgICAgICAgICAgfCAgzrXPgM6xzr3Osc+Gzq3Pgc+JCisjICAgcmVzb2x2ZSAgICAgICAgICB8ICDOtc+AzrnOu8+Nz4kgKs6uKiDPhM6xz4XPhM6vzrbPiQorIyAgIHJlc3RvcmUgICAgICAgICAgfCAgzrHPgM6/zrrOsc64zrnPg8+Ez44KKyMgICByZXZpc2lvbiAgICAgICAgIHwgIM6tzrrOtM6/z4POtworIyAgIHNoYWxsb3cgICAgICAgICAgfCAgz4HOt8+Hz4wKKyMgICBzaGVsbCAgICAgICAgICAgIHwgIM66zq3Ou8+Fz4bOv8+CCisjICAgc3F1YXNoICAgICAgICAgICB8ICDPg8+FzrzPgM+Ez43Pg8+Dz4kvz4PPjc68z4DPhM+Fzr7OtworIyAgIHN0YXNoICAgICAgICAgICAgfCAgzrHPgM6/zrjOt866zrXPhc68zq3Ovc6xCisjICAgKHRvKSBzdGFnZSAgICAgICB8ICDPgM+Bzr/Otc+Ezr/Ouc68zqzOts+JCisjICAgKHRvKSBzdGFzaCAgICAgICB8ICDOsc+Azr/OuM63zrrOtc+Nz4kKKyMgICBzdHJlYW0gICAgICAgICAgIHwgIM+Bzr/OrgorIyAgIHN1Ym1vZHVsZSAgICAgICAgfCAgz4XPgM6/zrXOvc+Mz4TOt8+EzrEKKyMgICB0YWcgICAgICAgICAgICAgIHwgIM61z4TOuc66zq3PhM6xCisjICAgdGVtcGxhdGUgICAgICAgICB8ICDPgM+Bz4zPhM+Fz4DOvworIyAgIHRocmVhZCAgICAgICAgICAgfCAgzr3Ors68zrEKKyMgICB0aW1lc3RhbXAgICAgICAgIHwgIM+Hz4HOv869zr/Pg86uzrzOsc69z4POtworIyAgICh0bykgdHJhY2sgICAgICAgfCAgz4DOsc+BzrHOus6/zrvOv8+FzrjPjgorIyAgIHRyZWUgICAgICAgICAgICAgfCAgzrTOrc69z4TPgc6/CisjICAgdHJlZS1pc2ggICAgICAgICB8ICDOtM6tzr3PhM+Bzr8gzq4gz4bOsc65zr3Ov868zrXOvc65zrrPjAorIyAgIHVuc3RhZ2UgICAgICAgICAgfCAgzrHPgM6/z4DPgc6/zrXPhM6/zrnOvM6szrbPiQorIyAgIHVwc3RyZWFtICAgICAgICAgfCAgz4DPgc6/z4Igz4TOt869IM+AzrfOs86uCisjICAgdmlld2VyICAgICAgICAgICB8ICDPgM+Bz4zOs8+BzrHOvM68zrEgz4DPgc6/zrLOv867zq7PggorIyAgIHdvcmt0cmVlIC8gICAgICAgfAorIyAgIHdvcmsoaW5nKSB0cmVlICAgfCAgzrTOrc69z4TPgc6/IM61z4HOs86xz4POr86xz4IKKyMgSmltbXkgQW5nZWxha29zIDx2eXJ1c3NAaGVsbHVnLmdyPiwgMjAxOS4KKyMKK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGdpdFxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBHaXQgTWFpbGluZyBMaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE5LTAyLTE1IDEwOjA5KzA4MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE5LTAyLTE1IDAyOjEwKzAwMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IEppbW15IEFuZ2VsYWtvcyA8dnlydXNzQGhlbGx1Zy5ncj5cbiIKKyJMYW5ndWFnZS1UZWFtOiBHcmVlaywgTW9kZXJuICgxNDUzLSkgPHZ5cnVzc0BoZWxsdWcuZ3I+XG4iCisiTGFuZ3VhZ2U6IGVsXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCisKKyM6IGFkdmljZS5jOjEwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlc2hpbnQ6ICUuKnMlc1xuIgorbXNnc3RyICIlc869z43Ovs63OiAlLipzJXNcbiIKKworIzogYWR2aWNlLmM6MTU0Cittc2dpZCAiQ2hlcnJ5LXBpY2tpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICIiCisizpTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM+MIM69zrEgzrPOr869zrXOuSDOtc+AzrnOu861zrrPhM65zrrOriDOtM65zrHOu86/zrPOriDOtc+AzrXOuc60zq4gzq3Ph861z4TOtSDOvM63IM+Dz4XOs8+Hz4nOvc61z4XOvM6tzr3OsSAiCisizrHPgc+HzrXOr86xLiIKKworIzogYWR2aWNlLmM6MTU2Cittc2dpZCAiQ29tbWl0dGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIs6UzrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TPjCDOvc6xIM6zzq/Ovc61zrkgz4XPgM6/zrLOv867zq4gzrXPgM61zrnOtM6uIM6tz4fOtc+EzrUgzrzOtyDPg8+FzrPPh8+Jzr3Otc+FzrzOrc69zrEgzrHPgc+HzrXOr86xLiIKKworIzogYWR2aWNlLmM6MTU4Cittc2dpZCAiTWVyZ2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIiIKKyLOlM61zr0gzrXOr869zrHOuSDOtM+Fzr3Osc+Ez4wgzr3OsSDOs86vzr3Otc65IM+Dz4XOs8+Hz47Ovc61z4XPg863IM61z4DOtc65zrTOriDOrc+HzrXPhM61IM68zrcgz4PPhc6zz4fPic69zrXPhc68zq3Ovc6xIM6xz4HPh861zq/OsS4iCisKKyM6IGFkdmljZS5jOjE2MAorbXNnaWQgIlB1bGxpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICIiCisizpTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM+MIM69zrEgzrPOr869zrXOuSDOtc69z4PPic68zqzPhM+Jz4POtyDOtc+AzrXOuc60zq4gzq3Ph861z4TOtSDOvM63IM+Dz4XOs8+Hz4nOvc61z4XOvM6tzr3OsSDOsc+Bz4fOtc6vzrEuIgorCisjOiBhZHZpY2UuYzoxNjIKK21zZ2lkICJSZXZlcnRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICIiCisizpTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM+MIM69zrEgzrPOr869zrXOuSDOtc+AzrHOvc6xz4bOv8+BzqwgzrXPgM61zrnOtM6uIM6tz4fOtc+EzrUgzrzOtyDPg8+FzrPPh8+Jzr3Otc+FzrzOrc69zrEgzrHPgc+HzrXOr86xLiIKKworIzogYWR2aWNlLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkl0IGlzIG5vdCBwb3NzaWJsZSB0byAlcyBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAizpTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM+MIM69zrEgzrPOr869zrXOuSAlcyDOtc+AzrXOuc60zq4gzq3Ph861z4TOtSDOvM63IM+Dz4XOs8+Hz4nOvc61z4XOvM6tzr3OsSDOsc+Bz4fOtc6vzrEuIgorCisjOiBhZHZpY2UuYzoxNzIKK21zZ2lkICIiCisiRml4IHRoZW0gdXAgaW4gdGhlIHdvcmsgdHJlZSwgYW5kIHRoZW4gdXNlICdnaXQgYWRkL3JtIDxmaWxlPidcbiIKKyJhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24gYW5kIG1ha2UgYSBjb21taXQuIgorbXNnc3RyICIiCisizqbPhM65zqzOvs+EzrUgz4TOsSDPg8+Ezr8gzrTOrc69z4TPgc6/IM61z4HOs86xz4POr86xz4IsIM66zrHOuSDOvM61z4TOrCDPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61ICdnaXQgYWRkL3JtICIKKyI8zrHPgc+HzrXOr86/PidcbiIKKyLOrc+Ez4POuSDPjs+Dz4TOtSDOvc6xIM61z4DOuc+DzrfOvM6szr3Otc+EzrUgz4TOt869IM61z4DOr867z4XPg863IM66zrHOuSDOvc6xIM66zqzOvc61z4TOtSDOvM6vzrEgz4XPgM6/zrLOv867zq4uIgorCisjOiBhZHZpY2UuYzoxODAKK21zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgYW4gdW5yZXNvbHZlZCBjb25mbGljdC4iCittc2dzdHIgIs6Izr7Ov860zr/PgiDOu8+MzrPPiSDOsc69zrXPgM6vzrvPhc+EzrfPgiDPg8+NzrPOus+Bzr/Phc+DzrfPgi4iCisKKyM6IGFkdmljZS5jOjE4NSBidWlsdGluL21lcmdlLmM6MTI5MAorbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLiIKK21zZ3N0ciAizpTOtc69IM6tz4fOtc+EzrUgzr/Ou86/zrrOu863z4HPjs+DzrXOuSDPhM63IM+Dz4XOs8+Hz47Ovc61z4XPg86uIM+DzrHPgiAozqXPgM6sz4HPh861zrkgz4TOvyBNRVJHRV9IRUFEKS4iCisKKyM6IGFkdmljZS5jOjE4NworbXNnaWQgIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgbWVyZ2luZy4iCittc2dzdHIgIs6gzrHPgc6xzrrOsc67z44sIM+Fz4DOv86yzqzOu861z4TOtSDPhM65z4IgzrHOu867zrHOs86tz4Igz4POsc+CIM+Az4HOuc69IM+Dz4XOs8+Hz4nOvc61z43Pg861z4TOtS4iCisKKyM6IGFkdmljZS5jOjE4OAorbXNnaWQgIkV4aXRpbmcgYmVjYXVzZSBvZiB1bmZpbmlzaGVkIG1lcmdlLiIKK21zZ3N0ciAizojOvs6/zrTOv8+CIM67z4zOs8+JIM68zrcgzr/Ou86/zrrOu863z4HPic68zq3Ovc63z4Igz4PPhc6zz4fPjs69zrXPhc+DzrfPgi4iCisKKyM6IGFkdmljZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90ZTogY2hlY2tpbmcgb3V0ICclcycuXG4iCisiXG4iCisiWW91IGFyZSBpbiAnZGV0YWNoZWQgSEVBRCcgc3RhdGUuIFlvdSBjYW4gbG9vayBhcm91bmQsIG1ha2UgZXhwZXJpbWVudGFsXG4iCisiY2hhbmdlcyBhbmQgY29tbWl0IHRoZW0sIGFuZCB5b3UgY2FuIGRpc2NhcmQgYW55IGNvbW1pdHMgeW91IG1ha2UgaW4gdGhpc1xuIgorInN0YXRlIHdpdGhvdXQgaW1wYWN0aW5nIGFueSBicmFuY2hlcyBieSBwZXJmb3JtaW5nIGFub3RoZXIgY2hlY2tvdXQuXG4iCisiXG4iCisiSWYgeW91IHdhbnQgdG8gY3JlYXRlIGEgbmV3IGJyYW5jaCB0byByZXRhaW4gY29tbWl0cyB5b3UgY3JlYXRlLCB5b3UgbWF5XG4iCisiZG8gc28gKG5vdyBvciBsYXRlcikgYnkgdXNpbmcgLWIgd2l0aCB0aGUgY2hlY2tvdXQgY29tbWFuZCBhZ2Fpbi4gRXhhbXBsZTpcbiIKKyJcbiIKKyIgIGdpdCBjaGVja291dCAtYiA8bmV3LWJyYW5jaC1uYW1lPlxuIgorIlxuIgorbXNnc3RyICIiCisizqPOt868zrXOr8+Jz4POtzogzrXOvs6xzrPPic6zzq4gz4TOv8+FICclcycuXG4iCisiXG4iCisizpLPgc6vz4POus61z4PPhM61IM+DzrUgzrrOsc+EzqzPg8+EzrHPg863ICfOsc+Azr/Pg8+Fzr3OtM61zrTOtc68zq3Ovc6/z4UgSEVBRCcuIM6cz4DOv8+BzrXOr8+EzrUgzr3OsSDPgM61z4HOuc63zrPOt864zrXOr8+EzrUsIM69zrEgIgorIs66zqzOvc61z4TOtSDPgM61zrnPgc6xzrzOsc+EzrnOus6tz4JcbiIKKyLOsc67zrvOsc6zzq3PgiDOus6xzrkgzr3OsSDPhM65z4Igz4XPgM6/zrLOrM67zrXPhM61LCDOus6xzrjPjs+CIM66zrHOuSDOvc6xIM6xz4DOv8+Bz4HOr8+IzrXPhM61IM+MLM+Ezrkgz4XPgM6/zrLOv867zq3PgiDOus6szr3Otc+EzrUgIgorIs+DzrUgzrHPhc+Ezq7OvSDPhM63zr1cbiIKKyLOus6xz4TOrM+Dz4TOsc+Dzrcgz4fPic+Bzq/PgiDOvc6xIM61z4DOt8+BzrXOrM+DzrXPhM61IM6szrvOu86/z4XPgiDOus67zqzOtM6/z4XPgiDOsc+AzrvOrCDOus6szr3Ov869z4TOsc+CIM68zrnOsSDOvc6tzrEgzrXOvs6xzrPPic6zzq4uXG4iCisiXG4iCisizpHOvSDOuM6tzrvOtc+EzrUgzr3OsSDOtM63zrzOuc6/z4XPgc6zzq7Pg861z4TOtSDOrc69zrHOvSDOvc6tzr8gzrrOu86szrTOvyDOs865zrEgzr3OsSDOtM65zrHPhM63z4HOrs+DzrXPhM61IM+EzrnPgiDPhc+Azr/Oss6/zrvOrc+CICIKKyLPgM6/z4UgzrTOt868zrnOv8+Fz4HOs861zq/PhM61LCDOvM+Azr/Pgc61zq/PhM61XG4iCisizr3OsSDPhM6/IM66zqzOvc61z4TOtSAoz4TPjs+BzrEgzq4gzrHPgc6zz4zPhM61z4HOsSkgz4fPgc63z4POuc68zr/PgM6/zrnPjs69z4TOsc+CIC1iIM68zrUgz4TOt869IM61zr3PhM6/zrvOriDOtc6+zrHOs8+JzrPOrs+CICIKKyJjaGVja291dCDPgM6szrvOuS4gzqDOsc+BzqzOtM61zrnOs868zrE6XG4iCisiXG4iCisiICBnaXQgY2hlY2tvdXQgLWIgPM+Mzr3Ov868zrEtzr3Orc6/z4UtzrrOu86szrTOv8+FPlxuIgorIlxuIgorCisjOiBhbGlhcy5jOjUwCittc2dpZCAiY21kbGluZSBlbmRzIHdpdGggXFwiCittc2dzdHIgIs6zz4HOsc68zrzOriDOtc69z4TOv867z47OvSDPhM61zrvOtc65z47Ovc61zrkgzrzOtSBcXCIKKworIzogYWxpYXMuYzo1MQorbXNnaWQgInVuY2xvc2VkIHF1b3RlIgorbXNnc3RyICLOsc69zr/Ouc+Hz4TOrCDOtc65z4POsc6zz4nOs865zrrOrCIKKworIzogYXBwbHkuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBvcHRpb24gJyVzJyIKK21zZ3N0ciAizqzOs869z4nPg8+EzrcgzrXPgM65zrvOv86zzq4gzrrOtc69zr/PjSDPh8+Oz4HOv8+FICclcyciCisKKyM6IGFwcGx5LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgorbXNnc3RyICLOrM6zzr3Pic+Dz4TOtyDOtc+AzrnOu86/zrPOriDOsc6zzr3PjM63z4POt8+CIM66zrXOvc6/z40gz4fPjs+Bzr/PhSAnJXMnIgorCisjOiBhcHBseS5jOjEyNQorbXNnaWQgIi0tcmVqZWN0IGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgorbXNnc3RyICItLXJlamVjdCDOus6xzrkgLS0zd2F5IM60zrUgzrPOr869zrXPhM6xzrkgzr3OsSDPh8+BzrfPg865zrzOv8+Azr/Ouc63zrjOv8+Nzr0gzrzOsc62zq8uIgorCisjOiBhcHBseS5jOjEyNworbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgorbXNnc3RyICItLWNhY2hlZCDOus6xzrkgLS0zd2F5IM60zrUgzrPOr869zrXPhM6xzrkgzr3OsSDPh8+BzrfPg865zrzOv8+Azr/Ouc63zrjOv8+Nzr0gzrzOsc62zq8uLiIKKworIzogYXBwbHkuYzoxMzAKK21zZ2lkICItLTN3YXkgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCittc2dzdHIgIi0tM3dheSDOrc6+z4kgzrHPgM+MIM6xz4DPjM64zrXPhM6uz4HOuc6/IgorCisjOiBhcHBseS5jOjE0MQorbXNnaWQgIi0taW5kZXggb3V0c2lkZSBhIHJlcG9zaXRvcnkiCittc2dzdHIgIi0taW5kZXggzq3Ovs+JIM6xz4DPjCDOsc+Azr/OuM61z4TOrs+BzrnOvyIKKworIzogYXBwbHkuYzoxNDQKK21zZ2lkICItLWNhY2hlZCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKK21zZ3N0ciAiLS1jYWNoZWQgzq3Ovs+JIM6xz4DPjCDOsc+Azr/OuM61z4TOrs+BzrnOvyIKKworIzogYXBwbHkuYzo4MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHByZXBhcmUgdGltZXN0YW1wIHJlZ2V4cCAlcyIKK21zZ3N0ciAizpTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM6uIM63IM+Az4HOv861z4TOv865zrzOsc+Dzq/OsSDOus6xzr3Ov869zrnOus6uz4Igzq3Ous+Gz4HOsc+DzrfPgiDPh8+Bzr/Ovc6/z4POrs68zrHOvc+DzrfPgiAlcyIKKworIzogYXBwbHkuYzo4MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIgorbXNnc3RyICLOpM6/IHJlZ2V4ZWMgzrXPgM6tz4PPhM+BzrXPiM61ICVkIM6zzrnOsSDOtc65z4POsc6zz4nOs86uOiAlcyIKKworIzogYXBwbHkuYzo5MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZpbmQgZmlsZW5hbWUgaW4gcGF0Y2ggYXQgbGluZSAlZCIKK21zZ3N0ciAizrTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM+MIM69zrEgzrLPgc61zrjOtc6vIM+Ezr8gz4zOvc6/zrzOsSDOsc+Bz4fOtc6vzr/PhSDPg8+EzrcgzrTOuc+Mz4HOuM+Jz4POtyDPg8+EzrcgzrPPgc6xzrzOvM6uICVkIgorCisjOiBhcHBseS5jOjk0NgorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCittc2dzdHIgIiIKKyJnaXQgYXBwbHk6IM67zqzOuM6/z4IgZ2l0LWRpZmYgLSDOsc69zrHOvM61zr3PjM+EzrHOvSAvZGV2L251bGwsIM6yz4HOrc64zrfOus61ICVzIM+Dz4TOtyDOs8+BzrHOvM68zq4gJWQiCisKKyM6IGFwcGx5LmM6OTUyCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG5ldyBmaWxlbmFtZSBvbiBsaW5lICVkIgorbXNnc3RyICJnaXQgYXBwbHk6IM67zqzOuM6/z4IgZ2l0LWRpZmYgLSDOsc+Dz43OvM+Gz4nOvc6/IM+Mzr3Ov868zrEgzr3Orc6/z4UgzrHPgc+HzrXOr86/z4Ugz4PPhM63IM6zz4HOsc68zrzOriAlZCIKKworIzogYXBwbHkuYzo5NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCittc2dzdHIgIiIKKyJnaXQgYXBwbHk6IM67zqzOuM6/z4IgZ2l0LWRpZmYgLSDOsc+Dz43OvM+Gz4nOvc6/IM+Mzr3Ov868zrEgz4DOsc67zrnOv8+NIM6xz4HPh861zq/Ov8+FIM+Dz4TOtyDOs8+BzrHOvM68zq4gJWQiCisKKyM6IGFwcGx5LmM6OTU4CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCittc2dzdHIgImdpdCBhcHBseTogzrvOrM64zr/PgiBnaXQtZGlmZiAtIM6xzr3Osc68zrXOvc+Mz4TOsc69IC9kZXYvbnVsbCDPg8+EzrcgzrPPgc6xzrzOvM6uICVkIgorCisjOiBhcHBseS5jOjk4NworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG1vZGUgb24gbGluZSAlZDogJXMiCittc2dzdHIgIs68zrcgzq3Os866z4XPgc63IM66zrHPhM6sz4PPhM6xz4POtyDPg8+EzrcgzrPPgc6xzrzOvM6uICVkOiAlcyIKKworIzogYXBwbHkuYzoxMzA2CisjLCBjLWZvcm1hdAorbXNnaWQgImluY29uc2lzdGVudCBoZWFkZXIgbGluZXMgJWQgYW5kICVkIgorbXNnc3RyICLOsc+Dz43OvM+Gz4nOvc61z4IgzrPPgc6xzrzOvM6tz4IgzrXPgM65zrrOtc+GzrHOu86vzrTOsc+CICVkIM66zrHOuSAlZCIKKworIzogYXBwbHkuYzoxNDc4CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKK21zZ3N0ciAicmVjb3VudDogzrzOtyDOsc69zrHOvM61zr3PjM68zrXOvc63IM6zz4HOsc68zrzOrjogJS4qcyIKKworIzogYXBwbHkuYzoxNTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgIs6xz4DPjM+Dz4DOsc+DzrzOsSDOtM65z4zPgc64z4nPg863z4Igz4fPic+Bzq/PgiDOtc+AzrnOus61z4bOsc67zq/OtM6xIM+Dz4TOtyDOs8+BzrHOvM68zq4gJWQ6ICUuKnMiCisKKyM6IGFwcGx5LmM6MTU2NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSAiCisiY29tcG9uZW50IChsaW5lICVkKSIKK21zZ2lkX3BsdXJhbCAiIgorImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgorImNvbXBvbmVudHMgKGxpbmUgJWQpIgorbXNnc3RyWzBdICIiCisizpvOtc6vz4DOtc65IM63IM+AzrvOt8+Bzr/Phs6/z4HOr86xIM6/zr3PjM68zrHPhM6/z4IgzrHPgc+HzrXOr86/z4UgzrHPgM+MIM+EzrfOvSDOtc+AzrnOus61z4bOsc67zq/OtM6xIGdpdCBkaWZmIM66zrHPhM6sIM+EzrfOvSAiCisizrHPhs6xzq/Pgc61z4POtyDPhM6/z4UgJWQgzrHPgc+HzrnOus6/z40gz4PPhc+Dz4TOsc+EzrnOus6/z40gzr/Ovc+MzrzOsc+Ezr/PgiDOtM65zrHOtM+Bzr/OvM6uz4IgKM6zz4HOsc68zrzOriAlZCkiCittc2dzdHJbMV0gIiIKKyLOm861zq/PgM61zrkgzrcgz4DOu863z4HOv8+Gzr/Pgc6vzrEgzr/Ovc+MzrzOsc+Ezr/PgiDOsc+Bz4fOtc6vzr/PhSDOsc+Az4wgz4TOt869IM61z4DOuc66zrXPhs6xzrvOr860zrEgZ2l0IGRpZmYgzrrOsc+Ezqwgz4TOt869ICIKKyLOsc+GzrHOr8+BzrXPg863IM+Ez4nOvSAlZCDOsc+Bz4fOuc66z47OvSDPg8+Fz4PPhM6xz4TOuc66z47OvSDOv869z4zOvM6xz4TOv8+CIM60zrnOsc60z4HOv868zq7PgiAozrPPgc6xzrzOvM6uICVkKSIKKworIzogYXBwbHkuYzoxNTgwCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAobGluZSAlZCkiCittc2dzdHIgIiIKKyLOm861zq/PgM61zrkgzrcgz4DOu863z4HOv8+Gzr/Pgc6vzrEgzr/Ovc+MzrzOsc+Ezr/PgiDOsc+Bz4fOtc6vzr/PhSDOsc+Az4wgz4TOt869IM61z4DOuc66zrXPhs6xzrvOr860zrEgZ2l0IGRpZmYgKM6zz4HOsc68zrzOriAlZCkiCisKKyM6IGFwcGx5LmM6MTc2OAorbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgorbXNnc3RyICLPhM6/IM69zq3OvyDOsc+Bz4fOtc6vzr8gzrXOvs6xz4HPhM6sz4TOsc65IM6xz4DPjCDPhM6xIM+AzrHOu865zqwgz4DOtc+BzrnOtc+Hz4zOvM61zr3OsSIKKworIzogYXBwbHkuYzoxNzcwCittc2dpZCAiZGVsZXRlZCBmaWxlIHN0aWxsIGhhcyBjb250ZW50cyIKK21zZ3N0ciAiz4TOvyDOtM65zrXOs8+BzrHOvM68zq3Ovc6/IM6xz4HPh861zq/OvyDOrc+HzrXOuSDOsc66z4zOvM6xIM+AzrXPgc65zrXPh8+MzrzOtc69zrEiCisKKyM6IGFwcGx5LmM6MTgwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCittc2dzdHIgIs66zrHPhM61z4PPhM+BzrHOvM68zq3Ovc63IM60zrnPjM+BzrjPic+Dzrcgz4PPhM63IM6zz4HOsc68zrzOriAlZCIKKworIzogYXBwbHkuYzoxODQxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgorbXNnc3RyICLPhM6/IM69zq3OvyDOsc+Bz4fOtc6vzr8gJXMgzrXOvs6xz4HPhM6sz4TOsc65IM6xz4DPjCDPhM6xIM+AzrHOu865zqwgz4DOtc+BzrnOtc+Hz4zOvM61zr3OsSIKKworIzogYXBwbHkuYzoxODQzCisjLCBjLWZvcm1hdAorbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCittc2dzdHIgIs+Ezr8gzrTOuc61zrPPgc6xzrzOvM6tzr3OvyDOsc+Bz4fOtc6vzr8gJXMgzq3Ph861zrkgzrHOus+MzrzOsSDPgM61z4HOuc61z4fPjM68zrXOvc6xIgorCisjOiBhcHBseS5jOjE4NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiKiogd2FybmluZzogZmlsZSAlcyBiZWNvbWVzIGVtcHR5IGJ1dCBpcyBub3QgZGVsZXRlZCIKK21zZ3N0ciAiKiogz4DPgc6/z4POv8+Hzq46IM+Ezr8gzrHPgc+HzrXOr86/ICVzIM6zzq/Ovc61z4TOsc65IM66zrXOvc+MIM6xzrvOu86sIM60zrUgzrTOuc6xzrPPgc6sz4bOtc+EzrHOuSIKKworIzogYXBwbHkuYzoxOTkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgIs66zrHPhM61z4PPhM+BzrHOvM68zq3Ovc63IM60z4XOsc60zrnOus6uIM60zrnPjM+BzrjPic+Dzrcgz4PPhM63IM6zz4HOsc68zrzOriAlZDogJS4qcyIKKworIzogYXBwbHkuYzoyMDMwCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZCIKK21zZ3N0ciAizrzOtyDOsc69zrHOs869z4nPgc6vz4POuc68zrcgzrTPhc6xzrTOuc66zq4gzrTOuc+Mz4HOuM+Jz4POtyDPg8+EzrcgzrPPgc6xzrzOvM6uICVkIgorCisjOiBhcHBseS5jOjIxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0Y2ggd2l0aCBvbmx5IGdhcmJhZ2UgYXQgbGluZSAlZCIKK21zZ3N0ciAizrTOuc+Mz4HOuM+Jz4POtyDOvM61IM68z4zOvc6/IM+DzrrOv8+Fz4DOr860zrnOsSDPg8+EzrcgzrPPgc6xzrzOvM6uICVkIgorCisjOiBhcHBseS5jOjIyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKK21zZ3N0ciAizrTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM6uIM63IM6xzr3OrM6zzr3Pic+Dzrcgz4TOv8+FIM+Dz4XOvM6yzr/Ou865zrrOv8+NIM60zrXPg868zr/PjSAlcyIKKworIzogYXBwbHkuYzoyMjgyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBvcGVuIG9yIHJlYWQgJXMiCittc2dzdHIgIs60zrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TPjCDPhM6/IM6szr3Ov865zrPOvM6xIM6uIM63IM6xzr3OrM6zzr3Pic+Dzrcgz4TOv8+FICVzIgorCisjOiBhcHBseS5jOjI5NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgorbXNnc3RyICLOvM63IM6xz4DOv860zrXOus+Ezq4gzrHPgc+Hzq4gzrPPgc6xzrzOvM6uz4I6ICclYyciCisKKyM6IGFwcGx5LmM6MzA2MgorIywgYy1mb3JtYXQKK21zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCittc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCittc2dzdHJbMF0gIs6XIM6xzrvOu86xzrPOriDPhc+AJyDOsc+BLiAlZCDPgM6tz4TPhc+HzrUgz4PPhM6/ICVkICjOvM61z4TOsc+Ez4zPgM65z4POtyAlZCDOs8+BzrHOvM68zq4pLiIKK21zZ3N0clsxXSAizpcgzrHOu867zrHOs86uIM+Fz4AnIM6xz4EuICVkIM+Azq3PhM+Fz4fOtSDPg8+Ezr8gJWQgKM68zrXPhM6xz4TPjM+AzrnPg863ICVkIM6zz4HOsc68zrzOrc+CKS4iCisKKyM6IGFwcGx5LmM6MzA3NAorIywgYy1mb3JtYXQKK21zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgorbXNnc3RyICIiCisizqTOvyDPgM67zrHOr8+DzrnOvyDOvM61zrnPjs64zrfOus61IM+DzrUgKCVsZC8lbGQpIM6zzrnOsSDPhM63zr0gzrXPhs6xz4HOvM6/zrPOriDPhM6/z4UgzrHPgM6/z4PPgM6sz4POvM6xz4TOv8+CIM+Dz4TOvyAlZCIKKworIzogYXBwbHkuYzozMDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuIgorIiUuKnMiCittc2dzdHIgIiIKKyLOus6xz4TOrCDPhM63zr0gzrHOvc6xzrbOrs+EzrfPg863IM6zzrnOsSDPhM6/OlxuIgorIiUuKnMiCisKKyM6IGFwcGx5LmM6MzEwMgorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIGJpbmFyeSBwYXRjaCBkYXRhIGZvciAnJXMnIgorbXNnc3RyICLOu861zq/PgM6/z4XOvSDPhM6xIM60z4XOsc60zrnOus6sIM60zrXOtM6/zrzOrc69zrEgzrTOuc+Mz4HOuM+Jz4POt8+CIM6zzrnOsSDPhM6/ICclcyciCisKKyM6IGFwcGx5LmM6MzExMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmV2ZXJzZS1hcHBseSBhIGJpbmFyeSBwYXRjaCB3aXRob3V0IHRoZSByZXZlcnNlIGh1bmsgdG8gJyVzJyIKK21zZ3N0ciAiIgorIs60zrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TOriDOtyDOtc+GzrHPgc68zr/Os86uIM+Az4HOv8+CIM+EzrEgz4DOr8+Dz4kgzrTPhc6xzrTOuc66zq7PgiDOtM65z4zPgc64z4nPg863z4Igz4fPic+Bzq/PgiDPhM63zr0gzrHOu867zrHOs86uICIKKyLPgM+Bzr/PgiDPhM6xIM+Azq/Pg8+JIM+Dz4TOvyAnJXMnIgorCisjOiBhcHBseS5jOjMxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFwcGx5IGJpbmFyeSBwYXRjaCB0byAnJXMnIHdpdGhvdXQgZnVsbCBpbmRleCBsaW5lIgorbXNnc3RyICIiCisizrTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM6uIM63IM61z4bOsc+BzrzOv86zzq4gzrTPhc6xzrTOuc66zq7PgiDOtM65z4zPgc64z4nPg863z4Igz4PPhM6/ICclcycgz4fPic+Bzq/PgiDPhM63zr0gz4DOu86uz4HOtyAiCisizrPPgc6xzrzOvM6uIM61z4XPgc61z4TOt8+Bzq/Ov8+FIgorCisjOiBhcHBseS5jOjMxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInRoZSBwYXRjaCBhcHBsaWVzIHRvICclcycgKCVzKSwgd2hpY2ggZG9lcyBub3QgbWF0Y2ggdGhlIGN1cnJlbnQgY29udGVudHMuIgorbXNnc3RyICIiCisizrcgzrTOuc+Mz4HOuM+Jz4POtyDOtc+GzrHPgc68z4zOts61z4TOsc65IM+Dz4TOvyAnJXMnICglcyksIM+Azr/PhSDOtM61zr0gz4TOsc65z4HOuc6szrbOtc65IM68zrUgz4TOsSDPgM6xz4HPjM69z4TOsSAiCisiz4DOtc+BzrnOtc+Hz4zOvM61zr3OsS4iCisKKyM6IGFwcGx5LmM6MzE3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGF0Y2ggYXBwbGllcyB0byBhbiBlbXB0eSAnJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiCittc2dzdHIgIs63IM60zrnPjM+BzrjPic+DzrcgzrXPhs6xz4HOvM+MzrbOtc+EzrHOuSDPg861IM6tzr3OsSDOus61zr3PjCAnJXMnIM6xzrvOu86sIM60zrXOvSDOtc6vzr3Osc65IM66zrXOvc+MIgorCisjOiBhcHBseS5jOjMxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG5lY2Vzc2FyeSBwb3N0aW1hZ2UgJXMgZm9yICclcycgY2Fubm90IGJlIHJlYWQiCittc2dzdHIgIs60zrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TOriDOtyDOsc69zqzOs869z4nPg863IM+EzrfPgiDOsc69zrHOs866zrHOr86xz4IgcG9zdGltYWdlICVzIM6zzrnOsSDPhM6/ICclcyciCisKKyM6IGFwcGx5LmM6MzIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKK21zZ3N0ciAizrcgzrTPhc6xzrTOuc66zq4gzrTOuc+Mz4HOuM+Jz4POtyDOtM61zr0gzrXPhs6xz4HOvM+MzrbOtc+EzrHOuSDPg8+Ezr8gJyVzJyIKKworIzogYXBwbHkuYzozMjEyCisjLCBjLWZvcm1hdAorbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgorbXNnc3RyICIiCisizrcgzrTPhc6xzrTOuc66zq4gzrTOuc+Mz4HOuM+Jz4POtyDPg8+Ezr8gJyVzJyDOtM63zrzOuc6/z4XPgc6zzrXOryDOu86szrjOv8+CIM6xz4DOv8+Ezq3Ou861z4POvM6xICjOsc69zrHOvM61zr3PjM+EzrHOvSAlcywgIgorIs6yz4HOrc64zrfOus61ICVzKSIKKworIzogYXBwbHkuYzozMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgorbXNnc3RyICLOtyDOtM65z4zPgc64z4nPg863IM6xz4DOrc+Ez4XPh861OiAlczolbGQiCisKKyM6IGFwcGx5LmM6MzM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCittc2dzdHIgIs60zrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TOriDOtyDOtc6+zrHOs8+JzrPOriDPhM6/z4UgJXMiCisKKyM6IGFwcGx5LmM6MzQwOCBhcHBseS5jOjM0MTkgYXBwbHkuYzozNDY1IG1pZHguYzo1OCBzZXR1cC5jOjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKK21zZ3N0ciAizrHPgM6tz4TPhc+HzrUgzrcgzrHOvc6szrPOvc+Jz4POtyDPhM6/z4UgJXMiCisKKyM6IGFwcGx5LmM6MzQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICLOsc69zqzOs869z4nPg863IM6xz4DPjCDPhM6/ICclcycgz4DOr8+Dz4kgzrHPgM+MIM+Dz4XOvM6yzr/Ou865zrrPjCDOtM61z4POvM+MIgorCisjOiBhcHBseS5jOjM0NDUgYXBwbHkuYzozNjg4CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJXMgaGFzIGJlZW4gcmVuYW1lZC9kZWxldGVkIgorbXNnc3RyICLOtyDOtM65zrHOtM+Bzr/OvM6uICVzIM6tz4fOtc65IM68zrXPhM6/zr3Ov868zrHPg8+EzrXOry/OtM65zrHOs8+BzrHPhs61zq8iCisKKyM6IGFwcGx5LmM6MzUzMSBhcHBseS5jOjM3MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4IgorbXNnc3RyICIlczogzrTOtc69IM+Fz4DOrM+Bz4fOtc65IM+Dz4TOvyDOtc+Fz4HOtc+Ezq7Pgc65zr8iCisKKyM6IGFwcGx5LmM6MzU0MCBhcHBseS5jOjM3MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IgorbXNnc3RyICIlczogzrTOtc69IM+EzrHOuc+BzrnOrM62zrXOuSDOvM61IM+Ezr8gzrXPhc+BzrXPhM6uz4HOuc6/IgorCisjOiBhcHBseS5jOjM1NzUKK21zZ2lkICJyZXBvc2l0b3J5IGxhY2tzIHRoZSBuZWNlc3NhcnkgYmxvYiB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIgorbXNnc3RyICIiCisizrHPgM+MIM+Ezr8gzrHPgM6/zrjOtc+Ezq7Pgc65zr8gzrvOtc6vz4DOtc65IM+Ezr8gzrHOvc6xzrPOus6xzq/OvyBibG9iIM6zzrnOsSDOvc6xIM6xzrrOv867zr/Phc64zrfOuM61zq8gzrcgzrXOvc6xzrvOu86xzrrPhM65zrrOriAiCisiz4TOt8+CIM+Ez4HOuc+AzrvOrs+CIM+Dz4XOs8+Hz47Ovc61z4XPg863z4IuIgorCisjOiBhcHBseS5jOjM1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFsbGluZyBiYWNrIHRvIHRocmVlLXdheSBtZXJnZS4uLlxuIgorbXNnc3RyICLOkc66zr/Ou86/z4XOuM61zq/PhM6xzrkgzrcgzrXOvc6xzrvOu86xzrrPhM65zrrOriDPhM63z4Igz4TPgc65z4DOu86uz4Igz4PPhc6zz4fPjs69zrXPhc+DzrfPgi4uLlxuIgorCisjOiBhcHBseS5jOjM1OTQgYXBwbHkuYzozNTk4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mICclcyciCittc2dzdHIgIs60zrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TOriDOtyDOsc69zqzOs869z4nPg863IM+Ez4nOvSDPhM+BzrXPh8+Mzr3PhM+Jzr0gz4DOtc+BzrnOtc+Hzr/OvM6tzr3Pic69IM+Ezr/PhSAnJXMnIgorCisjOiBhcHBseS5jOjM2MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGZhbGwgYmFjayBvbiB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKK21zZ3N0ciAizpHPgM6tz4TPhc+HzrUgzrcgzrXOvc6xzrvOu86xzrrPhM65zrrOriDPhM63z4Igz4TPgc65z4DOu86uz4Igz4PPhc6zz4fPjs69zrXPhc+DzrfPgi4uLlxuIgorCisjOiBhcHBseS5jOjM2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIHdpdGggY29uZmxpY3RzLlxuIgorbXNnc3RyICLOlyDOtc+GzrHPgc68zr/Os86uIM+EzrfPgiDOtM65z4zPgc64z4nPg863z4Igz4PPhM6/ICclcycgzq3Os865zr3OtSDOvM61IM+Dz4XOs866z4HOv8+Nz4POtc65z4IuXG4iCisKKyM6IGFwcGx5LmM6MzYyOQorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgY2xlYW5seS5cbiIKK21zZ3N0ciAizpcgzrXPhs6xz4HOvM6/zrPOriDPhM63z4IgzrTOuc+Mz4HOuM+Jz4POt8+CIM+Dz4TOvyAnJXMnIM6tzrPOuc69zrUgzrrOsc64zrHPgc6sLlxuIgorCisjOiBhcHBseS5jOjM2NTUKK21zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgorbXNnc3RyICLOtyDOtM65z4zPgc64z4nPg863IM6xz4bOsc6vz4HOtc+DzrfPgiDOsc+Gzq7Ovc61zrkgz4DOr8+Dz4kgz4DOtc+BzrnOtc+Hz4zOvM61zr3OsSDPg8+Ezr8gzrHPgc+HzrXOr86/IgorCisjOiBhcHBseS5jOjM3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyb25nIHR5cGUiCittc2dzdHIgIiVzOiDOu86szrjOv8+CIM+Ez43PgM6/z4IiCisKKyM6IGFwcGx5LmM6MzczMAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCittc2dzdHIgIiVzIM6tz4fOtc65IM+Ez43PgM6/ICVvLCDOsc69zrHOvM61zr3PjM+EzrHOvSAlbyIKKworIzogYXBwbHkuYzozODgxIGFwcGx5LmM6Mzg4MyByZWFkLWNhY2hlLmM6ODIwIHJlYWQtY2FjaGUuYzo4NDYKKyM6IHJlYWQtY2FjaGUuYzoxMjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgorbXNnc3RyICLOvM63IM6tzrPOus+Fz4HOtyDOtM65zrHOtM+Bzr/OvM6uICclcyciCisKKyM6IGFwcGx5LmM6MzkzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgiCittc2dzdHIgIiVzOiDPhc+AzqzPgc+HzrXOuSDOrs60zrcgz4PPhM6/IM61z4XPgc61z4TOrs+BzrnOvyIKKworIzogYXBwbHkuYzozOTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IM+Fz4DOrM+Bz4fOtc65IM6uzrTOtyDPg8+Ezr/OvSDPhs6szrrOtc67zr8gzrXPgc6zzrHPg86vzrHPgiIKKworIzogYXBwbHkuYzozOTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSIKK21zZ3N0ciAizrcgzr3Orc6xIM66zrHPhM6sz4PPhM6xz4POtyAoJW8pIM+Ezr/PhSAlcyDOtM61zr0gz4TOsc65z4HOuc6szrbOtc65IM68zrUgz4TOt869IM+AzrHOu865zqwgKCVvKSIKKworIzogYXBwbHkuYzozOTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKK21zZ3N0ciAizrcgzr3Orc6xIM66zrHPhM6sz4PPhM6xz4POtyAoJW8pIM+Ezr/PhSAlcyDOtM61zr0gz4TOsc65z4HOuc6szrbOtc65IM68zrUgz4TOt869IM+AzrHOu865zqwgKCVvKSDPhM6/z4UgJXMiCisKKyM6IGFwcGx5LmM6Mzk4NworIywgYy1mb3JtYXQKK21zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiz4TOvyDOsc+Bz4fOtc6vzr8gz4DOv8+FIM61z4DOt8+BzrXOrM62zrXPhM6xzrkgJyVzJyDOtc6vzr3Osc65IM+Azq/Pg8+JIM6xz4DPjCDPg8+FzrzOss6/zrvOuc66z4wgzrTOtc+DzrzPjCIKKworIzogYXBwbHkuYzozOTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXRjaCBkb2VzIG5vdCBhcHBseSIKK21zZ3N0ciAiJXM6IM63IM60zrnPjM+BzrjPic+DzrcgzrTOtc69IM61z4bOsc+BzrzPjM62zrXPhM6xzrkiCisKKyM6IGFwcGx5LmM6NDAwNgorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKK21zZ3N0ciAizpPOr869zrXPhM6xzrkgzq3Ou861zrPPh86/z4Igz4TOt8+CIM60zrnPjM+BzrjPic+DzrfPgiAlcy4uLiIKKworIzogYXBwbHkuYzo0MDk4CisjLCBjLWZvcm1hdAorbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzIGZvciBzdWJtb2R1bGUgJXMiCittc2dzdHIgIs+AzrvOt8+Bzr/Phs6/z4HOr86xIHNoYTEgzrXOu867zrnPgM6uz4Igzq4gzqzPh8+BzrfPg8+EzrcgzrPOuc6xIM+EzrfOvSDPhc+Azr/Otc69z4zPhM63z4TOsSAlcyIKKworIzogYXBwbHkuYzo0MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGUgY2hhbmdlIGZvciAlcywgd2hpY2ggaXMgbm90IGluIGN1cnJlbnQgSEVBRCIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgKCVzKS4iCittc2dzdHIgIs+AzrvOt8+Bzr/Phs6/z4HOr86xIHNoYTEgzrXOu867zrnPgM6uz4Igzq4gzqzPh8+BzrfPg8+EzrcgKCVzKS4iCisKKyM6IGFwcGx5LmM6NDExMyBidWlsdGluL2NoZWNrb3V0LmM6MjQ4IGJ1aWx0aW4vcmVzZXQuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKK21zZ3N0ciAiz4TOvyBtYWtlX2NhY2hlX2VudHJ5IM6xz4DOrc+Ez4XPh861IM6zzrnOsSDPhM63IM60zrnOsc60z4HOv868zq4gJyVzJyIKKworIzogYXBwbHkuYzo0MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBhZGQgJXMgdG8gdGVtcG9yYXJ5IGluZGV4IgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDEyNworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdGVtcG9yYXJ5IGluZGV4IHRvICVzIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVtb3ZlICVzIGZyb20gaW5kZXgiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQzMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHN0YXQgbmV3bHkgY3JlYXRlZCBmaWxlICclcyciCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDMxOSBhcHBseS5jOjQ0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB3cml0ZSB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJyVzJyBtb2RlICVvIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDUzNAorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgorbXNnc3RyICLOlyDOtc+GzrHPgc68zr/Os86uIM+EzrfPgiDOtM65z4zPgc64z4nPg863z4IgJyVzJyDOrc6zzrnOvc61IM66zrHOuM6xz4HOrC4iCisKKyM6IGFwcGx5LmM6NDU0MgorbXNnaWQgImludGVybmFsIGVycm9yIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDU0NQorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCittc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBhcHBseS5jOjQ1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJ1bmNhdGluZyAucmVqIGZpbGVuYW1lIHRvICUuKnMucmVqIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDU2NCBidWlsdGluL2ZldGNoLmM6ODM3IGJ1aWx0aW4vZmV0Y2guYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDU3OAorIywgYy1mb3JtYXQKK21zZ2lkICJIdW5rICMlZCBhcHBsaWVkIGNsZWFubHkuIgorbXNnc3RyICLOlyDOsc67zrvOsc6zzq4gz4XPgCcgzrHPgS4gJWQgzrXPhs6xz4HOvM+Mz4PPhM63zrrOtSDOus6xzrjOsc+BzqwuIgorCisjOiBhcHBseS5jOjQ1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVqZWN0ZWQgaHVuayAjJWQuIgorbXNnc3RyICLOkc+Azr/Pgc+Bzq/Phs64zrfOus61IM63IM6xzrvOu86xzrPOriDPhc+AJyDOsc+BLiAlZC4iCisKKyM6IGFwcGx5LmM6NDY5MgorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGVkIHBhdGNoICclcycuIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDcwMAorbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKK21zZ3N0ciAizrTOtc69IM6xzr3Osc6zzr3Pic+Bzq/Ots61z4TOsc65IM63IM61zrnPg86xzrPPic6zzq4iCisKKyM6IGFwcGx5LmM6NDcyMAorbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0ODc1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJzogJXMiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgorbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBhcHBseS5jOjQ5MDggYXBwbHkuYzo0OTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGxpbmUgYWRkcyB3aGl0ZXNwYWNlIGVycm9ycy4iCittc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFkZCB3aGl0ZXNwYWNlIGVycm9ycy4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBhcHBseS5jOjQ5MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgbGluZSBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCittc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGFwcGx5LmM6NDkzMiBidWlsdGluL2FkZC5jOjUzOSBidWlsdGluL212LmM6MzAxIGJ1aWx0aW4vcm0uYzozOTAKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0OTU5IGFwcGx5LmM6NDk2MiBidWlsdGluL2FtLmM6MjIwMyBidWlsdGluL2FtLmM6MjIwNgorIzogYnVpbHRpbi9jbG9uZS5jOjEyMiBidWlsdGluL2ZldGNoLmM6MTE4IGJ1aWx0aW4vbWVyZ2UuYzoyNjMKKyM6IGJ1aWx0aW4vcHVsbC5jOjIwMCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDkyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk3Cittc2dpZCAicGF0aCIKK21zZ3N0ciAizrTOuc6xzrTPgc6/zrzOriIKKworIzogYXBwbHkuYzo0OTYwCittc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ5NjMKK21zZ2lkICJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDk2NSBidWlsdGluL2FtLmM6MjIxMgorbXNnaWQgIm51bSIKK21zZ3N0ciAizrHPgc65zrguIgorCisjOiBhcHBseS5jOjQ5NjYKK21zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ5NjkKK21zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDk3MQorbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ5NzUKK21zZ2lkICJzaG93IG51bWJlciBvZiBhZGRlZCBhbmQgZGVsZXRlZCBsaW5lcyBpbiBkZWNpbWFsIG5vdGF0aW9uIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDk3NworbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgYSBzdW1tYXJ5IGZvciB0aGUgaW5wdXQiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0OTc5Cittc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIHNlZSBpZiB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ5ODEKK21zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0OTgzCittc2dpZCAibWFyayBuZXcgZmlsZXMgd2l0aCBgZ2l0IGFkZCAtLWludGVudC10by1hZGRgIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDk4NQorbXNnaWQgImFwcGx5IGEgcGF0Y2ggd2l0aG91dCB0b3VjaGluZyB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NDk4NworbXNnaWQgImFjY2VwdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBvdXRzaWRlIHRoZSB3b3JraW5nIGFyZWEiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0OTkwCittc2dpZCAiYWxzbyBhcHBseSB0aGUgcGF0Y2ggKHVzZSB3aXRoIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0OTkyCittc2dpZCAiYXR0ZW1wdCB0aHJlZS13YXkgbWVyZ2UgaWYgYSBwYXRjaCBkb2VzIG5vdCBhcHBseSIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ5OTQKK21zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjQ5OTcgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MyBidWlsdGluL2xzLWZpbGVzLmM6NTI0Cittc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo0OTk5Cittc2dpZCAiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NTAwMCBidWlsdGluL2FtLmM6MjE5MSBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk3CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk5IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTQgYnVpbHRpbi9yZWJhc2UuYzoxMDY1Cittc2dpZCAiYWN0aW9uIgorbXNnc3RyICLOtc69zq3Pgc6zzrXOuc6xIgorCisjOiBhcHBseS5jOjUwMDEKK21zZ2lkICJkZXRlY3QgbmV3IG9yIG1vZGlmaWVkIGxpbmVzIHRoYXQgaGF2ZSB3aGl0ZXNwYWNlIGVycm9ycyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjUwMDQgYXBwbHkuYzo1MDA3Cittc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjUwMTAKK21zZ2lkICJhcHBseSB0aGUgcGF0Y2ggaW4gcmV2ZXJzZSIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjUwMTIKK21zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjUwMTQKK21zZ2lkICJsZWF2ZSB0aGUgcmVqZWN0ZWQgaHVua3MgaW4gY29ycmVzcG9uZGluZyAqLnJlaiBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjUwMTYKK21zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKK21zZ3N0ciAiIgorCisjOiBhcHBseS5jOjUwMTcgYnVpbHRpbi9hZGQuYzoyOTEgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMgorIzogYnVpbHRpbi9jb21taXQuYzoxMzEyIGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk4IGJ1aWx0aW4vZnNjay5jOjcyNAorIzogYnVpbHRpbi9sb2cuYzoyMDM3IGJ1aWx0aW4vbXYuYzoxMjMgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjgKKyM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1OQorbXNnaWQgImJlIHZlcmJvc2UiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo1MDE5Cittc2dpZCAidG9sZXJhdGUgaW5jb3JyZWN0bHkgZGV0ZWN0ZWQgbWlzc2luZyBuZXctbGluZSBhdCB0aGUgZW5kIG9mIGZpbGUiCittc2dzdHIgIiIKKworIzogYXBwbHkuYzo1MDIyCittc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NTAyNCBidWlsdGluL2FtLmM6MjIwMAorbXNnaWQgInJvb3QiCittc2dzdHIgIs+Bzq/Ots6xIgorCisjOiBhcHBseS5jOjUwMjUKK21zZ2lkICJwcmVwZW5kIDxyb290PiB0byBhbGwgZmlsZW5hbWVzIgorbXNnc3RyICLPgM+Bzr/Pg864zq7Ous63IM+Ezr/PhSDPgM+Bzr/OuM6tzrzOsc+Ezr/PgiA8z4HOr862zrE+IM+DzrUgz4zOu86xIM+EzrEgzr/Ovc+MzrzOsc+EzrEgzrHPgc+HzrXOr8+Jzr0iCisKKyM6IGFyY2hpdmUuYzoxNAorbXNnaWQgImdpdCBhcmNoaXZlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCittc2dzdHIgImdpdCBhcmNoaXZlIFs8zrXPgM65zrvOv86zzq3Pgj5dIDzOtM6tzr3PhM+Bzr8gzq4gz4bOsc65zr3Ov868zrXOvc65zrrPjD4gWzzOtM65zrHOtM+Bzr/OvM6uPi4uLl0iCisKKyM6IGFyY2hpdmUuYzoxNQorbXNnaWQgImdpdCBhcmNoaXZlIC0tbGlzdCIKK21zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1saXN0IgorCisjOiBhcmNoaXZlLmM6MTYKK21zZ2lkICIiCisiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCittc2dzdHIgIiIKKyJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8zrHPgM6/zrjOtc+Ezq7Pgc65zr8+IFstLWV4ZWMgPM61zr3PhM6/zrvOrj5dIFs8zrXPgM65zrvOv86zzq3Pgj5dIDzOtM6tzr3PhM+Bzr8gzq4gIgorIs+GzrHOuc69zr/OvM61zr3Ouc66z4w+IFs8zrTOuc6xzrTPgc6/zrzOrj4uLi5dIgorCisjOiBhcmNoaXZlLmM6MTcKK21zZ2lkICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8cmVwbz4gWy0tZXhlYyA8Y21kPl0gLS1saXN0IgorbXNnc3RyICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8zrHPgM6/zrjOtc+Ezq7Pgc65zr8+IFstLWV4ZWMgPM61zr3PhM6/zrvOrj5dIC0tbGlzdCIKKworIzogYXJjaGl2ZS5jOjM3MiBidWlsdGluL2FkZC5jOjE3NyBidWlsdGluL2FkZC5jOjUxNSBidWlsdGluL3JtLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiCittc2dzdHIgIs63IM60zrnOsc60z4HOv868zq4gJyVzJyDOtM61zr0gz4TOsc65z4HOuc6szrbOtc65IM68zrUgzrrOsc69zq3Ovc6xIM6xz4HPh861zq/OvyIKKworIzogYXJjaGl2ZS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlZjogJS4qcyIKK21zZ3N0ciAizrTOtc69IM+Fz4DOrM+Bz4fOtc65IHJlZjogJS4qcyIKKworIzogYXJjaGl2ZS5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJXMiCittc2dzdHIgIs68zrcgzq3Os866z4XPgc6/IM+Mzr3Ov868zrEgzrHOvc+EzrnOus61zrnOvM6tzr3Ov8+FOiAlcyIKKworIzogYXJjaGl2ZS5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSB0cmVlIG9iamVjdDogJXMiCittc2dzdHIgIs60zrXOvSDOtc6vzr3Osc65IM6xzr3PhM65zrrOtc6vzrzOtc69zr8gzrTOrc69z4TPgc6/z4U6ICVzIgorCisjOiBhcmNoaXZlLmM6NDI0Cittc2dpZCAiY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBpcyB1bnRyYWNrZWQiCittc2dzdHIgIs6/IM+Ez4HOrc+Hz4nOvSDPhs6szrrOtc67zr/PgiDOtc+BzrPOsc+Dzq/Osc+CIM60zrXOvSDPgM6xz4HOsc66zr/Ou86/z4XOuM61zq/PhM6xzrkiCisKKyM6IGFyY2hpdmUuYzo0NTUKK21zZ2lkICJmbXQiCittc2dzdHIgIs68z4HPhi4iCisKKyM6IGFyY2hpdmUuYzo0NTUKK21zZ2lkICJhcmNoaXZlIGZvcm1hdCIKK21zZ3N0ciAizrzOv8+Bz4bOriDOsc+Bz4fOtc65zr/OuM6uzrrOt8+CIgorCisjOiBhcmNoaXZlLmM6NDU2IGJ1aWx0aW4vbG9nLmM6MTU0OQorbXNnaWQgInByZWZpeCIKK21zZ3N0ciAiz4DPgc+MzrjOtc68zrEiCisKKyM6IGFyY2hpdmUuYzo0NTcKK21zZ2lkICJwcmVwZW5kIHByZWZpeCB0byBlYWNoIHBhdGhuYW1lIGluIHRoZSBhcmNoaXZlIgorbXNnc3RyICLPgM+Bzr/Pg864zq7Ous63IM+Ezr/PhSDPgM+Bzr/OuM6tzrzOsc+Ezr/PgiDPg861IM66zqzOuM61IM+Mzr3Ov868zrEgzrTOuc6xzrTPgc6/zrzOrs+CIM+Dz4TOt869IM6xz4HPh861zrnOv864zq7Ous63IgorCisjOiBhcmNoaXZlLmM6NDU4IGJ1aWx0aW4vYmxhbWUuYzo4MjAgYnVpbHRpbi9ibGFtZS5jOjgyMSBidWlsdGluL2NvbmZpZy5jOjEyOQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwOTEgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwOTMgYnVpbHRpbi9ncmVwLmM6ODk1CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA1IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjAgYnVpbHRpbi9scy1maWxlcy5jOjU2MworIzogYnVpbHRpbi9ub3Rlcy5jOjQxMiBidWlsdGluL25vdGVzLmM6NTc4IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIzCisjOiBwYXJzZS1vcHRpb25zLmg6MTYyCittc2dpZCAiZmlsZSIKK21zZ3N0ciAizrHPgc+HzrXOr86/IgorCisjOiBhcmNoaXZlLmM6NDU5IGJ1aWx0aW4vYXJjaGl2ZS5jOjkwCittc2dpZCAid3JpdGUgdGhlIGFyY2hpdmUgdG8gdGhpcyBmaWxlIgorbXNnc3RyICLOsc+Bz4fOtc65zr/OuM6tz4TOt8+Dzrcgz4POtSDOsc+Fz4TPjCDPhM6/IM6xz4HPh861zq/OvyIKKworIzogYXJjaGl2ZS5jOjQ2MQorbXNnaWQgInJlYWQgLmdpdGF0dHJpYnV0ZXMgaW4gd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogYXJjaGl2ZS5jOjQ2MgorbXNnaWQgInJlcG9ydCBhcmNoaXZlZCBmaWxlcyBvbiBzdGRlcnIiCittc2dzdHIgIiIKKworIzogYXJjaGl2ZS5jOjQ2MworbXNnaWQgInN0b3JlIG9ubHkiCittc2dzdHIgIiIKKworIzogYXJjaGl2ZS5jOjQ2NAorbXNnaWQgImNvbXByZXNzIGZhc3RlciIKK21zZ3N0ciAiz4TOsc+Hz43PhM61z4HOtyDPg8+FzrzPgM6vzrXPg863IgorCisjOiBhcmNoaXZlLmM6NDcyCittc2dpZCAiY29tcHJlc3MgYmV0dGVyIgorbXNnc3RyICLOus6xzrvPjc+EzrXPgc63IM+Dz4XOvM+Azq/Otc+DzrciCisKKyM6IGFyY2hpdmUuYzo0NzUKK21zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCittc2dzdHIgIs+AzrHPgc6szrjOtc+Dzrcgz4XPgM6/z4PPhM63z4HOuc62z4zOvM61zr3Pic69IM68zr/Pgc+Gz47OvSDOsc+Bz4fOtc65zr/OuM6tz4TOt8+DzrfPgiIKKworIzogYXJjaGl2ZS5jOjQ3NyBidWlsdGluL2FyY2hpdmUuYzo5MSBidWlsdGluL2Nsb25lLmM6MTEyIGJ1aWx0aW4vY2xvbmUuYzoxMTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODU5Cittc2dpZCAicmVwbyIKK21zZ3N0ciAizrHPgM6/zrguIgorCisjOiBhcmNoaXZlLmM6NDc4IGJ1aWx0aW4vYXJjaGl2ZS5jOjkyCittc2dpZCAicmV0cmlldmUgdGhlIGFyY2hpdmUgZnJvbSByZW1vdGUgcmVwb3NpdG9yeSA8cmVwbz4iCittc2dzdHIgIiIKKworIzogYXJjaGl2ZS5jOjQ3OSBidWlsdGluL2FyY2hpdmUuYzo5MyBidWlsdGluL2RpZmZ0b29sLmM6NzE1CisjOiBidWlsdGluL25vdGVzLmM6NDk4Cittc2dpZCAiY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBhcmNoaXZlLmM6NDgwIGJ1aWx0aW4vYXJjaGl2ZS5jOjk0Cittc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IGFyY2hpdmUuYzo0ODcKK21zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLXJlbW90ZSIKK21zZ3N0ciAiIgorCisjOiBhcmNoaXZlLmM6NDg5Cittc2dpZCAiT3B0aW9uIC0tZXhlYyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1yZW1vdGUiCittc2dzdHIgIiIKKworIzogYXJjaGl2ZS5jOjQ5MQorbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGFyY2hpdmUuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBhcmNoaXZlIGZvcm1hdCAnJXMnIgorbXNnc3RyICLOhs6zzr3Pic+Dz4TOtyDOvM6/z4HPhs6uIM6xz4HPh861zrnOv864zq3PhM63z4POt8+CICclcyciCisKKyM6IGFyY2hpdmUuYzo1MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXJndW1lbnQgbm90IHN1cHBvcnRlZCBmb3IgZm9ybWF0ICclcyc6IC0lZCIKK21zZ3N0ciAiIgorCisjOiBhcmNoaXZlLXRhci5jOjEyNSBhcmNoaXZlLXppcC5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RyZWFtIGJsb2IgJXMiCittc2dzdHIgIs60zrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TOriDOtyDPgc6/zq4gz4TOv8+FIGJsb2IgJXMiCisKKyM6IGFyY2hpdmUtdGFyLmM6MjYwIGFyY2hpdmUtemlwLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGUgbW9kZTogMCVvIChTSEExOiAlcykiCittc2dzdHIgIiIKKworIzogYXJjaGl2ZS10YXIuYzoyODcgYXJjaGl2ZS16aXAuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgIiIKKworIzogYXJjaGl2ZS10YXIuYzo0NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHN0YXJ0ICclcycgZmlsdGVyIgorbXNnc3RyICIiCisKKyM6IGFyY2hpdmUtdGFyLmM6NDYxCittc2dpZCAidW5hYmxlIHRvIHJlZGlyZWN0IGRlc2NyaXB0b3IiCittc2dzdHIgIiIKKworIzogYXJjaGl2ZS10YXIuYzo0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBmaWx0ZXIgcmVwb3J0ZWQgZXJyb3IiCittc2dzdHIgIiIKKworIzogYXJjaGl2ZS16aXAuYzozMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aCBpcyBub3QgdmFsaWQgVVRGLTg6ICVzIgorbXNnc3RyICIiCisKKyM6IGFyY2hpdmUtemlwLmM6MzE4CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggdG9vIGxvbmcgKCVkIGNoYXJzLCBTSEExOiAlcyk6ICVzIgorbXNnc3RyICIiCisKKyM6IGFyY2hpdmUtemlwLmM6NDc0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjI1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgImRlZmxhdGUgZXJyb3IgKCVkKSIKK21zZ3N0ciAiIgorCisjOiBhcmNoaXZlLXppcC5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lc3RhbXAgdG9vIGxhcmdlIGZvciB0aGlzIHN5c3RlbTogJTxQUkl1TUFYPiIKK21zZ3N0ciAiIgorCisjOiBhdHRyLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiUuKnMgaXMgbm90IGEgdmFsaWQgYXR0cmlidXRlIG5hbWUiCittc2dzdHIgIiIKKworIzogYXR0ci5jOjM2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYWxsb3dlZDogJXM6JWQiCittc2dzdHIgIiIKKworIzogYXR0ci5jOjQwOAorbXNnaWQgIiIKKyJOZWdhdGl2ZSBwYXR0ZXJucyBhcmUgaWdub3JlZCBpbiBnaXQgYXR0cmlidXRlc1xuIgorIlVzZSAnXFwhJyBmb3IgbGl0ZXJhbCBsZWFkaW5nIGV4Y2xhbWF0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBiaXNlY3QuYzo0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkbHkgcXVvdGVkIGNvbnRlbnQgaW4gZmlsZSAnJXMnOiAlcyIKK21zZ3N0ciAiIgorCisjOiBiaXNlY3QuYzo2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2UgY2Fubm90IGJpc2VjdCBtb3JlIVxuIgorbXNnc3RyICIiCisKKyM6IGJpc2VjdC5jOjczMworIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYSB2YWxpZCBjb21taXQgbmFtZSAlcyIKK21zZ3N0ciAizpzOtyDOrc6zzrrPhc+Bzr8gz4zOvc6/zrzOsSDPhc+Azr/Oss6/zrvOrs+CICVzIgorCisjOiBiaXNlY3QuYzo3NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBtZXJnZSBiYXNlICVzIGlzIGJhZC5cbiIKKyJUaGlzIG1lYW5zIHRoZSBidWcgaGFzIGJlZW4gZml4ZWQgYmV0d2VlbiAlcyBhbmQgWyVzXS5cbiIKK21zZ3N0ciAiIgorCisjOiBiaXNlY3QuYzo3NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBtZXJnZSBiYXNlICVzIGlzIG5ldy5cbiIKKyJUaGUgcHJvcGVydHkgaGFzIGNoYW5nZWQgYmV0d2VlbiAlcyBhbmQgWyVzXS5cbiIKK21zZ3N0ciAiIgorCisjOiBiaXNlY3QuYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBtZXJnZSBiYXNlICVzIGlzICVzLlxuIgorIlRoaXMgbWVhbnMgdGhlIGZpcnN0ICclcycgY29tbWl0IGlzIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCittc2dzdHIgIiIKKworIzogYmlzZWN0LmM6Nzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJTb21lICVzIHJldnMgYXJlIG5vdCBhbmNlc3RvcnMgb2YgdGhlICVzIHJldi5cbiIKKyJnaXQgYmlzZWN0IGNhbm5vdCB3b3JrIHByb3Blcmx5IGluIHRoaXMgY2FzZS5cbiIKKyJNYXliZSB5b3UgbWlzdG9vayAlcyBhbmQgJXMgcmV2cz9cbiIKK21zZ3N0ciAiIgorCisjOiBiaXNlY3QuYzo3ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInRoZSBtZXJnZSBiYXNlIGJldHdlZW4gJXMgYW5kIFslc10gbXVzdCBiZSBza2lwcGVkLlxuIgorIlNvIHdlIGNhbm5vdCBiZSBzdXJlIHRoZSBmaXJzdCAlcyBjb21taXQgaXMgYmV0d2VlbiAlcyBhbmQgJXMuXG4iCisiV2UgY29udGludWUgYW55d2F5LiIKK21zZ3N0ciAiIgorCisjOiBiaXNlY3QuYzo4MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmlzZWN0aW5nOiBhIG1lcmdlIGJhc2UgbXVzdCBiZSB0ZXN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBiaXNlY3QuYzo4NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCittc2dzdHIgIiIKKworIzogYmlzZWN0LmM6ODg0IGJ1aWx0aW4vbm90ZXMuYzoxNzcgYnVpbHRpbi90YWcuYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBmaWxlICclcyciCittc2dzdHIgIiIKKworIzogYmlzZWN0LmM6OTM3IGJ1aWx0aW4vbWVyZ2UuYzoxMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZmlsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJpc2VjdC5jOjk2NworbXNnaWQgInJlYWRpbmcgYmlzZWN0IHJlZnMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGJpc2VjdC5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB3YXMgYm90aCAlcyBhbmQgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBiaXNlY3QuYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vIHRlc3RhYmxlIGNvbW1pdCBmb3VuZC5cbiIKKyJNYXliZSB5b3Ugc3RhcnRlZCB3aXRoIGJhZCBwYXRoIHBhcmFtZXRlcnM/XG4iCittc2dzdHIgIiIKKworIzogYmlzZWN0LmM6MTAxMworIywgYy1mb3JtYXQKK21zZ2lkICIocm91Z2hseSAlZCBzdGVwKSIKK21zZ2lkX3BsdXJhbCAiKHJvdWdobHkgJWQgc3RlcHMpIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIy4gVFJBTlNMQVRPUlM6IHRoZSBsYXN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCAiKHJvdWdobHkgJWQKKyMuIHN0ZXBzKSIgdHJhbnNsYXRpb24uCisjLgorIzogYmlzZWN0LmM6MTAxOQorIywgYy1mb3JtYXQKK21zZ2lkICJCaXNlY3Rpbmc6ICVkIHJldmlzaW9uIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzICVzXG4iCittc2dpZF9wbHVyYWwgIkJpc2VjdGluZzogJWQgcmV2aXNpb25zIGxlZnQgdG8gdGVzdCBhZnRlciB0aGlzICVzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBibGFtZS5jOjE3OTIKK21zZ2lkICItLWNvbnRlbnRzIGFuZCAtLXJldmVyc2UgZG8gbm90IGJsZW5kIHdlbGwuIgorbXNnc3RyICIiCisKKyM6IGJsYW1lLmM6MTgwNgorbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBibGFtZS5jOjE4MjcKK21zZ2lkICItLXJldmVyc2UgYW5kIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgc3BlY2lmaWVkIGxhdGVzdCBjb21taXQiCittc2dzdHIgIiIKKworIzogYmxhbWUuYzoxODM2IGJ1bmRsZS5jOjE2NCByZWYtZmlsdGVyLmM6MjA3MSByZW1vdGUuYzoxOTQ4IHNlcXVlbmNlci5jOjE5OTMKKyM6IHNlcXVlbmNlci5jOjQwNjQgYnVpbHRpbi9jb21taXQuYzoxMDA0IGJ1aWx0aW4vbG9nLmM6Mzc4IGJ1aWx0aW4vbG9nLmM6OTM2CisjOiBidWlsdGluL2xvZy5jOjE0MjAgYnVpbHRpbi9sb2cuYzoxNzk2IGJ1aWx0aW4vbG9nLmM6MjA4NiBidWlsdGluL21lcmdlLmM6NDA3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMzcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTUyCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MTkyCittc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCittc2dzdHIgIs63IM6xz4HPh865zrrOv8+Azr/Or863z4POtyDPhM6/z4UgzrzOv869zr/PgM6xz4TOuc6/z40gzrXOus60z4zPg861z4nOvSDOsc+Azq3PhM+Fz4fOtSIKKworIzogYmxhbWUuYzoxODU0Cittc2dpZCAiIgorIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHJhbmdlIGFsb25nIGZpcnN0LXBhcmVudCBjaGFpbiIKK21zZ3N0ciAiIgorCisjOiBibGFtZS5jOjE4NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCBwYXRoICVzIGluICVzIgorbXNnc3RyICLOtM61zr0gz4XPgM6sz4HPh861zrkgz4TOrc+Ezr/Ouc6xIM60zrnOsc60z4HOv868zq4gJXMgz4PPhM6/ICVzIgorCisjOiBibGFtZS5jOjE4NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgYmxvYiAlcyBmb3IgcGF0aCAlcyIKK21zZ3N0ciAizrTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM6uIM63IM6xzr3OrM6zzr3Pic+Dzrcgz4TOv8+FIGJsb2IgJXMgzrPOuc6xIM+EzrcgzrTOuc6xzrTPgc6/zrzOriAlcyIKKworIzogYnJhbmNoLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkFmdGVyIGZpeGluZyB0aGUgZXJyb3IgY2F1c2UgeW91IG1heSB0cnkgdG8gZml4IHVwXG4iCisidGhlIHJlbW90ZSB0cmFja2luZyBpbmZvcm1hdGlvbiBieSBpbnZva2luZ1xuIgorIlwiZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10bz0lcyVzJXNcIi4iCittc2dzdHIgIiIKKyJcbiIKKyLOkc+Gzr/PjSDPhs+EzrnOrM6+zrXPhM61IM+EzrfOvSDOsc65z4TOr86xIM+Ezr/PhSDPg8+GzqzOu868zrHPhM6/z4IgzrzPgM6/z4HOtc6vz4TOtSDOvc6xIM60zr/Ous65zrzOrM+DzrXPhM61IM69zrEgz4bPhM65zqzOvs61z4TOtVxuIgorIs+EzrnPgiDPgM67zrfPgc6/z4bOv8+Bzq/Otc+CIM+AzrHPgc6xzrrOv867zr/Pjc64zrfPg863z4IgzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr/PhSDOus6xzrvPjs69z4TOsc+CXG4iCisiXCJnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvPSVzJXMlc1wiLiIKKworIzogYnJhbmNoLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgYnJhbmNoICVzIGFzIGl0cyBvd24gdXBzdHJlYW0uIgorbXNnc3RyICLOlM61IM6zzq/Ovc61z4TOsc65IM6/z4HOuc+DzrzPjM+CIM+Ezr/PhSAlcyDPic+CIM+Ezr8gz4DPgc6/z4Igz4TOsSDPgM6szr3PiSDPhM6/z4UgzrXOsc+Fz4TOv8+NIM+Ezr/PhS4iCisKKyM6IGJyYW5jaC5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgYnJhbmNoICclcycgZnJvbSAnJXMnIGJ5IHJlYmFzaW5nLiIKK21zZ3N0ciAiIgorCisjOiBicmFuY2guYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgcmVtb3RlIGJyYW5jaCAnJXMnIGZyb20gJyVzJy4iCittc2dzdHIgIiIKKworIzogYnJhbmNoLmM6OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIGJyYW5jaCAnJXMnIGJ5IHJlYmFzaW5nLiIKK21zZ3N0ciAiIgorCisjOiBicmFuY2guYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgYnJhbmNoICclcycuIgorbXNnc3RyICIiCisKKyM6IGJyYW5jaC5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgcmVtb3RlIHJlZiAnJXMnIGJ5IHJlYmFzaW5nLiIKK21zZ3N0ciAiIgorCisjOiBicmFuY2guYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSByZWYgJyVzJy4iCittc2dzdHIgIiIKKworIzogYnJhbmNoLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayBsb2NhbCByZWYgJyVzJyBieSByZWJhc2luZy4iCittc2dzdHIgIiIKKworIzogYnJhbmNoLmM6MTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayBsb2NhbCByZWYgJyVzJy4iCittc2dzdHIgIiIKKworIzogYnJhbmNoLmM6MTE4Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHVwc3RyZWFtIGJyYW5jaCBjb25maWd1cmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGJyYW5jaC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgdHJhY2tpbmc6IGFtYmlndW91cyBpbmZvcm1hdGlvbiBmb3IgcmVmICVzIgorbXNnc3RyICIiCisKKyM6IGJyYW5jaC5jOjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIGJyYW5jaCBuYW1lLiIKK21zZ3N0ciAiIgorCisjOiBicmFuY2guYzoyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQSBicmFuY2ggbmFtZWQgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIiIKKworIzogYnJhbmNoLmM6MjEyCittc2dpZCAiQ2Fubm90IGZvcmNlIHVwZGF0ZSB0aGUgY3VycmVudCBicmFuY2guIgorbXNnc3RyICIiCisKKyM6IGJyYW5jaC5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgc2V0dXAgdHJhY2tpbmcgaW5mb3JtYXRpb247IHN0YXJ0aW5nIHBvaW50ICclcycgaXMgbm90IGEgYnJhbmNoLiIKK21zZ3N0ciAiIgorCisjOiBicmFuY2guYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHJlcXVlc3RlZCB1cHN0cmVhbSBicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAizr8gz4DPgc6/z4Igz4TOsSDPgM6szr3PiSDOus67zqzOtM6/z4IgJyVzJyDPgM6/z4UgzrbOt8+Ezq7OuM63zrrOtSDOtM61zr0gz4XPgM6sz4HPh861zrkiCisKKyM6IGJyYW5jaC5jOjIzNgorbXNnaWQgIiIKKyJcbiIKKyJJZiB5b3UgYXJlIHBsYW5uaW5nIG9uIGJhc2luZyB5b3VyIHdvcmsgb24gYW4gdXBzdHJlYW1cbiIKKyJicmFuY2ggdGhhdCBhbHJlYWR5IGV4aXN0cyBhdCB0aGUgcmVtb3RlLCB5b3UgbWF5IG5lZWQgdG9cbiIKKyJydW4gXCJnaXQgZmV0Y2hcIiB0byByZXRyaWV2ZSBpdC5cbiIKKyJcbiIKKyJJZiB5b3UgYXJlIHBsYW5uaW5nIHRvIHB1c2ggb3V0IGEgbmV3IGxvY2FsIGJyYW5jaCB0aGF0XG4iCisid2lsbCB0cmFjayBpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LCB5b3UgbWF5IHdhbnQgdG8gdXNlXG4iCisiXCJnaXQgcHVzaCAtdVwiIHRvIHNldCB0aGUgdXBzdHJlYW0gY29uZmlnIGFzIHlvdSBwdXNoLiIKK21zZ3N0ciAiIgorCisjOiBicmFuY2guYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcycuIgorbXNnc3RyICLOnM63IM6tzrPOus+Fz4HOvyDPjM69zr/OvM6xIM6xzr3PhM65zrrOtc65zrzOrc69zr/PhTogJyVzJy4iCisKKyM6IGJyYW5jaC5jOjMwMAorIywgYy1mb3JtYXQKK21zZ2lkICJBbWJpZ3VvdXMgb2JqZWN0IG5hbWU6ICclcycuIgorbXNnc3RyICLOkc68z4bOr8+DzrfOvM6/IM+Mzr3Ov868zrEgzrHOvc+EzrnOus61zrnOvM6tzr3Ov8+FOiAnJXMnLiIKKworIzogYnJhbmNoLmM6MzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhIHZhbGlkIGJyYW5jaCBwb2ludDogJyVzJy4iCittc2dzdHIgIs6czrcgzq3Os866z4XPgc6/IM+DzrfOvM61zq/OvyDOus67zqzOtM6/z4U6ICclcycuIgorCisjOiBicmFuY2guYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGNoZWNrZWQgb3V0IGF0ICclcyciCittc2dzdHIgIiIKKworIzogYnJhbmNoLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkhFQUQgb2Ygd29ya2luZyB0cmVlICVzIGlzIG5vdCB1cGRhdGVkIgorbXNnc3RyICIiCisKKyM6IGJ1bmRsZS5jOjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZG9lcyBub3QgbG9vayBsaWtlIGEgdjIgYnVuZGxlIGZpbGUiCittc2dzdHIgIiIKKworIzogYnVuZGxlLmM6NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIGhlYWRlcjogJXMlcyAoJWQpIgorbXNnc3RyICIiCisKKyM6IGJ1bmRsZS5jOjkwIHJlcmVyZS5jOjQ4MCByZXJlcmUuYzo2OTAgc2VxdWVuY2VyLmM6MjIxNSBzZXF1ZW5jZXIuYzoyNzYzCisjOiBidWlsdGluL2NvbW1pdC5jOjc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIgorbXNnc3RyICLOtM61zr0gzq7PhM6xzr0gzrTPhc69zrHPhM+MIM+Ezr8gzqzOvc6/zrnOs868zrEgz4TOv8+FICclcyciCisKKyM6IGJ1bmRsZS5jOjE0MworbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgdGhlc2UgcHJlcmVxdWlzaXRlIGNvbW1pdHM6IgorbXNnc3RyICIiCisKKyM6IGJ1bmRsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoaXMgcmVmOiIKK21zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSBjb250YWlucyB0aGVzZSAlZCByZWZzOiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGJ1bmRsZS5jOjIwMQorbXNnaWQgIlRoZSBidW5kbGUgcmVjb3JkcyBhIGNvbXBsZXRlIGhpc3RvcnkuIgorbXNnc3RyICIiCisKKyM6IGJ1bmRsZS5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoaXMgcmVmOiIKK21zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGVzZSAlZCByZWZzOiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGJ1bmRsZS5jOjI2OQorbXNnaWQgInVuYWJsZSB0byBkdXAgYnVuZGxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiIKKworIzogYnVuZGxlLmM6Mjc2Cittc2dpZCAiQ291bGQgbm90IHNwYXduIHBhY2stb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidW5kbGUuYzoyODcKK21zZ2lkICJwYWNrLW9iamVjdHMgZGllZCIKK21zZ3N0ciAiIgorCisjOiBidW5kbGUuYzozMjkKK21zZ2lkICJyZXYtbGlzdCBkaWVkIgorbXNnc3RyICIiCisKKyM6IGJ1bmRsZS5jOjM3OAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBidW5kbGUuYzo0NTcgYnVpbHRpbi9sb2cuYzoxOTMgYnVpbHRpbi9sb2cuYzoxNzAxIGJ1aWx0aW4vc2hvcnRsb2cuYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiIgorCisjOiBidW5kbGUuYzo0NjUKK21zZ2lkICJSZWZ1c2luZyB0byBjcmVhdGUgZW1wdHkgYnVuZGxlLiIKK21zZ3N0ciAiIgorCisjOiBidW5kbGUuYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1bmRsZS5jOjUwMAorbXNnaWQgImluZGV4LXBhY2sgZGllZCIKK21zZ3N0ciAiIgorCisjOiBjb2xvci5jOjI5NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbG9yIHZhbHVlOiAlLipzIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC5jOjUwIHNlcXVlbmNlci5jOjI1NjcgYnVpbHRpbi9hbS5jOjM1NSBidWlsdGluL2FtLmM6Mzk5CisjOiBidWlsdGluL2FtLmM6MTM3NSBidWlsdGluL2FtLmM6MjAxOSBidWlsdGluL3JlcGxhY2UuYzozNzYKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMiCittc2dzdHIgIiIKKworIzogY29tbWl0LmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgaXMgbm90IGEgY29tbWl0ISIKK21zZ3N0ciAiIgorCisjOiBjb21taXQuYzoxOTMKK21zZ2lkICIiCisiU3VwcG9ydCBmb3IgPEdJVF9ESVI+L2luZm8vZ3JhZnRzIGlzIGRlcHJlY2F0ZWRcbiIKKyJhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIEdpdCB2ZXJzaW9uLlxuIgorIlxuIgorIlBsZWFzZSB1c2UgXCJnaXQgcmVwbGFjZSAtLWNvbnZlcnQtZ3JhZnQtZmlsZVwiXG4iCisidG8gY29udmVydCB0aGUgZ3JhZnRzIGludG8gcmVwbGFjZSByZWZzLlxuIgorIlxuIgorIlR1cm4gdGhpcyBtZXNzYWdlIG9mZiBieSBydW5uaW5nXG4iCisiXCJnaXQgY29uZmlnIGFkdmljZS5ncmFmdEZpbGVEZXByZWNhdGVkIGZhbHNlXCIiCittc2dzdHIgIiIKKworIzogY29tbWl0LmM6MTEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgorbXNnc3RyICLOlyDPhc+Azr/Os8+BzrHPhs6uICVzIM6tz4fOtc65IM68zrcgzrHOvs65z4zPgM65z4PPhM63IM+Fz4DOv86zz4HOsc+Gzq4gR1BHLCDOtM6uzrjOtc69IM6xz4DPjCAlcy4iCisKKyM6IGNvbW1pdC5jOjExMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGJhZCBHUEcgc2lnbmF0dXJlIGFsbGVnZWRseSBieSAlcy4iCittc2dzdHIgIs6XIM+Fz4DOv86yzr/Ou86uICVzIM6tz4fOtc65IM67zqzOuM6/z4Igz4XPgM6/zrPPgc6xz4bOriBHUEcgzrTOrs64zrXOvSDOsc+Az4wgJXMuIgorCisjOiBjb21taXQuYzoxMTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIGEgR1BHIHNpZ25hdHVyZS4iCittc2dzdHIgIs6XIM+Fz4DOv86yzr/Ou86uICVzIM60zrXOvSDOrc+HzrXOuSDPhc+Azr/Os8+BzrHPhs6uIEdQRy4iCisKKyM6IGNvbW1pdC5jOjExMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGdvb2QgR1BHIHNpZ25hdHVyZSBieSAlc1xuIgorbXNnc3RyICLOlyDPhc+Azr/Oss6/zrvOriAlcyDOrc+HzrXOuSDPg8+Jz4PPhM6uIM+Fz4DOv86zz4HOsc+Gzq4gR1BHIM6xz4DPjCAlc1xuIgorCisjOiBjb21taXQuYzoxMzg1Cittc2dpZCAiIgorIldhcm5pbmc6IGNvbW1pdCBtZXNzYWdlIGRpZCBub3QgY29uZm9ybSB0byBVVEYtOC5cbiIKKyJZb3UgbWF5IHdhbnQgdG8gYW1lbmQgaXQgYWZ0ZXIgZml4aW5nIHRoZSBtZXNzYWdlLCBvciBzZXQgdGhlIGNvbmZpZ1xuIgorInZhcmlhYmxlIGkxOG4uY29tbWl0ZW5jb2RpbmcgdG8gdGhlIGVuY29kaW5nIHlvdXIgcHJvamVjdCB1c2VzLlxuIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEwMQorIywgYy1mb3JtYXQKK21zZ2lkICJncmFwaCBmaWxlICVzIGlzIHRvbyBzbWFsbCIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JhcGggc2lnbmF0dXJlICVYIGRvZXMgbm90IG1hdGNoIHNpZ25hdHVyZSAlWCIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JhcGggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICJoYXNoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoxNzMKK21zZ2lkICJjaHVuayBsb29rdXAgdGFibGUgZW50cnkgbWlzc2luZzsgZ3JhcGggZmlsZSBtYXkgYmUgaW5jb21wbGV0ZSIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW1wcm9wZXIgY2h1bmsgb2Zmc2V0ICUwOHglMDh4IgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIyMQorIywgYy1mb3JtYXQKK21zZ2lkICJjaHVuayBpZCAlMDh4IGFwcGVhcnMgbXVsdGlwbGUgdGltZXMiCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmaW5kIGNvbW1pdCAlcyIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzo2NzEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBnZXQgdHlwZSBvZiBvYmplY3QgJXMiCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6NzA0Cittc2dpZCAiTG9hZGluZyBrbm93biBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzo3MjAKK21zZ2lkICJFeHBhbmRpbmcgcmVhY2hhYmxlIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjczMgorbXNnaWQgIkNsZWFyaW5nIGNvbW1pdCBtYXJrcyBpbiBjb21taXQgZ3JhcGgiCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6NzUyCittc2dpZCAiQ29tcHV0aW5nIGNvbW1pdCBncmFwaCBnZW5lcmF0aW9uIG51bWJlcnMiCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6ODY5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGluICVkIHBhY2siCittc2dpZF9wbHVyYWwgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGluICVkIHBhY2tzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogY29tbWl0LWdyYXBoLmM6ODgyCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGFkZGluZyBwYWNrICVzIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjg4NAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBvcGVuaW5nIGluZGV4IGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzo4OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGggZnJvbSAlZCByZWYiCittc2dpZF9wbHVyYWwgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGZyb20gJWQgcmVmcyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjkzMAorbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGFtb25nIHBhY2tlZCBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjk0MworbXNnaWQgIkNvdW50aW5nIGRpc3RpbmN0IGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjk1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgY29tbWl0IGdyYXBoIGZvcm1hdCBjYW5ub3Qgd3JpdGUgJWQgY29tbWl0cyIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzo5NjUKK21zZ2lkICJGaW5kaW5nIGV4dHJhIGVkZ2VzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzo5ODkKK21zZ2lkICJ0b28gbWFueSBjb21taXRzIHRvIHdyaXRlIGdyYXBoIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjk5NiBtaWR4LmM6NzY5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoxMDM2CisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRpbmcgb3V0IGNvbW1pdCBncmFwaCBpbiAlZCBwYXNzIgorbXNnaWRfcGx1cmFsICJXcml0aW5nIG91dCBjb21taXQgZ3JhcGggaW4gJWQgcGFzc2VzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogY29tbWl0LWdyYXBoLmM6MTEwOQorbXNnaWQgInRoZSBjb21taXQtZ3JhcGggZmlsZSBoYXMgaW5jb3JyZWN0IGNoZWNrc3VtIGFuZCBpcyBsaWtlbHkgY29ycnVwdCIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoxMTUzCittc2dpZCAiVmVyaWZ5aW5nIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICIiCisKKyM6IGNvbXBhdC9vYnN0YWNrLmM6NDA2IGNvbXBhdC9vYnN0YWNrLmM6NDA4Cittc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImV4Y2VlZGVkIG1heGltdW0gaW5jbHVkZSBkZXB0aCAoJWQpIHdoaWxlIGluY2x1ZGluZ1xuIgorIlx0JXNcbiIKKyJmcm9tXG4iCisiXHQlc1xuIgorIlRoaXMgbWlnaHQgYmUgZHVlIHRvIGNpcmN1bGFyIGluY2x1ZGVzLiIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzoxMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGV4cGFuZCBpbmNsdWRlIHBhdGggJyVzJyIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzoxNTAKK21zZ2lkICJyZWxhdGl2ZSBjb25maWcgaW5jbHVkZXMgbXVzdCBjb21lIGZyb20gZmlsZXMiCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6MTkwCittc2dpZCAicmVsYXRpdmUgY29uZmlnIGluY2x1ZGUgY29uZGl0aW9uYWxzIG11c3QgY29tZSBmcm9tIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXkgZG9lcyBub3QgY29udGFpbiBhIHNlY3Rpb246ICVzIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjM1NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXkgZG9lcyBub3QgY29udGFpbiB2YXJpYWJsZSBuYW1lOiAlcyIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzozNzggc2VxdWVuY2VyLmM6MjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGtleTogJXMiCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQga2V5IChuZXdsaW5lKTogJXMiCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6NDIwIGNvbmZpZy5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBjb25maWcgcGFyYW1ldGVyOiAlcyIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzo0NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9ndXMgZm9ybWF0IGluICVzIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjc5MworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gYmxvYiAlcyIKK21zZ3N0ciAizrvOrM64zr/PgiDOs8+BzrHOvM68zq4gz4HPhc64zrzOr8+DzrXPic69ICVkIM+Dz4TOvyBibG9iICVzIgorCisjOiBjb25maWcuYzo3OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGZpbGUgJXMiCittc2dzdHIgIs67zqzOuM6/z4IgzrPPgc6xzrzOvM6uIM+Bz4XOuM68zq/Pg861z4nOvSAlZCDPg8+Ezr8gzrHPgc+HzrXOr86/ICVzIgorCisjOiBjb25maWcuYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN0YW5kYXJkIGlucHV0IgorbXNnc3RyICLOu86szrjOv8+CIM6zz4HOsc68zrzOriDPgc+FzrjOvM6vz4POtc+Jzr0gJWQgz4PPhM6/IHN0YW5kYXJkIGlucHV0IgorCisjOiBjb25maWcuYzo4MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN1Ym1vZHVsZS1ibG9iICVzIgorbXNnc3RyICLOu86szrjOv8+CIM6zz4HOsc68zrzOriDPgc+FzrjOvM6vz4POtc+Jzr0gJWQgz4PPhM6/IGJsb2Igz4XPgM6/zrXOvc+Mz4TOt8+EzrHPgiAlcyIKKworIzogY29uZmlnLmM6ODA5CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBjb21tYW5kIGxpbmUgJXMiCittc2dzdHIgIs67zqzOuM6/z4IgzrPPgc6xzrzOvM6uIM+Bz4XOuM68zq/Pg861z4nOvSAlZCDPg8+EzrcgzrPPgc6xzrzOvM6uIM61zr3PhM6/zrvPjs69ICVzIgorCisjOiBjb25maWcuYzo4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluICVzIgorbXNnc3RyICLOu86szrjOv8+CIM6zz4HOsc68zrzOriDPgc+FzrjOvM6vz4POtc+Jzr0gJWQgz4PPhM6/ICVzIgorCisjOiBjb25maWcuYzo5NTIKK21zZ2lkICJvdXQgb2YgcmFuZ2UiCittc2dzdHIgIs61zrrPhM+Mz4Igzr/Pgc6vz4nOvSIKKworIzogY29uZmlnLmM6OTUyCittc2dpZCAiaW52YWxpZCB1bml0IgorbXNnc3RyICLOvM63IM6tzrPOus+Fz4HOtyDOvM6/zr3OrM60zrEgzrzOrc+Ez4HOt8+DzrfPgiIKKworIzogY29uZmlnLmM6OTU4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIKK21zZ3N0ciAizrvOrM64zr/PgiDOsc+BzrnOuM68zrfPhM65zrrOriDPhM65zrzOriDPgc+NzrjOvM65z4POt8+CICclcycgzrPOuc6xIM+Ezr8gJyVzJzogJXMiCisKKyM6IGNvbmZpZy5jOjk2MworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBibG9iICVzOiAlcyIKK21zZ3N0ciAizrvOrM64zr/PgiDOsc+BzrnOuM68zrfPhM65zrrOriDPhM65zrzOriDPgc+NzrjOvM65z4POt8+CICclcycgzrPOuc6xIM+Ezr8gJyVzJyDPg8+Ezr8gYmxvYiAlczogJXMiCisKKyM6IGNvbmZpZy5jOjk2NgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBmaWxlICVzOiAlcyIKK21zZ3N0ciAizrvOrM64zr/PgiDOsc+BzrnOuM68zrfPhM65zrrOriDPhM65zrzOriDPgc+NzrjOvM65z4POt8+CICclcycgzrPOuc6xIM+Ezr8gJyVzJyDPg8+Ezr8gzrHPgc+HzrXOr86/ICVzOiAlcyIKKworIzogY29uZmlnLmM6OTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiAlcyIKK21zZ3N0ciAizrvOrM64zr/PgiDOsc+BzrnOuM68zrfPhM65zrrOriDPhM65zrzOriDPgc+NzrjOvM65z4POt8+CICclcycgzrPOuc6xIM+Ezr8gJyVzJyDPg8+EbyBzdGFuZGFyZCBpbnB1dDogJXMiCisKKyM6IGNvbmZpZy5jOjk3MgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdWJtb2R1bGUtYmxvYiAlczogJXMiCittc2dzdHIgIiIKKyLOu86szrjOv8+CIM6xz4HOuc64zrzOt8+EzrnOus6uIM+EzrnOvM6uIM+Bz43OuM68zrnPg863z4IgJyVzJyDOs865zrEgz4TOvyAnJXMnIM+Dz4TOvyBibG9iIM+Fz4DOv861zr3PjM+EzrfPhM6xz4IgJXM6ICVzIgorCisjOiBjb25maWcuYzo5NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gY29tbWFuZCBsaW5lICVzOiAlcyIKK21zZ3N0ciAiIgorIs67zqzOuM6/z4IgzrHPgc65zrjOvM63z4TOuc66zq4gz4TOuc68zq4gz4HPjc64zrzOuc+DzrfPgiAnJXMnIM6zzrnOsSDPhM6/ICclcycgz4PPhM63IM6zz4HOsc68zrzOriDOtc69z4TOv867z47OvSAlczogJXMiCisKKyM6IGNvbmZpZy5jOjk3OAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiAlczogJXMiCittc2dzdHIgIs67zqzOuM6/z4IgzrHPgc65zrjOvM63z4TOuc66zq4gz4TOuc68zq4gz4HPjc64zrzOuc+DzrfPgiAnJXMnIM6zzrnOsSDPhM6/ICclcycgz4PPhM6/ICVzOiAlcyIKKworIzogY29uZmlnLmM6MTA3MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhwYW5kIHVzZXIgZGlyIGluOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjEwODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBmb3IgJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCittc2dzdHIgIiclcycgzrPOuc6xIM+Ezr8gJyVzJyDOtM61zr0gzrXOr869zrHOuSDOrc6zzrrPhc+Bzrcgz4fPgc6/zr3Ov8+Dzq7OvM6xzr3Pg863IgorCisjOiBjb25maWcuYzoxMTczCisjLCBjLWZvcm1hdAorbXNnaWQgImFiYnJldiBsZW5ndGggb3V0IG9mIHJhbmdlOiAlZCIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzoxMTg3IGNvbmZpZy5jOjExOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHpsaWIgY29tcHJlc3Npb24gbGV2ZWwgJWQiCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6MTI5MAorbXNnaWQgImNvcmUuY29tbWVudENoYXIgc2hvdWxkIG9ubHkgYmUgb25lIGNoYXJhY3RlciIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzoxMzIzCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbW9kZSBmb3Igb2JqZWN0IGNyZWF0aW9uOiAlcyIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCB2YWx1ZSBmb3IgJXMiCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6MTQyMQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgdmFsdWUgZm9yICVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzoxNDIyCittc2dpZCAibXVzdCBiZSBvbmUgb2Ygbm90aGluZywgbWF0Y2hpbmcsIHNpbXBsZSwgdXBzdHJlYW0gb3IgY3VycmVudCIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzoxNDgxIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcGFjayBjb21wcmVzc2lvbiBsZXZlbCAlZCIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzoxNjAyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBsb2FkIGNvbmZpZyBibG9iIG9iamVjdCAnJXMnIgorbXNnc3RyICLOtM61zr0gzq7PhM6xzr0gzrTPhc69zrHPhM+MIM69zrEgz4bOv8+Bz4TPic64zrXOryDPhM6/IM6xzr3PhM65zrrOtc6vzrzOtc69zr8gYmxvYiDPgc+FzrjOvM6vz4POtc+Jzr0gJyVzJyIKKworIzogY29uZmlnLmM6MTYwNQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGJsb2IiCittc2dzdHIgIs63IM6xzr3Osc+Gzr/Pgc6sICclcycgzrTOtSDOtM61zq/Ph869zrXOuSDPg861IM66zqzPgM6/zrnOvyBibG9iIgorCisjOiBjb25maWcuYzoxNjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlIGNvbmZpZyBibG9iICclcyciCittc2dzdHIgIs60zrXOvSDOrs+EzrHOvSDOtM+Fzr3Osc+Ezq4gzrcgzrHOvc6xzrbOrs+EzrfPg863IGJsb2Igz4HPhc64zrzOr8+DzrXPic69ICclcyciCisKKyM6IGNvbmZpZy5jOjE2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjE3MDUKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWFuZC1saW5lIGNvbmZpZyIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzoyMDM3Cittc2dpZCAidW5rbm93biBlcnJvciBvY2N1cnJlZCB3aGlsZSByZWFkaW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjIyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCAlczogJyVzJyIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzoyMjUwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29yZS51bnRyYWNrZWRDYWNoZSB2YWx1ZSAnJXMnOyB1c2luZyAna2VlcCcgZGVmYXVsdCB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzoyMjc2CisjLCBjLWZvcm1hdAorbXNnaWQgInNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSB2YWx1ZSAnJWQnIHNob3VsZCBiZSBiZXR3ZWVuIDAgYW5kIDEwMCIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzoyMzIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSAnJXMnIGZyb20gY29tbWFuZC1saW5lIGNvbmZpZyIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzoyMzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgdmFyaWFibGUgJyVzJyBpbiBmaWxlICclcycgYXQgbGluZSAlZCIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzoyNDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2VjdGlvbiBuYW1lICclcyciCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6MjQzNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbXVsdGlwbGUgdmFsdWVzIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjI0NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIG5ldyBjb25maWd1cmF0aW9uIGZpbGUgJXMiCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6MjcxNiBjb25maWcuYzozMDQwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBsb2NrIGNvbmZpZyBmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjI3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlbmluZyAlcyIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzoyNzYyIGJ1aWx0aW4vY29uZmlnLmM6MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcGF0dGVybjogJXMiCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6Mjc4NworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbmZpZyBmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjI4MDAgY29uZmlnLmM6MzA1MworIywgYy1mb3JtYXQKK21zZ2lkICJmc3RhdCBvbiAlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6MjgxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gbW1hcCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjI4MjAgY29uZmlnLmM6MzA1OAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG1vZCBvbiAlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6MjkwNSBjb25maWcuYzozMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBjb25maWcgZmlsZSAlcyIKK21zZ3N0ciAiIgorCisjOiBjb25maWcuYzoyOTM5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzZXQgJyVzJyB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IGNvbmZpZy5jOjI5NDEgYnVpbHRpbi9yZW1vdGUuYzo3ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHVuc2V0ICclcyciCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6MzAzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNlY3Rpb24gbmFtZTogJXMiCittc2dzdHIgIiIKKworIzogY29uZmlnLmM6MzE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIHZhbHVlIGZvciAnJXMnIgorbXNnc3RyICIiCisKKyM6IGNvbm5lY3QuYzo2MQorbXNnaWQgInRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdXBvbiBpbml0aWFsIGNvbnRhY3QiCittc2dzdHIgIiIKKworIzogY29ubmVjdC5jOjYzCittc2dpZCAiIgorIkNvdWxkIG5vdCByZWFkIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkuXG4iCisiXG4iCisiUGxlYXNlIG1ha2Ugc3VyZSB5b3UgaGF2ZSB0aGUgY29ycmVjdCBhY2Nlc3MgcmlnaHRzXG4iCisiYW5kIHRoZSByZXBvc2l0b3J5IGV4aXN0cy4iCittc2dzdHIgIiIKKworIzogY29ubmVjdC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlcnZlciBkb2Vzbid0IHN1cHBvcnQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBjb25uZWN0LmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgInNlcnZlciBkb2Vzbid0IHN1cHBvcnQgZmVhdHVyZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGNvbm5lY3QuYzoxMTQKK21zZ2lkICJleHBlY3RlZCBmbHVzaCBhZnRlciBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogY29ubmVjdC5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyBjYXBhYmlsaXRpZXMgYWZ0ZXIgZmlyc3QgbGluZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGNvbm5lY3QuYzoyNTIKK21zZ2lkICJwcm90b2NvbCBlcnJvcjogdW5leHBlY3RlZCBjYXBhYmlsaXRpZXNee30iCittc2dzdHIgIiIKKworIzogY29ubmVjdC5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJwcm90b2NvbCBlcnJvcjogZXhwZWN0ZWQgc2hhbGxvdyBzaGEtMSwgZ290ICclcyciCittc2dzdHIgIiIKKworIzogY29ubmVjdC5jOjI3NQorbXNnaWQgInJlcG9zaXRvcnkgb24gdGhlIG90aGVyIGVuZCBjYW5ub3QgYmUgc2hhbGxvdyIKK21zZ3N0ciAiIgorCisjOiBjb25uZWN0LmM6MzEzCittc2dpZCAiaW52YWxpZCBwYWNrZXQiCittc2dzdHIgIiIKKworIzogY29ubmVjdC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICJwcm90b2NvbCBlcnJvcjogdW5leHBlY3RlZCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGNvbm5lY3QuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBscy1yZWZzIHJlc3BvbnNlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBjb25uZWN0LmM6NDQ1Cittc2dpZCAiZXhwZWN0ZWQgZmx1c2ggYWZ0ZXIgcmVmIGxpc3RpbmciCittc2dzdHIgIiIKKworIzogY29ubmVjdC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJwcm90b2NvbCAnJXMnIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogY29ubmVjdC5jOjU5NQorbXNnaWQgInVuYWJsZSB0byBzZXQgU09fS0VFUEFMSVZFIG9uIHNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBjb25uZWN0LmM6NjM1IGNvbm5lY3QuYzo2OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9va2luZyB1cCAlcyAuLi4gIgorbXNnc3RyICIiCisKKyM6IGNvbm5lY3QuYzo2MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGxvb2sgdXAgJXMgKHBvcnQgJXMpICglcykiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgaXMgdGhlIGVuZCBvZiAiTG9va2luZyB1cCAlcyAuLi4gIgorIzogY29ubmVjdC5jOjY0MyBjb25uZWN0LmM6NzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJkb25lLlxuIgorIkNvbm5lY3RpbmcgdG8gJXMgKHBvcnQgJXMpIC4uLiAiCittc2dzdHIgIiIKKyLOv867zr/Ous67zrfPgc+OzrjOt866zrUuXG4iCisizqPPjc69zrTOtc+Dzrcgz4PPhM6/ICVzIChwb3J0ICVzKSAuLi4gIgorCisjOiBjb25uZWN0LmM6NjY1IGNvbm5lY3QuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVuYWJsZSB0byBjb25uZWN0IHRvICVzOlxuIgorIiVzIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiB0aGlzIGlzIHRoZSBlbmQgb2YgIkNvbm5lY3RpbmcgdG8gJXMgKHBvcnQgJXMpIC4uLiAiCisjOiBjb25uZWN0LmM6NjcxIGNvbm5lY3QuYzo3NDgKK21zZ2lkICJkb25lLiIKK21zZ3N0ciAizr/Ou86/zrrOu863z4HPjs64zrfOus61LiIKKworIzogY29ubmVjdC5jOjcwMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gbG9vayB1cCAlcyAoJXMpIgorbXNnc3RyICIiCisKKyM6IGNvbm5lY3QuYzo3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwb3J0ICVzIgorbXNnc3RyICIiCisKKyM6IGNvbm5lY3QuYzo4NDUgY29ubmVjdC5jOjExNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RyYW5nZSBob3N0bmFtZSAnJXMnIGJsb2NrZWQiCittc2dzdHIgIiIKKworIzogY29ubmVjdC5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJzdHJhbmdlIHBvcnQgJyVzJyBibG9ja2VkIgorbXNnc3RyICIiCisKKyM6IGNvbm5lY3QuYzo4NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXJ0IHByb3h5ICVzIgorbXNnc3RyICIiCisKKyM6IGNvbm5lY3QuYzo5MjQKK21zZ2lkICJubyBwYXRoIHNwZWNpZmllZDsgc2VlICdnaXQgaGVscCBwdWxsJyBmb3IgdmFsaWQgdXJsIHN5bnRheCIKK21zZ3N0ciAiIgorCisjOiBjb25uZWN0LmM6MTExOQorbXNnaWQgInNzaCB2YXJpYW50ICdzaW1wbGUnIGRvZXMgbm90IHN1cHBvcnQgLTQiCittc2dzdHIgIiIKKworIzogY29ubmVjdC5jOjExMzEKK21zZ2lkICJzc2ggdmFyaWFudCAnc2ltcGxlJyBkb2VzIG5vdCBzdXBwb3J0IC02IgorbXNnc3RyICIiCisKKyM6IGNvbm5lY3QuYzoxMTQ4Cittc2dpZCAic3NoIHZhcmlhbnQgJ3NpbXBsZScgZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHBvcnQiCittc2dzdHIgIiIKKworIzogY29ubmVjdC5jOjEyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RyYW5nZSBwYXRobmFtZSAnJXMnIGJsb2NrZWQiCittc2dzdHIgIiIKKworIzogY29ubmVjdC5jOjEzMDQKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAiIgorCisjOiBjb25uZWN0ZWQuYzo2OCBidWlsdGluL2ZzY2suYzoyMjEgYnVpbHRpbi9wcnVuZS5jOjE0NgorbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIKK21zZ3N0ciAiIgorCisjOiBjb25uZWN0ZWQuYzo4MAorbXNnaWQgIkNvdWxkIG5vdCBydW4gJ2dpdCByZXYtbGlzdCciCittc2dzdHIgIiIKKworIzogY29ubmVjdGVkLmM6MTAwCittc2dpZCAiZmFpbGVkIHdyaXRlIHRvIHJldi1saXN0IgorbXNnc3RyICIiCisKKyM6IGNvbm5lY3RlZC5jOjEwNworbXNnaWQgImZhaWxlZCB0byBjbG9zZSByZXYtbGlzdCdzIHN0ZGluIgorbXNnc3RyICIiCisKKyM6IGNvbnZlcnQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBjcmxmX2FjdGlvbiAlZCIKK21zZ3N0ciAiIgorCisjOiBjb252ZXJ0LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNSTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMiCittc2dzdHIgIiIKKworIzogY29udmVydC5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ1JMRiB3aWxsIGJlIHJlcGxhY2VkIGJ5IExGIGluICVzLlxuIgorIlRoZSBmaWxlIHdpbGwgaGF2ZSBpdHMgb3JpZ2luYWwgbGluZSBlbmRpbmdzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogY29udmVydC5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJMRiB3b3VsZCBiZSByZXBsYWNlZCBieSBDUkxGIGluICVzIgorbXNnc3RyICIiCisKKyM6IGNvbnZlcnQuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcy5cbiIKKyJUaGUgZmlsZSB3aWxsIGhhdmUgaXRzIG9yaWdpbmFsIGxpbmUgZW5kaW5ncyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IGNvbnZlcnQuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQk9NIGlzIHByb2hpYml0ZWQgaW4gJyVzJyBpZiBlbmNvZGVkIGFzICVzIgorbXNnc3RyICIiCisKKyM6IGNvbnZlcnQuYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmaWxlICclcycgY29udGFpbnMgYSBieXRlIG9yZGVyIG1hcmsgKEJPTSkuIFBsZWFzZSB1c2UgVVRGLSVzIGFzIHdvcmtpbmctIgorInRyZWUtZW5jb2RpbmcuIgorbXNnc3RyICIiCisKKyM6IGNvbnZlcnQuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQk9NIGlzIHJlcXVpcmVkIGluICclcycgaWYgZW5jb2RlZCBhcyAlcyIKK21zZ3N0ciAiIgorCisjOiBjb252ZXJ0LmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZmlsZSAnJXMnIGlzIG1pc3NpbmcgYSBieXRlIG9yZGVyIG1hcmsgKEJPTSkuIFBsZWFzZSB1c2UgVVRGLSVzQkUgb3IgVVRGLSIKKyIlc0xFIChkZXBlbmRpbmcgb24gdGhlIGJ5dGUgb3JkZXIpIGFzIHdvcmtpbmctdHJlZS1lbmNvZGluZy4iCittc2dzdHIgIiIKKworIzogY29udmVydC5jOjQyNCBjb252ZXJ0LmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBlbmNvZGUgJyVzJyBmcm9tICVzIHRvICVzIgorbXNnc3RyICIiCisKKyM6IGNvbnZlcnQuYzo0NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW5jb2RpbmcgJyVzJyBmcm9tICVzIHRvICVzIGFuZCBiYWNrIGlzIG5vdCB0aGUgc2FtZSIKK21zZ3N0ciAiIgorCisjOiBjb252ZXJ0LmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIHRvIHJ1biBleHRlcm5hbCBmaWx0ZXIgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBjb252ZXJ0LmM6NjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmZWVkIHRoZSBpbnB1dCB0byBleHRlcm5hbCBmaWx0ZXIgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBjb252ZXJ0LmM6NzAwCisjLCBjLWZvcm1hdAorbXNnaWQgImV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCAlZCIKK21zZ3N0ciAiIgorCisjOiBjb252ZXJ0LmM6NzM1IGNvbnZlcnQuYzo3MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZCBmcm9tIGV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBjb252ZXJ0LmM6NzQxIGNvbnZlcnQuYzo3OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGNvbnZlcnQuYzo4NDQKK21zZ2lkICJ1bmV4cGVjdGVkIGZpbHRlciB0eXBlIgorbXNnc3RyICIiCisKKyM6IGNvbnZlcnQuYzo4NTUKK21zZ2lkICJwYXRoIG5hbWUgdG9vIGxvbmcgZm9yIGV4dGVybmFsIGZpbHRlciIKK21zZ3N0ciAiIgorCisjOiBjb252ZXJ0LmM6OTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJleHRlcm5hbCBmaWx0ZXIgJyVzJyBpcyBub3QgYXZhaWxhYmxlIGFueW1vcmUgYWx0aG91Z2ggbm90IGFsbCBwYXRocyBoYXZlICIKKyJiZWVuIGZpbHRlcmVkIgorbXNnc3RyICIiCisKKyM6IGNvbnZlcnQuYzoxMjI4Cittc2dpZCAidHJ1ZS9mYWxzZSBhcmUgbm8gdmFsaWQgd29ya2luZy10cmVlLWVuY29kaW5ncyIKK21zZ3N0ciAiIgorCisjOiBjb252ZXJ0LmM6MTM5OCBjb252ZXJ0LmM6MTQzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xlYW4gZmlsdGVyICclcycgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGNvbnZlcnQuYzoxNDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzbXVkZ2UgZmlsdGVyICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBkYXRlLmM6MTM3Cittc2dpZCAiaW4gdGhlIGZ1dHVyZSIKK21zZ3N0ciAiIgorCisjOiBkYXRlLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiU8UFJJdU1BWD4gc2Vjb25kIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBzZWNvbmRzIGFnbyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGRhdGUuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTxQUkl1TUFYPiBtaW51dGUgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1pbnV0ZXMgYWdvIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGF0ZS5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICIlPFBSSXVNQVg+IGhvdXIgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IGhvdXJzIGFnbyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGRhdGUuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTxQUkl1TUFYPiBkYXkgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IGRheXMgYWdvIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGF0ZS5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlPFBSSXVNQVg+IHdlZWsgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHdlZWtzIGFnbyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGRhdGUuYzoxNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTxQUkl1TUFYPiBtb250aCBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gbW9udGhzIGFnbyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGRhdGUuYzoxODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIy4gVFJBTlNMQVRPUlM6ICIlcyIgaXMgIjxuPiB5ZWFycyIKKyM6IGRhdGUuYzoxOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMsICU8UFJJdU1BWD4gbW9udGggYWdvIgorbXNnaWRfcGx1cmFsICIlcywgJTxQUkl1TUFYPiBtb250aHMgYWdvIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGF0ZS5jOjE5NiBkYXRlLmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiU8UFJJdU1BWD4geWVhciBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4geWVhcnMgYWdvIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGVsdGEtaXNsYW5kcy5jOjI3MgorbXNnaWQgIlByb3BhZ2F0aW5nIGlzbGFuZCBtYXJrcyIKK21zZ3N0ciAiIgorCisjOiBkZWx0YS1pc2xhbmRzLmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCB0cmVlIG9iamVjdCAlcyIKK21zZ3N0ciAiIgorCisjOiBkZWx0YS1pc2xhbmRzLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBsb2FkIGlzbGFuZCByZWdleCBmb3IgJyVzJzogJXMiCittc2dzdHIgIiIKKworIzogZGVsdGEtaXNsYW5kcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJpc2xhbmQgcmVnZXggZnJvbSBjb25maWcgaGFzIHRvbyBtYW55IGNhcHR1cmUgZ3JvdXBzIChtYXg9JWQpIgorbXNnc3RyICIiCisKKyM6IGRlbHRhLWlzbGFuZHMuYzo0NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWFya2VkICVkIGlzbGFuZHMsIGRvbmUuXG4iCittc2dzdHIgIiIKKworIzogZGlmZmNvcmUtb3JkZXIuYzoyNAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBvcmRlcmZpbGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaWZmY29yZS1yZW5hbWUuYzo1NDQKK21zZ2lkICJQZXJmb3JtaW5nIGluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGEgdmFsdWUiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICIgIEZhaWxlZCB0byBwYXJzZSBkaXJzdGF0IGN1dC1vZmYgcGVyY2VudGFnZSAnJXMnXG4iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjE2MworIywgYy1mb3JtYXQKK21zZ2lkICIgIFVua25vd24gZGlyc3RhdCBwYXJhbWV0ZXIgJyVzJ1xuIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzoyOTEKK21zZ2lkICIiCisiY29sb3IgbW92ZWQgc2V0dGluZyBtdXN0IGJlIG9uZSBvZiAnbm8nLCAnZGVmYXVsdCcsICdibG9ja3MnLCAnemVicmEnLCAiCisiJ2RpbW1lZC16ZWJyYScsICdwbGFpbiciCittc2dzdHIgIiIKKworIzogZGlmZi5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidW5rbm93biBjb2xvci1tb3ZlZC13cyBtb2RlICclcycsIHBvc3NpYmxlIHZhbHVlcyBhcmUgJ2lnbm9yZS1zcGFjZS1jaGFuZ2UnLCAiCisiJ2lnbm9yZS1zcGFjZS1hdC1lb2wnLCAnaWdub3JlLWFsbC1zcGFjZScsICdhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UnIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzozMjcKK21zZ2lkICIiCisiY29sb3ItbW92ZWQtd3M6IGFsbG93LWluZGVudGF0aW9uLWNoYW5nZSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciAiCisid2hpdGVzcGFjZSBtb2RlcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gdmFsdWUgZm9yICdkaWZmLnN1Ym1vZHVsZScgY29uZmlnIHZhcmlhYmxlOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo0NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZvdW5kIGVycm9ycyBpbiAnZGlmZi5kaXJzdGF0JyBjb25maWcgdmFyaWFibGU6XG4iCisiJXMiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjQyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXh0ZXJuYWwgZGlmZiBkaWVkLCBzdG9wcGluZyBhdCAlcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NDU1MworbXNnaWQgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo0NTU2Cittc2dpZCAiLUcsIC1TIGFuZCAtLWZpbmQtb2JqZWN0IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjQ2MzQKK21zZ2lkICItLWZvbGxvdyByZXF1aXJlcyBleGFjdGx5IG9uZSBwYXRoc3BlYyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NDgwMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmFpbGVkIHRvIHBhcnNlIC0tZGlyc3RhdC8tWCBvcHRpb24gcGFyYW1ldGVyOlxuIgorIiVzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo0ODE0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1OTAwCittc2dpZCAiaW5leGFjdCByZW5hbWUgZGV0ZWN0aW9uIHdhcyBza2lwcGVkIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU5MDMKK21zZ2lkICJvbmx5IGZvdW5kIGNvcGllcyBmcm9tIG1vZGlmaWVkIHBhdGhzIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU5MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInlvdSBtYXkgd2FudCB0byBzZXQgeW91ciAlcyB2YXJpYWJsZSB0byBhdCBsZWFzdCAlZCBhbmQgcmV0cnkgdGhlIGNvbW1hbmQuIgorbXNnc3RyICIiCisizrzPgM6/z4HOtc6vz4TOtSDOvc6xIM60zr/Ous65zrzOrM+Dz4TOtSDOvc6xIM6/z4HOr8+DzrXPhM61IM+EzrcgzrzOtc+EzrHOss67zrfPhM6uIM+DzrHPgiAlcyDPg861IM+Ezr/Phc67zqzPh865z4PPhM6/zr0gJWQgzrrOsc65ICIKKyLOvc6xIM60zr/Ous65zrzOrM+DzrXPhM61IM+AzqzOu865IM+EzrfOvSDOtc69z4TOv867zq4uIgorCisjOiBkaXIuYzo1MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlKHMpIGtub3duIHRvIGdpdCIKK21zZ3N0ciAiIgorCisjOiBkaXIuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHVzZSAlcyBhcyBhbiBleGNsdWRlIGZpbGUiCittc2dzdHIgIiIKKworIzogZGlyLmM6MTg0MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgb3BlbiBkaXJlY3RvcnkgJyVzJyIKK21zZ3N0ciAizrTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TPjCDPhM6/IM6szr3Ov865zrPOvM6xIM+Ezr/PhSDPhs6xzrrOrc67zr/PhSAnJXMnIgorCisjOiBkaXIuYzoyMDg0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBrZXJuZWwgbmFtZSBhbmQgaW5mb3JtYXRpb24iCittc2dzdHIgIiIKKworIzogZGlyLmM6MjIwOAorbXNnaWQgInVudHJhY2tlZCBjYWNoZSBpcyBkaXNhYmxlZCBvbiB0aGlzIHN5c3RlbSBvciBsb2NhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXIuYzozMDA5CisjLCBjLWZvcm1hdAorbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCBpbiByZXBvICVzIgorbXNnc3RyICIiCisKKyM6IGRpci5jOjMwNTQgZGlyLmM6MzA1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yaWVzIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXIuYzozMDg4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBtaWdyYXRlIGdpdCBkaXJlY3RvcnkgZnJvbSAnJXMnIHRvICclcyciCittc2dzdHIgIiIKKworIzogZWRpdG9yLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaGludDogV2FpdGluZyBmb3IgeW91ciBlZGl0b3IgdG8gY2xvc2UgdGhlIGZpbGUuLi4lYyIKK21zZ3N0ciAiIgorCisjOiBlbnRyeS5jOjE3OAorbXNnaWQgIkZpbHRlcmluZyBjb250ZW50IgorbXNnc3RyICIiCisKKyM6IGVudHJ5LmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGF0IGZpbGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBlbnZpcm9ubWVudC5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgZ2l0IG5hbWVzcGFjZSBwYXRoIFwiJXNcIiIKK21zZ3N0ciAiIgorCisjOiBlbnZpcm9ubWVudC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc2V0IEdJVF9ESVIgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBleGVjLWNtZC5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBhcmdzIHRvIHJ1biAlcyIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1vYmplY3QuYzoxNworbXNnaWQgIlJlbW90ZSB3aXRoIG5vIFVSTCIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6MTUxCittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6MTU0Cittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIGEgZmx1c2ggcGFja2V0IGFmdGVyIHNoYWxsb3cgbGlzdCIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6MTY1Cittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBhIGZsdXNoIHBhY2tldCIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6MTg1CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6MjU2Cittc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6MzU4IGZldGNoLXBhY2suYzoxMjY0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6MzY0IGZldGNoLXBhY2suYzoxMjcxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdW5zaGFsbG93IGxpbmU6ICVzIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzozNjYgZmV0Y2gtcGFjay5jOjEyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0IG5vdCBmb3VuZDogJXMiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjM2OSBmZXRjaC1wYWNrLmM6MTI3NgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBpbiBvYmplY3Q6ICVzIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzozNzEgZmV0Y2gtcGFjay5jOjEyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc2hhbGxvdyBmb3VuZDogJXMiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjM3NCBmZXRjaC1wYWNrLmM6MTI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJleHBlY3RlZCBzaGFsbG93L3Vuc2hhbGxvdywgZ290ICVzIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ290ICVzICVkICVzIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjb21taXQgJXMiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjQ2MworbXNnaWQgImdpdmluZyB1cCIKK21zZ3N0ciAizrXOs866zrHPhM6szrvOtc65z4jOtyIKKworIzogZmV0Y2gtcGFjay5jOjQ3NSBwcm9ncmVzcy5jOjIyOQorbXNnaWQgImRvbmUiCittc2dzdHIgIs6/zrvOv866zrvOt8+Bz47OuM63zrrOtSIKKworIzogZmV0Y2gtcGFjay5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJnb3QgJXMgKCVkKSAlcyIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6NTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1hcmtpbmcgJXMgYXMgY29tcGxldGUiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjc0MAorIywgYy1mb3JtYXQKK21zZ2lkICJhbHJlYWR5IGhhdmUgJXMgKCVzKSIKK21zZ3N0ciAiz4XPgM6sz4HPh861zrkgzq7OtM63ICVzICglcykiCisKKyM6IGZldGNoLXBhY2suYzo3NzkKK21zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6Nzg3Cittc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBwYWNrIGhlYWRlciIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiAlcyIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6ODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6ODczCittc2dpZCAiZXJyb3IgaW4gc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6OTAyCittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzo5MDYKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrX2RldGFpbGVkIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzo5MDkKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbm8tZG9uZSIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6OTE1Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2FjayIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6OTE5Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZC02NGsiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjkyMworbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjkyNworbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy10aXAtc2hhMS1pbi13YW50IgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzo5MzEKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6OTQxCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIG9mcy1kZWx0YSIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6OTQ3IGZldGNoLXBhY2suYzoxMTQwCittc2dpZCAiU2VydmVyIHN1cHBvcnRzIGZpbHRlciIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6OTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlcnZlciB2ZXJzaW9uIGlzICUuKnMiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjk2MQorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1zaW5jZSIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6OTY1Cittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LWV4Y2x1ZGUiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjk2NworbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tZGVlcGVuIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzo5ODQKK21zZ2lkICJubyBjb21tb24gY29tbWl0cyIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6OTk2IGZldGNoLXBhY2suYzoxNDE5Cittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGZldGNoIGZhaWxlZC4iCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjExMzQKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IHJlcXVlc3RzIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzoxMTg0CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHJlYWRpbmcgc2VjdGlvbiBoZWFkZXIgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJleHBlY3RlZCAnJXMnLCByZWNlaXZlZCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzoxMjI5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgYWNrbm93bGVkZ21lbnQgbGluZTogJyVzJyIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6MTIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBwcm9jZXNzaW5nIGFja3M6ICVkIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzoxMjQ0Cittc2dpZCAiZXhwZWN0ZWQgcGFja2ZpbGUgdG8gYmUgc2VudCBhZnRlciAncmVhZHknIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzoxMjQ2Cittc2dpZCAiZXhwZWN0ZWQgbm8gb3RoZXIgc2VjdGlvbnMgdG8gYmUgc2VudCBhZnRlciBubyAncmVhZHknIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzoxMjg3CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHByb2Nlc3Npbmcgc2hhbGxvdyBpbmZvOiAlZCIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6MTMwOAorIywgYy1mb3JtYXQKK21zZ2lkICJleHBlY3RlZCB3YW50ZWQtcmVmLCBnb3QgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6MTMxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHdhbnRlZC1yZWY6ICclcyciCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjEzMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcHJvY2Vzc2luZyB3YW50ZWQgcmVmczogJWQiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjE2NDYKK21zZ2lkICJubyBtYXRjaGluZyByZW1vdGUgaGVhZCIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6MTY2NCBidWlsdGluL2Nsb25lLmM6NjcxCittc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCittc2dzdHIgIs6/IM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/z4IgzrXOvs+Fz4DOt8+BzrXPhM63z4TOrs+CIM60zrXOvSDOrc+Dz4TOtc65zrvOtSDPjM67zrEgz4TOsSDOsc69zrHOs866zrHOr86xIM6xzr3PhM65zrrOtc6vzrzOtc69zrEiCisKKyM6IGZldGNoLXBhY2suYzoxNjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcmVtb3RlIHJlZiAlcyIKK21zZ3N0ciAizrTOtc69IM+Fz4DOrM+Bz4fOtc65IM+Ezq3PhM6/zrnOvyDOsc+Azr/OvM6xzrrPgc+Fz4POvM6tzr3OvyByZWYgJXMiCisKKyM6IGZldGNoLXBhY2suYzoxNjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBhbGxvdyByZXF1ZXN0IGZvciB1bmFkdmVydGlzZWQgb2JqZWN0ICVzIgorbXNnc3RyICIiCisKKyM6IGdwZy1pbnRlcmZhY2UuYzozMTgKK21zZ2lkICJncGcgZmFpbGVkIHRvIHNpZ24gdGhlIGRhdGEiCittc2dzdHIgIiIKKworIzogZ3BnLWludGVyZmFjZS5jOjM0NAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIiIKKworIzogZ3BnLWludGVyZmFjZS5jOjM0NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBncmFwaC5jOjk3CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yZSBpbnZhbGlkIGNvbG9yICclLipzJyBpbiBsb2cuZ3JhcGhDb2xvcnMiCittc2dzdHIgIiIKKworIzogZ3JlcC5jOjIxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCittc2dzdHIgIiIKKworIzogZ3JlcC5jOjIxMzAgc2V0dXAuYzoxNjQgYnVpbHRpbi9jbG9uZS5jOjQxMSBidWlsdGluL2RpZmYuYzo4MgorIzogYnVpbHRpbi9ybS5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgorbXNnc3RyICLOsc+Azq3PhM+Fz4fOtSDPhM6/IHN0YXQgz4TOv8+FICclcyciCisKKyM6IGdyZXAuYzoyMTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcyc6IHNob3J0IHJlYWQiCittc2dzdHIgIiIKKworIzogaGVscC5jOjIzCittc2dpZCAic3RhcnQgYSB3b3JraW5nIGFyZWEgKHNlZSBhbHNvOiBnaXQgaGVscCB0dXRvcmlhbCkiCittc2dzdHIgIiIKKworIzogaGVscC5jOjI0Cittc2dpZCAid29yayBvbiB0aGUgY3VycmVudCBjaGFuZ2UgKHNlZSBhbHNvOiBnaXQgaGVscCBldmVyeWRheSkiCittc2dzdHIgIiIKKworIzogaGVscC5jOjI1Cittc2dpZCAiZXhhbWluZSB0aGUgaGlzdG9yeSBhbmQgc3RhdGUgKHNlZSBhbHNvOiBnaXQgaGVscCByZXZpc2lvbnMpIgorbXNnc3RyICIiCisKKyM6IGhlbHAuYzoyNgorbXNnaWQgImdyb3csIG1hcmsgYW5kIHR3ZWFrIHlvdXIgY29tbW9uIGhpc3RvcnkiCittc2dzdHIgIiIKKworIzogaGVscC5jOjI3Cittc2dpZCAiY29sbGFib3JhdGUgKHNlZSBhbHNvOiBnaXQgaGVscCB3b3JrZmxvd3MpIgorbXNnc3RyICIiCisKKyM6IGhlbHAuYzozMQorbXNnaWQgIk1haW4gUG9yY2VsYWluIENvbW1hbmRzIgorbXNnc3RyICLOms+Nz4HOuc61z4IgzpXOvc+Ezr/Ou86tz4IgUG9yY2VsYWluIgorCisjOiBoZWxwLmM6MzIKK21zZ2lkICJBbmNpbGxhcnkgQ29tbWFuZHMgLyBNYW5pcHVsYXRvcnMiCittc2dzdHIgIs6Szr/Ot864zrfPhM65zrrOrc+CIM6Vzr3PhM6/zrvOrc+CIC8gzqfOtc65z4HOuc+DzrzOv8+NIgorCisjOiBoZWxwLmM6MzMKK21zZ2lkICJBbmNpbGxhcnkgQ29tbWFuZHMgLyBJbnRlcnJvZ2F0b3JzIgorbXNnc3RyICLOks6/zrfOuM63z4TOuc66zq3PgiDOlc69z4TOv867zq3PgiAvIM6Vz4HPic+EzrfOvM6sz4TPic69IgorCisjOiBoZWxwLmM6MzQKK21zZ2lkICJJbnRlcmFjdGluZyB3aXRoIE90aGVycyIKK21zZ3N0ciAizpTOuc6szrTPgc6xz4POtyDOvM61IM6GzrvOu86/z4XPgiIKKworIzogaGVscC5jOjM1Cittc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gTWFuaXB1bGF0b3JzIgorbXNnc3RyICLOlc69z4TOv867zq3PgiDOp86xzrzOt867zr/PjSDOlc+AzrnPgM6tzrTOv8+FIC8gzqfOtc65z4HOuc+DzrzOv8+NIgorCisjOiBoZWxwLmM6MzYKK21zZ2lkICJMb3ctbGV2ZWwgQ29tbWFuZHMgLyBJbnRlcnJvZ2F0b3JzIgorbXNnc3RyICLOlc69z4TOv867zq3PgiDOp86xzrzOt867zr/PjSDOlc+AzrnPgM6tzrTOv8+FIC8gzpXPgc+Jz4TOt868zqzPhM+Jzr0iCisKKyM6IGhlbHAuYzozNworbXNnaWQgIkxvdy1sZXZlbCBDb21tYW5kcyAvIFN5bmNoaW5nIFJlcG9zaXRvcmllcyIKK21zZ3N0ciAizpXOvc+Ezr/Ou86tz4IgzqfOsc68zrfOu86/z40gzpXPgM65z4DOrc60zr/PhSAvIM6jz4XOs8+Hz4HOv869zrnPg868zr/PjSDOkc+Azr/OuM61z4TOt8+Bzq/Pic69IgorCisjOiBoZWxwLmM6MzgKK21zZ2lkICJMb3ctbGV2ZWwgQ29tbWFuZHMgLyBJbnRlcm5hbCBIZWxwZXJzIgorbXNnc3RyICLOlc69z4TOv867zq3PgiDOp86xzrzOt867zr/PjSDOlc+AzrnPgM6tzrTOv8+FIC8gzpXPg8+Jz4TOtc+BzrnOus6tz4IgzpLOv863zrjOt8+EzrnOus6tz4IiCisKKyM6IGhlbHAuYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXZhaWxhYmxlIGdpdCBjb21tYW5kcyBpbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGhlbHAuYzozMDUKK21zZ2lkICJnaXQgY29tbWFuZHMgYXZhaWxhYmxlIGZyb20gZWxzZXdoZXJlIG9uIHlvdXIgJFBBVEgiCittc2dzdHIgIs61zr3PhM6/zrvOrc+CIGdpdCDOtM65zrHOuM6tz4POuc68zrXPgiDOsc+Az4wgzrHOu867zr/PjSDPg8+Ezr8gJFBBVEggz4POsc+CIgorCisjOiBoZWxwLmM6MzE0Cittc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgorbXNnc3RyICIiCisizpHPhc+Ezq3PgiDOtc6vzr3Osc65IM66zr/Ouc69zq3PgiDOtc69z4TOv867zq3PgiBHaXQgz4DOv8+FIM+Hz4HOt8+DzrnOvM6/z4DOv865zr/Pjc69z4TOsc65IM+DzrUgzrTOuc6sz4bOv8+BzrXPgiDPgM61z4HOuc+Az4TPjs+DzrXOuc+COiIKKworIzogaGVscC5jOjM2MyBnaXQuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIGxpc3RpbmcgdHlwZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGhlbHAuYzo0MTAKK21zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOiIKK21zZ3N0ciAiIgorCisjOiBoZWxwLmM6NTE5Cittc2dpZCAiU2VlICdnaXQgaGVscCA8Y29tbWFuZD4nIHRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIgorbXNnc3RyICIiCisizpTOtc6vz4TOtSAnZ2l0IGhlbHAgPM61zr3PhM6/zrvOrj4nIM6zzrnOsSDOvc6xIM60zrnOsc6yzqzPg861z4TOtSDOs865zrEgzrrOrM+Azr/Ouc6xIM+Dz4XOs866zrXOus+BzrnOvM6tzr3OtyDPhc+Azr/Otc69z4TOv867zq4iCisKKyM6IGhlbHAuYzo1MjQKK21zZ2lkICJFeHRlcm5hbCBjb21tYW5kcyIKK21zZ3N0ciAizpXOvs+Jz4TOtc+BzrnOus6tz4IgzrXOvc+Ezr/Ou86tz4IiCisKKyM6IGhlbHAuYzo1MzkKK21zZ2lkICJDb21tYW5kIGFsaWFzZXMiCittc2dzdHIgIiIKKworIzogaGVscC5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJyVzJyBhcHBlYXJzIHRvIGJlIGEgZ2l0IGNvbW1hbmQsIGJ1dCB3ZSB3ZXJlIG5vdFxuIgorImFibGUgdG8gZXhlY3V0ZSBpdC4gTWF5YmUgZ2l0LSVzIGlzIGJyb2tlbj8iCittc2dzdHIgIiIKKyInJXMnIM+GzrHOr869zrXPhM6xzrkgzr3OsSDOtc6vzr3Osc65IM61zr3PhM6/zrvOriBnaXQsIM6xzrvOu86sIM60zrXOvSDOvM+Azr/Pgc6tz4POsc68zrVcbiIKKyLOvc6xIM+EzrfOvSDOtc66z4TOtc67zq3Pg86/z4XOvM61LiDOnM6uz4DPic+CIM+Ezr8gZ2l0LSVzIM61zq/Ovc6xzrkgz4fOsc67zrHPg868zq3Ovc6/OyIKKworIzogaGVscC5jOjY2MgorbXNnaWQgIlVoIG9oLiBZb3VyIHN5c3RlbSByZXBvcnRzIG5vIEdpdCBjb21tYW5kcyBhdCBhbGwuIgorbXNnc3RyICLOj8+AzrEuIM6kzr8gz4PPjc+Dz4TOt868zqwgz4POsc+CIM60zrXOvSDOsc69zrHPhs6tz4HOtc65IM66zrHOvM6vzrEgzrHPgM6/zrvPjc+Ez4nPgiDOtc69z4TOv867zq4gR2l0LiIKKworIzogaGVscC5jOjY4NAorIywgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBZb3UgY2FsbGVkIGEgR2l0IGNvbW1hbmQgbmFtZWQgJyVzJywgd2hpY2ggZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICLOoM6hzp/Oo86fzqfOlzogzprOsc67zq3Pg86xz4TOtSDOvM6vzrEgzrXOvc+Ezr/Ou86uIEdpdCDOvM61IM+Mzr3Ov868zrEgJyVzJywgzrcgzr/PgM6/zq/OsSDOtM61zr0gz4XPgM6sz4HPh861zrkuIgorCisjOiBoZWxwLmM6Njg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnRpbnVpbmcgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCB5b3UgbWVhbnQgJyVzJy4iCittc2dzdHIgIs6jz4XOvc61z4fOr862zr/Phc68zrUgz4XPgM6/zrjOrc+Ezr/Ovc+EzrHPgiDPgM+Jz4IgzrXOvc69zr/Ov8+Nz4POsc+EzrUgJyVzJy4iCisKKyM6IGhlbHAuYzo2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29udGludWluZyBpbiAlMC4xZiBzZWNvbmRzLCBhc3N1bWluZyB0aGF0IHlvdSBtZWFudCAnJXMnLiIKK21zZ3N0ciAizqPPhc69zrXPh86vzrbOv8+FzrzOtSDPg861ICUwLjFmIM60zrXPhc+EzrXPgc+MzrvOtc+Az4TOsSwgz4XPgM6/zrjOrc+Ezr/Ovc+EzrHPgiDPgM+Jz4IgzrXOvc69zr/Ov8+Nz4POsc+EzrUgJyVzJy4iCisKKyM6IGhlbHAuYzo3MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0OiAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kLiBTZWUgJ2dpdCAtLWhlbHAnLiIKK21zZ3N0ciAiZ2l0OiAnJXMnIM60zrXOvSDOtc6vzr3Osc65IM61zr3PhM6/zrvOriBnaXQuIM6UzrXOr8+EzrUgJ2dpdCAtLWhlbHAnLiIKKworIzogaGVscC5jOjcwNgorbXNnaWQgIiIKKyJcbiIKKyJUaGUgbW9zdCBzaW1pbGFyIGNvbW1hbmQgaXMiCittc2dpZF9wbHVyYWwgIiIKKyJcbiIKKyJUaGUgbW9zdCBzaW1pbGFyIGNvbW1hbmRzIGFyZSIKK21zZ3N0clswXSAiIgorIlxuIgorIs6XIM+AzrnOvyDPgM6xz4HPjM68zr/Ouc6xIM61zr3PhM6/zrvOriDOtc6vzr3Osc65IgorbXNnc3RyWzFdICIiCisiXG4iCisizp/OuSDPgM65zr8gz4DOsc+Bz4zOvM6/zrnOtc+CIM61zr3PhM6/zrvOrc+CIM61zq/Ovc6xzrkiCisKKyM6IGhlbHAuYzo3MjEKK21zZ2lkICJnaXQgdmVyc2lvbiBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHZlcnNpb24gWzzOtc+AzrnOu86/zrPOrc+CPl0iCisKKyM6IGhlbHAuYzo3ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIC0gJXMiCittc2dzdHIgIiIKKworIzogaGVscC5jOjc5MworbXNnaWQgIiIKKyJcbiIKKyJEaWQgeW91IG1lYW4gdGhpcz8iCittc2dpZF9wbHVyYWwgIiIKKyJcbiIKKyJEaWQgeW91IG1lYW4gb25lIG9mIHRoZXNlPyIKK21zZ3N0clswXSAiIgorIlxuIgorIs6czq7PgM+Jz4IgzrXOvc69zr/Ov8+Nz4POsc+EzrUgzrHPhc+Ez4w7IgorbXNnc3RyWzFdICIiCisiXG4iCisizpzOrs+Az4nPgiDOtc69zr3Ov86/z43Pg86xz4TOtSDOrc69zrEgzrHPgM+MIM6xz4XPhM6sOyIKKworIzogaWRlbnQuYzozNDUKK21zZ2lkICIiCisiXG4iCisiKioqIFBsZWFzZSB0ZWxsIG1lIHdobyB5b3UgYXJlLlxuIgorIlxuIgorIlJ1blxuIgorIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwieW91QGV4YW1wbGUuY29tXCJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwiWW91ciBOYW1lXCJcbiIKKyJcbiIKKyJ0byBzZXQgeW91ciBhY2NvdW50J3MgZGVmYXVsdCBpZGVudGl0eS5cbiIKKyJPbWl0IC0tZ2xvYmFsIHRvIHNldCB0aGUgaWRlbnRpdHkgb25seSBpbiB0aGlzIHJlcG9zaXRvcnkuXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogzqDOsc+BzrHOus6xzrvPjiDPgM61zq/PhM61IM68zr/PhSDPhM6/IM+Mzr3Ov868zqwgz4POsc+CLlxuIgorIlxuIgorIs6kz4HOrc6+z4TOtVxuIgorIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwieW91QGV4YW1wbGUuY29tXCJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwizqTOvyDOjM69zr/OvM6sIM6jzrHPglwiXG4iCisiXG4iCisizrPOuc6xIM69zrEgzr/Pgc6vz4POtc+EzrUgz4TOt869IM+Az4HOv861z4DOuc67zrXOs868zq3Ovc63IM+EzrHPhc+Ez4zPhM63z4TOsSDPhM6/z4UgzrvOv86zzrHPgc65zrHPg868zr/PjSDPg86xz4IuXG4iCisizqDOsc+BzrHOu861zq/PiM61z4TOtSDPhM6/IC0tZ2xvYmFsIM6zzrnOsSDOvc6xIM6/z4HOr8+DzrXPhM61IM+EzrfOvSDPhM6xz4XPhM+Mz4TOt8+EzrEgzrzPjM69zr8gz4POtSDOsc+Fz4TPjCDPhM6/ICIKKyLOsc+Azr/OuM61z4TOrs+BzrnOvy5cbiIKKyJcbiIKKworIzogaWRlbnQuYzozNjkKK21zZ2lkICJubyBlbWFpbCB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgorbXNnc3RyICLOtM61IM60z4zOuM63zrrOtSBlbWFpbCDOus6xzrkgzrcgzrHPhc+Ez4zOvM6xz4TOtyDOsc69zq/Ph869zrXPhc+DzrcgzrXOr869zrHOuSDOsc+AzrXOvc61z4HOs86/z4DOv865zrfOvM6tzr3OtyIKKworIzogaWRlbnQuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGF1dG8tZGV0ZWN0IGVtYWlsIGFkZHJlc3MgKGdvdCAnJXMnKSIKK21zZ3N0ciAizrTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TOriDOtyDOsc+Fz4TPjM68zrHPhM63IM6xzr3Or8+Hzr3Otc+Fz4POtyDOtM65zrXPjc64z4XOvc+DzrfPgiBlbWFpbCAozrLPgc6tzrjOt866zrUgJyVzJykiCisKKyM6IGlkZW50LmM6Mzg0Cittc2dpZCAibm8gbmFtZSB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgorbXNnc3RyICLOtM61IM60z4zOuM63zrrOtSDPjM69zr/OvM6xIM66zrHOuSDOtyDOsc+Fz4TPjM68zrHPhM63IM6xzr3Or8+Hzr3Otc+Fz4POtyDOtc6vzr3Osc65IM6xz4DOtc69zrXPgc6zzr/PgM6/zrnOt868zq3Ovc63IgorCisjOiBpZGVudC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYXV0by1kZXRlY3QgbmFtZSAoZ290ICclcycpIgorbXNnc3RyICLOtM61zr0gzq7PhM6xzr0gzrTPhc69zrHPhM6uIM63IM6xz4XPhM+MzrzOsc+EzrcgzrHOvc6vz4fOvc61z4XPg863IM6/zr3PjM68zrHPhM6/z4IgKM6yz4HOrc64zrfOus61ICclcycpIgorCisjOiBpZGVudC5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJlbXB0eSBpZGVudCBuYW1lIChmb3IgPCVzPikgbm90IGFsbG93ZWQiCittc2dzdHIgIs60zrXOvSDOtc+AzrnPhM+Bzq3PgM61z4TOsc65IM66zrXOvc+MIM+Mzr3Ov868zrEgaWRlbnQgKM6zzrnOsSDPhM6/IDwlcz4pIgorCisjOiBpZGVudC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJuYW1lIGNvbnNpc3RzIG9ubHkgb2YgZGlzYWxsb3dlZCBjaGFyYWN0ZXJzOiAlcyIKK21zZ3N0ciAiz4TOvyDPjM69zr/OvM6xIM6xz4DOv8+EzrXOu861zq/PhM6xzrkgzrzPjM69zr8gzrHPgM+MIM68zrcgzrXPgM65z4TPgc61z4DPhM6/z43PgiDPh86xz4HOsc66z4TOrs+BzrXPgjogJXMiCisKKyM6IGlkZW50LmM6NDE5IGJ1aWx0aW4vY29tbWl0LmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZGF0ZSBmb3JtYXQ6ICVzIgorbXNnc3RyICLOvM63IM6tzrPOus+Fz4HOtyDOvM6/z4HPhs6uIM63zrzOtc+Bzr/OvM63zr3Or86xz4I6ICVzIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzozNgorbXNnaWQgIm11bHRpcGxlIGZpbHRlci1zcGVjcyBjYW5ub3QgYmUgY29tYmluZWQiCittc2dzdHIgIiIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6NTgKK21zZ2lkICJleHBlY3RlZCAndHJlZTo8ZGVwdGg+JyIKK21zZ3N0ciAiIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzoxNTIKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHBhcnRpYWwgY2xvbmUgcHJvbWlzb3IgcmVtb3RlIgorbXNnc3RyICIiCisKKyM6IGxvY2tmaWxlLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVbmFibGUgdG8gY3JlYXRlICclcy5sb2NrJzogJXMuXG4iCisiXG4iCisiQW5vdGhlciBnaXQgcHJvY2VzcyBzZWVtcyB0byBiZSBydW5uaW5nIGluIHRoaXMgcmVwb3NpdG9yeSwgZS5nLlxuIgorImFuIGVkaXRvciBvcGVuZWQgYnkgJ2dpdCBjb21taXQnLiBQbGVhc2UgbWFrZSBzdXJlIGFsbCBwcm9jZXNzZXNcbiIKKyJhcmUgdGVybWluYXRlZCB0aGVuIHRyeSBhZ2Fpbi4gSWYgaXQgc3RpbGwgZmFpbHMsIGEgZ2l0IHByb2Nlc3NcbiIKKyJtYXkgaGF2ZSBjcmFzaGVkIGluIHRoaXMgcmVwb3NpdG9yeSBlYXJsaWVyOlxuIgorInJlbW92ZSB0aGUgZmlsZSBtYW51YWxseSB0byBjb250aW51ZS4iCittc2dzdHIgIiIKKyLOlM61IM6zzq/Ovc61z4TOsc65IM69zrEgzrTOt868zrnOv8+Fz4HOs863zrjOtc6vIM+Ezr8gJyVzLmxvY2snOiAlcy5cbiIKKyJcbiIKKyLOps6xzq/Ovc61z4TOsc65IM+Az4nPgiDOvM65zrEgzqzOu867zrcgzrTOuc61z4HOs86xz4POr86xIGdpdCDPhM+Bzq3Ph861zrkgzrzOrc+DzrEgz4POtSDOsc+Fz4TPjCDPhM6/IM6xz4DOv864zrXPhM6uz4HOuc6/LCDPgC7Phy5cbiIKKyLOrc69zrHPgiDOtM65zr/Pgc64z4nPhM6uz4Igz4DOv8+FIM6szr3Ov865zr7OtSDOsc+Az4wgz4TOvyAnZ2l0IGNvbW1pdCcuIM6gzrHPgc6xzrrOsc67z44gz4POuc6zzr/Phc+BzrXPhc+EzrXOr8+EzrUgz4DPic+CICIKKyLPjM67zrXPgiDOv865IM60zrnOtc+BzrPOsc+Dzq/Otc+CXG4iCisizq3Ph86/z4XOvSDPhM61z4HOvM6xz4TOuc+Dz4TOtc6vIM66zrHOuSDPgM+Bzr/Pg8+AzrHOuM6uz4PPhM61IM+AzqzOu865LiDOkc69IM6xz4DOv8+Ez4XOs8+HzqzOvc61zrkgzrHOus+MzrzOsSwgzrzPgM6/z4HOtc6vIM68zrnOsSAiCisizrTOuc61z4HOs86xz4POr86xIGdpdFxuIgorIs69zrEgzq3Ph861zrkgzrrOsc+EzrHPgc+BzrXPjc+DzrXOuSDOvM6tz4POsSDPg861IM6xz4XPhM+MIM+Ezr8gzrHPgM6/zrjOtc+Ezq7Pgc65zr8gzr3Pic+Bzq/PhM61z4HOsTpcbiIKKyLOsc+GzrHOuc+Bzq3Pg8+EzrUgz4TOvyDOsc+Bz4fOtc6vzr8gz4fOtc65z4HOv866zq/Ovc63z4TOsSDOs865zrEgzr3OsSDPg8+Fzr3Otc+Hzq/Pg861z4TOtS4iCisKKyM6IGxvY2tmaWxlLmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBjcmVhdGUgJyVzLmxvY2snOiAlcyIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS5jOjQxCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGNhY2hlIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLmM6MTA3IHJlcmVyZS5jOjcyMCBidWlsdGluL2FtLmM6MTg4NCBidWlsdGluL2FtLmM6MTkxOAorIzogYnVpbHRpbi9jaGVja291dC5jOjQxNiBidWlsdGluL2NoZWNrb3V0LmM6NzQ1IGJ1aWx0aW4vY2xvbmUuYzo3NzEKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCittc2dzdHIgIs60zrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TOriDOtyDOtc6zzrPPgc6xz4bOriDOvc6tzr/PhSDOsc+Bz4fOtc6vzr/PhSDOtc+Fz4HOtc+EzrfPgc6vzr/PhSIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzMyCittc2dpZCAiKGJhZCBjb21taXQpXG4iCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgImFkZF9jYWNoZWluZm8gZmFpbGVkIGZvciBwYXRoICclcyc7IG1lcmdlIGFib3J0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWRkX2NhY2hlaW5mbyBmYWlsZWQgdG8gcmVmcmVzaCBmb3IgcGF0aCAnJXMnOyBtZXJnZSBhYm9ydGluZy4iCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6NDQ3Cittc2dpZCAiZXJyb3IgYnVpbGRpbmcgdHJlZXMiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcGF0aCAnJXMnJXMiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbW92aW5nICVzIHRvIG1ha2Ugcm9vbSBmb3Igc3ViZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTI3IG1lcmdlLXJlY3Vyc2l2ZS5jOjk0NgorbXNnaWQgIjogcGVyaGFwcyBhIEQvRiBjb25mbGljdD8iCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTM2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5NzggYnVpbHRpbi9jYXQtZmlsZS5jOjQwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyAnJXMnIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4MAorIywgYy1mb3JtYXQKK21zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgorbXNnc3RyICLOsc69zrHOvM61zr3PjM+EzrHOvSBibG9iIM6zzrnOsSAlcyAnJXMnIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDA0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyc6ICVzIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJzogJXMiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3Qga25vdyB3aGF0IHRvIGRvIHdpdGggJTA2byAlcyAnJXMnIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobm90IGNoZWNrZWQgb3V0KSIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKGNvbW1pdHMgbm90IHByZXNlbnQpIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAoY29tbWl0cyBkb24ndCBmb2xsb3cgbWVyZ2UtYmFzZSkiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMyBtZXJnZS1yZWN1cnNpdmUuYzoxMjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhc3QtZm9yd2FyZGluZyBzdWJtb2R1bGUgJXMgdG8gdGhlIGZvbGxvd2luZyBjb21taXQ6IgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzYgbWVyZ2UtcmVjdXJzaXZlLmM6MTI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGYXN0LWZvcndhcmRpbmcgc3VibW9kdWxlICVzIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobWVyZ2UgZm9sbG93aW5nIGNvbW1pdHMgbm90IGZvdW5kKSIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG5vdCBmYXN0LWZvcndhcmQpIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNzYKK21zZ2lkICJGb3VuZCBhIHBvc3NpYmxlIG1lcmdlIHJlc29sdXRpb24gZm9yIHRoZSBzdWJtb2R1bGU6XG4iCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSWYgdGhpcyBpcyBjb3JyZWN0IHNpbXBseSBhZGQgaXQgdG8gdGhlIGluZGV4IGZvciBleGFtcGxlXG4iCisiYnkgdXNpbmc6XG4iCisiXG4iCisiICBnaXQgdXBkYXRlLWluZGV4IC0tY2FjaGVpbmZvIDE2MDAwMCAlcyBcIiVzXCJcbiIKKyJcbiIKKyJ3aGljaCB3aWxsIGFjY2VwdCB0aGlzIHN1Z2dlc3Rpb24uXG4iCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI4OAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChtdWx0aXBsZSBtZXJnZXMgZm91bmQpIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzNjEKK21zZ2lkICJGYWlsZWQgdG8gZXhlY3V0ZSBpbnRlcm5hbCBtZXJnZSIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBhZGQgJXMgdG8gZGF0YWJhc2UiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQxOQorIywgYy1mb3JtYXQKK21zZ2lkICJFcnJvcjogUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlczsgd3JpdGluZyB0byAlcyBpbnN0ZWFkLiIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCisiaW4gdHJlZS4iCittc2dzdHIgIiIKKyLOo86lzpPOms6hzp/Opc6jzpcgKCVzL860zrnOsc6zz4HOsc+Gzq4pOiDOiM6zzrnOvc61IM60zrnOsc6zz4HOsc+Gzq4gz4TOv8+FICVzIM+Dz4TOvyAlcyDOus6xzrkgJXMgz4PPhM6/ICVzLiAiCisizpTOuc6xz4TOt8+Bzq7OuM63zrrOtSDOtyDOrc66zrTOv8+DzrcgJXMgz4TOv8+FICVzIM+Dz4TOvyDOtM6tzr3PhM+Bzr8uIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgdG8gJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgIgorImxlZnQgaW4gdHJlZS4iCittc2dzdHIgIiIKKyLOo86lzpPOms6hzp/Opc6jzpcgKCVzL860zrnOsc6zz4HOsc+Gzq4pOiDOiM6zzrnOvc61IM60zrnOsc6zz4HOsc+Gzq4gz4TOv8+FICVzIM+Dz4TOvyAlcyDOus6xzrkgJXMgz4PPhM6/ICVzIM+Dz4TOvyAlcy4gIgorIs6UzrnOsc+EzrfPgc6uzrjOt866zrUgzrcgzq3Ous60zr/Pg863ICVzIM+Ezr/PhSAlcyDPg8+Ezr8gzrTOrc69z4TPgc6/LiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ5OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgorImluIHRyZWUgYXQgJXMuIgorbXNnc3RyICIiCisizqPOpc6TzprOoc6fzqXOo86XICglcy/OtM65zrHOs8+BzrHPhs6uKTogzojOs865zr3OtSDOtM65zrHOs8+BzrHPhs6uIM+Ezr/PhSAlcyDPg8+Ezr8gJXMgzrrOsc65ICVzIM+Dz4TOvyAlcy4gIgorIs6UzrnOsc+EzrfPgc6uzrjOt866zrUgzrcgzq3Ous60zr/Pg863ICVzIM+Ezr/PhSAlcyDPg8+Ezr8gzrTOrc69z4TPgc6/IM+Dz4TOvyAlcy4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCisibGVmdCBpbiB0cmVlIGF0ICVzLiIKK21zZ3N0ciAiIgorIs6jzqXOk86azqHOn86lzqPOlyAoJXMvzrTOuc6xzrPPgc6xz4bOrik6IM6IzrPOuc69zrUgzrTOuc6xzrPPgc6xz4bOriDPhM6/z4UgJXMgz4PPhM6/ICVzIM66zrHOuSAlcyDPg8+Ezr8gJXMgz4PPhM6/ICVzLiAiCisizpTOuc6xz4TOt8+Bzq7OuM63zrrOtSDOtyDOrc66zrTOv8+DzrcgJXMgz4TOv8+FICVzIM+Dz4TOvyDOtM6tzr3PhM+Bzr8gz4PPhM6/ICVzLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUzNworbXNnaWQgInJlbmFtZSIKK21zZ3N0ciAizrzOtc+Ezr/Ovc6/zrzOsc+Dzq/OsSIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUzNworbXNnaWQgInJlbmFtZWQiCittc2dzdHIgIs68zrXPhM6/zr3Ov868zqzPg8+EzrfOus61IgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjMzIG1lcmdlLXJlY3Vyc2l2ZS5jOjI0ODEgbWVyZ2UtcmVjdXJzaXZlLmM6MzIxMworIywgYy1mb3JtYXQKK21zZ2lkICJSZWZ1c2luZyB0byBsb3NlIGRpcnR5IGZpbGUgYXQgJXMiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY0MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICVzLCBldmVuIHRob3VnaCBpdCdzIGluIHRoZSB3YXkuIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAgQWRkZWQgJXMgaW4gJXMiCittc2dzdHIgIiIKKyLOo86lzpPOms6hzp/Opc6jzpcgKM68zrXPhM6/zr3Ov868zrHPg86vzrEvz4DPgc6/z4POuM6uzrrOtyk6IM6czrXPhM6/zr3Ov868zrHPg86vzrEgJXMtPiVzIM+Dz4TOvyAlcy4gIM6IzrPOuc69zrUgz4DPgc6/z4POuM6uzrrOtyAiCisiJXMgz4PPhM6/ICVzIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgZGlyZWN0b3J5IGluICVzIGFkZGluZyBhcyAlcyBpbnN0ZWFkIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlczsgYWRkaW5nIGFzICVzIGluc3RlYWQiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgXCIlc1wiLT5cIiVzXCIgaW4gYnJhbmNoIFwiJXNcIiByZW5hbWUgXCIlcyIKKyJcIi0+XCIlc1wiIGluIFwiJXNcIiVzIgorbXNnc3RyICIiCisizqPOpc6TzprOoc6fzqXOo86XICjOvM61z4TOv869zr/OvM6xz4POr86xL868zrXPhM6/zr3Ov868zrHPg86vzrEpOiDOnM61z4TOv869zr/OvM6xz4POr86xIFwiJXNcIi0+XCIlc1wiIM+Dz4TOv869IM66zrvOrM60zr8gIgorIlwiJXNcIiDOvM61z4TOv869zr/OvM6xz4POr86xIFwiJXNcIi0+XCIlc1wiIM+Dz4TOv869IM66zrvOrM60zr8gXCIlc1wiJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NjQKK21zZ2lkICIgKGxlZnQgdW5yZXNvbHZlZCkiCittc2dzdHIgIiAozq3OvM61zrnOvc61IM6xz4TOsc+Nz4TOuc+Dz4TOvykiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgJXMtPiVzIGluICVzLiBSZW5hbWUgJXMtPiVzIGluICVzIgorbXNnc3RyICIiCisizqPOpc6TzprOoc6fzqXOo86XICjOvM61z4TOv869zr/OvM6xz4POr86xL868zrXPhM6/zr3Ov868zrHPg86vzrEpOiDOnM61z4TOv869zr/OvM6xz4POr86xICVzLT4lcyDPg8+Ezr8gJXMuIM6czrXPhM6/zr3Ov868zrHPg86vzrEgIgorIiVzLT4lcyDPg8+Ezr8gJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUIChkaXJlY3RvcnkgcmVuYW1lIHNwbGl0KTogVW5jbGVhciB3aGVyZSB0byBwbGFjZSAlcyBiZWNhdXNlICIKKyJkaXJlY3RvcnkgJXMgd2FzIHJlbmFtZWQgdG8gbXVsdGlwbGUgb3RoZXIgZGlyZWN0b3JpZXMsIHdpdGggbm8gZGVzdGluYXRpb24gIgorImdldHRpbmcgYSBtYWpvcml0eSBvZiB0aGUgZmlsZXMuIgorbXNnc3RyICIiCisizqPOpc6TzprOoc6fzqXOo86XICjOsc+DzqzPhs61zrnOsSDOvM61z4TOv869zr/OvM6xz4POr86xz4Igz4bOsc66zq3Ou86/z4UpOiDOlM61zr0gzrXOr869zrHOuSDPg86xz4bOrc+CIM+Azr/PjSDOvc6xIM+Ezr/PgM6/zrjOtc+EzrfOuM61zq8gIgorIs+Ezr8gJXMgzrXPgM61zrnOtM6uIM6/IM+GzqzOus61zrvOv8+CICVzIM68zrXPhM6/zr3Ov868zqzPg8+EzrfOus61IM+DzrUgz4DOv867zrvOsc+AzrvOv8+Nz4IgzqzOu867zr/Phc+CIM+GzrHOus6tzrvOv8+Fz4IsIM66zrHOuSAiCisizrrOsc69zq3Ovc6xz4Igz4DPgc6/zr/Pgc65z4POvM+Mz4IgzrTOtc69IM+Azq7Pgc61IM+EzrEgz4DOtc+BzrnPg8+Dz4zPhM61z4HOsSDOsc+Bz4fOtc6vzrEuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoaW1wbGljaXQgZGlyIHJlbmFtZSk6IEV4aXN0aW5nIGZpbGUvZGlyIGF0ICVzIGluIHRoZSB3YXkgb2YgIgorImltcGxpY2l0IGRpcmVjdG9yeSByZW5hbWUocykgcHV0dGluZyB0aGUgZm9sbG93aW5nIHBhdGgocykgdGhlcmU6ICVzLiIKK21zZ3N0ciAiIgorIs6jzqXOk86azqHOn86lzqPOlyAozrXOvc69zr/Ov8+NzrzOtc69zrcgzrzOtc+Ezr/Ovc6/zrzOsc+Dzq/OsSDPhs6xzrrOrc67z4nOvSk6IM6lz4DOrM+Bz4fOv869IM6xz4HPh861zq/Ovy/Phs6szrrOtc67zr/PgiDPg8+Ezr8gJXMgIgorIs61zrzPgM6/zrTOr862zrXOuSDPhM63zr0gzrXOvc69zr/Ov8+NzrzOtc69zrcgzrzOtc+Ezr/Ovc6/zrzOsc+Dzq/OsSDPgM6/z4UgzrjOsSDOrc6yzrHOts61IM+EzrnPgiDOtc+Az4zOvM61zr3Otc+CIM60zrnOsc60z4HOv868zq3PgiAiCisizrXOus61zq86ICVzLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKGltcGxpY2l0IGRpciByZW5hbWUpOiBDYW5ub3QgbWFwIG1vcmUgdGhhbiBvbmUgcGF0aCB0byAlczsgIgorImltcGxpY2l0IGRpcmVjdG9yeSByZW5hbWVzIHRyaWVkIHRvIHB1dCB0aGVzZSBwYXRocyB0aGVyZTogJXMiCittc2dzdHIgIiIKKyLOo86lzpPOms6hzp/Opc6jzpcgKM61zr3Ovc6/zr/Pjc68zrXOvc63IM68zrXPhM6/zr3Ov868zrHPg86vzrEgz4bOsc66zq3Ou8+Jzr0pOiDOlM61IM68z4DOv8+BzrXOryDOvc6xIM6zzq/Ovc61zrkgzrHOvc+EzrnPg8+Ezr/Or8+HzrnPg863ICIKKyLPhM6/z4UgJXMgzrzOtSDPgM61z4HOuc+Dz4PPjM+EzrXPgc61z4IgzrHPgM+MIM68zq/OsSDOtM65zrHOtM+Bzr/OvM6tz4IsIM6/zrkgzrXOvc69zr/Ov8+NzrzOtc69zrXPgiDOvM61z4TOv869zr/OvM6xz4POr861z4IgIgorIs+GzrHOus6tzrvPic69IM+Az4HOv8+Dz4DOrM64zrfPg86xzr0gzr3OsSDOss6szrvOv8+Fzr0gzrHPhc+Ezq3PgiDPhM65z4IgzrTOuc6xzrTPgc6/zrzOrc+CIM61zrrOtc6vOiAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgZGlyZWN0b3J5ICVzLT4lcyBpbiAlcy4gUmVuYW1lIGRpcmVjdG9yeSAlcy0iCisiPiVzIGluICVzIgorbXNnc3RyICIiCisizqPOpc6TzprOoc6fzqXOo86XICjOvM61z4TOv869zr/OvM6xz4POr86xL868zrXPhM6/zr3Ov868zrHPg86vzrEpOiDOnM61z4TOv869zr/OvM6xz4POr86xIM+GzrHOus6tzrvOv8+FICVzLT4lcyDPg8+Ezr8gJXMuICIKKyLOnM61z4TOv869zr/OvM6xz4POr86xIM+GzrHOus6tzrvOv8+FICVzLT4lcyDPg8+Ezr8gJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI0NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IEF2b2lkaW5nIGFwcGx5aW5nICVzIC0+ICVzIHJlbmFtZSB0byAlcywgYmVjYXVzZSAlcyBpdHNlbGYgd2FzICIKKyJyZW5hbWVkLiIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDIyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDI1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9iamVjdCAlcyBpcyBub3QgYSBibG9iIgorbXNnc3RyICLPhM6/IM6xzr3PhM65zrrOtc6vzrzOtc69zr8gJXMgzrTOtc69IM61zq/Ovc6xzrkgYmxvYiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA5NAorbXNnaWQgIm1vZGlmeSIKK21zZ3N0ciAiz4TPgc6/z4DOv8+Azr/Ouc+OIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDk0Cittc2dpZCAibW9kaWZpZWQiCittc2dzdHIgIs+Ez4HOv8+Azr/PgM6/zrnOt868zq3Ovc6/IgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTA1Cittc2dpZCAiY29udGVudCIKK21zZ3N0ciAiz4DOtc+BzrnOtc+Hz4zOvM61zr3OvyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzExMgorbXNnaWQgImFkZC9hZGQiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGVkICVzIChtZXJnZWQgc2FtZSBhcyBleGlzdGluZykiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE4MiBnaXQtc3VibW9kdWxlLnNoOjg2MQorbXNnaWQgInN1Ym1vZHVsZSIKK21zZ3N0ciAiz4XPgM6/zrXOvc+Mz4TOt8+EzrEiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ09ORkxJQ1QgKCVzKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCittc2dzdHIgIs6jzqXOk86azqHOn86lzqPOlyAoJXMpOiDOo8+NzrPOus+Bzr/Phc+Dzrcgz4PPhc6zz4fPjs69zrXPhc+DzrfPgiDPg8+Ezr8gJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGFzICVzIGluc3RlYWQiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1vdmluZyAlcyIKK21zZ3N0ciAizpHPhs6xzq/Pgc61z4POtyDPhM6/z4UgJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMzNDUKK21zZ2lkICJmaWxlL2RpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMzUxCittc2dpZCAiZGlyZWN0b3J5L2ZpbGUiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJDT05GTElDVCAoJXMpOiBUaGVyZSBpcyBhIGRpcmVjdG9yeSB3aXRoIG5hbWUgJXMgaW4gJXMuIEFkZGluZyAlcyBhcyAlcyIKK21zZ3N0ciAiIgorIs6jzqXOk86azqHOn86lzqPOlyAoJXMpOiDOpc+AzqzPgc+HzrXOuSDPhs6szrrOtc67zr/PgiDOvM61IM+Mzr3Ov868zrEgJXMgz4PPhM6/ICVzLiDOk86vzr3Otc+EzrHOuSDPgM+Bzr/Pg864zq7Ous63IM+Ezr/PhSAlcyAiCisiz4nPgiAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzM2NworIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgJXMiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJDT05GTElDVCAoYWRkL2FkZCk6IE1lcmdlIGNvbmZsaWN0IGluICVzIgorbXNnc3RyICLOo86lzpPOms6hzp/Opc6jzpcgKM+Az4HOv8+DzrjOrs66zrcvz4DPgc6/z4POuM6uzrrOtyk6IM6jz43Os866z4HOv8+Fz4POtyDPg8+FzrPPh8+Ozr3Otc+Fz4POt8+CIM+Dz4TOvyAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCisiICAlcyIKK21zZ3N0ciAiIgorIs6fzrkgz4TOv8+AzrnOus6tz4IgzrHOu867zrHOs86tz4Igz4POsc+CIM+Dz4TOsSDOsc66z4zOu86/z4XOuM6xIM6xz4HPh861zq/OsSDOuM6xIM61z4DOtc6zzrPPgc6xz4bPjM69z4TOv8+Fz4POsc69IM6xz4DPjCDPhM63ICIKKyLPg8+FzrPPh8+Ozr3Otc+Fz4POtzpcbiIKKyIgICVzIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDI4Cittc2dpZCAiQWxyZWFkeSB1cCB0byBkYXRlISIKK21zZ3N0ciAizonOtM63IM+AzrvOrs+Bz4nPgiDOtc69zq7OvM61z4HOvyEiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWVyZ2luZyBvZiB0cmVlcyAlcyBhbmQgJXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM1MzYKK21zZ2lkICJNZXJnaW5nOiIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcjoiCittc2dpZF9wbHVyYWwgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcnM6IgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzU4OAorbXNnaWQgIm1lcmdlIHJldHVybmVkIG5vIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNjcwIGJ1aWx0aW4vbWVyZ2UuYzo2OTIgYnVpbHRpbi9tZXJnZS5jOjg1MAorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCittc2dzdHIgIiIKKworIzogbWlkeC5jOjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIm11bHRpLXBhY2staW5kZXggZmlsZSAlcyBpcyB0b28gc21hbGwiCittc2dzdHIgIiIKKworIzogbWlkeC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIm11bHRpLXBhY2staW5kZXggc2lnbmF0dXJlIDB4JTA4eCBkb2VzIG5vdCBtYXRjaCBzaWduYXR1cmUgMHglMDh4IgorbXNnc3RyICIiCisKKyM6IG1pZHguYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHZlcnNpb24gJWQgbm90IHJlY29nbml6ZWQiCittc2dzdHIgIiIKKworIzogbWlkeC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgImhhc2ggdmVyc2lvbiAldSBkb2VzIG5vdCBtYXRjaCIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6MTA1Cittc2dpZCAiaW52YWxpZCBjaHVuayBvZmZzZXQgKHRvbyBsYXJnZSkiCittc2dzdHIgIiIKKworIzogbWlkeC5jOjEyOQorbXNnaWQgInRlcm1pbmF0aW5nIG11bHRpLXBhY2staW5kZXggY2h1bmsgaWQgYXBwZWFycyBlYXJsaWVyIHRoYW4gZXhwZWN0ZWQiCittc2dzdHIgIiIKKworIzogbWlkeC5jOjE0MgorbXNnaWQgIm11bHRpLXBhY2staW5kZXggbWlzc2luZyByZXF1aXJlZCBwYWNrLW5hbWUgY2h1bmsiCittc2dzdHIgIiIKKworIzogbWlkeC5jOjE0NAorbXNnaWQgIm11bHRpLXBhY2staW5kZXggbWlzc2luZyByZXF1aXJlZCBPSUQgZmFub3V0IGNodW5rIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzoxNDYKK21zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgT0lEIGxvb2t1cCBjaHVuayIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6MTQ4Cittc2dpZCAibXVsdGktcGFjay1pbmRleCBtaXNzaW5nIHJlcXVpcmVkIG9iamVjdCBvZmZzZXRzIGNodW5rIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzoxNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVsdGktcGFjay1pbmRleCBwYWNrIG5hbWVzIG91dCBvZiBvcmRlcjogJyVzJyBiZWZvcmUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBwYWNrLWludC1pZDogJXUgKCV1IHRvdGFsIHBhY2tzKSIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6MjQ2Cittc2dpZCAibXVsdGktcGFjay1pbmRleCBzdG9yZXMgYSA2NC1iaXQgb2Zmc2V0LCBidXQgb2ZmX3QgaXMgdG9vIHNtYWxsIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzoyNzEKK21zZ2lkICJlcnJvciBwcmVwYXJpbmcgcGFja2ZpbGUgZnJvbSBtdWx0aS1wYWNrLWluZGV4IgorbXNnc3RyICIiCisKKyM6IG1pZHguYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYWNrZmlsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gcGFjay1pbmRleCAnJXMnIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGxvY2F0ZSBvYmplY3QgJWQgaW4gcGFja2ZpbGUiCittc2dzdHIgIiIKKworIzogbWlkeC5jOjk0MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2xlYXIgbXVsdGktcGFjay1pbmRleCBhdCAlcyIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6OTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvaWQgZmFub3V0IG91dCBvZiBvcmRlcjogZmFub3V0WyVkXSA9ICU8UFJJeDMyPiA+ICU8UFJJeDMyPiA9IGZhbm91dFslZF0iCittc2dzdHIgIiIKKworIzogbWlkeC5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICJvaWQgbG9va3VwIG91dCBvZiBvcmRlcjogb2lkWyVkXSA9ICVzID49ICVzID0gb2lkWyVkXSIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6OTk2Cittc2dpZCAiVmVyaWZ5aW5nIG9iamVjdCBvZmZzZXRzIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzoxMDA0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBsb2FkIHBhY2sgZW50cnkgZm9yIG9pZFslZF0gPSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbG9hZCBwYWNrLWluZGV4IGZvciBwYWNrZmlsZSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6MTAxOQorIywgYy1mb3JtYXQKK21zZ2lkICJpbmNvcnJlY3Qgb2JqZWN0IG9mZnNldCBmb3Igb2lkWyVkXSA9ICVzOiAlPFBSSXg2ND4gIT0gJTxQUkl4NjQ+IgorbXNnc3RyICIiCisKKyM6IG5hbWUtaGFzaC5jOjUzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxhenlfZGlyIHRocmVhZDogJXMiCittc2dzdHIgIiIKKworIzogbmFtZS1oYXNoLmM6NTUzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbGF6eV9uYW1lIHRocmVhZDogJXMiCittc2dzdHIgIiIKKworIzogbmFtZS1oYXNoLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBqb2luIGxhenlfbmFtZSB0aHJlYWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IG5vdGVzLW1lcmdlLmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgcHJldmlvdXMgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuXG4iCisiUGxlYXNlLCB1c2UgJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcgb3IgJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0JyB0byAiCisiY29tbWl0L2Fib3J0IHRoZSBwcmV2aW91cyBtZXJnZSBiZWZvcmUgeW91IHN0YXJ0IGEgbmV3IG5vdGVzIG1lcmdlLiIKK21zZ3N0ciAiIgorIs6UzrXOvSDOrc+HzrXPhM61IM6/zrvOv866zrvOt8+Bz47Pg861zrkgz4TOt869IM+Az4HOv863zrPOv8+NzrzOtc69zrcgz4PPhc6zz4fPjs69zrXPhc+Dzrcgz4POt868zrXOuc+Oz4POtc+Ozr0gz4POsc+CICjOpc+AzqzPgc+HzrXOuSDPhM6/ICIKKyIlcykuXG4iCisizqDOsc+BzrHOus6xzrvPjiwgz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSAnZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0JyDOriAnZ2l0IG5vdGVzIG1lcmdlIC0tIgorImFib3J0JyDOs865zrEgzr3OsSDPhc+Azr/Oss6szrvOtc+EzrUvzrXOs866zrHPhM6xzrvOtc6vz4jOtc+EzrUgz4TOt869IM+Az4HOv863zrPOv8+NzrzOtc69zrcgz4PPhc6zz4fPjs69zrXPhc+Dzrcgz4DPgc65zr0gIgorIs6+zrXOus65zr3Ors+DzrXPhM61IM69zq3OsSDPg8+FzrPPh8+Ozr3Otc+Fz4POtyDPg863zrzOtc65z47Pg861z4nOvS4iCisKKyM6IG5vdGVzLW1lcmdlLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBub3RlcyBtZXJnZSAoJXMgZXhpc3RzKS4iCittc2dzdHIgIs6UzrXOvSDOrc+HzrXPhM61IM6/zrvOv866zrvOt8+Bz47Pg861zrkgz4TOtyDPg8+FzrPPh8+Ozr3Otc+Fz4POtyDPg863zrzOtc65z47Pg861z47OvSDPg86xz4IgKM6lz4DOrM+Bz4fOtc65IM+Ezr8gJXMpLiIKKworIzogbm90ZXMtdXRpbHMuYzo0NgorbXNnaWQgIkNhbm5vdCBjb21taXQgdW5pbml0aWFsaXplZC91bnJlZmVyZW5jZWQgbm90ZXMgdHJlZSIKK21zZ3N0ciAiIgorCisjOiBub3Rlcy11dGlscy5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgbm90ZXMucmV3cml0ZU1vZGUgdmFsdWU6ICclcyciCittc2dzdHIgIiIKKworIzogbm90ZXMtdXRpbHMuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gcmV3cml0ZSBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyB0aGUgbmFtZSBvZgorIy4gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgc2Vjb25kICVzIGlzCisjLiBpdHMgdmFsdWUuCisjLgorIzogbm90ZXMtdXRpbHMuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkICVzIHZhbHVlOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IG9iamVjdC5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgb2JqZWN0IHR5cGUgXCIlc1wiIgorbXNnc3RyICIiCisKKyM6IG9iamVjdC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJvYmplY3QgJXMgaXMgYSAlcywgbm90IGEgJXMiCittc2dzdHIgIiIKKworIzogb2JqZWN0LmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9iamVjdCAlcyBoYXMgdW5rbm93biB0eXBlIGlkICVkIgorbXNnc3RyICIiCisKKyM6IG9iamVjdC5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2Ugb2JqZWN0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBvYmplY3QuYzoyNjcgb2JqZWN0LmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgImhhc2ggbWlzbWF0Y2ggJXMiCittc2dzdHIgIiIKKworIzogcGFja2ZpbGUuYzo2MDcKK21zZ2lkICJvZmZzZXQgYmVmb3JlIGVuZCBvZiBwYWNrZmlsZSAoYnJva2VuIC5pZHg/KSIKK21zZ3N0ciAiIgorCisjOiBwYWNrZmlsZS5jOjE4NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAib2Zmc2V0IGJlZm9yZSBzdGFydCBvZiBwYWNrIGluZGV4IGZvciAlcyAoY29ycnVwdCBpbmRleD8pIgorbXNnc3RyICIiCisKKyM6IHBhY2tmaWxlLmM6MTg3NAorIywgYy1mb3JtYXQKK21zZ2lkICJvZmZzZXQgYmV5b25kIGVuZCBvZiBwYWNrIGluZGV4IGZvciAlcyAodHJ1bmNhdGVkIGluZGV4PykiCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy5jOjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGEgdmFsdWUiCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGluY29tcGF0aWJsZSB3aXRoICVzIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyA6IGluY29tcGF0aWJsZSB3aXRoIHNvbWV0aGluZyBlbHNlIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo4OCBwYXJzZS1vcHRpb25zLmM6OTIgcGFyc2Utb3B0aW9ucy5jOjI2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0YWtlcyBubyB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBwYXJzZS1vcHRpb25zLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXNuJ3QgYXZhaWxhYmxlIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzoxNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBwYXJzZS1vcHRpb25zLmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGV4cGVjdHMgYSBub24tbmVnYXRpdmUgaW50ZWdlciB2YWx1ZSB3aXRoIGFuIG9wdGlvbmFsIGsvbS9nIHN1ZmZpeCIKK21zZ3N0ciAiIgorCisjOiBwYXJzZS1vcHRpb25zLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImFtYmlndW91cyBvcHRpb246ICVzIChjb3VsZCBiZSAtLSVzJXMgb3IgLS0lcyVzKSIKK21zZ3N0ciAizrHOvM+Gzq/Pg863zrzOtyDOtc+AzrnOu86/zrPOrjogJXMgKM64zrEgzrzPgM6/z4HOv8+Nz4POtSDOvc6xIM61zq/Ovc6xzrkgLS0lcyVzIM6uIC0tJXMlcykiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzozNTYgcGFyc2Utb3B0aW9ucy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJkaWQgeW91IG1lYW4gYC0tJXNgICh3aXRoIHR3byBkYXNoZXMgPykiCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiBgJXMnIgorbXNnc3RyICLOrM6zzr3Pic+Dz4TOtyDOtc+AzrnOu86/zrPOriBgJXMnIgorCisjOiBwYXJzZS1vcHRpb25zLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc3dpdGNoIGAlYyciCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5vbi1hc2NpaSBvcHRpb24gaW4gc3RyaW5nOiBgJXMnIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo2NzUKK21zZ2lkICIuLi4iCittc2dzdHIgIi4uLiIKKworIzogcGFyc2Utb3B0aW9ucy5jOjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2FnZTogJXMiCittc2dzdHIgIs+Hz4HOrs+Dzrc6ICVzIgorCisjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uIGhlcmUgc2hvdWxkIGFsaWduIHdpdGggdGhlCisjLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24uCisjLgorIzogcGFyc2Utb3B0aW9ucy5jOjcwMAorIywgYy1mb3JtYXQKK21zZ2lkICIgICBvcjogJXMiCittc2dzdHIgIiAgIM6uOiAlcyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjcwMworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgJXMiCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy5jOjc0MgorbXNnaWQgIi1OVU0iCittc2dzdHIgIi3Okc6hzpnOmCIKKworIzogcGFyc2Utb3B0aW9ucy1jYi5jOjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy1jYi5jOjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCBleHBpcmF0aW9uIGRhdGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBwYXJzZS1vcHRpb25zLWNiLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgZXhwZWN0cyBcImFsd2F5c1wiLCBcImF1dG9cIiwgb3IgXCJuZXZlclwiIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMtY2IuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCittc2dzdHIgIiIKKworIzogcGF0aC5jOjg5NAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgbWFrZSAlcyB3cml0YWJsZSBieSBncm91cCIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjEyOAorbXNnaWQgIkVzY2FwZSBjaGFyYWN0ZXIgJ1xcJyBub3QgYWxsb3dlZCBhcyBsYXN0IGNoYXJhY3RlciBpbiBhdHRyIHZhbHVlIgorbXNnc3RyICIiCisKKyM6IHBhdGhzcGVjLmM6MTQ2Cittc2dpZCAiT25seSBvbmUgJ2F0dHI6JyBzcGVjaWZpY2F0aW9uIGlzIGFsbG93ZWQuIgorbXNnc3RyICIiCisKKyM6IHBhdGhzcGVjLmM6MTQ5Cittc2dpZCAiYXR0ciBzcGVjIG11c3Qgbm90IGJlIGVtcHR5IgorbXNnc3RyICIiCisKKyM6IHBhdGhzcGVjLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXR0cmlidXRlIG5hbWUgJXMiCittc2dzdHIgIiIKKworIzogcGF0aHNwZWMuYzoyNTcKK21zZ2lkICJnbG9iYWwgJ2dsb2InIGFuZCAnbm9nbG9iJyBwYXRoc3BlYyBzZXR0aW5ncyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IHBhdGhzcGVjLmM6MjY0Cittc2dpZCAiIgorImdsb2JhbCAnbGl0ZXJhbCcgcGF0aHNwZWMgc2V0dGluZyBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgZ2xvYmFsICIKKyJwYXRoc3BlYyBzZXR0aW5ncyIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjMwNAorbXNnaWQgImludmFsaWQgcGFyYW1ldGVyIGZvciBwYXRoc3BlYyBtYWdpYyAncHJlZml4JyIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhdGhzcGVjIG1hZ2ljICclLipzJyBpbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IHBhdGhzcGVjLmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1pc3NpbmcgJyknIGF0IHRoZSBlbmQgb2YgcGF0aHNwZWMgbWFnaWMgaW4gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmltcGxlbWVudGVkIHBhdGhzcGVjIG1hZ2ljICclYycgaW4gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjQyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJ2xpdGVyYWwnIGFuZCAnZ2xvYicgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBwYXRoc3BlYy5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogcGF0aHNwZWMuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyAobW5lbW9uaWM6ICclYycpIgorbXNnc3RyICIiCisKKyM6IHBhdGhzcGVjLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXRoc3BlYyBtYWdpYyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29tbWFuZDogJXMiCittc2dzdHIgIiIKKyIlczogz4TOvyBtYWdpYyDPhM63z4Igz4DOtc+BzrnOs8+BzrHPhs6uz4IgzrTOuc6xzrTPgc6/zrzOrs+CIM60zrXOvSDPhc+Azr/Pg8+EzrfPgc6vzrbOtc+EzrHOuSDOsc+Az4wgz4TOt869IM61zr3PhM6/zrvOrjogJXMiCisKKyM6IHBhdGhzcGVjLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAizrcgz4DOtc+BzrnOs8+BzrHPhs6uIM60zrnOsc60z4HOv868zq7PgiAnJXMnIM61zq/Ovc6xzrkgz4DOr8+Dz4kgzrHPgM+MIM+Dz4XOvM6yzr/Ou865zrrPjCDOtM61z4POvM+MIgorCisjOiBwa3QtbGluZS5jOjEwNAorbXNnaWQgImZsdXNoIHBhY2tldCB3cml0ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogcGt0LWxpbmUuYzoxNDQgcGt0LWxpbmUuYzoyMzAKK21zZ2lkICJwcm90b2NvbCBlcnJvcjogaW1wb3NzaWJseSBsb25nIGxpbmUiCittc2dzdHIgIiIKKworIzogcGt0LWxpbmUuYzoxNjAgcGt0LWxpbmUuYzoxNjIKK21zZ2lkICJwYWNrZXQgd3JpdGUgd2l0aCBmb3JtYXQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHBrdC1saW5lLmM6MTk0Cittc2dpZCAicGFja2V0IHdyaXRlIGZhaWxlZCAtIGRhdGEgZXhjZWVkcyBtYXggcGFja2V0IHNpemUiCittc2dzdHIgIiIKKworIzogcGt0LWxpbmUuYzoyMDEgcGt0LWxpbmUuYzoyMDgKK21zZ2lkICJwYWNrZXQgd3JpdGUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHBrdC1saW5lLmM6MjkzCittc2dpZCAicmVhZCBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBwa3QtbGluZS5jOjMwMQorbXNnaWQgInRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdW5leHBlY3RlZGx5IgorbXNnc3RyICIiCisKKyM6IHBrdC1saW5lLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgbGluZSBsZW5ndGggY2hhcmFjdGVyOiAlLjRzIgorbXNnc3RyICIiCisKKyM6IHBrdC1saW5lLmM6MzM5IHBrdC1saW5lLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgbGluZSBsZW5ndGggJWQiCittc2dzdHIgIiIKKworIzogcGt0LWxpbmUuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlIGVycm9yOiAlcyIKK21zZ3N0ciAiIgorCisjOiBwcmVsb2FkLWluZGV4LmM6MTE5Cittc2dpZCAiUmVmcmVzaGluZyBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBwcmVsb2FkLWluZGV4LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkZWQgbHN0YXQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHByZXR0eS5jOjk2MworbXNnaWQgInVuYWJsZSB0byBwYXJzZSAtLXByZXR0eSBmb3JtYXQiCittc2dzdHIgIiIKKworIzogcmFuZ2UtZGlmZi5jOjU2Cittc2dpZCAiY291bGQgbm90IHN0YXJ0IGBsb2dgIgorbXNnc3RyICIiCisKKyM6IHJhbmdlLWRpZmYuYzo1OQorbXNnaWQgImNvdWxkIG5vdCByZWFkIGBsb2dgIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiByYW5nZS1kaWZmLmM6NzQgc2VxdWVuY2VyLmM6NDgyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICclcyciCittc2dzdHIgIiIKKworIzogcmFuZ2UtZGlmZi5jOjIyNAorbXNnaWQgImZhaWxlZCB0byBnZW5lcmF0ZSBkaWZmIgorbXNnc3RyICIiCisKKyM6IHJhbmdlLWRpZmYuYzo0NTUgcmFuZ2UtZGlmZi5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgbG9nIGZvciAnJXMnIgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzo2NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgYWRkIGZpbGUgYWxpYXMgJyVzJyAoJyVzJyBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCkiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjY4OQorbXNnaWQgImNhbm5vdCBjcmVhdGUgYW4gZW1wdHkgYmxvYiBpbiB0aGUgb2JqZWN0IGRhdGFiYXNlIgorbXNnc3RyICIiCisizrTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM6uIM63IM60zrfOvM65zr/Phc+BzrPOr86xIM66zrXOvc6/z40gYmxvYiDPg8+EzrcgzrLOrM+DzrcgzrTOtc60zr/OvM6tzr3Pic69IM6xzr3PhM65zrrOtc65zrzOrc69z4nOvSIKKworIzogcmVhZC1jYWNoZS5jOjcxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuIG9ubHkgYWRkIHJlZ3VsYXIgZmlsZXMsIHN5bWJvbGljIGxpbmtzIG9yIGdpdC1kaXJlY3RvcmllcyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6NzY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBpbmRleCBmaWxlICclcyciCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjc4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYWRkICclcycgdG8gaW5kZXgiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjc5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gc3RhdCAnJXMnIgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzoxMzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgYXBwZWFycyBhcyBib3RoIGEgZmlsZSBhbmQgYXMgYSBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE0ODkKK21zZ2lkICJSZWZyZXNoIGluZGV4IgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzoxNjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJpbmRleC52ZXJzaW9uIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgorIlVzaW5nIHZlcnNpb24gJWkiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE2MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkdJVF9JTkRFWF9WRVJTSU9OIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgorIlVzaW5nIHZlcnNpb24gJWkiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE2ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNpZ25hdHVyZSAweCUwOHgiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE2ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJWQiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE2OTYKK21zZ2lkICJiYWQgaW5kZXggZmlsZSBzaGExIHNpZ25hdHVyZSIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MTcyNgorIywgYy1mb3JtYXQKK21zZ2lkICJpbmRleCB1c2VzICUuNHMgZXh0ZW5zaW9uLCB3aGljaCB3ZSBkbyBub3QgdW5kZXJzdGFuZCIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MTcyOAorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyAlLjRzIGV4dGVuc2lvbiIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MTc2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGluZGV4IGVudHJ5IGZvcm1hdCAweCUwOHgiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE3ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsZm9ybWVkIG5hbWUgZmllbGQgaW4gdGhlIGluZGV4LCBuZWFyIHBhdGggJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MTgzNgorbXNnaWQgInVub3JkZXJlZCBzdGFnZSBlbnRyaWVzIGluIGluZGV4IgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzoxODM5CisjLCBjLWZvcm1hdAorbXNnaWQgIm11bHRpcGxlIHN0YWdlIGVudHJpZXMgZm9yIG1lcmdlZCBmaWxlICclcyciCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5vcmRlcmVkIHN0YWdlIGVudHJpZXMgZm9yICclcyciCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE5NDkgcmVhZC1jYWNoZS5jOjIyMjcgcmVyZXJlLmM6NTY1IHJlcmVyZS5jOjU5OSByZXJlcmUuYzoxMTExCisjOiBidWlsdGluL2FkZC5jOjQ1OSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3OCBidWlsdGluL2NoZWNrb3V0LmM6Mjk0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjIyIGJ1aWx0aW4vY2hlY2tvdXQuYzo5OTEgYnVpbHRpbi9jbGVhbi5jOjk1NQorIzogYnVpbHRpbi9jb21taXQuYzozNDQgYnVpbHRpbi9kaWZmLXRyZWUuYzoxMTYgYnVpbHRpbi9ncmVwLmM6NDk4CisjOiBidWlsdGluL212LmM6MTQ1IGJ1aWx0aW4vcmVzZXQuYzoyNDUgYnVpbHRpbi9ybS5jOjI3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMzMAorbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCIKK21zZ3N0ciAiz4TOvyDOsc+Bz4fOtc6vzr8gzrXPhc+BzrXPhM63z4HOr86/z4UgzrXOr869zrHOuSDOus6xz4TOtc+Dz4TPgc6xzrzOvM6tzr3OvyIKKworIzogcmVhZC1jYWNoZS5jOjIwOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsb2FkX2NhY2hlX2VudHJpZXMgdGhyZWFkOiAlcyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MjEwMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gam9pbiBsb2FkX2NhY2hlX2VudHJpZXMgdGhyZWFkOiAlcyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5kZXggZmlsZSBvcGVuIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHN0YXQgdGhlIG9wZW4gaW5kZXgiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjIxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluZGV4IGZpbGUgc21hbGxlciB0aGFuIGV4cGVjdGVkIgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzoyMTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gbWFwIGluZGV4IGZpbGUiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjIxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsb2FkX2luZGV4X2V4dGVuc2lvbnMgdGhyZWFkOiAlcyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gam9pbiBsb2FkX2luZGV4X2V4dGVuc2lvbnMgdGhyZWFkOiAlcyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZnJlc2hlbiBzaGFyZWQgaW5kZXggJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MjI3NAorIywgYy1mb3JtYXQKK21zZ2lkICJicm9rZW4gaW5kZXgsIGV4cGVjdCAlcyBpbiAlcywgZ290ICVzIgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzoyOTcxIHNlcXVlbmNlci5jOjQ3OTEgd3JhcHBlci5jOjY1OCBidWlsdGluL21lcmdlLmM6MTA4NworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MzA0NCBzZXF1ZW5jZXIuYzoyMjM3IHNlcXVlbmNlci5jOjM2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHN0YXQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MzA1NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiBnaXQgZGlyOiAlcyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MzA2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gdW5saW5rOiAlcyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MzA4OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZml4IHBlcm1pc3Npb24gYml0cyBvbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzozMjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZHJvcCB0byBzdGFnZSAjMCIKK21zZ3N0ciAiIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoxMAorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKKyJwLCBwaWNrIDxjb21taXQ+ID0gdXNlIGNvbW1pdFxuIgorInIsIHJld29yZCA8Y29tbWl0PiA9IHVzZSBjb21taXQsIGJ1dCBlZGl0IHRoZSBjb21taXQgbWVzc2FnZVxuIgorImUsIGVkaXQgPGNvbW1pdD4gPSB1c2UgY29tbWl0LCBidXQgc3RvcCBmb3IgYW1lbmRpbmdcbiIKKyJzLCBzcXVhc2ggPGNvbW1pdD4gPSB1c2UgY29tbWl0LCBidXQgbWVsZCBpbnRvIHByZXZpb3VzIGNvbW1pdFxuIgorImYsIGZpeHVwIDxjb21taXQ+ID0gbGlrZSBcInNxdWFzaFwiLCBidXQgZGlzY2FyZCB0aGlzIGNvbW1pdCdzIGxvZyBtZXNzYWdlXG4iCisieCwgZXhlYyA8Y29tbWFuZD4gPSBydW4gY29tbWFuZCAodGhlIHJlc3Qgb2YgdGhlIGxpbmUpIHVzaW5nIHNoZWxsXG4iCisiYiwgYnJlYWsgPSBzdG9wIGhlcmUgKGNvbnRpbnVlIHJlYmFzZSBsYXRlciB3aXRoICdnaXQgcmViYXNlIC0tY29udGludWUnKVxuIgorImQsIGRyb3AgPGNvbW1pdD4gPSByZW1vdmUgY29tbWl0XG4iCisibCwgbGFiZWwgPGxhYmVsPiA9IGxhYmVsIGN1cnJlbnQgSEVBRCB3aXRoIGEgbmFtZVxuIgorInQsIHJlc2V0IDxsYWJlbD4gPSByZXNldCBIRUFEIHRvIGEgbGFiZWxcbiIKKyJtLCBtZXJnZSBbLUMgPGNvbW1pdD4gfCAtYyA8Y29tbWl0Pl0gPGxhYmVsPiBbIyA8b25lbGluZT5dXG4iCisiLiAgICAgICBjcmVhdGUgYSBtZXJnZSBjb21taXQgdXNpbmcgdGhlIG9yaWdpbmFsIG1lcmdlIGNvbW1pdCdzXG4iCisiLiAgICAgICBtZXNzYWdlIChvciB0aGUgb25lbGluZSwgaWYgbm8gb3JpZ2luYWwgbWVyZ2UgY29tbWl0IHdhc1xuIgorIi4gICAgICAgc3BlY2lmaWVkKS4gVXNlIC1jIDxjb21taXQ+IHRvIHJld29yZCB0aGUgY29tbWl0IG1lc3NhZ2UuXG4iCisiXG4iCisiVGhlc2UgbGluZXMgY2FuIGJlIHJlLW9yZGVyZWQ7IHRoZXkgYXJlIGV4ZWN1dGVkIGZyb20gdG9wIHRvIGJvdHRvbS5cbiIKK21zZ3N0ciAiIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzozMSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTczCittc2dpZCAiIgorIlxuIgorIkRvIG5vdCByZW1vdmUgYW55IGxpbmUuIFVzZSAnZHJvcCcgZXhwbGljaXRseSB0byByZW1vdmUgYSBjb21taXQuXG4iCittc2dzdHIgIiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MzQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjE3NworbXNnaWQgIiIKKyJcbiIKKyJJZiB5b3UgcmVtb3ZlIGEgbGluZSBoZXJlIFRIQVQgQ09NTUlUIFdJTEwgQkUgTE9TVC5cbiIKK21zZ3N0ciAiIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo0MCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODE2Cittc2dpZCAiIgorIlxuIgorIllvdSBhcmUgZWRpdGluZyB0aGUgdG9kbyBmaWxlIG9mIGFuIG9uZ29pbmcgaW50ZXJhY3RpdmUgcmViYXNlLlxuIgorIlRvIGNvbnRpbnVlIHJlYmFzZSBhZnRlciBlZGl0aW5nLCBydW46XG4iCisiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjQ1IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4OTMKK21zZ2lkICIiCisiXG4iCisiSG93ZXZlciwgaWYgeW91IHJlbW92ZSBldmVyeXRoaW5nLCB0aGUgcmViYXNlIHdpbGwgYmUgYWJvcnRlZC5cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo1MSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTAwCittc2dpZCAiTm90ZSB0aGF0IGVtcHR5IGNvbW1pdHMgYXJlIGNvbW1lbnRlZCBvdXQiCittc2dzdHIgIiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6NjIgcmViYXNlLWludGVyYWN0aXZlLmM6NzUgc2VxdWVuY2VyLmM6MjIxOQorIzogc2VxdWVuY2VyLmM6NDU2OSBzZXF1ZW5jZXIuYzo0NjI1IHNlcXVlbmNlci5jOjQ5MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJy4iCittc2dzdHIgIiIKKworIzogcmVmcy5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIG9iamVjdCEiCittc2dzdHIgIiIKKworIzogcmVmcy5jOjU4MworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyBkYW5nbGluZyBzeW1yZWYgJXMiCittc2dzdHIgIiIKKworIzogcmVmcy5jOjU4NSByZWYtZmlsdGVyLmM6MTk3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyBicm9rZW4gcmVmICVzIgorbXNnc3RyICIiCisKKyM6IHJlZnMuYzo3MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZzogJXMiCittc2dzdHIgIs60zrXOvSDOrs+EzrHOvSDOtM+Fzr3Osc+Ez4wgz4TOvyDOrM69zr/Ouc6zzrzOsSDPhM6/z4UgJyVzJyDOs865zrEgzrXOs86zz4HOsc+Gzq46ICVzIgorCisjOiByZWZzLmM6NzIxIHJlZnMuYzo3NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgcmVmICclcyciCittc2dzdHIgIiIKKworIzogcmVmcy5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICJyZWYgJyVzJyBhbHJlYWR5IGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiByZWZzLmM6NzMyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgb2JqZWN0IElEIHdoZW4gd3JpdGluZyAnJXMnIgorbXNnc3RyICIiCisKKyM6IHJlZnMuYzo3NDAgc2VxdWVuY2VyLmM6Mzk2IHNlcXVlbmNlci5jOjI1NDkgc2VxdWVuY2VyLmM6MjY3NQorIzogc2VxdWVuY2VyLmM6MjY4OSBzZXF1ZW5jZXIuYzoyOTIzIHNlcXVlbmNlci5jOjQ3ODkgc2VxdWVuY2VyLmM6NDg1MgorIzogd3JhcHBlci5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZWZzLmM6NzY3IHNlcXVlbmNlci5jOjQ3ODcgc2VxdWVuY2VyLmM6NDg0NiB3cmFwcGVyLmM6MjI1IHdyYXBwZXIuYzozOTUKKyM6IGJ1aWx0aW4vYW0uYzo3MTMgYnVpbHRpbi9yZWJhc2UuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIKK21zZ3N0ciAizrTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TPjCDPhM6/IM6szr3Ov865zrPOvM6xIM+Ezr/PhSAnJXMnIM6zzrnOsSDOtc6zzrPPgc6xz4bOriIKKworIzogcmVmcy5jOjc3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIG9iamVjdCBJRCB3aGVuIGRlbGV0aW5nICclcyciCittc2dzdHIgIiIKKworIzogcmVmcy5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICJsb2cgZm9yIHJlZiAlcyBoYXMgZ2FwIGFmdGVyICVzIgorbXNnc3RyICIiCisKKyM6IHJlZnMuYzo5MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9nIGZvciByZWYgJXMgdW5leHBlY3RlZGx5IGVuZGVkIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHJlZnMuYzo5NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9nIGZvciAlcyBpcyBlbXB0eSIKK21zZ3N0ciAiIgorCisjOiByZWZzLmM6MTA2MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZ1c2luZyB0byB1cGRhdGUgcmVmIHdpdGggYmFkIG5hbWUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZWZzLmM6MTEzNworIywgYy1mb3JtYXQKK21zZ2lkICJ1cGRhdGVfcmVmIGZhaWxlZCBmb3IgcmVmICclcyc6ICVzIgorbXNnc3RyICIiCisKKyM6IHJlZnMuYzoxOTExCisjLCBjLWZvcm1hdAorbXNnaWQgIm11bHRpcGxlIHVwZGF0ZXMgZm9yIHJlZiAnJXMnIG5vdCBhbGxvd2VkIgorbXNnc3RyICIiCisKKyM6IHJlZnMuYzoxOTQzCittc2dpZCAicmVmIHVwZGF0ZXMgZm9yYmlkZGVuIGluc2lkZSBxdWFyYW50aW5lIGVudmlyb25tZW50IgorbXNnc3RyICIiCisKKyM6IHJlZnMuYzoyMDM5IHJlZnMuYzoyMDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICclcyciCittc2dzdHIgIiIKKworIzogcmVmcy5jOjIwNDUgcmVmcy5jOjIwODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHByb2Nlc3MgJyVzJyBhbmQgJyVzJyBhdCB0aGUgc2FtZSB0aW1lIgorbXNnc3RyICIiCisKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlbW92ZSByZWZlcmVuY2UgJXMiCittc2dzdHIgIiIKKworIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTI0MiByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTUzMgorIzogcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2UgJXM6ICVzIgorbXNnc3RyICIiCisKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyNDUgcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2VzOiAlcyIKK21zZ3N0ciAiIgorCisjOiByZWZzcGVjLmM6MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVmc3BlYyAnJXMnIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzozOSB3dC1zdGF0dXMuYzoxODYxCittc2dpZCAiZ29uZSIKK21zZ3N0ciAizrTOtc69IM+Fz4DOrM+Bz4fOtc65IM+AzrnOsSIKKworIzogcmVmLWZpbHRlci5jOjQwCisjLCBjLWZvcm1hdAorbXNnaWQgImFoZWFkICVkIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzo0MQorIywgYy1mb3JtYXQKK21zZ2lkICJiZWhpbmQgJWQiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjQyCisjLCBjLWZvcm1hdAorbXNnaWQgImFoZWFkICVkLCBiZWhpbmQgJWQiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGNvbG9yOjxjb2xvcj4pIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIGNvbG9yOiAlJShjb2xvcjolcykiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjE2MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlZ2VyIHZhbHVlIGV4cGVjdGVkIHJlZm5hbWU6bHN0cmlwPSVzIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZWdlciB2YWx1ZSBleHBlY3RlZCByZWZuYW1lOnJzdHJpcD0lcyIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCAlJSglcykgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSUob2JqZWN0dHlwZSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjI0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUob2JqZWN0c2l6ZSkgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSUoZGVsdGFiYXNlKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiUlKGJvZHkpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzoyNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSUoc3ViamVjdCkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjI5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duICUlKHRyYWlsZXJzKSBhcmd1bWVudDogJXMiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBjb250ZW50czpsaW5lcz0lcyIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCAlJShjb250ZW50cykgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgb2JqZWN0bmFtZTpzaG9ydD0lcyIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6MzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RuYW1lKSBhcmd1bWVudDogJXMiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGFsaWduOjx3aWR0aD4sPHBvc2l0aW9uPikiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjM4OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgcG9zaXRpb246JXMiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgd2lkdGg6JXMiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUoYWxpZ24pIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgInBvc2l0aXZlIHdpZHRoIGV4cGVjdGVkIHdpdGggdGhlICUlKGFsaWduKSBhdG9tIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkICUlKGlmKSBhcmd1bWVudDogJXMiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgZmllbGQgbmFtZTogJS4qcyIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmllbGQgbmFtZTogJS4qcyIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJub3QgYSBnaXQgcmVwb3NpdG9yeSwgYnV0IHRoZSBmaWVsZCAnJS4qcycgcmVxdWlyZXMgYWNjZXNzIHRvIG9iamVjdCBkYXRhIgorbXNnc3RyICIiCisizrTOtc69IM61zq/Ovc6xzrkgzrHPgM6/zrjOtc+Ezq7Pgc65zr8gZ2l0LCDOsc67zrvOrCDPhM6/IM+AzrXOtM6vzr8gJyUuKnMnIM+Hz4HOtc65zqzOts61z4TOsc65IM+Az4HPjM+DzrLOsc+Dzrcgz4PPhM6xICIKKyLOtM61zrTOv868zq3Ovc6xIM6xzr3PhM65zrrOtc65zrzOrc69z4nOvSIKKworIzogcmVmLWZpbHRlci5jOjY4MgorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGlmKSBhdG9tIHVzZWQgd2l0aG91dCBhICUlKHRoZW4pIGF0b20iCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCB3aXRob3V0IGFuICUlKGlmKSBhdG9tIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzo3NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCBhZnRlciAlJShlbHNlKSIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYW4gJSUoaWYpIGF0b20iCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjc3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCB3aXRob3V0IGEgJSUodGhlbikgYXRvbSIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6NzgxCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzo3OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShlbmQpIGF0b20gdXNlZCB3aXRob3V0IGNvcnJlc3BvbmRpbmcgYXRvbSIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6ODUzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCBmb3JtYXQgc3RyaW5nICVzIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzoxNDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKK21zZ3N0ciAiKM66zrHOvc6tzr3Osc+CIM66zrvOrM60zr/PgiwgzrPOr869zrXPhM6xzrkgcmViYXNlIM+Ezr/PhSAlcykiCisKKyM6IHJlZi1maWx0ZXIuYzoxNDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nIGRldGFjaGVkIEhFQUQgJXMpIgorbXNnc3RyICIozrrOsc69zq3Ovc6xz4IgzrrOu86szrTOv8+CLCDOs86vzr3Otc+EzrHOuSByZWJhc2Ugz4TOv8+FIM6xz4DOv8+Dz4XOvc60zrXOtM61zrzOrc69zr/PhSBIRUFEICVzKSIKKworIzogcmVmLWZpbHRlci5jOjE0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiKG5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMpIgorbXNnc3RyICIozrrOsc69zq3Ovc6xz4IgzrrOu86szrTOv8+CLCDOtyDOtM65z4fOv8+Ez4zOvM63z4POtyDOrM+Bz4fOuc+DzrUgz4PPhM6/ICVzKSIKKworIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMgIkhFQUQKKyMuIGRldGFjaGVkIGF0ICIgaW4gd3Qtc3RhdHVzLmMKKyMuCisjOiByZWYtZmlsdGVyLmM6MTQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMgIkhFQUQKKyMuIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYworIy4KKyM6IHJlZi1maWx0ZXIuYzoxNDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzoxNDcyCittc2dpZCAiKG5vIGJyYW5jaCkiCittc2dzdHIgIijOus6xzr3Orc69zrHPgiDOus67zqzOtM6/z4IpIgorCisjOiByZWYtZmlsdGVyLmM6MTUwNiByZWYtZmlsdGVyLmM6MTY2MworIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIG9iamVjdCAlcyBmb3IgJXMiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjE1MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFyc2Vfb2JqZWN0X2J1ZmZlciBmYWlsZWQgb24gJXMgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzoxODgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgYXQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6MTk3MQorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyByZWYgd2l0aCBicm9rZW4gbmFtZSAlcyIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6MjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzoyMzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbWVyZ2VkIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzoyMzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbm8tbWVyZ2VkIgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuYzoyMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6MjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBtdXN0IHBvaW50IHRvIGEgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJjb25maWcgcmVtb3RlIHNob3J0aGFuZCBjYW5ub3QgYmVnaW4gd2l0aCAnLyc6ICVzIgorbXNnc3RyICIiCisizrcgz4PPhc69z4TOv868zr/Os8+BzrHPhs6vzrEgz4HPjc64zrzOuc+DzrfPgiDOsc+Azr/OvM6xzrrPgc+Fz4POvM6tzr3Ov8+FIM60zrUgzrPOr869zrXPhM6xzrkgzr3OsSDOvs61zrrOuc69zqwgzrzOtSAnLyc6ICVzIgorCisjOiByZW1vdGUuYzo0MTAKK21zZ2lkICJtb3JlIHRoYW4gb25lIHJlY2VpdmVwYWNrIGdpdmVuLCB1c2luZyB0aGUgZmlyc3QiCittc2dzdHIgIs60z4zOuM63zrrOsc69IM+AzrXPgc65z4PPg8+Mz4TOtc+BzrEgzrHPgM+MIM6tzr3OsSByZWNlaXZlcGFjaywgzrPOr869zrXPhM6xzrkgz4fPgc6uz4POtyDPhM6/z4Ugz4DPgc+Oz4TOv8+FIgorCisjOiByZW1vdGUuYzo0MTgKK21zZ2lkICJtb3JlIHRoYW4gb25lIHVwbG9hZHBhY2sgZ2l2ZW4sIHVzaW5nIHRoZSBmaXJzdCIKK21zZ3N0ciAizrTPjM64zrfOus6xzr0gz4DOtc+BzrnPg8+Dz4zPhM61z4HOsSDOsc+Az4wgzq3Ovc6xIHVwbG9hZHBhY2ssIM6zzq/Ovc61z4TOsc65IM+Hz4HOrs+Dzrcgz4TOv8+FIM+Az4HPjs+Ezr/PhSIKKworIzogcmVtb3RlLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBmZXRjaCBib3RoICVzIGFuZCAlcyB0byAlcyIKK21zZ3N0ciAizpTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM6uIM63IM6xzr3OrM66z4TOt8+Dzrcgz4TOv8+FICVzIM66zrHOuSDPhM6/z4UgJXMgz4TOsc+Fz4TPjM+Hz4HOv869zrEgz4PPhM6/ICVzIgorCisjOiByZW1vdGUuYzo2MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXN1YWxseSB0cmFja3MgJXMsIG5vdCAlcyIKK21zZ3N0ciAiz4TOvyAlcyDPg8+Fzr3Ors64z4nPgiDPgM6xz4HOsc66zr/Ou86/z4XOuM61zq8gz4TOvyAlcywgz4zPh865IM+Ezr8gJXMiCisKKyM6IHJlbW90ZS5jOjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0cmFja3MgYm90aCAlcyBhbmQgJXMiCittc2dzdHIgIs+Ezr8gJXMgz4DOsc+BzrHOus6/zrvOv8+FzrjOtc6vIM+EzrHPhc+Ez4zPh8+Bzr/Ovc6xIM+Ezr8gJXMgzrrOsc65IM+Ezr8gJXMiCisKKyM6IHJlbW90ZS5jOjY4NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXkgJyVzJyBvZiBwYXR0ZXJuIGhhZCBubyAnKiciCittc2dzdHIgIs+Ezr8gzrrOu861zrnOtM6vICclcycgz4TOv8+FIM68zr/PhM6vzrLOv8+FIM60zrXOvSDOtc6vz4fOtSAnKiciCisKKyM6IHJlbW90ZS5jOjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICJ2YWx1ZSAnJXMnIG9mIHBhdHRlcm4gaGFzIG5vICcqJyIKK21zZ3N0ciAizrcgz4TOuc68zq4gJyVzJyDPhM6/z4UgzrzOv8+Ezq/Oss6/z4UgzrTOtc69IM6tz4fOtc65ICcqJyIKKworIzogcmVtb3RlLmM6MTAwMAorIywgYy1mb3JtYXQKK21zZ2lkICJzcmMgcmVmc3BlYyAlcyBkb2VzIG5vdCBtYXRjaCBhbnkiCittc2dzdHIgIs+Ezr8gcmVmc3BlYyDPgM63zrPOrs+CICVzIM60zrXOvSDPhM6xzrnPgc65zqzOts61zrkgzrzOtSDOus6xzr3Orc69zrEiCisKKyM6IHJlbW90ZS5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3JjIHJlZnNwZWMgJXMgbWF0Y2hlcyBtb3JlIHRoYW4gb25lIgorbXNnc3RyICLPhM6/IHJlZnNwZWMgz4DOt86zzq7PgiAlcyDPhM6xzrnPgc65zqzOts61zrkgzrzOtSDPgM61z4HOuc+Dz4PPjM+EzrXPgc6xIM6xz4DPjCDOrc69zrEiCisKKyMuIFRSQU5TTEFUT1JTOiAibWF0Y2hlcyAnJXMnJSIgaXMgdGhlIDxkc3Q+IHBhcnQgb2YgImdpdCBwdXNoCisjLiA8cmVtb3RlPiA8c3JjPjo8ZHN0PiIgcHVzaCwgYW5kICJiZWluZyBwdXNoZWQgKCclcycpIiBpcworIy4gdGhlIDxzcmM+LgorIy4KKyM6IHJlbW90ZS5jOjEwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZXN0aW5hdGlvbiB5b3UgcHJvdmlkZWQgaXMgbm90IGEgZnVsbCByZWZuYW1lIChpLmUuLFxuIgorInN0YXJ0aW5nIHdpdGggXCJyZWZzL1wiKS4gV2UgdHJpZWQgdG8gZ3Vlc3Mgd2hhdCB5b3UgbWVhbnQgYnk6XG4iCisiXG4iCisiLSBMb29raW5nIGZvciBhIHJlZiB0aGF0IG1hdGNoZXMgJyVzJyBvbiB0aGUgcmVtb3RlIHNpZGUuXG4iCisiLSBDaGVja2luZyBpZiB0aGUgPHNyYz4gYmVpbmcgcHVzaGVkICgnJXMnKVxuIgorIiAgaXMgYSByZWYgaW4gXCJyZWZzL3toZWFkcyx0YWdzfS9cIi4gSWYgc28gd2UgYWRkIGEgY29ycmVzcG9uZGluZ1xuIgorIiAgcmVmcy97aGVhZHMsdGFnc30vIHByZWZpeCBvbiB0aGUgcmVtb3RlIHNpZGUuXG4iCisiXG4iCisiTmVpdGhlciB3b3JrZWQsIHNvIHdlIGdhdmUgdXAuIFlvdSBtdXN0IGZ1bGx5IHF1YWxpZnkgdGhlIHJlZi4iCittc2dzdHIgIiIKKyLOnyDPgM+Bzr/Ov8+BzrnPg868z4zPgiDPgM6/z4UgzrXOuc+DzrHOs86szrPOsc+EzrUgzrTOtc69IM61zq/Ovc6xzrkgz4DOu86uz4HOtc+CIHJlZm5hbWUgKM60zrfOuy5cbiIKKyLPgM6/z4Ugzr3OsSDOsc+Bz4fOr862zrXOuSDOvM61IFwicmVmcy9cIikuIM6gz4HOv8+Dz4DOsc64zq7Pg86xzrzOtSDOvc6xIM68zrHOvc+Ezq3PiM6/z4XOvM61IM+EzrkgzrXOvc69zr/Otc6vz4TOtTpcbiIKKyJcbiIKKyItIM6ozqzPh869zr/Ovc+EzrHPgiDOs865zrEgcmVmIM+Azr/PhSDOvc6xIM+EzrHOuc+BzrnOrM62zrXOuSDOvM61IM+Ezr8gJyVzJyDPg8+EzrfOvSDOsc+Azr/OvM6xzrrPgc+Fz4POvM6tzr3OtyDPgM67zrXPhc+BzqwuXG4iCisiLSDOms6szr3Ov869z4TOsc+CIM6tzrvOtc6zz4fOvyDOtc6szr0gzrcgPM+AzrfOs86uPiDPgM6/z4UgzrTOt868zr/Pg865zrXPjc61z4TOsc65ICgnJXMnKVxuIgorIiAgzrXOr869zrHOuSByZWYgzrzOrc+DzrEgz4POtSBcInJlZnMve2hlYWRzLHRhZ3N9L1wiLiDOkc69IM61zq/Ovc6xzrksIM+Az4HOv8+DzrjOrc+Ezr/Phc68zrUgz4TOvyAiCisizrHOvc+Ezq/Pg8+Ezr/Ouc+Hzr9cbiIKKyIgIM+Az4HPjM64zrXOvM6xIHJlZnMve2hlYWRzLHRhZ3N9LyDPg8+EzrfOvSDOsc+Azr/OvM6xzrrPgc+Fz4POvM6tzr3OtyDPgM67zrXPhc+BzqwuXG4iCisiXG4iCisizprOsc69zq3Ovc6xIM6xz4DPjCDPhM6xIM60z43OvyDOtM61IM60zr/Pjc67zrXPiM61LCDOv8+Az4zPhM61IM61zrPOus6xz4TOsc67zrXOr8+IzrHOvM61LiDOoM+Bzq3PgM61zrkgzr3OsSDOtc65z4POrM6zzrXPhM61ICIKKyLOv867zr/Os8+BzqzPhs+Jz4Igz4TOvyByZWYuIgorCisjOiByZW1vdGUuYzoxMDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIGNvbW1pdCBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL2hlYWRzLyVzJz8iCittc2dzdHIgIiIKKyLOpM6/IM+DzrrOrc67zr/PgiA8z4DOt86zzq4+IM+Ezr/PhSByZWZzcGVjIM61zq/Ovc6xzrkgzrHOvc+EzrnOus61zq/OvM61zr3OvyDPhc+Azr/Oss6/zrvOrs+CLlxuIgorIs6Yzq3Ou86xz4TOtSDOvc6xIM60zrfOvM65zr/Phc+BzrPOrs+DzrXPhM61IM69zq3OvyDOus67zqzOtM6/IM60zrfOvM6/z4POuc61z43Ov869z4TOsc+CIM+Dz4TOv1xuIgorIiclczpyZWZzL3RhZ3MvJXMnOyIKKworIzogcmVtb3RlLmM6MTA0NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSB0YWcgb2JqZWN0LlxuIgorIkRpZCB5b3UgbWVhbiB0byBjcmVhdGUgYSBuZXcgdGFnIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy90YWdzLyVzJz8iCittc2dzdHIgIiIKKyLOpM6/IM+DzrrOrc67zr/PgiA8z4DOt86zzq4+IM+Ezr/PhSByZWZzcGVjIM61zq/Ovc6xzrkgzrHOvc+EzrnOus61zq/OvM61zr3OvyDOtc+EzrnOus6tz4TOsc+CLlxuIgorIs6Yzq3Ou86xz4TOtSDOvc6xIM60zrfOvM65zr/Phc+BzrPOrs+DzrXPhM61IM69zq3OsSDOtc+EzrnOus6tz4TOsSDOtM63zrzOv8+DzrnOtc+Nzr/Ovc+EzrHPgiDPg8+Ezr9cbiIKKyInJXM6cmVmcy90YWdzLyVzJzsiCisKKyM6IHJlbW90ZS5jOjEwNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSA8c3JjPiBwYXJ0IG9mIHRoZSByZWZzcGVjIGlzIGEgdHJlZSBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIHRhZyBhIG5ldyB0cmVlIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy90YWdzLyVzJz8iCittc2dzdHIgIiIKKyLOpM6/IM+DzrrOrc67zr/PgiA8z4DOt86zzq4+IM+Ezr/PhSByZWZzcGVjIM61zq/Ovc6xzrkgzrHOvc+EzrnOus61zq/OvM61zr3OvyDOtM6tzr3PhM+Bzr/PhS5cbiIKKyLOmM6tzrvOsc+EzrUgzr3OsSDOss6szrvOtc+EzrUgzrXPhM65zrrOrc+EzrEgz4POtSDOvc6tzr8gzrTOrc69z4TPgc6/IM60zrfOvM6/z4POuc61z43Ov869z4TOsc+CIM+Dz4TOv1xuIgorIiclczpyZWZzL3RhZ3MvJXMnOyIKKworIzogcmVtb3RlLmM6MTA1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSBibG9iIG9iamVjdC5cbiIKKyJEaWQgeW91IG1lYW4gdG8gdGFnIGEgbmV3IGJsb2IgYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL3RhZ3MvJXMnPyIKK21zZ3N0ciAiIgorIs6kzr8gz4POus6tzrvOv8+CIDzPgM63zrPOrj4gz4TOv8+FIHJlZnNwZWMgzrXOr869zrHOuSDOsc69z4TOuc66zrXOr868zrXOvc6/IGJsb2IuXG4iCisizpjOrc67zrHPhM61IM69zrEgzrLOrM67zrXPhM61IM61z4TOuc66zq3PhM6xIM+DzrUgzr3Orc6/IGJsb2IgzrTOt868zr/Pg865zrXPjc6/zr3PhM6xz4Igz4PPhM6/XG4iCisiJyVzOnJlZnMvdGFncy8lcyc7IgorCisjOiByZW1vdGUuYzoxMDkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhbm5vdCBiZSByZXNvbHZlZCB0byBicmFuY2giCittc2dzdHIgIs60zrUgzrzPgM6/z4HOtc6vIM69zrEgzrPOr869zrXOuSDPhM6xz43PhM65z4POtyDPhM6/z4UgJXMgzrzOtSDOus67zqzOtM6/IgorCisjOiByZW1vdGUuYzoxMTAyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBkZWxldGUgJyVzJzogcmVtb3RlIHJlZiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAizrTOtSDOvM+Azr/Pgc61zq8gzr3OsSDOs86vzr3Otc65IM60zrnOsc6zz4HOsc+Gzq4gz4TOv8+FICclcyc6IM+Ezr8gzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr8gcmVmIM60zrXOvSDPhc+AzqzPgc+HzrXOuSIKKworIzogcmVtb3RlLmM6MTExNAorIywgYy1mb3JtYXQKK21zZ2lkICJkc3QgcmVmc3BlYyAlcyBtYXRjaGVzIG1vcmUgdGhhbiBvbmUiCittc2dzdHIgIs+Ezr8gcmVmc3BlYyDPgM+Bzr/Ov8+BzrnPg868zr/PjSAlcyDPhM6xzrnPgc65zqzOts61zrkgzrzOtSDPgM61z4HOuc+Dz4PPjM+EzrXPgc6xIM6xz4DPjCDOrc69zrEiCisKKyM6IHJlbW90ZS5jOjExMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHN0IHJlZiAlcyByZWNlaXZlcyBmcm9tIG1vcmUgdGhhbiBvbmUgc3JjIgorbXNnc3RyICLPhM6/IHJlZiDPgM+Bzr/Ov8+BzrnPg868zr/PjSAlcyDOu86xzrzOss6szr3Otc65IM6xz4DPjCDPgM61z4HOuc+Dz4PPjM+EzrXPgc61z4IgzrHPgM+MIM68zq/OsSDPgM63zrPOrc+CIgorCisjOiByZW1vdGUuYzoxNjI0IHJlbW90ZS5jOjE3MjUKK21zZ2lkICJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIgorbXNnc3RyICLOpM6/IEhFQUQgzrTOtSDOtM61zq/Ph869zrXOuSDPg861IM66zqzPgM6/zrnOv869IM66zrvOrM60zr8iCisKKyM6IHJlbW90ZS5jOjE2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCBicmFuY2g6ICclcyciCittc2dzdHIgIs60zrXOvSDPhc+AzqzPgc+HzrXOuSDOvyDOus67zqzOtM6/z4I6ICclcyciCisKKyM6IHJlbW90ZS5jOjE2MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdXBzdHJlYW0gY29uZmlndXJlZCBmb3IgYnJhbmNoICclcyciCittc2dzdHIgIs60zrXOvSDOrc+HzrXOuSDPgc+FzrjOvM65z4PPhM61zq8gz4DPgc6/z4Igz4TOsSDPgM6szr3PiSDOs865zrEgz4TOv869IM66zrvOrM60zr8gJyVzJyIKKworIzogcmVtb3RlLmM6MTY0MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1cHN0cmVhbSBicmFuY2ggJyVzJyBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKK21zZ3N0ciAiIgorIs6/IM+Az4HOv8+CIM+EzrEgz4DOrM69z4kgzrrOu86szrTOv8+CICclcycgzrTOtc69IM6xz4DOv864zrfOus61z43Otc+EzrHOuSDPic+CIM66zrvOrM60zr/PgiDPgM6xz4HOsc66zr/Ou86/z43OuM63z4POt8+CICIKKyLOsc+Azr/OvM6xzrrPgc+Fz4POvM6tzr3Ov8+FIgorCisjOiByZW1vdGUuYzoxNjU3CisjLCBjLWZvcm1hdAorbXNnaWQgInB1c2ggZGVzdGluYXRpb24gJyVzJyBvbiByZW1vdGUgJyVzJyBoYXMgbm8gbG9jYWwgdHJhY2tpbmcgYnJhbmNoIgorbXNnc3RyICIiCisizr8gz4DPgc6/zr/Pgc65z4POvM+Mz4IgzrTOt868zr/Pg86vzrXPhc+DzrfPgiAnJXMnIM+Dz4TOv869IM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/IM61zr7Phc+AzrfPgc61z4TOt8+Ezq4gJyVzJyDOtM61zr0gzq3Ph861zrkgIgorIs+Ezr/PgM65zrrPjCDOus67zqzOtM6/IM+AzrHPgc6xzrrOv867zr/Pjc64zrfPg863z4IiCisKKyM6IHJlbW90ZS5jOjE2NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYnJhbmNoICclcycgaGFzIG5vIHJlbW90ZSBmb3IgcHVzaGluZyIKK21zZ3N0ciAizr8gzrrOu86szrTOv8+CICclcycgzrTOtc69IM6tz4fOtc65IM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/IM6zzrnOsSDOtM63zrzOv8+Dzq/Otc+Fz4POtyIKKworIzogcmVtb3RlLmM6MTY3OQorIywgYy1mb3JtYXQKK21zZ2lkICJwdXNoIHJlZnNwZWNzIGZvciAnJXMnIGRvIG5vdCBpbmNsdWRlICclcyciCittc2dzdHIgIs+EzrEgcmVmc3BlYyDOtM63zrzOv8+Dzq/Otc+Fz4POt8+CIM6zzrnOsSDPhM6/ICclcycgzrTOtc69IM+AzrXPgc65zrvOsc68zrLOrM69zr/Phc69IM+Ezr8gJyVzJyIKKworIzogcmVtb3RlLmM6MTY5MgorbXNnaWQgInB1c2ggaGFzIG5vIGRlc3RpbmF0aW9uIChwdXNoLmRlZmF1bHQgaXMgJ25vdGhpbmcnKSIKK21zZ3N0ciAiIgorIs63IM60zrfOvM6/z4POr861z4XPg863IM60zrXOvSDOrc+HzrXOuSDPgM+Bzr/Ov8+BzrnPg868z4wgKM+Ezr8gcHVzaC5kZWZhdWx0IM61zq/Ovc6xzrkgz4TOvyDPhM6vz4DOv8+EzrE6ICdub3RoaW5nJykiCisKKyM6IHJlbW90ZS5jOjE3MTQKK21zZ2lkICJjYW5ub3QgcmVzb2x2ZSAnc2ltcGxlJyBwdXNoIHRvIGEgc2luZ2xlIGRlc3RpbmF0aW9uIgorbXNnc3RyICLOtM61IM68z4DOv8+BzrXOryDOvc6xIM6zzq/Ovc61zrkgz4TOsc+Nz4TOuc+DzrcgJ3NpbXBsZScgzrTOt868zr/Pg86vzrXPhc+DzrfPgiDPg861IM6tzr3Osc69IM68z4zOvc6/IM+Az4HOv86/z4HOuc+DzrzPjCIKKworIzogcmVtb3RlLmM6MTg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgJXMiCittc2dzdHIgIs60zrXOvSDOrs+EzrHOvSDOtM+Fzr3Osc+Ezq4gzrcgzrXPjc+BzrXPg863IM+Ezr/PhSDOsc+Azr/OvM6xzrrPgc+Fz4POvM6tzr3Ov8+FIHJlZiAlcyIKKworIzogcmVtb3RlLmM6MTg1MworIywgYy1mb3JtYXQKK21zZ2lkICIqIElnbm9yaW5nIGZ1bm55IHJlZiAnJXMnIGxvY2FsbHkiCittc2dzdHIgIiogzpPOr869zrXPhM6xzrkgz4DOsc+BzqzOss67zrXPiM63IM+Ezr/PhSDPgM6xz4HOrM6+zrXOvc6/z4UgcmVmICclcycgz4TOv8+AzrnOus6sIgorCisjOiByZW1vdGUuYzoxOTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJhc2VkIG9uICclcycsIGJ1dCB0aGUgdXBzdHJlYW0gaXMgZ29uZS5cbiIKK21zZ3N0ciAiIgorIs6fIM66zrvOrM60zr/PgiDPg86xz4IgzrLOsc+Dzq/Ots61z4TOsc65IM+AzqzOvc+JIM+Dz4TOvyAnJXMnLCDOsc67zrvOrCDPhM6/IM+Az4HOv8+CIM+EzrEgz4DOrM69z4kgzrTOtc69IM+Fz4DOrM+Bz4fOtc65IM+AzrnOsS5cbiIKKworIzogcmVtb3RlLmM6MTk5NAorbXNnaWQgIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIgorbXNnc3RyICIiCisiICAoz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIM6zzrnOsSDOvc6xIM61z4DOuc60zrnOv8+BzrjPjs+DzrXPhM61KVxuIgorCisjOiByZW1vdGUuYzoxOTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGlzIHVwIHRvIGRhdGUgd2l0aCAnJXMnLlxuIgorbXNnc3RyICLOnyDOus67zqzOtM6/z4Igz4POsc+CIM61zq/Ovc6xzrkgzrXOvc6uzrzOtc+Bzr/PgiDOvM61IM+Ezr8gJyVzJy5cbiIKKworIzogcmVtb3RlLmM6MjAwMQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIGJyYW5jaCBhbmQgJyVzJyByZWZlciB0byBkaWZmZXJlbnQgY29tbWl0cy5cbiIKK21zZ3N0ciAizp8gzrrOu86szrTOv8+CIM+DzrHPgiDOus6xzrkgz4TOvyAnJXMnIM6xzr3Osc+Gzq3Pgc6/zr3PhM6xzrkgz4POtSDOtM65zrHPhs6/z4HOtc+EzrnOus6tz4Igz4XPgM6/zrLOv867zq3Pgi5cbiIKKworIzogcmVtb3RlLmM6MjAwNAorIywgYy1mb3JtYXQKK21zZ2lkICIgICh1c2UgXCIlc1wiIGZvciBkZXRhaWxzKVxuIgorbXNnc3RyICIgICjPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61IFwiJXNcIiDOs865zrEgzrvOtc+Az4TOv868zq3Pgc61zrnOtc+CKVxuIgorCisjOiByZW1vdGUuYzoyMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0LlxuIgorbXNnaWRfcGx1cmFsICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdHMuXG4iCittc2dzdHJbMF0gIs6fIM66zrvOrM60zr/PgiDPg86xz4IgzrXOr869zrHOuSDOvM+Az4HOv8+Dz4TOrCDOsc+Az4wgz4TOvyAnJXMnIM66zrHPhM6sICVkIM+Fz4DOv86yzr/Ou86uLlxuIgorbXNnc3RyWzFdICLOnyDOus67zqzOtM6/z4Igz4POsc+CIM61zq/Ovc6xzrkgzrzPgM+Bzr/Pg8+EzqwgzrHPgM+MIM+Ezr8gJyVzJyDOus6xz4TOrCAlZCDPhc+Azr/Oss6/zrvOrc+CLlxuIgorCisjOiByZW1vdGUuYzoyMDE0Cittc2dpZCAiICAodXNlIFwiZ2l0IHB1c2hcIiB0byBwdWJsaXNoIHlvdXIgbG9jYWwgY29tbWl0cylcbiIKK21zZ3N0ciAiIgorIiAgKM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrUgXCJnaXQgcHVzaFwiIM6zzrnOsSDOvc6xIM60zrfOvM6/z4POuc61z43Pg861z4TOtSDPhM65z4Igz4TOv8+AzrnOus6tz4Igz4POsc+CICIKKyLPhc+Azr/Oss6/zrvOrc+CKVxuIgorCisjOiByZW1vdGUuYzoyMDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdCwgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKK21zZ2lkX3BsdXJhbCAiIgorIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdHMsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCittc2dzdHJbMF0gIiIKKyLOnyDOus67zqzOtM6/z4Igz4POsc+CIM61zq/Ovc6xzrkgz4DOr8+Dz4kgzrHPgM+MIM+Ezr8gJyVzJyDOus6xz4TOrCAlZCDPhc+Azr/Oss6/zrvOriwgzrrOsc65IM68z4DOv8+BzrXOryDOvc6xIM66zqzOvc61zrkgIgorIs+EzrHPh861zq/OsSDPgM+Bzr/Pjs64zrfPg863LlxuIgorbXNnc3RyWzFdICIiCisizp8gzrrOu86szrTOv8+CIM+DzrHPgiDOtc6vzr3Osc65IM+Azq/Pg8+JIM6xz4DPjCDPhM6/ICclcycgzrrOsc+EzqwgJWQgz4XPgM6/zrLOv867zq3PgiwgzrrOsc65IM68z4DOv8+BzrXOryDOvc6xIM66zqzOvc61zrkgIgorIs+EzrHPh861zq/OsSDPgM+Bzr/Pjs64zrfPg863LlxuIgorCisjOiByZW1vdGUuYzoyMDI1Cittc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byB1cGRhdGUgeW91ciBsb2NhbCBicmFuY2gpXG4iCittc2dzdHIgIiIKKyIgICjPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61IFwiZ2l0IHB1bGxcIiDOs865zrEgzr3OsSDOtc69zrfOvM61z4HPjs+DzrXPhM61IM+Ezr/OvSDPhM6/z4DOuc66z4wgz4POsc+CIM66zrvOrM60zr8pXG4iCisKKyM6IHJlbW90ZS5jOjIwMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCisiYW5kIGhhdmUgJWQgYW5kICVkIGRpZmZlcmVudCBjb21taXQgZWFjaCwgcmVzcGVjdGl2ZWx5LlxuIgorbXNnaWRfcGx1cmFsICIiCisiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKKyJhbmQgaGF2ZSAlZCBhbmQgJWQgZGlmZmVyZW50IGNvbW1pdHMgZWFjaCwgcmVzcGVjdGl2ZWx5LlxuIgorbXNnc3RyWzBdICIiCisizp8gzrrOu86szrTOv8+CIM+DzrHPgiDOus6xzrkgz4TOvyAnJXMnIM6tz4fOv8+Fzr0gzrHPgM6/zrrOu86vzr3Otc65LFxuIgorIs66zrHOuSDOrc+Hzr/Phc69ICVkIM66zrHOuSAlZCDOtM65zrHPhs6/z4HOtc+EzrnOus6uIM+Fz4DOv86yzr/Ou86uIM6/IM66zrHOuM6tzr3Osc+CLCDOsc69z4TOr8+Dz4TOv865z4fOsS5cbiIKK21zZ3N0clsxXSAiIgorIs6fIM66zrvOrM60zr/PgiDPg86xz4IgzrrOsc65IM+Ezr8gJyVzJyDOrc+Hzr/Phc69IM6xz4DOv866zrvOr869zrXOuSxcbiIKKyLOus6xzrkgzq3Ph86/z4XOvSAlZCDOus6xzrkgJWQgzrTOuc6xz4bOv8+BzrXPhM65zrrOrc+CIM+Fz4DOv86yzr/Ou86tz4Igzr8gzrrOsc64zq3Ovc6xz4IsIM6xzr3PhM6vz4PPhM6/zrnPh86xLlxuIgorCisjOiByZW1vdGUuYzoyMDM4Cittc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIgorbXNnc3RyICIiCisiICAoz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSBcImdpdCBwdWxsXCIgzrPOuc6xIM69zrEgz4PPhc6zz4fPic69zrXPjc+DzrXPhM61IM+Ezr/OvSDOsc+Azr/OvM6xzrrPgc+Fz4POvM6tzr3OvyDOus67zqzOtM6/ICIKKyLOvM6tz4POsSDPg8+Ezr/OvSDOtM65zrrPjCDPg86xz4IpXG4iCisKKyM6IHJlbW90ZS5jOjIyMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHBhcnNlIGV4cGVjdGVkIG9iamVjdCBuYW1lICclcyciCittc2dzdHIgIs60zrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TOriDOtyDOsc69zqzOu8+Fz4POtyDPhM6/z4UgzrHOvc6xzrzOtc69z4zOvM61zr3Ov8+FIM6/zr3PjM68zrHPhM6/z4IgzrHOvc+EzrnOus61zrnOvM6tzr3Ov8+FICclcyciCisKKyM6IHJlcGxhY2Utb2JqZWN0LmM6MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJlcGxhY2UgcmVmIG5hbWU6ICVzIgorbXNnc3RyICIiCisKKyM6IHJlcGxhY2Utb2JqZWN0LmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHVwbGljYXRlIHJlcGxhY2UgcmVmOiAlcyIKK21zZ3N0ciAiIgorCisjOiByZXBsYWNlLW9iamVjdC5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgInJlcGxhY2UgZGVwdGggdG9vIGhpZ2ggZm9yIG9iamVjdCAlcyIKK21zZ3N0ciAiIgorCisjOiByZXJlcmUuYzoyMTcgcmVyZXJlLmM6MjI2IHJlcmVyZS5jOjIyOQorbXNnaWQgImNvcnJ1cHQgTUVSR0VfUlIiCittc2dzdHIgIiIKKworIzogcmVyZXJlLmM6MjY0IHJlcmVyZS5jOjI2OQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSByZXJlcmUgcmVjb3JkIgorbXNnc3RyICIiCisKKyM6IHJlcmVyZS5jOjQ4NSByZXJlcmUuYzo2OTIgc2VxdWVuY2VyLmM6MzE4NiBzZXF1ZW5jZXIuYzozMjEyCisjOiBidWlsdGluL2ZzY2suYzozMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlICclcyciCittc2dzdHIgIiIKKworIzogcmVyZXJlLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZXJlIHdlcmUgZXJyb3JzIHdoaWxlIHdyaXRpbmcgJyVzJyAoJXMpIgorbXNnc3RyICIiCisKKyM6IHJlcmVyZS5jOjQ5OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZmx1c2ggJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZXJlcmUuYzo1MDMgcmVyZXJlLmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29uZmxpY3QgaHVua3MgaW4gJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZXJlcmUuYzo2ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHV0aW1lKCkgb24gJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZXJlcmUuYzo2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGluZyAnJXMnIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiByZXJlcmUuYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhZ2VkICclcycgdXNpbmcgcHJldmlvdXMgcmVzb2x1dGlvbi4iCittc2dzdHIgIiIKKworIzogcmVyZXJlLmM6NzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlY29yZGVkIHJlc29sdXRpb24gZm9yICclcycuIgorbXNnc3RyICIiCisKKyM6IHJlcmVyZS5jOjc4OAorIywgYy1mb3JtYXQKK21zZ2lkICJSZXNvbHZlZCAnJXMnIHVzaW5nIHByZXZpb3VzIHJlc29sdXRpb24uIgorbXNnc3RyICLOpM6xz4XPhM6vz4PPhM63zrrOtSDPhM6/ICclcycgz4fPgc63z4POuc68zr/PgM6/zrnPjs69z4TOsc+CIM+EzrfOvSDPgM+Bzr/Ot86zzr/Pjc68zrXOvc63IM+EzrHPjc+EzrnPg863LiIKKworIzogcmVyZXJlLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB1bmxpbmsgc3RyYXkgJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZXJlcmUuYzo4MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVjb3JkZWQgcHJlaW1hZ2UgZm9yICclcyciCittc2dzdHIgIiIKKworIzogcmVyZXJlLmM6ODgxIHN1Ym1vZHVsZS5jOjIwMTIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MTcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDI3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCittc2dzdHIgIiIKKworIzogcmVyZXJlLmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdXBkYXRlIGNvbmZsaWN0ZWQgc3RhdGUgaW4gJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZXJlcmUuYzoxMDY4IHJlcmVyZS5jOjEwNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gcmVtZW1iZXJlZCByZXNvbHV0aW9uIGZvciAnJXMnIgorbXNnc3RyICIiCisKKyM6IHJlcmVyZS5jOjEwNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHVubGluayAnJXMnIgorbXNnc3RyICIiCisKKyM6IHJlcmVyZS5jOjEwODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXBkYXRlZCBwcmVpbWFnZSBmb3IgJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZXJlcmUuYzoxMDk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmdvdCByZXNvbHV0aW9uIGZvciAnJXMnXG4iCittc2dzdHIgIiIKKworIzogcmVyZXJlLmM6MTE5OQorbXNnaWQgInVuYWJsZSB0byBvcGVuIHJyLWNhY2hlIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiByZXZpc2lvbi5jOjI0ODQKK21zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoIGFwcGVhcnMgdG8gYmUgYnJva2VuIgorbXNnc3RyICLOvyDPgM6xz4HPjs69IM66zrvOrM60zr/PgiDPg86xz4Igz4bOsc6vzr3Otc+EzrHOuSDOvc6xIM61zq/Ovc6xzrkgz4fOsc67zrHPg868zq3Ovc6/z4IiCisKKyM6IHJldmlzaW9uLmM6MjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoICclcycgZG9lcyBub3QgaGF2ZSBhbnkgY29tbWl0cyB5ZXQiCittc2dzdHIgIs6/IM+Ez4HOrc+Hz4nOvSDOus67zqzOtM6/z4Igz4POsc+CICclcycgzrTOtc69IM6tz4fOtc65IM6xzrrPjM68zrEgzrrOsc68zq/OsSDPhc+Azr/Oss6/zrvOriIKKworIzogcmV2aXNpb24uYzoyNjg0Cittc2dpZCAiLS1maXJzdC1wYXJlbnQgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1iaXNlY3QiCittc2dzdHIgIiIKKworIzogcnVuLWNvbW1hbmQuYzo3NDIKK21zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogcnVuLWNvbW1hbmQuYzoxMjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgYXN5bmMgdGhyZWFkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBydW4tY29tbWFuZC5jOjEyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSAnJXMnIGhvb2sgd2FzIGlnbm9yZWQgYmVjYXVzZSBpdCdzIG5vdCBzZXQgYXMgZXhlY3V0YWJsZS5cbiIKKyJZb3UgY2FuIGRpc2FibGUgdGhpcyB3YXJuaW5nIHdpdGggYGdpdCBjb25maWcgYWR2aWNlLmlnbm9yZWRIb29rIGZhbHNlYC4iCittc2dzdHIgIiIKKworIzogc2VuZC1wYWNrLmM6MTQxCittc2dpZCAidW5leHBlY3RlZCBmbHVzaCBwYWNrZXQgd2hpbGUgcmVhZGluZyByZW1vdGUgdW5wYWNrIHN0YXR1cyIKK21zZ3N0ciAiIgorCisjOiBzZW5kLXBhY2suYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIHJlbW90ZSB1bnBhY2sgc3RhdHVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBzZW5kLXBhY2suYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlIHVucGFjayBmYWlsZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHNlbmQtcGFjay5jOjMwNgorbXNnaWQgImZhaWxlZCB0byBzaWduIHRoZSBwdXNoIGNlcnRpZmljYXRlIgorbXNnc3RyICIiCisKKyM6IHNlbmQtcGFjay5jOjQyMAorbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQgcHVzaCIKK21zZ3N0ciAiIgorCisjOiBzZW5kLXBhY2suYzo0MjIKK21zZ2lkICIiCisibm90IHNlbmRpbmcgYSBwdXNoIGNlcnRpZmljYXRlIHNpbmNlIHRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS0iCisic2lnbmVkIHB1c2giCittc2dzdHIgIiIKKworIzogc2VuZC1wYWNrLmM6NDM0Cittc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLWF0b21pYyBwdXNoIgorbXNnc3RyICIiCisKKyM6IHNlbmQtcGFjay5jOjQzOQorbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgcHVzaCBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdCBtZXNzYWdlIGNsZWFudXAgbW9kZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjI4OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZGVsZXRlICclcyciCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MzE0Cittc2dpZCAicmV2ZXJ0IgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjMxNgorbXNnaWQgImNoZXJyeS1waWNrIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjMxOAorbXNnaWQgInJlYmFzZSAtaSIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVkIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjM3OAorbXNnaWQgIiIKKyJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCisid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nIgorbXNnc3RyICIiCisizrHPhs6/z40gzrXPgM65zrvPjc+DzrXPhM61IM+EzrnPgiDPg8+FzrPOus+Bzr/Pjc+DzrXOuc+CLCDOtc+AzrnPg863zrzOrM69zrXPhM61IM+EzrnPgiDOtM65zr/Pgc64z4nOvM6tzr3Otc+CIM60zrnOsc60z4HOv868zq3PglxuIgorIs68zrUgJ2dpdCBhZGQgPM60zrnOsc60z4HOv868zq3Pgj4nIM6uICdnaXQgcm0gPM60zrnOsc60z4HOv868zq3Pgj4nIgorCisjOiBzZXF1ZW5jZXIuYzozODEKK21zZ2lkICIiCisiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgorIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+J1xuIgorImFuZCBjb21taXQgdGhlIHJlc3VsdCB3aXRoICdnaXQgY29tbWl0JyIKK21zZ3N0ciAiIgorIs6xz4bOv8+NIM61z4DOuc67z43Pg861z4TOtSDPhM65z4Igz4PPhc6zzrrPgc6/z43Pg861zrnPgiwgzrXPgM65z4POt868zqzOvc61z4TOtSDPhM65z4IgzrTOuc6/z4HOuM+JzrzOrc69zrXPgiDOtM65zrHOtM+Bzr/OvM6tz4JcbiIKKyLOvM61ICdnaXQgYWRkIDzOtM65zrHOtM+Bzr/OvM6tz4I+JyDOriAnZ2l0IHJtIDzOtM65zrHOtM+Bzr/OvM6tz4I+J1xuIgorIs66zrHOuSDPhc+Azr/Oss6szrvOtc+EzrUgz4TOvyDOsc+Azr/PhM6tzrvOtc+DzrzOsSDOvM61ICdnaXQgY29tbWl0JyIKKworIzogc2VxdWVuY2VyLmM6Mzk0IHNlcXVlbmNlci5jOjI2NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGxvY2sgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlIGVvbCB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjQwNiBzZXF1ZW5jZXIuYzoyNTU0IHNlcXVlbmNlci5jOjI2Nzcgc2VxdWVuY2VyLmM6MjY5MQorIzogc2VxdWVuY2VyLmM6MjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo0Mjkgc2VxdWVuY2VyLmM6OTMxIHNlcXVlbmNlci5jOjE2MTUgc2VxdWVuY2VyLmM6MjU3NAorIzogc2VxdWVuY2VyLmM6MjkxMyBzZXF1ZW5jZXIuYzozMDIyIGJ1aWx0aW4vYW0uYzoyNDUgYnVpbHRpbi9jb21taXQuYzo3NDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDg1IGJ1aWx0aW4vcmViYXNlLmM6MTU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkICclcyciCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlcy4iCittc2dzdHIgIs6/zrkgz4TOv8+AzrnOus6tz4IgzrHOu867zrHOs86tz4Igz4POsc+CIM64zrEgzrXPgM61zrPOs8+BzrHPhs+Mzr3PhM6/z4XPg86xzr0gzrHPgM+MIM+Ezr8gJXMuIgorCisjOiBzZXF1ZW5jZXIuYzo0NTkKK21zZ2lkICJjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCittc2dzdHIgIs+Fz4DOv86yzqzOu861z4TOtSDPhM65z4IgzrHOu867zrHOs86tz4Igz4POsc+CIM6uIM6xz4DOv864zrfOus61z43Pg8+EzrUgz4TOuc+CIM6zzrnOsSDOvc6xIM+Az4HOv8+Hz4nPgc6uz4POtc+EzrUuIgorCisjOiBzZXF1ZW5jZXIuYzo0OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhc3QtZm9yd2FyZCIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiwgImNoZXJyeS1waWNrIiBvcgorIy4gInJlYmFzZSAtaSIuCisjLgorIzogc2VxdWVuY2VyLmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6NTk4Cittc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjYxMgorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0IgorbXNnc3RyICLOtM61zr0gzq7PhM6xzr0gzrTPhc69zrHPhM6uIM63IM+EzrHPjc+EzrnPg863IM+EzrfPgiDPhc+Azr/Oss6/zrvOrs+CIEhFQUQiCisKKyM6IHNlcXVlbmNlci5jOjY5MgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBrZXkgcHJlc2VudCBpbiAnJS4qcyciCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6NzAzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBkZXF1b3RlIHZhbHVlIG9mICclcyciCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6NzQwIHdyYXBwZXIuYzoyMjcgd3JhcHBlci5jOjM5NyBidWlsdGluL2FtLmM6NzA0CisjOiBidWlsdGluL2FtLmM6Nzk2IGJ1aWx0aW4vbWVyZ2UuYzoxMDgyIGJ1aWx0aW4vcmViYXNlLmM6NjE3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCittc2dzdHIgIs60zrXOvSDOrs+EzrHOvSDOtM+Fzr3Osc+Ez4wgz4TOvyDOrM69zr/Ouc6zzrzOsSDPhM6/z4UgJyVzJyDOs865zrEgzrHOvc6szrPOvc+Jz4POtyIKKworIzogc2VxdWVuY2VyLmM6NzUwCittc2dpZCAiJ0dJVF9BVVRIT1JfTkFNRScgYWxyZWFkeSBnaXZlbiIKK21zZ3N0ciAiJ0dJVF9BVVRIT1JfTkFNRScgzrTPjM64zrfOus61IM6uzrTOtyIKKworIzogc2VxdWVuY2VyLmM6NzU1Cittc2dpZCAiJ0dJVF9BVVRIT1JfRU1BSUwnIGFscmVhZHkgZ2l2ZW4iCittc2dzdHIgIidHSVRfQVVUSE9SX0VNQUlMJyDOtM+MzrjOt866zrUgzq7OtM63IgorCisjOiBzZXF1ZW5jZXIuYzo3NjAKK21zZ2lkICInR0lUX0FVVEhPUl9EQVRFJyBhbHJlYWR5IGdpdmVuIgorbXNnc3RyICInR0lUX0FVVEhPUl9EQVRFJyDOtM+MzrjOt866zrUgzq7OtM63IgorCisjOiBzZXF1ZW5jZXIuYzo3NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB2YXJpYWJsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjc2OQorbXNnaWQgIm1pc3NpbmcgJ0dJVF9BVVRIT1JfTkFNRSciCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6NzcxCittc2dpZCAibWlzc2luZyAnR0lUX0FVVEhPUl9FTUFJTCciCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6NzczCittc2dpZCAibWlzc2luZyAnR0lUX0FVVEhPUl9EQVRFJyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo4MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdCAnJXMnIGluICclcyciCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6ODUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ5b3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZVxuIgorIklmIHRoZXNlIGNoYW5nZXMgYXJlIG1lYW50IHRvIGJlIHNxdWFzaGVkIGludG8gdGhlIHByZXZpb3VzIGNvbW1pdCwgcnVuOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCisiXG4iCisiSWYgdGhleSBhcmUgbWVhbnQgdG8gZ28gaW50byBhIG5ldyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgJXNcbiIKKyJcbiIKKyJJbiBib3RoIGNhc2VzLCBvbmNlIHlvdSdyZSBkb25lLCBjb250aW51ZSB3aXRoOlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCittc2dzdHIgIiIKKyLOrc+HzrXPhM61IM+Az4HOv861z4TOv865zrzOsc+DzrzOrc69zrXPgiDOsc67zrvOsc6zzq3PgiDPg8+Ezr8gzrTOrc69z4TPgc6/IM61z4HOs86xz4POr86xz4Igz4POsc+CXG4iCisizpHOvSDOsc+Fz4TOrc+CIM6/zrkgzrHOu867zrHOs86tz4Igz4DPgc6tz4DOtc65IM69zrEgz4PPhc68z4DPhM+Fz4fOuM6/z43OvSDOvM6tz4POsSDPg8+EzrfOvSDPgM+Bzr/Ot86zzr/Pjc68zrXOvc63IM+Fz4DOv86yzr/Ou86uLCAiCisiz4TPgc6tzr7PhM61OlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCisiXG4iCisizpHOvSDPgM+Bzq3PgM61zrkgzr3OsSDPgM6szr3OtSDPg861IM69zq3OsSDPhc+Azr/Oss6/zrvOriwgz4TPgc6tzr7PhM61OlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAlc1xuIgorIlxuIgorIs6azrHOuSDPg8+EzrnPgiDOtM+Nzr8gz4DOtc+BzrnPgM+Ez47Pg861zrnPgiwgzrzPjM67zrnPgiDPhM61zrvOtc65z47Pg861z4TOtSwgz4PPhc69zrXPh86vz4PPhM61IM68zrU6XG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKworIzogc2VxdWVuY2VyLmM6OTQ1Cittc2dpZCAid3JpdGluZyByb290IGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoxMTU1Cittc2dpZCAiJ3ByZXBhcmUtY29tbWl0LW1zZycgaG9vayBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MTE2MgorbXNnaWQgIiIKKyJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKKyJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCisiWW91IGNhbiBzdXBwcmVzcyB0aGlzIG1lc3NhZ2UgYnkgc2V0dGluZyB0aGVtIGV4cGxpY2l0bHkuIFJ1biB0aGVcbiIKKyJmb2xsb3dpbmcgY29tbWFuZCBhbmQgZm9sbG93IHRoZSBpbnN0cnVjdGlvbnMgaW4geW91ciBlZGl0b3IgdG8gZWRpdFxuIgorInlvdXIgY29uZmlndXJhdGlvbiBmaWxlOlxuIgorIlxuIgorIiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIC0tZWRpdFxuIgorIlxuIgorIkFmdGVyIGRvaW5nIHRoaXMsIHlvdSBtYXkgZml4IHRoZSBpZGVudGl0eSB1c2VkIGZvciB0aGlzIGNvbW1pdCB3aXRoOlxuIgorIlxuIgorIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKK21zZ3N0ciAiIgorIs6kzr8gz4zOvc6/zrzOsSDOus6xzrkgzrcgzrTOuc61z43OuM+Fzr3Pg863IGVtYWlsIM+DzrHPgiDPgc+FzrjOvM6vz4PPhM63zrrOsc69IM6xz4XPhM+MzrzOsc+EzrEgzrzOtSDOss6sz4POt1xuIgorIs+Ezr8gz4zOvc6/zrzOsSDPh8+Bzq7Pg8+EzrcgzrrOsc65IM+Ezr8gz4zOvc6/zrzOsSDPhc+Azr/Ou86/zrPOuc+Dz4TOriDPg86xz4IuIM6gzrHPgc6xzrrOsc67z44gzrXOu86tzrPOvs+EzrUgz4DPic+CIM61zq/Ovc6xzrkgIgorIs6xzrrPgc65zrLOri5cbiIKKyLOnM+Azr/Pgc61zq/PhM61IM69zrEgzrHPgM6/zrrPgc+Nz4jOtc+EzrUgzrHPhc+Ez4wgz4TOvyDOvM6uzr3Phc68zrEgzr/Pgc6vzrbOv869z4TOsc+CIM+EzrEgz4HOt8+EzqwuIM6kz4HOrc6+z4TOtSDPhM63zr1cbiIKKyLOsc66z4zOu86/z4XOuM63IM61zr3PhM6/zrvOriDOus6xzrkgzrHOus6/zrvOv8+FzrjOrs+Dz4TOtSDPhM65z4Igzr/OtM63zrPOr861z4Igz4PPhM6/zr0gzrTOuc6/z4HOuM+Jz4TOriDPg86xz4IgzrPOuc6xIM69zrEgIgorIs61z4DOtc6+zrXPgc6zzrHPg8+EzrXOr8+EzrVcbiIKKyLPhM6/IM6xz4HPh861zq/OvyDPgc+FzrjOvM6vz4POtc+Ozr0gz4POsc+CIDpcbiIKKyJcbiIKKyIgICAgZ2l0IGNvbmZpZyAtLWdsb2JhbCAtLWVkaXRcbiIKKyJcbiIKKyLOiM+AzrXOuc+EzrEsIM68z4DOv8+BzrXOr8+EzrUgzr3OsSDOtM65zr/Pgc64z47Pg861z4TOtSDPhM63zr0gz4TOsc+Fz4TPjM+EzrfPhM6xIM+Hz4HOrs+Dz4TOtyDPgM6/z4Ugz4fPgc63z4POuc68zr/PgM6/zrnOrs64zrfOus61IM6zzrnOsSAiCisizrHPhc+Ezq4gz4TOt869IM+Fz4DOv86yzr/Ou86uIM68zrU6XG4iCisiXG4iCisiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgorCisjOiBzZXF1ZW5jZXIuYzoxMTc1Cittc2dpZCAiIgorIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgorIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKKyJZb3UgY2FuIHN1cHByZXNzIHRoaXMgbWVzc2FnZSBieSBzZXR0aW5nIHRoZW0gZXhwbGljaXRseTpcbiIKKyJcbiIKKyIgICAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCJZb3VyIE5hbWVcIlxuIgorIiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgeW91QGV4YW1wbGUuY29tXG4iCisiXG4iCisiQWZ0ZXIgZG9pbmcgdGhpcywgeW91IG1heSBmaXggdGhlIGlkZW50aXR5IHVzZWQgZm9yIHRoaXMgY29tbWl0IHdpdGg6XG4iCisiXG4iCisiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgorbXNnc3RyICIiCisizqTOvyDPjM69zr/OvM6xIM66zrHOuSDOtyDOtM65zrXPjc64z4XOvc+DzrcgZW1haWwgz4POsc+CIM+Bz4XOuM68zq/Pg8+EzrfOus6xzr0gzrHPhc+Ez4zOvM6xz4TOsSDOvM61IM6yzqzPg863XG4iCisiz4TOvyDPjM69zr/OvM6xIM+Hz4HOrs+Dz4TOtyDOus6xzrkgz4TOvyDPjM69zr/OvM6xIM+Fz4DOv867zr/Os865z4PPhM6uIM+DzrHPgi4gzqDOsc+BzrHOus6xzrvPjiDOtc67zq3Os86+z4TOtSDPgM+Jz4IgzrXOr869zrHOuSAiCisizrHOus+BzrnOss6uLlxuIgorIs6cz4DOv8+BzrXOr8+EzrUgzr3OsSDOsc+Azr/Ous+Bz43PiM61z4TOtSDOsc+Fz4TPjCDPhM6/IM68zq7Ovc+FzrzOsSDOv8+Bzq/Ots6/zr3PhM6xz4Igz4TOsSDPgc63z4TOrDpcbiIKKyJcbiIKKyIgICAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCLOpM6/IM+Mzr3Ov868zqwgz4POsc+CXCJcbiIKKyIgICAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIHlvdUBleGFtcGxlLmNvbVxuIgorIlxuIgorIs6Iz4DOtc65z4TOsSwgzrzPgM6/z4HOtc6vz4TOtSDOvc6xIM60zrnOv8+BzrjPjs+DzrXPhM61IM+EzrfOvSDPhM6xz4XPhM+Mz4TOt8+EzrEgz4fPgc6uz4PPhM63IM+Azr/PhSDPh8+BzrfPg865zrzOv8+Azr/Ouc6uzrjOt866zrUgzrPOuc6xICIKKyLOsc+Fz4TOriDPhM63zr0gz4XPgM6/zrLOv867zq4gzrzOtTpcbiIKKyJcbiIKKyIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCisKKyM6IHNlcXVlbmNlci5jOjEyMTcKK21zZ2lkICJjb3VsZG4ndCBsb29rIHVwIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjEyMTkKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgbmV3bHkgY3JlYXRlZCBjb21taXQiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MTI2NQorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlIEhFQUQgYWZ0ZXIgY3JlYXRpbmcgY29tbWl0IgorbXNnc3RyICLOtM61zr0gzq7PhM6xzr0gzrTPhc69zrHPhM6uIM63IM+EzrHPjc+EzrnPg863IM+Ezr/PhSBIRUFEIM68zrXPhM6sIM+EzrcgzrTOt868zrnOv8+Fz4HOs86vzrEgz4TOt8+CIM+Fz4DOv86yzr/Ou86uz4IiCisKKyM6IHNlcXVlbmNlci5jOjEyNjcKK21zZ2lkICJkZXRhY2hlZCBIRUFEIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjEyNzEKK21zZ2lkICIgKHJvb3QtY29tbWl0KSIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoxMjkyCittc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MTI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJIRUFEICVzIGlzIG5vdCBhIGNvbW1pdCEiCittc2dzdHIgIs6kzr8gSEVBRCAlcyDOtM61zr0gzrXOr869zrHOuSDPhc+Azr/Oss6/zrvOriEiCisKKyM6IHNlcXVlbmNlci5jOjEyOTggYnVpbHRpbi9jb21taXQuYzoxNTQ2Cittc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjEzNTAgc2VxdWVuY2VyLmM6MTk2NAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgYXV0aG9yIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjEzNjAgYnVpbHRpbi9hbS5jOjE1NzAgYnVpbHRpbi9tZXJnZS5jOjY3OAorbXNnaWQgImdpdCB3cml0ZS10cmVlIGZhaWxlZCB0byB3cml0ZSBhIHRyZWUiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MTM3NyBzZXF1ZW5jZXIuYzoxNDMzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWFkIGNvbW1pdCBtZXNzYWdlIGZyb20gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoxMzk5IGJ1aWx0aW4vYW0uYzoxNTkxIGJ1aWx0aW4vY29tbWl0LmM6MTY0OSBidWlsdGluL21lcmdlLmM6ODU5CisjOiBidWlsdGluL21lcmdlLmM6ODg0Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvbW1pdCBvYmplY3QiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MTQ2MAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjE0NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MTU2NSBzZXF1ZW5jZXIuYzoxNjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tbWFuZDogJWQiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MTYyMiBzZXF1ZW5jZXIuYzoxNjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAlZCBjb21taXRzLiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoxNjMyIHNlcXVlbmNlci5jOjQ4MDgKK21zZ2lkICJuZWVkIGEgSEVBRCB0byBmaXh1cCIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoxNjM0IHNlcXVlbmNlci5jOjI5NTgKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBIRUFEIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjE2MzYKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBIRUFEJ3MgY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MTY0MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoxNjQ5IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NDEKK21zZ2lkICJUaGlzIGlzIHRoZSAxc3QgY29tbWl0IG1lc3NhZ2U6IgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjE2NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2Ugb2YgJXMiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MTY2NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGlzIHRoZSBjb21taXQgbWVzc2FnZSAjJWQ6IgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjE2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGNvbW1pdCBtZXNzYWdlICMlZCB3aWxsIGJlIHNraXBwZWQ6IgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjE3NTgKK21zZ2lkICJ5b3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgorbXNnc3RyICLPhM6/IM6xz4HPh861zq/OvyDOtc+Fz4HOtc+EzrfPgc6vzr/PhSDPg86xz4IgzrTOtc69IM6tz4fOtc65IM+Dz4XOs8+Hz4nOvc61z4XPhM61zq8uIgorCisjOiBzZXF1ZW5jZXIuYzoxNzY1Cittc2dpZCAiY2Fubm90IGZpeHVwIHJvb3QgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjE3ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgorbXNnc3RyICLOtyDPhc+Azr/Oss6/zrvOriAlcyDOtc6vzr3Osc65IM+Dz4XOs8+Hz47Ovc61z4XPg863IM6xzrvOu86sIM60zrXOvSDOrc+HzrXOuSDOtM6/zrjOtc6vIM61z4DOuc67zr/Os86uIC1tLiIKKworIzogc2VxdWVuY2VyLmM6MTc5MiBzZXF1ZW5jZXIuYzoxODAwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKK21zZ3N0ciAizrcgz4XPgM6/zrLOv867zq4gJXMgzrTOtc69IM6tz4fOtc65IM6zzr/Ovc6tzrEgz4TOvyAlZCIKKworIzogc2VxdWVuY2VyLmM6MTgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIGZvciAlcyIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgYSAidG9kbyIgY29tbWFuZCBsaWtlCisjLiAicmV2ZXJ0IiBvciAicGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExLgorIzogc2VxdWVuY2VyLmM6MTgyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MTg5MAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVuYW1lICclcycgdG8gJyVzJyIKK21zZ3N0ciAizrTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TOriDOtyDOvM61z4TOv869zr/OvM6xz4POr86xIM+Ezr/PhSAnJXMnIM+DzrUgJyVzJyIKKworIzogc2VxdWVuY2VyLmM6MTk0NQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmV2ZXJ0ICVzLi4uICVzIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjE5NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGFwcGx5ICVzLi4uICVzIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjIwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MjAxMgorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoyMDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IGFjY2VwdCBhcmd1bWVudHM6ICclcyciCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MjEwMworIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIGFyZ3VtZW50cyBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MjE2MworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MjE3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgJyVzJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjIyNDMKK21zZ2lkICJwbGVhc2UgZml4IHRoaXMgdXNpbmcgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoyMjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAnJXMnIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjIyNTAKK21zZ2lkICJubyBjb21taXRzIHBhcnNlZC4iCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MjI2MQorbXNnaWQgImNhbm5vdCBjaGVycnktcGljayBkdXJpbmcgYSByZXZlcnQuIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjIyNjMKK21zZ2lkICJjYW5ub3QgcmV2ZXJ0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoyMzMzCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoyNDIwCittc2dpZCAidW51c2FibGUgc3F1YXNoLW9udG8iCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoyNTE4IHNlcXVlbmNlci5jOjQwNjcKK21zZ2lkICJlbXB0eSBjb21taXQgc2V0IHBhc3NlZCIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoyNTI2Cittc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoyNTI3Cittc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoyNTMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjI1NDQKK21zZ2lkICJjb3VsZCBub3QgbG9jayBIRUFEIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjI1OTkgc2VxdWVuY2VyLmM6MzgxOQorbXNnaWQgIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIKK21zZ3N0ciAizrTOtc69IM+Fz4bOr8+Dz4TOsc+EzrHOuSBjaGVycnktcGljayDOriByZXZlcnQiCisKKyM6IHNlcXVlbmNlci5jOjI2MDEKK21zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgorbXNnc3RyICLOtM61zr0gzrXOr869zrHOuSDOtM+Fzr3Osc+Ezq4gzrcgz4TOsc+Nz4TOuc+Dzrcgz4TOv8+FIEhFQUQiCisKKyM6IHNlcXVlbmNlci5jOjI2MDMgc2VxdWVuY2VyLmM6MjYzOAorbXNnaWQgImNhbm5vdCBhYm9ydCBmcm9tIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjI2MjQgYnVpbHRpbi9ncmVwLmM6NzMyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICclcyciCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAnJXMnOiAlcyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoyNjI3Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoyNjMzCisjLCBjLWZvcm1hdAorbXNnaWQgInN0b3JlZCBwcmUtY2hlcnJ5LXBpY2sgSEVBRCBmaWxlICclcycgaXMgY29ycnVwdCIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoyNjQ0Cittc2dpZCAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFELiBOb3QgcmV3aW5kaW5nLCBjaGVjayB5b3VyIEhFQUQhIgorbXNnc3RyICIiCisizqbOsc6vzr3Otc+EzrHOuSDPgM+Jz4IgzrzOtc+EzrHOus65zr3Ors+DzrHPhM61IM+Ezr8gSEVBRC4gzpTOtSDOs86vzr3Otc+EzrHOuSDOs8+Nz4HOuc+DzrzOsSDPgM+Bzr/PgiDPhM6xIM+Azq/Pg8+JLCDOtc67zq3Os86+z4TOtSAiCisiz4TOvyBIRUFEIM+DzrHPgiEiCisKKyM6IHNlcXVlbmNlci5jOjI3NTAgc2VxdWVuY2VyLmM6MzczNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdXBkYXRlICVzIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjI3ODggc2VxdWVuY2VyLmM6MzcxNQorbXNnaWQgImNhbm5vdCByZWFkIEhFQUQiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MjgwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY29weSAnJXMnIHRvICclcyciCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MjgxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGNhbiBhbWVuZCB0aGUgY29tbWl0IG5vdywgd2l0aFxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCisiXG4iCisiT25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcywgcnVuXG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKK21zZ3N0ciAiIgorIs6cz4DOv8+BzrXOr8+EzrUgzr3OsSDPhM+Bzr/PgM6/z4DOv865zq7Pg861z4TOtSDPhM63zr0gz4XPgM6/zrLOv867zq4gz4TPjs+BzrEsIM68zrVcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAlc1xuIgorIlxuIgorIs6Mz4TOsc69IM6/zrkgzrHOu867zrHOs86tz4Igz4POsc+CIM+DzrHPgiDOuc66zrHOvc6/z4DOv865zr/Pjc69LCDPhM+Bzq3Ovs+EzrVcbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorCisjOiBzZXF1ZW5jZXIuYzoyODIzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAlcy4uLiAlLipzIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjI4MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG1lcmdlICUuKnMiCittc2dzdHIgIs6UzrXOvSDOrs+EzrHOvSDOtM+Fzr3Osc+Ezq4gzrcgz4PPhc6zz4fPjs69zrXPhc+Dzrcgz4TOv8+FICUuKnMiCisKKyM6IHNlcXVlbmNlci5jOjI4NDQgc2VxdWVuY2VyLmM6Mjg0OCBidWlsdGluL2RpZmZ0b29sLmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjb3B5ICclcycgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoyODcwIHNlcXVlbmNlci5jOjMyOTMgYnVpbHRpbi9yZWJhc2UuYzo0MjQgYnVpbHRpbi9yZWJhc2UuYzoxMjMwCisjOiBidWlsdGluL3JlYmFzZS5jOjE1OTEgYnVpbHRpbi9yZWJhc2UuYzoxNjQ2Cittc2dpZCAiY291bGQgbm90IHJlYWQgaW5kZXgiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6Mjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiZXhlY3V0aW9uIGZhaWxlZDogJXNcbiIKKyIlc1lvdSBjYW4gZml4IHRoZSBwcm9ibGVtLCBhbmQgdGhlbiBydW5cbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjI4ODEKK21zZ2lkICJhbmQgbWFkZSBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjI4ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImV4ZWN1dGlvbiBzdWNjZWVkZWQ6ICVzXG4iCisiYnV0IGxlZnQgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWVcbiIKKyJDb21taXQgb3Igc3Rhc2ggeW91ciBjaGFuZ2VzLCBhbmQgdGhlbiBydW5cbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjI5NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBsYWJlbCBuYW1lOiAnJS4qcyciCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MzAwMgorbXNnaWQgIndyaXRpbmcgZmFrZSByb290IGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozMDA3Cittc2dpZCAid3JpdGluZyBzcXVhc2gtb250byIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozMDQ1IGJ1aWx0aW4vcmViYXNlLmM6NDI5IGJ1aWx0aW4vcmViYXNlLmM6NDM1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MzA2MyBidWlsdGluL3JlYmFzZS5jOjQ0OAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozMDkwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlICclcyciCittc2dzdHIgIs60zrXOvSDOrs+EzrHOvSDOtM+Fzr3Osc+Ezq4gzrcgz4TOsc+Nz4TOuc+Dzrcgz4TOv8+FICclcyciCisKKyM6IHNlcXVlbmNlci5jOjMxMTgKK21zZ2lkICJjYW5ub3QgbWVyZ2Ugd2l0aG91dCBhIGN1cnJlbnQgcmV2aXNpb24iCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MzE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyUuKnMnIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjMxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90aGluZyB0byBtZXJnZTogJyUuKnMnIgorbXNnc3RyICLOtM61zr0gz4XPgM6sz4HPh861zrkgz4TOr8+Azr/PhM6xIM+Az4HOv8+CIM+Dz4XOs8+Hz47Ovc61z4XPg863OiAnJS4qcyciCisKKyM6IHNlcXVlbmNlci5jOjMxNjEKK21zZ2lkICJvY3RvcHVzIG1lcmdlIGNhbm5vdCBiZSBleGVjdXRlZCBvbiB0b3Agb2YgYSBbbmV3IHJvb3RdIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjMxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGdldCBjb21taXQgbWVzc2FnZSBvZiAnJXMnIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjMzMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGV2ZW4gYXR0ZW1wdCB0byBtZXJnZSAnJS4qcyciCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MzM0MQorbXNnaWQgIm1lcmdlOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MzQwOSBidWlsdGluL3JlYmFzZS5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC5cbiIKK21zZ3N0ciAizojOs865zr3OtSDOtc+GzrHPgc68zr/Os86uIM+Ez4nOvSDOsc+Fz4TPjM68zrHPhM6xIM6xz4DOv864zrfOus61z4XOvM6tzr3Pic69LlxuIgorCisjOiBzZXF1ZW5jZXIuYzozNDIxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzdG9yZSAlcyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozNDI0IGJ1aWx0aW4vcmViYXNlLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJBcHBseWluZyBhdXRvc3Rhc2ggcmVzdWx0ZWQgaW4gY29uZmxpY3RzLlxuIgorIllvdXIgY2hhbmdlcyBhcmUgc2FmZSBpbiB0aGUgc3Rhc2guXG4iCisiWW91IGNhbiBydW4gXCJnaXQgc3Rhc2ggcG9wXCIgb3IgXCJnaXQgc3Rhc2ggZHJvcFwiIGF0IGFueSB0aW1lLlxuIgorbXNnc3RyICIiCisizpcgzrXPhs6xz4HOvM6/zrPOriDPhM+Jzr0gzrHPhc+Ez4zOvM6xz4TOsSDOsc+Azr/OuM63zrrOtc+FzrzOrc69z4nOvSDOv860zq7Os863z4POtSDPg861IM+Dz4XOs866z4HOv8+Nz4POtc65z4IuXG4iCisizp/OuSDOsc67zrvOsc6zzq3PgiDPg86xz4IgzrXOr869zrHOuSDOsc+Dz4bOsc67zrXOr8+CIM68zq3Pg86xIM+Dz4TOsSDOsc+Azr/OuM63zrrOtc+FzrzOrc69zrEuXG4iCisizpzPgM6/z4HOtc6vz4TOtSDOvc6xIM+Ez4HOrc6+zrXPhM61IFwiZ2l0IHN0YXNoIHBvcFwiIM6uIFwiZ2l0IHN0YXNoIGRyb3BcIiDOsc69zqwgz4DOrM+DzrEgz4PPhM65zrPOvM6uLlxuIgorCisjOiBzZXF1ZW5jZXIuYzozNDc4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjaGVja291dCAlcyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozNDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSB2YWxpZCBPSUQiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MzQ5NyBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzI0Cittc2dpZCAiY291bGQgbm90IGRldGFjaCBIRUFEIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjM1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RvcHBlZCBhdCBIRUFEXG4iCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MzUxNAorIywgYy1mb3JtYXQKK21zZ2lkICJTdG9wcGVkIGF0ICVzXG4iCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MzUyMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ291bGQgbm90IGV4ZWN1dGUgdGhlIHRvZG8gY29tbWFuZFxuIgorIlxuIgorIiAgICAlLipzXG4iCisiSXQgaGFzIGJlZW4gcmVzY2hlZHVsZWQ7IFRvIGVkaXQgdGhlIGNvbW1hbmQgYmVmb3JlIGNvbnRpbnVpbmcsIHBsZWFzZVxuIgorImVkaXQgdGhlIHRvZG8gbGlzdCBmaXJzdDpcbiIKKyJcbiIKKyIgICAgZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1xuIgorIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozNTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0b3BwZWQgYXQgJXMuLi4gICUuKnNcbiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozNjc3CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tbWFuZCAlZCIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozNzIzCittc2dpZCAiY291bGQgbm90IHJlYWQgb3JpZy1oZWFkIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjM3Mjggc2VxdWVuY2VyLmM6NDgwNQorbXNnaWQgImNvdWxkIG5vdCByZWFkICdvbnRvJyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozNzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgSEVBRCB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozODMxCittc2dpZCAiY2Fubm90IHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6Mzg0MAorbXNnaWQgImNhbm5vdCBhbWVuZCBub24tZXhpc3RpbmcgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjM4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBmaWxlOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjM4NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjb250ZW50czogJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozODQ3Cittc2dpZCAiIgorIlxuIgorIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSwgY29tbWl0IHRoZW1cbiIKKyJmaXJzdCBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScgYWdhaW4uIgorbXNnc3RyICIiCisiXG4iCisizojPh861z4TOtSDOvM63IM+Dz4XOs8+Hz4nOvc61z4XOvM6tzr3Otc+CIM6xzrvOu86xzrPOrc+CIM+Dz4TOvyDOtM6tzr3PhM+Bzr8gzrXPgc6zzrHPg86vzrHPgiDPg86xz4IuIM6gzrHPgc6xzrrOsc67z44sIM+Fz4DOv86yzqzOu861z4TOrSAiCisiz4TOuc+CXG4iCisiz4DPgc+Oz4TOsSDOus6xzrkgzrzOtc+Ezqwgz4TPgc6tzr7PhM61ICdnaXQgcmViYXNlIC0tY29udGludWUnIM+AzqzOu865LiIKKworIzogc2VxdWVuY2VyLmM6Mzg4MyBzZXF1ZW5jZXIuYzozOTIxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBmaWxlOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjM5MzYKK21zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIENIRVJSWV9QSUNLX0hFQUQiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6Mzk0MworbXNnaWQgImNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjQwNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6NDA0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIHJldmlzaW9uIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjQwODMKK21zZ2lkICJjYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6NDUyOQorbXNnaWQgIm1ha2Vfc2NyaXB0OiB1bmhhbmRsZWQgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo0NTMyCittc2dpZCAibWFrZV9zY3JpcHQ6IGVycm9yIHByZXBhcmluZyByZXZpc2lvbnMiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6NDU3MyBzZXF1ZW5jZXIuYzo0NjI5IHNlcXVlbmNlci5jOjQ5MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW51c2FibGUgdG9kbyBsaXN0OiAnJXMnIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjQ2ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVucmVjb2duaXplZCBzZXR0aW5nICVzIGZvciBvcHRpb24gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suIElnbm9yaW5nLiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo0NzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS5cbiIKKyJEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo0NzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUbyBhdm9pZCB0aGlzIG1lc3NhZ2UsIHVzZSBcImRyb3BcIiB0byBleHBsaWNpdGx5IHJlbW92ZSBhIGNvbW1pdC5cbiIKKyJcbiIKKyJVc2UgJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHRvIGNoYW5nZSB0aGUgbGV2ZWwgb2YgIgorIndhcm5pbmdzLlxuIgorIlRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci5cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo0Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgY2FuIGZpeCB0aGlzIHdpdGggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLSIKKyJjb250aW51ZScuXG4iCisiT3IgeW91IGNhbiBhYm9ydCB0aGUgcmViYXNlIHdpdGggJ2dpdCByZWJhc2UgLS1hYm9ydCcuXG4iCittc2dzdHIgIiIKKyLOnM+Azr/Pgc61zq/PhM61IM69zrEgz4TOvyDOtM65zr/Pgc64z47Pg861z4TOtSDOsc+Fz4TPjCDOvM61ICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJyDOus6xzrkgzrzOtc+Ezqwgzr3OsSAiCisiz4TPgc6tzr7Otc+EzrUgJ2dpdCByZWJhc2UgLS1jb250aW51ZScuXG4iCisizokgzrzPgM6/z4HOtc6vz4TOtSDOvc6xIM61zrPOus6xz4TOsc67zrXOr8+IzrXPhM61IM+Ezr8gcmViYXNlIM68zrUgJ2dpdCByZWJhc2UgLS1hYm9ydCcuXG4iCisKKyM6IHNlcXVlbmNlci5jOjQ5MTIgc2VxdWVuY2VyLmM6NDk1MAorbXNnaWQgIm5vdGhpbmcgdG8gZG8iCittc2dzdHIgIs60zrXOvSDPhc+AzqzPgc+HzrXOuSDPhM6vz4DOv8+EzrEgzr3OsSDOs86vzr3Otc65IgorCisjOiBzZXF1ZW5jZXIuYzo0OTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kKSIKK21zZ2lkX3BsdXJhbCAiUmViYXNlICVzIG9udG8gJXMgKCVkIGNvbW1hbmRzKSIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHNlcXVlbmNlci5jOjQ5MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo0OTMyIHNlcXVlbmNlci5jOjQ5NjEKK21zZ2lkICJjb3VsZCBub3QgdHJhbnNmb3JtIHRoZSB0b2RvIGxpc3QiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6NDk2NAorbXNnaWQgImNvdWxkIG5vdCBza2lwIHVubmVjZXNzYXJ5IHBpY2sgY29tbWFuZHMiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6NTA0NworbXNnaWQgInRoZSBzY3JpcHQgd2FzIGFscmVhZHkgcmVhcnJhbmdlZC4iCittc2dzdHIgIiIKKworIzogc2V0dXAuYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogc2V0dXAuYzoxNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBubyBzdWNoIHBhdGggaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKKyJVc2UgJ2dpdCA8Y29tbWFuZD4gLS0gPHBhdGg+Li4uJyB0byBzcGVjaWZ5IHBhdGhzIHRoYXQgZG8gbm90IGV4aXN0IGxvY2FsbHkuIgorbXNnc3RyICIiCisKKyM6IHNldHVwLmM6MTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogdW5rbm93biByZXZpc2lvbiBvciBwYXRoIG5vdCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgorIlVzZSAnLS0nIHRvIHNlcGFyYXRlIHBhdGhzIGZyb20gcmV2aXNpb25zLCBsaWtlIHRoaXM6XG4iCisiJ2dpdCA8Y29tbWFuZD4gWzxyZXZpc2lvbj4uLi5dIC0tIFs8ZmlsZT4uLi5dJyIKK21zZ3N0ciAiIgorCisjOiBzZXR1cC5jOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyBtdXN0IGNvbWUgYmVmb3JlIG5vbi1vcHRpb24gYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IHNldHVwLmM6MjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogYm90aCByZXZpc2lvbiBhbmQgZmlsZW5hbWVcbiIKKyJVc2UgJy0tJyB0byBzZXBhcmF0ZSBwYXRocyBmcm9tIHJldmlzaW9ucywgbGlrZSB0aGlzOlxuIgorIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciCittc2dzdHIgIiIKKworIzogc2V0dXAuYzozODkKK21zZ2lkICJ1bmFibGUgdG8gc2V0IHVwIHdvcmsgdHJlZSB1c2luZyBpbnZhbGlkIGNvbmZpZyIKK21zZ3N0ciAiIgorCisjOiBzZXR1cC5jOjM5MworbXNnaWQgInRoaXMgb3BlcmF0aW9uIG11c3QgYmUgcnVuIGluIGEgd29yayB0cmVlIgorbXNnc3RyICIiCisKKyM6IHNldHVwLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4cGVjdGVkIGdpdCByZXBvIHZlcnNpb24gPD0gJWQsIGZvdW5kICVkIgorbXNnc3RyICIiCisKKyM6IHNldHVwLmM6NTM1Cittc2dpZCAidW5rbm93biByZXBvc2l0b3J5IGV4dGVuc2lvbnMgZm91bmQ6IgorbXNnc3RyICIiCisKKyM6IHNldHVwLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIG9wZW5pbmcgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzZXR1cC5jOjU1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbGFyZ2UgdG8gYmUgYSAuZ2l0IGZpbGU6ICclcyciCittc2dzdHIgIiIKKworIzogc2V0dXAuYzo1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyAlcyIKK21zZ3N0ciAiIgorCisjOiBzZXR1cC5jOjU2MAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGdpdGZpbGUgZm9ybWF0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzZXR1cC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBwYXRoIGluIGdpdGZpbGU6ICVzIgorbXNnc3RyICIiCisKKyM6IHNldHVwLmM6NTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGdpdCByZXBvc2l0b3J5OiAlcyIKK21zZ3N0ciAizrTOtc69IM61zq/Ovc6xzrkgzrHPgM6/zrjOtc+Ezq7Pgc65zr8gZ2l0OiAlcyIKKworIzogc2V0dXAuYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyQlcycgdG9vIGJpZyIKK21zZ3N0ciAiIgorCisjOiBzZXR1cC5jOjY3NworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeTogJyVzJyIKK21zZ3N0ciAizrTOtc69IM61zq/Ovc6xzrkgzrHPgM6/zrjOtc+Ezq7Pgc65zr8gZ2l0OiAnJXMnIgorCisjOiBzZXR1cC5jOjcwNiBzZXR1cC5jOjcwOCBzZXR1cC5jOjczOQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzZXR1cC5jOjcxMSBzZXR1cC5jOjc2NyBzZXR1cC5jOjc3NyBzZXR1cC5jOjgxNiBzZXR1cC5jOjgyNAorbXNnaWQgImNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgorbXNnc3RyICIiCisKKyM6IHNldHVwLmM6ODM4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzdGF0ICclKnMlcyVzJyIKK21zZ3N0ciAiIgorCisjOiBzZXR1cC5jOjEwNjgKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IHNldHVwLmM6MTA3NyBzZXR1cC5jOjEwODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IHNldHVwLmM6MTA4OAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIKK21zZ3N0ciAizrTOtc69IM61zq/Ovc6xzrkgzrHPgM6/zrjOtc+Ezq7Pgc65zr8gZ2l0ICjOriDOus6xzr3Orc69zrHPgiDOsc+Az4wgz4TOv8+Fz4Igz4DOuc6/IM+AzqzOvc+JIM+GzrHOus6tzrvOv8+Fz4IpOiAlcyIKKworIzogc2V0dXAuYzoxMDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJub3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IHBhcmVudCB1cCB0byBtb3VudCBwb2ludCAlcylcbiIKKyJTdG9wcGluZyBhdCBmaWxlc3lzdGVtIGJvdW5kYXJ5IChHSVRfRElTQ09WRVJZX0FDUk9TU19GSUxFU1lTVEVNIG5vdCBzZXQpLiIKK21zZ3N0ciAiIgorIs60zrXOvSDOtc6vzr3Osc65IM6xz4DOv864zrXPhM6uz4HOuc6/IGdpdCAozq4gzrrOsc69zq3Ovc6xz4Igz4DOuc6/IM+AzqzOvc+JIM+GzqzOus61zrvOv8+CIM68zq3Ph8+Bzrkgz4TOvyDPg863zrzOtc6vzr8gIgorIs+Az4HOv8+DzqzPgc+EzrfPg863z4IgJXMpXG4iCisizqPPhM6xzrzOrM+EzrfOvM6xIM+Dz4TOsSDPjM+BzrnOsSDPhM6/z4Ugz4PPhc+Dz4TOrs68zrHPhM6/z4IgzrHPgc+HzrXOr8+Jzr0gKEdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU0gIgorIs68zrcgzr/Pgc65z4POvM6tzr3OvykuIgorCisjOiBzZXR1cC5jOjEyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInByb2JsZW0gd2l0aCBjb3JlLnNoYXJlZFJlcG9zaXRvcnkgZmlsZW1vZGUgdmFsdWUgKDAlLjNvKS5cbiIKKyJUaGUgb3duZXIgb2YgZmlsZXMgbXVzdCBhbHdheXMgaGF2ZSByZWFkIGFuZCB3cml0ZSBwZXJtaXNzaW9ucy4iCittc2dzdHIgIiIKKworIzogc2V0dXAuYzoxMjQ3Cittc2dpZCAib3BlbiAvZGV2L251bGwgb3IgZHVwIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzZXR1cC5jOjEyNjIKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzZXR1cC5jOjEyNjcKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJvYmplY3QgZGlyZWN0b3J5ICVzIGRvZXMgbm90IGV4aXN0OyBjaGVjayAuZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzIgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjQ5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gbm9ybWFsaXplIGFsdGVybmF0ZSBvYmplY3QgcGF0aDogJXMiCittc2dzdHIgIiIKKworIzogc2hhMS1maWxlLmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlcywgbmVzdGluZyB0b28gZGVlcCIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIG5vcm1hbGl6ZSBvYmplY3QgZGlyZWN0b3J5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzo2MTgKK21zZ2lkICJ1bmFibGUgdG8gZmRvcGVuIGFsdGVybmF0ZXMgbG9ja2ZpbGUiCittc2dzdHIgIiIKKworIzogc2hhMS1maWxlLmM6NjM2Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgYWx0ZXJuYXRlcyBmaWxlIgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjY0MworbXNnaWQgInVuYWJsZSB0byBtb3ZlIG5ldyBhbHRlcm5hdGVzIGZpbGUgaW50byBwbGFjZSIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzo2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjcwNAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGFzIGEgbGlua2VkIGNoZWNrb3V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LiIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzo3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzo3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjcyNAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiCittc2dzdHIgIiIKKworIzogc2hhMS1maWxlLmM6ODM4CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dGVtcHRpbmcgdG8gbW1hcCAlPFBSSXVNQVg+IG92ZXIgbGltaXQgJTxQUkl1TUFYPiIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzo4NjMKK21zZ2lkICJtbWFwIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzoxMDI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9iamVjdCBmaWxlICVzIGlzIGVtcHR5IgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjExNTEgc2hhMS1maWxlLmM6MjI4OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IGxvb3NlIG9iamVjdCAnJXMnIgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjExNTMgc2hhMS1maWxlLmM6MjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJnYXJiYWdlIGF0IGVuZCBvZiBsb29zZSBvYmplY3QgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzoxMTk1Cittc2dpZCAiaW52YWxpZCBvYmplY3QgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzoxMjc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byB1bnBhY2sgJXMgaGVhZGVyIHdpdGggLS1hbGxvdy11bmtub3duLXR5cGUiCittc2dzdHIgIiIKKworIzogc2hhMS1maWxlLmM6MTI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gdW5wYWNrICVzIGhlYWRlciIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzoxMjg4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSAlcyBoZWFkZXIgd2l0aCAtLWFsbG93LXVua25vd24tdHlwZSIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzoxMjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSAlcyBoZWFkZXIiCittc2dzdHIgIiIKKworIzogc2hhMS1maWxlLmM6MTQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBvYmplY3QgJXMiCittc2dzdHIgIiIKKworIzogc2hhMS1maWxlLmM6MTQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZXBsYWNlbWVudCAlcyBub3QgZm91bmQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjE0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9vc2Ugb2JqZWN0ICVzIChzdG9yZWQgaW4gJXMpIGlzIGNvcnJ1cHQiCittc2dzdHIgIiIKKworIzogc2hhMS1maWxlLmM6MTQ5MworIywgYy1mb3JtYXQKK21zZ2lkICJwYWNrZWQgb2JqZWN0ICVzIChzdG9yZWQgaW4gJXMpIGlzIGNvcnJ1cHQiCittc2dzdHIgIiIKKworIzogc2hhMS1maWxlLmM6MTU5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAlcyIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzoxNjAyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBzZXQgcGVybWlzc2lvbiB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjE2MDkKK21zZ2lkICJmaWxlIHdyaXRlIGVycm9yIgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjE2MjgKK21zZ2lkICJlcnJvciB3aGVuIGNsb3NpbmcgbG9vc2Ugb2JqZWN0IGZpbGUiCittc2dzdHIgIiIKKworIzogc2hhMS1maWxlLmM6MTY5MworIywgYy1mb3JtYXQKK21zZ2lkICJpbnN1ZmZpY2llbnQgcGVybWlzc2lvbiBmb3IgYWRkaW5nIGFuIG9iamVjdCB0byByZXBvc2l0b3J5IGRhdGFiYXNlICVzIgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjE2OTUKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjE3MTkKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbG9vc2Ugb2JqZWN0IGZpbGUiCittc2dzdHIgIiIKKworIzogc2hhMS1maWxlLmM6MTcyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBuZXcgb2JqZWN0ICVzICglZCkiCittc2dzdHIgIiIKKworIzogc2hhMS1maWxlLmM6MTcyOQorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZsYXRlRW5kIG9uIG9iamVjdCAlcyBmYWlsZWQgKCVkKSIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzoxNzMzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbmZ1c2VkIGJ5IHVuc3RhYmxlIG9iamVjdCBzb3VyY2UgZGF0YSBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc2hhMS1maWxlLmM6MTc0MyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjkxOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdXRpbWUoKSBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzoxODE4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc2hhMS1maWxlLmM6MTg1OAorbXNnaWQgImNvcnJ1cHQgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjE4NjYKK21zZ2lkICJjb3JydXB0IHRhZyIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzoxOTY1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3Igd2hpbGUgaW5kZXhpbmcgJXMiCittc2dzdHIgIiIKKworIzogc2hhMS1maWxlLmM6MTk2OAorIywgYy1mb3JtYXQKK21zZ2lkICJzaG9ydCByZWFkIHdoaWxlIGluZGV4aW5nICVzIgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjIwNDEgc2hhMS1maWxlLmM6MjA1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluc2VydCBpbnRvIGRhdGFiYXNlIgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjIwNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIGZpbGUgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzoyMDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIG9iamVjdCIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzoyMDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkICclcycgb2JqZWN0IgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjIxMDkgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgorbXNnc3RyICLOtM61zr0gzrXOr869zrHOuSDOtM+Fzr3Osc+Ez4wgz4TOvyDOrM69zr/Ouc6zzrzOsSDPhM6/z4UgJXMiCisKKyM6IHNoYTEtZmlsZS5jOjIyOTkgc2hhMS1maWxlLmM6MjM1MQorIywgYy1mb3JtYXQKK21zZ2lkICJoYXNoIG1pc21hdGNoIGZvciAlcyAoZXhwZWN0ZWQgJXMpIgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjIzMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIG1tYXAgJXMiCittc2dzdHIgIiIKKworIzogc2hhMS1maWxlLmM6MjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gdW5wYWNrIGhlYWRlciBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBzaGExLWZpbGUuYzoyMzM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSBoZWFkZXIgb2YgJXMiCittc2dzdHIgIiIKKworIzogc2hhMS1maWxlLmM6MjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gdW5wYWNrIGNvbnRlbnRzIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHNoYTEtbmFtZS5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJzaG9ydCBTSEExICVzIGlzIGFtYmlndW91cyIKK21zZ3N0ciAiIgorCisjOiBzaGExLW5hbWUuYzo0NTkKK21zZ2lkICJUaGUgY2FuZGlkYXRlcyBhcmU6IgorbXNnc3RyICIiCisKKyM6IHNoYTEtbmFtZS5jOjc0MgorbXNnaWQgIiIKKyJHaXQgbm9ybWFsbHkgbmV2ZXIgY3JlYXRlcyBhIHJlZiB0aGF0IGVuZHMgd2l0aCA0MCBoZXggY2hhcmFjdGVyc1xuIgorImJlY2F1c2UgaXQgd2lsbCBiZSBpZ25vcmVkIHdoZW4geW91IGp1c3Qgc3BlY2lmeSA0MC1oZXguIFRoZXNlIHJlZnNcbiIKKyJtYXkgYmUgY3JlYXRlZCBieSBtaXN0YWtlLiBGb3IgZXhhbXBsZSxcbiIKKyJcbiIKKyIgIGdpdCBjaGVja291dCAtYiAkYnIgJChnaXQgcmV2LXBhcnNlIC4uLilcbiIKKyJcbiIKKyJ3aGVyZSBcIiRiclwiIGlzIHNvbWVob3cgZW1wdHkgYW5kIGEgNDAtaGV4IHJlZiBpcyBjcmVhdGVkLiBQbGVhc2VcbiIKKyJleGFtaW5lIHRoZXNlIHJlZnMgYW5kIG1heWJlIGRlbGV0ZSB0aGVtLiBUdXJuIHRoaXMgbWVzc2FnZSBvZmYgYnlcbiIKKyJydW5uaW5nIFwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIiIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoxMTQgc3VibW9kdWxlLmM6MTQzCittc2dpZCAiQ2Fubm90IGNoYW5nZSB1bm1lcmdlZCAuZ2l0bW9kdWxlcywgcmVzb2x2ZSBtZXJnZSBjb25mbGljdHMgZmlyc3QiCittc2dzdHIgIiIKKyLOlM61zr0gzrXOr869zrHOuSDOtM+Fzr3Osc+Ezq4gzrcgzrHOu867zrHOs86uIM68zrcgz4PPhc6zz4fPic69zrXPhc68zq3Ovc+Jzr0gLmdpdG1vZHVsZSwgzrXPgM65zrvPjc+Dz4TOtSDPgM+Bz47PhM6xIM+EzrnPgiAiCisiz4PPhc6zzrrPgc6/z43Pg861zrnPgiDPg8+FzrPPh8+Ozr3Otc+Fz4POt8+CIgorCisjOiBzdWJtb2R1bGUuYzoxMTggc3VibW9kdWxlLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHJlbW92ZSAuZ2l0bW9kdWxlcyBlbnRyeSBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MTY1Cittc2dpZCAic3RhZ2luZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzozMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW4gdW5wb3B1bGF0ZWQgc3VibW9kdWxlICclcyciCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhdGhzcGVjICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKK21zZ3N0ciAizpcgz4DOtc+BzrnOs8+BzrHPhs6uIM60zrnOsc60z4HOv868zq7PgiAnJXMnIM6yz4HOr8+DzrrOtc+EzrHOuSDOvM6tz4POsSDPg8+EzrfOvSDPhc+Azr/Otc69z4zPhM63z4TOsSAnJS4qcyciCisKKyM6IHN1Ym1vZHVsZS5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICJzdWJtb2R1bGUgZW50cnkgJyVzJyAoJXMpIGlzIGEgJXMsIG5vdCBhIGNvbW1pdCIKK21zZ3N0ciAiz4TOvyDPg8+Ezr/Ouc+HzrXOr86/IM+Fz4DOv861zr3PjM+EzrfPhM6xz4IgJyVzJyAoJXMpIM61zq/Ovc6xzrkgJXMsIM+Mz4fOuSDPhc+Azr/Oss6/zrvOriIKKworIzogc3VibW9kdWxlLmM6MTE0MyBidWlsdGluL2JyYW5jaC5jOjY1NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk4OQorbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgorbXNnc3RyICLOkc+Azq3PhM+Fz4fOtSDOtyDPhM6xz43PhM65z4POtyDPhM6/z4UgSEVBRCDOvM61IM66zqzPgM6/zrnOvyDOrc6zzrrPhc+Bzr8gcmVmLiIKKworIzogc3VibW9kdWxlLmM6MTQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgYWNjZXNzIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjE2MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBub3QgcmVjb2duaXplZCBhcyBhIGdpdCByZXBvc2l0b3J5IgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjE3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHN0YXJ0ICdnaXQgc3RhdHVzJyBpbiBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoxNzkwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBydW4gJ2dpdCBzdGF0dXMnIGluIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjE4MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVuc2V0IGNvcmUud29ya3RyZWUgc2V0dGluZyBpbiBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoxODk1CisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGhhcyBkaXJ0eSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoxOTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Ym1vZHVsZSAnJXMnIGNvdWxkIG5vdCBiZSB1cGRhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoxOTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJyZWxvY2F0ZV9naXRkaXIgZm9yIHN1Ym1vZHVsZSAnJXMnIHdpdGggbW9yZSB0aGFuIG9uZSB3b3JrdHJlZSBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjIwMDggc3VibW9kdWxlLmM6MjA2NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgbG9va3VwIG5hbWUgZm9yIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjIwMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk1pZ3JhdGluZyBnaXQgZGlyZWN0b3J5IG9mICclcyVzJyBmcm9tXG4iCisiJyVzJyB0b1xuIgorIiclcydcbiIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoyMDk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWN1cnNlIGludG8gc3VibW9kdWxlICclcyciCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MjE0MworbXNnaWQgImNvdWxkIG5vdCBzdGFydCBscy1maWxlcyBpbiAuLiIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoyMTgyCisjLCBjLWZvcm1hdAorbXNnaWQgImxzLXRyZWUgcmV0dXJuZWQgdW5leHBlY3RlZCByZXR1cm4gY29kZSAlZCIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUtY29uZmlnLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHN1c3BpY2lvdXMgc3VibW9kdWxlIG5hbWU6ICVzIgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzoyOTYKK21zZ2lkICJuZWdhdGl2ZSB2YWx1ZXMgbm90IGFsbG93ZWQgZm9yIHN1Ym1vZHVsZS5mZXRjaGpvYnMiCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLWNvbmZpZy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyAnJXMnIHdoaWNoIG1heSBiZSBpbnRlcnByZXRlZCBhcyBhIGNvbW1hbmQtbGluZSBvcHRpb246ICVzIgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo0NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLWNvbmZpZy5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgdXBkYXRlIC5naXRtb2R1bGVzIGVudHJ5ICVzIgorbXNnc3RyICIiCisKKyM6IHRyYWlsZXIuYzoyMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicnVubmluZyB0cmFpbGVyIGNvbW1hbmQgJyVzJyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogdHJhaWxlci5jOjQ4NSB0cmFpbGVyLmM6NDkwIHRyYWlsZXIuYzo0OTUgdHJhaWxlci5jOjU0OSB0cmFpbGVyLmM6NTUzCisjOiB0cmFpbGVyLmM6NTU3CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdmFsdWUgJyVzJyBmb3Iga2V5ICclcyciCittc2dzdHIgIiIKKworIzogdHJhaWxlci5jOjUzOSB0cmFpbGVyLmM6NTQ0IGJ1aWx0aW4vcmVtb3RlLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vcmUgdGhhbiBvbmUgJXMiCittc2dzdHIgIiIKKworIzogdHJhaWxlci5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICJlbXB0eSB0cmFpbGVyIHRva2VuIGluIHRyYWlsZXIgJyUuKnMnIgorbXNnc3RyICIiCisKKyM6IHRyYWlsZXIuYzo3NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgaW5wdXQgZmlsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHRyYWlsZXIuYzo3NTMKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBmcm9tIHN0ZGluIgorbXNnc3RyICIiCisKKyM6IHRyYWlsZXIuYzoxMDExIHdyYXBwZXIuYzo3MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHN0YXQgJXMiCittc2dzdHIgIiIKKworIzogdHJhaWxlci5jOjEwMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyBpcyBub3QgYSByZWd1bGFyIGZpbGUiCittc2dzdHIgIiIKKworIzogdHJhaWxlci5jOjEwMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyBpcyBub3Qgd3JpdGFibGUgYnkgdXNlciIKK21zZ3N0ciAiIgorCisjOiB0cmFpbGVyLmM6MTAyNworbXNnaWQgImNvdWxkIG5vdCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICLOtM61zr0gzq7PhM6xzr0gzrTPhc69zrHPhM+MIM+Ezr8gzqzOvc6/zrnOs868zrEgz4TOv8+FIM+Az4HOv8+Dz4nPgc65zr3Ov8+NIM6xz4HPh861zq/Ov8+FIgorCisjOiB0cmFpbGVyLmM6MTA2NworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVuYW1lIHRlbXBvcmFyeSBmaWxlIHRvICVzIgorbXNnc3RyICLOtM61zr0gzq7PhM6xzr0gzrTPhc69zrHPhM6uIM63IM68zrXPhM6/zr3Ov868zrHPg86vzrEgz4DPgc6/z4PPic+BzrnOvc6/z40gzrHPgc+HzrXOr86/z4Ugz4POtSAlcyIKKworIzogdHJhbnNwb3J0LmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHNldCB1cHN0cmVhbSBvZiAnJXMnIHRvICclcycgb2YgJyVzJ1xuIgorbXNnc3RyICLOmM6xIM+Mz4HOuc62zrUgz4TOvyDPgM+Bzr/PgiDPhM6xIM+AzqzOvc+JIM+Ezr/PhSAnJXMnIM+Jz4IgJyVzJyDPhM6/z4UgJyVzJ1xuIgorCisjOiB0cmFuc3BvcnQuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgYnVuZGxlICclcyciCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgInRyYW5zcG9ydDogaW52YWxpZCBkZXB0aCBvcHRpb24gJyVzJyIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQuYzo2MTcKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgdHJhbnNwb3J0LmNvbG9yLiogY29uZmlnIgorbXNnc3RyICIiCisKKyM6IHRyYW5zcG9ydC5jOjY5MAorbXNnaWQgInN1cHBvcnQgZm9yIHByb3RvY29sIHYyIG5vdCBpbXBsZW1lbnRlZCB5ZXQiCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LmM6ODE3CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdmFsdWUgZm9yIGNvbmZpZyAnJXMnOiAlcyIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQuYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJhbnNwb3J0ICclcycgbm90IGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LmM6OTM3Cittc2dpZCAiZ2l0LW92ZXItcnN5bmMgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQuYzoxMDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHN1Ym1vZHVsZSBwYXRocyBjb250YWluIGNoYW5nZXMgdGhhdCBjYW5cbiIKKyJub3QgYmUgZm91bmQgb24gYW55IHJlbW90ZTpcbiIKK21zZ3N0ciAiIgorIs6fzrkgz4DOsc+BzrHOus6sz4TPiSDOtM65zrHOtM+Bzr/OvM6tz4Igz4XPgM6/zrXOvc+Mz4TOt8+EzrHPgiDPgM61z4HOuc6tz4fOv8+Fzr0gzrHOu867zrHOs86tz4Igz4DOv8+FIM60zrXOvSDOtc6vzr3Osc65XG4iCisizrTPhc69zrHPhM+MIM69zrEgzrLPgc61zrjOv8+Nzr0gz4POtSDOus6xzr3Orc69zrHOvSDOsc+Azr/OvM6xzrrPgc+Fz4POvM6tzr3OvyDOtc6+z4XPgM63z4HOtc+EzrfPhM6uOlxuIgorCisjOiB0cmFuc3BvcnQuYzoxMDM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJQbGVhc2UgdHJ5XG4iCisiXG4iCisiXHRnaXQgcHVzaCAtLXJlY3Vyc2Utc3VibW9kdWxlcz1vbi1kZW1hbmRcbiIKKyJcbiIKKyJvciBjZCB0byB0aGUgcGF0aCBhbmQgdXNlXG4iCisiXG4iCisiXHRnaXQgcHVzaFxuIgorIlxuIgorInRvIHB1c2ggdGhlbSB0byBhIHJlbW90ZS5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIs6gzrHPgc6xzrrOsc67z44gzrTOv866zrnOvM6sz4PPhM61XG4iCisiXG4iCisiXHRnaXQgcHVzaCAtLXJlY3Vyc2Utc3VibW9kdWxlcz1vbi1kZW1hbmRcbiIKKyJcbiIKKyLOriDOus6szr3PhM61IGNkIM+Dz4TOtyDOtM65zrHOtM+Bzr/OvM6uIM66zrHOuSDPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61XG4iCisiXG4iCisiXHRnaXQgcHVzaFxuIgorIlxuIgorIs6zzrnOsSDOvc6xIM+EzrEgzrTOt868zr/Pg865zrXPjc+DzrXPhM61IM+DzrUgzq3Ovc6xzr0gzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr8gzrXOvs+Fz4DOt8+BzrXPhM63z4TOri5cbiIKKyJcbiIKKworIzogdHJhbnNwb3J0LmM6MTA0NAorbXNnaWQgIkFib3J0aW5nLiIKK21zZ3N0ciAizpXOs866zrHPhM6szrvOtc65z4jOty4iCisKKyM6IHRyYW5zcG9ydC5jOjExODQKK21zZ2lkICJmYWlsZWQgdG8gcHVzaCBhbGwgbmVlZGVkIHN1Ym1vZHVsZXMiCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LmM6MTMxNyB0cmFuc3BvcnQtaGVscGVyLmM6NjQzCittc2dpZCAib3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wiCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LmM6MTQyMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGxpbmUgd2hpbGUgcGFyc2luZyBhbHRlcm5hdGUgcmVmczogJXMiCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjUxIHRyYW5zcG9ydC1oZWxwZXIuYzo4MAorbXNnaWQgImZ1bGwgd3JpdGUgdG8gcmVtb3RlIGhlbHBlciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmluZCByZW1vdGUgaGVscGVyIGZvciAnJXMnIgorbXNnc3RyICIiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDggdHJhbnNwb3J0LWhlbHBlci5jOjU1NworbXNnaWQgImNhbid0IGR1cCBoZWxwZXIgb3V0cHV0IGZkIgorbXNnc3RyICIiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVua25vd24gbWFuZGF0b3J5IGNhcGFiaWxpdHkgJXM7IHRoaXMgcmVtb3RlIGhlbHBlciBwcm9iYWJseSBuZWVkcyBuZXdlciAiCisidmVyc2lvbiBvZiBHaXQiCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjIwNQorbXNnaWQgInRoaXMgcmVtb3RlIGhlbHBlciBzaG91bGQgaW1wbGVtZW50IHJlZnNwZWMgY2FwYWJpbGl0eSIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MjcyIHRyYW5zcG9ydC1oZWxwZXIuYzo0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5leHBlY3RlZGx5IHNhaWQ6ICclcyciCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHNvIGxvY2tlZCAlcyIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NDc5Cittc2dpZCAiY291bGRuJ3QgcnVuIGZhc3QtaW1wb3J0IgorbXNnc3RyICIiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MDIKK21zZ2lkICJlcnJvciB3aGlsZSBydW5uaW5nIGZhc3QtaW1wb3J0IgorbXNnc3RyICIiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MzEgdHJhbnNwb3J0LWhlbHBlci5jOjEwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgcmVmICVzIgorbXNnc3RyICIiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biByZXNwb25zZSB0byBjb25uZWN0OiAlcyIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NTk4Cittc2dpZCAic2V0dGluZyByZW1vdGUgc2VydmljZSBwYXRoIG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wiCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjYwMAorbXNnaWQgImludmFsaWQgcmVtb3RlIHNlcnZpY2UgcGF0aCIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGNvbm5lY3QgdG8gc3Vic2VydmljZSAlcyIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NzE4CisjLCBjLWZvcm1hdAorbXNnaWQgImV4cGVjdGVkIG9rL2Vycm9yLCBoZWxwZXIgc2FpZCAnJXMnIgorbXNnc3RyICIiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo3NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaGVscGVyIHJlcG9ydGVkIHVuZXhwZWN0ZWQgc3RhdHVzIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgZHJ5LXJ1biIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODM1CisjLCBjLWZvcm1hdAorbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIgorbXNnc3RyICIiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQ9aWYtYXNrZWQiCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjg0NQorIywgYy1mb3JtYXQKK21zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAncHVzaC1vcHRpb24nIgorbXNnc3RyICIiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5MzcKK21zZ2lkICJyZW1vdGUtaGVscGVyIGRvZXNuJ3Qgc3VwcG9ydCBwdXNoOyByZWZzcGVjIG5lZWRlZCIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6OTQyCisjLCBjLWZvcm1hdAorbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0ICdmb3JjZSciCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjk4OQorbXNnaWQgImNvdWxkbid0IHJ1biBmYXN0LWV4cG9ydCIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6OTk0Cittc2dpZCAiZXJyb3Igd2hpbGUgcnVubmluZyBmYXN0LWV4cG9ydCIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTAxOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm8gcmVmcyBpbiBjb21tb24gYW5kIG5vbmUgc3BlY2lmaWVkOyBkb2luZyBub3RoaW5nLlxuIgorIlBlcmhhcHMgeW91IHNob3VsZCBzcGVjaWZ5IGEgYnJhbmNoIHN1Y2ggYXMgJ21hc3RlcicuXG4iCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwODMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsZm9ybWVkIHJlc3BvbnNlIGluIHJlZiBsaXN0OiAlcyIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTIzNgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkKCVzKSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUoJXMpIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTMxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0aHJlYWQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHRocmVhZCBmYWlsZWQgdG8gam9pbjogJXMiCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMzUgdHJhbnNwb3J0LWhlbHBlci5jOjEzMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc3RhcnQgdGhyZWFkIGZvciBjb3B5aW5nIGRhdGE6ICVzIgorbXNnc3RyICIiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHByb2Nlc3MgZmFpbGVkIHRvIHdhaXQiCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcHJvY2VzcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzOTggdHJhbnNwb3J0LWhlbHBlci5jOjE0MDcKK21zZ2lkICJjYW4ndCBzdGFydCB0aHJlYWQgZm9yIGNvcHlpbmcgZGF0YSIKK21zZ3N0ciAiIgorCisjOiB0cmVlLXdhbGsuYzozMworbXNnaWQgInRvby1zaG9ydCB0cmVlIG9iamVjdCIKK21zZ3N0ciAiIgorCisjOiB0cmVlLXdhbGsuYzozOQorbXNnaWQgIm1hbGZvcm1lZCBtb2RlIGluIHRyZWUgZW50cnkiCittc2dzdHIgIiIKKworIzogdHJlZS13YWxrLmM6NDMKK21zZ2lkICJlbXB0eSBmaWxlbmFtZSBpbiB0cmVlIGVudHJ5IgorbXNnc3RyICIiCisKKyM6IHRyZWUtd2Fsay5jOjExNgorbXNnaWQgInRvby1zaG9ydCB0cmVlIGZpbGUiCittc2dzdHIgIiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKKyIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKK21zZ3N0ciAiIgorIs6fzrkgz4TOv8+AzrnOus6tz4IgzrHOu867zrHOs86tz4Igz4POsc+CIM+Dz4TOsSDOsc66z4zOu86/z4XOuM6xIM6xz4HPh861zq/OsSDOuM6xIM61z4DOtc6zzrPPgc6xz4bPjM69z4TOv8+Fz4POsc69IM6xz4DPjCDPhM63zr0gIgorIs61zr7Osc6zz4nOs86uOlxuIgorIiUlc86gzrHPgc6xzrrOsc67z44gz4XPgM6/zrLOrM67zrXPhM61IM+EzrnPgiDOsc67zrvOsc6zzq3PgiDPg86xz4Igzq4gzrHPgM6/zrjOt866zrXPjc+Dz4TOtSDPhM65z4Igz4DPgc65zr0gzrHOu867zqzOvs61z4TOtSDOus67zqzOtM6/LiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKKyIlJXMiCittc2dzdHIgIiIKKyLOn865IM+Ezr/PgM65zrrOrc+CIM6xzrvOu86xzrPOrc+CIM+DzrHPgiDPg8+EzrEgzrHOus+MzrvOv8+FzrjOsSDOsc+Bz4fOtc6vzrEgzrjOsSDOtc+AzrXOs86zz4HOsc+Gz4zOvc+Ezr/Phc+DzrHOvSDOsc+Az4wgz4TOt869ICIKKyLOtc6+zrHOs8+JzrPOrjpcbiIKKyIlJXMiCisKKyM6IHVucGFjay10cmVlcy5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCisiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKK21zZ3N0ciAiIgorIs6fzrkgz4TOv8+AzrnOus6tz4IgzrHOu867zrHOs86tz4Igz4POsc+CIM+Dz4TOsSDOsc66z4zOu86/z4XOuM6xIM6xz4HPh861zq/OsSDOuM6xIM61z4DOtc6zzrPPgc6xz4bPjM69z4TOv8+Fz4POsc69IM6xz4DPjCDPhM63ICIKKyLPg8+FzrPPh8+Ozr3Otc+Fz4POtzpcbiIKKyIlJXPOoM6xz4HOsc66zrHOu8+OIM+Fz4DOv86yzqzOu861z4TOtSDPhM65z4IgzrHOu867zrHOs86tz4Igz4POsc+CIM6uIM6xz4DOv864zrfOus61z43Pg8+EzrUgz4TOuc+CIM+Az4HOuc69IM+Dz4XOs8+Hz4nOvc61z43Pg861z4TOtS4iCisKKyM6IHVucGFjay10cmVlcy5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCisiJSVzIgorbXNnc3RyICIiCisizp/OuSDPhM6/z4DOuc66zq3PgiDOsc67zrvOsc6zzq3PgiDPg86xz4Igz4PPhM6xIM6xzrrPjM67zr/Phc64zrEgzrHPgc+HzrXOr86xIM64zrEgzrXPgM61zrPOs8+BzrHPhs+Mzr3PhM6/z4XPg86xzr0gzrHPgM+MIM+EzrcgIgorIs+Dz4XOs8+Hz47Ovc61z4XPg863OlxuIgorIiUlcyIKKworIzogdW5wYWNrLXRyZWVzLmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKKyIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgJXMuIgorbXNnc3RyICIiCisizp/OuSDPhM6/z4DOuc66zq3PgiDOsc67zrvOsc6zzq3PgiDPg86xz4Igz4PPhM6xIM6xzrrPjM67zr/Phc64zrEgzrHPgc+HzrXOr86xIM64zrEgzrXPgM61zrPOs8+BzrHPhs+Mzr3PhM6/z4XPg86xzr0gzrHPgM+MIM+Ezr8gJXM6XG4iCisiJSVzzqDOsc+BzrHOus6xzrvPjiDPhc+Azr/Oss6szrvOtc+EzrUgz4TOuc+CIM6xzrvOu86xzrPOrc+CIM+DzrHPgiDOriDOsc+Azr/OuM63zrrOtc+Nz4PPhM61IM+EzrnPgiDPgM+BzrnOvSDOsc+Az4wgz4TOvyAlcy4iCisKKyM6IHVucGFjay10cmVlcy5jOjEyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCisiJSVzIgorbXNnc3RyICIiCisizp/OuSDPhM6/z4DOuc66zq3PgiDOsc67zrvOsc6zzq3PgiDPg86xz4Igz4PPhM6xIM6xzrrPjM67zr/Phc64zrEgzrHPgc+HzrXOr86xIM64zrEgzrXPgM61zrPOs8+BzrHPhs+Mzr3PhM6/z4XPg86xzr0gzrHPgM+MIM+Ezr8gJXM6XG4iCisiJSVzIgorCisjOiB1bnBhY2stdHJlZXMuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlVwZGF0aW5nIHRoZSBmb2xsb3dpbmcgZGlyZWN0b3JpZXMgd291bGQgbG9zZSB1bnRyYWNrZWQgZmlsZXMgaW4gdGhlbTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorCisjOiB1bnBhY2stdHJlZXMuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKK21zZ3N0ciAiIgorCisjOiB1bnBhY2stdHJlZXMuYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgorIiUlcyIKK21zZ3N0ciAiIgorCisjOiB1bnBhY2stdHJlZXMuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgbWVyZ2UuIgorbXNnc3RyICIiCisKKyM6IHVucGFjay10cmVlcy5jOjEzOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4iCisiJSVzIgorbXNnc3RyICIiCisKKyM6IHVucGFjay10cmVlcy5jOjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSAlcy4iCittc2dzdHIgIiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKKyIlJXMiCittc2dzdHIgIiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgorImNoZWNrb3V0OlxuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKK21zZ3N0ciAiIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCisiY2hlY2tvdXQ6XG4iCisiJSVzIgorbXNnc3RyICIiCisKKyM6IHVucGFjay10cmVlcy5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgbWVyZ2UuIgorbXNnc3RyICIiCisKKyM6IHVucGFjay10cmVlcy5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgorIiUlcyIKK21zZ3N0ciAiIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91ICVzLiIKK21zZ3N0ciAiIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKKyIlJXMiCittc2dzdHIgIiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkVudHJ5ICclcycgb3ZlcmxhcHMgd2l0aCAnJXMnLiAgQ2Fubm90IGJpbmQuIgorbXNnc3RyICIiCisKKyM6IHVucGFjay10cmVlcy5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2Fubm90IHVwZGF0ZSBzcGFyc2UgY2hlY2tvdXQ6IHRoZSBmb2xsb3dpbmcgZW50cmllcyBhcmUgbm90IHVwIHRvIGRhdGU6XG4iCisiJXMiCittc2dzdHIgIiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgIgorInVwZGF0ZTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgc3BhcnNlIGNoZWNrb3V0ICIKKyJ1cGRhdGU6XG4iCisiJXMiCittc2dzdHIgIiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW5ub3QgdXBkYXRlIHN1Ym1vZHVsZTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorCisjOiB1bnBhY2stdHJlZXMuYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWJvcnRpbmdcbiIKK21zZ3N0ciAizpXOs866zrHPhM6szrvOtc65z4jOt1xuIgorCisjOiB1bnBhY2stdHJlZXMuYzozMzUKK21zZ2lkICJDaGVja2luZyBvdXQgZmlsZXMiCittc2dzdHIgIiIKKworIzogdW5wYWNrLXRyZWVzLmM6MzY3Cittc2dpZCAiIgorInRoZSBmb2xsb3dpbmcgcGF0aHMgaGF2ZSBjb2xsaWRlZCAoZS5nLiBjYXNlLXNlbnNpdGl2ZSBwYXRoc1xuIgorIm9uIGEgY2FzZS1pbnNlbnNpdGl2ZSBmaWxlc3lzdGVtKSBhbmQgb25seSBvbmUgZnJvbSB0aGUgc2FtZVxuIgorImNvbGxpZGluZyBncm91cCBpcyBpbiB0aGUgd29ya2luZyB0cmVlOlxuIgorbXNnc3RyICIiCisKKyM6IHVybG1hdGNoLmM6MTYzCittc2dpZCAiaW52YWxpZCBVUkwgc2NoZW1lIG5hbWUgb3IgbWlzc2luZyAnOi8vJyBzdWZmaXgiCittc2dzdHIgIiIKKworIzogdXJsbWF0Y2guYzoxODcgdXJsbWF0Y2guYzozNDYgdXJsbWF0Y2guYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCAlWFggZXNjYXBlIHNlcXVlbmNlIgorbXNnc3RyICIiCisKKyM6IHVybG1hdGNoLmM6MjE1Cittc2dpZCAibWlzc2luZyBob3N0IGFuZCBzY2hlbWUgaXMgbm90ICdmaWxlOiciCittc2dzdHIgIiIKKworIzogdXJsbWF0Y2guYzoyMzIKK21zZ2lkICJhICdmaWxlOicgVVJMIG1heSBub3QgaGF2ZSBhIHBvcnQgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHVybG1hdGNoLmM6MjQ3Cittc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXJzIGluIGhvc3QgbmFtZSIKK21zZ3N0ciAiIgorCisjOiB1cmxtYXRjaC5jOjI5MiB1cmxtYXRjaC5jOjMwMworbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIiCittc2dzdHIgIiIKKworIzogdXJsbWF0Y2guYzozNzEKK21zZ2lkICJpbnZhbGlkICcuLicgcGF0aCBzZWdtZW50IgorbXNnc3RyICIiCisKKyM6IHdvcmt0cmVlLmM6MjQ5IGJ1aWx0aW4vYW0uYzoyMDk0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICclcyciCittc2dzdHIgIiIKKworIzogd29ya3RyZWUuYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBhdCBtYWluIHdvcmtpbmcgdHJlZSBpcyBub3QgdGhlIHJlcG9zaXRvcnkgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IHdvcmt0cmVlLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZmlsZSBkb2VzIG5vdCBjb250YWluIGFic29sdXRlIHBhdGggdG8gdGhlIHdvcmtpbmcgdHJlZSBsb2NhdGlvbiIKK21zZ3N0ciAiIgorCisjOiB3b3JrdHJlZS5jOjMxOAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIiCisKKyM6IHdvcmt0cmVlLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgLmdpdCBmaWxlLCBlcnJvciBjb2RlICVkIgorbXNnc3RyICIiCisKKyM6IHdvcmt0cmVlLmM6MzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgYmFjayB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IHdyYXBwZXIuYzoyMjMgd3JhcHBlci5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIGFuZCB3cml0aW5nIgorbXNnc3RyICLOtM61zr0gzq7PhM6xzr0gzrTPhc69zrHPhM+MIM+Ezr8gzqzOvc6/zrnOs868zrEgz4TOv8+FICclcycgzrPOuc6xIM6xzr3OrM6zzr3Pic+DzrcgzrrOsc65IM61zrPOs8+BzrHPhs6uIgorCisjOiB3cmFwcGVyLmM6NDI0IHdyYXBwZXIuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgorbXNnc3RyICIiCisKKyM6IHdyYXBwZXIuYzo2MzIKK21zZ2lkICJ1bmFibGUgdG8gZ2V0IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTU1Cittc2dpZCAiVW5tZXJnZWQgcGF0aHM6IgorbXNnc3RyICLOnM63IM+Dz4XOs8+Hz4nOvc61z4XOvM6tzr3Otc+CIM60zrnOsc60z4HOv868zq3PgjoiCisKKyM6IHd0LXN0YXR1cy5jOjE4MiB3dC1zdGF0dXMuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgorbXNnc3RyICIiCisiICAoz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSBcImdpdCByZXNldCAlcyA8zrHPgc+HzrXOr86/Pi4uLlwiIM6zzrnOsSDOvc6xIM6xz4DOv8+Az4HOv861z4TOv865zrzOrM+DzrXPhM61KSIKKworIzogd3Qtc3RhdHVzLmM6MTg0IHd0LXN0YXR1cy5jOjIxMQorbXNnaWQgIiAgKHVzZSBcImdpdCBybSAtLWNhY2hlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKK21zZ3N0ciAiIgorIiAgKM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrUgXCJnaXQgcm0gLS1jYWNoZWQgPM6xz4HPh861zq/Ovz4uLi5cIiDOs865zrEgzr3OsSDOsc+Azr/PgM+Bzr/Otc+Ezr/Ouc68zqzPg861z4TOtSkiCisKKyM6IHd0LXN0YXR1cy5jOjE4OAorbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKK21zZ3N0ciAiIgorIiAgKM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrUgXCJnaXQgYWRkIDzOsc+Bz4fOtc6vzr8+Li4uXCIgzq3PhM+Dzrkgz47Pg8+EzrUgzr3OsSDOtc+AzrnPg863zrzOrM69zrXPhM61IM+EzrfOvSAiCisizrXPgM6vzrvPhc+DzrcpIgorCisjOiB3dC1zdGF0dXMuYzoxOTAgd3Qtc3RhdHVzLmM6MTk0Cittc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgorbXNnc3RyICIiCisiICAoz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSBcImdpdCBhZGQvcm0gPM6xz4HPh861zq/Ovz4uLi5cIiDOrc+Ez4POuSDPjs+Dz4TOtSDOvc6xIM61z4DOuc+DzrfOvM6szr3Otc+EzrUgz4TOt869ICIKKyLOtc+Azq/Ou8+Fz4POtykiCisKKyM6IHd0LXN0YXR1cy5jOjE5MgorbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgorbXNnc3RyICIiCisiICAoz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSBcImdpdCBybSA8zrHPgc+HzrXOr86/Pi4uLlwiIM6tz4TPg865IM+Oz4PPhM61IM69zrEgzrXPgM65z4POt868zqzOvc61z4TOtSDPhM63zr0gIgorIs61z4DOr867z4XPg863KSIKKworIzogd3Qtc3RhdHVzLmM6MjAzIHd0LXN0YXR1cy5jOjEwNDYKK21zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCittc2dzdHIgIs6RzrvOu86xzrPOrc+CIM+Az4HOv8+CIM+Fz4DOv86yzr/Ou86uOiIKKworIzogd3Qtc3RhdHVzLmM6MjIxIHd0LXN0YXR1cy5jOjEwNTUKK21zZ2lkICJDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoiCittc2dzdHIgIs6RzrvOu86xzrPOrc+CIM+Azr/PhSDOtM61zr0gzq3Ph86/z4XOvSDPgM+Bzr/Otc+Ezr/Ouc68zrHPg8+EzrXOryDOs865zrEgz4XPgM6/zrLOv867zq46IgorCisjOiB3dC1zdGF0dXMuYzoyMjUKK21zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKK21zZ3N0ciAiIgorIiAgKM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrUgXCJnaXQgYWRkIDzOsc+Bz4fOtc6vzr8+Li4uXCIgzrPOuc6xIM69zrEgzrXOvc63zrzOtc+Bz47Pg861z4TOtSDOsc+Fz4TOrCDPgM6/z4UgzrjOsSAiCisiz4XPgM6/zrLOu863zrjOv8+Nzr0pIgorCisjOiB3dC1zdGF0dXMuYzoyMjcKK21zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKK21zZ3N0ciAiIgorIiAgKM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrUgXCJnaXQgYWRkL3JtIDzOsc+Bz4fOtc6vzr8+Li4uXCIgzrPOuc6xIM69zrEgzrXOvc63zrzOtc+Bz47Pg861z4TOtSDOsc+Fz4TOrCDPgM6/z4UgzrjOsSAiCisiz4XPgM6/zrLOu863zrjOv8+Nzr0pIgorCisjOiB3dC1zdGF0dXMuYzoyMjgKK21zZ2lkICIiCisiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCittc2dzdHIgIiIKKyIgICjPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61IFwiZ2l0IGNoZWNrb3V0IC0tIDzOsc+Bz4fOtc6vzr8+Li4uXCIgzrPOuc6xIM69zrEgzrHPgM6/z4HPgc6vz4jOtc+EzrUgz4TOuc+CICIKKyLOsc67zrvOsc6zzq3PgiDPg8+Ezr8gz4bOrM66zrXOu86/IM61z4HOs86xz4POr86xz4IpIgorCisjOiB3dC1zdGF0dXMuYzoyMzAKK21zZ2lkICIgIChjb21taXQgb3IgZGlzY2FyZCB0aGUgdW50cmFja2VkIG9yIG1vZGlmaWVkIGNvbnRlbnQgaW4gc3VibW9kdWxlcykiCittc2dzdHIgIiIKKyIgICjOvc6xIM6zzq/Ovc61zrkgz4XPgM6/zrLOv867zq4gzq4gzrHPgM+Mz4HPgc65z4jOtyDPhM6/z4UgzrzOtyDPgM6xz4HOsc66zr/Ou86/z4XOuM6/z43OvM61zr3Ov8+FIM6uIM+Ez4HOv8+Azr/PgM6/zrnOt868zq3Ovc6/z4UgIgorIs+AzrXPgc65zrXPh86/zrzOrc69zr/PhSDPg8+EzrnPgiDPhc+Azr/Otc69z4zPhM63z4TOtc+CKSIKKworIzogd3Qtc3RhdHVzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgorbXNnc3RyICIiCisiICAoz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSBcImdpdCAlcyA8zrHPgc+HzrXOr86/Pi4uLlwiIM6zzrnOsSDOvc6xIM+Dz4XOvM+AzrXPgc65zrvOt8+GzrjOtc6vIM+DzrUgzrHPhc+Ezqwgz4DOv8+FIM64zrEgIgorIs+Fz4DOv86yzrvOt864zr/Pjc69KSIKKworIzogd3Qtc3RhdHVzLmM6MjU3Cittc2dpZCAiYm90aCBkZWxldGVkOiIKK21zZ3N0ciAizrTOuc6xzrPPgc6xz4bOriDOus6xzrkgzrHPgM+MIM+Ezr/Phc+CIM60z43OvzoiCisKKyM6IHd0LXN0YXR1cy5jOjI1OQorbXNnaWQgImFkZGVkIGJ5IHVzOiIKK21zZ3N0ciAiz4DPgc6/z4POuM6uzrrOtyDOsc+Az4wgzrXOvM6sz4I6IgorCisjOiB3dC1zdGF0dXMuYzoyNjEKK21zZ2lkICJkZWxldGVkIGJ5IHRoZW06IgorbXNnc3RyICLOtM65zrHOs8+BzrHPhs6uIM6xz4DPjCDOsc+Fz4TOv8+Nz4I6IgorCisjOiB3dC1zdGF0dXMuYzoyNjMKK21zZ2lkICJhZGRlZCBieSB0aGVtOiIKK21zZ3N0ciAiz4DPgc6/z4POuM6uzrrOtyDOsc+Az4wgzrHPhc+Ezr/Pjc+COiIKKworIzogd3Qtc3RhdHVzLmM6MjY1Cittc2dpZCAiZGVsZXRlZCBieSB1czoiCittc2dzdHIgIs60zrnOsc6zz4HOsc+Gzq4gzrHPgM+MIM61zrzOrM+COiIKKworIzogd3Qtc3RhdHVzLmM6MjY3Cittc2dpZCAiYm90aCBhZGRlZDoiCittc2dzdHIgIs+Az4HOv8+DzrjOrs66zrcgzrrOsc65IM6xz4DPjCDPhM6/z4XPgiDOtM+Nzr86IgorCisjOiB3dC1zdGF0dXMuYzoyNjkKK21zZ2lkICJib3RoIG1vZGlmaWVkOiIKK21zZ3N0ciAiz4TPgc6/z4DOv8+Azr/Or863z4POtyDOus6xzrkgzrHPgM+MIM+Ezr/Phc+CIM60z43OvzoiCisKKyM6IHd0LXN0YXR1cy5jOjI3OQorbXNnaWQgIm5ldyBmaWxlOiIKK21zZ3N0ciAizr3Orc6/IM6xz4HPh861zq/OvzoiCisKKyM6IHd0LXN0YXR1cy5jOjI4MQorbXNnaWQgImNvcGllZDoiCittc2dzdHIgIs6xzr3PhM65zrPPgc6xz4bOrjoiCisKKyM6IHd0LXN0YXR1cy5jOjI4MworbXNnaWQgImRlbGV0ZWQ6IgorbXNnc3RyICLOtM65zrHOs8+BzrHPhs6uOiIKKworIzogd3Qtc3RhdHVzLmM6Mjg1Cittc2dpZCAibW9kaWZpZWQ6IgorbXNnc3RyICLPhM+Bzr/PgM6/z4DOv86vzrfPg863OiIKKworIzogd3Qtc3RhdHVzLmM6Mjg3Cittc2dpZCAicmVuYW1lZDoiCittc2dzdHIgIs68zrXPhM6/zr3Ov868zrHPg86vzrE6IgorCisjOiB3dC1zdGF0dXMuYzoyODkKK21zZ2lkICJ0eXBlY2hhbmdlOiIKK21zZ3N0ciAizrHOu867zrHOs86uIM+Ez43PgM6/z4U6IgorCisjOiB3dC1zdGF0dXMuYzoyOTEKK21zZ2lkICJ1bmtub3duOiIKK21zZ3N0ciAizqzOs869z4nPg8+Ezr86IgorCisjOiB3dC1zdGF0dXMuYzoyOTMKK21zZ2lkICJ1bm1lcmdlZDoiCittc2dzdHIgIs68zrcgz4PPhc6zz4fPic69zrXPhc68zq3Ovc6/OiIKKworIzogd3Qtc3RhdHVzLmM6MzczCittc2dpZCAibmV3IGNvbW1pdHMsICIKK21zZ3N0ciAizr3Orc61z4Igz4XPgM6/zrLOv867zq3PgiwgIgorCisjOiB3dC1zdGF0dXMuYzozNzUKK21zZ2lkICJtb2RpZmllZCBjb250ZW50LCAiCittc2dzdHIgIs+Ez4HOv8+Azr/PgM6/zrnOt868zq3Ovc6/IM+AzrXPgc65zrXPh8+MzrzOtc69zr8sICIKKworIzogd3Qtc3RhdHVzLmM6Mzc3Cittc2dpZCAidW50cmFja2VkIGNvbnRlbnQsICIKK21zZ3N0ciAizrzOtyDPgM6xz4HOsc66zr/Ou86/z4XOuM6/z43OvM61zr3OvyDPgM61z4HOuc61z4fPjM68zrXOvc6/LCAiCisKKyM6IHd0LXN0YXR1cy5jOjg4NAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIHN0YXNoIGN1cnJlbnRseSBoYXMgJWQgZW50cnkiCittc2dpZF9wbHVyYWwgIllvdXIgc3Rhc2ggY3VycmVudGx5IGhhcyAlZCBlbnRyaWVzIgorbXNnc3RyWzBdICLOlyDOsc+Azr/OuM6uzrrOtc+Fz4POriDPg86xz4Igzq3Ph861zrkgz4TPjs+BzrEgJWQgz4PPhM6/zrnPh861zq/OvyIKK21zZ3N0clsxXSAizpcgzrHPgM6/zrjOrs66zrXPhc+Dzq4gz4POsc+CIM6tz4fOtc65IM+Ez47Pgc6xICVkIM+Dz4TOv865z4fOtc6vzrEiCisKKyM6IHd0LXN0YXR1cy5jOjkxNgorbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgorbXNnc3RyICLOpc+Azr/Otc69z4zPhM63z4TOtc+CIM+Azr/PhSDOrM67zrvOsc6+zrHOvSDOsc67zrvOrCDOtM61zr0gzrXOvc63zrzOtc+Bz47OuM63zrrOsc69OiIKKworIzogd3Qtc3RhdHVzLmM6OTE4Cittc2dpZCAiU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKK21zZ3N0ciAizpHOu867zrHOs86tz4Igz4POtSDPhc+Azr/Otc69z4zPhM63z4TOtc+CIM+Az4HOv8+CIM+Fz4DOv86yzr/Ou86uOiIKKworIzogd3Qtc3RhdHVzLmM6MTAwMAorbXNnaWQgIiIKKyJEbyBub3QgbW9kaWZ5IG9yIHJlbW92ZSB0aGUgbGluZSBhYm92ZS5cbiIKKyJFdmVyeXRoaW5nIGJlbG93IGl0IHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiIKKyLOnc6xIM68zrfOvSDPhM+Bzr/PgM6/z4DOv865zq7Pg861z4TOtSDOriDOsc+GzrHOuc+Bzq3Pg861z4TOtSDPhM63zr0gz4DOsc+BzrHPgM6szr3PiSDOs8+BzrHOvM68zq4uXG4iCisizp/PhM65zrTOrs+Azr/PhM61IM66zqzPhM+JIM6xz4DPjCDOsc+Fz4TOrs69IM64zrEgzrHOs869zr/Ot864zrXOry4iCisKKyM6IHd0LXN0YXR1cy5jOjExMDEKK21zZ2lkICJZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4iCittc2dzdHIgIs6Iz4fOtc+EzrUgzrzOtyDPg8+FzrPPh8+Jzr3Otc+FzrzOrc69zrXPgiDOtM65zrHOtM+Bzr/OvM6tz4IuIgorCisjOiB3dC1zdGF0dXMuYzoxMTA0Cittc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIKK21zZ3N0ciAiICAozrTOuc6/z4HOuM+Oz4PPhM61IM+EzrnPgiDPg8+FzrPOus+Bzr/Pjc+DzrXOuc+CIM66zrHOuSDPhM+Bzq3Ovs+EzrUgXCJnaXQgY29tbWl0XCIpIgorCisjOiB3dC1zdGF0dXMuYzoxMTA2Cittc2dpZCAiICAodXNlIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiB0byBhYm9ydCB0aGUgbWVyZ2UpIgorbXNnc3RyICIiCisiICAoz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSBcImdpdCBtZXJnZSAtLWFib3J0XCIgzrPOuc6xIM69zrEgzrXOs866zrHPhM6xzrvOtc6vz4jOtc+EzrUgz4TOtyDPg8+FzrPPh8+Ozr3Otc+Fz4POtykiCisKKyM6IHd0LXN0YXR1cy5jOjExMTAKK21zZ2lkICJBbGwgY29uZmxpY3RzIGZpeGVkIGJ1dCB5b3UgYXJlIHN0aWxsIG1lcmdpbmcuIgorbXNnc3RyICLOlc+AzrnOu8+NzrjOt866zrHOvSDPjM67zrXPgiDOv865IM+Dz4XOs866z4HOv8+Nz4POtc65z4IgzrHOu867zqwgzrHOus+MzrzOsSDOus6szr3Otc+EzrUgz4PPhc6zz4fPjs69zrXPhc+DzrcuIgorCisjOiB3dC1zdGF0dXMuYzoxMTEzCittc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKK21zZ3N0ciAiICAoz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSBcImdpdCBjb21taXRcIiDOs865zrEgzr3OsSDOv867zr/Ous67zrfPgc+Oz4POtc+EzrUgz4TOtyDPg8+FzrPPh8+Ozr3Otc+Fz4POtykiCisKKyM6IHd0LXN0YXR1cy5jOjExMjIKK21zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvbi4iCittc2dzdHIgIs6Sz4HOr8+DzrrOtc+Dz4TOtSDPg8+EzrcgzrzOrc+DzrcgzrzOuc6xz4IgzrTOuc61z4HOs86xz4POr86xz4IgYW0uIgorCisjOiB3dC1zdGF0dXMuYzoxMTI1Cittc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgorbXNnc3RyICLOlyDPgM6xz4HOv8+Nz4POsSDOtM65z4zPgc64z4nPg863IM61zq/Ovc6xzrkgzrrOtc69zq4uIgorCisjOiB3dC1zdGF0dXMuYzoxMTI5Cittc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiICAozrTOuc6/z4HOuM+Oz4PPhM61IM+EzrnPgiDPg8+FzrPOus+Bzr/Pjc+DzrXOuc+CIM66zrHOuSDPhM+Bzq3Ovs+EzrUgXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKKworIzogd3Qtc3RhdHVzLmM6MTEzMQorbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgorbXNnc3RyICIiCisiICAoz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSBcImdpdCBhbSAtLXNraXBcIiDOs865zrEgzr3OsSDPgM+Bzr/Pg8+AzrXPgc6sz4POtc+EzrUgzrHPhc+Ezq4gz4TOtyDOtM65z4zPgc64z4nPg863KSIKKworIzogd3Qtc3RhdHVzLmM6MTEzMworbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKK21zZ3N0ciAiIgorIiAgKM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrUgXCJnaXQgYW0gLS1hYm9ydFwiIM6zzrnOsSDOvc6xIM6xz4DOv866zrHPhM6xz4PPhM6uz4POtc+EzrUgz4TOv869IM6xz4HPh865zrrPjCDOus67zqzOtM6/KSIKKworIzogd3Qtc3RhdHVzLmM6MTI2NAorbXNnaWQgImdpdC1yZWJhc2UtdG9kbyBpcyBtaXNzaW5nLiIKK21zZ3N0ciAizpvOtc6vz4DOtc65IM+Ezr8gZ2l0LXJlYmFzZS10b2RvLiIKKworIzogd3Qtc3RhdHVzLmM6MTI2NgorbXNnaWQgIk5vIGNvbW1hbmRzIGRvbmUuIgorbXNnc3RyICLOlM61zr0gzr/Ou86/zrrOu863z4HPjs64zrfOus61IM66zrHOvM6vzrEgzrXOvc+Ezr/Ou86uLiIKKworIzogd3Qtc3RhdHVzLmM6MTI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNvbW1hbmQgZG9uZSAoJWQgY29tbWFuZCBkb25lKToiCittc2dpZF9wbHVyYWwgIkxhc3QgY29tbWFuZHMgZG9uZSAoJWQgY29tbWFuZHMgZG9uZSk6IgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogd3Qtc3RhdHVzLmM6MTI4MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIChzZWUgbW9yZSBpbiBmaWxlICVzKSIKK21zZ3N0ciAiICAozrTOtc6vz4TOtSDPgM61z4HOuc+Dz4PPjM+EzrXPgc6xIM+Dz4TOvyDOsc+Bz4fOtc6vzr8gJXMpIgorCisjOiB3dC1zdGF0dXMuYzoxMjg1Cittc2dpZCAiTm8gY29tbWFuZHMgcmVtYWluaW5nLiIKK21zZ3N0ciAizpTOtc69IM6xz4DOv868zq3Ovc61zrkgzrrOsc68zq/OsSDOtc69z4TOv867zq4uIgorCisjOiB3dC1zdGF0dXMuYzoxMjg4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5leHQgY29tbWFuZCB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmQpOiIKK21zZ2lkX3BsdXJhbCAiTmV4dCBjb21tYW5kcyB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmRzKToiCittc2dzdHJbMF0gIs6Vz4DPjM68zrXOvc63IM61zr3PhM6/zrvOriDPgM+Bzr/PgiDOtc66z4TOrc67zrXPg863ICglZCDOtc69z4TOv867zq4gzrHPgM6/zrzOrc69zrXOuSk6IgorbXNnc3RyWzFdICLOlc+Az4zOvM61zr3Otc+CIM61zr3PhM6/zrvOrc+CIM+Az4HOv8+CIM61zrrPhM6tzrvOtc+DzrcgKCVkIM61zr3PhM6/zrvOrc+CIM6xz4DOv868zq3Ovc6/z4XOvSk6IgorCisjOiB3dC1zdGF0dXMuYzoxMjk2Cittc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHRvIHZpZXcgYW5kIGVkaXQpIgorbXNnc3RyICIiCisiICAoz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIiDOs865zrEgz4DPgc6/zrLOv867zq4gzrrOsc65IM61z4DOtc6+zrXPgc6zzrHPg86vzrEpIgorCisjOiB3dC1zdGF0dXMuYzoxMzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgorbXNnc3RyICLOkc+Fz4TOriDPhM63IM+Dz4TOuc6zzrzOriDOus6szr3Otc+EzrUgcmViYXNlIM+Ezr/OvSDOus67zqzOtM6/ICclcycgz4PPhM6/ICclcycuIgorCisjOiB3dC1zdGF0dXMuYzoxMzEzCittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgorbXNnc3RyICLOkc+Fz4TOriDPhM63IM+Dz4TOuc6zzrzOriDOus6szr3Otc+EzrUgcmViYXNlLiIKKworIzogd3Qtc3RhdHVzLmM6MTMyNgorbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgorbXNnc3RyICIgICjOtM65zr/Pgc64z47Pg8+EzrUgz4TOuc+CIM+Dz4XOs866z4HOv8+Nz4POtc65z4IgzrrOsc65IM+Ez4HOrc6+z4TOtSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKKworIzogd3Qtc3RhdHVzLmM6MTMyOAorbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKK21zZ3N0ciAiIgorIiAgKM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrUgXCJnaXQgcmViYXNlIC0tc2tpcFwiIM6zzrnOsSDOvc6xIM+Az4HOv8+Dz4DOtc+BzqzPg861z4TOtSDOsc+Fz4TOriDPhM63IM60zrnPjM+BzrjPic+DzrcpIgorCisjOiB3dC1zdGF0dXMuYzoxMzMwCittc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgorbXNnc3RyICIiCisiICAoz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIM6zzrnOsSDOvc6xIM61zr7Osc6zzqzOs861z4TOtSDPhM6/zr0gzrHPgc+HzrnOus+MIM66zrvOrM60zr8pIgorCisjOiB3dC1zdGF0dXMuYzoxMzM3Cittc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgorbXNnc3RyICIgICjOtc+AzrnOu8+NzrjOt866zrHOvSDPjM67zrXPgiDOv865IM+Dz4XOs866z4HOv8+Nz4POtc65z4I6IM+Ez4HOrc6+z4TOtSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKKworIzogd3Qtc3RhdHVzLmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgorbXNnc3RyICIiCisizpHPhc+Ezq4gz4TOtyDPg8+EzrnOs868zq4gz4TOtc68zrHPh86vzrbOtc+EzrUgzrzOuc6xIM+Fz4DOv86yzr/Ou86uIM66zrHPhM6sIM+EzrcgzrTOuc6sz4HOus61zrnOsSByZWJhc2Ugz4TOv8+FIM66zrvOrM60zr/PhSAiCisiJyVzJyDPg8+Ezr8gJyVzJy4iCisKKyM6IHd0LXN0YXR1cy5jOjEzNDYKK21zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKK21zZ3N0ciAizpHPhc+Ezq4gz4TOtyDPg8+EzrnOs868zq4gz4TOtc68zrHPh86vzrbOtc+EzrUgzrzOuc6xIM+Fz4DOv86yzr/Ou86uIM66zrHPhM6sIM+EzrcgzrTOuc6sz4HOus61zrnOsSDOtc69z4zPgiByZWJhc2UuIgorCisjOiB3dC1zdGF0dXMuYzoxMzQ5Cittc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCittc2dzdHIgIiIKKyIgICjOjM+EzrHOvSDOvyDPhs6szrrOtc67zr/PgiDOtc+BzrPOsc+Dzq/Osc+CIM+DzrHPgiDOuM6xIM61zq/Ovc6xzrkgzrrOsc64zrHPgc+Mz4IsIM+Ez4HOrc6+z4TOtSBcImdpdCByZWJhc2UgLS0iCisiY29udGludWVcIikiCisKKyM6IHd0LXN0YXR1cy5jOjEzNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKK21zZ3N0ciAiIgorIs6Rz4XPhM6uIM+Ezrcgz4PPhM65zrPOvM6uIM60zrnOv8+BzrjPjs69zrXPhM61IM68zrnOsSDPhc+Azr/Oss6/zrvOriDOus6xz4TOrCDPhM63IM60zrnOrM+BzrrOtc65zrEgcmViYXNlIM+Ezr/PhSDOus67zqzOtM6/z4UgIgorIiclcycgz4PPhM6/ICclcycuIgorCisjOiB3dC1zdGF0dXMuYzoxMzU4Cittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgorbXNnc3RyICLOkc+Fz4TOriDPhM63IM+Dz4TOuc6zzrzOriDOtM65zr/Pgc64z47Ovc61z4TOtSDOvM65zrEgz4XPgM6/zrLOv867zq4gzrrOsc+Ezqwgz4TOtyDOtM65zqzPgc66zrXOuc6xIM61zr3PjM+CIHJlYmFzZS4iCisKKyM6IHd0LXN0YXR1cy5jOjEzNjEKK21zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpIgorbXNnc3RyICIiCisiICAoz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSBcImdpdCBjb21taXQgLS1hbWVuZFwiIM6zzrnOsSDOvc6xIM+Ez4HOv8+Azr/PgM6/zrnOrs+DzrXPhM61IM+EzrfOvSDPhM+Bzq3Ph86/z4XPg86xICIKKyLPhc+Azr/Oss6/zrvOrikiCisKKyM6IHd0LXN0YXR1cy5jOjEzNjMKK21zZ2lkICIiCisiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykiCittc2dzdHIgIiIKKyIgICjPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61IFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgz4zPhM6xzr0gzr/OuSDOsc67zrvOsc6zzq3PgiDPg86xz4Igz4POsc+CICIKKyLOuc66zrHOvc6/z4DOv865zr/Pjc69KSIKKworIzogd3Qtc3RhdHVzLmM6MTM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgorbXNnc3RyICLOkc+Fz4TOriDPhM63IM+Dz4TOuc6zzrzOriDOus6szr3Otc+EzrUgzrXPgM65zrvOtc66z4TOuc66zq4gzrTOuc6xzrvOv86zzq4gz4TOt8+CIM+Fz4DOv86yzr/Ou86uz4IgJXMuIgorCisjOiB3dC1zdGF0dXMuYzoxMzc3Cittc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCittc2dzdHIgIiIKKyIgICjOtM65zr/Pgc64z47Pg8+EzrUgz4TOuc+CIM+Dz4XOs866z4HOv8+Nz4POtc65z4IgzrrOsc65IM+Ez4HOrc6+z4TOtSBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgorCisjOiB3dC1zdGF0dXMuYzoxMzgwCittc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCittc2dzdHIgIiIKKyIgICjOtc+AzrnOu8+NzrjOt866zrHOvSDPjM67zrXPgiDOv865IM+Dz4XOs866z4HOv8+Nz4POtc65z4I6IM+Ez4HOrc6+z4TOtSBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgorCisjOiB3dC1zdGF0dXMuYzoxMzgyCittc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCittc2dzdHIgIiIKKyIgICjPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61IFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiDOs865zrEgzr3OsSDOsc66z4XPgc+Oz4POtc+EzrUgz4TOt869IM61zr3Orc+BzrPOtc65zrEgIgorIs61z4DOuc67zrXOus+EzrnOus6uz4IgzrTOuc6xzrvOv86zzq7PgikiCisKKyM6IHd0LXN0YXR1cy5jOjEzOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCittc2dzdHIgIs6Rz4XPhM6uIM+Ezrcgz4PPhM65zrPOvM6uIM6xzr3Osc65z4HOtc6vz4TOtSDPhM63zr0gz4XPgM6/zrLOv867zq4gJXMuIgorCisjOiB3dC1zdGF0dXMuYzoxMzk1Cittc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgorbXNnc3RyICIgICjOtc+AzrnOu8+Nz4PPhM61IM+EzrnPgiDPg8+FzrPOus+Bzr/Pjc+DzrXOuc+CIM66zrHOuSDPhM+Bzq3Ovs+EzrUgXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCisKKyM6IHd0LXN0YXR1cy5jOjEzOTgKK21zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCittc2dzdHIgIiAgKM61z4DOuc67z43OuM63zrrOsc69IM+MzrvOtc+CIM6/zrkgz4PPhc6zzrrPgc6/z43Pg861zrnPgjogz4TPgc6tzr7PhM61IFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgorCisjOiB3dC1zdGF0dXMuYzoxNDAwCittc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSByZXZlcnQgb3BlcmF0aW9uKSIKK21zZ3N0ciAiIgorIiAgKM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrUgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiDOs865zrEgzr3OsSDOtc6zzrrOsc+EzrHOu861zq/PiM61z4TOtSDPhM63IM60zrnOtc+BzrPOsc+Dzq/OsSAiCisicmV2ZXJ0KSIKKworIzogd3Qtc3RhdHVzLmM6MTQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcsIHN0YXJ0ZWQgZnJvbSBicmFuY2ggJyVzJy4iCittc2dzdHIgIs6Rz4XPhM6uIM+Ezrcgz4PPhM65zrPOvM6uIM60zrnPh86/z4TOv868zrXOr8+EzrUsIM6tzrPOuc69zrUgzrHPgc+Hzq4gzrHPgM+MIM+Ezr/OvSDOus67zqzOtM6/ICclcycuIgorCisjOiB3dC1zdGF0dXMuYzoxNDE0Cittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLiIKK21zZ3N0ciAizpHPhc+Ezq4gz4TOtyDPg8+EzrnOs868zq4gzrTOuc+Hzr/PhM6/zrzOtc6vz4TOtS4iCisKKyM6IHd0LXN0YXR1cy5jOjE0MTcKK21zZ2lkICIgICh1c2UgXCJnaXQgYmlzZWN0IHJlc2V0XCIgdG8gZ2V0IGJhY2sgdG8gdGhlIG9yaWdpbmFsIGJyYW5jaCkiCittc2dzdHIgIiIKKyIgICjPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61IFwiZ2l0IGJpc2VjdCByZXNldFwiIM6zzrnOsSDOvc6xIM61z4DOuc+Dz4TPgc6tz4jOtc+EzrUgz4PPhM6/zr0gzrHPgc+HzrnOus+MIM66zrvOrM60zr8pIgorCisjOiB3dC1zdGF0dXMuYzoxNjE3Cittc2dpZCAiT24gYnJhbmNoICIKK21zZ3N0ciAizqPPhM6/zr0gzrrOu86szrTOvyAiCisKKyM6IHd0LXN0YXR1cy5jOjE2MjQKK21zZ2lkICJpbnRlcmFjdGl2ZSByZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgorbXNnc3RyICLOtc66z4TOtc67zrXOr8+EzrHOuSDOtM65zrHOtM+BzrHPg8+EzrnOus+MIHJlYmFzZSwgz4DOrM69z4kgz4PPhM6/ICIKKworIzogd3Qtc3RhdHVzLmM6MTYyNgorbXNnaWQgInJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCittc2dzdHIgIs61zrrPhM61zrvOtc6vz4TOsc65IHJlYmFzZSwgz4DOrM69z4kgz4PPhM6/ICIKKworIzogd3Qtc3RhdHVzLmM6MTYzMQorbXNnaWQgIkhFQUQgZGV0YWNoZWQgYXQgIgorbXNnc3RyICLOkc+Azr/Pg8+Fzr3OtM61zrTOtc68zq3Ovc6/IEhFQUQgz4PPhM6/ICIKKworIzogd3Qtc3RhdHVzLmM6MTYzMworbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCittc2dzdHIgIs6Rz4DOv8+Dz4XOvc60zrXOtM61zrzOrc69zr8gSEVBRCDOsc+Az4wgz4TOvyAiCisKKyM6IHd0LXN0YXR1cy5jOjE2MzYKK21zZ2lkICJOb3QgY3VycmVudGx5IG9uIGFueSBicmFuY2guIgorbXNnc3RyICLOlM61zr0gzrXOr8+Dz4TOtSDOsc+Fz4TOriDPhM63IM+Dz4TOuc6zzrzOriDPg861IM66zrHOvc6tzr3Osc69IM66zrvOrM60zr8uIgorCisjOiB3dC1zdGF0dXMuYzoxNjUzCittc2dpZCAiSW5pdGlhbCBjb21taXQiCittc2dzdHIgIs6Rz4HPh865zrrOriDPhc+Azr/Oss6/zrvOriIKKworIzogd3Qtc3RhdHVzLmM6MTY1NAorbXNnaWQgIk5vIGNvbW1pdHMgeWV0IgorbXNnc3RyICLOlM61zr0gz4XPgM6sz4HPh86/z4XOvSDOsc66z4zOvM6xIM+Fz4DOv86yzr/Ou86tz4IiCisKKyM6IHd0LXN0YXR1cy5jOjE2NjgKK21zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCittc2dzdHIgIs6czrcgz4DOsc+BzrHOus6/zrvOv8+FzrjOv8+NzrzOtc69zrEgzrHPgc+HzrXOr86xIgorCisjOiB3dC1zdGF0dXMuYzoxNjcwCittc2dpZCAiSWdub3JlZCBmaWxlcyIKK21zZ3N0ciAizpHPgc+HzrXOr86xIM+Azr/PhSDPgM6xz4HOsc6yzrvOrc+Azr/Ovc+EzrHOuSIKKworIzogd3Qtc3RhdHVzLmM6MTY3NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gZW51bWVyYXRlIHVudHJhY2tlZCBmaWxlcy4gJ3N0YXR1cyAtdW5vJ1xuIgorIm1heSBzcGVlZCBpdCB1cCwgYnV0IHlvdSBoYXZlIHRvIGJlIGNhcmVmdWwgbm90IHRvIGZvcmdldCB0byBhZGRcbiIKKyJuZXcgZmlsZXMgeW91cnNlbGYgKHNlZSAnZ2l0IGhlbHAgc3RhdHVzJykuIgorbXNnc3RyICIiCisizpcgzrHPgM6xz4HOr864zrzOt8+Dzrcgz4TPic69IM68zrcgz4DOsc+BzrHOus6/zrvOv8+FzrjOv8+NzrzOtc69z4nOvSDOsc+Bz4fOtc6vz4nOvSDPgM6uz4HOtSAlLjJmIM60zrXPhc+EzrXPgc+MzrvOtc+Az4TOsS4gzqTOvyAiCisiJ3N0YXR1cyAtdW5vJ1xuIgorIs68z4DOv8+BzrXOryDOvc6xIM+EzrfOvSDOtc+AzrnPhM6xz4fPjc69zrXOuSwgzrHOu867zqwgz4DPgc6tz4DOtc65IM69zrEgz4DPgc6/z4POrc6+zrXPhM61IM69zrEgzrzOt869IM6+zrXPh86sz4POtc+EzrUgzr3OsSAiCisiz4DPgc6/z4POuM6tz4POtc+EzrVcbiIKKyLOtc+DzrXOr8+CIM+EzrEgzr3Orc6xIM6xz4HPh861zq/OsSAozrTOtc6vz4TOtSDPhM6/ICdnaXQgaGVscCBzdGF0dXMnKS4iCisKKyM6IHd0LXN0YXR1cy5jOjE2ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKK21zZ3N0ciAizpzOtyDPgM6xz4HOsc66zr/Ou86/z4XOuM6/z43OvM61zr3OsSDOsc+Bz4fOtc6vzrEgz4DOv8+FIM60zrXOvSDOrc6zzrnOvc61IM+AzrHPgc6szrjOtc+Dzq4gz4TOv8+Fz4IlcyIKKworIzogd3Qtc3RhdHVzLmM6MTY4MgorbXNnaWQgIiAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCittc2dzdHIgIiIKKyIgKM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrUgz4TOt869IM61z4DOuc67zr/Os86uIC11IM6zzrnOsSDOvc6xIM6zzq/Ovc61zrkgz4DPgc6/zrLOv867zq4gz4TPic69IM68zrcgIgorIs+AzrHPgc6xzrrOv867zr/Phc64zr/Pjc68zrXOvc+Jzr0gzrHPgc+HzrXOr8+Jzr0pIgorCisjOiB3dC1zdGF0dXMuYzoxNjg4Cittc2dpZCAiTm8gY2hhbmdlcyIKK21zZ3N0ciAizpTOtc69IM+Fz4DOrM+Bz4fOv8+Fzr0gzrHOu867zrHOs86tz4IiCisKKyM6IHd0LXN0YXR1cy5jOjE2OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSBcImdpdCBhZGRcIiBhbmQvb3IgXCJnaXQgY29tbWl0IC1hXCIpXG4iCittc2dzdHIgIiIKKyLOtM61zr0gz4DPgc6/z4PPhM6tzrjOt866zrHOvSDOsc67zrvOsc6zzq3PgiDPg8+EzrfOvSDPhc+Azr/Oss6/zrvOriAoz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSBcImdpdCBhZGRcIiDOus6xzrkvzq4gXCJnaXQgIgorImNvbW1pdCAtYVwiKVxuIgorCisjOiB3dC1zdGF0dXMuYzoxNjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCittc2dzdHIgIs60zrXOvSDPgM+Bzr/Pg8+Ezq3OuM63zrrOsc69IM6xzrvOu86xzrPOrc+CIM+Dz4TOt869IM+Fz4DOv86yzr/Ou86uXG4iCisKKyM6IHd0LXN0YXR1cy5jOjE2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKKyJ0cmFjaylcbiIKK21zZ3N0ciAiIgorIs60zrXOvSDPgM+Bzr/Pg8+Ezq3OuM63zrrOtSDPhM6vz4DOv8+EzrEgz4PPhM63zr0gz4XPgM6/zrLOv867zq4gzrHOu867zqwgz4XPgM6sz4HPh86/z4XOvSDOvM63IM+AzrHPgc6xzrrOv867zr/Phc64zr/Pjc68zrXOvc6xIM6xz4HPh861zq/OsSAiCisiKM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrUgXCJnaXQgYWRkXCIgzrPOuc6xIM69zrEgz4DOsc+BzrHOus6/zrvOv8+FzrjOrs+DzrXPhM61KVxuIgorCisjOiB3dC1zdGF0dXMuYzoxNzAyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudFxuIgorbXNnc3RyICIiCisizrTOtc69IM+Az4HOv8+Dz4TOrc64zrfOus61IM+Ezq/PgM6/z4TOsSDPg8+EzrfOvSDPhc+Azr/Oss6/zrvOriDOsc67zrvOrCDPhc+AzqzPgc+Hzr/Phc69IM68zrcgz4DOsc+BzrHOus6/zrvOv8+FzrjOv8+NzrzOtc69zrEgzrHPgc+HzrXOr86xXG4iCisKKyM6IHd0LXN0YXR1cy5jOjE3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCittc2dzdHIgIiIKKyLOtM61zr0gz4XPgM6sz4HPh861zrkgz4TOr8+Azr/PhM6xIM+Az4HOv8+CIM+Fz4DOv86yzr/Ou86uICjOtM63zrzOuc6/z4XPgc6zzq7Pg8+EzrUvzrHOvc+EzrnOs8+BzqzPiM+EzrUgzrHPgc+HzrXOr86xIM66zrHOuSAiCisiz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSBcImdpdCBhZGRcIiDOs865zrEgzr3OsSDPgM6xz4HOsc66zr/Ou86/z4XOuM6uz4POtc+EzrUpXG4iCisKKyM6IHd0LXN0YXR1cy5jOjE3MDggd3Qtc3RhdHVzLmM6MTcxMworIywgYy1mb3JtYXQKK21zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgorbXNnc3RyICLOtM61zr0gz4XPgM6sz4HPh861zrkgz4TOr8+Azr/PhM6xIM+Az4HOv8+CIM+Fz4DOv86yzr/Ou86uXG4iCisKKyM6IHd0LXN0YXR1cy5jOjE3MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKK21zZ3N0ciAiIgorIs60zrXOvSDPhc+AzqzPgc+HzrXOuSDPhM6vz4DOv8+EzrEgz4DPgc6/z4Igz4XPgM6/zrLOv867zq4gKM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrUgLXUgzrPOuc6xIM+Az4HOv86yzr/Ou86uIM+Ez4nOvSAiCisizrzOt8+AzrHPgc6xzrrOv867zr/Phc64zr/Pjc68zrXOvc+Jzr0gzrHPgc+HzrXOr8+Jzr0pXG4iCisKKyM6IHd0LXN0YXR1cy5jOjE3MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhblxuIgorbXNnc3RyICLOtM61zr0gz4XPgM6sz4HPh861zrkgz4TOr8+Azr/PhM6xIM+Az4HOv8+CIM+Fz4DOv86yzr/Ou86uLCDPhM6/IM60zq3Ovc+Ez4HOvyDOtc+BzrPOsc+Dzq/Osc+CIM61zq/Ovc6xzrkgzrrOsc64zrHPgc+MXG4iCisKKyM6IHd0LXN0YXR1cy5jOjE4MjgKK21zZ2lkICJObyBjb21taXRzIHlldCBvbiAiCittc2dzdHIgIs6UzrXOvSDPhc+AzqzPgc+Hzr/Phc69IM6xzrrPjM68zrEgz4XPgM6/zrLOv867zq3PgiDPg8+Ezr8gIgorCisjOiB3dC1zdGF0dXMuYzoxODMyCittc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKK21zZ3N0ciAiSEVBRCAoz4fPic+Bzq/PgiDOus67zqzOtM6/KSIKKworIzogd3Qtc3RhdHVzLmM6MTg2MworbXNnaWQgImRpZmZlcmVudCIKK21zZ3N0ciAizrTOuc6xz4bOv8+BzrXPhM65zrrPjCIKKworIzogd3Qtc3RhdHVzLmM6MTg2NSB3dC1zdGF0dXMuYzoxODczCittc2dpZCAiYmVoaW5kICIKK21zZ3N0ciAiz4DOr8+Dz4kgIgorCisjOiB3dC1zdGF0dXMuYzoxODY4IHd0LXN0YXR1cy5jOjE4NzEKK21zZ2lkICJhaGVhZCAiCittc2dzdHIgIs68z4DPgc6/z4PPhM6sICIKKworIy4gVFJBTlNMQVRPUlM6IHRoZSBhY3Rpb24gaXMgZS5nLiAicHVsbCB3aXRoIHJlYmFzZSIKKyM6IHd0LXN0YXR1cy5jOjIzODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90ICVzOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAizrTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM+MIM69zrEgzrPOr869zrXOuSAlczogzojPh861z4TOtSDOvM63IM+Az4HOv861z4TOv865zrzOsc+DzrzOrc69zrXPgiDOsc67zrvOsc6zzq3Pgi4iCisKKyM6IHd0LXN0YXR1cy5jOjIzOTIKK21zZ2lkICJhZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIs61z4DOuc+Az4HPjM+DzrjOtc+EzrEsIM+Ezr8gzrXPhc+BzrXPhM6uz4HOuc+MIM+DzrHPgiDPgM61z4HOuc6tz4fOtc65IM68zrcgz4XPgM6/zrLOtc6yzrvOt868zq3Ovc61z4IgzrHOu867zrHOs86tz4IuIgorCisjOiB3dC1zdGF0dXMuYzoyMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCAlczogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorIs60zrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TPjCDOvc6xIM6zzq/Ovc61zrkgJXM6IM6kzr8gzrXPhc+BzrXPhM6uz4HOuc+MIM+DzrHPgiDPgM61z4HOuc6tz4fOtc65IM68zrcgz4XPgM6/zrLOtc6yzrvOt868zq3Ovc61z4IgIgorIs6xzrvOu86xzrPOrc+CLiIKKworIzogYnVpbHRpbi9hZGQuYzoyNQorbXNnaWQgImdpdCBhZGQgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgorbXNnc3RyICJnaXQgYWRkIFs8zrXPgM65zrvOv86zzq3Pgj5dIFstLV0gPM+AzrXPgc65zrPPgc6xz4bOriDOtM65zrHOtM+Bzr/OvM6uz4I+Li4uIgorCisjOiBidWlsdGluL2FkZC5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzo4OSBidWlsdGluL2NvbW1pdC5jOjI4NQorbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjk5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92ZSAnJXMnXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzoxNzQKK21zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjIzNCBidWlsdGluL3Jldi1wYXJzZS5jOjg5NgorbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjI0NQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKK21zZ3N0ciAizpTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TPjCDPhM6/IM6szr3Ov865zrPOvM6xIM+Ezr/PhSAnJXMnIM6zzrnOsSDOtc6zzrPPgc6xz4bOri4iCisKKyM6IGJ1aWx0aW4vYWRkLmM6MjQ5Cittc2dpZCAiQ291bGQgbm90IHdyaXRlIHBhdGNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MjUyCittc2dpZCAiZWRpdGluZyBwYXRjaCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHN0YXQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjI1NworbXNnaWQgIkVtcHR5IHBhdGNoLiBBYm9ydGVkLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjI2MgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgYXBwbHkgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjI3MAorbXNnaWQgIlRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjI5MCBidWlsdGluL2NsZWFuLmM6OTA4IGJ1aWx0aW4vZmV0Y2guYzoxMzcgYnVpbHRpbi9tdi5jOjEyNAorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NiBidWlsdGluL3B1bGwuYzoyMTQgYnVpbHRpbi9wdXNoLmM6NTYwCisjOiBidWlsdGluL3JlbW90ZS5jOjEzNDUgYnVpbHRpbi9ybS5jOjI0MSBidWlsdGluL3NlbmQtcGFjay5jOjE2NQorbXNnaWQgImRyeSBydW4iCittc2dzdHIgIs60zr/Ous65zrzOriIKKworIzogYnVpbHRpbi9hZGQuYzoyOTMKK21zZ2lkICJpbnRlcmFjdGl2ZSBwaWNraW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6Mjk0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzA0IGJ1aWx0aW4vcmVzZXQuYzozMDYKK21zZ2lkICJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIKK21zZ3N0ciAizr3OsSDOs86vzr3Otc65IM60zrnOsc60z4HOsc+Dz4TOuc66zq4gzrXPgM65zrvOv86zzq4gzrHOu867zrHOs8+Ozr0iCisKKyM6IGJ1aWx0aW4vYWRkLmM6Mjk1Cittc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6Mjk2Cittc2dpZCAiYWxsb3cgYWRkaW5nIG90aGVyd2lzZSBpZ25vcmVkIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6Mjk3Cittc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzoyOTgKK21zZ2lkICJyZW5vcm1hbGl6ZSBFT0wgb2YgdHJhY2tlZCBmaWxlcyAoaW1wbGllcyAtdSkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzoyOTkKK21zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBwYXRoIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzozMDAKK21zZ2lkICJhZGQgY2hhbmdlcyBmcm9tIGFsbCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzozMDMKK21zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjMwNQorbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjMwNgorbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzozMDcKK21zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzozMDkgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTEKK21zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjMxMQorbXNnaWQgIndhcm4gd2hlbiBhZGRpbmcgYW4gZW1iZWRkZWQgcmVwb3NpdG9yeSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjMyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91J3ZlIGFkZGVkIGFub3RoZXIgZ2l0IHJlcG9zaXRvcnkgaW5zaWRlIHlvdXIgY3VycmVudCByZXBvc2l0b3J5LlxuIgorIkNsb25lcyBvZiB0aGUgb3V0ZXIgcmVwb3NpdG9yeSB3aWxsIG5vdCBjb250YWluIHRoZSBjb250ZW50cyBvZlxuIgorInRoZSBlbWJlZGRlZCByZXBvc2l0b3J5IGFuZCB3aWxsIG5vdCBrbm93IGhvdyB0byBvYnRhaW4gaXQuXG4iCisiSWYgeW91IG1lYW50IHRvIGFkZCBhIHN1Ym1vZHVsZSwgdXNlOlxuIgorIlxuIgorIlx0Z2l0IHN1Ym1vZHVsZSBhZGQgPHVybD4gJXNcbiIKKyJcbiIKKyJJZiB5b3UgYWRkZWQgdGhpcyBwYXRoIGJ5IG1pc3Rha2UsIHlvdSBjYW4gcmVtb3ZlIGl0IGZyb20gdGhlXG4iCisiaW5kZXggd2l0aDpcbiIKKyJcbiIKKyJcdGdpdCBybSAtLWNhY2hlZCAlc1xuIgorIlxuIgorIlNlZSBcImdpdCBoZWxwIHN1Ym1vZHVsZVwiIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiIgorIs6gz4HOv8+DzrjOrc+DzrHPhM61IM6tzr3OsSDOrM67zrvOvyDOsc+Azr/OuM61z4TOrs+BzrnOvyBnaXQgzrzOrc+DzrEgz4PPhM6/IM+Ez4HOrc+Hzr/OvSDOsc+Azr/OuM61z4TOrs+BzrnOvy5cbiIKKyLOn865IM66zrvPjs69zr/OuSDPhM6/z4UgzrXOvs+Oz4TOtc+Bzr/PhSDOsc+Azr/OuM61z4TOt8+Bzq/Ov8+FIM60zrUgzrjOsSDPgM61z4HOuc6tz4fOv8+Fzr0gz4TOsSDPgM61z4HOuc61z4fPjM68zrXOvc6xIM+Ezr/PhVxuIgorIs61zr3Pg8+JzrzOsc+Ez4nOvM6tzr3Ov8+FIM6xz4DOv864zrXPhM63z4HOr86/z4UgzrrOsc65IM60zrXOvSDOuM6xIM6zzr3Pic+Bzq/Ots6/z4XOvSDPgM+Oz4Igzr3OsSDPhM6/IM6yz4HOv8+Fzr0uXG4iCisizpHOvSDOuM6tzrvOsc+EzrUgzr3OsSDPgM+Bzr/Pg864zq3Pg861z4TOtSDOvM65zrEgz4XPgM6/zrXOvc+Mz4TOt8+EzrEgc3VibW9kdWxlLCDPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61OlxuIgorIlxuIgorIlx0Z2l0IHN1Ym1vZHVsZSBhZGQgPHVybD4gJXNcbiIKKyJcbiIKKyLOkc69IM+Az4HOv8+DzrjOrc+DzrHPhM61IM6xz4XPhM6uIM+EzrcgzrTOuc6xzrTPgc6/zrzOriDOus6xz4TOrCDOu86szrjOv8+CLCDOvM+Azr/Pgc61zq/PhM61IM69zrEgz4TOt869IM6xz4bOsc65z4HOrc+DzrXPhM61IM6xz4DPjCAiCisiz4TOv1xuIgorIs61z4XPgc61z4TOrs+BzrnOvyDOvM61OlxuIgorIlxuIgorIlx0Z2l0IHJtIC0tY2FjaGVkICVzXG4iCisiXG4iCisizpTOtc6vz4TOtSBcImdpdCBoZWxwIHN1Ym1vZHVsZVwiIM6zzrnOsSDPgM61z4HOuc+Dz4PPjM+EzrXPgc61z4Igz4DOu863z4HOv8+Gzr/Pgc6vzrXPgi4iCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzU0CisjLCBjLWZvcm1hdAorbXNnaWQgImFkZGluZyBlbWJlZGRlZCBnaXQgcmVwb3NpdG9yeTogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjM4MAorbXNnaWQgImFkZGluZyBmaWxlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzo0MTgKK21zZ2lkICItQSBhbmQgLXUgYXJlIG11dHVhbGx5IGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjQyNQorbXNnaWQgIk9wdGlvbiAtLWlnbm9yZS1taXNzaW5nIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWRyeS1ydW4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1jaG1vZCBwYXJhbSAnJXMnIG11c3QgYmUgZWl0aGVyIC14IG9yICt4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdGhpbmcgc3BlY2lmaWVkLCBub3RoaW5nIGFkZGVkLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzozNDgKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgYXV0aG9yIHNjcmlwdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgd2FzIGRlbGV0ZWQgYnkgdGhlIGFwcGx5cGF0Y2gtbXNnIGhvb2siCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJNYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjUxMAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6NTM2Cittc2dpZCAiZnNlZWsgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIHBhdGNoICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjc4OQorbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzo4MzcKK21zZ2lkICJpbnZhbGlkIHRpbWVzdGFtcCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6ODQyIGJ1aWx0aW4vYW0uYzo4NTQKK21zZ2lkICJpbnZhbGlkIERhdGUgbGluZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6ODQ5Cittc2dpZCAiaW52YWxpZCB0aW1lem9uZSBvZmZzZXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjk0MgorbXNnaWQgIlBhdGNoIGZvcm1hdCBkZXRlY3Rpb24gZmFpbGVkLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6OTQ3IGJ1aWx0aW4vY2xvbmUuYzo0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKK21zZ3N0ciAizrHPgM6tz4TPhc+HzrUgzrcgzrTOt868zrnOv8+Fz4HOs86vzrEgz4TOv8+FIM+GzrHOus6tzrvOv8+FICclcyciCisKKyM6IGJ1aWx0aW4vYW0uYzo5NTIKK21zZ2lkICJGYWlsZWQgdG8gc3BsaXQgcGF0Y2hlcy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjEwODIgYnVpbHRpbi9jb21taXQuYzozNzEKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgaW5kZXggZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MTA5NgorIywgYy1mb3JtYXQKK21zZ2lkICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiJXMgLS1jb250aW51ZVwiLiIKK21zZ3N0ciAizozPhM6xzr0gzq3Ph861z4TOtSDOtc+AzrnOu8+Nz4POtc65IM6xz4XPhM+MIM+Ezr8gz4DPgc+MzrLOu863zrzOsSwgz4TPgc6tzr7PhM61IFwiJXMgLS1jb250aW51ZVwiLiIKKworIzogYnVpbHRpbi9hbS5jOjEwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcIiVzIC0tc2tpcFwiIGluc3RlYWQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoxMDk4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuIFwiJXMgLS1hYm9ydFwiLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MTE4MQorbXNnaWQgIlBhdGNoIHNlbnQgd2l0aCBmb3JtYXQ9Zmxvd2VkOyBzcGFjZSBhdCB0aGUgZW5kIG9mIGxpbmVzIG1pZ2h0IGJlIGxvc3QuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoxMjA5Cittc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoxMjc1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJS4qcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MTI5NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNDkzCittc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyBuZWNlc3NhcnkgYmxvYnMgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKK21zZ3N0ciAiIgorIs6bzrXOr8+Azr/Phc69IM+EzrEgzrHOvc6xzrPOus6xzq/OsSBibG9iIM6xz4DPjCDPhM6/IM6xz4DOv864zrXPhM6uz4HOuc6/IM6zzrnOsSDOvc6xIM6xzrrOv867zr/Phc64zrfOuM61zq8gzrcgzrXOvc6xzrvOu86xzrrPhM65zrrOriAiCisiz4TPgc65z4DOu86uz4Igz4PPhc6zz4fPjs69zrXPhc+DzrfPgi4iCisKKyM6IGJ1aWx0aW4vYW0uYzoxNDk1Cittc2dpZCAiVXNpbmcgaW5kZXggaW5mbyB0byByZWNvbnN0cnVjdCBhIGJhc2UgdHJlZS4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MTUxNAorbXNnaWQgIiIKKyJEaWQgeW91IGhhbmQgZWRpdCB5b3VyIHBhdGNoP1xuIgorIkl0IGRvZXMgbm90IGFwcGx5IHRvIGJsb2JzIHJlY29yZGVkIGluIGl0cyBpbmRleC4iCittc2dzdHIgIiIKKyLOlc+AzrXOvs61z4HOs86xz4PPhM6uzrrOsc+EzrUgzrzOtSDPhM6/IM+Hzq3Pgc65IM+EzrcgzrTOuc+Mz4HOuM+Jz4POriDPg86xz4I7XG4iCisizpTOtc69IM61z4bOsc+BzrzPjM62zrXPhM6xzrkgz4PPhM6xIGJsb2Igz4DOv8+FIM61zq/Ovc6xzrkgzrrOsc+EzrHOs861zrPPgc6xzrzOvM6tzr3OsSDPg8+Ezr8gzrXPhc+BzrXPhM6uz4HOuc+MIM+Ezr/PhS4iCisKKyM6IGJ1aWx0aW4vYW0uYzoxNTIwCittc2dpZCAiRmFsbGluZyBiYWNrIHRvIHBhdGNoaW5nIGJhc2UgYW5kIDMtd2F5IG1lcmdlLi4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNTQ2Cittc2dpZCAiRmFpbGVkIHRvIG1lcmdlIGluIHRoZSBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MTU3OAorbXNnaWQgImFwcGx5aW5nIHRvIGFuIGVtcHR5IGhpc3RvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjE2MjQgYnVpbHRpbi9hbS5jOjE2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlc3VtZTogJXMgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNjQ0Cittc2dpZCAiY2Fubm90IGJlIGludGVyYWN0aXZlIHdpdGhvdXQgc3RkaW4gY29ubmVjdGVkIHRvIGEgdGVybWluYWwuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNjQ5Cittc2dpZCAiQ29tbWl0IEJvZHkgaXM6IgorbXNnc3RyICLOpM6/IM+AzrXPgc65zrXPh8+MzrzOtc69zr8gz4TOt8+CIM+Fz4DOv86yzr/Ou86uz4IgzrXOr869zrHOuToiCisKKyMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbeV0sIFtuXSwgW2VdLCBbdl0gYW5kIFthXQorIy4gaW4geW91ciB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoCisjLiBpbnB1dCBhdCB0aGlzIHBvaW50LgorIy4KKyM6IGJ1aWx0aW4vYW0uYzoxNjU5Cittc2dpZCAiQXBwbHk/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGw6ICIKK21zZ3N0ciAizp3OsSDOs86vzr3Otc65IM61z4bOsc+BzrzOv86zzq47IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGw6ICIKKworIzogYnVpbHRpbi9hbS5jOjE3MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlydHkgaW5kZXg6IGNhbm5vdCBhcHBseSBwYXRjaGVzIChkaXJ0eTogJXMpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNzQ5IGJ1aWx0aW4vYW0uYzoxODE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGx5aW5nOiAlLipzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNzY2Cittc2dpZCAiTm8gY2hhbmdlcyAtLSBQYXRjaCBhbHJlYWR5IGFwcGxpZWQuIgorbXNnc3RyICLOms6xzrjPjM67zr/PhSDOsc67zrvOsc6zzq3PgiAtLSDOiM+HzrXOuSDOs86vzr3Otc65IM6uzrTOtyDOtc+GzrHPgc68zr/Os86uIM+EzrfPgiDOtM65z4zPgc64z4nPg863z4IuIgorCisjOiBidWlsdGluL2FtLmM6MTc3MgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXRjaCBmYWlsZWQgYXQgJXMgJS4qcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MTc3NgorbXNnaWQgIlVzZSAnZ2l0IGFtIC0tc2hvdy1jdXJyZW50LXBhdGNoJyB0byBzZWUgdGhlIGZhaWxlZCBwYXRjaCIKK21zZ3N0ciAiIgorIs6nz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrUgJ2dpdCBhbSAtLXNob3ctY3VycmVudC1wYXRjaCcgzrPOuc6xIM69zrEgzrTOtc6vz4TOtSDPhM63IM60zrnPjM+BzrjPic+Dzrcgz4DOv8+FICIKKyLOsc+Azq3PhM+Fz4fOtSIKKworIzogYnVpbHRpbi9hbS5jOjE4MjAKK21zZ2lkICIiCisiTm8gY2hhbmdlcyAtIGRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/XG4iCisiSWYgdGhlcmUgaXMgbm90aGluZyBsZWZ0IHRvIHN0YWdlLCBjaGFuY2VzIGFyZSB0aGF0IHNvbWV0aGluZyBlbHNlXG4iCisiYWxyZWFkeSBpbnRyb2R1Y2VkIHRoZSBzYW1lIGNoYW5nZXM7IHlvdSBtaWdodCB3YW50IHRvIHNraXAgdGhpcyBwYXRjaC4iCittc2dzdHIgIiIKKyLOms6xzrjPjM67zr/PhSDOsc67zrvOsc6zzq3PgiAtIM6+zrXPh86sz4POsc+EzrUgzr3OsSDPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4POtc+EzrUgz4TOvyAnZ2l0IGFkZCc7XG4iCisizpHOvSDOtM61zr0gzq3Ph861zrkgzrHPgM6/zrzOtc6vzr3Otc65IM+Ezq/PgM6/z4TOsSDOs865zrEgz4DPgc6/zrXPhM6/zrnOvM6xz4POr86xLCDOvM6szrvOu86/zr0gzrrOrM+EzrkgzqzOu867zr8gzq3Ph861zrlcbiIKKyLOrs60zrcgzrXOuc+DzrHOs86szrPOtc65IM+EzrnPgiDOr860zrnOtc+CIM6xzrvOu86xzrPOrc+CLCDOvM+Azr/Pgc61zq8gzr3OsSDOuM6tzrvOtc+EzrUgzr3OsSDPgM+Bzr/Pg8+AzrXPgc6sz4POtc+EzrUgzrHPhc+Ezq4gz4TOtyAiCisizrTOuc+Mz4HOuM+Jz4POty4iCisKKyM6IGJ1aWx0aW4vYW0uYzoxODI3Cittc2dpZCAiIgorIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCisiWW91IHNob3VsZCAnZ2l0IGFkZCcgZWFjaCBmaWxlIHdpdGggcmVzb2x2ZWQgY29uZmxpY3RzIHRvIG1hcmsgdGhlbSBhcyAiCisic3VjaC5cbiIKKyJZb3UgbWlnaHQgcnVuIGBnaXQgcm1gIG9uIGEgZmlsZSB0byBhY2NlcHQgXCJkZWxldGVkIGJ5IHRoZW1cIiBmb3IgaXQuIgorbXNnc3RyICIiCisizojPh861z4TOtSDOsc66z4zOvM6xIM68zrcgz4PPhc6zz4fPic69zrXPhc68zq3Ovc61z4IgzrTOuc6xzrTPgc6/zrzOrc+CIM+Dz4TOvyDOtc+Fz4HOtc+Ezq7Pgc65z4wgz4POsc+CLlxuIgorIs6YzrEgz4DPgc6tz4DOtc65IM69zrEgz4DPgc6/z4POuM6tz4POtc+EzrUgzrzOtSAnZ2l0IGFkZCcgzrrOrM64zrUgzrHPgc+HzrXOr86/IM+Azr/PhSDOrc+HzrXOuSDOtc+AzrnOu8+FzrzOrc69zrXPgiAiCisiz4PPhc6zzrrPgc6/z43Pg861zrnPgiDOs865zrEgzr3OsSDPhM6/IM61z4DOuc+DzrfOvM6szr3Otc+EzrUuXG4iCisizpzPgM6/z4HOtc6vz4TOtSDOvc6xIM+Ez4HOrc6+zrXPhM61IGBnaXQgcm1gIM+DzrUgzq3Ovc6xIM6xz4HPh861zq/OvyDOs865zrEgzr3OsSDOsc+Azr/OtM61z4fOuM61zq/PhM61IM6zzrnOsSDOsc+Fz4TPjCDPgM+Jz4IgIgorIlwizrTOuc6xzrPPgc6sz4bOt866zrUgzrHPgM+MIM6xz4XPhM6/z43PglwiLiIKKworIzogYnVpbHRpbi9hbS5jOjE5MzQgYnVpbHRpbi9hbS5jOjE5MzggYnVpbHRpbi9hbS5jOjE5NTAgYnVpbHRpbi9yZXNldC5jOjMyOQorIzogYnVpbHRpbi9yZXNldC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgorbXNnc3RyICLOlM61zr0gzq7PhM6xzr0gzrTPhc69zrHPhM6uIM63IM6xzr3OrM67z4XPg863IM+Ezr/PhSDOsc69z4TOuc66zrXOuc68zq3Ovc6/z4UgJyVzJy4iCisKKyM6IGJ1aWx0aW4vYW0uYzoxOTg2Cittc2dpZCAiZmFpbGVkIHRvIGNsZWFuIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMDMwCittc2dpZCAiIgorIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRCBzaW5jZSB0aGUgbGFzdCAnYW0nIGZhaWx1cmUuXG4iCisiTm90IHJld2luZGluZyB0byBPUklHX0hFQUQiCittc2dzdHIgIiIKKyLOps6xzq/Ovc61z4TOsc65IM+Az4nPgiDOvM61z4TOsc66zrnOvc6uz4POsc+EzrUgz4TOvyBIRUFEIM6xz4DPjCDPhM63IM+Dz4TOuc6zzrzOriDPhM63z4Igz4TOtc67zrXPhc+EzrHOr86xz4IgzrHPgM6/z4TPhc+Hzq/Osc+CICIKKyInYW0nLlxuIgorIs6UzrUgzrPOr869zrXPhM6xzrkgzrPPjc+BzrnPg868zrEgz4DPgc6/z4Igz4TOsSDPgM6vz4PPiSDPg8+Ezr8gT1JJR19IRUFEIgorCisjOiBidWlsdGluL2FtLmM6MjEyMworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAtLXBhdGNoLWZvcm1hdDogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjIxNTkKK21zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKK21zZ3N0ciAiZ2l0IGFtIFs8zrXPgM65zrvOv86zzq3Pgj5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KS4uLl0iCisKKyM6IGJ1aWx0aW4vYW0uYzoyMTYwCittc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCkiCittc2dzdHIgImdpdCBhbSBbPM61z4DOuc67zr/Os86tz4I+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgorCisjOiBidWlsdGluL2FtLmM6MjE2NgorbXNnaWQgInJ1biBpbnRlcmFjdGl2ZWx5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMTY4Cittc2dpZCAiaGlzdG9yaWNhbCBvcHRpb24gLS0gbm8tb3AiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjIxNzAKK21zZ2lkICJhbGxvdyBmYWxsIGJhY2sgb24gM3dheSBtZXJnaW5nIGlmIG5lZWRlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MjE3MSBidWlsdGluL2luaXQtZGIuYzo0ODYgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1OAorIzogYnVpbHRpbi9yZXBhY2suYzozMDYKK21zZ2lkICJiZSBxdWlldCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MjE3MworbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnkgbGluZSB0byB0aGUgY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjIxNzYKK21zZ2lkICJyZWNvZGUgaW50byB1dGY4IChkZWZhdWx0KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MjE3OAorbXNnaWQgInBhc3MgLWsgZmxhZyB0byBnaXQtbWFpbGluZm8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjIxODAKK21zZ2lkICJwYXNzIC1iIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMTgyCittc2dpZCAicGFzcyAtbSBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MjE4NAorbXNnaWQgInBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBmb3IgbWJveCBmb3JtYXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjIxODcKK21zZ2lkICJkbyBub3QgcGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGluZGVwZW5kZW50IG9mIGFtLmtlZXBjciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MjE5MAorbXNnaWQgInN0cmlwIGV2ZXJ5dGhpbmcgYmVmb3JlIGEgc2Npc3NvcnMgbGluZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MjE5MiBidWlsdGluL2FtLmM6MjE5NSBidWlsdGluL2FtLmM6MjE5OCBidWlsdGluL2FtLmM6MjIwMQorIzogYnVpbHRpbi9hbS5jOjIyMDQgYnVpbHRpbi9hbS5jOjIyMDcgYnVpbHRpbi9hbS5jOjIyMTAgYnVpbHRpbi9hbS5jOjIyMTMKKyM6IGJ1aWx0aW4vYW0uYzoyMjE5Cittc2dpZCAicGFzcyBpdCB0aHJvdWdoIGdpdC1hcHBseSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MjIwOSBidWlsdGluL2NvbW1pdC5jOjEzNDMgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzQgYnVpbHRpbi9ncmVwLmM6ODc5IGJ1aWx0aW4vbWVyZ2UuYzoyNDAKKyM6IGJ1aWx0aW4vcHVsbC5jOjE1MiBidWlsdGluL3B1bGwuYzoyMTAgYnVpbHRpbi9yZWJhc2UuYzoxMDYyCisjOiBidWlsdGluL3JlcGFjay5jOjMxNyBidWlsdGluL3JlcGFjay5jOjMyMSBidWlsdGluL3JlcGFjay5jOjMyMworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MSBidWlsdGluL3Nob3ctcmVmLmM6MTcxIGJ1aWx0aW4vdGFnLmM6Mzg2CisjOiBwYXJzZS1vcHRpb25zLmg6MTQ0IHBhcnNlLW9wdGlvbnMuaDoxNDYgcGFyc2Utb3B0aW9ucy5oOjI2NgorbXNnaWQgIm4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjIyMTUgYnVpbHRpbi9icmFuY2guYzo2MzcgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQ0IGJ1aWx0aW4vdGFnLmM6NDIyIGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM5Cittc2dpZCAiZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMjE2Cittc2dpZCAiZm9ybWF0IHRoZSBwYXRjaChlcykgYXJlIGluIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMjIyCittc2dpZCAib3ZlcnJpZGUgZXJyb3IgbWVzc2FnZSB3aGVuIHBhdGNoIGZhaWx1cmUgb2NjdXJzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMjI0Cittc2dpZCAiY29udGludWUgYXBwbHlpbmcgcGF0Y2hlcyBhZnRlciByZXNvbHZpbmcgYSBjb25mbGljdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MjIyNworbXNnaWQgInN5bm9ueW1zIGZvciAtLWNvbnRpbnVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMjMwCittc2dpZCAic2tpcCB0aGUgY3VycmVudCBwYXRjaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MjIzMworbXNnaWQgInJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgYWJvcnQgdGhlIHBhdGNoaW5nIG9wZXJhdGlvbi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjIyMzYKK21zZ2lkICJhYm9ydCB0aGUgcGF0Y2hpbmcgb3BlcmF0aW9uIGJ1dCBrZWVwIEhFQUQgd2hlcmUgaXQgaXMuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMjM5Cittc2dpZCAic2hvdyB0aGUgcGF0Y2ggYmVpbmcgYXBwbGllZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjIyNDMKK21zZ2lkICJsaWUgYWJvdXQgY29tbWl0dGVyIGRhdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjIyNDUKK21zZ2lkICJ1c2UgY3VycmVudCB0aW1lc3RhbXAgZm9yIGF1dGhvciBkYXRlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMjQ3IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NiBidWlsdGluL21lcmdlLmM6Mjc0CisjOiBidWlsdGluL3B1bGwuYzoxODUgYnVpbHRpbi9yZWJhc2UuYzoxMTA2IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4NQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTQgYnVpbHRpbi90YWcuYzo0MDIKK21zZ2lkICJrZXktaWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjIyNDggYnVpbHRpbi9yZWJhc2UuYzoxMTA3IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4NgorbXNnaWQgIkdQRy1zaWduIGNvbW1pdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjIyNTEKK21zZ2lkICIoaW50ZXJuYWwgdXNlIGZvciBnaXQtcmViYXNlKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MjI2OQorbXNnaWQgIiIKKyJUaGUgLWIvLS1iaW5hcnkgb3B0aW9uIGhhcyBiZWVuIGEgbm8tb3AgZm9yIGxvbmcgdGltZSwgYW5kXG4iCisiaXQgd2lsbCBiZSByZW1vdmVkLiBQbGVhc2UgZG8gbm90IHVzZSBpdCBhbnltb3JlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MjI3NgorbXNnaWQgImZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwcmV2aW91cyByZWJhc2UgZGlyZWN0b3J5ICVzIHN0aWxsIGV4aXN0cyBidXQgbWJveCBnaXZlbi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjIzMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlN0cmF5ICVzIGRpcmVjdG9yeSBmb3VuZC5cbiIKKyJVc2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlbW92ZSBpdC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hbS5jOjIzMjEKK21zZ2lkICJSZXNvbHZlIG9wZXJhdGlvbiBub3QgaW4gcHJvZ3Jlc3MsIHdlIGFyZSBub3QgcmVzdW1pbmcuIgorbXNnc3RyICLOlM61zr0gz4XPhs6vz4PPhM6xz4TOsc65IM60zrnOtc+BzrPOsc+Dzq/OsSDOtc+Azq/Ou8+Fz4POt8+CLCDOtM61IM+Dz4XOvc61z4fOr862zr/Phc68zrUuIgorCisjOiBidWlsdGluL2FwcGx5LmM6OAorbXNnaWQgImdpdCBhcHBseSBbPG9wdGlvbnM+XSBbPHBhdGNoPi4uLl0iCittc2dzdHIgImdpdCBhcHBseSBbPM61z4DOuc67zr/Os86tz4I+XSBbPM60zrnPjM+BzrjPic+Dzrc+Li4uXSIKKworIzogYnVpbHRpbi9hcmNoaXZlLmM6MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBhcmNoaXZlIGZpbGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FyY2hpdmUuYzoyMAorbXNnaWQgImNvdWxkIG5vdCByZWRpcmVjdCBvdXRwdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hcmNoaXZlLmM6MzcKK21zZ2lkICJnaXQgYXJjaGl2ZTogUmVtb3RlIHdpdGggbm8gVVJMIgorbXNnc3RyICJnaXQgYXJjaGl2ZTogzpHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr/PgiDOtc6+z4XPgM63z4HOtc+EzrfPhM6uz4Igz4fPic+Bzq/PgiBVUkwiCisKKyM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjYxCittc2dpZCAiZ2l0IGFyY2hpdmU6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBhIGZsdXNoIHBhY2tldCIKK21zZ3N0ciAiZ2l0IGFyY2hpdmU6IM6xzr3Osc68zrXOvc+Mz4TOsc69IEFDSy9OQUssIM6yz4HOrc64zrfOus61IM+AzrHOus6tz4TOvyBmbHVzaCIKKworIzogYnVpbHRpbi9hcmNoaXZlLmM6NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFyY2hpdmU6IE5BQ0sgJXMiCittc2dzdHIgImdpdCBhcmNoaXZlOiBOQUNLICVzIgorCisjOiBidWlsdGluL2FyY2hpdmUuYzo2NQorbXNnaWQgImdpdCBhcmNoaXZlOiBwcm90b2NvbCBlcnJvciIKK21zZ3N0ciAiZ2l0IGFyY2hpdmU6IM+Dz4bOrM67zrzOsSDPgM+Bz4nPhM6/zrrPjM67zrvOv8+FIM61z4DOuc66zr/Ouc69z4nOvc6vzrHPgiIKKworIzogYnVpbHRpbi9hcmNoaXZlLmM6NjkKK21zZ2lkICJnaXQgYXJjaGl2ZTogZXhwZWN0ZWQgYSBmbHVzaCIKK21zZ3N0ciAiZ2l0IGFyY2hpdmU6IM6xzr3Osc68zrXOvc+Mz4TOsc69IGZsdXNoIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjIKK21zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1uZXh0LWFsbCBbLS1uby1jaGVja291dF0iCittc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLW5leHQtYWxsIFstLW5vLWNoZWNrb3V0XSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjIzCittc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0td3JpdGUtdGVybXMgPGJhZF90ZXJtPiA8Z29vZF90ZXJtPiIKK21zZ3N0ciAiZ2l0IGJpc2VjdC0taGVscGVyIC0td3JpdGUtdGVybXMgPM67zqzOuM6/z4Igz4zPgc6/z4I+IDzPg8+Jz4PPhM+Mz4Igz4zPgc6/z4I+IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjQKK21zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2xlYW4tc3RhdGUiCittc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1jbGVhbi1zdGF0ZSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI1Cittc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXJlc2V0IFs8Y29tbWl0Pl0iCittc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1yZXNldCBbPM+Fz4DOv86yzr/Ou86uPl0iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNgorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtd3JpdGUgWy0tbm8tbG9nXSA8c3RhdGU+IDxyZXZpc2lvbj4gPGdvb2RfdGVybT4gIgorIjxiYWRfdGVybT4iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtd3JpdGUgWy0tbm8tbG9nXSA8zrrOsc+EzqzPg8+EzrHPg863PiA8zq3Ous60zr/Pg863PiA8z4PPic+Dz4TPjM+CICIKKyLPjM+Bzr/Pgj4gPM67zqzOuM6/z4Igz4zPgc6/z4I+IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjcKK21zZ2lkICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNoZWNrLWFuZC1zZXQtdGVybXMgPGNvbW1hbmQ+IDxnb29kX3Rlcm0+ICIKKyI8YmFkX3Rlcm0+IgorbXNnc3RyICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNoZWNrLWFuZC1zZXQtdGVybXMgPM61zr3PhM6/zrvOrj4gPM+Dz4nPg8+Ez4zPgiDPjM+Bzr/Pgj4gIgorIjzOu86szrjOv8+CIM+Mz4HOv8+CPiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI4Cittc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LW5leHQtY2hlY2sgPGdvb2RfdGVybT4gPGJhZF90ZXJtPiBbPHRlcm0+XSIKK21zZ3N0ciAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1uZXh0LWNoZWNrIDzPg8+Jz4PPhM+Mz4Igz4zPgc6/z4I+IDzOu86szrjOv8+CIM+Mz4HOv8+CPiBbPM+Mz4HOv8+CPl0iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyOQorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtdGVybXMgWy0tdGVybS1nb29kIHwgLS10ZXJtLW9sZCB8IC0tdGVybS1iYWQgfCAtLSIKKyJ0ZXJtLW5ld10iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtdGVybXMgWy0tdGVybS1nb29kIHwgLS10ZXJtLW9sZCB8IC0tdGVybS1iYWQgfCAtLSIKKyJ0ZXJtLW5ld10iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozMAorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtc3RhcnQgWy0tdGVybS17b2xkLGdvb2R9PTx0ZXJtPiAtLXRlcm0te25ldyxiYWR9IgorIj08dGVybT5dWy0tbm8tY2hlY2tvdXRdIFs8YmFkPiBbPGdvb2Q+Li4uXV0gWy0tXSBbPHBhdGhzPi4uLl0iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtc3RhcnQgWy0tdGVybS17b2xkLGdvb2R9PTzPjM+Bzr/Pgj4gLS10ZXJtLXtuZXcsYmFkfSIKKyI9PM+Mz4HOv8+CPl1bLS1uby1jaGVja291dF0gWzzOu86szrjOv8+CPiBbPM+Dz4nPg8+Ez4w+Li4uXV0gWy0tXSBbPM60zrnOsc60z4HOv868zq3Pgj4uLi5dIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0ZXJtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCB1c2UgdGhlIGJ1aWx0aW4gY29tbWFuZCAnJXMnIGFzIGEgdGVybSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgdGVybSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMTEKK21zZ2lkICJwbGVhc2UgdXNlIHR3byBkaWZmZXJlbnQgdGVybXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjExOAorbXNnaWQgImNvdWxkIG5vdCBvcGVuIHRoZSBmaWxlIEJJU0VDVF9URVJNUyIKK21zZ3N0ciAizrTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TPjCDPhM6/IM6szr3Ov865zrPOvM6xIM+Ezr/PhSDOsc+Bz4fOtc6vzr/PhSBCSVNFQ1RfVEVSTVMiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2UgYXJlIG5vdCBiaXNlY3RpbmcuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE2MworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb3VsZCBub3QgY2hlY2sgb3V0IG9yaWdpbmFsIEhFQUQgJyVzJy4gVHJ5ICdnaXQgYmlzZWN0IHJlc2V0IDxjb21taXQ+Jy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgYmlzZWN0X3dyaXRlIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjIwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGdldCB0aGUgb2lkIG9mIHRoZSByZXYgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IG9wZW4gdGhlIGZpbGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgY29tbWFuZDogeW91J3JlIGN1cnJlbnRseSBpbiBhICVzLyVzIGJpc2VjdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSAlcyBhbmQgJXMgcmV2aXNpb24uXG4iCisiWW91IGNhbiB1c2UgXCJnaXQgYmlzZWN0ICVzXCIgYW5kIFwiZ2l0IGJpc2VjdCAlc1wiIGZvciB0aGF0LiIKK21zZ3N0ciAiIgorIs6gz4HOrc+AzrXOuSDOvc6xIM60z47Pg861z4TOtSDPhM6/z4XOu86sz4fOuc+Dz4TOv869IM6tzr3OsSAlcyDOus6xzrkgJXMgzq3Ous60zr/Pg863LlxuIgorIs6cz4DOv8+BzrXOr8+EzrUgzr3OsSDPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4POtc+EzrUgXCJnaXQgYmlzZWN0ICVzXCIgzrrOsc65IFwiZ2l0IGJpc2VjdCAlc1wiIM6zzrnOsSDOsc+Fz4TPjC4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBuZWVkIHRvIHN0YXJ0IGJ5IFwiZ2l0IGJpc2VjdCBzdGFydFwiLlxuIgorIllvdSB0aGVuIG5lZWQgdG8gZ2l2ZSBtZSBhdCBsZWFzdCBvbmUgJXMgYW5kICVzIHJldmlzaW9uLlxuIgorIllvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCAlc1wiIGFuZCBcImdpdCBiaXNlY3QgJXNcIiBmb3IgdGhhdC4iCittc2dzdHIgIiIKKyLOp8+BzrXOuc6szrbOtc+EzrHOuSDOvc6xIM6xz4HPh86vz4POtc+EzrUgzrzOtSBcImdpdCBiaXNlY3Qgc3RhcnRcIi5cbiIKKyLOiM+AzrXOuc+EzrEgz4fPgc61zrnOrM62zrXPhM6xzrkgzr3OsSDOtM+Oz4POtc+EzrUgz4TOv8+FzrvOrM+HzrnPg8+Ezr/OvSDOrc69zrEgJXMgzrrOsc65ICVzIM6tzrrOtM6/z4POty5cbiIKKyLOnM+Azr/Pgc61zq/PhM61IM69zrEgz4fPgc63z4POuc68zr/PgM6/zrnOrs+DzrXPhM61IFwiZ2l0IGJpc2VjdCAlc1wiIM66zrHOuSBcImdpdCBiaXNlY3QgJXNcIiDOs865zrEgzrHPhc+Ez4wuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgImJpc2VjdGluZyBvbmx5IHdpdGggYSAlcyBjb21taXQiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtZXSBhbmQgW25dIGluIHlvdXIKKyMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKKyMuIGF0IHRoaXMgcG9pbnQuCisjLgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjMyOQorbXNnaWQgIkFyZSB5b3Ugc3VyZSBbWS9uXT8gIgorbXNnc3RyICLOlc+AzrnOss61zrLOsc65z47Ovc61z4TOtSBbWS9uXTsgIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Mzc2Cittc2dpZCAibm8gdGVybXMgZGVmaW5lZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGN1cnJlbnQgdGVybXMgYXJlICVzIGZvciB0aGUgb2xkIHN0YXRlXG4iCisiYW5kICVzIGZvciB0aGUgbmV3IHN0YXRlLlxuIgorbXNnc3RyICIiCisizp/OuSDPgM6xz4HPjM69z4TOtc+CIM+Mz4HOv865IM+DzrHPgiDOtc6vzr3Osc65ICVzIM6zzrnOsSDPhM63zr0gz4DOsc67zrnOrCDOus6xz4TOrM+Dz4TOsc+DzrdcbiIKKyLOus6xzrkgJXMgzrPOuc6xIM+Ezrcgzr3Orc6xIM66zrHPhM6sz4PPhM6xz4POty5cbiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiaW52YWxpZCBhcmd1bWVudCAlcyBmb3IgJ2dpdCBiaXNlY3QgdGVybXMnLlxuIgorIlN1cHBvcnRlZCBvcHRpb25zIGFyZTogLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCBhbmQgLS10ZXJtLWJhZHwtLXRlcm0tbmV3LiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NDc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb246ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjQ3OQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGRvZXMgbm90IGFwcGVhciB0byBiZSBhIHZhbGlkIHJldmlzaW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1MTEKK21zZ2lkICJiYWQgSEVBRCAtIEkgbmVlZCBhIEhFQUQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJjaGVja2luZyBvdXQgJyVzJyBmYWlsZWQuIFRyeSAnZ2l0IGJpc2VjdCBzdGFydCA8dmFsaWQtYnJhbmNoPicuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1NDcKK21zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1NTAKK21zZ2lkICJiYWQgSEVBRCAtIHN0cmFuZ2Ugc3ltYm9saWMgcmVmIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2MjcKK21zZ2lkICJwZXJmb3JtICdnaXQgYmlzZWN0IG5leHQnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2MjkKK21zZ2lkICJ3cml0ZSB0aGUgdGVybXMgdG8gLmdpdC9CSVNFQ1RfVEVSTVMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzMQorbXNnaWQgImNsZWFudXAgdGhlIGJpc2VjdGlvbiBzdGF0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjMzCittc2dpZCAiY2hlY2sgZm9yIGV4cGVjdGVkIHJldnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzNQorbXNnaWQgInJlc2V0IHRoZSBiaXNlY3Rpb24gc3RhdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzNworbXNnaWQgIndyaXRlIG91dCB0aGUgYmlzZWN0aW9uIHN0YXRlIGluIEJJU0VDVF9MT0ciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzOQorbXNnaWQgImNoZWNrIGFuZCBzZXQgdGVybXMgaW4gYSBiaXNlY3Rpb24gc3RhdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0MQorbXNnaWQgImNoZWNrIHdoZXRoZXIgYmFkIG9yIGdvb2QgdGVybXMgZXhpc3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0MworbXNnaWQgInByaW50IG91dCB0aGUgYmlzZWN0IHRlcm1zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDUKK21zZ2lkICJzdGFydCB0aGUgYmlzZWN0IHNlc3Npb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0NworbXNnaWQgInVwZGF0ZSBCSVNFQ1RfSEVBRCBpbnN0ZWFkIG9mIGNoZWNraW5nIG91dCB0aGUgY3VycmVudCBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0OQorbXNnaWQgIm5vIGxvZyBmb3IgQklTRUNUX1dSSVRFIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NjYKK21zZ2lkICItLXdyaXRlLXRlcm1zIHJlcXVpcmVzIHR3byBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY3MAorbXNnaWQgIi0tYmlzZWN0LWNsZWFuLXN0YXRlIHJlcXVpcmVzIG5vIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Njc3Cittc2dpZCAiLS1iaXNlY3QtcmVzZXQgcmVxdWlyZXMgZWl0aGVyIG5vIGFyZ3VtZW50IG9yIGEgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2ODEKK21zZ2lkICItLWJpc2VjdC13cml0ZSByZXF1aXJlcyBlaXRoZXIgNCBvciA1IGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Njg3Cittc2dpZCAiLS1jaGVjay1hbmQtc2V0LXRlcm1zIHJlcXVpcmVzIDMgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2OTMKK21zZ2lkICItLWJpc2VjdC1uZXh0LWNoZWNrIHJlcXVpcmVzIDIgb3IgMyBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY5OQorbXNnaWQgIi0tYmlzZWN0LXRlcm1zIHJlcXVpcmVzIDAgb3IgMSBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6MzEKK21zZ2lkICJnaXQgYmxhbWUgWzxvcHRpb25zPl0gWzxyZXYtb3B0cz5dIFs8cmV2Pl0gWy0tXSA8ZmlsZT4iCittc2dzdHIgImdpdCBibGFtZSBbPM61z4DOuc67zr/Os86tz4I+XSBbPM61z4DOuc67zr/Os86tz4Igzq3Ous60Lj5dIFs8zq3Ous60Lj5dIFstLV0gPM6xz4HPh861zq/Ovz4iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzozNgorbXNnaWQgIjxyZXYtb3B0cz4gYXJlIGRvY3VtZW50ZWQgaW4gZ2l0LXJldi1saXN0KDEpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhwZWN0aW5nIGEgY29sb3I6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo0MTMKK21zZ2lkICJtdXN0IGVuZCB3aXRoIGEgY29sb3IiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjcwMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbG9yICclcycgaW4gY29sb3IuYmxhbWUucmVwZWF0ZWRMaW5lcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6NzE4Cittc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgYmxhbWUuY29sb3JpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjc5MworbXNnaWQgIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjc5NAorbXNnaWQgIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjc5NQorbXNnaWQgIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6Nzk2Cittc2dpZCAiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6Nzk3Cittc2dpZCAiRm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo3OTgKK21zZ2lkICJTaG93IG91dHB1dCBzY29yZSBmb3IgYmxhbWUgZW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6Nzk5Cittc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjgwMAorbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODAxCittc2dpZCAiU2hvdyBpbiBhIGZvcm1hdCBkZXNpZ25lZCBmb3IgbWFjaGluZSBjb25zdW1wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODAyCittc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgorbXNnc3RyICLOoM+Bzr/Oss6/zrvOriDOvM6/z4HPhs6uz4IgzrXOvc+Ezr/Ou8+Ozr0gcG9yY2VsYWluIM68zrUgz4DOu863z4HOv8+Gzr/Pgc6vzrXPgiDPhc+Azr/Oss6/zrvOrs+CIM6xzr3OrCDOs8+BzrHOvM68zq4iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4MDMKK21zZ2lkICJVc2UgdGhlIHNhbWUgb3V0cHV0IG1vZGUgYXMgZ2l0LWFubm90YXRlIChEZWZhdWx0OiBvZmYpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4MDQKK21zZ2lkICJTaG93IHJhdyB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjgwNQorbXNnaWQgIlNob3cgbG9uZyBjb21taXQgU0hBMSAoRGVmYXVsdDogb2ZmKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODA2Cittc2dpZCAiU3VwcHJlc3MgYXV0aG9yIG5hbWUgYW5kIHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODA3Cittc2dpZCAiU2hvdyBhdXRob3IgZW1haWwgaW5zdGVhZCBvZiBuYW1lIChEZWZhdWx0OiBvZmYpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4MDgKK21zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODA5Cittc2dpZCAiY29sb3IgcmVkdW5kYW50IG1ldGFkYXRhIGZyb20gcHJldmlvdXMgbGluZSBkaWZmZXJlbnRseSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODEwCittc2dpZCAiY29sb3IgbGluZXMgYnkgYWdlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4MTcKK21zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4MTkKK21zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjgyMAorbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODIxCittc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODIyIGJ1aWx0aW4vYmxhbWUuYzo4MjMKK21zZ2lkICJzY29yZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODIyCittc2dpZCAiRmluZCBsaW5lIGNvcGllcyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODIzCittc2dpZCAiRmluZCBsaW5lIG1vdmVtZW50cyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODI0Cittc2dpZCAibixtIgorbXNnc3RyICJuLG0iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4MjQKK21zZ2lkICJQcm9jZXNzIG9ubHkgbGluZSByYW5nZSBuLG0sIGNvdW50aW5nIGZyb20gMSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODc1Cittc2dpZCAiLS1wcm9ncmVzcyBjYW4ndCBiZSB1c2VkIHdpdGggLS1pbmNyZW1lbnRhbCBvciBwb3JjZWxhaW4gZm9ybWF0cyIKK21zZ3N0ciAiIgorIs+Ezr8gLS1wcm9ncmVzcyDOtM61IM6zzq/Ovc61z4TOsc65IM69zrEgz4fPgc63z4POuc68zr/PgM6/zrnOt864zrXOryDOvM61IM+Ezr8gLS1pbmNyZW1lbnRhbCDOriDOvM61IM68zr/Pgc+Gzq3PgiAiCisizrXOvc+Ezr/Ou8+Ozr0gcG9yY2VsYWluIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBzdHJpbmcgaXMgdXNlZCB0byB0ZWxsIHVzIHRoZQorIy4gbWF4aW11bSBkaXNwbGF5IHdpZHRoIGZvciBhIHJlbGF0aXZlIHRpbWVzdGFtcCBpbgorIy4gImdpdCBibGFtZSIgb3V0cHV0LiAgRm9yIEMgbG9jYWxlLCAiNCB5ZWFycywgMTEKKyMuIG1vbnRocyBhZ28iLCB3aGljaCB0YWtlcyAyMiBwbGFjZXMsIGlzIHRoZSBsb25nZXN0CisjLiBhbW9uZyB2YXJpb3VzIGZvcm1zIG9mIHJlbGF0aXZlIHRpbWVzdGFtcHMsIGJ1dAorIy4geW91ciBsYW5ndWFnZSBtYXkgbmVlZCBtb3JlIG9yIGZld2VyIGRpc3BsYXkKKyMuIGNvbHVtbnMuCisjLgorIzogYnVpbHRpbi9ibGFtZS5jOjkyNgorbXNnaWQgIjQgeWVhcnMsIDExIG1vbnRocyBhZ28iCittc2dzdHIgIs+Az4HOuc69IM6xz4DPjCA0IM+Hz4HPjM69zrnOsSDOus6xzrkgMTEgzrzOrs69zrXPgiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjEwMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZSIKK21zZ2lkX3BsdXJhbCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZXMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6MTA2NAorbXNnaWQgIkJsYW1pbmcgbGluZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzoyOQorbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKK21zZ3N0ciAiZ2l0IGJyYW5jaCBbPM61z4DOuc67zr/Os86tz4I+XSBbLXIgfCAtYV0gWy0tbWVyZ2VkIHwgLS1uby1tZXJnZWRdIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjMwCittc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLWxdIFstZl0gPGJyYW5jaC1uYW1lPiBbPHN0YXJ0LXBvaW50Pl0iCittc2dzdHIgImdpdCBicmFuY2ggWzzOtc+AzrnOu86/zrPOrc+CPl0gWy1sXSBbLWZdIDzPjM69zr/OvM6xIM66zrvOrM60zr/PhT4gWzzOsc+Bz4fOuc66z4wgz4POt868zrXOr86/Pl0iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzEKK21zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstcl0gKC1kIHwgLUQpIDxicmFuY2gtbmFtZT4uLi4iCittc2dzdHIgImdpdCBicmFuY2ggWzzOtc+AzrnOu86/zrPOrc+CPl0gWy1yXSAoLWQgfCAtRCkgPM+Mzr3Ov868zrEgzrrOu86szrTOv8+FPi4uLiIKKworIzogYnVpbHRpbi9icmFuY2guYzozMgorbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gKC1tIHwgLU0pIFs8b2xkLWJyYW5jaD5dIDxuZXctYnJhbmNoPiIKK21zZ3N0ciAiZ2l0IGJyYW5jaCBbPM61z4DOuc67zr/Os86tz4I+XSAoLW0gfCAtTSkgWzzPgM6xzrvOuc+Mz4IgzrrOu86szrTOv8+CPl0gPM69zq3Ov8+CIM66zrvOrM60zr/Pgj4iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMKK21zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dICgtYyB8IC1DKSBbPG9sZC1icmFuY2g+XSA8bmV3LWJyYW5jaD4iCittc2dzdHIgImdpdCBicmFuY2ggWzzOtc+AzrnOu86/zrPOrc+CPl0gKC1jIHwgLUMpIFs8z4DOsc67zrnPjM+CIM66zrvOrM60zr/Pgj5dIDzOvc6tzr/PgiDOus67zqzOtM6/z4I+IgorCisjOiBidWlsdGluL2JyYW5jaC5jOjM0Cittc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tcG9pbnRzLWF0XSIKK21zZ3N0ciAiZ2l0IGJyYW5jaCBbPM61z4DOuc67zr/Os86tz4I+XSBbLXIgfCAtYV0gWy0tcG9pbnRzLWF0XSIKKworIzogYnVpbHRpbi9icmFuY2guYzozNQorbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yIHwgLWFdIFstLWZvcm1hdF0iCittc2dzdHIgImdpdCBicmFuY2ggWzzOtc+AzrnOu86/zrPOrc+CPl0gWy1yIHwgLWFdIFstLWZvcm1hdF0iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGhhcyBiZWVuIG1lcmdlZCB0b1xuIgorIiAgICAgICAgICclcycsIGJ1dCBub3QgeWV0IG1lcmdlZCB0byBIRUFELiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibm90IGRlbGV0aW5nIGJyYW5jaCAnJXMnIHRoYXQgaXMgbm90IHlldCBtZXJnZWQgdG9cbiIKKyIgICAgICAgICAnJXMnLCBldmVuIHRob3VnaCBpdCBpcyBtZXJnZWQgdG8gSEVBRC4iCittc2dzdHIgIiIKKyLOtM61IM6zzq/Ovc61z4TOsc65IM60zrnOsc6zz4HOsc+Gzq4gz4TOv8+FIM66zrvOrM60zr/PhSAnJXMnIM+Azr/PhSDOtM61zr0gzq3Ph861zrkgz4PPhc6zz4fPic69zrXPhc+EzrXOryDOsc66z4zOvM6xIM68zrUgz4TOv1xuIgorIiAgICAgICAgICclcycsIM+AzrHPgc+MzrvOvyDPgM6/z4Ugzq3Ph861zrkgz4PPhc6zz4fPic69zrXPhc+EzrXOryDOvM61IM+Ezr8gSEVBRC4iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGJyYW5jaCAnJXMnIGlzIG5vdCBmdWxseSBtZXJnZWQuXG4iCisiSWYgeW91IGFyZSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBpdCwgcnVuICdnaXQgYnJhbmNoIC1EICVzJy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzoxODYKK21zZ2lkICJVcGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjE3Cittc2dpZCAiY2Fubm90IHVzZSAtYSB3aXRoIC1kIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjIzCittc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciBIRUFEIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBkZWxldGUgYnJhbmNoICclcycgY2hlY2tlZCBvdXQgYXQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcycgbm90IGZvdW5kLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjI1MworIywgYy1mb3JtYXQKK21zZ2lkICJicmFuY2ggJyVzJyBub3QgZm91bmQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkVycm9yIGRlbGV0aW5nIHJlbW90ZS10cmFja2luZyBicmFuY2ggJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJFcnJvciBkZWxldGluZyBicmFuY2ggJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICJEZWxldGVkIHJlbW90ZS10cmFja2luZyBicmFuY2ggJXMgKHdhcyAlcykuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzoyNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGVsZXRlZCBicmFuY2ggJXMgKHdhcyAlcykuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo0MjEgYnVpbHRpbi90YWcuYzo1OQorbXNnaWQgInVuYWJsZSB0byBwYXJzZSBmb3JtYXQgc3RyaW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyByZWJhc2VkIGF0ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyBiaXNlY3RlZCBhdCAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ3OQorbXNnaWQgImNhbm5vdCBjb3B5IHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ4MQorbXNnaWQgImNhbm5vdCByZW5hbWUgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo1MTkKK21zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjUyMQorbXNnaWQgIkJyYW5jaCBjb3B5IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgY29weSBvZiBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo1NDMKK21zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo1NDUKK21zZ2lkICJCcmFuY2ggaXMgY29waWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjU2MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGxlYXNlIGVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoXG4iCisiICAlc1xuIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIHN0cmlwcGVkLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0Cittc2dpZCAiR2VuZXJpYyBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk2Cittc2dpZCAic2hvdyBoYXNoIGFuZCBzdWJqZWN0LCBnaXZlIHR3aWNlIGZvciB1cHN0cmVhbSBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo1OTcKK21zZ2lkICJzdXBwcmVzcyBpbmZvcm1hdGlvbmFsIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk4Cittc2dpZCAic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtcHVsbCgxKSkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MDAKK21zZ2lkICJkbyBub3QgdXNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAyIGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4MgorbXNnaWQgInVwc3RyZWFtIgorbXNnc3RyICLPgM+Bzr/PgiDPhM6xIM+AzqzOvc+JIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYwMgorbXNnaWQgImNoYW5nZSB0aGUgdXBzdHJlYW0gaW5mbyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYwMworbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjA0Cittc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjA1Cittc2dpZCAiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYwNyBidWlsdGluL2JyYW5jaC5jOjYwOQorbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MDggYnVpbHRpbi9icmFuY2guYzo2MTAKK21zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjEzCittc2dpZCAiU3BlY2lmaWMgZ2l0LWJyYW5jaCBhY3Rpb25zOiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYxNAorbXNnaWQgImxpc3QgYm90aCByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE2Cittc2dpZCAiZGVsZXRlIGZ1bGx5IG1lcmdlZCBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MTcKK21zZ2lkICJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE4Cittc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MTkKK21zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIwCittc2dpZCAiY29weSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYyMQorbXNnaWQgImNvcHkgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYyMgorbXNnaWQgImxpc3QgYnJhbmNoIG5hbWVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIzCittc2dpZCAiY3JlYXRlIHRoZSBicmFuY2gncyByZWZsb2ciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MjUKK21zZ2lkICJlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNgorbXNnaWQgImZvcmNlIGNyZWF0aW9uLCBtb3ZlL3JlbmFtZSwgZGVsZXRpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MjcKK21zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG1lcmdlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYyOAorbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBhcmUgbm90IG1lcmdlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYyOQorbXNnaWQgImxpc3QgYnJhbmNoZXMgaW4gY29sdW1ucyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYzMCBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzAKKyM6IGJ1aWx0aW4vdGFnLmM6NDE1Cittc2dpZCAia2V5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMxIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDEgYnVpbHRpbi9scy1yZW1vdGUuYzo3MQorIzogYnVpbHRpbi90YWcuYzo0MTYKK21zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MzMgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MyBidWlsdGluL25vdGVzLmM6NDE1CisjOiBidWlsdGluL25vdGVzLmM6NDE4IGJ1aWx0aW4vbm90ZXMuYzo1ODEgYnVpbHRpbi9ub3Rlcy5jOjU4NAorIzogYnVpbHRpbi90YWcuYzo0MTgKK21zZ2lkICJvYmplY3QiCittc2dzdHIgIs6xzr3PhM65zrrOtc6vzrzOtc69zr8iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM0Cittc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyBvZiB0aGUgb2JqZWN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM2IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDkgYnVpbHRpbi90YWcuYzo0MjUKK21zZ2lkICJzb3J0aW5nIGFuZCBmaWx0ZXJpbmcgYXJlIGNhc2UgaW5zZW5zaXRpdmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MzcgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOCBidWlsdGluL3RhZy5jOjQyMworIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzkKK21zZ2lkICJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYwIGJ1aWx0aW4vY2xvbmUuYzo3NDYKK21zZ2lkICJIRUFEIG5vdCBmb3VuZCBiZWxvdyByZWZzL2hlYWRzISIKK21zZ3N0ciAizqTOvyBIRUFEIM60zrUgzrLPgc6tzrjOt866zrUgzrrOrM+Ez4kgzrHPgM+MIM+Ezr8gcmVmcy9oZWFkcyEiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjgzCittc2dpZCAiLS1jb2x1bW4gYW5kIC0tdmVyYm9zZSBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk4IGJ1aWx0aW4vYnJhbmNoLmM6NzQ5IGJ1aWx0aW4vYnJhbmNoLmM6NzU4Cittc2dpZCAiYnJhbmNoIG5hbWUgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo3MjUKK21zZ2lkICJDYW5ub3QgZ2l2ZSBkZXNjcmlwdGlvbiB0byBkZXRhY2hlZCBIRUFEIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzMwCittc2dpZCAiY2Fubm90IGVkaXQgZGVzY3JpcHRpb24gb2YgbW9yZSB0aGFuIG9uZSBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo3MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gY29tbWl0IG9uIGJyYW5jaCAnJXMnIHlldC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo3NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gYnJhbmNoIG5hbWVkICclcycuIgorbXNnc3RyICLOlM61zr0gz4XPgM6sz4HPh861zrkgzrrOu86szrTOv8+CIM68zrUgz4zOvc6/zrzOsSAnJXMnLiIKKworIzogYnVpbHRpbi9icmFuY2guYzo3NTUKK21zZ2lkICJ0b28gbWFueSBicmFuY2hlcyBmb3IgYSBjb3B5IG9wZXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjc2NAorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyBmb3IgYSByZW5hbWUgb3BlcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY5Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIHRvIHNldCBuZXcgdXBzdHJlYW0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo3NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvdWxkIG5vdCBzZXQgdXBzdHJlYW0gb2YgSEVBRCB0byAlcyB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzc2IGJ1aWx0aW4vYnJhbmNoLmM6Nzk5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggYnJhbmNoICclcyciCittc2dzdHIgIs60zrXOvSDPhc+AzqzPgc+HzrXOuSDOvyDOus67zqzOtM6/z4IgJyVzJyIKKworIzogYnVpbHRpbi9icmFuY2guYzo3ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo3OTMKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMgdG8gdW5zZXQgdXBzdHJlYW0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo3OTcKK21zZ2lkICJjb3VsZCBub3QgdW5zZXQgdXBzdHJlYW0gb2YgSEVBRCB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAnJXMnIGhhcyBubyB1cHN0cmVhbSBpbmZvcm1hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjgxMworbXNnaWQgIi1hIGFuZCAtciBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgbWFrZSBzZW5zZSB3aXRoIGEgYnJhbmNoIG5hbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo4MTYKK21zZ2lkICIiCisidGhlICctLXNldC11cHN0cmVhbScgb3B0aW9uIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuIFBsZWFzZSB1c2UgJy0tdHJhY2snIG9yICIKKyInLS1zZXQtdXBzdHJlYW0tdG8nIGluc3RlYWQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgb2theVxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NTgKK21zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byBjcmVhdGUgYSBidW5kbGUuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NjIKK21zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byB1bmJ1bmRsZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU5MworbXNnaWQgIiIKKyJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgorInAgfCA8dHlwZT4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxwYXRoPl0gPG9iamVjdD4iCittc2dzdHIgIiIKKyJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgorInAgfCA8z4TPjc+Azr/Pgj4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTzOtM65zrHOtM+Bzr/OvM6uPl0gPM6xzr3PhM65zrrOtc6vzrzOtc69zr8+IgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTk0Cittc2dpZCAiIgorImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKKyJmaWx0ZXJzXSIKK21zZ3N0ciAiIgorImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKKyJmaWx0ZXJzXSIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYxNQorbXNnaWQgIm9ubHkgb25lIGJhdGNoIG9wdGlvbiBtYXkgYmUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzMKK21zZ2lkICI8dHlwZT4gY2FuIGJlIG9uZSBvZjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCittc2dzdHIgIs6/IDzPhM+Nz4DOv8+CPiDOvM+Azr/Pgc61zq8gzr3OsSDOtc6vzr3Osc65IM6tzr3Osc+CIM61zrogz4TPic69OiBibG9iLCDOtM6tzr3PhM+Bzr8sIM+Fz4DOv86yzr/Ou86uLCDOtc+EzrnOus6tz4TOsSIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNAorbXNnaWQgInNob3cgb2JqZWN0IHR5cGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNQorbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNworbXNnaWQgImV4aXQgd2l0aCB6ZXJvIHdoZW4gdGhlcmUncyBubyBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM4Cittc2dpZCAicHJldHR5LXByaW50IG9iamVjdCdzIGNvbnRlbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0MAorbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biB0ZXh0Y29udiBvbiBvYmplY3QncyBjb250ZW50IgorbXNnc3RyICLOs865zrEgzrHOvc+EzrnOus61zq/OvM61zr3OsSBibG9iLCDPhM+Bzq3Ovs+EzrUgdGV4dGNvbnYgz4PPhM6/IM+AzrXPgc65zrXPh8+MzrzOtc69zr8gz4TOv8+FIM6xzr3PhM65zrrOtc65zrzOrc69zr/PhSIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0MgorbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biBmaWx0ZXJzIG9uIG9iamVjdCdzIGNvbnRlbnQiCittc2dzdHIgIs6zzrnOsSDOsc69z4TOuc66zrXOr868zrXOvc6xIGJsb2IsIM+Ez4HOrc6+z4TOtSDPhs6vzrvPhM+BzrEgz4PPhM6/IM+AzrXPgc65zrXPh8+MzrzOtc69zr8gz4TOv8+FIM6xzr3PhM65zrrOtc65zrzOrc69zr/PhSIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0MyBnaXQtc3VibW9kdWxlLnNoOjg2MAorbXNnaWQgImJsb2IiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NAorbXNnaWQgInVzZSBhIHNwZWNpZmljIHBhdGggZm9yIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDYKK21zZ2lkICJhbGxvdyAtcyBhbmQgLXQgdG8gd29yayB3aXRoIGJyb2tlbi9jb3JydXB0IG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NworbXNnaWQgImJ1ZmZlciAtLWJhdGNoIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQ5Cittc2dpZCAic2hvdyBpbmZvIGFuZCBjb250ZW50IG9mIG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTMKK21zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1NworbXNnaWQgImZvbGxvdyBpbi10cmVlIHN5bWxpbmtzICh1c2VkIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjU5Cittc2dpZCAic2hvdyBhbGwgb2JqZWN0cyB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjayIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjYxCittc2dpZCAiZG8gbm90IG9yZGVyIC0tYmF0Y2gtYWxsLW9iamVjdHMgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEzCittc2dpZCAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCA8YXR0cj4uLi5dIFstLV0gPHBhdGhuYW1lPi4uLiIKK21zZ3N0ciAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCA8z4DOtc60zq/Ovz4uLi5dIFstLV0gPM+Mzr3Ov868zrEgzrTOuc6xzrTPgc6/zrzOrs+CPi4uLiIKKworIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTQKK21zZ2lkICJnaXQgY2hlY2stYXR0ciAtLXN0ZGluIFstel0gWy1hIHwgLS1hbGwgfCA8YXR0cj4uLi5dIgorbXNnc3RyICJnaXQgY2hlY2stYXR0ciAtLXN0ZGluIFstel0gWy1hIHwgLS1hbGwgfCA8z4DOtc60zq/Ovz4uLi5dIgorCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMQorbXNnaWQgInJlcG9ydCBhbGwgYXR0cmlidXRlcyBzZXQgb24gZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMgorbXNnaWQgInVzZSAuZ2l0YXR0cmlidXRlcyBvbmx5IGZyb20gdGhlIGluZGV4IgorbXNnc3RyICLOvc6xIM6zzq/Ovc61zrkgz4fPgc6uz4POtyDPhM6/z4UgLmdpdGF0dHJpYnV0ZXMgzrzPjM69zr8gzrHPgM+MIM+Ezr8gzrXPhc+BzrXPhM6uz4HOuc6/IgorCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI1IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIKK21zZ2lkICJyZWFkIGZpbGUgbmFtZXMgZnJvbSBzdGRpbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyNSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI3Cittc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMSBidWlsdGluL2NoZWNrb3V0LmM6MTI4MCBidWlsdGluL2djLmM6NTE3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDk2Cittc2dpZCAic3VwcHJlc3MgcHJvZ3Jlc3MgcmVwb3J0aW5nIgorbXNnc3RyICLOvc6xIM68zrfOvSDOsc69zrHPhs6tz4HOtc+EzrHOuSDOtyDPgM+Bz4zOv860zr/PgiIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOQorbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGlucHV0IHBhdGhzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MzEKK21zZ2lkICJpZ25vcmUgaW5kZXggd2hlbiBjaGVja2luZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MAorbXNnaWQgImNhbm5vdCBzcGVjaWZ5IHBhdGhuYW1lcyB3aXRoIC0tc3RkaW4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjMKK21zZ2lkICIteiBvbmx5IG1ha2VzIHNlbnNlIHdpdGggLS1zdGRpbiIKK21zZ3N0ciAiz4TOvyAteiDOrc+HzrXOuSDOvc+MzrfOvM6xIM68z4zOvc6/IM68zrUgz4TOvyAtLXN0ZGluIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2NQorbXNnaWQgIm5vIHBhdGggc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY5Cittc2dpZCAiLS1xdWlldCBpcyBvbmx5IHZhbGlkIHdpdGggYSBzaW5nbGUgcGF0aG5hbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzEKK21zZ2lkICJjYW5ub3QgaGF2ZSBib3RoIC0tcXVpZXQgYW5kIC0tdmVyYm9zZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3NAorbXNnaWQgIi0tbm9uLW1hdGNoaW5nIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXZlcmJvc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6OQorbXNnaWQgImdpdCBjaGVjay1tYWlsbWFwIFs8b3B0aW9ucz5dIDxjb250YWN0Pi4uLiIKK21zZ3N0ciAiZ2l0IGNoZWNrLW1haWxtYXAgWzzOtc+AzrnOu86/zrPOrc+CPl0gPM61z4DOsc+Gzq4+Li4uIgorCisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoxNAorbXNnaWQgImFsc28gcmVhZCBjb250YWN0cyBmcm9tIHN0ZGluIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb250YWN0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo0OAorbXNnaWQgIm5vIGNvbnRhY3RzIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTMxCittc2dpZCAiZ2l0IGNoZWNrb3V0LWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCittc2dzdHIgImdpdCBjaGVja291dC1pbmRleCBbPM61z4DOuc67zr/Os86tz4I+XSBbLS1dIFs8zrHPgc+HzrXOr86/Pi4uLl0iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNDgKK21zZ2lkICJzdGFnZSBzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCAzIG9yIGFsbCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY0Cittc2dpZCAiY2hlY2sgb3V0IGFsbCBmaWxlcyBpbiB0aGUgaW5kZXgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NQorbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBleGlzdGluZyBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY3Cittc2dpZCAibm8gd2FybmluZyBmb3IgZXhpc3RpbmcgZmlsZXMgYW5kIGZpbGVzIG5vdCBpbiBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY5Cittc2dpZCAiZG9uJ3QgY2hlY2tvdXQgbmV3IGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzEKK21zZ2lkICJ1cGRhdGUgc3RhdCBpbmZvcm1hdGlvbiBpbiB0aGUgaW5kZXggZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc1Cittc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzcKK21zZ2lkICJ3cml0ZSB0aGUgY29udGVudCB0byB0ZW1wb3JhcnkgZmlsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OCBidWlsdGluL2NvbHVtbi5jOjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3MiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NjkKK21zZ2lkICJzdHJpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OQorbXNnaWQgIndoZW4gY3JlYXRpbmcgZmlsZXMsIHByZXBlbmQgPHN0cmluZz4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE4MQorbXNnaWQgImNvcHkgb3V0IHRoZSBmaWxlcyBmcm9tIG5hbWVkIHN0YWdlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMgorbXNnaWQgImdpdCBjaGVja291dCBbPG9wdGlvbnM+XSA8YnJhbmNoPiIKK21zZ3N0ciAiZ2l0IGNoZWNrb3V0IFs8zrXPgM65zrvOv86zzq3Pgj5dIDzOus67zqzOtM6/z4I+IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzMKK21zZ2lkICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gWzxicmFuY2g+XSAtLSA8ZmlsZT4uLi4iCittc2dzdHIgImdpdCBjaGVja291dCBbPM61z4DOuc67zr/Os86tz4I+XSBbPM66zrvOrM60zr/Pgj5dIC0tIDzOsc+Bz4fOtc6vzr8+Li4uIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgb3VyIHZlcnNpb24iCittc2dzdHIgIs63IM60zrnOsc60z4HOv868zq4gJyVzJyDOtM61zr0gzq3Ph861zrkgz4TOtyDOtM65zrrOriDOvM6xz4Igzq3Ous60zr/Pg863IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgdGhlaXIgdmVyc2lvbiIKK21zZ3N0ciAizrcgzrTOuc6xzrTPgc6/zrzOriAnJXMnIM60zrXOvSDOrc+HzrXOuSDPhM63IM60zrnOus6uIM+Ezr/Phc+CIM6tzrrOtM6/z4POtyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBhbGwgbmVjZXNzYXJ5IHZlcnNpb25zIgorbXNnc3RyICLOtyDOtM65zrHOtM+Bzr/OvM6uICclcycgzrTOtc69IM6tz4fOtc65IM+MzrvOtc+CIM+EzrnPgiDOsc69zrHOs866zrHOr861z4IgzrXOus60z4zPg861zrnPgiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBuZWNlc3NhcnkgdmVyc2lvbnMiCittc2dzdHIgIs63IM60zrnOsc60z4HOv868zq4gJyVzJyDOtM61zr0gzq3Ph861zrkgz4TOuc+CIM6xzr3Osc6zzrrOsc6vzrXPgiDOtc66zrTPjM+DzrXOuc+CIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJyVzJzogY2Fubm90IG1lcmdlIgorbXNnc3RyICLOtM65zrHOtM+Bzr/OvM6uICclcyc6IM60zrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TOriDOtyDPg8+FzrPPh8+Ozr3Otc+Fz4POtyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjI0NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKK21zZ3N0ciAizpTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM6uIM63IM+Az4HOv8+DzrjOrs66zrcgzrHPgM6/z4TOtc67zq3Pg868zrHPhM6/z4Igz4PPhc6zz4fPjs69zrXPhc+DzrfPgiDOs865zrEgz4TOvyAnJXMnIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjY3IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzAgYnVpbHRpbi9jaGVja291dC5jOjI3MworIzogYnVpbHRpbi9jaGVja291dC5jOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggdXBkYXRpbmcgcGF0aHMiCittc2dzdHIgIs+Ezr8gJyVzJyDOtM61IM6zzq/Ovc61z4TOsc65IM69zrEgz4fPgc63z4POuc68zr/PgM6/zrnOt864zrXOryDOvM61IM+EzrfOvSDOtc69zrfOvM6tz4HPic+DzrcgzrTOuc6xzrTPgc6/zrzPjs69IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Mjc5IGJ1aWx0aW4vY2hlY2tvdXQuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgorbXNnc3RyICLPhM6/ICclcycgzrTOtSDOs86vzr3Otc+EzrHOuSDOvc6xIM+Hz4HOt8+DzrnOvM6/z4DOv865zrfOuM61zq8gzrzOtSDPhM6/ICVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLiIKK21zZ3N0ciAizpTOtSDOs86vzr3Otc+EzrHOuSDOtc69zrfOvM6tz4HPic+DzrcgzrTOuc6xzrTPgc6/zrzPjs69IM66zrHOuSDOsc67zrvOsc6zzq4gz4PPhM6/zr0gzrrOu86szrTOvyAnJXMnIM+EzrHPhc+Ez4zPh8+Bzr/Ovc6xLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjM1NCBidWlsdGluL2NoZWNrb3V0LmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJyVzJyBpcyB1bm1lcmdlZCIKK21zZ3N0ciAizrTOtc69IM6tz4fOtc65IM6zzq/Ovc61zrkgz4PPhc6zz4fPjs69zrXPhc+Dzrcgz4TOt8+CIM60zrnOsc60z4HOv868zq7PgiAnJXMnIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlY3JlYXRlZCAlZCBtZXJnZSBjb25mbGljdCIKK21zZ2lkX3BsdXJhbCAiUmVjcmVhdGVkICVkIG1lcmdlIGNvbmZsaWN0cyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXBkYXRlZCAlZCBwYXRoIGZyb20gJXMiCittc2dpZF9wbHVyYWwgIlVwZGF0ZWQgJWQgcGF0aHMgZnJvbSAlcyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXBkYXRlZCAlZCBwYXRoIGZyb20gdGhlIGluZGV4IgorbXNnaWRfcGx1cmFsICJVcGRhdGVkICVkIHBhdGhzIGZyb20gdGhlIGluZGV4IgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjY0NQorbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgorbXNnc3RyICLPgM+Bzq3PgM61zrkgzr3OsSDOtc+AzrnOu8+Nz4POtc+EzrUgz4TOvyDPhM+Bzq3Ph86/zr0gz4POsc+CIM61z4XPgc61z4TOrs+BzrnOvyDPgM+Bz47PhM6xIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnOiAlc1xuIgorbXNnc3RyICLOlM61zr0gzrXOr869zrHOuSDOtM+Fzr3Osc+Ez4wgz4TOvyByZWZsb2cgzrPOuc6xIM+Ezr8gJyVzJzogJXNcbiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjgyNAorbXNnaWQgIkhFQUQgaXMgbm93IGF0IgorbXNnc3RyICLOpM6/IEhFQUQgzrLPgc6vz4POus61z4TOsc65IM+Ez47Pgc6xIM+Dz4TOvyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjgyOCBidWlsdGluL2Nsb25lLmM6Njk5Cittc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBIRUFEIgorbXNnc3RyICLOtM61zr0gzq7PhM6xzr0gzrTPhc69zrHPhM+MIM69zrEgzrXOvc63zrzOtc+Bz4nOuM61zq8gz4TOvyBIRUFEIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCittc2dzdHIgIs6Vz4DOsc69zrHPhs6/z4HOrCDPhM6/z4UgzrrOu86szrTOv8+FICclcydcbiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjgzNQorIywgYy1mb3JtYXQKK21zZ2lkICJBbHJlYWR5IG9uICclcydcbiIKK21zZ3N0ciAizpLPgc6vz4POus61z4PPhM61IM6uzrTOtyDPg8+Ezr8gJyVzJ1xuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGVkIHRvIGFuZCByZXNldCBicmFuY2ggJyVzJ1xuIgorbXNnc3RyICLOkc67zrvOsc6zzq4gzrrOsc65IM61z4DOsc69zrHPhs6/z4HOrCDPg8+Ezr/OvSDOus67zqzOtM6/ICclcydcbiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjg0MSBidWlsdGluL2NoZWNrb3V0LmM6MTIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJyVzJ1xuIgorbXNnc3RyICLOkc67zrvOsc6zzq4gz4POtSDOvc6tzr8gzrrOu86szrTOvyAnJXMnXG4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoZWQgdG8gYnJhbmNoICclcydcbiIKK21zZ3N0ciAizpHOu867zrHOs86uIM+Dz4TOv869IM66zrvOrM60zr8gJyVzJ1xuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAuLi4gYW5kICVkIG1vcmUuXG4iCittc2dzdHIgIiAuLi4gzrrOsc65ICVkIM6xzrrPjM68zrEuXG4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXQgYmVoaW5kLCBub3QgY29ubmVjdGVkIHRvXG4iCisiYW55IG9mIHlvdXIgYnJhbmNoZXM6XG4iCisiXG4iCisiJXNcbiIKK21zZ2lkX3BsdXJhbCAiIgorIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXRzIGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgorImFueSBvZiB5b3VyIGJyYW5jaGVzOlxuIgorIlxuIgorIiVzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJZiB5b3Ugd2FudCB0byBrZWVwIGl0IGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKKyJ0byBkbyBzbyB3aXRoOlxuIgorIlxuIgorIiBnaXQgYnJhbmNoIDxuZXctYnJhbmNoLW5hbWU+ICVzXG4iCisiXG4iCittc2dpZF9wbHVyYWwgIiIKKyJJZiB5b3Ugd2FudCB0byBrZWVwIHRoZW0gYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgorInRvIGRvIHNvIHdpdGg6XG4iCisiXG4iCisiIGdpdCBicmFuY2ggPG5ldy1icmFuY2gtbmFtZT4gJXNcbiIKKyJcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NTEKK21zZ2lkICJpbnRlcm5hbCBlcnJvciBpbiByZXZpc2lvbiB3YWxrIgorbXNnc3RyICLOtc+Dz4nPhM61z4HOuc66z4wgz4PPhs6szrvOvM6xIM+Dz4TOvyDOvM6/zr3Ov8+AzqzPhM65IM61zrrOtM+Mz4POtc+Jzr0iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NTUKK21zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKK21zZ3N0ciAizpcgz4DPgc6/zrfOs86/z43OvM61zr3OtyDOuM6tz4POtyDPhM6/z4UgSEVBRCDOrs+EzrHOvSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjk4MyBidWlsdGluL2NoZWNrb3V0LmM6MTIwNworbXNnaWQgIllvdSBhcmUgb24gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCittc2dzdHIgIs6Sz4HOr8+DzrrOtc+Dz4TOtSDPg861IM66zrvOrM60zr8gz4DOv8+FIM60zrXOvSDOrc+HzrXOuSDOsc66z4zOvM6xIM6zzrXOvc69zrfOuM61zq8iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgorbXNnc3RyICLOsc69zrHOvM61zr3PjM+EzrHOvSDOvM+Mzr3OvyDOvM6vzrEgzrHOvc6xz4bOv8+BzqwsIM60z4zOuM63zrrOsc69ICVkLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjExNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiclcycgY291bGQgYmUgYm90aCBhIGxvY2FsIGZpbGUgYW5kIGEgdHJhY2tpbmcgYnJhbmNoLlxuIgorIlBsZWFzZSB1c2UgLS0gKGFuZCBvcHRpb25hbGx5IC0tbm8tZ3Vlc3MpIHRvIGRpc2FtYmlndWF0ZSIKK21zZ3N0ciAiIgorIs6kzr8gJyVzJyDOuM6xIM68z4DOv8+Bzr/Pjc+DzrUgzr3OsSDOtc6vzr3Osc65IM61zq/PhM61IM+Ezr/PgM65zrrPjCDOsc+Bz4fOtc6vzr8gzrXOr8+EzrUgzrrOu86szrTOv8+CIM+AzrHPgc6xzrrOv867zr/Pjc64zrfPg863z4IuXG4iCisizqDOsc+BzrHOus6xzrvPjiDPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61IC0tICjOus6xzrkgz4DPgc6/zrHOuc+BzrXPhM65zrrOrCAtLW5vLWd1ZXNzKSDOs865zrEgzr3OsSDOsc+Azr/Pg86xz4bOt869zq/Pg861z4TOtSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjExNTMgYnVpbHRpbi93b3JrdHJlZS5jOjI5MCBidWlsdGluL3dvcmt0cmVlLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKK21zZ3N0ciAizrzOtyDOrc6zzrrPhc+BzrcgzrHOvc6xz4bOv8+Bzqw6ICVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE4MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCittc2dzdHIgIs63IM6xzr3Osc+Gzr/Pgc6sIM60zrXOvSDOtc6vzr3Osc65IM60zq3Ovc+Ez4HOvzogJXMiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjIxCittc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCittc2dzdHIgIs60zrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TOriDOtyDPh8+Bzq7Pg863IM60zrnOsc60z4HOv868z47OvSDOvM61IM+EzrfOvSDOsc67zrvOsc6zzq4gzrrOu86szrTPic69IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIyNCBidWlsdGluL2NoZWNrb3V0LmM6MTIyOAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgorbXNnc3RyICLOtM61zr0gzrXOr869zrHOuSDOtM+Fzr3Osc+Ezq4gzrcgz4fPgc6uz4POtyDPhM6/z4UgJyVzJyDOvM61IM+EzrfOvSDOsc67zrvOsc6zzq4gzrrOu86szrTPic69IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIzMiBidWlsdGluL2NoZWNrb3V0LmM6MTIzNSBidWlsdGluL2NoZWNrb3V0LmM6MTI0MAorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciCittc2dzdHIgIs60zrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TOriDOtyDPh8+Bzq7Pg863IM+Ezr/PhSAnJXMnIM68zrUgz4TOvyAnJXMnIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgc3dpdGNoIGJyYW5jaCB0byBhIG5vbi1jb21taXQgJyVzJyIKK21zZ3N0ciAizpTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM6uIM63IM6xzrvOu86xzrPOriDPhM6/z4UgzrrOu86szrTOv8+FIM+Dz4TOvyAnJXMnIM+Azr/PhSDOtM61zr0gzrXOr869zrHOuSDPhc+Azr/Oss6/zrvOriIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEyODEgYnVpbHRpbi9jaGVja291dC5jOjEyODMgYnVpbHRpbi9jbG9uZS5jOjEyMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNjkgYnVpbHRpbi9yZW1vdGUuYzoxNzEgYnVpbHRpbi93b3JrdHJlZS5jOjQ4OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MQorbXNnaWQgImJyYW5jaCIKK21zZ3N0ciAizrrOu86szrTOv8+CIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI4MgorbXNnaWQgImNyZWF0ZSBhbmQgY2hlY2tvdXQgYSBuZXcgYnJhbmNoIgorbXNnc3RyICLOvc6xIM60zrfOvM65zr/Phc+BzrPOt864zrXOryDOus6xzrkgzr3OsSDOtc6+zrHPh864zrXOryDOrc69zrHPgiDOvc6tzr/PgiDOus67zqzOtM6/z4IiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjg0Cittc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKK21zZ3N0ciAizr3OsSDOtM63zrzOuc6/z4XPgc6zzrfOuM61zq8vzrXPgM6xzr3Osc+GzrXPgc64zrXOryDOus6xzrkgzr3OsSDOtc6+zrHPh864zrXOryDOrc69zrHPgiDOus67zqzOtM6/z4IiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjg1Cittc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKK21zZ3N0ciAizr3OsSDOtM63zrzOuc6/z4XPgc6zzrfOuM61zq8gcmVmbG9nIM6zzrnOsSDOvc6tzr8gzrrOu86szrTOvyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEyODYgYnVpbHRpbi93b3JrdHJlZS5jOjQ5MworbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKK21zZ3N0ciAizr3OsSDOs86vzr3Otc65IM6xz4DOv8+Dz43Ovc60zrXPg863IM+Ezr/PhSBIRUFEIM+Dz4TOt869IM66zrHPhM6/zr3Ov868zrHPg868zq3Ovc63IM+Fz4DOv86yzr/Ou86uIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI4NworbXNnaWQgInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIgorbXNnc3RyICLOvc6xIM6/z4HOuc+Dz4TOv8+Nzr0gzr/OuSDPgM67zrfPgc6/z4bOv8+Bzq/Otc+CIM+Ezr/PhSDPgM+Bzr/PgiDPhM6xIM+AzqzOvc+JIM6zzrnOsSDPhM6/zr0gzr3Orc6/IM66zrvOrM60zr8iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjg5Cittc2dpZCAibmV3LWJyYW5jaCIKK21zZ3N0ciAizr3Orc6/z4IgzrrOu86szrTOv8+CIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI4OQorbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKK21zZ3N0ciAizr3Orc6/z4IgzrrOu86szrTOv8+CIM+Hz4nPgc6vz4IgzrPOv869zq3OsSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEyOTEKK21zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCittc2dzdHIgIs69zrEgzrPOr869zrXOuSDOtc6+zrHOs8+JzrPOriDPhM63z4IgzrTOuc66zq7PgiDOvM6xz4Igzq3Ous60zr/Pg863z4IgzrPOuc6xIM+EzrEgzrzOtyDPg8+FzrPPh8+Jzr3Otc+FzrzOrc69zrEgzrHPgc+HzrXOr86xIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI5NAorbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgorbXNnc3RyICLOvc6xIM6zzq/Ovc61zrkgzrXOvs6xzrPPic6zzq4gz4TOt8+CIM60zrnOus6uz4Igz4TOv8+Fz4Igzq3Ous60zr/Pg863z4IgzrPOuc6xIM+EzrEgzrzOtyDPg8+FzrPPh8+Jzr3Otc+FzrzOrc69zrEgzrHPgc+HzrXOr86xIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI5NgorbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgorbXNnc3RyICLOvc6xIM6zzq/Ovc61zrkgzrHOvc6xzrPOus6xz4PPhM65zrrOriDOtc6+zrHOs8+JzrPOriAozrHPgM+Mz4HPgc65z4jOtyDPhM+Jzr0gz4TOv8+AzrnOus+Ozr0gz4TPgc6/z4DOv8+Azr/Ouc6uz4POtc+Jzr0pIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI5OAorbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgorbXNnc3RyICLOvc6xIM6zzq/Ovc61zrkgz4TPgc65z4DOu86uIM+Dz4XOs8+Hz47Ovc61z4XPg863IM68zrUgz4TOv869IM69zq3OvyDOus67zqzOtM6/IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMwMCBidWlsdGluL21lcmdlLmM6Mjc2Cittc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgorbXNnc3RyICLOvc6xIM61zr3Ot868zrXPgc+JzrjOv8+Nzr0gz4TOsSDOsc+Bz4fOtc6vzrEgz4DOv8+FIM+AzrHPgc6xzrLOu86tz4DOv869z4TOsc65ICjPgM+Bzr/Otc+AzrnOu86/zrPOrikiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzAyIGJ1aWx0aW4vbG9nLmM6MTU4NiBwYXJzZS1vcHRpb25zLmg6MjcyCittc2dpZCAic3R5bGUiCittc2dzdHIgIs68zr/Pgc+Gzq4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzAzCittc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKK21zZ3N0ciAizrzOv8+Bz4bOriDPg8+FzrPOus+Bzr/Pjc+DzrXPic69IChtZXJnZSDOriBkaWZmMykiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzA2Cittc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgorbXNnc3RyICIiCisizr3OsSDOvM63IM6zzq/Ovc61zrkgz4DOtc+BzrnOv8+BzrnPg868z4zPgiDPhM+Jzr0gz4DOtc+BzrnOs8+BzrHPhs+Ozr0gzrTOuc6xzrTPgc6/zrzPjs69IM+DzrUgzrzPjM69zr8gzrTOuc6sz4PPgM6xz4HPhM6xIM+Dz4TOv865z4fOtc6vzrEiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzA4Cittc2dpZCAiZG8gbm90IHNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IDxuby1zdWNoLWJyYW5jaD4nIgorbXNnc3RyICIiCisizr3OsSDOvM63IM6zzq/Ovc61zrkgzrTOtc+Nz4TOtc+BzrcgzrHPgM+Mz4DOtc65z4HOsSDOtc+BzrzOt869zrXOr86xz4IgJ2dpdCBjaGVja291dCA8zrrOu86szrTOv8+CIM+Azr/PhSDOtM61zr0gIgorIs+Fz4DOrM+Bz4fOtc65PiciCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzEwCittc2dpZCAiZG8gbm90IGNoZWNrIGlmIGFub3RoZXIgd29ya3RyZWUgaXMgaG9sZGluZyB0aGUgZ2l2ZW4gcmVmIgorbXNnc3RyICIiCisizr3OsSDOvM63IM6zzq/Ovc61zrkgzq3Ou861zrPPh86/z4IgzrHOvSDOus6sz4DOv865zr8gzqzOu867zr8gzrTOrc69z4TPgc6/IM61z4HOs86xz4POr86xz4IgzrrPgc6xz4TOrCDPhM6/IHJlZiDPgM6/z4UgzrTPjM64zrfOus61IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMxNCBidWlsdGluL2Nsb25lLmM6ODcgYnVpbHRpbi9mZXRjaC5jOjE0MQorIzogYnVpbHRpbi9tZXJnZS5jOjI3MyBidWlsdGluL3B1bGwuYzoxMzAgYnVpbHRpbi9wdXNoLmM6NTc1CisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE3NAorbXNnaWQgImZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKK21zZ3N0ciAizr3OsSDOs86vzr3Otc65IM6xzr3Osc6zzrrOsc+Dz4TOuc66zqwgzrHOvc6xz4bOv8+Bzqwgz4TOt8+CIM+Az4HOv8+MzrTOv8+FIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM0NQorbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiz4TOsSAtYiwgLUIgzrrOsc65IC0tb3JwaGFuIM61zq/Ovc6xzrkgzrHOu867zrfOu86/zrHPgM6/zrrOu861zrnPjM68zrXOvc6xIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM2MgorbXNnaWQgIi0tdHJhY2sgbmVlZHMgYSBicmFuY2ggbmFtZSIKK21zZ3N0ciAiz4TOvyAtLXRyYWNrIM+Hz4HOtc65zqzOts61z4TOsc65IM6tzr3OsSDPjM69zr/OvM6xIM66zrvOrM60zr/PhSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNjcKK21zZ2lkICJtaXNzaW5nIGJyYW5jaCBuYW1lOyB0cnkgLWIiCittc2dzdHIgIs67zrXOr8+AzrXOuSDPhM6/IM+Mzr3Ov868zrEgzrrOu86szrTOv8+FLCDOtM6/zrrOuc68zqzPg8+EzrUgLWIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDA0Cittc2dpZCAiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iCittc2dzdHIgIs68zrcgzq3Os866z4XPgc63IM+AzrXPgc65zrPPgc6xz4bOriDOtM65zrHOtM+Bzr/OvM6uz4IiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDExCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgY29tbWl0IGFuZCBhIGJyYW5jaCAnJXMnIGNhbm5vdCBiZSBjcmVhdGVkIGZyb20gaXQiCittc2dzdHIgIiIKKyLPhM6/ICclcycgzrTOtc69IM61zq/Ovc6xzrkgz4XPgM6/zrLOv867zq4gzrrOsc65IM60zrUgzrPOr869zrXPhM6xzrkgzr3OsSDOtM63zrzOuc6/z4XPgc6zzrfOuM61zq8gzrrOu86szrTOv8+CICclcycgzrHPgM+MIM6xz4XPhM+MIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50ICclcyciCittc2dzdHIgImdpdCBjaGVja291dDogz4TOvyAtLWRldGFjaCDOtM61IM60zq3Ph861z4TOsc65IM+Mz4HOuc+DzrzOsSDOtM65zrHOtM+Bzr/OvM6uz4IgJyVzJyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0MTkKK21zZ2lkICIiCisiZ2l0IGNoZWNrb3V0OiAtLW91cnMvLS10aGVpcnMsIC0tZm9yY2UgYW5kIC0tbWVyZ2UgYXJlIGluY29tcGF0aWJsZSB3aGVuXG4iCisiY2hlY2tpbmcgb3V0IG9mIHRoZSBpbmRleC4iCittc2dzdHIgIiIKKyJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSDOus6xzrkgLS1tZXJnZSDOtc6vzr3Osc65IM6xz4PPjc68zrLOsc+EzrEgz4zPhM6xzr1cbiIKKyLOs86vzr3Otc+EzrHOuSDOtc6+zrHOs8+JzrPOriDOsc+Az4wgz4TOvyDOtc+Fz4HOtc+Ezq7Pgc65zr8uIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJyVzJyBtYXRjaGVkIG1vcmUgdGhhbiBvbmUgcmVtb3RlIHRyYWNraW5nIGJyYW5jaC5cbiIKKyJXZSBmb3VuZCAlZCByZW1vdGVzIHdpdGggYSByZWZlcmVuY2UgdGhhdCBtYXRjaGVkLiBTbyB3ZSBmZWxsIGJhY2tcbiIKKyJvbiB0cnlpbmcgdG8gcmVzb2x2ZSB0aGUgYXJndW1lbnQgYXMgYSBwYXRoLCBidXQgZmFpbGVkIHRoZXJlIHRvbyFcbiIKKyJcbiIKKyJJZiB5b3UgbWVhbnQgdG8gY2hlY2sgb3V0IGEgcmVtb3RlIHRyYWNraW5nIGJyYW5jaCBvbiwgZS5nLiAnb3JpZ2luJyxcbiIKKyJ5b3UgY2FuIGRvIHNvIGJ5IGZ1bGx5IHF1YWxpZnlpbmcgdGhlIG5hbWUgd2l0aCB0aGUgLS10cmFjayBvcHRpb246XG4iCisiXG4iCisiICAgIGdpdCBjaGVja291dCAtLXRyYWNrIG9yaWdpbi88bmFtZT5cbiIKKyJcbiIKKyJJZiB5b3UnZCBsaWtlIHRvIGFsd2F5cyBoYXZlIGNoZWNrb3V0cyBvZiBhbiBhbWJpZ3VvdXMgPG5hbWU+IHByZWZlclxuIgorIm9uZSByZW1vdGUsIGUuZy4gdGhlICdvcmlnaW4nIHJlbW90ZSwgY29uc2lkZXIgc2V0dGluZ1xuIgorImNoZWNrb3V0LmRlZmF1bHRSZW1vdGU9b3JpZ2luIGluIHlvdXIgY29uZmlnLiIKK21zZ3N0ciAiIgorIs6kzr8gJyVzJyDPhM6xzq/Pgc65zrHOvs61IM68zrUgz4DOtc+BzrnPg8+Dz4zPhM61z4HOv8+Fz4IgzrHPgM+MIM6tzr3Osc69IM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/z4XPgiAiCisiz4DOsc+BzrHOus6/zrvOv8+FzrjOv8+NzrzOtc69zr/Phc+CIM66zrvOrM60zr/Phc+CLlxuIgorIs6Sz4HOrs66zrHOvM61ICVkIM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/z4XPgiDOtc6+z4XPgM63z4HOtc+EzrfPhM6tz4IgzrzOtSDOsc69zrHPhs6/z4HOrCDPgM6/z4Ugz4TOsc65z4HOuc6szrbOtc65LiDOn8+Az4zPhM61ICIKKyLOrc6zzrnOvc61IM61zr3Osc67zrvOsc66z4TOuc66zqxcbiIKKyLOsc+Az4zPgM61zrnPgc6xIM+EzrHPjc+EzrnPg863z4Igz4TOv8+FIM6/z4HOr8+DzrzOsc+Ezr/PgiDOvM61IM60zrnOsc60z4HOv868zq4sIM6xzrvOu86sIM6xz4DOrc+Ez4XPh861IM66zrHOuSDOsc+Fz4TOriFcbiIKKyJcbiIKKyLOkc69IM64zq3Ou86xz4TOtSDOvc6xIM61zr7Osc6zzqzOs861z4TOtSDOrc69zrHOvSDOsc+Azr/OvM6xzrrPgc+Fz4POvM6tzr3OvyDPgM6xz4HOsc66zr/Ou86/z4XOuM6/z43OvM61zr3OvyDOus67zqzOtM6/IM+ALs+HLiDPg8+Ezr8gIgorIidvcmlnaW4nLFxuIgorIs68z4DOv8+BzrXOr8+EzrUgzr3OsSDPhM6/IM66zqzOvc61z4TOtSDOv8+Bzq/Ots6/zr3PhM6xz4Igzr/Ou86/zrPPgc6sz4bPic+CIM+Ezr8gz4zOvc6/zrzOsSDOvM61IM+EzrfOvSDOtc+AzrnOu86/zrPOriAtLXRyYWNrOlxuIgorIlxuIgorIiAgICBnaXQgY2hlY2tvdXQgLS10cmFjayBvcmlnaW4vPM+Mzr3Ov868zrE+XG4iCisiXG4iCisizpHOvSDOuM6xIM64zq3Ou86xz4TOtSDOv865IM61zr7Osc6zz4nOs86tz4IgzrHPgM+MIM6tzr3OsSDOsc68z4bOr8+DzrfOvM6/IDzPjM69zr/OvM6xPiDOvc6xIM+Az4HOv8+EzrnOvM6/z43OvSDPgM6szr3PhM6xXG4iCisizq3Ovc6xzr0gzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr8gzrXOvs+Fz4DOt8+BzrXPhM63z4TOriwgz4Auz4cuIM+Ezr8gzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr8gJ29yaWdpbicsIM+DzrrOtc+Gz4TOtc6vz4TOtSDOvc6xICIKKyLOv8+Bzq/Pg861z4TOtVxuIgorImNoZWNrb3V0LmRlZmF1bHRSZW1vdGU9b3JpZ2luIM+Dz4TOuc+CIM+Bz4XOuM68zq/Pg861zrnPgiDPg86xz4IuIgorCisjOiBidWlsdGluL2NsZWFuLmM6MjgKK21zZ2lkICIiCisiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPHBhdHRlcm4+XSBbLXggfCAtWF0gWy0tXSA8cGF0aHM+Li4uIgorbXNnc3RyICIiCisiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPM68zr/PhM6vzrLOvz5dIFsteCB8IC1YXSBbLS1dICIKKyI8zrTOuc6xzrTPgc6/zrzOrc+CPi4uLiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbW92aW5nICVzXG4iCittc2dzdHIgIs6Rz4bOsc6vz4HOtc+Dzrcgz4TOv8+FICVzXG4iCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMworIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCByZW1vdmUgJXNcbiIKK21zZ3N0ciAizpjOsSDOsc+GzrHOuc+Bzr/Pjc+DzrUgz4TOvyAlc1xuIgorCisjOiBidWlsdGluL2NsZWFuLmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgcmVwb3NpdG9yeSAlc1xuIgorbXNnc3RyICLOoM+Bzr/Pg8+AzrXPgc69zqzPhM6xzrkgz4TOvyDOsc+Azr/OuM61z4TOrs+BzrnOvyAlc1xuIgorCisjOiBidWlsdGluL2NsZWFuLmM6MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgc2tpcCByZXBvc2l0b3J5ICVzXG4iCittc2dzdHIgIs6YzrEgz4DPgc6/z4PPgM61z4HOvc6/z43Pg861IM+Ezr8gzrHPgM6/zrjOtc+Ezq7Pgc65zr8gJXNcbiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjI5OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUHJvbXB0IGhlbHA6XG4iCisiMSAgICAgICAgICAtIHNlbGVjdCBhIG51bWJlcmVkIGl0ZW1cbiIKKyJmb28gICAgICAgIC0gc2VsZWN0IGl0ZW0gYmFzZWQgb24gdW5pcXVlIHByZWZpeFxuIgorIiAgICAgICAgICAgLSAoZW1wdHkpIHNlbGVjdCBub3RoaW5nXG4iCittc2dzdHIgIiIKKyLOks6/zq7OuM61zrnOsTpcbiIKKyIxICAgICAgICAgIC0gzrXPgM65zrvOv86zzq4gzrHPgc65zrjOvM63zrzOrc69zr/PhSDPg8+Ezr/Ouc+HzrXOr86/z4VcbiIKKyJmb28gICAgICAgIC0gzrXPgM65zrvOv86zzq4gz4PPhM6/zrnPh861zq/Ov8+FIM68zrUgzrLOrM+DzrcgzrzOv869zrHOtM65zrrPjCDPgM+Bz4zOuM61zrzOsVxuIgorIiAgICAgICAgICAgLSAozrrOtc69z4wpIM68zrcgzrXPgM65zrvOv86zzq4gzrrOsc69zrXOvc+Mz4JcbiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjMwMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU4OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUHJvbXB0IGhlbHA6XG4iCisiMSAgICAgICAgICAtIHNlbGVjdCBhIHNpbmdsZSBpdGVtXG4iCisiMy01ICAgICAgICAtIHNlbGVjdCBhIHJhbmdlIG9mIGl0ZW1zXG4iCisiMi0zLDYtOSAgICAtIHNlbGVjdCBtdWx0aXBsZSByYW5nZXNcbiIKKyJmb28gICAgICAgIC0gc2VsZWN0IGl0ZW0gYmFzZWQgb24gdW5pcXVlIHByZWZpeFxuIgorIi0uLi4gICAgICAgLSB1bnNlbGVjdCBzcGVjaWZpZWQgaXRlbXNcbiIKKyIqICAgICAgICAgIC0gY2hvb3NlIGFsbCBpdGVtc1xuIgorIiAgICAgICAgICAgLSAoZW1wdHkpIGZpbmlzaCBzZWxlY3RpbmdcbiIKK21zZ3N0ciAiIgorIs6Szr/Ors64zrXOuc6xOlxuIgorIjEgICAgICAgICAgLSDOtc+AzrnOu86/zrPOriDOtc69z4zPgiDOvM+Mzr3OvyDPg8+Ezr/Ouc+HzrXOr86/z4VcbiIKKyIzLTUgICAgICAgIC0gzrXPgM65zrvOv86zzq4gzrXPjc+Bzr/Phc+CIM+Dz4TOv865z4fOtc6vz4nOvVxuIgorIjItMyw2LTkgICAgLSDOtc+AzrnOu86/zrPOriDPgM6/zrvOu86xz4DOu8+Ozr0gzrXPhc+Bz47OvSDPg8+Ezr/Ouc+HzrXOr8+Jzr1cbiIKKyJmb28gICAgICAgIC0gzrXPgM65zrvOv86zzq4gz4PPhM6/zrnPh861zq/Ov8+FIM68zrUgzrLOrM+DzrcgzrzOv869zrHOtM65zrrPjCDPgM+Bz4zOuM61zrzOsVxuIgorIi0uLi4gICAgICAgLSDOsc+Azr/Otc+AzrnOu86/zrPOriDPhM+Jzr0gzrXOvs6uz4Igz4PPhM6/zrnPh861zq/Pic69XG4iCisiKiAgICAgICAgICAtIM61z4DOuc67zr/Os86uIM+MzrvPic69IM+Ez4nOvSDPg8+Ezr/Ouc+HzrXOr8+Jzr1cbiIKKyIgICAgICAgICAgIC0gKM66zrXOvc+MKSDOv867zr/Ous67zq7Pgc+Jz4POtyDOtc+AzrnOu86/zrPOrs+CXG4iCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo1MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NTQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTU5CisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJIdWggKCVzKT9cbiIKK21zZ3N0ciAizp/Pgc6vz4PPhM61ICglcyk7XG4iCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo2NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5wdXQgaWdub3JlIHBhdHRlcm5zPj4gIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo2OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogQ2Fubm90IGZpbmQgaXRlbXMgbWF0Y2hlZCBieTogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjcxOQorbXNnaWQgIlNlbGVjdCBpdGVtcyB0byBkZWxldGUiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBrZWVwIFt5L05dIGFzIGlzCisjOiBidWlsdGluL2NsZWFuLmM6NzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbW92ZSAlcyBbeS9OXT8gIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3ODUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkJ5ZS5cbiIKK21zZ3N0ciAizpHOvc+Ezq/Ovy5cbiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjc5MworbXNnaWQgIiIKKyJjbGVhbiAgICAgICAgICAgICAgIC0gc3RhcnQgY2xlYW5pbmdcbiIKKyJmaWx0ZXIgYnkgcGF0dGVybiAgIC0gZXhjbHVkZSBpdGVtcyBmcm9tIGRlbGV0aW9uXG4iCisic2VsZWN0IGJ5IG51bWJlcnMgICAtIHNlbGVjdCBpdGVtcyB0byBiZSBkZWxldGVkIGJ5IG51bWJlcnNcbiIKKyJhc2sgZWFjaCAgICAgICAgICAgIC0gY29uZmlybSBlYWNoIGRlbGV0aW9uIChsaWtlIFwicm0gLWlcIilcbiIKKyJxdWl0ICAgICAgICAgICAgICAgIC0gc3RvcCBjbGVhbmluZ1xuIgorImhlbHAgICAgICAgICAgICAgICAgLSB0aGlzIHNjcmVlblxuIgorIj8gICAgICAgICAgICAgICAgICAgLSBoZWxwIGZvciBwcm9tcHQgc2VsZWN0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MjAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzkzCittc2dpZCAiKioqIENvbW1hbmRzICoqKiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6ODIxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc5MAorbXNnaWQgIldoYXQgbm93IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MjkKK21zZ2lkICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtOiIKK21zZ2lkX3BsdXJhbCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbXM6IgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjg0NQorbXNnaWQgIk5vIG1vcmUgZmlsZXMgdG8gY2xlYW4sIGV4aXRpbmcuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MDcKK21zZ2lkICJkbyBub3QgcHJpbnQgbmFtZXMgb2YgZmlsZXMgcmVtb3ZlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6OTA5Cittc2dpZCAiZm9yY2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjkxMAorbXNnaWQgImludGVyYWN0aXZlIGNsZWFuaW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTIKK21zZ2lkICJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjkxMyBidWlsdGluL2Rlc2NyaWJlLmM6NTQ2IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5NyBidWlsdGluL2xvZy5jOjE2NyBidWlsdGluL2xvZy5jOjE2OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NyBidWlsdGluL25hbWUtcmV2LmM6NDE1IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTcKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzgKK21zZ2lkICJwYXR0ZXJuIgorbXNnc3RyICLOvM6/z4TOr86yzr8iCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTQKK21zZ2lkICJhZGQgPHBhdHRlcm4+IHRvIGlnbm9yZSBydWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6OTE1Cittc2dpZCAicmVtb3ZlIGlnbm9yZWQgZmlsZXMsIHRvbyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6OTE3Cittc2dpZCAicmVtb3ZlIG9ubHkgaWdub3JlZCBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NsZWFuLmM6OTM1Cittc2dpZCAiLXggYW5kIC1YIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MzkKK21zZ2lkICIiCisiY2xlYW4ucmVxdWlyZUZvcmNlIHNldCB0byB0cnVlIGFuZCBuZWl0aGVyIC1pLCAtbiwgbm9yIC1mIGdpdmVuOyByZWZ1c2luZyB0byAiCisiY2xlYW4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjk0MgorbXNnaWQgIiIKKyJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgIgorInJlZnVzaW5nIHRvIGNsZWFuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NAorbXNnaWQgImdpdCBjbG9uZSBbPG9wdGlvbnM+XSBbLS1dIDxyZXBvPiBbPGRpcj5dIgorbXNnc3RyICJnaXQgY2xvbmUgWzzOtc+AzrnOu86/zrPOrc+CPl0gWy0tXSA8zrHPgM6/zrjOtc+Ezq7Pgc65zr8+IFs8z4bOrM66zrXOu86/z4I+XSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjg5Cittc2dpZCAiZG9uJ3QgY3JlYXRlIGEgY2hlY2tvdXQiCittc2dzdHIgIs69zrEgzrzOtyDOtM63zrzOuc6/z4XPgc6zzrfOuM61zq8gzrXOvs6xzrPPic6zzq4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MCBidWlsdGluL2Nsb25lLmM6OTIgYnVpbHRpbi9pbml0LWRiLmM6NDgxCittc2dpZCAiY3JlYXRlIGEgYmFyZSByZXBvc2l0b3J5IgorbXNnc3RyICLOvc6xIM60zrfOvM65zr/Phc+BzrPOt864zrXOryDOrc69zrEgzrPPhc68zr3PjCDOsc+Azr/OuM61z4TOrs+BzrnOvyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjk0Cittc2dpZCAiY3JlYXRlIGEgbWlycm9yIHJlcG9zaXRvcnkgKGltcGxpZXMgYmFyZSkiCittc2dzdHIgIs69zrEgzrTOt868zrnOv8+Fz4HOs863zrjOtc6vIM6xz4DOv864zrXPhM6uz4HOuc6/IM6xzr3PhM6vzrPPgc6xz4bOvyAozrXOvc69zr/Otc6vz4TOsc65IM6zz4XOvM69z4wpIgorCisjOiBidWlsdGluL2Nsb25lLmM6OTYKK21zZ2lkICJ0byBjbG9uZSBmcm9tIGEgbG9jYWwgcmVwb3NpdG9yeSIKK21zZ3N0ciAizrPOuc6xIM66zrvPic69zr/PgM6/zq/Ot8+DzrcgzrHPgM+MIM+Ezr/PgM65zrrPjCDOsc+Azr/OuM61z4TOrs+BzrnOvyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjk4Cittc2dpZCAiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiCittc2dzdHIgIs69zrEgzrzOtyDOs86vzr3Otc65IM+Hz4HOrs+Dzrcgz4TOv8+AzrnOus+Ozr0gaGFyZGxpbmtzLCDOvc6xIM6zzq/Ovc61z4TOsc65IM+AzqzOvc+EzrEgzrHOvc+EzrnOs8+BzrHPhs6uIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAwCittc2dpZCAic2V0dXAgYXMgc2hhcmVkIHJlcG9zaXRvcnkiCittc2dzdHIgIs6xz4HPh865zrrOv8+Azr/Or863z4POtyDPic+CIM6xz4DOv864zrXPhM6uz4HOuc6/IM66zr/Ouc69zq7PgiDPh8+Bzq7Pg863z4IiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIgYnVpbHRpbi9jbG9uZS5jOjEwNgorbXNnaWQgInBhdGhzcGVjIgorbXNnc3RyICLPgM61z4HOuc6zz4HOsc+Gzq4gzrTOuc6xzrTPgc6/zrzOrs+CIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAyIGJ1aWx0aW4vY2xvbmUuYzoxMDYKK21zZ2lkICJpbml0aWFsaXplIHN1Ym1vZHVsZXMgaW4gdGhlIGNsb25lIgorbXNnc3RyICLOsc+Bz4fOuc66zr/PgM6/zq/Ot8+Dzrcgz4XPgM6/zrXOvc6/z4TOrs+Ez4nOvSDOvM6tz4POsSDPg8+Ezr/OvSDOus67z47Ovc6/IgorCisjOiBidWlsdGluL2Nsb25lLmM6MTA5Cittc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgY2xvbmVkIGluIHBhcmFsbGVsIgorbXNnc3RyICLOsc+BzrnOuM68z4zPgiDPhc+Azr/Otc69zr/PhM6uz4TPic69IM+Az4HOv8+CIM+AzrHPgc6szrvOu863zrvOtyDOus67z4nOvc6/z4DOv86vzrfPg863IgorCisjOiBidWlsdGluL2Nsb25lLmM6MTEwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OAorbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKK21zZ3N0ciAiz4bOrM66zrXOu86/z4Igz4DPgc6/z4TPjc+Az4nOvSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjExMSBidWlsdGluL2luaXQtZGIuYzo0NzkKK21zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgorbXNnc3RyICLPhs6szrrOtc67zr/PgiDOsc+Az4wgz4TOv869IM6/z4DOv86vzr8gzrjOsSDPh8+BzrfPg865zrzOv8+Azr/Ouc63zrjOv8+Nzr3PhM6xzrkgz4DPgc+Mz4TPhc+AzrEiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTMgYnVpbHRpbi9jbG9uZS5jOjExNSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NjAKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKK21zZ3N0ciAizrHPgM6/zrjOtc+Ezq7Pgc65zr8gzrHOvc6xz4bOv8+BzqzPgiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjExNyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NjIKK21zZ2lkICJ1c2UgLS1yZWZlcmVuY2Ugb25seSB3aGlsZSBjbG9uaW5nIgorbXNnc3RyICLOvc6xIM6zzq/Ovc61zrkgz4fPgc6uz4POtyDPhM6/z4UgLS1yZWZlcmVuY2UgzrzPjM69zr8gzrrOsc+Ezqwgz4TOtyDOtM65zqzPgc66zrXOuc6xIM66zrvPic69zr/PgM6/zq/Ot8+DzrfPgiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjExOCBidWlsdGluL2NvbHVtbi5jOjI3IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDMgYnVpbHRpbi9yZXBhY2suYzozMjkKK21zZ2lkICJuYW1lIgorbXNnc3RyICLPjM69zr/OvM6xIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTE5Cittc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgorbXNnc3RyICIiCisizr3OsSDPh8+BzrfPg865zrzOv8+Azr/Ouc63zrjOtc6vIM+Ezr8gPM+Mzr3Ov868zrE+IM6xzr3PhM6vIM6zzrnOsSAnb3JpZ2luJyDOs865zrEgz4TOt869IM+AzrHPgc6xzrrOv867zr/Pjc64zrfPg863IM+Ezr/PhSAiCisiz4DPgc6/z4Igz4TOsSDPgM6szr3PiSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEyMQorbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGluc3RlYWQgb2YgdGhlIHJlbW90ZSdzIEhFQUQiCittc2dzdHIgIs69zrEgzrXOvs6xz4fOuM61zq8gzr8gPM66zrvOrM60zr/Pgj4gzrHOvc+Ezq8gzrPOuc6xIM+Ezr8gSEVBRCDPhM6/z4UgzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr/PhSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEyMworbXNnaWQgInBhdGggdG8gZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUiCittc2dzdHIgIs60zrnOsc60z4HOv868zq4gzrPOuc6xIM+Ezr8gZ2l0LXVwbG9hZC1wYWNrIM+Dz4TOv869IM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/IM61zr7Phc+AzrfPgc61z4TOt8+Ezq4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjQgYnVpbHRpbi9mZXRjaC5jOjE0MiBidWlsdGluL2dyZXAuYzo4MzYKKyM6IGJ1aWx0aW4vcHVsbC5jOjIxOAorbXNnaWQgImRlcHRoIgorbXNnc3RyICLOss6szrjOv8+CIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTI1Cittc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgorbXNnc3RyICLOvc6xIM60zrfOvM65zr/Phc+BzrPOt864zrXOryDPgc63z4fPjM+CIM66zrvPjs69zr/PgiDOvM61IM6xz4XPhM+MIM+Ezr8gzrLOrM64zr/PgiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEyNiBidWlsdGluL2ZldGNoLmM6MTQ0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MgorbXNnaWQgInRpbWUiCittc2dzdHIgIs+Hz4HPjM69zr/PgiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEyNworbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgc2luY2UgYSBzcGVjaWZpYyB0aW1lIgorbXNnc3RyICLOvc6xIM60zrfOvM65zr/Phc+BzrPOt864zrXOryDPgc63z4fPjM+CIM66zrvPjs69zr/PgiDOsc+Az4wgzrrOrM+Azr/Ouc6xIM+Dz4XOs866zrXOus+BzrnOvM6tzr3OtyDPg8+EzrnOs868zq4gzrrOsc65IM68zrXPhM6sIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTI4IGJ1aWx0aW4vZmV0Y2guYzoxNDYgYnVpbHRpbi9mZXRjaC5jOjE2OQorIzogYnVpbHRpbi9yZWJhc2UuYzoxMDM5Cittc2dpZCAicmV2aXNpb24iCittc2dzdHIgIs6tzrrOtM6/z4POtyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEyOSBidWlsdGluL2ZldGNoLmM6MTQ3Cittc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSwgZXhjbHVkaW5nIHJldiIKK21zZ3N0ciAizr3OsSDOs86vzr3Otc65IM61zrzOss6szrjPhc69z4POtyDPhM6/z4UgzrnPg8+Ezr/Pgc65zrrOv8+NIM+Ezr/PhSDPgc63z4fOv8+NIM66zrvPjs69zr/PhSwgzrXOvs6xzrnPgc+Ozr3PhM6xz4Igz4TOvyByZXYiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzEKK21zZ2lkICJjbG9uZSBvbmx5IG9uZSBicmFuY2gsIEhFQUQgb3IgLS1icmFuY2giCittc2dzdHIgIs69zrEgzrrOu8+Jzr3Ov8+Azr/Ouc63zrjOtc6vIM68z4zOvc6/IM6tzr3Osc+CIM66zrvOrM60zr/Pgiwgz4TOvyBIRUFEIM6uIC0tYnJhbmNoIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTMzCittc2dpZCAiZG9uJ3QgY2xvbmUgYW55IHRhZ3MsIGFuZCBtYWtlIGxhdGVyIGZldGNoZXMgbm90IHRvIGZvbGxvdyB0aGVtIgorbXNnc3RyICIiCisizr3OsSDOvM63zr0gzrrOu8+Jzr3Ov8+Azr/Ouc63zrjOtc6vIM66zrHOvM6vzrEgzrXPhM65zrrOrc+EzrEsIM66zrHOuSDOv865IM68zrXOu867zr/Ovc+EzrnOus6tz4IgzrHOvc6xzrrPhM6uz4POtc65z4Igzr3OsSDOvM63zr0gz4TOuc+CICIKKyLOsc66zr/Ou86/z4XOuM6/z43OvSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEzNQorbXNnaWQgImFueSBjbG9uZWQgc3VibW9kdWxlcyB3aWxsIGJlIHNoYWxsb3ciCittc2dzdHIgIs+MzrvOtc+CIM6/zrkgzrrOu8+Jzr3Ov8+Azr/Ouc63zrzOrc69zrXPgiDPhc+Azr/Otc69z4zPhM63z4TOtc+CIM64zrEgzrXOr869zrHOuSDPgc63z4fOrc+CIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTM2IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NworbXNnaWQgImdpdGRpciIKK21zZ3N0ciAiz4bOrM66zrXOu86/z4IgZ2l0IgorCisjOiBidWlsdGluL2Nsb25lLmM6MTM3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4OAorbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCittc2dzdHIgIs69zrEgzrPOr869zrXOuSDOtM65zrHPh8+Jz4HOuc+DzrzPjM+CIM+Ezr/PhSDPhs6xzrrOrc67zr/PhSBnaXQgzrHPgM+MIM+Ezr8gzrTOrc69z4TPgc6/IM61z4HOs86xz4POr86xz4IiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzgKK21zZ2lkICJrZXk9dmFsdWUiCittc2dzdHIgIs66zrvOtc65zrTOrz3PhM65zrzOriIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEzOQorbXNnaWQgInNldCBjb25maWcgaW5zaWRlIHRoZSBuZXcgcmVwb3NpdG9yeSIKK21zZ3N0ciAizr3OsSDOv8+BzrnPg8+Ezr/Pjc69IM+Bz4XOuM68zq/Pg861zrnPgiDOvM6tz4POsSDPg8+Ezr8gzr3Orc6/IM6xz4DOv864zrXPhM6uz4HOuc6/IgorCisjOiBidWlsdGluL2Nsb25lLmM6MTQwIGJ1aWx0aW4vZmV0Y2guYzoxNjUgYnVpbHRpbi9wdWxsLmM6MjMxCisjOiBidWlsdGluL3B1c2guYzo1ODYKK21zZ2lkICJ1c2UgSVB2NCBhZGRyZXNzZXMgb25seSIKK21zZ3N0ciAiz4fPgc6uz4POtyDOvM+Mzr3OvyDOtM65zrXPhc64z43Ovc+DzrXPic69IElQdjQiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDIgYnVpbHRpbi9mZXRjaC5jOjE2NyBidWlsdGluL3B1bGwuYzoyMzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjU4OAorbXNnaWQgInVzZSBJUHY2IGFkZHJlc3NlcyBvbmx5IgorbXNnc3RyICLPh8+Bzq7Pg863IM68z4zOvc6/IM60zrnOtc+FzrjPjc69z4POtc+Jzr0gSVB2NiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjI4MAorbXNnaWQgIiIKKyJObyBkaXJlY3RvcnkgbmFtZSBjb3VsZCBiZSBndWVzc2VkLlxuIgorIlBsZWFzZSBzcGVjaWZ5IGEgZGlyZWN0b3J5IG9uIHRoZSBjb21tYW5kIGxpbmUiCittc2dzdHIgIiIKKyLOlM61zr0gzq7PhM6xzr0gzrTPhc69zrHPhM+MIM69zrEgzrzOsc69z4TOrc+Izr/Phc68zrUgz4TOvyDPjM69zr/OvM6xIM+Ezr/PhSDPhs6xzrrOrc67zr/PhS5cbiIKKyLOoM6xz4HOsc66zrHOu8+OIM60z47Pg8+EzrUgzq3Ovc6xzr0gz4bOrM66zrXOu86/IM+Dz4TOtyDOs8+BzrHOvM68zq4gzrXOvc+Ezr/Ou8+Ozr0iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5mbzogQ291bGQgbm90IGFkZCBhbHRlcm5hdGUgZm9yICclcyc6ICVzXG4iCittc2dzdHIgIs+AzrvOt8+Bzr/Phs6/z4HOr86xOiDOlM61zr0gzq7PhM6xzr0gzrTPhc69zrHPhM+MIM69zrEgz4DPgc6/z4PPhM61zrjOtc6vIM61zr3Osc67zrvOsc66z4TOuc66zq4gzrPOuc6xIM+Ezr8gJyVzJzogJXNcbiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgorbXNnc3RyICLOsc+Azq3PhM+Fz4fOtSDPhM6/IM6szr3Ov865zrPOvM6xIM+Ezr/PhSAnJXMnIgorCisjOiBidWlsdGluL2Nsb25lLmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGV4aXN0cyBhbmQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICLPhM6/ICVzIM+Fz4DOrM+Bz4fOtc65IM6uzrTOtyDOus6xzrkgzrTOtc69IM61zq/Ovc6xzrkgz4bOrM66zrXOu86/z4IiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXNcbiIKK21zZ3N0ciAizrHPgM6tz4TPhc+HzrUgz4TOvyBzdGF0IM+Ezr/PhSAlc1xuIgorCisjOiBidWlsdGluL2Nsb25lLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKK21zZ3N0ciAizrHPgM6tz4TPhc+HzrUgzrcgzrHPhs6xzq/Pgc61z4POtyDOtM61z4POvM6/z40gJyVzJyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjQ0OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGxpbmsgJyVzJyIKK21zZ3N0ciAizrHPgM6tz4TPhc+HzrUgzrcgzrTOt868zrnOv8+Fz4HOs86vzrEgz4TOv8+FIM60zrXPg868zr/PjSAnJXMnIgorCisjOiBidWlsdGluL2Nsb25lLmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb3B5IGZpbGUgdG8gJyVzJyIKK21zZ3N0ciAizrHPgM6tz4TPhc+HzrUgzrcgzrHOvc+EzrnOs8+BzrHPhs6uIM+Ezr/PhSDOsc+Bz4fOtc6vzr/PhSDPg8+Ezr8gJyVzJyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjQ3OQorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lLlxuIgorbXNnc3RyICLOv867zr/Ous67zrfPgc+OzrjOt866zrUuXG4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0OTMKK21zZ2lkICIiCisiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgorIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgorImFuZCByZXRyeSB0aGUgY2hlY2tvdXQgd2l0aCAnZ2l0IGNoZWNrb3V0IC1mIEhFQUQnXG4iCittc2dzdHIgIiIKKyLOlyDOus67z4nOvc6/z4DOv86vzrfPg863IM+Azq3PhM+Fz4fOtSwgzrHOu867zqwgzrcgzrXOvs6xzrPPic6zzq4gzrHPgM6tz4TPhc+HzrUuXG4iCisizpzPgM6/z4HOtc6vz4TOtSDOvc6xIM61z4DOuc64zrXPic+Bzq7Pg861z4TOtSDPhM65IM61zr7Ors+HzrjOtyDOvM61ICdnaXQgc3RhdHVzJ1xuIgorIs66zrHOuSDOvc6xIM+Az4HOv8+Dz4DOsc64zq7Pg861z4TOtSDPgM6szrvOuSDPhM63zr0gzrXOvs6xzrPPic6zzq4gzrzOtSAnZ2l0IGNoZWNrb3V0IC1mIEhFQUQnXG4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCittc2dzdHIgIs6UzrXOvSDOrs+EzrHOvSDOtM+Fzr3Osc+Ez4wgzr3OsSDOss+BzrXOuM61zq8gzr8gzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr/PgiDOus67zqzOtM6/z4IgJXMgz4DPgc6/z4IgzrrOu8+Jzr3Ov8+Azr/Or863z4POty4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSAlcyIKK21zZ3N0ciAizrTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TPjCDOvc6xIM61zr3Ot868zrXPgc+JzrjOtc6vIM+Ezr8gJXMiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MzcKK21zZ2lkICJyZW1vdGUgSEVBRCByZWZlcnMgdG8gbm9uZXhpc3RlbnQgcmVmLCB1bmFibGUgdG8gY2hlY2tvdXQuXG4iCittc2dzdHIgIiIKKyLPhM6/IM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/IEhFQUQgzrHOvc6xz4bOrc+BzrXPhM6xzrkgz4POtSByZWYgz4DOv8+FIM60zrXOvSDPhc+AzqzPgc+HzrXOuSwgzrTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM6uIM63ICIKKyLOtc6+zrHOs8+JzrPOri5cbiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjc2OAorbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCittc2dzdHIgIs60zrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TOriDOtyDOtc6+zrHOs8+JzrPOriDPhM6/z4UgzrTOrc69z4TPgc6/z4UgzrXPgc6zzrHPg86vzrHPgiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjgxMworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBwYXJhbWV0ZXJzIHRvIGNvbmZpZyBmaWxlIgorbXNnc3RyICLOtM61zr0gzrXOr869zrHOuSDOtM+Fzr3Osc+Ezq4gzrcgzrXOs86zz4HOsc+Gzq4gz4DOsc+BzrHOvM6tz4TPgc+Jzr0gz4PPhM6/IM6xz4HPh861zq/OvyDPgc+FzrjOvM6vz4POtc+Jzr0iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NzYKK21zZ2lkICJjYW5ub3QgcmVwYWNrIHRvIGNsZWFuIHVwIgorbXNnc3RyICLOtM61zr0gzrXOr869zrHOuSDOtM+Fzr3Osc+Ez4wgz4TOvyByZXBhY2sgzrPOuc6xIM66zrHOuM6xz4HOuc+DzrzPjCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjg3OAorbXNnaWQgImNhbm5vdCB1bmxpbmsgdGVtcG9yYXJ5IGFsdGVybmF0ZXMgZmlsZSIKK21zZ3N0ciAiIgorIs60zrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TOriDOtyDOsc+GzrHOr8+BzrXPg863IM60zrXPg868zr/PjSDOsc+Az4wgz4TOvyDPgM+Bzr/Pg8+Jz4HOuc69z4wgzrHPgc+HzrXOr86/IM61zr3Osc67zrvOsc66z4TOuc66z47OvSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjkxOCBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NDEKK21zZ2lkICJUb28gbWFueSBhcmd1bWVudHMuIgorbXNnc3RyICLOpc+AzrXPgc6yzr/Ou865zrrOrCDPgM6/zrvOu86sIM6/z4HOr8+DzrzOsc+EzrEuIgorCisjOiBidWlsdGluL2Nsb25lLmM6OTIyCittc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgorbXNnc3RyICLOoM+Bzq3PgM61zrkgzr3OsSDOv8+Bzq/Pg861z4TOtSDOrc69zrEgzrHPgM6/zrjOtc+Ezq7Pgc65zr8gz4DPgc6/z4IgzrrOu8+Jzr3Ov8+Azr/Or863z4POty4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1iYXJlIGFuZCAtLW9yaWdpbiAlcyBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUuIgorbXNnc3RyICLOv865IM61z4DOuc67zr/Os86tz4IgLS1iYXJlIM66zrHOuSAtLW9yaWdpbiAlcyDOtM61zr0gzrXOr869zrHOuSDPg8+FzrzOss6xz4TOrc+CIM68zrXPhM6xzr7PjSDPhM6/z4XPgi4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MzgKK21zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKK21zZ3N0ciAiz4TOvyAtLWJhcmUgzrrOsc65IM+Ezr8gLS1zZXBhcmF0ZS1naXQtZGlyIM60zrXOvSDOtc6vzr3Osc65IM+Dz4XOvM6yzrHPhM6sIM68zrXPhM6xzr7PjSDPhM6/z4XPgi4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVwb3NpdG9yeSAnJXMnIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLPhM6/IM6xz4DOv864zrXPhM6uz4HOuc6/ICclcycgzrTOtc69IM+Fz4DOrM+Bz4fOtc65IgorCisjOiBidWlsdGluL2Nsb25lLmM6OTU3IGJ1aWx0aW4vZmV0Y2guYzoxNjA4CisjLCBjLWZvcm1hdAorbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKK21zZ3N0ciAiz4TOvyDOss6szrjOv8+CICVzIM60zrXOvSDOtc6vzr3Osc65IM64zrXPhM65zrrPjM+CIM6xz4HOuc64zrzPjM+CIgorCisjOiBidWlsdGluL2Nsb25lLmM6OTY3CisjLCBjLWZvcm1hdAorbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCittc2dzdHIgIs63IM60zrnOsc60z4HOv868zq4gz4DPgc6/zr/Pgc65z4POvM6/z40gJyVzJyDPhc+AzqzPgc+HzrXOuSDOrs60zrcgzrrOsc65IM60zrXOvSDOtc6vzr3Osc65IM66zrXOvc+Mz4Igz4bOrM66zrXOu86/z4IuIgorCisjOiBidWlsdGluL2Nsb25lLmM6OTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIndvcmtpbmcgdHJlZSAnJXMnIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiz4TOvyDOtM6tzr3PhM+Bzr8gzrXPgc6zzrHPg86vzrHPgiAnJXMnIM+Fz4DOrM+Bz4fOtc65IM6uzrTOty4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OTIgYnVpbHRpbi9jbG9uZS5jOjEwMTMgYnVpbHRpbi9kaWZmdG9vbC5jOjI3MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjI5NiBidWlsdGluL3dvcmt0cmVlLmM6MzI2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAnJXMnIgorbXNnc3RyICLOtM61zr0gzq7PhM6xzr0gzrTPhc69zrHPhM6uIM63IM60zrfOvM65zr/Phc+BzrPOr86xIM+Ez4nOvSDOsc+Bz4fOuc66z47OvSDPhs6xzrrOrc67z4nOvSDPhM6/z4UgJyVzJyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjk5NworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJyIKK21zZ3N0ciAizrTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TOriDOtyDOtM63zrzOuc6/z4XPgc6zzq/OsSDPhM6/z4Ugz4bOsc66zq3Ou86/z4UgzrTOrc69z4TPgc6/z4UgzrXPgc6zzrHPg86vzrHPgiAnJXMnIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAxNworIywgYy1mb3JtYXQKK21zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKK21zZ3N0ciAizpPOr869zrXPhM6xzrkgzrrOu8+Jzr3Ov8+Azr/Or863z4POtyDOvM6tz4POsSDPg8+Ezr8gzrPPhc68zr3PjCDOsc+Azr/OuM61z4TOrs+BzrnOvyAnJXMnLi4uXG4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNsb25pbmcgaW50byAnJXMnLi4uXG4iCittc2dzdHIgIs6Tzq/Ovc61z4TOsc65IM66zrvPic69zr/PgM6/zq/Ot8+DzrcgzrzOrc+DzrEgz4PPhM6/ICclcycuLi5cbiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwNDMKK21zZ2lkICIiCisiY2xvbmUgLS1yZWN1cnNpdmUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBib3RoIC0tcmVmZXJlbmNlIGFuZCAtLXJlZmVyZW5jZS1pZi0iCisiYWJsZSIKK21zZ3N0ciAiIgorIs+Ezr8gY2xvbmUgLS1yZWN1cnNpdmUgzrTOtc69IM61zq/Ovc6xzrkgz4PPhc68zrLOsc+Ez4wgzrzOtSDPhM6/IC0tcmVmZXJlbmNlIM66zrHOuSDPhM6/IC0tcmVmZXJlbmNlLSIKKyJpZi1hYmxlIM+EzrHPhc+Ez4zPh8+Bzr/Ovc6xIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTEwNAorbXNnaWQgIi0tZGVwdGggaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgorbXNnc3RyICIiCisiz4TOvyAtLWRlcHRoIM+AzrHPgc6xzrLOu86tz4DOtc+EzrHOuSDPg861IM+Ezr/PgM65zrrOv8+Nz4IgzrrOu8+Ozr3Ov8+Fz4IsIM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrUgz4TOvyBmaWxlOi8vIM6xzr3PhM6vICIKKyLOsc+Fz4TOv8+NLiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjExMDYKK21zZ2lkICItLXNoYWxsb3ctc2luY2UgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgorbXNnc3RyICIiCisiz4TOvyAtLXNoYWxsb3ctc2luY2Ugz4DOsc+BzrHOss67zq3PgM61z4TOsc65IM+DzrUgz4TOv8+AzrnOus6/z43PgiDOus67z47Ovc6/z4XPgiwgz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSDPhM6/ICIKKyJmaWxlOi8vIM6xzr3PhM6vIM6xz4XPhM6/z40uIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTEwOAorbXNnaWQgIi0tc2hhbGxvdy1leGNsdWRlIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKK21zZ3N0ciAiIgorIs+Ezr8gLS1zaGFsbG93LWV4Y2x1ZGUgz4DOsc+BzrHOss67zq3PgM61z4TOsc65IM+DzrUgz4TOv8+AzrnOus6/z43PgiDOus67z47Ovc6/z4XPgiwgz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSDPhM6/ICIKKyJmaWxlOi8vIM6xzr3PhM6vIM6xz4XPhM6/z40uIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTExMAorbXNnaWQgIi0tZmlsdGVyIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKK21zZ3N0ciAiIgorIs+Ezr8gLS1maWx0ZXIgz4DOsc+BzrHOss67zq3PgM61z4TOsc65IM+DzrUgz4TOv8+AzrnOus6/z43PgiDOus67z47Ovc6/z4XPgiwgz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSDPhM6/IGZpbGU6Ly8gzrHOvc+Ezq8gIgorIs6xz4XPhM6/z40uIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTExMworbXNnaWQgInNvdXJjZSByZXBvc2l0b3J5IGlzIHNoYWxsb3csIGlnbm9yaW5nIC0tbG9jYWwiCittc2dzdHIgIs+Ezr8gzrHPgM6/zrjOtc+Ezq7Pgc65zr8gz4DOt86zzq7PgiDOtc6vzr3Osc65IM+BzrfPh8+MLCDOs86vzr3Otc+EzrHOuSDPgM6xz4HOrM6yzrvOtc+Izrcgz4TOv8+FIC0tbG9jYWwiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTE4Cittc2dpZCAiLS1sb2NhbCBpcyBpZ25vcmVkIgorbXNnc3RyICLOs86vzr3Otc+EzrHOuSDPgM6xz4HOrM6yzrvOtc+Izrcgz4TOv8+FIC0tbG9jYWwiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTkyIGJ1aWx0aW4vY2xvbmUuYzoxMjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgorbXNnc3RyICLOnyDOsc+Azr/OvM6xzrrPgc+Fz4POvM6tzr3Ov8+CIM66zrvOrM60zr/PgiAlcyDOtM61IM6yz4HOrc64zrfOus61IM+Dz4TOvyDOsc+Az4wgz4DOrM69z4kgJXMiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjAzCittc2dpZCAiWW91IGFwcGVhciB0byBoYXZlIGNsb25lZCBhbiBlbXB0eSByZXBvc2l0b3J5LiIKK21zZ3N0ciAizqbOsc6vzr3Otc+EzrHOuSDPgM+Jz4IgzrrOu8+Jzr3Ov8+Azr/Ouc6uz4POsc+EzrUgzq3Ovc6xIM66zrXOvc+MIM6xz4DOv864zrXPhM6uz4HOuc6/LiIKKworIzogYnVpbHRpbi9jb2x1bW4uYzoxMAorbXNnaWQgImdpdCBjb2x1bW4gWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCBjb2x1bW4gWzzOtc+AzrnOu86/zrPOrc+CPl0iCisKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MjcKK21zZ2lkICJsb29rdXAgY29uZmlnIHZhcnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb2x1bW4uYzoyOCBidWlsdGluL2NvbHVtbi5jOjI5Cittc2dpZCAibGF5b3V0IHRvIHVzZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbHVtbi5jOjMwCittc2dpZCAiTWF4aW11bSB3aWR0aCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbHVtbi5jOjMxCittc2dpZCAiUGFkZGluZyBzcGFjZSBvbiBsZWZ0IGJvcmRlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbHVtbi5jOjMyCittc2dpZCAiUGFkZGluZyBzcGFjZSBvbiByaWdodCBib3JkZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb2x1bW4uYzozMworbXNnaWQgIlBhZGRpbmcgc3BhY2UgYmV0d2VlbiBjb2x1bW5zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29sdW1uLmM6NTEKK21zZ2lkICItLWNvbW1hbmQgbXVzdCBiZSB0aGUgZmlyc3QgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzo0MQorbXNnaWQgImdpdCBjb21taXQgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgorbXNnc3RyICJnaXQgY29tbWl0IFs8zrXPgM65zrvOv86zzq3Pgj5dIFstLV0gPM+AzrXPgc65zrPPgc6xz4bOriDOtM65zrHOtM+Bzr/OvM6uz4I+Li4uIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjQ2Cittc2dpZCAiZ2l0IHN0YXR1cyBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCittc2dzdHIgImdpdCBzdGF0dXMgWzzOtc+AzrnOu86/zrPOrc+CPl0gWy0tXSA8z4DOtc+BzrnOs8+BzrHPhs6uIM60zrnOsc60z4HOv868zq7Pgj4uLi4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTEKK21zZ2lkICIiCisiWW91IGFza2VkIHRvIGFtZW5kIHRoZSBtb3N0IHJlY2VudCBjb21taXQsIGJ1dCBkb2luZyBzbyB3b3VsZCBtYWtlXG4iCisiaXQgZW1wdHkuIFlvdSBjYW4gcmVwZWF0IHlvdXIgY29tbWFuZCB3aXRoIC0tYWxsb3ctZW1wdHksIG9yIHlvdSBjYW5cbiIKKyJyZW1vdmUgdGhlIGNvbW1pdCBlbnRpcmVseSB3aXRoIFwiZ2l0IHJlc2V0IEhFQUReXCIuXG4iCittc2dzdHIgIiIKKyLOls63z4TOrs+DzrHPhM61IM69zrEgz4TPgc6/z4DOv8+Azr/Ouc6uz4POtc+EzrUgz4TOt869IM+AzrnOvyDPgM+Bz4zPg8+GzrHPhM63IM+Fz4DOv86yzr/Ou86uLCDOsc67zrvOrCDOsc+Fz4TPjCDOuM6xIM+EzrfOvSDOrM+GzrfOvc61XG4iCisizrrOtc69zq4uIM6cz4DOv8+BzrXOr8+EzrUgzr3OsSDOtc+AzrHOvc6xzrvOrM6yzrXPhM61IM+EzrfOvSDOtc69z4TOv867zq4gz4POsc+CIM68zrUgLS1hbGxvdy1lbXB0eSwgzq4gzr3OsVxuIgorIs6xz4bOsc65z4HOrc+DzrXPhM61IM+EzrfOvSDPhc+Azr/Oss6/zrvOriDOtc69z4TOtc67z47PgiDOvM61IFwiZ2l0IHJlc2V0IEhFQUReXCIuXG4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTYKK21zZ2lkICIiCisiVGhlIHByZXZpb3VzIGNoZXJyeS1waWNrIGlzIG5vdyBlbXB0eSwgcG9zc2libHkgZHVlIHRvIGNvbmZsaWN0IHJlc29sdXRpb24uXG4iCisiSWYgeW91IHdpc2ggdG8gY29tbWl0IGl0IGFueXdheSwgdXNlOlxuIgorIlxuIgorIiAgICBnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHlcbiIKKyJcbiIKK21zZ3N0ciAiIgorIs6XIM+Az4HOv863zrPOv8+NzrzOtc69zrcgzrXPgM65zrvOtc66z4TOuc66zq4gzrTOuc6xzrvOv86zzq4gzrXOr869zrHOuSDPhM+Oz4HOsSDOus61zr3Oriwgz4DOuc64zrHOvc+Oz4IgzrvPjM6zz4kgzrXPgM6vzrvPhc+DzrfPgiAiCisiz4PPhc6zzrrPgc6/z43Pg861z4nOvS5cbiIKKyLOkc69IM64zq3Ou861z4TOtSDOvc6xIM+EzrfOvSDPhc+Azr/Oss6szrvOtc+EzrUgz4DOrM+BzrHPhc+EzrEsIM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrU6XG4iCisiXG4iCisiICAgIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eVxuIgorIlxuIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjYzCittc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgcmVzZXQnXG4iCittc2dzdHIgIs6VzrnOtM6szrvOu8+Jz4IsIM+AzrHPgc6xzrrOsc67z44gz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSAnZ2l0IHJlc2V0J1xuIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjY2Cittc2dpZCAiIgorIklmIHlvdSB3aXNoIHRvIHNraXAgdGhpcyBjb21taXQsIHVzZTpcbiIKKyJcbiIKKyIgICAgZ2l0IHJlc2V0XG4iCisiXG4iCisiVGhlbiBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgd2lsbCByZXN1bWUgY2hlcnJ5LXBpY2tpbmdcbiIKKyJ0aGUgcmVtYWluaW5nIGNvbW1pdHMuXG4iCittc2dzdHIgIiIKKyLOkc69IM64zq3Ou861z4TOtSDOvc6xIM+Az4HOv8+Dz4DOtc+BzqzPg861z4TOtSDOsc+Fz4TOriDPhM63zr0gz4XPgM6/zrLOv867zq4sIM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrU6XG4iCisiXG4iCisiICAgIGdpdCByZXNldFxuIgorIlxuIgorIs6Iz4DOtc65z4TOsSDOvM61IFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiDOuM6xIM+Dz4XOvc61z4fOr8+DzrXPhM61IM+EzrfOvSDOtc+AzrnOu861zrrPhM65zrrOriAiCisizrTOuc6xzrvOv86zzq5cbiIKKyLPhM+Jzr0gz4XPgM+MzrvOv865z4DPic69IM+Fz4DOv86yzr/Ou8+Ozr0uXG4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzEyCittc2dpZCAiZmFpbGVkIHRvIHVucGFjayBIRUFEIHRyZWUgb2JqZWN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzUzCittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgaW5kZXgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzozNTkKK21zZ2lkICJpbnRlcmFjdGl2ZSBhZGQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzczCittc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSB0ZW1wb3JhcnkgaW5kZXgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzozNzUKK21zZ2lkICJGYWlsZWQgdG8gdXBkYXRlIG1haW4gY2FjaGUgdHJlZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjQwMCBidWlsdGluL2NvbW1pdC5jOjQyMyBidWlsdGluL2NvbW1pdC5jOjQ2OQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXdfaW5kZXggZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjQ1MgorbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIG1lcmdlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjQ1NAorbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjQ2MgorbXNnaWQgImNhbm5vdCByZWFkIHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjQ4MQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQgJyVzJyBsYWNrcyBhdXRob3IgaGVhZGVyIgorbXNnc3RyICLOtyDPhc+Azr/Oss6/zrvOriAnJXMnIM60zrUgzrTOuc6xzrjOrc+EzrXOuSDOtc+AzrnOus61z4bOsc67zq/OtM6xIM60zrfOvM65zr/Phc+BzrPOv8+NIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQgJyVzJyBoYXMgbWFsZm9ybWVkIGF1dGhvciBsaW5lIgorbXNnc3RyICLOtyDPhc+Azr/Oss6/zrvOriAnJXMnIM6tz4fOtc65IM61z4PPhs6xzrvOvM6tzr3OtyDOs8+BzrHOvM68zq4gzrTOt868zrnOv8+Fz4HOs86/z40iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjAwCittc2dpZCAibWFsZm9ybWVkIC0tYXV0aG9yIHBhcmFtZXRlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjY1MgorbXNnaWQgIiIKKyJ1bmFibGUgdG8gc2VsZWN0IGEgY29tbWVudCBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgdXNlZFxuIgorImluIHRoZSBjdXJyZW50IGNvbW1pdCBtZXNzYWdlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Njg5IGJ1aWx0aW4vY29tbWl0LmM6NzIyIGJ1aWx0aW4vY29tbWl0LmM6MTA1MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgbG9va3VwIGNvbW1pdCAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjcwMSBidWlsdGluL3Nob3J0bG9nLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIihyZWFkaW5nIGxvZyBtZXNzYWdlIGZyb20gc3RhbmRhcmQgaW5wdXQpXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzo3MDMKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZnJvbSBzdGFuZGFyZCBpbnB1dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjcwNworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZmlsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzM2IGJ1aWx0aW4vY29tbWl0LmM6NzQ0Cittc2dpZCAiY291bGQgbm90IHJlYWQgU1FVQVNIX01TRyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjc0MQorbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01TRyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjc5NQorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBjb21taXQgdGVtcGxhdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzo4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkl0IGxvb2tzIGxpa2UgeW91IG1heSBiZSBjb21taXR0aW5nIGEgbWVyZ2UuXG4iCisiSWYgdGhpcyBpcyBub3QgY29ycmVjdCwgcGxlYXNlIHJlbW92ZSB0aGUgZmlsZVxuIgorIlx0JXNcbiIKKyJhbmQgdHJ5IGFnYWluLlxuIgorbXNnc3RyICIiCisiXG4iCisizqbOsc6vzr3Otc+EzrHOuSDPgM+Jz4IgzrzOrM67zrvOv869IM+Fz4DOv86yzqzOu867zrXPhM61IM68zrnOsSDPg8+FzrPPh8+Ozr3Otc+Fz4POty5cbiIKKyLOkc69IM6xz4XPhM+MIM60zrXOvSDOtc6vzr3Osc65IM+Dz4nPg8+Ez4wsIM+AzrHPgc6xzrrOsc67z44gzrHPhs6xzrnPgc6tz4PPhM61IM+Ezr8gzrHPgc+HzrXOr86/XG4iCisiXHQlc1xuIgorIs66zrHOuSDPgM+Bzr/Pg8+AzrHOuM6uz4PPhM61IM6+zrHOvc6sLlxuIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSXQgbG9va3MgbGlrZSB5b3UgbWF5IGJlIGNvbW1pdHRpbmcgYSBjaGVycnktcGljay5cbiIKKyJJZiB0aGlzIGlzIG5vdCBjb3JyZWN0LCBwbGVhc2UgcmVtb3ZlIHRoZSBmaWxlXG4iCisiXHQlc1xuIgorImFuZCB0cnkgYWdhaW4uXG4iCittc2dzdHIgIiIKKyJcbiIKKyLOps6xzq/Ovc61z4TOsc65IM+Az4nPgiDOvM6szrvOu86/zr0gz4XPgM6/zrLOrM67zrvOtc+EzrUgzrzOuc6xIM61z4DOuc67zrXOus+EzrnOus6uIM60zrnOsc67zr/Os86uLlxuIgorIs6Rzr0gzrHPhc+Ez4wgzrTOtc69IM61zq/Ovc6xzrkgz4PPic+Dz4TPjCwgz4DOsc+BzrHOus6xzrvPjiDOsc+GzrHOuc+Bzq3Pg8+EzrUgz4TOvyDOsc+Bz4fOtc6vzr9cbiIKKyJcdCVzXG4iCisizrrOsc65IM+Az4HOv8+Dz4DOsc64zq7Pg8+EzrUgzr7Osc69zqwuXG4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCisid2l0aCAnJWMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCittc2dzdHIgIiIKKyLOoM6xz4HOsc66zrHOu8+OIM61zrnPg86szrPOtc+EzrUgz4TOvyDOvM6uzr3Phc68zrEgz4XPgM6/zrLOv867zq7PgiDOs865zrEgz4TOuc+CIM6xzrvOu86xzrPOrc+CIM+DzrHPgi4gzp/OuSDOs8+BzrHOvM68zq3PgiDPgM6/z4UgIgorIs6xz4HPh86vzrbOv8+Fzr1cbiIKKyLOvM61ICclYycgzrHOs869zr/Ov8+Nzr3PhM6xzrksIM66zrHOuSDOvM61IM66zrXOvc+MIM68zq7Ovc+FzrzOsSDOtc6zzrrOsc+EzrHOu861zq/PgM61z4TOtSDPhM63zr0gz4XPgM6/zrLOv867zq4uXG4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCisid2l0aCAnJWMnIHdpbGwgYmUga2VwdDsgeW91IG1heSByZW1vdmUgdGhlbSB5b3Vyc2VsZiBpZiB5b3Ugd2FudCB0by5cbiIKKyJBbiBlbXB0eSBtZXNzYWdlIGFib3J0cyB0aGUgY29tbWl0LlxuIgorbXNnc3RyICIiCisizqDOsc+BzrHOus6xzrvPjiDOtc65z4POrM6zzrXPhM61IM+Ezr8gzrzOrs69z4XOvM6xIM+Fz4DOv86yzr/Ou86uz4IgzrPOuc6xIM+EzrnPgiDOsc67zrvOsc6zzq3PgiDPg86xz4IuIM6fzrkgzrPPgc6xzrzOvM6tz4Igz4DOv8+FICIKKyLOsc+Bz4fOr862zr/Phc69XG4iCisizrzOtSAnJWMnIM64zrEgzrTOuc6xz4TOt8+BzrfOuM6/z43OvSwgzrzPgM6/z4HOtc6vz4TOtSDOvc6xIM+EzrnPgiDOsc+GzrHOuc+Bzq3Pg861z4TOtSDOvM61z4TOrCDOsc69IM64zq3Ou861z4TOtS5cbiIKKyLOnM61IM66zrXOvc+MIM68zq7Ovc+FzrzOsSDOtc6zzrrOsc+EzrHOu861zq/PgM61z4TOtSDPhM63zr0gz4XPgM6/zrLOv867zq4uXG4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzQXV0aG9yOiAgICAlLipzIDwlLipzPiIKK21zZ3N0ciAiJXPOlM63zrzOuc6/z4XPgc6zz4zPgjogICAgJS4qcyA8JS4qcz4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzRGF0ZTogICAgICAlcyIKK21zZ3N0ciAiJXPOl868zrXPgc6/zrzOt869zq/OsTogICAgICAlcyIKKworIzogYnVpbHRpbi9jb21taXQuYzo4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNDb21taXR0ZXI6ICUuKnMgPCUuKnM+IgorbXNnc3RyICIlc86lz4DOv86yzqzOu867z4nOvTogJS4qcyA8JS4qcz4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODg5Cittc2dpZCAiQ2Fubm90IHJlYWQgaW5kZXgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzo5NTYKK21zZ2lkICJFcnJvciBidWlsZGluZyB0cmVlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjk3MCBidWlsdGluL3RhZy5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCittc2dzdHIgIs6gzrHPgc6xzrrOsc67z44gzrXOuc+DzqzOs861z4TOtSDPhM6/IM68zq7Ovc+FzrzOsSDPh8+BzrfPg865zrzOv8+Azr/Ouc+Ozr3PhM6xz4Igz4TOt869IM61z4DOuc67zr/Os86uIC1tIM6uIC1GLlxuIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEwMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1hdXRob3IgJyVzJyBpcyBub3QgJ05hbWUgPGVtYWlsPicgYW5kIG1hdGNoZXMgbm8gZXhpc3RpbmcgYXV0aG9yIgorbXNnc3RyICIiCisiLS1hdXRob3IgJyVzJyDOtM61zr0gzrXOr869zrHOuSAnzozOvc6/zrzOsSA8ZW1haWw+JyDOus6xzrkgzrTOtc69IM+EzrHOuc+BzrnOrM62zrXOuSDOvM61IM66zqzPgM6/zrnOv869ICIKKyLPhc+AzqzPgc+Hzr/Ovc+EzrEgzrTOt868zrnOv8+Fz4HOs8+MIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEwMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBpZ25vcmVkIG1vZGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNDIgYnVpbHRpbi9jb21taXQuYzoxMjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEwODAKK21zZ2lkICItLWxvbmcgYW5kIC16IGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIi0tbG9uZyDOus6xzrkgLXogzrXOr869zrHOuSDOsc+Dz43OvM6yzrHPhM6xIM68zrXPhM6xzr7PjSDPhM6/z4XPgiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMTEzCittc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAizpcgz4fPgc6uz4POtyDPhM+Jzr0gLS1yZXNldC1hdXRob3IgzrrOsc65IC0tYXV0aG9yIM+EzrHPhc+Ez4zPh8+Bzr/Ovc6xIM60zrXOvSDOrc+HzrXOuSDOvc+MzrfOvM6xIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjExMjIKK21zZ2lkICJZb3UgaGF2ZSBub3RoaW5nIHRvIGFtZW5kLiIKK21zZ3N0ciAizpTOtc69IM6tz4fOtc+EzrUgz4TOr8+Azr/PhM6xIM+Az4HOv8+CIM+Ez4HOv8+Azr/PgM6/zq/Ot8+DzrcuIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjExMjUKK21zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSAtLSBjYW5ub3QgYW1lbmQuIgorbXNnc3RyICLOks+Bzq/Pg866zrXPg8+EzrUgz4PPhM63IM68zq3Pg863IM68zrnOsc+CIM+Dz4XOs8+Hz47Ovc61z4XPg863z4IgLS0gzrTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM6uIM63IM+Ez4HOv8+Azr/PgM6/zq/Ot8+DzrcuIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjExMjcKK21zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgorbXNnc3RyICIiCisizpLPgc6vz4POus61z4PPhM61IM+Dz4TOtyDOvM6tz4POtyDOvM65zrHPgiDOtc+AzrnOu861zrrPhM65zrrOrs+CIM60zrnOsc67zr/Os86uz4IgLS0gzrTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM6uIM63ICIKKyLPhM+Bzr/PgM6/z4DOv86vzrfPg863LiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMTMwCittc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjExNDAKK21zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjExNDIKK21zZ2lkICJPcHRpb24gLW0gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggLWMvLUMvLUYuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1MAorbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCittc2dzdHIgIi0tcmVzZXQtYXV0aG9yIM68z4DOv8+BzrXOryDOvc6xIM+Hz4HOt8+DzrnOvM6/z4DOv865zrfOuM61zq8gzrzPjM69zr8gzrzOtSAtQywgLWMgzq4gLS1hbWVuZC4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NworbXNnaWQgIk9ubHkgb25lIG9mIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIGNhbiBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjkKK21zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMTgzIGJ1aWx0aW4vdGFnLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4OAorbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzE0IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OAorbXNnaWQgInNob3cgc3RhdHVzIGNvbmNpc2VseSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzMTYgYnVpbHRpbi9jb21taXQuYzoxNTAwCittc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzE4Cittc2dpZCAic2hvdyBzdGFzaCBpbmZvcm1hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzMjAgYnVpbHRpbi9jb21taXQuYzoxNTAyCittc2dpZCAiY29tcHV0ZSBmdWxsIGFoZWFkL2JlaGluZCB2YWx1ZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzIyCittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzMjIgYnVpbHRpbi9jb21taXQuYzoxNTA0IGJ1aWx0aW4vcHVzaC5jOjU2MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY0MAorbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgorbXNnc3RyICLOrc6+zr/OtM6/z4Igz4POtSDOvM63z4fOsc69zrnOus6sIM6xzr3Osc6zzr3Pjs+DzrnOvM63IM68zr/Pgc+Gzq4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyNSBidWlsdGluL2NvbW1pdC5jOjE1MDYKK21zZ2lkICJzaG93IHN0YXR1cyBpbiBsb25nIGZvcm1hdCAoZGVmYXVsdCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzI4IGJ1aWx0aW4vY29tbWl0LmM6MTUwOQorbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzMCBidWlsdGluL2NvbW1pdC5jOjEzMzQgYnVpbHRpbi9jb21taXQuYzoxNTEyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTA4NSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTA4OCBidWlsdGluL3JlYmFzZS5jOjExMTgKKyM6IGJ1aWx0aW4vdGFnLmM6NDAwCittc2dpZCAibW9kZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzMzEgYnVpbHRpbi9jb21taXQuYzoxNTEyCittc2dpZCAic2hvdyB1bnRyYWNrZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiBhbGwsIG5vcm1hbCwgbm8uIChEZWZhdWx0OiBhbGwpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNQorbXNnaWQgIiIKKyJzaG93IGlnbm9yZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiB0cmFkaXRpb25hbCwgbWF0Y2hpbmcsIG5vLiAoRGVmYXVsdDogIgorInRyYWRpdGlvbmFsKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzMzcgcGFyc2Utb3B0aW9ucy5oOjE2NAorbXNnaWQgIndoZW4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzM4Cittc2dpZCAiIgorImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgorIihEZWZhdWx0OiBhbGwpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MAorbXNnaWQgImxpc3QgdW50cmFja2VkIGZpbGVzIGluIGNvbHVtbnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzQxCittc2dpZCAiZG8gbm90IGRldGVjdCByZW5hbWVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MworbXNnaWQgImRldGVjdCByZW5hbWVzLCBvcHRpb25hbGx5IHNldCBzaW1pbGFyaXR5IGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MworbXNnaWQgIlVuc3VwcG9ydGVkIGNvbWJpbmF0aW9uIG9mIGlnbm9yZWQgYW5kIHVudHJhY2tlZC1maWxlcyBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDY4Cittc2dpZCAic3VwcHJlc3Mgc3VtbWFyeSBhZnRlciBzdWNjZXNzZnVsIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NjkKK21zZ2lkICJzaG93IGRpZmYgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDcxCittc2dpZCAiQ29tbWl0IG1lc3NhZ2Ugb3B0aW9ucyIKK21zZ3N0ciAizpXPgM65zrvOv86zzq3PgiDOvM63zr3Pjc68zrHPhM6/z4Igz4XPgM6/zrLOv867zq7PgiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDcyIGJ1aWx0aW4vbWVyZ2UuYzoyNjQgYnVpbHRpbi90YWcuYzozOTcKK21zZ2lkICJyZWFkIG1lc3NhZ2UgZnJvbSBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MworbXNnaWQgImF1dGhvciIKK21zZ3N0ciAizrTOt868zrnOv8+Fz4HOs8+Mz4IiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MworbXNnaWQgIm92ZXJyaWRlIGF1dGhvciBmb3IgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NCBidWlsdGluL2djLmM6NTE4Cittc2dpZCAiZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzQKK21zZ2lkICJvdmVycmlkZSBkYXRlIGZvciBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDc1IGJ1aWx0aW4vbWVyZ2UuYzoyNjAgYnVpbHRpbi9ub3Rlcy5jOjQwOQorIzogYnVpbHRpbi9ub3Rlcy5jOjU3NSBidWlsdGluL3RhZy5jOjM5NQorbXNnaWQgIm1lc3NhZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDc1Cittc2dpZCAiY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgIs68zq7Ovc+FzrzOsSDPhc+Azr/Oss6/zrvOrs+CIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzYgYnVpbHRpbi9jb21taXQuYzoxNDc3IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OAorIzogYnVpbHRpbi9jb21taXQuYzoxNDc5IHBhcnNlLW9wdGlvbnMuaDoyNzggcmVmLWZpbHRlci5oOjkyCittc2dpZCAiY29tbWl0IgorbXNnc3RyICLPhc+Azr/Oss6/zrvOriIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDc2Cittc2dpZCAicmV1c2UgYW5kIGVkaXQgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDc3Cittc2dpZCAicmV1c2UgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDc4Cittc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gZml4dXAgc3BlY2lmaWVkIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzkKK21zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODAKK21zZ2lkICJ0aGUgY29tbWl0IGlzIGF1dGhvcmVkIGJ5IG1lIG5vdyAodXNlZCB3aXRoIC1DLy1jLy0tYW1lbmQpIgorbXNnc3RyICLOtyDPhc+Azr/Oss6/zrvOriDOrc+HzrXOuSDOtM63zrzOuc6/z4XPgc6zz4wgzrXOvM6tzr3OsSDPhM+Oz4HOsSAoz4fPgc63z4POuc68zr/PgM6/zrnOtc6vz4TOsc65IM68zrUgLUMvLWMvLS1hbWVuZCkiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MSBidWlsdGluL2xvZy5jOjE1MzMgYnVpbHRpbi9tZXJnZS5jOjI3NworIzogYnVpbHRpbi9wdWxsLmM6MTU2IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3Cittc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MgorbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODMKK21zZ2lkICJmb3JjZSBlZGl0IG9mIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODQKK21zZ2lkICJkZWZhdWx0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NCBidWlsdGluL3RhZy5jOjQwMQorbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDg1Cittc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDg3IGJ1aWx0aW4vbWVyZ2UuYzoyNzUgYnVpbHRpbi9wdWxsLmM6MTg2CisjOiBidWlsdGluL3JldmVydC5jOjExNQorbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTAKK21zZ2lkICJDb21taXQgY29udGVudHMgb3B0aW9ucyIKK21zZ3N0ciAizpXPgM65zrvOv86zzq3PgiDPgM61z4HOuc61z4fOv868zq3Ovc+Jzr0gz4XPgM6/zrLOv867zq7PgiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDkxCittc2dpZCAiY29tbWl0IGFsbCBjaGFuZ2VkIGZpbGVzIgorbXNnc3RyICLOvc6xIM6zzq/Ovc61zrkgz4XPgM6/zrLOv867zq4gz4zOu8+Jzr0gz4TPic69IM6xzrvOu86xzrPOvM6tzr3Pic69IM6xz4HPh861zq/Pic69IgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTIKK21zZ2lkICJhZGQgc3BlY2lmaWVkIGZpbGVzIHRvIGluZGV4IGZvciBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDkzCittc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDk0Cittc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTUKK21zZ2lkICJjb21taXQgb25seSBzcGVjaWZpZWQgZmlsZXMiCittc2dzdHIgIs69zrEgzrPOr869zrXOuSDPhc+Azr/Oss6/zrvOriDOvM+Mzr3OvyDPhM+Jzr0gzrTOv864zq3Ovc+Ez4nOvSDOsc+Bz4fOtc6vz4nOvSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDk2Cittc2dpZCAiYnlwYXNzIHByZS1jb21taXQgYW5kIGNvbW1pdC1tc2cgaG9va3MiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDk3Cittc2dpZCAic2hvdyB3aGF0IHdvdWxkIGJlIGNvbW1pdHRlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTAKK21zZ2lkICJhbWVuZCBwcmV2aW91cyBjb21taXQiCittc2dzdHIgIs+Ez4HOv8+Azr/PgM6/zq/Ot8+Dzrcgz4TOt8+CIM+Az4HOv863zrPOv8+NzrzOtc69zrfPgiDPhc+Azr/Oss6/zrvOrs+CIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTEKK21zZ2lkICJieXBhc3MgcG9zdC1yZXdyaXRlIGhvb2siCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNTE2Cittc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTgKK21zZ2lkICJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5OAorbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNjE3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWJvcnRpbmcgY29tbWl0IGR1ZSB0byBlbXB0eSBjb21taXQgbWVzc2FnZS5cbiIKK21zZ3N0ciAizpXOs866zrHPhM6szrvOtc65z4jOtyDPhM63z4Igz4XPgM6/zrLOv867zq7PgiDOu8+MzrPPiSDOus61zr3Ov8+NIM68zrfOvc+NzrzOsc+Ezr/PgiDPhc+Azr/Oss6/zrvOrs+CLlxuIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWJvcnRpbmcgY29tbWl0OyB5b3UgZGlkIG5vdCBlZGl0IHRoZSBtZXNzYWdlLlxuIgorbXNnc3RyICLOlc6zzrrOsc+EzqzOu861zrnPiM63IM+EzrfPgiDPhc+Azr/Oss6/zrvOrs+CLCDOtM61zr0gzrXPgM61zr7Otc+BzrPOsc+Dz4TOrs66zrHPhM61IM+Ezr8gzrzOrs69z4XOvM6xLlxuIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE2NjgKK21zZ2lkICIiCisicmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLCBidXQgdW5hYmxlIHRvIHdyaXRlXG4iCisibmV3X2luZGV4IGZpbGUuIENoZWNrIHRoYXQgZGlzayBpcyBub3QgZnVsbCBhbmQgcXVvdGEgaXNcbiIKKyJub3QgZXhjZWVkZWQsIGFuZCB0aGVuIFwiZ2l0IHJlc2V0IEhFQURcIiB0byByZWNvdmVyLiIKK21zZ3N0ciAiIgorIs+Ezr8gzrHPgM6/zrjOtc+Ezq7Pgc65zr8gzrXOvc63zrzOtc+Bz47OuM63zrrOtSwgzrHOu867zqwgzrTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TPjCDOvc6xIM6zz4HOsc+GzrXOr1xuIgorIs+Ezr8gzrHPgc+HzrXOr86/IG5ld19pbmRleC4gzpXOu86tzrPOvs+EzrUgz4DPic+CIM6/IM60zq/Pg866zr/PgiDOtM61zr0gzrXOr869zrHOuSDOs861zrzOrM+Ezr/PgiDOus6xzrkgz4DPic+CXG4iCisizrTOtc69IM+Fz4DOrM+Bz4fOtc65IM+Fz4DOrc+BzrLOsc+Dzrcgzr/Pgc6vzr/PhSwgzrrOsc65IM68zrXPhM6sIM66zqzOvc+EzrUgXCJnaXQgcmVzZXQgSEVBRFwiIM6zzrnOsSDOsc69zqzOus+EzrfPg863LiIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMAorbXNnaWQgImdpdCBjb21taXQtZ3JhcGggWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCittc2dzdHIgImdpdCBjb21taXQtZ3JhcGggWy0tb2JqZWN0LWRpciA8z4bOrM66zrXOu86/z4IgzrHOvc+EzrnOus61zrnOvM6tzr3Pic69Pl0iCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTEgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoyMworbXNnaWQgImdpdCBjb21taXQtZ3JhcGggcmVhZCBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKK21zZ3N0ciAiZ2l0IGNvbW1pdC1ncmFwaCByZWFkIFstLW9iamVjdC1kaXIgPM+GzqzOus61zrvOv8+CIM6xzr3PhM65zrrOtc65zrzOrc69z4nOvT5dIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEyIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTgKK21zZ2lkICJnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKK21zZ3N0ciAiZ2l0IGNvbW1pdC1ncmFwaCB2ZXJpZnkgWy0tb2JqZWN0LWRpciA8z4bOrM66zrXOu86/z4IgzrHOvc+EzrnOus61zrnOvM6tzr3Pic69Pl0iCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTMgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoyOAorbXNnaWQgIiIKKyJnaXQgY29tbWl0LWdyYXBoIHdyaXRlIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIFstLWFwcGVuZF0gWy0tcmVhY2hhYmxlfC0tIgorInN0ZGluLXBhY2tzfC0tc3RkaW4tY29tbWl0c10iCittc2dzdHIgIiIKKyJnaXQgY29tbWl0LWdyYXBoIHdyaXRlIFstLW9iamVjdC1kaXIgPM+GzqzOus61zrvOv8+CIM6xzr3PhM65zrrOtc65zrzOrc69z4nOvT5dIFstLWFwcGVuZF0gWy0tIgorInJlYWNoYWJsZXwtLXN0ZGluLXBhY2tzfC0tc3RkaW4tY29tbWl0c10iCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NDggYnVpbHRpbi9jb21taXQtZ3JhcGguYzo3OAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzIgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxOTAgYnVpbHRpbi9mZXRjaC5jOjE1MworIzogYnVpbHRpbi9sb2cuYzoxNTUzCittc2dpZCAiZGlyIgorbXNnc3RyICLPhs6szrrOtc67zr/PgiIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo0OSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjc5CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzMyBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE5MQorbXNnaWQgIlRoZSBvYmplY3QgZGlyZWN0b3J5IHRvIHN0b3JlIHRoZSBncmFwaCIKK21zZ3N0ciAizp8gz4bOrM66zrXOu86/z4IgzrHOvc+EzrnOus61zrnOvM6tzr3Pic69IM+Azr/PhSDOuM6xIM6xz4DOv864zrfOus61z4XPhM61zq8gzr8gzrPPgc6sz4bOv8+CIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzNQorbXNnaWQgInN0YXJ0IHdhbGsgYXQgYWxsIHJlZnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzcKK21zZ2lkICJzY2FuIHBhY2staW5kZXhlcyBsaXN0ZWQgYnkgc3RkaW4gZm9yIGNvbW1pdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzkKK21zZ2lkICJzdGFydCB3YWxrIGF0IGNvbW1pdHMgbGlzdGVkIGJ5IHN0ZGluIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTQxCittc2dpZCAiaW5jbHVkZSBhbGwgY29tbWl0cyBhbHJlYWR5IGluIHRoZSBjb21taXQtZ3JhcGggZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE1MAorbXNnaWQgInVzZSBhdCBtb3N0IG9uZSBvZiAtLXJlYWNoYWJsZSwgLS1zdGRpbi1jb21taXRzLCBvciAtLXN0ZGluLXBhY2tzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTEKK21zZ2lkICJnaXQgY29uZmlnIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgY29uZmlnIFs8zrXPgM65zrvOv86zzq3Pgj5dIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgLS10eXBlIGFyZ3VtZW50LCAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjExNQorbXNnaWQgIm9ubHkgb25lIHR5cGUgYXQgYSB0aW1lIgorbXNnc3RyICLOvM+Mzr3OvyDOrc69zrHPgiDPhM+Nz4DOv8+CIM66zqzOuM61IM+Gzr/Pgc6sIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEyNAorbXNnaWQgIkNvbmZpZyBmaWxlIGxvY2F0aW9uIgorbXNnc3RyICLOpM6/z4DOv864zrXPg86vzrEgzrHPgc+HzrXOr86/z4Ugz4HPhc64zrzOr8+DzrXPic69IgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEyNQorbXNnaWQgInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiCittc2dzdHIgIs69zrEgzrPOr869zrXOuSDPh8+Bzq7Pg863IM+Ezr/PhSDOus6xzrjOv867zrnOus6/z40gzrHPgc+HzrXOr86/z4Ugz4HPhc64zrzOr8+DzrXPic69IgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEyNgorbXNnaWQgInVzZSBzeXN0ZW0gY29uZmlnIGZpbGUiCittc2dzdHIgIs69zrEgzrPOr869zrXOuSDPh8+Bzq7Pg863IM+Ezr/PhSDOsc+Bz4fOtc6vzr/PhSDPgc+FzrjOvM6vz4POtc+Jzr0gz4PPhc+Dz4TOrs68zrHPhM6/z4IiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTI3Cittc2dpZCAidXNlIHJlcG9zaXRvcnkgY29uZmlnIGZpbGUiCittc2dzdHIgIs69zrEgzrPOr869zrXOuSDPh8+Bzq7Pg863IM+Ezr/PhSDOsc+Bz4fOtc6vzr/PhSDPgc+FzrjOvM6vz4POtc+Jzr0gzrHPgM6/zrjOtc+EzrfPgc6vzr/PhSIKKworIzogYnVpbHRpbi9jb25maWcuYzoxMjgKK21zZ2lkICJ1c2UgcGVyLXdvcmt0cmVlIGNvbmZpZyBmaWxlIgorbXNnc3RyICLOvc6xIM6zzq/Ovc61zrkgz4fPgc6uz4POtyDOsc+Bz4fOtc6vzr/PhSDPgc+FzrjOvM6vz4POtc+Jzr0gzrHOvc6sIM60zq3Ovc+Ez4HOvyDOtc+BzrPOsc+Dzq/Osc+CIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEyOQorbXNnaWQgInVzZSBnaXZlbiBjb25maWcgZmlsZSIKK21zZ3N0ciAizr3OsSDOs86vzr3Otc65IM+Hz4HOrs+Dzrcgz4TOv8+FIM60zr/OuM6tzr3PhM6/z4IgzrHPgc+HzrXOr86/z4Ugz4HPhc64zrzOr8+DzrXPic69IgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEzMAorbXNnaWQgImJsb2ItaWQiCittc2dzdHIgIs6xzr3Osc6zzr3Pic+BzrnPg8+EzrnOus+MIGJsb2IiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTMwCittc2dpZCAicmVhZCBjb25maWcgZnJvbSBnaXZlbiBibG9iIG9iamVjdCIKK21zZ3N0ciAizrHOvc6szrPOvc+Jz4POtyDPgc+FzrjOvM6vz4POtc+Jzr0gzrHPgM+MIM+Ezr8gzrTOv864zq3OvSDOsc69z4TOuc66zrXOr868zrXOvc6/IGJsb2IiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTMxCittc2dpZCAiQWN0aW9uIgorbXNnc3RyICLOlc69zq3Pgc6zzrXOuc6xIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEzMgorbXNnaWQgImdldCB2YWx1ZTogbmFtZSBbdmFsdWUtcmVnZXhdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTMzCittc2dpZCAiZ2V0IGFsbCB2YWx1ZXM6IGtleSBbdmFsdWUtcmVnZXhdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTM0Cittc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzoxMzUKK21zZ2lkICJnZXQgdmFsdWUgc3BlY2lmaWMgZm9yIHRoZSBVUkw6IHNlY3Rpb25bLnZhcl0gVVJMIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTM2Cittc2dpZCAicmVwbGFjZSBhbGwgbWF0Y2hpbmcgdmFyaWFibGVzOiBuYW1lIHZhbHVlIFt2YWx1ZV9yZWdleF0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzoxMzcKK21zZ2lkICJhZGQgYSBuZXcgdmFyaWFibGU6IG5hbWUgdmFsdWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzoxMzgKK21zZ2lkICJyZW1vdmUgYSB2YXJpYWJsZTogbmFtZSBbdmFsdWUtcmVnZXhdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTM5Cittc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNDAKK21zZ2lkICJyZW5hbWUgc2VjdGlvbjogb2xkLW5hbWUgbmV3LW5hbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNDEKK21zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQyCittc2dpZCAibGlzdCBhbGwiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNDMKK21zZ2lkICJvcGVuIGFuIGVkaXRvciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE0NAorbXNnaWQgImZpbmQgdGhlIGNvbG9yIGNvbmZpZ3VyZWQ6IHNsb3QgW2RlZmF1bHRdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ1Cittc2dpZCAiZmluZCB0aGUgY29sb3Igc2V0dGluZzogc2xvdCBbc3Rkb3V0LWlzLXR0eV0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNDYKK21zZ2lkICJUeXBlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ3Cittc2dpZCAidmFsdWUgaXMgZ2l2ZW4gdGhpcyB0eXBlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ4Cittc2dpZCAidmFsdWUgaXMgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ5Cittc2dpZCAidmFsdWUgaXMgZGVjaW1hbCBudW1iZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNTAKK21zZ2lkICJ2YWx1ZSBpcyAtLWJvb2wgb3IgLS1pbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNTEKK21zZ2lkICJ2YWx1ZSBpcyBhIHBhdGggKGZpbGUgb3IgZGlyZWN0b3J5IG5hbWUpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTUyCittc2dpZCAidmFsdWUgaXMgYW4gZXhwaXJ5IGRhdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNTMKK21zZ2lkICJPdGhlciIKK21zZ3N0ciAizobOu867zr8iCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTU0Cittc2dpZCAidGVybWluYXRlIHZhbHVlcyB3aXRoIE5VTCBieXRlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTU1Cittc2dpZCAic2hvdyB2YXJpYWJsZSBuYW1lcyBvbmx5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTU2Cittc2dpZCAicmVzcGVjdCBpbmNsdWRlIGRpcmVjdGl2ZXMgb24gbG9va3VwIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTU3Cittc2dpZCAic2hvdyBvcmlnaW4gb2YgY29uZmlnIChmaWxlLCBzdGFuZGFyZCBpbnB1dCwgYmxvYiwgY29tbWFuZCBsaW5lKSIKK21zZ3N0ciAiIgorIs+Az4HOv86yzr/Ou86uIM+Az4HOv86tzrvOtc+Fz4POt8+CIM+Bz4XOuM68zq/Pg861z4nOvSAozrHPgc+HzrXOr86/LCBzdGFuZGFyZCBpbnB1dCwgYmxvYiwgzrPPgc6xzrzOvM6uIM61zr3PhM6/zrvPjs69KSIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNTgKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE1OAorbXNnaWQgIndpdGggLS1nZXQsIHVzZSBkZWZhdWx0IHZhbHVlIHdoZW4gbWlzc2luZyBlbnRyeSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzLCBzaG91bGQgYmUgJWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cywgc2hvdWxkIGJlIGZyb20gJWQgdG8gJWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzozMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBrZXkgcGF0dGVybjogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGZvcm1hdCBkZWZhdWx0IGNvbmZpZyB2YWx1ZTogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHBhcnNlIGNvbG9yICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo0NDMKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgZGVmYXVsdCBjb2xvciB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjQ5NiBidWlsdGluL2NvbmZpZy5jOjc0MgorbXNnaWQgIm5vdCBpbiBhIGdpdCBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo0OTkKK21zZ2lkICJ3cml0aW5nIHRvIHN0ZGluIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo1MDIKK21zZ2lkICJ3cml0aW5nIGNvbmZpZyBibG9icyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLOtyDOtc6zzrPPgc6xz4bOriBibG9iIM+Bz4XOuM68zq/Pg8+Jzr0gzrTOtc69IM+Fz4DOv8+Dz4TOt8+Bzq/Ots61z4TOsc65IgorCisjOiBidWlsdGluL2NvbmZpZy5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIyBUaGlzIGlzIEdpdCdzIHBlci11c2VyIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiIKKyJbdXNlcl1cbiIKKyIjIFBsZWFzZSBhZGFwdCBhbmQgdW5jb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZXM6XG4iCisiI1x0bmFtZSA9ICVzXG4iCisiI1x0ZW1haWwgPSAlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjExCittc2dpZCAib25seSBvbmUgY29uZmlnIGZpbGUgYXQgYSB0aW1lIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjE2Cittc2dpZCAiLS1sb2NhbCBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIGdpdCByZXBvc2l0b3J5IgorbXNnc3RyICLPhM6/IC0tbG9jYWwgzrzPgM6/z4HOtc6vIM69zrEgz4fPgc63z4POuc68zr/PgM6/zrnOt864zrXOryDOvM+Mzr3OvyDOvM6tz4POsSDPg861IM6xz4DOv864zrXPhM6uz4HOuc6/IGdpdCIKKworIzogYnVpbHRpbi9jb25maWcuYzo2MTkKK21zZ2lkICItLWJsb2IgY2FuIG9ubHkgYmUgdXNlZCBpbnNpZGUgYSBnaXQgcmVwb3NpdG9yeSIKK21zZ3N0ciAiz4TOvyAtLWJsb2IgzrzPgM6/z4HOtc6vIM69zrEgz4fPgc63z4POuc68zr/PgM6/zrnOt864zrXOryDOvM+Mzr3OvyDOvM6tz4POsSDPg861IM6xz4DOv864zrXPhM6uz4HOuc6/IGdpdCIKKworIzogYnVpbHRpbi9jb25maWcuYzo2MzgKK21zZ2lkICIkSE9NRSBub3Qgc2V0IgorbXNnc3RyICLOpM6/ICRIT01FIM60zrXOvSDOrc+HzrXOuSDOv8+BzrnPg8+EzrXOryIKKworIzogYnVpbHRpbi9jb25maWcuYzo2NTgKK21zZ2lkICIiCisiLS13b3JrdHJlZSBjYW5ub3QgYmUgdXNlZCB3aXRoIG11bHRpcGxlIHdvcmtpbmcgdHJlZXMgdW5sZXNzIHRoZSBjb25maWdcbiIKKyJleHRlbnNpb24gd29ya3RyZWVDb25maWcgaXMgZW5hYmxlZC4gUGxlYXNlIHJlYWQgXCJDT05GSUdVUkFUSU9OIEZJTEVcIlxuIgorInNlY3Rpb24gaW4gXCJnaXQgaGVscCB3b3JrdHJlZVwiIGZvciBkZXRhaWxzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6Njg4Cittc2dpZCAiLS1nZXQtY29sb3IgYW5kIHZhcmlhYmxlIHR5cGUgYXJlIGluY29oZXJlbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo2OTMKK21zZ2lkICJvbmx5IG9uZSBhY3Rpb24gYXQgYSB0aW1lIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzA2Cittc2dpZCAiLS1uYW1lLW9ubHkgaXMgb25seSBhcHBsaWNhYmxlIHRvIC0tbGlzdCBvciAtLWdldC1yZWdleHAiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo3MTIKK21zZ2lkICIiCisiLS1zaG93LW9yaWdpbiBpcyBvbmx5IGFwcGxpY2FibGUgdG8gLS1nZXQsIC0tZ2V0LWFsbCwgLS1nZXQtcmVnZXhwLCBhbmQgLS0iCisibGlzdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjcxOAorbXNnaWQgIi0tZGVmYXVsdCBpcyBvbmx5IGFwcGxpY2FibGUgdG8gLS1nZXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgY29uZmlnIGZpbGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjczNAorbXNnaWQgImVycm9yIHByb2Nlc3NpbmcgY29uZmlnIGZpbGUocykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo3NDQKK21zZ2lkICJlZGl0aW5nIHN0ZGluIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo3NDYKK21zZ2lkICJlZGl0aW5nIGJsb2JzIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIs63IM60zrnPjM+BzrjPic+DzrcgYmxvYiDOtM61zr0gz4XPgM6/z4PPhM63z4HOr862zrXPhM6xzrkiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzYwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgY29uZmlndXJhdGlvbiBmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzczCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjYW5ub3Qgb3ZlcndyaXRlIG11bHRpcGxlIHZhbHVlcyB3aXRoIGEgc2luZ2xlIHZhbHVlXG4iCisiICAgICAgIFVzZSBhIHJlZ2V4cCwgLS1hZGQgb3IgLS1yZXBsYWNlLWFsbCB0byBjaGFuZ2UgJXMuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODQ3IGJ1aWx0aW4vY29uZmlnLmM6ODU4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggc2VjdGlvbjogJXMiCittc2dzdHIgIs60zrXOvSDPhc+AzqzPgc+HzrXOuSDPhM6tz4TOv865zrEgzrXOvc+Mz4TOt8+EzrE6ICVzIgorCisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5MAorbXNnaWQgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCittc2dzdHIgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCisKKyM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjEwMAorbXNnaWQgInByaW50IHNpemVzIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjcKK21zZ2lkICJnaXQgZGVzY3JpYmUgWzxvcHRpb25zPl0gWzxjb21taXQtaXNoPi4uLl0iCittc2dzdHIgImdpdCBkZXNjcmliZSBbPM61z4DOuc67zr/Os86tz4I+XSBbPM+Fz4DOv86yzr/Ou86uIM6uIM+GzrHOuc69zr/OvM61zr3Ouc66zq4+Li4uXSIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4Cittc2dpZCAiZ2l0IGRlc2NyaWJlIFs8b3B0aW9ucz5dIC0tZGlydHkiCittc2dzdHIgImdpdCBkZXNjcmliZSBbPM61z4DOuc67zr/Os86tz4I+XSAtLWRpcnR5IgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NjMKK21zZ2lkICJoZWFkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2MworbXNnaWQgImxpZ2h0d2VpZ2h0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2MworbXNnaWQgImFubm90YXRlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgImFubm90YXRlZCB0YWcgJXMgbm90IGF2YWlsYWJsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgImFubm90YXRlZCB0YWcgJXMgaGFzIG5vIGVtYmVkZGVkIG5hbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyByZWFsbHkgJyVzJyBoZXJlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdGFnIGV4YWN0bHkgbWF0Y2hlcyAnJXMnIgorbXNnc3RyICLOus6xzrzOr86xIM61z4TOuc66zq3PhM6xIM60zrXOvSDPhM6xzrnPgc65zqzOts61zrkgzrHOus+BzrnOss+Oz4IgzrzOtSDPhM6/ICclcyciCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gZXhhY3QgbWF0Y2ggb24gcmVmcyBvciB0YWdzLCBzZWFyY2hpbmcgdG8gZGVzY3JpYmVcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbmlzaGVkIHNlYXJjaCBhdCAlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vIGFubm90YXRlZCB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgorIkhvd2V2ZXIsIHRoZXJlIHdlcmUgdW5hbm5vdGF0ZWQgdGFnczogdHJ5IC0tdGFncy4iCittc2dzdHIgIiIKKyLOms6xzrzOr86xIM+Dz4fOv867zrnOsc+DzrzOrc69zrcgzrXPhM65zrrOrc+EzrEgzrTOtc69IM+AzrXPgc65zrPPgc6sz4bOtc65IM+Ezr8gJyVzJy5cbiIKKyLOoM6sz4HOsc+Fz4TOsSwgz4XPgM6uz4HPh86xzr0gzrzOtyDPg8+Hzr/Ou865zrHPg868zq3Ovc61z4IgzrXPhM65zrrOrc+EzrXPgjogzrTOv866zrnOvM6sz4PPhM61IM+Ezr8gLS10YWdzLiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm8gdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKKyJUcnkgLS1hbHdheXMsIG9yIGNyZWF0ZSBzb21lIHRhZ3MuIgorbXNnc3RyICIiCisizprOsc68zq/OsSDOtc+EzrnOus6tz4TOsSDOtM61zr0gz4DOtc+BzrnOs8+BzqzPhs61zrkgz4TOvyAnJXMnLlxuIgorIs6Uzr/Ous65zrzOrM+Dz4TOtSDPhM6/IC0tYWx3YXlzLCDOriDOtM63zrzOuc6/z4XPgc6zzq7Pg8+EzrUgzrXPhM65zrrOrc+EzrXPgi4iCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJhdmVyc2VkICVsdSBjb21taXRzXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibW9yZSB0aGFuICVpIHRhZ3MgZm91bmQ7IGxpc3RlZCAlaSBtb3N0IHJlY2VudFxuIgorImdhdmUgdXAgc2VhcmNoIGF0ICVzXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjUxMAorIywgYy1mb3JtYXQKK21zZ2lkICJkZXNjcmliZSAlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MTMgYnVpbHRpbi9sb2cuYzo1MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiCittc2dzdHIgIs6czrcgzq3Os866z4XPgc6/IM+Mzr3Ov868zrEgzrHOvc+EzrnOus61zrnOvM6tzr3Ov8+FICVzIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5laXRoZXIgYSBjb21taXQgbm9yIGJsb2IiCittc2dzdHIgIiVzIM60zrXOvSDOtc6vzr3Osc65IM6/z43PhM61IM+Fz4DOv86yzr/Ou86uIM6/z43PhM61IGJsb2IiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzUKK21zZ2lkICJmaW5kIHRoZSB0YWcgdGhhdCBjb21lcyBhZnRlciB0aGUgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzYKK21zZ2lkICJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzcKK21zZ2lkICJ1c2UgYW55IHJlZiIKK21zZ3N0ciAizr3OsSDOs86vzr3Otc65IM+Hz4HOrs+Dzrcgzr/PgM6/zrnOv8+FzrTOrs+Azr/PhM61IHJlZiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzOAorbXNnaWQgInVzZSBhbnkgdGFnLCBldmVuIHVuYW5ub3RhdGVkIgorbXNnc3RyICLOvc6xIM6zzq/Ovc61zrkgz4fPgc6uz4POtyDOv8+Azr/Ouc6xz4POtM6uz4DOv8+EzrUgzrXPhM65zrrOrc+EzrHPgiwgzrHOus+MzrzOsSDOus6xzrkgzrzOtyDPg8+Hzr/Ou865zrHPg868zq3Ovc63z4IiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzkKK21zZ2lkICJhbHdheXMgdXNlIGxvbmcgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDAKK21zZ2lkICJvbmx5IGZvbGxvdyBmaXJzdCBwYXJlbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MworbXNnaWQgIm9ubHkgb3V0cHV0IGV4YWN0IG1hdGNoZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0NQorbXNnaWQgImNvbnNpZGVyIDxuPiBtb3N0IHJlY2VudCB0YWdzIChkZWZhdWx0OiAxMCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0NworbXNnaWQgIm9ubHkgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0OQorbXNnaWQgImRvIG5vdCBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUxIGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjQKK21zZ2lkICJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MiBidWlsdGluL2Rlc2NyaWJlLmM6NTU1Cittc2dpZCAibWFyayIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUzCittc2dpZCAiYXBwZW5kIDxtYXJrPiBvbiBkaXJ0eSB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWRpcnR5XCIpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTYKK21zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGJyb2tlbiB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWJyb2tlblwiKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTc0Cittc2dpZCAiLS1sb25nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWJicmV2PTAiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjYwMworbXNnaWQgIk5vIG5hbWVzIGZvdW5kLCBjYW5ub3QgZGVzY3JpYmUgYW55dGhpbmcuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTQKK21zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NjU2Cittc2dpZCAiLS1icm9rZW4gaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZi5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcyc6IG5vdCBhIHJlZ3VsYXIgZmlsZSBvciBzeW1saW5rIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZi5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG9wdGlvbjogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kaWZmLmM6MzY0Cittc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkiCittc2dzdHIgIs6UzrXOvSDOtc6vzr3Osc65IM6xz4DOv864zrXPhM6uz4HOuc6/IGdpdCIKKworIzogYnVpbHRpbi9kaWZmLmM6NDA4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgb2JqZWN0ICclcycgZ2l2ZW4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZi5jOjQxNworIywgYy1mb3JtYXQKK21zZ2lkICJtb3JlIHRoYW4gdHdvIGJsb2JzIGdpdmVuOiAnJXMnIgorbXNnc3RyICLOtM+MzrjOt866zrHOvSDPgM61z4HOuc+Dz4PPjM+EzrXPgc6xIM6xz4DPjCDOtM+Nzr8gYmxvYjogJyVzJyIKKworIzogYnVpbHRpbi9kaWZmLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjMxCittc2dpZCAiZ2l0IGRpZmZ0b29sIFs8b3B0aW9ucz5dIFs8Y29tbWl0PiBbPGNvbW1pdD5dXSBbLS1dIFs8cGF0aD4uLi5dIgorbXNnc3RyICJnaXQgZGlmZnRvb2wgWzzOtc+AzrnOu86/zrPOrc+CPl0gWzzPhc+Azr/Oss6/zrvOrj4gWzzPhc+Azr/Oss6/zrvOrj5dXSBbLS1dIFs8zrTOuc6xzrTPgc6/zrzOrj4uLi5dIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZDogJWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjMwMworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBzeW1saW5rICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzozMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgc3ltbGluayBmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgb2JqZWN0ICVzIGZvciBzeW1saW5rICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo0MTQKK21zZ2lkICIiCisiY29tYmluZWQgZGlmZiBmb3JtYXRzKCctYycgYW5kICctLWNjJykgYXJlIG5vdCBzdXBwb3J0ZWQgaW5cbiIKKyJkaXJlY3RvcnkgZGlmZiBtb2RlKCctZCcgYW5kICctLWRpci1kaWZmJykuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm90aCBmaWxlcyBtb2RpZmllZDogJyVzJyBhbmQgJyVzJy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNgorbXNnaWQgIndvcmtpbmcgdHJlZSBmaWxlIGhhcyBiZWVuIGxlZnQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVtcG9yYXJ5IGZpbGVzIGV4aXN0IGluICclcycuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDgKK21zZ2lkICJ5b3UgbWF5IHdhbnQgdG8gY2xlYW51cCBvciByZWNvdmVyIHRoZXNlLiIKK21zZ3N0ciAizrzPgM6/z4HOtc6vz4TOtSDOvc6xIM60zr/Ous65zrzOrM+DzrXPhM61IM69zrEgz4TOsSDOtc66zrrOsc64zrHPgc6vz4POtc+EzrUgzq4gzr3OsSDPhM6xIM6xzr3Osc66z4TOrs+DzrXPhM61LiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5NworbXNnaWQgInVzZSBgZGlmZi5ndWl0b29sYCBpbnN0ZWFkIG9mIGBkaWZmLnRvb2xgIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTkKK21zZ2lkICJwZXJmb3JtIGEgZnVsbC1kaXJlY3RvcnkgZGlmZiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzAxCittc2dpZCAiZG8gbm90IHByb21wdCBiZWZvcmUgbGF1bmNoaW5nIGEgZGlmZiB0b29sIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDYKK21zZ2lkICJ1c2Ugc3ltbGlua3MgaW4gZGlyLWRpZmYgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA3Cittc2dpZCAidG9vbCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA4Cittc2dpZCAidXNlIHRoZSBzcGVjaWZpZWQgZGlmZiB0b29sIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTAKK21zZ2lkICJwcmludCBhIGxpc3Qgb2YgZGlmZiB0b29scyB0aGF0IG1heSBiZSB1c2VkIHdpdGggYC0tdG9vbGAiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMworbXNnaWQgIiIKKyJtYWtlICdnaXQtZGlmZnRvb2wnIGV4aXQgd2hlbiBhbiBpbnZva2VkIGRpZmYgdG9vbCByZXR1cm5zIGEgbm9uIC0gemVybyBleGl0ICIKKyJjb2RlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTYKK21zZ2lkICJzcGVjaWZ5IGEgY3VzdG9tIGNvbW1hbmQgZm9yIHZpZXdpbmcgZGlmZnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc0MAorbXNnaWQgIm5vIDx0b29sPiBnaXZlbiBmb3IgLS10b29sPTx0b29sPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzQ3Cittc2dpZCAibm8gPGNtZD4gZ2l2ZW4gZm9yIC0tZXh0Y21kPTxjbWQ+IgorbXNnc3RyICLOtM61IM60z4zOuM63zrrOtSA8zrXOvc+Ezr/Ou86uPiDOs865zrEgz4TOvyAtLWV4dGNtZD08zrXOvc+Ezr/Ou86uPiIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjI5Cittc2dpZCAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1vcHRzXSIKK21zZ3N0ciAiZ2l0IGZhc3QtZXhwb3J0IFvOtc+AzrnOu86/zrPOrc+CIM+AzrHPgc6szrjOtc+DzrfPgiDOtc66zrTPjM+DzrXPic69XSIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwODQKK21zZ2lkICJzaG93IHByb2dyZXNzIGFmdGVyIDxuPiBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDg2Cittc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHNpZ25lZCB0YWdzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDg5Cittc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHRhZ3MgdGhhdCB0YWcgZmlsdGVyZWQgb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTA5MgorbXNnaWQgIkR1bXAgbWFya3MgdG8gdGhpcyBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDk0Cittc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDk2Cittc2dpZCAiRmFrZSBhIHRhZ2dlciB3aGVuIHRhZ3MgbGFjayBvbmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwOTgKK21zZ2lkICJPdXRwdXQgZnVsbCB0cmVlIGZvciBlYWNoIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTEwMAorbXNnaWQgIlVzZSB0aGUgZG9uZSBmZWF0dXJlIHRvIHRlcm1pbmF0ZSB0aGUgc3RyZWFtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTAxCittc2dpZCAiU2tpcCBvdXRwdXQgb2YgYmxvYiBkYXRhIgorbXNnc3RyICLOoM+Bzr/Pg8+Azq3Pgc6xz4POtyDOtc6+z4zOtM6/z4Ugz4TPic69IM60zrXOtM6/zrzOrc69z4nOvSBibG9iIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTEwMiBidWlsdGluL2xvZy5jOjE2MDEKK21zZ2lkICJyZWZzcGVjIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTAzCittc2dpZCAiQXBwbHkgcmVmc3BlYyB0byBleHBvcnRlZCByZWZzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTA0Cittc2dpZCAiYW5vbnltaXplIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTEwNgorbXNnaWQgIlJlZmVyZW5jZSBwYXJlbnRzIHdoaWNoIGFyZSBub3QgaW4gZmFzdC1leHBvcnQgc3RyZWFtIGJ5IG9iamVjdCBpZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTEwOAorbXNnaWQgIlNob3cgb3JpZ2luYWwgb2JqZWN0IGlkcyBvZiBibG9icy9jb21taXRzIgorbXNnc3RyICLOoM+Bzr/Oss6/zrvOriDOsc+Bz4fOuc66z47OvSDOsc69zrHOs869z4nPgc65z4PPhM65zrrPjs69IM+Ez4nOvSBibG9iL8+Fz4DOv86yzr/Ou8+Ozr0iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyOAorbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKK21zZ3N0ciAiZ2l0IGZldGNoIFs8zrXPgM65zrvOv86zzq3Pgj5dIFs8zrHPgM6/zrjOtc+Ezq7Pgc65zr8+IFs8cmVmc3BlYz4uLi5dXSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjI5Cittc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIDxncm91cD4iCittc2dzdHIgImdpdCBmZXRjaCBbPM61z4DOuc67zr/Os86tz4I+XSA8zr/OvM6szrTOsT4iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzozMAorbXNnaWQgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPHJlcG9zaXRvcnk+IHwgPGdyb3VwPikuLi5dIgorbXNnc3RyICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPM61z4DOuc67zr/Os86tz4I+XSBbKDzOsc+Azr/OuM61z4TOrs+BzrnOvz4gfCA8zr/OvM6szrTOsT4pLi4uXSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjMxCittc2dpZCAiZ2l0IGZldGNoIC0tYWxsIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgZmV0Y2ggLS1hbGwgWzzOtc+AzrnOu86/zrPOrc+CPl0iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTUgYnVpbHRpbi9wdWxsLmM6MTk1Cittc2dpZCAiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIKK21zZ3N0ciAizr3OsSDOs86vzr3Otc65IM6xzr3OrM66z4TOt8+DzrcgzrHPgM+MIM+MzrvOv8+Fz4Igz4TOv8+Fz4IgzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr/Phc+CIM61zr7Phc+AzrfPgc61z4TOt8+Ezq3PgiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjExNyBidWlsdGluL3B1bGwuYzoxOTgKK21zZ2lkICJhcHBlbmQgdG8gLmdpdC9GRVRDSF9IRUFEIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjExOSBidWlsdGluL3B1bGwuYzoyMDEKK21zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEyMAorbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCByZWZlcmVuY2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEyMgorbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKK21zZ3N0ciAizr3OsSDOs86vzr3Otc65IM6xzr3OrM66z4TOt8+DzrcgzrHPgM+MIM+Azr/Ou867zrHPgM67zr/Pjc+CIM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/z4XPgiDOtc6+z4XPgM63z4HOtc+EzrfPhM6tz4IiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjQgYnVpbHRpbi9wdWxsLmM6MjA1Cittc2dpZCAiZmV0Y2ggYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyIKK21zZ3N0ciAizr3OsSDOs86vzr3Otc65IM6xzr3OrM66z4TOt8+Dzrcgz4zOu8+Jzr0gz4TPic69IM61z4TOuc66zrXPhM+Ozr0gzrrOsc65IM+Dz4fOtc+EzrnOus+Ozr0gzrHOvc+EzrnOus61zrnOvM6tzr3Pic69IgorCisjOiBidWlsdGluL2ZldGNoLmM6MTI2Cittc2dpZCAiZG8gbm90IGZldGNoIGFsbCB0YWdzICgtLW5vLXRhZ3MpIgorbXNnc3RyICLOvc6xIM68zrcgzrPOr869zrXOuSDOsc69zqzOus+EzrfPg863IM+MzrvPic69IM+Ez4nOvSDOtc+EzrnOus61z4TPjs69ICgtLW5vLXRhZ3MpIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTI4Cittc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgZmV0Y2hlZCBpbiBwYXJhbGxlbCIKK21zZ3N0ciAizrHPgc65zrjOvM+Mz4Igz4XPgM6/zrXOvc6/z4TOrs+Ez4nOvSDPgM+Bzr/PgiDPgM6xz4HOrM67zrvOt867zrcgzrHOvc6szrrPhM63z4POtyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEzMCBidWlsdGluL3B1bGwuYzoyMDgKK21zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTMyCittc2dpZCAicHJ1bmUgbG9jYWwgdGFncyBubyBsb25nZXIgb24gcmVtb3RlIGFuZCBjbG9iYmVyIGNoYW5nZWQgdGFncyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTMzIGJ1aWx0aW4vZmV0Y2guYzoxNTYgYnVpbHRpbi9wdWxsLmM6MTMzCittc2dpZCAib24tZGVtYW5kIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzQKK21zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgorbXNnc3RyICLOrc67zrXOs8+Hzr/PgiDOsc69zrHOtM+Bzr/OvM65zrrOrs+CIM6xzr3OrM66z4TOt8+DzrfPgiDPhM+Jzr0gz4XPgM6/zrXOvc6/z4TOrs+Ez4nOvSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEzOCBidWlsdGluL3B1bGwuYzoyMTYKK21zZ2lkICJrZWVwIGRvd25sb2FkZWQgcGFjayIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQwCittc2dpZCAiYWxsb3cgdXBkYXRpbmcgb2YgSEVBRCByZWYiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MyBidWlsdGluL2ZldGNoLmM6MTQ5IGJ1aWx0aW4vcHVsbC5jOjIxOQorbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0NQorbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgcmVwb3NpdG9yeSBiYXNlZCBvbiB0aW1lIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTEgYnVpbHRpbi9wdWxsLmM6MjIyCittc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE1NAorbXNnaWQgInByZXBlbmQgdGhpcyB0byBzdWJtb2R1bGUgcGF0aCBvdXRwdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE1NworbXNnaWQgIiIKKyJkZWZhdWx0IGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyAobG93ZXIgcHJpb3JpdHkgdGhhbiBjb25maWcgIgorImZpbGVzKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTYxIGJ1aWx0aW4vcHVsbC5jOjIyNQorbXNnaWQgImFjY2VwdCByZWZzIHRoYXQgdXBkYXRlIC5naXQvc2hhbGxvdyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTYyIGJ1aWx0aW4vcHVsbC5jOjIyNworbXNnaWQgInJlZm1hcCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTYzIGJ1aWx0aW4vcHVsbC5jOjIyOAorbXNnaWQgInNwZWNpZnkgZmV0Y2ggcmVmbWFwIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjQgYnVpbHRpbi9scy1yZW1vdGUuYzo3NyBidWlsdGluL3B1c2guYzo1ODUKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcyCittc2dpZCAic2VydmVyLXNwZWNpZmljIgorbXNnc3RyICLOs865zrEgz4PPhc6zzrrOtc66z4HOuc68zq3Ovc6/IM61zr7Phc+AzrfPgc61z4TOt8+Ezq4iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjQgYnVpbHRpbi9scy1yZW1vdGUuYzo3NyBidWlsdGluL3B1c2guYzo1ODUKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTczCittc2dpZCAib3B0aW9uIHRvIHRyYW5zbWl0IgorbXNnc3RyICLOtc+AzrnOu86/zrPOriDOvc6xIM68zrXPhM6xzrTOv864zrXOryIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE3MAorbXNnaWQgInJlcG9ydCB0aGF0IHdlIGhhdmUgb25seSBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIHRoaXMgb2JqZWN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo0NjkKK21zZ2lkICJDb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgSEVBRCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbmZpZ3VyYXRpb24gZmV0Y2gub3V0cHV0IGNvbnRhaW5zIGludmFsaWQgdmFsdWUgJXMiCittc2dzdHIgIs63IM+Bz43OuM68zrnPg863IGZldGNoLm91dHB1dCDPgM61z4HOuc6tz4fOtc65IM68zrcgzq3Os866z4XPgc63IM+EzrnOvM6uICVzIgorCisjOiBidWlsdGluL2ZldGNoLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9iamVjdCAlcyBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjcwOQorbXNnaWQgIlt1cCB0byBkYXRlXSIKK21zZ3N0ciAiW8+AzrvOrs+Bz4nPgiDOtc69zq7OvM61z4HOv10iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3MjIgYnVpbHRpbi9mZXRjaC5jOjczOCBidWlsdGluL2ZldGNoLmM6ODAxCittc2dpZCAiW3JlamVjdGVkXSIKK21zZ3N0ciAiW86xz4DOv8+Bz4HOr8+GzrjOt866zrVdIgorCisjOiBidWlsdGluL2ZldGNoLmM6NzIzCittc2dpZCAiY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjczMworbXNnaWQgIlt0YWcgdXBkYXRlXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6NzM0IGJ1aWx0aW4vZmV0Y2guYzo3NzEgYnVpbHRpbi9mZXRjaC5jOjc4NAorIzogYnVpbHRpbi9mZXRjaC5jOjc5NgorbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3MzgKK21zZ2lkICJ3b3VsZCBjbG9iYmVyIGV4aXN0aW5nIHRhZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6NzYwCittc2dpZCAiW25ldyB0YWddIgorbXNnc3RyICJbzr3Orc6xIM61z4TOuc66zq3PhM6xXSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjc2MworbXNnaWQgIltuZXcgYnJhbmNoXSIKK21zZ3N0ciAiW869zq3Ov8+CIM66zrvOrM60zr/Pgl0iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NjYKK21zZ2lkICJbbmV3IHJlZl0iCittc2dzdHIgIlvOvc6tzr8gcmVmXSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjc5NgorbXNnaWQgImZvcmNlZCB1cGRhdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjgwMQorbXNnaWQgIm5vbi1mYXN0LWZvcndhcmQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWplY3QgJXMgYmVjYXVzZSBzaGFsbG93IHJvb3RzIGFyZSBub3QgYWxsb3dlZCB0byBiZSB1cGRhdGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5NTkgYnVpbHRpbi9mZXRjaC5jOjEwODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRnJvbSAlLipzXG4iCittc2dzdHIgIs6Rz4DPjCDPhM6/ICUuKnNcbiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjk3MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic29tZSBsb2NhbCByZWZzIGNvdWxkIG5vdCBiZSB1cGRhdGVkOyB0cnkgcnVubmluZ1xuIgorIiAnZ2l0IHJlbW90ZSBwcnVuZSAlcycgdG8gcmVtb3ZlIGFueSBvbGQsIGNvbmZsaWN0aW5nIGJyYW5jaGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZykiCittc2dzdHIgIiAgICjPhM6/ICVzIM64zrEgzrzOtc6vzr3Otc65IM61zrrOus+BzrXOvM6tz4IpIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTA1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAoJXMgaGFzIGJlY29tZSBkYW5nbGluZykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEwODQKK21zZ2lkICJbZGVsZXRlZF0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEwODUgYnVpbHRpbi9yZW1vdGUuYzoxMDM2Cittc2dpZCAiKG5vbmUpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKK21zZ3N0ciAiIgorIs6Rz4HOvc6/z43OvM6xzrkgzr3OsSDOus6szr3PiSDOsc69zqzOus+EzrfPg863IM68zq3Pg86xIM+Dz4TOv869IM+Ez4HOrc+Hzr/Ovc+EzrEgzrrOu86szrTOvyAlcyDOvM63IM6zz4XOvM69zr/PjSDOsc+Azr/OuM61z4TOt8+Bzq/Ov8+FIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTEyNworIywgYy1mb3JtYXQKK21zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIk9wdGlvbiBcIiVzXCIgaXMgaWdub3JlZCBmb3IgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQzNAorIywgYy1mb3JtYXQKK21zZ2lkICJGZXRjaGluZyAlc1xuIgorbXNnc3RyICLOkc69zqzOus+EzrfPg863ICVzXG4iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDM2IGJ1aWx0aW4vcmVtb3RlLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBmZXRjaCAlcyIKK21zZ3N0ciAizpTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TOriDOtyDOsc69zqzOus+EzrfPg863IM+Ezr/PhSAlcyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0ODIKK21zZ2lkICIiCisiLS1maWx0ZXIgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHRoZSByZW1vdGUgY29uZmlndXJlZCBpbiBleHRlbnNpb25zLiIKKyJwYXJ0aWFsQ2xvbmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE1MDYKK21zZ2lkICIiCisiTm8gcmVtb3RlIHJlcG9zaXRvcnkgc3BlY2lmaWVkLiAgUGxlYXNlLCBzcGVjaWZ5IGVpdGhlciBhIFVSTCBvciBhXG4iCisicmVtb3RlIG5hbWUgZnJvbSB3aGljaCBuZXcgcmV2aXNpb25zIHNob3VsZCBiZSBmZXRjaGVkLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTU0MworbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCittc2dzdHIgIs6nz4HOtc65zqzOts61z4TOsc65IM69zrEgzr/Pgc6vz4POtc+EzrUgzq3Ovc6xIM+Mzr3Ov868zrEgzrXPhM65zrrOrc+EzrHPgi4iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTkyCittc2dpZCAiTmVnYXRpdmUgZGVwdGggaW4gLS1kZWVwZW4gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTU5NAorbXNnaWQgIi0tZGVlcGVuIGFuZCAtLWRlcHRoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE1OTkKK21zZ2lkICItLWRlcHRoIGFuZCAtLXVuc2hhbGxvdyBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTYwMQorbXNnaWQgIi0tdW5zaGFsbG93IG9uIGEgY29tcGxldGUgcmVwb3NpdG9yeSBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjE3Cittc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgdGFrZSBhIHJlcG9zaXRvcnkgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE2MTkKK21zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gc3VjaCByZW1vdGUgb3IgcmVtb3RlIGdyb3VwOiAlcyIKK21zZ3N0ciAiIgorIs6UzrXOvSDPhc+AzqzPgc+HzrXOuSDPhM6tz4TOv865zr/PgiDOsc+Azr/OvM6xzrrPgc+Fz4POvM6tzr3Ov8+CIM61zr7Phc+AzrfPgc61z4TOt8+Ezq7PgiDOriDOsc+Azr/OvM6xzrrPgc+Fz4POvM6tzr3OtyDOv868zqzOtM6xOiAlcyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE2MzUKK21zZ2lkICJGZXRjaGluZyBhIGdyb3VwIGFuZCBzcGVjaWZ5aW5nIHJlZnNwZWNzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE2NTEKK21zZ2lkICIiCisiLS1maWx0ZXIgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHRoZSByZW1vdGUgY29uZmlndXJlZCBpbiBleHRlbnNpb25zLiIKKyJwYXJ0aWFsY2xvbmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6MTgKK21zZ2lkICIiCisiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZXNzYWdlPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzIKK21zZ2lkICJwb3B1bGF0ZSBsb2cgd2l0aCBhdCBtb3N0IDxuPiBlbnRyaWVzIGZyb20gc2hvcnRsb2ciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc1Cittc2dpZCAiYWxpYXMgZm9yIC0tbG9nIChkZXByZWNhdGVkKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzgKK21zZ2lkICJ0ZXh0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3OQorbXNnaWQgInVzZSA8dGV4dD4gYXMgc3RhcnQgb2YgbWVzc2FnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2ODAKK21zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwCittc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbPG9wdGlvbnM+XSBbPHBhdHRlcm4+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjExCittc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbLS1wb2ludHMtYXQgPG9iamVjdD5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTIKK21zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxjb21taXQ+XV0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMworbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxjb21taXQ+XV0gWy0tbm8tY29udGFpbnMgWzxjb21taXQ+XV0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoyOAorbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3Igc2hlbGxzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzAKK21zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHBlcmwiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozMgorbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgcHl0aG9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzQKK21zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIFRjbCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM3Cittc2dpZCAic2hvdyBvbmx5IDxuPiBtYXRjaGVkIHJlZnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjQyNAorbXNnaWQgInJlc3BlY3QgZm9ybWF0IGNvbG9ycyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQzCittc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIHBvaW50cyBhdCB0aGUgZ2l2ZW4gb2JqZWN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKK21zZ2lkICJwcmludCBvbmx5IHJlZnMgdGhhdCBhcmUgbWVyZ2VkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDYKK21zZ2lkICJwcmludCBvbmx5IHJlZnMgdGhhdCBhcmUgbm90IG1lcmdlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ3Cittc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ4Cittc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo4OCBidWlsdGluL2ZzY2suYzoxNjAgYnVpbHRpbi9mc2NrLmM6MTYxCittc2dpZCAidW5rbm93biIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZS5nLiBlcnJvciBpbiB0cmVlIDAxYmZkYTogPG1vcmUgZXhwbGFuYXRpb24+CisjOiBidWlsdGluL2ZzY2suYzoxMjAgYnVpbHRpbi9mc2NrLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGluICVzICVzOiAlcyIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZS5nLiB3YXJuaW5nIGluIHRyZWUgMDFiZmRhOiA8bW9yZSBleHBsYW5hdGlvbj4KKyM6IGJ1aWx0aW4vZnNjay5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nIGluICVzICVzOiAlcyIKK21zZ3N0ciAiz4DPgc6/z4POv8+Hzq4gz4PPhM6/ICVzICVzOiAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6MTU3IGJ1aWx0aW4vZnNjay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJicm9rZW4gbGluayBmcm9tICU3cyAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzoxNjgKK21zZ2lkICJ3cm9uZyBvYmplY3QgdHlwZSBpbiBsaW5rIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYnJva2VuIGxpbmsgZnJvbSAlN3MgJXNcbiIKKyIgICAgICAgICAgICAgIHRvICU3cyAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyAlcyAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgJXMgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgImRhbmdsaW5nICVzICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjMwNworbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbG9zdC1mb3VuZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzozMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGZpbmlzaCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5ICglZCBvYmplY3RzKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgJXMgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6Mzc2Cittc2dpZCAiYnJva2VuIGxpbmtzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjM4NQorIywgYy1mb3JtYXQKK21zZ2lkICJyb290ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJ0YWdnZWQgJXMgJXMgKCVzKSBpbiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBjb3JydXB0IG9yIG1pc3NpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHJlZmxvZyBlbnRyeSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgcmVmbG9nICVzLT4lcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo0OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgc2hhMSBwb2ludGVyICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjUwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjU1NworbXNnaWQgIm5vdGljZTogTm8gZGVmYXVsdCByZWZlcmVuY2VzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZzogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgY291bGQgbm90IGJlIHBhcnNlZDogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NjA1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzaGExIGZpbGU6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYyMAorbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NjIzCittc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yaWVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyAlcyBsaW5rIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY0MyBidWlsdGluL2luZGV4LXBhY2suYzo4MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCAlcyIKK21zZ3N0ciAizrzOtyDOrc6zzrrPhc+Bzr8gJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBwb2ludHMgdG8gc29tZXRoaW5nIHN0cmFuZ2UgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaGVkIEhFQUQgcG9pbnRzIGF0IG5vdGhpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdGljZTogJXMgcG9pbnRzIHRvIGFuIHVuYm9ybiBicmFuY2ggKCVzKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo2NzIKK21zZ2lkICJDaGVja2luZyBjYWNoZSB0cmVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY3NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBzaGExIHBvaW50ZXIgaW4gY2FjaGUtdHJlZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo2ODgKK21zZ2lkICJub24tdHJlZSBpbiBjYWNoZS10cmVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjcxOQorbXNnaWQgImdpdCBmc2NrIFs8b3B0aW9ucz5dIFs8b2JqZWN0Pi4uLl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NzI1Cittc2dpZCAic2hvdyB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjcyNgorbXNnaWQgInNob3cgZGFuZ2xpbmcgb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo3MjcKK21zZ2lkICJyZXBvcnQgdGFncyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo3MjgKK21zZ2lkICJyZXBvcnQgcm9vdCBub2RlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo3MjkKK21zZ2lkICJtYWtlIGluZGV4IG9iamVjdHMgaGVhZCBub2RlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo3MzAKK21zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NzMxCittc2dpZCAiYWxzbyBjb25zaWRlciBwYWNrcyBhbmQgYWx0ZXJuYXRlIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NzMyCittc2dpZCAiY2hlY2sgb25seSBjb25uZWN0aXZpdHkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NzMzCittc2dpZCAiZW5hYmxlIG1vcmUgc3RyaWN0IGNoZWNraW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjczNQorbXNnaWQgIndyaXRlIGRhbmdsaW5nIG9iamVjdHMgaW4gLmdpdC9sb3N0LWZvdW5kIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjczNiBidWlsdGluL3BydW5lLmM6MTEwCittc2dpZCAic2hvdyBwcm9ncmVzcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo3MzcKK21zZ2lkICJzaG93IHZlcmJvc2UgbmFtZXMgZm9yIHJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjc5NworbXNnaWQgIkNoZWNraW5nIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6ODI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgbWlzc2luZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo4MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXI6IGV4cGVjdGVkIHNoYTEsIGdvdCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ2MuYzozNAorbXNnaWQgImdpdCBnYyBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IGdjIFs8zrXPgM65zrvOv86zzq3Pgj5dIgorCisjOiBidWlsdGluL2djLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGZzdGF0ICVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2djLmM6NDYxIGJ1aWx0aW4vaW5pdC1kYi5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzdGF0ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9nYy5jOjQ3MCBidWlsdGluL25vdGVzLmM6MjQwIGJ1aWx0aW4vdGFnLmM6NTEwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9nYy5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGxhc3QgZ2MgcnVuIHJlcG9ydGVkIHRoZSBmb2xsb3dpbmcuIFBsZWFzZSBjb3JyZWN0IHRoZSByb290IGNhdXNlXG4iCisiYW5kIHJlbW92ZSAlcy5cbiIKKyJBdXRvbWF0aWMgY2xlYW51cCB3aWxsIG5vdCBiZSBwZXJmb3JtZWQgdW50aWwgdGhlIGZpbGUgaXMgcmVtb3ZlZC5cbiIKKyJcbiIKKyIlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2djLmM6NTE5Cittc2dpZCAicHJ1bmUgdW5yZWZlcmVuY2VkIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9nYy5jOjUyMQorbXNnaWQgImJlIG1vcmUgdGhvcm91Z2ggKGluY3JlYXNlZCBydW50aW1lKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2djLmM6NTIyCittc2dpZCAiZW5hYmxlIGF1dG8tZ2MgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2djLmM6NTI1Cittc2dpZCAiZm9yY2UgcnVubmluZyBnYyBldmVuIGlmIHRoZXJlIG1heSBiZSBhbm90aGVyIGdjIHJ1bm5pbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9nYy5jOjUyOAorbXNnaWQgInJlcGFjayBhbGwgb3RoZXIgcGFja3MgZXhjZXB0IHRoZSBsYXJnZXN0IHBhY2siCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9nYy5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2MubG9nZXhwaXJ5IHZhbHVlICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ2MuYzo1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBydW5lIGV4cGlyeSB2YWx1ZSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2djLmM6NTc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBpbiBiYWNrZ3JvdW5kIGZvciBvcHRpbXVtIHBlcmZvcm1hbmNlLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ2MuYzo1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXV0byBwYWNraW5nIHRoZSByZXBvc2l0b3J5IGZvciBvcHRpbXVtIHBlcmZvcm1hbmNlLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ2MuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VlIFwiZ2l0IGhlbHAgZ2NcIiBmb3IgbWFudWFsIGhvdXNla2VlcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2djLmM6NjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJnYyBpcyBhbHJlYWR5IHJ1bm5pbmcgb24gbWFjaGluZSAnJXMnIHBpZCAlPFBSSXVNQVg+ICh1c2UgLS1mb3JjZSBpZiBub3QpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ2MuYzo2NzIKK21zZ2lkICIiCisiVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgdGhlbS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6MjkKK21zZ2lkICJnaXQgZ3JlcCBbPG9wdGlvbnM+XSBbLWVdIDxwYXR0ZXJuPiBbPHJldj4uLi5dIFtbLS1dIDxwYXRoPi4uLl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImdyZXA6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSBmb3IgJXMiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6ICVzIGlzIHRoZSBjb25maWd1cmF0aW9uCisjLiB2YXJpYWJsZSBmb3IgdHdlYWtpbmcgdGhyZWFkcywgY3VycmVudGx5CisjLiBncmVwLnRocmVhZHMKKyMuCisjOiBidWlsdGluL2dyZXAuYzoyODcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUwNiBidWlsdGluL2luZGV4LXBhY2suYzoxNjk3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAlcyIKK21zZ3N0ciAizrTOtc69IM+Fz4DOv8+Dz4TOt8+Bzq/Ots6/zr3PhM6xzrkgzr3Ors68zrHPhM6xLCDPgM6xz4HOsc6yzrvOrc+AzrXPhM6xzrkgz4TOvyAlcyIKKworIzogYnVpbHRpbi9ncmVwLmM6NDY2IGJ1aWx0aW4vZ3JlcC5jOjU5MCBidWlsdGluL2dyZXAuYzo2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZ3JlcCBmcm9tIG9iamVjdCBvZiB0eXBlICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxMgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxMQorbXNnaWQgInNlYXJjaCBpbiBpbmRleCBpbnN0ZWFkIG9mIGluIHRoZSB3b3JrIHRyZWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODEzCittc2dpZCAiZmluZCBpbiBjb250ZW50cyBub3QgbWFuYWdlZCBieSBnaXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODE1Cittc2dpZCAic2VhcmNoIGluIGJvdGggdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxNworbXNnaWQgImlnbm9yZSBmaWxlcyBzcGVjaWZpZWQgdmlhICcuZ2l0aWdub3JlJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo4MTkKK21zZ2lkICJyZWN1cnNpdmVseSBzZWFyY2ggaW4gZWFjaCBzdWJtb2R1bGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODIyCittc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgbGluZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODI0Cittc2dpZCAiY2FzZSBpbnNlbnNpdGl2ZSBtYXRjaGluZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo4MjYKK21zZ2lkICJtYXRjaCBwYXR0ZXJucyBvbmx5IGF0IHdvcmQgYm91bmRhcmllcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo4MjgKK21zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyB0ZXh0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzMAorbXNnaWQgImRvbid0IG1hdGNoIHBhdHRlcm5zIGluIGJpbmFyeSBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo4MzMKK21zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODM1Cittc2dpZCAic2VhcmNoIGluIHN1YmRpcmVjdG9yaWVzIChkZWZhdWx0KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo4MzcKK21zZ2lkICJkZXNjZW5kIGF0IG1vc3QgPGRlcHRoPiBsZXZlbHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODQxCittc2dpZCAidXNlIGV4dGVuZGVkIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODQ0Cittc2dpZCAidXNlIGJhc2ljIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMgKGRlZmF1bHQpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0NworbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1MAorbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo4NTMKK21zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo4NTQKK21zZ2lkICJzaG93IGNvbHVtbiBudW1iZXIgb2YgZmlyc3QgbWF0Y2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODU1Cittc2dpZCAiZG9uJ3Qgc2hvdyBmaWxlbmFtZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODU2Cittc2dpZCAic2hvdyBmaWxlbmFtZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODU4Cittc2dpZCAic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo4NjAKK21zZ2lkICJzaG93IG9ubHkgZmlsZW5hbWVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODYyCittc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODY1Cittc2dpZCAic2hvdyBvbmx5IHRoZSBuYW1lcyBvZiBmaWxlcyB3aXRob3V0IG1hdGNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2NworbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODcwCittc2dpZCAic2hvdyBvbmx5IG1hdGNoaW5nIHBhcnRzIG9mIGEgbGluZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo4NzIKK21zZ2lkICJzaG93IHRoZSBudW1iZXIgb2YgbWF0Y2hlcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3MworbXNnaWQgImhpZ2hsaWdodCBtYXRjaGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NQorbXNnaWQgInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NworbXNnaWQgInNob3cgZmlsZW5hbWUgb25seSBvbmNlIGFib3ZlIG1hdGNoZXMgZnJvbSBzYW1lIGZpbGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODgwCittc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgYW5kIGFmdGVyIG1hdGNoZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODgzCittc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBiZWZvcmUgbWF0Y2hlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo4ODUKK21zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODg3Cittc2dpZCAidXNlIDxuPiB3b3JrZXIgdGhyZWFkcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo4ODgKK21zZ2lkICJzaG9ydGN1dCBmb3IgLUMgTlVNIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5MQorbXNnaWQgInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODkzCittc2dpZCAic2hvdyB0aGUgc3Vycm91bmRpbmcgZnVuY3Rpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODk2Cittc2dpZCAicmVhZCBwYXR0ZXJucyBmcm9tIGZpbGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODk4Cittc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMAorbXNnaWQgImNvbWJpbmUgcGF0dGVybnMgc3BlY2lmaWVkIHdpdGggLWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6OTEyCittc2dpZCAiaW5kaWNhdGUgaGl0IHdpdGggZXhpdCBzdGF0dXMgd2l0aG91dCBvdXRwdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6OTE0Cittc2dpZCAic2hvdyBvbmx5IG1hdGNoZXMgZnJvbSBmaWxlcyB0aGF0IG1hdGNoIGFsbCBwYXR0ZXJucyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo5MTYKK21zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo5MjAKK21zZ2lkICJwYWdlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo5MjAKK21zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzo5MjQKK21zZ2lkICJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6OTg4Cittc2dpZCAibm8gcGF0dGVybiBnaXZlbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzoxMDI0Cittc2dpZCAiLS1uby1pbmRleCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIHJldnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6MTAzMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSByZXZpc2lvbjogJXMiCittc2dzdHIgIs60zrXOvSDOrs+EzrHOvSDOtM+Fzr3Osc+Ezq4gzrcgz4TOsc+Nz4TOuc+Dzrcgz4TOt8+CIM6tzrrOtM6/z4POt8+COiAlcyIKKworIzogYnVpbHRpbi9ncmVwLmM6MTA2MworbXNnaWQgImludmFsaWQgb3B0aW9uIGNvbWJpbmF0aW9uLCBpZ25vcmluZyAtLXRocmVhZHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6MTA2NiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDAKK21zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nIC0tdGhyZWFkcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzoxMDY5IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MDMgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzE0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCittc2dzdHIgIs60z4zOuM63zrrOtSDOvM63IM6tzrPOus+Fz4HOv8+CIM6xz4HOuc64zrzPjM+CIM69zrfOvM6sz4TPic69ICglZCkiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwOTIKK21zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6MTExNQorbXNnaWQgIm9wdGlvbiBub3Qgc3VwcG9ydGVkIHdpdGggLS1yZWN1cnNlLXN1Ym1vZHVsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6MTEyMQorbXNnaWQgIi0tY2FjaGVkIG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggLS1uby1pbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2dyZXAuYzoxMTI3Cittc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6MTEzNQorbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODUKK21zZ2lkICIiCisiZ2l0IGhhc2gtb2JqZWN0IFstdCA8dHlwZT5dIFstd10gWy0tcGF0aD08ZmlsZT4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCisiWy0tXSA8ZmlsZT4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjg2Cittc2dpZCAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIgorbXNnc3RyICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCisKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorbXNnaWQgInR5cGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4Cittc2dpZCAib2JqZWN0IHR5cGUiCittc2dzdHIgIs+Ez43PgM6/z4IgzrHOvc+EzrnOus61zrnOvM6tzr3Ov8+FIgorCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTkKK21zZ2lkICJ3cml0ZSB0aGUgb2JqZWN0IGludG8gdGhlIG9iamVjdCBkYXRhYmFzZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCittc2dpZCAicmVhZCB0aGUgb2JqZWN0IGZyb20gc3RkaW4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMworbXNnaWQgInN0b3JlIGZpbGUgYXMgaXMgd2l0aG91dCBmaWx0ZXJzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDQKK21zZ2lkICIiCisianVzdCBoYXNoIGFueSByYW5kb20gZ2FyYmFnZSB0byBjcmVhdGUgY29ycnVwdCBvYmplY3RzIGZvciBkZWJ1Z2dpbmcgR2l0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDUKK21zZ2lkICJwcm9jZXNzIGZpbGUgYXMgaXQgd2VyZSBmcm9tIHRoaXMgcGF0aCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2hlbHAuYzo0NgorbXNnaWQgInByaW50IGFsbCBhdmFpbGFibGUgY29tbWFuZHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9oZWxwLmM6NDcKK21zZ2lkICJleGNsdWRlIGd1aWRlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2hlbHAuYzo0OAorbXNnaWQgInByaW50IGxpc3Qgb2YgdXNlZnVsIGd1aWRlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2hlbHAuYzo0OQorbXNnaWQgInByaW50IGFsbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIG5hbWVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjUxCittc2dpZCAic2hvdyBtYW4gcGFnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2hlbHAuYzo1MgorbXNnaWQgInNob3cgbWFudWFsIGluIHdlYiBicm93c2VyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjU0Cittc2dpZCAic2hvdyBpbmZvIHBhZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9oZWxwLmM6NTYKK21zZ2lkICJwcmludCBjb21tYW5kIGRlc2NyaXB0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjYxCittc2dpZCAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbW1hbmQ+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2hlbHAuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgaGVscCBmb3JtYXQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2hlbHAuYzoxMDAKK21zZ2lkICJGYWlsZWQgdG8gc3RhcnQgZW1hY3NjbGllbnQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjExMworbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbWFjc2NsaWVudCB2ZXJzaW9uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2hlbHAuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1hY3NjbGllbnQgdmVyc2lvbiAnJWQnIHRvbyBvbGQgKDwgMjIpLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2hlbHAuYzoxMzkgYnVpbHRpbi9oZWxwLmM6MTYxIGJ1aWx0aW4vaGVscC5jOjE3MSBidWlsdGluL2hlbHAuYzoxNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWMgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2hlbHAuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiclcyc6IHBhdGggZm9yIHVuc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCisiUGxlYXNlIGNvbnNpZGVyIHVzaW5nICdtYW4uPHRvb2w+LmNtZCcgaW5zdGVhZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9oZWxwLmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyInJXMnOiBjbWQgZm9yIHN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgorIlBsZWFzZSBjb25zaWRlciB1c2luZyAnbWFuLjx0b29sPi5wYXRoJyBpbnN0ZWFkLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2hlbHAuYzozNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJzogdW5rbm93biBtYW4gdmlld2VyLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2hlbHAuYzozNjMKK21zZ2lkICJubyBtYW4gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9oZWxwLmM6MzcxCittc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2hlbHAuYzo0MzAgYnVpbHRpbi9oZWxwLmM6NDQxIGdpdC5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIGFsaWFzZWQgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2hlbHAuYzo0NDQgZ2l0LmM6MzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBhbGlhcy4lcyBzdHJpbmc6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQ3MyBidWlsdGluL2hlbHAuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNhZ2U6ICVzJXMiCittc2dzdHIgIs+Hz4HOrs+Dzrc6ICVzJXMiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQ4NworbXNnaWQgIidnaXQgaGVscCBjb25maWcnIGZvciBtb3JlIGluZm9ybWF0aW9uIgorbXNnc3RyICInZ2l0IGhlbHAgY29uZmlnJyDOs865zrEgz4DOtc+BzrnPg8+Dz4zPhM61z4HOtc+CIM+AzrvOt8+Bzr/Phs6/z4HOr861z4IiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJvYmplY3QgdHlwZSBtaXNtYXRjaCBhdCAlcyIKK21zZ3N0ciAizrHPg8+FzrzPhs+Jzr3Or86xIM+Ez43PgM6/z4UgzrHOvc+EzrnOus61zrnOvM6tzr3Ov8+FIM+Dz4TOvyAlcyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImRpZCBub3QgcmVjZWl2ZSBleHBlY3RlZCBvYmplY3QgJXMiCittc2dzdHIgIs60zrXOvSDOtc67zq7Phs64zrcgz4TOvyDOsc69zrHOvM61zr3PjM68zrXOvc6/IM6xzr3PhM65zrrOtc6vzrzOtc69zr8gJXMiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNworIywgYy1mb3JtYXQKK21zZ2lkICJvYmplY3QgJXM6IGV4cGVjdGVkIHR5cGUgJXMsIGZvdW5kICVzIgorbXNnc3RyICLOsc69z4TOuc66zrXOr868zrXOvc6/ICVzOiDOsc69zrHOvM61zr3PjM+EzrHOvSDPhM+Nz4DOv8+CICVzLCDOss+Bzq3OuM63zrrOtSAlcyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaWxsICVkIGJ5dGUiCittc2dpZF9wbHVyYWwgImNhbm5vdCBmaWxsICVkIGJ5dGVzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjU5Cittc2dpZCAiZWFybHkgRU9GIgorbXNnc3RyICLPgM+Bz4zPic+Bzr8gRU9GIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjAKK21zZ2lkICJyZWFkIGVycm9yIG9uIGlucHV0IgorbXNnc3RyICLPg8+GzqzOu868zrEgzrHOvc6szrPOvc+Jz4POt8+CIM66zrHPhM6sIM+EzrfOvSDOtc65z4POsc6zz4nOs86uIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzIKK21zZ2lkICJ1c2VkIG1vcmUgYnl0ZXMgdGhhbiB3ZXJlIGF2YWlsYWJsZSIKK21zZ3N0ciAiz4fPgc63z4POuc68zr/PgM6/zq/Ot8+DzrUgz4DOtc+BzrnPg8+Dz4zPhM61z4HOsSBieXRlcyDOsc+Az4wgz4zPg86xIM6uz4TOsc69IM60zrnOsc64zq3Pg865zrzOsSIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTk5Cittc2dpZCAicGFjayB0b28gbGFyZ2UgZm9yIGN1cnJlbnQgZGVmaW5pdGlvbiBvZiBvZmZfdCIKK21zZ3N0ciAiz4TOvyDPgM6xzrrOrc+Ezr8gz4DOsc+BzrHOtc6vzr3Osc65IM68zrXOs86szrvOvyDOs865zrEgz4TOv869IM+Ez4HOrc+Hzr/Ovc+EzrEgzr/Pgc65z4POvM+MIM+Ezr/PhSBvZmZfdCIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgyIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5NAorbXNnaWQgInBhY2sgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgc2l6ZSIKK21zZ3N0ciAiz4TOvyDPgM6xzrrOrc+Ezr8gz4XPgM61z4HOss6xzq/Ovc61zrkgz4TOvyDOvM6tzrPOuc+Dz4TOvyDOtc+AzrnPhM+BzrXPgM+Ez4wgzrzOrc6zzrXOuM6/z4IiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5NyBidWlsdGluL3JlcGFjay5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlICclcyciCittc2dzdHIgIs60zrXOvSDOrs+EzrHOvSDOtM+Fzr3Osc+Ezq4gzrcgzrTOt868zrnOv8+Fz4HOs86vzrEgz4TOv8+FICclcyciCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYWNrZmlsZSAnJXMnIgorbXNnc3RyICLOtM61zr0gzq7PhM6xzr0gzrTPhc69zrHPhM+MIM+Ezr8gzqzOvc6/zrnOs868zrEgz4TOv8+FIM6xz4HPh861zq/Ov8+FIM+AzrHOus6tz4TOv8+FICclcyciCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxNworbXNnaWQgInBhY2sgc2lnbmF0dXJlIG1pc21hdGNoIgorbXNnc3RyICLOsc+Dz4XOvM+Gz4nOvc6vzrEgz4XPgM6/zrPPgc6xz4bOrs+CIM+AzrHOus6tz4TOv8+FIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFjayB2ZXJzaW9uICU8UFJJdTMyPiB1bnN1cHBvcnRlZCIKK21zZ3N0ciAizrTOtc69IM+Fz4DOv8+Dz4TOt8+Bzq/Ots61z4TOsc65IM63IM6tzrrOtM6/z4POtyAlPFBSSXUzMj4gz4TOv8+FIM+AzrHOus6tz4TOv8+FIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCittc2dzdHIgIs+Ezr8gz4DOsc66zq3PhM6/IM6tz4fOtc65IM67zqzOuM6/z4IgzrHOvc+EzrnOus61zq/OvM61zr3OvyDPg8+Ezr8gz4POt868zrXOr86/ICU8UFJJdU1BWD46ICVzIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5mbGF0ZSByZXR1cm5lZCAlZCIKK21zZ3N0ciAizrcgzrHPgM6/z4PPhc68z4DOr861z4POtyDOtc+Azq3Pg8+Ez4HOtc+IzrUgJWQiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUwNgorbXNnaWQgIm9mZnNldCB2YWx1ZSBvdmVyZmxvdyBmb3IgZGVsdGEgYmFzZSBvYmplY3QiCittc2dzdHIgIs+Fz4DOtc+Bz4fOtc6vzrvOuc+Dzrcgz4TOuc68zq7PgiDPg863zrzOtc6vzr/PhSDOs865zrEgz4TOvyDOss6xz4POuc66z4wgzrHOvc+EzrnOus61zq/OvM61zr3OvyBkZWx0YSIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTE0Cittc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgaXMgb3V0IG9mIGJvdW5kIgorbXNnc3RyICLPhM6/IM+DzrfOvM61zq/OvyDPhM63z4IgzrLOrM+DzrfPgiBkZWx0YSDOtc6vzr3Osc65IM61zrrPhM+Mz4Igzr/Pgc6vz4nOvSIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb2JqZWN0IHR5cGUgJWQiCittc2dzdHIgIs6szrPOvc+Jz4PPhM6/z4Igz4TPjc+Azr/PgiDOsc69z4TOuc66zrXOuc68zq3Ovc6/z4UgJWQiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU1MworbXNnaWQgImNhbm5vdCBwcmVhZCBwYWNrIGZpbGUiCittc2dzdHIgIs60zrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TPjCDOvc6xIM6zzq/Ovc61zrkgcHJlYWQgz4TOvyDOsc+Bz4fOtc6vzr8gz4DOsc66zq3PhM6/z4UiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlIG1pc3NpbmciCittc2dpZF9wbHVyYWwgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGVzIG1pc3NpbmciCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1ODEKK21zZ2lkICJzZXJpb3VzIGluZmxhdGUgaW5jb25zaXN0ZW5jeSIKK21zZ3N0ciAiz4POv86yzrHPgc6uIM6xzr3PhM6vz4bOsc+Dzrcgz4PPhM63zr0gzrHPgM6/z4PPhc68z4DOr861z4POtyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzI2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjczMiBidWlsdGluL2luZGV4LXBhY2suYzo3NTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc5NCBidWlsdGluL2luZGV4LXBhY2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgorbXNnc3RyICLOks6hzpXOmM6XzprOlSDOo86lzpPOms6hzp/Opc6jzpcgU0hBMSDOnM6VIM6kzp8gJXMgISIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzI5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTUyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCAlcyIKK21zZ3N0ciAizrTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TOriDOtyDOsc69zqzOs869z4nPg863IM+Ezr/PhSAlcyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCBpbmZvICVzIgorbXNnc3RyICIiCisizrTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM6uIM63IM6xzr3OrM6zzr3Pic+Dzrcgz4TPic69IM+AzrvOt8+Bzr/Phs6/z4HOuc+Ozr0gz4TOv8+FIM+Fz4DOrM+Bz4fOv869z4TOv8+CIM6xzr3PhM65zrrOtc65zrzOrc69zr/PhSAlcyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODAwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCAlcyIKK21zZ3N0ciAizrTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM6uIM63IM6xzr3OrM6zzr3Pic+Dzrcgz4TOv8+FIM+Fz4DOrM+Bz4fOv869z4TOv8+CIM6xzr3PhM65zrrOtc65zrzOrc69zr/PhSAlcyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYmxvYiBvYmplY3QgJXMiCittc2dzdHIgIs68zrcgzq3Os866z4XPgc6/IM6xzr3PhM65zrrOtc6vzrzOtc69zr8gYmxvYiAlcyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzNgorbXNnaWQgImZzY2sgZXJyb3IgaW4gcGFja2VkIG9iamVjdCIKK21zZ3N0ciAiz4PPhs6szrvOvM6xIGZzY2sgz4PPhM6/IM+AzrHOus61z4TOsc+BzrnPg868zq3Ovc6/IM6xzr3PhM65zrrOtc6vzrzOtc69zr8iCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWxsIGNoaWxkIG9iamVjdHMgb2YgJXMgYXJlIHJlYWNoYWJsZSIKK21zZ3N0ciAizpTOtc69IM61zq/Ovc6xzrkgz4DPgc6/z4POss6sz4POuc68zrEgz4zOu86xIM+EzrEgzrHOvc+EzrnOus61zq/OvM61zr3OsSDPgM6xzrnOtM65zqwgz4TOv8+FICVzIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo5MTAgYnVpbHRpbi9pbmRleC1wYWNrLmM6OTQxCittc2dpZCAiZmFpbGVkIHRvIGFwcGx5IGRlbHRhIgorbXNnc3RyICLOsc+Azq3PhM+Fz4fOtSDOtyDOtc+GzrHPgc68zr/Os86uIM+Ezr/PhSBkZWx0YSIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEwOQorbXNnaWQgIlJlY2VpdmluZyBvYmplY3RzIgorbXNnc3RyICLOm86uz4jOtyDOsc69z4TOuc66zrXOuc68zq3Ovc+Jzr0iCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMDkKK21zZ2lkICJJbmRleGluZyBvYmplY3RzIgorbXNnc3RyICLOoM+Bzr/Pg864zq7Ous63IM+DzrUgzrXPhc+BzrXPhM6uz4HOuc6/IM6xzr3PhM65zrrOtc65zrzOrc69z4nOvSIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE0MworbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKK21zZ3N0ciAiz4TOvyDPgM6xzrrOrc+Ezr8gzrXOr869zrHOuSDOus6xz4TOtc+Dz4TPgc6xzrzOvM6tzr3OvyAozrHPg8+FzrzPhs+Jzr3Or86xIFNIQTEpIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQ4Cittc2dpZCAiY2Fubm90IGZzdGF0IHBhY2tmaWxlIgorbXNnc3RyICLOtM61zr0gzrXOr869zrHOuSDOtM+Fzr3Osc+Ez4wgz4TOvyBmc3RhdCDPhM6/z4UgzrHPgc+HzrXOr86/z4Ugz4DOsc66zq3PhM6/z4UiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTEKK21zZ2lkICJwYWNrIGhhcyBqdW5rIGF0IHRoZSBlbmQiCittc2dzdHIgIs+Ezr8gz4DOsc66zq3PhM6/IM6tz4fOtc65IM+DzrrOv8+Fz4DOr860zrnOsSDPg8+Ezr8gz4TOrc67zr/PgiDPhM6/z4UiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjMKK21zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IGluIHBhcnNlX3BhY2tfb2JqZWN0cygpIgorbXNnc3RyICLOsc+Dz43Ou867zrfPgM+Ezr8gzrzPgM6tz4HOtM61zrzOsSDPg8+Ezr8gcGFyc2VfcGFja19vYmplY3RzKCkiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExODYKK21zZ2lkICJSZXNvbHZpbmcgZGVsdGFzIgorbXNnc3RyICLOlc+Azq/Ou8+Fz4POtyBkZWx0YSIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE5NiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgorbXNnc3RyICLOtM61zr0gzrXOr869zrHOuSDOtM+Fzr3Osc+Ezq4gzrcgzrTOt868zrnOv8+Fz4HOs86vzrEgzr3Ors68zrHPhM6/z4I6ICVzIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjM3Cittc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKK21zZ3N0ciAizrHPg8+NzrvOu863z4DPhM6/IM68z4DOrc+BzrTOtc68zrEiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0IgorbXNnaWRfcGx1cmFsICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3RzIgorbXNnc3RyWzBdICLOv867zr/Ous67zrfPgc+OzrjOt866zrUgzrzOtSAlZCDPhM6/z4DOuc66z4wgzrHOvc+EzrnOus61zq/OvM61zr3OvyIKK21zZ3N0clsxXSAizr/Ou86/zrrOu863z4HPjs64zrfOus61IM68zrUgJWQgz4TOv8+AzrnOus6sIM6xzr3PhM65zrrOtc6vzrzOtc69zrEiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCB0YWlsIGNoZWNrc3VtIGZvciAlcyAoZGlzayBjb3JydXB0aW9uPykiCittc2dzdHIgIiIKKyLOnM63IM6xzr3Osc68zrXOvc+MzrzOtc69zr8gz4TOtc67zrnOus+MIM6szrjPgc6/zrnPg868zrEgzrXOu86tzrPPh86/z4UgzrPOuc6xIM+Ezr8gJXMgKM66zrHPhM61z4PPhM+BzrHOvM68zq3Ovc6/z4IgzrTOr8+DzrrOv8+COykiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YSIKK21zZ2lkX3BsdXJhbCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YXMiCittc2dzdHJbMF0gIs+Ezr8gz4DOsc66zq3PhM6/IM6tz4fOtc65ICVkIM6xzr3Otc+Azq/Ou8+Fz4TOvyBkZWx0YSIKK21zZ3N0clsxXSAiz4TOvyDPgM6xzrrOrc+Ezr8gzq3Ph861zrkgJWQgzrHOvc61z4DOr867z4XPhM6xIGRlbHRhIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBkZWZsYXRlIGFwcGVuZGVkIG9iamVjdCAoJWQpIgorbXNnc3RyICLOtM61zr0gzrXOr869zrHOuSDOtM+Fzr3Osc+Ez4wgzr3OsSDOsc+Azr/Pg8+FzrzPgM65z4PPhM61zq8gz4TOvyDPg8+Fzr3Ot868zrzOrc69zr8gzrHOvc+EzrnOus61zq/OvM61zr3OvyAoJWQpIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzYwCisjLCBjLWZvcm1hdAorbXNnaWQgImxvY2FsIG9iamVjdCAlcyBpcyBjb3JydXB0IgorbXNnc3RyICLPhM6/IM+Ezr/PgM65zrrPjCDOsc69z4TOuc66zrXOr868zrXOvc6/ICVzIM61zq/Ovc6xzrkgzrrOsc+EzrXPg8+Ez4HOsc68zrzOrc69zr8iCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFja2ZpbGUgbmFtZSAnJXMnIGRvZXMgbm90IGVuZCB3aXRoICcucGFjayciCittc2dzdHIgIs+Ezr8gz4zOvc6/zrzOsSDPhM6/z4UgzrHPgc+HzrXOr86/z4Ugz4DOsc66zq3PhM6/z4UgJyVzJyDOtM61zr0gz4TOtc67zrXOuc+Ozr3Otc65IM+DzrUgJy5wYWNrJyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMgZmlsZSAnJXMnIgorbXNnc3RyICLOtM61zr0gzrXOr869zrHOuSDOtM+Fzr3Osc+Ezq4gzrcgzrXOs86zz4HOsc+Gzq4gJXMgzrHPgc+HzrXOr86/z4UgJyVzJyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiAlcyBmaWxlICclcyciCittc2dzdHIgIs60zrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TPjCDPhM6/IM66zrvOtc6vz4POuc68zr8gz4TOv8+FIM61zrPOs861zrPPgc6xzrzOvM6tzr3Ov8+FICVzIM6xz4HPh861zq/Ov8+FICclcyciCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MzEKK21zZ2lkICJlcnJvciB3aGlsZSBjbG9zaW5nIHBhY2sgZmlsZSIKK21zZ3N0ciAiz4PPhs6szrvOvM6xIM66zrHPhM6sIM+Ezr8gzrrOu861zq/Pg865zrzOvyDPhM6/z4UgzrHPgc+HzrXOr86/z4Ugz4DOsc66zq3PhM6/z4UiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NDUKK21zZ2lkICJjYW5ub3Qgc3RvcmUgcGFjayBmaWxlIgorbXNnc3RyICLOtM61zr0gzrXOr869zrHOuSDOtM+Fzr3Osc+Ezq4gzrcgzrHPgM6/zrjOrs66zrXPhc+Dzrcgz4TOv8+FIM6xz4HPh861zq/Ov8+FIM+AzrHOus6tz4TOv8+FIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDUzCittc2dpZCAiY2Fubm90IHN0b3JlIGluZGV4IGZpbGUiCittc2dzdHIgIs60zrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TOriDOtyDOsc+Azr/OuM6uzrrOtc+Fz4POtyDPhM6/z4UgzrHPgc+HzrXOr86/z4UgzrXPhc+BzrXPhM63z4HOr86/z4UiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0OTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzI1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCittc2dzdHIgIs67zqzOuM6/z4IgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgZmlsZSAnJXMnIgorbXNnc3RyICLOlM61zr0gzrXOr869zrHOuSDOtM+Fzr3Osc+Ez4wgz4TOvyDOrM69zr/Ouc6zzrzOsSDPhM6/z4Ugz4XPgM6sz4HPh86/zr3PhM6/z4IgzrHPgc+HzrXOr86/z4Ugz4DOsc66zq3PhM6/z4UgJyVzJyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2NworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGlkeCBmaWxlIGZvciAnJXMnIgorbXNnc3RyICIiCisizpTOtc69IM61zq/Ovc6xzrkgzrTPhc69zrHPhM+MIM+Ezr8gzqzOvc6/zrnOs868zrEgz4TOv8+FIM+Fz4DOrM+Bz4fOv869z4TOv8+CIM6xz4HPh861zq/Ov8+FIM61z4XPgc61z4TOt8+Bzq/Ov8+FIM+AzrHOus6tz4TOv8+FIM6zzrnOsSAiCisiJyVzJyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJub24gZGVsdGE6ICVkIG9iamVjdCIKK21zZ2lkX3BsdXJhbCAibm9uIGRlbHRhOiAlZCBvYmplY3RzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdCIKK21zZ2lkX3BsdXJhbCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3RzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY1OQorbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgorbXNnc3RyICLOlM61zr0gzrXOr869zrHOuSDOtM+Fzr3Osc+Ezq4gzrcgzrXPgM65z4PPhM+Bzr/Phs6uIM+Dz4TOv869IM+Ez4HOrc+Hzr/Ovc+EzrEgz4bOrM66zrXOu86/IM61z4HOs86xz4POr86xz4IiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MDggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxMQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyNyBidWlsdGluL2luZGV4LXBhY2suYzoxNzMxCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyIKK21zZ3N0ciAizrvOrM64zr/PgiAlcyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0NworbXNnaWQgIi0tZml4LXRoaW4gY2Fubm90IGJlIHVzZWQgd2l0aG91dCAtLXN0ZGluIgorbXNnc3RyICLPhM6/IC0tZml4LXRoaW4gzrTOtSDOs86vzr3Otc+EzrHOuSDOvc6xIM+Hz4HOt8+DzrnOvM6/z4DOv865zrfOuM61zq8gz4fPic+Bzq/PgiDPhM6/IC0tc3RkaW4iCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDkKK21zZ2lkICItLXN0ZGluIHJlcXVpcmVzIGEgZ2l0IHJlcG9zaXRvcnkiCittc2dzdHIgIs+Ezr8gLS1zdGRpbiDOsc+AzrHOuc+EzrXOryDOrc69zrEgzrHPgM6/zrjOtc+Ezq7Pgc65zr8gZ2l0IgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzU1Cittc2dpZCAiLS12ZXJpZnkgd2l0aCBubyBwYWNrZmlsZSBuYW1lIGdpdmVuIgorbXNnc3RyICLOtM+MzrjOt866zrUgLS12ZXJpZnkgz4fPic+Bzq/PgiDPjM69zr/OvM6xIM6xz4HPh861zq/Ov8+FIM+AzrHOus6tz4TOv8+FIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxODAzIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo1ODAKK21zZ2lkICJmc2NrIGVycm9yIGluIHBhY2sgb2JqZWN0cyIKK21zZ3N0ciAiz4PPhs6szrvOvM6xIGZzY2sgz4PPhM6xIM6xzr3PhM65zrrOtc6vzrzOtc69zrEgz4TOv8+FIM+AzrHOus6tz4TOv8+FIgorCisjOiBidWlsdGluL2luaXQtZGIuYzo2MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCB0ZW1wbGF0ZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuZGlyICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWRsaW5rICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN5bWxpbmsgJyVzJyAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjb3B5ICclcycgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luaXQtZGIuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB0ZW1wbGF0ZSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luaXQtZGIuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVtcGxhdGVzIG5vdCBmb3VuZCBpbiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luaXQtZGIuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGNvcHlpbmcgdGVtcGxhdGVzIGZyb20gJyVzJzogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBoYW5kbGUgZmlsZSB0eXBlICVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gbW92ZSAlcyB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luaXQtZGIuYzozNDkgYnVpbHRpbi9pbml0LWRiLmM6MzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIHNoYXJlZCBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmcgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxMQorIywgYy1mb3JtYXQKK21zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NDYwCittc2dpZCAiIgorImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTx0ZW1wbGF0ZS1kaXJlY3Rvcnk+XSBbLS0iCisic2hhcmVkWz08cGVybWlzc2lvbnM+XV0gWzxkaXJlY3Rvcnk+XSIKK21zZ3N0ciAiIgorImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTzPhs6szrrOtc67zr/PgiDPgM+Bzr/PhM+Nz4DOv8+FPl0gWy0tIgorInNoYXJlZFs9PM60zrnOus6xzrnPjs68zrHPhM6xPl1dIFs8z4bOrM66zrXOu86/z4I+XSIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NDgzCittc2dpZCAicGVybWlzc2lvbnMiCittc2dzdHIgIs60zrnOus6xzrnPjs68zrHPhM6xIgorCisjOiBidWlsdGluL2luaXQtZGIuYzo0ODQKK21zZ2lkICJzcGVjaWZ5IHRoYXQgdGhlIGdpdCByZXBvc2l0b3J5IGlzIHRvIGJlIHNoYXJlZCBhbW9uZ3N0IHNldmVyYWwgdXNlcnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NTE4IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGRpciB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luaXQtZGIuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIChvciAtLXdvcmstdHJlZT08ZGlyZWN0b3J5Pikgbm90IGFsbG93ZWQgd2l0aG91dCBzcGVjaWZ5aW5nICVzIChvciAtLWdpdC0iCisiZGlyPTxkaXJlY3Rvcnk+KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2luaXQtZGIuYzo1NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB3b3JrIHRyZWUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjE1Cittc2dpZCAiIgorImdpdCBpbnRlcnByZXQtdHJhaWxlcnMgWy0taW4tcGxhY2VdIFstLXRyaW0tZW1wdHldIFsoLS10cmFpbGVyICIKKyI8dG9rZW4+Wyg9fDopPHZhbHVlPl0pLi4uXSBbPGZpbGU+Li4uXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk0Cittc2dpZCAiZWRpdCBmaWxlcyBpbiBwbGFjZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk1Cittc2dpZCAidHJpbSBlbXB0eSB0cmFpbGVycyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk4Cittc2dpZCAid2hlcmUgdG8gcGxhY2UgdGhlIG5ldyB0cmFpbGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAwCittc2dpZCAiYWN0aW9uIGlmIHRyYWlsZXIgYWxyZWFkeSBleGlzdHMiCittc2dzdHIgIs61zr3Orc+BzrPOtc65zrEgzrHOvSDPhc+AzqzPgc+HzrXOuSDOrs60zrcgz4XPgM6/z4POt868zrXOr8+Jz4POtyIKKworIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDIKK21zZ2lkICJhY3Rpb24gaWYgdHJhaWxlciBpcyBtaXNzaW5nIgorbXNnc3RyICLOtc69zq3Pgc6zzrXOuc6xIM6xzr0gzrTOtc69IM+Fz4DOrM+Bz4fOtc65IM+Fz4DOv8+DzrfOvM61zq/Pic+DzrciCisKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA0Cittc2dpZCAib3V0cHV0IG9ubHkgdGhlIHRyYWlsZXJzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA1Cittc2dpZCAiZG8gbm90IGFwcGx5IGNvbmZpZyBydWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNgorbXNnaWQgImpvaW4gd2hpdGVzcGFjZS1jb250aW51ZWQgdmFsdWVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA3Cittc2dpZCAic2V0IHBhcnNpbmcgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwOQorbXNnaWQgImRvIG5vdCB0cmVhdCAtLS0gc3BlY2lhbGx5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTEwCittc2dpZCAidHJhaWxlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMQorbXNnaWQgInRyYWlsZXIocykgdG8gYWRkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTIwCittc2dpZCAiLS10cmFpbGVyIHdpdGggLS1vbmx5LWlucHV0IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMzAKK21zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6NTUKK21zZ2lkICJnaXQgbG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSA8cGF0aD4uLi5dIgorbXNnc3RyICJnaXQgbG9nIFs8zrXPgM65zrvOv86zzq3Pgj5dIFs8zrXPjc+Bzr/PgiDOtc66zrTPjM+DzrXPic69Pl0gW1stLV0gPM60zrnOsc60z4HOv868zq4+Li4uXSIKKworIzogYnVpbHRpbi9sb2cuYzo1NgorbXNnaWQgImdpdCBzaG93IFs8b3B0aW9ucz5dIDxvYmplY3Q+Li4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgLS1kZWNvcmF0ZSBvcHRpb246ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTYzCittc2dpZCAic3VwcHJlc3MgZGlmZiBvdXRwdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNjQKK21zZ2lkICJzaG93IHNvdXJjZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE2NQorbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3Cittc2dpZCAib25seSBkZWNvcmF0ZSByZWZzIHRoYXQgbWF0Y2ggPHBhdHRlcm4+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5Cittc2dpZCAiZG8gbm90IGRlY29yYXRlIHJlZnMgdGhhdCBtYXRjaCA8cGF0dGVybj4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNzAKK21zZ2lkICJkZWNvcmF0ZSBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTczCittc2dpZCAiUHJvY2VzcyBsaW5lIHJhbmdlIG4sbSBpbiBmaWxlLCBjb3VudGluZyBmcm9tIDEiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluYWwgb3V0cHV0OiAlZCAlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6NTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBzaG93ICVzOiBiYWQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjU0MCBidWlsdGluL2xvZy5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzo2NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biB0eXBlOiAlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjc4MAorbXNnaWQgImZvcm1hdC5oZWFkZXJzIHdpdGhvdXQgdmFsdWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzo4ODEKK21zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzo4OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjkxNAorbXNnaWQgIk5lZWQgZXhhY3RseSBvbmUgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6OTI0Cittc2dpZCAiTm90IGEgcmFuZ2UuIgorbXNnc3RyICLOlM61zr0gzrXOr869zrHOuSDOtc+Nz4HOv8+CLiIKKworIzogYnVpbHRpbi9sb2cuYzoxMDQ3Cittc2dpZCAiQ292ZXIgbGV0dGVyIG5lZWRzIGVtYWlsIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjExMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5zYW5lIGluLXJlcGx5LXRvOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjExNTkKK21zZ2lkICJnaXQgZm9ybWF0LXBhdGNoIFs8b3B0aW9ucz5dIFs8c2luY2U+IHwgPHJldmlzaW9uLXJhbmdlPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxMjE3Cittc2dpZCAiVHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxMzI0IGJ1aWx0aW4vbG9nLmM6MjA2OCBidWlsdGluL2xvZy5jOjIwNzAgYnVpbHRpbi9sb2cuYzoyMDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWl0ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTMzNCBidWlsdGluL25vdGVzLmM6ODk3IGJ1aWx0aW4vdGFnLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTMzOQorbXNnaWQgIkNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTM0MworbXNnaWQgIiIKKyJGYWlsZWQgdG8gZ2V0IHVwc3RyZWFtLCBpZiB5b3Ugd2FudCB0byByZWNvcmQgYmFzZSBjb21taXQgYXV0b21hdGljYWxseSxcbiIKKyJwbGVhc2UgdXNlIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gdG8gdHJhY2sgYSByZW1vdGUgYnJhbmNoLlxuIgorIk9yIHlvdSBjb3VsZCBzcGVjaWZ5IGJhc2UgY29tbWl0IGJ5IC0tYmFzZT08YmFzZS1jb21taXQtaWQ+IG1hbnVhbGx5LiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjEzNjMKK21zZ2lkICJGYWlsZWQgdG8gZmluZCBleGFjdCBtZXJnZSBiYXNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTM3NAorbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZCBiZSB0aGUgYW5jZXN0b3Igb2YgcmV2aXNpb24gbGlzdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjEzNzgKK21zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGRuJ3QgYmUgaW4gcmV2aXNpb24gbGlzdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE0MzEKK21zZ2lkICJjYW5ub3QgZ2V0IHBhdGNoIGlkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ4MworbXNnaWQgImZhaWxlZCB0byBpbmZlciByYW5nZS1kaWZmIHJhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE1MjgKK21zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTUzMQorbXNnaWQgInVzZSBbUEFUQ0hdIGV2ZW4gd2l0aCBtdWx0aXBsZSBwYXRjaGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTUzNQorbXNnaWQgInByaW50IHBhdGNoZXMgdG8gc3RhbmRhcmQgb3V0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTUzNworbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTUzOQorbXNnaWQgInVzZSBzaW1wbGUgbnVtYmVyIHNlcXVlbmNlIGZvciBvdXRwdXQgZmlsZSBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE1NDAKK21zZ2lkICJzZngiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNTQxCittc2dpZCAidXNlIDxzZng+IGluc3RlYWQgb2YgJy5wYXRjaCciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNTQzCittc2dpZCAic3RhcnQgbnVtYmVyaW5nIHBhdGNoZXMgYXQgPG4+IGluc3RlYWQgb2YgMSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE1NDUKK21zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNTQ3Cittc2dpZCAiVXNlIFtSRkMgUEFUQ0hdIGluc3RlYWQgb2YgW1BBVENIXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE1NTAKK21zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNTUzCittc2dpZCAic3RvcmUgcmVzdWx0aW5nIGZpbGVzIGluIDxkaXI+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU1NgorbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU1OQorbXNnaWQgImRvbid0IG91dHB1dCBiaW5hcnkgZGlmZnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNTYxCittc2dpZCAib3V0cHV0IGFsbC16ZXJvIGhhc2ggaW4gRnJvbSBoZWFkZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNTYzCittc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU2NQorbXNnaWQgInNob3cgcGF0Y2ggZm9ybWF0IGluc3RlYWQgb2YgZGVmYXVsdCAocGF0Y2ggKyBzdGF0KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE1NjcKK21zZ2lkICJNZXNzYWdpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNTY4Cittc2dpZCAiaGVhZGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU2OQorbXNnaWQgImFkZCBlbWFpbCBoZWFkZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNTcwIGJ1aWx0aW4vbG9nLmM6MTU3MgorbXNnaWQgImVtYWlsIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU3MAorbXNnaWQgImFkZCBUbzogaGVhZGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU3MgorbXNnaWQgImFkZCBDYzogaGVhZGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU3NAorbXNnaWQgImlkZW50IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU3NQorbXNnaWQgInNldCBGcm9tIGFkZHJlc3MgdG8gPGlkZW50PiAob3IgY29tbWl0dGVyIGlkZW50IGlmIGFic2VudCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNTc3Cittc2dpZCAibWVzc2FnZS1pZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE1NzgKK21zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNTc5IGJ1aWx0aW4vbG9nLmM6MTU4MgorbXNnaWQgImJvdW5kYXJ5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU4MAorbXNnaWQgImF0dGFjaCB0aGUgcGF0Y2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNTgzCittc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE1ODcKK21zZ2lkICJlbmFibGUgbWVzc2FnZSB0aHJlYWRpbmcsIHN0eWxlczogc2hhbGxvdywgZGVlcCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE1ODkKK21zZ2lkICJzaWduYXR1cmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNTkwCittc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5MQorbXNnaWQgImJhc2UtY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5MgorbXNnaWQgImFkZCBwcmVyZXF1aXNpdGUgdHJlZSBpbmZvIHRvIHRoZSBwYXRjaCBzZXJpZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNTk0Cittc2dpZCAiYWRkIGEgc2lnbmF0dXJlIGZyb20gYSBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5NQorbXNnaWQgImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNTk3Cittc2dpZCAic2hvdyBwcm9ncmVzcyB3aGlsZSBnZW5lcmF0aW5nIHBhdGNoZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNTk4Cittc2dpZCAicmV2IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5OQorbXNnaWQgInNob3cgY2hhbmdlcyBhZ2FpbnN0IDxyZXY+IGluIGNvdmVyIGxldHRlciBvciBzaW5nbGUgcGF0Y2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNjAyCittc2dpZCAic2hvdyBjaGFuZ2VzIGFnYWluc3QgPHJlZnNwZWM+IGluIGNvdmVyIGxldHRlciBvciBzaW5nbGUgcGF0Y2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNjA0Cittc2dpZCAicGVyY2VudGFnZSBieSB3aGljaCBjcmVhdGlvbiBpcyB3ZWlnaHRlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE2OTQKK21zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE2OTYKK21zZ2lkICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTcwNAorbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNzA2Cittc2dpZCAiLS1uYW1lLXN0YXR1cyBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTcwOAorbXNnaWQgIi0tY2hlY2sgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE3NDAKK21zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE4MjkKK21zZ2lkICItLWludGVyZGlmZiByZXF1aXJlcyAtLWNvdmVyLWxldHRlciBvciBzaW5nbGUgcGF0Y2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxODMzCittc2dpZCAiSW50ZXJkaWZmOiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE4MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJkaWZmIGFnYWluc3QgdiVkOiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE4NDAKK21zZ2lkICItLWNyZWF0aW9uLWZhY3RvciByZXF1aXJlcyAtLXJhbmdlLWRpZmYiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxODQ0Cittc2dpZCAiLS1yYW5nZS1kaWZmIHJlcXVpcmVzIC0tY292ZXItbGV0dGVyIG9yIHNpbmdsZSBwYXRjaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE4NTIKK21zZ2lkICJSYW5nZS1kaWZmOiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE4NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmFuZ2UtZGlmZiBhZ2FpbnN0IHYlZDoiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxODY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWFkIHNpZ25hdHVyZSBmaWxlICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxOTAwCittc2dpZCAiR2VuZXJhdGluZyBwYXRjaGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTk0NAorbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MjAwMworbXNnaWQgImdpdCBjaGVycnkgWy12XSBbPHVwc3RyZWFtPiBbPGhlYWQ+IFs8bGltaXQ+XV1dIgorbXNnc3RyICJnaXQgY2hlcnJ5IFstdl0gWzzPgM+Bzr/PgiDPhM6xIM+AzqzOvc+JPiBbPGhlYWQ+IFs8z4zPgc65zr8+XV1dIgorCisjOiBidWlsdGluL2xvZy5jOjIwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNvdWxkIG5vdCBmaW5kIGEgdHJhY2tlZCByZW1vdGUgYnJhbmNoLCBwbGVhc2Ugc3BlY2lmeSA8dXBzdHJlYW0+IG1hbnVhbGx5LlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzAKK21zZ2lkICJnaXQgbHMtZmlsZXMgWzxvcHRpb25zPl0gWzxmaWxlPi4uLl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNgorbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOAorbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzAKK21zZ2lkICJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdmc21vbml0b3IgY2xlYW4nIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzIKK21zZ2lkICJzaG93IGNhY2hlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IChkZWZhdWx0KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM0Cittc2dpZCAic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNgorbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM4Cittc2dpZCAic2hvdyBvdGhlciBmaWxlcyBpbiB0aGUgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDAKK21zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQzCittc2dpZCAic2hvdyBzdGFnZWQgY29udGVudHMnIG9iamVjdCBuYW1lIGluIHRoZSBvdXRwdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NQorbXNnaWQgInNob3cgZmlsZXMgb24gdGhlIGZpbGVzeXN0ZW0gdGhhdCBuZWVkIHRvIGJlIHJlbW92ZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NworbXNnaWQgInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZXMgb25seSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ5Cittc2dpZCAic2hvdyBsaW5lIGVuZGluZ3Mgb2YgZmlsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MQorbXNnaWQgImRvbid0IHNob3cgZW1wdHkgZGlyZWN0b3JpZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NAorbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU2Cittc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1OAorbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTYxCittc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY0Cittc2dpZCAicmVhZCBhZGRpdGlvbmFsIHBlci1kaXJlY3RvcnkgZXhjbHVkZSBwYXR0ZXJucyBpbiA8ZmlsZT4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NgorbXNnaWQgImFkZCB0aGUgc3RhbmRhcmQgZ2l0IGV4Y2x1c2lvbnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU3MAorbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzMKK21zZ2lkICJyZWN1cnNlIHRocm91Z2ggc3VibW9kdWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc1Cittc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzYKK21zZ2lkICJ0cmVlLWlzaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc3Cittc2dpZCAicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc5Cittc2dpZCAic2hvdyBkZWJ1Z2dpbmcgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjkKK21zZ2lkICIiCisiZ2l0IGxzLXJlbW90ZSBbLS1oZWFkc10gWy0tdGFnc10gWy0tcmVmc10gWy0tdXBsb2FkLXBhY2s9PGV4ZWM+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgIFstcSB8IC0tcXVpZXRdIFstLWV4aXQtY29kZV0gWy0tZ2V0LXVybF1cbiIKKyIgICAgICAgICAgICAgICAgICAgICBbLS1zeW1yZWZdIFs8cmVwb3NpdG9yeT4gWzxyZWZzPi4uLl1dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTkKK21zZ2lkICJkbyBub3QgcHJpbnQgcmVtb3RlIFVSTCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjYwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIgYnVpbHRpbi9yZWJhc2UuYzoxMTExCittc2dpZCAiZXhlYyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjYxIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjMKK21zZ2lkICJwYXRoIG9mIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIGhvc3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2NQorbXNnaWQgImxpbWl0IHRvIHRhZ3MiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2NgorbXNnaWQgImxpbWl0IHRvIGhlYWRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjcKK21zZ2lkICJkbyBub3Qgc2hvdyBwZWVsZWQgdGFncyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjY5Cittc2dpZCAidGFrZSB1cmwuPGJhc2U+Lmluc3RlYWRPZiBpbnRvIGFjY291bnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy1yZW1vdGUuYzo3MworbXNnaWQgImV4aXQgd2l0aCBleGl0IGNvZGUgMiBpZiBubyBtYXRjaGluZyByZWZzIGFyZSBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjc2Cittc2dpZCAic2hvdyB1bmRlcmx5aW5nIHJlZiBpbiBhZGRpdGlvbiB0byB0aGUgb2JqZWN0IHBvaW50ZWQgYnkgaXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy10cmVlLmM6MzAKK21zZ2lkICJnaXQgbHMtdHJlZSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyOAorbXNnaWQgIm9ubHkgc2hvdyB0cmVlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzAKK21zZ2lkICJyZWN1cnNlIGludG8gc3VidHJlZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy10cmVlLmM6MTMyCittc2dpZCAic2hvdyB0cmVlcyB3aGVuIHJlY3Vyc2luZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzUKK21zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCBieXRlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNgorbXNnaWQgImluY2x1ZGUgb2JqZWN0IHNpemUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy10cmVlLmM6MTM4IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MAorbXNnaWQgImxpc3Qgb25seSBmaWxlbmFtZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9scy10cmVlLmM6MTQzCittc2dpZCAidXNlIGZ1bGwgcGF0aCBuYW1lcyIKK21zZ3N0ciAizr3OsSDOs86vzr3Otc65IM+Hz4HOrs+Dzrcgz4DOu86uz4HPic69IM6/zr3Ov868zqzPhM+Jzr0gzrTOuc6xzrTPgc6/zrzPjs69IgorCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDUKK21zZ2lkICJsaXN0IGVudGlyZSB0cmVlOyBub3QganVzdCBjdXJyZW50IGRpcmVjdG9yeSAoaW1wbGllcyAtLWZ1bGwtbmFtZSkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tYWlsc3BsaXQuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1wdHkgbWJveDogJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6NTMKK21zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gWzxjb21taXQ+Li4uXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6NTQKK21zZ2lkICJnaXQgbWVyZ2UgLS1hYm9ydCIKK21zZ3N0ciAiZ2l0IG1lcmdlIC0tYWJvcnQiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1NQorbXNnaWQgImdpdCBtZXJnZSAtLWNvbnRpbnVlIgorbXNnc3RyICJnaXQgbWVyZ2UgLS1jb250aW51ZSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjExMgorbXNnaWQgInN3aXRjaCBgbScgcmVxdWlyZXMgYSB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIHJlcXVpcmVzIGEgdmFsdWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE3OAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZmluZCBtZXJnZSBzdHJhdGVneSAnJXMnLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXZhaWxhYmxlIHN0cmF0ZWdpZXMgYXJlOiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkF2YWlsYWJsZSBjdXN0b20gc3RyYXRlZ2llcyBhcmU6IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzUgYnVpbHRpbi9wdWxsLmM6MTQ0Cittc2dpZCAiZG8gbm90IHNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MjM4IGJ1aWx0aW4vcHVsbC5jOjE0NworbXNnaWQgInNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MjM5IGJ1aWx0aW4vcHVsbC5jOjE1MAorbXNnaWQgIihzeW5vbnltIHRvIC0tc3RhdCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI0MSBidWlsdGluL3B1bGwuYzoxNTMKK21zZ2lkICJhZGQgKGF0IG1vc3QgPG4+KSBlbnRyaWVzIGZyb20gc2hvcnRsb2cgdG8gbWVyZ2UgY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI0NCBidWlsdGluL3B1bGwuYzoxNTkKK21zZ2lkICJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MjQ2IGJ1aWx0aW4vcHVsbC5jOjE2MgorbXNnaWQgInBlcmZvcm0gYSBjb21taXQgaWYgdGhlIG1lcmdlIHN1Y2NlZWRzIChkZWZhdWx0KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MjQ4IGJ1aWx0aW4vcHVsbC5jOjE2NQorbXNnaWQgImVkaXQgbWVzc2FnZSBiZWZvcmUgY29tbWl0dGluZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MjQ5Cittc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MjUxIGJ1aWx0aW4vcHVsbC5jOjE3MQorbXNnaWQgImFib3J0IGlmIGZhc3QtZm9yd2FyZCBpcyBub3QgcG9zc2libGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI1NSBidWlsdGluL3B1bGwuYzoxNzQKK21zZ2lkICJ2ZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI1NiBidWlsdGluL25vdGVzLmM6Nzg3IGJ1aWx0aW4vcHVsbC5jOjE3OAorIzogYnVpbHRpbi9yZWJhc2UuYzoxMTI0IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4OCBidWlsdGluL3JldmVydC5jOjExMQorbXNnaWQgInN0cmF0ZWd5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTcgYnVpbHRpbi9wdWxsLmM6MTc5Cittc2dpZCAibWVyZ2Ugc3RyYXRlZ3kgdG8gdXNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTggYnVpbHRpbi9wdWxsLmM6MTgyCittc2dpZCAib3B0aW9uPXZhbHVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTkgYnVpbHRpbi9wdWxsLmM6MTgzCittc2dpZCAib3B0aW9uIGZvciBzZWxlY3RlZCBtZXJnZSBzdHJhdGVneSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MjYxCittc2dpZCAibWVyZ2UgY29tbWl0IG1lc3NhZ2UgKGZvciBhIG5vbi1mYXN0LWZvcndhcmQgbWVyZ2UpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjgKK21zZ2lkICJhYm9ydCB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MjcwCittc2dpZCAiY29udGludWUgdGhlIGN1cnJlbnQgaW4tcHJvZ3Jlc3MgbWVyZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI3MiBidWlsdGluL3B1bGwuYzoxOTAKK21zZ2lkICJhbGxvdyBtZXJnaW5nIHVucmVsYXRlZCBoaXN0b3JpZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI3OAorbXNnaWQgInZlcmlmeSBjb21taXQtbXNnIGhvb2siCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjMwMworbXNnaWQgImNvdWxkIG5vdCBydW4gc3Rhc2guIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMDgKK21zZ2lkICJzdGFzaCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSB2YWxpZCBvYmplY3Q6ICVzIgorbXNnc3RyICLOtM61zr0gzrXOr869zrHOuSDOrc6zzrrPhc+Bzr8gzrHOvc+EzrnOus61zq/OvM61zr3OvzogJXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMzUgYnVpbHRpbi9tZXJnZS5jOjM1MgorbXNnaWQgInJlYWQtdHJlZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjM4MgorbXNnaWQgIiAobm90aGluZyB0byBzcXVhc2gpIgorbXNnc3RyICIgKM+Ezq/PgM6/z4TOsSDPgM+Bzr/PgiDPg8+NzrzPgM+Ez4XOvs63KSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJTcXVhc2ggY29tbWl0IC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjQ0MworIywgYy1mb3JtYXQKK21zZ2lkICJObyBtZXJnZSBtZXNzYWdlIC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjQ5NAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6NzAyCittc2dpZCAiTm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6NzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gb3B0aW9uIGZvciBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjc4MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcmVhZCBmcm9tICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjc5MgorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgY29tbWl0dGluZyBtZXJnZTsgdXNlICdnaXQgY29tbWl0JyB0byBjb21wbGV0ZSB0aGUgbWVyZ2UuXG4iCittc2dzdHIgIiIKKyLOlM61IM6zzq/Ovc61z4TOsc65IM+Fz4DOv86yzr/Ou86uIM+EzrfPgiDPg8+FzrPPh8+Ozr3Otc+Fz4POt8+CLCDPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61ICdnaXQgY29tbWl0JyDOs865zrEgzr3OsSAiCisizr/Ou86/zrrOu863z4HPjs+DzrXPhM61IM+Ezrcgz4PPhc6zz4fPjs69zrXPhc+DzrcuXG4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlBsZWFzZSBlbnRlciBhIGNvbW1pdCBtZXNzYWdlIHRvIGV4cGxhaW4gd2h5IHRoaXMgbWVyZ2UgaXMgbmVjZXNzYXJ5LFxuIgorImVzcGVjaWFsbHkgaWYgaXQgbWVyZ2VzIGFuIHVwZGF0ZWQgdXBzdHJlYW0gaW50byBhIHRvcGljIGJyYW5jaC5cbiIKKyJcbiIKKyJMaW5lcyBzdGFydGluZyB3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLCBhbmQgYW4gZW1wdHkgbWVzc2FnZSBhYm9ydHNcbiIKKyJ0aGUgY29tbWl0LlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MzQKK21zZ2lkICJFbXB0eSBjb21taXQgbWVzc2FnZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjg1MworIywgYy1mb3JtYXQKK21zZ2lkICJXb25kZXJmdWwuXG4iCittc2dzdHIgIs6Vzr7Osc65z4HOtc+EzrnOus6sLlxuIgorCisjOiBidWlsdGluL21lcmdlLmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSBmYWlsZWQ7IGZpeCBjb25mbGljdHMgYW5kIHRoZW4gY29tbWl0IHRoZSByZXN1bHQuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjk0NQorbXNnaWQgIk5vIGN1cnJlbnQgYnJhbmNoLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6OTQ3Cittc2dpZCAiTm8gcmVtb3RlIGZvciB0aGUgY3VycmVudCBicmFuY2guIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDkKK21zZ2lkICJObyBkZWZhdWx0IHVwc3RyZWFtIGRlZmluZWQgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjk1NAorIywgYy1mb3JtYXQKK21zZ2lkICJObyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIGZvciAlcyBmcm9tICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDExCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB2YWx1ZSAnJXMnIGluIGVudmlyb25tZW50ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjExMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UgaW4gJXM6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ4Cittc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEyNTEKK21zZ2lkICItLWFib3J0IGV4cGVjdHMgbm8gYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjU1Cittc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgdG8gYWJvcnQgKE1FUkdFX0hFQUQgbWlzc2luZykuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjY3Cittc2dpZCAiLS1jb250aW51ZSBleHBlY3RzIG5vIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTI3MQorbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIGluIHByb2dyZXNzIChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTI4NworbXNnaWQgIiIKKyJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS5cbiIKKyJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCittc2dzdHIgIiIKKyLOlM61zr0gzq3Ph861z4TOtSDOv867zr/Ous67zrfPgc+Oz4POtc65IM+Ezrcgz4PPhc6zz4fPjs69zrXPhc+Dzq4gz4POsc+CICjOpc+AzqzPgc+HzrXOuSDPhM6/IE1FUkdFX0hFQUQpLlxuIgorIs6gzrHPgc6xzrrOsc67z44sIM+Fz4DOv86yzqzOu861z4TOtSDPhM65z4IgzrHOu867zrHOs86tz4Igz4POsc+CIM+Az4HOuc69IM+Dz4XOs8+Hz4nOvc61z43Pg861z4TOtS4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk0Cittc2dpZCAiIgorIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLlxuIgorIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKK21zZ3N0ciAiIgorIs6UzrXOvSDOrc+HzrXPhM61IM6/zrvOv866zrvOt8+Bz47Pg861zrkgz4TOt869IM61z4DOuc67zrXOus+EzrnOus6uIM60zrnOsc67zr/Os86uIM+DzrHPgiAozqXPgM6sz4HPh861zrkgz4TOvyAiCisiQ0hFUlJZX1BJQ0tfSEVBRCkuXG4iCisizqDOsc+BzrHOus6xzrvPjiwgz4XPgM6/zrLOrM67zrXPhM61IM+EzrnPgiDOsc67zrvOsc6zzq3PgiDPg86xz4Igz4DPgc65zr0gz4PPhc6zz4fPic69zrXPjc+DzrXPhM61LiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEyOTcKK21zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCittc2dzdHIgIiIKKyLOlM61zr0gzq3Ph861z4TOtSDOv867zr/Ous67zrfPgc+Oz4POtc65IM+EzrfOvSDOtc+AzrnOu861zrrPhM65zrrOriDOtM65zrHOu86/zrPOriDPg86xz4IgKM6lz4DOrM+Bz4fOtc65IM+Ezr8gIgorIkNIRVJSWV9QSUNLX0hFQUQpLiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEzMDYKK21zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLW5vLWZmLiIKK21zZ3N0ciAizpTOtSDOvM+Azr/Pgc61zq/PhM61IM69zrEgz4PPhc69zrTPhc6sz4POtc+EzrUgz4TOvyAtLXNxdWFzaCDOvM61IM+Ezr8gLS1uby1mZi4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzE0Cittc2dpZCAiTm8gY29tbWl0IHNwZWNpZmllZCBhbmQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm90IHNldC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEzMzEKK21zZ2lkICJTcXVhc2ggY29tbWl0IGludG8gZW1wdHkgaGVhZCBub3Qgc3VwcG9ydGVkIHlldCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTMzMworbXNnaWQgIk5vbi1mYXN0LWZvcndhcmQgY29tbWl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW50byBhbiBlbXB0eSBoZWFkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIC0gbm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEzNDAKK21zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDIyCittc2dpZCAicmVmdXNpbmcgdG8gbWVyZ2UgdW5yZWxhdGVkIGhpc3RvcmllcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTQzMQorbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZS4iCittc2dzdHIgIs6JzrTOtyDPgM67zq7Pgc+Jz4IgzrXOvc6uzrzOtc+Bzr8uIgorCisjOiBidWlsdGluL21lcmdlLmM6MTQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICJVcGRhdGluZyAlcy4uJXNcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgcmVhbGx5IHRyaXZpYWwgaW4taW5kZXggbWVyZ2UuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTQ5MAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3BlLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTE1Cittc2dpZCAiQWxyZWFkeSB1cCB0byBkYXRlLiBZZWVhaCEiCittc2dzdHIgIs6JzrTOtyDPgM67zq7Pgc+Jz4IgzrXOvc6uzrzOtc+Bzr8uIM6dzrHOuc65zrkhIgorCisjOiBidWlsdGluL21lcmdlLmM6MTUyMQorbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTU0NCBidWlsdGluL21lcmdlLmM6MTYyMworIywgYy1mb3JtYXQKK21zZ2lkICJSZXdpbmRpbmcgdGhlIHRyZWUgdG8gcHJpc3RpbmUuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgbWVyZ2Ugc3RyYXRlZ3kgJXMuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTYxNAorIywgYy1mb3JtYXQKK21zZ2lkICJObyBtZXJnZSBzdHJhdGVneSBoYW5kbGVkIHRoZSBtZXJnZS5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTYxNgorIywgYy1mb3JtYXQKK21zZ2lkICJNZXJnZSB3aXRoIHN0cmF0ZWd5ICVzIGZhaWxlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTYyNQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTYzNworIywgYy1mb3JtYXQKK21zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMyCittc2dpZCAiZ2l0IG1lcmdlLWJhc2UgWy1hIHwgLS1hbGxdIDxjb21taXQ+IDxjb21taXQ+Li4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMzCittc2dpZCAiZ2l0IG1lcmdlLWJhc2UgWy1hIHwgLS1hbGxdIC0tb2N0b3B1cyA8Y29tbWl0Pi4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozNAorbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPGNvbW1pdD4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzUKK21zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWlzLWFuY2VzdG9yIDxjb21taXQ+IDxjb21taXQ+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjM2Cittc2dpZCAiZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IDxyZWY+IFs8Y29tbWl0Pl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MTUzCittc2dpZCAib3V0cHV0IGFsbCBjb21tb24gYW5jZXN0b3JzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjE1NQorbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoxNTcKK21zZ2lkICJsaXN0IHJldnMgbm90IHJlYWNoYWJsZSBmcm9tIG90aGVycyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoxNTkKK21zZ2lkICJpcyB0aGUgZmlyc3Qgb25lIGFuY2VzdG9yIG9mIHRoZSBvdGhlcj8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MTYxCittc2dpZCAiZmluZCB3aGVyZSA8Y29tbWl0PiBmb3JrZWQgZnJvbSByZWZsb2cgb2YgPHJlZj4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6OQorbXNnaWQgIiIKKyJnaXQgbWVyZ2UtZmlsZSBbPG9wdGlvbnM+XSBbLUwgPG5hbWUxPiBbLUwgPG9yaWc+IFstTCA8bmFtZTI+XV1dIDxmaWxlMT4gIgorIjxvcmlnLWZpbGU+IDxmaWxlMj4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6MzUKK21zZ2lkICJzZW5kIHJlc3VsdHMgdG8gc3RhbmRhcmQgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjM2Cittc2dpZCAidXNlIGEgZGlmZjMgYmFzZWQgbWVyZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6MzcKK21zZ2lkICJmb3IgY29uZmxpY3RzLCB1c2Ugb3VyIHZlcnNpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6MzkKK21zZ2lkICJmb3IgY29uZmxpY3RzLCB1c2UgdGhlaXIgdmVyc2lvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLWZpbGUuYzo0MQorbXNnaWQgImZvciBjb25mbGljdHMsIHVzZSBhIHVuaW9uIHZlcnNpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6NDQKK21zZ2lkICJmb3IgY29uZmxpY3RzLCB1c2UgdGhpcyBtYXJrZXIgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLWZpbGUuYzo0NQorbXNnaWQgImRvIG5vdCB3YXJuIGFib3V0IGNvbmZsaWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLWZpbGUuYzo0NworbXNnaWQgInNldCBsYWJlbHMgZm9yIGZpbGUxL29yaWctZmlsZS9maWxlMiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgYmFzZS4gSWdub3JpbmcgJXMuIgorbXNnaWRfcGx1cmFsICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCBiYXNlcy4gSWdub3JpbmcgJXMuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2NAorbXNnaWQgIm5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3MCBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIHJlZiAnJXMnIgorbXNnc3RyICLOtM61zr0gzq7PhM6xzr0gzrTPhc69zrHPhM6uIM63IM+EzrHPjc+EzrnPg863IM+Ezr/PhSByZWYgJyVzJyIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3OAorIywgYy1mb3JtYXQKK21zZ2lkICJNZXJnaW5nICVzIHdpdGggJXNcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21rdHJlZS5jOjY2Cittc2dpZCAiZ2l0IG1rdHJlZSBbLXpdIFstLW1pc3NpbmddIFstLWJhdGNoXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21rdHJlZS5jOjE1NAorbXNnaWQgImlucHV0IGlzIE5VTCB0ZXJtaW5hdGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU1IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI2Cittc2dpZCAiYWxsb3cgbWlzc2luZyBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU2Cittc2dpZCAiYWxsb3cgY3JlYXRpb24gb2YgbW9yZSB0aGFuIG9uZSB0cmVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjgKK21zZ2lkICJnaXQgbXVsdGktcGFjay1pbmRleCBbLS1vYmplY3QtZGlyPTxkaXI+XSAod3JpdGV8dmVyaWZ5KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzoyMQorbXNnaWQgIm9iamVjdCBkaXJlY3RvcnkgY29udGFpbmluZyBzZXQgb2YgcGFja2ZpbGUgYW5kIHBhY2staW5kZXggcGFpcnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MzkKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHZlcmI6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXYuYzoxOAorbXNnaWQgImdpdCBtdiBbPG9wdGlvbnM+XSA8c291cmNlPi4uLiA8ZGVzdGluYXRpb24+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXYuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjg1Cittc2dpZCAiUGxlYXNlIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlLipzIGlzIGluIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXYuYzoxMjUKK21zZ2lkICJmb3JjZSBtb3ZlL3JlbmFtZSBldmVuIGlmIHRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjEyNworbXNnaWQgInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXYuYzoxNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVzdGluYXRpb24gJyVzJyBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjE4MAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyByZW5hbWUgb2YgJyVzJyB0byAnJXMnXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjE4NAorbXNnaWQgImJhZCBzb3VyY2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjE4NworbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjE5MAorbXNnaWQgImNhbm5vdCBtb3ZlIGRpcmVjdG9yeSBvdmVyIGZpbGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjE5OQorbXNnaWQgInNvdXJjZSBkaXJlY3RvcnkgaXMgZW1wdHkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjIyNAorbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjIyNworbXNnaWQgImRlc3RpbmF0aW9uIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL212LmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjIzOAorbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjI0MQorbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL212LmM6MjQzCittc2dpZCAiZGVzdGluYXRpb24gZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXYuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMsIHNvdXJjZT0lcywgZGVzdGluYXRpb249JXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tdi5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJSZW5hbWluZyAlcyB0byAlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXYuYzoyNzcgYnVpbHRpbi9yZW1vdGUuYzo3MTcgYnVpbHRpbi9yZXBhY2suYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVuYW1pbmcgJyVzJyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjM1NQorbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSA8Y29tbWl0Pi4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25hbWUtcmV2LmM6MzU2Cittc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tYWxsIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozNTcKK21zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gLS1zdGRpbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25hbWUtcmV2LmM6NDEzCittc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTQKK21zZ2lkICJvbmx5IHVzZSB0YWdzIHRvIG5hbWUgdGhlIGNvbW1pdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxNgorbXNnaWQgIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTgKK21zZ2lkICJpZ25vcmUgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQyMAorbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQyMQorbXNnaWQgInJlYWQgZnJvbSBzdGRpbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25hbWUtcmV2LmM6NDIyCittc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMgKGRlZmF1bHQpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjgKK21zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MjgKK21zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBbbGlzdCBbPG9iamVjdD5dXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MjkKK21zZ2lkICIiCisiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gYWRkIFstZl0gWy0tYWxsb3ctZW1wdHldIFstbSA8bXNnPiB8IC1GIDxmaWxlPiAiCisifCAoLWMgfCAtQykgPG9iamVjdD5dIFs8b2JqZWN0Pl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjMwCittc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gY29weSBbLWZdIDxmcm9tLW9iamVjdD4gPHRvLW9iamVjdD4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjMxCittc2dpZCAiIgorImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGFwcGVuZCBbLS1hbGxvdy1lbXB0eV0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+IHwgIgorIigtYyB8IC1DKSA8b2JqZWN0Pl0gWzxvYmplY3Q+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MzIKK21zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBlZGl0IFstLWFsbG93LWVtcHR5XSBbPG9iamVjdD5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMworbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIHNob3cgWzxvYmplY3Q+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MzQKK21zZ2lkICIiCisiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gbWVyZ2UgWy12IHwgLXFdIFstcyA8c3RyYXRlZ3k+XSA8bm90ZXMtcmVmPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MzUKK21zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWy12IHwgLXFdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNgorbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFstdiB8IC1xXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MzcKK21zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSByZW1vdmUgWzxvYmplY3Q+Li4uXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MzgKK21zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBwcnVuZSBbLW5dIFstdl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjM5Cittc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gZ2V0LXJlZiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NDQKK21zZ2lkICJnaXQgbm90ZXMgW2xpc3QgWzxvYmplY3Q+XV0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjQ5Cittc2dpZCAiZ2l0IG5vdGVzIGFkZCBbPG9wdGlvbnM+XSBbPG9iamVjdD5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NAorbXNnaWQgImdpdCBub3RlcyBjb3B5IFs8b3B0aW9ucz5dIDxmcm9tLW9iamVjdD4gPHRvLW9iamVjdD4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjU1Cittc2dpZCAiZ2l0IG5vdGVzIGNvcHkgLS1zdGRpbiBbPGZyb20tb2JqZWN0PiA8dG8tb2JqZWN0Pl0uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjYwCittc2dpZCAiZ2l0IG5vdGVzIGFwcGVuZCBbPG9wdGlvbnM+XSBbPG9iamVjdD5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2NQorbXNnaWQgImdpdCBub3RlcyBlZGl0IFs8b2JqZWN0Pl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcwCittc2dpZCAiZ2l0IG5vdGVzIHNob3cgWzxvYmplY3Q+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NzUKK21zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgWzxvcHRpb25zPl0gPG5vdGVzLXJlZj4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc2Cittc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFs8b3B0aW9ucz5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NworbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFs8b3B0aW9ucz5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MgorbXNnaWQgImdpdCBub3RlcyByZW1vdmUgWzxvYmplY3Q+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6ODcKK21zZ2lkICJnaXQgbm90ZXMgcHJ1bmUgWzxvcHRpb25zPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjkyCittc2dpZCAiZ2l0IG5vdGVzIGdldC1yZWYiCittc2dzdHIgImdpdCBub3RlcyBnZXQtcmVmIgorCisjOiBidWlsdGluL25vdGVzLmM6OTcKK21zZ2lkICJXcml0ZS9lZGl0IHRoZSBub3RlcyBmb3IgdGhlIGZvbGxvd2luZyBvYmplY3Q6IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHN0YXJ0ICdzaG93JyBmb3Igb2JqZWN0ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjE1NAorbXNnaWQgImNvdWxkIG5vdCByZWFkICdzaG93JyBvdXRwdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjE2MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZmluaXNoICdzaG93JyBmb3Igb2JqZWN0ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjE5NworbXNnaWQgInBsZWFzZSBzdXBwbHkgdGhlIG5vdGUgY29udGVudHMgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6MjA2Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5vdGUgb2JqZWN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjI0MiBidWlsdGluL3RhZy5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCittc2dzdHIgIs60zrXOvSDOrs+EzrHOvSDOtM+Fzr3Osc+Ez4wgz4TOvyDOrM69zr/Ouc6zzrzOsSDOriDOtyDOsc69zqzOs869z4nPg863IM+Ezr/PhSAnJXMnIgorCisjOiBidWlsdGluL25vdGVzLmM6MjYzIGJ1aWx0aW4vbm90ZXMuYzozMTMgYnVpbHRpbi9ub3Rlcy5jOjMxNQorIzogYnVpbHRpbi9ub3Rlcy5jOjM4MyBidWlsdGluL25vdGVzLmM6NDM4IGJ1aWx0aW4vbm90ZXMuYzo1MjYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzEgYnVpbHRpbi9ub3Rlcy5jOjYxMCBidWlsdGluL25vdGVzLmM6NjcyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgorbXNnc3RyICLOsc+Azq3PhM+Fz4fOtSDOtyDPhM6xz43PhM65z4POtyDPhM6/z4UgJyVzJyDOvM61IM66zqzPgM6/zrnOvyDOrc6zzrrPhc+Bzr8gcmVmLiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBvYmplY3QgJyVzJy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjI2OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBub3RlIGRhdGEgZnJvbSBub24tYmxvYiBvYmplY3QgJyVzJy4iCittc2dzdHIgIiIKKyLOtM61zr0gzq7PhM6xzr0gzrTPhc69zrHPhM6uIM63IM6xzr3OrM6zzr3Pic+DzrcgzrTOtc60zr/OvM6tzr3Pic69IM+DzrfOvM61zrnPjs+DzrXPic69IM6xz4DPjCDOvM63IGJsb2IgzrHOvc+EzrnOus61zq/OvM61zr3OvyAnJXMnLiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogdGhlIGZpcnN0ICVzIHdpbGwgYmUgcmVwbGFjZWQgYnkgYSBnaXQKKyMuIG5vdGVzIGNvbW1hbmQ6ICdhZGQnLCAnbWVyZ2UnLCAncmVtb3ZlJywgZXRjLgorIy4KKyM6IGJ1aWx0aW4vbm90ZXMuYzozNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmdXNpbmcgdG8gJXMgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzYgYnVpbHRpbi9ub3Rlcy5jOjQzMSBidWlsdGluL25vdGVzLmM6NTA5CisjOiBidWlsdGluL25vdGVzLmM6NTIxIGJ1aWx0aW4vbm90ZXMuYzo1OTggYnVpbHRpbi9ub3Rlcy5jOjY2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjgxNSBidWlsdGluL25vdGVzLmM6OTYzIGJ1aWx0aW4vbm90ZXMuYzo5ODUKK21zZ2lkICJ0b28gbWFueSBwYXJhbWV0ZXJzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozODkgYnVpbHRpbi9ub3Rlcy5jOjY3OAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTAgYnVpbHRpbi9ub3Rlcy5jOjU3NgorbXNnaWQgIm5vdGUgY29udGVudHMgYXMgYSBzdHJpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjQxMyBidWlsdGluL25vdGVzLmM6NTc5Cittc2dpZCAibm90ZSBjb250ZW50cyBpbiBhIGZpbGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjQxNiBidWlsdGluL25vdGVzLmM6NTgyCittc2dpZCAicmV1c2UgYW5kIGVkaXQgc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTkgYnVpbHRpbi9ub3Rlcy5jOjU4NQorbXNnaWQgInJldXNlIHNwZWNpZmllZCBub3RlIG9iamVjdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NDIyIGJ1aWx0aW4vbm90ZXMuYzo1ODgKK21zZ2lkICJhbGxvdyBzdG9yaW5nIGVtcHR5IG5vdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjQyMyBidWlsdGluL25vdGVzLmM6NDk2Cittc2dpZCAicmVwbGFjZSBleGlzdGluZyBub3RlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW5ub3QgYWRkIG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgorImV4aXN0aW5nIG5vdGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NjMgYnVpbHRpbi9ub3Rlcy5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJPdmVyd3JpdGluZyBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjQ3NSBidWlsdGluL25vdGVzLmM6NjM3IGJ1aWx0aW4vbm90ZXMuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtb3Zpbmcgbm90ZSBmb3Igb2JqZWN0ICVzXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjQ5NworbXNnaWQgInJlYWQgb2JqZWN0cyBmcm9tIHN0ZGluIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0OTkKK21zZ2lkICJsb2FkIHJld3JpdGluZyBjb25maWcgZm9yIDxjb21tYW5kPiAoaW1wbGllcyAtLXN0ZGluKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NTE3Cittc2dpZCAidG9vIGZldyBwYXJhbWV0ZXJzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgorImV4aXN0aW5nIG5vdGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyBub3RlcyBvbiBzb3VyY2Ugb2JqZWN0ICVzLiBDYW5ub3QgY29weS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIC1tLy1GLy1jLy1DIG9wdGlvbnMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZSAnZWRpdCcgc3ViY29tbWFuZC5cbiIKKyJQbGVhc2UgdXNlICdnaXQgbm90ZXMgYWRkIC1mIC1tLy1GLy1jLy1DJyBpbnN0ZWFkLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2OTgKK21zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MDAKK21zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9SRUYiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcwMgorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJ2dpdCBub3RlcyBtZXJnZScgd29ya3RyZWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcyMgorbXNnaWQgImZhaWxlZCB0byByZWFkIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjQKK21zZ2lkICJjb3VsZCBub3QgZmluZCBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6NzI2Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MzkKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBOT1RFU19NRVJHRV9SRUYiCittc2dzdHIgIs6xz4DOrc+Ez4XPh861IM63IM+EzrHPjc+EzrnPg863IM+Ezr/PhSBOT1RFU19NRVJHRV9SRUYiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NDIKK21zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgbm90ZXMgbWVyZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5vdGVzIG1lcmdlIHN0cmF0ZWd5ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODQKK21zZ2lkICJHZW5lcmFsIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc4NgorbXNnaWQgIk1lcmdlIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc4OAorbXNnaWQgIiIKKyJyZXNvbHZlIG5vdGVzIGNvbmZsaWN0cyB1c2luZyB0aGUgZ2l2ZW4gc3RyYXRlZ3kgKG1hbnVhbC9vdXJzL3RoZWlycy91bmlvbi8iCisiY2F0X3NvcnRfdW5pcSkiCittc2dzdHIgIiIKKyLOtc+AzrnOu8+Nz4PPhM61IM+EzrnPgiDPg8+FzrPOus+Bzr/Pjc+DzrXOuc+CIM+DzrfOvM61zrnPjs+DzrXPic69IM+Hz4HOt8+DzrnOvM6/z4DOv865z47Ovc+EzrHPgiDPhM63zr0gzrXPgM65zrvOtc6zzrzOrc69zrcgIgorIs+Dz4TPgc6xz4TOt86zzrnOus6uIChtYW51YWwvb3Vycy90aGVpcnMvdW5pb24vY2F0X3NvcnRfdW5pcSkiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTAKK21zZ2lkICJDb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTIKK21zZ2lkICJmaW5hbGl6ZSBub3RlcyBtZXJnZSBieSBjb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTQKK21zZ2lkICJBYm9ydGluZyBub3RlcyBtZXJnZSByZXNvbHV0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTYKK21zZ2lkICJhYm9ydCBub3RlcyBtZXJnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6ODA3Cittc2dpZCAiY2Fubm90IG1peCAtLWNvbW1pdCwgLS1hYm9ydCBvciAtcy8tLXN0cmF0ZWd5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MTIKK21zZ2lkICJtdXN0IHNwZWNpZnkgYSBub3RlcyByZWYgdG8gbWVyZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjgzNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIC1zLy0tc3RyYXRlZ3k6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSBub3RlcyBtZXJnZSBpbnRvICVzIGlzIGFscmVhZHkgaW4tcHJvZ3Jlc3MgYXQgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjg3NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc3RvcmUgbGluayB0byBjdXJyZW50IG5vdGVzIHJlZiAoJXMpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkF1dG9tYXRpYyBub3RlcyBtZXJnZSBmYWlsZWQuIEZpeCBjb25mbGljdHMgaW4gJXMgYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggIgorIidnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnLCBvciBhYm9ydCB0aGUgbWVyZ2Ugd2l0aCAnZ2l0IG5vdGVzIG1lcmdlIC0tIgorImFib3J0Jy5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL25vdGVzLmM6OTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk9iamVjdCAlcyBoYXMgbm8gbm90ZVxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MTIKK21zZ2lkICJhdHRlbXB0IHRvIHJlbW92ZSBub24tZXhpc3RlbnQgbm90ZSBpcyBub3QgYW4gZXJyb3IiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjkxNQorbXNnaWQgInJlYWQgb2JqZWN0IG5hbWVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NTQgYnVpbHRpbi9wcnVuZS5jOjEwOCBidWlsdGluL3dvcmt0cmVlLmM6MTY1Cittc2dpZCAiZG8gbm90IHJlbW92ZSwgc2hvdyBvbmx5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NTUKK21zZ2lkICJyZXBvcnQgcHJ1bmVkIG5vdGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5OTgKK21zZ2lkICJub3Rlcy1yZWYiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjk5OQorbXNnaWQgInVzZSBub3RlcyBmcm9tIDxub3Rlcy1yZWY+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxMDM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc3ViY29tbWFuZDogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1MQorbXNnaWQgIiIKKyJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8b3B0aW9ucz4uLi5dIFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTIKK21zZ2lkICIiCisiZ2l0IHBhY2stb2JqZWN0cyBbPG9wdGlvbnM+Li4uXSA8YmFzZS1uYW1lPiBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjQyMworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcGFja2VkIG9iamVjdCBDUkMgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDM0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvcnJ1cHQgcGFja2VkIG9iamVjdCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjdXJzaXZlIGRlbHRhIGRldGVjdGVkIGZvciBvYmplY3QgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAib3JkZXJlZCAldSBvYmplY3RzLCBleHBlY3RlZCAlPFBSSXUzMj4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFja2ZpbGUgaXMgaW52YWxpZDogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIG9wZW4gcGFja2ZpbGUgZm9yIHJldXNlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc5NworbXNnaWQgInVuYWJsZSB0byBzZWVrIGluIHJldXNlZCBwYWNrZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgwOAorbXNnaWQgInVuYWJsZSB0byByZWFkIGZyb20gcmV1c2VkIHBhY2tmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODM2Cittc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBwYWNrcyBhcmUgc3BsaXQgZHVlIHRvIHBhY2sucGFja1NpemVMaW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjg0OQorbXNnaWQgIldyaXRpbmcgb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjkxMSBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjg5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb3RlICU8UFJJdTMyPiBvYmplY3RzIHdoaWxlIGV4cGVjdGluZyAlPFBSSXUzMj4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMTU4Cittc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBhcyBzb21lIG9iamVjdHMgYXJlIG5vdCBiZWluZyBwYWNrZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IG92ZXJmbG93IGluIHBhY2sgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTU5NQorIywgYy1mb3JtYXQKK21zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBvdXQgb2YgYm91bmQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg2NAorbXNnaWQgIkNvdW50aW5nIG9iamVjdHMiCittc2dzdHIgIs6azrHPhM6xzrzOrc+Ez4HOt8+DzrcgzrHOvc+EzrnOus61zrnOvM6tzr3Pic69IgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGdldCBzaXplIG9mICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjAwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2Ugb2JqZWN0IGhlYWRlciBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwNzkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDk1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0ICVzIGNhbm5vdCBiZSByZWFkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA4MiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0ICVzIGluY29uc2lzdGVudCBvYmplY3QgbGVuZ3RoICglPFBSSXVNQVg+IHZzICU8UFJJdU1BWD4pIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjExOQorbXNnaWQgInN1Ym9wdGltYWwgcGFjayAtIG91dCBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRlbHRhIGNvbXByZXNzaW9uIHVzaW5nIHVwIHRvICVkIHRocmVhZHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTc3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYWNrIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gdGFnICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY2NAorbXNnaWQgIkNvbXByZXNzaW5nIG9iamVjdHMiCittc2dzdHIgIs6jz4XOvM+Azq/Otc+DzrcgzrHOvc+EzrnOus61zrnOvM6tzr3Pic69IgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NzAKK21zZ2lkICJpbmNvbnNpc3RlbmN5IHdpdGggZGVsdGEgY291bnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJleHBlY3RlZCBlZGdlIG9iamVjdCBJRCwgZ290IGdhcmJhZ2U6XG4iCisiICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc1NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiZXhwZWN0ZWQgb2JqZWN0IElELCBnb3QgZ2FyYmFnZTpcbiIKKyIgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODU1Cittc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgLS1taXNzaW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxNCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwMjIKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYWNrIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0NQorIywgYy1mb3JtYXQKK21zZ2lkICJsb29zZSBvYmplY3QgYXQgJXMgY291bGQgbm90IGJlIGV4YW1pbmVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAzMAorbXNnaWQgInVuYWJsZSB0byBmb3JjZSBsb29zZSBvYmplY3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTIyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHJldiAnJXMnIgorbXNnc3RyICLOtM61zr0gzrXOr869zrHOuSDOrc66zrTOv8+DzrcgzrcgJyVzJyIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByZXZpc2lvbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE1MAorbXNnaWQgInVuYWJsZSB0byBhZGQgcmVjZW50IG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjA3CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM3Cittc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM5Cittc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDEKK21zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIGR1cmluZyBvYmplY3Qgd3JpdGluZyBwaGFzZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDQKK21zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQ1Cittc2dpZCAiPHZlcnNpb24+Wyw8b2Zmc2V0Pl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQ2Cittc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDkKK21zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBvdXRwdXQgcGFjayBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1MQorbXNnaWQgImlnbm9yZSBib3Jyb3dlZCBvYmplY3RzIGZyb20gYWx0ZXJuYXRlIG9iamVjdCBzdG9yZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTMKK21zZ2lkICJpZ25vcmUgcGFja2VkIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU1Cittc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTcKK21zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBtZW1vcnkgaW4gYWRkaXRpb24gdG8gb2JqZWN0IGxpbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1OQorbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2MQorbXNnaWQgInJldXNlIGV4aXN0aW5nIGRlbHRhcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjMKK21zZ2lkICJyZXVzZSBleGlzdGluZyBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NQorbXNnaWQgInVzZSBPRlNfREVMVEEgb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjcKK21zZ2lkICJ1c2UgdGhyZWFkcyB3aGVuIHNlYXJjaGluZyBmb3IgYmVzdCBkZWx0YSBtYXRjaGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2OQorbXNnaWQgImRvIG5vdCBjcmVhdGUgYW4gZW1wdHkgcGFjayBvdXRwdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjcxCittc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzMKK21zZ2lkICJsaW1pdCB0aGUgb2JqZWN0cyB0byB0aG9zZSB0aGF0IGFyZSBub3QgeWV0IHBhY2tlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzYKK21zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gYW55IHJlZmVyZW5jZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzkKK21zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgYnkgcmVmbG9nIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgyCittc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIHRvIGJ5IHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODUKK21zZ2lkICJvdXRwdXQgcGFjayB0byBzdGRvdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg3Cittc2dpZCAiaW5jbHVkZSB0YWcgb2JqZWN0cyB0aGF0IHJlZmVyIHRvIG9iamVjdHMgdG8gYmUgcGFja2VkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4OQorbXNnaWQgImtlZXAgdW5yZWFjaGFibGUgb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTEKK21zZ2lkICJwYWNrIGxvb3NlIHVucmVhY2hhYmxlIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjkzCittc2dpZCAidW5wYWNrIHVucmVhY2hhYmxlIG9iamVjdHMgbmV3ZXIgdGhhbiA8dGltZT4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk2Cittc2dpZCAidXNlIHRoZSBzcGFyc2UgcmVhY2hhYmlsaXR5IGFsZ29yaXRobSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTgKK21zZ2lkICJjcmVhdGUgdGhpbiBwYWNrcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDAKK21zZ2lkICJjcmVhdGUgcGFja3Mgc3VpdGFibGUgZm9yIHNoYWxsb3cgZmV0Y2hlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDIKK21zZ2lkICJpZ25vcmUgcGFja3MgdGhhdCBoYXZlIGNvbXBhbmlvbiAua2VlcCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwNAorbXNnaWQgImlnbm9yZSB0aGlzIHBhY2siCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzA2Cittc2dpZCAicGFjayBjb21wcmVzc2lvbiBsZXZlbCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDgKK21zZ2lkICJkbyBub3QgaGlkZSBjb21taXRzIGJ5IGdyYWZ0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTAKK21zZ2lkICJ1c2UgYSBiaXRtYXAgaW5kZXggaWYgYXZhaWxhYmxlIHRvIHNwZWVkIHVwIGNvdW50aW5nIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzEyCittc2dpZCAid3JpdGUgYSBiaXRtYXAgaW5kZXggdG9nZXRoZXIgd2l0aCB0aGUgcGFjayBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTUKK21zZ2lkICJoYW5kbGluZyBmb3IgbWlzc2luZyBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxOAorbXNnaWQgImRvIG5vdCBwYWNrIG9iamVjdHMgaW4gcHJvbWlzb3IgcGFja2ZpbGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMyMAorbXNnaWQgInJlc3BlY3QgaXNsYW5kcyBkdXJpbmcgZGVsdGEgY29tcHJlc3Npb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImRlbHRhIGNoYWluIGRlcHRoICVkIGlzIHRvbyBkZWVwLCBmb3JjaW5nICVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM1MAorIywgYy1mb3JtYXQKK21zZ2lkICJwYWNrLmRlbHRhQ2FjaGVMaW1pdCBpcyB0b28gaGlnaCwgZm9yY2luZyAlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDQKK21zZ2lkICItLW1heC1wYWNrLXNpemUgY2Fubm90IGJlIHVzZWQgdG8gYnVpbGQgYSBwYWNrIGZvciB0cmFuc2ZlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDYKK21zZ2lkICJtaW5pbXVtIHBhY2sgc2l6ZSBsaW1pdCBpcyAxIE1pQiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTEKK21zZ2lkICItLXRoaW4gY2Fubm90IGJlIHVzZWQgdG8gYnVpbGQgYW4gaW5kZXhhYmxlIHBhY2siCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDE0Cittc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtLXVucGFjay11bnJlYWNoYWJsZSBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQyMAorbXNnaWQgImNhbm5vdCB1c2UgLS1maWx0ZXIgd2l0aG91dCAtLXN0ZG91dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0NzkKK21zZ2lkICJFbnVtZXJhdGluZyBvYmplY3RzIgorbXNnc3RyICLOkc+AzrHPgc6vzrjOvM63z4POtyDOsc69z4TOuc66zrXOuc68zq3Ovc+Jzr0iCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQ5OAorIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCAlPFBSSXUzMj4gKGRlbHRhICU8UFJJdTMyPiksIHJldXNlZCAlPFBSSXUzMj4gKGRlbHRhICU8UFJJdTMyPikiCittc2dzdHIgIiIKKyLOo8+Fzr3Ov867zrnOus6sICU8UFJJdTMyPiAoZGVsdGEgJTxQUkl1MzI+KSwgzrXPgM6xzr3Osc+Hz4HOt8+DzrnOvM6/z4DOv865zrfOvM6tzr3OsSAlPFBSSXUzMj4gKGRlbHRhICIKKyIlPFBSSXUzMj4pIgorCisjOiBidWlsdGluL3BhY2stcmVmcy5jOjcKK21zZ2lkICJnaXQgcGFjay1yZWZzIFs8b3B0aW9ucz5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTUKK21zZ2lkICJwYWNrIGV2ZXJ5dGhpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLXJlZnMuYzoxNgorbXNnaWQgInBydW5lIGxvb3NlIHJlZnMgKGRlZmF1bHQpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6OQorbXNnaWQgImdpdCBwcnVuZS1wYWNrZWQgWy1uIHwgLS1kcnktcnVuXSBbLXEgfCAtLXF1aWV0XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjQyCittc2dpZCAiUmVtb3ZpbmcgZHVwbGljYXRlIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wcnVuZS5jOjEyCittc2dpZCAiZ2l0IHBydW5lIFstbl0gWy12XSBbLS1wcm9ncmVzc10gWy0tZXhwaXJlIDx0aW1lPl0gWy0tXSBbPGhlYWQ+Li4uXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BydW5lLmM6MTA5Cittc2dpZCAicmVwb3J0IHBydW5lZCBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMTIKK21zZ2lkICJleHBpcmUgb2JqZWN0cyBvbGRlciB0aGFuIDx0aW1lPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BydW5lLmM6MTE0Cittc2dpZCAibGltaXQgdHJhdmVyc2FsIHRvIG9iamVjdHMgb3V0c2lkZSBwcm9taXNvciBwYWNrZmlsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wcnVuZS5jOjEyOAorbXNnaWQgImNhbm5vdCBwcnVuZSBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1bGwuYzo2MSBidWlsdGluL3B1bGwuYzo2MworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdWxsLmM6ODMKK21zZ2lkICJnaXQgcHVsbCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1bGwuYzoxMzQKK21zZ2lkICJjb250cm9sIGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1bGwuYzoxMzgKK21zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gbWVyZ2luZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1bGwuYzoxNDEKK21zZ2lkICJpbmNvcnBvcmF0ZSBjaGFuZ2VzIGJ5IHJlYmFzaW5nIHJhdGhlciB0aGFuIG1lcmdpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdWxsLmM6MTY4IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE0OSBidWlsdGluL3JldmVydC5jOjEyMworbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1bGwuYzoxNzcKK21zZ2lkICJhdXRvbWF0aWNhbGx5IHN0YXNoL3N0YXNoIHBvcCBiZWZvcmUgYW5kIGFmdGVyIHJlYmFzZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1bGwuYzoxOTMKK21zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gZmV0Y2hpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdWxsLmM6MjAzCittc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1bGwuYzoyMTEKK21zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBwdWxsZWQgaW4gcGFyYWxsZWwiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdWxsLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIHB1bGwuZmY6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjQyMgorbXNnaWQgIiIKKyJUaGVyZSBpcyBubyBjYW5kaWRhdGUgZm9yIHJlYmFzaW5nIGFnYWluc3QgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCAiCisiZmV0Y2hlZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdWxsLmM6NDI0Cittc2dpZCAiIgorIlRoZXJlIGFyZSBubyBjYW5kaWRhdGVzIGZvciBtZXJnaW5nIGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgZmV0Y2hlZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdWxsLmM6NDI1Cittc2dpZCAiIgorIkdlbmVyYWxseSB0aGlzIG1lYW5zIHRoYXQgeW91IHByb3ZpZGVkIGEgd2lsZGNhcmQgcmVmc3BlYyB3aGljaCBoYWQgbm9cbiIKKyJtYXRjaGVzIG9uIHRoZSByZW1vdGUgZW5kLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1bGwuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBhc2tlZCB0byBwdWxsIGZyb20gdGhlIHJlbW90ZSAnJXMnLCBidXQgZGlkIG5vdCBzcGVjaWZ5XG4iCisiYSBicmFuY2guIEJlY2F1c2UgdGhpcyBpcyBub3QgdGhlIGRlZmF1bHQgY29uZmlndXJlZCByZW1vdGVcbiIKKyJmb3IgeW91ciBjdXJyZW50IGJyYW5jaCwgeW91IG11c3Qgc3BlY2lmeSBhIGJyYW5jaCBvbiB0aGUgY29tbWFuZCBsaW5lLiIKK21zZ3N0ciAiIgorIs6WzrfPhM6uz4POsc+EzrUgzr3OsSDOtc69z4PPic68zrHPhM+Oz4POtc+EzrUgzrHPgM+MIM+Ezr8gzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr8gJyVzJywgzrHOu867zqwgzrTOtSDOtM+Oz4POsc+EzrVcbiIKKyLOus6sz4DOv865zr/OvSDOus67zqzOtM6/LiDOkc+Gzr/PjSDOsc+Fz4TPjCDOtM61zr0gzrXOr869zrHOuSDPhM6/IM+Az4HOv861z4DOuc67zrXOs868zq3Ovc6/IM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/XG4iCisizrPOuc6xIM+Ezr/OvSDPhM+Bzq3Ph86/zr3PhM6sIM+DzrHPgiDOus67zqzOtM6/LCDPgM+Bzq3PgM61zrkgzr3OsSDOtM+Oz4POtc+EzrUgzq3Ovc6xzr0gzrrOu86szrTOvyDPg8+EzrcgzrPPgc6xzrzOvM6uIM61zr3PhM6/zrvPjs69LiIKKworIzogYnVpbHRpbi9wdWxsLmM6NDMzIGJ1aWx0aW4vcmViYXNlLmM6OTU2IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKK21zZ2lkICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guIgorbXNnc3RyICLOlM61IM6yz4HOr8+DzrrOtc+Dz4TOtSDOsc+Fz4TOriDPhM63IM+Dz4TOuc6zzrzOriDPg861IM66zqzPgM6/zrnOv869IM66zrvOrM60zr8uIgorCisjOiBidWlsdGluL3B1bGwuYzo0MzUgYnVpbHRpbi9wdWxsLmM6NDUwIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKK21zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gcmViYXNlIGFnYWluc3QuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzNyBidWlsdGluL3B1bGwuYzo0NTIgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgorbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byBtZXJnZSB3aXRoLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1bGwuYzo0MzggYnVpbHRpbi9wdWxsLmM6NDUzCittc2dpZCAiU2VlIGdpdC1wdWxsKDEpIGZvciBkZXRhaWxzLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1bGwuYzo0NDAgYnVpbHRpbi9wdWxsLmM6NDQ2IGJ1aWx0aW4vcHVsbC5jOjQ1NQorIzogYnVpbHRpbi9yZWJhc2UuYzo5NjIgZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NAorbXNnaWQgIjxyZW1vdGU+IgorbXNnc3RyICI8zrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr8+IgorCisjOiBidWlsdGluL3B1bGwuYzo0NDAgYnVpbHRpbi9wdWxsLmM6NDU1IGJ1aWx0aW4vcHVsbC5jOjQ2MAorIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTY0IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjUKK21zZ2lkICI8YnJhbmNoPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1bGwuYzo0NDggYnVpbHRpbi9yZWJhc2UuYzo5NTQgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQorbXNnaWQgIlRoZXJlIGlzIG5vIHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGUgY3VycmVudCBicmFuY2guIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1NyBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1Cittc2dpZCAiIgorIklmIHlvdSB3aXNoIHRvIHNldCB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhpcyBicmFuY2ggeW91IGNhbiBkbyBzbyB3aXRoOiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1bGwuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdXIgY29uZmlndXJhdGlvbiBzcGVjaWZpZXMgdG8gbWVyZ2Ugd2l0aCB0aGUgcmVmICclcydcbiIKKyJmcm9tIHRoZSByZW1vdGUsIGJ1dCBubyBzdWNoIHJlZiB3YXMgZmV0Y2hlZC4iCittc2dzdHIgIiIKKyLOn865IM+Bz4XOuM68zq/Pg861zrnPgiDPg86xz4Igzr/Pgc6vzrbOv8+Fzr0gzr3OsSDOs86vzr3Otc65IM+Dz4XOs8+Hz47Ovc61z4XPg863IM68zrUgz4TOvyByZWYgJyVzJ1xuIgorIs6xz4DPjCDPhM6/zr0gzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr8gzrXOvs+Fz4DOt8+BzrXPhM63z4TOriwgzrHOu867zqwgzrTOtc69IM6tz4fOtc65IM6zzq/Ovc61zrkgzrHOvc6szrrPhM63z4POtyDPhM6tz4TOv865zr/PhSByZWYuIgorCisjOiBidWlsdGluL3B1bGwuYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFjY2VzcyBjb21taXQgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdWxsLmM6ODQ0Cittc2dpZCAiaWdub3JpbmcgLS12ZXJpZnktc2lnbmF0dXJlcyBmb3IgcmViYXNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjg5MgorbXNnaWQgIi0tW25vLV1hdXRvc3Rhc2ggb3B0aW9uIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXJlYmFzZS4iCittc2dzdHIgIs63IM61z4DOuc67zr/Os86uIC0tW25vLV1hdXRvc3Rhc2ggzrnPg8+Hz43Otc65IM68z4zOvc6/IM68zrUgz4TOvyAtLXJlYmFzZS4iCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjkwMAorbXNnaWQgIlVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdWxsLmM6OTA0Cittc2dpZCAicHVsbCB3aXRoIHJlYmFzZSIKK21zZ3N0ciAizrXOvc+Dz4nOvM6sz4TPic+DzrcgzrzOtSByZWJhc2UiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjkwNQorbXNnaWQgInBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdWxsLmM6OTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJmZXRjaCB1cGRhdGVkIHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkLlxuIgorImZhc3QtZm9yd2FyZGluZyB5b3VyIHdvcmtpbmcgdHJlZSBmcm9tXG4iCisiY29tbWl0ICVzLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1bGwuYzo5MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNhbm5vdCBmYXN0LWZvcndhcmQgeW91ciB3b3JraW5nIHRyZWUuXG4iCisiQWZ0ZXIgbWFraW5nIHN1cmUgdGhhdCB5b3Ugc2F2ZWQgYW55dGhpbmcgcHJlY2lvdXMgZnJvbVxuIgorIiQgZ2l0IGRpZmYgJXNcbiIKKyJvdXRwdXQsIHJ1blxuIgorIiQgZ2l0IHJlc2V0IC0taGFyZFxuIgorInRvIHJlY292ZXIuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjk1MQorbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjk1NQorbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdWxsLmM6OTYyCittc2dpZCAiY2Fubm90IHJlYmFzZSB3aXRoIGxvY2FsbHkgcmVjb3JkZWQgc3VibW9kdWxlIG1vZGlmaWNhdGlvbnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6MTkKK21zZ2lkICJnaXQgcHVzaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKK21zZ3N0ciAiZ2l0IHB1c2ggWzzOtc+AzrnOu86/zrPOrc+CPl0gWzzOsc+Azr/OuM61z4TOrs+BzrnOvz4gWzxyZWZzcGVjPi4uLl1dIgorCisjOiBidWlsdGluL3B1c2guYzoxMTEKK21zZ2lkICJ0YWcgc2hvcnRoYW5kIHdpdGhvdXQgPHRhZz4iCittc2dzdHIgIs+Dz4XOvc+Ezr/OvM6/zrPPgc6xz4bOr86xIM61z4TOuc66zq3PhM6xz4Igz4fPic+Bzq/PgiA8zrXPhM65zrrOrc+EzrE+IgorCisjOiBidWlsdGluL3B1c2guYzoxMjEKK21zZ2lkICItLWRlbGV0ZSBvbmx5IGFjY2VwdHMgcGxhaW4gdGFyZ2V0IHJlZiBuYW1lcyIKK21zZ3N0ciAiz4TOvyAtLWRlbGV0ZSDOtM6tz4fOtc+EzrHOuSDOvM+Mzr3OvyDOsc+AzrvOrCDOv869z4zOvM6xz4TOsSByZWYgz4DPgc6/zr/Pgc65z4POvM6/z40iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjE2NworbXNnaWQgIiIKKyJcbiIKKyJUbyBjaG9vc2UgZWl0aGVyIG9wdGlvbiBwZXJtYW5lbnRseSwgc2VlIHB1c2guZGVmYXVsdCBpbiAnZ2l0IGhlbHAgY29uZmlnJy4iCittc2dzdHIgIiIKKyJcbiIKKyLOk865zrEgzr3OsSDOtM65zrHOu86tzr7Otc+EzrUgzr/PgM6/zrnOsc60zq7PgM6/z4TOtSDOsc+Az4wgz4TOuc+CIM60z43OvyDOtc+AzrnOu86/zrPOrc+CIM68z4zOvc65zrzOsSwgzrTOtc6vz4TOtSDPhM6/IHB1c2guIgorImRlZmF1bHQgz4PPhM6/ICdnaXQgaGVscCBjb25maWcnLiIKKworIzogYnVpbHRpbi9wdXNoLmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgdXBzdHJlYW0gYnJhbmNoIG9mIHlvdXIgY3VycmVudCBicmFuY2ggZG9lcyBub3QgbWF0Y2hcbiIKKyJ0aGUgbmFtZSBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoLiAgVG8gcHVzaCB0byB0aGUgdXBzdHJlYW0gYnJhbmNoXG4iCisib24gdGhlIHJlbW90ZSwgdXNlXG4iCisiXG4iCisiICAgIGdpdCBwdXNoICVzIEhFQUQ6JXNcbiIKKyJcbiIKKyJUbyBwdXNoIHRvIHRoZSBicmFuY2ggb2YgdGhlIHNhbWUgbmFtZSBvbiB0aGUgcmVtb3RlLCB1c2VcbiIKKyJcbiIKKyIgICAgZ2l0IHB1c2ggJXMgSEVBRFxuIgorIiVzIgorbXNnc3RyICIiCisizp8gz4DPgc6/z4Igz4TOsSDPgM6szr3PiSDOus67zqzOtM6/z4Igz4TOv8+FIM+Ez4HOrc+Hzr/Ovc+Ezr/PgiDOus67zqzOtM6/z4Ugz4POsc+CIM60zrXOvSDPhM6xzrnPgc65zqzOts61zrkgzrzOtVxuIgorIs+Ezr8gz4zOvc6/zrzOsSDPhM6/z4Ugz4TPgc6tz4fOv869z4TOv8+CIM66zrvOrM60zr/PhSDPg86xz4IuICDOk865zrEgzr3OsSDOtM63zrzOv8+DzrnOtc+Nz4POtc+EzrUgz4PPhM6/zr0gzrrOu86szrTOvyDPgM+Bzr/PgiDPhM6xICIKKyLPgM6szr3PiVxuIgorIs+Dz4TOv869IM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/IM61zr7Phc+AzrfPgc61z4TOt8+Ezq4sIM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrVcbiIKKyJcbiIKKyIgICAgZ2l0IHB1c2ggJXMgSEVBRDolc1xuIgorIlxuIgorIs6TzrnOsSDOvc6xIM60zrfOvM6/z4POuc61z43Pg861z4TOtSDPg8+Ezr/OvSDOus67zqzOtM6/IM68zrUgz4TOvyDOr860zrnOvyDPjM69zr/OvM6xIM+Dz4TOv869IM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/ICIKKyLOtc6+z4XPgM63z4HOtc+EzrfPhM6uLCDPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61XG4iCisiXG4iCisiICAgIGdpdCBwdXNoICVzIEhFQURcbiIKKyIlcyIKKworIzogYnVpbHRpbi9wdXNoLmM6MTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guXG4iCisiVG8gcHVzaCB0aGUgaGlzdG9yeSBsZWFkaW5nIHRvIHRoZSBjdXJyZW50IChkZXRhY2hlZCBIRUFEKVxuIgorInN0YXRlIG5vdywgdXNlXG4iCisiXG4iCisiICAgIGdpdCBwdXNoICVzIEhFQUQ6PG5hbWUtb2YtcmVtb3RlLWJyYW5jaD5cbiIKK21zZ3N0ciAiIgorIs6UzrUgzrLPgc6vz4POus61z4PPhM61IM6xz4XPhM6uIM+Ezrcgz4PPhM65zrPOvM6uIM+DzrUgzrrOrM+Azr/Ouc6/zr0gzrrOu86szrTOvy5cbiIKKyLOk865zrEgzr3OsSDOtM63zrzOv8+DzrnOtc+Nz4POtc+EzrUgz4TOvyDOuc+Dz4TOv8+BzrnOus+MIM+Azr/PhSDOv860zrfOs861zq8gz4PPhM63zr0gz4TPgc6tz4fOv8+Fz4POsSDOus6xz4TOrM+Dz4TOsc+DzrdcbiIKKyIozrHPgM6/z4PPhc69zrTOtc60zrXOvM6tzr3Ov8+FIEhFQUQpIM+Ez47Pgc6xLCDPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61XG4iCisiXG4iCisiICAgIGdpdCBwdXNoICVzIEhFQUQ6PM+Mzr3Ov868zrEtz4TOv8+FLc6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/z4UtzrrOu86szrTOv8+FPlxuIgorCisjOiBidWlsdGluL3B1c2guYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbm8gdXBzdHJlYW0gYnJhbmNoLlxuIgorIlRvIHB1c2ggdGhlIGN1cnJlbnQgYnJhbmNoIGFuZCBzZXQgdGhlIHJlbW90ZSBhcyB1cHN0cmVhbSwgdXNlXG4iCisiXG4iCisiICAgIGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCittc2dzdHIgIiIKKyLOnyDPhM+Bzq3Ph8+Jzr0gzrrOu86szrTOv8+CICVzIM60zrXOvSDOrc+HzrXOuSDPgM+Bzr/PgiDPhM6xIM+AzqzOvc+JIM66zrvOrM60zr8uXG4iCisizpPOuc6xIM69zrEgzrTOt868zr/Pg865zrXPjc+DzrXPhM61IM+Ezr/OvSDPhM+Bzq3Ph86/zr3PhM6xIM66zrvOrM60zr8gzrrOsc65IM69zrEgzr/Pgc6vz4POtc+EzrUgz4TOv869IM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/IM+Jz4IgIgorIs+Az4HOv8+CIM+EzrEgz4DOrM69z4kgz4TOv8+FLCDPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61XG4iCisiXG4iCisiICAgIGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjIwNworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG11bHRpcGxlIHVwc3RyZWFtIGJyYW5jaGVzLCByZWZ1c2luZyB0byBwdXNoLiIKK21zZ3N0ciAiIgorIs6fIM+Ez4HOrc+Hz4nOvSDOus67zqzOtM6/z4IgJXMgzq3Ph861zrkgz4DOv867zrvOsc+AzrvOv8+Nz4Igz4DPgc6/z4Igz4TOsSDPgM6szr3PiSDOus67zqzOtM6/z4XPgiwgzrHPgc69zr/Pjc68zrHOuSDOvc6xICIKKyLOtM63zrzOv8+DzrnOtc+Nz4PPiS4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGFyZSBwdXNoaW5nIHRvIHJlbW90ZSAnJXMnLCB3aGljaCBpcyBub3QgdGhlIHVwc3RyZWFtIG9mXG4iCisieW91ciBjdXJyZW50IGJyYW5jaCAnJXMnLCB3aXRob3V0IHRlbGxpbmcgbWUgd2hhdCB0byBwdXNoXG4iCisidG8gdXBkYXRlIHdoaWNoIHJlbW90ZSBicmFuY2guIgorbXNnc3RyICIiCisizpTOt868zr/Pg865zrXPjc61z4TOtSDPg8+Ezr8gzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr8gJyVzJywgz4DOv8+FIM60zrXOvSDOtc6vzr3Osc65IM+Ezr8gz4DPgc6/z4Igz4TOsSDPgM6szr3PiSDPhM6/z4VcbiIKKyLPhM+Bzq3Ph86/zr3PhM+Mz4Igz4POsc+CIM66zrvOrM60zr/PhSAnJXMnLCDPh8+Jz4HOr8+CIM69zrEgzrzOv8+FIM+AzrXOr8+EzrUgz4TOuSDOvc6xIM60zrfOvM6/z4POuc61z43Pg8+JXG4iCisizrrOsc65IM+Azr/Ouc6/zr0gzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr8gzrrOu86szrTOvyDOvc6xIM61zr3Ot868zrXPgc+Oz4PPiS4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjI2OQorbXNnaWQgIiIKKyJZb3UgZGlkbid0IHNwZWNpZnkgYW55IHJlZnNwZWNzIHRvIHB1c2gsIGFuZCBwdXNoLmRlZmF1bHQgaXMgXCJub3RoaW5nXCIuIgorbXNnc3RyICIiCisizpTOtc69IM+Az4HOv8+DzrTOuc6/z4HOr8+DzrHPhM61IHJlZnNwZWNzIM+Az4HOv8+CIM60zrfOvM6/z4POr861z4XPg863LCDOus6xzrkgz4TOvyDPgM+Bzr/Otc+AzrnOu861zrPOvM6tzr3OvyBwdXNoLiIKKyJkZWZhdWx0IM61zq/Ovc6xzrkgz4TOr8+Azr/PhM6xOiBcIm5vdGhpbmdcIi4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjI3NgorbXNnaWQgIiIKKyJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGlwIG9mIHlvdXIgY3VycmVudCBicmFuY2ggaXMgYmVoaW5kXG4iCisiaXRzIHJlbW90ZSBjb3VudGVycGFydC4gSW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlcyAoZS5nLlxuIgorIidnaXQgcHVsbCAuLi4nKSBiZWZvcmUgcHVzaGluZyBhZ2Fpbi5cbiIKKyJTZWUgdGhlICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGluICdnaXQgcHVzaCAtLWhlbHAnIGZvciBkZXRhaWxzLiIKK21zZ3N0ciAiIgorIs6Rz4DOv8+Bz4HOr8+GzrjOt866zrHOvSDOv865IM61zr3Ot868zrXPgc+Oz4POtc65z4IgzrXPgM61zrnOtM6uIM63IM6szrrPgc63IM+Ezr/PhSDPhM+Bzq3Ph86/zr3PhM6/z4IgzrrOu86szrTOv8+FIM61zq/Ovc6xzrkgz4DOr8+Dz4kgIgorIs6xz4DPjFxuIgorIs+Ezr8gzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr8gzrHOvc+Ezq/Pg8+Ezr/Ouc+Hz4wgz4TOv8+FLiDOlc69z4PPic68zrHPhM+Oz4PPhM61IM+EzrnPgiDOsc+Azr/OvM6xzrrPgc+Fz4POvM6tzr3Otc+CIM6xzrvOu86xzrPOrc+CICjPgC4iCisiz4cuXG4iCisiJ2dpdCBwdWxsIC4uLicpIM+Az4HOuc69IM60zrfOvM6/z4POuc61z43Pg861z4TOtSDOvs6xzr3OrC5cbiIKKyLOlM61zq/PhM61IM+EzrcgJ86jzrfOvM61zq/Pic+DzrcgzrPOuc6xIM+EzrHPh861zq/Otc+CIM+Az4HOv8+JzrjOrs+DzrXOuc+CJyDPg8+Ezr8gJ2dpdCBwdXNoIC0taGVscCcgzrPOuc6xICIKKyLOu861z4DPhM6/zrzOrc+BzrXOuc61z4IuIgorCisjOiBidWlsdGluL3B1c2guYzoyODIKK21zZ2lkICIiCisiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgorImNvdW50ZXJwYXJ0LiBDaGVjayBvdXQgdGhpcyBicmFuY2ggYW5kIGludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXNcbiIKKyIoZS5nLiAnZ2l0IHB1bGwgLi4uJykgYmVmb3JlIHB1c2hpbmcgYWdhaW4uXG4iCisiU2VlIHRoZSAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyBpbiAnZ2l0IHB1c2ggLS1oZWxwJyBmb3IgZGV0YWlscy4iCittc2dzdHIgIiIKKyLOkc+Azr/Pgc+Bzq/Phs64zrfOus6xzr0gzr/OuSDOtc69zrfOvM61z4HPjs+DzrXOuc+CIM61z4DOtc65zrTOriDOtyDOrM66z4HOtyDOtc69z4zPgiDOus67zqzOtM6/z4Ugz4DOv8+FIM60zrfOvM6/z4POuc61z43PhM63zrrOtSDOtc6vzr3Osc65ICIKKyLPgM6vz4PPiSDOsc+Az4xcbiIKKyLPhM6/IM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/IM6xzr3PhM6vz4PPhM6/zrnPh8+MIM+Ezr/PhS4gzpXOvs6szrPOtc+EzrUgzrHPhc+Ez4zOvSDPhM6/zr0gzrrOu86szrTOvyDOus6xzrkgzrXOvc+Dz4nOvM6xz4TPjs+Dz4TOtSDPhM65z4IgIgorIs6xz4DOv868zrHOus+Bz4XPg868zq3Ovc61z4IgzrHOu867zrHOs86tz4JcbiIKKyIoz4Auz4cuICdnaXQgcHVsbCAuLi4nKSDPgM+BzrnOvSDOtM63zrzOv8+DzrnOtc+Nz4POtc+EzrUgzr7Osc69zqwuXG4iCisizpTOtc6vz4TOtSDPhM63ICfOo863zrzOtc6vz4nPg863IM6zzrnOsSDPhM6xz4fOtc6vzrXPgiDPgM+Bzr/Pic64zq7Pg861zrnPgicgz4PPhM6/ICdnaXQgcHVzaCAtLWhlbHAnIM6zzrnOsSAiCisizrvOtc+Az4TOv868zq3Pgc61zrnOtc+CLiIKKworIzogYnVpbHRpbi9wdXNoLmM6Mjg4Cittc2dpZCAiIgorIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgorIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKKyJ0byB0aGUgc2FtZSByZWYuIFlvdSBtYXkgd2FudCB0byBmaXJzdCBpbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzXG4iCisiKGUuZy4sICdnaXQgcHVsbCAuLi4nKSBiZWZvcmUgcHVzaGluZyBhZ2Fpbi5cbiIKKyJTZWUgdGhlICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGluICdnaXQgcHVzaCAtLWhlbHAnIGZvciBkZXRhaWxzLiIKK21zZ3N0ciAiIgorIs6Rz4DOv8+Bz4HOr8+GzrjOt866zrHOvSDOv865IM61zr3Ot868zrXPgc+Oz4POtc65z4IgzrXPgM61zrnOtM6uIM6/IM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/z4IgzrXOvs+Fz4DOt8+BzrXPhM63z4TOrs+CIM+AzrXPgc65zq3Ph861zrkgIgorIs6tz4HOs86/IM+Azr/PhVxuIgorIs60zrUgzrTOuc6xzrjOrc+EzrXPhM61IM+Ezr/PgM65zrrOrC4gzpHPhc+Ez4wgz4DPgc6/zrrOsc67zrXOr8+EzrHOuSDPg8+Fzr3Ors64z4nPgiDPjM+EzrHOvSDOrc69zrEgzqzOu867zr8gzrHPgM6/zrjOtc+Ezq7Pgc65zr8gzq3Ph861zrkgIgorIs60zrfOvM6/z4POuc61z43Pg861zrlcbiIKKyLPg8+Ezr8gzq/OtM65zr8gcmVmLiDOnM+Azr/Pgc61zq8gzr3OsSDOuM6tzrvOtc+EzrUgzr3OsSDOtc69z4PPic68zrHPhM+Oz4POtc+EzrUgz4DPgc+Oz4TOsSDPhM65z4IgzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zrXPgiAiCisizrHOu867zrHOs86tz4JcbiIKKyIoz4Auz4cuICdnaXQgcHVsbCAuLi4nKSDPgM+BzrnOvSDOtM63zrzOv8+DzrnOtc+Nz4POtc+EzrUgzr7Osc69zqwuXG4iCisizpTOtc6vz4TOtSDPhM63ICfOo863zrzOtc6vz4nPg863IM6zzrnOsSDPhM6xz4fOtc6vzrXPgiDPgM+Bzr/Pic64zq7Pg861zrnPgicgz4PPhM6/ICdnaXQgcHVzaCAtLWhlbHAnIM6zzrnOsSAiCisizrvOtc+Az4TOv868zq3Pgc61zrnOtc+CLiIKKworIzogYnVpbHRpbi9wdXNoLmM6Mjk1Cittc2dpZCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRhZyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgcmVtb3RlLiIKK21zZ3N0ciAiIgorIs6Rz4DOv8+Bz4HOr8+GzrjOt866zrHOvSDOv865IM61zr3Ot868zrXPgc+Oz4POtc65z4IgzrXPgM61zrnOtM6uIM63IM61z4TOuc66zq3PhM6xIM+Fz4DOrM+Bz4fOtc65IM6uzrTOtyDPg8+Ezr/OvSDOsc+Azr/OvM6xzrrPgc+Fz4POvM6tzr3OvyAiCisizrXOvs+Fz4DOt8+BzrXPhM63z4TOri4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjI5OAorbXNnaWQgIiIKKyJZb3UgY2Fubm90IHVwZGF0ZSBhIHJlbW90ZSByZWYgdGhhdCBwb2ludHMgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKKyJvciB1cGRhdGUgYSByZW1vdGUgcmVmIHRvIG1ha2UgaXQgcG9pbnQgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKKyJ3aXRob3V0IHVzaW5nIHRoZSAnLS1mb3JjZScgb3B0aW9uLlxuIgorbXNnc3RyICIiCisizpTOtSDOvM+Azr/Pgc61zq/PhM61IM69zrEgzrXOvc63zrzOtc+Bz47Pg861z4TOtSDOrc69zrEgzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr8gcmVmIM+Azr/PhSDOtM61zq/Ph869zrXOuSDPg861IM6xzr3PhM65zrrOtc6vzrzOtc69zr8gIgorIs+Azr/PhSDOtM61zr0gzrXOr869zrHOuSDPhc+Azr/Oss6/zrvOrixcbiIKKyLOriDOvc6xIM61zr3Ot868zrXPgc+Oz4POtc+EzrUgzq3Ovc6xIM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/IHJlZiDOs865zrEgzr3OsSDPhM6/IM66zqzOvc61z4TOtSDOvc6xIM60zrXOr8+Hzr3Otc65IM+DzrUgIgorIs6xzr3PhM65zrrOtc6vzrzOtc69zr8gz4DOv8+FIM60zrXOvSDOtc6vzr3Osc65IM+Fz4DOv86yzr/Ou86uLFxuIgorIs+Hz4nPgc6vz4Igzr3OsSDPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4POtc+EzrUgz4TOt869IM61z4DOuc67zr/Os86uIM61zr7Osc69zqzOs866zrHPg863z4IgJy0tZm9yY2UnLlxuIgorCisjOiBidWlsdGluL3B1c2guYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHVzaGluZyB0byAlc1xuIgorbXNnc3RyICLOlM63zrzOv8+Dzq/Otc+Fz4POtyDPg8+Ezr8gJXNcbiIKKworIzogYnVpbHRpbi9wdXNoLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwdXNoIHNvbWUgcmVmcyB0byAnJXMnIgorbXNnc3RyICLOsc+Azq3PhM+Fz4fOtSDOtyDOtM63zrzOv8+Dzq/Otc+Fz4POtyDOus6sz4DOv865z4nOvSByZWYgz4PPhM6/ICclcyciCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgorbXNnc3RyICLOu86szrjOv8+CIM6xz4DOv864zrXPhM6uz4HOuc6/ICclcyciCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjM5OQorbXNnaWQgIiIKKyJObyBjb25maWd1cmVkIHB1c2ggZGVzdGluYXRpb24uXG4iCisiRWl0aGVyIHNwZWNpZnkgdGhlIFVSTCBmcm9tIHRoZSBjb21tYW5kLWxpbmUgb3IgY29uZmlndXJlIGEgcmVtb3RlICIKKyJyZXBvc2l0b3J5IHVzaW5nXG4iCisiXG4iCisiICAgIGdpdCByZW1vdGUgYWRkIDxuYW1lPiA8dXJsPlxuIgorIlxuIgorImFuZCB0aGVuIHB1c2ggdXNpbmcgdGhlIHJlbW90ZSBuYW1lXG4iCisiXG4iCisiICAgIGdpdCBwdXNoIDxuYW1lPlxuIgorbXNnc3RyICIiCisizpTOtc69IM6tz4fOtc65IM+Bz4XOuM68zrnPg8+EzrXOryDPgM+Bzr/Ov8+BzrnPg868z4zPgiDOtM63zrzOv8+Dzq/Otc+Fz4POt8+CLlxuIgorIs6fz4HOr8+Dz4TOtSDPhM6/IFVSTCDOsc+Az4wgz4TOtyDOs8+BzrHOvM68zq4gzrXOvc+Ezr/Ou8+Ozr0gzq4gz4HPhc64zrzOr8+Dz4TOtSDOrc69zrEgzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr8gzrHPgM6/zrjOtc+Ezq7Pgc65zr8gIgorIs+Hz4HOt8+DzrnOvM6/z4DOv865z47Ovc+EzrHPglxuIgorIlxuIgorIiAgICBnaXQgcmVtb3RlIGFkZCA8z4zOvc6/zrzOsT4gPHVybD5cbiIKKyJcbiIKKyLOus6xzrkgzq3PgM61zrnPhM6xIM60zrfOvM6/z4POuc61z43Pg8+EzrUgz4fPgc63z4POuc68zr/PgM6/zrnPjs69z4TOsc+CIM+Ezr8gz4zOvc6/zrzOsSDPhM6/z4UgzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr/PhVxuIgorIlxuIgorIiAgICBnaXQgcHVzaCA8z4zOvc6/zrzOsT5cbiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTU0Cittc2dpZCAicmVwb3NpdG9yeSIKK21zZ3N0ciAizrHPgM6/zrjOtc+Ezq7Pgc65zr8iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1NSBidWlsdGluL3NlbmQtcGFjay5jOjE2NAorbXNnaWQgInB1c2ggYWxsIHJlZnMiCittc2dzdHIgIs69zrEgzrPOr869zrXOuSDOtM63zrzOv8+Dzq/Otc+Fz4POtyDPjM67z4nOvSDPhM+Jzr0gcmVmIgorCisjOiBidWlsdGluL3B1c2guYzo1NTYgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKK21zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCittc2dzdHIgIs69zrEgzrPOr869zrXOuSDOsc69z4TOuc6zz4HOsc+Gzq4gz4zOu8+Jzr0gz4TPic69IHJlZiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTU4Cittc2dpZCAiZGVsZXRlIHJlZnMiCittc2dzdHIgIs69zrEgzrPOr869zrXOuSDOtM65zrHOs8+BzrHPhs6uIM+Ez4nOvSByZWYiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1OQorbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKK21zZ3N0ciAiIgorIs69zrEgzrPOr869zrXOuSDOtM63zrzOv8+Dzq/Otc+Fz4POtyDPhM+Jzr0gzrXPhM65zrrOtc+Ez47OvSAozrTOtSDOs86vzr3Otc+EzrHOuSDOvc6xIM+Hz4HOt8+DzrnOvM6/z4DOv865zrfOuM61zq8gzrzOtSDPhM6/IC0tYWxsIM6uICIKKyLPhM6/IC0tbWlycm9yKSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTYyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY3Cittc2dpZCAiZm9yY2UgdXBkYXRlcyIKK21zZ3N0ciAizr3OsSDOs86vzr3Ov8+Fzr0gzrHOvc6xzrPOus6xz4PPhM65zrrOrCDOtc69zrfOvM61z4HPjs+DzrXOuc+CIgorCisjOiBidWlsdGluL3B1c2guYzo1NjQgYnVpbHRpbi9zZW5kLXBhY2suYzoxODEKK21zZ2lkICI8cmVmbmFtZT46PGV4cGVjdD4iCittc2dzdHIgIjxyZWZuYW1lPjo8ZXhwZWN0PiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTY1IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgyCittc2dpZCAicmVxdWlyZSBvbGQgdmFsdWUgb2YgcmVmIHRvIGJlIGF0IHRoaXMgdmFsdWUiCittc2dzdHIgIs69zrEgzrHPgM6xzrnPhM63zrjOtc6vIM63IM+AzrHOu865zqwgz4TOuc68zq4gz4TOv8+FIHJlZiDOvc6xIM61zq/Ovc6xzrkgzrcgzrXOvs6uz4IiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2OAorbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIKK21zZ3N0ciAizq3Ou861zrPPh86/z4IgzrHOvc6xzrTPgc6/zrzOuc66zq7PgiDOtM63zrzOv8+Dzq/Otc+Fz4POt8+CIM+Ez4nOvSDPhc+Azr/Otc69zr/PhM6uz4TPic69IgorCisjOiBidWlsdGluL3B1c2guYzo1NzAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzUKK21zZ2lkICJ1c2UgdGhpbiBwYWNrIgorbXNnc3RyICLOvc6xIM6zzq/Ovc61zrkgz4fPgc6uz4POtyDOu861z4DPhM6/z40gz4DOsc66zq3PhM6/z4UiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MSBidWlsdGluL3B1c2guYzo1NzIgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCittc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCittc2dzdHIgIs67zq7PiM63IM+Az4HOv86zz4HOrM68zrzOsc+Ezr/PgiDPgM6xzrrOrc+Ezr/PhSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTczCittc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCittc2dzdHIgIs69zrEgzr/Pgc65z4PPhM61zq8gz4TOvyDPgM+Bzr/PgiDPhM6xIM+AzqzOvc+JIM6zzrnOsSDPhM6/IGdpdCBwdWxsL3N0YXR1cyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTc2Cittc2dpZCAicHJ1bmUgbG9jYWxseSByZW1vdmVkIHJlZnMiCittc2dzdHIgIs69zrEgzrPOr869zrXOuSDOus67zqzOtM61zrzOsSDPhM+Jzr0gz4TOv8+AzrnOus6sIM60zrnOtc6zz4HOsc68zrzOrc69z4nOvSByZWYiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3OAorbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgorbXNnc3RyICLOvc6xIM6zzq/Ovc61zrkgz4DOsc+BzqzOus6xzrzPiM63IM+Ezr/PhSDOsc6zzrrOr8+Dz4TPgc6/z4Ugz4DPgc6/IM60zrfOvM6/z4POr861z4XPg863z4IiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3OQorbXNnaWQgInB1c2ggbWlzc2luZyBidXQgcmVsZXZhbnQgdGFncyIKK21zZ3N0ciAizr3OsSDOs86vzr3Otc65IM60zrfOvM6/z4POr861z4XPg863IM+Ez4nOvSDOtc+EzrnOus61z4TPjs69IM+Azr/PhSDOu861zq/PgM6/z4XOvSDOsc67zrvOrCDOtc6vzr3Osc65IM+Dz4fOtc+EzrnOus6tz4IiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU4MiBidWlsdGluL3NlbmQtcGFjay5jOjE2OQorbXNnaWQgIkdQRyBzaWduIHRoZSBwdXNoIgorbXNnc3RyICLOvc6xIM+Fz4DOv86zz4HOsc+GzrXOryDOvM61IEdQRyDOtyDOtM63zrzOv8+Dzq/Otc+Fz4POtyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTg0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2Cittc2dpZCAicmVxdWVzdCBhdG9taWMgdHJhbnNhY3Rpb24gb24gcmVtb3RlIHNpZGUiCittc2dzdHIgIs69zrEgzrbOt8+EzrfOuM61zq8gzrHPhM6/zrzOuc66zq4gz4PPhc69zrHOu867zrHOs86uIM+Dz4TOt869IM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc63IM+AzrvOtc+Fz4HOrCIKKworIzogYnVpbHRpbi9wdXNoLmM6NjAyCittc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCittc2dzdHIgIs+Ezr8gLS1kZWxldGUgzrTOtc69IM61zq/Ovc6xzrkgz4PPhc68zrLOsc+Ez4wgzrzOtSDPhM6xIC0tYWxsLCAtLW1pcnJvciDOus6xzrkgLS10YWdzIgorCisjOiBidWlsdGluL3B1c2guYzo2MDQKK21zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKK21zZ3N0ciAiz4TOvyAtLWRlbGV0ZSDOtM61zr0gzq3Ph861zrkgzr3PjM63zrzOsSDPh8+Jz4HOr8+CIM66zrHOvc6tzr3OsSByZWYiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjYwNworbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiz4TOvyAtLWFsbCDOus6xzrkgz4TOvyAtLXRhZ3MgzrTOtc69IM61zq/Ovc6xzrkgz4PPhc68zrLOsc+EzqwgzrzOtc+EzrHOvs+NIM+Ezr/Phc+CIgorCisjOiBidWlsdGluL3B1c2guYzo2MDkKK21zZ2lkICItLWFsbCBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgorbXNnc3RyICLPhM6/IC0tYWxsIM60zrUgzrPOr869zrXPhM6xzrkgzr3OsSDPg8+Fzr3OtM+FzrHPg8+EzrXOryDOvM61IHJlZnNwZWMiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjYxMworbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiz4TOvyAtLW1pcnJvciDOus6xzrkgz4TOvyAtLXRhZ3MgzrTOtc69IM61zq/Ovc6xzrkgz4PPhc68zrLOsc+EzqwgzrzOtc+EzrHOvs+NIM+Ezr/Phc+CIgorCisjOiBidWlsdGluL3B1c2guYzo2MTUKK21zZ2lkICItLW1pcnJvciBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgorbXNnc3RyICLPhM6/IC0tbWlycm9yIM60zrUgzrPOr869zrXPhM6xzrkgzr3OsSDPg8+Fzr3OtM+FzrHPg8+EzrXOryDOvM61IHJlZnNwZWMiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjYxOAorbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICLPhM6/IC0tYWxsIM66zrHOuSDPhM6/IC0tbWlycm9yIM60zrXOvSDOtc6vzr3Osc65IM+Dz4XOvM6yzrHPhM6sIM68zrXPhM6xzr7PjSDPhM6/z4XPgiIKKworIzogYnVpbHRpbi9wdXNoLmM6NjM3Cittc2dpZCAicHVzaCBvcHRpb25zIG11c3Qgbm90IGhhdmUgbmV3IGxpbmUgY2hhcmFjdGVycyIKK21zZ3N0ciAizr/OuSDOtc+AzrnOu86/zrPOrc+CIM60zrfOvM6/z4POr861z4XPg863z4IgzrTOtc69IM+Az4HOrc+AzrXOuSDOvc6xIM6tz4fOv8+Fzr0gz4fOsc+BzrHOus+Ezq7Pgc61z4IgbmV3bGluZSIKKworIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6OAorbXNnaWQgImdpdCByYW5nZS1kaWZmIFs8b3B0aW9ucz5dIDxvbGQtYmFzZT4uLjxvbGQtdGlwPiA8bmV3LWJhc2U+Li48bmV3LXRpcD4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6OQorbXNnaWQgImdpdCByYW5nZS1kaWZmIFs8b3B0aW9ucz5dIDxvbGQtdGlwPi4uLjxuZXctdGlwPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoxMAorbXNnaWQgImdpdCByYW5nZS1kaWZmIFs8b3B0aW9ucz5dIDxiYXNlPiA8b2xkLXRpcD4gPG5ldy10aXA+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjIxCittc2dpZCAiUGVyY2VudGFnZSBieSB3aGljaCBjcmVhdGlvbiBpcyB3ZWlnaHRlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyMworbXNnaWQgInVzZSBzaW1wbGUgZGlmZiBjb2xvcnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NjEgYnVpbHRpbi9yYW5nZS1kaWZmLmM6NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gLi4gaW4gcmFuZ2U6ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NzUKK21zZ2lkICJzaW5nbGUgYXJnIGZvcm1hdCBtdXN0IGJlIHN5bW1ldHJpYyByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzo5MAorbXNnaWQgIm5lZWQgdHdvIGNvbW1pdCByYW5nZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzo0MQorbXNnaWQgIiIKKyJnaXQgcmVhZC10cmVlIFsoLW0gWy0tdHJpdmlhbF0gWy0tYWdncmVzc2l2ZV0gfCAtLXJlc2V0IHwgLS1wcmVmaXg9PHByZWZpeD4pICIKKyJbLXUgWy0tZXhjbHVkZS1wZXItZGlyZWN0b3J5PTxnaXRpZ25vcmU+XSB8IC1pXV0gWy0tbm8tc3BhcnNlLWNoZWNrb3V0XSBbLS0iCisiaW5kZXgtb3V0cHV0PTxmaWxlPl0gKC0tZW1wdHkgfCA8dHJlZS1pc2gxPiBbPHRyZWUtaXNoMj4gWzx0cmVlLWlzaDM+XV0pIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI0Cittc2dpZCAid3JpdGUgcmVzdWx0aW5nIGluZGV4IHRvIDxmaWxlPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNworbXNnaWQgIm9ubHkgZW1wdHkgdGhlIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI5Cittc2dpZCAiTWVyZ2luZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMQorbXNnaWQgInBlcmZvcm0gYSBtZXJnZSBpbiBhZGRpdGlvbiB0byBhIHJlYWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzMKK21zZ2lkICIzLXdheSBtZXJnZSBpZiBubyBmaWxlIGxldmVsIG1lcmdpbmcgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzUKK21zZ2lkICIzLXdheSBtZXJnZSBpbiBwcmVzZW5jZSBvZiBhZGRzIGFuZCByZW1vdmVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM3Cittc2dpZCAic2FtZSBhcyAtbSwgYnV0IGRpc2NhcmQgdW5tZXJnZWQgZW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOAorbXNnaWQgIjxzdWJkaXJlY3Rvcnk+LyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOQorbXNnaWQgInJlYWQgdGhlIHRyZWUgaW50byB0aGUgaW5kZXggdW5kZXIgPHN1YmRpcmVjdG9yeT4vIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQyCittc2dpZCAidXBkYXRlIHdvcmtpbmcgdHJlZSB3aXRoIG1lcmdlIHJlc3VsdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NAorbXNnaWQgImdpdGlnbm9yZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NQorbXNnaWQgImFsbG93IGV4cGxpY2l0bHkgaWdub3JlZCBmaWxlcyB0byBiZSBvdmVyd3JpdHRlbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0OAorbXNnaWQgImRvbid0IGNoZWNrIHRoZSB3b3JraW5nIHRyZWUgYWZ0ZXIgbWVyZ2luZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0OQorbXNnaWQgImRvbid0IHVwZGF0ZSB0aGUgaW5kZXggb3IgdGhlIHdvcmsgdHJlZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1MQorbXNnaWQgInNraXAgYXBwbHlpbmcgc3BhcnNlIGNoZWNrb3V0IGZpbHRlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1MworbXNnaWQgImRlYnVnIHVucGFjay10cmVlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjMwCittc2dpZCAiIgorImdpdCByZWJhc2UgWy1pXSBbb3B0aW9uc10gWy0tZXhlYyA8Y21kPl0gWy0tb250byA8bmV3YmFzZT5dIFs8dXBzdHJlYW0+XSAiCisiWzxicmFuY2g+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjMyCittc2dpZCAiIgorImdpdCByZWJhc2UgWy1pXSBbb3B0aW9uc10gWy0tZXhlYyA8Y21kPl0gWy0tb250byA8bmV3YmFzZT5dIC0tcm9vdCBbPGJyYW5jaD5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzQKK21zZ2lkICJnaXQgcmViYXNlIC0tY29udGludWUgfCAtLWFib3J0IHwgLS1za2lwIHwgLS1lZGl0LXRvZG8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMjEgYnVpbHRpbi9yZWJhc2UuYzoxNDM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGludGVyYWN0aXZlIHJlYmFzZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZ2V0ICdvbnRvJzogJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG9yaWctaGVhZDogJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyBpbnZhbGlkIGFsbG93X3JlcmVyZV9hdXRvdXBkYXRlOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCByZWFkICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHN0b3JlICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDAyCittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBIRUFEIHJldmlzaW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTIyCittc2dpZCAiIgorIlJlc29sdmUgYWxsIGNvbmZsaWN0cyBtYW51YWxseSwgbWFyayB0aGVtIGFzIHJlc29sdmVkIHdpdGhcbiIKKyJcImdpdCBhZGQvcm0gPGNvbmZsaWN0ZWRfZmlsZXM+XCIsIHRoZW4gcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIuXG4iCisiWW91IGNhbiBpbnN0ZWFkIHNraXAgdGhpcyBjb21taXQ6IHJ1biBcImdpdCByZWJhc2UgLS1za2lwXCIuXG4iCisiVG8gYWJvcnQgYW5kIGdldCBiYWNrIHRvIHRoZSBzdGF0ZSBiZWZvcmUgXCJnaXQgcmViYXNlXCIsIHJ1biBcImdpdCByZWJhc2UgLS0iCisiYWJvcnRcIi4iCittc2dzdHIgIiIKKyLOlc+AzrnOu8+Nz4PPhM61IM+MzrvOtc+CIM+EzrnPgiDPg8+FzrPOus+Bzr/Pjc+DzrXOuc+CIM+HzrXOuc+Bzr/Ous6vzr3Ot8+EzrEsIM61z4DOuc+DzrfOvM6szr3Otc+Ezq0gz4TOuc+CIM+Jz4IgzrXPgM65zrvPhc68zq3Ovc61z4IgzrzOtVxuIgorIlwiZ2l0IGFkZC9ybSA8z4PPhc6zzrrPgc6/z4XPjM68zrXOvc6xIM6xz4HPh861zq/OsT5cIiwgzq3PgM61zrnPhM6xIM+Ez4HOrc6+z4TOtSBcImdpdCByZWJhc2UgLS1jb250aW51ZSIKKyJcIi5cbiIKKyLOlc65zrTOrM67zrvPic+CIM68z4DOv8+BzrXOr8+EzrUgzr3OsSDPgM+Bzr/Pg8+AzrXPgc6sz4POtc+EzrUgzrHPhc+Ezq4gz4TOt869IM+Fz4DOv86yzr/Ou86uOiDPhM+Bzq3Ovs+EzrUgXCJnaXQgcmViYXNlIC0tIgorInNraXBcIi5cbiIKKyLOk865zrEgzr3OsSDOtc6zzrrOsc+EzrHOu861zq/PiM61z4TOtSDOus6xzrkgzr3OsSDOtc+AzrnPg8+Ez4HOrc+IzrXPhM61IM+Dz4TOt869IM66zrHPhM6sz4PPhM6xz4POtyDPgM+BzrnOvSDOsc+Az4wgz4TOvyBcImdpdCAiCisicmViYXNlXCIsIM+Ez4HOrc6+z4TOtSBcImdpdCByZWJhc2UgLS1hYm9ydFwiLiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo2MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorImdpdCBlbmNvdW50ZXJlZCBhbiBlcnJvciB3aGlsZSBwcmVwYXJpbmcgdGhlIHBhdGNoZXMgdG8gcmVwbGF5XG4iCisidGhlc2UgcmV2aXNpb25zOlxuIgorIlxuIgorIiAgICAlc1xuIgorIlxuIgorIkFzIGEgcmVzdWx0LCBnaXQgY2Fubm90IHJlYmFzZSB0aGVtLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjk0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXNcbiIKKyJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gcmViYXNlIGFnYWluc3QuXG4iCisiU2VlIGdpdC1yZWJhc2UoMSkgZm9yIGRldGFpbHMuXG4iCisiXG4iCisiICAgIGdpdCByZWJhc2UgJzxicmFuY2g+J1xuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6OTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDpcbiIKKyJcbiIKKyIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10bz0lcy88YnJhbmNoPiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6OTk0Cittc2dpZCAiZXhlYyBjb21tYW5kcyBjYW5ub3QgY29udGFpbiBuZXdsaW5lcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjk5OAorbXNnaWQgImVtcHR5IGV4ZWMgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjEwNDAKK21zZ2lkICJyZWJhc2Ugb250byBnaXZlbiBicmFuY2ggaW5zdGVhZCBvZiB1cHN0cmVhbSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjEwNDIKK21zZ2lkICJhbGxvdyBwcmUtcmViYXNlIGhvb2sgdG8gcnVuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTA0NAorbXNnaWQgImJlIHF1aWV0LiBpbXBsaWVzIC0tbm8tc3RhdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjEwNDcKK21zZ2lkICJkaXNwbGF5IGEgZGlmZnN0YXQgb2Ygd2hhdCBjaGFuZ2VkIHVwc3RyZWFtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTA1MAorbXNnaWQgImRvIG5vdCBzaG93IGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjEwNTMKK21zZ2lkICJhZGQgYSBTaWduZWQtb2ZmLWJ5OiBsaW5lIHRvIGVhY2ggY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTA1NSBidWlsdGluL3JlYmFzZS5jOjEwNTkgYnVpbHRpbi9yZWJhc2UuYzoxMDYxCittc2dpZCAicGFzc2VkIHRvICdnaXQgYW0nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTA2MyBidWlsdGluL3JlYmFzZS5jOjEwNjUKK21zZ2lkICJwYXNzZWQgdG8gJ2dpdCBhcHBseSciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMDY3IGJ1aWx0aW4vcmViYXNlLmM6MTA3MAorbXNnaWQgImNoZXJyeS1waWNrIGFsbCBjb21taXRzLCBldmVuIGlmIHVuY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjEwNzIKK21zZ2lkICJjb250aW51ZSIKK21zZ3N0ciAiz4PPhc69zq3Ph861zrnOsSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMDc1Cittc2dpZCAic2tpcCBjdXJyZW50IHBhdGNoIGFuZCBjb250aW51ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjEwNzcKK21zZ2lkICJhYm9ydCBhbmQgY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMDgwCittc2dpZCAiYWJvcnQgYnV0IGtlZXAgSEVBRCB3aGVyZSBpdCBpcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjEwODEKK21zZ2lkICJlZGl0IHRoZSB0b2RvIGxpc3QgZHVyaW5nIGFuIGludGVyYWN0aXZlIHJlYmFzZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjEwODQKK21zZ2lkICJzaG93IHRoZSBwYXRjaCBmaWxlIGJlaW5nIGFwcGxpZWQgb3IgbWVyZ2VkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTA4NworbXNnaWQgInVzZSBtZXJnaW5nIHN0cmF0ZWdpZXMgdG8gcmViYXNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTA5MQorbXNnaWQgImxldCB0aGUgdXNlciBlZGl0IHRoZSBsaXN0IG9mIGNvbW1pdHMgdG8gcmViYXNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTA5NQorbXNnaWQgInRyeSB0byByZWNyZWF0ZSBtZXJnZXMgaW5zdGVhZCBvZiBpZ25vcmluZyB0aGVtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTA5OQorbXNnaWQgImFsbG93IHJlcmVyZSB0byB1cGRhdGUgaW5kZXggd2l0aCByZXNvbHZlZCBjb25mbGljdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjExMDIKK21zZ2lkICJwcmVzZXJ2ZSBlbXB0eSBjb21taXRzIGR1cmluZyByZWJhc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMTA0Cittc2dpZCAibW92ZSBjb21taXRzIHRoYXQgYmVnaW4gd2l0aCBzcXVhc2ghL2ZpeHVwISB1bmRlciAtaSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjExMTAKK21zZ2lkICJhdXRvbWF0aWNhbGx5IHN0YXNoL3N0YXNoIHBvcCBiZWZvcmUgYW5kIGFmdGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTExMgorbXNnaWQgImFkZCBleGVjIGxpbmVzIGFmdGVyIGVhY2ggY29tbWl0IG9mIHRoZSBlZGl0YWJsZSBsaXN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTExNgorbXNnaWQgImFsbG93IHJlYmFzaW5nIGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjExMTkKK21zZ2lkICJ0cnkgdG8gcmViYXNlIG1lcmdlcyBpbnN0ZWFkIG9mIHNraXBwaW5nIHRoZW0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMTIyCittc2dpZCAidXNlICdtZXJnZS1iYXNlIC0tZm9yay1wb2ludCcgdG8gcmVmaW5lIHVwc3RyZWFtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTEyNAorbXNnaWQgInVzZSB0aGUgZ2l2ZW4gbWVyZ2Ugc3RyYXRlZ3kiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMTI2IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyCittc2dpZCAib3B0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTEyNworbXNnaWQgInBhc3MgdGhlIGFyZ3VtZW50IHRocm91Z2ggdG8gdGhlIG1lcmdlIHN0cmF0ZWd5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTEzMAorbXNnaWQgInJlYmFzZSBhbGwgcmVhY2hhYmxlIGNvbW1pdHMgdXAgdG8gdGhlIHJvb3QocykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMTMzIGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5OAorbXNnaWQgImF1dG9tYXRpY2FsbHkgcmUtc2NoZWR1bGUgYW55IGBleGVjYCB0aGF0IGZhaWxzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZXhlYyAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjExNjcgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6MjIwCittc2dpZCAiSXQgbG9va3MgbGlrZSAnZ2l0IGFtJyBpcyBpbiBwcm9ncmVzcy4gQ2Fubm90IHJlYmFzZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMjA4IGdpdC1sZWdhY3ktcmViYXNlLnNoOjQwNgorbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMjEyIGdpdC1sZWdhY3ktcmViYXNlLnNoOjQxNworbXNnaWQgIlRoZSAtLWVkaXQtdG9kbyBhY3Rpb24gY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgaW50ZXJhY3RpdmUgcmViYXNlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjEyMjYgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NDI0Cittc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjEyMzggZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NDI3Cittc2dpZCAiIgorIllvdSBtdXN0IGVkaXQgYWxsIG1lcmdlIGNvbmZsaWN0cyBhbmQgdGhlblxuIgorIm1hcmsgdGhlbSBhcyByZXNvbHZlZCB1c2luZyBnaXQgYWRkIgorbXNnc3RyICIiCisizqDPgc6tz4DOtc65IM69zrEgzrXPgM61zr7Otc+BzrPOsc+Dz4TOtc6vz4TOtSDPjM67zrXPgiDPhM65z4Igz4PPhc6zzrrPgc6/z43Pg861zrnPgiDPg8+FzrPPh8+Ozr3Otc+Fz4POt8+CIM66zrHOuSDOvM61z4TOrFxuIgorIs69zrEgz4TOuc+CIM61z4DOuc+DzrfOvM6szr3Otc+EzrUgz4nPgiDOtc+AzrnOu8+FzrzOrc69zrXPgiDPh8+BzrfPg865zrzOv8+Azr/Ouc+Ozr3PhM6xz4IgZ2l0IGFkZCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMjU3Cittc2dpZCAiY291bGQgbm90IGRpc2NhcmQgd29ya3RyZWUgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjEyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IG1vdmUgYmFjayB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjEyODcgYnVpbHRpbi9ybS5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVtb3ZlICclcyciCittc2dzdHIgIs60zrXOvSDOrs+EzrHOvSDOtM+Fzr3Osc+Ezq4gzrcgzrHPhs6xzq/Pgc61z4POtyDPhM6/z4UgJyVzJyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAlcyBkaXJlY3RvcnksIGFuZFxuIgorIkkgd29uZGVyIGlmIHlvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbm90aGVyIHJlYmFzZS4gIElmIHRoYXQgaXMgdGhlXG4iCisiY2FzZSwgcGxlYXNlIHRyeVxuIgorIlx0JXNcbiIKKyJJZiB0aGF0IGlzIG5vdCB0aGUgY2FzZSwgcGxlYXNlXG4iCisiXHQlc1xuIgorImFuZCBydW4gbWUgYWdhaW4uICBJIGFtIHN0b3BwaW5nIGluIGNhc2UgeW91IHN0aWxsIGhhdmUgc29tZXRoaW5nXG4iCisidmFsdWFibGUgdGhlcmUuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMzM0Cittc2dpZCAic3dpdGNoIGBDJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIG1vZGU6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTM5NworbXNnaWQgIi0tc3RyYXRlZ3kgcmVxdWlyZXMgLS1tZXJnZSBvciAtLWludGVyYWN0aXZlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ0NgorbXNnaWQgImNhbm5vdCBjb21iaW5lIGFtIG9wdGlvbnMgd2l0aCBlaXRoZXIgaW50ZXJhY3RpdmUgb3IgbWVyZ2Ugb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NjUKK21zZ2lkICJjYW5ub3QgY29tYmluZSAnLS1wcmVzZXJ2ZS1tZXJnZXMnIHdpdGggJy0tcmViYXNlLW1lcmdlcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDY5IGdpdC1sZWdhY3ktcmViYXNlLnNoOjU0NAorbXNnaWQgIiIKKyJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcHJlc2VydmUtbWVyZ2VzJyB3aXRoICctLXJlc2NoZWR1bGUtZmFpbGVkLWV4ZWMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3NQorbXNnaWQgImNhbm5vdCBjb21iaW5lICctLXJlYmFzZS1tZXJnZXMnIHdpdGggJy0tc3RyYXRlZ3ktb3B0aW9uJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NzgKK21zZ2lkICJjYW5ub3QgY29tYmluZSAnLS1yZWJhc2UtbWVyZ2VzJyB3aXRoICctLXN0cmF0ZWd5JyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwOAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgbmV3IHJvb3QgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyNgorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnOiBuZWVkIGV4YWN0bHkgb25lIG1lcmdlIGJhc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTU4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaC9jb21taXQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE1NjYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkzNAorIywgYy1mb3JtYXQKK21zZ2lkICJObyBzdWNoIHJlZjogJXMiCittc2dzdHIgIs6UzrXOvSDPhc+AzqzPgc+HzrXOuSByZWY6ICVzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE1NzgKK21zZ2lkICJDb3VsZCBub3QgcmVzb2x2ZSBIRUFEIHRvIGEgcmV2aXNpb24iCittc2dzdHIgIs6UzrXOvSDOrs+EzrHOvSDOtM+Fzr3Osc+Ezq4gzrcgz4TOsc+Nz4TOuc+Dzrcgz4TOv8+FIEhFQUQgzrzOtSDOus6sz4DOv865zrEgzq3Ous60zr/Pg863IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2MTkgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NjczCittc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCBzdGFzaCByZXNwb25zZTogJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgZm9yICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYzNAorbXNnaWQgImNvdWxkIG5vdCByZXNldCAtLWhhcmQiCittc2dzdHIgIs60zrXOvSDOrs+EzrHOvSDOtM+Fzr3Osc+Ezq4gzrcgLS1oYXJkIM61z4DOsc69zrHPhs6/z4HOrCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjM1IGJ1aWx0aW4vcmVzZXQuYzoxMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSEVBRCBpcyBub3cgYXQgJXMiCittc2dzdHIgIs6kzr8gSEVBRCDPhM+Oz4HOsSDOss+Bzq/Pg866zrXPhM6xzrkgz4PPhM6/ICVzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2NTEgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NjgyCittc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzd2l0Y2ggdG8gJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNzAyIGdpdC1sZWdhY3ktcmViYXNlLnNoOjcwNQorIywgc2gtZm9ybWF0Cittc2dpZCAiSEVBRCBpcyB1cCB0byBkYXRlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE3MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3VycmVudCBicmFuY2ggJXMgaXMgdXAgdG8gZGF0ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE3MTIgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzE1CisjLCBzaC1mb3JtYXQKK21zZ2lkICJIRUFEIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJDdXJyZW50IGJyYW5jaCAlcyBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTcyMiBnaXQtbGVnYWN5LXJlYmFzZS5zaDoyMTUKK21zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE3MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlcyB0byAlczpcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE3MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlcyBmcm9tICVzIHRvICVzOlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTc1NworIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi5cbiIKK21zZ3N0ciAiIgorIs6gz4HPjs+EzrEsIM6zzq/Ovc61z4TOsc65IM6zz43Pgc65z4POvM6xIM+Az4HOv8+CIM+EzrEgz4DOr8+Dz4kgz4TOv8+FIGhlYWQgzrPOuc6xIM69zrEgzrPOr869zrXOuSDOtc+AzrHOvc6szrvOt8+Izrcgz4TOt8+CICIKKyLOtM6/z4XOu861zrnOrM+CIM+DzrHPgiDPgM6szr3PiSDPg861IM6xz4XPhM+MLi4uXG4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTc2NQorbXNnaWQgIkNvdWxkIG5vdCBkZXRhY2ggSEVBRCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFzdC1mb3J3YXJkZWQgJXMgdG8gJXMuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MjUKK21zZ2lkICJubyBIRUFEPyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzo1OAorbXNnaWQgImNvdWxkIG5vdCBtYXJrIGFzIGludGVyYWN0aXZlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgb3BlbiAlcyIKK21zZ3N0ciAizrTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TPjCDPhM6/IM6szr3Ov865zrPOvM6xIM+Ezr/PhSAlcyIKKworIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTE1Cittc2dpZCAiY291bGQgbm90IGdlbmVyYXRlIHRvZG8gbGlzdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxMzEKK21zZ2lkICJnaXQgcmViYXNlLS1pbnRlcmFjdGl2ZSBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTAKK21zZ2lkICJrZWVwIGVtcHR5IGNvbW1pdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTUyIGJ1aWx0aW4vcmV2ZXJ0LmM6MTI1Cittc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1MworbXNnaWQgInJlYmFzZSBtZXJnZSBjb21taXRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1NQorbXNnaWQgImtlZXAgb3JpZ2luYWwgYnJhbmNoIHBvaW50cyBvZiBjb3VzaW5zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1NworbXNnaWQgIm1vdmUgY29tbWl0cyB0aGF0IGJlZ2luIHdpdGggc3F1YXNoIS9maXh1cCEiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTU4Cittc2dpZCAic2lnbiBjb21taXRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE2MAorbXNnaWQgImNvbnRpbnVlIHJlYmFzZSIKK21zZ3N0ciAiz4PPhc69zq3Ph861zrnOsTsgcmViYXNlIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjIKK21zZ2lkICJza2lwIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjMKK21zZ2lkICJlZGl0IHRoZSB0b2RvIGxpc3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTY1Cittc2dpZCAic2hvdyB0aGUgY3VycmVudCBwYXRjaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjgKK21zZ2lkICJzaG9ydGVuIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzAKK21zZ2lkICJleHBhbmQgY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3MgorbXNnaWQgImNoZWNrIHRoZSB0b2RvIGxpc3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc0Cittc2dpZCAicmVhcnJhbmdlIGZpeHVwL3NxdWFzaCBsaW5lcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzYKK21zZ2lkICJpbnNlcnQgZXhlYyBjb21tYW5kcyBpbiB0b2RvIGxpc3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc3Cittc2dpZCAib250byIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzkKK21zZ2lkICJyZXN0cmljdC1yZXZpc2lvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzkKK21zZ2lkICJyZXN0cmljdCByZXZpc2lvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODAKK21zZ2lkICJzcXVhc2gtb250byIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODEKK21zZ2lkICJzcXVhc2ggb250byIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODMKK21zZ2lkICJ0aGUgdXBzdHJlYW0gY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4NAorbXNnaWQgImhlYWQtbmFtZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODQKK21zZ2lkICJoZWFkIG5hbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg5Cittc2dpZCAicmViYXNlIHN0cmF0ZWd5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5MAorbXNnaWQgInN0cmF0ZWd5LW9wdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkxCittc2dpZCAic3RyYXRlZ3kgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTIKK21zZ2lkICJzd2l0Y2gtdG8iCittc2dzdHIgIs6xzrvOu86xzrPOriDPg861IgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTMKK21zZ2lkICJ0aGUgYnJhbmNoIG9yIGNvbW1pdCB0byBjaGVja291dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTQKK21zZ2lkICJvbnRvLW5hbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTk0Cittc2dpZCAib250byBuYW1lIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5NQorbXNnaWQgImNtZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTUKK21zZ2lkICJ0aGUgY29tbWFuZCB0byBydW4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MjI0Cittc2dpZCAiLS1bbm8tXXJlYmFzZS1jb3VzaW5zIGhhcyBubyBlZmZlY3Qgd2l0aG91dCAtLXJlYmFzZS1tZXJnZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MjMwCittc2dpZCAiYSBiYXNlIGNvbW1pdCBtdXN0IGJlIHByb3ZpZGVkIHdpdGggLS11cHN0cmVhbSBvciAtLW9udG8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzozMworbXNnaWQgImdpdCByZWNlaXZlLXBhY2sgPGdpdC1kaXI+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODMwCittc2dpZCAiIgorIkJ5IGRlZmF1bHQsIHVwZGF0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpbiBhIG5vbi1iYXJlIHJlcG9zaXRvcnlcbiIKKyJpcyBkZW5pZWQsIGJlY2F1c2UgaXQgd2lsbCBtYWtlIHRoZSBpbmRleCBhbmQgd29yayB0cmVlIGluY29uc2lzdGVudFxuIgorIndpdGggd2hhdCB5b3UgcHVzaGVkLCBhbmQgd2lsbCByZXF1aXJlICdnaXQgcmVzZXQgLS1oYXJkJyB0byBtYXRjaFxuIgorInRoZSB3b3JrIHRyZWUgdG8gSEVBRC5cbiIKKyJcbiIKKyJZb3UgY2FuIHNldCB0aGUgJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVcbiIKKyJ0byAnaWdub3JlJyBvciAnd2FybicgaW4gdGhlIHJlbW90ZSByZXBvc2l0b3J5IHRvIGFsbG93IHB1c2hpbmcgaW50b1xuIgorIml0cyBjdXJyZW50IGJyYW5jaDsgaG93ZXZlciwgdGhpcyBpcyBub3QgcmVjb21tZW5kZWQgdW5sZXNzIHlvdVxuIgorImFycmFuZ2VkIHRvIHVwZGF0ZSBpdHMgd29yayB0cmVlIHRvIG1hdGNoIHdoYXQgeW91IHB1c2hlZCBpbiBzb21lXG4iCisib3RoZXIgd2F5LlxuIgorIlxuIgorIlRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlIGFuZCBzdGlsbCBrZWVwIHRoZSBkZWZhdWx0IGJlaGF2aW91ciwgc2V0XG4iCisiJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG8gJ3JlZnVzZScuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODUwCittc2dpZCAiIgorIkJ5IGRlZmF1bHQsIGRlbGV0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpcyBkZW5pZWQsIGJlY2F1c2UgdGhlIG5leHRcbiIKKyInZ2l0IGNsb25lJyB3b24ndCByZXN1bHQgaW4gYW55IGZpbGUgY2hlY2tlZCBvdXQsIGNhdXNpbmcgY29uZnVzaW9uLlxuIgorIlxuIgorIllvdSBjYW4gc2V0ICdyZWNlaXZlLmRlbnlEZWxldGVDdXJyZW50JyBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHRvXG4iCisiJ3dhcm4nIG9yICdpZ25vcmUnIGluIHRoZSByZW1vdGUgcmVwb3NpdG9yeSB0byBhbGxvdyBkZWxldGluZyB0aGVcbiIKKyJjdXJyZW50IGJyYW5jaCwgd2l0aCBvciB3aXRob3V0IGEgd2FybmluZyBtZXNzYWdlLlxuIgorIlxuIgorIlRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlLCB5b3UgY2FuIHNldCBpdCB0byAncmVmdXNlJy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTI5Cittc2dpZCAicXVpZXQiCittc2dzdHIgIs+DzrnPic+AzrfOu86sIgorCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NDMKK21zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgZGlyZWN0b3J5LiIKK21zZ3N0ciAizqDPgc6tz4DOtc65IM69zrEgzr/Pgc6vz4POtc+EzrUgzq3Ovc6xzr0gz4bOrM66zrXOu86/LiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzoxNworbXNnaWQgIiIKKyJnaXQgcmVmbG9nIGV4cGlyZSBbLS1leHBpcmU9PHRpbWU+XSBbLS1leHBpcmUtdW5yZWFjaGFibGU9PHRpbWU+XSBbLS0iCisicmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1zdGFsZS1maXhdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gWy0tYWxsXSAiCisiPHJlZnM+Li4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6MjIKK21zZ2lkICIiCisiZ2l0IHJlZmxvZyBkZWxldGUgWy0tcmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1kcnktcnVuIHwgLW5dIFstLXZlcmJvc2VdICIKKyI8cmVmcz4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzoyNQorbXNnaWQgImdpdCByZWZsb2cgZXhpc3RzIDxyZWY+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NTY3IGJ1aWx0aW4vcmVmbG9nLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIk1hcmtpbmcgcmVhY2hhYmxlIG9iamVjdHMuLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo2NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcG9pbnRzIG5vd2hlcmUhIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6Njk1Cittc2dpZCAibm8gcmVmbG9nIHNwZWNpZmllZCB0byBkZWxldGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo3MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgcmVmbG9nOiAlcyIKK21zZ3N0ciAizrTOtc69IM61zq/Ovc6xzrkgcmVmbG9nOiAlcyIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo3MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gcmVmbG9nIGZvciAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVmIGZvcm1hdDogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo3NjQKK21zZ2lkICJnaXQgcmVmbG9nIFsgc2hvdyB8IGV4cGlyZSB8IGRlbGV0ZSB8IGV4aXN0cyBdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYKK21zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNworbXNnaWQgIiIKKyJnaXQgcmVtb3RlIGFkZCBbLXQgPGJyYW5jaD5dIFstbSA8bWFzdGVyPl0gWy1mXSBbLS10YWdzIHwgLS1uby10YWdzXSBbLS0iCisibWlycm9yPTxmZXRjaHxwdXNoPl0gPG5hbWU+IDx1cmw+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTggYnVpbHRpbi9yZW1vdGUuYzozOAorbXNnaWQgImdpdCByZW1vdGUgcmVuYW1lIDxvbGQ+IDxuZXc+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkgYnVpbHRpbi9yZW1vdGUuYzo0MworbXNnaWQgImdpdCByZW1vdGUgcmVtb3ZlIDxuYW1lPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjIwIGJ1aWx0aW4vcmVtb3RlLmM6NDgKK21zZ2lkICJnaXQgcmVtb3RlIHNldC1oZWFkIDxuYW1lPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHwgPGJyYW5jaD4pIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjEKK21zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDxuYW1lPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjIyCittc2dpZCAiZ2l0IHJlbW90ZSBwcnVuZSBbLW4gfCAtLWRyeS1ydW5dIDxuYW1lPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjIzCittc2dpZCAiIgorImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg8Z3JvdXA+IHwgPHJlbW90ZT4pLi4uXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjI0Cittc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgWy0tYWRkXSA8bmFtZT4gPGJyYW5jaD4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoyNSBidWlsdGluL3JlbW90ZS5jOjc0Cittc2dpZCAiZ2l0IHJlbW90ZSBnZXQtdXJsIFstLXB1c2hdIFstLWFsbF0gPG5hbWU+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjYgYnVpbHRpbi9yZW1vdGUuYzo3OQorbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCBbLS1wdXNoXSA8bmFtZT4gPG5ld3VybD4gWzxvbGR1cmw+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjI3IGJ1aWx0aW4vcmVtb3RlLmM6ODAKK21zZ2lkICJnaXQgcmVtb3RlIHNldC11cmwgLS1hZGQgPG5hbWU+IDxuZXd1cmw+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjggYnVpbHRpbi9yZW1vdGUuYzo4MQorbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA8bmFtZT4gPHVybD4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzozMworbXNnaWQgImdpdCByZW1vdGUgYWRkIFs8b3B0aW9ucz5dIDxuYW1lPiA8dXJsPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjUzCittc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPG5hbWU+IDxicmFuY2g+Li4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTQKK21zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyAtLWFkZCA8bmFtZT4gPGJyYW5jaD4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo1OQorbXNnaWQgImdpdCByZW1vdGUgc2hvdyBbPG9wdGlvbnM+XSA8bmFtZT4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo2NAorbXNnaWQgImdpdCByZW1vdGUgcHJ1bmUgWzxvcHRpb25zPl0gPG5hbWU+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjkKK21zZ2lkICJnaXQgcmVtb3RlIHVwZGF0ZSBbPG9wdGlvbnM+XSBbPGdyb3VwPiB8IDxyZW1vdGU+XS4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIlVwZGF0aW5nICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwCittc2dpZCAiIgorIi0tbWlycm9yIGlzIGRhbmdlcm91cyBhbmQgZGVwcmVjYXRlZDsgcGxlYXNlXG4iCisiXHQgdXNlIC0tbWlycm9yPWZldGNoIG9yIC0tbWlycm9yPXB1c2ggaW5zdGVhZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1pcnJvciBhcmd1bWVudDogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjMKK21zZ2lkICJmZXRjaCB0aGUgcmVtb3RlIGJyYW5jaGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1Cittc2dpZCAiaW1wb3J0IGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMgd2hlbiBmZXRjaGluZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE2OAorbXNnaWQgIm9yIGRvIG5vdCBmZXRjaCBhbnkgdGFnIGF0IGFsbCAoLS1uby10YWdzKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE3MAorbXNnaWQgImJyYW5jaChlcykgdG8gdHJhY2siCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNzEKK21zZ2lkICJtYXN0ZXIgYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTczCittc2dpZCAic2V0IHVwIHJlbW90ZSBhcyBhIG1pcnJvciB0byBwdXNoIHRvIG9yIGZldGNoIGZyb20iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxODUKK21zZ2lkICJzcGVjaWZ5aW5nIGEgbWFzdGVyIGJyYW5jaCBtYWtlcyBubyBzZW5zZSB3aXRoIC0tbWlycm9yIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg3Cittc2dpZCAic3BlY2lmeWluZyBicmFuY2hlcyB0byB0cmFjayBtYWtlcyBzZW5zZSBvbmx5IHdpdGggZmV0Y2ggbWlycm9ycyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE5NCBidWlsdGluL3JlbW90ZS5jOjYzNgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUgJXMgYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk4IGJ1aWx0aW4vcmVtb3RlLmM6NjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVtb3RlIG5hbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoyMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHNldHVwIG1hc3RlciAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBnZXQgZmV0Y2ggbWFwIGZvciByZWZzcGVjICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDQzIGJ1aWx0aW4vcmVtb3RlLmM6NDUxCittc2dpZCAiKG1hdGNoaW5nKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjQ1NQorbXNnaWQgIihkZWxldGUpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjI5IGJ1aWx0aW4vcmVtb3RlLmM6NzY1IGJ1aWx0aW4vcmVtb3RlLmM6ODY0CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHN1Y2ggcmVtb3RlOiAnJXMnIgorbXNnc3RyICLOlM61zr0gz4XPgM6sz4HPh861zrkgz4TOrc+Ezr/Ouc6/z4IgzrHPgM6/zrzOsc66z4HPhc+DzrzOrc69zr/PgiDOtc6+z4XPgM63z4HOtc+EzrfPhM6uz4I6ICclcyciCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCByZW5hbWUgY29uZmlnIHNlY3Rpb24gJyVzJyB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgdXBkYXRpbmcgbm9uLWRlZmF1bHQgZmV0Y2ggcmVmc3BlY1xuIgorIlx0JXNcbiIKKyJcdFBsZWFzZSB1cGRhdGUgdGhlIGNvbmZpZ3VyYXRpb24gbWFudWFsbHkgaWYgbmVjZXNzYXJ5LiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjcwMgorIywgYy1mb3JtYXQKK21zZ2lkICJkZWxldGluZyAnJXMnIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICJjcmVhdGluZyAnJXMnIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjgwMgorbXNnaWQgIiIKKyJOb3RlOiBBIGJyYW5jaCBvdXRzaWRlIHRoZSByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSB3YXMgbm90IHJlbW92ZWQ7XG4iCisidG8gZGVsZXRlIGl0LCB1c2U6IgorbXNnaWRfcGx1cmFsICIiCisiTm90ZTogU29tZSBicmFuY2hlcyBvdXRzaWRlIHRoZSByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSB3ZXJlIG5vdCByZW1vdmVkO1xuIgorInRvIGRlbGV0ZSB0aGVtLCB1c2U6IgorbXNnc3RyWzBdICIiCisizqPOt868zrXOr8+Jz4POtzogzojOvc6xz4IgzrrOu86szrTOv8+CIM61zrrPhM+Mz4Igz4TOt8+CIM65zrXPgc6xz4HPh86vzrHPgiByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSDOtM61zr0gIgorIs6xz4bOsc65z4HOrc64zrfOus61LFxuIgorIs6zzrnOsSDOvc6xIM+Ezr/OvSDOtM65zrHOs8+BzqzPiM61z4TOtSwgz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtToiCittc2dzdHJbMV0gIiIKKyLOo863zrzOtc6vz4nPg863OiDOms6sz4DOv865zr/OuSDOus67zqzOtM6/zrkgzrXOus+Ez4zPgiDPhM63z4IgzrnOtc+BzrHPgc+Hzq/Osc+CIHJlZnMvcmVtb3Rlcy8gaGllcmFyY2h5IM60zrXOvSAiCisizrHPhs6xzrnPgc6tzrjOt866zrHOvSxcbiIKKyLOs865zrEgzr3OsSDPhM6/z4XPgiDOtM65zrHOs8+BzqzPiM61z4TOtSwgz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtToiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6ODE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgY29uZmlnIHNlY3Rpb24gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIgbmV3IChuZXh0IGZldGNoIHdpbGwgc3RvcmUgaW4gcmVtb3Rlcy8lcykiCittc2dzdHIgIiDOvc6tzr8gKM63IM61z4DPjM68zrXOvc63IM6xzr3OrM66z4TOt8+DzrcgzrjOsSDOsc+Azr/OuM63zrrOtc+Nz4POtc65IM68zq3Pg86xIM+Dz4TOvyByZW1vdGVzLyVzKSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo5MjAKK21zZ2lkICIgdHJhY2tlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjkyMgorbXNnaWQgIiBzdGFsZSAodXNlICdnaXQgcmVtb3RlIHBydW5lJyB0byByZW1vdmUpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTI0Cittc2dpZCAiID8/PyIKK21zZ3N0ciAiIDs7OyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo5NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBicmFuY2guJXMubWVyZ2U7IGNhbm5vdCByZWJhc2Ugb250byA+IDEgYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSBvbnRvIHJlbW90ZSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjk3NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWJhc2VzIGludGVyYWN0aXZlbHkgKHdpdGggbWVyZ2VzKSBvbnRvIHJlbW90ZSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjk3OQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWJhc2VzIG9udG8gcmVtb3RlICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiBtZXJnZXMgd2l0aCByZW1vdGUgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAibWVyZ2VzIHdpdGggcmVtb3RlICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtKnMgICAgYW5kIHdpdGggcmVtb3RlICVzXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMyCittc2dpZCAiY3JlYXRlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNQorbXNnaWQgImRlbGV0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzkKK21zZ2lkICJ1cCB0byBkYXRlIgorbXNnc3RyICLPgM67zq7Pgc+Jz4IgzrXOvc6uzrzOtc+Bzr8iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MgorbXNnaWQgImZhc3QtZm9yd2FyZGFibGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ1Cittc2dpZCAibG9jYWwgb3V0IG9mIGRhdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlLSpzICglcykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlLSpzICglcykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEzMAorbXNnaWQgImRvIG5vdCBxdWVyeSByZW1vdGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NworIywgYy1mb3JtYXQKK21zZ2lkICIqIHJlbW90ZSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjExNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBGZXRjaCBVUkw6ICVzIgorbXNnc3RyICIgIFVSTCAgzrHOvc6szrrPhM63z4POt8+COiAlcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU5IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NSBidWlsdGluL3JlbW90ZS5jOjEzMTQKK21zZ2lkICIobm8gVVJMKSIKK21zZ3N0ciAiKM66zrHOvc6tzr3OsSBVUkwpIgorCisjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uICc6JyBzaG91bGQgYWxpZ24KKyMuIHdpdGggdGhlIG9uZSBpbiAiIEZldGNoIFVSTDogJXMiCisjLiB0cmFuc2xhdGlvbi4KKyMuCisjOiBidWlsdGluL3JlbW90ZS5jOjExNzMgYnVpbHRpbi9yZW1vdGUuYzoxMTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgUHVzaCAgVVJMOiAlcyIKK21zZ3N0ciAiICBVUkwgIM60zrfOvM6/z4POr861z4XPg863z4I6ICVzIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjExNzcgYnVpbHRpbi9yZW1vdGUuYzoxMTc5IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MQorIywgYy1mb3JtYXQKK21zZ2lkICIgIEhFQUQgYnJhbmNoOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjExNzcKK21zZ2lkICIobm90IHF1ZXJpZWQpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OQorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjExODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgSEVBRCBicmFuY2ggKHJlbW90ZSBIRUFEIGlzIGFtYmlndW91cywgbWF5IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nKTpcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjExOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBSZW1vdGUgYnJhbmNoOiVzIgorbXNnaWRfcGx1cmFsICIgIFJlbW90ZSBicmFuY2hlczolcyIKK21zZ3N0clswXSAiICDOkc+Azr/OvM6xzrrPgc+Fz4POvM6tzr3Ov8+CIM66zrvOrM60zr/PgjolcyIKK21zZ3N0clsxXSAiICDOkc+Azr/OvM6xzrrPgc+Fz4POvM6tzr3Ov865IM66zrvOrM60zr/OuTolcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk4IGJ1aWx0aW4vcmVtb3RlLmM6MTIyNAorbXNnaWQgIiAoc3RhdHVzIG5vdCBxdWVyaWVkKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDcKK21zZ2lkICIgIExvY2FsIGJyYW5jaCBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKK21zZ2lkX3BsdXJhbCAiICBMb2NhbCBicmFuY2hlcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIxNQorbXNnaWQgIiAgTG9jYWwgcmVmcyB3aWxsIGJlIG1pcnJvcmVkIGJ5ICdnaXQgcHVzaCciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgTG9jYWwgcmVmIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCittc2dpZF9wbHVyYWwgIiAgTG9jYWwgcmVmcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQyCittc2dpZCAic2V0IHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCBhY2NvcmRpbmcgdG8gcmVtb3RlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0NAorbXNnaWQgImRlbGV0ZSByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjU5Cittc2dpZCAiQ2Fubm90IGRldGVybWluZSByZW1vdGUgSEVBRCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNjEKK21zZ2lkICJNdWx0aXBsZSByZW1vdGUgSEVBRCBicmFuY2hlcy4gUGxlYXNlIGNob29zZSBvbmUgZXhwbGljaXRseSB3aXRoOiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGEgdmFsaWQgcmVmOiAlcyIKK21zZ3N0ciAizpTOtc69IM61zq/Ovc6xzrkgzq3Os866z4XPgc6/IHJlZjogJXMiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgc2V0dXAgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyB3aWxsIGJlY29tZSBkYW5nbGluZyEiCittc2dzdHIgIiDPhM6/ICVzIM64zrEgzrzOtc6vzr3Otc65IM61zrrOus+BzrXOvM6tz4IhIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcyBiZWNvbWUgZGFuZ2xpbmchIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMAorIywgYy1mb3JtYXQKK21zZ2lkICJQcnVuaW5nICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMQorIywgYy1mb3JtYXQKK21zZ2lkICJVUkw6ICVzIgorbXNnc3RyICJVUkw6ICVzIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICogW3dvdWxkIHBydW5lXSAlcyIKK21zZ3N0ciAiICogW864zrEgzrrOu86szrTOtc+FzrUgz4TOv10gJXMiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMzMAorIywgYy1mb3JtYXQKK21zZ2lkICIgKiBbcHJ1bmVkXSAlcyIKK21zZ3N0ciAiICogW866zrvOsc60zrXOvM6tzr3Ov10gJXMiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM3NQorbXNnaWQgInBydW5lIHJlbW90ZXMgYWZ0ZXIgZmV0Y2hpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNDM4IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5MiBidWlsdGluL3JlbW90ZS5jOjE1NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gc3VjaCByZW1vdGUgJyVzJyIKK21zZ3N0ciAizpTOtc69IM+Fz4DOrM+Bz4fOtc65IM+Ezq3PhM6/zrnOv8+CIM6xz4DOv868zrHOus+Bz4XPg868zq3Ovc6/z4IgzrXOvs+Fz4DOt8+BzrXPhM63z4TOrs+CICclcyciCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ1NAorbXNnaWQgImFkZCBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYxCittc2dpZCAibm8gcmVtb3RlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NzgKK21zZ2lkICJxdWVyeSBwdXNoIFVSTHMgcmF0aGVyIHRoYW4gZmV0Y2ggVVJMcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE0ODAKK21zZ2lkICJyZXR1cm4gYWxsIFVSTHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM0Cittc2dpZCAibWFuaXB1bGF0ZSBwdXNoIFVSTHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM2Cittc2dpZCAiYWRkIFVSTCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzgKK21zZ2lkICJkZWxldGUgVVJMcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE1NDUKK21zZ2lkICItLWFkZCAtLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb2xkIFVSTCBwYXR0ZXJuOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgorbXNnc3RyICLOlM61IM6yz4HOrc64zrfOus61IM+Ezq3PhM6/zrnOvyBVUkw6ICVzIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE1OTQKK21zZ2lkICJXaWxsIG5vdCBkZWxldGUgYWxsIG5vbi1wdXNoIFVSTHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjEwCittc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE2NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjIyCittc2dpZCAiZ2l0IHJlcGFjayBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjI3Cittc2dpZCAiIgorIkluY3JlbWVudGFsIHJlcGFja3MgYXJlIGluY29tcGF0aWJsZSB3aXRoIGJpdG1hcCBpbmRleGVzLiAgVXNlXG4iCisiLS1uby13cml0ZS1iaXRtYXAtaW5kZXggb3IgZGlzYWJsZSB0aGUgcGFjay53cml0ZWJpdG1hcHMgY29uZmlndXJhdGlvbi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyMDAKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgcGFjay1vYmplY3RzIHRvIHJlcGFjayBwcm9taXNvciBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjM5IGJ1aWx0aW4vcmVwYWNrLmM6NDExCittc2dpZCAicmVwYWNrOiBFeHBlY3RpbmcgZnVsbCBoZXggb2JqZWN0IElEIGxpbmVzIG9ubHkgZnJvbSBwYWNrLW9iamVjdHMuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjU2Cittc2dpZCAiY291bGQgbm90IGZpbmlzaCBwYWNrLW9iamVjdHMgdG8gcmVwYWNrIHByb21pc29yIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyOTQKK21zZ2lkICJwYWNrIGV2ZXJ5dGhpbmcgaW4gYSBzaW5nbGUgcGFjayIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjI5NgorbXNnaWQgInNhbWUgYXMgLWEsIGFuZCB0dXJuIHVucmVhY2hhYmxlIG9iamVjdHMgbG9vc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyOTkKK21zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMDEKK21zZ2lkICJwYXNzIC0tbm8tcmV1c2UtZGVsdGEgdG8gZ2l0LXBhY2stb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjMwMworbXNnaWQgInBhc3MgLS1uby1yZXVzZS1vYmplY3QgdG8gZ2l0LXBhY2stb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjMwNQorbXNnaWQgImRvIG5vdCBydW4gZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjMwOAorbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEwCittc2dpZCAid3JpdGUgYml0bWFwIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEyCittc2dpZCAicGFzcyAtLWRlbHRhLWlzbGFuZHMgdG8gZ2l0LXBhY2stb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjMxMworbXNnaWQgImFwcHJveGlkYXRlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE0Cittc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjMxNgorbXNnaWQgIndpdGggLWEsIHJlcGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE4Cittc2dpZCAic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE5IGJ1aWx0aW4vcmVwYWNrLmM6MzI1Cittc2dpZCAiYnl0ZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMjAKK21zZ2lkICJzYW1lIGFzIHRoZSBhYm92ZSwgYnV0IGxpbWl0IG1lbW9yeSBzaXplIGluc3RlYWQgb2YgZW50cmllcyBjb3VudCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjMyMgorbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBkZWx0YSBkZXB0aCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjMyNAorbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjMyNgorbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI4Cittc2dpZCAicmVwYWNrIG9iamVjdHMgaW4gcGFja3MgbWFya2VkIHdpdGggLmtlZXAiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMzAKK21zZ2lkICJkbyBub3QgcmVwYWNrIHRoaXMgcGFjayIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjM0MAorbXNnaWQgImNhbm5vdCBkZWxldGUgcGFja3MgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzozNDQKK21zZ2lkICItLWtlZXAtdW5yZWFjaGFibGUgYW5kIC1BIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzo0MjAKK21zZ2lkICJOb3RoaW5nIG5ldyB0byBwYWNrLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogU29tZSBwYWNrcyBpbiB1c2UgaGF2ZSBiZWVuIHJlbmFtZWQgYnlcbiIKKyJXQVJOSU5HOiBwcmVmaXhpbmcgb2xkLSB0byB0aGVpciBuYW1lLCBpbiBvcmRlciB0b1xuIgorIldBUk5JTkc6IHJlcGxhY2UgdGhlbSB3aXRoIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGVcbiIKKyJXQVJOSU5HOiBmaWxlLiAgQnV0IHRoZSBvcGVyYXRpb24gZmFpbGVkLCBhbmQgdGhlXG4iCisiV0FSTklORzogYXR0ZW1wdCB0byByZW5hbWUgdGhlbSBiYWNrIHRvIHRoZWlyXG4iCisiV0FSTklORzogb3JpZ2luYWwgbmFtZXMgYWxzbyBmYWlsZWQuXG4iCisiV0FSTklORzogUGxlYXNlIHJlbmFtZSB0aGVtIGluICVzIG1hbnVhbGx5OlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoyMgorbXNnaWQgImdpdCByZXBsYWNlIFstZl0gPG9iamVjdD4gPHJlcGxhY2VtZW50PiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoyMworbXNnaWQgImdpdCByZXBsYWNlIFstZl0gLS1lZGl0IDxvYmplY3Q+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI0Cittc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSAtLWdyYWZ0IDxjb21taXQ+IFs8cGFyZW50Pi4uLl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MjUKK21zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIC0tY29udmVydC1ncmFmdC1maWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI2Cittc2dpZCAiZ2l0IHJlcGxhY2UgLWQgPG9iamVjdD4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MjcKK21zZ2lkICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PGZvcm1hdD5dIFstbCBbPHBhdHRlcm4+XV0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTggYnVpbHRpbi9yZXBsYWNlLmM6MjAzIGJ1aWx0aW4vcmVwbGFjZS5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmIgorbXNnc3RyICLOsc+Azq3PhM+Fz4fOtSDOtyDPhM6xz43PhM65z4POtyDPhM6/z4UgJyVzJyDOvM61IM66zqzPgM6/zrnOvyDOrc6zzrrPhc+Bzr8gcmVmIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiaW52YWxpZCByZXBsYWNlIGZvcm1hdCAnJXMnXG4iCisidmFsaWQgZm9ybWF0cyBhcmUgJ3Nob3J0JywgJ21lZGl1bScgYW5kICdsb25nJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVwbGFjZSByZWYgJyVzJyBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRlbGV0ZWQgcmVwbGFjZSByZWYgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZWYgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVwbGFjZSByZWYgJyVzJyBhbHJlYWR5IGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9iamVjdHMgbXVzdCBiZSBvZiB0aGUgc2FtZSB0eXBlLlxuIgorIiclcycgcG9pbnRzIHRvIGEgcmVwbGFjZWQgb2JqZWN0IG9mIHR5cGUgJyVzJ1xuIgorIndoaWxlICclcycgcG9pbnRzIHRvIGEgcmVwbGFjZW1lbnQgb2JqZWN0IG9mIHR5cGUgJyVzJy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIGZvciB3cml0aW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIzOAorbXNnaWQgImNhdC1maWxlIHJlcG9ydGVkIGZhaWx1cmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIGZvciByZWFkaW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI2OAorbXNnaWQgInVuYWJsZSB0byBzcGF3biBta3RyZWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MjcyCittc2dpZCAidW5hYmxlIHRvIHJlYWQgZnJvbSBta3RyZWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MjgxCittc2dpZCAibWt0cmVlIHJlcG9ydGVkIGZhaWx1cmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjg1Cittc2dpZCAibWt0cmVlIGRpZCBub3QgcmV0dXJuIGFuIG9iamVjdCBuYW1lIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZnN0YXQgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjk5Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIG9iamVjdCB0byBkYXRhYmFzZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzozMTggYnVpbHRpbi9yZXBsYWNlLmM6MzcxIGJ1aWx0aW4vcmVwbGFjZS5jOjQxNQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnIgorbXNnc3RyICLOvM63IM6tzrPOus+Fz4HOvyDPjM69zr/OvM6xIM6xzr3PhM65zrrOtc65zrzOrc69zr/PhTogJyVzJyIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBnZXQgb2JqZWN0IHR5cGUgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMzOAorbXNnaWQgImVkaXRpbmcgb2JqZWN0IGZpbGUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM0NworIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgb2JqZWN0IGlzIHRoZSBzYW1lIGFzIHRoZSBvbGQgb25lOiAnJXMnIgorbXNnc3RyICLPhM6/IM69zq3OvyDOsc69z4TOuc66zrXOr868zrXOvc6/IM61zq/Ovc6xzrkgzq/OtM65zr8gzrzOtSDPhM6/IM+AzrHOu865z4w6ICclcyciCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwNworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCBtZXJnZXRhZyBpbiBjb21taXQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm9yaWdpbmFsIGNvbW1pdCAnJXMnIGNvbnRhaW5zIG1lcmdldGFnICclcycgdGhhdCBpcyBkaXNjYXJkZWQ7IHVzZSAtLWVkaXQgIgorImluc3RlYWQgb2YgLS1ncmFmdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo0NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG9yaWdpbmFsIGNvbW1pdCAnJXMnIGhhcyBhIGdwZyBzaWduYXR1cmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDYxCittc2dpZCAidGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIHJlcGxhY2VtZW50IGNvbW1pdCEiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSByZXBsYWNlbWVudCBjb21taXQgZm9yOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ3OQorIywgYy1mb3JtYXQKK21zZ2lkICJncmFmdCBmb3IgJyVzJyB1bm5lY2Vzc2FyeSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibmV3IGNvbW1pdCBpcyB0aGUgc2FtZSBhcyB0aGUgb2xkIG9uZTogJyVzJyIKK21zZ3N0ciAizrcgzr3Orc6xIM+Fz4DOv86yzr/Ou86uIM61zq/Ovc6xzrkgzq/OtM65zrEgzrzOtSDPhM63zr0gz4DOsc67zrnOrDogJyVzJyIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb3VsZCBub3QgY29udmVydCB0aGUgZm9sbG93aW5nIGdyYWZ0KHMpOlxuIgorIiVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUzNgorbXNnaWQgImxpc3QgcmVwbGFjZSByZWZzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUzNworbXNnaWQgImRlbGV0ZSByZXBsYWNlIHJlZnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM4Cittc2dpZCAiZWRpdCBleGlzdGluZyBvYmplY3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM5Cittc2dpZCAiY2hhbmdlIGEgY29tbWl0J3MgcGFyZW50cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDAKK21zZ2lkICJjb252ZXJ0IGV4aXN0aW5nIGdyYWZ0IGZpbGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQxCittc2dpZCAicmVwbGFjZSB0aGUgcmVmIGlmIGl0IGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDMKK21zZ2lkICJkbyBub3QgcHJldHR5LXByaW50IGNvbnRlbnRzIGZvciAtLWVkaXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQ0Cittc2dpZCAidXNlIHRoaXMgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1NworbXNnaWQgIi0tZm9ybWF0IGNhbm5vdCBiZSB1c2VkIHdoZW4gbm90IGxpc3RpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTY1Cittc2dpZCAiLWYgb25seSBtYWtlcyBzZW5zZSB3aGVuIHdyaXRpbmcgYSByZXBsYWNlbWVudCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo1NjkKK21zZ2lkICItLXJhdyBvbmx5IG1ha2VzIHNlbnNlIHdpdGggLS1lZGl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU3NQorbXNnaWQgIi1kIG5lZWRzIGF0IGxlYXN0IG9uZSBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo1ODEKK21zZ2lkICJiYWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo1ODcKK21zZ2lkICItZSBuZWVkcyBleGFjdGx5IG9uZSBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo1OTMKK21zZ2lkICItZyBuZWVkcyBhdCBsZWFzdCBvbmUgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTk5Cittc2dpZCAiLS1jb252ZXJ0LWdyYWZ0LWZpbGUgdGFrZXMgbm8gYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NjA1Cittc2dpZCAib25seSBvbmUgcGF0dGVybiBjYW4gYmUgZ2l2ZW4gd2l0aCAtbCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcmVyZS5jOjEzCittc2dpZCAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgPHBhdGg+Li4uIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcmVyZS5jOjYwCittc2dpZCAicmVnaXN0ZXIgY2xlYW4gcmVzb2x1dGlvbnMgaW4gaW5kZXgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXJlcmUuYzo3OQorbXNnaWQgIidnaXQgcmVyZXJlIGZvcmdldCcgd2l0aG91dCBwYXRocyBpcyBkZXByZWNhdGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBnZW5lcmF0ZSBkaWZmIGZvciAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMgorbXNnaWQgIiIKKyJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCittc2dzdHIgIiIKKyJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8z4XPgM6/zrLOv867zq4+XSIKKworIzogYnVpbHRpbi9yZXNldC5jOjMzCittc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzPi4uLiIKK21zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gWzzOtM6tzr3PhM+Bzr8gzq4gz4bOsc65zr3Ov868zrXOvc65zrrPjD5dIFstLV0gPM60zrnOsc60z4HOv868zq3Pgj4uLi4iCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNAorbXNnaWQgImdpdCByZXNldCAtLXBhdGNoIFs8dHJlZS1pc2g+XSBbLS1dIFs8cGF0aHM+Li4uXSIKK21zZ3N0ciAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzzOtM6tzr3PhM+Bzr8gzq4gz4bOsc65zr3Ov868zrXOvc65zrrPjD5dIFstLV0gWzzOtM65zrHOtM+Bzr/OvM6tz4I+Li4uXSIKKworIzogYnVpbHRpbi9yZXNldC5jOjQwCittc2dpZCAibWl4ZWQiCittc2dzdHIgIm1peGVkIgorCisjOiBidWlsdGluL3Jlc2V0LmM6NDAKK21zZ2lkICJzb2Z0IgorbXNnc3RyICJzb2Z0IgorCisjOiBidWlsdGluL3Jlc2V0LmM6NDAKK21zZ2lkICJoYXJkIgorbXNnc3RyICJoYXJkIgorCisjOiBidWlsdGluL3Jlc2V0LmM6NDAKK21zZ2lkICJtZXJnZSIKK21zZ3N0ciAiz4PPhc6zz4fPjs69zrXPhc+DzrciCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MAorbXNnaWQgImtlZXAiCittc2dzdHIgIs60zrnOsc+Ezq7Pgc63z4POtyIKKworIzogYnVpbHRpbi9yZXNldC5jOjgxCittc2dpZCAiWW91IGRvIG5vdCBoYXZlIGEgdmFsaWQgSEVBRC4iCittc2dzdHIgIs6UzrXOvSDOrc+HzrXPhM61IM6tzrPOus+Fz4HOvyBIRUFELiIKKworIzogYnVpbHRpbi9yZXNldC5jOjgzCittc2dpZCAiRmFpbGVkIHRvIGZpbmQgdHJlZSBvZiBIRUFELiIKK21zZ3N0ciAizpTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TPjCDOvc6xIM6yz4HOtc64zrXOryDPhM6/IM60zq3Ovc+Ez4HOvyDPhM6/z4UgSEVBRC4iCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzo4OQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gZmluZCB0cmVlIG9mICVzLiIKK21zZ3N0ciAizpTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TPjCDOvc6xIM6yz4HOtc64zrXOryDPhM6/IM60zq3Ovc+Ez4HOvyDPhM6/z4UgJXMuIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBkbyBhICVzIHJlc2V0IGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZS4iCittc2dzdHIgIs6UzrXOvSDOtc6vzr3Osc65IM60z4XOvc6xz4TPjCDOvc6xIM6zzq/Ovc61zrkgzrXPgM6xzr3Osc+Gzr/Pgc6sICVzIM+Dz4TOtyDOvM6tz4POtyDOvM65zrHPgiDPg8+FzrPPh8+Ozr3Otc+Fz4POt8+CLiIKKworIzogYnVpbHRpbi9yZXNldC5jOjI5MworbXNnaWQgImJlIHF1aWV0LCBvbmx5IHJlcG9ydCBlcnJvcnMiCittc2dzdHIgIs+DzrnPic+AzrfOu86uIM67zrXOuc+Ezr/Phc+BzrPOr86xLCDOsc69zrHPhs6/z4HOrCDOvM+Mzr3OvyDPg8+GzrHOu868zqzPhM+Jzr0iCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTUKK21zZ2lkICJyZXNldCBIRUFEIGFuZCBpbmRleCIKK21zZ3N0ciAizrXPgM6xzr3Osc+Gzr/Pgc6sIEhFQUQgzrrOsc65IM61z4XPgc61z4TOt8+Bzq/Ov8+FIgorCisjOiBidWlsdGluL3Jlc2V0LmM6Mjk2Cittc2dpZCAicmVzZXQgb25seSBIRUFEIgorbXNnc3RyICLOtc+AzrHOvc6xz4bOv8+BzqwgzrzPjM69zr8gSEVBRCIKKworIzogYnVpbHRpbi9yZXNldC5jOjI5OCBidWlsdGluL3Jlc2V0LmM6MzAwCittc2dpZCAicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAizrXPgM6xzr3Osc+Gzr/Pgc6sIEhFQUQsIM61z4XPgc61z4TOt8+Bzq/Ov8+FIM66zrHOuSDOtM6tzr3PhM+Bzr/PhSDOtc+BzrPOsc+Dzq/Osc+CIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzAyCittc2dpZCAicmVzZXQgSEVBRCBidXQga2VlcCBsb2NhbCBjaGFuZ2VzIgorbXNnc3RyICLOtc+AzrHOvc6xz4bOv8+BzqwgSEVBRCDOsc67zrvOrCDOtM65zrHPhM6uz4HOt8+Dzrcgz4TOv8+AzrnOus+Ozr0gzrHOu867zrHOs8+Ozr0iCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDgKK21zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHJlbW92ZWQgcGF0aHMgd2lsbCBiZSBhZGRlZCBsYXRlciIKK21zZ3N0ciAiIgorIs66zrHPhM6xzrPPgc6xz4bOriDOvM+Mzr3OvyDPhM6/z4UgzrPOtc6zzr/Ovc+Mz4TOv8+CIM+Mz4TOuSDOv865IM6xz4bOsc65z4HOtc64zrXOr8+DzrXPgiDOtM65zrHOtM+Bzr/OvM6tz4IgzrjOsSDPgM+Bzr/Pg8+EzrXOuM6/z43OvSAiCisizrHPgc6zz4zPhM61z4HOsSIKKworIzogYnVpbHRpbi9yZXNldC5jOjMyNgorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmV2aXNpb24uIgorbXNnc3RyICLOkc+Azq3PhM+Fz4fOtSDOtyDPhM6xz43PhM65z4POtyDPhM6/z4UgJyVzJyDOvM61IM66zqzPgM6/zrnOsSDOrc6zzrrPhc+Bzrcgzq3Ous60zr/Pg863LiIKKworIzogYnVpbHRpbi9yZXNldC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgdHJlZS4iCittc2dzdHIgIs6Rz4DOrc+Ez4XPh861IM63IM+EzrHPjc+EzrnPg863IM+Ezr/PhSAnJXMnIM68zrUgzrrOrM+Azr/Ouc6/IM6tzrPOus+Fz4HOvyDOtM6tzr3PhM+Bzr8uIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzQzCittc2dpZCAiLS1wYXRjaCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLXtoYXJkLG1peGVkLHNvZnR9IgorbXNnc3RyICLPhM6/IC0tcGF0Y2ggzrXOr869zrHOuSDOsc+Dz43OvM6yzrHPhM6/IM68zrUgLS17aGFyZCxtaXhlZCxzb2Z0fSIKKworIzogYnVpbHRpbi9yZXNldC5jOjM1MgorbXNnaWQgIi0tbWl4ZWQgd2l0aCBwYXRocyBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCByZXNldCAtLSA8cGF0aHM+JyBpbnN0ZWFkLiIKK21zZ3N0ciAiIgorIs+Ezr8gLS1taXhlZCDOvM61IM60zrnOsc60z4HOv868zq3PgiDOrc+HzrXOuSDOus6xz4TOsc+BzrPOt864zrXOrywgz4fPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSDOsc69z4TOryDOsc+Fz4TOv8+NICdnaXQgIgorInJlc2V0IC0tIDzOtM65zrHOtM+Bzr/OvM6tz4I+Jy4iCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGRvICVzIHJlc2V0IHdpdGggcGF0aHMuIgorbXNnc3RyICLOlM61zr0gzrXOr869zrHOuSDOtM+Fzr3Osc+Ezq4gzrcgzrXPgM6xzr3Osc+Gzr/Pgc6sICVzIM68zrUgzrTOuc6xzrTPgc6/zrzOrc+CLiIKKworIzogYnVpbHRpbi9yZXNldC5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXNldCBpcyBub3QgYWxsb3dlZCBpbiBhIGJhcmUgcmVwb3NpdG9yeSIKK21zZ3N0ciAizrcgzrXPgM6xzr3Osc+Gzr/Pgc6sICVzIM60zrXOvSDOtc+AzrnPhM+Bzq3PgM61z4TOsc65IM+DzrUgzrPPhc68zr3PjCDOsc+Azr/OuM61z4TOrs+BzrnOvyIKKworIzogYnVpbHRpbi9yZXNldC5jOjM2OAorbXNnaWQgIi1OIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCAtLW1peGVkIgorbXNnc3RyICLPhM6/IC1OIM68z4DOv8+BzrXOryDOvc6xIM+Hz4HOt8+DzrnOvM6/z4DOv865zrfOuM61zq8gzrzPjM69zr8gzrzOtSDPhM6/IC0tbWl4ZWQiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozODgKK21zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKK21zZ3N0ciAizpzOtyDPgM+Bzr/Otc+Ezr/Ouc68zrHPg868zq3Ovc61z4IgzrHOu867zrHOs86tz4IgzrzOtc+Ezqwgz4TOt869IM61z4DOsc69zrHPhs6/z4HOrDoiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGVudW1lcmF0ZSB1bnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0LiAgWW91IGNhblxuIgorInVzZSAnLS1xdWlldCcgdG8gYXZvaWQgdGhpcy4gIFNldCB0aGUgY29uZmlnIHNldHRpbmcgcmVzZXQucXVpZXQgdG8gdHJ1ZVxuIgorInRvIG1ha2UgdGhpcyB0aGUgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIs6XIM6xz4DOsc+Bzq/OuM68zrfPg863IM68zrcgz4DPgc6/zrXPhM6/zrnOvM6xz4POvM6tzr3Pic69IM6xzrvOu86xzrPPjs69IM68zrXPhM6sIM+EzrfOvSDOtc+AzrHOvc6xz4bOv8+Bzqwgz4DOrs+BzrUgJS4yZiAiCisizrTOtc+Fz4TOtc+Bz4zOu861z4DPhM6xLiAgzpzPgM6/z4HOtc6vz4TOtSDOvc6xXG4iCisiz4fPgc63z4POuc68zr/PgM6/zrnOrs+DzrXPhM61IM+Ezr8gJy0tcXVpZXQnIM6zzrnOsSDOvc6xIM+Ezr8gzrHPgM6/z4bPjc6zzrXPhM61IM6xz4XPhM+MLiAgzpHOu867zqzOvs+EzrUgz4TOt869IM61z4DOuc67zr/Os86uICIKKyLPgc+NzrjOvM65z4POt8+CIHJlc2V0LnF1aWV0IM+DzrUgdHJ1ZVxuIgorIs6zzrnOsSDOvc6xIM+Ezr8gzrrOrM69zrXPhM61IM+Az4HOv861z4DOuc67zrXOs868zq3Ovc6/LlxuIgorCisjOiBidWlsdGluL3Jlc2V0LmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIgorbXNnc3RyICLOlM61zr0gzq7PhM6xzr0gzrTPhc69zrHPhM6uIM63IM61z4DOsc69zrHPhs6/z4HOrCDPhM6/z4UgzrHPgc+HzrXOr86/z4UgzrXPhc+BzrXPhM63z4HOr86/z4Ugz4PPhM63zr0gzq3Ous60zr/Pg863ICclcycuIgorCisjOiBidWlsdGluL3Jlc2V0LmM6NDA1Cittc2dpZCAiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIKK21zZ3N0ciAizpTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TOriDOtyDOtc6zzrPPgc6xz4bOriDPhM6/z4Ugzr3Orc6/z4UgzrHPgc+HzrXOr86/z4UgzrXPhc+BzrXPhM63z4HOr86/z4UuIgorCisjOiBidWlsdGluL3Jldi1saXN0LmM6NDA2Cittc2dpZCAiY2Fubm90IGNvbWJpbmUgLS1leGNsdWRlLXByb21pc29yLW9iamVjdHMgYW5kIC0tbWlzc2luZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Jldi1saXN0LmM6NDY0Cittc2dpZCAib2JqZWN0IGZpbHRlcmluZyByZXF1aXJlcyAtLW9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXYtbGlzdC5jOjQ2NworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNwYXJzZSB2YWx1ZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo1MDgKK21zZ2lkICJyZXYtbGlzdCBkb2VzIG5vdCBzdXBwb3J0IGRpc3BsYXkgb2Ygbm90ZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUxMQorbXNnaWQgImNhbm5vdCBjb21iaW5lIC0tdXNlLWJpdG1hcC1pbmRleCB3aXRoIG9iamVjdCBmaWx0ZXJpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDgKK21zZ2lkICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTMKK21zZ2lkICJrZWVwIHRoZSBgLS1gIHBhc3NlZCBhcyBhbiBhcmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTUKK21zZ2lkICJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTgKK21zZ2lkICJvdXRwdXQgaW4gc3R1Y2sgbG9uZyBmb3JtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTUxCittc2dpZCAiIgorImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXVxuIgorIiAgIG9yOiBnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgWzxhcmc+Li4uXVxuIgorIiAgIG9yOiBnaXQgcmV2LXBhcnNlIFs8b3B0aW9ucz5dIFs8YXJnPi4uLl1cbiIKKyJcbiIKKyJSdW4gXCJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgLWhcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgZmlyc3QgdXNhZ2UuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjQKK21zZ2lkICJnaXQgcmV2ZXJ0IFs8b3B0aW9ucz5dIDxjb21taXQtaXNoPi4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JldmVydC5jOjI1Cittc2dpZCAiZ2l0IHJldmVydCA8c3ViY29tbWFuZD4iCittc2dzdHIgImdpdCByZXZlcnQgPM+Fz4DOv861zr3PhM6/zrvOrj4iCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MzAKK21zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgWzxvcHRpb25zPl0gPGNvbW1pdC1pc2g+Li4uIgorbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgWzzOtc+AzrnOu86/zrPOrc+CPl0gPM+Fz4DOv86yzr/Ou86uIM6uIM+GzrHOuc69zr/OvM61zr3Ouc66zq4+Li4uIgorCisjOiBidWlsdGluL3JldmVydC5jOjMxCittc2dpZCAiZ2l0IGNoZXJyeS1waWNrIDxzdWJjb21tYW5kPiIKK21zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIDzPhc+Azr/Otc69z4TOv867zq4+IgorCisjOiBidWlsdGluL3JldmVydC5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgYSBudW1iZXIgZ3JlYXRlciB0aGFuIHplcm8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JldmVydC5jOjEwMQorbXNnaWQgImVuZCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKK21zZ2lkICJyZXN1bWUgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCittc2dpZCAiY2FuY2VsIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JldmVydC5jOjEwNAorbXNnaWQgImRvbid0IGF1dG9tYXRpY2FsbHkgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1Cittc2dpZCAiZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKK21zZ2lkICJwYXJlbnQtbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA5Cittc2dpZCAic2VsZWN0IG1haW5saW5lIHBhcmVudCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JldmVydC5jOjExMQorbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEzCittc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JldmVydC5jOjEyMgorbXNnaWQgImFwcGVuZCBjb21taXQgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JldmVydC5jOjEyNAorbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI2Cittc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoyMjAKK21zZ2lkICJyZXZlcnQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMzCittc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcm0uYzoxOQorbXNnaWQgImdpdCBybSBbPG9wdGlvbnM+XSBbLS1dIDxmaWxlPi4uLiIKK21zZ3N0ciAiZ2l0IHJtIFs8zrXPgM65zrvOv86zzq3Pgj5dIFstLV0gPM6xz4HPh861zq/Ovz4uLi4iCisKKyM6IGJ1aWx0aW4vcm0uYzoyMDcKK21zZ2lkICIiCisidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBzdGFnZWQgY29udGVudCBkaWZmZXJlbnQgZnJvbSBib3RoIHRoZVxuIgorImZpbGUgYW5kIHRoZSBIRUFEOiIKK21zZ2lkX3BsdXJhbCAiIgorInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBzdGFnZWQgY29udGVudCBkaWZmZXJlbnQgZnJvbSBib3RoIHRoZVxuIgorImZpbGUgYW5kIHRoZSBIRUFEOiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGJ1aWx0aW4vcm0uYzoyMTIKK21zZ2lkICIiCisiXG4iCisiKHVzZSAtZiB0byBmb3JjZSByZW1vdmFsKSIKK21zZ3N0ciAiIgorIlxuIgorIijPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61IM+Ezr8gLWYgzrPOuc6xIM69zrEgzrXOvs6xzr3Osc6zzrrOrM+DzrXPhM61IM+EzrfOvSDOsc+GzrHOr8+BzrXPg863KSIKKworIzogYnVpbHRpbi9ybS5jOjIxNgorbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKK21zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBidWlsdGluL3JtLmM6MjIwIGJ1aWx0aW4vcm0uYzoyMjkKK21zZ2lkICIiCisiXG4iCisiKHVzZSAtLWNhY2hlZCB0byBrZWVwIHRoZSBmaWxlLCBvciAtZiB0byBmb3JjZSByZW1vdmFsKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JtLmM6MjI2Cittc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBsb2NhbCBtb2RpZmljYXRpb25zOiIKK21zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGxvY2FsIG1vZGlmaWNhdGlvbnM6IgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogYnVpbHRpbi9ybS5jOjI0MgorbXNnaWQgImRvIG5vdCBsaXN0IHJlbW92ZWQgZmlsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ybS5jOjI0MworbXNnaWQgIm9ubHkgcmVtb3ZlIGZyb20gdGhlIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcm0uYzoyNDQKK21zZ2lkICJvdmVycmlkZSB0aGUgdXAtdG8tZGF0ZSBjaGVjayIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JtLmM6MjQ1Cittc2dpZCAiYWxsb3cgcmVjdXJzaXZlIHJlbW92YWwiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ybS5jOjI0NworbXNnaWQgImV4aXQgd2l0aCBhIHplcm8gc3RhdHVzIGV2ZW4gaWYgbm90aGluZyBtYXRjaGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcm0uYzoyODkKK21zZ2lkICJwbGVhc2Ugc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JtLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCByZW1vdmluZyAnJXMnIHJlY3Vyc2l2ZWx5IHdpdGhvdXQgLXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ybS5jOjM0NgorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgcm06IHVuYWJsZSB0byByZW1vdmUgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zZW5kLXBhY2suYzoyMAorbXNnaWQgIiIKKyJnaXQgc2VuZC1wYWNrIFstLWFsbCB8IC0tbWlycm9yXSBbLS1kcnktcnVuXSBbLS1mb3JjZV0gWy0tcmVjZWl2ZS1wYWNrPTxnaXQtIgorInJlY2VpdmUtcGFjaz5dIFstLXZlcmJvc2VdIFstLXRoaW5dIFstLWF0b21pY10gWzxob3N0PjpdPGRpcmVjdG9yeT4gIgorIls8cmVmPi4uLl1cbiIKKyIgIC0tYWxsIGFuZCBleHBsaWNpdCA8cmVmPiBzcGVjaWZpY2F0aW9uIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCittc2dpZCAicmVtb3RlIG5hbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzcKK21zZ2lkICJ1c2Ugc3RhdGVsZXNzIFJQQyBwcm90b2NvbCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE3OAorbXNnaWQgInJlYWQgcmVmcyBmcm9tIHN0ZGluIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc5Cittc2dpZCAicHJpbnQgc3RhdHVzIGZyb20gcmVtb3RlIGhlbHBlciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3NlcnZlLmM6NworbXNnaWQgImdpdCBzZXJ2ZSBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3NlcnZlLmM6MTcgYnVpbHRpbi91cGxvYWQtcGFjay5jOjIzCittc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2VydmUuYzoxOQorbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgYWR2ZXJ0aXNpbmcgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNAorbXNnaWQgImdpdCBzaG9ydGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MTUKK21zZ2lkICJnaXQgbG9nIC0tcHJldHR5PXNob3J0IHwgZ2l0IHNob3J0bG9nIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgbG9nIC0tcHJldHR5PXNob3J0IHwgZ2l0IHNob3J0bG9nIFs8zrXPgM65zrvOv86zzq3Pgj5dIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjY0Cittc2dpZCAiR3JvdXAgYnkgY29tbWl0dGVyIHJhdGhlciB0aGFuIGF1dGhvciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjY2Cittc2dpZCAic29ydCBvdXRwdXQgYWNjb3JkaW5nIHRvIHRoZSBudW1iZXIgb2YgY29tbWl0cyBwZXIgYXV0aG9yIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNjgKK21zZ2lkICJTdXBwcmVzcyBjb21taXQgZGVzY3JpcHRpb25zLCBvbmx5IHByb3ZpZGVzIGNvbW1pdCBjb3VudCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjcwCittc2dpZCAiU2hvdyB0aGUgZW1haWwgYWRkcmVzcyBvZiBlYWNoIGF1dGhvciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjcxCittc2dpZCAiPHc+Wyw8aTE+Wyw8aTI+XV0iCittc2dzdHIgIjx3PlssPGkxPlssPGkyPl1dIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjcyCittc2dpZCAiTGluZXdyYXAgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzozMDEKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMgZ2l2ZW4gb3V0c2lkZSByZXBvc2l0b3J5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzoxMworbXNnaWQgIiIKKyJnaXQgc2hvdy1icmFuY2ggWy1hIHwgLS1hbGxdIFstciB8IC0tcmVtb3Rlc10gWy0tdG9wby1vcmRlciB8IC0tZGF0ZS1vcmRlcl1cbiIKKyJcdFx0Wy0tY3VycmVudF0gWy0tY29sb3JbPTx3aGVuPl0gfCAtLW5vLWNvbG9yXSBbLS1zcGFyc2VdXG4iCisiXHRcdFstLW1vcmU9PG4+IHwgLS1saXN0IHwgLS1pbmRlcGVuZGVudCB8IC0tbWVyZ2UtYmFzZV1cbiIKKyJcdFx0Wy0tbm8tbmFtZSB8IC0tc2hhMS1uYW1lXSBbLS10b3BpY3NdIFsoPHJldj4gfCA8Z2xvYj4pLi4uXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6MTcKK21zZ2lkICJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8cmVmPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmIgorbXNnaWRfcGx1cmFsICJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmcyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWF0Y2hpbmcgcmVmcyB3aXRoICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDYKK21zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAorbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKK21zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKK21zZ2lkICJzaG93IDxuPiBtb3JlIGNvbW1pdHMgYWZ0ZXIgdGhlIGNvbW1vbiBhbmNlc3RvciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0Cittc2dpZCAic3lub255bSB0byBtb3JlPS0xIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUKK21zZ2lkICJzdXBwcmVzcyBuYW1pbmcgc3RyaW5ncyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU3Cittc2dpZCAiaW5jbHVkZSB0aGUgY3VycmVudCBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OQorbXNnaWQgIm5hbWUgY29tbWl0cyB3aXRoIHRoZWlyIG9iamVjdCBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYxCittc2dpZCAic2hvdyBwb3NzaWJsZSBtZXJnZSBiYXNlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYzCittc2dpZCAic2hvdyByZWZzIHVucmVhY2hhYmxlIGZyb20gYW55IG90aGVyIHJlZiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY1Cittc2dpZCAic2hvdyBjb21taXRzIGluIHRvcG9sb2dpY2FsIG9yZGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKK21zZ2lkICJzaG93IG9ubHkgY29tbWl0cyBub3Qgb24gdGhlIGZpcnN0IGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjcwCittc2dpZCAic2hvdyBtZXJnZXMgcmVhY2hhYmxlIGZyb20gb25seSBvbmUgdGlwIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzIKK21zZ2lkICJ0b3BvbG9naWNhbGx5IHNvcnQsIG1haW50YWluaW5nIGRhdGUgb3JkZXIgd2hlcmUgcG9zc2libGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NQorbXNnaWQgIjxuPlssPGJhc2U+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc2Cittc2dpZCAic2hvdyA8bj4gbW9zdCByZWNlbnQgcmVmLWxvZyBlbnRyaWVzIHN0YXJ0aW5nIGF0IGJhc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxMgorbXNnaWQgIiIKKyItLXJlZmxvZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50IG9yIC0tbWVyZ2UtYmFzZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM2Cittc2dpZCAibm8gYnJhbmNoZXMgZ2l2ZW4sIGFuZCBIRUFEIGlzIG5vdCB2YWxpZCIKK21zZ3N0ciAizrTOtSDOtM+MzrjOt866zrHOvSDOus67zqzOtM6/zrksIM66zrHOuSDPhM6/IEhFQUQgzrTOtc69IM61zq/Ovc6xzrkgzq3Os866z4XPgc6/IgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM5Cittc2dpZCAiLS1yZWZsb2cgb3B0aW9uIG5lZWRzIG9uZSBicmFuY2ggbmFtZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgJWQgZW50cnkgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKK21zZ2lkX3BsdXJhbCAib25seSAlZCBlbnRyaWVzIGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcmVmICVzIgorbXNnc3RyICLOtM61zr0gz4XPgM6sz4HPh861zrkgcmVmICVzIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldi4iCittc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldnMuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlZi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBjb21taXQgJXMgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTEKK21zZ2lkICIiCisiZ2l0IHNob3ctcmVmIFstcSB8IC0tcXVpZXRdIFstLXZlcmlmeV0gWy0taGVhZF0gWy1kIHwgLS1kZXJlZmVyZW5jZV0gWy1zIHwgLS0iCisiaGFzaFs9PG4+XV0gWy0tYWJicmV2Wz08bj5dXSBbLS10YWdzXSBbLS1oZWFkc10gWy0tXSBbPHBhdHRlcm4+Li4uXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTIKK21zZ2lkICJnaXQgc2hvdy1yZWYgLS1leGNsdWRlLWV4aXN0aW5nWz08cGF0dGVybj5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjEKK21zZ2lkICJvbmx5IHNob3cgdGFncyAoY2FuIGJlIGNvbWJpbmVkIHdpdGggaGVhZHMpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjIKK21zZ2lkICJvbmx5IHNob3cgaGVhZHMgKGNhbiBiZSBjb21iaW5lZCB3aXRoIHRhZ3MpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjMKK21zZ2lkICJzdHJpY3RlciByZWZlcmVuY2UgY2hlY2tpbmcsIHJlcXVpcmVzIGV4YWN0IHJlZiBwYXRoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjYgYnVpbHRpbi9zaG93LXJlZi5jOjE2OAorbXNnaWQgInNob3cgdGhlIEhFQUQgcmVmZXJlbmNlLCBldmVuIGlmIGl0IHdvdWxkIGJlIGZpbHRlcmVkIG91dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTcwCittc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbnRvIG9iamVjdCBJRHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MgorbXNnaWQgIm9ubHkgc2hvdyBTSEExIGhhc2ggdXNpbmcgPG4+IGRpZ2l0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc2Cittc2dpZCAiZG8gbm90IHByaW50IHJlc3VsdHMgdG8gc3Rkb3V0ICh1c2VmdWwgd2l0aCAtLXZlcmlmeSkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OAorbXNnaWQgInNob3cgcmVmcyBmcm9tIHN0ZGluIHRoYXQgYXJlbid0IGluIGxvY2FsIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTgKK21zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLXMgfCAtLXN0cmlwLWNvbW1lbnRzXSIKK21zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1zIHwgLS1zdHJpcC1jb21tZW50c10iCisKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE5Cittc2dpZCAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKK21zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKKworIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzcKK21zZ2lkICJza2lwIGFuZCByZW1vdmUgYWxsIGxpbmVzIHN0YXJ0aW5nIHdpdGggY29tbWVudCBjaGFyYWN0ZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6NDAKK21zZ2lkICJwcmVwZW5kIGNvbW1lbnQgY2hhcmFjdGVyIGFuZCBzcGFjZSB0byBlYWNoIGxpbmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkV4cGVjdGluZyBhIGZ1bGwgcmVmIG5hbWUsIGdvdCAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjIKK21zZ2lkICJzdWJtb2R1bGUtLWhlbHBlciBwcmludC1kZWZhdWx0LXJlbW90ZSB0YWtlcyBubyBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RyaXAgb25lIGNvbXBvbmVudCBvZmYgdXJsICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwOCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2NworbXNnaWQgImFsdGVybmF0aXZlIGFuY2hvciBmb3IgcmVsYXRpdmUgcGF0aHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMworbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NzAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYyNworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1cmwgZm91bmQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcycgaW4gLmdpdG1vZHVsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyMgorIywgYy1mb3JtYXQKK21zZ2lkICJFbnRlcmluZyAnJXMnXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisicnVuX2NvbW1hbmQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIGZvciAlc1xuIgorIi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisicnVuX2NvbW1hbmQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIHdoaWxlIHJlY3Vyc2luZyBpbiB0aGUgbmVzdGVkICIKKyJzdWJtb2R1bGVzIG9mICVzXG4iCisiLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTYyCittc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IG9mIGVudGVyaW5nIGVhY2ggc3VibW9kdWxlIGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA0OQorbXNnaWQgIlJlY3Vyc2UgaW50byBuZXN0ZWQgc3VibW9kdWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTY5Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGZvcmVhY2ggWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gPGNvbW1hbmQ+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvdWxkIG5vdCBsb29rIHVwIGNvbmZpZ3VyYXRpb24gJyVzJy4gQXNzdW1pbmcgdGhpcyByZXBvc2l0b3J5IGlzIGl0cyBvd24gIgorImF1dGhvcml0YXRpdmUgdXBzdHJlYW0uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Ym1vZHVsZSAnJXMnICglcykgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY3OAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjb21tYW5kIHVwZGF0ZSBtb2RlIHN1Z2dlc3RlZCBmb3Igc3VibW9kdWxlICclcydcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cGRhdGUgbW9kZSBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzA3Cittc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IGZvciBpbml0aWFsaXppbmcgYSBzdWJtb2R1bGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcxMgorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cGF0aD5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkxMAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWJtb2R1bGUgbWFwcGluZyBmb3VuZCBpbiAuZ2l0bW9kdWxlcyBmb3IgcGF0aCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCByZWYgaW5zaWRlIHRoZSBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAizrTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TOriDOtyDPhM6xz43PhM65z4POtyDPhM6/z4UgSEVBRCByZWYgzrzOrc+DzrEgz4PPhM63zr0gz4XPgM6/zrXOvc+Mz4TOt8+EzrEgJyVzJyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg1MCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAxOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICLOsc+Azq3PhM+Fz4fOtSDOtyDOsc69zrHOtM+Bzr/OvM6uIM68zq3Pg86xIM+Dz4TOt869IM+Fz4DOv861zr3PjM+EzrfPhM6xICclcyciCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NzQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODUKK21zZ2lkICJTdXBwcmVzcyBzdWJtb2R1bGUgc3RhdHVzIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc1Cittc2dpZCAiIgorIlVzZSBjb21taXQgc3RvcmVkIGluIHRoZSBpbmRleCBpbnN0ZWFkIG9mIHRoZSBvbmUgc3RvcmVkIGluIHRoZSBzdWJtb2R1bGUgIgorIkhFQUQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3NgorbXNnaWQgInJlY3Vyc2UgaW50byBuZXN0ZWQgc3VibW9kdWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODgxCittc2dpZCAiZ2l0IHN1Ym1vZHVsZSBzdGF0dXMgWy0tcXVpZXRdIFstLWNhY2hlZF0gWy0tcmVjdXJzaXZlXSBbPHBhdGg+Li4uXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA1Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPHBhdGg+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJXMnXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgZGVmYXVsdCByZW1vdGUgZm9yIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1cGRhdGUgcmVtb3RlIGZvciBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA0NworbXNnaWQgIlN1cHByZXNzIG91dHB1dCBvZiBzeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTQKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgc3luYyBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSBbPHBhdGg+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiU3VibW9kdWxlIHdvcmsgdHJlZSAnJXMnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnkgKHVzZSAncm0gLXJmJyBpZiB5b3UgIgorInJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiU3VibW9kdWxlIHdvcmsgdHJlZSAnJXMnIGNvbnRhaW5zIGxvY2FsIG1vZGlmaWNhdGlvbnM7IHVzZSAnLWYnIHRvIGRpc2NhcmQgIgorInRoZW0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2xlYXJlZCBkaXJlY3RvcnkgJyVzJ1xuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJXMnXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBlbXB0eSBzdWJtb2R1bGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Ym1vZHVsZSAnJXMnICglcykgdW5yZWdpc3RlcmVkIGZvciBwYXRoICclcydcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE4NgorbXNnaWQgIlJlbW92ZSBzdWJtb2R1bGUgd29ya2luZyB0cmVlcyBldmVuIGlmIHRoZXkgY29udGFpbiBsb2NhbCBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTg3Cittc2dpZCAiVW5yZWdpc3RlciBhbGwgc3VibW9kdWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE5MgorbXNnaWQgIiIKKyJnaXQgc3VibW9kdWxlIGRlaW5pdCBbLS1xdWlldF0gWy1mIHwgLS1mb3JjZV0gWy0tYWxsIHwgWy0tXSBbPHBhdGg+Li4uXV0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyMDYKK21zZ2lkICJVc2UgJy0tYWxsJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzAxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzA0CisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGNhbm5vdCBhZGQgYWx0ZXJuYXRlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSBpcyBub3QgcmVjb2duaXplZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM0NworIywgYy1mb3JtYXQKK21zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gaXMgbm90IHJlY29nbml6ZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzAKK21zZ2lkICJ3aGVyZSB0aGUgbmV3IHN1Ym1vZHVsZSB3aWxsIGJlIGNsb25lZCB0byIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3MworbXNnaWQgIm5hbWUgb2YgdGhlIG5ldyBzdWJtb2R1bGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzYKK21zZ2lkICJ1cmwgd2hlcmUgdG8gY2xvbmUgdGhlIHN1Ym1vZHVsZSBmcm9tIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg0Cittc2dpZCAiZGVwdGggZm9yIHNoYWxsb3cgY2xvbmVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODcyCittc2dpZCAiZm9yY2UgY2xvbmluZyBwcm9ncmVzcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5MgorbXNnaWQgIiIKKyJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSAiCisiPHJlcG9zaXRvcnk+XSBbLS1uYW1lIDxuYW1lPl0gWy0tZGVwdGggPGRlcHRoPl0gLS11cmwgPHVybD4gLS1wYXRoIDxwYXRoPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQyMworIywgYy1mb3JtYXQKK21zZ2lkICJjbG9uZSBvZiAnJXMnIGludG8gc3VibW9kdWxlIHBhdGggJyVzJyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGdldCBzdWJtb2R1bGUgZGlyZWN0b3J5IGZvciAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXBkYXRlIG1vZGUgJyVzJyBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVwZGF0ZSBtb2RlICclcycgY29uZmlndXJlZCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTU3MAorIywgYy1mb3JtYXQKK21zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJXMnIG5vdCBpbml0aWFsaXplZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTU3NAorbXNnaWQgIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIHVubWVyZ2VkIHN1Ym1vZHVsZSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTYzMworIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTc3NworIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJy4gUmV0cnkgc2NoZWR1bGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNzg4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnIGEgc2Vjb25kIHRpbWUsIGFib3J0aW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODUxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDkzCittc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTQKK21zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSwgYWNyb3NzIG5lc3RlZCBzdWJtb2R1bGUgYm91bmRhcmllcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1OAorbXNnaWQgInJlYmFzZSwgbWVyZ2UsIGNoZWNrb3V0IG9yIG5vbmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NjQKK21zZ2lkICJDcmVhdGUgYSBzaGFsbG93IGNsb25lIHRydW5jYXRlZCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiByZXZpc2lvbnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NjcKK21zZ2lkICJwYXJhbGxlbCBqb2JzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODY5Cittc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODcwCittc2dpZCAiZG9uJ3QgcHJpbnQgY2xvbmluZyBwcm9ncmVzcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg3NworbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTAKK21zZ2lkICJiYWQgdmFsdWUgZm9yIHVwZGF0ZSBwYXJhbWV0ZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlN1Ym1vZHVsZSAoJXMpIGJyYW5jaCBjb25maWd1cmVkIHRvIGluaGVyaXQgYnJhbmNoIGZyb20gc3VwZXJwcm9qZWN0LCBidXQgIgorInRoZSBzdXBlcnByb2plY3QgaXMgbm90IG9uIGFueSBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGdldCBhIHJlcG9zaXRvcnkgaGFuZGxlIGZvciBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjA5NAorbXNnaWQgInJlY3Vyc2UgaW50byBzdWJtb2R1bGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTAwCittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGVtYmVkLWdpdC1kaXIgWzxwYXRoPi4uLl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNTYKK21zZ2lkICJjaGVjayBpZiBpdCBpcyBzYWZlIHRvIHdyaXRlIHRvIHRoZSAuZ2l0bW9kdWxlcyBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTYxCittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyBuYW1lIFt2YWx1ZV0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNjIKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tY2hlY2std3JpdGVhYmxlIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tY2hlY2std3JpdGVhYmxlIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE3OSBnaXQtc3VibW9kdWxlLnNoOjE2OQorIywgc2gtZm9ybWF0Cittc2dpZCAicGxlYXNlIG1ha2Ugc3VyZSB0aGF0IHRoZSAuZ2l0bW9kdWxlcyBmaWxlIGlzIGluIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyMjkgZ2l0LmM6NDEzIGdpdC5jOjY1OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2Vzbid0IHN1cHBvcnQgLS1zdXBlci1wcmVmaXgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCBzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6OAorbXNnaWQgImdpdCBzeW1ib2xpYy1yZWYgWzxvcHRpb25zPl0gPG5hbWU+IFs8cmVmPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo5Cittc2dpZCAiZ2l0IHN5bWJvbGljLXJlZiAtZCBbLXFdIDxuYW1lPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQwCittc2dpZCAic3VwcHJlc3MgZXJyb3IgbWVzc2FnZSBmb3Igbm9uLXN5bWJvbGljIChkZXRhY2hlZCkgcmVmcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQxCittc2dpZCAiZGVsZXRlIHN5bWJvbGljIHJlZiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQyCittc2dpZCAic2hvcnRlbiByZWYgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYzCittc2dpZCAicmVhc29uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDMgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzYzCittc2dpZCAicmVhc29uIG9mIHRoZSB1cGRhdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzoyNQorbXNnaWQgIiIKKyJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGtleS1pZD5dIFstZl0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+XSA8dGFnbmFtZT4gIgorIls8aGVhZD5dIgorbXNnc3RyICIiCisiZ2l0IHRhZyBbLWEgfCAtcyB8IC11IDzOsc69zrHOs869z4nPgc65z4PPhM65zrrPjCDOus67zrXOuc60zq8+XSBbLWZdIFstbSA8zrzOrs69z4XOvM6xPiB8IC1GICIKKyI8zrHPgc+HzrXOr86/Pl0gPM+Mzr3Ov868zrEgzrXPhM65zrrOrc+EzrHPgj4gWzxoZWFkPl0iCisKKyM6IGJ1aWx0aW4vdGFnLmM6MjYKK21zZ2lkICJnaXQgdGFnIC1kIDx0YWduYW1lPi4uLiIKK21zZ3N0ciAiZ2l0IHRhZyAtZCA8z4zOvc6/zrzOsSDOtc+EzrnOus6tz4TOsc+CPi4uLiIKKworIzogYnVpbHRpbi90YWcuYzoyNworbXNnaWQgIiIKKyJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1uby1jb250YWlucyA8Y29tbWl0Pl0gWy0tIgorInBvaW50cy1hdCA8b2JqZWN0Pl1cbiIKKyJcdFx0Wy0tZm9ybWF0PTxmb3JtYXQ+XSBbLS1bbm8tXW1lcmdlZCBbPGNvbW1pdD5dXSBbPHBhdHRlcm4+Li4uXSIKK21zZ3N0ciAiIgorImdpdCB0YWcgLWwgWy1uWzzOsc+BzrnOuC4+XV0gWy0tY29udGFpbnMgPM+Fz4DOv86yzr/Ou86uPl0gWy0tbm8tY29udGFpbnMgPM+Fz4DOv86yzr/Ou86uPl0gWy0tIgorInBvaW50cy1hdCA8zrHOvc+EzrnOus61zq/OvM61zr3Ovz5dXG4iCisiXHRcdFstLWZvcm1hdD08zrzOv8+Bz4bOrj5dIFstLVtuby1dbWVyZ2VkIFs8z4XPgM6/zrLOv867zq4+XV0gWzzOvM6/z4TOr86yzr8+Li4uXSIKKworIzogYnVpbHRpbi90YWcuYzoyOQorbXNnaWQgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnbmFtZT4uLi4iCittc2dzdHIgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTzOvM6/z4HPhs6uPl0gPM+Mzr3Ov868zrEgzrXPhM65zrrOrc+EzrHPgj4uLi4iCisKKyM6IGJ1aWx0aW4vdGFnLmM6ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgbm90IGZvdW5kLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICJEZWxldGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzoxMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldyaXRlIGEgbWVzc2FnZSBmb3IgdGFnOlxuIgorIiAgJXNcbiIKKyJMaW5lcyBzdGFydGluZyB3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdGFnLmM6MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXcml0ZSBhIG1lc3NhZ2UgZm9yIHRhZzpcbiIKKyIgICVzXG4iCisiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUga2VwdDsgeW91IG1heSByZW1vdmUgdGhlbSB5b3Vyc2VsZiBpZiB5b3UgIgorIndhbnQgdG8uXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzoxOTEKK21zZ2lkICJ1bmFibGUgdG8gc2lnbiB0aGUgdGFnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdGFnLmM6MTkzCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRhZyBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdGFnLmM6MjE4Cittc2dpZCAiYmFkIG9iamVjdCB0eXBlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjI2NworbXNnaWQgIm5vIHRhZyBtZXNzYWdlPyIKK21zZ3N0ciAizrTOtc69IM+Fz4DOrM+Bz4fOtc65IM68zq7Ovc+FzrzOsSDOtc+EzrnOus6tz4TOsc+COyIKKworIzogYnVpbHRpbi90YWcuYzoyNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHRhZyBtZXNzYWdlIGhhcyBiZWVuIGxlZnQgaW4gJXNcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjM4NQorbXNnaWQgImxpc3QgdGFnIG5hbWVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdGFnLmM6Mzg3Cittc2dpZCAicHJpbnQgPG4+IGxpbmVzIG9mIGVhY2ggdGFnIG1lc3NhZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzozODkKK21zZ2lkICJkZWxldGUgdGFncyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjM5MAorbXNnaWQgInZlcmlmeSB0YWdzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdGFnLmM6MzkyCittc2dpZCAiVGFnIGNyZWF0aW9uIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzozOTQKK21zZ2lkICJhbm5vdGF0ZWQgdGFnLCBuZWVkcyBhIG1lc3NhZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzozOTYKK21zZ2lkICJ0YWcgbWVzc2FnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjM5OAorbXNnaWQgImZvcmNlIGVkaXQgb2YgdGFnIG1lc3NhZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzozOTkKK21zZ2lkICJhbm5vdGF0ZWQgYW5kIEdQRy1zaWduZWQgdGFnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDAzCittc2dpZCAidXNlIGFub3RoZXIga2V5IHRvIHNpZ24gdGhlIHRhZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjQwNAorbXNnaWQgInJlcGxhY2UgdGhlIHRhZyBpZiBleGlzdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo0MDUgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY5Cittc2dpZCAiY3JlYXRlIGEgcmVmbG9nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDA3Cittc2dpZCAiVGFnIGxpc3Rpbmcgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjQwOAorbXNnaWQgInNob3cgdGFnIGxpc3QgaW4gY29sdW1ucyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjQwOSBidWlsdGluL3RhZy5jOjQxMQorbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjQxMCBidWlsdGluL3RhZy5jOjQxMgorbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjQxMworbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGFyZSBtZXJnZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo0MTQKK21zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbm90IG1lcmdlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjQxOQorbXNnaWQgInByaW50IG9ubHkgdGFncyBvZiB0aGUgb2JqZWN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDYzCittc2dpZCAiLS1jb2x1bW4gYW5kIC1uIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo0ODUKK21zZ2lkICItbiBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjQ4NworbXNnaWQgIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo0ODkKK21zZ2lkICItLW5vLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDkxCittc2dpZCAiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzo0OTMKK21zZ2lkICItLW1lcmdlZCBhbmQgLS1uby1tZXJnZWQgb3B0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjUwNAorbXNnaWQgIm9ubHkgb25lIC1GIG9yIC1tIG9wdGlvbiBpcyBhbGxvd2VkLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjUyMworbXNnaWQgInRvbyBtYW55IHBhcmFtcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRhZyBuYW1lLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBhbHJlYWR5IGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICJVcGRhdGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjUwMAorbXNnaWQgIlVucGFja2luZyBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGZpbGUgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE0IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjIwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRlc3RpbmcgbXRpbWUgaW4gJyVzJyAiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNTMKK21zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBhZGRpbmcgYSBuZXcgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE2NgorbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGFkZGluZyBhIG5ldyBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNzkKK21zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGNoYW5nZXMgYWZ0ZXIgdXBkYXRpbmcgYSBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTkwCittc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBjaGFuZ2VzIGFmdGVyIGFkZGluZyBhIGZpbGUgaW5zaWRlIHN1YmRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIwMQorbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGRlbGV0aW5nIGEgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxNAorbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGRlbGV0aW5nIGEgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjIxCittc2dpZCAiIE9LIgorbXNnc3RyICIgT0siCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NTg5Cittc2dpZCAiZ2l0IHVwZGF0ZS1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYyCittc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY1Cittc2dpZCAicmVmcmVzaDogaWdub3JlIHN1Ym1vZHVsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjgKK21zZ2lkICJkbyBub3QgaWdub3JlIG5ldyBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MAorbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTcyCittc2dpZCAibm90aWNlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NAorbXNnaWQgInJlZnJlc2ggZXZlbiBpZiBpbmRleCBjb250YWlucyB1bm1lcmdlZCBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc3Cittc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgxCittc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg1Cittc2dpZCAiPG1vZGU+LDxvYmplY3Q+LDxwYXRoPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NgorbXNnaWQgImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NQorbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJub3QgY2hhbmdpbmdcIiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5OAorbXNnaWQgImNsZWFyIGFzc3VtZWQtdW5jaGFuZ2VkIGJpdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDEKK21zZ2lkICJtYXJrIGZpbGVzIGFzIFwiaW5kZXgtb25seVwiIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNAorbXNnaWQgImNsZWFyIHNraXAtd29ya3RyZWUgYml0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNworbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwOQorbXNnaWQgInJlbW92ZSBuYW1lZCBwYXRocyBldmVuIGlmIHByZXNlbnQgaW4gd29ya3RyZWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDExCittc2dpZCAid2l0aCAtLXN0ZGluOiBpbnB1dCBsaW5lcyBhcmUgdGVybWluYXRlZCBieSBudWxsIGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxMworbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE3Cittc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDIxCittc2dpZCAicmVwb3B1bGF0ZSBzdGFnZXMgIzIgYW5kICMzIGZvciB0aGUgbGlzdGVkIHBhdGhzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyNQorbXNnaWQgIm9ubHkgdXBkYXRlIGVudHJpZXMgdGhhdCBkaWZmZXIgZnJvbSBIRUFEIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyOQorbXNnaWQgImlnbm9yZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDMyCittc2dpZCAicmVwb3J0IGFjdGlvbnMgdG8gc3RhbmRhcmQgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzNAorbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgorbXNnc3RyICIozrPOuc6xIM61zr3PhM6/zrvOrc+CIHBvcmNlbGFpbikgzr7Orc+Hzr3OsSDPhM65z4Igz4PPic+DzrzOrc69zrXPgiDOvM63IM61z4DOuc67z4XOvM6tzr3Otc+CIM+Dz4XOs866z4HOv8+Nz4POtc65z4IiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzOAorbXNnaWQgIndyaXRlIGluZGV4IGluIHRoaXMgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0MAorbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIHNwbGl0IGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0MgorbXNnaWQgImVuYWJsZS9kaXNhYmxlIHVudHJhY2tlZCBjYWNoZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDQKK21zZ2lkICJ0ZXN0IGlmIHRoZSBmaWxlc3lzdGVtIHN1cHBvcnRzIHVudHJhY2tlZCBjYWNoZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDYKK21zZ2lkICJlbmFibGUgdW50cmFja2VkIGNhY2hlIHdpdGhvdXQgdGVzdGluZyB0aGUgZmlsZXN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDgKK21zZ2lkICJ3cml0ZSBvdXQgdGhlIGluZGV4IGV2ZW4gaWYgaXMgbm90IGZsYWdnZWQgYXMgY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTAKK21zZ2lkICJlbmFibGUgb3IgZGlzYWJsZSBmaWxlIHN5c3RlbSBtb25pdG9yIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1MgorbXNnaWQgIm1hcmsgZmlsZXMgYXMgZnNtb25pdG9yIHZhbGlkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1NQorbXNnaWQgImNsZWFyIGZzbW9uaXRvciB2YWxpZCBiaXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTU2Cittc2dpZCAiIgorImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gZmFsc2U7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCisiZW5hYmxlIHNwbGl0IGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE2NQorbXNnaWQgIiIKKyJjb3JlLnNwbGl0SW5kZXggaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCisiZGlzYWJsZSBzcGxpdCBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNzYKK21zZ2lkICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKKyJ0byBkaXNhYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTgwCittc2dpZCAiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE4OAorbXNnaWQgIiIKKyJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKKyJ0byBlbmFibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW50cmFja2VkIGNhY2hlIGVuYWJsZWQgZm9yICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjAwCittc2dpZCAiY29yZS5mc21vbml0b3IgaXMgdW5zZXQ7IHNldCBpdCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZW5hYmxlIGZzbW9uaXRvciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMDQKK21zZ2lkICJmc21vbml0b3IgZW5hYmxlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMDcKK21zZ2lkICIiCisiY29yZS5mc21vbml0b3IgaXMgc2V0OyByZW1vdmUgaXQgaWYgeW91IHJlYWxseSB3YW50IHRvIGRpc2FibGUgZnNtb25pdG9yIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIxMQorbXNnaWQgImZzbW9uaXRvciBkaXNhYmxlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMAorbXNnaWQgImdpdCB1cGRhdGUtcmVmIFs8b3B0aW9ucz5dIC1kIDxyZWZuYW1lPiBbPG9sZC12YWw+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMQorbXNnaWQgImdpdCB1cGRhdGUtcmVmIFs8b3B0aW9ucz5dICAgIDxyZWZuYW1lPiA8bmV3LXZhbD4gWzxvbGQtdmFsPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTIKK21zZ2lkICJnaXQgdXBkYXRlLXJlZiBbPG9wdGlvbnM+XSAtLXN0ZGluIFstel0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY0Cittc2dpZCAiZGVsZXRlIHRoZSByZWZlcmVuY2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY2Cittc2dpZCAidXBkYXRlIDxyZWZuYW1lPiBub3QgdGhlIG9uZSBpdCBwb2ludHMgdG8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY3Cittc2dpZCAic3RkaW4gaGFzIE5VTC10ZXJtaW5hdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjgKK21zZ2lkICJyZWFkIHVwZGF0ZXMgZnJvbSBzdGRpbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjcKK21zZ2lkICJnaXQgdXBkYXRlLXNlcnZlci1pbmZvIFstLWZvcmNlXSIKK21zZ3N0ciAiZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyBbLS1mb3JjZV0iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6MTUKK21zZ2lkICJ1cGRhdGUgdGhlIGluZm8gZmlsZXMgZnJvbSBzY3JhdGNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoxMQorbXNnaWQgImdpdCB1cGxvYWQtcGFjayBbPG9wdGlvbnM+XSA8ZGlyPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwbG9hZC1wYWNrLmM6MjUKK21zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGluaXRpYWwgcmVmIGFkdmVydGlzZW1lbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi91cGxvYWQtcGFjay5jOjI3Cittc2dpZCAiZG8gbm90IHRyeSA8ZGlyZWN0b3J5Pi8uZ2l0LyBpZiA8ZGlyZWN0b3J5PiBpcyBubyBHaXQgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyOQorbXNnaWQgImludGVycnVwdCB0cmFuc2ZlciBhZnRlciA8bj4gc2Vjb25kcyBvZiBpbmFjdGl2aXR5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjIwCittc2dpZCAiZ2l0IHZlcmlmeS1jb21taXQgWy12IHwgLS12ZXJib3NlXSA8Y29tbWl0Pi4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3NgorbXNnaWQgInByaW50IGNvbW1pdCBjb250ZW50cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3NyBidWlsdGluL3ZlcmlmeS10YWcuYzozOAorbXNnaWQgInByaW50IHJhdyBncGcgc3RhdHVzIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NTUKK21zZ2lkICJnaXQgdmVyaWZ5LXBhY2sgWy12IHwgLS12ZXJib3NlXSBbLXMgfCAtLXN0YXQtb25seV0gPHBhY2s+Li4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo2NQorbXNnaWQgInZlcmJvc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY3Cittc2dpZCAic2hvdyBzdGF0aXN0aWNzIG9ubHkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MTkKK21zZ2lkICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIFstLWZvcm1hdD08Zm9ybWF0Pl0gPHRhZz4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzcKK21zZ2lkICJwcmludCB0YWcgY29udGVudHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjE4Cittc2dpZCAiZ2l0IHdvcmt0cmVlIGFkZCBbPG9wdGlvbnM+XSA8cGF0aD4gWzxjb21taXQtaXNoPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjE5Cittc2dpZCAiZ2l0IHdvcmt0cmVlIGxpc3QgWzxvcHRpb25zPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwCittc2dpZCAiZ2l0IHdvcmt0cmVlIGxvY2sgWzxvcHRpb25zPl0gPHBhdGg+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMQorbXNnaWQgImdpdCB3b3JrdHJlZSBtb3ZlIDx3b3JrdHJlZT4gPG5ldy1wYXRoPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjIKK21zZ2lkICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxvcHRpb25zPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjIzCittc2dpZCAiZ2l0IHdvcmt0cmVlIHJlbW92ZSBbPG9wdGlvbnM+XSA8d29ya3RyZWU+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNAorbXNnaWQgImdpdCB3b3JrdHJlZSB1bmxvY2sgPHBhdGg+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2MSBidWlsdGluL3dvcmt0cmVlLmM6ODg4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZWxldGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBub3QgYSB2YWxpZCBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogZ2l0ZGlyIGZpbGUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjkxIGJ1aWx0aW4vd29ya3RyZWUuYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiB1bmFibGUgdG8gcmVhZCBnaXRkaXIgZmlsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlJlbW92aW5nIHdvcmt0cmVlcy8lczogc2hvcnQgcmVhZCAoZXhwZWN0ZWQgJTxQUkl1TUFYPiBieXRlcywgcmVhZCAiCisiJTxQUkl1TUFYPikiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGludmFsaWQgZ2l0ZGlyIGZpbGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIHBvaW50cyB0byBub24tZXhpc3RlbnQgbG9jYXRpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjE2NgorbXNnaWQgInJlcG9ydCBwcnVuZWQgd29ya2luZyB0cmVlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTY4Cittc2dpZCAiZXhwaXJlIHdvcmtpbmcgdHJlZXMgb2xkZXIgdGhhbiA8dGltZT4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGFscmVhZHkgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlLWFkZCB3b3JrdHJlZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiclcycgaXMgYSBtaXNzaW5nIGJ1dCBsb2NrZWQgd29ya3RyZWU7XG4iCisidXNlICdhZGQgLWYgLWYnIHRvIG92ZXJyaWRlLCBvciAndW5sb2NrJyBhbmQgJ3BydW5lJyBvciAncmVtb3ZlJyB0byBjbGVhciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyInJXMnIGlzIGEgbWlzc2luZyBidXQgYWxyZWFkeSByZWdpc3RlcmVkIHdvcmt0cmVlO1xuIgorInVzZSAnYWRkIC1mJyB0byBvdmVycmlkZSwgb3IgJ3BydW5lJyBvciAncmVtb3ZlJyB0byBjbGVhciIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IG9mICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQyOSBidWlsdGluL3dvcmt0cmVlLmM6NDM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXBhcmluZyB3b3JrdHJlZSAobmV3IGJyYW5jaCAnJXMnKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXBhcmluZyB3b3JrdHJlZSAocmVzZXR0aW5nIGJyYW5jaCAnJXMnOyB3YXMgYXQgJXMpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChjaGVja2luZyBvdXQgJyVzJykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKGRldGFjaGVkIEhFQUQgJXMpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODcKK21zZ2lkICJjaGVja291dCA8YnJhbmNoPiBldmVuIGlmIGFscmVhZHkgY2hlY2tlZCBvdXQgaW4gb3RoZXIgd29ya3RyZWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MAorbXNnaWQgImNyZWF0ZSBhIG5ldyBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MgorbXNnaWQgImNyZWF0ZSBvciByZXNldCBhIGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDk0Cittc2dpZCAicG9wdWxhdGUgdGhlIG5ldyB3b3JraW5nIHRyZWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5NQorbXNnaWQgImtlZXAgdGhlIG5ldyB3b3JraW5nIHRyZWUgbG9ja2VkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTgKK21zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1icmFuY2goMSkpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDEKK21zZ2lkICJ0cnkgdG8gbWF0Y2ggdGhlIG5ldyBicmFuY2ggbmFtZSB3aXRoIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA5Cittc2dpZCAiLWIsIC1CLCBhbmQgLS1kZXRhY2ggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTcwCittc2dpZCAiLS1bbm8tXXRyYWNrIGNhbiBvbmx5IGJlIHVzZWQgaWYgYSBuZXcgYnJhbmNoIGlzIGNyZWF0ZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjY3MAorbXNnaWQgInJlYXNvbiBmb3IgbG9ja2luZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NjgyIGJ1aWx0aW4vd29ya3RyZWUuYzo3MTUgYnVpbHRpbi93b3JrdHJlZS5jOjc4OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjkxNgorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6Njg0IGJ1aWx0aW4vd29ya3RyZWUuYzo3MTcKK21zZ2lkICJUaGUgbWFpbiB3b3JraW5nIHRyZWUgY2Fubm90IGJlIGxvY2tlZCBvciB1bmxvY2tlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6Njg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQsIHJlYXNvbjogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5MQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgbG9ja2VkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3NjAKK21zZ2lkICJ3b3JraW5nIHRyZWVzIGNvbnRhaW5pbmcgc3VibW9kdWxlcyBjYW5ub3QgYmUgbW92ZWQgb3IgcmVtb3ZlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NzY4Cittc2dpZCAiZm9yY2UgbW92ZSBldmVuIGlmIHdvcmt0cmVlIGlzIGRpcnR5IG9yIGxvY2tlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NzkxIGJ1aWx0aW4vd29ya3RyZWUuYzo5MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBhIG1haW4gd29ya2luZyB0cmVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGZpZ3VyZSBvdXQgZGVzdGluYXRpb24gbmFtZSBmcm9tICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwMgorIywgYy1mb3JtYXQKK21zZ2lkICJ0YXJnZXQgJyVzJyBhbHJlYWR5IGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjYW5ub3QgbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWUsIGxvY2sgcmVhc29uOiAlc1xuIgorInVzZSAnbW92ZSAtZiAtZicgdG8gb3ZlcnJpZGUgb3IgdW5sb2NrIGZpcnN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MTIKK21zZ2lkICIiCisiY2Fubm90IG1vdmUgYSBsb2NrZWQgd29ya2luZyB0cmVlO1xuIgorInVzZSAnbW92ZSAtZiAtZicgdG8gb3ZlcnJpZGUgb3IgdW5sb2NrIGZpcnN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidmFsaWRhdGlvbiBmYWlsZWQsIGNhbm5vdCBtb3ZlIHdvcmtpbmcgdHJlZTogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjgyMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW92ZSAnJXMnIHRvICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcnVuICdnaXQgc3RhdHVzJyBvbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBkaXJ0eSwgdXNlIC0tZm9yY2UgdG8gZGVsZXRlIGl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJ1biAnZ2l0IHN0YXR1cycgb24gJyVzJywgY29kZSAlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTAwCittc2dpZCAiZm9yY2UgcmVtb3ZhbCBldmVuIGlmIHdvcmt0cmVlIGlzIGRpcnR5IG9yIGxvY2tlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjYW5ub3QgcmVtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZSwgbG9jayByZWFzb246ICVzXG4iCisidXNlICdyZW1vdmUgLWYgLWYnIHRvIG92ZXJyaWRlIG9yIHVubG9jayBmaXJzdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTI1Cittc2dpZCAiIgorImNhbm5vdCByZW1vdmUgYSBsb2NrZWQgd29ya2luZyB0cmVlO1xuIgorInVzZSAncmVtb3ZlIC1mIC1mJyB0byBvdmVycmlkZSBvciB1bmxvY2sgZmlyc3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjkyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ2YWxpZGF0aW9uIGZhaWxlZCwgY2Fubm90IHJlbW92ZSB3b3JraW5nIHRyZWU6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjE1Cittc2dpZCAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTxwcmVmaXg+L10iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjgKK21zZ2lkICI8cHJlZml4Pi8iCittc2dzdHIgIjzPgM+Bz4zOuM61zrzOsT4vIgorCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOQorbXNnaWQgIndyaXRlIHRyZWUgb2JqZWN0IGZvciBhIHN1YmRpcmVjdG9yeSA8cHJlZml4PiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMQorbXNnaWQgIm9ubHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmciCittc2dzdHIgIiIKKworIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgcGVybWlzc2lvbnMgb24geW91ciBzb2NrZXQgZGlyZWN0b3J5IGFyZSB0b28gbG9vc2U7IG90aGVyXG4iCisidXNlcnMgbWF5IGJlIGFibGUgdG8gcmVhZCB5b3VyIGNhY2hlZCBjcmVkZW50aWFscy4gQ29uc2lkZXIgcnVubmluZzpcbiIKKyJcbiIKKyJcdGNobW9kIDA3MDAgJXMiCittc2dzdHIgIiIKKworIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcyCittc2dpZCAicHJpbnQgZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHN0ZGVyciIKK21zZ3N0ciAiIgorCisjOiB0L2hlbHBlci90ZXN0LXJlYWNoLmM6MTUyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdCAlcyBpcyBub3QgbWFya2VkIHJlYWNoYWJsZSIKK21zZ3N0ciAizrcgz4XPgM6/zrLOv867zq4gJXMgzrTOtc69IM61zq/Ovc6xzrkgz4POt868zrXOuc+JzrzOrc69zrcgz4nPgiDPgM+Bzr/Pg86yzqzPg865zrzOtyIKKworIzogdC9oZWxwZXIvdGVzdC1yZWFjaC5jOjE2MgorbXNnaWQgInRvbyBtYW55IGNvbW1pdHMgbWFya2VkIHJlYWNoYWJsZSIKK21zZ3N0ciAiIgorCisjOiBnaXQuYzoyNworbXNnaWQgIiIKKyJnaXQgWy0tdmVyc2lvbl0gWy0taGVscF0gWy1DIDxwYXRoPl0gWy1jIDxuYW1lPj08dmFsdWU+XVxuIgorIiAgICAgICAgICAgWy0tZXhlYy1wYXRoWz08cGF0aD5dXSBbLS1odG1sLXBhdGhdIFstLW1hbi1wYXRoXSBbLS1pbmZvLXBhdGhdXG4iCisiICAgICAgICAgICBbLXAgfCAtLXBhZ2luYXRlIHwgLVAgfCAtLW5vLXBhZ2VyXSBbLS1uby1yZXBsYWNlLW9iamVjdHNdIFstLSIKKyJiYXJlXVxuIgorIiAgICAgICAgICAgWy0tZ2l0LWRpcj08cGF0aD5dIFstLXdvcmstdHJlZT08cGF0aD5dIFstLW5hbWVzcGFjZT08bmFtZT5dXG4iCisiICAgICAgICAgICA8Y29tbWFuZD4gWzxhcmdzPl0iCittc2dzdHIgIiIKKyJnaXQgWy0tdmVyc2lvbl0gWy0taGVscF0gWy1DIDzOtM65zrHOtM+Bzr/OvM6uPl0gWy1jIDzPjM69zr/OvM6xPj08z4TOuc68zq4+XVxuIgorIiAgICAgICAgICAgWy0tZXhlYy1wYXRoWz08zrTOuc6xzrTPgc6/zrzOrj5dXSBbLS1odG1sLXBhdGhdIFstLW1hbi1wYXRoXSBbLS1pbmZvLSIKKyJwYXRoXVxuIgorIiAgICAgICAgICAgWy1wIHwgLS1wYWdpbmF0ZSB8IC1QIHwgLS1uby1wYWdlcl0gWy0tbm8tcmVwbGFjZS1vYmplY3RzXSBbLS0iCisiYmFyZV1cbiIKKyIgICAgICAgICAgIFstLWdpdC1kaXI9PM60zrnOsc60z4HOv868zq4+XSBbLS13b3JrLXRyZWU9PM60zrnOsc60z4HOv868zq4+XSBbLS0iCisibmFtZXNwYWNlPTzPjM69zr/OvM6xPl1cbiIKKyIgICAgICAgICAgIDzOtc69z4TOv867zq4+IFs8zr/Pgc6vz4POvM6xz4TOsT5dIgorCisjOiBnaXQuYzozNAorbXNnaWQgIiIKKyInZ2l0IGhlbHAgLWEnIGFuZCAnZ2l0IGhlbHAgLWcnIGxpc3QgYXZhaWxhYmxlIHN1YmNvbW1hbmRzIGFuZCBzb21lXG4iCisiY29uY2VwdCBndWlkZXMuIFNlZSAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyBvciAnZ2l0IGhlbHAgPGNvbmNlcHQ+J1xuIgorInRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIG9yIGNvbmNlcHQuIgorbXNnc3RyICIiCisKKyM6IGdpdC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBkaXJlY3RvcnkgZ2l2ZW4gZm9yIC0tZ2l0LWRpclxuIgorbXNnc3RyICIiCisKKyM6IGdpdC5jOjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBuYW1lc3BhY2UgZ2l2ZW4gZm9yIC0tbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogZ2l0LmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLS13b3JrLXRyZWVcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gcHJlZml4IGdpdmVuIGZvciAtLXN1cGVyLXByZWZpeFxuIgorbXNnc3RyICIiCisKKyM6IGdpdC5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICItYyBleHBlY3RzIGEgY29uZmlndXJhdGlvbiBzdHJpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQuYzoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gZGlyZWN0b3J5IGdpdmVuIGZvciAtQ1xuIgorbXNnc3RyICIiCisKKyM6IGdpdC5jOjMwMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbjogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2hpbGUgZXhwYW5kaW5nIGFsaWFzICclcyc6ICclcyciCittc2dzdHIgIiIKKworIzogZ2l0LmM6MzUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJhbGlhcyAnJXMnIGNoYW5nZXMgZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuIgorIllvdSBjYW4gdXNlICchZ2l0JyBpbiB0aGUgYWxpYXMgdG8gZG8gdGhpcyIKK21zZ3N0ciAiIgorCisjOiBnaXQuYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1wdHkgYWxpYXMgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IGdpdC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWN1cnNpdmUgYWxpYXM6ICVzIgorbXNnc3RyICIiCisKKyM6IGdpdC5jOjQzNworbXNnaWQgIndyaXRlIGZhaWx1cmUgb24gc3RhbmRhcmQgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGdpdC5jOjQzOQorbXNnaWQgInVua25vd24gd3JpdGUgZmFpbHVyZSBvbiBzdGFuZGFyZCBvdXRwdXQiCittc2dzdHIgIiIKKworIzogZ2l0LmM6NDQxCittc2dpZCAiY2xvc2UgZmFpbGVkIG9uIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBnaXQuYzo3MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxpYXMgbG9vcCBkZXRlY3RlZDogZXhwYW5zaW9uIG9mICclcycgZG9lcyBub3QgdGVybWluYXRlOiVzIgorbXNnc3RyICIiCisKKyM6IGdpdC5jOjc3MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgaGFuZGxlICVzIGFzIGEgYnVpbHRpbiIKK21zZ3N0ciAiIgorCisjOiBnaXQuYzo3ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisiz4fPgc6uz4POtzogJXNcbiIKKyJcbiIKKworIzogZ2l0LmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgImV4cGFuc2lvbiBvZiBhbGlhcyAnJXMnIGZhaWxlZDsgJyVzJyBpcyBub3QgYSBnaXQgY29tbWFuZFxuIgorbXNnc3RyICIiCisKKyM6IGdpdC5jOjgxNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcnVuIGNvbW1hbmQgJyVzJzogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBodHRwLmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5lZ2F0aXZlIHZhbHVlIGZvciBodHRwLnBvc3RidWZmZXI7IGRlZmF1bHRpbmcgdG8gJWQiCittc2dzdHIgIiIKKworIzogaHR0cC5jOjM5OQorbXNnaWQgIkRlbGVnYXRpb24gY29udHJvbCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuMjIuMCIKK21zZ3N0ciAiIgorCisjOiBodHRwLmM6NDA4Cittc2dpZCAiUHVibGljIGtleSBwaW5uaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgorbXNnc3RyICIiCisKKyM6IGh0dHAuYzo4NzYKK21zZ2lkICJDVVJMU1NMT1BUX05PX1JFVk9LRSBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuNDQuMCIKK21zZ3N0ciAiIgorCisjOiBodHRwLmM6OTQ5Cittc2dpZCAiUHJvdG9jb2wgcmVzdHJpY3Rpb25zIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy4xOS40IgorbXNnc3RyICIiCisKKyM6IGh0dHAuYzoxMDg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuc3VwcG9ydGVkIFNTTCBiYWNrZW5kICclcycuIFN1cHBvcnRlZCBTU0wgYmFja2VuZHM6IgorbXNnc3RyICIiCisKKyM6IGh0dHAuYzoxMDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBzZXQgU1NMIGJhY2tlbmQgdG8gJyVzJzogY1VSTCB3YXMgYnVpbHQgd2l0aG91dCBTU0wgYmFja2VuZHMiCittc2dzdHIgIiIKKworIzogaHR0cC5jOjEwOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHNldCBTU0wgYmFja2VuZCB0byAnJXMnOiBhbHJlYWR5IHNldCIKK21zZ3N0ciAiIgorCisjOiBodHRwLmM6MTk1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidW5hYmxlIHRvIHVwZGF0ZSB1cmwgYmFzZSBmcm9tIHJlZGlyZWN0aW9uOlxuIgorIiAgYXNrZWQgZm9yOiAlc1xuIgorIiAgIHJlZGlyZWN0OiAlcyIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUtY3VybC5jOjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWRpcmVjdGluZyB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBwYXJzZS1vcHRpb25zLmg6MTU0Cittc2dpZCAiZXhwaXJ5LWRhdGUiCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy5oOjE2OQorbXNnaWQgIm5vLW9wIChiYWNrd2FyZCBjb21wYXRpYmlsaXR5KSIKK21zZ3N0ciAiIgorCisjOiBwYXJzZS1vcHRpb25zLmg6MjU5Cittc2dpZCAiYmUgbW9yZSB2ZXJib3NlIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuaDoyNjEKK21zZ2lkICJiZSBtb3JlIHF1aWV0IgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuaDoyNjcKK21zZ2lkICJ1c2UgPG4+IGRpZ2l0cyB0byBkaXNwbGF5IFNIQS0xcyIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo1MAorbXNnaWQgIkFkZCBmaWxlIGNvbnRlbnRzIHRvIHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo1MQorbXNnaWQgIkFwcGx5IGEgc2VyaWVzIG9mIHBhdGNoZXMgZnJvbSBhIG1haWxib3giCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6NTIKK21zZ2lkICJBbm5vdGF0ZSBmaWxlIGxpbmVzIHdpdGggY29tbWl0IGluZm9ybWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjUzCittc2dpZCAiQXBwbHkgYSBwYXRjaCB0byBmaWxlcyBhbmQvb3IgdG8gdGhlIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjU0Cittc2dpZCAiSW1wb3J0IGEgR05VIEFyY2ggcmVwb3NpdG9yeSBpbnRvIEdpdCIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo1NQorbXNnaWQgIkNyZWF0ZSBhbiBhcmNoaXZlIG9mIGZpbGVzIGZyb20gYSBuYW1lZCB0cmVlIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjU2Cittc2dpZCAiVXNlIGJpbmFyeSBzZWFyY2ggdG8gZmluZCB0aGUgY29tbWl0IHRoYXQgaW50cm9kdWNlZCBhIGJ1ZyIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo1NworbXNnaWQgIlNob3cgd2hhdCByZXZpc2lvbiBhbmQgYXV0aG9yIGxhc3QgbW9kaWZpZWQgZWFjaCBsaW5lIG9mIGEgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo1OAorbXNnaWQgIkxpc3QsIGNyZWF0ZSwgb3IgZGVsZXRlIGJyYW5jaGVzIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjU5Cittc2dpZCAiTW92ZSBvYmplY3RzIGFuZCByZWZzIGJ5IGFyY2hpdmUiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6NjAKK21zZ2lkICJQcm92aWRlIGNvbnRlbnQgb3IgdHlwZSBhbmQgc2l6ZSBpbmZvcm1hdGlvbiBmb3IgcmVwb3NpdG9yeSBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjYxCittc2dpZCAiRGlzcGxheSBnaXRhdHRyaWJ1dGVzIGluZm9ybWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjYyCittc2dpZCAiRGVidWcgZ2l0aWdub3JlIC8gZXhjbHVkZSBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo2MworbXNnaWQgIlNob3cgY2Fub25pY2FsIG5hbWVzIGFuZCBlbWFpbCBhZGRyZXNzZXMgb2YgY29udGFjdHMiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6NjQKK21zZ2lkICJTd2l0Y2ggYnJhbmNoZXMgb3IgcmVzdG9yZSB3b3JraW5nIHRyZWUgZmlsZXMiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6NjUKK21zZ2lkICJDb3B5IGZpbGVzIGZyb20gdGhlIGluZGV4IHRvIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6NjYKK21zZ2lkICJFbnN1cmVzIHRoYXQgYSByZWZlcmVuY2UgbmFtZSBpcyB3ZWxsIGZvcm1lZCIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo2NworbXNnaWQgIkZpbmQgY29tbWl0cyB5ZXQgdG8gYmUgYXBwbGllZCB0byB1cHN0cmVhbSIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo2OAorbXNnaWQgIkFwcGx5IHRoZSBjaGFuZ2VzIGludHJvZHVjZWQgYnkgc29tZSBleGlzdGluZyBjb21taXRzIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjY5Cittc2dpZCAiR3JhcGhpY2FsIGFsdGVybmF0aXZlIHRvIGdpdC1jb21taXQiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6NzAKK21zZ2lkICJSZW1vdmUgdW50cmFja2VkIGZpbGVzIGZyb20gdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo3MQorbXNnaWQgIkNsb25lIGEgcmVwb3NpdG9yeSBpbnRvIGEgbmV3IGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo3MgorbXNnaWQgIkRpc3BsYXkgZGF0YSBpbiBjb2x1bW5zIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjczCittc2dpZCAiUmVjb3JkIGNoYW5nZXMgdG8gdGhlIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6NzQKK21zZ2lkICJXcml0ZSBhbmQgdmVyaWZ5IEdpdCBjb21taXQtZ3JhcGggZmlsZXMiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6NzUKK21zZ2lkICJDcmVhdGUgYSBuZXcgY29tbWl0IG9iamVjdCIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo3NgorbXNnaWQgIkdldCBhbmQgc2V0IHJlcG9zaXRvcnkgb3IgZ2xvYmFsIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6NzcKK21zZ2lkICJDb3VudCB1bnBhY2tlZCBudW1iZXIgb2Ygb2JqZWN0cyBhbmQgdGhlaXIgZGlzayBjb25zdW1wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo3OAorbXNnaWQgIlJldHJpZXZlIGFuZCBzdG9yZSB1c2VyIGNyZWRlbnRpYWxzIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjc5Cittc2dpZCAiSGVscGVyIHRvIHRlbXBvcmFyaWx5IHN0b3JlIHBhc3N3b3JkcyBpbiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6ODAKK21zZ2lkICJIZWxwZXIgdG8gc3RvcmUgY3JlZGVudGlhbHMgb24gZGlzayIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo4MQorbXNnaWQgIkV4cG9ydCBhIHNpbmdsZSBjb21taXQgdG8gYSBDVlMgY2hlY2tvdXQiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6ODIKK21zZ2lkICJTYWx2YWdlIHlvdXIgZGF0YSBvdXQgb2YgYW5vdGhlciBTQ00gcGVvcGxlIGxvdmUgdG8gaGF0ZSIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo4MworbXNnaWQgIkEgQ1ZTIHNlcnZlciBlbXVsYXRvciBmb3IgR2l0IgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjg0Cittc2dpZCAiQSByZWFsbHkgc2ltcGxlIHNlcnZlciBmb3IgR2l0IHJlcG9zaXRvcmllcyIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo4NQorbXNnaWQgIkdpdmUgYW4gb2JqZWN0IGEgaHVtYW4gcmVhZGFibGUgbmFtZSBiYXNlZCBvbiBhbiBhdmFpbGFibGUgcmVmIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjg2Cittc2dpZCAiU2hvdyBjaGFuZ2VzIGJldHdlZW4gY29tbWl0cywgY29tbWl0IGFuZCB3b3JraW5nIHRyZWUsIGV0YyIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo4NworbXNnaWQgIkNvbXBhcmVzIGZpbGVzIGluIHRoZSB3b3JraW5nIHRyZWUgYW5kIHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo4OAorbXNnaWQgIkNvbXBhcmUgYSB0cmVlIHRvIHRoZSB3b3JraW5nIHRyZWUgb3IgaW5kZXgiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6ODkKK21zZ2lkICJDb21wYXJlcyB0aGUgY29udGVudCBhbmQgbW9kZSBvZiBibG9icyBmb3VuZCB2aWEgdHdvIHRyZWUgb2JqZWN0cyIKK21zZ3N0ciAiIgorIs6jz4XOs866z4HOr869zrXOuSDPhM6/IM+AzrXPgc65zrXPh8+MzrzOtc69zr8gzrrOsc65IM+EzrcgzrvOtc65z4TOv8+Fz4HOs86vzrEgz4TPic69IGJsb2Igz4DOv8+FIM6yz4HOrc64zrfOus6xzr0gzrzOrc+Dz4kgzrTPjc6/ICIKKyLOsc69z4TOuc66zrXOuc68zq3Ovc+Jzr0gzrTOrc69z4TPgc+Jzr0iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjkwCittc2dpZCAiU2hvdyBjaGFuZ2VzIHVzaW5nIGNvbW1vbiBkaWZmIHRvb2xzIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjkxCittc2dpZCAiR2l0IGRhdGEgZXhwb3J0ZXIiCittc2dzdHIgIs6Vzr7Osc6zz4nOs86tzrHPgiDOtM61zrTOv868zq3Ovc+Jzr0gR2l0IgorCisjOiBjb21tYW5kLWxpc3QuaDo5MgorbXNnaWQgIkJhY2tlbmQgZm9yIGZhc3QgR2l0IGRhdGEgaW1wb3J0ZXJzIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjkzCittc2dpZCAiRG93bmxvYWQgb2JqZWN0cyBhbmQgcmVmcyBmcm9tIGFub3RoZXIgcmVwb3NpdG9yeSIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo5NAorbXNnaWQgIlJlY2VpdmUgbWlzc2luZyBvYmplY3RzIGZyb20gYW5vdGhlciByZXBvc2l0b3J5IgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjk1Cittc2dpZCAiUmV3cml0ZSBicmFuY2hlcyIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo5NgorbXNnaWQgIlByb2R1Y2UgYSBtZXJnZSBjb21taXQgbWVzc2FnZSIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo5NworbXNnaWQgIk91dHB1dCBpbmZvcm1hdGlvbiBvbiBlYWNoIHJlZiIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDo5OAorbXNnaWQgIlByZXBhcmUgcGF0Y2hlcyBmb3IgZS1tYWlsIHN1Ym1pc3Npb24iCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6OTkKK21zZ2lkICJWZXJpZmllcyB0aGUgY29ubmVjdGl2aXR5IGFuZCB2YWxpZGl0eSBvZiB0aGUgb2JqZWN0cyBpbiB0aGUgZGF0YWJhc2UiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTAwCittc2dpZCAiQ2xlYW51cCB1bm5lY2Vzc2FyeSBmaWxlcyBhbmQgb3B0aW1pemUgdGhlIGxvY2FsIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTAxCittc2dpZCAiRXh0cmFjdCBjb21taXQgSUQgZnJvbSBhbiBhcmNoaXZlIGNyZWF0ZWQgdXNpbmcgZ2l0LWFyY2hpdmUiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTAyCittc2dpZCAiUHJpbnQgbGluZXMgbWF0Y2hpbmcgYSBwYXR0ZXJuIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEwMworbXNnaWQgIkEgcG9ydGFibGUgZ3JhcGhpY2FsIGludGVyZmFjZSB0byBHaXQiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTA0Cittc2dpZCAiQ29tcHV0ZSBvYmplY3QgSUQgYW5kIG9wdGlvbmFsbHkgY3JlYXRlcyBhIGJsb2IgZnJvbSBhIGZpbGUiCittc2dzdHIgIiIKKyLOpc+Azr/Ou86/zrPOuc+DzrzPjM+CIM6xzr3Osc6zzr3Pic+BzrnPg8+EzrnOus6/z40gzrHOvc+EzrnOus61zrnOvM6tzr3Ov8+FIM66zrHOuSDPgM+Bzr/Osc65z4HOtc+EzrnOus6sIM60zrfOvM65zr/Phc+BzrPOr86xIGJsb2IgzrHPgM+MICIKKyLOrc69zrEgzrHPgc+HzrXOr86/IgorCisjOiBjb21tYW5kLWxpc3QuaDoxMDUKK21zZ2lkICJEaXNwbGF5IGhlbHAgaW5mb3JtYXRpb24gYWJvdXQgR2l0IgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEwNgorbXNnaWQgIlNlcnZlciBzaWRlIGltcGxlbWVudGF0aW9uIG9mIEdpdCBvdmVyIEhUVFAiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTA3Cittc2dpZCAiRG93bmxvYWQgZnJvbSBhIHJlbW90ZSBHaXQgcmVwb3NpdG9yeSB2aWEgSFRUUCIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMDgKK21zZ2lkICJQdXNoIG9iamVjdHMgb3ZlciBIVFRQL0RBViB0byBhbm90aGVyIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTA5Cittc2dpZCAiU2VuZCBhIGNvbGxlY3Rpb24gb2YgcGF0Y2hlcyBmcm9tIHN0ZGluIHRvIGFuIElNQVAgZm9sZGVyIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjExMAorbXNnaWQgIkJ1aWxkIHBhY2sgaW5kZXggZmlsZSBmb3IgYW4gZXhpc3RpbmcgcGFja2VkIGFyY2hpdmUiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTExCittc2dpZCAiQ3JlYXRlIGFuIGVtcHR5IEdpdCByZXBvc2l0b3J5IG9yIHJlaW5pdGlhbGl6ZSBhbiBleGlzdGluZyBvbmUiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTEyCittc2dpZCAiSW5zdGFudGx5IGJyb3dzZSB5b3VyIHdvcmtpbmcgcmVwb3NpdG9yeSBpbiBnaXR3ZWIiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTEzCittc2dpZCAiYWRkIG9yIHBhcnNlIHN0cnVjdHVyZWQgaW5mb3JtYXRpb24gaW4gY29tbWl0IG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjExNAorbXNnaWQgIlRoZSBHaXQgcmVwb3NpdG9yeSBicm93c2VyIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjExNQorbXNnaWQgIlNob3cgY29tbWl0IGxvZ3MiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTE2Cittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBhYm91dCBmaWxlcyBpbiB0aGUgaW5kZXggYW5kIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTE3Cittc2dpZCAiTGlzdCByZWZlcmVuY2VzIGluIGEgcmVtb3RlIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTE4Cittc2dpZCAiTGlzdCB0aGUgY29udGVudHMgb2YgYSB0cmVlIG9iamVjdCIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMTkKK21zZ2lkICJFeHRyYWN0cyBwYXRjaCBhbmQgYXV0aG9yc2hpcCBmcm9tIGEgc2luZ2xlIGUtbWFpbCBtZXNzYWdlIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEyMAorbXNnaWQgIlNpbXBsZSBVTklYIG1ib3ggc3BsaXR0ZXIgcHJvZ3JhbSIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMjEKK21zZ2lkICJKb2luIHR3byBvciBtb3JlIGRldmVsb3BtZW50IGhpc3RvcmllcyB0b2dldGhlciIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMjIKK21zZ2lkICJGaW5kIGFzIGdvb2QgY29tbW9uIGFuY2VzdG9ycyBhcyBwb3NzaWJsZSBmb3IgYSBtZXJnZSIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMjMKK21zZ2lkICJSdW4gYSB0aHJlZS13YXkgZmlsZSBtZXJnZSIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMjQKK21zZ2lkICJSdW4gYSBtZXJnZSBmb3IgZmlsZXMgbmVlZGluZyBtZXJnaW5nIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEyNQorbXNnaWQgIlRoZSBzdGFuZGFyZCBoZWxwZXIgcHJvZ3JhbSB0byB1c2Ugd2l0aCBnaXQtbWVyZ2UtaW5kZXgiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTI2Cittc2dpZCAiUnVuIG1lcmdlIGNvbmZsaWN0IHJlc29sdXRpb24gdG9vbHMgdG8gcmVzb2x2ZSBtZXJnZSBjb25mbGljdHMiCittc2dzdHIgIiIKKyLOpM+Bzq3Ovs+EzrUgzrXPgc6zzrHOu861zq/OsSDOtc+Azq/Ou8+Fz4POt8+CIM+Dz4XOs866z4HOv8+Nz4POtc+Jzr0gz4PPhc6zz4fPjs69zrXPhc+DzrfPgiDOs865zrEgzr3OsSDOtc+AzrnOu8+Nz4POtc+EzrUgz4TOuc+CICIKKyLPg8+FzrPOus+Bzr/Pjc+DzrXOuc+CIM+Dz4XOs8+Hz47Ovc61z4XPg863z4IiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEyNworbXNnaWQgIlNob3cgdGhyZWUtd2F5IG1lcmdlIHdpdGhvdXQgdG91Y2hpbmcgaW5kZXgiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTI4Cittc2dpZCAiV3JpdGUgYW5kIHZlcmlmeSBtdWx0aS1wYWNrLWluZGV4ZXMiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTI5Cittc2dpZCAiQ3JlYXRlcyBhIHRhZyBvYmplY3QiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTMwCittc2dpZCAiQnVpbGQgYSB0cmVlLW9iamVjdCBmcm9tIGxzLXRyZWUgZm9ybWF0dGVkIHRleHQiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTMxCittc2dpZCAiTW92ZSBvciByZW5hbWUgYSBmaWxlLCBhIGRpcmVjdG9yeSwgb3IgYSBzeW1saW5rIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEzMgorbXNnaWQgIkZpbmQgc3ltYm9saWMgbmFtZXMgZm9yIGdpdmVuIHJldnMiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTMzCittc2dpZCAiQWRkIG9yIGluc3BlY3Qgb2JqZWN0IG5vdGVzIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEzNAorbXNnaWQgIkltcG9ydCBmcm9tIGFuZCBzdWJtaXQgdG8gUGVyZm9yY2UgcmVwb3NpdG9yaWVzIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEzNQorbXNnaWQgIkNyZWF0ZSBhIHBhY2tlZCBhcmNoaXZlIG9mIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTM2Cittc2dpZCAiRmluZCByZWR1bmRhbnQgcGFjayBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMzcKK21zZ2lkICJQYWNrIGhlYWRzIGFuZCB0YWdzIGZvciBlZmZpY2llbnQgcmVwb3NpdG9yeSBhY2Nlc3MiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTM4Cittc2dpZCAiUm91dGluZXMgdG8gaGVscCBwYXJzaW5nIHJlbW90ZSByZXBvc2l0b3J5IGFjY2VzcyBwYXJhbWV0ZXJzIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEzOQorbXNnaWQgIkNvbXB1dGUgdW5pcXVlIElEIGZvciBhIHBhdGNoIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE0MAorbXNnaWQgIlBydW5lIGFsbCB1bnJlYWNoYWJsZSBvYmplY3RzIGZyb20gdGhlIG9iamVjdCBkYXRhYmFzZSIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNDEKK21zZ2lkICJSZW1vdmUgZXh0cmEgb2JqZWN0cyB0aGF0IGFyZSBhbHJlYWR5IGluIHBhY2sgZmlsZXMiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTQyCittc2dpZCAiRmV0Y2ggZnJvbSBhbmQgaW50ZWdyYXRlIHdpdGggYW5vdGhlciByZXBvc2l0b3J5IG9yIGEgbG9jYWwgYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE0MworbXNnaWQgIlVwZGF0ZSByZW1vdGUgcmVmcyBhbG9uZyB3aXRoIGFzc29jaWF0ZWQgb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNDQKK21zZ2lkICJBcHBsaWVzIGEgcXVpbHQgcGF0Y2hzZXQgb250byB0aGUgY3VycmVudCBicmFuY2giCittc2dzdHIgIs6azqzOvc61zrkgzrXPhs6xz4HOvM6/zrPOriDOtc69z4zPgiDPgM6xzrrOrc+Ezr/PhSDOtM65zr/Pgc64z47Pg861z4nOvSDPgM6szr3PiSDPg8+Ezr/OvSDPhM+Bzq3Ph86/zr3PhM6xIM66zrvOrM60zr8iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE0NQorbXNnaWQgIkNvbXBhcmUgdHdvIGNvbW1pdCByYW5nZXMgKGUuZy4gdHdvIHZlcnNpb25zIG9mIGEgYnJhbmNoKSIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNDYKK21zZ2lkICJSZWFkcyB0cmVlIGluZm9ybWF0aW9uIGludG8gdGhlIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE0NworbXNnaWQgIlJlYXBwbHkgY29tbWl0cyBvbiB0b3Agb2YgYW5vdGhlciBiYXNlIHRpcCIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNDgKK21zZ2lkICJSZWNlaXZlIHdoYXQgaXMgcHVzaGVkIGludG8gdGhlIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTQ5Cittc2dpZCAiTWFuYWdlIHJlZmxvZyBpbmZvcm1hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNTAKK21zZ2lkICJNYW5hZ2Ugc2V0IG9mIHRyYWNrZWQgcmVwb3NpdG9yaWVzIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE1MQorbXNnaWQgIlBhY2sgdW5wYWNrZWQgb2JqZWN0cyBpbiBhIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTUyCittc2dpZCAiQ3JlYXRlLCBsaXN0LCBkZWxldGUgcmVmcyB0byByZXBsYWNlIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTUzCittc2dpZCAiR2VuZXJhdGVzIGEgc3VtbWFyeSBvZiBwZW5kaW5nIGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTU0Cittc2dpZCAiUmV1c2UgcmVjb3JkZWQgcmVzb2x1dGlvbiBvZiBjb25mbGljdGVkIG1lcmdlcyIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNTUKK21zZ2lkICJSZXNldCBjdXJyZW50IEhFQUQgdG8gdGhlIHNwZWNpZmllZCBzdGF0ZSIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNTYKK21zZ2lkICJSZXZlcnQgc29tZSBleGlzdGluZyBjb21taXRzIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE1NworbXNnaWQgIkxpc3RzIGNvbW1pdCBvYmplY3RzIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlciIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNTgKK21zZ2lkICJQaWNrIG91dCBhbmQgbWFzc2FnZSBwYXJhbWV0ZXJzIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE1OQorbXNnaWQgIlJlbW92ZSBmaWxlcyBmcm9tIHRoZSB3b3JraW5nIHRyZWUgYW5kIGZyb20gdGhlIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE2MAorbXNnaWQgIlNlbmQgYSBjb2xsZWN0aW9uIG9mIHBhdGNoZXMgYXMgZW1haWxzIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE2MQorbXNnaWQgIlB1c2ggb2JqZWN0cyBvdmVyIEdpdCBwcm90b2NvbCB0byBhbm90aGVyIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTYyCittc2dpZCAiUmVzdHJpY3RlZCBsb2dpbiBzaGVsbCBmb3IgR2l0LW9ubHkgU1NIIGFjY2VzcyIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNjMKK21zZ2lkICJTdW1tYXJpemUgJ2dpdCBsb2cnIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNjQKK21zZ2lkICJTaG93IHZhcmlvdXMgdHlwZXMgb2Ygb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNjUKK21zZ2lkICJTaG93IGJyYW5jaGVzIGFuZCB0aGVpciBjb21taXRzIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NgorbXNnaWQgIlNob3cgcGFja2VkIGFyY2hpdmUgaW5kZXgiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTY3Cittc2dpZCAiTGlzdCByZWZlcmVuY2VzIGluIGEgbG9jYWwgcmVwb3NpdG9yeSIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNjgKK21zZ2lkICJHaXQncyBpMThuIHNldHVwIGNvZGUgZm9yIHNoZWxsIHNjcmlwdHMiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTY5Cittc2dpZCAiQ29tbW9uIEdpdCBzaGVsbCBzY3JpcHQgc2V0dXAgY29kZSIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNzAKK21zZ2lkICJTdGFzaCB0aGUgY2hhbmdlcyBpbiBhIGRpcnR5IHdvcmtpbmcgZGlyZWN0b3J5IGF3YXkiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTcxCittc2dpZCAiQWRkIGZpbGUgY29udGVudHMgdG8gdGhlIHN0YWdpbmcgYXJlYSIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNzIKK21zZ2lkICJTaG93IHRoZSB3b3JraW5nIHRyZWUgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MworbXNnaWQgIlJlbW92ZSB1bm5lY2Vzc2FyeSB3aGl0ZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3NAorbXNnaWQgIkluaXRpYWxpemUsIHVwZGF0ZSBvciBpbnNwZWN0IHN1Ym1vZHVsZXMiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTc1Cittc2dpZCAiQmlkaXJlY3Rpb25hbCBvcGVyYXRpb24gYmV0d2VlbiBhIFN1YnZlcnNpb24gcmVwb3NpdG9yeSBhbmQgR2l0IgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3NgorbXNnaWQgIlJlYWQsIG1vZGlmeSBhbmQgZGVsZXRlIHN5bWJvbGljIHJlZnMiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTc3Cittc2dpZCAiQ3JlYXRlLCBsaXN0LCBkZWxldGUgb3IgdmVyaWZ5IGEgdGFnIG9iamVjdCBzaWduZWQgd2l0aCBHUEciCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTc4Cittc2dpZCAiQ3JlYXRlcyBhIHRlbXBvcmFyeSBmaWxlIHdpdGggYSBibG9iJ3MgY29udGVudHMiCittc2dzdHIgIs6UzrfOvM65zr/Phc+BzrPOtc6vIM+Az4HOv8+Dz4nPgc65zr3PjCDOsc+Bz4fOtc6vzr8gzrzOtSDPhM6xIM+AzrXPgc65zrXPh8+MzrzOtc69zrEgzrXOvc+Mz4IgYmxvYiIKKworIzogY29tbWFuZC1saXN0Lmg6MTc5Cittc2dpZCAiVW5wYWNrIG9iamVjdHMgZnJvbSBhIHBhY2tlZCBhcmNoaXZlIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE4MAorbXNnaWQgIlJlZ2lzdGVyIGZpbGUgY29udGVudHMgaW4gdGhlIHdvcmtpbmcgdHJlZSB0byB0aGUgaW5kZXgiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTgxCittc2dpZCAiVXBkYXRlIHRoZSBvYmplY3QgbmFtZSBzdG9yZWQgaW4gYSByZWYgc2FmZWx5IgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE4MgorbXNnaWQgIlVwZGF0ZSBhdXhpbGlhcnkgaW5mbyBmaWxlIHRvIGhlbHAgZHVtYiBzZXJ2ZXJzIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE4MworbXNnaWQgIlNlbmQgYXJjaGl2ZSBiYWNrIHRvIGdpdC1hcmNoaXZlIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE4NAorbXNnaWQgIlNlbmQgb2JqZWN0cyBwYWNrZWQgYmFjayB0byBnaXQtZmV0Y2gtcGFjayIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxODUKK21zZ2lkICJTaG93IGEgR2l0IGxvZ2ljYWwgdmFyaWFibGUiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTg2Cittc2dpZCAiQ2hlY2sgdGhlIEdQRyBzaWduYXR1cmUgb2YgY29tbWl0cyIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxODcKK21zZ2lkICJWYWxpZGF0ZSBwYWNrZWQgR2l0IGFyY2hpdmUgZmlsZXMiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTg4Cittc2dpZCAiQ2hlY2sgdGhlIEdQRyBzaWduYXR1cmUgb2YgdGFncyIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxODkKK21zZ2lkICJHaXQgd2ViIGludGVyZmFjZSAod2ViIGZyb250ZW5kIHRvIEdpdCByZXBvc2l0b3JpZXMpIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE5MAorbXNnaWQgIlNob3cgbG9ncyB3aXRoIGRpZmZlcmVuY2UgZWFjaCBjb21taXQgaW50cm9kdWNlcyIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxOTEKK21zZ2lkICJNYW5hZ2UgbXVsdGlwbGUgd29ya2luZyB0cmVlcyIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxOTIKK21zZ2lkICJDcmVhdGUgYSB0cmVlIG9iamVjdCBmcm9tIHRoZSBjdXJyZW50IGluZGV4IgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE5MworbXNnaWQgIkRlZmluaW5nIGF0dHJpYnV0ZXMgcGVyIHBhdGgiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTk0Cittc2dpZCAiR2l0IGNvbW1hbmQtbGluZSBpbnRlcmZhY2UgYW5kIGNvbnZlbnRpb25zIgorbXNnc3RyICLOlM65zrXPgM6xz4bOriDOs8+BzrHOvM68zq7PgiDOtc69z4TOv867z47OvSBHaXQgzrrOsc65IM+Dz4XOvM6yzqzPg861zrnPgiIKKworIzogY29tbWFuZC1saXN0Lmg6MTk1Cittc2dpZCAiQSBHaXQgY29yZSB0dXRvcmlhbCBmb3IgZGV2ZWxvcGVycyIKK21zZ3N0ciAizojOvc6xIM68zqzOuM63zrzOsSDPhM6/z4Ugz4DPhc+Bzq7Ovc6xIM+Ezr/PhSBHaXQgzrPOuc6xIM+Az4HOv86zz4HOsc68zrzOsc+EzrnPg8+Ezq3PgiIKKworIzogY29tbWFuZC1saXN0Lmg6MTk2Cittc2dpZCAiR2l0IGZvciBDVlMgdXNlcnMiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTk3Cittc2dpZCAiVHdlYWtpbmcgZGlmZiBvdXRwdXQiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MTk4Cittc2dpZCAiQSB1c2VmdWwgbWluaW11bSBzZXQgb2YgY29tbWFuZHMgZm9yIEV2ZXJ5ZGF5IEdpdCIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoxOTkKK21zZ2lkICJBIEdpdCBHbG9zc2FyeSIKK21zZ3N0ciAizojOvc6xIM6TzrvPic+Dz4POrM+Bzrkgz4TOv8+FIEdpdCIKKworIzogY29tbWFuZC1saXN0Lmg6MjAwCittc2dpZCAiSG9va3MgdXNlZCBieSBHaXQiCittc2dzdHIgIiIKKworIzogY29tbWFuZC1saXN0Lmg6MjAxCittc2dpZCAiU3BlY2lmaWVzIGludGVudGlvbmFsbHkgdW50cmFja2VkIGZpbGVzIHRvIGlnbm9yZSIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoyMDIKK21zZ2lkICJEZWZpbmluZyBzdWJtb2R1bGUgcHJvcGVydGllcyIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoyMDMKK21zZ2lkICJHaXQgbmFtZXNwYWNlcyIKK21zZ3N0ciAizp/Ovc+MzrzOsc+EzrEgeM+Oz4HPic69IEdpdCIKKworIzogY29tbWFuZC1saXN0Lmg6MjA0Cittc2dpZCAiR2l0IFJlcG9zaXRvcnkgTGF5b3V0IgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjIwNQorbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoyMDYKK21zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQ6IHBhcnQgdHdvIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjIwNworbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdCIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoyMDgKK21zZ2lkICJBbiBvdmVydmlldyBvZiByZWNvbW1lbmRlZCB3b3JrZmxvd3Mgd2l0aCBHaXQiCittc2dzdHIgIiIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmg6NjMKK21zZ2lkICJhcmdzIgorbXNnc3RyICLOv8+Bzq/Pg868zrHPhM6xIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaDo2NAorbXNnaWQgIm9iamVjdCBmaWx0ZXJpbmciCittc2dzdHIgIiIKKworIzogcmVyZXJlLmg6NDQKK21zZ2lkICJ1cGRhdGUgdGhlIGluZGV4IHdpdGggcmV1c2VkIGNvbmZsaWN0IHJlc29sdXRpb24gaWYgcG9zc2libGUiCittc2dzdHIgIiIKKworIzogZ2l0LWJpc2VjdC5zaDo1NAorbXNnaWQgIllvdSBuZWVkIHRvIHN0YXJ0IGJ5IFwiZ2l0IGJpc2VjdCBzdGFydFwiIgorbXNnc3RyICLOp8+BzrXOuc6szrbOtc+EzrHOuSDOvc6xIM6xz4HPh86vz4POtc+EzrUgzrzOtSBcImdpdCBiaXNlY3Qgc3RhcnRcIiIKKworIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtZXSBhbmQgW25dIGluIHlvdXIKKyMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKKyMuIGF0IHRoaXMgcG9pbnQuCisjOiBnaXQtYmlzZWN0LnNoOjYwCittc2dpZCAiRG8geW91IHdhbnQgbWUgdG8gZG8gaXQgZm9yIHlvdSBbWS9uXT8gIgorbXNnc3RyICIiCisKKyM6IGdpdC1iaXNlY3Quc2g6MTAxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJCYWQgcmV2IGlucHV0OiAkYXJnIgorbXNnc3RyICIiCisKKyM6IGdpdC1iaXNlY3Quc2g6MTIxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJCYWQgcmV2IGlucHV0OiAkYmlzZWN0ZWRfaGVhZCIKK21zZ3N0ciAiIgorCisjOiBnaXQtYmlzZWN0LnNoOjEzMAorIywgc2gtZm9ybWF0Cittc2dpZCAiQmFkIHJldiBpbnB1dDogJHJldiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYmlzZWN0LnNoOjEzOQorIywgc2gtZm9ybWF0Cittc2dpZCAiJ2dpdCBiaXNlY3QgJFRFUk1fQkFEJyBjYW4gdGFrZSBvbmx5IG9uZSBhcmd1bWVudC4iCittc2dzdHIgIidnaXQgYmlzZWN0ICRURVJNX0JBRCcgzrTOrc+HzrXPhM6xzrkgzrzPjM69zr8gzq3Ovc6xIM+Mz4HOuc+DzrzOsS4iCisKKyM6IGdpdC1iaXNlY3Quc2g6MjA5Cittc2dpZCAiTm8gbG9nZmlsZSBnaXZlbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYmlzZWN0LnNoOjIxMAorIywgc2gtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJGZpbGUgZm9yIHJlcGxheWluZyIKK21zZ3N0ciAiIgorCisjOiBnaXQtYmlzZWN0LnNoOjIzMgorbXNnaWQgIj8/IHdoYXQgYXJlIHlvdSB0YWxraW5nIGFib3V0PyIKK21zZ3N0ciAiOzsgIM+EzrkgzrXOvc69zr/Otc6vz4TOtTsiCisKKyM6IGdpdC1iaXNlY3Quc2g6MjQxCittc2dpZCAiYmlzZWN0IHJ1biBmYWlsZWQ6IG5vIGNvbW1hbmQgcHJvdmlkZWQuIgorbXNnc3RyICIiCisKKyM6IGdpdC1iaXNlY3Quc2g6MjQ2CisjLCBzaC1mb3JtYXQKK21zZ2lkICJydW5uaW5nICRjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IGdpdC1iaXNlY3Quc2g6MjUzCisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiYmlzZWN0IHJ1biBmYWlsZWQ6XG4iCisiZXhpdCBjb2RlICRyZXMgZnJvbSAnJGNvbW1hbmQnIGlzIDwgMCBvciA+PSAxMjgiCittc2dzdHIgIiIKKworIzogZ2l0LWJpc2VjdC5zaDoyNzkKK21zZ2lkICJiaXNlY3QgcnVuIGNhbm5vdCBjb250aW51ZSBhbnkgbW9yZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtYmlzZWN0LnNoOjI4NQorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorImJpc2VjdCBydW4gZmFpbGVkOlxuIgorIidiaXNlY3Rfc3RhdGUgJHN0YXRlJyBleGl0ZWQgd2l0aCBlcnJvciBjb2RlICRyZXMiCittc2dzdHIgIiIKKworIzogZ2l0LWJpc2VjdC5zaDoyOTIKK21zZ2lkICJiaXNlY3QgcnVuIHN1Y2Nlc3MiCittc2dzdHIgIiIKKworIzogZ2l0LWJpc2VjdC5zaDozMDAKK21zZ2lkICJXZSBhcmUgbm90IGJpc2VjdGluZy4iCittc2dzdHIgIiIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NDYKK21zZ2lkICIiCisiRXJyb3I6IFlvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKKyJtZXJnZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo2MQorbXNnaWQgIkF1dG9tYXRlZCBtZXJnZSBkaWQgbm90IHdvcmsuIgorbXNnc3RyICIiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjYyCittc2dpZCAiU2hvdWxkIG5vdCBiZSBkb2luZyBhbiBvY3RvcHVzLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo3MworIywgc2gtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGZpbmQgY29tbW9uIGNvbW1pdCB3aXRoICRwcmV0dHlfbmFtZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo3NworIywgc2gtZm9ybWF0Cittc2dpZCAiQWxyZWFkeSB1cCB0byBkYXRlIHdpdGggJHByZXR0eV9uYW1lIgorbXNnc3RyICLOic60zrcgz4DOu86uz4HPic+CIM61zr3Ors68zrXPgc6/IM68zrUgz4TOvyAkcHJldHR5X25hbWUiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjg5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJGYXN0LWZvcndhcmRpbmcgdG86ICRwcmV0dHlfbmFtZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo5NworIywgc2gtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHNpbXBsZSBtZXJnZSB3aXRoICRwcmV0dHlfbmFtZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDoxMDIKK21zZ2lkICJTaW1wbGUgbWVyZ2UgZGlkIG5vdCB3b3JrLCB0cnlpbmcgYXV0b21hdGljIG1lcmdlLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0NDUKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0NzEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKKyJJIHdvbmRlciBpZiB5b3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW5vdGhlciByZWJhc2UuICBJZiB0aGF0IGlzIHRoZVxuIgorImNhc2UsIHBsZWFzZSB0cnlcbiIKKyJcdCRjbWRfbGl2ZV9yZWJhc2VcbiIKKyJJZiB0aGF0IGlzIG5vdCB0aGUgY2FzZSwgcGxlYXNlXG4iCisiXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxuIgorImFuZCBydW4gbWUgYWdhaW4uICBJIGFtIHN0b3BwaW5nIGluIGNhc2UgeW91IHN0aWxsIGhhdmUgc29tZXRoaW5nXG4iCisidmFsdWFibGUgdGhlcmUuIgorbXNnc3RyICIiCisKKyM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjUyMworbXNnaWQgIiIKKyJmYXRhbDogY2Fubm90IGNvbWJpbmUgYW0gb3B0aW9ucyB3aXRoIGVpdGhlciBpbnRlcmFjdGl2ZSBvciBtZXJnZSBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjUzMAorbXNnaWQgImZhdGFsOiBjYW5ub3QgY29tYmluZSAnLS1zaWdub2ZmJyB3aXRoICctLXByZXNlcnZlLW1lcmdlcyciCittc2dzdHIgIiIKKworIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTQxCittc2dpZCAiZmF0YWw6IGNhbm5vdCBjb21iaW5lICctLXByZXNlcnZlLW1lcmdlcycgd2l0aCAnLS1yZWJhc2UtbWVyZ2VzJyIKK21zZ3N0ciAiIgorCisjOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1NTAKK21zZ2lkICJmYXRhbDogY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneS1vcHRpb24nIgorbXNnc3RyICIiCisKKyM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjU1MgorbXNnaWQgImZhdGFsOiBjYW5ub3QgY29tYmluZSAnLS1yZWJhc2UtbWVyZ2VzJyB3aXRoICctLXN0cmF0ZWd5JyIKK21zZ3N0ciAiIgorCisjOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1NzgKKyMsIHNoLWZvcm1hdAorbXNnaWQgImludmFsaWQgdXBzdHJlYW0gJyR1cHN0cmVhbV9uYW1lJyIKK21zZ3N0ciAiIgorCisjOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2MDIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgorbXNnc3RyICIiCisKKyM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjYwNSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2MDkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGlzIG5vIG1lcmdlIGJhc2UiCittc2dzdHIgIiIKKworIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NjE0CisjLCBzaC1mb3JtYXQKK21zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogJG9udG9fbmFtZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2NDAKKyMsIHNoLWZvcm1hdAorbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaC9jb21taXQgJyRicmFuY2hfbmFtZSciCittc2dzdHIgIiIKKworIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6Njc4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJHN0YXNoX2FiYnJldiIKK21zZ3N0ciAiIgorCisjOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MDcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MTcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MzEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNoYW5nZXMgdG8gJG9udG86IgorbXNnc3RyICIiCisKKyM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjczMworIywgc2gtZm9ybWF0Cittc2dpZCAiQ2hhbmdlcyBmcm9tICRtYiB0byAkb250bzoiCittc2dzdHIgIiIKKworIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzQzCisjLCBzaC1mb3JtYXQKK21zZ2lkICJGYXN0LWZvcndhcmRlZCAkYnJhbmNoX25hbWUgdG8gJG9udG9fbmFtZS4iCittc2dzdHIgIiIKKworIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzU3Cittc2dpZCAiRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uIgorbXNnc3RyICIiCisizqDPgc+Oz4TOsSwgzrPOr869zrXPhM6xzrkgzrPPjc+BzrnPg868zrEgz4DPgc6/z4Igz4TOsSDPgM6vz4PPiSDPhM6/z4UgaGVhZCDOs865zrEgzr3OsSDOs86vzr3Otc65IM61z4DOsc69zqzOu863z4jOtyDPhM63z4IgIgorIs60zr/Phc67zrXOuc6sz4Igz4POsc+CIM+AzqzOvc+JIM+DzrUgzrHPhc+Ez4wuLi4iCisKKyM6IGdpdC1zdGFzaC5zaDo3NQorbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6MTI1Cittc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCittc2dzdHIgIs6UzrXOvSDOrc+HzrXPhM61IM6xzrrPjM68zrEgz4TOt869IM6xz4HPh865zrrOriDPhc+Azr/Oss6/zrvOriIKKworIzogZ2l0LXN0YXNoLnNoOjE0MAorbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IGluZGV4IHN0YXRlIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDoxNTUKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgdW50cmFja2VkIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDoxNzUgZ2l0LXN0YXNoLnNoOjE4OAorbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHdvcmt0cmVlIHN0YXRlIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDoxOTIKK21zZ2lkICJObyBjaGFuZ2VzIHNlbGVjdGVkIgorbXNnc3RyICLOlM61zr0gzrXPgM65zrvOrc+Hz4TOt866zrUgzrrOsc68zq/OsSDOsc67zrvOsc6zzq4iCisKKyM6IGdpdC1zdGFzaC5zaDoxOTUKK21zZ2lkICJDYW5ub3QgcmVtb3ZlIHRlbXBvcmFyeSBpbmRleCAoY2FuJ3QgaGFwcGVuKSIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6MjA4Cittc2dpZCAiQ2Fubm90IHJlY29yZCB3b3JraW5nIHRyZWUgc3RhdGUiCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjI0NgorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHVwZGF0ZSAkcmVmX3N0YXNoIHdpdGggJHdfY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDoyOTgKKyMsIHNoLWZvcm1hdAorbXNnaWQgImVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHB1c2gnOiAkb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDozMTIKK21zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDozMjAKK21zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjMyNQorbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDozMjkKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjMzMAorIywgc2gtZm9ybWF0Cittc2dpZCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlICRzdGFzaF9tc2ciCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjM1OQorbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6NTA3CisjLCBzaC1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbjogJG9wdCIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6NTIwCittc2dpZCAiTm8gc3Rhc2ggZW50cmllcyBmb3VuZC4iCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjUyNworIywgc2gtZm9ybWF0Cittc2dpZCAiVG9vIG1hbnkgcmV2aXNpb25zIHNwZWNpZmllZDogJFJFViIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6NTQyCisjLCBzaC1mb3JtYXQKK21zZ2lkICIkcmVmZXJlbmNlIGlzIG5vdCBhIHZhbGlkIHJlZmVyZW5jZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6NTcwCisjLCBzaC1mb3JtYXQKK21zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoLWxpa2UgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDo1ODEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2ggcmVmZXJlbmNlIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDo1ODkKK21zZ2lkICJ1bmFibGUgdG8gcmVmcmVzaCBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6NTkzCittc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDo2MDEKK21zZ2lkICJDb25mbGljdHMgaW4gaW5kZXguIFRyeSB3aXRob3V0IC0taW5kZXguIgorbXNnc3RyICLOo8+FzrPOus+Bzr/Pjc+DzrXOuc+CIM+Dz4TOvyDOtc+Fz4HOtc+Ezq7Pgc65zr8uIM6Uzr/Ous65zrzOrM+Dz4TOtSDPh8+Jz4HOr8+CIM+Ezr8gLS1pbmRleC4iCisKKyM6IGdpdC1zdGFzaC5zaDo2MDMKK21zZ2lkICJDb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDo2MTIKK21zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCBlbnRyeSIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6NjM3Cittc2dpZCAiQ2Fubm90IHVuc3RhZ2UgbW9kaWZpZWQgZmlsZXMiCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjY1MgorbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6NjY2Cittc2dpZCAiVGhlIHN0YXNoIGVudHJ5IGlzIGtlcHQgaW4gY2FzZSB5b3UgbmVlZCBpdCBhZ2Fpbi4iCittc2dzdHIgIiIKKworIzogZ2l0LXN0YXNoLnNoOjY3NQorIywgc2gtZm9ybWF0Cittc2dpZCAiRHJvcHBlZCAke1JFVn0gKCRzKSIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3Rhc2guc2g6Njc2CisjLCBzaC1mb3JtYXQKK21zZ2lkICIke1JFVn06IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgorbXNnc3RyICIiCisKKyM6IGdpdC1zdGFzaC5zaDo2ODQKK21zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIs6UzrUgzrTPjM64zrfOus61IM+Mzr3Ov868zrEgzrrOu86szrTOv8+FIgorCisjOiBnaXQtc3Rhc2guc2g6NzYzCittc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MTk4Cittc2dpZCAiUmVsYXRpdmUgcGF0aCBjYW4gb25seSBiZSB1c2VkIGZyb20gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMDgKKyMsIHNoLWZvcm1hdAorbXNnaWQgInJlcG8gVVJMOiAnJHJlcG8nIG11c3QgYmUgYWJzb2x1dGUgb3IgYmVnaW4gd2l0aCAuL3wuLi8iCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMjcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjMwCisjLCBzaC1mb3JtYXQKK21zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCBhbmQgaXMgbm90IGEgc3VibW9kdWxlIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjM2CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyBwYXRoIGlzIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKKyIkc21fcGF0aFxuIgorIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIGl0LiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjI1OQorIywgc2gtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGV4aXN0aW5nIHJlcG8gYXQgJyRzbV9wYXRoJyB0byB0aGUgaW5kZXgiCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhIHZhbGlkIGdpdCByZXBvIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjY5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJBIGdpdCBkaXJlY3RvcnkgZm9yICckc21fbmFtZScgaXMgZm91bmQgbG9jYWxseSB3aXRoIHJlbW90ZShzKToiCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluIGZyb21cbiIKKyIgICRyZWFscmVwb1xuIgorInVzZSB0aGUgJy0tZm9yY2UnIG9wdGlvbi4gSWYgdGhlIGxvY2FsIGdpdCBkaXJlY3RvcnkgaXMgbm90IHRoZSBjb3JyZWN0ICIKKyJyZXBvXG4iCisib3IgeW91IGFyZSB1bnN1cmUgd2hhdCB0aGlzIG1lYW5zIGNob29zZSBhbm90aGVyIG5hbWUgd2l0aCB0aGUgJy0tbmFtZScgIgorIm9wdGlvbi4iCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlJlYWN0aXZhdGluZyBsb2NhbCBnaXQgZGlyZWN0b3J5IGZvciBzdWJtb2R1bGUgJyRzbV9uYW1lJy4iCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjI5NAorIywgc2gtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjMwMworIywgc2gtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTYzCisjLCBzaC1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTczCisjLCBzaC1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjU3OAorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgJHtyZW1vdGVfbmFtZX0vJHticmFuY2h9IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICIKKyInJHNtX3BhdGgnIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTk2CisjLCBzaC1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MDIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJGZXRjaGVkIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnLCBidXQgaXQgZGlkIG5vdCBjb250YWluICRzaGExLiAiCisiRGlyZWN0IGZldGNoaW5nIG9mIHRoYXQgY29tbWl0IGZhaWxlZC4iCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MDkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjEwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogY2hlY2tlZCBvdXQgJyRzaGExJyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjYxNAorIywgc2gtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjE1CisjLCBzaC1mb3JtYXQKK21zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBtZXJnZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjIxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogbWVyZ2VkIGluICckc2hhMSciCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGlvbiBvZiAnJGNvbW1hbmQgJHNoYTEnIGZhaWxlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjYyNworIywgc2gtZm9ybWF0Cittc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6ICckY29tbWFuZCAkc2hhMSciCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NTgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo3NTQKK21zZ2lkICJUaGUgLS1jYWNoZWQgb3B0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhlIC0tZmlsZXMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODA2CisjLCBzaC1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIG1vZGUgJG1vZF9kc3QiCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MjYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX3NyYyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjgyOQorIywgc2gtZm9ybWF0Cittc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfZHN0IgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODMyCisjLCBzaC1mb3JtYXQKK21zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCittc2dzdHIgIiIKKworIzogZ2l0LXBhcnNlLXJlbW90ZS5zaDo4OQorIywgc2gtZm9ybWF0Cittc2dpZCAiU2VlIGdpdC0ke2NtZH0oMSkgZm9yIGRldGFpbHMuIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMzYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlJlYmFzaW5nICgkbmV3X2NvdW50LyR0b3RhbCkiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjE1MgorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKKyJwLCBwaWNrIDxjb21taXQ+ID0gdXNlIGNvbW1pdFxuIgorInIsIHJld29yZCA8Y29tbWl0PiA9IHVzZSBjb21taXQsIGJ1dCBlZGl0IHRoZSBjb21taXQgbWVzc2FnZVxuIgorImUsIGVkaXQgPGNvbW1pdD4gPSB1c2UgY29tbWl0LCBidXQgc3RvcCBmb3IgYW1lbmRpbmdcbiIKKyJzLCBzcXVhc2ggPGNvbW1pdD4gPSB1c2UgY29tbWl0LCBidXQgbWVsZCBpbnRvIHByZXZpb3VzIGNvbW1pdFxuIgorImYsIGZpeHVwIDxjb21taXQ+ID0gbGlrZSBcInNxdWFzaFwiLCBidXQgZGlzY2FyZCB0aGlzIGNvbW1pdCdzIGxvZyBtZXNzYWdlXG4iCisieCwgZXhlYyA8Y29tbWl0PiA9IHJ1biBjb21tYW5kICh0aGUgcmVzdCBvZiB0aGUgbGluZSkgdXNpbmcgc2hlbGxcbiIKKyJkLCBkcm9wIDxjb21taXQ+ID0gcmVtb3ZlIGNvbW1pdFxuIgorImwsIGxhYmVsIDxsYWJlbD4gPSBsYWJlbCBjdXJyZW50IEhFQUQgd2l0aCBhIG5hbWVcbiIKKyJ0LCByZXNldCA8bGFiZWw+ID0gcmVzZXQgSEVBRCB0byBhIGxhYmVsXG4iCisibSwgbWVyZ2UgWy1DIDxjb21taXQ+IHwgLWMgPGNvbW1pdD5dIDxsYWJlbD4gWyMgPG9uZWxpbmU+XVxuIgorIi4gICAgICAgY3JlYXRlIGEgbWVyZ2UgY29tbWl0IHVzaW5nIHRoZSBvcmlnaW5hbCBtZXJnZSBjb21taXQnc1xuIgorIi4gICAgICAgbWVzc2FnZSAob3IgdGhlIG9uZWxpbmUsIGlmIG5vIG9yaWdpbmFsIG1lcmdlIGNvbW1pdCB3YXNcbiIKKyIuICAgICAgIHNwZWNpZmllZCkuIFVzZSAtYyA8Y29tbWl0PiB0byByZXdvcmQgdGhlIGNvbW1pdCBtZXNzYWdlLlxuIgorIlxuIgorIlRoZXNlIGxpbmVzIGNhbiBiZSByZS1vcmRlcmVkOyB0aGV5IGFyZSBleGVjdXRlZCBmcm9tIHRvcCB0byBib3R0b20uXG4iCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjIxNQorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIllvdSBjYW4gYW1lbmQgdGhlIGNvbW1pdCBub3csIHdpdGhcbiIKKyJcbiIKKyJcdGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIk9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMsIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICIiCisizpzPgM6/z4HOtc6vz4TOtSDOvc6xIM+Ez4HOv8+Azr/PgM6/zrnOrs+DzrXPhM61IM+EzrfOvSDPhc+Azr/Oss6/zrvOriDPhM+Oz4HOsSwgzrzOtVxuIgorIlxuIgorIlx0Z2l0IGNvbW1pdCAtLWFtZW5kICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisizozPhM6xzr0gzr/OuSDOsc67zrvOsc6zzq3PgiDPg86xz4Igz4POsc+CIM65zrrOsc69zr/PgM6/zrnOv8+Nzr0sIM+Ez4HOrc6+z4TOtVxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjQwCisjLCBzaC1mb3JtYXQKK21zZ2lkICIkc2hhMTogbm90IGEgY29tbWl0IHRoYXQgY2FuIGJlIHBpY2tlZCIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Mjc5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGNvbW1pdCBuYW1lOiAkc2hhMSIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzA5Cittc2dpZCAiQ2Fubm90IHdyaXRlIGN1cnJlbnQgY29tbWl0J3MgcmVwbGFjZW1lbnQgc2hhMSIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzYwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJGYXN0LWZvcndhcmQgdG8gJHNoYTEiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM2MgorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGZhc3QtZm9yd2FyZCB0byAkc2hhMSIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzcxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbW92ZSBIRUFEIHRvICRmaXJzdF9wYXJlbnQiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM3NgorIywgc2gtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gc3F1YXNoIGEgbWVyZ2U6ICRzaGExIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozOTQKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkVycm9yIHJlZG9pbmcgbWVyZ2UgJHNoYTEiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQwMworIywgc2gtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHBpY2sgJHNoYTEiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQxMgorIywgc2gtZm9ybWF0Cittc2dpZCAiVGhpcyBpcyB0aGUgY29tbWl0IG1lc3NhZ2UgIyR7bn06IgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJHtufSB3aWxsIGJlIHNraXBwZWQ6IgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MjgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0LiIKK21zZ2lkX3BsdXJhbCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICRjb3VudCBjb21taXRzLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MzcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSAkZml4dXBfbXNnIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NDAKK21zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgMiBjb21taXRzLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDgxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MjQKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MjcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAkc2hhMS4uLiAkcmVzdCIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NTU2CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiQ291bGQgbm90IGFtZW5kIGNvbW1pdCBhZnRlciBzdWNjZXNzZnVsbHkgcGlja2luZyAkc2hhMS4uLiAkcmVzdFxuIgorIlRoaXMgaXMgbW9zdCBsaWtlbHkgZHVlIHRvIGFuIGVtcHR5IGNvbW1pdCBtZXNzYWdlLCBvciB0aGUgcHJlLWNvbW1pdCBob29rXG4iCisiZmFpbGVkLiBJZiB0aGUgcHJlLWNvbW1pdCBob29rIGZhaWxlZCwgeW91IG1heSBuZWVkIHRvIHJlc29sdmUgdGhlIGlzc3VlICIKKyJiZWZvcmVcbiIKKyJ5b3UgYXJlIGFibGUgdG8gcmV3b3JkIHRoZSBjb21taXQuIgorbXNnc3RyICIiCisizpTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TOriDOtyDPhM+Bzr/PgM6/z4DOv86vzrfPg863IM+EzrfPgiDPhc+Azr/Oss6/zrvOrs+CIM68zrXPhM6sIM6xz4DPjCDPhM63zr0gzrXPgM65z4TPhc+Hzq4gzrTOuc6xzrvOv86zzq4gz4TOv8+FICIKKyIkc2hhMS4uLiAkcmVzdFxuIgorIs6azrHPhM6sIM+AzqzPg86xIM+AzrnOuM6xzr3PjM+EzrfPhM6xIM6/z4bOtc6vzrvOtc+EzrHOuSDPg861IM66zrXOvc+MIM68zq7Ovc+FzrzOsSDPhc+Azr/Oss6/zrvOrs+CLCDOriDOsc+Azq3PhM+Fz4fOtSDPhM6/ICIKKyLOrM6zzrrOuc+Dz4TPgc6/IM+Az4HOvyDPhc+Azr/Oss6/zrvOrs+CLlxuIgorIs6Rzr0gzrHPgM6tz4TPhc+HzrUgz4TOvyDOrM6zzrrOuc+Dz4TPgc6/IM+Az4HOvyDPhc+Azr/Oss6/zrvOrs+CLCDOvM+Azr/Pgc61zq8gzr3OsSDPh8+BzrXOuc6xz4PPhM61zq8gzr3OsSDOtc+AzrnOu8+Nz4POtc+EzrUgz4TOvyAiCisizrjOrc68zrEgz4DPgc65zr0gzr3OsVxuIgorIs68z4DOv8+Bzq3Pg861z4TOtSDOvc6xIM6xzr3Osc60zrnOsc+Ez4XPgM+Oz4POtc+EzrUgz4TOt869IM+Fz4DOv86yzr/Ou86uLiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU3MQorIywgc2gtZm9ybWF0Cittc2dpZCAiU3RvcHBlZCBhdCAkc2hhMV9hYmJyZXYuLi4gJHJlc3QiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU4NgorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90ICckc3F1YXNoX3N0eWxlJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2MjgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGluZzogJHJlc3QiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYzNgorIywgc2gtZm9ybWF0Cittc2dpZCAiRXhlY3V0aW9uIGZhaWxlZDogJHJlc3QiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYzOAorbXNnaWQgImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NDAKK21zZ2lkICIiCisiWW91IGNhbiBmaXggdGhlIHByb2JsZW0sIGFuZCB0aGVuIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICIiCisizpzPgM6/z4HOtc6vz4TOtSDOvc6xIM60zrnOv8+BzrjPjs+DzrXPhM61IM+Ezr8gz4DPgc+MzrLOu863zrzOsSwgzrrOsc65IM68zrXPhM6sIM69zrEgz4TPgc6tzr7Otc+EzrVcbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKKworIy4gVFJBTlNMQVRPUlM6IGFmdGVyIHRoZXNlIGxpbmVzIGlzIGEgY29tbWFuZCB0byBiZSBpc3N1ZWQgYnkgdGhlIHVzZXIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NTMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJFeGVjdXRpb24gc3VjY2VlZGVkOiAkcmVzdFxuIgorImJ1dCBsZWZ0IGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlXG4iCisiQ29tbWl0IG9yIHN0YXNoIHlvdXIgY2hhbmdlcywgYW5kIHRoZW4gcnVuXG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY2NAorIywgc2gtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAkY29tbWFuZCAkc2hhMSAkcmVzdCIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjY1Cittc2dpZCAiUGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjcwMAorIywgc2gtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHJlYmFzZWQgYW5kIHVwZGF0ZWQgJGhlYWRfbmFtZS4iCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc1NworbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzYyCisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuXG4iCisiSWYgdGhlc2UgY2hhbmdlcyBhcmUgbWVhbnQgdG8gYmVcbiIKKyJzcXVhc2hlZCBpbnRvIHRoZSBwcmV2aW91cyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIklmIHRoZXkgYXJlIG1lYW50IHRvIGdvIGludG8gYSBuZXcgY29tbWl0LCBydW46XG4iCisiXG4iCisiICBnaXQgY29tbWl0ICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisiSW4gYm90aCBjYXNlcywgb25jZSB5b3UncmUgZG9uZSwgY29udGludWUgd2l0aDpcbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorbXNnc3RyICIiCisizojPh861z4TOtSDPgM+Bzr/Otc+Ezr/Ouc68zrHPg868zq3Ovc61z4IgzrHOu867zrHOs86tz4Igz4PPhM6/IM60zq3Ovc+Ez4HOvyDOtc+BzrPOsc+Dzq/Osc+CIM+DzrHPgi5cbiIKKyLOkc69IM6xz4XPhM6tz4Igzr/OuSDOsc67zrvOsc6zzq3PgiDPgM+Bzq3PgM61zrkgzr3OsSBcbiIKKyLPg8+FzrzPgM+Ez4XPh864zr/Pjc69IM68zq3Pg86xIM+Dz4TOt869IM+Az4HOv863zrPOv8+NzrzOtc69zrcgz4XPgM6/zrLOv867zq4sIM+Ez4HOrc6+z4TOtTpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIs6Rzr0gz4DPgc6tz4DOtc65IM69zrEgz4DOrM69zrUgz4POtSDOvc6tzrEgz4XPgM6/zrLOv867zq4sIM+Ez4HOrc6+z4TOtTpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyLOms6xzrkgz4PPhM65z4IgzrTPjc6/IM+AzrXPgc65z4DPhM+Oz4POtc65z4IsIM68z4zOu865z4Igz4TOtc67zrXOuc+Oz4POtc+EzrUsIM+Dz4XOvc61z4fOr8+Dz4TOtSDOvM61OlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3NzkKK21zZ2lkICJFcnJvciB0cnlpbmcgdG8gZmluZCB0aGUgYXV0aG9yIGlkZW50aXR5IHRvIGFtZW5kIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Nzg0Cittc2dpZCAiIgorIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSBjb21taXQgdGhlbVxuIgorImZpcnN0IGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBhZ2Fpbi4iCittc2dzdHIgIiIKKyLOiM+HzrXPhM61IM68zrcgz4PPhc6zz4fPic69zrXPhc68zq3Ovc61z4IgzrHOu867zrHOs86tz4Igz4PPhM6/IM60zq3Ovc+Ez4HOvyDOtc+BzrPOsc+Dzq/Osc+CIM+DzrHPgi4gzqDOsc+BzrHOus6xzrvPjiDPhc+Azr/Oss6szrvOtc+Ezq0gIgorIs+EzrnPglxuIgorIs+Az4HPjs+EzrEgzrrOsc65IM68zrXPhM6sIM+Ez4HOrc6+z4TOtSAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyDPgM6szrvOuS4iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3ODkgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc5MworbXNnaWQgIkNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MjQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkxMAorbXNnaWQgIkNvdWxkIG5vdCBleGVjdXRlIGVkaXRvciIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODQ1CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY2hlY2tvdXQgJHN3aXRjaF90byIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODUyCittc2dpZCAiTm8gSEVBRD8iCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg1MworIywgc2gtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJHN0YXRlX2RpciIKK21zZ3N0ciAiIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODU2Cittc2dpZCAiQ291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg4OAorIywgc2gtZm9ybWF0Cittc2dpZCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZCkiCittc2dpZF9wbHVyYWwgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmRzKSIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NDIgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk0NworbXNnaWQgIkNvdWxkIG5vdCBpbml0IHJld3JpdHRlbiBjb21taXRzIgorbXNnc3RyICIiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDo4OSBnaXQtc2gtc2V0dXAuc2g6OTQKKyMsIHNoLWZvcm1hdAorbXNnaWQgInVzYWdlOiAkZGFzaGxlc3MgJFVTQUdFIgorbXNnc3RyICLPh8+Bzq7Pg863OiAkZGFzaGxlc3MgJFVTQUdFIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MTkwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgY2hkaXIgdG8gJGNkdXAsIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICIiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoxOTkgZ2l0LXNoLXNldHVwLnNoOjIwNgorIywgc2gtZm9ybWF0Cittc2dpZCAiZmF0YWw6ICRwcm9ncmFtX25hbWUgY2Fubm90IGJlIHVzZWQgd2l0aG91dCBhIHdvcmtpbmcgdHJlZS4iCittc2dzdHIgIiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyMAorbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjMKK21zZ2lkICJDYW5ub3QgcmV3cml0ZSBicmFuY2hlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyNgorbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjI5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgJGFjdGlvbjogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI0MgorbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI0NQorbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNDgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAkYWN0aW9uOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNTIKK21zZ2lkICJBZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIs6Vz4DOuc+Az4HPjM+DzrjOtc+EzrEsIM+Ezr8gzrXPhc+BzrXPhM6uz4HOuc+MIM+DzrHPgiDPgM61z4HOuc6tz4fOtc65IM68zrcgz4XPgM6/zrLOtc6yzrvOt868zq3Ovc61z4IgzrHOu867zrHOs86tz4IuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MzcyCittc2dpZCAiWW91IG5lZWQgdG8gcnVuIHRoaXMgY29tbWFuZCBmcm9tIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlLiIKK21zZ3N0ciAiIgorIs6nz4HOtc65zqzOts61z4TOsc65IM69zrEgz4TPgc6tzr7Otc+EzrUgzrHPhc+Ezq4gz4TOt869IM61zr3PhM6/zrvOriDOsc+Az4wgz4TOvyDPiM63zrvPjM+EzrXPgc6/IM61z4DOr8+AzrXOtM6/IM+Ezr/PhSDOtM6tzr3PhM+Bzr/PhSAiCisizrXPgc6zzrHPg86vzrHPgi4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzcKK21zZ2lkICJVbmFibGUgdG8gZGV0ZXJtaW5lIGFic29sdXRlIHBhdGggb2YgZ2l0IGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogeW91IGNhbiBhZGp1c3QgdGhpcyB0byBhbGlnbiAiZ2l0IGFkZCAtaSIgc3RhdHVzIG1lbnUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk2CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIiUxMnMgJTEycyAlcyIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NworbXNnaWQgInN0YWdlZCIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NworbXNnaWQgInVuc3RhZ2VkIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjUzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Mjc4Cittc2dpZCAiYmluYXJ5IgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjYyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzE2Cittc2dpZCAibm90aGluZyIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI5OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMxMworbXNnaWQgInVuY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwOQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJhZGRlZCAlZCBwYXRoXG4iCittc2dpZF9wbHVyYWwgImFkZGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYxMgorIywgcGVybC1mb3JtYXQKK21zZ2lkICJ1cGRhdGVkICVkIHBhdGhcbiIKK21zZ2lkX3BsdXJhbCAidXBkYXRlZCAlZCBwYXRoc1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MTUKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAicmV2ZXJ0ZWQgJWQgcGF0aFxuIgorbXNnaWRfcGx1cmFsICJyZXZlcnRlZCAlZCBwYXRoc1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MTgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAidG91Y2hlZCAlZCBwYXRoXG4iCittc2dpZF9wbHVyYWwgInRvdWNoZWQgJWQgcGF0aHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjI3Cittc2dpZCAiVXBkYXRlIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjM5Cittc2dpZCAiUmV2ZXJ0IgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjYyCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIm5vdGU6ICVzIGlzIHVudHJhY2tlZCBub3cuXG4iCittc2dzdHIgIs+DzrfOvM61zq/Pic+Dzrc6IM+Ezr8gJXMgzrTOtc69IM+AzrHPgc6xzrrOv867zr/Phc64zrXOr8+EzrHOuSDPhM+Oz4HOsS5cbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzMKK21zZ2lkICJBZGQgdW50cmFja2VkIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Njc5Cittc2dpZCAiTm8gdW50cmFja2VkIGZpbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAzMworbXNnaWQgIiIKKyJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgorIm1hcmtlZCBmb3Igc3RhZ2luZy4iCittc2dzdHIgIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDM2Cittc2dpZCAiIgorIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCisibWFya2VkIGZvciBzdGFzaGluZy4iCittc2dzdHIgIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDM5Cittc2dpZCAiIgorIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCisibWFya2VkIGZvciB1bnN0YWdpbmcuIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTEKK21zZ2lkICIiCisiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKKyJtYXJrZWQgZm9yIGFwcGx5aW5nLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQ4Cittc2dpZCAiIgorIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCisibWFya2VkIGZvciBkaXNjYXJkaW5nLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwODUKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHdyaXRpbmc6ICVzIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA4NgorbXNnaWQgIk1hbnVhbCBodW5rIGVkaXQgbW9kZSAtLSBzZWUgYm90dG9tIGZvciBhIHF1aWNrIGd1aWRlLlxuIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA5MgorIywgcGVybC1mb3JtYXQKK21zZ2lkICIiCisiLS0tXG4iCisiVG8gcmVtb3ZlICclcycgbGluZXMsIG1ha2UgdGhlbSAnICcgbGluZXMgKGNvbnRleHQpLlxuIgorIlRvIHJlbW92ZSAnJXMnIGxpbmVzLCBkZWxldGUgdGhlbS5cbiIKKyJMaW5lcyBzdGFydGluZyB3aXRoICVzIHdpbGwgYmUgcmVtb3ZlZC5cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogJ2l0JyByZWZlcnMgdG8gdGhlIHBhdGNoIG1lbnRpb25lZCBpbiB0aGUgcHJldmlvdXMgbWVzc2FnZXMuCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMDAKK21zZ2lkICIiCisiSWYgaXQgZG9lcyBub3QgYXBwbHkgY2xlYW5seSwgeW91IHdpbGwgYmUgZ2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG9cbiIKKyJlZGl0IGFnYWluLiAgSWYgYWxsIGxpbmVzIG9mIHRoZSBodW5rIGFyZSByZW1vdmVkLCB0aGVuIHRoZSBlZGl0IGlzXG4iCisiYWJvcnRlZCBhbmQgdGhlIGh1bmsgaXMgbGVmdCB1bmNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTE0CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuIGh1bmsgZWRpdCBmaWxlIGZvciByZWFkaW5nOiAlcyIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSBbeS9uXQorIy4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCB0aGF0IGlucHV0CisjLiBhdCB0aGlzIHBvaW50LgorIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKKyMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCisjLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIxMworbXNnaWQgIiIKKyJZb3VyIGVkaXRlZCBodW5rIGRvZXMgbm90IGFwcGx5LiBFZGl0IGFnYWluIChzYXlpbmcgXCJub1wiIGRpc2NhcmRzISkgW3kvbl0/ICIKK21zZ3N0ciAiIgorIs6XIM61z4DOtc6+zrXPgc6zzrHPg868zq3Ovc63IM6xzrvOu86xzrPOriDPg86xz4IgzrTOtc69IM61z4bOsc+BzrzPjM62zrXPhM6xzrkuIM6dzrEgzrPOr869zrXOuSDOtc+AzrXOvs61z4HOs86xz4POr86xIM+AzqzOu865ICjOvM61IFwibiIKKyJcIiDOsc+Azr/Pgc+Bzq/PgM+EzrXPhM6xzrkhKSBbeS9uXTsiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyMgorbXNnaWQgIiIKKyJ5IC0gc3RhZ2UgdGhpcyBodW5rXG4iCisibiAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmtcbiIKKyJxIC0gcXVpdDsgZG8gbm90IHN0YWdlIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIHN0YWdlIHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisiZCAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAiIgorInkgLSDPgM+Bzr/Otc+Ezr/Ouc68zrHPg86vzrEgzrHPhc+Ezq7PgiDPhM63z4IgzrHOu867zrHOs86uz4JcbiIKKyJuIC0gz4zPh865IM+Az4HOv861z4TOv865zrzOsc+Dzq/OsSDOsc+Fz4TOrs+CIM+EzrfPgiDOsc67zrvOsc6zzq7PglxuIgorInEgLSDOrc6+zr/OtM6/z4IsIM+Mz4fOuSDPgM+Bzr/Otc+Ezr/Ouc68zrHPg86vzrEgzrHPhc+Ezq7PgiDPhM63z4IgzrHOu867zrHOs86uz4Igzq4gzrrOsc68zq/Osc+CIM6xz4DPjCDPjM+DzrXPgiDOsc+Azr/OvM6tzr3Ov8+Fzr1cbiIKKyJhIC0gz4DPgc6/zrXPhM6/zrnOvM6xz4POr86xIM6xz4XPhM6uz4Igz4TOt8+CIM6xzrvOu86xzrPOrs+CIM66zrHOuSDPjM67z4nOvSDPhM+Jzr0gzrXPgM+MzrzOtc69z4nOvSDOsc67zrvOsc6zz47OvSDPg8+Ezr8gzrHPgc+HzrXOr86/XG4iCisiZCAtIM+Mz4fOuSDPgM+Bzr/Otc+Ezr/Ouc68zrHPg86vzrEgzrHPhc+Ezq7PgiDPhM63z4IgzrHOu867zrHOs86uz4Igzq4gzrrOsc68zq/Osc+CIM6xz4DPjCDPhM65z4IgzrXPgM+MzrzOtc69zrXPgiDOsc67zrvOsc6zzq3PgiDPg8+Ezr8gIgorIs6xz4HPh861zq/OvyIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjI4Cittc2dpZCAiIgorInkgLSBzdGFzaCB0aGlzIGh1bmtcbiIKKyJuIC0gZG8gbm90IHN0YXNoIHRoaXMgaHVua1xuIgorInEgLSBxdWl0OyBkbyBub3Qgc3Rhc2ggdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gc3Rhc2ggdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKKyJkIC0gZG8gbm90IHN0YXNoIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgorbXNnc3RyICIiCisieSAtIM6xz4DOv864zq7Ous61z4XPg863IM6xz4XPhM6uz4Igz4TOt8+CIM6xzrvOu86xzrPOrs+CXG4iCisibiAtIM+Mz4fOuSDOsc+Azr/OuM6uzrrOtc+Fz4POtyDOsc+Fz4TOrs+CIM+EzrfPgiDOsc67zrvOsc6zzq7PglxuIgorInEgLSDOrc6+zr/OtM6/z4IsIM+Mz4fOuSDOsc+Azr/OuM6uzrrOtc+Fz4POtyDOsc+Fz4TOrs+CIM+EzrfPgiDOsc67zrvOsc6zzq7PgiDOriDOus6xzrzOr86xz4IgzrHPgM+MIM+Mz4POtc+CIM6xz4DOv868zq3Ovc6/z4XOvVxuIgorImEgLSDOsc+Azr/OuM6uzrrOtc+Fz4POtyDOsc+Fz4TOrs+CIM+EzrfPgiDOsc67zrvOsc6zzq7PgiDOus6xzrkgz4zOu8+Jzr0gz4TPic69IM61z4DPjM68zrXOvc+Jzr0gzrHOu867zrHOs8+Ozr0gz4PPhM6/IM6xz4HPh861zq/Ov1xuIgorImQgLSDPjM+HzrkgzrHPgM6/zrjOrs66zrXPhc+DzrcgzrHPhc+Ezq7PgiDPhM63z4IgzrHOu867zrHOs86uz4Igzq4gzrrOsc68zq/Osc+CIM6xz4DPjCDPhM65z4IgzrXPgM+MzrzOtc69zrXPgiDOsc67zrvOsc6zzq3PgiDPg8+Ezr8gIgorIs6xz4HPh861zq/OvyIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjM0Cittc2dpZCAiIgorInkgLSB1bnN0YWdlIHRoaXMgaHVua1xuIgorIm4gLSBkbyBub3QgdW5zdGFnZSB0aGlzIGh1bmtcbiIKKyJxIC0gcXVpdDsgZG8gbm90IHVuc3RhZ2UgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gdW5zdGFnZSB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorImQgLSBkbyBub3QgdW5zdGFnZSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAiIgorInkgLSDOsc+Azr/PgM+Bzr/Otc+Ezr/Ouc68zrHPg86vzrEgzrHPhc+Ezq7PgiDPhM63z4IgzrHOu867zrHOs86uz4JcbiIKKyJuIC0gz4zPh865IM6xz4DOv8+Az4HOv861z4TOv865zrzOsc+Dzq/OsSDOsc+Fz4TOrs+CIM+EzrfPgiDOsc67zrvOsc6zzq7PglxuIgorInEgLSDOrc6+zr/OtM6/z4IsIM+Mz4fOuSDOsc+Azr/PgM+Bzr/Otc+Ezr/Ouc68zrHPg86vzrEgzrHPhc+Ezq7PgiDPhM63z4IgzrHOu867zrHOs86uz4Igzq4gzrrOsc68zq/Osc+CIM6xz4DPjCDPjM+DzrXPgiAiCisizrHPgM6/zrzOrc69zr/Phc69XG4iCisiYSAtIM6xz4DOv8+Az4HOv861z4TOv865zrzOsc+Dzq/OsSDOsc+Fz4TOrs+CIM+EzrfPgiDOsc67zrvOsc6zzq7PgiDOus6xzrkgz4zOu8+Jzr0gz4TPic69IM61z4DPjM68zrXOvc+Jzr0gzrHOu867zrHOs8+Ozr0gz4PPhM6/ICIKKyLOsc+Bz4fOtc6vzr9cbiIKKyJkIC0gz4zPh865IM6xz4DOv8+Az4HOv861z4TOv865zrzOsc+Dzq/OsSDOsc+Fz4TOrs+CIM+EzrfPgiDOsc67zrvOsc6zzq7PgiDOriDOus6xzrzOr86xz4IgzrHPgM+MIM+EzrnPgiDOtc+Az4zOvM61zr3Otc+CIM6xzrvOu86xzrPOrc+CICIKKyLPg8+Ezr8gzrHPgc+HzrXOr86/IgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDAKK21zZ2lkICIiCisieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgorIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4XG4iCisicSAtIHF1aXQ7IGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSBhcHBseSB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorImQgLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCittc2dzdHIgIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQ2Cittc2dpZCAiIgorInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCisibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCisicSAtIHF1aXQ7IGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIGRpc2NhcmQgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKKyJkIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCittc2dzdHIgIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjUyCittc2dpZCAiIgorInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgorIm4gLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWVcbiIKKyJxIC0gcXVpdDsgZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gZGlzY2FyZCB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorImQgLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNTgKK21zZ2lkICIiCisieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKKyJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKKyJxIC0gcXVpdDsgZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIGFwcGx5IHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisiZCAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzMKK21zZ2lkICIiCisiZyAtIHNlbGVjdCBhIGh1bmsgdG8gZ28gdG9cbiIKKyIvIC0gc2VhcmNoIGZvciBhIGh1bmsgbWF0Y2hpbmcgdGhlIGdpdmVuIHJlZ2V4XG4iCisiaiAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBuZXh0IHVuZGVjaWRlZCBodW5rXG4iCisiSiAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBuZXh0IGh1bmtcbiIKKyJrIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIHByZXZpb3VzIHVuZGVjaWRlZCBodW5rXG4iCisiSyAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBwcmV2aW91cyBodW5rXG4iCisicyAtIHNwbGl0IHRoZSBjdXJyZW50IGh1bmsgaW50byBzbWFsbGVyIGh1bmtzXG4iCisiZSAtIG1hbnVhbGx5IGVkaXQgdGhlIGN1cnJlbnQgaHVua1xuIgorIj8gLSBwcmludCBoZWxwXG4iCittc2dzdHIgIiIKKyJnIC0gzrXPgM65zrvOv86zzq4gzrHOu867zrHOs86uz4IgzrPOuc6xIM69zrEgz4DOrM+EzrVcbiIKKyIvIC0gzrHOvc6xzrbOrs+EzrfPg863IM6zzrnOsSDOsc67zrvOsc6zzq4gz4DOv8+FIM+EzrHOuc+BzrnOrM62zrXOuSDOvM61IM+EzrcgzrTOv864zrXOr8+DzrEgzrrOsc69zr/Ovc65zrrOriDOrc66z4bPgc6xz4POt1xuIgorImogLSDPjM+HzrkgzrHPgM+Mz4bOsc+DzrcgzrPOuc6xIM6xz4XPhM6uIM+EzrfOvSDOsc67zrvOsc6zzq4sIM60zrXPgiDPhM63zr0gzrXPgM+MzrzOtc69zrcgzrHOu867zrHOs86uIM+Hz4nPgc6vz4IgzrHPgM+Mz4bOsc+DzrdcbiIKKyJKIC0gz4zPh865IM6xz4DPjM+GzrHPg863IM6zzrnOsSDOsc+Fz4TOriDPhM63zr0gzrHOu867zrHOs86uLCDOtM61z4Igz4TOt869IM61z4DPjM68zrXOvc63IM6xzrvOu86xzrPOrlxuIgorImsgLSDPjM+HzrkgzrHPgM+Mz4bOsc+DzrcgzrPOuc6xIM6xz4XPhM6uIM+EzrfOvSDOsc67zrvOsc6zzq4sIM60zrXPgiDPhM63zr0gz4DPgc6/zrfOs86/z43OvM61zr3OtyDOsc67zrvOsc6zzq4gz4fPic+Bzq/PgiAiCisizrHPgM+Mz4bOsc+DzrdcbiIKKyJLIC0gz4zPh865IM6xz4DPjM+GzrHPg863IM6zzrnOsSDOsc+Fz4TOriDPhM63zr0gzrHOu867zrHOs86uLCDOtM61z4Igz4TOt869IM+Az4HOv863zrPOv8+NzrzOtc69zrcgzrHOu867zrHOs86uXG4iCisicyAtIM+EzrXOvM6sz4fOuc+DzrUgz4TOt869IM+Ez4HOrc+Hzr/Phc+DzrEgzrHOu867zrHOs86uIM+DzrUgzrzOuc66z4HPjM+EzrXPgc61z4IgzrHOu867zrHOs86tz4JcbiIKKyJlIC0gz4fOtc65z4HOv866zq/Ovc63z4TOtyDOtc+AzrXOvs61z4HOs86xz4POr86xIM+EzrfPgiDPgM6xz4HOv8+Nz4POsc+CIM6xzrvOu86xzrPOrs+CXG4iCisiPyAtIM+Az4HOv86yzr/Ou86uIM6yzr/Ors64zrXOuc6xz4JcbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA0Cittc2dpZCAiVGhlIHNlbGVjdGVkIGh1bmtzIGRvIG5vdCBhcHBseSB0byB0aGUgaW5kZXghXG4iCittc2dzdHIgIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA1Cittc2dpZCAiQXBwbHkgdGhlbSB0byB0aGUgd29ya3RyZWUgYW55d2F5PyAiCittc2dzdHIgIs6dzrEgzrPOr869zrXOuSDPgM6sz4HOsc+Fz4TOsSDOtc+GzrHPgc68zr/Os86uIM+Ezr/Phc+CIM+Dz4TOvyDOtM6tzr3PhM+Bzr8gzrXPgc6zzrHPg86vzrHPgjsgIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMDgKK21zZ2lkICJOb3RoaW5nIHdhcyBhcHBsaWVkLlxuIgorbXNnc3RyICLOlM61zr0gzrXPhs6xz4HOvM+Mz4PPhM63zrrOtSDPhM6vz4DOv8+EzrEuXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxOQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bm1lcmdlZDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMjgKK21zZ2lkICJPbmx5IGJpbmFyeSBmaWxlcyBjaGFuZ2VkLlxuIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzMAorbXNnaWQgIk5vIGNoYW5nZXMuXG4iCittc2dzdHIgIs6UzrXOvSDPhc+AzqzPgc+Hzr/Phc69IM6xzrvOu86xzrPOrc+CLlxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzgKK21zZ2lkICJQYXRjaCB1cGRhdGUiCittc2dzdHIgIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzkwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlN0YWdlIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5MQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTIKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5NQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTdGFzaCBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTYKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU3Rhc2ggZGVsZXRpb24gW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzk3CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlN0YXNoIHRoaXMgaHVuayBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MDAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiVW5zdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MDEKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiVW5zdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MDIKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiVW5zdGFnZSB0aGlzIGh1bmsgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDA1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIGluZGV4IFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICIiCisizp3OsSDOs86vzr3Otc65IM61z4bOsc+BzrzOv86zzq4gz4TOt8+CIM6xzrvOu86xzrPOrs+CIM67zrXOuc+Ezr/Phc+BzrPOr86xz4Igz4PPhM6/IM61z4XPgc61z4TOrs+BzrnOvyBbeSxuLHEsYSxkJXMsP107ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDA2CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwNworIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDEwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkRpc2NhcmQgbW9kZSBjaGFuZ2UgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MTEKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiRGlzY2FyZCBkZWxldGlvbiBmcm9tIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxMgorIywgcGVybC1mb3JtYXQKK21zZ2lkICJEaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxNQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxNgorIywgcGVybC1mb3JtYXQKK21zZ2lkICJEaXNjYXJkIGRlbGV0aW9uIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxNworIywgcGVybC1mb3JtYXQKK21zZ2lkICJEaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MjAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICIiCisizp3OsSDOs86vzr3Otc65IM61z4bOsc+BzrzOv86zzq4gz4TOt8+CIM6xzrvOu86xzrPOrs+CIM67zrXOuc+Ezr/Phc+BzrPOr86xz4Igz4PPhM6/IM61z4XPgc61z4TOrs+BzrnOvyDOus6xzrkgz4TOvyDOtM6tzr3PhM+Bzr8gIgorIs61z4HOs86xz4POr86xz4IgW3ksbixxLGEsZCVzLD9dOyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyMQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSBkZWxldGlvbiB0byBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDIyCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTIyCittc2dpZCAiTm8gb3RoZXIgaHVua3MgdG8gZ290b1xuIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUyOQorbXNnaWQgImdvIHRvIHdoaWNoIGh1bmsgKDxyZXQ+IHRvIHNlZSBtb3JlKT8gIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUzMQorbXNnaWQgImdvIHRvIHdoaWNoIGh1bms/ICIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NDAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBudW1iZXI6ICclcydcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NDUKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU29ycnksIG9ubHkgJWQgaHVuayBhdmFpbGFibGUuXG4iCittc2dpZF9wbHVyYWwgIlNvcnJ5LCBvbmx5ICVkIGh1bmtzIGF2YWlsYWJsZS5cbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3MQorbXNnaWQgIk5vIG90aGVyIGh1bmtzIHRvIHNlYXJjaFxuIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3NQorbXNnaWQgInNlYXJjaCBmb3IgcmVnZXg/ICIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1ODgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzXG4iCittc2dzdHIgIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTk4Cittc2dpZCAiTm8gaHVuayBtYXRjaGVzIHRoZSBnaXZlbiBwYXR0ZXJuXG4iCittc2dzdHIgIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjEwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYzMgorbXNnaWQgIk5vIHByZXZpb3VzIGh1bmtcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjM4Cittc2dpZCAiTm8gbmV4dCBodW5rXG4iCittc2dzdHIgIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQ0Cittc2dpZCAiU29ycnksIGNhbm5vdCBzcGxpdCB0aGlzIGh1bmtcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU3BsaXQgaW50byAlZCBodW5rLlxuIgorbXNnaWRfcGx1cmFsICJTcGxpdCBpbnRvICVkIGh1bmtzLlxuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjYwCittc2dpZCAiU29ycnksIGNhbm5vdCBlZGl0IHRoaXMgaHVua1xuIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcwNgorbXNnaWQgIlJldmlldyBkaWZmIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBwbGVhc2UgZG8gbm90IHRyYW5zbGF0ZSB0aGUgY29tbWFuZCBuYW1lcworIy4gJ3N0YXR1cycsICd1cGRhdGUnLCAncmV2ZXJ0JywgZXRjLgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzI1Cittc2dpZCAiIgorInN0YXR1cyAgICAgICAgLSBzaG93IHBhdGhzIHdpdGggY2hhbmdlc1xuIgorInVwZGF0ZSAgICAgICAgLSBhZGQgd29ya2luZyB0cmVlIHN0YXRlIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXNcbiIKKyJyZXZlcnQgICAgICAgIC0gcmV2ZXJ0IHN0YWdlZCBzZXQgb2YgY2hhbmdlcyBiYWNrIHRvIHRoZSBIRUFEIHZlcnNpb25cbiIKKyJwYXRjaCAgICAgICAgIC0gcGljayBodW5rcyBhbmQgdXBkYXRlIHNlbGVjdGl2ZWx5XG4iCisiZGlmZiAgICAgICAgICAtIHZpZXcgZGlmZiBiZXR3ZWVuIEhFQUQgYW5kIGluZGV4XG4iCisiYWRkIHVudHJhY2tlZCAtIGFkZCBjb250ZW50cyBvZiB1bnRyYWNrZWQgZmlsZXMgdG8gdGhlIHN0YWdlZCBzZXQgb2YgIgorImNoYW5nZXNcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzQ3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NTAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzU3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzY3Cittc2dpZCAibWlzc2luZyAtLSIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjMKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAidW5rbm93biAtLXBhdGNoIG1vZGU6ICVzIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NzUKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAlcywgZXhwZWN0aW5nIC0tIgorbXNnc3RyICIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM4Cittc2dpZCAibG9jYWwgem9uZSBkaWZmZXJzIGZyb20gR01UIGJ5IGEgbm9uLW1pbnV0ZSBpbnRlcnZhbFxuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUxCittc2dpZCAibG9jYWwgdGltZSBvZmZzZXQgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDI0IGhvdXJzXG4iCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoyMTkgZ2l0LXNlbmQtZW1haWwucGVybDoyMjUKK21zZ2lkICJ0aGUgZWRpdG9yIGV4aXRlZCB1bmNsZWFubHksIGFib3J0aW5nIGV2ZXJ5dGhpbmciCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDozMDIKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiIgorIiclcycgY29udGFpbnMgYW4gaW50ZXJtZWRpYXRlIHZlcnNpb24gb2YgdGhlIGVtYWlsIHlvdSB3ZXJlIGNvbXBvc2luZy5cbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMwNworIywgcGVybC1mb3JtYXQKK21zZ2lkICInJXMuZmluYWwnIGNvbnRhaW5zIHRoZSBjb21wb3NlZCBlbWFpbC5cbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMyNgorbXNnaWQgIi0tZHVtcC1hbGlhc2VzIGluY29tcGF0aWJsZSB3aXRoIG90aGVyIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjM5NSBnaXQtc2VuZC1lbWFpbC5wZXJsOjY1MAorbXNnaWQgIkNhbm5vdCBydW4gZ2l0IGZvcm1hdC1wYXRjaCBmcm9tIG91dHNpZGUgYSByZXBvc2l0b3J5XG4iCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDozOTgKK21zZ2lkICIiCisiYGJhdGNoLXNpemVgIGFuZCBgcmVsb2dpbmAgbXVzdCBiZSBzcGVjaWZpZWQgdG9nZXRoZXIgKHZpYSBjb21tYW5kLWxpbmUgb3IgIgorImNvbmZpZ3VyYXRpb24gb3B0aW9uKVxuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDY4CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlVua25vd24gLS1zdXBwcmVzcy1jYyBmaWVsZDogJyVzJ1xuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDk3CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlVua25vd24gLS1jb25maXJtIHNldHRpbmc6ICclcydcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUyNQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBhbGlhcyB3aXRoIHF1b3RlcyBpcyBub3Qgc3VwcG9ydGVkOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTI3CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGA6aW5jbHVkZTpgIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjkKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAid2FybmluZzogYC9maWxlYCBvciBgfHBpcGVgIHJlZGlyZWN0aW9uIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MzQKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAid2FybmluZzogc2VuZG1haWwgbGluZSBpcyBub3QgcmVjb2duaXplZDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYxNgorIywgcGVybC1mb3JtYXQKK21zZ2lkICIiCisiRmlsZSAnJXMnIGV4aXN0cyBidXQgaXQgY291bGQgYWxzbyBiZSB0aGUgcmFuZ2Ugb2YgY29tbWl0c1xuIgorInRvIHByb2R1Y2UgcGF0Y2hlcyBmb3IuICBQbGVhc2UgZGlzYW1iaWd1YXRlIGJ5Li4uXG4iCisiXG4iCisiICAgICogU2F5aW5nIFwiLi8lc1wiIGlmIHlvdSBtZWFuIGEgZmlsZTsgb3JcbiIKKyIgICAgKiBHaXZpbmcgLS1mb3JtYXQtcGF0Y2ggb3B0aW9uIGlmIHlvdSBtZWFuIGEgcmFuZ2UuXG4iCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo2MzcKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW5kaXIgJXM6ICVzIgorbXNnc3RyICIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjYxCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIiIKKyJmYXRhbDogJXM6ICVzXG4iCisid2FybmluZzogbm8gcGF0Y2hlcyB3ZXJlIHNlbnRcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY3MgorbXNnaWQgIiIKKyJcbiIKKyJObyBwYXRjaCBmaWxlcyBzcGVjaWZpZWQhXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo2ODUKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiTm8gc3ViamVjdCBsaW5lIGluICVzPyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY5NQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gb3BlbiBmb3Igd3JpdGluZyAlczogJXMiCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MDYKK21zZ2lkICIiCisiTGluZXMgYmVnaW5uaW5nIGluIFwiR0lUOlwiIHdpbGwgYmUgcmVtb3ZlZC5cbiIKKyJDb25zaWRlciBpbmNsdWRpbmcgYW4gb3ZlcmFsbCBkaWZmc3RhdCBvciB0YWJsZSBvZiBjb250ZW50c1xuIgorImZvciB0aGUgcGF0Y2ggeW91IGFyZSB3cml0aW5nLlxuIgorIlxuIgorIkNsZWFyIHRoZSBib2R5IGNvbnRlbnQgaWYgeW91IGRvbid0IHdpc2ggdG8gc2VuZCBhIHN1bW1hcnkuXG4iCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MzAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXM6ICVzIgorbXNnc3RyICIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzQ3CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzLmZpbmFsOiAlcyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc5MAorbXNnaWQgIlN1bW1hcnkgZW1haWwgaXMgZW1wdHksIHNraXBwaW5nIGl0XG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBrZWVwIFt5L05dIGFzIGlzLgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjUKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVzZSA8JXM+IFt5L05dPyAiCittc2dzdHIgIs6Vz4DOuc6yzrXOss6xzrnPjs69zrXPhM61IM+Az4nPgiDOuM6tzrvOtc+EzrUgzr3OsSDPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4POtc+EzrUgPCVzPiBbeS9OXT8gIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg4MAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIGZpbGVzIGFyZSA4Yml0LCBidXQgZG8gbm90IGRlY2xhcmUgYSBDb250ZW50LVRyYW5zZmVyLSIKKyJFbmNvZGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg4NQorbXNnaWQgIldoaWNoIDhiaXQgZW5jb2Rpbmcgc2hvdWxkIEkgZGVjbGFyZSBbVVRGLThdPyAiCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo4OTMKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiIgorIlJlZnVzaW5nIHRvIHNlbmQgYmVjYXVzZSB0aGUgcGF0Y2hcbiIKKyJcdCVzXG4iCisiaGFzIHRoZSB0ZW1wbGF0ZSBzdWJqZWN0ICcqKiogU1VCSkVDVCBIRVJFICoqKicuIFBhc3MgLS1mb3JjZSBpZiB5b3UgcmVhbGx5ICIKKyJ3YW50IHRvIHNlbmQuXG4iCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MTIKK21zZ2lkICJUbyB3aG9tIHNob3VsZCB0aGUgZW1haWxzIGJlIHNlbnQgKGlmIGFueW9uZSk/IgorbXNnc3RyICIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTMwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgImZhdGFsOiBhbGlhcyAnJXMnIGV4cGFuZHMgdG8gaXRzZWxmXG4iCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo5NDIKK21zZ2lkICJNZXNzYWdlLUlEIHRvIGJlIHVzZWQgYXMgSW4tUmVwbHktVG8gZm9yIHRoZSBmaXJzdCBlbWFpbCAoaWYgYW55KT8gIgorbXNnc3RyICIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTAwMCBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwMDgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHVuYWJsZSB0byBleHRyYWN0IGEgdmFsaWQgYWRkcmVzcyBmcm9tOiAlc1xuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbcV0gW2RdIFtlXSBpbiB5b3VyCisjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CisjLiBhdCB0aGlzIHBvaW50LgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDEyCittc2dpZCAiV2hhdCB0byBkbyB3aXRoIHRoaXMgYWRkcmVzcz8gKFtxXXVpdHxbZF1yb3B8W2VdZGl0KTogIgorbXNnc3RyICIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyOQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJDQSBwYXRoIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MTIKK21zZ2lkICIiCisiICAgIFRoZSBDYyBsaXN0IGFib3ZlIGhhcyBiZWVuIGV4cGFuZGVkIGJ5IGFkZGl0aW9uYWxcbiIKKyIgICAgYWRkcmVzc2VzIGZvdW5kIGluIHRoZSBwYXRjaCBjb21taXQgbWVzc2FnZS4gQnkgZGVmYXVsdFxuIgorIiAgICBzZW5kLWVtYWlsIHByb21wdHMgYmVmb3JlIHNlbmRpbmcgd2hlbmV2ZXIgdGhpcyBvY2N1cnMuXG4iCisiICAgIFRoaXMgYmVoYXZpb3IgaXMgY29udHJvbGxlZCBieSB0aGUgc2VuZGVtYWlsLmNvbmZpcm1cbiIKKyIgICAgY29uZmlndXJhdGlvbiBzZXR0aW5nLlxuIgorIlxuIgorIiAgICBGb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiwgcnVuICdnaXQgc2VuZC1lbWFpbCAtLWhlbHAnLlxuIgorIiAgICBUbyByZXRhaW4gdGhlIGN1cnJlbnQgYmVoYXZpb3IsIGJ1dCBzcXVlbGNoIHRoaXMgbWVzc2FnZSxcbiIKKyIgICAgcnVuICdnaXQgY29uZmlnIC0tZ2xvYmFsIHNlbmRlbWFpbC5jb25maXJtIGF1dG8nLlxuIgorIlxuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbeV0gW25dIFtlXSBbcV0gW2FdIGluIHlvdXIKKyMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKKyMuIGF0IHRoaXMgcG9pbnQuCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjcKK21zZ2lkICJTZW5kIHRoaXMgZW1haWw/IChbeV1lc3xbbl1vfFtlXWRpdHxbcV11aXR8W2FdbGwpOiAiCittc2dzdHIgIs6dzrEgzrPOr869zrXOuSDOsc+Azr/Pg8+Ezr/Ou86uIM6xz4XPhM6/z40gz4TOv8+FIGVtYWlsOyAoW3ldZXN8W25db3xbZV1kaXR8W3FddWl0fFthXWxsKTogIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MzAKK21zZ2lkICJTZW5kIHRoaXMgZW1haWwgcmVwbHkgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDU4Cittc2dpZCAiVGhlIHJlcXVpcmVkIFNNVFAgc2VydmVyIGlzIG5vdCBwcm9wZXJseSBkZWZpbmVkLiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MDUKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgU1RBUlRUTFMhICVzIgorbXNnc3RyICIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUxMCBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MTQKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU1RBUlRUTFMgZmFpbGVkISAlcyIKK21zZ3N0ciAizqTOvyBTVEFSVFRMUyDOsc+Azq3PhM+Fz4fOtSEgJXMiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUyMworbXNnaWQgIlVuYWJsZSB0byBpbml0aWFsaXplIFNNVFAgcHJvcGVybHkuIENoZWNrIGNvbmZpZyBhbmQgdXNlIC0tc210cC1kZWJ1Zy4iCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQxCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZW5kICVzXG4iCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ0CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkRyeS1TZW50ICVzXG4iCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ0CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlNlbnQgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDYKK21zZ2lkICJEcnktT0suIExvZyBzYXlzOlxuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU0NgorbXNnaWQgIk9LLiBMb2cgc2F5czpcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NTgKK21zZ2lkICJSZXN1bHQ6ICIKK21zZ3N0ciAizpHPgM6/z4TOrc67zrXPg868zrE6ICIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTYxCittc2dpZCAiUmVzdWx0OiBPS1xuIgorbXNnc3RyICLOkc+Azr/PhM6tzrvOtc+DzrzOsTogT0tcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc5CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgImNhbid0IG9wZW4gZmlsZSAlcyIKK21zZ3N0ciAizrTOtc69IM6uz4TOsc69IM60z4XOvc6xz4TPjCDOvc6xIM6xzr3Ov865z4fPhM61zq8gz4TOvyDOsc+Bz4fOtc6vzr8gJXMiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYyNiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NDYKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiKG1ib3gpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2MzIKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiKG1ib3gpIEFkZGluZyB0bzogJXMgZnJvbSBsaW5lICclcydcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2ODUKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiKG5vbi1tYm94KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzIwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIihib2R5KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCittc2dzdHIgIiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODMxCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIiglcykgQ291bGQgbm90IGV4ZWN1dGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4MzgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiKCVzKSBBZGRpbmcgJXM6ICVzIGZyb206ICclcydcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NDIKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiKCVzKSBmYWlsZWQgdG8gY2xvc2UgcGlwZSB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg3MgorbXNnaWQgImNhbm5vdCBzZW5kIG1lc3NhZ2UgYXMgN2JpdCIKK21zZ3N0ciAiIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4ODAKK21zZ2lkICJpbnZhbGlkIHRyYW5zZmVyIGVuY29kaW5nIgorbXNnc3RyICIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTkyMSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NzMgZ2l0LXNlbmQtZW1haWwucGVybDoxOTgzCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBvcGVuICVzOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTkyNAorIywgcGVybC1mb3JtYXQKK21zZ2lkICIlczogcGF0Y2ggY29udGFpbnMgYSBsaW5lIGxvbmdlciB0aGFuIDk5OCBjaGFyYWN0ZXJzIgorbXNnc3RyICIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk0MQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyAlcyB3aXRoIGJhY2t1cCBzdWZmaXggJyVzJy5cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGtlZXAgIlt5fE5dIiBhcyBpcy4KKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk0NQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gc2VuZCAlcz8gW3l8Tl06ICIKK21zZ3N0ciAiIgpkaWZmIC0tZ2l0IGEvcG8vZXMucG8gYi9wby9lcy5wbwppbmRleCAyMDRiZjllLi5jOGZhYmQ1IDEwMDY0NAotLS0gYS9wby9lcy5wbworKysgYi9wby9lcy5wbwpAQCAtNyw4ICs3LDggQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogR2l0XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMTgtMTItMDIgMTA6NTUrMDgwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMTgtMTItMDEgMjM6MTYtMDUwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE5LTEyLTMwIDA4OjQ4KzA4MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDIwLTAxLTA2IDA5OjEyLTA1MDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IGNocmlzdG9waGVyLmRpYXoucml2QGdtYWlsLmNvbVxuIgogIkxhbmd1YWdlLVRlYW06IENvZGVMYWJvcmEgPGNvZGVsYWJvcmFAZ21haWwuY29tPlxuIgogIkxhbmd1YWdlOiBlc1xuIgpAQCAtMTYsNDAgKzE2LDQ2OCBAQAogIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKICJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKLSJYLUdlbmVyYXRvcjogUG9lZGl0IDIuMS4xXG4iCisiWC1HZW5lcmF0b3I6IFBvZWRpdCAyLjIuNFxuIgogCi0jOiBhZHZpY2UuYzo5OQorIzogYWRkLWludGVyYWN0aXZlLmM6MzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkh1aCAoJXMpPyIKK21zZ3N0ciAiwr9BaGggKCVzKT8iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjUwMCBhZGQtaW50ZXJhY3RpdmUuYzo4MDEgc2VxdWVuY2VyLmM6MzIxNgorIzogc2VxdWVuY2VyLmM6MzY1NiBidWlsdGluL3JlYmFzZS5jOjg3MSBidWlsdGluL3JlYmFzZS5jOjE2NDMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjAxOSBidWlsdGluL3JlYmFzZS5jOjIwNjMKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBpbmRleCIKK21zZ3N0ciAibm8gc2UgcHVkbyBsZWVyIMOtbmRpY2UiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjU1NSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI2OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyOTQKK21zZ2lkICJiaW5hcnkiCittc2dzdHIgImJpbmFyaW8iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjYxMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI3OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMzIKK21zZ2lkICJub3RoaW5nIgorbXNnc3RyICJuYWRhIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2MTQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMTQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzI5Cittc2dpZCAidW5jaGFuZ2VkIgorbXNnc3RyICJzaW4gY2FtYmlvcyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NjUxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjQzCittc2dpZCAiVXBkYXRlIgorbXNnc3RyICJBY3R1YWxpemFyIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2NjggYWRkLWludGVyYWN0aXZlLmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGFnZSAnJXMnIgorbXNnc3RyICJubyBzZSBwdWRvIHBvbmVyIGVuIHN0YWdlICclcyciCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjY3NCBhZGQtaW50ZXJhY3RpdmUuYzo4NjMgc2VxdWVuY2VyLmM6MzQwOQorIzogYnVpbHRpbi9yZWJhc2UuYzo4OTUKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgaW5kZXgiCittc2dzdHIgIm5vIHNlIHB1ZG8gZXNjcmliaXIgw61uZGljZSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6Njc3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjI4CisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJ1cGRhdGVkICVkIHBhdGhcbiIKK21zZ2lkX3BsdXJhbCAidXBkYXRlZCAlZCBwYXRoc1xuIgorbXNnc3RyWzBdICJhY3R1YWxpemFkYSAlZCBydXRhXG4iCittc2dzdHJbMV0gImFjdHVhbGl6YWRhcyAlZCBydXRhc1xuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2OTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzgKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgIm5vdGU6ICVzIGlzIHVudHJhY2tlZCBub3cuXG4iCittc2dzdHIgIm5vdGE6ICVzIG5vIGVzIHJhc3RyZWFkbyBhaG9yYS5cbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NzAwIGFwcGx5LmM6NDEwOCBidWlsdGluL2NoZWNrb3V0LmM6MjgxCisjOiBidWlsdGluL3Jlc2V0LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCittc2dzdHIgIm1ha2VfY2FjaGVfZW50cnkgZmFsbMOzIHBhcmEgbGEgcnV0YSAnJXMnIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo3MzAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTUKK21zZ2lkICJSZXZlcnQiCittc2dzdHIgIlJldmVydGlyIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo3NDYKK21zZ2lkICJDb3VsZCBub3QgcGFyc2UgSEVBRF57dHJlZX0iCittc2dzdHIgIm5vIHNlIHB1ZG8gYW5hbGl6YXIgSEVBRF57dHJlZX0iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjc4NCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYzMQorIywgYy1mb3JtYXQsIHBlcmwtZm9ybWF0Cittc2dpZCAicmV2ZXJ0ZWQgJWQgcGF0aFxuIgorbXNnaWRfcGx1cmFsICJyZXZlcnRlZCAlZCBwYXRoc1xuIgorbXNnc3RyWzBdICJyZXZlcnRpZGEgJWQgcnV0YVxuIgorbXNnc3RyWzFdICJyZXZlcnRpZGFzICVkIHJ1dGFzXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjgzNSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY5NQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1bnRyYWNrZWQgZmlsZXMuXG4iCittc2dzdHIgIk5vIGhheSBhcmNoaXZvcyBzaW4gcmFzdHJlYXIuXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjgzOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY4OQorbXNnaWQgIkFkZCB1bnRyYWNrZWQiCittc2dzdHIgIkFncmVnYXIgbm8gcmFzdHJlYWRvcyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6ODY2IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjI1CisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJhZGRlZCAlZCBwYXRoXG4iCittc2dpZF9wbHVyYWwgImFkZGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gImFncmVnYWRhICVkIHJ1dGFcbiIKK21zZ3N0clsxXSAiYWdyZWdhZGFzICVkIHJ1dGFzXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjg5NgorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bm1lcmdlZDogJXMiCittc2dzdHIgImlnbm9yYW5kbyBsbyBubyBmdXNpb25hZG86ICVzIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5MDggYWRkLXBhdGNoLmM6MTMzMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiT25seSBiaW5hcnkgZmlsZXMgY2hhbmdlZC5cbiIKK21zZ3N0ciAiU29sbyBjYW1iaWFyb24gYXJjaGl2b3MgYmluYXJpb3MuXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjkxMCBhZGQtcGF0Y2guYzoxMzI5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJObyBjaGFuZ2VzLlxuIgorbXNnc3RyICJTaW4gY2FtYmlvcy5cbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTE0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3NgorbXNnaWQgIlBhdGNoIHVwZGF0ZSIKK21zZ3N0ciAiQWN0dWFsaXphY2nDs24gZGVsIHBhcmNoZSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTUzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc1NAorbXNnaWQgIlJldmlldyBkaWZmIgorbXNnc3RyICJSZXZpc2nDs24gZGUgIGRpZmYiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4MQorbXNnaWQgInNob3cgcGF0aHMgd2l0aCBjaGFuZ2VzIgorbXNnc3RyICJtb3N0cmFyIHJ1dGFzIGNvbiBjYW1iaW9zIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5ODMKK21zZ2lkICJhZGQgd29ya2luZyB0cmVlIHN0YXRlIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXMiCittc2dzdHIgImFncmVnYXIgZXN0YWRvIGRlbCDDoXJib2wgZGUgdHJhYmFqbyBhbCBjb25qdW50byBkZSBjYW1iaW9zIGVuIHN0YWdlIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5ODUKK21zZ2lkICJyZXZlcnQgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzIGJhY2sgdG8gdGhlIEhFQUQgdmVyc2lvbiIKK21zZ3N0ciAicmV2ZXJ0aXIgY29uanVudG8gZGUgY2FtYmlvcyBlbiBzdGFnZSBhIGxhIHZlcnNpw7NuIGRlIEhFQUQiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4NworbXNnaWQgInBpY2sgaHVua3MgYW5kIHVwZGF0ZSBzZWxlY3RpdmVseSIKK21zZ3N0ciAiZWxlZ2lyIGh1bmtzIHkgYWN0dWFsaXphciBkZSBmb3JtYSBzZWxlY3RpdmEiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4OQorbXNnaWQgInZpZXcgZGlmZiBiZXR3ZWVuIEhFQUQgYW5kIGluZGV4IgorbXNnc3RyICJ2ZXIgZGlmZiBlbnRyZSBIRUFEIGUgaW5kZXgiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk5MQorbXNnaWQgImFkZCBjb250ZW50cyBvZiB1bnRyYWNrZWQgZmlsZXMgdG8gdGhlIHN0YWdlZCBzZXQgb2YgY2hhbmdlcyIKK21zZ3N0ciAiIgorImFncmVnYXIgY29udGVuaWRvcyBkZSBhcmNoaXZvcyBzaW4gcmFzdHJlYXIgYWwgY29uanVudG8gZGUgY2FtYmlvcyBkZSBzdGFnZSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTk5IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNDgKK21zZ2lkICJQcm9tcHQgaGVscDoiCittc2dzdHIgIk1vc3RyYXIgYXl1ZGE6IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDAxCittc2dpZCAic2VsZWN0IGEgc2luZ2xlIGl0ZW0iCittc2dzdHIgInNlbGVjY2lvbmEgdW4gw7puaWNvIG9iamV0byIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAwMworbXNnaWQgInNlbGVjdCBhIHJhbmdlIG9mIGl0ZW1zIgorbXNnc3RyICJzZWxlY2Npb25hIHVuIHJhbmdvIGRlIG9iamV0b3MiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDUKK21zZ2lkICJzZWxlY3QgbXVsdGlwbGUgcmFuZ2VzIgorbXNnc3RyICJzZWxlY2Npb25hIG11bHRpcGxlcyByYW5nb3MiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDcgYWRkLWludGVyYWN0aXZlLmM6MTA1MgorbXNnaWQgInNlbGVjdCBpdGVtIGJhc2VkIG9uIHVuaXF1ZSBwcmVmaXgiCittc2dzdHIgInNlbGVjY2lvbmFyIG9iamV0byBiYXNhZG8gZW4gcHJlZmlqbyDDum5pY28iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDkKK21zZ2lkICJ1bnNlbGVjdCBzcGVjaWZpZWQgaXRlbXMiCittc2dzdHIgInF1aXRhciBvYmpldG9zIGVzcGVjaWZpY2Fkb3MiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMTEKK21zZ2lkICJjaG9vc2UgYWxsIGl0ZW1zIgorbXNnc3RyICJlc2NvZ2VyIHRvZG9zIGxvcyBvYmpldG9zIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDEzCittc2dpZCAiKGVtcHR5KSBmaW5pc2ggc2VsZWN0aW5nIgorbXNnc3RyICIodmFjw61vKSBmaW5hbGl6YXIgc2VsZWNjacOzbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTA1MAorbXNnaWQgInNlbGVjdCBhIG51bWJlcmVkIGl0ZW0iCittc2dzdHIgInNlbGVjY2lvbmEgdW4gb2JqZXRvIG51bWVyYWRvIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDU0Cittc2dpZCAiKGVtcHR5KSBzZWxlY3Qgbm90aGluZyIKK21zZ3N0ciAiKHZhY8Otbykgc2VsZWNjaW9uYSBuYWRhIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDYyIGJ1aWx0aW4vY2xlYW4uYzo4MjIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODUxCittc2dpZCAiKioqIENvbW1hbmRzICoqKiIKK21zZ3N0ciAiKioqIENvbWFuZG9zICoqKiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTA2MyBidWlsdGluL2NsZWFuLmM6ODIzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTg0OAorbXNnaWQgIldoYXQgbm93IgorbXNnc3RyICJBaG9yYSBxdWUiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjExMTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMTMKK21zZ2lkICJzdGFnZWQiCittc2dzdHIgInJhc3RyZWFkbyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTExNSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMworbXNnaWQgInVuc3RhZ2VkIgorbXNnc3RyICJubyByYXN0cmVhZG8iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjExMTUgYXBwbHkuYzo0OTY1IGFwcGx5LmM6NDk2OCBidWlsdGluL2FtLmM6MjE5NworIzogYnVpbHRpbi9hbS5jOjIyMDAgYnVpbHRpbi9jbG9uZS5jOjEyMyBidWlsdGluL2ZldGNoLmM6MTQ0CisjOiBidWlsdGluL21lcmdlLmM6MjczIGJ1aWx0aW4vcHVsbC5jOjIwOSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NzUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTE5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjEzCittc2dpZCAicGF0aCIKK21zZ3N0ciAicnV0YSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTEyMgorbXNnaWQgImNvdWxkIG5vdCByZWZyZXNoIGluZGV4IgorbXNnc3RyICJubyBzZSBwdWRvIHJlZnJlc2NhciBlbCBpbmRleCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTEzNiBidWlsdGluL2NsZWFuLmM6Nzg3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2NQorIywgYy1mb3JtYXQKK21zZ2lkICJCeWUuXG4iCittc2dzdHIgIkFkacOzcy5cbiIKKworIzogYWRkLXBhdGNoLmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhZ2UgbW9kZSBjaGFuZ2UgW3ksbixhLHEsZCVzLD9dPyAiCittc2dzdHIgIsK/Q2FtYmlvIGRlIG1vZG8gZGUgc3RhZ2UgW3ksbixhLHEsZCVzLD9dPyAiCisKKyM6IGFkZC1wYXRjaC5jOjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YWdlIGRlbGV0aW9uIFt5LG4sYSxxLGQlcyw/XT8gIgorbXNnc3RyICLCv0FwbGljYXIgc3RhZ2UgYWwgYm9ycmFkbyBbeSxuLGEscSxkJXMsP10/ICIKKworIzogYWRkLXBhdGNoLmM6MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhZ2UgdGhpcyBodW5rIFt5LG4sYSxxLGQlcyw/XT8gIgorbXNnc3RyICLCv0FwbGljYXIgc3RhZ2UgYSBlc3RlIGh1bmsgW3ksbixhLHEsZCVzLD9dPyAiCisKKyM6IGFkZC1wYXRjaC5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgaHVuayBoZWFkZXIgJyUuKnMnIgorbXNnc3RyICJubyBzZSBwdWVkZSBhbmFsaXphciBodW5rIGhlYWRlciAnJS4qcyciCisKKyM6IGFkZC1wYXRjaC5jOjEzMCBhZGQtcGF0Y2guYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbG9yZWQgaHVuayBoZWFkZXIgJyUuKnMnIgorbXNnc3RyICJubyBzZSBwdWVkZSBhbmFsaXphciBodW5rIGhlYWRlciAnJS4qcyciCisKKyM6IGFkZC1wYXRjaC5jOjE3NgorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBkaWZmIgorbXNnc3RyICJubyBzZSBwdWVkZSBhbmFsaXphciBkaWZmIgorCisjOiBhZGQtcGF0Y2guYzoxOTQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29sb3JlZCBkaWZmIgorbXNnc3RyICJubyBzZSBwdWRvIGFuYWxpemFyIGRpZmYgYSBjb2xvcmVzIgorCisjOiBhZGQtcGF0Y2guYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImV4cGVjdGVkIGNvbnRleHQgbGluZSAjJWQgaW5cbiIKKyIlLipzIgorbXNnc3RyICIiCisic2UgZXNwZXJhYmEgbMOtbmVhIGRlIGNvbnRleHRvICMlZCBlblxuIgorIiUuKnMiCisKKyM6IGFkZC1wYXRjaC5jOjUyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiaHVua3MgZG8gbm90IG92ZXJsYXA6XG4iCisiJS4qc1xuIgorIlx0ZG9lcyBub3QgZW5kIHdpdGg6XG4iCisiJS4qcyIKK21zZ3N0ciAiIgorImh1bmtzIG5vIGhhY2VuIG92ZXJsYXA6XG4iCisiJS4qc1xuIgorIlx0bm8gYWNhYmEgY29uOlxuIgorIiUuKnMiCisKKyM6IGFkZC1wYXRjaC5jOjc5OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTIKK21zZ2lkICJNYW51YWwgaHVuayBlZGl0IG1vZGUgLS0gc2VlIGJvdHRvbSBmb3IgYSBxdWljayBndWlkZS5cbiIKK21zZ3N0ciAiTW9kbyBkZSBlZGljacOzbiBtYW51YWwgZGUgaHVuayAtLSB2ZWEgYWJham8gcGFyYSB1bmEgZ3XDrWEgcsOhcGlkYS5cbiIKKworIzogYWRkLXBhdGNoLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS1cbiIKKyJUbyByZW1vdmUgJyVjJyBsaW5lcywgbWFrZSB0aGVtICcgJyBsaW5lcyAoY29udGV4dCkuXG4iCisiVG8gcmVtb3ZlICclYycgbGluZXMsIGRlbGV0ZSB0aGVtLlxuIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJWMgd2lsbCBiZSByZW1vdmVkLlxuIgorbXNnc3RyICIiCisiLS0tXG4iCisiUGFyYSBlbGltaW5hciAnJWMnIGzDrW5lYXMsIGhhZ2EgZGUgZWxsYXMgbMOtbmVhcyAgJyAnICAoY29udGV4dG8pLlxuIgorIlBhcmEgZWxpbWluYXIgJyVjJyBsw61uZWFzLCBiw7NycmVsYXMuXG4iCisiTGluZWFzIGNvbWVuemFuZG8gY29uICAlYyBzZXLDoW4gZWxpbWluYWRhcy5cbiIKKworIzogYWRkLXBhdGNoLmM6ODEwCittc2dpZCAiIgorIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCisibWFya2VkIGZvciBzdGFnaW5nLlxuIgorbXNnc3RyICIiCisiU2kgZWwgcGFyY2hlIGFwbGljYSBsaW1waWFtZW50ZSwgZWwgaHVuayBlZGl0YWRvIHNlcmEgbWFyY2Fkb1xuIgorImlubWVkaWF0YW1lbnRlIHBhcmEgZWwgw6FyZWEgZGUgc3RhZ2UuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiAnaXQnIHJlZmVycyB0byB0aGUgcGF0Y2ggbWVudGlvbmVkIGluIHRoZSBwcmV2aW91cyBtZXNzYWdlcy4KKyM6IGFkZC1wYXRjaC5jOjgxOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMjYKK21zZ2lkICIiCisiSWYgaXQgZG9lcyBub3QgYXBwbHkgY2xlYW5seSwgeW91IHdpbGwgYmUgZ2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG9cbiIKKyJlZGl0IGFnYWluLiAgSWYgYWxsIGxpbmVzIG9mIHRoZSBodW5rIGFyZSByZW1vdmVkLCB0aGVuIHRoZSBlZGl0IGlzXG4iCisiYWJvcnRlZCBhbmQgdGhlIGh1bmsgaXMgbGVmdCB1bmNoYW5nZWQuXG4iCittc2dzdHIgIiIKKyJTaSBlc3RvIG5vIGFwbGljYSBkZSBtYW5lcmEgbGltcGlhLCBzZSB0ZSBkYSBsYSBvcG9ydHVuaWRhZCBkZSBcbiIKKyJlZGl0YXIgbnVldmFtZW50ZS4gU2kgdG9kYXMgbGFzIGzDrW5lYXMgZGVsIGh1bmsgc29uIGVsaW1pbmFkYXMsIGVudG9uY2VzIFxuIgorImxhIGVkaWNpw7NuIGVzIGFib3J0YWRhIHkgZWwgaHVuayBxdWVkYSBzaW4gY2FtYmlvcy5cbiIKKworIzogYWRkLXBhdGNoLmM6ODUxCittc2dpZCAiY291bGQgbm90IHBhcnNlIGh1bmsgaGVhZGVyIgorbXNnc3RyICJubyBzZSBwdWVkZSBhbmFsaXphciBodW5rIGhlYWRlciIKKworIzogYWRkLXBhdGNoLmM6ODk1IGFkZC1wYXRjaC5jOjEyOTQKK21zZ2lkICInZ2l0IGFwcGx5IC0tY2FjaGVkJyBmYWlsZWQiCittc2dzdHIgImZhbGzDsyAnZ2l0IGFwcGx5IC0tY2FjaGVkJyIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgW3kvbl0KKyMuIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgdGhhdCBpbnB1dCBhdCB0aGlzIHBvaW50LgorIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKKyMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCisjLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KKyMuCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSBbeS9uXQorIy4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCB0aGF0IGlucHV0CisjLiBhdCB0aGlzIHBvaW50LgorIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKKyMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCisjLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KKyM6IGFkZC1wYXRjaC5jOjk1MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMzkKK21zZ2lkICIiCisiWW91ciBlZGl0ZWQgaHVuayBkb2VzIG5vdCBhcHBseS4gRWRpdCBhZ2FpbiAoc2F5aW5nIFwibm9cIiBkaXNjYXJkcyEpIFt5L25dPyAiCittc2dzdHIgIiIKKyJUdSBodW5rIGVkaXRhZG8gbm8gYXBsaWNhLiDCv0VkaXRhciBudWV2YW1lbnRlICjCoWRlY2lyIFwibm9cIiBkZXNjYXJ0YSEpIFt5LyIKKyJuXT8gIgorCisjOiBhZGQtcGF0Y2guYzoxMDA5Cittc2dpZCAiIgorInkgLSBzdGFnZSB0aGlzIGh1bmtcbiIKKyJuIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVua1xuIgorInEgLSBxdWl0OyBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gc3RhZ2UgdGhpcyBhbmQgYWxsIHRoZSByZW1haW5pbmcgaHVua3NcbiIKKyJkIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVuayBub3IgYW55IG9mIHRoZSByZW1haW5pbmcgaHVua3NcbiIKK21zZ3N0ciAiIgorInkgLSBhcGxpY2FyIHN0YWdlIGEgZXN0ZSBodW5rXG4iCisibiAtIG5vIGFwbGljYXIgc3RhZ2UgYSBlc3RlIGh1bmtcbiIKKyJxIC0gcXVpdDsgbm8gYXBsaWNhciBzdGFnZSBhIGVzdGUgaHVuayBvIG5pbmd1bm8gZGUgbG9zIHJlc3RhbnRlc1xuIgorImEgLSBhcGxpY2FyIHN0YWdlIGEgZXN0ZSBodW5rIHkgYSB0b2RvcyBsb3MgcG9zdGVyaW9yZXMgZW4gZWwgYXJjaGl2byBcbiIKKyJkIC0gbm8gYXBsaWNhciBzdGFnZSBhIGVzdGUgaHVuayBvIGEgbmluZ3VubyBkZSBsb3MgcG9zdGVyaW9yZXMgZW4gZXN0ZSAiCisiYXJjaGl2b1xuIgorCisjOiBhZGQtcGF0Y2guYzoxMDE2Cittc2dpZCAiIgorImogLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgbmV4dCB1bmRlY2lkZWQgaHVua1xuIgorIkogLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgbmV4dCBodW5rXG4iCisiayAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBwcmV2aW91cyB1bmRlY2lkZWQgaHVua1xuIgorIksgLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgcHJldmlvdXMgaHVua1xuIgorImcgLSBzZWxlY3QgYSBodW5rIHRvIGdvIHRvXG4iCisiLyAtIHNlYXJjaCBmb3IgYSBodW5rIG1hdGNoaW5nIHRoZSBnaXZlbiByZWdleFxuIgorInMgLSBzcGxpdCB0aGUgY3VycmVudCBodW5rIGludG8gc21hbGxlciBodW5rc1xuIgorImUgLSBtYW51YWxseSBlZGl0IHRoZSBjdXJyZW50IGh1bmtcbiIKKyI/IC0gcHJpbnQgaGVscFxuIgorbXNnc3RyICIiCisiaiAtIGRlamEgZXN0ZSBodW5rIHNpbiBkZWNpZGlyLCB2ZXIgZWwgc2lndWllbnRlIGh1bmsgc2luIGRlY2lzacOzblxuIgorIkogLSBkZWphIGVzdGUgaHVuayBzaW4gZGVjaWRpciwgdmVyIHNpZ3VpZW50ZSBodW5rXG4iCisiayAtIGRlamEgZXN0ZSBodW5rIHNpbiBkZWNpZGlyLCB2ZXIgaHVuayBwcmV2aW8gc2luIGRlY2lkaXJcbiIKKyJLIC0gZGVqYSBlc3RlIGh1bmsgc2luIGRlY2lkaXIsIHZlciBodW5rIGFudGVyaW9yXG4iCisiZyAtIHNlbGVjY2lvbmEgdW4gaHVuayBhIGTDs25kZSBpclxuIgorIi8gLSBidXNjYXIgdW4gaHVuayBxdWUgY3VtcGxhIGNvbiBlbCByZWdleCBkYWRvXG4iCisicyAtIHNlcGFyYXIgZWwgaHVuayBhY3R1YWwgZW4gbcOhcyBwZXF1ZcOxb3NcbiIKKyJlIC0gZWRpdGFyIG1hbnVhbG1lbnRlIGVsIGh1bmsgYWN0dWFsXG4iCisiPyAtIGltcHJpbWlyIGF5dWRhXG4iCisKKyM6IGFkZC1wYXRjaC5jOjExMzcgYWRkLXBhdGNoLmM6MTE0NworbXNnaWQgIk5vIHByZXZpb3VzIGh1bmsiCittc2dzdHIgIk5vIGVsIGFudGVyaW9yIGh1bmsiCisKKyM6IGFkZC1wYXRjaC5jOjExNDIgYWRkLXBhdGNoLmM6MTE1MgorbXNnaWQgIk5vIG5leHQgaHVuayIKK21zZ3N0ciAiTm8gZWwgc2lndWllbnRlIGh1bmsiCisKKyM6IGFkZC1wYXRjaC5jOjExNTgKK21zZ2lkICJObyBvdGhlciBodW5rcyB0byBnb3RvIgorbXNnc3RyICJObyBoYXkgbcOhcyBwZWRhem9zIHBhcmEgZWwgaXIiCisKKyM6IGFkZC1wYXRjaC5jOjExNjkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTc3Cittc2dpZCAiZ28gdG8gd2hpY2ggaHVuayAoPHJldD4gdG8gc2VlIG1vcmUpPyAiCittc2dzdHIgIsK/YSBxdWUgaHVuayBpciAoPGVudGVyPiBwYXJhIHZlciBtw6FzKT8gIgorCisjOiBhZGQtcGF0Y2guYzoxMTcwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3OQorbXNnaWQgImdvIHRvIHdoaWNoIGh1bms/ICIKK21zZ3N0ciAiwr9hIHF1ZSBodW5rIGlyPyAiCisKKyM6IGFkZC1wYXRjaC5jOjExODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBudW1iZXI6ICclcyciCittc2dzdHIgIk51bWVybyBpbnbDoWxpZG86ICclcyciCisKKyM6IGFkZC1wYXRjaC5jOjExODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU29ycnksIG9ubHkgJWQgaHVuayBhdmFpbGFibGUuIgorbXNnaWRfcGx1cmFsICJTb3JyeSwgb25seSAlZCBodW5rcyBhdmFpbGFibGUuIgorbXNnc3RyWzBdICJMbyBzaWVudG8sIHNvbG8gJWQgaHVuayBkaXNwb25pYmxlLiIKK21zZ3N0clsxXSAiTG8gc2llbnRvLCBzb2xvICVkIGh1bmtzIGRpc3BvbmlibGVzLiIKKworIzogYWRkLXBhdGNoLmM6MTE5NQorbXNnaWQgIk5vIG90aGVyIGh1bmtzIHRvIHNlYXJjaCIKK21zZ3N0ciAiTm8gaGF5IG3DoXMgcGVkYXpvcyBwYXJhIGJ1c2NhciIKKworIzogYWRkLXBhdGNoLmM6MTIwMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MjMKK21zZ2lkICJzZWFyY2ggZm9yIHJlZ2V4PyAiCittc2dzdHIgIsK/YnVzY2FyIHBhcmEgcmVnZXhwPyAiCisKKyM6IGFkZC1wYXRjaC5jOjEyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzIgorbXNnc3RyICJSZWdleHAgcGFyYSBsYSBiw7pzcXVlZGEgbWFsIGZvcm1hZG8gJXM6ICVzIgorCisjOiBhZGQtcGF0Y2guYzoxMjMzCittc2dpZCAiTm8gaHVuayBtYXRjaGVzIHRoZSBnaXZlbiBwYXR0ZXJuIgorbXNnc3RyICJObyBoYXkgaHVua3MgcXVlIGNvbmN1ZXJkZW4gY29uIGVsIHBhdHLDs24gZW50cmVnYWRvLiIKKworIzogYWRkLXBhdGNoLmM6MTI0MAorbXNnaWQgIlNvcnJ5LCBjYW5ub3Qgc3BsaXQgdGhpcyBodW5rIgorbXNnc3RyICJQZXJkw7NuLCBubyBzZSBwdWVkZSBkaXZpZGlyIGVzdGUgcGVkYXpvIgorCisjOiBhZGQtcGF0Y2guYzoxMjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNwbGl0IGludG8gJWQgaHVua3MuIgorbXNnc3RyICJDb3J0YXIgZW4gJWQgaHVuay4iCisKKyM6IGFkZC1wYXRjaC5jOjEyNDgKK21zZ2lkICJTb3JyeSwgY2Fubm90IGVkaXQgdGhpcyBodW5rIgorbXNnc3RyICJQZXJkw7NuLCBubyBzZSBwdWVkZSBlZGl0YXIgZXN0ZSBwZWRhem8iCisKKyM6IGFkdmljZS5jOjExMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlc2hpbnQ6ICUuKnMlc1xuIgogbXNnc3RyICIlc2F5dWRhOiAlLipzJXNcbiIKIAotIzogYWR2aWNlLmM6MTUyCisjOiBhZHZpY2UuYzoxNjQKIG1zZ2lkICJDaGVycnktcGlja2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIiIKICJObyBlcyBwb3NpYmxlIGVqZWN1dGFyIGNoZXJyeS1waWNraW5nIHBvcnF1ZSB0aWVuZXMgYXJjaGl2b3Mgc2luIGZ1c2lvbmFyLiIKIAotIzogYWR2aWNlLmM6MTU0CisjOiBhZHZpY2UuYzoxNjYKIG1zZ2lkICJDb21taXR0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiTm8gZXMgcG9zaWJsZSByZWFsaXphciB1biBjb21taXQgcG9ycXVlIHRpZW5lcyBhcmNoaXZvcyBzaW4gZnVzaW9uYXIuIgogCi0jOiBhZHZpY2UuYzoxNTYKKyM6IGFkdmljZS5jOjE2OAogbXNnaWQgIk1lcmdpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICJObyBlcyBwb3NpYmxlIGhhY2VyIG1lcmdlIHBvcnF1ZSB0aWVuZXMgYXJjaGl2b3Mgc2luIGZ1c2lvbmFyLiIKIAotIzogYWR2aWNlLmM6MTU4CisjOiBhZHZpY2UuYzoxNzAKIG1zZ2lkICJQdWxsaW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiTm8gZXMgcG9zaWJsZSBoYWNlciBwdWxsIHBvcnF1ZSB0aWVuZXMgYXJjaGl2b3Mgc2luIGZ1c2lvbmFyLiIKIAotIzogYWR2aWNlLmM6MTYwCisjOiBhZHZpY2UuYzoxNzIKIG1zZ2lkICJSZXZlcnRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICJObyBlcyBwb3NpYmxlIHJldmVydGlyIHBvcnF1ZSB0aWVuZXMgYXJjaGl2b3Mgc2luIGZ1c2lvbmFyLiIKIAotIzogYWR2aWNlLmM6MTYyCisjOiBhZHZpY2UuYzoxNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSXQgaXMgbm90IHBvc3NpYmxlIHRvICVzIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICJObyBlcyBwb3NpYmxlICVzIHBvcnF1ZSB0aWVuZXMgYXJjaGl2b3Mgc2luIGZ1c2lvbmFyLiIKIAotIzogYWR2aWNlLmM6MTcwCisjOiBhZHZpY2UuYzoxODIKIG1zZ2lkICIiCiAiRml4IHRoZW0gdXAgaW4gdGhlIHdvcmsgdHJlZSwgYW5kIHRoZW4gdXNlICdnaXQgYWRkL3JtIDxmaWxlPidcbiIKICJhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24gYW5kIG1ha2UgYSBjb21taXQuIgpAQCAtNTcsMTQ0ICs0ODUsMTU2IEBACiAiQ29ycsOtZ2Vsb3MgZW4gZWwgw6FyYm9sIGRlIHRyYWJham8geSBlbnRvbmNlcyB1c2EgJ2dpdCBhZGQvcm0gPGFyY2hpdm8+JyxcbiIKICJjb21vIHNlYSBhcHJvcGlhZG8sIHBhcmEgbWFyY2FyIGxhIHJlc29sdWNpw7NuIHkgcmVhbGl6YXIgdW4gY29tbWl0LiIKIAotIzogYWR2aWNlLmM6MTc4CisjOiBhZHZpY2UuYzoxOTAKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgYW4gdW5yZXNvbHZlZCBjb25mbGljdC4iCiBtc2dzdHIgIlNhbGllbmRvIHBvcnF1ZSBleGlzdGUgdW4gY29uZmxpY3RvIHNpbiByZXNvbHZlci4iCiAKLSM6IGFkdmljZS5jOjE4MyBidWlsdGluL21lcmdlLmM6MTI4OQorIzogYWR2aWNlLmM6MTk1IGJ1aWx0aW4vbWVyZ2UuYzoxMzMyCiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuIgogbXNnc3RyICJObyBoYXMgY29uY2x1aWRvIHR1IGZ1c2nDs24gKE1FUkdFX0hFQUQgZXhpc3RlKS4iCiAKLSM6IGFkdmljZS5jOjE4NQorIzogYWR2aWNlLmM6MTk3CiBtc2dpZCAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSBtZXJnaW5nLiIKIG1zZ3N0ciAiUG9yIGZhdm9yLCByZWFsaXphIHVuIGNvbW1pdCBhbnRlcyBkZSBmdXNpb25hci4iCiAKLSM6IGFkdmljZS5jOjE4NgorIzogYWR2aWNlLmM6MTk4CiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIHVuZmluaXNoZWQgbWVyZ2UuIgogbXNnc3RyICJTYWxpZW5kbyBwb3IgdW5hIGZ1c2nDs24gaW5jb25jbHVzYS4iCiAKLSM6IGFkdmljZS5jOjE5MgorIzogYWR2aWNlLmM6MjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJOb3RlOiBjaGVja2luZyBvdXQgJyVzJy5cbiIKKyJOb3RlOiBzd2l0Y2hpbmcgdG8gJyVzJy5cbiIKICJcbiIKICJZb3UgYXJlIGluICdkZXRhY2hlZCBIRUFEJyBzdGF0ZS4gWW91IGNhbiBsb29rIGFyb3VuZCwgbWFrZSBleHBlcmltZW50YWxcbiIKICJjaGFuZ2VzIGFuZCBjb21taXQgdGhlbSwgYW5kIHlvdSBjYW4gZGlzY2FyZCBhbnkgY29tbWl0cyB5b3UgbWFrZSBpbiB0aGlzXG4iCi0ic3RhdGUgd2l0aG91dCBpbXBhY3RpbmcgYW55IGJyYW5jaGVzIGJ5IHBlcmZvcm1pbmcgYW5vdGhlciBjaGVja291dC5cbiIKKyJzdGF0ZSB3aXRob3V0IGltcGFjdGluZyBhbnkgYnJhbmNoZXMgYnkgc3dpdGNoaW5nIGJhY2sgdG8gYSBicmFuY2guXG4iCiAiXG4iCiAiSWYgeW91IHdhbnQgdG8gY3JlYXRlIGEgbmV3IGJyYW5jaCB0byByZXRhaW4gY29tbWl0cyB5b3UgY3JlYXRlLCB5b3UgbWF5XG4iCi0iZG8gc28gKG5vdyBvciBsYXRlcikgYnkgdXNpbmcgLWIgd2l0aCB0aGUgY2hlY2tvdXQgY29tbWFuZCBhZ2Fpbi4gRXhhbXBsZTpcbiIKKyJkbyBzbyAobm93IG9yIGxhdGVyKSBieSB1c2luZyAtYyB3aXRoIHRoZSBzd2l0Y2ggY29tbWFuZC4gRXhhbXBsZTpcbiIKICJcbiIKLSIgIGdpdCBjaGVja291dCAtYiA8bmV3LWJyYW5jaC1uYW1lPlxuIgorIiAgZ2l0IHN3aXRjaCAtYyA8bmV3LWJyYW5jaC1uYW1lPlxuIgorIlxuIgorIk9yIHVuZG8gdGhpcyBvcGVyYXRpb24gd2l0aDpcbiIKKyJcbiIKKyIgIGdpdCBzd2l0Y2ggLVxuIgorIlxuIgorIlR1cm4gb2ZmIHRoaXMgYWR2aWNlIGJ5IHNldHRpbmcgY29uZmlnIHZhcmlhYmxlIGFkdmljZS5kZXRhY2hlZEhlYWQgdG8gIgorImZhbHNlXG4iCiAiXG4iCiBtc2dzdHIgIiIKLSJOb3RhOiBhY3R1YWxpemFuZG8gZWwgw6FyYm9sIGRlIHRyYWJham8gJyVzJy5cbiIKKyJOb3RhOiBjYW1iaWFuZG8gYSAnJXMnLlxuIgogIlxuIgogIlRlIGVuY3VlbnRyYXMgZW4gZXN0YWRvICdkZXRhY2hlZCBIRUFEJy4gUHVlZGVzIHJldmlzYXIgcG9yIGFxdcOtLCBoYWNlclxuIgotImNhbWJpb3MgZXhwZXJpbWVudGFsZXMgeSBjb25maXJtYXJsb3MsIHkgcHVlZGVzIGRlc2NhcnRhciBjdWFscXVpZXJcbiIKKyJjYW1iaW9zIGV4cGVyaW1lbnRhbGVzIHkgaGFjZXIgY29tbWl0cywgeSBwdWVkZXMgZGVzY2FydGFyIGN1YWxxdWllclxuIgogImNvbW1pdCBxdWUgaGF5YXMgaGVjaG8gZW4gZXN0ZSBlc3RhZG8gc2luIGltcGFjdGFyIGEgdHUgcmFtYSByZWFsaXphbmRvXG4iCiAib3RybyBjaGVja291dC5cbiIKICJcbiIKICJTaSBxdWllcmVzIGNyZWFyIHVuYSBudWV2YSByYW1hIHBhcmEgbWFudGVuZXIgbG9zIGNvbW1pdHMgcXVlIGhhcyBjcmVhZG8sXG4iCi0icHVlZGVzIGhhY2VybG8gKGFob3JhIG8gZGVzcHXDqXMpIHVzYW5kbyAtYiBjb24gZWwgY29tYW5kbyBjaGVja291dC4gIgorInB1ZWRlcyBoYWNlcmxvIChhaG9yYSBvIGRlc3B1w6lzKSB1c2FuZG8gLWMgY29uIGVsIGNvbWFuZG8gY2hlY2tvdXQuICIKICJFamVtcGxvOlxuIgogIlxuIgotIiAgZ2l0IGNoZWNrb3V0IC1iIDxub21icmUtZGUtbnVldmEtcmFtYT5cbiIKKyIgIGdpdCBzd2l0Y2ggLWMgPG5vbWJyZS1kZS1udWV2YS1yYW1hPlxuIgorIlxuIgorIk8gZGVzaGFjZXIgbGEgb3BlcmFjacOzbiBjb246XG4iCisiXG4iCisiICBnaXQgc3dpdGNoIC1cbiIKKyJcbiIKKyJEZXNhY3RpdmEgZXN0ZSBhdmlzbyBwb25pZW5kbyBsYSB2YXJpYWJsZSBkZSBjb25maWcgYWR2aWNlLmRldGFjaGVkSGVhZCBlbiAiCisiZmFsc2VcbiIKICJcbiIKIAotIzogYXBwbHkuYzo1OQorIzogYWxpYXMuYzo1MAorbXNnaWQgImNtZGxpbmUgZW5kcyB3aXRoIFxcIgorbXNnc3RyICJjbWRsaW5lIHRlcm1pbmEgZW4gXFwiCisKKyM6IGFsaWFzLmM6NTEKK21zZ2lkICJ1bmNsb3NlZCBxdW90ZSIKK21zZ3N0ciAiY29taWxsYXMgaW5jb21wbGV0YXMiCisKKyM6IGFwcGx5LmM6NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCiBtc2dzdHIgIm9wY2nDs24gZGUgZXNwYWNpb3MgZW4gYmxhbmNvIG5vIHJlY29ub2NpZGEgJyVzJyIKIAotIzogYXBwbHkuYzo3NQorIzogYXBwbHkuYzo4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCiBtc2dzdHIgIm9wY2nDs24gZGUgaWdub3JhciBlc3BhY2lvcyBlbiBibGFuY28gbm8gcmVjb25vY2lkYSAnJXMnIgogCi0jOiBhcHBseS5jOjEyNQorIzogYXBwbHkuYzoxMzUKIG1zZ2lkICItLXJlamVjdCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKIG1zZ3N0ciAiLS1yZWplY3QgeSAtLTN3YXkgbm8gc2UgcHVlZGVuIHV0aWxpemFyIGp1bnRhcy4iCiAKLSM6IGFwcGx5LmM6MTI3CisjOiBhcHBseS5jOjEzNwogbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgogbXNnc3RyICItLWNhY2hlZCB5IC0tM3dheSBubyBzZSBwdWVkZW4gdXRpbGl6YXIganVudGFzLiIKIAotIzogYXBwbHkuYzoxMzAKKyM6IGFwcGx5LmM6MTQwCiBtc2dpZCAiLS0zd2F5IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLTN3YXkgZXN0w6EgZnVlcmEgZGUgdW4gcmVwb3NpdG9yaW8iCiAKLSM6IGFwcGx5LmM6MTQxCisjOiBhcHBseS5jOjE1MQogbXNnaWQgIi0taW5kZXggb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0taW5kZXggZXN0w6EgZnVlcmEgZGUgdW4gcmVwb3NpdG9yaW8iCiAKLSM6IGFwcGx5LmM6MTQ0CisjOiBhcHBseS5jOjE1NAogbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLWNhY2hlZCBlc3TDoSBmdWVyYSBkZSB1biByZXBvc2l0b3JpbyIKIAotIzogYXBwbHkuYzo4MjYKKyM6IGFwcGx5LmM6ODAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBwcmVwYXJlIHRpbWVzdGFtcCByZWdleHAgJXMiCiBtc2dzdHIgIk5vIHNlIHB1ZWRlIHByZXBhcmFyIHVuYSBtYXJjYSBkZSB0aWVtcG8gcGFyYSBsYSBleHByZXNpw7NuIHJlZ3VsYXIgJXMiCiAKLSM6IGFwcGx5LmM6ODM1CisjOiBhcHBseS5jOjgxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCiBtc2dzdHIgInJlZ2V4ZWMgZGV2b2x2acOzICVkIHBhcmEgbGEgZW50cmFkYTogJXMiCiAKLSM6IGFwcGx5LmM6OTA5CisjOiBhcHBseS5jOjg4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZmluZCBmaWxlbmFtZSBpbiBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICIiCiAibm8gc2UgcHVlZGUgZW5jb250cmFyIGVsIG5vbWJyZSBkZWwgYXJjaGl2byBlbiBlbCBwYXJjaGUgZW4gbGEgbMOtbmVhICVkIgogCi0jOiBhcHBseS5jOjk0NworIzogYXBwbHkuYzo5MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwsIGdvdCAlcyBvbiBsaW5lICVkIgogbXNnc3RyICIiCiAiZ2l0IGFwcGx5OiBnaXQtZGlmZiBlcnLDs25lbyAtIHNlIGVzcGVyYWJhIC9kZXYvbnVsbCwgc2UgZW5jb250csOzICVzIGVuICIKICJsYWzDrW5lYSAlZCIKIAotIzogYXBwbHkuYzo5NTMKKyM6IGFwcGx5LmM6OTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG5ldyBmaWxlbmFtZSBvbiBsaW5lICVkIgogbXNnc3RyICIiCiAiZ2l0IGFwcGx5OiBnaXQtZGlmZiBlcnLDs25lbyAtIG51ZXZvIG5vbWJyZSBkZSBhcmNoaXZvIGluY29uc2lzdGVudGUgZW4gIgogImxhbMOtbmVhICVkIgogCi0jOiBhcHBseS5jOjk1NAorIzogYXBwbHkuYzo5MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKICJnaXQgYXBwbHk6IGdpdC1kaWZmIGVycsOzbmVvIC0gdmllam8gbm9tYnJlIGRlIGFyY2hpdm8gaW5jb25zaXN0ZW50ZSBlbiAiCiAibGFsw61uZWEgJWQiCiAKLSM6IGFwcGx5LmM6OTU5CisjOiBhcHBseS5jOjkzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCBvbiBsaW5lICVkIgogbXNnc3RyICJnaXQgYXBwbHk6IGdpdC1kaWZmIGVycsOzbmVvIC0gc2UgZXNwZXJhYmEgL2Rldi9udWxsIGVuIGxhIGzDrW5lYSAlZCIKIAotIzogYXBwbHkuYzo5ODgKKyM6IGFwcGx5LmM6OTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbW9kZSBvbiBsaW5lICVkOiAlcyIKIG1zZ3N0ciAibW9kbyBpbnbDoWxpZG8gZW4gbGEgbMOtbmVhICVkOiAlcyIKIAotIzogYXBwbHkuYzoxMzA3CisjOiBhcHBseS5jOjEyODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5jb25zaXN0ZW50IGhlYWRlciBsaW5lcyAlZCBhbmQgJWQiCiBtc2dzdHIgImhlYWRlciBpbmNvbnNpc3RlbnRlIGVuIGxhcyBsw61uZWFzICVkIHkgJWQiCiAKLSM6IGFwcGx5LmM6MTQ3OQotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWNvdW50OiB1bmV4cGVjdGVkIGxpbmU6ICUuKnMiCi1tc2dzdHIgInJlY291bnQ6IGzDrW5lYSBpbmVzcGVyYWRhOiAlLipzIgotCi0jOiBhcHBseS5jOjE1NDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0Y2ggZnJhZ21lbnQgd2l0aG91dCBoZWFkZXIgYXQgbGluZSAlZDogJS4qcyIKLW1zZ3N0ciAiZnJhZ21lbnRvIGRlIHBhcmNoZSBzaW4gaGVhZGVyIGVuIGxhIGzDrW5lYSAlZDogJS4qcyIKLQotIzogYXBwbHkuYzoxNTY4CisjOiBhcHBseS5jOjEzNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgpAQCAtMjA5LDgzICs2NDksOTMgQEAKICJsb3MgaGVhZGVycyBkZSBnaXQgZGlmZiBjYXJlY2VuIGRlIGluZm9ybWFjacOzbiBkZSBsb3Mgbm9tYnJlcyBkZSBsb3MgIgogImFyY2hpdm9zICVkIGN1YW5kbyBsb3MgZWxpbWluYW4gZGUgbGEgcnV0YSBwcmluY2lwYWwgY29tcG9uZW50ZXMgKGzDrW5lYSAlZCkiCiAKLSM6IGFwcGx5LmM6MTU4MQorIzogYXBwbHkuYzoxMzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAobGluZSAlZCkiCiBtc2dzdHIgIiIKLSJlbCBoZWFkZXIgZGUgZ2l0IGRpZmYgY2FyZWNlIGRlIGluZm9ybWFjacOzbiBkZWwgbm9tYnJlIGRlbCBhcmNoaXZvIChsw61uZWEgJWQpIgorImxhIGNhYmVjZXJhIGRlIGdpdCBkaWZmIGNhcmVjZSBkZSBpbmZvcm1hY2nDs24gZGVsIG5vbWJyZSBkZWwgYXJjaGl2byAobMOtbmVhICVkKSIKIAotIzogYXBwbHkuYzoxNzY5CisjOiBhcHBseS5jOjE0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgorbXNnc3RyICJyZWNvdW50OiBsw61uZWEgaW5lc3BlcmFkYTogJS4qcyIKKworIzogYXBwbHkuYzoxNTUwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgImZyYWdtZW50byBkZSBwYXJjaGUgc2luIGhlYWRlciBlbiBsYSBsw61uZWEgJWQ6ICUuKnMiCisKKyM6IGFwcGx5LmM6MTc1MwogbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgogbXNnc3RyICJlbCBudWV2byBhcmNoaXZvIGRlcGVuZGUgZGUgY29udGVuaWRvcyB2aWVqb3MiCiAKLSM6IGFwcGx5LmM6MTc3MQorIzogYXBwbHkuYzoxNzU1CiBtc2dpZCAiZGVsZXRlZCBmaWxlIHN0aWxsIGhhcyBjb250ZW50cyIKIG1zZ3N0ciAiZWwgYXJjaGl2byBlbGltaW5hZG8gdG9kYXbDrWEgdGllbmUgY29udGVuaWRvIgogCi0jOiBhcHBseS5jOjE4MDUKKyM6IGFwcGx5LmM6MTc4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgInBhcmNoZSBjb3JydXB0byBlbiBsYSBsw61uZWEgJWQiCiAKLSM6IGFwcGx5LmM6MTg0MgorIzogYXBwbHkuYzoxODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgogbXNnc3RyICJudWV2byBhcmNoaXZvICVzIGRlcGVuZGUgZW4gY29udGVuaWRvcyB2aWVqb3MiCiAKLSM6IGFwcGx5LmM6MTg0NAorIzogYXBwbHkuYzoxODI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgImVsIGFyY2hpdm8gYm9ycmFkbyAlcyB0b2RhdsOtYSB0aWVuZSBjb250ZW5pZG8iCiAKLSM6IGFwcGx5LmM6MTg0NworIzogYXBwbHkuYzoxODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIioqIHdhcm5pbmc6IGZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiCiBtc2dzdHIgIioqIHBlbGlncm86IGVsIGFyY2hpdm8gJXMgZXN0w6EgdmFjw61vIHBlcm8gbm8gZXMgYm9ycmFkbyIKIAotIzogYXBwbHkuYzoxOTk0CisjOiBhcHBseS5jOjE5NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZDogJS4qcyIKIG1zZ3N0ciAicGFyY2hlIGJpbmFyaW8gY29ycnVwdG8gZW4gbGEgbMOtbmVhICVkOiAlLipzIgogCi0jOiBhcHBseS5jOjIwMzEKKyM6IGFwcGx5LmM6MjAxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgInBhcmNoZSBiaW5hcmlvIG5vIHJlY29ub2NpZG8gZW4gbGEgbMOtbmVhICVkIgogCi0jOiBhcHBseS5jOjIxOTMKKyM6IGFwcGx5LmM6MjE3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIgogbXNnc3RyICJwYXJjaGUgcXVlIHNvbG8gY29udGllbmUgYmFzdXJhIGVuIGxhIGzDrW5lYSAlZCIKIAotIzogYXBwbHkuYzoyMjc5CisjOiBhcHBseS5jOjIyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBsZWVyIGVsIGVubGFjZSBzaW1iw7NsaWNvICVzIgogCi0jOiBhcHBseS5jOjIyODMKKyM6IGFwcGx5LmM6MjI2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiBvciByZWFkICVzIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGFicmlyIG8gbGVlciAlcyIKIAotIzogYXBwbHkuYzoyOTQyCisjOiBhcHBseS5jOjI5MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgogbXNnc3RyICJjb21pZW56byBpbnbDoWxpZG8gZGUgbMOtbmVhOiAnJWMnIgogCi0jOiBhcHBseS5jOjMwNjMKKyM6IGFwcGx5LmM6MzA1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCiBtc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCiBtc2dzdHJbMF0gIkh1bmsgIyVkIHR1dm8gw6l4aXRvIGVuICVkICglZCBsw61uZWEgY29tcGVuc2FkYSkuIgogbXNnc3RyWzFdICJIdW5rICMlZCB0dXZvIMOpeGl0byBlbiAlZCAoJWQgbMOtbmVhcyBjb21wZW5zYWRhcykuIgogCi0jOiBhcHBseS5jOjMwNzUKKyM6IGFwcGx5LmM6MzA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgogbXNnc3RyICJDb250ZXh0byByZWR1Y2lkbyBhICglbGQvJWxkKSBwYXJhIGFwbGljYXIgZWwgZnJhZ21lbnRvIGVuICVkIgogCi0jOiBhcHBseS5jOjMwODEKKyM6IGFwcGx5LmM6MzA3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAid2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKQEAgLTI5NCwyMyArNzQ0LDIzIEBACiAibWllbnRyYXMgc2UgYnVzY2E6XG4iCiAiJS4qcyIKIAotIzogYXBwbHkuYzozMTAzCisjOiBhcHBseS5jOjMwOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKIG1zZ3N0ciAiZGF0YSBwZXJkaWRhIGVuIHBhcmNoZSBiaW5hcmlvIHBhcmEgJyVzJyIKIAotIzogYXBwbHkuYzozMTExCisjOiBhcHBseS5jOjMxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJldmVyc2UtYXBwbHkgYSBiaW5hcnkgcGF0Y2ggd2l0aG91dCB0aGUgcmV2ZXJzZSBodW5rIHRvICclcyciCiBtc2dzdHIgIiIKICJubyBzZSBwdWVkZSByZXZlcnRpci1hcGxpY2FyIHVuIHBhcmNoZSBiaW5hcmlvIHNpbiBlbCBodW5rIHJldmVydGlkbyBhICclcyciCiAKLSM6IGFwcGx5LmM6MzE1OAorIzogYXBwbHkuYzozMTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhcHBseSBiaW5hcnkgcGF0Y2ggdG8gJyVzJyB3aXRob3V0IGZ1bGwgaW5kZXggbGluZSIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgYXBsaWNhciBlbCBwYXJjaGUgYmluYXJpbyBhICclcycgc2luIHVuIMOtbmRpY2UgY29tcGxldG8iCiAKLSM6IGFwcGx5LmM6MzE2OAorIzogYXBwbHkuYzozMTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ0aGUgcGF0Y2ggYXBwbGllcyB0byAnJXMnICglcyksIHdoaWNoIGRvZXMgbm90IG1hdGNoIHRoZSBjdXJyZW50IGNvbnRlbnRzLiIKQEAgLTMxOCwyODggKzc2OCwyODQgQEAKICJlbCBwYXJjaGUgYXBsaWNhIGEgJyVzJyAoJXMpLCBsbyBjdWFsIG5vIGNvbmN1ZXJkYSBjb24gbG9zIGNvbnRlbmlkb3MgIgogImFjdHVhbGVzLiIKIAotIzogYXBwbHkuYzozMTc2CisjOiBhcHBseS5jOjMxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHBhdGNoIGFwcGxpZXMgdG8gYW4gZW1wdHkgJyVzJyBidXQgaXQgaXMgbm90IGVtcHR5IgogbXNnc3RyICJlbCBwYXJjaGUgYXBsaWNhIGEgdW4gJyVzJyB2YWPDrW8sIHBlcm8gZXN0ZSBubyBsbyBlc3RhIgogCi0jOiBhcHBseS5jOjMxOTQKKyM6IGFwcGx5LmM6MzE4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgbmVjZXNzYXJ5IHBvc3RpbWFnZSAlcyBmb3IgJyVzJyBjYW5ub3QgYmUgcmVhZCIKIG1zZ3N0ciAibGEgcG9zdGltYWdlbiBuZWNlc2FyaWEgJXMgcGFyYSAnJXMnIG5vIHNlIHB1ZWRlIGxlZXIiCiAKLSM6IGFwcGx5LmM6MzIwNworIzogYXBwbHkuYzozMjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJpbmFyeSBwYXRjaCBkb2VzIG5vdCBhcHBseSB0byAnJXMnIgogbXNnc3RyICJlbCBwYXJjaGUgYmluYXJpbyBubyBhcGxpY2EgcGFyYSAnJXMnIgogCi0jOiBhcHBseS5jOjMyMTMKKyM6IGFwcGx5LmM6MzIwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJiaW5hcnkgcGF0Y2ggdG8gJyVzJyBjcmVhdGVzIGluY29ycmVjdCByZXN1bHQgKGV4cGVjdGluZyAlcywgZ290ICVzKSIKIG1zZ3N0ciAiIgogImVsIHBhcmNoZSBiaW5hcmlvIHBhcmEgJyVzJyBjcmVhIHVuIHJlc3VsdGFkbyBpbmNvcnJlY3RvIChzYWxpZW5kbyAlcywgc2UgIgogIm9idHV2byAlcykiCiAKLSM6IGFwcGx5LmM6MzIzNAorIzogYXBwbHkuYzozMjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgogbXNnc3RyICJlbCBwYXJjaGUgZmFsbMOzOiAlczolbGQiCiAKLSM6IGFwcGx5LmM6MzM1NgorIzogYXBwbHkuYzozMzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgaGFjZXIgY2hlY2tvdXQgYSAlcyIKIAotIzogYXBwbHkuYzozNDA4IGFwcGx5LmM6MzQxOSBhcHBseS5jOjM0NjUgbWlkeC5jOjU4IHNldHVwLmM6Mjc4CisjOiBhcHBseS5jOjM0MDMgYXBwbHkuYzozNDE0IGFwcGx5LmM6MzQ2MCBtaWR4LmM6NjEgc2V0dXAuYzoyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gbGVlciAlcyIKIAotIzogYXBwbHkuYzozNDE2CisjOiBhcHBseS5jOjM0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZGluZyBmcm9tICclcycgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAibGV5ZW5kbyBkZSAnJXMnIHRyYXMgdW4gZW5sYWNlIHNpbWLDs2xpY28iCiAKLSM6IGFwcGx5LmM6MzQ0NSBhcHBseS5jOjM2ODgKKyM6IGFwcGx5LmM6MzQ0MCBhcHBseS5jOjM2ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAlcyBoYXMgYmVlbiByZW5hbWVkL2RlbGV0ZWQiCiBtc2dzdHIgImxhIHJ1dGEgJXMgaGEgc2lkbyByZW5vbWJyYWRhL3N1cHJpbWlkYSIKIAotIzogYXBwbHkuYzozNTMxIGFwcGx5LmM6MzcwMworIzogYXBwbHkuYzozNTI2IGFwcGx5LmM6MzY5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgiCiBtc2dzdHIgIiVzOiBubyBleGlzdGUgZW4gZWwgw61uZGljZSIKIAotIzogYXBwbHkuYzozNTQwIGFwcGx5LmM6MzcxMQorIzogYXBwbHkuYzozNTM1IGFwcGx5LmM6MzcwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZG9lcyBub3QgbWF0Y2ggaW5kZXgiCiBtc2dzdHIgIiVzOiBubyBjb25jdWVyZGEgY29uIGVsIMOtbmRpY2UiCiAKLSM6IGFwcGx5LmM6MzU3NQorIzogYXBwbHkuYzozNTcwCiBtc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAiIgogImVsIHJlcG9zaXRvcmlvIGNhcmVjZSBkZWwgYmxvYiBuZWNlc2FyaW8gcGFyYSByZWdyZXNhciBlbiB1biBtZXJnZSBkZSB0cmVzLSIKICJ2w61hcy4iCiAKLSM6IGFwcGx5LmM6MzU3OAorIzogYXBwbHkuYzozNTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhbGxpbmcgYmFjayB0byB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKIG1zZ3N0ciAiUmV0cm9jZWRpZW5kbyBlbiB1biBtZXJnZSBkZSB0cmVzLXbDrWFzLi4uXG4iCiAKLSM6IGFwcGx5LmM6MzU5NCBhcHBseS5jOjM1OTgKKyM6IGFwcGx5LmM6MzU4OSBhcHBseS5jOjM1OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVlZGVuIGxlZXIgbG9zIGNvbnRlbmlkb3MgYWN0dWFsZXMgZGUgJyVzJyIKIAotIzogYXBwbHkuYzozNjEwCisjOiBhcHBseS5jOjM2MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGZhbGwgYmFjayBvbiB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKIG1zZ3N0ciAiRmFsbMOzIGVsIG1lcmdlIGVuIHJldHJvY2VzbyBkZSB0cmVzLXbDrWFzLi4uXG4iCiAKLSM6IGFwcGx5LmM6MzYyNAorIzogYXBwbHkuYzozNjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyB3aXRoIGNvbmZsaWN0cy5cbiIKIG1zZ3N0ciAiUGFyY2hlIGFwbGljYWRvIGEgJyVzJyBjb24gY29uZmxpY3Rvcy5cbiIKIAotIzogYXBwbHkuYzozNjI5CisjOiBhcHBseS5jOjM2MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIGNsZWFubHkuXG4iCiBtc2dzdHIgIlBhcmNoZSBhcGxpY2FkbyBhICclcycgbGltcGlhbWVudGVcbiIKIAotIzogYXBwbHkuYzozNjU1CisjOiBhcHBseS5jOjM2NTAKIG1zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgotbXNnc3RyICJwYXJjaGUgZGUgcmVtb2Npw7NuIGRlamEgY29udGVuaWRvcyBlbiBlbCBhcmNoaXZvIgorbXNnc3RyICJwYXJjaGUgZGUgZWxpbWluYWNpw7NuIGRlamEgY29udGVuaWRvcyBlbiBlbCBhcmNoaXZvIgogCi0jOiBhcHBseS5jOjM3MjgKKyM6IGFwcGx5LmM6MzcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogd3JvbmcgdHlwZSIKIG1zZ3N0ciAiJXM6IHRpcG8gaW5jb3JyZWN0byIKIAotIzogYXBwbHkuYzozNzMwCisjOiBhcHBseS5jOjM3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIgogbXNnc3RyICIlcyB0aWVuZSB0aXBvICVvLCBzZSBlc3BlcmFiYSAlbyIKIAotIzogYXBwbHkuYzozODgxIGFwcGx5LmM6Mzg4MworIzogYXBwbHkuYzozODc2IGFwcGx5LmM6Mzg3OCByZWFkLWNhY2hlLmM6ODMwIHJlYWQtY2FjaGUuYzo4NTYKKyM6IHJlYWQtY2FjaGUuYzoxMzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgogbXNnc3RyICJydXRhIGludsOhbGlkYSAnJXMnIgogCi0jOiBhcHBseS5jOjM5MzkKKyM6IGFwcGx5LmM6MzkzNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgiCiBtc2dzdHIgIiVzOiB5YSBleGlzdGUgZW4gZWwgw61uZGljZSIKIAotIzogYXBwbHkuYzozOTQyCisjOiBhcHBseS5jOjM5MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICIlczogeWEgZXhpc3RlIGVuIGVsIGRpcmVjdG9yaW8gZGUgdHJhYmFqbyIKIAotIzogYXBwbHkuYzozOTYyCisjOiBhcHBseS5jOjM5NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIgogbXNnc3RyICJudWV2byBtb2RvICglbykgZGUgJXMgbm8gY29uY3VlcmRhIGNvbiBlbCB2aWVqbyBtb2RvICglbykiCiAKLSM6IGFwcGx5LmM6Mzk2NworIzogYXBwbHkuYzozOTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKIG1zZ3N0ciAibnVldm8gbW9kbyAoJW8pIGRlICVzIG5vIGNvbmN1ZXJkYSBjb24gZWwgdmllam8gbW9kbyAoJW8pIGRlICVzIgogCi0jOiBhcHBseS5jOjM5ODcKKyM6IGFwcGx5LmM6Mzk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAiYXJjaGl2byBhZmVjdGFkbyAnJXMnIGVzdMOhIHRyYXMgdW4gZW5sYWNlIHNpbWLDs2xpY28iCiAKLSM6IGFwcGx5LmM6Mzk5MQorIzogYXBwbHkuYzozOTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXRjaCBkb2VzIG5vdCBhcHBseSIKIG1zZ3N0ciAiJXM6IGVsIHBhcmNoZSBubyBhcGxpY2EiCiAKLSM6IGFwcGx5LmM6NDAwNgorIzogYXBwbHkuYzo0MDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgogbXNnc3RyICJSZXZpc2FuZG8gZWwgcGFyY2hlICVzLi4uIgogCi0jOiBhcHBseS5jOjQwOTgKKyM6IGFwcGx5LmM6NDA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyBmb3Igc3VibW9kdWxlICVzIgogbXNnc3RyICJmYWx0YSBpbmZvcm1hY2nDs24gZGVsIHNoYTEgbyBlcyBpbsO6dGlsIHBhcmEgZWwgc3VibcOzZHVsbyAlcyIKIAotIzogYXBwbHkuYzo0MTA1CisjOiBhcHBseS5jOjQxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9kZSBjaGFuZ2UgZm9yICVzLCB3aGljaCBpcyBub3QgaW4gY3VycmVudCBIRUFEIgogbXNnc3RyICJtb2RvIGNhbWJpYWRvIHBhcmEgJXMsIGVsIGN1YWwgbm8gc2UgZW5jdWVudHJhIGVuIGVsIEhFQUQgYWN0dWFsIgogCi0jOiBhcHBseS5jOjQxMDgKKyM6IGFwcGx5LmM6NDEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyAoJXMpLiIKIG1zZ3N0ciAiZmFsdGEgaW5mb3JtYWNpw7NuIHNoYTEgbyBlcyBpbsO6dGlsICglcykuIgogCi0jOiBhcHBseS5jOjQxMTMgYnVpbHRpbi9jaGVja291dC5jOjI0NCBidWlsdGluL3Jlc2V0LmM6MTQyCi0jLCBjLWZvcm1hdAotbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCi1tc2dzdHIgIm1ha2VfY2FjaGVfZW50cnkgZmFsbMOzIHBhcmEgbGEgcnV0YSAnJXMnIgotCi0jOiBhcHBseS5jOjQxMTcKKyM6IGFwcGx5LmM6NDExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYWRkICVzIHRvIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAibm8gc2UgcHVkbyBhw7FhZGlyICVzIGFsIMOtbmRpY2UgdGVtcG9yYWwiCiAKLSM6IGFwcGx5LmM6NDEyNworIzogYXBwbHkuYzo0MTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggdG8gJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gZXNjcmliaXIgdW4gw61uZGljZSB0ZW1wb3JhbCBwYXJhICVzIgogCi0jOiBhcHBseS5jOjQyNjUKKyM6IGFwcGx5LmM6NDI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVtb3ZlICVzIGZyb20gaW5kZXgiCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGVsaW1pbmFyICVzIGRlbCDDrW5kaWNlIgogCi0jOiBhcHBseS5jOjQyOTkKKyM6IGFwcGx5LmM6NDI5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgInBhcmNoZSBjb3JydXB0byBwYXJhIGVsIHN1Ym3Ds2R1bG8gJXMiCiAKLSM6IGFwcGx5LmM6NDMwNQorIzogYXBwbHkuYzo0MzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBzdGF0IG5ld2x5IGNyZWF0ZWQgZmlsZSAnJXMnIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGVzdGFibGVjZXIgZWwgYXJjaGl2byByZWNpw6luIGNyZWFkbyAnJXMnIgogCi0jOiBhcHBseS5jOjQzMTMKKyM6IGFwcGx5LmM6NDMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGJhY2tpbmcgc3RvcmUgZm9yIG5ld2x5IGNyZWF0ZWQgZmlsZSAlcyIKIG1zZ3N0ciAiIgogIm5vIGVzIHBvc2libGUgY3JlYXIgdW5hIGNvcGlhIGRlIHNlZ3VyaWRhZCBwYXJhIGVsIGFyY2hpdm8gcmVjacOpbiBjcmVhZG8gJXMiCiAKLSM6IGFwcGx5LmM6NDMxOSBhcHBseS5jOjQ0NjQKKyM6IGFwcGx5LmM6NDMxNCBhcHBseS5jOjQ0NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFkZCBjYWNoZSBlbnRyeSBmb3IgJXMiCiBtc2dzdHIgIm5vIGVzIHBvc2libGUgYWdyZWdhciB1bmEgZW50cmFkYSBlbiBlbCBjYWNoZSBwYXJhICVzIgogCi0jOiBhcHBseS5jOjQzNjIKKyM6IGFwcGx5LmM6NDM1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgdG8gJyVzJyIKIG1zZ3N0ciAiZmFsbMOzIGVzY3JpYmlyIHBhcmEgJyVzJyIKIAotIzogYXBwbHkuYzo0MzY2CisjOiBhcHBseS5jOjQzNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvc2luZyBmaWxlICclcyciCiBtc2dzdHIgImNlcnJhbmRvIGFyY2hpdm8gJyVzJyIKIAotIzogYXBwbHkuYzo0NDM2CisjOiBhcHBseS5jOjQ0MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJyVzJyBtb2RlICVvIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGVzY3JpYmlyIGVsIGFyY2hpdm8gJyVzJyBtb2RvICVvIgogCi0jOiBhcHBseS5jOjQ1MzQKKyM6IGFwcGx5LmM6NDUyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgogbXNnc3RyICJQYXJjaGUgJXMgYXBsaWNhZG8gbGltcGlhbWVudGUuIgogCi0jOiBhcHBseS5jOjQ1NDIKKyM6IGFwcGx5LmM6NDUzNwogbXNnaWQgImludGVybmFsIGVycm9yIgogbXNnc3RyICJlcnJvciBpbnRlcm5vIgogCi0jOiBhcHBseS5jOjQ1NDUKKyM6IGFwcGx5LmM6NDU0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCiBtc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCiBtc2dzdHJbMF0gIkFwbGljYW5kbyBwYXJjaGUgJSVzIGNvbiAlZCByZWNoYXpvLi4uIgogbXNnc3RyWzFdICJBcGxpY2FuZG8gcGFyY2hlICUlcyBjb24gJWQgcmVjaGF6b3MuLi4iCiAKLSM6IGFwcGx5LmM6NDU1NgorIzogYXBwbHkuYzo0NTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIKIG1zZ3N0ciAidHJ1bmNhbmRvIGVsIG5vbWJyZSBkZSBhcmNoaXZvIC5yZWogYSAlLipzLnJlaiIKIAotIzogYXBwbHkuYzo0NTY0IGJ1aWx0aW4vZmV0Y2guYzo4NDMgYnVpbHRpbi9mZXRjaC5jOjExMjIKKyM6IGFwcGx5LmM6NDU1OSBidWlsdGluL2ZldGNoLmM6OTAxIGJ1aWx0aW4vZmV0Y2guYzoxMTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICVzIgogbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciAlcyIKIAotIzogYXBwbHkuYzo0NTc4CisjOiBhcHBseS5jOjQ1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKIG1zZ3N0ciAiSHVuayAjJWQgYXBsaWNhZG8gbGltcGlhbWVudGUuIgogCi0jOiBhcHBseS5jOjQ1ODIKKyM6IGFwcGx5LmM6NDU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWplY3RlZCBodW5rICMlZC4iCiBtc2dzdHIgIkh1bmsgIyVkIHJlY2hhemFkby4iCiAKLSM6IGFwcGx5LmM6NDY5MgorIzogYXBwbHkuYzo0Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgcGF0Y2ggJyVzJy4iCiBtc2dzdHIgIlBhcmNoZSAnJXMnIHNhbHRhZG8uIgogCi0jOiBhcHBseS5jOjQ3MDAKKyM6IGFwcGx5LmM6NDcwNAogbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKIG1zZ3N0ciAiaW5wdXQgbm8gcmVjb25vY2lkbyIKIAotIzogYXBwbHkuYzo0NzE5CisjOiBhcHBseS5jOjQ3MjQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGxlZXIgZWwgYXJjaGl2byDDrW5kaWNlIgogCi0jOiBhcHBseS5jOjQ4NzQKKyM6IGFwcGx5LmM6NDg4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW4ndCBvcGVuIHBhdGNoICclcyc6ICVzIgogbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciBlbCBwYXJjaGUgJyVzJzogJXMiCiAKLSM6IGFwcGx5LmM6NDkwMQorIzogYXBwbHkuYzo0OTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgogbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCiBtc2dzdHJbMF0gIiVkIGVycm9yIGRlIGVzcGFjaW9zIGVuIGJsYW5jbyBhcGxhc3RhZG8iCiBtc2dzdHJbMV0gIiVkIGVycm9yZXMgZGUgZXNwYWNpb3MgZW4gYmxhbmNvIGFwbGFzdGFkb3MiCiAKLSM6IGFwcGx5LmM6NDkwNyBhcHBseS5jOjQ5MjIKKyM6IGFwcGx5LmM6NDkxNCBhcHBseS5jOjQ5MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQgbGluZSBhZGRzIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYWRkIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ3N0clswXSAiJWQgbMOtbmVhIGFncmVnYSBlcnJvcmVzIGRlIGVzcGFjaW9zIGVuIGJsYW5jby4iCiBtc2dzdHJbMV0gIiVkIGzDrW5lYXMgYWdyZWdhbiBlcnJvcmVzIGRlIGVzcGFjaW9zIGVuIGJsYW5jby4iCiAKLSM6IGFwcGx5LmM6NDkxNQorIzogYXBwbHkuYzo0OTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkIGxpbmUgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCkBAIC02MDgsMTQ3ICsxMDU0LDEzNyBAQAogbXNnc3RyWzFdICIiCiAiJWQgbMOtbmVhcyBhcGxpY2FkYXMgZGVzcHXDqXMgZGUgYXJyZWdsYXIgbG9zIGVycm9yZXMgZGUgZXNwYWNpb3MgZW4gYmxhbmNvLiIKIAotIzogYXBwbHkuYzo0OTMxIGJ1aWx0aW4vYWRkLmM6NTM4IGJ1aWx0aW4vbXYuYzozMDAgYnVpbHRpbi9ybS5jOjM4OQorIzogYXBwbHkuYzo0OTM4IGJ1aWx0aW4vYWRkLmM6NTc5IGJ1aWx0aW4vbXYuYzozMDEgYnVpbHRpbi9ybS5jOjM5MAogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiTm8gZXMgcG9zaWJsZSBlc2NyaWJpciBlbCBhcmNoaXZvIMOtbmRpY2UiCiAKLSM6IGFwcGx5LmM6NDk1OCBhcHBseS5jOjQ5NjEgYnVpbHRpbi9hbS5jOjIyMDkgYnVpbHRpbi9hbS5jOjIyMTIKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjEgYnVpbHRpbi9mZXRjaC5jOjExOCBidWlsdGluL21lcmdlLmM6MjYyCi0jOiBidWlsdGluL3B1bGwuYzoxOTkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNgotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjUKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODQ2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODQ5Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjA4OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwotbXNnaWQgInBhdGgiCi1tc2dzdHIgInJ1dGEiCi0KLSM6IGFwcGx5LmM6NDk1OQorIzogYXBwbHkuYzo0OTY2CiBtc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKIG1zZ3N0ciAibm8gYXBsaWNhciBjYW1iaW9zIHF1ZSBjb25jdWVyZGVuIGNvbiBsYSBydXRhIHN1bWluaXN0cmFkYSIKIAotIzogYXBwbHkuYzo0OTYyCisjOiBhcHBseS5jOjQ5NjkKIG1zZ2lkICJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgogbXNnc3RyICJhcGxpY2FyIGNhbWJpb3MgcXVlIGNvbmN1ZXJkZW4gY29uIGxhIHJ1dGEgc3VtaW5pc3RyYWRhIgogCi0jOiBhcHBseS5jOjQ5NjQgYnVpbHRpbi9hbS5jOjIyMTgKKyM6IGFwcGx5LmM6NDk3MSBidWlsdGluL2FtLmM6MjIwNgogbXNnaWQgIm51bSIKIG1zZ3N0ciAibnVtIgogCi0jOiBhcHBseS5jOjQ5NjUKKyM6IGFwcGx5LmM6NDk3MgogbXNnaWQgInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIgogbXNnc3RyICJlbGltaW5hciA8bnVtPiBzbGFzaGVzIGluaWNpYWxlcyBkZSBsYXMgcnV0YXMgZGlmZiB0cmFkaWNpb25hbGVzIgogCi0jOiBhcHBseS5jOjQ5NjgKKyM6IGFwcGx5LmM6NDk3NQogbXNnaWQgImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giCiBtc2dzdHIgImlnbm9yYXIgYWRpY2lvbmVzIGhlY2hhcyBwb3IgZWwgcGFyY2hlIgogCi0jOiBhcHBseS5jOjQ5NzAKKyM6IGFwcGx5LmM6NDk3NwogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKIG1zZ3N0ciAiZW4gbHVnYXIgZGUgYXBsaWNhciBlbCBwYXJjaGUsIG1vc3RyYXIgZGlmZnN0YXQgcGFyYSBsYSBlbnRyYWRhIgogCi0jOiBhcHBseS5jOjQ5NzQKKyM6IGFwcGx5LmM6NDk4MQogbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCiBtc2dzdHIgIm1vc3RyYXIgZWwgbnVtZXJvIGRlIGzDrW5lYXMgYWdyZWdhZGFzIHkgZWxpbWluYWRhcyBlbiBub3RhY2nDs24gZGVjaW1hbCIKIAotIzogYXBwbHkuYzo0OTc2CisjOiBhcHBseS5jOjQ5ODMKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgogbXNnc3RyICJlbiBsdWdhciBkZSBhcGxpY2FyIGVsIHBhcmNoZSwgbW9zdHJhciB1biByZXN1bWVuIHBhcmEgbGEgZW50cmFkYSIKIAotIzogYXBwbHkuYzo0OTc4CisjOiBhcHBseS5jOjQ5ODUKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgc2VlIGlmIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIgogbXNnc3RyICJlbiBsdWdhciBkZSBhcGxpY2FyIGVsIHBhcmNoZSwgdmVyIHNpIGVsIHBhcmNoZSBlcyBhcGxpY2FibGUiCiAKLSM6IGFwcGx5LmM6NDk4MAorIzogYXBwbHkuYzo0OTg3CiBtc2dpZCAibWFrZSBzdXJlIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIHRvIHRoZSBjdXJyZW50IGluZGV4IgogbXNnc3RyICJhc2VndXJhciBxdWUgZWwgcGFyY2hlIGVzIGFwbGljYWJsZSBhbCDDrW5kaWNlIGFjdHVhbCIKIAotIzogYXBwbHkuYzo0OTgyCisjOiBhcHBseS5jOjQ5ODkKIG1zZ2lkICJtYXJrIG5ldyBmaWxlcyB3aXRoIGBnaXQgYWRkIC0taW50ZW50LXRvLWFkZGAiCiBtc2dzdHIgIm1hcmNhIGxvcyBudWV2b3MgYXJjaGl2b3MgY29uIGBnaXQgYWRkIC0taW50ZW50LXRvLWFkZGAiCiAKLSM6IGFwcGx5LmM6NDk4NAorIzogYXBwbHkuYzo0OTkxCiBtc2dpZCAiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImFwbGljYXIgdW4gcGFyY2hlIHNpbiB0b2NhciBlbCDDoXJib2wgZGUgdHJhYmFqbyIKIAotIzogYXBwbHkuYzo0OTg2CisjOiBhcHBseS5jOjQ5OTMKIG1zZ2lkICJhY2NlcHQgYSBwYXRjaCB0aGF0IHRvdWNoZXMgb3V0c2lkZSB0aGUgd29ya2luZyBhcmVhIgogbXNnc3RyICJhY2VwdGFyIHVuIHBhcmNoZSBxdWUgdG9jYSBmdWVyYSBkZWwgw6FyZWEgZGUgdHJhYmFqbyIKIAotIzogYXBwbHkuYzo0OTg5CisjOiBhcHBseS5jOjQ5OTYKIG1zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKIG1zZ3N0ciAidGFtYmnDqW4gYXBsaWNhciBlbCBwYXJjaGUgKCB1c2FyIGNvbiAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2siCiAKLSM6IGFwcGx5LmM6NDk5MQorIzogYXBwbHkuYzo0OTk4CiBtc2dpZCAiYXR0ZW1wdCB0aHJlZS13YXkgbWVyZ2UgaWYgYSBwYXRjaCBkb2VzIG5vdCBhcHBseSIKIG1zZ3N0ciAiaW50ZW50YXIgbWVyZ2UgZGUgdHJlcy12w61hcyBzaSBlbCBwYXJjaGUgbm8gYXBsaWNhIgogCi0jOiBhcHBseS5jOjQ5OTMKKyM6IGFwcGx5LmM6NTAwMAogbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgogbXNnc3RyICIiCiAiY29uc3RydWlyIHVuIMOtbmRpY2UgdGVtcG9yYWwgYmFzYWRvIGVuIGxhIGluZm9ybWFjacOzbiBkZWwgw61uZGljZSBpbmNydXN0YWRvIgogCi0jOiBhcHBseS5jOjQ5OTYgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MCBidWlsdGluL2xzLWZpbGVzLmM6NTIzCisjOiBhcHBseS5jOjUwMDMgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MyBidWlsdGluL2xzLWZpbGVzLmM6NTI0CiBtc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgInJ1dGFzIGVzdMOhbiBzZXBhcmFkYXMgY29uIHVuIGNhcsOhY3RlciBOVUxMIgogCi0jOiBhcHBseS5jOjQ5OTgKKyM6IGFwcGx5LmM6NTAwNQogbXNnaWQgImVuc3VyZSBhdCBsZWFzdCA8bj4gbGluZXMgb2YgY29udGV4dCBtYXRjaCIKLW1zZ3N0ciAiYXNlZ3VyZSBxdWUgcG9yIGxvIG1lbm9zIDxuPiBsw61uZWFzIGRlbCBjb250ZXh0byBjb25jdWVyZGVuIgorbXNnc3RyICJhc2VndXJhciBxdWUgYWwgbWVub3MgY29uY3VlcmRlbiA8bj4gbMOtbmVhcyBkZWwgY29udGV4dG8gY29uY3VlcmRlbiIKIAotIzogYXBwbHkuYzo0OTk5IGJ1aWx0aW4vYW0uYzoyMTk3IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTcKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTkgYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDEKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxMiBidWlsdGluL3JlYmFzZS5jOjg1NworIzogYXBwbHkuYzo1MDA2IGJ1aWx0aW4vYW0uYzoyMTg1IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTgKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAwIGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTAgYnVpbHRpbi9yZWJhc2UuYzoxNDc0CiBtc2dpZCAiYWN0aW9uIgogbXNnc3RyICJhY2Npw7NuIgogCi0jOiBhcHBseS5jOjUwMDAKKyM6IGFwcGx5LmM6NTAwNwogbXNnaWQgImRldGVjdCBuZXcgb3IgbW9kaWZpZWQgbGluZXMgdGhhdCBoYXZlIHdoaXRlc3BhY2UgZXJyb3JzIgogbXNnc3RyICIiCiAiZGV0ZWN0YXIgbMOtbmVhcyBudWV2YXMgbyBtb2RpZmljYWRhcyBxdWUgY29udGllbmVuIGVycm9yZXMgZGUgZXNwYWNpb3MgZW4gIgogImJsYW5jbyIKIAotIzogYXBwbHkuYzo1MDAzIGFwcGx5LmM6NTAwNgorIzogYXBwbHkuYzo1MDEwIGFwcGx5LmM6NTAxMwogbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2Ugd2hlbiBmaW5kaW5nIGNvbnRleHQiCiBtc2dzdHIgIiIKICJpZ25vcmFyIGNhbWJpb3MgZW4gbG9zIGVzcGFjaW9zIGVuIGJsYW5jbyBjdWFuZG8gc2UgZW5jdWVudHJhIGVsIGNvbnRleHRvIgogCi0jOiBhcHBseS5jOjUwMDkKKyM6IGFwcGx5LmM6NTAxNgogbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgogbXNnc3RyICJhcGxpY2FyIGVsIHBhcmNoZSBlbiByZXZlcnNhIgogCi0jOiBhcHBseS5jOjUwMTEKKyM6IGFwcGx5LmM6NTAxOAogbXNnaWQgImRvbid0IGV4cGVjdCBhdCBsZWFzdCBvbmUgbGluZSBvZiBjb250ZXh0IgogbXNnc3RyICJubyBlc3BlcmEgYWwgbWVub3MgdW5hIGzDrW5lYSBkZWwgY29udGV4dG8iCiAKLSM6IGFwcGx5LmM6NTAxMworIzogYXBwbHkuYzo1MDIwCiBtc2dpZCAibGVhdmUgdGhlIHJlamVjdGVkIGh1bmtzIGluIGNvcnJlc3BvbmRpbmcgKi5yZWogZmlsZXMiCiBtc2dzdHIgImRlamFyIGxvcyBodW5rcyByZWNoYXphZG9zIGVuIGxvcyBhcmNoaXZvcyAqLnJlaiBjb3JyZXNwb250aWVudGVzIgogCi0jOiBhcHBseS5jOjUwMTUKKyM6IGFwcGx5LmM6NTAyMgogbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgogbXNnc3RyICJwZXJtaXRpciBzb2xhcGFtaWVudG8gZGUgaHVua3MiCiAKLSM6IGFwcGx5LmM6NTAxNiBidWlsdGluL2FkZC5jOjI5MCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIxCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMDkgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTggYnVpbHRpbi9mc2NrLmM6Njk4Ci0jOiBidWlsdGluL2xvZy5jOjIwMjMgYnVpbHRpbi9tdi5jOjEyMiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNwotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTU3CisjOiBhcHBseS5jOjUwMjMgYnVpbHRpbi9hZGQuYzozMDkgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMgorIzogYnVpbHRpbi9jb21taXQuYzoxMzU1IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk4IGJ1aWx0aW4vZnNjay5jOjc3NAorIzogYnVpbHRpbi9sb2cuYzoyMTY2IGJ1aWx0aW4vbXYuYzoxMjMgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjgKIG1zZ2lkICJiZSB2ZXJib3NlIgogbXNnc3RyICJzZXIgdmVyYm9zbyIKIAotIzogYXBwbHkuYzo1MDE4CisjOiBhcHBseS5jOjUwMjUKIG1zZ2lkICJ0b2xlcmF0ZSBpbmNvcnJlY3RseSBkZXRlY3RlZCBtaXNzaW5nIG5ldy1saW5lIGF0IHRoZSBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiIgogInRvbGVyYXIgbnVldmFzIGzDrW5lYXMgZmFsdGFudGVzIGRldGVjdGFkYXMgaW5jb3JyZWN0YW1lbnRlIGFsIGZpbmFsIGRlbCAiCiAiYXJjaGl2byIKIAotIzogYXBwbHkuYzo1MDIxCisjOiBhcHBseS5jOjUwMjgKIG1zZ2lkICJkbyBub3QgdHJ1c3QgdGhlIGxpbmUgY291bnRzIGluIHRoZSBodW5rIGhlYWRlcnMiCiBtc2dzdHIgIm5vIGNvbmZpYXIgZW4gZWwgY29udGVvIGRlIGzDrW5lYXMgZW4gbG9zIGhlYWRlcnMgZGVsIGh1bmsiCiAKLSM6IGFwcGx5LmM6NTAyMyBidWlsdGluL2FtLmM6MjIwNgorIzogYXBwbHkuYzo1MDMwIGJ1aWx0aW4vYW0uYzoyMTk0CiBtc2dpZCAicm9vdCIKIG1zZ3N0ciAicmHDrXoiCiAKLSM6IGFwcGx5LmM6NTAyNAorIzogYXBwbHkuYzo1MDMxCiBtc2dpZCAicHJlcGVuZCA8cm9vdD4gdG8gYWxsIGZpbGVuYW1lcyIKIG1zZ3N0ciAiYW50ZXBvbmVyIDxyb290PiBhIHRvZG9zIGxvcyBub21icmVzIGRlIGFyY2hpdm9zIgogCkBAIC03NzEsMTQ4ICsxMjA3LDE2OCBAQAogbXNnaWQgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSAtLWxpc3QiCiBtc2dzdHIgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjb21hbmRvPl0gLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MzcwIGJ1aWx0aW4vYWRkLmM6MTc2IGJ1aWx0aW4vYWRkLmM6NTE0IGJ1aWx0aW4vcm0uYzoyOTgKKyM6IGFyY2hpdmUuYzozNzIgYnVpbHRpbi9hZGQuYzoxODAgYnVpbHRpbi9hZGQuYzo1NTUgYnVpbHRpbi9ybS5jOjI5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgogbXNnc3RyICJydXRhIGVzcGVjaWZpY2FkYSAnJXMnIG5vIGNvbmNvcmTDsyBjb24gbmluZ3VuYSBjYXJwZXRhIgogCi0jOiBhcmNoaXZlLmM6NDUzCisjOiBhcmNoaXZlLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcmVmOiAlLipzIgorbXNnc3RyICJubyBleGlzdGUgZWwgcmVmOiAlLipzIgorCisjOiBhcmNoaXZlLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAlcyIKK21zZ3N0ciAibm9tYnJlIGRlIG9iamV0byBubyB2w6FsaWRvOiAlcyIKKworIzogYXJjaGl2ZS5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSB0cmVlIG9iamVjdDogJXMiCittc2dzdHIgIm5vIGVzIHVuIG9iamV0byB0cmVlOiAlcyIKKworIzogYXJjaGl2ZS5jOjQyNgorbXNnaWQgImN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgaXMgdW50cmFja2VkIgorbXNnc3RyICJkaXJlY3RvcmlvIGRlIHRyYWJham8gYWN0dWFsIG5vIHJhc3RyZWFkbyIKKworIzogYXJjaGl2ZS5jOjQ1NwogbXNnaWQgImZtdCIKIG1zZ3N0ciAiZm10IgogCi0jOiBhcmNoaXZlLmM6NDUzCisjOiBhcmNoaXZlLmM6NDU3CiBtc2dpZCAiYXJjaGl2ZSBmb3JtYXQiCiBtc2dzdHIgImZvcm1hdG8gZGVsIGFyY2hpdm8iCiAKLSM6IGFyY2hpdmUuYzo0NTQgYnVpbHRpbi9sb2cuYzoxNTM2CisjOiBhcmNoaXZlLmM6NDU4IGJ1aWx0aW4vbG9nLmM6MTY1MwogbXNnaWQgInByZWZpeCIKIG1zZ3N0ciAicHJlZmlqbyIKIAotIzogYXJjaGl2ZS5jOjQ1NQorIzogYXJjaGl2ZS5jOjQ1OQogbXNnaWQgInByZXBlbmQgcHJlZml4IHRvIGVhY2ggcGF0aG5hbWUgaW4gdGhlIGFyY2hpdmUiCiBtc2dzdHIgImFudGVwb25lciBwcmVmaWpvIGEgY2FkYSBydXRhIGVuIGVsIGFyY2hpdm8iCiAKLSM6IGFyY2hpdmUuYzo0NTYgYnVpbHRpbi9ibGFtZS5jOjgyMCBidWlsdGluL2JsYW1lLmM6ODIxIGJ1aWx0aW4vY29uZmlnLmM6MTI5Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxMyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxNSBidWlsdGluL2dyZXAuYzo4ODQKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDQgYnVpbHRpbi9scy1maWxlcy5jOjU1OSBidWlsdGluL2xzLWZpbGVzLmM6NTYyCi0jOiBidWlsdGluL25vdGVzLmM6NDEyIGJ1aWx0aW4vbm90ZXMuYzo1NzUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjIKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNjIKKyM6IGFyY2hpdmUuYzo0NjAgYnVpbHRpbi9ibGFtZS5jOjg2MSBidWlsdGluL2JsYW1lLmM6ODY1IGJ1aWx0aW4vYmxhbWUuYzo4NjYKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTcgYnVpbHRpbi9jb25maWcuYzoxMjkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY0IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY4IGJ1aWx0aW4vZ3JlcC5jOjg5OQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwNSBidWlsdGluL2xzLWZpbGVzLmM6NTYwIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTIgYnVpbHRpbi9ub3Rlcy5jOjU3OCBidWlsdGluL3JlYWQtdHJlZS5jOjEyMworIzogcGFyc2Utb3B0aW9ucy5oOjE5MAogbXNnaWQgImZpbGUiCiBtc2dzdHIgImNhcnBldGEiCiAKLSM6IGFyY2hpdmUuYzo0NTcgYnVpbHRpbi9hcmNoaXZlLmM6ODkKKyM6IGFyY2hpdmUuYzo0NjEgYnVpbHRpbi9hcmNoaXZlLmM6OTAKIG1zZ2lkICJ3cml0ZSB0aGUgYXJjaGl2ZSB0byB0aGlzIGZpbGUiCiBtc2dzdHIgImVzY3JpYmUgZWwgYXJjaGl2byBlbiBlc3RhIGNhcnBldGEiCiAKLSM6IGFyY2hpdmUuYzo0NTkKKyM6IGFyY2hpdmUuYzo0NjMKIG1zZ2lkICJyZWFkIC5naXRhdHRyaWJ1dGVzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICJsZWVyIC5naXRhdHRyaWJ1dGVzIGVuIGVsIGRpcmVjdG9yaW8gZGUgdHJhYmFqbyIKIAotIzogYXJjaGl2ZS5jOjQ2MAorIzogYXJjaGl2ZS5jOjQ2NAogbXNnaWQgInJlcG9ydCBhcmNoaXZlZCBmaWxlcyBvbiBzdGRlcnIiCiBtc2dzdHIgInJlcG9ydGFyIGFyY2hpdm9zIGFyY2hpdmFkb3MgcG9yIHN0ZGVyciIKIAotIzogYXJjaGl2ZS5jOjQ2MQorIzogYXJjaGl2ZS5jOjQ2NQogbXNnaWQgInN0b3JlIG9ubHkiCiBtc2dzdHIgInNvbG8gZ3VhcmRhciIKIAotIzogYXJjaGl2ZS5jOjQ2MgorIzogYXJjaGl2ZS5jOjQ2NgogbXNnaWQgImNvbXByZXNzIGZhc3RlciIKLW1zZ3N0ciAiY29tcHJpbWlyIG1hcyByw6FwaWRvIgorbXNnc3RyICJjb21wcmltaXIgbcOhcyByw6FwaWRvIgogCi0jOiBhcmNoaXZlLmM6NDcwCisjOiBhcmNoaXZlLmM6NDc0CiBtc2dpZCAiY29tcHJlc3MgYmV0dGVyIgogbXNnc3RyICJjb21wcmltaXIgbWVqb3IiCiAKLSM6IGFyY2hpdmUuYzo0NzMKKyM6IGFyY2hpdmUuYzo0NzcKIG1zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCiBtc2dzdHIgImxpc3RhciBsb3MgZm9ybWF0b3MgZGUgY2FycGV0YSBzb3BvcnRhZG9zIgogCi0jOiBhcmNoaXZlLmM6NDc1IGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9jbG9uZS5jOjExNAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTUKKyM6IGFyY2hpdmUuYzo0NzkgYnVpbHRpbi9hcmNoaXZlLmM6OTEgYnVpbHRpbi9jbG9uZS5jOjExMyBidWlsdGluL2Nsb25lLmM6MTE2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NAogbXNnaWQgInJlcG8iCiBtc2dzdHIgInJlcG8iCiAKLSM6IGFyY2hpdmUuYzo0NzYgYnVpbHRpbi9hcmNoaXZlLmM6OTEKKyM6IGFyY2hpdmUuYzo0ODAgYnVpbHRpbi9hcmNoaXZlLmM6OTIKIG1zZ2lkICJyZXRyaWV2ZSB0aGUgYXJjaGl2ZSBmcm9tIHJlbW90ZSByZXBvc2l0b3J5IDxyZXBvPiIKIG1zZ3N0ciAib2J0ZW5lciBsYSBjYXJwZXRhIGRlbCByZXBvc2l0b3JpbyByZW1vdG8gPHJlcG8+IgogCi0jOiBhcmNoaXZlLmM6NDc3IGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0OTYKKyM6IGFyY2hpdmUuYzo0ODEgYnVpbHRpbi9hcmNoaXZlLmM6OTMgYnVpbHRpbi9kaWZmdG9vbC5jOjcxNQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ5OAogbXNnaWQgImNvbW1hbmQiCiBtc2dzdHIgImNvbWFuZG8iCiAKLSM6IGFyY2hpdmUuYzo0NzggYnVpbHRpbi9hcmNoaXZlLmM6OTMKKyM6IGFyY2hpdmUuYzo0ODIgYnVpbHRpbi9hcmNoaXZlLmM6OTQKIG1zZ2lkICJwYXRoIHRvIHRoZSByZW1vdGUgZ2l0LXVwbG9hZC1hcmNoaXZlIGNvbW1hbmQiCiBtc2dzdHIgInJ1dGEgcGFyYSBlbCBjb21hbmRvIGdpdC11cGxvYWQtYXJjaGl2byByZW1vdG8iCiAKLSM6IGFyY2hpdmUuYzo0ODUKKyM6IGFyY2hpdmUuYzo0ODkKIG1zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLXJlbW90ZSIKIG1zZ3N0ciAiT3BjacOzbiBpbmVzcGVyYWRhIC0tcmVtb3RlIgogCi0jOiBhcmNoaXZlLmM6NDg3CisjOiBhcmNoaXZlLmM6NDkxCiBtc2dpZCAiT3B0aW9uIC0tZXhlYyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1yZW1vdGUiCiBtc2dzdHIgIk9wY2nDs24gLS1leGVjIHNvbG8gcHVlZGUgc2VyIHV0aWxpemFkYSBjb24gLS1yZW1vdGUiCiAKLSM6IGFyY2hpdmUuYzo0ODkKKyM6IGFyY2hpdmUuYzo0OTMKIG1zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLW91dHB1dCIKIG1zZ3N0ciAiT3BjacOzbiBpbmVzcGVyYWRhIC0tb3V0cHV0IgogCi0jOiBhcmNoaXZlLmM6NTExCisjOiBhcmNoaXZlLmM6NTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gYXJjaGl2ZSBmb3JtYXQgJyVzJyIKIG1zZ3N0ciAiRm9ybWF0byBkZSBjYXJwZXRhIGRlc2Nvbm9jaWRvICclcyciCiAKLSM6IGFyY2hpdmUuYzo1MTgKKyM6IGFyY2hpdmUuYzo1MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXJndW1lbnQgbm90IHN1cHBvcnRlZCBmb3IgZm9ybWF0ICclcyc6IC0lZCIKIG1zZ3N0ciAiQXJndW1lbnRvIG5vIHNvcG9ydGFkbyBwYXJhIGZvcm1hdG8gJyVzJzogLSVkIgogCi0jOiBhcmNoaXZlLXRhci5jOjEyNSBhcmNoaXZlLXppcC5jOjM0NQorIzogYXJjaGl2ZS10YXIuYzoxMjUgYXJjaGl2ZS16aXAuYzozNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0cmVhbSBibG9iICVzIgogbXNnc3RyICJubyBzZSBwdWVkZSB0cmFuc21pdGlyIGVsIGJsb2IgJXMiCiAKLSM6IGFyY2hpdmUtdGFyLmM6MjYwIGFyY2hpdmUtemlwLmM6MzYzCisjOiBhcmNoaXZlLXRhci5jOjI2NiBhcmNoaXZlLXppcC5jOjM2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlIG1vZGU6IDAlbyAoU0hBMTogJXMpIgogbXNnc3RyICJtb2RvIGRlIGFyY2hpdm8gbm8gc29wb3J0YWRvOiAwJW8gKFNIQTE6ICVzKSIKIAotIzogYXJjaGl2ZS10YXIuYzoyODcgYXJjaGl2ZS16aXAuYzozNTMKKyM6IGFyY2hpdmUtdGFyLmM6MjkzIGFyY2hpdmUtemlwLmM6MzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICVzIgogbXNnc3RyICJubyBzZSBwdWVkZSBsZWVyICVzIgogCi0jOiBhcmNoaXZlLXRhci5jOjQ1OAorIzogYXJjaGl2ZS10YXIuYzo0NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXJ0ICclcycgZmlsdGVyIgogbXNnc3RyICJubyBzZSBwdWVkZSBjb21lbnphciBmaWx0cm8gJyVzJyIKIAotIzogYXJjaGl2ZS10YXIuYzo0NjEKKyM6IGFyY2hpdmUtdGFyLmM6NDY4CiBtc2dpZCAidW5hYmxlIHRvIHJlZGlyZWN0IGRlc2NyaXB0b3IiCiBtc2dzdHIgImluY2FwYXogZGUgcmVkaXJpZ2lyIGRlc2NyaXB0b3IiCiAKLSM6IGFyY2hpdmUtdGFyLmM6NDY4CisjOiBhcmNoaXZlLXRhci5jOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGZpbHRlciByZXBvcnRlZCBlcnJvciIKIG1zZ3N0ciAiZmlsdHJvICclcycgcmVwb3J0w7MgdW4gZXJyb3IiCiAKLSM6IGFyY2hpdmUtemlwLmM6MzE0CisjOiBhcmNoaXZlLXppcC5jOjMxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoIGlzIG5vdCB2YWxpZCBVVEYtODogJXMiCiBtc2dzdHIgInJ1dGEgbm8gdsOhbGlkYSBVVEYtODogJXMiCiAKLSM6IGFyY2hpdmUtemlwLmM6MzE4CisjOiBhcmNoaXZlLXppcC5jOjMyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoIHRvbyBsb25nICglZCBjaGFycywgU0hBMTogJXMpOiAlcyIKIG1zZ3N0ciAicnV0YSBtdXkgbGFyZ2EgKCVkIGNoYXJzLCBTSEExOiAlcyk6ICVzIgogCi0jOiBhcmNoaXZlLXppcC5jOjQ3NCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIyNCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIyNworIzogYXJjaGl2ZS16aXAuYzo0NzkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICJlcnJvciBhbCBkZXNpbmZsYXIgKCVkKSIKIAotIzogYXJjaGl2ZS16aXAuYzo2MDkKKyM6IGFyY2hpdmUtemlwLmM6NjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInRpbWVzdGFtcCB0b28gbGFyZ2UgZm9yIHRoaXMgc3lzdGVtOiAlPFBSSXVNQVg+IgogbXNnc3RyICJ0aW1lc3RhbXAgbXV5IGxhcmdvIHBhcmEgZXN0ZSBzaXN0ZW1hOiAlPFBSSXVNQVg+IgpAQCAtOTIwLDcgKzEzNzYsMTIgQEAKICM6IGF0dHIuYzoyMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJS4qcyBpcyBub3QgYSB2YWxpZCBhdHRyaWJ1dGUgbmFtZSIKLW1zZ3N0ciAiJS4qcyBubyBlcyB1biBub21icmUgZGUgYXRyaWJ1dG8gdmFsaWRvIgorbXNnc3RyICIlLipzIG5vIGVzIHVuIG5vbWJyZSBkZSBhdHJpYnV0byB2w6FsaWRvIgorCisjOiBhdHRyLmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbGxvd2VkOiAlczolZCIKK21zZ3N0ciAiJXMgbm8gcGVybWl0aWRvOiAlczolZCIKIAogIzogYXR0ci5jOjQwOQogbXNnaWQgIiIKQEAgLTkzNSwxNyArMTM5NiwxNyBAQAogbXNnaWQgIkJhZGx5IHF1b3RlZCBjb250ZW50IGluIGZpbGUgJyVzJzogJXMiCiBtc2dzdHIgIlJldmlzYSBsYXMgY29taWxsYXMgZW4gZWwgYXJjaGl2byAnJXMnOiAlcyIKIAotIzogYmlzZWN0LmM6Njc2CisjOiBiaXNlY3QuYzo2NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2UgY2Fubm90IGJpc2VjdCBtb3JlIVxuIgogbXNnc3RyICLCoU5vIHBvZGVtb3MgYmlzZWNjaW9uYXIgbcOhcyFcbiIKIAotIzogYmlzZWN0LmM6NzMwCisjOiBiaXNlY3QuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgY29tbWl0IG5hbWUgJXMiCi1tc2dzdHIgIk5vIGVzIHVuIG5vbWJyZSBkZSBjb21taXQgdmFsaWRvICVzIgorbXNnc3RyICJObyBlcyB1biBub21icmUgZGUgY29tbWl0IHbDoWxpZG8gJXMiCiAKLSM6IGJpc2VjdC5jOjc1NAorIzogYmlzZWN0LmM6NzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbWVyZ2UgYmFzZSAlcyBpcyBiYWQuXG4iCkBAIC05NTQsNyArMTQxNSw3IEBACiAiTGEgYmFzZSBkZSBmaXNpw7NuICVzIGVzdMOhIG1hbC5cbiIKICJFc3RvIHF1aWVyZSBkZWNpciBxdWUgZWwgYnVnIGhhIHNpZG8gYXJyZWdsYWRvIGVudHJlICVzIHkgWyVzXS5cbiIKIAotIzogYmlzZWN0LmM6NzU5CisjOiBiaXNlY3QuYzo3NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBtZXJnZSBiYXNlICVzIGlzIG5ldy5cbiIKQEAgLTk2Myw3ICsxNDI0LDcgQEAKICJMYSBiYXNlIGRlIGZpc2nDs24gJXMgZXMgbnVldmEuXG4iCiAiRXN0YSBwcm9waWVkYWQgaGEgY2FtYmlhZG8gZW50cmUgJXMgeSBbJXNdLlxuIgogCi0jOiBiaXNlY3QuYzo3NjQKKyM6IGJpc2VjdC5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIG1lcmdlIGJhc2UgJXMgaXMgJXMuXG4iCkBAIC05NzIsNyArMTQzMyw3IEBACiAiTGEgYmFzZSBkZSBmaXNpw7NuICVzIGVzICVzLlxuIgogIkVzdG8gcXVpZXJlIGRlY2lyIHF1ZSBlbCBwcmltZXIgJyVzJyBjb21taXQgZXN0w6EgZW50cmUgJXMgeSBbJXNdLlxuIgogCi0jOiBiaXNlY3QuYzo3NzIKKyM6IGJpc2VjdC5jOjc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU29tZSAlcyByZXZzIGFyZSBub3QgYW5jZXN0b3JzIG9mIHRoZSAlcyByZXYuXG4iCkBAIC05ODEsOSArMTQ0Miw5IEBACiBtc2dzdHIgIiIKICJBbGd1bmFzICVzIHJldmlzaW9uZXMgbm8gc29uIGFuY2VzdHJvcyBkZSBsYSByZXZpc2nDs24gJXMuXG4iCiAiZ2l0IGJpc2VjdCBubyBwdWVkZSB0cmFiYWphciBiaWVuIGVuIGVzdGUgY2Fzby5cbiIKLSJUYWwgdmV6IGNvbmZ1bmRpw7MgbGEgcmV2aXNpw7NuICVzIHkgJXM/XG4iCisiwr9UYWwgdmV6IGNvbmZ1bmRpc3RlIGxhIHJldmlzacOzbiAlcyB5ICVzP1xuIgogCi0jOiBiaXNlY3QuYzo3ODUKKyM6IGJpc2VjdC5jOjc4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidGhlIG1lcmdlIGJhc2UgYmV0d2VlbiAlcyBhbmQgWyVzXSBtdXN0IGJlIHNraXBwZWQuXG4iCkBAIC05OTQsMjIgKzE0NTUsMjIgQEAKICJBc8OtIHF1ZSBubyBwb2RlbW9zIGVzdGFyIHNlZ3Vyb3MgcXVlIGVsIHByaW1lciAlcyBjb21taXQgZXN0w6EgZW50cmUlcyB5ICVzLlxuIgogIlZhbW9zIGEgY29udGludWFyIGRlIHRvZGFzIG1hbmVyYXMuIgogCi0jOiBiaXNlY3QuYzo4MTgKKyM6IGJpc2VjdC5jOjgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJCaXNlY3Rpbmc6IGEgbWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZFxuIgogbXNnc3RyICJCaXNlY2Npb25hbmRvOiB1bmEgYmFzZSBkZSBmaXNpw7NuIGRlYmUgc2VyIHByb2JhZGFcbiIKIAotIzogYmlzZWN0LmM6ODU4CisjOiBiaXNlY3QuYzo4NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCiBtc2dzdHIgInVuYSAlcyByZXZpc2nDs24gZXMgbmVjZXNhcmlhIgogCi0jOiBiaXNlY3QuYzo4NzcgYnVpbHRpbi9ub3Rlcy5jOjE3NyBidWlsdGluL3RhZy5jOjIzNworIzogYmlzZWN0LmM6ODg0IGJ1aWx0aW4vbm90ZXMuYzoxNzcgYnVpbHRpbi90YWcuYzoyNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBmaWxlICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gY3JlYXIgZWwgYXJjaGl2byAnJXMnIgogCi0jOiBiaXNlY3QuYzo5MjggYnVpbHRpbi9tZXJnZS5jOjEzOAorIzogYmlzZWN0LmM6OTI4IGJ1aWx0aW4vbWVyZ2UuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgZmlsZSAnJXMnIgogbXNnc3RyICJubyBzZSBwdWRvIGxlZXIgZWwgYXJjaGl2byAnJXMnIgpAQCAtMTA0OSw0NSArMTUxMCw0NSBAQAogbXNnc3RyWzBdICJCaXNlY2Npb25hbmRvOiBmYWx0YSAlZCByZXZpc2nDs24gcG9yIHByb2JhciBkZXNwdcOpcyBkZSBlc3RvICVzXG4iCiBtc2dzdHJbMV0gIkJpc2VjY2lvbmFuZG86IGZhbHRhbiAlZCByZXZpc2lvbmVzIHBvciBwcm9iYXIgZGVzcHXDqXMgZGUgZXN0byAlc1xuIgogCi0jOiBibGFtZS5jOjE3ODcKKyM6IGJsYW1lLmM6MjcwMAogbXNnaWQgIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iCiBtc2dzdHIgIi0tY29udGVudHMgeSAtLXJldmVyc2Ugbm8gc2UgbWV6Y2xhbiBiaWVuLiIKIAotIzogYmxhbWUuYzoxODAxCisjOiBibGFtZS5jOjI3MTQKIG1zZ2lkICJjYW5ub3QgdXNlIC0tY29udGVudHMgd2l0aCBmaW5hbCBjb21taXQgb2JqZWN0IG5hbWUiCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIHVzYXIgLS1jb250ZW50cyBjb24gZWwgbm9tYnJlIGRlIG9iamV0byBjb21taXQgZmluYWwiCiAKLSM6IGJsYW1lLmM6MTgyMgorIzogYmxhbWUuYzoyNzM1CiBtc2dpZCAiLS1yZXZlcnNlIGFuZCAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHNwZWNpZmllZCBsYXRlc3QgY29tbWl0IgogbXNnc3RyICIiCiAiLS1yZXZlcnNlIHkgLS1maXJzdC1wYXJlbnQganVudG9zIHJlcXVpZXJlbiBlc3BlY2lmaWNhciBlbCDDumx0aW1vIGNvbW1pdCIKIAotIzogYmxhbWUuYzoxODMxIGJ1bmRsZS5jOjE2MiByZWYtZmlsdGVyLmM6MjA0NiBzZXF1ZW5jZXIuYzoxOTYzCi0jOiBzZXF1ZW5jZXIuYzo0MDAyIGJ1aWx0aW4vY29tbWl0LmM6MTAwMSBidWlsdGluL2xvZy5jOjM3NyBidWlsdGluL2xvZy5jOjkzMgotIzogYnVpbHRpbi9sb2cuYzoxNDA3IGJ1aWx0aW4vbG9nLmM6MTc4MyBidWlsdGluL2xvZy5jOjIwNzIgYnVpbHRpbi9tZXJnZS5jOjQwNgotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTM3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE1MgorIzogYmxhbWUuYzoyNzQ0IGJ1bmRsZS5jOjE2NyByZWYtZmlsdGVyLmM6MjIwMyByZW1vdGUuYzoxOTQxIHNlcXVlbmNlci5jOjIwOTMKKyM6IHNlcXVlbmNlci5jOjQ0NjAgYnVpbHRpbi9jb21taXQuYzoxMDQwIGJ1aWx0aW4vbG9nLmM6Mzg4IGJ1aWx0aW4vbG9nLmM6OTkxCisjOiBidWlsdGluL2xvZy5jOjE1MjAgYnVpbHRpbi9sb2cuYzoxOTI1IGJ1aWx0aW4vbG9nLmM6MjIxNSBidWlsdGluL21lcmdlLmM6NDExCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMjggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTQzCiAjOiBidWlsdGluL3Nob3J0bG9nLmM6MTkyCiBtc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCiBtc2dzdHIgImZhbGzDsyBsYSBjb25maWd1cmFjacOzbiBkZWwgY2FtaW5vIGRlIHJldmlzacOzbiIKIAotIzogYmxhbWUuYzoxODQ5CisjOiBibGFtZS5jOjI3NjIKIG1zZ2lkICIiCiAiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIgogbXNnc3RyICIiCiAiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IGp1bnRvcyByZXF1aWVyZW4gdW4gcmFuZ28gYSBsbyBsYXJnbyBkZSBsYSBjYWRlbmEgIgogImRlbCBwcmltZXIgcGFkcmUiCiAKLSM6IGJsYW1lLmM6MTg2MAorIzogYmxhbWUuYzoyNzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKIG1zZ3N0ciAibm8gaGF5IHVuYSBydXRhICVzIGVuICVzIgogCi0jOiBibGFtZS5jOjE4NzEKKyM6IGJsYW1lLmM6Mjc4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgogbXNnc3RyICJubyBzZSBwdWVkZSBsZWVyIGVsIGJsb2IgJXMgcGFyYSBsYSBydXRhICVzIgogCi0jOiBicmFuY2guYzo1MgorIzogYnJhbmNoLmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTEwMCw5NyArMTU2MSw5NyBAQAogImxhIGluZmFtYWNpw7NuIGRlbCByYXN0cmVvIHJlbW90byBpbnZvY2FuZG9cbiIKICJcImdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG89JXMlcyVzXCIuIgogCi0jOiBicmFuY2guYzo2NgorIzogYnJhbmNoLmM6NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IHNldHRpbmcgYnJhbmNoICVzIGFzIGl0cyBvd24gdXBzdHJlYW0uIgogbXNnc3RyICJMYSByYW1hICVzIG5vIHNlIGNvbmZpZ3VyYSBjb21vIHN1IHByb3BpbyB1cHN0cmVhbS4iCiAKLSM6IGJyYW5jaC5jOjkyCisjOiBicmFuY2guYzo5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgcmVtb3RlIGJyYW5jaCAnJXMnIGZyb20gJyVzJyBieSByZWJhc2luZy4iCiBtc2dzdHIgIiIKICJSYW1hICclcycgY29uZmlndXJhZGEgcGFyYSBoYWNlciBzZWd1aW1pZW50byBhIGxhIHJhbWEgcmVtb3RhICclcycgZGUgJyVzJyAiCiAicG9yIHJlYmFzZS4iCiAKLSM6IGJyYW5jaC5jOjkzCisjOiBicmFuY2guYzo5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgcmVtb3RlIGJyYW5jaCAnJXMnIGZyb20gJyVzJy4iCiBtc2dzdHIgIiIKICJSYW1hICclcycgY29uZmlndXJhZGEgcGFyYSBoYWNlciBzZWd1aW1pZW50byBhIGxhIHJhbWEgcmVtb3RhICclcycgZGUgJyVzJy4iCiAKLSM6IGJyYW5jaC5jOjk3CisjOiBicmFuY2guYzo5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgYnJhbmNoICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICIiCiAiUmFtYSAnJXMnIGNvbmZpZ3VyYWRhIHBhcmEgaGFjZXIgc2VndWltaWVudG8gYSBsYSByYW1hIGxvY2FsICclcycgcG9yIHJlYmFzZS4iCiAKLSM6IGJyYW5jaC5jOjk4CisjOiBicmFuY2guYzo5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgYnJhbmNoICclcycuIgogbXNnc3RyICJSYW1hICclcycgY29uZmlndXJhZGEgcGFyYSBoYWNlciBzZWd1aW1pZW50byBhIGxhIHJhbWEgbG9jYWwgJyVzJy4iCiAKLSM6IGJyYW5jaC5jOjEwMworIzogYnJhbmNoLmM6MTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgcmVmICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICIiCiAiUmFtYSAnJXMnIGNvbmZpZ3VyYWRhIHBhcmEgaGFjZXIgc2VndWltaWVudG8gYSBsYSByZWZlcmVuY2lhIHJlbW90YSAnJXMnIHBvciAiCiAicmViYXNlLiIKIAotIzogYnJhbmNoLmM6MTA0CisjOiBicmFuY2guYzoxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSByZWYgJyVzJy4iCiBtc2dzdHIgIiIKICJSYW1hICclcycgY29uZmlndXJhZGEgcGFyYSBoYWNlciBzZWd1aW1pZW50byBhIGxhIHJlZmVyZW5jaWEgcmVtb3RhICclcycuIgogCi0jOiBicmFuY2guYzoxMDgKKyM6IGJyYW5jaC5jOjEwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgcmVmICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICIiCiAiUmFtYSAnJXMnIGNvbmZpZ3VyYWRhIHBhcmEgaGFjZXIgc2VndWltaWVudG8gYSBsYSByZWZlcmVuY2lhIGxvY2FsICclcycgcG9yICIKICJyZWJhc2UuIgogCi0jOiBicmFuY2guYzoxMDkKKyM6IGJyYW5jaC5jOjExMAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgcmVmICclcycuIgogbXNnc3RyICIiCiAiUmFtYSAnJXMnIGNvbmZpZ3VyYWRhIHBhcmEgaGFjZXIgc2VndWltaWVudG8gYSBsYSByZWZlcmVuY2lhIGxvY2FsICclcycuIgogCi0jOiBicmFuY2guYzoxMTgKKyM6IGJyYW5jaC5jOjExOQogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB1cHN0cmVhbSBicmFuY2ggY29uZmlndXJhdGlvbiIKIG1zZ3N0ciAiTm8gZXMgcG9zaWJsZSBlc2NyaWJpciBsYSBjb25maWd1cmFjacOzbiBkZSBsYSByYW1hIHVwc3RyZWFtIgogCi0jOiBicmFuY2guYzoxNTUKKyM6IGJyYW5jaC5jOjE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgdHJhY2tpbmc6IGFtYmlndW91cyBpbmZvcm1hdGlvbiBmb3IgcmVmICVzIgogbXNnc3RyICJObyByYXN0cmVhbmRvOiBpbmZvcm1hY2nDs24gYW1iaWd1YSBwYXJhIGxhIHJlZmVyZW5jaWEgJXMiCiAKLSM6IGJyYW5jaC5jOjE4OAorIzogYnJhbmNoLmM6MTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgYnJhbmNoIG5hbWUuIgotbXNnc3RyICInJXMnIG5vIGVzIHVuIG5vbWJyZSB2YWxpZG8gZGUgcmFtYS4iCittc2dzdHIgIiclcycgbm8gZXMgdW4gbm9tYnJlIHbDoWxpZG8gZGUgcmFtYS4iCiAKLSM6IGJyYW5jaC5jOjIwNworIzogYnJhbmNoLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkEgYnJhbmNoIG5hbWVkICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICJVbmEgcmFtYSBsbGFtYWRhICclcycgeWEgZXhpc3RlLiIKIAotIzogYnJhbmNoLmM6MjEyCisjOiBicmFuY2guYzoyMTMKIG1zZ2lkICJDYW5ub3QgZm9yY2UgdXBkYXRlIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIk5vIHNlIHB1ZWRlIGZvcnphciBsYSBhY3R1YWxpemFjacOzbiBkZSBsYSByYW1hIGFjdHVhbC4iCiAKLSM6IGJyYW5jaC5jOjIzMgorIzogYnJhbmNoLmM6MjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzZXR1cCB0cmFja2luZyBpbmZvcm1hdGlvbjsgc3RhcnRpbmcgcG9pbnQgJyVzJyBpcyBub3QgYSBicmFuY2guIgogbXNnc3RyICIiCiAiTm8gc2UgcHVlZGUgY29uZmlndXJhciBlbCByYXN0cmVvIGRlIGluZm9ybWFjacOzbjsgZWwgcHVudG8gZGUgcGFydGlkYSAnJXMnICIKICJubyBlcyB1bmEgcmFtYS4iCiAKLSM6IGJyYW5jaC5jOjIzNAorIzogYnJhbmNoLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSByZXF1ZXN0ZWQgdXBzdHJlYW0gYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImxhIHJhbWEgZGUgdXBzdHJlYW0gc29saWNpdGFkYSAnJXMnIG5vIGV4aXN0ZSIKIAotIzogYnJhbmNoLmM6MjM2CisjOiBicmFuY2guYzoyMzcKIG1zZ2lkICIiCiAiXG4iCiAiSWYgeW91IGFyZSBwbGFubmluZyBvbiBiYXNpbmcgeW91ciB3b3JrIG9uIGFuIHVwc3RyZWFtXG4iCkBAIC0xMjExLDI3ICsxNjcyLDI3IEBACiAiXCJnaXQgcHVzaCAtdVwiIHBhcmEgY29uZmlndXJhciB0dSB1cHN0cmVhbSBwcmVkZXRlcm1pbmFkbyBjdWFuZG8gcmVhbGl6YXMgIgogImVsIHB1c2guIgogCi0jOiBicmFuY2guYzoyNzkKKyM6IGJyYW5jaC5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJy4iCi1tc2dzdHIgIk5vbWJyZSBkZSBvYmpldG8gbm8gdmFsaWRvOiAnJXMnLiIKK21zZ3N0ciAiTm9tYnJlIGRlIG9iamV0byBubyB2w6FsaWRvOiAnJXMnLiIKIAotIzogYnJhbmNoLmM6Mjk5CisjOiBicmFuY2guYzozMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQW1iaWd1b3VzIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAiTm9tYnJlIGRlIG9iamV0byBhbWJpZ3VvOiAnJXMnLiIKIAotIzogYnJhbmNoLmM6MzA0CisjOiBicmFuY2guYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgYnJhbmNoIHBvaW50OiAnJXMnLiIKLW1zZ3N0ciAiUHVudG8gZGUgcmFtYSBubyB2YWxpZG86ICclcycuIgorbXNnc3RyICJQdW50byBkZSByYW1hIG5vIHbDoWxpZG86ICclcycuIgogCi0jOiBicmFuY2guYzozNTgKKyM6IGJyYW5jaC5jOjM2NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiJyVzJyB5YSBoYSBzaWRvIG1hcmNhZG8gZW4gJyVzJyIKIAotIzogYnJhbmNoLmM6MzgxCisjOiBicmFuY2guYzozODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSEVBRCBvZiB3b3JraW5nIHRyZWUgJXMgaXMgbm90IHVwZGF0ZWQiCiBtc2dzdHIgIkhFQUQgZGVsIMOhcmJvbCBkZSB0cmFiYWpvICVzIG5vIGVzdMOhIGFjdHVhbGl6YWRhIgpAQCAtMTI0Niw3MCArMTcwNyw3NCBAQAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAiaGVhZGVyIG5vIHJlY29ub2NpZG8gJXMlcyAoJWQpIgogCi0jOiBidW5kbGUuYzo5MCByZXJlcmUuYzo0ODAgcmVyZXJlLmM6NjkwIHNlcXVlbmNlci5jOjIxODIgc2VxdWVuY2VyLmM6MjcyMgotIzogYnVpbHRpbi9jb21taXQuYzo3NzQKKyM6IGJ1bmRsZS5jOjkwIHJlcmVyZS5jOjQ4MCByZXJlcmUuYzo2OTAgc2VxdWVuY2VyLmM6MjM0NCBzZXF1ZW5jZXIuYzozMTA4CisjOiBidWlsdGluL2NvbW1pdC5jOjgxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIgogbXNnc3RyICJubyBzZSBwdWRvIGFicmlyICclcyciCiAKLSM6IGJ1bmRsZS5jOjE0MQorIzogYnVuZGxlLmM6MTQzCiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyB0aGVzZSBwcmVyZXF1aXNpdGUgY29tbWl0czoiCiBtc2dzdHIgIkFsIHJlcG9zaXRvcmlvIGxlIGZhbHRhIGVzdG9zIGNvbW1pdHMgcHJlcnJlcXVpc2l0bzoiCiAKLSM6IGJ1bmRsZS5jOjE5MgorIzogYnVuZGxlLmM6MTQ2Cittc2dpZCAibmVlZCBhIHJlcG9zaXRvcnkgdG8gdmVyaWZ5IGEgYnVuZGxlIgorbXNnc3RyICJzZSBuZWNlc2l0YSB1biByZXBvc2l0b3JpbyBwYXJhIHZlcmlmaWNhciB1biBidW5kbGUiCisKKyM6IGJ1bmRsZS5jOjE5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoaXMgcmVmOiIKIG1zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSBjb250YWlucyB0aGVzZSAlZCByZWZzOiIKIG1zZ3N0clswXSAiRWwgYnVuZGxlIGNvbnRpZW5lIGVzdGEgcmVmZXJlbmNpYToiCiBtc2dzdHJbMV0gIkVsIGJ1bmRsZSBjb250aWVuZSBlc3RhcyAlZCByZWZlcmVuY2lhczoiCiAKLSM6IGJ1bmRsZS5jOjE5OQorIzogYnVuZGxlLmM6MjA0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZWNvcmRzIGEgY29tcGxldGUgaGlzdG9yeS4iCiBtc2dzdHIgIkVsIGJ1bmRsZSByZWdpc3RyYSB1bmEgaGlzdG9yaWEgY29tcGxldGEuIgogCi0jOiBidW5kbGUuYzoyMDEKKyM6IGJ1bmRsZS5jOjIwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoaXMgcmVmOiIKIG1zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGVzZSAlZCByZWZzOiIKIG1zZ3N0clswXSAiRWwgYnVuZGxlIHJlcXVpZXJlIGVzdGEgcmVmZXJlbmNpYToiCiBtc2dzdHJbMV0gIkVsIGJ1bmRsZSByZXF1aWVyZSBlc3RhcyAlZCByZWZlcmVuY2lhczoiCiAKLSM6IGJ1bmRsZS5jOjI2NworIzogYnVuZGxlLmM6MjczCiBtc2dpZCAidW5hYmxlIHRvIGR1cCBidW5kbGUgZGVzY3JpcHRvciIKIG1zZ3N0ciAiaW5jYXBheiBkZSBkdXBsaWNhciBidW5kbGUgZGVzY3JpcHRvciIKIAotIzogYnVuZGxlLmM6Mjc0CisjOiBidW5kbGUuYzoyODAKIG1zZ2lkICJDb3VsZCBub3Qgc3Bhd24gcGFjay1vYmplY3RzIgogbXNnc3RyICJObyBzZSBwdWRvIGNyZWFyIGxvcyBwYWNrLW9iamV0Y3RzIgogCi0jOiBidW5kbGUuYzoyODUKKyM6IGJ1bmRsZS5jOjI5MQogbXNnaWQgInBhY2stb2JqZWN0cyBkaWVkIgogbXNnc3RyICJwYWNrLW9iamVjdHMgbXVyacOzIgogCi0jOiBidW5kbGUuYzozMjcKKyM6IGJ1bmRsZS5jOjMzMwogbXNnaWQgInJldi1saXN0IGRpZWQiCiBtc2dzdHIgInJldi1saXN0IG11cmnDsyIKIAotIzogYnVuZGxlLmM6Mzc2CisjOiBidW5kbGUuYzozODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmICclcycgaXMgZXhjbHVkZWQgYnkgdGhlIHJldi1saXN0IG9wdGlvbnMiCiBtc2dzdHIgInJlZmVyZW5jaWEgJyVzJyBlcyBleGNsdWlkYSBwb3IgbGFzIG9wY2lvbmVzIGRlIHJldi1saXN0IgogCi0jOiBidW5kbGUuYzo0NTYgYnVpbHRpbi9sb2cuYzoxOTIgYnVpbHRpbi9sb2cuYzoxNjg4IGJ1aWx0aW4vc2hvcnRsb2cuYzozMDQKKyM6IGJ1bmRsZS5jOjQ2MSBidWlsdGluL2xvZy5jOjIwMyBidWlsdGluL2xvZy5jOjE4MTQgYnVpbHRpbi9zaG9ydGxvZy5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJhcmd1bWVudG8gbm8gcmVjb25vY2lkbzogJXMiCiAKLSM6IGJ1bmRsZS5jOjQ2NAorIzogYnVuZGxlLmM6NDY5CiBtc2dpZCAiUmVmdXNpbmcgdG8gY3JlYXRlIGVtcHR5IGJ1bmRsZS4iCiBtc2dzdHIgIlJlY2hhemFuZG8gY3JlYXIgdW4gYnVuZGxlIHZhY8Otby4iCiAKLSM6IGJ1bmRsZS5jOjQ3NAorIzogYnVuZGxlLmM6NDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgY3JlYXIgJyVzJyIKIAotIzogYnVuZGxlLmM6NDk4CisjOiBidW5kbGUuYzo1MDQKIG1zZ2lkICJpbmRleC1wYWNrIGRpZWQiCiBtc2dzdHIgImluZGV4LXBhY2sgbXVyacOzIgogCkBAIC0xMzE4LDE3ICsxNzgzLDE2IEBACiBtc2dpZCAiaW52YWxpZCBjb2xvciB2YWx1ZTogJS4qcyIKIG1zZ3N0ciAiY29sb3IgaW52w6FsaWRvOiAlLipzIgogCi0jOiBjb21taXQuYzo1MCBzZXF1ZW5jZXIuYzoyNTI4IGJ1aWx0aW4vYW0uYzozNzAgYnVpbHRpbi9hbS5jOjQxNAotIzogYnVpbHRpbi9hbS5jOjEzOTAgYnVpbHRpbi9hbS5jOjIwMjUgYnVpbHRpbi9yZXBsYWNlLmM6Mzc2Ci0jOiBidWlsdGluL3JlcGxhY2UuYzo0NDgKKyM6IGNvbW1pdC5jOjUxIHNlcXVlbmNlci5jOjI4MTEgYnVpbHRpbi9hbS5jOjM1NCBidWlsdGluL2FtLmM6Mzk4CisjOiBidWlsdGluL2FtLmM6MTM2NiBidWlsdGluL2FtLmM6MjAwOSBidWlsdGluL3JlcGxhY2UuYzo0NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlICVzIgogbXNnc3RyICJubyBzZSBwdWVkZSBhbmFsaXphciAlcyIKIAotIzogY29tbWl0LmM6NTIKKyM6IGNvbW1pdC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzICVzIGlzIG5vdCBhIGNvbW1pdCEiCi1tc2dzdHIgIiVzICVzIG5vIGVzIHVuIGNvbW1pdCEiCittc2dzdHIgIsKhJXMgJXMgbm8gZXMgdW4gY29tbWl0ISIKIAogIzogY29tbWl0LmM6MTkzCiBtc2dpZCAiIgpAQCAtMTM1MCwxMjggKzE4MTQsMzAyIEBACiAiQXBhcGEgZXN0ZSBtZW5zYWplIGVqZWN1dGFuZG9cbiIKICJcImdpdCBjb25maWcgYWR2aWNlLmdyYWZ0RmlsZURlcHJlY2F0ZWQgZmFsc2VcIiIKIAotIzogY29tbWl0LmM6MTExNQorIzogY29tbWl0LmM6MTE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICJDb21taXQgJXMgdGllbmUgdW5hIGZpcm1hIEdQRyBubyBjb25maWFibGUsIHByZXRlbmRpZGFtZW50ZSBwb3IgJXMuIgogCi0jOiBjb21taXQuYzoxMTE4CisjOiBjb21taXQuYzoxMTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBiYWQgR1BHIHNpZ25hdHVyZSBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICJDb21taXQgJXMgdGllbmUgdW5hIG1hbGEgZmlybWEgR1BHIHByZXRlbmRpZGFtZW50ZSBwb3IgJXMuIgogCi0jOiBjb21taXQuYzoxMTIxCisjOiBjb21taXQuYzoxMTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIGEgR1BHIHNpZ25hdHVyZS4iCiBtc2dzdHIgIkNvbW1pdCAlcyBubyB0aWVuZSB1bmEgZmlybWEgR1BHLiIKIAotIzogY29tbWl0LmM6MTEyNAorIzogY29tbWl0LmM6MTE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIGJ5ICVzXG4iCiBtc2dzdHIgIkVsIENvbW1pdCAlcyB0aWVuZSB1bmEgYnVlbmEgZmlybWEgR1BHIHBvciAlc1xuIgogCi0jOiBjb21taXQuYzoxMzc4CisjOiBjb21taXQuYzoxNDE1CiBtc2dpZCAiIgogIldhcm5pbmc6IGNvbW1pdCBtZXNzYWdlIGRpZCBub3QgY29uZm9ybSB0byBVVEYtOC5cbiIKICJZb3UgbWF5IHdhbnQgdG8gYW1lbmQgaXQgYWZ0ZXIgZml4aW5nIHRoZSBtZXNzYWdlLCBvciBzZXQgdGhlIGNvbmZpZ1xuIgogInZhcmlhYmxlIGkxOG4uY29tbWl0ZW5jb2RpbmcgdG8gdGhlIGVuY29kaW5nIHlvdXIgcHJvamVjdCB1c2VzLlxuIgogbXNnc3RyICIiCiAiUGVsaWdybzogZWwgbWVuc2FqZSBkZWwgY29tbWl0IG5vIHNlIGFqdXN0YSBhIFVURi04LlxuIgotIlRhbCB2ZXogcXVpZXJhIGVubWVuZGFybG8gZGVzcHXDqXMgZGUgYXJyZWdsYXIgZWwgbWVuc2FqZSwgbyBhcnJlZ2xhciBsYVxuIgorIlRhbCB2ZXogcXVpZXJhcyBlbm1lbmRhcmxvIGRlc3B1w6lzIGRlIGFycmVnbGFyIGVsIG1lbnNhamUsIG8gYXJyZWdsYXIgbGFcbiIKICJ2YXJpYWJsZSBkZSBjb25maWd1cmFjacOzbiBpMThuLmNvbW1pdGVuY29kaW5nIHBhcmEgbGEgY29kaWZpY2FjacOzbiBxdWUgdXNhICIKLSJzdSBwcm95ZWN0by5cbiIKKyJ0dSBwcm95ZWN0by5cbiIKIAotIzogY29tbWl0LWdyYXBoLmM6MTA4CisjOiBjb21taXQtZ3JhcGguYzoxMzAKK21zZ2lkICJjb21taXQtZ3JhcGggZmlsZSBpcyB0b28gc21hbGwiCittc2dzdHIgImFyY2hpdm8gY29tbWl0LWdyYXBoIGVzIG11eSBwZXF1ZcOxbyIKKworIzogY29tbWl0LWdyYXBoLmM6MTk1CiAjLCBjLWZvcm1hdAotbXNnaWQgImdyYXBoIGZpbGUgJXMgaXMgdG9vIHNtYWxsIgotbXNnc3RyICJhcmNoaXZvIGdyYXBoICVzIGVzIG11eSBwZXF1ZcOxbyIKK21zZ2lkICJjb21taXQtZ3JhcGggc2lnbmF0dXJlICVYIGRvZXMgbm90IG1hdGNoIHNpZ25hdHVyZSAlWCIKK21zZ3N0ciAiZmlybWEgJVggZW4gY29tbWl0LWdyYXBoIG5vIGNvbmN1ZXJkYSBjb24gZmlybWEgJVgiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjExNQorIzogY29tbWl0LWdyYXBoLmM6MjAyCiAjLCBjLWZvcm1hdAotbXNnaWQgImdyYXBoIHNpZ25hdHVyZSAlWCBkb2VzIG5vdCBtYXRjaCBzaWduYXR1cmUgJVgiCi1tc2dzdHIgImZpcm1hIGRlIGdyYXBoICVYIG5vIGNvbmN1ZXJkYSBjb24gZmlybWEgJVgiCittc2dpZCAiY29tbWl0LWdyYXBoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKK21zZ3N0ciAidmVyc2nDs24gZGUgY29tbWl0LWdyYXBoICVYIG5vIGNvbmN1ZXJkYSBjb24gdmVyc2nDs24gJVgiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEyMgorIzogY29tbWl0LWdyYXBoLmM6MjA5CiAjLCBjLWZvcm1hdAotbXNnaWQgImdyYXBoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKLW1zZ3N0ciAidmVyc2nDs24gZGUgZ3JhcGggJVggbm8gY29uY3VlcmRhIGNvbiB2ZXJzacOzbiAlWCIKK21zZ2lkICJjb21taXQtZ3JhcGggaGFzaCB2ZXJzaW9uICVYIGRvZXMgbm90IG1hdGNoIHZlcnNpb24gJVgiCittc2dzdHIgInZlcnNpw7NuIGRlIGhhc2ggZGUgY29tbWl0LWdyYXBoICVYIG5vIGNvbmN1ZXJkYSBjb24gdmVyc2nDs24gJVgiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEyOQorIzogY29tbWl0LWdyYXBoLmM6MjMyCittc2dpZCAiY29tbWl0LWdyYXBoIGNodW5rIGxvb2t1cCB0YWJsZSBlbnRyeSBtaXNzaW5nOyBmaWxlIG1heSBiZSBpbmNvbXBsZXRlIgorbXNnc3RyICIiCisiZmFsdGEgdGFibGEgZGUgbG9va3VwIGRlbCBjaHVuayBlbiBjb21taXQtZ3JhcGg7IGVsIGFyY2hpdm8gcHVlZGUgZXN0YXIgIgorImluY29tcGxldG8iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjI0MwogIywgYy1mb3JtYXQKLW1zZ2lkICJoYXNoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKLW1zZ3N0ciAidmVyc2nDs24gZGUgaGFzaCAlWCBubyBjb25jdWVyZGEgY29uIHZlcnNpw7NuICVYIgorbXNnaWQgImNvbW1pdC1ncmFwaCBpbXByb3BlciBjaHVuayBvZmZzZXQgJTA4eCUwOHgiCittc2dzdHIgIm9mZnNldCBkZWwgY2h1bmsgZGUgY29tbWl0LWdyYXBoIGluYXByb3BpYWRvICUwOHglMDh4IgogCi0jOiBjb21taXQtZ3JhcGguYzoxNTMKKyM6IGNvbW1pdC1ncmFwaC5jOjI4NgogIywgYy1mb3JtYXQKLW1zZ2lkICJpbXByb3BlciBjaHVuayBvZmZzZXQgJTA4eCUwOHgiCi1tc2dzdHIgIm9mZnNldCBkZWwgY2h1bmsgaW1wcm9waW8gJTA4eCUwOHgiCittc2dpZCAiY29tbWl0LWdyYXBoIGNodW5rIGlkICUwOHggYXBwZWFycyBtdWx0aXBsZSB0aW1lcyIKK21zZ3N0ciAiaWQgZGUgY2h1bmsgZGUgY29tbWl0LWdyYXBoICUwOHggcGFyZWNlIHRlbmVyIG3Dumx0aXBsZXMgdGllbXBvcyIKIAotIzogY29tbWl0LWdyYXBoLmM6MTg5CisjOiBjb21taXQtZ3JhcGguYzozNTAKK21zZ2lkICJjb21taXQtZ3JhcGggaGFzIG5vIGJhc2UgZ3JhcGhzIGNodW5rIgorbXNnc3RyICJjb21taXQtZ3JhcGggbm8gdGllbmUgdW5hIGNodW5rIGJhc2UgZGUgZ3JhcGhzIgorCisjOiBjb21taXQtZ3JhcGguYzozNjAKK21zZ2lkICJjb21taXQtZ3JhcGggY2hhaW4gZG9lcyBub3QgbWF0Y2giCittc2dzdHIgImNhZGVuYSBjb21taXQtZ3JhcGggbm8gY29uY3VlcmRhIgorCisjOiBjb21taXQtZ3JhcGguYzo0MDcKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY2h1bmsgaWQgJTA4eCBhcHBlYXJzIG11bHRpcGxlIHRpbWVzIgotbXNnc3RyICJpZCBkZSBjaHVuayAlMDh4IHBhcmVjZSB0ZW5lciBtw7psdGlwbGVzIHRpZW1wb3MiCittc2dpZCAiaW52YWxpZCBjb21taXQtZ3JhcGggY2hhaW46IGxpbmUgJyVzJyBub3QgYSBoYXNoIgorbXNnc3RyICJjYWRlbmEgZGUgY29tbWl0LWdyYXBoIGludsOhbGlkYTogbMOtbmVhICclcycgbm8gZXMgdW4gaGFzaCIKIAotIzogY29tbWl0LWdyYXBoLmM6MzA4CisjOiBjb21taXQtZ3JhcGguYzo0MzMKK21zZ2lkICJ1bmFibGUgdG8gZmluZCBhbGwgY29tbWl0LWdyYXBoIGZpbGVzIgorbXNnc3RyICJubyBlcyBwb3NpYmxlIGVuY29udHJhciBsb3MgYXJjaGl2b3MgY29tbWl0LWdyYXBoIgorCisjOiBjb21taXQtZ3JhcGguYzo1NjQgY29tbWl0LWdyYXBoLmM6NjI0Cittc2dpZCAiaW52YWxpZCBjb21taXQgcG9zaXRpb24uIGNvbW1pdC1ncmFwaCBpcyBsaWtlbHkgY29ycnVwdCIKK21zZ3N0ciAicG9zaWNpw7NuIGRlIGNvbW1pdCBpbnbDoWxpZGEuIGNvbW1pdC1ncmFwaCBlc3TDoSBwcm9iYWJsZW1lbnRlIGNvcnJ1cHRvIgorCisjOiBjb21taXQtZ3JhcGguYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGZpbmQgY29tbWl0ICVzIgogbXNnc3RyICJubyBzZSBwdWRvIGVuY29udHJhciBjb21taXQgJXMiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjYxNyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTIKKyM6IGNvbW1pdC1ncmFwaC5jOjg1OCBidWlsdGluL2FtLmM6MTI4NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0ICVzIgorbXNnc3RyICJubyBlcyBwb3NpYmxlIGFuYWxpemFyIGVsIGNvbW1pdCAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTAxNyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdldCB0eXBlIG9mIG9iamVjdCAlcyIKIG1zZ3N0ciAiaW5jYXBheiBkZSBvYnRlbmVyIGVsIHRpcG8gZGUgb2JqZXRvOiAlcyIKIAotIzogY29tbWl0LWdyYXBoLmM6NjUxCi1tc2dpZCAiQW5ub3RhdGluZyBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKLW1zZ3N0ciAiQW5vdGFuZG8gY29tbWl0cyBlbiBjb21taXQgZ3JhcGgiCisjOiBjb21taXQtZ3JhcGguYzoxMDQ5Cittc2dpZCAiTG9hZGluZyBrbm93biBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAiQ2FyZ2FuZG8gY29tbWl0cyBjb25vY2lkb3MgZW4gY29tbWl0IGdyYXBoIgogCi0jOiBjb21taXQtZ3JhcGguYzo2OTEKKyM6IGNvbW1pdC1ncmFwaC5jOjEwNjYKK21zZ2lkICJFeHBhbmRpbmcgcmVhY2hhYmxlIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICJFeHBhbmRpZW5kbyBjb21taXRzIGFsY2FuemFibGVzIGVuIGNvbW1pdCBncmFwaCIKKworIzogY29tbWl0LWdyYXBoLmM6MTA4NQorbXNnaWQgIkNsZWFyaW5nIGNvbW1pdCBtYXJrcyBpbiBjb21taXQgZ3JhcGgiCittc2dzdHIgIkxpbXBpYW5kbyBtYXJjYXMgZGUgY29tbWl0cyBlbiBjb21taXQgZ3JhcGgiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjExMDQKIG1zZ2lkICJDb21wdXRpbmcgY29tbWl0IGdyYXBoIGdlbmVyYXRpb24gbnVtYmVycyIKIG1zZ3N0ciAiQ2FsY3VsYW5kbyBuw7ptZXJvcyBkZSBnZW5lcmFjacOzbiBkZSBjb21taXQgZ3JhcGgiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjgwMyBjb21taXQtZ3JhcGguYzo4MjYgY29tbWl0LWdyYXBoLmM6ODUyCi1tc2dpZCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGgiCi1tc2dzdHIgIkVuY29udHJhbmRvIGNvbW1pdHMgcGFyYSBjb21taXQgZ3JhcGgiCisjOiBjb21taXQtZ3JhcGguYzoxMTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGluICVkIHBhY2siCittc2dpZF9wbHVyYWwgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGluICVkIHBhY2tzIgorbXNnc3RyWzBdICJFbmNvbnRyYW5kbyBjb21taXRzIHBhcmEgY29tbWl0IGdyYXBoIGVuICVkIHBhY2siCittc2dzdHJbMV0gIkVuY29udHJhbmRvIGNvbW1pdHMgcGFyYSBjb21taXQgZ3JhcGggZW4gJWQgcGFja3MiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjgxMgorIzogY29tbWl0LWdyYXBoLmM6MTE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBhZGRpbmcgcGFjayAlcyIKIG1zZ3N0ciAiZXJyb3IgYWdyZWdhbmRvIHBhY2sgJXMiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjgxNAorIzogY29tbWl0LWdyYXBoLmM6MTE5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBvcGVuaW5nIGluZGV4IGZvciAlcyIKIG1zZ3N0ciAiZXJyb3IgYWJyaWVuZG8gaW5kZXggcGFyYSAlcyIKIAotIzogY29tbWl0LWdyYXBoLmM6ODY4CisjOiBjb21taXQtZ3JhcGguYzoxMjIwCiAjLCBjLWZvcm1hdAotbXNnaWQgInRoZSBjb21taXQgZ3JhcGggZm9ybWF0IGNhbm5vdCB3cml0ZSAlZCBjb21taXRzIgotbXNnc3RyICJlbCBmb3JtYXRvIGRlIGdyw6FmaWNvcyBkZSBjb21taXQgbm8gcHVkZWRlIGVzY3JpYmlyICVkIGNvbW1pdHMiCittc2dpZCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGggZnJvbSAlZCByZWYiCittc2dpZF9wbHVyYWwgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGZyb20gJWQgcmVmcyIKK21zZ3N0clswXSAiRW5jb250cmFuZG8gY29tbWl0cyBwYXJhIGNvbW1pdCBncmFwaCBkZSAlZCByZWYiCittc2dzdHJbMV0gIkVuY29udHJhbmRvIGNvbW1pdHMgcGFyYSBjb21taXQgZ3JhcGggZGUgJWQgcmVmcyIKIAotIzogY29tbWl0LWdyYXBoLmM6ODk1Ci1tc2dpZCAidG9vIG1hbnkgY29tbWl0cyB0byB3cml0ZSBncmFwaCIKLW1zZ3N0ciAiZGVtYXNpYWRvcyBjb21taXRzIHBhcmEgZXNjcmliaXIgZWwgZ3LDoWZpY28iCisjOiBjb21taXQtZ3JhcGguYzoxMjQwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29tbWl0IG9iamVjdCBpZDogJXMiCittc2dzdHIgImlkIGRlIG9iamV0byBjb21taXQ6ICVzIGludsOhbGlkbyIKIAotIzogY29tbWl0LWdyYXBoLmM6OTAyIG1pZHguYzo3NjkKKyM6IGNvbW1pdC1ncmFwaC5jOjEyNTUKK21zZ2lkICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBhbW9uZyBwYWNrZWQgb2JqZWN0cyIKK21zZ3N0ciAiRW5jb250cmFuZG8gY29tbWl0cyBwYXJhIGNvbW1pdCBncmFwaCBlbnRyZSBsb3Mgb2JqZXRvcyBlbXBhcXVldGFkb3MiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEyNzAKK21zZ2lkICJDb3VudGluZyBkaXN0aW5jdCBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAiQ29udGFuZG8gY29tbWl0cyBkaXN0aW50b3MgZW4gY29tbWl0IGdyYXBoIgorCisjOiBjb21taXQtZ3JhcGguYzoxMzAwCittc2dpZCAiRmluZGluZyBleHRyYSBlZGdlcyBpbiBjb21taXQgZ3JhcGgiCittc2dzdHIgIkVuY29udHJhbmRvIGVzcXVpbmFzIGV4dHJhIGVuIGNvbW1pdCBncmFwaCIKKworIzogY29tbWl0LWdyYXBoLmM6MTM0NgorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBjb3JyZWN0IG51bWJlciBvZiBiYXNlIGdyYXBoIGlkcyIKK21zZ3N0ciAiZmFsbMOzIGFsIGVzY3JpYmlyIGVsIG7Dum1lcm8gY29ycmVjdG8gZGUgaWRzIGRlIGJhc2UgZ3JhcGgiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEzNzkgbWlkeC5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gY3JlYXIgZGlyZWN0b3Jpb3MgcHJpbmNpcGFsZXMgcGFyYSAlcyIKIAotIzogY29tbWl0LWdyYXBoLmM6MTAwMgorIzogY29tbWl0LWdyYXBoLmM6MTM5MSBidWlsdGluL2luZGV4LXBhY2suYzozMDYgYnVpbHRpbi9yZXBhY2suYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgorbXNnc3RyICJubyBzZSBwdWVkZSBjcmVhciAnJXMnIgorCisjOiBjb21taXQtZ3JhcGguYzoxNDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRpbmcgb3V0IGNvbW1pdCBncmFwaCBpbiAlZCBwYXNzIgorbXNnaWRfcGx1cmFsICJXcml0aW5nIG91dCBjb21taXQgZ3JhcGggaW4gJWQgcGFzc2VzIgorbXNnc3RyWzBdICJFc2NyaWJpZW5kbyBjb21taXQgZ3JhcGggZW4gJWQgcGFzbyIKK21zZ3N0clsxXSAiRXNjcmliaWVuZG8gY29tbWl0IGdyYXBoIGVuICVkIHBhc29zIgorCisjOiBjb21taXQtZ3JhcGguYzoxNDkyCittc2dpZCAidW5hYmxlIHRvIG9wZW4gY29tbWl0LWdyYXBoIGNoYWluIGZpbGUiCittc2dzdHIgIm5vIHNlIHB1ZG8gYWJyaXIgbGEgY2FkZW5hIGRlIGFyY2hpdm9zIGNvbW1pdC1ncmFwaCIKKworIzogY29tbWl0LWdyYXBoLmM6MTUwNAorbXNnaWQgImZhaWxlZCB0byByZW5hbWUgYmFzZSBjb21taXQtZ3JhcGggZmlsZSIKK21zZ3N0ciAibm8gc2UgcHVkbyByZW5vbWJyYXIgZWwgYXJjaGl2byBiYXNlIGNvbW1pdC1ncmFwaCIKKworIzogY29tbWl0LWdyYXBoLmM6MTUyNAorbXNnaWQgImZhaWxlZCB0byByZW5hbWUgdGVtcG9yYXJ5IGNvbW1pdC1ncmFwaCBmaWxlIgorbXNnc3RyICJmYWxsw7MgYWwgcmVub21icmFyIGVsIGFyY2hpdm8gdGVtcG9yYWwgY29tbWl0LWdyYXBoIgorCisjOiBjb21taXQtZ3JhcGguYzoxNjM1Cittc2dpZCAiU2Nhbm5pbmcgbWVyZ2VkIGNvbW1pdHMiCittc2dzdHIgIkVzY2FuZWFuZG8gY29tbWl0cyBmdXNpb25hZG9zIgorCisjOiBjb21taXQtZ3JhcGguYzoxNjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZHVwbGljYXRlIGNvbW1pdCBpZCAlcyIKK21zZ3N0ciAiaWQgZGUgY29tbWl0IGR1cGxpY2FkbyBpbmVzcGVyYWRvICVzIgorCisjOiBjb21taXQtZ3JhcGguYzoxNjcwCittc2dpZCAiTWVyZ2luZyBjb21taXQtZ3JhcGgiCittc2dzdHIgIkZ1c2lvbmFuZG8gY29tbWl0LWdyYXBoIgorCisjOiBjb21taXQtZ3JhcGguYzoxODYwCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBjb21taXQgZ3JhcGggZm9ybWF0IGNhbm5vdCB3cml0ZSAlZCBjb21taXRzIgorbXNnc3RyICJlbCBmb3JtYXRvIGRlIGdyw6FmaWNvcyBkZSBjb21taXQgbm8gcHVkZWRlIGVzY3JpYmlyICVkIGNvbW1pdHMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE4NzEKK21zZ2lkICJ0b28gbWFueSBjb21taXRzIHRvIHdyaXRlIGdyYXBoIgorbXNnc3RyICJkZW1hc2lhZG9zIGNvbW1pdHMgcGFyYSBlc2NyaWJpciBlbCBncsOhZmljbyIKKworIzogY29tbWl0LWdyYXBoLmM6MTk2MQogbXNnaWQgInRoZSBjb21taXQtZ3JhcGggZmlsZSBoYXMgaW5jb3JyZWN0IGNoZWNrc3VtIGFuZCBpcyBsaWtlbHkgY29ycnVwdCIKIG1zZ3N0ciAiIgogImVsIGFyY2hpdm8gZGUgY29tbWl0LWdyYXBoIHRpZW5lIGNoZWNrc3VtcyBpbmNvcnJlY3RvcyB5IHByb2JhYmxlbWVudGUgZXN0w6EgIgogImNvcnJ1cHRvIgogCi0jOiBjb21taXQtZ3JhcGguYzoxMDQ2CisjOiBjb21taXQtZ3JhcGguYzoxOTcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBoYXMgaW5jb3JyZWN0IE9JRCBvcmRlcjogJXMgdGhlbiAlcyIKK21zZ3N0ciAiY29tbWl0LWdyYXBoIHRpZW5lIHVuIG9yZGVuIGRlIE9JRCBpbmNvcnJlY3RvOiAlcyBsdWVnbyAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTk4MSBjb21taXQtZ3JhcGguYzoxOTk2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBoYXMgaW5jb3JyZWN0IGZhbm91dCB2YWx1ZTogZmFub3V0WyVkXSA9ICV1ICE9ICV1IgorbXNnc3RyICJjb21taXQtZ3JhcGggdGllbmUgdW4gdmFsb3IgZmFub3V0IGluY29ycmVjdG86IGZhbm91dFslZF0gPSAldSAhPSAldSIKKworIzogY29tbWl0LWdyYXBoLmM6MTk4OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29tbWl0ICVzIGZyb20gY29tbWl0LWdyYXBoIgorbXNnc3RyICJmYWxsw7MgYWwgYW5hbGl6YXIgY29tbWl0ICVzIHBhcmEgY29tbWl0LWdyYXBoIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDA2CiBtc2dpZCAiVmVyaWZ5aW5nIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgogbXNnc3RyICJWZXJpZmljYW5kbyBjb21taXRzIGVuIGNvbW1pdCBncmFwaCIKIAotIzogY29tcGF0L29ic3RhY2suYzo0MDUgY29tcGF0L29ic3RhY2suYzo0MDcKKyM6IGNvbW1pdC1ncmFwaC5jOjIwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbW1pdCAlcyBmcm9tIG9iamVjdCBkYXRhYmFzZSBmb3IgY29tbWl0LWdyYXBoIgorbXNnc3RyICIiCisiZmFsbMOzIGFsIGFuYWxpemFyIGVsIGNvbW1pdCAlcyBkZSBsYSBiYXNlIGRlIGRhdG9zIGRlIG9iamV0b3MgcGFyYSBjb21taXQtIgorImdyYXBoIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDI3CisjLCBjLWZvcm1hdAorbXNnaWQgInJvb3QgdHJlZSBPSUQgZm9yIGNvbW1pdCAlcyBpbiBjb21taXQtZ3JhcGggaXMgJXMgIT0gJXMiCittc2dzdHIgIsOhcmJvbCByYcOteiBPSUQgcGFyYSBjb21taXQgJXMgZW4gY29tbWl0LWdyYXBoIGVzICVzICE9ICVzIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBwYXJlbnQgbGlzdCBmb3IgY29tbWl0ICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICJsaXN0YSBwYWRyZSBkZSBjb21taXQtZ3JhcGggcGFyYSBjb21taXQgJXMgZXMgbXV5IGxhcmdhIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBwYXJlbnQgZm9yICVzIGlzICVzICE9ICVzIgorbXNnc3RyICJwYWRyZSBkZSBjb21taXQtZ3JhcGggcGFyYSAlcyBlcyAlcyAhPSAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MjA1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggcGFyZW50IGxpc3QgZm9yIGNvbW1pdCAlcyB0ZXJtaW5hdGVzIGVhcmx5IgorbXNnc3RyICJsaXN0YSBwYWRyZSBkZSBjb21taXQtZ3JhcGggcGFyYSBjb21taXQgJXMgdGVybWluYSBhbnRlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MjA2NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY29tbWl0LWdyYXBoIGhhcyBnZW5lcmF0aW9uIG51bWJlciB6ZXJvIGZvciBjb21taXQgJXMsIGJ1dCBub24temVybyBlbHNld2hlcmUiCittc2dzdHIgIiIKKyJjb21taXQtZ3JhcGggaGEgZ2VuZXJhZG8gbsO6bWVybyBjZXJvIHBhcmEgJXMsIHBlcm8gbm8tY2VybyBwYXJhIGxvcyBkZW3DoXMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvbW1pdC1ncmFwaCBoYXMgbm9uLXplcm8gZ2VuZXJhdGlvbiBudW1iZXIgZm9yIGNvbW1pdCAlcywgYnV0IHplcm8gZWxzZXdoZXJlIgorbXNnc3RyICIiCisiY29tbWl0LWdyYXBoIHRpZW5lIGdlbmVyYWNpw7NuIG5vLWNlcm8gcGFyYSAlcywgcGVybyBjZXJvIHBhcmEgbG9zIGRlbcOhcyIKKworIzogY29tbWl0LWdyYXBoLmM6MjA4MworIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggZ2VuZXJhdGlvbiBmb3IgY29tbWl0ICVzIGlzICV1ICE9ICV1IgorbXNnc3RyICJnZW5lcmFjacOzbiBjb21taXQtZ3JhcGggcGFyYSBjb21taXQgJXMgZXMgJXUgIT0gJXUiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0IGRhdGUgZm9yIGNvbW1pdCAlcyBpbiBjb21taXQtZ3JhcGggaXMgJTxQUkl1TUFYPiAhPSAlPFBSSXVNQVg+IgorbXNnc3RyICIiCisiZmVjaGEgZGUgY29tbWl0IHBhcmEgY29tbWl0ICVzIGVuIGNvbW1pdC1ncmFwaCBlcyAlPFBSSXVNQVg+ICE9ICU8UFJJdU1BWD4iCisKKyM6IGNvbXBhdC9vYnN0YWNrLmM6NDA2IGNvbXBhdC9vYnN0YWNrLmM6NDA4CiBtc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKIG1zZ3N0ciAibWVtb3JpYSBhZ290YWRhIgogCi0jOiBjb25maWcuYzoxMjMKKyM6IGNvbmZpZy5jOjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhjZWVkZWQgbWF4aW11bSBpbmNsdWRlIGRlcHRoICglZCkgd2hpbGUgaW5jbHVkaW5nXG4iCkBAIC0xNDg2LDMwMCArMjEyNCwyOTMgQEAKICJcdCVzXG4iCiAiRXN0byBwdWVkZSBzZXIgY2F1c2FkbyBwb3IgaW5jbHVzaW9uZXMgY2lyY3VsYXJlcy4iCiAKLSM6IGNvbmZpZy5jOjEzOQorIzogY29uZmlnLmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBleHBhbmQgaW5jbHVkZSBwYXRoICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gZXhwYW5kaXIgcnV0YXMgZGUgaW5jbHVzacOzbiAnJXMnIgogCi0jOiBjb25maWcuYzoxNTAKKyM6IGNvbmZpZy5jOjE1MQogbXNnaWQgInJlbGF0aXZlIGNvbmZpZyBpbmNsdWRlcyBtdXN0IGNvbWUgZnJvbSBmaWxlcyIKIG1zZ3N0ciAiaW5jbHVzaW9uZXMgZGUgY29uZmlndXJhY2nDs24gcmVsYXRpdmFzIHRpZW5lbiBxdWUgdmVuaXIgZGUgYXJjaGl2b3MiCiAKLSM6IGNvbmZpZy5jOjE5MAorIzogY29uZmlnLmM6MTk3CiBtc2dpZCAicmVsYXRpdmUgY29uZmlnIGluY2x1ZGUgY29uZGl0aW9uYWxzIG11c3QgY29tZSBmcm9tIGZpbGVzIgogbXNnc3RyICIiCiAibGEgY29uZmlndXJhY2nDs24gcmVsYXRpdmEgaW5jbHV5ZSBjb25kaWNpb25hbGVzIHF1ZSBkZWJlbiB2ZW5pciBkZSBhcmNoaXZvcyIKIAotIzogY29uZmlnLmM6MzQ4CisjOiBjb25maWcuYzozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAia2V5IGRvZXMgbm90IGNvbnRhaW4gYSBzZWN0aW9uOiAlcyIKIG1zZ3N0ciAibGxhdmUgbm8gY29udGllbmUgdW5hIHNlY2Npw7NuOiAlcyIKIAotIzogY29uZmlnLmM6MzU0CisjOiBjb25maWcuYzozODIKICMsIGMtZm9ybWF0CiBtc2dpZCAia2V5IGRvZXMgbm90IGNvbnRhaW4gdmFyaWFibGUgbmFtZTogJXMiCiBtc2dzdHIgImxsYXZlIG5vIGNvbnRpZW5lIGVsIG5vbWJyZSBkZSB2YXJpYWJsZTogJXMiCiAKLSM6IGNvbmZpZy5jOjM3OCBzZXF1ZW5jZXIuYzoyMjk2CisjOiBjb25maWcuYzo0MDYgc2VxdWVuY2VyLmM6MjUzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGtleTogJXMiCiBtc2dzdHIgImxsYXZlIGludsOhbGlkYTogJXMiCiAKLSM6IGNvbmZpZy5jOjM4NAorIzogY29uZmlnLmM6NDEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQga2V5IChuZXdsaW5lKTogJXMiCiBtc2dzdHIgImxsYXZlIGludsOhbGlkYSAobnVldmEgbMOtbmVhKTogJXMiCiAKLSM6IGNvbmZpZy5jOjQyMCBjb25maWcuYzo0MzIKKyM6IGNvbmZpZy5jOjQ0OCBjb25maWcuYzo0NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYm9ndXMgY29uZmlnIHBhcmFtZXRlcjogJXMiCiBtc2dzdHIgInBhcsOhbWV0cm8gZGUgY29uZmlndXJhY2nDs24gbWFsb2dyYWRvOiAlcyIKIAotIzogY29uZmlnLmM6NDY3CisjOiBjb25maWcuYzo0OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYm9ndXMgZm9ybWF0IGluICVzIgogbXNnc3RyICJmb3JtYXRvIG1hbG9ncmFkbyBlbiAlcyIKIAotIzogY29uZmlnLmM6NzkzCisjOiBjb25maWcuYzo4MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGJsb2IgJXMiCiBtc2dzdHIgIm1hbGEgbMOtbmVhIGRlIGNvbmZpZyAlZCBlbiBlbCBibG9iICVzIgogCi0jOiBjb25maWcuYzo3OTcKKyM6IGNvbmZpZy5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gZmlsZSAlcyIKIG1zZ3N0ciAibWFsYSBsw61uZWEgZGUgY29uZmlnICVkIGVuIGVsIGFyY2hpdm8gJXMiCiAKLSM6IGNvbmZpZy5jOjgwMQorIzogY29uZmlnLmM6ODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibWFsYSBsw61uZWEgZGUgY29uZmlnICVkIGVuIGxhIGVudHJhZGEgc3RhbmRhcmQiCiAKLSM6IGNvbmZpZy5jOjgwNQorIzogY29uZmlnLmM6ODMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdWJtb2R1bGUtYmxvYiAlcyIKIG1zZ3N0ciAibWFsYSBsw61uZWEgZGUgY29uZmlnICVkIGVuIGVsIHN1Ym3Ds2R1bG8tYmxvYiAlcyIKIAotIzogY29uZmlnLmM6ODA5CisjOiBjb25maWcuYzo4MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGNvbW1hbmQgbGluZSAlcyIKIG1zZ3N0ciAibWFsYSBsw61uZWEgZGUgY29uZmlnICVkIGVuIGxhIGzDrW5lYSBkZSBjb21hbmRvICVzIgogCi0jOiBjb25maWcuYzo4MTMKKyM6IGNvbmZpZy5jOjg0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gJXMiCiBtc2dzdHIgIm1hbGEgbMOtbmVhIGRlIGNvbmZpZyAlZCBlbiAlcyIKIAotIzogY29uZmlnLmM6OTUyCisjOiBjb25maWcuYzo5NzgKIG1zZ2lkICJvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImZ1ZXJhIGRlIHJhbmdvIgogCi0jOiBjb25maWcuYzo5NTIKKyM6IGNvbmZpZy5jOjk3OAogbXNnaWQgImludmFsaWQgdW5pdCIKIG1zZ3N0ciAidW5pZGFkIGludsOhbGlkYSIKIAotIzogY29uZmlnLmM6OTU4CisjOiBjb25maWcuYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcyc6ICVzIgogbXNnc3RyICJtYWwgdmFsb3IgZGUgY29uZmlnIG51bcOpcmljYSAnJXMnIHBhcmEgJyVzJzogJXMiCiAKLSM6IGNvbmZpZy5jOjk2MworIzogY29uZmlnLmM6OTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGJsb2IgJXM6ICVzIgogbXNnc3RyICJtYWwgdmFsb3IgZGUgY29uZmlnIG51bcOpcmljYSAnJXMnIHBhcmEgJyVzJyBlbiBlbCBibG9iICVzOiAlcyIKIAotIzogY29uZmlnLmM6OTY2CisjOiBjb25maWcuYzoxMDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGZpbGUgJXM6ICVzIgogbXNnc3RyICJtYWwgdmFsb3IgZGUgY29uZmlnIG51bcOpcmljYSAnJXMnIHBhcmEgJyVzJyBlbiBlbCBhcmNoaXZvICVzOiAlcyIKIAotIzogY29uZmlnLmM6OTY5CisjOiBjb25maWcuYzoxMDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiAlcyIKIG1zZ3N0ciAibWFsIHZhbG9yIGRlIGNvbmZpZyBudW3DqXJpY2EgJyVzJyBwYXJhICclcycgZW4gbGEgZW50cmFkYSBzdGFuZGFyZDogJXMiCiAKLSM6IGNvbmZpZy5jOjk3MgorIzogY29uZmlnLmM6MTAwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdWJtb2R1bGUtYmxvYiAlczogJXMiCiBtc2dzdHIgIiIKICJtYWwgdmFsb3IgZGUgY29uZmlnIG51bcOpcmljYSAnJXMnIHBhcmEgJyVzJyBlbiBlbCBzdWJtw7NkdWxvLWJsb2IgJXM6ICVzIgogCi0jOiBjb25maWcuYzo5NzUKKyM6IGNvbmZpZy5jOjEwMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gY29tbWFuZCBsaW5lICVzOiAlcyIKIG1zZ3N0ciAiIgogIm1hbCB2YWxvciBkZSBjb25maWcgbnVtw6lyaWNhICclcycgcGFyYSAnJXMnIGVuIGxhIGzDrW5lYSBkZSBjb21hbmRvICVzOiAlcyIKIAotIzogY29uZmlnLmM6OTc4CisjOiBjb25maWcuYzoxMDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzOiAlcyIKIG1zZ3N0ciAibWFsIHZhbG9yIGRlIGNvbmZpZyBudW3DqXJpY2EgJyVzJyBwYXJhICclcycgZW4gJXM6ICVzIgogCi0jOiBjb25maWcuYzoxMDczCisjOiBjb25maWcuYzoxMTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleHBhbmQgdXNlciBkaXIgaW46ICclcyciCiBtc2dzdHIgImZhbGzDsyBhbCBleHBhbmRpciBlbCBkaXJlY3RvcmlvIGRlIHVzdWFyaW8gZW46ICclcyciCiAKLSM6IGNvbmZpZy5jOjEwODIKKyM6IGNvbmZpZy5jOjExMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBmb3IgJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIiclcycgcGFyYSAnJXMnIG5vIGVzIHVuYSBtYXJjYSBkZSB0aWVtcG8gdsOhbGlkYSIKIAotIzogY29uZmlnLmM6MTE3MworIzogY29uZmlnLmM6MTIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJhYmJyZXYgbGVuZ3RoIG91dCBvZiByYW5nZTogJWQiCiBtc2dzdHIgImxhcmdvIGRlIGFicmV2aWF0dXJhIGZ1ZXJhIGRlIHJhbmdvOiAlZCIKIAotIzogY29uZmlnLmM6MTE4NyBjb25maWcuYzoxMTk4CisjOiBjb25maWcuYzoxMjIyIGNvbmZpZy5jOjEyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHpsaWIgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgIm5pdmVsIGRlIGNvbXByZXNpw7NuIGRlIHpsaWIgZXJyw7NuZW8gJWQiCiAKLSM6IGNvbmZpZy5jOjEyOTAKKyM6IGNvbmZpZy5jOjEzMjUKIG1zZ2lkICJjb3JlLmNvbW1lbnRDaGFyIHNob3VsZCBvbmx5IGJlIG9uZSBjaGFyYWN0ZXIiCiBtc2dzdHIgImNvcmUuY29tbWVudENoYXIgZGViZXLDrWEgdGVuZXIgc29sbyB1biBjYXJhY3RlciIKIAotIzogY29uZmlnLmM6MTMyMworIzogY29uZmlnLmM6MTM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG1vZGUgZm9yIG9iamVjdCBjcmVhdGlvbjogJXMiCiBtc2dzdHIgIm1vZG8gaW52w6FsaWRvIGRlIGNyZWFjacOzbiBkZSBvYmpldG9zOiAlcyIKIAotIzogY29uZmlnLmM6MTM5NQorIzogY29uZmlnLmM6MTQzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgdmFsdWUgZm9yICVzIgogbXNnc3RyICJ2YWxvciBtYWxmb3JtYWRvIHBhcmEgJXMiCiAKLSM6IGNvbmZpZy5jOjE0MjEKKyM6IGNvbmZpZy5jOjE0NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgInZhbG9yIG1hbGZvcm1hZG8gcGFyYSAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjE0MjIKKyM6IGNvbmZpZy5jOjE0NTcKIG1zZ2lkICJtdXN0IGJlIG9uZSBvZiBub3RoaW5nLCBtYXRjaGluZywgc2ltcGxlLCB1cHN0cmVhbSBvciBjdXJyZW50IgogbXNnc3RyICJkZWJlIHNlciB1bm8gZGUgbm90aGluZywgbWF0Y2hpbmcsIHNpbXBsZSwgdXBzdHJlYW0gbyBjdXJyZW50IgogCi0jOiBjb25maWcuYzoxNDgxIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM5MQorIzogY29uZmlnLmM6MTUxOCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2sgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgIm5pdmVsIGRlIGNvbXByZXNpw7NuIGRlIHBhY2sgZXJyw7NuZW8gJWQiCiAKLSM6IGNvbmZpZy5jOjE2MDIKKyM6IGNvbmZpZy5jOjE2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGxvYWQgY29uZmlnIGJsb2Igb2JqZWN0ICclcyciCiBtc2dzdHIgImluY2FwYXogZGUgY2FyZ2FyIGNvbmZpZ3VyYWNpw7NuIGRlIG9iamV0byBibG9iICclcyciCiAKLSM6IGNvbmZpZy5jOjE2MDUKKyM6IGNvbmZpZy5jOjE2NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlICclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBibG9iIgogbXNnc3RyICJyZWZlcmVuY2lhICclcycgbm8gYXB1bnRhIGEgdW4gYmxvYiIKIAotIzogY29uZmlnLmM6MTYyMgorIzogY29uZmlnLmM6MTY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSBjb25maWcgYmxvYiAnJXMnIgogbXNnc3RyICJubyBzZSBwb3NpYmxlIHJlc29sdmVyIGNvbmZpZ3VyYWNpw7NuIGRlIGJsb2IgJyVzJyIKIAotIzogY29uZmlnLmM6MTY1MgorIzogY29uZmlnLmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gYW5hbGl6YXIgJXMiCiAKLSM6IGNvbmZpZy5jOjE3MDUKKyM6IGNvbmZpZy5jOjE3NDUKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBhbmFsaXphciBsYSBjb25maWd1cmFjacOzbiBkZSBsYSBsw61uZWEgZGUgY29tYW5kbyIKIAotIzogY29uZmlnLmM6MjAzNworIzogY29uZmlnLmM6MjA5NgogbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKIG1zZ3N0ciAiIgogImVycm9yIGRlc2Nvbm9jaWRvIG9jdXJyacOzIG1pZW50cmFzIHNlIGxlw61hbiBsb3MgYXJjaGl2b3MgZGUgY29uZmlndXJhY2nDs24iCiAKLSM6IGNvbmZpZy5jOjIyMDcKKyM6IGNvbmZpZy5jOjIyNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCAlczogJyVzJyIKLW1zZ3N0ciAiSW52YWxpZG8gJXM6ICclcyciCittc2dzdHIgIkludsOhbGlkbyAlczogJyVzJyIKIAotIzogY29uZmlnLmM6MjI1MAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmtub3duIGNvcmUudW50cmFja2VkQ2FjaGUgdmFsdWUgJyVzJzsgdXNpbmcgJ2tlZXAnIGRlZmF1bHQgdmFsdWUiCi1tc2dzdHIgIiIKLSJ2YWxvciBjb3JlLnVudHJhY2tlZENhY2hlICclcycgZGVzY29ub2NpZG87IHVzYW5kbyAna2VlcCcgY29tbyB2YWxvciBwb3IgIgotImRlZmVjdG8iCi0KLSM6IGNvbmZpZy5jOjIyNzYKKyM6IGNvbmZpZy5jOjIzMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAic3BsaXRJbmRleC5tYXhQZXJjZW50Q2hhbmdlIHZhbHVlICclZCcgc2hvdWxkIGJlIGJldHdlZW4gMCBhbmQgMTAwIgogbXNnc3RyICJ2YWxvciBzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2UgJyVkJyBkZWJlIGVzdGFyIGVudHJlIDAgeSAxMDAiCiAKLSM6IGNvbmZpZy5jOjIzMjIKKyM6IGNvbmZpZy5jOjIzNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICclcycgZnJvbSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGFuYWxpemFyICclcycgZGUgbGEgY29uZmlndXJhY2nDs24gZGUgbGEgbMOtbmVhIGRlIGNvbWFuZG8iCiAKLSM6IGNvbmZpZy5jOjIzMjQKKyM6IGNvbmZpZy5jOjIzNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyB2YXJpYWJsZSAnJXMnIGluIGZpbGUgJyVzJyBhdCBsaW5lICVkIgogbXNnc3RyICJtYWxhIHZhcmlhYmxlIGRlIGNvbmZpZyAnJXMnIGVuIGVsIGFyY2hpdm8gJyVzJyBlbiBsYSBsw61uZWEgJWQiCiAKLSM6IGNvbmZpZy5jOjI0MDUKKyM6IGNvbmZpZy5jOjI0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzZWN0aW9uIG5hbWUgJyVzJyIKIG1zZ3N0ciAibm9tYnJlIGRlIHNlY2Npw7NuIGludsOhbGlkbyAnJXMnIgogCi0jOiBjb25maWcuYzoyNDM3CisjOiBjb25maWcuYzoyNDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBtdWx0aXBsZSB2YWx1ZXMiCiBtc2dzdHIgIiVzIHRpZW5lIG3Dumx0aXBsZXMgdmFsb3JlcyIKIAotIzogY29uZmlnLmM6MjQ2NgorIzogY29uZmlnLmM6MjUwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgbmV3IGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKIG1zZ3N0ciAiZmFsbMOzIGFsIGVzY3JpYmlyIG51ZXZvIGFyY2hpdm8gZGUgY29uZmlndXJhY2nDs24gJXMiCiAKLSM6IGNvbmZpZy5jOjI3MTcgY29uZmlnLmM6MzA0MQorIzogY29uZmlnLmM6Mjc1MyBjb25maWcuYzozMDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb2NrIGNvbmZpZyBmaWxlICVzIgogbXNnc3RyICJubyBzZSBwdWRvIGJsb3F1ZWFyIGFyY2hpdm8gZGUgY29uZmlndXJhY2nDs24gJXMiCiAKLSM6IGNvbmZpZy5jOjI3MjgKKyM6IGNvbmZpZy5jOjI3NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAib3BlbmluZyAlcyIKIG1zZ3N0ciAiYWJyaWVuZG8gJXMiCiAKLSM6IGNvbmZpZy5jOjI3NjMgYnVpbHRpbi9jb25maWcuYzozMjcKKyM6IGNvbmZpZy5jOjI3OTkgYnVpbHRpbi9jb25maWcuYzozMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBwYXR0ZXJuOiAlcyIKIG1zZ3N0ciAicGF0csOzbiBpbnbDoWxpZG86ICVzIgogCi0jOiBjb25maWcuYzoyNzg4CisjOiBjb25maWcuYzoyODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29uZmlnIGZpbGUgJXMiCiBtc2dzdHIgImFyY2hpdm8gZGUgY29uZmlndXJhY2nDs24gaW52w6FsaWRvOiAlcyIKIAotIzogY29uZmlnLmM6MjgwMSBjb25maWcuYzozMDU0CisjOiBjb25maWcuYzoyODM3IGNvbmZpZy5jOjMwOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZnN0YXQgb24gJXMgZmFpbGVkIgogbXNnc3RyICJmc3RhdCBlbiAlcyBmYWxsw7MiCiAKLSM6IGNvbmZpZy5jOjI4MTIKKyM6IGNvbmZpZy5jOjI4NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1tYXAgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBoYWNlciBtbWFwICclcyciCiAKLSM6IGNvbmZpZy5jOjI4MjEgY29uZmlnLmM6MzA1OQorIzogY29uZmlnLmM6Mjg1NyBjb25maWcuYzozMDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNobW9kIG9uICVzIGZhaWxlZCIKIG1zZ3N0ciAiY2htb2QgZW4gJXMgZmFsbMOzIgogCi0jOiBjb25maWcuYzoyOTA2IGNvbmZpZy5jOjMxNTYKKyM6IGNvbmZpZy5jOjI5NDIgY29uZmlnLmM6MzE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgY29uZmlnIGZpbGUgJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gZXNjcmliaXIgZWwgYXJjaGl2byBkZSBjb25maWd1cmFjacOzbiAlcyIKIAotIzogY29uZmlnLmM6Mjk0MAorIzogY29uZmlnLmM6Mjk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc2V0ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBjb25maWd1cmFyICclcycgYSAnJXMnIgogCi0jOiBjb25maWcuYzoyOTQyIGJ1aWx0aW4vcmVtb3RlLmM6NzgyCisjOiBjb25maWcuYzoyOTc4IGJ1aWx0aW4vcmVtb3RlLmM6NzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1bnNldCAnJXMnIgogbXNnc3RyICJubyBzZSBwdWRvIGRlc2FjdGl2YXIgJyVzJyIKIAotIzogY29uZmlnLmM6MzAzMgorIzogY29uZmlnLmM6MzA2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNlY3Rpb24gbmFtZTogJXMiCiBtc2dzdHIgInNlY2Npw7NuIGRlIG5vbWJyZSBpbnbDoWxpZGE6ICVzIgogCi0jOiBjb25maWcuYzozMTk5CisjOiBjb25maWcuYzozMjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3NpbmcgdmFsdWUgZm9yICclcyciCiBtc2dzdHIgInZhbG9yIGZhbHRhbnRlIHBhcmEgJyVzJyIKQEAgLTE3OTcsNyArMjQyOCw3IEBACiBtc2dzdHIgIiIKICJObyBzZSBwdWRvIGxlZXIgZGVsIHJlcG9zaXRvcmlvIHJlbW90by5cbiIKICJcbiIKLSJQb3IgZmF2b3IgYXNlZ8O6cmVzZSBxdWUgdGllbmUgbG9zIHBlcm1pc29zIGRlIGFjY2VzbyBjb3JyZWN0b3NcbiIKKyJQb3IgZmF2b3IgYXNlZ8O6cmF0ZSBxdWUgdGllbmVzIGxvcyBwZXJtaXNvcyBkZSBhY2Nlc28gY29ycmVjdG9zXG4iCiAieSBxdWUgZWwgcmVwb3NpdG9yaW8gZXhpc3RlLiIKIAogIzogY29ubmVjdC5jOjgxCkBAIC0xODMyLDUwICsyNDYzLDQ1IEBACiBtc2dpZCAicmVwb3NpdG9yeSBvbiB0aGUgb3RoZXIgZW5kIGNhbm5vdCBiZSBzaGFsbG93IgogbXNnc3RyICJlbCByZXBvc2l0b3JpbyBlbiBlbCBvdHJvIGZpbmFsIG5vIHB1ZWRlIHNlciBzdXBlcmZpY2lhbCIKIAotIzogY29ubmVjdC5jOjMxMCBmZXRjaC1wYWNrLmM6MTgyIGJ1aWx0aW4vYXJjaGl2ZS5jOjYzCi0jLCBjLWZvcm1hdAotbXNnaWQgInJlbW90ZSBlcnJvcjogJXMiCi1tc2dzdHIgImVycm9yIHJlbW90bzogJXMiCi0KLSM6IGNvbm5lY3QuYzozMTYKKyM6IGNvbm5lY3QuYzozMTMKIG1zZ2lkICJpbnZhbGlkIHBhY2tldCIKIG1zZ3N0ciAicGFxdWV0ZSBpbnbDoWxpZG8iCiAKLSM6IGNvbm5lY3QuYzozMzYKKyM6IGNvbm5lY3QuYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJvdG9jb2wgZXJyb3I6IHVuZXhwZWN0ZWQgJyVzJyIKIG1zZ3N0ciAiZXJyb3IgZGUgcHJvdG9jb2xvOiAnJXMnIGluZXNwZXJhZG8iCiAKLSM6IGNvbm5lY3QuYzo0NDQKKyM6IGNvbm5lY3QuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBscy1yZWZzIHJlc3BvbnNlOiAlcyIKIG1zZ3N0ciAicmVzcHVlc3RhIGRlIHJlZmVyZW5jaWFzIGxzLXJlZnMgaW52w6FsaWRhOiAlcyIKIAotIzogY29ubmVjdC5jOjQ0OAorIzogY29ubmVjdC5jOjQ0NQogbXNnaWQgImV4cGVjdGVkIGZsdXNoIGFmdGVyIHJlZiBsaXN0aW5nIgogbXNnc3RyICJmbHVzaCBlc3BlcmFkbyB0cmFzIGxpc3RhZG8gZGUgcmVmcyIKIAotIzogY29ubmVjdC5jOjU0NworIzogY29ubmVjdC5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm90b2NvbCAnJXMnIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgInByb3RvY29sbyAnJXMnIG5vIGVzIHNvcG9ydGFkbyIKIAotIzogY29ubmVjdC5jOjU5OAorIzogY29ubmVjdC5jOjU5NQogbXNnaWQgInVuYWJsZSB0byBzZXQgU09fS0VFUEFMSVZFIG9uIHNvY2tldCIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBjb25maWd1cmFyIFNPX0tFRVBBTElWRSBlbiBlbCBzb2NrZXQiCiAKLSM6IGNvbm5lY3QuYzo2MzggY29ubmVjdC5jOjcwMQorIzogY29ubmVjdC5jOjYzNSBjb25uZWN0LmM6Njk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxvb2tpbmcgdXAgJXMgLi4uICIKIG1zZ3N0ciAiUmV2aXNhbmRvICVzLi4uICIKIAotIzogY29ubmVjdC5jOjY0MgorIzogY29ubmVjdC5jOjYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbG9vayB1cCAlcyAocG9ydCAlcykgKCVzKSIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgcmV2aXNhciAlcyAocHVlcnRvICVzKSAoJXMpIgogCiAjLiBUUkFOU0xBVE9SUzogdGhpcyBpcyB0aGUgZW5kIG9mICJMb29raW5nIHVwICVzIC4uLiAiCi0jOiBjb25uZWN0LmM6NjQ2IGNvbm5lY3QuYzo3MTcKKyM6IGNvbm5lY3QuYzo2NDMgY29ubmVjdC5jOjcxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZG9uZS5cbiIKQEAgLTE4ODQsNyArMjUxMCw3IEBACiAiaGVjaG8uXG4iCiAiQ29uZWN0YW5kbyBhICVzIChwdWVydG8gJXMpIC4uLiAiCiAKLSM6IGNvbm5lY3QuYzo2NjggY29ubmVjdC5jOjc0NQorIzogY29ubmVjdC5jOjY2NSBjb25uZWN0LmM6NzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ1bmFibGUgdG8gY29ubmVjdCB0byAlczpcbiIKQEAgLTE4OTQsNzQgKzI1MjAsNzQgQEAKICIlcyIKIAogIy4gVFJBTlNMQVRPUlM6IHRoaXMgaXMgdGhlIGVuZCBvZiAiQ29ubmVjdGluZyB0byAlcyAocG9ydCAlcykgLi4uICIKLSM6IGNvbm5lY3QuYzo2NzQgY29ubmVjdC5jOjc1MQorIzogY29ubmVjdC5jOjY3MSBjb25uZWN0LmM6NzQ4CiBtc2dpZCAiZG9uZS4iCiBtc2dzdHIgImhlY2hvLiIKIAotIzogY29ubmVjdC5jOjcwNQorIzogY29ubmVjdC5jOjcwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbG9vayB1cCAlcyAoJXMpIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIHJldmlzYXIgJXMgKCVzKSIKIAotIzogY29ubmVjdC5jOjcxMQorIzogY29ubmVjdC5jOjcwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHBvcnQgJXMiCiBtc2dzdHIgInB1ZXJ0byBkZXNjb25vY2lkbyAlcyIKIAotIzogY29ubmVjdC5jOjg0OCBjb25uZWN0LmM6MTE3NAorIzogY29ubmVjdC5jOjg0NSBjb25uZWN0LmM6MTE3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJzdHJhbmdlIGhvc3RuYW1lICclcycgYmxvY2tlZCIKIG1zZ3N0ciAiaG9zdG5hbWUgZXh0cmHDsW8gJyVzJyBibG9xdWVhZG8iCiAKLSM6IGNvbm5lY3QuYzo4NTAKKyM6IGNvbm5lY3QuYzo4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RyYW5nZSBwb3J0ICclcycgYmxvY2tlZCIKIG1zZ3N0ciAicHVlcnRvIGV4dHJhw7FvICclcycgYmxvcXVlYWRvIgogCi0jOiBjb25uZWN0LmM6ODYwCisjOiBjb25uZWN0LmM6ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGFydCBwcm94eSAlcyIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgY29tZW56YXIgcHJveHkgJXMiCiAKLSM6IGNvbm5lY3QuYzo5MjcKKyM6IGNvbm5lY3QuYzo5MjgKIG1zZ2lkICJubyBwYXRoIHNwZWNpZmllZDsgc2VlICdnaXQgaGVscCBwdWxsJyBmb3IgdmFsaWQgdXJsIHN5bnRheCIKIG1zZ3N0ciAiIgogIm5vIGhheSBydXRhIGVzcGVjaWZpY2FkYTsgdmVhICdnaXQgaGVscCBwdWxsJyBwYXJhIHNpbnRheGlzIGRlIHVybCB2w6FsaWRhcyIKIAotIzogY29ubmVjdC5jOjExMjIKKyM6IGNvbm5lY3QuYzoxMTIzCiBtc2dpZCAic3NoIHZhcmlhbnQgJ3NpbXBsZScgZG9lcyBub3Qgc3VwcG9ydCAtNCIKIG1zZ3N0ciAidmFyaWFudGUgJ3NpbXBsZScgZGUgc3NoIG5vIHNvcG9ydGEgLTQiCiAKLSM6IGNvbm5lY3QuYzoxMTM0CisjOiBjb25uZWN0LmM6MTEzNQogbXNnaWQgInNzaCB2YXJpYW50ICdzaW1wbGUnIGRvZXMgbm90IHN1cHBvcnQgLTYiCiBtc2dzdHIgInZhcmlhbnRlICdzaW1wbGUnIGRlIHNzaCBubyBzb3BvcnRhIC02IgogCi0jOiBjb25uZWN0LmM6MTE1MQorIzogY29ubmVjdC5jOjExNTIKIG1zZ2lkICJzc2ggdmFyaWFudCAnc2ltcGxlJyBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgcG9ydCIKIG1zZ3N0ciAidmFyaWFudGUgc3NoICdzaW1wbGUnIG5vIHNvcG9ydGEgY29uZmlndXJhciBwdWVydG8iCiAKLSM6IGNvbm5lY3QuYzoxMjYyCisjOiBjb25uZWN0LmM6MTI2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJzdHJhbmdlIHBhdGhuYW1lICclcycgYmxvY2tlZCIKIG1zZ3N0ciAicnV0YSBleHRyYcOxYSAnJXMnIGJsb3F1ZWFkYSIKIAotIzogY29ubmVjdC5jOjEzMDcKKyM6IGNvbm5lY3QuYzoxMzExCiBtc2dpZCAidW5hYmxlIHRvIGZvcmsiCiBtc2dzdHIgIm5vIGVzIHBvc2libGUgaGFjZXIgZm9yayIKIAotIzogY29ubmVjdGVkLmM6NjggYnVpbHRpbi9mc2NrLmM6MjAyIGJ1aWx0aW4vcHJ1bmUuYzoxNDcKKyM6IGNvbm5lY3RlZC5jOjg5IGJ1aWx0aW4vZnNjay5jOjIwOCBidWlsdGluL3BydW5lLmM6NDMKIG1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkiCiBtc2dzdHIgIlZlcmlmaWNhbmRvIGNvbmVjdGl2aWRhZCIKIAotIzogY29ubmVjdGVkLmM6ODAKKyM6IGNvbm5lY3RlZC5jOjEwMQogbXNnaWQgIkNvdWxkIG5vdCBydW4gJ2dpdCByZXYtbGlzdCciCiBtc2dzdHIgIk5vIHNlIHB1ZG8gY29ycmVyICdnaXQgcmV2LWxpc3QnIgogCi0jOiBjb25uZWN0ZWQuYzoxMDAKKyM6IGNvbm5lY3RlZC5jOjEyMQogbXNnaWQgImZhaWxlZCB3cml0ZSB0byByZXYtbGlzdCIKIG1zZ3N0ciAiZmFsbMOzIGVzY3JpYmlyIGEgcmV2LWxpc3QiCiAKLSM6IGNvbm5lY3RlZC5jOjEwNworIzogY29ubmVjdGVkLmM6MTI4CiBtc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW4iCiBtc2dzdHIgImZhbGzDsyBhbCBjZXJyYXIgbGEgZW50cmFkYSBzdGFuZGFyZCBkZSByZXYtbGlzdCIKIApAQCAtMTk5OCwyNiArMjYyNCwyNiBAQAogIkxGIHNlcsOhIHJlZW1wbGF6YWRvIHBvciBDUkxGIGVuICVzLlxuIgogIkVsIGFyY2hpdm8gdGVuZHLDoSBzdXMgZmluYWxlcyBkZSBsw61uZWEgb3JpZ2luYWxlcyBlbiB0dSBkaXJlY3RvcmlvIGRlIHRyYWJham8iCiAKLSM6IGNvbnZlcnQuYzoyODAKKyM6IGNvbnZlcnQuYzoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQk9NIGlzIHByb2hpYml0ZWQgaW4gJyVzJyBpZiBlbmNvZGVkIGFzICVzIgogbXNnc3RyICJCT00gZXN0w6EgcHJvaGliaWRvIGVuICclcycgc2kgZXMgY29kaWZpY2FkbyBjb21vICVzIgogCi0jOiBjb252ZXJ0LmM6Mjg3CisjOiBjb252ZXJ0LmM6MjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJUaGUgZmlsZSAnJXMnIGNvbnRhaW5zIGEgYnl0ZSBvcmRlciBtYXJrIChCT00pLiBQbGVhc2UgdXNlIFVURi0lcyBhcyB3b3JraW5nLSIKLSJ0cmVlLWVuY29kaW5nLiIKLW1zZ3N0ciAiIgotIkVsIGFyY2hpdm8gJyVzJyBjb250aWVuZSB1bmEgbWFyY2EgZGUgYnl0ZSAoQk9NKS4gUG9yIGZhdm9yIHVzYSBVVEYtJXMgY29tbyAiCisiVGhlIGZpbGUgJyVzJyBjb250YWlucyBhIGJ5dGUgb3JkZXIgbWFyayAoQk9NKS4gUGxlYXNlIHVzZSBVVEYtJS4qcyBhcyAiCiAid29ya2luZy10cmVlLWVuY29kaW5nLiIKK21zZ3N0ciAiIgorIkVsIGFyY2hpdm8gJyVzJyBjb250aWVuZSB1bmEgbWFyY2EgZGUgYnl0ZSAoQk9NKS4gUG9yIGZhdm9yIHVzYSBVVEYtJS4qcyAiCisiY29tbyB3b3JraW5nLXRyZWUtZW5jb2RpbmcuIgogCi0jOiBjb252ZXJ0LmM6MzA1CisjOiBjb252ZXJ0LmM6MzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJPTSBpcyByZXF1aXJlZCBpbiAnJXMnIGlmIGVuY29kZWQgYXMgJXMiCiBtc2dzdHIgIkJPTSBlcyByZXF1ZXJpZG8gZW4gJyVzJyBzaSBlcyBjb2RpZmljYWRvIGNvbW8gJXMiCiAKLSM6IGNvbnZlcnQuYzozMDcKKyM6IGNvbnZlcnQuYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmaWxlICclcycgaXMgbWlzc2luZyBhIGJ5dGUgb3JkZXIgbWFyayAoQk9NKS4gUGxlYXNlIHVzZSBVVEYtJXNCRSBvciBVVEYtIgpAQCAtMjAyNiw1MCArMjY1Miw1MCBAQAogIkFsIGFyY2hpdm8gJyVzJyBsZSBmYWx0YSB1bmEgbWFyY2EgZGUgYnl0ZSAoQk9NKS4gUG9yIGZhdm9yIHVzYSBVVEYtJXNCRSBvICIKICJVVEYtJXNMRSAoZGVwZW5kaWVuZG8gZW4gZWwgb3JkZW4gZGUgYnl0ZSkgY29tbyB3b3JraW5nLXRyZWUtZW5jb2RpbmcuIgogCi0jOiBjb252ZXJ0LmM6NDI1IGNvbnZlcnQuYzo0OTYKKyM6IGNvbnZlcnQuYzo0MTkgY29udmVydC5jOjQ5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZW5jb2RlICclcycgZnJvbSAlcyB0byAlcyIKIG1zZ3N0ciAiZmFsbMOzIGFsIGNvZGlmaWNhciAnJXMnIGRlICVzIGEgJXMiCiAKLSM6IGNvbnZlcnQuYzo0NjgKKyM6IGNvbnZlcnQuYzo0NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW5jb2RpbmcgJyVzJyBmcm9tICVzIHRvICVzIGFuZCBiYWNrIGlzIG5vdCB0aGUgc2FtZSIKIG1zZ3N0ciAiY29kaWZpY2FjacOzbiAnJXMnIGRlICVzIGEgJXMgeSBkZSB2dWVsdGEgbm8gc29uIGlndWFsZXMiCiAKLSM6IGNvbnZlcnQuYzo2NzQKKyM6IGNvbnZlcnQuYzo2NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZvcmsgdG8gcnVuIGV4dGVybmFsIGZpbHRlciAnJXMnIgogbXNnc3RyICJubyBzZSBwdWVkZSBoYWNlciBmb3JrIHBhcmEgZWplY3V0YXIgZmlsdHJvcyBleHRlcm5vcyAnJXMnIgogCi0jOiBjb252ZXJ0LmM6Njk0CisjOiBjb252ZXJ0LmM6Njg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmZWVkIHRoZSBpbnB1dCB0byBleHRlcm5hbCBmaWx0ZXIgJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVlZGVuIGFsaW1lbnRhciBkZSBpbnB1dCBhIGxvcyBmaWx0cm9zIGV4dGVybm9zICclcyciCiAKLSM6IGNvbnZlcnQuYzo3MDEKKyM6IGNvbnZlcnQuYzo2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkICVkIgogbXNnc3RyICJmaWx0cm8gZXh0ZXJubyAnJXMnIGZhbGzDsyAlZCIKIAotIzogY29udmVydC5jOjczNiBjb252ZXJ0LmM6NzM5CisjOiBjb252ZXJ0LmM6NzMwIGNvbnZlcnQuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCBmcm9tIGV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAibGVjdHVyYSBkZSBmaWx0cm8gZXh0ZXJubyAnJXMnIGZhbGzDsyIKIAotIzogY29udmVydC5jOjc0MiBjb252ZXJ0LmM6Nzk2CisjOiBjb252ZXJ0LmM6NzM2IGNvbnZlcnQuYzo3OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkIgogbXNnc3RyICJmaWx0cm8gZXh0ZXJubyAnJXMnIGZhbGzDsyIKIAotIzogY29udmVydC5jOjg0NAorIzogY29udmVydC5jOjgzOQogbXNnaWQgInVuZXhwZWN0ZWQgZmlsdGVyIHR5cGUiCiBtc2dzdHIgInRpcG8gZGUgZmlsdHJvIGluZXNwZXJhZG8iCiAKLSM6IGNvbnZlcnQuYzo4NTUKKyM6IGNvbnZlcnQuYzo4NTAKIG1zZ2lkICJwYXRoIG5hbWUgdG9vIGxvbmcgZm9yIGV4dGVybmFsIGZpbHRlciIKIG1zZ3N0ciAibm9tYnJlIGRlIHJ1dGEgbXV5IGxhcmdvIHBhcmEgZmlsdHJvIGV4dGVybm8iCiAKLSM6IGNvbnZlcnQuYzo5MjkKKyM6IGNvbnZlcnQuYzo5MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4dGVybmFsIGZpbHRlciAnJXMnIGlzIG5vdCBhdmFpbGFibGUgYW55bW9yZSBhbHRob3VnaCBub3QgYWxsIHBhdGhzIGhhdmUgIgpAQCAtMjA3OCw2NyArMjcwNCw2NyBAQAogImZpbHRybyBleHRlcm5vICclcycgeWEgbm8gZXN0w6EgZGlzcG9uaWJsZSBhdW5xdWUgbm8gdG9kYXMgbGFzIHJ1dGFzIGhhbiBzaWRvICIKICJmaWx0cmFkYXMiCiAKLSM6IGNvbnZlcnQuYzoxMjI4CisjOiBjb252ZXJ0LmM6MTIyMwogbXNnaWQgInRydWUvZmFsc2UgYXJlIG5vIHZhbGlkIHdvcmtpbmctdHJlZS1lbmNvZGluZ3MiCiBtc2dzdHIgInRydWUvZmFsc2Ugbm8gc29uIHdvcmtpbmctdHJlZS1lbmNvZGluZ3MgdsOhbGlkb3MiCiAKLSM6IGNvbnZlcnQuYzoxMzk4IGNvbnZlcnQuYzoxNDMyCisjOiBjb252ZXJ0LmM6MTQxMSBjb252ZXJ0LmM6MTQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2xlYW4gZmlsdGVyICclcycgZmFpbGVkIgogbXNnc3RyICIlczogZmFsbMOzIGFsIGxpbXBpYXIgZmlsdHJvICclcyciCiAKLSM6IGNvbnZlcnQuYzoxNDc2CisjOiBjb252ZXJ0LmM6MTQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc211ZGdlIGZpbHRlciAlcyBmYWlsZWQiCiBtc2dzdHIgIiVzOiBmaWx0cm8gc211ZGdlICVzIGZhbGzDsyIKIAotIzogZGF0ZS5jOjExNgorIzogZGF0ZS5jOjEzOAogbXNnaWQgImluIHRoZSBmdXR1cmUiCiBtc2dzdHIgImVuIGVsIGZ1dHVybyIKIAotIzogZGF0ZS5jOjEyMgorIzogZGF0ZS5jOjE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHNlY29uZCBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gc2Vjb25kcyBhZ28iCiBtc2dzdHJbMF0gImhhY2UgJTxQUkl1TUFYPiBzZWd1bmRvIgogbXNnc3RyWzFdICJoYWNlICU8UFJJdU1BWD4gc2VndW5kb3MiCiAKLSM6IGRhdGUuYzoxMjkKKyM6IGRhdGUuYzoxNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBtaW51dGUgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1pbnV0ZXMgYWdvIgogbXNnc3RyWzBdICJoYWNlICU8UFJJdU1BWD4gbWludXRvIgogbXNnc3RyWzFdICJoYWNlICU8UFJJdU1BWD4gbWludXRvcyIKIAotIzogZGF0ZS5jOjEzNgorIzogZGF0ZS5jOjE1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IGhvdXIgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IGhvdXJzIGFnbyIKIG1zZ3N0clswXSAiaGFjZSAlPFBSSXVNQVg+IGhvcmEiCiBtc2dzdHJbMV0gImhhY2UgJTxQUkl1TUFYPiBob3JhcyIKIAotIzogZGF0ZS5jOjE0MworIzogZGF0ZS5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IGRheSBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gZGF5cyBhZ28iCiBtc2dzdHJbMF0gImhhY2UgJTxQUkl1TUFYPiBkw61hIgogbXNnc3RyWzFdICJoYWNlICU8UFJJdU1BWD4gZMOtYXMiCiAKLSM6IGRhdGUuYzoxNDkKKyM6IGRhdGUuYzoxNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiB3ZWVrIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB3ZWVrcyBhZ28iCiBtc2dzdHJbMF0gImhhY2UgJTxQUkl1TUFYPiBzZW1hbmEiCiBtc2dzdHJbMV0gImhhY2UgJTxQUkl1TUFYPiBzZW1hbmFzIgogCi0jOiBkYXRlLmM6MTU2CisjOiBkYXRlLmM6MTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiU8UFJJdU1BWD4gbW9udGggYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1vbnRocyBhZ28iCiBtc2dzdHJbMF0gImhhY2UgJTxQUkl1TUFYPiBtZXMiCiBtc2dzdHJbMV0gImhhY2UgJTxQUkl1TUFYPiBtZXNlcyIKIAotIzogZGF0ZS5jOjE2NworIzogZGF0ZS5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHllYXIiCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4geWVhcnMiCkBAIC0yMTQ2LDQwICsyNzcyLDQwIEBACiBtc2dzdHJbMV0gIiU8UFJJdU1BWD4gYcOxb3MiCiAKICMuIFRSQU5TTEFUT1JTOiAiJXMiIGlzICI8bj4geWVhcnMiCi0jOiBkYXRlLmM6MTcwCisjOiBkYXRlLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCAlPFBSSXVNQVg+IG1vbnRoIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJXMsICU8UFJJdU1BWD4gbW9udGhzIGFnbyIKIG1zZ3N0clswXSAiJXMsIHkgJTxQUkl1TUFYPiBtZXMgYXRyw6FzIgogbXNnc3RyWzFdICIlcywgeSAlPFBSSXVNQVg+IG1lc2VzIGF0csOhcyIKIAotIzogZGF0ZS5jOjE3NSBkYXRlLmM6MTgwCisjOiBkYXRlLmM6MTk3IGRhdGUuYzoyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB5ZWFycyBhZ28iCiBtc2dzdHJbMF0gImhhY2UgJTxQUkl1TUFYPiBhw7FvIgogbXNnc3RyWzFdICJoYWNlICU8UFJJdU1BWD4gYcOxb3MiCiAKLSM6IGRlbHRhLWlzbGFuZHMuYzoyNjgKKyM6IGRlbHRhLWlzbGFuZHMuYzoyNzIKIG1zZ2lkICJQcm9wYWdhdGluZyBpc2xhbmQgbWFya3MiCiBtc2dzdHIgIlByb3BhZ2FuZG8gbWFyY2FzIGlzbGEiCiAKLSM6IGRlbHRhLWlzbGFuZHMuYzoyODYKKyM6IGRlbHRhLWlzbGFuZHMuYzoyOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHRyZWUgb2JqZWN0ICVzIgogbXNnc3RyICJtYWwgb2JqZXRvIMOhcmJvbCAlcyIKIAotIzogZGVsdGEtaXNsYW5kcy5jOjMzMAorIzogZGVsdGEtaXNsYW5kcy5jOjMzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBpc2xhbmQgcmVnZXggZm9yICclcyc6ICVzIgogbXNnc3RyICJmYWxsw7MgYWwgY2FyZ2FyIGlzbGEgZGUgcmVnZXggcGFyYSAnJXMnOiAlcyIKIAotIzogZGVsdGEtaXNsYW5kcy5jOjM4NgorIzogZGVsdGEtaXNsYW5kcy5jOjM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpc2xhbmQgcmVnZXggZnJvbSBjb25maWcgaGFzIHRvbyBtYW55IGNhcHR1cmUgZ3JvdXBzIChtYXg9JWQpIgogbXNnc3RyICJyZWdleCBpc2xhIGRlIGNvbmZpZyB0aWVuZSBtdWNob3MgZ3J1cG9zIGRlIGNhcHR1cmEgKG1heD0lZCkiCiAKLSM6IGRlbHRhLWlzbGFuZHMuYzo0NjIKKyM6IGRlbHRhLWlzbGFuZHMuYzo0NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFya2VkICVkIGlzbGFuZHMsIGRvbmUuXG4iCiBtc2dzdHIgIiVkIGlzbGFzIG1hcmNhZGFzLCBsaXN0by5cbiIKQEAgLTIxODksMjYgKzI4MTUsMzMgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBvcmRlcmZpbGUgJyVzJyIKIG1zZ3N0ciAiZmFsbMOzIGFsIGxlZXIgb3JkZW4gZGUgYXJjaGl2b3MgJyVzJyIKIAotIzogZGlmZmNvcmUtcmVuYW1lLmM6NTQ0CisjOiBkaWZmY29yZS1yZW5hbWUuYzo1NDMKIG1zZ2lkICJQZXJmb3JtaW5nIGluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiIKIG1zZ3N0ciAiUmVhbGl6YW5kbyB1bmEgZGV0ZWNjacOzbiBkZSBjYW1iaW9zIGRlIG5vbWJyZSBpbmV4YWN0YSIKIAotIzogZGlmZi5jOjEwOAotIywgYy1mb3JtYXQKLW1zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhIHZhbHVlIgotbXNnc3RyICJvcGNpw7NuICclcycgcmVxdWllcmUgdW4gdmFsb3IiCisjOiBkaWZmLW5vLWluZGV4LmM6MjM4Cittc2dpZCAiZ2l0IGRpZmYgLS1uby1pbmRleCBbPG9wdGlvbnM+XSA8cGF0aD4gPHBhdGg+IgorbXNnc3RyICJnaXQgZGlmZiAtLW5vLWluZGV4IFs8b3BjaW9uZXM+XSA8cGF0aD4gPHBhdGg+IgogCi0jOiBkaWZmLmM6MTU4CisjOiBkaWZmLW5vLWluZGV4LmM6MjYzCittc2dpZCAiIgorIk5vdCBhIGdpdCByZXBvc2l0b3J5LiBVc2UgLS1uby1pbmRleCB0byBjb21wYXJlIHR3byBwYXRocyBvdXRzaWRlIGEgd29ya2luZyAiCisidHJlZSIKK21zZ3N0ciAiIgorIk5vIGVzIHVuIHJlcG9zaXRvcmlvIGdpdC4gVXNlIC0tbm8taW5kZXggcGFyYSBjb21wYXJhciBkb3MgcGF0aHMgZnVlcmEgZGVsICIKKyLDoXJib2wgZGUgdHJhYmFqbyIKKworIzogZGlmZi5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZhaWxlZCB0byBwYXJzZSBkaXJzdGF0IGN1dC1vZmYgcGVyY2VudGFnZSAnJXMnXG4iCiBtc2dzdHIgIiAgRmFsbMOzIGFsIGFuYWxpemFyIGRpcnN0YXQgcG9yY2VudGFqZSBkZSBjb3J0ZSAnJXMnXG4iCiAKLSM6IGRpZmYuYzoxNjMKKyM6IGRpZmYuYzoxNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBVbmtub3duIGRpcnN0YXQgcGFyYW1ldGVyICclcydcbiIKIG1zZ3N0ciAiICBwYXLDoW1ldHJvICclcycgZGUgZGlyc3RhdCBkZXNjb25vY2lkb1xuIgogCi0jOiBkaWZmLmM6MjkxCisjOiBkaWZmLmM6Mjk2CiBtc2dpZCAiIgogImNvbG9yIG1vdmVkIHNldHRpbmcgbXVzdCBiZSBvbmUgb2YgJ25vJywgJ2RlZmF1bHQnLCAnYmxvY2tzJywgJ3plYnJhJywgIgogIidkaW1tZWQtemVicmEnLCAncGxhaW4nIgpAQCAtMjIxNiwyNiArMjg0OSwzMSBAQAogIm9wY2nDs24gZGUgY29sb3IgdGllbmUgcXVlIHNlciB1bmEgZGUgJ25vJywgJ2RlZmF1bHQnLCAnYmxvY2tzJywgJ3plYnJhJywgIgogIidkaW1tZWRfemVicmEnLCAncGxhaW4nIgogCi0jOiBkaWZmLmM6MzE2CisjOiBkaWZmLmM6MzI0CiAjLCBjLWZvcm1hdAotbXNnaWQgImlnbm9yaW5nIHVua25vd24gY29sb3ItbW92ZWQtd3MgbW9kZSAnJXMnIgotbXNnc3RyICJpZ25vcmFuZG8gbW9kbyBkZXNjb25vY2lkbyBjb2xvci1tb3ZlZC13cyAnJXMnIgotCi0jOiBkaWZmLmM6MzIzCiBtc2dpZCAiIgotImNvbG9yLW1vdmVkLXdzOiBhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgd2hpdGUgIgotInNwYWNlIG1vZGVzIgorInVua25vd24gY29sb3ItbW92ZWQtd3MgbW9kZSAnJXMnLCBwb3NzaWJsZSB2YWx1ZXMgYXJlICdpZ25vcmUtc3BhY2UtY2hhbmdlJywgIgorIidpZ25vcmUtc3BhY2UtYXQtZW9sJywgJ2lnbm9yZS1hbGwtc3BhY2UnLCAnYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlJyIKK21zZ3N0ciAiIgorIm1vZG8gY29sb3ItbW92ZWQtd3MgZGVzY29ub2NpZG8gJyVzJywgdmFsb3JlcyBwb3NpYmxlcyBzb24gJ2lnbm9yZS1zcGFjZS0iCisiY2hhbmdlJywgJ2lnbm9yZS1zcGFjZS1hdC1lb2wnLCAnaWdub3JlLWFsbC1zcGFjZScsICdhbGxvdy1pbmRlbnRhdGlvbi0iCisiY2hhbmdlJyIKKworIzogZGlmZi5jOjMzMgorbXNnaWQgIiIKKyJjb2xvci1tb3ZlZC13czogYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyICIKKyJ3aGl0ZXNwYWNlIG1vZGVzIgogbXNnc3RyICIiCiAiY29sb3ItbW92ZWQtd3M6IGFsbG93LWluZGVudGF0aW9uLWNoYW5nZSBubyBwdWVkZSBzZXIgY29tYmluYWRvIGNvbiBvdHJvcyAiCiAibW9kb3MgZGUgZXNwYWNpb3MgZW4gYmxhbmNvIgogCi0jOiBkaWZmLmM6Mzk0CisjOiBkaWZmLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdmFsdWUgZm9yICdkaWZmLnN1Ym1vZHVsZScgY29uZmlnIHZhcmlhYmxlOiAnJXMnIgogbXNnc3RyICIiCiAiVmFsb3IgcGFyYSBsYSB2YXJpYWJsZSBkZSBjb25maWd1cmFjacOzbiAnZGlmZi5zdWJtb2R1bGUnIGRlc2Nvbm9jaWRvOiAnJXMnIgogCi0jOiBkaWZmLmM6NDU0CisjOiBkaWZmLmM6NDY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGb3VuZCBlcnJvcnMgaW4gJ2RpZmYuZGlyc3RhdCcgY29uZmlnIHZhcmlhYmxlOlxuIgpAQCAtMjI0NCwyNCArMjg4MiwzNSBAQAogIkVycm9yZXMgZW4gbGEgdmFyaWFibGUgZGUgY29uZmlnICdkaWZmLmRpcnN0YXQnIGVuY29udHJhZG9zOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6NDE0MAorIzogZGlmZi5jOjQyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXh0ZXJuYWwgZGlmZiBkaWVkLCBzdG9wcGluZyBhdCAlcyIKIG1zZ3N0ciAiZGlmZiBleHRlcm5vIG11cmnDsywgZGV0ZW5pZW5kbyBlbiAlcyIKIAotIzogZGlmZi5jOjQ0ODIKKyM6IGRpZmYuYzo0NTQ3CiBtc2dpZCAiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIHkgLXMgc29uIG11dHVhbWVudGUgZXhjbHVzaXZhcyIKIAotIzogZGlmZi5jOjQ0ODUKKyM6IGRpZmYuYzo0NTUwCiBtc2dpZCAiLUcsIC1TIGFuZCAtLWZpbmQtb2JqZWN0IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1HLCAtUyB5IC0tZmluZC1vYmplY3Qgc29uIG11dHVhbWVudGUgZXhjbHVzaXZhcyIKIAotIzogZGlmZi5jOjQ1NjMKKyM6IGRpZmYuYzo0NjI4CiBtc2dpZCAiLS1mb2xsb3cgcmVxdWlyZXMgZXhhY3RseSBvbmUgcGF0aHNwZWMiCiBtc2dzdHIgIi0tZm9sbG93IHJlcXVpZXJlIGV4YWN0YW1lbnRlIHVuIHBhdGhzcGVjIgogCi0jOiBkaWZmLmM6NDcyOQorIzogZGlmZi5jOjQ2NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCAtLXN0YXQgdmFsdWU6ICVzIgorbXNnc3RyICJ2YWxvciAtLXN0YXQgaW52w6FsaWRvOiAlcyIKKworIzogZGlmZi5jOjQ2ODEgZGlmZi5jOjQ2ODYgZGlmZi5jOjQ2OTEgZGlmZi5jOjQ2OTYgZGlmZi5jOjUyMDkKKyM6IHBhcnNlLW9wdGlvbnMuYzoxOTkgcGFyc2Utb3B0aW9ucy5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgorbXNnc3RyICIlcyBlc3BlcmEgdW4gdmFsb3IgbnVtw6lyaWNvIgorCisjOiBkaWZmLmM6NDcxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIHBhcnNlIC0tZGlyc3RhdC8tWCBvcHRpb24gcGFyYW1ldGVyOlxuIgpAQCAtMjI3MCw2NCArMjkxOSw1NzkgQEAKICJGYWxsw7MgYWwgYW5hbGl6YXIgcGFyw6FtZXRybyBkZSBvcGNpw7NuIC0tZGlyc3RhdC8tWDpcbiIKICIlcyIKIAotIzogZGlmZi5jOjQ3NDMKKyM6IGRpZmYuYzo0Nzk4CiAjLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgotbXNnc3RyICJGYWxsw7MgYWwgYW5hbGl6YXIgcGFyw6FtZXRybyBkZSBvcGNpw7NuIC0tc3VibW9kdWxlOiAnJXMnIgorbXNnaWQgInVua25vd24gY2hhbmdlIGNsYXNzICclYycgaW4gLS1kaWZmLWZpbHRlcj0lcyIKK21zZ3N0ciAiY2FtYmlvIGRlIGNsYXNlIGRlc2Nvbm9jaWRvICclYycgZW4gLS1kaWZmLWZpbHRlcj0lcyIKIAotIzogZGlmZi5jOjU4MjMKKyM6IGRpZmYuYzo0ODIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdmFsdWUgYWZ0ZXIgd3MtZXJyb3ItaGlnaGxpZ2h0PSUuKnMiCittc2dzdHIgInZhbG9yIGRlc2Nvbm9jaWRvIGx1ZWdvIGRlIHdzLWVycm9yLWhpZ2hsaWdodD0lLipzIgorCisjOiBkaWZmLmM6NDgzNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJubyBzZSBwdWVkZSByZXNvbHZlciAnJXMnIgorCisjOiBkaWZmLmM6NDg4NiBkaWZmLmM6NDg5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIDxuPi88bT4gZm9ybSIKK21zZ3N0ciAiJXMgZXNwZXJhIGZvcm1hIDxuPi88bT4iCisKKyM6IGRpZmYuYzo0OTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGV4cGVjdHMgYSBjaGFyYWN0ZXIsIGdvdCAnJXMnIgorbXNnc3RyICIlcyBlc3BlcmFiYSB1biBjaGFyLCBzZSBvYnR1dm8gJyVzJyIKKworIzogZGlmZi5jOjQ5MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIC0tY29sb3ItbW92ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJtYWwgYXJndW1lbnRvIC0tY29sb3ItbW92ZWQ6ICVzIgorCisjOiBkaWZmLmM6NDk0NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG1vZGUgJyVzJyBpbiAtLWNvbG9yLW1vdmVkLXdzIgorbXNnc3RyICJtb2RvIGludsOhbGlkbyAnJXMnIGVuIC0tY29sb3ItbW92ZWQtd3MiCisKKyM6IGRpZmYuYzo0OTg0Cittc2dpZCAiIgorIm9wdGlvbiBkaWZmLWFsZ29yaXRobSBhY2NlcHRzIFwibXllcnNcIiwgXCJtaW5pbWFsXCIsIFwicGF0aWVuY2VcIiBhbmQgIgorIlwiaGlzdG9ncmFtXCIiCittc2dzdHIgIiIKKyJvcGNpw7NuIGRpZmYtYWxnb3JpdGhtIGFjZXB0YSBcIm15ZXJzXCIsIFwibWluaW1hbFwiLCBcInBhdGllbmNlXCIgZSAiCisiXCJoaXN0b2dyYW1cIiIKKworIzogZGlmZi5jOjUwMjAgZGlmZi5jOjUwNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBwYXJhICVzIgorCisjOiBkaWZmLmM6NTE3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKK21zZ3N0ciAiZmFsbMOzIGFsIGFuYWxpemFyIHBhcsOhbWV0cm8gZGUgb3BjacOzbiAtLXN1Ym1vZHVsZTogJyVzJyIKKworIzogZGlmZi5jOjUyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIC0td29yZC1kaWZmIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAibWFsIGFyZ3VtZW50byAtLXdvcmQtZGlmZjogJXMiCisKKyM6IGRpZmYuYzo1MjU3Cittc2dpZCAiRGlmZiBvdXRwdXQgZm9ybWF0IG9wdGlvbnMiCittc2dzdHIgIk9wY2lvbmVzIGRlIGZvcm1hdG8gZGUgc2FsaWRhIHBhcmEgZGlmZiIKKworIzogZGlmZi5jOjUyNTkgZGlmZi5jOjUyNjUKK21zZ2lkICJnZW5lcmF0ZSBwYXRjaCIKK21zZ3N0ciAiZ2VuZXJhciBwYXJjaGUiCisKKyM6IGRpZmYuYzo1MjYyIGJ1aWx0aW4vbG9nLmM6MTczCittc2dpZCAic3VwcHJlc3MgZGlmZiBvdXRwdXQiCittc2dzdHIgInN1cHJpbWlyIHNhbGlkYSBkZSBkaWZmIgorCisjOiBkaWZmLmM6NTI2NyBkaWZmLmM6NTM4MSBkaWZmLmM6NTM4OAorbXNnaWQgIjxuPiIKK21zZ3N0ciAiPG4+IgorCisjOiBkaWZmLmM6NTI2OCBkaWZmLmM6NTI3MQorbXNnaWQgImdlbmVyYXRlIGRpZmZzIHdpdGggPG4+IGxpbmVzIGNvbnRleHQiCittc2dzdHIgImdlbmVyYSBkaWZmcyBjb24gPG4+IGzDrW5lYXMgZGUgY29udGV4dG8iCisKKyM6IGRpZmYuYzo1MjczCittc2dpZCAiZ2VuZXJhdGUgdGhlIGRpZmYgaW4gcmF3IGZvcm1hdCIKK21zZ3N0ciAiZ2VuZXJhIGVsIGRpZmYgZW4gZm9ybWF0byByYXciCisKKyM6IGRpZmYuYzo1Mjc2Cittc2dpZCAic3lub255bSBmb3IgJy1wIC0tcmF3JyIKK21zZ3N0ciAic2luw7NuaW1vIHBhcmEgJy1wIC0tc3RhdCciCisKKyM6IGRpZmYuYzo1MjgwCittc2dpZCAic3lub255bSBmb3IgJy1wIC0tc3RhdCciCittc2dzdHIgInNpbsOzbmltbyBwYXJhICctcCAtLXN0YXQnIgorCisjOiBkaWZmLmM6NTI4NAorbXNnaWQgIm1hY2hpbmUgZnJpZW5kbHkgLS1zdGF0IgorbXNnc3RyICItLXN0YXQgYW1pZ2FibGUgcGFyYSBtw6FxdWluYSIKKworIzogZGlmZi5jOjUyODcKK21zZ2lkICJvdXRwdXQgb25seSB0aGUgbGFzdCBsaW5lIG9mIC0tc3RhdCIKK21zZ3N0ciAibW9zdHJhciBzb2xvIGxhIMO6bHRpbWEgbMOtbmVhIHBhcmEgLS1zdGF0IgorCisjOiBkaWZmLmM6NTI4OSBkaWZmLmM6NTI5NworbXNnaWQgIjxwYXJhbTEscGFyYW0yPi4uLiIKK21zZ3N0ciAiPHBhcmFtMSxwYXJhbTI+Li4uIgorCisjOiBkaWZmLmM6NTI5MAorbXNnaWQgIiIKKyJvdXRwdXQgdGhlIGRpc3RyaWJ1dGlvbiBvZiByZWxhdGl2ZSBhbW91bnQgb2YgY2hhbmdlcyBmb3IgZWFjaCBzdWItZGlyZWN0b3J5IgorbXNnc3RyICIiCisibXVlc3RyYSBsYSBkaXN0cmlidWNpw7NuIGRlIGNhbnRpZGFkZXMgZGUgY2FtYmlvcyByZWxhdGl2YSBwYXJhIGNhZGEgIgorInN1YmRpcmVjdG9yaW8iCisKKyM6IGRpZmYuYzo1Mjk0Cittc2dpZCAic3lub255bSBmb3IgLS1kaXJzdGF0PWN1bXVsYXRpdmUiCittc2dzdHIgInNpbsOzbmltbyBwYXJhIC0tZGlyc3RhdD1jdW11bGF0aXZlIgorCisjOiBkaWZmLmM6NTI5OAorbXNnaWQgInN5bm9ueW0gZm9yIC0tZGlyc3RhdD1maWxlcyxwYXJhbTEscGFyYW0yLi4uIgorbXNnc3RyICJzaW5vbmltbyBwYXJhIC0tZGlyc3RhdD1hcmNoaXZvcyxwYXJhbTEscGFyYW0yLi4uIgorCisjOiBkaWZmLmM6NTMwMgorbXNnaWQgIndhcm4gaWYgY2hhbmdlcyBpbnRyb2R1Y2UgY29uZmxpY3QgbWFya2VycyBvciB3aGl0ZXNwYWNlIGVycm9ycyIKK21zZ3N0ciAiIgorImFkdmllcnRlIHNpIGNhbWJpb3MgaW50cm9kdWNlbiBjb25mbGljdG9zIGRlIG1hcmtlcnMgbyBlcnJvcmVzIGRlIGVzcGFjaW9zICIKKyJlbiBibGFuY28iCisKKyM6IGRpZmYuYzo1MzA1Cittc2dpZCAiY29uZGVuc2VkIHN1bW1hcnkgc3VjaCBhcyBjcmVhdGlvbnMsIHJlbmFtZXMgYW5kIG1vZGUgY2hhbmdlcyIKK21zZ3N0ciAiIgorInJlc3VtZW4gY29uZGVuc2FkbyBkZSBjcmVhY2lvbmVzLCBjYW1iaW9zIGRlIG5vbWJyZXMgeSBjYW1iaW9zIGRlIG1vZG9zIgorCisjOiBkaWZmLmM6NTMwOAorbXNnaWQgInNob3cgb25seSBuYW1lcyBvZiBjaGFuZ2VkIGZpbGVzIgorbXNnc3RyICJtb3N0cmFyIHNvbG8gbm9tYnJlcyBkZSBhcmNoaXZvcyBjYW1iaWFkb3MiCisKKyM6IGRpZmYuYzo1MzExCittc2dpZCAic2hvdyBvbmx5IG5hbWVzIGFuZCBzdGF0dXMgb2YgY2hhbmdlZCBmaWxlcyIKK21zZ3N0ciAibW9zdHJhciBzb2xvIG5vbWJyZXMgeSBlc3RhZG9zIGRlIGFyY2hpdm9zIGNhbWJpYWRvcyIKKworIzogZGlmZi5jOjUzMTMKK21zZ2lkICI8d2lkdGg+Wyw8bmFtZS13aWR0aD5bLDxjb3VudD5dXSIKK21zZ3N0ciAiPGFuY2hvPlssPG5vbWJyZS1hbmNobz5bLDxjYW50aWRhZD5dXSIKKworIzogZGlmZi5jOjUzMTQKK21zZ2lkICJnZW5lcmF0ZSBkaWZmc3RhdCIKK21zZ3N0ciAiZ2VuZXJhciBkaWZmc3RhdCIKKworIzogZGlmZi5jOjUzMTYgZGlmZi5jOjUzMTkgZGlmZi5jOjUzMjIKK21zZ2lkICI8d2lkdGg+IgorbXNnc3RyICI8YW5jaG8+IgorCisjOiBkaWZmLmM6NTMxNworbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggYSBnaXZlbiB3aWR0aCIKK21zZ3N0ciAiZ2VuZXJhIGRpZmZzdGF0IGNvbiB1biBhbmNobyBkYWRvIgorCisjOiBkaWZmLmM6NTMyMAorbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggYSBnaXZlbiBuYW1lIHdpZHRoIgorbXNnc3RyICJnZW5lcmEgZGlmZnN0YXQgY29uIHVuIG5vbWJyZSBkZSBhbmNobyBkYWRvIgorCisjOiBkaWZmLmM6NTMyMworbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggYSBnaXZlbiBncmFwaCB3aWR0aCIKK21zZ3N0ciAiZ2VuZXJhIGRpZmZzdGF0IGNvbiB1biBhbmNobyBkZSBncmFwaCBkYWRvIgorCisjOiBkaWZmLmM6NTMyNQorbXNnaWQgIjxjb3VudD4iCittc2dzdHIgIjxjYW50aWRhZD4iCisKKyM6IGRpZmYuYzo1MzI2Cittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBsaW1pdGVkIGxpbmVzIgorbXNnc3RyICJnZW5lcmEgZGlmZnN0YXQgY29uIGzDrW5lYXMgbGltaXRhZGFzIgorCisjOiBkaWZmLmM6NTMyOQorbXNnaWQgImdlbmVyYXRlIGNvbXBhY3Qgc3VtbWFyeSBpbiBkaWZmc3RhdCIKK21zZ3N0ciAiZ2VuZXJhIHVuIHJlc3VtZW4gY29tcGFjdG8gZGUgZGlmZnN0YXQiCisKKyM6IGRpZmYuYzo1MzMyCittc2dpZCAib3V0cHV0IGEgYmluYXJ5IGRpZmYgdGhhdCBjYW4gYmUgYXBwbGllZCIKK21zZ3N0ciAibXVlc3RyYSB1biBkaWZmIGJpbmFyaW8gcXVlIHB1ZWRlIHNlciBhcGxpY2FkbyIKKworIzogZGlmZi5jOjUzMzUKK21zZ2lkICJzaG93IGZ1bGwgcHJlLSBhbmQgcG9zdC1pbWFnZSBvYmplY3QgbmFtZXMgb24gdGhlIFwiaW5kZXhcIiBsaW5lcyIKK21zZ3N0ciAiIgorIm1vc3RyYXIgdG9kbyB1biBwcmUtIHkgcG9zdC1pbWFnZSBkZSBub21icmVzIGRlIG9iamV0b3MgZW4gbGFzIGzDrW5lYXMgXCJpbmRleCIKKyJcIiIKKworIzogZGlmZi5jOjUzMzcKK21zZ2lkICJzaG93IGNvbG9yZWQgZGlmZiIKK21zZ3N0ciAibW9zdHJhciBkaWZmIGNvbG9yaWRvIgorCisjOiBkaWZmLmM6NTMzOAorbXNnaWQgIjxraW5kPiIKK21zZ3N0ciAiPHRpcG8+IgorCisjOiBkaWZmLmM6NTMzOQorbXNnaWQgIiIKKyJoaWdobGlnaHQgd2hpdGVzcGFjZSBlcnJvcnMgaW4gdGhlICdjb250ZXh0JywgJ29sZCcgb3IgJ25ldycgbGluZXMgaW4gdGhlICIKKyJkaWZmIgorbXNnc3RyICIiCisicmVzYWx0YXIgZXJyb3JlcyBkZSBlc3BhY2lvcyBlbiBibGFuY28gZW4gbGFzIGzDrW5lYXMgJ2NvbnRleHQnLCAnb2xkJyBvICIKKyInbmV3JyBkZWwgZGlmZiIKKworIzogZGlmZi5jOjUzNDIKK21zZ2lkICIiCisiZG8gbm90IG11bmdlIHBhdGhuYW1lcyBhbmQgdXNlIE5VTHMgYXMgb3V0cHV0IGZpZWxkIHRlcm1pbmF0b3JzIGluIC0tcmF3IG9yICIKKyItLW51bXN0YXQiCittc2dzdHIgIiIKKyJubyBjb25zb2xpZGFyIGxvcyBwYXRobmFtZXMgeSB1c2FyIE5VTHMgY29tbyB0ZXJtaW5hZG9yZXMgZGUgY2FtcG9zIGVuIC0tcmF3ICIKKyJvIC0tbnVtc3RhdCIKKworIzogZGlmZi5jOjUzNDUgZGlmZi5jOjUzNDggZGlmZi5jOjUzNTEgZGlmZi5jOjU0NTcKK21zZ2lkICI8cHJlZml4PiIKK21zZ3N0ciAiPHByZWZpam8+IgorCisjOiBkaWZmLmM6NTM0NgorbXNnaWQgInNob3cgdGhlIGdpdmVuIHNvdXJjZSBwcmVmaXggaW5zdGVhZCBvZiBcImEvXCIiCittc2dzdHIgIm1vc3RyYXIgZWwgcHJlZmlqbyBkZSBmdWVudGUgZGFkbyBlbiBsdWdhciBkZSBcImEvXCIiCisKKyM6IGRpZmYuYzo1MzQ5Cittc2dpZCAic2hvdyB0aGUgZ2l2ZW4gZGVzdGluYXRpb24gcHJlZml4IGluc3RlYWQgb2YgXCJiL1wiIgorbXNnc3RyICJtb3N0cmFyIGVsIHByZWZpam8gZGUgZGVzdGlubyBlbiBsdWdhciBkZSBcImIvXCIiCisKKyM6IGRpZmYuYzo1MzUyCittc2dpZCAicHJlcGVuZCBhbiBhZGRpdGlvbmFsIHByZWZpeCB0byBldmVyeSBsaW5lIG9mIG91dHB1dCIKK21zZ3N0ciAiYW50ZXBvbmVyIHVuIHByZWZpam8gYWRpY2lvbmFsIGEgY2FkYSBsw61uZWEgbW9zdHJhZGEiCisKKyM6IGRpZmYuYzo1MzU1Cittc2dpZCAiZG8gbm90IHNob3cgYW55IHNvdXJjZSBvciBkZXN0aW5hdGlvbiBwcmVmaXgiCittc2dzdHIgIm5vIG1vc3RyYXIgbmluZ8O6biBwcmVmaWpvIGRlIGZ1ZW50ZSBvIGRlc3Rpbm8iCisKKyM6IGRpZmYuYzo1MzU4Cittc2dpZCAic2hvdyBjb250ZXh0IGJldHdlZW4gZGlmZiBodW5rcyB1cCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBsaW5lcyIKK21zZ3N0ciAiIgorIm11ZXN0cmEgZWwgY29udGV4dG8gZW50cmUgaHVua3MgZGUgZGlmZiBoYXN0YSBlbCBuw7ptZXJvIGVzcGVjaWZpY2FkbyBkZSAiCisibMOtbmVhcyIKKworIzogZGlmZi5jOjUzNjIgZGlmZi5jOjUzNjcgZGlmZi5jOjUzNzIKK21zZ2lkICI8Y2hhcj4iCittc2dzdHIgIjxjaGFyPiIKKworIzogZGlmZi5jOjUzNjMKK21zZ2lkICJzcGVjaWZ5IHRoZSBjaGFyYWN0ZXIgdG8gaW5kaWNhdGUgYSBuZXcgbGluZSBpbnN0ZWFkIG9mICcrJyIKK21zZ3N0ciAiZXNwZWNpZmljYSBlbCBjaGFyIHBhcmEgaW5kaWNhciB1bmEgbnVldmEgbMOtbmVhIGVuIGx1Z2FyIGRlICcrJyIKKworIzogZGlmZi5jOjUzNjgKK21zZ2lkICJzcGVjaWZ5IHRoZSBjaGFyYWN0ZXIgdG8gaW5kaWNhdGUgYW4gb2xkIGxpbmUgaW5zdGVhZCBvZiAnLSciCittc2dzdHIgImVzcGVjaWZpY2EgZWwgY2hhciBwYXJhIGluZGljYXIgdW5hIGzDrW5lYSB2aWVqYSBlbiBsdWdhciBkZSAnLSciCisKKyM6IGRpZmYuYzo1MzczCittc2dpZCAic3BlY2lmeSB0aGUgY2hhcmFjdGVyIHRvIGluZGljYXRlIGEgY29udGV4dCBpbnN0ZWFkIG9mICcgJyIKK21zZ3N0ciAiZXNwZWNpZmljYSBlbCBjaGFyIHBhcmEgaW5kaWNhciB1biBjb250ZXh0byBlbiBsdWdhciBkZSAnICciCisKKyM6IGRpZmYuYzo1Mzc2Cittc2dpZCAiRGlmZiByZW5hbWUgb3B0aW9ucyIKK21zZ3N0ciAiT3BjaW9uZXMgZGUgZGlmZiByZW5hbWUiCisKKyM6IGRpZmYuYzo1Mzc3Cittc2dpZCAiPG4+Wy88bT5dIgorbXNnc3RyICI8bj5bLzxtPl0iCisKKyM6IGRpZmYuYzo1Mzc4Cittc2dpZCAiYnJlYWsgY29tcGxldGUgcmV3cml0ZSBjaGFuZ2VzIGludG8gcGFpcnMgb2YgZGVsZXRlIGFuZCBjcmVhdGUiCittc2dzdHIgImRlc2NvbXBvbmVyIGxvcyBjYW1iaW9zIGRlIHJlZXNjcml0dXJhIGVuIHBhcmVzIGRlIGJvcnJhciB5IGNyZWFyIgorCisjOiBkaWZmLmM6NTM4MgorbXNnaWQgImRldGVjdCByZW5hbWVzIgorbXNnc3RyICJkZXRlY3RhciByZW5vbWJyYWRvcyIKKworIzogZGlmZi5jOjUzODYKK21zZ2lkICJvbWl0IHRoZSBwcmVpbWFnZSBmb3IgZGVsZXRlcyIKK21zZ3N0ciAib21pdGUgbGEgcHJlaW1hZ2UgcGFyYSBib3JyYWRvcyIKKworIzogZGlmZi5jOjUzODkKK21zZ2lkICJkZXRlY3QgY29waWVzIgorbXNnc3RyICJkZXRlY3RhciBjb3BpYXMiCisKKyM6IGRpZmYuYzo1MzkzCittc2dpZCAidXNlIHVubW9kaWZpZWQgZmlsZXMgYXMgc291cmNlIHRvIGZpbmQgY29waWVzIgorbXNnc3RyICJ1c2EgYXJjaGl2b3Mgbm8gbW9kaWZpY2Fkb3MgY29tbyBmdWVudGUgcGFyYSBlbmNvbnRyYXIgY29waWFzIgorCisjOiBkaWZmLmM6NTM5NQorbXNnaWQgImRpc2FibGUgcmVuYW1lIGRldGVjdGlvbiIKK21zZ3N0ciAiZGVzaGFiaWxpdGEgZGV0ZWNjacOzbiBkZSByZW5vbWJyZXMiCisKKyM6IGRpZmYuYzo1Mzk4Cittc2dpZCAidXNlIGVtcHR5IGJsb2JzIGFzIHJlbmFtZSBzb3VyY2UiCittc2dzdHIgInVzYSBibG9icyB2YWPDrW9zIGNvbW8gZnVlbnRlIGRlIHJlbm9tYnJlIgorCisjOiBkaWZmLmM6NTQwMAorbXNnaWQgImNvbnRpbnVlIGxpc3RpbmcgdGhlIGhpc3Rvcnkgb2YgYSBmaWxlIGJleW9uZCByZW5hbWVzIgorbXNnc3RyICJjb250aW51YSBsaXN0YW5kbyBlbCBoaXN0b3JpYWwgZGUgdW4gYXJjaGl2byBtw6FzIGFsbMOhIGRlIHJlbm9tYnJlcyIKKworIzogZGlmZi5jOjU0MDMKK21zZ2lkICIiCisicHJldmVudCByZW5hbWUvY29weSBkZXRlY3Rpb24gaWYgdGhlIG51bWJlciBvZiByZW5hbWUvY29weSB0YXJnZXRzIGV4Y2VlZHMgIgorImdpdmVuIGxpbWl0IgorbXNnc3RyICIiCisicHJldmllbmUgZGV0ZWNjacOzbiBkZSByZW5vbWJyZS9jb3BpYXMgc2kgZWwgbsO6bWVybyBkZSBvYmpldGl2b3MgcGFyYSAiCisicmVub21icmVzL2NvcGlhcyBleGNlZGUgZWwgbMOtbWl0ZSBkYWRvIgorCisjOiBkaWZmLmM6NTQwNQorbXNnaWQgIkRpZmYgYWxnb3JpdGhtIG9wdGlvbnMiCittc2dzdHIgIk9wY2lvbmVzIGRlIGFsZ29yaXRtb3MgZGUgZGlmZiIKKworIzogZGlmZi5jOjU0MDcKK21zZ2lkICJwcm9kdWNlIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBkaWZmIgorbXNnc3RyICJwcm9kdWNlIGVsIGRpZmYgbcOhcyBwZXF1ZcOxbyBwb3NpYmxlIgorCisjOiBkaWZmLmM6NTQxMAorbXNnaWQgImlnbm9yZSB3aGl0ZXNwYWNlIHdoZW4gY29tcGFyaW5nIGxpbmVzIgorbXNnc3RyICJpZ25vcmFyIGVzcGFjaW9zIGVuIGJsYW5jbyBjdWFuZG8gY29tcGFyYW5kbyBsw61uZWFzIgorCisjOiBkaWZmLmM6NTQxMworbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIGFtb3VudCBvZiB3aGl0ZXNwYWNlIgorbXNnc3RyICJpZ25vcmFyIGNhbWJpb3MgZW4gbGEgY2FudGlkYWQgZGUgbMOtbmVhcyBlbiBibGFuY28iCisKKyM6IGRpZmYuYzo1NDE2Cittc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSBhdCBFT0wiCittc2dzdHIgImlnbm9yYXIgY2FtYmlvcyBlbiBlc3BhY2lvcyBlbiBibGFuY28gZW4gRU9MIgorCisjOiBkaWZmLmM6NTQxOQorbXNnaWQgImlnbm9yZSBjYXJyaWVyLXJldHVybiBhdCB0aGUgZW5kIG9mIGxpbmUiCittc2dzdHIgImlnbm9yYSBjYXJyaWVyLXJldHVybiBhbCBmaW5hbCBkZSBsYSBsw61uZWEiCisKKyM6IGRpZmYuYzo1NDIyCittc2dpZCAiaWdub3JlIGNoYW5nZXMgd2hvc2UgbGluZXMgYXJlIGFsbCBibGFuayIKK21zZ3N0ciAiaWdub3JhIGNhbWJpb3MgY3V5YXMgbMOtbmVhcyBzb24gdG9kYXMgZW4gYmxhbmNvIgorCisjOiBkaWZmLmM6NTQyNQorbXNnaWQgImhldXJpc3RpYyB0byBzaGlmdCBkaWZmIGh1bmsgYm91bmRhcmllcyBmb3IgZWFzeSByZWFkaW5nIgorbXNnc3RyICJoZXVyw61zdGljYSBwYXJhIGNhbWJpYXIgbG9zIGzDrW1pdGVzIGRlIGh1bmsgcGFyYSB1bmEgZsOhY2lsIGxlY3R1cmEiCisKKyM6IGRpZmYuYzo1NDI4Cittc2dpZCAiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJwYXRpZW5jZSBkaWZmXCIgYWxnb3JpdGhtIgorbXNnc3RyICJnZW5lcmEgdW4gZGlmZiB1c2FuZG8gYWxnb3JpdG1vIFwicGF0aWVuY2UgZGlmZlwiIgorCisjOiBkaWZmLmM6NTQzMgorbXNnaWQgImdlbmVyYXRlIGRpZmYgdXNpbmcgdGhlIFwiaGlzdG9ncmFtIGRpZmZcIiBhbGdvcml0aG0iCittc2dzdHIgImdlbmVyYSB1biBkaWZmIHVzYW5kbyBhbGdvcml0bW8gXCJoaXN0b2dyYW0gZGlmZlwiIgorCisjOiBkaWZmLmM6NTQzNAorbXNnaWQgIjxhbGdvcml0aG0+IgorbXNnc3RyICI8YWxnb3JpdG1vPiIKKworIzogZGlmZi5jOjU0MzUKK21zZ2lkICJjaG9vc2UgYSBkaWZmIGFsZ29yaXRobSIKK21zZ3N0ciAiZXNjb2dlIHVuIGFsZ29yaXRtbyBwYXJhIGRpZmYiCisKKyM6IGRpZmYuYzo1NDM3Cittc2dpZCAiPHRleHQ+IgorbXNnc3RyICI8dGV4dG8+IgorCisjOiBkaWZmLmM6NTQzOAorbXNnaWQgImdlbmVyYXRlIGRpZmYgdXNpbmcgdGhlIFwiYW5jaG9yZWQgZGlmZlwiIGFsZ29yaXRobSIKK21zZ3N0ciAiZ2VuZXJhIHVuIGRpZmYgdXNhbmRvIGFsZ29yaXRtbyBcImFuY2hvcmVkIGRpZmZcIiIKKworIzogZGlmZi5jOjU0NDAgZGlmZi5jOjU0NDkgZGlmZi5jOjU0NTIKK21zZ2lkICI8bW9kZT4iCittc2dzdHIgIjxtb2RvPiIKKworIzogZGlmZi5jOjU0NDEKK21zZ2lkICJzaG93IHdvcmQgZGlmZiwgdXNpbmcgPG1vZGU+IHRvIGRlbGltaXQgY2hhbmdlZCB3b3JkcyIKK21zZ3N0ciAiIgorIm11ZXN0cmEgZGlmZiBwb3IgcGFsYWJyYXMgdXNhbmRvIDxtb2RvPiBwYXJhIGRlbGltaXRhciBsYXMgcGFsYWJyYXMgY2FtYmlhZGFzIgorCisjOiBkaWZmLmM6NTQ0MyBkaWZmLmM6NTQ0NiBkaWZmLmM6NTQ5MQorbXNnaWQgIjxyZWdleD4iCittc2dzdHIgIjxyZWdleD4iCisKKyM6IGRpZmYuYzo1NDQ0Cittc2dpZCAidXNlIDxyZWdleD4gdG8gZGVjaWRlIHdoYXQgYSB3b3JkIGlzIgorbXNnc3RyICJ1c2EgPHJlZ2V4PiBwYXJhIGRlY2lkaXIgcXVlIHBhbGFicmEgZXMiCisKKyM6IGRpZmYuYzo1NDQ3Cittc2dpZCAiZXF1aXZhbGVudCB0byAtLXdvcmQtZGlmZj1jb2xvciAtLXdvcmQtZGlmZi1yZWdleD08cmVnZXg+IgorbXNnc3RyICJlcXVpdmFsZW50ZSBhIC0td29yZC1kaWZmPWNvbG9yIC0td29yZC1kaWZmLXJlZ2V4PTxyZWdleD4iCisKKyM6IGRpZmYuYzo1NDUwCittc2dpZCAibW92ZWQgbGluZXMgb2YgY29kZSBhcmUgY29sb3JlZCBkaWZmZXJlbnRseSIKK21zZ3N0ciAibMOtbmVhcyBtb3ZpZGFzIGRlIGPDs2RpZ28gZXN0w6FuIGNvbG9yZWFkYXMgZGlmZXJlbnRlIgorCisjOiBkaWZmLmM6NTQ1MworbXNnaWQgImhvdyB3aGl0ZSBzcGFjZXMgYXJlIGlnbm9yZWQgaW4gLS1jb2xvci1tb3ZlZCIKK21zZ3N0ciAiY29tbyBlc3BhY2lvcyBlbiBibGFuY28gc29uIGlnbm9yYWRvcyBlbiAtLWNvbG9yLW1vdmVkIgorCisjOiBkaWZmLmM6NTQ1NgorbXNnaWQgIk90aGVyIGRpZmYgb3B0aW9ucyIKK21zZ3N0ciAiT3RyYXMgb3BjaW9uZXMgZGUgZGlmZiIKKworIzogZGlmZi5jOjU0NTgKK21zZ2lkICJ3aGVuIHJ1biBmcm9tIHN1YmRpciwgZXhjbHVkZSBjaGFuZ2VzIG91dHNpZGUgYW5kIHNob3cgcmVsYXRpdmUgcGF0aHMiCittc2dzdHIgIiIKKyJjdWFuZG8gZWplY3V0YWRvIGRlc2RlIHVuIHN1YmRpciwgZXhjbHV5ZSBjYW1iaW9zIGRlbCBleHRlcmlvciB5IG11ZXN0cmEgIgorInBhdGhzIHJlbGF0aXZvcyIKKworIzogZGlmZi5jOjU0NjIKK21zZ2lkICJ0cmVhdCBhbGwgZmlsZXMgYXMgdGV4dCIKK21zZ3N0ciAidHJhdGFyIHRvZG9zIGxvcyBhcmNoaXZvcyBjb21vIHRleHRvIgorCisjOiBkaWZmLmM6NTQ2NAorbXNnaWQgInN3YXAgdHdvIGlucHV0cywgcmV2ZXJzZSB0aGUgZGlmZiIKK21zZ3N0ciAiY2FtYmlhIGRvcyBpbnB1dHMsIGludmllcnRlIGVsIGRpZmYiCisKKyM6IGRpZmYuYzo1NDY2Cittc2dpZCAiZXhpdCB3aXRoIDEgaWYgdGhlcmUgd2VyZSBkaWZmZXJlbmNlcywgMCBvdGhlcndpc2UiCittc2dzdHIgInRlcm1pbmEgY29uIDEgc2kgaHViaWVyb24gZGlmZXJlbmNpYXMsIGRlIGxvIGNvbnRyYXJpbyBjb24gMCIKKworIzogZGlmZi5jOjU0NjgKK21zZ2lkICJkaXNhYmxlIGFsbCBvdXRwdXQgb2YgdGhlIHByb2dyYW0iCittc2dzdHIgImRlc2hhYmlsaXRhIHRvZG8gZWwgb3V0cHV0IGRlbCBwcm9ncmFtYSIKKworIzogZGlmZi5jOjU0NzAKK21zZ2lkICJhbGxvdyBhbiBleHRlcm5hbCBkaWZmIGhlbHBlciB0byBiZSBleGVjdXRlZCIKK21zZ3N0ciAicGVybWl0ZSBsYSBlamVjdWNpw7NuIGRlIHVuIGRpZmYgaGVscGVyIGV4dGVybm8iCisKKyM6IGRpZmYuYzo1NDcyCittc2dpZCAicnVuIGV4dGVybmFsIHRleHQgY29udmVyc2lvbiBmaWx0ZXJzIHdoZW4gY29tcGFyaW5nIGJpbmFyeSBmaWxlcyIKK21zZ3N0ciAiIgorImVqZWN1dGEgZmlsdHJvcyBkZSBjb252ZXJzacOzbiBkZSB0ZXh0byBleHRlcm5vcyBjdWFuZG8gY29tcGFyYW5kbyBiaW5hcmlvcyIKKworIzogZGlmZi5jOjU0NzQKK21zZ2lkICI8d2hlbj4iCittc2dzdHIgIjxjdWFuZG8+IgorCisjOiBkaWZmLmM6NTQ3NQorbXNnaWQgImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMgaW4gdGhlIGRpZmYgZ2VuZXJhdGlvbiIKK21zZ3N0ciAiaWdub3JhciBjYW1iaW9zIGEgc3VibcOzZHVsb3MgZW4gbGEgZ2VuZXJhY2nDs24gZGUgZGlmZiIKKworIzogZGlmZi5jOjU0NzgKK21zZ2lkICI8Zm9ybWF0PiIKK21zZ3N0ciAiPGZvcm1hdG8+IgorCisjOiBkaWZmLmM6NTQ3OQorbXNnaWQgInNwZWNpZnkgaG93IGRpZmZlcmVuY2VzIGluIHN1Ym1vZHVsZXMgYXJlIHNob3duIgorbXNnc3RyICJlc3BlY2lmaWNhIGNvbW8gc29uIG1vc3RyYWRhcyBsYXMgZGlmZXJlbmNpYXMgZW4gc3VibcOzZHVsb3MiCisKKyM6IGRpZmYuYzo1NDgzCittc2dpZCAiaGlkZSAnZ2l0IGFkZCAtTicgZW50cmllcyBmcm9tIHRoZSBpbmRleCIKK21zZ3N0ciAib2N1bHRhciBlbnRyYWRhcyAnZ2l0IGFkZCAtTicgZGVsIGluZGV4IgorCisjOiBkaWZmLmM6NTQ4NgorbXNnaWQgInRyZWF0ICdnaXQgYWRkIC1OJyBlbnRyaWVzIGFzIHJlYWwgaW4gdGhlIGluZGV4IgorbXNnc3RyICJ0cmF0YSBlbnRyYWRhcyAnZ2l0IGFkZCAtTicgY29tbyByZWFsZXMgZW4gZWwgaW5kZXgiCisKKyM6IGRpZmYuYzo1NDg4Cittc2dpZCAiPHN0cmluZz4iCittc2dzdHIgIjxzdHJpbmc+IgorCisjOiBkaWZmLmM6NTQ4OQorbXNnaWQgIiIKKyJsb29rIGZvciBkaWZmZXJlbmNlcyB0aGF0IGNoYW5nZSB0aGUgbnVtYmVyIG9mIG9jY3VycmVuY2VzIG9mIHRoZSBzcGVjaWZpZWQgIgorInN0cmluZyIKK21zZ3N0ciAiIgorImJ1c2NhIHBvciBkaWZlcmVuY2lhcyBxdWUgY2FtYmllbiBlbCBuw7ptZXJvIGRlIG9jdXJyZW5jaWFzIHBhcmEgZWwgc3RyaW5nICIKKyJlc3BlY2lmaWNhZG8iCisKKyM6IGRpZmYuYzo1NDkyCittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisicmVnZXgiCittc2dzdHIgIiIKKyJidXNjYSBwb3IgZGlmZXJlbmNpYXMgcXVlIGNhbWJpZW4gZWwgbsO6bWVybyBkZSBvY3VycmVuY2lhcyBwYXJhIGVsIHJlZ2V4ICIKKyJlc3BlY2lmaWNhZG8iCisKKyM6IGRpZmYuYzo1NDk1Cittc2dpZCAic2hvdyBhbGwgY2hhbmdlcyBpbiB0aGUgY2hhbmdlc2V0IHdpdGggLVMgb3IgLUciCittc2dzdHIgIm1vc3RyYXIgdG9kb3MgbG9zIGNhbWJpb3MgZW4gZWwgY2hhbmdlc2V0IGNvbiAtUyBvIC1HIgorCisjOiBkaWZmLmM6NTQ5OAorbXNnaWQgInRyZWF0IDxzdHJpbmc+IGluIC1TIGFzIGV4dGVuZGVkIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAidHJhdGFyIDxzdHJpbmc+IGVuIC1TIGNvbW8gdW5hIGV4cHJlc2nDs24gcmVndWxhciBleHRlbmRpZGEgZGUgUE9TSVgiCisKKyM6IGRpZmYuYzo1NTAxCittc2dpZCAiY29udHJvbCB0aGUgb3JkZXIgaW4gd2hpY2ggZmlsZXMgYXBwZWFyIGluIHRoZSBvdXRwdXQiCittc2dzdHIgImNvbnRyb2xhciBlbCBvcmRlbiBlbiBlbCBxdWUgbG9zIGFyY2hpdm9zIGFwYXJlY2VuIGVuIGxhIHNhbGlkYSIKKworIzogZGlmZi5jOjU1MDIKK21zZ2lkICI8b2JqZWN0LWlkPiIKK21zZ3N0ciAiPGlkLW9iamV0bz4iCisKKyM6IGRpZmYuYzo1NTAzCittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisib2JqZWN0IgorbXNnc3RyICIiCisiYnVzY2EgcG9yIGRpZmVyZW5jaWFzIHF1ZSBjYW1iaWVuIGVsIG7Dum1lcm8gZGUgb2N1cnJlbmNpYXMgcGFyYSBlbCBvYmpldG8gIgorImVzcGVjaWZpY2FkbyIKKworIzogZGlmZi5jOjU1MDUKK21zZ2lkICJbKEF8Q3xEfE18UnxUfFV8WHxCKS4uLlsqXV0iCittc2dzdHIgIlsoQXxDfER8TXxSfFR8VXxYfEIpLi4uWypdXSIKKworIzogZGlmZi5jOjU1MDYKK21zZ2lkICJzZWxlY3QgZmlsZXMgYnkgZGlmZiB0eXBlIgorbXNnc3RyICJzZWxlY2Npb25hIGFyY2hpdm9zIHBvciB0aXBvIGRlIGRpZmYiCisKKyM6IGRpZmYuYzo1NTA4Cittc2dpZCAiPGZpbGU+IgorbXNnc3RyICI8YXJjaGl2bz4iCisKKyM6IGRpZmYuYzo1NTA5Cittc2dpZCAiT3V0cHV0IHRvIGEgc3BlY2lmaWMgZmlsZSIKK21zZ3N0ciAiT3V0cHV0IGEgdW4gYXJjaGl2byBlc3BlY8OtZmljbyIKKworIzogZGlmZi5jOjYxNjQKIG1zZ2lkICJpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24gd2FzIHNraXBwZWQgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKIG1zZ3N0ciAiIgogImRldGVjY2nDs24gZGUgY2FtYmlvIGRlIG5vbWJyZSBpbmV4YWN0YSBmdWUgc2FsdGFkYSBwb3IgaGFiZXIgbXVjaG9zIGFyY2hpdm9zLiIKIAotIzogZGlmZi5jOjU4MjYKKyM6IGRpZmYuYzo2MTY3CiBtc2dpZCAib25seSBmb3VuZCBjb3BpZXMgZnJvbSBtb2RpZmllZCBwYXRocyBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgogbXNnc3RyICIiCiAic29sbyBzZSBlbmNvbnRyYXJvbiBjb3BpYXMgZGUgcnV0YXMgbW9kaWZpY2FkYXMgcG9yIGhhYmVyIG11Y2hvcyBhcmNoaXZvcy4iCiAKLSM6IGRpZmYuYzo1ODI5CisjOiBkaWZmLmM6NjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAieW91IG1heSB3YW50IHRvIHNldCB5b3VyICVzIHZhcmlhYmxlIHRvIGF0IGxlYXN0ICVkIGFuZCByZXRyeSB0aGUgY29tbWFuZC4iCiBtc2dzdHIgIiIKLSJ0YWwgdmV6IHF1aWVyYSBjb25maWd1cmFyIGxhIHZhcmlhYmxlICVzIHBhcmEgcG9yIGxvIG1lbm9zICVkIHkgdm9sdmVyIGEgIgorInRhbCB2ZXogcXVpZXJhcyBjb25maWd1cmFyIGxhIHZhcmlhYmxlICVzIHBhcmEgcG9yIGxvIG1lbm9zICVkIHkgdm9sdmVyIGEgIgogImludGVudGFyIGVsIGNvbWFuZG8uIgogCi0jOiBkaXIuYzo1NzYKKyM6IGRpci5jOjU1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGUocykga25vd24gdG8gZ2l0IgogbXNnc3RyICIiCiAicnV0YSBlc3BlY2lmaWNhZGEgJyVzJyBubyBjb25jb3Jkw7MgY29uIG5pbmfDum4gYXJjaGl2byhzKSBjb25vY2lkbyBwb3IgZ2l0IgogCi0jOiBkaXIuYzo5NjUKKyM6IGRpci5jOjY2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGF0dGVybjogJyVzJyIKK21zZ3N0ciAicGF0csOzbiBkZXNjb25vY2lkbzogJyVzJyIKKworIzogZGlyLmM6NjgyIGRpci5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgbmVnYXRpdmUgcGF0dGVybjogJyVzJyIKK21zZ3N0ciAicGF0csOzbiBuZWdhdGl2byBubyByZWNvbm9jaWRvOiAnJXMnIgorCisjOiBkaXIuYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBzcGFyc2UtY2hlY2tvdXQgZmlsZSBtYXkgaGF2ZSBpc3N1ZXM6IHBhdHRlcm4gJyVzJyBpcyByZXBlYXRlZCIKK21zZ3N0ciAiIgorInR1IGFyY2hpdm8gc3BhcnNlLWNoZWNrb3V0IHRhbCB2ZXogdGVuZ2EgZXJyb3JlczogcGF0csOzbiAnJXMnIGVzdMOhIHJlcGV0aWRvIgorCisjOiBkaXIuYzo3MjQKK21zZ2lkICJkaXNhYmxpbmcgY29uZSBwYXR0ZXJuIG1hdGNoaW5nIgorbXNnc3RyICJkZXNoYWJpbGl0YXIgY29pbmNpZGVuY2lhIGRlIHBhdHLDs25lcyBjb25vIgorCisjOiBkaXIuYzoxMTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB1c2UgJXMgYXMgYW4gZXhjbHVkZSBmaWxlIgogbXNnc3RyICJubyBzZSBwdWVkZSB1c2FyICVzIGNvbW8gYXJjaGl2byBkZSBleGNsdXNpw7NuIgogCi0jOiBkaXIuYzoxODgwCisjOiBkaXIuYzoyMDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJubyBzZSBwdWRvIGFicmlyIGVsIGRpcmVjdG9yaW8gJyVzJyIKIAotIzogZGlyLmM6MjEyMgorIzogZGlyLmM6MjQxNQogbXNnaWQgImZhaWxlZCB0byBnZXQga2VybmVsIG5hbWUgYW5kIGluZm9ybWF0aW9uIgogbXNnc3RyICJmYWxsw7MgYWwgY29uc2VndWlyIGxhIGluZm9ybWFjacOzbiB5IG5vbWJyZSBkZWwga2VybmVsIgogCi0jOiBkaXIuYzoyMjQ2CisjOiBkaXIuYzoyNTM5CiBtc2dpZCAidW50cmFja2VkIGNhY2hlIGlzIGRpc2FibGVkIG9uIHRoaXMgc3lzdGVtIG9yIGxvY2F0aW9uIgogbXNnc3RyICJ1bnRyYWNrZWQgY2FjaGUgZXN0w6EgZGVzYWN0aXZhZG8gZW4gZXN0ZSBzaXN0ZW1hIG8gdWJpY2FjacOzbiIKIAotIzogZGlyLmM6MzA0NworIzogZGlyLmM6MzM0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQgaW4gcmVwbyAlcyIKIG1zZ3N0ciAiYXJjaGl2byDDrW5kaWNlIGNvcnJvbXBpZG8gZW4gcmVwb3NpdG9yaW8gJXMiCiAKLSM6IGRpci5jOjMwOTIgZGlyLmM6MzA5NworIzogZGlyLmM6MzM4OCBkaXIuYzozMzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3JpZXMgZm9yICVzIgogbXNnc3RyICJubyBzZSBwdWRvIGNyZWFyIGRpcmVjdG9yaW9zIHBhcmEgJXMiCiAKLSM6IGRpci5jOjMxMjYKKyM6IGRpci5jOjM0MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG1pZ3JhdGUgZ2l0IGRpcmVjdG9yeSBmcm9tICclcycgdG8gJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBtaWdyYXIgZWwgZGlyZWN0b3JpbyBnaXQgZGUgJyVzJyBhICclcyciCkBAIC0yMzQxLDI5NyArMzUwNSwyOTAgQEAKIG1zZ2lkICJGaWx0ZXJpbmcgY29udGVudCIKIG1zZ3N0ciAiRmlsdHJhbmRvIGNvbnRlbmlkbyIKIAotIzogZW50cnkuYzo0NjUKKyM6IGVudHJ5LmM6NDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGF0IGZpbGUgJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBlc3RhYmxlY2VyIGVsIGFyY2hpdm8gJyVzJyIKIAotIzogZW52aXJvbm1lbnQuYzoxNTAKKyM6IGVudmlyb25tZW50LmM6MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBnaXQgbmFtZXNwYWNlIHBhdGggXCIlc1wiIgogbXNnc3RyICJydXRhIGRlIG5hbWVzcGFjZSBkZSBnaXQgbWFsYSBcIiVzXCIiCiAKLSM6IGVudmlyb25tZW50LmM6MzMyCisjOiBlbnZpcm9ubWVudC5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc2V0IEdJVF9ESVIgdG8gJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBjb25maWd1cmFyIEdJVF9ESVIgYSAnJXMnIgogCi0jOiBleGVjLWNtZC5jOjM2MQorIzogZXhlYy1jbWQuYzozNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidG9vIG1hbnkgYXJncyB0byBydW4gJXMiCiBtc2dzdHIgImRlbWFzaWFkb3MgYXJndW1lbnRvcyBwYXJhIGNvcnJlciAlcyIKIAotIzogZmV0Y2gtb2JqZWN0LmM6MTcKLW1zZ2lkICJSZW1vdGUgd2l0aCBubyBVUkwiCi1tc2dzdHIgIlJlbW90byBzaW4gVVJMIgotCi0jOiBmZXRjaC1wYWNrLmM6MTUxCisjOiBmZXRjaC1wYWNrLmM6MTUwCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGxpc3RhIHBvY28gcHJvZnVuZGEgZXNwZXJhZGEiCiAKLSM6IGZldGNoLXBhY2suYzoxNjMKKyM6IGZldGNoLXBhY2suYzoxNTMKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgYSBmbHVzaCBwYWNrZXQgYWZ0ZXIgc2hhbGxvdyBsaXN0IgorbXNnc3RyICIiCisiZ2l0IGZldGNoLXBhY2s6IHNlIGVzcGVyYWJhIHVuIGZsdXNoIHBhY2tldCBsdWVnbyBkZSBsYSBsaXN0YSBzdXBlcmZpY2lhbCIKKworIzogZmV0Y2gtcGFjay5jOjE2NAogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgYSBmbHVzaCBwYWNrZXQiCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrOiBzZSBlc3BlcmFiYSBBQ0svTkFLLCBzZSBvYnR1dm8gdW4gZmx1c2ggcGFja2V0IgogCi0jOiBmZXRjaC1wYWNrLmM6MTgzCisjOiBmZXRjaC1wYWNrLmM6MTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgJyVzJyIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IHNlIGVzcGVyYWJhIEFDSy9OQUssIHNlIG9idHV2byAnJXMnIgogCi0jOiBmZXRjaC1wYWNrLmM6MjUzCisjOiBmZXRjaC1wYWNrLmM6MTk1Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRvIHJlbW90ZSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZXNjcmliaXIgYWwgcmVtb3RvIgorCisjOiBmZXRjaC1wYWNrLmM6MjU3CiBtc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKIG1zZ3N0ciAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpZXJlIG11bHRpX2Fja19kZXRhaWxlZCIKIAotIzogZmV0Y2gtcGFjay5jOjM0NyBmZXRjaC1wYWNrLmM6MTI3NworIzogZmV0Y2gtcGFjay5jOjM1NiBmZXRjaC1wYWNrLmM6MTM0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNoYWxsb3cgbGluZTogJXMiCiBtc2dzdHIgImzDrW5lYSBwb2NvIHByb2Z1bmRhIGludsOhbGlkYTogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozNTMgZmV0Y2gtcGFjay5jOjEyODMKKyM6IGZldGNoLXBhY2suYzozNjIgZmV0Y2gtcGFjay5jOjEzNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1bnNoYWxsb3cgbGluZTogJXMiCiBtc2dzdHIgImzDrW5lYSBzdXBlcmZpY2lhbCBpbnbDoWxpZGE6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzU1IGZldGNoLXBhY2suYzoxMjg1CisjOiBmZXRjaC1wYWNrLmM6MzY0IGZldGNoLXBhY2suYzoxMzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBub3QgZm91bmQ6ICVzIgogbXNnc3RyICJvYmpldG8gbm8gZW5jb250cmFkbzogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozNTggZmV0Y2gtcGFjay5jOjEyODgKKyM6IGZldGNoLXBhY2suYzozNjcgZmV0Y2gtcGFjay5jOjEzNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW4gb2JqZWN0OiAlcyIKIG1zZ3N0ciAiZXJyb3IgZW4gb2JqZXRvOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM2MCBmZXRjaC1wYWNrLmM6MTI5MAorIzogZmV0Y2gtcGFjay5jOjM2OSBmZXRjaC1wYWNrLmM6MTM1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzaGFsbG93IGZvdW5kOiAlcyIKIG1zZ3N0ciAic3VwZXJmaWNpZSBubyBlbmNvbnRyYWRhOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM2MyBmZXRjaC1wYWNrLmM6MTI5MworIzogZmV0Y2gtcGFjay5jOjM3MiBmZXRjaC1wYWNrLmM6MTM1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBzaGFsbG93L3Vuc2hhbGxvdywgZ290ICVzIgogbXNnc3RyICJzZSBlc3BlcmFiYSBzaGFsbG93L3Vuc2hhbGxvdywgc2Ugb2J0dXZvICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDA0CisjOiBmZXRjaC1wYWNrLmM6NDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImdvdCAlcyAlZCAlcyIKIG1zZ3N0ciAic2Ugb2J0dXZvICVzICVkICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDIxCisjOiBmZXRjaC1wYWNrLmM6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29tbWl0ICVzIgogbXNnc3RyICJjb21taXQgaW52w6FsaWRvICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDUyCisjOiBmZXRjaC1wYWNrLmM6NDYyCiBtc2dpZCAiZ2l2aW5nIHVwIgogbXNnc3RyICJyaW5kacOpbmRvc2UiCiAKLSM6IGZldGNoLXBhY2suYzo0NjQgcHJvZ3Jlc3MuYzoyMjkKKyM6IGZldGNoLXBhY2suYzo0NzUgcHJvZ3Jlc3MuYzozMjMKIG1zZ2lkICJkb25lIgogbXNnc3RyICJsaXN0byIKIAotIzogZmV0Y2gtcGFjay5jOjQ3NgorIzogZmV0Y2gtcGFjay5jOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJnb3QgJXMgKCVkKSAlcyIKIG1zZ3N0ciAic2Ugb2J0dXZvICVzICglZCkgJXMiCiAKLSM6IGZldGNoLXBhY2suYzo1MjIKKyM6IGZldGNoLXBhY2suYzo1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFya2luZyAlcyBhcyBjb21wbGV0ZSIKIG1zZ3N0ciAiTWFyY2FuZG8gJXMgY29tbyBjb21wbGV0YSIKIAotIzogZmV0Y2gtcGFjay5jOjc2NAorIzogZmV0Y2gtcGFjay5jOjc1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJhbHJlYWR5IGhhdmUgJXMgKCVzKSIKIG1zZ3N0ciAieWEgc2UgdGllbmUgJXMgKCVzKSIKIAotIzogZmV0Y2gtcGFjay5jOjgwMworIzogZmV0Y2gtcGFjay5jOjgxOAogbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgogbXNnc3RyICJmZXRjaC1wYWNrOiBubyBzZSBwdWVkZSBleHRyYWVyIHVuIGRlbXVsdGlwbGV4b3IgZGUgYmFuZGEgbGF0ZXJhbCIKIAotIzogZmV0Y2gtcGFjay5jOjgxMQorIzogZmV0Y2gtcGFjay5jOjgyNgogbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgcGFjayBoZWFkZXIiCiBtc2dzdHIgImVycm9yIGRlIHByb3RvY29sbzogcGFxdWV0ZSBkZSBoZWFkZXIgZXJyw7NuZW8iCiAKLSM6IGZldGNoLXBhY2suYzo4NzkKKyM6IGZldGNoLXBhY2suYzo5MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmICVzIgogbXNnc3RyICJmZXRjaC1wYWNrOiBubyBzZSBwdWVkZSBxdWl0YXIgJXMiCiAKLSM6IGZldGNoLXBhY2suYzo4OTUKKyM6IGZldGNoLXBhY2suYzo5MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZmFpbGVkIgogbXNnc3RyICIlcyBmYWxsw7MiCiAKLSM6IGZldGNoLXBhY2suYzo4OTcKKyM6IGZldGNoLXBhY2suYzo5MTgKIG1zZ2lkICJlcnJvciBpbiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgogbXNnc3RyICJlcnJvciBlbiBkZW11bHRpcGxleG9yIGRlIGJhbmRhIGxhdGVyYWwiCiAKLSM6IGZldGNoLXBhY2suYzo5MjYKLW1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNsaWVudHMiCi1tc2dzdHIgIkVsIHNlcnZpZG9yIG5vIHNvcG9ydGEgY2xpZW50ZXMgc3VwZXJmaWNpYWxlcyIKLQotIzogZmV0Y2gtcGFjay5jOjkzMAotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2tfZGV0YWlsZWQiCi1tc2dzdHIgIkVsIHNlcnZpZG9yIHNvcG9ydGEgdWx0aV9hY2tfZGV0YWlsZWQiCi0KLSM6IGZldGNoLXBhY2suYzo5MzMKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbm8tZG9uZSIKLW1zZ3N0ciAiRWwgc2Vydmlkb3Igc29wb3J0YSBuby1kb25lIgotCi0jOiBmZXRjaC1wYWNrLmM6OTM5Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2FjayIKLW1zZ3N0ciAiRWwgc2Vydmlkb3Igc29wb3J0YSBtdWx0aV9hY2siCi0KLSM6IGZldGNoLXBhY2suYzo5NDMKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kLTY0ayIKLW1zZ3N0ciAiRWwgc2Vydmlkb3Igc29wb3J0YSBzaWRlLWJhbmQtNjRrIgotCi0jOiBmZXRjaC1wYWNrLmM6OTQ3Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZCIKLW1zZ3N0ciAiRWwgc2Vydmlkb3Igc29wb3J0YSBzaWRlLWJhbmQiCi0KLSM6IGZldGNoLXBhY2suYzo5NTEKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctdGlwLXNoYTEtaW4td2FudCIKLW1zZ3N0ciAiRWwgc2Vydmlkb3Igc29wb3J0YSBhbGxvdy10aXAtc2hhMS1pbi13YW50IgotCi0jOiBmZXRjaC1wYWNrLmM6OTU1Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCi1tc2dzdHIgIkVsIHNlcnZpZG9yIHNvcG9ydGEgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKLQogIzogZmV0Y2gtcGFjay5jOjk2NQotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBvZnMtZGVsdGEiCi1tc2dzdHIgIkVsIHNlcnZpZG9yIHNvcG9ydGEgb2ZzLWRlbHRhIgotCi0jOiBmZXRjaC1wYWNrLmM6OTcxIGZldGNoLXBhY2suYzoxMTU4Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIGZpbHRlciIKLW1zZ3N0ciAiRWwgc2Vydmlkb3Igc29wb3J0YSBmaWx0cm8iCi0KLSM6IGZldGNoLXBhY2suYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VydmVyIHZlcnNpb24gaXMgJS4qcyIKIG1zZ3N0ciAiVmVyc2nDs24gZGUgc2Vydmlkb3IgZXMgJS4qcyIKIAotIzogZmV0Y2gtcGFjay5jOjk4NQorIzogZmV0Y2gtcGFjay5jOjk3MCBmZXRjaC1wYWNrLmM6OTc2IGZldGNoLXBhY2suYzo5NzkgZmV0Y2gtcGFjay5jOjk4NQorIzogZmV0Y2gtcGFjay5jOjk4OSBmZXRjaC1wYWNrLmM6OTkzIGZldGNoLXBhY2suYzo5OTcgZmV0Y2gtcGFjay5jOjEwMDEKKyM6IGZldGNoLXBhY2suYzoxMDA1IGZldGNoLXBhY2suYzoxMDA5IGZldGNoLXBhY2suYzoxMDEzIGZldGNoLXBhY2suYzoxMDE3CisjOiBmZXRjaC1wYWNrLmM6MTAyMyBmZXRjaC1wYWNrLmM6MTAyOSBmZXRjaC1wYWNrLmM6MTAzNCBmZXRjaC1wYWNrLmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgJXMiCittc2dzdHIgIkVsIHNlcnZpZG9yIHNvcG9ydGEgJXMiCisKKyM6IGZldGNoLXBhY2suYzo5NzIKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNsaWVudHMiCittc2dzdHIgIkVsIHNlcnZpZG9yIG5vIHNvcG9ydGEgY2xpZW50ZXMgc3VwZXJmaWNpYWxlcyIKKworIzogZmV0Y2gtcGFjay5jOjEwMzIKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctc2luY2UiCiBtc2dzdHIgIkVsIHNlcnZpZG9yIG5vIHNvcG9ydGEgLS1zaGFsb3ctc2luY2UiCiAKLSM6IGZldGNoLXBhY2suYzo5ODkKKyM6IGZldGNoLXBhY2suYzoxMDM3CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LWV4Y2x1ZGUiCiBtc2dzdHIgIkVsIHNlcnZpZG9yIG5vIHNvcG9ydGEgLS1zaGFsb3ctZXhjbHVkZSIKIAotIzogZmV0Y2gtcGFjay5jOjk5MQorIzogZmV0Y2gtcGFjay5jOjEwNDEKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLWRlZXBlbiIKIG1zZ3N0ciAiRWwgc2Vydmlkb3Igbm8gc29wb3J0YSAtLWRlZXBlbiIKIAotIzogZmV0Y2gtcGFjay5jOjEwMDgKKyM6IGZldGNoLXBhY2suYzoxMDU4CiBtc2dpZCAibm8gY29tbW9uIGNvbW1pdHMiCiBtc2dzdHIgIm5vIGhheSBjb21taXRzIGNvbXVuZXMiCiAKLSM6IGZldGNoLXBhY2suYzoxMDIwIGZldGNoLXBhY2suYzoxNDE4CisjOiBmZXRjaC1wYWNrLmM6MTA3MCBmZXRjaC1wYWNrLmM6MTUzNgogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBmZXRjaCBmYWlsZWQuIgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogZmV0Y2ggZmFsbMOzLiIKIAotIzogZmV0Y2gtcGFjay5jOjExNTMKKyM6IGZldGNoLXBhY2suYzoxMjA5CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyByZXF1ZXN0cyIKIG1zZ3N0ciAiRWwgc2Vydmlkb3Igbm8gc29wb3J0YSBwZXRpY2lvbmVzIHN1cGVyZmljaWFsZXMiCiAKLSM6IGZldGNoLXBhY2suYzoxMTk5CisjOiBmZXRjaC1wYWNrLmM6MTIxNgorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBmaWx0ZXIiCittc2dzdHIgIkVsIHNlcnZpZG9yIHNvcG9ydGEgZmlsdHJvIgorCisjOiBmZXRjaC1wYWNrLmM6MTIzOQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSByZXF1ZXN0IHRvIHJlbW90ZSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZXNjcmliaXIgcmVxdWVzdCBhbCByZW1vdG8iCisKKyM6IGZldGNoLXBhY2suYzoxMjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHJlYWRpbmcgc2VjdGlvbiBoZWFkZXIgJyVzJyIKIG1zZ3N0ciAiZXJyb3IgbGV5ZW5kbyBzZWNjacOzbiBoZWFkZXIgJyVzJyIKIAotIzogZmV0Y2gtcGFjay5jOjEyMDUKKyM6IGZldGNoLXBhY2suYzoxMjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkICclcycsIHJlY2VpdmVkICclcyciCiBtc2dzdHIgInNlIGVzcGVyYWJhICclcycsIHNlIHJlY2liacOzICclcyciCiAKLSM6IGZldGNoLXBhY2suYzoxMjQ0CisjOiBmZXRjaC1wYWNrLmM6MTMwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFja25vd2xlZGdtZW50IGxpbmU6ICclcyciCi1tc2dzdHIgImxpbmVhIGRlIGNvbmZpcm1hY2nDs24gaW5lc3BlcmFkYTogJyVzJyIKK21zZ3N0ciAibMOtbmVhIGRlIGNvbmZpcm1hY2nDs24gaW5lc3BlcmFkYTogJyVzJyIKIAotIzogZmV0Y2gtcGFjay5jOjEyNDkKKyM6IGZldGNoLXBhY2suYzoxMzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHByb2Nlc3NpbmcgYWNrczogJWQiCiBtc2dzdHIgImVycm9yIHByb2Nlc2FuZG8gYWNrczogJWQiCiAKLSM6IGZldGNoLXBhY2suYzoxMjU5CisjOiBmZXRjaC1wYWNrLmM6MTMxOAogbXNnaWQgImV4cGVjdGVkIHBhY2tmaWxlIHRvIGJlIHNlbnQgYWZ0ZXIgJ3JlYWR5JyIKIG1zZ3N0ciAiZXNwZXJlIHF1ZSBlbCBwYWNrZmlsZSBzZWEgbWFuZGFkbyBsdWVnbyBkZWwgJ2xpc3RvJyIKIAotIzogZmV0Y2gtcGFjay5jOjEyNjEKKyM6IGZldGNoLXBhY2suYzoxMzIwCiBtc2dpZCAiZXhwZWN0ZWQgbm8gb3RoZXIgc2VjdGlvbnMgdG8gYmUgc2VudCBhZnRlciBubyAncmVhZHknIgogbXNnc3RyICJlc3BlcmUgcXVlIG5pbmd1bmEgb3RyYSBzZWNjacOzbiBzZWEgZW52aWFkYSBsdWVnbyBkZWwgJ2xpc3RvJyIKIAotIzogZmV0Y2gtcGFjay5jOjEyOTgKKyM6IGZldGNoLXBhY2suYzoxMzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHByb2Nlc3Npbmcgc2hhbGxvdyBpbmZvOiAlZCIKIG1zZ3N0ciAiZXJyb3IgcHJvY2VzYW5kbyBpbmZvcm1hY2nDs24gc3VwZXJmaWNpYWw6ICVkIgogCi0jOiBmZXRjaC1wYWNrLmM6MTMxNAorIzogZmV0Y2gtcGFjay5jOjE0MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgd2FudGVkLXJlZiwgZ290ICclcyciCiBtc2dzdHIgInNlIGVzcGVyYWJhIHdhbnRlZC1yZWYsIHNlIG9idHV2byAnJXMnIgogCi0jOiBmZXRjaC1wYWNrLmM6MTMyNAorIzogZmV0Y2gtcGFjay5jOjE0MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB3YW50ZWQtcmVmOiAnJXMnIgogbXNnc3RyICJ3YW50ZWQtcmVmIGluZXNwZXJhZG86ICclcyciCiAKLSM6IGZldGNoLXBhY2suYzoxMzI4CisjOiBmZXRjaC1wYWNrLmM6MTQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBwcm9jZXNzaW5nIHdhbnRlZCByZWZzOiAlZCIKIG1zZ3N0ciAiZXJyb3IgcHJvY2VzYW5kbyByZWZzIGRlc2VhZGFzOiAlZCIKIAotIzogZmV0Y2gtcGFjay5jOjE2NDIKKyM6IGZldGNoLXBhY2suYzoxNzYyCiBtc2dpZCAibm8gbWF0Y2hpbmcgcmVtb3RlIGhlYWQiCiBtc2dzdHIgIm5vIGNvbmN1ZXJkYSBlbCBoZWFkIHJlbW90byIKIAotIzogZmV0Y2gtcGFjay5jOjE2NjAgYnVpbHRpbi9jbG9uZS5jOjY2NAorIzogZmV0Y2gtcGFjay5jOjE3ODUgYnVpbHRpbi9jbG9uZS5jOjY4OAogbXNnaWQgInJlbW90ZSBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzIgogbXNnc3RyICJyZW1vdG8gbm8gbWFuZG8gdG9kb3MgbG9zIG9iamV0b3MgbmVjZXNhcmlvcyIKIAotIzogZmV0Y2gtcGFjay5jOjE2ODYKKyM6IGZldGNoLXBhY2suYzoxODEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcmVtb3RlIHJlZiAlcyIKIG1zZ3N0ciAibm8gZXhpc3RlIHJlZiByZW1vdGEgJXMiCiAKLSM6IGZldGNoLXBhY2suYzoxNjg5CisjOiBmZXRjaC1wYWNrLmM6MTgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3QgYWxsb3cgcmVxdWVzdCBmb3IgdW5hZHZlcnRpc2VkIG9iamVjdCAlcyIKIG1zZ3N0ciAiRWwgc2Vydmlkb3Igbm8gcGVybWl0ZSBzb2xpY2l0dWRlcyBkZSBvYmpldG9zIGluYWR2ZXJ0aWRvcyAlcyIKIAotIzogZ3BnLWludGVyZmFjZS5jOjMxOAotbXNnaWQgImdwZyBmYWlsZWQgdG8gc2lnbiB0aGUgZGF0YSIKLW1zZ3N0ciAiZ3BnIGZhbGzDsyBhbCBmaXJtYXIgbGEgZGF0YSIKLQotIzogZ3BnLWludGVyZmFjZS5jOjM0NAorIzogZ3BnLWludGVyZmFjZS5jOjIyMwogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gY3JlYXIgYXJjaGl2byB0ZW1wb3JhbCIKIAotIzogZ3BnLWludGVyZmFjZS5jOjM0NworIzogZ3BnLWludGVyZmFjZS5jOjIyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgd3JpdGluZyBkZXRhY2hlZCBzaWduYXR1cmUgdG8gJyVzJyIKIG1zZ3N0ciAiZmFsbMOzIGFsIGVzY3JpYmlyIGxhIGZpcm1hIHNlcGFyYWRhIHBhcmEgJyVzJyIKIAotIzogZ3JhcGguYzo5NworIzogZ3BnLWludGVyZmFjZS5jOjM5MAorbXNnaWQgImdwZyBmYWlsZWQgdG8gc2lnbiB0aGUgZGF0YSIKK21zZ3N0ciAiZ3BnIGZhbGzDsyBhbCBmaXJtYXIgbGEgZGF0YSIKKworIzogZ3JhcGguYzo5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmUgaW52YWxpZCBjb2xvciAnJS4qcycgaW4gbG9nLmdyYXBoQ29sb3JzIgogbXNnc3RyICJpZ25vcmEgY29sb3IgaW52w6FsaWRvICclLipzJyBlbiBsb2cuZ3JhcGhDb2xvcnMiCiAKLSM6IGdyZXAuYzoyMTEzCisjOiBncmVwLmM6NjY4Cittc2dpZCAiIgorImdpdmVuIHBhdHRlcm4gY29udGFpbnMgTlVMTCBieXRlICh2aWEgLWYgPGZpbGU+KS4gVGhpcyBpcyBvbmx5IHN1cHBvcnRlZCAiCisid2l0aCAtUCB1bmRlciBQQ1JFIHYyIgorbXNnc3RyICIiCisiZWwgcGF0csOzbiBwcm92aXN0byBjb250aWVuZSBieXRlcyBOVUxMICh2aWEgLWYgPGFyY2hpdm8+KS4gRXN0byBzb2xvIGVzICIKKyJzb3BvcnRhZG8gY29uIC1QIGJham8gUENSRSB2MiIKKworIzogZ3JlcC5jOjIxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIiclcyc6IG5vIGVzIHBvc2libGUgbGVlciAlcyIKIAotIzogZ3JlcC5jOjIxMzAgc2V0dXAuYzoxNjQgYnVpbHRpbi9jbG9uZS5jOjQxMCBidWlsdGluL2RpZmYuYzo4MQotIzogYnVpbHRpbi9ybS5jOjEzNAorIzogZ3JlcC5jOjIxNDEgc2V0dXAuYzoxNjUgYnVpbHRpbi9jbG9uZS5jOjQxMSBidWlsdGluL2RpZmYuYzo4MgorIzogYnVpbHRpbi9ybS5jOjEzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgogbXNnc3RyICJmYWxsw7MgYWwgbWFyY2FyICclcyciCiAKLSM6IGdyZXAuYzoyMTQxCisjOiBncmVwLmM6MjE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBzaG9ydCByZWFkIgogbXNnc3RyICInJXMnOiBsZWN0dXJhIGNvcnRhIgpAQCAtMjY4MSw4MSArMzgzOCw4MSBAQAogbXNnc3RyICJDb21hbmRvcyBkZSBiYWpvIG5pdmVsIC8gSW50ZXJyb2dhZG9yZXMiCiAKICM6IGhlbHAuYzozNwotbXNnaWQgIkxvdy1sZXZlbCBDb21tYW5kcyAvIFN5bmNoaW5nIFJlcG9zaXRvcmllcyIKK21zZ2lkICJMb3ctbGV2ZWwgQ29tbWFuZHMgLyBTeW5jaW5nIFJlcG9zaXRvcmllcyIKIG1zZ3N0ciAiQ29tYW5kb3MgZGUgYmFqbyBuaXZlbCAvIFNpbmNyb25pemFjacOzbiBkZSByZXBvc2l0b3Jpb3MiCiAKICM6IGhlbHAuYzozOAogbXNnaWQgIkxvdy1sZXZlbCBDb21tYW5kcyAvIEludGVybmFsIEhlbHBlcnMiCiBtc2dzdHIgIkNvbWFuZG9zIGRlIGJham8gbml2ZWwgLyBBdXhpbGlhcmVzIGludGVybm9zIgogCi0jOiBoZWxwLmM6Mjk2CisjOiBoZWxwLmM6Mjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImF2YWlsYWJsZSBnaXQgY29tbWFuZHMgaW4gJyVzJyIKIG1zZ3N0ciAiY29tYW5kb3MgZGlzcG9uaWJsZXMgZGUgZ2l0IGVuICclcyciCiAKLSM6IGhlbHAuYzozMDMKKyM6IGhlbHAuYzozMDUKIG1zZ2lkICJnaXQgY29tbWFuZHMgYXZhaWxhYmxlIGZyb20gZWxzZXdoZXJlIG9uIHlvdXIgJFBBVEgiCiBtc2dzdHIgImNvbWFuZG9zIGRpc3BvbmlibGVzIGRlIGdpdCBkZXNkZSBvdHJvIGx1Z2FyIGVuIHR1ICRQQVRIIgogCi0jOiBoZWxwLmM6MzEyCisjOiBoZWxwLmM6MzE0CiBtc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgogbXNnc3RyICJFc3RvcyBzb24gY29tYW5kb3MgY29tdW5lcyBkZSBHaXQgdXNhZG9zIGVuIHZhcmlhcyBzaXR1YWNpb25lczoiCiAKLSM6IGhlbHAuYzozNjEgZ2l0LmM6OTAKKyM6IGhlbHAuYzozNjMgZ2l0LmM6OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCBsaXN0aW5nIHR5cGUgJyVzJyIKIG1zZ3N0ciAiY29tYW5kbyBkZSBsaXN0YWRvIGRlIHRpcG9zIG5vIHNvcG9ydGFkbyAnJXMnIgogCi0jOiBoZWxwLmM6NDA4CisjOiBoZWxwLmM6NDAzCiBtc2dpZCAiVGhlIGNvbW1vbiBHaXQgZ3VpZGVzIGFyZToiCiBtc2dzdHIgIkxhcyBndcOtYXMgY29tdW5lcyBkZSBHaXQgc29uOiIKIAotIzogaGVscC5jOjUxNworIzogaGVscC5jOjUxMgogbXNnaWQgIlNlZSAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyB0byByZWFkIGFib3V0IGEgc3BlY2lmaWMgc3ViY29tbWFuZCIKIG1zZ3N0ciAiVmVhICdnaXQgaGVscCA8Y29tYW5kbz4nIHBhcmEgbGVlciBzb2JyZSBsb3Mgc3ViY29tYW5kb3MgZXNwZWPDrWZpY29zIgogCi0jOiBoZWxwLmM6NTIyCisjOiBoZWxwLmM6NTE3CiBtc2dpZCAiRXh0ZXJuYWwgY29tbWFuZHMiCiBtc2dzdHIgIkNvbWFuZG9zIGV4dGVybm9zIgogCi0jOiBoZWxwLmM6NTMwCisjOiBoZWxwLmM6NTMyCiBtc2dpZCAiQ29tbWFuZCBhbGlhc2VzIgogbXNnc3RyICJBbGlhc2VzIGRlIGNvbWFuZG8iCiAKLSM6IGhlbHAuYzo1OTQKKyM6IGhlbHAuYzo1OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgYXBwZWFycyB0byBiZSBhIGdpdCBjb21tYW5kLCBidXQgd2Ugd2VyZSBub3RcbiIKICJhYmxlIHRvIGV4ZWN1dGUgaXQuIE1heWJlIGdpdC0lcyBpcyBicm9rZW4/IgogbXNnc3RyICIiCiAiJyVzJyBwYXJlY2Ugc2VyIHVuIGNvbWFuZG8gZGUgZ2l0LCBwZXJvIG5vIGhlbW9zXG4iCi0icG9kaWRvIGVqZWN1dGFybG8uIFRhbCB2ZXogZ2l0LSVzIHNlIGhhIHJvdG8/IgorInBvZGlkbyBlamVjdXRhcmxvLiDCv1RhbCB2ZXogZ2l0LSVzIHNlIGhhIHJvdG8/IgogCi0jOiBoZWxwLmM6NjUzCisjOiBoZWxwLmM6NjU1CiBtc2dpZCAiVWggb2guIFlvdXIgc3lzdGVtIHJlcG9ydHMgbm8gR2l0IGNvbW1hbmRzIGF0IGFsbC4iCiBtc2dzdHIgIk9oIG9oLiBUdSBzaXN0ZW1hIG5vIHJlcG9ydGEgbmluZ8O6biBjb21hbmRvIGRlIEdpdC4iCiAKLSM6IGhlbHAuYzo2NzUKKyM6IGhlbHAuYzo2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiV0FSTklORzogWW91IGNhbGxlZCBhIEdpdCBjb21tYW5kIG5hbWVkICclcycsIHdoaWNoIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAiUEVMSUdSTzogSGFzIGxsYW1hZG8gYSB1biBjb21hbmRvIGRlIEdpdCAnJXMnLCBlbCBjdWFsIG5vIGV4aXN0ZS4iCiAKLSM6IGhlbHAuYzo2ODAKKyM6IGhlbHAuYzo2ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29udGludWluZyB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHlvdSBtZWFudCAnJXMnLiIKIG1zZ3N0ciAiQ29udGludWFuZG8gYXN1bWllbmRvIHF1ZSBxdWlzaXN0ZSBkZWNpciAnJXMnLiIKIAotIzogaGVscC5jOjY4NQorIzogaGVscC5jOjY4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb250aW51aW5nIGluICUwLjFmIHNlY29uZHMsIGFzc3VtaW5nIHRoYXQgeW91IG1lYW50ICclcycuIgogbXNnc3RyICJDb250aW51YW5kbyBlbiAlMC4xZiBzZWd1bmRvcywgYXN1bWllbmRvIHF1ZSB0dSBkaWppc3RlICclcycuIgogCi0jOiBoZWxwLmM6NjkzCisjOiBoZWxwLmM6Njk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdDogJyVzJyBpcyBub3QgYSBnaXQgY29tbWFuZC4gU2VlICdnaXQgLS1oZWxwJy4iCiBtc2dzdHIgImdpdDogJyVzJ25vIGVzIHVuIGNvbWFuZG8gZGUgZ2l0LiBNaXJhICdnaXQgLS1oZWxwJy4iCiAKLSM6IGhlbHAuYzo2OTcKKyM6IGhlbHAuYzo2OTkKIG1zZ2lkICIiCiAiXG4iCiAiVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kIGlzIgpAQCAtMjc2NCwyMSArMzkyMSwyMSBAQAogIlRoZSBtb3N0IHNpbWlsYXIgY29tbWFuZHMgYXJlIgogbXNnc3RyWzBdICIiCiAiXG4iCi0iRWwgY29tYW5kbyBtYXMgc2ltaWxhciBlcyIKKyJFbCBjb21hbmRvIG3DoXMgc2ltaWxhciBlcyIKIG1zZ3N0clsxXSAiIgogIlxuIgotIkxvcyBjb21hbmRvcyBtYXMgc2ltaWxhcmVzIHNvbiIKKyJMb3MgY29tYW5kb3MgbcOhcyBzaW1pbGFyZXMgc29uIgogCi0jOiBoZWxwLmM6NzEyCisjOiBoZWxwLmM6NzE0CiBtc2dpZCAiZ2l0IHZlcnNpb24gWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCB2ZXJzacOzbiBbPG9wY2lvbmVzPl0iCiAKLSM6IGhlbHAuYzo3ODAKKyM6IGhlbHAuYzo3ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIC0gJXMiCiBtc2dzdHIgIiVzOiAlcyAtICVzIgogCi0jOiBoZWxwLmM6Nzg0CisjOiBoZWxwLmM6Nzg3CiBtc2dpZCAiIgogIlxuIgogIkRpZCB5b3UgbWVhbiB0aGlzPyIKQEAgLTI3OTIsNyArMzk0OSw3IEBACiAiXG4iCiAiwr9RdWlzaXN0ZSBkZWNpciBhbGd1bm8gZGUgZXN0b3M/IgogCi0jOiBpZGVudC5jOjM0NQorIzogaWRlbnQuYzozNDkKIG1zZ2lkICIiCiAiXG4iCiAiKioqIFBsZWFzZSB0ZWxsIG1lIHdobyB5b3UgYXJlLlxuIgpAQCAtMjgxOCw1MCArMzk3NSw4OSBAQAogIk9taXRlIC0tZ2xvYmFsIHBhcmEgY29uZmlndXJhciB0dSBpZGVudGlkYWQgc29sbyBlbiBlc3RlIHJlcG9zaXRvcmlvLlxuIgogIlxuIgogCi0jOiBpZGVudC5jOjM2OQorIzogaWRlbnQuYzozNzkKIG1zZ2lkICJubyBlbWFpbCB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgogbXNnc3RyICJubyBzZSBlbnRyZWdvIG5pbmfDum4gZW1haWwgeSBsYSBkZXRlY2Npw7NuIGF1dG9tw6F0aWNhIGVzdMOhIGRlc2FjdGl2YWRhIgogCi0jOiBpZGVudC5jOjM3NAorIzogaWRlbnQuYzozODQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGF1dG8tZGV0ZWN0IGVtYWlsIGFkZHJlc3MgKGdvdCAnJXMnKSIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBhdXRvLWRldGVjdGFyIGxhIGRpcmVjY2nDs24gZGUgY29ycmVvIChzZSBvYnR1dm8gJyVzJykiCiAKLSM6IGlkZW50LmM6Mzg0CisjOiBpZGVudC5jOjQwMQogbXNnaWQgIm5vIG5hbWUgd2FzIGdpdmVuIGFuZCBhdXRvLWRldGVjdGlvbiBpcyBkaXNhYmxlZCIKIG1zZ3N0ciAibm8gc2UgZW50cmVnbyBuaW5nw7puIG5vbWJyZSB5IGxhIGRldGVjY2nDs24gYXV0b23DoXRpY2EgZXN0w6EgZGVzYWN0aXZhZGEiCiAKLSM6IGlkZW50LmM6MzkwCisjOiBpZGVudC5jOjQwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYXV0by1kZXRlY3QgbmFtZSAoZ290ICclcycpIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGF1dG8tZGV0ZWN0YXIgZWwgbm9tYnJlIChzZSBvYnR1dm8gJyVzJykiCiAKLSM6IGlkZW50LmM6Mzk4CisjOiBpZGVudC5jOjQxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJlbXB0eSBpZGVudCBuYW1lIChmb3IgPCVzPikgbm90IGFsbG93ZWQiCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIHRlbmVyIHVuIG5vbWJyZSB2YWPDrW8gKHBhcmEgPCVzPikiCiAKLSM6IGlkZW50LmM6NDA0CisjOiBpZGVudC5jOjQyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJuYW1lIGNvbnNpc3RzIG9ubHkgb2YgZGlzYWxsb3dlZCBjaGFyYWN0ZXJzOiAlcyIKIG1zZ3N0ciAiZWwgbm9tYnJlIGNvbnNpc3RlIHNvbG8gZGUgY2FyYWN0ZXJlcyBubyBwZXJtaXRpZG9zOiAlcyIKIAotIzogaWRlbnQuYzo0MTkgYnVpbHRpbi9jb21taXQuYzo2MDYKKyM6IGlkZW50LmM6NDM2IGJ1aWx0aW4vY29tbWl0LmM6NjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgZGF0ZSBmb3JtYXQ6ICVzIgogbXNnc3RyICJmb3JtYXRvIGRlIGZlY2hhIGludsOhbGlkbzogJXMiCiAKLSM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjM1Ci1tc2dpZCAibXVsdGlwbGUgZmlsdGVyLXNwZWNzIGNhbm5vdCBiZSBjb21iaW5lZCIKLW1zZ3N0ciAibm8gc2UgcHVlZGVuIGNvbWJpbmFyIG3Dumx0aXBsZXMgdGlwb3MgZGUgZXNwZWNpZmljYWNpb25lcyBkZSBmaWx0cm8iCisjOiBsaXN0LW9iamVjdHMuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW50cnkgJyVzJyBpbiB0cmVlICVzIGhhcyB0cmVlIG1vZGUsIGJ1dCBpcyBub3QgYSB0cmVlIgorbXNnc3RyICJlbnRyYWRhICclcycgZW4gw6FyYm9sICVzIHRpZW5lIG1vZG8gw6FyYm9sLCBwZXJvIG5vIGVzIHVubyIKKworIzogbGlzdC1vYmplY3RzLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgImVudHJ5ICclcycgaW4gdHJlZSAlcyBoYXMgYmxvYiBtb2RlLCBidXQgaXMgbm90IGEgYmxvYiIKK21zZ3N0ciAiZW50cmFkYSAnJXMnIGVuIMOhcmJvbCAlcyB0aWVuZSBtb2RvIGJsb2IsIHBlcm8gbm8gZXMgdW5vIgorCisjOiBsaXN0LW9iamVjdHMuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGxvYWQgcm9vdCB0cmVlIGZvciBjb21taXQgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGNhcmdhciDDoXJib2wgcmHDrXogcGFyYSBjb21taXQgJXMiCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXIuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFjY2VzcyBzcGFyc2UgYmxvYiBpbiAnJXMnIgorbXNnc3RyICJubyBlcyBwb3NpYmxlIGFjY2VkZXIgYWwgYmxvYiBlbiAnJXMnIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSBzcGFyc2UgZmlsdGVyIGRhdGEgaW4gJXMiCittc2dzdHIgImluY2FwYXogZGUgYW5hbGl6YXIgZmlsdHJvIGRlIGRhdGEgZW4gJXMiCiAKICM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjU4Ci1tc2dpZCAib25seSAndHJlZTowJyBpcyBzdXBwb3J0ZWQiCi1tc2dzdHIgInNvbG8gJ3RyZWU6MCcgZXMgc29wb3J0YWRvIgorbXNnaWQgImV4cGVjdGVkICd0cmVlOjxkZXB0aD4nIgorbXNnc3RyICJzZSBlc3BlcmFiYSAndHJlZTo8ZGVwdGg+JyIKIAotIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MTM3Ci1tc2dpZCAiY2Fubm90IGNoYW5nZSBwYXJ0aWFsIGNsb25lIHByb21pc29yIHJlbW90ZSIKLW1zZ3N0ciAibm8gc2UgcHVlZGUgY2FtYmlhciB1biBjbG9uIHBhcmNpYWwgcmVtb3RvIHByb21pc29yIgorIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6NzMKK21zZ2lkICJzcGFyc2U6cGF0aCBmaWx0ZXJzIHN1cHBvcnQgaGFzIGJlZW4gZHJvcHBlZCIKK21zZ3N0ciAic29wb3J0ZSBwYXJhIGZpbHRyb3Mgc3BhcnNlOnBhdGggaGEgc2lkbyBkaXNjb250aW51YWRvIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGZpbHRlci1zcGVjICclcyciCittc2dzdHIgImZpbHRybyAtc3BlYyBpbnbDoWxpZG8gJyVzJyIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgZXNjYXBlIGNoYXIgaW4gc3ViLWZpbHRlci1zcGVjOiAnJWMnIgorbXNnc3RyICJ0aWVuZXMgcXVlIGVzY2FwYXIgZWwgY2FyYWN0ZXIgZW4gc3ViLWZpbHRlci1zcGVjOiAnJWMnIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzoxNDQKK21zZ2lkICJleHBlY3RlZCBzb21ldGhpbmcgYWZ0ZXIgY29tYmluZToiCittc2dzdHIgInNlIGVzcGVyYSBhbGdvIGx1ZWdvIGRlIGNvbWJpbmU6IgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzoyMjYKK21zZ2lkICJtdWx0aXBsZSBmaWx0ZXItc3BlY3MgY2Fubm90IGJlIGNvbWJpbmVkIgorbXNnc3RyICJubyBzZSBwdWVkZW4gY29tYmluYXIgbcO6bHRpcGxlcyB0aXBvcyBkZSBlc3BlY2lmaWNhY2lvbmVzIGRlIGZpbHRybyIKIAogIzogbG9ja2ZpbGUuYzoxNTEKICMsIGMtZm9ybWF0CkBAIC0yODkyLDExNCArNDA4OCwxMTEgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgImZhbGzDsyBhbCBsZWVyIGxhIGNhY2hlIgogCi0jOiBtZXJnZS5jOjEwNyByZXJlcmUuYzo3MjAgYnVpbHRpbi9hbS5jOjE4OTkgYnVpbHRpbi9hbS5jOjE5MzMKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozODcgYnVpbHRpbi9jaGVja291dC5jOjcwOCBidWlsdGluL2Nsb25lLmM6NzY0CisjOiBtZXJnZS5jOjEwNyByZXJlcmUuYzo3MjAgYnVpbHRpbi9hbS5jOjE4NzQgYnVpbHRpbi9hbS5jOjE5MDgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1MzkgYnVpbHRpbi9jaGVja291dC5jOjc5OCBidWlsdGluL2Nsb25lLmM6ODA5CisjOiBidWlsdGluL3N0YXNoLmM6MjY0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGVzY3JpYmlyIGVsIGFyY2hpdm8gw61uZGljZSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzIzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNjcKIG1zZ2lkICIoYmFkIGNvbW1pdClcbiIKIG1zZ3N0ciAiKGNvbW1pdCBlcnLDs25lbylcbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQ1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX2NhY2hlaW5mbyBmYWlsZWQgZm9yIHBhdGggJyVzJzsgbWVyZ2UgYWJvcnRpbmcuIgogbXNnc3RyICJhZGRfY2FjaGVpbmZvIGZhbGzDsyBwYXJhIGxhIHJ1dGEgJyVzJzsgYWJvcnRhbmRvIGZ1c2nDs24uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNTMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfY2FjaGVpbmZvIGZhaWxlZCB0byByZWZyZXNoIGZvciBwYXRoICclcyc7IG1lcmdlIGFib3J0aW5nLiIKIG1zZ3N0ciAiYWRkX2NhY2hlaW5mbyBmYWxsw7MgcGFyYSByZWZyZXNjYXIgbGEgcnV0YSAnJXMnOyBhYm9ydGFuZG8gZnVzacOzbi4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjQzNQotbXNnaWQgImVycm9yIGJ1aWxkaW5nIHRyZWVzIgotbXNnc3RyICJlcnJvciBjb25zdHJ1eWVuZG8gw6FyYm9sZXMiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkwNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcGF0aCAnJXMnJXMiCiBtc2dzdHIgImZhbGzDsyBhbCBjcmVhciBsYSBydXRhICclcyclcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTE3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMgdG8gbWFrZSByb29tIGZvciBzdWJkaXJlY3RvcnlcbiIKIG1zZ3N0ciAiUmVtb3ZpZW5kbyAlcyBwYXJhIGhhY2VyIGVzcGFjaW8gcGFyYSB1biBzdWJkaXJlY3RvcmlvXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkzMSBtZXJnZS1yZWN1cnNpdmUuYzo5NTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxMCBtZXJnZS1yZWN1cnNpdmUuYzo5MjkKIG1zZ2lkICI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IgotbXNnc3RyICI6IHRhbCB2ZXogdW4gY29uZmxpY3RvIEQvRj8iCittc2dzdHIgIjogwr90YWwgdmV6IHVuIGNvbmZsaWN0byBEL0Y/IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5NDAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICclcyciCiBtc2dzdHIgInJlaHVzYW5kbyBwZXJkZXIgZWwgYXJjaGl2byByYXN0cmVhZG8gZW4gJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTgyIGJ1aWx0aW4vY2F0LWZpbGUuYzozOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTYwIGJ1aWx0aW4vY2F0LWZpbGUuYzo0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMgJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgbGVlciBlbCBvYmpldG8gJXMgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTg0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmxvYiBleHBlY3RlZCBmb3IgJXMgJyVzJyIKIG1zZ3N0ciAic2UgZXNwZXJhYmEgYmxvYiBwYXJhICVzICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwMDgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnOiAlcyIKIG1zZ3N0ciAiZmFsbMOzIGFsIGFicmlyICclcyc6ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDE5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzeW1saW5rICclcyc6ICVzIgogbXNnc3RyICJmYWxsw7MgYWwgY3JlYXIgZWwgZW5sYWNlIHNpbWLDs2xpY28gJyVzJzogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwMjQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG8gbm90IGtub3cgd2hhdCB0byBkbyB3aXRoICUwNm8gJXMgJyVzJyIKIG1zZ3N0ciAibm8gc2UgcXVlIGhhY2VyIGNvbiAlMDZvICVzICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobm90IGNoZWNrZWQgb3V0KSIKIG1zZ3N0ciAiRmFsbMOzIGFsIGZ1c2lvbmFyIGVsIHN1Ym3Ds2R1bG8gJXMgKG5vIHJldmlzYWRvKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIxOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChjb21taXRzIG5vdCBwcmVzZW50KSIKIG1zZ3N0ciAiRmFsbMOzIGFsIGZ1c2lvbmFyIGVsIHN1Ym3Ds2R1bG8gJXMgKGNvbW1pdHMgbm8gcHJlc2VudGVzKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChjb21taXRzIGRvbid0IGZvbGxvdyBtZXJnZS1iYXNlKSIKIG1zZ3N0ciAiRmFsbMOzIGVsIGZ1c2lvbmFyIHN1Ym3Ds2R1bG8gJXMgKGNvbW1pdHMgbm8gc2lndWVuIGxhIGZ1c2nDs24gYmFzZSkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzQgbWVyZ2UtcmVjdXJzaXZlLmM6MTI0NgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyMSBtZXJnZS1yZWN1cnNpdmUuYzoxMjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGluZyBzdWJtb2R1bGUgJXMgdG8gdGhlIGZvbGxvd2luZyBjb21taXQ6IgogbXNnc3RyICJIYWNpZW5kbyBmYXN0LWZvcndhcmQgYSBzdWJtw7NkdWxvICVzIHBhcmEgZWwgc2lndWllbnRlIGNvbW1pdDoiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzcgbWVyZ2UtcmVjdXJzaXZlLmM6MTI0OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyNCBtZXJnZS1yZWN1cnNpdmUuYzoxMjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGluZyBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIkF2YW5jZSByw6FwaWRvIGVuIHN1Ym3Ds2R1bG8gJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobWVyZ2UgZm9sbG93aW5nIGNvbW1pdHMgbm90IGZvdW5kKSIKIG1zZ3N0ciAiIgogIkZhbGzDsyBhbCBmdXNpb25hciBzdWJtw7NkdWxvICVzIChsb3Mgc2lndWVudGVzIGNvbW1pdHMgbm8gZnVlcm9uIGVuY29udHJhZG9zKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI3NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChub3QgZmFzdC1mb3J3YXJkKSIKIG1zZ3N0ciAiRmFsbMOzIGFsIGZ1c2lvbmFyIGVsIHN1Ym3Ds2R1bG8gJXMgKG5vIGVzIHBvc2libGUgYXZhbmNlIHLDoXBpZG8pIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjY0CiBtc2dpZCAiRm91bmQgYSBwb3NzaWJsZSBtZXJnZSByZXNvbHV0aW9uIGZvciB0aGUgc3VibW9kdWxlOlxuIgogbXNnc3RyICJTZSBlbmNvbnRyw7MgdW5hIHBvc2libGUgc29sdWNpw7NuIGRlIGZ1c2nDs24gcGFyYSBlbCBzdWJtw7NkdWxvOlxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB0aGlzIGlzIGNvcnJlY3Qgc2ltcGx5IGFkZCBpdCB0byB0aGUgaW5kZXggZm9yIGV4YW1wbGVcbiIKQEAgLTMwMTYsMzMgKzQyMDksMzMgQEAKICJcbiIKICJlbCBjdWFsIGFjZXB0YXLDoSBlc3RhIHN1Z2VyZW5jaWEuXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyODgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobXVsdGlwbGUgbWVyZ2VzIGZvdW5kKSIKIG1zZ3N0ciAiRmFsbMOzIGFsIGZ1c2lvbmFyIGVsIHN1Ym3Ds2R1bG8gJXMgKGZ1c2lvbmVzIG3Dumx0aXBsZXMgZW5jb250cmFkYXMpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzU4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzQ5CiBtc2dpZCAiRmFpbGVkIHRvIGV4ZWN1dGUgaW50ZXJuYWwgbWVyZ2UiCiBtc2dzdHIgIkZhbGzDsyBhbCBlamVjdXRhciBsYSBmdXNpw7NuIGludGVybmEiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzNjMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGFkZCAlcyB0byBkYXRhYmFzZSIKIG1zZ3N0ciAiTm8gZXMgcG9zaWJsZSBhZ3JlZ2FyICVzIGEgbGEgYmFzZSBkZSBkYXRvcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM5NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCiBtc2dzdHIgIkF1dG8tZnVzaW9uYW5kbyAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQxNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvcjogUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlczsgd3JpdGluZyB0byAlcyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogIkVycm9yOiBSZWh1c2FuZG8gcGVyZGVyIGVsIGFyY2hpdm8gbm8gcmFzdHJlYWRvIGVuICVzOyBlc2NyaWJpw6luZG9sbyBhICVzIGVuICIKICJjYW1iaW8uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDgzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCkBAIC0zMDUxLDcgKzQyNDQsNyBAQAogIkNPTkZMSUNUTyAoJXMvYm9ycmFyKTogJXMgYm9ycmFkbyBlbiAlcyB5ICVzIGVuICVzLiBGYWx0YSB2ZXJzacOzbiAlcyBkZSAlcyAiCiAiZW4gZWwgw6FyYm9sLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ4OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzICIKQEAgLTMwNjAsNyArNDI1Myw3IEBACiAiQ09ORkxJQ1RPICglcy9ib3JyYXIpOiAlcyBib3JyYWRvIGVuICVzIHkgJXMgcGFyYSAlcyBlbiAlcy4gVmVyc2nDs24gJXMgZGUgJXMgIgogInBlcm1hbmVjZSBlbiBlbCDDoXJib2wuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDk1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCkBAIC0zMDY5LDcgKzQyNjIsNyBAQAogIkNPTkZMSUNUTyAoJXMvZWxpbWluYXIpOiAlcyBlbGltaW5hZG8gZW4gJXMgeSAlcyBlbiAlcy4gVmVyc2nDs24gJXMgZGUgJXMgIgogImRlamFkYSBlbiBlbCDDoXJib2wsIGVuICVzLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUwMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzICIKQEAgLTMwODYsMjQgKzQyNzksMzYgQEAKIG1zZ2lkICJyZW5hbWVkIgogbXNnc3RyICJyZW5vbWJyYWRvIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTg4IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzcgbWVyZ2UtcmVjdXJzaXZlLmM6MjM2OQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzEyNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxNCBtZXJnZS1yZWN1cnNpdmUuYzoyNTMwIG1lcmdlLXJlY3Vyc2l2ZS5jOjMxNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gbG9zZSBkaXJ0eSBmaWxlIGF0ICVzIgogbXNnc3RyICJSZWh1c2FuZG8gcGVyZGVyIGVsIGFyY2hpdm8gc3VjaW8gZW4gJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MDIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlcywgZXZlbiB0aG91Z2ggaXQncyBpbiB0aGUgd2F5LiIKK21zZ3N0ciAiIgorIlJlaHVzYW5kbyBwZXJkZXIgZWwgYXJjaGl2byBubyByYXN0cmVhZG8gZW4gJXMsIGluY2x1c28gYXVucXVlIHNlIGVzdMOhICIKKyJpbnRlcnBvbmllbmRvLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MgorIywgYy1mb3JtYXQKK21zZ2lkICJDT05GTElDVCAocmVuYW1lL2FkZCk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuICBBZGRlZCAlcyBpbiAlcyIKK21zZ3N0ciAiIgorIkNPTkZMSUNUTyAocmVub21icmFyL2FncmVnYXIpOiBSZW5vbWJyYXIgJXMtPiVzIGVuICVzLiAgJXMgYWdyZWdhZG8gZW4gJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgYSBkaXJlY3RvcnkgaW4gJXMgYWRkaW5nIGFzICVzIGluc3RlYWQiCiBtc2dzdHIgIiVzIGVzIHVuIGRpcmVjdG9yaW8gZW4gJXMgYWdyZWdhbmRvIGNvbW8gJXMgbcOhcyBiaWVuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjA3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJXM7IGFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICIiCiAiUmVodXNhbmRvIHBlcmRlciBlbCBhcmNoaXZvIG5vIHJhc3RyZWFkbyBlbiAlczsgYWdyZWfDoW5kb2xvIGNvbW8gJXMgZW4gY2FtYmlvIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjMzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSBcIiVzXCItPlwiJXNcIiBpbiBicmFuY2ggXCIlc1wiIHJlbmFtZSBcIiVzIgpAQCAtMzExMiwzMCArNDMxNywxOCBAQAogIkNPTkZMSUNUTyAocmVub21icmFyL3Jlbm9tYnJhcik6IFJlbm9tYnJhciBcIiVzXCItPlwiJXNcIiBlbiBsYSByYW1hIFwiJXNcIiAiCiAicmVub21icmFyIFwiJXNcIi0+XCIlc1wiIGVuIFwiJXNcIiVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjM4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQyCiBtc2dpZCAiIChsZWZ0IHVucmVzb2x2ZWQpIgogbXNnc3RyICIgKGRlamFkbyBzaW4gcmVzb2x2ZXIpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjk5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gUmVuYW1lICVzLT4lcyBpbiAlcyIKIG1zZ3N0ciAiIgogIkNPTkZMSUNUTyAocmVub21icmFyL3Jlbm9tYnJhcik6IFJlbm9tYnJhciAlcy0+JXMgZW4gJXMuIFJlbm9tYnJhciAlcy0+JXMgZW4gIgogIiVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzIGFuZCAlcyB0byAlcyBpbnN0ZWFkIgotbXNnc3RyICJSZW5vbWJyYW5kbyAlcyBhICVzIHkgJXMgYSAlcyBtw6FzIGJpZW4iCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlcywgZXZlbiB0aG91Z2ggaXQncyBpbiB0aGUgd2F5LiIKLW1zZ3N0ciAiIgotIlJlaHVzYW5kbyBwZXJkZXIgZWwgYXJjaGl2byBubyByYXN0cmVhZG8gZW4gJXMsIGluY2x1c28gYXVucXVlIHNlIGVzdMOhICIKLSJpbnRlcnBvbmllbmRvLiIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTk1MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjExNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKGRpcmVjdG9yeSByZW5hbWUgc3BsaXQpOiBVbmNsZWFyIHdoZXJlIHRvIHBsYWNlICVzIGJlY2F1c2UgIgpAQCAtMzE0Niw3ICs0MzM5LDcgQEAKICJjb2xvY2FyICVzIHBvcnF1ZSBlbCBkaXJlY3RvcmlvICVzIGZ1ZSByZW5vbWJyYWRvIGEgb3Ryb3MgbcO6bHRpcGxlcyAiCiAiZGlyZWN0b3Jpb3MsIHNpbiBuaW5nw7puIHF1ZSBjb250ZW5nYSBsYSBtYXlvcsOtYSBkZSBhcmNoaXZvcy4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5ODQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChpbXBsaWNpdCBkaXIgcmVuYW1lKTogRXhpc3RpbmcgZmlsZS9kaXIgYXQgJXMgaW4gdGhlIHdheSBvZiAiCkBAIC0zMTU2LDcgKzQzNDksNyBAQAogImV4aXN0ZW50ZSBlbiAlcyBzZSBpbnRlcnBvbmUgY29uIGVsIGNhbWJpbyBkZSBub21icmVzIGltcGzDrWNpdG8sIHBvbmllbmRvICIKICJsYShzKSBzaWd1aWVudGUocykgcnV0YShzKSBhcXXDrTogJXMuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTk0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoaW1wbGljaXQgZGlyIHJlbmFtZSk6IENhbm5vdCBtYXAgbW9yZSB0aGFuIG9uZSBwYXRoIHRvICVzOyAiCkBAIC0zMTY1LDcgKzQzNTgsNyBAQAogIkNPTkZMSUNUTyAoY2FtYmlvIGRlIG5vbWJyZSBpbXBsw61jaXRvKTogTm8gc2UgcHVlZGUgbWFwZWFyIG3DoXMgZGUgdW5hIHJ1dGEgIgogInBhcmEgJXM7IGNhbWJpbyBkZSBub21icmUgaW1wbMOtY2l0byBpbnRlbnTDsyBwb25lciBlc3RhcyBydXRhczogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwODYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIyNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIGRpcmVjdG9yeSAlcy0+JXMgaW4gJXMuIFJlbmFtZSBkaXJlY3RvcnkgJXMtIgpAQCAtMzE3NCw3ICs0MzY3LDcgQEAKICJDT05GTElDVE8gKHJlbm9tYnJhci9yZW5vbWJyYXIpOiBSZW5vbWJyYXIgZGlyZWN0b3JpbyAlcy0+JXMgZW4gJXMuICIKICJSZW5vbWJyYXIgZGlyZWN0b3JpbyAlcy0+JXMgZW4gJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIzMzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI0OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldBUk5JTkc6IEF2b2lkaW5nIGFwcGx5aW5nICVzIC0+ICVzIHJlbmFtZSB0byAlcywgYmVjYXVzZSAlcyBpdHNlbGYgd2FzICIKQEAgLTMxODMsODggKzQzNzYsMTQzIEBACiAiUEVMSUdSTzogRXZpdGFuZG8gYXBsaWNhciAlcyAtPiAlcyByZW5vbWJyYWRvIGEgJXMsIHBvcnF1ZSAlcyBtaXNtbyBmdWUgIgogInJlbm9tYnJhZG8uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvYWRkKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gJXMgYWRkZWQgaW4gJXMiCi1tc2dzdHIgIiIKLSJDT05GTElDVE8gKHJlbm9tYnJhci9hZ3JlZ2FyKTogUmVub21icmFyICVzLT4lcyBlbiAlcy4gJXMgYWdyZWdhZG8gZW4gJXMiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI3NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQWRkaW5nIG1lcmdlZCAlcyIKLW1zZ3N0ciAiQWdyZWdhciAlcyBmdXNpb25hZG8iCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI3NzAgbWVyZ2UtcmVjdXJzaXZlLmM6MzEyNwotIywgYy1mb3JtYXQKLW1zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKLW1zZ3N0ciAiQWdyZWdhbmRvIG3DoXMgYmllbiBjb21vICVzIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyOTM0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBsZWVyIGVsIG9iamV0byAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjkzNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgaXMgbm90IGEgYmxvYiIKIG1zZ3N0ciAib2JqZXRvICVzIG5vIGVzIHVuIGJsb2IiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwODYKIG1zZ2lkICJtb2RpZnkiCiBtc2dzdHIgIm1vZGlmaWNhciIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAwNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA4NgogbXNnaWQgIm1vZGlmaWVkIgogbXNnc3RyICJtb2RpZmljYWRvIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDE3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDk4CiBtc2dpZCAiY29udGVudCIKIG1zZ3N0ciAiY29udGVuaWRvIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDI0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTAyCiBtc2dpZCAiYWRkL2FkZCIKIG1zZ3N0ciAiYWdyZWdhci9hZ3JlZ2FyIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDcxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgJXMgKG1lcmdlZCBzYW1lIGFzIGV4aXN0aW5nKSIKIG1zZ3N0ciAiU2FsdGFkbyAlcyAoZnVzaW9uYWRvIGNvbW8gZXhpc3RlbnRlKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA5MyBnaXQtc3VibW9kdWxlLnNoOjg1OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE0NyBnaXQtc3VibW9kdWxlLnNoOjk5MwogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAic3VibcOzZHVsbyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA5NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBNZXJnZSBjb25mbGljdCBpbiAlcyIKIG1zZ3N0ciAiQ09ORkxJQ1RPICglcyk6IENvbmZsaWN0byBkZSBmdXNpw7NuIGVuICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjE2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBhcyAlcyBpbnN0ZWFkIgorbXNnc3RyICJBZ3JlZ2FuZG8gbcOhcyBiaWVuIGNvbW8gJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlBhdGggdXBkYXRlZDogJXMgYWRkZWQgaW4gJXMgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgd2FzIHJlbmFtZWQgaW4gJXM7ICIKKyJtb3ZpbmcgaXQgdG8gJXMuIgorbXNnc3RyICIiCisiUGF0aCBhY3R1YWxpemFkbzogJXMgYWdyZWdhZG8gZW4gJXMgZGVudHJvIGRlIHVuIGRpcmVjdG9yaW8gcXVlIGZ1ZSAiCisicmVub21icmFkbyBlbiAlczsgbW92acOpbmRvbG8gYSAlcy4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUIChmaWxlIGxvY2F0aW9uKTogJXMgYWRkZWQgaW4gJXMgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgd2FzIHJlbmFtZWQgIgorImluICVzLCBzdWdnZXN0aW5nIGl0IHNob3VsZCBwZXJoYXBzIGJlIG1vdmVkIHRvICVzLiIKK21zZ3N0ciAiIgorIkNPTkZMSUNUTyAodWJpY2FjacOzbiBkZSBhcmNoaXZvKTogJXMgYWdyZWdhZG8gZW4gJXMgZGVudHJvIGRlIHVuIGRpcmVjdG9yaW8gIgorInF1ZSBmdWUgcmVub21icmFkbyBlbiAlcywgc3VnZXJpbW9zIHF1ZSBkZWJlcsOtYSBzZXIgbW92aWRvIGEgJXMuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQYXRoIHVwZGF0ZWQ6ICVzIHJlbmFtZWQgdG8gJXMgaW4gJXMsIGluc2lkZSBhIGRpcmVjdG9yeSB0aGF0IHdhcyByZW5hbWVkIGluICIKKyIlczsgbW92aW5nIGl0IHRvICVzLiIKK21zZ3N0ciAiIgorIlBhdGggYWN0dWFsaXphZG86ICVzIHJlbm9tYnJhZG8gYSAlcyBlbiAlcywgZGVudHJvIGRlIHVuIGRpcmVjdG9yaW8gcXVlIGZ1ZSAiCisicmVub21icmFkbyBlbiAlczsgbW92acOpbmRvbG8gYSAlcy4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUIChmaWxlIGxvY2F0aW9uKTogJXMgcmVuYW1lZCB0byAlcyBpbiAlcywgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgIgorIndhcyByZW5hbWVkIGluICVzLCBzdWdnZXN0aW5nIGl0IHNob3VsZCBwZXJoYXBzIGJlIG1vdmVkIHRvICVzLiIKK21zZ3N0ciAiIgorIkNPTkZMSUNUTyAodWJpY2FjacOzbiBkZSBhcmNoaXZvKTogJXMgcmVub21icmFkbyBhICVzIGVuICVzLCBkZW50cm8gZGUgdW4gIgorImRpcmVjdG9yaW8gcXVlIGZ1ZSByZW5vbWJyYWRvIGVuICVzLCBzdWdpcmllbmRvIHF1ZSB0YWwgdmV6IGRlYmVyw61hIHNlciAiCisibW92aWRvIGEgJXMuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIgogbXNnc3RyICJFbGltaW5hbmRvICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjQyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDA4CiBtc2dpZCAiZmlsZS9kaXJlY3RvcnkiCiBtc2dzdHIgImFyY2hpdm8vZGlyZWN0b3JpbyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI0OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQxMwogbXNnaWQgImRpcmVjdG9yeS9maWxlIgogbXNnc3RyICJkaXJlY3RvcmlvL2FyY2hpdm8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNTUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogVGhlcmUgaXMgYSBkaXJlY3Rvcnkgd2l0aCBuYW1lICVzIGluICVzLiBBZGRpbmcgJXMgYXMgJXMiCiBtc2dzdHIgIiIKICJDT05GTElDVE8gKCVzKTogSGF5IHVuIGRpcmVjdG9yaW8gY29uIGVsIG5vbWJyZSAlcyBlbiAlcy4gQWdyZWdhbmRvICVzIGNvbW8gIgogIiVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjY0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyAlcyIKIG1zZ3N0ciAiQWdyZWdhbmRvICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMzAwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNPTkZMSUNUIChhZGQvYWRkKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCittc2dzdHIgIkNPTkZMSUNUTyAoYWRkL2FkZCk6IENvbmZsaWN0byBkZSBtZXJnZSBlbiAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQ4MgorbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZSEiCittc2dzdHIgIsKhWWEgZXN0w6EgYWN0dWFsaXphZG8hIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDkxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1lcmdpbmcgb2YgdHJlZXMgJXMgYW5kICVzIGZhaWxlZCIKK21zZ3N0ciAiZmFsbMOzIGxhIGZ1c2nDs24gZGUgbG9zIMOhcmJvbGVzICVzIHkgJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM1OTUKK21zZ2lkICJNZXJnaW5nOiIKK21zZ3N0ciAiRnVzaW9uYW5kbzoiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yOiIKK21zZ2lkX3BsdXJhbCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yczoiCittc2dzdHJbMF0gInNlIGVuY29udHLDsyAldSBhbmNlc3RybyBjb23Dum46IgorbXNnc3RyWzFdICJzZSBlbmNvbnRyYXJvbiAldSBhbmNlc3Ryb3MgY29tdW5lczoiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM2NTgKK21zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCittc2dzdHIgImxhIGZ1c2nDs24gbm8gZGV2b2x2acOzIG5pbmfDum4gY29tbWl0IgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKQEAgLTMyNzQsMTcwICs0NTIyLDE4NyBAQAogIm1lcmdlOlxuIgogIiAgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMzMTEKLW1zZ2lkICJBbHJlYWR5IHVwIHRvIGRhdGUhIgotbXNnc3RyICLCoVlhIGVzdMOhIGFjdHVhbGl6YWRvISIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzMyMAotIywgYy1mb3JtYXQKLW1zZ2lkICJtZXJnaW5nIG9mIHRyZWVzICVzIGFuZCAlcyBmYWlsZWQiCi1tc2dzdHIgImZhbGzDsyBsYSBmdXNpw7NuIGRlIGxvcyDDoXJib2xlcyAlcyB5ICVzIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNDE5Ci1tc2dpZCAiTWVyZ2luZzoiCi1tc2dzdHIgIkZ1c2lvbmFuZG86IgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNDMyCi0jLCBjLWZvcm1hdAotbXNnaWQgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcjoiCi1tc2dpZF9wbHVyYWwgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcnM6IgotbXNnc3RyWzBdICJzZSBlbmNvbnRyw7MgJXUgYW5jZXN0cm8gY29tw7puOiIKLW1zZ3N0clsxXSAic2UgZW5jb250cmFyb24gJXUgYW5jZXN0cm9zIGNvbXVuZXM6IgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNDcxCi1tc2dpZCAibWVyZ2UgcmV0dXJuZWQgbm8gY29tbWl0IgotbXNnc3RyICJsYSBmdXNpw7NuIG5vIGRldm9sdmnDsyBuaW5nw7puIGNvbW1pdCIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzUzNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgIk5vIHNlIHB1ZG8gYW5hbGl6YXIgZWwgb2JqZXRvICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM1NTMgYnVpbHRpbi9tZXJnZS5jOjY5MSBidWlsdGluL21lcmdlLmM6ODQ5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozODMyIGJ1aWx0aW4vbWVyZ2UuYzo2OTQgYnVpbHRpbi9tZXJnZS5jOjg3NAogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCiBtc2dzdHIgIkluY2FwYXogZGUgZXNjcmliaXIgZWwgw61uZGljZS4iCiAKLSM6IG1pZHguYzo2NQorIzogbWlkeC5jOjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm11bHRpLXBhY2staW5kZXggZmlsZSAlcyBpcyB0b28gc21hbGwiCiBtc2dzdHIgImFyY2hpdm8gbXVsdGktcGFjay1pbmRleCAlcyBlcyBtdXkgcGVxdWXDsW8iCiAKLSM6IG1pZHguYzo4MQorIzogbWlkeC5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm11bHRpLXBhY2staW5kZXggc2lnbmF0dXJlIDB4JTA4eCBkb2VzIG5vdCBtYXRjaCBzaWduYXR1cmUgMHglMDh4IgogbXNnc3RyICJmaXJtYSBkZSBtdWx0aS1wYWNrLWluZGV4IDB4JTA4eCBubyBjb25jdWVyZGEgY29uIGZpcm1hIDB4JTA4eCIKIAotIzogbWlkeC5jOjg2CisjOiBtaWR4LmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCB2ZXJzaW9uICVkIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICJ2ZXJzacOzbiAlZCBkZSBtdWx0aS1wYWNrLWluZGV4IG5vIHJlY29ub2NpZGEiCiAKLSM6IG1pZHguYzo5MQorIzogbWlkeC5jOjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImhhc2ggdmVyc2lvbiAldSBkb2VzIG5vdCBtYXRjaCIKIG1zZ3N0ciAidmVyc2nDs24gZGUgaGFzaCAldSBubyBjb25jdWVyZGEiCiAKLSM6IG1pZHguYzoxMDUKKyM6IG1pZHguYzoxMDgKIG1zZ2lkICJpbnZhbGlkIGNodW5rIG9mZnNldCAodG9vIGxhcmdlKSIKIG1zZ3N0ciAib2Zmc2V0IGludsOhbGlkbyBkZWwgY29uanVudG8gKG11eSBncmFuZGUpIgogCi0jOiBtaWR4LmM6MTI5CisjOiBtaWR4LmM6MTMyCiBtc2dpZCAidGVybWluYXRpbmcgbXVsdGktcGFjay1pbmRleCBjaHVuayBpZCBhcHBlYXJzIGVhcmxpZXIgdGhhbiBleHBlY3RlZCIKIG1zZ3N0ciAiIgogInRlcm1pbmFuZG8gbXVsdGktcGFjay1pbmRleCBwb3JxdWUgZWwgaWQgZGVsIGNvbmp1bnRvIGFwYXJlY2UgYW50ZXMgZGUgbG8gIgogImVzcGVyYWRvIgogCi0jOiBtaWR4LmM6MTQyCisjOiBtaWR4LmM6MTQ1CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCBtaXNzaW5nIHJlcXVpcmVkIHBhY2stbmFtZSBjaHVuayIKIG1zZ3N0ciAibXVsdGktcGFjay1pbmRleCBsZSBmYWx0YSBlbCBjb25qdW50byBwYWNrLW5hbWUgcmVxdWVyaWRvIgogCi0jOiBtaWR4LmM6MTQ0CisjOiBtaWR4LmM6MTQ3CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCBtaXNzaW5nIHJlcXVpcmVkIE9JRCBmYW5vdXQgY2h1bmsiCiBtc2dzdHIgIm11bHRpLXBhY2staW5kZXggbGUgZmFsdGEgZWwgY29uanVudG8gT0lEIGZhbm91dCByZXF1ZXJpZG8iCiAKLSM6IG1pZHguYzoxNDYKKyM6IG1pZHguYzoxNDkKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgT0lEIGxvb2t1cCBjaHVuayIKIG1zZ3N0ciAibXVsdGktcGFjay1pbmRleCBsZSBmYWx0YSBlbCBjb25qdW50byBPSUQgZmFub3V0IHJlcXVlcmlkbyIKIAotIzogbWlkeC5jOjE0OAorIzogbWlkeC5jOjE1MQogbXNnaWQgIm11bHRpLXBhY2staW5kZXggbWlzc2luZyByZXF1aXJlZCBvYmplY3Qgb2Zmc2V0cyBjaHVuayIKIG1zZ3N0ciAibXVsdGktcGFjay1pbmRleCBsZSBmYWx0YSBlbCBjb25qdW50byBkZSBvZmZzZXQgZGVsIG9iamV0byByZXF1ZXJpZG8iCiAKLSM6IG1pZHguYzoxNjIKKyM6IG1pZHguYzoxNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCBwYWNrIG5hbWVzIG91dCBvZiBvcmRlcjogJyVzJyBiZWZvcmUgJyVzJyIKIG1zZ3N0ciAibXVsdGktcGFjay1pbmRleCBub21icmVzIGRlIHBhcXVldGUgZnVlcmEgZGUgb3JkZW46JyVzJyBhbnRlcyAnJXMnIgogCi0jOiBtaWR4LmM6MjA1CisjOiBtaWR4LmM6MjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrLWludC1pZDogJXUgKCV1IHRvdGFsIHBhY2tzKSIKIG1zZ3N0ciAibWFsIHBhY2staW50LWlkOiAldSAoJXUgcGFxdWV0ZXMgdG90YWxlcykiCiAKLSM6IG1pZHguYzoyNDYKKyM6IG1pZHguYzoyNjAKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHN0b3JlcyBhIDY0LWJpdCBvZmZzZXQsIGJ1dCBvZmZfdCBpcyB0b28gc21hbGwiCiBtc2dzdHIgIm11bHRpLXBhY2staW5kZXggZ3VhcmRhIHVuIG9mZnNldCBkZSA2NC1iaXQsIHBlcm8gb2ZmX3QgZXMgbXV5IHBlcXVlw7FvIgogCi0jOiBtaWR4LmM6MjcxCisjOiBtaWR4LmM6Mjg4CiBtc2dpZCAiZXJyb3IgcHJlcGFyaW5nIHBhY2tmaWxlIGZyb20gbXVsdGktcGFjay1pbmRleCIKIG1zZ3N0ciAiZXJyb3IgcHJlcGFyYW5kbyBwYWNrZmlsZSBkZSBtdWx0aS1wYWNrLWluZGV4IgogCi0jOiBtaWR4LmM6NDA3CisjOiBtaWR4LmM6NDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBhZGQgcGFja2ZpbGUgJyVzJyIKIG1zZ3N0ciAiZmFsbMOzIGFsIGFncmVnYXIgcGFja2ZpbGUgJyVzJyIKIAotIzogbWlkeC5jOjQxMworIzogbWlkeC5jOjQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBwYWNrLWluZGV4ICclcyciCiBtc2dzdHIgImZhbGzDsyBhbCBhYnJpciBwYWNrLWluZGV4ICclcyciCiAKLSM6IG1pZHguYzo1MDcKKyM6IG1pZHguYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGxvY2F0ZSBvYmplY3QgJWQgaW4gcGFja2ZpbGUiCiBtc2dzdHIgImZhbGzDsyBhbCB1YmljYXIgb2JqZXRvICVkIGVuIHBhY2tmaWxlIgogCi0jOiBtaWR4LmM6OTQzCisjOiBtaWR4LmM6ODQyCittc2dpZCAiQWRkaW5nIHBhY2tmaWxlcyB0byBtdWx0aS1wYWNrLWluZGV4IgorbXNnc3RyICJBZ3JlZ2FuZG8gcGFja2ZpbGVzIGEgbXVsdGktcGFjay1pbmRleCIKKworIzogbWlkeC5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJkaWQgbm90IHNlZSBwYWNrLWZpbGUgJXMgdG8gZHJvcCIKK21zZ3N0ciAibm8gc2UgdmnDsyBwYWNrLWZpbGUgJXMgY2FlciIKKworIzogbWlkeC5jOjk3MworbXNnaWQgIldyaXRpbmcgY2h1bmtzIHRvIG11bHRpLXBhY2staW5kZXgiCittc2dzdHIgIkVzY3JpYmllbmRvIGNodW5rcyBhIG11bHRpLXBhY2staW5kZXgiCisKKyM6IG1pZHguYzoxMDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjbGVhciBtdWx0aS1wYWNrLWluZGV4IGF0ICVzIgogbXNnc3RyICJmYWxsw7MgYWwgbGltcGlhciBtdWx0aS1wYWNrLWluZGV4IGVuICVzIgogCi0jOiBtaWR4LmM6OTgxCisjOiBtaWR4LmM6MTEwOAorbXNnaWQgIkxvb2tpbmcgZm9yIHJlZmVyZW5jZWQgcGFja2ZpbGVzIgorbXNnc3RyICJCdXNjYW5kbyBwb3IgcGFja2ZpbGVzIHJlZmVyaWRvcyIKKworIzogbWlkeC5jOjExMjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm9pZCBmYW5vdXQgb3V0IG9mIG9yZGVyOiBmYW5vdXRbJWRdID0gJTxQUkl4MzI+ID4gJTxQUkl4MzI+ID0gZmFub3V0WyVkXSIKIG1zZ3N0ciAiIgogIm9pZCBmYW5vdXQgZnVlcmEgZGUgb3JkZW46IGZhbm91dFslZF0gPSAlPFBSSXgzMj4gPiAlPFBSSXgzMj4gPSBmYW5vdXRbJWRdIgogCi0jOiBtaWR4LmM6OTkyCisjOiBtaWR4LmM6MTEyOAorbXNnaWQgIlZlcmlmeWluZyBPSUQgb3JkZXIgaW4gbXVsdGktcGFjay1pbmRleCIKK21zZ3N0ciAiVmVyaWZpY2FuZG8gb3JkZW4gZGUgT0lEIGVuIG11bHRpLXBhY2staW5kZXgiCisKKyM6IG1pZHguYzoxMTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9pZCBsb29rdXAgb3V0IG9mIG9yZGVyOiBvaWRbJWRdID0gJXMgPj0gJXMgPSBvaWRbJWRdIgogbXNnc3RyICJvaWQgbG9va3VwIGZ1ZXJhIGRlIG9yZGVuOiBvaWRbJWRdID0gJXMgPj0gJXMgPSBvaWRbJWRdIgogCi0jOiBtaWR4LmM6OTk2CisjOiBtaWR4LmM6MTE1NworbXNnaWQgIlNvcnRpbmcgb2JqZWN0cyBieSBwYWNrZmlsZSIKK21zZ3N0ciAiT3JkZW5hbmRvIG9iamV0b3MgcG9yIHBhY2tmaWxlIgorCisjOiBtaWR4LmM6MTE2NAogbXNnaWQgIlZlcmlmeWluZyBvYmplY3Qgb2Zmc2V0cyIKIG1zZ3N0ciAiVmVyaWZpY2FuZG8gb2Zmc2V0cyBkZSBvYmpldG9zIgogCi0jOiBtaWR4LmM6MTAwNAorIzogbWlkeC5jOjExODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgcGFjayBlbnRyeSBmb3Igb2lkWyVkXSA9ICVzIgogbXNnc3RyICJmYWxsbyBhbCBjYXJnYXIgZW50cmFkYSBwYWNrIHBhcmEgb2lkWyVkXSA9ICVzIgogCi0jOiBtaWR4LmM6MTAxMAorIzogbWlkeC5jOjExODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgcGFjay1pbmRleCBmb3IgcGFja2ZpbGUgJXMiCiBtc2dzdHIgImZhbGzDsyBhbCBjYXJnYXIgZWwgcGFjay1pbmRleCBwYXJhIHBhY2tmaWxlICVzIgogCi0jOiBtaWR4LmM6MTAxOQorIzogbWlkeC5jOjExOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5jb3JyZWN0IG9iamVjdCBvZmZzZXQgZm9yIG9pZFslZF0gPSAlczogJTxQUkl4NjQ+ICE9ICU8UFJJeDY0PiIKIG1zZ3N0ciAib2Zmc2V0IHBhcmEgb2JqZXRvIGluY29ycmVjdG8gb2lkWyVkXSA9ICVzOiAlPFBSSXg2ND4gIT0gJTxQUkl4NjQ+IgogCi0jOiBuYW1lLWhhc2guYzo1MzIKKyM6IG1pZHguYzoxMjIwCittc2dpZCAiQ291bnRpbmcgcmVmZXJlbmNlZCBvYmplY3RzIgorbXNnc3RyICJDb250YW5kbyBvYmpldG9zIG5vIHJlZmVyZW5jaWFkb3MiCisKKyM6IG1pZHguYzoxMjMwCittc2dpZCAiRmluZGluZyBhbmQgZGVsZXRpbmcgdW5yZWZlcmVuY2VkIHBhY2tmaWxlcyIKK21zZ3N0ciAiRW5jb250cmFuZG8geSBib3JyYW5kbyBwYWNrZmlsZXMgc2luIHJlZmVyZW5jaWFzIgorCisjOiBtaWR4LmM6MTM4OAorbXNnaWQgImNvdWxkIG5vdCBzdGFydCBwYWNrLW9iamVjdHMiCittc2dzdHIgIm5vIHNlIHB1ZG8gZW1wZXphciBsb3MgcGFjay1vYmpldGN0cyIKKworIzogbWlkeC5jOjE0MDcKK21zZ2lkICJjb3VsZCBub3QgZmluaXNoIHBhY2stb2JqZWN0cyIKK21zZ3N0ciAibm8gc2UgcHVkbyBmaW5hbGl6YXIgcGFjay1vYmpldGN0cyIKKworIzogbmFtZS1oYXNoLmM6NTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbGF6eV9kaXIgdGhyZWFkOiAlcyIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBjcmVhciBoaWxvIGxhenlfZGlyOiAlcyIKIAotIzogbmFtZS1oYXNoLmM6NTU0CisjOiBuYW1lLWhhc2guYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsYXp5X25hbWUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBjcmVhciBoaWxvIGxhenlfbmFtZTogJXMiCiAKLSM6IG5hbWUtaGFzaC5jOjU2MAorIzogbmFtZS1oYXNoLmM6NTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBqb2luIGxhenlfbmFtZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIHVuaXIgaGlsbyBsYXp5X25hbWU6ICVzIgogCi0jOiBub3Rlcy1tZXJnZS5jOjI3NQorIzogbm90ZXMtbWVyZ2UuYzoyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBwcmV2aW91cyBub3RlcyBtZXJnZSAoJXMgZXhpc3RzKS5cbiIKQEAgLTM0NDksMjMgKzQ3MTQsMjMgQEAKICJjb25maXJtYXIvYWJvcnRhciBsYSBmdXNpw7NuIHByZXZpYSBhbnRlcyBkZSBxdWUgcHVlZGFzIGNvbWVuemFyIHVuYSBudWV2YSAiCiAibm90YSBkZSBmdXNpw7NuLiIKIAotIzogbm90ZXMtbWVyZ2UuYzoyODIKKyM6IG5vdGVzLW1lcmdlLmM6Mjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBub3RlcyBtZXJnZSAoJXMgZXhpc3RzKS4iCiBtc2dzdHIgIk5vIGhhcyB0ZXJtaW5hZG8gdHVzIG5vdGFzIGRlIGZ1c2nDs24gKCVzIGV4aXN0ZSkuIgogCi0jOiBub3Rlcy11dGlscy5jOjQ1CisjOiBub3Rlcy11dGlscy5jOjQ2CiBtc2dpZCAiQ2Fubm90IGNvbW1pdCB1bmluaXRpYWxpemVkL3VucmVmZXJlbmNlZCBub3RlcyB0cmVlIgogbXNnc3RyICIiCiAiTm8gc2UgcHVlZGUgcmVhbGl6YXIgY29tbWl0LCBub3RhcyBkZWwgw6FyYm9sIG5vIGluaWNpYWxpemFkYXMgbyBubyAiCiAicmVmZXJlbmNpYWRhcyIKIAotIzogbm90ZXMtdXRpbHMuYzoxMDQKKyM6IG5vdGVzLXV0aWxzLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBub3Rlcy5yZXdyaXRlTW9kZSB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAiVmFsb3IgZXJyw7NuZW8gcGFyYSBub3Rlcy5yZXdyaXRlTW9kZTogJyVzJyIKIAotIzogbm90ZXMtdXRpbHMuYzoxMTQKKyM6IG5vdGVzLXV0aWxzLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIHJld3JpdGUgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgogbXNnc3RyICJSZWh1c2FuZG8gcmVlc2NyaWJpciBub3RhcyBlbiAlcyAoZnVlcmEgZGUgcmVmcy9ub3Rlcy8pIgpAQCAtMzQ3NCwxMiArNDczOSwxMiBAQAogIy4gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgc2Vjb25kICVzIGlzCiAjLiBpdHMgdmFsdWUuCiAjLgotIzogbm90ZXMtdXRpbHMuYzoxNDQKKyM6IG5vdGVzLXV0aWxzLmM6MTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCAlcyB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAiVmFsb3IgZXJyw7NuZW8gcGFyYSAlczogJyVzJyIKIAotIzogb2JqZWN0LmM6NTQKKyM6IG9iamVjdC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb2JqZWN0IHR5cGUgXCIlc1wiIgogbXNnc3RyICJ0aXBvIGRlIG9iamV0byBcIiVzXCIgaW52w6FsaWRvIgpAQCAtMzUwMSwzMCArNDc2Niw4NSBAQAogCiAjOiBvYmplY3QuYzoyNjYgb2JqZWN0LmM6Mjc3CiAjLCBjLWZvcm1hdAotbXNnaWQgInNoYTEgbWlzbWF0Y2ggJXMiCi1tc2dzdHIgInNoYTEgbm8gY29uY3VlcmRhICVzIgorbXNnaWQgImhhc2ggbWlzbWF0Y2ggJXMiCittc2dzdHIgImhhc2ggbm8gY29uY3VlcmRhICVzIgogCi0jOiBwYWNrZmlsZS5jOjYwNworIzogcGFja2ZpbGUuYzo2NDEKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIGVuZCBvZiBwYWNrZmlsZSAoYnJva2VuIC5pZHg/KSIKIG1zZ3N0ciAib2Zmc2V0IGFudGVzIGRlbCBmaW5hbCBkZWwgcGFxdWV0ZSAoYnJva2VuIC5pZHg/KSIKIAotIzogcGFja2ZpbGUuYzoxODY0CisjOiBwYWNrZmlsZS5jOjE4ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAib2Zmc2V0IGJlZm9yZSBzdGFydCBvZiBwYWNrIGluZGV4IGZvciAlcyAoY29ycnVwdCBpbmRleD8pIgogbXNnc3RyICIiCi0ib2Zmc2V0IGFudGVzIGRlbCBjb21pZW56byBkZWwgw61uZGljZSBkZWwgcGFxdWV0ZSBwYXJhICVzICjDrW5kaWNlIGNvcnJ1cHRvPykiCisib2Zmc2V0IGFudGVzIGRlbCBjb21pZW56byBkZWwgw61uZGljZSBkZWwgcGFxdWV0ZSBwYXJhICVzICjCv8OtbmRpY2UgY29ycnVwdG8/KSIKIAotIzogcGFja2ZpbGUuYzoxODY4CisjOiBwYWNrZmlsZS5jOjE4OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAib2Zmc2V0IGJleW9uZCBlbmQgb2YgcGFjayBpbmRleCBmb3IgJXMgKHRydW5jYXRlZCBpbmRleD8pIgogbXNnc3RyICIiCi0ib2Zmc2V0IG3DoXMgYWxsw6EgZGVsIMOtbmRpY2UgZGUgZmluIGRlIHBhcXVldGUgcGFyYSAlcyAow61uZGljZSB0cnVuY2Fkbz8pIgorIm9mZnNldCBtw6FzIGFsbMOhIGRlbCDDrW5kaWNlIGRlIGZpbiBkZSBwYXF1ZXRlIHBhcmEgJXMgKMK/w61uZGljZSB0cnVuY2Fkbz8pIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NjcyCisjOiBwYXJzZS1vcHRpb25zLmM6MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYSB2YWx1ZSIKK21zZ3N0ciAiJXMgcmVxdWllcmUgdW4gdmFsb3IiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBpbmNvbXBhdGlibGUgd2l0aCAlcyIKK21zZ3N0ciAiJXMgZXMgaW5jb21wYXRpYmxlIGNvbiAlcyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIDogaW5jb21wYXRpYmxlIHdpdGggc29tZXRoaW5nIGVsc2UiCittc2dzdHIgIiVzIDogaW5jb21wYXRpYmxlIGNvbiBvdHJhIGNvc2EiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo5MiBwYXJzZS1vcHRpb25zLmM6OTYgcGFyc2Utb3B0aW9ucy5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0YWtlcyBubyB2YWx1ZSIKK21zZ3N0ciAiJXMgbm8gdG9tYSB2YWxvcmVzIgorCisjOiBwYXJzZS1vcHRpb25zLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXNuJ3QgYXZhaWxhYmxlIgorbXNnc3RyICIlcyBubyBlc3TDoSBkaXNwb25pYmxlIgorCisjOiBwYXJzZS1vcHRpb25zLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGV4cGVjdHMgYSBub24tbmVnYXRpdmUgaW50ZWdlciB2YWx1ZSB3aXRoIGFuIG9wdGlvbmFsIGsvbS9nIHN1ZmZpeCIKK21zZ3N0ciAiJXMgZXNwZXJhIHVuIHZhbG9yIGVudGVybyBubyBuZWdhdGl2byBjb24gdW4gc3VmaWpvIG9wY2lvbmFsIGsvbS9nIgorCisjOiBwYXJzZS1vcHRpb25zLmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgImFtYmlndW91cyBvcHRpb246ICVzIChjb3VsZCBiZSAtLSVzJXMgb3IgLS0lcyVzKSIKK21zZ3N0ciAib3BjacOzbiBhbWJpZ3VhOiAlcyAocHVlZGUgc2VyIC0tJXMlcyBvIC0tJXMlcykiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo0MjMgcGFyc2Utb3B0aW9ucy5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJkaWQgeW91IG1lYW4gYC0tJXNgICh3aXRoIHR3byBkYXNoZXMgPykiCittc2dzdHIgIsK/cXVpc2lzdGUgZGVjaXIgYC0tJXNgIChjb24gZG9zIGd1aW9uZXMpPyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiBgJXMnIgorbXNnc3RyICJvcGNpw7NuIGAlcycgZGVzY29ub2NpZGEiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo4NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzd2l0Y2ggYCVjJyIKK21zZ3N0ciAic3dpdGNoIGRlc2Nvbm9jaWRvIGAlYyciCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo4NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBub24tYXNjaWkgb3B0aW9uIGluIHN0cmluZzogYCVzJyIKK21zZ3N0ciAib3BjacOzbiBkZXNjb25vY2lkYSBlbiBzdHJpbmcgbm8gYXNjaWk6IGAlcyciCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo4ODgKIG1zZ2lkICIuLi4iCiBtc2dzdHIgIi4uLiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjY5MQorIzogcGFyc2Utb3B0aW9ucy5jOjkwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMiCiBtc2dzdHIgInVzbzogJXMiCkBAIC0zNTMyLDU5ICs0ODUyLDc0IEBACiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uIGhlcmUgc2hvdWxkIGFsaWduIHdpdGggdGhlCiAjLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24uCiAjLgotIzogcGFyc2Utb3B0aW9ucy5jOjY5NworIzogcGFyc2Utb3B0aW9ucy5jOjkxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICBvcjogJXMiCiBtc2dzdHIgIiAgIG86ICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NzAwCisjOiBwYXJzZS1vcHRpb25zLmM6OTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlcyIKIG1zZ3N0ciAiICAgICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NzM5CisjOiBwYXJzZS1vcHRpb25zLmM6OTU1CiBtc2dpZCAiLU5VTSIKIG1zZ3N0ciAiLU5VTSIKIAotIzogcGFyc2Utb3B0aW9ucy1jYi5jOjM3CisjOiBwYXJzZS1vcHRpb25zLmM6OTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsaWFzIG9mIC0tJXMiCittc2dzdHIgImFsaWFzIGRlIC0tJXMiCisKKyM6IHBhcnNlLW9wdGlvbnMtY2IuYzoyMCBwYXJzZS1vcHRpb25zLWNiLmM6MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKK21zZ3N0ciAib3BjacOzbiBgJXMnIGVzcGVyYSB1biB2YWxvciBudW3DqXJpY28iCisKKyM6IHBhcnNlLW9wdGlvbnMtY2IuYzo0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZXhwaXJhdGlvbiBkYXRlICclcyciCiBtc2dzdHIgImZlY2hhIGRlIGV4cGlyYWNpw7NuIG1hbCBmb3JtYWRhOiAnJXMnIgogCi0jOiBwYXJzZS1vcHRpb25zLWNiLmM6MTA5CisjOiBwYXJzZS1vcHRpb25zLWNiLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgZXhwZWN0cyBcImFsd2F5c1wiLCBcImF1dG9cIiwgb3IgXCJuZXZlclwiIgorbXNnc3RyICJvcGNpw7NuIGAlcycgcHVlZGUgdXNhciBcImFsd2F5c1wiLCBcImF1dG9cIiwgbyBcIm5ldmVyXCIiCisKKyM6IHBhcnNlLW9wdGlvbnMtY2IuYzoxMzAgcGFyc2Utb3B0aW9ucy1jYi5jOjE0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJyVzJyIKIG1zZ3N0ciAibm9tYnJlIGRlIG9iamV0byBtYWwgZm9ybWFkbyAnJXMnIgogCi0jOiBwYXRoLmM6ODk0CisjOiBwYXRoLmM6OTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtYWtlICVzIHdyaXRhYmxlIGJ5IGdyb3VwIgogbXNnc3RyICJObyBzZSBwdWRvIGhhY2VyIHF1ZSAlcyBmdWVyYSBlc2NyaWJpYmxlIHBvciBlbCBncnVwbyIKIAotIzogcGF0aHNwZWMuYzoxMjkKKyM6IHBhdGhzcGVjLmM6MTMwCiBtc2dpZCAiRXNjYXBlIGNoYXJhY3RlciAnXFwnIG5vdCBhbGxvd2VkIGFzIGxhc3QgY2hhcmFjdGVyIGluIGF0dHIgdmFsdWUiCiBtc2dzdHIgIiIKICJDYXLDoWN0ZXIgZGUgZXNjYXBlICdcXCcgbm8gcGVybWl0aWRvIGNvbW8gw7psdGltbyBjYXLDoWN0ZXIgZW4gZWwgdmFsb3IgYXR0ciIKIAotIzogcGF0aHNwZWMuYzoxNDcKKyM6IHBhdGhzcGVjLmM6MTQ4CiBtc2dpZCAiT25seSBvbmUgJ2F0dHI6JyBzcGVjaWZpY2F0aW9uIGlzIGFsbG93ZWQuIgogbXNnc3RyICJTb2xvIHVuYSBlc3BlY2lmaWNhY2nDs24gJ2F0dHInIGVzIHBlcm1pdGlkYS4iCiAKLSM6IHBhdGhzcGVjLmM6MTUwCisjOiBwYXRoc3BlYy5jOjE1MQogbXNnaWQgImF0dHIgc3BlYyBtdXN0IG5vdCBiZSBlbXB0eSIKIG1zZ3N0ciAiZXNwZWNpZmljYWNpw7NuIGF0dHIgbm8gcHVlZGUgZXN0YXIgdmFjw61hIgogCi0jOiBwYXRoc3BlYy5jOjE5MworIzogcGF0aHNwZWMuYzoxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBhdHRyaWJ1dGUgbmFtZSAlcyIKIG1zZ3N0ciAibm9tYnJlIGRlIGF0cmlidXRvICVzIGludsOhbGlkbyIKIAotIzogcGF0aHNwZWMuYzoyNTgKKyM6IHBhdGhzcGVjLmM6MjU5CiBtc2dpZCAiZ2xvYmFsICdnbG9iJyBhbmQgJ25vZ2xvYicgcGF0aHNwZWMgc2V0dGluZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiIgogImNvbmZpZ3VyYWNpb25lcyBnbG9iYWxlcyBkZSBwYXRoc3BlYyAnZ2xvYicgeSAnbm9nbG9iJyBzb24gaW5jb21wYXRpYmxlcyIKIAotIzogcGF0aHNwZWMuYzoyNjUKKyM6IHBhdGhzcGVjLmM6MjY2CiBtc2dpZCAiIgogImdsb2JhbCAnbGl0ZXJhbCcgcGF0aHNwZWMgc2V0dGluZyBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgZ2xvYmFsICIKICJwYXRoc3BlYyBzZXR0aW5ncyIKQEAgLTM1OTIsMTI4ICs0OTI3LDIwMCBAQAogImxhIGNvbmZpZ3VyYWNpw7NuIGdsb2JhbCBkZSAnbGl0ZXJhbCcgcGFyYSBwYXRyb25lcyBkZSBydXRhIGVzIGluY29tcGF0aWJsZSAiCiAiY29uIGxhcyBkZW3DoXMgY29uZmlndXJhY2lvbmVzIGdsb2JhbGVzIGRlIHBhdHJvbmVzIGRlIHJ1dGEiCiAKLSM6IHBhdGhzcGVjLmM6MzA1CisjOiBwYXRoc3BlYy5jOjMwNgogbXNnaWQgImludmFsaWQgcGFyYW1ldGVyIGZvciBwYXRoc3BlYyBtYWdpYyAncHJlZml4JyIKIG1zZ3N0ciAicGFyw6FtZXRybyBubyB2w6FsaWRvIHBhcmEgZWwgcHJlZmlqbyAnbWFnaWMgcGF0aHNwZWMnIgogCi0jOiBwYXRoc3BlYy5jOjMyNgorIzogcGF0aHNwZWMuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBwYXRoc3BlYyBtYWdpYyAnJS4qcycgaW4gJyVzJyIKIG1zZ3N0ciAiTWFnaWMgcGF0aHNwZWMgaW52w6FsaWRvICclLipzJyBlbiAnJXMnIgogCi0jOiBwYXRoc3BlYy5jOjMzMQorIzogcGF0aHNwZWMuYzozMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWlzc2luZyAnKScgYXQgdGhlIGVuZCBvZiBwYXRoc3BlYyBtYWdpYyBpbiAnJXMnIgogbXNnc3RyICJGYWx0YSAnKScgYWwgZmluYWwgZGVsIG1hZ2ljIHBhdGhzcGVjIGVuICclcyciCiAKLSM6IHBhdGhzcGVjLmM6MzY5CisjOiBwYXRoc3BlYy5jOjM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmltcGxlbWVudGVkIHBhdGhzcGVjIG1hZ2ljICclYycgaW4gJyVzJyIKIG1zZ3N0ciAiTWFnaWMgcGF0aHNwZWMgJyVjJyBubyBpbXBsZW1lbnRhZG8gZW4gJyVzJyIKIAotIzogcGF0aHNwZWMuYzo0MjgKKyM6IHBhdGhzcGVjLmM6NDI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAnbGl0ZXJhbCcgYW5kICdnbG9iJyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIlczogJ2xpdGVyYWwnIHkgJ2dsb2InIHNvbiBpbmNvbXBhdGlibGVzIgogCi0jOiBwYXRoc3BlYy5jOjQ0MQorIzogcGF0aHNwZWMuYzo0NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IgogbXNnc3RyICIlczogJyVzJyBlc3TDoSBmdWVyYSBkZWwgcmVwb3NpdG9yaW8iCiAKLSM6IHBhdGhzcGVjLmM6NTE1CisjOiBwYXRoc3BlYy5jOjUxNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIChtbmVtb25pYzogJyVjJykiCiBtc2dzdHIgIiclcycgKG5lbW90w6ljbmljbzogJyVjJykiCiAKLSM6IHBhdGhzcGVjLmM6NTI1CisjOiBwYXRoc3BlYy5jOjUyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGF0aHNwZWMgbWFnaWMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvbW1hbmQ6ICVzIgogbXNnc3RyICIlczogbWFnaWMgcGF0aHNwZWMgbm8gc29wb3J0YWRvIHBvciBlc3RlIGNvbWFuZG86ICVzIgogCi0jOiBwYXRoc3BlYy5jOjU5MgorIzogcGF0aHNwZWMuYzo1OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICJlbCBwYXRyw7NuIGRlIHJ1dGEgJyVzJyBlc3TDoSBkZXRyw6FzIGRlIHVuIGVubGFjZSBzaW1iw7NsaWNvIgogCi0jOiBwa3QtbGluZS5jOjEwNAorIzogcGF0aHNwZWMuYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSBpcyBiYWRseSBxdW90ZWQ6ICVzIgorbXNnc3RyICJsYSBsw61uZWEgZXN0w6EgbcOhbCBjaXRhZGE6ICVzIgorCisjOiBwa3QtbGluZS5jOjkyCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZsdXNoIHBhY2tldCIKK21zZ3N0ciAibm8gZXMgcG9zaWJsZSBlc2NyaWJpciBmbHVzaCBwYWNrZXQiCisKKyM6IHBrdC1saW5lLmM6OTkKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZGVsaW0gcGFja2V0IgorbXNnc3RyICJubyBlcyBwb3NpYmxlIGVzY3JpYmlyIGRlbGltIHBhY2tldCIKKworIzogcGt0LWxpbmUuYzoxMDYKIG1zZ2lkICJmbHVzaCBwYWNrZXQgd3JpdGUgZmFpbGVkIgogbXNnc3RyICJsaW1waWV6YSBkZSBlc2NyaXR1cmEgZGUgcGFxdWV0ZXMgZmFsbMOzIgogCi0jOiBwa3QtbGluZS5jOjE0MiBwa3QtbGluZS5jOjIyOAorIzogcGt0LWxpbmUuYzoxNDYgcGt0LWxpbmUuYzoyMzIKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogaW1wb3NzaWJseSBsb25nIGxpbmUiCiBtc2dzdHIgImVycm9yIGRlIHByb3RvY29sbzogbMOtbmVhIGltcG9zaWJsZW1lbnRlIGxhcmdhIgogCi0jOiBwa3QtbGluZS5jOjE1OCBwa3QtbGluZS5jOjE2MAorIzogcGt0LWxpbmUuYzoxNjIgcGt0LWxpbmUuYzoxNjQKIG1zZ2lkICJwYWNrZXQgd3JpdGUgd2l0aCBmb3JtYXQgZmFpbGVkIgogbXNnc3RyICJlc2NyaXR1cmEgZGUgcGFxdWV0ZXMgY29uIGZvcm1hdG8gZmFsbMOzIgogCi0jOiBwa3QtbGluZS5jOjE5MgorIzogcGt0LWxpbmUuYzoxOTYKIG1zZ2lkICJwYWNrZXQgd3JpdGUgZmFpbGVkIC0gZGF0YSBleGNlZWRzIG1heCBwYWNrZXQgc2l6ZSIKIG1zZ3N0ciAiZmFsbG8gYWwgZXNjcmliaXIgcGFxdWV0ZSAtIGxhIGRhdGEgZXhjZWRlIGFsIHRhbWHDsW8gbcOheGltbyBkZSBwYXF1ZXRlIgogCi0jOiBwa3QtbGluZS5jOjE5OSBwa3QtbGluZS5jOjIwNgorIzogcGt0LWxpbmUuYzoyMDMgcGt0LWxpbmUuYzoyMTAKIG1zZ2lkICJwYWNrZXQgd3JpdGUgZmFpbGVkIgogbXNnc3RyICJlc2NyaXR1cmEgZGUgcGFxdWV0ZXMgZmFsbMOzIgogCi0jOiBwa3QtbGluZS5jOjI5MQorIzogcGt0LWxpbmUuYzoyOTUKIG1zZ2lkICJyZWFkIGVycm9yIgogbXNnc3RyICJlcnJvciBkZSBsZWN0dXJhIgogCi0jOiBwa3QtbGluZS5jOjI5OQorIzogcGt0LWxpbmUuYzozMDMKIG1zZ2lkICJ0aGUgcmVtb3RlIGVuZCBodW5nIHVwIHVuZXhwZWN0ZWRseSIKIG1zZ3N0ciAiZWwgcmVtb3RvIHNlIGNvbGfDsyBkZSBtYW5lcmEgaW5lc3BlcmFkYSIKIAotIzogcGt0LWxpbmUuYzozMjcKKyM6IHBrdC1saW5lLmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgbGluZSBsZW5ndGggY2hhcmFjdGVyOiAlLjRzIgogbXNnc3RyICJlcnJvciBkZSBwcm90b2NvbG86IG1hbCBjYXJhY3RlciBkZSBsYXJnbyBkZSBsw61uZWE6ICUuNHMiCiAKLSM6IHBrdC1saW5lLmM6MzM3IHBrdC1saW5lLmM6MzQyCisjOiBwa3QtbGluZS5jOjM0MSBwa3QtbGluZS5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIGxpbmUgbGVuZ3RoICVkIgogbXNnc3RyICJlcnJvciBkZSBwcm90b2NvbG86IG1hbCBsYXJnbyBkZSBsw61uZWEgJWQiCiAKLSM6IHByZWxvYWQtaW5kZXguYzoxMTgKKyM6IHBrdC1saW5lLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW90ZSBlcnJvcjogJXMiCittc2dzdHIgImVycm9yIHJlbW90bzogJXMiCisKKyM6IHByZWxvYWQtaW5kZXguYzoxMTkKIG1zZ2lkICJSZWZyZXNoaW5nIGluZGV4IgogbXNnc3RyICJSZWZyZXNjYW5kbyBpbmRleCIKIAotIzogcHJlbG9hZC1pbmRleC5jOjEzNworIzogcHJlbG9hZC1pbmRleC5jOjEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRocmVhZGVkIGxzdGF0OiAlcyIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBjcmVhciBsc3RhdCBoaWxhZG86ICVzIgogCi0jOiBwcmV0dHkuYzo5NjIKKyM6IHByZXR0eS5jOjk4MQogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAtLXByZXR0eSBmb3JtYXQiCiBtc2dzdHIgImluY2FwYXogZGUgYW5hbGl6YXIgZWwgZm9ybWF0byAtLXByZXR0eSIKIAotIzogcmFuZ2UtZGlmZi5jOjU2CisjOiBwcm9taXNvci1yZW1vdGUuYzoyMworbXNnaWQgIlJlbW90ZSB3aXRoIG5vIFVSTCIKK21zZ3N0ciAiUmVtb3RvIHNpbiBVUkwiCisKKyM6IHByb21pc29yLXJlbW90ZS5jOjU4CisjLCBjLWZvcm1hdAorbXNnaWQgInByb21pc29yIHJlbW90ZSBuYW1lIGNhbm5vdCBiZWdpbiB3aXRoICcvJzogJXMiCittc2dzdHIgIm5vbWJyZSByZW1vdG8gcHJvbWlzb3Igbm8gcHVlZGUgY29tZW56YXIgY29uICcvJzogJXMiCisKKyM6IHJhbmdlLWRpZmYuYzo3NQogbXNnaWQgImNvdWxkIG5vdCBzdGFydCBgbG9nYCIKIG1zZ3N0ciAibm8gc2UgcHVkbyBjb21lbnphciBgbG9nYCIKIAotIzogcmFuZ2UtZGlmZi5jOjU5CisjOiByYW5nZS1kaWZmLmM6NzcKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBgbG9nYCBvdXRwdXQiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gbGVlciBvdXRwdXQgZGUgYGxvZ2AiCiAKLSM6IHJhbmdlLWRpZmYuYzo3NCBzZXF1ZW5jZXIuYzo0NzY0CisjOiByYW5nZS1kaWZmLmM6OTYgc2VxdWVuY2VyLmM6NTE2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gYW5hbGl6YXIgY29tbWl0ICclcyciCiAKLSM6IHJhbmdlLWRpZmYuYzoyMjQKKyM6IHJhbmdlLWRpZmYuYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGdpdCBoZWFkZXIgJyUuKnMnIgorbXNnc3RyICJubyBzZSBwdWVkZSBhbmFsaXphciBnaXQgaGVhZGVyICclLipzJyIKKworIzogcmFuZ2UtZGlmZi5jOjI4NQogbXNnaWQgImZhaWxlZCB0byBnZW5lcmF0ZSBkaWZmIgogbXNnc3RyICJmYWxsw7MgYWwgZ2VuZXJhciBkaWZmIgogCi0jOiByYW5nZS1kaWZmLmM6NDU1IHJhbmdlLWRpZmYuYzo0NTcKKyM6IHJhbmdlLWRpZmYuYzo1MTggcmFuZ2UtZGlmZi5jOjUyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgbG9nIGZvciAnJXMnIgogbXNnc3RyICJubyBzZSBwdWRvIGxlZXIgZWwgbG9nIHBhcmEgJyVzJyIKIAotIzogcmVhZC1jYWNoZS5jOjE0OTAKKyM6IHJlYWQtY2FjaGUuYzo2ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgYWRkIGZpbGUgYWxpYXMgJyVzJyAoJyVzJyBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCkiCittc2dzdHIgIm5vIGFncmVnYXLDoSBhbGlhcyBkZSBhcmNoaXZvICclcycgKCclcycgeWEgZXhpc3RlIGVuIGVsIGluZGV4KSIKKworIzogcmVhZC1jYWNoZS5jOjY5NgorbXNnaWQgImNhbm5vdCBjcmVhdGUgYW4gZW1wdHkgYmxvYiBpbiB0aGUgb2JqZWN0IGRhdGFiYXNlIgorbXNnc3RyICJubyBzZSBwdWVkZSBjcmVhciB1biBibG9iIHZhY8OtbyBlbiBsYSBiYXNlIGRlIGRhdG9zIGRlIG9iamV0b3MiCisKKyM6IHJlYWQtY2FjaGUuYzo3MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbiBvbmx5IGFkZCByZWd1bGFyIGZpbGVzLCBzeW1ib2xpYyBsaW5rcyBvciBnaXQtZGlyZWN0b3JpZXMiCittc2dzdHIgIiIKKyIlczogc29sbyBwdWVkZSBhZ3JlZ2FyIGFyY2hpdm9zIHJlZ3VsYXJlcywgc3ltYm9saWMgbGlua3MgbyBnaXQtZGlyZWN0b3JpZXMiCisKKyM6IHJlYWQtY2FjaGUuYzo3MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBkb2VzIG5vdCBoYXZlIGEgY29tbWl0IGNoZWNrZWQgb3V0IgorbXNnc3RyICInJXMnIG5vIHRpZW5lIHVuIGNvbW1pdCBjaGVja2VkIG91dCIKKworIzogcmVhZC1jYWNoZS5jOjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gaW5kZXggZmlsZSAnJXMnIgorbXNnc3RyICJubyBlcyBwb3NpYmxlIGluZGV4YXIgYXJjaGl2byAnJXMnIgorCisjOiByZWFkLWNhY2hlLmM6Nzk0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhZGQgJyVzJyB0byBpbmRleCIKK21zZ3N0ciAibm8gZXMgcG9zaWJsZSBhZ3JlZ2FyICclcycgYWwgaW5kZXgiCisKKyM6IHJlYWQtY2FjaGUuYzo4MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHN0YXQgJyVzJyIKK21zZ3N0ciAiaW5jYXBheiBkZSBjb3JyZXIgc3RhdCBlbiAnJXMnIgorCisjOiByZWFkLWNhY2hlLmM6MTMyNQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGFwcGVhcnMgYXMgYm90aCBhIGZpbGUgYW5kIGFzIGEgZGlyZWN0b3J5IgorbXNnc3RyICInJXMnIHBhcmVjZSBzZXIgdW4gZGlyZWN0b3JpbyB5IHVuIGFyY2hpdm8gYSBsYSB2ZXoiCisKKyM6IHJlYWQtY2FjaGUuYzoxNTMxCiBtc2dpZCAiUmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAiUmVmcmVzY2FyIGluZGV4IgogCi0jOiByZWFkLWNhY2hlLmM6MTYwNAorIzogcmVhZC1jYWNoZS5jOjE2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImluZGV4LnZlcnNpb24gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0zNzIyLDcgKzUxMjksNyBAQAogImluZGV4LnZlcnNpb24gY29uZmlndXJhZG8sIHBlcm8gZWwgdmFsb3Igbm8gZXMgdsOhbGlkby5cbiIKICJVc2FuZG8gdmVyc2nDs24gJWkiCiAKLSM6IHJlYWQtY2FjaGUuYzoxNjE0CisjOiByZWFkLWNhY2hlLmM6MTY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiR0lUX0lOREVYX1ZFUlNJT04gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0zNzMxLDYwICs1MTM4LDE1MCBAQAogIkdJVF9JTkRFWF9WRVJTSU9OIGNvbmZpZ3VyYWRvLCBwZXJvIGVsIHZhbG9yIG5vIGVzIHbDoWxpZG8uXG4iCiAiVXNhbmRvIHZlcnNpw7NuICVpIgogCi0jOiByZWFkLWNhY2hlLmM6MTc5MgorIzogcmVhZC1jYWNoZS5jOjE3MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNpZ25hdHVyZSAweCUwOHgiCittc2dzdHIgIm1hbGEgZmlybWEgMHglMDh4IgorCisjOiByZWFkLWNhY2hlLmM6MTcxNQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAlZCIKK21zZ3N0ciAibWFsYSB2ZXJzacOzbiBkZWwgw61uZGljZSAlZCIKKworIzogcmVhZC1jYWNoZS5jOjE3MjQKK21zZ2lkICJiYWQgaW5kZXggZmlsZSBzaGExIHNpZ25hdHVyZSIKK21zZ3N0ciAibWFsYSBmaXJtYSBzaGExIGRlbCBhcmNoaXZvIGluZGV4IgorCisjOiByZWFkLWNhY2hlLmM6MTc1NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbmRleCB1c2VzICUuNHMgZXh0ZW5zaW9uLCB3aGljaCB3ZSBkbyBub3QgdW5kZXJzdGFuZCIKK21zZ3N0ciAiaW5kZXggdXNhICUuNHMgZXh0ZW5zaW9uZXMsIGNvc2EgcXVlIG5vIGVudGVuZGVtb3MiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nICUuNHMgZXh0ZW5zaW9uIgorbXNnc3RyICJpZ25vcmFuZG8gZXh0ZW5zacOzbiAlLjRzIgorCisjOiByZWFkLWNhY2hlLmM6MTc5MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGluZGV4IGVudHJ5IGZvcm1hdCAweCUwOHgiCittc2dzdHIgImZvcm1hdG8gZGUgaW5kZXggZGVzY29ub2NpZG8gMHglMDh4IgorCisjOiByZWFkLWNhY2hlLmM6MTgwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgbmFtZSBmaWVsZCBpbiB0aGUgaW5kZXgsIG5lYXIgcGF0aCAnJXMnIgogbXNnc3RyICJjYW1wbyBub21icmUgbWFsZm9ybWFkbyBlbiBlbCBpbmRleCwgY2VyY2EgYSBydXRhICclcyciCiAKLSM6IHJlYWQtY2FjaGUuYzoxOTYwIHJlcmVyZS5jOjU2NSByZXJlcmUuYzo1OTkgcmVyZXJlLmM6MTExMSBidWlsdGluL2FkZC5jOjQ1OAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzcgYnVpbHRpbi9jaGVja291dC5jOjI4OSBidWlsdGluL2NoZWNrb3V0LmM6NTg1Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTUzIGJ1aWx0aW4vY2xlYW4uYzo5NTQgYnVpbHRpbi9jb21taXQuYzozNDMKLSM6IGJ1aWx0aW4vZGlmZi10cmVlLmM6MTE1IGJ1aWx0aW4vZ3JlcC5jOjQ4OSBidWlsdGluL212LmM6MTQ0Ci0jOiBidWlsdGluL3Jlc2V0LmM6MjQ0IGJ1aWx0aW4vcm0uYzoyNzAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMyOQorIzogcmVhZC1jYWNoZS5jOjE4NjYKK21zZ2lkICJ1bm9yZGVyZWQgc3RhZ2UgZW50cmllcyBpbiBpbmRleCIKK21zZ3N0ciAiZW50cmFkYXMgZW4gc3RhZ2UgZGVzb3JkZW5hZGFzIGVuIGluZGV4IgorCisjOiByZWFkLWNhY2hlLmM6MTg2OQorIywgYy1mb3JtYXQKK21zZ2lkICJtdWx0aXBsZSBzdGFnZSBlbnRyaWVzIGZvciBtZXJnZWQgZmlsZSAnJXMnIgorbXNnc3RyICJtw7psdGlwbGVzIGVudHJhZGFzIGV4dHJhw7FhcyBwYXJhIGFyY2hpdm8gZnVzaW9uYWRvICclcyciCisKKyM6IHJlYWQtY2FjaGUuYzoxODcyCisjLCBjLWZvcm1hdAorbXNnaWQgInVub3JkZXJlZCBzdGFnZSBlbnRyaWVzIGZvciAnJXMnIgorbXNnc3RyICJlbnRyYWRhcyBkZSBzdGFnZSBkZXNvcmRlbmFkYXMgcGFyYSAnJXMnIgorCisjOiByZWFkLWNhY2hlLmM6MTk3OCByZWFkLWNhY2hlLmM6MjI2NiByZXJlcmUuYzo1NjUgcmVyZXJlLmM6NTk5IHJlcmVyZS5jOjExMTEKKyM6IGJ1aWx0aW4vYWRkLmM6NDk5IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTc4IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NzAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NTQgYnVpbHRpbi9jbGVhbi5jOjk2NyBidWlsdGluL2NvbW1pdC5jOjM2NworIzogYnVpbHRpbi9kaWZmLXRyZWUuYzoxMjAgYnVpbHRpbi9ncmVwLmM6NDk5IGJ1aWx0aW4vbXYuYzoxNDUKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyNDYgYnVpbHRpbi9ybS5jOjI3MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzMyCiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IgogbXNnc3RyICJhcmNoaXZvIMOtbmRpY2UgY29ycm9tcGlkbyIKIAotIzogcmVhZC1jYWNoZS5jOjIxMDEKKyM6IHJlYWQtY2FjaGUuYzoyMTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbG9hZF9jYWNoZV9lbnRyaWVzIHRocmVhZDogJXMiCiBtc2dzdHIgIm5vIGVzIHBvc2libGUgY3JlYXIgaGlsbyBsb2FkX2NhY2hlX2VudHJpZXM6ICVzIgogCi0jOiByZWFkLWNhY2hlLmM6MjExNAorIzogcmVhZC1jYWNoZS5jOjIxMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGpvaW4gbG9hZF9jYWNoZV9lbnRyaWVzIHRocmVhZDogJXMiCiBtc2dzdHIgIm5vIGVzIHBvc2libGUgdW5pciBoaWxvIGxvYWRfY2FjaGVfZW50aXJlczogJXMiCiAKLSM6IHJlYWQtY2FjaGUuYzoyMjAxCisjOiByZWFkLWNhY2hlLmM6MjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5kZXggZmlsZSBvcGVuIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZhbGzDsyBhbCBhYnJpciBlbCBhcmNoaXZvIGluZGV4IgorCisjOiByZWFkLWNhY2hlLmM6MjE2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHN0YXQgdGhlIG9wZW4gaW5kZXgiCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBoYWNlciBzdGF0IGRlbCBpbmRleCBhYmllcnRvIgorCisjOiByZWFkLWNhY2hlLmM6MjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5kZXggZmlsZSBzbWFsbGVyIHRoYW4gZXhwZWN0ZWQiCittc2dzdHIgIiVzOiBhcmNoaXZvIGluZGV4IG3DoXMgcGVxdWXDsW8gZGUgbG8gZXNwZXJhZG8iCisKKyM6IHJlYWQtY2FjaGUuYzoyMTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gbWFwIGluZGV4IGZpbGUiCittc2dzdHIgIiVzOiBubyBzZSBwdWRvIG1hcGVhciBlbCBhcmNoaXZvIGluZGV4IgorCisjOiByZWFkLWNhY2hlLmM6MjIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxvYWRfaW5kZXhfZXh0ZW5zaW9ucyB0aHJlYWQ6ICVzIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGNyZWFyIGhpbG8gbG9hZF9pbmRleF9leHRlbnNpb25zOiAlcyIKIAotIzogcmVhZC1jYWNoZS5jOjIyMjgKKyM6IHJlYWQtY2FjaGUuYzoyMjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBqb2luIGxvYWRfaW5kZXhfZXh0ZW5zaW9ucyB0aHJlYWQ6ICVzIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIHVuaXIgaGlsbyBsb2FkX2luZGV4X2V4dGVuc2lvbnM6ICVzIgogCi0jOiByZWFkLWNhY2hlLmM6Mjk4MiBzZXF1ZW5jZXIuYzo0NzI3IHdyYXBwZXIuYzo2NTggYnVpbHRpbi9tZXJnZS5jOjEwODYKKyM6IHJlYWQtY2FjaGUuYzoyMjc4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmcmVzaGVuIHNoYXJlZCBpbmRleCAnJXMnIgorbXNnc3RyICJubyBzZSBwdWRvIHJlZnJlc2NhciBlbCBpbmRleCBjb21wYXJ0aWRvICclcyciCisKKyM6IHJlYWQtY2FjaGUuYzoyMzI1CisjLCBjLWZvcm1hdAorbXNnaWQgImJyb2tlbiBpbmRleCwgZXhwZWN0ICVzIGluICVzLCBnb3QgJXMiCittc2dzdHIgImluZGV4IHJvdG8sIHNlIGVzcGVyYWJhICVzIGVuICVzLCBzZSBvYnR1dm8gJXMiCisKKyM6IHJlYWQtY2FjaGUuYzozMDIxIHN0cmJ1Zi5jOjExNDUgd3JhcHBlci5jOjYyMiBidWlsdGluL21lcmdlLmM6MTExOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBjZXJyYXIgJyVzJyIKIAotIzogcmVhZC1jYWNoZS5jOjMwNTUgc2VxdWVuY2VyLmM6MjIwMyBzZXF1ZW5jZXIuYzozNTkyCisjOiByZWFkLWNhY2hlLmM6MzEyNCBzZXF1ZW5jZXIuYzoyNDI5IHNlcXVlbmNlci5jOjQwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBkZWZpbmlyICclcyciCiAKLSM6IHJlYWQtY2FjaGUuYzozMDY4CisjOiByZWFkLWNhY2hlLmM6MzEzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiBnaXQgZGlyOiAlcyIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBhYnJpciBlbCBkaXJlY3RvcmlvIGRlIGdpdDogJXMiCiAKLSM6IHJlYWQtY2FjaGUuYzozMDgwCisjOiByZWFkLWNhY2hlLmM6MzE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdW5saW5rOiAlcyIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBlbGltaW5hciBlbCB2aW5jdWxvOiAlcyIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTAKKyM6IHJlYWQtY2FjaGUuYzozMTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaXggcGVybWlzc2lvbiBiaXRzIG9uICclcyciCittc2dzdHIgIm5vIHNlIHB1ZG8gYXJyZWdsYXIgYml0cyBkZSBwZXJtaXNvcyBlbiAnJXMnIgorCisjOiByZWFkLWNhY2hlLmM6MzMyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRyb3AgdG8gc3RhZ2UgIzAiCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBlbGltaW5hciBhIHN0YWdlICMwIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidW5yZWNvZ25pemVkIHNldHRpbmcgJXMgZm9yIG9wdGlvbiByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4gSWdub3JpbmcuIgorbXNnc3RyICIiCisib3BjacOzbiAlcyBubyByZWNvbm9jaWRhIHBhcmEgbGEgb3BjacOzbiByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4gSWdub3JhbmRvLiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MzUKIG1zZ2lkICIiCiAiXG4iCiAiQ29tbWFuZHM6XG4iCkBAIC0zODI2LDcgKzUzMjMsMTQgQEAKICJFc3RhcyBsw61uZWFzIHB1ZWRlbiBzZXIgcmVvcmRlbmFkYXM7IHNvbiBlamVjdXRhZGFzIGRlc2RlIGFycmliYSBoYWNpYSAiCiAiYWJham8uXG4iCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjMxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxNzMKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kKSIKK21zZ2lkX3BsdXJhbCAiUmViYXNlICVzIG9udG8gJXMgKCVkIGNvbW1hbmRzKSIKK21zZ3N0clswXSAiUmViYXNlICVzIGVuICVzICglZCBjb21hbmRvKSIKK21zZ3N0clsxXSAiUmViYXNlICVzIGVuICVzICglZCBjb21hbmRvcykiCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjY1IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMjgKIG1zZ2lkICIiCiAiXG4iCiAiRG8gbm90IHJlbW92ZSBhbnkgbGluZS4gVXNlICdkcm9wJyBleHBsaWNpdGx5IHRvIHJlbW92ZSBhIGNvbW1pdC5cbiIKQEAgLTM4MzQsMTUgKzUzMzgsMTUgQEAKICJcbiIKICJObyBlbGltaW5hciBuaW5ndW5hIGzDrW5lYS4gVXNhICdkcm9wJyBleHBsw61jaXRhbWVudGUgcGFyYSBib3JyYXIgdW4gY29tbWl0IFxuIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzozNCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTc3CisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo2OCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjMyCiBtc2dpZCAiIgogIlxuIgogIklmIHlvdSByZW1vdmUgYSBsaW5lIGhlcmUgVEhBVCBDT01NSVQgV0lMTCBCRSBMT1NULlxuIgogbXNnc3RyICIiCiAiXG4iCi0iU2kgcmVtdWV2ZXMgdW5hIGzDrW5lYSBhcXXDrSBFTCBDT01NSVQgU0UgUEVSREVSw4EuXG4iCisiU2kgZWxpbWluYXMgdW5hIGzDrW5lYSBhcXXDrSBFTCBDT01NSVQgU0UgUEVSREVSw4EuXG4iCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjQwIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MTYKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjc0IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NzEKIG1zZ2lkICIiCiAiXG4iCiAiWW91IGFyZSBlZGl0aW5nIHRoZSB0b2RvIGZpbGUgb2YgYW4gb25nb2luZyBpbnRlcmFjdGl2ZSByZWJhc2UuXG4iCkBAIC0zODUxLDEyICs1MzU1LDEyIEBACiAiXG4iCiBtc2dzdHIgIiIKICJcbiIKLSJFc3RhIGVkaXRhbmRvIGVsIGFyY2hpdm8gVE9ETyBkZSB1biByZWJhc2UgaW50ZXJhY3Rpdm8uXG4iCi0iUGFyYSBjb250aW51YXIgZWwgcmViYXNlIGRlc3B1w6lzIGRlIGVkaXRhciwgZWplY3V0ZTpcbiIKKyJFc3TDoXMgZWRpdGFuZG8gZWwgYXJjaGl2byBUT0RPIGRlIHVuIHJlYmFzZSBpbnRlcmFjdGl2by5cbiIKKyJQYXJhIGNvbnRpbnVhciBlbCByZWJhc2UgZGVzcHXDqXMgZGUgZWRpdGFyLCBlamVjdXRhOlxuIgogIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKICJcbiIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6NDUgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg5MworIzogcmViYXNlLWludGVyYWN0aXZlLmM6NzkgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk0OAogbXNnaWQgIiIKICJcbiIKICJIb3dldmVyLCBpZiB5b3UgcmVtb3ZlIGV2ZXJ5dGhpbmcsIHRoZSByZWJhc2Ugd2lsbCBiZSBhYm9ydGVkLlxuIgpAQCAtMzg2NiwxMjUgKzUzNzAsMTU3IEBACiAiQ29tbyBzZWEsIHNpIHF1aWVyZXMgYm9ycmFyIHRvZG8sIGVsIHJlYmFzZSBzZXLDoSBhYm9ydGFkby5cbiIKICJcbiIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6NTEgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkwMAorIzogcmViYXNlLWludGVyYWN0aXZlLmM6ODUgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk1NQogbXNnaWQgIk5vdGUgdGhhdCBlbXB0eSBjb21taXRzIGFyZSBjb21tZW50ZWQgb3V0IgogbXNnc3RyICJUZW5nYSBlbiBjdWVudGEgcXVlIGxvcyBjb21taXRzIHZhY8Otb3MgZXN0w6FuIGNvbWVudGFkb3MiCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjYyIHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjc1IHNlcXVlbmNlci5jOjIxODYKLSM6IHNlcXVlbmNlci5jOjQ1MDUgc2VxdWVuY2VyLmM6NDU2MSBzZXF1ZW5jZXIuYzo0ODM2CisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoxMDUgcmVyZXJlLmM6NDg1IHJlcmVyZS5jOjY5MiBzZXF1ZW5jZXIuYzozNTM2CisjOiBzZXF1ZW5jZXIuYzozNTYyIHNlcXVlbmNlci5jOjUyNjMgYnVpbHRpbi9mc2NrLmM6MzQ2IGJ1aWx0aW4vcmViYXNlLmM6MjU0CiAjLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgotbXNnc3RyICJubyBzZSBwdWVkZSBsZWVyICclcycuIgorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSAnJXMnIgorbXNnc3RyICJubyBzZSBwdWRvIGVzY3JpYmlyICclcyciCiAKLSM6IHJlZnMuYzoxOTIKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY29weSAnJXMnIHRvICclcycuIgorbXNnc3RyICJubyBzZSBwdWRvIGNvcGlhciAnJXMnIGEgJyVzJy4iCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV2FybmluZzogc29tZSBjb21taXRzIG1heSBoYXZlIGJlZW4gZHJvcHBlZCBhY2NpZGVudGFsbHkuXG4iCisiRHJvcHBlZCBjb21taXRzIChuZXdlciB0byBvbGRlcik6XG4iCittc2dzdHIgIiIKKyJQZWxpZ3JvOiBhbGd1bm9zIGNvbW1pdHMgcHVlZGVuIGhhYmVyIHNpZG8gYm90YWRvcyBkZSBmb3JtYSBhY2NpZGVudGFsLlxuIgorIkNvbW1pdHMgYm90YWRvcyAoZW1wZXphbmRvIGNvbiBlbCBtw6FzIG51ZXZvKTpcbiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUbyBhdm9pZCB0aGlzIG1lc3NhZ2UsIHVzZSBcImRyb3BcIiB0byBleHBsaWNpdGx5IHJlbW92ZSBhIGNvbW1pdC5cbiIKKyJcbiIKKyJVc2UgJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHRvIGNoYW5nZSB0aGUgbGV2ZWwgb2YgIgorIndhcm5pbmdzLlxuIgorIlRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlBhcmEgZXZpdGFyIGVzdGUgbWVuc2FqZSwgdXNlIFwiZHJvcFwiIHBhcmEgZWxpbWluYXIgZGUgZm9ybWEgZXhwbMOtY2l0YSB1biAiCisiY29tbWl0LlxuIgorIlxuIgorIlVzZSAnZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjaycgcGFyYSBjYW1iaWFyIGVsIG5pdmVsIGRlICIKKyJhZHZlcnRlbmNpYXMuXG4iCisiTG9zIHBvc2libGVzIGNvbXBvcnRhbWllbnRvcyBzb246IGlnbm9yZSx3YXJuLGVycm9yLlxuIgorIlxuIgorCisjOiByZWZzLmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgb2JqZWN0ISIKLW1zZ3N0ciAiJXMgbm8gYXB1bnRhIGEgbmluZ8O6biBvYmpldG8gdsOhbGlkbyEiCittc2dzdHIgIsKhJXMgbm8gYXB1bnRhIGEgbmluZ8O6biBvYmpldG8gdsOhbGlkbyEiCiAKLSM6IHJlZnMuYzo1ODMKKyM6IHJlZnMuYzo2NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgZGFuZ2xpbmcgc3ltcmVmICVzIgogbXNnc3RyICJpZ25vcmFuZG8gcmVmZXJlbmNpYSByb3RhICVzIgogCi0jOiByZWZzLmM6NTg1IHJlZi1maWx0ZXIuYzoxOTUxCisjOiByZWZzLmM6NjY5IHJlZi1maWx0ZXIuYzoyMDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCiBtc2dzdHIgImlnbm9yYW5kbyByZWZlcmVuY2lhIHJvdGEgJXMiCiAKLSM6IHJlZnMuYzo3MTEKKyM6IHJlZnMuYzo4MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZzogJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gYWJyaXIgJyVzJyBwYXJhIGVzY3JpdHVyYTogJXMiCiAKLSM6IHJlZnMuYzo3MjEgcmVmcy5jOjc3MgorIzogcmVmcy5jOjgxNCByZWZzLmM6ODY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIHJlZiAnJXMnIgogbXNnc3RyICJubyBzZSBwdWRvIGxlZXIgbGEgcmVmZXJlbmNpYSAnJXMnIgogCi0jOiByZWZzLmM6NzI3CisjOiByZWZzLmM6ODIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZiAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJyZWYgJyVzJyB5YSBleGlzdGUiCiAKLSM6IHJlZnMuYzo3MzIKKyM6IHJlZnMuYzo4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBvYmplY3QgSUQgd2hlbiB3cml0aW5nICclcyciCi1tc2dzdHIgIklEIGRlIG9iamVjdG8gaW5lc3BlcmFkbyBjdWFuZG8gc2UgZXNjcmliw61hICclcyciCittc2dzdHIgIklEIGRlIG9iamVjdG8gaW5lc3BlcmFkbyBhbCBlc2NyaWJpciAnJXMnIgogCi0jOiByZWZzLmM6NzQwIHNlcXVlbmNlci5jOjM5NCBzZXF1ZW5jZXIuYzoyNTEwIHNlcXVlbmNlci5jOjI2MzYKLSM6IHNlcXVlbmNlci5jOjI2NTAgc2VxdWVuY2VyLmM6Mjg3NyBzZXF1ZW5jZXIuYzo0NzI1IHNlcXVlbmNlci5jOjQ3ODgKLSM6IHdyYXBwZXIuYzo2NTYKKyM6IHJlZnMuYzo4MzMgc2VxdWVuY2VyLmM6NDA1IHNlcXVlbmNlci5jOjI3OTMgc2VxdWVuY2VyLmM6Mjk5NworIzogc2VxdWVuY2VyLmM6MzAxMSBzZXF1ZW5jZXIuYzozMjY5IHNlcXVlbmNlci5jOjUxNzkgc3RyYnVmLmM6MTE0MgorIzogd3JhcHBlci5jOjYyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBlc2NyaWJpciBlbiAnJXMnIgogCi0jOiByZWZzLmM6NzY3IHNlcXVlbmNlci5jOjQ3MjMgc2VxdWVuY2VyLmM6NDc4MiB3cmFwcGVyLmM6MjI1IHdyYXBwZXIuYzozOTUKLSM6IGJ1aWx0aW4vYW0uYzo3MjgKKyM6IHJlZnMuYzo4NjAgc3RyYnVmLmM6MTE0MCB3cmFwcGVyLmM6MTg4IHdyYXBwZXIuYzozNTggYnVpbHRpbi9hbS5jOjcxNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxMDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gYWJyaXIgJyVzJyBwYXJhIGVzY3JpdHVyYSIKIAotIzogcmVmcy5jOjc3NAorIzogcmVmcy5jOjg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG9iamVjdCBJRCB3aGVuIGRlbGV0aW5nICclcyciCi1tc2dzdHIgIklEIGRlIG9iamVjdG8gaW5lc3BlcmFkbyBjdWFuZG8gc2UgYm9ycmFiYSAnJXMnIgorbXNnc3RyICJJRCBkZSBvYmplY3RvIGluZXNwZXJhZG8gYWwgYm9ycmFyICclcyciCiAKLSM6IHJlZnMuYzo5MDUKKyM6IHJlZnMuYzo5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9nIGZvciByZWYgJXMgaGFzIGdhcCBhZnRlciAlcyIKIG1zZ3N0ciAibG9nIGRlIHJlZiAlcyB0aWVuZSB1biB2YWPDrW8gdHJhcyAlcyIKIAotIzogcmVmcy5jOjkxMQorIzogcmVmcy5jOjEwMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9nIGZvciByZWYgJXMgdW5leHBlY3RlZGx5IGVuZGVkIG9uICVzIgogbXNnc3RyICJsb2cgZGUgcmVmICVzIGZpbmFsaXphZG8gaW5lc3BlcmFkYW1lbnRlIGVuICVzIgogCi0jOiByZWZzLmM6OTY5CisjOiByZWZzLmM6MTA2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2cgZm9yICVzIGlzIGVtcHR5IgogbXNnc3RyICJsb2cgZGUgJXMgZXN0w6EgdmFjw61vIgogCi0jOiByZWZzLmM6MTA2MQorIzogcmVmcy5jOjExNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmdXNpbmcgdG8gdXBkYXRlIHJlZiB3aXRoIGJhZCBuYW1lICclcyciCiBtc2dzdHIgInJlaHVzYW5kbyBhY3R1YWxpemFyIHJlZiBjb24gbWFsIG5vbWJyZSAnJXMnIgogCi0jOiByZWZzLmM6MTEzNworIzogcmVmcy5jOjEyMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidXBkYXRlX3JlZiBmYWlsZWQgZm9yIHJlZiAnJXMnOiAlcyIKIG1zZ3N0ciAidXBkYXRlX3JlZiBmYWxsw7MgcGFyYSByZWYgJyVzJzogJXMiCiAKLSM6IHJlZnMuYzoxOTExCisjOiByZWZzLmM6MjAyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aXBsZSB1cGRhdGVzIGZvciByZWYgJyVzJyBub3QgYWxsb3dlZCIKIG1zZ3N0ciAibcO6bHRpcGxlcyBhY3R1YWxpemFjaW9uZXMgcGFyYSByZWYgJyVzJyBubyBwZXJtaXRpZGFzIgogCi0jOiByZWZzLmM6MTk0MworIzogcmVmcy5jOjIwNTUKIG1zZ2lkICJyZWYgdXBkYXRlcyBmb3JiaWRkZW4gaW5zaWRlIHF1YXJhbnRpbmUgZW52aXJvbm1lbnQiCiBtc2dzdHIgImFjdHVhbGl6YWNpb25lcyBkZSByZWYgcHJvaGliaWRhcyBkZW50cm8gZGUgYW1iaWVudGUgZGUgY3VhcmVudGVuYSIKIAotIzogcmVmcy5jOjIwMzkgcmVmcy5jOjIwNjkKKyM6IHJlZnMuYzoyMTUxIHJlZnMuYzoyMTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICclcyciCiBtc2dzdHIgIiclcycgZXhpc3RlOyBubyBzZSBwdWVkZSBjcmVhciAnJXMnIgogCi0jOiByZWZzLmM6MjA0NSByZWZzLmM6MjA4MAorIzogcmVmcy5jOjIxNTcgcmVmcy5jOjIxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHByb2Nlc3MgJyVzJyBhbmQgJyVzJyBhdCB0aGUgc2FtZSB0aW1lIgogbXNnc3RyICJubyBzZSBwdWVkZSBwcm9jZXNhciAnJXMnIHkgJyVzJyBhbCBtaXNtbyB0aWVtcG8iCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyMjgKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSByZWZlcmVuY2UgJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gZWxpbWluYXIgbGEgcmVmZXJlbmNpYSAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTI0MiByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTUzMgotIzogcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDIKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyNDggcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDEKKyM6IHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlICVzOiAlcyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBlbGltaW5hciBsYSByZWZlcmVuY2lhICVzOiAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTI0NSByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTU0NQorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTI1MSByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTU1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZXM6ICVzIgogbXNnc3RyICJubyBzZSBwdWRvIGVsaW1pbmFyIGxhIHJlZmVyZW5jaWE6ICVzIgpAQCAtMzk5NCwzNTAgKzU1MzAsNDg1IEBACiBtc2dpZCAiaW52YWxpZCByZWZzcGVjICclcyciCiBtc2dzdHIgInJlZnNwZWMgaW52w6FsaWRvOiAnJXMnIgogCi0jOiByZWYtZmlsdGVyLmM6Mzkgd3Qtc3RhdHVzLmM6MTg1NQorIzogcmVmLWZpbHRlci5jOjQyIHd0LXN0YXR1cy5jOjE5MzgKIG1zZ2lkICJnb25lIgogbXNnc3RyICJkZXNhcGFyZWNpZG8iCiAKLSM6IHJlZi1maWx0ZXIuYzo0MAorIzogcmVmLWZpbHRlci5jOjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImFoZWFkICVkIgogbXNnc3RyICJhZGVsYW50ZSAlZCIKIAotIzogcmVmLWZpbHRlci5jOjQxCisjOiByZWYtZmlsdGVyLmM6NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmVoaW5kICVkIgogbXNnc3RyICJkZXRyw6FzICVkIgogCi0jOiByZWYtZmlsdGVyLmM6NDIKKyM6IHJlZi1maWx0ZXIuYzo0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhaGVhZCAlZCwgYmVoaW5kICVkIgogbXNnc3RyICJkZWxhbnRlICVkLCBkZXRyw6FzICVkIgogCi0jOiByZWYtZmlsdGVyLmM6MTM4CisjOiByZWYtZmlsdGVyLmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIGZvcm1hdDogJSUoY29sb3I6PGNvbG9yPikiCiBtc2dzdHIgImZvcm1hdG8gZXNwZXJhZG86ICUlKGNvbG9yOjxjb2xvcj4pIgogCi0jOiByZWYtZmlsdGVyLmM6MTQwCisjOiByZWYtZmlsdGVyLmM6MTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBjb2xvcjogJSUoY29sb3I6JXMpIgogbXNnc3RyICJjb2xvciBubyByZWNvbm9jaWRvOiAlJShjb2xvcjolcykiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjIKKyM6IHJlZi1maWx0ZXIuYzoxODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW50ZWdlciB2YWx1ZSBleHBlY3RlZCByZWZuYW1lOmxzdHJpcD0lcyIKIG1zZ3N0ciAiVmFsb3IgZW50ZXJvIGVzcGVyYWRvIHJlZm5hbWU6bHN0cmlwPSVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTY2CisjOiByZWYtZmlsdGVyLmM6MTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludGVnZXIgdmFsdWUgZXhwZWN0ZWQgcmVmbmFtZTpyc3RyaXA9JXMiCiBtc2dzdHIgIlZhbG9yIGVudGVybyBlc3BlcmFkbyByZWZuYW1lOnJzdHJpcD0lcyIKIAotIzogcmVmLWZpbHRlci5jOjE2OAorIzogcmVmLWZpbHRlci5jOjE5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoJXMpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAiYXJndW1lbnRvOiAlcyBubyByZWNvbm9jaWRvICUlKCVzKSIKIAotIzogcmVmLWZpbHRlci5jOjIyMworIzogcmVmLWZpbHRlci5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlJShvYmplY3R0eXBlKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKIG1zZ3N0ciAiJSUob2JqZWN0dHlwZSkgbm8gdG9tYSBuaW5nw7puIGFyZ3VtZW50byIKIAotIzogcmVmLWZpbHRlci5jOjIzNQorIzogcmVmLWZpbHRlci5jOjI3MgogIywgYy1mb3JtYXQKLW1zZ2lkICIlJShvYmplY3RzaXplKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKLW1zZ3N0ciAiJSUob2JqZWN0c2l6ZSkgbm8gdG9tYSBhcmd1bWVudG9zIgorbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RzaXplKSBhcmd1bWVudDogJXMiCittc2dzdHIgIiUlKG9iamVjdHNpemUpIG5vIHJlY29ub2NpZG8gYXJndW1lbnRvOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjI0NworIzogcmVmLWZpbHRlci5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlJShkZWx0YWJhc2UpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgorbXNnc3RyICIlJShkZWx0YWJhc2UpIG5vIHRvbWEgYXJndW1lbnRvcyIKKworIzogcmVmLWZpbHRlci5jOjI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlJShib2R5KSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKIG1zZ3N0ciAiJSUoYm9keSkgbm8gdG9tYSBuaW5nw7puIGFyZ3VtZW50byIKIAotIzogcmVmLWZpbHRlci5jOjI1NgorIzogcmVmLWZpbHRlci5jOjMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlJShzdWJqZWN0KSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKIG1zZ3N0ciAiJSUoc3ViamVjdCkgbm8gdG9tYSBuaW5nw7puIGFyZ3VtZW50byIKIAotIzogcmVmLWZpbHRlci5jOjI3OAorIzogcmVmLWZpbHRlci5jOjMyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duICUlKHRyYWlsZXJzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIiUlKHRyYWlsZXJzKSBkZXNjb25vY2lkb3MsIGFyZ3VtZW50bzogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozMDcKKyM6IHJlZi1maWx0ZXIuYzozNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgY29udGVudHM6bGluZXM9JXMiCiBtc2dzdHIgInZhbG9yIHBvc2l0aXZvIGVzcGVyYWRvIGNvbnRlbnRzOmxpbmVzPSVzIgogCi0jOiByZWYtZmlsdGVyLmM6MzA5CisjOiByZWYtZmlsdGVyLmM6MzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShjb250ZW50cykgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJhcmd1bWVudG8gJXMgbm8gcmVjb25vY2lkbyAlJShjb250ZW50cykiCiAKLSM6IHJlZi1maWx0ZXIuYzozMjQKKyM6IHJlZi1maWx0ZXIuYzozNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgb2JqZWN0bmFtZTpzaG9ydD0lcyIKIG1zZ3N0ciAidmFsb3IgcG9zaXRpdm8gZXNwZXJhZG8gb2JqZWN0bmFtZTpzaG9ydD0lcyIKIAotIzogcmVmLWZpbHRlci5jOjMyOAorIzogcmVmLWZpbHRlci5jOjM3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUob2JqZWN0bmFtZSkgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJhcmd1bWVudG86ICVzIG5vIHJlY29ub2NpZG8gJSUob2JqZWN0bmFtZSkiCiAKLSM6IHJlZi1maWx0ZXIuYzozNTgKKyM6IHJlZi1maWx0ZXIuYzo0MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgZm9ybWF0OiAlJShhbGlnbjo8d2lkdGg+LDxwb3NpdGlvbj4pIgogbXNnc3RyICJmb3JtYXRvIGVzcGVyYWRvOiAlJShhbGlnbjo8YW5jaG8+LDxwb3NpY2nDs24+KSIKIAotIzogcmVmLWZpbHRlci5jOjM3MAorIzogcmVmLWZpbHRlci5jOjQxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgcG9zaXRpb246JXMiCiBtc2dzdHIgInBvc2ljacOzbiBkZXNjb25vY2lkYTogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozNzcKKyM6IHJlZi1maWx0ZXIuYzo0MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdpZHRoOiVzIgogbXNnc3RyICJhbmNobyBkZXNjb25vY2lkbzogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozODYKKyM6IHJlZi1maWx0ZXIuYzo0MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGFsaWduKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgImFyZ3VtZW50byBubyByZWNvbm9jaWRvIHBhcmEgJSUoYWxpZ24pOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjM5NAorIzogcmVmLWZpbHRlci5jOjQzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwb3NpdGl2ZSB3aWR0aCBleHBlY3RlZCB3aXRoIHRoZSAlJShhbGlnbikgYXRvbSIKIG1zZ3N0ciAic2UgZXNwZXJhYmEgdW4gYW5jaG8gcG9zaXRpdm8gY29uIGVsIMOhdG9tbyAlJShhbGlnbikiCiAKLSM6IHJlZi1maWx0ZXIuYzo0MTIKKyM6IHJlZi1maWx0ZXIuYzo0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGlmKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgImFyZ3VtZW50bzogJXMgbm8gcmVjb25vY2lkbyAlJShpZikiCiAKLSM6IHJlZi1maWx0ZXIuYzo1MDgKKyM6IHJlZi1maWx0ZXIuYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGZpZWxkIG5hbWU6ICUuKnMiCiBtc2dzdHIgIm5vbWJyZSBtYWwgZm9ybWFkbyBkZSBjYW1wbzogJS4qcyIKIAotIzogcmVmLWZpbHRlci5jOjUzNQorIzogcmVmLWZpbHRlci5jOjU4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGZpZWxkIG5hbWU6ICUuKnMiCiBtc2dzdHIgIm5vbWJyZSBkZSBjYW1wbyBkZXNjb25vY2lkbzogJS4qcyIKIAotIzogcmVmLWZpbHRlci5jOjUzOQorIzogcmVmLWZpbHRlci5jOjU5MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGEgZ2l0IHJlcG9zaXRvcnksIGJ1dCB0aGUgZmllbGQgJyUuKnMnIHJlcXVpcmVzIGFjY2VzcyB0byBvYmplY3QgZGF0YSIKIG1zZ3N0ciAiIgogIm5vIGVzIHVuIHJlcG9zaXRvcmlvIGdpdCwgcGVybyBlbCBjYW1wbyAnJS4qcycgcmVxdWllcmUgYWNjZXNvIGFsIG9iamV0byBkYXRhIgogCi0jOiByZWYtZmlsdGVyLmM6NjYzCisjOiByZWYtZmlsdGVyLmM6NzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoaWYpIGF0b20gdXNlZCB3aXRob3V0IGEgJSUodGhlbikgYXRvbSIKIG1zZ3N0ciAiZm9ybWF0bzogw6F0b21vICUlKGlmKSB1c2FkbyBzaW4gdW4gw6F0b21vICUlKHRoZW4pIgogCi0jOiByZWYtZmlsdGVyLmM6NzI2CisjOiByZWYtZmlsdGVyLmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIHdpdGhvdXQgYW4gJSUoaWYpIGF0b20iCiBtc2dzdHIgImZvcm1hdG86IMOhdG9tbyAlJSh0aGVuKSB1c2FkbyBzaW4gw6F0b21vICUlKGlmKSIKIAotIzogcmVmLWZpbHRlci5jOjcyOAorIzogcmVmLWZpbHRlci5jOjc3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKLW1zZ3N0ciAiZm9ybWF0bzogw6F0b21vICUlKHRoZW4pIHVzYWRvIG1hcyBkZSB1bmEgdmV6IgorbXNnc3RyICJmb3JtYXRvOiDDoXRvbW8gJSUodGhlbikgdXNhZG8gbcOhcyBkZSB1bmEgdmV6IgogCi0jOiByZWYtZmlsdGVyLmM6NzMwCisjOiByZWYtZmlsdGVyLmM6NzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIGFmdGVyICUlKGVsc2UpIgogbXNnc3RyICJmb3JtYXRvOiDDoXRvbW8gJSUodGhlbikgdXNhZG8gZGVzcHXDqXMgZGUgJSUoZWxzZSkiCiAKLSM6IHJlZi1maWx0ZXIuYzo3NTgKKyM6IHJlZi1maWx0ZXIuYzo4MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKIG1zZ3N0ciAiZm9ybWF0bzogw6F0b21vICUlKGVsc2UpIHVzYWRvIHNpbiB1biDDoXRvbW8gJSUoaWYpIgogCi0jOiByZWYtZmlsdGVyLmM6NzYwCisjOiByZWYtZmlsdGVyLmM6ODExCiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgogbXNnc3RyICJmb3JtYXRvOiDDoXRvbW8gJSUoZWxzZSkgdXNhZG8gc2luIHVuIMOhdG9tbyAlJSh0aGVuKSIKIAotIzogcmVmLWZpbHRlci5jOjc2MgorIzogcmVmLWZpbHRlci5jOjgxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKLW1zZ3N0ciAiZm9ybWF0bzogw6F0b21vICUlKGVsc2UpIHVzYWRvIG1hcyBkZSB1bmEgdmV6IgorbXNnc3RyICJmb3JtYXRvOiDDoXRvbW8gJSUoZWxzZSkgdXNhZG8gbcOhcyBkZSB1bmEgdmV6IgogCi0jOiByZWYtZmlsdGVyLmM6Nzc3CisjOiByZWYtZmlsdGVyLmM6ODI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZW5kKSBhdG9tIHVzZWQgd2l0aG91dCBjb3JyZXNwb25kaW5nIGF0b20iCiBtc2dzdHIgImZvcm1hdG86IMOhdG9tbyAlJShlbmQpIHVzYWRvIHNpbiDDoXRvbW8gY29ycmVzcG9uZGllbnRlIgogCi0jOiByZWYtZmlsdGVyLmM6ODM0CisjOiByZWYtZmlsdGVyLmM6ODg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBmb3JtYXQgc3RyaW5nICVzIgogbXNnc3RyICJmb3JtYXRvIGRlIGNhZGVuYSBtYWwgZm9ybWFkbyAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE0MjQKKyM6IHJlZi1maWx0ZXIuYzoxNDg4CiAjLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKLW1zZ3N0ciAiKG5vIGhheSByYW1hLCByZWJhc2FuZG8gJXMpIgorbXNnaWQgIm5vIGJyYW5jaCwgcmViYXNpbmcgJXMiCittc2dzdHIgIm5vIGhheSByYW1hLCByZWJhc2FuZG8gJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDI3CisjOiByZWYtZmlsdGVyLmM6MTQ5MQogIywgYy1mb3JtYXQKLW1zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyBkZXRhY2hlZCBIRUFEICVzKSIKLW1zZ3N0ciAiKG5vIGhheSByYW1hLCByZWJhc2FuZG8gY29uIEhFQUQgZGVzYWNvcGxhZG8gJXMpIgorbXNnaWQgIm5vIGJyYW5jaCwgcmViYXNpbmcgZGV0YWNoZWQgSEVBRCAlcyIKK21zZ3N0ciAiKG8gaGF5IHJhbWEsIHJlYmFzYW5kbyBjb24gSEVBRCBkZXNhY29wbGFkbyAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE0MzAKKyM6IHJlZi1maWx0ZXIuYzoxNDk0CiAjLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKLW1zZ3N0ciAiKG5vIGhheSByYW1hLCBjb21lbnphbmRvIGJpc2VjY8OzbiBlbiAgJXMpIgorbXNnaWQgIm5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgIm5vIGhheSByYW1hLCBjb21lbnphbmRvIGJpc2VjY8OzbiBlbiAgJXMiCiAKLSMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECi0jLiBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCi0jLgotIzogcmVmLWZpbHRlci5jOjE0MzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgotbXNnc3RyICIoSEVBRCBkZXNhY29wbGFkbyBlbiAlcykiCisjOiByZWYtZmlsdGVyLmM6MTUwNAorbXNnaWQgIm5vIGJyYW5jaCIKK21zZ3N0ciAic2luIHJhbWEiCiAKLSMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECi0jLiBkZXRhY2hlZCBmcm9tICIgaW4gd3Qtc3RhdHVzLmMKLSMuCi0jOiByZWYtZmlsdGVyLmM6MTQ0NQotIywgYy1mb3JtYXQKLW1zZ2lkICIoSEVBRCBkZXRhY2hlZCBmcm9tICVzKSIKLW1zZ3N0ciAiKEhFQUQgZGVzYWNvcGxhZG8gZGUgJXMpIgotCi0jOiByZWYtZmlsdGVyLmM6MTQ0OQotbXNnaWQgIihubyBicmFuY2gpIgotbXNnc3RyICIoc2luIHJhbWEpIgotCi0jOiByZWYtZmlsdGVyLmM6MTQ4MyByZWYtZmlsdGVyLmM6MTYzOAorIzogcmVmLWZpbHRlci5jOjE1NDAgcmVmLWZpbHRlci5jOjE3NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBvYmplY3QgJXMgZm9yICVzIgogbXNnc3RyICJmYWx0YSBvYmpldG8gJXMgcGFyYSAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE0OTEKKyM6IHJlZi1maWx0ZXIuYzoxNTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhcnNlX29iamVjdF9idWZmZXIgZmFpbGVkIG9uICVzIGZvciAlcyIKIG1zZ3N0ciAicGFyc2Vfb2JqZWN0X2J1ZmZlciBmYWxsw7MgZW4gJXMgcGFyYSAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE4NTcKKyM6IHJlZi1maWx0ZXIuYzoyMDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgYXQgJyVzJyIKIG1zZ3N0ciAib2JqZXRvIG1hbCBmb3JtYWRvIGVuICclcyciCiAKLSM6IHJlZi1maWx0ZXIuYzoxOTQ2CisjOiByZWYtZmlsdGVyLmM6MjA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyByZWYgd2l0aCBicm9rZW4gbmFtZSAlcyIKIG1zZ3N0ciAiaWdub3JhbmRvIHJlZmVyZW5jaWEgY29uIG5vbWJyZSByb3RvICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MjIzMgorIzogcmVmLWZpbHRlci5jOjIzODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbmQpIGF0b20gbWlzc2luZyIKIG1zZ3N0ciAiZm9ybWF0bzogZmFsdGEgw6F0b21vICUlKGVuZCkiCiAKLSM6IHJlZi1maWx0ZXIuYzoyMzM4CisjOiByZWYtZmlsdGVyLmM6MjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW1lcmdlZCIKK21zZ3N0ciAib3BjacOzbiBgJXMnIGVzIGluY29tcGF0aWJsZSBjb24gLS1tZXJnZWQiCisKKyM6IHJlZi1maWx0ZXIuYzoyNDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbm8tbWVyZ2VkIgorbXNnc3RyICJvcGNpw7NuIGAlcycgZXMgaW5jb21wYXRpYmxlIGNvbiAtLW5vLW1lcmdlZCIKKworIzogcmVmLWZpbHRlci5jOjI1MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICJub21icmUgZGUgb2JqZXRvIG1hbCBmb3JtYWRvICVzIgogCi0jOiByZW1vdGUuYzo2MDcKKyM6IHJlZi1maWx0ZXIuYzoyNTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIG11c3QgcG9pbnQgdG8gYSBjb21taXQiCittc2dzdHIgIm9wY2nDs24gJyVzJyBkZWJlIGFwdW50YXIgYSB1biBjb21taXQiCisKKyM6IHJlbW90ZS5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb25maWcgcmVtb3RlIHNob3J0aGFuZCBjYW5ub3QgYmVnaW4gd2l0aCAnLyc6ICVzIgorbXNnc3RyICJjb25maWcgcmVtb3RlIHNob3J0aGFuZCBubyBwdWVkZSBjb21lbnphciBjb24gJy8nOiAlcyIKKworIzogcmVtb3RlLmM6NDEzCittc2dpZCAibW9yZSB0aGFuIG9uZSByZWNlaXZlcGFjayBnaXZlbiwgdXNpbmcgdGhlIGZpcnN0IgorbXNnc3RyICJtw6FzIGRlIHVuIHJlY2VpdmVwYWNrIGRhZG8sIHVzYW5kbyBlbCBwcmltZXJvIgorCisjOiByZW1vdGUuYzo0MjEKK21zZ2lkICJtb3JlIHRoYW4gb25lIHVwbG9hZHBhY2sgZ2l2ZW4sIHVzaW5nIHRoZSBmaXJzdCIKK21zZ3N0ciAibcOhcyBkZSB1biB1cGxvYWRwYWNrIGRhZG8sIHVzYW5kbyBlbCBwcmltZXJvIgorCisjOiByZW1vdGUuYzo2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGZldGNoIGJvdGggJXMgYW5kICVzIHRvICVzIgogbXNnc3RyICJObyBzZSBwdWVkZW4gdHJhZXIgYW1ib3MgJXMgeSAlcyBhICVzIgogCi0jOiByZW1vdGUuYzo2MTEKKyM6IHJlbW90ZS5jOjYxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB1c3VhbGx5IHRyYWNrcyAlcywgbm90ICVzIgogbXNnc3RyICIlcyBwb3IgbG8gZ2VuZXJhbCBoYWNlIHNlZ3VpbWllbnRvIGEgJXMsIG5vIGEgJXMiCiAKLSM6IHJlbW90ZS5jOjYxNQorIzogcmVtb3RlLmM6NjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHRyYWNrcyBib3RoICVzIGFuZCAlcyIKIG1zZ3N0ciAiJXMgaGFjZSBzZWd1aW1pZW50byB0YW50byBhICVzIGNvbW8gYSAlcyIKIAotIzogcmVtb3RlLmM6NjIzCi1tc2dpZCAiSW50ZXJuYWwgZXJyb3IiCi1tc2dzdHIgIkVycm9yIGludGVybm8iCisjOiByZW1vdGUuYzo2ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAia2V5ICclcycgb2YgcGF0dGVybiBoYWQgbm8gJyonIgorbXNnc3RyICJsbGF2ZSAnJXMnIGRlIHBhdHLDs24gbm8gdHV2byAnKiciCiAKLSM6IHJlbW90ZS5jOjE1NjkgcmVtb3RlLmM6MTY3MAorIzogcmVtb3RlLmM6Njk3CisjLCBjLWZvcm1hdAorbXNnaWQgInZhbHVlICclcycgb2YgcGF0dGVybiBoYXMgbm8gJyonIgorbXNnc3RyICJ2YWxvciAnJXMnIGRlbCBwYXRyw7NuIG5vIHRpZW5lICcqJyIKKworIzogcmVtb3RlLmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICJzcmMgcmVmc3BlYyAlcyBkb2VzIG5vdCBtYXRjaCBhbnkiCittc2dzdHIgInNyYyByZWZzb2VjICVzOiBubyBjb25jdWVyZGEgY29uIG5pbmd1bm8iCisKKyM6IHJlbW90ZS5jOjEwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3JjIHJlZnNwZWMgJXMgbWF0Y2hlcyBtb3JlIHRoYW4gb25lIgorbXNnc3RyICJzcmMgcmVmc3BlYyAlcyBjb25jdWVyZGEgY29uIG3DoXMgZGUgdW5vIgorCisjLiBUUkFOU0xBVE9SUzogIm1hdGNoZXMgJyVzJyUiIGlzIHRoZSA8ZHN0PiBwYXJ0IG9mICJnaXQgcHVzaAorIy4gPHJlbW90ZT4gPHNyYz46PGRzdD4iIHB1c2gsIGFuZCAiYmVpbmcgcHVzaGVkICgnJXMnKSIgaXMKKyMuIHRoZSA8c3JjPi4KKyMuCisjOiByZW1vdGUuYzoxMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVzdGluYXRpb24geW91IHByb3ZpZGVkIGlzIG5vdCBhIGZ1bGwgcmVmbmFtZSAoaS5lLixcbiIKKyJzdGFydGluZyB3aXRoIFwicmVmcy9cIikuIFdlIHRyaWVkIHRvIGd1ZXNzIHdoYXQgeW91IG1lYW50IGJ5OlxuIgorIlxuIgorIi0gTG9va2luZyBmb3IgYSByZWYgdGhhdCBtYXRjaGVzICclcycgb24gdGhlIHJlbW90ZSBzaWRlLlxuIgorIi0gQ2hlY2tpbmcgaWYgdGhlIDxzcmM+IGJlaW5nIHB1c2hlZCAoJyVzJylcbiIKKyIgIGlzIGEgcmVmIGluIFwicmVmcy97aGVhZHMsdGFnc30vXCIuIElmIHNvIHdlIGFkZCBhIGNvcnJlc3BvbmRpbmdcbiIKKyIgIHJlZnMve2hlYWRzLHRhZ3N9LyBwcmVmaXggb24gdGhlIHJlbW90ZSBzaWRlLlxuIgorIlxuIgorIk5laXRoZXIgd29ya2VkLCBzbyB3ZSBnYXZlIHVwLiBZb3UgbXVzdCBmdWxseSBxdWFsaWZ5IHRoZSByZWYuIgorbXNnc3RyICIiCisiRWwgZGVzdGlubyBxdWUgcHJvdmVlcyBubyBlcyB1biBmdWxsIHJlZm5hbWUgKGkuZS4sXG4iCisiY29taWVuemEgY29uIFwicmVmcy9cIikuIEludGVudGFtb3MgYWRpdmluYXIgbG8gcXVlIHF1aXNpc3RlIGRlY2lyOlxuIgorIlxuIgorIi0gQnVzY2FuZG8gdW4gcmVmIHF1ZSBjb25jdWVyZGUgY29uICclcycgZW4gZWwgbGFkbyByZW1vdG8uXG4iCisiLSBSZXZpc2FuZG8gc2kgZWwgPHNyYz4gZXMgdXNhZG8gZW4gZWwgcHVzaCgnJXMnKVxuIgorIiAgZXMgdW4gcmVmIGVuIFwicmVmcy97aGVhZHMsdGFnc30vXCIuIFNpIGVzIGFzw60sIGFncmVnYW1vcyBlbCBwcmVmaWpvXG4iCisiICByZWZzL3toZWFkcyx0YWdzfS8gY29ycmVzcG9uZGllbnRlIGFsIGxhZG8gcmVtb3RvLlxuIgorIlxuIgorIk5pbmd1bm8gZnVuY2lvbsOzIGFzw60gcXVlIG5vcyBkaW1vcyBwb3IgdmVuY2lkb3MuIFRpZW5lcyBxdWUgZXNwZWNpZmljYXIgZWwgIgorImZ1bGwgcmVmLiIKKworIzogcmVtb3RlLmM6MTA0MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSBjb21taXQgb2JqZWN0LlxuIgorIkRpZCB5b3UgbWVhbiB0byBjcmVhdGUgYSBuZXcgYnJhbmNoIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy9oZWFkcy8lcyc/IgorbXNnc3RyICIiCisiTGEgcGFydGUgPHNyYz4gZGVsIHJlZnNwZWMgZXMgdW4gb2JqZXRvIGNvbW1pdC5cbiIKKyLCv1F1aXNpc3RlIGNyZWFyIHVuIGJyYW5jaCBudWV2byBtZWRpYW50ZSB1biBwdXNoIGFcbiIKKyInJXM6cmVmcy9oZWFkcy8lcyc/IgorCisjOiByZW1vdGUuYzoxMDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIHRhZyBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIGNyZWF0ZSBhIG5ldyB0YWcgYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL3RhZ3MvJXMnPyIKK21zZ3N0ciAiIgorIlRoZSA8c3JjPiBwYXJ0IG9mIHRoZSByZWZzcGVjIGlzIGEgdGFnIG9iamVjdC5cbiIKKyJEaWQgeW91IG1lYW4gdG8gY3JlYXRlIGEgbmV3IHRhZyBieSBwdXNoaW5nIHRvXG4iCisiJyVzOnJlZnMvdGFncy8lcyc/IgorCisjOiByZW1vdGUuYzoxMDUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIHRyZWUgb2JqZWN0LlxuIgorIkRpZCB5b3UgbWVhbiB0byB0YWcgYSBuZXcgdHJlZSBieSBwdXNoaW5nIHRvXG4iCisiJyVzOnJlZnMvdGFncy8lcyc/IgorbXNnc3RyICIiCisiTGEgcGFydGUgPHNyYz4gZGVsIHJlZnNwZWMgZXMgdW4gb2JqZXRvIHRyZWUuXG4iCisiwr9RdWlzaXN0ZSBjcmVhciB1biB0YWcgbnVldm8gbWVkaWFudGUgdW4gcHVzaCBhXG4iCisiJyVzOnJlZnMvaGVhZHMvJXMnPyIKKworIzogcmVtb3RlLmM6MTA1OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSBibG9iIG9iamVjdC5cbiIKKyJEaWQgeW91IG1lYW4gdG8gdGFnIGEgbmV3IGJsb2IgYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL3RhZ3MvJXMnPyIKK21zZ3N0ciAiIgorIkxhIHBhcnRlIDxzcmM+IGRlbCByZWZzcGVjIGVzIHVuIG9iamV0byBibG9iLlxuIgorIsK/UXVpc2lzdGUgY3JlYXIgdW4gdGFnIG51ZXZvIG1lZGlhbnRlIHVuIHB1c2ggYVxuIgorIiclczpyZWZzL2hlYWRzLyVzJz8iCisKKyM6IHJlbW90ZS5jOjEwOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2Fubm90IGJlIHJlc29sdmVkIHRvIGJyYW5jaCIKK21zZ3N0ciAiJXMgbm8gcHVlZGUgc2VyIHJlc29sdmVyIGEgdW4gYnJhbmNoIgorCisjOiByZW1vdGUuYzoxMTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBkZWxldGUgJyVzJzogcmVtb3RlIHJlZiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibm8gZXMgcG9zaWJsZSBib3JyYXIgJyVzJzogcmVmIHJlbW90byBubyBleGlzdGUiCisKKyM6IHJlbW90ZS5jOjExMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHN0IHJlZnNwZWMgJXMgbWF0Y2hlcyBtb3JlIHRoYW4gb25lIgorbXNnc3RyICJkc3QgcmVmc3BlYyAlcyBjb25jdWVyZGEgY29uIG3DoXMgZGUgdW5vIgorCisjOiByZW1vdGUuYzoxMTI0CisjLCBjLWZvcm1hdAorbXNnaWQgImRzdCByZWYgJXMgcmVjZWl2ZXMgZnJvbSBtb3JlIHRoYW4gb25lIHNyYyIKK21zZ3N0ciAiZHN0IHJlZiAlcyByZWNpYmUgZGUgbcOhcyBkZSB1biBzcmMiCisKKyM6IHJlbW90ZS5jOjE2MjcgcmVtb3RlLmM6MTcyOAogbXNnaWQgIkhFQUQgZG9lcyBub3QgcG9pbnQgdG8gYSBicmFuY2giCiBtc2dzdHIgIkhFQUQgbm8gYXB1bnRhIGEgbmluZ3VuYSByYW1hIgogCi0jOiByZW1vdGUuYzoxNTc4CisjOiByZW1vdGUuYzoxNjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoOiAnJXMnIgogbXNnc3RyICJubyBleGlzdGUgdGFsIHJhbWE6ICclcyciCiAKLSM6IHJlbW90ZS5jOjE1ODEKKyM6IHJlbW90ZS5jOjE2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdXBzdHJlYW0gY29uZmlndXJlZCBmb3IgYnJhbmNoICclcyciCiBtc2dzdHIgIm5vIHNlIGhhIGNvbmZpZ3VyYWRvIHVwc3RyZWFtIHBhcmEgbGEgcmFtYSAnJXMnIgogCi0jOiByZW1vdGUuYzoxNTg3CisjOiByZW1vdGUuYzoxNjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICJsYSByYW1hICclcycgZGUgdXBzdHJlYW0gbm8gZXMgZ3VhcmRhZCBjb21vIHJhbWEgZGUgcmFzdHJlbyByZW1vdG8iCiAKLSM6IHJlbW90ZS5jOjE2MDIKKyM6IHJlbW90ZS5jOjE2NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCBkZXN0aW5hdGlvbiAnJXMnIG9uIHJlbW90ZSAnJXMnIGhhcyBubyBsb2NhbCB0cmFja2luZyBicmFuY2giCiBtc2dzdHIgIiIKICJkZXN0aW5vIGRlIHB1c2ggJyVzJyBlbiBlbCByZW1vdG8gJyVzJyBubyB0aWVuZSB1bmEgcmFtYSBkZSByYXN0cmVvIGxvY2FsIgogCi0jOiByZW1vdGUuYzoxNjE0CisjOiByZW1vdGUuYzoxNjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGhhcyBubyByZW1vdGUgZm9yIHB1c2hpbmciCiBtc2dzdHIgImxhIHJhbWEgJyVzJyBubyB0aWVuZSByZW1vdG8gcGFyYSBlbnZpYXIiCiAKLSM6IHJlbW90ZS5jOjE2MjQKKyM6IHJlbW90ZS5jOjE2ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCByZWZzcGVjcyBmb3IgJyVzJyBkbyBub3QgaW5jbHVkZSAnJXMnIgogbXNnc3RyICJyZWZzcGVjcyBkZWwgcHVzaCBwYXJhICclcycgbm8gaW5jbHV5ZW4gJyVzJyIKIAotIzogcmVtb3RlLmM6MTYzNworIzogcmVtb3RlLmM6MTY5NQogbXNnaWQgInB1c2ggaGFzIG5vIGRlc3RpbmF0aW9uIChwdXNoLmRlZmF1bHQgaXMgJ25vdGhpbmcnKSIKIG1zZ3N0ciAicHVzaCBubyB0aWVuZSBkZXN0aW5vIChwdXNoLmRlZmF1bHQgZXMgJ25hZGEnKSIKIAotIzogcmVtb3RlLmM6MTY1OQorIzogcmVtb3RlLmM6MTcxNwogbXNnaWQgImNhbm5vdCByZXNvbHZlICdzaW1wbGUnIHB1c2ggdG8gYSBzaW5nbGUgZGVzdGluYXRpb24iCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIHJlc29sdmVyIHB1c2ggJ3NpbXBsZScgcGFyYSB1biBkZXN0aW5vIMO6bmljbyIKIAotIzogcmVtb3RlLmM6MTkzNQorIzogcmVtb3RlLmM6MTg0MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRvIGVuY29udHJhciByZWYgcmVtb3RhICVzIgorCisjOiByZW1vdGUuYzoxODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiogSWdub3JpbmcgZnVubnkgcmVmICclcycgbG9jYWxseSIKK21zZ3N0ciAiKiBJZ25vcmFuZG8gcmVmIGdyYWNpb3NhICclcycgbG9jYWxtZW50ZSIKKworIzogcmVtb3RlLmM6MjAxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBiYXNlZCBvbiAnJXMnLCBidXQgdGhlIHVwc3RyZWFtIGlzIGdvbmUuXG4iCiBtc2dzdHIgIlR1IHJhbWEgZXN0w6EgYmFzYWRhIGVuICclcycsIHBlcm8gdXBzdHJlYW0gaGEgZGVzYXBhcmVjaWRvLlxuIgogCi0jOiByZW1vdGUuYzoxOTM5CisjOiByZW1vdGUuYzoyMDIzCiBtc2dpZCAiICAodXNlIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIgdG8gZml4dXApXG4iCiBtc2dzdHIgIiAgKHVzYSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHBhcmEgYXJyZWdsYXIpXG4iCiAKLSM6IHJlbW90ZS5jOjE5NDIKKyM6IHJlbW90ZS5jOjIwMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgdXAgdG8gZGF0ZSB3aXRoICclcycuXG4iCiBtc2dzdHIgIlR1IHJhbWEgZXN0w6EgYWN0dWFsaXphZGEgY29uICclcycuXG4iCiAKLSM6IHJlbW90ZS5jOjE5NDYKKyM6IHJlbW90ZS5jOjIwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggYW5kICclcycgcmVmZXIgdG8gZGlmZmVyZW50IGNvbW1pdHMuXG4iCiBtc2dzdHIgIlR1IHJhbWEgeSAnJXMnIHJlZmllcmVuIGEgY29tbWl0cyBkaWZlcmVudGVzLlxuIgogCi0jOiByZW1vdGUuYzoxOTQ5CisjOiByZW1vdGUuYzoyMDMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcIiVzXCIgZm9yIGRldGFpbHMpXG4iCiBtc2dzdHIgIiAgKHVzYSBcIiVzXCIgcGFyYSBkZXRhbGxlcylcbiIKIAotIzogcmVtb3RlLmM6MTk1MworIzogcmVtb3RlLmM6MjAzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdC5cbiIKIG1zZ2lkX3BsdXJhbCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXRzLlxuIgogbXNnc3RyWzBdICJUdSByYW1hIGVzdMOhIGFkZWxhbnRhZGEgYSAnJXMnIHBvciAlZCBjb21taXQuXG4iCiBtc2dzdHJbMV0gIlR1IHJhbWEgZXN0w6EgYWRlbGFudGFkYSBhICclcycgcG9yICVkIGNvbW1pdHMuXG4iCiAKLSM6IHJlbW90ZS5jOjE5NTkKKyM6IHJlbW90ZS5jOjIwNDMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIgogbXNnc3RyICIgICh1c2EgXCJnaXQgcHVzaFwiIHBhcmEgcHVibGljYXIgdHVzIGNvbW1pdHMgbG9jYWxlcylcbiIKIAotIzogcmVtb3RlLmM6MTk2MgorIzogcmVtb3RlLmM6MjA0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBiZWhpbmQgJyVzJyBieSAlZCBjb21taXQsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCiBtc2dpZF9wbHVyYWwgIiIKQEAgLTQzNDcsMTEgKzYwMTgsMTEgQEAKIG1zZ3N0clsxXSAiIgogIlR1IHJhbWEgZXN0w6EgZGV0csOhcyBkZSAnJXMnIHBvciAlZCBjb21taXRzLCB5IHB1ZWRlIHNlciBhdmFuemFkYSByw6FwaWRvLlxuIgogCi0jOiByZW1vdGUuYzoxOTcwCisjOiByZW1vdGUuYzoyMDU0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byB1cGRhdGUgeW91ciBsb2NhbCBicmFuY2gpXG4iCiBtc2dzdHIgIiAgKHVzYSBcImdpdCBwdWxsXCIgcGFyYSBhY3R1YWxpemFyIHR1IHJhbWEgbG9jYWwpXG4iCiAKLSM6IHJlbW90ZS5jOjE5NzMKKyM6IHJlbW90ZS5jOjIwNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCkBAIC00MzY2LDEwICs2MDM3LDE1IEBACiAiVHUgcmFtYSB5ICclcycgaGFuIGRpdmVyZ2lkbyxcbiIKICJ5IHRpZW5lbiAlZCB5ICVkIGNvbW1pdHMgZGlmZXJlbnRlcyBjYWRhIHVuYSByZXNwZWN0aXZhbWVudGUuXG4iCiAKLSM6IHJlbW90ZS5jOjE5ODMKKyM6IHJlbW90ZS5jOjIwNjcKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iCiBtc2dzdHIgIiAgKHVzYSBcImdpdCBwdWxsXCIgcGFyYSBmdXNpb25hciBsYSByYW1hIHJlbW90YSBlbiBsYSB0dXlhKVxuIgogCisjOiByZW1vdGUuYzoyMjUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBwYXJzZSBleHBlY3RlZCBvYmplY3QgbmFtZSAnJXMnIgorbXNnc3RyICJubyBzZSBwdWVkZSBsZWVyIGVsIG5vbWJyZSBkZSBvYmpldG8gJyVzJyIKKwogIzogcmVwbGFjZS1vYmplY3QuYzoyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwbGFjZSByZWYgbmFtZTogJXMiCkBAIC00MzkzLDExICs2MDY5LDYgQEAKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcmVyZXJlIHJlY29yZCIKIG1zZ3N0ciAiaW5jYXBheiBkZSBlc2NyaWJpciBlbnRyYWRhIHJlcmVyZSIKIAotIzogcmVyZXJlLmM6NDg1IHJlcmVyZS5jOjY5MiBzZXF1ZW5jZXIuYzozMTM2IHNlcXVlbmNlci5jOjMxNjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHdyaXRlICclcyciCi1tc2dzdHIgIm5vIHNlIHB1ZG8gZXNjcmliaXIgJyVzJyIKLQogIzogcmVyZXJlLmM6NDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZXJlIHdlcmUgZXJyb3JzIHdoaWxlIHdyaXRpbmcgJyVzJyAoJXMpIgpAQCAtNDQ0OCw4ICs2MTE5LDggQEAKIG1zZ2lkICJSZWNvcmRlZCBwcmVpbWFnZSBmb3IgJyVzJyIKIG1zZ3N0ciAiUmVzb2x1Y2nDs24gcHJlY2FyZ2FkYSBwYXJhICclcyciCiAKLSM6IHJlcmVyZS5jOjg4MSBzdWJtb2R1bGUuYzoxNzYzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDEzCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQyMworIzogcmVyZXJlLmM6ODgxIHN1Ym1vZHVsZS5jOjIwNjcgYnVpbHRpbi9sb2cuYzoxODcxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQzNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJubyBzZSBwdWRvIGNyZWFyIGVsIGRpcmVjdG9yaW8gJyVzJyIKQEAgLTQ0ODMsMjkgKzYxNTQsMzMgQEAKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiByci1jYWNoZSBkaXJlY3RvcnkiCiBtc2dzdHIgIm5vIGVzIHBvc2libGUgYWJyaXIgZGlyZWN0b3JpbyByci1jYWNoZSIKIAotIzogcmV2aXNpb24uYzoyMzI0CisjOiByZXZpc2lvbi5jOjI0OTcKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoIGFwcGVhcnMgdG8gYmUgYnJva2VuIgogbXNnc3RyICJ0dSByYW1hIGFjdHVhbCBwYXJlY2UgZXN0YXIgcm90YSIKIAotIzogcmV2aXNpb24uYzoyMzI3CisjOiByZXZpc2lvbi5jOjI1MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCAnJXMnIGRvZXMgbm90IGhhdmUgYW55IGNvbW1pdHMgeWV0IgogbXNnc3RyICJ0dSByYW1hIGFjdHVhbCAnJXMnIG5vIHRpZW5lIG5pbmfDum4gY29tbWl0IHRvZGF2w61hIgogCi0jOiByZXZpc2lvbi5jOjI1MjMKKyM6IHJldmlzaW9uLmM6MjcwOAogbXNnaWQgIi0tZmlyc3QtcGFyZW50IGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYmlzZWN0IgogbXNnc3RyICItLWZpcnN0LXBhcmVudCBlcyBpbmNvbXBhdGlibGUgY29uIC0tYmlzZWN0IgogCi0jOiBydW4tY29tbWFuZC5jOjc0MAorIzogcmV2aXNpb24uYzoyNzEyCittc2dpZCAiLUwgZG9lcyBub3QgeWV0IHN1cHBvcnQgZGlmZiBmb3JtYXRzIGJlc2lkZXMgLXAgYW5kIC1zIgorbXNnc3RyICItTCBubyBzb3BvcnRhIHRvZGF2w61hIGZvcm1hdG9zIGRlIGRpZmYgZnVlcmEgZGUgLXAgeSAtcyIKKworIzogcnVuLWNvbW1hbmQuYzo3NjIKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCiBtc2dzdHIgImZhbGzDsyBhbCBhYnJpciAvZGV2L251bGwiCiAKLSM6IHJ1bi1jb21tYW5kLmM6MTIyOQorIzogcnVuLWNvbW1hbmQuYzoxMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgYXN5bmMgdGhyZWFkOiAlcyIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBjcmVhciBoaWxvIGFzeW5jOiAlcyIKIAotIzogcnVuLWNvbW1hbmQuYzoxMjkzCisjOiBydW4tY29tbWFuZC5jOjEzMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAnJXMnIGhvb2sgd2FzIGlnbm9yZWQgYmVjYXVzZSBpdCdzIG5vdCBzZXQgYXMgZXhlY3V0YWJsZS5cbiIKQEAgLTQ1MTUsMzAgKzYxOTAsMzAgQEAKICJQdWVkZXMgZGVzYWN0aXZhciBlc3RhIGFkdmVydGVuY2lhcyBjb24gYGdpdCBjb25maWcgYWR2aWNlLmlnbm9yZWRIb29rICIKICJmYWxzZWAuIgogCi0jOiBzZW5kLXBhY2suYzoxNDIKKyM6IHNlbmQtcGFjay5jOjE0NAogbXNnaWQgInVuZXhwZWN0ZWQgZmx1c2ggcGFja2V0IHdoaWxlIHJlYWRpbmcgcmVtb3RlIHVucGFjayBzdGF0dXMiCiBtc2dzdHIgIiIKICJmbHVzaCBwYWNrZXQgaW5lc3BlcmFkbyBtaWVudHJhcyBzZSBsZcOtYSBlc3RhdHVzIGRlIGRlc2VtcGFxdWV0YWRvIHJlbW90byIKIAotIzogc2VuZC1wYWNrLmM6MTQ0CisjOiBzZW5kLXBhY2suYzoxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIHJlbW90ZSB1bnBhY2sgc3RhdHVzOiAlcyIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBhbmFsaXphciBlbCBlc3RhZG8gZGUgZGVzZW1wYXF1ZXRhZG8gcmVtb3RvOiAlcyIKIAotIzogc2VuZC1wYWNrLmM6MTQ2CisjOiBzZW5kLXBhY2suYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlIHVucGFjayBmYWlsZWQ6ICVzIgogbXNnc3RyICJkZXNlbXBhcXVldGFkbyByZW1vdG8gZmFsbMOzOiAlcyIKIAotIzogc2VuZC1wYWNrLmM6MzA4CisjOiBzZW5kLXBhY2suYzozMDkKIG1zZ2lkICJmYWlsZWQgdG8gc2lnbiB0aGUgcHVzaCBjZXJ0aWZpY2F0ZSIKIG1zZ3N0ciAiZmFsbMOzIGFsIGZpcm1hciBlbCBjZXJ0aWZpY2FkbyBkZSBwdXNoIgogCi0jOiBzZW5kLXBhY2suYzo0MjEKKyM6IHNlbmQtcGFjay5jOjQyMwogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQgcHVzaCIKIG1zZ3N0ciAiZWwgZmluYWwgcmVjZXB0b3Igbm8gc29wb3J0YSAtLXNpZ25lZCBwdXNoIgogCi0jOiBzZW5kLXBhY2suYzo0MjMKKyM6IHNlbmQtcGFjay5jOjQyNQogbXNnaWQgIiIKICJub3Qgc2VuZGluZyBhIHB1c2ggY2VydGlmaWNhdGUgc2luY2UgdGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLSIKICJzaWduZWQgcHVzaCIKQEAgLTQ1NDYsNDIgKzYyMjEsNDcgQEAKICJubyBzZSBtYW5kYSB1biBjZXJ0aWZpY2FkbyBkZSBwdXNoIHlhIHF1ZSBlbCBkZXN0aW5vIG5vIHNvcG9ydGEgcHVzaCBmaXJtYWRvICIKICIoLS1zaWduZWQgKSIKIAotIzogc2VuZC1wYWNrLmM6NDM1CisjOiBzZW5kLXBhY2suYzo0MzcKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIHB1c2giCiBtc2dzdHIgImVsIGRlc3Rpbm8gbm8gc29wb3J0YSBwdXNoIGF0w7NtaWNvcyAoLS1hdG9taWMpIgogCi0jOiBzZW5kLXBhY2suYzo0NDAKKyM6IHNlbmQtcGFjay5jOjQ0MgogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgcHVzaCBvcHRpb25zIgogbXNnc3RyICJlbCBkZXN0aW5vIG5vIHNvcG9ydGEgb3BjaW9uZXMgZGUgcHVzaCIKIAotIzogc2VxdWVuY2VyLmM6MTgzCisjOiBzZXF1ZW5jZXIuYzoxODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb21taXQgbWVzc2FnZSBjbGVhbnVwIG1vZGUgJyVzJyIKIG1zZ3N0ciAibWVuc2FqZSBkZSBjb21taXQgaW52w6FsaWRvLCBtb2RvIGNsZWFudXAgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6Mjg3CisjOiBzZXF1ZW5jZXIuYzoyOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSAnJXMnIgogbXNnc3RyICJubyBzZSBwdWRvIGJvcnJhciAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzozMTMKKyM6IHNlcXVlbmNlci5jOjMxMyBidWlsdGluL3JlYmFzZS5jOjc4MSBidWlsdGluL3JlYmFzZS5jOjE3MDYgYnVpbHRpbi9ybS5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVtb3ZlICclcyciCittc2dzdHIgIm5vIHNlIHB1ZG8gZWxpbWluYXInJXMnIgorCisjOiBzZXF1ZW5jZXIuYzozMjMKIG1zZ2lkICJyZXZlcnQiCiBtc2dzdHIgInJldmVydGlyIgogCi0jOiBzZXF1ZW5jZXIuYzozMTUKKyM6IHNlcXVlbmNlci5jOjMyNQogbXNnaWQgImNoZXJyeS1waWNrIgogbXNnc3RyICJjaGVycnktcGljayIKIAotIzogc2VxdWVuY2VyLmM6MzE3CisjOiBzZXF1ZW5jZXIuYzozMjcKIG1zZ2lkICJyZWJhc2UgLWkiCiBtc2dzdHIgInJlYmFzZSAtaSIKIAotIzogc2VxdWVuY2VyLmM6MzE5CisjOiBzZXF1ZW5jZXIuYzozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBhY3Rpb246ICVkIgogbXNnc3RyICJhY2Npw7NuIGRlc2Nvbm9jaWRhOiAlZCIKIAotIzogc2VxdWVuY2VyLmM6Mzc2CisjOiBzZXF1ZW5jZXIuYzozODcKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+JyIKQEAgLTQ1ODksNyArNjI2OSw3IEBACiAiZGVzcHXDqXMgZGUgcmVzb2x2ZXIgbG9zIGNvbmZsaWN0b3MsIG1hcmNhIGxhcyBydXRhcyBjb3JyZWdpZGFzXG4iCiAiY29uICdnaXQgYWRkIDxydXRhcz4nIG8gJ2dpdCBybSA8cnV0YXM+JyIKIAotIzogc2VxdWVuY2VyLmM6Mzc5CisjOiBzZXF1ZW5jZXIuYzozOTAKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+J1xuIgpAQCAtNDU5OSwxMTAgKzYyNzksMTE0IEBACiAiY29uICdnaXQgYWRkIDxydXRhcz4nIG8gJ2dpdCBybSA8cnV0YXM+J1xuIgogInkgaGF6IHVuIGNvbW1pdCBkZWwgcmVzdWx0YWRvIGNvbiAnZ2l0IGNvbW1pdCciCiAKLSM6IHNlcXVlbmNlci5jOjM5MiBzZXF1ZW5jZXIuYzoyNjMyCisjOiBzZXF1ZW5jZXIuYzo0MDMgc2VxdWVuY2VyLmM6Mjk5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9jayAnJXMnIgogbXNnc3RyICJubyBzZSBwdWRvIGJsb3F1ZWFyICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjM5OQorIzogc2VxdWVuY2VyLmM6NDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBlb2wgdG8gJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBlc2NyaWJpciBFT0wgZW4gJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6NDA0IHNlcXVlbmNlci5jOjI1MTUgc2VxdWVuY2VyLmM6MjYzOCBzZXF1ZW5jZXIuYzoyNjUyCi0jOiBzZXF1ZW5jZXIuYzoyODg1CisjOiBzZXF1ZW5jZXIuYzo0MTUgc2VxdWVuY2VyLmM6Mjc5OCBzZXF1ZW5jZXIuYzoyOTk5IHNlcXVlbmNlci5jOjMwMTMKKyM6IHNlcXVlbmNlci5jOjMyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplICclcyciCiBtc2dzdHIgImZhbGzDsyBhbCBmaW5hbGl6YXIgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6NDI3IHNlcXVlbmNlci5jOjkyMSBzZXF1ZW5jZXIuYzoxNTk0IHNlcXVlbmNlci5jOjI1MzUKLSM6IHNlcXVlbmNlci5jOjI4Njcgc2VxdWVuY2VyLmM6Mjk3NCBidWlsdGluL2FtLmM6MjYwIGJ1aWx0aW4vY29tbWl0LmM6NzQ2Ci0jOiBidWlsdGluL21lcmdlLmM6MTA4NCBidWlsdGluL3JlYmFzZS5jOjE1MgorIzogc2VxdWVuY2VyLmM6NDM4IHNlcXVlbmNlci5jOjE3MDcgc2VxdWVuY2VyLmM6MjgxOCBzZXF1ZW5jZXIuYzozMjU5CisjOiBzZXF1ZW5jZXIuYzozMzY4IGJ1aWx0aW4vYW0uYzoyNDQgYnVpbHRpbi9jb21taXQuYzo3ODMgYnVpbHRpbi9tZXJnZS5jOjExMTcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gbGVlciAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzo0NTMKKyM6IHNlcXVlbmNlci5jOjQ2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXMuIgogbXNnc3RyICJ0dXMgY2FtYmlvcyBsb2NhbGVzIHNlcsOhbiBzb2JyZWVzY3JpdG9zIHBvciAlcy4iCiAKLSM6IHNlcXVlbmNlci5jOjQ1NworIzogc2VxdWVuY2VyLmM6NDY4CiBtc2dpZCAiY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQuIgogbXNnc3RyICJyZWFsaXphIHVuIGNvbW1pdCBjb24gdHVzIGNhbWJpb3MgbyBhcGxpY2EgdW4gc3Rhc2ggcGFyYSBwcm9jZWRlci4iCiAKLSM6IHNlcXVlbmNlci5jOjQ4NgorIzogc2VxdWVuY2VyLmM6NTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmYXN0LWZvcndhcmQiCiBtc2dzdHIgIiVzOiBhdmFuY2UgcsOhcGlkbyIKIAorIzogc2VxdWVuY2VyLmM6NTM5IGJ1aWx0aW4vdGFnLmM6NTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgorbXNnc3RyICJNb2RvIGNsZWFudXAgaW52w6FsaWRvICVzIgorCiAjLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiwgImNoZXJyeS1waWNrIiBvcgogIy4gInJlYmFzZSAtaSIuCiAjLgotIzogc2VxdWVuY2VyLmM6NTc1CisjOiBzZXF1ZW5jZXIuYzo2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiJXM6IEluY2FwYXogZGUgZXNjcmliaXIgZWwgbnVldm8gYXJjaGl2byDDrW5kaWNlIgogCi0jOiBzZXF1ZW5jZXIuYzo1OTEKKyM6IHNlcXVlbmNlci5jOjY1MAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZSIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBhY3R1YWxpemFyIGVsIMOhcmJvbCBkZSBsYSBjYWNow6kiCiAKLSM6IHNlcXVlbmNlci5jOjYwNAorIzogc2VxdWVuY2VyLmM6NjY0CiBtc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXQiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gcmVzb2x2ZXIgZWwgY29tbWl0IGRlIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjY4NAorIzogc2VxdWVuY2VyLmM6NzQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGtleSBwcmVzZW50IGluICclLipzJyIKIG1zZ3N0ciAibm8gaGF5IGxsYXZlIHByZXNlbnRlIGVuICclLipzJyIKIAotIzogc2VxdWVuY2VyLmM6Njk1CisjOiBzZXF1ZW5jZXIuYzo3NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlcXVvdGUgdmFsdWUgb2YgJyVzJyIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBkZXF1b3RlIHBhcmEgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6NzMyIHdyYXBwZXIuYzoyMjcgd3JhcHBlci5jOjM5NyBidWlsdGluL2FtLmM6NzE5Ci0jOiBidWlsdGluL2FtLmM6ODExIGJ1aWx0aW4vbWVyZ2UuYzoxMDgxCisjOiBzZXF1ZW5jZXIuYzo3OTIgd3JhcHBlci5jOjE5MCB3cmFwcGVyLmM6MzYwIGJ1aWx0aW4vYW0uYzo3MDUKKyM6IGJ1aWx0aW4vYW0uYzo3OTcgYnVpbHRpbi9tZXJnZS5jOjExMTQgYnVpbHRpbi9yZWJhc2UuYzoxMDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gYWJyaXIgJyVzJyBwYXJhIGxlY3R1cmEiCiAKLSM6IHNlcXVlbmNlci5jOjc0MgorIzogc2VxdWVuY2VyLmM6ODAyCiBtc2dpZCAiJ0dJVF9BVVRIT1JfTkFNRScgYWxyZWFkeSBnaXZlbiIKIG1zZ3N0ciAiJ0dJVF9BVVRIT1JfTkFNRScgeWEgcHJvcG9yY2lvbmFkbyIKIAotIzogc2VxdWVuY2VyLmM6NzQ3CisjOiBzZXF1ZW5jZXIuYzo4MDcKIG1zZ2lkICInR0lUX0FVVEhPUl9FTUFJTCcgYWxyZWFkeSBnaXZlbiIKIG1zZ3N0ciAiJ0dJVF9BVVRIT1JfRU1BSUwnIHlhIHByb3BvcmNpb25hZG8iCiAKLSM6IHNlcXVlbmNlci5jOjc1MgorIzogc2VxdWVuY2VyLmM6ODEyCiBtc2dpZCAiJ0dJVF9BVVRIT1JfREFURScgYWxyZWFkeSBnaXZlbiIKIG1zZ3N0ciAiJ0dJVF9BVVRIT1JfREFURScgeWEgcHJvcG9yY2lvbmFkbyIKIAotIzogc2VxdWVuY2VyLmM6NzU2CisjOiBzZXF1ZW5jZXIuYzo4MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biB2YXJpYWJsZSAnJXMnIgogbXNnc3RyICJ2YXJpYWJsZSBkZXNjb25vY2lkYSAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzo3NjEKKyM6IHNlcXVlbmNlci5jOjgyMQogbXNnaWQgIm1pc3NpbmcgJ0dJVF9BVVRIT1JfTkFNRSciCiBtc2dzdHIgImZhbHRhICdHSVRfQVVUSE9SX05BTUUnIgogCi0jOiBzZXF1ZW5jZXIuYzo3NjMKKyM6IHNlcXVlbmNlci5jOjgyMwogbXNnaWQgIm1pc3NpbmcgJ0dJVF9BVVRIT1JfRU1BSUwnIgogbXNnc3RyICJmYWx0YSAnR0lUX0FVVEhPUl9FTUFJTCciCiAKLSM6IHNlcXVlbmNlci5jOjc2NQorIzogc2VxdWVuY2VyLmM6ODI1CiBtc2dpZCAibWlzc2luZyAnR0lUX0FVVEhPUl9EQVRFJyIKIG1zZ3N0ciAiZmFsdGEgJ0dJVF9BVVRIT1JfREFURSciCiAKLSM6IHNlcXVlbmNlci5jOjgyNQotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0ICclcycgaW4gJyVzJyIKLW1zZ3N0ciAiZm9ybWF0byBkZSBmZWNoYSBpbnbDoWxpZG8gJyVzJyBlbiAnJXMnIgorIzogc2VxdWVuY2VyLmM6OTAyIHNlcXVlbmNlci5jOjE0MjcKK21zZ2lkICJtYWxmb3JtZWQgaWRlbnQgbGluZSIKK21zZ3N0ciAibMOtbmVhIGRlIGVudHJhZGEgbWFsIGZvcm1hZGEiCiAKLSM6IHNlcXVlbmNlci5jOjg0MgorIzogc2VxdWVuY2VyLmM6OTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ5b3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZVxuIgpAQCAtNDczMiwxNSArNjQxNiwxMSBAQAogIlxuIgogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IHNlcXVlbmNlci5jOjkzNQotbXNnaWQgIndyaXRpbmcgcm9vdCBjb21taXQiCi1tc2dzdHIgImVzY3JpYmllbmRvIGNvbW1pdCByYcOteiIKLQotIzogc2VxdWVuY2VyLmM6MTE0MgorIzogc2VxdWVuY2VyLmM6MTIxOAogbXNnaWQgIidwcmVwYXJlLWNvbW1pdC1tc2cnIGhvb2sgZmFpbGVkIgogbXNnc3RyICJob29rICdwcmVwYXJlLWNvbW1pdC1tc2cnIGZhbGzDsyIKIAotIzogc2VxdWVuY2VyLmM6MTE0OQorIzogc2VxdWVuY2VyLmM6MTIyNAogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC00NzY3LDcgKzY0NDcsNyBAQAogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogc2VxdWVuY2VyLmM6MTE2MgorIzogc2VxdWVuY2VyLmM6MTIzNwogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC00NzkxLDI5OSArNjQ3MSwzNTIgQEAKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiAKLSM6IHNlcXVlbmNlci5jOjEyMDIKKyM6IHNlcXVlbmNlci5jOjEyNzkKIG1zZ2lkICJjb3VsZG4ndCBsb29rIHVwIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJubyBzZSBwdWRvIHJldmlzYXIgZWwgY29tbWl0IHJlY2nDqW4gY3JlYWRvIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjA0CisjOiBzZXF1ZW5jZXIuYzoxMjgxCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJubyBzZSBwdWRvIGFuYWxpemFyIGVsIGNvbW1pdCByZWNpw6luIGNyZWFkbyIKIAotIzogc2VxdWVuY2VyLmM6MTI1MAorIzogc2VxdWVuY2VyLmM6MTMyNwogbXNnaWQgInVuYWJsZSB0byByZXNvbHZlIEhFQUQgYWZ0ZXIgY3JlYXRpbmcgY29tbWl0IgogbXNnc3RyICJubyBzZSBwdWRvIHJlc29sdmVyIEhFQUQgdHJhcyBjcmVhciBlbCBjb21taXQiCiAKLSM6IHNlcXVlbmNlci5jOjEyNTIKKyM6IHNlcXVlbmNlci5jOjEzMjkKIG1zZ2lkICJkZXRhY2hlZCBIRUFEIgogbXNnc3RyICJIRUFEIGRlc2Fjb3BsYWRvIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjU2CisjOiBzZXF1ZW5jZXIuYzoxMzMzCiBtc2dpZCAiIChyb290LWNvbW1pdCkiCiBtc2dzdHIgIiAoY29tbWl0LXJhw616KSIKIAotIzogc2VxdWVuY2VyLmM6MTI3NworIzogc2VxdWVuY2VyLmM6MTM1NAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIgogbXNnc3RyICJubyBzZSBwdWRvIGFuYWxpemFyIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjEyNzkKKyM6IHNlcXVlbmNlci5jOjEzNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSEVBRCAlcyBpcyBub3QgYSBjb21taXQhIgotbXNnc3RyICJIRUFEICVzIG5vIGVzIHVuIGNvbW1pdCEiCittc2dzdHIgIsKhSEVBRCAlcyBubyBlcyB1biBjb21taXQhIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjgzIGJ1aWx0aW4vY29tbWl0LmM6MTU0MworIzogc2VxdWVuY2VyLmM6MTM2MCBzZXF1ZW5jZXIuYzoxNDU4IGJ1aWx0aW4vY29tbWl0LmM6MTU2OQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKIG1zZ3N0ciAibm8gc2UgcHVkbyBhbmFsaXphciBlbCBjb21taXQgZGUgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MTMzNCBzZXF1ZW5jZXIuYzoxOTM0CisjOiBzZXF1ZW5jZXIuYzoxNDExIHNlcXVlbmNlci5jOjIwNTUKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0IGF1dGhvciIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBhbmFsaXphciBlbCBhdXRvciBkZWwgY29tbWl0IgogCi0jOiBzZXF1ZW5jZXIuYzoxMzQ0IGJ1aWx0aW4vYW0uYzoxNTg1IGJ1aWx0aW4vbWVyZ2UuYzo2NzcKKyM6IHNlcXVlbmNlci5jOjE0MzEKK21zZ2lkICJjb3JydXB0ZWQgYXV0aG9yIHdpdGhvdXQgZGF0ZSBpbmZvcm1hdGlvbiIKK21zZ3N0ciAiYXV0b3IgY29ycnVwdG8gc2luIGluZm9ybWFjacOzbiBkZSBmZWNoYSIKKworIzogc2VxdWVuY2VyLmM6MTQ0NyBidWlsdGluL2FtLmM6MTU2MSBidWlsdGluL21lcmdlLmM6Njg0CiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIKIG1zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUgZmFsbMOzIGFsIGVzY3JpYmlyIGVsIMOhcmJvbCIKIAotIzogc2VxdWVuY2VyLmM6MTM2MSBzZXF1ZW5jZXIuYzoxNDE2CisjOiBzZXF1ZW5jZXIuYzoxNDgwIHNlcXVlbmNlci5jOjE1NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgY29tbWl0IG1lc3NhZ2UgZnJvbSAnJXMnIgogbXNnc3RyICJubyBzZSBwdWVkZSBsZWVyIGVsIG1lbnNhamUgZGVsIGNvbW1pdCBkZSAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzgzIGJ1aWx0aW4vYW0uYzoxNjA2IGJ1aWx0aW4vY29tbWl0LmM6MTY0NiBidWlsdGluL21lcmdlLmM6ODU4Ci0jOiBidWlsdGluL21lcmdlLmM6ODgzCisjOiBzZXF1ZW5jZXIuYzoxNTE2IGJ1aWx0aW4vYW0uYzoxNTgzIGJ1aWx0aW4vY29tbWl0LmM6MTY2OCBidWlsdGluL21lcmdlLmM6ODgzCisjOiBidWlsdGluL21lcmdlLmM6OTA4CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvbW1pdCBvYmplY3QiCiBtc2dzdHIgImZhbGzDsyBhbCBlc2NyaWJpciBlbCBvYmpldG8gY29tbWl0IgogCi0jOiBzZXF1ZW5jZXIuYzoxNDQzCisjOiBzZXF1ZW5jZXIuYzoxNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gYW5hbGl6YXIgY29tbWl0ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNDQ4CisjOiBzZXF1ZW5jZXIuYzoxNTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzIgogbXNnc3RyICJubyBzZSBwdWRvIGFuYWxpemFyIGVsIGNvbW1pdCBwYWRyZSAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTU0NiBzZXF1ZW5jZXIuYzoxNjU0CisjOiBzZXF1ZW5jZXIuYzoxNjU2IHNlcXVlbmNlci5jOjE3NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBjb21tYW5kOiAlZCIKIG1zZ3N0ciAiY29tYW5kbyBkZXNjb25vY2lkbzogJWQiCiAKLSM6IHNlcXVlbmNlci5jOjE2MDEgc2VxdWVuY2VyLmM6MTYyNgorIzogc2VxdWVuY2VyLmM6MTcxNCBzZXF1ZW5jZXIuYzoxNzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAlZCBjb21taXRzLiIKIG1zZ3N0ciAiRXN0YSBlcyB1bmEgY29tYmluYWNpw7NuIGRlICVkIGNvbW1pdHMuIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjExIHNlcXVlbmNlci5jOjQ3NDQKKyM6IHNlcXVlbmNlci5jOjE3MjQKIG1zZ2lkICJuZWVkIGEgSEVBRCB0byBmaXh1cCIKIG1zZ3N0ciAic2UgbmVjZXNpdGEgdW4gSEVBRCBwYXJhIGFycmVnbGFyIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjEzIHNlcXVlbmNlci5jOjI5MTIKKyM6IHNlcXVlbmNlci5jOjE3MjYgc2VxdWVuY2VyLmM6MzMwNAogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gbGVlciBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjE1CisjOiBzZXF1ZW5jZXIuYzoxNzI4CiBtc2dpZCAiY291bGQgbm90IHJlYWQgSEVBRCdzIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJubyBzZSBwdWRvIGxlZXIgZWwgbWVuc2FqZSBkZSBjb21taXQgZGUgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MTYyMQorIzogc2VxdWVuY2VyLmM6MTczNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUgJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgZXNjcmliaXIgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MTYyOCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDQxCisjOiBzZXF1ZW5jZXIuYzoxNzQxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0OTYKIG1zZ2lkICJUaGlzIGlzIHRoZSAxc3QgY29tbWl0IG1lc3NhZ2U6IgogbXNnc3RyICJFc3RlIGVzIGVsIG1lbnNhamUgZGVsIDFlciBjb21taXQ6IgogCi0jOiBzZXF1ZW5jZXIuYzoxNjM2CisjOiBzZXF1ZW5jZXIuYzoxNzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlIG9mICVzIgogbXNnc3RyICJubyBzZSBwdWVkZSBsZWVyIGVsIG1lbnNhamUgZGVsIGNvbW1pdCBkZSAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTY0MworIzogc2VxdWVuY2VyLmM6MTc1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIHRoZSBjb21taXQgbWVzc2FnZSAjJWQ6IgogbXNnc3RyICJFc3RlIGVzIGVsIG1lbnNhamUgZGVsIGNvbW1pdCAjJWQ6IgogCi0jOiBzZXF1ZW5jZXIuYzoxNjQ5CisjOiBzZXF1ZW5jZXIuYzoxNzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJWQgd2lsbCBiZSBza2lwcGVkOiIKIG1zZ3N0ciAiRWwgbWVuc2FqZSBkZWwgY29tbWl0ICMlZCBzZXLDoSBzYWx0YWRvOiIKIAotIzogc2VxdWVuY2VyLmM6MTczMgorIzogc2VxdWVuY2VyLmM6MTg1MAogbXNnaWQgInlvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCiBtc2dzdHIgInR1IGFyY2hpdm8gw61uZGljZSBubyBlc3TDoSBmdXNpb25hZG8uIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzM5CisjOiBzZXF1ZW5jZXIuYzoxODU3CiBtc2dpZCAiY2Fubm90IGZpeHVwIHJvb3QgY29tbWl0IgogbXNnc3RyICJubyBzZSBwdWVkZSBhcnJlZ2xhciBlbCBjb21taXQgcmHDrXoiCiAKLSM6IHNlcXVlbmNlci5jOjE3NTgKKyM6IHNlcXVlbmNlci5jOjE4NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgogbXNnc3RyICJlbCBjb21taXQgJXMgZXMgdW5hIGZ1c2nDs24gcGVybyBubyBzZSBwcm9wb3JjaW9uw7MgbGEgb3BjacOzbiAtbS4iCiAKLSM6IHNlcXVlbmNlci5jOjE3NjYKKyM6IHNlcXVlbmNlci5jOjE4ODQgc2VxdWVuY2VyLmM6MTg5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCiBtc2dzdHIgImVsIGNvbW1pdCAlcyBubyB0aWVuZSB1biBwYWRyZSAlZCIKIAotIzogc2VxdWVuY2VyLmM6MTc3MAotIywgYy1mb3JtYXQKLW1zZ2lkICJtYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgotbXNnc3RyICJsw61uZWEgcHJpbmNpcGFsIGVzcGVjaWZpY2FkYSBwZXJvIGVsIGNvbW1pdCAlcyBubyBlcyB1bmEgZnVzacOzbi4iCi0KLSM6IHNlcXVlbmNlci5jOjE3NzYKKyM6IHNlcXVlbmNlci5jOjE4OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIG9idGVuZXIgZWwgbWVuc2FqZSBkZSBjb21taXQgcGFyYSAlcyIKIAogIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyB3aWxsIGJlIGEgInRvZG8iIGNvbW1hbmQgbGlrZQogIy4gInJldmVydCIgb3IgInBpY2siLCB0aGUgc2Vjb25kICVzIGEgU0hBMS4KLSM6IHNlcXVlbmNlci5jOjE3OTUKKyM6IHNlcXVlbmNlci5jOjE5MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzIgogbXNnc3RyICIlczogbm8gc2UgcHVlZGUgYW5hbGl6YXIgZWwgY29tbWl0IHBhZHJlICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxODYwCisjOiBzZXF1ZW5jZXIuYzoxOTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgJyVzJyB0byAnJXMnIgogbXNnc3RyICJubyBzZSBwdWVkZSByZW5vbWJyYXIgJyVzJyBhICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjE5MTUKKyM6IHNlcXVlbmNlci5jOjIwMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKIG1zZ3N0ciAibm8gc2UgcHVkbyByZXZlcnRpciAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTkxNgorIzogc2VxdWVuY2VyLmM6MjAzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gYXBsaWNhciAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTk3NAorIzogc2VxdWVuY2VyLmM6MjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzOiBmYWxsw7MgYWwgbGVlciBlbCDDrW5kaWNlIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTgxCisjOiBzZXF1ZW5jZXIuYzoyMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6IGZhbGzDsyBhbCByZWZyZXNjYXIgZWwgw61uZGljZSIKIAotIzogc2VxdWVuY2VyLmM6MjA2MgorIzogc2VxdWVuY2VyLmM6MjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkb2VzIG5vdCBhY2NlcHQgYXJndW1lbnRzOiAnJXMnIgogbXNnc3RyICIlcyBubyBhY2VwdGEgbG9zIGFyZ3VtZW50b3M6ICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjIwNzEKKyM6IHNlcXVlbmNlci5jOjIxOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBhcmd1bWVudHMgZm9yICVzIgogbXNnc3RyICJmYWx0YW4gYXJndW1lbnRvcyBwYXJhIHBhcmEgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjIxMzAKKyM6IHNlcXVlbmNlci5jOjIyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlICclLipzJyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYW5hbGl6YXIgJyUuKnMnIgorCisjOiBzZXF1ZW5jZXIuYzoyMjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbGluZSAlZDogJS4qcyIKIG1zZ3N0ciAibMOtbmVhIGludsOhbGlkYSAlZDogJS4qcyIKIAotIzogc2VxdWVuY2VyLmM6MjEzOAorIzogc2VxdWVuY2VyLmM6MjMwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgJyVzJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICJubyBzZSBwdWVkZSAgJyVzJyBzaW4gdW4gY29tbWl0IHByZXZpbyIKIAotIzogc2VxdWVuY2VyLmM6MjIwOQorIzogc2VxdWVuY2VyLmM6MjM0OCBidWlsdGluL3JlYmFzZS5jOjE3MiBidWlsdGluL3JlYmFzZS5jOjE5NworIzogYnVpbHRpbi9yZWJhc2UuYzoyMjMgYnVpbHRpbi9yZWJhc2UuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJy4iCittc2dzdHIgIm5vIHNlIHB1ZWRlIGxlZXIgJyVzJy4iCisKKyM6IHNlcXVlbmNlci5jOjIzODQKK21zZ2lkICJjYW5jZWxsaW5nIGEgY2hlcnJ5IHBpY2tpbmcgaW4gcHJvZ3Jlc3MiCittc2dzdHIgImNhbmNlbGFuZG8gY2hlcnJ5LXBpY2sgZW4gcHJvZ3Jlc28iCisKKyM6IHNlcXVlbmNlci5jOjIzOTEKK21zZ2lkICJjYW5jZWxsaW5nIGEgcmV2ZXJ0IGluIHByb2dyZXNzIgorbXNnc3RyICJjYW5jZWxhbmRvIHJldmVydCBlbiBwcm9ncmVzbyIKKworIzogc2VxdWVuY2VyLmM6MjQzNQogbXNnaWQgInBsZWFzZSBmaXggdGhpcyB1c2luZyAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuIgogbXNnc3RyICJwb3IgZmF2b3IgYXJyZWdsZSBlc3RvIHVzYW5kbyAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjExCisjOiBzZXF1ZW5jZXIuYzoyNDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAnJXMnIgogbXNnc3RyICJob2phIGRlIGluc3RydWNjaW9uZXMgaW51dGlsaXphYmxlOiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjE2CisjOiBzZXF1ZW5jZXIuYzoyNDQyCiBtc2dpZCAibm8gY29tbWl0cyBwYXJzZWQuIgogbXNnc3RyICJuaW5nw7puIGNvbW1pdCBhbmFsaXphZG8uIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjI3CisjOiBzZXF1ZW5jZXIuYzoyNDUzCiBtc2dpZCAiY2Fubm90IGNoZXJyeS1waWNrIGR1cmluZyBhIHJldmVydC4iCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIHJlYWxpemFyIGNoZXJyeS1waWNrIGR1cmFudGUgdW4gcmV2ZXJ0LiIKIAotIzogc2VxdWVuY2VyLmM6MjIyOQorIzogc2VxdWVuY2VyLmM6MjQ1NQogbXNnaWQgImNhbm5vdCByZXZlcnQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgogbXNnc3RyICJubyBzZSBwdWVkZSByZWFsaXphciB1biByZXZlcnQgZHVyYW50ZSB1biBjaGVycnktcGljay4iCiAKLSM6IHNlcXVlbmNlci5jOjIyOTkKKyM6IHNlcXVlbmNlci5jOjI1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICJ2YWxvciBpbnbDoWxpZG8gcGFyYSAlczogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjIzODAKKyM6IHNlcXVlbmNlci5jOjI2MzAKIG1zZ2lkICJ1bnVzYWJsZSBzcXVhc2gtb250byIKIG1zZ3N0ciAic3F1YXNoLW9udG8gaW5zZXJ2aWJsZSIKIAotIzogc2VxdWVuY2VyLmM6MjM5NgorIzogc2VxdWVuY2VyLmM6MjY0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJyVzJyIKIG1zZ3N0ciAiaG9qYSBkZSBvcGNpb25lcyBtYWwgZm9ybWFkYTogJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MjQ3OSBzZXF1ZW5jZXIuYzo0MDA1CisjOiBzZXF1ZW5jZXIuYzoyNzM2IHNlcXVlbmNlci5jOjQ0NjMKIG1zZ2lkICJlbXB0eSBjb21taXQgc2V0IHBhc3NlZCIKIG1zZ3N0ciAiY29uanVudG8gZGUgY29tbWl0cyB2YWPDrW8gZW50cmVnYWRvIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDg3Ci1tc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKLW1zZ3N0ciAidW4gY2hlcnJ5LXBpY2sgbyByZXZlcnQgeWEgZXN0w6EgZW4gcHJvZ3Jlc28iCisjOiBzZXF1ZW5jZXIuYzoyNzUyCittc2dpZCAicmV2ZXJ0IGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCittc2dzdHIgInJldmVydCB5YSBlc3TDoSBlbiBwcm9ncmVzbyIKIAotIzogc2VxdWVuY2VyLmM6MjQ4OAotbXNnaWQgInRyeSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiCi1tc2dzdHIgImludGVudGEgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgorIzogc2VxdWVuY2VyLmM6Mjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0cnkgXCJnaXQgcmV2ZXJ0ICgtLWNvbnRpbnVlIHwgJXMtLWFib3J0IHwgLS1xdWl0KVwiIgorbXNnc3RyICJpbnRlbnRhIFwiZ2l0IHJldmVydCAoLS1jb250aW51ZSB8IC0tcXVpdCB8ICVzIC0tYWJvcnQpXCIiCiAKLSM6IHNlcXVlbmNlci5jOjI0OTEKKyM6IHNlcXVlbmNlci5jOjI3NTcKK21zZ2lkICJjaGVycnktcGljayBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgorbXNnc3RyICJjaGVycnktcGljayB5YSBlc3TDoSBlbiBwcm9ncmVzbyIKKworIzogc2VxdWVuY2VyLmM6Mjc1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAlcy0tYWJvcnQgfCAtLXF1aXQpXCIiCittc2dzdHIgImludGVudGEgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAlcyAtLWFib3J0KVwiIgorCisjOiBzZXF1ZW5jZXIuYzoyNzczCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJubyBzZSBwdWRvIGNyZWFyIHVuIGRpcmVjdG9yaW8gc2VjdWVuY2lhZG9yICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjI1MDUKKyM6IHNlcXVlbmNlci5jOjI3ODgKIG1zZ2lkICJjb3VsZCBub3QgbG9jayBIRUFEIgogbXNnc3RyICJubyBzZSBwdWRvIGJsb3F1ZWFyIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjI1NjAgc2VxdWVuY2VyLmM6Mzc2MQorIzogc2VxdWVuY2VyLmM6Mjg0OCBzZXF1ZW5jZXIuYzo0MjA5CiBtc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgogbXNnc3RyICJuaW5nw7puIGNoZXJyeS1waWNrIG8gcmV2ZXJ0IGVuIHByb2dyZXNvIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTYyCisjOiBzZXF1ZW5jZXIuYzoyODUwIHNlcXVlbmNlci5jOjI4NjEKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgogbXNnc3RyICJubyBzZSBwdWVkZSByZXNvbHZlciBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTY0IHNlcXVlbmNlci5jOjI1OTkKKyM6IHNlcXVlbmNlci5jOjI4NTIgc2VxdWVuY2VyLmM6Mjg5NgogbXNnaWQgImNhbm5vdCBhYm9ydCBmcm9tIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICJubyBzZSBwdWVkZSBhYm9ydGFyIGRlIHVuYSByYW1hIHBvciBuYWNlciIKIAotIzogc2VxdWVuY2VyLmM6MjU4NSBidWlsdGluL2dyZXAuYzo3MjEKKyM6IHNlcXVlbmNlci5jOjI4ODIgYnVpbHRpbi9ncmVwLmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGFicmlyICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjI1ODcKKyM6IHNlcXVlbmNlci5jOjI4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJzogJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGxlZXIgJyVzJzogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjI1ODgKKyM6IHNlcXVlbmNlci5jOjI4ODUKIG1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJmaW5hbCBkZSBhcmNoaXZvIGluZXNwZXJhZG8iCiAKLSM6IHNlcXVlbmNlci5jOjI1OTQKKyM6IHNlcXVlbmNlci5jOjI4OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RvcmVkIHByZS1jaGVycnktcGljayBIRUFEIGZpbGUgJyVzJyBpcyBjb3JydXB0IgogbXNnc3RyICJhcmNoaXZvIEhFQUQgZGUgcHJlLWNoZXJyeS1waWNrIGd1YXJkYWRvwqAnJXMnIGVzdMOhIGNvcnJ1cHRvIgogCi0jOiBzZXF1ZW5jZXIuYzoyNjA1CisjOiBzZXF1ZW5jZXIuYzoyOTAyCiBtc2dpZCAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFELiBOb3QgcmV3aW5kaW5nLCBjaGVjayB5b3VyIEhFQUQhIgotbXNnc3RyICJQYXJlY2UgcXVlIHNlIGhhIG1vdmlkbyBIRUFELiBObyBzZSBoYWNlIHJlYm9iaW5hZG8sIHJldmlzZSBzdSBIRUFEISIKK21zZ3N0ciAiUGFyZWNlIHF1ZSBzZSBoYSBtb3ZpZG8gSEVBRC4gTm8gc2UgaGFjZSByZWJvYmluYWRvLCDCoXJldmlzYSB0dSBIRUFEISIKIAotIzogc2VxdWVuY2VyLmM6MjcwOSBzZXF1ZW5jZXIuYzozNjc5CisjOiBzZXF1ZW5jZXIuYzoyOTQzCittc2dpZCAibm8gcmV2ZXJ0IGluIHByb2dyZXNzIgorbXNnc3RyICJubyBoYXkgcmV2ZXJ0IGVuIHByb2dyZXNvIgorCisjOiBzZXF1ZW5jZXIuYzoyOTUxCittc2dpZCAibm8gY2hlcnJ5LXBpY2sgaW4gcHJvZ3Jlc3MiCittc2dzdHIgIm5pbmfDum4gY2hlcnJ5LXBpY2sgZW4gcHJvZ3Jlc28iCisKKyM6IHNlcXVlbmNlci5jOjI5NjEKK21zZ2lkICJmYWlsZWQgdG8gc2tpcCB0aGUgY29tbWl0IgorbXNnc3RyICJmYWxsw7MgYWwgZXNjcmliaXIgZWwgY29tbWl0IgorCisjOiBzZXF1ZW5jZXIuYzoyOTY4Cittc2dpZCAidGhlcmUgaXMgbm90aGluZyB0byBza2lwIgorbXNnc3RyICJubyBoYXkgbmFkYSBxdWUgc2FsdGFyIgorCisjOiBzZXF1ZW5jZXIuYzoyOTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJoYXZlIHlvdSBjb21taXR0ZWQgYWxyZWFkeT9cbiIKKyJ0cnkgXCJnaXQgJXMgLS1jb250aW51ZVwiIgorbXNnc3RyICIiCisiwr95YSBoYXMgaGVjaG8gZWwgY29tbWl0P1xuIgorImludGVudGEgXCJnaXQgJXMgLS1jb250aW51ZVwiIgorCisjOiBzZXF1ZW5jZXIuYzozMDk1IHNlcXVlbmNlci5jOjQxMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVwZGF0ZSAlcyIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgYWN0dWFsaXphciAlcyIKIAotIzogc2VxdWVuY2VyLmM6Mjc0NyBzZXF1ZW5jZXIuYzozNjU5CisjOiBzZXF1ZW5jZXIuYzozMTM0IHNlcXVlbmNlci5jOjQxMDEKIG1zZ2lkICJjYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICJubyBzZSBwdWVkZSBsZWVyIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjI3NjIKKyM6IHNlcXVlbmNlci5jOjMxNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICJubyBzZSBwdWRvIGNvcGlhciAnJXMnIGEgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6Mjc3MAorIzogc2VxdWVuY2VyLmM6MzE1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGNhbiBhbWVuZCB0aGUgY29tbWl0IG5vdywgd2l0aFxuIgpAQCAtNTA5NCwzNSArNjgyNywzMCBAQAogIlxuIgogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiBtc2dzdHIgIiIKLSJQdWVkZSBlbm1lbmRhciBlbCBjb21taXQgYWhvcmEsIGNvblxuIgorIlB1ZWRlcyBlbm1lbmRhciBlbCBjb21taXQgYWhvcmEsIGNvblxuIgogIlxuIgogIlx0Z2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCiAiXG4iCi0iVW5hIHZleiBxdWUgZXN0w6kgc2F0aXNmZWNobyBjb24gbG9zIGNhbWJpb3MsIGVqZWN1dGVcbiIKKyJVbmEgdmV6IHF1ZSBlc3TDqXMgc2F0aXNmZWNobyBjb24gbG9zIGNhbWJpb3MsIGVqZWN1dGFcbiIKICJcbiIKICJcdGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzgwCisjOiBzZXF1ZW5jZXIuYzozMTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAlcy4uLiAlLipzIgogbXNnc3RyICJObyBzZSBwdWRvIGFwbGljYXIgJXMuLi4gJS4qcyIKIAotIzogc2VxdWVuY2VyLmM6Mjc4NworIzogc2VxdWVuY2VyLmM6MzE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbWVyZ2UgJS4qcyIKIG1zZ3N0ciAiTm8gc2UgcHVkbyBmdXNpb25hciAlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzk4IHNlcXVlbmNlci5jOjI4MDIgYnVpbHRpbi9kaWZmdG9vbC5jOjY0MAorIzogc2VxdWVuY2VyLmM6MzE5MCBzZXF1ZW5jZXIuYzozMTk0IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICJubyBzZSBwdWRvIGNvcGlhciAnJXMnIGEgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MjgyNCBzZXF1ZW5jZXIuYzozMjQyIGJ1aWx0aW4vcmViYXNlLmM6NTgwIGJ1aWx0aW4vcmViYXNlLmM6MTAxOQotIzogYnVpbHRpbi9yZWJhc2UuYzoxMzcyIGJ1aWx0aW4vcmViYXNlLmM6MTQyNgotbXNnaWQgImNvdWxkIG5vdCByZWFkIGluZGV4IgotbXNnc3RyICJubyBzZSBwdWRvIGxlZXIgw61uZGljZSIKLQotIzogc2VxdWVuY2VyLmM6MjgyOQorIzogc2VxdWVuY2VyLmM6MzIyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhlY3V0aW9uIGZhaWxlZDogJXNcbiIKQEAgLTUxMzcsMTEgKzY4NjUsMTEgQEAKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiBzZXF1ZW5jZXIuYzoyODM1CisjOiBzZXF1ZW5jZXIuYzozMjI3CiBtc2dpZCAiYW5kIG1hZGUgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWVcbiIKIG1zZ3N0ciAieSBzZSBoaWNpZXJvbiBjYW1iaW9zIGFsIMOtbmRpY2UgeS9vIMOhcmJvbCBkZSB0cmFiYWpvXG4iCiAKLSM6IHNlcXVlbmNlci5jOjI4NDEKKyM6IHNlcXVlbmNlci5jOjMyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4ZWN1dGlvbiBzdWNjZWVkZWQ6ICVzXG4iCkBAIC01MTU4LDc2ICs2ODg2LDcyIEBACiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKICJcbiIKIAotIzogc2VxdWVuY2VyLmM6MjkwMgorIzogc2VxdWVuY2VyLmM6MzI5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbGxlZ2FsIGxhYmVsIG5hbWU6ICclLipzJyIKIG1zZ3N0ciAibm9tYnJlIGRlIGxhYmVsIGlsZWdhbDogJyUuKnMnIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTU0CisjOiBzZXF1ZW5jZXIuYzozMzQ4CiBtc2dpZCAid3JpdGluZyBmYWtlIHJvb3QgY29tbWl0IgogbXNnc3RyICJlc2NyaWJpZW5kbyBjb21taXQgcmHDrXogZmFsc28iCiAKLSM6IHNlcXVlbmNlci5jOjI5NTkKKyM6IHNlcXVlbmNlci5jOjMzNTMKIG1zZ2lkICJ3cml0aW5nIHNxdWFzaC1vbnRvIgogbXNnc3RyICJlc2NyaWJpZW5kbyBzcXVhc2gtb250byIKIAotIzogc2VxdWVuY2VyLmM6Mjk5NyBidWlsdGluL3JlYmFzZS5jOjU4NSBidWlsdGluL3JlYmFzZS5jOjU5MQorIzogc2VxdWVuY2VyLmM6MzM5MSBidWlsdGluL3JlYmFzZS5jOjg3NiBidWlsdGluL3JlYmFzZS5jOjg4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZmluZCB0cmVlIG9mICVzIgogbXNnc3RyICJmYWxsw7MgYWwgZW5jb250cmFyIMOhcmJvbCBkZSAlcyIKIAotIzogc2VxdWVuY2VyLmM6MzAxNSBidWlsdGluL3JlYmFzZS5jOjYwNAotbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBpbmRleCIKLW1zZ3N0ciAibm8gc2UgcHVkbyBlc2NyaWJpciDDrW5kaWNlIgotCi0jOiBzZXF1ZW5jZXIuYzozMDQyCisjOiBzZXF1ZW5jZXIuYzozNDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gcmVzb2x2ZXIgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MzA2OAorIzogc2VxdWVuY2VyLmM6MzQ2NwogbXNnaWQgImNhbm5vdCBtZXJnZSB3aXRob3V0IGEgY3VycmVudCByZXZpc2lvbiIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgZnVzaW9uYXIgc2luIHVuYSB2ZXJzacOzbiBhY3R1YWwiCiAKLSM6IHNlcXVlbmNlci5jOjMwOTAKKyM6IHNlcXVlbmNlci5jOjM0ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICclLipzJyIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgYW5hbGl6YXIgJyUuKnMnIgogCi0jOiBzZXF1ZW5jZXIuYzozMDk5CisjOiBzZXF1ZW5jZXIuYzozNDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gbWVyZ2U6ICclLipzJyIKIG1zZ3N0ciAibmFkYSBwYXJhIGZ1c2lvbmFyOiAnJS4qcyciCiAKLSM6IHNlcXVlbmNlci5jOjMxMTEKKyM6IHNlcXVlbmNlci5jOjM1MTAKIG1zZ2lkICJvY3RvcHVzIG1lcmdlIGNhbm5vdCBiZSBleGVjdXRlZCBvbiB0b3Agb2YgYSBbbmV3IHJvb3RdIgogbXNnc3RyICJmdXNpw7NuIG9jdG9wdXMgbm8gcHVlZGUgc2VyIGVqZWN1dGFkYSBlbiBsYSBwdW50YSBkZSB1biBbbnVldm8gcm9vdF0iCiAKLSM6IHNlcXVlbmNlci5jOjMxMjYKKyM6IHNlcXVlbmNlci5jOjM1MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBjb21taXQgbWVzc2FnZSBvZiAnJXMnIgogbXNnc3RyICJubyBzZSBwdWVkZSBsZWVyIGVsIG1lbnNhamUgZGVsIGNvbW1pdCAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzozMjc0CisjOiBzZXF1ZW5jZXIuYzozNjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBldmVuIGF0dGVtcHQgdG8gbWVyZ2UgJyUuKnMnIgogbXNnc3RyICJubyBzZSBwdWRvIGludGVudGFyIGZ1c2lvbmFyICclLipzJyIKIAotIzogc2VxdWVuY2VyLmM6MzI5MAorIzogc2VxdWVuY2VyLmM6MzcwNAogbXNnaWQgIm1lcmdlOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgImZ1c2nDs246IE5vIHNlIHB1ZWRlIGVzY3JpYmlyIGVsIG51ZXZvIGFyY2hpdm8gw61uZGljZSIKIAotIzogc2VxdWVuY2VyLmM6MzM1OCBidWlsdGluL3JlYmFzZS5jOjI2OAorIzogc2VxdWVuY2VyLmM6Mzc3MyBidWlsdGluL3JlYmFzZS5jOjczMwogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC5cbiIKIG1zZ3N0ciAiQXV0b3N0YXNoIGFwbGljYWRvLlxuIgogCi0jOiBzZXF1ZW5jZXIuYzozMzcwCisjOiBzZXF1ZW5jZXIuYzozNzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdG9yZSAlcyIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgZ3VhcmRhciAlcyIKIAotIzogc2VxdWVuY2VyLmM6MzM3MyBidWlsdGluL3JlYmFzZS5jOjI4NAorIzogc2VxdWVuY2VyLmM6Mzc4OCBidWlsdGluL3JlYmFzZS5jOjc0OSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBcHBseWluZyBhdXRvc3Rhc2ggcmVzdWx0ZWQgaW4gY29uZmxpY3RzLlxuIgpAQCAtNTIzOSwzMSArNjk2MywzMSBAQAogIlB1ZWRlcyBlamVjdXRhciBcImdpdCBzdGFzaCBwb3BcIiBvIFwiZ2l0IHN0YXNoIGRyb3BcIiBlbiBjdWFscXVpZXIgIgogIm1vbWVudG8uXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM0MjcKKyM6IHNlcXVlbmNlci5jOjM4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNoZWNrb3V0ICVzIgogbXNnc3RyICJubyBzZSBwdWVkZSBoYWNlciBjaGVja291dCBhICVzIgogCi0jOiBzZXF1ZW5jZXIuYzozNDQxCisjOiBzZXF1ZW5jZXIuYzozODYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYSB2YWxpZCBPSUQiCiBtc2dzdHIgIiVzIG5vIGVzIE9JRCB2w6FsaWRvIgogCi0jOiBzZXF1ZW5jZXIuYzozNDQ2IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MjQKKyM6IHNlcXVlbmNlci5jOjM4NjggZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc3OQogbXNnaWQgImNvdWxkIG5vdCBkZXRhY2ggSEVBRCIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgZGVzYWNvcGxhciBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzozNDYxCisjOiBzZXF1ZW5jZXIuYzozODgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQgYXQgSEVBRFxuIgogbXNnc3RyICJEZXRlbmlkbyBlbiBIRUFEXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM0NjMKKyM6IHNlcXVlbmNlci5jOjM4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCBhdCAlc1xuIgogbXNnc3RyICJEZXRlbmlkbyBlbiAlc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzozNDcxCisjOiBzZXF1ZW5jZXIuYzozODkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgZXhlY3V0ZSB0aGUgdG9kbyBjb21tYW5kXG4iCkBAIC01Mjg0LDQ4ICs3MDA4LDQ4IEBACiAiICAgIGdpdCByZWJhc2UgLS1lZGl0LXRvZG9cbiIKICIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM1NDMKKyM6IHNlcXVlbmNlci5jOjM5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCBhdCAlcy4uLiAgJS4qc1xuIgogbXNnc3RyICJEZXRlbmlkbyBlbiAlcy4uLiAgJS4qc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzozNjIyCisjOiBzZXF1ZW5jZXIuYzo0MDUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gY29tbWFuZCAlZCIKIG1zZ3N0ciAiY29tYW5kbyBkZXNjb25vY2lkbyAlZCIKIAotIzogc2VxdWVuY2VyLmM6MzY2NworIzogc2VxdWVuY2VyLmM6NDEwOQogbXNnaWQgImNvdWxkIG5vdCByZWFkIG9yaWctaGVhZCIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgbGVlciBvcmlnLWhlYWQiCiAKLSM6IHNlcXVlbmNlci5jOjM2NzIgc2VxdWVuY2VyLmM6NDc0MQorIzogc2VxdWVuY2VyLmM6NDExNAogbXNnaWQgImNvdWxkIG5vdCByZWFkICdvbnRvJyIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgbGVlciAnb250byciCiAKLSM6IHNlcXVlbmNlci5jOjM2ODYKKyM6IHNlcXVlbmNlci5jOjQxMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVwZGF0ZSBIRUFEIHRvICVzIgogbXNnc3RyICJubyBzZSBwdWVkZSBhY3R1YWxpemFyIEhFQUQgYSAlcyIKIAotIzogc2VxdWVuY2VyLmM6Mzc3MgorIzogc2VxdWVuY2VyLmM6NDIyMQogbXNnaWQgImNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJubyBzZSBwdWVkZSByZWFsaXphciByZWJhc2U6IFRpZW5lcyBjYW1iaW9zIGZ1ZXJhIGRlbCDDoXJlYSBkZSBzdGFnZS4iCiAKLSM6IHNlcXVlbmNlci5jOjM3ODEKKyM6IHNlcXVlbmNlci5jOjQyMzAKIG1zZ2lkICJjYW5ub3QgYW1lbmQgbm9uLWV4aXN0aW5nIGNvbW1pdCIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgYXJyZWdsYXIgdW4gY29tbWl0IG5vIGV4aXN0ZW50ZSIKIAotIzogc2VxdWVuY2VyLmM6Mzc4MworIzogc2VxdWVuY2VyLmM6NDIzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGZpbGU6ICclcyciCiBtc2dzdHIgImFyY2hpdm8gaW52w6FsaWRvOiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzozNzg1CisjOiBzZXF1ZW5jZXIuYzo0MjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29udGVudHM6ICclcyciCiBtc2dzdHIgImNvbnRlbmlkbyBpbnbDoWxpZG86ICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjM3ODgKKyM6IHNlcXVlbmNlci5jOjQyMzcKIG1zZ2lkICIiCiAiXG4iCiAiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlLCBjb21taXQgdGhlbVxuIgpAQCAtNTMzNiwxMjUgKzcwNjAsNjkgQEAKICJ1biBjb21taXQgY29uIGVzdG9zXG4iCiAicHJpbWVybyB5IGx1ZWdvIGVqZWN1dGEgJ2dpdCByZWJhc2UgLS1jb250aW51ZScgZGUgbnVldm8uIgogCi0jOiBzZXF1ZW5jZXIuYzozODI0IHNlcXVlbmNlci5jOjM4NjIKKyM6IHNlcXVlbmNlci5jOjQyNzMgc2VxdWVuY2VyLmM6NDMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgZmlsZTogJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBlc2NyaWJpciBlbCBhcmNoaXZvOiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzozODc3CisjOiBzZXF1ZW5jZXIuYzo0MzI3CiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSBDSEVSUllfUElDS19IRUFEIgogbXNnc3RyICJubyBzZSBwdWVkZSBlbGltaW5hciBDSEVSUllfUElDS19IRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzozODg0CisjOiBzZXF1ZW5jZXIuYzo0MzM0CiBtc2dpZCAiY291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIm5vIHNlIHB1ZG8gcmVhbGl6YXIgZWwgY29tbWl0IGNvbiBsb3MgY2FtYmlvcyBlbiBlbCDDoXJlYSBkZSBzdGFnZS4iCiAKLSM6IHNlcXVlbmNlci5jOjM5ODIKKyM6IHNlcXVlbmNlci5jOjQ0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCiBtc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBhcGxpY2FyIGNoZXJyeS1waWNrIGEgdW4gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjM5ODYKKyM6IHNlcXVlbmNlci5jOjQ0NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKIG1zZ3N0ciAiJXM6IHJldmlzacOzbiBlcnLDs25lYSIKIAotIzogc2VxdWVuY2VyLmM6NDAyMQorIzogc2VxdWVuY2VyLmM6NDQ3OQogbXNnaWQgImNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgcmV2ZXJ0aXIgY29tbyBjb21taXQgaW5pY2lhbCIKIAotIzogc2VxdWVuY2VyLmM6NDQ2NgorIzogc2VxdWVuY2VyLmM6NDk1MgogbXNnaWQgIm1ha2Vfc2NyaXB0OiB1bmhhbmRsZWQgb3B0aW9ucyIKIG1zZ3N0ciAibWFrZV9zY3JpcHQ6IG9wY2lvbmVzIGRlc2Nvbm9jaWRhcyIKIAotIzogc2VxdWVuY2VyLmM6NDQ2OQorIzogc2VxdWVuY2VyLmM6NDk1NQogbXNnaWQgIm1ha2Vfc2NyaXB0OiBlcnJvciBwcmVwYXJpbmcgcmV2aXNpb25zIgogbXNnc3RyICJtYWtlX3NjcmlwdDogZXJyb3IgcHJlcGFyYW5kbyByZXZpc2lvbmVzIgogCi0jOiBzZXF1ZW5jZXIuYzo0NTA5IHNlcXVlbmNlci5jOjQ1NjUgc2VxdWVuY2VyLmM6NDg0MAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnVzYWJsZSB0b2RvIGxpc3Q6ICclcyciCi1tc2dzdHIgImxpc3RhIGRlIHBlbmRpZW50ZXMgaW51dGlsaXphYmxlOiAnJXMnIgotCi0jOiBzZXF1ZW5jZXIuYzo0NjIwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJ1bnJlY29nbml6ZWQgc2V0dGluZyAlcyBmb3Igb3B0aW9uIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiBJZ25vcmluZy4iCi1tc2dzdHIgIiIKLSJvcGNpw7NuICVzIG5vIHJlY29ub2NpZGEgcGFyYSBsYSBvcGNpw7NuIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiBJZ25vcmFuZG8uIgotCi0jOiBzZXF1ZW5jZXIuYzo0NjkwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS5cbiIKLSJEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKTpcbiIKLW1zZ3N0ciAiIgotIlBlbGlncm86IGFsZ3Vub3MgY29tbWl0cyBwdWVkZW4gaGFiZXIgc2lkbyBib3RhZG9zIGRlIGZvcm1hIGFjY2lkZW50YWwuXG4iCi0iQ29tbWl0cyBib3RhZG9zIChlbXBlemFuZG8gY29uIGVsIG1hcyBudWV2byk6XG4iCi0KLSM6IHNlcXVlbmNlci5jOjQ2OTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIlRvIGF2b2lkIHRoaXMgbWVzc2FnZSwgdXNlIFwiZHJvcFwiIHRvIGV4cGxpY2l0bHkgcmVtb3ZlIGEgY29tbWl0LlxuIgotIlxuIgotIlVzZSAnZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjaycgdG8gY2hhbmdlIHRoZSBsZXZlbCBvZiAiCi0id2FybmluZ3MuXG4iCi0iVGhlIHBvc3NpYmxlIGJlaGF2aW91cnMgYXJlOiBpZ25vcmUsIHdhcm4sIGVycm9yLlxuIgotIlxuIgotbXNnc3RyICIiCi0iUGFyYSBldml0YXIgZXN0ZSBtZW5zYWplLCB1c2UgXCJkcm9wXCIgcGFyYSBlbGltaW5hciBkZSBmb3JtYSBleHBsw61jaXRhIHVuICIKLSJjb21taXQuXG4iCi0iXG4iCi0iVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyBwYXJhIGNhbWJpYXIgZWwgbml2ZWwgZGUgIgotImFkdmVydGVuY2lhcy5cbiIKLSJMb3MgcG9zaWJsZXMgY29tcG9ydGFtaWVudG9zIHNvbjogaWdub3JlLHdhcm4sZXJyb3IuXG4iCi0iXG4iCi0KLSM6IHNlcXVlbmNlci5jOjQ3MTAKLSMsIGMtZm9ybWF0CisjOiBzZXF1ZW5jZXIuYzo1MTEzCiBtc2dpZCAiIgogIllvdSBjYW4gZml4IHRoaXMgd2l0aCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tIgogImNvbnRpbnVlJy5cbiIKICJPciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSAtLWFib3J0Jy5cbiIKIG1zZ3N0ciAiIgotIlNlIHB1ZWRlIGFycmVnbGFyIGVzdG8gY29uICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJyB5IGRlc3B1w6lzIGVqZWN1dGFyICdnaXQgIgorIlNlIHB1ZWRlIGFycmVnbGFyIGVzdG8gY29uICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJyB5IGRlc3B1w6lzIGVqZWN1dGEgJ2dpdCAiCiAicmViYXNlIC0tY29udGludWUnLlxuIgogIk8gc2UgcHVlZGUgYWJvcnRhciBlbCByZWJhc2UgY29uICdnaXQgcmViYXNlIC0tYWJvcnQnLlxuIgogCi0jOiBzZXF1ZW5jZXIuYzo0ODQ4IHNlcXVlbmNlci5jOjQ4ODYKKyM6IHNlcXVlbmNlci5jOjUyMjYgc2VxdWVuY2VyLmM6NTI0MwogbXNnaWQgIm5vdGhpbmcgdG8gZG8iCiBtc2dzdHIgIm5hZGEgcXVlIGhhY2VyIgogCi0jOiBzZXF1ZW5jZXIuYzo0ODUyCi0jLCBjLWZvcm1hdAotbXNnaWQgIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kKSIKLW1zZ2lkX3BsdXJhbCAiUmViYXNlICVzIG9udG8gJXMgKCVkIGNvbW1hbmRzKSIKLW1zZ3N0clswXSAiUmViYXNlICVzIGVuICVzICglZCBjb21hbmRvKSIKLW1zZ3N0clsxXSAiUmViYXNlICVzIGVuICVzICglZCBjb21hbmRvcykiCi0KLSM6IHNlcXVlbmNlci5jOjQ4NjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnLiIKLW1zZ3N0ciAibm8gc2UgcHVkbyBjb3BpYXIgJyVzJyBhICclcycuIgotCi0jOiBzZXF1ZW5jZXIuYzo0ODY4IHNlcXVlbmNlci5jOjQ4OTcKLW1zZ2lkICJjb3VsZCBub3QgdHJhbnNmb3JtIHRoZSB0b2RvIGxpc3QiCi1tc2dzdHIgIm5vIHNlIHB1ZG8gdHJhbnNmb3JtYXIgbGlzdGEgZGUgcGVuZGllbnRlcyIKLQotIzogc2VxdWVuY2VyLmM6NDkwMAorIzogc2VxdWVuY2VyLmM6NTI1NwogbXNnaWQgImNvdWxkIG5vdCBza2lwIHVubmVjZXNzYXJ5IHBpY2sgY29tbWFuZHMiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gc2FsdGFyIGxvcyBjb21hbmRvcyBwaWNrIGlubmVjZXNhcmlvcyIKIAotIzogc2VxdWVuY2VyLmM6NDk4MworIzogc2VxdWVuY2VyLmM6NTM1MQogbXNnaWQgInRoZSBzY3JpcHQgd2FzIGFscmVhZHkgcmVhcnJhbmdlZC4iCiBtc2dzdHIgImVzdGUgc2NyaXB0IHlhIGZ1ZSByZW9yZ2FuaXphZG8uIgogCi0jOiBzZXR1cC5jOjEyMworIzogc2V0dXAuYzoxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiclcycgZXN0w6EgZnVlcmEgZGVsIHJlcG9zaXRvcmlvIgogCi0jOiBzZXR1cC5jOjE3MgorIzogc2V0dXAuYzoxNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiVzOiBubyBzdWNoIHBhdGggaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTU0NjQsNyArNzEzMiw3IEBACiAiVXNlICdnaXQgPGNvbWFuZG8+IC0tIDxydXRhPi4uLicgcGFyYSBlc3BlY2lmaWNhciBydXRhcyBxdWUgbm8gZXhpc3RlbiAiCiAibG9jYWxtZW50ZS4iCiAKLSM6IHNldHVwLmM6MTg1CisjOiBzZXR1cC5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IHVua25vd24gcmV2aXNpb24gb3IgcGF0aCBub3QgaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTU0NzYsMTIgKzcxNDQsMTIgQEAKICJVc2UgJy0tJyBwYXJhIHNlcGFyYXIgbGFzIHJ1dGFzIGRlIGxhcyByZXZpc2lvbmVzLCBkZSBlc3RhIG1hbmVyYTpcbiIKICInZ2l0IDxjb21hbmRvPiBbPHJldmlzacOzbj4uLi5dIC0tIFs8YXJjaGl2bz4uLi5dJyIKIAotIzogc2V0dXAuYzoyMzQKKyM6IHNldHVwLmM6MjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9wdGlvbiAnJXMnIG11c3QgY29tZSBiZWZvcmUgbm9uLW9wdGlvbiBhcmd1bWVudHMiCiBtc2dzdHIgIm9wY2nDs24gJyVzJyBkZWJlIHZlbmlyIGFudGVzIGRlIGFyZ3VtZW50b3Mgbm8gb3BjaW9uYWxlcyIKIAotIzogc2V0dXAuYzoyNTMKKyM6IHNldHVwLmM6MjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogYm90aCByZXZpc2lvbiBhbmQgZmlsZW5hbWVcbiIKQEAgLTU0OTIsOTUgKzcxNjAsOTUgQEAKICJVc2UgJy0tJyBwYXJhIHNlcGFyYXIgcnV0YXMgZGUgcmV2aXNpb25lcywgZGUgZXN0YSBtYW5lcmE6XG4iCiAiJ2dpdCA8Y29tYW5kbz4gWzxyZXZpc2nDs24+Li4uXSAtLSBbPGFyY2hpdm8+Li4uXSciCiAKLSM6IHNldHVwLmM6Mzg5CisjOiBzZXR1cC5jOjM5MQogbXNnaWQgInVuYWJsZSB0byBzZXQgdXAgd29yayB0cmVlIHVzaW5nIGludmFsaWQgY29uZmlnIgogbXNnc3RyICIiCiAibm8gZXMgcG9zaWJsZSBjb25maWd1cmFyIGVsIGRpcmVjdG9yaW8gZGUgdHJhYmFqbyB1c2FuZG8gdW5hIGNvbmZpZ3VyYWNpw7NuICIKICJpbnbDoWxpZGEiCiAKLSM6IHNldHVwLmM6MzkzCisjOiBzZXR1cC5jOjM5NQogbXNnaWQgInRoaXMgb3BlcmF0aW9uIG11c3QgYmUgcnVuIGluIGEgd29yayB0cmVlIgogbXNnc3RyICJlc3RhIG9wZXJhY2nDs24gZGViZSBzZXIgcmVhbGl6YWRhIGVuIHVuIMOhcmJvbCBkZSB0cmFiYWpvIgogCi0jOiBzZXR1cC5jOjUyNworIzogc2V0dXAuYzo1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0ZWQgZ2l0IHJlcG8gdmVyc2lvbiA8PSAlZCwgZm91bmQgJWQiCiBtc2dzdHIgIlNlIGVzcGVyYWJhIHZlcnNpw7NuIGRlIGdpdCByZXBvICA8PSAlZCwgZW5jb250cmFkYSAlZCIKIAotIzogc2V0dXAuYzo1MzUKKyM6IHNldHVwLmM6NTQ5CiBtc2dpZCAidW5rbm93biByZXBvc2l0b3J5IGV4dGVuc2lvbnMgZm91bmQ6IgogbXNnc3RyICJzZSBlbmNvbnRyw7MgZXh0ZW5zacOzbiBkZSByZXBvc2l0b3JpbyBkZXNjb25vY2lkYToiCiAKLSM6IHNldHVwLmM6NTU0CisjOiBzZXR1cC5jOjU2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBvcGVuaW5nICclcyciCiBtc2dzdHIgImVycm9yIGFicmllbmRvICclcyciCiAKLSM6IHNldHVwLmM6NTU2CisjOiBzZXR1cC5jOjU3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0b28gbGFyZ2UgdG8gYmUgYSAuZ2l0IGZpbGU6ICclcyciCiBtc2dzdHIgIm11eSBncmFuZGUgcGFyYSBzZXIgdW4gYXJjaGl2byAuZ2l0OiAnJXMnIgogCi0jOiBzZXR1cC5jOjU1OAorIzogc2V0dXAuYzo1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcmVhZGluZyAlcyIKIG1zZ3N0ciAiZXJyb3IgbGV5ZW5kbyAlcyIKIAotIzogc2V0dXAuYzo1NjAKKyM6IHNldHVwLmM6NTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgZ2l0ZmlsZSBmb3JtYXQ6ICVzIgogbXNnc3RyICJmb3JtYXRvIGdpdGZpbGUgaW52w6FsaWRvOiAlcyIKIAotIzogc2V0dXAuYzo1NjIKKyM6IHNldHVwLmM6NTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHBhdGggaW4gZ2l0ZmlsZTogJXMiCiBtc2dzdHIgIm5vIGhheSBydXRhIGVuIGdpdGZpbGU6ICVzIgogCi0jOiBzZXR1cC5jOjU2NAorIzogc2V0dXAuYzo1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgZ2l0IHJlcG9zaXRvcnk6ICVzIgogbXNnc3RyICJubyBlcyB1biByZXBvc2l0b3JpbyBnaXQ6ICVzIgogCi0jOiBzZXR1cC5jOjY2MworIzogc2V0dXAuYzo2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyQlcycgdG9vIGJpZyIKIG1zZ3N0ciAiJyQlcycgbXV5IGdyYW5kZSIKIAotIzogc2V0dXAuYzo2NzcKKyM6IHNldHVwLmM6NjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIGdpdCByZXBvc2l0b3J5OiAnJXMnIgogbXNnc3RyICJubyBlcyB1biByZXBvc2l0b3JpbyBnaXQ6ICclcyciCiAKLSM6IHNldHVwLmM6NzA2IHNldHVwLmM6NzA4IHNldHVwLmM6NzM5CisjOiBzZXR1cC5jOjcyMCBzZXR1cC5jOjcyMiBzZXR1cC5jOjc1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgYXBsaWNhciBjaGRpciBhICclcyciCiAKLSM6IHNldHVwLmM6NzExIHNldHVwLmM6NzY3IHNldHVwLmM6Nzc3IHNldHVwLmM6ODE2IHNldHVwLmM6ODI0IHNldHVwLmM6ODM5CisjOiBzZXR1cC5jOjcyNSBzZXR1cC5jOjc4MSBzZXR1cC5jOjc5MSBzZXR1cC5jOjgzMCBzZXR1cC5jOjgzOAogbXNnaWQgImNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgogbXNnc3RyICJubyBzZSBwdWVkZSB2b2x2ZXIgYSBjd2QiCiAKLSM6IHNldHVwLmM6ODM3CisjOiBzZXR1cC5jOjg1MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJSpzJXMlcyciCittc2dzdHIgImZhbGzDsyBhbCBkZXRlcm1pbmFyICclKnMlcyVzJyIKKworIzogc2V0dXAuYzoxMDkwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiSW5jYXBheiBkZSBsZWVyIGVsIGRpcmVjdG9yaW8gZGUgdHJhYmFqbyBhY3R1YWwiCisKKyM6IHNldHVwLmM6MTA5OSBzZXR1cC5jOjExMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSB0byAnJXMnIgorbXNnc3RyICJubyBzZSBwdWVkZSBjYW1iaWFyIGEgJyVzJyIKKworIzogc2V0dXAuYzoxMTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgb2YgdGhlIHBhcmVudCBkaXJlY3Rvcmllcyk6ICVzIgogbXNnc3RyICIiCiAibm8gZXMgdW4gcmVwb3NpdG9yaW8gZ2l0IChuaSBuaW5ndW5vIGRlIGxvcyBkaXJlY3RvcmlvcyBzdXBlcmlvcmVzKTogJXMiCiAKLSM6IHNldHVwLmM6ODQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBzdGF0ICclKnMlcyVzJyIKLW1zZ3N0ciAiZmFsbMOzIGFsIGRldGVybWluYXIgJyUqcyVzJXMnIgotCi0jOiBzZXR1cC5jOjEwNzgKLW1zZ2lkICJVbmFibGUgdG8gcmVhZCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgotbXNnc3RyICJJbmNhcGF6IGRlIGxlZXIgZWwgZGlyZWN0b3JpbyBkZSB0cmFiYWpvIGFjdHVhbCIKLQotIzogc2V0dXAuYzoxMDkwIHNldHVwLmM6MTA5NgotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgY2hhbmdlIHRvICclcyciCi1tc2dzdHIgIm5vIHNlIHB1ZWRlIGNhbWJpYXIgYSAnJXMnIgotCi0jOiBzZXR1cC5jOjExMDkKKyM6IHNldHVwLmM6MTExNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBwYXJlbnQgdXAgdG8gbW91bnQgcG9pbnQgJXMpXG4iCkBAIC01NTkwLDcgKzcyNTgsNyBAQAogIlBhcmFuZG8gZW4gZWwgbMOtbWl0ZSBkZWwgc2lzdGVtYSBkZSBhcmNoaXZvcyAiCiAiKEdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU0gbm8gZXN0YWJsZWNpZG8pLiIKIAotIzogc2V0dXAuYzoxMTkyCisjOiBzZXR1cC5jOjEyMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInByb2JsZW0gd2l0aCBjb3JlLnNoYXJlZFJlcG9zaXRvcnkgZmlsZW1vZGUgdmFsdWUgKDAlLjNvKS5cbiIKQEAgLTU1OTksMjg3ICs3MjY3LDI5MiBAQAogInByb2JsZW1hIGNvbiBlbCB2YWxvciBkZWwgbW9kbyBkZSBhcmNoaXZvIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSAoMCUuM28pLlxuIgogIkVsIGR1ZcOxbyBkZSBsb3MgYXJjaGl2b3MgdGllbmUgcXVlIHRlbmVyIHBlcm1pc29zIGRlIGxlY3R1cmEgeSBlc2NyaXR1cmEuIgogCi0jOiBzZXR1cC5jOjEyMzUKKyM6IHNldHVwLmM6MTI3MQogbXNnaWQgIm9wZW4gL2Rldi9udWxsIG9yIGR1cCBmYWlsZWQiCiBtc2dzdHIgImZhbGzDsyBhbCBhYnJpciAvZGV2L251bGwgbyBkdXAiCiAKLSM6IHNldHVwLmM6MTI1MAorIzogc2V0dXAuYzoxMjg2CiBtc2dpZCAiZm9yayBmYWlsZWQiCiBtc2dzdHIgImZhbGzDsyBmb3JrIgogCi0jOiBzZXR1cC5jOjEyNTUKKyM6IHNldHVwLmM6MTI5MQogbXNnaWQgInNldHNpZCBmYWlsZWQiCiBtc2dzdHIgImZhbGzDsyBzZXRzaWQiCiAKLSM6IHNoYTEtZmlsZS5jOjM4MQorIzogc2hhMS1maWxlLmM6NDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBkaXJlY3RvcnkgJXMgZG9lcyBub3QgZXhpc3Q7IGNoZWNrIC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMiCiBtc2dzdHIgIm9iamV0byBkaXJlY3RvcmlvICVzIG5vIGV4aXN0ZTsgcmV2aXNhIC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMiCiAKLSM6IHNoYTEtZmlsZS5jOjQzMgorIzogc2hhMS1maWxlLmM6NTAzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBub3JtYWxpemUgYWx0ZXJuYXRlIG9iamVjdCBwYXRoOiAlcyIKIG1zZ3N0ciAiaW5jYXBheiBkZSBub3JtYWxpemFyIGxhIHJ1dGEgZGUgb2JqZXRvIGFsdGVybm86ICVzIgogCi0jOiBzaGExLWZpbGUuYzo1MDMKKyM6IHNoYTEtZmlsZS5jOjU3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaWdub3JpbmcgYWx0ZXJuYXRlIG9iamVjdCBzdG9yZXMsIG5lc3RpbmcgdG9vIGRlZXAiCiBtc2dzdHIgIiVzOiBpZ25vcmFuZG8gZXNwYWNpb3MgZGUgb2JqZXRvcyBhbHRlcm5vcywgYW5pZGFkbyBtdXkgcHJvZnVuZG8iCiAKLSM6IHNoYTEtZmlsZS5jOjUxMAorIzogc2hhMS1maWxlLmM6NTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBub3JtYWxpemUgb2JqZWN0IGRpcmVjdG9yeTogJXMiCiBtc2dzdHIgImluY2FwYXogZGUgbm9ybWFsaXphciBkaXJlY3RvcmlvIGRlIG9iamV0bzogJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjU2NQorIzogc2hhMS1maWxlLmM6NjI1CiBtc2dpZCAidW5hYmxlIHRvIGZkb3BlbiBhbHRlcm5hdGVzIGxvY2tmaWxlIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGhhY2VyIGZkb3BlbiBlbiBsb2NrZmlsZSBhbHRlcm5vcyIKIAotIzogc2hhMS1maWxlLmM6NTgzCisjOiBzaGExLWZpbGUuYzo2NDMKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBhbHRlcm5hdGVzIGZpbGUiCiBtc2dzdHIgIm5vIGVzIHBvc2libGUgbGVlciBhcmNoaXZvcyBhbHRlcm5vcyIKIAotIzogc2hhMS1maWxlLmM6NTkwCisjOiBzaGExLWZpbGUuYzo2NTAKIG1zZ2lkICJ1bmFibGUgdG8gbW92ZSBuZXcgYWx0ZXJuYXRlcyBmaWxlIGludG8gcGxhY2UiCiBtc2dzdHIgIm5vIGVzIHBvc2libGUgbW92ZXIgYXJjaGl2b3MgYWx0ZXJub3MgZW4gZWwgbHVnYXIiCiAKLSM6IHNoYTEtZmlsZS5jOjYyNQorIzogc2hhMS1maWxlLmM6Njg1CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAicnV0YSAnJXMnIG5vIGV4aXN0ZSIKIAotIzogc2hhMS1maWxlLmM6NjUxCisjOiBzaGExLWZpbGUuYzo3MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBhcyBhIGxpbmtlZCBjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iCiBtc2dzdHIgIiIKICJyZXBvc2l0b3JpbyBkZSByZWZlcmVuY2lhICclcycgY29tbyB1biBjaGVja291dCB2aW5jdWxhZG8gbm8gZXMgc29wb3J0YWRvICIKICJ0b2RhdsOtYS4iCiAKLSM6IHNoYTEtZmlsZS5jOjY1NworIzogc2hhMS1maWxlLmM6NzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCiBtc2dzdHIgInJlcG9zaXRvcmlvIGRlIHJlZmVyZW5jaWEgJyVzJyBubyBlcyB1biByZXBvc2l0b3JpbyBsb2NhbC4iCiAKLSM6IHNoYTEtZmlsZS5jOjY2MworIzogc2hhMS1maWxlLmM6NzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKIG1zZ3N0ciAicmVwb3NpdG9yaW8gZGUgcmVmZXJlbmNpYSAnJXMnIGVzIHN1cGVyZmljaWFsIChzaGFsbG93KSIKIAotIzogc2hhMS1maWxlLmM6NjcxCisjOiBzaGExLWZpbGUuYzo3MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBncmFmdGVkIgogbXNnc3RyICJyZXBvc2l0b3JpbyBkZSByZWZlcmVuY2lhICclIHMnIGVzdMOhIGluamVydGFkbyIKIAotIzogc2hhMS1maWxlLmM6NzgxCisjOiBzaGExLWZpbGUuYzo3OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBsaW5lIHdoaWxlIHBhcnNpbmcgYWx0ZXJuYXRlIHJlZnM6ICVzIgorbXNnc3RyICJsw61uZWEgaW52w6FsaWRhIG1pZW50cmFzIHNlIGFuYWxpemFiYW4gcmVmcyBhbHRlcm5hczogJXMiCisKKyM6IHNoYTEtZmlsZS5jOjk0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhdHRlbXB0aW5nIHRvIG1tYXAgJTxQUkl1TUFYPiBvdmVyIGxpbWl0ICU8UFJJdU1BWD4iCiBtc2dzdHIgImludGVudGFuZG8gdXNhciBtbWFwICU8UFJJdU1BWD4gc29icmUgbMOtbWl0ZSAlPFBSSXVNQVg+IgogCi0jOiBzaGExLWZpbGUuYzo4MDYKKyM6IHNoYTEtZmlsZS5jOjk2NAogbXNnaWQgIm1tYXAgZmFpbGVkIgogbXNnc3RyICJtbWFwIGZhbGzDsyIKIAotIzogc2hhMS1maWxlLmM6OTczCisjOiBzaGExLWZpbGUuYzoxMTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBmaWxlICVzIGlzIGVtcHR5IgogbXNnc3RyICJhcmNoaXZvIGRlIG9iamV0byAlcyBlc3TDoSB2YWPDrW8iCiAKLSM6IHNoYTEtZmlsZS5jOjEwOTMgc2hhMS1maWxlLmM6MjIxNQorIzogc2hhMS1maWxlLmM6MTI1MiBzaGExLWZpbGUuYzoyMzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgbG9vc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgIm9iamV0byBwZXJkaWRvIGNvcnJ1cHRvICclcyciCiAKLSM6IHNoYTEtZmlsZS5jOjEwOTUgc2hhMS1maWxlLmM6MjIxOQorIzogc2hhMS1maWxlLmM6MTI1NCBzaGExLWZpbGUuYzoyMzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImdhcmJhZ2UgYXQgZW5kIG9mIGxvb3NlIG9iamVjdCAnJXMnIgogbXNnc3RyICJiYXN1cmEgYWwgZmluYWwgZGVsIG9iamV0byBwZXJkaWRvICclcyciCiAKLSM6IHNoYTEtZmlsZS5jOjExMzcKKyM6IHNoYTEtZmlsZS5jOjEyOTYKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCB0eXBlIgogbXNnc3RyICJ0aXBvIGRlIG9iamV0byBpbnbDoWxpZG8iCiAKLSM6IHNoYTEtZmlsZS5jOjEyMTkKKyM6IHNoYTEtZmlsZS5jOjEzODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayAlcyBoZWFkZXIgd2l0aCAtLWFsbG93LXVua25vd24tdHlwZSIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBkZXNlbXBhY2FyIGhlYWRlciAlcyBjb24gLS1hbGxvdy11bmtub3duLXR5cGUiCiAKLSM6IHNoYTEtZmlsZS5jOjEyMjIKKyM6IHNoYTEtZmlsZS5jOjEzODMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayAlcyBoZWFkZXIiCiBtc2dzdHIgImluY2FwYXogZGUgZGVzZW1wYXF1ZXRhciBoZWFkZXIgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjEyMjgKKyM6IHNoYTEtZmlsZS5jOjEzODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICVzIGhlYWRlciB3aXRoIC0tYWxsb3ctdW5rbm93bi10eXBlIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGFuYWxpemFyIGhlYWRlciAlcyBjb24gLS1hbGxvdy11bmtub3duLXR5cGUiCiAKLSM6IHNoYTEtZmlsZS5jOjEyMzEKKyM6IHNoYTEtZmlsZS5jOjEzOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICVzIGhlYWRlciIKIG1zZ3N0ciAiaW5jYXBheiBkZSBhbmFsaXphciBoZWFkZXIgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjE0MjIKKyM6IHNoYTEtZmlsZS5jOjE1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICJmYWxsw7MgYWwgbGVlciBvYmpldG8gJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjE0MjYKKyM6IHNoYTEtZmlsZS5jOjE1ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwbGFjZW1lbnQgJXMgbm90IGZvdW5kIGZvciAlcyIKIG1zZ3N0ciAicmVlbXBsYXpvICVzIG5vIGVuY29udHJhZG8gcGFyYSAlcyIKIAotIzogc2hhMS1maWxlLmM6MTQzMAorIzogc2hhMS1maWxlLmM6MTU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJsb29zZSBvYmplY3QgJXMgKHN0b3JlZCBpbiAlcykgaXMgY29ycnVwdCIKIG1zZ3N0ciAib2JqZXRvIHBlcmRpZG8gJXMgKGd1YXJkYWRvIGVuICVzKSBlc3TDoSBjb3Jyb21waWRvIgogCi0jOiBzaGExLWZpbGUuYzoxNDM0CisjOiBzaGExLWZpbGUuYzoxNTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tlZCBvYmplY3QgJXMgKHN0b3JlZCBpbiAlcykgaXMgY29ycnVwdCIKIG1zZ3N0ciAicGFxdWV0ZSBkZSBvYmpldG8gJXMgKGd1YXJkYWRvIGVuICVzKSBlc3TDoSBjb3Jyb21waWRvIgogCi0jOiBzaGExLWZpbGUuYzoxNTM2CisjOiBzaGExLWZpbGUuYzoxNjk5CiAjLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzaGExIGZpbGVuYW1lICVzIgotbXNnc3RyICJpbmNhcGF6IGRlIGVzY3JpYmlyIGVsIG5vbWJyZSBkZSBhcmNoaXZvIHNoYTEgJXMiCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJXMiCittc2dzdHIgIm5vIGVzIHBvc2libGUgZXNjcmliaXIgYXJjaGl2byAlcyIKIAotIzogc2hhMS1maWxlLmM6MTU0MworIzogc2hhMS1maWxlLmM6MTcwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc2V0IHBlcm1pc3Npb24gdG8gJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBwb25lciBwZXJtaXNvcyBhICclcyciCiAKLSM6IHNoYTEtZmlsZS5jOjE1NTAKKyM6IHNoYTEtZmlsZS5jOjE3MTMKIG1zZ2lkICJmaWxlIHdyaXRlIGVycm9yIgogbXNnc3RyICJmYWxsw7MgZGUgZXNjcml0dXJhIgogCi0jOiBzaGExLWZpbGUuYzoxNTY5Ci1tc2dpZCAiZXJyb3Igd2hlbiBjbG9zaW5nIHNoYTEgZmlsZSIKLW1zZ3N0ciAiZXJyb3IgY2VycmFuZG8gZWwgYXJjaGl2byBzaGExIgorIzogc2hhMS1maWxlLmM6MTczMgorbXNnaWQgImVycm9yIHdoZW4gY2xvc2luZyBsb29zZSBvYmplY3QgZmlsZSIKK21zZ3N0ciAiZXJyb3IgY2VycmFuZG8gZWwgYXJjaGl2byBkZSBvYmpldG8gc3VlbHRvIgogCi0jOiBzaGExLWZpbGUuYzoxNjM1CisjOiBzaGExLWZpbGUuYzoxNzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc3VmZmljaWVudCBwZXJtaXNzaW9uIGZvciBhZGRpbmcgYW4gb2JqZWN0IHRvIHJlcG9zaXRvcnkgZGF0YWJhc2UgJXMiCiBtc2dzdHIgIiIKICJwZXJtaXNvcyBpbnN1ZmljaWVudGVzIHBhcmEgYWdyZWdhciB1biBvYmpldG8gYSBsYSBiYXNlIGRlIGRhdG9zIGRlbCAiCiAicmVwb3NpdG9yaW8gJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjE2MzcKKyM6IHNoYTEtZmlsZS5jOjE3OTkKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGNyZWFyIHVuIGFyY2hpdm8gdGVtcG9yYWwiCiAKLSM6IHNoYTEtZmlsZS5jOjE2NjEKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc2hhMSBmaWxlIgotbXNnc3RyICJpbmNhcGF6IGRlIGVzY3JpYmlyIGFyY2hpdm8gc2hhMSIKKyM6IHNoYTEtZmlsZS5jOjE4MjMKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbG9vc2Ugb2JqZWN0IGZpbGUiCittc2dzdHIgIm5vIGVzIHBvc2libGUgZXNjcmliaXIgZWwgYXJjaGl2byBkZSBvYmpldG8gc3VlbHRvIgogCi0jOiBzaGExLWZpbGUuYzoxNjY3CisjOiBzaGExLWZpbGUuYzoxODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZWZsYXRlIG5ldyBvYmplY3QgJXMgKCVkKSIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBkZXNpbmZsYXIgZWwgb2JqZXRvIG51ZXZvICVzICglZCkiCiAKLSM6IHNoYTEtZmlsZS5jOjE2NzEKKyM6IHNoYTEtZmlsZS5jOjE4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZUVuZCBvbiBvYmplY3QgJXMgZmFpbGVkICglZCkiCiBtc2dzdHIgImRlZmxhdGVFbmQgZW4gb2JqZXRvICVzIGZhbGzDsyAoJWQpIgogCi0jOiBzaGExLWZpbGUuYzoxNjc1CisjOiBzaGExLWZpbGUuYzoxODM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbmZ1c2VkIGJ5IHVuc3RhYmxlIG9iamVjdCBzb3VyY2UgZGF0YSBmb3IgJXMiCiBtc2dzdHIgImNvbmZ1bmRpZG8gcG9yIGZ1ZW50ZSBkZSBkYXRhIGRlIG9iamV0b3MgaW5lc3RhYmxlIHBhcmEgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjE2ODUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5MTgKKyM6IHNoYTEtZmlsZS5jOjE4NDcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHV0aW1lKCkgb24gJXMiCiBtc2dzdHIgImZhbGzDsyB1dGltZSgpIGVuICVzIgogCi0jOiBzaGExLWZpbGUuYzoxNzYwCisjOiBzaGExLWZpbGUuYzoxOTIyCiAjLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkIHNoYTFfZmlsZSBmb3IgJXMiCi1tc2dzdHIgIm5vIHNlIHB1ZWRlIGxlZXIgc2hhMV9maWxlIHBhcmEgJXMiCittc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0IGZvciAlcyIKK21zZ3N0ciAibm8gc2UgcHVkbyBsZWVyIGVsIG9iamV0byBwYXJhICVzIgogCi0jOiBzaGExLWZpbGUuYzoxODA1CisjOiBzaGExLWZpbGUuYzoxOTYyCiBtc2dpZCAiY29ycnVwdCBjb21taXQiCiBtc2dzdHIgImNvbW1pdCBjb3JydXB0byIKIAotIzogc2hhMS1maWxlLmM6MTgxMworIzogc2hhMS1maWxlLmM6MTk3MAogbXNnaWQgImNvcnJ1cHQgdGFnIgogbXNnc3RyICJ0YWcgY29ycnVwdG8iCiAKLSM6IHNoYTEtZmlsZS5jOjE5MTIKKyM6IHNoYTEtZmlsZS5jOjIwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCBlcnJvciB3aGlsZSBpbmRleGluZyAlcyIKIG1zZ3N0ciAiZXJyb3IgbGV5ZW5kbyBhbCBpbmRleGFyICVzIgogCi0jOiBzaGExLWZpbGUuYzoxOTE1CisjOiBzaGExLWZpbGUuYzoyMDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgInNob3J0IHJlYWQgd2hpbGUgaW5kZXhpbmcgJXMiCiBtc2dzdHIgImxlY3R1cmEgY29ydGEgYWwgaW5kZXhhciAlcyIKIAotIzogc2hhMS1maWxlLmM6MTk4OCBzaGExLWZpbGUuYzoxOTk3CisjOiBzaGExLWZpbGUuYzoyMTQ1IHNoYTEtZmlsZS5jOjIxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZhaWxlZCB0byBpbnNlcnQgaW50byBkYXRhYmFzZSIKIG1zZ3N0ciAiJXM6IGZhbGzDsyBhbCBpbnNlcnRhciBlbiBsYSBiYXNlIGRlIGRhdG9zIgogCi0jOiBzaGExLWZpbGUuYzoyMDAzCisjOiBzaGExLWZpbGUuYzoyMTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBmaWxlIHR5cGUiCiBtc2dzdHIgIiVzOiB0aXBvIGRlIGFyY2hpdm8gbm8gc29wb3J0YWRvIgogCi0jOiBzaGExLWZpbGUuYzoyMDI3CisjOiBzaGExLWZpbGUuYzoyMTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIG9iamVjdCIKIG1zZ3N0ciAiJXMgbm8gZXMgb2JqZXRvIHbDoWxpZG8iCiAKLSM6IHNoYTEtZmlsZS5jOjIwMjkKKyM6IHNoYTEtZmlsZS5jOjIxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgJyVzJyBvYmplY3QiCiBtc2dzdHIgIiVzIG5vIGVzIHVuIG9iamV0byAnJXMnIHbDoWxpZG8iCiAKLSM6IHNoYTEtZmlsZS5jOjIwNTYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0CisjOiBzaGExLWZpbGUuYzoyMjEzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBhYnJpciAlcyIKIAotIzogc2hhMS1maWxlLmM6MjIyNiBzaGExLWZpbGUuYzoyMjc4CisjOiBzaGExLWZpbGUuYzoyNDAzIHNoYTEtZmlsZS5jOjI0NTUKICMsIGMtZm9ybWF0Ci1tc2dpZCAic2hhMSBtaXNtYXRjaCBmb3IgJXMgKGV4cGVjdGVkICVzKSIKLW1zZ3N0ciAic2hhMSBubyBjb25jdWVyZGEgcGFyYSAlcyAoc2UgZXNwZXJhYmEgJXMpIgorbXNnaWQgImhhc2ggbWlzbWF0Y2ggZm9yICVzIChleHBlY3RlZCAlcykiCittc2dzdHIgImhhc2ggbm8gY29uY3VlcmRhIHBhcmEgJXMgKHNlIGVzcGVyYWJhICVzKSIKIAotIzogc2hhMS1maWxlLmM6MjI1MAorIzogc2hhMS1maWxlLmM6MjQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbW1hcCAlcyIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBoYWNlciBtbWFwIGEgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjIyNTUKKyM6IHNoYTEtZmlsZS5jOjI0MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayBoZWFkZXIgb2YgJXMiCiBtc2dzdHIgImluY2FwYXogZGUgZGVzZW1wYXF1ZXRhciBoZWFkZXIgZGUgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjIyNjEKKyM6IHNoYTEtZmlsZS5jOjI0MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGhlYWRlciBvZiAlcyIKIG1zZ3N0ciAiaW5jYXBheiBkZSBhbmFsaXphciBoZWFkZXIgZGUgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjIyNzIKKyM6IHNoYTEtZmlsZS5jOjI0NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayBjb250ZW50cyBvZiAlcyIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBkZXNlbXBhcXVldGFyIGNvbnRlbmlkb3MgZGUgJXMiCiAKLSM6IHNoYTEtbmFtZS5jOjQ3NgorIzogc2hhMS1uYW1lLmM6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgInNob3J0IFNIQTEgJXMgaXMgYW1iaWd1b3VzIgogbXNnc3RyICJTSEExICVzIGNvcnRvIGVzIGFtYmlndW8iCiAKLSM6IHNoYTEtbmFtZS5jOjQ4NworIzogc2hhMS1uYW1lLmM6NDk4CiBtc2dpZCAiVGhlIGNhbmRpZGF0ZXMgYXJlOiIKIG1zZ3N0ciAiTG9zIGNhbmRpZGF0b3Mgc29uOiIKIAotIzogc2hhMS1uYW1lLmM6NzcwCisjOiBzaGExLW5hbWUuYzo3OTcKIG1zZ2lkICIiCiAiR2l0IG5vcm1hbGx5IG5ldmVyIGNyZWF0ZXMgYSByZWYgdGhhdCBlbmRzIHdpdGggNDAgaGV4IGNoYXJhY3RlcnNcbiIKICJiZWNhdXNlIGl0IHdpbGwgYmUgaWdub3JlZCB3aGVuIHlvdSBqdXN0IHNwZWNpZnkgNDAtaGV4LiBUaGVzZSByZWZzXG4iCiAibWF5IGJlIGNyZWF0ZWQgYnkgbWlzdGFrZS4gRm9yIGV4YW1wbGUsXG4iCiAiXG4iCi0iICBnaXQgY2hlY2tvdXQgLWIgJGJyICQoZ2l0IHJldi1wYXJzZSAuLi4pXG4iCisiICBnaXQgc3dpdGNoIC1jICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgogIlxuIgogIndoZXJlIFwiJGJyXCIgaXMgc29tZWhvdyBlbXB0eSBhbmQgYSA0MC1oZXggcmVmIGlzIGNyZWF0ZWQuIFBsZWFzZVxuIgogImV4YW1pbmUgdGhlc2UgcmVmcyBhbmQgbWF5YmUgZGVsZXRlIHRoZW0uIFR1cm4gdGhpcyBtZXNzYWdlIG9mZiBieVxuIgpAQCAtNTg4OSw3NyArNzU2MiwxNDkgQEAKICJwb3JxdWUgZXN0byBzZXLDrWEgaWdub3JhZG8gY3VhbmRvIHNvbG8gc2UgZXNwZWNpZmlxdWVuIDQwLWhleC4gRXN0YXMgcmVmc1xuIgogInRhbCB2ZXogc2VhbiBjcmVhZGFzIHBvciBlcnJvci4gUG9yIGVqZW1wbG8sXG4iCiAiXG4iCi0iICBnaXQgY2hlY2tvdXQgLWIgJGJyICQoZ2l0IHJldi1wYXJzZSAuLi4pXG4iCisiICBnaXQgc3dpdGNoIC1jICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgogIlxuIgogImRvbmRlIFwiJGJyXCIgZXN0w6EgZGUgYWxndW5hIG1hbmVyYSB2YWPDrWEgeSB1bmEgcmVmIGRlIDQwLWhleCBlcyBjcmVhZGEuIFBvciAiCiAiZmF2b3JcbiIKLSJleGFtaW5lIGVzdGFzIHJlZnMgeSB0YWwgdmV6IGLDs3JyZWxhcy4gU2lsZW5jaWUgZXN0ZSBtZW5zYWplIFxuIgorImV4YW1pbmEgZXN0YXMgcmVmcyB5IHRhbCB2ZXogYsOzcnJhbGFzLiBTaWxlbmNpYSBlc3RlIG1lbnNhamUgXG4iCiAiZWplY3V0YW5kbyBcImdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNlXCIiCiAKLSM6IHN1Ym1vZHVsZS5jOjExNiBzdWJtb2R1bGUuYzoxNDUKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBnaWJpYnl0ZQorIzogc3RyYnVmLmM6ODIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IEdpQiIKK21zZ3N0ciAiJXUuJTIuMnUgR2lCIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggZ2liaWJ5dGUvc2Vjb25kCisjOiBzdHJidWYuYzo4MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgR2lCL3MiCittc2dzdHIgIiV1LiUyLjJ1IEdpQi9zIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggbWViaWJ5dGUKKyM6IHN0cmJ1Zi5jOjgzMgorIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBNaUIiCittc2dzdHIgIiV1LiUyLjJ1IE1pQiIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IG1lYmlieXRlL3NlY29uZAorIzogc3RyYnVmLmM6ODM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IE1pQi9zIgorbXNnc3RyICIldS4lMi4ydSBNaUIvcyIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IGtpYmlieXRlCisjOiBzdHJidWYuYzo4NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgS2lCIgorbXNnc3RyICIldS4lMi4ydSBLaUIiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBraWJpYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjg0MworIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBLaUIvcyIKK21zZ3N0ciAiJXUuJTIuMnUgS2lCL3MiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBieXRlCisjOiBzdHJidWYuYzo4NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUgYnl0ZSIKK21zZ2lkX3BsdXJhbCAiJXUgYnl0ZXMiCittc2dzdHJbMF0gIiV1IGJ5dGUiCittc2dzdHJbMV0gIiV1IGJ5dGVzIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjg1MQorIywgYy1mb3JtYXQKK21zZ2lkICIldSBieXRlL3MiCittc2dpZF9wbHVyYWwgIiV1IGJ5dGVzL3MiCittc2dzdHJbMF0gIiV1IGJ5dGVzL3MiCittc2dzdHJbMV0gIiV1IGJ5dGVzL3MiCisKKyM6IHN0cmJ1Zi5jOjExNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGVkaXQgJyVzJyIKK21zZ3N0ciAibm8gc2UgcHVkbyBlZGl0YXIgJyVzJyIKKworIzogc3VibW9kdWxlLmM6MTE0IHN1Ym1vZHVsZS5jOjE0MwogbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgogbXNnc3RyICIiCiAiTm8gc2UgcHVlZGUgY2FtYmlhciAuZ2l0bW9kdWxlcyBubyBmdXNpb25hZG9zLCByZXN1ZWx2YSBlc3RlIHByb2JsZW1hIHByaW1lcm8iCiAKLSM6IHN1Ym1vZHVsZS5jOjEyMCBzdWJtb2R1bGUuYzoxNDkKKyM6IHN1Ym1vZHVsZS5jOjExOCBzdWJtb2R1bGUuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgc2VjdGlvbiBpbiAuZ2l0bW9kdWxlcyB3aGVyZSBwYXRoPSVzIgogbXNnc3RyICJObyBzZSBwdWRvIGVuY29udHJhciBsYSBzZWNjacOzbiBlbiAuZ2l0bW9kdWxlcyBkb25kZSBwYXRoPSVzIgogCi0jOiBzdWJtb2R1bGUuYzoxNTYKKyM6IHN1Ym1vZHVsZS5jOjE1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIC5naXRtb2R1bGVzIGVudHJ5IGZvciAlcyIKIG1zZ3N0ciAiTm8gc2UgcHVkbyBlbGltaW5hciBsYSBlbnRyYWRhICVzIGRlIC5naXRtb2R1bGVzIgogCi0jOiBzdWJtb2R1bGUuYzoxNjcKKyM6IHN1Ym1vZHVsZS5jOjE2NQogbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCiBtc2dzdHIgImZhbGzDsyByZWFsaXphciBzdGFnZSBhIGxvcyAuZ2l0bW9kdWxlcyBhY3R1YWxpemFkb3MiCiAKLSM6IHN1Ym1vZHVsZS5jOjMyOQorIzogc3VibW9kdWxlLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImluIHVucG9wdWxhdGVkIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJlbiBlbCBzdWJtw7NkdWxvIG5vIHBvYmxhZG8gJyVzJyIKIAotIzogc3VibW9kdWxlLmM6MzYwCisjOiBzdWJtb2R1bGUuYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgogbXNnc3RyICJFbCBwYXRyw7NuIGRlIHJ1dGEgJyVzJyBlc3TDoSBlbiBlbCBzdWJtw7NkdWxvICclLipzJyIKIAotIzogc3VibW9kdWxlLmM6ODU3CisjOiBzdWJtb2R1bGUuYzo5MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAic3VibW9kdWxlIGVudHJ5ICclcycgKCVzKSBpcyBhICVzLCBub3QgYSBjb21taXQiCiBtc2dzdHIgImVudHJhZGEgZGUgc3VibcOzZHVsbyAnJXMnICglcykgZXMgdW4gJXMsIG5vIHVuIGNvbW1pdCIKIAotIzogc3VibW9kdWxlLmM6MTA5NyBidWlsdGluL2JyYW5jaC5jOjY1NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk4NQorIzogc3VibW9kdWxlLmM6MTE0NyBidWlsdGluL2JyYW5jaC5jOjY4MCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjAxNgogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgotbXNnc3RyICJGYWxsw7MgYWwgcmVzb2x2ZXIgSEVBRCBjb21vIHVuIHJlZiB2YWxpZG8uIgorbXNnc3RyICJGYWxsw7MgYWwgcmVzb2x2ZXIgSEVBRCBjb21vIHVuIHJlZiB2w6FsaWRvLiIKIAotIzogc3VibW9kdWxlLmM6MTQwNAorIzogc3VibW9kdWxlLmM6MTQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgYWNjZXNzIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICJObyBwdWRvIGFjY2VkZXIgYWwgc3VibcOzZHVsbyAnJXMnIgorCisjOiBzdWJtb2R1bGUuYzoxNjUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgbm90IHJlY29nbml6ZWQgYXMgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiJyVzJyBubyByZWNvbm9jaWRvIGNvbW8gdW4gcmVwb3NpdG9yaW8gZ2l0IgogCi0jOiBzdWJtb2R1bGUuYzoxNTQyCisjOiBzdWJtb2R1bGUuYzoxNzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGFydCAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gY29tZW56YXIgJ2dpdCBzdGF0dXMnIGVuIGVsIHN1Ym3Ds2R1bG8gJyVzJyIKIAotIzogc3VibW9kdWxlLmM6MTU1NQorIzogc3VibW9kdWxlLmM6MTgwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcnVuICdnaXQgc3RhdHVzJyBpbiBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBlamVjdXRhciAnZ2l0IHN0YXR1cycgZW4gZWwgc3VibcOzZHVsbyAnJXMnIgogCi0jOiBzdWJtb2R1bGUuYzoxNjQ4CisjOiBzdWJtb2R1bGUuYzoxODE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1bnNldCBjb3JlLndvcmt0cmVlIHNldHRpbmcgaW4gc3VibW9kdWxlICclcyciCittc2dzdHIgIk5vIHNlIHB1ZG8gcXVpdGFyIGNvbmZpZ3VyYWNpw7NuIGNvcmUud29ya3RyZWUgZW4gc3VibcOzZHVsbyAnJXMnIgorCisjOiBzdWJtb2R1bGUuYzoxOTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGhhcyBkaXJ0eSBpbmRleCIKIG1zZ3N0ciAic3VibcOzZHVsbyAnJXMnIHRpZW5lIHVuIMOtbmRpY2UgY29ycnVwdG8iCiAKLSM6IHN1Ym1vZHVsZS5jOjE3MDAKKyM6IHN1Ym1vZHVsZS5jOjE5NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgY291bGQgbm90IGJlIHVwZGF0ZWQuIgogbXNnc3RyICJTdWJtw7NkdWxvICclcycgbm8gcHVkbyBzZXIgYWN0dWFsaXphZG8uIgogCi0jOiBzdWJtb2R1bGUuYzoxNzQ3CisjOiBzdWJtb2R1bGUuYzoyMDI3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSBnaXQgZGlyICclcycgaXMgaW5zaWRlIGdpdCBkaXIgJyUuKnMnIgorbXNnc3RyICJzdWJtw7NkdWxvIGdpdCBkaXIgJyVzJyBlc3RhIGRlbnRybyBkZSBnaXQgZGlyICclLipzJyIKKworIzogc3VibW9kdWxlLmM6MjA0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicmVsb2NhdGVfZ2l0ZGlyIGZvciBzdWJtb2R1bGUgJyVzJyB3aXRoIG1vcmUgdGhhbiBvbmUgd29ya3RyZWUgbm90IHN1cHBvcnRlZCIKQEAgLTU5NjcsMTIgKzc3MTIsMTcgQEAKICJyZWxvY2F0ZV9naXRkaXIgcGFyYSBlbCBzdWJtw7NkdWxvICclcycgY29uIG3DoXMgZGUgdW4gw6FyYm9sIGRlIHRyYWJham8gbm8gIgogInNvcG9ydGFkbyIKIAotIzogc3VibW9kdWxlLmM6MTc1OSBzdWJtb2R1bGUuYzoxODE1CisjOiBzdWJtb2R1bGUuYzoyMDYwIHN1Ym1vZHVsZS5jOjIxMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBuYW1lIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVkbyByZXNvbHZlciBlbCBub21icmUgcGFyYSBlbCBzdWJtw7NkdWxvICclcyciCiAKLSM6IHN1Ym1vZHVsZS5jOjE3NjYKKyM6IHN1Ym1vZHVsZS5jOjIwNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmdXNpbmcgdG8gbW92ZSAnJXMnIGludG8gYW4gZXhpc3RpbmcgZ2l0IGRpciIKK21zZ3N0ciAicmVjaGF6YW5kbyBtb3ZlciAnJXMnIGRlbnRybyBkZSB1biBkaXJlY3RvcmlvIGdpdCBleGlzdGVudGUiCisKKyM6IHN1Ym1vZHVsZS5jOjIwNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk1pZ3JhdGluZyBnaXQgZGlyZWN0b3J5IG9mICclcyVzJyBmcm9tXG4iCkBAIC01OTgzLDQyICs3NzMzLDQyIEBACiAiJyVzJyBoYWNpYVxuIgogIiclcydcbiIKIAotIzogc3VibW9kdWxlLmM6MTg1MAorIzogc3VibW9kdWxlLmM6MjE1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJubyBwdWRvIHJlY3Vyc2FyIGVuIGVsIHN1Ym3Ds2R1bG8gJyVzJyIKIAotIzogc3VibW9kdWxlLmM6MTg5NAorIzogc3VibW9kdWxlLmM6MjE5OAogbXNnaWQgImNvdWxkIG5vdCBzdGFydCBscy1maWxlcyBpbiAuLiIKIG1zZ3N0ciAibm8gc2UgcHVkbyBjb21lbnphciBscy1maWxlcyBlbiAuLiIKIAotIzogc3VibW9kdWxlLmM6MTkzMworIzogc3VibW9kdWxlLmM6MjIzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJscy10cmVlIHJldHVybmVkIHVuZXhwZWN0ZWQgcmV0dXJuIGNvZGUgJWQiCiBtc2dzdHIgImxzLXRyZWUgZGV2b2x2acOzIHVuIGPDs2RpZ28gJWQgaW5lc3BlcmFkbyIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjIzMgorIzogc3VibW9kdWxlLWNvbmZpZy5jOjIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBzdXNwaWNpb3VzIHN1Ym1vZHVsZSBuYW1lOiAlcyIKIG1zZ3N0ciAiaWdub3JhbmRvIHN1Ym3Ds2R1bG8gc29zcGVjaG9zbzogJXMiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzoyOTYKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzozMDMKIG1zZ2lkICJuZWdhdGl2ZSB2YWx1ZXMgbm90IGFsbG93ZWQgZm9yIHN1Ym1vZHVsZS5mZXRjaGpvYnMiCiBtc2dzdHIgIm5vIHNlIHBlcm1pdGVuIHZhbG9yZXMgbmVnYXRpdm9zIHBhcmEgc3VibW9kdWxlLmZldGNoam9icyIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjM5MAorIzogc3VibW9kdWxlLWNvbmZpZy5jOjQwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyAnJXMnIHdoaWNoIG1heSBiZSBpbnRlcnByZXRlZCBhcyBhIGNvbW1hbmQtbGluZSBvcHRpb246ICVzIgogbXNnc3RyICIiCiAiaWdub3JhbmRvICclcycgeWEgcXVlIHB1ZWRlIHNlciBpbnRlcnByZXRhZG8gY29tbyB1bmEgb3BjacOzbiBkZSBsw61uZWEgZGUgIgogImNvbWFuZG86ICVzIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6NDc5CisjOiBzdWJtb2R1bGUtY29uZmlnLmM6NDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzIgogbXNnc3RyICJ2YWxvciBpbnbDoWxpZG8gcGFyYSAlcyIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjc1NAorIzogc3VibW9kdWxlLWNvbmZpZy5jOjc2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgdXBkYXRlIC5naXRtb2R1bGVzIGVudHJ5ICVzIgogbXNnc3RyICJObyBzZSBwdWRvIGFjdHVhbGl6YXIgbGEgZW50cmFkYSAlcyBkZSAuZ2l0bW9kdWxlcyIKQEAgLTYwNTMsNyArNzgwMyw3IEBACiBtc2dpZCAiY291bGQgbm90IHJlYWQgZnJvbSBzdGRpbiIKIG1zZ3N0ciAibm8gc2UgcHVkbyBsZWVyIGRlc2RlIHN0ZGluIgogCi0jOiB0cmFpbGVyLmM6MTAxMSBidWlsdGluL2FtLmM6NDcKKyM6IHRyYWlsZXIuYzoxMDExIHdyYXBwZXIuYzo2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXQgJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gZGVmaW5pciAlcyIKQEAgLTYwODIsMzkgKzc4MzIsNDcgQEAKIG1zZ2lkICJXb3VsZCBzZXQgdXBzdHJlYW0gb2YgJyVzJyB0byAnJXMnIG9mICclcydcbiIKIG1zZ3N0ciAiQ29uZmlndXJhcsOhIHVwc3RyZWFtIGRlICclcycgYSAnJXMnIGRlICclcydcbiIKIAotIzogdHJhbnNwb3J0LmM6MTQyCisjOiB0cmFuc3BvcnQuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgYnVuZGxlICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gbGVlciBlbCBjb25qdW50byAnJXMnIgogCi0jOiB0cmFuc3BvcnQuYzoyMDgKKyM6IHRyYW5zcG9ydC5jOjIxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFuc3BvcnQ6IGludmFsaWQgZGVwdGggb3B0aW9uICclcyciCiBtc2dzdHIgInRyYW5zcG9ydDogb3BjacOzbiBpbnbDoWxpZGEgJyVzJyIKIAotIzogdHJhbnNwb3J0LmM6NjE2CisjOiB0cmFuc3BvcnQuYzoyNjYKK21zZ2lkICJzZWUgcHJvdG9jb2wudmVyc2lvbiBpbiAnZ2l0IGhlbHAgY29uZmlnJyBmb3IgbW9yZSBkZXRhaWxzIgorbXNnc3RyICJ2ZXIgcHJvdG9jb2wudmVyc2lvbiBlbiAnZ2l0IGhlbHAgY29uZmlnJyBwYXJhIG3DoXMgaW5mb3JtYWNpw7NuIgorCisjOiB0cmFuc3BvcnQuYzoyNjcKK21zZ2lkICJzZXJ2ZXIgb3B0aW9ucyByZXF1aXJlIHByb3RvY29sIHZlcnNpb24gMiBvciBsYXRlciIKK21zZ3N0ciAib3BjaW9uZXMgZGVsIHNlcnZpZG9yIHJlcXVpZXJlbiBwcm90b2NvbG8gdmVyc2nDs24gMiBvIHBvc3RlcmlvciIKKworIzogdHJhbnNwb3J0LmM6NjMyCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHRyYW5zcG9ydC5jb2xvci4qIGNvbmZpZyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBhbmFsaXphciB2YWxvciBkZSBjb25maWd1cmFjacOzbiB0cmFuc3BvcnQuY29sb3IuKiIKIAotIzogdHJhbnNwb3J0LmM6Njg5CisjOiB0cmFuc3BvcnQuYzo3MDUKIG1zZ2lkICJzdXBwb3J0IGZvciBwcm90b2NvbCB2MiBub3QgaW1wbGVtZW50ZWQgeWV0IgogbXNnc3RyICJzb3BvcnRlIHBhcmEgcHJvdG9jb2xvIHYyIG5vIGltcGxlbWVudGFkbyB0b2RhdsOtYSIKIAotIzogdHJhbnNwb3J0LmM6ODE2CisjOiB0cmFuc3BvcnQuYzo4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biB2YWx1ZSBmb3IgY29uZmlnICclcyc6ICVzIgogbXNnc3RyICJ2YWxvciBkZXNjb25vY2lkbyBwYXJhIGNvbmZpZ3VyYWNpw7NuICclcyc6ICVzIgogCi0jOiB0cmFuc3BvcnQuYzo4ODIKKyM6IHRyYW5zcG9ydC5jOjg5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFuc3BvcnQgJyVzJyBub3QgYWxsb3dlZCIKIG1zZ3N0ciAidHJhbnNwb3J0ZSAnJXMnIG5vIHBlcm1pdGlkbyIKIAotIzogdHJhbnNwb3J0LmM6OTM2CisjOiB0cmFuc3BvcnQuYzo5NDkKIG1zZ2lkICJnaXQtb3Zlci1yc3luYyBpcyBubyBsb25nZXIgc3VwcG9ydGVkIgogbXNnc3RyICJnaXQtb3Zlci1yc3luYyB5YSBubyBlcyBzb3BvcnRhZG8iCiAKLSM6IHRyYW5zcG9ydC5jOjEwMzEKKyM6IHRyYW5zcG9ydC5jOjEwNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIHBhdGhzIGNvbnRhaW4gY2hhbmdlcyB0aGF0IGNhblxuIgpAQCAtNjEyMyw3ICs3ODgxLDcgQEAKICJMYSBzaWd1aWVudGUgcnV0YSBkZSBzdWJtw7NkdWxvIGNvbnRpZW5lIGNhbWJpb3MgcXVlIG5vXG4iCiAicHVlZGVuIHNlciBlbmNvbnRyYWRvcyBlbiBuaW5nw7puIHJlbW90bzpcbiIKIAotIzogdHJhbnNwb3J0LmM6MTAzNQorIzogdHJhbnNwb3J0LmM6MTA0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC02MTUwLDM3ICs3OTA4LDMyIEBACiAicGFyYSBoYWNlciB1biBwdXNoIGFsIHJlbW90by5cbiIKICJcbiIKIAotIzogdHJhbnNwb3J0LmM6MTA0MworIzogdHJhbnNwb3J0LmM6MTA1NgogbXNnaWQgIkFib3J0aW5nLiIKIG1zZ3N0ciAiQWJvcnRhbmRvLiIKIAotIzogdHJhbnNwb3J0LmM6MTE4MgorIzogdHJhbnNwb3J0LmM6MTIwMQogbXNnaWQgImZhaWxlZCB0byBwdXNoIGFsbCBuZWVkZWQgc3VibW9kdWxlcyIKIG1zZ3N0ciAiZmFsbMOzIGFsIGhhY2VyIHB1c2ggYSB0b2RvcyBsb3Mgc3VibcOzZHVsb3MgbmVjZXNhcmlvcyIKIAotIzogdHJhbnNwb3J0LmM6MTMxNSB0cmFuc3BvcnQtaGVscGVyLmM6NjQzCisjOiB0cmFuc3BvcnQuYzoxMzQ1IHRyYW5zcG9ydC1oZWxwZXIuYzo2NTYKIG1zZ2lkICJvcGVyYXRpb24gbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbCIKIG1zZ3N0ciAib3BlcmFjacOzbiBubyBzb3BvcnRhZGEgcG9yIHByb3RvY29sbyIKIAotIzogdHJhbnNwb3J0LmM6MTQxOQotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIGxpbmUgd2hpbGUgcGFyc2luZyBhbHRlcm5hdGUgcmVmczogJXMiCi1tc2dzdHIgImzDrW5lYSBpbnbDoWxpZGEgbWllbnRyYXMgc2UgYW5hbGl6YWJhbiByZWZzIGFsdGVybmFzOiAlcyIKLQotIzogdHJhbnNwb3J0LWhlbHBlci5jOjUxIHRyYW5zcG9ydC1oZWxwZXIuYzo4MAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjYxIHRyYW5zcG9ydC1oZWxwZXIuYzo5MAogbXNnaWQgImZ1bGwgd3JpdGUgdG8gcmVtb3RlIGhlbHBlciBmYWlsZWQiCiBtc2dzdHIgImVzY3JpdHVyYSB0b3RhbCBhbCBoZWxwZXIgcmVtb3RvIGZhbGzDsyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZmluZCByZW1vdGUgaGVscGVyIGZvciAnJXMnIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGVuY29udHJhciBoZWxwZXIgcmVtb3RvIHBhcmEgJyVzJyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjE0OCB0cmFuc3BvcnQtaGVscGVyLmM6NTU3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTYwIHRyYW5zcG9ydC1oZWxwZXIuYzo1NzAKIG1zZ2lkICJjYW4ndCBkdXAgaGVscGVyIG91dHB1dCBmZCIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgZHVwbGljYXIgb3V0cHV0IGRlIGZkIGRlbCBoZWxwZXIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxOTkKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoyMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInVua25vd24gbWFuZGF0b3J5IGNhcGFiaWxpdHkgJXM7IHRoaXMgcmVtb3RlIGhlbHBlciBwcm9iYWJseSBuZWVkcyBuZXdlciAiCkBAIC02MTg5LDk5ICs3OTQyLDEwNCBAQAogImNhcGFjaWRhZCBtYW5kYXRvcmlhIGRlc2Nvbm9jaWRhICVzOyBlc3RlIGhlbHBlciByZW1vdG8gcHJvYmFibGVtZW50ZSAiCiAibmVjZXNpdGEgdW5hIG51ZXZhIHZlcnNpw7NuIGRlIEdpdCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjIwNQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjIxNwogbXNnaWQgInRoaXMgcmVtb3RlIGhlbHBlciBzaG91bGQgaW1wbGVtZW50IHJlZnNwZWMgY2FwYWJpbGl0eSIKIG1zZ3N0ciAiZXN0ZSBoZWxwZXIgcmVtb3RvIGRlYmVyw61hIGltcGxlbWVudGFyIGNhcGFjaWRhZCByZWZzcGVjIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MjcyIHRyYW5zcG9ydC1oZWxwZXIuYzo0MTIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoyODQgdHJhbnNwb3J0LWhlbHBlci5jOjQyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB1bmV4cGVjdGVkbHkgc2FpZDogJyVzJyIKIG1zZ3N0ciAiJXMgZGlqbyBpbmVzcGVyYWRhbWVudGU6ICclcyciCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo0MDEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo0MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgYWxzbyBsb2NrZWQgJXMiCiBtc2dzdHIgIiVzIHRhbWJpw6luIGJsb3F1ZcOzICVzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NDc5CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NDkyCiBtc2dpZCAiY291bGRuJ3QgcnVuIGZhc3QtaW1wb3J0IgogbXNnc3RyICJubyBzZSBwdWRvIGVqZWN1dGFyIGZhc3QtaW1wb3J0IgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NTAyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NTE1CiBtc2dpZCAiZXJyb3Igd2hpbGUgcnVubmluZyBmYXN0LWltcG9ydCIKIG1zZ3N0ciAiZXJyb3IgYWwgZWplY3V0YXIgZmFzdC1pbXBvcnQiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MzEgdHJhbnNwb3J0LWhlbHBlci5jOjEwOTEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1NDQgdHJhbnNwb3J0LWhlbHBlci5jOjExMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgcmVmICVzIgogbXNnc3RyICJubyBzZSBwdWRvIGxlZXIgbGEgcmVmZXJlbmNpYSAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjU3NgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjU4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHJlc3BvbnNlIHRvIGNvbm5lY3Q6ICVzIgogbXNnc3RyICJyZXNwdWVzdGEgcGFyYSBjb25lY3RhciBkZXNjb25vY2lkYTogJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1OTgKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2MTEKIG1zZ2lkICJzZXR0aW5nIHJlbW90ZSBzZXJ2aWNlIHBhdGggbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbCIKIG1zZ3N0ciAiY29uZmlndXJhbmRvIHNlcnZpY2lvIGRlIHJ1dGEgcmVtb3RhIG5vIHNvcG9ydGFkbyBwb3IgZWwgcHJvdG9jb2xvIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NjAwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjEzCiBtc2dpZCAiaW52YWxpZCByZW1vdGUgc2VydmljZSBwYXRoIgogbXNnc3RyICJydXRhIGRlIHNlcnZpY2lvIHJlbW90byBpbnbDoWxpZGEiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2NDYKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3QgY29ubmVjdCB0byBzdWJzZXJ2aWNlICVzIgogbXNnc3RyICJubyBzZSBwdWVkZSBjb25lY3RhciBhbCBzdWJzZXJ2aWNpbyAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjcxMworIzogdHJhbnNwb3J0LWhlbHBlci5jOjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBvay9lcnJvciwgaGVscGVyIHNhaWQgJyVzJyIKIG1zZ3N0ciAic2UgZXNwZXJhYmEgb2svZXJyb3IsIGhlbHBlciBkaWpvICclcyciCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo3NjYKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo3ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyIHJlcG9ydGVkIHVuZXhwZWN0ZWQgc3RhdHVzIG9mICVzIgogbXNnc3RyICJoZWxwZXIgcmVwb3J0w7MgZXN0YWRvIGluZXNwZXJhZG8gZGUgJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4MjcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgZHJ5LXJ1biIKIG1zZ3N0ciAiaGVscGVyICVzIG5vIHNvcG9ydGEgZHJ5LXJ1biIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjgzMAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjg1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAtLXNpZ25lZCIKIG1zZ3N0ciAiaGVscGVyICVzIG5vIHNvcG9ydGEgLS1zaWduZWQiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4MzMKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQ9aWYtYXNrZWQiCiBtc2dzdHIgImhlbHBlciAlcyBubyBzb3BvcnRhIC0tc2lnbmVkPWlmLWFza2VkIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6ODQwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIgorbXNnc3RyICJoZWxwZXIgJXMgbm8gc29wb3J0YSAtLWF0b21pYyIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjg2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAncHVzaC1vcHRpb24nIgogbXNnc3RyICJoZWxwZXIgJXMgbm8gc29wb3J0YSAncHVzaC1vcHRpb24nIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6OTMyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6OTY0CiBtc2dpZCAicmVtb3RlLWhlbHBlciBkb2Vzbid0IHN1cHBvcnQgcHVzaDsgcmVmc3BlYyBuZWVkZWQiCiBtc2dzdHIgInJlbW90ZS1oZWxwZXIgbm8gc29wb3J0YSBwdXNoOyBzZSBuZWNlc2l0YSByZWZzcGVjIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6OTM3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6OTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0ICdmb3JjZSciCiBtc2dzdHIgImhlbHBlciAlcyBubyBzb3BvcnRhICdmb3JjZSciCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5ODQKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDE2CiBtc2dpZCAiY291bGRuJ3QgcnVuIGZhc3QtZXhwb3J0IgogbXNnc3RyICJubyBzZSBwdWRvIGVqZWN1dGFyIGZhc3QtZXhwb3J0IgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6OTg5CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTAyMQogbXNnaWQgImVycm9yIHdoaWxlIHJ1bm5pbmcgZmFzdC1leHBvcnQiCiBtc2dzdHIgImVycm9yIGFsIGVqZWN1dGFyIGZhc3QtZXhwb3J0IgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTAxNAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIHJlZnMgaW4gY29tbW9uIGFuZCBub25lIHNwZWNpZmllZDsgZG9pbmcgbm90aGluZy5cbiIKQEAgLTYyOTAsNDcgKzgwNDgsNDcgQEAKICJObyBoYXkgcmVmcyBjb211bmVzIHkgbmluZ3VubyBlc3BlY2lmaWNhZG87IG5vIHNlIGhhY2UgbmFkYS5cbiIKICJUYWwgdmV6IGRlYmVyw61hcyBlc3BlY2lmaWNhciB1biBicmFuY2ggY29tbyAnbWFzdGVyJy5cbiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwNzcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCByZXNwb25zZSBpbiByZWYgbGlzdDogJXMiCiBtc2dzdHIgInJlc3B1ZXN0YSBtYWxmb3JtYWRhIGVuIGxpc3RhIGRlIHJlZnM6ICVzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTIzMQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCglcykgZmFpbGVkIgogbXNnc3RyICJsZWVyKCVzKSBmYWxsw7MiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMjU4CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3cml0ZSglcykgZmFpbGVkIgogbXNnc3RyICJlc2NyaWJpciglcykgZmFsbMOzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTMwNworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdGhyZWFkIGZhaWxlZCIKIG1zZ3N0ciAiaGlsbyAlcyBmYWxsw7MiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzExCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB0aHJlYWQgZmFpbGVkIHRvIGpvaW46ICVzIgogbXNnc3RyICJoaWxvICVzIGZhbGzDsyBhbCB1bmlyc2U6ICVzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTMzMCB0cmFuc3BvcnQtaGVscGVyLmM6MTMzNAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNzAgdHJhbnNwb3J0LWhlbHBlci5jOjEzNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3Qgc3RhcnQgdGhyZWFkIGZvciBjb3B5aW5nIGRhdGE6ICVzIgogbXNnc3RyICJubyBzZSBwdWVkZSBpbmljaWFyIGVsIGhpbG8gcGFyYSBjb3BpYXIgZGF0YTogJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzcxCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTQxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBwcm9jZXNzIGZhaWxlZCB0byB3YWl0IgogbXNnc3RyICJwcm9jZXNvICVzIGZhbGzDsyBhbCBlc3BlcmFyIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM3NQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjE0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcHJvY2VzcyBmYWlsZWQiCiBtc2dzdHIgInByb2Nlc28gJXMgZmFsbMOzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM5MyB0cmFuc3BvcnQtaGVscGVyLmM6MTQwMgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjE0MzMgdHJhbnNwb3J0LWhlbHBlci5jOjE0NDIKIG1zZ2lkICJjYW4ndCBzdGFydCB0aHJlYWQgZm9yIGNvcHlpbmcgZGF0YSIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgaW5pY2lhciBoaWxvIHBhcmEgY29waWFyIGRhdGEiCiAKQEAgLTYzNDYsMTEgKzgxMDQsMTYgQEAKIG1zZ2lkICJlbXB0eSBmaWxlbmFtZSBpbiB0cmVlIGVudHJ5IgogbXNnc3RyICJub21icmUgZGUgYXJjaGl2byB2YWPDrW8gZW4gbGEgZW50cmFkYSBkZSDDoXJib2wiCiAKLSM6IHRyZWUtd2Fsay5jOjExNQorIzogdHJlZS13YWxrLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZW5hbWUgaW4gdHJlZSBlbnRyeSBjb250YWlucyBiYWNrc2xhc2g6ICclcyciCittc2dzdHIgIm5vbWJyZSBkZSBhcmNoaXZvIGVuIGVsIMOhcmJvbCBjb250aWVuZSB1biBiYWNrc2xhc2g6ICclcyciCisKKyM6IHRyZWUtd2Fsay5jOjEyNAogbXNnaWQgInRvby1zaG9ydCB0cmVlIGZpbGUiCiBtc2dzdHIgImFyY2hpdm8gZGUgw6FyYm9sIG11eSBjb3J0byIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTEyCisjOiB1bnBhY2stdHJlZXMuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgpAQCAtNjM2MSw3ICs4MTI0LDcgQEAKICIlJXNQb3IgZmF2b3IgcmVhbGl6YSB1biBjb21taXQgY29uIGxvcyBjYW1iaW9zIG8gdW4gc3Rhc2ggYW50ZXMgZGUgY2FtYmlhciAiCiAicmFtYXMuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTQKKyM6IHVucGFjay10cmVlcy5jOjExMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCkBAIC02MzcxLDcgKzgxMzQsNyBAQAogImNoZWNrb3V0OlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTE3CisjOiB1bnBhY2stdHJlZXMuYzoxMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtNjM4MSw3ICs4MTQ0LDcgQEAKICJmdXNpb25hcjpcbiIKICIlJXNQb3IgZmF2b3IsIGNvbmZpcm1hIHR1cyBjYW1iaW9zIG8gYWd1w6FyZGFsb3MgYW50ZXMgZGUgZnVzaW9uYXIuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTkKKyM6IHVucGFjay10cmVlcy5jOjExNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC02MzkxLDcgKzgxNTQsNyBAQAogIm1lcmdlOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTIyCisjOiB1bnBhY2stdHJlZXMuYzoxMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtNjQwMCw3ICs4MTYzLDcgQEAKICJMb3MgY2FtYmlvcyBsb2NhbGVzIGRlIGxvcyBzaWd1aWVudGVzIGFyY2hpdm9zIHNlcsOhbiBzb2JyZXNjcml0b3MgYWwgJXM6XG4iCiAiJSVzUG9yIGZhdm9yLCBjb25maXJtYSB0dXMgY2FtYmlvcyBvIGd1w6FyZGFsb3MgYW50ZXMgZGUgJXMuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjQKKyM6IHVucGFjay10cmVlcy5jOjEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCkBAIC02NDA5LDcgKzgxNzIsNyBAQAogIkxvcyBjYW1iaW9zIGxvY2FsZXMgZGUgbG9zIHNpZ3VpZW50ZXMgYXJjaGl2b3Mgc2Vyw6FuIHNvYnJlZXNjcml0b3MgcG9yICVzOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTI5CisjOiB1bnBhY2stdHJlZXMuYzoxMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVwZGF0aW5nIHRoZSBmb2xsb3dpbmcgZGlyZWN0b3JpZXMgd291bGQgbG9zZSB1bnRyYWNrZWQgZmlsZXMgaW4gdGhlbTpcbiIKQEAgLTY0MTksNyArODE4Miw3IEBACiAic2VndWltaWVudG8gZW4gZWxsb3M6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzMworIzogdW5wYWNrLXRyZWVzLmM6MTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKQEAgLTY0MjksNyArODE5Miw3IEBACiAiZWxpbWluYWRvcyBhbCBhY3R1YWxpemFyIGVsIMOhcmJvbCBkZSB0cmFiYWpvOlxuIgogIiUlc1BvciBmYXZvciwgbXXDqXZlbG9zIG8gZWxpbcOtbmFsb3MgYW50ZXMgZGUgaW50ZXJjYW1iaWFyIHJhbWFzLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTM1CisjOiB1bnBhY2stdHJlZXMuYzoxMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgpAQCAtNjQzOSw3ICs4MjAyLDcgQEAKICJlbGltaW5hZG9zYWwgYWN0dWFsaXphciBlbCDDoXJib2wgZGUgdHJhYmFqbzpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzOAorIzogdW5wYWNrLXRyZWVzLmM6MTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKQEAgLTY0NDksNyArODIxMiw3IEBACiAiZWxpbWluYWRvcyBhbCBmdXNpb25hcjpcbiIKICIlJXNQb3IgZmF2b3IsIG11w6l2ZWxvcyBvIGVsaW3DrW5hbG9zIGFudGVzIGRlIGZ1c2lvbmFyLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQwCisjOiB1bnBhY2stdHJlZXMuYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgpAQCAtNjQ1OSw3ICs4MjIyLDcgQEAKICJlbGltaW5hZG9zYWwgZnVzaW9uYXI6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDMKKyM6IHVucGFjay10cmVlcy5jOjE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCkBAIC02NDY5LDcgKzgyMzIsNyBAQAogImVsaW1pbmFkb3MgYWwgJXM6XG4iCiAiJSVzUG9yIGZhdm9yLCBtdcOpdmVsb3MgbyBlbGltw61uYWxvcyBhbnRlcyBkZSAlcy4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE0NQorIzogdW5wYWNrLXRyZWVzLmM6MTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKQEAgLTY0NzksNyArODI0Miw3IEBACiAiZWxpbWluYWRvcyBhbCBlamVjdXRhciAlczpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE1MQorIzogdW5wYWNrLXRyZWVzLmM6MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgpAQCAtNjQ5MCw3ICs4MjUzLDcgQEAKICJzb2JyZXNjcml0b3MgYWwgYWN0dWFsaXphciBlbCDDoXJib2wgZGUgdHJhYmFqbzpcbiIKICIlJXNQb3IgZmF2b3IsIG11w6l2ZWxvcyBvIGVsaW3DrW5hbG9zIGFudGVzIGRlIGludGVyY2FtYmlhciByYW1hcy4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE1MworIzogdW5wYWNrLXRyZWVzLmM6MTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgpAQCAtNjUwMSw3ICs4MjY0LDcgQEAKICJzb2JyZXNjcml0b3MgYWwgYWN0dWFsaXphciBlbCDDoXJib2wgZGUgdHJhYmFqbzpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE1NgorIzogdW5wYWNrLXRyZWVzLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC02NTExLDcgKzgyNzQsNyBAQAogInNvYnJlc2NyaXRvcyBhbCBmdXNpb25hcjpcbiIKICIlJXNQb3IgZmF2b3IsIG11w6l2ZWxvcyBvIGVsaW3DrW5hbG9zIGFudGVzIGRlIGZ1c2lvbmFyLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTU4CisjOiB1bnBhY2stdHJlZXMuYzoxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKQEAgLTY1MjEsNyArODI4NCw3IEBACiAic29icmVzY3JpdG9zIGFsIGZ1c2lvbmFyOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTYxCisjOiB1bnBhY2stdHJlZXMuYzoxNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTY1MzEsNyArODI5NCw3IEBACiAic29icmVzY3JpdG9zIGFsICVzOlxuIgogIiUlc1BvciBmYXZvciwgbXXDqXZlbG9zIG8gZWxpbcOtbmFsb3MgYW50ZXMgZGUgJXMuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNjMKKyM6IHVucGFjay10cmVlcy5jOjE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtNjU0MSwxMiArODMwNCwxMiBAQAogImVsaW1pbmFkb3Nwb3IgJXM6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNzEKKyM6IHVucGFjay10cmVlcy5jOjE2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJFbnRyeSAnJXMnIG92ZXJsYXBzIHdpdGggJyVzJy4gIENhbm5vdCBiaW5kLiIKIG1zZ3N0ciAiRW50cmFkYSAnJXMnIHNlIHN1cGVycG9uZSBjb24gJyVzJy4gIE5vIHNlIHB1ZWRlbiB1bmlyLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTc0CisjOiB1bnBhY2stdHJlZXMuYzoxNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgc3BhcnNlIGNoZWNrb3V0OiB0aGUgZm9sbG93aW5nIGVudHJpZXMgYXJlIG5vdCB1cCB0byBkYXRlOlxuIgpAQCAtNjU1Niw3ICs4MzE5LDcgQEAKICJhY3R1YWxpemFkYXM6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE3NgorIzogdW5wYWNrLXRyZWVzLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgIgpAQCAtNjU2Nyw3ICs4MzMwLDcgQEAKICJhY3R1YWxpemFjacOzbiBzcGFyc2UgY2hlY2tvdXQ6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE3OAorIzogdW5wYWNrLXRyZWVzLmM6MTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCAiCkBAIC02NTc4LDcgKzgzNDEsNyBAQAogImFjdHVhbGl6YWNpw7NuIHNwYXJzZSBjaGVja291dDpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTgwCisjOiB1bnBhY2stdHJlZXMuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgc3VibW9kdWxlOlxuIgpAQCAtNjU4NywxNiArODM1MCwxNiBAQAogIk5vIHNlIHB1ZWRlIGFjdHVhbGl6YXIgbGUgc3VibcOzZHVsbzpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MjU0CisjOiB1bnBhY2stdHJlZXMuYzoyNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmdcbiIKIG1zZ3N0ciAiQWJvcnRhbmRvXG4iCiAKLSM6IHVucGFjay10cmVlcy5jOjMzNgotbXNnaWQgIkNoZWNraW5nIG91dCBmaWxlcyIKLW1zZ3N0ciAiUmV2aXNhbmRvIGFyY2hpdm9zIgorIzogdW5wYWNrLXRyZWVzLmM6MzE3Cittc2dpZCAiVXBkYXRpbmcgZmlsZXMiCittc2dzdHIgIkFjdHVhbGl6YW5kbyBhcmNoaXZvcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MzY4CisjOiB1bnBhY2stdHJlZXMuYzozNDkKIG1zZ2lkICIiCiAidGhlIGZvbGxvd2luZyBwYXRocyBoYXZlIGNvbGxpZGVkIChlLmcuIGNhc2Utc2Vuc2l0aXZlIHBhdGhzXG4iCiAib24gYSBjYXNlLWluc2Vuc2l0aXZlIGZpbGVzeXN0ZW0pIGFuZCBvbmx5IG9uZSBmcm9tIHRoZSBzYW1lXG4iCkBAIC02NjA2LDYgKzgzNjksMTAgQEAKICJlbiB1biBmaWxlc3lzdGVtIGNhc2UtaW5zZW5zaXRpdmUpIHkgc29sbyB1bmEgZGVsIGdydXBvXG4iCiAiY29saXNpb25hbmRvIGVzdMOhIGVuIGVsIMOhcmJvbCBkZSB0cmFiYWpvOlxuIgogCisjOiB1bnBhY2stdHJlZXMuYzoxNDQxCittc2dpZCAiVXBkYXRpbmcgaW5kZXggZmxhZ3MiCittc2dzdHIgIkFjdHVhbGl6YW5kbyBmbGFncyBkZWwgaW5kZXgiCisKICM6IHVybG1hdGNoLmM6MTYzCiBtc2dpZCAiaW52YWxpZCBVUkwgc2NoZW1lIG5hbWUgb3IgbWlzc2luZyAnOi8vJyBzdWZmaXgiCiBtc2dzdHIgIm5vbWJyZSBkZSBVUkwgaW52w6FsaWRvIG/CoHN1ZmlqbyAnOi8vJyBmYWx0YW50ZSIKQEAgLTY2MzUsMjA2ICs4NDAyLDIxMyBAQAogbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCiBtc2dzdHIgInNlZ21lbnRvIGRlIHJ1dGEgJy4uJyBpbnbDoWxpZG8iCiAKLSM6IHdvcmt0cmVlLmM6MjQ5IGJ1aWx0aW4vYW0uYzoyMTAwCisjOiB3b3JrdHJlZS5jOjI1OCBidWlsdGluL2FtLmM6MjA4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAnJXMnIgogbXNnc3RyICJmYWxsw7MgYWwgbGVlciAnJXMnIgogCi0jOiB3b3JrdHJlZS5jOjI5NQorIzogd29ya3RyZWUuYzozMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBhdCBtYWluIHdvcmtpbmcgdHJlZSBpcyBub3QgdGhlIHJlcG9zaXRvcnkgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAiJyVzJyBlbiBlbCDDoXJib2wgZGUgdHJhYmFqbyBwcmluY2lwYWwgbm8gZXMgZWwgZGlyZWN0b3JpbyBkZWwgcmVwb3NpdG9yaW8iCiAKLSM6IHdvcmt0cmVlLmM6MzA2CisjOiB3b3JrdHJlZS5jOjMxNQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGZpbGUgZG9lcyBub3QgY29udGFpbiBhYnNvbHV0ZSBwYXRoIHRvIHRoZSB3b3JraW5nIHRyZWUgbG9jYXRpb24iCiBtc2dzdHIgIiIKICJhcmNoaXZvICclcycgbm8gY29udGllbmUgdW5hIHJ1dGEgYWJzb2x1dGEgYSBsYSB1YmljYWNpw7NuIGRlbCDDoXJib2wgZGUgIgogInRyYWJham8iCiAKLSM6IHdvcmt0cmVlLmM6MzE4CisjOiB3b3JrdHJlZS5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICInJXMnIG5vIGV4aXN0ZSIKIAotIzogd29ya3RyZWUuYzozMjQKKyM6IHdvcmt0cmVlLmM6MzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgLmdpdCBmaWxlLCBlcnJvciBjb2RlICVkIgogbXNnc3RyICInJXMnIG5vIGVzIHVuIGFyY2hpdm8gLmdpdCwgY8OzZGlnbyBkZSBlcnJvciAlZCIKIAotIzogd29ya3RyZWUuYzozMzIKKyM6IHdvcmt0cmVlLmM6MzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgYmFjayB0byAnJXMnIgogbXNnc3RyICInJXMnIG5vIGFwdW50YSBkZSB2dWVsdGEgYSAnJXMnIgogCi0jOiB3cmFwcGVyLmM6MjIzIHdyYXBwZXIuYzozOTMKKyM6IHdyYXBwZXIuYzoxODYgd3JhcHBlci5jOjM1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIGFuZCB3cml0aW5nIgogbXNnc3RyICJubyBzZSBwdWRvIGFicmlyICclcycgcGFyYSBsZWN0dXJhIHkgZXNjcml0dXJhIgogCi0jOiB3cmFwcGVyLmM6NDI0IHdyYXBwZXIuYzo2MjQKKyM6IHdyYXBwZXIuYzozODcgd3JhcHBlci5jOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyciCiBtc2dzdHIgIm5vIGVzIHBvc2libGUgYWNjZWRlciAnJXMnIgogCi0jOiB3cmFwcGVyLmM6NjMyCisjOiB3cmFwcGVyLmM6NTk2CiBtc2dpZCAidW5hYmxlIHRvIGdldCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICJubyBlcyBwb3NpYmxlIG9idGVuZXIgZWwgZGlyZWN0b3JpbyBkZSB0cmFiYWpvIGFjdHVhbCIKIAotIzogd3Qtc3RhdHVzLmM6MTU0CisjOiB3dC1zdGF0dXMuYzoxNTgKIG1zZ2lkICJVbm1lcmdlZCBwYXRoczoiCiBtc2dzdHIgIlJ1dGFzIG5vIGZ1c2lvbmFkYXM6IgogCi0jOiB3dC1zdGF0dXMuYzoxODEgd3Qtc3RhdHVzLmM6MjA4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiAgKHVzZSBcImdpdCByZXNldCAlcyA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKLW1zZ3N0ciAiICAodXNhIFwiZ2l0IHJlc2V0ICVzIDxhcmNoaXZvPi4uLlwiIHBhcmEgc2FjYXIgZGVsIMOhcmVhIGRlIHN0YWdlKSIKKyM6IHd0LXN0YXR1cy5jOjE4NyB3dC1zdGF0dXMuYzoyMTkKK21zZ2lkICIgICh1c2UgXCJnaXQgcmVzdG9yZSAtLXN0YWdlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKK21zZ3N0ciAiIgorIiAgKHVzYSBcImdpdCByZXN0b3JlIC0tc3RhZ2VkIDxhcmNoaXZvPi4uLlwiIHBhcmEgc2FjYXIgZGVsIMOhcmVhIGRlIHN0YWdlKSIKIAotIzogd3Qtc3RhdHVzLmM6MTgzIHd0LXN0YXR1cy5jOjIxMAorIzogd3Qtc3RhdHVzLmM6MTkwIHd0LXN0YXR1cy5jOjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICIgICh1c2UgXCJnaXQgcmVzdG9yZSAtLXNvdXJjZT0lcyAtLXN0YWdlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKK21zZ3N0ciAiIgorIiAgKHVzYSBcImdpdCByZXN0b3JlIC0tc291cmNlPSVzIC0tc3RhZ2VkIDxhcmNoaXZvPi4uLlwiIHBhcmEgc2FjYXIgZGVsIMOhcmVhICIKKyJkZSBzdGFnZSkiCisKKyM6IHd0LXN0YXR1cy5jOjE5MyB3dC1zdGF0dXMuYzoyMjUKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAgKHVzYSBcImdpdCBybSAtLWNhY2hlZCA8YXJjaGl2bz4uLi5cIiBwYXJhIHNhY2FyIGRlbCDDoXJlYSBkZSBzdGFnZSkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NworIzogd3Qtc3RhdHVzLmM6MTk3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgICh1c2EgXCJnaXQgYWRkIDxhcmNoaXZvPi4uLlwiIHBhcmEgbWFyY2FyIHVuYSByZXNvbHVjacOzbikiCiAKLSM6IHd0LXN0YXR1cy5jOjE4OSB3dC1zdGF0dXMuYzoxOTMKKyM6IHd0LXN0YXR1cy5jOjE5OSB3dC1zdGF0dXMuYzoyMDMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKICIgICh1c2EgXCJnaXQgYWRkL3JtIDxhcmNoaXZvPi4uLlwiIGNvbW8gdW5hIGZvcm1hIGFwcm9waWFkYSBkZSBtYXJjYXIgbGEgIgogInJlc29sdWNpw7NuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTkxCisjOiB3dC1zdGF0dXMuYzoyMDEKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICAodXNhIFwiZ2l0IHJtIDxmaWxlPi4uLlwiIHBhcmEgbWFyY2FyIGxhIHJlc29sdWNpw7NuKSIKIAotIzogd3Qtc3RhdHVzLmM6MjAyIHd0LXN0YXR1cy5jOjEwNDIKKyM6IHd0LXN0YXR1cy5jOjIxMSB3dC1zdGF0dXMuYzoxMDc0CiBtc2dpZCAiQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgogbXNnc3RyICJDYW1iaW9zIGEgc2VyIGNvbmZpcm1hZG9zOiIKIAotIzogd3Qtc3RhdHVzLmM6MjIwIHd0LXN0YXR1cy5jOjEwNTEKKyM6IHd0LXN0YXR1cy5jOjIzNCB3dC1zdGF0dXMuYzoxMDgzCiBtc2dpZCAiQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6IgogbXNnc3RyICJDYW1iaW9zIG5vIHJhc3RyZWFkb3MgcGFyYSBlbCBjb21taXQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyMjQKKyM6IHd0LXN0YXR1cy5jOjIzOAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAodXNhIFwiZ2l0IGFkZCA8YXJjaGl2bz4uLi5cIiBwYXJhIGFjdHVhbGl6YXIgbG8gcXVlIHNlcsOhIGNvbmZpcm1hZG8pIgogCi0jOiB3dC1zdGF0dXMuYzoyMjYKKyM6IHd0LXN0YXR1cy5jOjI0MAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAodXNhIFwiZ2l0IGFkZC9ybSA8YXJjaGl2bz4uLi5cIiBwYXJhIGFjdHVhbGl6YXIgYSBsbyBxdWUgc2UgbGUgdmEgYSBoYWNlciAiCiAiY29tbWl0KSIKIAotIzogd3Qtc3RhdHVzLmM6MjI3CisjOiB3dC1zdGF0dXMuYzoyNDEKIG1zZ2lkICIiCi0iICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCisiICAodXNlIFwiZ2l0IHJlc3RvcmUgPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKIG1zZ3N0ciAiIgotIiAgKHVzYSBcImdpdCBjaGVja291dCAtLSA8YXJjaGl2bz4uLi5cIiBwYXJhIGRlc2NhcnRhciBsb3MgY2FtYmlvcyBlbiBlbCAiCisiICAodXNhIFwiZ2l0IHJlc3RvcmUgPGFyY2hpdm8+Li4uXCIgcGFyYSBkZXNjYXJ0YXIgbG9zIGNhbWJpb3MgZW4gZWwgIgogImRpcmVjdG9yaW8gZGUgdHJhYmFqbykiCiAKLSM6IHd0LXN0YXR1cy5jOjIyOQorIzogd3Qtc3RhdHVzLmM6MjQzCiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIiCiAiICAoY29uZmlybWFyIG8gZGVzY2FydGFyIGVsIGNvbnRlbmlkbyBzaW4gc2VndWltaWVudG8gbyBtb2RpZmljYWRvIGVuIGxvcyAiCiAic3ViLW3Ds2R1bG9zKSIKIAotIzogd3Qtc3RhdHVzLmM6MjQxCisjOiB3dC1zdGF0dXMuYzoyNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgICh1c2EgXCJnaXQgJXMgPGFyY2hpdm8+Li4uXCIgcGFyYSBpbmNsdWlybG8gYSBsbyBxdWUgc2Ugc2Vyw6EgY29uZmlybWFkbykiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NgorIzogd3Qtc3RhdHVzLmM6MjY4CiBtc2dpZCAiYm90aCBkZWxldGVkOiIKIG1zZ3N0ciAiYW1ib3MgYm9ycmFkb3M6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTgKKyM6IHd0LXN0YXR1cy5jOjI3MAogbXNnaWQgImFkZGVkIGJ5IHVzOiIKIG1zZ3N0ciAiYWdyZWdhZG8gcG9yIG5vc290cm9zOiIKIAotIzogd3Qtc3RhdHVzLmM6MjYwCisjOiB3dC1zdGF0dXMuYzoyNzIKIG1zZ2lkICJkZWxldGVkIGJ5IHRoZW06IgogbXNnc3RyICJib3JyYWRvcyBwb3IgZWxsb3M6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjIKKyM6IHd0LXN0YXR1cy5jOjI3NAogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICJhZ3JlZ2FkbyBwb3IgZWxsb3M6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjQKKyM6IHd0LXN0YXR1cy5jOjI3NgogbXNnaWQgImRlbGV0ZWQgYnkgdXM6IgogbXNnc3RyICJib3JyYWRvIHBvciBub3NvdHJvczoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NgorIzogd3Qtc3RhdHVzLmM6Mjc4CiBtc2dpZCAiYm90aCBhZGRlZDoiCiBtc2dzdHIgImFtYm9zIGFncmVnYWRvczoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2OAorIzogd3Qtc3RhdHVzLmM6MjgwCiBtc2dpZCAiYm90aCBtb2RpZmllZDoiCiBtc2dzdHIgImFtYm9zIG1vZGlmaWNhZG9zOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc4CisjOiB3dC1zdGF0dXMuYzoyOTAKIG1zZ2lkICJuZXcgZmlsZToiCiBtc2dzdHIgIm51ZXZvIGFyY2hpdm86IgogCi0jOiB3dC1zdGF0dXMuYzoyODAKKyM6IHd0LXN0YXR1cy5jOjI5MgogbXNnaWQgImNvcGllZDoiCiBtc2dzdHIgImNvcGlhZG86IgogCi0jOiB3dC1zdGF0dXMuYzoyODIKKyM6IHd0LXN0YXR1cy5jOjI5NAogbXNnaWQgImRlbGV0ZWQ6IgogbXNnc3RyICJib3JyYWRvOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg0CisjOiB3dC1zdGF0dXMuYzoyOTYKIG1zZ2lkICJtb2RpZmllZDoiCiBtc2dzdHIgIm1vZGlmaWNhZG86IgogCi0jOiB3dC1zdGF0dXMuYzoyODYKKyM6IHd0LXN0YXR1cy5jOjI5OAogbXNnaWQgInJlbmFtZWQ6IgogbXNnc3RyICJyZW5vbWJyYWRvOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg4CisjOiB3dC1zdGF0dXMuYzozMDAKIG1zZ2lkICJ0eXBlY2hhbmdlOiIKIG1zZ3N0ciAiY2FtYmlvIGRlIHRpcG86IgogCi0jOiB3dC1zdGF0dXMuYzoyOTAKKyM6IHd0LXN0YXR1cy5jOjMwMgogbXNnaWQgInVua25vd246IgogbXNnc3RyICJkZXNjb25vY2lkbzoiCiAKLSM6IHd0LXN0YXR1cy5jOjI5MgorIzogd3Qtc3RhdHVzLmM6MzA0CiBtc2dpZCAidW5tZXJnZWQ6IgogbXNnc3RyICJkZXMtZnVzaW9uYWRvOiIKIAotIzogd3Qtc3RhdHVzLmM6MzcyCisjOiB3dC1zdGF0dXMuYzozODQKIG1zZ2lkICJuZXcgY29tbWl0cywgIgogbXNnc3RyICJudWV2b3MgY29tbWl0cywgIgogCi0jOiB3dC1zdGF0dXMuYzozNzQKKyM6IHd0LXN0YXR1cy5jOjM4NgogbXNnaWQgIm1vZGlmaWVkIGNvbnRlbnQsICIKIG1zZ3N0ciAiY29udGVuaWRvIG1vZGlmaWNhZG8sICIKIAotIzogd3Qtc3RhdHVzLmM6Mzc2CisjOiB3dC1zdGF0dXMuYzozODgKIG1zZ2lkICJ1bnRyYWNrZWQgY29udGVudCwgIgogbXNnc3RyICJjb250ZW5pZG8gbm8gcmFzdHJlYWRvLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjg4MAorIzogd3Qtc3RhdHVzLmM6OTA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgc3Rhc2ggY3VycmVudGx5IGhhcyAlZCBlbnRyeSIKIG1zZ2lkX3BsdXJhbCAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJpZXMiCiBtc2dzdHJbMF0gIlR1IHN0YXNoIGFjdHVhbG1lbnRlIHRpZW5lICVkIGVudHJhZGEiCiBtc2dzdHJbMV0gIlR1IHN0YXNoIGFjdHVhbG1lbnRlIHRpZW5lICVkIGVudHJhZGFzIgogCi0jOiB3dC1zdGF0dXMuYzo5MTIKKyM6IHd0LXN0YXR1cy5jOjkzOAogbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgotbXNnc3RyICJTdWJtb2R1bG9zIGNhbWJpYWRvcyBwZXJvIG5vIGFjdHVhbGl6YWRvczoiCittc2dzdHIgIlN1Ym3Ds2R1bG9zIGNhbWJpYWRvcyBwZXJvIG5vIGFjdHVhbGl6YWRvczoiCiAKLSM6IHd0LXN0YXR1cy5jOjkxNAorIzogd3Qtc3RhdHVzLmM6OTQwCiBtc2dpZCAiU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKLW1zZ3N0ciAiU3VibW9kdWxvcyBjYW1iaWFkb3MgbGlzdG9zIHBhcmEgcmVhbGl6YXIgY29tbWl0OiIKK21zZ3N0ciAiU3VibcOzZHVsb3MgY2FtYmlhZG9zIGxpc3RvcyBwYXJhIHJlYWxpemFyIGNvbW1pdDoiCiAKLSM6IHd0LXN0YXR1cy5jOjk5NgorIzogd3Qtc3RhdHVzLmM6MTAyMgogbXNnaWQgIiIKICJEbyBub3QgbW9kaWZ5IG9yIHJlbW92ZSB0aGUgbGluZSBhYm92ZS5cbiIKICJFdmVyeXRoaW5nIGJlbG93IGl0IHdpbGwgYmUgaWdub3JlZC4iCkBAIC02ODQyLDEwNyArODYxNiwxMTggQEAKICJObyBtb2RpZmlxdWUgbyBib3JyZSBsYSBsw61uZWEgZGUgZW5jaW1hLlxuIgogIlRvZG8gbG8gcXVlIGVzdGUgcG9yIGFiYWpvIHNlcsOhIGVsaW1pbmFkby4iCiAKLSM6IHd0LXN0YXR1cy5jOjEwOTcKKyM6IHd0LXN0YXR1cy5jOjExMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGNvbXB1dGUgdGhlIGJyYW5jaCBhaGVhZC9iZWhpbmQgdmFsdWVzLlxuIgorIllvdSBjYW4gdXNlICctLW5vLWFoZWFkLWJlaGluZCcgdG8gYXZvaWQgdGhpcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlRvbcOzICUuMmYgc2VndW5kb3MgcGFyYSBjYWxjdWxhciBsb3MgdmFsb3JlcyBhbnRlcmlvci9wb3N0ZXJpb3IgZGVsIGJyYW5jaC5cbiIKKyJQdWVkZXMgdXNhciAnLS1uby1haGVhZC1iZWhpbmQnIHBhcmEgZXZpdGFyIGVzdG8uXG4iCisKKyM6IHd0LXN0YXR1cy5jOjExNDQKIG1zZ2lkICJZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4iCiBtc2dzdHIgIlRpZW5lcyBydXRhcyBubyBmdXNpb25hZGFzLiIKIAotIzogd3Qtc3RhdHVzLmM6MTEwMAorIzogd3Qtc3RhdHVzLmM6MTE0NwogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjb21taXRcIikiCiBtc2dzdHIgIiAgKGFycmVnbGEgbG9zIGNvbmZsaWN0b3MgeSBjb3JyZSBcImdpdCBjb21taXRcIiIKIAotIzogd3Qtc3RhdHVzLmM6MTEwMgorIzogd3Qtc3RhdHVzLmM6MTE0OQogbXNnaWQgIiAgKHVzZSBcImdpdCBtZXJnZSAtLWFib3J0XCIgdG8gYWJvcnQgdGhlIG1lcmdlKSIKIG1zZ3N0ciAiICAodXNhIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiBwYXJhIGFib3J0YXIgbGEgZnVzaW9uKSIKIAotIzogd3Qtc3RhdHVzLmM6MTEwNgorIzogd3Qtc3RhdHVzLmM6MTE1MwogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgIlRvZG9zIGxvcyBjb25mbGljdG9zIHJlc3VlbHRvcyBwZXJvIHNpZ3VlcyBmdXNpb25hbmRvLiIKIAotIzogd3Qtc3RhdHVzLmM6MTEwOQorIzogd3Qtc3RhdHVzLmM6MTE1NgogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXRcIiB0byBjb25jbHVkZSBtZXJnZSkiCiBtc2dzdHIgIiAgKHVzYSBcImdpdCBjb21taXRcIiBwYXJhIGNvbmNsdWlyIGxhIGZ1c2nDs24pIgogCi0jOiB3dC1zdGF0dXMuYzoxMTE4CisjOiB3dC1zdGF0dXMuYzoxMTY1CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICJFc3TDoXMgZW4gbWVkaW8gZGUgdW5hIHNlc2nDs24gYW0uIgogCi0jOiB3dC1zdGF0dXMuYzoxMTIxCisjOiB3dC1zdGF0dXMuYzoxMTY4CiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICJFbCBwYXJjaGUgYWN0dWFsIGVzdMOhIHZhY8Otby4iCiAKLSM6IHd0LXN0YXR1cy5jOjExMjUKKyM6IHd0LXN0YXR1cy5jOjExNzIKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChhcnJlZ2xhIGxvcyBjb25mbGljdG9zIHkgbHVlZ28gY29ycmUgXCJnaXQgYW0gLS1jb250aW51ZVwiIgogCi0jOiB3dC1zdGF0dXMuYzoxMTI3CisjOiB3dC1zdGF0dXMuYzoxMTc0CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKHVzYSBcImdpdCBhbSAtLXNraXBcIiBwYXJhIHNhbHRhciBlc3RlIHBhcmNoZSkiCiAKLSM6IHd0LXN0YXR1cy5jOjExMjkKKyM6IHd0LXN0YXR1cy5jOjExNzYKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKHVzYSBcImdpdCBhbSAtLWFib3J0XCIgcGFyYSByZXN0YXVyYXIgbGEgcmFtYSBvcmlnaW5hbCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjAKKyM6IHd0LXN0YXR1cy5jOjEzMDkKIG1zZ2lkICJnaXQtcmViYXNlLXRvZG8gaXMgbWlzc2luZy4iCiBtc2dzdHIgImdpdC1yZWJhc2UtdG9kbyBubyBlc3TDoSBwcmVzZW50ZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjIKKyM6IHd0LXN0YXR1cy5jOjEzMTEKIG1zZ2lkICJObyBjb21tYW5kcyBkb25lLiIKIG1zZ3N0ciAiTm8gc2UgcmVhbGl6YXJvbiBsb3MgY29tYW5kb3MuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjY1CisjOiB3dC1zdGF0dXMuYzoxMzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxhc3QgY29tbWFuZCBkb25lICglZCBjb21tYW5kIGRvbmUpOiIKIG1zZ2lkX3BsdXJhbCAiTGFzdCBjb21tYW5kcyBkb25lICglZCBjb21tYW5kcyBkb25lKToiCiBtc2dzdHJbMF0gIkVsIMO6bHRpbW8gY29tYW5kbyByZWFsaXphZG8gKCVkIGNvbWFuZG8gcmVhbGl6YWRvKToiCiBtc2dzdHJbMV0gIkxvcyDDumx0aW1vcyBjb21hbmRvcyByZWFsaXphZG9zICglZCBjb21hbmRvcyByZWFsaXphZG9zKToiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNzYKKyM6IHd0LXN0YXR1cy5jOjEzMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAoc2VlIG1vcmUgaW4gZmlsZSAlcykiCi1tc2dzdHIgIiAgKHZlciBtYXMgZW4gZWwgYXJjaGl2byAlcykiCittc2dzdHIgIiAgKHZlciBtw6FzIGVuIGVsIGFyY2hpdm8gJXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjgxCisjOiB3dC1zdGF0dXMuYzoxMzMwCiBtc2dpZCAiTm8gY29tbWFuZHMgcmVtYWluaW5nLiIKLW1zZ3N0ciAiTm8gcXVlZGFuIG1hcyBjb21hbmRvcy4iCittc2dzdHIgIk5vIHF1ZWRhbiBtw6FzIGNvbWFuZG9zLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI4NAorIzogd3Qtc3RhdHVzLmM6MTMzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJOZXh0IGNvbW1hbmQgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kKToiCiBtc2dpZF9wbHVyYWwgIk5leHQgY29tbWFuZHMgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kcyk6IgogbXNnc3RyWzBdICJTaWd1aWVudGUgY29tYW5kbyBhIHJlYWxpemFywqAoJWQgY29tYW5kbyByZXN0YW50ZSk6IgogbXNnc3RyWzFdICJTaWd1aWVudGUgY29tYW5kb3MgYSByZWFsaXphciAoJWQgY29tYW5kb3MgZmFsdGFudGVzKToiCiAKLSM6IHd0LXN0YXR1cy5jOjEyOTIKKyM6IHd0LXN0YXR1cy5jOjEzNDEKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIgdG8gdmlldyBhbmQgZWRpdCkiCiBtc2dzdHIgIiAgKHVzYSBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIiBwYXJhIHZlciB5IGVkaXRhcikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMDQKKyM6IHd0LXN0YXR1cy5jOjEzNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIkVzdMOhcyBhcGxpY2FuZG8gdW4gcmViYXNlIGRlIGxhIHJhbWEgJyVzJyBlbiAnJXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzA5CisjOiB3dC1zdGF0dXMuYzoxMzU4CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICJFc3TDoXMgYXBsaWNhbmRvIHVuIHJlYmFzZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzMjIKKyM6IHd0LXN0YXR1cy5jOjEzNzEKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoY29ycmlnZSBsb3MgY29uZmxpY3RvcyB5IGVqZWN1dGEgXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMjQKKyM6IHd0LXN0YXR1cy5jOjEzNzMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKHVzYSBcImdpdCByZWJhc2UgLS1za2lwXCIgcGFyYSBvbWl0aXIgZXN0ZSBwYXJjaGUpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzI2CisjOiB3dC1zdGF0dXMuYzoxMzc1CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgICh1c2EgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiBwYXJhIHZvbHZlciBhIHR1IHJhbWEgb3JpZ2luYWwpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzMzCisjOiB3dC1zdGF0dXMuYzoxMzgyCiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICh0b2RvcyBsb3MgY29uZmxpY3RvcyBjb3JyZWdpZG9zOiBlamVjdXRhIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzM3CisjOiB3dC1zdGF0dXMuYzoxMzg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCkBAIC02OTUwLDEyOCArODczNSwxNDQgQEAKICJFc3TDoXMgZGl2aWRpZW5kbyB1biBjb21taXQgbWllbnRyYXMgYXBsaWNhcyB1biByZWJhc2UgZGUgbGEgcmFtYSAnJXMnIGVuICIKICInJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6MTM0MgorIzogd3Qtc3RhdHVzLmM6MTM5MQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICJFc3TDoXMgZGl2aWRpZW5kbyB1biBjb21taXQgZHVyYW50ZSB1biByZWJhc2UuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzQ1CisjOiB3dC1zdGF0dXMuYzoxMzk0CiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChVbmEgdmV6IHF1ZSB0dSBkaXJlY3RvcmlvIGRlIHRyYWJham8gZXN0w6kgbGltcGlvLCBlamVjdXRhIFwiZ2l0IHJlYmFzZSAtLSIKICJjb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM0OQorIzogd3Qtc3RhdHVzLmM6MTM5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCiAiRXN0w6FzIGVkaXRhbmRvIHVuIGNvbW1pdCBtaWVudHJhcyBzZSBhcGxpY2EgdW4gcmViYXNlIGRlIGxhIHJhbWEgJyVzJyBlbiAiCiAiJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzNTQKKyM6IHd0LXN0YXR1cy5jOjE0MDMKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIkVzdMOhcyBlZGl0YW5kbyB1biBjb21taXQgZHVyYW50ZSB1biByZWJhc2UuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzU3CisjOiB3dC1zdGF0dXMuYzoxNDA2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKIG1zZ3N0ciAiICAodXNhIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgcGFyYSBlbm1lbmRhciBlbCBjb21taXQgYWN0dWFsKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM1OQorIzogd3Qtc3RhdHVzLmM6MTQwOAogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKSIKIG1zZ3N0ciAiIgogIiAgKHVzYSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIHVuYSB2ZXogcXVlIGVzdMOpcyBzYXRpc2ZlY2hvIGNvbiB0dXMgIgogImNhbWJpb3MpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzY4CisjOiB3dC1zdGF0dXMuYzoxNDE5Cittc2dpZCAiQ2hlcnJ5LXBpY2sgY3VycmVudGx5IGluIHByb2dyZXNzLiIKK21zZ3N0ciAiQ2hlcnJ5LXBpY2sgZW4gcHJvZ3Jlc28gYWN0dWFsbWVudGUuIgorCisjOiB3dC1zdGF0dXMuYzoxNDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGNoZXJyeS1waWNraW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIkVzdMOhcyByZWFsaXphbmRvIHVuIGNoZXJyeS1waWNraW5nIGVuIGVsIGNvbW1pdCAlcy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzNzMKKyM6IHd0LXN0YXR1cy5jOjE0MjkKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoY29ycmlnZSBsb3MgY29uZmxpY3RvcyB5IGVqZWN1dGEgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM3NgorIzogd3Qtc3RhdHVzLmM6MTQzMgorbXNnaWQgIiAgKHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgdG8gY29udGludWUpIgorbXNnc3RyICIgIChlamVjdXRhIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiBwYXJhIGNvbnRpbnVhcikiCisKKyM6IHd0LXN0YXR1cy5jOjE0MzUKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKHRvZG9zIGxvcyBjb25mbGljdG9zIGNvcnJlZ2lkb3M6IGVqZWN1dGEgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM3OAorIzogd3Qtc3RhdHVzLmM6MTQzNworbXNnaWQgIiAgKHVzZSBcImdpdCBjaGVycnktcGljayAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgorbXNnc3RyICIgICh1c2EgXCJnaXQgY2hlcnJ5LXBpY2sgLS1za2lwXCIgcGFyYSBzYWx0YXIgZXN0ZSBwYXJjaGUpIgorCisjOiB3dC1zdGF0dXMuYzoxNDM5CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCiBtc2dzdHIgIiIKICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHBhcmEgY2FuY2VsYXIgbGEgb3BlcmFjacOzbiBjaGVycnktcGljaykiCiAKLSM6IHd0LXN0YXR1cy5jOjEzODYKKyM6IHd0LXN0YXR1cy5jOjE0NDkKK21zZ2lkICJSZXZlcnQgY3VycmVudGx5IGluIHByb2dyZXNzLiIKK21zZ3N0ciAiUmV2aWVydGUgZWwgZXN0YWRvIGVuIHByb2dyZXNvIGFjdHVhbC4iCisKKyM6IHd0LXN0YXR1cy5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIkVzdMOhcyByZXZpcnRpZW5kbyBlbCBjb21taXQgJXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzkxCisjOiB3dC1zdGF0dXMuYzoxNDU4CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChjb3JyaWdlIGxvcyBjb25mbGljdG9zIHkgZWplY3V0YSBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM5NAorIzogd3Qtc3RhdHVzLmM6MTQ2MQorbXNnaWQgIiAgKHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiIHRvIGNvbnRpbnVlKSIKK21zZ3N0ciAiICAoZWplY3V0YSBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiIHBhcmEgY29udGludWFyKSIKKworIzogd3Qtc3RhdHVzLmM6MTQ2NAogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAodG9kb3MgbG9zIGNvbmZsaWN0b3MgY29ycmVnaWRvczogZWplY3V0YSBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM5NgorIzogd3Qtc3RhdHVzLmM6MTQ2NgorbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKK21zZ3N0ciAiICAodXNhIFwiZ2l0IHJldmVydCAtLXNraXBcIiBwYXJhIG9taXRpciBlc3RlIHBhcmNoZSkiCisKKyM6IHd0LXN0YXR1cy5jOjE0NjgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIgICh1c2EgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiBwYXJhIGNhbmNlbGFyIGxhIG9wZXJhY2nDs24gZGUgcmV2ZXJ0aXIpIgogCi0jOiB3dC1zdGF0dXMuYzoxNDA2CisjOiB3dC1zdGF0dXMuYzoxNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAiRXN0w6FzIGFwbGljYW5kbyB1biBiaXNlY3QsIGNvbWVuemFuZG8gZW4gbGEgcmFtYSAnJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6MTQxMAorIzogd3Qtc3RhdHVzLmM6MTQ4MgogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCiBtc2dzdHIgIkVzdMOhcyBhcGxpY2FuZG8gdW4gYmlzZWN0LiIKIAotIzogd3Qtc3RhdHVzLmM6MTQxMworIzogd3Qtc3RhdHVzLmM6MTQ4NQogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAodXNhIFwiZ2l0IGJpc2VjdCByZXNldFwiIHBhcmEgdm9sdmVyIGEgbGEgcmFtYSBvcmlnaW5hbCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTEKKyM6IHd0LXN0YXR1cy5jOjE2OTQKIG1zZ2lkICJPbiBicmFuY2ggIgogbXNnc3RyICJFbiBsYSByYW1hICIKIAotIzogd3Qtc3RhdHVzLmM6MTYxOAorIzogd3Qtc3RhdHVzLmM6MTcwMQogbXNnaWQgImludGVyYWN0aXZlIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgInJlYmFzZSBpbnRlcmFjdGl2byBlbiBwcm9ncmVzbzsgZW4gIgogCi0jOiB3dC1zdGF0dXMuYzoxNjIwCisjOiB3dC1zdGF0dXMuYzoxNzAzCiBtc2dpZCAicmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAicmViYXNlIGVuIHByb2dyZXNvOyBlbiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MjUKLW1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKLW1zZ3N0ciAiSEVBRCBkZXNhY29wbGFkYSBlbiAiCi0KLSM6IHd0LXN0YXR1cy5jOjE2MjcKLW1zZ2lkICJIRUFEIGRldGFjaGVkIGZyb20gIgotbXNnc3RyICJIRUFEIGRlc2Fjb3BsYWRhIGRlICIKLQotIzogd3Qtc3RhdHVzLmM6MTYzMAorIzogd3Qtc3RhdHVzLmM6MTcxMwogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIkFjdHVhbG1lbnRlIG5vIGVzdMOhcyBlbiBuaW5ndW5hIHJhbWEuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjQ3CisjOiB3dC1zdGF0dXMuYzoxNzMwCiBtc2dpZCAiSW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIkNvbmZpcm1hY2nDs24gaW5pY2lhbCIKIAotIzogd3Qtc3RhdHVzLmM6MTY0OAorIzogd3Qtc3RhdHVzLmM6MTczMQogbXNnaWQgIk5vIGNvbW1pdHMgeWV0IgogbXNnc3RyICJObyBoYXkgY29tbWl0cyB0b2RhdsOtYSIKIAotIzogd3Qtc3RhdHVzLmM6MTY2MgorIzogd3Qtc3RhdHVzLmM6MTc0NQogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiQXJjaGl2b3Mgc2luIHNlZ3VpbWllbnRvIgogCi0jOiB3dC1zdGF0dXMuYzoxNjY0CisjOiB3dC1zdGF0dXMuYzoxNzQ3CiBtc2dpZCAiSWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiQXJjaGl2b3MgaWdub3JhZG9zIgogCi0jOiB3dC1zdGF0dXMuYzoxNjY4CisjOiB3dC1zdGF0dXMuYzoxNzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCkBAIC03MDc5LDM0ICs4ODgwLDM0IEBACiAibmV3IGZpbGVzIHlvdXJzZWxmIChzZWUgJ2dpdCBoZWxwIHN0YXR1cycpLiIKIG1zZ3N0ciAiIgogIlRvbcOzICUuMmYgc2VndW5kb3MgZW51bWVyYXIgbG9zIGFyY2hpdm9zIG5vIHJhc3RyZWFkb3MuICdzdGF0dXMgLXVubydcbiIKLSJwdWVkZSBhY2VsZXJhcmxvLCBwZXJvIHRpZW5lIHF1ZSBzZXIgY3VpZGFkb3NvIGRlIG5vIG9sdmlkYXIgYWdyZWdhclxuIgotIm51ZXZvcyBhcmNoaXZvcyB1c3RlZCBtaXNtbyAodmVhICdnaXQgaGVscCBzdGF0dXMnKS4iCisicHVlZGUgYWNlbGVyYXJsbywgcGVybyB0aWVuZXMgcXVlIHNlciBjdWlkYWRvc28gZGUgbm8gb2x2aWRhciBhZ3JlZ2FyXG4iCisibnVldm9zIGFyY2hpdm9zIHTDuiBtaXNtbyAodmVhICdnaXQgaGVscCBzdGF0dXMnKS4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2NzQKKyM6IHd0LXN0YXR1cy5jOjE3NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKIG1zZ3N0ciAiQXJjaGl2b3Mgbm8gcmFzdHJlYWRvcyBubyBzb24gbW9zdHJhZG9zICVzIgogCi0jOiB3dC1zdGF0dXMuYzoxNjc2CisjOiB3dC1zdGF0dXMuYzoxNzU5CiBtc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKIG1zZ3N0ciAiICh1c2EgbGEgb3BjacOzbiAtdSBwYXJhIG1vc3RyYXIgbG9zIGFyY2hpdm9zIHNpbiBzZWd1aW1pZW50bykiCiAKLSM6IHd0LXN0YXR1cy5jOjE2ODIKKyM6IHd0LXN0YXR1cy5jOjE3NjUKIG1zZ2lkICJObyBjaGFuZ2VzIgogbXNnc3RyICJTaW4gY2FtYmlvcyIKIAotIzogd3Qtc3RhdHVzLmM6MTY4NworIzogd3Qtc3RhdHVzLmM6MTc3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKIG1zZ3N0ciAiIgogInNpbiBjYW1iaW9zIGFncmVnYWRvcyBhbCBjb21taXQgKHVzYSBcImdpdCBhZGRcIiB5L28gXCJnaXQgY29tbWl0IC1hXCIpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2OTAKKyM6IHd0LXN0YXR1cy5jOjE3NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXRcbiIKIG1zZ3N0ciAibm8gc2UgYWdyZWdhcm9uIGNhbWJpb3MgYWwgY29tbWl0XG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2OTMKKyM6IHd0LXN0YXR1cy5jOjE3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKQEAgLTcxMTUsMTkyICs4OTE2LDE5OCBAQAogIm5vIGhheSBuYWRhIGFncmVnYWRvIGFsIGNvbW1pdCBwZXJvIGhheSBhcmNoaXZvcyBzaW4gc2VndWltaWVudG8gcHJlc2VudGVzICIKICIodXNhIFwiZ2l0IGFkZFwiIHBhcmEgaGFjZXJsZXMgc2VndWltaWVudG8pXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2OTYKKyM6IHd0LXN0YXR1cy5jOjE3NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50XG4iCiBtc2dzdHIgIiIKICJubyBoYXkgbmFkYSBhZ3JlZ2FkbyBwYXJhIGNvbmZpcm1hciwgcGVybyBoYXkgYXJjaGl2b3Mgc2luIHNlZ3VpbWllbnRvICIKICJwcmVzZW50ZXNcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTY5OQorIzogd3Qtc3RhdHVzLmM6MTc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAoY3JlYXRlL2NvcHkgZmlsZXMgYW5kIHVzZSBcImdpdCBhZGRcIiB0byB0cmFjaylcbiIKIG1zZ3N0ciAiIgogIm5vIGhheSBuYWRhIHBhcmEgY29uZmlybWFyIChjcmVhL2NvcGlhIGFyY2hpdm9zIHkgdXNhIFwiZ2l0IGFkZFwiIHBhcmEgIgogImhhY2VybGVzIHNlZ3VpbWllbnRvKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNzAyIHd0LXN0YXR1cy5jOjE3MDcKKyM6IHd0LXN0YXR1cy5jOjE3ODUgd3Qtc3RhdHVzLmM6MTc5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICJuYWRhIHBhcmEgaGFjZXIgY29tbWl0XG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE3MDUKKyM6IHd0LXN0YXR1cy5jOjE3ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAiIgogIm5hZGEgcGFyYSBoYWNlciBjb21taXQgKHVzYSAtdSBwYXJhIG1vc3RyYXIgbG9zIGFyY2hpdm9zIG5vIHJhc3RyZWFkb3MpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE3MDkKKyM6IHd0LXN0YXR1cy5jOjE3OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhblxuIgogbXNnc3RyICJuYWRhIHBhcmEgaGFjZXIgY29tbWl0LCBlbCDDoXJib2wgZGUgdHJhYmFqbyBlc3TDoSBsaW1waW9cbiIKIAotIzogd3Qtc3RhdHVzLmM6MTgyMgorIzogd3Qtc3RhdHVzLmM6MTkwNQogbXNnaWQgIk5vIGNvbW1pdHMgeWV0IG9uICIKIG1zZ3N0ciAiTm8gaGF5IGNvbW1pdHMgdG9kYXbDrWEgZW4gIgogCi0jOiB3dC1zdGF0dXMuYzoxODI2CisjOiB3dC1zdGF0dXMuYzoxOTA5CiBtc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKIG1zZ3N0ciAiSEVBRCAoc2luIHJhbWEpIgogCi0jOiB3dC1zdGF0dXMuYzoxODU3CisjOiB3dC1zdGF0dXMuYzoxOTQwCiBtc2dpZCAiZGlmZmVyZW50IgogbXNnc3RyICJkaWZlcmVudGUiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NTkgd3Qtc3RhdHVzLmM6MTg2NworIzogd3Qtc3RhdHVzLmM6MTk0MiB3dC1zdGF0dXMuYzoxOTUwCiBtc2dpZCAiYmVoaW5kICIKIG1zZ3N0ciAiZGV0csOhcyAiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NjIgd3Qtc3RhdHVzLmM6MTg2NQorIzogd3Qtc3RhdHVzLmM6MTk0NSB3dC1zdGF0dXMuYzoxOTQ4CiBtc2dpZCAiYWhlYWQgIgogbXNnc3RyICJhZGVsYW50ZSAiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgYWN0aW9uIGlzIGUuZy4gInB1bGwgd2l0aCByZWJhc2UiCi0jOiB3dC1zdGF0dXMuYzoyMzc0CisjOiB3dC1zdGF0dXMuYzoyNDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIm5vIHNlIHB1ZWRlICVzOiBUaWVuZXMgY2FtYmlvcyBzaW4gbWFyY2FyLiIKIAotIzogd3Qtc3RhdHVzLmM6MjM4MAorIzogd3Qtc3RhdHVzLmM6MjQ3NgogbXNnaWQgImFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiYWRpY2lvbmFsbWVudGUsIHR1IMOtbmRpY2UgY29udGllbmUgY2FtYmlvcyBxdWUgbm8gZXN0w6FuIGVuIHVuIGNvbW1pdC4iCiAKLSM6IHd0LXN0YXR1cy5jOjIzODIKKyM6IHd0LXN0YXR1cy5jOjI0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICVzOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICJubyBzZSBwdWVkZSAlczogVHUgw61uZGljZSBjb250aWVuZSBjYW1iaW9zIHF1ZSBubyBlc3TDoW4gZW4gdW4gY29tbWl0LiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNAorIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU4IGJ1aWx0aW4vY2xvbmUuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAnJXMnIgorbXNnc3RyICJmYWxsw7MgYWwgZGVzdmluY3VsYXIgJyVzJyIKKworIzogYnVpbHRpbi9hZGQuYzoyNgogbXNnaWQgImdpdCBhZGQgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgYWRkIFs8b3BjacOzbj5dIFstLV0gPGVzcGVjaWZpY2FjacOzbi1kZS1ydXRhPi4uLiIKIAotIzogYnVpbHRpbi9hZGQuYzo4MworIzogYnVpbHRpbi9hZGQuYzo4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGRpZmYgc3RhdHVzICVjIgogbXNnc3RyICJkaWZmIHN0YXR1cyBpbmVzcGVyYWRvICVjIgogCi0jOiBidWlsdGluL2FkZC5jOjg4IGJ1aWx0aW4vY29tbWl0LmM6Mjg0CisjOiBidWlsdGluL2FkZC5jOjkyIGJ1aWx0aW4vY29tbWl0LmM6Mjg4CiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICJmYWxsw7MgbGEgYWN0dWFsaXphY2nDs24gZGUgY2FycGV0YXMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6OTgKKyM6IGJ1aWx0aW4vYWRkLmM6MTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgImVsaW1pbmFyICclcydcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoxNzMKKyM6IGJ1aWx0aW4vYWRkLmM6MTc3CiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZWZyZXNoaW5nIHRoZSBpbmRleDoiCiBtc2dzdHIgIkNhbWJpb3MgZnVlcmEgZGVsIMOhcmVhIGRlIHN0YWdlIHRyYXMgcmVmcmVzY2FyIGVsIMOtbmRpY2U6IgogCi0jOiBidWlsdGluL2FkZC5jOjIzMyBidWlsdGluL3Jldi1wYXJzZS5jOjg5NQorIzogYnVpbHRpbi9hZGQuYzoyNTIgYnVpbHRpbi9yZXYtcGFyc2UuYzo4OTkKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIk5vIHNlIHB1ZG8gbGVlciBlbCDDrW5kaWNlIgogCi0jOiBidWlsdGluL2FkZC5jOjI0NAorIzogYnVpbHRpbi9hZGQuYzoyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZy4iCiBtc2dzdHIgIk5vIHNlIHB1ZG8gYWJyaXIgJyVzJyBwYXJhIGVzY3JpdHVyYS4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQ4CisjOiBidWlsdGluL2FkZC5jOjI2NwogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIKIG1zZ3N0ciAiTm8gc2UgcHVlZGUgZXNjcmliaXIgZWwgcGFyY2hlIgogCi0jOiBidWlsdGluL2FkZC5jOjI1MQorIzogYnVpbHRpbi9hZGQuYzoyNzAKIG1zZ2lkICJlZGl0aW5nIHBhdGNoIGZhaWxlZCIKIG1zZ3N0ciAiZmFsbMOzIGxhIGVkaWNpw7NuIGRlbCBwYXJjaGUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU0CisjOiBidWlsdGluL2FkZC5jOjI3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICJObyBzZSBwdWRvIGRlZmluaXIgJyVzJyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc1CiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICJQYXJjaGUgdmFjw61vLiBBYm9ydGFkby4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjYxCisjOiBidWlsdGluL2FkZC5jOjI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJyVzJyIKIG1zZ3N0ciAiTm8gc2UgcHVkbyBhcGxpY2FyICclcyciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjY5CisjOiBidWlsdGluL2FkZC5jOjI4OAogbXNnaWQgIlRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKIG1zZ3N0ciAiIgogIkxhcyBzaWd1aWVudGVzIHJ1dGFzIHNvbiBpZ25vcmFkYXMgcG9yIHVubyBkZSB0dXMgYXJjaGl2b3MgLmdpdGlnbm9yZTpcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyODkgYnVpbHRpbi9jbGVhbi5jOjkwNyBidWlsdGluL2ZldGNoLmM6MTM3IGJ1aWx0aW4vbXYuYzoxMjMKLSM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTYgYnVpbHRpbi9wdWxsLmM6MjEzIGJ1aWx0aW4vcHVzaC5jOjU1NwotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzQ1IGJ1aWx0aW4vcm0uYzoyNDAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjUKKyM6IGJ1aWx0aW4vYWRkLmM6MzA4IGJ1aWx0aW4vY2xlYW4uYzo5MTAgYnVpbHRpbi9mZXRjaC5jOjE2MyBidWlsdGluL212LmM6MTI0CisjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU2IGJ1aWx0aW4vcHVsbC5jOjIyMyBidWlsdGluL3B1c2guYzo1NDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM0NCBidWlsdGluL3JtLmM6MjQxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY1CiBtc2dpZCAiZHJ5IHJ1biIKIG1zZ3N0ciAiZHJ5IHJ1biAoIGVqZWN1Y2nDs24gZW4gc2VjbykiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjkyCisjOiBidWlsdGluL2FkZC5jOjMxMQogbXNnaWQgImludGVyYWN0aXZlIHBpY2tpbmciCiBtc2dzdHIgInNlbGVjY2nDs24gaW50ZXJhY3RpdmEiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjkzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU4IGJ1aWx0aW4vcmVzZXQuYzozMDUKKyM6IGJ1aWx0aW4vYWRkLmM6MzEyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDgyIGJ1aWx0aW4vcmVzZXQuYzozMDcKIG1zZ2lkICJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAiZWxlZ2lyIGh1bmtzIGRlIGZvcm1hIGludGVyYWN0aXZhIgogCi0jOiBidWlsdGluL2FkZC5jOjI5NAorIzogYnVpbHRpbi9hZGQuYzozMTMKIG1zZ2lkICJlZGl0IGN1cnJlbnQgZGlmZiBhbmQgYXBwbHkiCiBtc2dzdHIgImVkaXRhciBkaWZmIGFjdHVhbCB5IGFwbGljYXIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk1CisjOiBidWlsdGluL2FkZC5jOjMxNAogbXNnaWQgImFsbG93IGFkZGluZyBvdGhlcndpc2UgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAicGVybWl0aXIgYWdyZWdhciBjYXNvIGNvbnRyYXJpbyBpZ25vcmFyIGFyY2hpdm9zIgogCi0jOiBidWlsdGluL2FkZC5jOjI5NgorIzogYnVpbHRpbi9hZGQuYzozMTUKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiYWN0dWFsaXphZG8gbGFzIGNhcnBldGFzIHJhc3RyZWFkYXMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk3CisjOiBidWlsdGluL2FkZC5jOjMxNgogbXNnaWQgInJlbm9ybWFsaXplIEVPTCBvZiB0cmFja2VkIGZpbGVzIChpbXBsaWVzIC11KSIKIG1zZ3N0ciAicmVub3JtYWxpemFyIEVPTCBkZSBsb3MgYXJjaGl2b3MgcmFzdHJlYWRvcyAoaW1wbGljYSAtdSkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk4CisjOiBidWlsdGluL2FkZC5jOjMxNwogbXNnaWQgInJlY29yZCBvbmx5IHRoZSBmYWN0IHRoYXQgdGhlIHBhdGggd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAiZ3JhYmFyIHNvbG8gZWwgaGVjaG8gZGUgcXVlIGxhIHJ1dGEgc2Vyw6EgYWdyZWdhZGEgZGVzcHXDqXMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk5CisjOiBidWlsdGluL2FkZC5jOjMxOAogbXNnaWQgImFkZCBjaGFuZ2VzIGZyb20gYWxsIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiYWdyZWdhciBsb3MgY2FtYmlvcyBkZSB0b2RhcyBsYXMgY2FycGV0YXMgY29uIHkgc2luIHNlZ3VpbWllbnRvIgogCi0jOiBidWlsdGluL2FkZC5jOjMwMgorIzogYnVpbHRpbi9hZGQuYzozMjEKIG1zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKLW1zZ3N0ciAiaWdub3JhciBydXRhcyByZW1vdmlkYXMgZW4gZWwgw6FyYm9sIGRlIHRyYWJham8gKGxvIG1pc21vIHF1ZSAtLW5vLWFsbCkiCittc2dzdHIgIiIKKyJpZ25vcmFyIHJ1dGFzIGVsaW1pbmFkYXMgZW4gZWwgw6FyYm9sIGRlIHRyYWJham8gKGxvIG1pc21vIHF1ZSAtLW5vLWFsbCkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA0CisjOiBidWlsdGluL2FkZC5jOjMyMwogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAibm8gYWdyZWdhciwgc29sbyBhY3R1YWxpemFyIGVsIMOtbmRpY2UiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA1CisjOiBidWlsdGluL2FkZC5jOjMyNAogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCiBtc2dzdHIgInNhbHRhciBsYXMgY2FycGV0YXMgcXVlIG5vIHB1ZWRlbiBzZXIgYWdyZWdhZGFzIGEgY2F1c2EgZGUgZXJyb3JlcyIKIAotIzogYnVpbHRpbi9hZGQuYzozMDYKKyM6IGJ1aWx0aW4vYWRkLmM6MzI1CiBtc2dpZCAiY2hlY2sgaWYgLSBldmVuIG1pc3NpbmcgLSBmaWxlcyBhcmUgaWdub3JlZCBpbiBkcnkgcnVuIgogbXNnc3RyICJjb21wcm9iYXIgc2kgLSBpbmNsdXNvIGxvcyBhcmNoaXZvcyBxdWUgZmFsdGFuIC0gc2UgaWdub3JhbiBlbiBkcnkgcnVuIgogCi0jOiBidWlsdGluL2FkZC5jOjMwOCBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MAorIzogYnVpbHRpbi9hZGQuYzozMjcgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA0CiBtc2dpZCAib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiCiBtc2dzdHIgInNvYnJlc2NyaWJpciBlbCBiaXQgZWplY3V0YWJsZSBkZSBsb3MgYXJjaGl2b3MgbGlzdGFkb3MiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzEwCisjOiBidWlsdGluL2FkZC5jOjMyOQogbXNnaWQgIndhcm4gd2hlbiBhZGRpbmcgYW4gZW1iZWRkZWQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiYXZpc2FyIGN1YW5kbyBzZSBhZ3JlZ2EgdW4gcmVwb3NpdG9yaW8gaW5jcnVzdGFkbyIKIAotIzogYnVpbHRpbi9hZGQuYzozMjUKKyM6IGJ1aWx0aW4vYWRkLmM6MzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UndmUgYWRkZWQgYW5vdGhlciBnaXQgcmVwb3NpdG9yeSBpbnNpZGUgeW91ciBjdXJyZW50IHJlcG9zaXRvcnkuXG4iCkBAIC03MzIwLDE5MiArOTEyNywyMDIgQEAKICJTZSBoYSBhZ3JlZ2FkbyBvdHJvIHJlcG9zaXRvcmlvIGRlIGdpdCBkZW50cm8gZGVsIHJlcG9zaXRvcmlvIGFjdHVhbC5cbiIKICJDbG9uZXMgZGVsIHJlcG9zaXRvcmlvIGV4dGVyaW9yIG5vIHRlbmRyw6FuIGVsIGNvbnRlbmlkbyBkZWwgXG4iCiAicmVwb3NpdG9yaW8gZW1iZWJpZG8geSBubyBzYWJyw6FuIGNvbW8gb2J0ZW5lcmxhLlxuIgotIlNpIHF1ZXLDrWEgYWdyZWdhciB1biBzdWJtw7NkdWxvLCB1c2U6XG4iCisiU2kgcXVlcsOtYXMgYWdyZWdhciB1biBzdWJtw7NkdWxvLCB1c2E6XG4iCiAiXG4iCiAiXHRnaXQgc3VibW9kdWxlIGFkZCA8dXJsPiAlc1xuIgogIlxuIgotIlNpIHNlIGFncmVnbyBlc3RhIHJ1dGEgcG9yIGVycm9yLCBwdWVkZSBlbGltaW5hciBkZXNkZSBlbCDDrW5kaWNlIFxuIgorIlNpIHNlIGFncmVnbyBlc3RhIHJ1dGEgcG9yIGVycm9yLCBwdWVkZXMgZWxpbWluYXIgZGVzZGUgZWwgw61uZGljZSBcbiIKICJ1c2FuZG86XG4iCiAiXG4iCiAiXHRnaXQgcm0gLS1jYWNoZWQgJXNcbiIKICJcbiIKLSJWZWEgXCJnaXQgaGVscCBzdWJtb2R1bGVcIiBwYXJhIG1hcyBpbmZvcm1hY2nDs24uIgorIlZlYSBcImdpdCBoZWxwIHN1Ym1vZHVsZVwiIHBhcmEgbcOhcyBpbmZvcm1hY2nDs24uIgogCi0jOiBidWlsdGluL2FkZC5jOjM1MworIzogYnVpbHRpbi9hZGQuYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkaW5nIGVtYmVkZGVkIGdpdCByZXBvc2l0b3J5OiAlcyIKIG1zZ3N0ciAiYWdyZWdhbmRvIHJlcG9zaXRvcmlvIGVtYmViaWRvOiAlcyIKIAotIzogYnVpbHRpbi9hZGQuYzozNzEKKyM6IGJ1aWx0aW4vYWRkLmM6MzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIHRoZW0uXG4iCi1tc2dzdHIgIlVzZSAtZiBzaSByZWFsbWVudGUgcXVpZXJlIGFncmVnYXJsb3MuXG4iCittc2dzdHIgIlVzYSAtZiBzaSByZWFsbWVudGUgcXVpZXJlcyBhZ3JlZ2FybG9zLlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjM3OQorIzogYnVpbHRpbi9hZGQuYzo0MDAKIG1zZ2lkICJhZGRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICJmYWxsw7MgYWwgYWdyZWdhciBhcmNoaXZvcyIKIAotIzogYnVpbHRpbi9hZGQuYzo0MTcKKyM6IGJ1aWx0aW4vYWRkLmM6NDI4IGJ1aWx0aW4vY29tbWl0LmM6MzQ4Cittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIgorbXNnc3RyICItLXBhdGhzcGVjLWZyb20tZmlsZSBlcyBpbmNvbXBhdGlibGUgY29uIC0taW50ZXJhY3RpdmUvLS1wYXRjaCIKKworIzogYnVpbHRpbi9hZGQuYzo0MzQKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWVkaXQiCittc2dzdHIgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGVzIGluY29tcGF0aWJsZSBjb24gLS1lZGl0IgorCisjOiBidWlsdGluL2FkZC5jOjQ0NgogbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgogbXNnc3RyICItQSB5IC11IHNvbiBtdXR1YW1lbnRlIGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDI0CisjOiBidWlsdGluL2FkZC5jOjQ0OQogbXNnaWQgIk9wdGlvbiAtLWlnbm9yZS1taXNzaW5nIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWRyeS1ydW4iCiBtc2dzdHIgIk9wY2nDs24gLS1pZ25vcmUtbWlzc2luZyBzb2xvIHB1ZWRlIHNlciB1c2FkYSBqdW50byBhIC0tZHJ5LXJ1biIKIAotIzogYnVpbHRpbi9hZGQuYzo0MjgKKyM6IGJ1aWx0aW4vYWRkLmM6NDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tY2htb2QgcGFyYW0gJyVzJyBtdXN0IGJlIGVpdGhlciAteCBvciAreCIKIG1zZ3N0ciAiRWwgcGFyw6FtZXRybyAnJXMnIHBhcmEgLS1jaG1vZCBkZWJlIHNlciAteCDDsyAreCIKIAotIzogYnVpbHRpbi9hZGQuYzo0NDMKKyM6IGJ1aWx0aW4vYWRkLmM6NDcxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjQ4IGJ1aWx0aW4vY29tbWl0LmM6MzU0CisjOiBidWlsdGluL3Jlc2V0LmM6MzI3Cittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggcGF0aHNwZWMgYXJndW1lbnRzIgorbXNnc3RyICItLXBhdGhzcGVjLWZyb20tZmlsZSBlcyBpbmNvbXBhdGlibGUgY29uIGFyZ3VtZW50b3MgZGUgcGF0aHNwZWMiCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDc4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjYwIGJ1aWx0aW4vY29tbWl0LmM6MzYwCisjOiBidWlsdGluL3Jlc2V0LmM6MzMzCittc2dpZCAiLS1wYXRoc3BlYy1maWxlLW51bCByZXF1aXJlcyAtLXBhdGhzcGVjLWZyb20tZmlsZSIKK21zZ3N0ciAiLS1wYXRoc3BlYy1maWxlLW51bCByZXF1aWVyZSAtLXBhdGhzcGVjLWZyb20tZmlsZSIKKworIzogYnVpbHRpbi9hZGQuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgIk5hZGEgZXNwZWNpZmljYWRvLCBuYWRhIGFncmVnYWRvLlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjQ0NAorIzogYnVpbHRpbi9hZGQuYzo0ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWF5YmUgeW91IHdhbnRlZCB0byBzYXkgJ2dpdCBhZGQgLic/XG4iCi1tc2dzdHIgIlRhbCB2ZXogcXVpc28gZGVjaXIgJ2dpdCBhZGQgLic/XG4iCittc2dzdHIgIsK/VGFsIHZleiBxdWlzbyBkZWNpciAnZ2l0IGFkZCAuJz9cbiIKIAotIzogYnVpbHRpbi9hbS5jOjM2MworIzogYnVpbHRpbi9hbS5jOjM0NwogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBhdXRob3Igc2NyaXB0IgogbXNnc3RyICJubyBzZSBwdWRvIGFuYWxpemFyIGVsIHNjcmlwdCBkZWwgYXV0b3IiCiAKLSM6IGJ1aWx0aW4vYW0uYzo0NDcKKyM6IGJ1aWx0aW4vYW0uYzo0MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyB3YXMgZGVsZXRlZCBieSB0aGUgYXBwbHlwYXRjaC1tc2cgaG9vayIKIG1zZ3N0ciAiJyVzJyBmdWUgYm9ycmFkbyBwb3IgZWwgaG9vayBkZSBhcHBseXBhdGNoLW1zZyIKIAotIzogYnVpbHRpbi9hbS5jOjQ4OAorIzogYnVpbHRpbi9hbS5jOjQ3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCiBtc2dzdHIgIkzDrW5lYSBtYWwgZm9ybWFkYTogJyVzJy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo1MjUKKyM6IGJ1aWx0aW4vYW0uYzo1MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgIkZhbGzDsyBhbCBjb3BpYXIgbm90YXMgZGUgJyVzJyBhICclcyciCiAKLSM6IGJ1aWx0aW4vYW0uYzo1NTEKKyM6IGJ1aWx0aW4vYW0uYzo1MzcKIG1zZ2lkICJmc2VlayBmYWlsZWQiCiBtc2dzdHIgImZhbGwgZGUgZnNlZWsiCiAKLSM6IGJ1aWx0aW4vYW0uYzo3MzkKKyM6IGJ1aWx0aW4vYW0uYzo3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHBhdGNoICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gYW5hbGl6YXIgZWwgcGFyY2hlICclcyciCiAKLSM6IGJ1aWx0aW4vYW0uYzo4MDQKKyM6IGJ1aWx0aW4vYW0uYzo3OTAKIG1zZ2lkICJPbmx5IG9uZSBTdEdJVCBwYXRjaCBzZXJpZXMgY2FuIGJlIGFwcGxpZWQgYXQgb25jZSIKIG1zZ3N0ciAiU29sbyB1biBwYXJjaGUgU3RHSVQgcHVlZGUgc2VyIGFwbGljYWRvIGRlIHVuYSB2ZXoiCiAKLSM6IGJ1aWx0aW4vYW0uYzo4NTIKKyM6IGJ1aWx0aW4vYW0uYzo4MzgKIG1zZ2lkICJpbnZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAidGltZXN0YW1wIGludsOhbGlkbyIKIAotIzogYnVpbHRpbi9hbS5jOjg1NyBidWlsdGluL2FtLmM6ODY5CisjOiBidWlsdGluL2FtLmM6ODQzIGJ1aWx0aW4vYW0uYzo4NTUKIG1zZ2lkICJpbnZhbGlkIERhdGUgbGluZSIKIG1zZ3N0ciAibMOtbmVhIERhdGUgaW52w6FsaWRhIgogCi0jOiBidWlsdGluL2FtLmM6ODY0CisjOiBidWlsdGluL2FtLmM6ODUwCiBtc2dpZCAiaW52YWxpZCB0aW1lem9uZSBvZmZzZXQiCiBtc2dzdHIgIm9mZnNldCBkZSB6b25hIGhvcmFyaWEgaW52w6FsaWRvIgogCi0jOiBidWlsdGluL2FtLmM6OTU3CisjOiBidWlsdGluL2FtLmM6OTQzCiBtc2dpZCAiUGF0Y2ggZm9ybWF0IGRldGVjdGlvbiBmYWlsZWQuIgogbXNnc3RyICJGYWxsw7MgYWwgZGV0ZWN0YXIgZWwgZm9ybWF0byBkZWwgcGFyY2hlLiIKIAotIzogYnVpbHRpbi9hbS5jOjk2MiBidWlsdGluL2Nsb25lLmM6NDA4CisjOiBidWlsdGluL2FtLmM6OTQ4IGJ1aWx0aW4vY2xvbmUuYzo0MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiZmFsbMOzIGFsIGNyZWFyIGVsIGRpcmVjdG9yaW8gJyVzJyIKIAotIzogYnVpbHRpbi9hbS5jOjk2NworIzogYnVpbHRpbi9hbS5jOjk1MwogbXNnaWQgIkZhaWxlZCB0byBzcGxpdCBwYXRjaGVzLiIKIG1zZ3N0ciAiRmFsbMOzIGFsIGRpdmlkaXIgcGFyY2hlcy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMDk3IGJ1aWx0aW4vY29tbWl0LmM6MzY5Ci1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIGluZGV4IGZpbGUiCi1tc2dzdHIgIm5vIGVzIHBvc2libGUgZXNjcmliaXIgZW4gZWwgYXJjaGl2byDDrW5kaWNlIgotCi0jOiBidWlsdGluL2FtLmM6MTExMQorIzogYnVpbHRpbi9hbS5jOjEwODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcIiVzIC0tY29udGludWVcIi4iCi1tc2dzdHIgIkN1YW5kbyBoYXlhIHJlc3VlbHRvIGVzdGUgcHJvYmxlbWEsIGVqZWN1dGUgXCIlcyAtLWNvbnRpbnVlXCIuIgorbXNnc3RyICJDdWFuZG8gaGF5YXMgcmVzdWVsdG8gZXN0ZSBwcm9ibGVtYSwgZWplY3V0YSBcIiVzIC0tY29udGludWVcIi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTEyCisjOiBidWlsdGluL2FtLmM6MTA4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiJXMgLS1za2lwXCIgaW5zdGVhZC4iCiBtc2dzdHIgIlNpIHByZWZpZXJlcyBzYWx0YXIgZXN0ZSBwYXJjaGUsIGVqZWN1dGEgXCIlcyAtLXNraXBcIi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTEzCisjOiBidWlsdGluL2FtLmM6MTA4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJUbyByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIHN0b3AgcGF0Y2hpbmcsIHJ1biBcIiVzIC0tYWJvcnRcIi4iCiBtc2dzdHIgIiIKICJQYXJhIHJlc3RhdXJhciBsYSByYW1hIG9yaWdpbmFsIHkgZGV0ZW5lciBlbCBwYXJjaGFkbywgZWplY3V0YXIgXCIlcyAtLWFib3J0IgogIlwiLiIKIAotIzogYnVpbHRpbi9hbS5jOjExOTYKKyM6IGJ1aWx0aW4vYW0uYzoxMTY5CiBtc2dpZCAiUGF0Y2ggc2VudCB3aXRoIGZvcm1hdD1mbG93ZWQ7IHNwYWNlIGF0IHRoZSBlbmQgb2YgbGluZXMgbWlnaHQgYmUgbG9zdC4iCiBtc2dzdHIgIiIKICJQYXJjaGUgbWFuZGFkbyBjb24gZm9ybWF0bz1mbG93ZWQ7IGVzcGFjaW9zIGFsIGZpbmFsIGRlIGxhcyBsw61uZWFzIHRhbCB2ZXogIgogImRlc2FwYXJlemNhbi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMjI0CisjOiBidWlsdGluL2FtLmM6MTE5NwogbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiIKIG1zZ3N0ciAiRWwgcGFyY2hlIGVzdMOhIHZhY8Otby4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMjkwCisjOiBidWlsdGluL2FtLmM6MTI2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIGF1dGhvciBsaW5lIGluIGNvbW1pdCAlcyIKK21zZ3N0ciAiZmFsdGEgbMOtbmVhIGF1dG9yIGVuIGNvbW1pdCAlcyIKKworIzogYnVpbHRpbi9hbS5jOjEyNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlLipzIgogbXNnc3RyICJzYW5ncsOtYSBubyB2w6FsaWRhOiAlLipzIgogCi0jOiBidWlsdGluL2FtLmM6MTMxMgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0ICVzIgotbXNnc3RyICJubyBlcyBwb3NpYmxlIGFuYWxpemFyIGVsIGNvbW1pdCAlcyIKLQotIzogYnVpbHRpbi9hbS5jOjE1MDgKKyM6IGJ1aWx0aW4vYW0uYzoxNDg0CiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyBuZWNlc3NhcnkgYmxvYnMgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAiIgogIlJlcG9zaXRvcmlvIGNhcmVjZSBkZSBsb3MgYmxvYnMgbmVjZXNhcmlvcyBwYXJhIHJldHJvY2VkZXIgZW4gdW5hIGZ1c2nDs24gZGUgIgogIjMtdsOtYXMuIgogCi0jOiBidWlsdGluL2FtLmM6MTUxMAorIzogYnVpbHRpbi9hbS5jOjE0ODYKIG1zZ2lkICJVc2luZyBpbmRleCBpbmZvIHRvIHJlY29uc3RydWN0IGEgYmFzZSB0cmVlLi4uIgogbXNnc3RyICJVc2FuZG8gbGEgaW5mb3JtYWNpw7NuIGRlbCDDrW5kaWNlIHBhcmEgcmVjb25zdHJ1aXIgdW4gw6FyYm9sIGJhc2UuLi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNTI5CisjOiBidWlsdGluL2FtLmM6MTUwNQogbXNnaWQgIiIKICJEaWQgeW91IGhhbmQgZWRpdCB5b3VyIHBhdGNoP1xuIgogIkl0IGRvZXMgbm90IGFwcGx5IHRvIGJsb2JzIHJlY29yZGVkIGluIGl0cyBpbmRleC4iCiBtc2dzdHIgIiIKLSJFZGl0YXN0ZSBlbCBwYXJjaGUgYSBtYW5vP1xuIgorIsK/RWRpdGFzdGUgZWwgcGFyY2hlIGEgbWFubz9cbiIKICJObyBhcGxpY2EgYSBibG9icyBndWFyZGFkb3MgZW4gc3Ugw61uZGljZS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNTM1CisjOiBidWlsdGluL2FtLmM6MTUxMQogbXNnaWQgIkZhbGxpbmcgYmFjayB0byBwYXRjaGluZyBiYXNlIGFuZCAzLXdheSBtZXJnZS4uLiIKIG1zZ3N0ciAiUmV0cm9jZWRpZW5kbyBwYXJhIHBhcmNoYXIgYmFzZSB5IGZ1c2nDs24gZGUgMy12w61hcy4uLiIKIAotIzogYnVpbHRpbi9hbS5jOjE1NjEKKyM6IGJ1aWx0aW4vYW0uYzoxNTM3CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIGluIHRoZSBjaGFuZ2VzLiIKIG1zZ3N0ciAiRmFsbMOzIGFsIGZ1c2lvbmFyIGVuIGxvcyBjYW1iaW9zLiIKIAotIzogYnVpbHRpbi9hbS5jOjE1OTMKKyM6IGJ1aWx0aW4vYW0uYzoxNTY5CiBtc2dpZCAiYXBwbHlpbmcgdG8gYW4gZW1wdHkgaGlzdG9yeSIKIG1zZ3N0ciAiYXBsaWNhbmRvIGEgdW4gaGlzdG9yaWFsIHZhY8OtbyIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzkgYnVpbHRpbi9hbS5jOjE2NDMKKyM6IGJ1aWx0aW4vYW0uYzoxNjE2IGJ1aWx0aW4vYW0uYzoxNjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXN1bWU6ICVzIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgY29udGludWFyOiAlcyBubyBleGlzdGUuIgogCi0jOiBidWlsdGluL2FtLmM6MTY1OQotbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKLW1zZ3N0ciAibm8gc2UgcHVlZGUgc2VyIGludGVyYWN0aXZvIHNpbiBzdGRpbiBjb25lY3RhZG8gYSB1biB0ZXJtaW5hbC4iCi0KLSM6IGJ1aWx0aW4vYW0uYzoxNjY0CisjOiBidWlsdGluL2FtLmM6MTYzOAogbXNnaWQgIkNvbW1pdCBCb2R5IGlzOiIKIG1zZ3N0ciAiQ3VlcnBvIGRlIGNvbW1pdCBlczoiCiAKQEAgLTc1MTMsNjcgKzkzMzAsNzIgQEAKICMuIGluIHlvdXIgdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaAogIy4gaW5wdXQgYXQgdGhpcyBwb2ludC4KICMuCi0jOiBidWlsdGluL2FtLmM6MTY3NAorIzogYnVpbHRpbi9hbS5jOjE2NDgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHk/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGw6ICIKLW1zZ3N0ciAiQXBsaWNhcj8gW3ldZXMvW25dby9bZV1kaXQvW3ZdaWV3IHBhdGNoL1thXWNjZXB0IGFsbDogIgorbXNnc3RyICLCv0FwbGljYXI/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGw6ICIKIAotIzogYnVpbHRpbi9hbS5jOjE3MjQKKyM6IGJ1aWx0aW4vYW0uYzoxNjk1IGJ1aWx0aW4vY29tbWl0LmM6Mzk0Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGluZGV4IGZpbGUiCittc2dzdHIgIm5vIGVzIHBvc2libGUgZXNjcmliaXIgZW4gZWwgYXJjaGl2byDDrW5kaWNlIgorCisjOiBidWlsdGluL2FtLmM6MTY5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJ0eSBpbmRleDogY2Fubm90IGFwcGx5IHBhdGNoZXMgKGRpcnR5OiAlcykiCiBtc2dzdHIgIsONbmRpY2Ugc3VjaW86IG5vIHNlIHB1ZWRlIGFwbGljYXIgcGFyY2hlcyAoc3VjaW86ICVzKSIKIAotIzogYnVpbHRpbi9hbS5jOjE3NjQgYnVpbHRpbi9hbS5jOjE4MzIKKyM6IGJ1aWx0aW4vYW0uYzoxNzM5IGJ1aWx0aW4vYW0uYzoxODA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5aW5nOiAlLipzIgogbXNnc3RyICJBcGxpY2FuZG86ICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzgxCisjOiBidWlsdGluL2FtLmM6MTc1NgogbXNnaWQgIk5vIGNoYW5nZXMgLS0gUGF0Y2ggYWxyZWFkeSBhcHBsaWVkLiIKIG1zZ3N0ciAiU2luIGNhbWJpb3MgLS0gcGFyY2hlIHlhIGFwbGljYWRvLiIKIAotIzogYnVpbHRpbi9hbS5jOjE3ODcKKyM6IGJ1aWx0aW4vYW0uYzoxNzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhdGNoIGZhaWxlZCBhdCAlcyAlLipzIgogbXNnc3RyICJFbCBwYXJjaGUgZmFsbMOzIGVuICVzICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzkxCisjOiBidWlsdGluL2FtLmM6MTc2NgogbXNnaWQgIlVzZSAnZ2l0IGFtIC0tc2hvdy1jdXJyZW50LXBhdGNoJyB0byBzZWUgdGhlIGZhaWxlZCBwYXRjaCIKIG1zZ3N0ciAiVXNlICdnaXQgYW0gLS1zaG93LWN1cnJlbnQtcGF0Y2gnIHBhcmEgdmVyIGVsIHBhcmNoZSBmYWxsaWRvIgogCi0jOiBidWlsdGluL2FtLmM6MTgzNQorIzogYnVpbHRpbi9hbS5jOjE4MTAKIG1zZ2lkICIiCiAiTm8gY2hhbmdlcyAtIGRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/XG4iCiAiSWYgdGhlcmUgaXMgbm90aGluZyBsZWZ0IHRvIHN0YWdlLCBjaGFuY2VzIGFyZSB0aGF0IHNvbWV0aGluZyBlbHNlXG4iCiAiYWxyZWFkeSBpbnRyb2R1Y2VkIHRoZSBzYW1lIGNoYW5nZXM7IHlvdSBtaWdodCB3YW50IHRvIHNraXAgdGhpcyBwYXRjaC4iCiBtc2dzdHIgIiIKLSJTaW4gY2FtYmlvcyAtIG9sdmlkYXN0ZSB1c2FyICdnaXQgYWRkJz9cbiIKKyJTaW4gY2FtYmlvcyAtIMK/b2x2aWRhc3RlIHVzYXIgJ2dpdCBhZGQnP1xuIgogIlNpIG5vIGhheSBuYWRhIGVuIGVsIMOhcmVhIGRlIHN0YWdlLCBsYXMgcG9zaWJpbGlkYWQgZXMgcXVlIGFsZ28gbWFzXG4iCiAieWEgaGF5YSBpbnRyb2R1Y2lkbyBlbCBtaXNtbyBjYW1iaW87IHRhbCB2ZXogcXVpZXJhcyBvbWl0aXIgZXN0ZSBwYXJjaGUuIgogCi0jOiBidWlsdGluL2FtLmM6MTg0MgorIzogYnVpbHRpbi9hbS5jOjE4MTcKIG1zZ2lkICIiCiAiWW91IHN0aWxsIGhhdmUgdW5tZXJnZWQgcGF0aHMgaW4geW91ciBpbmRleC5cbiIKICJZb3Ugc2hvdWxkICdnaXQgYWRkJyBlYWNoIGZpbGUgd2l0aCByZXNvbHZlZCBjb25mbGljdHMgdG8gbWFyayB0aGVtIGFzICIKICJzdWNoLlxuIgogIllvdSBtaWdodCBydW4gYGdpdCBybWAgb24gYSBmaWxlIHRvIGFjY2VwdCBcImRlbGV0ZWQgYnkgdGhlbVwiIGZvciBpdC4iCiBtc2dzdHIgIiIKLSJUb2RhdsOtYSB0aWVuZSBydXRhcyBzaW4gZnVzaW9uYXIgZW4gc3Ugw61uZGljZS5cbiIKLSJEZWJlIHJlYWxpemFyICdnaXQgYWRkJyBjYWRhIGFyY2hpdm8gY29uIGNvbmZsaWN0b3MgcmVzdWVsdG9zIHkgbWFyY2FybG9zICIKKyJUb2RhdsOtYSB0aWVuZXMgcnV0YXMgc2luIGZ1c2lvbmFyIGVuIHR1IMOtbmRpY2UuXG4iCisiRGViZXMgcmVhbGl6YXIgJ2dpdCBhZGQnIGNhZGEgYXJjaGl2byBjb24gY29uZmxpY3RvcyByZXN1ZWx0b3MgeSBtYXJjYXJsb3MgIgogImNvbW8gdGFsLlxuIgotIlRhbCB2ZXogZWplY3V0ZSBgZ2l0IHJtYCBlbiBlbCBhcmNoaXZvIHBhcmEgYWNlcHRhciBcImJvcnJhZG8gcG9yIGVsbG9zXCIgZW4gIgotIsOpbC4iCisiU2UgcHVlZGUgZWplY3V0YXIgYGdpdCBybWAgZW4gZWwgYXJjaGl2byBwYXJhIGFjZXB0YXIgXCJib3JyYWRvIHBvciBlbGxvc1wiICIKKyJlbiDDqWwuIgogCi0jOiBidWlsdGluL2FtLmM6MTk0OSBidWlsdGluL2FtLmM6MTk1MyBidWlsdGluL2FtLmM6MTk2NSBidWlsdGluL3Jlc2V0LmM6MzI4Ci0jOiBidWlsdGluL3Jlc2V0LmM6MzM2CisjOiBidWlsdGluL2FtLmM6MTkyNCBidWlsdGluL2FtLmM6MTkyOCBidWlsdGluL2FtLmM6MTk0MCBidWlsdGluL3Jlc2V0LmM6MzQ2CisjOiBidWlsdGluL3Jlc2V0LmM6MzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJy4iCiBtc2dzdHIgIk5vIHNlIHB1ZG8gYW5hbGl6YXIgZWwgb2JqZXRvICclcycuIgogCi0jOiBidWlsdGluL2FtLmM6MjAwMQorIzogYnVpbHRpbi9hbS5jOjE5NzYKIG1zZ2lkICJmYWlsZWQgdG8gY2xlYW4gaW5kZXgiCiBtc2dzdHIgImZhbGzDsyBhbCBsaW1waWFyIGVsIMOtbmRpY2UiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMDM2CisjOiBidWlsdGluL2FtLmM6MjAyMAogbXNnaWQgIiIKICJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQgc2luY2UgdGhlIGxhc3QgJ2FtJyBmYWlsdXJlLlxuIgogIk5vdCByZXdpbmRpbmcgdG8gT1JJR19IRUFEIgpAQCAtNzU4MSwxNjEgKzk0MDMsMTYxIEBACiAiUGFyZWNlIGhhYmVyIG1vdmlkbyBIRUFEIGRlc2RlIGVsIMO6bHRpbW8gZmFsbMOzICdhbScuXG4iCiAiTm8gcmVib2JpbmFuZG8gYSBPUklHX0hFQUQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTI5CisjOiBidWlsdGluL2FtLmM6MjExNwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAtLXBhdGNoLWZvcm1hdDogJXMiCiBtc2dzdHIgIlZhbG9yIGludsOhbGlkbyBwYXJhIC0tcGF0Y2gtZm9ybWF0OiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjIxNjUKKyM6IGJ1aWx0aW4vYW0uYzoyMTUzCiBtc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KS4uLl0iCiBtc2dzdHIgImdpdCBhbSBbPG9wY2lvbmVzPl0gWyg8bWJveD4gfCA8RGlyZWN0b3Jpby1kZS1jb3JyZW8+KS4uLl0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTY2CisjOiBidWlsdGluL2FtLmM6MjE1NAogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgogbXNnc3RyICJnaXQgYW0gWzxvcGNpb25lcz5dICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTcyCisjOiBidWlsdGluL2FtLmM6MjE2MAogbXNnaWQgInJ1biBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICJlamVjdXRhciBkZSBtYW5lcmEgaW50ZXJhY3RpdmEiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTc0CisjOiBidWlsdGluL2FtLmM6MjE2MgogbXNnaWQgImhpc3RvcmljYWwgb3B0aW9uIC0tIG5vLW9wIgogbXNnc3RyICJvcGNpw7NuIGhpc3TDs3JpY2EgLS0gbm8tb3AiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTc2CisjOiBidWlsdGluL2FtLmM6MjE2NAogbXNnaWQgImFsbG93IGZhbGwgYmFjayBvbiAzd2F5IG1lcmdpbmcgaWYgbmVlZGVkIgogbXNnc3RyICJwZXJtaXRpciByZXRyb2Nlc28gZW4gZnVzacOzbiBkZSAzLXbDrWFzIHNpIGVzIG5lY2VzYXJpbyIKIAotIzogYnVpbHRpbi9hbS5jOjIxNzcgYnVpbHRpbi9pbml0LWRiLmM6NDg2IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTgKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA2CisjOiBidWlsdGluL2FtLmM6MjE2NSBidWlsdGluL2luaXQtZGIuYzo0OTQgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1OAorIzogYnVpbHRpbi9yZXBhY2suYzozMDQgYnVpbHRpbi9zdGFzaC5jOjgxMQogbXNnaWQgImJlIHF1aWV0IgogbXNnc3RyICJzZXIgc2lsZW5jaW9zbyIKIAotIzogYnVpbHRpbi9hbS5jOjIxNzkKKyM6IGJ1aWx0aW4vYW0uYzoyMTY3CiBtc2dpZCAiYWRkIGEgU2lnbmVkLW9mZi1ieSBsaW5lIHRvIHRoZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiYWdyZWdhciB1bmEgbMOtbmVhIFwiRmlybWFkby1wb3JcIiBhbCBtZW5zYWplIGRlbCBjb21taXQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTgyCisjOiBidWlsdGluL2FtLmM6MjE3MAogbXNnaWQgInJlY29kZSBpbnRvIHV0ZjggKGRlZmF1bHQpIgogbXNnc3RyICJyZWNvZGlmaWNhciBlbiB1dGY4IChkZWZhdWx0KSIKIAotIzogYnVpbHRpbi9hbS5jOjIxODQKKyM6IGJ1aWx0aW4vYW0uYzoyMTcyCiBtc2dpZCAicGFzcyAtayBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAicGFzYXIgZmxhZyAtayBhIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIxODYKKyM6IGJ1aWx0aW4vYW0uYzoyMTc0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAicGFzYXIgZmxhZyAtYiBhIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIxODgKKyM6IGJ1aWx0aW4vYW0uYzoyMTc2CiBtc2dpZCAicGFzcyAtbSBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAicGFzYXIgZmxhZyAtbSBhIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIxOTAKKyM6IGJ1aWx0aW4vYW0uYzoyMTc4CiBtc2dpZCAicGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGZvciBtYm94IGZvcm1hdCIKIG1zZ3N0ciAicGFzYXIgZmxhZyAtLWtlZXAtY3IgYSBnaXQtbWFpbHNwbGl0IHBhcmEgZm9ybWF0byBtYm94IgogCi0jOiBidWlsdGluL2FtLmM6MjE5MworIzogYnVpbHRpbi9hbS5jOjIxODEKIG1zZ2lkICJkbyBub3QgcGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGluZGVwZW5kZW50IG9mIGFtLmtlZXBjciIKIG1zZ3N0ciAiIgogIm5vIHBhc2FyIGZsYWcgLS1rZWVwLWNyIGEgZ2l0LW1haWxzcGxpdCBpbmRlcGVuZGllbnRlbWVudGUgZGUgYW0ua2VlcGNyIgogCi0jOiBidWlsdGluL2FtLmM6MjE5NgorIzogYnVpbHRpbi9hbS5jOjIxODQKIG1zZ2lkICJzdHJpcCBldmVyeXRoaW5nIGJlZm9yZSBhIHNjaXNzb3JzIGxpbmUiCiBtc2dzdHIgImRlc2N1YnJpciB0b2RvIGFudGVzIGRlIHVuYSBsw61uZWEgZGUgdGlqZXJhcyIKIAorIzogYnVpbHRpbi9hbS5jOjIxODYgYnVpbHRpbi9hbS5jOjIxODkgYnVpbHRpbi9hbS5jOjIxOTIgYnVpbHRpbi9hbS5jOjIxOTUKICM6IGJ1aWx0aW4vYW0uYzoyMTk4IGJ1aWx0aW4vYW0uYzoyMjAxIGJ1aWx0aW4vYW0uYzoyMjA0IGJ1aWx0aW4vYW0uYzoyMjA3Ci0jOiBidWlsdGluL2FtLmM6MjIxMCBidWlsdGluL2FtLmM6MjIxMyBidWlsdGluL2FtLmM6MjIxNiBidWlsdGluL2FtLmM6MjIxOQotIzogYnVpbHRpbi9hbS5jOjIyMjUKKyM6IGJ1aWx0aW4vYW0uYzoyMjEzCiBtc2dpZCAicGFzcyBpdCB0aHJvdWdoIGdpdC1hcHBseSIKIG1zZ3N0ciAicGFzYXJsbyBhIHRyYXbDqXMgZGUgZ2l0LWFwcGx5IgogCi0jOiBidWlsdGluL2FtLmM6MjIxNSBidWlsdGluL2NvbW1pdC5jOjEzNDAgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzQgYnVpbHRpbi9ncmVwLmM6ODY4IGJ1aWx0aW4vbWVyZ2UuYzoyMzkKLSM6IGJ1aWx0aW4vcHVsbC5jOjE1MSBidWlsdGluL3B1bGwuYzoyMDkgYnVpbHRpbi9yZWJhc2UuYzo4NTQKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE3IGJ1aWx0aW4vcmVwYWNrLmM6MzIxIGJ1aWx0aW4vcmVwYWNrLmM6MzIzCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUxIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzEgYnVpbHRpbi90YWcuYzozODYKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNDQgcGFyc2Utb3B0aW9ucy5oOjE0NiBwYXJzZS1vcHRpb25zLmg6MjY4CisjOiBidWlsdGluL2FtLmM6MjIwMyBidWlsdGluL2NvbW1pdC5jOjEzODYgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjczCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzYgYnVpbHRpbi9ncmVwLmM6ODgzIGJ1aWx0aW4vbWVyZ2UuYzoyNDkKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2MCBidWlsdGluL3B1bGwuYzoyMTkgYnVpbHRpbi9yZWJhc2UuYzoxNDY5CisjOiBidWlsdGluL3JlcGFjay5jOjMxNSBidWlsdGluL3JlcGFjay5jOjMxOSBidWlsdGluL3JlcGFjay5jOjMyMQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MCBidWlsdGluL3Nob3ctcmVmLmM6MTcyIGJ1aWx0aW4vdGFnLmM6NDAzCisjOiBwYXJzZS1vcHRpb25zLmg6MTU0IHBhcnNlLW9wdGlvbnMuaDoxNzUgcGFyc2Utb3B0aW9ucy5oOjMxNgogbXNnaWQgIm4iCiBtc2dzdHIgIm4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjIxIGJ1aWx0aW4vYnJhbmNoLmM6NjM3IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzgKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0NCBidWlsdGluL3RhZy5jOjQyMiBidWlsdGluL3ZlcmlmeS10YWcuYzozOQorIzogYnVpbHRpbi9hbS5jOjIyMDkgYnVpbHRpbi9icmFuY2guYzo2NjEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU1IGJ1aWx0aW4vdGFnLmM6NDM3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICJmb3JtYXRvIgogCi0jOiBidWlsdGluL2FtLmM6MjIyMgorIzogYnVpbHRpbi9hbS5jOjIyMTAKIG1zZ2lkICJmb3JtYXQgdGhlIHBhdGNoKGVzKSBhcmUgaW4iCiBtc2dzdHIgImZvcm1hdGVhciBlbCBwYXJjaGUocykiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjI4CisjOiBidWlsdGluL2FtLmM6MjIxNgogbXNnaWQgIm92ZXJyaWRlIGVycm9yIG1lc3NhZ2Ugd2hlbiBwYXRjaCBmYWlsdXJlIG9jY3VycyIKIG1zZ3N0ciAic29icmVzY3JpYmlyIG1lbnNhamVzIGRlIGVycm9yIGN1YW5kbyBmYWxsb3MgZGUgcGFyY2hhZG8gb2N1cnJhbiIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzAKKyM6IGJ1aWx0aW4vYW0uYzoyMjE4CiBtc2dpZCAiY29udGludWUgYXBwbHlpbmcgcGF0Y2hlcyBhZnRlciByZXNvbHZpbmcgYSBjb25mbGljdCIKIG1zZ3N0ciAiY29udGludWFyIGFwbGljYW5kbyBsb3MgcGFyY2hlcyB0cmFzIHJlc29sdmVyIGNvbmZsaWN0b3MiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjMzCisjOiBidWlsdGluL2FtLmM6MjIyMQogbXNnaWQgInN5bm9ueW1zIGZvciAtLWNvbnRpbnVlIgogbXNnc3RyICJzaW7Ds25pbW9zIHBhcmEgLS1jb250aW51ZSIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzYKKyM6IGJ1aWx0aW4vYW0uYzoyMjI0CiBtc2dpZCAic2tpcCB0aGUgY3VycmVudCBwYXRjaCIKIG1zZ3N0ciAic2FsdGFyIGVsIHBhcmNoZSBhY3R1YWwiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM5CisjOiBidWlsdGluL2FtLmM6MjIyNwogbXNnaWQgInJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgYWJvcnQgdGhlIHBhdGNoaW5nIG9wZXJhdGlvbi4iCiBtc2dzdHIgInJlc3RhdXJhciBsYSByYW1hIG9yaWdpbmFsIHkgYWJvcnRhciBsYSBvcGVyYWNpw7NuIGRlIHBhcmNoYWRvLiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDIKKyM6IGJ1aWx0aW4vYW0uYzoyMjMwCiBtc2dpZCAiYWJvcnQgdGhlIHBhdGNoaW5nIG9wZXJhdGlvbiBidXQga2VlcCBIRUFEIHdoZXJlIGl0IGlzLiIKIG1zZ3N0ciAiYWJvcnRhciBsYSBvcGVyYWNpw7NuIGRlIHBhcmNoYWRvIHBlcm8gbWFudGVuZXIgSEVBRCBkb25kZSBlc3TDoS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ1CisjOiBidWlsdGluL2FtLmM6MjIzMwogbXNnaWQgInNob3cgdGhlIHBhdGNoIGJlaW5nIGFwcGxpZWQuIgogbXNnc3RyICJtdWVzdHJhIGVsIHBhcmNoZSBzaWVuZG8gYXBsaWNhZG8uIgogCi0jOiBidWlsdGluL2FtLmM6MjI0OQorIzogYnVpbHRpbi9hbS5jOjIyMzcKIG1zZ2lkICJsaWUgYWJvdXQgY29tbWl0dGVyIGRhdGUiCiBtc2dzdHIgIm1lbnRpciBzb2JyZSBsYSBmZWNoYSBkZWwgY29tbWl0dGVyIgogCi0jOiBidWlsdGluL2FtLmM6MjI1MQorIzogYnVpbHRpbi9hbS5jOjIyMzkKIG1zZ2lkICJ1c2UgY3VycmVudCB0aW1lc3RhbXAgZm9yIGF1dGhvciBkYXRlIgogbXNnc3RyICJ1c2FyIGVsIHRpbWVzdGFtcCBhY3R1YWwgcGFyYSBsYSBmZWNoYSBkZWwgYXV0b3IiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUzIGJ1aWx0aW4vY29tbWl0LmM6MTQ4MyBidWlsdGluL21lcmdlLmM6MjczCi0jOiBidWlsdGluL3B1bGwuYzoxODQgYnVpbHRpbi9yZWJhc2UuYzo4OTggYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgzCi0jOiBidWlsdGluL3JldmVydC5jOjExMyBidWlsdGluL3RhZy5jOjQwMgorIzogYnVpbHRpbi9hbS5jOjIyNDEgYnVpbHRpbi9jb21taXQtdHJlZS5jOjEyMCBidWlsdGluL2NvbW1pdC5jOjE1MDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODYgYnVpbHRpbi9wdWxsLmM6MTk0IGJ1aWx0aW4vcmViYXNlLmM6NTA5CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MTMgYnVpbHRpbi9yZXZlcnQuYzoxMTcgYnVpbHRpbi90YWcuYzo0MTgKIG1zZ2lkICJrZXktaWQiCiBtc2dzdHIgImtleS1pZCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTQgYnVpbHRpbi9yZWJhc2UuYzo4OTkgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg0CisjOiBidWlsdGluL2FtLmM6MjI0MiBidWlsdGluL3JlYmFzZS5jOjUxMCBidWlsdGluL3JlYmFzZS5jOjE1MTQKIG1zZ2lkICJHUEctc2lnbiBjb21taXRzIgogbXNnc3RyICJDb21taXRzIGNvbiBmaXJtYSBHUEciCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjU3CisjOiBidWlsdGluL2FtLmM6MjI0NQogbXNnaWQgIihpbnRlcm5hbCB1c2UgZm9yIGdpdC1yZWJhc2UpIgogbXNnc3RyICIodXNvIGludGVybm8gcGFyYSBnaXQtcmViYXNlKSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNzUKKyM6IGJ1aWx0aW4vYW0uYzoyMjYzCiBtc2dpZCAiIgogIlRoZSAtYi8tLWJpbmFyeSBvcHRpb24gaGFzIGJlZW4gYSBuby1vcCBmb3IgbG9uZyB0aW1lLCBhbmRcbiIKICJpdCB3aWxsIGJlIHJlbW92ZWQuIFBsZWFzZSBkbyBub3QgdXNlIGl0IGFueW1vcmUuIgogbXNnc3RyICIiCiAiTGEgb3BjacOzbiAtYi8tLWJpbmFyeSBoYSBlc3RhZG8gZGVzaGFiaWxpdGFkYSBwb3IgbXVjaG8gdGllbXBvLCB5XG4iCi0ic2Vyw6EgcmVtb3ZpZGEuIFBvciBmYXZvciBubyBsYSB1c2UgbcOhcy4iCisic2Vyw6EgZWxpbWluYWRhLiBQb3IgZmF2b3Igbm8gbGEgdXNlIG3DoXMuIgogCi0jOiBidWlsdGluL2FtLmM6MjI4MgorIzogYnVpbHRpbi9hbS5jOjIyNzAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImZhbGzDsyBhbCBsZWVyIGVsIMOtbmRpY2UiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk3CisjOiBidWlsdGluL2FtLmM6MjI4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmV2aW91cyByZWJhc2UgZGlyZWN0b3J5ICVzIHN0aWxsIGV4aXN0cyBidXQgbWJveCBnaXZlbi4iCiBtc2dzdHIgImRpcmVjdG9yaW8gZGUgcmViYXNlIHByZXZpbyAlcyB0b2RhdsOtYSBleGlzdGUgZW4gZWwgbWJveCBkYWRvLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMjEKKyM6IGJ1aWx0aW4vYW0uYzoyMzA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdHJheSAlcyBkaXJlY3RvcnkgZm91bmQuXG4iCkBAIC03NzQ0LDEwICs5NTY2LDE0IEBACiAiRGlyZWN0b3JpbyBleHRyYXZpYWRvICVzIGVuY29udHJhZG8uXG4iCiAiVXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiBwYXJhIGJvcnJhcmxvLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMjcKKyM6IGJ1aWx0aW4vYW0uYzoyMzE1CiBtc2dpZCAiUmVzb2x2ZSBvcGVyYXRpb24gbm90IGluIHByb2dyZXNzLCB3ZSBhcmUgbm90IHJlc3VtaW5nLiIKIG1zZ3N0ciAiT3BlcmFjacOzbiBkZSByZXNvbHVjacOzbiBubyBlc3TDoSBlbiBwcm9ncmVzbywgbm8gdmFtb3MgYSBjb250aW51YXIuIgogCisjOiBidWlsdGluL2FtLmM6MjMyNQorbXNnaWQgImludGVyYWN0aXZlIG1vZGUgcmVxdWlyZXMgcGF0Y2hlcyBvbiB0aGUgY29tbWFuZCBsaW5lIgorbXNnc3RyICJtb2RvIGludGVyYWN0aXZvIHJlcXVpZXJlIHBhcmNoZXMgZW4gbGEgbMOtbmVhIGRlIGNvbWFuZG8iCisKICM6IGJ1aWx0aW4vYXBwbHkuYzo4CiBtc2dpZCAiZ2l0IGFwcGx5IFs8b3B0aW9ucz5dIFs8cGF0Y2g+Li4uXSIKIG1zZ3N0ciAiZ2l0IGFwcGx5IFs8b3BjaW9uZXM+XSBbPHBhcmNoZT4uLi5dIgpAQCAtNzc2NSw4NiArOTU5MSwzMDAgQEAKIG1zZ2lkICJnaXQgYXJjaGl2ZTogUmVtb3RlIHdpdGggbm8gVVJMIgogbXNnc3RyICJnaXQgYXJjaGl2ZTogUmVtb3RlIHNpbiBVUkwiCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjU4CisjOiBidWlsdGluL2FyY2hpdmUuYzo2MQogbXNnaWQgImdpdCBhcmNoaXZlOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgYSBmbHVzaCBwYWNrZXQiCiBtc2dzdHIgImdpdCBhcmNoaXZlOiBzZSBlc3BlcmFiYSBBQ0svTkFLLCBzZSBvYnR1dm8gZmx1c2ggcGFja2V0IgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2MQorIzogYnVpbHRpbi9hcmNoaXZlLmM6NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFyY2hpdmU6IE5BQ0sgJXMiCiBtc2dzdHIgImdpdCBhcmNoaXZlOiBOQUNLICVzIgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2NAorIzogYnVpbHRpbi9hcmNoaXZlLmM6NjUKIG1zZ2lkICJnaXQgYXJjaGl2ZTogcHJvdG9jb2wgZXJyb3IiCiBtc2dzdHIgImdpdCBhcmNoaXZlOiBlcnJvciBkZSBwcm90b2NvbG8iCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY4CisjOiBidWlsdGluL2FyY2hpdmUuYzo2OQogbXNnaWQgImdpdCBhcmNoaXZlOiBleHBlY3RlZCBhIGZsdXNoIgogbXNnc3RyICJnaXQgYXJjaGl2ZTogc2UgZXNwZXJhYmEgdW4gZmx1c2giCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjIyCiBtc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tbmV4dC1hbGwgWy0tbm8tY2hlY2tvdXRdIgogbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1uZXh0LWFsbCBbLS1uby1jaGVja291dF0iCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjIzCiBtc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0td3JpdGUtdGVybXMgPGJhZF90ZXJtPiA8Z29vZF90ZXJtPiIKIG1zZ3N0ciAiZ2l0IGJpc2VjdC0taGVscGVyIC0td3JpdGUtdGVybXMgPG1hbF90w6lybWlubz4gPGJ1ZW5fdMOpcm1pbm8+IgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTQKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNAogbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1jbGVhbi1zdGF0ZSIKIG1zZ3N0ciAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNsZWFuLXN0YXRlIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NDYKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNQorbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1yZXNldCBbPGNvbW1pdD5dIgorbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtcmVzZXQgWzxjb21taXQ+XSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI2Cittc2dpZCAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC13cml0ZSBbLS1uby1sb2ddIDxzdGF0ZT4gPHJldmlzaW9uPiA8Z29vZF90ZXJtPiAiCisiPGJhZF90ZXJtPiIKK21zZ3N0ciAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC13cml0ZSBbLS1uby1sb2ddIDxlc3RhZG8+IDxyZXZpc2lvbj4gPGJ1ZW5fdGVybT4gIgorIjxtYWxfdGVybT4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNworbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2hlY2stYW5kLXNldC10ZXJtcyA8Y29tbWFuZD4gPGdvb2RfdGVybT4gIgorIjxiYWRfdGVybT4iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2hlY2stYW5kLXNldC10ZXJtcyA8Y29tYW5kbz4gPGJ1ZW5fdGVybT4gIgorIjxtYWxfdGVybT4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyOAorbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1uZXh0LWNoZWNrIDxnb29kX3Rlcm0+IDxiYWRfdGVybT4gWzx0ZXJtPl0iCittc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1uZXh0LWNoZWNrIDxidWVuX3Rlcm0+IDxtYWxfdGVybT4gWzx0ZXJtPl0iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyOQorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtdGVybXMgWy0tdGVybS1nb29kIHwgLS10ZXJtLW9sZCB8IC0tdGVybS1iYWQgfCAtLSIKKyJ0ZXJtLW5ld10iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtdGVybXMgWy0tdGVybS1nb29kIHwgLS10ZXJtLW9sZCB8IC0tdGVybS1iYWQgfCAtLSIKKyJ0ZXJtLW5ld10iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozMAorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtc3RhcnQgWy0tdGVybS17b2xkLGdvb2R9PTx0ZXJtPiAtLXRlcm0te25ldyxiYWR9IgorIj08dGVybT5dWy0tbm8tY2hlY2tvdXRdIFs8YmFkPiBbPGdvb2Q+Li4uXV0gWy0tXSBbPHBhdGhzPi4uLl0iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtc3RhcnQgWy0tdGVybS17b2xkLGdvb2R9PTx0w6lybWlubz4gLS10ZXJtLXtuZXcsIgorImJhZH09PHTDqXJtaW5vPl1bLS1uby1jaGVja291dF0gWzxtYWxvPiBbPGJ1ZW5vPi4uLl1dIFstLV0gWzxydXRhcz4uLi5dIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0ZXJtIgogbXNnc3RyICInJXMnIG5vIGVzIHVuIHTDqXJtaW5vIHbDoWxpZG8iCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1MAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IHVzZSB0aGUgYnVpbHRpbiBjb21tYW5kICclcycgYXMgYSB0ZXJtIgogbXNnc3RyICJubyBzZSBwdWVkZSB1c2FyIGVsIGNvbWFuZG8gbmF0aXZvICclcycgY29tbyB1biB0w6lybWlubyIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYwCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgdGVybSAnJXMnIgogbXNnc3RyICJubyBzZSBwdWVkZSBjYW1iaWFyIGVsIHNpZ25pZmljYWRvIGRlbCB0w6lybWlubyAnJXMnIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NzEKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMTEKIG1zZ2lkICJwbGVhc2UgdXNlIHR3byBkaWZmZXJlbnQgdGVybXMiCiBtc2dzdHIgInBvciBmYXZvciB1c2UgZG9zIHTDqXJtaW5vcyBkaWZlcmVudGVzIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NzgKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMTgKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiB0aGUgZmlsZSBCSVNFQ1RfVEVSTVMiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gYWJyaXIgZWwgYXJjaGl2byBCSVNFQ1RfVEVSTVMiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMjAKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2UgYXJlIG5vdCBiaXNlY3RpbmcuXG4iCittc2dzdHIgIk5vIGVzdGFtb3MgYmlzZWNhbmRvLlxuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgY29tbWl0IgorbXNnc3RyICInJXMnIG5vIGVzIHVuIGNvbW1pdCB2w6FsaWRvIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb3VsZCBub3QgY2hlY2sgb3V0IG9yaWdpbmFsIEhFQUQgJyVzJy4gVHJ5ICdnaXQgYmlzZWN0IHJlc2V0IDxjb21taXQ+Jy4iCittc2dzdHIgIiIKKyJubyBzZSBwdWRvIGhhY2VyIGNoZWNrIG91dCBhbCBIRUFEIG9yaWdpbmFsICclcycuIEludGVudGEgJ2dpdCBiaXNlY3QgcmVzZXQgIgorIjxjb21taXQ+Jy4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIGJpc2VjdF93cml0ZSBhcmd1bWVudDogJXMiCittc2dzdHIgIk1hbCBhcmd1bWVudG8gYmlzZWN0X3dyaXRlOiAlcyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjIyMQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBnZXQgdGhlIG9pZCBvZiB0aGUgcmV2ICclcyciCittc2dzdHIgIm5vIHNlIHB1ZWRlIG9idGVuZXIgZWwgb2lkIGRlIGxhIHJldiAnJXMnIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IG9wZW4gdGhlIGZpbGUgJyVzJyIKK21zZ3N0ciAibm8gc2UgcHVkbyBhYnJpciBlbCBhcmNoaXZvICclcyciCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjb21tYW5kOiB5b3UncmUgY3VycmVudGx5IGluIGEgJXMvJXMgYmlzZWN0IgorbXNnc3RyICJDb21hbmRvIGludsOhbGlkbzogYWN0dWFsbWVudGUgc2UgZW5jdWVudHJhIGVuIHVuIGJpc2VjdCAlcy8lcyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IG5lZWQgdG8gZ2l2ZSBtZSBhdCBsZWFzdCBvbmUgJXMgYW5kICVzIHJldmlzaW9uLlxuIgorIllvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCAlc1wiIGFuZCBcImdpdCBiaXNlY3QgJXNcIiBmb3IgdGhhdC4iCittc2dzdHIgIiIKKyJUaWVuZXMgcXVlIGRhciBhbCBtZW5vcyB1biAlcyB5IHVuICVzIHJldmlzaW9uLlxuIgorIlNlIHB1ZWRlIHZlciBcImdpdCBiaXNlY3QgJXNcIiB5IFwiZ2l0IGJpc2VjdCAlc1wiIHBhcmEgZXNvLiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IG5lZWQgdG8gc3RhcnQgYnkgXCJnaXQgYmlzZWN0IHN0YXJ0XCIuXG4iCisiWW91IHRoZW4gbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSAlcyBhbmQgJXMgcmV2aXNpb24uXG4iCisiWW91IGNhbiB1c2UgXCJnaXQgYmlzZWN0ICVzXCIgYW5kIFwiZ2l0IGJpc2VjdCAlc1wiIGZvciB0aGF0LiIKK21zZ3N0ciAiIgorIlRpZW5lcyBxdWUgY29tZW56YXIgcG9yIFwiZ2l0IGJpc2VjdCBzdGFydFwiLlxuIgorIkRlc3B1w6lzIHRpZW5lcyBxdWUgZW50cmVnYXIgYWwgbWVub3MgdW4gJXMgeSB1bmEgcmV2aXNpb24gJXMuXG4iCisiUHVlZGVzIHVzYXIgXCJnaXQgYmlzZWN0ICVzXCIgeSBcImdpdCBiaXNlY3QgJXNcIiBwYXJhIGVzby4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmlzZWN0aW5nIG9ubHkgd2l0aCBhICVzIGNvbW1pdCIKK21zZ3N0ciAiaGFjaWVuZG8gYmlzZWN0IHNvbG8gY29uIHVuIGNvbW1pdCAlcyIKKworIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtZXSBhbmQgW25dIGluIHlvdXIKKyMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKKyMuIGF0IHRoaXMgcG9pbnQuCisjLgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjMzMAorbXNnaWQgIkFyZSB5b3Ugc3VyZSBbWS9uXT8gIgorbXNnc3RyICLCv0VzdMOhcyBzZWd1cm8gW1kvbl0/ICIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjM3NworbXNnaWQgIm5vIHRlcm1zIGRlZmluZWQiCittc2dzdHIgIm5vIGhheSB0w6lybWlub3MgZGVmaW5pZG9zIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGN1cnJlbnQgdGVybXMgYXJlICVzIGZvciB0aGUgb2xkIHN0YXRlXG4iCisiYW5kICVzIGZvciB0aGUgbmV3IHN0YXRlLlxuIgorbXNnc3RyICIiCisiVHVzIHTDqXJtaW5vcyBhY3R1YWxlcyBzb24gJXMgcGFyYSBlbCBlc3RhZG8gdmllam9cbiIKKyJ5ICVzIHBhcmEgZWwgZXN0YWRvIG51ZXZvLlxuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJpbnZhbGlkIGFyZ3VtZW50ICVzIGZvciAnZ2l0IGJpc2VjdCB0ZXJtcycuXG4iCisiU3VwcG9ydGVkIG9wdGlvbnMgYXJlOiAtLXRlcm0tZ29vZHwtLXRlcm0tb2xkIGFuZCAtLXRlcm0tYmFkfC0tdGVybS1uZXcuIgorbXNnc3RyICIiCisiYXJndW1lbnRvIGludsOhbGlkbyAlcyBwYXJhICdnaXQgYmlzZWN0IHRlcm1zJy5cbiIKKyJMYXMgb3BjaW9uZXMgc29wb3J0YWRhcyBzb246IC0tdGVybS1nb29kfC0tdGVybS1vbGQgeSAtLXRlcm0tYmFkfC0tdGVybS1uZXcuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NDc2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb246ICclcyciCittc2dzdHIgIm9wY2nDs24gZGVzY29ub2NpZGE6ICclcyciCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYSB2YWxpZCByZXZpc2lvbiIKK21zZ3N0ciAiJyVzJyBubyBwYXJlY2Ugc2VyIHVuYSByZXZpc2nDs24gdsOhbGlkYSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjUxMgorbXNnaWQgImJhZCBIRUFEIC0gSSBuZWVkIGEgSEVBRCIKK21zZ3N0ciAibWFsIEhFQUQgLSBOZWNlc2l0byB1biBIRUFEIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNraW5nIG91dCAnJXMnIGZhaWxlZC4gVHJ5ICdnaXQgYmlzZWN0IHN0YXJ0IDx2YWxpZC1icmFuY2g+Jy4iCittc2dzdHIgIiIKKyJlcnJvciBhbCBoYWNlciBjaGVja291dCAnJXMnLiBJbnRlbnRlICdnaXQgYmlzZWN0IHN0YXJ0IDxyYW1hLXbDoWxpZGE+Jy4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1NDgKK21zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgorbXNnc3RyICJubyBzZSBiaXNlY2Fyw6EgZW4gdW4gw6FyYm9sIGNvbiBjZy1zZWVrIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTUxCittc2dpZCAiYmFkIEhFQUQgLSBzdHJhbmdlIHN5bWJvbGljIHJlZiIKK21zZ3N0ciAibWFsIEhFQUQgLSByZWYgc2ltYsOzbGljbyBleHRyYcOxbyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHJlZjogJyVzJyIKK21zZ3N0ciAicmVmIGludsOhbGlkbzogJyVzJyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzMQogbXNnaWQgInBlcmZvcm0gJ2dpdCBiaXNlY3QgbmV4dCciCiBtc2dzdHIgInJlYWxpemEgJ2dpdCBiaXNlY3QgbmV4dCciCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMjIKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2MzMKIG1zZ2lkICJ3cml0ZSB0aGUgdGVybXMgdG8gLmdpdC9CSVNFQ1RfVEVSTVMiCiBtc2dzdHIgImVzY3JpYmUgbG9zIHTDqXJtaW5vcyBhIC5naXQvQklTRUNUX1RFUk1TIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTI0CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM1CiBtc2dpZCAiY2xlYW51cCB0aGUgYmlzZWN0aW9uIHN0YXRlIgogbXNnc3RyICJsaW1waWFyIGVsIGVzdGFkbyBkZSBiaXNlY2Npw7NuIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTI2CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM3CiBtc2dpZCAiY2hlY2sgZm9yIGV4cGVjdGVkIHJldnMiCiBtc2dzdHIgInJldmlzYXIgcG9yIHJldnMgZXNwZXJhZG9zIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTI4CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM5Cittc2dpZCAicmVzZXQgdGhlIGJpc2VjdGlvbiBzdGF0ZSIKK21zZ3N0ciAicmVpbmljaWFyIGVsIGVzdGFkbyBkZSBiaXNlY3QiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDEKK21zZ2lkICJ3cml0ZSBvdXQgdGhlIGJpc2VjdGlvbiBzdGF0ZSBpbiBCSVNFQ1RfTE9HIgorbXNnc3RyICJlc2NyaWJpciBlbCBlc3RhZG8gZGUgYmlzZWN0IGVuIEJJU0VDVF9MT0ciCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDMKK21zZ2lkICJjaGVjayBhbmQgc2V0IHRlcm1zIGluIGEgYmlzZWN0aW9uIHN0YXRlIgorbXNnc3RyICJyZXZpc2FyIHkgY29uZmlndXJhciBsb3MgdGVybXMgZW4gZWwgZXN0YWRvIGRlIGJpc2VjdCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0NQorbXNnaWQgImNoZWNrIHdoZXRoZXIgYmFkIG9yIGdvb2QgdGVybXMgZXhpc3QiCittc2dzdHIgInJldmlzYXIgc2kgZXhpc3RlbiB0w6lybWlub3MgbWFsb3MgbyBidWVub3MiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDcKK21zZ2lkICJwcmludCBvdXQgdGhlIGJpc2VjdCB0ZXJtcyIKK21zZ3N0ciAiaW1wcmltaXIgbG9zIHRlcm1zIGRlbCBiaXNlY3QiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDkKK21zZ2lkICJzdGFydCB0aGUgYmlzZWN0IHNlc3Npb24iCittc2dzdHIgImNvbWVuemFyIGxhIHNlc2nDs24gZGUgYmlzZWN0IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjUxCiBtc2dpZCAidXBkYXRlIEJJU0VDVF9IRUFEIGluc3RlYWQgb2YgY2hlY2tpbmcgb3V0IHRoZSBjdXJyZW50IGNvbW1pdCIKIG1zZ3N0ciAiYWN0dWFsaXphIEJJU0VDVF9IRUFEIGVuIGx1Z2FyIGRlIHJldmlzYXIgZWwgY29tbWl0IGFjdHVhbCIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE0MworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY1MworbXNnaWQgIm5vIGxvZyBmb3IgQklTRUNUX1dSSVRFIgorbXNnc3RyICJubyBoYXkgbG9nIHBhcmEgQklTRUNUX1dSSVRFIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjcwCiBtc2dpZCAiLS13cml0ZS10ZXJtcyByZXF1aXJlcyB0d28gYXJndW1lbnRzIgogbXNnc3RyICItLXdyaXRlLXRlcm1zIHJlcXVpZXJlIGRvcyBhcmd1bWVudG9zIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTQ3CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Njc0CiBtc2dpZCAiLS1iaXNlY3QtY2xlYW4tc3RhdGUgcmVxdWlyZXMgbm8gYXJndW1lbnRzIgogbXNnc3RyICItLWJpc2VjdC1jbGVhbi1zdGF0ZSBubyByZXF1aWVyZSBhcmd1bWVudG9zIgogCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjgxCittc2dpZCAiLS1iaXNlY3QtcmVzZXQgcmVxdWlyZXMgZWl0aGVyIG5vIGFyZ3VtZW50IG9yIGEgY29tbWl0IgorbXNnc3RyICItLWJpc2VjdC1yZXNldCByZXF1aWVyZSB1biBjb21taXQgbyBuaW5nw7puIGFyZ3VtZW50byIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY4NQorbXNnaWQgIi0tYmlzZWN0LXdyaXRlIHJlcXVpcmVzIGVpdGhlciA0IG9yIDUgYXJndW1lbnRzIgorbXNnc3RyICItLWJpc2VjdC13cml0ZSByZXF1aWVyZSBlbnRyZSA0IG8gNSBhcmd1bWVudG9zIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjkxCittc2dpZCAiLS1jaGVjay1hbmQtc2V0LXRlcm1zIHJlcXVpcmVzIDMgYXJndW1lbnRzIgorbXNnc3RyICItLWJpc2VjdC1jbGVhbi1zdGF0ZSBubyByZXF1aWVyZSBhcmd1bWVudG9zIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Njk3Cittc2dpZCAiLS1iaXNlY3QtbmV4dC1jaGVjayByZXF1aXJlcyAyIG9yIDMgYXJndW1lbnRzIgorbXNnc3RyICItLWJpc2VjdC1uZXh0LWNoZWNrIHJlcXVpZXJlIDIgbyAzIGFyZ3VtZW50b3MiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo3MDMKK21zZ2lkICItLWJpc2VjdC10ZXJtcyByZXF1aXJlcyAwIG9yIDEgYXJndW1lbnQiCittc2dzdHIgIi0tYmlzZWN0LXRlcm1zIHJlcXVpZXJlIDAgbyAxIGFyZ3VtZW50b3MiCisKICM6IGJ1aWx0aW4vYmxhbWUuYzozMQogbXNnaWQgImdpdCBibGFtZSBbPG9wdGlvbnM+XSBbPHJldi1vcHRzPl0gWzxyZXY+XSBbLS1dIDxmaWxlPiIKIG1zZ3N0ciAiZ2l0IGJsYW1lIFs8b3BjaW9uZXM+XSBbPG9wY2lvbmVzLXJldj5dIFs8cmV2aXNpb24+XSBbLS1dIDxhcmNoaXZvPiIKQEAgLTc4NTMsMTMzICs5ODkzLDE0NiBAQAogbXNnaWQgIjxyZXYtb3B0cz4gYXJlIGRvY3VtZW50ZWQgaW4gZ2l0LXJldi1saXN0KDEpIgogbXNnc3RyICI8cmV2LW9wdHM+IGVzdMOhbiBkb2N1bWVudGFkYXMgZW4gZ2l0LXJldi1saXN0KDEpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6NDA2CisjOiBidWlsdGluL2JsYW1lLmM6NDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGluZyBhIGNvbG9yOiAlcyIKIG1zZ3N0ciAiZXNwZXJhbmRvIHVuIGNvbG9yOiAlcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjQxMworIzogYnVpbHRpbi9ibGFtZS5jOjQxNgogbXNnaWQgIm11c3QgZW5kIHdpdGggYSBjb2xvciIKIG1zZ3N0ciAidGllbmUgcXVlIHRlcm1pbmFyIGNvbiB1biBjb2xvciIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjcwMAorIzogYnVpbHRpbi9ibGFtZS5jOjcyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbG9yICclcycgaW4gY29sb3IuYmxhbWUucmVwZWF0ZWRMaW5lcyIKIG1zZ3N0ciAiY29sb3IgaW52w6FsaWRvICclcycgZW4gY29sb3IuYmxhbWUucmVwZWF0ZWRMaW5lcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjcxOAorIzogYnVpbHRpbi9ibGFtZS5jOjc0NwogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yIGJsYW1lLmNvbG9yaW5nIgogbXNnc3RyICJ2YWxvciBpbnbDoWxpZG8gcGFyYSBibGFtZS5jb2xvcmluZyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5MworIzogYnVpbHRpbi9ibGFtZS5jOjgyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCByZXZpc2lvbiAlcyB0byBpZ25vcmUiCittc2dzdHIgIm5vIHNlIHB1ZG8gZW5jb250cmFyIHJldmlzaW9uICVzIHBhcmEgaWdub3JhciIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg0NAogbXNnaWQgIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiCiBtc2dzdHIgIk1vc3RyYXIgbGFzIGVudHJhZGFzIGJsYW1lIGNvbW8gbGFzIGVuY29udHJhbW9zLCBpbmNyZW1lbnRhbG1lbnRlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Nzk0CisjOiBidWlsdGluL2JsYW1lLmM6ODQ1CiBtc2dpZCAiU2hvdyBibGFuayBTSEEtMSBmb3IgYm91bmRhcnkgY29tbWl0cyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiTW9zdHJhciBTSEEtMSBlbiBibGFuY28gcGFyYSBjb21taXRzIGV4dHJlbW9zIChEZWZhdWx0OiBvZmYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Nzk1CisjOiBidWlsdGluL2JsYW1lLmM6ODQ2CiBtc2dpZCAiRG8gbm90IHRyZWF0IHJvb3QgY29tbWl0cyBhcyBib3VuZGFyaWVzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJObyB0cmF0YXIgY29tbWl0cyByYcOtY2VzIGNvbW8gZXh0cmVtb3MgKERlZmF1bHQ6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDcKIG1zZ2lkICJTaG93IHdvcmsgY29zdCBzdGF0aXN0aWNzIgogbXNnc3RyICJNb3N0cmFyIGVzdGFkw61zdGljYXMgZGUgY29zdG8gZGUgdHJhYmFqbyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5NworIzogYnVpbHRpbi9ibGFtZS5jOjg0OAogbXNnaWQgIkZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiRm9yemFyIGVsIHJlcG9ydGUgZGUgcHJvZ3Jlc28iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDkKIG1zZ2lkICJTaG93IG91dHB1dCBzY29yZSBmb3IgYmxhbWUgZW50cmllcyIKIG1zZ3N0ciAiTW9zdHJhciBsYSBwdW50dWFjacOzbiBkZSBzYWxpZGEgZGUgbGFzIGVudHJhZGFzIGRlIGJsYW1lIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Nzk5CisjOiBidWlsdGluL2JsYW1lLmM6ODUwCiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgIk1vc3RyYXIgbm9tYnJlIG9yaWdpbmFsIGRlbCBhcmNoaXZvIChEZWZhdWx0OiBhdXRvKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwMAorIzogYnVpbHRpbi9ibGFtZS5jOjg1MQogbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiTW9zdHJhciBuw7ptZXJvIGRlIGzDrW5lYSBvcmlnaW5hbCAoRGVmYXVsdDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwMQorIzogYnVpbHRpbi9ibGFtZS5jOjg1MgogbXNnaWQgIlNob3cgaW4gYSBmb3JtYXQgZGVzaWduZWQgZm9yIG1hY2hpbmUgY29uc3VtcHRpb24iCiBtc2dzdHIgIk1vc3RyYXIgZW4gdW4gZm9ybWF0byBkaXNlw7FhZG8gcGFyYSBjb25zdW1vIGRlIG3DoXF1aW5hIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODAyCisjOiBidWlsdGluL2JsYW1lLmM6ODUzCiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICJNb3N0cmFyIGVuIGZvcm1hdG8gcG9yY2VsYW5hIGNvbiBpbmZvcm1hY2nDs24gZGUgY29tbWl0IHBvciBsw61uZWEiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTQKIG1zZ2lkICJVc2UgdGhlIHNhbWUgb3V0cHV0IG1vZGUgYXMgZ2l0LWFubm90YXRlIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJVc2FyIGVsIG1pc21vIG1vZG8gc2FsaWRhIGNvbW8gZ2l0LWFubm90YXRlIChEZWZhdWx0OiBvZmYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA0CisjOiBidWlsdGluL2JsYW1lLmM6ODU1CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJNb3N0cmFyIHRpbWVzdGFtcCBlbiBmb3JtYXRvIHJhdyAoRGVmYXVsdDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwNQorIzogYnVpbHRpbi9ibGFtZS5jOjg1NgogbXNnaWQgIlNob3cgbG9uZyBjb21taXQgU0hBMSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiTW9zdHJhciBTSEExIGRlbCBjb21taXQgZW4gZm9ybWF0byBsYXJnbyAoRGVmYXVsdDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwNgorIzogYnVpbHRpbi9ibGFtZS5jOjg1NwogbXNnaWQgIlN1cHByZXNzIGF1dGhvciBuYW1lIGFuZCB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlN1cHJpbWlyIG5vbWJyZSBkZWwgYXV0b3IgeSB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTgKIG1zZ2lkICJTaG93IGF1dGhvciBlbWFpbCBpbnN0ZWFkIG9mIG5hbWUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIk1vc3RyYXIgZW4gY2FtYmlvIGVsIGVtYWlsIGRlbCBhdXRvciAoRGVmYXVsdDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwOAorIzogYnVpbHRpbi9ibGFtZS5jOjg1OQogbXNnaWQgIklnbm9yZSB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzIgogbXNnc3RyICJJZ25vcmFyIGRpZmVyZW5jaWFzIGRlIGVzcGFjaW9zIGVuIGJsYW5jbyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwOQorIzogYnVpbHRpbi9ibGFtZS5jOjg2MCBidWlsdGluL2xvZy5jOjE3MDIKK21zZ2lkICJyZXYiCittc2dzdHIgInJldiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg2MAorbXNnaWQgIklnbm9yZSA8cmV2PiB3aGVuIGJsYW1pbmciCittc2dzdHIgIklnbm9yYXIgPHJldj4gZHVyYW50ZSBlbCBibGFtZSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg2MQorbXNnaWQgIklnbm9yZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4iCittc2dzdHIgIklnbm9yYXIgcmV2aXNpb25lcyBkZSA8YXJjaGl2bz4iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjIKIG1zZ2lkICJjb2xvciByZWR1bmRhbnQgbWV0YWRhdGEgZnJvbSBwcmV2aW91cyBsaW5lIGRpZmZlcmVudGx5IgotbXNnc3RyICJjb2xvcmVhciBtZXRhZGF0YSByZWR1bmRhbnRlIGRlIGxpbmVhcyBwcmV2aWFzIGRlIG1hbmVyYSBkaWZlcmVudGUiCittc2dzdHIgImNvbG9yZWFyIG1ldGFkYXRhIHJlZHVuZGFudGUgZGUgbMOtbmVhcyBwcmV2aWFzIGRlIG1hbmVyYSBkaWZlcmVudGUiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjMKIG1zZ2lkICJjb2xvciBsaW5lcyBieSBhZ2UiCi1tc2dzdHIgImNvbG9yZWFyIGxpbmVhcyBwb3IgZWRhZCIKK21zZ3N0ciAiY29sb3JlYXIgbMOtbmVhcyBwb3IgZWRhZCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgxNwotbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiCi1tc2dzdHIgIlVzYXIgdW4gaGV1csOtc3RpY28gZXhwZXJpbWVudGFsIHBhcmEgbWVqb3JhciBsb3MgZGlmZnMiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MTkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjQKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgIk9jdXBvIG3DoXMgY2ljbG9zIHBhcmEgZW5jb250cmFyIG1lam9yYXMgcmVzdWx0YWRvcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyMAorIzogYnVpbHRpbi9ibGFtZS5jOjg2NQogbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKIG1zZ3N0ciAiVXNlIHJldmlzaW9uZXMgZGVzZGUgPGFyY2hpdm8+IGVuIGx1Z2FyIGRlIGxsYW1hciBnaXQtcmV2LWxpc3QiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjYKIG1zZ2lkICJVc2UgPGZpbGU+J3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlIgogbXNnc3RyICJVc2FyIGNvbnRlbmlkbyBkZSA8YXJjaGl2bz4gY29tbyBpbWFnZW4gZmluYWwiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjIgYnVpbHRpbi9ibGFtZS5jOjgyMworIzogYnVpbHRpbi9ibGFtZS5jOjg2NyBidWlsdGluL2JsYW1lLmM6ODY4CiBtc2dpZCAic2NvcmUiCiBtc2dzdHIgInB1bnRhamUiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjIKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjcKIG1zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICJFbmNvbnRyYXIgY29waWFzIGRlIGzDrW5lYXMgZW50cmUgeSBhIHRyYXbDqXMgZGUgYXJjaGl2b3MiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjgKIG1zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICJFbmNvbnRyYXIgbW92aW1pZW50b3MgZGUgbMOtbmVhcyBlbnRyZSB5IGEgdHJhdsOpcyBkZSBhcmNoaXZvcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyNAorIzogYnVpbHRpbi9ibGFtZS5jOjg2OQogbXNnaWQgIm4sbSIKIG1zZ3N0ciAibixtIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODI0CisjOiBidWlsdGluL2JsYW1lLmM6ODY5CiBtc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIlByb2Nlc2FyIHNvbG8gZWwgcmFuZ28gZGUgbMOtbmVhcyBuLG0sIGNvbnRhbmRvIGRlc2RlIDEiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4NzMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo5MjEKIG1zZ2lkICItLXByb2dyZXNzIGNhbid0IGJlIHVzZWQgd2l0aCAtLWluY3JlbWVudGFsIG9yIHBvcmNlbGFpbiBmb3JtYXRzIgogbXNnc3RyICItLXByb2dyZXNzIG5vIHB1ZWRlIHNlciB1c2FkbyBjb24gLS1pbmNyZW1lbnRhbCBvIGZvcm1hdG9zIHBvcmNlbGFuYSIKIApAQCAtNzk5MSwxOCArMTAwNDQsMTggQEAKICMuIHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvciBmZXdlciBkaXNwbGF5CiAjLiBjb2x1bW5zLgogIy4KLSM6IGJ1aWx0aW4vYmxhbWUuYzo5MjQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo5NzIKIG1zZ2lkICI0IHllYXJzLCAxMSBtb250aHMgYWdvIgogbXNnc3RyICJoYWNlIDQgYcOxb3MsIDExIG1lc2VzIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MTAxMQorIzogYnVpbHRpbi9ibGFtZS5jOjEwNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZSIKIG1zZ2lkX3BsdXJhbCAiZmlsZSAlcyBoYXMgb25seSAlbHUgbGluZXMiCiBtc2dzdHJbMF0gImFyY2hpdm8gJXMgdGllbmUgc29sbyAlbHUgbMOtbmVhIgogbXNnc3RyWzFdICJhcmNoaXZvICVzIHRpZW5lIHNvbG8gJWx1IGzDrW5lYXMiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoxMDU3CisjOiBidWlsdGluL2JsYW1lLmM6MTEyNQogbXNnaWQgIkJsYW1pbmcgbGluZXMiCiBtc2dzdHIgIkJsYW1pbmcgYSBsw61uZWFzIgogCkBAIC04MDM0LDcgKzEwMDg3LDcgQEAKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1mb3JtYXRdIgogbXNnc3RyICJnaXQgYnJhbmNoIFs8b3BjaW9uZXM+XSBbLXIgfCAtYV0gWy0tZm9ybWF0b10iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTUxCisjOiBidWlsdGluL2JyYW5jaC5jOjE1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBoYXMgYmVlbiBtZXJnZWQgdG9cbiIKQEAgLTgwNDMsNyArMTAwOTYsNyBAQAogImJvcnJhbmRvIGxhIHJhbWEgJyVzJyBxdWUgaGEgc2lkbyBmdXNpb25hZGEgZW5cbiIKICIgICAgICAgICAnJXMnLCBwZXJvIGHDum4gbm8gaGEgc2lkbyBmdXNpb25hZGEgYSBIRUFELiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBpcyBub3QgeWV0IG1lcmdlZCB0b1xuIgpAQCAtODA1MiwxMzAgKzEwMTA1LDEzOSBAQAogIm5vIGJvcnJhbmRvIHJhbWEgJyVzJyBxdWUgdG9kYXbDrWEgbm8gaGEgc2lkbyBmdXNpb25hZGEgXG4iCiAiXHRhICclcycsIGF1bnF1ZSBzZSBmdXNpb25lIGNvbiBIRUFELiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgJyVzJyIKIG1zZ3N0ciAiTm8gc2UgcHVkbyBlbmNvbnRyYXIgZWwgb2JqZXRvIGNvbW1pdCBwYXJhICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTczCisjOiBidWlsdGluL2JyYW5jaC5jOjE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGJyYW5jaCAnJXMnIGlzIG5vdCBmdWxseSBtZXJnZWQuXG4iCiAiSWYgeW91IGFyZSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBpdCwgcnVuICdnaXQgYnJhbmNoIC1EICVzJy4iCiBtc2dzdHIgIiIKICJMYSByYW1hICclcycgbm8gaGEgc2lkbyBmdXNpb25hZGEgY29tcGxldGFtZW50ZS5cbiIKLSJTaSBlc3TDoSBzZWd1cm8gZGUgcXVlcmVyIGJvcnJhcmxhLCBlamVjdXRlICdnaXQgYnJhbmNoIC1EICVzJy4iCisiU2kgZXN0w6FzIHNlZ3VybyBkZSBxdWVyZXIgYm9ycmFybGEsIGVqZWN1dGEgJ2dpdCBicmFuY2ggLUQgJXMnLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxODYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTg5CiBtc2dpZCAiVXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAiRmFsbMOzIGRlIGFjdHVhbGl6YWNpw7NuIGRlIGNvbmZpZy1maWxlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIxNworIzogYnVpbHRpbi9icmFuY2guYzoyMjAKIG1zZ2lkICJjYW5ub3QgdXNlIC1hIHdpdGggLWQiCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIHVzYXItYSBjb24gLWQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjIzCisjOiBidWlsdGluL2JyYW5jaC5jOjIyNgogbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgSEVBRCIKIG1zZ3N0ciAiTm8gc2UgcHVkbyByZXZpc2FyIGVsIG9iamV0byBjb21taXQgcGFyYSBIRUFEIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIzNworIzogYnVpbHRpbi9icmFuY2guYzoyNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBicmFuY2ggJyVzJyBjaGVja2VkIG91dCBhdCAnJXMnIgogbXNnc3RyICJObyBzZSBwdWVkZSBib3JyYXIgcmFtYSAnJXMnIHF1ZSBjdWVudGEgY29uIGNoZWNrb3V0IGVuICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjUyCisjOiBidWlsdGluL2JyYW5jaC5jOjI1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAicmFtYSBkZSByYXN0cmVvIHJlbW90byAnJXMnIG5vIGVuY29udHJhZGEuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI1MworIzogYnVpbHRpbi9icmFuY2guYzoyNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAicmFtYSAnJXMnIG5vIGVuY29udHJhZGEuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI2OAorIzogYnVpbHRpbi9icmFuY2guYzoyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIgogbXNnc3RyICJFcnJvciBhbCBlbGltaW5hciBsYSByYW1hIGRlIHJhc3RyZW8gcmVtb3RhICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjY5CisjOiBidWlsdGluL2JyYW5jaC5jOjI3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvciBkZWxldGluZyBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiRXJyb3IgYWwgZWxpbWluYXIgbGEgcmFtYSAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI3NgorIzogYnVpbHRpbi9icmFuY2guYzoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRlZCByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICJFbGltaW5hZGEgbGEgcmFtYSBkZSByYXN0cmVvIHJlbW90YSAlcyAoZXJhICVzKS5cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICJFbGltaW5hZGEgbGEgcmFtYSAlcyAoZXJhICVzKS4uXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDIxIGJ1aWx0aW4vdGFnLmM6NTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDI5IGJ1aWx0aW4vdGFnLmM6NjEKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgZm9ybWF0IHN0cmluZyIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBhbmFsaXphciBlbCBzdHJpbmcgZGUgZm9ybWF0byIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDYwCittc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCIKK21zZ3N0ciAibm8gc2UgcHVkbyByZXNvbHZlciBIRUFEIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ2NgorIywgYy1mb3JtYXQKK21zZ2lkICJIRUFEICglcykgcG9pbnRzIG91dHNpZGUgb2YgcmVmcy9oZWFkcy8iCittc2dzdHIgIkhFQUQgKCVzKSBhcHVudGEgZnVlcmEgZGUgcmVmcy9oZWFkcy8iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyByZWJhc2VkIGF0ICVzIgogbXNnc3RyICJSYW1hICVzIGVzdMOhIHNpZW5kbyByZWJhc2FkYSBlbiAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyBiaXNlY3RlZCBhdCAlcyIKIG1zZ3N0ciAiUmFtYSAlcyBlc3TDoSBzaWVuZG8gYmlzZWNhZGEgZW4gJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDc5CisjOiBidWlsdGluL2JyYW5jaC5jOjUwMgogbXNnaWQgImNhbm5vdCBjb3B5IHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgY29waWFyIGxhIHJhbWEgYWN0dWFsIG1pZW50cmFzIG5vIHNlIGVzdMOhIGVuIG5pbmd1bmEuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ4MQorIzogYnVpbHRpbi9icmFuY2guYzo1MDQKIG1zZ2lkICJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgcmVub21icmFyIGxhIHJhbWEgYWN0dWFsIG1pZW50cmFzIG5vIHNlIGVzdMOhIGVuIG5pbmd1bmEuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ5MgorIzogYnVpbHRpbi9icmFuY2guYzo1MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBicmFuY2ggbmFtZTogJyVzJyIKIG1zZ3N0ciAiTm9tYnJlIGRlIHJhbWEgaW52w6FsaWRvOiAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUxOQorIzogYnVpbHRpbi9icmFuY2guYzo1NDIKIG1zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKIG1zZ3N0ciAiQ2FtYmlvIGRlIG5vbWJyZSBkZSByYW1hIGZhbGxpZG8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTIxCisjOiBidWlsdGluL2JyYW5jaC5jOjU0NAogbXNnaWQgIkJyYW5jaCBjb3B5IGZhaWxlZCIKIG1zZ3N0ciAiQ29waWFkbyBkZSByYW1hIGZhbGxpZG8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTI1CisjOiBidWlsdGluL2JyYW5jaC5jOjU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGEgY29weSBvZiBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIgogbXNnc3RyICJDb3BpYSBjcmVhZGEgZGUgbGEgcmFtYSBtYWxub21icmFkYSAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUyOAorIzogYnVpbHRpbi9icmFuY2guYzo1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1lZCBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIGF3YXkiCiBtc2dzdHIgIlJhbWEgbWFsIGxsYW1hZGEgJyVzJyByZW5vbWJyYWRhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUzNAorIzogYnVpbHRpbi9icmFuY2guYzo1NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoIHJlbmFtZWQgdG8gJXMsIGJ1dCBIRUFEIGlzIG5vdCB1cGRhdGVkISIKIG1zZ3N0ciAiwqFSYW1hIHJlbm9tYnJhZGEgYSAlcywgcGVybyBIRUFEIG5vIGVzdMOhIGFjdHVhbGl6YWRvISIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY2CiBtc2dpZCAiQnJhbmNoIGlzIHJlbmFtZWQsIGJ1dCB1cGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICIiCiAiTGEgcmFtYSBlc3TDoSByZW5vbWJyYWRhLCBwZXJvIGZhbGzDsyBsYSBhY3R1YWxpemFjacOzbiBkZWwgYXJjaGl2byBkZSAiCiAiY29uZmlndXJhY2nDs24iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQ1CisjOiBidWlsdGluL2JyYW5jaC5jOjU2OAogbXNnaWQgIkJyYW5jaCBpcyBjb3BpZWQsIGJ1dCB1cGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICIiCiAiTGEgcmFtYSBlc3TDoSBjb3BpYWRhLCBwZXJvIGZhbGzDsyBsYSBhY3R1YWxpemFjacOzbiBkZWwgYXJjaGl2byBkZSAiCiAiY29uZmlndXJhY2nDs24iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYxCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoXG4iCkBAIC04MTg0LDE4OCArMTAyNDYsMTgyIEBACiBtc2dzdHIgIiIKICJQb3IgZmF2b3IsIGVkaXRhIGxhIGRlc2NyaXBjacOzbiBwYXJhIGxhIHJhbWFcbiIKICIlc1xuIgotIkxhcyBsw61uZWFzIHF1ZSBjb21pZW5jZW4gY29uICclYycgc2Vyw6FuIHJlbW92aWRhcy5cbiIKKyJMYXMgbMOtbmVhcyBxdWUgY29taWVuY2VuIGNvbiAnJWMnIHNlcsOhbiBlbGltaW5hZGFzLlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NAorIzogYnVpbHRpbi9icmFuY2guYzo2MTgKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCiBtc2dzdHIgIk9wY2lvbmVzIGdlbsOpcmljYXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk2CisjOiBidWlsdGluL2JyYW5jaC5jOjYyMAogbXNnaWQgInNob3cgaGFzaCBhbmQgc3ViamVjdCwgZ2l2ZSB0d2ljZSBmb3IgdXBzdHJlYW0gYnJhbmNoIgogbXNnc3RyICJtb3N0cmFyIGhhc2ggeSB0ZW1hLCBkYXIgZG9zIHZlY2VzIHBhcmEgcmFtYSB1cHN0cmVhbSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIxCiBtc2dpZCAic3VwcHJlc3MgaW5mb3JtYXRpb25hbCBtZXNzYWdlcyIKIG1zZ3N0ciAic3VwcmltaXIgbWVuc2FqZXMgaW5mb3JtYXRpdm9zIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5OAorIzogYnVpbHRpbi9icmFuY2guYzo2MjIKIG1zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1wdWxsKDEpKSIKIG1zZ3N0ciAiY29uZmlndXJhbmRvIG1vZG8gdHJhY2tpbmcgKG1pcmFyIGdpdC1wdWxsKDEpKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI0CiBtc2dpZCAiZG8gbm90IHVzZSIKIG1zZ3N0ciAibm8gdXNhciIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDIgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgwCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNiBidWlsdGluL3JlYmFzZS5jOjUwNQogbXNnaWQgInVwc3RyZWFtIgogbXNnc3RyICJ1cHN0cmVhbSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI2CiBtc2dpZCAiY2hhbmdlIHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICJjYW1iaWFyIGluZm8gZGUgdXBzdHJlYW0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAzCi1tc2dpZCAiVW5zZXQgdGhlIHVwc3RyZWFtIGluZm8iCi1tc2dzdHIgIkRlc2NvbmZpZ3VyYW5kbyBsYSBpbmZvIGRlIHVwc3RyZWFtIgorIzogYnVpbHRpbi9icmFuY2guYzo2MjcKK21zZ2lkICJ1bnNldCB0aGUgdXBzdHJlYW0gaW5mbyIKK21zZ3N0ciAiZGVzY29uZmlndXJhbmRvIGxhIGluZm8gZGUgdXBzdHJlYW0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjA0CisjOiBidWlsdGluL2JyYW5jaC5jOjYyOAogbXNnaWQgInVzZSBjb2xvcmVkIG91dHB1dCIKIG1zZ3N0ciAidXNhciBzYWxpZGEgY29uIGNvbG9yZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjA1CisjOiBidWlsdGluL2JyYW5jaC5jOjYyOQogbXNnaWQgImFjdCBvbiByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgImFjdHVhciBlbiByYW1hcyBkZSB0cmFxdWVvIHJlbW90byIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDcgYnVpbHRpbi9icmFuY2guYzo2MDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMxIGJ1aWx0aW4vYnJhbmNoLmM6NjMzCiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAibW9zdHJhciBzb2xvIHJhbWFzIHF1ZSBjb250aWVuZW4gZWwgY29tbWl0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwOCBidWlsdGluL2JyYW5jaC5jOjYxMAorIzogYnVpbHRpbi9icmFuY2guYzo2MzIgYnVpbHRpbi9icmFuY2guYzo2MzQKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJtb3N0cmFyIHNvbG8gcmFtYXMgcXVlIG5vIGNvbnRpZW5lbiBlbCBjb21taXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjEzCisjOiBidWlsdGluL2JyYW5jaC5jOjYzNwogbXNnaWQgIlNwZWNpZmljIGdpdC1icmFuY2ggYWN0aW9uczoiCiBtc2dzdHIgIkFjY2lvbmVzIGVzcGVjw61maWNhcyBkZSBnaXQtYnJhbmNoOiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM4CiBtc2dpZCAibGlzdCBib3RoIHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgImxpc3RhcsKgcmFtYXMgZGUgcmVtb3RlLXRyYWNraW5nIHkgbG9jYWxlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQwCiBtc2dpZCAiZGVsZXRlIGZ1bGx5IG1lcmdlZCBicmFuY2giCiBtc2dzdHIgImJvcnJhciByYW1hcyB0b3RhbG1lbnRlIGZ1c2lvbmFkYXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE3CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MQogbXNnaWQgImRlbGV0ZSBicmFuY2ggKGV2ZW4gaWYgbm90IG1lcmdlZCkiCiBtc2dzdHIgImJvcnJhciByYW1hIChpbmNsdXNvIHNpIG5vIGVzdMOhIGZ1c2lvbmFkYSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE4CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MgogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIgogbXNnc3RyICJtb3Zlci9yZW5vbWJyYXIgdW5hIHJhbWEgeSBzdSByZWZsb2ciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE5CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MwogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgIm1vdmVyL3Jlbm9tYnJhciB1bmEgcmFtYSwgaW5jbHVzbyBzaSBlbCBkZXN0aW5vIGV4aXN0ZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ0CiBtc2dpZCAiY29weSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKIG1zZ3N0ciAiY29waWFyIHVuYSByYW1hIHkgc3UgcmVmbG9nIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMQorIzogYnVpbHRpbi9icmFuY2guYzo2NDUKIG1zZ2lkICJjb3B5IGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgImNvcGlhciB1bmEgcmFtYSwgaW5jbHVzbyBzaSBlbCBvYmpldGl2byBleGlzdGUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIyCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NgogbXNnaWQgImxpc3QgYnJhbmNoIG5hbWVzIgogbXNnc3RyICJsaXN0YXIgbm9tYnJlcyBkZSByYW1hcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ3Cittc2dpZCAic2hvdyBjdXJyZW50IGJyYW5jaCBuYW1lIgorbXNnc3RyICJtdWVzdHJhIGVsIG5vbWJyZSBkZSBicmFuY2ggYWN0dWFsIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY0OAogbXNnaWQgImNyZWF0ZSB0aGUgYnJhbmNoJ3MgcmVmbG9nIgogbXNnc3RyICJjcmVhIGVsIHJlZmxvZyBkZSBsYSByYW1hIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyNQorIzogYnVpbHRpbi9icmFuY2guYzo2NTAKIG1zZ2lkICJlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaCIKIG1zZ3N0ciAiZWRpdGEgbGEgZGVzY3JpcGNpw7NuIGRlIGxhIHJhbWEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI2CisjOiBidWlsdGluL2JyYW5jaC5jOjY1MQogbXNnaWQgImZvcmNlIGNyZWF0aW9uLCBtb3ZlL3JlbmFtZSwgZGVsZXRpb24iCiBtc2dzdHIgImZ1ZXJ6YSBsYSBjcmVhY2nDs24sbW92aW1pZW50by9yZW5vbWJyYWRvLGJvcnJhZG8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI3CisjOiBidWlsdGluL2JyYW5jaC5jOjY1MgogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBhcmUgbWVyZ2VkIgogbXNnc3RyICJtdWVzdHJhIHNvbG8gcmFtYXMgcXVlIGhhbiBzaWRvIGZ1c2lvbmFkYXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI4CisjOiBidWlsdGluL2JyYW5jaC5jOjY1MwogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAibXVlc3RyYSBzb2xvIHJhbWFzIHF1ZSBubyBoYW4gc2lkbyBmdXNpb25hZGFzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyOQorIzogYnVpbHRpbi9icmFuY2guYzo2NTQKIG1zZ2lkICJsaXN0IGJyYW5jaGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgIm11ZXN0cmEgbGFzIHJhbWFzIGVuIGNvbHVtbmFzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzMCBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzAKLSM6IGJ1aWx0aW4vdGFnLmM6NDE1Ci1tc2dpZCAia2V5IgotbXNnc3RyICJjbGF2ZSIKLQotIzogYnVpbHRpbi9icmFuY2guYzo2MzEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MSBidWlsdGluL2xzLXJlbW90ZS5jOjcxCi0jOiBidWlsdGluL3RhZy5jOjQxNgotbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKLW1zZ3N0ciAibm9tYnJlIGRlbCBjYW1wbyBwb3IgZWwgY3XDoWwgb3JkZW5hciIKLQotIzogYnVpbHRpbi9icmFuY2guYzo2MzMgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MyBidWlsdGluL25vdGVzLmM6NDE1Ci0jOiBidWlsdGluL25vdGVzLmM6NDE4IGJ1aWx0aW4vbm90ZXMuYzo1NzggYnVpbHRpbi9ub3Rlcy5jOjU4MQotIzogYnVpbHRpbi90YWcuYzo0MTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU3IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDIgYnVpbHRpbi9ub3Rlcy5jOjQxNQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxOCBidWlsdGluL25vdGVzLmM6NTgxIGJ1aWx0aW4vbm90ZXMuYzo1ODQKKyM6IGJ1aWx0aW4vdGFnLmM6NDMzCiBtc2dpZCAib2JqZWN0IgogbXNnc3RyICJvYmpldG8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM0CisjOiBidWlsdGluL2JyYW5jaC5jOjY1OAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAiaW1wcmltaXIgc8OzbG8gbGFzIHJhbWFzIGRlbCBvYmpldG8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM2IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDkgYnVpbHRpbi90YWcuYzo0MjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDggYnVpbHRpbi90YWcuYzo0NDAKIG1zZ2lkICJzb3J0aW5nIGFuZCBmaWx0ZXJpbmcgYXJlIGNhc2UgaW5zZW5zaXRpdmUiCiBtc2dzdHIgIm9yZGVuYW1pZW50byB5IGZpbHRyYWRvIHNvbiBjYXNlLWluc2Vuc2l0aXZlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzNyBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6NDIzCi0jOiBidWlsdGluL3ZlcmlmeS10YWcuYzozOQorIzogYnVpbHRpbi9icmFuY2guYzo2NjEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOCBidWlsdGluL3RhZy5jOjQzOAorIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzgKIG1zZ2lkICJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IgogbXNnc3RyICJmb3JtYXRvIHBhcmEgdXNhciBwYXJhIGVsIG91dHB1dCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NjAgYnVpbHRpbi9jbG9uZS5jOjczOQorIzogYnVpbHRpbi9icmFuY2guYzo2ODQgYnVpbHRpbi9jbG9uZS5jOjc4NAogbXNnaWQgIkhFQUQgbm90IGZvdW5kIGJlbG93IHJlZnMvaGVhZHMhIgotbXNnc3RyICJIRUFEIG5vIGVuY29udHJhZG8gYWJham8gZGUgcmVmcy9oZWFkcyEiCittc2dzdHIgIsKhSEVBRCBubyBlbmNvbnRyYWRvIGFiYWpvIGRlIHJlZnMvaGVhZHMhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MworIzogYnVpbHRpbi9icmFuY2guYzo3MDgKIG1zZ2lkICItLWNvbHVtbiBhbmQgLS12ZXJib3NlIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tY29sdW1uIHkgLS12ZXJib3NlIHNvbiBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY5OCBidWlsdGluL2JyYW5jaC5jOjc0OSBidWlsdGluL2JyYW5jaC5jOjc1OAorIzogYnVpbHRpbi9icmFuY2guYzo3MjMgYnVpbHRpbi9icmFuY2guYzo3NzcgYnVpbHRpbi9icmFuY2guYzo3ODYKIG1zZ2lkICJicmFuY2ggbmFtZSByZXF1aXJlZCIKIG1zZ3N0ciAic2UgbmVjZXNpdGEgZWwgbm9tYnJlIGRlIGxhIHJhbWEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzI1CisjOiBidWlsdGluL2JyYW5jaC5jOjc1MwogbXNnaWQgIkNhbm5vdCBnaXZlIGRlc2NyaXB0aW9uIHRvIGRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIk5vIHNlIHB1ZWRlIGRhciBkZXNjcmlwY2nDs24gYWwgSEVBRCBkZXNhY29wbGFkbyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzU4CiBtc2dpZCAiY2Fubm90IGVkaXQgZGVzY3JpcHRpb24gb2YgbW9yZSB0aGFuIG9uZSBicmFuY2giCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGVkaXRhciBsYSBkZXNjcmlwY2nDs24gZGUgbcOhcyBkZSB1bmEgcmFtYSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGNvbW1pdCBvbiBicmFuY2ggJyVzJyB5ZXQuIgogbXNnc3RyICJBw7puIG5vIGhheSBjb21taXRzIGVuIGxhIHJhbWEgJyVzJy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQwCisjOiBidWlsdGluL2JyYW5jaC5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBicmFuY2ggbmFtZWQgJyVzJy4iCiBtc2dzdHIgIk5vIGhheSBuaW5ndW5hIHJhbWEgbGxhbWFkYSAnJXMnLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzgzCiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgY29weSBvcGVyYXRpb24iCiBtc2dzdHIgImRlbWFzaWFkYXMgcmFtYXMgcGFyYSB1bmEgb3BlcmFjacOzbiBkZSBjb3BpYWRvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc2NAorIzogYnVpbHRpbi9icmFuY2guYzo3OTIKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMgZm9yIGEgcmVuYW1lIG9wZXJhdGlvbiIKIG1zZ3N0ciAiZGVtYXNpYWRvcyBhcmd1bWVudG9zIHBhcmEgdW5hIG9wZXJhY2nDs24gZGUgcmVub21icmFkbyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk3CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIHRvIHNldCBuZXcgdXBzdHJlYW0iCiBtc2dzdHIgImRlbWFzaWFkb3MgYXJndW1lbnRvcyBwYXJhIGNvbmZpZ3VyYXIgdW4gbnVldm8gdXBzdHJlYW0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzczCisjOiBidWlsdGluL2JyYW5jaC5jOjgwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IHNldCB1cHN0cmVhbSBvZiBIRUFEIHRvICVzIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCkBAIC04MzczLDM3ICsxMDQyOSw0MCBAQAogIm5vIHNlIHB1ZG8gY29uZmlndXJhciB1cHN0cmVhbSBkZSBIRUFEIGEgJXMgY3VhbmRvIGVzdGUgbm8gYXB1bnRhIGEgbmluZ3VuYSAiCiAicmFtYS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzc2IGJ1aWx0aW4vYnJhbmNoLmM6Nzk4CisjOiBidWlsdGluL2JyYW5jaC5jOjgwNCBidWlsdGluL2JyYW5jaC5jOjgyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaCAnJXMnIgogbXNnc3RyICJubyBoYXkgdGFsIHJhbWEgJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3ODAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJsYSByYW1hICclcycgbm8gZXhpc3RlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5MgorIzogYnVpbHRpbi9icmFuY2guYzo4MjEKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMgdG8gdW5zZXQgdXBzdHJlYW0iCiBtc2dzdHIgImRlbWFzaWFkb3MgYXJndW1lbnRvcyBwYXJhIGRlc2NvbmZpZ3VyYXIgdXBzdHJlYW0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk2CisjOiBidWlsdGluL2JyYW5jaC5jOjgyNQogbXNnaWQgImNvdWxkIG5vdCB1bnNldCB1cHN0cmVhbSBvZiBIRUFEIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIiIKICJubyBzZSBwdWVkZSBkZXNjb25maWd1cmFyIHVwc3RyZWFtIGRlIEhFQUQgY3VhbmRvIGVzdGUgbm8gYXB1bnRhIGEgbmluZ3VuYSAiCiAicmFtYS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAyCisjOiBidWlsdGluL2JyYW5jaC5jOjgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBoYXMgbm8gdXBzdHJlYW0gaW5mb3JtYXRpb24iCiBtc2dzdHIgIlJhbWEgJyVzJyBubyB0aWVuZSBpbmZvcm1hY2nDs24gZGUgdXBzdHJlYW0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODEyCi1tc2dpZCAiLWEgYW5kIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCBtYWtlIHNlbnNlIHdpdGggYSBicmFuY2ggbmFtZSIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQxCittc2dpZCAiIgorIlRoZSAtYSwgYW5kIC1yLCBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgdGFrZSBhIGJyYW5jaCBuYW1lLlxuIgorIkRpZCB5b3UgbWVhbiB0byB1c2U6IC1hfC1yIC0tbGlzdCA8cGF0dGVybj4/IgogbXNnc3RyICIiCi0ib3BjaW9uZXMgLWEgeSAtciBwYXJhICdnaXQgYnJhbmNoJyBubyB0aWVuZW4gc2VudGlkbyBjb24gdW4gbm9tYnJlIGRlIHJhbWEiCisiTGFzIG9wY2lvbmVzIC1hLCB5IC1yLCBkZSAnZ2l0IGJyYW5jaCcgbm8gdG9tYW4gdW4gbm9tYnJlIGRlIHJhbWEuXG4iCisiwr9RdWlzaXN0ZSB1c2FyOiAtYXwtciAtLWxpc3QgPHBhdHLDs24+PyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQ1CiBtc2dpZCAiIgogInRoZSAnLS1zZXQtdXBzdHJlYW0nIG9wdGlvbiBpcyBubyBsb25nZXIgc3VwcG9ydGVkLiBQbGVhc2UgdXNlICctLXRyYWNrJyBvciAiCiAiJy0tc2V0LXVwc3RyZWFtLXRvJyBpbnN0ZWFkLiIKQEAgLTg0MTEsMjAgKzEwNDcwLDY1IEBACiAibGEgb3BjacOzbiAnLS1zZXQtdXBzdHJlYW0nIHlhIG5vIGVzIHNvcG9ydGFkYS4gQ29uc2lkZXJlIHVzYXIgJy0tdHJhY2snIG8gJy0tIgogInNldC11cHN0cmVhbS10bycgZW4gY2FtYmlvLiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo0NQorIzogYnVpbHRpbi9idW5kbGUuYzoxNSBidWlsdGluL2J1bmRsZS5jOjIzCittc2dpZCAiZ2l0IGJ1bmRsZSBjcmVhdGUgWzxvcHRpb25zPl0gPGZpbGU+IDxnaXQtcmV2LWxpc3QgYXJncz4iCittc2dzdHIgImdpdCBidW5kbGUgY3JlYXRlIFs8b3BjaW9uZXM+XSA8ZmlsZT4gPGdpdC1yZXYtbGlzdCBhcmdzPiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxNiBidWlsdGluL2J1bmRsZS5jOjI4Cittc2dpZCAiZ2l0IGJ1bmRsZSB2ZXJpZnkgWzxvcHRpb25zPl0gPGZpbGU+IgorbXNnc3RyICJnaXQgYnVuZGxlIHZlcmlmeSBbPG9wY2lvbmVzPl0gPGFyY2hpdm8+IgorCisjOiBidWlsdGluL2J1bmRsZS5jOjE3IGJ1aWx0aW4vYnVuZGxlLmM6MzMKK21zZ2lkICJnaXQgYnVuZGxlIGxpc3QtaGVhZHMgPGZpbGU+IFs8cmVmbmFtZT4uLi5dIgorbXNnc3RyICJnaXQgYnVuZGxlIGxpc3QtaGVhZHMgPGFyY2hpdm8+IFs8bm9tYnJlLWRlLXJlZj4uLi5dIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjE4IGJ1aWx0aW4vYnVuZGxlLmM6MzgKK21zZ2lkICJnaXQgYnVuZGxlIHVuYnVuZGxlIDxmaWxlPiBbPHJlZm5hbWU+Li4uXSIKK21zZ3N0ciAiZ2l0IGJ1bmRsZSB1bmJ1bmRsZSA8YXJjaGl2bz4gWzxub21icmUtZGUtcmVmPi4uLl0iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NjYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjI4Cittc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCittc2dzdHIgIm5vIG1vc3RyYXIgbWVkaWRvciBkZSBwcm9ncmVzbyIKKworIzogYnVpbHRpbi9idW5kbGUuYzo2OCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzAKK21zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgorbXNnc3RyICJtb3N0cmFyIG1lZGlkb3IgZGUgcHJvZ3Jlc28iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjMyCittc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCittc2dzdHIgIm1vc3RyYXIgbWVkaWRvciBkZSBwcm9ncmVzbyBkdXJhbnRlIGxhIGZhc2UgZGUgZXNjcml0dXJhIGRlIG9iamV0byIKKworIzogYnVpbHRpbi9idW5kbGUuYzo3MyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzUKK21zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCittc2dzdHIgInNpbWlsYXIgYSAtLWFsbC1wcm9ncmVzcyBjdWFuZG8gbWVkaWRvciBkZSBwcm9ncmVzbyBlcyBtb3N0cmFkbyIKKworIzogYnVpbHRpbi9idW5kbGUuYzo5MworbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIGNyZWF0ZSBhIGJ1bmRsZS4iCittc2dzdHIgIlNlIG5lY2VzaXRhIHVuIHJlcG9zaXRvcmlvIHBhcmEgYWdydXBhci4iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTA0Cittc2dpZCAiZG8gbm90IHNob3cgYnVuZGxlIGRldGFpbHMiCittc2dzdHIgIm5vIG1vc3RyYXIgZGV0YWxsZXMgZGVsIGJ1bmRsZSIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgb2theVxuIgogbXNnc3RyICIlcyBlc3TDoSBiaWVuXG4iCiAKLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NTgKLW1zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byBjcmVhdGUgYSBidW5kbGUuIgotbXNnc3RyICJTZSBuZWNlc2l0YSB1biByZXBvc2l0b3JpbyBwYXJhIGFncnVwYXIuIgotCi0jOiBidWlsdGluL2J1bmRsZS5jOjYyCisjOiBidWlsdGluL2J1bmRsZS5jOjE2MAogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAiU2UgbmVjZXNpdGEgdW4gcmVwb3NpdG9yaW8gcGFyYSBkZXNhZ3J1cGFyLiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU4NworIzogYnVpbHRpbi9idW5kbGUuYzoxNjggYnVpbHRpbi9yZW1vdGUuYzoxNjA5Cittc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKK21zZ3N0ciAic2VyIHZlcmJvc287IHRpZW5lIHF1ZSBzZXIgYWdyZWdhZG8gYW50ZXMgZGUgdW4gc3ViY29tYW5kbyIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzoxNjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCittc2dzdHIgIlN1Yi1jb21hbmRvIGRlc2Nvbm9jaWRvOiAlcyIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU5NQogbXNnaWQgIiIKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCA8dHlwZT4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxwYXRoPl0gPG9iamVjdD4iCkBAIC04NDMyLDcgKzEwNTM2LDcgQEAKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCA8dGlwbz4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxydXRhPl0gPG9iamV0bz4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1ODgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1OTYKIG1zZ2lkICIiCiAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgogImZpbHRlcnNdIgpAQCAtODQ0MCwxMzMgKzEwNTQ0LDEzMyBAQAogImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKICJmaWx0ZXJzXSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYwOQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYxNwogbXNnaWQgIm9ubHkgb25lIGJhdGNoIG9wdGlvbiBtYXkgYmUgc3BlY2lmaWVkIgogbXNnc3RyICJzb2xvIHNlIHB1ZWRlIGVzcGVjaWZpY2FyIHVuYSBvcGNpw7NuIGJhdGNoIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjI3CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM1CiBtc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogbXNnc3RyICI8dGlwbz4gcHVlZGUgc2VyOiBibG9iLCB0cmVlLCBjb21taXQsIHRhZyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYyOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNgogbXNnaWQgInNob3cgb2JqZWN0IHR5cGUiCiBtc2dzdHIgIm1vc3RyYXIgZWwgdGlwbyBkZWwgb2JqZXRvIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjI5CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM3CiBtc2dpZCAic2hvdyBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAibW9zdHJhciBlbCB0YW1hw7FvIGRlbCBvYmpldG8iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzkKIG1zZ2lkICJleGl0IHdpdGggemVybyB3aGVuIHRoZXJlJ3Mgbm8gZXJyb3IiCiBtc2dzdHIgInNhbGlyIGNvbiBjZXJvIGN1YW5kbyBubyBoYXlhIGVycm9yIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjMyCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQwCiBtc2dpZCAicHJldHR5LXByaW50IG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgInJlYWxpemFyIHByZXR0eS1wcmludCBkZWwgY29udGVuaWRvIGRlbCBvYmpldG8iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzQKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDIKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gdGV4dGNvbnYgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAicGFyYSBvYmpldG9zIGJsb2IsIGVqZWN1dGEgdGV4dGNvbnYgZW4gZWwgY29udGVuaWRvIGRlbCBvYmpldG8iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzYKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDQKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gZmlsdGVycyBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJwYXJhIG9iamV0b3MgYmxvYiwgZWplY3V0YSBmaWx0ZXJzIGVuIGVsIGNvbnRlbmlkbyBkZWwgb2JqZXRvIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjM3IGdpdC1zdWJtb2R1bGUuc2g6ODU3CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQ1IGdpdC1zdWJtb2R1bGUuc2g6OTkyCiBtc2dpZCAiYmxvYiIKIG1zZ3N0ciAiYmxvYiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NgogbXNnaWQgInVzZSBhIHNwZWNpZmljIHBhdGggZm9yIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgogbXNnc3RyICJ1c2UgdW5hIHJ1dGEgZXNwZWPDrWZpY2EgcGFyYSAtLXRleHRjb252Ly0tZmlsdGVycyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0MAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0OAogbXNnaWQgImFsbG93IC1zIGFuZCAtdCB0byB3b3JrIHdpdGggYnJva2VuL2NvcnJ1cHQgb2JqZWN0cyIKIG1zZ3N0ciAicGVybWl0YSAtcyB5IC10IHBhcmEgdHJhYmFqYXIgY29uIG9iamV0b3Mgcm90b3MgbyBjb3JydXB0b3MiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDkKIG1zZ2lkICJidWZmZXIgLS1iYXRjaCBvdXRwdXQiCiBtc2dzdHIgInNhbGlkYSBidWZmZXIgLS1iYXRjaCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0MworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1MQogbXNnaWQgInNob3cgaW5mbyBhbmQgY29udGVudCBvZiBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibW9zdHJhciBpbmZvIHkgY29udGVudCBkZSBsb3Mgb2JqZXRvcyBhbGltZW50YWRvcyBwb3Igc3RhbmRhcmQgaW5wdXQiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTUKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIm1vc3RyYXIgaW5mbyBkZSBsb3Mgb2JqZXRvcyBhbGltZW50YWRvcyBwb3Igc3RhbmRhcmQgaW5wdXQiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTkKIG1zZ2lkICJmb2xsb3cgaW4tdHJlZSBzeW1saW5rcyAodXNlZCB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjaykiCiBtc2dzdHIgIiIKICJzZWd1aXIgbG9zIGVubGFjZXMgc2ltYsOzbGljb3MgZW4gZWwgw6FyYm9sICh1c2FkbyBjb24gLS1iYXRjaCBvIC0tYmF0Y2gtY2hlY2spIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjUzCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjYxCiBtc2dpZCAic2hvdyBhbGwgb2JqZWN0cyB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjayIKIG1zZ3N0ciAibW9zdHJhciB0b2RvcyBsb3Mgb2JqZXRvcyBjb24gLS1iYXRjaCBvIC0tYmF0Y2gtY2hlY2siCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NjMKIG1zZ2lkICJkbyBub3Qgb3JkZXIgLS1iYXRjaC1hbGwtb2JqZWN0cyBvdXRwdXQiCiBtc2dzdHIgIm5vIG9yZGVuYXIgZWwgb3V0cHV0IGRlIC0tYmF0Y2gtYWxsLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEyCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMwogbXNnaWQgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSBbLS1dIDxwYXRobmFtZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSBbLS1dIDxub21icmUtZGUtcnV0YT4uLi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEzCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxNAogbXNnaWQgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IDxhdHRyPi4uLl0iCiBtc2dzdHIgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IDxhdHRyPi4uLl0iCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIwCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMQogbXNnaWQgInJlcG9ydCBhbGwgYXR0cmlidXRlcyBzZXQgb24gZmlsZSIKIG1zZ3N0ciAicmVwb3J0YXIgdG9kb3MgbG9zIGF0cmlidXRvcyBjb25maWd1cmFkb3MgZW4gZWwgYXJjaGl2byIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIyCiBtc2dpZCAidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgInVzZSAuZ2l0YXR0cmlidXRlcyBzb2xvIGRlc2RlIGVsIMOtbmRpY2UiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIyIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjQgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNSBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAyCiBtc2dpZCAicmVhZCBmaWxlIG5hbWVzIGZyb20gc3RkaW4iCiBtc2dzdHIgImxlZXIgbm9tYnJlcyBkZSBhcmNoaXZvcyBkZSBzdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjQgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNgorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjUgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNwogbXNnaWQgInRlcm1pbmF0ZSBpbnB1dCBhbmQgb3V0cHV0IHJlY29yZHMgYnkgYSBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICJ0ZXJtaW5hciByZWdpc3Ryb3MgZGUgZW50cmFkYSB5IHNhbGlkYSBjb24gdW4gY2Fyw6FjdGVyIE5VTCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMCBidWlsdGluL2NoZWNrb3V0LmM6MTIzNCBidWlsdGluL2djLmM6NTE3Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDk1CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDM1IGJ1aWx0aW4vZ2MuYzo1MzcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDYKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgInN1cHJpbWlyIGVsIHJlcG9ydGUgZGUgcHJvZ3Jlc28iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjgKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjkKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBpbnB1dCBwYXRocyIKIG1zZ3N0ciAibW9zdHJhciBydXRhcyBkZSBlbnRyYWRhIHF1ZSBubyBjb25jdWVyZGFuIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjMwCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjMxCiBtc2dpZCAiaWdub3JlIGluZGV4IHdoZW4gY2hlY2tpbmciCiBtc2dzdHIgImlnbm9yYXIgZWwgw61uZGljZSBjdWFuZG8gc2UgcmV2aXNlIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1OQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjAKIG1zZ2lkICJjYW5ub3Qgc3BlY2lmeSBwYXRobmFtZXMgd2l0aCAtLXN0ZGluIgogbXNnc3RyICJubyBzZSBwdWVkZSBlc3BlY2lmaWNhciBsb3Mgbm9tYnJlcyBkZSBydXRhcyBjb24gLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjIKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYzCiBtc2dpZCAiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIi16IHPDs2xvIHRpZW5lIHNlbnRpZG8gY29uIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY0CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2NQogbXNnaWQgIm5vIHBhdGggc3BlY2lmaWVkIgogbXNnc3RyICJydXRhIG5vIGVzcGVjaWZpY2FkYSIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjgKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY5CiBtc2dpZCAiLS1xdWlldCBpcyBvbmx5IHZhbGlkIHdpdGggYSBzaW5nbGUgcGF0aG5hbWUiCiBtc2dzdHIgIi0tcXVpZXQgc29sbyBlcyB2w6FsaWRvIGNvbiB1biBub21icmUgZGUgcnV0YSDDum5pY28iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcwCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MQogbXNnaWQgImNhbm5vdCBoYXZlIGJvdGggLS1xdWlldCBhbmQgLS12ZXJib3NlIgogbXNnc3RyICJubyBzZSBwdWVkZSB0ZW5lciBhbWJvcyAtLXF1aWV0IHkgLS12ZXJib3NlIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzQKIG1zZ2lkICItLW5vbi1tYXRjaGluZyBpcyBvbmx5IHZhbGlkIHdpdGggLS12ZXJib3NlIgogbXNnc3RyICItLW5vbi1tYXRjaGluZyBzw7NsbyBlcyB2w6FsaWRhIGNvbiAtLXZlcmJvc2UiCiAKQEAgLTg1ODcsNTYgKzEwNjkxLDU2IEBACiBtc2dpZCAibm8gY29udGFjdHMgc3BlY2lmaWVkIgogbXNnc3RyICJjb250YWN0b3Mgbm8gZXNwZWNpZmljYWRvcyIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyOAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEzMQogbXNnaWQgImdpdCBjaGVja291dC1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgY2hlY2tvdXQtaW5kZXggWzxvcGNpb25lcz5dIFstLV0gWzxhcmNoaXZvPi4uLl0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNDUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNDgKIG1zZ2lkICJzdGFnZSBzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCAzIG9yIGFsbCIKIG1zZ3N0ciAic3RhZ2UgdGllbmUgcXVlIGVzdGFyIGVudHJlIDEgeSAzIG8gYWxsIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYxCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY0CiBtc2dpZCAiY2hlY2sgb3V0IGFsbCBmaWxlcyBpbiB0aGUgaW5kZXgiCiBtc2dzdHIgInJldmlzYXIgdG9kb3MgbG9zIGFyY2hpdm9zIGVuIGVsIMOtbmRpY2UiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjUKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgZXhpc3RpbmcgZmlsZXMiCiBtc2dzdHIgImZvcnphciBzb2JyZWVzY3JpdHVyYSBkZSBsb3MgYXJjaGl2b3MgZXhpc3RlbnRlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NwogbXNnaWQgIm5vIHdhcm5pbmcgZm9yIGV4aXN0aW5nIGZpbGVzIGFuZCBmaWxlcyBub3QgaW4gaW5kZXgiCiBtc2dzdHIgIiIKICJubyBoYXkgYWR2ZXJ0ZW5jaWFzIHBhcmEgbG9zIGFyY2hpdm9zIGV4aXN0ZW50ZXMgeSBsb3MgYXJjaGl2b3Mgbm8gZXN0w6FuIGVuICIKICJlbCDDrW5kaWNlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY2CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY5CiBtc2dpZCAiZG9uJ3QgY2hlY2tvdXQgbmV3IGZpbGVzIgogbXNnc3RyICJubyByZXZpc2FyIGFyY2hpdm9zIG51ZXZvcyIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MQogbXNnaWQgInVwZGF0ZSBzdGF0IGluZm9ybWF0aW9uIGluIHRoZSBpbmRleCBmaWxlIgogbXNnc3RyICJhY3R1YWxpemFyIGluZm9ybWFjacOzbiBkZSBlc3RhZG8gZW4gZWwgYXJjaGl2byDDrW5kaWNlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcyCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc1CiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJsZWVyIGxpc3RhIGRlIHJ1dGFzIGRlc2RlIHN0YW5kYXJkIGlucHV0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc0CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc3CiBtc2dpZCAid3JpdGUgdGhlIGNvbnRlbnQgdG8gdGVtcG9yYXJ5IGZpbGVzIgogbXNnc3RyICJlc2NyaWJpciBlbCBjb250ZW5pZG8gZW4gdW4gYXJjaGl2byB0ZW1wb3JhbCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NSBidWlsdGluL2NvbHVtbi5jOjMxCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3MQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTMKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzggYnVpbHRpbi9jb2x1bW4uYzozMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzk2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODgyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6Njc5CiBtc2dpZCAic3RyaW5nIgogbXNnc3RyICJzdHJpbmciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzkKIG1zZ2lkICJ3aGVuIGNyZWF0aW5nIGZpbGVzLCBwcmVwZW5kIDxzdHJpbmc+IgogbXNnc3RyICJjdWFuZG8gY3JlZSBhcmNoaXZvcywgYW50ZXBvbmVyIDxzdHJpbmc+IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc4CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTgxCiBtc2dpZCAiY29weSBvdXQgdGhlIGZpbGVzIGZyb20gbmFtZWQgc3RhZ2UiCiBtc2dzdHIgImNvcGlhciBsb3MgYXJjaGl2b3MgZGVsIHN0YWdlIG5vbWJyYWRvIgogCkBAIC04NjQ4LDEwNSArMTA3NTIsMTU4IEBACiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFs8b3B0aW9ucz5dIFs8YnJhbmNoPl0gLS0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgY2hlY2tvdXQgWzxvcGNpb25lcz5dIFs8cmFtYT5dIC0tIDxhcmNoaXZvPi4uLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE0NCBidWlsdGluL2NoZWNrb3V0LmM6MTc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzcKK21zZ2lkICJnaXQgc3dpdGNoIFs8b3B0aW9ucz5dIFs8YnJhbmNoPl0iCittc2dzdHIgImdpdCBzd2l0Y2ggWzxvcGNpb25lcz5dIFs8cmFtYT5dIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDIKK21zZ2lkICJnaXQgcmVzdG9yZSBbPG9wdGlvbnM+XSBbLS1zb3VyY2U9PGJyYW5jaD5dIDxmaWxlPi4uLiIKK21zZ3N0ciAiZ2l0IHJlc3RvcmUgWzxvcGNpb25lcz5dIFstLXNvdXJjZT08cmFtYT5dIC0tIDxhcmNoaXZvPi4uLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NSBidWlsdGluL2NoZWNrb3V0LmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG91ciB2ZXJzaW9uIgogbXNnc3RyICJydXRhICclcycgbm8gdGllbmUgbnVlc3RyYSB2ZXJzacOzbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE0NiBidWlsdGluL2NoZWNrb3V0LmM6MTc5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc3IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgdGhlaXIgdmVyc2lvbiIKIG1zZ3N0ciAicnV0YSAnJXMnIG5vIHRpZW5lIHN1IHZlcnNpw7NuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTYyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIGFsbCBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgInJ1dGEgJyVzJyBubyB0aWVuZSB0b2RhcyBsYXMgdmVyc2lvbmVzIG5lY2VzYXJpYXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICJydXRhICclcycgbm8gdGllbmUgdmVyc2lvbmVzIG5lY2VzYXJpYXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnOiBjYW5ub3QgbWVyZ2UiCiBtc2dzdHIgInJ1dGEgJyVzJzogbm8gc2UgcHVlZGUgZnVzaW9uYXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGFkZCBtZXJnZSByZXN1bHQgZm9yICclcyciCiBtc2dzdHIgIkluY2FwYXogZGUgYWdyZWdhciByZXN1bHRhZG9zIGRlIGZ1c2nDs24gYSAnJXMnIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjYyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjUgYnVpbHRpbi9jaGVja291dC5jOjI2OAotIzogYnVpbHRpbi9jaGVja291dC5jOjI3MQorIzogYnVpbHRpbi9jaGVja291dC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJSZWNyZWF0ZWQgJWQgbWVyZ2UgY29uZmxpY3QiCittc2dpZF9wbHVyYWwgIlJlY3JlYXRlZCAlZCBtZXJnZSBjb25mbGljdHMiCittc2dzdHJbMF0gIlJlY3JlYWRvICVkIGNvbmZsaWN0byBkZSBtZXJnZSIKK21zZ3N0clsxXSAiUmVjcmVhZG9zICVkIGNvbmZsaWN0b3MgZGUgbWVyZ2UiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXBkYXRlZCAlZCBwYXRoIGZyb20gJXMiCittc2dpZF9wbHVyYWwgIlVwZGF0ZWQgJWQgcGF0aHMgZnJvbSAlcyIKK21zZ3N0clswXSAiQWN0dWFsaXphZGEgJWQgcnV0YSBwYXJhICVzIgorbXNnc3RyWzFdICJBY3R1YWxpemFkYXMgJWQgcnV0YXMgcGFyYSAlcyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJVcGRhdGVkICVkIHBhdGggZnJvbSB0aGUgaW5kZXgiCittc2dpZF9wbHVyYWwgIlVwZGF0ZWQgJWQgcGF0aHMgZnJvbSB0aGUgaW5kZXgiCittc2dzdHJbMF0gIkFjdHVhbGl6YWRhICVkIHJ1dGEgZGVzZGUgZWwgaW5kZXgiCittc2dzdHJbMV0gIkFjdHVhbGl6YWRhcyAlZCBydXRhcyBkZXNkZSBlbCBpbmRleCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjQxMiBidWlsdGluL2NoZWNrb3V0LmM6NDE1IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHVwZGF0aW5nIHBhdGhzIgogbXNnc3RyICInJXMnIG5vIHB1ZWRlIHNlciB1c2FkYSBjb24gcnV0YXMgYWN0dWFsaXphZGFzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Mjc0IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MjUgYnVpbHRpbi9jaGVja291dC5jOjQyOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiclcycgbm8gcHVlZGUgc2VyIHVzYWRvIGNvbiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI4MAorIzogYnVpbHRpbi9jaGVja291dC5jOjQzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS4iCiBtc2dzdHIgIk5vIHNlIHB1ZWRlIGFjdHVhbGl6YXIgcnV0YXMgeSBjYW1iaWFyIGEgbGEgcmFtYSAnJXMnIGFsIG1pc21vIHRpZW1wby4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozNDkgYnVpbHRpbi9jaGVja291dC5jOjM1NgorIzogYnVpbHRpbi9jaGVja291dC5jOjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyICclcycgb3IgJyVzJyBpcyBzcGVjaWZpZWQiCittc2dzdHIgIm5pICclcycgbyAnJXMnIGVzdMOhbiBlc3BlY2lmaWNhZG9zIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgbXVzdCBiZSB1c2VkIHdoZW4gJyVzJyBpcyBub3Qgc3BlY2lmaWVkIgorbXNnc3RyICInJXMnIHRpZW5lIHF1ZSBzZXIgdXNhZG8gY3VhbmRvICclcycgbm8gZXMgZXNwZWNpZmljYWRvIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDQ1IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBvciAnJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCittc2dzdHIgIiclcycgbyAnJXMnIG5vIHB1ZWRlIHNlciB1c2FkbyBjb24gJXMiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1MDkgYnVpbHRpbi9jaGVja291dC5jOjUxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgInJ1dGEgJyVzJyBubyBlc3RhIGZ1c2lvbmFkYSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjYwOAorIzogYnVpbHRpbi9jaGVja291dC5jOjY4MiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjgyCiBtc2dpZCAieW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCi1tc2dzdHIgIm5lY2VzaXRhIHJlc29sdmVyIHN1IMOtbmRpY2UgYWN0dWFsIHByaW1lcm8iCittc2dzdHIgIm5lY2VzaXRhcyByZXNvbHZlciB0dSDDrW5kaWNlIGFjdHVhbCBwcmltZXJvIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzQ1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjYW5ub3QgY29udGludWUgd2l0aCBzdGFnZWQgY2hhbmdlcyBpbiB0aGUgZm9sbG93aW5nIGZpbGVzOlxuIgorIiVzIgorbXNnc3RyICIiCisibm8gc2UgcHVlZGUgY29udGludWFyIGNvbiBsb3MgY2FtYmlvcyBlbiBzdGFnZSBlbiBsb3Mgc2lndWllbnRlcyBhcmNoaXZvczpcbiIKKyIlcyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjgzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4gbm90IGRvIHJlZmxvZyBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAiTm8gc2UgcHVlZGUgaGFjZXIgcmVmbG9nIHBhcmEgJyVzJzogJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc4NgorIzogYnVpbHRpbi9jaGVja291dC5jOjg3NwogbXNnaWQgIkhFQUQgaXMgbm93IGF0IgogbXNnc3RyICJIRUFEIGVzdMOhIGFob3JhIGVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzkwIGJ1aWx0aW4vY2xvbmUuYzo2OTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4ODEgYnVpbHRpbi9jbG9uZS5jOjcxNgogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgSEVBRCIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBhY3R1YWxpemFyICBIRUFEIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlJlaW5pY2lhciByYW1hICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5NworIzogYnVpbHRpbi9jaGVja291dC5jOjg4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJBbHJlYWR5IG9uICclcydcbiIKIG1zZ3N0ciAiWWEgZW4gJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODAxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGFuZCByZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJSYW1hIHJlaW5pY2lhZGEgeSBjYW1iaWFkYSBhICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgwMyBidWlsdGluL2NoZWNrb3V0LmM6MTE2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjg5NCBidWlsdGluL2NoZWNrb3V0LmM6MTI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJDYW1iaWFkbyBhIG51ZXZhIHJhbWEgJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODA1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIkNhbWJpYWRvIGEgcmFtYSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4NTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIC4uLiB5ICVkIG3DoXMuXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4NjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXQgYmVoaW5kLCBub3QgY29ubmVjdGVkIHRvXG4iCkBAIC04NzU5LDE3ICsxMDkxNiwxNyBAQAogIlxuIgogIiVzXG4iCiBtc2dzdHJbMF0gIiIKLSJQZWxpZ3JvOiBlc3TDoSBzYWxpZW5kbyAlZCBjb21taXQgYXRyw6FzLCBubyBlc3TDoSBjb25lY3RhZG9cbiIKKyJQZWxpZ3JvOiBlc3TDoXMgc2FsaWVuZG8gJWQgY29tbWl0IGF0csOhcywgbm8gZXN0w6EgY29uZWN0YWRvXG4iCiAiYSBuaW5ndW5hIHJhbWE6XG4iCiAiXG4iCiAiJXNcbiIKIG1zZ3N0clsxXSAiIgotIlBlbGlncm86IGVzdMOhIHNhbGllbmRvICVkIGNvbW1pdHMgYXRyw6FzLCBubyBlc3TDoSBjb25lY3RhZG9cbiIKKyJQZWxpZ3JvOiBlc3TDoXMgc2FsaWVuZG8gJWQgY29tbWl0cyBhdHLDoXMsIG5vIGVzdMOhIGNvbmVjdGFkb1xuIgogImEgbmluZ3VuYSByYW1hOlxuIgogIlxuIgogIiVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4ODEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIGtlZXAgaXQgYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgpAQCAtODc4NCwxNzIgKzEwOTQxLDI1NCBAQAogIiBnaXQgYnJhbmNoIDxuZXctYnJhbmNoLW5hbWU+ICVzXG4iCiAiXG4iCiBtc2dzdHJbMF0gIiIKLSJTaSBxdWllcmUgY29uc2VydmFybG8gY3JlYW5kbyB1bmEgbnVldmEgcmFtYSwgZXN0ZSBlcyB1biBidWVuIG1vbWVudG9cbiIKKyJTaSBxdWllcmVzIGNvbnNlcnZhcmxvIGNyZWFuZG8gdW5hIG51ZXZhIHJhbWEsIGVzdGUgZXMgdW4gYnVlbiBtb21lbnRvXG4iCiAicGFyYSBoYWNlcmxvOlxuIgogIlxuIgogIiBnaXQgYnJhbmNoIDxudWV2by1ub21icmUtZGUtcmFtYT4gJXNcbiIKICJcbiIKIG1zZ3N0clsxXSAiIgotIlNpIHF1aWVyZSBjb25zZXJ2YXJsb3MgY3JlYW5kbyB1bmEgbnVldmEgcmFtYSwgZXN0ZSBlcyB1biBidWVuIG1vbWVudG9cbiIKKyJTaSBxdWllcmVzIGNvbnNlcnZhcmxvcyBjcmVhbmRvIHVuYSBudWV2YSByYW1hLCBlc3RlIGVzIHVuIGJ1ZW4gbW9tZW50b1xuIgogInBhcmEgaGFjZXJsbzpcbiIKICJcbiIKICIgZ2l0IGJyYW5jaCA8bm9tYnJlLWRlLXJhbWE+ICVzXG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5MTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDA3CiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IgaW4gcmV2aXNpb24gd2FsayIKIG1zZ3N0ciAiZXJyb3IgaW50ZXJubyBlbiBjYW1pbm8gZGUgcmV2aXNpw7NuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTE3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxMQogbXNnaWQgIlByZXZpb3VzIEhFQUQgcG9zaXRpb24gd2FzIgogbXNnc3RyICJMYSBwb3NpY2nDs24gcHJldmlhIGRlIEhFQUQgZXJhIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTQ1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1MSBidWlsdGluL2NoZWNrb3V0LmM6MTI4NgogbXNnaWQgIllvdSBhcmUgb24gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgIkVzdMOhcyBlbiB1bmEgcmFtYSBwb3IgbmFjZXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDY2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3OAorbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCIKK21zZ3N0ciAic29sbyB1bmEgcmVmZXJlbmNpYSBlc3BlcmFkYSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjExOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCiBtc2dzdHIgInNvbG8gdW5hIHJlZmVyZW5jaWEgZXNwZXJhZGEsICVkIGVudHJlZ2FkYXMuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNyBidWlsdGluL3dvcmt0cmVlLmM6Mjg5IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyInJXMnIGNvdWxkIGJlIGJvdGggYSBsb2NhbCBmaWxlIGFuZCBhIHRyYWNraW5nIGJyYW5jaC5cbiIKKyJQbGVhc2UgdXNlIC0tIChhbmQgb3B0aW9uYWxseSAtLW5vLWd1ZXNzKSB0byBkaXNhbWJpZ3VhdGUiCittc2dzdHIgIiIKKyInJXMnIHB1ZWRlIHNlciB0YW50byB1biBhcmNoaXZvIGxvY2FsIGNvbW8gdW5hIHJhbWEgZGUgcmFzdHJlby5cbiIKKyJQb3IgZmF2b3IgdXNlIC0tICh5IG9wY2lvbmFsbWVudGUgLS1uby1ndWVzcykgcGFyYSBkZXNhbWJpZ3VhciIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDUgYnVpbHRpbi93b3JrdHJlZS5jOjI5MCBidWlsdGluL3dvcmt0cmVlLmM6NDU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKIG1zZ3N0ciAicmVmZXJlbmNpYSBpbnbDoWxpZGE6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTggYnVpbHRpbi9jaGVja291dC5jOjE2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgogbXNnc3RyICJsYSByZWZlcmVuY2lhIG5vIGVzIG4gw6FyYm9sOiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzA1CisjLCBjLWZvcm1hdAorbXNnaWQgImEgYnJhbmNoIGlzIGV4cGVjdGVkLCBnb3QgdGFnICclcyciCittc2dzdHIgInNlIGVzcGVyYWJhIHVuIGJyYW5jaCwgc2Ugb2J0dXZvIHRhZyAnJXMnIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMwNworIywgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IHJlbW90ZSBicmFuY2ggJyVzJyIKK21zZ3N0ciAic2UgZXNwZXJhIHVuYSByYW1hLCBzZSBvYnR1dm8gdW5hIHJhbWEgcmVtb3RhICclcyciCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzA4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImEgYnJhbmNoIGlzIGV4cGVjdGVkLCBnb3QgJyVzJyIKK21zZ3N0ciAic2UgZXNwZXJhYmEgYnJhbmNoLCBzZSBvYnV0byAnJXMnIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMxMQorIywgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IGNvbW1pdCAnJXMnIgorbXNnc3RyICJzZSBlc3BlcmEgdW5hIHJhbWEsIHNlIG9idHV2byBjb21taXQgJyVzJyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMjcKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgbWVyZ2luZ1xuIgorIkNvbnNpZGVyIFwiZ2l0IG1lcmdlIC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorIm5vIHNlIHB1ZWRlIGNhbWJpYXIgZGUgYnJhbmNoIGR1cmFudGUgdW4gbWVyZ2VcbiIKKyJDb25zaWRlcmEgXCJnaXQgbWVyZ2UgLS1xdWl0XCIgbyBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzMxCittc2dpZCAiIgorImNhbm5vdCBzd2l0Y2ggYnJhbmNoIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvblxuIgorIkNvbnNpZGVyIFwiZ2l0IGFtIC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorIm5vIHNlIHB1ZWRlIGNhbWJpYXIgZGUgYnJhbmNoIGVuIG1lZGlvIGRlIHVuYSBzZXNpw7NuIGRlIGFtXG4iCisiQ29uc2lkZXJhIFwiZ2l0IGFtIC0tcXVpdFwiIG8gXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMzNQorbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCB3aGlsZSByZWJhc2luZ1xuIgorIkNvbnNpZGVyIFwiZ2l0IHJlYmFzZSAtLXF1aXRcIiBvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCittc2dzdHIgIiIKKyJubyBzZSBwdWVkZSBjYW1iaWFyIGRlIGJyYW5jaCBkdXJhbnRlIHVuIHJlYmFzZVxuIgorIkNvbnNpZGVyYSBcImdpdCByZWJhc2UgLS1xdWl0XCIgbyBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzM5Cittc2dpZCAiIgorImNhbm5vdCBzd2l0Y2ggYnJhbmNoIHdoaWxlIGNoZXJyeS1waWNraW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgY2hlcnJ5LXBpY2sgLS1xdWl0XCIgb3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorbXNnc3RyICIiCisibm8gc2UgcHVlZGUgY2FtYmlhciBkZSBicmFuY2ggZHVyYW50ZSB1biBjaGVycnktcGlja1xuIgorIkNvbnNpZGVyYSBcImdpdCBjaGVycnktcGljayAtLXF1aXRcIiBvIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNDMKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgcmV2ZXJ0aW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgcmV2ZXJ0IC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorIm5vIHNlIHB1ZWRlIGNhbWJpYXIgZGUgYnJhbmNoIGR1cmFudGUgdW4gcmV2ZXJ0XG4iCisiQ29uc2lkZXJhIFwiZ2l0IHJldmVydCAtLXF1aXRcIiBvIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNDcKK21zZ2lkICJ5b3UgYXJlIHN3aXRjaGluZyBicmFuY2ggd2hpbGUgYmlzZWN0aW5nIgorbXNnc3RyICJlc3TDoXMgY2FtYmlhbmRvIHJhbWFzIGR1cmFudGUgdW4gYmlzZWN0IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1NAogbXNnaWQgInBhdGhzIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgogbXNnc3RyICJydXRhcyBubyBwdWVkZW4gc2VyIHVzYWRhcyBjb24gY2FtYmlvcyBkZSByYW1hIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3OCBidWlsdGluL2NoZWNrb3V0LmM6MTE4MgorIzogYnVpbHRpbi9jaGVja291dC5jOjEzNTcgYnVpbHRpbi9jaGVja291dC5jOjEzNjEgYnVpbHRpbi9jaGVja291dC5jOjEzNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiJyVzJyBubyBwdWVkZSBzZXIgdXNhZG8gY29uIGNhbWJpb3MgZGUgcmFtYXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTg2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTg5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTk0Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5NworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNjkgYnVpbHRpbi9jaGVja291dC5jOjEzNzIgYnVpbHRpbi9jaGVja291dC5jOjEzNzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzgwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgogbXNnc3RyICInJXMnIG5vIHB1ZWRlIHNlciB1c2FkbyBjb24gJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMDIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgY2Fubm90IHRha2UgPHN0YXJ0LXBvaW50PiIKK21zZ3N0ciAiJyVzJyBubyBwdWVkZSB0b21hciA8cHVudG8gZGUgcGFydGlkYT4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICJObyBzZSBwdWVkZSBjYW1iaWFyIHJhbWEgYSB1biAnJXMnIHNpbiBjb21taXRzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIzNSBidWlsdGluL2NoZWNrb3V0LmM6MTIzNyBidWlsdGluL2Nsb25lLmM6MTE5Ci0jOiBidWlsdGluL3JlbW90ZS5jOjE2OSBidWlsdGluL3JlbW90ZS5jOjE3MSBidWlsdGluL3dvcmt0cmVlLmM6NDg4Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkwCi1tc2dpZCAiYnJhbmNoIgotbXNnc3RyICJyYW1hIgorIzogYnVpbHRpbi9jaGVja291dC5jOjEzOTcKK21zZ2lkICJtaXNzaW5nIGJyYW5jaCBvciBjb21taXQgYXJndW1lbnQiCittc2dzdHIgImZhbHRhIGJyYW5jaCBvIGNvbW1pdCBjb21vIGFyZ3VtZW50byIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMzYKLW1zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKLW1zZ3N0ciAiY3JlYXIgeSBoYWNlciBjaGVja291dCBhIHVuYSBudWV2YSByYW1hIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIzOAotbXNnaWQgImNyZWF0ZS9yZXNldCBhbmQgY2hlY2tvdXQgYSBicmFuY2giCi1tc2dzdHIgImNyZWFyL3JlaW5pY2lhciB5IGhhY2VyIGNoZWNrb3V0IGEgdW5hIHJhbWEiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjM5Ci1tc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKLW1zZ3N0ciAiY3JlYXIgdW4gcmVmbG9nIHBhcmEgdW5hIG51ZXZhIHJhbWEiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQwIGJ1aWx0aW4vd29ya3RyZWUuYzo0OTIKLW1zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCi1tc2dzdHIgImRlc2Fjb3BsYXIgSEVBRCBlbiBlbCBjb21taXQgbm9tYnJhZG8iCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQxCi1tc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCi1tc2dzdHIgImNvbmZpZ3VyYXIgaW5mbyBkZSB1cHN0cmVhbSBwYXJhIHVuYSByYW1hIG51ZXZhIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0MwotbXNnaWQgIm5ldy1icmFuY2giCi1tc2dzdHIgIm51ZXZhLXJhbWEiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQzCi1tc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgotbXNnc3RyICJudWV2YSByYW1hIG5vIGVtcGFyZW50YWRhIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0NQotbXNnaWQgImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKLW1zZ3N0ciAiaGFjZXIgY2hlY2tvdXQgYSAgbnVlc3RyYSB2ZXJzacOzbiBwYXJhIGFyY2hpdm9zIHNpbiBmdXNpb25hciIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDgKLW1zZ2lkICJjaGVja291dCB0aGVpciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKLW1zZ3N0ciAiaGFjZXIgY2hlY2tvdXQgYSBzdSB2ZXJzacOzbiBwYXJhIGxvcyBhcmNoaXZvcyBzaW4gZnVzaW9uYXIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjUwCi1tc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCi1tc2dzdHIgImZvcnphciBlbCBjaGVja291dCAoZGVzY2FydGFyIG1vZGlmaWNhY2lvbmVzIGxvY2FsZXMpIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1MgotbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgotbXNnc3RyICJyZWFsaXphciB1bmEgZnVzacOzbiBkZSB0cmVzIHbDrWFzIGNvbiBsYSByYW1hIG51ZXZhIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1NCBidWlsdGluL21lcmdlLmM6Mjc1Ci1tc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgotbXNnc3RyICJhY3R1YWxpemFyIGFyY2hpdm9zIGlnbm9yYWRvcyAoZGVmYXVsdCkiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU2IGJ1aWx0aW4vbG9nLmM6MTU3MyBwYXJzZS1vcHRpb25zLmg6Mjc0Ci1tc2dpZCAic3R5bGUiCi1tc2dzdHIgImVzdGlsbyIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTcKLW1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgotbXNnc3RyICJjb25mbGljdG8gZGUgZXN0aWxvcyAobWVyZ2UgbyBkaWZmMykiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYwCi1tc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgotbXNnc3RyICJubyBsaW1pdGFyIHBhdGhzcGVjcyBhIGRpc3BlcnNhciBlbnRyYWRhcyBzb2xhbWVudGUiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYyCi1tc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgPG5vLXN1Y2gtYnJhbmNoPiciCi1tc2dzdHIgInNlZ3VuZGEgb3BjacOzbiAnZ2l0IGNoZWNrb3V0IDxuby1oYXktdGFsLXJhbWE+JyIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjQKLW1zZ2lkICJkbyBub3QgY2hlY2sgaWYgYW5vdGhlciB3b3JrdHJlZSBpcyBob2xkaW5nIHRoZSBnaXZlbiByZWYiCi1tc2dzdHIgIm5vIHJldmlzZSBzaSBvdHJvIMOhcmJvbCBkZSB0cmFiYWpvIGNvbnRpZW5lIGxhIHJlZiBlbnRyZWdhZGEiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY4IGJ1aWx0aW4vY2xvbmUuYzo4NiBidWlsdGluL2ZldGNoLmM6MTQxCi0jOiBidWlsdGluL21lcmdlLmM6MjcyIGJ1aWx0aW4vcHVsbC5jOjEyOSBidWlsdGluL3B1c2guYzo1NzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDM5IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjUyCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExMyBidWlsdGluL2ZldGNoLmM6MTY3IGJ1aWx0aW4vbWVyZ2UuYzoyODUKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjI3IGJ1aWx0aW4vcHVsbC5jOjEzOCBidWlsdGluL3B1c2guYzo1NjMKICM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc0CiBtc2dpZCAiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJmb3J6YXIgZWwgcmVwb3J0ZSBkZSBwcm9ncmVzbyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyOTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDQwCittc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCittc2dzdHIgInJlYWxpemFyIHVuYSBmdXNpw7NuIGRlIHRyZXMgdsOtYXMgY29uIGxhIHJhbWEgbnVldmEiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDQxIGJ1aWx0aW4vbG9nLmM6MTY5MCBwYXJzZS1vcHRpb25zLmg6MzIyCittc2dpZCAic3R5bGUiCittc2dzdHIgImVzdGlsbyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NDIKK21zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgorbXNnc3RyICJjb25mbGljdG8gZGUgZXN0aWxvcyAobWVyZ2UgbyBkaWZmMykiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU0IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDMKK21zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCittc2dzdHIgImRlc2Fjb3BsYXIgSEVBRCBlbiBlbCBjb21taXQgbm9tYnJhZG8iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU1Cittc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCittc2dzdHIgImNvbmZpZ3VyYXIgaW5mbyBkZSB1cHN0cmVhbSBwYXJhIHVuYSByYW1hIG51ZXZhIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ1NworbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgorbXNnc3RyICJmb3J6YXIgZWwgY2hlY2tvdXQgKGRlc2NhcnRhciBtb2RpZmljYWNpb25lcyBsb2NhbGVzKSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTkKK21zZ2lkICJuZXctYnJhbmNoIgorbXNnc3RyICJudWV2YS1yYW1hIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ1OQorbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKK21zZ3N0ciAibnVldmEgcmFtYSBubyBlbXBhcmVudGFkYSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NjEgYnVpbHRpbi9tZXJnZS5jOjI4OAorbXNnaWQgInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIKK21zZ3N0ciAiYWN0dWFsaXphciBhcmNoaXZvcyBpZ25vcmFkb3MgKGRlZmF1bHQpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ2NAorbXNnaWQgImRvIG5vdCBjaGVjayBpZiBhbm90aGVyIHdvcmt0cmVlIGlzIGhvbGRpbmcgdGhlIGdpdmVuIHJlZiIKK21zZ3N0ciAibm8gcmV2aXNlIHNpIG90cm8gw6FyYm9sIGRlIHRyYWJham8gY29udGllbmUgbGEgcmVmIGVudHJlZ2FkYSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NzcKK21zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCittc2dzdHIgImhhY2VyIGNoZWNrb3V0IGEgIG51ZXN0cmEgdmVyc2nDs24gcGFyYSBhcmNoaXZvcyBzaW4gZnVzaW9uYXIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDgwCittc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCittc2dzdHIgImhhY2VyIGNoZWNrb3V0IGEgc3UgdmVyc2nDs24gcGFyYSBsb3MgYXJjaGl2b3Mgc2luIGZ1c2lvbmFyIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ4NAorbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKK21zZ3N0ciAibm8gbGltaXRhciBwYXRoc3BlY3MgYSBkaXNwZXJzYXIgZW50cmFkYXMgc29sYW1lbnRlIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTUzNwogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLWIsIC1CIHkgLS1vcnBoYW4gc29uIG11dHVhbWVudGUgZXhjbHVzaXZhcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzMTUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTQwCittc2dpZCAiLXAgYW5kIC0tb3ZlcmxheSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItcCB5IC0tb3ZlcmxheSBzb24gbXV0dWFtZW50ZSBleGNsdXNpdmFzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTU3NwogbXNnaWQgIi0tdHJhY2sgbmVlZHMgYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiLS10cmFjayBuZWNlc2l0YSBlbCBub21icmUgZGUgdW5hIHJhbWEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzIwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTU4MgogbXNnaWQgIm1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAiZmFsdGEgbm9tYnJlIGRlIHJhbWE7IHBydWViYSAtYiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjE1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlICVzIgorbXNnc3RyICJubyBzZSBwdWRvIHJlc29sdmVyICVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTYzMQogbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICJlc3BlY2lmaWNhY2nDs24gZGUgcnV0YSBpbnbDoWxpZGEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzY0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTYzOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCBhbmQgYSBicmFuY2ggJyVzJyBjYW5ub3QgYmUgY3JlYXRlZCBmcm9tIGl0IgogbXNnc3RyICInJXMnIG5vIGVzIHVuIGNvbW1pdCB5IHVuYSByYW1hICclcycgbm8gcHVlZGUgc2VyIGNyZWFkYSBkZXNkZSBlc3RlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM2OAorIzogYnVpbHRpbi9jaGVja291dC5jOjE2NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBkb2VzIG5vdCB0YWtlIGEgcGF0aCBhcmd1bWVudCAnJXMnIgogbXNnc3RyICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIG5vIHRvbWEgdW4gYXJndW1lbnRvIGRlIHJ1dGEgJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjUxCittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1kZXRhY2giCittc2dzdHIgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGVzIGluY29tcGF0aWJsZSBjb24gLS1kZXRhY2giCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjU0IGJ1aWx0aW4vcmVzZXQuYzozMjQKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLXBhdGNoIgorbXNnc3RyICItLXBhdGhzcGVjLWZyb20tZmlsZSBlcyBpbmNvbXBhdGlibGUgY29uIC0tcGF0Y2giCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjY1CiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgpAQCAtODk1Nyw3ICsxMTE5NiwxMSBAQAogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIHkgLS1tZXJnZSBzb24gaW5jb21wYXRpYmxlcyBjdWFuZG9cbiIKICJzZSByZXZpc2EgZnVlcmEgZGVsIMOtbmRpY2UuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjE2NzAKK21zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHBhdGgocykgdG8gcmVzdG9yZSIKK21zZ3N0ciAiZGViZXMgZXNwZWNpZmljYXIgcGF0aChzKSBwYXJhIHJlc3RhdXJhciIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgbWF0Y2hlZCBtb3JlIHRoYW4gb25lIHJlbW90ZSB0cmFja2luZyBicmFuY2guXG4iCkBAIC04OTc1LDcgKzExMjE4LDcgQEAKIG1zZ3N0ciAiIgogIiclcycgYWNlcnTDsyBtw6FzIGRlIHVuYSByYW1hIHJlbW90YSByYXN0cmVhZGEuXG4iCiAiRW5jb250cmFtb3MgJWQgcmVtb3RvcyBjb24gdW5hIHJlZmVyZW5jaWEgcXVlIGNvbmN1ZXJkYS4gQXPDrSBxdWUgdm9sdmVtb3NcbiIKLSJhIGludGVudGFyIHJlc29sdmVyIGVsIGFyZ3VtZW50byBjb21vIHVuYSBydXRhLCBwZXJvIGVzbyB0YW1iacOpbiBmYWxsw7MhXG4iCisiYSBpbnRlbnRhciByZXNvbHZlciBlbCBhcmd1bWVudG8gY29tbyB1bmEgcnV0YSwgwqFwZXJvIGVzbyB0YW1iacOpbiBmYWxsw7MhXG4iCiAiXG4iCiAiU2kgcXVlcsOtYXMgaGFjZXIgdW4gY2hlY2sgb3V0IGEgdW5hIHJhbWEgcmFzdHJlYWRhIHJlbW90YSwgY29tbyAnb3JpZ2luJyxcbiIKICJwdWVkZXMgaGFjZXJsbyBwcm9wb3JjaW9uYW5kbyBlbCBub21icmUgY29tcGxldG8gY29uIGxhIG9wY2nDs24gLS10cmFjazpcbiIKQEAgLTg5ODcsMzggKzExMjMwLDEwNSBAQAogImRlIG5vbWJyZSA8bm9tYnJlPiByZW1vdGEsIGNvbW8gJ29yaWdpbicsIGNvbnNpZGVyYSBjb25maWd1cmFyXG4iCiAiY2hlY2tvdXQuZGVmYXVsdFJlbW90ZT1vcmlnaW4gZW4gdHUgY29uZmlndXJhY2nDs24uIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc2NyBidWlsdGluL2Nsb25lLmM6MTIxIGJ1aWx0aW4vcmVtb3RlLmM6MTY5CisjOiBidWlsdGluL3JlbW90ZS5jOjE3MSBidWlsdGluL3dvcmt0cmVlLmM6NDk5IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDEKK21zZ2lkICJicmFuY2giCittc2dzdHIgInJhbWEiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE1Cittc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCittc2dzdHIgImNyZWFyIHkgaGFjZXIgY2hlY2tvdXQgYSB1bmEgbnVldmEgcmFtYSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MTcKK21zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgorbXNnc3RyICJjcmVhci9yZWluaWNpYXIgeSBoYWNlciBjaGVja291dCBhIHVuYSByYW1hIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcxOAorbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCittc2dzdHIgImNyZWFyIHVuIHJlZmxvZyBwYXJhIHVuYSBudWV2YSByYW1hIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcyMAorbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IDxuby1zdWNoLWJyYW5jaD4nIChkZWZhdWx0KSIKK21zZ3N0ciAiYWRpdmluYXIgc2VndW5kYSBvcGNpw7NuICdnaXQgY2hlY2tvdXQgPG5vLWhheS10YWwtcmFtYT4nIChkZWZhdWx0KSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MjEKK21zZ2lkICJ1c2Ugb3ZlcmxheSBtb2RlIChkZWZhdWx0KSIKK21zZ3N0ciAidXNhciBtb2RvIG92ZXJsYXkgKGRlZmF1bHQpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc2NgorbXNnaWQgImNyZWF0ZSBhbmQgc3dpdGNoIHRvIGEgbmV3IGJyYW5jaCIKK21zZ3N0ciAiY3JlYXIgeSBoYWNlciBzd2l0Y2ggYSB1bmEgbnVldmEgcmFtYSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NjgKK21zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIHN3aXRjaCB0byBhIGJyYW5jaCIKK21zZ3N0ciAiY3JlYXIvcmVpbmljaWFyIHkgaGFjZXIgc3dpdGNoIGEgdW5hIHJhbWEiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzcwCittc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgc3dpdGNoIDxuby1zdWNoLWJyYW5jaD4nIgorbXNnc3RyICJhZGl2aW5hciBzZWd1bmRhIG9wY2nDs24gJ2dpdCBjaGVja291dCA8bm8taGF5LXRhbC1yYW1hPiciCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzcyCittc2dpZCAidGhyb3cgYXdheSBsb2NhbCBtb2RpZmljYXRpb25zIgorbXNnc3RyICJkZXNjYXJ0YXIgbW9kaWZpY2FjaW9uZXMgbG9jYWxlcyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MDQKK21zZ2lkICJ3aGljaCB0cmVlLWlzaCB0byBjaGVja291dCBmcm9tIgorbXNnc3RyICJkZSBxdcOpIMOhcmJvbCBoYWNlciBlbCBjaGVja291dCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MDYKK21zZ2lkICJyZXN0b3JlIHRoZSBpbmRleCIKK21zZ3N0ciAicmVzdGF1cmFyIGVsIGluZGV4IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgwOAorbXNnaWQgInJlc3RvcmUgdGhlIHdvcmtpbmcgdHJlZSAoZGVmYXVsdCkiCittc2dzdHIgInJlc3RhdXJhciBlbCDDoXJib2wgZGUgdHJhYmFqbyAoZGVmYXVsdCkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODEwCittc2dpZCAiaWdub3JlIHVubWVyZ2VkIGVudHJpZXMiCittc2dzdHIgImlnbm9yYXIgZW50cmFkYXMgbm8gZnVzaW9uYWRhcyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MTEKK21zZ2lkICJ1c2Ugb3ZlcmxheSBtb2RlIgorbXNnc3RyICJ1c2FyIG1vZG8gb3ZlcmxheSIKKworIzogYnVpbHRpbi9jbGVhbi5jOjI4CiBtc2dpZCAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxwYXR0ZXJuPl0gWy14IHwgLVhdIFstLV0gPHBhdGhzPi4uLiIKIG1zZ3N0ciAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxwYXRyw7NuPl0gWy14IHwgLVhdIFstLV0gPHJ1dGFzPi4uLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMxCisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXNcbiIKIG1zZ3N0ciAiQm9ycmFuZG8gJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMyCisjOiBidWlsdGluL2NsZWFuLmM6MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgcmVtb3ZlICVzXG4iCiBtc2dzdHIgIlNlcmEgYm9ycmFkbyAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzMKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIlNhbHRhbmRvIHJlcG9zaXRvcmlvICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozNAorIzogYnVpbHRpbi9jbGVhbi5jOjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHNraXAgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICJTZSBzYWx0YXJhIHJlcG9zaXRvcmlvICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozNQorIzogYnVpbHRpbi9jbGVhbi5jOjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJXMiCiBtc2dzdHIgImZhbGzDsyBhbCBib3JyYXIgJXMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NzkKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgbHN0YXQgJXNcbiIKK21zZ3N0ciAibm8gc2UgcHVkbyBsc3RhdCAlc1xuIgorCisjOiBidWlsdGluL2NsZWFuLmM6MzAxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQcm9tcHQgaGVscDpcbiIKQEAgLTkwMzEsNyArMTEzNDEsNyBAQAogImZvbyAgICAgICAgLSBzZWxlY2Npb25hIHVuIG9iamV0byBiYXNhZG8gZW4gdW4gcHJlZmlqbyDDum5pY29cbiIKICIgICAgICAgICAgIC0gKHZhY8Otbykgbm8gZWxlZ2lyIG5hZGFcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMwMiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU4OAorIzogYnVpbHRpbi9jbGVhbi5jOjMwNSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCkBAIC05MDUyLDM4ICsxMTM2MiwzMyBAQAogIiogICAgICAgICAgLSBlc2NvZ2VyIHRvZG9zIGxvcyBvYmpldG9zXG4iCiAiICAgICAgICAgICAtICh2YWPDrW8pIHRlcm1pbmFyIHNlbGVjY2nDs25cbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjUxOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU1NAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NTkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo1MjEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NzAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTc1CiAjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKIG1zZ2lkICJIdWggKCVzKT9cbiIKLW1zZ3N0ciAiQWhoICglcyk/XG4iCittc2dzdHIgIsK/QWhoICglcyk/XG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo2NjAKKyM6IGJ1aWx0aW4vY2xlYW4uYzo2NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5wdXQgaWdub3JlIHBhdHRlcm5zPj4gIgogbXNnc3RyICJJbnB1dCBpZ25vcmEgbG9zIHBhdHJvbmVzID4+ICIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY5NworIzogYnVpbHRpbi9jbGVhbi5jOjcwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJXQVJOSU5HOiBDYW5ub3QgZmluZCBpdGVtcyBtYXRjaGVkIGJ5OiAlcyIKIG1zZ3N0ciAiUEVMSUdSTzogTm8gc2UgcHVlZGUgZW5jb250cmFyIG9iamV0b3MgcXVlIGNvbmN1ZXJkZW4gY29uOiAlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjcxOAorIzogYnVpbHRpbi9jbGVhbi5jOjcyMQogbXNnaWQgIlNlbGVjdCBpdGVtcyB0byBkZWxldGUiCiBtc2dzdHIgIlNlbGVjY2lvbmFyIG9iamV0b3MgcGFyYSBib3JyYXIiCiAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8ga2VlcCBbeS9OXSBhcyBpcwotIzogYnVpbHRpbi9jbGVhbi5jOjc1OQorIzogYnVpbHRpbi9jbGVhbi5jOjc2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmUgJXMgW3kvTl0/ICIKLW1zZ3N0ciAiQm9ycmFyICVzIFt5L05dPyAiCittc2dzdHIgIsK/Qm9ycmFyICVzIFt5L05dPyAiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzE3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkJ5ZS5cbiIKLW1zZ3N0ciAiQWRpw7NzLlxuIgotCi0jOiBidWlsdGluL2NsZWFuLmM6NzkyCisjOiBidWlsdGluL2NsZWFuLmM6Nzk1CiBtc2dpZCAiIgogImNsZWFuICAgICAgICAgICAgICAgLSBzdGFydCBjbGVhbmluZ1xuIgogImZpbHRlciBieSBwYXR0ZXJuICAgLSBleGNsdWRlIGl0ZW1zIGZyb20gZGVsZXRpb25cbiIKQEAgLTkxMDEsNjQgKzExNDA2LDU2IEBACiAiaGVscCAgICAgICAgICAgICAgICAtIGVzdGEgdmVudGFuYVxuIgogIj8gICAgICAgICAgICAgICAgICAgLSBheXVkYSBwYXJhIHNlbGVjY2nDs24gZGUgb3BjaW9uZXMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzkzCi1tc2dpZCAiKioqIENvbW1hbmRzICoqKiIKLW1zZ3N0ciAiKioqIENvbWFuZG9zICoqKiIKLQotIzogYnVpbHRpbi9jbGVhbi5jOjgyMCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3OTAKLW1zZ2lkICJXaGF0IG5vdyIKLW1zZ3N0ciAiQWhvcmEgcXVlIgotCi0jOiBidWlsdGluL2NsZWFuLmM6ODI4CisjOiBidWlsdGluL2NsZWFuLmM6ODMxCiBtc2dpZCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbToiCiBtc2dpZF9wbHVyYWwgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW1zOiIKIG1zZ3N0clswXSAiU2UgZWxpbWluYXLDoSBlbCBzaWd1aWVudGUgb2JqZXRvOiIKIG1zZ3N0clsxXSAiU2UgZWxpbWluYXLDoW4gbG9zIHNpZ3VpZW50ZXMgb2JqZXRvczoiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NDQKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4NDcKIG1zZ2lkICJObyBtb3JlIGZpbGVzIHRvIGNsZWFuLCBleGl0aW5nLiIKLW1zZ3N0ciAiTm8gaGF5IG1hcyBhcmNoaXZvcyBwYXJhIGxpbXBpYXIsIHNhbGllbmRvLiIKK21zZ3N0ciAiTm8gaGF5IG3DoXMgYXJjaGl2b3MgcGFyYSBsaW1waWFyLCBzYWxpZW5kby4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MDkKIG1zZ2lkICJkbyBub3QgcHJpbnQgbmFtZXMgb2YgZmlsZXMgcmVtb3ZlZCIKIG1zZ3N0ciAibm8gaW1wcmltaXIgbm9tYnJlcyBkZSBhcmNoaXZvcyBib3JyYWRvcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwOAorIzogYnVpbHRpbi9jbGVhbi5jOjkxMQogbXNnaWQgImZvcmNlIgogbXNnc3RyICJmb3J6YXIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTIKIG1zZ2lkICJpbnRlcmFjdGl2ZSBjbGVhbmluZyIKIG1zZ3N0ciAibGltcGllemEgaW50ZXJhY3RpdmEiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTQKIG1zZ2lkICJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImJvcnJhciBkaXJlY3RvcmlvcyBjb21wbGV0b3MiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTIgYnVpbHRpbi9kZXNjcmliZS5jOjU0NSBidWlsdGluL2Rlc2NyaWJlLmM6NTQ3Ci0jOiBidWlsdGluL2dyZXAuYzo4ODYgYnVpbHRpbi9sb2cuYzoxNjYgYnVpbHRpbi9sb2cuYzoxNjgKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTYgYnVpbHRpbi9uYW1lLXJldi5jOjQxNSBidWlsdGluL25hbWUtcmV2LmM6NDE3Ci0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL2NsZWFuLmM6OTE1IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDggYnVpbHRpbi9kZXNjcmliZS5jOjU1MAorIzogYnVpbHRpbi9ncmVwLmM6OTAxIGJ1aWx0aW4vbG9nLmM6MTc3IGJ1aWx0aW4vbG9nLmM6MTc5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU3IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjQgYnVpbHRpbi9uYW1lLXJldi5jOjQ2NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OQogbXNnaWQgInBhdHRlcm4iCiBtc2dzdHIgInBhdHLDs24iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTMKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTYKIG1zZ2lkICJhZGQgPHBhdHRlcm4+IHRvIGlnbm9yZSBydWxlcyIKIG1zZ3N0ciAiYWdyZWdhciA8cGF0csOzbj4gcGFyYSBpZ25vcmFyIHJlZ2xhcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkxNAorIzogYnVpbHRpbi9jbGVhbi5jOjkxNwogbXNnaWQgInJlbW92ZSBpZ25vcmVkIGZpbGVzLCB0b28iCiBtc2dzdHIgImJvcnJhciBhcmNoaXZvcyBpZ25vcmFkb3MsIHRhbWJpw6luIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTE2CisjOiBidWlsdGluL2NsZWFuLmM6OTE5CiBtc2dpZCAicmVtb3ZlIG9ubHkgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiYm9ycmFyIHNvbG8gYXJjaGl2b3MgaWdub3JhZG9zIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTM0CisjOiBidWlsdGluL2NsZWFuLmM6OTM3CiBtc2dpZCAiLXggYW5kIC1YIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICIteCB5IC1YIG5vIHB1ZWRlbiBzZXIgdXNhZGFzIGp1bnRhcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkzOAorIzogYnVpbHRpbi9jbGVhbi5jOjk0MQogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2Ugc2V0IHRvIHRydWUgYW5kIG5laXRoZXIgLWksIC1uLCBub3IgLWYgZ2l2ZW47IHJlZnVzaW5nIHRvICIKICJjbGVhbiIKQEAgLTkxNjYsNyArMTE0NjMsNyBAQAogImNsZWFuLnJlcXVpcmVGb3JjZSBjb25maWd1cmFkbyBjb21vIHRydWUgeSBuaW5ndW5vIC1pLCAtbiwgbmkgLWYgZW50cmVnYWRvczsgIgogInJlaHVzYW5kbyBlbCBjbGVhbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjk0MQorIzogYnVpbHRpbi9jbGVhbi5jOjk0NAogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgIgogInJlZnVzaW5nIHRvIGNsZWFuIgpAQCAtOTE3NCwxNDYgKzExNDcxLDE2NSBAQAogImNsZWFuLnJlcXVpcmVGb3JjZSBkZWZhdWx0IGVuIHRydWUgeSBuaW5ndW5vIC1pLCAtbiwgbmkgLWYgZW50cmVnYWRvczsgIgogInJlaHVzYW5kbyBlbCBjbGVhbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQzCisjOiBidWlsdGluL2Nsb25lLmM6NDUKIG1zZ2lkICJnaXQgY2xvbmUgWzxvcHRpb25zPl0gWy0tXSA8cmVwbz4gWzxkaXI+XSIKIG1zZ3N0ciAiZ2l0IGNsb25lIFs8b3BjaW9uZXM+XSBbLS1dIDxyZXBvPiBbPGRpcmVjdG9yaW8+XSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4CisjOiBidWlsdGluL2Nsb25lLmM6OTMKIG1zZ2lkICJkb24ndCBjcmVhdGUgYSBjaGVja291dCIKIG1zZ3N0ciAibm8gY3JlYXIgY2hlY2tvdXQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OSBidWlsdGluL2Nsb25lLmM6OTEgYnVpbHRpbi9pbml0LWRiLmM6NDgxCisjOiBidWlsdGluL2Nsb25lLmM6OTQgYnVpbHRpbi9jbG9uZS5jOjk2IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4OQogbXNnaWQgImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiY3JlYXIgdW4gcmVwb3NpdG9yaW8gdmFjw61vIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OAogbXNnaWQgImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIgogbXNnc3RyICJjcmVhciB1biByZXBvc2l0b3JpbyBlc3Blam8gKGltcGxpY2EgdmFjw61vKSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1CisjOiBidWlsdGluL2Nsb25lLmM6MTAwCiBtc2dpZCAidG8gY2xvbmUgZnJvbSBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgImNsb25hciBkZSB1biByZXBvc2l0b3JpbyBsb2NhbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk3CisjOiBidWlsdGluL2Nsb25lLmM6MTAyCiBtc2dpZCAiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiCiBtc2dzdHIgIm5vIHVzYXIgaGFyZGxpbmtzLCBzaWVtcHJlIGNvcGlhciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5CisjOiBidWlsdGluL2Nsb25lLmM6MTA0CiBtc2dpZCAic2V0dXAgYXMgc2hhcmVkIHJlcG9zaXRvcnkiCiBtc2dzdHIgImNvbmZpZ3VyYXIgY29tbyByZXBvc2l0b3JpbyBjb21wYXJ0aWRvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxIGJ1aWx0aW4vY2xvbmUuYzoxMDUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcKIG1zZ2lkICJwYXRoc3BlYyIKIG1zZ3N0ciAicGF0aHNwZWMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEgYnVpbHRpbi9jbG9uZS5jOjEwNQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNwogbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCiBtc2dzdHIgImluaWNpYWxpemFyIHN1Ym3Ds2R1bG9zIGVuIGVsIGNsb25hZG8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBjbG9uZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgIm51bWVybyBkZSBzdWJtw7NkdWxvcyBjbG9uYWRvcyBlbiBwYXJhbGVsbyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOSBidWlsdGluL2luaXQtZGIuYzo0NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9pbml0LWRiLmM6NDg2CiBtc2dpZCAidGVtcGxhdGUtZGlyZWN0b3J5IgogbXNnc3RyICJkaXJlY3RvcmlvLXRlbXBsYXRlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OQorIzogYnVpbHRpbi9jbG9uZS5jOjExMiBidWlsdGluL2luaXQtZGIuYzo0ODcKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICJkaXJlY3RvcmlvIGRlbCBjdWFsIGxvcyB0ZW1wbGF0ZXMgc2Vyw6FuIHVzYWRvcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMiBidWlsdGluL2Nsb25lLmM6MTE0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc1Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1NgorIzogYnVpbHRpbi9jbG9uZS5jOjExNCBidWlsdGluL2Nsb25lLmM6MTE2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzkyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NQogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5IgogbXNnc3RyICJyZXBvc2l0b3JpbyBkZSByZWZlcmVuY2lhIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc3Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1OAorIzogYnVpbHRpbi9jbG9uZS5jOjExOCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODcKIG1zZ2lkICJ1c2UgLS1yZWZlcmVuY2Ugb25seSB3aGlsZSBjbG9uaW5nIgogbXNnc3RyICJ1c2EtLXJlZmVyZW5jZSAgc29sYW1lbnRlIHNpIGVzdMOhcyBjbG9uYWRvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE3IGJ1aWx0aW4vY29sdW1uLmM6MjcgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDYKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwMSBidWlsdGluL3JlcGFjay5jOjMyOQorIzogYnVpbHRpbi9jbG9uZS5jOjExOSBidWlsdGluL2NvbHVtbi5jOjI3IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTQgYnVpbHRpbi9yZXBhY2suYzozMjcKIG1zZ2lkICJuYW1lIgogbXNnc3RyICJub21icmUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjAKIG1zZ2lkICJ1c2UgPG5hbWU+IGluc3RlYWQgb2YgJ29yaWdpbicgdG8gdHJhY2sgdXBzdHJlYW0iCiBtc2dzdHIgInVzZSA8bm9tYnJlPiBlbiBsdWdhciBkZSAnb3JpZ2luJyBwYXJhIHJhc3RyZWFyIHVwc3RyZWFtIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTIwCisjOiBidWlsdGluL2Nsb25lLmM6MTIyCiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gaW5zdGVhZCBvZiB0aGUgcmVtb3RlJ3MgSEVBRCIKIG1zZ3N0ciAiY2hlY2tvdXQgPHJhbWE+IGVuIGx1Z2FyIGRlIEhFQUQgcmVtb3RhIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTIyCisjOiBidWlsdGluL2Nsb25lLmM6MTI0CiBtc2dpZCAicGF0aCB0byBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSIKIG1zZ3N0ciAicnV0YSBwYXJhIGdpdC11cGxvYWQtcGFjayBlbiBlbCByZW1vdG8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjMgYnVpbHRpbi9mZXRjaC5jOjE0MiBidWlsdGluL2dyZXAuYzo4MjUKLSM6IGJ1aWx0aW4vcHVsbC5jOjIxNworIzogYnVpbHRpbi9jbG9uZS5jOjEyNSBidWlsdGluL2ZldGNoLmM6MTY4IGJ1aWx0aW4vZ3JlcC5jOjg0MAorIzogYnVpbHRpbi9wdWxsLmM6MjI3CiBtc2dpZCAiZGVwdGgiCiBtc2dzdHIgInByb2Z1bmRpZGFkIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI0CisjOiBidWlsdGluL2Nsb25lLmM6MTI2CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICJjcmVhciB1biBjbG9uIHN1cGVyZmljaWFsIHBhcmEgZXNhIHByb2Z1bmRpZGFkIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI1IGJ1aWx0aW4vZmV0Y2guYzoxNDQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjkyCisjOiBidWlsdGluL2Nsb25lLmM6MTI3IGJ1aWx0aW4vZmV0Y2guYzoxNzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgzCiBtc2dpZCAidGltZSIKIG1zZ3N0ciAidGllbXBvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI2CisjOiBidWlsdGluL2Nsb25lLmM6MTI4CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBzaW5jZSBhIHNwZWNpZmljIHRpbWUiCiBtc2dzdHIgImNyZWFyIHVuIGNsb24gc3VwZXJmaWNpYWwgZGVzZGUgZWwgdGllbXBvIGVzcGVjw61maWNvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI3IGJ1aWx0aW4vZmV0Y2guYzoxNDYgYnVpbHRpbi9mZXRjaC5jOjE2OQotIzogYnVpbHRpbi9yZWJhc2UuYzo4MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjkgYnVpbHRpbi9mZXRjaC5jOjE3MiBidWlsdGluL2ZldGNoLmM6MTk1CisjOiBidWlsdGluL3JlYmFzZS5jOjE0NDUKIG1zZ2lkICJyZXZpc2lvbiIKIG1zZ3N0ciAicmV2aXNpb24iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjggYnVpbHRpbi9mZXRjaC5jOjE0NworIzogYnVpbHRpbi9jbG9uZS5jOjEzMCBidWlsdGluL2ZldGNoLmM6MTczCiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSwgZXhjbHVkaW5nIHJldiIKIG1zZ3N0ciAiYWhvbmRhbmRvIGhpc3RvcmlhIGRlIGNsb24gc3VwZXJmaWNpYWwsIGV4Y2x1eWVuZG8gcmV2IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTMwCisjOiBidWlsdGluL2Nsb25lLmM6MTMyCiBtc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgogbXNnc3RyICJjbG9uYXIgc29sbyB1bmEgcmFtYSxIRUFEIG8gLS1icmFuY2giCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzQKIG1zZ2lkICJkb24ndCBjbG9uZSBhbnkgdGFncywgYW5kIG1ha2UgbGF0ZXIgZmV0Y2hlcyBub3QgdG8gZm9sbG93IHRoZW0iCiBtc2dzdHIgIm5vIGNsb25hciBuaW5nw7puIHRhZywgeSBoYWNlciBxdWUgbG9zIHN1YnNpZ3VpZW50ZXMgZmV0Y2ggbm8gbG9zIHNpZ2FuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM0CisjOiBidWlsdGluL2Nsb25lLmM6MTM2CiBtc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgYmUgc2hhbGxvdyIKIG1zZ3N0ciAiY3VhbHF1aWVyIHN1Ym3Ds2R1bG8gY2xvbmFkbyBzZXLDoSBzdXBlcmZpY2lhbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzNSBidWlsdGluL2luaXQtZGIuYzo0ODcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzcgYnVpbHRpbi9pbml0LWRiLmM6NDk1CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICJnaXRkaXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzYgYnVpbHRpbi9pbml0LWRiLmM6NDg4CisjOiBidWlsdGluL2Nsb25lLmM6MTM4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NgogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgInNlcGFyYSBnaXQgZGlyIGRlbCDDoXJib2wgZGUgdHJhYmFqbyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzNworIzogYnVpbHRpbi9jbG9uZS5jOjEzOQogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAibGxhdmU9dmFsb3IiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDAKIG1zZ2lkICJzZXQgY29uZmlnIGluc2lkZSB0aGUgbmV3IHJlcG9zaXRvcnkiCiBtc2dzdHIgImNvbmZpZ3VyYXIgY29uZmlnIGRlbnRybyBkZWwgbnVldm8gcmVwb3NpdG9yaW8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzkgYnVpbHRpbi9mZXRjaC5jOjE2NSBidWlsdGluL3B1bGwuYzoyMzAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU4MworIzogYnVpbHRpbi9jbG9uZS5jOjE0MiBidWlsdGluL2ZldGNoLmM6MTkwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MyBidWlsdGluL3NlbmQtcGFjay5jOjE3MgorbXNnaWQgInNlcnZlci1zcGVjaWZpYyIKK21zZ3N0ciAiZXNwZWNpZmljby1kZS1zZXJ2aWRvciIKKworIzogYnVpbHRpbi9jbG9uZS5jOjE0MiBidWlsdGluL2ZldGNoLmM6MTkwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MyBidWlsdGluL3NlbmQtcGFjay5jOjE3MworbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKK21zZ3N0ciAib3BjacOzbiBwYXJhIHRyYXNtaXRpciIKKworIzogYnVpbHRpbi9jbG9uZS5jOjE0MyBidWlsdGluL2ZldGNoLmM6MTkxIGJ1aWx0aW4vcHVsbC5jOjI0MAorIzogYnVpbHRpbi9wdXNoLmM6NTc0CiBtc2dpZCAidXNlIElQdjQgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgInNvbG8gdXNhciBkaXJlY2Npb25lcyBJUHY0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTQxIGJ1aWx0aW4vZmV0Y2guYzoxNjcgYnVpbHRpbi9wdWxsLmM6MjMzCi0jOiBidWlsdGluL3B1c2guYzo1ODUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDUgYnVpbHRpbi9mZXRjaC5jOjE5MyBidWlsdGluL3B1bGwuYzoyNDMKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3NgogbXNnaWQgInVzZSBJUHY2IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICJzb2xvIHVzYXIgZGlyZWNjaW9uZXMgSVB2NiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjI3OQorIzogYnVpbHRpbi9jbG9uZS5jOjE0OQorbXNnaWQgImFueSBjbG9uZWQgc3VibW9kdWxlcyB3aWxsIHVzZSB0aGVpciByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgorbXNnc3RyICJjdWFscXVpZXIgc3VibcOzZHVsbyBjbG9uYWRvIHVzYXLDoSBzdSBicmFuY2ggZGUgcmFzdHJlbyByZW1vdG8iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNTEKK21zZ2lkICJpbml0aWFsaXplIHNwYXJzZS1jaGVja291dCBmaWxlIHRvIGluY2x1ZGUgb25seSBmaWxlcyBhdCByb290IgorbXNnc3RyICIiCisiaW5pY2lhbGl6YXIgYXJjaGl2byBzcGFyc2UtY2hlY2tvdXQgcGFyYSBpbmNsdWlyIHNvbG8gYXJjaGl2b3MgZW4gbGEgcmHDrXoiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyODcKIG1zZ2lkICIiCiAiTm8gZGlyZWN0b3J5IG5hbWUgY291bGQgYmUgZ3Vlc3NlZC5cbiIKICJQbGVhc2Ugc3BlY2lmeSBhIGRpcmVjdG9yeSBvbiB0aGUgY29tbWFuZCBsaW5lIgpAQCAtOTMyMSwxNDYgKzExNjM3LDE0NSBAQAogIk5vIHNlIHB1ZG8gYWRpdmluYXIgbmluZ8O6biBub21icmUgZGUgZGlyZWN0b3Jpby5cbiIKICJQb3IgZmF2b3IgZXNwZWNpZmlxdWUgdW4gZGlyZWN0b3JpbyBlbiBsYSBsw61uZWEgZGUgY29tYW5kbyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMzMgorIzogYnVpbHRpbi9jbG9uZS5jOjM0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZvOiBDb3VsZCBub3QgYWRkIGFsdGVybmF0ZSBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAiaW5mbzogTm8gc2UgcHVkbyBhZ3JlZ2FyIHVuIGFsdGVybm8gcGFyYSAnJXMnOiAlc1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDA0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCi1tc2dzdHIgImZhbGzDsyBhbCBhYnJpciAnJXMnIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NDEyCisjOiBidWlsdGluL2Nsb25lLmM6NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGV4aXN0cyBhbmQgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICIlcyBleGlzdGUgcGVybyBubyBlcyB1biBkaXJlY3RvcmlvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDI2CisjOiBidWlsdGluL2Nsb25lLmM6NDMwCiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCi1tc2dzdHIgImZhbGzDsyBhbCBhbmFsaXphciAlc1xuIgorbXNnaWQgImZhaWxlZCB0byBzdGFydCBpdGVyYXRvciBvdmVyICclcyciCittc2dzdHIgImZhbGzDsyBhbCBpbmljaWFyIGVsIGl0ZXJhZG9yIHNvYnJlICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHVubGluayAnJXMnIgotbXNnc3RyICJmYWxsw7MgYWwgZGVzdmluY3VsYXIgJyVzJyIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjQ0OAorIzogYnVpbHRpbi9jbG9uZS5jOjQ2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGxpbmsgJyVzJyIKIG1zZ3N0ciAiZmFsbMOzIGFsIGNyZWFyIGxpbmsgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ1MgorIzogYnVpbHRpbi9jbG9uZS5jOjQ2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCiBtc2dzdHIgImZhbGzDsyBhbCBjb3BpYXIgYXJjaGl2byBhICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGl0ZXJhdGUgb3ZlciAnJXMnIgorbXNnc3RyICJmYWxsw7MgYWwgaXRlcmFyIHNvYnJlICclcyciCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG9uZS5cbiIKIG1zZ3N0ciAiaGVjaG8uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0OTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1MDgKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgotImFuZCByZXRyeSB0aGUgY2hlY2tvdXQgd2l0aCAnZ2l0IGNoZWNrb3V0IC1mIEhFQUQnXG4iCisiYW5kIHJldHJ5IHdpdGggJ2dpdCByZXN0b3JlIC0tc291cmNlPUhFQUQgOi8nXG4iCiBtc2dzdHIgIiIKICJDbG9uYWRvIGV4aXRvc28sIHBlcm8gZmFsbMOzIGVsIGNoZWNrb3V0LlxuIgotIlB1ZWRlIGluc3BlY2Npb25hciBhIHF1w6kgc2UgaGl6byBjaGVja291dCBjb24gJ2dpdCBzdGF0dXMnXG4iCi0ieSB2b2x2ZXIgYSBpbnRlbnRhcmxvIGNvbiAnZ2l0IGNoZWNrb3V0IC1mIEhFQUQnXG4iCisiUHVlZGVzIGluc3BlY2Npb25hciBhIHF1w6kgc2UgaGl6byBjaGVja291dCBjb24gJ2dpdCBzdGF0dXMnXG4iCisieSB2b2x2ZXIgYSBpbnRlbnRhcmxvIGNvbiAnZ2l0IHJlc3RvcmUgLS1zb3VyY2U9SEVBRCA6LydcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjU2OQorIzogYnVpbHRpbi9jbG9uZS5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCByZW1vdGUgYnJhbmNoICVzIHRvIGNsb25lLiIKIG1zZ3N0ciAiTm8gc2UgcHVkbyBlbmNvbnRyYXIgbGEgcmFtYSByZW1vdGEgJXMgcGFyYSBjbG9uYXIuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjgwCisjOiBidWlsdGluL2Nsb25lLmM6NzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgJXMiCiBtc2dzdHIgImluY2FwYXogZGUgYWN0dWFsaXphciAlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjczMAorIzogYnVpbHRpbi9jbG9uZS5jOjc1MgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIHNwYXJzZS1jaGVja291dCIKK21zZ3N0ciAiZmFsbMOzIGFsIGluaWNpYWxpemFyIHNwYXJzZS1jaGVja291dCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjc3NQogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAiIgogInJlbW90byBIRUFEIHJlZmllcmUgYSB1biByZWYgaW5leGlzdGVudGUsIG5vIHNlIHB1ZWRlIGhhY2VyIGNoZWNrb3V0LlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzYxCisjOiBidWlsdGluL2Nsb25lLmM6ODA2CiBtc2dpZCAidW5hYmxlIHRvIGNoZWNrb3V0IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSByZWFsaXphciBjaGVja291dCBlbiBlbCDDoXJib2wgZGUgdHJhYmFqbyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgwNgorIzogYnVpbHRpbi9jbG9uZS5jOjg1NgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBwYXJhbWV0ZXJzIHRvIGNvbmZpZyBmaWxlIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGVzY3JpYmlyIHBhcsOhbWV0cm9zIGFsIGFyY2hpdm8gY29uZmlnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODY5CisjOiBidWlsdGluL2Nsb25lLmM6OTE5CiBtc2dpZCAiY2Fubm90IHJlcGFjayB0byBjbGVhbiB1cCIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgcmVlbXBhcXVldGFyIHBhcmEgbGltcGlhciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg3MQorIzogYnVpbHRpbi9jbG9uZS5jOjkyMQogbXNnaWQgImNhbm5vdCB1bmxpbmsgdGVtcG9yYXJ5IGFsdGVybmF0ZXMgZmlsZSIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgZGVzdmluY3VsYXIgYXJjaGl2b3MgYWx0ZXJub3MgdGVtcG9yYWxlcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxMSBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NTkgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQ4CiBtc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKIG1zZ3N0ciAiTXVjaG9zIGFyZ3VtZW50b3MuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTE1CisjOiBidWlsdGluL2Nsb25lLmM6OTYzCiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgogbXNnc3RyICJUaWVuZXMgcXVlIGVzcGVjaWZpY2FyIHVuIHJlcG9zaXRvcmlvIHBhcmEgY2xvbmFyLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyOAorIzogYnVpbHRpbi9jbG9uZS5jOjk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICItLWJhcmUgYW5kIC0tb3JpZ2luICVzIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgIkxhcyBvcGNpb25lcyAtLWJhcmUgeSAtLW9yaWdpbiAlcyBzb24gaW5jb21wYXRpYmxlcy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NzkKIG1zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiLS1iYXJlIHkgLS1zZXBhcmF0ZS1naXQtZGlyIHNvbiBpbmNvbXBhdGlibGVzLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0NAorIzogYnVpbHRpbi9jbG9uZS5jOjk5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBvc2l0b3J5ICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgInJlcG9zaXRvcmlvICclcycgbm8gZXhpc3RlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTUwIGJ1aWx0aW4vZmV0Y2guYzoxNjA2CisjOiBidWlsdGluL2Nsb25lLmM6OTk4IGJ1aWx0aW4vZmV0Y2guYzoxNzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKIG1zZ3N0ciAicHJvZnVuZGlkYWQgJXMgbm8gZXMgdW4gbnVtZXJvIHBvc2l0aXZvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTYwCisjOiBidWlsdGluL2Nsb25lLmM6MTAwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiBwYXRoICclcycgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhbiBlbXB0eSBkaXJlY3RvcnkuIgogbXNnc3RyICJsYSBydXRhIGRlIGRlc3Rpbm8gJyVzJyB5YSBleGlzdGUgeSBubyBlcyB1biBkaXJlY3RvcmlvIHZhY8Otby4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIndvcmtpbmcgdHJlZSAnJXMnIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAiZGlyZWN0b3JpbyBkZSB0cmFiYWpvICclcycgeWEgZXhpc3RlLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4NSBidWlsdGluL2Nsb25lLmM6MTAwNiBidWlsdGluL2RpZmZ0b29sLmM6MjcxCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Mjk1IGJ1aWx0aW4vd29ya3RyZWUuYzozMjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDMzIGJ1aWx0aW4vY2xvbmUuYzoxMDU0IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTg2NiBidWlsdGluL3dvcmt0cmVlLmM6MzAyIGJ1aWx0aW4vd29ya3RyZWUuYzozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gY3JlYXIgZGlyZWN0b3Jpb3MgcHJpbmNpcGFsZXMgZGUgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gY3JlYXIgdW4gw6FyYm9sIGRlIHRyYWJham8gJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byBiYXJlIHJlcG9zaXRvcnkgJyVzJy4uLlxuIgogbXNnc3RyICJDbG9uYW5kbyBlbiB1biByZXBvc2l0b3JpbyB2YWPDrW8gJyVzJy4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxMgorIzogYnVpbHRpbi9jbG9uZS5jOjEwNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAiQ2xvbmFuZG8gZW4gJyVzJy4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAzNgorIzogYnVpbHRpbi9jbG9uZS5jOjEwODQKIG1zZ2lkICIiCiAiY2xvbmUgLS1yZWN1cnNpdmUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBib3RoIC0tcmVmZXJlbmNlIGFuZCAtLXJlZmVyZW5jZS1pZi0iCiAiYWJsZSIKQEAgLTk0NjgsMzYgKzExNzgzLDM2IEBACiAiY2xvbmUgLS1yZWN1cnNpdmUgbm8gZXMgY29tcGF0aWJsZSBjb24gLS1yZWZlcmVuY2UgeSAtLXJlZmVyZW5jZS1pZi1hYmxlIGFsICIKICJtaXNtbyB0aWVtcG8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDk3CisjOiBidWlsdGluL2Nsb25lLmM6MTE0OAogbXNnaWQgIi0tZGVwdGggaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICItLWRlcHRoIGVzIGlnbm9yYWRhIGVuIGNsb25hY2lvbmVzIGxvY2FsZXM7IHVzYSBmaWxlOi8vIG3DoXMgYmllbi4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDk5CisjOiBidWlsdGluL2Nsb25lLmM6MTE1MAogbXNnaWQgIi0tc2hhbGxvdy1zaW5jZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIi0tc2hhbGxvdy1zaW5jZSBlcyBpZ25vcmFkbyBlbiBlbCBjbG9uIGxvY2FsOyB1c2UgZmlsZTovLyAuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEwMQorIzogYnVpbHRpbi9jbG9uZS5jOjExNTIKIG1zZ2lkICItLXNoYWxsb3ctZXhjbHVkZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIi0tc2hhbGxvdy1leGNsdWRlIGVzIGlnbm9yYWRvIGVuIGNsb25lcyBsb2NhbGVzOyB1c2UgZmlsZTovLy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAzCisjOiBidWlsdGluL2Nsb25lLmM6MTE1NAogbXNnaWQgIi0tZmlsdGVyIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiLS1maWx0ZXIgZXMgaWdub3JhZG8gZW4gY2xvbmVzIGxvY2FsZXM7IHVzYSBmaWxlOi8vIGVuIHN1IGx1Z2FyLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMDYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTU3CiBtc2dpZCAic291cmNlIHJlcG9zaXRvcnkgaXMgc2hhbGxvdywgaWdub3JpbmcgLS1sb2NhbCIKIG1zZ3N0ciAicmVwb3NpdG9yaW8gZnVlbnRlIGVzIHN1cGVyZmljaWFsLCBpZ25vcmFuZG8gLS1sb2NhbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMTEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTYyCiBtc2dpZCAiLS1sb2NhbCBpcyBpZ25vcmVkIgogbXNnc3RyICItLWxvY2FsIGVzIGlnbm9yYWRvIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE4MSBidWlsdGluL2Nsb25lLmM6MTE4OQorIzogYnVpbHRpbi9jbG9uZS5jOjEyMzcgYnVpbHRpbi9jbG9uZS5jOjEyNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIlJhbWEgcmVtb3RhICVzIG5vIGVuY29udHJhZGEgZW4gdXBzdHJlYW0gJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTkyCisjOiBidWlsdGluL2Nsb25lLmM6MTI0OAogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIlBhcmVjZXMgaGFiZXIgY2xvbmFkbyB1biByZXBvc2l0b3JpbyBzaW4gY29udGVuaWRvLiIKIApAQCAtOTUzMywyNSArMTE4NDgsOTMgQEAKIG1zZ2lkICItLWNvbW1hbmQgbXVzdCBiZSB0aGUgZmlyc3QgYXJndW1lbnQiCiBtc2dzdHIgIi0tY29tbWFuZCBkZWJlIHNlciBlbCBwcmltZXIgYXJndW1lbnRvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQwCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTgKK21zZ2lkICIiCisiZ2l0IGNvbW1pdC10cmVlIFsoLXAgPHBhcmVudD4pLi4uXSBbLVNbPGtleWlkPl1dIFsoLW0gPG1lc3NhZ2U+KS4uLl0gWygtRiAiCisiPGZpbGU+KS4uLl0gPHRyZWU+IgorbXNnc3RyICIiCisiZ2l0IGNvbW1pdC10cmVlIFsoLXAgPHBhZHJlPikuLi5dIFstU1s8a2V5aWQ+XV0gWygtbSA8bWVuc2FqZT4pLi4uXSBbKC1GICIKKyI8YXJjaGl2bz4pLi4uXSA8w6FyYm9sPiIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImR1cGxpY2F0ZSBwYXJlbnQgJXMgaWdub3JlZCIKK21zZ3N0ciAicGFkcmUgZHVwbGljYWRvICVzIGlnbm9yYWRvIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6NTYgYnVpbHRpbi9jb21taXQtdHJlZS5jOjEzNiBidWlsdGluL2xvZy5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKK21zZ3N0ciAibm8gZXMgdW4gbm9tYnJlIGRlIG9iamV0byB2w6FsaWRvICVzIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gb3BlbiAnJXMnIgorbXNnc3RyICJnaXQgY29tbWl0LXRyZWU6IGZhbGzDsyBhbCBhYnJpciAnJXMnIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gcmVhZCAnJXMnIgorbXNnc3RyICJnaXQgY29tbWl0LXRyZWU6IGZhbGzDsyBhbCBsZWVyICclcyciCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byBjbG9zZSAnJXMnIgorbXNnc3RyICJnaXQgY29tbWl0LXRyZWU6IGZhbGzDsyBhbCBjZXJyYXIgJyVzJyIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExMQorbXNnaWQgInBhcmVudCIKK21zZ3N0ciAicGFkcmUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTIKK21zZ2lkICJpZCBvZiBhIHBhcmVudCBjb21taXQgb2JqZWN0IgorbXNnc3RyICJpZCBkZWwgb2JqZXRvIGNvbW1pdCBwYWRyZSIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExNCBidWlsdGluL2NvbW1pdC5jOjE0OTYgYnVpbHRpbi9tZXJnZS5jOjI3MAorIzogYnVpbHRpbi9ub3Rlcy5jOjQwOSBidWlsdGluL25vdGVzLmM6NTc1IGJ1aWx0aW4vc3Rhc2guYzoxNDY5CisjOiBidWlsdGluL3RhZy5jOjQxMgorbXNnaWQgIm1lc3NhZ2UiCittc2dzdHIgIm1lbnNhamUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTUgYnVpbHRpbi9jb21taXQuYzoxNDk2Cittc2dpZCAiY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgIm1lbnNhamUgZGVsIGNvbW1pdCIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExOAorbXNnaWQgInJlYWQgY29tbWl0IGxvZyBtZXNzYWdlIGZyb20gZmlsZSIKK21zZ3N0ciAibGVlciBtZW5zYWplIGRlIGNvbW1pdCBkZXNkZSB1biBhcmNoaXZvIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTIxIGJ1aWx0aW4vY29tbWl0LmM6MTUwOCBidWlsdGluL21lcmdlLmM6Mjg3CisjOiBidWlsdGluL3B1bGwuYzoxOTUgYnVpbHRpbi9yZXZlcnQuYzoxMTgKK21zZ2lkICJHUEcgc2lnbiBjb21taXQiCittc2dzdHIgIkZpcm1hciBjb21taXQgY29uIEdQRyIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjEzMworbXNnaWQgIm11c3QgZ2l2ZSBleGFjdGx5IG9uZSB0cmVlIgorbXNnc3RyICJ0aWVuZSBxdWUgZGFyIGV4YWN0YW1lbnRlIHVuIMOhcmJvbCIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjE0MAorbXNnaWQgImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIHJlYWQiCittc2dzdHIgImdpdCBjb21taXQtdHJlZTogZmFsbMOzIGFsIGxlZXIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDEKIG1zZ2lkICJnaXQgY29tbWl0IFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IGNvbW1pdCBbPG9wY2lvbmVzPl0gWy0tXSA8ZXNwZWNpZmljYWNpw7NuLWRlLXJ1dGE+Li4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjQ2CiBtc2dpZCAiZ2l0IHN0YXR1cyBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBzdGF0dXMgWzxvcGNpb25lcz5dIFstLV0gPGVzcGVjaWZpY2FjacOzbi1kZS1ydXRhPi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1MAorIzogYnVpbHRpbi9jb21taXQuYzo1MQogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gYW1lbmQgdGhlIG1vc3QgcmVjZW50IGNvbW1pdCwgYnV0IGRvaW5nIHNvIHdvdWxkIG1ha2VcbiIKICJpdCBlbXB0eS4gWW91IGNhbiByZXBlYXQgeW91ciBjb21tYW5kIHdpdGggLS1hbGxvdy1lbXB0eSwgb3IgeW91IGNhblxuIgogInJlbW92ZSB0aGUgY29tbWl0IGVudGlyZWx5IHdpdGggXCJnaXQgcmVzZXQgSEVBRF5cIi5cbiIKIG1zZ3N0ciAiIgotIkhhcyBzb2xpY2l0YWRvIHVuIGFtZW5kIGVuIHR1IGNvbW1pdCBtYXMgcmVjaWVudGUsIHBlcm8gaGFjZXJsbyBsbyBcbiIKKyJIYXMgc29saWNpdGFkbyB1biBhbWVuZCBlbiB0dSBjb21taXQgbcOhcyByZWNpZW50ZSwgcGVybyBoYWNlcmxvIGxvIFxuIgogInZhY2lhcsOtYS4gUHVlZGVzIHJlcGV0aXIgZWwgY29tYW5kbyBjb24gLS1hbG93LWVtcHR5LCBvIHB1ZWRlcyBlbGltaW5hclxuIgogImVsIGNvbW1pdCBjb21wbGV0YW1lbnRlIGNvbiBcImdpdCByZXNldCBIRUFEXlwiLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU1CisjOiBidWlsdGluL2NvbW1pdC5jOjU2CiBtc2dpZCAiIgogIlRoZSBwcmV2aW91cyBjaGVycnktcGljayBpcyBub3cgZW1wdHksIHBvc3NpYmx5IGR1ZSB0byBjb25mbGljdCByZXNvbHV0aW9uLlxuIgogIklmIHlvdSB3aXNoIHRvIGNvbW1pdCBpdCBhbnl3YXksIHVzZTpcbiIKQEAgLTk1NjEsODYgKzExOTQ0LDEwMCBAQAogbXNnc3RyICIiCiAiRWwgY2hlcnJ5LXBpY2sgYW50ZXJpb3IgYWhvcmEgZXN0w6EgdmFjw61vLCBwb3NpYmxlbWVudGUgcG9yIHVuIGNvbmZsaWN0byBkZSAiCiAicmVzb2x1Y2nDs24uXG4iCi0iU2kgZGVzZWEgcmVhbGl6YXIgdW4gY29tbWl0IGRlIHRvZGFzIG1hbmVyYXMsIHVzZTpcbiIKKyJTaSBkZXNlYXMgcmVhbGl6YXIgdW4gY29tbWl0IGRlIHRvZGFzIG1hbmVyYXMsIHVzYTpcbiIKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5XG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjIKLW1zZ2lkICJPdGhlcndpc2UsIHBsZWFzZSB1c2UgJ2dpdCByZXNldCdcbiIKLW1zZ3N0ciAiQ2FzbyBjb250cmFyaW8sIHBvciBmYXZvciB1c2EgJ2dpdCByZXNldCdcbiIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjMKK21zZ2lkICJPdGhlcndpc2UsIHBsZWFzZSB1c2UgJ2dpdCBjaGVycnktcGljayAtLXNraXAnXG4iCittc2dzdHIgIkNhc28gY29udHJhcmlvLCBwb3IgZmF2b3IgdXNhICdnaXQgY2hlcnJ5LXBpY2sgLS1za2lwJ1xuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY1CisjOiBidWlsdGluL2NvbW1pdC5jOjY2CiBtc2dpZCAiIgorImFuZCB0aGVuIHVzZTpcbiIKKyJcbiIKKyIgICAgZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcbiIKKyJcbiIKKyJ0byByZXN1bWUgY2hlcnJ5LXBpY2tpbmcgdGhlIHJlbWFpbmluZyBjb21taXRzLlxuIgogIklmIHlvdSB3aXNoIHRvIHNraXAgdGhpcyBjb21taXQsIHVzZTpcbiIKICJcbiIKLSIgICAgZ2l0IHJlc2V0XG4iCisiICAgIGdpdCBjaGVycnktcGljayAtLXNraXBcbiIKICJcbiIKLSJUaGVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiB3aWxsIHJlc3VtZSBjaGVycnktcGlja2luZ1xuIgotInRoZSByZW1haW5pbmcgY29tbWl0cy5cbiIKIG1zZ3N0ciAiIgotIlNpIHF1aWVyZSBzYWx0YXIgZXN0ZSBjb21taXQsIHVzZTpcbiIKKyJ5IGx1ZWdvIHVzYTpcbiIKICJcbiIKLSIgICAgZ2l0IHJlc2V0XG4iCisiICAgZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcbiIKICJcbiIKLSJMdWVnbyBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgY29udGludWFyYSBlbCBjaGVycnktcGlja2luZ1xuIgotInBhcmEgbG9zIGNvbW1pdHMgcmVzdGFudGVzLlxuIgorInBhcmEgcmVzdW1pciBlbCBjaGVycnktcGljayBjb24gbG9zIGNvbW1pdHMgZmFsdGFudGVzLlxuIgorIlNpIGRlc2VhcyBzYWx0YXIgZWwgY29tbWl0LCB1c2E6XG4iCisiXG4iCisiICAgICBnaXQgY2hlcnJ5LXBpY2sgLS1za2lwXG4iCisiXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzExCisjOiBidWlsdGluL2NvbW1pdC5jOjMxNQogbXNnaWQgImZhaWxlZCB0byB1bnBhY2sgSEVBRCB0cmVlIG9iamVjdCIKIG1zZ3N0ciAiZmFsbMOzIGFsIGRlc2VtcGFxdWV0YXIgb2JqZXRvIGRlbCDDoXJib2wgSEVBRCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzUxCittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICItLXBhdGhzcGVjLWZyb20tZmlsZSBjb24gLWEgbm8gdGllbmUgc2VudGlkbyIKKworIzogYnVpbHRpbi9jb21taXQuYzozNjQKK21zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCittc2dzdHIgIk5vIGhheSBydXRhcyBjb24gLS1pbmNsdWRlLy0tb25seSBubyB0aWVuZSBzZW50aWRvLiIKKworIzogYnVpbHRpbi9jb21taXQuYzozNzYKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBjcmVhciB1biDDrW5kaWNlIHRlbXBvcmFsIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1OAorIzogYnVpbHRpbi9jb21taXQuYzozODIKIG1zZ2lkICJpbnRlcmFjdGl2ZSBhZGQgZmFpbGVkIgogbXNnc3RyICJhZGljacOzbiBpbnRlcmFjdGl2YSBmYWxsaWRhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM3MQorIzogYnVpbHRpbi9jb21taXQuYzozOTYKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBhY3R1YWxpemFyIGVsIMOtbmRpY2UgdGVtcG9yYWwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzczCisjOiBidWlsdGluL2NvbW1pdC5jOjM5OAogbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgbWFpbiBjYWNoZSB0cmVlIgogbXNnc3RyICJGYWxsw7MgYWwgYWN0dWFsaXphciBlbCBjYWNoZSBwcmluY2lwYWwgZGVsIMOhcmJvbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozOTggYnVpbHRpbi9jb21taXQuYzo0MjEgYnVpbHRpbi9jb21taXQuYzo0NjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDIzIGJ1aWx0aW4vY29tbWl0LmM6NDQ2IGJ1aWx0aW4vY29tbWl0LmM6NDkyCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGVzY3JpYmlyIGFyY2hpdm8gbmV3X2luZGV4IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1MAorIzogYnVpbHRpbi9jb21taXQuYzo0NzUKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBtZXJnZS4iCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIHJlYWxpemFyIHVuIGNvbW1pdCBwYXJjaWFsIGR1cmFudGUgdW5hIGZ1c2nDs24uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1MgorIzogYnVpbHRpbi9jb21taXQuYzo0NzcKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIHJlYWxpemFyIHVuIGNvbW1pdCBwYXJjaWFsIGR1cmFudGUgdW4gY2hlcnJ5LXBpY2suIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ2MAorIzogYnVpbHRpbi9jb21taXQuYzo0ODUKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGxlZXIgZWwgw61uZGljZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTA0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRlbXBvcmFyeSBpbmRleCBmaWxlIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGVzY3JpYmlyIGVsIMOtbmRpY2UgdGVtcG9yYWwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTc3CisjOiBidWlsdGluL2NvbW1pdC5jOjYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJyVzJyBsYWNrcyBhdXRob3IgaGVhZGVyIgogbXNnc3RyICJjb21taXQgJyVzJyByZXF1aWVyZSBjYWJlY2VyYSBkZSBhdXRvciIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAnJXMnIGhhcyBtYWxmb3JtZWQgYXV0aG9yIGxpbmUiCiBtc2dzdHIgImVsIGNvbW1pdCAnJXMnIHRpZW5lIHVuYSBsw61uZWEgZGUgYXV0b3IgbWFsIGZvcm1hZGEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTk4CisjOiBidWlsdGluL2NvbW1pdC5jOjYyMwogbXNnaWQgIm1hbGZvcm1lZCAtLWF1dGhvciBwYXJhbWV0ZXIiCiBtc2dzdHIgInBhcsOhbWV0cm8gLS1hdXRob3IgbWFsIGZvcm1hZG8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjUwCisjOiBidWlsdGluL2NvbW1pdC5jOjY3NgogbXNnaWQgIiIKICJ1bmFibGUgdG8gc2VsZWN0IGEgY29tbWVudCBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgdXNlZFxuIgogImluIHRoZSBjdXJyZW50IGNvbW1pdCBtZXNzYWdlIgpAQCAtOTY0OCwzOCArMTIwNDUsMzggQEAKICJubyBlcyBwb3NpYmxlIHNlbGVjY2lvbmFyIHVuIGNhcsOhY3RlciBkZSBjb21lbnRhcmlvIHF1ZSBubyBlcyB1c2Fkb1xuIgogImVuIGVsIG1lbnNhamUgZGUgY29tbWl0IGFjdHVhbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2ODcgYnVpbHRpbi9jb21taXQuYzo3MjAgYnVpbHRpbi9jb21taXQuYzoxMDQ5CisjOiBidWlsdGluL2NvbW1pdC5jOjcxNCBidWlsdGluL2NvbW1pdC5jOjc0NyBidWlsdGluL2NvbW1pdC5jOjEwOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gcmV2aXNhciBlbCBjb21taXQgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Njk5IGJ1aWx0aW4vc2hvcnRsb2cuYzozMTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzI2IGJ1aWx0aW4vc2hvcnRsb2cuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAiKGxleWVuZG8gbWVuc2FqZXMgZGUgbG9ncyBkZXNkZSBzdGFuZGFyZCBpbnB1dClcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzI4CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gbGVlciBsb2cgZGVzZGUgc3RhbmRhcmQgaW5wdXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzA1CisjOiBidWlsdGluL2NvbW1pdC5jOjczMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZmlsZSAnJXMnIgogbXNnc3RyICJubyBzZSBwdWRvIGxlZXIgZWwgbG9nICclcyciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzM0IGJ1aWx0aW4vY29tbWl0LmM6NzQyCisjOiBidWlsdGluL2NvbW1pdC5jOjc2MyBidWlsdGluL2NvbW1pdC5jOjc3OQogbXNnaWQgImNvdWxkIG5vdCByZWFkIFNRVUFTSF9NU0ciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gbGVlciBTUVVBU0hfTVNHIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczOQorIzogYnVpbHRpbi9jb21taXQuYzo3NzAKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NU0ciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gbGVlciBNRVJHRV9NU0ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzkzCisjOiBidWlsdGluL2NvbW1pdC5jOjgzMAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBjb21taXQgdGVtcGxhdGUiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gZXNjcmliaXIgZWwgdGVtcGxhdGUgZGVsIGNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTk2OTAsMTEgKzEyMDg3LDExIEBACiBtc2dzdHIgIiIKICJcbiIKICJQYXJlY2UgcXVlIGVzdMOhcyBoYWNpZW5kbyB1biBjb21taXQgY29uIHVuYSBmdXNpw7NuIGRlbnRyby5cbiIKLSJTaSBlc3RvIG5vIGVzIGNvcnJlY3RvLCBwb3IgZmF2b3IgcmVtdWV2ZSBlbCBhcmNoaXZvXG4iCisiU2kgZXN0byBubyBlcyBjb3JyZWN0bywgcG9yIGZhdm9yIGVsaW1pbmEgZWwgYXJjaGl2b1xuIgogIlx0JXNcbiIKICJ5IHZ1ZWx2ZSBhIGludGVudGFyLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgxNgorIzogYnVpbHRpbi9jb21taXQuYzo4NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtOTcwNCwxNzggKzEyMTAxLDE3MCBAQAogImFuZCB0cnkgYWdhaW4uXG4iCiBtc2dzdHIgIiIKICJcbiIKLSJQYXJlY2UgcXVlIHB1ZWRlIGVzdGFyIGhhY2llbmRvIHVuIGNvbW1pdCBhIHVuIGNoZXJyeS1waWNrLlxuIgotIlNpIGVzdG8gbm8gZXMgY29ycmVjdG8sIHBvciBmYXZvciBlbGltaW5lIGVsIGFyY2hpdm9cbiIKKyJQYXJlY2UgcXVlIHB1ZWRlcyBlc3RhciBoYWNpZW5kbyB1biBjb21taXQgYSB1biBjaGVycnktcGljay5cbiIKKyJTaSBlc3RvIG5vIGVzIGNvcnJlY3RvLCBwb3IgZmF2b3IgZWxpbWluYSBlbCBhcmNoaXZvXG4iCiAiXHQlc1xuIgotInkgdnVlbHZhIGEgaW50ZW50YXIuXG4iCisieSB2dWVsdmUgYSBpbnRlbnRhci5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCiAid2l0aCAnJWMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCiBtc2dzdHIgIiIKLSJQb3IgZmF2b3IgaW5ncmVzZSBlbCBtZW5zYWplIGRlbCBjb21taXQgcGFyYSBzdXMgY2FtYmlvcy4gTGFzIGzDrW5lYXMgcXVlICIKLSJjb21pZW5jZW5cbiIKLSJjb24gJyVjJyBzZXLDoW4gaWdub3JhZGFzLCB5IHVuIG1lbnNhamUgdmFjw61vIGFib3J0YSBlbCBjb21taXQuXG4iCisiUG9yIGZhdm9yIGluZ3Jlc2EgZWwgbWVuc2FqZSBkZWwgY29tbWl0IHBhcmEgdHVzIGNhbWJpb3MuIExhc1xuIgorIiBsw61uZWFzIHF1ZSBjb21pZW5jZW4gY29uICclYycgc2Vyw6FuIGlnbm9yYWRhcywgeSB1biBtZW5zYWplXG4iCisiIHZhY8OtbyBhYm9ydGEgZWwgY29tbWl0LlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgzNworIzogYnVpbHRpbi9jb21taXQuYzo4NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKICJ3aXRoICclYycgd2lsbCBiZSBrZXB0OyB5b3UgbWF5IHJlbW92ZSB0aGVtIHlvdXJzZWxmIGlmIHlvdSB3YW50IHRvLlxuIgogIkFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCiBtc2dzdHIgIiIKLSJQb3IgZmF2b3IgaW5ncmVzZSBlbCBtZW5zYWplIGRlbCBjb21taXQgcGFyYSBzdXMgY2FtYmlvcy4gTGFzIGzDrW5lYXMgcXVlICIKLSJjb21pZW5jZW5cbiIKLSJjb24gJyVjJyBzZXLDoW4gZ3VhcmRhZGFzOyBwdWVkZSBlbGltaW5hcmxhcyB1c3RlZCBtaXNtbyBzaSBkZXNlYS5cbiIKKyJQb3IgZmF2b3IgaW5ncmVzYSBlbCBtZW5zYWplIGRlbCBjb21taXQgcGFyYSB0dXMgY2FtYmlvcy4gTGFzXG4iCisiIGzDrW5lYXMgcXVlIGNvbWllbmNlbiBjb24gJyVjJyBzZXLDoW4gZ3VhcmRhZGFzOyBwdWVkZSBlbGltaW5hcmxhc1xuIgorIiB1c3RlZCBtaXNtbyBzaSBsbyBkZXNlYS5cbiIKICJVbiBtZW5zYWplIHZhY8OtbyBhYm9ydGEgZWwgY29tbWl0LlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg1NAorIzogYnVpbHRpbi9jb21taXQuYzo4OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNBdXRob3I6ICAgICUuKnMgPCUuKnM+IgogbXNnc3RyICIlc0F1dG9yOiAgICAgJS4qcyA8JS4qcz4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODYyCisjOiBidWlsdGluL2NvbW1pdC5jOjkwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0RhdGU6ICAgICAgJXMiCiBtc2dzdHIgIiVzRmVjaGE6ICAgICAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQ29tbWl0dGVyOiAlLipzIDwlLipzPiIKIG1zZ3N0ciAiJXNDb21taXR0ZXI6ICUuKnMgPCUuKnM+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg4NworIzogYnVpbHRpbi9jb21taXQuYzo5MjUKIG1zZ2lkICJDYW5ub3QgcmVhZCBpbmRleCIKIG1zZ3N0ciAiTm8gc2UgcHVlZGUgbGVlciBlbCDDrW5kaWNlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk1MworIzogYnVpbHRpbi9jb21taXQuYzo5OTIKIG1zZ2lkICJFcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAiRXJyb3IgYWwgY29uc3RydWlyIGxvcyDDoXJib2xlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NjcgYnVpbHRpbi90YWcuYzoyNTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTAwNiBidWlsdGluL3RhZy5jOjI3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCiBtc2dzdHIgIlBvciBmYXZvciBzdW1pbmlzdHJhIGVsIG1lbnNhamUgdXNhbmRvIGxhcyBvcGNpb25lcyAtbSBvIC1GLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA1MAogIywgYy1mb3JtYXQKIG1zZ2lkICItLWF1dGhvciAnJXMnIGlzIG5vdCAnTmFtZSA8ZW1haWw+JyBhbmQgbWF0Y2hlcyBubyBleGlzdGluZyBhdXRob3IiCiBtc2dzdHIgIiIKICItLWF1dGhvciAnJXMnIG5vIGVzdMOhIGVuIGVsIGZvcm1hdG8gJ05hbWUgPGVtYWlsPicgeSBubyBjb25jdWVyZGEgY29uIG5pbmfDum4gIgogImF1dG9yIGV4aXN0ZW50ZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDI1CisjOiBidWlsdGluL2NvbW1pdC5jOjEwNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBpZ25vcmVkIG1vZGUgJyVzJyIKIG1zZ3N0ciAiTW9kbyBpZ25vcmFkbyBpbnbDoWxpZG8gJyVzJyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDM5IGJ1aWx0aW4vY29tbWl0LmM6MTI3NgorIzogYnVpbHRpbi9jb21taXQuYzoxMDgyIGJ1aWx0aW4vY29tbWl0LmM6MTMyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHVudHJhY2tlZCBmaWxlcyBtb2RlICclcyciCiBtc2dzdHIgIk1vZG8gaW52w6FsaWRvIGRlIGxvcyBhcmNoaXZvcyBubyByYXN0cmVhZG9zICclcyciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3NworIzogYnVpbHRpbi9jb21taXQuYzoxMTIyCiBtc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWxvbmcgeSAteiBzb24gaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTEwCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjYKIG1zZ2lkICJVc2luZyBib3RoIC0tcmVzZXQtYXV0aG9yIGFuZCAtLWF1dGhvciBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJVc2FyIGFtYm9zIC0tcmVzZXQtYXV0aG9yIHkgLS1hdXRob3Igbm8gdGllbmUgc2VudGlkbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTE5CisjOiBidWlsdGluL2NvbW1pdC5jOjExNzUKIG1zZ2lkICJZb3UgaGF2ZSBub3RoaW5nIHRvIGFtZW5kLiIKIG1zZ3N0ciAiTm8gdGllbmVzIG5hZGEgcXVlIGVubWVuZGFyLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTIyCisjOiBidWlsdGluL2NvbW1pdC5jOjExNzgKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICJFc3TDoXMgZW4gbWVkaW8gZGUgdW5hIGZ1c2nDs24gLS0gbm8gcHVlZGVzIGVubWVuZGFyLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTI0CisjOiBidWlsdGluL2NvbW1pdC5jOjExODAKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICJFc3TDoSBlbiBtZWRpbyBkZSB1biBjaGVycnktcGljayAtLSBubyBzZSBwdWVkZSBlbm1lbmRhci4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNworIzogYnVpbHRpbi9jb21taXQuYzoxMTgzCiBtc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiT3BjaW9uZXMgLS1zcXVhc2ggeSAtLWZpeHVwIG5vIHB1ZWRlbiBzZXIgdXNhZGFzIGp1bnRhcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTM3CisjOiBidWlsdGluL2NvbW1pdC5jOjExOTMKIG1zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiU29sbyB1bm8gZGUgLWMvLUMvLUYvLS1maXh1cCBwdWVkZSBzZXIgdXNhZG8uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE5NQogbXNnaWQgIk9wdGlvbiAtbSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtYy8tQy8tRi4iCiBtc2dzdHIgIkxhIG9wY2nDs24gLW0gbm8gcHVlZGUgc2VyIGNvbWJpbmFkYSBjb24gLWMvLUMvLUYuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwMwogbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCiBtc2dzdHIgIi0tcmVzZXQtYXV0aG9yIHPDs2xvIHB1ZWRlIHNlciB1c2FkYSBjb24gLUMsIC1jIG8gLS1hbWVuZC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NAorIzogYnVpbHRpbi9jb21taXQuYzoxMjIwCiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICIiCiAiU29sbyB1bm8gZGUgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggcHVlZGUgc2VyIHVzYWRvLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTY2Ci1tc2dpZCAiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgotbXNnc3RyICJObyBoYXkgcnV0YXMgY29uIC0taW5jbHVkZS8tLW9ubHkgbm8gdGllbmUgc2VudGlkby4iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MCBidWlsdGluL3RhZy5jOjU0NgorIzogYnVpbHRpbi9jb21taXQuYzoxMjI2CiAjLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgotbXNnc3RyICJNb2RvIGNsZWFudXAgaW52w6FsaWRvICVzIgorbXNnaWQgInBhdGhzICclcyAuLi4nIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAicGF0aHMgJyVzIC4uLicgY29uIC1hIG5vIHRpZW5lIHNlbnRpZG8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4NQotbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCi1tc2dzdHIgIlJ1dGFzIGNvbiAtYSBubyB0aWVuZSBzZW50aWRvLiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzExIGJ1aWx0aW4vY29tbWl0LmM6MTQ5NQorIzogYnVpbHRpbi9jb21taXQuYzoxMzU3IGJ1aWx0aW4vY29tbWl0LmM6MTUxOQogbXNnaWQgInNob3cgc3RhdHVzIGNvbmNpc2VseSIKIG1zZ3N0ciAibW9zdHJhciBzdGF0dXMgZGUgbWFuZXJhIGNvbmNpc2EiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxMyBidWlsdGluL2NvbW1pdC5jOjE0OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OSBidWlsdGluL2NvbW1pdC5jOjE1MjEKIG1zZ2lkICJzaG93IGJyYW5jaCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAibW9zdHJhciBpbmZvcm1hY2nDs24gZGUgbGEgcmFtYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzE1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjEKIG1zZ2lkICJzaG93IHN0YXNoIGluZm9ybWF0aW9uIgogbXNnc3RyICJtb3N0cmFyIGluZm9ybWFjacOzbiBkZWwgc3Rhc2giCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxNyBidWlsdGluL2NvbW1pdC5jOjE0OTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MyBidWlsdGluL2NvbW1pdC5jOjE1MjMKIG1zZ2lkICJjb21wdXRlIGZ1bGwgYWhlYWQvYmVoaW5kIHZhbHVlcyIKIG1zZ3N0ciAiY2FsY3VsYXIgdG9kb3MgbG9zIHZhbG9yZXMgZGVsYW50ZS9hdHLDoXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxOQorIzogYnVpbHRpbi9jb21taXQuYzoxMzY1CiBtc2dpZCAidmVyc2lvbiIKIG1zZ3N0ciAidmVyc2lvbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzE5IGJ1aWx0aW4vY29tbWl0LmM6MTUwMSBidWlsdGluL3B1c2guYzo1NTgKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2MzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2NSBidWlsdGluL2NvbW1pdC5jOjE1MjUgYnVpbHRpbi9wdXNoLmM6NTQ5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NjUwCiBtc2dpZCAibWFjaGluZS1yZWFkYWJsZSBvdXRwdXQiCiBtc2dzdHIgIm91dHB1dCBmb3JtYXRvLW1hcXVpbmEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyMiBidWlsdGluL2NvbW1pdC5jOjE1MDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2OCBidWlsdGluL2NvbW1pdC5jOjE1MjcKIG1zZ2lkICJzaG93IHN0YXR1cyBpbiBsb25nIGZvcm1hdCAoZGVmYXVsdCkiCiBtc2dzdHIgIm1vc3RyYXIgc3RhdHVzIGVuIGZvcm1hdG8gbGFyZ28gKGRlZmF1bHQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjUgYnVpbHRpbi9jb21taXQuYzoxNTA2CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNzEgYnVpbHRpbi9jb21taXQuYzoxNTMwCiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiCiBtc2dzdHIgInRlcm1pbmFyIGVudHJhZGFzIGNvbiBOVUwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyNyBidWlsdGluL2NvbW1pdC5jOjEzMzEgYnVpbHRpbi9jb21taXQuYzoxNTA5Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwNyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxMCBidWlsdGluL3JlYmFzZS5jOjkxMAotIzogYnVpbHRpbi90YWcuYzo0MDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3MyBidWlsdGluL2NvbW1pdC5jOjEzNzcgYnVpbHRpbi9jb21taXQuYzoxNTMzCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1MyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1NgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTkgYnVpbHRpbi9yZWJhc2UuYzoxNTI1IHBhcnNlLW9wdGlvbnMuaDozMzYKIG1zZ2lkICJtb2RlIgogbXNnc3RyICJtb2RvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjggYnVpbHRpbi9jb21taXQuYzoxNTA5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNzQgYnVpbHRpbi9jb21taXQuYzoxNTMzCiBtc2dpZCAic2hvdyB1bnRyYWNrZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiBhbGwsIG5vcm1hbCwgbm8uIChEZWZhdWx0OiBhbGwpIgogbXNnc3RyICIiCiAibW9zdHJhciBhcmNoaXZvcyBzaW4gc2VndWltaWVudG8sIG1vZG9zIG9wY2lvbmFsZXM6IGFsbCwgbm9ybWFsLCBuby4gIgogIihQcmVkZXRlcm1pbmFkbzogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzMyCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNzgKIG1zZ2lkICIiCiAic2hvdyBpZ25vcmVkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogdHJhZGl0aW9uYWwsIG1hdGNoaW5nLCBuby4gKERlZmF1bHQ6ICIKICJ0cmFkaXRpb25hbCkiCkBAIC05ODgzLDExICsxMjI3MiwxMSBAQAogIm1vc3RyYXIgYXJjaGl2b3MgaWdub3JhZG9zLCBtb2RvcyBvcGNpb25hbGVzOiB0cmFkaXRpb25hbCwgbWF0Y2hpbmcsIG5vLiAiCiAiKFByZWRldGVybWluYWRvOiB0cmFkaXRpb25hbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNCBwYXJzZS1vcHRpb25zLmg6MTY0CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODAgcGFyc2Utb3B0aW9ucy5oOjE5MgogbXNnaWQgIndoZW4iCiBtc2dzdHIgImN1YW5kbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODEKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCkBAIC05ODk1LDI1MiArMTIyODQsMjQ1IEBACiAiaWdub3JhciBjYW1iaW9zIGVuIHN1Ym3Ds2R1bG9zLCBvcGNpb25hbCBjdWFuZG86IGFsbCxkaXJ0eSx1bnRyYWNrZWQuICIKICIoRGVmYXVsdDogYWxsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODMKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgogbXNnc3RyICJsaXN0YXIgZW4gY29sdW1uYXMgbG9zIGFyY2hpdm9zIHNpbiBzZWd1aW1pZW50byIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM4CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODQKIG1zZ2lkICJkbyBub3QgZGV0ZWN0IHJlbmFtZXMiCiBtc2dzdHIgIm5vIGRldGVjdGFyIHJlbm9tYnJhZG9zIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4NgogbXNnaWQgImRldGVjdCByZW5hbWVzLCBvcHRpb25hbGx5IHNldCBzaW1pbGFyaXR5IGluZGV4IgogbXNnc3RyICJkZXRlY3RhciByZW5vbWJyZXMsIG9wY2lvbmFsbWVudGUgY29uZmlndXJhciBzaW1pbGFyaWRhZCBkZSDDrW5kaWNlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQwNgogbXNnaWQgIlVuc3VwcG9ydGVkIGNvbWJpbmF0aW9uIG9mIGlnbm9yZWQgYW5kIHVudHJhY2tlZC1maWxlcyBhcmd1bWVudHMiCiBtc2dzdHIgIiIKICJDb21iaW5hY2nDs24gZGUgYXJndW1lbnRvcyBkZSBhcmNoaXZvcyBpZ25vcmFkb3MgeSBubyByYXN0cmVhZG9zIG5vIHNvcG9ydGFkYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODkKIG1zZ2lkICJzdXBwcmVzcyBzdW1tYXJ5IGFmdGVyIHN1Y2Nlc3NmdWwgY29tbWl0IgogbXNnc3RyICJzdXByaW1lIHN1bW1hcnkgdHJhcyB1biBjb21taXQgZXhpdG9zbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY2CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTAKIG1zZ2lkICJzaG93IGRpZmYgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgIm1vc3RyYXIgZGlmZiBlbiBlbCB0ZW1wbGF0ZSBkZWwgbWVuc2FqZSBkZSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OAorIzogYnVpbHRpbi9jb21taXQuYzoxNDkyCiBtc2dpZCAiQ29tbWl0IG1lc3NhZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiT3BjaW9uZXMgcGFyYSBlbCBtZW5zYWplIGRlbCBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OSBidWlsdGluL21lcmdlLmM6MjYzIGJ1aWx0aW4vdGFnLmM6Mzk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTMgYnVpbHRpbi9tZXJnZS5jOjI3NCBidWlsdGluL3RhZy5jOjQxNAogbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCiBtc2dzdHIgImxlZXIgbWVuc2FqZSBkZXNkZSB1biBhcmNoaXZvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAogbXNnaWQgImF1dGhvciIKIG1zZ3N0ciAiYXV0b3IiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDk0CiBtc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCiBtc2dzdHIgInNvYnJlc2NyaWJlIGVsIGF1dG9yIGRlbCBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MSBidWlsdGluL2djLmM6NTE4CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTUgYnVpbHRpbi9nYy5jOjUzOAogbXNnaWQgImRhdGUiCiBtc2dzdHIgImZlY2hhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NQogbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKIG1zZ3N0ciAic29icmVzY3JpYmUgbGEgZmVjaGEgZGVsIGNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcyIGJ1aWx0aW4vbWVyZ2UuYzoyNTkgYnVpbHRpbi9ub3Rlcy5jOjQwOQotIzogYnVpbHRpbi9ub3Rlcy5jOjU3MiBidWlsdGluL3RhZy5jOjM5NQotbXNnaWQgIm1lc3NhZ2UiCi1tc2dzdHIgIm1lbnNhamUiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MgotbXNnaWQgImNvbW1pdCBtZXNzYWdlIgotbXNnc3RyICJtZW5zYWplIGRlbCBjb21taXQiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MyBidWlsdGluL2NvbW1pdC5jOjE0NzQgYnVpbHRpbi9jb21taXQuYzoxNDc1Ci0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzYgcmVmLWZpbHRlci5oOjkyIHBhcnNlLW9wdGlvbnMuaDoyODAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NyBidWlsdGluL2NvbW1pdC5jOjE0OTggYnVpbHRpbi9jb21taXQuYzoxNDk5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDAgcGFyc2Utb3B0aW9ucy5oOjMyOCByZWYtZmlsdGVyLmg6OTIKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgImNvbmZpcm1hciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDczCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTcKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAicmV1c2FyIHkgZWRpdGFyIGVsIG1lbnNhamUgZGUgdW4gY29tbWl0IGVzcGVjaWZpY28iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NAorIzogYnVpbHRpbi9jb21taXQuYzoxNDk4CiBtc2dpZCAicmV1c2UgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgInJldXNhciBlbCBtZW5zYWplIGRlIHVuIGNvbW1pdCBlc3BlY2lmaWNvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OQogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIGZpeHVwIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKICJ1c2FyIG1lbnNhamUgZGUgZm9ybWF0byBhdXRvc3F1YXNowqBwYXJhIGFycmVnbGFyIGVsIGNvbW1pdCBlc3BlY2lmaWNhZG8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NgorIzogYnVpbHRpbi9jb21taXQuYzoxNTAwCiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gc3F1YXNoIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKICJ1c2FyIGVsIG1lbnNhamUgZGUgZm9ybWF0byBhdXRvc3F1YXNoIHBhcmEgcmVhbGl6YXIgc3F1YXNoICBhbCBjb21taXQgIgogImVzcGVjaWZpY2FkbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDEKIG1zZ2lkICJ0aGUgY29tbWl0IGlzIGF1dGhvcmVkIGJ5IG1lIG5vdyAodXNlZCB3aXRoIC1DLy1jLy0tYW1lbmQpIgogbXNnc3RyICJlbCBhdXRvciBkZWwgY29tbWl0IHNveSB5byBhaG9yYSAodXNhZG8gY29uIC1DLy1jLy0tYW1lbmQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzggYnVpbHRpbi9sb2cuYzoxNTIwIGJ1aWx0aW4vbWVyZ2UuYzoyNzYKLSM6IGJ1aWx0aW4vcHVsbC5jOjE1NSBidWlsdGluL3JldmVydC5jOjEwNgorIzogYnVpbHRpbi9jb21taXQuYzoxNTAyIGJ1aWx0aW4vbG9nLmM6MTYzNCBidWlsdGluL21lcmdlLmM6Mjg5CisjOiBidWlsdGluL3B1bGwuYzoxNjQgYnVpbHRpbi9yZXZlcnQuYzoxMTAKIG1zZ2lkICJhZGQgU2lnbmVkLW9mZi1ieToiCiBtc2dzdHIgImFncmVnYXIgU2lnbmVkLW9mZi1ieTogKGZpcm1hZG8gcG9yKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDMKIG1zZ2lkICJ1c2Ugc3BlY2lmaWVkIHRlbXBsYXRlIGZpbGUiCiBtc2dzdHIgInVzYXIgYXJjaGl2byBkZSB0ZW1wbGF0ZSBlc3BlY2lmaWNhZG8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MAorIzogYnVpbHRpbi9jb21taXQuYzoxNTA0CiBtc2dpZCAiZm9yY2UgZWRpdCBvZiBjb21taXQiCiBtc2dzdHIgImZvcnphciBsYSBlZGljacOzbiBkZWwgY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODEKLW1zZ2lkICJkZWZhdWx0IgotbXNnc3RyICJkZWZhdWx0IgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODEgYnVpbHRpbi90YWcuYzo0MDEKLW1zZ2lkICJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIgotbXNnc3RyICJjw7NtbyBxdWl0YXIgZXNwYWNpb3MgeSAjY29tZW50YXJpb3MgZGUgbWVuc2FqZXMiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTA2CiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgImluY2x1aXIgc3RhdHVzIGVuIGVsIHRlbXBsYXRlIGRlbCBtZW5zYWplIGRlIGNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDg0IGJ1aWx0aW4vbWVyZ2UuYzoyNzQgYnVpbHRpbi9wdWxsLmM6MTg1Ci0jOiBidWlsdGluL3JldmVydC5jOjExNAotbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKLW1zZ3N0ciAiRmlybWFyIGNvbW1pdCBjb24gR1BHIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMQogbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgogbXNnc3RyICJPcGNpb25lcyBwYXJhIGVsIGNvbnRlbmlkbyBkZWwgY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMgogbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKIG1zZ3N0ciAiY29uZmlybWFyIHRvZG9zIGxvcyBhcmNoaXZvcyBjYW1iaWFkb3MiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTEzCiBtc2dpZCAiYWRkIHNwZWNpZmllZCBmaWxlcyB0byBpbmRleCBmb3IgY29tbWl0IgogbXNnc3RyICJhZ3JlZ2FyIGFyY2hpdm9zIGVzcGVjw61maWNvcyBhbCDDrW5kaWNlIHBhcmEgY29uZmlybWFyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNAogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIgogbXNnc3RyICJhZ3JlZ2FyIGFyY2hpdm9zIGludGVyYWN0aXZhbWVudGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MQorIzogYnVpbHRpbi9jb21taXQuYzoxNTE1CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAiYWdyZWdhciBjYW1iaW9zIGludGVyYWN0aXZhbWVudGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTE2CiBtc2dpZCAiY29tbWl0IG9ubHkgc3BlY2lmaWVkIGZpbGVzIgogbXNnc3RyICJzw7NsbyBjb25maXJtYXIgYXJjaGl2b3MgZXNwZWPDrWZpY29zIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNwogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIgogbXNnc3RyICJldml0YXIgbG9zIGNhcHR1cmFkb3JlcyAoaG9va3MpIGRlIHByZS1jb21taXQgeSBjb21taXQtbXNnIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxOAogbXNnaWQgInNob3cgd2hhdCB3b3VsZCBiZSBjb21taXR0ZWQiCiBtc2dzdHIgIm1vc3RyYXIgbG8gcXVlIHNlcsOtYSBpbmNsdWlkbyBlbiBlbCBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwNworIzogYnVpbHRpbi9jb21taXQuYzoxNTMxCiBtc2dpZCAiYW1lbmQgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICJlbm1lbmRhciBjb21taXQgcHJldmlvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzMgogbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKIG1zZ3N0ciAiZ2FuY2hvIGJ5cGFzcyBwb3N0IHJlZXNjcml0dXJhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzOQogbXNnaWQgIm9rIHRvIHJlY29yZCBhbiBlbXB0eSBjaGFuZ2UiCiBtc2dzdHIgIm9rIGFsIGdyYWJhciB1biBjYW1iaW8gdmFjw61vIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU0MQogbXNnaWQgIm9rIHRvIHJlY29yZCBhIGNoYW5nZSB3aXRoIGFuIGVtcHR5IG1lc3NhZ2UiCiBtc2dzdHIgIm9rIGFsIGdyYWJhciB1biBjYW1iaW8gY29uIHVuIG1lbnNhamUgdmFjw61vIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIgogbXNnc3RyICJBcmNoaXZvIE1FUkdFX0hFQUQgKCVzKSBjb3JydXB0byIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MjEKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NT0RFIgogbXNnc3RyICJubyBzZSBwdWRvIGxlZXIgTUVSR0VfTU9ERSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgogbXNnc3RyICJubyBzZSBwdWRvIGxlZXIgZWwgbWVuc2FqZSBkZSBjb21taXQ6ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgogbXNnc3RyICJBYm9ydGFuZG8gY29tbWl0IGRlYmlkbyBxdWUgZWwgbWVuc2FqZSBlc3TDoSBlbiBibGFuY28uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMAorIzogYnVpbHRpbi9jb21taXQuYzoxNjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdDsgeW91IGRpZCBub3QgZWRpdCB0aGUgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiQWJvcnRhbmRvIGNvbW1pdDsgbm8gc2UgaGEgZWRpdGFkbyBlbCBtZW5zYWplXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNjg2CiBtc2dpZCAiIgogInJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgYW5kIHF1b3RhIGlzXG4iCi0ibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXNldCBIRUFEXCIgdG8gcmVjb3Zlci4iCisibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXN0b3JlIC0tc3RhZ2VkIDovXCIgdG8gcmVjb3Zlci4iCiBtc2dzdHIgIiIKICJlbCByZXBvc2l0b3JpbyBoYSBzaWRvIGFjdHVhbGl6YWRvLCBwZXJvIG5vIHNlIHB1ZG8gZXNjcmliaXIgZWwgYXJjaGl2b1xuIgogIm5ld19pbmRleC4gVmVyaWZpcXVlIHF1ZSBlbCBkaXNjbyBubyBlc3RlIGxsZW5vIHkgbGEgcXVvdGEgbm8gaGFcbiIKLSJzaWRvIHN1cGVyYWRhLCB5IGx1ZWdvIFwiZ2l0IHJlc2V0IEhFQURcIiBwYXJhIHJlY3VwZXJhci4iCisic2lkbyBzdXBlcmFkYSwgeSBsdWVnbyBcImdpdCByZXN0b3JlIC0tc2F0ZWdlZCA6L1wiIHBhcmEgcmVjdXBlcmFyLiIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMAotbXNnaWQgImdpdCBjb21taXQtZ3JhcGggWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCi1tc2dzdHIgImdpdCBjb21taXQtZ3JhcGggWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTEgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoyMwotbXNnaWQgImdpdCBjb21taXQtZ3JhcGggcmVhZCBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKLW1zZ3N0ciAiZ2l0IGNvbW1pdC1ncmFwaCByZWFkIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgotCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEyIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTgKLW1zZ2lkICJnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKLW1zZ3N0ciAiZ2l0IGNvbW1pdC1ncmFwaCB2ZXJpZnkgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTMgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoyOAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE3CiBtc2dpZCAiIgotImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0gWy0tYXBwZW5kXSBbLS1yZWFjaGFibGV8LS0iCi0ic3RkaW4tcGFja3N8LS1zdGRpbi1jb21taXRzXSIKKyJnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSBbLS1zaGFsbG93XSBbLS1bbm8tXXByb2dyZXNzXSIKIG1zZ3N0ciAiIgotImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0gWy0tYXBwZW5kXVstLXJlYWNoYWJsZXwtLSIKLSJzdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIgorImdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IFstLW9iamVjdC1kaXIgPG9iamRpcj5dIFstLXNoYWxsb3ddIFstLVtuby1dcHJvZ3Jlc3NdIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjQ4IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NzgKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTMyIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTkwIGJ1aWx0aW4vZmV0Y2guYzoxNTMKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjIyCittc2dpZCAiIgorImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0gWy0tYXBwZW5kfC0tc3BsaXRdIFstLSIKKyJyZWFjaGFibGV8LS1zdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIFstLVtuby1dcHJvZ3Jlc3NdIDxzcGxpdCBvcHRpb25zPiIKK21zZ3N0ciAiIgorImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA8ZGlyIG9iamV0bz5dIFstLWFwcGVuZHwtLXNwbGl0XSBbLS0iCisicmVhY2hhYmxlfC0tc3RkaW4tcGFja3N8LS1zdGRpbi1jb21taXRzXSBbLS1bbm8tXXByb2dyZXNzXSA8b3BjaW9uZXMgZGUgIgorInNwbGl0PiIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo0OCBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwMworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxODcgYnVpbHRpbi9mZXRjaC5jOjE3OSBidWlsdGluL2xvZy5jOjE2NTcKIG1zZ2lkICJkaXIiCiBtc2dzdHIgImRpciIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo0OSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjc5Ci0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzMyBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE5MQorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo0OSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwNAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxODgKIG1zZ2lkICJUaGUgb2JqZWN0IGRpcmVjdG9yeSB0byBzdG9yZSB0aGUgZ3JhcGgiCiBtc2dzdHIgIkVsIGRpcmVjdG9yaW8gZGUgb2JqZXRvcyBwYXJhIGd1YXJkYXIgZWwgZ3LDoWZpY28iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTM1CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjUxCittc2dpZCAiaWYgdGhlIGNvbW1pdC1ncmFwaCBpcyBzcGxpdCwgb25seSB2ZXJpZnkgdGhlIHRpcCBmaWxlIgorbXNnc3RyICJzaSBlbCBjb21taXQtZ3JhcGggZXN0w6EgY29ydGFkbywgc29sbyB2ZXJpZmljYSBsYSBwdW50YSBkZWwgYXJjaGl2byIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo3MyB0L2hlbHBlci90ZXN0LXJlYWQtZ3JhcGguYzoyMworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgb3BlbiBjb21taXQtZ3JhcGggJyVzJyIKK21zZ3N0ciAiTm8gc2UgcHVkbyBhYnJpciBjb21taXQtZ3JhcGggJyVzJyIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMDYKIG1zZ2lkICJzdGFydCB3YWxrIGF0IGFsbCByZWZzIgogbXNnc3RyICJjb21lbnphciBjYW1pbmF0YSBlbiB0b2RhcyBsYXMgcmVmcyIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzcKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTA4CiBtc2dpZCAic2NhbiBwYWNrLWluZGV4ZXMgbGlzdGVkIGJ5IHN0ZGluIGZvciBjb21taXRzIgogbXNnc3RyICJlc2NhbmVhciBwYXF1ZXRlIGRlIMOtbmRpY2VzIHBvciBzdGRpbiBwb3IgY29tbWl0cyIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzkKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTEwCiBtc2dpZCAic3RhcnQgd2FsayBhdCBjb21taXRzIGxpc3RlZCBieSBzdGRpbiIKIG1zZ3N0ciAiY29tZW56YXIgYSBjYW1pbmFyIGEgbG9zIGNvbW1pdHMgbGlzdGFkb3MgcG9yIHN0ZGluIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE0MQorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMTIKIG1zZ2lkICJpbmNsdWRlIGFsbCBjb21taXRzIGFscmVhZHkgaW4gdGhlIGNvbW1pdC1ncmFwaCBmaWxlIgogbXNnc3RyICJpbmNseWUgdG9kb3MgbG9zIGNvbW1pdHMgcXVlIHlhIGVzdMOhbiBlbiBlbCBhcmNoaXZvIGNvbW1pdC1ncmFwaCIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxNTAKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTE1Cittc2dpZCAiYWxsb3cgd3JpdGluZyBhbiBpbmNyZW1lbnRhbCBjb21taXQtZ3JhcGggZmlsZSIKK21zZ3N0ciAicGVybWl0aXIgZXNjcmliaXIgdW4gYXJjaGl2byBjb21taXQtZ3JhcGggaW5jcmVtZW50YWwiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTE3IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTIxCittc2dpZCAibWF4aW11bSBudW1iZXIgb2YgY29tbWl0cyBpbiBhIG5vbi1iYXNlIHNwbGl0IGNvbW1pdC1ncmFwaCIKK21zZ3N0ciAibcOheGltbyBuw7ptZXJvIGRlIGNvbW1pdHMgZW4gdW4gY29tbWl0LWdyYXBoIHNpbiBiYXNlIGNvcnRhZGEiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTE5Cittc2dpZCAibWF4aW11bSByYXRpbyBiZXR3ZWVuIHR3byBsZXZlbHMgb2YgYSBzcGxpdCBjb21taXQtZ3JhcGgiCittc2dzdHIgInJhZGlvIG3DoXhpbW8gZW50cmUgZG9zIG5pdmVsZXMgZGUgY29ydGUgZGUgY29tbWl0LWdyYXBoIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzNwogbXNnaWQgInVzZSBhdCBtb3N0IG9uZSBvZiAtLXJlYWNoYWJsZSwgLS1zdGRpbi1jb21taXRzLCBvciAtLXN0ZGluLXBhY2tzIgogbXNnc3RyICJ1c2UgY29tbyBtw6F4aW1vIHVubyBkZSAtLXJlYWNoYWJsZSwgLS1zdGRpbi1jb21taXRzLCBvIC0tc3RkaW4tcGFja3MiCiAKQEAgLTEwMTQ4LDcgKzEyNTMwLDcgQEAKIG1zZ2lkICJnaXQgY29uZmlnIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgY29uZmlnIFs8b3BjaW9uZXM+XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxMDMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTAzIGJ1aWx0aW4vZW52LS1oZWxwZXIuYzoyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgLS10eXBlIGFyZ3VtZW50LCAlcyIKIG1zZ3N0ciAiYXJndW1lbnRvIC0tdHlwZSBubyByZWNvbm9jaWRvLCAlcyIKQEAgLTEwMjU0LDcgKzEyNjM2LDcgQEAKIG1zZ2lkICJUeXBlIgogbXNnc3RyICJUaXBvIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE0NworIzogYnVpbHRpbi9jb25maWcuYzoxNDcgYnVpbHRpbi9lbnYtLWhlbHBlci5jOjM4CiBtc2dpZCAidmFsdWUgaXMgZ2l2ZW4gdGhpcyB0eXBlIgogbXNnc3RyICJhbCB2YWxvciBzZSBoYSBkYWRvIGVzdGUgdGlwbyIKIApAQCAtMTAyOTgsNyArMTI2ODAsNyBAQAogbXNnaWQgInNob3cgb3JpZ2luIG9mIGNvbmZpZyAoZmlsZSwgc3RhbmRhcmQgaW5wdXQsIGJsb2IsIGNvbW1hbmQgbGluZSkiCiBtc2dzdHIgIm1vc3RyYXIgZWwgb3JpZ2VuIGRlIGNvbmZpZ3VyYWNpw7NuIChhcmNoaXZvLCBzdGRpbiwgYmxvYiwgY29tYW5kbykiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTU4CisjOiBidWlsdGluL2NvbmZpZy5jOjE1OCBidWlsdGluL2Vudi0taGVscGVyLmM6NDAKIG1zZ2lkICJ2YWx1ZSIKIG1zZ3N0ciAidmFsb3IiCiAKQEAgLTEwMzA2LDQ4ICsxMjY4OCw0OCBAQAogbXNnaWQgIndpdGggLS1nZXQsIHVzZSBkZWZhdWx0IHZhbHVlIHdoZW4gbWlzc2luZyBlbnRyeSIKIG1zZ3N0ciAiY29uIC0tZ2V0LCB1c2EgZWwgdmFsb3IgcG9yIGRlZmVjdG8gY3VhbmRvIGZhbHRhIHVuYSBlbnRyYWRhIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE3MQorIzogYnVpbHRpbi9jb25maWcuYzoxNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cywgc2hvdWxkIGJlICVkIgogbXNnc3RyICJuw7ptZXJvIGRlIGFyZ3VtZW50b3MgaW52w6FsaWRvcywgZGViZXLDrWFuIHNlciAlZCIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxNzMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMsIHNob3VsZCBiZSBmcm9tICVkIHRvICVkIgogbXNnc3RyICJuw7ptZXJvIGRlIGFyZ3VtZW50b3MgaW52w6FsaWRvcywgZGViZXLDrWFuIHNlciBkZSAlZCBhICVkIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjMwNworIzogYnVpbHRpbi9jb25maWcuYzozMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXkgcGF0dGVybjogJXMiCiBtc2dzdHIgInBhdHLDs24gZGUgbGxhdmUgaW52w6FsaWRvOiAlcyIKIAotIzogYnVpbHRpbi9jb25maWcuYzozNDMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MzQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBmb3JtYXQgZGVmYXVsdCBjb25maWcgdmFsdWU6ICVzIgogbXNnc3RyICJmYWxsw7MgYWwgZm9ybWF0ZWFyIGVsIHZhbG9yIHBvciBkZWZlY3RvIGRlIGNvbmZpZ3VyYWNpw7NuOiAlcyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0MDAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBwYXJzZSBjb2xvciAnJXMnIgogbXNnc3RyICJubyBzZSBhbmFsaXphciBjb2xvciAnJXMnIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjQ0MgorIzogYnVpbHRpbi9jb25maWcuYzo0NDMKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgZGVmYXVsdCBjb2xvciB2YWx1ZSIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBhbmFsaXphciBlbCB2YWxvciBwb3IgZGVmZWN0byBkZSBjb2xvciIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0OTUgYnVpbHRpbi9jb25maWcuYzo3NDEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDk2IGJ1aWx0aW4vY29uZmlnLmM6NzQyCiBtc2dpZCAibm90IGluIGEgZ2l0IGRpcmVjdG9yeSIKIG1zZ3N0ciAibm8gZW4gdW4gZGlyZWN0b3JpbyBnaXQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NDk4CisjOiBidWlsdGluL2NvbmZpZy5jOjQ5OQogbXNnaWQgIndyaXRpbmcgdG8gc3RkaW4gaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiZXNjcmliaXIgZW4gc3RkaW4gbm8gZXN0w6Egc29wb3J0YWRvIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjUwMQorIzogYnVpbHRpbi9jb25maWcuYzo1MDIKIG1zZ2lkICJ3cml0aW5nIGNvbmZpZyBibG9icyBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJlc2NyaWJpciBibG9icyBkZSBjb25maWd1cmFjacOzbiBubyBlc3TDoSBzb3BvcnRhZG8iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTg2CisjOiBidWlsdGluL2NvbmZpZy5jOjU4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiIyBUaGlzIGlzIEdpdCdzIHBlci11c2VyIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiIKQEAgLTEwMzYyLDIzICsxMjc0NCwyMyBAQAogIiNcdG5hbWUgPSAlc1xuIgogIiNcdGVtYWlsID0gJXNcbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjExCiBtc2dpZCAib25seSBvbmUgY29uZmlnIGZpbGUgYXQgYSB0aW1lIgogbXNnc3RyICJzb2xvIHVuIGFyY2hpdm8gZGUgY29uZmlndXJhY2nDs24gYSBsYSB2ZXoiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjE1CisjOiBidWlsdGluL2NvbmZpZy5jOjYxNgogbXNnaWQgIi0tbG9jYWwgY2FuIG9ubHkgYmUgdXNlZCBpbnNpZGUgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiLS1sb2NhbCBzb2xvIHB1ZWRvIHNlciB1c2FkbyBkZW50cm8gZGUgdW4gcmVwb3NpdG9yaW8iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjE4CisjOiBidWlsdGluL2NvbmZpZy5jOjYxOQogbXNnaWQgIi0tYmxvYiBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICItLWJsb2Igc29sbyBwdWVkZSBzZXIgdXNhZG8gZGVudHJvIGRlIHVuIHJlcG9zaXRvcmlvIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYzNworIzogYnVpbHRpbi9jb25maWcuYzo2MzgKIG1zZ2lkICIkSE9NRSBub3Qgc2V0IgogbXNnc3RyICIkSE9NRSBubyBlc3TDoSBjb25maWd1cmFkbyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NTcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjU4CiBtc2dpZCAiIgogIi0td29ya3RyZWUgY2Fubm90IGJlIHVzZWQgd2l0aCBtdWx0aXBsZSB3b3JraW5nIHRyZWVzIHVubGVzcyB0aGUgY29uZmlnXG4iCiAiZXh0ZW5zaW9uIHdvcmt0cmVlQ29uZmlnIGlzIGVuYWJsZWQuIFBsZWFzZSByZWFkIFwiQ09ORklHVVJBVElPTiBGSUxFXCJcbiIKQEAgLTEwMzkwLDUyICsxMjc3Miw1MiBAQAogIlwiXG4iCiAiZW4gXCJnaXQgaGVscCB3b3JrdHJlZVwiIHBhcmEgbcOhcyBkZXRhbGxlcyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2ODcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6Njg4CiBtc2dpZCAiLS1nZXQtY29sb3IgYW5kIHZhcmlhYmxlIHR5cGUgYXJlIGluY29oZXJlbnQiCiBtc2dzdHIgIi0tZ2V0LWNvbG9yIHkgdGlwbyBkZSB2YXJpYWJsZSBpbmNvaGVyZW50ZSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2OTIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjkzCiBtc2dpZCAib25seSBvbmUgYWN0aW9uIGF0IGEgdGltZSIKIG1zZ3N0ciAic29sbyB1bmEgYWNjacOzbiBhIGxhIHZleiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MDUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzA2CiBtc2dpZCAiLS1uYW1lLW9ubHkgaXMgb25seSBhcHBsaWNhYmxlIHRvIC0tbGlzdCBvciAtLWdldC1yZWdleHAiCiBtc2dzdHIgIi0tbmFtZS1vbmx5IHNvbG8gZXMgYXBsaWNhYmxlIHBhcmEgLS1saXN0IG8gLS1nZXQtcmVnZXhwIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcxMQorIzogYnVpbHRpbi9jb25maWcuYzo3MTIKIG1zZ2lkICIiCiAiLS1zaG93LW9yaWdpbiBpcyBvbmx5IGFwcGxpY2FibGUgdG8gLS1nZXQsIC0tZ2V0LWFsbCwgLS1nZXQtcmVnZXhwLCBhbmQgLS0iCiAibGlzdCIKIG1zZ3N0ciAiIgogIi0tc2hvdy1vcmlnaW4gc29sbyBlcyBhcGxpY2FibGUgcGFyYSAtLWdldCwgLS1nZXQtYWxsLCAtLWdldC1yZWdleHAsIHkgLS1saXN0IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcxNworIzogYnVpbHRpbi9jb25maWcuYzo3MTgKIG1zZ2lkICItLWRlZmF1bHQgaXMgb25seSBhcHBsaWNhYmxlIHRvIC0tZ2V0IgogbXNnc3RyICItLWRlZmF1bHQgc29sbyBlcyBhcGxpY2FibGUgcGFyYSAtLWdldCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MzAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIGNvbmZpZyBmaWxlICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGxlZXIgZWwgYXJjaGl2byBkZSBjb25maWd1cmFjacOzbiAnJXMnIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjczMworIzogYnVpbHRpbi9jb25maWcuYzo3MzQKIG1zZ2lkICJlcnJvciBwcm9jZXNzaW5nIGNvbmZpZyBmaWxlKHMpIgogbXNnc3RyICJlcnJvciBhbCBwcm9jZXNhciBhcmNoaXZvKHMpIGRlIGNvbmZpZ3VyYWNpw7NuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0MworIzogYnVpbHRpbi9jb25maWcuYzo3NDQKIG1zZ2lkICJlZGl0aW5nIHN0ZGluIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgImVkaXRhciBzdGRpbiBubyBlc3TDoSBzb3BvcnRhZG8iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzQ1CisjOiBidWlsdGluL2NvbmZpZy5jOjc0NgogbXNnaWQgImVkaXRpbmcgYmxvYnMgaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiZWRpdGFyIGJsb2JzIG5vIGVzdMOhIHNvcG9ydGFkbyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NTkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgY29uZmlndXJhdGlvbiBmaWxlICVzIgogbXNnc3RyICJubyBzZSBwdWVkZSBjcmVhciBlbCBhcmNoaXZvIGRlIGNvbmZpZ3VyYWNpw7NuICVzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc3MgorIzogYnVpbHRpbi9jb25maWcuYzo3NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNhbm5vdCBvdmVyd3JpdGUgbXVsdGlwbGUgdmFsdWVzIHdpdGggYSBzaW5nbGUgdmFsdWVcbiIKQEAgLTEwNDQ0LDcgKzEyODI2LDcgQEAKICJubyBzZSBwdWVkZSBzb2JyZXNjcmliaXIgbcO6bHRpcGxlcyB2YWxvcmVzIGNvbiB1biDDum5pY28gdmFsb3JcbiIKICJcdFVzZSB1bmEgcmVnZXhwLCAtLWFkZCBvIC0tcmVwbGFjZS1hbGwgcGFyYSBjYW1iaWFyICVzLiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NDYgYnVpbHRpbi9jb25maWcuYzo4NTcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODQ3IGJ1aWx0aW4vY29uZmlnLmM6ODU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggc2VjdGlvbjogJXMiCiBtc2dzdHIgIm5vIGV4aXN0ZSBsYSBzZWNjacOzbjogJXMiCkBAIC0xMDQ3NywzNyArMTI4NTksMzcgQEAKIG1zZ2lkICJhbm5vdGF0ZWQiCiBtc2dzdHIgImFub3RhZG8iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBub3QgYXZhaWxhYmxlIgogbXNnc3RyICJ0YWcgYW5vdGFkbyAlcyBubyBkaXNwb25pYmxlIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImFubm90YXRlZCB0YWcgJXMgaGFzIG5vIGVtYmVkZGVkIG5hbWUiCiBtc2dzdHIgInRhZyBhbm90YWRvICVzIG5vIHRpZW5lIG5vbWJyZSBlbWJlYmlkbyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3OAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBpcyByZWFsbHkgJyVzJyBoZXJlIgogbXNnc3RyICJ0YWcgJyVzJyBlcyByZWFsbWVudGUgJyVzJyBhcXXDrSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjMyMgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0YWcgZXhhY3RseSBtYXRjaGVzICclcyciCiBtc2dzdHIgIm5vIGhheSB0YWcgcXVlIGNvbmN1ZXJkZSBleGFjdGFtZW50ZSBjb24gJyVzJyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjMyNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBleGFjdCBtYXRjaCBvbiByZWZzIG9yIHRhZ3MsIHNlYXJjaGluZyB0byBkZXNjcmliZVxuIgogbXNnc3RyICJObyBoYXkgY29pbmNpZGVuY2lhIGV4YWN0YSBlbiByZWZzIG8gdGFncywgYnVzY2FuZG8gZW4gZGVzY3JpYmVcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM3OAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmaW5pc2hlZCBzZWFyY2ggYXQgJXNcbiIKIG1zZ3N0ciAiYsO6c3F1ZWRhIGZpbmFsaXphZGEgYSBsYXMgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gYW5ub3RhdGVkIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCkBAIC0xMDUxNiw3ICsxMjg5OCw3IEBACiAiTm8gaGF5IHRhZ3MgYW5vdGFkb3MgcXVlIHB1ZWRhbiBkZXNjcmliaXIgJyVzJy5cbiIKICJTaW4gZW1iYXJnbywgaHViaWVyb24gdGFncyBubyBhbm90YWRvczogaW50ZW50ZSAtLXRhZ3MuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgpAQCAtMTA1MjUsMTIgKzEyOTA3LDEyIEBACiAiTmluZ8O6biB0YWcgcHVlZGUgZGVzY3JpYml0ICclcycuXG4iCiAiSW50ZW50ZSAtLWFsd2F5cywgbyBjcmVlIGFsZ3Vub3MgdGFncy4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MzgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhdmVyc2VkICVsdSBjb21taXRzXG4iCiBtc2dzdHIgIiVsdSBjb21taXRzIGNydXphZG9zXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm1vcmUgdGhhbiAlaSB0YWdzIGZvdW5kOyBsaXN0ZWQgJWkgbW9zdCByZWNlbnRcbiIKQEAgLTEwNTM5LDExOCArMTI5MjEsMTE4IEBACiAic2UgZW5jb250csOzIG3DoXMgZGUgJWkgdGFnczsgc2UgbW9zdHLDsyAlaSBtw6FzIHJlY2llbnRlXG4iCiAiZmluIGRlIGxhIGLDunNxdWVkYSBlbiAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTA5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc2NyaWJlICVzXG4iCiBtc2dzdHIgImRlc2NyaWJlICVzXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MTIgYnVpbHRpbi9sb2cuYzo1MTMKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgIk5vbWJyZSBkZSBvYmpldG8gJXMgbm8gdsOhbGlkbyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUyMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBuZWl0aGVyIGEgY29tbWl0IG5vciBibG9iIgogbXNnc3RyICIlcyBubyBlcyB1biBjb21taXQgbmkgdW4gYmxvYiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzNwogbXNnaWQgImZpbmQgdGhlIHRhZyB0aGF0IGNvbWVzIGFmdGVyIHRoZSBjb21taXQiCiBtc2dzdHIgImVuY29udHJhciBlbCB0YWcgcXVlIHZpZW5lIGRlc3B1w6lzIGRlbCBjb21taXQiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzUKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzgKIG1zZ2lkICJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIgogbXNnc3RyICJoYWNlciBkZWJ1ZyBhIGxhIGVzdHJhdGVnaWEgZGUgYsO6c3F1ZWRhIGVuIHN0ZGVyciIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzNgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzOQogbXNnaWQgInVzZSBhbnkgcmVmIgogbXNnc3RyICJ1c2UgY3VhbHF1aWVyIHJlZiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzNworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MAogbXNnaWQgInVzZSBhbnkgdGFnLCBldmVuIHVuYW5ub3RhdGVkIgogbXNnc3RyICJ1c2UgY3VhbHF1aWVyIHRhZywgaW5jbHVzbyBsb3Mgbm8gYW5vdGFkb3MiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDEKIG1zZ2lkICJhbHdheXMgdXNlIGxvbmcgZm9ybWF0IgogbXNnc3RyICJzaWVtcHJlIHVzYXIgZm9ybWF0byBsYXJnbyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzOQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MgogbXNnaWQgIm9ubHkgZm9sbG93IGZpcnN0IHBhcmVudCIKIG1zZ3N0ciAic29sbyBzZWd1aXIgZWwgcHJpbWVyIHBhdHLDs24iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDUKIG1zZ2lkICJvbmx5IG91dHB1dCBleGFjdCBtYXRjaGVzIgogbXNnc3RyICJzb2xvIG1vc3RyYXIgY29uY29yZGFuY2lhcyBleGFjdGFzIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ3CiBtc2dpZCAiY29uc2lkZXIgPG4+IG1vc3QgcmVjZW50IHRhZ3MgKGRlZmF1bHQ6IDEwKSIKIG1zZ3N0ciAiY29uc2lkZXJhciA8bj4gdGFncyBtw6FzIHJlY2llbnRlcyAoZGVmYXVsdDoxMCkiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDkKIG1zZ2lkICJvbmx5IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJzb2xvIGNvbnNpZGVyYXIgdGFncyBxdWUgY29uY3VlcmRlbiBjb24gPHBhdHLDs24+IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUxCiBtc2dpZCAiZG8gbm90IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJubyBjb25zaWRlcmFyIHRhZ3MgcXVlIGNvbmN1ZXJkZW4gY29uIDxwYXRyw7NuPiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MCBidWlsdGluL25hbWUtcmV2LmM6NDI0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUzIGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzMKIG1zZ2lkICJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siCiBtc2dzdHIgIm1vc3RyYXIgZWwgb2JqZXRvIGNvbW1pdCBhYnJldmlhZG8gY29tbyBmYWxsYmFjayIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MSBidWlsdGluL2Rlc2NyaWJlLmM6NTU0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTU0IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTcKIG1zZ2lkICJtYXJrIgogbXNnc3RyICJtYXJjYSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1NQogbXNnaWQgImFwcGVuZCA8bWFyaz4gb24gZGlydHkgd29ya2luZyB0cmVlIChkZWZhdWx0OiBcIi1kaXJ0eVwiKSIKIG1zZ3N0ciAiYWRqdW50YXIgPG1hcmNhPiBlbiBlbCDDoXJib2wgZGUgdHJhYmFqbyBzdWNpbyAoZGVmYXVsdDogXCItZGlydHlcIikiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTUKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTgKIG1zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGJyb2tlbiB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWJyb2tlblwiKSIKIG1zZ3N0ciAiYWRqdW50YXIgPG1hcmNhPiBlbiB1biDDoXJib2wgZGUgdHJhYmFqbyByb3RvIChkZWZhdWx0OiBcIi1icm9rZW5cIikiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NzMKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NzYKIG1zZ2lkICItLWxvbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hYmJyZXY9MCIKIG1zZ3N0ciAiLS1sb25nIGVzIGluY29tcGF0aWJsZSBjb24gLS1hYmJyZXY9MCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjYwMgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjYwNQogbXNnaWQgIk5vIG5hbWVzIGZvdW5kLCBjYW5ub3QgZGVzY3JpYmUgYW55dGhpbmcuIgogbXNnc3RyICJObyBzZSBlbmNvbnRyYXJvbiBub21icmVzLCBubyBzZSBwdWVkZSBkZXNjcmliaXIgbmFkYS4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTYKIG1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiLS1kaXJ0eSBlcyBpbmNvbXBhdGlibGUgY29uIGNvbW1pdC1pc21vcyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjY1NAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjY1OAogbXNnaWQgIi0tYnJva2VuIGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiLS1icm9rZW4gZXMgaW5jb21wYXRpYmxlIGNvbiBjb21taXQtaXNtb3MiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjgzCisjOiBidWlsdGluL2RpZmYuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBub3QgYSByZWd1bGFyIGZpbGUgb3Igc3ltbGluayIKIG1zZ3N0ciAiJyVzJzogbm8gZXMgdW4gYXJjaGl2byByZWd1bGFyIG8gdW4gZW5sYWNlIHNpbWLDs2xpY28iCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjIzNAorIzogYnVpbHRpbi9kaWZmLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb3B0aW9uOiAlcyIKIG1zZ3N0ciAib3BjacOzbiBpbnbDoWxpZGE6ICVzIgogCi0jOiBidWlsdGluL2RpZmYuYzozNjMKKyM6IGJ1aWx0aW4vZGlmZi5jOjM1MAogbXNnaWQgIk5vdCBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICJObyBlcyB1biByZXBvc2l0b3JpbyBnaXQiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQwNworIzogYnVpbHRpbi9kaWZmLmM6Mzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICJvYmpldG8gJyVzJyBlbnRyZWdhZG8gbm8gZXMgdsOhbGlkby4iCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxNgorIzogYnVpbHRpbi9kaWZmLmM6NDAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vcmUgdGhhbiB0d28gYmxvYnMgZ2l2ZW46ICclcyciCiBtc2dzdHIgIm3DoXMgZGUgZG9zIGJsb2JzIGVudHJlZ2Fkb3M6ICclcyciCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQyMQorIzogYnVpbHRpbi9kaWZmLmM6NDA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgIm9iamV0byBubyBtYW5lamFkbyAnJXMnIGVudHJlZ2Fkby4iCkBAIC0xMDY4Nyw1NCArMTMwNjksNTQgQEAKICJmb3JtYXRvcyBjb21iaW5hZG9zIGRlIGRpZmYgKCctYycgeSAnLS1jYycpIG5vIHNvcG9ydGFkb3MgZW5cbiIKICJtb2RvIGRpZmYgcGFyYSBkaXJlY3RvcmlvKCctZCcgeSAnLS1kaXItZGlmZicpLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzMworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJib3RoIGZpbGVzIG1vZGlmaWVkOiAnJXMnIGFuZCAnJXMnLiIKIG1zZ3N0ciAiYW1ib3MgYXJjaGl2b3MgbW9kaWZpY2Fkb3M6ICclcycgeSAnJXMnLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNgogbXNnaWQgIndvcmtpbmcgdHJlZSBmaWxlIGhhcyBiZWVuIGxlZnQuIgogbXNnc3RyICJhcmNoaXZvIGRlbCDDoXJib2wgZGUgdHJhYmFqbyBoYSBzaWRvIGRlamFkby4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidGVtcG9yYXJ5IGZpbGVzIGV4aXN0IGluICclcycuIgogbXNnc3RyICJhcmNoaXZvIHRlbXBvcmFsIGV4aXN0ZSBlbiAnJXMnLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0NworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0OAogbXNnaWQgInlvdSBtYXkgd2FudCB0byBjbGVhbnVwIG9yIHJlY292ZXIgdGhlc2UuIgotbXNnc3RyICJ0YWwgdmV6IGRlc2VlIGxpbXBpYXIgbyByZWN1cGVyYXIgZXN0b3MuIgorbXNnc3RyICJ0YWwgdmV6IGRlc2VlcyBsaW1waWFyIG8gcmVjdXBlcmFyIGVzdG9zLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5NgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5NwogbXNnaWQgInVzZSBgZGlmZi5ndWl0b29sYCBpbnN0ZWFkIG9mIGBkaWZmLnRvb2xgIgogbXNnc3RyICJ1c2UgYGRpZmYuZ3VpdG9vbGAgZW4gbHVnYXIgZGUgYGRpZmYudG9vbGAiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTkKIG1zZ2lkICJwZXJmb3JtIGEgZnVsbC1kaXJlY3RvcnkgZGlmZiIKIG1zZ3N0ciAicmVhbGl6YXIgdW4gZGlmZiBkZSB0b2RvIGVsIGRpcmVjdG9yaW8iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDEKIG1zZ2lkICJkbyBub3QgcHJvbXB0IGJlZm9yZSBsYXVuY2hpbmcgYSBkaWZmIHRvb2wiCiBtc2dzdHIgIm5vIG1vc3RyYXIgYW50ZXMgZGUgbGFuemFyIHVuYSBoZXJyYW1pZW50YSBkZSBkaWZmIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzA1CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA2CiBtc2dpZCAidXNlIHN5bWxpbmtzIGluIGRpci1kaWZmIG1vZGUiCiBtc2dzdHIgInVzYXIgZW5sYWNlcyBzaW1iw7NsaWNvcyBlbiBtb2RvIGRpci1kaWZmIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzA2CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA3CiBtc2dpZCAidG9vbCIKIG1zZ3N0ciAiaGVycmFtaWVudGEiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDcKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDgKIG1zZ2lkICJ1c2UgdGhlIHNwZWNpZmllZCBkaWZmIHRvb2wiCiBtc2dzdHIgInVzYXIgbGEgaGVycmFtaWVudGEgZGUgZGlmZiBlc3BlY2lmaWNhZGEiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDkKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTAKIG1zZ2lkICJwcmludCBhIGxpc3Qgb2YgZGlmZiB0b29scyB0aGF0IG1heSBiZSB1c2VkIHdpdGggYC0tdG9vbGAiCiBtc2dzdHIgIiIKICJtb3N0cmFyIHVuYSBsaXN0YSBkZSBoZXJyYW1pZW50YXMgZGUgZGlmZiBxdWUgcHVlZGVuIHNlciB1c2FkYXMgY29uIGAtLXRvb2xgIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzEyCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzEzCiBtc2dpZCAiIgogIm1ha2UgJ2dpdC1kaWZmdG9vbCcgZXhpdCB3aGVuIGFuIGludm9rZWQgZGlmZiB0b29sIHJldHVybnMgYSBub24gLSB6ZXJvIGV4aXQgIgogImNvZGUiCkBAIC0xMDc0MiwxNjEgKzEzMTI0LDI0NSBAQAogImhhY2VyIHF1ZSAnZ2l0LWRpZmZ0b29sJyBzYWxnYSBjdWFuZG8gdW5hIGhlcnJhbWllbnRhIGRlIGRpZmYgcmV0b3JuZSB1biAiCiAiY8OzZGlnbyBkZSBzYWxpZGEgZGlzdGludG8gZGUgY2VybyIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxNQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxNgogbXNnaWQgInNwZWNpZnkgYSBjdXN0b20gY29tbWFuZCBmb3Igdmlld2luZyBkaWZmcyIKIG1zZ3N0ciAiZXNwZWNpZmljYXIgdW4gY29tYW5kbyBwZXJzb25hbGl6YWRvIHBhcmEgdmVyIGRpZmZzIgogCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzE3Cittc2dpZCAicGFzc2VkIHRvIGBkaWZmYCIKK21zZ3N0ciAicGFzYWRvIGEgYGRpZmZgIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzMyCittc2dpZCAiZGlmZnRvb2wgcmVxdWlyZXMgd29ya3RyZWUgb3IgLS1uby1pbmRleCIKK21zZ3N0ciAiZGlmZnRvb2wgcmVxdWllcmUgdW4gw6FyYm9sIGRlIHRyYWJham8gbyAtLW5vLWluZGV4IgorCiAjOiBidWlsdGluL2RpZmZ0b29sLmM6NzM5Cittc2dpZCAiLS1kaXItZGlmZiBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW5vLWluZGV4IgorbXNnc3RyICItLWRpcnR5LWRpZmYgZXMgaW5jb21wYXRpYmxlIGNvbiAtLW5vLWluZGV4IgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzQyCittc2dpZCAiLS1ndWksIC0tdG9vbCBhbmQgLS1leHRjbWQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1ndWksIC0tdG9vbCB5IC0tZXh0Y21kIHNvbiBtdXR1YW1lbnRlIGV4Y2x1c2l2YXMiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3NTAKIG1zZ2lkICJubyA8dG9vbD4gZ2l2ZW4gZm9yIC0tdG9vbD08dG9vbD4iCiBtc2dzdHIgIm5vIHNlIGhhIHByb3BvcmNpb25hZG8gPGhlcnJhbWllbnRhPiBwYXJhIC0tdG9vbD08aGVycmFtaWVudGE+IgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzQ2CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzU3CiBtc2dpZCAibm8gPGNtZD4gZ2l2ZW4gZm9yIC0tZXh0Y21kPTxjbWQ+IgogbXNnc3RyICJubyBzZSBoYSBlbnRyZWdhZG8gPGNvbWFuZG8+IHBhcmEgLS1leHRjbWQ9PGNvbWFuZG8+IgogCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6NgorbXNnaWQgImdpdCBlbnYtLWhlbHBlciAtLXR5cGU9W2Jvb2x8dWxvbmddIDxvcHRpb25zPiA8ZW52LXZhcj4iCittc2dzdHIgImdpdCBlbnYtLWhlbHBlciAtLXR5cGU9W2Jvb2x8dWxvbmddIDxvcGNpb25lcz4gPGVudi12YXI+IgorCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6MzcgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4Cittc2dpZCAidHlwZSIKK21zZ3N0ciAidGlwbyIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjQxCittc2dpZCAiZGVmYXVsdCBmb3IgZ2l0X2Vudl8qKC4uLikgdG8gZmFsbCBiYWNrIG9uIgorbXNnc3RyICJkZWZhdWx0IHBhcmEgZ2l0X2Vudl8qKC4uLikgZXMgaGFjZXIgZmFsbGJhY2sgZW4iCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo0MworbXNnaWQgImJlIHF1aWV0IG9ubHkgdXNlIGdpdF9lbnZfKigpIHZhbHVlIGFzIGV4aXQgY29kZSIKK21zZ3N0ciAic2VyIHNpbGVuY2lvc28gc29sbyB1c2FyIHZhbG9yIGdpdF9lbnZfKigpIGNvbW8gY8OzZGlnbyBkZSBzYWxpZGEiCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYC0tZGVmYXVsdCcgZXhwZWN0cyBhIGJvb2xlYW4gdmFsdWUgd2l0aCBgLS10eXBlPWJvb2xgLCBub3QgYCVzYCIKK21zZ3N0ciAib3BjacOzbiBgLS1kZWZhdWx0JyBlc3BlcmEgdW4gdmFsb3IgYm9vbGVhbiBjb24gYC0tdHlwZT1ib29sYCwgbm8gYCVzYCIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvcHRpb24gYC0tZGVmYXVsdCcgZXhwZWN0cyBhbiB1bnNpZ25lZCBsb25nIHZhbHVlIHdpdGggYC0tdHlwZT11bG9uZ2AsIG5vdCBgIgorIiVzYCIKK21zZ3N0ciAiIgorIm9wY2nDs24gYC0tZGVmYXVsdCcgZXNwZXJhIHVuIHZhbG9yIHVuc2lnbmVkIGxvbmcgY29uIGAtLXR5cGU9dWxvbmdgLCBubyBgJXNgIgorCiAjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MjkKIG1zZ2lkICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LW9wdHNdIgogbXNnc3RyICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LW9wdHNdIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwNgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjg1MgorbXNnaWQgIkVycm9yOiBDYW5ub3QgZXhwb3J0IG5lc3RlZCB0YWdzIHVubGVzcyAtLW1hcmstdGFncyBpcyBzcGVjaWZpZWQuIgorbXNnc3RyICIiCisiRXJyb3I6IE5vIHNlIHB1ZWRlIGV4cG9ydGFyIGxvcyB0YWdzIGFuaWRhZG9zIGEgbWVub3MgcXVlIC0tbWFyay10YWdzIHNlYSAiCisiZXNwZWNpZmljYWRvLiIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTIKIG1zZ2lkICJzaG93IHByb2dyZXNzIGFmdGVyIDxuPiBvYmplY3RzIgogbXNnc3RyICJtb3N0cmFyIHByb2dyZXNvIGRlc3B1w6lzIGRlIDxuPiBvYmpldG9zIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwOAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTQKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2Ygc2lnbmVkIHRhZ3MiCiBtc2dzdHIgInNlbGVjY2lvbmFyIGVsIG1hbmVqbyBkZSB0YWdzIGZpcm1hZG9zIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxMQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTcKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIgogbXNnc3RyICJzZWxlY2Npb25hciBlbCBtYW5lam8gZGUgdGFncyBxdWUgc29uIHRhZ3MgZGUgb2JqZXRvcyBmaWx0cmFkb3MiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDE0CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2MAorbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBjb21taXQgbWVzc2FnZXMgaW4gYW4gYWx0ZXJuYXRlIGVuY29kaW5nIgorbXNnc3RyICJzZWxlY2Npb25hciBlbCBtYW5lam8gZGUgbWVuc2FqZXMgZGUgY29tbWl0IGVuIHVuIGVuY29kaW5nIGRpZmVyZW50ZSIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjMKIG1zZ2lkICJEdW1wIG1hcmtzIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAiVm9sY2FyIG1hcmNhcyBhIGVzdGUgYXJjaGl2byIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY1CiBtc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIgogbXNnc3RyICJJbXBvcnRhciBtYXJjYXMgZGUgZXN0ZSBhcmNoaXZvIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxOAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjkKK21zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUgaWYgaXQgZXhpc3RzIgorbXNnc3RyICJJbXBvcnRhciBtYXJjYXMgZGUgZXN0ZSBhcmNoaXZvIHNpIGV4aXN0ZSIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzEKIG1zZ2lkICJGYWtlIGEgdGFnZ2VyIHdoZW4gdGFncyBsYWNrIG9uZSIKIG1zZ3N0ciAiRmFsc2lmaWNhciB1biB0YWdnZXIgY3VhbmRvIGxlcyBmYWx0YSB1bm8iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDIwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3MwogbXNnaWQgIk91dHB1dCBmdWxsIHRyZWUgZm9yIGVhY2ggY29tbWl0IgogbXNnc3RyICJNb3N0cmFyIHRvZG8gZWwgw6FyYm9sIHBhcmEgY2FkYSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDIyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3NQogbXNnaWQgIlVzZSB0aGUgZG9uZSBmZWF0dXJlIHRvIHRlcm1pbmF0ZSB0aGUgc3RyZWFtIgogbXNnc3RyICJVc2UgZWwgZmVhdHVyZSBkb25lIHBhcmEgdGVybWluYXIgZWwgc3RyZWFtIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAyMworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzYKIG1zZ2lkICJTa2lwIG91dHB1dCBvZiBibG9iIGRhdGEiCiBtc2dzdHIgIlNhbHRhciBlbCBvdXRwdXQgZGUgZGF0YSBibG9iIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAyNCBidWlsdGluL2xvZy5jOjE1ODgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTc3IGJ1aWx0aW4vbG9nLmM6MTcwNQogbXNnaWQgInJlZnNwZWMiCiBtc2dzdHIgInJlZnNwZWMiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDI1CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3OAogbXNnaWQgIkFwcGx5IHJlZnNwZWMgdG8gZXhwb3J0ZWQgcmVmcyIKIG1zZ3N0ciAiQXBsaWNhciByZWZzcGVjIHBhcmEgbG9zIHJlZnMgZXhwb3J0YWRvcyIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMjYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTc5CiBtc2dpZCAiYW5vbnltaXplIG91dHB1dCIKIG1zZ3N0ciAiYW5vbmltaXphciBsYSBzYWxpZGEiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyOAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExODEKK21zZ2lkICJSZWZlcmVuY2UgcGFyZW50cyB3aGljaCBhcmUgbm90IGluIGZhc3QtZXhwb3J0IHN0cmVhbSBieSBvYmplY3QgaWQiCittc2dzdHIgIiIKKyJQYWRyZXMgZGUgbGEgcmVmZXJlbmNpYSBxdWUgbm8gZXN0YW4gZW4gZmFzdC1leHBvcnQgc3RyZWFtIHBvciBpZCBkZSBvYmpldG8iCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTgzCittc2dpZCAiU2hvdyBvcmlnaW5hbCBvYmplY3QgaWRzIG9mIGJsb2JzL2NvbW1pdHMiCittc2dzdHIgIk1vc3RyYXIgaWRzIGRlIG9iamV0b3Mgb3JpZ2luYWxlcyBwYXJhIGJsb2JzL2NvbW1pdHMiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTg1Cittc2dpZCAiTGFiZWwgdGFncyB3aXRoIG1hcmsgaWRzIgorbXNnc3RyICJNYXJjYXIgdGFncyBjb24gaWRzIGRlIG1hcmsiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMjIwCittc2dpZCAiQ2Fubm90IHBhc3MgYm90aCAtLWltcG9ydC1tYXJrcyBhbmQgLS1pbXBvcnQtbWFya3MtaWYtZXhpc3RzIgorbXNnc3RyICJObyBzZSBwdWVkZSBwYXNhciBhbWJvcyAtLWltcG9ydC1tYXJrcyB5IC0taW1wb3J0LW1hcmtzLWlmLWV4aXN0cyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjM0CiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgZmV0Y2ggWzxvcGNpb25lcz5dIFs8cmVwb3NpdG9yaW8+IFs8cmVmc3BlYz4uLi5dXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI5CisjOiBidWlsdGluL2ZldGNoLmM6MzUKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gPGdyb3VwPiIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs8b3BjaW9uZXM+XSA8Z3J1cG8+IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzAKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNgogbXNnaWQgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPHJlcG9zaXRvcnk+IHwgPGdyb3VwPikuLi5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPG9wY2lvbmVzPl0gWyg8cmVwb3NpdG9yaW8+IHwgPGdydXBvPikuLi5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNwogbXNnaWQgImdpdCBmZXRjaCAtLWFsbCBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGZldGNoIC0tYWxsIFs8b3BjaW9uZXM+XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNSBidWlsdGluL3B1bGwuYzoxOTQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYKK21zZ2lkICJmZXRjaC5wYXJhbGxlbCBjYW5ub3QgYmUgbmVnYXRpdmUiCittc2dzdHIgImZldGNoLnBhcmFsbGVsIG5vIHB1ZWRlIHNlciBuZWdhdGl2byIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEzOSBidWlsdGluL3B1bGwuYzoyMDQKIG1zZ2lkICJmZXRjaCBmcm9tIGFsbCByZW1vdGVzIgogbXNnc3RyICJleHRyYWVyIGRlIHRvZG9zIGxvcyByZW1vdG9zIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE3IGJ1aWx0aW4vcHVsbC5jOjE5NworIzogYnVpbHRpbi9mZXRjaC5jOjE0MSBidWlsdGluL3B1bGwuYzoyNDgKK21zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL2ZldGNoIgorbXNnc3RyICJjb25maWd1cmFyIHVwc3RyZWFtIHBhcmEgZ2l0IHB1bGxsL2ZldGNoIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQzIGJ1aWx0aW4vcHVsbC5jOjIwNwogbXNnaWQgImFwcGVuZCB0byAuZ2l0L0ZFVENIX0hFQUQgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyIKIG1zZ3N0ciAiYWRqdW50YXIgYSAuZ2l0L0ZFVENIX0hFQUQgZW4gbHVnYXIgZGUgc29icmVzY3JpYmlyIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE5IGJ1aWx0aW4vcHVsbC5jOjIwMAorIzogYnVpbHRpbi9mZXRjaC5jOjE0NSBidWlsdGluL3B1bGwuYzoyMTAKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgInJ1dGEgcGFyYSBjYXJnYXIgZWwgcGFxdWV0ZSBhbCBmaW5hbCBkZWwgcmVtb3RvIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIwCisjOiBidWlsdGluL2ZldGNoLmM6MTQ2CiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIHJlZmVyZW5jZSIKIG1zZ3N0ciAiZm9yemFyIHNvYnJlc2NyaXR1cmEgZGUgcmVmZXJlbmNpYSBsb2NhbCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMgorIzogYnVpbHRpbi9mZXRjaC5jOjE0OAogbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKIG1zZ3N0ciAiZXh0cmFlciBkZSBtw7psdGlwbGVzIHJlbW90b3MiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjQgYnVpbHRpbi9wdWxsLmM6MjA0CisjOiBidWlsdGluL2ZldGNoLmM6MTUwIGJ1aWx0aW4vcHVsbC5jOjIxNAogbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCiBtc2dzdHIgImV4dHJhZXIgdG9kb3MgbG9zIHRhZ3MgeSBvYmpldG9zIGFzb2NpYWRvcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyNgorIzogYnVpbHRpbi9mZXRjaC5jOjE1MgogbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKIG1zZ3N0ciAibm8gZXh0cmFlciB0b2RvcyBsb3MgdGFncyAoLS1uby10YWdzKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyOAorIzogYnVpbHRpbi9mZXRjaC5jOjE1NAogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGZldGNoZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgIm7Dum1lcm8gZGUgc3VibcOzZHVsb3MgZXh0cmHDrWRvcyBlbiBwYXJhbGVsbyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMCBidWlsdGluL3B1bGwuYzoyMDcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTYgYnVpbHRpbi9wdWxsLmM6MjE3CiBtc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCiBtc2dzdHIgImxpbXBpYXIgcmFtYXMgcmVtb3RhcyByYXN0cmVhZGFzIHF1ZSB5YSBubyBlc3TDoW4gZW4gZWwgcmVtb3RvIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyCisjOiBidWlsdGluL2ZldGNoLmM6MTU4CiBtc2dpZCAicHJ1bmUgbG9jYWwgdGFncyBubyBsb25nZXIgb24gcmVtb3RlIGFuZCBjbG9iYmVyIGNoYW5nZWQgdGFncyIKIG1zZ3N0ciAiIgogImxpbXBpYXIgdGFncyBsb2NhbGVzIHF1ZSBubyBzZSBlbmN1ZW50cmFuIGVuIGVsIHJlbW90byB5IGVsaW1pbmFyIHRhZ3MgIgogImNhbWJpYWRvcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMyBidWlsdGluL2ZldGNoLmM6MTU2IGJ1aWx0aW4vcHVsbC5jOjEzMgorIzogYnVpbHRpbi9mZXRjaC5jOjE1OSBidWlsdGluL2ZldGNoLmM6MTgyIGJ1aWx0aW4vcHVsbC5jOjE0MQogbXNnaWQgIm9uLWRlbWFuZCIKIG1zZ3N0ciAiZW4gZGVtYW5kYSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNAorIzogYnVpbHRpbi9mZXRjaC5jOjE2MAogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgImNvbnRyb2xhciBleHRyYWNjacOzbiByZWN1cnNpdmEgZGUgc3VibcOzZHVsb3MiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzggYnVpbHRpbi9wdWxsLmM6MjE1CisjOiBidWlsdGluL2ZldGNoLmM6MTY0IGJ1aWx0aW4vcHVsbC5jOjIyNQogbXNnaWQgImtlZXAgZG93bmxvYWRlZCBwYWNrIgogbXNnc3RyICJtYW50ZW5lciBlbCBwYXF1ZXRlIGRlc2NhcmdhZG8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjYKIG1zZ2lkICJhbGxvdyB1cGRhdGluZyBvZiBIRUFEIHJlZiIKIG1zZ3N0ciAicGVybWl0aXIgYWN0dWFsaXphciBsYSByZWYgSEVBRCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE0MyBidWlsdGluL2ZldGNoLmM6MTQ5IGJ1aWx0aW4vcHVsbC5jOjIxOAorIzogYnVpbHRpbi9mZXRjaC5jOjE2OSBidWlsdGluL2ZldGNoLmM6MTc1IGJ1aWx0aW4vcHVsbC5jOjIyOAogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCiBtc2dzdHIgImhpc3RvcmlhIHByb2Z1bmRhIGRlIHVuIGNsb24gc3VwZXJmaWNpYWwiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNDUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzEKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IHJlcG9zaXRvcnkgYmFzZWQgb24gdGltZSIKIG1zZ3N0ciAiaGlzdG9yaWEgcHJvZnVuZGEgZGUgdW4gcmVwb3NpdG9yaW8gc3VwZXJmaWNpYWwgYmFzYWRvIGVuIHRpZW1wbyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1MSBidWlsdGluL3B1bGwuYzoyMjEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzcgYnVpbHRpbi9wdWxsLmM6MjMxCiBtc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgImNvbnZlcnRpciBhIHVuIHJlcG9zaXRvcmlvIGNvbXBsZXRvIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU0CisjOiBidWlsdGluL2ZldGNoLmM6MTgwCiBtc2dpZCAicHJlcGVuZCB0aGlzIHRvIHN1Ym1vZHVsZSBwYXRoIG91dHB1dCIKIG1zZ3N0ciAiYW50ZXBvbmVyIGVzdG8gYSBzYWxpZGEgZGUgbGEgcnV0YSBkZWwgc3VibcOzZHVsbyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1NworIzogYnVpbHRpbi9mZXRjaC5jOjE4MwogbXNnaWQgIiIKICJkZWZhdWx0IGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyAobG93ZXIgcHJpb3JpdHkgdGhhbiBjb25maWcgIgogImZpbGVzKSIKQEAgLTEwOTA0LDEwNyArMTMzNzAsMTMzIEBACiAiZGVmYXVsdCBwYXJhIGV4dHJhY2Npw7NuIHJlY3Vyc2l2YSBkZSBzdWJtw7NkdWxvcyAobWVub3IgcHJpb3JpZGFkIHF1ZSAiCiAiYXJjaGl2b3MgZGUgY29uZmlndXJhY2nDs24pIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYxIGJ1aWx0aW4vcHVsbC5jOjIyNAorIzogYnVpbHRpbi9mZXRjaC5jOjE4NyBidWlsdGluL3B1bGwuYzoyMzQKIG1zZ2lkICJhY2NlcHQgcmVmcyB0aGF0IHVwZGF0ZSAuZ2l0L3NoYWxsb3ciCiBtc2dzdHIgImFjZXB0YXIgcmVmcyBxdWUgYWN0dWFsaWNlbiAuZ2l0L3NoYWxsb3ciCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjIgYnVpbHRpbi9wdWxsLmM6MjI2CisjOiBidWlsdGluL2ZldGNoLmM6MTg4IGJ1aWx0aW4vcHVsbC5jOjIzNgogbXNnaWQgInJlZm1hcCIKIG1zZ3N0ciAicmVmbWFwIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYzIGJ1aWx0aW4vcHVsbC5jOjIyNworIzogYnVpbHRpbi9mZXRjaC5jOjE4OSBidWlsdGluL3B1bGwuYzoyMzcKIG1zZ2lkICJzcGVjaWZ5IGZldGNoIHJlZm1hcCIKIG1zZ3N0ciAiZXNwZWNpZmljYXIgZXh0cmFjY2nDs24gZGUgcmVmbWFwIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTY0IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzcgYnVpbHRpbi9wdXNoLmM6NTgyCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE3MgotbXNnaWQgInNlcnZlci1zcGVjaWZpYyIKLW1zZ3N0ciAiZXNwZWNpZmljby1kZS1zZXJ2aWRvciIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjE2NCBidWlsdGluL2xzLXJlbW90ZS5jOjc3IGJ1aWx0aW4vcHVzaC5jOjU4MgotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzMKLW1zZ2lkICJvcHRpb24gdG8gdHJhbnNtaXQiCi1tc2dzdHIgIm9wY2nDs24gcGFyYSB0cmFzbWl0aXIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNzAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxOTYKIG1zZ2lkICJyZXBvcnQgdGhhdCB3ZSBoYXZlIG9ubHkgb2JqZWN0cyByZWFjaGFibGUgZnJvbSB0aGlzIG9iamVjdCIKIG1zZ3N0ciAicmVwb3J0YSBxdWUgc29sbyB0ZW5lbW9zIG9iamV0b3MgYWxjYW56YWJsZXMgZGUgZXN0ZSBvYmpldG8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0NzAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxOTkKK21zZ2lkICJydW4gJ2djIC0tYXV0bycgYWZ0ZXIgZmV0Y2hpbmciCittc2dzdHIgImVqZWN1dGFyICdnYyAtLWF1dG8nIHRyYXMgZWwgZmV0Y2giCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMDEgYnVpbHRpbi9wdWxsLmM6MjQ2Cittc2dpZCAiY2hlY2sgZm9yIGZvcmNlZC11cGRhdGVzIG9uIGFsbCB1cGRhdGVkIGJyYW5jaGVzIgorbXNnc3RyICJ2ZXJpZmljYXIgdXBkYXRlcyBmb3J6YWRvcyBlbiB0b2RvcyBsb3MgYnJhbmNoIGFjdHVhbGl6YWRvcyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjIwMworbXNnaWQgIndyaXRlIHRoZSBjb21taXQtZ3JhcGggYWZ0ZXIgZmV0Y2hpbmciCittc2dzdHIgImVzY3JpYmlyIGNvbW1pdC1ncmFwaCBsdWVnbyBkZWwgZmV0Y2giCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MTMKIG1zZ2lkICJDb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgSEVBRCIKIG1zZ3N0ciAiTm8gc2UgcHVlZG8gZW5jb250cmFyIHJlZiByZW1vdGEgSEVBRCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwOQorIzogYnVpbHRpbi9mZXRjaC5jOjY1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBjb250YWlucyBpbnZhbGlkIHZhbHVlICVzIgogbXNnc3RyICJsYSBjb25maWd1cmFjacOzbiBmZXRjaC5vdXRwdXQgY29udGllbmUgZWwgdmFsb3IgaW52w6FsaWRvICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzAyCisjOiBidWlsdGluL2ZldGNoLmM6NzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBub3QgZm91bmQiCiBtc2dzdHIgIm9iamV0byAlcyBubyBlbmNvbnRyYWRvIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzA2CisjOiBidWlsdGluL2ZldGNoLmM6NzU1CiBtc2dpZCAiW3VwIHRvIGRhdGVdIgogbXNnc3RyICJbYWN0dWFsaXphZG9dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzE5IGJ1aWx0aW4vZmV0Y2guYzo3MzUgYnVpbHRpbi9mZXRjaC5jOjgwNworIzogYnVpbHRpbi9mZXRjaC5jOjc2OCBidWlsdGluL2ZldGNoLmM6Nzg0IGJ1aWx0aW4vZmV0Y2guYzo4NTYKIG1zZ2lkICJbcmVqZWN0ZWRdIgogbXNnc3RyICJbcmVjaGF6YWRvXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcyMAorIzogYnVpbHRpbi9mZXRjaC5jOjc2OQogbXNnaWQgImNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICJubyBzZSBwdWVkZSB0cmFlciBlbiBsYSByYW1hIGFjdHVhbCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjczMAorIzogYnVpbHRpbi9mZXRjaC5jOjc3OQogbXNnaWQgIlt0YWcgdXBkYXRlXSIKIG1zZ3N0ciAiW2FjdHVhbGl6YWNpw7NuIGRlIHRhZ10iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MzEgYnVpbHRpbi9mZXRjaC5jOjc3MSBidWlsdGluL2ZldGNoLmM6Nzg3Ci0jOiBidWlsdGluL2ZldGNoLmM6ODAyCisjOiBidWlsdGluL2ZldGNoLmM6NzgwIGJ1aWx0aW4vZmV0Y2guYzo4MTcgYnVpbHRpbi9mZXRjaC5jOjgzOQorIzogYnVpbHRpbi9mZXRjaC5jOjg1MQogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIgogbXNnc3RyICJubyBzZSBwb3NpYmxlIGFjdHVhbGl6YXIgZWwgcmVmIGxvY2FsIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzM1CisjOiBidWlsdGluL2ZldGNoLmM6Nzg0CiBtc2dpZCAid291bGQgY2xvYmJlciBleGlzdGluZyB0YWciCiBtc2dzdHIgInBvZHLDrWEgZ29scGVhciB0YWcgZXhpc3RlbnRlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzU3CisjOiBidWlsdGluL2ZldGNoLmM6ODA2CiBtc2dpZCAiW25ldyB0YWddIgogbXNnc3RyICJbbnVldm8gdGFnXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc2MAorIzogYnVpbHRpbi9mZXRjaC5jOjgwOQogbXNnaWQgIltuZXcgYnJhbmNoXSIKIG1zZ3N0ciAiW251ZXZhIHJhbWFdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzYzCisjOiBidWlsdGluL2ZldGNoLmM6ODEyCiBtc2dpZCAiW25ldyByZWZdIgogbXNnc3RyICJbbnVldmEgcmVmZXJlbmNpYV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MDIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTEKIG1zZ2lkICJmb3JjZWQgdXBkYXRlIgogbXNnc3RyICJhY3R1YWxpemFjacOzbiBmb3J6YWRhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODA3CisjOiBidWlsdGluL2ZldGNoLmM6ODU2CiBtc2dpZCAibm9uLWZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAiYXZhbmNlIGxlbnRvIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODUzCisjOiBidWlsdGluL2ZldGNoLmM6ODc3Cittc2dpZCAiIgorIkZldGNoIG5vcm1hbGx5IGluZGljYXRlcyB3aGljaCBicmFuY2hlcyBoYWQgYSBmb3JjZWQgdXBkYXRlLFxuIgorImJ1dCB0aGF0IGNoZWNrIGhhcyBiZWVuIGRpc2FibGVkLiBUbyByZS1lbmFibGUsIHVzZSAnLS1zaG93LWZvcmNlZC11cGRhdGVzJ1xuIgorImZsYWcgb3IgcnVuICdnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzIHRydWUnLiIKK21zZ3N0ciAiIgorIkZldGNoIG5vcm1hbG1lbnRlIGluY2lkYSBxdcOpIGJyYW5jaGVzIGhhbiB0ZW5pZG8gdW4gdXBkYXRlIGZvcnphZG8sXG4iCisicGVybyBlc2EgdmFsaWRhY2nDs24gaGEgc2lkbyBkZXNoYWJpbGl0YWRhLiBQYXJhIGFjdGl2YXJsYSBkZSBudWV2byB1c2UgJy0tIgorInNob3ctZm9yY2VkLXVwZGF0ZXMnXG4iCisibyBlamVjdXRlICdnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzIHRydWUnLiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjg4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gY2hlY2sgZm9yY2VkIHVwZGF0ZXMuIFlvdSBjYW4gdXNlXG4iCisiJy0tbm8tc2hvdy1mb3JjZWQtdXBkYXRlcycgb3IgcnVuICdnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzICIKKyJmYWxzZSdcbiIKKyIgdG8gYXZvaWQgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIlRvbcOzICUuMmYgc2VndW5kb3MgdmFsaWRhciBsb3MgdXBkYXRlcyBmb3J6YWRvcy4gUHVlZGVzIHVzYXJcbiIKKyInLS1uby1zaG93LWZvcmNlZC11cGRhdGVzJyBvIGVqZWN1dGFyICdnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzICIKKyJmYWxzZSdcbiIKKyJwYXJhIGV2aXRhciBlc3RhIHZhbGlkYWNpw7NuLlxuIgorCisjOiBidWlsdGluL2ZldGNoLmM6OTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKIG1zZ3N0ciAiJXMgbm8gZW52acOzIHRvZG9zIGxvcyBvYmpldG9zIG5lY2VzYXJpb3NcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg3NAorIzogYnVpbHRpbi9mZXRjaC5jOjkzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWplY3QgJXMgYmVjYXVzZSBzaGFsbG93IHJvb3RzIGFyZSBub3QgYWxsb3dlZCB0byBiZSB1cGRhdGVkIgogbXNnc3RyICJyZWNoYXphZG8gJXMgcG9ycXVlIHJhw61jZXMgc3VwZXJmaWNpYWxlcyBubyBwdWVkZW4gc2VyIGFjdHVhbGl6YWRhcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk2MyBidWlsdGluL2ZldGNoLmM6MTA4NQorIzogYnVpbHRpbi9mZXRjaC5jOjEwMTcgYnVpbHRpbi9mZXRjaC5jOjExNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRnJvbSAlLipzXG4iCiBtc2dzdHIgIkRlc2RlICUuKnNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk3NAorIzogYnVpbHRpbi9mZXRjaC5jOjEwMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKQEAgLTExMDEzLDU2ICsxMzUwNSw3OSBAQAogImFsZ3Vub3MgcmVmcyBsb2NhbGVzIG5vIHB1ZGllcm9uIHNlciBhY3R1YWxpemFkb3M7IGludGVudGUgZWplY3V0YXJcbiIKICIgJ2dpdCByZW1vdGUgcHJ1bmUgJXMnIHBhcmEgZWxpbWluYXIgY3VhbHF1aWVyIHJhbWEgdmllamEgbyBjb25mbGljdGl2YSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICglcyBzZSBwb25kcsOhIGNvbGdhZG8pIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA1NgorIzogYnVpbHRpbi9mZXRjaC5jOjExMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMgc2UgaGEgY29sZ2FkbykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDg4CisjOiBidWlsdGluL2ZldGNoLmM6MTE1OAogbXNnaWQgIltkZWxldGVkXSIKIG1zZ3N0ciAiW2VsaW1pbmFkb10iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDg5IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNgorIzogYnVpbHRpbi9mZXRjaC5jOjExNTkgYnVpbHRpbi9yZW1vdGUuYzoxMDM1CiBtc2dpZCAiKG5vbmUpIgogbXNnc3RyICIobmFkYSkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTEyCisjOiBidWlsdGluL2ZldGNoLmM6MTE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBmZXRjaCBpbnRvIGN1cnJlbnQgYnJhbmNoICVzIG9mIG5vbi1iYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIlJlaHVzYW5kbyBleHRyYWVyIGVuIGxhIHJhbWEgYWN0dWFsICVzIGRlIHVuIHJlcG9zaXRvcmlvIG5vIHZhY8OtbyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgdmFsdWUgXCIlc1wiIGlzIG5vdCB2YWxpZCBmb3IgJXMiCiBtc2dzdHIgIk9wY2nDs24gXCIlc1wiIHZhbG9yIFwiJXNcIiBubyBlcyB2w6FsaWRvIHBhcmEgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTM0CisjOiBidWlsdGluL2ZldGNoLmM6MTIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIGlzIGlnbm9yZWQgZm9yICVzXG4iCiBtc2dzdHIgIk9wY2nDs24gXCIlc1wiIGVzIGlnbm9yYWRhIHBvciAlc1xuIgogCisjOiBidWlsdGluL2ZldGNoLmM6MTQxMgorbXNnaWQgIm11bHRpcGxlIGJyYW5jaGVzIGRldGVjdGVkLCBpbmNvbXBhdGlibGUgd2l0aCAtLXNldC11cHN0cmVhbSIKK21zZ3N0ciAibcO6bHRpcGxlcyByYW1hcyBkZXRlY3RhZGFzLCBpbmNvbXBhdGlibGUgY29uIC0tc2V0LXVwc3RyZWFtIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQyNworbXNnaWQgIm5vdCBzZXR0aW5nIHVwc3RyZWFtIGZvciBhIHJlbW90ZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgorbXNnc3RyICJubyBjb25maWd1cmFyIHVwc3RyZWFtIHBhcmEgdW5hIHJhbWEgZGUgcmFzdHJlbyByZW1vdG8iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDI5Cittc2dpZCAibm90IHNldHRpbmcgdXBzdHJlYW0gZm9yIGEgcmVtb3RlIHRhZyIKK21zZ3N0ciAibm8gY29uZmlndXJhciB1cHN0cmVhbSBwYXJhIHVuIHRhZyByZW1vdG8iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDMxCittc2dpZCAidW5rbm93biBicmFuY2ggdHlwZSIKK21zZ3N0ciAidGlwbyBkZSBicmFuY2ggZGVzY29ub2NpZG8iCisKICM6IGJ1aWx0aW4vZmV0Y2guYzoxNDMzCittc2dpZCAiIgorIm5vIHNvdXJjZSBicmFuY2ggZm91bmQuXG4iCisieW91IG5lZWQgdG8gc3BlY2lmeSBleGFjdGx5IG9uZSBicmFuY2ggd2l0aCB0aGUgLS1zZXQtdXBzdHJlYW0gb3B0aW9uLiIKK21zZ3N0ciAiIgorIm5vIHNlIGVuY29udHLDsyByYW1hIGZ1ZW50ZS5cbiIKKyJ0aWVuZXMgcXVlIGVzcGVjaWZpY2FyIGV4YWN0YW1lbnRlIHVuYSByYW1hIGNvbiBsYSBvcGNpw7NuIC0tc2V0LXVwc3RyZWFtLiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE1NTkgYnVpbHRpbi9mZXRjaC5jOjE2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmV0Y2hpbmcgJXNcbiIKIG1zZ3N0ciAiRXh0cmF5ZW5kbyAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQzNSBidWlsdGluL3JlbW90ZS5jOjEwMAorIzogYnVpbHRpbi9mZXRjaC5jOjE1NjkgYnVpbHRpbi9mZXRjaC5jOjE2MjQgYnVpbHRpbi9yZW1vdGUuYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgogbXNnc3RyICJObyBzZSBwdWRvIGV4dHJhZXIgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNDgxIGJ1aWx0aW4vZmV0Y2guYzoxNjQ5Ci1tc2dpZCAiIgotIi0tZmlsdGVyIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB0aGUgcmVtb3RlIGNvbmZpZ3VyZWQgaW4gY29yZS5wYXJ0aWFsQ2xvbmUiCi1tc2dzdHIgIiIKLSItLWZpbHRlciBzb2xvIHB1ZWRlIHNlciB1c2FkbyBjb24gZWwgcmVtb3RvIGNvbmZpZ3VyYWRvIGVuIGNvcmUucGFydGlhbENsb25lIgorIzogYnVpbHRpbi9mZXRjaC5jOjE1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGZldGNoICclcycgKGV4aXQgY29kZTogJWQpXG4iCittc2dzdHIgIm5vIHNlIHB1ZG8gaGFjZXIgZmV0Y2ggYSAnJXMnIChjw7NkaWdvIGRlIHNhbGlkYTogJWQpXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTA0CisjOiBidWlsdGluL2ZldGNoLmM6MTY4NAogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgpAQCAtMTEwNzAsNjYgKzEzNTg1LDc0IEBACiAiTm8gaGF5IHJlcG9zaXRvcmlvIHJlbW90byBlc3BlY2lmaWNhZG8uIFBvciBmYXZvciwgZXNwZWNpZmlxdWUgdW4gVVJMIG8gdW5cbiIKICJub21icmUgcmVtb3RvIGRlbCBjdWFsIGxhcyBudWV2YXMgcmV2aXNpb25lcyBkZWJlbiBzZXIgZXh0cmHDrWRhcy4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTQxCisjOiBidWlsdGluL2ZldGNoLmM6MTcyMQogbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCi1tc2dzdHIgIlRpZW5lIHF1ZSBlc3BlY2lmaWNhciB1biBub21icmUgZGUgdGFnLiIKK21zZ3N0ciAiVGllbmVzIHF1ZSBlc3BlY2lmaWNhciB1biBub21icmUgZGUgdGFnLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1OTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzcxCiBtc2dpZCAiTmVnYXRpdmUgZGVwdGggaW4gLS1kZWVwZW4gaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiUHJvZnVuZGlkYWQgbmVnYXRpdmEgZW4gLS1kZWVwZW4gbm8gc29wb3J0YWRhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU5MgorIzogYnVpbHRpbi9mZXRjaC5jOjE3NzMKIG1zZ2lkICItLWRlZXBlbiBhbmQgLS1kZXB0aCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItLWRlZXBlbiB5IC0tZGVwdGggc29uIG11dHVhbWVudGUgZXhjbHVzaXZhcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1OTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzc4CiBtc2dpZCAiLS1kZXB0aCBhbmQgLS11bnNoYWxsb3cgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi0tZGVwdGggeSAtLXVuc2hhbGxvdyBubyBwdWVkZW4gc2VyIHVzYWRhcyBqdW50YXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTk5CisjOiBidWlsdGluL2ZldGNoLmM6MTc4MAogbXNnaWQgIi0tdW5zaGFsbG93IG9uIGEgY29tcGxldGUgcmVwb3NpdG9yeSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLXVuc2hhbGxvdyBubyB0aWVuZSBzZW50aWRvIGVuIHVuIHJlcG9zaXRvcmlvIGNvbXBsZXRvIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYxNQorIzogYnVpbHRpbi9mZXRjaC5jOjE3OTYKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCB0YWtlIGEgcmVwb3NpdG9yeSBhcmd1bWVudCIKIG1zZ3N0ciAiZmV0Y2ggLS1hbGwgbm8gdG9tYSB1biBhcmd1bWVudG8gZGUgcmVwb3NpdG9yaW8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjE3CisjOiBidWlsdGluL2ZldGNoLmM6MTc5OAogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiZmV0Y2ggLS1hbGwgbm8gdGllbmUgc2VudGlkbyBjb24gcmVmc3BlY3MiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjI2CisjOiBidWlsdGluL2ZldGNoLmM6MTgwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgogbXNnc3RyICJObyBleGlzdGUgZWwgcmVtb3RvIG8gZ3J1cG8gcmVtb3RvOiAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MzMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODE0CiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJFeHRyYWVyIHVuIGdydXBvIHkgZXNwZWNpZmljYXIgdW4gcmVmc3BlY3Mgbm8gdGllbmUgc2VudGlkbyIKIAorIzogYnVpbHRpbi9mZXRjaC5jOjE4MzIKK21zZ2lkICIiCisiLS1maWx0ZXIgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHRoZSByZW1vdGUgY29uZmlndXJlZCBpbiBleHRlbnNpb25zLiIKKyJwYXJ0aWFsY2xvbmUiCittc2dzdHIgIiIKKyItLWZpbHRlciBzb2xvIHB1ZWRlIHNlciB1c2FkbyBjb24gZWwgcmVtb3RvIGNvbmZpZ3VyYWRvIGVuIGV4dGVuc2lvbnMuIgorInBhcnRpYWxDbG9uZSIKKwogIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6MTgKIG1zZ2lkICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZXNzYWdlPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKIG1zZ3N0ciAiIgogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8bWVuc2FqZT5dIFstLWxvZ1s9PG4+XSB8IC0tbm8tbG9nXSBbLS1maWxlIDxhcmNoaXZvPl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MgorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc0CiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgogbXNnc3RyICJwb2JsYXIgZWwgbG9nIGNvbiBtw6F4aW1vIDxuPiBlbnRyYWRhcyBkZWwgc2hvcmxvZyIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc1CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzcKIG1zZ2lkICJhbGlhcyBmb3IgLS1sb2cgKGRlcHJlY2F0ZWQpIgogbXNnc3RyICJhbGlhcyBwYXJhIC0tbG9nIChkZXByZWNhZG8pIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzgKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY4MAogbXNnaWQgInRleHQiCiBtc2dzdHIgInRleHRvIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzkKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY4MQogbXNnaWQgInVzZSA8dGV4dD4gYXMgc3RhcnQgb2YgbWVzc2FnZSIKIG1zZ3N0ciAidXNlIDx0ZXh0PiBjb21vIGNvbWllbnpvIGRlIG1lbnNhamUiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY4MAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjgyCiBtc2dpZCAiZmlsZSB0byByZWFkIGZyb20iCiBtc2dzdHIgImFyY2hpdm8gZGVsIGN1YWwgbGVlciIKIApAQCAtMTExNjksOTEgKzEzNjkyLDI3NCBAQAogbXNnaWQgInNob3cgb25seSA8bj4gbWF0Y2hlZCByZWZzIgogbXNnc3RyICJtb3N0cmFyIHNvbG8gPG4+IHJlZnMgZW5jb250cmFkYXMiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzkgYnVpbHRpbi90YWcuYzo0MjQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzkgYnVpbHRpbi90YWcuYzo0MzkKIG1zZ2lkICJyZXNwZWN0IGZvcm1hdCBjb2xvcnMiCiBtc2dzdHIgInJlc3BldGFyIGVsIGZvcm1hdG8gZGUgY29sb3JlcyIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MgogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBwb2ludHMgYXQgdGhlIGdpdmVuIG9iamVjdCIKIG1zZ3N0ciAibW9zdHJhciBzb2xvIHJlZnMgcXVlIGFwdW50ZW4gYWwgb2JqZXRvIGRhZG8iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDQKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgdGhhdCBhcmUgbWVyZ2VkIgogbXNnc3RyICJtb3N0cmFyIHNvbG8gcmVmcyBxdWUgc29uIGZ1c2lvbmFkYXMiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDYKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAibW9zdHJhciBzb2xvIHJlZnMgcXVlIG5vIHNvbiBmdXNpb25hZGFzIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ3CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAibW9zdHJhciBzb2xvIHJlZnMgcXVlIGNvbnRpZW5lbiBlbCBjb21taXQiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDgKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDcKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJtb3N0cmFyIHNvbG8gcmVmcyBxdWUgbm8gY29udGllbmVuIGVsIGNvbW1pdCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTk4CisjOiBidWlsdGluL2ZzY2suYzo2OCBidWlsdGluL2ZzY2suYzoxNDcgYnVpbHRpbi9mc2NrLmM6MTQ4Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAiZGVzY29ub2NpZG8iCisKKyMuIFRSQU5TTEFUT1JTOiBlLmcuIGVycm9yIGluIHRyZWUgMDFiZmRhOiA8bW9yZSBleHBsYW5hdGlvbj4KKyM6IGJ1aWx0aW4vZnNjay5jOjEwMCBidWlsdGluL2ZzY2suYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgaW4gJXMgJXM6ICVzIgorbXNnc3RyICJlcnJvciBlbiAlcyAlczogJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBlLmcuIHdhcm5pbmcgaW4gdHJlZSAwMWJmZGE6IDxtb3JlIGV4cGxhbmF0aW9uPgorIzogYnVpbHRpbi9mc2NrLmM6MTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmcgaW4gJXMgJXM6ICVzIgorbXNnc3RyICJwZWxpZ3JvIGVuICVzICVzOiAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6MTQzIGJ1aWx0aW4vZnNjay5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJicm9rZW4gbGluayBmcm9tICU3cyAlcyIKK21zZ3N0ciAibGluayByb3RvIGRlICU3cyAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6MTU1Cittc2dpZCAid3Jvbmcgb2JqZWN0IHR5cGUgaW4gbGluayIKK21zZ3N0ciAidGlwbyBkZSBvYmpldG8gZXF1aXZvY2FkbyBlbiBsaW5rIgorCisjOiBidWlsdGluL2ZzY2suYzoxNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImJyb2tlbiBsaW5rIGZyb20gJTdzICVzXG4iCisiICAgICAgICAgICAgICB0byAlN3MgJXMiCittc2dzdHIgIiIKKyJsaW5rIHJvdG8gZGUgJTdzICVzXG4iCisiICAgICAgICAgICAgICBhICU3cyAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgJXMgJXMiCittc2dzdHIgImZhbHRhbiAlcyAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlICVzICVzIgorbXNnc3RyICJpbmFsY2FuemFibGUgJXMgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJkYW5nbGluZyAlcyAlcyIKK21zZ3N0ciAiYWN0dWFsaXphbmRvICVzICVzIgorCisjOiBidWlsdGluL2ZzY2suYzozMzkKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxvc3QtZm91bmQiCittc2dzdHIgIm5vIHNlIHB1ZG8gY3JlYXIgbG9zdC1mb3VuZCIKKworIzogYnVpbHRpbi9mc2NrLmM6MzUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmaW5pc2ggJyVzJyIKK21zZ3N0ciAibm8gc2UgcHVkbyBmaW5hbGl6YXIgJyVzJyIKKworIzogYnVpbHRpbi9mc2NrLmM6MzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nICVzIgorbXNnc3RyICJSZXZpc2FuZG8gJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkgKCVkIG9iamVjdHMpIgorbXNnc3RyICJWZXJpZmljYW5kbyBjb25lY3RpdmlkYWQgKCVkIG9iamV0b3MpIgorCisjOiBidWlsdGluL2ZzY2suYzo0MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgJXMgJXMiCittc2dzdHIgIlJldmlzYW5kbyAlcyAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDI5Cittc2dpZCAiYnJva2VuIGxpbmtzIgorbXNnc3RyICJsaW5rcyByb3RvcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDM4CisjLCBjLWZvcm1hdAorbXNnaWQgInJvb3QgJXMiCittc2dzdHIgInJhw616ICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnZ2VkICVzICVzICglcykgaW4gJXMiCittc2dzdHIgInRhZyAlcyAlcyAoJXMpIGVuICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBjb3JydXB0IG9yIG1pc3NpbmciCittc2dzdHIgIiVzOiBvYmplY3RvIGNvcnJ1cHRvIG8gZmFsdGFudGUiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjUwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCByZWZsb2cgZW50cnkgJXMiCittc2dzdHIgIiVzOiByZWZlcmVuY2lhIGludsOhbGlkYSAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nIHJlZmxvZyAlcy0+JXMiCittc2dzdHIgIlJldmlzYW5kbyByZWZsb2cgJXMtPiVzIgorCisjOiBidWlsdGluL2ZzY2suYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgc2hhMSBwb2ludGVyICVzIgorbXNnc3RyICIlczogcHVudGVybyBzaGExIGludsOhbGlkbyAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBjb21taXQiCittc2dzdHIgIiVzOiBubyBlcyB1biBjb21taXQiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYwOQorbXNnaWQgIm5vdGljZTogTm8gZGVmYXVsdCByZWZlcmVuY2VzIgorbXNnc3RyICJhdmlzbzogTm8gaGF5IHJlZmVyZW5jaWFzIHBvciBkZWZlY3RvIgorCisjOiBidWlsdGluL2ZzY2suYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBjb3JydXB0IG9yIG1pc3Npbmc6ICVzIgorbXNnc3RyICIlczogb2JqZXRvIGNvcnJ1cHRvIG8gbm8gZW5jb250cmFkbzogJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2JqZWN0IGNvdWxkIG5vdCBiZSBwYXJzZWQ6ICVzIgorbXNnc3RyICIlczogbm8gc2UgcHVlZGUgYW5hbGl6YXIgb2JqZXRvOiAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzaGExIGZpbGU6ICVzIgorbXNnc3RyICJtYWwgc2hhMSBkZSBhcmNoaXZvOiAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NjcyCittc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yeSIKK21zZ3N0ciAiUmV2aXNhbmRvIGRpcmVjdG9yaW8gZGUgb2JqZXRvcyIKKworIzogYnVpbHRpbi9mc2NrLmM6Njc1CiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yaWVzIgogbXNnc3RyICJSZXZpc2FuZG8gb2JqZXRvcyBkaXJlY3RvcmlvcyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjkzCisjOiBidWlsdGluL2ZzY2suYzo2OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgJXMgbGluayIKK21zZ3N0ciAiUmV2aXNhbmRvIGxpbmsgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY5NSBidWlsdGluL2luZGV4LXBhY2suYzo4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCAlcyIKK21zZ3N0ciAiJXMgaW52w6FsaWRvIgorCisjOiBidWlsdGluL2ZzY2suYzo3MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcG9pbnRzIHRvIHNvbWV0aGluZyBzdHJhbmdlICglcykiCittc2dzdHIgIiVzIGFwdW50YSBhIGFsZ28gZXh0cmHDsW8gKCVzKSIKKworIzogYnVpbHRpbi9mc2NrLmM6NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2hlZCBIRUFEIHBvaW50cyBhdCBub3RoaW5nIgorbXNnc3RyICIlczogSEVBRCBkZXNhY29wbGFkbyBhcHVudGEgYSBuYWRhIgorCisjOiBidWlsdGluL2ZzY2suYzo3MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90aWNlOiAlcyBwb2ludHMgdG8gYW4gdW5ib3JuIGJyYW5jaCAoJXMpIgorbXNnc3RyICJhdmlzbzogJXMgYXB1bnRhIGEgdW4gYnJhbmNoIG5vIG5hY2lkbyAoJXMpIgorCisjOiBidWlsdGluL2ZzY2suYzo3MjQKK21zZ2lkICJDaGVja2luZyBjYWNoZSB0cmVlIgorbXNnc3RyICJSZXZpc2FuZG8gZWwgY2FjaGUgdHJlZSIKKworIzogYnVpbHRpbi9mc2NrLmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHNoYTEgcG9pbnRlciBpbiBjYWNoZS10cmVlIgorbXNnc3RyICIlczogcHVudGVybyBpbnbDoWxpZG8gc2hhMSBlbiBjYWNoZS10cmVlIgorCisjOiBidWlsdGluL2ZzY2suYzo3MzgKK21zZ2lkICJub24tdHJlZSBpbiBjYWNoZS10cmVlIgorbXNnc3RyICJub24tdHJlZSBlbiBjYWNoZS10cmVlIgorCisjOiBidWlsdGluL2ZzY2suYzo3NjkKIG1zZ2lkICJnaXQgZnNjayBbPG9wdGlvbnM+XSBbPG9iamVjdD4uLi5dIgogbXNnc3RyICJnaXQgZnNjayBbPG9wY2lvbmVzPl0gWzxvYmpldG8+Li4uXSIKIAotIzogYnVpbHRpbi9mc2NrLmM6Njk5CisjOiBidWlsdGluL2ZzY2suYzo3NzUKIG1zZ2lkICJzaG93IHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIm1vc3RyYXIgb2JqZXRvcyBpbGVnaWJsZXMiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwMAorIzogYnVpbHRpbi9mc2NrLmM6Nzc2CiBtc2dpZCAic2hvdyBkYW5nbGluZyBvYmplY3RzIgogbXNnc3RyICJtb3N0cmFyIG9iamV0b3MgY29sZ2Fkb3MiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwMQorIzogYnVpbHRpbi9mc2NrLmM6Nzc3CiBtc2dpZCAicmVwb3J0IHRhZ3MiCiBtc2dzdHIgInJlcG9ydGFyIHRhZ3MiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwMgorIzogYnVpbHRpbi9mc2NrLmM6Nzc4CiBtc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCiBtc2dzdHIgInJlcG9ydGFyIG5vZG9zIHJhw616IgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDMKKyM6IGJ1aWx0aW4vZnNjay5jOjc3OQogbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgogbXNnc3RyICJoYWNlciBvYmpldG9zIMOtbmRpY2VzIGNhYmV6YXMgZGUgbm9kb3MiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwNAorIzogYnVpbHRpbi9mc2NrLmM6NzgwCiBtc2dpZCAibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIgogbXNnc3RyICJoYWNlciByZWZsb2dzIGNhYmV6YSBkZSBub2RvcyAoZGVmYXVsdCkiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwNQorIzogYnVpbHRpbi9mc2NrLmM6NzgxCiBtc2dpZCAiYWxzbyBjb25zaWRlciBwYWNrcyBhbmQgYWx0ZXJuYXRlIG9iamVjdHMiCiBtc2dzdHIgInRhbWJpw6luIGNvbnNpZGVyYXIgcGFxdWV0ZXMgeSBvYmpldG9zIGFsdGVybm9zIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDYKKyM6IGJ1aWx0aW4vZnNjay5jOjc4MgogbXNnaWQgImNoZWNrIG9ubHkgY29ubmVjdGl2aXR5IgogbXNnc3RyICJyZXZpc2FyIHNvbG8gY29uZWN0aXZpZGFkIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDcKKyM6IGJ1aWx0aW4vZnNjay5jOjc4MwogbXNnaWQgImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIKIG1zZ3N0ciAiaGFiaWxpdGFyIHJldmlzacOzbiBtw6FzIGVzdHJpY3RhIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDkKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NQogbXNnaWQgIndyaXRlIGRhbmdsaW5nIG9iamVjdHMgaW4gLmdpdC9sb3N0LWZvdW5kIgogbXNnc3RyICJlc2NyaWJpciBvYmpldG9zIGNvbGdhZG9zIGVuIC5naXQvbG9zdC1mb3VuZCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzEwIGJ1aWx0aW4vcHJ1bmUuYzoxMTAKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NiBidWlsdGluL3BydW5lLmM6MTMyCiBtc2dpZCAic2hvdyBwcm9ncmVzcyIKIG1zZ3N0ciAibW9zdHJhciBwcm9ncmVzbyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzExCisjOiBidWlsdGluL2ZzY2suYzo3ODcKIG1zZ2lkICJzaG93IHZlcmJvc2UgbmFtZXMgZm9yIHJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJtb3N0cmFyIG5vbWJyZXMgdmVyYm9zbyBwYXJhIG9iamV0b3MgYWxjYW56YWJsZXMiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjc3NgorIzogYnVpbHRpbi9mc2NrLmM6ODQ2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNQogbXNnaWQgIkNoZWNraW5nIG9iamVjdHMiCiBtc2dzdHIgIlJldmlzYW5kbyBvYmpldG9zIgogCi0jOiBidWlsdGluL2djLmM6MzQKKyM6IGJ1aWx0aW4vZnNjay5jOjg3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2JqZWN0IG1pc3NpbmciCittc2dzdHIgIiVzOiBvYmpldG8gZmFsdGFudGUiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHBhcmFtZXRlcjogZXhwZWN0ZWQgc2hhMSwgZ290ICclcyciCittc2dzdHIgInBhcsOhbWV0cm8gaW52w6FsaWRvOiBzaGExIGVzcGVyYWRvLCBzZSBvYnR1dm8gJyVzJyIKKworIzogYnVpbHRpbi9nYy5jOjM1CiBtc2dpZCAiZ2l0IGdjIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgZ2MgWzxvcGNpb25lcz5dIgogCkBAIC0xMTI2MiwxNyArMTM5NjgsMjIgQEAKIG1zZ2lkICJGYWlsZWQgdG8gZnN0YXQgJXM6ICVzIgogbXNnc3RyICJGYWxsw7MgZWwgZnN0YXQgJXM6ICVzIgogCi0jOiBidWlsdGluL2djLmM6NDYxIGJ1aWx0aW4vaW5pdC1kYi5jOjU1CisjOiBidWlsdGluL2djLmM6MTI2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAnJXMnIHZhbHVlICclcyciCittc2dzdHIgImZhbGzDsyBhbCBhbmFsaXphciAnJXMnIHZhbG9yICclcyciCisKKyM6IGJ1aWx0aW4vZ2MuYzo0NzUgYnVpbHRpbi9pbml0LWRiLmM6NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBkZWZpbmlyICclcyciCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0NzAgYnVpbHRpbi9ub3Rlcy5jOjI0MCBidWlsdGluL3RhZy5jOjUxMAorIzogYnVpbHRpbi9nYy5jOjQ4NCBidWlsdGluL25vdGVzLmM6MjQwIGJ1aWx0aW4vdGFnLmM6NTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGxlZXIgJyVzJyIKIAotIzogYnVpbHRpbi9nYy5jOjQ3NworIzogYnVpbHRpbi9nYy5jOjQ5MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGxhc3QgZ2MgcnVuIHJlcG9ydGVkIHRoZSBmb2xsb3dpbmcuIFBsZWFzZSBjb3JyZWN0IHRoZSByb290IGNhdXNlXG4iCkBAIC0xMTI4Miw1OSArMTM5OTMsNTkgQEAKICIlcyIKIG1zZ3N0ciAiIgogIkVsIMO6bHRpbW8gZ2MgcmVwb3J0w7MgbG8gc2lndWllbnRlLiBQb3IgZmF2b3IgY29ycmlnZSBsYSBjYXVzYVxuIgotInkgcmVtdWV2YSAlcy5cbiIKKyJ5IGVsaW1pbmUgJXMuXG4iCiAiTGltcGllemEgYXV0b23DoXRpY2Egbm8gc2UgcmVhbGl6YXLDoSBoYXN0YSBxdWUgZWwgYXJjaGl2byBzZWEgZWxpbWluYWRvLlxuIgogIlxuIgogIiVzIgogCi0jOiBidWlsdGluL2djLmM6NTE5CisjOiBidWlsdGluL2djLmM6NTM5CiBtc2dpZCAicHJ1bmUgdW5yZWZlcmVuY2VkIG9iamVjdHMiCiBtc2dzdHIgImxpbXBpYXIgb2JqZXRvcyBubyByZWZlcmVuY2lhZG9zIgogCi0jOiBidWlsdGluL2djLmM6NTIxCisjOiBidWlsdGluL2djLmM6NTQxCiBtc2dpZCAiYmUgbW9yZSB0aG9yb3VnaCAoaW5jcmVhc2VkIHJ1bnRpbWUpIgogbXNnc3RyICJzZXIgbcOhcyBleGhhdXN0aXZvIChhdW1lbnRhciBydW50aW1lKSIKIAotIzogYnVpbHRpbi9nYy5jOjUyMgorIzogYnVpbHRpbi9nYy5jOjU0MgogbXNnaWQgImVuYWJsZSBhdXRvLWdjIG1vZGUiCiBtc2dzdHIgImhhYmlsaXRhciBtb2RvIGF1dG8tZ2MiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MjUKKyM6IGJ1aWx0aW4vZ2MuYzo1NDUKIG1zZ2lkICJmb3JjZSBydW5uaW5nIGdjIGV2ZW4gaWYgdGhlcmUgbWF5IGJlIGFub3RoZXIgZ2MgcnVubmluZyIKIG1zZ3N0ciAiZm9yemFyIGxhIGVqZWN1Y2nDs24gZGUgZ2MgaW5jbHVzbyBzaSBwdWVkZSBoYWJlciBvdHJvIGdjIGVqZWN1dMOhbmRvc2UiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MjgKKyM6IGJ1aWx0aW4vZ2MuYzo1NDgKIG1zZ2lkICJyZXBhY2sgYWxsIG90aGVyIHBhY2tzIGV4Y2VwdCB0aGUgbGFyZ2VzdCBwYWNrIgogbXNnc3RyICJyZWVtcGFxdWV0YXIgdG9kb3MgbG9zIG90cm9zIHBhcXVldGVzIGV4Y2VwdG8gZWwgcGFxdWV0ZSBtw6FzIGdyYW5kZSIKIAotIzogYnVpbHRpbi9nYy5jOjU0NQorIzogYnVpbHRpbi9nYy5jOjU2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2MubG9nZXhwaXJ5IHZhbHVlICVzIgogbXNnc3RyICJmYWxsw7MgYWwgYW5hbGl6YXIgdmFsb3IgJXMgZGUgZ2MubG9nZXhwaXJpdHkiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1NTYKKyM6IGJ1aWx0aW4vZ2MuYzo1NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBydW5lIGV4cGlyeSB2YWx1ZSAlcyIKIG1zZ3N0ciAiZmFsbMOzIGFsIGFuYWxpemFyIHZhbG9yICVzIGRlIHBydW5lIGV4cGlyeSIKIAotIzogYnVpbHRpbi9nYy5jOjU3NgorIzogYnVpbHRpbi9nYy5jOjU5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgaW4gYmFja2dyb3VuZCBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKIG1zZ3N0ciAiIgogIkF1dG8gZW1wYXF1ZXRhZG8gZGVsIHJlcG9zaXRvcmlvIGVuIHNlZ3VuZG8gcGxhbm8gcGFyYSB1biBwZXJmb3JtYW5jZSAiCiAiw7NwdGltby5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjU3OAorIzogYnVpbHRpbi9nYy5jOjU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCiBtc2dzdHIgIkF1dG8gZW1wYXF1ZXRhZG8gZGVsIHJlcG9zaXRvcmlvIHBhcmEgcGVyZm9ybWFuY2Ugw7NwdGltby5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjU3OQorIzogYnVpbHRpbi9nYy5jOjU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJTZWUgXCJnaXQgaGVscCBnY1wiIGZvciBtYW51YWwgaG91c2VrZWVwaW5nLlxuIgogbXNnc3RyICJWZWEgXCJnaXQgaGVscCBnY1wiIHBhcmEgbGltcGllemEgbWFudWFsLlxuIgogCi0jOiBidWlsdGluL2djLmM6NjE5CisjOiBidWlsdGluL2djLmM6NjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJnYyBpcyBhbHJlYWR5IHJ1bm5pbmcgb24gbWFjaGluZSAnJXMnIHBpZCAlPFBSSXVNQVg+ICh1c2UgLS1mb3JjZSBpZiBub3QpIgpAQCAtMTEzNDIsMjMgKzE0MDUzLDIzIEBACiAiZ2MgeWEgZXN0w6EgZWplY3V0w6FuZG9zZSBlbiBsYSBtw6FxdWluYSAnJXMnIHBpZCAlPFBSSXVNQVg+ICh1c2UgLS1mb3JjZSBzbyBubyAiCiAiZXMgYXPDrSkiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo2NzAKKyM6IGJ1aWx0aW4vZ2MuYzo2OTQKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgdGhlbS4iCiBtc2dzdHIgIiIKICJIYXkgbXVjaG9zIG9iamV0b3Mgc3VlbHRvcyBpbmFsY2FuemFibGVzOyBlamVjdXRlICdnaXQgcHJ1bmUnIHBhcmEgIgogImVsaW1pbmFybG9zLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjI5CiBtc2dpZCAiZ2l0IGdyZXAgWzxvcHRpb25zPl0gWy1lXSA8cGF0dGVybj4gWzxyZXY+Li4uXSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgZ3JlcCBbPG9wY2lvbmVzPl0gWy1lXSA8cGF0csOzbj4gWzxyZXY+Li4uXSBbWy0tXSA8cnV0YT4uLi5dIgogCi0jOiBidWlsdGluL2dyZXAuYzoyMjQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJncmVwOiBmYWlsZWQgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgImdyZXA6IGZhbGzDsyBhbCBjcmVhciBlbCBoaWxvOiAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Mjc4CisjOiBidWlsdGluL2dyZXAuYzoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSBmb3IgJXMiCiBtc2dzdHIgIm7Dum1lcm8gaW52w6FsaWRvIGRlIGhpbG9zIGVzcGVjaWZpY2FkbyAoJWQpIHBhcmEgJXMiCkBAIC0xMTM2NywyNjYgKzE0MDc4LDI2NiBAQAogIy4gdmFyaWFibGUgZm9yIHR3ZWFraW5nIHRocmVhZHMsIGN1cnJlbnRseQogIy4gZ3JlcC50aHJlYWRzCiAjLgotIzogYnVpbHRpbi9ncmVwLmM6Mjg2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MDYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5NwotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzE5CisjOiBidWlsdGluL2dyZXAuYzoyODcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUzNCBidWlsdGluL2luZGV4LXBhY2suYzoxNzI3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAlcyIKIG1zZ3N0ciAibm8gaGF5IHNvcG9ydGUgcGFyYSBoaWxvcywgaWdub3JhbmRvICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo0NTggYnVpbHRpbi9ncmVwLmM6NTc5IGJ1aWx0aW4vZ3JlcC5jOjYyMAorIzogYnVpbHRpbi9ncmVwLmM6NDY3IGJ1aWx0aW4vZ3JlcC5jOjU5MiBidWlsdGluL2dyZXAuYzo2MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGxlZXIgZWwgIMOhcmJvbCAoJXMpIgogCi0jOiBidWlsdGluL2dyZXAuYzo2MzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ3JlcCBmcm9tIG9iamVjdCBvZiB0eXBlICVzIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIHJlYWxpemFyIGdyZXAgZGVsIG9iamV0byBkZSB0aXBvICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICJzd2l0Y2ggYCVjJyBlc3BlcmEgdW4gdmFsb3IgbnVtw6lyaWNvIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxNQogbXNnaWQgInNlYXJjaCBpbiBpbmRleCBpbnN0ZWFkIG9mIGluIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgImJ1c2NhciBlbiBlbCDDrW5kaWNlIGVuIGx1Z2FyIGRlbCDDoXJib2wgZGUgdHJhYmFqbyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODAyCisjOiBidWlsdGluL2dyZXAuYzo4MTcKIG1zZ2lkICJmaW5kIGluIGNvbnRlbnRzIG5vdCBtYW5hZ2VkIGJ5IGdpdCIKIG1zZ3N0ciAiZW5jb250cmFyIGVuIGNvbnRlbmlkb3Mgbm8gbWFuZWphZG9zIHBvciBnaXQiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgwNAorIzogYnVpbHRpbi9ncmVwLmM6ODE5CiBtc2dpZCAic2VhcmNoIGluIGJvdGggdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJidXNjYXIgZW4gYXJjaGl2b3MgcmFzdHJlYWRvcyB5IG5vIHJhc3RyZWFkb3MiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgwNgorIzogYnVpbHRpbi9ncmVwLmM6ODIxCiBtc2dpZCAiaWdub3JlIGZpbGVzIHNwZWNpZmllZCB2aWEgJy5naXRpZ25vcmUnIgogbXNnc3RyICJpZ25vcmFyIGFyY2hpdm9zIGVzcGVjaWZpY2Fkb3MgdmlhICcuZ2l0aWdub3JlJyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODA4CisjOiBidWlsdGluL2dyZXAuYzo4MjMKIG1zZ2lkICJyZWN1cnNpdmVseSBzZWFyY2ggaW4gZWFjaCBzdWJtb2R1bGUiCiBtc2dzdHIgImLDunNxdWVkYSByZWN1cnNpdmEgZW4gY2FkYSBzdWJtw7NkdWxvIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyNgogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJtb3N0cmFyIGzDrW5lYXMgcXVlIG5vIGNvbmN1ZXJkYW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxMworIzogYnVpbHRpbi9ncmVwLmM6ODI4CiBtc2dpZCAiY2FzZSBpbnNlbnNpdGl2ZSBtYXRjaGluZyIKIG1zZ3N0ciAiYsO6c3F1ZWRhIGluc2Vuc2libGUgYSBtYXnDunNjdWxhcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODE1CisjOiBidWlsdGluL2dyZXAuYzo4MzAKIG1zZ2lkICJtYXRjaCBwYXR0ZXJucyBvbmx5IGF0IHdvcmQgYm91bmRhcmllcyIKIG1zZ3N0ciAiY29uY29yZGFyIHBhdHLDs24gc29sbyBhIGxvcyBsw61taXRlcyBkZSBsYXMgcGFsYWJyYXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxNworIzogYnVpbHRpbi9ncmVwLmM6ODMyCiBtc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgYXMgdGV4dCIKIG1zZ3N0ciAicHJvY2VzYXIgYXJjaGl2b3MgYmluYXJpb3MgY29tbyB0ZXh0byIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODE5CisjOiBidWlsdGluL2dyZXAuYzo4MzQKIG1zZ2lkICJkb24ndCBtYXRjaCBwYXR0ZXJucyBpbiBiaW5hcnkgZmlsZXMiCiBtc2dzdHIgIm5vIGNvbmNvcmRhciBwYXRyb25lcyBlbiBhcmNoaXZvcyBiaW5hcmlvcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODIyCisjOiBidWlsdGluL2dyZXAuYzo4MzcKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCiBtc2dzdHIgInByb2Nlc2FyIGFyY2hpdm9zIGJpbmFyaW9zIGNvbiBmaWx0cm9zIHRleHRjb252IgogCi0jOiBidWlsdGluL2dyZXAuYzo4MjQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzOQogbXNnaWQgInNlYXJjaCBpbiBzdWJkaXJlY3RvcmllcyAoZGVmYXVsdCkiCiBtc2dzdHIgImJ1c2NhciBlbiBzdWJkaXJlY3RvcmlvcyAoZGVmYXVsdCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgyNgorIzogYnVpbHRpbi9ncmVwLmM6ODQxCiBtc2dpZCAiZGVzY2VuZCBhdCBtb3N0IDxkZXB0aD4gbGV2ZWxzIgogbXNnc3RyICJkZXNjZW5kZXIgY29tbyBtw6F4aW1vIDx2YWxvci1kZS1wcm9mdW5kaWFkPiAgbml2ZWxlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODMwCisjOiBidWlsdGluL2dyZXAuYzo4NDUKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAidXNhciBleHByZXNpb25lcyByZWd1bGFyZXMgUE9TSVggZXh0ZW5kaWRhcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODMzCisjOiBidWlsdGluL2dyZXAuYzo4NDgKIG1zZ2lkICJ1c2UgYmFzaWMgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyAoZGVmYXVsdCkiCiBtc2dzdHIgInVzYXIgZXhwcmVzaW9uZXMgcmVndWxhcmVzIFBPU0lYIChkZWZhdWx0KSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODM2CisjOiBidWlsdGluL2dyZXAuYzo4NTEKIG1zZ2lkICJpbnRlcnByZXQgcGF0dGVybnMgYXMgZml4ZWQgc3RyaW5ncyIKIG1zZ3N0ciAiaW50ZXJwcmV0YXIgcGF0cm9uZXMgY29tbyBzdHJpbmdzIGFycmVnbGFkb3MiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgzOQorIzogYnVpbHRpbi9ncmVwLmM6ODU0CiBtc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJ1c2FyIGV4cHJlc2lvbmVzIHJlZ3VsYXJlcyBjb21wYXRpYmxlcyBjb24gUGVybCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQyCisjOiBidWlsdGluL2dyZXAuYzo4NTcKIG1zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKIG1zZ3N0ciAibW9zdHJhciBuw7ptZXJvcyBkZSBsw61uZWEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0MworIzogYnVpbHRpbi9ncmVwLmM6ODU4CiBtc2dpZCAic2hvdyBjb2x1bW4gbnVtYmVyIG9mIGZpcnN0IG1hdGNoIgogbXNnc3RyICJtb3N0cmFyIGVsIG7Dum1lcm8gZGUgY29sdW1uYSBkZSBsYSBwcmltZXIgY29pbmNpZGVuY2lhIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1OQogbXNnaWQgImRvbid0IHNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJubyBtb3N0cmFyIG5vbWJyZXMgZGUgYXJjaGl2byIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ1CisjOiBidWlsdGluL2dyZXAuYzo4NjAKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAibW9zdHJhciBub21icmVzIGRlIGFyY2hpdm8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0NworIzogYnVpbHRpbi9ncmVwLmM6ODYyCiBtc2dpZCAic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAibW9zdHJhciBub21icmVzIGRlIGFyY2hpdm8gcmVsYXRpdm9zIGFsIGRpcmVjdG9yaW8gc3VwZXJpb3IiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0OQorIzogYnVpbHRpbi9ncmVwLmM6ODY0CiBtc2dpZCAic2hvdyBvbmx5IGZpbGVuYW1lcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJtb3N0cmFyIHNvbG8gbm9tYnJlcyBkZSBhcmNoaXZvcyBlbiBsdWdhciBkZSBsw61uZWFzIGVuY29udHJhZGFzIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2NgogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogbXNnc3RyICJzaW7Ds25pbW8gcGFyYSAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODU0CisjOiBidWlsdGluL2dyZXAuYzo4NjkKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgIm1vc3RyYXIgc29sbyBsb3Mgbm9tYnJlcyBkZSBhcmNoaXZvcyBzaW4gY29pbmNpZGVuY2lhcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODU2CisjOiBidWlsdGluL2dyZXAuYzo4NzEKIG1zZ2lkICJwcmludCBOVUwgYWZ0ZXIgZmlsZW5hbWVzIgogbXNnc3RyICJpbXByaW1pciBOVUwgZGVzcHXDqXMgZGVsIG5vbWJyZSBkZSBhcmNoaXZvIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NAogbXNnaWQgInNob3cgb25seSBtYXRjaGluZyBwYXJ0cyBvZiBhIGxpbmUiCiBtc2dzdHIgIm1vc3RyYXIgc29sbyBwYXJ0ZXMgcXVlIGNvbmN1ZXJkYW4gZGUgdW5hIGzDrW5lYSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODYxCisjOiBidWlsdGluL2dyZXAuYzo4NzYKIG1zZ2lkICJzaG93IHRoZSBudW1iZXIgb2YgbWF0Y2hlcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJtb3N0cmFyIGVsIG7Dum1lcm8gZGUgY29uY29yZGFuY2lhcyBlbiBsdWdhciBkZSBsYXMgbMOtbmVhcyBjb25jb3JkYW50ZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2MgorIzogYnVpbHRpbi9ncmVwLmM6ODc3CiBtc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCiBtc2dzdHIgInJlc2FsdGFyIGNvbmNvcmRhbmNpYXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2NAorIzogYnVpbHRpbi9ncmVwLmM6ODc5CiBtc2dpZCAicHJpbnQgZW1wdHkgbGluZSBiZXR3ZWVuIG1hdGNoZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMiCiBtc2dzdHIgImltcHJpbWlyIHVuYSBsw61uZWEgdmFjw61hIGVudHJlIGNvaW5jaWRlbmNpYXMgZGUgZGlmZXJlbnRlcyBhcmNoaXZvcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODY2CisjOiBidWlsdGluL2dyZXAuYzo4ODEKIG1zZ2lkICJzaG93IGZpbGVuYW1lIG9ubHkgb25jZSBhYm92ZSBtYXRjaGVzIGZyb20gc2FtZSBmaWxlIgogbXNnc3RyICIiCiAibW9zdHJhciBlbCBub21icmUgZGUgYXJjaGl2byBzb2xvIHVuYSB2ZXogcGFyYSBjb25jb3JkYW5jaWFzIGVuIGVsIG1pc21vICIKICJhcmNoaXZvIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg4NAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICJtb3N0cmFyIDxuPiBsw61uZWFzIGRlIGNvbnRleHRvIGFudGVzIHkgZGVzcHXDqXMgZGUgbGEgY29uY29yZGFuY2lhIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NzIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg4NwogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgIm1vc3RyYXIgPG4+IGzDrW5lYXMgZGUgY29udGV4dG8gYW50ZXMgZGUgbGFzIGNvbmNvcmRhbmNpYXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg3NAorIzogYnVpbHRpbi9ncmVwLmM6ODg5CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBhZnRlciBtYXRjaGVzIgogbXNnc3RyICJtb3N0cmFyIDxuPiBsw61uZWFzIGRlIGNvbnRleHQgZGVzcHXDqXMgZGUgbGFzIGNvbmNvcmRhbmNpYXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg3NgorIzogYnVpbHRpbi9ncmVwLmM6ODkxCiBtc2dpZCAidXNlIDxuPiB3b3JrZXIgdGhyZWFkcyIKIG1zZ3N0ciAidXNhciA8bj4gaGlsb3MgZGUgdHJhYmFqbyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc3CisjOiBidWlsdGluL2dyZXAuYzo4OTIKIG1zZ2lkICJzaG9ydGN1dCBmb3IgLUMgTlVNIgogbXNnc3RyICJhdGFqbyBwYXJhIC1DIE5VTSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODgwCisjOiBidWlsdGluL2dyZXAuYzo4OTUKIG1zZ2lkICJzaG93IGEgbGluZSB3aXRoIHRoZSBmdW5jdGlvbiBuYW1lIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICIiCiAibW9zdHJhciB1bmEgbMOtbmVhIGNvbiBlbCBub21icmUgZGUgbGEgZnVuY2nDs24gYW50ZXMgZGUgbGFzIGNvbmNvcmRhbmNpYXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4MgorIzogYnVpbHRpbi9ncmVwLmM6ODk3CiBtc2dpZCAic2hvdyB0aGUgc3Vycm91bmRpbmcgZnVuY3Rpb24iCiBtc2dzdHIgIm1vc3RyYXIgbGEgZnVuY2nDs24gY2lyY3VuZGFudGUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4NQorIzogYnVpbHRpbi9ncmVwLmM6OTAwCiBtc2dpZCAicmVhZCBwYXR0ZXJucyBmcm9tIGZpbGUiCiBtc2dzdHIgImxlZXIgcGF0cm9uZXMgZGVsIGFyY2hpdm8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4NworIzogYnVpbHRpbi9ncmVwLmM6OTAyCiBtc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICJjb25jb3JkYXIgPHBhdHLDs24+IgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwNAogbXNnaWQgImNvbWJpbmUgcGF0dGVybnMgc3BlY2lmaWVkIHdpdGggLWUiCiBtc2dzdHIgImNvbWJpbmFyIHBhdHJvbmVzIGVzcGVjaWZpY2Fkb3MgY29uIC1lIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxNgogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICJpbmRpY2FyIGNvbmNvcmRhbmNpYSBjb24gZXhpdCBzdGF0dXMgc2luIG91dHB1dCIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTAzCisjOiBidWlsdGluL2dyZXAuYzo5MTgKIG1zZ2lkICJzaG93IG9ubHkgbWF0Y2hlcyBmcm9tIGZpbGVzIHRoYXQgbWF0Y2ggYWxsIHBhdHRlcm5zIgogbXNnc3RyICIiCiAibW9zdHJhciBzb2xvIGNvbmNvcmRhbmNpYXMgY29uIGFyY2hpdm9zIHF1ZSBjb25jdWVyZGFuIHRvZG9zIGxvcyBwYXRyb25lcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTA1CisjOiBidWlsdGluL2dyZXAuYzo5MjAKIG1zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKIG1zZ3N0ciAibW9zdHJhciDDoXJib2wgYW5hbGl6YWRvIHBhcmEgbGEgZXhwcmVzacOzbiBncmVwIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkyNAogbXNnaWQgInBhZ2VyIgogbXNnc3RyICJwYWdpbmFkb3IiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQorIzogYnVpbHRpbi9ncmVwLmM6OTI0CiBtc2dpZCAic2hvdyBtYXRjaGluZyBmaWxlcyBpbiB0aGUgcGFnZXIiCiBtc2dzdHIgIm1vc3RyYXIgYXJjaGl2b3MgY29uY29yZGFudGVzIGVuIGVsIHBhZ2luYWRvciIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTEzCisjOiBidWlsdGluL2dyZXAuYzo5MjgKIG1zZ2lkICJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiCiBtc2dzdHIgInBlcm1pdGlyIGVsIGxsYW1hZG8gZGUgZ3JlcCgxKSAoaWdub3JhZG8gcG9yIGVzdGEgYnVpbGQpIgogCi0jOiBidWlsdGluL2dyZXAuYzo5NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjk5MgogbXNnaWQgIm5vIHBhdHRlcm4gZ2l2ZW4iCiBtc2dzdHIgIm5vIHNlIGhhIGVudHJlZ2FkbyBwYXRyw7NuIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDEzCisjOiBidWlsdGluL2dyZXAuYzoxMDI4CiBtc2dpZCAiLS1uby1pbmRleCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIHJldnMiCiBtc2dzdHIgIi0tbm8taW5kZXggbyAtLXVudHJhY2tlZCBubyBzZSBwdWVkZSB1c2FyIGNvbiByZXZzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDIwCisjOiBidWlsdGluL2dyZXAuYzoxMDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZXNvbHZlIHJldmlzaW9uOiAlcyIKIG1zZ3N0ciAibm8gc2UgcG9zaWJsZSByZXNvbHZlciByZXZpc2nDs246ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDUxCisjOiBidWlsdGluL2dyZXAuYzoxMDY3CiBtc2dpZCAiaW52YWxpZCBvcHRpb24gY29tYmluYXRpb24sIGlnbm9yaW5nIC0tdGhyZWFkcyIKIG1zZ3N0ciAiY29tYmluYWNpw7NuIGRlIG9wY2lvbmVzIGludsOhbGlkYSwgaWdub3JhbmRvIC0tdGhyZWFkcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1NCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzOTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDAwCiBtc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAtLXRocmVhZHMiCiBtc2dzdHIgIm5vIHNlIHNvcG9ydGFuIGhpbG9zLCBpZ25vcmFuZG8gLS10aHJlYWRzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDU3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MDMgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzE2CisjOiBidWlsdGluL2dyZXAuYzoxMDczIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MzEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCiBtc2dzdHIgIm7Dum1lcm8gaW52w6FsaWRvIGRlIGhpbG9zIGVzcGVjaWZpY2FkbyAoJWQpIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDgwCisjOiBidWlsdGluL2dyZXAuYzoxMDk2CiBtc2dpZCAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIG9ubHkgd29ya3Mgb24gdGhlIHdvcmt0cmVlIgogbXNnc3RyICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgc29sbyBmdW5jaW9uYSBlbiBlbCDDoXJib2wgZGUgdHJhYmFqbyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTEwMworIzogYnVpbHRpbi9ncmVwLmM6MTExOQogbXNnaWQgIm9wdGlvbiBub3Qgc3VwcG9ydGVkIHdpdGggLS1yZWN1cnNlLXN1Ym1vZHVsZXMiCiBtc2dzdHIgIm9wY2nDs24gbm8gc29wb3J0YWRhIGNvbiAtLXJlY3Vyc2Utc3VibW9kdWxlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTEwOQorIzogYnVpbHRpbi9ncmVwLmM6MTEyNQogbXNnaWQgIi0tY2FjaGVkIG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggLS1uby1pbmRleCIKIG1zZ3N0ciAiLS1jYWNoZWQgbyAtLXVudHJhY2tlZCBubyBwdWVkZW4gc2VyIHVzYWRhcyBjb24gLS1uby1pbmRleCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTExNQorIzogYnVpbHRpbi9ncmVwLmM6MTEzMQogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzIgogbXNnc3RyICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBubyBwdWVkZSBzZXIgdXNhZGEgcGFyYSBjb250ZW5pZG8gcmFzdHJlYWRvIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMTIzCisjOiBidWlsdGluL2dyZXAuYzoxMTM5CiBtc2dpZCAiYm90aCAtLWNhY2hlZCBhbmQgdHJlZXMgYXJlIGdpdmVuIgogbXNnc3RyICItLWNhY2hlZCB5IMOhcmJvbGVzIGhhbiBzaWRvIGVudHJlZ2Fkb3MiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4NAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjg1CiBtc2dpZCAiIgogImdpdCBoYXNoLW9iamVjdCBbLXQgPHR5cGU+XSBbLXddIFstLXBhdGg9PGZpbGU+IHwgLS1uby1maWx0ZXJzXSBbLS1zdGRpbl0gIgogIlstLV0gPGZpbGU+Li4uIgpAQCAtMTE2MzQsMzggKzE0MzQ1LDM0IEBACiAiZ2l0IGhhc2gtb2JqZWN0IFstdCA8dGlwbz5dIFstd10gWy0tcGF0aD08YXJjaGl2bz4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCiAiWy0tXSA8YXJjaGl2bz4uLi4iCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4NQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjg2CiBtc2dpZCAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIgogbXNnc3RyICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NwotbXNnaWQgInR5cGUiCi1tc2dzdHIgInRpcG8iCi0KLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4CiBtc2dpZCAib2JqZWN0IHR5cGUiCiBtc2dzdHIgInRpcG8gZGUgb2JqZXRvIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OQogbXNnaWQgIndyaXRlIHRoZSBvYmplY3QgaW50byB0aGUgb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICJlc2NyaWJpciBlbCBvYmpldG8gZW4gbGEgYmFzZSBkZSBkYXRvcyBkZSBvYmpldG9zIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCiBtc2dpZCAicmVhZCB0aGUgb2JqZWN0IGZyb20gc3RkaW4iCiBtc2dzdHIgImxlZXIgZWwgb2JqZXRvIGRlIHN0ZGluIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAyCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAzCiBtc2dpZCAic3RvcmUgZmlsZSBhcyBpcyB3aXRob3V0IGZpbHRlcnMiCiBtc2dzdHIgImd1YXJkYXIgZWwgYXJjaGl2byBjb21vIGVzIHNpbiBmaWx0cm9zIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAzCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA0CiBtc2dpZCAiIgogImp1c3QgaGFzaCBhbnkgcmFuZG9tIGdhcmJhZ2UgdG8gY3JlYXRlIGNvcnJ1cHQgb2JqZWN0cyBmb3IgZGVidWdnaW5nIEdpdCIKIG1zZ3N0ciAiIgogInNvbG8gcmVhbGl6YXIgdW4gaGFzaCBhIGN1YWxxdWllciBiYXN1cmEgcmFuZG9tIHBhcmEgY3JlYXIgdW4gb2JqZXRvICIKICJjb3JydXB0byBwYXJhIGhhY2VyIGRlYnVnZ2luZyBkZSBHdGkiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDQKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDUKIG1zZ2lkICJwcm9jZXNzIGZpbGUgYXMgaXQgd2VyZSBmcm9tIHRoaXMgcGF0aCIKIG1zZ3N0ciAicHJvY2VzYXIgZWwgYXJjaGl2byBjb21vIHNpIGZ1ZXJhIGRlIGVzdGEgcnV0YSIKIApAQCAtMTE3MDUsMzAgKzE0NDEyLDMwIEBACiBtc2dpZCAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbW1hbmQ+XSIKIG1zZ3N0ciAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbWFuZG8+XSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NzMKKyM6IGJ1aWx0aW4vaGVscC5jOjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWxwIGZvcm1hdCAnJXMnIgogbXNnc3RyICJmb3JtYXRvIGhlbHAgbm8gcmVjb25vY2lkbyAnJXMnIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMDAKKyM6IGJ1aWx0aW4vaGVscC5jOjEwNAogbXNnaWQgIkZhaWxlZCB0byBzdGFydCBlbWFjc2NsaWVudC4iCiBtc2dzdHIgIkZhbGzDsyBhbCBpbmljaWFyIGVtYWNzY2xpZW50LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTEzCisjOiBidWlsdGluL2hlbHAuYzoxMTcKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW1hY3NjbGllbnQgdmVyc2lvbi4iCiBtc2dzdHIgIkZhbGzDsyBhbCBhbmFsaXphciBsYSB2ZXJzacOzbiBkZSBlbWFjc2NsaWVudC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEyMQorIzogYnVpbHRpbi9oZWxwLmM6MTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImVtYWNzY2xpZW50IHZlcnNpb24gJyVkJyB0b28gb2xkICg8IDIyKS4iCiBtc2dzdHIgImxhIHZlcnNpw7NuICclZCcgZGUgZW1hY3NjbGllbnQgZXMgbXV5IGFudGlndWEgKDwyMikuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMzkgYnVpbHRpbi9oZWxwLmM6MTYxIGJ1aWx0aW4vaGVscC5jOjE3MSBidWlsdGluL2hlbHAuYzoxNzkKKyM6IGJ1aWx0aW4vaGVscC5jOjE0MyBidWlsdGluL2hlbHAuYzoxNjUgYnVpbHRpbi9oZWxwLmM6MTc1IGJ1aWx0aW4vaGVscC5jOjE4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnIgogbXNnc3RyICJmYWxsw7MgYWwgZWplY3V0YXIgJyVzJyIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjE3CisjOiBidWlsdGluL2hlbHAuYzoyMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IHBhdGggZm9yIHVuc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCkBAIC0xMTczNyw3ICsxNDQ0NCw3IEBACiAiJyVzJzogcnV0YSBwYXJhIGVsIHZpc3VhbGl6YWRvciBkZWwgbWFudWFsIG5vIHNvcG9ydGFkYS5cbiIKICJQb3IgZmF2b3IgY29uc2lkZXJlIHVzYXIgJ21hbi48aGVycmFtaWVudGEuY21kJy4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIyOQorIzogYnVpbHRpbi9oZWxwLmM6MjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBjbWQgZm9yIHN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtMTE3NDYsMzI3ICsxNDQ1MywzMTcgQEAKICInJXMnOiBjb21hbmRvIG5vIHNvcG9ydGFkbyBwYXJhIG1hbiB2aWV3ZXIuXG4iCiAiUG9yIGZhdm9yIGNvbnNpZGVyZSB1c2FyICdtYW4uPGhlcnJhbWllbnRhPi5wYXRoLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzQ2CisjOiBidWlsdGluL2hlbHAuYzozNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5rbm93biBtYW4gdmlld2VyLiIKIG1zZ3N0ciAiJyVzJzogdmlzdWFsaXphZG9yIGRlIG1hbiBkZXNjb25vY2lkby4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM2MworIzogYnVpbHRpbi9oZWxwLmM6MzY3CiBtc2dpZCAibm8gbWFuIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICJuaW5nw7puIHZpc3VhbGl6YWRvciBkZSBtYW51YWwgcHJvY2VzbyBsYSBwZXRpY2nDs24iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM3MQorIzogYnVpbHRpbi9oZWxwLmM6Mzc1CiBtc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAibmluZ8O6biB2aXNvciBkZSBpbmZvIG1hbmVqbyBsYSBwZXRpY2nDs24iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQzMCBidWlsdGluL2hlbHAuYzo0NDEgZ2l0LmM6MzIyCisjOiBidWlsdGluL2hlbHAuYzo0MzQgYnVpbHRpbi9oZWxwLmM6NDQ1IGdpdC5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFsaWFzZWQgdG8gJyVzJyIKIG1zZ3N0ciAiJyVzJyB0aWVuZSBlbCBhbGlhcyAnJXMnIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NDQKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0OCBnaXQuYzozNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGFsaWFzLiVzIHN0cmluZzogJXMiCiBtc2dzdHIgIm1hbCBhbGlhcy4lcyBzdHJpbmc6ICVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NzMgYnVpbHRpbi9oZWxwLmM6NTAzCisjOiBidWlsdGluL2hlbHAuYzo0NzcgYnVpbHRpbi9oZWxwLmM6NTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyVzIgogbXNnc3RyICJ1c286ICVzJXMiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ4NworIzogYnVpbHRpbi9oZWxwLmM6NDkxCiBtc2dpZCAiJ2dpdCBoZWxwIGNvbmZpZycgZm9yIG1vcmUgaW5mb3JtYXRpb24iCiBtc2dzdHIgIidnaXQgaGVscCBjb25maWcnIHBhcmEgbcOhcyBpbmZvcm1hY2nDs24iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCB0eXBlIG1pc21hdGNoIGF0ICVzIgogbXNnc3RyICJlbCB0aXBvIGRlbCBvYmpldG8gbm8gY29uY3VlcmRhIGVuICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJkaWQgbm90IHJlY2VpdmUgZXhwZWN0ZWQgb2JqZWN0ICVzIgogbXNnc3RyICJubyBzZSByZWNpYmnDsyBlbCBvYmpldG8gZXNwZXJhZG8gJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlczogZXhwZWN0ZWQgdHlwZSAlcywgZm91bmQgJXMiCiBtc2dzdHIgIm9iamV0byAlczogdGlwbyBlc3BlcmFkbyAlcywgZW5jb250cmFkbyAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjQ5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCiBtc2dzdHJbMF0gIm5vIHNlIHB1ZWRlIGxsZW5hciAlZCBieXRlIgogbXNnc3RyWzFdICJubyBzZSBwdWVkZW4gbGxlbmFyICVkIGJ5dGVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OAogbXNnaWQgImVhcmx5IEVPRiIKIG1zZ3N0ciAiRU9GIHRlbXByYW5vIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OQogbXNnaWQgInJlYWQgZXJyb3Igb24gaW5wdXQiCiBtc2dzdHIgImxlZXIgZXJyb3IgZW4gaW5wdXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgxCiBtc2dpZCAidXNlZCBtb3JlIGJ5dGVzIHRoYW4gd2VyZSBhdmFpbGFibGUiCiBtc2dzdHIgInNlIHVzYXJvbiBtw6FzIGJ5dGVzIGRlIGxvcyBkaXNwb25pYmxlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTk4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo2MDQKIG1zZ2lkICJwYWNrIHRvbyBsYXJnZSBmb3IgY3VycmVudCBkZWZpbml0aW9uIG9mIG9mZl90IgogbXNnc3RyICJwYXF1ZXRlIG11eSBncmFuZGUgcGFyYSBsYSBkZWZpbmljacOzbiBhY3R1YWwgZGUgb2ZmX3QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6OTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5MSBidWlsdGluL3VucGFjay1vYmplY3RzLmM6OTUKIG1zZ2lkICJwYWNrIGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIHNpemUiCiBtc2dzdHIgInBhcXVldGUgZXhjZWRlIGVsIG3DoXhpbW8gdGFtYcOxbyBwZXJtaXRpZG8iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5NwotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlICclcyciCi1tc2dzdHIgIm5vIHNlIHB1ZWRlIGNyZWFyICclcyciCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2tmaWxlICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGFicmlyIGVsIGFyY2hpdm8gZGUgcGFxdWV0ZSAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMTcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyNgogbXNnaWQgInBhY2sgc2lnbmF0dXJlIG1pc21hdGNoIgogbXNnc3RyICJmaXJtYSBkZWwgcGFxdWV0ZSBubyBjb25jdWVyZGEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgdmVyc2lvbiAlPFBSSXUzMj4gdW5zdXBwb3J0ZWQiCiBtc2dzdHIgInZlcnNpw7NuIGRlIHBhcXVldGUgJTxQUkl1MzI+IG5vIHNvcG9ydGFkYSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCiBtc2dzdHIgInBhcXVldGUgdGllbmUgdW4gbWFsIG9iamV0byBlbiBlbCBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ1NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImluZmxhdGUgcmV0dXJuZWQgJWQiCiBtc2dzdHIgImluZmxhdGUgZGV2b2x2acOzICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MDYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUxNQogbXNnaWQgIm9mZnNldCB2YWx1ZSBvdmVyZmxvdyBmb3IgZGVsdGEgYmFzZSBvYmplY3QiCiBtc2dzdHIgInZhbG9yIGRlIG9mZnNldCBkZXNib3JkYWRvIHBhcmEgZWwgb2JqZXRvIGJhc2UgZGVsdGEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUxNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTIzCiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgaXMgb3V0IG9mIGJvdW5kIgogbXNnc3RyICJvZmZzZXQgZGUgYmFzZSBkZWx0YSBlc3TDoSBmdWVyYSBkZSBsw61taXRlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvYmplY3QgdHlwZSAlZCIKIG1zZ3N0ciAidGlwbyBkZSBvYmpldG8gJWQgZGVzY29ub2NpZG8iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU1MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTYyCiBtc2dpZCAiY2Fubm90IHByZWFkIHBhY2sgZmlsZSIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgcHJvcGFnYXIgZWwgcGFxdWV0ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZSBtaXNzaW5nIgogbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlcyBtaXNzaW5nIgogbXNnc3RyWzBdICJmaW5hbCBwcmVtYXR1cm8gZGUgYXJjaGl2byBkZSBwYXF1ZXRlLCAlPFBSSXVNQVg+IGJ5dGUgZmFsdGFudGUiCiBtc2dzdHJbMV0gImZpbmFsIHByZW1hdHVybyBkZSBhcmNoaXZvIGRlIHBhcXVldGUsICU8UFJJdU1BWD4gYnl0ZXMgZmFsdGFudGVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1ODEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU5MAogbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgogbXNnc3RyICJpbmNvbnNpc3RlbmNpYSBzZXJpYSBlbiBpbmZsYXRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3MjYgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzMyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1NQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Nzk0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzM1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0MSBidWlsdGluL2luZGV4LXBhY2suYzo3NjQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwMyBidWlsdGluL2luZGV4LXBhY2suYzo4MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgotbXNnc3RyICJDT0xJU0nDk04gREUgVElQTyBTSEExIEVOQ09OVFJBREEgQ09OICVzICEiCittc2dzdHIgIsKhQ09MSVNJw5NOIERFIFRJUE8gU0hBMSBFTkNPTlRSQURBIENPTiAlcyAhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3MjkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTEKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjExIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzA1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3MzggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjE3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzExCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICJubyBzZSBwb3NpYmxlIGxlZXIgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc5MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCBpbmZvICVzIgogbXNnc3RyICJubyBzZSBwdWVkZSBsZWVyIGxhIGluZm9ybWFjacOzbiBleGlzdGVudGUgZGVsIG9iamV0byAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODAwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0ICVzIgogbXNnc3RyICJubyBzZSBwdWVkZSBsZWVyIGVsIG9iamV0byBleGlzdGVudGUgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYmxvYiBvYmplY3QgJXMiCiBtc2dzdHIgIm9iamV0byBibG9iICVzIGludsOhbGlkbyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODI2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0NQogbXNnaWQgImZzY2sgZXJyb3IgaW4gcGFja2VkIG9iamVjdCIKIG1zZ3N0ciAiZXJyb3IgZGUgZnNjayBlbiBlbCBvYmpldG8gZW1wYXF1ZXRhZG8iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzMwotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkICVzIgotbXNnc3RyICIlcyBpbnbDoWxpZG8iCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhbGwgY2hpbGQgb2JqZWN0cyBvZiAlcyBhcmUgcmVhY2hhYmxlIgogbXNnc3RyICJObyB0b2RvcyBsb3Mgb2JqZXRvcyBoaWpvcyBkZSAlcyBzb24gYWxjYW56YWJsZXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkxMCBidWlsdGluL2luZGV4LXBhY2suYzo5NDEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkxOSBidWlsdGluL2luZGV4LXBhY2suYzo5NTAKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCiBtc2dzdHIgImZhbGzDsyBhbCBhcGxpY2FyIGRlbHRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CiBtc2dpZCAiUmVjZWl2aW5nIG9iamVjdHMiCiBtc2dzdHIgIlJlY2liaWVuZG8gb2JqZXRvcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTExOAogbXNnaWQgIkluZGV4aW5nIG9iamVjdHMiCiBtc2dzdHIgIkluZGV4YW5kbyBvYmpldG9zIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTUyCiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgogbXNnc3RyICJwYXF1ZXRlIGVzdMOhIGNvcnJvbXBpZG8gKFNIQTEgbm8gY29uY3VlcmRhKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE0OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NwogbXNnaWQgImNhbm5vdCBmc3RhdCBwYWNrZmlsZSIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgZnN0YXQgYWwgYXJjaGl2byBkZSBwYXF1ZXRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTUxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYwCiBtc2dpZCAicGFjayBoYXMganVuayBhdCB0aGUgZW5kIgogbXNnc3RyICJlbCBwYXF1ZXRlIHRpZW5lIGJhc3VyYSBhbCBmaW5hbCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3MgogbXNnaWQgImNvbmZ1c2lvbiBiZXlvbmQgaW5zYW5pdHkgaW4gcGFyc2VfcGFja19vYmplY3RzKCkiCiBtc2dzdHIgImNvbmZ1c2nDs24gbcOhcyBhbGzDoSBkZSBsYSBsb2N1cmEgZW4gcGFyc2VfcGFja19vYmplY3RzKCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExODYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExOTUKIG1zZ2lkICJSZXNvbHZpbmcgZGVsdGFzIgogbXNnc3RyICJSZXNvbHZpZW5kbyBkZWx0YXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExOTYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjA1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgIm5vIGVzIHBvc2libGUgY3JlYXIgaGlsbzogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNDYKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgogbXNnc3RyICJjb25mdXNpw7NuIG3DoXMgYWxsw6EgZGUgbGEgbG9jdXJhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0cyIKIG1zZ3N0clswXSAiY29tcGxldGFkbyBjb24gJWQgb2JqZXRvIGxvY2FsIgogbXNnc3RyWzFdICJjb21wbGV0YWRvIGNvbiAlZCBvYmpldG9zIGxvY2FsZXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5leHBlY3RlZCB0YWlsIGNoZWNrc3VtIGZvciAlcyAoZGlzayBjb3JydXB0aW9uPykiCi1tc2dzdHIgIlRhaWwgY2hlY2tzdW0gcGFyYSAlcyBpbmVzcGVyYWRhIChjb3JydXBjacOzbiBkZSBkaXNjbz8pIgorbXNnc3RyICJUYWlsIGNoZWNrc3VtIHBhcmEgJXMgaW5lc3BlcmFkYSAowr9jb3JydXBjacOzbiBkZSBkaXNjbz8pIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGEiCiBtc2dpZF9wbHVyYWwgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGFzIgogbXNnc3RyWzBdICJwYXF1ZXRlIHRpZW5lICVkIGRlbHRhIHNpbiByZXNvbHZlciIKIG1zZ3N0clsxXSAicGFxdWV0ZSB0aWVuZSAlZCBkZWx0YXMgc2luIHJlc29sdmVyIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjgzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZWZsYXRlIGFwcGVuZGVkIG9iamVjdCAoJWQpIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGRlc2luZmxhciBlbCBvYmpldG8gYWRqdW50byAoJWQpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzYwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvY2FsIG9iamVjdCAlcyBpcyBjb3JydXB0IgogbXNnc3RyICJvYmpldG8gbG9jYWwgJXMgZXN0w6EgY29ycm9tcGlkbyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM3NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBuYW1lICclcycgZG9lcyBub3QgZW5kIHdpdGggJy5wYWNrJyIKIG1zZ3N0ciAibm9tYnJlICclcycgZGUgYXJjaGl2byBkZSBwYXF1ZXRlIG5vIHRlcm1pbmEgY29uICcucGFjayciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzOTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlICVzIGZpbGUgJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgZXNjcmliaXIgJXMgZW4gZWwgYXJjaGl2byAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDA3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjbG9zZSB3cml0dGVuICVzIGZpbGUgJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgY2VycmFyIGVzY3JpdG8gJXMgZW4gYXJjaGl2byAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDMxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDU5CiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCiBtc2dzdHIgImVycm9yIG1pZW50cmFzIHNlIGNpZXJyYSBlbCBhcmNoaXZvIHBhcXVldGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NDUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzMKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgcGFjayBmaWxlIgogbXNnc3RyICJubyBzZSBwdWVkZSBndWFyZGFyIGVsIGFyY2hpdm8gcGFxdWV0ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ1MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4MQogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICJubyBzZSBwdWVkZSBndWFyZGFyIGVsIGFyY2hpdm8gw61uZGljZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ5NyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MjUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzE2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiBtc2dzdHIgIm1hbCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgIk5vIHNlIHB1ZWRlIGFicmlyIGVsIGFyY2hpdm8gcGFxdWV0ZSBleGlzdGVudGUgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGlkeCBmaWxlIGZvciAnJXMnIgogbXNnc3RyICJObyBzZSBwdWVkZSBhYnJpciBlbCDDrW5kaWNlIGRlbCBhcmNoaXZvIHBhcXVldGUgcGFyYSAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjE1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vbiBkZWx0YTogJWQgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJub24gZGVsdGE6ICVkIG9iamVjdHMiCiBtc2dzdHJbMF0gIm5vIGRlbHRhOiAlZCBvYmpldG8iCiBtc2dzdHJbMV0gIm5vIGRlbHRhOiAlZCBvYmpldG9zIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCiBtc2dzdHJbMF0gImxhcmdvIGRlIGNhZGVuYSA9ICVkOiAlbHUgb2JqZXRvIgogbXNnc3RyWzFdICJsYXJnbyBkZSBjYWRlbmEgPSAlZDogJWx1IG9iamV0b3MiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2ODkKIG1zZ2lkICJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKIG1zZ3N0ciAiTm8gc2UgcHVlZGUgcmVncmVzYXIgYSBjd2QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MDggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxMQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyNyBidWlsdGluL2luZGV4LXBhY2suYzoxNzMxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzM4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgIm1hbCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc3NwogbXNnaWQgIi0tZml4LXRoaW4gY2Fubm90IGJlIHVzZWQgd2l0aG91dCAtLXN0ZGluIgogbXNnc3RyICItLWZpeC10aGluIG5vIHB1ZWRlIHNlciB1c2FkYSBzaW4gLS1zdGRpbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc3OQogbXNnaWQgIi0tc3RkaW4gcmVxdWlyZXMgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiLS1zdGRpbiByZXF1aWVyZSB1biByZXBvc2l0b3JpbyBnaXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3ODUKIG1zZ2lkICItLXZlcmlmeSB3aXRoIG5vIHBhY2tmaWxlIG5hbWUgZ2l2ZW4iCiBtc2dzdHIgIi0tdmVyaWZ5IG5vIHJlY2liacOzIG5pbmfDum4gbm9tYnJlIGRlIGFyY2hpdm8gZGUgcGFxdWV0ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTgwMyBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTgwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxODMzIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo1ODEKIG1zZ2lkICJmc2NrIGVycm9yIGluIHBhY2sgb2JqZWN0cyIKIG1zZ3N0ciAiZXJyb3IgZGUgZnNjayBlbiBvYmpldG9zIHBhcXVldGUiCiAKQEAgLTEyMTEwLDQyICsxNDgwNyw0MiBAQAogbXNnaWQgIm5vdCBjb3B5aW5nIHRlbXBsYXRlcyBmcm9tICclcyc6ICVzIgogbXNnc3RyICJubyBzZSBjb3BpYW4gdGVtcGxhdGVzIGRlICclcyc6ICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozMjkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gaGFuZGxlIGZpbGUgdHlwZSAlZCIKIG1zZ3N0ciAibm8gZXMgcG9zaWJsZSBtYW5lamFyIGVsIHRpcG8gZGUgYXJjaGl2byAlZCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzMyCisjOiBidWlsdGluL2luaXQtZGIuYzozMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgJXMgdG8gJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIG1vdmVyICVzIGEgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0OSBidWlsdGluL2luaXQtZGIuYzozNTIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM1NCBidWlsdGluL2luaXQtZGIuYzozNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIiVzIHlhIGV4aXN0ZSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA1CisjOiBidWlsdGluL2luaXQtZGIuYzo0MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICJSZWluaWNpYWxpemFkbyBlbCByZXBvc2l0b3JpbyBHaXQgY29tcGFydGlkbyBleGlzdGVudGUgZW4gJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiUmVpbmljaWFsaXphZG8gZWwgcmVwb3NpdG9yaW8gR2l0IGV4aXN0ZW50ZSBlbiAlcyVzXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxMAorIzogYnVpbHRpbi9pbml0LWRiLmM6NDE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IHNoYXJlZCBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIkluaWNpYWxpemFkbyByZXBvc2l0b3JpbyBHaXQgY29tcGFydGlkbyB2YWPDrW8gZW4gJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MTEKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIkluaWNpYWxpemFkbyByZXBvc2l0b3JpbyBHaXQgdmFjw61vIGVuICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDYwCisjOiBidWlsdGluL2luaXQtZGIuYzo0NjgKIG1zZ2lkICIiCiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PHRlbXBsYXRlLWRpcmVjdG9yeT5dIFstLSIKICJzaGFyZWRbPTxwZXJtaXNzaW9ucz5dXSBbPGRpcmVjdG9yeT5dIgpAQCAtMTIxNTMsMjYgKzE0ODUwLDI2IEBACiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PGRpcmVjdG9yaW8tdGVtcGxhdGU+XSBbLS0iCiAic2hhcmVkWz08cGVybWlzb3M+XV0gWzxkaXJlY3RvcmlvPl0iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MworIzogYnVpbHRpbi9pbml0LWRiLmM6NDkxCiBtc2dpZCAicGVybWlzc2lvbnMiCiBtc2dzdHIgInBlcm1pc29zIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0ODQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5MgogbXNnaWQgInNwZWNpZnkgdGhhdCB0aGUgZ2l0IHJlcG9zaXRvcnkgaXMgdG8gYmUgc2hhcmVkIGFtb25nc3Qgc2V2ZXJhbCB1c2VycyIKIG1zZ3N0ciAiIgogImVzcGVjaWZpY2EgcXVlIGVsIHJlcG9zaXRvcmlvIGRlIGdpdCBzZXLDoSBjb21wYXJ0aWRvIGVudHJlIHZhcmlvcyB1c3VhcmlvcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTE4IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMworIzogYnVpbHRpbi9pbml0LWRiLmM6NTI5IGJ1aWx0aW4vaW5pdC1kYi5jOjUzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZGUgY3JlYXIgZGlyZWN0b3JpbyAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTI3CisjOiBidWlsdGluL2luaXQtZGIuYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZGlyIHRvICVzIgogbXNnc3RyICJubyBzZSBwdWVkZSBhcGxpY2FyIGNoZGlyIGEgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0OAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlcyAob3IgLS13b3JrLXRyZWU9PGRpcmVjdG9yeT4pIG5vdCBhbGxvd2VkIHdpdGhvdXQgc3BlY2lmeWluZyAlcyAob3IgLS1naXQtIgpAQCAtMTIxODEsMTIgKzE0ODc4LDEyIEBACiAiJXMgKG8gLS13b3JrLXRyZWU9PGRpcmVjdG9yaW8+KSBubyBzZSBwZXJtaXRlIHNpbiBlc3BlY2lmaWNhciAlcyAobyAtLWdpdC0iCiAiZGlyPTxkaXJlY3RvcmlvPikiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU3NgorIzogYnVpbHRpbi9pbml0LWRiLmM6NTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBhY2Nlc3Mgd29yayB0cmVlICclcyciCiBtc2dzdHIgIk5vIHNlIHB1ZWRlIGFjY2VkZXIgYWwgw6FyYm9sIGRlIHRyYWJham8gJyVzJyIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxNQorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxNgogbXNnaWQgIiIKICJnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIFstLWluLXBsYWNlXSBbLS10cmltLWVtcHR5XSBbKC0tdHJhaWxlciAiCiAiPHRva2VuPlsoPXw6KTx2YWx1ZT5dKS4uLl0gWzxmaWxlPi4uLl0iCkBAIC0xMjE5NCw0NjEgKzE0ODkxLDQ2OCBAQAogImdpdCBpbnRlcnByZXQtdHJhaWxlcnMgWy0taW4tcGxhY2VdIFstLXRyaW0tZW1wdHldIFsoLS10cmFpbGVyICIKICI8dG9rZW4+Wyg9fDopPHZhbG9yPl0pLi4uXSBbPGFyY2hpdm8+Li4uXSIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NQogbXNnaWQgImVkaXQgZmlsZXMgaW4gcGxhY2UiCiBtc2dzdHIgImVkaXRhciBhcmNoaXZvcyBlbiBlbCBsdWdhciIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NQorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NgogbXNnaWQgInRyaW0gZW1wdHkgdHJhaWxlcnMiCiBtc2dzdHIgImNvcnRhciB0cmFpbGVycyB2YWPDrW9zIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk4CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk5CiBtc2dpZCAid2hlcmUgdG8gcGxhY2UgdGhlIG5ldyB0cmFpbGVyIgogbXNnc3RyICJkb25kZSBjb2xvY2FyIGVsIG51ZXZvIHRyYWlsZXIiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAwCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMQogbXNnaWQgImFjdGlvbiBpZiB0cmFpbGVyIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJhY2Npw7NuIGlmIHRyYWlsZXIgeWEgZXhpc3RlIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMgorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDMKIG1zZ2lkICJhY3Rpb24gaWYgdHJhaWxlciBpcyBtaXNzaW5nIgogbXNnc3RyICJhY2Npw7NuIHNpIGZhbHRhIGVsIHRyYWlsZXIiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA0CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNQogbXNnaWQgIm91dHB1dCBvbmx5IHRoZSB0cmFpbGVycyIKIG1zZ3N0ciAibW9zdHJhciBzb2xvIGxvcyB0cmFpbGVycyIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDUKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA2CiBtc2dpZCAiZG8gbm90IGFwcGx5IGNvbmZpZyBydWxlcyIKIG1zZ3N0ciAibm8gYXBsaWNhciByZWdsYXMgZGUgY29uZmlndXJhY2nDs24iCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA2CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNwogbXNnaWQgImpvaW4gd2hpdGVzcGFjZS1jb250aW51ZWQgdmFsdWVzIgogbXNnc3RyICJqdW50YXIgdmFsb3JlcyBjb24gZXNwYWNpb3MgZW4gYmxhbmNvIGNvbnRpZ3VvcyIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDcKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA4CiBtc2dpZCAic2V0IHBhcnNpbmcgb3B0aW9ucyIKIG1zZ3N0ciAiY29uZmlndXJhciBvcGNpb25lcyBkZSBhbsOhbGlzaXMiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA5CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMAogbXNnaWQgImRvIG5vdCB0cmVhdCAtLS0gc3BlY2lhbGx5IgogbXNnc3RyICJubyB0cmF0YXIgLS0tIGVzcGVjaWFsbWVudGUiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTEwCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMQogbXNnaWQgInRyYWlsZXIiCiBtc2dzdHIgInRyYWlsZXIiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTExCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMgogbXNnaWQgInRyYWlsZXIocykgdG8gYWRkIgogbXNnc3RyICJ0cmFpbGVyKHMpIHBhcmEgYWdyZWdhciIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMjAKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTIzCiBtc2dpZCAiLS10cmFpbGVyIHdpdGggLS1vbmx5LWlucHV0IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tdHJhaWxlciBjb24gLS1vbmx5LWlucHV0IG5vIHRpZW5lIHNlbnRpZG8iCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTMwCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEzMwogbXNnaWQgIm5vIGlucHV0IGZpbGUgZ2l2ZW4gZm9yIGluLXBsYWNlIGVkaXRpbmciCiBtc2dzdHIgIm5vIHNlIGVudHJlZ8OzIGFyY2hpdm8gZGUgZW50cmFkYSBwYXJhIGVkaWNpw7NuIGVuIGx1Z2FyIgogCi0jOiBidWlsdGluL2xvZy5jOjU0CisjOiBidWlsdGluL2xvZy5jOjU2CiBtc2dpZCAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxvZyBbPG9wY2lvbmVzPl0gWzxyYW5nby1kZS1yZXZpc2nDs24+XSBbWy0tXSA8cnV0YT4uLi5dIgogCi0jOiBidWlsdGluL2xvZy5jOjU1CisjOiBidWlsdGluL2xvZy5jOjU3CiBtc2dpZCAiZ2l0IHNob3cgWzxvcHRpb25zPl0gPG9iamVjdD4uLi4iCiBtc2dzdHIgImdpdCBzaG93IFs8b3BjaW9uZXM+XSA8b2JqZXRvPi4uLiIKIAotIzogYnVpbHRpbi9sb2cuYzo5OQorIzogYnVpbHRpbi9sb2cuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCAtLWRlY29yYXRlIG9wdGlvbjogJXMiCiBtc2dzdHIgIm9wY2nDs24gLS1kZWNvcmF0ZSBpbnbDoWxpZGE6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MgotbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgotbXNnc3RyICJzdXByaW1pciBzYWxpZGEgZGUgZGlmZiIKLQotIzogYnVpbHRpbi9sb2cuYzoxNjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTc0CiBtc2dpZCAic2hvdyBzb3VyY2UiCiBtc2dzdHIgIm1vc3RyYXIgZnVlbnRlIgogCi0jOiBidWlsdGluL2xvZy5jOjE2NAorIzogYnVpbHRpbi9sb2cuYzoxNzUKIG1zZ2lkICJVc2UgbWFpbCBtYXAgZmlsZSIKIG1zZ3N0ciAiVXNhciBhcmNoaXZvIGRlIG1hcGEgZGUgbWFpbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTc3CiBtc2dpZCAib25seSBkZWNvcmF0ZSByZWZzIHRoYXQgbWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICJzb2xvIGRlY29yYXIgcmVmcyBxdWUgY29uY3VlcmRlbiBjb24gPHBhdHLDs24+IgogCi0jOiBidWlsdGluL2xvZy5jOjE2OAorIzogYnVpbHRpbi9sb2cuYzoxNzkKIG1zZ2lkICJkbyBub3QgZGVjb3JhdGUgcmVmcyB0aGF0IG1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAibm8gZGVjb3JhciByZWZzIHF1ZSBjb25jdWVyZGVuIGNvbiA8cGF0csOzbj4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY5CisjOiBidWlsdGluL2xvZy5jOjE4MAogbXNnaWQgImRlY29yYXRlIG9wdGlvbnMiCiBtc2dzdHIgIm9wY2lvbmVzIGRlIGRlY29yYWRvIgogCi0jOiBidWlsdGluL2xvZy5jOjE3MgorIzogYnVpbHRpbi9sb2cuYzoxODMKIG1zZ2lkICJQcm9jZXNzIGxpbmUgcmFuZ2UgbixtIGluIGZpbGUsIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAiUHJvY2VzYXIgcmFuZ28gZGUgbMOtbmVhcyBuLG0gZW4gYXJjaGl2bywgY29udGFuZG8gZGVzZGUgMSIKIAotIzogYnVpbHRpbi9sb2cuYzoyNzAKKyM6IGJ1aWx0aW4vbG9nLmM6MjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpbmFsIG91dHB1dDogJWQgJXNcbiIKIG1zZ3N0ciAiU2FsaWRhIGZpbmFsOiAlZCAlc1xuIgogCi0jOiBidWlsdGluL2xvZy5jOjUyMgorIzogYnVpbHRpbi9sb2cuYzo1MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHNob3cgJXM6IGJhZCBmaWxlIgogbXNnc3RyICJnaXQgc2hvdyAlczogbWFsIGFyY2hpdm8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTM3IGJ1aWx0aW4vbG9nLmM6NjMxCisjOiBidWlsdGluL2xvZy5jOjU1MCBidWlsdGluL2xvZy5jOjY0NQogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCi1tc2dzdHIgIk5vIHNlIHB1ZG8gbGVlciBvYmpldG8gJXMiCittc2dpZCAiY291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgorbXNnc3RyICJubyBzZSBwdWRvIGxlZXIgb2JqZXRvICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjY1NQorIzogYnVpbHRpbi9sb2cuYzo2NzAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biB0eXBlOiAlZCIKLW1zZ3N0ciAiVGlwbyBkZXNjb25vY2lkbzogJWQiCittc2dpZCAidW5rbm93biB0eXBlOiAlZCIKK21zZ3N0ciAidGlwbyBkZXNjb25vY2lkbzogJWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6Nzc2CisjOiBidWlsdGluL2xvZy5jOjgxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjb3ZlciBmcm9tIGRlc2NyaXB0aW9uIG1vZGUiCittc2dzdHIgIiVzOiBtb2RvIGNvdmVyIGZyb20gZGVzY3JpcHRpb24gaW52w6FsaWRvIgorCisjOiBidWlsdGluL2xvZy5jOjgyMQogbXNnaWQgImZvcm1hdC5oZWFkZXJzIHdpdGhvdXQgdmFsdWUiCiBtc2dzdHIgImZvcm1hdGUuaGVhZGVycy4gc2luIHZhbG9yIgogCi0jOiBidWlsdGluL2xvZy5jOjg3NworIzogYnVpbHRpbi9sb2cuYzo5MzYKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCiBtc2dzdHIgIm5vbWJyZSBkZWwgZGlyZWN0b3JpbyBkZSBzYWxpZGEgZXMgbXV5IGxhcmdvIgogCi0jOiBidWlsdGluL2xvZy5jOjg5MworIzogYnVpbHRpbi9sb2cuYzo5NTIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKLW1zZ3N0ciAiTm8gc2UgcHVlZGUgYWJyaXIgYXJjaGl2byBwYXRjaCAlcyIKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciBhcmNoaXZvIHBhdGNoICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjkxMAotbXNnaWQgIk5lZWQgZXhhY3RseSBvbmUgcmFuZ2UuIgotbXNnc3RyICJFeGFjdGFtZW50ZSB1biByYW5nbyBuZWNlc2FyaW8uIgorIzogYnVpbHRpbi9sb2cuYzo5NjkKK21zZ2lkICJuZWVkIGV4YWN0bHkgb25lIHJhbmdlIgorbXNnc3RyICJuZWNlc2l0YSBleGFjdGFtZW50ZSB1biByYW5nbyIKIAotIzogYnVpbHRpbi9sb2cuYzo5MjAKLW1zZ2lkICJOb3QgYSByYW5nZS4iCi1tc2dzdHIgIk5vIGVzIHVuIHJhbmdvLiIKKyM6IGJ1aWx0aW4vbG9nLmM6OTc5Cittc2dpZCAibm90IGEgcmFuZ2UiCittc2dzdHIgIm5vIGVzIHVuIHJhbmdvIgogCi0jOiBidWlsdGluL2xvZy5jOjEwNDMKLW1zZ2lkICJDb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgotbXNnc3RyICJMZXRyYXMgZGUgcG9ydGFkYSBuZWNlc2l0YSBmb3JtYXRvIGVtYWlsIgorIzogYnVpbHRpbi9sb2cuYzoxMTQzCittc2dpZCAiY292ZXIgbGV0dGVyIG5lZWRzIGVtYWlsIGZvcm1hdCIKK21zZ3N0ciAibGV0cmFzIGRlIHBvcnRhZGEgbmVjZXNpdGEgZm9ybWF0byBlbWFpbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTE5CisjOiBidWlsdGluL2xvZy5jOjExNDkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGNvdmVyLWxldHRlciBmaWxlIgorbXNnc3RyICJmYWxsw7MgYWwgY3JlYXIgbG9zIGFyY2hpdm9zIGNvdmVyLWxldHRlciIKKworIzogYnVpbHRpbi9sb2cuYzoxMjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCiBtc2dzdHIgImluc2FubyBpbi1yZXBseS10bzogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE0NgorIzogYnVpbHRpbi9sb2cuYzoxMjU1CiBtc2dpZCAiZ2l0IGZvcm1hdC1wYXRjaCBbPG9wdGlvbnM+XSBbPHNpbmNlPiB8IDxyZXZpc2lvbi1yYW5nZT5dIgogbXNnc3RyICJnaXQgZm9ybWF0LXBhdGNoIFs8b3BjaW9uZXM+XSBbPGRlc2RlPiB8IDxyYW5nby1kZS1yZXZpc2lvbmVzPl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwNAotbXNnaWQgIlR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgotbXNnc3RyICJEb3MgZGlyZWN0b3Jpb3MgZGUgc2FsaWRhPyIKKyM6IGJ1aWx0aW4vbG9nLmM6MTMxMworbXNnaWQgInR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgorbXNnc3RyICLCv2RvcyBkaXJlY3RvcmlvcyBkZSBzYWxpZGE/IgogCi0jOiBidWlsdGluL2xvZy5jOjEzMTEgYnVpbHRpbi9sb2cuYzoyMDU0IGJ1aWx0aW4vbG9nLmM6MjA1NiBidWlsdGluL2xvZy5jOjIwNjgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyNCBidWlsdGluL2xvZy5jOjIxOTcgYnVpbHRpbi9sb2cuYzoyMTk5IGJ1aWx0aW4vbG9nLmM6MjIxMQogIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKLW1zZ3N0ciAiQ29tbWl0IGRlc2Nvbm9jaWRvICVzIgorbXNnaWQgInVua25vd24gY29tbWl0ICVzIgorbXNnc3RyICJjb21taXQgZGVzY29ub2NpZG8gJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMyMSBidWlsdGluL25vdGVzLmM6ODk0IGJ1aWx0aW4vdGFnLmM6NTI2CisjOiBidWlsdGluL2xvZy5jOjE0MzQgYnVpbHRpbi9yZXBsYWNlLmM6NTggYnVpbHRpbi9yZXBsYWNlLmM6MjA3CisjOiBidWlsdGluL3JlcGxhY2UuYzoyMTAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCi1tc2dzdHIgIkZhbGzDsyBhbCByZXNvbHZlciAnJXMnIGNvbW8gdW5hIHJlZiB2w6FsaWRhLiIKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmIgorbXNnc3RyICJmYWxsw7MgYWwgcmVzb2x2ZXIgJyVzJyBjb21vIHJlZiB2w6FsaWRhIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMjYKLW1zZ2lkICJDb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlLiIKLW1zZ3N0ciAiTm8gc2UgcHVkbyBlbmNvbnRyYXIgdW5hIGJhc2UgZGUgZnVzacOzbi4iCisjOiBidWlsdGluL2xvZy5jOjE0MzkKK21zZ2lkICJjb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlIgorbXNnc3RyICJubyBzZSBwdWRvIGVuY29udHJhciB1bmEgYmFzZSBkZSBmdXNpw7NuIGV4YWN0YSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzMwCisjOiBidWlsdGluL2xvZy5jOjE0NDMKIG1zZ2lkICIiCi0iRmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCisiZmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCiAicGxlYXNlIHVzZSBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIHRvIHRyYWNrIGEgcmVtb3RlIGJyYW5jaC5cbiIKLSJPciB5b3UgY291bGQgc3BlY2lmeSBiYXNlIGNvbW1pdCBieSAtLWJhc2U9PGJhc2UtY29tbWl0LWlkPiBtYW51YWxseS4iCisiT3IgeW91IGNvdWxkIHNwZWNpZnkgYmFzZSBjb21taXQgYnkgLS1iYXNlPTxiYXNlLWNvbW1pdC1pZD4gbWFudWFsbHkiCiBtc2dzdHIgIiIKLSJGYWxsw7MgYWwgY29uc2VndWlyIHVwc3RyZWFtLCBzaSBxdWllcmUgZ3JhYmFyIHVuIGNvbW1pdCBiYXNlIGRlIG1hbmVyYSAiCisiZmFsbMOzIGFsIGNvbnNlZ3VpciB1cHN0cmVhbSwgc2kgcXVpZXJlcyBncmFiYXIgdW4gY29tbWl0IGJhc2UgZGUgbWFuZXJhICIKICJhdXRvbcOhdGljYSxcbiIKLSJwb3IgZmF2b3IgdXNlIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gcGFyYSByYXN0cmVhciB1bmEgcmFtYSByZW1vdGEuXG4iCi0iTyBwdWVkZSBlc3BlY2lmaWNhciB1biBjb21taXQgYmFzZSBtZWRpYW50ZSAtLWJhc2U9PGlkLWNvbW1pdC1iYXNlPiAiCi0ibWFudWFsbWVudGUuIgorInBvciBmYXZvciB1c2EgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byBwYXJhIHJhc3RyZWFyIHVuYSByYW1hIHJlbW90YS5cbiIKKyJPIHB1ZWRlcyBlc3BlY2lmaWNhciB1biBjb21taXQgYmFzZSBtZWRpYW50ZSAtLWJhc2U9PGlkLWNvbW1pdC1iYXNlPiAiCisibWFudWFsbWVudGUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM1MAotbXNnaWQgIkZhaWxlZCB0byBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCi1tc2dzdHIgIkZhbGzDsyBhbCBlbmNvbnRyYXIgdW5hIGJhc2UgZGUgZnVzacOzbiBleGFjdGEiCisjOiBidWlsdGluL2xvZy5jOjE0NjMKK21zZ2lkICJmYWlsZWQgdG8gZmluZCBleGFjdCBtZXJnZSBiYXNlIgorbXNnc3RyICJmYWxsw7MgYWwgZW5jb250cmFyIHVuYSBiYXNlIGRlIGZ1c2nDs24gZXhhY3RhIgogCi0jOiBidWlsdGluL2xvZy5jOjEzNjEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NAogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZCBiZSB0aGUgYW5jZXN0b3Igb2YgcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAiZWwgY29tbWl0IGJhc2UgZGViZSBzZXIgZWwgYW5jZXN0cm8gZGUgbGEgbGlzdGEgZGUgcmV2aXNpw7NuIgogCi0jOiBidWlsdGluL2xvZy5jOjEzNjUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3OAogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZG4ndCBiZSBpbiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICJlbCBjb21taXQgYmFzZSBubyBkZWJlIGVzdGFyIGVuIGxhIGxpc3RhIGRlIHJldmlzacOzbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE4CisjOiBidWlsdGluL2xvZy5jOjE1MzEKIG1zZ2lkICJjYW5ub3QgZ2V0IHBhdGNoIGlkIgogbXNnc3RyICJubyBzZSBwdWVkZSBvYnRlbmVyIGlkIGRlIHBhdGNoIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTU4MwogbXNnaWQgImZhaWxlZCB0byBpbmZlciByYW5nZS1kaWZmIHJhbmdlcyIKIG1zZ3N0ciAiZmFsbMOzIGFsIGluZmVyaXIgcmFuZ29zIHJhbmdlLWRpZmYiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUxNQorIzogYnVpbHRpbi9sb2cuYzoxNjI5CiBtc2dpZCAidXNlIFtQQVRDSCBuL21dIGV2ZW4gd2l0aCBhIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAidXNlIFtQQVRDSCBuL21dIGluY2x1c28gY29uIHVuIMO6bmljbyBwYXJjaGUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUxOAorIzogYnVpbHRpbi9sb2cuYzoxNjMyCiBtc2dpZCAidXNlIFtQQVRDSF0gZXZlbiB3aXRoIG11bHRpcGxlIHBhdGNoZXMiCiBtc2dzdHIgInVzZSBbUEFUQ0hdIGluY2x1c28gY29uIG3Dumx0aXBsZXMgcGFyY2hlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTIyCisjOiBidWlsdGluL2xvZy5jOjE2MzYKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAibW9zdHJhciBwYXJjaGVzIGVuIHN0YW5kYXJkIG91dCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTI0CisjOiBidWlsdGluL2xvZy5jOjE2MzgKIG1zZ2lkICJnZW5lcmF0ZSBhIGNvdmVyIGxldHRlciIKIG1zZ3N0ciAiZ2VuZXJhciBsZXRyYSBkZSBjb3ZlciIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTI2CisjOiBidWlsdGluL2xvZy5jOjE2NDAKIG1zZ2lkICJ1c2Ugc2ltcGxlIG51bWJlciBzZXF1ZW5jZSBmb3Igb3V0cHV0IGZpbGUgbmFtZXMiCiBtc2dzdHIgIiIKICJ1c2FyIHVuYSBzZWN1ZW5jaWEgc2ltcGxlIGRlIG7Dum1lcm9zIHBhcmEgc2FsaWRhIGRlIG5vbWJyZXMgZGUgYXJjaGl2b3MiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUyNworIzogYnVpbHRpbi9sb2cuYzoxNjQxCiBtc2dpZCAic2Z4IgogbXNnc3RyICJzZngiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUyOAorIzogYnVpbHRpbi9sb2cuYzoxNjQyCiBtc2dpZCAidXNlIDxzZng+IGluc3RlYWQgb2YgJy5wYXRjaCciCiBtc2dzdHIgInVzZSA8c2Z4PiBlbiBsdWdhciBkZSAnLnBhdGNoJyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMwCisjOiBidWlsdGluL2xvZy5jOjE2NDQKIG1zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgogbXNnc3RyICJjb21lbnphciBhIG51bWVyYXIgbG9zIHBhcmNoZXMgZGVzZGUgPG4+IGVuIGx1Z2FyIGRlIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzMgorIzogYnVpbHRpbi9sb2cuYzoxNjQ2CiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgogbXNnc3RyICJtYXJjYXIgbGFzIHNlcmllcyBjb21vIE50aCByZS1yb2xsIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzQKKyM6IGJ1aWx0aW4vbG9nLmM6MTY0OAogbXNnaWQgIlVzZSBbUkZDIFBBVENIXSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgIlVzZSBbUkZDIFBBVENIXSBlbiBsdWdhciBkZSBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTY1MQorbXNnaWQgImNvdmVyLWZyb20tZGVzY3JpcHRpb24tbW9kZSIKK21zZ3N0ciAibW9kby1jb3Zlci1mcm9tLWRlc2NyaXB0aW9uIgorCisjOiBidWlsdGluL2xvZy5jOjE2NTIKK21zZ2lkICJnZW5lcmF0ZSBwYXJ0cyBvZiBhIGNvdmVyIGxldHRlciBiYXNlZCBvbiBhIGJyYW5jaCdzIGRlc2NyaXB0aW9uIgorbXNnc3RyICIiCisiZ2VuZXJhIHBhcnRlcyBkZSB1bmEgY2FydGEgZGUgcHJlc2VudGFjacOzbiBiYXNhZG8gZW4gbGEgZGVzY3JpcGNpw7NuIGRlIGxhICIKKyJyYW1hIgorCisjOiBidWlsdGluL2xvZy5jOjE2NTQKIG1zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgIlVzZSBbPHByZWZpam8+XSBlbiBsdWdhciBkZSBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTY1NwogbXNnaWQgInN0b3JlIHJlc3VsdGluZyBmaWxlcyBpbiA8ZGlyPiIKIG1zZ3N0ciAiZ3VhcmRhciBhcmNoaXZvcyByZXN1bHRhbnRlcyBlbiA8ZGlyPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTQzCisjOiBidWlsdGluL2xvZy5jOjE2NjAKIG1zZ2lkICJkb24ndCBzdHJpcC9hZGQgW1BBVENIXSIKIG1zZ3N0ciAibm8gY29ydGFyL2FncmVnYXIgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTQ2CisjOiBidWlsdGluL2xvZy5jOjE2NjMKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICJubyBtb3N0cmFyIGRpZmZzIGJpbmFyaW9zIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDgKKyM6IGJ1aWx0aW4vbG9nLmM6MTY2NQogbXNnaWQgIm91dHB1dCBhbGwtemVybyBoYXNoIGluIEZyb20gaGVhZGVyIgogbXNnc3RyICJzYWxpZGEgY29tbyBoYXNoIGRlIHRvZG9zLWNlcm9zIGVuIGxhIGNhYmVjZXJhIEZyb20iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1MAorIzogYnVpbHRpbi9sb2cuYzoxNjY3CiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgogbXNnc3RyICJubyBpbmNsdXlhIHVuIHBhcmNoZSBxdWUgY29pbmNpZGEgY29uIHVuIGNvbW1pdCBlbiB1cHN0cmVhbSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTUyCisjOiBidWlsdGluL2xvZy5jOjE2NjkKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgIm1vc3RyYXIgZm9ybWF0byBkZSBwYXJjaGUgZW4gbHVnYXIgZGVsIGRlZmF1bHQgKHBhcmNoZSArIHN0YXQpIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3MQogbXNnaWQgIk1lc3NhZ2luZyIKIG1zZ3N0ciAiTWVuc2FqZWFuZG8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NQorIzogYnVpbHRpbi9sb2cuYzoxNjcyCiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICJjYWJlemFsIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTYKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3MwogbXNnaWQgImFkZCBlbWFpbCBoZWFkZXIiCiBtc2dzdHIgImFncmVnYXIgY2FiZWNlcmEgZW1haWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NyBidWlsdGluL2xvZy5jOjE1NTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3NCBidWlsdGluL2xvZy5jOjE2NzYKIG1zZ2lkICJlbWFpbCIKIG1zZ3N0ciAiZW1haWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NworIzogYnVpbHRpbi9sb2cuYzoxNjc0CiBtc2dpZCAiYWRkIFRvOiBoZWFkZXIiCiBtc2dzdHIgImFncmVnYXIgY2FiZWNlcmEgVG86IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3NgogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICJhZ3JlZ2FyIGNhYmVjZXJhIENjOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTYxCisjOiBidWlsdGluL2xvZy5jOjE2NzgKIG1zZ2lkICJpZGVudCIKIG1zZ3N0ciAiaWRlbnQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2MgorIzogYnVpbHRpbi9sb2cuYzoxNjc5CiBtc2dpZCAic2V0IEZyb20gYWRkcmVzcyB0byA8aWRlbnQ+IChvciBjb21taXR0ZXIgaWRlbnQgaWYgYWJzZW50KSIKIG1zZ3N0ciAiIgogImNvbmZpZ3VyYXIgZGlyZWNjacOzbiBGcm9tIGEgPGlkZW50PiAoIG8gaWRlbnRpZGFkIGRlIGNvbW1pdHRlciBzaSBlc3TDoSAiCiAiYXVzZW50ZSkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NAorIzogYnVpbHRpbi9sb2cuYzoxNjgxCiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAiaWQgZGUgbWVuc2FqZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY1CisjOiBidWlsdGluL2xvZy5jOjE2ODIKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgImhhY2VyIHByaW1lciBtYWlsIHVuYSByZXNwdWVzdGEgYSA8aWQgZGUgbWVuc2FqZT4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NiBidWlsdGluL2xvZy5jOjE1NjkKKyM6IGJ1aWx0aW4vbG9nLmM6MTY4MyBidWlsdGluL2xvZy5jOjE2ODYKIG1zZ2lkICJib3VuZGFyeSIKIG1zZ3N0ciAibMOtbWl0ZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY3CisjOiBidWlsdGluL2xvZy5jOjE2ODQKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICJhZGp1bnRhciBlbCBwYXJjaGUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3MAorIzogYnVpbHRpbi9sb2cuYzoxNjg3CiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAicG9uZXIgZWwgcGFyY2hlIGVuIGzDrW5lYSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc0CisjOiBidWlsdGluL2xvZy5jOjE2OTEKIG1zZ2lkICJlbmFibGUgbWVzc2FnZSB0aHJlYWRpbmcsIHN0eWxlczogc2hhbGxvdywgZGVlcCIKIG1zZ3N0ciAiaGFiaWxpdGFyIGhpbG9zIGRlIG1lbnNhamVzLCBlc3RpbG9zOiBzdXBlcmZpY2lhbCwgcHJvZnVuZG8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3NgorIzogYnVpbHRpbi9sb2cuYzoxNjkzCiBtc2dpZCAic2lnbmF0dXJlIgogbXNnc3RyICJmaXJtYSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc3CisjOiBidWlsdGluL2xvZy5jOjE2OTQKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUiCiBtc2dzdHIgImFncmVnYXIgdW5hIGZpcm1hIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzgKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5NQogbXNnaWQgImJhc2UtY29tbWl0IgogbXNnc3RyICJjb21taXQtYmFzZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc5CisjOiBidWlsdGluL2xvZy5jOjE2OTYKIG1zZ2lkICJhZGQgcHJlcmVxdWlzaXRlIHRyZWUgaW5mbyB0byB0aGUgcGF0Y2ggc2VyaWVzIgogbXNnc3RyICIiCiAiYWdyZWdhciBpbmZvcm1hY2nDs24gZGUgw6FyYm9sIGRlIHJlcXVpc2l0b3MgcHJldmlvcyBhIGxhIHNlcmllIGRlIHBhcmNoZXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU4MQorIzogYnVpbHRpbi9sb2cuYzoxNjk4CiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIGZyb20gYSBmaWxlIgogbXNnc3RyICJhZ3JlZ2FyIHVuYSBmaXJtYSBkZSB1biBhcmNoaXZvIgogCi0jOiBidWlsdGluL2xvZy5jOjE1ODIKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5OQogbXNnaWQgImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiCiBtc2dzdHIgIm5vIG1vc3RyYXIgbG9zIG5vbWJyZXMgZGUgYXJjaGl2b3MgZGUgbG9zIHBhcmNoZXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU4NAorIzogYnVpbHRpbi9sb2cuYzoxNzAxCiBtc2dpZCAic2hvdyBwcm9ncmVzcyB3aGlsZSBnZW5lcmF0aW5nIHBhdGNoZXMiCiBtc2dzdHIgIm1vc3RyYXIgbWVkaWRvciBkZSBwcm9ncmVzbyBtaWVudHJhcyBzZSBnZW5lcmFuIGxvcyBwYXJjaGVzIgogCi0jOiBidWlsdGluL2xvZy5jOjE1ODUKLW1zZ2lkICJyZXYiCi1tc2dzdHIgInJldiIKLQotIzogYnVpbHRpbi9sb2cuYzoxNTg2CisjOiBidWlsdGluL2xvZy5jOjE3MDMKIG1zZ2lkICJzaG93IGNoYW5nZXMgYWdhaW5zdCA8cmV2PiBpbiBjb3ZlciBsZXR0ZXIgb3Igc2luZ2xlIHBhdGNoIgogbXNnc3RyICJtdWVzdHJhIGNhbWJpb3MgY29udHJhIDxyZXY+IGVuIGNvdmVyIGxldHRlciBvIGVuIHVuIHNvbG8gcGFyY2hlIgogCi0jOiBidWlsdGluL2xvZy5jOjE1ODkKKyM6IGJ1aWx0aW4vbG9nLmM6MTcwNgogbXNnaWQgInNob3cgY2hhbmdlcyBhZ2FpbnN0IDxyZWZzcGVjPiBpbiBjb3ZlciBsZXR0ZXIgb3Igc2luZ2xlIHBhdGNoIgogbXNnc3RyICJtdWVzdHJhIGNhbWJpb3MgY29udHJhIDxyZWZzcGVjPiBlbiBjb3ZlciBsZXR0ZXIgbyBlbiB1biBzb2xvIHBhcmNoZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTkxCisjOiBidWlsdGluL2xvZy5jOjE3MDgKIG1zZ2lkICJwZXJjZW50YWdlIGJ5IHdoaWNoIGNyZWF0aW9uIGlzIHdlaWdodGVkIgogbXNnc3RyICJwb3JjZW50YWplIHBvciBlbCBjdWFsIGxhIGNyZWFjacOzbiBlcyBwZXNhZGEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY2NgorIzogYnVpbHRpbi9sb2cuYzoxNzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCiBtc2dzdHIgImzDrW5lYSBkZSBpZGVudGlmaWNhY2nDs24gaW52w6FsaWRhOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjgxCisjOiBidWlsdGluL2xvZy5jOjE4MDcKIG1zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLW4geSAtayBzb24gbXV0dWFtZW50ZSBleGNsdXNpdmFzIgogCi0jOiBidWlsdGluL2xvZy5jOjE2ODMKKyM6IGJ1aWx0aW4vbG9nLmM6MTgwOQogbXNnaWQgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgeSAtayBzb24gbXV0dWFtZW50ZSBleGNsdXNpdm9zIgogCi0jOiBidWlsdGluL2xvZy5jOjE2OTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTgxNwogbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1vbmx5IG5vIHRpZW5lIHNlbnRpZG8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY5MworIzogYnVpbHRpbi9sb2cuYzoxODE5CiBtc2dpZCAiLS1uYW1lLXN0YXR1cyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLW5hbWUtc3RhdHVzIG5vIHRpZW5lIHNlbnRpZG8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY5NQorIzogYnVpbHRpbi9sb2cuYzoxODIxCiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWNoZWNrIG5vIHRpZW5lIHNlbnRpZG8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTcyNworIzogYnVpbHRpbi9sb2cuYzoxODU0CiBtc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCi1tc2dzdHIgInNhbGlkYSBzdGFuZGFyZCwgbyBkaXJlY3RvcmlvLCBjdWFsPyIKK21zZ3N0ciAiwr9zYWxpZGEgc3RhbmRhcmQsIG8gZGlyZWN0b3JpbywgY3VhbD8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTcyOQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgotbXNnc3RyICJObyBzZSBwdWRvIGNyZWFyIGVsIGRpcmVjdG9yaW8gJyVzJyIKLQotIzogYnVpbHRpbi9sb2cuYzoxODE2CisjOiBidWlsdGluL2xvZy5jOjE5NTgKIG1zZ2lkICItLWludGVyZGlmZiByZXF1aXJlcyAtLWNvdmVyLWxldHRlciBvciBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIi0taW50ZXJkaWZmIHJlcXVpZXJlIC0tY292ZXItbGV0dGVyIG8gdW4gcGFyY2hlIMO6bmljbyIKIAotIzogYnVpbHRpbi9sb2cuYzoxODIwCisjOiBidWlsdGluL2xvZy5jOjE5NjIKIG1zZ2lkICJJbnRlcmRpZmY6IgogbXNnc3RyICJJbnRlcmRpZmY6IgogCi0jOiBidWlsdGluL2xvZy5jOjE4MjEKKyM6IGJ1aWx0aW4vbG9nLmM6MTk2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnRlcmRpZmYgYWdhaW5zdCB2JWQ6IgogbXNnc3RyICJJbnRlcmRpZmYgY29udHJhIHYlZDoiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyNworIzogYnVpbHRpbi9sb2cuYzoxOTY5CiBtc2dpZCAiLS1jcmVhdGlvbi1mYWN0b3IgcmVxdWlyZXMgLS1yYW5nZS1kaWZmIgogbXNnc3RyICItLWNyZWF0aW9uLWZhY3RvciByZXF1aWVyZSAtLXJhbmdlLWRpZmYiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgzMQorIzogYnVpbHRpbi9sb2cuYzoxOTczCiBtc2dpZCAiLS1yYW5nZS1kaWZmIHJlcXVpcmVzIC0tY292ZXItbGV0dGVyIG9yIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAiLS1yYW5nZS1kaWZmIHJlcXVpZXJlIC0tY292ZXItbGV0dGVyIG8gcGFyY2hlIMO6bmljbyIKIAotIzogYnVpbHRpbi9sb2cuYzoxODM5CisjOiBidWlsdGluL2xvZy5jOjE5ODEKIG1zZ2lkICJSYW5nZS1kaWZmOiIKIG1zZ3N0ciAiUmFuZ2UtZGlmZjoiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTg0MAorIzogYnVpbHRpbi9sb2cuYzoxOTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJhbmdlLWRpZmYgYWdhaW5zdCB2JWQ6IgogbXNnc3RyICJSYW5nZS1kaWZmIGNvbnRyYSB2JWQ6IgogCi0jOiBidWlsdGluL2xvZy5jOjE4NTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTk5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzaWduYXR1cmUgZmlsZSAnJXMnIgogbXNnc3RyICJubyBzZSBwdWVkZSBsZWVyIGxhIGZpcm1hIGRlbCBhcmNoaXZvICclcyciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTg4NworIzogYnVpbHRpbi9sb2cuYzoyMDI5CiBtc2dpZCAiR2VuZXJhdGluZyBwYXRjaGVzIgogbXNnc3RyICJHZW5lcmFuZG8gcGFyY2hlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxOTMxCi1tc2dpZCAiRmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCi1tc2dzdHIgIkZhbGzDsyBhbCBjcmVhciBsb3MgYXJjaGl2b3MgZGUgc2FsaWRhIgorIzogYnVpbHRpbi9sb2cuYzoyMDczCittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCittc2dzdHIgImZhbGzDsyBhbCBjcmVhciBsb3MgYXJjaGl2b3MgZGUgc2FsaWRhIgogCi0jOiBidWlsdGluL2xvZy5jOjE5ODkKKyM6IGJ1aWx0aW4vbG9nLmM6MjEzMgogbXNnaWQgImdpdCBjaGVycnkgWy12XSBbPHVwc3RyZWFtPiBbPGhlYWQ+IFs8bGltaXQ+XV1dIgogbXNnc3RyICJnaXQgY2hlcnJ5IFstdl0gWzx1cHN0cmVhbT4gWzxoZWFkPiBbPGzDrW1pdGU+XV1dIgogCi0jOiBidWlsdGluL2xvZy5jOjIwNDMKKyM6IGJ1aWx0aW4vbG9nLmM6MjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCkBAIC0xMjY1NiwxMTEgKzE1MzYwLDExMSBAQAogIk5vIHNlIHB1ZG8gZW5jb250cmFyIHVuYSByYW1hIHJlbW90YSByYXN0cmVhZGEsIHBvciBmYXZvciBlc3BlY2lmaXF1ZSAiCiAiPHVwc3RyZWFtPiBtYW51YWxtZW50ZS5cbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MAogbXNnaWQgImdpdCBscy1maWxlcyBbPG9wdGlvbnM+XSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxzLWZpbGVzIFs8b3BjaW9uZXM+XSBbPGFyY2hpdm8+Li4uXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNgogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgImlkZW50aWZpcXVlIGVsIGVzdGFkbyBkZWwgYXJjaGl2byBjb24gdGFncyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOAogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2Fzc3VtZSB1bmNoYW5nZWQnIGZpbGVzIgogbXNnc3RyICJ1c2FyIGxldHJhcyBtaW7DunNjdWxhcyBwYXJhIGFyY2hpdm9zICdhc3VtaWRvcyBzaW4gY2FtYmlvcyciCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzAKIG1zZ2lkICJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdmc21vbml0b3IgY2xlYW4nIGZpbGVzIgogbXNnc3RyICJ1c2FyIGxldHJhcyBtaW7DunNjdWxhcyBwYXJhIGFyY2hpdm9zIGRlICdmc21vbml0b3IgY2xlYW4nIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTMxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTMyCiBtc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCiBtc2dzdHIgIm1vc3RyYXIgYXJjaGl2b3MgZW4gY2FjaMOpIGVuIGxhIHNhbGlkYSAoZGVmYXVsdCkiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzQKIG1zZ2lkICJzaG93IGRlbGV0ZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAibW9zdHJhciBhcmNoaXZvcyBib3JyYWRvcyBlbiBsYSBzYWxpZGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzYKIG1zZ2lkICJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIm1vc3RyYXIgYXJjaGl2b3MgbW9kaWZpY2Fkb3MgZW4gbGEgc2FsaWRhIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM4CiBtc2dpZCAic2hvdyBvdGhlciBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJtb3N0cmFyIG90cm9zIGFyY2hpdm9zIGVuIGxhIHNhbGlkYSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MAogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJtb3N0cmFyIGFyY2hpdm9zIGlnbm9yYWRvcyBlbiBsYSBzYWxpZGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDMKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiIgogIm1vc3RyYXIgY29udGVuaWRvIGRlIG5vbWJyZXMgZGUgb2JqZXRvcyBlbiBlbCDDoXJlYSBkZSBzdGFnZSBlbiBsYSBzYWxpZGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDQKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKIG1zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgogbXNnc3RyICJtb3N0cmFyIGFyY2hpdm9zIGVuIGVsIGZpbGVzeXN0ZW0gcXVlIG5lY2VzaXRhbiBzZXIgYm9ycmFkb3MiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDcKIG1zZ2lkICJzaG93ICdvdGhlcicgZGlyZWN0b3JpZXMnIG5hbWVzIG9ubHkiCiBtc2dzdHIgIm1vc3RyYXIgc29sbyBub21icmVzIGRlICdkaXJlY3RvcmlvcyBvdHJvcyciCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDkKIG1zZ2lkICJzaG93IGxpbmUgZW5kaW5ncyBvZiBmaWxlcyIKIG1zZ3N0ciAibW9zdHJhciBmaW5hbGVzIGRlIGzDrW5lYSBkZSBhcmNoaXZvcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MQogbXNnaWQgImRvbid0IHNob3cgZW1wdHkgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIm5vIG1vc3RyYXIgZGlyZWN0b3Jpb3MgdmFjw61vcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NAogbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAibW9zdHJhciBhcmNoaXZvcyBubyBmdXNpb25hZG9zIGVuIGxhIHNhbGlkYSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NgogbXNnaWQgInNob3cgcmVzb2x2ZS11bmRvIGluZm9ybWF0aW9uIgogbXNnc3RyICJtb3N0cmFyIGluZm9ybWFjacOzbiByZXNvbHZlci1kZXNoYWNlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1OAogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAic2FsdGFyIGFyY2hpdm9zIHF1ZSBjb25jdWVyZGVuIGNvbiBlbCBwYXRyw7NuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTYwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTYxCiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKIG1zZ3N0ciAiZXhjbHVpciBwYXRyb25lcyBsZcOtZG9zIGRlIDxhcmNoaXZvPiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NAogbXNnaWQgInJlYWQgYWRkaXRpb25hbCBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgcGF0dGVybnMgaW4gPGZpbGU+IgogbXNnc3RyICIiCiAibGVlciBwYXRyb25lcyBkZSBleGNsdXNpw7NuIGRlIG1hbmVyYSBhZGljaW9uYWwgcG9yIGRpcmVjdG9yaW8gZW4gPGFyY2hpdm8+IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTY1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY2CiBtc2dpZCAiYWRkIHRoZSBzdGFuZGFyZCBnaXQgZXhjbHVzaW9ucyIKIG1zZ3N0ciAiYWdyZWdhciBsYXMgZXhjbHVzaW9uZXMgc3RhbmRhcmQgZGUgZ2l0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTY5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTcwCiBtc2dpZCAibWFrZSB0aGUgb3V0cHV0IHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgImhhY2VyIGxhIHNhbGlkYSByZWxhdGl2YSBhbCBkaXJlY3RvcmlvIHByaW5jaXBhbCBkZWwgcHJveWVjdG8iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzMKIG1zZ2lkICJyZWN1cnNlIHRocm91Z2ggc3VibW9kdWxlcyIKIG1zZ3N0ciAicmVjdXJyaXIgYSB0cmF2w6lzIGRlIHN1Ym3Ds2R1bG9zIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTc0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc1CiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICJzaSBjdWFscXVpZXIgPGFyY2hpdm8+IG5vIGVzdMOhIGVuIGVsIMOtbmRpY2UsIHRyYXRhcmxvIGNvbW8gdW4gZXJyb3IiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzYKIG1zZ2lkICJ0cmVlLWlzaCIKIG1zZ3N0ciAiw6FyYm9sLWlzbW8iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzcKIG1zZ2lkICJwcmV0ZW5kIHRoYXQgcGF0aHMgcmVtb3ZlZCBzaW5jZSA8dHJlZS1pc2g+IGFyZSBzdGlsbCBwcmVzZW50IgogbXNnc3RyICIiCiAiZmluZ2lyIHF1ZSBsYXMgcnV0YXMgaGFuIHNpZG8gYm9ycmFkYXMgeWEgcXVlIHRvZGF2w61hIGhheSA8w6FyYm9sLWlzbW9zPiAiCiAicHJlc2VudGVzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTc4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc5CiBtc2dpZCAic2hvdyBkZWJ1Z2dpbmcgZGF0YSIKIG1zZ3N0ciAibW9zdHJhciBkYXRhIGRlIGRlYnVnIgogCkBAIC0xMjc3OCw3ICsxNTQ4Miw3IEBACiBtc2dpZCAiZG8gbm90IHByaW50IHJlbW90ZSBVUkwiCiBtc2dzdHIgIm5vIG1vc3RyYXIgZWwgVVJMIHJlbW90byIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MCBidWlsdGluL2xzLXJlbW90ZS5jOjYyIGJ1aWx0aW4vcmViYXNlLmM6OTAzCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjYwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIgYnVpbHRpbi9yZWJhc2UuYzoxNTE4CiBtc2dpZCAiZXhlYyIKIG1zZ3N0ciAiZWplY3V0YXIiCiAKQEAgLTEyODAyLDExICsxNTUwNiwxMSBAQAogbXNnaWQgInRha2UgdXJsLjxiYXNlPi5pbnN0ZWFkT2YgaW50byBhY2NvdW50IgogbXNnc3RyICJ0b21hciB1cmwuPGJhc2U+Lmluc3RlYWRPZiBlbiBjdWVudGEiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzMKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzIKIG1zZ2lkICJleGl0IHdpdGggZXhpdCBjb2RlIDIgaWYgbm8gbWF0Y2hpbmcgcmVmcyBhcmUgZm91bmQiCiBtc2dzdHIgInNhbGlyIGNvbiBjw7NkaWdvIGRlIHNhbGlkYSAyIHNpIG5vIHNlIGVuY3VlbnRyYW4gcmVmcyBxdWUgY29uY3VlcmRlbiIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo3NgorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo3NQogbXNnaWQgInNob3cgdW5kZXJseWluZyByZWYgaW4gYWRkaXRpb24gdG8gdGhlIG9iamVjdCBwb2ludGVkIGJ5IGl0IgogbXNnc3RyICJtb3N0cmFyIHJlZiBzdWJ5YWNlbnRlIGVuIGFkaWNpw7NuIGFsIG9iamV0byBhcHVudGFkbyBwb3Igw6lsIgogCkBAIC0xMjg1MiwzNjYgKzE1NTU2LDM5MSBAQAogbXNnaWQgImVtcHR5IG1ib3g6ICclcyciCiBtc2dzdHIgIm1ib3ggdmFjw61vOiAnJXMnIgogCi0jOiBidWlsdGluL21lcmdlLmM6NTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1NQogbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgogbXNnc3RyICJnaXQgbWVyZ2UgWzxvcGNpb25lcz5dIFs8Y29tbWl0Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1MworIzogYnVpbHRpbi9tZXJnZS5jOjU2CiBtc2dpZCAiZ2l0IG1lcmdlIC0tYWJvcnQiCiBtc2dzdHIgImdpdCBtZXJnZSAtLWFib3J0IgogCi0jOiBidWlsdGluL21lcmdlLmM6NTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1NwogbXNnaWQgImdpdCBtZXJnZSAtLWNvbnRpbnVlIgogbXNnc3RyICJnaXQgbWVyZ2UgLS1jb250aW51ZSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExMQorIzogYnVpbHRpbi9tZXJnZS5jOjExOAogbXNnaWQgInN3aXRjaCBgbScgcmVxdWlyZXMgYSB2YWx1ZSIKIG1zZ3N0ciAiY2FtYmlhciBgbScgcmVxdWllcmUgdW4gdmFsb3IiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNzcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgcmVxdWlyZXMgYSB2YWx1ZSIKK21zZ3N0ciAib3BjacOzbiBgJXMnIHJlcXVpZXJlIHVuIHZhbG9yIgorCisjOiBidWlsdGluL21lcmdlLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIG1lcmdlIHN0cmF0ZWd5ICclcycuXG4iCiBtc2dzdHIgIk5vIHNlIHB1ZG8gZW5jb250cmFyIGVzdHJhdGVnaWEgZGUgZnVzacOzbiAnJXMnLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTc4CisjOiBidWlsdGluL21lcmdlLmM6MTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF2YWlsYWJsZSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIkVzdHJhdGVnaWFzIGRpc3BvbmlibGVzIHNvbjoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIkVzdHJhdGVnaWFzIHBlcnNvbmFsaXphZGFzIGRpc3BvbmlibGVzIHNvbjoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzQgYnVpbHRpbi9wdWxsLmM6MTQzCisjOiBidWlsdGluL21lcmdlLmM6MjQ0IGJ1aWx0aW4vcHVsbC5jOjE1MgogbXNnaWQgImRvIG5vdCBzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgIm5vIG1vc3RyYXIgdW4gZGlmZnN0YXQgYWwgZmluYWwgZGUgbGEgZnVzacOzbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzNyBidWlsdGluL3B1bGwuYzoxNDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDcgYnVpbHRpbi9wdWxsLmM6MTU1CiBtc2dpZCAic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJtb3N0cmFyIHVuIGRpZmZzdGF0IGFsIGZpbmFsIGRlIGxhIGZ1c2nDs24iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzggYnVpbHRpbi9wdWxsLmM6MTQ5CisjOiBidWlsdGluL21lcmdlLmM6MjQ4IGJ1aWx0aW4vcHVsbC5jOjE1OAogbXNnaWQgIihzeW5vbnltIHRvIC0tc3RhdCkiCiBtc2dzdHIgIihzaW7Ds25pbW8gcGFyYSAtLXN0YXQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQwIGJ1aWx0aW4vcHVsbC5jOjE1MgorIzogYnVpbHRpbi9tZXJnZS5jOjI1MCBidWlsdGluL3B1bGwuYzoxNjEKIG1zZ2lkICJhZGQgKGF0IG1vc3QgPG4+KSBlbnRyaWVzIGZyb20gc2hvcnRsb2cgdG8gbWVyZ2UgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIiIKICJhZ3JlZ2FyIChjb21vIG3DoXhpbW8gPG4+KSBlbnRyYWRhcyBkZWwgc2hvcnRsb2cgYWwgbWVuc2FqZSBkZWwgY29tbWl0IGRlICIKICJmdXNpw7NuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQzIGJ1aWx0aW4vcHVsbC5jOjE1OAorIzogYnVpbHRpbi9tZXJnZS5jOjI1MyBidWlsdGluL3B1bGwuYzoxNjcKIG1zZ2lkICJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIKIG1zZ3N0ciAiY3JlYXIgdW4gY29tbWl0IMO6bmljbyBlbiBsdWdhciBkZSBoYWNlciB1bmEgZnVzacOzbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI0NSBidWlsdGluL3B1bGwuYzoxNjEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTUgYnVpbHRpbi9wdWxsLmM6MTcwCiBtc2dpZCAicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIgogbXNnc3RyICJyZWFsaXphciB1biBjb21taXQgc2kgbGEgZnVzacOzbiBlcyBleGl0b3NhIChkZWZhdWx0KSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI0NyBidWlsdGluL3B1bGwuYzoxNjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTcgYnVpbHRpbi9wdWxsLmM6MTczCiBtc2dpZCAiZWRpdCBtZXNzYWdlIGJlZm9yZSBjb21taXR0aW5nIgogbXNnc3RyICJlZGl0YXIgbWVuc2FqZSBhbnRlcyBkZSByZWFsaXphciBjb21taXQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTkKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQgKGRlZmF1bHQpIgogbXNnc3RyICJwZXJtaXRpciBmYXN0LWZvcndhcnMgKGRlZmF1bHQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjUwIGJ1aWx0aW4vcHVsbC5jOjE3MAorIzogYnVpbHRpbi9tZXJnZS5jOjI2MSBidWlsdGluL3B1bGwuYzoxODAKIG1zZ2lkICJhYm9ydCBpZiBmYXN0LWZvcndhcmQgaXMgbm90IHBvc3NpYmxlIgogbXNnc3RyICJhYm9ydGFyIHNpIGZhc3QtZm9yd2FyZCBubyBlcyBwb3NpYmxlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU0IGJ1aWx0aW4vcHVsbC5jOjE3MworIzogYnVpbHRpbi9tZXJnZS5jOjI2NSBidWlsdGluL3B1bGwuYzoxODMKIG1zZ2lkICJ2ZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCiBtc2dzdHIgInZlcmlmaWNhciBxdWUgZWwgY29tbWl0IG5vbWJyYWRvIHRpZW5lIHVuYSBmaXJtYSBHUEcgdsOhbGlkYSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NSBidWlsdGluL25vdGVzLmM6Nzg0IGJ1aWx0aW4vcHVsbC5jOjE3NwotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTYgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg2IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEwCisjOiBidWlsdGluL21lcmdlLmM6MjY2IGJ1aWx0aW4vbm90ZXMuYzo3ODcgYnVpbHRpbi9wdWxsLmM6MTg3CisjOiBidWlsdGluL3JlYmFzZS5jOjUxMiBidWlsdGluL3JlYmFzZS5jOjE1MzEgYnVpbHRpbi9yZXZlcnQuYzoxMTQKIG1zZ2lkICJzdHJhdGVneSIKIG1zZ3N0ciAiZXN0cmF0ZWdpYSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NiBidWlsdGluL3B1bGwuYzoxNzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjcgYnVpbHRpbi9wdWxsLmM6MTg4CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kgdG8gdXNlIgogbXNnc3RyICJlc3RyYXRlZ2lhIGRlIGZ1c2nDs24gcGFyYSB1c2FyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU3IGJ1aWx0aW4vcHVsbC5jOjE4MQorIzogYnVpbHRpbi9tZXJnZS5jOjI2OCBidWlsdGluL3B1bGwuYzoxOTEKIG1zZ2lkICJvcHRpb249dmFsdWUiCiBtc2dzdHIgIm9wY2nDs249dmFsb3IiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTggYnVpbHRpbi9wdWxsLmM6MTgyCisjOiBidWlsdGluL21lcmdlLmM6MjY5IGJ1aWx0aW4vcHVsbC5jOjE5MgogbXNnaWQgIm9wdGlvbiBmb3Igc2VsZWN0ZWQgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIm9wY2nDs24gcGFyYSBsYSBlc3RyYXRlZ2lhIGRlIGZ1c2nDs24gc2VsZWNjaW9uYWRhIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjYwCisjOiBidWlsdGluL21lcmdlLmM6MjcxCiBtc2dpZCAibWVyZ2UgY29tbWl0IG1lc3NhZ2UgKGZvciBhIG5vbi1mYXN0LWZvcndhcmQgbWVyZ2UpIgogbXNnc3RyICJmdXNpb25hciBtZW5zYWplIGRlIGNvbW1pdCAocGFyYSB1bmEgZnVzacOzbiBubyBmYXN0LWZvcndhcmQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjY3CisjOiBidWlsdGluL21lcmdlLmM6Mjc4CiBtc2dpZCAiYWJvcnQgdGhlIGN1cnJlbnQgaW4tcHJvZ3Jlc3MgbWVyZ2UiCiBtc2dzdHIgImFib3J0YXIgbGEgZnVzacOzbiBlbiBwcm9ncmVzbyBhY3R1YWwiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODAKK21zZ2lkICItLWFib3J0IGJ1dCBsZWF2ZSBpbmRleCBhbmQgd29ya2luZyB0cmVlIGFsb25lIgorbXNnc3RyICItLWFib3J0IHBlcm8gZGVqYSBlbCDDrW5kaWNlIHkgZWwgw6FyYm9sIGRlIHRyYWJham8gc29sb3MiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODIKIG1zZ2lkICJjb250aW51ZSB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiY29udGludWFyIGxhIGZ1c2nDs24gZW4gcHJvZ3Jlc28gYWN0dWFsIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjcxIGJ1aWx0aW4vcHVsbC5jOjE4OQorIzogYnVpbHRpbi9tZXJnZS5jOjI4NCBidWlsdGluL3B1bGwuYzoxOTkKIG1zZ2lkICJhbGxvdyBtZXJnaW5nIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgInBlcm1pdGlyIGZ1c2lvbmFyIGhpc3RvcmlhcyBubyByZWxhY2lvbmFkYXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzcKLW1zZ2lkICJ2ZXJpZnkgY29tbWl0LW1zZyBob29rIgotbXNnc3RyICJ2ZXJpZmljYXIgZWwgaG9vayBjb21taXQtbXNnIgorIzogYnVpbHRpbi9tZXJnZS5jOjI5MAorbXNnaWQgImJ5cGFzcyBwcmUtbWVyZ2UtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIgorbXNnc3RyICJoYWNlciB1biBieXBhc3MgYSBob29rcyBwcmUtbWVyZ2UtY29tbWl0IHkgY29tbWl0LW1zZyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjMwMgorIzogYnVpbHRpbi9tZXJnZS5jOjMwNwogbXNnaWQgImNvdWxkIG5vdCBydW4gc3Rhc2guIgogbXNnc3RyICJubyBzZSBwdWRvIGVqZWN1dGFyIHN0YXNoLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjMwNworIzogYnVpbHRpbi9tZXJnZS5jOjMxMgogbXNnaWQgInN0YXNoIGZhaWxlZCIKIG1zZ3N0ciAic3Rhc2ggZmFsbMOzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzEyCisjOiBidWlsdGluL21lcmdlLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdDogJXMiCiBtc2dzdHIgIm5vIGVzIHVuIG9iamV0byB2w6FsaWRvOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjMzNCBidWlsdGluL21lcmdlLmM6MzUxCisjOiBidWlsdGluL21lcmdlLmM6MzM5IGJ1aWx0aW4vbWVyZ2UuYzozNTYKIG1zZ2lkICJyZWFkLXRyZWUgZmFpbGVkIgogbXNnc3RyICJsZWN0dXJhIGRlIMOhcmJvbCBmYWxsw7MiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozODEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozODYKIG1zZ2lkICIgKG5vdGhpbmcgdG8gc3F1YXNoKSIKIG1zZ3N0ciAiIChuYWRhIHBhcmEgaGFjZXIgc3F1YXNoKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM5MgorIzogYnVpbHRpbi9tZXJnZS5jOjM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJTcXVhc2ggY29tbWl0IC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgIkNvbW1pdCBkZSBzcXVhc2ggLS0gbm8gYWN0dWFsaXphbmRvIEhFQURcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ0MgorIzogYnVpbHRpbi9tZXJnZS5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBtZXNzYWdlIC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgIk5vIGhheSBtZW5zYWplIGRlIGZ1c2nDs24gLS0gbm8gYWN0dWFsaXphbmRvIEhFQURcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ5MworIzogYnVpbHRpbi9tZXJnZS5jOjQ5OAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgY29tbWl0IgogbXNnc3RyICInJXMnIG5vIGFwdW50YSBhIG5pbmfDum4gY29tbWl0IgogCi0jOiBidWlsdGluL21lcmdlLmM6NTgwCisjOiBidWlsdGluL21lcmdlLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBicmFuY2guJXMubWVyZ2VvcHRpb25zIHN0cmluZzogJXMiCiBtc2dzdHIgIk1hbCBzdHJpbmcgYnJhbmNoLiVzLm1lcmdlb3B0aW9uczogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3MDEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MDUKIG1zZ2lkICJOb3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgogbXNnc3RyICJObyBtYW5lamFuZG8gbmFkYSBtw6FzIHF1ZSBmdXNpw7NuIGRlIGRvcyBoZWFkcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3MTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBvcHRpb24gZm9yIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIG1zZ3N0ciAiT3BjacOzbiBkZXNjb25vY2lkYSBwYXJhIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjczMAorIzogYnVpbHRpbi9tZXJnZS5jOjczNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCiBtc2dzdHIgIm5vIGVzIHBvc2libGUgZXNjcmliaXIgJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3ODIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgZnJvbSAnJXMnIgogbXNnc3RyICJObyBzZSBwdWVkbyBsZWVyIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGNvbW1pdHRpbmcgbWVyZ2U7IHVzZSAnZ2l0IGNvbW1pdCcgdG8gY29tcGxldGUgdGhlIG1lcmdlLlxuIgogbXNnc3RyICIiCiAiTm8gc2UgcmVhbGl6YSBjb21taXQgZGUgbGEgZnVzacOzbjsgdXNlICdnaXQgY29tbWl0JyBwYXJhIGNvbXBsZXRhciBsYSAiCiAiZnVzacOzbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc5NwotIywgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDEKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIGEgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB3aHkgdGhpcyBtZXJnZSBpcyBuZWNlc3NhcnksXG4iCiAiZXNwZWNpYWxseSBpZiBpdCBtZXJnZXMgYW4gdXBkYXRlZCB1cHN0cmVhbSBpbnRvIGEgdG9waWMgYnJhbmNoLlxuIgogIlxuIgotIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQsIGFuZCBhbiBlbXB0eSBtZXNzYWdlIGFib3J0c1xuIgotInRoZSBjb21taXQuXG4iCiBtc2dzdHIgIiIKICJQb3IgZmF2b3IgaW5ncmVzZSB1biBtZW5zYWplIGRlIGNvbW1pdCBxdWUgZXhwbGlxdWUgcG9yIHF1w6kgZXMgbmVjZXNhcmlhICIKICJlc3RhIGZ1c2nDs24sXG4iCiAiZXNwZWNpYWxtZW50ZSBzaSBlc3RvIGZ1c2lvbmEgdW4gdXBzdHJlYW0gYWN0dWFsaXphZG8gZW4gdW5hIHJhbWEgZGUgIgogInTDs3BpY28uXG4iCiAiXG4iCi0iTMOtbmVhcyBjb21lbnphbmRvIGNvbiAnJWMnIHNlcsOhbiBpZ25vcmFkYXMsIHkgdW4gbWVuc2FqZSB2YWPDrW8gYWJvcnRhXG4iCi0iZWwgY29tbWl0LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODMzCisjOiBidWlsdGluL21lcmdlLmM6ODA2Cittc2dpZCAiQW4gZW1wdHkgbWVzc2FnZSBhYm9ydHMgdGhlIGNvbW1pdC5cbiIKK21zZ3N0ciAiVW4gbWVuc2FqZSB2YWPDrW8gYWJvcnRhIGVsIGNvbW1pdC5cbiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjgwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzXG4iCisidGhlIGNvbW1pdC5cbiIKK21zZ3N0ciAiIgorIkzDrW5lYXMgY29tZW56YW5kbyBjb24gJyVjJyBzZXLDoW4gaWdub3JhZGFzLCB5IHVuIG1lbnNhamUgdmFjw61vIGFib3J0YVxuIgorIiBlbCBjb21taXQuXG4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NjIKIG1zZ2lkICJFbXB0eSBjb21taXQgbWVzc2FnZS4iCiBtc2dzdHIgIk1lbnNhamUgZGUgY29tbWl0IHZhY8Otby4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiV29uZGVyZnVsLlxuIgogbXNnc3RyICJNYXJhdmlsbG9zby5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkwNQorIzogYnVpbHRpbi9tZXJnZS5jOjkzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2UgZmFpbGVkOyBmaXggY29uZmxpY3RzIGFuZCB0aGVuIGNvbW1pdCB0aGUgcmVzdWx0LlxuIgogbXNnc3RyICIiCiAiRnVzacOzbiBhdXRvbcOhdGljYSBmYWxsw7M7IGFycmVnbGUgbG9zIGNvbmZsaWN0b3MgeSBsdWVnbyByZWFsaWNlIHVuIGNvbW1pdCAiCiAiY29uIGVsIHJlc3VsdGFkby5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0NAorIzogYnVpbHRpbi9tZXJnZS5jOjk3NwogbXNnaWQgIk5vIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiTm8gcmFtYSBhY3R1YWwuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTQ2CisjOiBidWlsdGluL21lcmdlLmM6OTc5CiBtc2dpZCAiTm8gcmVtb3RlIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJObyBoYXkgcmVtb3RvIHBhcmEgbGEgcmFtYSBhY3R1YWwuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTQ4CisjOiBidWlsdGluL21lcmdlLmM6OTgxCiBtc2dpZCAiTm8gZGVmYXVsdCB1cHN0cmVhbSBkZWZpbmVkIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJQb3IgZGVmZWN0bywgbm8gaGF5IHVuIHVwc3RyZWFtICBkZWZpbmlkbyBwYXJhIGxhIHJhbWEgYWN0dWFsLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk1MworIzogYnVpbHRpbi9tZXJnZS5jOjk4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIGZvciAlcyBmcm9tICVzIgogbXNnc3RyICJObyBoYXkgcmFtYSBkZSByYXN0cmVvIHJlbW90byBwYXJhICVzIGRlICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTAxMAorIzogYnVpbHRpbi9tZXJnZS5jOjEwNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIHZhbHVlICclcycgaW4gZW52aXJvbm1lbnQgJyVzJyIKIG1zZ3N0ciAiVmFsb3IgZXJyw7NuZW8gJyVzJyBlbiBlbCBlbnRvcm5vICclcyciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTEzCisjOiBidWlsdGluL21lcmdlLmM6MTE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCiBtc2dzdHIgIm5hZGEgcXVlIHBvZGFtb3MgZnVzaW9uYXIgZW4gJXM6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE0NworIzogYnVpbHRpbi9tZXJnZS5jOjExODAKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKIG1zZ3N0ciAibmFkYSBxdWUgcG9kYW1vcyBmdXNpb25hciIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjgzCiBtc2dpZCAiLS1hYm9ydCBleHBlY3RzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiLS1hYm9ydCBubyBlc3BlcmEgYXJndW1lbnRvcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg3CiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgdG8gYWJvcnQgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICJObyBoYXkgdW5hIGZ1c2nDs24gcGFyYSBhYm9ydGFyIChmYWx0YSBNRVJHRV9IRUFEKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNjYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk2Cittc2dpZCAiLS1xdWl0IGV4cGVjdHMgbm8gYXJndW1lbnRzIgorbXNnc3RyICItLXF1aXQgbm8gZXNwZXJhIGFyZ3VtZW50b3MiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzA5CiBtc2dpZCAiLS1jb250aW51ZSBleHBlY3RzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiLS1jb250aW51ZSBubyBlc3BlcmEgYXJndW1lbnRvcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzEzCiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgaW4gcHJvZ3Jlc3MgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICJObyBoYXkgZnVzacOzbiBlbiBwcm9ncmVzbyAoZmFsdGEgTUVSR0VfSEVBRCkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI4NgorIzogYnVpbHRpbi9tZXJnZS5jOjEzMjkKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICIiCi0iTm8gaGEgY29uY2x1aWRvIGxhIGZ1c2nDs24gKGV4aXN0ZSBNRVJHRV9IRUFEKS5cbiIKLSJQb3IgZmF2b3IsIHJlYWxpY2UgdW4gY29tbWl0IGNvbiBsb3MgY2FtYmlvcyBhbnRlcyBkZSBmdXNpb25hci4iCisiTm8gaGFzIGNvbmNsdWlkbyBsYSBmdXNpw7NuIChleGlzdGUgTUVSR0VfSEVBRCkuXG4iCisiUG9yIGZhdm9yLCByZWFsaXphIHVuIGNvbW1pdCBjb24gbG9zIGNhbWJpb3MgYW50ZXMgZGUgZnVzaW9uYXIuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI5MworIzogYnVpbHRpbi9tZXJnZS5jOjEzMzYKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICIiCi0iTm8gaGEgY29uY2x1aWRvIGVsIGNoZXJyeS1waWNrIChleGlzdGUgQ0hFUlJZX1BJQ0tfSEVBRCkuXG4iCi0iUG9yIGZhdm9yLCByZWFsaWNlIHVuIGNvbW1pdCBjb24gbG9zIGNhbWJpb3MgYW50ZXMgZGUgZnVzaW9uYXIuIgorIk5vIGhhcyBjb25jbHVpZG8gZWwgY2hlcnJ5LXBpY2sgKGV4aXN0ZSBDSEVSUllfUElDS19IRUFEKS5cbiIKKyJQb3IgZmF2b3IsIHJlYWxpemEgdW4gY29tbWl0IGNvbiBsb3MgY2FtYmlvcyBhbnRlcyBkZSBmdXNpb25hci4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk2CisjOiBidWlsdGluL21lcmdlLmM6MTMzOQogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLiIKLW1zZ3N0ciAiTm8gaGEgY29uY2x1aWRvIGVsIGNoZXJyeS1waWNrIChleGlzdGUgQ0hFUlJZX1BJQ0tfSEVBRCkuIgorbXNnc3RyICJObyBoYXMgY29uY2x1aWRvIGVsIGNoZXJyeS1waWNrIChleGlzdGUgQ0hFUlJZX1BJQ0tfSEVBRCkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMwNQorIzogYnVpbHRpbi9tZXJnZS5jOjEzNTMKIG1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLW5vLWZmLiIKIG1zZ3N0ciAiTm8gc2UgcHVlZGUgY29tYmluYXIgLS1zcXVhc2ggY29uIC0tbm8tZmYuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMxMworIzogYnVpbHRpbi9tZXJnZS5jOjEzNTUKK21zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLWNvbW1pdC4iCittc2dzdHIgIk5vIHNlIHB1ZWRlIGNvbWJpbmFyIC0tc3F1YXNoIGNvbiAtLWNvbW1pdC4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzcxCiBtc2dpZCAiTm8gY29tbWl0IHNwZWNpZmllZCBhbmQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm90IHNldC4iCiBtc2dzdHIgIiIKICJObyBoYXkgY29tbWl0IGVzcGVjaWZpY2FkbyB5IG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIG5vIGVzdMOhIGNvbmZpZ3VyYWRvLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzg4CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQgbm90IHN1cHBvcnRlZCB5ZXQiCiBtc2dzdHIgIkNvbW1pdCBhcGxhc3RhZG8gZGVudHJvIGRlIHVuIGhlYWQgdmFjw61vIG5vIGVzIHNvcG9ydGFkbyB0b2RhdsOtYSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMzIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzkwCiBtc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCiBtc2dzdHIgIkNvbW1pdCBubyBmYXN0LWZvcndhcmQgbm8gdGllbmUgc2VudGlkbyBkZW50cm8gZGUgdW4gaGVhZCB2YWPDrW8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzM3CisjOiBidWlsdGluL21lcmdlLmM6MTM5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICIlcyAtIG5hZGEgcXVlIHBvZGFtb3MgZnVzaW9uYXIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzM5CisjOiBidWlsdGluL21lcmdlLmM6MTM5NwogbXNnaWQgIkNhbiBtZXJnZSBvbmx5IGV4YWN0bHkgb25lIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIlNvbG8gc2UgcHVlZGUgZnVzaW9uYXIgZXhhY3RhbWVudGUgdW4gY29tbWl0IGVuIHVuIGhlYWQgdmFjw61vIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQyMQorIzogYnVpbHRpbi9tZXJnZS5jOjE0NzYKIG1zZ2lkICJyZWZ1c2luZyB0byBtZXJnZSB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICJyZWh1c2FuZG8gZnVzaW9uYXIgaGlzdG9yaWFzIG5vIHJlbGFjaW9uYWRhcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDg1CiBtc2dpZCAiQWxyZWFkeSB1cCB0byBkYXRlLiIKIG1zZ3N0ciAiWWEgZXN0w6EgYWN0dWFsaXphZG8uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ0MAorIzogYnVpbHRpbi9tZXJnZS5jOjE0OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRpbmcgJXMuLiVzXG4iCiBtc2dzdHIgIkFjdHVhbGl6YW5kbyAlcy4uJXNcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0ODIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgogbXNnc3RyICJJbnRlbnRhbmRvIGZ1c2nDs24gZW4gw61uZGljZSByZWFsbWVudGUgdHJpdmlhbC4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ4OQorIzogYnVpbHRpbi9tZXJnZS5jOjE1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm9wZS5cbiIKIG1zZ3N0ciAiTm9wLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUxNAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NjkKIG1zZ2lkICJBbHJlYWR5IHVwIHRvIGRhdGUuIFllZWFoISIKIG1zZ3N0ciAiWWEgZXN0w6EgYWN0dWFsaXphZG8uIMKhT2gsIHllYWFoaCEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTIwCisjOiBidWlsdGluL21lcmdlLmM6MTU3NQogbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKIG1zZ3N0ciAiTm8gZXMgcG9zaWJsZSBoYWNlciBmYXN0LWZvcndhcmQsIGFib3J0YW5kby4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQzIGJ1aWx0aW4vbWVyZ2UuYzoxNjIyCisjOiBidWlsdGluL21lcmdlLmM6MTU5OCBidWlsdGluL21lcmdlLmM6MTY2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXdpbmRpbmcgdGhlIHRyZWUgdG8gcHJpc3RpbmUuLi5cbiIKIG1zZ3N0ciAiUmVib2JpbmFuZG8gZWwgw6FyYm9sIGEgb3JpZ2luYWwuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgogbXNnc3RyICJJbnRlbnRhbmRvIGVzdHJhdGVnaWEgZGUgZnVzacOzbiAlcy4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYxMworIzogYnVpbHRpbi9tZXJnZS5jOjE2NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2Ugc3RyYXRlZ3kgaGFuZGxlZCB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIk5pbmd1bmEgZXN0cmF0ZWdpYSBkZSBmdXNpw7NuIG1hbmVqw7MgbGEgZnVzacOzbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1lcmdlIHdpdGggc3RyYXRlZ3kgJXMgZmFpbGVkLlxuIgogbXNnc3RyICJGdXNpb25hciBjb24gZXN0cmF0ZWdpYSAlcyBmYWxsw7MuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjI0CisjOiBidWlsdGluL21lcmdlLmM6MTY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKIG1zZ3N0ciAiVXNhbmRvIGVsICVzIHBhcmEgcHJlcGFyYXIgcmVzb2x1Y2nDs24gYSBtYW5vLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYzNgorIzogYnVpbHRpbi9tZXJnZS5jOjE2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIHdlbnQgd2VsbDsgc3RvcHBlZCBiZWZvcmUgY29tbWl0dGluZyBhcyByZXF1ZXN0ZWRcbiIKIG1zZ3N0ciAiIgpAQCAtMTMyNTEsNyArMTU5ODAsNyBAQAogCiAjOiBidWlsdGluL21lcmdlLWJhc2UuYzoxNTkKIG1zZ2lkICJpcyB0aGUgZmlyc3Qgb25lIGFuY2VzdG9yIG9mIHRoZSBvdGhlcj8iCi1tc2dzdHIgImVzIGVsIHByaW1lciBhbmNlc3RybyBkZWwgb3Rybz8iCittc2dzdHIgIsK/ZXMgZWwgcHJpbWVyIGFuY2VzdHJvIGRlbCBvdHJvPyIKIAogIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MTYxCiBtc2dpZCAiZmluZCB3aGVyZSA8Y29tbWl0PiBmb3JrZWQgZnJvbSByZWZsb2cgb2YgPHJlZj4iCkBAIC0xMzI5NywzMyArMTYwMjYsMzMgQEAKIG1zZ2lkICJzZXQgbGFiZWxzIGZvciBmaWxlMS9vcmlnLWZpbGUvZmlsZTIiCiBtc2dzdHIgImNvbmZpZ3VyYXIgbGFiZWxzIHBhcmEgYXJjaGl2bzEvb3JpZy1hcmNoaXZvL2FyY2hpdm8yIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjQ1CisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gb3B0aW9uICVzIgogbXNnc3RyICJvcGNpw7NuICVzIGRlc2Nvbm9jaWRhIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjUxCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBhbmFsaXphciBlbCBvYmpldG8gJyVzJyIKIAotIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1NQorIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCBiYXNlLiBJZ25vcmluZyAlcy4iCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2VzLiBJZ25vcmluZyAlcy4iCiBtc2dzdHJbMF0gIm5vIHNlIHB1ZWRlIG1hbmVqYXIgbcOhcyBkZSAlZCBiYXNlLiBJZ25vcmFuZG8gJXMuIgogbXNnc3RyWzFdICJubyBzZSBwdWVkZSBtYW5lamFyIG3DoXMgZGUgJWQgYmFzZXMuIElnbm9yYW5kbyAlcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjMKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjUKIG1zZ2lkICJub3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgogbXNnc3RyICJubyBtYW5lamFuZG8gbmFkYSBkaXN0aW50byBhIGZ1c2lvbmVzIGRlIGRvcyBoZWFkcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjkgYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3MQorIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3NCBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIHJlZiAnJXMnIgogbXNnc3RyICJubyBzZSBwdWRvIHJlc29sdmVyIHJlZiAnJXMnIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjc3CisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1lcmdpbmcgJXMgd2l0aCAlc1xuIgogbXNnc3RyICJGdXNpb25hbmRvICVzIGNvbiAlc1xuIgpAQCAtMTMzMzYsNyArMTYwNjUsNyBAQAogbXNnaWQgImlucHV0IGlzIE5VTCB0ZXJtaW5hdGVkIgogbXNnc3RyICJpbnB1dCBlcyB0ZXJtaW5hZGEgY29uIE5VTCIKIAotIzogYnVpbHRpbi9ta3RyZWUuYzoxNTUgYnVpbHRpbi93cml0ZS10cmVlLmM6MjUKKyM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU1IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI2CiBtc2dpZCAiYWxsb3cgbWlzc2luZyBvYmplY3RzIgogbXNnc3RyICJwZXJtaXRpciBvYmpldG9zIGZhbHRhbnRlcyIKIApAQCAtMTMzNDQsMTU4ICsxNjA3MywxNzQgQEAKIG1zZ2lkICJhbGxvdyBjcmVhdGlvbiBvZiBtb3JlIHRoYW4gb25lIHRyZWUiCiBtc2dzdHIgInBlcm1pdGlyIGxhIGNyZWFjacOzbiBkZSBtw6FzIGRlIHVuIMOhcmJvbCIKIAotIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6OAotbXNnaWQgImdpdCBtdWx0aS1wYWNrLWluZGV4IFstLW9iamVjdC1kaXI9PGRpcj5dICh3cml0ZXx2ZXJpZnkpIgotbXNnc3RyICJnaXQgbXVsdGktcGFjay1pbmRleCBbLS1vYmplY3QtZGlyPTxkaXI+XSAod3JpdGV8dmVyaWZ5KSIKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjkKK21zZ2lkICIiCisiZ2l0IG11bHRpLXBhY2staW5kZXggWzxvcHRpb25zPl0gKHdyaXRlfHZlcmlmeXxleHBpcmV8cmVwYWNrIC0tYmF0Y2gtIgorInNpemU9PHNpemU+KSIKK21zZ3N0ciAiIgorImdpdCBtdWx0aS1wYWNrLWluZGV4IFs8b3B0aW9ucz5dICh3cml0ZXx2ZXJpZnl8ZXhwaXJlfHJlcGFjayAtLWJhdGNoLSIKKyJzaXplPTx0YW1hw7FvPikiCiAKLSM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjIxCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzoyNgogbXNnaWQgIm9iamVjdCBkaXJlY3RvcnkgY29udGFpbmluZyBzZXQgb2YgcGFja2ZpbGUgYW5kIHBhY2staW5kZXggcGFpcnMiCiBtc2dzdHIgIm9iamV0byBkaXJlY3RvcmlvIGNvbnRlbmllbmRvIGNvbmp1bnRvcyBkZSBwYXJlcyBwYWNrZmlsZSB5IHBhY2staW5kZXgiCiAKLSM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjM5CisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzoyOQorbXNnaWQgIiIKKyJkdXJpbmcgcmVwYWNrLCBjb2xsZWN0IHBhY2stZmlsZXMgb2Ygc21hbGxlciBzaXplIGludG8gYSBiYXRjaCB0aGF0IGlzICIKKyJsYXJnZXIgdGhhbiB0aGlzIHNpemUiCittc2dzdHIgIiIKKyJkdXJhbnRlIGVsIHJlcGFjaywgcmVjb2xlY3RhciBsb3MgcGFjay1maWxlcyBkZSB0YW1hw7FvIG1lbm9yIGVuIHVuIGJhdGNoIHF1ZSAiCisiZXMgbcOhcyBncmFuZGUgcXVlIGVzdGUgdGFtYcOxbyIKKworIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6NTAgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo2NwogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAibXVjaG9zIGFyZ3VtZW50b3MiCiAKLSM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCB2ZXJiOiAlcyIKLW1zZ3N0ciAidmVyYm8gbm8gcmVjb25vY2lkbzogJXMiCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo2MAorbXNnaWQgIi0tYmF0Y2gtc2l6ZSBvcHRpb24gaXMgb25seSBmb3IgJ3JlcGFjaycgc3ViY29tbWFuZCIKK21zZ3N0ciAib3BjacOzbiAtLWJhdGNoLXNpemUgZXMgc29sbyBwYXJhIGVsIHN1YmNvbWFuZG8gJ3JlcGFjayciCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNworIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1YmNvbW1hbmQ6ICVzIgorbXNnc3RyICJzdWJjb21hbmRvIGRlc2Nvbm9jaWRvOiAlcyIKKworIzogYnVpbHRpbi9tdi5jOjE4CiBtc2dpZCAiZ2l0IG12IFs8b3B0aW9ucz5dIDxzb3VyY2U+Li4uIDxkZXN0aW5hdGlvbj4iCiBtc2dzdHIgImdpdCBtdiBbPG9wY2lvbmVzPl0gPGZ1ZW50ZT4uLi4gPGRlc3Rpbm8+IgogCi0jOiBidWlsdGluL212LmM6ODIKKyM6IGJ1aWx0aW4vbXYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCi1tc2dzdHIgIkRpcmVjdG9yaW8gJXMgZXN0w6EgZW4gZWwgw61uZGljZSB5IG5vIGhheSBzdWJtw7NkdWxvPyIKK21zZ3N0ciAiwr9EaXJlY3RvcmlvICVzIGVzdMOhIGVuIGVsIMOtbmRpY2UgeSBubyBoYXkgc3VibcOzZHVsbz8iCiAKLSM6IGJ1aWx0aW4vbXYuYzo4NAorIzogYnVpbHRpbi9tdi5jOjg1CiBtc2dpZCAiUGxlYXNlIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCiBtc2dzdHIgIiIKICJQb3IgZmF2b3IgYWdyZWdhIGVsIHN0YWdlIGRlIHR1cyBjYW1iaW9zIGEgLmdpdG1vZHVsZXMgbyByZWFsaXphIHVuIHN0YXNoICIKICJwYXJhIHByb2NlZGVyIgogCi0jOiBidWlsdGluL212LmM6MTAyCisjOiBidWlsdGluL212LmM6MTAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiUuKnMgaXMgaW4gaW5kZXgiCiBtc2dzdHIgIiUuKnMgZXN0w6EgZW4gZWwgw61uZGljZSIKIAotIzogYnVpbHRpbi9tdi5jOjEyNAorIzogYnVpbHRpbi9tdi5jOjEyNQogbXNnaWQgImZvcmNlIG1vdmUvcmVuYW1lIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAiZm9yemFyIG1vdmVyL3Jlbm9tYnJhciBpbmNsdXNvIHNpIGVsIG9iamV0aXZvIGV4aXN0ZSIKIAotIzogYnVpbHRpbi9tdi5jOjEyNgorIzogYnVpbHRpbi9tdi5jOjEyNwogbXNnaWQgInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIgogbXNnc3RyICJzYWx0YXIgZXJyb3JlcyBkZSBtb3Zlci9yZW5vbWJyYXIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNjgKKyM6IGJ1aWx0aW4vbXYuYzoxNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gJyVzJyBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgImRlc3Rpbm8gJyVzJyBubyBlcyB1biBkaXJlY3RvcmlvIgogCi0jOiBidWlsdGluL212LmM6MTc5CisjOiBidWlsdGluL212LmM6MTgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHJlbmFtZSBvZiAnJXMnIHRvICclcydcbiIKIG1zZ3N0ciAiUmV2aXNhbmRvIGNhbWJpbyBkZSBub21icmUgZGUgJyVzJyBhICclcydcbiIKIAotIzogYnVpbHRpbi9tdi5jOjE4MworIzogYnVpbHRpbi9tdi5jOjE4NAogbXNnaWQgImJhZCBzb3VyY2UiCiBtc2dzdHIgIm1hbGEgZnVlbnRlIgogCi0jOiBidWlsdGluL212LmM6MTg2CisjOiBidWlsdGluL212LmM6MTg3CiBtc2dpZCAiY2FuIG5vdCBtb3ZlIGRpcmVjdG9yeSBpbnRvIGl0c2VsZiIKIG1zZ3N0ciAibm8gc2UgcHVkZSBtb3ZlciB1biBkaXJlY3RvcmlvIGVuIHPDrSBtaXNtbyIKIAotIzogYnVpbHRpbi9tdi5jOjE4OQorIzogYnVpbHRpbi9tdi5jOjE5MAogbXNnaWQgImNhbm5vdCBtb3ZlIGRpcmVjdG9yeSBvdmVyIGZpbGUiCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIG1vdmVyIHVuIGRpcmVjdG9yaW8gZGVudHJvIGRlIHVuIGFyY2hpdm8iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxOTgKKyM6IGJ1aWx0aW4vbXYuYzoxOTkKIG1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgogbXNnc3RyICJkaXJlY3RvcmlvIGRlIGZ1ZW50ZSBlc3TDoSB2YWPDrW8iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMjMKKyM6IGJ1aWx0aW4vbXYuYzoyMjQKIG1zZ2lkICJub3QgdW5kZXIgdmVyc2lvbiBjb250cm9sIgogbXNnc3RyICJubyBzZSBlbmN1ZW50cmEgYmFqbyBjb250cm9sIGRlIHZlcnNpw7NuIgogCi0jOiBidWlsdGluL212LmM6MjI2CisjOiBidWlsdGluL212LmM6MjI3CiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICJkZXN0aW5vIGV4aXN0ZSIKIAotIzogYnVpbHRpbi9tdi5jOjIzNAorIzogYnVpbHRpbi9tdi5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJvdmVyd3JpdGluZyAnJXMnIgogbXNnc3RyICJzb2JyZXNjcmliaWVuZG8gJyVzJyIKIAotIzogYnVpbHRpbi9tdi5jOjIzNworIzogYnVpbHRpbi9tdi5jOjIzOAogbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCiBtc2dzdHIgIk5vIHNlIHB1ZWRlIHNvYnJlc2NyaWJpciIKIAotIzogYnVpbHRpbi9tdi5jOjI0MAorIzogYnVpbHRpbi9tdi5jOjI0MQogbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKIG1zZ3N0ciAibcO6bHRpcGxlcyBmdWVudGVzIHBhcmEgZWwgbWlzbW8gb2JqZXRpdm8iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNDIKKyM6IGJ1aWx0aW4vbXYuYzoyNDMKIG1zZ2lkICJkZXN0aW5hdGlvbiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImVsIGRpcmVjdG9yaW8gZGUgZGVzdGlubyBubyBleGlzdGUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNDkKKyM6IGJ1aWx0aW4vbXYuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsIHNvdXJjZT0lcywgZGVzdGluYXRpb249JXMiCiBtc2dzdHIgIiVzLCBmdWVudGU9JXMsIGRlc3Rpbm89JXMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNzAKKyM6IGJ1aWx0aW4vbXYuYzoyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKIG1zZ3N0ciAiUmVub21icmFuZG8gJXMgYSAlc1xuIgogCi0jOiBidWlsdGluL212LmM6Mjc2IGJ1aWx0aW4vcmVtb3RlLmM6NzE3IGJ1aWx0aW4vcmVwYWNrLmM6NTExCisjOiBidWlsdGluL212LmM6Mjc3IGJ1aWx0aW4vcmVtb3RlLmM6NzE2IGJ1aWx0aW4vcmVwYWNrLmM6NTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICJyZW5vbWJyYW5kbyAnJXMnIGZhbGzDsyIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjM1NQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwMwogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8b3BjaW9uZXM+XSA8Y29tbWl0Pi4uLiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjM1NgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwNAogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLWFsbCIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8b3BjaW9uZXM+XSAtLWFsbCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjM1NworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwNQogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLXN0ZGluIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxvcGNpb25lcz5dIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTMKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjIKIG1zZ2lkICJwcmludCBvbmx5IG5hbWVzIChubyBTSEEtMSkiCiBtc2dzdHIgImltcHJpbWlyIHPDs2xvIG5vbWJyZXMgKHNpbiBTSEEtMSkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTQKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjMKIG1zZ2lkICJvbmx5IHVzZSB0YWdzIHRvIG5hbWUgdGhlIGNvbW1pdHMiCiBtc2dzdHIgInPDs2xvIHVzYXIgdGFncyBwYXJhIG5vbWJyYXIgY29tbWl0cyIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxNgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2NQogbXNnaWQgIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJzb2xvIHVzYXIgcmVmcyBxdWUgY29uY3VlcmRlbiBjb24gPHBhdHLDs24+IgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDE4CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDY3CiBtc2dpZCAiaWdub3JlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJpZ25vcmFyIHJlZnMgcXVlIGNvbmN1ZXJkZW4gY29uIDxwYXRyw7NuPiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQyMAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2OQogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgImxpc3RhciB0b2RvcyBsb3MgY29tbWl0cyBhbGNhbnphYmxlcyBkZXNkZSB0b2RhcyBsYXMgcmVmZXJlbmNpYXMiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjEKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzAKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgImxlZXIgZGVzZGUgc3RkaW4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjIKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzEKIG1zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyAoZGVmYXVsdCkiCiBtc2dzdHIgInBlcm1pdGlyIGltcHJpbWlyIG5vbWJyZXMgYHVuZGVmaW5lZGAgKHByZWRldGVybWluYWRvKSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQyOAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ3NwogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW4gdGhlIGlucHV0IChpbnRlcm5hbCB1c2UpIgogbXNnc3RyICJkZXNyZWZlcmVuY2lhciB0YWdzIGVuIGxhIGVudHJhZGEgKHVzbyBpbnRlcm5vKSIKIApAQCAtMTM2NDQsMTQgKzE2Mzg5LDE0IEBACiBtc2dpZCAidGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCiBtc2dzdHIgImxvcyBjb250ZW5pZG9zIGRlIG5vdGEgaGFuIHNpZG8gZGVqYWRvcyBlbiAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI0MiBidWlsdGluL3RhZy5jOjUxMworIzogYnVpbHRpbi9ub3Rlcy5jOjI0MiBidWlsdGluL3RhZy5jOjUzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gYWJyaXIgbyBsZWVyICclcyciCiAKICM6IGJ1aWx0aW4vbm90ZXMuYzoyNjMgYnVpbHRpbi9ub3Rlcy5jOjMxMyBidWlsdGluL25vdGVzLmM6MzE1Ci0jOiBidWlsdGluL25vdGVzLmM6MzgzIGJ1aWx0aW4vbm90ZXMuYzo0MzggYnVpbHRpbi9ub3Rlcy5jOjUyNAotIzogYnVpbHRpbi9ub3Rlcy5jOjUyOSBidWlsdGluL25vdGVzLmM6NjA3IGJ1aWx0aW4vbm90ZXMuYzo2NjkKKyM6IGJ1aWx0aW4vbm90ZXMuYzozODMgYnVpbHRpbi9ub3Rlcy5jOjQzOCBidWlsdGluL25vdGVzLmM6NTI2CisjOiBidWlsdGluL25vdGVzLmM6NTMxIGJ1aWx0aW4vbm90ZXMuYzo2MTAgYnVpbHRpbi9ub3Rlcy5jOjY3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiZmFsbMOzIGFsIHJlc29sdmVyICclcycgY29tbyByZWYgdsOhbGlkYS4iCkBAIC0xMzY4NCwzOCArMTY0MjksMzggQEAKIG1zZ2lkICJyZWZ1c2luZyB0byAlcyBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCiBtc2dzdHIgInJlY2hhemFuZG8gJXMgbm90YXMgZW4gJXMgKGZ1ZXJhIGRlIHJlZnMvbm90ZXMvKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM3NiBidWlsdGluL25vdGVzLmM6NDMxIGJ1aWx0aW4vbm90ZXMuYzo1MDcKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTkgYnVpbHRpbi9ub3Rlcy5jOjU5NSBidWlsdGluL25vdGVzLmM6NjYyCi0jOiBidWlsdGluL25vdGVzLmM6ODEyIGJ1aWx0aW4vbm90ZXMuYzo5NTkgYnVpbHRpbi9ub3Rlcy5jOjk4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjM3NiBidWlsdGluL25vdGVzLmM6NDMxIGJ1aWx0aW4vbm90ZXMuYzo1MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjEgYnVpbHRpbi9ub3Rlcy5jOjU5OCBidWlsdGluL25vdGVzLmM6NjY1CisjOiBidWlsdGluL25vdGVzLmM6ODE1IGJ1aWx0aW4vbm90ZXMuYzo5NjMgYnVpbHRpbi9ub3Rlcy5jOjk4NQogbXNnaWQgInRvbyBtYW55IHBhcmFtZXRlcnMiCiBtc2dzdHIgImRlbWFzaWFkb3MgcGFyw6FtZXRyb3MiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozODkgYnVpbHRpbi9ub3Rlcy5jOjY3NQorIzogYnVpbHRpbi9ub3Rlcy5jOjM4OSBidWlsdGluL25vdGVzLmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCiBtc2dzdHIgIm5vIHNlIGVuY29udHJhcm9uIG5vdGFzIHBhcmEgb2JqZXRvICVzLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxMCBidWlsdGluL25vdGVzLmM6NTczCisjOiBidWlsdGluL25vdGVzLmM6NDEwIGJ1aWx0aW4vbm90ZXMuYzo1NzYKIG1zZ2lkICJub3RlIGNvbnRlbnRzIGFzIGEgc3RyaW5nIgogbXNnc3RyICJjb250ZW5pZG9zIGRlIGxhIG5vdGEgY29tbyBjYWRlbmEiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTMgYnVpbHRpbi9ub3Rlcy5jOjU3NgorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMyBidWlsdGluL25vdGVzLmM6NTc5CiBtc2dpZCAibm90ZSBjb250ZW50cyBpbiBhIGZpbGUiCiBtc2dzdHIgImNvbnRlbmlkb3MgZGUgbGEgbm90YSBlbiB1biBhcmNoaXZvIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDE2IGJ1aWx0aW4vbm90ZXMuYzo1NzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTYgYnVpbHRpbi9ub3Rlcy5jOjU4MgogbXNnaWQgInJldXNlIGFuZCBlZGl0IHNwZWNpZmllZCBub3RlIG9iamVjdCIKIG1zZ3N0ciAicmV1dGlsaXphciB5IGVkaXRhciBlbCBvYmpldG8gZGUgbm90YSBlc3BlY2lmaWNhZGEiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTkgYnVpbHRpbi9ub3Rlcy5jOjU4MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQxOSBidWlsdGluL25vdGVzLmM6NTg1CiBtc2dpZCAicmV1c2Ugc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICJyZXV0aWxpemFyIGVsIG9iamV0byBkZSBub3RhIGVzcGVjaWZpY2FkbyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQyMiBidWlsdGluL25vdGVzLmM6NTg1CisjOiBidWlsdGluL25vdGVzLmM6NDIyIGJ1aWx0aW4vbm90ZXMuYzo1ODgKIG1zZ2lkICJhbGxvdyBzdG9yaW5nIGVtcHR5IG5vdGUiCiBtc2dzdHIgInBlcm1pdGlyIGFsbWFjZW5hciBub3RhIHZhY8OtYSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQyMyBidWlsdGluL25vdGVzLmM6NDk0CisjOiBidWlsdGluL25vdGVzLmM6NDIzIGJ1aWx0aW4vbm90ZXMuYzo0OTYKIG1zZ2lkICJyZXBsYWNlIGV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICJyZWVtcGxhemFyIG5vdGFzIGV4aXN0ZW50ZXMiCiAKQEAgLTEzNzI4LDI5ICsxNjQ3MywyOSBAQAogIk5vIHNlIHB1ZWRlIGFncmVnYXIgbm90YXMuIFNlIGVuY29udHLDsyBub3RhcyBleGlzdGVudGVzIHBhcmEgb2JqZXRvICVzLiBVc2UgIgogIictZicgcGFyYSBzb2JyZXNjcmliaXIgbGFzIG5vdGFzIGV4aXN0ZW50ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NjMgYnVpbHRpbi9ub3Rlcy5jOjU0MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQ2MyBidWlsdGluL25vdGVzLmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk92ZXJ3cml0aW5nIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAiU29icmVzY3JpYmllbmRvIG5vdGFzIGV4aXN0ZW50ZXMgcGFyYSBvYmpldG8gJXNcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ3NCBidWlsdGluL25vdGVzLmM6NjM0IGJ1aWx0aW4vbm90ZXMuYzo4OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NzUgYnVpbHRpbi9ub3Rlcy5jOjYzNyBidWlsdGluL25vdGVzLmM6OTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIG5vdGUgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICJSZW1vdmllbmRvIG5vdGEgcGFyYSBvYmpldG8gJXNcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ5NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ5NwogbXNnaWQgInJlYWQgb2JqZWN0cyBmcm9tIHN0ZGluIgogbXNnc3RyICJsZWVyIG9iamV0b3MgZGVzZGUgc3RkaW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0OTcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0OTkKIG1zZ2lkICJsb2FkIHJld3JpdGluZyBjb25maWcgZm9yIDxjb21tYW5kPiAoaW1wbGllcyAtLXN0ZGluKSIKIG1zZ3N0ciAiY2FyZ2FyIGNvbmZpZ3VyYWNpw7NuIGRlIHJlZXNjcml0dXJhIHBhcmEgPGNvbWFuZG8+IChpbXBsaWNhIC0tc3RkaW4pIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTE1CisjOiBidWlsdGluL25vdGVzLmM6NTE3CiBtc2dpZCAidG9vIGZldyBwYXJhbWV0ZXJzIgogbXNnc3RyICJtdXkgcG9jb3MgcGFyw6FtZXRyb3MiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgpAQCAtMTM3NTksMTIgKzE2NTA0LDEyIEBACiAiTm8gc2UgcHVlZGUgY29waWFyIG5vdGFzLiBTZSBlbmNvbnRyw7Mgbm90YXMgZXhpc3RlbnRlcyBwYXJhIGVsIG9iamV0byAlcy4gIgogIlVzZSAnLWYnIHBhcmEgc29icmVzY3JpYmlyIGxhcyBub3RlcyBleGlzdGVudGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTQ4CisjOiBidWlsdGluL25vdGVzLmM6NTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3Npbmcgbm90ZXMgb24gc291cmNlIG9iamVjdCAlcy4gQ2Fubm90IGNvcHkuIgogbXNnc3RyICJmYWx0YW4gbm90YXMgZW4gbGEgZnVlbnRlIGRlbCBvYmpldG8gJXMuIE5vIHNlIHB1ZWRlIGNvcGlhci4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MDAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtbS8tRi8tYy8tQyBvcHRpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgJ2VkaXQnIHN1YmNvbW1hbmQuXG4iCkBAIC0xMzc3Myw1MiArMTY1MTgsNTIgQEAKICJMYXMgb3BjaW9uZXMgLW0vLUYvLWMvLUMgaGFuIHNpZG8gZGVwcmVjYWRhcyBwb3IgZWwgc3ViY29tYW5kbyAnZWRpdCcuXG4iCiAiUG9yIGZhdm9yIHVzZSAnZ2l0IG5vdGVzIGFkZCAtZiAtbS8tRi8tYy8tQycgZW4gY2FtYmlvLlxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njk1CisjOiBidWlsdGluL25vdGVzLmM6Njk4CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKIG1zZ3N0ciAiZmFsbMOzIGFsIGJvcnJhciByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY5NworIzogYnVpbHRpbi9ub3Rlcy5jOjcwMAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1JFRiIKIG1zZ3N0ciAiZmFsbMOzIGFsIGJvcnJhciByZWYgTk9URVNfTUVSR0VfUkVGIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njk5CisjOiBidWlsdGluL25vdGVzLmM6NzAyCiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnZ2l0IG5vdGVzIG1lcmdlJyB3b3JrdHJlZSIKIG1zZ3N0ciAibm8gc2UgcHVkbyBlbGltaW5hciBlbCDDoXJib2wgZGUgdHJhYmFqbyAnZ2l0IG5vdGVzIG1lcmdlJyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxOQorIzogYnVpbHRpbi9ub3Rlcy5jOjcyMgogbXNnaWQgImZhaWxlZCB0byByZWFkIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgogbXNnc3RyICJmYWxsw7MgYWwgbGVlciByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcyMQorIzogYnVpbHRpbi9ub3Rlcy5jOjcyNAogbXNnaWQgImNvdWxkIG5vdCBmaW5kIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgogbXNnc3RyICJubyBzZSBwdWRvIGVuY29udHJhciBjb21taXQgZGUgTk9URVNfTUVSR0VfUEFSVElBTC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjYKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCiBtc2dzdHIgIm5vIHNlIHB1ZG8gYW5hbGl6YXIgY29tbWl0IGRlIE5PVEVTX01FUkdFX1BBUlRJQUwuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzM2CisjOiBidWlsdGluL25vdGVzLmM6NzM5CiBtc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgTk9URVNfTUVSR0VfUkVGIgogbXNnc3RyICJmYWxsw7MgYWwgcmVzb2x2ZXIgTk9URVNfTUVSR0VfUkVGIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzM5CisjOiBidWlsdGluL25vdGVzLmM6NzQyCiBtc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplIG5vdGVzIG1lcmdlIgogbXNnc3RyICJmYWxsw7MgYWwgZmluYWxpemFyIGxhcyBub3RhcyBkZSBmdXNpw7NuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzY1CisjOiBidWlsdGluL25vdGVzLmM6NzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gbm90ZXMgbWVyZ2Ugc3RyYXRlZ3kgJXMiCiBtc2dzdHIgImVzdHJhdGVnaWEgZGUgZnVzacOzbiBkZSBub3RhcyAlcyBkZXNjb25vY2lkYSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4MQorIzogYnVpbHRpbi9ub3Rlcy5jOjc4NAogbXNnaWQgIkdlbmVyYWwgb3B0aW9ucyIKIG1zZ3N0ciAiT3BjaW9uZXMgZ2VuZXJhbGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgzCisjOiBidWlsdGluL25vdGVzLmM6Nzg2CiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiT3BjaW9uZXMgZGUgZnVzacOzbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4NQorIzogYnVpbHRpbi9ub3Rlcy5jOjc4OAogbXNnaWQgIiIKICJyZXNvbHZlIG5vdGVzIGNvbmZsaWN0cyB1c2luZyB0aGUgZ2l2ZW4gc3RyYXRlZ3kgKG1hbnVhbC9vdXJzL3RoZWlycy91bmlvbi8iCiAiY2F0X3NvcnRfdW5pcSkiCkBAIC0xMzgyNiw0NyArMTY1NzEsNDcgQEAKICJyZXNvbHZlciBjb25mbGljdG9zIGRlIG5vdGFzIHVzYW5kbyBsYSBlc3RyYXRlZ2lhIGVudHJlZ2FkYXMgKG1hbnVhbC9vdXJzLyIKICJ0aGVpcnMvdW5pb24vY2F0X3NvcnRfdW5pcSkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTAKIG1zZ2lkICJDb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICJSZWFsaXphbmRvIGNvbW1pdCBhIGxhcyBub3RhcyBubyBmdXNpb25hZGFzIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzg5CisjOiBidWlsdGluL25vdGVzLmM6NzkyCiBtc2dpZCAiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAiIgogImZpbmFsaXphciBmdXNpw7NuIGRlIG5vdGFzIHJlYWxpemFuZG8gdW4gY29tbWl0IGRlIGxhcyBub3RhcyBubyBmdXNpb25hZGFzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzkxCisjOiBidWlsdGluL25vdGVzLmM6Nzk0CiBtc2dpZCAiQWJvcnRpbmcgbm90ZXMgbWVyZ2UgcmVzb2x1dGlvbiIKIG1zZ3N0ciAiQWJvcnRhbmRvIG5vdGFzIGRlIHJlc29sdWNpw7NuIGRlIGZ1c2nDs24iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3OTMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTYKIG1zZ2lkICJhYm9ydCBub3RlcyBtZXJnZSIKIG1zZ3N0ciAiYWJvcnRhciBub3RhcyBkZSBmdXNpw7NuIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODA0CisjOiBidWlsdGluL25vdGVzLmM6ODA3CiBtc2dpZCAiY2Fubm90IG1peCAtLWNvbW1pdCwgLS1hYm9ydCBvciAtcy8tLXN0cmF0ZWd5IgogbXNnc3RyICJubyBzZSBwdWVkZW4gbWV6Y2xhciAtLWNvbW1pdCwgLS1hYm9ydCDDsyAtcy8tLXN0cmF0ZWd5IgogCi0jOiBidWlsdGluL25vdGVzLmM6ODA5CisjOiBidWlsdGluL25vdGVzLmM6ODEyCiBtc2dpZCAibXVzdCBzcGVjaWZ5IGEgbm90ZXMgcmVmIHRvIG1lcmdlIgogbXNnc3RyICJkZWJlIGVzcGVjaWZpY2FyIHVuYSByZWYgZGUgbm90YXMgYSBmdXNpb25hciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjgzMworIzogYnVpbHRpbi9ub3Rlcy5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIC1zLy0tc3RyYXRlZ3k6ICVzIgogbXNnc3RyICItLXN0cmF0ZWd5Ly1zIGRlc2Nvbm9jaWRhOiAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg3MAorIzogYnVpbHRpbi9ub3Rlcy5jOjg3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhIG5vdGVzIG1lcmdlIGludG8gJXMgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCAlcyIKIG1zZ3N0ciAidW5hIGZ1c2nDs24gZGUgbm90YXMgZW4gJXMgeWEgZXN0w6EgZW4gcHJvZ3Jlc28gZW4gJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0b3JlIGxpbmsgdG8gY3VycmVudCBub3RlcyByZWYgKCVzKSIKIG1zZ3N0ciAiZmFsbMOzIGFsIGd1YXJkYXIgdW4gbGluayBwYXJhIGVsIHJlZiBkZSBub3RhcyBhY3R1YWwgKCVzKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg3NQorIzogYnVpbHRpbi9ub3Rlcy5jOjg3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXV0b21hdGljIG5vdGVzIG1lcmdlIGZhaWxlZC4gRml4IGNvbmZsaWN0cyBpbiAlcyBhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCAiCkBAIC0xMzg3NywxNzcgKzE2NjIyLDE4MiBAQAogImNvbW1pdCBjb24gZWwgcmVzdWx0YWRvICdnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnLCBvIGFib3J0ZSBsYSBmdXNpw7NuIGNvbiAiCiAiJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0Jy5cbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5NworIzogYnVpbHRpbi9ub3Rlcy5jOjg5NyBidWlsdGluL3RhZy5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKK21zZ3N0ciAiRmFsbMOzIGFsIHJlc29sdmVyICclcycgY29tbyB1bmEgcmVmIHbDoWxpZGEuIgorCisjOiBidWlsdGluL25vdGVzLmM6OTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk9iamVjdCAlcyBoYXMgbm8gbm90ZVxuIgogbXNnc3RyICJFbCBvYmpldG8gJXMgbm8gdGllbmUgbm90YXNcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjkwOQorIzogYnVpbHRpbi9ub3Rlcy5jOjkxMgogbXNnaWQgImF0dGVtcHQgdG8gcmVtb3ZlIG5vbi1leGlzdGVudCBub3RlIGlzIG5vdCBhbiBlcnJvciIKIG1zZ3N0ciAiaW50ZW50YXIgZWxpbWluYXIgdW5hIG5vdGEgbm8gZXhpc3RlbnRlIG5vIGVzIHVuIGVycm9yIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTEyCisjOiBidWlsdGluL25vdGVzLmM6OTE1CiBtc2dpZCAicmVhZCBvYmplY3QgbmFtZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxlZXIgbm9tYnJlcyBkZSBvYmpldG9zIGRlIHN0YW5kYXJkIGlucHV0IgogCi0jOiBidWlsdGluL25vdGVzLmM6OTUwIGJ1aWx0aW4vcHJ1bmUuYzoxMDggYnVpbHRpbi93b3JrdHJlZS5jOjE2NAorIzogYnVpbHRpbi9ub3Rlcy5jOjk1NCBidWlsdGluL3BydW5lLmM6MTMwIGJ1aWx0aW4vd29ya3RyZWUuYzoxNjQKIG1zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCiBtc2dzdHIgIm5vIGVsaW1pbmFyLCBzb2xvIG1vc3RyYXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NTUKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIG5vdGVzIgogbXNnc3RyICJyZXBvcnRhciBub3RhcyByZWNvcnRhZGFzIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTkzCisjOiBidWlsdGluL25vdGVzLmM6OTk4CiBtc2dpZCAibm90ZXMtcmVmIgogbXNnc3RyICJyZWZlcmVuY2lhLWRlLW5vdGFzIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTk0CisjOiBidWlsdGluL25vdGVzLmM6OTk5CiBtc2dpZCAidXNlIG5vdGVzIGZyb20gPG5vdGVzLXJlZj4iCiBtc2dzdHIgInVzYXIgbm90YXMgZGVzZGUgPHJlZmVyZW5jaWEtZGUtbm90YXM+IgogCi0jOiBidWlsdGluL25vdGVzLmM6MTAyOQorIzogYnVpbHRpbi9ub3Rlcy5jOjEwMzQgYnVpbHRpbi9zdGFzaC5jOjE2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBzdWJjb21tYW5kOiAlcyIKIG1zZ3N0ciAic3ViY29tYW5kbyBkZXNjb25vY2lkbzogJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTIKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPG9wdGlvbnM+Li4uXSBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiIgogImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgWzxvcGNpb25lcz4uLi5dIFs8IDxsaXN0YS1kZS1yZWY+IHwgPCA8bGlzdGEtZGUtIgogIm9iamV0b3M+XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1MwogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIFs8b3B0aW9ucz4uLi5dIDxiYXNlLW5hbWU+IFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBbPG9wY2lvbmVzPi4uLl0gPG5vbWJyZS1iYXNlPiBbPCA8bGlzdGEtZGUtcmVmcz4gfCA8IDxsaXN0YS0iCiAiZGUtb2JqZXRvcz5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjQyMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2tlZCBvYmplY3QgQ1JDIGZvciAlcyIKIG1zZ3N0ciAibWFsIHBhcXVldGUgZGUgb2JqZXRvIENSQyBwYXJhICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjQzMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBwYWNrZWQgb2JqZWN0IGZvciAlcyIKIG1zZ3N0ciAib2JqZXRvIGVtcGFxdWV0YWRvIGNvcnJ1cHRvIHBhcmEgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTY0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjU3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWN1cnNpdmUgZGVsdGEgZGV0ZWN0ZWQgZm9yIG9iamVjdCAlcyIKIG1zZ3N0ciAiZGVsdGEgcmVjdXJzaXZvIGVuY29udHJhZG8gcGFyYSBvYmpldG8gJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzc1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJvcmRlcmVkICV1IG9iamVjdHMsIGV4cGVjdGVkICU8UFJJdTMyPiIKIG1zZ3N0ciAiJXUgb2JqZXRvcyBvcmRlbmFkb3MsIGVzcGVyYWRvcyAlPFBSSXUzMj4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzg4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBpcyBpbnZhbGlkOiAlcyIKIG1zZ3N0ciAicGFja2ZpbGUgZXMgaW52w6FsaWRvOiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIHBhY2tmaWxlIGZvciByZXVzZTogJXMiCiBtc2dzdHIgIm5vIGVzIHBvc2libGUgYWJyaXIgcGFja2ZpbGUgcGFyYSByZXVzYXI6ICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc5NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4MDIKIG1zZ2lkICJ1bmFibGUgdG8gc2VlayBpbiByZXVzZWQgcGFja2ZpbGUiCiBtc2dzdHIgIm5vIGVzIHBvc2libGUgYnVzY2FyIGVuIGxvcyBwYWNrZmlsZSByZXVzYWRvcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4MDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODEzCiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgZnJvbSByZXVzZWQgcGFja2ZpbGUiCiBtc2dzdHIgIm5vIGVzIHBvc2libGUgbGVlciBkZSBwYWNrZmlsZSByZXVzYWRvIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgzNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4NDEKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIHBhY2tzIGFyZSBzcGxpdCBkdWUgdG8gcGFjay5wYWNrU2l6ZUxpbWl0IgogbXNnc3RyICIiCiAiZGVzaGFiaWxpdGFuZG8gZXNjcml0dXJhIGJpdG1hcCwgcGFxdWV0ZXMgc29uIGRpdmlkaWRvcyBkZWJpZG8gYSBwYWNrLiIKICJwYWNrU2l6ZUxpbWl0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjg0OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4NTQKIG1zZ2lkICJXcml0aW5nIG9iamVjdHMiCiBtc2dzdHIgIkVzY3JpYmllbmRvIG9iamV0b3MiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTEwIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTE3IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXMiCiBtc2dzdHIgImZhbGzDsyBhbCBpbmljaWFyICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjk2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAid3JvdGUgJTxQUkl1MzI+IG9iamVjdHMgd2hpbGUgZXhwZWN0aW5nICU8UFJJdTMyPiIKIG1zZ3N0ciAiJTxQUkl1MzI+IG9iamV0b3MgZXNjcml0b3MgbWllbnRyYXMgc2UgZXNwZXJhYmFuICU8UFJJdTMyPiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMTU3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjExNjQKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIGFzIHNvbWUgb2JqZWN0cyBhcmUgbm90IGJlaW5nIHBhY2tlZCIKIG1zZ3N0ciAiIgogImRlc2hhYmlsaXRhbmRvIGVzY3JpdHVyYSBiaXRtYXAsIHlhIHF1ZSBhbGd1bm9zIG9iamV0b3Mgbm8gZXN0w6FuIHNpZW5kbyAiCiAiZW1wYXF1ZXRhZG9zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE1ODUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBvdmVyZmxvdyBpbiBwYWNrIGZvciAlcyIKIG1zZ3N0ciAib3ZlcmZsb3cgZGUgb2Zmc2V0IGVuIGxhIGJhc2UgZGUgZGVsdGEgZW4gcGFxdWV0ZSBwYXJhICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE1OTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTYwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBvdXQgb2YgYm91bmQgZm9yICVzIgogbXNnc3RyICJvdXRib3VuZCBkZSBvZmZzZXQgZW4gbGEgYmFzZSBkZSBkZWx0YSBwYXJhICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg3MAogbXNnaWQgIkNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgIkNvbnRhbmRvIG9iamV0b3MiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTk5OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBnZXQgc2l6ZSBvZiAlcyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBvYnRlbmVyIGVsIHRhbWHDsW8gZGUgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjAxMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBvYmplY3QgaGVhZGVyIG9mICVzIgogbXNnc3RyICJpbmNhcGF6IGRlIGFuYWxpemFyIGhlYWRlciBkZWwgb2JqZXRvICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwODMgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDk5Ci0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA4NSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjExMQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgY2Fubm90IGJlIHJlYWQiCiBtc2dzdHIgIm9iamV0byAlcyBubyBwdWVkZSBzZXIgbGXDrWRvIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwODYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwODggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpbmNvbnNpc3RlbnQgb2JqZWN0IGxlbmd0aCAoJTxQUkl1TUFYPiB2cyAlPFBSSXVNQVg+KSIKIG1zZ3N0ciAiIgogIm9iamV0byAlcyBpbmNvbnNpc3RlbnRlIGNvbiBlbCBsYXJnbyBkZWwgb2JqZXRvICglPFBSSXVNQVg+IHZzICU8UFJJdU1BWD4pIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjEyNQogbXNnaWQgInN1Ym9wdGltYWwgcGFjayAtIG91dCBvZiBtZW1vcnkiCiBtc2dzdHIgInN1Ym9wdGltYWwgcGFjayAtIGZ1ZXJhIGRlIG1lbW9yaWEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbHRhIGNvbXByZXNzaW9uIHVzaW5nIHVwIHRvICVkIHRocmVhZHMiCiBtc2dzdHIgIkNvbXByZXNpw7NuIGRlbHRhIHVzYW5kbyBoYXN0YSAlZCBoaWxvcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTgzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhY2sgb2JqZWN0cyByZWFjaGFibGUgZnJvbSB0YWcgJXMiCiBtc2dzdHIgIm5vIGVzIHBvc2libGUgZW1wYXF1ZXRhciBvYmpldG9zIGFsY2FuemFibGVzIGRlc2RlIHRhZyAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjcwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTkKIG1zZ2lkICJDb21wcmVzc2luZyBvYmplY3RzIgogbXNnc3RyICJDb21wcmltaWVuZG8gb2JqZXRvcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjc2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjUKIG1zZ2lkICJpbmNvbnNpc3RlbmN5IHdpdGggZGVsdGEgY291bnQiCiBtc2dzdHIgImluY29uc2lzdGVuY2lhIGNvbiBsYSBjdWVudGEgZGUgZGVsdGEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc1MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleHBlY3RlZCBlZGdlIG9iamVjdCBJRCwgZ290IGdhcmJhZ2U6XG4iCkBAIC0xNDA1Niw3ICsxNjgwNiw3IEBACiAic2UgZXNwc2VyYWJhIElEIGRlIG9iamV0byBhbCBib3JkZSwgc2Ugb2J0dXZvIGJhc3VyYTpcbiIKICIlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzU5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4cGVjdGVkIG9iamVjdCBJRCwgZ290IGdhcmJhZ2U6XG4iCkBAIC0xNDA2NSwyNTEgKzE2ODE1LDI0MyBAQAogInNlIGVzcGVyYWJhIElEIGRlIG9iamV0bywgc2Ugb2J0dXZvIGJhc3V0YTpcbiIKICIlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODU3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDYKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAtLW1pc3NpbmciCiBtc2dzdHIgInZhbG9yIGludsOhbGlkbyBwYXJhIC0tbWlzc2luZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTE2IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAyNAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTA1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAxMwogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2sgaW5kZXgiCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGFicmlyIMOtbmRpY2UgZGUgcGFxdWV0ZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvb3NlIG9iamVjdCBhdCAlcyBjb3VsZCBub3QgYmUgZXhhbWluZWQiCiBtc2dzdHIgIm9iamV0byBwZXJkaWRvIGVuICVzIG5vIHB1ZG8gc2VyIGV4YW1pbmFkbyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDMyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwMjEKIG1zZ2lkICJ1bmFibGUgdG8gZm9yY2UgbG9vc2Ugb2JqZWN0IgogbXNnc3RyICJpbmNhcGF6IGRlIGZvcnphciB1biBvYmpldG8gcGVyZGlkbyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTIyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgcmV2ICclcyciCiBtc2dzdHIgIm5vIGVzIHVuYSByZXYgJyVzJyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTI1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJldmlzaW9uICclcyciCiBtc2dzdHIgIm1hbGEgcmV2aXNpw7NuICclcyciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE1MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTQxCiBtc2dpZCAidW5hYmxlIHRvIGFkZCByZWNlbnQgb2JqZWN0cyIKIG1zZ3N0ciAiaW5jYXBheiBkZSBhw7FhZGlyIG9iamV0b3MgcmVjaWVudGVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMDMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBpbmRleCB2ZXJzaW9uICVzIgogbXNnc3RyICJ2ZXJzacOzbiBkZSDDrW5kaWNlIG5vIHNvcG9ydGFkYSAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjA3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJyVzJyIKIG1zZ3N0ciAibWFsYSB2ZXJzacOzbiBkZWwgw61uZGljZSAnJXMnIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzcKLW1zZ2lkICJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIKLW1zZ3N0ciAibm8gbW9zdHJhciBtZWRpZG9yIGRlIHByb2dyZXNvIgotCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzkKLW1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgotbXNnc3RyICJtb3N0cmFyIG1lZGlkb3IgZGUgcHJvZ3Jlc28iCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0MQotbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgotbXNnc3RyICJtb3N0cmFyIG1lZGlkb3IgZGUgcHJvZ3Jlc28gZHVyYW50ZSBsYSBmYXNlIGRlIGVzY3JpdHVyYSBkZSBvYmpldG8iCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NAotbXNnaWQgInNpbWlsYXIgdG8gLS1hbGwtcHJvZ3Jlc3Mgd2hlbiBwcm9ncmVzcyBtZXRlciBpcyBzaG93biIKLW1zZ3N0ciAic2ltaWxhciBhIC0tYWxsLXByb2dyZXNzIGN1YW5kbyBtZWRpZG9yIGRlIHByb2dyZXNvIGVzIG1vc3RyYWRvIgotCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzNgogbXNnaWQgIjx2ZXJzaW9uPlssPG9mZnNldD5dIgogbXNnc3RyICI8dmVyc2nDs24+Wyw8b2Zmc2V0Pl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM3CiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogImVzY3JpYmlyIGVsIMOtbmRpY2UgZGUgcGFxdWV0ZSBlbiBsYSB2ZXJzacOzbiBkZSBmb3JtYXRvIGlkeCBlc3BlY2lmaWNhZG8iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQwCiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZSIKIG1zZ3N0ciAidGFtYcOxbyBtw6F4aW1vIGRlIGNhZGEgcGFxdWV0ZSByZXN1bHRhbnRlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0MgogbXNnaWQgImlnbm9yZSBib3Jyb3dlZCBvYmplY3RzIGZyb20gYWx0ZXJuYXRlIG9iamVjdCBzdG9yZSIKIG1zZ3N0ciAiaWdub3JhciBvYmpldG9zIHByZXN0YWRvcyBkZSBvdHJvcyBhbG1hY2VuZXMgZGUgb2JqZXRvcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjUzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDQKIG1zZ2lkICJpZ25vcmUgcGFja2VkIG9iamVjdHMiCiBtc2dzdHIgImlnbm9yYXIgb2JqZXRvcyBwYXF1ZXRlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NgogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG9iamVjdHMiCiBtc2dzdHIgImxpbWl0YXIgdmVudGFuYSBkZSBwYXF1ZXRlIHBvciBvYmpldG9zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0OAogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgImxpbWl0YXIgdmVudGFuYSBkZSBwYXF1ZXRlIHBvciBtZW1vcmlhIGVuIGFkaWNpw7NuIGEgbMOtbWl0ZSBkZSBvYmpldG9zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1MAogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICJsb25naXR1ZCBtw6F4aW1hIGRlIGNhZGVuYSBkZWx0YSBwZXJtaXRpZGEgZW4gZWwgcGFxdWV0ZSByZXN1bHRhbnRlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1MgogbXNnaWQgInJldXNlIGV4aXN0aW5nIGRlbHRhcyIKIG1zZ3N0ciAicmV1c2FyIGRlbHRhcyBleGlzdGVudGVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1NAogbXNnaWQgInJldXNlIGV4aXN0aW5nIG9iamVjdHMiCiBtc2dzdHIgInJldXRpbGl6YXIgb2JqZXRvcyBleGlzdGVudGVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1NgogbXNnaWQgInVzZSBPRlNfREVMVEEgb2JqZWN0cyIKIG1zZ3N0ciAidXNhciBvYmpldG9zIE9GU19ERUxUQSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjY3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTgKIG1zZ2lkICJ1c2UgdGhyZWFkcyB3aGVuIHNlYXJjaGluZyBmb3IgYmVzdCBkZWx0YSBtYXRjaGVzIgogbXNnc3RyICJ1c2FyIGhpbG9zIGN1YW5kbyBzZSBidXNxdWUgcGFyYSBtZWpvcmVzIGNvbmNvcmRhbmNpYXMgZGUgZGVsdGEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjYwCiBtc2dpZCAiZG8gbm90IGNyZWF0ZSBhbiBlbXB0eSBwYWNrIG91dHB1dCIKIG1zZ3N0ciAibm8gY3JlYXIgdW4gcGFxdWV0ZSByZXN1bHRhbnRlIHZhY8OtbyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjcxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjIKIG1zZ2lkICJyZWFkIHJldmlzaW9uIGFyZ3VtZW50cyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJsZWVyIGFyZ3VtZW50b3MgZGUgcmV2aXNpw7NuIGRlIHN0YW5kYXJkIGlucHV0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NAogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICJsaW1pdGFyIGxvcyBvYmpldG9zIGEgYXF1ZWxsb3MgcXVlIG5vIGhhbiBzaWRvIGVtcGFxdWV0YWRvcyB0b2RhdsOtYSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjc2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjcKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gYW55IHJlZmVyZW5jZSIKIG1zZ3N0ciAiaW5jbHVpciBvYmpldG9zIGFsY2FuemFibGVzIHBvciBjdWFscXVpZXIgcmVmZXJlbmNpYSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjc5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzAKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgYnkgcmVmbG9nIGVudHJpZXMiCiBtc2dzdHIgImluY2x1aXIgb2JqZXRvcyByZWZlcmlkb3MgcG9yIGVudHJhZGFzIGRlIHJlZmxvZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzMKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgdG8gYnkgdGhlIGluZGV4IgogbXNnc3RyICJpbmNsdWlyIG9iamV0b3MgcmVmZXJpZG9zIHBvciBlbCDDrW5kaWNlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3NgogbXNnaWQgIm91dHB1dCBwYWNrIHRvIHN0ZG91dCIKIG1zZ3N0ciAibW9zdHJhciBwYXF1ZXRlIGVuIHN0ZG91dCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzgKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgImluY2x1aXIgb2JqZXRvcyB0YWcgcXVlIHJlZmllcmVuIGEgb2JqZXRvcyBhIHNlciBlbXBhcXVldGFkb3MiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgwCiBtc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJtYW50ZW5lciBvYmpldG9zIGluYWxjYW56YWJsZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgyCiBtc2dpZCAicGFjayBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJlbXBhcXVldGFyIG9iamV0b3Mgc3VlbHRvcyBpbmFsY2FuemFibGVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4NAogbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgogbXNnc3RyICJkZXNlbXBhcXVldGFyIG9iamV0b3MgaW5hbGNhbnphYmxlcyBtw6FzIG51ZXZvcyBxdWUgPHRpZW1wbz4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg3Cittc2dpZCAidXNlIHRoZSBzcGFyc2UgcmVhY2hhYmlsaXR5IGFsZ29yaXRobSIKK21zZ3N0ciAidXNhciBlbCBhbGdvcml0bW8gc3BhcnNlIHJlYWNoYWJpbGl0eSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg5CiBtc2dpZCAiY3JlYXRlIHRoaW4gcGFja3MiCiBtc2dzdHIgImNyZWFyIHBhcXVldGVzIGRlbGdhZG9zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MQogbXNnaWQgImNyZWF0ZSBwYWNrcyBzdWl0YWJsZSBmb3Igc2hhbGxvdyBmZXRjaGVzIgogbXNnc3RyICJjcmVhciBwYXF1ZXRlcyBhZGVjdWFkb3MgcGFyYSBmZXRjaGVzIHN1cGVyZmljaWFsZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwMAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjkzCiBtc2dpZCAiaWdub3JlIHBhY2tzIHRoYXQgaGF2ZSBjb21wYW5pb24gLmtlZXAgZmlsZSIKIG1zZ3N0ciAiaWdub3JhciBwYXF1ZXRlcyBxdWUgdGllbmVuIHVuIGFyY2hpdm8gLmtlZXAgYWNvbXBhw7FhbnRlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5NQogbXNnaWQgImlnbm9yZSB0aGlzIHBhY2siCiBtc2dzdHIgImlnbm9yYXIgZXN0ZSBwYXF1ZXRlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5NwogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgIm5pdmVsIGRlIGNvbXByZXNpw7NuIGRlbCBwYXF1ZXRlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5OQogbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgogbXNnc3RyICJubyBvY3VsdGFyIGNvbW1pdHMgcG9yIGluamVydG9zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwMQogbXNnaWQgInVzZSBhIGJpdG1hcCBpbmRleCBpZiBhdmFpbGFibGUgdG8gc3BlZWQgdXAgY291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogInVzYXIgdW4gw61uZGljZSBiaXRtYXAgc2kgZXN0w6EgZGlzcG9uaWJsZSBwYXJhIGFjZWxlcmFyIGxhIGN1ZW50YSBkZSBvYmpldG9zIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwMwogbXNnaWQgIndyaXRlIGEgYml0bWFwIGluZGV4IHRvZ2V0aGVyIHdpdGggdGhlIHBhY2sgaW5kZXgiCiBtc2dzdHIgImVzY3JpYmlyIHVuIMOtbmRpY2UgZGUgYml0bWFwIGp1bnRvIGFsIMOtbmRpY2UgZGUgcGFxdWV0ZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDcKK21zZ2lkICJ3cml0ZSBhIGJpdG1hcCBpbmRleCBpZiBwb3NzaWJsZSIKK21zZ3N0ciAiZXNjcmliaXIgdW4gw61uZGljZSBkZSBiaXRtYXAgc2kgZXMgcG9zaWJsZSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzExCiBtc2dpZCAiaGFuZGxpbmcgZm9yIG1pc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAibWFuZWpvIGRlIG9iamV0b3MgcGVyZGlkb3MiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxNgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzE0CiBtc2dpZCAiZG8gbm90IHBhY2sgb2JqZWN0cyBpbiBwcm9taXNvciBwYWNrZmlsZXMiCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGVtcGFxdWV0YXIgb2JqZXRvcyBlbiBwYWNrZmlsZXMgcHJvbWlzb3JlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzE4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTYKIG1zZ2lkICJyZXNwZWN0IGlzbGFuZHMgZHVyaW5nIGRlbHRhIGNvbXByZXNzaW9uIgogbXNnc3RyICJyZXNwZXRhciBpc2xhcyBkdXJhbnRlIGxhIGNvbXByZXNpw7NuIGRlbHRhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzNDIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWx0YSBjaGFpbiBkZXB0aCAlZCBpcyB0b28gZGVlcCwgZm9yY2luZyAlZCIKIG1zZ3N0ciAicHJvZnVuZGlkYWQgZGUgY2FkZW5hIGRlIGRlbHRhICVkIGVzIG11eSBwcm9mdW5kYSwgZm9yemFuZG8gJWQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2suZGVsdGFDYWNoZUxpbWl0IGlzIHRvbyBoaWdoLCBmb3JjaW5nICVkIgogbXNnc3RyICJwYWNrLmRlbHRhQ2FjaGVMaW1pdCBlcyBtdXkgZ3JhbmRlLCBmb3J6YW5kbyAlZCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDQKIG1zZ2lkICItLW1heC1wYWNrLXNpemUgY2Fubm90IGJlIHVzZWQgdG8gYnVpbGQgYSBwYWNrIGZvciB0cmFuc2ZlciIKIG1zZ3N0ciAiIgogIi0tbWF4LXBhY2stc2l6ZSBubyBwdWVkZSBzZXIgdXNhZG8gcGFyYSBjb25zdHJ1aXIgdW4gcGFxdWV0ZSBwYXJhICIKICJ0cmFuc2ZlcmVuY2lhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwNgogbXNnaWQgIm1pbmltdW0gcGFjayBzaXplIGxpbWl0IGlzIDEgTWlCIgogbXNnc3RyICJ0YW1hw7FvIG3DrW5pbW8gZGVsIHBhcXVldGUgZXMgMSBNaUIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwOAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDExCiBtc2dpZCAiLS10aGluIGNhbm5vdCBiZSB1c2VkIHRvIGJ1aWxkIGFuIGluZGV4YWJsZSBwYWNrIgogbXNnc3RyICItLXRoaW4gbm8gcHVlZGUgc2VyIHVzYWRvIHBhcmEgY29uc3RydWlyIHVuIHBhcXVldGUgaW5kZXhhYmxlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQxNAogbXNnaWQgIi0ta2VlcC11bnJlYWNoYWJsZSBhbmQgLS11bnBhY2stdW5yZWFjaGFibGUgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1rZWVwLXVucmVhY2hhYmxlIHkgLS11bnBhY2stdW5yZWFjaGFibGUgc29uIGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQxNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDIwCiBtc2dpZCAiY2Fubm90IHVzZSAtLWZpbHRlciB3aXRob3V0IC0tc3Rkb3V0IgogbXNnc3RyICJubyBzZSBwdWVkZSB1c2FyLS1maWx0ZXIgc2luIC0tc3Rkb3V0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0NzYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQ4MQogbXNnaWQgIkVudW1lcmF0aW5nIG9iamVjdHMiCiBtc2dzdHIgIkVudW1lcmFuZG8gb2JqZXRvcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDk1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM1MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVG90YWwgJTxQUkl1MzI+IChkZWx0YSAlPFBSSXUzMj4pLCByZXVzZWQgJTxQUkl1MzI+IChkZWx0YSAlPFBSSXUzMj4pIgogbXNnc3RyICJUb3RhbCAlPFBSSXUzMj4gKGRlbHRhICU8UFJJdTMyPiksIHJldXNhZG8gJTxQUkl1MzI+IChkZWx0YSAlPFBSSXUzMj4pIgogCi0jOiBidWlsdGluL3BhY2stcmVmcy5jOjcKKyM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6OAogbXNnaWQgImdpdCBwYWNrLXJlZnMgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBwYWNrLXJlZnMgWzxvcGNpb25lcz5dIgogCi0jOiBidWlsdGluL3BhY2stcmVmcy5jOjE1CisjOiBidWlsdGluL3BhY2stcmVmcy5jOjE2CiBtc2dpZCAicGFjayBldmVyeXRoaW5nIgogbXNnc3RyICJlbXBhcXVldGFyIHRvZG8iCiAKLSM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTYKKyM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTcKIG1zZ2lkICJwcnVuZSBsb29zZSByZWZzIChkZWZhdWx0KSIKIG1zZ3N0ciAicmVjb3J0YXIgcmVmcyBwZXJkaWRvcyAoZGVmYXVsdCkiCiAKQEAgLTE0MzI1LDgyICsxNzA2Nyw4MiBAQAogbXNnaWQgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tcHJvZ3Jlc3NdIFstLWV4cGlyZSA8dGltZT5dIFstLV0gWzxoZWFkPi4uLl0iCiBtc2dzdHIgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tcHJvZ3Jlc3NdIFstLWV4cGlyZSA8dGllbXBvPl0gWy0tXSBbPGhlYWQ+Li4uXSIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjEwOQorIzogYnVpbHRpbi9wcnVuZS5jOjEzMQogbXNnaWQgInJlcG9ydCBwcnVuZWQgb2JqZWN0cyIKIG1zZ3N0ciAicmVwb3J0YXIgb2JqZXRvcyByZWNvcnRhZG9zIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTEyCisjOiBidWlsdGluL3BydW5lLmM6MTM0CiBtc2dpZCAiZXhwaXJlIG9iamVjdHMgb2xkZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgImV4cGlyYXIgb2JqZXRvcyBtw6FzIHZpZWpvcyBhIDx0aWVtcG8+IgogCi0jOiBidWlsdGluL3BydW5lLmM6MTE0CisjOiBidWlsdGluL3BydW5lLmM6MTM2CiBtc2dpZCAibGltaXQgdHJhdmVyc2FsIHRvIG9iamVjdHMgb3V0c2lkZSBwcm9taXNvciBwYWNrZmlsZXMiCiBtc2dzdHIgImxpbWl0YXIgZWwgcmVjb3JyaWRvIGEgb2JqZXRvcyBmdWVyYSBkZSBsb3MgcGFxdWV0ZXMgZGVsIHByb21pc29yIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTI5CisjOiBidWlsdGluL3BydW5lLmM6MTUwCiBtc2dpZCAiY2Fubm90IHBydW5lIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICJubyBzZSBwdWVkZSByZWNvcnRhciBlbiB1biByZXBvc2l0b3JpbyBkZSBvYmpldG9zLXByZWNpb3NvcyIKIAotIzogYnVpbHRpbi9wdWxsLmM6NjAgYnVpbHRpbi9wdWxsLmM6NjIKKyM6IGJ1aWx0aW4vcHVsbC5jOjY2IGJ1aWx0aW4vcHVsbC5jOjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKIG1zZ3N0ciAiVmFsb3IgaW52w6FsaWRvIHBhcmEgJXM6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MgorIzogYnVpbHRpbi9wdWxsLmM6ODgKIG1zZ2lkICJnaXQgcHVsbCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiIgogImdpdCBwdWxsIFs8b3BjaW9uZXM+XSBbPHJlcG9zaXRvcmlvPiBbPGVzcGVjaWZpY2FjacOzbi1kZS1yZWZlcmVuY2lhPi4uLl1dIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjE0MgogbXNnaWQgImNvbnRyb2wgZm9yIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICJjb250cm9sIGRlIGZldGNoIHJlY3Vyc2l2byBlbiBzdWJtw7NkdWxvcyIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTM3CisjOiBidWlsdGluL3B1bGwuYzoxNDYKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gbWVyZ2luZyIKIG1zZ3N0ciAiT3BjaW9uZXMgcmVsYWNpb25hZGFzIGEgZnVzacOzbiIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTQwCisjOiBidWlsdGluL3B1bGwuYzoxNDkKIG1zZ2lkICJpbmNvcnBvcmF0ZSBjaGFuZ2VzIGJ5IHJlYmFzaW5nIHJhdGhlciB0aGFuIG1lcmdpbmciCiBtc2dzdHIgImluY29ycG9yYXIgY2FtYmlvcyBwb3IgcmViYXNlIGVuIGx1Z2FyIGRlIGZ1c2nDs24iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE2NyBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNDcgYnVpbHRpbi9yZXZlcnQuYzoxMjIKKyM6IGJ1aWx0aW4vcHVsbC5jOjE3NyBidWlsdGluL3JlYmFzZS5jOjQ2NyBidWlsdGluL3JldmVydC5jOjEyNgogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAicGVybWl0aXIgZmFzdC1mb3J3YXJkIgogCi0jOiBidWlsdGluL3B1bGwuYzoxNzYKKyM6IGJ1aWx0aW4vcHVsbC5jOjE4NgogbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIgcmViYXNlIgogbXNnc3RyICJlamVjdXRhciBhdXRvbcOhdGljYW1lbnRlIHN0YXNoL3N0YXNoIHBvcCBhbnRlcyB5IGRlc3B1w6lzIGRlIHJlYmFzZSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTkyCisjOiBidWlsdGluL3B1bGwuYzoyMDIKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gZmV0Y2hpbmciCiBtc2dzdHIgIk9wY2lvbmVzIHJlbGFjaW9uYWRhcyBhIGZldGNoIgogCi0jOiBidWlsdGluL3B1bGwuYzoyMDIKKyM6IGJ1aWx0aW4vcHVsbC5jOjIxMgogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCiBtc2dzdHIgImZvcnphciBzb2JyZXNjcml0dXJhIGRlIGxhIHJhbWEgbG9jYWwiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjIxMAorIzogYnVpbHRpbi9wdWxsLmM6MjIwCiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgcHVsbGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJuw7ptZXJvIGRlIHN1Ym3Ds2R1bG9zIHF1ZSByZWFsaXphbiBwdWxsIGVuIHBhcmFsZWxvIgogCi0jOiBidWlsdGluL3B1bGwuYzozMDUKKyM6IGJ1aWx0aW4vcHVsbC5jOjMyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciBwdWxsLmZmOiAlcyIKIG1zZ3N0ciAiVmFsb3IgaW52w6FsaWRvIHBhcmEgcHVsbC5mZjogJXMiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyMQorIzogYnVpbHRpbi9wdWxsLmM6NDM3CiBtc2dpZCAiIgogIlRoZXJlIGlzIG5vIGNhbmRpZGF0ZSBmb3IgcmViYXNpbmcgYWdhaW5zdCBhbW9uZyB0aGUgcmVmcyB0aGF0IHlvdSBqdXN0ICIKICJmZXRjaGVkLiIKIG1zZ3N0ciAiTm8gaGF5IGNhbmRpZGF0byBwYXJhIHJlYmFzYXIgZW50cmUgbGFzIHJlZnMgcXVlIGhhcyBiYWphZG8gY29uIGZldGNoLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDIzCisjOiBidWlsdGluL3B1bGwuYzo0MzkKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIG5vIGNhbmRpZGF0ZXMgZm9yIG1lcmdpbmcgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCBmZXRjaGVkLiIKIG1zZ3N0ciAiIgogIk5vIGhheSBjYW5kaWRhdG9zIHBhcmEgZnVzaW9uYXIgZW50cmUgbGFzIHJlZnMgcXVlIGhhcyBiYWphZG8gY29uIGZldGNoLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDI0CisjOiBidWlsdGluL3B1bGwuYzo0NDAKIG1zZ2lkICIiCiAiR2VuZXJhbGx5IHRoaXMgbWVhbnMgdGhhdCB5b3UgcHJvdmlkZWQgYSB3aWxkY2FyZCByZWZzcGVjIHdoaWNoIGhhZCBub1xuIgogIm1hdGNoZXMgb24gdGhlIHJlbW90ZSBlbmQuIgpAQCAtMTQ0MDksNyArMTcxNTEsNyBAQAogInRpZW5lXG4iCiAiY29uY29yZGFuY2lhIGVuIGVsIGZpbmFsIHJlbW90by4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyNworIzogYnVpbHRpbi9wdWxsLmM6NDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gcHVsbCBmcm9tIHRoZSByZW1vdGUgJyVzJywgYnV0IGRpZCBub3Qgc3BlY2lmeVxuIgpAQCAtMTQ0MjAsNDQgKzE3MTYyLDQ0IEBACiAidW5hIHJhbWEuIFBvcnF1ZSBlc3RlIG5vIGVzIGVsIHJlbW90byBjb25maWd1cmFkbyBwb3IgZGVmYXVsdFxuIgogInBhcmEgdHUgcmFtYSBhY3R1YWwsIHRpZW5lcyBxdWUgZXNwZWNpZmljYXIgdW5hIHJhbWEgZW4gbGEgbMOtbmVhIGRlIGNvbWFuZG8uIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzIgYnVpbHRpbi9yZWJhc2UuYzo3NjEgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MworIzogYnVpbHRpbi9wdWxsLmM6NDQ4IGJ1aWx0aW4vcmViYXNlLmM6MTM3NSBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCiBtc2dpZCAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLiIKIG1zZ3N0ciAiTm8gdGUgZW5jdWVudHJhcyBhY3R1YWxtZW50ZSBlbiBsYSByYW1hLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM0IGJ1aWx0aW4vcHVsbC5jOjQ0OSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CisjOiBidWlsdGluL3B1bGwuYzo0NTAgYnVpbHRpbi9wdWxsLmM6NDY1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gcmViYXNlIGFnYWluc3QuIgogbXNnc3RyICJQb3IgZmF2b3IgZXNwZWNpZmljYSBhIHF1w6kgcmFtYSBxdWllcmVzIHJlYmFzYXIuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzYgYnVpbHRpbi9wdWxsLmM6NDUxIGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1MiBidWlsdGluL3B1bGwuYzo0NjcgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgogbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byBtZXJnZSB3aXRoLiIKIG1zZ3N0ciAiUG9yIGZhdm9yIGVzcGVjaWZpY2EgYSBxdcOpIHJhbWEgcXVpZXJlcyBmdXNpb25hci4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzNyBidWlsdGluL3B1bGwuYzo0NTIKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1MyBidWlsdGluL3B1bGwuYzo0NjgKIG1zZ2lkICJTZWUgZ2l0LXB1bGwoMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICJWZXIgZ2l0LXB1bGwoMSkgcGFyYSBkZXRhbGxlcy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzOSBidWlsdGluL3B1bGwuYzo0NDUgYnVpbHRpbi9wdWxsLmM6NDU0Ci0jOiBidWlsdGluL3JlYmFzZS5jOjc2NyBnaXQtcGFyc2UtcmVtb3RlLnNoOjY0CisjOiBidWlsdGluL3B1bGwuYzo0NTUgYnVpbHRpbi9wdWxsLmM6NDYxIGJ1aWx0aW4vcHVsbC5jOjQ3MAorIzogYnVpbHRpbi9yZWJhc2UuYzoxMzgxIGdpdC1wYXJzZS1yZW1vdGUuc2g6NjQKIG1zZ2lkICI8cmVtb3RlPiIKIG1zZ3N0ciAiPHJlbW90bz4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzOSBidWlsdGluL3B1bGwuYzo0NTQgYnVpbHRpbi9wdWxsLmM6NDU5Ci0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1NTYgZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NQorIzogYnVpbHRpbi9wdWxsLmM6NDU1IGJ1aWx0aW4vcHVsbC5jOjQ3MCBidWlsdGluL3B1bGwuYzo0NzUKKyM6IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjUKIG1zZ2lkICI8YnJhbmNoPiIKIG1zZ3N0ciAiPHJhbWE+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0NDcgYnVpbHRpbi9yZWJhc2UuYzo3NTkgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQorIzogYnVpbHRpbi9wdWxsLmM6NDYzIGJ1aWx0aW4vcmViYXNlLmM6MTM3MyBnaXQtcGFyc2UtcmVtb3RlLnNoOjc1CiBtc2dpZCAiVGhlcmUgaXMgbm8gdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIk5vIGhheSBpbmZvcm1hY2nDs24gZGUgcmFzdHJlbyBwYXJhIGxhIHJhbWEgYWN0dWFsLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDU2IGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ3MiBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNldCB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhpcyBicmFuY2ggeW91IGNhbiBkbyBzbyB3aXRoOiIKIG1zZ3N0ciAiIgogIlNpIGRlc2VhcyBjb25maWd1cmFyIGVsIHJhc3RyZW8gZGUgaW5mb3JtYWNpw7NuIHBhcmEgZXN0YSByYW1hLCBwdWVkZXMgIgogImhhY2VybG8gY29uOiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDYxCisjOiBidWlsdGluL3B1bGwuYzo0NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgY29uZmlndXJhdGlvbiBzcGVjaWZpZXMgdG8gbWVyZ2Ugd2l0aCB0aGUgcmVmICclcydcbiIKQEAgLTE0NDY2LDMyICsxNzIwOCwzMiBAQAogIlR1IGNvbmZpZ3VyYWNpw7NuIGVzcGVjaWZpY2EgZnVzaW9uYXIgY29uIGxhIHJlZiAnJXMnXG4iCiAiZGUgdHUgcmVtb3RvLCBwZXJvIG5vIHNlIHB1ZG8gaGFjZXIgZmV0Y2ggYSBlc2EgcmVmLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NTY1CisjOiBidWlsdGluL3B1bGwuYzo1ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyBjb21taXQgJXMiCiBtc2dzdHIgIm5vIGVzIHBvc2libGUgYWNjZWRlciBhbCBjb21taXQgJXMiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg0MworIzogYnVpbHRpbi9wdWxsLmM6ODY3CiBtc2dpZCAiaWdub3JpbmcgLS12ZXJpZnktc2lnbmF0dXJlcyBmb3IgcmViYXNlIgogbXNnc3RyICJpZ25vcmFuZG8gLS12ZXJpZnktc2lnbmF0dXJlcyBwYXJhIHJlYmFzZSIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODkxCisjOiBidWlsdGluL3B1bGwuYzo5MjIKIG1zZ2lkICItLVtuby1dYXV0b3N0YXNoIG9wdGlvbiBpcyBvbmx5IHZhbGlkIHdpdGggLS1yZWJhc2UuIgogbXNnc3RyICJMYSBvcGNpw7NuIC0tW25vLV1hdXRvc3Rhc2ggc8OzbG8gZXMgdsOhbGlkYSBjb24gLS1yZWJhc2UuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4OTkKKyM6IGJ1aWx0aW4vcHVsbC5jOjkzMAogbXNnaWQgIlVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleC4iCiBtc2dzdHIgIkFjdHVhbGl6YW5kbyB1bmEgcmFtYSBubyBuYXRhIGNvbiBjYW1iaW9zIGFncmVnYWRvcyBhbCDDrW5kaWNlLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTAyCisjOiBidWlsdGluL3B1bGwuYzo5MzQKIG1zZ2lkICJwdWxsIHdpdGggcmViYXNlIgogbXNnc3RyICJwdWxsIGNvbiByZWJhc2UiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkwMworIzogYnVpbHRpbi9wdWxsLmM6OTM1CiBtc2dpZCAicGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAicG9yIGZhdm9yIHJlYWxpemEgdW4gY29tbWl0IG8gdW4gc3Rhc2ggY29uIGVsbG9zLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTI4CisjOiBidWlsdGluL3B1bGwuYzo5NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC0xNDUwMiw3ICsxNzI0NCw3IEBACiAicmVhbGl6YW5kbyBmYXN0LWZvcndhcmQgYWwgw6FyYm9sIGRlIHRyYWJham9cbiIKICJkZXNkZSBjb21taXQgJXMuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MzQKKyM6IGJ1aWx0aW4vcHVsbC5jOjk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGZhc3QtZm9yd2FyZCB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTE0NTE5LDE1ICsxNzI2MSwxNSBAQAogIiQgZ2l0IHJlc2V0IC0taGFyZFxuIgogInBhcmEgcmVjdXBlcmFyLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTQ5CisjOiBidWlsdGluL3B1bGwuYzo5ODEKIG1zZ2lkICJDYW5ub3QgbWVyZ2UgbXVsdGlwbGUgYnJhbmNoZXMgaW50byBlbXB0eSBoZWFkLiIKIG1zZ3N0ciAiTm8gc2UgcHVlZGUgZnVzaW9uYXIgbcO6bHRpcGxlcyByYW1hcyBlbiB1biBoZWFkIHZhY8Otby4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjk1MworIzogYnVpbHRpbi9wdWxsLmM6OTg1CiBtc2dpZCAiQ2Fubm90IHJlYmFzZSBvbnRvIG11bHRpcGxlIGJyYW5jaGVzLiIKIG1zZ3N0ciAiTm8gc2UgcHVlZGUgcmViYXNhciBlbiBtw7psdGlwbGVzIHJhbWFzLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTYwCisjOiBidWlsdGluL3B1bGwuYzo5OTIKIG1zZ2lkICJjYW5ub3QgcmViYXNlIHdpdGggbG9jYWxseSByZWNvcmRlZCBzdWJtb2R1bGUgbW9kaWZpY2F0aW9ucyIKIG1zZ3N0ciAiIgogIm5vIHNlIHB1ZWRlIHJlYmFzYXIgY29uIG1vZGlmaWNhY2lvbmVzIGRlIHN1Ym3Ds2R1bG9zIGdyYWJhZGFzIGxvY2FsbWVudGUiCkBAIC0xNDUzNywxNSArMTcyNzksMTUgQEAKIG1zZ3N0ciAiIgogImdpdCBwdXNoIFs8b3BjaW9uZXM+XSBbPHJlcG9zaXRvcmlvPiBbPGVzcGVjaWZpY2FjaW9uZXMtZGUtcmVmZXJlbmNpYT4uLi5dXSIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTExCisjOiBidWlsdGluL3B1c2guYzoxMTIKIG1zZ2lkICJ0YWcgc2hvcnRoYW5kIHdpdGhvdXQgPHRhZz4iCiBtc2dzdHIgInRhcXVpZ3JhZsOtYSBkZSB0YWcgc2luIDx0YWc+IgogCi0jOiBidWlsdGluL3B1c2guYzoxMjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjEyMgogbXNnaWQgIi0tZGVsZXRlIG9ubHkgYWNjZXB0cyBwbGFpbiB0YXJnZXQgcmVmIG5hbWVzIgogbXNnc3RyICItLWRlbGV0ZSBzb2xvIGFjZXB0YSBjb21vIG9iamV0aXZvcyBub21icmVzIGRlIHJlZiBwbGFub3MiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE2NQorIzogYnVpbHRpbi9wdXNoLmM6MTY4CiBtc2dpZCAiIgogIlxuIgogIlRvIGNob29zZSBlaXRoZXIgb3B0aW9uIHBlcm1hbmVudGx5LCBzZWUgcHVzaC5kZWZhdWx0IGluICdnaXQgaGVscCBjb25maWcnLiIKQEAgLTE0NTU0LDcgKzE3Mjk2LDcgQEAKICJQYXJhIGVsZWdpciBzaSBsYSBvcGNpw7NuIGVzIHBlcm1hbmVudGUsIG1pcmEgcHVzaC5kZWZhdWx0IGVuICdnaXQgaGVscCAiCiAiY29uZmlnJy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE2OAorIzogYnVpbHRpbi9wdXNoLmM6MTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgdXBzdHJlYW0gYnJhbmNoIG9mIHlvdXIgY3VycmVudCBicmFuY2ggZG9lcyBub3QgbWF0Y2hcbiIKQEAgLTE0NTc5LDcgKzE3MzIxLDcgQEAKICIgICAgZ2l0IHB1c2ggJXMgSEVBRFxuIgogIiVzIgogCi0jOiBidWlsdGluL3B1c2guYzoxODMKKyM6IGJ1aWx0aW4vcHVzaC5jOjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLlxuIgpAQCAtMTQ1OTQsNyArMTczMzYsNyBAQAogIlxuIgogIlx0Z2l0IHB1c2ggJXMgSEVBRDo8bm9tYnJlLWRlLXJhbWEtcmVtb3RhPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzoxOTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBubyB1cHN0cmVhbSBicmFuY2guXG4iCkBAIC0xNDYwOCwyOSArMTczNTAsMjkgQEAKICJcbiIKICJcdGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIwNQorIzogYnVpbHRpbi9wdXNoLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbXVsdGlwbGUgdXBzdHJlYW0gYnJhbmNoZXMsIHJlZnVzaW5nIHRvIHB1c2guIgogbXNnc3RyICJMYSByYW1hIGFjdHVhbCAlcyB0aWVuZSBtw7psdGlwbGVzIHJhbWFzIHVwc3RyZWFtLCByZWNoYXphbmRvIGVsIHB1c2guIgogCi0jOiBidWlsdGluL3B1c2guYzoyMDgKKyM6IGJ1aWx0aW4vcHVzaC5jOjIxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBwdXNoaW5nIHRvIHJlbW90ZSAnJXMnLCB3aGljaCBpcyBub3QgdGhlIHVwc3RyZWFtIG9mXG4iCiAieW91ciBjdXJyZW50IGJyYW5jaCAnJXMnLCB3aXRob3V0IHRlbGxpbmcgbWUgd2hhdCB0byBwdXNoXG4iCiAidG8gdXBkYXRlIHdoaWNoIHJlbW90ZSBicmFuY2guIgogbXNnc3RyICIiCi0iRXN0w6EgaGFjaWVuZG8gdW4gcHVzaCBhbCByZW1vdG8gJyVzJywgZWwgY3VhbCBubyBlcyBlbCB1cHN0cmVhbSBkZVxuIgotInN1IHJhbWEgYWN0dWFsICclcycsIHNpbiBkZWNpcm1lIHF1w6kgcG9uZXIgZW4gZWwgcHVzaFxuIgorIkVzdMOhcyBoYWNpZW5kbyB1biBwdXNoIGFsIHJlbW90byAnJXMnLCBlbCBjdWFsIG5vIGVzIGVsIHVwc3RyZWFtIGRlXG4iCisibGEgcmFtYSBhY3R1YWwgJyVzJywgc2luIGRlY2lybWUgcXXDqSBwb25lciBlbiBlbCBwdXNoXG4iCiAicGFyYSBhY3R1YWxpemFyIGVuIHF1w6kgcmFtYSBkZSByZW1vdG8uIgogCi0jOiBidWlsdGluL3B1c2guYzoyNjcKKyM6IGJ1aWx0aW4vcHVzaC5jOjI3MAogbXNnaWQgIiIKICJZb3UgZGlkbid0IHNwZWNpZnkgYW55IHJlZnNwZWNzIHRvIHB1c2gsIGFuZCBwdXNoLmRlZmF1bHQgaXMgXCJub3RoaW5nXCIuIgogbXNnc3RyICIiCiAiTm8gc2UgZXNwZWNpZmljw7MgbmluZ8O6biByZWZzcGVjcyBwYXJhIGhhY2VyIHB1c2gsIHkgcHVzaC5kZWZhdWx0IGVzIFwibmFkYVwiLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mjc0CisjOiBidWlsdGluL3B1c2guYzoyNzcKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRpcCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGlzIGJlaGluZFxuIgogIml0cyByZW1vdGUgY291bnRlcnBhcnQuIEludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXMgKGUuZy5cbiIKQEAgLTE0NjQwLDkgKzE3MzgyLDkgQEAKICJBY3R1YWxpemFjaW9uZXMgZnVlcm9uIHJlY2hhemFkYXMgcG9ycXVlIGxhIHB1bnRhIGRlIHR1IHJhbWEgYWN0dWFsIGVzdMOhXG4iCiAiZGV0csOhcyBkZSBzdSBjb250cmFwYXJ0ZSByZW1vdGEuIEludGVncmEgbG9zIGNhbWJpb3MgcmVtb3RvcyAoZXMgZGVjaXJcbiIKICInZ2l0IHB1bGwgLi4uJykgYW50ZXMgZGUgaGFjZXIgcHVzaCBkZSBudWV2by5cbiIKLSJNaXJhICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGVuICdnaXQgcHVzaCAtLWhlbHAnIHBhcmEgbWFzIGRldGFsbGVzLiIKKyJNaXJhICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGVuICdnaXQgcHVzaCAtLWhlbHAnIHBhcmEgbcOhcyBkZXRhbGxlcy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI4MAorIzogYnVpbHRpbi9wdXNoLmM6MjgzCiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIGEgcHVzaGVkIGJyYW5jaCB0aXAgaXMgYmVoaW5kIGl0cyByZW1vdGVcbiIKICJjb3VudGVycGFydC4gQ2hlY2sgb3V0IHRoaXMgYnJhbmNoIGFuZCBpbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzXG4iCkBAIC0xNDY1NSw3ICsxNzM5Nyw3IEBACiAiKGVqZW0uICdnaXQgcHVsbCAuLi4nKSBhbnRlcyBkZSB2b2x2ZXIgYSBoYWNlciBwdXNoLlxuIgogIlZlYSBsYXMgJ05vdGVzIGFib3V0IGZhc3QtZm9yd2FyZHMnIGVuICdnaXQgcHVzaCAtLWhlbHAnIHBhcmEgbcOhcyBkZXRhbGxlcy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI4NgorIzogYnVpbHRpbi9wdXNoLmM6Mjg5CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgogIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKQEAgLTE0NjY5LDM3ICsxNzQxMSwxMTQgQEAKICJyZW1vdG9zIChlai4gJ2dpdCBwdWxsIC4uLicpIGFudGVzIGRlIHZvbHZlciBhIGhhY2VyIHB1c2guXG4iCiAiVmVhICdOb3RlcyBhYm91dCBmYXN0LWZvcndhcmRzMCBlbiAnZ2l0IHB1c2ggLS1oZWxwJyBwYXJhIGRldGFsbGVzLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjkzCisjOiBidWlsdGluL3B1c2guYzoyOTYKIG1zZ2lkICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGFnIGFscmVhZHkgZXhpc3RzIGluIHRoZSByZW1vdGUuIgogbXNnc3RyICIiCiAiQWN0dWFsaXphY2lvbmVzIGZ1ZXJvbiByZWNoYXphZGFzIHBvcnF1ZSBlbCB0YWcgeWEgZXhpc3RlIGVuIGVsIHJlbW90by4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI5NgorIzogYnVpbHRpbi9wdXNoLmM6Mjk5CiBtc2dpZCAiIgogIllvdSBjYW5ub3QgdXBkYXRlIGEgcmVtb3RlIHJlZiB0aGF0IHBvaW50cyBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgogIm9yIHVwZGF0ZSBhIHJlbW90ZSByZWYgdG8gbWFrZSBpdCBwb2ludCBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgogIndpdGhvdXQgdXNpbmcgdGhlICctLWZvcmNlJyBvcHRpb24uXG4iCiBtc2dzdHIgIiIKLSJObyBwdWVkZSBhY3R1YWxpemFyIHVuIHJlZiByZW1vdG8gcXVlIGFwdW50YSBhIHVuIG9iamV0byBuby1jb21taXQsXG4iCisiTm8gc2UgcHVlZGUgYWN0dWFsaXphciB1biByZWYgcmVtb3RvIHF1ZSBhcHVudGEgYSB1biBvYmpldG8gbm8tY29tbWl0LFxuIgogIm8gYWN0dWFsaXphciB1biByZWYgcmVtb3RvIHBhcmEgaGFjZXIgcXVlICBhcHVudGUgYSB1biBvYmpldG8gbm8tY29tbWl0LFxuIgogInNpbiB1c2FyIGxhIG9wY2nDs24gJy0tZm9yY2UnLlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozNTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJQdXNoaW5nIHRvICVzXG4iCiBtc2dzdHIgIkhhY2llbmRvIHB1c2ggYSAlc1xuIgogCi0jOiBidWlsdGluL3B1c2guYzozNjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKIG1zZ3N0ciAiZmFsbMOzIGVsIHB1c2ggZGUgYWxndW5hcyByZWZlcmVuY2lhcyBhICclcyciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5NQorIzogYnVpbHRpbi9wdXNoLmM6NTQyCittc2dpZCAicmVwb3NpdG9yeSIKK21zZ3N0ciAicmVwb3NpdG9yaW8iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MyBidWlsdGluL3NlbmQtcGFjay5jOjE2NAorbXNnaWQgInB1c2ggYWxsIHJlZnMiCittc2dzdHIgInJlYWxpemFyIHB1c2ggYSB0b2RhcyBsYXMgcmVmcyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2Cittc2dpZCAibWlycm9yIGFsbCByZWZzIgorbXNnc3RyICJyZWFsaXphciBtaXJyb3IgYSB0b2RhcyBsYXMgcmVmcyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ2Cittc2dpZCAiZGVsZXRlIHJlZnMiCittc2dzdHIgImJvcnJhciByZWZzIgorCisjOiBidWlsdGluL3B1c2guYzo1NDcKK21zZ2lkICJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiCittc2dzdHIgInJlYWxpemFyIHB1c2ggYSB0YWdzIChubyBwdWVkZSBzZXIgdXNhZG8gY29uIC0tYWxsIG8gLS1taXJyb3IpIgorCisjOiBidWlsdGluL3B1c2guYzo1NTAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjcKK21zZ2lkICJmb3JjZSB1cGRhdGVzIgorbXNnc3RyICJmb3J6YXIgYWN0dWFsaXphY2lvbmVzIgorCisjOiBidWlsdGluL3B1c2guYzo1NTIgYnVpbHRpbi9zZW5kLXBhY2suYzoxODEKK21zZ2lkICI8cmVmbmFtZT46PGV4cGVjdD4iCittc2dzdHIgIjxyZWZuYW1lPjo8ZXhwZWN0PiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTUzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgyCittc2dpZCAicmVxdWlyZSBvbGQgdmFsdWUgb2YgcmVmIHRvIGJlIGF0IHRoaXMgdmFsdWUiCittc2dzdHIgInJlcXVpZXJlIGhhYmVyIHZhbG9yIHZpZWpvIGRlIHJlZiBlbiBlc3RlIHZhbG9yIgorCisjOiBidWlsdGluL3B1c2guYzo1NTYKK21zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCittc2dzdHIgImNvbnRyb2xhciBwdXNoIHJlY3Vyc2l2byBkZSBzdWJtw7NkdWxvcyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTU4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1Cittc2dpZCAidXNlIHRoaW4gcGFjayIKK21zZ3N0ciAidXNhciBlbXBhcXVldGFkbyBkZWxnYWRvIgorCisjOiBidWlsdGluL3B1c2guYzo1NTkgYnVpbHRpbi9wdXNoLmM6NTYwIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MgorbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgorbXNnc3RyICJyZWNpYmlyIHByb2dyYW1hIGRlIHBhcXVldGUiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2MQorbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIgorbXNnc3RyICJjb25maWd1cmFyIHVwc3RyZWFtIHBhcmEgZ2l0IHB1bGxsL3N0YXR1cyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTY0Cittc2dpZCAicHJ1bmUgbG9jYWxseSByZW1vdmVkIHJlZnMiCittc2dzdHIgInJlY29ydGFuZG8gcmVmcyBlbGltaW5hZGFzIGxvY2FsbWVudGUiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2NgorbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgorbXNnc3RyICJoYWNlciB1biBieXBhc3MgYWwgaG9vayBwcmUtcHVzaCIKKworIzogYnVpbHRpbi9wdXNoLmM6NTY3Cittc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgorbXNnc3RyICJyZWFsaXphciBwdXNoIGRlIHRhZ3MgZmFsdGFudGVzIHBlcm8gcmVsZXZhbnRlcyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTcwIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY5Cittc2dpZCAiR1BHIHNpZ24gdGhlIHB1c2giCittc2dzdHIgIkZpcm1hciBjb24gR1BHIGVsIHB1c2giCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MiBidWlsdGluL3NlbmQtcGFjay5jOjE3NgorbXNnaWQgInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIgorbXNnc3RyICJzb2xpY2l0YXIgdHJhbnNhY2Npw7NuIGF0w7NtaWNhIGVuIGVsIGxhZG8gcmVtb3RvIgorCisjOiBidWlsdGluL3B1c2guYzo1OTAKK21zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKK21zZ3N0ciAiLS1kZWxldGUgZXMgaW5jb21wYXRpYmxlIGNvbiAtLWFsbCwgLS1taXJyb3IgeSAtLXRhZ3MiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU5MgorbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgorbXNnc3RyICItLWRlbGV0ZSBubyB0aWVuZSBzZW50aWRvIHNpbiBuaW5ndW5hIHJlZmVyZW5jaWEiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjYxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgogbXNnc3RyICJtYWwgcmVwb3NpdG9yaW8gJyVzJyIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzk2CisjOiBidWlsdGluL3B1c2guYzo2MTMKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgogIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCkBAIC0xNDcyMSwxMDQgKzE3NTQwLDI3IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIDxub21icmU+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU1MQotbXNnaWQgInJlcG9zaXRvcnkiCi1tc2dzdHIgInJlcG9zaXRvcmlvIgotCi0jOiBidWlsdGluL3B1c2guYzo1NTIgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKLW1zZ2lkICJwdXNoIGFsbCByZWZzIgotbXNnc3RyICJyZWFsaXphciBwdXNoIGEgdG9kYXMgbGFzIHJlZnMiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1MyBidWlsdGluL3NlbmQtcGFjay5jOjE2NgotbXNnaWQgIm1pcnJvciBhbGwgcmVmcyIKLW1zZ3N0ciAicmVhbGl6YXIgbWlycm9yIGEgdG9kYXMgbGFzIHJlZnMiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1NQotbXNnaWQgImRlbGV0ZSByZWZzIgotbXNnc3RyICJib3JyYXIgcmVmcyIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTU2Ci1tc2dpZCAicHVzaCB0YWdzIChjYW4ndCBiZSB1c2VkIHdpdGggLS1hbGwgb3IgLS1taXJyb3IpIgotbXNnc3RyICJyZWFsaXphciBwdXNoIGEgdGFncyAobm8gcHVlZGUgc2VyIHVzYWRvIGNvbiAtLWFsbCBvIC0tbWlycm9yKSIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTU5IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY3Ci1tc2dpZCAiZm9yY2UgdXBkYXRlcyIKLW1zZ3N0ciAiZm9yemFyIGFjdHVhbGl6YWNpb25lcyIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTYxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgxCi1tc2dpZCAiPHJlZm5hbWU+OjxleHBlY3Q+IgotbXNnc3RyICI8cmVmbmFtZT46PGV4cGVjdD4iCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU2MiBidWlsdGluL3NlbmQtcGFjay5jOjE4MgotbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgotbXNnc3RyICJyZXF1aWVyZSBoYWJlciB2YWxvciB2aWVqbyBkZSByZWYgZW4gZXN0ZSB2YWxvciIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTY1Ci1tc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgotbXNnc3RyICJjb250cm9sYXIgcHVzaCByZWN1cnNpdm8gZGUgc3VibcOzZHVsb3MiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU2NyBidWlsdGluL3NlbmQtcGFjay5jOjE3NQotbXNnaWQgInVzZSB0aGluIHBhY2siCi1tc2dzdHIgInVzYXIgZW1wYXF1ZXRhZG8gZGVsZ2FkbyIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTY4IGJ1aWx0aW4vcHVzaC5jOjU2OSBidWlsdGluL3NlbmQtcGFjay5jOjE2MQotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKLW1zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKLW1zZ3N0ciAicmVjaWJpciBwcm9ncmFtYSBkZSBwYXF1ZXRlIgotCi0jOiBidWlsdGluL3B1c2guYzo1NzAKLW1zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL3N0YXR1cyIKLW1zZ3N0ciAiY29uZmlndXJhciB1cHN0cmVhbSBwYXJhIGdpdCBwdWxsbC9zdGF0dXMiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU3MwotbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgotbXNnc3RyICJyZWNvcnRhbmRvIHJlZnMgcmVtb3ZpZGFzIGxvY2FsbWVudGUiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU3NQotbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgotbXNnc3RyICJoYWNlciB1biBieXBhc3MgYWwgaG9vayBwcmUtcHVzaCIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTc2Ci1tc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgotbXNnc3RyICJyZWFsaXphciBwdXNoIGRlIHRhZ3MgZmFsdGFudGVzIHBlcm8gcmVsZXZhbnRlcyIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTc5IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY5Ci1tc2dpZCAiR1BHIHNpZ24gdGhlIHB1c2giCi1tc2dzdHIgIkZpcm1hciBjb24gR1BHIGVsIHB1c2giCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU4MSBidWlsdGluL3NlbmQtcGFjay5jOjE3NgotbXNnaWQgInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIgotbXNnc3RyICJzb2xpY2l0YXIgdHJhbnNhY2Npw7NuIGF0w7NtaWNhIGVuIGVsIGxhZG8gcmVtb3RvIgotCi0jOiBidWlsdGluL3B1c2guYzo1OTkKLW1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKLW1zZ3N0ciAiLS1kZWxldGUgZXMgaW5jb21wYXRpYmxlIGNvbiAtLWFsbCwgLS1taXJyb3IgeSAtLXRhZ3MiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjYwMQotbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgotbXNnc3RyICItLWRlbGV0ZSBubyB0aWVuZSBzZW50aWRvIHNpbiBuaW5ndW5hIHJlZmVyZW5jaWEiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjYwNAorIzogYnVpbHRpbi9wdXNoLmM6NjI4CiBtc2dpZCAiLS1hbGwgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCB5IC0tdGFncyBzb24gaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjA2CisjOiBidWlsdGluL3B1c2guYzo2MzAKIG1zZ2lkICItLWFsbCBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICItLWFsbCBubyBwdWVkZSBzZXIgY29tYmluYWRhIGNvbiByZWZzcGVjcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjEwCisjOiBidWlsdGluL3B1c2guYzo2MzQKIG1zZ2lkICItLW1pcnJvciBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tbWlycm9yIHkgLS10YWdzIHNvbiBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3B1c2guYzo2MTIKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzNgogbXNnaWQgIi0tbWlycm9yIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIi0tbWlycm9yIG5vIHB1ZWRlIHNlciBjb21iaW5hZG8gY29uIHJlZnNwZWNzIgogCi0jOiBidWlsdGluL3B1c2guYzo2MTUKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzOQogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCB5IC0tbWlycm9yIHNvbiBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3B1c2guYzo2MzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjY0MwogbXNnaWQgInB1c2ggb3B0aW9ucyBtdXN0IG5vdCBoYXZlIG5ldyBsaW5lIGNoYXJhY3RlcnMiCiBtc2dzdHIgIm9wY2lvbmVzIGRlIHB1c2ggbm8gcHVlZGVuIHRlbmVyIGNhcmFjdGVyZXMgZGUgbMOtbmVhIG51ZXZhIgogCkBAIC0xNDgzNiwyOCArMTc1NzgsMzYgQEAKIG1zZ2lkICJnaXQgcmFuZ2UtZGlmZiBbPG9wdGlvbnM+XSA8YmFzZT4gPG9sZC10aXA+IDxuZXctdGlwPiIKIG1zZ3N0ciAiZ2l0IHJhbmdlLWRpZmYgWzxvcGNpb25lcz5dIDxiYXNlPiA8cHVudGEtdmllamE+IDxwdW50YS1udWV2YT4iCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjIxCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyMgogbXNnaWQgIlBlcmNlbnRhZ2UgYnkgd2hpY2ggY3JlYXRpb24gaXMgd2VpZ2h0ZWQiCiBtc2dzdHIgIlBvcmNlbnRhamUgcG9yIGVsIGN1YWwgbGEgY3JlYWNpw7NuIGVzIHBlc2FkYSIKIAotIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjMKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjI0CiBtc2dpZCAidXNlIHNpbXBsZSBkaWZmIGNvbG9ycyIKIG1zZ3N0ciAidXNhciBjb2xvcmVzIHNpbXBsZXMgZGUgZGlmZiIKIAotIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NjEgYnVpbHRpbi9yYW5nZS1kaWZmLmM6NjUKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjI2Cittc2dpZCAibm90ZXMiCittc2dzdHIgIm5vdGFzIgorCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyNgorbXNnaWQgInBhc3NlZCB0byAnZ2l0IGxvZyciCittc2dzdHIgInBhc2FkbyBhICdnaXQgbG9nJyIKKworIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NTAgYnVpbHRpbi9yYW5nZS1kaWZmLmM6NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gLi4gaW4gcmFuZ2U6ICclcyciCiBtc2dzdHIgIm5vIC4uIGVuIHJhbmdvOiAnJXMnIgogCi0jOiBidWlsdGluL3JhbmdlLWRpZmYuYzo3NQorIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NjQKIG1zZ2lkICJzaW5nbGUgYXJnIGZvcm1hdCBtdXN0IGJlIHN5bW1ldHJpYyByYW5nZSIKIG1zZ3N0ciAiYXJndW1lbnRvIMO6bmljbyBkZSBmb3JtYXRvIGRlYmUgc2VyIHVuIHJhbmdvIHNpbcOpdHJpY28iCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjkwCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzo3OQogbXNnaWQgIm5lZWQgdHdvIGNvbW1pdCByYW5nZXMiCiBtc2dzdHIgInNlIG5lY2VzaXRhbiBkb3MgcmFuZ29zIGRlIGNvbW1pdHMiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDEKIG1zZ2lkICIiCiAiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxwcmVmaXg+KSAiCiAiWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLXNwYXJzZS1jaGVja291dF0gWy0tIgpAQCAtMTQ4NjgsMTE5ICsxNzYxOCwzMDYgQEAKICJzcGFyc2UtY2hlY2tvdXRdIFstLWluZGV4LW91dHB1dD08YXJjaGl2bz5dICgtLWVtcHR5IHwgPMOhcmJvbC1pc21vMT4gWzzDoXJib2wtIgogImlzbW8yPiBbPMOhcmJvbC1pc21vMz5dXSkiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNAogbXNnaWQgIndyaXRlIHJlc3VsdGluZyBpbmRleCB0byA8ZmlsZT4iCiBtc2dzdHIgImVzY3JpYmlyIMOtbmRpY2UgcmVzdWx0YW50ZSBlbiA8YXJjaGl2bz4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI2CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNwogbXNnaWQgIm9ubHkgZW1wdHkgdGhlIGluZGV4IgogbXNnc3RyICJzb2xvIHZhY2lhciBlbCDDrW5kaWNlIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjkKIG1zZ2lkICJNZXJnaW5nIgogbXNnc3RyICJGdXNpb25hbmRvIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzEKIG1zZ2lkICJwZXJmb3JtIGEgbWVyZ2UgaW4gYWRkaXRpb24gdG8gYSByZWFkIgogbXNnc3RyICJyZWFsaXphciB1biBtZXJnZSBlbiBhZGljacOzbiBhIHVuYSBsZWN0dXJhIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMgorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzMKIG1zZ2lkICIzLXdheSBtZXJnZSBpZiBubyBmaWxlIGxldmVsIG1lcmdpbmcgcmVxdWlyZWQiCiBtc2dzdHIgImZ1c2nDs24gZGUgMy12w61hcyBzaSBubyBzZSByZXF1aWVyZSBuaW5ndW5hIGZ1c2nDs24gYSBuaXZlbCBkZSBhcmNoaXZvIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzUKIG1zZ2lkICIzLXdheSBtZXJnZSBpbiBwcmVzZW5jZSBvZiBhZGRzIGFuZCByZW1vdmVzIgogbXNnc3RyICJmdXNpw7NuIGVuIDMtdsOtYXMgZW4gcHJlc2VuY2lhIGRlIGFkaWNpb25lcyB5IHJlbW9jaW9uZXMiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM2CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNwogbXNnaWQgInNhbWUgYXMgLW0sIGJ1dCBkaXNjYXJkIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgImlndWFsIHF1ZSAtbSwgcGVybyBkZXNjYXJ0YSBlbnRyYWRhcyBzaW4gZnVzaW9uYXIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOAogbXNnaWQgIjxzdWJkaXJlY3Rvcnk+LyIKIG1zZ3N0ciAiPHN1YmRpcmVjdG9yaW8+LyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzgKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM5CiBtc2dpZCAicmVhZCB0aGUgdHJlZSBpbnRvIHRoZSBpbmRleCB1bmRlciA8c3ViZGlyZWN0b3J5Pi8iCiBtc2dzdHIgImxlYSBlbCDDoXJib2wgZW4gZWwgw61uZGljZSBiYWpvIDxzdWJkaXJlY3RvcmlvPi8iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQxCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0MgogbXNnaWQgInVwZGF0ZSB3b3JraW5nIHRyZWUgd2l0aCBtZXJnZSByZXN1bHQiCiBtc2dzdHIgImFjdHVhbGl6YSBlbCDDoXJib2wgZGUgdHJhYmFqbyBjb24gZWwgcmVzdWx0YWRvIGRlIGxhIGZ1c2nDs24iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NAogbXNnaWQgImdpdGlnbm9yZSIKIG1zZ3N0ciAiZ2l0aWdub3JlIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDUKIG1zZ2lkICJhbGxvdyBleHBsaWNpdGx5IGlnbm9yZWQgZmlsZXMgdG8gYmUgb3ZlcndyaXR0ZW4iCiBtc2dzdHIgInBlcm1pdGlyIHNvYnJlc2NyaXR1cmEgZGUgYXJjaGl2b3MgZXhwbMOtY2l0YW1lbnRlIGlnbm9yYWRvcyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ4CiBtc2dpZCAiZG9uJ3QgY2hlY2sgdGhlIHdvcmtpbmcgdHJlZSBhZnRlciBtZXJnaW5nIgogbXNnc3RyICJubyByZXZpc2FyIGVsIMOhcmJvbCBkZSB0cmFiYWpvIHRyYXMgZnVzaW9uYXIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ4CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0OQogbXNnaWQgImRvbid0IHVwZGF0ZSB0aGUgaW5kZXggb3IgdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAibm8gYWN0dWFsaXphciBlbCDDrW5kaWNlIG8gZWwgw6FyYm9sIGRlIHRyYWJham8iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUwCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1MQogbXNnaWQgInNraXAgYXBwbHlpbmcgc3BhcnNlIGNoZWNrb3V0IGZpbHRlciIKIG1zZ3N0ciAic2FsdGFyIGFwbGljYWRvIGRlIGZpbHRybyBkZSBzcGFyc2UgY2hlY2tvdXQiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUyCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1MwogbXNnaWQgImRlYnVnIHVucGFjay10cmVlcyIKIG1zZ3N0ciAiZGVidWcgZGUgw6FyYm9sZXMtZGVzZW1wYWNhZG9zIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjI5Ci1tc2dpZCAiIgotImdpdCByZWJhc2UgWy1pXSBbb3B0aW9uc10gWy0tZXhlYyA8Y21kPl0gWy0tb250byA8bmV3YmFzZT5dIFs8dXBzdHJlYW0+XSAiCi0iWzxicmFuY2g+XSIKLW1zZ3N0ciAiIgotImdpdCByZWJhc2UgWy1pXSBbb3BjaW9uZXNdIFstLWV4ZWMgPGNtZD5dIFstLW9udG8gPG5ld2Jhc2U+XSBbPHVwc3RyZWFtPl0gIgotIls8YnJhbmNoPl0iCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1NworbXNnaWQgInN1cHByZXNzIGZlZWRiYWNrIG1lc3NhZ2VzIgorbXNnc3RyICJzdXByaW1pciBtZW5zYWplcyBkZSBmZWVkYmFjayIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzozMQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxODgKK21zZ2lkICJZb3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKK21zZ3N0ciAiTmVjZXNpdGFzIHJlc29sdmVyIHR1IMOtbmRpY2UgYWN0dWFsIHByaW1lcm8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzIKK21zZ2lkICIiCisiZ2l0IHJlYmFzZSBbLWldIFtvcHRpb25zXSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPiB8IC0ta2VlcC1iYXNlXSAiCisiWzx1cHN0cmVhbT4gWzxicmFuY2g+XV0iCittc2dzdHIgIiIKKyJnaXQgcmViYXNlIFstaV0gW29wY2lvbmVzXSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPiB8IC0ta2VlcC1iYXNlXSAiCisiWzx1cHN0cmVhbT4gWzxicmFuY2g+XV0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzQKIG1zZ2lkICIiCiAiZ2l0IHJlYmFzZSBbLWldIFtvcHRpb25zXSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPl0gLS1yb290IFs8YnJhbmNoPl0iCiBtc2dzdHIgIiIKICJnaXQgcmViYXNlIFstaV0gW29wY2lvbmVzXSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPl0gLS1yb290WzxyYW1hPl0iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MzMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzYKIG1zZ2lkICJnaXQgcmViYXNlIC0tY29udGludWUgfCAtLWFib3J0IHwgLS1za2lwIHwgLS1lZGl0LXRvZG8iCiBtc2dzdHIgImdpdCByZWJhc2UgLS1jb250aW51ZSB8IC0tYWJvcnQgfCAtLXNraXAgfCAtLWVkaXQtdG9kbyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTc3IGJ1aWx0aW4vcmViYXNlLmM6MjAxIGJ1aWx0aW4vcmViYXNlLmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVudXNhYmxlIHRvZG8gbGlzdDogJyVzJyIKK21zZ3N0ciAibGlzdGEgZGUgcGVuZGllbnRlcyBpbnV0aWxpemFibGU6ICclcyciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg2IGJ1aWx0aW4vcmViYXNlLmM6MjEyIGJ1aWx0aW4vcmViYXNlLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSAnJXMnLiIKK21zZ3N0ciAibm8gc2UgcHVkbyBlc2NyaWJpciAnJXMnLiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyNzEKK21zZ2lkICJubyBIRUFEPyIKK21zZ3N0ciAiwr9TaW4gSEVBRD8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICVzIgorbXNnc3RyICJubyBzZSBwdWRvIGNyZWFyIGFyY2hpdm8gdGVtcG9yYWwgJXMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzA0Cittc2dpZCAiY291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCittc2dzdHIgIm5vIHNlIHB1ZG8gbWFyY2FyIGNvbW8gaW50ZXJhY3Rpdm8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzYyCittc2dpZCAiY291bGQgbm90IGdlbmVyYXRlIHRvZG8gbGlzdCIKK21zZ3N0ciAibm8gc2UgcHVkbyBnZW5lcmFyIGxpc3RhIGRlIHBlbmRpZW50ZXMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDAyCittc2dpZCAiYSBiYXNlIGNvbW1pdCBtdXN0IGJlIHByb3ZpZGVkIHdpdGggLS11cHN0cmVhbSBvciAtLW9udG8iCittc2dzdHIgInVuIGNvbW1pdCBiYXNlIHRpZW5lIHF1ZSBzZXIgcHJvdmlzdG8gY29uIC0tdXBzdHJlYW0gbyAtLW9udG8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDU3Cittc2dpZCAiZ2l0IHJlYmFzZS0taW50ZXJhY3RpdmUgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCByZWJhc2UtLWludGVyYWN0aXZlIFs8b3BjaW9uZXM+XSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NjkKK21zZ2lkICJrZWVwIGVtcHR5IGNvbW1pdHMiCittc2dzdHIgIm1hbnRlbmVyIGNvbW1pdHMgdmFjw61vcyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzEgYnVpbHRpbi9yZXZlcnQuYzoxMjgKK21zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCittc2dzdHIgInBlcm1pdGlyIGNvbW1pdHMgY29uIG1lbnNhamVzIHZhY8Otb3MiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDcyCittc2dpZCAicmViYXNlIG1lcmdlIGNvbW1pdHMiCittc2dzdHIgInJlYmFzYW5kbyBjb21taXRzIGRlIGZ1c2nDs24iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDc0Cittc2dpZCAia2VlcCBvcmlnaW5hbCBicmFuY2ggcG9pbnRzIG9mIGNvdXNpbnMiCittc2dzdHIgIm1hbnRlbmVyIHB1bnRvcyBvcmlnaW5hbGVzIGRlIGxhIHJhbWEgZGUgc3VzIHByaW1vcyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzYKK21zZ2lkICJtb3ZlIGNvbW1pdHMgdGhhdCBiZWdpbiB3aXRoIHNxdWFzaCEvZml4dXAhIgorbXNnc3RyICJtb3ZlciBjb21taXRzIHF1ZSBjb21pZW56YW4gY29uIHNxdWFzaCEvZml4dXAhIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3NworbXNnaWQgInNpZ24gY29tbWl0cyIKK21zZ3N0ciAiZmlybWFyIGNvbW1pdHMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDc5IGJ1aWx0aW4vcmViYXNlLmM6MTQ1NQorbXNnaWQgImRpc3BsYXkgYSBkaWZmc3RhdCBvZiB3aGF0IGNoYW5nZWQgdXBzdHJlYW0iCittc2dzdHIgIm1vc3RyYXIgdW4gZGlmZnN0YXQgZGUgbG8gcXVlIGNhbWJpw7MgZW4gdXBzdHJlYW0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDgxCittc2dpZCAiY29udGludWUgcmViYXNlIgorbXNnc3RyICJjb250aW51YXIgcmViYXNlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4MworbXNnaWQgInNraXAgY29tbWl0IgorbXNnc3RyICJzYWx0YXIgY29tbWl0IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4NAorbXNnaWQgImVkaXQgdGhlIHRvZG8gbGlzdCIKK21zZ3N0ciAiZWRpdGFyIGxhIGxpc3RhIGRlIHBlbmRpZW50ZXMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDg2Cittc2dpZCAic2hvdyB0aGUgY3VycmVudCBwYXRjaCIKK21zZ3N0ciAibW9zdHJhciBlbCBwYXJjaGUgYWN0dWFsIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4OQorbXNnaWQgInNob3J0ZW4gY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICJpZHMgZGUgY29tbWl0cyBjb3J0b3MgZW4gbGEgbGlzdGEgZGUgcGVuZGllbnRlcyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTEKK21zZ2lkICJleHBhbmQgY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICJleHBhbmRpciBpZHMgZGUgY29tbWl0cyBlbiBsYSBsaXN0YSBkZSBwZW5kaWVudGVzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ5MworbXNnaWQgImNoZWNrIHRoZSB0b2RvIGxpc3QiCittc2dzdHIgInJldmlzYXIgbGEgbGlzdGEgZGUgcGVuZGllbnRlcyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTUKK21zZ2lkICJyZWFycmFuZ2UgZml4dXAvc3F1YXNoIGxpbmVzIgorbXNnc3RyICJyZW9yZ2FuaXphciBsw61uZWFzIGZpeHVwL3NxdWFzaCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTcKK21zZ2lkICJpbnNlcnQgZXhlYyBjb21tYW5kcyBpbiB0b2RvIGxpc3QiCittc2dzdHIgImluc2VydGFyIGNvbWFuZG8gZXhlYyBlbiBsYSBsaXN0YSBkZSBwZW5kaWVudGVzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ5OAorbXNnaWQgIm9udG8iCittc2dzdHIgImhhY2lhIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwMQorbXNnaWQgInJlc3RyaWN0LXJldmlzaW9uIgorbXNnc3RyICJyZXN0cmljdC1yZXZpc2lvbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDEKK21zZ2lkICJyZXN0cmljdCByZXZpc2lvbiIKK21zZ3N0ciAicmVzdHJpbmdpciByZXZpc2lvbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDMKK21zZ2lkICJzcXVhc2gtb250byIKK21zZ3N0ciAic3F1YXNoLW9udG8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA0Cittc2dpZCAic3F1YXNoIG9udG8iCittc2dzdHIgInNxdWFzaCBoYWNpYSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDYKK21zZ2lkICJ0aGUgdXBzdHJlYW0gY29tbWl0IgorbXNnc3RyICJlbCBjb21taXQgZGUgdXBzdHJlYW0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA4Cittc2dpZCAiaGVhZC1uYW1lIgorbXNnc3RyICJoZWFkLW5hbWUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA4Cittc2dpZCAiaGVhZCBuYW1lIgorbXNnc3RyICJub21icmUgZGUgaGVhZCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTMKK21zZ2lkICJyZWJhc2Ugc3RyYXRlZ3kiCittc2dzdHIgImVzdHJhdGVnaWEgZGUgcmViYXNlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxNAorbXNnaWQgInN0cmF0ZWd5LW9wdHMiCittc2dzdHIgInN0cmF0ZWd5LW9wdHMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE1Cittc2dpZCAic3RyYXRlZ3kgb3B0aW9ucyIKK21zZ3N0ciAib3BjaW9uZXMgZGUgZXN0cmF0ZWdpYSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTYKK21zZ2lkICJzd2l0Y2gtdG8iCittc2dzdHIgImNhbWJpYXIgYSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTcKK21zZ2lkICJ0aGUgYnJhbmNoIG9yIGNvbW1pdCB0byBjaGVja291dCIKK21zZ3N0ciAibGEgcmFtYSBvIGNvbW1pdCBwYXJhIGhhY2VyIGNoZWNrb3V0IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOAorbXNnaWQgIm9udG8tbmFtZSIKK21zZ3N0ciAiaGFjaWEtbm9tYnJlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOAorbXNnaWQgIm9udG8gbmFtZSIKK21zZ3N0ciAiaGFjaWEgbm9tYnJlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOQorbXNnaWQgImNtZCIKK21zZ3N0ciAiY21kIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOQorbXNnaWQgInRoZSBjb21tYW5kIHRvIHJ1biIKK21zZ3N0ciAiZWwgY29tYW5kbyBwYXJhIGVqZWN1dGFyIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUyMiBidWlsdGluL3JlYmFzZS5jOjE1NDAKK21zZ2lkICJhdXRvbWF0aWNhbGx5IHJlLXNjaGVkdWxlIGFueSBgZXhlY2AgdGhhdCBmYWlscyIKK21zZ3N0ciAicmVwcm9ncmFtYXIgYXV0b21hdGljYW1lbnRlIGN1YWxxdWllciBgZXhlY2AgcXVlIGZhbGxlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjU0MAorbXNnaWQgIi0tW25vLV1yZWJhc2UtY291c2lucyBoYXMgbm8gZWZmZWN0IHdpdGhvdXQgLS1yZWJhc2UtbWVyZ2VzIgorbXNnc3RyICItLVtuby1dcmViYXNlLWNvdXNpbnMgbm8gdGllbmUgZWZlY3RvIHNpbiAtLXJlYmFzZS1tZXJnZXMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGludGVyYWN0aXZlIHJlYmFzZSIKIG1zZ3N0ciAiJXMgcmVxdWllcmUgdW4gcmViYXNlIGludGVyYWN0aXZvIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE3MQorIzogYnVpbHRpbi9yZWJhc2UuYzo2MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCAnb250byc6ICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gY29uc2VndWlyICdvbnRvJzogJyVzJyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxODYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NjIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb3JpZy1oZWFkOiAnJXMnIgogbXNnc3RyICJvcmlnLWhlYWQgaW52w6FsaWRvOiAnJXMnIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjIxNAorIzogYnVpbHRpbi9yZWJhc2UuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgaW52YWxpZCBhbGxvd19yZXJlcmVfYXV0b3VwZGF0ZTogJyVzJyIKIG1zZ3N0ciAiaWdub3JhbmRvIGludsOhbGlkbyBhbGxvd19yZXJlcmVfYXV0b3VwZGF0ZTogJyVzJyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoyNTkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkICclcyciCiBtc2dzdHIgIk5vIHNlIHB1ZG8gbGVlciAnJXMnIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjI3NworIzogYnVpbHRpbi9yZWJhc2UuYzo3NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN0b3JlICVzIgogbXNnc3RyICJObyBzZSBwdWVkZSBndWFyZGFyICVzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjMzNworIzogYnVpbHRpbi9yZWJhc2UuYzo4NDkKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIEhFQUQgcmV2aXNpb24iCittc2dzdHIgIm5vIHNlIHB1ZG8gZGV0ZXJtaW5hciByZXZpc2nDs24gSEVBRCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo5NzIgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgxCiBtc2dpZCAiIgogIlJlc29sdmUgYWxsIGNvbmZsaWN0cyBtYW51YWxseSwgbWFyayB0aGVtIGFzIHJlc29sdmVkIHdpdGhcbiIKICJcImdpdCBhZGQvcm0gPGNvbmZsaWN0ZWRfZmlsZXM+XCIsIHRoZW4gcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIuXG4iCkBAIC0xNDk5MSwxNSArMTc5MjgsMzAgQEAKICJSZXN1ZWx2YSB0b2RvcyBsb3MgY29uZmxpY3RvcyBtYW51YWxtZW50ZSB5YSBzZWEgY29uIFxuIgogIlwiZ2l0IGFkZC9ybSA8YXJjaGl2b19jb25mbGljdGl2bz5cIiwgbHVlZ28gZWplY3V0ZSBcImdpdCByZWJhc2UgLS1jb250aW51ZSIKICJcIi5cbiIKLSJTaSBwcmVmaWVyZSBzYWx0YXIgZXN0ZSBwYXJjaGUsIGVqZWN1dGUgXCJnaXQgcmViYXNlIC0tc2tpcFwiIC5cbiIKLSJQYXJhIGFib3J0YXIgeSByZWdyZXNhciBhbCBlc3RhZG8gcHJldmlvIGFsIFwiZ2l0IHJlYmFzZVwiLCBlamVjdXRlIFwiZ2l0ICIKKyJTaSBwcmVmaWVyZXMgc2FsdGFyIGVzdGUgcGFyY2hlLCBlamVjdXRhIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiAuXG4iCisiUGFyYSBhYm9ydGFyIHkgcmVncmVzYXIgYWwgZXN0YWRvIHByZXZpbyBhbCBcImdpdCByZWJhc2VcIiwgZWplY3V0YSBcImdpdCAiCiAicmViYXNlIC0tYWJvcnRcIi4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6NTYxCi1tc2dpZCAiY291bGQgbm90IGRldGVybWluZSBIRUFEIHJldmlzaW9uIgotbXNnc3RyICJubyBzZSBwdWRvIGRldGVybWluYXIgcmV2aXNpw7NuIEhFQUQiCisjOiBidWlsdGluL3JlYmFzZS5jOjEwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorImdpdCBlbmNvdW50ZXJlZCBhbiBlcnJvciB3aGlsZSBwcmVwYXJpbmcgdGhlIHBhdGNoZXMgdG8gcmVwbGF5XG4iCisidGhlc2UgcmV2aXNpb25zOlxuIgorIlxuIgorIiAgICAlc1xuIgorIlxuIgorIkFzIGEgcmVzdWx0LCBnaXQgY2Fubm90IHJlYmFzZSB0aGVtLiIKK21zZ3N0ciAiIgorIlxuIgorImdpdCBlbmNvbnRyw7MgdW4gZXJyb3IgbWllbnRyYXMgcHJlcGFyYWJhIGxvcyBwYXJjaGVzIHBhcmEgcmVwbGljYXJcbiIKKyJlc2FzIHJldmlzaW9uZXM6XG4iCisiXG4iCisiICAgICVzXG4iCisiXG4iCisiQ29tbyByZXN1bHRhZG8sIGdpdCBubyBwdWVkZSBoYWNlciByZWJhc2UgY29uIGVsbG9zLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo3NTMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTM2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXNcbiIKQEAgLTE1MDE2LDcgKzE3OTY4LDcgQEAKICIgICAgZ2l0IHJlYmFzZSAnPHJhbWE+J1xuIgogIlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjc2OQorIzogYnVpbHRpbi9yZWJhc2UuYzoxMzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDpcbiIKQEAgLTE1MDI5LDE0OSArMTc5ODEsMTgyIEBACiAiICAgIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG89JXMvPHJhbWE+ICVzXG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODMyCisjOiBidWlsdGluL3JlYmFzZS5jOjE0MTMKK21zZ2lkICJleGVjIGNvbW1hbmRzIGNhbm5vdCBjb250YWluIG5ld2xpbmVzIgorbXNnc3RyICJjb21hbmRvcyBleGVjIG5vIHB1ZWRlbiBjb250ZW5lciBuZXdsaW5lcyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDE3Cittc2dpZCAiZW1wdHkgZXhlYyBjb21tYW5kIgorbXNnc3RyICJjb21hbmRvIGV4ZWMgdmFjw61vIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NDYKIG1zZ2lkICJyZWJhc2Ugb250byBnaXZlbiBicmFuY2ggaW5zdGVhZCBvZiB1cHN0cmVhbSIKIG1zZ3N0ciAiaGFjaWVuZG8gcmViYXNlIGhhY2lhIHJhbWEgZGFkYSBlbiBsdWdhciBkZSB1cHN0cmVhbSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4MzQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ0OAorbXNnaWQgInVzZSB0aGUgbWVyZ2UtYmFzZSBvZiB1cHN0cmVhbSBhbmQgYnJhbmNoIGFzIHRoZSBjdXJyZW50IGJhc2UiCittc2dzdHIgInVzYXIgbGEgYmFzZSBkZSBmdXNpw7NuIGRlIHVwc3RyZWFtIHkgbGEgcmFtYSBjb21vIGJhc2UgYWN0dWFsIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NTAKIG1zZ2lkICJhbGxvdyBwcmUtcmViYXNlIGhvb2sgdG8gcnVuIgogbXNnc3RyICJwZXJtaXRpciBlamVjdXRhciBob29rIHByZS1yZWJhc2UiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODM2CisjOiBidWlsdGluL3JlYmFzZS5jOjE0NTIKIG1zZ2lkICJiZSBxdWlldC4gaW1wbGllcyAtLW5vLXN0YXQiCiBtc2dzdHIgInNlciBzaWxlbmNpb3NvIGltcGxpY2EgLS1uby1zdGF0IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjgzOQotbXNnaWQgImRpc3BsYXkgYSBkaWZmc3RhdCBvZiB3aGF0IGNoYW5nZWQgdXBzdHJlYW0iCi1tc2dzdHIgIm1vc3RyYXIgdW4gZGlmZnN0YXQgZGUgbG8gcXVlIGNhbWJpw7MgZW4gdXBzdHJlYW0iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODQyCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NTgKIG1zZ2lkICJkbyBub3Qgc2hvdyBkaWZmc3RhdCBvZiB3aGF0IGNoYW5nZWQgdXBzdHJlYW0iCiBtc2dzdHIgIm5vIG1vc3RyYXIgdW4gZGlmZnN0YXQgZGUgbG8gcXVlIGNhbWJpw7MgZW4gdXBzdHJlYW0iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODQ1CisjOiBidWlsdGluL3JlYmFzZS5jOjE0NjEKIG1zZ2lkICJhZGQgYSBTaWduZWQtb2ZmLWJ5OiBsaW5lIHRvIGVhY2ggY29tbWl0IgogbXNnc3RyICJhZ3JlZ2FyIHVuYSBsw61uZWEgXCJGaXJtYWRvLXBvclwiIGFsIG1lbnNhamUgZGUgY2FkYSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODQ3IGJ1aWx0aW4vcmViYXNlLmM6ODUxIGJ1aWx0aW4vcmViYXNlLmM6ODUzCi1tc2dpZCAicGFzc2VkIHRvICdnaXQgYW0nIgotbXNnc3RyICJwYXNhZG8gYSAnZ2l0IGFtJyIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ2NAorbXNnaWQgIm1ha2UgY29tbWl0dGVyIGRhdGUgbWF0Y2ggYXV0aG9yIGRhdGUiCittc2dzdHIgImhhY2VyIHF1ZSBsYSBmZWNoYSBkZWwgY29tbWl0IGNvbmN1ZXJkZSBjb24gbGEgZmVjaGEgZGUgYXV0b3LDrWEiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODU1IGJ1aWx0aW4vcmViYXNlLmM6ODU3CisjOiBidWlsdGluL3JlYmFzZS5jOjE0NjYKK21zZ2lkICJpZ25vcmUgYXV0aG9yIGRhdGUgYW5kIHVzZSBjdXJyZW50IGRhdGUiCittc2dzdHIgImlnbm9yYXIgbGEgZmVjaGEgZGVsIGF1dG9yIHkgdXNhciBsYSBmZWNoYSBhY3R1YWwiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ2OAorbXNnaWQgInN5bm9ueW0gb2YgLS1yZXNldC1hdXRob3ItZGF0ZSIKK21zZ3N0ciAic2luw7NuaW1vIHBhcmEgLS1yZXNldC1hdXRob3ItZGF0ZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDcwIGJ1aWx0aW4vcmViYXNlLmM6MTQ3NAogbXNnaWQgInBhc3NlZCB0byAnZ2l0IGFwcGx5JyIKIG1zZ3N0ciAicGFzYWRvIGEgJ2dpdC1hcHBseSciCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODU5IGJ1aWx0aW4vcmViYXNlLmM6ODYyCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NzIKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIgorbXNnc3RyICJpZ25vcmFyIGNhbWJpb3MgZW4gZXNwYWNpb3MgZW4gYmxhbmNvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NzYgYnVpbHRpbi9yZWJhc2UuYzoxNDc5CiBtc2dpZCAiY2hlcnJ5LXBpY2sgYWxsIGNvbW1pdHMsIGV2ZW4gaWYgdW5jaGFuZ2VkIgogbXNnc3RyICJjaGVycnktcGljayB0b2RvcyBsb3MgY29tbWl0cywgaW5jbHVzbyBzaSBubyBoYW4gY2FtYmlhZG8iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODY0CisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODEKIG1zZ2lkICJjb250aW51ZSIKIG1zZ3N0ciAiY29udGludWFyIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg2NworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDg0CiBtc2dpZCAic2tpcCBjdXJyZW50IHBhdGNoIGFuZCBjb250aW51ZSIKIG1zZ3N0ciAic2FsdGFyIGVsIHBhcmNoZSB5IGNvbnRpbnVhciIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NjkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ4NgogbXNnaWQgImFib3J0IGFuZCBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCIKIG1zZ3N0ciAiYWJvcnRhIHkgcmV2aXNhIGxhIHJhbWEgb3JpZ2luYWwiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODcyCisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODkKIG1zZ2lkICJhYm9ydCBidXQga2VlcCBIRUFEIHdoZXJlIGl0IGlzIgogbXNnc3RyICJhYm9ydGEgcGVybyBtYW50aWVuZSBIRUFEIGRvbmRlIGVzdMOhIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg3MworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDkwCiBtc2dpZCAiZWRpdCB0aGUgdG9kbyBsaXN0IGR1cmluZyBhbiBpbnRlcmFjdGl2ZSByZWJhc2UiCiBtc2dzdHIgImVkaXRhciBsYSBsaXN0YSBkZSBwZW5kaWVudGVzIGR1cmFudGUgZWwgcmViYXNlIGludGVyYWN0aXZvIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg3NgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDkzCiBtc2dpZCAic2hvdyB0aGUgcGF0Y2ggZmlsZSBiZWluZyBhcHBsaWVkIG9yIG1lcmdlZCIKIG1zZ3N0ciAibXVlc3RyYSBlbCBhcmNoaXZvIHBhcmNoZSBzaWVuZG8gYXBsaWNhZG8gbyBmdXNpb25hZG8iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODc5CisjOiBidWlsdGluL3JlYmFzZS5jOjE0OTYKIG1zZ2lkICJ1c2UgbWVyZ2luZyBzdHJhdGVnaWVzIHRvIHJlYmFzZSIKIG1zZ3N0ciAidXNhciBlc3RyYXRlZ2lhcyBkZSBmdXNpw7NuIHBhcmEgZWwgcmViYXNlIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg4MworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTAwCiBtc2dpZCAibGV0IHRoZSB1c2VyIGVkaXQgdGhlIGxpc3Qgb2YgY29tbWl0cyB0byByZWJhc2UiCiBtc2dzdHIgInBlcm1pdGlyIGFsIHVzdWFyaW8gZWRpdGFyIGxhIGxpc3RhIGRlIGNvbW1pdHMgcGFyYSByZWJhc2FyIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg4NwotbXNnaWQgInRyeSB0byByZWNyZWF0ZSBtZXJnZXMgaW5zdGVhZCBvZiBpZ25vcmluZyB0aGVtIgotbXNnc3RyICJpbnRlbnRhciByZWNyZWFyIG1lcmdlcyBlbiBsdWdhciBkZSBpZ25vcmFybG9zIgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTA0Cittc2dpZCAiKERFUFJFQ0FURUQpIHRyeSB0byByZWNyZWF0ZSBtZXJnZXMgaW5zdGVhZCBvZiBpZ25vcmluZyB0aGVtIgorbXNnc3RyICIoREVQUkVDQURPKSBpbnRlbnRhciByZWNyZWFyIG1lcmdlcyBlbiBsdWdhciBkZSBpZ25vcmFybG9zIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg5MQotbXNnaWQgImFsbG93IHJlcmVyZSB0byB1cGRhdGUgaW5kZXggd2l0aCByZXNvbHZlZCBjb25mbGljdCIKLW1zZ3N0ciAicGVybWl0aXIgcmVyZXJlIGFjdHVhbGl6YXIgaW5kZXggY29uIGNvbmZsaWN0b3MgcmVzdWVsdG9zIgotCi0jOiBidWlsdGluL3JlYmFzZS5jOjg5NAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTA5CiBtc2dpZCAicHJlc2VydmUgZW1wdHkgY29tbWl0cyBkdXJpbmcgcmViYXNlIgogbXNnc3RyICJwcmVzZXJ2YXIgY29tbWl0cyB2YWPDrW9zIGR1cmFudGUgZWwgcmViYXNlIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg5NgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTExCiBtc2dpZCAibW92ZSBjb21taXRzIHRoYXQgYmVnaW4gd2l0aCBzcXVhc2ghL2ZpeHVwISB1bmRlciAtaSIKIG1zZ3N0ciAibW92ZXIgY29tbWl0cyBxdWUgY29taWVuemFuIGNvbiBzcXVhc2ghL2ZpeHVwISBiYWpvIC1pIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkwMgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTE3CiBtc2dpZCAiYXV0b21hdGljYWxseSBzdGFzaC9zdGFzaCBwb3AgYmVmb3JlIGFuZCBhZnRlciIKIG1zZ3N0ciAiZWplY3V0YXIgYXV0b23DoXRpY2FtZW50ZSBzdGFzaC9zdGFzaCBwb3AgYW50ZXMgeSBkZXNwdcOpcyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MDQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxOQogbXNnaWQgImFkZCBleGVjIGxpbmVzIGFmdGVyIGVhY2ggY29tbWl0IG9mIHRoZSBlZGl0YWJsZSBsaXN0IgogbXNnc3RyICJhZ3JlZ2FyIGzDrW5lYXMgZXhlYyB0cmFzIGNhZGEgYWNvbW1pdCBkZSBsYSBsaXN0YSBlZGl0YWJsZSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MDgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyMwogbXNnaWQgImFsbG93IHJlYmFzaW5nIGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKIG1zZ3N0ciAicGVybWl0aXIgcmViYXNlIGNvbW1pdHMgY29uIG1lbnNhamVzIHZhY8Otb3MiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTExCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MjYKIG1zZ2lkICJ0cnkgdG8gcmViYXNlIG1lcmdlcyBpbnN0ZWFkIG9mIHNraXBwaW5nIHRoZW0iCiBtc2dzdHIgImludGVudGFyIGZ1c2lvbmVzIHBvciByZWJhc2UgZW4gbHVnYXIgZGUgc2FsdGFybGFzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkxNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTI5CiBtc2dpZCAidXNlICdtZXJnZS1iYXNlIC0tZm9yay1wb2ludCcgdG8gcmVmaW5lIHVwc3RyZWFtIgogbXNnc3RyICJ1c2UgJ21lcmdlLWJhc2UgLS1mb3JrLXBvaW50JyBwYXJhIHJlZmluYXIgdXBzdHJlYW0iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTE2CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MzEKIG1zZ2lkICJ1c2UgdGhlIGdpdmVuIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJ1c2FyIGxhIGVzdHJhdGVnaWEgZGUgbWVyZ2UgZGFkYSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTggYnVpbHRpbi9yZXZlcnQuYzoxMTEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzMyBidWlsdGluL3JldmVydC5jOjExNQogbXNnaWQgIm9wdGlvbiIKIG1zZ3N0ciAib3BjacOzbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzNAogbXNnaWQgInBhc3MgdGhlIGFyZ3VtZW50IHRocm91Z2ggdG8gdGhlIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJwYXNhciBlbCBhcmd1bWVudG8gcGFyYSBsYSBlc3RyYXRlZ2lhIGRlIGZ1c2nDs24iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTIyCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MzcKIG1zZ2lkICJyZWJhc2UgYWxsIHJlYWNoYWJsZSBjb21taXRzIHVwIHRvIHRoZSByb290KHMpIgogbXNnc3RyICJoYWNlciByZWJhc2UgYSB0b2RvcyBsb3MgY29tbWl0cyBhbGNhbnphYmxlcyBoYXN0YSBsYSByYcOteihyYcOtY2VzKSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGV4ZWMgJXMiCi1tc2dzdHIgIm5vIHNlIHB1ZG8gZWplY3V0YXIgJXMiCisjOiBidWlsdGluL3JlYmFzZS5jOjE1NTQKK21zZ2lkICIiCisidGhlIHJlYmFzZS51c2VCdWlsdGluIHN1cHBvcnQgaGFzIGJlZW4gcmVtb3ZlZCFcbiIKKyJTZWUgaXRzIGVudHJ5IGluICdnaXQgaGVscCBjb25maWcnIGZvciBkZXRhaWxzLiIKK21zZ3N0ciAiIgorImVsIHNvcG9ydGUgcGFyYSByZWJhc2UudXNlQnVpbHRpbiBoYSBzaWRvIGVsaW1pbmFkbyFcbiIKKyJWZWEgc3UgZW50cmFkYSBlbiAnZ2l0IGhlbHAgY29uZmlnJyBwYXJhIGRldGFsbGVzLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5NTYgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6MjEzCisjOiBidWlsdGluL3JlYmFzZS5jOjE1NjAKIG1zZ2lkICJJdCBsb29rcyBsaWtlICdnaXQgYW0nIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKIG1zZ3N0ciAiUGFyZWNlIHF1ZSAnZ2l0IGFtJyBlc3TDoSBlbiBwcm9ncmVzby4gTm8gc2UgcHVlZGUgcmViYXNhci4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTk3IGdpdC1sZWdhY3ktcmViYXNlLnNoOjM5NQotbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCi1tc2dzdHIgIk5vIGhheSByZWJhc2UgZW4gcHJvZ3Jlc28/IgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNjAxCittc2dpZCAiIgorImdpdCByZWJhc2UgLS1wcmVzZXJ2ZS1tZXJnZXMgaXMgZGVwcmVjYXRlZC4gVXNlIC0tcmViYXNlLW1lcmdlcyBpbnN0ZWFkLiIKK21zZ3N0ciAiIgorImdpdCByZWJhc2UgLS1wcmVzZXJ2ZS1tZXJnZXMgZXN0w6EgZGVwcmVjYWRvLiBVc2UgLS1yZWJhc2UtbWVyZ2VzIGVuIHN1IGx1Z2FyLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDAxIGdpdC1sZWdhY3ktcmViYXNlLnNoOjQwNgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNjA2Cittc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0ta2VlcC1iYXNlJyB3aXRoICctLW9udG8nIgorbXNnc3RyICJubyBzZSBwdWVkZSBjb21iaW5hciAnLS1rZWVwLWJhc2UnIGNvbiAnLS1vbnRvJyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjA4Cittc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0ta2VlcC1iYXNlJyB3aXRoICctLXJvb3QnIgorbXNnc3RyICJubyBzZSBwdWVkZSBjb21iaW5hciAnLS1rZWVwLWJhc2UnIGNvbiAnLS1yb290JyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjEyCittc2dpZCAiTm8gcmViYXNlIGluIHByb2dyZXNzPyIKK21zZ3N0ciAiwr9ObyBoYXkgcmViYXNlIGVuIHByb2dyZXNvPyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjE2CiBtc2dpZCAiVGhlIC0tZWRpdC10b2RvIGFjdGlvbiBjYW4gb25seSBiZSB1c2VkIGR1cmluZyBpbnRlcmFjdGl2ZSByZWJhc2UuIgogbXNnc3RyICIiCiAiTGEgYWNjacOzbiAtLWVkaXQtdG9kbyBzw7NsbyBwdWVkZSBzZXIgdXNhZGEgYWwgcmViYXNhciBpbnRlcmFjdGl2YW1lbnRlLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDE1IGdpdC1sZWdhY3ktcmViYXNlLnNoOjQxMworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjM5CiBtc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiTm8gc2UgcHVlZGUgbGVlciBlbCBIRUFEIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEwMjggZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NDE2CisjOiBidWlsdGluL3JlYmFzZS5jOjE2NTEKIG1zZ2lkICIiCiAiWW91IG11c3QgZWRpdCBhbGwgbWVyZ2UgY29uZmxpY3RzIGFuZCB0aGVuXG4iCiAibWFyayB0aGVtIGFzIHJlc29sdmVkIHVzaW5nIGdpdCBhZGQiCkBAIC0xNTE3OSwyMSArMTgxNjQsMTYgQEAKICJUaWVuZXMgcXVlIGVkaXRhciB0b2RvcyBsb3MgY29uZmxpY3RvcyBkZSBmdXNpw7NuIHkgbHVlZ29cbiIKICJtYXJjYXJsb3MgY29tbyByZXN1ZWx0b3MgdXNhbmRvIGdpdCBhZGQiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTA0NworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjcwCiBtc2dpZCAiY291bGQgbm90IGRpc2NhcmQgd29ya3RyZWUgY2hhbmdlcyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBkZXNjYXJ0YXIgbG9zIGNhbWJpb3MgZGVsIMOhcmJvbCBkZSB0cmFiYWpvIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEwNjYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbW92ZSBiYWNrIHRvICVzIgotbXNnc3RyICJObyBzZSBwdWVkZSByZWdyZXNhciBhICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSByZWdyZXNhciBhICVzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEwNzcgYnVpbHRpbi9ybS5jOjM2OAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlICclcyciCi1tc2dzdHIgIm5vIHNlIHB1ZG8gZWxpbWluYXInJXMnIgotCi0jOiBidWlsdGluL3JlYmFzZS5jOjExMDMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTczNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJXMgZGlyZWN0b3J5LCBhbmRcbiIKQEAgLTE1MjA2LDM0OCArMTgxODYsMTcyIEBACiAidmFsdWFibGUgdGhlcmUuXG4iCiBtc2dzdHIgIiIKICJQYXJlY2UgcXVlIHlhIGhheSB1biBkaXJlY3RvcmlvICVzLCB5XG4iCi0ibWUgcHJlZ3VudG8gc2kgZXN0w6EgZW4gbWVkaW8gZGUgb3RybyByZWJhc2UuIFNpIGVzZSBlcyBlbCBcbiIKLSJjYXNvLCBwb3IgZmF2b3IgaW50ZW50ZVxuIgorIm1lIHByZWd1bnRvIHNpIGVzdMOhcyBlbiBtZWRpbyBkZSBvdHJvIHJlYmFzZS4gU2kgZXNlIGVzIGVsIFxuIgorImNhc28sIHBvciBmYXZvciBpbnRlbnRhXG4iCiAiXHQlc1xuIgogIlNpIG5vIGVzIGVsIGNhc28sIHBvciBmYXZvclxuIgogIlx0JXNcbiIKLSJ5IGVqZWPDunRlbWUgbnVldmFtZW50ZS4gTWUgZXN0b3kgZGV0ZW5pZW5kbyBlbiBjYXNvIGRlIHF1ZSB0ZW5nYVxuIgorInkgZWplY8O6dGFtZSBudWV2YW1lbnRlLiBNZSBlc3RveSBkZXRlbmllbmRvIGVuIGNhc28gZGUgcXVlIHRlbmdhc1xuIgogImFsZ28gZGUgdmFsb3IgYWjDrS5cbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTI0CisjOiBidWlsdGluL3JlYmFzZS5jOjE3NTcKIG1zZ2lkICJzd2l0Y2ggYEMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCiBtc2dzdHIgInN3aXRjaCBgQycgZXNwZXJhIHVuIHZhbG9yIG51bcOpcmljbyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTYxCisjOiBidWlsdGluL3JlYmFzZS5jOjE3OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBtb2RlOiAlcyIKIG1zZ3N0ciAiTW9kbyBkZXNjb25vY2lkbzogJXMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTE4MworIzogYnVpbHRpbi9yZWJhc2UuYzoxODIwCiBtc2dpZCAiLS1zdHJhdGVneSByZXF1aXJlcyAtLW1lcmdlIG9yIC0taW50ZXJhY3RpdmUiCiBtc2dzdHIgIi0tc3RyYXRlZ3kgcmVxdWllcmUgLS1tZXJnZSBvIC0taW50ZXJhY3RpdmUiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTIyNgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iZXJyb3I6IGNhbm5vdCBjb21iaW5lIGludGVyYWN0aXZlIG9wdGlvbnMgKC0taW50ZXJhY3RpdmUsIC0tZXhlYywgLS1yZWJhc2UtIgotIm1lcmdlcywgLS1wcmVzZXJ2ZS1tZXJnZXMsIC0ta2VlcC1lbXB0eSwgLS1yb290ICsgLS1vbnRvKSB3aXRoIGFtIG9wdGlvbnMgIgotIiglcykiCisjOiBidWlsdGluL3JlYmFzZS5jOjE4NjAKK21zZ2lkICItLXJlc2NoZWR1bGUtZmFpbGVkLWV4ZWMgcmVxdWlyZXMgLS1leGVjIG9yIC0taW50ZXJhY3RpdmUiCittc2dzdHIgIi0tcmVzY2hlZHVsZS1mYWlsZWQtZXhlYyByZXF1aWVyZSAtLWV4ZWMgbyAtLWludGVyYWN0aXZlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4NzIKK21zZ2lkICJjYW5ub3QgY29tYmluZSBhbSBvcHRpb25zIHdpdGggZWl0aGVyIGludGVyYWN0aXZlIG9yIG1lcmdlIG9wdGlvbnMiCiBtc2dzdHIgIiIKLSJlcnJvcjogbm8gc2UgcHVlZGUgY29tYmluYXIgb3BjaW9uZXMgaW50ZXJhY3RpdmFzICgtLWludGVyYWN0aXZlLCAtLWV4ZWMsIC0tIgotInJlYmFzZS1tZXJnZXMsIC0tcHJlc2VydmUtbWVyZ2VzLCAtLWtlZXAtZW1wdHksIC0tcm9vdCArIC0tb250bykgY29uICIKLSJvcGNpb25lcyAoJXMpIgorIm5vIHNlIHB1ZWRlbiBjb21iaW5hciBvcGNpb25lcyBkZSBhbSBjb24gb3BjaW9uZXMgaW50ZXJhY3RpdmFzIG8gZGUgbWVyZ2UiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTIzMQotIywgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg5MQorbXNnaWQgImNhbm5vdCBjb21iaW5lICctLXByZXNlcnZlLW1lcmdlcycgd2l0aCAnLS1yZWJhc2UtbWVyZ2VzJyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgY29tYmluYXIgJy0tcHJlc2VydmUtbWVyZ2VzJyBjb24gJy0tcmViYXNlLW1lcmdlcyciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg5NQogbXNnaWQgIiIKLSJlcnJvcjogY2Fubm90IGNvbWJpbmUgbWVyZ2Ugb3B0aW9ucyAoLS1tZXJnZSwgLS1zdHJhdGVneSwgLS1zdHJhdGVneS1vcHRpb24pICIKLSJ3aXRoIGFtIG9wdGlvbnMgKCVzKSIKKyJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcHJlc2VydmUtbWVyZ2VzJyB3aXRoICctLXJlc2NoZWR1bGUtZmFpbGVkLWV4ZWMnIgogbXNnc3RyICIiCi0iZXJyb3I6IG5vIHNlIHB1ZWRlIGNvbWJpbmFyIG9wY2lvbmVzIGRlIG1lcmdlICgtLW1lcmdlLCAtLXN0cmF0ZWd5LCAtLSIKLSJzdHJhdGVneS1vcHRpb24pIGNvbiBvcGNpb25lcyBkZSBhbSAoJXMpIgorImVycm9yOiBubyBzZSBwdWVkZSBjb21iaW5hciAnLS1wcmVzZXJ2ZS1tZXJnZXMnIGNvbiAnLS1yZXNjaGVkdWxlLWZhaWxlZC0iCisiZXhlYyciCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI1MSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1MzYKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcHJlc2VydmUtbWVyZ2VzJyB3aXRoICctLXJlYmFzZS1tZXJnZXMnIgotbXNnc3RyICJlcnJvcjogbm8gc2UgcHVlZGUgY29tYmluYXIgJy0tcHJlc2VydmUtbWVyZ2VzJyBjb24gJy0tcmViYXNlLW1lcmdlcyciCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI1NiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1NDIKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneS1vcHRpb24nIgotbXNnc3RyICJlcnJvcjogbm8gc2UgcHVlZGUgY29tYmluYXIgJy0tcmViYXNlLW1lcmdlcycgY29uICctLXN0cmF0ZWd5LW9wdGlvbiciCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI1OSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1NDQKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneSciCi1tc2dzdHIgImVycm9yOiBubyBzZSBwdWVkZSBjb21iaW5hciAnLS1yZWJhc2UtbWVyZ2VzJyBjb24gJy0tc3RyYXRlZ3knIgotCi0jOiBidWlsdGluL3JlYmFzZS5jOjEyODMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTkxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICclcyciCiBtc2dzdHIgInVwc3RyZWFtIGludsOhbGlkbyAnJXMnIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEyODkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTkyNQogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgbmV3IHJvb3QgY29tbWl0IgogbXNnc3RyICJObyBzZSBwdWRvIGNyZWFyIGNvbW1pdCByYcOteiBudWV2byIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMzA3CisjOiBidWlsdGluL3JlYmFzZS5jOjE5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJzogbmVlZCBleGFjdGx5IG9uZSBtZXJnZSBiYXNlIHdpdGggYnJhbmNoIgorbXNnc3RyICInJXMnOiBuZWNlc2l0YSBleGFjdGFtZW50ZSB1bmEgYmFzZSBkZSBmdXNpw7NuIGNvbiByYW1hIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE5NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogbmVlZCBleGFjdGx5IG9uZSBtZXJnZSBiYXNlIgogbXNnc3RyICInJXMnOiBuZWNlc2l0YSBleGFjdGFtZW50ZSB1bmEgYmFzZSBkZSBmdXNpw7NuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzMTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTk2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdCAnJXMnIgogbXNnc3RyICJObyBhcHVudGEgYSB1biBjb21taXQgdsOhbGlkbyAnJXMnIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzMzkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTk4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2gvY29tbWl0ICclcyciCiBtc2dzdHIgImZhdGFsOiBubyBleGlzdGUgbGEgcmFtYS9jb21taXQ6ICclcyciCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM0NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzcKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTMwCisjOiBidWlsdGluL3JlYmFzZS5jOjE5OTUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlZjogJXMiCiBtc2dzdHIgIk5vIGV4aXN0ZSByZWY6ICVzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzNTkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjAwNgogbXNnaWQgIkNvdWxkIG5vdCByZXNvbHZlIEhFQUQgdG8gYSByZXZpc2lvbiIKLW1zZ3N0ciAibm8gc2UgcHVkbyByZXNvbHZlciBIRUFEIGEgdW5hIHJldmlzacOzbiIKK21zZ3N0ciAiTm8gc2UgcHVkbyByZXNvbHZlciBIRUFEIGEgdW5hIHJldmlzacOzbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMzk5IGdpdC1sZWdhY3ktcmViYXNlLnNoOjY2NQorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDQ0CiBtc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKIG1zZ3N0ciAiTm8gc2UgcHVlZGUgZWplY3V0YXIgYXV0b3N0YXNoIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0MDIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmV4cGVjdGVkIHN0YXNoIHJlc3BvbnNlOiAnJXMnIgogbXNnc3RyICJSZXNwdWVzdGEgZGUgc3Rhc2ggaW5lc3BlcmFkYTogJyVzJyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDA4CisjOiBidWlsdGluL3JlYmFzZS5jOjIwNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgZm9yICclcyciCiBtc2dzdHIgIk5vIHNlIHB1ZG8gY3JlYXIgZWwgZGlyZWN0b3JpbyBwYXJhICclcyciCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQxMQorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAlc1xuIgogbXNnc3RyICJBdXRvc3Rhc2ggY3JlYWRvOiAlc1xuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0MTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA1OQogbXNnaWQgImNvdWxkIG5vdCByZXNldCAtLWhhcmQiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gcmVzZXQgLS1oYXJkIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0MTUgYnVpbHRpbi9yZXNldC5jOjExMwotIywgYy1mb3JtYXQKLW1zZ2lkICJIRUFEIGlzIG5vdyBhdCAlcyIKLW1zZ3N0ciAiSEVBRCBlc3TDoSBhaG9yYSBlbiAlcyIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDMxIGdpdC1sZWdhY3ktcmViYXNlLnNoOjY3NAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDY4CiBtc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAiUG9yIGZhdm9yLCBjb25mw61ybWFsb3MgbyBndcOhcmRhbG9zLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDU4CisjOiBidWlsdGluL3JlYmFzZS5jOjIwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGFuYWxpemFyICclcyciCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3MAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzd2l0Y2ggdG8gJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gY2FtYmlhciBhICVzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0ODEgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6Njk3Ci0jLCBzaC1mb3JtYXQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjExOQogbXNnaWQgIkhFQUQgaXMgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgIkhFQUQgZXN0w6EgYWN0dWFsaXphZG8uIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0ODMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAlcyBpcyB1cCB0byBkYXRlLlxuIgogbXNnc3RyICJMYSByYW1hIGFjdHVhbCAlcyBlc3TDoSBhY3R1YWxpemFkYS5cbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDkxIGdpdC1sZWdhY3ktcmViYXNlLnNoOjcwNwotIywgc2gtZm9ybWF0CisjOiBidWlsdGluL3JlYmFzZS5jOjIxMjkKIG1zZ2lkICJIRUFEIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIgogbXNnc3RyICJIRUFEIGVzdMOhIGFjdHVhbGl6YWRvLCByZWJhc2UgZm9yemFkby4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ5MworIzogYnVpbHRpbi9yZWJhc2UuYzoyMTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICVzIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuXG4iCiBtc2dzdHIgIlJhbWEgYWN0dWFsICVzIGVzdMOhIGFjdHVhbGl6YWRhLCByZWJhc2UgZm9yemFkby5cbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNTAxIGdpdC1sZWdhY3ktcmViYXNlLnNoOjIwOAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTM5CiBtc2dpZCAiVGhlIHByZS1yZWJhc2UgaG9vayByZWZ1c2VkIHRvIHJlYmFzZS4iCiBtc2dzdHIgIkVsIGhvb2sgcHJlLXJlYmFzZSByZWNoYXrDsyBlbCByZWJhc2UuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE1MDgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGFuZ2VzIHRvICVzOlxuIgogbXNnc3RyICJDYW1iaW9zIGEgJXM6XG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxMQorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgZnJvbSAlcyB0byAlczpcbiIKIG1zZ3N0ciAiQ2FtYmlvcyBkZXNkZSAlcyBhICVzOlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE1MzYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi5cbiIKIG1zZ3N0ciAiIgogIkVuIHByaW1lciBsdWdhciwgcmVib2JpbmFuZG8gSEVBRCBwYXJhIGRlc3B1w6lzIHJlcHJvZHVjaXIgdHVzIGNhbWJpb3MgZW5jaW1hICIKICJkZSDDqXN0YS4uLlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE1NDMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE4MwogbXNnaWQgIkNvdWxkIG5vdCBkZXRhY2ggSEVBRCIKIG1zZ3N0ciAiTm8gc2UgcHVlZGUgZGVzYWNvcGxhciBIRUFEIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE1NTIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRlZCAlcyB0byAlcy5cbiIKIG1zZ3N0ciAiQXZhbmNlIHLDoXBpZG8gZGUgJXMgYSAlcy5cbiIKIAotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MjQKLW1zZ2lkICJubyBIRUFEPyIKLW1zZ3N0ciAiwr9TaW4gSEVBRD8iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjUxCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICVzIgotbXNnc3RyICJubyBzZSBwdWRvIGNyZWFyIGFyY2hpdm8gdGVtcG9yYWwgJXMiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjU3Ci1tc2dpZCAiY291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCi1tc2dzdHIgIm5vIHNlIHB1ZG8gbWFyY2FyIGNvbW8gaW50ZXJhY3Rpdm8iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjEwMQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgb3BlbiAlcyIKLW1zZ3N0ciAibm8gc2UgcHVkbyBhYnJpciAlcyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTE0Ci1tc2dpZCAiY291bGQgbm90IGdlbmVyYXRlIHRvZG8gbGlzdCIKLW1zZ3N0ciAibm8gc2UgcHVkbyBnZW5lcmFyIGxpc3RhIGRlIHBlbmRpZW50ZXMiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjEyOQotbXNnaWQgImdpdCByZWJhc2UtLWludGVyYWN0aXZlIFs8b3B0aW9ucz5dIgotbXNnc3RyICJnaXQgcmViYXNlLS1pbnRlcmFjdGl2ZSBbPG9wY2lvbmVzPl0iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE0OAotbXNnaWQgImtlZXAgZW1wdHkgY29tbWl0cyIKLW1zZ3N0ciAibWFudGVuZXIgY29tbWl0cyB2YWPDrW9zIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTAgYnVpbHRpbi9yZXZlcnQuYzoxMjQKLW1zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCi1tc2dzdHIgInBlcm1pdGlyIGNvbW1pdHMgY29uIG1lbnNhamVzIHZhY8Otb3MiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1MQotbXNnaWQgInJlYmFzZSBtZXJnZSBjb21taXRzIgotbXNnc3RyICJyZWJhc2FuZG8gY29tbWl0cyBkZSBmdXNpw7NuIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTMKLW1zZ2lkICJrZWVwIG9yaWdpbmFsIGJyYW5jaCBwb2ludHMgb2YgY291c2lucyIKLW1zZ3N0ciAibWFudGVuZXIgcHVudG9zIG9yaWdpbmFsZXMgZGUgbGEgcmFtYSBkZSBzdXMgcHJpbW9zIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTUKLW1zZ2lkICJtb3ZlIGNvbW1pdHMgdGhhdCBiZWdpbiB3aXRoIHNxdWFzaCEvZml4dXAhIgotbXNnc3RyICJtb3ZlciBjb21taXRzIHF1ZSBjb21pZW56YW4gY29uIHNxdWFzaCEvZml4dXAhIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTYKLW1zZ2lkICJzaWduIGNvbW1pdHMiCi1tc2dzdHIgImZpcm1hciBjb21taXRzIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTgKLW1zZ2lkICJjb250aW51ZSByZWJhc2UiCi1tc2dzdHIgImNvbnRpbnVhciByZWJhc2UiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE2MAotbXNnaWQgInNraXAgY29tbWl0IgotbXNnc3RyICJzYWx0YXIgY29tbWl0IgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjEKLW1zZ2lkICJlZGl0IHRoZSB0b2RvIGxpc3QiCi1tc2dzdHIgImVkaXRhciBsYSBsaXN0YSBkZSBwZW5kaWVudGVzIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjMKLW1zZ2lkICJzaG93IHRoZSBjdXJyZW50IHBhdGNoIgotbXNnc3RyICJtb3N0cmFyIGVsIHBhcmNoZSBhY3R1YWwiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE2NgotbXNnaWQgInNob3J0ZW4gY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgotbXNnc3RyICJpZHMgZGUgY29tbWl0cyBjb3J0b3MgZW4gbGEgbGlzdGEgZGUgcGVuZGllbnRlcyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTY4Ci1tc2dpZCAiZXhwYW5kIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKLW1zZ3N0ciAiZXhwYW5kaXIgaWRzIGRlIGNvbW1pdHMgZW4gbGEgbGlzdGEgZGUgcGVuZGllbnRlcyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTcwCi1tc2dpZCAiY2hlY2sgdGhlIHRvZG8gbGlzdCIKLW1zZ3N0ciAicmV2aXNhciBsYSBsaXN0YSBkZSBwZW5kaWVudGVzIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzIKLW1zZ2lkICJyZWFycmFuZ2UgZml4dXAvc3F1YXNoIGxpbmVzIgotbXNnc3RyICJyZW9yZ2FuaXphciBsw61uZWFzIGZpeHVwL3NxdWFzaCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc0Ci1tc2dpZCAiaW5zZXJ0IGV4ZWMgY29tbWFuZHMgaW4gdG9kbyBsaXN0IgotbXNnc3RyICJpbnNlcnRhciBjb21hbmRvIGV4ZWMgZW4gbGEgbGlzdGEgZGUgcGVuZGllbnRlcyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc1Ci1tc2dpZCAib250byIKLW1zZ3N0ciAiaGFjaWEiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3NwotbXNnaWQgInJlc3RyaWN0LXJldmlzaW9uIgotbXNnc3RyICJyZXN0cmljdC1yZXZpc2lvbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc3Ci1tc2dpZCAicmVzdHJpY3QgcmV2aXNpb24iCi1tc2dzdHIgInJlc3RyaW5naXIgcmV2aXNpb24iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3OAotbXNnaWQgInNxdWFzaC1vbnRvIgotbXNnc3RyICJzcXVhc2gtb250byIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc5Ci1tc2dpZCAic3F1YXNoIG9udG8iCi1tc2dzdHIgInNxdWFzaCBoYWNpYSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgxCi1tc2dpZCAidGhlIHVwc3RyZWFtIGNvbW1pdCIKLW1zZ3N0ciAiZWwgY29tbWl0IGRlIHVwc3RyZWFtIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODIKLW1zZ2lkICJoZWFkLW5hbWUiCi1tc2dzdHIgImhlYWQtbmFtZSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgyCi1tc2dpZCAiaGVhZCBuYW1lIgotbXNnc3RyICJub21icmUgZGUgaGVhZCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg3Ci1tc2dpZCAicmViYXNlIHN0cmF0ZWd5IgotbXNnc3RyICJlc3RyYXRlZ2lhIGRlIHJlYmFzZSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg4Ci1tc2dpZCAic3RyYXRlZ3ktb3B0cyIKLW1zZ3N0ciAic3RyYXRlZ3ktb3B0cyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg5Ci1tc2dpZCAic3RyYXRlZ3kgb3B0aW9ucyIKLW1zZ3N0ciAib3BjaW9uZXMgZGUgZXN0cmF0ZWdpYSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkwCi1tc2dpZCAic3dpdGNoLXRvIgotbXNnc3RyICJjYW1iaWFyIGEiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5MQotbXNnaWQgInRoZSBicmFuY2ggb3IgY29tbWl0IHRvIGNoZWNrb3V0IgotbXNnc3RyICJsYSByYW1hIG8gY29tbWl0IHBhcmEgaGFjZXIgY2hlY2tvdXQiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5MgotbXNnaWQgIm9udG8tbmFtZSIKLW1zZ3N0ciAiaGFjaWEtbm9tYnJlIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTIKLW1zZ2lkICJvbnRvIG5hbWUiCi1tc2dzdHIgImhhY2lhIG5vbWJyZSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkzCi1tc2dpZCAiY21kIgotbXNnc3RyICJjbWQiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5MwotbXNnaWQgInRoZSBjb21tYW5kIHRvIHJ1biIKLW1zZ3N0ciAiZWwgY29tYW5kbyBwYXJhIGVqZWN1dGFyIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoyMjAKLW1zZ2lkICItLVtuby1dcmViYXNlLWNvdXNpbnMgaGFzIG5vIGVmZmVjdCB3aXRob3V0IC0tcmViYXNlLW1lcmdlcyIKLW1zZ3N0ciAiLS1bbm8tXXJlYmFzZS1jb3VzaW5zIG5vIHRpZW5lIGVmZWN0byBzaW4gLS1yZWJhc2UtbWVyZ2VzIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoyMjYKLW1zZ2lkICJhIGJhc2UgY29tbWl0IG11c3QgYmUgcHJvdmlkZWQgd2l0aCAtLXVwc3RyZWFtIG9yIC0tb250byIKLW1zZ3N0ciAidW4gY29tbWl0IGJhc2UgdGllbmUgcXVlIHNlciBwcm92aXN0byBjb24gLS11cHN0cmVhbSBvIC0tb250byIKLQotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzozMworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzozMgogbXNnaWQgImdpdCByZWNlaXZlLXBhY2sgPGdpdC1kaXI+IgogbXNnc3RyICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKIApAQCAtMTU1NzQsMTUgKzE4Mzc4LDE1IEBACiAiYXJyZWdsYXJcbiIKICJlbCDDoXJib2wgZGUgdHJhYmFqbyBjb24gSEVBRC5cbiIKICJcbiIKLSJQdWVkZSBjb25maWd1cmFyIGxhIHZhcmlhYmxlIGRlIGNvbmZpZ3VyYWNpw7NuICdyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJ1xuIgorIlB1ZWRlcyBjb25maWd1cmFyIGxhIHZhcmlhYmxlIGRlIGNvbmZpZ3VyYWNpw7NuICdyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJ1xuIgogIlwiaWdub3JlXCIgbyBcIndhcm5cIiBlbiBlbCByZXBvc2l0b3JpbyByZW1vdG8gcGFyYSBwZXJtaXRpclxuIgotInN1IHJhbWEgYWN0dWFsOyBTaW4gZW1iYXJnbywgZXN0byBubyBzZSByZWNvbWllbmRhIGEgbWVub3MgcXVlIHVzdGVkXG4iCi0ic2UgaGF5YSBvcmdhbml6YWRvIHBhcmEgYWN0dWFsaXphciBzdSDDoXJib2wgZGUgdHJhYmFqbyBwYXJhIHF1ZSBjb2luY2lkYSBjb24gIgotImxvIHF1ZVxuIgotImVudmlhcsOhIGNvbiBlbCBwdXNoIGRlIG90cmEgbWFuZXJhLlxuIgorInN1IHJhbWEgYWN0dWFsOyBTaW4gZW1iYXJnbywgZXN0byBubyBzZSByZWNvbWllbmRhIGEgbWVub3MgcXVlIHTDulxuIgorInRlIGhheWFzIG9yZ2FuaXphZG8gcGFyYSBhY3R1YWxpemFyIHN1IMOhcmJvbCBkZSB0cmFiYWpvIHBhcmEgcXVlIGNvaW5jaWRhICIKKyJjb24gbG8gcXVlXG4iCisiZW52aWFyw6FzIGNvbiBlbCBwdXNoIGRlIG90cmEgbWFuZXJhLlxuIgogIlxuIgogIlBhcmEgc3VwcmltaXIgZXN0ZSBtZW5zYWplIHkgbWFudGVuZXIgZWwgY29tcG9ydGFtaWVudG8gcHJlZGV0ZXJtaW5hZG8sXG4iCi0iY29uZmlndXJlICdyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJyBhICdyZWZ1c2UnLiIKKyJjb25maWd1cmEgJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGEgJ3JlZnVzZScuIgogCiAjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjg1MAogbXNnaWQgIiIKQEAgLTE1NjAzLDIxICsxODQwNyw3NiBAQAogImVuIGVsIHJlcG9zaXRvcmlvIHJlbW90byBwYXJhIHBlcm1pdGlyIGJvcnJhciBsYSByYW1hIGFjdHVhbC5cbiIKICJjb24gbyBzaW4gbWVuc2FqZSBkZSBhZHZlcnRlbmNpYS5cbiIKICJcbiIKLSJQYXJhIHN1cHJpbWlyIGVzdGUgbWVuc2FqZSwgcHVlZGUgY29uZmlndXJhcmxvIGVuICdyZWZ1c2UnLiIKKyJQYXJhIHN1cHJpbWlyIGVzdGUgbWVuc2FqZSwgcHVlZGVzIGNvbmZpZ3VyYXJsbyBlbiAncmVmdXNlJy4iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTkyOQorIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTM2CiBtc2dpZCAicXVpZXQiCiBtc2dzdHIgInRyYW5xdWlsbyIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NTAKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgZGlyZWN0b3J5LiIKIG1zZ3N0ciAiU2UgdGllbmUgcXVlIGVzcGVjaWZpY2FyIHVuIGRpcmVjdG9yaW8uIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjU2MyBidWlsdGluL3JlZmxvZy5jOjU2OAorIzogYnVpbHRpbi9yZWZsb2cuYzoxNworbXNnaWQgIiIKKyJnaXQgcmVmbG9nIGV4cGlyZSBbLS1leHBpcmU9PHRpbWU+XSBbLS1leHBpcmUtdW5yZWFjaGFibGU9PHRpbWU+XSBbLS0iCisicmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1zdGFsZS1maXhdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gWy0tYWxsXSAiCisiPHJlZnM+Li4uIgorbXNnc3RyICIiCisiZ2l0IHJlZmxvZyBleHBpcmUgWy0tZXhwaXJlPTx0aWVtcG8+XSBbLS1leHBpcmUtdW5yZWFjaGFibGU9PHRpZW1wbz5dIFstLSIKKyJyZXdyaXRlXSBbLS11cGRhdGVyZWZdIFstLXN0YWxlLWZpeF0gWy0tZHJ5LXJ1biB8IC1uXSBbLS12ZXJib3NlXSBbLS1hbGxdICIKKyI8cmVmcz4uLi4iCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6MjIKK21zZ2lkICIiCisiZ2l0IHJlZmxvZyBkZWxldGUgWy0tcmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1kcnktcnVuIHwgLW5dIFstLXZlcmJvc2VdICIKKyI8cmVmcz4uLi4iCittc2dzdHIgIiIKKyJnaXQgcmVmbG9nIGRlbGV0ZSBbLS1yZXdyaXRlXSBbLS11cGRhdGVyZWZdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gIgorIjxyZWZzPi4uLiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzoyNQorbXNnaWQgImdpdCByZWZsb2cgZXhpc3RzIDxyZWY+IgorbXNnc3RyICJnaXQgcmVmbG9nIGV4aXN0ZSA8cmVmPiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo1NjcgYnVpbHRpbi9yZWZsb2cuYzo1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIiclcycgbm8gZXMgdW5hIG1hcmNhIGRlIHRpZW1wbyB2w6FsaWRhIgogCisjOiBidWlsdGluL3JlZmxvZy5jOjYwNQorIywgYy1mb3JtYXQKK21zZ2lkICJNYXJraW5nIHJlYWNoYWJsZSBvYmplY3RzLi4uIgorbXNnc3RyICJNYXJjYW5kbyBvYmplY3RvcyBhbGNhbnphYmxlcy4uLiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo2NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcG9pbnRzIG5vd2hlcmUhIgorbXNnc3RyICLCoSVzIGFwdW50YSBhIG5pbmfDum4gbGFkbyEiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6Njk1Cittc2dpZCAibm8gcmVmbG9nIHNwZWNpZmllZCB0byBkZWxldGUiCittc2dzdHIgIm5vIHJlZmxvZyBlc3BlY2lmaWNhZG8gcGFyYSBib3JyYXIiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHJlZmxvZzogJXMiCittc2dzdHIgIm5vIGVzIHVuYSByZWZsb2c6ICVzIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjcwOQorIywgYy1mb3JtYXQKK21zZ2lkICJubyByZWZsb2cgZm9yICclcyciCittc2dzdHIgIm5vIHJlZmxvZyBwYXJhICclcyciCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVmIGZvcm1hdDogJXMiCittc2dzdHIgImZvcm1hdG8gaW52w6FsaWRvOiAlcyIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo3NjQKK21zZ2lkICJnaXQgcmVmbG9nIFsgc2hvdyB8IGV4cGlyZSB8IGRlbGV0ZSB8IGV4aXN0cyBdIgorbXNnc3RyICJnaXQgcmVmbG9nIFsgc2hvdyB8IGV4cGlyZSB8IGRlbGV0ZSB8IGV4aXN0cyBdIgorCiAjOiBidWlsdGluL3JlbW90ZS5jOjE2CiBtc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCkBAIC0xNTc4MCw3ICsxODYzOSw3IEBACiBtc2dpZCAiKGRlbGV0ZSkiCiBtc2dzdHIgIihlbGltaW5hcikiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjI5IGJ1aWx0aW4vcmVtb3RlLmM6NzY1IGJ1aWx0aW4vcmVtb3RlLmM6ODY0CisjOiBidWlsdGluL3JlbW90ZS5jOjYyOSBidWlsdGluL3JlbW90ZS5jOjc2NCBidWlsdGluL3JlbW90ZS5jOjg2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZTogJyVzJyIKIG1zZ3N0ciAiTm8gZXhpc3RlIGVsIHJlbW90byAnJXMnIgpAQCAtMTU4MDEsMTcgKzE4NjYwLDE3IEBACiAiXHQlc1xuIgogIlx0UG9yIGZhdm9yIGFjdHVhbGljZSBsYSBjb25maWd1cmFjacOzbiBtYW51YWxtZW50ZSBzaSBlcyBuZWNlc2FyaW8uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjcwMgorIzogYnVpbHRpbi9yZW1vdGUuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgImJvcnJhbmRvICclcycgZmFsbMOzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjczNgorIzogYnVpbHRpbi9yZW1vdGUuYzo3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3JlYXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgImNyZWFuZG8gJyVzJyBmYWxsw7MiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODAyCisjOiBidWlsdGluL3JlbW90ZS5jOjgwMQogbXNnaWQgIiIKICJOb3RlOiBBIGJyYW5jaCBvdXRzaWRlIHRoZSByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSB3YXMgbm90IHJlbW92ZWQ7XG4iCiAidG8gZGVsZXRlIGl0LCB1c2U6IgpAQCAtMTU4MTksMTI1ICsxODY3OCwxMjUgQEAKICJOb3RlOiBTb21lIGJyYW5jaGVzIG91dHNpZGUgdGhlIHJlZnMvcmVtb3Rlcy8gaGllcmFyY2h5IHdlcmUgbm90IHJlbW92ZWQ7XG4iCiAidG8gZGVsZXRlIHRoZW0sIHVzZToiCiBtc2dzdHJbMF0gIiIKLSJOb3RhOiBVbmEgcmFtYSBmdWVyYSBkZSBsYSBqZXJhcnF1w61hIHJlZnMvcmVtb3Rlcy8gbm8gZnVlIHJlbW92aWRhO1xuIgorIk5vdGE6IFVuYSByYW1hIGZ1ZXJhIGRlIGxhIGplcmFycXXDrWEgcmVmcy9yZW1vdGVzLyBubyBmdWUgZWxpbWluYWRhO1xuIgogInBhcmEgYm9ycmFybGEsIHVzZToiCiBtc2dzdHJbMV0gIiIKICJOb3RhOiBBbGd1bmFzIHJhbWFzIGZ1ZXJhIGRlIGxhIGplcmFycXXDrWEgcmVmcy9yZW1vdGVzLyBubyBmdWVyb24gIgotInJlbW92aWRhcztcbiIKKyJlbGltaW5hZGFzO1xuIgogInBhcmEgYm9ycmFybGFzLCB1c2U6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgxNgorIzogYnVpbHRpbi9yZW1vdGUuYzo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBjb25maWcgc2VjdGlvbiAnJXMnIgogbXNnc3RyICJObyBzZSBwdWRvIGJvcnJhciBsYSBzZWNjacOzbiBkZSBjb25maWd1cmFjacOzbiAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkxNworIzogYnVpbHRpbi9yZW1vdGUuYzo5MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIG5ldyAobmV4dCBmZXRjaCB3aWxsIHN0b3JlIGluIHJlbW90ZXMvJXMpIgogbXNnc3RyICIgbnVldm8gKHNpZ3VpZW50ZSBmZXRjaCBzZSBndWFyZGFyw6EgZW4gcmVtb3Rlcy8lcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTIwCisjOiBidWlsdGluL3JlbW90ZS5jOjkxOQogbXNnaWQgIiB0cmFja2VkIgogbXNnc3RyICIgcmFzdHJlYWRhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkyMgorIzogYnVpbHRpbi9yZW1vdGUuYzo5MjEKIG1zZ2lkICIgc3RhbGUgKHVzZSAnZ2l0IHJlbW90ZSBwcnVuZScgdG8gcmVtb3ZlKSIKIG1zZ3N0ciAiIHZpZWpvICggdXNlICdnaXQgcmVtb3RlIHBydW5lJyBwYXJhIGVsaW1pbmFyKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTIzCiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiID8/PyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAiaW52w6FsaWRvIGJyYW5jaC4lcy5tZXJnZTsgbm8gc2UgcHVlZGUgcmViYXNhciBlbiA+IDEgcmFtYSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTczCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAicmViYXNhIGludGVyYWN0aXZhbWVudGUgZW4gcmVtb3RvICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3NgorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBpbnRlcmFjdGl2ZWx5ICh3aXRoIG1lcmdlcykgb250byByZW1vdGUgJXMiCiBtc2dzdHIgInJlYmFzYSBpbnRlcmFjdGl2YW1lbnRlIChjb24gZnVzaW9uZXMpIGVuIHJlbW90byAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCiBtc2dzdHIgInJlYmFzYSBzb2JyZSBlbCByZW1vdG8gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTgzCisjOiBidWlsdGluL3JlbW90ZS5jOjk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgbWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICIgc2UgZnVzaW9uYSBjb24gcmVtb3RvICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk4NgorIzogYnVpbHRpbi9yZW1vdGUuYzo5ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICJmdXNpb25hIGNvbiByZW1vdG8gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg5CisjOiBidWlsdGluL3JlbW90ZS5jOjk4OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlLSpzICAgIGFuZCB3aXRoIHJlbW90ZSAlc1xuIgogbXNnc3RyICIlLSpzIHkgY29uIGVsIHJlbW90byAlc1xuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzMQogbXNnaWQgImNyZWF0ZSIKIG1zZ3N0ciAiY3JlYXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM0CiBtc2dpZCAiZGVsZXRlIgogbXNnc3RyICJib3JyYXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM4CiBtc2dpZCAidXAgdG8gZGF0ZSIKIG1zZ3N0ciAiYWN0dWFsaXphZG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQxCiBtc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKIG1zZ3N0ciAicHVlZGUgcmVhbGl6YXIgZmFzdC1mb3J3YXJkIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NAogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICJkZXNhY3R1YWxpemFkbyBsb2NhbCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUyCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMgZnVlcnphIGEgJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyBwdWJsaWNhIGEgJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzIGZ1ZXJ6YSBhICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA2MQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzIHB1YmxpY2EgYSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTMwCisjOiBidWlsdGluL3JlbW90ZS5jOjExMjkKIG1zZ2lkICJkbyBub3QgcXVlcnkgcmVtb3RlcyIKIG1zZ3N0ciAibm8gY29uc3VsdGFyIHJlbW90b3MiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiogcmVtb3RlICVzIgogbXNnc3RyICIqIHJlbW90byAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGZXRjaCBVUkw6ICVzIgogbXNnc3RyICIgIFVSTCAgcGFyYSBvYnRlbmVyOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU5IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NSBidWlsdGluL3JlbW90ZS5jOjEzMTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OCBidWlsdGluL3JlbW90ZS5jOjExNzQgYnVpbHRpbi9yZW1vdGUuYzoxMzEzCiBtc2dpZCAiKG5vIFVSTCkiCiBtc2dzdHIgIihzaW4gVVJMKSIKIApAQCAtMTU5NDUsMTk0ICsxODgwNCwxODUgQEAKICMuIHdpdGggdGhlIG9uZSBpbiAiIEZldGNoIFVSTDogJXMiCiAjLiB0cmFuc2xhdGlvbi4KICMuCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzMgYnVpbHRpbi9yZW1vdGUuYzoxMTc1CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzIgYnVpbHRpbi9yZW1vdGUuYzoxMTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUHVzaCAgVVJMOiAlcyIKIG1zZ3N0ciAiICBVUkwgcGFyYSBwdWJsaWNhcjogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NyBidWlsdGluL3JlbW90ZS5jOjExNzkgYnVpbHRpbi9yZW1vdGUuYzoxMTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNzYgYnVpbHRpbi9yZW1vdGUuYzoxMTc4IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEhFQUQgYnJhbmNoOiAlcyIKIG1zZ3N0ciAiICBSYW1hIEhFQUQ6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NgogbXNnaWQgIihub3QgcXVlcmllZCkiCiBtc2dzdHIgIihubyBjb25zdWx0YWRvKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc5CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzgKIG1zZ2lkICIodW5rbm93bikiCiBtc2dzdHIgIihkZXNjb25vY2lkbykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIEhFQUQgYnJhbmNoIChyZW1vdGUgSEVBRCBpcyBhbWJpZ3VvdXMsIG1heSBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyk6XG4iCiBtc2dzdHIgIiIKICIgIEhFQUQgZW4gcmFtYSAoIEhFQUQgcmVtb3RvIGVzIGFtYmlndW8sIHB1ZWRlIHNlciB1bm8gZGUgbG9zIHNpZ3VpZW50ZXMpOlxuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExOTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFJlbW90ZSBicmFuY2g6JXMiCiBtc2dpZF9wbHVyYWwgIiAgUmVtb3RlIGJyYW5jaGVzOiVzIgogbXNnc3RyWzBdICIgIFJhbWEgcmVtb3RhOiVzIgogbXNnc3RyWzFdICIgIFJhbWFzIHJlbW90YXM6JXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5OCBidWlsdGluL3JlbW90ZS5jOjEyMjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NyBidWlsdGluL3JlbW90ZS5jOjEyMjMKIG1zZ2lkICIgKHN0YXR1cyBub3QgcXVlcmllZCkiCiBtc2dzdHIgIiAoZXN0YWRvIG5vIGNvbnN1bHRhZG8pIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNgogbXNnaWQgIiAgTG9jYWwgYnJhbmNoIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIGJyYW5jaGVzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnc3RyWzBdICIgIFJhbWEgbG9jYWwgY29uZmlndXJhZGEgcGFyYSAnZ2l0IHB1bGwnOiIKIG1zZ3N0clsxXSAiICBSYW1hcyBsb2NhbGVzIGNvbmZpZ3VyYWRhcyBwYXJhICdnaXQgcHVsbCc6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIxNAogbXNnaWQgIiAgTG9jYWwgcmVmcyB3aWxsIGJlIG1pcnJvcmVkIGJ5ICdnaXQgcHVzaCciCiBtc2dzdHIgIiAgTGFzIHJlZmVyZW5jaWFzIGxvY2FsZXMgc2Vyw6FuIHJlZmxlamFkYXMgcG9yICdnaXQgcHVzaCciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTG9jYWwgcmVmIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgcmVmcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnc3RyWzBdICIgIFJlZmVyZW5jaWEgbG9jYWwgY29uZmlndXJhZGEgcGFyYSAnZ2l0IHB1c2gnJXM6IgogbXNnc3RyWzFdICIgIFJlZmVyZW5jaWFzIGxvY2FsZXMgY29uZmlndXJhZGFzIHBhcmEgJ2dpdCBwdXNoJyVzOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQyCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDEKIG1zZ2lkICJzZXQgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIGFjY29yZGluZyB0byByZW1vdGUiCiBtc2dzdHIgImNvbmZpZ3VyYXIgcmVmcy9yZW1vdGVzLzxub21icmU+L0hFQUQgZGUgYWN1ZXJkbyBhbCByZW1vdG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQzCiBtc2dpZCAiZGVsZXRlIHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCIKIG1zZ3N0ciAiYm9ycmFyIHJlZnMvcmVtb3Rvcy88bm9tYnJlPi9IRUFEIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1OAogbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgcmVtb3RlIEhFQUQiCiBtc2dzdHIgIk5vIHNlIHB1ZWRlIGRldGVybWluYXIgZWwgSEVBRCByZW1vdG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYwCiBtc2dpZCAiTXVsdGlwbGUgcmVtb3RlIEhFQUQgYnJhbmNoZXMuIFBsZWFzZSBjaG9vc2Ugb25lIGV4cGxpY2l0bHkgd2l0aDoiCiBtc2dzdHIgIk3Dumx0aXBsZXMgcmFtYXMgSEVBRCByZW1vdGFzLiBQb3IgZmF2b3IgZXNjb2phIHVuYSBleHBsw61jaXRhbWVudGUgY29uOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjcxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGRlbGV0ZSAlcyIKIG1zZ3N0ciAiTm8gc2UgcHVkbyBib3JyYXIgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIHJlZjogJXMiCiBtc2dzdHIgIk5vIGVzIHVuIHJlZiB2w6FsaWRvOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwICVzIgogbXNnc3RyICJObyBzZSBwdWRvIGNvbmZpZ3VyYXIgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyB3aWxsIGJlY29tZSBkYW5nbGluZyEiCi1tc2dzdHIgIiAlcyBzZXLDoSBjb2xnYWRvISIKK21zZ3N0ciAiIMKhJXMgc2Vyw6EgY29sZ2FkbyEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyBoYXMgYmVjb21lIGRhbmdsaW5nISIKLW1zZ3N0ciAiICVzIGhhIHNpZG8gY29sZ2FkbyEiCittc2dzdHIgIiDCoSVzIGhhIHNpZG8gY29sZ2FkbyEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBydW5pbmcgJXMiCiBtc2dzdHIgIlJlY29ydGFuZG8gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVSTDogJXMiCiBtc2dzdHIgIlVSTDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyNworIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFt3b3VsZCBwcnVuZV0gJXMiCiBtc2dzdHIgIiAqIFtlamVjdXRhcsOhIHBydW5lXSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzMwCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3BydW5lZF0gJXMiCiBtc2dzdHIgIiAqIFtwcnVuZSByZWFsaXphZG9dICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzNzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM3NAogbXNnaWQgInBydW5lIHJlbW90ZXMgYWZ0ZXIgZmV0Y2hpbmciCiBtc2dzdHIgInJlY29ydGFyIHJlbW90b3MgdHJhcyByZWFsaXphciBmZXRjaCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDM4IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5MiBidWlsdGluL3JlbW90ZS5jOjE1NjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNyBidWlsdGluL3JlbW90ZS5jOjE0OTEgYnVpbHRpbi9yZW1vdGUuYzoxNTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlICclcyciCiBtc2dzdHIgIk5vIGV4aXN0ZSBlbCByZW1vdG8gJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDU0CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NTMKIG1zZ2lkICJhZGQgYnJhbmNoIgogbXNnc3RyICJhZ3JlZ2FyIHJhbWEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYwCiBtc2dpZCAibm8gcmVtb3RlIHNwZWNpZmllZCIKIG1zZ3N0ciAibm8gaGF5IHJlbW90b3MgZXNwZWNpZmljYWRvcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDc4CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NzcKIG1zZ2lkICJxdWVyeSBwdXNoIFVSTHMgcmF0aGVyIHRoYW4gZmV0Y2ggVVJMcyIKIG1zZ3N0ciAiY29uc3VsdGFyIFVSTHMgZGUgcHVzaCBlbiBsdWdhciBkZSBVUkxzIGRlIGZldGNoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0ODAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3OQogbXNnaWQgInJldHVybiBhbGwgVVJMcyIKIG1zZ3N0ciAicmV0b3JuYXIgdG9kb3MgbG9zIFVSTHMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUwOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCiBtc2dzdHIgIm5vIGhheSBVUkxzIGNvbmZpZ3VyYWRvcyBwYXJhIHJlbW90byAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzMwogbXNnaWQgIm1hbmlwdWxhdGUgcHVzaCBVUkxzIgogbXNnc3RyICJtYW5pcHVsYXIgVVJMcyBkZSBwdXNoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzNQogbXNnaWQgImFkZCBVUkwiCiBtc2dzdHIgImFncmVnYXIgVVJMIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzNwogbXNnaWQgImRlbGV0ZSBVUkxzIgogbXNnc3RyICJib3JyYXIgVVJMcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTQ1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NDQKIG1zZ2lkICItLWFkZCAtLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tYWRkIC0tZGVsZXRlIG5vIHRpZW5lIHNlbnRpZG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgb2xkIFVSTCBwYXR0ZXJuOiAlcyIKIG1zZ3N0ciAiUGF0csOzbiBkZSBVUkwgdmllam8gaW52w6FsaWRvOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkyCisjOiBidWlsdGluL3JlbW90ZS5jOjE1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgogbXNnc3RyICJObyBzZSBlbmNvbnRyw7MgVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTk0CisjOiBidWlsdGluL3JlbW90ZS5jOjE1OTMKIG1zZ2lkICJXaWxsIG5vdCBkZWxldGUgYWxsIG5vbi1wdXNoIFVSTHMiCiBtc2dzdHIgIk5vIGJvcnJhcsOhIHRvZG9zIGxvcyBVUkxzIGRlIG5vLXB1c2giCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYxMAotbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCi1tc2dzdHIgInNlciB2ZXJib3NvOyB0aWVuZSBxdWUgc2VyIGFncmVnYWRvIGFudGVzIGRlIHVuIHN1YmNvbWFuZG8iCi0KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY0MQotIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgotbXNnc3RyICJTdWItY29tYW5kbyBkZXNjb25vY2lkbzogJXMiCi0KLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjMKIG1zZ2lkICJnaXQgcmVwYWNrIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgcmVwYWNrIFs8b3BjaW9uZXM+XSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyNworIzogYnVpbHRpbi9yZXBhY2suYzoyOAogbXNnaWQgIiIKICJJbmNyZW1lbnRhbCByZXBhY2tzIGFyZSBpbmNvbXBhdGlibGUgd2l0aCBiaXRtYXAgaW5kZXhlcy4gIFVzZVxuIgogIi0tbm8td3JpdGUtYml0bWFwLWluZGV4IG9yIGRpc2FibGUgdGhlIHBhY2sud3JpdGViaXRtYXBzIGNvbmZpZ3VyYXRpb24uIgpAQCAtMTYxNDAsOTcgKzE4OTkwLDEzNCBAQAogIlJlIGVtcGFxdWV0YWRvcyBpbmNyZW1lbnRhbGVzIHNvbiBpbmNvbXBhdGlibGVzIGNvbiDDrW5kaWNlcyBiaXRtYXAuIFVzZSBcbiIKICItLW5vLXdyaXRlLWJpdG1hcC1pbmRleCBvIGRlc2hhYmlsaXRlIGxhIGNvbmZpZ3VyYWNpw7NuIHBhY2sud3JpdGViaXRtYXBzLiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyOTQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkxCittc2dpZCAiY291bGQgbm90IHN0YXJ0IHBhY2stb2JqZWN0cyB0byByZXBhY2sgcHJvbWlzb3Igb2JqZWN0cyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgaW5pY2lhciBwYWNrLW9iamVjdHMgcGFyYSByZWVtcGFxdWV0YXIgb2JqZXRvcyBwcm9taXNvcmVzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjIzMCBidWlsdGluL3JlcGFjay5jOjQxNgorbXNnaWQgInJlcGFjazogRXhwZWN0aW5nIGZ1bGwgaGV4IG9iamVjdCBJRCBsaW5lcyBvbmx5IGZyb20gcGFjay1vYmplY3RzLiIKK21zZ3N0ciAiIgorInJlcGFjazogRXNwZXJhbmRvIGzDrW5lYXMgZGUgSUQgZGUgb2JqZXRvIGVuIGZ1bGwgaGV4IHNvbG8gZGVzZGUgcGFjay1vYmplY3RzLiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyNTQKK21zZ2lkICJjb3VsZCBub3QgZmluaXNoIHBhY2stb2JqZWN0cyB0byByZXBhY2sgcHJvbWlzb3Igb2JqZWN0cyIKK21zZ3N0ciAiIgorIm5vIHNlIHB1ZWRlIGZpbmFsaXphciBwYWNrLW9iamVjdHMgcGFyYSByZWVtcGFxdWV0YXIgb2JqZXRvcyBwcm9taXNvcmVzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjI5MgogbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgogbXNnc3RyICJlbXBhcXVldGFyIHRvZG8gZW4gdW4gw7puaWNvIHBhcXVldGUiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk2CisjOiBidWlsdGluL3JlcGFjay5jOjI5NAogbXNnaWQgInNhbWUgYXMgLWEsIGFuZCB0dXJuIHVucmVhY2hhYmxlIG9iamVjdHMgbG9vc2UiCiBtc2dzdHIgImxvIG1pc21vIHF1ZSAtYSwgeSBwaWVyZGUgb2JqZXRvcyBpbmFjY2VzaWJsZXMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk5CisjOiBidWlsdGluL3JlcGFjay5jOjI5NwogbXNnaWQgInJlbW92ZSByZWR1bmRhbnQgcGFja3MsIGFuZCBydW4gZ2l0LXBydW5lLXBhY2tlZCIKIG1zZ3N0ciAiZWxpbWluYXIgcGFxdWV0ZXMgcmVkdW5kYW50ZXMsIHkgZWplY3V0YXIgZ2l0LXBydW5lLXBhY2tlZCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMDEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk5CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLWRlbHRhIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgInBhc2FyIC0tbm8tcmV1c2UtZGVsdGEgYSBnaXQtcGFjay1vYmplY3RzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMwMworIzogYnVpbHRpbi9yZXBhY2suYzozMDEKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgInBhc2FyIC0tbm8tcmV1c2Utb2JqZWN0IGEgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMDUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzAzCiBtc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgogbXNnc3RyICJubyBlamVjdXRhciBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMwOAorIzogYnVpbHRpbi9yZXBhY2suYzozMDYKIG1zZ2lkICJwYXNzIC0tbG9jYWwgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAicGFzYXIgLS1sb2NhbCBhIGdpdC1wYWNrLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEwCisjOiBidWlsdGluL3JlcGFjay5jOjMwOAogbXNnaWQgIndyaXRlIGJpdG1hcCBpbmRleCIKIG1zZ3N0ciAiZXNjcmliaXIgdW4gw61uZGljZSBkZSBiaXRtYXAiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEyCisjOiBidWlsdGluL3JlcGFjay5jOjMxMAogbXNnaWQgInBhc3MgLS1kZWx0YS1pc2xhbmRzIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgInBhc2FyIC0tZGVsdGEtaXNsYW5kcyBhIGdpdC1wYWNrLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEzCisjOiBidWlsdGluL3JlcGFjay5jOjMxMQogbXNnaWQgImFwcHJveGlkYXRlIgogbXNnc3RyICJhcHJveGltZSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEyCiBtc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKIG1zZ3N0ciAiY29uIC1BLCBubyBwZXJkZXIgb2JqZXRvcyBtw6FzIGFudGlndW9zIHF1ZSBlc3RlIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMxNgorIzogYnVpbHRpbi9yZXBhY2suYzozMTQKIG1zZ2lkICJ3aXRoIC1hLCByZXBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAiY29uIC1hLCByZSBlbXBhcXVldGFyIG9iamV0b3MgaW5hbGNhbnphYmxlcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE2CiBtc2dpZCAic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIgogbXNnc3RyICJ0YW1hw7FvIGRlIGxhIHZlbnRhbmEgdXNhZG8gcGFyYSBsYSBjb21wcmVzacOzbiBkZWx0YSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTkgYnVpbHRpbi9yZXBhY2suYzozMjUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE3IGJ1aWx0aW4vcmVwYWNrLmM6MzIzCiBtc2dpZCAiYnl0ZXMiCiBtc2dzdHIgImJ5dGVzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMyMAorIzogYnVpbHRpbi9yZXBhY2suYzozMTgKIG1zZ2lkICJzYW1lIGFzIHRoZSBhYm92ZSwgYnV0IGxpbWl0IG1lbW9yeSBzaXplIGluc3RlYWQgb2YgZW50cmllcyBjb3VudCIKIG1zZ3N0ciAiIgogImxvIG1pc21vIHF1ZSBhcnJpYmEsIHBlcm8gbGltaXRhIGVsIHRhbWHDsW8gZGUgbWVtb3JpYSBlbiBsdWdhciBkZSBjb250YXIgIgogImVudHJhZGFzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMyMgorIzogYnVpbHRpbi9yZXBhY2suYzozMjAKIG1zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gZGVsdGEgZGVwdGgiCiBtc2dzdHIgImxpbWl0YSBsYSBwcm9mdW5kaWRhZCBtw6F4aW1hIGRlbCBkZWx0YSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMjQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzIyCiBtc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiB0aHJlYWRzIgogbXNnc3RyICJsaW1pdGEgZWwgbsO6bWVybyBtw6F4aW1vIGRlIGhpbG9zIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMyNgorIzogYnVpbHRpbi9yZXBhY2suYzozMjQKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBwYWNrZmlsZSIKIG1zZ3N0ciAidGFtYcOxbyBtw6F4aW1vIGRlIGNhZGEgcGFxdWV0ZSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMjgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI2CiBtc2dpZCAicmVwYWNrIG9iamVjdHMgaW4gcGFja3MgbWFya2VkIHdpdGggLmtlZXAiCiBtc2dzdHIgInJlLWVtcGFxdWV0YXIgb2JqZXRvcyBlbiBwYXF1ZXRlcyBtYXJjYWRvcyBjb24gLmtlZXAiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzMwCisjOiBidWlsdGluL3JlcGFjay5jOjMyOAogbXNnaWQgImRvIG5vdCByZXBhY2sgdGhpcyBwYWNrIgogbXNnc3RyICJubyByZWVtcGFxdWV0YXIgZXN0ZSBwYXF1ZXRlIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjM0MAorIzogYnVpbHRpbi9yZXBhY2suYzozMzgKIG1zZ2lkICJjYW5ub3QgZGVsZXRlIHBhY2tzIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICJubyBzZSBwdWVkZW4gYm9ycmFyIHBhcXVldGVzIGVuIHVuIHJlcG9zaXRvcmlvIGRlIG9iamV0b3MtcHJlY2lvc29zIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjM0NAorIzogYnVpbHRpbi9yZXBhY2suYzozNDIKIG1zZ2lkICItLWtlZXAtdW5yZWFjaGFibGUgYW5kIC1BIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0ta2VlcC11bnJlYWNoYWJsZSB5IC1BIHNvbiBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjUyNworIzogYnVpbHRpbi9yZXBhY2suYzo0MjUKK21zZ2lkICJOb3RoaW5nIG5ldyB0byBwYWNrLiIKK21zZ3N0ciAiTmFkYSBudWV2byBwYXJhIGVtcGFxdWV0YXIuIgorCisjOiBidWlsdGluL3JlcGFjay5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogU29tZSBwYWNrcyBpbiB1c2UgaGF2ZSBiZWVuIHJlbmFtZWQgYnlcbiIKKyJXQVJOSU5HOiBwcmVmaXhpbmcgb2xkLSB0byB0aGVpciBuYW1lLCBpbiBvcmRlciB0b1xuIgorIldBUk5JTkc6IHJlcGxhY2UgdGhlbSB3aXRoIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGVcbiIKKyJXQVJOSU5HOiBmaWxlLiAgQnV0IHRoZSBvcGVyYXRpb24gZmFpbGVkLCBhbmQgdGhlXG4iCisiV0FSTklORzogYXR0ZW1wdCB0byByZW5hbWUgdGhlbSBiYWNrIHRvIHRoZWlyXG4iCisiV0FSTklORzogb3JpZ2luYWwgbmFtZXMgYWxzbyBmYWlsZWQuXG4iCisiV0FSTklORzogUGxlYXNlIHJlbmFtZSB0aGVtIGluICVzIG1hbnVhbGx5OlxuIgorbXNnc3RyICIiCisiV0FSTklORzogQWxndW5vcyBwYWNrcyBlbiB1c28gaGFuIHNpZG8gcmVub21icmFkb3NcbiIKKyJXQVJOSU5HOiBhZ3JlZ2FuZG8gZWwgcHJlZmlqbyBvbGQtIGEgc3VzIG5vbWJyZXMscGFyYVxuIgorIldBUk5JTkc6IHJlZW1wbGF6YXJsb3MgY29uIGxhIG51ZXZhIHZlcnNpw7NuIGRlbFxuIgorIldBUk5JTkc6IGFyY2hpdm8uIFBlcm8gbGEgb3BlcmFjacOzbiBmYWxsw7MsIHkgZWwgaW50ZW50b1xuIgorIldBUk5JTkc6IGRlIHJlbm9tYnJhcmxvcyBhIHN1cyBub21icmVzIG9yaWdpbmFsZXNcbiIKKyJXQVJOSU5HOiB0YW1iacOpbiBmYWxsw7MuXG4iCisiV0FSTklORzogUG9yIGZhdm9yIHJlbm9tYnJhbG9zIGVuICVzIG1hbnVhbG1lbnRlOlxuIgorCisjOiBidWlsdGluL3JlcGFjay5jOjUzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICclcyciCiBtc2dzdHIgImZhbGzDsyBhbCBlbGltaW5hciclcyciCkBAIC0xNjI1OSwxMiArMTkxNDYsNyBAQAogbXNnaWQgImdpdCByZXBsYWNlIFstLWZvcm1hdD08Zm9ybWF0Pl0gWy1sIFs8cGF0dGVybj5dXSIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PTxmb3JtYXRvPl0gWy1sIFs8cGF0csOzbj5dXSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTggYnVpbHRpbi9yZXBsYWNlLmM6MjAzIGJ1aWx0aW4vcmVwbGFjZS5jOjIwNgotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmIgotbXNnc3RyICJmYWxsw7MgYWwgcmVzb2x2ZXIgJyVzJyBjb21vIHJlZiB2w6FsaWRhIgotCi0jOiBidWlsdGluL3JlcGxhY2UuYzo4NgorIzogYnVpbHRpbi9yZXBsYWNlLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImludmFsaWQgcmVwbGFjZSBmb3JtYXQgJyVzJ1xuIgpAQCAtMTYyNzMsMjcgKzE5MTU1LDI3IEBACiAiZm9ybWF0byBkZSByZWVtcGxhem8gaW52w6FsaWRvICclcydcbiIKICJmb3JtYXRvcyB2w6FsaWRvcyBzb24gJ3Nob3J0JywgJ21lZGl1bScgeSAnbG9uZyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEyMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcGxhY2UgcmVmICclcycgbm90IGZvdW5kIgogbXNnc3RyICJyYW1hIGRlIHJlZW1wbGF6byAnJXMnIG5vIGVuY29udHJhZGEiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEzNworIzogYnVpbHRpbi9yZXBsYWNlLmM6MTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgcmVwbGFjZSByZWYgJyVzJyIKIG1zZ3N0ciAiQm9ycmFkYXMgcmVwbGFjZSByZWZzICclcyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE0OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmIG5hbWUiCiBtc2dzdHIgIiclcycgbm8gZXMgdW4gbm9tYnJlIGRlIHJlZiB2w6FsaWRvIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxNTQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBsYWNlIHJlZiAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJyZWYgZGUgcmVlbXBsYXpvICclcycgeWEgZXhpc3RlIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxNzQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiT2JqZWN0cyBtdXN0IGJlIG9mIHRoZSBzYW1lIHR5cGUuXG4iCkBAIC0xNjMwNCw3NiArMTkxODYsODEgQEAKICInJXMnIHB1bnRvcyBwYXJhIHVuIG9iamV0byByZWVtcGxhemFkbyBkZSB0aXBvICclcydcbiIKICJtaWVudHJhcyAnJXMnIHB1bnRvcyBwYXJhIHVuIHJlZW1wbGF6byBkZSB0aXBvIGRlIG9iamV0byAnJXMnLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjI1CisjOiBidWlsdGluL3JlcGxhY2UuYzoyMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gYWJyaXIgJXMgcGFyYSBlc2NyaXR1cmEiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIzOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjQyCiBtc2dpZCAiY2F0LWZpbGUgcmVwb3J0ZWQgZmFpbHVyZSIKIG1zZ3N0ciAiY2F0LWZpbGUgcmVwb3J0w7MgdW4gZmFsbG8iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI1NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIGZvciByZWFkaW5nIgogbXNnc3RyICJubyBzZSBwdWRvIGFicmlyICVzIHBhcmEgbGVjdHVyYSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjY4CisjOiBidWlsdGluL3JlcGxhY2UuYzoyNzIKIG1zZ2lkICJ1bmFibGUgdG8gc3Bhd24gbWt0cmVlIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGdlbmVyYXIgbWt0cmVlIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyNzIKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI3NgogbXNnaWQgInVuYWJsZSB0byByZWFkIGZyb20gbWt0cmVlIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGxlZXIgZGUgbWt0cmVlIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyODEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI4NQogbXNnaWQgIm1rdHJlZSByZXBvcnRlZCBmYWlsdXJlIgogbXNnc3RyICJta3RyZWUgcmVwb3J0w7MgdW4gZXJyb3IiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI4NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjg5CiBtc2dpZCAibWt0cmVlIGRpZCBub3QgcmV0dXJuIGFuIG9iamVjdCBuYW1lIgogbXNnc3RyICJta3RyZWUgbm8gZGV2b2x2acOzIHVuIG5vbWJyZSBkZSBvYmpldG8iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI5NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBmc3RhdCAlcyIKIG1zZ3N0ciAiaW5jYXBheiBkZSBjb3JyZXIgZnN0YXQgJXMiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI5OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzAzCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG9iamVjdCB0byBkYXRhYmFzZSIKIG1zZ3N0ciAiaW5jYXBheiBkZSBlc2NyaWJpciBlbCBvYmpldG8gZW4gbGEgYmFzZSBkZSBkYXRvcyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzE4IGJ1aWx0aW4vcmVwbGFjZS5jOjM3MSBidWlsdGluL3JlcGxhY2UuYzo0MTUKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzIyIGJ1aWx0aW4vcmVwbGFjZS5jOjM3OCBidWlsdGluL3JlcGxhY2UuYzo0MjMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJyIKIG1zZ3N0ciAibm9tYnJlIGRlIG9iamV0byBubyB2w6FsaWRvOiAnJXMnIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozMjIKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IG9iamVjdCB0eXBlIGZvciAlcyIKIG1zZ3N0ciAibm8gZXMgb2J0ZW5lciB0aXBvIGRlIG9iamV0byBwYXJhICVzIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozMzgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM0MgogbXNnaWQgImVkaXRpbmcgb2JqZWN0IGZpbGUgZmFpbGVkIgogbXNnc3RyICJlZGljacOzbiBkZSBhcmNoaXZvIGRlIG9iamV0byBmYWxsw7MiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM0NworIzogYnVpbHRpbi9yZXBsYWNlLmM6MzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBvYmplY3QgaXMgdGhlIHNhbWUgYXMgdGhlIG9sZCBvbmU6ICclcyciCiBtc2dzdHIgIm51ZXZvIG9iamV0byBlcyBpZ3VhbCBhbCBhbnRpZ3VvOiAnJXMnIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MDcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMgYXMgYSBjb21taXQiCittc2dzdHIgIm5vIHNlIHB1ZG8gYW5hbGl6YXIgJXMgY29tbyB1biBjb21taXQiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCiBtc2dzdHIgIm1hbCBtZXJnZXRhZyBlbiBjb21taXQgJyVzJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDA5CisjOiBidWlsdGluL3JlcGxhY2UuYzo0MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG1lcmdldGFnIGluIGNvbW1pdCAnJXMnIgogbXNnc3RyICJtZXJnZXRhZyBtYWwgZm9ybWFkbyBlbiBjb21taXQgJyVzJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDIxCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm9yaWdpbmFsIGNvbW1pdCAnJXMnIGNvbnRhaW5zIG1lcmdldGFnICclcycgdGhhdCBpcyBkaXNjYXJkZWQ7IHVzZSAtLWVkaXQgIgpAQCAtMTYzODIsMzEgKzE5MjY5LDMxIEBACiAiY29tbWl0IG9yaWdpbmFsICclcycgY29udGllbmUgdW4gbWVyZ2V0YWcgJyVzJyBxdWUgZXMgZGVzY2FydGFkbzsgdXNlIC0tZWRpdCAiCiAiZW4gbHVnYXIgZGUgLS1ncmFmdCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDYwCisjOiBidWlsdGluL3JlcGxhY2UuYzo0NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIG9yaWdpbmFsIGNvbW1pdCAnJXMnIGhhcyBhIGdwZyBzaWduYXR1cmUiCiBtc2dzdHIgImVsIGNvbW1pdCBvcmlnaW5hbCAnJXMnIHRpZW5lIHVuYSBmaXJtYSBncGciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDY5CiBtc2dpZCAidGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIHJlcGxhY2VtZW50IGNvbW1pdCEiCi1tc2dzdHIgImxhIGZpcm1hIHNlcsOhIHJlbW92aWRhIGVuIGVsIGNvbW1pdCBkZSByZWVtcGxhem8hIgorbXNnc3RyICJsYSBmaXJtYSBzZXLDoSBlbGltaW5hZGEgZW4gZWwgY29tbWl0IGRlIHJlZW1wbGF6byEiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ3MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSByZXBsYWNlbWVudCBjb21taXQgZm9yOiAnJXMnIgogbXNnc3RyICJubyBzZSBwdWRvIGVzY3JpYmlyIGVsIGNvbW1pdCBkZSByZWVtcGxhem86ICclcyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ3OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyYWZ0IGZvciAnJXMnIHVubmVjZXNzYXJ5IgogbXNnc3RyICJncmFmdCBwYXJhICclcycgaW5uZWNlc2FyaW8iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ4MgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBjb21taXQgaXMgdGhlIHNhbWUgYXMgdGhlIG9sZCBvbmU6ICclcyciCiBtc2dzdHIgIm51ZXZvIGNvbW1pdCBlcyBsZSBtaXNtbyBxdWUgZWwgYW50aWd1bzogJyVzJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTE1CisjOiBidWlsdGluL3JlcGxhY2UuYzo1MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBjb252ZXJ0IHRoZSBmb2xsb3dpbmcgZ3JhZnQocyk6XG4iCkBAIC0xNjQxNSw3MSArMTkzMDIsNzEgQEAKICJubyBzZSBwdWRvIGNvbnZlcnRpciBlbCBzaWd1aWVudGUgZ3JhZnQocyk6XG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUzNgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQ3CiBtc2dpZCAibGlzdCByZXBsYWNlIHJlZnMiCiBtc2dzdHIgImxpc3RhciByZXBsYWNlIHJlZnMiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUzNworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQ4CiBtc2dpZCAiZGVsZXRlIHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAiYm9ycmFyIHJlcGxhY2UgcmVmcyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM4CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDkKIG1zZ2lkICJlZGl0IGV4aXN0aW5nIG9iamVjdCIKIG1zZ3N0ciAiZWRpdGFyIG9iamV0byBleGlzdGVudGUiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUzOQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTUwCiBtc2dpZCAiY2hhbmdlIGEgY29tbWl0J3MgcGFyZW50cyIKIG1zZ3N0ciAiY2FtYmlhciB1biBwYWRyZSBkZSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0MAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTUxCiBtc2dpZCAiY29udmVydCBleGlzdGluZyBncmFmdCBmaWxlIgogbXNnc3RyICJjb252ZXJ0aXIgYXJjaGl2byBncmFmdCBleGlzdGVudGUiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTUyCiBtc2dpZCAicmVwbGFjZSB0aGUgcmVmIGlmIGl0IGV4aXN0cyIKIG1zZ3N0ciAicmVlbXBsYXphciBlbCByZWYgc2kgZXN0ZSBleGlzdGUiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0MworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU0CiBtc2dpZCAiZG8gbm90IHByZXR0eS1wcmludCBjb250ZW50cyBmb3IgLS1lZGl0IgogbXNnc3RyICJubyBzZSBwdWVkZSBpbXByaW1pciBjb250ZW5pZG9zIHBhcmEgLS1lZGl0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NDQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1NQogbXNnaWQgInVzZSB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAidXNhciBlc3RlIGZvcm1hdG8iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1NworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTY4CiBtc2dpZCAiLS1mb3JtYXQgY2Fubm90IGJlIHVzZWQgd2hlbiBub3QgbGlzdGluZyIKIG1zZ3N0ciAiLS1mb3JtYXQgbm8gcHVlZGUgc2VyIHVzYWRvIGN1YW5kbyBubyBzZSBoYWNlIGxpc3RpbmciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU2NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTc2CiBtc2dpZCAiLWYgb25seSBtYWtlcyBzZW5zZSB3aGVuIHdyaXRpbmcgYSByZXBsYWNlbWVudCIKIG1zZ3N0ciAiLWYgc29sbyB0aWVuZSBzZW50aWRvIGN1YW5kbyBzZSBlc2NyaWJlIHVuIHJlZW1wbGF6byIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTY5CisjOiBidWlsdGluL3JlcGxhY2UuYzo1ODAKIG1zZ2lkICItLXJhdyBvbmx5IG1ha2VzIHNlbnNlIHdpdGggLS1lZGl0IgogbXNnc3RyICItLXJhdyBzb2xvIHRpZW5lIHNlbnRpZG8gY29uIC0tZWRpdCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTc1CisjOiBidWlsdGluL3JlcGxhY2UuYzo1ODYKIG1zZ2lkICItZCBuZWVkcyBhdCBsZWFzdCBvbmUgYXJndW1lbnQiCiBtc2dzdHIgIi1kIG5lY2VzaXRhIGFsIG1lbm9zIHVuIGFyZ3VtZW50byIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTgxCisjOiBidWlsdGluL3JlcGxhY2UuYzo1OTIKIG1zZ2lkICJiYWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKIG1zZ3N0ciAibWFsIG7Dum1lcm8gZGUgYXJndW1lbnRvcyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTg3CisjOiBidWlsdGluL3JlcGxhY2UuYzo1OTgKIG1zZ2lkICItZSBuZWVkcyBleGFjdGx5IG9uZSBhcmd1bWVudCIKIG1zZ3N0ciAiLWUgbmVjZXNpdGEgZXhhY3RhbWVudGUgdW4gYXJndW1lbnRvIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1OTMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYwNAogbXNnaWQgIi1nIG5lZWRzIGF0IGxlYXN0IG9uZSBhcmd1bWVudCIKIG1zZ3N0ciAiLWcgbmVjZXNpdGEgYWwgbWVub3MgdW4gYXJndW1lbnRvIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1OTkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYxMAogbXNnaWQgIi0tY29udmVydC1ncmFmdC1maWxlIHRha2VzIG5vIGFyZ3VtZW50IgogbXNnc3RyICItLWNvbnZlcnQtZ3JhZnQtZmlsZSBubyB0b21hIGFyZ3VtZW50b3MiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYwNQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NjE2CiBtc2dpZCAib25seSBvbmUgcGF0dGVybiBjYW4gYmUgZ2l2ZW4gd2l0aCAtbCIKIG1zZ3N0ciAic29sbyBzZSBwdWVkZSBkYXIgdW4gcGF0csOzbiBjb24gLWwiCiAKQEAgLTE2NDk1LDEyNiArMTkzODIsMTM4IEBACiBtc2dpZCAiJ2dpdCByZXJlcmUgZm9yZ2V0JyB3aXRob3V0IHBhdGhzIGlzIGRlcHJlY2F0ZWQiCiBtc2dzdHIgIidnaXQgcmVyZXJlIGZvcmdldCcgc2luIHJ1dGFzIGVzdMOhIGRlcHJlY2FkbyIKIAotIzogYnVpbHRpbi9yZXJlcmUuYzoxMTEKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6MTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBnZW5lcmF0ZSBkaWZmIGZvciAnJXMnIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGdlbmVyYXIgZGlmZiBwYXJhICclcyciCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMQorIzogYnVpbHRpbi9yZXNldC5jOjMyCiBtc2dpZCAiIgogImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxjb21taXQ+XSIKIG1zZ3N0ciAiIgogImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxjb21taXQ+XSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMyCi1tc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzPi4uLiIKLW1zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gWzzDoXJib2wtaXNtbz5dIFstLV0gPHJ1dGFzPi4uLiIKLQogIzogYnVpbHRpbi9yZXNldC5jOjMzCi1tc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIgotbXNnc3RyICJnaXQgcmVzZXQgLS1wYXRjaCBbPMOhcmJvbC1pc21vPl0gWy0tXSBbPHJ1dGFzPi4uLl0iCittc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzcGVjPi4uLiIKK21zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gWzzDoXJib2wtaXNtbz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5CisjOiBidWlsdGluL3Jlc2V0LmM6MzQKK21zZ2lkICIiCisiZ2l0IHJlc2V0IFstcV0gWy0tcGF0aHNwZWMtZnJvbS1maWxlIFstLXBhdGhzcGVjLWZpbGUtbnVsXV0gWzx0cmVlLWlzaD5dIgorbXNnc3RyICIiCisiZ2l0IHJlc2V0IFstcV0gWy0tcGF0aHNwZWMtZnJvbS1maWxlIFstLXBhdGhzcGVjLWZpbGUtbnVsXV0gWzzDoXJib2wtaXNtbz5dIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzUKK21zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzcGVjPi4uLl0iCittc2dzdHIgImdpdCByZXNldCAtLXBhdGNoIFs8w6FyYm9sLWlzbW8+XSBbLS1dIFs8cGF0aHNwZWM+Li4uXSIKKworIzogYnVpbHRpbi9yZXNldC5jOjQxCiBtc2dpZCAibWl4ZWQiCiBtc2dzdHIgIm1lemNsYWRvIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgInNvZnQiCiBtc2dzdHIgInN1YXZlIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgImhhcmQiCiBtc2dzdHIgImR1cm8iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOQorIzogYnVpbHRpbi9yZXNldC5jOjQxCiBtc2dpZCAibWVyZ2UiCiBtc2dzdHIgImZ1c2lvbmFyIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgImtlZXAiCiBtc2dzdHIgIm1hbnRlbmVyIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6ODAKKyM6IGJ1aWx0aW4vcmVzZXQuYzo4MgogbXNnaWQgIllvdSBkbyBub3QgaGF2ZSBhIHZhbGlkIEhFQUQuIgogbXNnc3RyICJObyBoYXkgdW4gSEVBRCB2w6FsaWRvLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjgyCisjOiBidWlsdGluL3Jlc2V0LmM6ODQKIG1zZ2lkICJGYWlsZWQgdG8gZmluZCB0cmVlIG9mIEhFQUQuIgogbXNnc3RyICJGYWxsw7MgYWwgZW5jb250cmFyIGVsIEhFQUQgZGVsIMOhcmJvbC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo4OAorIzogYnVpbHRpbi9yZXNldC5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMuIgogbXNnc3RyICJGYWxsw7MgYWwgZW5jb250cmFyIMOhcmJvbCBkZSAlcy4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoxOTIKKyM6IGJ1aWx0aW4vcmVzZXQuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSEVBRCBpcyBub3cgYXQgJXMiCittc2dzdHIgIkhFQUQgZXN0w6EgYWhvcmEgZW4gJXMiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzoxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRvIGEgJXMgcmVzZXQgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlLiIKIG1zZ3N0ciAiTm8gc2UgcHVlZGUgcmVhbHppYXIgdW4gcmVzZXQgJXMgIGVuIG1lZGlvIGRlIHVuYSBmdXNpw7NuLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5MgorIzogYnVpbHRpbi9yZXNldC5jOjI5NCBidWlsdGluL3N0YXNoLmM6NTE5IGJ1aWx0aW4vc3Rhc2guYzo1OTQKKyM6IGJ1aWx0aW4vc3Rhc2guYzo2MTgKIG1zZ2lkICJiZSBxdWlldCwgb25seSByZXBvcnQgZXJyb3JzIgogbXNnc3RyICJzZXIgc2lsZW5jaW9zbywgc29sbyByZXBvcnRhciBlcnJvcmVzIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjk0CisjOiBidWlsdGluL3Jlc2V0LmM6Mjk2CiBtc2dpZCAicmVzZXQgSEVBRCBhbmQgaW5kZXgiCiBtc2dzdHIgInJlaW5pY2lhciBIRUFEIGUgaW5kZXgiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTUKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTcKIG1zZ2lkICJyZXNldCBvbmx5IEhFQUQiCiBtc2dzdHIgInJlaW5pY2lhciBzb2xvIEhFQUQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTcgYnVpbHRpbi9yZXNldC5jOjI5OQorIzogYnVpbHRpbi9yZXNldC5jOjI5OSBidWlsdGluL3Jlc2V0LmM6MzAxCiBtc2dpZCAicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAicmVpbmljaWFyIEhFQUQsIMOtbmRpY2UgeSDDoXJib2wgZGUgdHJhYmFqbyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMwMQorIzogYnVpbHRpbi9yZXNldC5jOjMwMwogbXNnaWQgInJlc2V0IEhFQUQgYnV0IGtlZXAgbG9jYWwgY2hhbmdlcyIKIG1zZ3N0ciAicmVpbmljaWFyIEhFQUQgcGVybyBtYW50ZW5lciBjYW1iaW9zIGxvY2FsZXMiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDcKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDkKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHJlbW92ZWQgcGF0aHMgd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAiIgotImdyYWJhciBzb2xvIGVsIGhlY2hvIGRlIHF1ZSBsYXMgcnV0YXMgcmVtb3ZpZGFzIHNlcsOhbiBhZ3JlZ2FkYXMgZGVzcHXDqXMiCisiZ3JhYmFyIHNvbG8gZWwgaGVjaG8gZGUgcXVlIGxhcyBydXRhcyBlbGltaW5hZGFzIHNlcsOhbiBhZ3JlZ2FkYXMgZGVzcHXDqXMiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMjUKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJldmlzaW9uLiIKIG1zZ3N0ciAiRmFsbMOzIGFsIHJlc29sdmVyICclcycgY29tbyB1bmEgcmV2aXNpw7NuIHbDoWxpZGEuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMzCisjOiBidWlsdGluL3Jlc2V0LmM6MzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCB0cmVlLiIKIG1zZ3N0ciAiRmFsbMOzIGFsIHJlc29sdmVyICclcycgY29tbyB1biDDoXJib2wgdsOhbGlkby4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDIKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNjAKIG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIC0te2hhcmQsbWl4ZWQsc29mdH0iCiBtc2dzdHIgIi0tcGF0Y2ggZXMgaW5jb21wYXRpYmxlIGNvbiAtLXtoYXJkLG1peGVkLHNvZnR9IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzUxCisjOiBidWlsdGluL3Jlc2V0LmM6MzcwCiBtc2dpZCAiLS1taXhlZCB3aXRoIHBhdGhzIGlzIGRlcHJlY2F0ZWQ7IHVzZSAnZ2l0IHJlc2V0IC0tIDxwYXRocz4nIGluc3RlYWQuIgogbXNnc3RyICIiCiAiLS1taXhlZCBjb24gcnV0YXMgaGEgc2lkbyBkZXByZWNhZG87IHVzZSAnZ2l0IHJlc2V0IC0tIDxydXRhcz4nIGVuIGNhbWJpby4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNTMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRvICVzIHJlc2V0IHdpdGggcGF0aHMuIgogbXNnc3RyICJObyBzZSBwdWVkZSBoYWNlciB1biByZXNldCAlcyBjb24gcnV0YXMuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzYzCisjOiBidWlsdGluL3Jlc2V0LmM6Mzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHJlc2V0IGlzIG5vdCBhbGxvd2VkIGluIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICIlcyByZXNldCBubyBlc3TDoSBwZXJtaXRpZG8gZW4gdW4gcmVwb3NpdG9yaW8gdmFjw61vIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzY3CisjOiBidWlsdGluL3Jlc2V0LmM6MzkxCiBtc2dpZCAiLU4gY2FuIG9ubHkgYmUgdXNlZCB3aXRoIC0tbWl4ZWQiCiBtc2dzdHIgIi1OIHPDs2xvIHB1ZWRlIHNlciB1c2FkYSBjb24gLS1taXhlZCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM4NworIzogYnVpbHRpbi9yZXNldC5jOjQxMgogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IgogbXNnc3RyICJDYW1iaW9zIGZ1ZXJhIGRlbCDDoXJlYSBkZSBzdGFnZSB0cmFzIGVsIHJlc2V0OiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5MAorIzogYnVpbHRpbi9yZXNldC5jOjQxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xNjYyOCw1MyArMTk1MjcsNDggQEAKICJ1c2FyICctLXF1aWV0JyBwYXJhIGV2aXRhciBlc3RvLiAgQ29uZmlndXJhIGxhIG9wY2nDs24gcmVzZXQucXVpZXQgYSB0cnVlXG4iCiAicGFyYSB2b2x2ZXJsbyBlbiBlbCBkZWZhdWx0LlxuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NDAwCisjOiBidWlsdGluL3Jlc2V0LmM6NDI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIgogbXNnc3RyICJObyBzZSBwdWVkZSByZWluaWNpYXIgZWwgw61uZGljZSBhIGxhIHJldmlzacOzbiAnJXMnLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjQwNAorIzogYnVpbHRpbi9yZXNldC5jOjQyOQogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iCiBtc2dzdHIgIk5vIHNlIHB1ZWRlIGVzY3JpYmlyIHVuIG51ZXZvIGFyY2hpdm8gw61uZGljZS4iCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0MDMKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0MTEKIG1zZ2lkICJjYW5ub3QgY29tYmluZSAtLWV4Y2x1ZGUtcHJvbWlzb3Itb2JqZWN0cyBhbmQgLS1taXNzaW5nIgogbXNnc3RyICJubyBzZSBwdWVkZSBjb21iaW5hciAtLWV4Y2x1ZGUtcHJvbWlzb3Itb2JqZWN0cyB5IC0tbWlzc2luZyIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjQ2MQorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjQ3MgogbXNnaWQgIm9iamVjdCBmaWx0ZXJpbmcgcmVxdWlyZXMgLS1vYmplY3RzIgogbXNnc3RyICJmaWx0cmFkbyBkZSBvYmpldG9zIHJlcXVpZXJlIC0tb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjQ2NAotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIHNwYXJzZSB2YWx1ZSAnJXMnIgotbXNnc3RyICJ2YWxvciBkaXNwZXJzbyBpbnbDoWxpZG86ICclcyciCi0KLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo1MDUKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo1MjIKIG1zZ2lkICJyZXYtbGlzdCBkb2VzIG5vdCBzdXBwb3J0IGRpc3BsYXkgb2Ygbm90ZXMiCiBtc2dzdHIgInJldi1saXN0IG5vIHNvcG9ydGEgbW9zdHJhciBub3RhcyIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUwOAorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUyNQogbXNnaWQgImNhbm5vdCBjb21iaW5lIC0tdXNlLWJpdG1hcC1pbmRleCB3aXRoIG9iamVjdCBmaWx0ZXJpbmciCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGNvbWJpbmFyIC0tdXNlLWJpdG1hcC1pbmRleCBjb24gb2JqZXRvcyBkZSBmaWx0cmFkbyIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDcKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDA4CiBtc2dpZCAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dIgogbXNnc3RyICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcGNpb25lcz5dIC0tIFs8YXJncz4uLi5dIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxMgorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTMKIG1zZ2lkICJrZWVwIHRoZSBgLS1gIHBhc3NlZCBhcyBhbiBhcmciCiBtc2dzdHIgIm1hbnRlbmVyIGVsIGAtLWAgcGFzYWRvIGNvbW8gdW4gYXJnIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxNAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTUKIG1zZ2lkICJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiCiBtc2dzdHIgImRldGVuZXIgYW7DoWxpc2lzIHRyYXMgZWwgcHJpbWVyIGFyZ3VtZW50byBxdWUgbm8gZXMgb3BjacOzbiIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTcKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDE4CiBtc2dpZCAib3V0cHV0IGluIHN0dWNrIGxvbmcgZm9ybSIKIG1zZ3N0ciAic2FsaWRhIGVuIGZvcm11bGFyaW8gbGFyZ28gZGUgYXRhc2NvIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjU1MAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1NTEKIG1zZ2lkICIiCiAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dXG4iCiAiICAgb3I6IGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPGFyZz4uLi5dXG4iCkBAIC0xNjcwNSw3MiArMTk1OTksODEgQEAKIG1zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgPHN1YmNvbW1hbmQ+IgogbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgPHN1YmNvbWFuZG8+IgogCi0jOiBidWlsdGluL3JldmVydC5jOjkxCisjOiBidWlsdGluL3JldmVydC5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgYSBudW1iZXIgZ3JlYXRlciB0aGFuIHplcm8iCittc2dzdHIgIm9wY2nDs24gYCVzJyBlc3BlcmEgdW4gdmFsb3IgbnVtw6lyaWNvIG1heW9yIGEgY2VybyIKKworIzogYnVpbHRpbi9yZXZlcnQuYzo5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXMgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKIG1zZ3N0ciAiJXM6ICVzIG5vIHB1ZWRlIHNlciB1c2FkbyBjb24gJXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAwCisjOiBidWlsdGluL3JldmVydC5jOjEwMgogbXNnaWQgImVuZCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgImZpbmFsaXphciBzZWN1ZW5jaWEgcmV2ZXJ0IG8gY2hlcnJ5LXBpY2siCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAxCisjOiBidWlsdGluL3JldmVydC5jOjEwMwogbXNnaWQgInJlc3VtZSByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgInJlc3VtaXIgc2VjdWVuY2lhIHJldmVydCBvIGNoZXJyeS1waWNrIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKIG1zZ2lkICJjYW5jZWwgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJjYW5jZWxhciBzZWN1ZW5jaWEgcmV2ZXJ0IG8gY2hlcnJ5LXBpY2siCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCisjOiBidWlsdGluL3JldmVydC5jOjEwNQorbXNnaWQgInNraXAgY3VycmVudCBjb21taXQgYW5kIGNvbnRpbnVlIgorbXNnc3RyICJzYWx0YXIgZWwgY29tbWl0IGFjdHVhbCB5IGNvbnRpbnVhciIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDcKIG1zZ2lkICJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIKIG1zZ3N0ciAibm8gcmVhbGl6YXIgY29tbWl0IGRlIGZvcm1hIGF1dG9tw6F0aWNhIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKIG1zZ2lkICJlZGl0IHRoZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiZWRpdGFyIGVsIG1lbnNhamUgZGUgY29tbWl0IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNworIzogYnVpbHRpbi9yZXZlcnQuYzoxMTEKIG1zZ2lkICJwYXJlbnQtbnVtYmVyIgogbXNnc3RyICJuw7ptZXJvLWRlLXBhZHJlIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwOAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTIKIG1zZ2lkICJzZWxlY3QgbWFpbmxpbmUgcGFyZW50IgogbXNnc3RyICJzZWxlY2Npb25hciBlbCBwYWRyZSBwcmluY2lwYWwiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEwCisjOiBidWlsdGluL3JldmVydC5jOjExNAogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJlc3RyYXRlZ2lhIGRlIGZ1c2nDs24iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyCisjOiBidWlsdGluL3JldmVydC5jOjExNgogbXNnaWQgIm9wdGlvbiBmb3IgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIm9wY2nDs24gcGFyYSBlc3RyYXRlZ2lhIGRlIGZ1c2nDs24iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIxCisjOiBidWlsdGluL3JldmVydC5jOjEyNQogbXNnaWQgImFwcGVuZCBjb21taXQgbmFtZSIKIG1zZ3N0ciAiYWRqdW50YXIgZWwgbm9tYnJlIGRlbCBjb21taXQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIzCisjOiBidWlsdGluL3JldmVydC5jOjEyNwogbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgogbXNnc3RyICJwcmVzZXJ2YXIgY29tbWl0cyBpbmljaWFsZXMgdmFjw61vcyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI5CiBtc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgIm1hbnRlbmVyIGNvbW1pdHMgcmVkdW5kYW50ZXMsIHZhY8Otb3MiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjE5CisjOiBidWlsdGluL3JldmVydC5jOjIzMgogbXNnaWQgInJldmVydCBmYWlsZWQiCiBtc2dzdHIgImZhbGzDsyBhbCByZXZlcnRpciIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMzIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjQ1CiBtc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgogbXNnc3RyICJjaGVycnktcGljayBmYWxsw7MiCiAKLSM6IGJ1aWx0aW4vcm0uYzoxOAorIzogYnVpbHRpbi9ybS5jOjE5CiBtc2dpZCAiZ2l0IHJtIFs8b3B0aW9ucz5dIFstLV0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgcm0gWzxvcGNpb25lcz5dIFstLV0gPGFyY2hpdm8+Li4uIgogCi0jOiBidWlsdGluL3JtLmM6MjA2CisjOiBidWlsdGluL3JtLmM6MjA3CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKICJmaWxlIGFuZCB0aGUgSEVBRDoiCkBAIC0xNjc4NCw3ICsxOTY4Nyw3IEBACiAibG9zIHNpZ3VpZW50ZXMgYXJjaGl2b3MgdGllbmVuIGNvbnRlbmlkbyBkaWZlcmVudGUgYSBsb3MgbWlzbW9zXG4iCiAieSBhIEhFQUQ6IgogCi0jOiBidWlsdGluL3JtLmM6MjExCisjOiBidWlsdGluL3JtLmM6MjEyCiBtc2dpZCAiIgogIlxuIgogIih1c2UgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCkBAIC0xNjc5MiwxMyArMTk2OTUsMTMgQEAKICJcbiIKICIodXNhIC1mIHBhcmEgZm9yemFyIHN1IGVsaW1pbmFjacOzbikiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMTUKKyM6IGJ1aWx0aW4vcm0uYzoyMTYKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnc3RyWzBdICJlbCBzaWd1aWVudGUgYXJjaGl2byB0aWVuZSBjYW1iaW9zIGVuIHN0YWdlIGVuIGVsIMOtbmRpY2U6IgogbXNnc3RyWzFdICJsb3Mgc2lndWllbnRlcyBhcmNoaXZvcyB0aWVuZW4gY2FtYmlvcyBlbiBzdGFnZSBlbiBlbCDDrW5kaWNlOiIKIAotIzogYnVpbHRpbi9ybS5jOjIxOSBidWlsdGluL3JtLmM6MjI4CisjOiBidWlsdGluL3JtLmM6MjIwIGJ1aWx0aW4vcm0uYzoyMjkKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtLWNhY2hlZCB0byBrZWVwIHRoZSBmaWxlLCBvciAtZiB0byBmb3JjZSByZW1vdmFsKSIKQEAgLTE2ODA2LDQ0ICsxOTcwOSw0NCBAQAogIlxuIgogIih1c2EgLS1jYWNoZWQgcGFyYSBjb25zZXJ2YXIgZWwgYXJjaGl2bywgbyAtZiBwYXJhIGZvcnphciBzdSBlbGltaW5hY2nDs24pIgogCi0jOiBidWlsdGluL3JtLmM6MjI1CisjOiBidWlsdGluL3JtLmM6MjI2CiBtc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGxvY2FsIG1vZGlmaWNhdGlvbnM6IgogbXNnc3RyWzBdICJlbCBzaWd1aWVudGUgYXJjaGl2byB0aWVuZSBtb2RpZmljYWNpb25lcyBsb2NhbGVzOiIKIG1zZ3N0clsxXSAibG9zIHNpZ3VpZW50ZXMgYXJjaGl2b3MgdGllbmVuIG1vZGlmaWNhY2lvbmVzIGxvY2FsZXM6IgogCi0jOiBidWlsdGluL3JtLmM6MjQxCisjOiBidWlsdGluL3JtLmM6MjQyCiBtc2dpZCAiZG8gbm90IGxpc3QgcmVtb3ZlZCBmaWxlcyIKIG1zZ3N0ciAibm8gbGlzdGFyIGFyY2hpdm9zIGVsaW1pbmFkbyIKIAotIzogYnVpbHRpbi9ybS5jOjI0MgorIzogYnVpbHRpbi9ybS5jOjI0MwogbXNnaWQgIm9ubHkgcmVtb3ZlIGZyb20gdGhlIGluZGV4IgogbXNnc3RyICJzb2xvIGVsaW1pbmFyIGRlbCDDrW5kaWNlIgogCi0jOiBidWlsdGluL3JtLmM6MjQzCisjOiBidWlsdGluL3JtLmM6MjQ0CiBtc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCiBtc2dzdHIgInNvYnJlc2NyaWJpciBlbCBjaGVjayBkZSBhY3R1YWxpemFkbyIKIAotIzogYnVpbHRpbi9ybS5jOjI0NAorIzogYnVpbHRpbi9ybS5jOjI0NQogbXNnaWQgImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIgogbXNnc3RyICJwZXJtaXRpciBlbGltaW5hciBkZSBmb3JtYSByZWN1cnNpdmEiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDYKKyM6IGJ1aWx0aW4vcm0uYzoyNDcKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAic2FsaXIgY29uIGVzdGFkbyBjZXJvIGluY2x1c28gc2kgbmFkYSBjb2luY2lkZSIKIAotIzogYnVpbHRpbi9ybS5jOjI4OAorIzogYnVpbHRpbi9ybS5jOjI4OQogbXNnaWQgInBsZWFzZSBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgogbXNnc3RyICIiCiAicG9yIGZhdm9yIGFncmVnYSBlbCBzdGFnZSBkZSB0dXMgY2FtYmlvcyBhIC5naXRtb2R1bGVzIG8gcmVhbGl6YSB1biBzdGFzaCAiCiAicGFyYSBwcm9jZWRlciIKIAotIzogYnVpbHRpbi9ybS5jOjMwNgorIzogYnVpbHRpbi9ybS5jOjMwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgcmVtb3ZpbmcgJyVzJyByZWN1cnNpdmVseSB3aXRob3V0IC1yIgotbXNnc3RyICJubyByZW1vdmllbmRvICclcycgZGUgbWFuZXJhIHJlY3Vyc2l2YSBzaW4gLXIiCittc2dzdHIgIm5vIGVsaW1pbmFuZG8gJyVzJyBkZSBtYW5lcmEgcmVjdXJzaXZhIHNpbiAtciIKIAotIzogYnVpbHRpbi9ybS5jOjM0NQorIzogYnVpbHRpbi9ybS5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgcm06IHVuYWJsZSB0byByZW1vdmUgJXMiCiBtc2dzdHIgImdpdCBybTogbm8gZXMgcG9zaWJsZSBlbGltaW5hciAlcyIKQEAgLTE2ODc2LDE4ICsxOTc3OSw2IEBACiBtc2dpZCAicHJpbnQgc3RhdHVzIGZyb20gcmVtb3RlIGhlbHBlciIKIG1zZ3N0ciAibW9zdHJhciBzdGF0dXMgZGVsIHJlbW90ZSBoZWxwZXIiCiAKLSM6IGJ1aWx0aW4vc2VydmUuYzo3Ci1tc2dpZCAiZ2l0IHNlcnZlIFs8b3B0aW9ucz5dIgotbXNnc3RyICJnaXQgc2VydmUgWzxvcGNpb25lcz5dIgotCi0jOiBidWlsdGluL3NlcnZlLmM6MTcgYnVpbHRpbi91cGxvYWQtcGFjay5jOjIzCi1tc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgotbXNnc3RyICJzYWxlIGRlc3B1w6lzIGRlIHVuIGludGVyY2FtYmlvIHBldGljacOzbi9yZXNwdWVzdGEgw7puaWNvIgotCi0jOiBidWlsdGluL3NlcnZlLmM6MTkKLW1zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGFkdmVydGlzaW5nIGNhcGFiaWxpdGllcyIKLW1zZ3N0ciAic2FsaXIgaW5tZWRpYXRhbWVudGUgdHJhcyBhbnVuY2lhciBjYXBhY2lkYWRlcyIKLQogIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE0CiBtc2dpZCAiZ2l0IHNob3J0bG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc2hvcnRsb2cgWzxvcGNpb25lcz5dIFs8cmFuZ28tZGUtcmV2aXNpw7NuPl0gW1stLV0gPHJ1dGE+Li4uXSIKQEAgLTE2OTIwLDcgKzE5ODExLDcgQEAKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgIlNhbGlkYSBkZSBsw61uZWEiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyOTkKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzozMDEKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMgZ2l2ZW4gb3V0c2lkZSByZXBvc2l0b3J5IgogbXNnc3RyICJkZW1hc2lhZG9zIGFyZ3VtZW50b3MgZGFkb3MgZnVlcmEgZGVsIHJlcG9zaXRvcmlvIgogCkBAIC0xNjk0NywxMTkgKzE5ODM4LDExOSBAQAogbXNnc3RyWzBdICJpZ25vcmFuZG8gJXM7IG5vIHNlIHB1ZWRlIG1hbmVqYXIgbcOhcyBkZSAlZCByZWYiCiBtc2dzdHJbMV0gImlnbm9yYW5kbyAlczsgbm8gc2UgcHVlZGUgbWFuZWphciBtw6FzIGRlICVkIHJlZnMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1NDkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2hpbmcgcmVmcyB3aXRoICVzIgogbXNnc3RyICJubyBoYXkgcmVmcyBxdWUgY29uY3VlcmRlbiBjb24gJXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgIm1vc3RyYXIgcmFtYXMgbG9jYWxlcyB5IGRlIHJhc3RyZW8gcmVtb3RvIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ3CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIm1vc3RyYXIgcmFtYXMgZGUgcmFzdHJlbyByZW1vdG8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDkKIG1zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgogbXNnc3RyICJjb2xvciAnKiErLScgY29ycmVzcG9uZGllbmRvIGEgbGEgcmFtYSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MQogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICJtb3N0cmFyIDxuPiBjb21taXRzIG3DoXMgdHJhcyBlbmNvbnRyYXIgZWwgYW5jZXN0cm8gY29tw7puIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUzCiBtc2dpZCAic3lub255bSB0byBtb3JlPS0xIgogbXNnc3RyICJzaW7Ds25pbW8gZGUgbcOhcz0tMSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NAogbXNnaWQgInN1cHByZXNzIG5hbWluZyBzdHJpbmdzIgogbXNnc3RyICJzdXByaW1pciBzdHJpbmdzIGRlIG5vbWJyZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NgogbXNnaWQgImluY2x1ZGUgdGhlIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICJpbmNsdWlyIGxhIHJhbWEgYWN0dWFsIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU4CiBtc2dpZCAibmFtZSBjb21taXRzIHdpdGggdGhlaXIgb2JqZWN0IG5hbWVzIgogbXNnc3RyICJub21icmFyIGNvbW1pdHMgY29uIHN1cyBub21icmVzIGRlIG9iamV0byIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MAogbXNnaWQgInNob3cgcG9zc2libGUgbWVyZ2UgYmFzZXMiCiBtc2dzdHIgIm1vc3RyYXIgYmFzZXMgZGUgZnVzacOzbiBwb3NpYmxlcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MgogbXNnaWQgInNob3cgcmVmcyB1bnJlYWNoYWJsZSBmcm9tIGFueSBvdGhlciByZWYiCiBtc2dzdHIgIm1vc3RyYXIgcmVmcyBpbmFsY2FuemFibGVzIHBvciBuaW5nw7puIG90cm8gcmVmIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY0CiBtc2dpZCAic2hvdyBjb21taXRzIGluIHRvcG9sb2dpY2FsIG9yZGVyIgogbXNnc3RyICJtb3N0cmFyIGNvbW1pdHMgZW4gb3JkZW4gdG9wb2zDs2dpY28iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjcKIG1zZ2lkICJzaG93IG9ubHkgY29tbWl0cyBub3Qgb24gdGhlIGZpcnN0IGJyYW5jaCIKIG1zZ3N0ciAibW9zdHJhciBzb2xvIGNvbW1pdHMgcXVlIG5vIGVzdMOhbiBlbiBsYSBwcmltZXJhIHJhbWEiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKIG1zZ2lkICJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiCiBtc2dzdHIgIm1vc3RyYXIgZnVzaW9uZXMgYWxjYW56YWJsZXMgc29sbyBwb3IgdW5hIHB1bnRhIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjcyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjcxCiBtc2dpZCAidG9wb2xvZ2ljYWxseSBzb3J0LCBtYWludGFpbmluZyBkYXRlIG9yZGVyIHdoZXJlIHBvc3NpYmxlIgogbXNnc3RyICJvcmRlbiB0b3BvbMOzZ2ljbywgbWFudGVuaWVuZG8gZWwgb3JkZW4gZGUgZmVjaGFzIGRvbmRlIHNlYSBwb3NpYmxlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc0CiBtc2dpZCAiPG4+Wyw8YmFzZT5dIgogbXNnc3RyICI8bj5bLDxiYXNlPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzUKIG1zZ2lkICJzaG93IDxuPiBtb3N0IHJlY2VudCByZWYtbG9nIGVudHJpZXMgc3RhcnRpbmcgYXQgYmFzZSIKIG1zZ3N0ciAibW9zdHJhciA8bj4gZW50cmFkYXMgbcOhcyByZWNpZW50ZXMgZGUgcmVmLWxvZyBjb21lbnphbmRvIGRlc2RlIGxhIGJhc2UiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MTIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MTEKIG1zZ2lkICIiCiAiLS1yZWZsb2cgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCBvciAtLW1lcmdlLWJhc2UiCiBtc2dzdHIgIiIKICItLXJlZmxvZyBubyBlcyBjb21wYXRpYmxlIGNvbiAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50IG8gLS1tZXJnZS1iYXNlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM1CiBtc2dpZCAibm8gYnJhbmNoZXMgZ2l2ZW4sIGFuZCBIRUFEIGlzIG5vdCB2YWxpZCIKIG1zZ3N0ciAibm8gc2UgZGllcm9uIHJhbWFzLCB5IGVsIEhFQUQgbm8gZXMgdsOhbGlkbyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczOQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczOAogbXNnaWQgIi0tcmVmbG9nIG9wdGlvbiBuZWVkcyBvbmUgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIm9wY2nDs24gLS1yZWZsb2cgbmVjZXNpdGEgdW4gbm9tYnJlIGRlIHJhbWEiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3NDIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSAlZCBlbnRyeSBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgogbXNnaWRfcGx1cmFsICJvbmx5ICVkIGVudHJpZXMgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKIG1zZ3N0clswXSAic29sbyAlZCBlbnRyYWRhIHB1ZWRlIHNlciBtb3N0cmFkYSBhIGxhIHZlei4iCiBtc2dzdHJbMV0gInNvbG8gJWQgZW50cmFkYXMgcHVlZGVuIHNlciBtb3N0cmFkYXMgYSBsYSB2ZXouIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQ2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcmVmICVzIgogbXNnc3RyICJubyBleGlzdGUgZWwgcmVmICVzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldi4iCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldnMuIgogbXNnc3RyWzBdICJubyBzZSBwdWVkZSBtYW5lamFyIG3DoXMgZGUgJWQgcmV2LiIKIG1zZ3N0clsxXSAibm8gc2UgcHVlZGUgbWFuZWphciBtw6FzIGRlICVkIHJldnMuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiJyVzJyBubyBlcyB1bmEgcmVmIHbDoWxpZGEuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmaW5kIGNvbW1pdCAlcyAoJXMpIgogbXNnc3RyICJubyBzZSBwdWVkZSBlbmNvbnRyYXIgZWwgY29tbWl0ICVzICglcykiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMQorIzogYnVpbHRpbi9zaG93LXJlZi5jOjEyCiBtc2dpZCAiIgogImdpdCBzaG93LXJlZiBbLXEgfCAtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZCB8IC0tZGVyZWZlcmVuY2VdIFstcyB8IC0tIgogImhhc2hbPTxuPl1dIFstLWFiYnJldls9PG4+XV0gWy0tdGFnc10gWy0taGVhZHNdIFstLV0gWzxwYXR0ZXJuPi4uLl0iCkBAIC0xNzA2Nyw0MiArMTk5NTgsMzE5IEBACiAiZ2l0IHNob3ctcmVmIFstcSB8IC0tcXVpZXRdIFstLXZlcmlmeV0gWy0taGVhZF0gWy1kIHwgLS1kZXJlZmVyZW5jZV0gWy1zIHwgLS0iCiAiaGFzaFs9PG4+XV0gWy0tYWJicmV2Wz08bj5dXSBbLS10YWdzXSBbLS1oZWFkc10gWy0tXSBbPHBhdHLDs24+Li4uXSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjEyCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTMKIG1zZ2lkICJnaXQgc2hvdy1yZWYgLS1leGNsdWRlLWV4aXN0aW5nWz08cGF0dGVybj5dIgogbXNnc3RyICJnaXQgc2hvdy1yZWYgLS1leGNsdWRlLWV4aXN0aW5nWz08cGF0csOzbj5dIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTYxCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTYyCiBtc2dpZCAib25seSBzaG93IHRhZ3MgKGNhbiBiZSBjb21iaW5lZCB3aXRoIGhlYWRzKSIKIG1zZ3N0ciAic29sbyBtb3N0cmFyIHRhZ3MgKHB1ZWRlIHNlciBjb21iaW5hZG8gY29uIGhlYWRzKSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2MgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2MwogbXNnaWQgIm9ubHkgc2hvdyBoZWFkcyAoY2FuIGJlIGNvbWJpbmVkIHdpdGggdGFncykiCiBtc2dzdHIgInNvbG8gbW9zdHJhciBoZWFkcyAocHVlZGUgc2VyIGNvbWJpbmFkbyBjb24gdGFncykiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjMKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjQKIG1zZ2lkICJzdHJpY3RlciByZWZlcmVuY2UgY2hlY2tpbmcsIHJlcXVpcmVzIGV4YWN0IHJlZiBwYXRoIgogbXNnc3RyICJyZXZpc2FyIHJlZmVyZW5jaWFzIG3DoXMgZXN0cmljdGFtZW50ZSwgcmVxdWllcmUgcnV0YSBkZSByZWYgZXhhY3RhIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTY2IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjgKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjcgYnVpbHRpbi9zaG93LXJlZi5jOjE2OQogbXNnaWQgInNob3cgdGhlIEhFQUQgcmVmZXJlbmNlLCBldmVuIGlmIGl0IHdvdWxkIGJlIGZpbHRlcmVkIG91dCIKIG1zZ3N0ciAibW9zdHJhciBsYSByZWZlcmVuY2lhIGRlIEhFQUQsIGluY2x1c28gc2kgc2UgZmlsdHJhcmEiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzAKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzEKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGludG8gb2JqZWN0IElEcyIKIG1zZ3N0ciAidGFncyBkZSBkZWZlcmVuY2lhIGVuIElEcyBkZSBvYmpldG8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzIKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzMKIG1zZ2lkICJvbmx5IHNob3cgU0hBMSBoYXNoIHVzaW5nIDxuPiBkaWdpdHMiCiBtc2dzdHIgInNvbG8gbW9zdHJhciBoYXNoIFNIQTEgdXNhbmRvIDxuPiBkw61naXRvcyIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NwogbXNnaWQgImRvIG5vdCBwcmludCByZXN1bHRzIHRvIHN0ZG91dCAodXNlZnVsIHdpdGggLS12ZXJpZnkpIgogbXNnc3RyICJubyBtb3N0cmFyIHJlc3VsdGFkb3MgZW4gc3Rkb3V0ICjDunRpbCBjb24gLS12ZXJpZnkpIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc5CiBtc2dpZCAic2hvdyByZWZzIGZyb20gc3RkaW4gdGhhdCBhcmVuJ3QgaW4gbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAibW9zdHJhciByZWZzIGRlIHN0ZGluIHF1ZSBubyBlc3TDoW4gZW4gZWwgcmVwb3NpdG9yaW8gbG9jYWwiCiAKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MjAKK21zZ2lkICJnaXQgc3BhcnNlLWNoZWNrb3V0IChpbml0fGxpc3R8c2V0fGRpc2FibGUpIDxvcHRpb25zPiIKK21zZ3N0ciAiZ2l0IHNwYXJzZS1jaGVja291dCAoaW5pdHxsaXN0fHNldHxkaXNhYmxlKSA8b3BjaW9uZXM+IgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjYxCittc2dpZCAidGhpcyB3b3JrdHJlZSBpcyBub3Qgc3BhcnNlIChzcGFyc2UtY2hlY2tvdXQgZmlsZSBtYXkgbm90IGV4aXN0KSIKK21zZ3N0ciAiIgorImVzdGUgw6FyYm9sIGRlIHRyYWJham8gbm8gdGllbmUgc3BhcnNlIChhcmNoaXZvIHNwYXJlc2UtY2hlY2tvdXQgdGFsIHZleiBubyAiCisiZXhpc3RlKSIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzoyMjAKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4dGVuc2lvbnMud29ya3RyZWVDb25maWcgc2V0dGluZyIKK21zZ3N0ciAiZmFsbMOzIGFsIGNvbmZpZ3VyYXIgb3BjacOzbiBleHRlbnNpb25zLndvcmt0cmVlQ29uZmlnIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjIzNworbXNnaWQgImdpdCBzcGFyc2UtY2hlY2tvdXQgaW5pdCBbLS1jb25lXSIKK21zZ3N0ciAiZ2l0IHNwYXJzZS1jaGVja291dCBpbml0IFstLWNvbmVdIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI1NgorbXNnaWQgImluaXRpYWxpemUgdGhlIHNwYXJzZS1jaGVja291dCBpbiBjb25lIG1vZGUiCittc2dzdHIgImluaWNpYWxpemEgZWwgc3BhcnNlLWNoZWNrb3V0IGVuIG1vZG8gY29ubyIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzoyNjIKK21zZ2lkICJpbml0aWFsaXplIHNwYXJzZS1jaGVja291dCIKK21zZ3N0ciAiaW5pY2lhbGl6YXIgc3BhcnNlLWNoZWNrb3V0IgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgorbXNnc3RyICJmYWxsw7MgYWwgYWJyaXIgJyVzJyIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzozNjEKK21zZ2lkICJnaXQgc3BhcnNlLWNoZWNrb3V0IHNldCAoLS1zdGRpbiB8IDxwYXR0ZXJucz4pIgorbXNnc3RyICJnaXQgc3BhcnNlLWNoZWNrb3V0IHNldCAoLS1zdGRpbiB8IDxwYXRyb25lcz4pIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjM3OAorbXNnaWQgInJlYWQgcGF0dGVybnMgZnJvbSBzdGFuZGFyZCBpbiIKK21zZ3N0ciAibGVlciBwYXRyb25lcyBkZSBzdGFuZGFyZCBpbiIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzozODQKK21zZ2lkICJzZXQgc3BhcnNlLWNoZWNrb3V0IHBhdHRlcm5zIgorbXNnc3RyICJjb25maWd1cmFyIHBhdHJvbmVzIGRlIHNwYXJzZS1jaGVja291dCIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo0NDcKK21zZ2lkICJkaXNhYmxlIHNwYXJzZS1jaGVja291dCIKK21zZ3N0ciAiZGVzaGFiaWxpdGFyIHNwYXJzZS1jaGVja291dCIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo0NTkKK21zZ2lkICJlcnJvciB3aGlsZSByZWZyZXNoaW5nIHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJlcnJvciBhbCByZWZyZXNjYXIgZGlyZWN0b3JpbyBkZSB0cmFiYWpvIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjIgYnVpbHRpbi9zdGFzaC5jOjM3Cittc2dpZCAiZ2l0IHN0YXNoIGxpc3QgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCBzdGFzaCBsaXN0IFs8b3BjaW9uZXM+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjIzIGJ1aWx0aW4vc3Rhc2guYzo0MgorbXNnaWQgImdpdCBzdGFzaCBzaG93IFs8b3B0aW9ucz5dIFs8c3Rhc2g+XSIKK21zZ3N0ciAiZ2l0IHN0YXNoIHNob3cgWzxvcGNpb25lcz5dIFs8c3Rhc2g+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjI0IGJ1aWx0aW4vc3Rhc2guYzo0NworbXNnaWQgImdpdCBzdGFzaCBkcm9wIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCBkcm9wIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNQorbXNnaWQgImdpdCBzdGFzaCAoIHBvcCB8IGFwcGx5ICkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCAoIHBvcCB8IGFwcGx5ICkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNiBidWlsdGluL3N0YXNoLmM6NjIKK21zZ2lkICJnaXQgc3Rhc2ggYnJhbmNoIDxicmFuY2huYW1lPiBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCBicmFuY2ggPG5vbWJyZS1yYW1hPiBbPHN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNyBidWlsdGluL3N0YXNoLmM6NjcKK21zZ2lkICJnaXQgc3Rhc2ggY2xlYXIiCittc2dzdHIgImdpdCBzdGFzaCBjbGVhciIKKworIzogYnVpbHRpbi9zdGFzaC5jOjI4IGJ1aWx0aW4vc3Rhc2guYzo3NworbXNnaWQgIiIKKyJnaXQgc3Rhc2ggW3B1c2ggWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisiICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFstbXwtLW1lc3NhZ2UgPG1lc3NhZ2U+XVxuIgorIiAgICAgICAgICBbLS1dIFs8cGF0aHNwZWM+Li4uXV0iCittc2dzdHIgIiIKKyJnaXQgc3Rhc2ggW3B1c2ggWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisiICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFstbXwtLW1lc3NhZ2UgPG1lbnNhamU+XVxuIgorIiAgICAgICAgICBbLS1dIFs8cGF0aHNwZWM+Li4uXV0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzozMSBidWlsdGluL3N0YXNoLmM6ODQKK21zZ2lkICIiCisiZ2l0IHN0YXNoIHNhdmUgWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisiICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFs8bWVzc2FnZT5dIgorbXNnc3RyICIiCisiZ2l0IHN0YXNoIHNhdmUgWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisiICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFs8bWVuc2FqZT5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6NTIKK21zZ2lkICJnaXQgc3Rhc2ggcG9wIFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggcG9wIFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6NTcKK21zZ2lkICJnaXQgc3Rhc2ggYXBwbHkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCBhcHBseSBbLS1pbmRleF0gWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjcyCittc2dpZCAiZ2l0IHN0YXNoIHN0b3JlIFstbXwtLW1lc3NhZ2UgPG1lc3NhZ2U+XSBbLXF8LS1xdWlldF0gPGNvbW1pdD4iCittc2dzdHIgImdpdCBzdGFzaCBzdG9yZSBbLW18LS1tZXNzYWdlIDxtZW5zYWplPl0gWy1xfC0tcXVpZXRdIDxjb21taXQ+IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCittc2dzdHIgIiclcycgbm8gZXMgdW4gY29tbWl0IGVzdGlsbyBzdGFzaCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiVzIgorbXNnc3RyICJTZSBlc3BlY2lmaWNhcm9uIGRlbWFzaWFkYXMgcmV2aXNpb25lczogJXMiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNjEgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1NDkKK21zZ2lkICJObyBzdGFzaCBlbnRyaWVzIGZvdW5kLiIKK21zZ3N0ciAiTm8gc2UgZW5jb250cmFyb24gZW50cmFkYXMgZGUgc3Rhc2guIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIHJlZmVyZW5jZSIKK21zZ3N0ciAiJXMgbm8gZXMgdW5hIHJlZmVyZW5jaWEgdsOhbGlkYSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjIyNCBnaXQtbGVnYWN5LXN0YXNoLnNoOjc1Cittc2dpZCAiZ2l0IHN0YXNoIGNsZWFyIHdpdGggcGFyYW1ldGVycyBpcyB1bmltcGxlbWVudGVkIgorbXNnc3RyICJnaXQgc3Rhc2ggY2xlYXIgY29uIHBhcsOhbWV0cm9zIG5vIGVzdMOhIGltcGxlbWVudGFkbyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQwMworbXNnaWQgImNhbm5vdCBhcHBseSBhIHN0YXNoIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYXBsaWNhciB1biBzdGFzaCBlbiBtZWRpbyBkZSB1biBtZXJnZSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZ2VuZXJhdGUgZGlmZiAlc14hLiIKK21zZ3N0ciAibm8gc2UgcHVkbyBnZW5lcmFyIGRpZmYgJXNeIS4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MjEKK21zZ2lkICJjb25mbGljdHMgaW4gaW5kZXguVHJ5IHdpdGhvdXQgLS1pbmRleC4iCittc2dzdHIgImNvbmZsaWN0b3MgZW4gw61uZGljZS4gSW50ZW50ZSBzaW4gLS1pbmRleC4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MjcKK21zZ2lkICJjb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgorbXNnc3RyICJubyBzZSBwdWVkZSBndWFyZGFyIGVsIMOtbmRpY2UgZGVsIMOhcmJvbCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQzNgorbXNnaWQgImNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIgorbXNnc3RyICJubyBzZSBwdWVkZW4gcmVzdGF1cmFyIGFyY2hpdm9zIG5vIHJhc3RyZWFkb3MgZGUgbGEgZW50cmFkYSBzdGFzaCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJNZXJnaW5nICVzIHdpdGggJXMiCittc2dzdHIgIkZ1c2lvbmFuZG8gJXMgY29uICVzIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDYwIGdpdC1sZWdhY3ktc3Rhc2guc2g6NjgxCittc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgorbXNnc3RyICJFbCDDrW5kaWNlIG5vIGZ1ZSBzYWNhZG8gZGUgc3Rhc2guIgorCisjOiBidWlsdGluL3N0YXNoLmM6NTIxIGJ1aWx0aW4vc3Rhc2guYzo2MjAKK21zZ2lkICJhdHRlbXB0IHRvIHJlY3JlYXRlIHRoZSBpbmRleCIKK21zZ3N0ciAiaW50ZW50byBkZSByZWNyZWFyIGVsIGluZGV4IgorCisjOiBidWlsdGluL3N0YXNoLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRyb3BwZWQgJXMgKCVzKSIKK21zZ3N0ciAiQm90YWRvICVzICglcykiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgorbXNnc3RyICIlczogTm8gc2UgcHVkbyBib3JyYXIgZW50cmFkYSBzdGFzaCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKK21zZ3N0ciAiJyVzJyBubyBlcyB1bmEgcmVmZXJlbmNpYSBzdGFzaCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjYzMiBnaXQtbGVnYWN5LXN0YXNoLnNoOjY5NQorbXNnaWQgIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgorbXNnc3RyICJMYSBlbnRyYWRhIGRlIHN0YXNoIHNlIGd1YXJkw7MgZW4gY2FzbyBkZSBzZXIgbmVjZXNhcmlvIG51ZXZhbWVudGUuIgorCisjOiBidWlsdGluL3N0YXNoLmM6NjU1IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzEzCittc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICJObyBzZSBlc3BlY2lmaWPDsyBlbCBub21icmUgZGUgbGEgcmFtYSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjc5NSBidWlsdGluL3N0YXNoLmM6ODMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB1cGRhdGUgJXMgd2l0aCAlcyIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgYWN0dWFsaXphciAlcyBjb24gJXMiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo4MTMgYnVpbHRpbi9zdGFzaC5jOjE0NzAgYnVpbHRpbi9zdGFzaC5jOjE1MDYKK21zZ2lkICJzdGFzaCBtZXNzYWdlIgorbXNnc3RyICJtZW5zYWplIGRlIHN0YXNoIgorCisjOiBidWlsdGluL3N0YXNoLmM6ODIzCittc2dpZCAiXCJnaXQgc3Rhc2ggc3RvcmVcIiByZXF1aXJlcyBvbmUgPGNvbW1pdD4gYXJndW1lbnQiCittc2dzdHIgIlwiZ2l0IHN0YXNoIHN0b3JlXCIgcmVxdWllcmUgdW4gYXJndW1lbnRvIDxjb21taXQ+IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTA0NSBnaXQtbGVnYWN5LXN0YXNoLnNoOjIxOAorbXNnaWQgIk5vIGNoYW5nZXMgc2VsZWN0ZWQiCittc2dzdHIgIlNpbiBjYW1iaW9zIHNlbGVjY2lvbmFkb3MiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTQ1IGdpdC1sZWdhY3ktc3Rhc2guc2g6MTUwCittc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCittc2dzdHIgIkHDum4gbm8gdGllbmVzIHVuIGNvbW1pdCBpbmljaWFsIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTE3MiBnaXQtbGVnYWN5LXN0YXNoLnNoOjE2NQorbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IGluZGV4IHN0YXRlIgorbXNnc3RyICJObyBzZSBwdWVkZSBndWFyZGFyIGVsIGVzdGFkbyBhY3R1YWwgZGVsIMOtbmRpY2UiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTgxIGdpdC1sZWdhY3ktc3Rhc2guc2g6MTgwCittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKK21zZ3N0ciAiTm8gc2UgcHVlZGVuIGd1YXJkYXIgbG9zIGFyY2hpdm9zIG5vIHJhc3RyZWFkb3MiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTkyIGJ1aWx0aW4vc3Rhc2guYzoxMjAxIGdpdC1sZWdhY3ktc3Rhc2guc2g6MjAxCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjIxNAorbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHdvcmt0cmVlIHN0YXRlIgorbXNnc3RyICJObyBzZSBwdWVkZSBndWFyZGFyIGVsIGVzdGFkbyBhY3R1YWwgZGVsIMOhcmJvbCBkZSB0cmFiYWpvIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTIyOSBnaXQtbGVnYWN5LXN0YXNoLnNoOjIzNAorbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgorbXNnc3RyICJObyBzZSBwdWVkZSBncmFiYXIgZWwgZXN0YWRvIGRlbCDDoXJib2wgZGUgdHJhYmFqbyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyNzggZ2l0LWxlZ2FjeS1zdGFzaC5zaDozMzgKK21zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgorbXNnc3RyICJObyBzZSBwdWVkZSB1c2FyIC0tcGF0Y2ggeSAtLWluY2x1ZGUtdW50cmFja2VkIG8gLS1hbGwgYWwgbWlzbW8gdGllbXBvIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTI5NAorbXNnaWQgIkRpZCB5b3UgZm9yZ2V0IHRvICdnaXQgYWRkJz8iCittc2dzdHIgIsK/T2x2aWRhc3RlICdnaXQgYWRkJz8iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzA5IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzQ2Cittc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgorbXNnc3RyICJObyBoYXkgY2FtYmlvcyBsb2NhbGVzIHBhcmEgZ3VhcmRhciIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEzMTYgZ2l0LWxlZ2FjeS1zdGFzaC5zaDozNTEKK21zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgaW5pY2lhbGl6YXIgc3Rhc2giCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzMxIGdpdC1sZWdhY3ktc3Rhc2guc2g6MzU1Cittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgorbXNnc3RyICJObyBzZSBwdWVkZSBndWFyZGFyIGVsIGVzdGFkbyBhY3R1YWwiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBpbmRleCBzdGF0ZSAlcyIKK21zZ3N0ciAiRGlyZWN0b3JpbyBkZSB0cmFiYWpvIGd1YXJkYWRvIHkgZXN0YWRvIGRlIMOtbmRpY2UgJXMiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDI2IGdpdC1sZWdhY3ktc3Rhc2guc2g6Mzg1Cittc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgorbXNnc3RyICJObyBzZSBwdWVkZW4gZWxpbWluYXIgY2FtYmlvcyBkZWwgw6FyYm9sIGRlIHRyYWJham8iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDYxIGJ1aWx0aW4vc3Rhc2guYzoxNDk3Cittc2dpZCAia2VlcCBpbmRleCIKK21zZ3N0ciAibWFudGVuZXIgaW5kZXgiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDYzIGJ1aWx0aW4vc3Rhc2guYzoxNDk5Cittc2dpZCAic3Rhc2ggaW4gcGF0Y2ggbW9kZSIKK21zZ3N0ciAic3Rhc2ggZW4gbW9kbyBwYXRjaCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjQgYnVpbHRpbi9zdGFzaC5jOjE1MDAKK21zZ2lkICJxdWlldCBtb2RlIgorbXNnc3RyICJtb2RvIHRyYW5xdWlsbyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjYgYnVpbHRpbi9zdGFzaC5jOjE1MDIKK21zZ2lkICJpbmNsdWRlIHVudHJhY2tlZCBmaWxlcyBpbiBzdGFzaCIKK21zZ3N0ciAiaW5jbHVpciBhcmNoaXZvcyBzaW4gc2VndWltaWVudG8gZW4gc3Rhc2giCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDY4IGJ1aWx0aW4vc3Rhc2guYzoxNTA0Cittc2dpZCAiaW5jbHVkZSBpZ25vcmUgZmlsZXMiCittc2dzdHIgImluY2x1aXIgYXJjaGl2b3MgaWdub3JhZG9zIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTU2NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZXhlYyAlcyIKK21zZ3N0ciAibm8gc2UgcHVkbyBlamVjdXRhciAlcyIKKwogIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTgKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLXMgfCAtLXN0cmlwLWNvbW1lbnRzXSIKIG1zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1zIHwgLS1zdHJpcC1jb21tZW50c10iCkBAIC0xNzExMSw0OSArMjAyNzksNDkgQEAKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogbXNnc3RyICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzozNgorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzcKIG1zZ2lkICJza2lwIGFuZCByZW1vdmUgYWxsIGxpbmVzIHN0YXJ0aW5nIHdpdGggY29tbWVudCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKICJzYWx0YXIgeSBib3JyYXIgdG9kYXMgbGFzIGzDrW5lYXMgcXVlIGNvbWllbnphbiBjb24gdW4gY2Fyw6FjdGVyIGRlIGNvbWVudGFyaW8iCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM5CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzo0MAogbXNnaWQgInByZXBlbmQgY29tbWVudCBjaGFyYWN0ZXIgYW5kIHNwYWNlIHRvIGVhY2ggbGluZSIKIG1zZ3N0ciAiYW50ZXBvbmVyIGNhcsOhY3RlciBkZSBjb21lbnRhcmlvIHkgZXNwYWNpbyBhIGNhZGEgbMOtbmVhIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MzkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RpbmcgYSBmdWxsIHJlZiBuYW1lLCBnb3QgJXMiCiBtc2dzdHIgIlNlIGVzcGVyYWJhIHVuIG5vbWJyZSBkZSByZWYgY29tcGxldG8sIHNlIG9idHV2byAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQKIG1zZ2lkICJzdWJtb2R1bGUtLWhlbHBlciBwcmludC1kZWZhdWx0LXJlbW90ZSB0YWtlcyBubyBhcmd1bWVudHMiCiBtc2dzdHIgInN1Ym9tZHVsZS0taGVscGVyIHByaW50LWRlZmF1bHQtcmVtb3RlIG5vIHRvbWEgYXJndW1lbnRvcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdHJpcCBvbmUgY29tcG9uZW50IG9mZiB1cmwgJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgcXVpdGFyIHVuIGNvbXBvbmVudGUgZGVsIHVybCAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzYzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDEwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzgwCiBtc2dpZCAiYWx0ZXJuYXRpdmUgYW5jaG9yIGZvciByZWxhdGl2ZSBwYXRocyIKIG1zZ3N0ciAiYW5jaG8gYWx0ZXJuYXRpdm8gcGFyYSBydXRhcyByZWxhdGl2YXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTUKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTxydXRhPl0gWzxydXRhPi4uLl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NjkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYyNgotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ3MiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjMwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHVybCBmb3VuZCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyBpbiAuZ2l0bW9kdWxlcyIKIG1zZ3N0ciAiTm8gc2UgZW5jb250csOzIHVybCBwYXJhIGxhIHJ1dGEgZGVsIHN1Ym3Ds2R1bG8gJyVzJyBlbiAuZ2l0bW9kdWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJFbnRlcmluZyAnJXMnXG4iCiBtc2dzdHIgIkVudHJhbmRvICclcydcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicnVuX2NvbW1hbmQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIGZvciAlc1xuIgpAQCAtMTcxNjIsNyArMjAzMzAsNyBAQAogInJ1bl9jb21tYW5kIGRldm9sdmnDsyBlc3RhZG8gbm8tY2VybyBwYXJhICVzXG4iCiAiLiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU0NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicnVuX2NvbW1hbmQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIHdoaWxlIHJlY3Vyc2luZyBpbiB0aGUgbmVzdGVkICIKQEAgLTE3MTczLDE5ICsyMDM0MSwxOSBAQAogImFuaWRhZG9zIGRlICVzXG4iCiAiLiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NQogbXNnaWQgIlN1cHByZXNzIG91dHB1dCBvZiBlbnRlcmluZyBlYWNoIHN1Ym1vZHVsZSBjb21tYW5kIgogbXNnc3RyICJTdXByaW1lIGxhIHNhbGlkYSBhbCBpbmljaWFsaXphciBjYWRhIGNvbWFuZG8gZGUgc3VibcOzZHVsbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA0OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1MwogbXNnaWQgIlJlY3Vyc2UgaW50byBuZXN0ZWQgc3VibW9kdWxlcyIKIG1zZ3N0ciAiUmVjdXJzYXIgZW4gc3VibcOzZHVsb3MgYW5pZGFkb3MiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjgKLW1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZm9yZWFjaCBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSA8Y29tbWFuZD4iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBmb3JlYWNoIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIDxydXRhPiIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NzIKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZm9yZWFjaCBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSBbLS1dIDxjb21tYW5kPiIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGZvcmVhY2ggWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWy0tXSA8Y29tYW5kbz4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBsb29rIHVwIGNvbmZpZ3VyYXRpb24gJyVzJy4gQXNzdW1pbmcgdGhpcyByZXBvc2l0b3J5IGlzIGl0cyBvd24gIgpAQCAtMTcxOTQsNTcgKzIwMzYyLDU3IEBACiAibm8gc2UgcHVkbyBlbmNvbnRyYXIgY29uZmlndXJhY2nDs24gJyVzJy4gQXN1bWllbmRvIHF1ZSBlc3RlIHJlcG9zaXRvcmlvIGVzICIKICJzdSBwcm9waW8gdXBzdHJlYW0gYXV0b3JpdGF0aXZvLiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICJGYWxsw7MgYWwgcmVnaXN0cmFyIGVsIHVybCBwYXJhIGxhIHJ1dGEgZGVsIHN1Ym3Ds2R1bG8gJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyVzJyAoJXMpIHJlZ2lzdGVyZWQgZm9yIHBhdGggJyVzJ1xuIgogbXNnc3RyICJTdWJtw7NkdWxvICclcycgKCVzKSByZWdpc3RyYWRvIHBhcmEgcnV0YSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogY29tbWFuZCB1cGRhdGUgbW9kZSBzdWdnZXN0ZWQgZm9yIHN1Ym1vZHVsZSAnJXMnXG4iCiBtc2dzdHIgIiIKICJwZWxpZ3JvOiBtb2RvIGRlIGFjdHVhbGl6YWNpw7NuIGRlIGNvbWFuZG9zIHN1Z2VyaWRvIHBhcmEgZWwgc3VibcOzZHVsbyAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAiRXJyb3IgYWwgcmVnaXN0cmFyIGVsIG1vZG8gZGUgYWN0dWFsaXphY2nDs24gcGFyYSBsYSBydXRhIGRlbCBzdWJtw7NkdWxvICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MTAKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgZm9yIGluaXRpYWxpemluZyBhIHN1Ym1vZHVsZSIKIG1zZ3N0ciAiU3VwcmltZSBsYSBzYWxpZGEgcGFyYSBpbmljaWFsaXphciB1biBzdWJtw7NkdWxvIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzExCi1tc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzxwYXRoPl0iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cnV0YT5dIgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcxNQorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8b3B0aW9ucz5dIFs8cGF0aD5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPG9wY2lvbmVzPl0gWzxwYXRoPl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkwOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc4NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Ym1vZHVsZSBtYXBwaW5nIGZvdW5kIGluIC5naXRtb2R1bGVzIGZvciBwYXRoICclcyciCiBtc2dzdHIgIiIKICJubyBzZSBoYSBlbmNvbnRyYWRvIG1hcGVvIGRlIHN1Ym3Ds2R1bG9zIGVuIC5naXRtb2R1bGVzIHBhcmEgbGEgcnV0YSAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODIyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgcmVmIGluc2lkZSB0aGUgc3VibW9kdWxlICclcyciCiBtc2dzdHIgIm5vIHB1ZG8gcmVzb2x2ZXIgcmVmIGRlIEhFQUQgZGVudHJvIGRlbCBzdWJtw7NkdWxvICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NDkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NTQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiZmFsbMOzIGFsIHJlY3Vyc2FyIGVuIGVsIHN1Ym3Ds2R1bG8gJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE4MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE4OQogbXNnaWQgIlN1cHByZXNzIHN1Ym1vZHVsZSBzdGF0dXMgb3V0cHV0IgogbXNnc3RyICJTdXByaW1pciBvdXRwdXQgZGVsIGVzdGFkbyBkZWwgc3VibcOzZHVsbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3OQogbXNnaWQgIiIKICJVc2UgY29tbWl0IHN0b3JlZCBpbiB0aGUgaW5kZXggaW5zdGVhZCBvZiB0aGUgb25lIHN0b3JlZCBpbiB0aGUgc3VibW9kdWxlICIKICJIRUFEIgpAQCAtMTcyNTIsNTYgKzIwNDIwLDU2IEBACiAiVXNhciBlbCBjb21taXQgZ3VhcmRhZG8gZW4gZWwgw61uZGljZSBlbiBsdWdhciBkZWwgZ3VhcmRhZG8gZW4gZWwgc3VibcOzZHVsbyAiCiAiSEVBRCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg4MAogbXNnaWQgInJlY3Vyc2UgaW50byBuZXN0ZWQgc3VibW9kdWxlcyIKIG1zZ3N0ciAicmVjdXJzYXIgZW4gc3VibcOzZHVsb3MgYW5pZGFkb3MiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4ODAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4ODUKIG1zZ2lkICJnaXQgc3VibW9kdWxlIHN0YXR1cyBbLS1xdWlldF0gWy0tY2FjaGVkXSBbLS1yZWN1cnNpdmVdIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlIHN0YXR1cyBbLS1xdWlldF0gWy0tY2FjaGVkXSBbLS1yZWN1cnNpdmVdIFs8cnV0YT4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA5CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPHBhdGg+IgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8cnV0YT4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJXMnXG4iCiBtc2dzdHIgIlNpbmNyb25pemFuZG8gdXJsIGRlbCBzdWJtw7NkdWxvIHBhcmEgJyVzJ1xuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWdpc3RlciB1cmwgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgImZhbGzDsyBhbCByZWdpc3RyYXIgZWwgdXJsIHBhcmEgbGEgcnV0YSBkZWwgc3VibcOzZHVsbyAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTg4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlIGRlZmF1bHQgcmVtb3RlIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiZXJyb3IgYWwgY29uc2VndWlyIGVsIHJlbW90byBwb3IgZGVmZWN0byBwYXJhIGVsIHN1Ym3Ds2R1bG8gJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHVwZGF0ZSByZW1vdGUgZm9yIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJlcnJvciBhbCBhY3R1YWxpemFyIGVsIHJlbW90byBwYXJhIGVsIHN1Ym3Ds2R1bG8gJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDUxCiBtc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IG9mIHN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCIKIG1zZ3N0ciAiU3VwcmltZSBsYSBzYWxpZGEgZGVsIHVybCBkZWwgc3VibcOzZHVsbyBxdWUgc2Ugc2luY3Jvbml6YSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDU4CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHN5bmMgWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWzxwYXRoPl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBzeW5jIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIFs8cnV0YT5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEwNworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyVzJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5ICh1c2UgJ3JtIC1yZicgaWYgeW91ICIKICJyZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgaGlzdG9yeSkiCiBtc2dzdHIgIiIKICJFbCDDoXJib2wgZGUgdHJhYmFqbyBkZWwgc3VibcOzZHVsbyAnJXMnIGNvbnRpZW5lIHVuIGRpcmVjdG9yaW8gLmdpdCAodXNlICdybSAtIgotInJmJyBzaSByZWFsbWVudGUgcXVpZXJlIGVsaW1pbmFybG8gaW5jbHV5ZW5kbyB0b2RvIGVuIHN1IGhpc3RvcmlhKSIKKyJyZicgc2kgcmVhbG1lbnRlIHF1aWVyZXMgZWxpbWluYXJsbyBpbmNsdXllbmRvIHRvZG8gZW4gc3UgaGlzdG9yaWEpIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTExOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyVzJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byBkaXNjYXJkICIKQEAgLTE3MzEwLDgxICsyMDQ3OCw5OSBAQAogIkVsIMOhcmJvbCBkZSB0cmFiYWpvIGRlbCBzdWJtw7NkdWxvICclcycgY29udGllbmUgbW9kaWZpY2FjaW9uZXMgbG9jYWxlczsgdXNhICIKICInLWYnIHBhcmEgZGVzY2FydGFybGFzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEyNworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xlYXJlZCBkaXJlY3RvcnkgJyVzJ1xuIgogbXNnc3RyICJEaXJlY3RvcmlvICclcycgbGltcGlhZG9cbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJXMnXG4iCiBtc2dzdHIgIk5vIHNlIHB1ZG8gZWxpbWluYXIgZWwgw6FyYm9sIGRlIHRyYWJham8gZGVsIHN1Ym3Ds2R1bG8gJyVzJ1xuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEzOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBlbXB0eSBzdWJtb2R1bGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICJubyBzZSBwdWRvIGNyZWFyIGRpcmVjdG9yaW8gdmFjw61vIGRlIHN1Ym3Ds2R1bG8gJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTU0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyVzJyAoJXMpIHVucmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCiBtc2dzdHIgIlN1Ym3Ds2R1bG8gJyVzJyAoJXMpIG5vIHJlZ2lzdHJhZG8gcGFyYSBydXRhICclcydcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTkwCiBtc2dpZCAiUmVtb3ZlIHN1Ym1vZHVsZSB3b3JraW5nIHRyZWVzIGV2ZW4gaWYgdGhleSBjb250YWluIGxvY2FsIGNoYW5nZXMiCiBtc2dzdHIgIiIKLSJSZW1vdmVyIGFyYm9sZXMgZGUgdHJhYmFqbyBkZSBzdWJtw7NkdWxvcyBpbmNsdXNvIHNpIGNvbnRpZW5lbiBjYW1iaW9zIGxvY2FsZXMiCisiUmVtb3ZlciDDoXJib2xlcyBkZSB0cmFiYWpvIGRlIHN1Ym3Ds2R1bG9zIGluY2x1c28gc2kgY29udGllbmVuIGNhbWJpb3MgbG9jYWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTkxCiBtc2dpZCAiVW5yZWdpc3RlciBhbGwgc3VibW9kdWxlcyIKIG1zZ3N0ciAiUXVpdGFyIHRvZG9zIGxvcyBzdWJtw7NkdWxvcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTk2CiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUgZGVpbml0IFstLXF1aWV0XSBbLWYgfCAtLWZvcmNlXSBbLS1hbGwgfCBbLS1dIFs8cGF0aD4uLi5dXSIKIG1zZ3N0ciAiIgogImdpdCBzdWJtb2R1bGUgZGVpbml0IFstLXF1aWV0XSBbLWYgfCAtLWZvcmNlXSBbLS1hbGwgfCBbLS1dIFs8cnV0YT4uLi5dXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyMDMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjEwCiBtc2dpZCAiVXNlICctLWFsbCcgaWYgeW91IHJlYWxseSB3YW50IHRvIGRlaW5pdGlhbGl6ZSBhbGwgc3VibW9kdWxlcyIKIG1zZ3N0ciAiVXNhICctLWFsbCcgc2kgcmVhbG1lbnRlIHF1aWVyZXMgZGVzLWluaWNpYWxpemFyIHRvZG9zIGxvcyBzdWJtw7NkdWxvcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyOTcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzMDAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjc1Cittc2dpZCAiIgorIkFuIGFsdGVybmF0ZSBjb21wdXRlZCBmcm9tIGEgc3VwZXJwcm9qZWN0J3MgYWx0ZXJuYXRlIGlzIGludmFsaWQuXG4iCisiVG8gYWxsb3cgR2l0IHRvIGNsb25lIHdpdGhvdXQgYW4gYWx0ZXJuYXRlIGluIHN1Y2ggYSBjYXNlLCBzZXRcbiIKKyJzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSB0byAnaW5mbycgb3IsIGVxdWl2YWxlbnRseSwgY2xvbmUgd2l0aFxuIgorIictLXJlZmVyZW5jZS1pZi1hYmxlJyBpbnN0ZWFkIG9mICctLXJlZmVyZW5jZScuIgorbXNnc3RyICIiCisiVW5hIGFsdGVybmF0aXZhIGNhbGN1bGFkYSBhIHBhcnRpciBkZSBsYSBhbHRlcm5hdGl2YSBkZSB1biBzdXBlcnByb3llY3RvIG5vICIKKyJlcyB2w6FsaWRhLlxuIgorIlBhcmEgcGVybWl0aXIgcXVlIEdpdCBjbG9uZSBzaW4gdW5hIGFsdGVybmF0aXZhIGVuIGVzZSBjYXNvLCBlc3RhYmxlemNhXG4iCisic3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgYSAnaW5mbycgbywgZGUgbWFuZXJhIGVxdWl2YWxlbnRlLCBjbG9uYXIgIgorImNvblxuIgorIictLXJlZmVyZW5jZS1pZi1hYmxlJyBlbiBsdWdhciBkZSAnLS1yZWZlcmVuY2UnLiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzMTQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3VibW9kdWxlICclcycgY2Fubm90IGFkZCBhbHRlcm5hdGU6ICVzIgogbXNnc3RyICJzdWJtw7NkdWxvICclcycgbm8gcHVlZGUgYWdyZWdhciBhbHRlcm5vOiAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzMzYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IGlzIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICJWYWxvciAnJXMnIHBhcmEgc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgbm8gZXMgcmVjb25vY2lkbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNDMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbiBpcyBub3QgcmVjb2duaXplZCIKIG1zZ3N0ciAiVmFsb3IgJyVzJyBwYXJhIHN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbiBubyBlcyByZWNvbm9jaWRvIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODMKIG1zZ2lkICJ3aGVyZSB0aGUgbmV3IHN1Ym1vZHVsZSB3aWxsIGJlIGNsb25lZCB0byIKIG1zZ3N0ciAiYSBkb25kZSBlbCBudWV2byBzdWJtw7NkdWxvIHNlcsOhIGNsb25hZG8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzY5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4NgogbXNnaWQgIm5hbWUgb2YgdGhlIG5ldyBzdWJtb2R1bGUiCiBtc2dzdHIgIm5vbWJyZSBkZWwgbnVldm8gc3VibcOzZHVsbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg5CiBtc2dpZCAidXJsIHdoZXJlIHRvIGNsb25lIHRoZSBzdWJtb2R1bGUgZnJvbSIKIG1zZ3N0ciAidXJsIGRlIGTDs25kZSBjbG9uYXIgZWwgc3VibcOzZHVsbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzk3CiBtc2dpZCAiZGVwdGggZm9yIHNoYWxsb3cgY2xvbmVzIgogbXNnc3RyICJwcm9mdW5kaWRhZCBwYXJhIGNsb25lcyBzdXBlcmZpY2lhbGVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MDAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTcKIG1zZ2lkICJmb3JjZSBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICJmb3J6YXIgZWwgcHJvY2VzbyBkZSBjbG9uYWRvIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MDIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTkKK21zZ2lkICJkaXNhbGxvdyBjbG9uaW5nIGludG8gbm9uLWVtcHR5IGRpcmVjdG9yeSIKK21zZ3N0ciAibm8gcGVybWl0aXIgY2xvbmFyIGVuIGRpcmVjdG9yaW9zIG5vIHZhY8Otb3MiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDA3CiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKICI8cmVwb3NpdG9yeT5dIFstLW5hbWUgPG5hbWU+XSBbLS1kZXB0aCA8ZGVwdGg+XSAtLXVybCA8dXJsPiAtLXBhdGggPHBhdGg+IgpAQCAtMTczOTMsMTQyICsyMDU3OSwxNjAgQEAKICI8cmVwb3NpdG9yaW8+XSBbLS1uYW1lIDxub21icmU+XSBbLS1kZXB0aCA8cHJvZnVuZGlkYWQ+XSAtLXVybCA8dXJsPiAtLXBhdGggIgogIjxydXRhPiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MTkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDMxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZnVzaW5nIHRvIGNyZWF0ZS91c2UgJyVzJyBpbiBhbm90aGVyIHN1Ym1vZHVsZSdzIGdpdCBkaXIiCittc2dzdHIgInJlY2hhemFuZG8gY3JlYXIvdXNhciAnJXMnIGVuIGVsIGRpcmVjdG9yaW8gZGUgZ2l0IGRlIG90cm8gc3VibcOzZHVsbyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvbmUgb2YgJyVzJyBpbnRvIHN1Ym1vZHVsZSBwYXRoICclcycgZmFpbGVkIgogbXNnc3RyICJjbG9uIGRlICclcycgZW4gbGEgcnV0YSBkZSBzdWJtw7NkdWxvICclcycgZmFsbMOzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQzMworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IG5vdCBlbXB0eTogJyVzJyIKK21zZ3N0ciAiZGlyZWN0b3JpbyBubyBlc3TDoSB2YWPDrW86ICclcyciCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgc3VibW9kdWxlIGRpcmVjdG9yeSBmb3IgJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBvYnRlbmVyIGVsIGRpcmVjdG9yaW8gZGUgc3VibcOzZHVsbyBwYXJhICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDY5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHVwZGF0ZSBtb2RlICclcycgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCi1tc2dzdHIgIk1vZG8gZGUgYWN0dWFsaXphY2nDs24gaW52w6FsaWRvICclcycgcGFyYSBydXRhIGRlIHN1Ym1vZHVsbyAnJXMnIgorbXNnc3RyICJNb2RvIGRlIGFjdHVhbGl6YWNpw7NuIGludsOhbGlkbyAnJXMnIHBhcmEgcnV0YSBkZSBzdWJtw7NkdWxvICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDczCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHVwZGF0ZSBtb2RlICclcycgY29uZmlndXJlZCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAiIgotIk1vZG8gZGUgYWN0dWFsaXphY2nDs24gaW52w6FsaWRvICclcycgY29uZmlndXJhZG8gcGFyYSBydXRhIGRlIHN1Ym1vZHVsbyAnJXMnIgorIk1vZG8gZGUgYWN0dWFsaXphY2nDs24gaW52w6FsaWRvICclcycgY29uZmlndXJhZG8gcGFyYSBydXRhIGRlIHN1Ym3Ds2R1bG8gJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE1NjYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICclcycgbm90IGluaXRpYWxpemVkIgogbXNnc3RyICJSdXRhIGRlIHN1Ym3Ds2R1bG8gJyVzJyBubyBpbmljaWFsaXphZGEiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTcwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTU5OAogbXNnaWQgIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgotbXNnc3RyICJUYWwgdmV6IHF1aWVyZSB1c2FyICd1cGRhdGUgLS1pbml0Jz8iCittc2dzdHIgIsK/VGFsIHZleiBxdWllcmVzIHVzYXIgJ3VwZGF0ZSAtLWluaXQnPyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE2MDAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHVubWVyZ2VkIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAiU2FsdGFuZG8gc3VibcOzZHVsbyAlcyBubyBmdXNpb25hZG8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjI5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTY1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiU2FsdGFuZG8gc3VibcOzZHVsbyAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTc3MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycuIFJldHJ5IHNjaGVkdWxlZCIKIG1zZ3N0ciAiRmFsbMOzIGFsIGNsb25hciAnJXMnLiBSZWludGVudG8gcHJvZ3JhbWFkbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE3ODQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnIGEgc2Vjb25kIHRpbWUsIGFib3J0aW5nIgogbXNnc3RyICJGYWxsw7MgYWwgY2xvbmFyICclcycgdW5hIHNlZ3VuZGEgdmV6LCBhYm9ydGFuZG8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODQ3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDg5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg3NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjEyMAogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICJydXRhIGhhY2lhIGVsIMOhcmJvbCBkZSB0cmFiYWpvIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NzkKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSwgYWNyb3NzIG5lc3RlZCBzdWJtb2R1bGUgYm91bmRhcmllcyIKIG1zZ3N0ciAiIgogInJ1dGEgaGFjaWEgZWwgw6FyYm9sIGRlIHRyYWJham8sIGEgdHJhdsOpcyBkZSBleHRyZW1vcyBkZSBzdWJtw7NkdWxvcyBhbmlkYWRvcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODgzCiBtc2dpZCAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Igbm9uZSIKIG1zZ3N0ciAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgbyBub25lIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODkKIG1zZ2lkICJDcmVhdGUgYSBzaGFsbG93IGNsb25lIHRydW5jYXRlZCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiByZXZpc2lvbnMiCiBtc2dzdHIgIkNyZWEgdW4gY2xvbiBzdXBlcmZpY2lhbCB0cnVuY2FkbyBhbCBuw7ptZXJvIGVzcGVjaWZpY2FkbyBkZSByZXZpc2nDs24iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODYzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5MgogbXNnaWQgInBhcmFsbGVsIGpvYnMiCiBtc2dzdHIgInRyYWJham9zIHBhcmFsZWxvcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NjUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODk0CiBtc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgogbXNnc3RyICJzaSBlbCBjbG9uIGluaWNpYWwgZGViZSBzZWd1aXIgbGEgcmVjb21lbmRhY2nDs24gc3VwZXJmaWNpYWwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODY2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5NQogbXNnaWQgImRvbid0IHByaW50IGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgIm5vIG1vc3RyYXIgZWwgcHJvZ3Jlc28gZGUgY2xvbmFkbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NzMKLW1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgotbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlX2Nsb25lIFstLXByZWZpeD08cnV0YT5dIFs8cnV0YT4uLi5dIgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MDQKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlLWNsb25lIFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlLWNsb25lIFstLXByZWZpeD08cnV0YT5dIFs8cnV0YT4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MTcKIG1zZ2lkICJiYWQgdmFsdWUgZm9yIHVwZGF0ZSBwYXJhbWV0ZXIiCiBtc2dzdHIgIm1hbCB2YWxvciBwYXJhIHBhcsOhbWV0cm8gdXBkYXRlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkzNAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSAoJXMpIGJyYW5jaCBjb25maWd1cmVkIHRvIGluaGVyaXQgYnJhbmNoIGZyb20gc3VwZXJwcm9qZWN0LCBidXQgIgogInRoZSBzdXBlcnByb2plY3QgaXMgbm90IG9uIGFueSBicmFuY2giCiBtc2dzdHIgIiIKLSJSYW1hIGRlIHN1Ym3Ds2R1bG8gKCVzKSAgY29uZmlndXJhZGEgcGFyYSBoZXJlZGFyIHJhbWEgZGVsIHN1cGVycHJveWVjdG8sICIKLSJwZXJvIGVsIHN1cGVycHJveWVjdG8gbm8gZXN0w6EgZW4gbmluZ3VuYSByYW1hIgorIlJhbWEgZGUgc3VibcOzZHVsbyAoJXMpIGNvbmZpZ3VyYWRhIHBhcmEgaGVyZWRhciByYW1hIGRlbCBzdXBlcnByb3llY3RvLCBwZXJvICIKKyJlbCBzdXBlcnByb3llY3RvIG5vIGVzdMOhIGVuIG5pbmd1bmEgcmFtYSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwNTcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgYSByZXBvc2l0b3J5IGhhbmRsZSBmb3Igc3VibW9kdWxlICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gY29uc2VndWlyIHVuIGhhbmRsZSBwYXJhIGVsIHN1Ym3Ds2R1bG8gJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwOTAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTIxCiBtc2dpZCAicmVjdXJzZSBpbnRvIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInJlY3VycmlyIGEgc3VibcOzZHVsb3MiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDk2Ci1tc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGVtYmVkLWdpdC1kaXIgWzxwYXRoPi4uLl0iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBlbWJlZC1naXQtZGlyIFs8cnV0YT4uLi5dIgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxMjcKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgYWJzb3JiLWdpdC1kaXJzIFs8b3B0aW9ucz5dIFs8cGF0aD4uLi5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgYWJzb3JiLWdpdC1kaXJzIFs8b3BjaW9uZXM+XSBbPHBhdGg+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTgzCiBtc2dpZCAiY2hlY2sgaWYgaXQgaXMgc2FmZSB0byB3cml0ZSB0byB0aGUgLmdpdG1vZHVsZXMgZmlsZSIKIG1zZ3N0ciAicmV2aXNhciBpcyBlcyBzZWd1cm8gZXNjcmliaXIgZWwgYXJjaGl2byAuZ2l0bW9kdWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNTcKLW1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIG5hbWUgW3ZhbHVlXSIKLW1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyBuYW1lIDx2YWxvcj4iCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE4NgorbXNnaWQgInVuc2V0IHRoZSBjb25maWcgaW4gdGhlIC5naXRtb2R1bGVzIGZpbGUiCittc2dzdHIgImRlc2NvbmZpZ3VyYSBsYSBvcGNpw7NuIGVuIGVsYXJjaGl2byAuZ2l0bW9kdWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTkxCittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyA8bmFtZT4gWzx2YWx1ZT5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIDxub21icmU+IFs8dmFsb3I+XSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxOTIKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tdW5zZXQgPG5hbWU+IgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tdW5zZXQgPG5vbWJyZT4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTkzCiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLWNoZWNrLXdyaXRlYWJsZSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLWNoZWNrLXdyaXRlYWJsZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNzUgZ2l0LXN1Ym1vZHVsZS5zaDoxNjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjEyIGdpdC1zdWJtb2R1bGUuc2g6MTczCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJwbGVhc2UgbWFrZSBzdXJlIHRoYXQgdGhlIC5naXRtb2R1bGVzIGZpbGUgaXMgaW4gdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogInBvciBmYXZvciBhc2Vnw7pyYXRlIHF1ZSBlbCBhcmNoaXZvIC5naXRtb2R1bGVzIGVzdMOhIGVuIGVsIMOhcmJvbCBkZSB0cmFiYWpvIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjIyNQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyNjIgZ2l0LmM6NDMzIGdpdC5jOjY4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkb2Vzbid0IHN1cHBvcnQgLS1zdXBlci1wcmVmaXgiCiBtc2dzdHIgIiVzIG5vIHNvcG9ydGEgLS1zdXBlci1wcmVmaXgiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQiCi1tc2dzdHIgIiclcycgbm8gZXMgdW4gY29tYW5kbyBzdWJtb2R1bGUtLWhlbHBlciB2YWxpZG8iCittc2dzdHIgIiclcycgbm8gZXMgdW4gY29tYW5kbyBzdWJtb2R1bGUtLWhlbHBlciB2w6FsaWRvIgogCiAjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjgKIG1zZ2lkICJnaXQgc3ltYm9saWMtcmVmIFs8b3B0aW9ucz5dIDxuYW1lPiBbPHJlZj5dIgpAQCAtMTc1NjAsMTcgKzIwNzY0LDE3IEBACiAKICM6IGJ1aWx0aW4vdGFnLmM6MjUKIG1zZ2lkICIiCi0iZ2l0IHRhZyBbLWEgfCAtcyB8IC11IDxrZXktaWQ+XSBbLWZdIFstbSA8bXNnPiB8IC1GIDxmaWxlPl0gPHRhZ25hbWU+ICIKLSJbPGhlYWQ+XSIKKyJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGtleS1pZD5dIFstZl0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+XVxuIgorIlx0XHQ8dGFnbmFtZT4gWzxoZWFkPl0iCiBtc2dzdHIgIiIKLSJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGlkLWRlLWNsYXZlPl0gWy1mXSBbLW0gPG1lbnNhamU+IHwgLUYgPGFyY2hpdm8+XSAiCi0iPG5vbWJyZS1kZS10YWc+IFs8aGVhZD5dIgorImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPG1zZz4gfCAtRiA8YXJjaGl2bz5dXG4iCisiXHRcdDxub21icmUtdGFnPiBbPGhlYWQ+XSIKIAotIzogYnVpbHRpbi90YWcuYzoyNgorIzogYnVpbHRpbi90YWcuYzoyNwogbXNnaWQgImdpdCB0YWcgLWQgPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC1kIDxub21icmUtZGUtdGFnPi4uLiIKIAotIzogYnVpbHRpbi90YWcuYzoyNworIzogYnVpbHRpbi90YWcuYzoyOAogbXNnaWQgIiIKICJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1uby1jb250YWlucyA8Y29tbWl0Pl0gWy0tIgogInBvaW50cy1hdCA8b2JqZWN0Pl1cbiIKQEAgLTE3NTgwLDIxICsyMDc4NCwyMSBAQAogInBvaW50cy1hdCA8b2JqZXRvPl1cbiIKICJcdFx0Wy0tZm9ybWF0PTxmb3JtYXRvPl0gWy0tW25vLV1tZXJnZWQgWzxjb21taXQ+XV0gWzxwYXRyw7NuPi4uLl0iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjkKKyM6IGJ1aWx0aW4vdGFnLmM6MzAKIG1zZ2lkICJnaXQgdGFnIC12IFstLWZvcm1hdD08Zm9ybWF0Pl0gPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC12IFstLWZvcm1hdD08Zm9ybWF0bz5dIDxub21icmUtZGUtdGFnPi4uLiIKIAotIzogYnVpbHRpbi90YWcuYzo4NworIzogYnVpbHRpbi90YWcuYzo4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICJ0YWcgJyVzJyBubyBlbmNvbnRyYWRvLiIKIAotIzogYnVpbHRpbi90YWcuYzoxMDMKKyM6IGJ1aWx0aW4vdGFnLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAiRXRpcXVldGEgJyVzJyBlbGltaW5hZGEgKGVyYSAlcylcbiIKIAotIzogYnVpbHRpbi90YWcuYzoxMzMKKyM6IGJ1aWx0aW4vdGFnLmM6MTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTE3NjA3LDcgKzIwODExLDcgQEAKICIgICVzXG4iCiAiTGFzIGzDrW5lYXMgcXVlIGNvbWllbnphbiBjb24gJyVjJyBzZXLDoW4gaWdub3JhZGFzLlxuIgogCi0jOiBidWlsdGluL3RhZy5jOjEzNworIzogYnVpbHRpbi90YWcuYzoxMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTc2MjIsMzUxICsyMDgyNiwzNjggQEAKICJMYXMgbMOtbmVhcyBxdWUgY29taWVuemFuIGNvbiAnJWMnIHNlcsOhbiBjb25zZXJ2YWRhczsgcHVlZGVzIGVsaW1pbmFybGFzIHBvciAiCiAidGkgbWlzbW8gc2kgcXVpZXJlcyBoYWNlcmxvLlxuIgogCi0jOiBidWlsdGluL3RhZy5jOjE5MQorIzogYnVpbHRpbi90YWcuYzoxOTgKIG1zZ2lkICJ1bmFibGUgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICJpbmNhcGF6IGRlIGZpcm1hciB0YWciCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTkzCisjOiBidWlsdGluL3RhZy5jOjIwMAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0YWcgZmlsZSIKIG1zZ3N0ciAiaW5jYXBheiBkZSBlc2NyaWJpciBlbCBhcmNoaXZvIGRlIHRhZyIKIAotIzogYnVpbHRpbi90YWcuYzoyMTgKKyM6IGJ1aWx0aW4vdGFnLmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBjcmVhdGVkIGEgbmVzdGVkIHRhZy4gVGhlIG9iamVjdCByZWZlcnJlZCB0byBieSB5b3VyIG5ldyB0YWcgaXNcbiIKKyJhbHJlYWR5IGEgdGFnLiBJZiB5b3UgbWVhbnQgdG8gdGFnIHRoZSBvYmplY3QgdGhhdCBpdCBwb2ludHMgdG8sIHVzZTpcbiIKKyJcbiIKKyJcdGdpdCB0YWcgLWYgJXMgJXNee30iCittc2dzdHIgIiIKKyJIYXMgY3JlYWRvIHVuIHRhZyBhbmlkYWRvLiBFbCBvYmpldG8gcmVmZXJpZG8gcG9yIGVsIG51ZXZvIHRhZyB5YVxuIgorImVzIHVuIHRhZy4gU2kgcXVpc2lzdGUgaGFjZXIgZWwgdGFnIGFsIG9iamV0byBxdWUgYXB1bnRhLCB1c2E6XG4iCisiXG4iCisiXHRnaXQgdGFnIC1mICVzICVzXnt9IgorCisjOiBidWlsdGluL3RhZy5jOjIzMgogbXNnaWQgImJhZCBvYmplY3QgdHlwZS4iCiBtc2dzdHIgInRpcG8gZGUgb2JqZXRvIGVycsOzbmVvLiIKIAotIzogYnVpbHRpbi90YWcuYzoyNjcKKyM6IGJ1aWx0aW4vdGFnLmM6Mjg0CiBtc2dpZCAibm8gdGFnIG1lc3NhZ2U/IgogbXNnc3RyICLCv1NpbiBtZW5zYWplIGRlIHRhZz8iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mjc0CisjOiBidWlsdGluL3RhZy5jOjI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgdGFnIG1lc3NhZ2UgaGFzIGJlZW4gbGVmdCBpbiAlc1xuIgogbXNnc3RyICJFbCBtZW5zYWplIGRlbCB0YWcgaGEgc2lkbyBkZWphZG8gZW4gJXNcbiIKIAotIzogYnVpbHRpbi90YWcuYzozODUKKyM6IGJ1aWx0aW4vdGFnLmM6NDAyCiBtc2dpZCAibGlzdCB0YWcgbmFtZXMiCiBtc2dzdHIgImxpc3RhciBub21icmVzIGRlIHRhZ3MiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg3CisjOiBidWlsdGluL3RhZy5jOjQwNAogbXNnaWQgInByaW50IDxuPiBsaW5lcyBvZiBlYWNoIHRhZyBtZXNzYWdlIgogbXNnc3RyICJpbXByaW1pciA8bj4gbMOtbmVhcyBkZSBjYWRhIG1lbnNhamUgZGUgdGFnIgogCi0jOiBidWlsdGluL3RhZy5jOjM4OQorIzogYnVpbHRpbi90YWcuYzo0MDYKIG1zZ2lkICJkZWxldGUgdGFncyIKIG1zZ3N0ciAiZWxpbWluYXIgdGFncyIKIAotIzogYnVpbHRpbi90YWcuYzozOTAKKyM6IGJ1aWx0aW4vdGFnLmM6NDA3CiBtc2dpZCAidmVyaWZ5IHRhZ3MiCiBtc2dzdHIgInZlcmlmaWNhciB0YWdzIgogCi0jOiBidWlsdGluL3RhZy5jOjM5MgorIzogYnVpbHRpbi90YWcuYzo0MDkKIG1zZ2lkICJUYWcgY3JlYXRpb24gb3B0aW9ucyIKIG1zZ3N0ciAiT3BjaW9uZXMgZGUgY3JlYWNpw7NuIGRlIHRhZ3MiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzk0CisjOiBidWlsdGluL3RhZy5jOjQxMQogbXNnaWQgImFubm90YXRlZCB0YWcsIG5lZWRzIGEgbWVzc2FnZSIKIG1zZ3N0ciAidGFncyBhbm90YWRhcyBuZWNlc2l0YW4gdW4gbWVuc2FqZSIKIAotIzogYnVpbHRpbi90YWcuYzozOTYKKyM6IGJ1aWx0aW4vdGFnLmM6NDEzCiBtc2dpZCAidGFnIG1lc3NhZ2UiCiBtc2dzdHIgIm1lbnNhamUgZGUgdGFnIgogCi0jOiBidWlsdGluL3RhZy5jOjM5OAorIzogYnVpbHRpbi90YWcuYzo0MTUKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIHRhZyBtZXNzYWdlIgogbXNnc3RyICJmb3J6YXIgbGEgZWRpY2nDs24gZGVsIG1lbnNhamUgZGUgdGFnIgogCi0jOiBidWlsdGluL3RhZy5jOjM5OQorIzogYnVpbHRpbi90YWcuYzo0MTYKIG1zZ2lkICJhbm5vdGF0ZWQgYW5kIEdQRy1zaWduZWQgdGFnIgogbXNnc3RyICJ0YWcgYW5vdGFkbyB5IGZpcm1hZG8gY29uIEdQRyIKIAotIzogYnVpbHRpbi90YWcuYzo0MDMKKyM6IGJ1aWx0aW4vdGFnLmM6NDE5CiBtc2dpZCAidXNlIGFub3RoZXIga2V5IHRvIHNpZ24gdGhlIHRhZyIKIG1zZ3N0ciAidXNhciBvdHJhIGNsYXZlIHBhcmEgZmlybWFyIGVsIHRhZyIKIAotIzogYnVpbHRpbi90YWcuYzo0MDQKKyM6IGJ1aWx0aW4vdGFnLmM6NDIwCiBtc2dpZCAicmVwbGFjZSB0aGUgdGFnIGlmIGV4aXN0cyIKIG1zZ3N0ciAicmVtcGxhemFyIHRhZyBzaSBleGlzdGUiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA1IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OQorIzogYnVpbHRpbi90YWcuYzo0MjEgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY5CiBtc2dpZCAiY3JlYXRlIGEgcmVmbG9nIgogbXNnc3RyICJjcmVhciB1biByZWZsb2ciCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA3CisjOiBidWlsdGluL3RhZy5jOjQyMwogbXNnaWQgIlRhZyBsaXN0aW5nIG9wdGlvbnMiCiBtc2dzdHIgIk9wY2lvbmVzIGRlIGxpc3RhZG8gZGUgdGFnIgogCi0jOiBidWlsdGluL3RhZy5jOjQwOAorIzogYnVpbHRpbi90YWcuYzo0MjQKIG1zZ2lkICJzaG93IHRhZyBsaXN0IGluIGNvbHVtbnMiCiBtc2dzdHIgIm1vc3RyYXIgbGlzdGEgZGUgdGFncyBlbiBjb2x1bW5hcyIKIAotIzogYnVpbHRpbi90YWcuYzo0MDkgYnVpbHRpbi90YWcuYzo0MTEKKyM6IGJ1aWx0aW4vdGFnLmM6NDI1IGJ1aWx0aW4vdGFnLmM6NDI3CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJtb3N0cmFyIHNvbG8gdGFncyBxdWUgY29udGllbmVuIGVsIGNvbW1pdCIKIAotIzogYnVpbHRpbi90YWcuYzo0MTAgYnVpbHRpbi90YWcuYzo0MTIKKyM6IGJ1aWx0aW4vdGFnLmM6NDI2IGJ1aWx0aW4vdGFnLmM6NDI4CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJtb3N0cmFyIHNvbG8gdGFncyBxdWUgbm8gY29udGllbmVuIGVsIGNvbW1pdCIKIAotIzogYnVpbHRpbi90YWcuYzo0MTMKKyM6IGJ1aWx0aW4vdGFnLmM6NDI5CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAic8OzbG8gaW1wcmltaXIgbGFzIHRhZ3MgcXVlIGVzdMOhbiBmdXNpb25hZGFzIgogCi0jOiBidWlsdGluL3RhZy5jOjQxNAorIzogYnVpbHRpbi90YWcuYzo0MzAKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAic8OzbG8gaW1wcmltaXIgbGFzIHRhZ3MgcXVlIG5vIGVzdMOhbiBmdXNpb25hZGFzIgogCi0jOiBidWlsdGluL3RhZy5jOjQxOQorIzogYnVpbHRpbi90YWcuYzo0MzQKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAic8OzbG8gaW1wcmltaXIgdGFncyBkZSBlbCBvYmpldG8iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDYzCisjOiBidWlsdGluL3RhZy5jOjQ4MgogbXNnaWQgIi0tY29sdW1uIGFuZCAtbiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWNvbHVtbiB5IC1uIHNvbiBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3RhZy5jOjQ4NQorIzogYnVpbHRpbi90YWcuYzo1MDQKIG1zZ2lkICItbiBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKIG1zZ3N0ciAib3BjacOzbiAtbiBzb2xvIGVzIHBlcm1pdGlkYSBlbiBtb2RvIGxpc3RhIgogCi0jOiBidWlsdGluL3RhZy5jOjQ4NworIzogYnVpbHRpbi90YWcuYzo1MDYKIG1zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICJvcGNpw7NuIC0tY29udGFpbnMgc29sbyBlcyBwZXJtaXRpZG8gZW4gbW9kbyBsaXN0YSIKIAotIzogYnVpbHRpbi90YWcuYzo0ODkKKyM6IGJ1aWx0aW4vdGFnLmM6NTA4CiBtc2dpZCAiLS1uby1jb250YWlucyBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKIG1zZ3N0ciAib3BjacOzbiAtLW5vLWNvbnRhaW5zIHNvbG8gZXMgcGVybWl0aWRhIGVuIG1vZG8gbGlzdGEiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDkxCisjOiBidWlsdGluL3RhZy5jOjUxMAogbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICJvcGNpw7NuIC0tcG9pbnRzLWF0IHNvbG8gZXMgcGVybWl0aWRhIGVuIG1vZG8gbGlzdGEiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDkzCisjOiBidWlsdGluL3RhZy5jOjUxMgogbXNnaWQgIi0tbWVyZ2VkIGFuZCAtLW5vLW1lcmdlZCBvcHRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICJvcGNpb25lcyAtLW1lcmdlZCB5IC0tbm8tbWVyZ2VkICBzb2xvIGVzdMOhbiBwZXJtaXRpZGFzIGVuIG1vZG8gbGlzdGEiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTA0CisjOiBidWlsdGluL3RhZy5jOjUyMwogbXNnaWQgIm9ubHkgb25lIC1GIG9yIC1tIG9wdGlvbiBpcyBhbGxvd2VkLiIKIG1zZ3N0ciAic8OzbG8gc2UgcGVybWl0ZSB1bmEgZGUgbGFzIG9wY2lvbmVzLCAtbSDDsyAtRi4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTIzCisjOiBidWlsdGluL3RhZy5jOjU0MgogbXNnaWQgInRvbyBtYW55IHBhcmFtcyIKIG1zZ3N0ciAiZGVtYXNpYWRvcyBwYXLDoW1ldHJvcyIKIAotIzogYnVpbHRpbi90YWcuYzo1MjkKKyM6IGJ1aWx0aW4vdGFnLmM6NTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGFnIG5hbWUuIgogbXNnc3RyICInJXMnIG5vIGVzIHVuIG5vbWJyZSBkZSB0YWcgdsOhbGlkby4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTM0CisjOiBidWlsdGluL3RhZy5jOjU1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiZWwgdGFnICclcycgeWEgZXhpc3RlIgogCi0jOiBidWlsdGluL3RhZy5jOjU2NQorIzogYnVpbHRpbi90YWcuYzo1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICJFdGlxdWV0YSAnJXMnIGFjdHVhbGl6YWRhIChlcmEgJXMpXG4iCiAKLSM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo1MDAKKyM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo1MDEKIG1zZ2lkICJVbnBhY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiRGVzZW1wYXF1ZXRhbmRvIG9iamV0b3MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgImZhbGzDsyBhbCBjcmVhciBkaXJlY3RvcmlvICVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGZpbGUgJXMiCiBtc2dzdHIgImZhbGzDsyBhbCBjcmVhciBlbCBhcmNoaXZvICVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBmaWxlICVzIgogbXNnc3RyICJmYWxsw7MgYWwgZWxpbWluYXIgZWwgYXJjaGl2byAlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE1IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICJmYWxsw7MgYWwgZWxpbWluYXIgZGlyZWN0b3JpbyAlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRlc3RpbmcgbXRpbWUgaW4gJyVzJyAiCiBtc2dzdHIgIlByb2JhbmRvIG10aW1lIGVuICclcycgIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNTQKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBhZGRpbmcgYSBuZXcgZmlsZSIKIG1zZ3N0ciAiaW5mbyBkZSBlc3RhZG8gZGVsIGRpcmVjdG9yaW8gbm8gY2FtYmlhIHRyYXMgYWdyZWdhciB1biBudWV2byBhcmNoaXZvIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE2NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNjcKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBhZGRpbmcgYSBuZXcgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAiaW5mbyBkZSBlc3RhZG8gZGVsIGRpcmVjdG9yaW8gbm8gY2FtYmlhIHRyYXMgYWdyZWdhciB1biBudWV2byBkaXJlY3RvcmlvIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE3OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxODAKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGNoYW5nZXMgYWZ0ZXIgdXBkYXRpbmcgYSBmaWxlIgogbXNnc3RyICJpbmZvIGRlIGVzdGFkbyBkZWwgZGlyZWN0b3JpbyBjYW1iaWEgdHJhcyBhY3R1YWxpemFyIHVuIGFyY2hpdm8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTg5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE5MQogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciBhZGRpbmcgYSBmaWxlIGluc2lkZSBzdWJkaXJlY3RvcnkiCiBtc2dzdHIgIiIKICJpbmZvIGRlIGVzdGFkbyBkZWwgZGlyZWN0b3JpbyBjYW1iaWEgdHJhcyBhZ3JlZ2FyIHVuIGFyY2hpdm8gZGVudHJvIGRlbCAiCiAic3ViZGlyZWN0b3JpbyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMDAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjAyCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBmaWxlIgogbXNnc3RyICJpbmZvIGRlIGVzdGFkbyBkZWwgZGlyZWN0b3JpbyBubyBjYW1iaWEgdHJhcyBib3JyYXIgdW4gYXJjaGl2byIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE1CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBkaXJlY3RvcnkiCiBtc2dzdHIgImluZm8gZGUgZXN0YWRvIGRlbCBkaXJlY3RvcmlvIG5vIGNhbWJpYSB0cmFzIGJvcnJhciB1biBkaXJlY3RvcmlvIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIyMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMjIKIG1zZ2lkICIgT0siCiBtc2dzdHIgIiBPSyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1ODgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NTkxCiBtc2dpZCAiZ2l0IHVwZGF0ZS1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgdXBkYXRlLWluZGV4IFs8b3BjaW9uZXM+XSBbLS1dIFs8YXJjaGl2bz4uLi5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzQKIG1zZ2lkICJjb250aW51ZSByZWZyZXNoIGV2ZW4gd2hlbiBpbmRleCBuZWVkcyB1cGRhdGUiCiBtc2dzdHIgIiIKICJjb250aW51YXIgcmVmcmVzaCAoQWN0dWFsaXphY2nDs24pIGluY2x1c28gY3VhbmRvIGVsIMOtbmRpY2UgbmVjZXNpdGEgIgogImFjdHVhbGl6YWNpw7NuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzcKIG1zZ2lkICJyZWZyZXNoOiBpZ25vcmUgc3VibW9kdWxlcyIKIG1zZ3N0ciAicmVmcmVzaDogaWdub3JhIHN1Ym3Ds2R1bG9zIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODAKIG1zZ2lkICJkbyBub3QgaWdub3JlIG5ldyBmaWxlcyIKIG1zZ3N0ciAibm8gaWdub3JhciBhcmNoaXZvcyBudWV2b3MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MgogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICJwZXJtaXRpciBxdWUgYXJjaGl2b3MgcmVtcGxhY2VuIGRpcmVjdG9yaW9zIHkgdmljZS12ZXJzYSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg0CiBtc2dpZCAibm90aWNlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAiYXZpc2FyIGRlIGFyY2hpdm9zIGZhbHRhbmRvIGVuIGVsIMOhcmJvbCBkZSB0cmFiYWpvIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODYKIG1zZ2lkICJyZWZyZXNoIGV2ZW4gaWYgaW5kZXggY29udGFpbnMgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAiZWplY3V0YXIgcmVmcmVzaCBpbmNsdXNvIHNpIGVsIMOtbmRpY2UgY29udGllbmUgZW50cmFkYXMgc2luIGNhbWJpb3MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4OQogbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAicmVmcmVzaCBpbmZvcm1hY2nDs24gZGUgZXN0YWRvIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTMKIG1zZ2lkICJsaWtlIC0tcmVmcmVzaCwgYnV0IGlnbm9yZSBhc3N1bWUtdW5jaGFuZ2VkIHNldHRpbmciCiBtc2dzdHIgImNvbW8gLS1yZWZyZXNoLCBwZXJvIGlnbm9yYSBjb25maWd1cmFjacOzbiBhc3N1bWUtdW5jaGFuZ2VkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKIG1zZ2lkICI8bW9kZT4sPG9iamVjdD4sPHBhdGg+IgogbXNnc3RyICI8bW9kbz4sPG9iamV0bz4sPHJ1dGE+IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTgKIG1zZ2lkICJhZGQgdGhlIHNwZWNpZmllZCBlbnRyeSB0byB0aGUgaW5kZXgiCiBtc2dzdHIgImFncmVnYXIgbGEgZW50cmFkYSBlc3BlY2lmaWNhZGEgYWwgw61uZGljZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwOAogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJub3QgY2hhbmdpbmdcIiIKIG1zZ3N0ciAibWFyY2FyIGFyY2hpdm9zIGNvbW8gXCJub3QgY2hhbmdpbmdcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxMQogbXNnaWQgImNsZWFyIGFzc3VtZWQtdW5jaGFuZ2VkIGJpdCIKIG1zZ3N0ciAibGltcGlhciBiaXQgYXNzdW1lZC11bmNoYW5nZWQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE0CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAibWFyY2FyIGFyY2hpdm9zIGNvbW8gXCJpbmRleC1vbmx5XCIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE3CiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCiBtc2dzdHIgImxpbXBpYXIgYml0IHNraXAtd29ya3RyZWUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDIwCittc2dpZCAiZG8gbm90IHRvdWNoIGluZGV4LW9ubHkgZW50cmllcyIKK21zZ3N0ciAibm8gdG9jYXIgZW50cmFkYXMgaW5kZXgtb25seSIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDIyCiBtc2dpZCAiYWRkIHRvIGluZGV4IG9ubHk7IGRvIG5vdCBhZGQgY29udGVudCB0byBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgIiIKICJhZ3JlZ2FyIHNvbG8gYWwgw61uZGljZTsgbm8gYWdyZWdhciBjb250ZW5pZG8gYSBsYSBiYXNlIGRlIGRhdG9zIGRlIG9iamV0b3MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI0CiBtc2dpZCAicmVtb3ZlIG5hbWVkIHBhdGhzIGV2ZW4gaWYgcHJlc2VudCBpbiB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogImVsaW1pbmFyIHJ1dGFzIG5vbWJyYWRhcyBpbmNsdXNvIHNpIGVzdMOhbiBwcmVzZW50ZXMgZW4gZWwgw6FyYm9sIGRlIHRyYWJham8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI2CiBtc2dpZCAid2l0aCAtLXN0ZGluOiBpbnB1dCBsaW5lcyBhcmUgdGVybWluYXRlZCBieSBudWxsIGJ5dGVzIgotbXNnc3RyICJjb24gLS1zdGRpbjogbGFzIGxpbmVhcyBkZSBlbnRyYWRhIHNvbiB0ZXJtaW5hZGFzIGNvbiBieXRlcyBudWxvcyIKK21zZ3N0ciAiY29uIC0tc3RkaW46IGxhcyBsw61uZWFzIGRlIGVudHJhZGEgc29uIHRlcm1pbmFkYXMgY29uIGJ5dGVzIG51bG9zIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyOAogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxlZXIgbGEgbGlzdGEgZGUgcnV0YXMgcGFyYSBzZXIgYWN0dWFsaXphZGEgZGVzZGUgc3RhbmRhcmQgaW5wdXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDMyCiBtc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCiBtc2dzdHIgImFncmVnYXIgZW50cmFkYXMgZGUgc3RhbmRhcmQgaW5wdXQgYWwgw61uZGljZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDIwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzYKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgInJlcG9ibGFyIHN0YWdlcyAjMiB5ICMzIHBhcmEgbGFzIHJ1dGFzIGxpc3RhZGFzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0MAogbXNnaWQgIm9ubHkgdXBkYXRlIGVudHJpZXMgdGhhdCBkaWZmZXIgZnJvbSBIRUFEIgogbXNnc3RyICJzb2xvIGFjdHVhbGl6YXIgZW50cmFkYXMgcXVlIGRpZmllcmVuIGRlIEhFQUQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQ0CiBtc2dpZCAiaWdub3JlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAiaWdub3JhciBhcmNoaXZvcyBmYWx0YW50ZXMgZW4gZWwgw6FyYm9sIGRlIHRyYWJham8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzMQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQ3CiBtc2dpZCAicmVwb3J0IGFjdGlvbnMgdG8gc3RhbmRhcmQgb3V0cHV0IgogbXNnc3RyICJyZXBvcnRhciBhY2Npb25lcyBwb3Igc3RhbmRhcmQgb3V0cHV0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0OQogbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgogbXNnc3RyICIocGFyYSBwb3JjZWxhbmFzKSBvbHZpZGFyIGNvbmZsaWN0b3Mgc2luIHJlc29sdmVyIGd1YXJkYWRvcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDM3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTMKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAiZXNjcmliaXIgw61uZGljZSBlbiBlc3RlIGZvcm1hdG8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzOQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDU1CiBtc2dpZCAiZW5hYmxlIG9yIGRpc2FibGUgc3BsaXQgaW5kZXgiCiBtc2dzdHIgImFjdGl2YXIgbyBkZXNhY3RpdmFyIMOtbmRpY2UgZGl2aWRpZG8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDU3CiBtc2dpZCAiZW5hYmxlL2Rpc2FibGUgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICJoYWJpbGl0YXIgbyBkZXNoYWJpbGl0YXIgY2FjaMOpIG5vIHJhc3RyZWFkbyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTkKIG1zZ2lkICJ0ZXN0IGlmIHRoZSBmaWxlc3lzdGVtIHN1cHBvcnRzIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAicHJvYmFyIHNpIGVsIGZpbGVzeXN0ZW0gc29wb3J0YSBjYWNow6kgbm8gcmFzdHJlYWRvIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2MQogbXNnaWQgImVuYWJsZSB1bnRyYWNrZWQgY2FjaGUgd2l0aG91dCB0ZXN0aW5nIHRoZSBmaWxlc3lzdGVtIgogbXNnc3RyICJoYWJpbGl0YXIgY2FjaMOpIG5vIHJhc3RyZWFkbyBzaW4gcHJvYmFyIGVsIGZpbGVzeXN0ZW0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDYzCiBtc2dpZCAid3JpdGUgb3V0IHRoZSBpbmRleCBldmVuIGlmIGlzIG5vdCBmbGFnZ2VkIGFzIGNoYW5nZWQiCiBtc2dzdHIgImVzY3JpYmlyIGVsIMOtbmRpY2UgaW5jbHVzbyBzaSBubyBlc3TDoSBtYXJjYWRvIGNvbW8gY2FtYmlhZG8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDY1CiBtc2dpZCAiZW5hYmxlIG9yIGRpc2FibGUgZmlsZSBzeXN0ZW0gbW9uaXRvciIKIG1zZ3N0ciAiYWN0aXZhciBvIGRlc2FjdGl2YXIgbW9uaXRvciBkZSBzaXN0ZW1hIGRlIGFyY2hpdm9zIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2NwogbXNnaWQgIm1hcmsgZmlsZXMgYXMgZnNtb25pdG9yIHZhbGlkIgogbXNnc3RyICJtYXJjYXIgYXJjaGl2b3MgY29tbyB2w6FsaWRvcyBwYXJhIGZzbW9uaXRvciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDU0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNzAKIG1zZ2lkICJjbGVhciBmc21vbml0b3IgdmFsaWQgYml0IgogbXNnc3RyICJsaW1waWEgZWwgYml0IGRlIHZhbGlkYWNpw7NuIGZzbW9uaXRvciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTUzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNzMKIG1zZ2lkICIiCiAiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvICIKICJlbmFibGUgc3BsaXQgaW5kZXgiCkBAIC0xNzk3NCw3ICsyMTE5NSw3IEBACiAiY29yZS5zcGxpdEluZGV4IGVzdMOhIGNvbmZpZ3VyYWRvIGVuIGZhbHNlOyByZW11w6l2ZWxvIG8gY8OhbWJpYWxvLCBzaSAiCiAicmVhbG1lbnRlIHF1aWVyZXMgaGFiaWxpdGFyIGVsIMOtbmRpY2UgcGFydGlkbyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTYyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExODIKIG1zZ2lkICIiCiAiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgogImRpc2FibGUgc3BsaXQgaW5kZXgiCkBAIC0xNzk4Miw3ICsyMTIwMyw3IEBACiAiY29yZS5zcGxpdEluZGV4IGVzdMOhIGNvbmZpZ3VyYWRvIGVuIHRydWU7IHJlbXXDqXZlbG8gbyBjw6FtYmlhbG8sIHNpIHJlYWxtZW50ZSAiCiAicXVpZXJlcyBkZXNoYWJpbGl0YXIgZWwgw61uZGljZSBwYXJ0aWRvIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE5NAogbXNnaWQgIiIKICJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGRpc2FibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKQEAgLTE3OTkwLDExICsyMTIxMSwxMSBAQAogImNvcmUudW50cmFja2VkQ2FjaGUgZXN0w6EgY29uZmlndXJhZG8gZW4gdHJ1ZTsgcmVtdcOpdmVsbyBvIGPDoW1iaWFsbywgc2kgIgogInJlYWxtZW50ZSBxdWllcmVzIGRlc2hhYmlsaXRhciBlbCBjaGFjaMOpIG5vIHJhc3RyZWFkbyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTc3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExOTgKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZGlzYWJsZWQiCiBtc2dzdHIgIkNhY2jDqSBubyByYXN0cmVhZG8gZGVzaGFiaWxpdGFkbyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTg1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMDYKIG1zZ2lkICIiCiAiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gZmFsc2U7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCAiCiAidG8gZW5hYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCkBAIC0xODAwMiwyOSArMjEyMjMsMjkgQEAKICJjb3JlLnVudHJhY2tlZENhY2hlIGVzdMOhIGNvbmZpZ3VyYWRvIGVuIGZhbHNlOyByZW11w6l2ZWxvIG8gY8OhbWJpYWxvLCBzaSAiCiAicmVhbG1lbnRlIHF1aWVyZXMgaGFiaWxpdGFyIGVsIGNhY2jDqSBubyByYXN0cmVhZG8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE4OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBlbmFibGVkIGZvciAnJXMnIgogbXNnc3RyICJDYWNow6kgbm8gcmFzdHJlYWRvIGhhYmlsaXRhZG8gcGFyYSAnJXMnIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExOTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIxOAogbXNnaWQgImNvcmUuZnNtb25pdG9yIGlzIHVuc2V0OyBzZXQgaXQgaWYgeW91IHJlYWxseSB3YW50IHRvIGVuYWJsZSBmc21vbml0b3IiCiBtc2dzdHIgIiIKICJjb3JlLmZzbW9uaXRvciBubyBlc3TDoSBjb25maWd1cmFkbzsgYWN0w612YWxvIHNpIHJlYWxtZW50ZSBxdWllcmVzIGhhYmlsaXRhciAiCiAiZnNtb25pdG9yIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIyMgogbXNnaWQgImZzbW9uaXRvciBlbmFibGVkIgogbXNnc3RyICJmc21vbml0b3IgYWN0aXZhZG8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIwNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjI1CiBtc2dpZCAiIgogImNvcmUuZnNtb25pdG9yIGlzIHNldDsgcmVtb3ZlIGl0IGlmIHlvdSByZWFsbHkgd2FudCB0byBkaXNhYmxlIGZzbW9uaXRvciIKIG1zZ3N0ciAiIgogImNvcmUuZnNtb25pdG9yIGVzdMOhIGNvbmZpZ3VyYWRvOyByZW11w6l2ZWxvIHNpIHJlYWxtZW50ZSBxdWllcmVzIGRlc2hhYmlsaXRhciAiCiAiZWwgZnNtb25pdG9yIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMDgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIyOQogbXNnaWQgImZzbW9uaXRvciBkaXNhYmxlZCIKIG1zZ3N0ciAiZnNtb25pdG9yIGRlc2FjdGl2YWRvIgogCkBAIC0xODA3MCw2ICsyMTI5MSwxMCBAQAogbXNnaWQgImdpdCB1cGxvYWQtcGFjayBbPG9wdGlvbnM+XSA8ZGlyPiIKIG1zZ3N0ciAiZ2l0IHVwbG9hZC1wYWNrIFs8b3BjaW9uZXM+XSA8ZGlyZWN0b3Jpbz4iCiAKKyM6IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyMyB0L2hlbHBlci90ZXN0LXNlcnZlLXYyLmM6MTcKK21zZ2lkICJxdWl0IGFmdGVyIGEgc2luZ2xlIHJlcXVlc3QvcmVzcG9uc2UgZXhjaGFuZ2UiCittc2dzdHIgInNhbGUgZGVzcHXDqXMgZGUgdW4gaW50ZXJjYW1iaW8gcGV0aWNpw7NuL3Jlc3B1ZXN0YSDDum5pY28iCisKICM6IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyNQogbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgaW5pdGlhbCByZWYgYWR2ZXJ0aXNlbWVudCIKIG1zZ3N0ciAic2FsaXIgaW5tZWRpYXRhbWVudGUgdHJhcyBlbCBhbnVuY2lvIGluaWNpYWwgZGUgcmVmIgpAQCAtMTgwODIsMTUgKzIxMzA3LDE1IEBACiBtc2dpZCAiaW50ZXJydXB0IHRyYW5zZmVyIGFmdGVyIDxuPiBzZWNvbmRzIG9mIGluYWN0aXZpdHkiCiBtc2dzdHIgImludGVycnVtcGlyIHRyYW5zZmVyZW5jaWEgdHJhcyA8bj4gc2VndW5kb3MgZGUgaW5hY3RpdmlkYWQiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjIwCisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzoxOQogbXNnaWQgImdpdCB2ZXJpZnktY29tbWl0IFstdiB8IC0tdmVyYm9zZV0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCB2ZXJpZnktY29tbWl0IFstdiB8IC0tdmVyYm9zZV0gPGNvbW1pdD4uLi4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjc2CisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo2OAogbXNnaWQgInByaW50IGNvbW1pdCBjb250ZW50cyIKIG1zZ3N0ciAiaW1wcmltaXIgY29udGVuaWRvIGRlbCBjb21taXQiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjc3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo2OSBidWlsdGluL3ZlcmlmeS10YWcuYzozNwogbXNnaWQgInByaW50IHJhdyBncGcgc3RhdHVzIG91dHB1dCIKIG1zZ3N0ciAibXVlc3RyYSBsYSBzYWxpZGEgZGUgc3RhdHVzIGdwZyBlbiBmb3JtYXRvIHJhdyIKIApAQCAtMTgxMDYsMTEgKzIxMzMxLDExIEBACiBtc2dpZCAic2hvdyBzdGF0aXN0aWNzIG9ubHkiCiBtc2dzdHIgInNvbG8gbW9zdHJhciBlc3RhZMOtc3RpY2FzIgogCi0jOiBidWlsdGluL3ZlcmlmeS10YWcuYzoxOQorIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MTgKIG1zZ2lkICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIFstLWZvcm1hdD08Zm9ybWF0Pl0gPHRhZz4uLi4iCiBtc2dzdHIgImdpdCB2ZXJpZnktdGFnIFstdiB8IC0tdmVyYm9zZV0gWy0tZm9ybWF0PTxmb3JtYXRvPl0gPHRhZz4uLi4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM3CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzozNgogbXNnaWQgInByaW50IHRhZyBjb250ZW50cyIKIG1zZ3N0ciAiaW1wcmltaXIgY29udGVuaWRvIGRlbCB0YWciCiAKQEAgLTE4MTQyLDcgKzIxMzY3LDcgQEAKIG1zZ2lkICJnaXQgd29ya3RyZWUgdW5sb2NrIDxwYXRoPiIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIHVubG9jayA8cnV0YT4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2MCBidWlsdGluL3dvcmt0cmVlLmM6ODcxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NjAgYnVpbHRpbi93b3JrdHJlZS5jOjg5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlICclcyciCiBtc2dzdHIgImZhbGzDsyBhbCBib3JyYXIgJyVzJyIKQEAgLTE4MjE5LDEyNCArMjE0NDQsMTI0IEBACiAiJyVzJyBlcyB1biDDoXJib2wgZGUgdHJhYmFqbyBmYWx0YW50ZSBwZXJvIHlhIHJlZ2lzdHJhZG87XG4iCiAidXNhICdhZGQgLWYnIHBhcmEgc29icmVlc2NyaWJpciwgbyAncHJ1bmUnIG8gJ3JlbW92ZScgcGFyYSBsaW1waWFyIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzA5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IG9mICclcyciCiBtc2dzdHIgIm5vIHNlIHB1ZG8gY3JlYXIgZGlyZWN0b3JpbyBkZSAnJXMnIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDI4IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzkgYnVpbHRpbi93b3JrdHJlZS5jOjQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKG5ldyBicmFuY2ggJyVzJykiCiBtc2dzdHIgIlByZXBhcmFuZG8gw6FyYm9sIGRlIHRyYWJham8gKG51ZXZhIHJhbWEgJyVzJykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChyZXNldHRpbmcgYnJhbmNoICclcyc7IHdhcyBhdCAlcykiCiBtc2dzdHIgIlByZXBhcmFuZG8gw6FyYm9sIGRlIHRyYWJham8gKHJlaW5pY2lhbmRvIHJhbWEgJyVzJzsgZXN0YWJhIGVuICVzKSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQzOQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKGNoZWNraW5nIG91dCAnJXMnKSIKIG1zZ3N0ciAiUHJlcGFyYW5kbyDDoXJib2wgZGUgdHJhYmFqbyAoaGFjaWVuZG8gY2hlY2tvdXQgYSAnJXMnKSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0NQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKGRldGFjaGVkIEhFQUQgJXMpIgogbXNnc3RyICJQcmVwYXJhbmRvIMOhcmJvbCBkZSB0cmFiYWpvIChIRUFEIGRlc2Fjb3BsYWRvICVzKSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4NgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5NwogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGV2ZW4gaWYgYWxyZWFkeSBjaGVja2VkIG91dCBpbiBvdGhlciB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogImhhY2VyIGNoZWNrb3V0IGEgPHJhbWE+IGluY2x1c28gc2kgeWEgaGEgaGVjaG8gY2hlY2tvdXQgZW4gb3RybyDDoXJib2wgZGUgIgogInRyYWJham8iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDAKIG1zZ2lkICJjcmVhdGUgYSBuZXcgYnJhbmNoIgogbXNnc3RyICJjcmVhciB1bmEgbnVldmEgcmFtYSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwMgogbXNnaWQgImNyZWF0ZSBvciByZXNldCBhIGJyYW5jaCIKIG1zZ3N0ciAiY3JlYXIgbyByZXN0YWJsZWNlciB1bmEgcmFtYSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwNAogbXNnaWQgInBvcHVsYXRlIHRoZSBuZXcgd29ya2luZyB0cmVlIgogbXNnc3RyICJwb3B1bGFyIGVsIG51ZXZvIMOhcmJvbCBkZSB0cmFiYWpvIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDk0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA1CiBtc2dpZCAia2VlcCB0aGUgbmV3IHdvcmtpbmcgdHJlZSBsb2NrZWQiCiBtc2dzdHIgIm1hbnRlbmVyIGVsIG51ZXZvIMOhcmJvbCBkZSB0cmFiYWpvIGJsb3F1ZWFkbyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5NworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwOAogbXNnaWQgInNldCB1cCB0cmFja2luZyBtb2RlIChzZWUgZ2l0LWJyYW5jaCgxKSkiCiBtc2dzdHIgImNvbmZpZ3VyYW5kbyBtb2RvIHRyYWNraW5nIChtaXJhciBnaXQtYnJhbmNoKDEpKSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwMAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUxMQogbXNnaWQgInRyeSB0byBtYXRjaCB0aGUgbmV3IGJyYW5jaCBuYW1lIHdpdGggYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICIiCiAiaW50ZW50YXIgZW1wYXJlamFyIGVsIG51ZXZvIG5vbWJyZSBkZSByYW1hIGNvbiB1bmEgcmFtYSBkZSByYXN0cmVvIHJlbW90byIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUxOQogbXNnaWQgIi1iLCAtQiwgYW5kIC0tZGV0YWNoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1iLCAtQiwgeSAtLWRldGFjaCBzb24gbXV0dWFtZW50ZSBleGNsdXNpdmFzIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTY5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTgwCiBtc2dpZCAiLS1bbm8tXXRyYWNrIGNhbiBvbmx5IGJlIHVzZWQgaWYgYSBuZXcgYnJhbmNoIGlzIGNyZWF0ZWQiCiBtc2dzdHIgIi0tW25vLV10cmFjayBzb2xvIHB1ZWRlIHNlciB1c2FkbyBzaSB1bmEgbnVldmEgcmFtYSBlcyBjcmVhZGEiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NjkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODAKIG1zZ2lkICJyZWFzb24gZm9yIGxvY2tpbmciCiBtc2dzdHIgInJhesOzbiBwYXJhIGJsb3F1ZWFyIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjgxIGJ1aWx0aW4vd29ya3RyZWUuYzo3MTQgYnVpbHRpbi93b3JrdHJlZS5jOjc3MgotIzogYnVpbHRpbi93b3JrdHJlZS5jOjg5OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5MiBidWlsdGluL3dvcmt0cmVlLmM6NzI1IGJ1aWx0aW4vd29ya3RyZWUuYzo3OTkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIiclcycgbm8gZXMgdW4gw6FyYm9sIGRlIHRyYWJham8iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODMgYnVpbHRpbi93b3JrdHJlZS5jOjcxNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5NCBidWlsdGluL3dvcmt0cmVlLmM6NzI3CiBtc2dpZCAiVGhlIG1haW4gd29ya2luZyB0cmVlIGNhbm5vdCBiZSBsb2NrZWQgb3IgdW5sb2NrZWQiCiBtc2dzdHIgIkVsIMOhcmJvbCBkZSB0cmFiYWpvIHByaW5jaXBhbCBubyBwdWVkZSBzZXIgYmxvcXVlYWRvIG5pIGRlc2Jsb3F1ZWFkbyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY4OAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkLCByZWFzb246ICVzIgogbXNnc3RyICInJXMnIHlhIGVzdMOhIGJsb3F1ZWFkbzsgcmF6w7NuOiAlcyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkIgogbXNnc3RyICInJXMnIHlhIGVzdMOhIGJsb3F1ZWFkbyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjcxOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjcyOQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBsb2NrZWQiCiBtc2dzdHIgIiclcycgbm8gZXN0w6EgYmxvcXVlYWRvIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzQzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NzcwCiBtc2dpZCAid29ya2luZyB0cmVlcyBjb250YWluaW5nIHN1Ym1vZHVsZXMgY2Fubm90IGJlIG1vdmVkIG9yIHJlbW92ZWQiCiBtc2dzdHIgIiIKICLDoXJib2xlcyBkZSB0cmFiYWpvIGNvbnRlbmllbmRvIHN1Ym3Ds2R1bG9zIG5vIHB1ZWRlIHNlciBtb3ZpZG9zIG8gZWxpbWluYWRvIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzUxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6Nzc4CiBtc2dpZCAiZm9yY2UgbW92ZSBldmVuIGlmIHdvcmt0cmVlIGlzIGRpcnR5IG9yIGxvY2tlZCIKIG1zZ3N0ciAiZm9yemFyIG1vdmUgaW5jbHVzbyBzaSBlbCDDoXJib2wgZGUgdHJhYmFqbyBlc3TDoSBzdWNpbyBvIGJsb3F1ZWFkbyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3NCBidWlsdGluL3dvcmt0cmVlLmM6OTAxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODAxIGJ1aWx0aW4vd29ya3RyZWUuYzo5MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhIG1haW4gd29ya2luZyB0cmVlIgogbXNnc3RyICInJXMnIGVzIHVuIMOhcmJvbCBkZSB0cmFiYWpvIHByaW5jaXBhbCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZmlndXJlIG91dCBkZXN0aW5hdGlvbiBuYW1lIGZyb20gJyVzJyIKIG1zZ3N0ciAibm8gc2UgcHVkbyBkZXNjdWJyaXIgZWwgbm9tYnJlIGRlIGRlc3Rpbm8gZGUgJyVzJyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc4NQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjgxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YXJnZXQgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiZWwgb2JqZXRpdm8gJyVzJyB5YSBleGlzdGUiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3OTMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNhbm5vdCBtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZSwgbG9jayByZWFzb246ICVzXG4iCkBAIC0xODM0NSw3ICsyMTU3MCw3IEBACiAibm8gc2UgcHVlZGUgbW92ZXIgdW4gw6FyYm9sIGRlIHRyYWJham8gYmxvcXVlYWRvLCBtb3Rpdm8gZGVsIGJsb3F1ZW86ICVzXG4iCiAidXNlICdtb3ZlIC1mIC1mJyBwYXJhIHNvYnJlZXNjcmliaXIgbyBkZXNibG9xdWVhciBwcmltZXJvIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Nzk1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODIyCiBtc2dpZCAiIgogImNhbm5vdCBtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZTtcbiIKICJ1c2UgJ21vdmUgLWYgLWYnIHRvIG92ZXJyaWRlIG9yIHVubG9jayBmaXJzdCIKQEAgLTE4MzUzLDM2ICsyMTU3OCwzNyBAQAogIm5vIHNlIHB1ZWRlIG1vdmVyIHVuIMOhcmJvbCBkZSB0cmFiYWpvIGJsb3F1ZWFkbztcbiIKICJ1c2UgJ21vdmUgLWYgLWYnIHBhcmEgc29icmVlc2NyaWJpciBvIGRlc2Jsb3F1ZWFyIHByaW1lcm8iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3OTgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidmFsaWRhdGlvbiBmYWlsZWQsIGNhbm5vdCBtb3ZlIHdvcmtpbmcgdHJlZTogJXMiCiBtc2dzdHIgImZhbGzDsyB2YWxpZGFjacOzbiwgbm8gc2UgcHVlZGUgbW92ZXIgZWwgw6FyYm9sIGRlIHRyYWJham86ICVzIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODAzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBtb3ZlICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiZmFsbMOzIGFsIG1vdmVyICclcycgYSAnJXMnIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODUxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBydW4gJ2dpdCBzdGF0dXMnIG9uICclcyciCiBtc2dzdHIgImZhbGzDsyBhbCBlamVjdXRhciAnZ2l0IHN0YXR1cycgZW4gJyVzJyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjg1NQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjg4MgogIywgYy1mb3JtYXQKLW1zZ2lkICInJXMnIGlzIGRpcnR5LCB1c2UgLS1mb3JjZSB0byBkZWxldGUgaXQiCi1tc2dzdHIgIiclcycgZXN0w6Egc3VjaW8sIHVzZSAtLWZvcmNlIHBhcmEgYm9ycmFybG8iCittc2dpZCAiJyVzJyBjb250YWlucyBtb2RpZmllZCBvciB1bnRyYWNrZWQgZmlsZXMsIHVzZSAtLWZvcmNlIHRvIGRlbGV0ZSBpdCIKK21zZ3N0ciAiIgorIiclcycgY29udGllbmUgYXJjaGl2b3Mgbm8gcmFzdHJlYWRvcyBvIG1vZGlmaWNhZG9zLCB1c2UgLS1mb3JjZSBwYXJhIGJvcnJhcmxvIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODYwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBydW4gJ2dpdCBzdGF0dXMnIG9uICclcycsIGNvZGUgJWQiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gZWplY3V0YXIgJ2dpdCBzdGF0dXMnIGVuICclcycsIGPDs2RpZ28gJWQiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4ODMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MTAKIG1zZ2lkICJmb3JjZSByZW1vdmFsIGV2ZW4gaWYgd29ya3RyZWUgaXMgZGlydHkgb3IgbG9ja2VkIgogbXNnc3RyICJmb3J6YXIgcmVtb2Npw7NuIGluY2x1c28gc2kgZWwgw6FyYm9sIGRlIHRyYWJham8gZXN0w6Egc3VjaW8gbyBibG9xdWVhZG8iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MDYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNhbm5vdCByZW1vdmUgYSBsb2NrZWQgd29ya2luZyB0cmVlLCBsb2NrIHJlYXNvbjogJXNcbiIKQEAgLTE4MzkxLDcgKzIxNjE3LDcgQEAKICJubyBzZSBwdWVkZW4gZWxpbWluYXIgw6FyYm9sIGRlIHRyYWJham8gYmxvcXVlYWRvLCByYXrDs24gZGVsIGJsb3F1ZW86ICVzXG4iCiAidXNlICdyZW1vdmUgLWYgLWYnIHBhcmEgc29icmVlc2NyaWJpciBvIGRlc2Jsb3F1ZWFyIHByaW1lcm8iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MDgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MzUKIG1zZ2lkICIiCiAiY2Fubm90IHJlbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWU7XG4iCiAidXNlICdyZW1vdmUgLWYgLWYnIHRvIG92ZXJyaWRlIG9yIHVubG9jayBmaXJzdCIKQEAgLTE4Mzk5LDI4ICsyMTYyNSw0MyBAQAogIm5vIHNlIHB1ZWRlbiBlbGltaW5hciDDoXJib2wgZGUgdHJhYmFqbyBibG9xdWVhZG87XG4iCiAidXNlICdyZW1vdmUgLWYgLWYnIHBhcmEgc29icmVlc2NyaWJpciBvIGRlc2Jsb3F1ZWFyIHByaW1lcm8iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidmFsaWRhdGlvbiBmYWlsZWQsIGNhbm5vdCByZW1vdmUgd29ya2luZyB0cmVlOiAlcyIKIG1zZ3N0ciAiZmFsbMOzIHZhbGlkYWNpw7NuLCBubyBzZSBwdWVkZSBlbGltaW5hciDDoXJib2wgZGUgdHJhYmFqbzogJXMiCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjE0CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoxNQogbXNnaWQgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08cHJlZml4Pi9dIgogbXNnc3RyICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PHByZWZpam8+L10iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI3CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOAogbXNnaWQgIjxwcmVmaXg+LyIKIG1zZ3N0ciAiPHByZWZpam8+LyIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjgKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI5CiBtc2dpZCAid3JpdGUgdHJlZSBvYmplY3QgZm9yIGEgc3ViZGlyZWN0b3J5IDxwcmVmaXg+IgogbXNnc3RyICJlc2NyaWJpciBvYmpldG8gZGUgIMOhcmJvbCBwYXJhIHVuIHN1YmRpcmVjdG9yaW8gPHByZWZpam8+IgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMAorIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MzEKIG1zZ2lkICJvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nIgogbXNnc3RyICJzw7NsbyDDunRpbCBwYXJhIGRlcHVyYXIiCiAKLSM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyMgorIzogZmFzdC1pbXBvcnQuYzozMTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4cGVjdGVkICdtYXJrJyBjb21tYW5kLCBnb3QgJXMiCittc2dzdHIgIlNlIGVzcGVyYWJhIGNvbWFuZG8gJ21hcmsnLCBzZSBvYnR1dm8gJXMiCisKKyM6IGZhc3QtaW1wb3J0LmM6MzEzMAorIywgYy1mb3JtYXQKK21zZ2lkICJFeHBlY3RlZCAndG8nIGNvbW1hbmQsIGdvdCAlcyIKK21zZ3N0ciAiU2UgZXNwZXJhYmEgY29tYW5kbyAndG8nLCBzZSBvYnR1dm8gJXMiCisKKyM6IGZhc3QtaW1wb3J0LmM6MzI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmZWF0dXJlICclcycgZm9yYmlkZGVuIGluIGlucHV0IHdpdGhvdXQgLS1hbGxvdy11bnNhZmUtZmVhdHVyZXMiCittc2dzdHIgImNhcmFjdGVyw61zdGljYSAnJXMnIHByb2hpYmlkYSBlbiBpbnB1dCBzaW4gLS1hbGxvdy11bnNhZmUtZmVhdHVyZXMiCisKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHBlcm1pc3Npb25zIG9uIHlvdXIgc29ja2V0IGRpcmVjdG9yeSBhcmUgdG9vIGxvb3NlOyBvdGhlclxuIgpAQCAtMTg0MjgsMTMgKzIxNjY5LDEzIEBACiAiXG4iCiAiXHRjaG1vZCAwNzAwICVzIgogbXNnc3RyICIiCi0iTG9zIHBlcm1pc29zIGVuIHN1IGRpcmVjdG9yaW8gZGUgc29ja2V0IHNvbiBkZW1hc2lhZG8gZmxvam9zOyBvdHJvc1xuIgotInVzdWFyaW9zIHB1ZWRlbiBsZWVyIHN1cyBjcmVkZW5jaWFsZXMgYWxtYWNlbmFkYXMgZW4gY2FjaMOpLiBDb25zaWRlcmUgIgorIkxvcyBwZXJtaXNvcyBlbiB0dSBkaXJlY3RvcmlvIGRlIHNvY2tldCBzb24gZGVtYXNpYWRvIGZsb2pvczsgb3Ryb3NcbiIKKyJ1c3VhcmlvcyBwdWVkZW4gbGVlciBzdXMgY3JlZGVuY2lhbGVzIGFsbWFjZW5hZGFzIGVuIGNhY2jDqS4gQ29uc2lkZXJhICIKICJlamVjdXRhcjpcbiIKICJcbiIKICJcdGNobW9kIDA3MDAgJXMiCiAKLSM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjI3MQorIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcyCiBtc2dpZCAicHJpbnQgZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHN0ZGVyciIKIG1zZ3N0ciAibW9zdHJhciBtZW5zYWplcyBkZSBkZWJ1ZyBlbiBzdGRlcnIiCiAKQEAgLTE4NDQ3LDYgKzIxNjg4LDE0IEBACiBtc2dpZCAidG9vIG1hbnkgY29tbWl0cyBtYXJrZWQgcmVhY2hhYmxlIgogbXNnc3RyICJkZW1hc2lhZG9zIGNvbW1pdHMgbWFyY2Fkb3MgY29tbyBhbGNhbnphYmxlcyIKIAorIzogdC9oZWxwZXIvdGVzdC1zZXJ2ZS12Mi5jOjcKK21zZ2lkICJ0ZXN0LXRvb2wgc2VydmUtdjIgWzxvcHRpb25zPl0iCittc2dzdHIgInRlc3QtdG9vbCBzZXJ2ZS12MiBbPG9wY2lvbmVzPl0iCisKKyM6IHQvaGVscGVyL3Rlc3Qtc2VydmUtdjIuYzoxOQorbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgYWR2ZXJ0aXNpbmcgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJzYWxpciBpbm1lZGlhdGFtZW50ZSB0cmFzIGFudW5jaWFyIGNhcGFjaWRhZGVzIgorCiAjOiBnaXQuYzoyNwogbXNnaWQgIiIKICJnaXQgWy0tdmVyc2lvbl0gWy0taGVscF0gWy1DIDxwYXRoPl0gWy1jIDxuYW1lPj08dmFsdWU+XVxuIgpAQCAtMTg0NjcsMTAxICsyMTcxNiwxNTUgQEAKIG1zZ2lkICIiCiAiJ2dpdCBoZWxwIC1hJyBhbmQgJ2dpdCBoZWxwIC1nJyBsaXN0IGF2YWlsYWJsZSBzdWJjb21tYW5kcyBhbmQgc29tZVxuIgogImNvbmNlcHQgZ3VpZGVzLiBTZWUgJ2dpdCBoZWxwIDxjb21tYW5kPicgb3IgJ2dpdCBoZWxwIDxjb25jZXB0PidcbiIKLSJ0byByZWFkIGFib3V0IGEgc3BlY2lmaWMgc3ViY29tbWFuZCBvciBjb25jZXB0LiIKKyJ0byByZWFkIGFib3V0IGEgc3BlY2lmaWMgc3ViY29tbWFuZCBvciBjb25jZXB0LlxuIgorIlNlZSAnZ2l0IGhlbHAgZ2l0JyBmb3IgYW4gb3ZlcnZpZXcgb2YgdGhlIHN5c3RlbS4iCiBtc2dzdHIgIiIKICInZ2l0IGhlbHAgLWEnIHkgJ2dpdCBoZWxwIC1nJyBsaXN0YW4gbG9zIHN1YmNvbWFuZG9zIGRpc3BvbmlibGVzIHkgYWxndW5hc1xuIgogImd1w61hcyBkZSBjb25jZXB0by4gQ29uc3VsdGUgJ2dpdCBoZWxwIDxjb21tYW5kPicgbyAnZ2l0IGhlbHAgPGNvbmNlcHRvPidcbiIKLSJwYXJhIGxlZXIgc29icmUgdW4gc3ViY29tYW5kbyBvIGNvbmNlcHRvIGVzcGVjw61maWNvLiIKKyJwYXJhIGxlZXIgc29icmUgdW4gc3ViY29tYW5kbyBvIGNvbmNlcHRvIGVzcGVjw61maWNvLlxuIgorIk1pcmEgJ2dpdCBoZWxwIGdpdCcgcGFyYSB1bmEgdmlzdGEgZ2VuZXJhbCBkZWwgc2lzdGVtYS4iCiAKLSM6IGdpdC5jOjE3MworIzogZ2l0LmM6MTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLS1naXQtZGlyXG4iCiBtc2dzdHIgIm5vIHNlIGVudHJlZ8OzIGRpcmVjdG9yaW8gcGFyYSAtLWdpdC1kaXJcbiIKIAotIzogZ2l0LmM6MTg3CisjOiBnaXQuYzoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbmFtZXNwYWNlIGdpdmVuIGZvciAtLW5hbWVzcGFjZVxuIgogbXNnc3RyICJubyBzZSBlbnRyZWfDsyBuYW1lc3BhY2UgcGFyYSAtLW5hbWVzcGFjZVxuIgogCi0jOiBnaXQuYzoyMDEKKyM6IGdpdC5jOjIxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBkaXJlY3RvcnkgZ2l2ZW4gZm9yIC0td29yay10cmVlXG4iCiBtc2dzdHIgIm5vIHNlIGVudHJlZ8OzIGRpcmVjdG9yaW8gcGFyYSAtLXdvcmstdHJlZVxuIgogCi0jOiBnaXQuYzoyMTUKKyM6IGdpdC5jOjIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBwcmVmaXggZ2l2ZW4gZm9yIC0tc3VwZXItcHJlZml4XG4iCiBtc2dzdHIgIm5vIHNlIGVudHJlZ8OzIHByZWZpam8gcGFyYSAtLXN1cGVyLXByZWZpeFxuIgogCi0jOiBnaXQuYzoyMzcKKyM6IGdpdC5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICItYyBleHBlY3RzIGEgY29uZmlndXJhdGlvbiBzdHJpbmdcbiIKIG1zZ3N0ciAiLWMgZXNwZXJhIHVuIHN0cmluZyBkZSBjb25maWd1cmFjacOzblxuIgogCi0jOiBnaXQuYzoyNzUKKyM6IGdpdC5jOjI4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBkaXJlY3RvcnkgZ2l2ZW4gZm9yIC1DXG4iCiBtc2dzdHIgIm5vIHNlIGVudHJlZ8OzIGRpcmVjdG9yaW8gcGFyYSAtQ1xuIgogCi0jOiBnaXQuYzozMDAKKyM6IGdpdC5jOjMxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9wdGlvbjogJXNcbiIKIG1zZ3N0ciAib3BjacOzbiAlcyBkZXNjb25vY2lkYVxuIgogCi0jOiBnaXQuYzo3MTkKKyM6IGdpdC5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ3aGlsZSBleHBhbmRpbmcgYWxpYXMgJyVzJzogJyVzJyIKK21zZ3N0ciAiYWwgZXhwYW5kaXIgZWwgYWxpYXMgJyVzJzonJXMnIgorCisjOiBnaXQuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImFsaWFzICclcycgY2hhbmdlcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4iCisiWW91IGNhbiB1c2UgJyFnaXQnIGluIHRoZSBhbGlhcyB0byBkbyB0aGlzIgorbXNnc3RyICIiCisiYWxpYXMgJyVzJyBjYW1iaWEgbGFzIHZhcmlhYmxlcyBkZSBlbnRvcm5vLlxuIgorIlB1ZWRlcyB1c2FyICchZ2l0JyBlbiBlbCBhbGlhcyBwYXJhIGhhY2VyIGVzdG8iCisKKyM6IGdpdC5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJlbXB0eSBhbGlhcyBmb3IgJXMiCittc2dzdHIgImFsaWFzIHZhY8OtbyBwYXJhICVzIgorCisjOiBnaXQuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjdXJzaXZlIGFsaWFzOiAlcyIKK21zZ3N0ciAiYWxpYXMgcmVjdXJzaXZvOiAlcyIKKworIzogZ2l0LmM6NDU5Cittc2dpZCAid3JpdGUgZmFpbHVyZSBvbiBzdGFuZGFyZCBvdXRwdXQiCittc2dzdHIgImVycm9yIGRlIGVzY3JpdHVyYSBlbiBzdGFuZGFyZCBvdXRwdXQiCisKKyM6IGdpdC5jOjQ2MQorbXNnaWQgInVua25vd24gd3JpdGUgZmFpbHVyZSBvbiBzdGFuZGFyZCBvdXRwdXQiCittc2dzdHIgImVycm9yIGRlc2Nvbm9jaWRvIGRlIGVzY3JpdHVyYSBlbiBzdGFuZGFyZCBvdXRwdXQiCisKKyM6IGdpdC5jOjQ2MworbXNnaWQgImNsb3NlIGZhaWxlZCBvbiBzdGFuZGFyZCBvdXRwdXQiCittc2dzdHIgImNpZXJyZSBmYWxsw7MgZW4gc3RhbmRhcmQgb3V0cHV0IgorCisjOiBnaXQuYzo3OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWxpYXMgbG9vcCBkZXRlY3RlZDogZXhwYW5zaW9uIG9mICclcycgZG9lcyBub3QgdGVybWluYXRlOiVzIgogbXNnc3RyICJidWNsZSBkZSBhbGlhcyBkZXRlY3RhZG86IGV4cGFuc2nDs24gZGUgJyVzJyBubyB0ZXJtaW5hOiAlcyIKIAotIzogZ2l0LmM6ODAyCisjOiBnaXQuYzo4NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGhhbmRsZSAlcyBhcyBhIGJ1aWx0aW4iCittc2dzdHIgIm5vIHNlIHB1ZWRlIG1hbmVqYXIgJXMgY29tbyB1biBidWlsdGluIgorCisjOiBnaXQuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisidXNvOiAlc1xuIgorIlxuIgorIlxuIgorIlxuIgorCisjOiBnaXQuYzo4NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwYW5zaW9uIG9mIGFsaWFzICclcycgZmFpbGVkOyAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kXG4iCiBtc2dzdHIgImV4cGFuc2nDs24gZGVsIGFsaWFzICclcycgZmFsbMOzOyAnJXMnIG5vIGVzIHVuIGNvbWFuZG8gZGUgZ2l0XG4iCiAKLSM6IGdpdC5jOjgxNAorIzogZ2l0LmM6ODg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBydW4gY29tbWFuZCAnJXMnOiAlc1xuIgogbXNnc3RyICJmYWxsw7MgYWwgZWplY3V0YXIgY29tYW5kbyAnJXMnOiAlc1xuIgogCi0jOiBodHRwLmM6Mzc0CisjOiBodHRwLmM6Mzc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5lZ2F0aXZlIHZhbHVlIGZvciBodHRwLnBvc3RidWZmZXI7IGRlZmF1bHRpbmcgdG8gJWQiCiBtc2dzdHIgInZhbG9yIG5lZ2F0aXZvIHBhcmEgaHR0cC5wb3N0YnVmZmVyOyBwb25pZW5kbyBlbCBkZWZhdWx0IGEgJWQiCiAKLSM6IGh0dHAuYzozOTUKKyM6IGh0dHAuYzozOTkKIG1zZ2lkICJEZWxlZ2F0aW9uIGNvbnRyb2wgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjIyLjAiCiBtc2dzdHIgIkRlbGVnYWNpw7NuIGRlIGNvbnRyb2wgbm8gZXMgc29wb3J0YWRhIGNvbiBjVVJMIDwgNy4yMi4wIgogCi0jOiBodHRwLmM6NDA0CisjOiBodHRwLmM6NDA4CiBtc2dpZCAiUHVibGljIGtleSBwaW5uaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgogbXNnc3RyICJGaWphY2nDs24gZGUgbGxhdmUgcMO6YmxpY2Egbm8gZXMgc29wb3J0YWRhIGNvbiBjVVJMIDwgNy40NC4wIgogCi0jOiBodHRwLmM6ODM3CisjOiBodHRwLmM6ODc2CiBtc2dpZCAiQ1VSTFNTTE9QVF9OT19SRVZPS0Ugbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjQ0LjAiCiBtc2dzdHIgIkNVUkxTU0xPUFRfTk9fUkVWT0tFIG5vIHNvcG9ydGFkbyBjb24gY1VSTCA8IDcuNDQuMCIKIAotIzogaHR0cC5jOjkxMAorIzogaHR0cC5jOjk0OQogbXNnaWQgIlByb3RvY29sIHJlc3RyaWN0aW9ucyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuMTkuNCIKIG1zZ3N0ciAiUmVzdHJpY2Npw7NuIGRlIHByb3RvY29sbyBubyBzb3BvcnRhZGEgY29uIGNVUkwgPCA3LjE5LjQiCiAKLSM6IGh0dHAuYzoxMDQ2CisjOiBodHRwLmM6MTA4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnN1cHBvcnRlZCBTU0wgYmFja2VuZCAnJXMnLiBTdXBwb3J0ZWQgU1NMIGJhY2tlbmRzOiIKIG1zZ3N0ciAiQmFja2VuZCBTU0wgbm8gc29wb3J0YWRvICclcycuIEJhY2tlbmRzIFNTTCBzb3BvcnRhZG9zOiIKIAotIzogaHR0cC5jOjEwNTMKKyM6IGh0dHAuYzoxMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXQgU1NMIGJhY2tlbmQgdG8gJyVzJzogY1VSTCB3YXMgYnVpbHQgd2l0aG91dCBTU0wgYmFja2VuZHMiCiBtc2dzdHIgIiIKICJObyBzZSBwdWRvIGNvbmZpZ3VyYXIgYmFja2VuZCBTU0wgYSAnJXMnOiBjVVJMIGZ1ZSBjb25zdHJ1aWRvIHNpbiBiYWNrZW5kcyAiCiAiU1NMIgogCi0jOiBodHRwLmM6MTA1NworIzogaHR0cC5jOjEwOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldCBTU0wgYmFja2VuZCB0byAnJXMnOiBhbHJlYWR5IHNldCIKIG1zZ3N0ciAiTm8gc2UgcHVkbyBjb25maWd1cmFyIGJhY2tlbmQgU1NMIHBhcmEgJyVzJzogeWEgY29uZmlndXJhZG8iCiAKLSM6IGh0dHAuYzoxOTIxCisjOiBodHRwLmM6MTk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidW5hYmxlIHRvIHVwZGF0ZSB1cmwgYmFzZSBmcm9tIHJlZGlyZWN0aW9uOlxuIgpAQCAtMTg1NzIsMzkgKzIxODc1LDE4MyBAQAogIiAgcHJlZ3VudGFiYSBwb3I6ICVzXG4iCiAiICAgcmVkaXJlY2Npb25hbWllbnRvOiAlcyIKIAotIzogcmVtb3RlLWN1cmwuYzo0MDEKKyM6IHJlbW90ZS1jdXJsLmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcXVvdGluZyBpbiBwdXNoLW9wdGlvbiB2YWx1ZTogJyVzJyIKK21zZ3N0ciAicXVvdGluZyBpbnbDoWxpZG8gZW4gdmFsb3IgZGUgcHVzaC1vcHRpb246ICclcyciCisKKyM6IHJlbW90ZS1jdXJsLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzaW5mby9yZWZzIG5vdCB2YWxpZDogaXMgdGhpcyBhIGdpdCByZXBvc2l0b3J5PyIKK21zZ3N0ciAiJXNpbmZvL3JlZnMgbm8gZXMgdsOhbGlkbzogwr9lcyBlc3RlIHVuIHJlcG9zaXRvcmlvIGdpdD8iCisKKyM6IHJlbW90ZS1jdXJsLmM6MzY0Cittc2dpZCAiaW52YWxpZCBzZXJ2ZXIgcmVzcG9uc2U7IGV4cGVjdGVkIHNlcnZpY2UsIGdvdCBmbHVzaCBwYWNrZXQiCittc2dzdHIgIiIKKyJyZXNwdWVzdGEgZGUgc2Vydmlkb3IgaW52w6FsaWRhOyBzZSBlc3BlcmFiYSBzZXJ2aWNpbywgc2Ugb2J0dXZvIHVuIGZsdXNoICIKKyJwYWNrZXQiCisKKyM6IHJlbW90ZS1jdXJsLmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2VydmVyIHJlc3BvbnNlOyBnb3QgJyVzJyIKK21zZ3N0ciAicmVzcHVlc3RhIGRlIHNlcnZpZG9yIGludsOhbGlkYTsgc2Ugb2J0dXZvICclcyciCisKKyM6IHJlbW90ZS1jdXJsLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBub3QgZm91bmQiCittc2dzdHIgInJlcG9zaXRvcmlvICclcycgbm8gZW5jb250cmFkbyIKKworIzogcmVtb3RlLWN1cmwuYzo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXV0aGVudGljYXRpb24gZmFpbGVkIGZvciAnJXMnIgorbXNnc3RyICJBdXRlbnRpY2FjacOzbiBmYWxsw7MgcGFyYSAnJXMnIgorCisjOiByZW1vdGUtY3VybC5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyc6ICVzIgorbXNnc3RyICJubyBlcyBwb3NpYmxlIGFjY2VkZXIgJyVzJzolcyIKKworIzogcmVtb3RlLWN1cmwuYzo0NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVkaXJlY3RpbmcgdG8gJXMiCiBtc2dzdHIgInJlZGlyaWdpZW5kbyBhICVzIgogCi0jOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaDo2MAorIzogcmVtb3RlLWN1cmwuYzo1OTMKK21zZ2lkICJzaG91bGRuJ3QgaGF2ZSBFT0Ygd2hlbiBub3QgZ2VudGxlIG9uIEVPRiIKK21zZ3N0ciAibm8gZGViZXLDrWEgdGVuZXIgRU9GIGN1YW5kbyBubyBlcyBnZW50aWwgZW4gRU9GIgorCisjOiByZW1vdGUtY3VybC5jOjY3MworbXNnaWQgInVuYWJsZSB0byByZXdpbmQgcnBjIHBvc3QgZGF0YSAtIHRyeSBpbmNyZWFzaW5nIGh0dHAucG9zdEJ1ZmZlciIKK21zZ3N0ciAiIgorIm5vIGVzIHBvc2libGUgcmVib2JpbmFyIHJwYyBwb3N0IGRhdGEgLSBpbnRlbnRhIGluY3JlbWVudGFuZG8gaHR0cC5wb3N0QnVmZmVyIgorCisjOiByZW1vdGUtY3VybC5jOjczMworIywgYy1mb3JtYXQKK21zZ2lkICJSUEMgZmFpbGVkOyAlcyIKK21zZ3N0ciAiUlBDIGZhbGzDszsgJXMiCisKKyM6IHJlbW90ZS1jdXJsLmM6NzczCittc2dpZCAiY2Fubm90IGhhbmRsZSBwdXNoZXMgdGhpcyBiaWciCittc2dzdHIgIm5vIHNlIHB1ZWRlIG1hbmVqYXIgcHVzaGVzIHRhbiBncmFuZGVzIgorCisjOiByZW1vdGUtY3VybC5jOjg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGVmbGF0ZSByZXF1ZXN0OyB6bGliIGRlZmxhdGUgZXJyb3IgJWQiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGRlc2luZmxhciBlbCByZXF1ZXN0OyB6bGliIGRlZmxhdGUgZXJyb3IgJWQiCisKKyM6IHJlbW90ZS1jdXJsLmM6ODkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZWZsYXRlIHJlcXVlc3Q7IHpsaWIgZW5kIGVycm9yICVkIgorbXNnc3RyICJubyBzZSBwdWVkZSBkZXNpbmZsYXIgZWwgcmVxdWVzdDsgemxpYiBlbmQgZXJyb3IgJWQiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTAyMworbXNnaWQgImR1bWIgaHR0cCB0cmFuc3BvcnQgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiZHVtcCBodHRwIHRyYW5zcG9ydCBubyBzb3BvcnRhIGNhcGFjaWRhZGVzIHN1cGVyZmljaWFsZXMiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTAzNworbXNnaWQgImZldGNoIGZhaWxlZC4iCittc2dzdHIgImZldGNoIGZhbGzDsy4iCisKKyM6IHJlbW90ZS1jdXJsLmM6MTA4NQorbXNnaWQgImNhbm5vdCBmZXRjaCBieSBzaGExIG92ZXIgc21hcnQgaHR0cCIKK21zZ3N0ciAibm8gc2UgcHVlZGUgaGFjZXIgZmV0Y2ggcG9yIHNoYTEgc29icmUgc21hcnQgaHR0cCIKKworIzogcmVtb3RlLWN1cmwuYzoxMTI5IHJlbW90ZS1jdXJsLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICJwcm90b2NvbCBlcnJvcjogZXhwZWN0ZWQgc2hhL3JlZiwgZ290ICclcyciCittc2dzdHIgImVycm9yIGRlIHByb3RvY29sbzogc2UgZXNwZXJhYmEgc2hhL3JlZiwgc2Ugb2J0dXZvICclcyciCisKKyM6IHJlbW90ZS1jdXJsLmM6MTE0NyByZW1vdGUtY3VybC5jOjEyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaHR0cCB0cmFuc3BvcnQgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAiaHR0cCB0cmFuc3BvcnQgbm8gc29wb3J0YSAlcyIKKworIzogcmVtb3RlLWN1cmwuYzoxMTgzCittc2dpZCAiZ2l0LWh0dHAtcHVzaCBmYWlsZWQiCittc2dzdHIgImdpdC1odHRwLXB1c2ggZmFsbMOzIgorCisjOiByZW1vdGUtY3VybC5jOjEzNjcKK21zZ2lkICJyZW1vdGUtY3VybDogdXNhZ2U6IGdpdCByZW1vdGUtY3VybCA8cmVtb3RlPiBbPHVybD5dIgorbXNnc3RyICJyZW1vdGUtY3VybDogdXNvOiBnaXQgcmVtb3RlLWN1cmwgPHJlbW90ZT4gWzx1cmw+XSIKKworIzogcmVtb3RlLWN1cmwuYzoxMzk5Cittc2dpZCAicmVtb3RlLWN1cmw6IGVycm9yIHJlYWRpbmcgY29tbWFuZCBzdHJlYW0gZnJvbSBnaXQiCittc2dzdHIgInJlbW90ZS1jdXJsOiBlcnJvciBsZXllbmRvIGNvbW1hbmQgc3RyZWFtIGRlIGdpdCIKKworIzogcmVtb3RlLWN1cmwuYzoxNDA2Cittc2dpZCAicmVtb3RlLWN1cmw6IGZldGNoIGF0dGVtcHRlZCB3aXRob3V0IGEgbG9jYWwgcmVwbyIKK21zZ3N0ciAicmVtb3RlLWN1cmw6IGZldGNoIGludGVudGFkbyBzaW4gdW4gcmVwb3NpdG9yaW8gbG9jYWwiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUtY3VybDogdW5rbm93biBjb21tYW5kICclcycgZnJvbSBnaXQiCittc2dzdHIgInJlbW90ZS1jdXJsOiBjb21hbmRvICclcycgZGVzY29ub2NpZG8gZGUgZ2l0IgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaDo4NQogbXNnaWQgImFyZ3MiCiBtc2dzdHIgImFyZ3MiCiAKLSM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oOjYxCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaDo4NgogbXNnaWQgIm9iamVjdCBmaWx0ZXJpbmciCiBtc2dzdHIgImZpbHRyYWRvIGRlIG9iamV0byIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjE1NAorIzogcGFyc2Utb3B0aW9ucy5oOjE4MwogbXNnaWQgImV4cGlyeS1kYXRlIgogbXNnc3RyICJmZWNoYSBkZSBleHBpcmFjacOzbiIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjE2OQorIzogcGFyc2Utb3B0aW9ucy5oOjE5NwogbXNnaWQgIm5vLW9wIChiYWNrd2FyZCBjb21wYXRpYmlsaXR5KSIKIG1zZ3N0ciAibm8tb3AgKGNvbXBhdGliaWxpZGFkIGNvbiB2ZXJzaW9uZXMgYW50ZXJpb3JlcykiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNjEKKyM6IHBhcnNlLW9wdGlvbnMuaDozMDkKIG1zZ2lkICJiZSBtb3JlIHZlcmJvc2UiCi1tc2dzdHIgInNlciBtYXMgdmVyYm9zbyIKK21zZ3N0ciAic2VyIG3DoXMgdmVyYm9zbyIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjI2MworIzogcGFyc2Utb3B0aW9ucy5oOjMxMQogbXNnaWQgImJlIG1vcmUgcXVpZXQiCi1tc2dzdHIgInNlciBtYXMgZGlzY3JldG8iCittc2dzdHIgInNlciBtw6FzIGRpc2NyZXRvIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjY5CisjOiBwYXJzZS1vcHRpb25zLmg6MzE3CiBtc2dpZCAidXNlIDxuPiBkaWdpdHMgdG8gZGlzcGxheSBTSEEtMXMiCiBtc2dzdHIgInVzYSA8bj4gZMOtZ2l0b3MgcGFyYSBtb3N0cmFyIFNIQS0xcyIKIAorIzogcGFyc2Utb3B0aW9ucy5oOjMzNgorbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCittc2dzdHIgImPDs21vIHF1aXRhciBlc3BhY2lvcyB5ICNjb21lbnRhcmlvcyBkZSBtZW5zYWplcyIKKworIzogcGFyc2Utb3B0aW9ucy5oOjMzNworbXNnaWQgInJlYWQgcGF0aHNwZWMgZnJvbSBmaWxlIgorbXNnc3RyICJsZWVyIHBhdGhzcGVjIGRlIGFyY2hpdm8iCisKKyM6IHBhcnNlLW9wdGlvbnMuaDozMzgKK21zZ2lkICIiCisid2l0aCAtLXBhdGhzcGVjLWZyb20tZmlsZSwgcGF0aHNwZWMgZWxlbWVudHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgIiIKKyJjb24gLS1wYXRoc3BlYy1mcm9tLWZpbGUsIGVsZW1lbnRvcyBkZSBwYXRoc3BlYyBzb24gc2VwYXJhZG9zIGNvbiBjYXJhY3RlciAiCisiTlVMIgorCisjOiByZWYtZmlsdGVyLmg6MTAxCittc2dpZCAia2V5IgorbXNnc3RyICJjbGF2ZSIKKworIzogcmVmLWZpbHRlci5oOjEwMQorbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKK21zZ3N0ciAibm9tYnJlIGRlbCBjYW1wbyBwb3IgZWwgY3XDoWwgb3JkZW5hciIKKworIzogcmVyZXJlLmg6NDQKK21zZ2lkICJ1cGRhdGUgdGhlIGluZGV4IHdpdGggcmV1c2VkIGNvbmZsaWN0IHJlc29sdXRpb24gaWYgcG9zc2libGUiCittc2dzdHIgIiIKKyJhY3R1YWxpemFyIGVsIMOtbmRpY2UgY29uIGxhIHJlc29sdWNpw7NuIGRlIGNvbmZsaWN0b3MgcmV1dGlsaXphZGEgc2kgZXMgIgorInBvc2libGUiCisKKyM6IHd0LXN0YXR1cy5oOjY3Cittc2dpZCAiSEVBRCBkZXRhY2hlZCBhdCAiCittc2dzdHIgIkhFQUQgZGVzYWNvcGxhZGEgZW4gIgorCisjOiB3dC1zdGF0dXMuaDo2OAorbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCittc2dzdHIgIkhFQUQgZGVzYWNvcGxhZGEgZGUgIgorCiAjOiBjb21tYW5kLWxpc3QuaDo1MAogbXNnaWQgIkFkZCBmaWxlIGNvbnRlbnRzIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiQWdyZWdhIGNvbnRlbmlkbyBkZSBjYXJwZXRhcyBhbCDDrW5kaWNlIgpAQCAtMTg4NjUsOCArMjIzMTIsOCBAQAogbXNnc3RyICJCdXNjYXIgaW5zdGFudMOhbmVhbWVudGUgdHUgcmVwb3NpdG9yaW8gZGUgdHJhYmFqbyBlbiBnaXR3ZWIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjExMwotbXNnaWQgImFkZCBvciBwYXJzZSBzdHJ1Y3R1cmVkIGluZm9ybWF0aW9uIGluIGNvbW1pdCBtZXNzYWdlcyIKLW1zZ3N0ciAiYWdyZWdhciBvIGFuYWxpemFyIGluZm9ybWFjacOzbiBlc3RydWN0dXJhZGEgZW4gbWVuc2FqZXMgZGUgY29tbWl0IgorbXNnaWQgIkFkZCBvciBwYXJzZSBzdHJ1Y3R1cmVkIGluZm9ybWF0aW9uIGluIGNvbW1pdCBtZXNzYWdlcyIKK21zZ3N0ciAiQWdyZWdhciBvIGFuYWxpemFyIGluZm9ybWFjacOzbiBlc3RydWN0dXJhZGEgZW4gbWVuc2FqZXMgZGUgY29tbWl0IgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMTQKIG1zZ2lkICJUaGUgR2l0IHJlcG9zaXRvcnkgYnJvd3NlciIKQEAgLTE4ODk4LDcgKzIyMzQ1LDcgQEAKIAogIzogY29tbWFuZC1saXN0Lmg6MTIxCiBtc2dpZCAiSm9pbiB0d28gb3IgbW9yZSBkZXZlbG9wbWVudCBoaXN0b3JpZXMgdG9nZXRoZXIiCi1tc2dzdHIgIkp1bnRhIGRvcyBvIG1hcyBoaXN0b3JpYWxlcyBkZSBkZXNhcnJvbGxvIGp1bnRvcyIKK21zZ3N0ciAiSnVudGEgZG9zIG8gbcOhcyBoaXN0b3JpYWxlcyBkZSBkZXNhcnJvbGxvIGp1bnRvcyIKIAogIzogY29tbWFuZC1saXN0Lmg6MTIyCiBtc2dpZCAiRmluZCBhcyBnb29kIGNvbW1vbiBhbmNlc3RvcnMgYXMgcG9zc2libGUgZm9yIGEgbWVyZ2UiCkBAIC0xOTA0MSwyMjggKzIyNDg4LDIzOCBAQAogbXNnc3RyICJSZWluaWNpYSBlbCBIRUFEIGFjdHVhbCBhIHVuIGVzdGFkbyBlc3BlY2lmaWNvIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNTYKK21zZ2lkICJSZXN0b3JlIHdvcmtpbmcgdHJlZSBmaWxlcyIKK21zZ3N0ciAiUmVzdGF1cmFyIGFyY2hpdm9zIGRlIMOhcmJvbGVzIGRlIHRyYWJham8iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE1NwogbXNnaWQgIlJldmVydCBzb21lIGV4aXN0aW5nIGNvbW1pdHMiCiBtc2dzdHIgIlJldmllcnRlIGFsZ3Vub3MgY29tbWl0cyBleGlzdGVudGVzIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNTcKKyM6IGNvbW1hbmQtbGlzdC5oOjE1OAogbXNnaWQgIkxpc3RzIGNvbW1pdCBvYmplY3RzIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlciIKIG1zZ3N0ciAiTGlzdGEgb2JqZXRvcyBjb21taXQgZW4gb3JkZW4gY3Jvbm9sw7NnaWNvIGludmVyc28iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE1OAorIzogY29tbWFuZC1saXN0Lmg6MTU5CiBtc2dpZCAiUGljayBvdXQgYW5kIG1hc3NhZ2UgcGFyYW1ldGVycyIKIG1zZ3N0ciAiU2VsZWNjaW9uYXIgeSBtYXNhamVhciBsb3MgcGFyw6FtZXRyb3MiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE1OQorIzogY29tbWFuZC1saXN0Lmg6MTYwCiBtc2dpZCAiUmVtb3ZlIGZpbGVzIGZyb20gdGhlIHdvcmtpbmcgdHJlZSBhbmQgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgIkJvcnJhIGFyY2hpdm9zIGRlbCDDoXJib2wgZGUgdHJhYmFqbyB5IGRlbCDDrW5kaWNlIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjAKKyM6IGNvbW1hbmQtbGlzdC5oOjE2MQogbXNnaWQgIlNlbmQgYSBjb2xsZWN0aW9uIG9mIHBhdGNoZXMgYXMgZW1haWxzIgogbXNnc3RyICJFbnbDrWEgdW5hIGNvbGVjY2nDs24gZGUgcGFyY2hlcyBjb21vIGUtbWFpbHMiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2MQorIzogY29tbWFuZC1saXN0Lmg6MTYyCiBtc2dpZCAiUHVzaCBvYmplY3RzIG92ZXIgR2l0IHByb3RvY29sIHRvIGFub3RoZXIgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiRW1wdWphciBvYmpldG9zIHBvciBwcm90b2NvbG8gR2l0IGEgb3RybyByZXBvc2l0b3JpbyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTYyCisjOiBjb21tYW5kLWxpc3QuaDoxNjMKIG1zZ2lkICJSZXN0cmljdGVkIGxvZ2luIHNoZWxsIGZvciBHaXQtb25seSBTU0ggYWNjZXNzIgogbXNnc3RyICJTaGVsbCBkZSBpbmljaW8gZGUgc2VzacOzbiByZXN0cmluZ2lkbyBwYXJhIGFjY2VzbyBTU0ggZXhjbHVzaXZvIGRlIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTYzCisjOiBjb21tYW5kLWxpc3QuaDoxNjQKIG1zZ2lkICJTdW1tYXJpemUgJ2dpdCBsb2cnIG91dHB1dCIKIG1zZ3N0ciAiUmVzdW1pciBsYSBzYWxpZGEgJ2dpdCBsb2cnIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjQKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NQogbXNnaWQgIlNob3cgdmFyaW91cyB0eXBlcyBvZiBvYmplY3RzIgogbXNnc3RyICJNdWVzdHJhIHZhcmlvcyB0aXBvcyBkZSBvYmpldG9zIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjUKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NgogbXNnaWQgIlNob3cgYnJhbmNoZXMgYW5kIHRoZWlyIGNvbW1pdHMiCiBtc2dzdHIgIk1vc3RyYXIgcmFtYXMgeSBzdXMgY29tbWl0cyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTY2CisjOiBjb21tYW5kLWxpc3QuaDoxNjcKIG1zZ2lkICJTaG93IHBhY2tlZCBhcmNoaXZlIGluZGV4IgogbXNnc3RyICJNb3N0cmFyIGVsIMOtbmRpY2UgZGUgYXJjaGl2byBlbXBhcXVldGFkbyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTY3CisjOiBjb21tYW5kLWxpc3QuaDoxNjgKIG1zZ2lkICJMaXN0IHJlZmVyZW5jZXMgaW4gYSBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICJMaXN0YXIgcmVmZXJlbmNpYXMgZW4gZWwgcmVwb3NpdG9yaW8gbG9jYWwiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2OAorIzogY29tbWFuZC1saXN0Lmg6MTY5CiBtc2dpZCAiR2l0J3MgaTE4biBzZXR1cCBjb2RlIGZvciBzaGVsbCBzY3JpcHRzIgogbXNnc3RyICJFbCBjw7NkaWdvIGRlIGNvbmZpZ3VyYWNpw7NuIGkxOG4gZGUgR2l0IHBhcmEgc2NyaXB0cyBkZSBzaGVsbCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTY5CisjOiBjb21tYW5kLWxpc3QuaDoxNzAKIG1zZ2lkICJDb21tb24gR2l0IHNoZWxsIHNjcmlwdCBzZXR1cCBjb2RlIgogbXNnc3RyICJDw7NkaWdvIGRlIGNvbmZpZ3VyYWNpw7NuIGRlIHNjcmlwdCBkZSBzaGVsbCBjb23Dum4gZGUgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzAKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MQorbXNnaWQgIkluaXRpYWxpemUgYW5kIG1vZGlmeSB0aGUgc3BhcnNlLWNoZWNrb3V0IgorbXNnc3RyICJJbmljaWFsaXphIHkgbW9kaWZpY2EgZWwgc3BhcnNlLWNoZWNrb3V0IgorCisjOiBjb21tYW5kLWxpc3QuaDoxNzIKIG1zZ2lkICJTdGFzaCB0aGUgY2hhbmdlcyBpbiBhIGRpcnR5IHdvcmtpbmcgZGlyZWN0b3J5IGF3YXkiCiBtc2dzdHIgIiIKICJQb25lciBlbiB1biBzdGFzaCBsb3MgY2FtYmlvcyBlbiB1biBkaXJlY3RvcmlvIGRlIHRyYWJham8gc3VjaW8gZGUgdG9kYXMgIgogIm1hbmVyYXMiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3MQorIzogY29tbWFuZC1saXN0Lmg6MTczCiBtc2dpZCAiQWRkIGZpbGUgY29udGVudHMgdG8gdGhlIHN0YWdpbmcgYXJlYSIKIG1zZ3N0ciAiQWdyZWdhIGNvbnRlbmlkb3MgZGUgdW4gYXJjaGl2byBhbCDDoXJlYSBkZSBzdGFnaW5nIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzIKKyM6IGNvbW1hbmQtbGlzdC5oOjE3NAogbXNnaWQgIlNob3cgdGhlIHdvcmtpbmcgdHJlZSBzdGF0dXMiCiBtc2dzdHIgIk11ZXN0cmEgZWwgZXN0YWRvIGRlbCDDoXJib2wgZGUgdHJhYmFqbyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTczCisjOiBjb21tYW5kLWxpc3QuaDoxNzUKIG1zZ2lkICJSZW1vdmUgdW5uZWNlc3Nhcnkgd2hpdGVzcGFjZSIKIG1zZ3N0ciAiRWxpbWluYXIgZWwgZXNwYWNpbyBlbiBibGFuY28gaW5uZWNlc2FyaW8iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3NAorIzogY29tbWFuZC1saXN0Lmg6MTc2CiBtc2dpZCAiSW5pdGlhbGl6ZSwgdXBkYXRlIG9yIGluc3BlY3Qgc3VibW9kdWxlcyIKIG1zZ3N0ciAiSW5pY2lhbGl6YSwgYWN0dWFsaXphIG8gaW5zcGVjY2lvbmEgc3VibcOzZHVsb3MiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3NQorIzogY29tbWFuZC1saXN0Lmg6MTc3CiBtc2dpZCAiQmlkaXJlY3Rpb25hbCBvcGVyYXRpb24gYmV0d2VlbiBhIFN1YnZlcnNpb24gcmVwb3NpdG9yeSBhbmQgR2l0IgogbXNnc3RyICJPcGVyYWNpw7NuIGJpZGlyZWNjaW9uYWwgZW50cmUgdW4gcmVwb3NpdG9yaW8gU3VidmVyc2lvbiB5IEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTc2CisjOiBjb21tYW5kLWxpc3QuaDoxNzgKK21zZ2lkICJTd2l0Y2ggYnJhbmNoZXMiCittc2dzdHIgIkNhbWJpYXIgYnJhbmNoZXMiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3OQogbXNnaWQgIlJlYWQsIG1vZGlmeSBhbmQgZGVsZXRlIHN5bWJvbGljIHJlZnMiCiBtc2dzdHIgIkxlZSwgbW9kaWZpY2EgeSBib3JyYSByZWZlcmVuY2lhcyBzaW1iw7NsaWNhcyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTc3CisjOiBjb21tYW5kLWxpc3QuaDoxODAKIG1zZ2lkICJDcmVhdGUsIGxpc3QsIGRlbGV0ZSBvciB2ZXJpZnkgYSB0YWcgb2JqZWN0IHNpZ25lZCB3aXRoIEdQRyIKIG1zZ3N0ciAiQ3JlYSwgbGlzdGEsIGJvcnJhIG8gdmVyaWZpY2EgdW4gdGFnIGRlIG9iamV0byBmaXJtYWRvIGNvbiBHUEciCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3OAorIzogY29tbWFuZC1saXN0Lmg6MTgxCiBtc2dpZCAiQ3JlYXRlcyBhIHRlbXBvcmFyeSBmaWxlIHdpdGggYSBibG9iJ3MgY29udGVudHMiCiBtc2dzdHIgIkNyZWEgdW4gYXJjaGl2byB0ZW1wb3JhbCBjb24gY29udGVuaWRvcyBkZSB1biBibG9iIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzkKKyM6IGNvbW1hbmQtbGlzdC5oOjE4MgogbXNnaWQgIlVucGFjayBvYmplY3RzIGZyb20gYSBwYWNrZWQgYXJjaGl2ZSIKIG1zZ3N0ciAiRGVzZW1wYXF1ZXRhIG9iamV0b3MgZGUgdW4gYXJjaGl2byBlbXBhcXVldGFkbyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTgwCisjOiBjb21tYW5kLWxpc3QuaDoxODMKIG1zZ2lkICJSZWdpc3RlciBmaWxlIGNvbnRlbnRzIGluIHRoZSB3b3JraW5nIHRyZWUgdG8gdGhlIGluZGV4IgogbXNnc3RyICJSZWdpc3RyYSBjb250ZW5pZG9zIGRlIGFyY2hpdm9zIGVuIGVsIMOhcmJvbCBkZSB0cmFiYWpvIGFsIMOtbmRpY2UiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4MQorIzogY29tbWFuZC1saXN0Lmg6MTg0CiBtc2dpZCAiVXBkYXRlIHRoZSBvYmplY3QgbmFtZSBzdG9yZWQgaW4gYSByZWYgc2FmZWx5IgogbXNnc3RyICIiCiAiQWN0dWFsaXphIGVsIG5vbWJyZSBkZWwgb2JqZXRvIGFsbWFjZW5hZG8gZW4gdW5hIHJlZmVyZW5jaWEgZGUgZm9ybWEgc2VndXJhIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODIKKyM6IGNvbW1hbmQtbGlzdC5oOjE4NQogbXNnaWQgIlVwZGF0ZSBhdXhpbGlhcnkgaW5mbyBmaWxlIHRvIGhlbHAgZHVtYiBzZXJ2ZXJzIgogbXNnc3RyICIiCiAiQWN0dWFsaXphIGVsIGFyY2hpdm8gZGUgaW5mb3JtYWNpw7NuIGF1eGlsaWFyIHBhcmEgYXl1ZGFyIGEgbG9zIHNlcnZpZG9yZXMgIgogImR1bWIiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4MworIzogY29tbWFuZC1saXN0Lmg6MTg2CiBtc2dpZCAiU2VuZCBhcmNoaXZlIGJhY2sgdG8gZ2l0LWFyY2hpdmUiCiBtc2dzdHIgIkVudmlhciBhcmNoaXZvIGEgZ2l0LWFyY2hpdmUiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4NAorIzogY29tbWFuZC1saXN0Lmg6MTg3CiBtc2dpZCAiU2VuZCBvYmplY3RzIHBhY2tlZCBiYWNrIHRvIGdpdC1mZXRjaC1wYWNrIgogbXNnc3RyICJFbnZpYXIgb2JqZXRvcyBlbXBhcXVldGFkb3MgYSBnaXQtZmV0Y2gtcGFjayIKIAotIzogY29tbWFuZC1saXN0Lmg6MTg1CisjOiBjb21tYW5kLWxpc3QuaDoxODgKIG1zZ2lkICJTaG93IGEgR2l0IGxvZ2ljYWwgdmFyaWFibGUiCiBtc2dzdHIgIk1vc3RyYXIgdW5hIHZhcmlhYmxlIGzDs2dpY2EgZGUgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODYKKyM6IGNvbW1hbmQtbGlzdC5oOjE4OQogbXNnaWQgIkNoZWNrIHRoZSBHUEcgc2lnbmF0dXJlIG9mIGNvbW1pdHMiCiBtc2dzdHIgIlZlcmlmaWNhciBmaXJtYSBHUEcgZGUgY29tbWl0cyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTg3CisjOiBjb21tYW5kLWxpc3QuaDoxOTAKIG1zZ2lkICJWYWxpZGF0ZSBwYWNrZWQgR2l0IGFyY2hpdmUgZmlsZXMiCiBtc2dzdHIgIlZhbGlkYSBhcmNoaXZvcyBHaXQgZW1wYXF1ZXRhZG9zIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODgKKyM6IGNvbW1hbmQtbGlzdC5oOjE5MQogbXNnaWQgIkNoZWNrIHRoZSBHUEcgc2lnbmF0dXJlIG9mIHRhZ3MiCiBtc2dzdHIgIlZlcmlmaWNhIGxhIGZpcm1hIEdQRyBkZSBldGlxdWV0YXMiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4OQorIzogY29tbWFuZC1saXN0Lmg6MTkyCiBtc2dpZCAiR2l0IHdlYiBpbnRlcmZhY2UgKHdlYiBmcm9udGVuZCB0byBHaXQgcmVwb3NpdG9yaWVzKSIKIG1zZ3N0ciAiSW50ZXJmYXogd2ViIEdpdCAoaW50ZXJmYXogd2ViIHBhcmEgcmVwb3NpdG9yaW9zIEdpdCkiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5MAorIzogY29tbWFuZC1saXN0Lmg6MTkzCiBtc2dpZCAiU2hvdyBsb2dzIHdpdGggZGlmZmVyZW5jZSBlYWNoIGNvbW1pdCBpbnRyb2R1Y2VzIgogbXNnc3RyICJNdWVzdHJhIGxvZ3MgY29uIGxhcyBkaWZlcmVuY2lhcyBxdWUgY2FkYSBjb21taXQgaW50cm9kdWNlIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTEKKyM6IGNvbW1hbmQtbGlzdC5oOjE5NAogbXNnaWQgIk1hbmFnZSBtdWx0aXBsZSB3b3JraW5nIHRyZWVzIgogbXNnc3RyICJHZXN0aW9uYSBtw7psdGlwbGVzIMOhcmJvbGVzIGRlIHRyYWJham8iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5MgorIzogY29tbWFuZC1saXN0Lmg6MTk1CiBtc2dpZCAiQ3JlYXRlIGEgdHJlZSBvYmplY3QgZnJvbSB0aGUgY3VycmVudCBpbmRleCIKIG1zZ3N0ciAiQ3JlYSB1biBvYmpldG8gw6FyYm9sIGRlbCDDrW5kaWNlIGFjdHVhbCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTkzCisjOiBjb21tYW5kLWxpc3QuaDoxOTYKIG1zZ2lkICJEZWZpbmluZyBhdHRyaWJ1dGVzIHBlciBwYXRoIgogbXNnc3RyICJEZWZpbmllbmRvIGF0cmlidXRvcyBwb3IgcnV0YSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk0CisjOiBjb21tYW5kLWxpc3QuaDoxOTcKIG1zZ2lkICJHaXQgY29tbWFuZC1saW5lIGludGVyZmFjZSBhbmQgY29udmVudGlvbnMiCiBtc2dzdHIgIkludGVyZmF6IHkgY29udmVuY2lvbmVzIGRlIGzDrW5lYSBkZSBjb21hbmRvcyBkZSBHaXQiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5NQorIzogY29tbWFuZC1saXN0Lmg6MTk4CiBtc2dpZCAiQSBHaXQgY29yZSB0dXRvcmlhbCBmb3IgZGV2ZWxvcGVycyIKIG1zZ3N0ciAiVW4gdHV0b3JpYWwgYsOhc2ljbyBkZSBHaXQgcGFyYSBkZXNhcnJvbGxhZG9yZXMiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5NgorIzogY29tbWFuZC1saXN0Lmg6MTk5CiBtc2dpZCAiR2l0IGZvciBDVlMgdXNlcnMiCiBtc2dzdHIgIkdpdCBwYXJhIHVzdWFyaW9zIENWUyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk3CisjOiBjb21tYW5kLWxpc3QuaDoyMDAKIG1zZ2lkICJUd2Vha2luZyBkaWZmIG91dHB1dCIKIG1zZ3N0ciAiQWZpbmFyIGxhIHNhbGlkYSBkZSBkaWZmIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTgKKyM6IGNvbW1hbmQtbGlzdC5oOjIwMQogbXNnaWQgIkEgdXNlZnVsIG1pbmltdW0gc2V0IG9mIGNvbW1hbmRzIGZvciBFdmVyeWRheSBHaXQiCiBtc2dzdHIgIlVuIGNvbmp1bnRvIG3DrW5pbW8gw7p0aWwgZGUgY29tYW5kb3MgZGlhcmlvcyBkZSBHaXQiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5OQorIzogY29tbWFuZC1saXN0Lmg6MjAyCiBtc2dpZCAiQSBHaXQgR2xvc3NhcnkiCiBtc2dzdHIgIlVuIEdsb3NhcmlvIGRlIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjAwCisjOiBjb21tYW5kLWxpc3QuaDoyMDMKIG1zZ2lkICJIb29rcyB1c2VkIGJ5IEdpdCIKIG1zZ3N0ciAiSG9va3MgdXRpbGl6YWRvcyBwb3IgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDEKKyM6IGNvbW1hbmQtbGlzdC5oOjIwNAogbXNnaWQgIlNwZWNpZmllcyBpbnRlbnRpb25hbGx5IHVudHJhY2tlZCBmaWxlcyB0byBpZ25vcmUiCiBtc2dzdHIgIkVzcGVjaWZpY2EgZGUgZm9ybWEgaW50ZW5jaW9uYWwgYXJjaGl2b3Mgc2luIHNlZ3VpbWllbnRvIGEgaWdub3JhciIKIAotIzogY29tbWFuZC1saXN0Lmg6MjAyCisjOiBjb21tYW5kLWxpc3QuaDoyMDUKIG1zZ2lkICJEZWZpbmluZyBzdWJtb2R1bGUgcHJvcGVydGllcyIKIG1zZ3N0ciAiRGVmaW5pZW5kbyBsYXMgcHJvcGllZGFkZXMgZGVsIHN1Ym3Ds2R1bG8iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjIwMworIzogY29tbWFuZC1saXN0Lmg6MjA2CiBtc2dpZCAiR2l0IG5hbWVzcGFjZXMiCi1tc2dzdHIgIm5hbWVzcGFjZXMgZGUgR2l0IgorbXNnc3RyICJOYW1lc3BhY2VzIGRlIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjA0CisjOiBjb21tYW5kLWxpc3QuaDoyMDcKIG1zZ2lkICJHaXQgUmVwb3NpdG9yeSBMYXlvdXQiCiBtc2dzdHIgIkRpc3Bvc2ljacOzbiBkZWwgcmVwb3NpdG9yaW8gR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDUKKyM6IGNvbW1hbmQtbGlzdC5oOjIwOAogbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKIG1zZ3N0ciAiRXNwZWNpZmljYW5kbyByZXZpc2lvbmVzIHkgcmFuZ29zIHBhcmEgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDYKKyM6IGNvbW1hbmQtbGlzdC5oOjIwOQorbXNnaWQgIk1vdW50aW5nIG9uZSByZXBvc2l0b3J5IGluc2lkZSBhbm90aGVyIgorbXNnc3RyICJNb250YW5kbyB1biByZXBvc2l0b3JpbyBkZW50cm8gZGUgb3RybyIKKworIzogY29tbWFuZC1saXN0Lmg6MjEwCiBtc2dpZCAiQSB0dXRvcmlhbCBpbnRyb2R1Y3Rpb24gdG8gR2l0OiBwYXJ0IHR3byIKIG1zZ3N0ciAiVW4gdHV0b3JpYWwgZGUgaW50cm9kdWNjacOzbiBhIEdpdDogcGFydGUgZG9zIgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDcKKyM6IGNvbW1hbmQtbGlzdC5oOjIxMQogbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdCIKIG1zZ3N0ciAiVW4gdHV0b3JpYWwgZGUgaW50cm9kdWNjacOzbiBwYXJhIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjA4CisjOiBjb21tYW5kLWxpc3QuaDoyMTIKIG1zZ2lkICJBbiBvdmVydmlldyBvZiByZWNvbW1lbmRlZCB3b3JrZmxvd3Mgd2l0aCBHaXQiCiBtc2dzdHIgIlVuYSB2aXNpw7NuIGdlbmVyYWwgZGUgZmx1am9zIGRlIHRyYWJham8gcmVjb21lbmRhZG9zIGNvbiBHaXQiCiAKLSM6IHJlcmVyZS5oOjQ0Ci1tc2dpZCAidXBkYXRlIHRoZSBpbmRleCB3aXRoIHJldXNlZCBjb25mbGljdCByZXNvbHV0aW9uIGlmIHBvc3NpYmxlIgotbXNnc3RyICIiCi0iYWN0dWFsaXphciBlbCDDrW5kaWNlIGNvbiBsYSByZXNvbHVjacOzbiBkZSBjb25mbGljdG9zIHJldXRpbGl6YWRhIHNpIGVzICIKLSJwb3NpYmxlIgotCiAjOiBnaXQtYmlzZWN0LnNoOjU0CiBtc2dpZCAiWW91IG5lZWQgdG8gc3RhcnQgYnkgXCJnaXQgYmlzZWN0IHN0YXJ0XCIiCiBtc2dzdHIgIkRlYmVzIGluaWNpYXIgY29uIFwiZ2l0IGJpc2VjdCBzdGFydFwiIgpAQCAtMTkyNzQsMTMzICsyMjczMSw0OSBAQAogbXNnaWQgIkRvIHlvdSB3YW50IG1lIHRvIGRvIGl0IGZvciB5b3UgW1kvbl0/ICIKIG1zZ3N0ciAiwr9RdWllcmVzIHF1ZSBsbyBoYWdhIHBvciB0aSBbWS9uXT8gIgogCi0jOiBnaXQtYmlzZWN0LnNoOjEyMQotIywgc2gtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pc2VkIG9wdGlvbjogJyRhcmcnIgotbXNnc3RyICJvcGNpw7NuIG5vIHJlY29ub2NpZGE6ICckYXJnJyIKLQotIzogZ2l0LWJpc2VjdC5zaDoxMjUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIickYXJnJyBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYSB2YWxpZCByZXZpc2lvbiIKLW1zZ3N0ciAiJyRhcmcnIG5vIHBhcmVjZSBzZXIgdW5hIHJldmlzacOzbiB2w6FsaWRhIgotCi0jOiBnaXQtYmlzZWN0LnNoOjE1NAotbXNnaWQgIkJhZCBIRUFEIC0gSSBuZWVkIGEgSEVBRCIKLW1zZ3N0ciAiTWFsIEhFQUQgLSBOZWNlc2l0byB1biBIRUFEIgotCi0jOiBnaXQtYmlzZWN0LnNoOjE2NwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIkNoZWNraW5nIG91dCAnJHN0YXJ0X2hlYWQnIGZhaWxlZC4gVHJ5ICdnaXQgYmlzZWN0IHJlc2V0IDx2YWxpZC1icmFuY2g+Jy4iCi1tc2dzdHIgIiIKLSJFcnJvciBhbCBjb21wcm9iYXIgJyRzdGFydF9oZWFkJy4gSW50ZW50ZSAnZ2l0IGJpc2VjdCByZXNldCA8cmFtYS12w6FsaWRhPicuIgotCi0jOiBnaXQtYmlzZWN0LnNoOjE3NwotbXNnaWQgIndvbid0IGJpc2VjdCBvbiBjZy1zZWVrJ2VkIHRyZWUiCi1tc2dzdHIgIm5vIHNlIGJpc2VjYXLDoSBlbiB1biDDoXJib2wgY29uIGNnLXNlZWsiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTgxCi1tc2dpZCAiQmFkIEhFQUQgLSBzdHJhbmdlIHN5bWJvbGljIHJlZiIKLW1zZ3N0ciAiTWFsIEhFQUQgLSByZWYgc2ltYsOzbGljbyBleHRyYcOxbyIKLQotIzogZ2l0LWJpc2VjdC5zaDoyMzMKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkJhZCBiaXNlY3Rfd3JpdGUgYXJndW1lbnQ6ICRzdGF0ZSIKLW1zZ3N0ciAiTWFsIGFyZ3VtZW50byBiaXNlY3Rfd3JpdGU6ICRzdGF0ZSIKLQotIzogZ2l0LWJpc2VjdC5zaDoyNDYKKyM6IGdpdC1iaXNlY3Quc2g6MTAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkYXJnIgogbXNnc3RyICJNYWxhIGVudHJhZGEgcmV2OiAkYXJnIgogCi0jOiBnaXQtYmlzZWN0LnNoOjI2NQorIzogZ2l0LWJpc2VjdC5zaDoxMjEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRiaXNlY3RlZF9oZWFkIgogbXNnc3RyICJNYWxhIGVudHJhZGEgcmV2OiAkYmlzZWN0ZWRfaGVhZCIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNzQKKyM6IGdpdC1iaXNlY3Quc2g6MTMwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkcmV2IgogbXNnc3RyICJNYWxhIGVudHJhZGEgcmV2OiAkcmV2IgogCi0jOiBnaXQtYmlzZWN0LnNoOjI4MworIzogZ2l0LWJpc2VjdC5zaDoxMzkKICMsIHNoLWZvcm1hdAogbXNnaWQgIidnaXQgYmlzZWN0ICRURVJNX0JBRCcgY2FuIHRha2Ugb25seSBvbmUgYXJndW1lbnQuIgogbXNnc3RyICInZ2l0IGJpc2VjdCAkVEVSTV9CQUQnIHNvbG8gcHVlZGUgdG9tYXIgdW4gYXJndW1lbnRvLiIKIAotIzogZ2l0LWJpc2VjdC5zaDozMDYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIldhcm5pbmc6IGJpc2VjdGluZyBvbmx5IHdpdGggYSAkVEVSTV9CQUQgY29tbWl0LiIKLW1zZ3N0ciAiUGVsaWdybzogYmlzZWNhbmRvIHNvbG8gY29uIHVuICRURVJNX0JBRCBjb21taXQuIgotCi0jLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW1ldIGFuZCBbbl0gaW4geW91cgotIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAotIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1iaXNlY3Quc2g6MzEyCi1tc2dpZCAiQXJlIHlvdSBzdXJlIFtZL25dPyAiCi1tc2dzdHIgIsK/RXN0w6FzIHNlZ3VybyBbWS9uXT8gIgotCi0jOiBnaXQtYmlzZWN0LnNoOjMyNAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIllvdSBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICRiYWRfc3luIGFuZCBvbmUgJGdvb2Rfc3luIHJldmlzaW9uLlxuIgotIihZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiBhbmQgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiIGZvciB0aGF0LikiCi1tc2dzdHIgIiIKLSJUaWVuZSBxdWUgZGFyIGFsIG1lbm9zIHVuICRiYWRfc3luIHkgdW4gJGdvb2Rfc3luIHJldmlzaW9uLlxuIgotIihQdWVkZSB2ZXIgXCJnaXQgYmlzZWN0ICRiYWRfc3luXCIgeSBcImdpdCBiaXNlY3QgJGdvb2Rfc3luXCIgcGFyYSBlc28uKSIKLQotIzogZ2l0LWJpc2VjdC5zaDozMjcKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJZb3UgbmVlZCB0byBzdGFydCBieSBcImdpdCBiaXNlY3Qgc3RhcnRcIi5cbiIKLSJZb3UgdGhlbiBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICRnb29kX3N5biBhbmQgb25lICRiYWRfc3luIHJldmlzaW9uLlxuIgotIihZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiBhbmQgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiIGZvciB0aGF0LikiCi1tc2dzdHIgIiIKLSJUaWVuZSBxdWUgY29tZW56YXIgcG9yIFwiZ2l0IGJpc2VjdCBzdGFydFwiLlxuIgotIkRlc3B1w6lzIHRpZW5lIHF1ZSBlbnRyZWdhciBhbCBtZW5vcyB1biAkZ29vZF9zeW4geSB1biAkYmFkX3N5biByZXZpc2lvbi5cbiIKLSIoUHVlZGUgdXNhciBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiB5IFwiZ2l0IGJpc2VjdCAkZ29vZF9zeW5cIiBwYXJhIGVzby4pIgotCi0jOiBnaXQtYmlzZWN0LnNoOjM5OCBnaXQtYmlzZWN0LnNoOjUxMgotbXNnaWQgIldlIGFyZSBub3QgYmlzZWN0aW5nLiIKLW1zZ3N0ciAiTm8gZXN0YW1vcyBiaXNlY2FuZG8uIgotCi0jOiBnaXQtYmlzZWN0LnNoOjQwNQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiJyRpbnZhbGlkJyBpcyBub3QgYSB2YWxpZCBjb21taXQiCi1tc2dzdHIgIickaW52YWxpZCcgbm8gZXMgdW4gY29tbWl0IHbDoWxpZG8iCi0KLSM6IGdpdC1iaXNlY3Quc2g6NDE0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iQ291bGQgbm90IGNoZWNrIG91dCBvcmlnaW5hbCBIRUFEICckYnJhbmNoJy5cbiIKLSJUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPGNvbW1pdD4nLiIKLW1zZ3N0ciAiIgotIk5vIHNlIHB1ZG8gcmV2aXNhciBlbCBIRUFEIG9yaWdpbmFsICckYnJhbmNoJy5cbiIKLSJJbnRlbnRlICdnaXQgYmlzZWN0IHJlc2V0IDxjb21taXQ+Jy4iCi0KLSM6IGdpdC1iaXNlY3Quc2g6NDIyCisjOiBnaXQtYmlzZWN0LnNoOjIwOQogbXNnaWQgIk5vIGxvZ2ZpbGUgZ2l2ZW4iCiBtc2dzdHIgIk5pbmfDum4gbG9nZmlsZSBwcm9wb3JjaW9uYWRvIgogCi0jOiBnaXQtYmlzZWN0LnNoOjQyMworIzogZ2l0LWJpc2VjdC5zaDoyMTAKICMsIHNoLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICRmaWxlIGZvciByZXBsYXlpbmciCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGxlZXIgJGZpbGUgcGFyYSByZXByb2R1Y2lyIgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ0NAorIzogZ2l0LWJpc2VjdC5zaDoyMzIKIG1zZ2lkICI/PyB3aGF0IGFyZSB5b3UgdGFsa2luZyBhYm91dD8iCiBtc2dzdHIgIj8/IMK/RGUgcXXDqSBlc3TDoXMgaGFibGFuZG8/IgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ1MworIzogZ2l0LWJpc2VjdC5zaDoyNDEKIG1zZ2lkICJiaXNlY3QgcnVuIGZhaWxlZDogbm8gY29tbWFuZCBwcm92aWRlZC4iCiBtc2dzdHIgImJpc2VjdCBmYWxsw7M6IG5vIHNlIHByb3ZlecOzIGNvbWFuZG8uIgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ1OAorIzogZ2l0LWJpc2VjdC5zaDoyNDYKICMsIHNoLWZvcm1hdAogbXNnaWQgInJ1bm5pbmcgJGNvbW1hbmQiCiBtc2dzdHIgImVqZWN1dGFuZG8gJGNvbW1hbmQiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDY1CisjOiBnaXQtYmlzZWN0LnNoOjI1MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImJpc2VjdCBydW4gZmFpbGVkOlxuIgpAQCAtMTk0MDksMTEgKzIyNzgyLDExIEBACiAiYmlzZWN0IGZhbGzDszpcbiIKICJjw7NkaWdvIGRlIHNhbGlkYSAkcmVzIGRlICckY29tbWFuZCcgZXMgPDAgbyA+PTEyOCIKIAotIzogZ2l0LWJpc2VjdC5zaDo0OTEKKyM6IGdpdC1iaXNlY3Quc2g6Mjc5CiBtc2dpZCAiYmlzZWN0IHJ1biBjYW5ub3QgY29udGludWUgYW55IG1vcmUiCiBtc2dzdHIgImJpc2VjdCBubyBwdWVkZSBzZWd1aXIgY29udGludWFuZG8iCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDk3CisjOiBnaXQtYmlzZWN0LnNoOjI4NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImJpc2VjdCBydW4gZmFpbGVkOlxuIgpAQCAtMTk0MjIsMzYgKzIyNzk1LDIwIEBACiAiYmlzZWN0IGZhbGzDszpcbiIKICInYmlzZWN0X3N0YXRlICRzdGF0ZScgc2FsacOzIGNvbiBjw7NkaWdvIGRlIGVycm9yICRyZXMiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NTA0CisjOiBnaXQtYmlzZWN0LnNoOjI5MgogbXNnaWQgImJpc2VjdCBydW4gc3VjY2VzcyIKIG1zZ3N0ciAiYmlzZWN0IGV4aXRvc28iCiAKLSM6IGdpdC1iaXNlY3Quc2g6NTMzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIGNvbW1hbmQ6IHlvdSdyZSBjdXJyZW50bHkgaW4gYSAkVEVSTV9CQUQvJFRFUk1fR09PRCBiaXNlY3QuIgotbXNnc3RyICIiCi0iQ29tYW5kbyBpbnbDoWxpZG86IGFjdHVhbG1lbnRlIHNlIGVuY3VlbnRyYSBlbiB1biBiaXNlY3QgJFRFUk1fQkFELyRURVJNX0dPT0QuIgotCi0jOiBnaXQtYmlzZWN0LnNoOjU2NwotbXNnaWQgIm5vIHRlcm1zIGRlZmluZWQiCi1tc2dzdHIgIm5vIGhheSB0w6lybWlub3MgZGVmaW5pZG9zIgotCi0jOiBnaXQtYmlzZWN0LnNoOjU4NAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotImludmFsaWQgYXJndW1lbnQgJGFyZyBmb3IgJ2dpdCBiaXNlY3QgdGVybXMnLlxuIgotIlN1cHBvcnRlZCBvcHRpb25zIGFyZTogLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCBhbmQgLS10ZXJtLWJhZHwtLXRlcm0tbmV3LiIKLW1zZ3N0ciAiIgotImFyZ3VtZW50byBpbnbDoWxpZG8gJGFyZyBwYXJhICdnaXQgYmlzZWN0IHRlcm1zJy5cbiIKLSJMYXMgb3BjaW9uZXMgc29wb3J0YWRhcyBzb246IC0tdGVybS1nb29kfC0tdGVybS1vbGQgYW5kIC0tdGVybS1iYWR8LS10ZXJtLSIKLSJuZXcuIgorIzogZ2l0LWJpc2VjdC5zaDozMDAKK21zZ2lkICJXZSBhcmUgbm90IGJpc2VjdGluZy4iCittc2dzdHIgIk5vIGVzdGFtb3MgYmlzZWNhbmRvLiIKIAogIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NDYKIG1zZ2lkICIiCiAiRXJyb3I6IFlvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKICJtZXJnZSIKIG1zZ3N0ciAiIgotIkVycm9yOiBTdXMgY2FtYmlvcyBsb2NhbGVzIGRlIGxvcyBzaWd1aWVudGVzIGFyY2hpdm9zIHNlcsOhbiBzb2JyZXNjcml0b3MgcG9yICIKKyJFcnJvcjogVHVzIGNhbWJpb3MgbG9jYWxlcyBkZSBsb3Mgc2lndWllbnRlcyBhcmNoaXZvcyBzZXLDoW4gc29icmVzY3JpdG9zIHBvciAiCiAibGEgZnVzacOzbiIKIAogIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NjEKQEAgLTE5NDg2LDI2NSArMjI4NDMsMTE1IEBACiBtc2dpZCAiU2ltcGxlIG1lcmdlIGRpZCBub3Qgd29yaywgdHJ5aW5nIGF1dG9tYXRpYyBtZXJnZS4iCiBtc2dzdHIgIkZ1c2nDs24gc2ltcGxlIG5vIGZ1bmNpb27DsywgaW50ZW50YW5kbyBmdXNpw7NuIGF1dG9tw6F0aWNhLiIKIAotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NDM0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCi1tc2dzdHIgIk5vIHNlIHB1ZWRlIHJlZ3Jlc2FyIGEgJGhlYWRfbmFtZSIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NDYwCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJHN0YXRlX2Rpcl9iYXNlIGRpcmVjdG9yeSwgYW5kXG4iCi0iSSB3b25kZXIgaWYgeW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgcmViYXNlLiAgSWYgdGhhdCBpcyB0aGVcbiIKLSJjYXNlLCBwbGVhc2UgdHJ5XG4iCi0iXHQkY21kX2xpdmVfcmViYXNlXG4iCi0iSWYgdGhhdCBpcyBub3QgdGhlIGNhc2UsIHBsZWFzZVxuIgotIlx0JGNtZF9jbGVhcl9zdGFsZV9yZWJhc2VcbiIKLSJhbmQgcnVuIG1lIGFnYWluLiAgSSBhbSBzdG9wcGluZyBpbiBjYXNlIHlvdSBzdGlsbCBoYXZlIHNvbWV0aGluZ1xuIgotInZhbHVhYmxlIHRoZXJlLiIKLW1zZ3N0ciAiIgotIlBhcmVjZSBxdWUgeWEgaGF5IHVuIGRpcmVjdG9yaW8gJHN0YXRlX2Rpcl9iYXNlLCB5XG4iCi0ibWUgcHJlZ3VudG8gc2kgZXN0w6EgZW4gbWVkaW8gZGUgb3RybyByZWJhc2UuIFNpIGVzZSBlcyBlbCBcbiIKLSJjYXNvLCBwb3IgZmF2b3IgaW50ZW50ZVxuIgotIlx0JGNtZF9saXZlX3JlYmFzZVxuIgotIlNpIG5vIGVzIGVsIGNhc28sIHBvciBmYXZvclxuIgotIlx0JGNtZF9jbGVhcl9zdGFsZV9yZWJhc2VcbiIKLSJ5IGVqZWPDunRlbWUgbnVldmFtZW50ZS4gIE1lIGVzdG95IGRldGVuaWVuZG8gZW4gY2FzbyBkZSBxdWUgdGVuZ2FcbiIKLSJhbGdvIGRlIHZhbG9yIGFow60uIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1MjUKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tc2lnbm9mZicgd2l0aCAnLS1wcmVzZXJ2ZS1tZXJnZXMnIgotbXNnc3RyICJlcnJvcjogbm8gc2UgcHVlZGUgY29tYmluYXIgJy0tc2lnbm9mZicgY29uICctLXByZXNlcnZlLW1lcmdlcyciCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjU3MAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAnJHVwc3RyZWFtX25hbWUnIgotbXNnc3RyICJ1cHN0cmVhbSBpbnbDoWxpZG8gJyR1cHN0cmVhbV9uYW1lJyIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTk0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKLW1zZ3N0ciAiJG9udG9fbmFtZTogaGF5IG3DoXMgZGUgdW5hIGJhc2UgZGUgZnVzacOzbiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTk3IGdpdC1sZWdhY3ktcmViYXNlLnNoOjYwMQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKLW1zZ3N0ciAiJG9udG9fbmFtZTogbm8gaGF5IGJhc2UgZGUgZnVzacOzbiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NjA2Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogJG9udG9fbmFtZSIKLW1zZ3N0ciAiTm8gYXB1bnRhIGEgdW4gY29tbWl0IHbDoWxpZG86ICRvbnRvX25hbWUiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjYzMgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoL2NvbW1pdCAnJGJyYW5jaF9uYW1lJyIKLW1zZ3N0ciAiZmF0YWw6IG5vIGV4aXN0ZSBsYSByYW1hL2NvbW1pdDogJyRicmFuY2hfbmFtZSciCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjY3MAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCi1tc2dzdHIgIkF1dG9zdGFzaCBjcmVhZG86ICRzdGFzaF9hYmJyZXYiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjY5OQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUuIgotbXNnc3RyICJMYSByYW1hIGFjdHVhbCAkYnJhbmNoX25hbWUgZXN0w6EgYWN0dWFsaXphZGEuIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MDkKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKLW1zZ3N0ciAiUmFtYSBhY3R1YWwgJGJyYW5jaF9uYW1lIGVzdMOhIGFjdHVhbGl6YWRhLCByZWJhc2UgZm9yemFkby4iCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjcyMwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ2hhbmdlcyB0byAkb250bzoiCi1tc2dzdHIgIkNhbWJpb3MgaGFjaWEgJG9udG86IgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MjUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNoYW5nZXMgZnJvbSAkbWIgdG8gJG9udG86IgotbXNnc3RyICJDYW1iaW9zIGRlc2RlICRtYiBhICRvbnRvOiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzM2Ci1tc2dpZCAiRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uIgotbXNnc3RyICIiCi0iRW4gcHJpbWVyIGx1Z2FyLCByZWJvYmluYW5kbyBIRUFEIHBhcmEgZGVzcHXDqXMgcmVwcm9kdWNpciB0dXMgY2FtYmlvcyBlbmNpbWEgIgotImRlIMOpc3RhLi4uIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3NDYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKLW1zZ3N0ciAiQXZhbmNlIHLDoXBpZG8gZGUgJGJyYW5jaF9uYW1lIGEgJG9udG9fbmFtZS4iCi0KLSM6IGdpdC1zdGFzaC5zaDo2MQotbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKLW1zZ3N0ciAiZ2l0IHN0YXNoIGNsZWFyIGNvbiBwYXLDoW1ldHJvcyBubyBlc3TDoSBpbXBsZW1lbnRhZG8iCi0KLSM6IGdpdC1zdGFzaC5zaDoxMDgKLW1zZ2lkICJZb3UgZG8gbm90IGhhdmUgdGhlIGluaXRpYWwgY29tbWl0IHlldCIKLW1zZ3N0ciAiQcO6biBubyB0aWVuZXMgdW4gY29tbWl0IGluaWNpYWwiCi0KLSM6IGdpdC1zdGFzaC5zaDoxMjMKLW1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKLW1zZ3N0ciAiTm8gc2UgcHVlZGUgZ3VhcmRhciBlbCBlc3RhZG8gYWN0dWFsIGRlbCDDrW5kaWNlIgotCi0jOiBnaXQtc3Rhc2guc2g6MTM4Ci1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKLW1zZ3N0ciAiTm8gc2UgcHVlZGVuIGd1YXJkYXIgbG9zIGFyY2hpdm9zIG5vIHJhc3RyZWFkb3MiCi0KLSM6IGdpdC1zdGFzaC5zaDoxNTggZ2l0LXN0YXNoLnNoOjE3MQotbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHdvcmt0cmVlIHN0YXRlIgotbXNnc3RyICJObyBzZSBwdWVkZSBndWFyZGFyIGVsIGVzdGFkbyBhY3R1YWwgZGVsIMOhcmJvbCBkZSB0cmFiYWpvIgotCi0jOiBnaXQtc3Rhc2guc2g6MTc1Ci1tc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKLW1zZ3N0ciAiU2luIGNhbWJpb3Mgc2VsZWNjaW9uYWRvcyIKLQotIzogZ2l0LXN0YXNoLnNoOjE3OAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMjEKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHRlbXBvcmFyeSBpbmRleCAoY2FuJ3QgaGFwcGVuKSIKIG1zZ3N0ciAiTm8gc2UgcHVlZGUgZWxpbWluYXIgZWwgw61uZGljZSB0ZW1wb3JhbCAobm8gcHVlZGUgc3VjZWRlcikiCiAKLSM6IGdpdC1zdGFzaC5zaDoxOTEKLW1zZ2lkICJDYW5ub3QgcmVjb3JkIHdvcmtpbmcgdHJlZSBzdGF0ZSIKLW1zZ3N0ciAiTm8gc2UgcHVlZGUgZ3JhYmFyIGVsIGVzdGFkbyBkZWwgw6FyYm9sIGRlIHRyYWJham8iCi0KLSM6IGdpdC1zdGFzaC5zaDoyMjkKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlICRyZWZfc3Rhc2ggd2l0aCAkd19jb21taXQiCiBtc2dzdHIgIk5vIHNlIHB1ZWRlIGFjdHVhbGl6YXIgJHJlZl9zdGFzaCBjb24gJHdfY29tbWl0IgogCi0jOiBnaXQtc3Rhc2guc2g6MjgxCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjMyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggcHVzaCc6ICRvcHRpb24iCiBtc2dzdHIgImVycm9yOiBvcGNpw7NuIGRlc2Nvbm9jaWRhIHBhcmEgJ3N0YXNoIHB1cyc6ICRvcHRpb24iCiAKLSM6IGdpdC1zdGFzaC5zaDoyOTUKLW1zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgotbXNnc3RyICJObyBzZSBwdWVkZSB1c2FyIC0tcGF0Y2ggeSAtLWluY2x1ZGUtdW50cmFja2VkIG8gLS1hbGwgYWwgbWlzbW8gdGllbXBvIgotCi0jOiBnaXQtc3Rhc2guc2g6MzAzCi1tc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgotbXNnc3RyICJObyBoYXkgY2FtYmlvcyBsb2NhbGVzIHBhcmEgZ3VhcmRhciIKLQotIzogZ2l0LXN0YXNoLnNoOjMwOAotbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgotbXNnc3RyICJObyBzZSBwdWVkZSBpbmljaWFsaXphciBzdGFzaCIKLQotIzogZ2l0LXN0YXNoLnNoOjMxMgotbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHN0YXR1cyIKLW1zZ3N0ciAiTm8gc2UgcHVlZGUgZ3VhcmRhciBlbCBlc3RhZG8gYWN0dWFsIgotCi0jOiBnaXQtc3Rhc2guc2g6MzEzCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjM1NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlICRzdGFzaF9tc2ciCiBtc2dzdHIgIkRpcmVjdG9yaW8gZGUgdHJhYmFqbyBndWFyZGFkbyB5IGVzdGFkbyBkZSDDrW5kaWNlICRzdGFzaF9tc2ciCiAKLSM6IGdpdC1zdGFzaC5zaDozNDIKLW1zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCi1tc2dzdHIgIk5vIHNlIHB1ZWRlbiBlbGltaW5hciBjYW1iaW9zIGRlbCDDoXJib2wgZGUgdHJhYmFqbyIKLQotIzogZ2l0LXN0YXNoLnNoOjQ5MAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1MzYKICMsIHNoLWZvcm1hdAogbXNnaWQgInVua25vd24gb3B0aW9uOiAkb3B0IgogbXNnc3RyICJvcGNpw7NuIGRlc2Nvbm9jaWRhOiAkb3B0IgogCi0jOiBnaXQtc3Rhc2guc2g6NTAzCi1tc2dpZCAiTm8gc3Rhc2ggZW50cmllcyBmb3VuZC4iCi1tc2dzdHIgIk5vIHNlIGVuY29udHJhcm9uIGVudHJhZGFzIGRlIHN0YXNoLiIKLQotIzogZ2l0LXN0YXNoLnNoOjUxMAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1NTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCiBtc2dzdHIgIlNlIGVzcGVjaWZpY2Fyb24gZGVtYXNpYWRhcyByZXZpc2lvbmVzOiAkUkVWIgogCi0jOiBnaXQtc3Rhc2guc2g6NTI1CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjU3MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgYSB2YWxpZCByZWZlcmVuY2UiCiBtc2dzdHIgIiRyZWZlcmVuY2Ugbm8gZXMgdW5hIHJlZmVyZW5jaWEgdsOhbGlkYSIKIAotIzogZ2l0LXN0YXNoLnNoOjU1MworIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1OTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCiBtc2dzdHIgIickYXJncycgbm8gZXMgdW4gY29tbWl0IGVzdGlsbyBzdGFzaCIKIAotIzogZ2l0LXN0YXNoLnNoOjU2NAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2MTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2ggcmVmZXJlbmNlIgogbXNnc3RyICInJGFyZ3MnIG5vIGVzIHVuYSByZWZlcmVuY2lhIHN0YXNoIgogCi0jOiBnaXQtc3Rhc2guc2g6NTcyCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYxOAogbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgogbXNnc3RyICJpbmNhcGF6IGRlIHJlZnJlc2NhciBlbCDDrW5kaWNlIgogCi0jOiBnaXQtc3Rhc2guc2g6NTc2CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYyMgogbXNnaWQgIkNhbm5vdCBhcHBseSBhIHN0YXNoIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSIKIG1zZ3N0ciAiTm8gc2UgcHVlZGUgYXBsaWNhciB1biBzdGFzaCBlbiBtZWRpbyBkZSB1bmEgZnVzacOzbiIKIAotIzogZ2l0LXN0YXNoLnNoOjU4NAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2MzAKIG1zZ2lkICJDb25mbGljdHMgaW4gaW5kZXguIFRyeSB3aXRob3V0IC0taW5kZXguIgogbXNnc3RyICJDb25mbGljdG9zIGVuIMOtbmRpY2UuIEludGVudGUgc2luIC0taW5kZXguIgogCi0jOiBnaXQtc3Rhc2guc2g6NTg2CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYzMgogbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCiBtc2dzdHIgIk5vIHNlIHB1ZWRlIGd1YXJkYXIgZWwgw61uZGljZSBkZWwgw6FyYm9sIgogCi0jOiBnaXQtc3Rhc2guc2g6NTk1CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjY0MQogbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIGVudHJ5IgogbXNnc3RyICJObyBzZSBwdWVkZW4gcmVzdGF1cmFyIGFyY2hpdm9zIG5vIHJhc3RyZWFkb3MgZGUgbGEgZW50cmFkYSBzdGFzaCIKIAotIzogZ2l0LXN0YXNoLnNoOjYyMAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2NjYKIG1zZ2lkICJDYW5ub3QgdW5zdGFnZSBtb2RpZmllZCBmaWxlcyIKIG1zZ3N0ciAiTm8gc2UgcHVlZGUgc2FjYXIgZGUgc3RhZ2UgYXJjaGl2b3MgbW9kaWZpY2Fkb3MiCiAKLSM6IGdpdC1zdGFzaC5zaDo2MzUKLW1zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCi1tc2dzdHIgIkVsIMOtbmRpY2Ugbm8gZnVlIHNhY2FkbyBkZSBzdGFzaC4iCi0KLSM6IGdpdC1zdGFzaC5zaDo2NDkKLW1zZ2lkICJUaGUgc3Rhc2ggZW50cnkgaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIKLW1zZ3N0ciAiTGEgZW50cmFkYSBkZSBzdGFzaCBzZSBndWFyZMOzIGVuIGNhc28gZGUgc2VyIG5lY2VzYXJpbyBudWV2YW1lbnRlLiIKLQotIzogZ2l0LXN0YXNoLnNoOjY1OAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo3MDQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRyb3BwZWQgJHtSRVZ9ICgkcykiCiBtc2dzdHIgIkJvdGFkbyAke1JFVn0gKCRzKSIKIAotIzogZ2l0LXN0YXNoLnNoOjY1OQorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo3MDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCiBtc2dzdHIgIiR7UkVWfTogTm8gc2UgcHVkbyBib3JyYXIgZW50cmFkYSBzdGFzaCIKIAotIzogZ2l0LXN0YXNoLnNoOjY2NwotbXNnaWQgIk5vIGJyYW5jaCBuYW1lIHNwZWNpZmllZCIKLW1zZ3N0ciAiTm8gc2UgZXNwZWNpZmljw7MgZWwgbm9tYnJlIGRlIGxhIHJhbWEiCi0KLSM6IGdpdC1zdGFzaC5zaDo3NDYKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzkyCiBtc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogbXNnc3RyICIoUGFyYSByZXN0YXVyYXJsb3MsIGVzY3JpYmUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTk4CisjOiBnaXQtc3VibW9kdWxlLnNoOjIwMgogbXNnaWQgIlJlbGF0aXZlIHBhdGggY2FuIG9ubHkgYmUgdXNlZCBmcm9tIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICIiCiAiTGEgcnV0YSByZWxhdGl2YSBzw7NsbyBzZSBwdWVkZSB1c2FyIGRlc2RlIGVsIG5pdmVsIHN1cGVyaW9yIGRlbCDDoXJib2wgZGUgIgogInRyYWJham8iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjA4CisjOiBnaXQtc3VibW9kdWxlLnNoOjIxMgogIywgc2gtZm9ybWF0CiBtc2dpZCAicmVwbyBVUkw6ICckcmVwbycgbXVzdCBiZSBhYnNvbHV0ZSBvciBiZWdpbiB3aXRoIC4vfC4uLyIKIG1zZ3N0ciAicmVwbyBVUkw6ICckcmVwbycgZGViZSBzZXIgYWJzb2x1dGEgbyBpbmljaWFyIGNvbiAuL3wuLi8iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjI3CisjOiBnaXQtc3VibW9kdWxlLnNoOjIzMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgaW5kZXgiCiBtc2dzdHIgIickc21fcGF0aCcgeWEgZXhpc3RlIGVuIGVsIMOtbmRpY2UiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjMwCisjOiBnaXQtc3VibW9kdWxlLnNoOjIzNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgaW5kZXggYW5kIGlzIG5vdCBhIHN1Ym1vZHVsZSIKIG1zZ3N0ciAiJyRzbV9wYXRoJyB5YSBleGlzdGUgZW4gZWwgw61uZGljZSB5IG5vIGVzIHVuIHN1Ym3Ds2R1bG8iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjM2CisjOiBnaXQtc3VibW9kdWxlLnNoOjI0MQorIywgc2gtZm9ybWF0Cittc2dpZCAiJyRzbV9wYXRoJyBkb2VzIG5vdCBoYXZlIGEgY29tbWl0IGNoZWNrZWQgb3V0IgorbXNnc3RyICInJHNtX3BhdGgnIG5vIHRpZW5lIHVuIGNvbW1pdCBjaGVja2VkIG91dCIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHBhdGggaXMgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgpAQCAtMTk3NTUsMjQgKzIyOTYyLDI0IEBACiAiJHNtX3BhdGhcbiIKICJVc2EgLWYgc2kgZW4gdmVyZGFkIHF1aWVyZXMgYWdyZWdhcmxvLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjcwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgZXhpc3RpbmcgcmVwbyBhdCAnJHNtX3BhdGgnIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiQWdyZWdhbmRvIGVsIHJlcG9zaXRvcmlvIGV4aXN0ZW50ZSBlbiAnJHNtX3BhdGgnIGFsIMOtbmRpY2UiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjYxCisjOiBnaXQtc3VibW9kdWxlLnNoOjI3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGEgdmFsaWQgZ2l0IHJlcG8iCiBtc2dzdHIgIickc21fcGF0aCcgeWEgZXhpc3RlIHkgbm8gZXMgdW4gcmVwb3NpdG9yaW8gZ2l0IHbDoWxpZG8iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjY5CisjOiBnaXQtc3VibW9kdWxlLnNoOjI4MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQSBnaXQgZGlyZWN0b3J5IGZvciAnJHNtX25hbWUnIGlzIGZvdW5kIGxvY2FsbHkgd2l0aCByZW1vdGUocyk6IgogbXNnc3RyICIiCiAiU2UgZW5jb250csOzIGxvY2FsbWVudGUgdW4gZGlyZWN0b3JpbyBnaXQgcGFyYSAnJHNtX25hbWUnIGNvbiBlbChsb3MpICIKICJyZW1vdG8ocyk6IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI3MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODIKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluIGZyb21cbiIKQEAgLTE5Nzg0LDQ0ICsyMjk5MSw0NCBAQAogbXNnc3RyICIiCiAiU2kgcXVpZXJlIHJldXNhciBlc3RlIGRpcmVjdG9yaW8gZ2l0IGxvY2FsIGVuIGx1Z2FyIGRlIGNsb25hciBudWV2YW1lbnRlIGRlXG4iCiAiICAkcmVhbHJlcG9cbiIKLSJ1c2UgbGEgb3BjacOzbiAnLS1mb3JjZScuIFNpIGVsIGRpcmVjdG9yaW8gZ2l0IGxvY2FsIG5vIGVzIGVsIHJlcG9zaXRvcmlvICIKKyJ1c2EgbGEgb3BjacOzbiAnLS1mb3JjZScuIFNpIGVsIGRpcmVjdG9yaW8gZ2l0IGxvY2FsIG5vIGVzIGVsIHJlcG9zaXRvcmlvICIKICJjb3JyZWN0b1xuIgotIm8gbm8gZXN0w6Egc2VndXJvIGRlIGxvIHF1ZSBlc3RvIHNpZ25pZmljYSwgZXNjb2phIG90cm8gbm9tYnJlIGNvbiBsYSBvcGNpw7NuICIKKyJvIG5vIGVzdMOhcyBzZWd1cm8gZGUgbG8gcXVlIGVzdG8gc2lnbmlmaWNhLCBlc2NvZ2Ugb3RybyBub21icmUgY29uIGxhIG9wY2nDs24gIgogIictLW5hbWUnLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Mjg4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWFjdGl2YXRpbmcgbG9jYWwgZ2l0IGRpcmVjdG9yeSBmb3Igc3VibW9kdWxlICckc21fbmFtZScuIgogbXNnc3RyICJSZWFjdGl2YXIgZGlyZWN0b3JpbyBnaXQgbG9jYWwgcGFyYSBlbCBzdWJtw7NkdWxvICckc21fbmFtZScuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDozMDAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiTm8gZXMgcG9zaWJsZSBoYWNlciBjaGVja291dCBhbCBzdWJtw7NkdWxvICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mjk0CisjOiBnaXQtc3VibW9kdWxlLnNoOjMwNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGFkZCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiRmFsbMOzIGFsIGFncmVnYXIgZWwgc3VibcOzZHVsbyAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMwMworIzogZ2l0LXN1Ym1vZHVsZS5zaDozMTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiRmFsbMOzIGFsIHJlZ2lzdHJhciBlbCBzdWJtw7NkdWxvICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTYzCisjOiBnaXQtc3VibW9kdWxlLnNoOjU4MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIk5vIHNlIHB1ZG8gZW5jb250cmFyIGxhIHJldmlzacOzbiBhY3R1YWwgZW4gbGEgcnV0YSBkZSBzdWJtw7NkdWxvICIKICInJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NzMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiTm8gZXMgcG9zaWJsZSByZWFsaXphciBmZXRjaCBlbiBsYSBydXRhIGRlIHN1Ym3Ds2R1bG8gJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgpAQCAtMTk4MzAsMTIgKzIzMDM3LDE2IEBACiAiTm8gZXMgcG9zaWJsZSBlbmNvbnRyYXIgcmV2aXNpw7NuIGFjdHVhbCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gZW4gbGEgcnV0YSAiCiAiZGUgc3VibcOzZHVsbyAgJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1OTYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjEzCiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCi1tc2dzdHIgIk5vIGVzIHBvc2libGUgcmVhbGl6YXIgZmV0Y2ggZW4gbGEgcnV0YSBkZSBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnIgorbXNnaWQgIiIKKyJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc7IHRyeWluZyB0byBkaXJlY3RseSBmZXRjaCAiCisiJHNoYTE6IgorbXNnc3RyICIiCisiTm8gZXMgcG9zaWJsZSByZWFsaXphciBmZXRjaCBlbiBsYSBydXRhIGRlIHN1Ym3Ds2R1bG8gJyRkaXNwbGF5cGF0aCc7ICIKKyJpbnRlbnRhbmRvIGhhY2VyIHVuIGZldGNoIGRpcmVjdG8gJHNoYTE6IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYwMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJGZXRjaGVkIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnLCBidXQgaXQgZGlkIG5vdCBjb250YWluICRzaGExLiAiCkBAIC0xOTg0NCw3NSArMjMwNTUsNzUgQEAKICJGZXRjaCByZWFsaXphZG8gZW4gcnV0YSBkZSBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnLCBwZXJvIG5vIGNvbnRlbsOtYSAkc2hhMS4gIgogIkZldGNoIGRpcmVjdG8gZGVsIGNvbW1pdCBmYWxsw7MuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYwOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJObyBlcyBwb3NpYmxlIHJldmlzYXIgJyRzaGExJyBlbiBsYSBydXRhIGRlIHN1Ym3Ds2R1bG8gJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjEwCisjOiBnaXQtc3VibW9kdWxlLnNoOjYyNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IGNoZWNrZWQgb3V0ICckc2hhMSciCiBtc2dzdHIgIlJ1dGEgZGUgc3VibcOzZHVsbyAnJGRpc3BsYXlwYXRoJzogY2hlY2sgb3V0IHJlYWxpemFkbyBhICckc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjE0CisjOiBnaXQtc3VibW9kdWxlLnNoOjYzMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiTm8gc2UgcG9zaWJsZSBlamVjdXRhciByZWJhc2UgYSAnJHNoYTEnIGVuIGxhIHJ1dGEgZGUgc3VibcOzZHVsbyAiCiAiJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjE1CisjOiBnaXQtc3VibW9kdWxlLnNoOjYzMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IHJlYmFzZWQgaW50byAnJHNoYTEnIgogbXNnc3RyICJSdXRhIGRlIHN1Ym3Ds2R1bG8gJyRkaXNwbGF5cGF0aCc6IHJlYmFzYWRhIGVuICckc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjIwCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIkluY2FwYXogZGUgZnVzaW9uYXIgJyRzaGExJyBlbiBsYSBydXRhIGRlbCBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYyMQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKIG1zZ3N0ciAiUnV0YSBkZSBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnOiBmdXNpb25hZGEgZW4gJyRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjQzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJGYWxsw7MgbGEgZWplY3VjacOzbiAgZGUgICckY29tbWFuZCAkc2hhMScgZW4gbGEgcnV0YSBkZSBzdWJtw7NkdWxvICIKICInJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjQ0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogJyRjb21tYW5kICRzaGExJyIKIG1zZ3N0ciAiUnV0YSBkZSBzdWJtw7NkdWxvICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY1OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIkZhbGzDsyBhbCByZWN1cnJpciBlbiBsYSBydXRhIGRlIHN1Ym3Ds2R1bG8gJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzU0CisjOiBnaXQtc3VibW9kdWxlLnNoOjg4NgogbXNnaWQgIlRoZSAtLWNhY2hlZCBvcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgLS1maWxlcyBvcHRpb24iCiBtc2dzdHIgIkxhIG9wY2nDs24gLS1jYWNoZWQgbm8gcHVlZGUgc2VyIHVzYWRhIGNvbiBsYSBvcGNpw7NuIC0tZmlsZXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODA2CisjOiBnaXQtc3VibW9kdWxlLnNoOjkzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBtb2RlICRtb2RfZHN0IgogbXNnc3RyICJtb2RvICRtb2RfZHN0IGluZXNwZXJhZG8iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODI2CisjOiBnaXQtc3VibW9kdWxlLnNoOjk1OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfc3JjIgogbXNnc3RyICIgIEFkdmVydGVuY2lhOiAkZGlzcGxheV9uYW1lIG5vIGNvbnRpZW5lIGVsIGNvbW1pdCAkc2hhMV9zcmMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODI5CisjOiBnaXQtc3VibW9kdWxlLnNoOjk2MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfZHN0IgogbXNnc3RyICIgIEFkdmVydGVuY2lhOiAkZGlzcGxheV9uYW1lIG5vIGNvbnRpZW5lIGVsIGNvbW1pdCAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODMyCisjOiBnaXQtc3VibW9kdWxlLnNoOjk2NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXRzICRzaGExX3NyYyBhbmQgJHNoYTFfZHN0IgogbXNnc3RyICIiCkBAIC0xOTkyMywxMiArMjMxMzQsMjEgQEAKIG1zZ2lkICJTZWUgZ2l0LSR7Y21kfSgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIlbDqWFzZSBnaXQtJHtjbWR9KDEpIHBhcmEgbcOhcyBkZXRhbGxlcy4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMzYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMDkKK21zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC4iCittc2dzdHIgIkF1dG9zdGFzaCBhcGxpY2Fkby4iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMTIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBzdG9yZSAkc3Rhc2hfc2hhMSIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgYWxtYWNlbmFyICRzdGFzaF9zaGExIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTkxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWJhc2luZyAoJG5ld19jb3VudC8kdG90YWwpIgogbXNnc3RyICJSZWJhc2FuZG8gKCRuZXdfY291bnQvJHRvdGFsKSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjE1MgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjIwNwogbXNnaWQgIiIKICJcbiIKICJDb21tYW5kczpcbiIKQEAgLTE5OTY4LDcgKzIzMTg4LDcgQEAKICJFc3RhcyBsw61uZWFzIHB1ZWRlbiBzZXIgcmVvcmRlbmFkYXM7IHNvbiBlamVjdXRhZGFzIGRlc2RlIGFycmliYSBoYWNpYSAiCiAiYWJham8uXG4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMTUKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyNzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgY2FuIGFtZW5kIHRoZSBjb21taXQgbm93LCB3aXRoXG4iCkBAIC0xOTk3OSw5MSArMjMxOTksOTEgQEAKICJcbiIKICJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKIG1zZ3N0ciAiIgotIlB1ZWRlIGVubWVuZGFyIGVsIGNvbW1pdCBhaG9yYSwgY29uXG4iCisiUHVlZGVzIGVubWVuZGFyIGVsIGNvbW1pdCBhaG9yYSwgY29uXG4iCiAiXG4iCiAiXHRnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKICJcbiIKLSJVbmEgdmV6IHF1ZSBlc3TDqSBzYXRpc2ZlY2hvIGNvbiBsb3MgY2FtYmlvcywgZWplY3V0ZVxuIgorIlVuYSB2ZXogcXVlIGVzdMOpcyBzYXRpc2ZlY2hvIGNvbiBsb3MgY2FtYmlvcywgZWplY3V0YVxuIgogIlxuIgogIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjQwCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Mjk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkc2hhMTogbm90IGEgY29tbWl0IHRoYXQgY2FuIGJlIHBpY2tlZCIKIG1zZ3N0ciAiJHNoYTE6IG5vIGVzIHVuIGNvbW1pdCBxdWUgcHVlZGEgc2VyIGNvZ2lkbyIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjI3OQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjMzNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBjb21taXQgbmFtZTogJHNoYTEiCiBtc2dzdHIgIk5vbWJyZSBkZSBjb21taXQgaW52w6FsaWRvOiAkc2hhMSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjMwOQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM2NAogbXNnaWQgIkNhbm5vdCB3cml0ZSBjdXJyZW50IGNvbW1pdCdzIHJlcGxhY2VtZW50IHNoYTEiCiBtc2dzdHIgIk5vIHNlIHB1ZWRlIGVzY3JpYmlyIGVsIHJlbXBsYXpvIHNoYTEgZGVsIGNvbW1pdCBhY3R1YWwiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozNjAKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZCB0byAkc2hhMSIKIG1zZ3N0ciAiQXZhbmNlIHLDoXBpZG8gYSAkc2hhMSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM2MgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQxNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGZhc3QtZm9yd2FyZCB0byAkc2hhMSIKIG1zZ3N0ciAiTm8gc2UgcHVlZGUgcmVhbGl6YXIgYXZhbmNlIHLDoXBpZG8gYSAkc2hhMSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM3MQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQyNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG1vdmUgSEVBRCB0byAkZmlyc3RfcGFyZW50IgogbXNnc3RyICJObyBzZSBwdWVkZSBtb3ZlciBIRUFEIGEgJGZpcnN0X3BhcmVudCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM3NgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQzMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gc3F1YXNoIGEgbWVyZ2U6ICRzaGExIgogbXNnc3RyICJSZWh1c2FuZG8gYSBlamVjdXRhciBzcXVhc2ggZW4gZnVzacOzbjogJHNoYTEiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozOTQKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIkVycm9yIHJlZG9pbmcgbWVyZ2UgJHNoYTEiCiBtc2dzdHIgIkVycm9yIHJlaGFjaWVuZG8gZnVzacOzbiAkc2hhMSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQwMworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ1OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBpY2sgJHNoYTEiCiBtc2dzdHIgIk5vIHNlIHB1ZG8gY29nZXIgJHNoYTEiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgdGhlIGNvbW1pdCBtZXNzYWdlICMke259OiIKIG1zZ3N0ciAiRXN0ZSBlcyBlbCBtZW5zYWplIGRlbCBjb21taXQgIyR7bn06IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDE3CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUaGUgY29tbWl0IG1lc3NhZ2UgIyR7bn0gd2lsbCBiZSBza2lwcGVkOiIKIG1zZ3N0ciAiRWwgbWVuc2FqZSBkZWwgY29tbWl0ICAjJHtufSBzZXLDoSBpZ25vcmFkbzoiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MjgKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0ODMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0LiIKIG1zZ2lkX3BsdXJhbCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICRjb3VudCBjb21taXRzLiIKIG1zZ3N0clswXSAiRXN0YSBlcyB1bmEgY29tYmluYWNpw7NuIGRlICRjb3VudCBjb21taXQuIgogbXNnc3RyWzFdICJFc3RhIGVzIGxhIGNvbWJpbmFjacOzbiBkZSAkY291bnQgY29tbWl0cy4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MzcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0OTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB3cml0ZSAkZml4dXBfbXNnIgogbXNnc3RyICJObyBzZSBwdWVkZSBlc2NyaWJpciAkZml4dXBfbXNnIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDQwCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDk1CiBtc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIDIgY29tbWl0cy4iCiBtc2dzdHIgIkVzdG8gZXMgdW5hIGNvbWJpbmFjacOzbiBkZSAyIGNvbW1pdHMuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDgxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MjQKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MjcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MzYgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU3OQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU4MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICRzaGExLi4uICRyZXN0IgogbXNnc3RyICJObyBzZSBwdWVkZSBhcGxpY2FyICRzaGExLi4uICRyZXN0IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NTU2CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjExCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGFtZW5kIGNvbW1pdCBhZnRlciBzdWNjZXNzZnVsbHkgcGlja2luZyAkc2hhMS4uLiAkcmVzdFxuIgpAQCAtMjAwNzYsMzUgKzIzMjk2LDM1IEBACiAiJHJlc3RcbiIKICJFc3RvIGVzIHByb2JhYmxlbWVudGUgZGViaWRvIGEgdW4gbWVuc2FqZSBkZSBjb21taXQgdmFjw61vLCBvIGVsIGhvb2sgcHJlLSIKICJjb21taXRcbiIKLSJoYSBmYWxsYWRvLiBTaSBlbCBob29rIHByZS1jb21taXQgZmFsbMOzLCBlcyBwb3NpYmxlIHF1ZSBkZWJhIHJlc29sdmVyIGVsICIKKyJoYSBmYWxsYWRvLiBTaSBlbCBob29rIHByZS1jb21taXQgZmFsbMOzLCBlcyBwb3NpYmxlIHF1ZSBkZWJhcyByZXNvbHZlciBlbCAiCiAicHJvYmxlbWEgYW50ZXNcbiIKICJkZSBxdWUgc2VhIGNhcGF6IGRlIHJlZm9ybXVsYXIgZWwgY29tbWl0LiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU3MQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYyNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCBhdCAkc2hhMV9hYmJyZXYuLi4gJHJlc3QiCiBtc2dzdHIgIkRldGVuaWRvIGVuICRzaGExX2FiYnJldi4uLiAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU4NgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY0MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90ICckc3F1YXNoX3N0eWxlJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICJObyBzZSBwdWVkZSAnJHNxdWFzaF9zdHlsZScgc2luIHVuIGNvbW1pdCBwcmV2aW8iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2MjgKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2ODMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGluZzogJHJlc3QiCiBtc2dzdHIgIkVqZWN1dGFuZG86ICRyZXN0IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjM2CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjkxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpb24gZmFpbGVkOiAkcmVzdCIKIG1zZ3N0ciAiRWplY3VjacOzbiBmYWxsaWRhOiAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYzOAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY5MwogbXNnaWQgImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICJ5IGhpem8gY2FtYmlvcyBhbCDDrW5kaWNlIHkvbyBhbCDDoXJib2wgZGUgdHJhYmFqbyIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY0MAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY5NQogbXNnaWQgIiIKICJZb3UgY2FuIGZpeCB0aGUgcHJvYmxlbSwgYW5kIHRoZW4gcnVuXG4iCiAiXG4iCkBAIC0yMDExNSw3ICsyMzMzNSw3IEBACiAiXHRnaXQgcmViYXNlIC0tY29udGludWUiCiAKICMuIFRSQU5TTEFUT1JTOiBhZnRlciB0aGVzZSBsaW5lcyBpcyBhIGNvbW1hbmQgdG8gYmUgaXNzdWVkIGJ5IHRoZSB1c2VyCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjUzCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzA4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiRXhlY3V0aW9uIHN1Y2NlZWRlZDogJHJlc3RcbiIKQEAgLTIwMTI2LDI5ICsyMzM0NiwyOSBAQAogbXNnc3RyICIiCiAiTGEgZWplY3VjacOzbiB0dXZvIMOpeGl0bzogJHJlc3RcbiIKICJQZXJvIGRlasOzIGNhbWJpb3MgZW4gZWwgw61uZGljZSB5L28gZW4gZWwgw6FyYm9sIGRlIHRyYWJham9cbiIKLSJSZWFsaWNlIHVuIGNvbW1pdCBvIHN0YXNoIGNvbiBsb3MgY2FtYmlvcyB5LCBhIGNvbnRpbnVhY2nDs24sIGVqZWN1dGVcbiIKKyJSZWFsaXphIHVuIGNvbW1pdCBvIHN0YXNoIGNvbiBsb3MgY2FtYmlvcyB5LCBhIGNvbnRpbnVhY2nDs24sIGVqZWN1dGFcbiIKICJcbiIKICJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY2NAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjcxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBjb21tYW5kOiAkY29tbWFuZCAkc2hhMSAkcmVzdCIKIG1zZ3N0ciAiQ29tYW5kbyBkZXNjb25vY2lkbzogJGNvbW1hbmQgJHNoYTEgJHJlc3QiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NjUKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MjAKIG1zZ2lkICJQbGVhc2UgZml4IHRoaXMgdXNpbmcgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKIG1zZ3N0ciAiUG9yIGZhdm9yLCBjb3JyaWdlIGVzdG8gdXNhbmRvICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MDAKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3NTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Y2Nlc3NmdWxseSByZWJhc2VkIGFuZCB1cGRhdGVkICRoZWFkX25hbWUuIgogbXNnc3RyICIkaGVhZF9uYW1lIHJlYmFzYWRvIHkgYWN0dWFsaXphZG8gc2F0aXNmYWN0b3JpYW1lbnRlLiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc1NworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgxMgogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKIG1zZ3N0ciAiTm8gc2UgcHVkbyBlbGltaW5hciBDSEVSUllfUElDS19IRUFEIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzYyCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODE3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuXG4iCkBAIC0yMDE2NSwyNiArMjMzODUsMjYgQEAKICJcbiIKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogbXNnc3RyICIiCi0iVGllbmUgY2FtYmlvcyBlbiBlbCDDoXJlYSBkZSBzdGFnZSBkZSBzdSDDoXJib2wgZGUgdHJhYmFqby5cbiIKKyJUaWVuZXMgY2FtYmlvcyBlbiBlbCDDoXJlYSBkZSBzdGFnZSBkZSB0dSDDoXJib2wgZGUgdHJhYmFqby5cbiIKICJTaSBlc3RvcyBjYW1iaW9zIGVzdMOhbiBkZXN0aW5hZG9zIGEgXG4iCi0ic2VyIGFwbGFzdGFkb3MgZW4gZWwgY29tbWl0IHByZXZpbywgZWplY3V0ZTpcbiIKKyJzZXIgYXBsYXN0YWRvcyBlbiBlbCBjb21taXQgcHJldmlvLCBlamVjdXRhOlxuIgogIlxuIgogIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCiAiXG4iCi0iU2kgZXN0b3MgZXN0w6FuIGRlc3RpbmFkb3MgYSBpciBlbiB1biBudWV2byBjb21taXQsIGVqZWN1dGU6XG4iCisiU2kgZXN0b3MgZXN0w6FuIGRlc3RpbmFkb3MgYSBpciBlbiB1biBudWV2byBjb21taXQsIGVqZWN1dGE6XG4iCiAiXG4iCiAiICBnaXQgY29tbWl0ICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCiAiXG4iCi0iRW4gYW1ib3MgY2Fzb3MsIGN1YW5kbyB0ZXJtaW5lLCBjb250aW51ZSBjb246XG4iCisiRW4gYW1ib3MgY2Fzb3MsIGN1YW5kbyB0ZXJtaW5lcywgY29udGludWUgY29uOlxuIgogIlxuIgogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3NzkKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MzQKIG1zZ2lkICJFcnJvciB0cnlpbmcgdG8gZmluZCB0aGUgYXV0aG9yIGlkZW50aXR5IHRvIGFtZW5kIGNvbW1pdCIKIG1zZ3N0ciAiIgogIkVycm9yIHRyYXRhbmRvIGRlIGVuY29udHJhciBsYSBpZGVudGlkYWQgZGVsIGF1dG9yIHBhcmEgcmVtZWRpYXIgZWwgY29tbWl0IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Nzg0CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODM5CiBtc2dpZCAiIgogIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSBjb21taXQgdGhlbVxuIgogImZpcnN0IGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBhZ2Fpbi4iCkBAIC0yMDE5Miw0MCArMjM0MTIsNDAgQEAKICJUaWVuZXMgY2FtYmlvcyBzaW4gY29uZmlybWFyIGVuIHR1IMOhcmJvbCBkZSB0cmFiYWpvLiBQb3IgZmF2b3IsIGNvbmbDrXJtYWxvc1xuIgogInByaW1lcm8geSBlbnRvbmNlcyBlamVjdXRhICdnaXQgcmViYXNlIC0tY29udGludWUnIGRlIG51ZXZvLiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc4OSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzkzCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODQ0IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NDgKIG1zZ2lkICJDb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiTm8gc2UgcHVkbyByZWFsaXphciBlbCBjb21taXQgY29uIGxvcyBjYW1iaW9zIGVuIGVsIMOhcmVhIGRlIHN0YWdlLiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgyNCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTEwCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODc5IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NjUKIG1zZ2lkICJDb3VsZCBub3QgZXhlY3V0ZSBlZGl0b3IiCiBtc2dzdHIgIk5vIHNlIHB1ZG8gZWplY3V0YXIgZWwgZWRpdG9yIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODQ1CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTAwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY2hlY2tvdXQgJHN3aXRjaF90byIKIG1zZ3N0ciAiTm8gc2UgcHVkbyBhY3R1YWxpemFyIGVsIMOhcmJvbCBkZSB0cmFiYWpvIGEgJHN3aXRjaF90byIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg1MgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkwNwogbXNnaWQgIk5vIEhFQUQ/IgogbXNnc3RyICLCv1NpbiBIRUFEPyIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg1MworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkwOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJHN0YXRlX2RpciIKIG1zZ3N0ciAiTm8gc2UgcHVkbyBjcmVhciAkc3RhdGVfZGlyIHRlbXBvcmFsbWVudGUiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NTYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MTEKIG1zZ2lkICJDb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKIG1zZ3N0ciAiTm8gc2UgcHVkbyBtYXJjYXIgY29tbyBpbnRlcmFjdGl2byIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg4OAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk0MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZCkiCiBtc2dpZF9wbHVyYWwgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmRzKSIKIG1zZ3N0clswXSAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBlbiAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbWFuZG8pIgogbXNnc3RyWzFdICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIGVuICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tYW5kb3MpIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTQyIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NDcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5OTcgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjEwMDIKIG1zZ2lkICJDb3VsZCBub3QgaW5pdCByZXdyaXR0ZW4gY29tbWl0cyIKIG1zZ3N0ciAiTm8gc2UgcHVlZGUgaW5pY2lhbGl6YXIgbG9zIGNvbW1pdHMgcmVlc2NyaXRvcyIKIApAQCAtMjAyMzQsMTQ2ICsyMzQ1NCw4NCBAQAogbXNnaWQgInVzYWdlOiAkZGFzaGxlc3MgJFVTQUdFIgogbXNnc3RyICJ1c286ICRkYXNobGVzcyAkVVNBR0UiCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoxOTAKKyM6IGdpdC1zaC1zZXR1cC5zaDoxOTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBjaGRpciB0byAkY2R1cCwgdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIiIKICJObyBzZSBwdWVkZSBhcGxpY2FyIGNoZGlyIGEgJGNkdXAsIGVsIG5pdmVsIG3DoXhpbW8gZGVsIMOhcmJvbCBkZSB0cmFiYWpvIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MTk5IGdpdC1zaC1zZXR1cC5zaDoyMDYKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMDAgZ2l0LXNoLXNldHVwLnNoOjIwNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiZmF0YWw6ICRwcm9ncmFtX25hbWUgY2Fubm90IGJlIHVzZWQgd2l0aG91dCBhIHdvcmtpbmcgdHJlZS4iCiBtc2dzdHIgImZhdGFsOiAkcHJvZ3JhbV9uYW1lIG5vIHB1ZWRlIHNlciB1c2FkbyBzaW4gdW4gw6FyYm9sIGRlIHRyYWJham8uIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjIwCisjOiBnaXQtc2gtc2V0dXAuc2g6MjIxCiBtc2dpZCAiQ2Fubm90IHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKICJObyBzZSBwdWVkZSBhcGxpY2FyIHJlYmFzZTogVGllbmVzIGNhbWJpb3MgcXVlIG5vIGVzdMOhbiBlbiBlbCDDoXJlYSBkZSBzdGFnZS4iCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoyMjMKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjQKIG1zZ2lkICJDYW5ub3QgcmV3cml0ZSBicmFuY2hlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKICJObyBzZSBwdWVkZSByZWVzY3JpYmlyIGxhcyByYW1hczogVGllbmVzIGNhbWJpb3MgcXVlIG5vIGVzdMOhbiBlbiBlbCDDoXJlYSBkZSAiCiAic3RhZ2UuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjI2CisjOiBnaXQtc2gtc2V0dXAuc2g6MjI3CiBtc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICIiCiAiTm8gc2UgcHVlZGUgYXBsaWNhciBwdWxsIGNvbiByZWJhc2U6IFRpZW5lcyBjYW1iaW9zIHF1ZSBubyBlc3TDoW4gZW4gZWwgw6FyZWEgIgogImRlIHN0YWdlLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjIyOQorIzogZ2l0LXNoLXNldHVwLnNoOjIzMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90ICRhY3Rpb246IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJObyBzZSBwdWVkZSAkYWN0aW9uOiBUaWVuZXMgY2FtYmlvcyBxdWUgbm8gZXN0w6FuIGVuIGVsIMOhcmVhIGRlIHN0YWdlLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjI0MgorIzogZ2l0LXNoLXNldHVwLnNoOjI0MwogbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKICJObyBzZSBwdWVkZSBoYWNlciByZWJhc2U6IFR1IMOtbmRpY2UgY29udGllbmUgY2FtYmlvcyBxdWUgbm8gZXN0w6FuIGVuIHVuICIKICJjb21taXQuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjQ1CisjOiBnaXQtc2gtc2V0dXAuc2g6MjQ2CiBtc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKICJObyBzZSBwdWVkZSBoYWNlciBwdWxsIGNvbiByZWJhc2U6IFR1IMOtbmRpY2UgY29udGllbmUgY2FtYmlvcyBxdWUgbm8gZXN0w6FuICIKICJlbiB1biBjb21taXQuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjQ4CisjOiBnaXQtc2gtc2V0dXAuc2g6MjQ5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgJGFjdGlvbjogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiTm8gc2UgcHVlZGUgJGFjdGlvbjogRWwgw61uZGljZSBjb250aWVuZSBjYW1iaW9zIHNpbiBjb25maXJtYXIuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjUyCisjOiBnaXQtc2gtc2V0dXAuc2g6MjUzCiBtc2dpZCAiQWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICJBZGljaW9uYWxtZW50ZSwgdHUgw61uZGljZSBjb250aWVuZSBjYW1iaW9zIHF1ZSBubyBlc3TDoW4gZW4gdW4gY29tbWl0LiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjM3MgorIzogZ2l0LXNoLXNldHVwLnNoOjM3MwogbXNnaWQgIllvdSBuZWVkIHRvIHJ1biB0aGlzIGNvbW1hbmQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZS4iCiBtc2dzdHIgIiIKICJOZWNlc2l0YXMgZWplY3V0YXIgZXN0ZSBjb21hbmRvIGRlc2RlIGVsIG5pdmVsIHN1cGVyaW9yIGRlIHR1IMOhcmJvbCBkZSAiCiAidHJhYmFqby4iCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDozNzcKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzgKIG1zZ2lkICJVbmFibGUgdG8gZGV0ZXJtaW5lIGFic29sdXRlIHBhdGggb2YgZ2l0IGRpcmVjdG9yeSIKIG1zZ3N0ciAiSW5jYXBheiBkZSBkZXRlcm1pbmFyIGxhIHJ1dGEgYWJzb2x1dGEgZGVsIGRpcmVjdG9yaW8gZ2l0IgogCiAjLiBUUkFOU0xBVE9SUzogeW91IGNhbiBhZGp1c3QgdGhpcyB0byBhbGlnbiAiZ2l0IGFkZCAtaSIgc3RhdHVzIG1lbnUKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIlMTJzICUxMnMgJXMiCiBtc2dzdHIgIiUxMnMgJTEycyAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKLW1zZ2lkICJzdGFnZWQiCi1tc2dzdHIgInJhc3RyZWFkbyIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKLW1zZ2lkICJ1bnN0YWdlZCIKLW1zZ3N0ciAibm8gcmFzdHJlYWRvIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI1MyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI3OAotbXNnaWQgImJpbmFyeSIKLW1zZ3N0ciAiYmluYXJpbyIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNjIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMTYKLW1zZ2lkICJub3RoaW5nIgotbXNnc3RyICJuYWRhIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI5OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMxMwotbXNnaWQgInVuY2hhbmdlZCIKLW1zZ3N0ciAic2luIGNhbWJpb3MiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjA5Ci0jLCBwZXJsLWZvcm1hdAotbXNnaWQgImFkZGVkICVkIHBhdGhcbiIKLW1zZ2lkX3BsdXJhbCAiYWRkZWQgJWQgcGF0aHNcbiIKLW1zZ3N0clswXSAiYWdyZWdhZGEgJWQgcnV0YVxuIgotbXNnc3RyWzFdICJhZ3JlZ2FkYXMgJWQgcnV0YXNcbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MTIKLSMsIHBlcmwtZm9ybWF0Ci1tc2dpZCAidXBkYXRlZCAlZCBwYXRoXG4iCi1tc2dpZF9wbHVyYWwgInVwZGF0ZWQgJWQgcGF0aHNcbiIKLW1zZ3N0clswXSAiYWN0dWFsaXphZGEgJWQgcnV0YVxuIgotbXNnc3RyWzFdICJhY3R1YWxpemFkYXMgJWQgcnV0YXNcbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MTUKLSMsIHBlcmwtZm9ybWF0Ci1tc2dpZCAicmV2ZXJ0ZWQgJWQgcGF0aFxuIgotbXNnaWRfcGx1cmFsICJyZXZlcnRlZCAlZCBwYXRoc1xuIgotbXNnc3RyWzBdICJyZXZlcnRpZGEgJWQgcnV0YVxuIgotbXNnc3RyWzFdICJyZXZlcnRpZGFzICVkIHJ1dGFzXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjE4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYzNAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ0b3VjaGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAidG91Y2hlZCAlZCBwYXRoc1xuIgogbXNnc3RyWzBdICJ0b3VjaCBoZWNobyBhICVkIHJ1dGFcbiIKIG1zZ3N0clsxXSAidG91Y2ggaGVjaG8gYSAlZCBydXRhc1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYyNwotbXNnaWQgIlVwZGF0ZSIKLW1zZ3N0ciAiQWN0dWFsaXphciIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzkKLW1zZ2lkICJSZXZlcnQiCi1tc2dzdHIgIlJldmVydGlyIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY2MgotIywgcGVybC1mb3JtYXQKLW1zZ2lkICJub3RlOiAlcyBpcyB1bnRyYWNrZWQgbm93LlxuIgotbXNnc3RyICJub3RhOiAlcyBubyBlcyByYXN0cmVhZG8gYWhvcmEuXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjczCi1tc2dpZCAiQWRkIHVudHJhY2tlZCIKLW1zZ3N0ciAiQWdyZWdhciBubyByYXN0cmVhZG9zIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY3OQotbXNnaWQgIk5vIHVudHJhY2tlZCBmaWxlcy5cbiIKLW1zZ3N0ciAiTm8gaGF5IGFyY2hpdm9zIHNpbiByYXN0cmVhci5cbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDMzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTMKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHN0YWdpbmcuIgpAQCAtMjAzODEsNyArMjM1MzksNyBAQAogIlNpIGVsIHBhcmNoZSBhcGxpY2EgbGltcGlhbWVudGUsIGVsIGh1bmsgZWRpdGFkbyBzZXJhIG1hcmNhZG9cbiIKICJpbm1lZGlhdGFtZW50ZSBwYXJhIGVsIMOhcmVhIGRlIHN0YWdlLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDM2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTYKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHN0YXNoaW5nLiIKQEAgLTIwMzg5LDcgKzIzNTQ3LDcgQEAKICJTaSBlbCBwYXJjaGUgYXBsaWNhIGxpbXBpYW1lbnRlLCBlbCBodW5rIGVkaXRhZG8gc2VyYSBtYXJjYWRvXG4iCiAiaW5tZWRpYXRhbWVudGUgcGFyYSBhcGxpY2FyIHN0YXNoLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDM5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTkKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHVuc3RhZ2luZy4iCkBAIC0yMDM5Nyw3ICsyMzU1NSw4IEBACiAiU2kgZWwgcGFyY2hlIGFwbGljYSBsaW1waWFtZW50ZSwgZWwgaHVuayBlZGl0YWRvIHNlcmEgbWFyY2Fkb1xuIgogImlubWVkaWF0YW1lbnRlIHBhcmEgc2FjYXIgZGVsIMOhcmVhIGRlIHN0YWdlLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDYyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA3MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDc3CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBhcHBseWluZy4iCkBAIC0yMDQwNSw3ICsyMzU2NCw4IEBACiAiU2kgZWwgcGFyY2hlIGFwbGljYSBkZSBmb3JtYSBsaW1waWEsIGVsIGh1bmsgZWRpdGFkbyBzZXJhIG1hcmNhZG8gXG4iCiAiaW5tZWRpYXRhbWVudGUgcGFyYSBhcGxpY2FyLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQ1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA2OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDc0CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBkaXNjYXJkaW5nLiIKQEAgLTIwNDEzLDE2ICsyMzU3MywxMiBAQAogIlNpIGVsIHBhcmNoZSBhcGxpY2EgZGUgZm9ybWEgbGltcGlhLCBlbCBodW5rIGVkaXRhZG8gc2VyYSBtYXJjYWRvXG4iCiAiaW5tZWRpYXRhbWVudGUgcGFyYSBkZXNjYXJ0ZS4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA4NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTExCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuIGh1bmsgZWRpdCBmaWxlIGZvciB3cml0aW5nOiAlcyIKIG1zZ3N0ciAiZmFsbMOzIGFsIGFicmlyIGVsIGFyY2hpdm8gZGUgYWRpY2nDs24gZGVsIGh1bmsgcGFyYSBlc2NyaXR1cmE6ICVzIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwODYKLW1zZ2lkICJNYW51YWwgaHVuayBlZGl0IG1vZGUgLS0gc2VlIGJvdHRvbSBmb3IgYSBxdWljayBndWlkZS5cbiIKLW1zZ3N0ciAiTW9kbyBkZSBlZGljacOzbiBtYW51YWwgZGUgaHVuayAtLSB2ZWEgYWJham8gcGFyYSB1bmEgZ3XDrWEgcsOhcGlkYS5cbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDkyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIi0tLVxuIgpAQCAtMjA0MzMsMzcgKzIzNTg5LDE0IEBACiAiLS0tXG4iCiAiUGFyYSBlbGltaW5hciAnJXMnIGzDrW5lYXMsIGhhZ2EgZGUgZWxsYXMgbMOtbmVhcyAgJyAnICAoY29udGV4dG8pLlxuIgogIlBhcmEgZWxpbWluYXIgJyVzJyBsw61uZWFzLCBiw7NycmVsYXMuXG4iCi0iTGluZWFzIGNvbWVuemFuZG8gY29uICAlcyBzZXLDoW4gcmVtb3ZpZGFzLlxuIgorIkxpbmVhcyBjb21lbnphbmRvIGNvbiAgJXMgc2Vyw6FuIGVsaW1pbmFkYXMuXG4iCiAKLSMuIFRSQU5TTEFUT1JTOiAnaXQnIHJlZmVycyB0byB0aGUgcGF0Y2ggbWVudGlvbmVkIGluIHRoZSBwcmV2aW91cyBtZXNzYWdlcy4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTEwMAotbXNnaWQgIiIKLSJJZiBpdCBkb2VzIG5vdCBhcHBseSBjbGVhbmx5LCB5b3Ugd2lsbCBiZSBnaXZlbiBhbiBvcHBvcnR1bml0eSB0b1xuIgotImVkaXQgYWdhaW4uICBJZiBhbGwgbGluZXMgb2YgdGhlIGh1bmsgYXJlIHJlbW92ZWQsIHRoZW4gdGhlIGVkaXQgaXNcbiIKLSJhYm9ydGVkIGFuZCB0aGUgaHVuayBpcyBsZWZ0IHVuY2hhbmdlZC5cbiIKLW1zZ3N0ciAiIgotIlNpIGVzdG8gbm8gYXBsaWNhIGRlIG1hbmVyYSBsaW1waWEsIHNlIGxlIGRhIGxhIG9wb3J0dW5pZGFkIGRlIFxuIgotImVkaXRhciBudWV2YW1lbnRlLiBTaSB0b2RhcyBsYXMgbMOtbmVhcyBkZWwgaHVuayBzb24gcmVtb3ZpZGFzLCBlbnRvbmNlcyBcbiIKLSJsYSBlZGljacOzbiBlcyBhYm9ydGFkYSB5IGVsIGh1bmsgcXVlZGEgc2luIGNhbWJpb3MuXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTExNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTQwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuIGh1bmsgZWRpdCBmaWxlIGZvciByZWFkaW5nOiAlcyIKIG1zZ3N0ciAiZmFsbMOzIGFsIGFicmlyIGVsIGFyY2hpdm8gZGUgZWRpY2nDs24gZGVsIGh1bmsgcGFyYSBsZWN0dXJhOiAlcyIKIAotIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgW3kvbl0KLSMuIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgdGhhdCBpbnB1dAotIy4gYXQgdGhpcyBwb2ludC4KLSMuIENvbnNpZGVyIHRyYW5zbGF0aW5nIChzYXlpbmcgIm5vIiBkaXNjYXJkcyEpIGFzCi0jLiAoc2F5aW5nICJuIiBmb3IgIm5vIiBkaXNjYXJkcyEpIGlmIHRoZSB0cmFuc2xhdGlvbgotIy4gb2YgdGhlIHdvcmQgIm5vIiBkb2VzIG5vdCBzdGFydCB3aXRoIG4uCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMTMKLW1zZ2lkICIiCi0iWW91ciBlZGl0ZWQgaHVuayBkb2VzIG5vdCBhcHBseS4gRWRpdCBhZ2FpbiAoc2F5aW5nIFwibm9cIiBkaXNjYXJkcyEpIFt5L25dPyAiCi1tc2dzdHIgIiIKLSJUdSBodW5rIGVkaXRhZG8gbm8gYXBsaWNhLiBFZGl0YXIgbnVldmFtZW50ZSAoZGVjaXIgXCJub1wiIGRlc2NhcnRhISkgW3kvbl0/ICIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjIyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDgKIG1zZ2lkICIiCiAieSAtIHN0YWdlIHRoaXMgaHVua1xuIgogIm4gLSBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rXG4iCkBAIC0yMDQ3OCw3ICsyMzYxMSw3IEBACiAiZCAtIG5vIGFwbGljYXIgc3RhZ2UgYSBlc3RlIGh1bmsgbyBhIG5pbmd1bm8gZGUgbG9zIHBvc3RlcmlvcmVzIGVuIGVzdGUgIgogImFyY2hpdm8iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyOAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjU0CiBtc2dpZCAiIgogInkgLSBzdGFzaCB0aGlzIGh1bmtcbiIKICJuIC0gZG8gbm90IHN0YXNoIHRoaXMgaHVua1xuIgpAQCAtMjA0OTIsNyArMjM2MjUsNyBAQAogImEgLSBhcGxpY2FyIHN0YXNoIGEgZXN0ZSBodW5rIHkgYSB0b2RvcyBsb3MgcG9zdGVyaW9yZXMgZW4gZWwgYXJjaGl2b1xuIgogImQgLSBubyBhcGxpY2FyIHN0YXNoIGEgZXN0ZSBodW5rIG8gbmluZ3VubyBkZSBsb3MgcG9zdGVyaW9yZXMgZW4gZWwgYXJjaGl2byIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjM0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNjAKIG1zZ2lkICIiCiAieSAtIHVuc3RhZ2UgdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCB1bnN0YWdlIHRoaXMgaHVua1xuIgpAQCAtMjA1MDcsNyArMjM2NDAsNyBAQAogImQgLSBubyBzYWNhciBkZWwgYXJlYSBkZSBzdGFnZSBlc3RlIGh1bmsgbyBuaW5ndW5vIGRlIGxvcyBwb3N0ZXJpb3JlcyBlbiBlbCAiCiAiYXJjaGl2byIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNjYKIG1zZ2lkICIiCiAieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgogIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4XG4iCkBAIC0yMDUyMSw3ICsyMzY1NCw3IEBACiAiYSAtIGFwbGljYXIgZXN0ZSBodW5rIHkgdG9kb3MgbG9zIHBvc3RlcmlvcmVzIGVuIGVsIGFyY2hpdm9cbiIKICJkIC0gbm8gYXBsaWNhciBlc3RlIGh1bmtvIG5pbmd1bm8gZGUgbG9zIHBvc3RlcmlvcmVzIGVuIGVsIGFyY2hpdm8iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI0NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjcyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI5MAogbXNnaWQgIiIKICJ5IC0gZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZVxuIgpAQCAtMjA1MzUsNyArMjM2NjgsNyBAQAogImEgLSBkZXNjYXJ0YXIgZXN0ZSBodW5rIHkgdG9kb3MgbG9zIHBvc3RlcmlvcmVzIGVuIGVzdGUgYXJjaGl2b1xuIgogImQgLSBubyBkZXNjYXJ0YXIgZXN0ZSBodW5rIG8gbmluZ3VubyBkZSBsb3MgcG9zdGVyaW9yZXMgZW4gZWwgYXJjaGl2byIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjUyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzgKIG1zZ2lkICIiCiAieSAtIGRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgpAQCAtMjA1NDksNyArMjM2ODIsNyBAQAogImEgLSBkZXNjYXJ0YXIgZXN0ZSBodW5rIHkgdG9kb3MgbG9zIHBvc3RlcmlvcmVzIGVuIGVzdGUgYXJjaGl2b1xuIgogImQgLSBubyBkZXNjYXJ0YXIgZXN0ZSBodW5rIG8gbmluZ3VubyBwb3N0ZXJpb3IgZW4gZWwgYXJjaGl2byIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjU4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyODQKIG1zZ2lkICIiCiAieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKICJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKQEAgLTIwNTYzLDcgKzIzNjk2LDIxIEBACiAiYSAtIGFwbGljYXIgZXN0ZSBodW5rIHkgdG9kb3MgbG9zIHBvc3RlcmlvcmVzIGVuIGVsIGFyY2hpdm9cbiIKICJkIC0gbm8gYXBsaWNhciBlc3RlIGh1bmsgbyBuaW5ndW5vIGRlIGxvcyBzaWd1aWVudGVzIGVuIGVzdGUgYXJjaGl2byIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjczCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyOTYKK21zZ2lkICIiCisieSAtIGFwcGx5IHRoaXMgaHVuayB0byB3b3JrdHJlZVxuIgorIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIHdvcmt0cmVlXG4iCisicSAtIHF1aXQ7IGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSBhcHBseSB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorImQgLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCittc2dzdHIgIiIKKyJ5IC0gYXBsaWNhciBlc3RlIGh1bmsgYWwgw61uZGljZSB5IGFsIMOhcmJvbCBkZSB0cmFiYWpvXG4iCisibiAtIG5vIGFwbGljYXIgZXN0ZSBodW5rIGFsIMOtbmRpY2UgeSBhbCDDoXJib2wgZGUgdHJhYmFqb1xuIgorInEgLSBxdWl0OyAgbm8gYXBsaWNhciBlc3RlIGh1bmsgbyBuaW5ndW5vIGRlIGxvcyByZXN0YW50ZXNcbiIKKyJhIC0gYXBsaWNhciBlc3RlIGh1bmsgeSB0b2RvcyBsb3MgcG9zdGVyaW9yZXMgZW4gZWwgYXJjaGl2b1xuIgorImQgLSBubyBhcGxpY2FyIGVzdGUgaHVuayBvIG5pbmd1bm8gZGUgbG9zIHNpZ3VpZW50ZXMgZW4gZXN0ZSBhcmNoaXZvIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTEKIG1zZ2lkICIiCiAiZyAtIHNlbGVjdCBhIGh1bmsgdG8gZ28gdG9cbiIKICIvIC0gc2VhcmNoIGZvciBhIGh1bmsgbWF0Y2hpbmcgdGhlIGdpdmVuIHJlZ2V4XG4iCkBAIC0yMDU4MSwyMTcgKzIzNzI4LDIwNiBAQAogIkogLSBkZWphciBlc3RlIGh1bmsgcG9yIGRlZmluaXIsIHZlciBzaWd1aWVudGUgaHVua1xuIgogImsgLSBkZWphciBlc3RlIGh1bmsgcG9yIGRlZmluaXIsIHZlciBodW5rIHByZXZpbyBwb3IgZGVmaW5pclxuIgogIksgLSBkZWphciBlc3RlIGh1bmsgcG9yIGRlZmluaXIsIHZlciBodW5rIHByZXZpb1xuIgotInMgLSBkaXZpZGlyIGVsICBodW5rIGFjdHVhbCBlbiBodW5rcyBtYXMgcGVxdWXDsW9zXG4iCisicyAtIGRpdmlkaXIgZWwgIGh1bmsgYWN0dWFsIGVuIGh1bmtzIG3DoXMgcGVxdWXDsW9zXG4iCiAiZSAtIGVkaXRhciBtYW51YWxtZW50ZSBlbCBodW5rIGFjdHVhbFxuIgogIj8gLSBpbXByaW1pciBheXVkYVxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMDQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM0MgogbXNnaWQgIlRoZSBzZWxlY3RlZCBodW5rcyBkbyBub3QgYXBwbHkgdG8gdGhlIGluZGV4IVxuIgotbXNnc3RyICJMb3MgaHVua3Mgc2VsZWNjaW9uYWRvcyBubyBhcGxpY2FuIGFsIMOtbmRpY2UhXG4iCittc2dzdHIgIsKhTG9zIGh1bmtzIHNlbGVjY2lvbmFkb3Mgbm8gYXBsaWNhbiBhbCDDrW5kaWNlIVxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMDUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM0MwogbXNnaWQgIkFwcGx5IHRoZW0gdG8gdGhlIHdvcmt0cmVlIGFueXdheT8gIgotbXNnc3RyICJBcGxpY2FybG9zIGFsIMOhcmJvbCBkZSB0cmFiYWpvIGRlIHRvZGFzIG1hbmVyYXM/ICIKK21zZ3N0ciAiwr9BcGxpY2FybG9zIGFsIMOhcmJvbCBkZSB0cmFiYWpvIGRlIHRvZGFzIG1hbmVyYXM/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNDYKIG1zZ2lkICJOb3RoaW5nIHdhcyBhcHBsaWVkLlxuIgogbXNnc3RyICJOYWRhIGZ1ZSBhcGxpY2Fkby5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzE5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNTcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdW5tZXJnZWQ6ICVzXG4iCiBtc2dzdHIgImlnbm9yYW5kbyBsbyBubyBmdXNpb25hZG86ICVzXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyOAotbXNnaWQgIk9ubHkgYmluYXJ5IGZpbGVzIGNoYW5nZWQuXG4iCi1tc2dzdHIgIlNvbG8gY2FtYmlhcm9uIGFyY2hpdm9zIGJpbmFyaW9zLlxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzAKLW1zZ2lkICJObyBjaGFuZ2VzLlxuIgotbXNnc3RyICJTaW4gY2FtYmlvcy5cbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzM4Ci1tc2dpZCAiUGF0Y2ggdXBkYXRlIgotbXNnc3RyICJBY3R1YWxpemFjacOzbiBkZWwgcGFyY2hlIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkJXMsP10/ICIKLW1zZ3N0ciAiQ2FtYmlvIGRlIG1vZG8gZGUgc3RhZ2UgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIsK/Q2FtYmlvIGRlIG1vZG8gZGUgc3RhZ2UgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDI5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQlcyw/XT8gIgotbXNnc3RyICJBcGxpY2FyIHN0YWdlIGFsIGJvcnJhZG8gW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIsK/QXBsaWNhciBzdGFnZSBhbCBib3JyYWRvIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSB0aGlzIGh1bmsgW3ksbixxLGEsZCVzLD9dPyAiCi1tc2dzdHIgIkFwbGljYXIgc3RhZ2UgYSBlc3RlIGh1bmsgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIsK/QXBsaWNhciBzdGFnZSBhIGVzdGUgaHVuayBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzk1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3Rhc2ggbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCVzLD9dPyAiCi1tc2dzdHIgIkFwbGljYXIgc3Rhc2ggYWwgY2FtYmlvIGRlIG1vZG8gW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIsK/QXBsaWNhciBzdGFzaCBhbCBjYW1iaW8gZGUgbW9kbyBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzk2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3Rhc2ggZGVsZXRpb24gW3ksbixxLGEsZCVzLD9dPyAiCi1tc2dzdHIgIkFwbGljYXIgc3Rhc2ggYWwgYm9ycmFkbyBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiwr9BcGxpY2FyIHN0YXNoIGFsIGJvcnJhZG8gW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDM1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIHRoaXMgaHVuayBbeSxuLHEsYSxkJXMsP10/ICIKLW1zZ3N0ciAiQXBsaWNhciBzdGFzaCBhIGVzdGUgaHVuayBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiwr9BcGxpY2FyIHN0YXNoIGEgZXN0ZSBodW5rIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MDAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQlcyw/XT8gIgotbXNnc3RyICJTYWNhciBjYW1iaW8gZGUgbW9kbyBkZWwgc3RhZ2UgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIsK/U2FjYXIgY2FtYmlvIGRlIG1vZG8gZGVsIHN0YWdlIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MDEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzOQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQlcyw/XT8gIgotbXNnc3RyICJTYWNhciBib3JyYWRvIGRlbCBzdGFnZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiwr9TYWNhciBib3JyYWRvIGRlbCBzdGFnZSBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDAyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5zdGFnZSB0aGlzIGh1bmsgW3ksbixxLGEsZCVzLD9dPyAiCi1tc2dzdHIgIlNhY2FyIGVzdGUgaHVuayBkZWwgc3RhZ2UgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIsK/U2FjYXIgZXN0ZSBodW5rIGRlbCBzdGFnZSBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDA1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gaW5kZXggW3ksbixxLGEsZCVzLD9dPyAiCi1tc2dzdHIgIkFwbGljYXIgY2FtYmlvIGRlIG1vZG8gYWwgw61uZGljZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiwr9BcGxpY2FyIGNhbWJpbyBkZSBtb2RvIGFsIMOtbmRpY2UgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQ0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IFt5LG4scSxhLGQlcyw/XT8gIgotbXNnc3RyICJBcGxpY2FyIGJvcnJhZG8gYWwgw61uZGljZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiwr9BcGxpY2FyIGJvcnJhZG8gYWwgw61uZGljZSBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDA3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IFt5LG4scSxhLGQlcyw/XT8gIgotbXNnc3RyICJBcGxpY2FyIGVzdGUgaHVuayBhbCDDrW5kaWNlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICLCv0FwbGljYXIgZXN0ZSBodW5rIGFsIMOtbmRpY2UgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxMAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQ4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCi1tc2dzdHIgIkRlc2NhcnRhciBjYW1iaW8gZGUgbW9kbyBkZWwgw6FyYm9sIGRlIHRyYWJham8gW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIsK/RGVzY2FydGFyIGNhbWJpbyBkZSBtb2RvIGRlbCDDoXJib2wgZGUgdHJhYmFqbyBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDExCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKLW1zZ3N0ciAiRGVzY2FydGFyIGJvcnJhZG8gZGVsIMOhcmJvbCBkZSB0cmFiYWpvIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICLCv0Rlc2NhcnRhciBib3JyYWRvIGRlbCDDoXJib2wgZGUgdHJhYmFqbyBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDEyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCi1tc2dzdHIgIkRlc2NhcnRhciBlc3RlIGh1bmsgZGVsIMOhcmJvbCBkZSB0cmFiYWpvIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICLCv0Rlc2NhcnRhciBlc3RlIGh1bmsgZGVsIMOhcmJvbCBkZSB0cmFiYWpvIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MTUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICIiCi0iRGVzY2FydGFyIGNhbWJpbyBkZSBtb2RvIGRlbCDDrW5kaWNlIHkgZWwgw6FyYm9sIGRlIHRyYWJham8gW3ksbixxLGEsZCVzLD9dPyAiCisiwr9EZXNjYXJ0YXIgY2FtYmlvIGRlIG1vZG8gZGVsIMOtbmRpY2UgeSBlbCDDoXJib2wgZGUgdHJhYmFqbyBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDE2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBkZWxldGlvbiBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKLW1zZ3N0ciAiRGVzY2FydGFyIGJvcnJhZG8gZGVsIMOtbmRpY2UgeSBlbCDDoXJib2wgZGUgdHJhYmFqbyBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiwr9EZXNjYXJ0YXIgYm9ycmFkbyBkZWwgw61uZGljZSB5IGVsIMOhcmJvbCBkZSB0cmFiYWpvIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MTcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKLW1zZ3N0ciAiRGVzY2FydGFyIGVzdGUgaHVuayBkZWwgw61uZGljZSB5IGVsIMOhcmJvbCBkZSB0cmFiYWpvIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICIiCisiwr9EZXNjYXJ0YXIgZXN0ZSBodW5rIGRlbCDDrW5kaWNlIHkgZWwgw6FyYm9sIGRlIHRyYWJham8gW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyMAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiIgotIkFwbGljYXIgY2FtYmlvIGRlIG1vZG8gcGFyYSBlbCDDrW5kaWNlIHkgZWwgw6FyYm9sIGRlIHRyYWJham8gW3ksbixxLGEsZCVzLD9dPyAiCisiwr9BcGxpY2FyIGNhbWJpbyBkZSBtb2RvIHBhcmEgZWwgw61uZGljZSB5IGVsIMOhcmJvbCBkZSB0cmFiYWpvIFt5LG4scSxhLGQiCisiJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDIxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgZGVsZXRpb24gdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgotbXNnc3RyICJBcGxpY2FyIGJvcnJhZG8gYWwgw61uZGljZSB5IGFsIMOhcmJvbCBkZSB0cmFiYWpvIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICLCv0FwbGljYXIgYm9ycmFkbyBhbCDDrW5kaWNlIHkgYWwgw6FyYm9sIGRlIHRyYWJham8gW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDYwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCi1tc2dzdHIgIkFwbGljYXIgZXN0ZSBodW5rIGFsIMOtbmRpY2UgeSDDoXJib2wgZGUgdHJhYmFqbyBbeSxuLHEsYSxkLC8lcyw/XT8gIgorbXNnc3RyICLCv0FwbGljYXIgZXN0ZSBodW5rIGFsIMOtbmRpY2UgeSDDoXJib2wgZGUgdHJhYmFqbyBbeSxuLHEsYSxkLC8lcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MjIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2OAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiwr9BcGxpY2FyIGNhbWJpbyBkZSBtb2RvIHBhcmEgZWwgw6FyYm9sIGRlIHRyYWJham8gW3ksbixxLGEsZCVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2OQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSBkZWxldGlvbiB0byB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiwr9BcGxpY2FyIGJvcnJhZG8gYWwgw6FyYm9sIGRlIHRyYWJham8gW3ksbixxLGEsZCVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ3MAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIsK/QXBsaWNhciBlc3RlIGh1bmsgYWwgw6FyYm9sIGRlIHRyYWJham8gW3ksbixxLGEsZCwvJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTcwCiBtc2dpZCAiTm8gb3RoZXIgaHVua3MgdG8gZ290b1xuIgogbXNnc3RyICJObyBoYXkgbcOhcyBwZWRhem9zIHBhcmEgZWwgaXJcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTI5Ci1tc2dpZCAiZ28gdG8gd2hpY2ggaHVuayAoPHJldD4gdG8gc2VlIG1vcmUpPyAiCi1tc2dzdHIgImEgcXVlIGh1bmsgaXIgKDxlbnRlcj4gcGFyYSB2ZXIgbWFzKT8gIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MzEKLW1zZ2lkICJnbyB0byB3aGljaCBodW5rPyAiCi1tc2dzdHIgImEgcXVlIGh1bmsgaXI/ICIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTQwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1ODgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBudW1iZXI6ICclcydcbiIKIG1zZ3N0ciAiTnVtZXJvIGludsOhbGlkbzogJyVzJ1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NDUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU5MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTb3JyeSwgb25seSAlZCBodW5rIGF2YWlsYWJsZS5cbiIKIG1zZ2lkX3BsdXJhbCAiU29ycnksIG9ubHkgJWQgaHVua3MgYXZhaWxhYmxlLlxuIgogbXNnc3RyWzBdICJMbyBzaWVudG8sIHNvbG8gJWQgaHVuayBkaXNwb25pYmxlLlxuIgogbXNnc3RyWzFdICJMbyBzaWVudG8sIHNvbG8gJWQgaHVua3MgZGlzcG9uaWJsZXMuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjE5CiBtc2dpZCAiTm8gb3RoZXIgaHVua3MgdG8gc2VhcmNoXG4iCiBtc2dzdHIgIk5vIGhheSBtw6FzIHBlZGF6b3MgcGFyYSBidXNjYXJcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTc1Ci1tc2dpZCAic2VhcmNoIGZvciByZWdleD8gIgotbXNnc3RyICJidXNjYXIgcGFyYSByZWdleHA/ICIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTg4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MzYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzXG4iCiBtc2dzdHIgIlJlZ2V4cCBwYXJhIGxhIGLDunNxdWVkYSBtYWwgZm9ybWFkbyAlczogJXNcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTk4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NDYKIG1zZ2lkICJObyBodW5rIG1hdGNoZXMgdGhlIGdpdmVuIHBhdHRlcm5cbiIKIG1zZ3N0ciAiTm8gaGF5IGh1bmtzIHF1ZSBjb25jdWVyZGVuIGNvbiBlbCBwYXRyw7NuIGVudHJlZ2Fkby5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjEwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYzMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjU4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY4MAogbXNnaWQgIk5vIHByZXZpb3VzIGh1bmtcbiIKIG1zZ3N0ciAiTm8gZWwgYW50ZXJpb3IgaHVua1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjM4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjg2CiBtc2dpZCAiTm8gbmV4dCBodW5rXG4iCiBtc2dzdHIgIk5vIGVsIHNpZ3VpZW50ZSBodW5rXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY0NAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjkyCiBtc2dpZCAiU29ycnksIGNhbm5vdCBzcGxpdCB0aGlzIGh1bmtcbiIKIG1zZ3N0ciAiUGVyZMOzbiwgbm8gc2UgcHVlZGUgZGl2aWRpciBlc3RlIHBlZGF6b1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY5OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTcGxpdCBpbnRvICVkIGh1bmsuXG4iCiBtc2dpZF9wbHVyYWwgIlNwbGl0IGludG8gJWQgaHVua3MuXG4iCiBtc2dzdHJbMF0gIkNvcnRhciBlbiAlZCBodW5rLlxuIgogbXNnc3RyWzFdICJDb3J0YXIgZW4gICVkIGh1bmtzLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcwOAogbXNnaWQgIlNvcnJ5LCBjYW5ub3QgZWRpdCB0aGlzIGh1bmtcbiIKIG1zZ3N0ciAiUGVyZMOzbiwgbm8gc2UgcHVlZGUgZWRpdGFyIGVzdGUgcGVkYXpvXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcwNgotbXNnaWQgIlJldmlldyBkaWZmIgotbXNnc3RyICJSZXZpc2nDs24gZGUgIGRpZmYiCi0KICMuIFRSQU5TTEFUT1JTOiBwbGVhc2UgZG8gbm90IHRyYW5zbGF0ZSB0aGUgY29tbWFuZCBuYW1lcwogIy4gJ3N0YXR1cycsICd1cGRhdGUnLCAncmV2ZXJ0JywgZXRjLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzI1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NzMKIG1zZ2lkICIiCiAic3RhdHVzICAgICAgICAtIHNob3cgcGF0aHMgd2l0aCBjaGFuZ2VzXG4iCiAidXBkYXRlICAgICAgICAtIGFkZCB3b3JraW5nIHRyZWUgc3RhdGUgdG8gdGhlIHN0YWdlZCBzZXQgb2YgY2hhbmdlc1xuIgpAQCAtMjA4MTEsMTggKzIzOTQ3LDE5IEBACiAiYWRkIHVudHJhY2tlZCAtIGFncmVnYSBjb250ZW5pZG9zIGRlIGFyY2hpdm9zIG5vIHJhc3RyZWFkb3MgYWwgZ3J1cG8gZGUgIgogImNhbWJpb3MgZGVsIGFyZWEgZGUgc3RhZ2VcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzQyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc0NwotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzUwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc1NwotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzYxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzkwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc5NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzk4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgwNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODA4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgxNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODE5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyNQogbXNnaWQgIm1pc3NpbmcgLS0iCiBtc2dzdHIgImZhbHRhIC0tIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIC0tcGF0Y2ggbW9kZTogJXMiCiBtc2dzdHIgIm1vZG8gLS1wYXRjaCBkZXNjb25vY2lkbzogJXMiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NzUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyNyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MzMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCAlcywgZXhwZWN0aW5nIC0tIgogbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvICVzLCBzZSBlc3BlcmFiYSAtLSIKQEAgLTIwODM1LDMxICsyMzk3MiwzMSBAQAogbXNnaWQgImxvY2FsIHRpbWUgb2Zmc2V0IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAyNCBob3Vyc1xuIgogbXNnc3RyICJlbCBvZmZzZXQgZGVsIHRpZW1wbyBsb2NhbCBlcyBtYXlvciBvIGlndWFsIGEgMjQgaG9yYXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoyMTkgZ2l0LXNlbmQtZW1haWwucGVybDoyMjUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjIzIGdpdC1zZW5kLWVtYWlsLnBlcmw6MjI5CiBtc2dpZCAidGhlIGVkaXRvciBleGl0ZWQgdW5jbGVhbmx5LCBhYm9ydGluZyBldmVyeXRoaW5nIgogbXNnc3RyICJlbCBlZGl0b3Igc2UgY2Vycm8gaW5hcHJvcGlhZGFtZW50ZSwgYWJvcnRhbmRvIHRvZG8iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzAyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMxMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBjb250YWlucyBhbiBpbnRlcm1lZGlhdGUgdmVyc2lvbiBvZiB0aGUgZW1haWwgeW91IHdlcmUgY29tcG9zaW5nLlxuIgogbXNnc3RyICIiCiAiJyVzJyBjb250aWVuZSB1bmEgdmVyc2nDs24gaW50ZXJtZWRpYSBkZWwgY29ycmVvIHF1ZSBzZSBlc3RhYmEgZ2VuZXJhbmRvLlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMwNworIzogZ2l0LXNlbmQtZW1haWwucGVybDozMTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJyVzLmZpbmFsJyBjb250YWlucyB0aGUgY29tcG9zZWQgZW1haWwuXG4iCiBtc2dzdHIgIiclcy5maW5hbCcgY29udGllbmUgZWwgZW1haWwgZ2VuZXJhZG8uXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzI2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQwOAogbXNnaWQgIi0tZHVtcC1hbGlhc2VzIGluY29tcGF0aWJsZSB3aXRoIG90aGVyIG9wdGlvbnNcbiIKIG1zZ3N0ciAiLS1kdW1wLWFsaWFzZXMgbm8gZXMgY29tcGF0aWJsZSBjb24gb3RyYXMgb3BjaW9uZXMuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mzk1IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjUwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ4MSBnaXQtc2VuZC1lbWFpbC5wZXJsOjY4MwogbXNnaWQgIkNhbm5vdCBydW4gZ2l0IGZvcm1hdC1wYXRjaCBmcm9tIG91dHNpZGUgYSByZXBvc2l0b3J5XG4iCiBtc2dzdHIgIk5vIHNlIHB1ZWRlIGVqZWN1dGFyIGdpdCBmb3JtYXQtcGF0Y2ggZGVzZGUgZnVlcmEgZGVsIHJlcG9zaXRvcmlvLlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjM5OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo0ODQKIG1zZ2lkICIiCiAiYGJhdGNoLXNpemVgIGFuZCBgcmVsb2dpbmAgbXVzdCBiZSBzcGVjaWZpZWQgdG9nZXRoZXIgKHZpYSBjb21tYW5kLWxpbmUgb3IgIgogImNvbmZpZ3VyYXRpb24gb3B0aW9uKVxuIgpAQCAtMjA4NjcsMzcgKzI0MDA0LDM3IEBACiAiYGJhdGNoLXNpemVgIHkgYHJlbG9naW5gIGRlYmVuIHNlciBlc3BlY2lmaWNhZG9zIGp1bnRvcyAodmlhIGxhIGzDrW5lYSBkZSAiCiAiY29tYW5kbyBvIHBvciBvcGNpw7NuIGRlIGNvbmZpZ3VyYWNpw7NuKVxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ2OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo0OTcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5rbm93biAtLXN1cHByZXNzLWNjIGZpZWxkOiAnJXMnXG4iCiBtc2dzdHIgIkNhbXBvIC0tc3VwcHJlc3MtY2MgZGVzY29ub2NpZG86ICclcydcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0OTcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTI4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVua25vd24gLS1jb25maXJtIHNldHRpbmc6ICclcydcbiIKIG1zZ3N0ciAiQ29uZmlndXJhY2nDs24gLS1jb25maXJtIGRlc2Nvbm9jaWRhOiAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTI1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU1NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBhbGlhcyB3aXRoIHF1b3RlcyBpcyBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICJwZWxpZ3JvOiBhbGlhcyBkZSBzZW5kbWFpbCAgY29uIGNvbWlsbGFzIG5vIGVzIHNvcG9ydGFkbzogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTU4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGA6aW5jbHVkZTpgIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgInBlbGlncm86IGA6aW5jbHVkZTpgIG5vIHNvcG9ydGFkbzogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTYwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGAvZmlsZWAgb3IgYHxwaXBlYCByZWRpcmVjdGlvbiBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICJhZHZlcnRlbmNpYTogcmVkaXJlY2Npw7NuIGAvZmlsZWAgbyBgfHBpcGVgIG5vIHNvcG9ydGFkYSA6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTM0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU2NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBsaW5lIGlzIG5vdCByZWNvZ25pemVkOiAlc1xuIgogbXNnc3RyICJhZHZlcnRlbmNpYTogbMOtbmVhIHNlbmRtYWlsIG5vIHJlY29ub2NpZGE6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjE2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY0OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiRmlsZSAnJXMnIGV4aXN0cyBidXQgaXQgY291bGQgYWxzbyBiZSB0aGUgcmFuZ2Ugb2YgY29tbWl0c1xuIgpAQCAtMjA5MTIsMTIgKzI0MDQ5LDEyIEBACiAiICAgICogRGljaWVuZG8gXCIuLyVzXCIgc2kgc2UgcXVpZXJlIGRlY2lyIHVuIGFyY2hpdm87IG9cbiIKICIgICAgKiBBZ3JlZ2FuZG8gbGEgb3BjacOzbiAtLWZvcm1hdC1wYXRjaCBzaSBzZSBxdWllcmUgZGVjaXIgdW4gcmFuZ28uXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjM3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY3MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbmRpciAlczogJXMiCiBtc2dzdHIgIkZhbGzDsyBhbCBhYnJpciBkaXJlY3RvcmlvICVzOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NjEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njk0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJmYXRhbDogJXM6ICVzXG4iCkBAIC0yMDkyNiw3ICsyNDA2Myw3IEBACiAiZmF0YWw6ICVzOiAlc1xuIgogInBlbGlncm86IG5vIHNlIG1hbmRhcm9uIHBhcmNoZXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NzIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzA1CiBtc2dpZCAiIgogIlxuIgogIk5vIHBhdGNoIGZpbGVzIHNwZWNpZmllZCFcbiIKQEAgLTIwOTM2LDE3ICsyNDA3MywxNyBAQAogIk5vIHNlIGVzcGVjaWZpY2Fyb24gcGFyY2hlcyFcbiIKICJcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2ODUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIk5vIHN1YmplY3QgbGluZSBpbiAlcz8iCi1tc2dzdHIgIk5vIGhheSBsw61uZWEgZGUgc3ViamVjdCBlbiAlcz8iCittc2dzdHIgIsK/Tm8gaGF5IGzDrW5lYSBkZSBzdWJqZWN0IGVuICVzPyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2OTUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzI4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuIGZvciB3cml0aW5nICVzOiAlcyIKIG1zZ3N0ciAiRmFsbMOzIGFsIGFicmlyIHBhcmEgZXNjcml0dXJhICVzOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MDYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzM5CiBtc2dpZCAiIgogIkxpbmVzIGJlZ2lubmluZyBpbiBcIkdJVDpcIiB3aWxsIGJlIHJlbW92ZWQuXG4iCiAiQ29uc2lkZXIgaW5jbHVkaW5nIGFuIG92ZXJhbGwgZGlmZnN0YXQgb3IgdGFibGUgb2YgY29udGVudHNcbiIKQEAgLTIwOTU0LDMzICsyNDA5MSwzMyBAQAogIlxuIgogIkNsZWFyIHRoZSBib2R5IGNvbnRlbnQgaWYgeW91IGRvbid0IHdpc2ggdG8gc2VuZCBhIHN1bW1hcnkuXG4iCiBtc2dzdHIgIiIKLSJMaW5lYXMgcXVlIGNvbWllbnphbiBlbiBcIkdJVDpcIiBzZXLDoW4gcmVtb3ZpZGFzLlxuIgorIkxpbmVhcyBxdWUgY29taWVuemFuIGVuIFwiR0lUOlwiIHNlcsOhbiBlbGltaW5hZGFzLlxuIgogIkNvbnNpZGVyZSBpbmNsdWlyIHVuIGRpZmZzdGF0IGdsb2JhbCBvIHVuYSB0YWJsYSBkZSBjb250ZW5pZG9zXG4iCi0icGFyYSBlbCBwYXJjaGUgcXVlIGVzdMOhIGVzY3JpYmllbmRvLlxuIgorInBhcmEgZWwgcGFyY2hlIHF1ZSBlc3TDoXMgZXNjcmliaWVuZG8uXG4iCiAiXG4iCi0iTGltcGlhciBlbCBjb250ZW5pZG8gZGUgYm9keSBzaSB1c3RlZCBubyBkZXNlYSBtYW5kYXIgdW4gcmVzdW1lbi5cbiIKKyJMaW1waWFyIGVsIGNvbnRlbmlkbyBkZSBib2R5IHNpIG5vIGRlc2VhcyBtYW5kYXIgdW4gcmVzdW1lbi5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MzAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzYzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzOiAlcyIKIG1zZ3N0ciAiRmFsbMOzIGFsIGFicmlyICVzOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3NDcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzgwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzLmZpbmFsOiAlcyIKIG1zZ3N0ciAiRmFsbMOzIGFsIGFicmlyICVzLmZpbmFsOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3OTAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODIzCiBtc2dpZCAiU3VtbWFyeSBlbWFpbCBpcyBlbXB0eSwgc2tpcHBpbmcgaXRcbiIKIG1zZ3N0ciAiQXJjaGl2byBkZSByZXN1bWVuIGVzdMOhIHZhY8Otbywgc2FsdGFuZG8gYWwgc2lndWllbnRlXG4iCiAKICMuIFRSQU5TTEFUT1JTOiBwbGVhc2Uga2VlcCBbeS9OXSBhcyBpcy4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODI1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg1OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdXNlIDwlcz4gW3kvTl0/ICIKLW1zZ3N0ciAiRXN0YSBzZWd1cm8gZGUgcXVlIGRlc2VhIHVzYXIgPCVzPiBbeS9OXT8gIgorbXNnc3RyICLCv0VzdMOhcyBzZWd1cm8gZGUgcXVlIGRlc2VhcyB1c2FyIDwlcz4gW3kvTl0/ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4ODAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTEzCiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgZmlsZXMgYXJlIDhiaXQsIGJ1dCBkbyBub3QgZGVjbGFyZSBhIENvbnRlbnQtVHJhbnNmZXItIgogIkVuY29kaW5nLlxuIgpAQCAtMjA5ODgsMTEgKzI0MTI1LDExIEBACiAiTG9zIHNpZ3VpZW50ZXMgYXJjaGl2b3Mgc29uIDhiaXQsIHBlcm8gbm8gZGVjbGFyYW4gdW4gQ29udGVudC1UcmFuc2Zlci0iCiAiRW5jb2RpbmcuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODg1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkxOAogbXNnaWQgIldoaWNoIDhiaXQgZW5jb2Rpbmcgc2hvdWxkIEkgZGVjbGFyZSBbVVRGLThdPyAiCi1tc2dzdHIgIlF1ZSBjb2RpZmljYWNpw7NuIGRlIDhiaXQgZGViZXLDrWEgZGVjbGFyYXIgW1VURi04XT8gIgorbXNnc3RyICLCv1F1ZSBjb2RpZmljYWNpw7NuIGRlIDhiaXQgZGViZXLDrWEgZGVjbGFyYXIgW1VURi04XT8gIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg5MworIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MjYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIlJlZnVzaW5nIHRvIHNlbmQgYmVjYXVzZSB0aGUgcGF0Y2hcbiIKQEAgLTIxMDA1LDM5ICsyNDE0MiwzOSBAQAogInRpZW5lIGVsIHRlbXBsYXRlICAnKioqIFNVQkpFQ1QgSEVSRSAqKionLiBBZ3JlZ2EgLS1mb3JjZSBzaSByZWFsbWVudGUgbG8gIgogImRlc2VhcyBtYW5kYXIuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTEyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjk0NQogbXNnaWQgIlRvIHdob20gc2hvdWxkIHRoZSBlbWFpbHMgYmUgc2VudCAoaWYgYW55b25lKT8iCi1tc2dzdHIgIkEgcXVpZW4gc2UgZGViZW4gbWFuZGFyIGxvcyBjb3JyZW9zIChzaSBleGlzdGUpPyIKK21zZ3N0ciAiwr9BIHF1aWVuIHNlIGRlYmVuIG1hbmRhciBsb3MgY29ycmVvcyAoc2kgZXhpc3RlKT8iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTMwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjk2MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogYWxpYXMgJyVzJyBleHBhbmRzIHRvIGl0c2VsZlxuIgogbXNnc3RyICJmYXRhbDogYWxpYXMgJyVzJyBzZSBleHBhbmRlIGEgc2kgbWlzbW9cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5NDIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTc1CiBtc2dpZCAiTWVzc2FnZS1JRCB0byBiZSB1c2VkIGFzIEluLVJlcGx5LVRvIGZvciB0aGUgZmlyc3QgZW1haWwgKGlmIGFueSk/ICIKIG1zZ3N0ciAiIgotIlF1w6kgaWQgZGUgbWVuc2FqZSBzZXLDoSB1c2FkbyBjb21vIEVuLVJlc3B1ZXN0YS1QYXJhIGVuIGVsIHByaW1lciBlbWFpbCAoc2kgIgorIsK/UXXDqSBpZCBkZSBtZW5zYWplIHNlcsOhIHVzYWRvIGNvbW8gRW4tUmVzcHVlc3RhLVBhcmEgZW4gZWwgcHJpbWVyIGVtYWlsIChzaSAiCiAiZXhpc3RlIGFsZ3Vubyk/ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDAwIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTAwOAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDMzIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTA0MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJlcnJvcjogdW5hYmxlIHRvIGV4dHJhY3QgYSB2YWxpZCBhZGRyZXNzIGZyb206ICVzXG4iCi1tc2dzdHIgImVycm9yOiBubyBlcyBwb3NpYmxlIGV4dHJhZXIgdW5hIGRpcmVjY2nDs24gdmFsaWRhIGRlICVzXG4iCittc2dzdHIgImVycm9yOiBubyBlcyBwb3NpYmxlIGV4dHJhZXIgdW5hIGRpcmVjY2nDs24gdsOhbGlkYSBkZSAlc1xuIgogCiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3FdIFtkXSBbZV0gaW4geW91cgogIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAogIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTAxMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDQ1CiBtc2dpZCAiV2hhdCB0byBkbyB3aXRoIHRoaXMgYWRkcmVzcz8gKFtxXXVpdHxbZF1yb3B8W2VdZGl0KTogIgotbXNnc3RyICJRdWUgaGFjZXIgY29uIGVzdGEgZGlyZWNjacOzbj8gKFtxXXNhbGlyfFtkXWJvdGFyfFtlXWRpdGFyKTogIgorbXNnc3RyICLCv1F1ZSBoYWNlciBjb24gZXN0YSBkaXJlY2Npw7NuPyAoW3Fdc2FsaXJ8W2RdYm90YXJ8W2VdZGl0YXIpOiAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzYyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkNBIHBhdGggXCIlc1wiIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJSdXRhIENBIFwiJXNcIiBubyBleGlzdGUiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQxMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDQ1CiBtc2dpZCAiIgogIiAgICBUaGUgQ2MgbGlzdCBhYm92ZSBoYXMgYmVlbiBleHBhbmRlZCBieSBhZGRpdGlvbmFsXG4iCiAiICAgIGFkZHJlc3NlcyBmb3VuZCBpbiB0aGUgcGF0Y2ggY29tbWl0IG1lc3NhZ2UuIEJ5IGRlZmF1bHRcbiIKQEAgLTIxMDU3LDcgKzI0MTk0LDcgQEAKICIgICAgRXN0ZSBjb21wb3J0YW1pZW50byBpcyBjb250cm9sYWRvIHBvciBlbCB2YWxvciBkZSBjb25maWd1cmFjacOzbiAiCiAic2VuZGVtYWlsLmNvbmZpcm0uXG4iCiAiXG4iCi0iICAgIFBhcmEgbWFzIGluZm9ybWFjacOzbiwgZWplY3V0YSAnZ2l0IHNlbmQtZW1haWwgLS1oZWxwJy5cbiIKKyIgICAgUGFyYSBtw6FzIGluZm9ybWFjacOzbiwgZWplY3V0YSAnZ2l0IHNlbmQtZW1haWwgLS1oZWxwJy5cbiIKICIgICAgUGFyYSBtYW50ZW5lciBlbCBjb21wb3J0YW1pZW50byBhY3R1YWwsIHBlcm8gZXZpdGFyIGVzdGUgbWVuc2FqZSxcbiIKICIgICAgZWplY3V0YSAnZ2l0IGNvbmZpZyAtLWdsb2JhbCBzZW5kZW1haWwuY29uZmlybSBhdXRvJy5cbiIKICJcbiIKQEAgLTIxMDY1LDE0MyArMjQyMDIsMzkyIEBACiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3ldIFtuXSBbZV0gW3FdIFthXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDI3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjAKIG1zZ2lkICJTZW5kIHRoaXMgZW1haWw/IChbeV1lc3xbbl1vfFtlXWRpdHxbcV11aXR8W2FdbGwpOiAiCi1tc2dzdHIgIk1hbmRhciBlc3RlIGVtYWlsPyAoW3ldc2l8fFtuXW98W2VdZWRpdGFyfFtxXXNhbGlyfFthXXRvZG8pOiAiCittc2dzdHIgIsK/TWFuZGFyIGVzdGUgZW1haWw/IChbeV1zaXx8W25db3xbZV1lZGl0YXJ8W3Fdc2FsaXJ8W2FddG9kbyk6ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDMwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjMKIG1zZ2lkICJTZW5kIHRoaXMgZW1haWwgcmVwbHkgcmVxdWlyZWQiCiBtc2dzdHIgIk5lY2VzaXRhcyBtYW5kYXIgZXN0YSByZXNwdWVzdGEgZGUgZW1haWwiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDkxCiBtc2dpZCAiVGhlIHJlcXVpcmVkIFNNVFAgc2VydmVyIGlzIG5vdCBwcm9wZXJseSBkZWZpbmVkLiIKIG1zZ3N0ciAiRWwgc2Vydmlkb3IgU01UUCBubyBlc3RhIGRlZmluaWRvIGFkZWN1YWRhbWVudGUuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MDUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUzOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBTVEFSVFRMUyEgJXMiCi1tc2dzdHIgIkVsIHNlcnZpZG9yIG5vIHNvcG9ydGEgU1RBUlRUTFMhICVzIgorbXNnc3RyICLCoUVsIHNlcnZpZG9yIG5vIHNvcG9ydGEgU1RBUlRUTFMhICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MTAgZ2l0LXNlbmQtZW1haWwucGVybDoxNTE0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDMgZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNUQVJUVExTIGZhaWxlZCEgJXMiCi1tc2dzdHIgIkZhbGzDsyBTVEFSVFRMUyEgJXMiCittc2dzdHIgIsKhRmFsbMOzIFNUQVJUVExTISAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTIzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NTYKIG1zZ2lkICJVbmFibGUgdG8gaW5pdGlhbGl6ZSBTTVRQIHByb3Blcmx5LiBDaGVjayBjb25maWcgYW5kIHVzZSAtLXNtdHAtZGVidWcuIgogbXNnc3RyICIiCiAiTm8gZXMgcG9zaWJsZSBpbmljaWFsaXphciBTTVRQIGFkZWN1YWRhbWVudGUuIFZlcmlmaWNhciBjb25maWcgeSB1c2FyIC0tLSIKICJzbXRwLWRlYnVnLiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHNlbmQgJXNcbiIKIG1zZ3N0ciAiRmFsbMOzIGFsIGVudmlhciAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEcnktU2VudCAlc1xuIgogbXNnc3RyICJEcnktU2VudCAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZW50ICVzXG4iCiBtc2dzdHIgIkVudmlhZG8gJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzkKIG1zZ2lkICJEcnktT0suIExvZyBzYXlzOlxuIgogbXNnc3RyICJEcnktT0suIExvZyBkaWNlOlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3OQogbXNnaWQgIk9LLiBMb2cgc2F5czpcbiIKIG1zZ3N0ciAiT0suIExvZyBkaWNlOlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NTgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU5MQogbXNnaWQgIlJlc3VsdDogIgogbXNnc3RyICJSZXN1bHRhZG86ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTYxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1OTQKIG1zZ2lkICJSZXN1bHQ6IE9LXG4iCiBtc2dzdHIgIlJlc3VsdGFkbzogT0tcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2MTIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiY2FuJ3Qgb3BlbiBmaWxlICVzIgogbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciBlbCBhcmNoaXZvICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2MjYgZ2l0LXNlbmQtZW1haWwucGVybDoxNjQ2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NTkgZ2l0LXNlbmQtZW1haWwucGVybDoxNjc5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihtYm94KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihtYm94KSBBZ3JlZ2FuZG8gY2M6ICVzIGRlIGzDrW5lYSAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYzMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjY1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihtYm94KSBBZGRpbmcgdG86ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihtYm94KSBBZ3JlZ2FuZG8gcGFyYTogJXMgZGUgbGEgbMOtbmVhICclcydcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjg1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKG5vbi1tYm94KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihub24tbWJveCkgQWdyZWdhbmRvIGNjOiAlcyBkZSBsYSBsw61uZWEgJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MjAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc1MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoYm9keSkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIoYm9keSkgQWdyZWdhbmRvIGNjOiAlcyBkZSBsYSBsw61uZWEgJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4MzEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg2NAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoJXMpIENvdWxkIG5vdCBleGVjdXRlICclcyciCiBtc2dzdHIgIiglcykgbm8gc2UgcHVkbyBlamVjdXRhciAnJXMnIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4MzgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg3MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoJXMpIEFkZGluZyAlczogJXMgZnJvbTogJyVzJ1xuIgogbXNnc3RyICIoJXMpIEFncmVnYW5kbyAlczogJXMgZGU6ICclcydcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODQyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NzUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBmYWlsZWQgdG8gY2xvc2UgcGlwZSB0byAnJXMnIgogbXNnc3RyICIoJXMpIGZhbGzDsyBhbCBjZXJyYXIgZWwgcGlwZSBwYXJhICclcyciCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg3MgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTA1CiBtc2dpZCAiY2Fubm90IHNlbmQgbWVzc2FnZSBhcyA3Yml0IgogbXNnc3RyICJubyBzZSBwdWVkZSBtYW5kYXIgbWVuc2FqZSBjb21vIDdiaXQiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg4MAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTEzCiBtc2dpZCAiaW52YWxpZCB0cmFuc2ZlciBlbmNvZGluZyIKIG1zZ3N0ciAiY29kaWZpY2FjacOzbiBkZSB0cmFuc2ZlcmVuY2lhIGludsOhbGlkYSIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTIxIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk3MyBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5ODMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk1NCBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwMDYgZ2l0LXNlbmQtZW1haWwucGVybDoyMDE2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzOiAlc1xuIgogbXNnc3RyICJubyBlcyBwb3NpYmxlIGFicmlyICVzOiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5MjQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk1NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggY29udGFpbnMgYSBsaW5lIGxvbmdlciB0aGFuIDk5OCBjaGFyYWN0ZXJzIgotbXNnc3RyICIlczogZWwgcGFyY2hlIGNvbnRpZW5lIHVuYSBsw61uZWEgY29uIG1hcyBkZSA5OTggY2FyYWN0ZXJlcyIKK21zZ3N0ciAiJXM6IGVsIHBhcmNoZSBjb250aWVuZSB1bmEgbMOtbmVhIGNvbiBtw6FzIGRlIDk5OCBjYXJhY3RlcmVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NDEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk3NAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyAlcyB3aXRoIGJhY2t1cCBzdWZmaXggJyVzJy5cbiIKIG1zZ3N0ciAiU2FsdGFuZG8gJXMgY29uIGVsIHN1ZmlqbyBkZSBiYWNrdXAgJyVzJy5cbiIKIAogIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBrZWVwICJbeXxOXSIgYXMgaXMuCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NDUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk3OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gc2VuZCAlcz8gW3l8Tl06ICIKLW1zZ3N0ciAiUmVhbG1lbnRlIGRlc2VhcyBtYW5kYXIgJXM/W3l8Tl06ICIKK21zZ3N0ciAiwr9SZWFsbWVudGUgZGVzZWFzIG1hbmRhciAlcz9beXxOXTogIgorCisjLCBjLWZvcm1hdAorI34gbXNnaWQgInVuYWJsZSB0byBnZXQgdHJlZSBmb3IgJXMiCisjfiBtc2dzdHIgIm5vIHNlIHB1ZG8gb2J0ZW5lciDDoXJib2wgcGFyYSAlcyIKKworI34gbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiCisjfiBtc2dzdHIgIlVzYXIgdW4gaGV1csOtc3RpY28gZXhwZXJpbWVudGFsIHBhcmEgbWVqb3JhciBsb3MgZGlmZnMiCisKKyN+IG1zZ2lkICJnaXQgY29tbWl0LWdyYXBoIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgorI34gbXNnc3RyICJnaXQgY29tbWl0LWdyYXBoIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgorCisjfiBtc2dpZCAiZ2l0IGNvbW1pdC1ncmFwaCByZWFkIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgorI34gbXNnc3RyICJnaXQgY29tbWl0LWdyYXBoIHJlYWQgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCisKKyN+IG1zZ2lkICJ1bmtub3duIGNvcmUudW50cmFja2VkQ2FjaGUgdmFsdWUgJyVzJzsgdXNpbmcgJ2tlZXAnIGRlZmF1bHQgdmFsdWUiCisjfiBtc2dzdHIgIiIKKyN+ICJ2YWxvciBjb3JlLnVudHJhY2tlZENhY2hlICclcycgZGVzY29ub2NpZG87IHVzYW5kbyAna2VlcCcgY29tbyB2YWxvciBwb3IgIgorI34gImRlZmVjdG8iCisKKyN+IG1zZ2lkICJjYW5ub3QgY2hhbmdlIHBhcnRpYWwgY2xvbmUgcHJvbWlzb3IgcmVtb3RlIgorI34gbXNnc3RyICJubyBzZSBwdWVkZSBjYW1iaWFyIHVuIGNsb24gcGFyY2lhbCByZW1vdG8gcHJvbWlzb3IiCisKKyN+IG1zZ2lkICJlcnJvciBidWlsZGluZyB0cmVlcyIKKyN+IG1zZ3N0ciAiZXJyb3IgY29uc3RydXllbmRvIMOhcmJvbGVzIgorCisjfiBtc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdCAnJXMnIGluICclcyciCisjfiBtc2dzdHIgImZvcm1hdG8gZGUgZmVjaGEgaW52w6FsaWRvICclcycgZW4gJyVzJyIKKworI34gbXNnaWQgIndyaXRpbmcgcm9vdCBjb21taXQiCisjfiBtc2dzdHIgImVzY3JpYmllbmRvIGNvbW1pdCByYcOteiIKKworI34gbXNnaWQgInN0YWdlZCBjaGFuZ2VzIGluIHRoZSBmb2xsb3dpbmcgZmlsZXMgbWF5IGJlIGxvc3Q6ICVzIgorI34gbXNnc3RyICIiCisjfiAiY2FtYmlvcyBlbiBlbCDDoXJlYSBkZSBzdGFnZSBlbiBlbCBzaWd1aWVudGUgYXJjaGl2byBwdWVkZW4gc2VyIHBlcmRpZG9zOiAiCisjfiAiJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiLS1maWx0ZXIgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHRoZSByZW1vdGUgY29uZmlndXJlZCBpbiBleHRlbnNpb25zLiIKKyN+ICJwYXJ0aWFsQ2xvbmUiCisjfiBtc2dzdHIgIiIKKyN+ICItLWZpbHRlciBzb2xvIHB1ZWRlIHNlciB1c2FkbyBjb24gZWwgcmVtb3RvIGNvbmZpZ3VyYWRvIGVuIGV4dGVuc2lvbnMuIgorI34gInBhcnRpYWxDbG9uZSIKKworI34gbXNnaWQgInZlcmlmeSBjb21taXQtbXNnIGhvb2siCisjfiBtc2dzdHIgInZlcmlmaWNhciBlbCBob29rIGNvbW1pdC1tc2ciCisKKyN+IG1zZ2lkICJjYW5ub3QgY29tYmluZSAnLS1yZWJhc2UtbWVyZ2VzJyB3aXRoICctLXN0cmF0ZWd5LW9wdGlvbiciCisjfiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGNvbWJpbmFyICctLXJlYmFzZS1tZXJnZXMnIGNvbiAnLS1zdHJhdGVneS1vcHRpb24nIgorCisjfiBtc2dpZCAiaW52YWxpZCBzcGFyc2UgdmFsdWUgJyVzJyIKKyN+IG1zZ3N0ciAidmFsb3IgZGlzcGVyc28gaW52w6FsaWRvOiAnJXMnIgorCisjfiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2Fja19kZXRhaWxlZCIKKyN+IG1zZ3N0ciAiRWwgc2Vydmlkb3Igc29wb3J0YSB1bHRpX2Fja19kZXRhaWxlZCIKKworI34gbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBuby1kb25lIgorI34gbXNnc3RyICJFbCBzZXJ2aWRvciBzb3BvcnRhIG5vLWRvbmUiCisKKyN+IG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrIgorI34gbXNnc3RyICJFbCBzZXJ2aWRvciBzb3BvcnRhIG11bHRpX2FjayIKKworI34gbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQtNjRrIgorI34gbXNnc3RyICJFbCBzZXJ2aWRvciBzb3BvcnRhIHNpZGUtYmFuZC02NGsiCisKKyN+IG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kIgorI34gbXNnc3RyICJFbCBzZXJ2aWRvciBzb3BvcnRhIHNpZGUtYmFuZCIKKworI34gbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy10aXAtc2hhMS1pbi13YW50IgorI34gbXNnc3RyICJFbCBzZXJ2aWRvciBzb3BvcnRhIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCisKKyN+IG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKKyN+IG1zZ3N0ciAiRWwgc2Vydmlkb3Igc29wb3J0YSBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgorCisjfiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG9mcy1kZWx0YSIKKyN+IG1zZ3N0ciAiRWwgc2Vydmlkb3Igc29wb3J0YSBvZnMtZGVsdGEiCisKKyN+IG1zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCisjfiBtc2dzdHIgIihIRUFEIGRlc2Fjb3BsYWRvIGVuICVzKSIKKworI34gbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgorI34gbXNnc3RyICIoSEVBRCBkZXNhY29wbGFkbyBkZSAlcykiCisKKyN+IG1zZ2lkICJDaGVja2luZyBvdXQgZmlsZXMiCisjfiBtc2dzdHIgIlJldmlzYW5kbyBhcmNoaXZvcyIKKworI34gbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKKyN+IG1zZ3N0ciAibm8gc2UgcHVlZGUgc2VyIGludGVyYWN0aXZvIHNpbiBzdGRpbiBjb25lY3RhZG8gYSB1biB0ZXJtaW5hbC4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAlc1xuIgorI34gbXNnc3RyICJmYWxsw7MgYWwgYW5hbGl6YXIgJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJJZiB5b3Ugd2lzaCB0byBza2lwIHRoaXMgY29tbWl0LCB1c2U6XG4iCisjfiAiXG4iCisjfiAiICAgIGdpdCByZXNldFxuIgorI34gIlxuIgorI34gIlRoZW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHdpbGwgcmVzdW1lIGNoZXJyeS1waWNraW5nXG4iCisjfiAidGhlIHJlbWFpbmluZyBjb21taXRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiU2kgcXVpZXJlIHNhbHRhciBlc3RlIGNvbW1pdCwgdXNlOlxuIgorI34gIlxuIgorI34gIiAgICBnaXQgcmVzZXRcbiIKKyN+ICJcbiIKKyN+ICJMdWVnbyBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgY29udGludWFyYSBlbCBjaGVycnktcGlja2luZ1xuIgorI34gInBhcmEgbG9zIGNvbW1pdHMgcmVzdGFudGVzLlxuIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIHZlcmI6ICVzIgorI34gbXNnc3RyICJ2ZXJibyBubyByZWNvbm9jaWRvOiAlcyIKKworI34gbXNnaWQgImhhc2ggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIgorI34gbXNnc3RyICJ2ZXJzacOzbiBkZSBoYXNoICVYIG5vIGNvbmN1ZXJkYSBjb24gdmVyc2nDs24gJVgiCisKKyN+IG1zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhIHZhbHVlIgorI34gbXNnc3RyICJvcGNpw7NuICclcycgcmVxdWllcmUgdW4gdmFsb3IiCisKKyN+IG1zZ2lkICJjb3VsZCBub3QgdHJhbnNmb3JtIHRoZSB0b2RvIGxpc3QiCisjfiBtc2dzdHIgIm5vIHNlIHB1ZG8gdHJhbnNmb3JtYXIgbGlzdGEgZGUgcGVuZGllbnRlcyIKKworI34gbXNnaWQgImRlZmF1bHQiCisjfiBtc2dzdHIgImRlZmF1bHQiCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgorI34gbXNnc3RyICJObyBzZSBwdWRvIGNyZWFyIGVsIGRpcmVjdG9yaW8gJyVzJyIKKworI34gbXNnaWQgImFsbG93IHJlcmVyZSB0byB1cGRhdGUgaW5kZXggd2l0aCByZXNvbHZlZCBjb25mbGljdCIKKyN+IG1zZ3N0ciAicGVybWl0aXIgcmVyZXJlIGFjdHVhbGl6YXIgaW5kZXggY29uIGNvbmZsaWN0b3MgcmVzdWVsdG9zIgorCisjfiBtc2dpZCAiY291bGQgbm90IG9wZW4gJXMiCisjfiBtc2dzdHIgIm5vIHNlIHB1ZG8gYWJyaXIgJXMiCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCisjfiBtc2dzdHIgIk5vIHNlIHB1ZWRlIHJlZ3Jlc2FyIGEgJGhlYWRfbmFtZSIKKworI34gbXNnaWQgIiIKKyN+ICJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKKyN+ICJJIHdvbmRlciBpZiB5b3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW5vdGhlciByZWJhc2UuICBJZiB0aGF0IGlzIHRoZVxuIgorI34gImNhc2UsIHBsZWFzZSB0cnlcbiIKKyN+ICJcdCRjbWRfbGl2ZV9yZWJhc2VcbiIKKyN+ICJJZiB0aGF0IGlzIG5vdCB0aGUgY2FzZSwgcGxlYXNlXG4iCisjfiAiXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxuIgorI34gImFuZCBydW4gbWUgYWdhaW4uICBJIGFtIHN0b3BwaW5nIGluIGNhc2UgeW91IHN0aWxsIGhhdmUgc29tZXRoaW5nXG4iCisjfiAidmFsdWFibGUgdGhlcmUuIgorI34gbXNnc3RyICIiCisjfiAiUGFyZWNlIHF1ZSB5YSBoYXkgdW4gZGlyZWN0b3JpbyAkc3RhdGVfZGlyX2Jhc2UsIHlcbiIKKyN+ICJtZSBwcmVndW50byBzaSBlc3TDoSBlbiBtZWRpbyBkZSBvdHJvIHJlYmFzZS4gU2kgZXNlIGVzIGVsIFxuIgorI34gImNhc28sIHBvciBmYXZvciBpbnRlbnRlXG4iCisjfiAiXHQkY21kX2xpdmVfcmViYXNlXG4iCisjfiAiU2kgbm8gZXMgZWwgY2FzbywgcG9yIGZhdm9yXG4iCisjfiAiXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxuIgorI34gInkgZWplY8O6dGVtZSBudWV2YW1lbnRlLiAgTWUgZXN0b3kgZGV0ZW5pZW5kbyBlbiBjYXNvIGRlIHF1ZSB0ZW5nYVxuIgorI34gImFsZ28gZGUgdmFsb3IgYWjDrS4iCisKKyN+IG1zZ2lkICIiCisjfiAiZmF0YWw6IGNhbm5vdCBjb21iaW5lIGFtIG9wdGlvbnMgd2l0aCBlaXRoZXIgaW50ZXJhY3RpdmUgb3IgbWVyZ2Ugb3B0aW9ucyIKKyN+IG1zZ3N0ciAiIgorI34gImZhdGFsOiBubyBzZSBwdWVkZSBjb21iaW5hciBvcGNpb25lcyBhbSBjb24gb3BjaW9uZXMgaW50ZXJhY3RpdmFzIG8gZGUgIgorI34gIm1lcmdlIgorCisjfiBtc2dpZCAiZmF0YWw6IGNhbm5vdCBjb21iaW5lICctLXNpZ25vZmYnIHdpdGggJy0tcHJlc2VydmUtbWVyZ2VzJyIKKyN+IG1zZ3N0ciAiZmF0YWw6IG5vIHNlIHB1ZWRlIGNvbWJpbmFyICctLXNpZ25vZmYnIGNvbiAnLS1wcmVzZXJ2ZS1tZXJnZXMnIgorCisjfiBtc2dpZCAiZmF0YWw6IGNhbm5vdCBjb21iaW5lICctLXByZXNlcnZlLW1lcmdlcycgd2l0aCAnLS1yZWJhc2UtbWVyZ2VzJyIKKyN+IG1zZ3N0ciAiIgorI34gImZhdGFsOiBubyBzZSBwdWVkZSBjb21iaW5hciAnLS1wcmVzZXJ2ZS1tZXJnZXMnIGNvbiAnLS1yZWJhc2UtbWVyZ2VzJyIKKworI34gbXNnaWQgImZhdGFsOiBjYW5ub3QgY29tYmluZSAnLS1yZWJhc2UtbWVyZ2VzJyB3aXRoICctLXN0cmF0ZWd5LW9wdGlvbiciCisjfiBtc2dzdHIgIiIKKyN+ICJmYXRhbDogbm8gc2UgcHVlZGUgY29tYmluYXIgJy0tcmViYXNlLW1lcmdlcycgY29uICctLXN0cmF0ZWd5LW9wdGlvbiciCisKKyN+IG1zZ2lkICJmYXRhbDogY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneSciCisjfiBtc2dzdHIgImZhdGFsOiBubyBzZSBwdWVkZSBjb21iaW5hciAnLS1yZWJhc2UtbWVyZ2VzJyBjb24gJy0tc3RyYXRlZ3knIgorCisjfiBtc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAnJHVwc3RyZWFtX25hbWUnIgorI34gbXNnc3RyICJ1cHN0cmVhbSBpbnbDoWxpZG8gJyR1cHN0cmVhbV9uYW1lJyIKKworI34gbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgorI34gbXNnc3RyICIkb250b19uYW1lOiBoYXkgbcOhcyBkZSB1bmEgYmFzZSBkZSBmdXNpw7NuIgorCisjfiBtc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKKyN+IG1zZ3N0ciAiJG9udG9fbmFtZTogbm8gaGF5IGJhc2UgZGUgZnVzacOzbiIKKworI34gbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0OiAkb250b19uYW1lIgorI34gbXNnc3RyICJObyBhcHVudGEgYSB1biBjb21taXQgdsOhbGlkbzogJG9udG9fbmFtZSIKKworI34gbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaC9jb21taXQgJyRicmFuY2hfbmFtZSciCisjfiBtc2dzdHIgImZhdGFsOiBubyBleGlzdGUgbGEgcmFtYS9jb21taXQ6ICckYnJhbmNoX25hbWUnIgorCisjfiBtc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCisjfiBtc2dzdHIgIkF1dG9zdGFzaCBjcmVhZG86ICRzdGFzaF9hYmJyZXYiCisKKyN+IG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZS4iCisjfiBtc2dzdHIgIkxhIHJhbWEgYWN0dWFsICRicmFuY2hfbmFtZSBlc3TDoSBhY3R1YWxpemFkYS4iCisKKyN+IG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCisjfiBtc2dzdHIgIlJhbWEgYWN0dWFsICRicmFuY2hfbmFtZSBlc3TDoSBhY3R1YWxpemFkYSwgcmViYXNlIGZvcnphZG8uIgorCisjfiBtc2dpZCAiQ2hhbmdlcyB0byAkb250bzoiCisjfiBtc2dzdHIgIkNhbWJpb3MgaGFjaWEgJG9udG86IgorCisjfiBtc2dpZCAiQ2hhbmdlcyBmcm9tICRtYiB0byAkb250bzoiCisjfiBtc2dzdHIgIkNhbWJpb3MgZGVzZGUgJG1iIGEgJG9udG86IgorCisjfiBtc2dpZCAiRmFzdC1mb3J3YXJkZWQgJGJyYW5jaF9uYW1lIHRvICRvbnRvX25hbWUuIgorI34gbXNnc3RyICJBdmFuY2UgcsOhcGlkbyBkZSAkYnJhbmNoX25hbWUgYSAkb250b19uYW1lLiIKKworI34gbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIkVuIHByaW1lciBsdWdhciwgcmVib2JpbmFuZG8gSEVBRCBwYXJhIGRlc3B1w6lzIHJlcHJvZHVjaXIgdHVzIGNhbWJpb3MgIgorI34gImVuY2ltYSBkZSDDqXN0YS4uLiIKKworI34gbXNnaWQgImlnbm9yaW5nIHVua25vd24gY29sb3ItbW92ZWQtd3MgbW9kZSAnJXMnIgorI34gbXNnc3RyICJpZ25vcmFuZG8gbW9kbyBkZXNjb25vY2lkbyBjb2xvci1tb3ZlZC13cyAnJXMnIgorCisjfiBtc2dpZCAib25seSAndHJlZTowJyBpcyBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgInNvbG8gJ3RyZWU6MCcgZXMgc29wb3J0YWRvIgorCisjfiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXMgYW5kICVzIHRvICVzIGluc3RlYWQiCisjfiBtc2dzdHIgIlJlbm9tYnJhbmRvICVzIGEgJXMgeSAlcyBhICVzIG3DoXMgYmllbiIKKworI34gbXNnaWQgIkFkZGluZyBtZXJnZWQgJXMiCisjfiBtc2dzdHIgIkFncmVnYXIgJXMgZnVzaW9uYWRvIgorCisjfiBtc2dpZCAiSW50ZXJuYWwgZXJyb3IiCisjfiBtc2dzdHIgIkVycm9yIGludGVybm8iCisKKyN+IG1zZ2lkICJtYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgorI34gbXNnc3RyICJsw61uZWEgcHJpbmNpcGFsIGVzcGVjaWZpY2FkYSBwZXJvIGVsIGNvbW1pdCAlcyBubyBlcyB1bmEgZnVzacOzbi4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc2hhMSBmaWxlbmFtZSAlcyIKKyN+IG1zZ3N0ciAiaW5jYXBheiBkZSBlc2NyaWJpciBlbCBub21icmUgZGUgYXJjaGl2byBzaGExICVzIgorCisjfiBtc2dpZCAiY2Fubm90IHJlYWQgc2hhMV9maWxlIGZvciAlcyIKKyN+IG1zZ3N0ciAibm8gc2UgcHVlZGUgbGVlciBzaGExX2ZpbGUgcGFyYSAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJlcnJvcjogY2Fubm90IGNvbWJpbmUgaW50ZXJhY3RpdmUgb3B0aW9ucyAoLS1pbnRlcmFjdGl2ZSwgLS1leGVjLCAtLSIKKyN+ICJyZWJhc2UtbWVyZ2VzLCAtLXByZXNlcnZlLW1lcmdlcywgLS1rZWVwLWVtcHR5LCAtLXJvb3QgKyAtLW9udG8pIHdpdGggYW0gIgorI34gIm9wdGlvbnMgKCVzKSIKKyN+IG1zZ3N0ciAiIgorI34gImVycm9yOiBubyBzZSBwdWVkZSBjb21iaW5hciBvcGNpb25lcyBpbnRlcmFjdGl2YXMgKC0taW50ZXJhY3RpdmUsIC0tZXhlYywgIgorI34gIi0tcmViYXNlLW1lcmdlcywgLS1wcmVzZXJ2ZS1tZXJnZXMsIC0ta2VlcC1lbXB0eSwgLS1yb290ICsgLS1vbnRvKSBjb24gIgorI34gIm9wY2lvbmVzICglcykiCisKKyN+IG1zZ2lkICIiCisjfiAiZXJyb3I6IGNhbm5vdCBjb21iaW5lIG1lcmdlIG9wdGlvbnMgKC0tbWVyZ2UsIC0tc3RyYXRlZ3ksIC0tc3RyYXRlZ3ktIgorI34gIm9wdGlvbikgd2l0aCBhbSBvcHRpb25zICglcykiCisjfiBtc2dzdHIgIiIKKyN+ICJlcnJvcjogbm8gc2UgcHVlZGUgY29tYmluYXIgb3BjaW9uZXMgZGUgbWVyZ2UgKC0tbWVyZ2UsIC0tc3RyYXRlZ3ksIC0tIgorI34gInN0cmF0ZWd5LW9wdGlvbikgY29uIG9wY2lvbmVzIGRlIGFtICglcykiCisKKyN+IG1zZ2lkICJ1bnJlY29nbmlzZWQgb3B0aW9uOiAnJGFyZyciCisjfiBtc2dzdHIgIm9wY2nDs24gbm8gcmVjb25vY2lkYTogJyRhcmcnIgorCisjfiBtc2dpZCAiJyRpbnZhbGlkJyBpcyBub3QgYSB2YWxpZCBjb21taXQiCisjfiBtc2dzdHIgIickaW52YWxpZCcgbm8gZXMgdW4gY29tbWl0IHbDoWxpZG8iCiAKICN+IG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJyVzJyAobG9va2luZyBmb3IgJyVzJykiCiAjfiBtc2dzdHIgIm5vIHNlIHB1ZG8gY29uZmlndXJhciAnJXMnIChidXNjYW5kbyAnJXMnKSIKIAotI34gbXNnaWQgImJhZCBxdW90aW5nIG9uICVzIHZhbHVlIGluICclcyciCi0jfiBtc2dzdHIgIm1hbCBjaXRhZG8gZW4gJXMgdmFsb3IgZW4gJyVzJyIKLQotI34gbXNnaWQgIkNvdWxkIG5vdCB1bnNldCBjb3JlLndvcmt0cmVlIHNldHRpbmcgaW4gc3VibW9kdWxlICclcyciCi0jfiBtc2dzdHIgIk5vIHNlIHB1ZG8gcXVpdGFyIGNvbmZpZ3VyYWNpw7NuIGNvcmUud29ya3RyZWUgZW4gc3VibcOzZHVsbyAnJXMnIgotCiAjfiBtc2dpZCAiZGVwcmVjYXRlZCBzeW5vbnltIGZvciAtLWNyZWF0ZS1yZWZsb2ciCiAjfiBtc2dzdHIgInNpbsOzbmltbyBkZXByZWNhZG8gcGFyYSAtLWNyZWF0ZS1yZWZsb2ciCiAKQEAgLTIxMjIzLDEyICsyNDYwOSw2IEBACiAjfiBtc2dpZCAiY2Fubm90IHJlbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWUiCiAjfiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGVsaW1pbmFyIMOhcmJvbCBkZSB0cmFiYWpvIGVuY2VycmFkbyIKIAotI34gbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKLSN+IG1zZ3N0ciAiQXV0b3N0YXNoIGFwbGljYWRvLiIKLQotI34gbXNnaWQgIkNhbm5vdCBzdG9yZSAkc3Rhc2hfc2hhMSIKLSN+IG1zZ3N0ciAiTm8gc2UgcHVlZGUgYWxtYWNlbmFyICRzdGFzaF9zaGExIgotCiAjfiBtc2dpZCAiIgogI34gIlxuIgogI34gIlx0SG93ZXZlciwgaWYgeW91IHJlbW92ZSBldmVyeXRoaW5nLCB0aGUgcmViYXNlIHdpbGwgYmUgYWJvcnRlZC5cbiIKQEAgLTIxMjkzLDcgKzI0NjczLDcgQEAKICN+IG1zZ3N0ciAiRXJyb3IgZW4gZWwgb2JqZXRvIgogCiAjfiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBFT0YiCi0jfiBtc2dzdHIgImdpdCBnZXRjaC1wYWNrOiBzZSBlc3BlcmFiYSBBQ0svTkFLLCBzZSBvYnR1dm8gRU9GIgorI34gbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogc2UgZXNwZXJhYmEgQUNLL05BSywgc2Ugb2J0dXZvIEVPRiIKIAogI34gbXNnaWQgImludmFsaWQgZmlsdGVyLXNwZWMgZXhwcmVzc2lvbiAnJXMnIgogI34gbXNnc3RyICJleHByZXNpw7NuIGZpbHRlci1zcGVjIGludsOhbGlkYSAnJXMnIgpAQCAtMjEzMjMsOSArMjQ3MDMsNiBAQAogI34gbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSAnJXMnIgogI34gbXNnc3RyICJubyBzZSBwdWRvIHRydW5jYXIgJyVzJyIKIAotI34gbXNnaWQgImNvdWxkIG5vdCBmaW5pc2ggJyVzJyIKLSN+IG1zZ3N0ciAibm8gc2UgcHVkbyBmaW5hbGl6YXIgJyVzJyIKLQogI34gbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAlcyIKICN+IG1zZ3N0ciAibm8gc2UgcHVkbyBjZXJyYXIgJXMiCiAKQEAgLTIxMzM4LDkgKzI0NzE1LDYgQEAKICN+IG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBjbG9uZSAlcyIKICN+IG1zZ3N0ciAiTm8gc2Ugc2FiZSBjb21vIGNsb25hciAlcyIKIAotI34gbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyIKLSN+IG1zZ3N0ciAibW9zdHJhciBhcmNoaXZvcyBpZ25vcmFkb3MiCi0KICN+IG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgogI34gbXNnc3RyICJObyBzZSBzYWJlIGNvbW8gZXh0cmFlciBkZSAlcyIKIApAQCAtMjEzNzksOSArMjQ3NTMsNiBAQAogI34gbXNnaWQgImJhc2VuYW1lIgogI34gbXNnc3RyICJub21icmUgYmFzZSIKIAotI34gbXNnaWQgInByZXBlbmQgcGFyZW50IHByb2plY3QncyBiYXNlbmFtZSB0byBvdXRwdXQiCi0jfiBtc2dzdHIgImFudGVwb25lciBlbCBub21icmUgYmFzZSBkZWwgcHJveWVjdG8gcGFkcmUgYSBsYSBzYWxpZGEiCi0KICN+IG1zZ2lkICIiCiAjfiAiV2FybmluZzogdGhlIFNIQS0xIGlzIG1pc3Npbmcgb3IgaXNuJ3QgYSBjb21taXQgaW4gdGhlIGZvbGxvd2luZyBsaW5lOlxuIgogI34gIiAtICRsaW5lIgpkaWZmIC0tZ2l0IGEvcG8vZnIucG8gYi9wby9mci5wbwppbmRleCBhMjAwOGI2Li4zZmY0NGU1IDEwMDY0NAotLS0gYS9wby9mci5wbworKysgYi9wby9mci5wbwpAQCAtMSw3ICsxLDcgQEAKICMgRnJlbmNoIHRyYW5zbGF0aW9ucyBmb3IgR2l0LgotIyBDb3B5cmlnaHQgKEMpIDIwMTggSmVhbi1Ob8OrbCBBdmlsYSA8am4uYXZpbGFAZnJlZS5mcj4KKyMgQ29weXJpZ2h0IChDKSAyMDE5IEplYW4tTm/Dq2wgQXZpbGEgPGpuLmF2aWxhQGZyZWUuZnI+CiAjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBHaXQgcGFja2FnZS4KLSMgSmVhbi1Ob8OrbCBBdmlsYSA8am4uYXZpbGFAZnJlZS5mcj4sIDIwMTguCisjIEplYW4tTm/Dq2wgQXZpbGEgPGpuLmF2aWxhQGZyZWUuZnI+LCAyMDEzLTIwMTkuCiAjIFPDqWJhc3RpZW4gSGVsbGV1IDxmbGFzaGNvZGVAZmxhc2h0dXgub3JnPiwgMjAxMy4KICMKICMgRnJlbmNoIHRyYW5zbGF0aW9ucyBvZiBjb21tb24gR2l0IHdvcmRzIHVzZWQgaW4gdGhpcyBmaWxlOgpAQCAtMzAsNiArMzAsNyBAQAogIyAgIHRvIGRlZmxhdGUgICAgICAgfCAgY29tcHJlc3NlcgogIyAgIGVtYWlsICAgICAgICAgICAgfCAgY291cnJpZWwKICMgICBlbnRyeSAgICAgICAgICAgIHwgIMOpbMOpbWVudAorIyAgIGZhbm91dCAgICAgICAgICAgfCAgZGlzcGVyc2lvbgogIyAgIGZhc3QtZm9yd2FyZCAgICAgfCAgYXZhbmNlIHJhcGlkZQogIyAgIGZhc3QtZm9yd2FyZGVkICAgfCAgbWlzIMOgIGpvdXIgZW4gYXZhbmNlIHJhcGlkZQogIyAgIHRvIGZldGNoICAgICAgICAgfCAgcmFwYXRyaWVyCkBAIC03NCw0NyArNzUsNDc1IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGdpdFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBHaXQgTWFpbGluZyBMaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE4LTEyLTAyIDEwOjU1KzA4MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDE4LTEyLTAyIDEwOjI0KzAxMDBcbiIKLSJMYXN0LVRyYW5zbGF0b3I6IEplYW4tTm/Dq2wgQXZpbGEgPGpuLmF2aWxhQGZyZWUuZnI+XG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTktMTItMzAgMDg6NDgrMDgwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTktMTItMzEgMTc6MzcrMDEwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogQ8OpZHJpYyBNYWxhcmQgPGMubWFsYXJkLWdpdEB2YWxkdW4ubmV0PlxuIgogIkxhbmd1YWdlLVRlYW06IEplYW4tTm/Dq2wgQXZpbGEgPGpuLmF2aWxhQGZyZWUuZnI+XG4iCiAiTGFuZ3VhZ2U6IGZyXG4iCiAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiAiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9bjw9MSA/MCA6IDE7XG4iCisiWC1HZW5lcmF0b3I6IFBvZWRpdCAyLjIuM1xuIgogCi0jOiBhZHZpY2UuYzo5OQorIzogYWRkLWludGVyYWN0aXZlLmM6MzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkh1aCAoJXMpPyIKK21zZ3N0ciAiSGVpbiAoJXMpwqA/IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo1MDAgYWRkLWludGVyYWN0aXZlLmM6ODAxIHNlcXVlbmNlci5jOjMyMTYKKyM6IHNlcXVlbmNlci5jOjM2NTYgYnVpbHRpbi9yZWJhc2UuYzo4NzEgYnVpbHRpbi9yZWJhc2UuYzoxNjQzCisjOiBidWlsdGluL3JlYmFzZS5jOjIwMTkgYnVpbHRpbi9yZWJhc2UuYzoyMDYzCittc2dpZCAiY291bGQgbm90IHJlYWQgaW5kZXgiCittc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsJ2luZGV4IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo1NTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNjkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Mjk0Cittc2dpZCAiYmluYXJ5IgorbXNnc3RyICJiaW5haXJlIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2MTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNzgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzMyCittc2dpZCAibm90aGluZyIKK21zZ3N0ciAicmllbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NjE0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzE0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMyOQorbXNnaWQgInVuY2hhbmdlZCIKK21zZ3N0ciAiaW5jaGFuZ8OpIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2NTEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NDMKK21zZ2lkICJVcGRhdGUiCittc2dzdHIgIk1pc2Ugw6Agam91ciIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NjY4IGFkZC1pbnRlcmFjdGl2ZS5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhZ2UgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2luZGV4ZXIgJyVzJyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6Njc0IGFkZC1pbnRlcmFjdGl2ZS5jOjg2MyBzZXF1ZW5jZXIuYzozNDA5CisjOiBidWlsdGluL3JlYmFzZS5jOjg5NQorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBpbmRleCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbCdpbmRleCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6Njc3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjI4CisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJ1cGRhdGVkICVkIHBhdGhcbiIKK21zZ2lkX3BsdXJhbCAidXBkYXRlZCAlZCBwYXRoc1xuIgorbXNnc3RyWzBdICIlZCBjaGVtaW4gbWlzIMOgIGpvdXJcbiIKK21zZ3N0clsxXSAiJWQgY2hlbWlucyBtaXMgw6Agam91clxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2OTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzgKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgIm5vdGU6ICVzIGlzIHVudHJhY2tlZCBub3cuXG4iCittc2dzdHIgIm5vdGXCoDogJXMgbidlc3QgcGx1cyBzdWl2aSDDoCBwcsOpc2VudC5cbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NzAwIGFwcGx5LmM6NDEwOCBidWlsdGluL2NoZWNrb3V0LmM6MjgxCisjOiBidWlsdGluL3Jlc2V0LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCittc2dzdHIgIsOpY2hlYyBkZSBtYWtlX2NhY2hlX2VudHJ5IHBvdXIgbGUgY2hlbWluICclcyciCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjczMCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY1NQorbXNnaWQgIlJldmVydCIKK21zZ3N0ciAiSW52ZXJzZXIiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjc0NgorbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBIRUFEXnt0cmVlfSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIEhFQURee3RyZWV9IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo3ODQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzEKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgInJldmVydGVkICVkIHBhdGhcbiIKK21zZ2lkX3BsdXJhbCAicmV2ZXJ0ZWQgJWQgcGF0aHNcbiIKK21zZ3N0clswXSAiJWQgY2hlbWluIGludmVyc8OpXG4iCittc2dzdHJbMV0gIiVkIGNoZW1pbnMgaW52ZXJzw6lzXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjgzNSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY5NQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1bnRyYWNrZWQgZmlsZXMuXG4iCittc2dzdHIgIkF1Y3VuIEZpY2hpZXIgbm9uIHN1aXZpLlxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo4MzkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2ODkKK21zZ2lkICJBZGQgdW50cmFja2VkIgorbXNnc3RyICJBam91dGVyIHVuIGZpY2hpZXIgbm9uLXN1aXZpIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo4NjYgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MjUKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgImFkZGVkICVkIHBhdGhcbiIKK21zZ2lkX3BsdXJhbCAiYWRkZWQgJWQgcGF0aHNcbiIKK21zZ3N0clswXSAiJWQgY2hlbWluIGFqb3V0w6lcbiIKK21zZ3N0clsxXSAiJWQgY2hlbWlucyBham91dMOpc1xuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5tZXJnZWQ6ICVzIgorbXNnc3RyICJmaWNoaWVyIG5vbi1mdXNpb25uw6kgaWdub3LDqcKgOiAlcyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTA4IGFkZC1wYXRjaC5jOjEzMzEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIk9ubHkgYmluYXJ5IGZpbGVzIGNoYW5nZWQuXG4iCittc2dzdHIgIlNldWxzIGRlcyBmaWNoaWVycyBiaW5haXJlcyBvbnQgY2hhbmfDqS5cbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTEwIGFkZC1wYXRjaC5jOjEzMjkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIGNoYW5nZXMuXG4iCittc2dzdHIgIkF1Y3VuZSBtb2RpZmljYXRpb24uXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjkxNCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzYKK21zZ2lkICJQYXRjaCB1cGRhdGUiCittc2dzdHIgIk1pc2Ugw6Agam91ciBwYXIgcGF0Y2giCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk1MyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NTQKK21zZ2lkICJSZXZpZXcgZGlmZiIKK21zZ3N0ciAiUsOpdmlzZXIgbGEgZGlmZsOpcmVuY2UiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4MQorbXNnaWQgInNob3cgcGF0aHMgd2l0aCBjaGFuZ2VzIgorbXNnc3RyICJhZmZpY2hlciBsZXMgY2hlbWlucyBjb21wcmVuYW50IGRlcyBtb2RpZmljYXRpb25zIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5ODMKK21zZ2lkICJhZGQgd29ya2luZyB0cmVlIHN0YXRlIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXMiCittc2dzdHIgImFqb3V0ZXIgbCfDqXRhdCBkZSBsJ2FyYnJlIGRlIHRyYXZhaWwgw6AgbCdlbnNlbWJsZSBkZXMgbW9kaWZpY2F0aW9ucyBpbmRleMOpZXMiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4NQorbXNnaWQgInJldmVydCBzdGFnZWQgc2V0IG9mIGNoYW5nZXMgYmFjayB0byB0aGUgSEVBRCB2ZXJzaW9uIgorbXNnc3RyICJyZXRvdXJuZXIgbCdlbnNlbWJsZSBkZSBtb2RpZmljYXRpb25zIGluZGV4w6llcyDDoCBsYSB2ZXJzaW9uIEhFQUQiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4NworbXNnaWQgInBpY2sgaHVua3MgYW5kIHVwZGF0ZSBzZWxlY3RpdmVseSIKK21zZ3N0ciAic8OpbGVjdGlvbiBldCBtaXNlIMOgIGpvdXIgaW5kaXZpZHVlbGxlIGRlcyBzZWN0aW9ucyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTg5Cittc2dpZCAidmlldyBkaWZmIGJldHdlZW4gSEVBRCBhbmQgaW5kZXgiCittc2dzdHIgInZpc3VhbGlzZXIgbGVzIGRpZmZzIGVudHJlIEhFQUQgZXQgbCdpbmRleCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTkxCittc2dpZCAiYWRkIGNvbnRlbnRzIG9mIHVudHJhY2tlZCBmaWxlcyB0byB0aGUgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzIgorbXNnc3RyICJham91dGVyIGxlIGNvbnRlbnUgZGVzIGZpY2hpZXJzIG5vbi1zdWl2aXMgw6AgbCdlbnNlbWJsZSBkZXMgbW9kaWZpY2F0aW9ucyBpbmRleMOpZXMiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk5OSBhZGQtaW50ZXJhY3RpdmUuYzoxMDQ4Cittc2dpZCAiUHJvbXB0IGhlbHA6IgorbXNnc3RyICJBaWRlwqA6IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDAxCittc2dpZCAic2VsZWN0IGEgc2luZ2xlIGl0ZW0iCittc2dzdHIgInPDqWxlY3Rpb25uZXIgdW4gc2V1bCDDqWzDqW1lbnQiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDMKK21zZ2lkICJzZWxlY3QgYSByYW5nZSBvZiBpdGVtcyIKK21zZ3N0ciAic8OpbGVjdGlvbm5lciB1bmUgcGxhZ2UgZCfDqWzDqW1lbnRzIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDA1Cittc2dpZCAic2VsZWN0IG11bHRpcGxlIHJhbmdlcyIKK21zZ3N0ciAic8OpbGVjdGlvbm5lciBwbHVzaWV1cnMgcGxhZ2VzIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDA3IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNTIKK21zZ2lkICJzZWxlY3QgaXRlbSBiYXNlZCBvbiB1bmlxdWUgcHJlZml4IgorbXNnc3RyICJzw6lsZWN0aW9ubmVyIHVuIMOpbMOpbWVudCBiYXPDqSBzdXIgdW5lIHByw6lmaXhlIHVuaXF1ZSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAwOQorbXNnaWQgInVuc2VsZWN0IHNwZWNpZmllZCBpdGVtcyIKK21zZ3N0ciAiZMOpc8OpbGVjdGlvbm5lciBsZXMgw6lsw6ltZW50cyBzcMOpY2lmacOpcyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAxMQorbXNnaWQgImNob29zZSBhbGwgaXRlbXMiCittc2dzdHIgImNob2lzaXIgdG91cyBsZXMgw6lsw6ltZW50cyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAxMworbXNnaWQgIihlbXB0eSkgZmluaXNoIHNlbGVjdGluZyIKK21zZ3N0ciAiKHZpZGUpIGFycsOqdGVyIGRlIHPDqWxlY3Rpb25uZXIiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNTAKK21zZ2lkICJzZWxlY3QgYSBudW1iZXJlZCBpdGVtIgorbXNnc3RyICJzw6lsZWN0aW9ubmVyIHVuIMOpbMOpbWVudCBwYXIgc29uIG51bcOpcm8iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNTQKK21zZ2lkICIoZW1wdHkpIHNlbGVjdCBub3RoaW5nIgorbXNnc3RyICIodmlkZSkgbmUgcmllbiBzw6lsZWN0aW9ubmVyIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDYyIGJ1aWx0aW4vY2xlYW4uYzo4MjIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODUxCittc2dpZCAiKioqIENvbW1hbmRzICoqKiIKK21zZ3N0ciAiKioqIENvbW1hbmRlcyAqKioiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNjMgYnVpbHRpbi9jbGVhbi5jOjgyMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4NDgKK21zZ2lkICJXaGF0IG5vdyIKK21zZ3N0ciAiRXQgbWFpbnRlbmFudCA/IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjEzCittc2dpZCAic3RhZ2VkIgorbXNnc3RyICJpbmRleMOpIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjEzCittc2dpZCAidW5zdGFnZWQiCittc2dzdHIgIm5vbi1pbmRleMOpIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGFwcGx5LmM6NDk2NSBhcHBseS5jOjQ5NjggYnVpbHRpbi9hbS5jOjIxOTcKKyM6IGJ1aWx0aW4vYW0uYzoyMjAwIGJ1aWx0aW4vY2xvbmUuYzoxMjMgYnVpbHRpbi9mZXRjaC5jOjE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjI3MyBidWlsdGluL3B1bGwuYzoyMDkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjExOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMworbXNnaWQgInBhdGgiCittc2dzdHIgImNoZW1pbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTEyMgorbXNnaWQgImNvdWxkIG5vdCByZWZyZXNoIGluZGV4IgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHJhZnJhw65jaGlyIGwnaW5kZXgiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjExMzYgYnVpbHRpbi9jbGVhbi5jOjc4NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnllLlxuIgorbXNnc3RyICJBdSByZXZvaXIuXG4iCisKKyM6IGFkZC1wYXRjaC5jOjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YWdlIG1vZGUgY2hhbmdlIFt5LG4sYSxxLGQlcyw/XT8gIgorbXNnc3RyICJJbmRleGVyIGxlIGNoYW5nZW1lbnQgZGUgbW9kZSBbeSxuLGEscSxkJXMsP13CoD8gIgorCisjOiBhZGQtcGF0Y2guYzoxNgorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFnZSBkZWxldGlvbiBbeSxuLGEscSxkJXMsP10/ICIKK21zZ3N0ciAiSW5kZXhlciBsYSBzdXBwcmVzc2lvbiBbeSxuLGEscSxkJXMsP13CoD8gIgorCisjOiBhZGQtcGF0Y2guYzoxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdGFnZSB0aGlzIGh1bmsgW3ksbixhLHEsZCVzLD9dPyAiCittc2dzdHIgIkluZGV4ZXIgY2V0dGUgc2VjdGlvbiBbeSxuLGEscSxkJXMsP13CoD8gIgorCisjOiBhZGQtcGF0Y2guYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGh1bmsgaGVhZGVyICclLipzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGwnZW50w6p0ZSBkZSBzZWN0aW9uICclLipzJyIKKworIzogYWRkLXBhdGNoLmM6MTMwIGFkZC1wYXRjaC5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29sb3JlZCBodW5rIGhlYWRlciAnJS4qcyciCittc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsJ2VudMOqdGUgY29sb3LDqSBkZSBzZWN0aW9uICclLipzJyIKKworIzogYWRkLXBhdGNoLmM6MTc2Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGRpZmYiCittc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsYSBkaWZmIgorCisjOiBhZGQtcGF0Y2guYzoxOTQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29sb3JlZCBkaWZmIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGEgZGlmZiBjb2xvcsOpZSIKKworIzogYWRkLXBhdGNoLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJleHBlY3RlZCBjb250ZXh0IGxpbmUgIyVkIGluXG4iCisiJS4qcyIKK21zZ3N0ciAiIgorImxpZ25lIGRlIGNvbnRleHRlIGF0dGVuZHVlICMlZCBkYW5zXG4iCisiJS4qcyIKKworIzogYWRkLXBhdGNoLmM6NTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJodW5rcyBkbyBub3Qgb3ZlcmxhcDpcbiIKKyIlLipzXG4iCisiXHRkb2VzIG5vdCBlbmQgd2l0aDpcbiIKKyIlLipzIgorbXNnc3RyICIiCisibGVzIHNlY3Rpb25zIG5lIHNlIHJlY291dnJlbnQgcGFzwqA6XG4iCisiJS4qc1xuIgorIlx0bmUgc2UgdGVybWluZSBwYXMgcGFywqA6XG4iCisiJS4qcyIKKworIzogYWRkLXBhdGNoLmM6Nzk5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTExMgorbXNnaWQgIk1hbnVhbCBodW5rIGVkaXQgbW9kZSAtLSBzZWUgYm90dG9tIGZvciBhIHF1aWNrIGd1aWRlLlxuIgorbXNnc3RyICIiCisiTW9kZSBkJ8OpZGl0aW9uIG1hbnVlbGxlIGRlIHNlY3Rpb24gLS0gdm9pciBjaS1kZXNzb3VzIHBvdXIgdW4gZ3VpZGUgcmFwaWRlLlxuIgorCisjOiBhZGQtcGF0Y2guYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLVxuIgorIlRvIHJlbW92ZSAnJWMnIGxpbmVzLCBtYWtlIHRoZW0gJyAnIGxpbmVzIChjb250ZXh0KS5cbiIKKyJUbyByZW1vdmUgJyVjJyBsaW5lcywgZGVsZXRlIHRoZW0uXG4iCisiTGluZXMgc3RhcnRpbmcgd2l0aCAlYyB3aWxsIGJlIHJlbW92ZWQuXG4iCittc2dzdHIgIiIKKyItLS1cbiIKKyJQb3VyIMOpbGltaW5lciBsZXMgbGlnbmVzICclYycsIHJlbmRlei1sZXMgJyAnIChjb250ZXh0ZSkuXG4iCisiUG91ciDDqWxpbWluZXIgbGVzIGxpZ25lcyAnJWMnLCBlZmZhY2V6LWxlcy5cbiIKKyJMZXMgbGlnbmVzIGNvbW1lbsOnYW50IHBhciAlYyBzZXJvbnQgw6lsaW1pbsOpZXMuXG4iCisKKyM6IGFkZC1wYXRjaC5jOjgxMAorbXNnaWQgIiIKKyJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgorIm1hcmtlZCBmb3Igc3RhZ2luZy5cbiIKK21zZ3N0ciAiIgorIlNpIGxlIHBhdGNoIHMnYXBwbGlxdWUgcHJvcHJlbWVudCwgbGEgc2VjdGlvbiDDqWRpdMOpZSBzZXJhXG4iCisiaW1tw6lkaWF0ZW1lbnQgbWFycXXDqWUgY29tbWUgaW5kZXjDqWUuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiAnaXQnIHJlZmVycyB0byB0aGUgcGF0Y2ggbWVudGlvbmVkIGluIHRoZSBwcmV2aW91cyBtZXNzYWdlcy4KKyM6IGFkZC1wYXRjaC5jOjgxOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMjYKK21zZ2lkICIiCisiSWYgaXQgZG9lcyBub3QgYXBwbHkgY2xlYW5seSwgeW91IHdpbGwgYmUgZ2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG9cbiIKKyJlZGl0IGFnYWluLiAgSWYgYWxsIGxpbmVzIG9mIHRoZSBodW5rIGFyZSByZW1vdmVkLCB0aGVuIHRoZSBlZGl0IGlzXG4iCisiYWJvcnRlZCBhbmQgdGhlIGh1bmsgaXMgbGVmdCB1bmNoYW5nZWQuXG4iCittc2dzdHIgIiIKKyJTaSDDp2EgbmUgcydhcHBsaXF1ZSBwYXMgcHJvcHJlbWVudCwgdm91cyBhdXJleiBsYSBwb3NzaWJpbGl0w6kgZGVcbiIKKyJsJ8OpZGl0ZXIgw6Agbm91dmVhdS4gU2kgdG91dGVzIGxlcyBsaWduZXMgZGUgbGEgc2VjdGlvbiBzb250IHN1cHByaW3DqWVzLFxuIgorImFsb3JzIGwnw6lkaXRpb24gc2VyYSBhYmFuZG9ubsOpZSBldCBsYSBzZWN0aW9uIGNvbnNlcnbDqWUuXG4iCisKKyM6IGFkZC1wYXRjaC5jOjg1MQorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBodW5rIGhlYWRlciIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGwnZW50w6p0ZSBkZSBzZWN0aW9uIgorCisjOiBhZGQtcGF0Y2guYzo4OTUgYWRkLXBhdGNoLmM6MTI5NAorbXNnaWQgIidnaXQgYXBwbHkgLS1jYWNoZWQnIGZhaWxlZCIKK21zZ3N0ciAiJ2dpdCBhcHBseSAtLWNhY2hlZCcgYSDDqWNob3XDqSIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgW3kvbl0KKyMuIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgdGhhdCBpbnB1dCBhdCB0aGlzIHBvaW50LgorIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKKyMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCisjLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KKyMuCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSBbeS9uXQorIy4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCB0aGF0IGlucHV0CisjLiBhdCB0aGlzIHBvaW50LgorIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKKyMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCisjLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KKyM6IGFkZC1wYXRjaC5jOjk1MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMzkKK21zZ2lkICIiCisiWW91ciBlZGl0ZWQgaHVuayBkb2VzIG5vdCBhcHBseS4gRWRpdCBhZ2FpbiAoc2F5aW5nIFwibm9cIiBkaXNjYXJkcyEpIFt5L25dPyAiCittc2dzdHIgIiIKKyJWb3RyZSBzZWN0aW9uIMOpZGl0w6llIG5lIHMnYXBwbGlxdWUgcGFzLiBMJ8OpZGl0ZXIgw6Agbm91dmVhdSAoXCJub1wiICIKKyJsJ8OpbGltaW5lwqAhKSBbeXxuXcKgPyAiCisKKyM6IGFkZC1wYXRjaC5jOjEwMDkKK21zZ2lkICIiCisieSAtIHN0YWdlIHRoaXMgaHVua1xuIgorIm4gLSBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rXG4iCisicSAtIHF1aXQ7IGRvIG5vdCBzdGFnZSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSBzdGFnZSB0aGlzIGFuZCBhbGwgdGhlIHJlbWFpbmluZyBodW5rc1xuIgorImQgLSBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rIG5vciBhbnkgb2YgdGhlIHJlbWFpbmluZyBodW5rc1xuIgorbXNnc3RyICIiCisieSAtIGluZGV4ZXIgY2V0dGUgc2VjdGlvblxuIgorIm4gLSBuZSBwYXMgaW5kZXhlciBjZXR0ZSBzZWN0aW9uXG4iCisicSAtIHF1aXR0ZXLCoDsgbmUgcGFzIGluZGV4ZXIgY2V0dGUgc2VjdGlvbiBuaSBsZXMgYXV0cmVzIHJlc3RhbnRlc1xuIgorImEgLSBpbmRleGVyIGNldHRlIHNlY3Rpb24gZXQgdG91dGVzIGxlcyBzdWl2YW50ZXNcbiIKKyJkIC0gbmUgcGFzIGluZGV4ZXIgY2V0dGUgc2VjdGlvbiBuaSBsZXMgc3VpdmFudGVzXG4iCisKKyM6IGFkZC1wYXRjaC5jOjEwMTYKK21zZ2lkICIiCisiaiAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBuZXh0IHVuZGVjaWRlZCBodW5rXG4iCisiSiAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBuZXh0IGh1bmtcbiIKKyJrIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIHByZXZpb3VzIHVuZGVjaWRlZCBodW5rXG4iCisiSyAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBwcmV2aW91cyBodW5rXG4iCisiZyAtIHNlbGVjdCBhIGh1bmsgdG8gZ28gdG9cbiIKKyIvIC0gc2VhcmNoIGZvciBhIGh1bmsgbWF0Y2hpbmcgdGhlIGdpdmVuIHJlZ2V4XG4iCisicyAtIHNwbGl0IHRoZSBjdXJyZW50IGh1bmsgaW50byBzbWFsbGVyIGh1bmtzXG4iCisiZSAtIG1hbnVhbGx5IGVkaXQgdGhlIGN1cnJlbnQgaHVua1xuIgorIj8gLSBwcmludCBoZWxwXG4iCittc2dzdHIgIiIKKyJqIC0gbGFpc3NlciBjZXR0ZSBzZWN0aW9uIG5vbiBkw6ljaWTDqWUgZXQgYWxsZXIgw6AgbGEgc3VpdmFudGUgbm9uLWTDqWNpZMOpZVxuIgorIkogLSBsYWlzc2VyIGNldHRlIHNlY3Rpb24gbm9uIGTDqWNpZMOpZSBldCBhbGxlciDDoCBsYSBzdWl2YW50ZVxuIgorImsgLSBsYWlzc2VyIGNldHRlIHNlY3Rpb24gbm9uIGTDqWNpZMOpZSBldCBhbGxlciDDoCBsYSBwcsOpY8OpZGVudGUgbm9uLWTDqWNpZMOpZVxuIgorIksgLSBsYWlzc2VyIGNldHRlIHNlY3Rpb24gbm9uIGTDqWNpZMOpZSBldCBhbGxlciDDoCBsYSBwcsOpY8OpZGVudGVcbiIKKyJnIC0gc8OpbGVjdGlvbm5lciB1bmUgc2VjdGlvbiBldCBzJ3kgcmVuZHJlXG4iCisiLyAtIHJlY2hlcmNoZXIgdW5lIHNlY3Rpb24gY29ycmVzcG9uZGFudCDDoCB1bmUgcmVnZXggZG9ubsOpZVxuIgorInMgLSBkw6ljb3VwZXIgbGEgc2VjdGlvbiBlbiBzZWN0aW9ucyBwbHVzIHBldGl0ZXNcbiIKKyJlIC0gw6lkaXRlciBtYW51ZWxsZW1lbnQgbGEgc2VjdGlvbiBhY3R1ZWxsZVxuIgorIj8gLSBhZmZpY2hlciBsJ2FpZGVcbiIKKworIzogYWRkLXBhdGNoLmM6MTEzNyBhZGQtcGF0Y2guYzoxMTQ3Cittc2dpZCAiTm8gcHJldmlvdXMgaHVuayIKK21zZ3N0ciAiUGFzIGRlIHNlY3Rpb24gcHLDqWPDqWRlbnRlIgorCisjOiBhZGQtcGF0Y2guYzoxMTQyIGFkZC1wYXRjaC5jOjExNTIKK21zZ2lkICJObyBuZXh0IGh1bmsiCittc2dzdHIgIlBhcyBkZSBzZWN0aW9uIHN1aXZhbnRlIgorCisjOiBhZGQtcGF0Y2guYzoxMTU4Cittc2dpZCAiTm8gb3RoZXIgaHVua3MgdG8gZ290byIKK21zZ3N0ciAiQXVjdW5lIGF1dHJlIHNlY3Rpb24gw6AgYXR0ZWluZHJlIgorCisjOiBhZGQtcGF0Y2guYzoxMTY5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3NworbXNnaWQgImdvIHRvIHdoaWNoIGh1bmsgKDxyZXQ+IHRvIHNlZSBtb3JlKT8gIgorbXNnc3RyICJhbGxlciDDoCBxdWVsbGUgc2VjdGlvbiAoPHJldD4gcG91ciB2b2lyIHBsdXMpwqA/ICIKKworIzogYWRkLXBhdGNoLmM6MTE3MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzkKK21zZ2lkICJnbyB0byB3aGljaCBodW5rPyAiCittc2dzdHIgImFsbGVyIMOgIHF1ZWxsZSBzZWN0aW9uwqA/ICIKKworIzogYWRkLXBhdGNoLmM6MTE4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG51bWJlcjogJyVzJyIKK21zZ3N0ciAiTnVtw6lybyBpbnZhbGlkZSA6ICclcyciCisKKyM6IGFkZC1wYXRjaC5jOjExODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU29ycnksIG9ubHkgJWQgaHVuayBhdmFpbGFibGUuIgorbXNnaWRfcGx1cmFsICJTb3JyeSwgb25seSAlZCBodW5rcyBhdmFpbGFibGUuIgorbXNnc3RyWzBdICJEw6lzb2zDqSwgJWQgc2V1bGUgc2VjdGlvbiBkaXNwb25pYmxlLiIKK21zZ3N0clsxXSAiRMOpc29sw6ksIFNldWxlbWVudCAlZCBzZWN0aW9ucyBkaXNwb25pYmxlcy4iCisKKyM6IGFkZC1wYXRjaC5jOjExOTUKK21zZ2lkICJObyBvdGhlciBodW5rcyB0byBzZWFyY2giCittc2dzdHIgImF1Y3VuZSBhdXRyZSBzZWN0aW9uIMOgIHJlY2hlcmNoZXIiCisKKyM6IGFkZC1wYXRjaC5jOjEyMDEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjIzCittc2dpZCAic2VhcmNoIGZvciByZWdleD8gIgorbXNnc3RyICJyZWNoZXJjaGVyIGxhIHJlZ2V4wqA/ICIKKworIzogYWRkLXBhdGNoLmM6MTIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJNYWxmb3JtZWQgc2VhcmNoIHJlZ2V4cCAlczogJXMiCittc2dzdHIgIlJlZ2V4IGRlIHJlY2hlcmNoZSBtYWxmb3Jtw6llICVzwqA6ICVzIgorCisjOiBhZGQtcGF0Y2guYzoxMjMzCittc2dpZCAiTm8gaHVuayBtYXRjaGVzIHRoZSBnaXZlbiBwYXR0ZXJuIgorbXNnc3RyICJBdWN1bmUgc2VjdGlvbiBuZSBjb3JyZXNwb25kIGF1IG1vdGlmIGRvbm7DqSIKKworIzogYWRkLXBhdGNoLmM6MTI0MAorbXNnaWQgIlNvcnJ5LCBjYW5ub3Qgc3BsaXQgdGhpcyBodW5rIgorbXNnc3RyICJEw6lzb2zDqSwgaW1wb3NzaWJsZSBkZSBkw6ljb3VwZXIgY2V0dGUgc2VjdGlvbiIKKworIzogYWRkLXBhdGNoLmM6MTI0NAorIywgYy1mb3JtYXQKK21zZ2lkICJTcGxpdCBpbnRvICVkIGh1bmtzLiIKK21zZ3N0ciAiRMOpY291cMOpZSBlbiAlZCBzZWN0aW9ucy4iCisKKyM6IGFkZC1wYXRjaC5jOjEyNDgKK21zZ2lkICJTb3JyeSwgY2Fubm90IGVkaXQgdGhpcyBodW5rIgorbXNnc3RyICJEw6lzb2zDqSwgaW1wb3NzaWJsZSBkJ8OpZGl0ZXIgY2V0dGUgc2VjdGlvbiIKKworIzogYWR2aWNlLmM6MTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzaGludDogJS4qcyVzXG4iCiBtc2dzdHIgIiVzYXN0dWNlOiAlLipzJXNcbiIKIAotIzogYWR2aWNlLmM6MTUyCisjOiBhZHZpY2UuYzoxNjQKIG1zZ2lkICJDaGVycnktcGlja2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcGljb3JlciBjYXIgdm91cyBhdmV6IGRlcyBmaWNoaWVycyBub24gZnVzaW9ubsOpcy4iCiAKLSM6IGFkdmljZS5jOjE1NAorIzogYWR2aWNlLmM6MTY2CiBtc2dpZCAiQ29tbWl0dGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgdmFsaWRlciBjYXIgdm91cyBhdmV6IGRlcyBmaWNoaWVycyBub24gZnVzaW9ubsOpcy4iCiAKLSM6IGFkdmljZS5jOjE1NgorIzogYWR2aWNlLmM6MTY4CiBtc2dpZCAiTWVyZ2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZnVzaW9ubmVyIGNhciB2b3VzIGF2ZXogZGVzIGZpY2hpZXJzIG5vbiBmdXNpb25uw6lzLiIKIAotIzogYWR2aWNlLmM6MTU4CisjOiBhZHZpY2UuYzoxNzAKIG1zZ2lkICJQdWxsaW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSB0aXJlciBjYXIgdm91cyBhdmV6IGRlcyBmaWNoaWVycyBub24gZnVzaW9ubsOpcy4iCiAKLSM6IGFkdmljZS5jOjE2MAorIzogYWR2aWNlLmM6MTcyCiBtc2dpZCAiUmV2ZXJ0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FubnVsZXIgY2FyIHZvdXMgYXZleiBkZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMuIgogCi0jOiBhZHZpY2UuYzoxNjIKKyM6IGFkdmljZS5jOjE3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJJdCBpcyBub3QgcG9zc2libGUgdG8gJXMgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIiVzIG4nZXN0IHBhcyBwb3NzaWJsZSBjYXIgdm91cyBhdmV6IGRlcyBmaWNoaWVycyBub24gZnVzaW9ubsOpcy4iCiAKLSM6IGFkdmljZS5jOjE3MAorIzogYWR2aWNlLmM6MTgyCiBtc2dpZCAiIgogIkZpeCB0aGVtIHVwIGluIHRoZSB3b3JrIHRyZWUsIGFuZCB0aGVuIHVzZSAnZ2l0IGFkZC9ybSA8ZmlsZT4nXG4iCiAiYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uIGFuZCBtYWtlIGEgY29tbWl0LiIKQEAgLTEyMiwxNDcgKzU1MSwxNTggQEAKICJDb3JyaWdlei1sZXMgcHVpcyBsYW5jZXogJ2dpdCBhZGQvcm0gPGZpY2hpZXI+J1xuIgogInNpIG7DqWNlc3NhaXJlIHBvdXIgbWFycXVlciBsYSByw6lzb2x1dGlvbiBldCB2YWxpZGVyLiIKIAotIzogYWR2aWNlLmM6MTc4CisjOiBhZHZpY2UuYzoxOTAKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgYW4gdW5yZXNvbHZlZCBjb25mbGljdC4iCiBtc2dzdHIgIkFiYW5kb24gw6AgY2F1c2UgZGUgY29uZmxpdCBub24gcsOpc29sdS4iCiAKLSM6IGFkdmljZS5jOjE4MyBidWlsdGluL21lcmdlLmM6MTI4OQorIzogYWR2aWNlLmM6MTk1IGJ1aWx0aW4vbWVyZ2UuYzoxMzMyCiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuIgogbXNnc3RyICJWb3VzIG4nYXZleiBwYXMgdGVybWluw6kgdm90cmUgZnVzaW9uIChNRVJHRV9IRUFEIGV4aXN0ZSkuIgogCi0jOiBhZHZpY2UuYzoxODUKKyM6IGFkdmljZS5jOjE5NwogbXNnaWQgIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgbWVyZ2luZy4iCiBtc2dzdHIgIlZldWlsbGV6IHZhbGlkZXIgdm9zIGNoYW5nZW1lbnRzIGF2YW50IGRlIGZ1c2lvbm5lci4iCiAKLSM6IGFkdmljZS5jOjE4NgorIzogYWR2aWNlLmM6MTk4CiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIHVuZmluaXNoZWQgbWVyZ2UuIgogbXNnc3RyICJBYmFuZG9uIMOgIGNhdXNlIGQndW5lIGZ1c2lvbiBub24gdGVybWluw6llLiIKIAotIzogYWR2aWNlLmM6MTkyCisjOiBhZHZpY2UuYzoyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgotIk5vdGU6IGNoZWNraW5nIG91dCAnJXMnLlxuIgorIk5vdGU6IHN3aXRjaGluZyB0byAnJXMnLlxuIgogIlxuIgogIllvdSBhcmUgaW4gJ2RldGFjaGVkIEhFQUQnIHN0YXRlLiBZb3UgY2FuIGxvb2sgYXJvdW5kLCBtYWtlIGV4cGVyaW1lbnRhbFxuIgogImNoYW5nZXMgYW5kIGNvbW1pdCB0aGVtLCBhbmQgeW91IGNhbiBkaXNjYXJkIGFueSBjb21taXRzIHlvdSBtYWtlIGluIHRoaXNcbiIKLSJzdGF0ZSB3aXRob3V0IGltcGFjdGluZyBhbnkgYnJhbmNoZXMgYnkgcGVyZm9ybWluZyBhbm90aGVyIGNoZWNrb3V0LlxuIgorInN0YXRlIHdpdGhvdXQgaW1wYWN0aW5nIGFueSBicmFuY2hlcyBieSBzd2l0Y2hpbmcgYmFjayB0byBhIGJyYW5jaC5cbiIKICJcbiIKICJJZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBuZXcgYnJhbmNoIHRvIHJldGFpbiBjb21taXRzIHlvdSBjcmVhdGUsIHlvdSBtYXlcbiIKLSJkbyBzbyAobm93IG9yIGxhdGVyKSBieSB1c2luZyAtYiB3aXRoIHRoZSBjaGVja291dCBjb21tYW5kIGFnYWluLiBFeGFtcGxlOlxuIgorImRvIHNvIChub3cgb3IgbGF0ZXIpIGJ5IHVzaW5nIC1jIHdpdGggdGhlIHN3aXRjaCBjb21tYW5kLiBFeGFtcGxlOlxuIgogIlxuIgotIiAgZ2l0IGNoZWNrb3V0IC1iIDxuZXctYnJhbmNoLW5hbWU+XG4iCisiICBnaXQgc3dpdGNoIC1jIDxuZXctYnJhbmNoLW5hbWU+XG4iCisiXG4iCisiT3IgdW5kbyB0aGlzIG9wZXJhdGlvbiB3aXRoOlxuIgorIlxuIgorIiAgZ2l0IHN3aXRjaCAtXG4iCisiXG4iCisiVHVybiBvZmYgdGhpcyBhZHZpY2UgYnkgc2V0dGluZyBjb25maWcgdmFyaWFibGUgYWR2aWNlLmRldGFjaGVkSGVhZCB0byAiCisiZmFsc2VcbiIKICJcbiIKIG1zZ3N0ciAiIgotIk5vdGXCoDogZXh0cmFjdGlvbiBkZSAnJXMnLlxuIgorIk5vdGXCoDogYmFzY3VsZW1lbnQgc3VyICclcycuXG4iCiAiXG4iCiAiVm91cyDDqnRlcyBkYW5zIGwnw6l0YXQgwqvCoEhFQUQgZMOpdGFjaMOpZcKgwrsuIFZvdXMgcG91dmV6IHZpc2l0ZXIsIGZhaXJlIGRlcyAiCiAibW9kaWZpY2F0aW9uc1xuIgotImV4cMOpcmltZW50YWxlcyBldCBsZXMgdmFsaWRlci4gSWwgdm91cyBzdWZmaXQgZGUgZmFpcmUgdW5lIGF1dHJlIGV4dHJhY3Rpb24gIgorImV4cMOpcmltZW50YWxlcyBldCBsZXMgdmFsaWRlci4gSWwgdm91cyBzdWZmaXQgZGUgZmFpcmUgdW4gYXV0cmUgYmFzY3VsZW1lbnQgIgogInBvdXJcbiIKICJhYmFuZG9ubmVyIGxlcyBjb21taXRzIHF1ZSB2b3VzIGZhaXRlcyBkYW5zIGNldCDDqXRhdCBzYW5zIGltcGFjdGVyIGxlcyAiCiAiYXV0cmVzIGJyYW5jaGVzXG4iCiAiXG4iCiAiU2kgdm91cyB2b3VsZXogY3LDqWVyIHVuZSBub3V2ZWxsZSBicmFuY2hlIHBvdXIgY29uc2VydmVyIGxlcyBjb21taXRzIHF1ZSAiCiAidm91cyBjcsOpZXosXG4iCi0iaWwgdm91cyBzdWZmaXQgZCd1dGlsaXNlciDCq8KgY2hlY2tvdXQgLWLCoMK7IChtYWludGVuYW50IG91IHBsdXMgdGFyZCkgY29tbWUgIgotImNlY2nCoDpcbiIKKyJpbCB2b3VzIHN1ZmZpdCBkJ3V0aWxpc2VyIGwnb3B0aW9uIC1jIGRlIGxhIGNvbW1hbmRlIHN3aXRjaCBjb21tZSBjZWNpwqA6XG4iCiAiXG4iCi0iICBnaXQgY2hlY2tvdXQgLWIgPG5vbS1kZS1sYS1ub3V2ZWxsZS1icmFuY2hlPlxuIgorIiAgZ2l0IHN3aXRjaCAtYyA8bm9tLWRlLWxhLW5vdXZlbGxlLWJyYW5jaGU+XG4iCisiXG4iCisiT3UgYW5udWxlciBjZXR0ZSBvcMOpcmF0aW9uIGF2ZWPCoDpcbiIKKyJcbiIKKyIgIGdpdCBzd2l0Y2ggLVxuIgorIlxuIgorIkTDqXNhY3RpdmV6IGNlIGNvbnNlaWwgZW4gcmVuc2VpZ25hbnQgbGEgdmFyaWFibGUgZGUgY29uZmlndXJhdGlvbiBhZHZpY2UuIgorImRldGFjaGVkSGVhZCDDoCBmYWxzZVxuIgogIlxuIgogCi0jOiBhcHBseS5jOjU5CisjOiBhbGlhcy5jOjUwCittc2dpZCAiY21kbGluZSBlbmRzIHdpdGggXFwiCittc2dzdHIgImNtZGxpbmUgc2UgdGVybWluZSBwYXIgXFwiCisKKyM6IGFsaWFzLmM6NTEKK21zZ2lkICJ1bmNsb3NlZCBxdW90ZSIKK21zZ3N0ciAiY2l0YXRpb24gbm9uIGZlcm3DqWUiCisKKyM6IGFwcGx5LmM6NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCiBtc2dzdHIgIm9wdGlvbiBkJ2VzcGFjZSBub24gcmVjb25udWUgJyVzJyIKIAotIzogYXBwbHkuYzo3NQorIzogYXBwbHkuYzo4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCiBtc2dzdHIgIm9wdGlvbiBkJ2lnbm9yYW5jZSBkJ2VzcGFjZSBub24gcmVjb25udWUgJyVzJyIKIAotIzogYXBwbHkuYzoxMjUKKyM6IGFwcGx5LmM6MTM1CiBtc2dpZCAiLS1yZWplY3QgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iCiBtc2dzdHIgIi0tcmVqZWN0IGV0IC0tM3dheSBuZSBwZXV2ZW50IHBhcyDDqnRyZSB1dGlsaXPDqXMgZW5zZW1ibGUuIgogCi0jOiBhcHBseS5jOjEyNworIzogYXBwbHkuYzoxMzcKIG1zZ2lkICItLWNhY2hlZCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKIG1zZ3N0ciAiLS1jYWNoZWQgZXQgLS0zd2F5IG5lIHBldXZlbnQgcGFzIMOqdHJlIHV0aWxpc8OpcyBlbnNlbWJsZS4iCiAKLSM6IGFwcGx5LmM6MTMwCisjOiBhcHBseS5jOjE0MAogbXNnaWQgIi0tM3dheSBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiLS0zd2F5IGhvcnMgZCd1biBkw6lww7R0IgogCi0jOiBhcHBseS5jOjE0MQorIzogYXBwbHkuYzoxNTEKIG1zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLWluZGV4IGhvcnMgZCd1biBkw6lww7R0IgogCi0jOiBhcHBseS5jOjE0NAorIzogYXBwbHkuYzoxNTQKIG1zZ2lkICItLWNhY2hlZCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiLS1jYWNoZWQgaG9ycyBkJ3VuIGTDqXDDtHQiCiAKLSM6IGFwcGx5LmM6ODI2CisjOiBhcHBseS5jOjgwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgcHJlcGFyZSB0aW1lc3RhbXAgcmVnZXhwICVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHByw6lwYXJlciBsYSByZWdleHAgZCdob3JvZGF0YWdlICVzIgogCi0jOiBhcHBseS5jOjgzNQorIzogYXBwbHkuYzo4MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIgogbXNnc3RyICJyZWdleGVjIGEgcmV0b3VybsOpICVkIHBvdXIgbCdlbnRyw6llIDogJXMiCiAKLSM6IGFwcGx5LmM6OTA5CisjOiBhcHBseS5jOjg4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZmluZCBmaWxlbmFtZSBpbiBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICJub20gZGUgZmljaGllciBkdSBwYXRjaCBpbnRyb3V2YWJsZSDDoCBsYSBsaWduZSAlZCIKIAotIzogYXBwbHkuYzo5NDcKKyM6IGFwcGx5LmM6OTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsLCBnb3QgJXMgb24gbGluZSAlZCIKIG1zZ3N0ciAiIgogImdpdCBhcHBseSA6IG1hdXZhaXMgZm9ybWF0IGRlIGdpdC1kaWZmIC0gL2Rldi9udWxsIGF0dGVuZHUsICVzIHRyb3V2w6kgw6AgbGEgIgogImxpZ25lICVkIgogCi0jOiBhcHBseS5jOjk1MworIzogYXBwbHkuYzo5MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgbmV3IGZpbGVuYW1lIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKICJnaXQgYXBwbHkgOiBtYXV2YWlzIGZvcm1hdCBkZSBnaXQtZGlmZiAtIG5vdXZlYXUgbm9tIGRlIGZpY2hpZXIgaW5jb25zaXN0YW50ICIKICLDoCBsYSBsaWduZSAlZCIKIAotIzogYXBwbHkuYzo5NTQKKyM6IGFwcGx5LmM6OTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIgogbXNnc3RyICIiCiAiZ2l0IGFwcGx5IDogbWF1dmFpcyBmb3JtYXQgZGUgZ2l0LWRpZmYgLSBhbmNpZW4gbm9tIGRlIGZpY2hpZXIgaW5jb25zaXN0YW50ICIKICLDoCBsYSBsaWduZSAlZCIKIAotIzogYXBwbHkuYzo5NTkKKyM6IGFwcGx5LmM6OTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKICJnaXQgYXBwbHkgOiBtYXV2YWlzIGZvcm1hdCBkZSBnaXQtZGlmZiAtIC9kZXYvbnVsbCBhdHRlbmR1IMOgIGxhIGxpZ25lICVkIgogCi0jOiBhcHBseS5jOjk4OAorIzogYXBwbHkuYzo5NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBtb2RlIG9uIGxpbmUgJWQ6ICVzIgogbXNnc3RyICJtb2RlIGludmFsaWRlIGRhbnMgbGEgbGlnbmUgJWTCoDogJXMiCiAKLSM6IGFwcGx5LmM6MTMwNworIzogYXBwbHkuYzoxMjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImluY29uc2lzdGVudCBoZWFkZXIgbGluZXMgJWQgYW5kICVkIgogbXNnc3RyICJsaWduZXMgZCdlbnTDqnRlIGluY29uc2lzdGFudGVzICVkIGV0ICVkIgogCi0jOiBhcHBseS5jOjE0NzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgotbXNnc3RyICJyZWNvbXB0YWdlIDogbGlnbmUgaW5hdHRlbmR1ZSA6ICUuKnMiCi0KLSM6IGFwcGx5LmM6MTU0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgotbXNnc3RyICJmcmFnbWVudCBkZSBwYXRjaCBzYW5zIGVuLXTDqnRlIMOgIGxhIGxpZ25lICVkIDogJS4qcyIKLQotIzogYXBwbHkuYzoxNTY4CisjOiBhcHBseS5jOjEzNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgpAQCAtMjc3LDgzICs3MTcsOTMgQEAKICJpbmZvcm1hdGlvbiBkZSBub20gZGUgZmljaGllciBtYW5xdWFudGUgZGFucyBsJ2VuLXTDqnRlIGRlIGdpdCBkaWZmIGxvcnMgZGUgIgogImxhIHN1cHByZXNzaW9uIGRlICVkIGNvbXBvc2FudHMgZGUgcHLDqWZpeGUgZGUgY2hlbWluIChsaWduZSAlZCkiCiAKLSM6IGFwcGx5LmM6MTU4MQorIzogYXBwbHkuYzoxMzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAobGluZSAlZCkiCiBtc2dzdHIgIiIKICJpbmZvcm1hdGlvbiBkZSBub20gZGUgZmljaGllciBtYW5xdWFudGUgZGFucyBsJ2VuLXTDqnRlIGRlIGdpdCBkaWZmIChsaWduZSAlZCkiCiAKLSM6IGFwcGx5LmM6MTc2OQorIzogYXBwbHkuYzoxNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKK21zZ3N0ciAicmVjb21wdGFnZSA6IGxpZ25lIGluYXR0ZW5kdWUgOiAlLipzIgorCisjOiBhcHBseS5jOjE1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0Y2ggZnJhZ21lbnQgd2l0aG91dCBoZWFkZXIgYXQgbGluZSAlZDogJS4qcyIKK21zZ3N0ciAiZnJhZ21lbnQgZGUgcGF0Y2ggc2FucyBlbi10w6p0ZSDDoCBsYSBsaWduZSAlZCA6ICUuKnMiCisKKyM6IGFwcGx5LmM6MTc1MwogbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgogbXNnc3RyICJsZSBub3V2ZWF1IGZpY2hpZXIgZMOpcGVuZCBkZSBjb250ZW51cyBhbmNpZW5zIgogCi0jOiBhcHBseS5jOjE3NzEKKyM6IGFwcGx5LmM6MTc1NQogbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgImxlIGZpY2hpZXIgc3VwcHJpbcOpIGEgZW5jb3JlIGR1IGNvbnRlbnUiCiAKLSM6IGFwcGx5LmM6MTgwNQorIzogYXBwbHkuYzoxNzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAicGF0Y2ggY29ycm9tcHUgw6AgbGEgbGlnbmUgJWQiCiAKLSM6IGFwcGx5LmM6MTg0MgorIzogYXBwbHkuYzoxODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgogbXNnc3RyICJsZSBub3V2ZWF1IGZpY2hpZXIgJXMgZMOpcGVuZCBkZSBjb250ZW51cyBhbmNpZW5zIgogCi0jOiBhcHBseS5jOjE4NDQKKyM6IGFwcGx5LmM6MTgyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGVkIGZpbGUgJXMgc3RpbGwgaGFzIGNvbnRlbnRzIgogbXNnc3RyICJsZSBmaWNoaWVyIHN1cHByaW3DqSAlcyBhIGVuY29yZSBkdSBjb250ZW51IgogCi0jOiBhcHBseS5jOjE4NDcKKyM6IGFwcGx5LmM6MTgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIqKiB3YXJuaW5nOiBmaWxlICVzIGJlY29tZXMgZW1wdHkgYnV0IGlzIG5vdCBkZWxldGVkIgogbXNnc3RyICIqKiBhdHRlbnRpb24gOiBsZSBmaWNoaWVyICVzIGRldmllbnQgdmlkZSBtYWlzIG4nZXN0IHBhcyBzdXBwcmltw6kiCiAKLSM6IGFwcGx5LmM6MTk5NAorIzogYXBwbHkuYzoxOTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgInBhdGNoIGJpbmFpcmUgY29ycm9tcHUgw6AgbGEgbGlnbmUgJWQgOiAlLipzIgogCi0jOiBhcHBseS5jOjIwMzEKKyM6IGFwcGx5LmM6MjAxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgInBhdGNoIGJpbmFpcmUgbm9uIHJlY29ubnUgw6AgbGEgbGlnbmUgJWQiCiAKLSM6IGFwcGx5LmM6MjE5MworIzogYXBwbHkuYzoyMTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIHdpdGggb25seSBnYXJiYWdlIGF0IGxpbmUgJWQiCiBtc2dzdHIgInBhdGNoIHRvdGFsZW1lbnQgaW5jb21wcsOpaGVuc2libGUgw6AgbGEgbGlnbmUgJWQiCiAKLSM6IGFwcGx5LmM6MjI3OQorIzogYXBwbHkuYzoyMjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHN5bWxpbmsgJXMiCiBtc2dzdHIgImxlY3R1cmUgZHUgbGllbiBzeW1ib2xpcXVlICVzIGltcG9zc2libGUiCiAKLSM6IGFwcGx5LmM6MjI4MworIzogYXBwbHkuYzoyMjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIG9yIHJlYWQgJXMiCiBtc2dzdHIgIm91dmVydHVyZSBvdSBsZWN0dXJlIGRlICVzIGltcG9zc2libGUiCiAKLSM6IGFwcGx5LmM6Mjk0MgorIzogYXBwbHkuYzoyOTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgc3RhcnQgb2YgbGluZTogJyVjJyIKIG1zZ3N0ciAiZMOpYnV0IGRlIGxpZ25lIGludmFsaWRlIDogJyVjJyIKIAotIzogYXBwbHkuYzozMDYzCisjOiBhcHBseS5jOjMwNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZSkuIgogbXNnaWRfcGx1cmFsICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lcykuIgogbXNnc3RyWzBdICJMYSBzZWN0aW9uIG7CsCVkIGEgcsOpdXNzaSDDoCBsYSBsaWduZSAlZCAob2Zmc2V0ICVkIGxpZ25lKS4iCiBtc2dzdHJbMV0gIkxhIHNlY3Rpb24gbsKwJWQgYSByw6l1c3NpIMOgIGxhIGxpZ25lICVkIChvZmZzZXQgJWQgbGlnbmVzKS4iCiAKLSM6IGFwcGx5LmM6MzA3NQorIzogYXBwbHkuYzozMDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbnRleHQgcmVkdWNlZCB0byAoJWxkLyVsZCkgdG8gYXBwbHkgZnJhZ21lbnQgYXQgJWQiCiBtc2dzdHIgIkNvbnRleHRlIHLDqWR1aXQgw6AgKCVsZC8lbGQpIHBvdXIgYXBwbGlxdWVyIGxlIGZyYWdtZW50IMOgIGxhIGxpZ25lICVkIgogCi0jOiBhcHBseS5jOjMwODEKKyM6IGFwcGx5LmM6MzA3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAid2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKQEAgLTM2Miw0NjMgKzgxMiw0NDkgQEAKICJwZW5kYW50IGxhIHJlY2hlcmNoZSBkZSA6XG4iCiAiJS4qcyIKIAotIzogYXBwbHkuYzozMTAzCisjOiBhcHBseS5jOjMwOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKIG1zZ3N0ciAiZG9ubsOpZXMgZGUgcGF0Y2ggYmluYWlyZSBtYW5xdWFudGVzIHBvdXIgJyVzJyIKIAotIzogYXBwbHkuYzozMTExCisjOiBhcHBseS5jOjMxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJldmVyc2UtYXBwbHkgYSBiaW5hcnkgcGF0Y2ggd2l0aG91dCB0aGUgcmV2ZXJzZSBodW5rIHRvICclcyciCiBtc2dzdHIgIiIKICJpbXBvc3NpYmxlIGQnYXBwbGlxdWVyIGwnaW52ZXJzZSBkJ3VuIHBhdGNoIGJpbmFpcmUgw6AgJyVzJyBzYW5zIGxhIHNlY3Rpb24gIgogImludmVyc2UiCiAKLSM6IGFwcGx5LmM6MzE1OAorIzogYXBwbHkuYzozMTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhcHBseSBiaW5hcnkgcGF0Y2ggdG8gJyVzJyB3aXRob3V0IGZ1bGwgaW5kZXggbGluZSIKIG1zZ3N0ciAiIgogImltcG9zc2libGUgZCdhcHBsaXF1ZXIgdW4gcGF0Y2ggYmluYWlyZSDDoCAnJXMnIHNhbnMgbGEgbGlnbmUgY29tcGzDqHRlIGQnaW5kZXgiCiAKLSM6IGFwcGx5LmM6MzE2OAorIzogYXBwbHkuYzozMTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ0aGUgcGF0Y2ggYXBwbGllcyB0byAnJXMnICglcyksIHdoaWNoIGRvZXMgbm90IG1hdGNoIHRoZSBjdXJyZW50IGNvbnRlbnRzLiIKIG1zZ3N0ciAiIgogImxlIHBhdGNoIHMnYXBwbGlxdWUgw6AgJyVzJyAoJXMpLCBjZSBxdWkgbmUgY29ycmVzcG9uZCBwYXMgYXUgY29udGVudSBhY3R1ZWwuIgogCi0jOiBhcHBseS5jOjMxNzYKKyM6IGFwcGx5LmM6MzE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgcGF0Y2ggYXBwbGllcyB0byBhbiBlbXB0eSAnJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiCiBtc2dzdHIgImxlIHBhdGNoIHMnYXBwbGlxdWUgw6AgdW4gJyVzJyB2aWRlIG1haXMgY2Ugbidlc3QgcGFzIHZpZGUiCiAKLSM6IGFwcGx5LmM6MzE5NAorIzogYXBwbHkuYzozMTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBuZWNlc3NhcnkgcG9zdGltYWdlICVzIGZvciAnJXMnIGNhbm5vdCBiZSByZWFkIgogbXNnc3RyICJsJ2ltYWdlIHBvc3TDqXJpZXVyZSBuw6ljZXNzYWlyZSAlcyBwb3VyICclcycgbmUgcGV1dCBwYXMgw6p0cmUgbHVlIgogCi0jOiBhcHBseS5jOjMyMDcKKyM6IGFwcGx5LmM6MzIwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKIG1zZ3N0ciAibGUgcGF0Y2ggYmluYWlyZSBuZSBzJ2FwcGxpcXVlIHBhciBjb3JyZWN0ZW1lbnQgw6AgJyVzJyIKIAotIzogYXBwbHkuYzozMjEzCisjOiBhcHBseS5jOjMyMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmluYXJ5IHBhdGNoIHRvICclcycgY3JlYXRlcyBpbmNvcnJlY3QgcmVzdWx0IChleHBlY3RpbmcgJXMsIGdvdCAlcykiCiBtc2dzdHIgIiIKICJsZSBwYXRjaCBiaW5haXJlIHN1ciAnJXMnIGNyw6llIHVuIHLDqXN1bHRhdCBpbmNvcnJlY3QgKCVzIGF0dGVuZHUsIG1haXMgJXMgIgogInRyb3V2w6kpIgogCi0jOiBhcHBseS5jOjMyMzQKKyM6IGFwcGx5LmM6MzIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCBmYWlsZWQ6ICVzOiVsZCIKIG1zZ3N0ciAibGUgcGF0Y2ggYSDDqWNob3XDqSA6ICVzOiVsZCIKIAotIzogYXBwbHkuYzozMzU2CisjOiBhcHBseS5jOjMzNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZWNrb3V0ICVzIgogbXNnc3RyICJleHRyYWN0aW9uIGRlICVzIGltcG9zc2libGUiCiAKLSM6IGFwcGx5LmM6MzQwOCBhcHBseS5jOjM0MTkgYXBwbHkuYzozNDY1IG1pZHguYzo1OCBzZXR1cC5jOjI3OAorIzogYXBwbHkuYzozNDAzIGFwcGx5LmM6MzQxNCBhcHBseS5jOjM0NjAgbWlkeC5jOjYxIHNldHVwLmM6MjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkICVzIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgbGVjdHVyZSBkZSAlcyIKIAotIzogYXBwbHkuYzozNDE2CisjOiBhcHBseS5jOjM0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZGluZyBmcm9tICclcycgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAibGVjdHVyZSBkZXB1aXMgJyVzJyBhdS1kZWzDoCBkJ3VuIGxpZW4gc3ltYm9saXF1ZSIKIAotIzogYXBwbHkuYzozNDQ1IGFwcGx5LmM6MzY4OAorIzogYXBwbHkuYzozNDQwIGFwcGx5LmM6MzY4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKIG1zZ3N0ciAibGUgY2hlbWluICVzIGEgw6l0w6kgcmVub21tw6kvc3VwcHJpbcOpIgogCi0jOiBhcHBseS5jOjM1MzEgYXBwbHkuYzozNzAzCisjOiBhcHBseS5jOjM1MjYgYXBwbHkuYzozNjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKIG1zZ3N0ciAiJXMgOiBuJ2V4aXN0ZSBwYXMgZGFucyBsJ2luZGV4IgogCi0jOiBhcHBseS5jOjM1NDAgYXBwbHkuYzozNzExCisjOiBhcHBseS5jOjM1MzUgYXBwbHkuYzozNzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKIG1zZ3N0ciAiJXMgOiBuZSBjb3JyZXNwb25kIHBhcyDDoCBsJ2luZGV4IgogCi0jOiBhcHBseS5jOjM1NzUKKyM6IGFwcGx5LmM6MzU3MAogbXNnaWQgInJlcG9zaXRvcnkgbGFja3MgdGhlIG5lY2Vzc2FyeSBibG9iIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgIiIKICJsZSBkw6lww7R0IG4nYSBwYXMgbGVzIGJsb2JzIG7DqWNlc3NhaXJlcyBwb3VyIHVuIHJldG91ciDDoCB1bmUgZnVzaW9uIMOgIDMgIgogInBvaW50cy4iCiAKLSM6IGFwcGx5LmM6MzU3OAorIzogYXBwbHkuYzozNTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhbGxpbmcgYmFjayB0byB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKIG1zZ3N0ciAiUmV0b3VyIMOgIHVuZSBmdXNpb24gw6AgMyBwb2ludHPigKZcbiIKIAotIzogYXBwbHkuYzozNTk0IGFwcGx5LmM6MzU5OAorIzogYXBwbHkuYzozNTg5IGFwcGx5LmM6MzU5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgY3VycmVudCBjb250ZW50cyBvZiAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgY29udGVudSBhY3R1ZWwgZGUgJyVzJyIKIAotIzogYXBwbHkuYzozNjEwCisjOiBhcHBseS5jOjM2MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGZhbGwgYmFjayBvbiB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKLW1zZ3N0ciAiRWNoZWMgZHUgcmV0b3VyIMOgIHVuZSBmdXNpb24gw6AgMyBwb2ludHPigKZcbiIKK21zZ3N0ciAiw4ljaGVjIGR1IHJldG91ciDDoCB1bmUgZnVzaW9uIMOgIDMgcG9pbnRz4oCmXG4iCiAKLSM6IGFwcGx5LmM6MzYyNAorIzogYXBwbHkuYzozNjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyB3aXRoIGNvbmZsaWN0cy5cbiIKIG1zZ3N0ciAiUGF0Y2ggJXMgYXBwbGlxdcOpIGF2ZWMgZGVzIGNvbmZsaXRzLlxuIgogCi0jOiBhcHBseS5jOjM2MjkKKyM6IGFwcGx5LmM6MzYyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgY2xlYW5seS5cbiIKIG1zZ3N0ciAiUGF0Y2ggJXMgYXBwbGlxdcOpIHByb3ByZW1lbnQuXG4iCiAKLSM6IGFwcGx5LmM6MzY1NQorIzogYXBwbHkuYzozNjUwCiBtc2dpZCAicmVtb3ZhbCBwYXRjaCBsZWF2ZXMgZmlsZSBjb250ZW50cyIKIG1zZ3N0ciAibGUgcGF0Y2ggZGUgc3VwcHJlc3Npb24gbGFpc3NlIHVuIGNvbnRlbnUgZGFucyBsZSBmaWNoaWVyIgogCi0jOiBhcHBseS5jOjM3MjgKKyM6IGFwcGx5LmM6MzcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogd3JvbmcgdHlwZSIKIG1zZ3N0ciAiJXMgOiB0eXBlIGVycm9uw6kiCiAKLSM6IGFwcGx5LmM6MzczMAorIzogYXBwbHkuYzozNzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyB0eXBlICVvLCBleHBlY3RlZCAlbyIKIG1zZ3N0ciAiJXMgZXN0IGRlIHR5cGUgJW8sIG1haXMgJW8gYXR0ZW5kdSIKIAotIzogYXBwbHkuYzozODgxIGFwcGx5LmM6Mzg4MworIzogYXBwbHkuYzozODc2IGFwcGx5LmM6Mzg3OCByZWFkLWNhY2hlLmM6ODMwIHJlYWQtY2FjaGUuYzo4NTYKKyM6IHJlYWQtY2FjaGUuYzoxMzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgogbXNnc3RyICJjaGVtaW4gaW52YWxpZGUgJyVzJyIKIAotIzogYXBwbHkuYzozOTM5CisjOiBhcHBseS5jOjM5MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIGluZGV4IgogbXNnc3RyICIlcyA6IGV4aXN0ZSBkw6lqw6AgZGFucyBsJ2luZGV4IgogCi0jOiBhcHBseS5jOjM5NDIKKyM6IGFwcGx5LmM6MzkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzIDogZXhpc3RlIGTDqWrDoCBkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGFwcGx5LmM6Mzk2MgorIzogYXBwbHkuYzozOTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSIKIG1zZ3N0ciAibGUgbm91dmVhdSBtb2RlICglbykgZGUgJXMgbmUgY29ycmVzcG9uZCBwYXMgw6AgbCdhbmNpZW4gbW9kZSAoJW8pIgogCi0jOiBhcHBseS5jOjM5NjcKKyM6IGFwcGx5LmM6Mzk2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiCiBtc2dzdHIgIiIKICJsZSBub3V2ZWF1IG1vZGUgKCVvKSBkZSAlcyBuZSBjb3JyZXNwb25kIHBhcyDDoCBsJ2FuY2llbiBtb2RlICglbykgZGUgJXMiCiAKLSM6IGFwcGx5LmM6Mzk4NworIzogYXBwbHkuYzozOTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImFmZmVjdGVkIGZpbGUgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICJsZSBmaWNoaWVyIGFmZmVjdMOpICclcycgZXN0IGF1LWRlbMOgIGQndW4gbGllbiBzeW1ib2xpcXVlIgogCi0jOiBhcHBseS5jOjM5OTEKKyM6IGFwcGx5LmM6Mzk4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgIiVzIDogbGUgcGF0Y2ggbmUgcydhcHBsaXF1ZSBwYXMiCiAKLSM6IGFwcGx5LmM6NDAwNgorIzogYXBwbHkuYzo0MDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgogbXNnc3RyICJWw6lyaWZpY2F0aW9uIGR1IHBhdGNoICVzLi4uIgogCi0jOiBhcHBseS5jOjQwOTgKKyM6IGFwcGx5LmM6NDA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyBmb3Igc3VibW9kdWxlICVzIgogbXNnc3RyICIiCiAibCdpbmZvcm1hdGlvbiBzaGExIGVzdCBtYW5xdWFudGUgb3UgaW51dGlsaXNhYmxlIHBvdXIgbGUgc291cy1tb2R1bGUgJXMiCiAKLSM6IGFwcGx5LmM6NDEwNQorIzogYXBwbHkuYzo0MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vZGUgY2hhbmdlIGZvciAlcywgd2hpY2ggaXMgbm90IGluIGN1cnJlbnQgSEVBRCIKIG1zZ3N0ciAibGUgbW9kZSBjaGFuZ2UgcG91ciAlcywgcXVpIG4nZXN0IHBhcyBkYW5zIGxhIEhFQUQgYWN0dWVsbGUiCiAKLSM6IGFwcGx5LmM6NDEwOAorIzogYXBwbHkuYzo0MTAzCiAjLCBjLWZvcm1hdAogbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzICglcykuIgogbXNnc3RyICJsJ2luZm9ybWF0aW9uIGRlIHNoYTEgZXN0IG1hbnF1YW50ZSBvdSBpbnV0aWxpc2FibGUgKCVzKS4iCiAKLSM6IGFwcGx5LmM6NDExMyBidWlsdGluL2NoZWNrb3V0LmM6MjQ0IGJ1aWx0aW4vcmVzZXQuYzoxNDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKLW1zZ3N0ciAiw6ljaGVjIGRlIG1ha2VfY2FjaGVfZW50cnkgcG91ciBsZSBjaGVtaW4gJyVzJyIKLQotIzogYXBwbHkuYzo0MTE3CisjOiBhcHBseS5jOjQxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGFkZCAlcyB0byB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgImltcG9zc2libGUgZCdham91dGVyICVzIMOgIGwnaW5kZXggdGVtcG9yYWlyZSIKIAotIzogYXBwbHkuYzo0MTI3CisjOiBhcHBseS5jOjQxMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHRlbXBvcmFyeSBpbmRleCB0byAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbCdpbmRleCB0ZW1wb3JhaXJlIGRhbnMgJXMiCiAKLSM6IGFwcGx5LmM6NDI2NQorIzogYXBwbHkuYzo0MjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKIG1zZ3N0ciAic3VwcHJlc3Npb24gZGUgJXMgZGFucyBsJ2luZGV4IGltcG9zc2libGUiCiAKLSM6IGFwcGx5LmM6NDI5OQorIzogYXBwbHkuYzo0Mjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAicGF0Y2ggY29ycm9tcHUgcG91ciBsZSBzb3VzLW1vZHVsZSAlcyIKIAotIzogYXBwbHkuYzo0MzA1CisjOiBhcHBseS5jOjQzMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgbmV3bHkgY3JlYXRlZCBmaWxlICclcyciCiBtc2dzdHIgInN0YXQgZHUgZmljaGllciBub3V2ZWxsZW1lbnQgY3LDqcOpICclcycgaW1wb3NzaWJsZSIKIAotIzogYXBwbHkuYzo0MzEzCisjOiBhcHBseS5jOjQzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciBuZXdseSBjcmVhdGVkIGZpbGUgJXMiCiBtc2dzdHIgIiIKICJjcsOpYXRpb24gZHUgbWFnYXNpbiBkZSBzdG9ja2FnZSBwb3VyIGxlIGZpY2hpZXIgbm91dmVsbGVtZW50IGNyw6nDqSAlcyAiCiAiaW1wb3NzaWJsZSIKIAotIzogYXBwbHkuYzo0MzE5IGFwcGx5LmM6NDQ2NAorIzogYXBwbHkuYzo0MzE0IGFwcGx5LmM6NDQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKIG1zZ3N0ciAiYWpvdXQgZGUgbCfDqWzDqW1lbnQgZGUgY2FjaGUgJXMgaW1wb3NzaWJsZSIKIAotIzogYXBwbHkuYzo0MzYyCisjOiBhcHBseS5jOjQzNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIHRvICclcyciCiBtc2dzdHIgIsOpY2hlYyBkZSBsJ8OpY3JpdHVyZSBkYW5zICclcyciCiAKLSM6IGFwcGx5LmM6NDM2NgorIzogYXBwbHkuYzo0MzYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb3NpbmcgZmlsZSAnJXMnIgogbXNnc3RyICJmZXJtZXR1cmUgZHUgZmljaGllciAnJXMnIgogCi0jOiBhcHBseS5jOjQ0MzYKKyM6IGFwcGx5LmM6NDQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAnJXMnIG1vZGUgJW8iCiBtc2dzdHIgIsOpY3JpdHVyZSBkdSBmaWNoaWVyICclcycgbW9kZSAlbyBpbXBvc3NpYmxlIgogCi0jOiBhcHBseS5jOjQ1MzQKKyM6IGFwcGx5LmM6NDUyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgogbXNnc3RyICJQYXRjaCAlcyBhcHBsaXF1w6kgcHJvcHJlbWVudC4iCiAKLSM6IGFwcGx5LmM6NDU0MgorIzogYXBwbHkuYzo0NTM3CiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IiCiBtc2dzdHIgImVycmV1ciBpbnRlcm5lIgogCi0jOiBhcHBseS5jOjQ1NDUKKyM6IGFwcGx5LmM6NDU0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCiBtc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCiBtc2dzdHJbMF0gIkFwcGxpY2F0aW9uIGR1IHBhdGNoICUlcyBhdmVjICVkIHJlamV0Li4uIgogbXNnc3RyWzFdICJBcHBsaWNhdGlvbiBkdSBwYXRjaCAlJXMgYXZlYyAlZCByZWpldHMuLi4iCiAKLSM6IGFwcGx5LmM6NDU1NgorIzogYXBwbHkuYzo0NTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIKIG1zZ3N0ciAidHJvbmNhdHVyZSBkdSBub20gZGUgZmljaGllciAucmVqIGVuICUuKnMucmVqIgogCi0jOiBhcHBseS5jOjQ1NjQgYnVpbHRpbi9mZXRjaC5jOjg0MyBidWlsdGluL2ZldGNoLmM6MTEyMgorIzogYXBwbHkuYzo0NTU5IGJ1aWx0aW4vZmV0Y2guYzo5MDEgYnVpbHRpbi9mZXRjaC5jOjExOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJXMiCiAKLSM6IGFwcGx5LmM6NDU3OAorIzogYXBwbHkuYzo0NTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkh1bmsgIyVkIGFwcGxpZWQgY2xlYW5seS4iCiBtc2dzdHIgIlNlY3Rpb24gbsKwJWQgYXBwbGlxdcOpZSBwcm9wcmVtZW50LiIKIAotIzogYXBwbHkuYzo0NTgyCisjOiBhcHBseS5jOjQ1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVqZWN0ZWQgaHVuayAjJWQuIgogbXNnc3RyICJTZWN0aW9uIG7CsCVkIHJlamV0w6llLiIKIAotIzogYXBwbHkuYzo0NjkyCisjOiBhcHBseS5jOjQ2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBlZCBwYXRjaCAnJXMnLiIKIG1zZ3N0ciAiQ2hlbWluICclcycgbm9uIHRyYWl0w6kuIgogCi0jOiBhcHBseS5jOjQ3MDAKKyM6IGFwcGx5LmM6NDcwNAogbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKIG1zZ3N0ciAiZW50csOpZSBub24gcmVjb25udWUiCiAKLSM6IGFwcGx5LmM6NDcxOQorIzogYXBwbHkuYzo0NzI0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKIG1zZ3N0ciAibGVjdHVyZSBkdSBmaWNoaWVyIGQnaW5kZXggaW1wb3NzaWJsZSIKIAotIzogYXBwbHkuYzo0ODc0CisjOiBhcHBseS5jOjQ4ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3Qgb3BlbiBwYXRjaCAnJXMnOiAlcyIKIG1zZ3N0ciAib3V2ZXJ0dXJlIGltcG9zc2libGUgZHUgcGF0Y2ggJyVzJ8KgOiVzIgogCi0jOiBhcHBseS5jOjQ5MDEKKyM6IGFwcGx5LmM6NDkwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvciIKIG1zZ2lkX3BsdXJhbCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3JzIgogbXNnc3RyWzBdICIlZCBlcnJldXIgZCdlc3BhY2UgaWdub3LDqWUiCiBtc2dzdHJbMV0gIiVkIGVycmV1cnMgZCdlc3BhY2UgaWdub3LDqWVzIgogCi0jOiBhcHBseS5jOjQ5MDcgYXBwbHkuYzo0OTIyCisjOiBhcHBseS5jOjQ5MTQgYXBwbHkuYzo0OTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkIGxpbmUgYWRkcyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFkZCB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dzdHJbMF0gIiVkIGxpZ25lIGEgYWpvdXTDqSBkZXMgZXJyZXVycyBkJ2VzcGFjZS4iCiBtc2dzdHJbMV0gIiVkIGxpZ25lcyBvbnQgYWpvdXTDqSBkZXMgZXJyZXVycyBkJ2VzcGFjZS4iCiAKLSM6IGFwcGx5LmM6NDkxNQorIzogYXBwbHkuYzo0OTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkIGxpbmUgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dzdHJbMF0gIiVkIGxpZ25lIGFqb3V0w6llIGFwcsOocyBjb3JyZWN0aW9uIGRlcyBlcnJldXJzIGQnZXNwYWNlLiIKIG1zZ3N0clsxXSAiJWQgbGlnbmVzIGFqb3V0w6llcyBhcHLDqHMgY29ycmVjdGlvbiBkZXMgZXJyZXVycyBkJ2VzcGFjZS4iCiAKLSM6IGFwcGx5LmM6NDkzMSBidWlsdGluL2FkZC5jOjUzOCBidWlsdGluL212LmM6MzAwIGJ1aWx0aW4vcm0uYzozODkKKyM6IGFwcGx5LmM6NDkzOCBidWlsdGluL2FkZC5jOjU3OSBidWlsdGluL212LmM6MzAxIGJ1aWx0aW4vcm0uYzozOTAKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIkltcG9zc2libGUgZCfDqWNyaXJlIGxlIG5vdXZlYXUgZmljaGllciBkJ2luZGV4IgogCi0jOiBhcHBseS5jOjQ5NTggYXBwbHkuYzo0OTYxIGJ1aWx0aW4vYW0uYzoyMjA5IGJ1aWx0aW4vYW0uYzoyMjEyCi0jOiBidWlsdGluL2Nsb25lLmM6MTIxIGJ1aWx0aW4vZmV0Y2guYzoxMTggYnVpbHRpbi9tZXJnZS5jOjI2MgotIzogYnVpbHRpbi9wdWxsLmM6MTk5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDYKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzYyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzY1Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg0NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg0OQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwODggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKLW1zZ2lkICJwYXRoIgotbXNnc3RyICJjaGVtaW4iCi0KLSM6IGFwcGx5LmM6NDk1OQorIzogYXBwbHkuYzo0OTY2CiBtc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKIG1zZ3N0ciAibmUgcGFzIGFwcGxpcXVlciBsZXMgbW9kaWZpY2F0aW9ucyBxdWkgY29ycmVzcG9uZGVudCBhdSBjaGVtaW4gZG9ubsOpIgogCi0jOiBhcHBseS5jOjQ5NjIKKyM6IGFwcGx5LmM6NDk2OQogbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgImFwcGxpcXVlciBsZXMgbW9kaWZpY2F0aW9ucyBxdWkgY29ycmVzcG9uZGVudCBhdSBjaGVtaW4gZG9ubsOpIgogCi0jOiBhcHBseS5jOjQ5NjQgYnVpbHRpbi9hbS5jOjIyMTgKKyM6IGFwcGx5LmM6NDk3MSBidWlsdGluL2FtLmM6MjIwNgogbXNnaWQgIm51bSIKIG1zZ3N0ciAibnVtIgogCi0jOiBhcHBseS5jOjQ5NjUKKyM6IGFwcGx5LmM6NDk3MgogbXNnaWQgInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIgogbXNnc3RyICJzdXBwcmltZXIgPG51bT4gYmFycmVzIG9ibGlxdWVzIGRlcyBjaGVtaW5zIHRyYWRpdGlvbm5lbHMgZGUgZGlmZiIKIAotIzogYXBwbHkuYzo0OTY4CisjOiBhcHBseS5jOjQ5NzUKIG1zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgogbXNnc3RyICJpZ25vcmVyIGxlcyBhZGRpdGlvbnMgcsOpYWxpc8OpZXMgcGFyIGxlIHBhdGNoIgogCi0jOiBhcHBseS5jOjQ5NzAKKyM6IGFwcGx5LmM6NDk3NwogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKIG1zZ3N0ciAiYXUgbGlldSBkJ2FwcGxpcXVlciBsZSBwYXRjaCwgYWZmaWNoZXIgbGUgZGlmZnN0YXQgZGUgbCdlbnRyw6llIgogCi0jOiBhcHBseS5jOjQ5NzQKKyM6IGFwcGx5LmM6NDk4MQogbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCiBtc2dzdHIgIiIKICJhZmZpY2hlciBsZSBub21icmUgZGUgbGlnbmVzIGFqb3V0w6llcyBldCBzdXBwcmltw6llcyBlbiBub3RhdGlvbiBkw6ljaW1hbGUiCiAKLSM6IGFwcGx5LmM6NDk3NgorIzogYXBwbHkuYzo0OTgzCiBtc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBhIHN1bW1hcnkgZm9yIHRoZSBpbnB1dCIKIG1zZ3N0ciAiYXUgbGlldSBkJ2FwcGxpcXVlciBsZSBwYXRjaCwgYWZmaWNoZXIgdW4gcsOpc3Vtw6kgZGUgbCdlbnRyw6llIgogCi0jOiBhcHBseS5jOjQ5NzgKKyM6IGFwcGx5LmM6NDk4NQogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCiBtc2dzdHIgImF1IGxpZXUgZCdhcHBsaXF1ZXIgbGUgcGF0Y2gsIHZvaXIgc2kgbGUgcGF0Y2ggZXN0IGFwcGxpY2FibGUiCiAKLSM6IGFwcGx5LmM6NDk4MAorIzogYXBwbHkuYzo0OTg3CiBtc2dpZCAibWFrZSBzdXJlIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIHRvIHRoZSBjdXJyZW50IGluZGV4IgogbXNnc3RyICJzJ2Fzc3VyZXIgcXVlIGxlIHBhdGNoIGVzdCBhcHBsaWNhYmxlIHN1ciBsJ2luZGV4IGFjdHVlbCIKIAotIzogYXBwbHkuYzo0OTgyCisjOiBhcHBseS5jOjQ5ODkKIG1zZ2lkICJtYXJrIG5ldyBmaWxlcyB3aXRoIGBnaXQgYWRkIC0taW50ZW50LXRvLWFkZGAiCiBtc2dzdHIgIm1hcnF1ZXIgbGVzIG5vdXZlYXV4IGZpY2hpZXJzIGBnaXQgYWRkIC0taW50ZW50LXRvLWFkZGAiCiAKLSM6IGFwcGx5LmM6NDk4NAorIzogYXBwbHkuYzo0OTkxCiBtc2dpZCAiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImFwcGxpcXVlciBsZXMgcGF0Y2ggc2FucyB0b3VjaGVyIMOgIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGFwcGx5LmM6NDk4NgorIzogYXBwbHkuYzo0OTkzCiBtc2dpZCAiYWNjZXB0IGEgcGF0Y2ggdGhhdCB0b3VjaGVzIG91dHNpZGUgdGhlIHdvcmtpbmcgYXJlYSIKIG1zZ3N0ciAiYWNjZXB0ZXIgdW4gcGF0Y2ggcXVpIHRvdWNoZSBob3JzIGRlIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGFwcGx5LmM6NDk4OQorIzogYXBwbHkuYzo0OTk2CiBtc2dpZCAiYWxzbyBhcHBseSB0aGUgcGF0Y2ggKHVzZSB3aXRoIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCi1tc2dzdHIgImFwcGxpcXVlciBhdXNzaSBsZSBwYXRjaCAow6AgdXRpbGlzZXIgYXZlYyAtLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKK21zZ3N0ciAiYXBwbGlxdWVyIGF1c3NpIGxlIHBhdGNoICjDoCB1dGlsaXNlciBhdmVjIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCiAKLSM6IGFwcGx5LmM6NDk5MQorIzogYXBwbHkuYzo0OTk4CiBtc2dpZCAiYXR0ZW1wdCB0aHJlZS13YXkgbWVyZ2UgaWYgYSBwYXRjaCBkb2VzIG5vdCBhcHBseSIKIG1zZ3N0ciAidGVudGVyIHVuZSBmdXNpb24gw6AgMyBwb2ludHMgc2kgbGUgcGF0Y2ggbmUgcydhcHBsaXF1ZSBwYXMgcHJvcHJlbWVudCIKIAotIzogYXBwbHkuYzo0OTkzCisjOiBhcHBseS5jOjUwMDAKIG1zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogImNvbnN0cnVpcmUgdW4gaW5kZXggdGVtcG9yYWlyZSBmb25kw6kgc3VyIGwnaW5mb3JtYXRpb24gZGUgbCdpbmRleCBlbWJhcnF1w6kiCiAKLSM6IGFwcGx5LmM6NDk5NiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcwIGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjMKKyM6IGFwcGx5LmM6NTAwMyBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTczIGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjQKIG1zZ2lkICJwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAibGVzIGNoZW1pbnMgc29udCBzw6lwYXLDqXMgcGFyIHVuIGNhcmFjdMOocmUgTlVMIgogCi0jOiBhcHBseS5jOjQ5OTgKKyM6IGFwcGx5LmM6NTAwNQogbXNnaWQgImVuc3VyZSBhdCBsZWFzdCA8bj4gbGluZXMgb2YgY29udGV4dCBtYXRjaCIKIG1zZ3N0ciAicydhc3N1cmVyIGQnYXUgbW9pbnMgPG4+IGxpZ25lcyBkZSBjb3JyZXNwb25kYW5jZSBkZSBjb250ZXh0ZSIKIAotIzogYXBwbHkuYzo0OTk5IGJ1aWx0aW4vYW0uYzoyMTk3IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTcKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTkgYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDEKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxMiBidWlsdGluL3JlYmFzZS5jOjg1NworIzogYXBwbHkuYzo1MDA2IGJ1aWx0aW4vYW0uYzoyMTg1IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTgKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAwIGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTAgYnVpbHRpbi9yZWJhc2UuYzoxNDc0CiBtc2dpZCAiYWN0aW9uIgogbXNnc3RyICJhY3Rpb24iCiAKLSM6IGFwcGx5LmM6NTAwMAorIzogYXBwbHkuYzo1MDA3CiBtc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCiBtc2dzdHIgIiIKICJkw6l0ZWN0ZXIgZGVzIGxpZ25lcyBub3V2ZWxsZXMgb3UgbW9kaWZpw6llcyBxdWkgY29udGllbm5lbnQgZGVzIGVycmV1cnMgIgogImQnZXNwYWNlIgogCi0jOiBhcHBseS5jOjUwMDMgYXBwbHkuYzo1MDA2CisjOiBhcHBseS5jOjUwMTAgYXBwbHkuYzo1MDEzCiBtc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKIG1zZ3N0ciAiaWdub3JlciBkZXMgbW9kaWZpY2F0aW9ucyBkJ2VzcGFjZSBsb3JzIGRlIGxhIHJlY2hlcmNoZSBkZSBjb250ZXh0ZSIKIAotIzogYXBwbHkuYzo1MDA5CisjOiBhcHBseS5jOjUwMTYKIG1zZ2lkICJhcHBseSB0aGUgcGF0Y2ggaW4gcmV2ZXJzZSIKIG1zZ3N0ciAiYXBwbGlxdWVyIGxlIHBhdGNoIGVuIHNlbnMgaW52ZXJzZSIKIAotIzogYXBwbHkuYzo1MDExCisjOiBhcHBseS5jOjUwMTgKIG1zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKIG1zZ3N0ciAibmUgcGFzIHMnYXR0ZW5kcmUgw6AgYXUgbW9pbnMgdW5lIGxpZ25lIGRlIGNvbnRleHRlIgogCi0jOiBhcHBseS5jOjUwMTMKKyM6IGFwcGx5LmM6NTAyMAogbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgogbXNnc3RyICJsYWlzc2VyIGxlcyBzZWN0aW9ucyByZWpldMOpZXMgZGFucyBsZXMgZmljaGllcnMgKi5yZWogY29ycmVzcG9uZGFudHMiCiAKLSM6IGFwcGx5LmM6NTAxNQorIzogYXBwbHkuYzo1MDIyCiBtc2dpZCAiYWxsb3cgb3ZlcmxhcHBpbmcgaHVua3MiCiBtc2dzdHIgImFjY2VwdGVyIGxlcyByZWNvdXZyZW1lbnRzIGRlIHNlY3Rpb25zIgogCi0jOiBhcHBseS5jOjUwMTYgYnVpbHRpbi9hZGQuYzoyOTAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMQotIzogYnVpbHRpbi9jb21taXQuYzoxMzA5IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk4IGJ1aWx0aW4vZnNjay5jOjY5OAotIzogYnVpbHRpbi9sb2cuYzoyMDIzIGJ1aWx0aW4vbXYuYzoxMjIgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjcKLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1NworIzogYXBwbHkuYzo1MDIzIGJ1aWx0aW4vYWRkLmM6MzA5IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NSBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5OCBidWlsdGluL2ZzY2suYzo3NzQKKyM6IGJ1aWx0aW4vbG9nLmM6MjE2NiBidWlsdGluL212LmM6MTIzIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI4CiBtc2dpZCAiYmUgdmVyYm9zZSIKIG1zZ3N0ciAibW9kZSB2ZXJiZXV4IgogCi0jOiBhcHBseS5jOjUwMTgKKyM6IGFwcGx5LmM6NTAyNQogbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgogbXNnc3RyICIiCiAidG9sw6lyZXIgZGVzIGVycmV1cnMgZGUgZMOpdGVjdGlvbiBkZSByZXRvdXJzIGNoYXJpb3QgbWFucXVhbnRzIGVuIGZpbiBkZSAiCiAiZmljaGllciIKIAotIzogYXBwbHkuYzo1MDIxCisjOiBhcHBseS5jOjUwMjgKIG1zZ2lkICJkbyBub3QgdHJ1c3QgdGhlIGxpbmUgY291bnRzIGluIHRoZSBodW5rIGhlYWRlcnMiCiBtc2dzdHIgIm5lIHBhcyBzZSBmaWVyIGF1IGNvbXB0ZSBkZSBsaWduZXMgZGFucyBsZXMgZW4tdMOqdGVzIGRlIHNlY3Rpb24iCiAKLSM6IGFwcGx5LmM6NTAyMyBidWlsdGluL2FtLmM6MjIwNgorIzogYXBwbHkuYzo1MDMwIGJ1aWx0aW4vYW0uYzoyMTk0CiBtc2dpZCAicm9vdCIKIG1zZ3N0ciAicmFjaW5lIgogCi0jOiBhcHBseS5jOjUwMjQKKyM6IGFwcGx5LmM6NTAzMQogbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCiBtc2dzdHIgInByw6lmaXhlciB0b3VzIGxlcyBub21zIGRlIGZpY2hpZXIgYXZlYyA8cm9vdD4iCiAKQEAgLTg0MSwxNDggKzEyNzcsMTY4IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPGTDqXDDtHQ+IFstLWV4ZWMgPGNvbW1hbmRlPl0gLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MzcwIGJ1aWx0aW4vYWRkLmM6MTc2IGJ1aWx0aW4vYWRkLmM6NTE0IGJ1aWx0aW4vcm0uYzoyOTgKKyM6IGFyY2hpdmUuYzozNzIgYnVpbHRpbi9hZGQuYzoxODAgYnVpbHRpbi9hZGQuYzo1NTUgYnVpbHRpbi9ybS5jOjI5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgogbXNnc3RyICJsZSBjaGVtaW4gJyVzJyBuZSBjb3JyZXNwb25kIMOgIGF1Y3VuIGZpY2hpZXIiCiAKLSM6IGFyY2hpdmUuYzo0NTMKKyM6IGFyY2hpdmUuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCByZWY6ICUuKnMiCittc2dzdHIgInLDqWbDqXJlbmNlIGluZXhpc3RhbnRlwqA6ICUuKnMiCisKKyM6IGFyY2hpdmUuYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICVzIgorbXNnc3RyICJub20gZCdvYmpldCBpbnZhbGlkZSA6ICVzIgorCisjOiBhcmNoaXZlLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHRyZWUgb2JqZWN0OiAlcyIKK21zZ3N0ciAib2JqZXQgYXJicmUgaW52YWxpZGXCoDogJXMiCisKKyM6IGFyY2hpdmUuYzo0MjYKK21zZ2lkICJjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGlzIHVudHJhY2tlZCIKK21zZ3N0ciAibCdhcmJyZSBkZSB0cmF2YWlsIGFjdHVlbCBlc3Qgbm9uLXN1aXZpIgorCisjOiBhcmNoaXZlLmM6NDU3CiBtc2dpZCAiZm10IgogbXNnc3RyICJmbXQiCiAKLSM6IGFyY2hpdmUuYzo0NTMKKyM6IGFyY2hpdmUuYzo0NTcKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAiZm9ybWF0IGQnYXJjaGl2ZSIKIAotIzogYXJjaGl2ZS5jOjQ1NCBidWlsdGluL2xvZy5jOjE1MzYKKyM6IGFyY2hpdmUuYzo0NTggYnVpbHRpbi9sb2cuYzoxNjUzCiBtc2dpZCAicHJlZml4IgogbXNnc3RyICJwcsOpZml4ZSIKIAotIzogYXJjaGl2ZS5jOjQ1NQorIzogYXJjaGl2ZS5jOjQ1OQogbXNnaWQgInByZXBlbmQgcHJlZml4IHRvIGVhY2ggcGF0aG5hbWUgaW4gdGhlIGFyY2hpdmUiCiBtc2dzdHIgInByw6lmaXhlciBjaGFxdWUgY2hlbWluIGRlIGZpY2hpZXIgZGFucyBsJ2FyY2hpdmUiCiAKLSM6IGFyY2hpdmUuYzo0NTYgYnVpbHRpbi9ibGFtZS5jOjgyMCBidWlsdGluL2JsYW1lLmM6ODIxIGJ1aWx0aW4vY29uZmlnLmM6MTI5Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxMyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxNSBidWlsdGluL2dyZXAuYzo4ODQKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDQgYnVpbHRpbi9scy1maWxlcy5jOjU1OSBidWlsdGluL2xzLWZpbGVzLmM6NTYyCi0jOiBidWlsdGluL25vdGVzLmM6NDEyIGJ1aWx0aW4vbm90ZXMuYzo1NzUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjIKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNjIKKyM6IGFyY2hpdmUuYzo0NjAgYnVpbHRpbi9ibGFtZS5jOjg2MSBidWlsdGluL2JsYW1lLmM6ODY1IGJ1aWx0aW4vYmxhbWUuYzo4NjYKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTcgYnVpbHRpbi9jb25maWcuYzoxMjkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY0IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY4IGJ1aWx0aW4vZ3JlcC5jOjg5OQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwNSBidWlsdGluL2xzLWZpbGVzLmM6NTYwIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTIgYnVpbHRpbi9ub3Rlcy5jOjU3OCBidWlsdGluL3JlYWQtdHJlZS5jOjEyMworIzogcGFyc2Utb3B0aW9ucy5oOjE5MAogbXNnaWQgImZpbGUiCiBtc2dzdHIgImZpY2hpZXIiCiAKLSM6IGFyY2hpdmUuYzo0NTcgYnVpbHRpbi9hcmNoaXZlLmM6ODkKKyM6IGFyY2hpdmUuYzo0NjEgYnVpbHRpbi9hcmNoaXZlLmM6OTAKIG1zZ2lkICJ3cml0ZSB0aGUgYXJjaGl2ZSB0byB0aGlzIGZpbGUiCiBtc2dzdHIgIsOpY3JpcmUgbCdhcmNoaXZlIGRhbnMgY2UgZmljaGllciIKIAotIzogYXJjaGl2ZS5jOjQ1OQorIzogYXJjaGl2ZS5jOjQ2MwogbXNnaWQgInJlYWQgLmdpdGF0dHJpYnV0ZXMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgImxpcmUgLmdpdGF0dHJpYnV0ZXMgZGFucyBsZSByw6lwZXJ0b2lyZSBkZSB0cmF2YWlsIgogCi0jOiBhcmNoaXZlLmM6NDYwCisjOiBhcmNoaXZlLmM6NDY0CiBtc2dpZCAicmVwb3J0IGFyY2hpdmVkIGZpbGVzIG9uIHN0ZGVyciIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIGFyY2hpdsOpcyBzdXIgc3RkZXJyIgogCi0jOiBhcmNoaXZlLmM6NDYxCisjOiBhcmNoaXZlLmM6NDY1CiBtc2dpZCAic3RvcmUgb25seSIKIG1zZ3N0ciAic3RvY2thZ2Ugc2V1bGVtZW50IgogCi0jOiBhcmNoaXZlLmM6NDYyCisjOiBhcmNoaXZlLmM6NDY2CiBtc2dpZCAiY29tcHJlc3MgZmFzdGVyIgogbXNnc3RyICJjb21wcmVzc2lvbiByYXBpZGUiCiAKLSM6IGFyY2hpdmUuYzo0NzAKKyM6IGFyY2hpdmUuYzo0NzQKIG1zZ2lkICJjb21wcmVzcyBiZXR0ZXIiCiBtc2dzdHIgImNvbXByZXNzaW9uIGVmZmljYWNlIgogCi0jOiBhcmNoaXZlLmM6NDczCisjOiBhcmNoaXZlLmM6NDc3CiBtc2dpZCAibGlzdCBzdXBwb3J0ZWQgYXJjaGl2ZSBmb3JtYXRzIgogbXNnc3RyICJhZmZpY2hlciBsZXMgZm9ybWF0cyBkJ2FyY2hpdmUgc3VwcG9ydMOpcyIKIAotIzogYXJjaGl2ZS5jOjQ3NSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vY2xvbmUuYzoxMTQKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODU1CisjOiBhcmNoaXZlLmM6NDc5IGJ1aWx0aW4vYXJjaGl2ZS5jOjkxIGJ1aWx0aW4vY2xvbmUuYzoxMTMgYnVpbHRpbi9jbG9uZS5jOjExNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODQKIG1zZ2lkICJyZXBvIgogbXNnc3RyICJkw6lww7R0IgogCi0jOiBhcmNoaXZlLmM6NDc2IGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCisjOiBhcmNoaXZlLmM6NDgwIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyCiBtc2dpZCAicmV0cmlldmUgdGhlIGFyY2hpdmUgZnJvbSByZW1vdGUgcmVwb3NpdG9yeSA8cmVwbz4iCiBtc2dzdHIgInLDqWN1cMOpcmVyIGwnYXJjaGl2ZSBkZXB1aXMgbGUgZMOpcMO0dCBkaXN0YW50IDxkw6lww7R0PiIKIAotIzogYXJjaGl2ZS5jOjQ3NyBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL2RpZmZ0b29sLmM6NzE0Ci0jOiBidWlsdGluL25vdGVzLmM6NDk2CisjOiBhcmNoaXZlLmM6NDgxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkzIGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0OTgKIG1zZ2lkICJjb21tYW5kIgogbXNnc3RyICJjb21tYW5kZSIKIAotIzogYXJjaGl2ZS5jOjQ3OCBidWlsdGluL2FyY2hpdmUuYzo5MworIzogYXJjaGl2ZS5jOjQ4MiBidWlsdGluL2FyY2hpdmUuYzo5NAogbXNnaWQgInBhdGggdG8gdGhlIHJlbW90ZSBnaXQtdXBsb2FkLWFyY2hpdmUgY29tbWFuZCIKIG1zZ3N0ciAiY2hlbWluIHZlcnMgbGEgY29tbWFuZGUgZGlzdGFudGUgZ2l0LXVwbG9hZC1hcmNoaXZlIgogCi0jOiBhcmNoaXZlLmM6NDg1CisjOiBhcmNoaXZlLmM6NDg5CiBtc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1yZW1vdGUiCiBtc2dzdHIgIk9wdGlvbiAtLXJlbW90ZSBpbmF0dGVuZHVlIgogCi0jOiBhcmNoaXZlLmM6NDg3CisjOiBhcmNoaXZlLmM6NDkxCiBtc2dpZCAiT3B0aW9uIC0tZXhlYyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1yZW1vdGUiCiBtc2dzdHIgIkwnb3B0aW9uIC0tZXhlYyBuZSBwZXV0IMOqdHJlIHV0aWxpc8OpZSBxdSdlbiBjb21wbMOpbWVudCBkZSAtLXJlbW90ZSIKIAotIzogYXJjaGl2ZS5jOjQ4OQorIzogYXJjaGl2ZS5jOjQ5MwogbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tb3V0cHV0IgogbXNnc3RyICJPcHRpb24gLS1vdXRwdXQgaW5hdHRlbmR1ZSIKIAotIzogYXJjaGl2ZS5jOjUxMQorIzogYXJjaGl2ZS5jOjUxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGFyY2hpdmUgZm9ybWF0ICclcyciCiBtc2dzdHIgIkZvcm1hdCBkJ2FyY2hpdmUgaW5jb25udSAnJXMnIgogCi0jOiBhcmNoaXZlLmM6NTE4CisjOiBhcmNoaXZlLmM6NTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFyZ3VtZW50IG5vdCBzdXBwb3J0ZWQgZm9yIGZvcm1hdCAnJXMnOiAtJWQiCiBtc2dzdHIgIkFyZ3VtZW50IG5vbiBzdXBwb3J0w6kgcG91ciBsZSBmb3JtYXQgJyVzJ8KgOiAtJWQiCiAKLSM6IGFyY2hpdmUtdGFyLmM6MTI1IGFyY2hpdmUtemlwLmM6MzQ1CisjOiBhcmNoaXZlLXRhci5jOjEyNSBhcmNoaXZlLXppcC5jOjM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RyZWFtIGJsb2IgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgdHJhbnNtZXR0cmUgbGUgYmxvYiAlcyBlbiBmbHV4IgogCi0jOiBhcmNoaXZlLXRhci5jOjI2MCBhcmNoaXZlLXppcC5jOjM2MworIzogYXJjaGl2ZS10YXIuYzoyNjYgYXJjaGl2ZS16aXAuYzozNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgZmlsZSBtb2RlOiAwJW8gKFNIQTE6ICVzKSIKIG1zZ3N0ciAibW9kZSBkZSBmaWNoaWVyIG5vbiBzdXBwb3J0w6nCoDowJW8gKFNIQTE6ICVzKSIKIAotIzogYXJjaGl2ZS10YXIuYzoyODcgYXJjaGl2ZS16aXAuYzozNTMKKyM6IGFyY2hpdmUtdGFyLmM6MjkzIGFyY2hpdmUtemlwLmM6MzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgJXMiCiAKLSM6IGFyY2hpdmUtdGFyLmM6NDU4CisjOiBhcmNoaXZlLXRhci5jOjQ2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhcnQgJyVzJyBmaWx0ZXIiCiBtc2dzdHIgImltcG9zc2libGUgZGUgZMOpbWFycmVyIGxlIGZpbHRyZSAnJXMnIgogCi0jOiBhcmNoaXZlLXRhci5jOjQ2MQorIzogYXJjaGl2ZS10YXIuYzo0NjgKIG1zZ2lkICJ1bmFibGUgdG8gcmVkaXJlY3QgZGVzY3JpcHRvciIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSByZWRpcmlnZXIgdW4gZGVzY3JpcHRldXIiCiAKLSM6IGFyY2hpdmUtdGFyLmM6NDY4CisjOiBhcmNoaXZlLXRhci5jOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGZpbHRlciByZXBvcnRlZCBlcnJvciIKIG1zZ3N0ciAibGUgZmlsdHJlICclcycgYSByZXRvdXJuw6kgdW5lIGVycmV1ciIKIAotIzogYXJjaGl2ZS16aXAuYzozMTQKKyM6IGFyY2hpdmUtemlwLmM6MzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggaXMgbm90IHZhbGlkIFVURi04OiAlcyIKIG1zZ3N0ciAibGUgY2hlbWluIG4nZXN0IHBhcyBjb2TDqSBlbiBVVEYtOCB2YWxpZGXCoDogJXMiCiAKLSM6IGFyY2hpdmUtemlwLmM6MzE4CisjOiBhcmNoaXZlLXppcC5jOjMyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoIHRvbyBsb25nICglZCBjaGFycywgU0hBMTogJXMpOiAlcyIKIG1zZ3N0ciAibGUgY2hlbWluIGVzdCB0cm9wIGxvbmcgKCVkIGNhcmFjdMOocmVzLCBTSEExwqA6ICVzKcKgOiAlcyIKIAotIzogYXJjaGl2ZS16aXAuYzo0NzQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMjQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMjcKKyM6IGFyY2hpdmUtemlwLmM6NDc5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjMwIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlZmxhdGUgZXJyb3IgKCVkKSIKIG1zZ3N0ciAiZXJyZXVyIGRlIGNvbXByZXNzaW9uICglZCkiCiAKLSM6IGFyY2hpdmUtemlwLmM6NjA5CisjOiBhcmNoaXZlLXppcC5jOjYxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aW1lc3RhbXAgdG9vIGxhcmdlIGZvciB0aGlzIHN5c3RlbTogJTxQUkl1TUFYPiIKIG1zZ3N0ciAibCdob3JvZGF0YWdlIGVzdCB0cm9wIGdyYW5kIHBvdXIgY2Ugc3lzdMOobWXCoDogJTxQUkl1TUFYPiIKQEAgLTk5Miw2ICsxNDQ4LDExIEBACiBtc2dpZCAiJS4qcyBpcyBub3QgYSB2YWxpZCBhdHRyaWJ1dGUgbmFtZSIKIG1zZ3N0ciAiJS4qcyBuJ2VzdCBwYXMgdW4gbm9tIHZhbGlkZSBkJ2F0dHJpYnV0IgogCisjOiBhdHRyLmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbGxvd2VkOiAlczolZCIKK21zZ3N0ciAiJXMgbm9uIHBlcm1pcyA6ICVzIDogJWQiCisKICM6IGF0dHIuYzo0MDkKIG1zZ2lkICIiCiAiTmVnYXRpdmUgcGF0dGVybnMgYXJlIGlnbm9yZWQgaW4gZ2l0IGF0dHJpYnV0ZXNcbiIKQEAgLTEwMDUsMTcgKzE0NjYsMTcgQEAKIG1zZ2lkICJCYWRseSBxdW90ZWQgY29udGVudCBpbiBmaWxlICclcyc6ICVzIgogbXNnc3RyICJDb250ZW51IG1hbCBjaXTDqSBkYW5zIGxlIGZpY2hpZXIgJyVzJ8KgOiAlcyIKIAotIzogYmlzZWN0LmM6Njc2CisjOiBiaXNlY3QuYzo2NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2UgY2Fubm90IGJpc2VjdCBtb3JlIVxuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHBvdXNzZXIgbGEgYmlzc2VjdGlvbiBwbHVzIGxvaW7CoCFcbiIKIAotIzogYmlzZWN0LmM6NzMwCisjOiBiaXNlY3QuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgY29tbWl0IG5hbWUgJXMiCiBtc2dzdHIgIiVzIG4nZXN0IHBhcyB1biBub20gZGUgY29tbWl0IHZhbGlkZSIKIAotIzogYmlzZWN0LmM6NzU0CisjOiBiaXNlY3QuYzo3NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBtZXJnZSBiYXNlICVzIGlzIGJhZC5cbiIKQEAgLTEwMjQsNyArMTQ4NSw3IEBACiAiTGEgYmFzZSBkZSBmdXNpb24gJXMgZXN0IG1hdXZhaXNlLlxuIgogIkNlbGEgc2lnbmlmaWUgcXVlIGxlIGJvZ3VlIMOpdMOpIGNvcnJpZ8OpIGVudHJlICVzIGV0IFslc10uXG4iCiAKLSM6IGJpc2VjdC5jOjc1OQorIzogYmlzZWN0LmM6NzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbWVyZ2UgYmFzZSAlcyBpcyBuZXcuXG4iCkBAIC0xMDMzLDcgKzE0OTQsNyBAQAogIkxhIGJhc2UgZGUgZnVzaW9uICVzIGVzdCBub3V2ZWxsZS5cbiIKICJMYSBwcm9wcmnDqXTDqSBhIGNoYW5nw6kgZW50cmUgJXMgZXQgWyVzXS5cbiIKIAotIzogYmlzZWN0LmM6NzY0CisjOiBiaXNlY3QuYzo3NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBtZXJnZSBiYXNlICVzIGlzICVzLlxuIgpAQCAtMTA0Miw3ICsxNTAzLDcgQEAKICJMYSBiYXNlIGRlIGZ1c2lvbiAlcyBlc3QgJXMuXG4iCiAiQ2VjaSBzaWduaWZpZSBxdWUgbGUgcHJlbWllciBjb21taXQgJyVzJyBlc3QgZW50cmUgJXMgZXQgWyVzXS5cbiIKIAotIzogYmlzZWN0LmM6NzcyCisjOiBiaXNlY3QuYzo3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlNvbWUgJXMgcmV2cyBhcmUgbm90IGFuY2VzdG9ycyBvZiB0aGUgJXMgcmV2LlxuIgpAQCAtMTA1Myw3ICsxNTE0LDcgQEAKICJnaXQgYmlzZWN0IG5lIHBldXQgcGFzIGZvbmN0aW9ubmVyIGNvcnJlY3RlbWVudCBkYW5zIGNlIGNhcy5cbiIKICJQZXV0LcOqdHJlIGxlcyByw6l2aXNpb25zICVzIGV0ICVzIG5lIHNvbnQtZWxsZXMgcGFzIGxlcyBib25uZXPCoD9cbiIKIAotIzogYmlzZWN0LmM6Nzg1CisjOiBiaXNlY3QuYzo3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInRoZSBtZXJnZSBiYXNlIGJldHdlZW4gJXMgYW5kIFslc10gbXVzdCBiZSBza2lwcGVkLlxuIgpAQCAtMTA2NSwyMiArMTUyNiwyMiBAQAogImV0ICVzLlxuIgogIk9uIGNvbnRpbnVlIHRvdXQgZGUgbcOqbWUuIgogCi0jOiBiaXNlY3QuYzo4MTgKKyM6IGJpc2VjdC5jOjgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJCaXNlY3Rpbmc6IGEgbWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZFxuIgogbXNnc3RyICJCaXNzZWN0aW9uwqA6IHVuZSBiYXNlIGRlIGZ1c2lvbiBkb2l0IMOqdHJlIHRlc3TDqWVcbiIKIAotIzogYmlzZWN0LmM6ODU4CisjOiBiaXNlY3QuYzo4NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCiBtc2dzdHIgInVuZSByw6l2aXNpb24gJXMgZXN0IG7DqWNlc3NhaXJlIgogCi0jOiBiaXNlY3QuYzo4NzcgYnVpbHRpbi9ub3Rlcy5jOjE3NyBidWlsdGluL3RhZy5jOjIzNworIzogYmlzZWN0LmM6ODg0IGJ1aWx0aW4vbm90ZXMuYzoxNzcgYnVpbHRpbi90YWcuYzoyNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBmaWxlICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIGZpY2hpZXIgJyVzJyIKIAotIzogYmlzZWN0LmM6OTI4IGJ1aWx0aW4vbWVyZ2UuYzoxMzgKKyM6IGJpc2VjdC5jOjkyOCBidWlsdGluL21lcmdlLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGZpbGUgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxlIGZpY2hpZXIgJyVzJyIKQEAgLTExMjAsNDYgKzE1ODEsNDYgQEAKIG1zZ3N0clswXSAiQmlzc2VjdGlvbsKgOiAlZCByw6l2aXNpb24gw6AgdGVzdGVyIGFwcsOocyBjZWNpICVzXG4iCiBtc2dzdHJbMV0gIkJpc3NlY3Rpb27CoDogJWQgcsOpdmlzaW9ucyDDoCB0ZXN0ZXIgYXByw6hzIGNlY2kgJXNcbiIKIAotIzogYmxhbWUuYzoxNzg3CisjOiBibGFtZS5jOjI3MDAKIG1zZ2lkICItLWNvbnRlbnRzIGFuZCAtLXJldmVyc2UgZG8gbm90IGJsZW5kIHdlbGwuIgogbXNnc3RyICItLWNvbnRlbnRzIGV0IC0tcmV2ZXJzZSBuZSBmb250IHBhcyBib24gbcOpbmFnZS4iCiAKLSM6IGJsYW1lLmM6MTgwMQorIzogYmxhbWUuYzoyNzE0CiBtc2dpZCAiY2Fubm90IHVzZSAtLWNvbnRlbnRzIHdpdGggZmluYWwgY29tbWl0IG9iamVjdCBuYW1lIgogbXNnc3RyICJvbiBuZSBwZXV0IHBhcyB1dGlsaXNlciAtLWNvbnRlbnRzIGF2ZWMgdW4gbm9tIGQnb2JqZXQgY29tbWl0IGZpbmFsIgogCi0jOiBibGFtZS5jOjE4MjIKKyM6IGJsYW1lLmM6MjczNQogbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKIG1zZ3N0ciAiIgogIi0tcmV2ZXJzZSBldCAtLWZpcnN0LXBhcmVudCBlbnNlbWJsZSBuw6ljZXNzaXRlbnQgbGEgc3DDqWNpZmljYXRpb24gZCd1biAiCiAiZGVybmllciBjb21taXQiCiAKLSM6IGJsYW1lLmM6MTgzMSBidW5kbGUuYzoxNjIgcmVmLWZpbHRlci5jOjIwNDYgc2VxdWVuY2VyLmM6MTk2MwotIzogc2VxdWVuY2VyLmM6NDAwMiBidWlsdGluL2NvbW1pdC5jOjEwMDEgYnVpbHRpbi9sb2cuYzozNzcgYnVpbHRpbi9sb2cuYzo5MzIKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwNyBidWlsdGluL2xvZy5jOjE3ODMgYnVpbHRpbi9sb2cuYzoyMDcyIGJ1aWx0aW4vbWVyZ2UuYzo0MDYKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzEzNyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxNTIKKyM6IGJsYW1lLmM6Mjc0NCBidW5kbGUuYzoxNjcgcmVmLWZpbHRlci5jOjIyMDMgcmVtb3RlLmM6MTk0MSBzZXF1ZW5jZXIuYzoyMDkzCisjOiBzZXF1ZW5jZXIuYzo0NDYwIGJ1aWx0aW4vY29tbWl0LmM6MTA0MCBidWlsdGluL2xvZy5jOjM4OCBidWlsdGluL2xvZy5jOjk5MQorIzogYnVpbHRpbi9sb2cuYzoxNTIwIGJ1aWx0aW4vbG9nLmM6MTkyNSBidWlsdGluL2xvZy5jOjIyMTUgYnVpbHRpbi9tZXJnZS5jOjQxMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTI4IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE0MwogIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE5MgogbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgcHLDqXBhcmF0aW9uIGR1IHBhcmNvdXJzIGRlcyByw6l2aXNpb25zIgogCi0jOiBibGFtZS5jOjE4NDkKKyM6IGJsYW1lLmM6Mjc2MgogbXNnaWQgIiIKICItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSByYW5nZSBhbG9uZyBmaXJzdC1wYXJlbnQgY2hhaW4iCiBtc2dzdHIgIiIKICItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgZW5zZW1ibGUgbsOpY2Vzc2l0ZW50IHVuZSBwb3J0w6llIGF2ZWMgbGEgY2hhw65uZSBkZSAiCiAicHJlbWllciBwYXJlbnQiCiAKLSM6IGJsYW1lLmM6MTg2MAorIzogYmxhbWUuYzoyNzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKIG1zZ3N0ciAicGFzIGRlIGNoZW1pbiAlcyBkYW5zICVzIgogCi0jOiBibGFtZS5jOjE4NzEKKyM6IGJsYW1lLmM6Mjc4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgYmxvYiAlcyAgcG91ciBsZSBjaGVtaW4gJXMiCiAKLSM6IGJyYW5jaC5jOjUyCisjOiBicmFuY2guYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xMTcwLDk5ICsxNjMxLDk5IEBACiAiXG4iCiAiQXByw6hzIGNvcnJlY3Rpb24gZGUgbGEgY2F1c2UgZGUgbCdlcnJldXIsIHZvdXMgcG91dmV6IGVzc2F5ZXIgZGUgY29ycmlnZXJcbiIKICJsJ2luZm9ybWF0aW9uIGRlIHN1aXZpIGRpc3RhbnQgZW4gaW52b3F1YW50XG4iCi0iXCJnaXQgYnJhbmNoIC0tc2V0dXAtdXBzdHJlYW0tdG89JXMlcyVzXCIuIgorIlwiZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10bz0lcyVzJXNcIi4iCiAKLSM6IGJyYW5jaC5jOjY2CisjOiBicmFuY2guYzo2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3Qgc2V0dGluZyBicmFuY2ggJXMgYXMgaXRzIG93biB1cHN0cmVhbS4iCiBtc2dzdHIgIkxhIGJyYW5jaGUgJXMgbmUgcGV1dCBwYXMgw6p0cmUgc2EgcHJvcHJlIGJyYW5jaGUgYW1vbnQuIgogCi0jOiBicmFuY2guYzo5MgorIzogYnJhbmNoLmM6OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJyVzJyBmcm9tICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICIiCiAiTGEgYnJhbmNoZSAnJXMnIGVzdCBwYXJhbcOpdHLDqWUgcG91ciBzdWl2cmUgbGEgYnJhbmNoZSBkaXN0YW50ZSAnJXMnIGRlICclcycgIgogImVuIHJlYmFzYW50LiIKIAotIzogYnJhbmNoLmM6OTMKKyM6IGJyYW5jaC5jOjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgYnJhbmNoICclcycgZnJvbSAnJXMnLiIKIG1zZ3N0ciAiIgogIkxhIGJyYW5jaGUgJyVzJyBlc3QgcGFyYW3DqXRyw6llIHBvdXIgc3VpdnJlIGxhIGJyYW5jaGUgZGlzdGFudGUgJyVzJyBkZXB1aXMgIgogIiclcycuIgogCi0jOiBicmFuY2guYzo5NworIzogYnJhbmNoLmM6OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIGJyYW5jaCAnJXMnIGJ5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiIgogIkxhIGJyYW5jaGUgJyVzJyBlc3QgcGFyYW3DqXRyw6llIHBvdXIgc3VpdnJlIGxhIGJyYW5jaGUgbG9jYWxlICclJ3MgZW4gIgogInJlYmFzYW50LiIKIAotIzogYnJhbmNoLmM6OTgKKyM6IGJyYW5jaC5jOjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayBsb2NhbCBicmFuY2ggJyVzJy4iCiBtc2dzdHIgIkxhIGJyYW5jaGUgJyVzJyBlc3QgcGFyYW3DqXRyw6llIHBvdXIgc3VpdnJlIGxhIGJyYW5jaGUgbG9jYWxlICclcycuIgogCi0jOiBicmFuY2guYzoxMDMKKyM6IGJyYW5jaC5jOjEwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgcmVtb3RlIHJlZiAnJXMnIGJ5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiIgogIkxhIGJyYW5jaGUgJyVzJyBlc3QgcGFyYW3DqXRyw6llIHBvdXIgc3VpdnJlIGxhIHLDqWbDqXJlbmNlIGRpc3RhbnRlICclcycgZW4gIgogInJlYmFzYW50LiIKIAotIzogYnJhbmNoLmM6MTA0CisjOiBicmFuY2guYzoxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSByZWYgJyVzJy4iCiBtc2dzdHIgIkxhIGJyYW5jaGUgJyVzJyBlc3QgcGFyYW3DqXRyw6llIHBvdXIgc3VpdnJlIGxhIHLDqWbDqXJlbmNlIGRpc3RhbnRlICclcycuIgogCi0jOiBicmFuY2guYzoxMDgKKyM6IGJyYW5jaC5jOjEwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgcmVmICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICIiCiAiTGEgYnJhbmNoZSAnJXMnIGVzdCBwYXJhbcOpdHLDqWUgcG91ciBzdWl2cmUgbGEgcsOpZsOpcmVuY2UgbG9jYWxlICclcycgZW4gIgogInJlYmFzYW50LiIKIAotIzogYnJhbmNoLmM6MTA5CisjOiBicmFuY2guYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIHJlZiAnJXMnLiIKIG1zZ3N0ciAiTGEgYnJhbmNoZSAnJXMnIGVzdCBwYXJhbcOpdHLDqWUgcG91ciBzdWl2cmUgbGEgcsOpZsOpcmVuY2UgbG9jYWxlICclcycuIgogCi0jOiBicmFuY2guYzoxMTgKKyM6IGJyYW5jaC5jOjExOQogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB1cHN0cmVhbSBicmFuY2ggY29uZmlndXJhdGlvbiIKIG1zZ3N0ciAiw4ljaGVjIGRlIGwnw6ljcml0dXJlIGRlIGxhIGNvbmZpZ3VyYXRpb24gZGUgYnJhbmNoZSBhbW9udCIKIAotIzogYnJhbmNoLmM6MTU1CisjOiBicmFuY2guYzoxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IHRyYWNraW5nOiBhbWJpZ3VvdXMgaW5mb3JtYXRpb24gZm9yIHJlZiAlcyIKIG1zZ3N0ciAiUGFzIGRlIHN1aXZpIDogaW5mb3JtYXRpb24gYW1iaWd1w6sgcG91ciBsYSByw6lmw6lyZW5jZSAlcyIKIAotIzogYnJhbmNoLmM6MTg4CisjOiBicmFuY2guYzoxODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCBicmFuY2ggbmFtZS4iCiBtc2dzdHIgIiclcycgbidlc3QgcGFzIHVuIG5vbSBkZSBicmFuY2hlIHZhbGlkZS4iCiAKLSM6IGJyYW5jaC5jOjIwNworIzogYnJhbmNoLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkEgYnJhbmNoIG5hbWVkICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICJVbmUgYnJhbmNoZSBub21tw6llICclcycgZXhpc3RlIGTDqWrDoC4iCiAKLSM6IGJyYW5jaC5jOjIxMgorIzogYnJhbmNoLmM6MjEzCiBtc2dpZCAiQ2Fubm90IGZvcmNlIHVwZGF0ZSB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGZvcmNlciBsYSBtaXNlIMOgIGpvdXIgZGUgbGEgYnJhbmNoZSBjb3VyYW50ZS4iCiAKLSM6IGJyYW5jaC5jOjIzMgorIzogYnJhbmNoLmM6MjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzZXR1cCB0cmFja2luZyBpbmZvcm1hdGlvbjsgc3RhcnRpbmcgcG9pbnQgJyVzJyBpcyBub3QgYSBicmFuY2guIgogbXNnc3RyICIiCiAiSW1wb3NzaWJsZSBkZSBwYXJhbcOpdHJlciBsZSBzdWl2aSBkZSBicmFuY2hlIDsgbGUgcG9pbnQgZGUgZMOpcGFydCAnJXMnIG4nZXN0ICIKICJwYXMgdW5lIGJyYW5jaGUuIgogCi0jOiBicmFuY2guYzoyMzQKKyM6IGJyYW5jaC5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgcmVxdWVzdGVkIHVwc3RyZWFtIGJyYW5jaCAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJsYSBicmFuY2hlIGFtb250IGRlbWFuZMOpZSAnJXMnIG4nZXhpc3RlIHBhcyIKIAotIzogYnJhbmNoLmM6MjM2CisjOiBicmFuY2guYzoyMzcKIG1zZ2lkICIiCiAiXG4iCiAiSWYgeW91IGFyZSBwbGFubmluZyBvbiBiYXNpbmcgeW91ciB3b3JrIG9uIGFuIHVwc3RyZWFtXG4iCkBAIC0xMjgyLDI3ICsxNzQzLDI3IEBACiAic2EganVtZWxsZSBkaXN0YW50ZSwgdm91cyBwb3V2ZXogdXRpbGlzZXIgXCJnaXQgcHVzaCAtdVwiXG4iCiAicG91ciBwYXJhbcOpdHJlciBsZSBzdWl2aSBkaXN0YW50IGVuIG3Dqm1lIHRlbXBzIHF1ZSB2b3VzIHBvdXNzZXouIgogCi0jOiBicmFuY2guYzoyNzkKKyM6IGJyYW5jaC5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIk5vbSBkJ29iamV0IGludmFsaWRlIDogJyVzJy4iCiAKLSM6IGJyYW5jaC5jOjI5OQorIzogYnJhbmNoLmM6MzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFtYmlndW91cyBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIk5vbSBkJ29iamV0IGFtYmlndSA6ICclcycuIgogCi0jOiBicmFuY2guYzozMDQKKyM6IGJyYW5jaC5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgogbXNnc3RyICJQb2ludCBkJ2VtYnJhbmNoZW1lbnQgaW52YWxpZGUgOiAnJXMnLiIKIAotIzogYnJhbmNoLmM6MzU4CisjOiBicmFuY2guYzozNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGNoZWNrZWQgb3V0IGF0ICclcyciCiBtc2dzdHIgIiclcycgZXN0IGTDqWrDoCBleHRyYWl0IGRhbnMgJyVzJyIKIAotIzogYnJhbmNoLmM6MzgxCisjOiBicmFuY2guYzozODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSEVBRCBvZiB3b3JraW5nIHRyZWUgJXMgaXMgbm90IHVwZGF0ZWQiCiBtc2dzdHIgImxhIEhFQUQgZGUgbGEgY29waWUgZGUgdHJhdmFpbCAlcyBuJ2VzdCBwYXMgbWlzZSDDoCBqb3VyIgpAQCAtMTMxNyw3MCArMTc3OCw3NCBAQAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAiZW4tdMOqdGUgbm9uIHJlY29ubnUgOiAlcyVzICglZCkiCiAKLSM6IGJ1bmRsZS5jOjkwIHJlcmVyZS5jOjQ4MCByZXJlcmUuYzo2OTAgc2VxdWVuY2VyLmM6MjE4MiBzZXF1ZW5jZXIuYzoyNzIyCi0jOiBidWlsdGluL2NvbW1pdC5jOjc3NAorIzogYnVuZGxlLmM6OTAgcmVyZXJlLmM6NDgwIHJlcmVyZS5jOjY5MCBzZXF1ZW5jZXIuYzoyMzQ0IHNlcXVlbmNlci5jOjMxMDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJyVzJyIKIAotIzogYnVuZGxlLmM6MTQxCisjOiBidW5kbGUuYzoxNDMKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIHRoZXNlIHByZXJlcXVpc2l0ZSBjb21taXRzOiIKIG1zZ3N0ciAiTGUgZMOpcMO0dCBuZSBkaXNwb3NlIHBhcyBkZXMgY29tbWl0cyBwcsOpcmVxdWlzIHN1aXZhbnRzIDoiCiAKLSM6IGJ1bmRsZS5jOjE5MgorIzogYnVuZGxlLmM6MTQ2Cittc2dpZCAibmVlZCBhIHJlcG9zaXRvcnkgdG8gdmVyaWZ5IGEgYnVuZGxlIgorbXNnc3RyICJsYSB2w6lyaWZpY2F0aW9uIGQndW4gY29saXMgcmVxdWllcnQgdW4gZMOpcMO0dCIKKworIzogYnVuZGxlLmM6MTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBidW5kbGUgY29udGFpbnMgdGhpcyByZWY6IgogbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoZXNlICVkIHJlZnM6IgogbXNnc3RyWzBdICJMZSBjb2xpcyBjb250aWVudCBjZXR0ZSByw6lmw6lyZW5jZSA6IgogbXNnc3RyWzFdICJMZSBjb2xpcyBjb250aWVudCBjZXMgJWQgcsOpZsOpcmVuY2VzIDoiCiAKLSM6IGJ1bmRsZS5jOjE5OQorIzogYnVuZGxlLmM6MjA0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZWNvcmRzIGEgY29tcGxldGUgaGlzdG9yeS4iCiBtc2dzdHIgIkxlIGNvbGlzIGVucmVnaXN0cmUgbCdoaXN0b3JpcXVlIGNvbXBsZXQuIgogCi0jOiBidW5kbGUuYzoyMDEKKyM6IGJ1bmRsZS5jOjIwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoaXMgcmVmOiIKIG1zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGVzZSAlZCByZWZzOiIKIG1zZ3N0clswXSAiTGUgY29saXMgZXhpZ2UgY2V0dGUgcsOpZsOpcmVuY2UgOiIKIG1zZ3N0clsxXSAiTGUgY29saXMgZXhpZ2UgY2VzICVkIHLDqWbDqXJlbmNlcyA6IgogCi0jOiBidW5kbGUuYzoyNjcKKyM6IGJ1bmRsZS5jOjI3MwogbXNnaWQgInVuYWJsZSB0byBkdXAgYnVuZGxlIGRlc2NyaXB0b3IiCiBtc2dzdHIgImltcG9zc2libGUgZGUgZHVwbGlxdWVyIGxlIGRlc2NyaXB0ZXVyIGRlIGxpYXNzZSIKIAotIzogYnVuZGxlLmM6Mjc0CisjOiBidW5kbGUuYzoyODAKIG1zZ2lkICJDb3VsZCBub3Qgc3Bhd24gcGFjay1vYmplY3RzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNyw6llciBkZXMgb2JqZXRzIGdyb3Vww6lzIgogCi0jOiBidW5kbGUuYzoyODUKKyM6IGJ1bmRsZS5jOjI5MQogbXNnaWQgInBhY2stb2JqZWN0cyBkaWVkIgogbXNnc3RyICJsZXMgb2JqZXRzIGdyb3Vww6lzIG9udCBkaXNwYXJ1IgogCi0jOiBidW5kbGUuYzozMjcKKyM6IGJ1bmRsZS5jOjMzMwogbXNnaWQgInJldi1saXN0IGRpZWQiCiBtc2dzdHIgInJldi1saXN0IGEgZGlzcGFydSIKIAotIzogYnVuZGxlLmM6Mzc2CisjOiBidW5kbGUuYzozODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmICclcycgaXMgZXhjbHVkZWQgYnkgdGhlIHJldi1saXN0IG9wdGlvbnMiCiBtc2dzdHIgImxhIHLDqWbDqXJlbmNlICclcycgZXN0IGV4Y2x1ZSBwYXIgbGVzIG9wdGlvbnMgZGUgcmV2LWxpc3QiCiAKLSM6IGJ1bmRsZS5jOjQ1NiBidWlsdGluL2xvZy5jOjE5MiBidWlsdGluL2xvZy5jOjE2ODggYnVpbHRpbi9zaG9ydGxvZy5jOjMwNAorIzogYnVuZGxlLmM6NDYxIGJ1aWx0aW4vbG9nLmM6MjAzIGJ1aWx0aW4vbG9nLmM6MTgxNCBidWlsdGluL3Nob3J0bG9nLmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgImFyZ3VtZW50IG5vbiByZWNvbm51IDogJXMiCiAKLSM6IGJ1bmRsZS5jOjQ2NAorIzogYnVuZGxlLmM6NDY5CiBtc2dpZCAiUmVmdXNpbmcgdG8gY3JlYXRlIGVtcHR5IGJ1bmRsZS4iCiBtc2dzdHIgIlJlZnVzIGRlIGNyw6llciB1biBjb2xpcyB2aWRlLiIKIAotIzogYnVuZGxlLmM6NDc0CisjOiBidW5kbGUuYzo0NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciAnJXMnIgogCi0jOiBidW5kbGUuYzo0OTgKKyM6IGJ1bmRsZS5jOjUwNAogbXNnaWQgImluZGV4LXBhY2sgZGllZCIKIG1zZ3N0ciAibCdpbmRleCBkZSBncm91cGUgYSBkaXNwYXJ1IgogCkBAIC0xMzg5LDE0ICsxODU0LDEzIEBACiBtc2dpZCAiaW52YWxpZCBjb2xvciB2YWx1ZTogJS4qcyIKIG1zZ3N0ciAiVmFsZXVyIGludmFsaWRlIGRlIGNvdWxldXIgOiAlLipzIgogCi0jOiBjb21taXQuYzo1MCBzZXF1ZW5jZXIuYzoyNTI4IGJ1aWx0aW4vYW0uYzozNzAgYnVpbHRpbi9hbS5jOjQxNAotIzogYnVpbHRpbi9hbS5jOjEzOTAgYnVpbHRpbi9hbS5jOjIwMjUgYnVpbHRpbi9yZXBsYWNlLmM6Mzc2Ci0jOiBidWlsdGluL3JlcGxhY2UuYzo0NDgKKyM6IGNvbW1pdC5jOjUxIHNlcXVlbmNlci5jOjI4MTEgYnVpbHRpbi9hbS5jOjM1NCBidWlsdGluL2FtLmM6Mzk4CisjOiBidWlsdGluL2FtLmM6MTM2NiBidWlsdGluL2FtLmM6MjAwOSBidWlsdGluL3JlcGxhY2UuYzo0NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgJXMiCiAKLSM6IGNvbW1pdC5jOjUyCisjOiBjb21taXQuYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAlcyBpcyBub3QgYSBjb21taXQhIgogbXNnc3RyICIlcyAlcyBuJ2VzdCBwYXMgdW4gY29tbWl0ICEiCkBAIC0xNDIxLDI3ICsxODg1LDI3IEBACiAiU3VwcHJpbWV6IGNlIG1lc3NhZ2UgZW4gbGFuw6dhbnRcbiIKICJcImdpdCBjb25maWcgYWR2aWNlLmdyYWZ0RmlsZURlcHJlY2F0ZWQgZmFsc2VcIiIKIAotIzogY29tbWl0LmM6MTExNQorIzogY29tbWl0LmM6MTE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICJMYSB2YWxpZGF0aW9uICVzIGEgdW5lIHNpZ25hdHVyZSBHUEcgbm9uIGZpYWJsZSwgcHLDqXRlbmR1bWVudCBwYXIgJXMuIgogCi0jOiBjb21taXQuYzoxMTE4CisjOiBjb21taXQuYzoxMTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBiYWQgR1BHIHNpZ25hdHVyZSBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICJMYSB2YWxpZGF0aW9uICVzIGEgdW5lIG1hdXZhaXNlIHNpZ25hdHVyZSBHUEcgcHLDqXRlbmR1bWVudCBwYXIgJXMuIgogCi0jOiBjb21taXQuYzoxMTIxCisjOiBjb21taXQuYzoxMTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIGEgR1BHIHNpZ25hdHVyZS4iCiBtc2dzdHIgIkxhIHZhbGlkYXRpb24gJXMgbidhIHBhcyBkZSBzaWduYXR1cmUgR1BHLiIKIAotIzogY29tbWl0LmM6MTEyNAorIzogY29tbWl0LmM6MTE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIGJ5ICVzXG4iCiBtc2dzdHIgIkxhIHZhbGlkYXRpb24gJXMgYSB1bmUgc2lnbmF0dXJlIEdQRyBjb3JyZWN0ZSBwYXIgJXNcbiIKIAotIzogY29tbWl0LmM6MTM3OAorIzogY29tbWl0LmM6MTQxNQogbXNnaWQgIiIKICJXYXJuaW5nOiBjb21taXQgbWVzc2FnZSBkaWQgbm90IGNvbmZvcm0gdG8gVVRGLTguXG4iCiAiWW91IG1heSB3YW50IHRvIGFtZW5kIGl0IGFmdGVyIGZpeGluZyB0aGUgbWVzc2FnZSwgb3Igc2V0IHRoZSBjb25maWdcbiIKQEAgLTE0NTMsOTcgKzE5MTcsMjg3IEBACiAidmFyaWFibGUgZGUgY29uZmlndXJhdGlvbiBpMThuLmNvbW1pdGVuY29kaW5nIMOgIGwnZW5jb2RhZ2UgdXRpbGlzw6kgcGFyIHZvdHJlICIKICJwcm9qZXQuXG4iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEwOAotIywgYy1mb3JtYXQKLW1zZ2lkICJncmFwaCBmaWxlICVzIGlzIHRvbyBzbWFsbCIKLW1zZ3N0ciAibGUgZmljaGllciBkZSBncmFwaGUgJXMgZXN0IHRyb3AgcGV0aXQiCisjOiBjb21taXQtZ3JhcGguYzoxMzAKK21zZ2lkICJjb21taXQtZ3JhcGggZmlsZSBpcyB0b28gc21hbGwiCittc2dzdHIgImxlIGdyYXBoZSBkZSBjb21taXQgZXN0IHRyb3AgcGV0aXQiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjExNQorIzogY29tbWl0LWdyYXBoLmM6MTk1CiAjLCBjLWZvcm1hdAotbXNnaWQgImdyYXBoIHNpZ25hdHVyZSAlWCBkb2VzIG5vdCBtYXRjaCBzaWduYXR1cmUgJVgiCi1tc2dzdHIgImxhIHNpZ25hdHVyZSBkZSBncmFwaGUgJVggbmUgY29ycmVzcG9uZCBwYXMgw6AgbGEgc2lnbmF0dXJlICVYIgorbXNnaWQgImNvbW1pdC1ncmFwaCBzaWduYXR1cmUgJVggZG9lcyBub3QgbWF0Y2ggc2lnbmF0dXJlICVYIgorbXNnc3RyICIiCisibGEgc2lnbmF0dXJlIGR1IGdyYXBoZSBkZSBjb21taXQgJVggbmUgY29ycmVzcG9uZCBwYXMgw6AgbGEgc2lnbmF0dXJlICVYIgogCi0jOiBjb21taXQtZ3JhcGguYzoxMjIKKyM6IGNvbW1pdC1ncmFwaC5jOjIwMgogIywgYy1mb3JtYXQKLW1zZ2lkICJncmFwaCB2ZXJzaW9uICVYIGRvZXMgbm90IG1hdGNoIHZlcnNpb24gJVgiCi1tc2dzdHIgImxhIHZlcnNpb24gJVggZHUgZ3JhcGhlIG5lIGNvcnJlc3BvbmQgcGFzIMOgIGxhIHZlcnNpb24gJVgiCittc2dpZCAiY29tbWl0LWdyYXBoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKK21zZ3N0ciAibGEgdmVyc2lvbiAlWCBkdSBncmFwaGUgZGUgY29tbWl0IG5lIGNvcnJlc3BvbmQgcGFzIMOgIGxhIHZlcnNpb24gJVgiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEyOQorIzogY29tbWl0LWdyYXBoLmM6MjA5CiAjLCBjLWZvcm1hdAotbXNnaWQgImhhc2ggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIgotbXNnc3RyICJsYSB2ZXJzaW9uICVYIGR1IGNvbmRlbnPDqSBuZSBjb3JyZXNwb25kIHBhcyDDoCBsYSB2ZXJzaW9uICVYIgorbXNnaWQgImNvbW1pdC1ncmFwaCBoYXNoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKK21zZ3N0ciAiIgorImwnZW1wcmVpbnRlIGRlIGxhIHZlcnNpb24gJVggZHUgZ3JhcGhlIGRlIGNvbW1pdCBuZSBjb3JyZXNwb25kIHBhcyDDoCBsYSAiCisidmVyc2lvbiAlWCIKIAotIzogY29tbWl0LWdyYXBoLmM6MTUzCisjOiBjb21taXQtZ3JhcGguYzoyMzIKK21zZ2lkICJjb21taXQtZ3JhcGggY2h1bmsgbG9va3VwIHRhYmxlIGVudHJ5IG1pc3Npbmc7IGZpbGUgbWF5IGJlIGluY29tcGxldGUiCittc2dzdHIgIiIKKyJlbnRyw6llIGRlIHRhYmxlIGRlIGNvbnN1bHRhdGlvbiBkZSBtb3JjZWF1eCBkZSBncmFwaGUgZGUgY29tbWl0ZSBtYW5xdWFudGXCoDsgIgorImxlIGZpY2hpZXIgZXN0IHBldXQgw6p0cmUgaW5jb21wbGV0IgorCisjOiBjb21taXQtZ3JhcGguYzoyNDMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaW1wcm9wZXIgY2h1bmsgb2Zmc2V0ICUwOHglMDh4IgotbXNnc3RyICJkw6ljYWxhZ2UgZGUgYmxvYyAlMDh4JTA4eCBpbmFkw6lxdWF0IgorbXNnaWQgImNvbW1pdC1ncmFwaCBpbXByb3BlciBjaHVuayBvZmZzZXQgJTA4eCUwOHgiCittc2dzdHIgImTDqWNhbGFnZSBkZSBibG9jICUwOHglMDh4IGR1IGdyYXBoZSBkZSBjb21taXQgaW5hZMOpcXVhdCIKIAotIzogY29tbWl0LWdyYXBoLmM6MTg5CisjOiBjb21taXQtZ3JhcGguYzoyODYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY2h1bmsgaWQgJTA4eCBhcHBlYXJzIG11bHRpcGxlIHRpbWVzIgotbXNnc3RyICJsJ2lkIGRlIGJsb2MgJTA4eCBhcHBhcmHDrnQgZGVzIG11bHRpcGxlcyBmb2lzIgorbXNnaWQgImNvbW1pdC1ncmFwaCBjaHVuayBpZCAlMDh4IGFwcGVhcnMgbXVsdGlwbGUgdGltZXMiCittc2dzdHIgImwnaWQgZGUgYmxvYyBkZSBncmFwaGUgZGUgY29tbWl0ICUwOHggYXBwYXJhw650IGRlcyBtdWx0aXBsZXMgZm9pcyIKIAotIzogY29tbWl0LWdyYXBoLmM6MzA4CisjOiBjb21taXQtZ3JhcGguYzozNTAKK21zZ2lkICJjb21taXQtZ3JhcGggaGFzIG5vIGJhc2UgZ3JhcGhzIGNodW5rIgorbXNnc3RyICJsZSBncmFwaGUgZGUgY29tbWl0IG4nYSBwYXMgZGUgc2VjdGlvbiBkZSBncmFwaGVzIGRlIGJhc2UiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjM2MAorbXNnaWQgImNvbW1pdC1ncmFwaCBjaGFpbiBkb2VzIG5vdCBtYXRjaCIKK21zZ3N0ciAibGEgY2hhw65uZSBkZSBncmFwaGUgZGUgY29tbWl0IG5lIGNvcnJlc3BvbmQgcGFzIgorCisjOiBjb21taXQtZ3JhcGguYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjb21taXQtZ3JhcGggY2hhaW46IGxpbmUgJyVzJyBub3QgYSBoYXNoIgorbXNnc3RyICIiCisiY2hhw65uZSBkZSBncmFwaGUgZGUgY29tbWl0IGludmFsaWRlwqA6IGxhIGxpZ25lICclcycgbidlc3QgcGFzIHVuZSBlbXByZWludGUiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjQzMworbXNnaWQgInVuYWJsZSB0byBmaW5kIGFsbCBjb21taXQtZ3JhcGggZmlsZXMiCittc2dzdHIgImltcG9zc2libGUgZGUgdHJvdXZlciB0b3VzIGxlcyBmaWNoaWVycyBkdSBncmFwaGUgZGUgY29tbWl0IgorCisjOiBjb21taXQtZ3JhcGguYzo1NjQgY29tbWl0LWdyYXBoLmM6NjI0Cittc2dpZCAiaW52YWxpZCBjb21taXQgcG9zaXRpb24uIGNvbW1pdC1ncmFwaCBpcyBsaWtlbHkgY29ycnVwdCIKK21zZ3N0ciAiIgorInBvc2l0aW9uIGRlIGNvbW1pdCBpbnZhbGlkZS4gTGUgZ3JhcGhlIGRlIGNvbW1pdCBlc3QgdnJhaXNlbWJsYWJsZW1lbnQgIgorImNvcnJvbXB1IgorCisjOiBjb21taXQtZ3JhcGguYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGZpbmQgY29tbWl0ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGUgY29tbWl0ICVzIgogCi0jOiBjb21taXQtZ3JhcGguYzo2MTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjUyCisjOiBjb21taXQtZ3JhcGguYzo4NTggYnVpbHRpbi9hbS5jOjEyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGNvbW1pdCAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTAxNyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdldCB0eXBlIG9mIG9iamVjdCAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ29idGVuaXIgbGUgdHlwZSBkZSBsJ29iamV0ICVzIgogCi0jOiBjb21taXQtZ3JhcGguYzo2NTEKLW1zZ2lkICJBbm5vdGF0aW5nIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgotbXNnc3RyICJBbm5vdGF0aW9uIGRlcyBjb21taXRzIGRhbnMgdW4gZ3JhcGhlIGRlIGNvbW1pdCIKKyM6IGNvbW1pdC1ncmFwaC5jOjEwNDkKK21zZ2lkICJMb2FkaW5nIGtub3duIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICJMZWN0dXJlIGRlcyBjb21taXRzIGNvbm51cyBkYW5zIHVuIGdyYXBoZSBkZSBjb21taXQiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjY5MQorIzogY29tbWl0LWdyYXBoLmM6MTA2NgorbXNnaWQgIkV4cGFuZGluZyByZWFjaGFibGUgY29tbWl0cyBpbiBjb21taXQgZ3JhcGgiCittc2dzdHIgIkV4cGFuc2lvbiBkZXMgY29tbWl0cyBqb2lnbmFibGVzIGRhbnMgdW4gZ3JhcGhlIGRlIGNvbW1pdCIKKworIzogY29tbWl0LWdyYXBoLmM6MTA4NQorbXNnaWQgIkNsZWFyaW5nIGNvbW1pdCBtYXJrcyBpbiBjb21taXQgZ3JhcGgiCittc2dzdHIgIlN1cHByZXNzaW9uIGxlcyBtYXJxdWVzIGRlIGNvbW1pdCBkYW5zIGxlIGdyYXBoZSBkZSBjb21taXRzIgorCisjOiBjb21taXQtZ3JhcGguYzoxMTA0CiBtc2dpZCAiQ29tcHV0aW5nIGNvbW1pdCBncmFwaCBnZW5lcmF0aW9uIG51bWJlcnMiCiBtc2dzdHIgIkNhbGN1bCBkZXMgY2hpZmZyZXMgZGUgZ8OpbsOpcmF0aW9uIGR1IGdyYXBoZSBkZSBjb21taXRzIgogCi0jOiBjb21taXQtZ3JhcGguYzo4MDMgY29tbWl0LWdyYXBoLmM6ODI2IGNvbW1pdC1ncmFwaC5jOjg1MgotbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIgotbXNnc3RyICJSZWNoZXJjaGUgZGUgY29tbWl0cyBwb3VyIHVuIGdyYXBoZSBkZSBjb21taXRzIgorIzogY29tbWl0LWdyYXBoLmM6MTE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBpbiAlZCBwYWNrIgorbXNnaWRfcGx1cmFsICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBpbiAlZCBwYWNrcyIKK21zZ3N0clswXSAiUmVjaGVyY2hlIGRlIGNvbW1pdHMgcG91ciB1biBncmFwaGUgZGUgY29tbWl0cyBkYW5zICVkIHBhcXVldCIKK21zZ3N0clsxXSAiUmVjaGVyY2hlIGRlIGNvbW1pdHMgcG91ciB1biBncmFwaGUgZGUgY29tbWl0cyBkYW5zICVkIHBhcXVldHMiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjgxMgorIzogY29tbWl0LWdyYXBoLmM6MTE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBhZGRpbmcgcGFjayAlcyIKIG1zZ3N0ciAiZXJyZXVyIMOgIGwnYWpvdXQgZHUgcGFja2V0ICVzIgogCi0jOiBjb21taXQtZ3JhcGguYzo4MTQKKyM6IGNvbW1pdC1ncmFwaC5jOjExOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3Igb3BlbmluZyBpbmRleCBmb3IgJXMiCiBtc2dzdHIgImVycmV1ciDDoCBsJ291dmVydHVyZSBkZSBsJ2luZGV4IHBvdXIgJXMiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjg2OAorIzogY29tbWl0LWdyYXBoLmM6MTIyMAogIywgYy1mb3JtYXQKLW1zZ2lkICJ0aGUgY29tbWl0IGdyYXBoIGZvcm1hdCBjYW5ub3Qgd3JpdGUgJWQgY29tbWl0cyIKLW1zZ3N0ciAibGUgZ3JhcGhlIGRlIGNvbW1pdHMgbmUgcGV1dCBwYXMgw6ljcmlyZSAlZCBjb21taXRzIgorbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGZyb20gJWQgcmVmIgorbXNnaWRfcGx1cmFsICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBmcm9tICVkIHJlZnMiCittc2dzdHJbMF0gIlJlY2hlcmNoZSBkZSBjb21taXRzIHBvdXIgdW4gZ3JhcGhlIGRlIGNvbW1pdHMgZGVwdWlzICVkIHLDqWYiCittc2dzdHJbMV0gIlJlY2hlcmNoZSBkZSBjb21taXRzIHBvdXIgdW4gZ3JhcGhlIGRlIGNvbW1pdHMgZGVwdWlzICVkIHLDqWZzIgogCi0jOiBjb21taXQtZ3JhcGguYzo4OTUKLW1zZ2lkICJ0b28gbWFueSBjb21taXRzIHRvIHdyaXRlIGdyYXBoIgotbXNnc3RyICJ0cm9wIGRlIGNvbW1pdHMgcG91ciDDqWNyaXJlIHVuIGdyYXBoZSIKKyM6IGNvbW1pdC1ncmFwaC5jOjEyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjb21taXQgb2JqZWN0IGlkOiAlcyIKK21zZ3N0ciAiaWRlbnRpZmlhbnQgZCdvYmpldCBjb21taXQgaW52YWxpZGUgOiAlcyIKIAotIzogY29tbWl0LWdyYXBoLmM6OTAyIG1pZHguYzo3NjkKKyM6IGNvbW1pdC1ncmFwaC5jOjEyNTUKK21zZ2lkICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBhbW9uZyBwYWNrZWQgb2JqZWN0cyIKK21zZ3N0ciAiIgorIlJlY2hlcmNoZSBkZSBjb21taXRzIHBvdXIgdW4gZ3JhcGhlIGRlIGNvbW1pdHMgcGFybWkgbGVzIG9iamV0cyBlbXBhcXVldMOpcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTI3MAorbXNnaWQgIkNvdW50aW5nIGRpc3RpbmN0IGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICJDb21wdGFnZSBkZXMgY29tbWl0cyBkaXN0aW5jdHMgZGFucyB1biBncmFwaGUgZGUgY29tbWl0IgorCisjOiBjb21taXQtZ3JhcGguYzoxMzAwCittc2dpZCAiRmluZGluZyBleHRyYSBlZGdlcyBpbiBjb21taXQgZ3JhcGgiCittc2dzdHIgIlJlY2hlcmNoZSBkJ2Fyw6p0ZXMgc3VwcGzDqW1lbnRhaXJlcyBkYW5zIHVuIGdyYXBoZSBkZSBjb21taXRzIgorCisjOiBjb21taXQtZ3JhcGguYzoxMzQ2Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvcnJlY3QgbnVtYmVyIG9mIGJhc2UgZ3JhcGggaWRzIgorbXNnc3RyICLDqWNoZWMgw6AgbCfDqWNyaXR1cmUgbGUgbm9tYnJlIGNvcnJlY3QgZCdpZCBkZSBiYXNlIGRlIGZ1c2lvbiIKKworIzogY29tbWl0LWdyYXBoLmM6MTM3OSBtaWR4LmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGVzIHLDqXBlcnRvaXJlcyBkZSBwcmVtaWVyIG5pdmVhdSBkZSAlcyIKIAotIzogY29tbWl0LWdyYXBoLmM6MTAwMgorIzogY29tbWl0LWdyYXBoLmM6MTM5MSBidWlsdGluL2luZGV4LXBhY2suYzozMDYgYnVpbHRpbi9yZXBhY2suYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciAnJXMnIgorCisjOiBjb21taXQtZ3JhcGguYzoxNDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRpbmcgb3V0IGNvbW1pdCBncmFwaCBpbiAlZCBwYXNzIgorbXNnaWRfcGx1cmFsICJXcml0aW5nIG91dCBjb21taXQgZ3JhcGggaW4gJWQgcGFzc2VzIgorbXNnc3RyWzBdICLDiWNyaXR1cmUgbGUgZ3JhcGhlIGRlIGNvbW1pdHMgZW4gJWQgcGFzc2UiCittc2dzdHJbMV0gIsOJY3JpdHVyZSBsZSBncmFwaGUgZGUgY29tbWl0cyBlbiAlZCBwYXNzZXMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE0OTIKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiBjb21taXQtZ3JhcGggY2hhaW4gZmlsZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciBsZSBmaWNoaWVyIGRlIGdyYXBoZSBkZSBjb21taXQiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE1MDQKK21zZ2lkICJmYWlsZWQgdG8gcmVuYW1lIGJhc2UgY29tbWl0LWdyYXBoIGZpbGUiCittc2dzdHIgIsOpY2hlYyBkdSByZW5vbW1hZ2UgZHUgZmljaGllciBkZSBncmFwaGUgZGUgY29tbWl0cyIKKworIzogY29tbWl0LWdyYXBoLmM6MTUyNAorbXNnaWQgImZhaWxlZCB0byByZW5hbWUgdGVtcG9yYXJ5IGNvbW1pdC1ncmFwaCBmaWxlIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHJlbm9tbWVyIGxlIGZpY2hpZXIgdGVtcG9yYWlyZSBkZSBncmFwaGUgZGUgY29tbWl0cyIKKworIzogY29tbWl0LWdyYXBoLmM6MTYzNQorbXNnaWQgIlNjYW5uaW5nIG1lcmdlZCBjb21taXRzIgorbXNnc3RyICJBbmFseXNlIGRlcyBjb21taXRzIGRlIGZ1c2lvbiIKKworIzogY29tbWl0LWdyYXBoLmM6MTY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGR1cGxpY2F0ZSBjb21taXQgaWQgJXMiCittc2dzdHIgImlkIGRlIGNvbW1pdCAlcyBkdXBsaXF1w6kgaW5hdHRlbmR1IgorCisjOiBjb21taXQtZ3JhcGguYzoxNjcwCittc2dpZCAiTWVyZ2luZyBjb21taXQtZ3JhcGgiCittc2dzdHIgImZ1c2lvbiBkdSBncmFwaGUgZGUgY29tbWl0cyIKKworIzogY29tbWl0LWdyYXBoLmM6MTg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgY29tbWl0IGdyYXBoIGZvcm1hdCBjYW5ub3Qgd3JpdGUgJWQgY29tbWl0cyIKK21zZ3N0ciAibGUgZ3JhcGhlIGRlIGNvbW1pdHMgbmUgcGV1dCBwYXMgw6ljcmlyZSAlZCBjb21taXRzIgorCisjOiBjb21taXQtZ3JhcGguYzoxODcxCittc2dpZCAidG9vIG1hbnkgY29tbWl0cyB0byB3cml0ZSBncmFwaCIKK21zZ3N0ciAidHJvcCBkZSBjb21taXRzIHBvdXIgw6ljcmlyZSB1biBncmFwaGUiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE5NjEKIG1zZ2lkICJ0aGUgY29tbWl0LWdyYXBoIGZpbGUgaGFzIGluY29ycmVjdCBjaGVja3N1bSBhbmQgaXMgbGlrZWx5IGNvcnJ1cHQiCiBtc2dzdHIgIiIKICJsZSBncmFwaGUgZGUgY29tbWl0IGEgdW5lIHNvbW1lIGRlIGNvbnRyw7RsZSBpbmNvcnJlY3RlIGV0IGVzdCAiCiAidnJhaXNlbWJsYWJsZW1lbnQgY29ycm9tcHUiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEwNDYKKyM6IGNvbW1pdC1ncmFwaC5jOjE5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIGhhcyBpbmNvcnJlY3QgT0lEIG9yZGVyOiAlcyB0aGVuICVzIgorbXNnc3RyICJsZSBncmFwaGUgZGUgY29tbWl0IGEgdW4gb3JkcmUgZCdPSUQgaW5jb3JyZWN0wqA6ICVzIHB1aXMgJXMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE5ODEgY29tbWl0LWdyYXBoLmM6MTk5NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggaGFzIGluY29ycmVjdCBmYW5vdXQgdmFsdWU6IGZhbm91dFslZF0gPSAldSAhPSAldSIKK21zZ3N0ciAiIgorImxlIGdyYXBoZSBkZSBjb21taXQgYSB1bmUgdmFsZXVyIGRlIGRpc3BlcnNpb24gaW5jb3JyZWN0ZSA6IGRpc3BlcnNpb25bJWRdID0gIgorIiV1ICE9ICV1IgorCisjOiBjb21taXQtZ3JhcGguYzoxOTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb21taXQgJXMgZnJvbSBjb21taXQtZ3JhcGgiCittc2dzdHIgIsOpY2hlYyBkZSBsJ2FuYWx5c2UgbGUgY29tbWl0ICVzIGRlcHVpcyBsZSBncmFwaGUgZGUgY29tbWl0cyIKKworIzogY29tbWl0LWdyYXBoLmM6MjAwNgogbXNnaWQgIlZlcmlmeWluZyBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKIG1zZ3N0ciAiVmVyaWZpY2F0aW9uIGRlcyBjb21taXRzIGRhbnMgbGUgZ3JhcGhlIGRlIGNvbW1pdHMiCiAKLSM6IGNvbXBhdC9vYnN0YWNrLmM6NDA1IGNvbXBhdC9vYnN0YWNrLmM6NDA3CisjOiBjb21taXQtZ3JhcGguYzoyMDIwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb21taXQgJXMgZnJvbSBvYmplY3QgZGF0YWJhc2UgZm9yIGNvbW1pdC1ncmFwaCIKK21zZ3N0ciAiIgorIsOpY2hlYyBkZSBsJ2FuYWx5c2UgZHUgY29tbWl0ICVzIGRlcHVpcyBsYSBiYXNlIGRlIGRvbm7DqWVzIGQnb2JqZXRzIHBvdXIgbGUgIgorImdyYXBoZSBkZSBjb21taXQiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicm9vdCB0cmVlIE9JRCBmb3IgY29tbWl0ICVzIGluIGNvbW1pdC1ncmFwaCBpcyAlcyAhPSAlcyIKK21zZ3N0ciAiIgorImwnT0lEIGRlIGwnYXJicmUgcmFjaW5lIHBvdXIgbGUgY29tbWl0ICVzIGRhbnMgbGUgZ3JhcGhlIGRlIGNvbW1pdCBlc3QgJXMgIT0gIgorIiVzIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBwYXJlbnQgbGlzdCBmb3IgY29tbWl0ICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICIiCisibGEgbGlzdGUgZGVzIHBhcmVudHMgZHUgZ3JhcGhlIGRlIGNvbW1pdCBwb3VyIGxlIGNvbW1pdCAlcyBlc3QgdHJvcCBsb25ndWUiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIHBhcmVudCBmb3IgJXMgaXMgJXMgIT0gJXMiCittc2dzdHIgImxlIHBhcmVudCBkdSBncmFwaGUgZGUgY29tbWl0IHBvdXIgJXMgZXN0ICVzICE9ICVzIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDU5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBwYXJlbnQgbGlzdCBmb3IgY29tbWl0ICVzIHRlcm1pbmF0ZXMgZWFybHkiCittc2dzdHIgIiIKKyJsYSBsaXN0ZSBkZSBwYXJlbnRzIGR1IGdyYXBoZSBkZSBjb21taXQgcG91ciBsZSBjb21taXQgJXMgc2UgdGVybWluZSB0cm9wIHTDtHQiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvbW1pdC1ncmFwaCBoYXMgZ2VuZXJhdGlvbiBudW1iZXIgemVybyBmb3IgY29tbWl0ICVzLCBidXQgbm9uLXplcm8gZWxzZXdoZXJlIgorbXNnc3RyICIiCisibGUgZ3JhcGhlIGRlIGNvbW1pdCBhIHVuIG51bcOpcm8gZGUgZ8OpbsOpcmF0aW9uIG51bCBwb3VyIGxlIGNvbW1pdCAlcywgbWFpcyAiCisibm9uLW51bCBhaWxsZXVycyIKKworIzogY29tbWl0LWdyYXBoLmM6MjA2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY29tbWl0LWdyYXBoIGhhcyBub24temVybyBnZW5lcmF0aW9uIG51bWJlciBmb3IgY29tbWl0ICVzLCBidXQgemVybyBlbHNld2hlcmUiCittc2dzdHIgIiIKKyJsZSBncmFwaGUgZGUgY29tbWl0IGEgdW4gbnVtw6lybyBkZSBnw6luw6lyYXRpb24gbm9uLW51bCBwb3VyIGxlIGNvbW1pdCAlcywgIgorIm1haXMgbnVsIGFpbGxldXJzIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBnZW5lcmF0aW9uIGZvciBjb21taXQgJXMgaXMgJXUgIT0gJXUiCittc2dzdHIgImxhIGfDqW7DqXJhdGlvbiBkdSBncmFwaGUgZGUgY29tbWl0IHBvdXIgbGUgY29tbWl0ICVzIGVzdCAldSAhPSAldSIKKworIzogY29tbWl0LWdyYXBoLmM6MjA4OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQgZGF0ZSBmb3IgY29tbWl0ICVzIGluIGNvbW1pdC1ncmFwaCBpcyAlPFBSSXVNQVg+ICE9ICU8UFJJdU1BWD4iCittc2dzdHIgIiIKKyJsYSBkYXRlIGRlIHZhbGlkYXRpb24gcG91ciBsZSBjb21taXQgJXMgZGFucyBsZSBncmFwaGUgZGUgY29tbWl0IGVzdCAiCisiJTxQUkl1TUFYPiAhPSAlPFBSSXVNQVg+IgorCisjOiBjb21wYXQvb2JzdGFjay5jOjQwNiBjb21wYXQvb2JzdGFjay5jOjQwOAogbXNnaWQgIm1lbW9yeSBleGhhdXN0ZWQiCiBtc2dzdHIgInBsdXMgZGUgbcOpbW9pcmUiCiAKLSM6IGNvbmZpZy5jOjEyMworIzogY29uZmlnLmM6MTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleGNlZWRlZCBtYXhpbXVtIGluY2x1ZGUgZGVwdGggKCVkKSB3aGlsZSBpbmNsdWRpbmdcbiIKQEAgLTE1NTgsMzEzICsyMjEyLDMwNiBAQAogIlx0JXNcbiIKICJwb3NzaWJpbGl0w6kgZCdpbmNsdXNpb25zIG11bHRpcGxlcy4iCiAKLSM6IGNvbmZpZy5jOjEzOQorIzogY29uZmlnLmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBleHBhbmQgaW5jbHVkZSBwYXRoICclcyciCiBtc2dzdHIgImV4cGFuc2lvbiBpbXBvc3NpYmxlIGR1IGNoZW1pbiBkJ2luY2x1c2lvbiAnJXMnIgogCi0jOiBjb25maWcuYzoxNTAKKyM6IGNvbmZpZy5jOjE1MQogbXNnaWQgInJlbGF0aXZlIGNvbmZpZyBpbmNsdWRlcyBtdXN0IGNvbWUgZnJvbSBmaWxlcyIKIG1zZ3N0ciAibGVzIGluY2x1c2lvbnMgZGUgY29uZmlndXJhdGlvbiByZWxhdGl2ZXMgZG9pdmVudCB2ZW5pciBkZSBmaWNoaWVycyIKIAotIzogY29uZmlnLmM6MTkwCisjOiBjb25maWcuYzoxOTcKIG1zZ2lkICJyZWxhdGl2ZSBjb25maWcgaW5jbHVkZSBjb25kaXRpb25hbHMgbXVzdCBjb21lIGZyb20gZmlsZXMiCiBtc2dzdHIgIiIKICJsZXMgY29uZGl0aW9ucyBkJ2luY2x1c2lvbiBkZSBjb25maWd1cmF0aW9uIHJlbGF0aXZlIGRvaXZlbnQgdmVuaXIgZGUgIgogImZpY2hpZXJzIgogCi0jOiBjb25maWcuYzozNDgKKyM6IGNvbmZpZy5jOjM3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJrZXkgZG9lcyBub3QgY29udGFpbiBhIHNlY3Rpb246ICVzIgogbXNnc3RyICJsYSBjbMOpIG5lIGNvbnRpZW50IHBhcyBkZSBzZWN0aW9uOiAlcyIKIAotIzogY29uZmlnLmM6MzU0CisjOiBjb25maWcuYzozODIKICMsIGMtZm9ybWF0CiBtc2dpZCAia2V5IGRvZXMgbm90IGNvbnRhaW4gdmFyaWFibGUgbmFtZTogJXMiCiBtc2dzdHIgImxhIGNsw6kgbmUgY29udGllbnQgcGFzIGRlIG5vbSBkZSB2YXJpYWJsZcKgOiAlcyIKIAotIzogY29uZmlnLmM6Mzc4IHNlcXVlbmNlci5jOjIyOTYKKyM6IGNvbmZpZy5jOjQwNiBzZXF1ZW5jZXIuYzoyNTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQga2V5OiAlcyIKIG1zZ3N0ciAiY2zDqSBpbnZhbGlkZcKgOiAlcyIKIAotIzogY29uZmlnLmM6Mzg0CisjOiBjb25maWcuYzo0MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXkgKG5ld2xpbmUpOiAlcyIKIG1zZ3N0ciAiY2zDqSBpbnZhbGlkZSAocmV0b3VyIGNoYXJpb3QpwqA6ICVzIgogCi0jOiBjb25maWcuYzo0MjAgY29uZmlnLmM6NDMyCisjOiBjb25maWcuYzo0NDggY29uZmlnLmM6NDYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJvZ3VzIGNvbmZpZyBwYXJhbWV0ZXI6ICVzIgogbXNnc3RyICJwYXJhbcOodHJlIGRlIGNvbmZpZ3VyYXRpb24gbWFsIGZvcm3DqTogJXMiCiAKLSM6IGNvbmZpZy5jOjQ2NworIzogY29uZmlnLmM6NDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJvZ3VzIGZvcm1hdCBpbiAlcyIKIG1zZ3N0ciAiZm9ybWF0YWdlIG1hbCBmb3Jtw6kgZGFucyAlcyIKIAotIzogY29uZmlnLmM6NzkzCisjOiBjb25maWcuYzo4MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGJsb2IgJXMiCiBtc2dzdHIgImxpZ25lICVkIGRlIGNvbmZpZyBpbmNvcnJlY3RlIGRhbnMgbGUgYmxvYiAlcyIKIAotIzogY29uZmlnLmM6Nzk3CisjOiBjb25maWcuYzo4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGZpbGUgJXMiCiBtc2dzdHIgImxpZ25lICVkIGRlIGNvbmZpZyBpbmNvcnJlY3RlIGRhbnMgbGUgZmljaGllciAlcyIKIAotIzogY29uZmlnLmM6ODAxCisjOiBjb25maWcuYzo4MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJsaWduZSAlZCBkZSBjb25maWcgaW5jb3JyZWN0ZSBkYW5zIGwnZW50csOpZSBzdGFuZGFyZCIKIAotIzogY29uZmlnLmM6ODA1CisjOiBjb25maWcuYzo4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN1Ym1vZHVsZS1ibG9iICVzIgogbXNnc3RyICJsaWduZSAlZCBkZSBjb25maWcgaW5jb3JyZWN0ZSBkYW5zIGxlIGJsb2IgZGUgc291cy1tb2R1bGUgJXMiCiAKLSM6IGNvbmZpZy5jOjgwOQorIzogY29uZmlnLmM6ODM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBjb21tYW5kIGxpbmUgJXMiCiBtc2dzdHIgImxpZ25lICVkIGRlIGNvbmZpZyBpbmNvcnJlY3RlIGRhbnMgbGEgbGlnbmUgZGUgY29tbWFuZGUgJXMiCiAKLSM6IGNvbmZpZy5jOjgxMworIzogY29uZmlnLmM6ODQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyIKIG1zZ3N0ciAibGlnbmUgJWQgZGUgY29uZmlnIGluY29ycmVjdGUgZGFucyAlcyIKIAotIzogY29uZmlnLmM6OTUyCisjOiBjb25maWcuYzo5NzgKIG1zZ2lkICJvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImhvcnMgcGxhZ2UiCiAKLSM6IGNvbmZpZy5jOjk1MgorIzogY29uZmlnLmM6OTc4CiBtc2dpZCAiaW52YWxpZCB1bml0IgogbXNnc3RyICJ1bml0w6kgaW52YWxpZGUiCiAKLSM6IGNvbmZpZy5jOjk1OAorIzogY29uZmlnLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIKIG1zZ3N0ciAidmFsZXVyIG51bcOpcmlxdWUgZGUgY29uZmlndXJhdGlvbiBpbnZhbGlkZSAnJXMnIHBvdXIgJyVzJ8KgOiAlcyIKIAotIzogY29uZmlnLmM6OTYzCisjOiBjb25maWcuYzo5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gYmxvYiAlczogJXMiCiBtc2dzdHIgIiIKICJ2YWxldXIgbnVtw6lyaXF1ZSBkZSBjb25maWd1cmF0aW9uIGluY29ycmVjdGUgJyVzJyBwb3VyICclcycgZGFucyBsZSBibG9iICIKICIlc8KgOiAlcyIKIAotIzogY29uZmlnLmM6OTY2CisjOiBjb25maWcuYzoxMDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGZpbGUgJXM6ICVzIgogbXNnc3RyICIiCiAidmFsZXVyIG51bcOpcmlxdWUgZGUgY29uZmlndXJhdGlvbiBpbmNvcnJlY3RlICclcycgcG91ciAnJXMnIGRhbnMgbGUgZmljaGllciAiCiAiJXPCoDogJXMiCiAKLSM6IGNvbmZpZy5jOjk2OQorIzogY29uZmlnLmM6MTAwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdGFuZGFyZCBpbnB1dDogJXMiCiBtc2dzdHIgIiIKICJ2YWxldXIgbnVtw6lyaXF1ZSBkZSBjb25maWd1cmF0aW9uIGluY29ycmVjdGUgJyVzJyBwb3VyICclcycgZGFucyBsJ2VudHLDqWUgIgogInN0YW5kYXJkwqA6ICVzIgogCi0jOiBjb25maWcuYzo5NzIKKyM6IGNvbmZpZy5jOjEwMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3VibW9kdWxlLWJsb2IgJXM6ICVzIgogbXNnc3RyICIiCiAidmFsZXVyIG51bcOpcmlxdWUgZGUgY29uZmlndXJhdGlvbiBpbmNvcnJlY3RlICclcycgcG91ciAnJXMnIGRhbnMgbGUgYmxvYiBkZSAiCiAic291cy1tb2R1bGUgJXPCoDogJXMiCiAKLSM6IGNvbmZpZy5jOjk3NQorIzogY29uZmlnLmM6MTAxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBjb21tYW5kIGxpbmUgJXM6ICVzIgogbXNnc3RyICIiCiAidmFsZXVyIG51bcOpcmlxdWUgZGUgY29uZmlndXJhdGlvbiBpbmNvcnJlY3RlICclcycgcG91ciAnJXMnIGRhbnMgbGEgbGlnbmUgZGUgIgogImNvbW1hbmRlICVzwqA6ICVzIgogCi0jOiBjb25maWcuYzo5NzgKKyM6IGNvbmZpZy5jOjEwMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gJXM6ICVzIgogbXNnc3RyICIiCiAidmFsZXVyIG51bcOpcmlxdWUgZGUgY29uZmlndXJhdGlvbiBpbmNvcnJlY3RlICclcycgcG91ciAnJXMnIGRhbnMgJXPCoDogJXMiCiAKLSM6IGNvbmZpZy5jOjEwNzMKKyM6IGNvbmZpZy5jOjExMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGV4cGFuZCB1c2VyIGRpciBpbjogJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpdGVuZHJlIGxlIHLDqXBlcnRvaXJlIHV0aWxpc2F0ZXVyIGRhbnMgOiAnJXMnIgogCi0jOiBjb25maWcuYzoxMDgyCisjOiBjb25maWcuYzoxMTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZm9yICclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICInJXMnIHBvdXIgJyVzJyBuJ2VzdCBwYXMgdW4gaG9yb2RhdGFnZSB2YWxpZGUiCiAKLSM6IGNvbmZpZy5jOjExNzMKKyM6IGNvbmZpZy5jOjEyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWJicmV2IGxlbmd0aCBvdXQgb2YgcmFuZ2U6ICVkIgogbXNnc3RyICJsb25ndWV1ciBkJ2FiYnJldiBob3JzIHBsYWdlwqA6ICVkIgogCi0jOiBjb25maWcuYzoxMTg3IGNvbmZpZy5jOjExOTgKKyM6IGNvbmZpZy5jOjEyMjIgY29uZmlnLmM6MTIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgemxpYiBjb21wcmVzc2lvbiBsZXZlbCAlZCIKIG1zZ3N0ciAibml2ZWF1IGRlIGNvbXByZXNzaW9uIHpsaWIgaW5jb3JyZWN0ICVkIgogCi0jOiBjb25maWcuYzoxMjkwCisjOiBjb25maWcuYzoxMzI1CiBtc2dpZCAiY29yZS5jb21tZW50Q2hhciBzaG91bGQgb25seSBiZSBvbmUgY2hhcmFjdGVyIgogbXNnc3RyICJjb3JlLmNvbW1lbnRDaGFyIG5lIGRldnJhaXQgw6p0cmUgcXUndW4gdW5pcXVlIGNhcmFjdMOocmUiCiAKLSM6IGNvbmZpZy5jOjEzMjMKKyM6IGNvbmZpZy5jOjEzNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBtb2RlIGZvciBvYmplY3QgY3JlYXRpb246ICVzIgogbXNnc3RyICJtb2RlIGludmFsaWRlIHBvdXIgbGEgY3LDqWF0aW9uIGQnb2JqZXQgOiAlcyIKIAotIzogY29uZmlnLmM6MTM5NQorIzogY29uZmlnLmM6MTQzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgdmFsdWUgZm9yICVzIgogbXNnc3RyICJ2YWxldXIgbWFsIGZvcm3DqWUgcG91ciAlcyIKIAotIzogY29uZmlnLmM6MTQyMQorIzogY29uZmlnLmM6MTQ1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgdmFsdWUgZm9yICVzOiAlcyIKIG1zZ3N0ciAidmFsZXVyIG1hbCBmb3Jtw6llIHBvdXIgJXPCoDogJXMiCiAKLSM6IGNvbmZpZy5jOjE0MjIKKyM6IGNvbmZpZy5jOjE0NTcKIG1zZ2lkICJtdXN0IGJlIG9uZSBvZiBub3RoaW5nLCBtYXRjaGluZywgc2ltcGxlLCB1cHN0cmVhbSBvciBjdXJyZW50IgogbXNnc3RyICJkb2l0IMOqdHJlIHBhcm1pIG5vdGhpbmcsIG1hdGNoaW5nLCBzaW1wbGUsIHVwc3RyZWFtIG91IGN1cnJlbnQiCiAKLSM6IGNvbmZpZy5jOjE0ODEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzkxCisjOiBjb25maWcuYzoxNTE4IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjayBjb21wcmVzc2lvbiBsZXZlbCAlZCIKIG1zZ3N0ciAibml2ZWF1IGRlIGNvbXByZXNzaW9uIGR1IHBhcXVldCAlZCIKIAotIzogY29uZmlnLmM6MTYwMgorIzogY29uZmlnLmM6MTYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbG9hZCBjb25maWcgYmxvYiBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjaGFyZ2VyIGwnb2JqZXQgYmxvYiBkZSBjb25maWcgJyVzJyIKIAotIzogY29uZmlnLmM6MTYwNQorIzogY29uZmlnLmM6MTY0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGJsb2IiCiBtc2dzdHIgImxhIHLDqWbDqXJlbmNlICclcycgbmUgcG9pbnRlIHBhcyBzdXIgdW4gYmxvYiIKIAotIzogY29uZmlnLmM6MTYyMgorIzogY29uZmlnLmM6MTY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSBjb25maWcgYmxvYiAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHLDqXNvdWRyZSBsZSBibG9iIGRlIGNvbmZpZyAnJXMnIgogCi0jOiBjb25maWcuYzoxNjUyCisjOiBjb25maWcuYzoxNjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKIG1zZ3N0ciAiw6ljaGVjIGRlIGwnYW5hbHlzZSBkZSAlcyIKIAotIzogY29uZmlnLmM6MTcwNQorIzogY29uZmlnLmM6MTc0NQogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICJsZWN0dXJlIGRlIGxhIGNvbmZpZ3VyYXRpb24gZGUgbGlnbmUgZGUgY29tbWFuZGUgaW1wb3NzaWJsZSIKIAotIzogY29uZmlnLmM6MjAzNworIzogY29uZmlnLmM6MjA5NgogbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKIG1zZ3N0ciAiZXJyZXVyIGluY29ubnVlIHBlbmRhbnQgbGEgbGVjdHVyZSBkZXMgZmljaGllcnMgZGUgY29uZmlndXJhdGlvbiIKIAotIzogY29uZmlnLmM6MjIwNworIzogY29uZmlnLmM6MjI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkICVzOiAnJXMnIgogbXNnc3RyICIlcyBpbnZhbGlkZSA6ICclcyciCiAKLSM6IGNvbmZpZy5jOjIyNTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5rbm93biBjb3JlLnVudHJhY2tlZENhY2hlIHZhbHVlICclcyc7IHVzaW5nICdrZWVwJyBkZWZhdWx0IHZhbHVlIgotbXNnc3RyICIiCi0idmFsZXVyICclcycgZGUgY29yZS51bnRyYWNrZWRDYWNoZSBpbmNvbm51ZcKgOyB1dGlsaXNhdGlvbiBkZSAna2VlcCcgcGFyICIKLSJkw6lmYXV0IgotCi0jOiBjb25maWcuYzoyMjc2CisjOiBjb25maWcuYzoyMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgInNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSB2YWx1ZSAnJWQnIHNob3VsZCBiZSBiZXR3ZWVuIDAgYW5kIDEwMCIKIG1zZ3N0ciAiIgogImxhIHZhbGV1ciAnJWQnIGRlIHNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSBkZXZyYWl0IHNlIHNpdHVlciBlbnRyZSAwIGV0ICIKICIxMDAiCiAKLSM6IGNvbmZpZy5jOjIzMjIKKyM6IGNvbmZpZy5jOjIzNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICclcycgZnJvbSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICIiCiAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyICclcycgZGVwdWlzIGxlIGNvbmZpZ3VyYXRpb24gZW4gbGlnbmUgZGUgY29tbWFuZGUiCiAKLSM6IGNvbmZpZy5jOjIzMjQKKyM6IGNvbmZpZy5jOjIzNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyB2YXJpYWJsZSAnJXMnIGluIGZpbGUgJyVzJyBhdCBsaW5lICVkIgogbXNnc3RyICIiCiAidmFyaWFibGUgZGUgY29uZmlndXJhdGlvbiAnJXMnIGluY29ycmVjdGUgZGFucyBsZSBmaWNoaWVyICclcycgw6AgbGEgbGlnbmUgJWQiCiAKLSM6IGNvbmZpZy5jOjI0MDUKKyM6IGNvbmZpZy5jOjI0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzZWN0aW9uIG5hbWUgJyVzJyIKIG1zZ3N0ciAibm9tIGRlIHNlY3Rpb24gaW52YWxpZGUgJyVzJyIKIAotIzogY29uZmlnLmM6MjQzNworIzogY29uZmlnLmM6MjQ3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbXVsdGlwbGUgdmFsdWVzIgogbXNnc3RyICIlcyBhIGRlcyB2YWxldXJzIG11bHRpcGxlcyIKIAotIzogY29uZmlnLmM6MjQ2NgorIzogY29uZmlnLmM6MjUwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgbmV3IGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgZmljaGllciBkZSBjb25maWd1cmF0aW9uICVzIgogCi0jOiBjb25maWcuYzoyNzE3IGNvbmZpZy5jOjMwNDEKKyM6IGNvbmZpZy5jOjI3NTMgY29uZmlnLmM6MzA3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9jayBjb25maWcgZmlsZSAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSB2ZXJyb3VpbGxlciBsZSBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24gJXMiCiAKLSM6IGNvbmZpZy5jOjI3MjgKKyM6IGNvbmZpZy5jOjI3NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAib3BlbmluZyAlcyIKIG1zZ3N0ciAib3V2ZXJ0dXJlIGRlICVzIgogCi0jOiBjb25maWcuYzoyNzYzIGJ1aWx0aW4vY29uZmlnLmM6MzI3CisjOiBjb25maWcuYzoyNzk5IGJ1aWx0aW4vY29uZmlnLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcGF0dGVybjogJXMiCiBtc2dzdHIgIm1vdGlmIGludmFsaWRlIDogJXMiCiAKLSM6IGNvbmZpZy5jOjI3ODgKKyM6IGNvbmZpZy5jOjI4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb25maWcgZmlsZSAlcyIKIG1zZ3N0ciAiZmljaGllciBkZSBjb25maWd1cmF0aW9uIGludmFsaWRlICVzIgogCi0jOiBjb25maWcuYzoyODAxIGNvbmZpZy5jOjMwNTQKKyM6IGNvbmZpZy5jOjI4MzcgY29uZmlnLmM6MzA5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmc3RhdCBvbiAlcyBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkZSBmc3RhdCBzdXIgJXMiCiAKLSM6IGNvbmZpZy5jOjI4MTIKKyM6IGNvbmZpZy5jOjI4NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1tYXAgJyVzJyIKLW1zZ3N0ciAiaW1wb3NzaWJsZSBkIHLDqWFsaXNlciB1biBtYXAgZGUgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSByw6lhbGlzZXIgdW4gbWFwIGRlICclcyciCiAKLSM6IGNvbmZpZy5jOjI4MjEgY29uZmlnLmM6MzA1OQorIzogY29uZmlnLmM6Mjg1NyBjb25maWcuYzozMDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNobW9kIG9uICVzIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGNobW9kIHN1ciAlcyIKIAotIzogY29uZmlnLmM6MjkwNiBjb25maWcuYzozMTU2CisjOiBjb25maWcuYzoyOTQyIGNvbmZpZy5jOjMxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbmZpZyBmaWxlICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24gJXMiCiAKLSM6IGNvbmZpZy5jOjI5NDAKKyM6IGNvbmZpZy5jOjI5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCAnJXMnIHRvICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgcsOpZ2xlciAnJXMnIMOgICclcyciCiAKLSM6IGNvbmZpZy5jOjI5NDIgYnVpbHRpbi9yZW1vdGUuYzo3ODIKKyM6IGNvbmZpZy5jOjI5NzggYnVpbHRpbi9yZW1vdGUuYzo3ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVuc2V0ICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgZMOpc2luaXRpYWxpc2VyICclcyciCiAKLSM6IGNvbmZpZy5jOjMwMzIKKyM6IGNvbmZpZy5jOjMwNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzZWN0aW9uIG5hbWU6ICVzIgogbXNnc3RyICJub20gZGUgc2VjdGlvbiBpbnZhbGlkZcKgOiAlcyIKIAotIzogY29uZmlnLmM6MzE5OQorIzogY29uZmlnLmM6MzIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIHZhbHVlIGZvciAnJXMnIgogbXNnc3RyICJ2YWxldXIgbWFucXVhbnRlIHBvdXIgJyVzJyIKQEAgLTE5MTcsNTAgKzI1NjQsNDUgQEAKIG1zZ2lkICJyZXBvc2l0b3J5IG9uIHRoZSBvdGhlciBlbmQgY2Fubm90IGJlIHNoYWxsb3ciCiBtc2dzdHIgImxlIGTDqXDDtHQgZGlzdGFudCBuZSBwZXV0IHBhcyDDqnRyZSBzdXBlcmZpY2llbCIKIAotIzogY29ubmVjdC5jOjMxMCBmZXRjaC1wYWNrLmM6MTgyIGJ1aWx0aW4vYXJjaGl2ZS5jOjYzCi0jLCBjLWZvcm1hdAotbXNnaWQgInJlbW90ZSBlcnJvcjogJXMiCi1tc2dzdHIgImVycmV1ciBkaXN0YW50ZSA6ICVzIgotCi0jOiBjb25uZWN0LmM6MzE2CisjOiBjb25uZWN0LmM6MzEzCiBtc2dpZCAiaW52YWxpZCBwYWNrZXQiCiBtc2dzdHIgInBhcXVldCBpbnZhbGlkZSIKIAotIzogY29ubmVjdC5jOjMzNgorIzogY29ubmVjdC5jOjMzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogdW5leHBlY3RlZCAnJXMnIgogbXNnc3RyICJlcnJldXIgZGUgcHJvdG9jb2xlwqA6ICclcycgYXR0ZW5kdSIKIAotIzogY29ubmVjdC5jOjQ0NAorIzogY29ubmVjdC5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGxzLXJlZnMgcmVzcG9uc2U6ICVzIgogbXNnc3RyICJyw6lwb25zZSDDoCBscy1yZWYgaW52YWxpZGUgOiAlcyIKIAotIzogY29ubmVjdC5jOjQ0OAorIzogY29ubmVjdC5jOjQ0NQogbXNnaWQgImV4cGVjdGVkIGZsdXNoIGFmdGVyIHJlZiBsaXN0aW5nIgogbXNnc3RyICJ2aWRhZ2UgYXR0ZW5kdSBhcHLDqHMgbGUgbGlzdGFnZSBkZSByw6lmw6lyZW5jZXMiCiAKLSM6IGNvbm5lY3QuYzo1NDcKKyM6IGNvbm5lY3QuYzo1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJvdG9jb2wgJyVzJyBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJsZSBwcm90b2NvbGUgJyVzJyBuJ2VzdCBwYXMgc3VwcG9ydMOpIgogCi0jOiBjb25uZWN0LmM6NTk4CisjOiBjb25uZWN0LmM6NTk1CiBtc2dpZCAidW5hYmxlIHRvIHNldCBTT19LRUVQQUxJVkUgb24gc29ja2V0IgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHBvc2l0aW9ubmVyIFNPX0tFRVBBTElWRSBzdXIgbGEgc29ja2V0IgogCi0jOiBjb25uZWN0LmM6NjM4IGNvbm5lY3QuYzo3MDEKKyM6IGNvbm5lY3QuYzo2MzUgY29ubmVjdC5jOjY5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJMb29raW5nIHVwICVzIC4uLiAiCiBtc2dzdHIgIlJlY2hlcmNoZSBkZSAlc+KApiAiCiAKLSM6IGNvbm5lY3QuYzo2NDIKKyM6IGNvbm5lY3QuYzo2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGxvb2sgdXAgJXMgKHBvcnQgJXMpICglcykiCiBtc2dzdHIgImltcG9zc2libGUgZGUgcmVjaGVyY2hlciAlcyAocG9ydCAlcykgKCVzKSIKIAogIy4gVFJBTlNMQVRPUlM6IHRoaXMgaXMgdGhlIGVuZCBvZiAiTG9va2luZyB1cCAlcyAuLi4gIgotIzogY29ubmVjdC5jOjY0NiBjb25uZWN0LmM6NzE3CisjOiBjb25uZWN0LmM6NjQzIGNvbm5lY3QuYzo3MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImRvbmUuXG4iCkBAIC0xOTY5LDcgKzI2MTEsNyBAQAogImZhaXQuXG4iCiAiQ29ubmV4aW9uIMOgICVzIChwb3J0ICVzKeKApiAiCiAKLSM6IGNvbm5lY3QuYzo2NjggY29ubmVjdC5jOjc0NQorIzogY29ubmVjdC5jOjY2NSBjb25uZWN0LmM6NzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ1bmFibGUgdG8gY29ubmVjdCB0byAlczpcbiIKQEAgLTE5NzksNzUgKzI2MjEsNzUgQEAKICIlcyIKIAogIy4gVFJBTlNMQVRPUlM6IHRoaXMgaXMgdGhlIGVuZCBvZiAiQ29ubmVjdGluZyB0byAlcyAocG9ydCAlcykgLi4uICIKLSM6IGNvbm5lY3QuYzo2NzQgY29ubmVjdC5jOjc1MQorIzogY29ubmVjdC5jOjY3MSBjb25uZWN0LmM6NzQ4CiBtc2dpZCAiZG9uZS4iCiBtc2dzdHIgImZhaXQuIgogCi0jOiBjb25uZWN0LmM6NzA1CisjOiBjb25uZWN0LmM6NzAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBsb29rIHVwICVzICglcykiCiBtc2dzdHIgImltcG9zc2libGUgZGUgcmVjaGVyY2hlciAlcyAoJXMpIgogCi0jOiBjb25uZWN0LmM6NzExCisjOiBjb25uZWN0LmM6NzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gcG9ydCAlcyIKIG1zZ3N0ciAicG9ydCBpbmNvbm51ICVzIgogCi0jOiBjb25uZWN0LmM6ODQ4IGNvbm5lY3QuYzoxMTc0CisjOiBjb25uZWN0LmM6ODQ1IGNvbm5lY3QuYzoxMTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0cmFuZ2UgaG9zdG5hbWUgJyVzJyBibG9ja2VkIgogbXNnc3RyICJub20gZCdow7R0ZSDDqXRyYW5nZSAnJXMnIGJsb3F1w6kiCiAKLSM6IGNvbm5lY3QuYzo4NTAKKyM6IGNvbm5lY3QuYzo4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RyYW5nZSBwb3J0ICclcycgYmxvY2tlZCIKIG1zZ3N0ciAicG9ydCDDqXRyYW5nZSAnJXMnIGJsb3F1w6kiCiAKLSM6IGNvbm5lY3QuYzo4NjAKKyM6IGNvbm5lY3QuYzo4NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXJ0IHByb3h5ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqW1hcnJlciB1biBwcm94eSAlcyIKIAotIzogY29ubmVjdC5jOjkyNworIzogY29ubmVjdC5jOjkyOAogbXNnaWQgIm5vIHBhdGggc3BlY2lmaWVkOyBzZWUgJ2dpdCBoZWxwIHB1bGwnIGZvciB2YWxpZCB1cmwgc3ludGF4IgogbXNnc3RyICIiCiAiYXVjdW4gY2hlbWluIHNww6ljaWZpw6nCoDsgcsOpZsOpcmV6LXZvdXMgw6AgJ2dpdCBoZWxwIHB1bGwnIHBvdXIgdW5lIHN5bnRheGUgIgogImQnVVJMIHZhbGlkZSIKIAotIzogY29ubmVjdC5jOjExMjIKKyM6IGNvbm5lY3QuYzoxMTIzCiBtc2dpZCAic3NoIHZhcmlhbnQgJ3NpbXBsZScgZG9lcyBub3Qgc3VwcG9ydCAtNCIKIG1zZ3N0ciAibGEgdmFyaWFudGUgc3NoICdzaW1wbGUnIG5lIHN1cHBvcnRlIHBhcyAtNCIKIAotIzogY29ubmVjdC5jOjExMzQKKyM6IGNvbm5lY3QuYzoxMTM1CiBtc2dpZCAic3NoIHZhcmlhbnQgJ3NpbXBsZScgZG9lcyBub3Qgc3VwcG9ydCAtNiIKIG1zZ3N0ciAibGEgdmFyaWFudGUgc3NoICdzaW1wbGUnIG5lIHN1cHBvcnRlIHBhcyAtNiIKIAotIzogY29ubmVjdC5jOjExNTEKKyM6IGNvbm5lY3QuYzoxMTUyCiBtc2dpZCAic3NoIHZhcmlhbnQgJ3NpbXBsZScgZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHBvcnQiCiBtc2dzdHIgImxhIHZhcmlhbnRlIHNzaCAnc2ltcGxlJyBuZSBzdXBwb3J0ZSBwYXMgZGUgc3DDqWNpZmllciBsZSBwb3J0IgogCi0jOiBjb25uZWN0LmM6MTI2MgorIzogY29ubmVjdC5jOjEyNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RyYW5nZSBwYXRobmFtZSAnJXMnIGJsb2NrZWQiCiBtc2dzdHIgImNoZW1pbiDDqXRyYW5nZSAnJXMnIGJsb3F1w6kiCiAKLSM6IGNvbm5lY3QuYzoxMzA3CisjOiBjb25uZWN0LmM6MTMxMQogbXNnaWQgInVuYWJsZSB0byBmb3JrIgogbXNnc3RyICJmb3JrIGltcG9zc2libGUiCiAKLSM6IGNvbm5lY3RlZC5jOjY4IGJ1aWx0aW4vZnNjay5jOjIwMiBidWlsdGluL3BydW5lLmM6MTQ3CisjOiBjb25uZWN0ZWQuYzo4OSBidWlsdGluL2ZzY2suYzoyMDggYnVpbHRpbi9wcnVuZS5jOjQzCiBtc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5IgogbXNnc3RyICJWw6lyaWZpY2F0aW9uIGRlIGxhIGNvbm5lY3Rpdml0w6kiCiAKLSM6IGNvbm5lY3RlZC5jOjgwCisjOiBjb25uZWN0ZWQuYzoxMDEKIG1zZ2lkICJDb3VsZCBub3QgcnVuICdnaXQgcmV2LWxpc3QnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxhbmNlciAnZ2l0IHJldi1saXN0JyIKIAotIzogY29ubmVjdGVkLmM6MTAwCisjOiBjb25uZWN0ZWQuYzoxMjEKIG1zZ2lkICJmYWlsZWQgd3JpdGUgdG8gcmV2LWxpc3QiCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGRhbnMgbGEgcmV2LWxpc3QiCiAKLSM6IGNvbm5lY3RlZC5jOjEwNworIzogY29ubmVjdGVkLmM6MTI4CiBtc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW4iCiBtc2dzdHIgImltcG9zc2libGUgZGUgZmVybWVyIGwnZW50csOpZSBzdGFuZGFyZCBkdSByZXYtbGlzdCIKIApAQCAtMjA4NCwyNiArMjcyNiwyNCBAQAogIkxlcyBMRiBzZXJvbnQgcmVtcGxhY8OpcyBwYXIgZGVzIENSTEYgZGFucyAlcy5cbiIKICJMZSBmaWNoaWVyIGNvbnNlcnZlcmEgc2VzIGZpbnMgZGUgbGlnbmUgZCdvcmlnaW5lIGRhbnMgdm90cmUgY29waWUgZGUgdHJhdmFpbCIKIAotIzogY29udmVydC5jOjI4MAorIzogY29udmVydC5jOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJCT00gaXMgcHJvaGliaXRlZCBpbiAnJXMnIGlmIGVuY29kZWQgYXMgJXMiCiBtc2dzdHIgIkF1Y3VuIEJPTSBuJ2VzdCBwZXJtaXMgZGFucyAnJXMnIHMnaWwgZXN0IGVuY29kw6kgY29tbWUgJXMiCiAKLSM6IGNvbnZlcnQuYzoyODcKKyM6IGNvbnZlcnQuYzoyOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgotIlRoZSBmaWxlICclcycgY29udGFpbnMgYSBieXRlIG9yZGVyIG1hcmsgKEJPTSkuIFBsZWFzZSB1c2UgVVRGLSVzIGFzIHdvcmtpbmctIgotInRyZWUtZW5jb2RpbmcuIgotbXNnc3RyICIiCi0iTGUgZmljaGllciAnJXMnIGNvbnRpZW50IHVuIG1hcnF1ZXVyIGQnb3JkcmUgZCdvY3RldHMgKEJPTSkuIFZldWlsbGV6ICIKLSJ1dGlsaXNlciBVVEYtJXMgY29tbWUgZW5jb2RhZ2UgZCdhcmJyZSBkZSB0cmF2YWlsLiIKKyJUaGUgZmlsZSAnJXMnIGNvbnRhaW5zIGEgYnl0ZSBvcmRlciBtYXJrIChCT00pLiBQbGVhc2UgdXNlIFVURi0lLipzIGFzICIKKyJ3b3JraW5nLXRyZWUtZW5jb2RpbmcuIgorbXNnc3RyICJMZSBmaWNoaWVyICclcycgY29udGllbnQgdW4gbWFycXVldXIgZCdvcmRyZSBkJ29jdGV0cyAoQk9NKS4gVmV1aWxsZXogdXRpbGlzZXIgVVRGLSUuKnMgY29tbWUgZW5jb2RhZ2UgZCdhcmJyZSBkZSB0cmF2YWlsLiIKIAotIzogY29udmVydC5jOjMwNQorIzogY29udmVydC5jOjMwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJCT00gaXMgcmVxdWlyZWQgaW4gJyVzJyBpZiBlbmNvZGVkIGFzICVzIgogbXNnc3RyICJVbiBCT00gZXN0IG9ibGlnYXRvaXJlIGRhbnMgJyVzJyBzJ2lsIGVzdCBlbmNvZMOpIGNvbW1lICVzIgogCi0jOiBjb252ZXJ0LmM6MzA3CisjOiBjb252ZXJ0LmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZmlsZSAnJXMnIGlzIG1pc3NpbmcgYSBieXRlIG9yZGVyIG1hcmsgKEJPTSkuIFBsZWFzZSB1c2UgVVRGLSVzQkUgb3IgVVRGLSIKQEAgLTIxMTMsNTIgKzI3NTMsNTIgQEAKICJ1dGlsaXNlciBVVEYtJXNCRSBvdSBVVEYtJXNMRSAoc2Vsb24gbCdvcmRyZSBkw6lzaXLDqSkgY29tbWUgZW5jb2RhZ2UgZCdhcmJyZSAiCiAiZGUgdHJhdmFpbC4iCiAKLSM6IGNvbnZlcnQuYzo0MjUgY29udmVydC5jOjQ5NgorIzogY29udmVydC5jOjQxOSBjb252ZXJ0LmM6NDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBlbmNvZGUgJyVzJyBmcm9tICVzIHRvICVzIgogbXNnc3RyICLDqWNoZWMgZGUgbCdlbmNvZGFnZSBkZSAnJXMnIGRlICVzIHZlcnMgJXMiCiAKLSM6IGNvbnZlcnQuYzo0NjgKKyM6IGNvbnZlcnQuYzo0NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW5jb2RpbmcgJyVzJyBmcm9tICVzIHRvICVzIGFuZCBiYWNrIGlzIG5vdCB0aGUgc2FtZSIKIG1zZ3N0ciAiIgogImVuY29kZXIgJyVzJyBkZXB1aXMgJXMgdmVycyAlcyBwdWlzIGludmVyc2VtZW50IG5lIHByb2R1aXQgcGFzIGxlIG3Dqm1lICIKICJjb250ZW51IgogCi0jOiBjb252ZXJ0LmM6Njc0CisjOiBjb252ZXJ0LmM6NjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmb3JrIHRvIHJ1biBleHRlcm5hbCBmaWx0ZXIgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmb3JrZXIgcG91ciBsYW5jZXIgbGUgZmlsdHJlIGV4dGVybmUgJyVzJyIKIAotIzogY29udmVydC5jOjY5NAorIzogY29udmVydC5jOjY4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmVlZCB0aGUgaW5wdXQgdG8gZXh0ZXJuYWwgZmlsdGVyICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgZm91cm5pciBsJ2VudHLDqWUgYXUgZmlsdHJlIGV4dGVybmUgJyVzJyIKIAotIzogY29udmVydC5jOjcwMQorIzogY29udmVydC5jOjY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHRlcm5hbCBmaWx0ZXIgJyVzJyBmYWlsZWQgJWQiCiBtc2dzdHIgImxlIGZpbHRyZSBleHRlcm5lICclcycgYSDDqWNob3XDqSAlZCIKIAotIzogY29udmVydC5jOjczNiBjb252ZXJ0LmM6NzM5CisjOiBjb252ZXJ0LmM6NzMwIGNvbnZlcnQuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCBmcm9tIGV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAibGEgbGVjdHVyZSBkZXB1aXMgbGUgZmlsdHJlIGV4dGVybmUgJyVzJyBhIMOpY2hvdcOpIgogCi0jOiBjb252ZXJ0LmM6NzQyIGNvbnZlcnQuYzo3OTYKKyM6IGNvbnZlcnQuYzo3MzYgY29udmVydC5jOjc5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHRlcm5hbCBmaWx0ZXIgJyVzJyBmYWlsZWQiCiBtc2dzdHIgImxlIGZpbHRyZSBleHRlcm5lICclcycgYSDDqWNob3XDqSIKIAotIzogY29udmVydC5jOjg0NAorIzogY29udmVydC5jOjgzOQogbXNnaWQgInVuZXhwZWN0ZWQgZmlsdGVyIHR5cGUiCiBtc2dzdHIgInR5cGUgZGUgZmlsdHJlIGluYXR0ZW5kdSIKIAotIzogY29udmVydC5jOjg1NQorIzogY29udmVydC5jOjg1MAogbXNnaWQgInBhdGggbmFtZSB0b28gbG9uZyBmb3IgZXh0ZXJuYWwgZmlsdGVyIgogbXNnc3RyICJub20gZGUgY2hlbWluIHRyb3AgbG9uZyBwb3VyIHVuIGZpbHRyZSBleHRlcm5lIgogCi0jOiBjb252ZXJ0LmM6OTI5CisjOiBjb252ZXJ0LmM6OTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleHRlcm5hbCBmaWx0ZXIgJyVzJyBpcyBub3QgYXZhaWxhYmxlIGFueW1vcmUgYWx0aG91Z2ggbm90IGFsbCBwYXRocyBoYXZlICIKQEAgLTIxNjcsNjcgKzI4MDcsNjcgQEAKICJsZSBmaWx0cmUgZXh0ZXJuZSAnJXMnIG4nZXN0IHBsdXMgZGlzcG9uaWJsZSBiaWVuIHF1ZSB0b3VzIGxlcyBjaGVtaW5zICIKICJuJ2FpZW50IHBhcyDDqXTDqSBmaWx0csOpcyIKIAotIzogY29udmVydC5jOjEyMjgKKyM6IGNvbnZlcnQuYzoxMjIzCiBtc2dpZCAidHJ1ZS9mYWxzZSBhcmUgbm8gdmFsaWQgd29ya2luZy10cmVlLWVuY29kaW5ncyIKIG1zZ3N0ciAidHJ1ZS9mYWxzZSBuZSBzb250IHBhcyBkZXMgZW5jb2RhZ2VzIGQnYXJicmUgZGUgdHJhdmFpbCB2YWxpZGVzIgogCi0jOiBjb252ZXJ0LmM6MTM5OCBjb252ZXJ0LmM6MTQzMgorIzogY29udmVydC5jOjE0MTEgY29udmVydC5jOjE0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNsZWFuIGZpbHRlciAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiJXPCoDogbGUgZmlsdHJlIGNsZWFuICclcycgYSDDqWNob3XDqSIKIAotIzogY29udmVydC5jOjE0NzYKKyM6IGNvbnZlcnQuYzoxNDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzbXVkZ2UgZmlsdGVyICVzIGZhaWxlZCIKIG1zZ3N0ciAiJXPCoDogbGUgZmlsdHJlIHNtdWRnZSAnJXMnIGEgw6ljaG91w6kiCiAKLSM6IGRhdGUuYzoxMTYKKyM6IGRhdGUuYzoxMzgKIG1zZ2lkICJpbiB0aGUgZnV0dXJlIgogbXNnc3RyICJkYW5zIGxlIGZ1dHVyIgogCi0jOiBkYXRlLmM6MTIyCisjOiBkYXRlLmM6MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiU8UFJJdU1BWD4gc2Vjb25kIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBzZWNvbmRzIGFnbyIKIG1zZ3N0clswXSAiaWwgeSBhICU8UFJJdU1BWD4gc2Vjb25kZSIKIG1zZ3N0clsxXSAiaWwgeSBhICU8UFJJdU1BWD4gc2Vjb25kZXMiCiAKLSM6IGRhdGUuYzoxMjkKKyM6IGRhdGUuYzoxNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBtaW51dGUgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1pbnV0ZXMgYWdvIgogbXNnc3RyWzBdICJpbCB5IGEgJTxQUkl1TUFYPiBtaW51dGUiCiBtc2dzdHJbMV0gImlsIHkgYSAlPFBSSXVNQVg+IG1pbnV0ZXMiCiAKLSM6IGRhdGUuYzoxMzYKKyM6IGRhdGUuYzoxNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBob3VyIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBob3VycyBhZ28iCiBtc2dzdHJbMF0gImlsIHkgYSAlPFBSSXVNQVg+IGhldXJlIgogbXNnc3RyWzFdICJpbCB5IGEgJTxQUkl1TUFYPiBoZXVyZXMiCiAKLSM6IGRhdGUuYzoxNDMKKyM6IGRhdGUuYzoxNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBkYXkgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IGRheXMgYWdvIgogbXNnc3RyWzBdICJpbCB5IGEgJTxQUkl1TUFYPiBqb3VyIgogbXNnc3RyWzFdICJpbCB5IGEgJTxQUkl1TUFYPiBqb3VycyIKIAotIzogZGF0ZS5jOjE0OQorIzogZGF0ZS5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHdlZWsgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHdlZWtzIGFnbyIKIG1zZ3N0clswXSAiaWwgeSBhICU8UFJJdU1BWD4gc2VtYWluZSIKIG1zZ3N0clsxXSAiaWwgeSBhICU8UFJJdU1BWD4gc2VtYWluZXMiCiAKLSM6IGRhdGUuYzoxNTYKKyM6IGRhdGUuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBtb250aCBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gbW9udGhzIGFnbyIKIG1zZ3N0clswXSAiaWwgeSBhICU8UFJJdU1BWD4gbW9pcyIKIG1zZ3N0clsxXSAiaWwgeSBhICU8UFJJdU1BWD4gbW9pcyIKIAotIzogZGF0ZS5jOjE2NworIzogZGF0ZS5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHllYXIiCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4geWVhcnMiCkBAIC0yMjM1LDQyICsyODc1LDQyIEBACiBtc2dzdHJbMV0gIiU8UFJJdU1BWD4gYW5zIgogCiAjLiBUUkFOU0xBVE9SUzogIiVzIiBpcyAiPG4+IHllYXJzIgotIzogZGF0ZS5jOjE3MAorIzogZGF0ZS5jOjE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgJTxQUkl1TUFYPiBtb250aCBhZ28iCiBtc2dpZF9wbHVyYWwgIiVzLCAlPFBSSXVNQVg+IG1vbnRocyBhZ28iCiBtc2dzdHJbMF0gImlsIHkgYSAlcyBldCAlPFBSSXVNQVg+IG1vaXMiCiBtc2dzdHJbMV0gImlsIHkgYSAlcyBldCAlPFBSSXVNQVg+IG1vaXMiCiAKLSM6IGRhdGUuYzoxNzUgZGF0ZS5jOjE4MAorIzogZGF0ZS5jOjE5NyBkYXRlLmM6MjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiU8UFJJdU1BWD4geWVhciBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4geWVhcnMgYWdvIgogbXNnc3RyWzBdICJpbCB5IGEgJTxQUkl1TUFYPiBhbiIKIG1zZ3N0clsxXSAiaWwgeSBhICU8UFJJdU1BWD4gYW5zIgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6MjY4CisjOiBkZWx0YS1pc2xhbmRzLmM6MjcyCiBtc2dpZCAiUHJvcGFnYXRpbmcgaXNsYW5kIG1hcmtzIgogbXNnc3RyICJQcm9wYWdhdGlvbiBkZXMgbWFycXVlcyBkJ8OubG90cyIKIAotIzogZGVsdGEtaXNsYW5kcy5jOjI4NgorIzogZGVsdGEtaXNsYW5kcy5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgdHJlZSBvYmplY3QgJXMiCiBtc2dzdHIgIm9iamV0IGFyYnJlIGludmFsaWRlICVzIgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6MzMwCisjOiBkZWx0YS1pc2xhbmRzLmM6MzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBsb2FkIGlzbGFuZCByZWdleCBmb3IgJyVzJzogJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgY2hhcmdlciBsYSByZWdleCDDrmxlIHBvdXIgJyVzJ8KgOiAlcyIKIAotIzogZGVsdGEtaXNsYW5kcy5jOjM4NgorIzogZGVsdGEtaXNsYW5kcy5jOjM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpc2xhbmQgcmVnZXggZnJvbSBjb25maWcgaGFzIHRvbyBtYW55IGNhcHR1cmUgZ3JvdXBzIChtYXg9JWQpIgogbXNnc3RyICIiCiAibCdleHByZXNzaW9uIHJhdGlvbm5lbGxlIGRlcHVpcyBsYSBjb25maWd1cmF0aW9uIGEgdHJvcCBkZSBncm91cGVzIGRlICIKICJjYXB0dXJlIChtYXg9JWQpIgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6NDYyCisjOiBkZWx0YS1pc2xhbmRzLmM6NDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hcmtlZCAlZCBpc2xhbmRzLCBkb25lLlxuIgogbXNnc3RyICJNYXJxdWFnZSBkZSAlZCDDrmxvdHMsIGZhaXQuXG4iCkBAIC0yMjgwLDI3ICsyOTIwLDM0IEBACiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgb3JkZXJmaWxlICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsZSBmaWNoaWVyIGRlIGNvbW1hbmRlICclcyciCiAKLSM6IGRpZmZjb3JlLXJlbmFtZS5jOjU0NAorIzogZGlmZmNvcmUtcmVuYW1lLmM6NTQzCiBtc2dpZCAiUGVyZm9ybWluZyBpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24iCiBtc2dzdHIgIkTDqXRlY3Rpb24gZGUgcmVub21tYWdlIGluZXhhY3QgZW4gY291cnMiCiAKLSM6IGRpZmYuYzoxMDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYSB2YWx1ZSIKLW1zZ3N0ciAibGUgY29tbXV0YXRldXIgJyVzJyBhIGJlc29pbiBkJ3VuZSB2YWxldXIiCisjOiBkaWZmLW5vLWluZGV4LmM6MjM4Cittc2dpZCAiZ2l0IGRpZmYgLS1uby1pbmRleCBbPG9wdGlvbnM+XSA8cGF0aD4gPHBhdGg+IgorbXNnc3RyICJnaXQgZGlmZiAtLW5vLWluZGV4IFs8b3B0aW9ucz5dIDxjaGVtaW4+IDxjaGVtaW4+IgogCi0jOiBkaWZmLmM6MTU4CisjOiBkaWZmLW5vLWluZGV4LmM6MjYzCittc2dpZCAiIgorIk5vdCBhIGdpdCByZXBvc2l0b3J5LiBVc2UgLS1uby1pbmRleCB0byBjb21wYXJlIHR3byBwYXRocyBvdXRzaWRlIGEgd29ya2luZyAiCisidHJlZSIKK21zZ3N0ciAiIgorIlBhcyB1biBkw6lww7R0IGdpdC4gVXRpbGlzZXogLS1uby1pbmRleCBwb3VyIGNvbXBhcmVyIGRldXggY2hlbWlucyBob3JzIGQndW4gIgorImFyYnJlIGRlIHRyYXZhaWwiCisKKyM6IGRpZmYuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyVzJ1xuIgogbXNnc3RyICIiCiAiICBJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgcG91cmNlbnRhZ2UgZGUgbW9kaWZpY2F0aW9uIGRlIGRpcnN0YXQgJyVzJ1xuIgogCi0jOiBkaWZmLmM6MTYzCisjOiBkaWZmLmM6MTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgVW5rbm93biBkaXJzdGF0IHBhcmFtZXRlciAnJXMnXG4iCiBtc2dzdHIgIiAgUGFyYW3DqHRyZSBkaXJzdGF0IGluY29ubnUgJyVzJ1xuIgogCi0jOiBkaWZmLmM6MjkxCisjOiBkaWZmLmM6Mjk2CiBtc2dpZCAiIgogImNvbG9yIG1vdmVkIHNldHRpbmcgbXVzdCBiZSBvbmUgb2YgJ25vJywgJ2RlZmF1bHQnLCAnYmxvY2tzJywgJ3plYnJhJywgIgogIidkaW1tZWQtemVicmEnLCAncGxhaW4nIgpAQCAtMjMwOCwyNiArMjk1NSwzMSBAQAogImxlIHBhcmFtw6h0cmUgZGUgY291bGV1ciBkZSBkw6lwbGFjZW1lbnQgZG9pdCDDqnRyZSBwYXJtaSAnbm8nLCAnZGVmYXVsdCcsICIKICInYmxvY2tzJywgJ3plYnJhJywgJ2RpbW1lZF96ZWJyYScgb3UgJ3BsYWluJyIKIAotIzogZGlmZi5jOjMxNgorIzogZGlmZi5jOjMyNAogIywgYy1mb3JtYXQKLW1zZ2lkICJpZ25vcmluZyB1bmtub3duIGNvbG9yLW1vdmVkLXdzIG1vZGUgJyVzJyIKLW1zZ3N0ciAibW9kZSBjb2xvci1tb3ZlZC13cyBpbmNvbm51ICclcycgaWdub3LDqSIKLQotIzogZGlmZi5jOjMyMwogbXNnaWQgIiIKLSJjb2xvci1tb3ZlZC13czogYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHdoaXRlICIKLSJzcGFjZSBtb2RlcyIKKyJ1bmtub3duIGNvbG9yLW1vdmVkLXdzIG1vZGUgJyVzJywgcG9zc2libGUgdmFsdWVzIGFyZSAnaWdub3JlLXNwYWNlLWNoYW5nZScsICIKKyInaWdub3JlLXNwYWNlLWF0LWVvbCcsICdpZ25vcmUtYWxsLXNwYWNlJywgJ2FsbG93LWluZGVudGF0aW9uLWNoYW5nZSciCittc2dzdHIgIiIKKyJtb2RlIHVua25vd24gY29sb3ItbW92ZWQtd3MgaW5jb25udSAnJXMnLCBsZXMgdmFsZXVycyBwb3NzaWJsZXMgc29udCAnaWdub3JlLSIKKyJzcGFjZS1jaGFuZ2UnLCAnaWdub3JlLXNwYWNlLWF0LWVvbCcsICdpZ25vcmUtYWxsLXNwYWNlJywgJ2FsbG93LWluZGVudGF0aW9uLSIKKyJjaGFuZ2UnIgorCisjOiBkaWZmLmM6MzMyCittc2dpZCAiIgorImNvbG9yLW1vdmVkLXdzOiBhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgIgorIndoaXRlc3BhY2UgbW9kZXMiCiBtc2dzdHIgIiIKICJjb2xvci1tb3ZlZC13c8KgOiBhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UgbmUgcGV1dCBwYXMgw6p0cmUgY29tYmluw6kgYXZlYyAiCiAiZCdhdXRyZXMgbW9kZXMgZCdlc3BhY2UiCiAKLSM6IGRpZmYuYzozOTQKKyM6IGRpZmYuYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB2YWx1ZSBmb3IgJ2RpZmYuc3VibW9kdWxlJyBjb25maWcgdmFyaWFibGU6ICclcyciCiBtc2dzdHIgIiIKICJWYWxldXIgaW5jb25udWUgcG91ciBsYSB2YXJpYWJsZSBkZSBjb25maWd1cmF0aW9uICdkaWZmLnN1Ym1vZHVsZScgOiAnJXMnIgogCi0jOiBkaWZmLmM6NDU0CisjOiBkaWZmLmM6NDY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGb3VuZCBlcnJvcnMgaW4gJ2RpZmYuZGlyc3RhdCcgY29uZmlnIHZhcmlhYmxlOlxuIgpAQCAtMjMzNiwyNCArMjk4OCwzNSBAQAogIkVycmV1cnMgZGFucyBsYSB2YXJpYWJsZSBkZSBjb25maWd1cmF0aW9uICdkaWZmLmRpcnN0YXQnIDpcbiIKICIlcyIKIAotIzogZGlmZi5jOjQxNDAKKyM6IGRpZmYuYzo0MjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGRpZmYgZGllZCwgc3RvcHBpbmcgYXQgJXMiCiBtc2dzdHIgImwnYXBwbGljYXRpb24gZGUgZGlmZiBleHRlcm5lIGEgZGlzcGFydSwgYXJyw6p0IMOgICVzIgogCi0jOiBkaWZmLmM6NDQ4MgorIzogZGlmZi5jOjQ1NDcKIG1zZ2lkICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjayBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sgZXQgLXMgc29udCBtdXR1ZWxsZW1lbnQgZXhjbHVzaWZzIgogCi0jOiBkaWZmLmM6NDQ4NQorIzogZGlmZi5jOjQ1NTAKIG1zZ2lkICItRywgLVMgYW5kIC0tZmluZC1vYmplY3QgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLUcsIC1TIGV0IC0tZmluZC1vYmplY3Qgc29udCBtdXR1ZWxsZW1lbnQgZXhjbHVzaWZzIgogCi0jOiBkaWZmLmM6NDU2MworIzogZGlmZi5jOjQ2MjgKIG1zZ2lkICItLWZvbGxvdyByZXF1aXJlcyBleGFjdGx5IG9uZSBwYXRoc3BlYyIKIG1zZ3N0ciAiLS1mb2xsb3cgYSBiZXNvaW4gZCd1bmUgc3DDqWNpZmljYXRpb24gZGUgY2hlbWluIHVuaXF1ZSIKIAotIzogZGlmZi5jOjQ3MjkKKyM6IGRpZmYuYzo0Njc2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgLS1zdGF0IHZhbHVlOiAlcyIKK21zZ3N0ciAidmFsZXVyIGludmFsaWRlIGRlIC0tc3RhdMKgOiAlcyIKKworIzogZGlmZi5jOjQ2ODEgZGlmZi5jOjQ2ODYgZGlmZi5jOjQ2OTEgZGlmZi5jOjQ2OTYgZGlmZi5jOjUyMDkKKyM6IHBhcnNlLW9wdGlvbnMuYzoxOTkgcGFyc2Utb3B0aW9ucy5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgorbXNnc3RyICIlcyBhdHRlbmQgdW5lIHZhbGV1ciBudW3DqXJpcXVlIgorCisjOiBkaWZmLmM6NDcxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIHBhcnNlIC0tZGlyc3RhdC8tWCBvcHRpb24gcGFyYW1ldGVyOlxuIgpAQCAtMjM2MiwyNCArMzAyNSw1MzMgQEAKICJJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgcGFyYW3DqHRyZSBkZSBsJ29wdGlvbiAtLWRpcnN0YXQvLVggOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6NDc0MworIzogZGlmZi5jOjQ3OTgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCi1tc2dzdHIgIkltcG9zc2libGUgZCdhbmFseXNlciBsZSBwYXJhbcOodHJlIGRlIGwnb3B0aW9uIC0tc3VibW9kdWxlIDogJyVzJyIKK21zZ2lkICJ1bmtub3duIGNoYW5nZSBjbGFzcyAnJWMnIGluIC0tZGlmZi1maWx0ZXI9JXMiCittc2dzdHIgImNsYXNzZSBkZSBtb2RpZmljYXRpb24gaW5jb25udWUgJyVjJyBkYW5zIC0tZGlmZi1maWxldGVyPSVzIgogCi0jOiBkaWZmLmM6NTgyMworIzogZGlmZi5jOjQ4MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB2YWx1ZSBhZnRlciB3cy1lcnJvci1oaWdobGlnaHQ9JS4qcyIKK21zZ3N0ciAidmFsZXVyIGluY29ubnVlIGFwcsOocyB3cy1lcnJvci1oaWdobGlnaHQ9JS4qcyIKKworIzogZGlmZi5jOjQ4MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSByw6lzb3VkcmUgJyVzJyIKKworIzogZGlmZi5jOjQ4ODYgZGlmZi5jOjQ4OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhwZWN0cyA8bj4vPG0+IGZvcm0iCittc2dzdHIgImZvcm1lIDxuPi88bT4gYXR0ZW5kdWUgcGFyICVzIgorCisjOiBkaWZmLmM6NDkwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIGEgY2hhcmFjdGVyLCBnb3QgJyVzJyIKK21zZ3N0ciAiY2FyYWN0w6hyZSBhdHRlbmR1IHBhciAlcywgJyVzJyB0cm91dsOpIgorCisjOiBkaWZmLmM6NDkyNQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgLS1jb2xvci1tb3ZlZCBhcmd1bWVudDogJXMiCittc2dzdHIgIm1hdXZhaXMgYXJndW1lbnQgLS1jb2xvci1tb3ZlZMKgOiAlcyIKKworIzogZGlmZi5jOjQ5NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBtb2RlICclcycgaW4gLS1jb2xvci1tb3ZlZC13cyIKK21zZ3N0ciAibW9kZSBpbnZhbGlkZSAnJXMnIGRhbnMgLS1jb2xvci1tb3ZlZC13cyIKKworIzogZGlmZi5jOjQ5ODQKK21zZ2lkICIiCisib3B0aW9uIGRpZmYtYWxnb3JpdGhtIGFjY2VwdHMgXCJteWVyc1wiLCBcIm1pbmltYWxcIiwgXCJwYXRpZW5jZVwiIGFuZCAiCisiXCJoaXN0b2dyYW1cIiIKK21zZ3N0ciAiIgorImwnb3B0aW9uIGRpZmYtYWxnb3JpdGhtIGFjY2VwdCBcIm15ZXJzXCIsIFwibWluaW1hbFwiLCBcInBhdGllbmNlXCIgZXQgIgorIlwiaGlzdG9ncmFtXCIiCisKKyM6IGRpZmYuYzo1MDIwIGRpZmYuYzo1MDQwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gJXMiCittc2dzdHIgImFyZ3VtZW50IGludmFsaWRlIHBvdXIgJXMiCisKKyM6IGRpZmYuYzo1MTc4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICLDqWNoZWMgZGUgbCdhbmFseXNlIGR1IHBhcmFtw6h0cmUgZGUgbCdvcHRpb24gLS1zdWJtb2R1bGUgOiAnJXMnIgorCisjOiBkaWZmLmM6NTIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgLS13b3JkLWRpZmYgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJtYXV2YWlzIGFyZ3VtZW50IHBvdXIgLS13b3JkLWRpZmbCoDogJXMiCisKKyM6IGRpZmYuYzo1MjU3Cittc2dpZCAiRGlmZiBvdXRwdXQgZm9ybWF0IG9wdGlvbnMiCittc2dzdHIgIk9wdGlvbnMgZGUgZm9ybWF0IGRlIHNvcnRpZSBkZSBkaWZmIgorCisjOiBkaWZmLmM6NTI1OSBkaWZmLmM6NTI2NQorbXNnaWQgImdlbmVyYXRlIHBhdGNoIgorbXNnc3RyICJnw6luw6lyZXIgbGEgcnVzdGluZSIKKworIzogZGlmZi5jOjUyNjIgYnVpbHRpbi9sb2cuYzoxNzMKK21zZ2lkICJzdXBwcmVzcyBkaWZmIG91dHB1dCIKK21zZ3N0ciAic3VwcHJpbWVyIGxhIHNvcnRpZSBkZXMgZGlmZsOpcmVuY2VzIgorCisjOiBkaWZmLmM6NTI2NyBkaWZmLmM6NTM4MSBkaWZmLmM6NTM4OAorbXNnaWQgIjxuPiIKK21zZ3N0ciAiPG4+IgorCisjOiBkaWZmLmM6NTI2OCBkaWZmLmM6NTI3MQorbXNnaWQgImdlbmVyYXRlIGRpZmZzIHdpdGggPG4+IGxpbmVzIGNvbnRleHQiCittc2dzdHIgImfDqW7DqXJlciBsZXMgZGlmZnMgYXZlYyA8bj4gbGlnbmVzIGRlIGNvbnRleHRlIgorCisjOiBkaWZmLmM6NTI3MworbXNnaWQgImdlbmVyYXRlIHRoZSBkaWZmIGluIHJhdyBmb3JtYXQiCittc2dzdHIgImfDqW7DqXJlciBsZSBkaWZmIGVuIGZvcm1hdCBicnV0IgorCisjOiBkaWZmLmM6NTI3NgorbXNnaWQgInN5bm9ueW0gZm9yICctcCAtLXJhdyciCittc2dzdHIgInN5bm9ueW1lIGRlICctcCAtLXJhdyciCisKKyM6IGRpZmYuYzo1MjgwCittc2dpZCAic3lub255bSBmb3IgJy1wIC0tc3RhdCciCittc2dzdHIgInN5bm9ueW1lIGRlICctcCAtLXN0YXQnIgorCisjOiBkaWZmLmM6NTI4NAorbXNnaWQgIm1hY2hpbmUgZnJpZW5kbHkgLS1zdGF0IgorbXNnc3RyICItLXN0YXQgcG91ciB0cmFpdGVtZW50IGF1dG9tYXRpcXVlIgorCisjOiBkaWZmLmM6NTI4NworbXNnaWQgIm91dHB1dCBvbmx5IHRoZSBsYXN0IGxpbmUgb2YgLS1zdGF0IgorbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGEgZGVybmnDqHJlIGxpZ25lIGRlIC0tc3RhdCIKKworIzogZGlmZi5jOjUyODkgZGlmZi5jOjUyOTcKK21zZ2lkICI8cGFyYW0xLHBhcmFtMj4uLi4iCittc2dzdHIgIjxwYXJhbTEscGFyYW0yPi4uLiIKKworIzogZGlmZi5jOjUyOTAKK21zZ2lkICIiCisib3V0cHV0IHRoZSBkaXN0cmlidXRpb24gb2YgcmVsYXRpdmUgYW1vdW50IG9mIGNoYW5nZXMgZm9yIGVhY2ggc3ViLWRpcmVjdG9yeSIKK21zZ3N0ciAiIgorImFmZmljaGVyIGxhIGRpc3RyaWJ1dGlvbiBkZXMgcXVhbnRpdMOpcyBkZSBtb2RpZmljYXRpb25zIHJlbGF0aXZlcyBwb3VyICIKKyJjaGFxdWUgc291cy1yw6lwZXJ0b2lyZSIKKworIzogZGlmZi5jOjUyOTQKK21zZ2lkICJzeW5vbnltIGZvciAtLWRpcnN0YXQ9Y3VtdWxhdGl2ZSIKK21zZ3N0ciAic3lub255bWUgcG91ciAtLWRpcnN0YXQ9Y3VtdWxhdGl2ZSIKKworIzogZGlmZi5jOjUyOTgKK21zZ2lkICJzeW5vbnltIGZvciAtLWRpcnN0YXQ9ZmlsZXMscGFyYW0xLHBhcmFtMi4uLiIKK21zZ3N0ciAic3lub255bWUgcG91ciAtLWRpcnN0YXQ9ZmlsZXMscGFyYW0xLHBhcmFtMi4uLiIKKworIzogZGlmZi5jOjUzMDIKK21zZ2lkICJ3YXJuIGlmIGNoYW5nZXMgaW50cm9kdWNlIGNvbmZsaWN0IG1hcmtlcnMgb3Igd2hpdGVzcGFjZSBlcnJvcnMiCittc2dzdHIgIiIKKyJhdmVydGlyIHNpIGxlcyBtb2RpZmljYXRpb25zIGludHJvZHVpc2VudCBkZXMgbWFycXVldXJzIGRlIGNvbmZsaXQgb3UgZGVzICIKKyJlcnJldXJzIGQnZXNwYWNlIgorCisjOiBkaWZmLmM6NTMwNQorbXNnaWQgImNvbmRlbnNlZCBzdW1tYXJ5IHN1Y2ggYXMgY3JlYXRpb25zLCByZW5hbWVzIGFuZCBtb2RlIGNoYW5nZXMiCittc2dzdHIgIiIKKyJyw6lzdW3DqSBzdWNjaW5jdCB0ZWwgcXVlIGxlcyBjcsOpYXRpb25zLCBsZXMgcmVub21tYWdlcyBldCBsZXMgbW9kaWZpY2F0aW9ucyAiCisiZGUgbW9kZSIKKworIzogZGlmZi5jOjUzMDgKK21zZ2lkICJzaG93IG9ubHkgbmFtZXMgb2YgY2hhbmdlZCBmaWxlcyIKK21zZ3N0ciAibidhZmZpY2hlciBxdWUgbGVzIG5vbXMgZGUgZmljaGllcnMgbW9kaWZpw6lzIgorCisjOiBkaWZmLmM6NTMxMQorbXNnaWQgInNob3cgb25seSBuYW1lcyBhbmQgc3RhdHVzIG9mIGNoYW5nZWQgZmlsZXMiCittc2dzdHIgIm4nYWZmaWNoZXIgcXVlIGxlcyBub21zIGV0IGxlcyBzdGF0dXMgZGVzIGZpY2hpZXJzIG1vZGlmacOpcyIKKworIzogZGlmZi5jOjUzMTMKK21zZ2lkICI8d2lkdGg+Wyw8bmFtZS13aWR0aD5bLDxjb3VudD5dXSIKK21zZ3N0ciAiPGxhcmdldXI+Wyw8bGFyZ2V1ci1kZS1ub20+Wyw8Y29tcHRlPl1dIgorCisjOiBkaWZmLmM6NTMxNAorbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IgorbXNnc3RyICJnw6luw6lyZXIgdW4gZGlmZnN0YXQiCisKKyM6IGRpZmYuYzo1MzE2IGRpZmYuYzo1MzE5IGRpZmYuYzo1MzIyCittc2dpZCAiPHdpZHRoPiIKK21zZ3N0ciAiPGxhcmdldXI+IgorCisjOiBkaWZmLmM6NTMxNworbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggYSBnaXZlbiB3aWR0aCIKK21zZ3N0ciAiZ8OpbsOpcmVyIHVuIGRpZmZzdGF0IGF2ZWMgbGEgbGFyZ2V1ciBpbmRpcXXDqWUiCisKKyM6IGRpZmYuYzo1MzIwCittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBhIGdpdmVuIG5hbWUgd2lkdGgiCittc2dzdHIgImfDqW5lcmVyIHVuIGRpZmZzdGF0IGF2ZWMgbGEgbGFyZ2V1ciBkZSBub20gaW5kaXF1w6llIgorCisjOiBkaWZmLmM6NTMyMworbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggYSBnaXZlbiBncmFwaCB3aWR0aCIKK21zZ3N0ciAiZ8OpbmVyZXIgdW4gZGlmZnN0YXQgYXZlYyBsYSBsYXJnZXVyIGRlIGdyYXBoZSBpbmRpcXXDqWUiCisKKyM6IGRpZmYuYzo1MzI1Cittc2dpZCAiPGNvdW50PiIKK21zZ3N0ciAiPGNvbXB0ZT4iCisKKyM6IGRpZmYuYzo1MzI2Cittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBsaW1pdGVkIGxpbmVzIgorbXNnc3RyICJnw6luw6lyZXIgdW4gZGlmZnN0YXQgYXZlYyBkZXMgbGlnbmVzIGxpbWl0w6llcyIKKworIzogZGlmZi5jOjUzMjkKK21zZ2lkICJnZW5lcmF0ZSBjb21wYWN0IHN1bW1hcnkgaW4gZGlmZnN0YXQiCittc2dzdHIgImfDqW7DqXJlciB1bmUgcsOpc3Vtw6kgY29tcGFjdCBkYW5zIGxlIGRpZmZzdGF0IgorCisjOiBkaWZmLmM6NTMzMgorbXNnaWQgIm91dHB1dCBhIGJpbmFyeSBkaWZmIHRoYXQgY2FuIGJlIGFwcGxpZWQiCittc2dzdHIgInByb2R1aXJlIHVuIGRpZmYgYmluYWlyZSBxdWkgcGV1dCDDqnRyZSBhcHBsaXF1w6kiCisKKyM6IGRpZmYuYzo1MzM1Cittc2dpZCAic2hvdyBmdWxsIHByZS0gYW5kIHBvc3QtaW1hZ2Ugb2JqZWN0IG5hbWVzIG9uIHRoZSBcImluZGV4XCIgbGluZXMiCittc2dzdHIgIiIKKyJhZmZpY2hlciBsZXMgbm9tcyBjb21wbGV0cyBkZXMgb2JqZXRzIHByZS0gZXQgcG9zdC1pbWFnZSBzdXIgbGVzIGxpZ25lcyAiCisiXCJpbmRleFwiIgorCisjOiBkaWZmLmM6NTMzNworbXNnaWQgInNob3cgY29sb3JlZCBkaWZmIgorbXNnc3RyICJhZmZpY2hlciB1biBkaWZmIGNvbG9yw6kiCisKKyM6IGRpZmYuYzo1MzM4Cittc2dpZCAiPGtpbmQ+IgorbXNnc3RyICI8c29ydGU+IgorCisjOiBkaWZmLmM6NTMzOQorbXNnaWQgIiIKKyJoaWdobGlnaHQgd2hpdGVzcGFjZSBlcnJvcnMgaW4gdGhlICdjb250ZXh0JywgJ29sZCcgb3IgJ25ldycgbGluZXMgaW4gdGhlICIKKyJkaWZmIgorbXNnc3RyICIiCisic3VybGlnbmVyIGxlcyBlcnJldXJzIGQnZXNwYWNlIGRhbnMgbGVzIGxpZ25lcyAnY29udGV4dGUnLCAnYW5jaWVuJywgIgorIidub3V2ZWF1JyBkYW5zIGxlIGRpZmYiCisKKyM6IGRpZmYuYzo1MzQyCittc2dpZCAiIgorImRvIG5vdCBtdW5nZSBwYXRobmFtZXMgYW5kIHVzZSBOVUxzIGFzIG91dHB1dCBmaWVsZCB0ZXJtaW5hdG9ycyBpbiAtLXJhdyBvciAiCisiLS1udW1zdGF0IgorbXNnc3RyICIiCisibmUgcGFzIGNvbXByZXNzZXIgbGVzIGNoZW1pbnMgZXQgdXRpbGlzZXIgZGVzIE5VTHMgY29tbWUgdGVybWluYXRldXJzIGRlICIKKyJjaGFtcHMgZGFucyAtLXJhdyBvdSAtLW51bXN0YXQiCisKKyM6IGRpZmYuYzo1MzQ1IGRpZmYuYzo1MzQ4IGRpZmYuYzo1MzUxIGRpZmYuYzo1NDU3Cittc2dpZCAiPHByZWZpeD4iCittc2dzdHIgIjxwcsOpZml4ZT4iCisKKyM6IGRpZmYuYzo1MzQ2Cittc2dpZCAic2hvdyB0aGUgZ2l2ZW4gc291cmNlIHByZWZpeCBpbnN0ZWFkIG9mIFwiYS9cIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGUgcHLDqWZpeGUgZGUgc291cmNlIGluZGlxdcOpIGF1IGxpZXUgZGUgXCJhL1wiIgorCisjOiBkaWZmLmM6NTM0OQorbXNnaWQgInNob3cgdGhlIGdpdmVuIGRlc3RpbmF0aW9uIHByZWZpeCBpbnN0ZWFkIG9mIFwiYi9cIiIKK21zZ3N0ciAiYWZmaWNoZXIgbGUgcHLDqWZpeGUgZGUgZGVzdGluYXRpb24gaW5kaXF1w6kgYXUgbGlldSBkZSBcImIvXCIiCisKKyM6IGRpZmYuYzo1MzUyCittc2dpZCAicHJlcGVuZCBhbiBhZGRpdGlvbmFsIHByZWZpeCB0byBldmVyeSBsaW5lIG9mIG91dHB1dCIKK21zZ3N0ciAicHLDqWZpeGVyIHRvdXRlcyBsZXMgbGlnbmVzIGVuIHNvcnRpZSBhdmVjIGxhIGNoYcOubmUgaW5kaXF1w6llIgorCisjOiBkaWZmLmM6NTM1NQorbXNnaWQgImRvIG5vdCBzaG93IGFueSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gcHJlZml4IgorbXNnc3RyICJuJ2FmZmljaGVyIGF1Y3VuIHByw6lmaXhlLCBuaSBkZSBzb3VyY2UsIG5pIGRlIGRlc3RpbmF0aW9uIgorCisjOiBkaWZmLmM6NTM1OAorbXNnaWQgInNob3cgY29udGV4dCBiZXR3ZWVuIGRpZmYgaHVua3MgdXAgdG8gdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbGluZXMiCittc2dzdHIgIiIKKyJhZmZpY2hlciBsZSBjb250ZXh0ZSBlbnRyZSBsZXMgc2VjdGlvbnMgw6AgY29uY3VycmVuY2UgZHUgbm9tYnJlIGRlIGxpZ25lICIKKyJpbmRpcXXDqSIKKworIzogZGlmZi5jOjUzNjIgZGlmZi5jOjUzNjcgZGlmZi5jOjUzNzIKK21zZ2lkICI8Y2hhcj4iCittc2dzdHIgIjxjYXJhY3TDqHJlPiIKKworIzogZGlmZi5jOjUzNjMKK21zZ2lkICJzcGVjaWZ5IHRoZSBjaGFyYWN0ZXIgdG8gaW5kaWNhdGUgYSBuZXcgbGluZSBpbnN0ZWFkIG9mICcrJyIKK21zZ3N0ciAic3DDqWNpZmllciBsZSBjYXJhY3TDqHJlIHBvdXIgaW5kaXF1ZXIgdW5lIG5vdXZlbGxlIGxpZ25lIGF1IGxpZXUgZGUgJysnIgorCisjOiBkaWZmLmM6NTM2OAorbXNnaWQgInNwZWNpZnkgdGhlIGNoYXJhY3RlciB0byBpbmRpY2F0ZSBhbiBvbGQgbGluZSBpbnN0ZWFkIG9mICctJyIKK21zZ3N0ciAic3DDqWNpZmllciBsZSBjYXJhY3TDqHJlIHBvdXIgaW5kaXF1ZXIgdW5lIGFuY2llbm5lIGxpZ25lIGF1IGxpZXUgZGUgJy0nIgorCisjOiBkaWZmLmM6NTM3MworbXNnaWQgInNwZWNpZnkgdGhlIGNoYXJhY3RlciB0byBpbmRpY2F0ZSBhIGNvbnRleHQgaW5zdGVhZCBvZiAnICciCittc2dzdHIgIiIKKyJzcMOpY2lmaWVyIGxlIGNhcmFjdMOocmUgcG91ciBpbmRpcXVlciB1bmUgbGlnbmUgZGUgY29udGV4dGUgYXUgbGlldSBkZSAnICciCisKKyM6IGRpZmYuYzo1Mzc2Cittc2dpZCAiRGlmZiByZW5hbWUgb3B0aW9ucyIKK21zZ3N0ciAiT3B0aW9ucyBkZSByZW5vbW1hZ2UgZGUgZGlmZiIKKworIzogZGlmZi5jOjUzNzcKK21zZ2lkICI8bj5bLzxtPl0iCittc2dzdHIgIjxuPlsvPG0+XSIKKworIzogZGlmZi5jOjUzNzgKK21zZ2lkICJicmVhayBjb21wbGV0ZSByZXdyaXRlIGNoYW5nZXMgaW50byBwYWlycyBvZiBkZWxldGUgYW5kIGNyZWF0ZSIKK21zZ3N0ciAiIgorImNhc3NlciBsZXMgbW9kaWZpY2F0aW9ucyBkJ3VuZSByw6nDqWNyaXJlIGNvbXBsw6h0ZSBlbiBwYWlyZXMgZGUgc3VwcHJlc3Npb24gZXQgIgorImNyw6lhdGlvbiIKKworIzogZGlmZi5jOjUzODIKK21zZ2lkICJkZXRlY3QgcmVuYW1lcyIKK21zZ3N0ciAiZMOpdGVjdGVyIGxlcyByZW5vbW1hZ2VzIgorCisjOiBkaWZmLmM6NTM4NgorbXNnaWQgIm9taXQgdGhlIHByZWltYWdlIGZvciBkZWxldGVzIgorbXNnc3RyICJzdXBwcmltZXIgbGEgcHLDqS1pbWFnZSBwb3VyIGxlcyBzdXBwcmVzc2lvbnMiCisKKyM6IGRpZmYuYzo1Mzg5Cittc2dpZCAiZGV0ZWN0IGNvcGllcyIKK21zZ3N0ciAiZMOpdGVjdGVyIGxlcyBjb3BpZXMiCisKKyM6IGRpZmYuYzo1MzkzCittc2dpZCAidXNlIHVubW9kaWZpZWQgZmlsZXMgYXMgc291cmNlIHRvIGZpbmQgY29waWVzIgorbXNnc3RyICIiCisidXRpbGlzZXIgbGVzIGZpY2hpZXJzIG5vbi1tb2RpZmnDqXMgY29tbWUgc291cmNlcyBwb3VyIHRyb3V2ZXIgZGVzIGNvcGllcyIKKworIzogZGlmZi5jOjUzOTUKK21zZ2lkICJkaXNhYmxlIHJlbmFtZSBkZXRlY3Rpb24iCittc2dzdHIgImTDqXNhY3RpdmVyIGxhIGTDqXRlY3Rpb24gZGUgcmVub21tYWdlIgorCisjOiBkaWZmLmM6NTM5OAorbXNnaWQgInVzZSBlbXB0eSBibG9icyBhcyByZW5hbWUgc291cmNlIgorbXNnc3RyICJ1dGlsaXNlciBkZXMgYmxvYnMgdmlkZXMgY29tbWUgc291cmNlIGRlIHJlbm9tbWFnZSIKKworIzogZGlmZi5jOjU0MDAKK21zZ2lkICJjb250aW51ZSBsaXN0aW5nIHRoZSBoaXN0b3J5IG9mIGEgZmlsZSBiZXlvbmQgcmVuYW1lcyIKK21zZ3N0ciAiY29udGludWVyIMOgIGFmZmljaGVyIGwnaGlzdG9yaXF1ZSBkJ3VuIGZpY2hpZXIgYXUgZGVsw6AgZGVzIHJlbm9tbWFnZXMiCisKKyM6IGRpZmYuYzo1NDAzCittc2dpZCAiIgorInByZXZlbnQgcmVuYW1lL2NvcHkgZGV0ZWN0aW9uIGlmIHRoZSBudW1iZXIgb2YgcmVuYW1lL2NvcHkgdGFyZ2V0cyBleGNlZWRzICIKKyJnaXZlbiBsaW1pdCIKK21zZ3N0ciAiIgorImVtcMOqY2hlciBsYSBkw6l0ZWN0aW9uIGRlIHJlbm9tbWFnZS9jb3BpZSBzaSBsZSBub21icmUgZGUgY2libGVzIGRlIHJlbm9tbWFnZS8iCisiY29waWUgZXhjw6hkZSBsYSBsaW1pdGUgaW5kaXF1w6llIgorCisjOiBkaWZmLmM6NTQwNQorbXNnaWQgIkRpZmYgYWxnb3JpdGhtIG9wdGlvbnMiCittc2dzdHIgIk9wdGlvbnMgZGUgbCdhbGdvcml0aG1lIGRlIGRpZmYiCisKKyM6IGRpZmYuYzo1NDA3Cittc2dpZCAicHJvZHVjZSB0aGUgc21hbGxlc3QgcG9zc2libGUgZGlmZiIKK21zZ3N0ciAicHJvZHVpcmUgbGUgZGlmZiBsZSBwbHVzIHBldGl0IHBvc3NpYmxlIgorCisjOiBkaWZmLmM6NTQxMAorbXNnaWQgImlnbm9yZSB3aGl0ZXNwYWNlIHdoZW4gY29tcGFyaW5nIGxpbmVzIgorbXNnc3RyICJpZ25vcmVyIGxlcyBlc3BhY2VzIGxvcnMgZGUgbGEgY29tcGFyYWlzb24gZGUgbGlnbmUiCisKKyM6IGRpZmYuYzo1NDEzCittc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gYW1vdW50IG9mIHdoaXRlc3BhY2UiCittc2dzdHIgImlnbm9yZXIgZGVzIG1vZGlmaWNhdGlvbnMgZHUgbm9tYnJlIGQnZXNwYWNlcyIKKworIzogZGlmZi5jOjU0MTYKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIGF0IEVPTCIKK21zZ3N0ciAiaWdub3JlciBkZXMgbW9kaWZpY2F0aW9ucyBkJ2VzcGFjZSBlbiBmaW4gZGUgbGlnbmUiCisKKyM6IGRpZmYuYzo1NDE5Cittc2dpZCAiaWdub3JlIGNhcnJpZXItcmV0dXJuIGF0IHRoZSBlbmQgb2YgbGluZSIKK21zZ3N0ciAiaWdub3JlIGxlIHJldG91ciBjaGFyaW90IGVuIGZpbiBkZSBsaWduZSIKKworIzogZGlmZi5jOjU0MjIKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyB3aG9zZSBsaW5lcyBhcmUgYWxsIGJsYW5rIgorbXNnc3RyICJpZ25vcmVyIGxlcyBtb2RpZmljYXRpb25zIGRvbnQgbGVzIGxpZ25lcyBzb250IHZpZGVzIgorCisjOiBkaWZmLmM6NTQyNQorbXNnaWQgImhldXJpc3RpYyB0byBzaGlmdCBkaWZmIGh1bmsgYm91bmRhcmllcyBmb3IgZWFzeSByZWFkaW5nIgorbXNnc3RyICIiCisiaGV1cmlzdGlxdWUgcXVpIGTDqXBsYWNlIGxlcyBsaW1pdGVzIGRlIHNlY3Rpb25zIGRlIGRpZmYgcG91ciBmYWNpbGl0ZXIgbGEgIgorImxlY3R1cmUiCisKKyM6IGRpZmYuYzo1NDI4Cittc2dpZCAiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJwYXRpZW5jZSBkaWZmXCIgYWxnb3JpdGhtIgorbXNnc3RyICJnw6luw6lyZXIgdW4gZGlmZiBlbiB1dGlsaXNhbnQgbCdhbGdvcml0aG1lIGRlIGRpZmbDqXJlbmNlIFwicGF0aWVuY2VcIiIKKworIzogZGlmZi5jOjU0MzIKK21zZ2lkICJnZW5lcmF0ZSBkaWZmIHVzaW5nIHRoZSBcImhpc3RvZ3JhbSBkaWZmXCIgYWxnb3JpdGhtIgorbXNnc3RyICIiCisiZ8OpbsOpcmVyIHVuIGRpZmYgZW4gdXRpbGlzYW50IGwnYWxnb3JpdGhtZSBkZSBkaWZmw6lyZW5jZSBcImhpc3RvZ3JhbW1lXCIiCisKKyM6IGRpZmYuYzo1NDM0Cittc2dpZCAiPGFsZ29yaXRobT4iCittc2dzdHIgIjxhbGdvcml0aG1lPiIKKworIzogZGlmZi5jOjU0MzUKK21zZ2lkICJjaG9vc2UgYSBkaWZmIGFsZ29yaXRobSIKK21zZ3N0ciAiY2hvaXNpciB1biBhbGdvcml0aG1lIGRlIGRpZmbDqXJlbmNlIgorCisjOiBkaWZmLmM6NTQzNworbXNnaWQgIjx0ZXh0PiIKK21zZ3N0ciAiPHRleHRlPiIKKworIzogZGlmZi5jOjU0MzgKK21zZ2lkICJnZW5lcmF0ZSBkaWZmIHVzaW5nIHRoZSBcImFuY2hvcmVkIGRpZmZcIiBhbGdvcml0aG0iCittc2dzdHIgImfDqW7DqXJlciB1biBkaWZmIGVuIHV0aWxpc2FudCBsJ2FsZ29yaXRobWUgZGUgZGlmZsOpcmVuY2UgXCJhbmNyw6lcIiIKKworIzogZGlmZi5jOjU0NDAgZGlmZi5jOjU0NDkgZGlmZi5jOjU0NTIKK21zZ2lkICI8bW9kZT4iCittc2dzdHIgIjxtb2RlPiIKKworIzogZGlmZi5jOjU0NDEKK21zZ2lkICJzaG93IHdvcmQgZGlmZiwgdXNpbmcgPG1vZGU+IHRvIGRlbGltaXQgY2hhbmdlZCB3b3JkcyIKK21zZ3N0ciAiIgorImFmZmljaGVyIGRlcyBkaWZmw6lyZW5jZXMgcGFyIG1vdCwgZW4gdXRpbGlzYW50IDxtb2RlPiBwb3VyIGTDqWxpbWl0ZXIgbGVzICIKKyJtb3RzIG1vZGlmacOpcyIKKworIzogZGlmZi5jOjU0NDMgZGlmZi5jOjU0NDYgZGlmZi5jOjU0OTEKK21zZ2lkICI8cmVnZXg+IgorbXNnc3RyICI8cmVnZXg+IgorCisjOiBkaWZmLmM6NTQ0NAorbXNnaWQgInVzZSA8cmVnZXg+IHRvIGRlY2lkZSB3aGF0IGEgd29yZCBpcyIKK21zZ3N0ciAidXRpbGlzZXIgPHJlZ2V4PiBwb3VyIGTDqWNpZGVyIGNlIHF1J2VzdCB1biBtb3QiCisKKyM6IGRpZmYuYzo1NDQ3Cittc2dpZCAiZXF1aXZhbGVudCB0byAtLXdvcmQtZGlmZj1jb2xvciAtLXdvcmQtZGlmZi1yZWdleD08cmVnZXg+IgorbXNnc3RyICLDqXF1aXZhbGVudCDDoCAtLXdvcmQtZGlmZj1jb2xvciAtLXdvcmQtZGlmZi1yZWdleD08cmVnZXg+IgorCisjOiBkaWZmLmM6NTQ1MAorbXNnaWQgIm1vdmVkIGxpbmVzIG9mIGNvZGUgYXJlIGNvbG9yZWQgZGlmZmVyZW50bHkiCittc2dzdHIgImxlcyBsaWduZXMgZMOpcGxhY8OpZXMgc29udCBjb2xvcsOpZXMgZGlmZsOpcmVtbWVudCIKKworIzogZGlmZi5jOjU0NTMKK21zZ2lkICJob3cgd2hpdGUgc3BhY2VzIGFyZSBpZ25vcmVkIGluIC0tY29sb3ItbW92ZWQiCittc2dzdHIgImNvbW1lbnQgbGVzIGVzcGFjZXMgc29udCBpZ25vcsOpcyBkYW5zIC0tY29sb3ItbW92ZWQiCisKKyM6IGRpZmYuYzo1NDU2Cittc2dpZCAiT3RoZXIgZGlmZiBvcHRpb25zIgorbXNnc3RyICJBdXRyZXMgb3B0aW9ucyBkaWZmIgorCisjOiBkaWZmLmM6NTQ1OAorbXNnaWQgIndoZW4gcnVuIGZyb20gc3ViZGlyLCBleGNsdWRlIGNoYW5nZXMgb3V0c2lkZSBhbmQgc2hvdyByZWxhdGl2ZSBwYXRocyIKK21zZ3N0ciAiIgorImxhbmPDqSBkZXB1aXMgdW4gc291cy1yw6lwZXJ0b2lyZSwgZXhjbHVyZSBsZXMgbW9kaWZpY2F0aW9ucyBlbiBkZWhvcnMgZXQgIgorImFmZmljaGVyIGxlcyBjaGVtaW5zIHJlbGF0aWZzIgorCisjOiBkaWZmLmM6NTQ2MgorbXNnaWQgInRyZWF0IGFsbCBmaWxlcyBhcyB0ZXh0IgorbXNnc3RyICJ0cmFpdGVyIGxlcyBmaWNoaWVycyBjb21tZSB0ZXh0ZSIKKworIzogZGlmZi5jOjU0NjQKK21zZ2lkICJzd2FwIHR3byBpbnB1dHMsIHJldmVyc2UgdGhlIGRpZmYiCittc2dzdHIgIsOpY2hhbmdlciBsZXMgZW50csOpZXMsIGludmVyc2VyIGxlIGRpZmYiCisKKyM6IGRpZmYuYzo1NDY2Cittc2dpZCAiZXhpdCB3aXRoIDEgaWYgdGhlcmUgd2VyZSBkaWZmZXJlbmNlcywgMCBvdGhlcndpc2UiCittc2dzdHIgInNvcnRpciB1biBjb2RlIGQnZXJyZXVyIDEgcydpbCB5IGF2YWl0IGRlIGRpZmbDqXJlbmNlcywgMCBzaW5vbiIKKworIzogZGlmZi5jOjU0NjgKK21zZ2lkICJkaXNhYmxlIGFsbCBvdXRwdXQgb2YgdGhlIHByb2dyYW0iCittc2dzdHIgImTDqXNhY3RpdmVyIHRvdXMgbGVzIGFmZmljaGFnZXMgZHUgcHJvZ3JhbW1lIgorCisjOiBkaWZmLmM6NTQ3MAorbXNnaWQgImFsbG93IGFuIGV4dGVybmFsIGRpZmYgaGVscGVyIHRvIGJlIGV4ZWN1dGVkIgorbXNnc3RyICJhdXRvcmlzZXIgbCdleMOpY3V0aW9uIGQndW4gYXNzaXN0YW50IGV4dGVybmUgZGUgZGlmZiIKKworIzogZGlmZi5jOjU0NzIKK21zZ2lkICJydW4gZXh0ZXJuYWwgdGV4dCBjb252ZXJzaW9uIGZpbHRlcnMgd2hlbiBjb21wYXJpbmcgYmluYXJ5IGZpbGVzIgorbXNnc3RyICIiCisibGFuY2VyIGxlcyBmaWx0cmVzIGV4dGVybmVzIGRlIGNvbnZlcnNpb24gZW4gdGV4dGUgbG9ycyBkZSBsYSBjb21wYXJhaXNvbiBkZSAiCisiZmljaGllcnMgYmluYWlyZXMiCisKKyM6IGRpZmYuYzo1NDc0Cittc2dpZCAiPHdoZW4+IgorbXNnc3RyICI8cXVhbmQ+IgorCisjOiBkaWZmLmM6NTQ3NQorbXNnaWQgImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMgaW4gdGhlIGRpZmYgZ2VuZXJhdGlvbiIKK21zZ3N0ciAiIgorImlnbm9yZXIgbGVzIG1vZGlmaWNhdGlvbnMgZGFucyBsZXMgc291cy1tb2R1bGVzIGxvcnMgZGUgbGEgZ8OpbsOpcmF0aW9uIGRlIGRpZmYiCisKKyM6IGRpZmYuYzo1NDc4Cittc2dpZCAiPGZvcm1hdD4iCittc2dzdHIgIjxmb3JtYXQ+IgorCisjOiBkaWZmLmM6NTQ3OQorbXNnaWQgInNwZWNpZnkgaG93IGRpZmZlcmVuY2VzIGluIHN1Ym1vZHVsZXMgYXJlIHNob3duIgorbXNnc3RyICJzcMOpY2lmaWVyIGNvbW1lbnQgbGVzIGRpZmbDqXJlbmNlcyBkYW5zIGxlcyBzb3VzLW1vZHVsZXMgc29udCBhZmZpY2jDqWVzIgorCisjOiBkaWZmLmM6NTQ4MworbXNnaWQgImhpZGUgJ2dpdCBhZGQgLU4nIGVudHJpZXMgZnJvbSB0aGUgaW5kZXgiCittc2dzdHIgIm1hc3F1ZXIgbGVzIGVudHLDqWVzICdnaXQgYWRkIC1OJyBkZSBsJ2luZGV4IgorCisjOiBkaWZmLmM6NTQ4NgorbXNnaWQgInRyZWF0ICdnaXQgYWRkIC1OJyBlbnRyaWVzIGFzIHJlYWwgaW4gdGhlIGluZGV4IgorbXNnc3RyICJ0cmFpdGVyIGxlcyBlbnRyw6llcyAnZ2l0IGFkZCAtTicgY29tbWUgcsOpZWxsZXMgZGFucyBsJ2luZGV4IgorCisjOiBkaWZmLmM6NTQ4OAorbXNnaWQgIjxzdHJpbmc+IgorbXNnc3RyICI8Y2hhw65uZT4iCisKKyM6IGRpZmYuYzo1NDg5Cittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisic3RyaW5nIgorbXNnc3RyICIiCisicmVjaGVyY2hlciBsZXMgZGlmZsOpcmVuY2VzIHF1aSBtb2RpZmllbnQgbGUgbm9tYnJlIGQnb2NjdXJyZW5jZXMgZGUgbGEgIgorImNoYcOubmUgc3DDqWNpZmnDqWUiCisKKyM6IGRpZmYuYzo1NDkyCittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisicmVnZXgiCittc2dzdHIgIiIKKyJyZWNoZXJjaGVyIGxlcyBkaWZmw6lyZW5jZXMgcXVpIG1vZGlmaWVudCBsZSBub21icmUgZCdvY2N1cnJlbmNlcyBkZSBsYSByZWdleCAiCisic3DDqWNpZmnDqWUiCisKKyM6IGRpZmYuYzo1NDk1Cittc2dpZCAic2hvdyBhbGwgY2hhbmdlcyBpbiB0aGUgY2hhbmdlc2V0IHdpdGggLVMgb3IgLUciCittc2dzdHIgIiIKKyJhZmZpY2hlciB0b3V0ZXMgbGVzIG1vZGlmaWNhdGlvbnMgZGFucyBsJ2Vuc2VtYmxlIGRlIG1vZGlmaWNhdGlvbnMgYXZlYyAtUyAiCisib3UgLUciCisKKyM6IGRpZmYuYzo1NDk4Cittc2dpZCAidHJlYXQgPHN0cmluZz4gaW4gLVMgYXMgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICIiCisidHJhaXRlciA8Y2hhw65uZT4gZGFucyAtUyBjb21tZSB1bmUgZXhwcmVzc2lvbiByYXRpb25uZWxsZSBQT1NJWCDDqXRlbmR1ZSIKKworIzogZGlmZi5jOjU1MDEKK21zZ2lkICJjb250cm9sIHRoZSBvcmRlciBpbiB3aGljaCBmaWxlcyBhcHBlYXIgaW4gdGhlIG91dHB1dCIKK21zZ3N0ciAiY29udHLDtGxlciBsJ29yZHJlIGRhbnMgbGVxdWVsIGxlcyBmaWNoaWVycyBhcHBhcmFpc3NlbnQgZGFucyBsYSBzb3J0aWUiCisKKyM6IGRpZmYuYzo1NTAyCittc2dpZCAiPG9iamVjdC1pZD4iCittc2dzdHIgIjxpZC1vYmpldD4iCisKKyM6IGRpZmYuYzo1NTAzCittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisib2JqZWN0IgorbXNnc3RyICIiCisicmVjaGVyY2hlciBsZXMgZGlmZsOpcmVuY2VzIHF1aSBtb2RpZmllbnQgbGUgbm9tYnJlIGQnb2NjdXJyZW5jZXMgZGUgbCdvYmpldCAiCisiaW5kaXF1w6kiCisKKyM6IGRpZmYuYzo1NTA1Cittc2dpZCAiWyhBfEN8RHxNfFJ8VHxVfFh8QikuLi5bKl1dIgorbXNnc3RyICJbKEF8Q3xEfE18UnxUfFV8WHxCKS4uLlsqXV0iCisKKyM6IGRpZmYuYzo1NTA2Cittc2dpZCAic2VsZWN0IGZpbGVzIGJ5IGRpZmYgdHlwZSIKK21zZ3N0ciAic8OpbGVjdGlvbm5lciBsZXMgZmljaGllcnMgcGFyIHR5cGVzIGRlIGRpZmYiCisKKyM6IGRpZmYuYzo1NTA4Cittc2dpZCAiPGZpbGU+IgorbXNnc3RyICI8ZmljaGllcj4iCisKKyM6IGRpZmYuYzo1NTA5Cittc2dpZCAiT3V0cHV0IHRvIGEgc3BlY2lmaWMgZmlsZSIKK21zZ3N0ciAiU29ydGllIHZlcnMgdW4gZmljaGllciBzcMOpY2lmacOpIgorCisjOiBkaWZmLmM6NjE2NAogbXNnaWQgImluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiB3YXMgc2tpcHBlZCBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgogbXNnc3RyICIiCiAiZMOpdGVjdGlvbiBkZSByZW5vbW1hZ2UgaW5leGFjdCBhbm51bMOpZSDDoCBjYXVzZSBkJ3VuIHRyb3AgZ3JhbmQgbm9tYnJlIGRlICIKICJmaWNoaWVycy4iCiAKLSM6IGRpZmYuYzo1ODI2CisjOiBkaWZmLmM6NjE2NwogbXNnaWQgIm9ubHkgZm91bmQgY29waWVzIGZyb20gbW9kaWZpZWQgcGF0aHMgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKIG1zZ3N0ciAiIgogInJlY2hlcmNoZSB1bmlxdWVtZW50IGRlcyBjb3BpZXMgcGFyIG1vZGlmaWNhdGlvbiBkZSBjaGVtaW4gw6AgY2F1c2UgZCd1biB0cm9wICIKICJncmFuZCBub21icmUgZGUgZmljaGllcnMuIgogCi0jOiBkaWZmLmM6NTgyOQorIzogZGlmZi5jOjYxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInlvdSBtYXkgd2FudCB0byBzZXQgeW91ciAlcyB2YXJpYWJsZSB0byBhdCBsZWFzdCAlZCBhbmQgcmV0cnkgdGhlIGNvbW1hbmQuIgpAQCAtMjM4Nyw0MSArMzU1OSw2MCBAQAogInZvdXMgc291aGFpdGV6IHBldXQtw6p0cmUgcsOpZ2xlciBsYSB2YXJpYWJsZSAlcyDDoCBhdSBtb2lucyAlZCBldCByw6llc3NheWVyIGxlICIKICJjb21tYW5kZS4iCiAKLSM6IGRpci5jOjU3NgorIzogZGlyLmM6NTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZShzKSBrbm93biB0byBnaXQiCiBtc2dzdHIgIiIKICJsZSBzcMOpY2lmaWNhdGV1ciBkZSBjaGVtaW4gJyVzJyBuZSBjb3JyZXNwb25kIMOgIGF1Y3VuIGZpY2hpZXIgY29ubnUgZGUgZ2l0IgogCi0jOiBkaXIuYzo5NjUKKyM6IGRpci5jOjY2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGF0dGVybjogJyVzJyIKK21zZ3N0ciAibW90aWYgbm9uIHJlY29ubnXCoDogJyVzJyIKKworIzogZGlyLmM6NjgyIGRpci5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgbmVnYXRpdmUgcGF0dGVybjogJyVzJyIKK21zZ3N0ciAibW90aWYgbsOpZ2F0aWYgbm9uIHJlY29ubnXCoDogJyVzJyIKKworIzogZGlyLmM6NzE0CisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc3BhcnNlLWNoZWNrb3V0IGZpbGUgbWF5IGhhdmUgaXNzdWVzOiBwYXR0ZXJuICclcycgaXMgcmVwZWF0ZWQiCittc2dzdHIgInZvdHJlIGZpY2hpZXIgZCdleHRyYWN0aW9uIHBhcnRpZWxsZSBwb3VycmFpdCBwcsOpc2VudGVyIGRlcyBwcm9ibMOobWVzwqA6IGxlIG1vdGlmICclcycgZXN0IHLDqXDDqXTDqSIKKworIzogZGlyLmM6NzI0Cittc2dpZCAiZGlzYWJsaW5nIGNvbmUgcGF0dGVybiBtYXRjaGluZyIKK21zZ3N0ciAiZMOpc2FjdGl2YXRpb24gZGUgbGEgY29ycmVzcG9uZGFuY2UgZGUgbW90aWYgZGUgY29uZSIKKworIzogZGlyLmM6MTEwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgdXNlICVzIGFzIGFuIGV4Y2x1ZGUgZmlsZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ3V0aWxpc2VyICVzIGNvbW1lIGZpY2hpZXIgZCdleGNsdXNpb24iCiAKLSM6IGRpci5jOjE4ODAKKyM6IGRpci5jOjIwNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgbGUgcsOpcGVydG9pcmUgJyVzJyIKIAotIzogZGlyLmM6MjEyMgorIzogZGlyLmM6MjQxNQogbXNnaWQgImZhaWxlZCB0byBnZXQga2VybmVsIG5hbWUgYW5kIGluZm9ybWF0aW9uIgogbXNnc3RyICJlY2hlYyBkZSBsJ29idGVudGlvbiBkJ2luZm9ybWF0aW9uIGRlIGtlcm5lbCIKIAotIzogZGlyLmM6MjI0NgorIzogZGlyLmM6MjUzOQogbXNnaWQgInVudHJhY2tlZCBjYWNoZSBpcyBkaXNhYmxlZCBvbiB0aGlzIHN5c3RlbSBvciBsb2NhdGlvbiIKIG1zZ3N0ciAiTGUgY2FjaGUgbm9uIHN1aXZpIGVzdCBkw6lzYWN0aXbDqSBzdXIgY2Ugc3lzdMOobWUgb3Ugc3VyIGNldCBlbmRyb2l0IgogCi0jOiBkaXIuYzozMDQ3CisjOiBkaXIuYzozMzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCBpbiByZXBvICVzIgogbXNnc3RyICJmaWNoaWVyIGQnaW5kZXggY29ycm9tcHUgZGFucyBsZSBkw6lww7R0ICVzIgogCi0jOiBkaXIuYzozMDkyIGRpci5jOjMwOTcKKyM6IGRpci5jOjMzODggZGlyLmM6MzM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yaWVzIGZvciAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGVzIHLDqXBlcnRvaXJlcyBwb3VyICVzIgogCi0jOiBkaXIuYzozMTI2CisjOiBkaXIuYzozNDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBtaWdyYXRlIGdpdCBkaXJlY3RvcnkgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgbWlncmVyIGxlIHLDqXBlcnRvaXJlIGdpdCBkZSAnJXMnIHZlcnMgJyVzJyIKQEAgLTI0MzcsMjk3ICszNjI4LDI5MCBAQAogbXNnaWQgIkZpbHRlcmluZyBjb250ZW50IgogbXNnc3RyICJGaWx0cmFnZSBkdSBjb250ZW51IgogCi0jOiBlbnRyeS5jOjQ2NQorIzogZW50cnkuYzo0NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXQgZmlsZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHN0YXQgbGUgZmljaGllciAnJXMnIgogCi0jOiBlbnZpcm9ubWVudC5jOjE1MAorIzogZW52aXJvbm1lbnQuYzoxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGdpdCBuYW1lc3BhY2UgcGF0aCBcIiVzXCIiCiBtc2dzdHIgIkVzcGFjZXMgZGUgbm9tIGRlIEdpdCBcIiVzXCIiCiAKLSM6IGVudmlyb25tZW50LmM6MzMyCisjOiBlbnZpcm9ubWVudC5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc2V0IEdJVF9ESVIgdG8gJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSByw6lnbGVyIEdJVF9ESVIgw6AgJyVzJyIKIAotIzogZXhlYy1jbWQuYzozNjEKKyM6IGV4ZWMtY21kLmM6MzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRvbyBtYW55IGFyZ3MgdG8gcnVuICVzIgogbXNnc3RyICJ0cm9wIGQnYXJndW1lbnRzIHBvdXIgbGFuY2VyICVzIgogCi0jOiBmZXRjaC1vYmplY3QuYzoxNwotbXNnaWQgIlJlbW90ZSB3aXRoIG5vIFVSTCIKLW1zZ3N0ciAiRMOpcMO0dCBkaXN0YW50IHNhbnMgVVJMIgotCi0jOiBmZXRjaC1wYWNrLmM6MTUxCisjOiBmZXRjaC1wYWNrLmM6MTUwCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIKLW1zZ3N0ciAiZ2l0IGZldGNoLXBhY2sgOiBsaXN0IGNvdXJ0ZSBhdHRlbmR1ZSIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2sgOiBsaXN0ZSBzdXBlcmZpY2llbGxlIGF0dGVuZHVlIgogCi0jOiBmZXRjaC1wYWNrLmM6MTYzCisjOiBmZXRjaC1wYWNrLmM6MTUzCittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIGEgZmx1c2ggcGFja2V0IGFmdGVyIHNoYWxsb3cgbGlzdCIKK21zZ3N0ciAiIgorImdpdCBmZXRjaC1wYWNrIDogcGFxdWV0IGRlIHZpZGFnZSBhdHRlbmR1IGFwcsOocyB1bmUgbGlzdGUgc3VwZXJmaWNpZWxsZSIKKworIzogZmV0Y2gtcGFjay5jOjE2NAogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgYSBmbHVzaCBwYWNrZXQiCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrIDogQUNLL05BQ0sgYXR0ZW5kdSwgcGFxdWV0IGRlIG5ldHRveWFnZSByZcOndSIKIAotIzogZmV0Y2gtcGFjay5jOjE4MworIzogZmV0Y2gtcGFjay5jOjE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290ICclcyciCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrIDogQUNLL05BQ0sgYXR0ZW5kdSwgJyVzJyByZcOndSIKIAotIzogZmV0Y2gtcGFjay5jOjI1MworIzogZmV0Y2gtcGFjay5jOjE5NQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0byByZW1vdGUiCittc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIHN1ciB1biBkaXN0YW50IgorCisjOiBmZXRjaC1wYWNrLmM6MjU3CiBtc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKIG1zZ3N0ciAiLS1zdGF0ZWxlc3MtcnBjIG7DqWNlc3NpdGUgbXVsdGlfYWNrX2RldGFpbGVkIgogCi0jOiBmZXRjaC1wYWNrLmM6MzQ3IGZldGNoLXBhY2suYzoxMjc3CisjOiBmZXRjaC1wYWNrLmM6MzU2IGZldGNoLXBhY2suYzoxMzQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIKIG1zZ3N0ciAibGlnbmUgZGUgc3VwZXJmaWNpZWwgaW52YWxpZGXCoDogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozNTMgZmV0Y2gtcGFjay5jOjEyODMKKyM6IGZldGNoLXBhY2suYzozNjIgZmV0Y2gtcGFjay5jOjEzNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1bnNoYWxsb3cgbGluZTogJXMiCiBtc2dzdHIgImxpZ25lIGRlIGZpbiBkZSBzdXBlcmZpY2llbCBpbnZhbGlkZSA6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzU1IGZldGNoLXBhY2suYzoxMjg1CisjOiBmZXRjaC1wYWNrLmM6MzY0IGZldGNoLXBhY2suYzoxMzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBub3QgZm91bmQ6ICVzIgogbXNnc3RyICJvYmpldCBub24gdHJvdXbDqcKgOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM1OCBmZXRjaC1wYWNrLmM6MTI4OAorIzogZmV0Y2gtcGFjay5jOjM2NyBmZXRjaC1wYWNrLmM6MTM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBpbiBvYmplY3Q6ICVzIgogbXNnc3RyICJFcnJldXIgZGFucyBsJ29iamV0wqA6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzYwIGZldGNoLXBhY2suYzoxMjkwCisjOiBmZXRjaC1wYWNrLmM6MzY5IGZldGNoLXBhY2suYzoxMzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHNoYWxsb3cgZm91bmQ6ICVzIgogbXNnc3RyICJQYXMgZGUgc3VwZXJmaWNpZWwgdHJvdXbDqcKgOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM2MyBmZXRjaC1wYWNrLmM6MTI5MworIzogZmV0Y2gtcGFjay5jOjM3MiBmZXRjaC1wYWNrLmM6MTM1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBzaGFsbG93L3Vuc2hhbGxvdywgZ290ICVzIgogbXNnc3RyICJzdXBlcmZpY2llbC9ub24gc3VwZXJmaWNpZWwgYXR0ZW5kdSwgJXMgdHJvdXbDqSIKIAotIzogZmV0Y2gtcGFjay5jOjQwNAorIzogZmV0Y2gtcGFjay5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJnb3QgJXMgJWQgJXMiCiBtc2dzdHIgInLDqXBvbnNlICVzICVkICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDIxCisjOiBmZXRjaC1wYWNrLmM6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29tbWl0ICVzIgogbXNnc3RyICJjb21taXQgaW52YWxpZGUgJXMiCiAKLSM6IGZldGNoLXBhY2suYzo0NTIKKyM6IGZldGNoLXBhY2suYzo0NjIKIG1zZ2lkICJnaXZpbmcgdXAiCiBtc2dzdHIgImFiYW5kb24iCiAKLSM6IGZldGNoLXBhY2suYzo0NjQgcHJvZ3Jlc3MuYzoyMjkKKyM6IGZldGNoLXBhY2suYzo0NzUgcHJvZ3Jlc3MuYzozMjMKIG1zZ2lkICJkb25lIgogbXNnc3RyICJmYWl0IgogCi0jOiBmZXRjaC1wYWNrLmM6NDc2CisjOiBmZXRjaC1wYWNrLmM6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdvdCAlcyAoJWQpICVzIgogbXNnc3RyICIlcyB0cm91dsOpICglZCkgJXMiCiAKLSM6IGZldGNoLXBhY2suYzo1MjIKKyM6IGZldGNoLXBhY2suYzo1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFya2luZyAlcyBhcyBjb21wbGV0ZSIKIG1zZ3N0ciAiTWFycXVhZ2UgZGUgJXMgY29tbWUgdGVybWluw6kiCiAKLSM6IGZldGNoLXBhY2suYzo3NjQKKyM6IGZldGNoLXBhY2suYzo3NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWxyZWFkeSBoYXZlICVzICglcykiCiBtc2dzdHIgIiVzIGTDqWrDoCBwb3Nzw6lkw6kgKCVzKSIKIAotIzogZmV0Y2gtcGFjay5jOjgwMworIzogZmV0Y2gtcGFjay5jOjgxOAogbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgogbXNnc3RyICJmZXRjaC1wYWNrwqA6IGltcG9zc2libGUgZGUgZHVwbGlxdWVyIGxlIGTDqW11bHRpcGxleGV1ciBsYXTDqXJhbCIKIAotIzogZmV0Y2gtcGFjay5jOjgxMQorIzogZmV0Y2gtcGFjay5jOjgyNgogbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgcGFjayBoZWFkZXIiCiBtc2dzdHIgImVycmV1ciBkZSBwcm90b2NvbGXCoDogbWF1dmFpcyBlbnTDqnRlIGRlIHBhcXVldCIKIAotIzogZmV0Y2gtcGFjay5jOjg3OQorIzogZmV0Y2gtcGFjay5jOjkwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgJXMiCiBtc2dzdHIgImZldGNoLXBhY2sgOiBpbXBvc3NpYmxlIGRlIGR1cGxpcXVlciAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjg5NQorIzogZmV0Y2gtcGFjay5jOjkxNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkZSAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjg5NworIzogZmV0Y2gtcGFjay5jOjkxOAogbXNnaWQgImVycm9yIGluIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCiBtc2dzdHIgImVycmV1ciBkYW5zIGxlIGTDqW11bHRpcGxleGVyIGxhdMOpcmFsIgogCi0jOiBmZXRjaC1wYWNrLmM6OTI2Ci1tc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgotbXNnc3RyICJMZSBzZXJ2ZXVyIG5lIHN1cHBvcnRlIGxlcyBjbGllbnRzIHN1cGVyZmljaWVscyIKLQotIzogZmV0Y2gtcGFjay5jOjkzMAotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2tfZGV0YWlsZWQiCi1tc2dzdHIgIkxlIHNlcnZldXIgc3VwcG9ydGUgbXVsdGlfYWNrX2RldGFpbGVkIgotCi0jOiBmZXRjaC1wYWNrLmM6OTMzCi1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIG5vLWRvbmUiCi1tc2dzdHIgIkxlIHNlcnZldXIgc3VwcG9ydCBuby1kb25lIgotCi0jOiBmZXRjaC1wYWNrLmM6OTM5Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2FjayIKLW1zZ3N0ciAiTGUgc2VydmV1ciBzdXBwb3J0ZSBtdWx0aV9hY2siCi0KLSM6IGZldGNoLXBhY2suYzo5NDMKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kLTY0ayIKLW1zZ3N0ciAiTGUgc2VydmV1ciBzdXBwb3J0ZSBzaWRlLWJhbmQtNjRrIgotCi0jOiBmZXRjaC1wYWNrLmM6OTQ3Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZCIKLW1zZ3N0ciAiTGUgc2VydmVydSBzdXBwb3J0ZSBzaWRlLWJhbmQiCi0KLSM6IGZldGNoLXBhY2suYzo5NTEKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctdGlwLXNoYTEtaW4td2FudCIKLW1zZ3N0ciAiTGUgc2VydmV1ciBzdXBwb3J0ZSBhbGxvdy10aXAtc2hhMS1pbi13YW50IgotCi0jOiBmZXRjaC1wYWNrLmM6OTU1Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCi1tc2dzdHIgIkxlIHNlcnZldXIgc3VwcG9ydGUgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKLQogIzogZmV0Y2gtcGFjay5jOjk2NQotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBvZnMtZGVsdGEiCi1tc2dzdHIgIkxlIHNlcnZldXIgc3VwcG9ydGUgb2ZzLWRlbHRhIgotCi0jOiBmZXRjaC1wYWNrLmM6OTcxIGZldGNoLXBhY2suYzoxMTU4Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIGZpbHRlciIKLW1zZ3N0ciAiTGUgc2VydmV1ciBzdXBwb3J0ZSBmaWx0ZXIiCi0KLSM6IGZldGNoLXBhY2suYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VydmVyIHZlcnNpb24gaXMgJS4qcyIKIG1zZ3N0ciAiTGEgdmVyc2lvbiBkdSBzZXJ2ZXVyIGVzdCAlLipzIgogCi0jOiBmZXRjaC1wYWNrLmM6OTg1CisjOiBmZXRjaC1wYWNrLmM6OTcwIGZldGNoLXBhY2suYzo5NzYgZmV0Y2gtcGFjay5jOjk3OSBmZXRjaC1wYWNrLmM6OTg1CisjOiBmZXRjaC1wYWNrLmM6OTg5IGZldGNoLXBhY2suYzo5OTMgZmV0Y2gtcGFjay5jOjk5NyBmZXRjaC1wYWNrLmM6MTAwMQorIzogZmV0Y2gtcGFjay5jOjEwMDUgZmV0Y2gtcGFjay5jOjEwMDkgZmV0Y2gtcGFjay5jOjEwMTMgZmV0Y2gtcGFjay5jOjEwMTcKKyM6IGZldGNoLXBhY2suYzoxMDIzIGZldGNoLXBhY2suYzoxMDI5IGZldGNoLXBhY2suYzoxMDM0IGZldGNoLXBhY2suYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyAlcyIKK21zZ3N0ciAiTGUgc2VydmV1ciBzdXBwb3J0ZSAlcyIKKworIzogZmV0Y2gtcGFjay5jOjk3MgorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgY2xpZW50cyIKK21zZ3N0ciAiTGUgc2VydmV1ciBuZSBzdXBwb3J0ZSBsZXMgY2xpZW50cyBzdXBlcmZpY2llbHMiCisKKyM6IGZldGNoLXBhY2suYzoxMDMyCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LXNpbmNlIgogbXNnc3RyICJMZSByZWNldmV1ciBuZSBnw6hyZSBwYXMgLS1zaGFsbG93LXNpbmNlIgogCi0jOiBmZXRjaC1wYWNrLmM6OTg5CisjOiBmZXRjaC1wYWNrLmM6MTAzNwogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1leGNsdWRlIgogbXNnc3RyICJMZSByZWNldmV1ciBuZSBnw6hyZSBwYXMgLS1zaGFsbG93LWV4Y2x1ZGUiCiAKLSM6IGZldGNoLXBhY2suYzo5OTEKKyM6IGZldGNoLXBhY2suYzoxMDQxCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1kZWVwZW4iCiBtc2dzdHIgIkxlIHJlY2V2ZXVyIG5lIGfDqHJlIHBhcyAtLWRlZXBlbiIKIAotIzogZmV0Y2gtcGFjay5jOjEwMDgKKyM6IGZldGNoLXBhY2suYzoxMDU4CiBtc2dpZCAibm8gY29tbW9uIGNvbW1pdHMiCiBtc2dzdHIgInBhcyBkZSBjb21taXQgY29tbXVuIgogCi0jOiBmZXRjaC1wYWNrLmM6MTAyMCBmZXRjaC1wYWNrLmM6MTQxOAorIzogZmV0Y2gtcGFjay5jOjEwNzAgZmV0Y2gtcGFjay5jOjE1MzYKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZmV0Y2ggZmFpbGVkLiIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2vCoDogw6ljaGVjIGRlIGxlIHLDqWN1cMOpcmF0aW9uLiIKIAotIzogZmV0Y2gtcGFjay5jOjExNTMKKyM6IGZldGNoLXBhY2suYzoxMjA5CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyByZXF1ZXN0cyIKIG1zZ3N0ciAiTGUgc2VydmV1ciBuZSBzdXBwb3J0ZSBsZXMgcmVxdcOqdGVzIHN1cGVyZmljaWVsbGVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MTE5OQorIzogZmV0Y2gtcGFjay5jOjEyMTYKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgZmlsdGVyIgorbXNnc3RyICJMZSBzZXJ2ZXVyIHN1cHBvcnRlIGZpbHRlciIKKworIzogZmV0Y2gtcGFjay5jOjEyMzkKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcmVxdWVzdCB0byByZW1vdGUiCittc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxhIHJlcXXDqnRlIHN1ciBsZSBkaXN0YW50IgorCisjOiBmZXRjaC1wYWNrLmM6MTI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciByZWFkaW5nIHNlY3Rpb24gaGVhZGVyICclcyciCiBtc2dzdHIgImVycmV1ciDDoCBsYSBsZWN0dXJlIGRlIGwnZW50w6p0ZSBkZSBzZWN0aW9uICclcyciCiAKLSM6IGZldGNoLXBhY2suYzoxMjA1CisjOiBmZXRjaC1wYWNrLmM6MTI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCAnJXMnLCByZWNlaXZlZCAnJXMnIgogbXNnc3RyICInJXMnIGF0dGVuZHUsICclcycgcmXDp3UiCiAKLSM6IGZldGNoLXBhY2suYzoxMjQ0CisjOiBmZXRjaC1wYWNrLmM6MTMwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFja25vd2xlZGdtZW50IGxpbmU6ICclcyciCiBtc2dzdHIgImxpZ25lIGQnYWNxdWl0dGVtZW50IGluYXR0ZW5kdWXCoDogJyVzJyIKIAotIzogZmV0Y2gtcGFjay5jOjEyNDkKKyM6IGZldGNoLXBhY2suYzoxMzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHByb2Nlc3NpbmcgYWNrczogJWQiCiBtc2dzdHIgImVycmV1ciBsb3JzIGR1IHRyYWl0ZW1lbnQgZGVzIGFjcXVpdHRlbWVudHPCoDogJWQiCiAKLSM6IGZldGNoLXBhY2suYzoxMjU5CisjOiBmZXRjaC1wYWNrLmM6MTMxOAogbXNnaWQgImV4cGVjdGVkIHBhY2tmaWxlIHRvIGJlIHNlbnQgYWZ0ZXIgJ3JlYWR5JyIKIG1zZ3N0ciAiZmljaGllciBwYXF1ZXQgYXR0ZW5kdSDDoCBlbnZveWVyIGFwcsOocyAncmVhZHknIgogCi0jOiBmZXRjaC1wYWNrLmM6MTI2MQorIzogZmV0Y2gtcGFjay5jOjEzMjAKIG1zZ2lkICJleHBlY3RlZCBubyBvdGhlciBzZWN0aW9ucyB0byBiZSBzZW50IGFmdGVyIG5vICdyZWFkeSciCiBtc2dzdHIgImF1Y3VuZSBhdXRyZSBzZWN0aW9uIGF0dGVuZHVlIMOgIGVudm95ZXIgYXByw6hzIGFic2VuY2UgZGUgJ3JlYWR5JyIKIAotIzogZmV0Y2gtcGFjay5jOjEyOTgKKyM6IGZldGNoLXBhY2suYzoxMzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHByb2Nlc3Npbmcgc2hhbGxvdyBpbmZvOiAlZCIKIG1zZ3N0ciAiZXJyZXVyIGxvcnMgZHUgdHJhaXRlbWVudCBkZSBsJ2luZm9ybWF0aW9uIGRlIHN1cGVyZmljaWFsaXTDqcKgOiAlZCIKIAotIzogZmV0Y2gtcGFjay5jOjEzMTQKKyM6IGZldGNoLXBhY2suYzoxNDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIHdhbnRlZC1yZWYsIGdvdCAnJXMnIgogbXNnc3RyICJ3YW50ZWQtcmVmIGF0dGVuZHUsICclcycgdHJvdXbDqSIKIAotIzogZmV0Y2gtcGFjay5jOjEzMjQKKyM6IGZldGNoLXBhY2suYzoxNDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgd2FudGVkLXJlZjogJyVzJyIKIG1zZ3N0ciAid2FudGVkLXJlZiBpbmF0dGVuZHXCoDogJyVzJyIKIAotIzogZmV0Y2gtcGFjay5jOjEzMjgKKyM6IGZldGNoLXBhY2suYzoxNDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHByb2Nlc3Npbmcgd2FudGVkIHJlZnM6ICVkIgogbXNnc3RyICJlcnJldXIgbG9ycyBkdSB0cmFpdGVtZW50IGRlcyByw6lmw6lyZW5jZXMgdm91bHVlc8KgOiAlZCIKIAotIzogZmV0Y2gtcGFjay5jOjE2NDIKKyM6IGZldGNoLXBhY2suYzoxNzYyCiBtc2dpZCAibm8gbWF0Y2hpbmcgcmVtb3RlIGhlYWQiCiBtc2dzdHIgInBhcyBkZSBIRUFEIGRpc3RhbnRlIGNvcnJlc3BvbmRhbnRlIgogCi0jOiBmZXRjaC1wYWNrLmM6MTY2MCBidWlsdGluL2Nsb25lLmM6NjY0CisjOiBmZXRjaC1wYWNrLmM6MTc4NSBidWlsdGluL2Nsb25lLmM6Njg4CiBtc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCiBtc2dzdHIgImxlIHNlcnZldXIgZGlzdGFudCBuJ2EgcGFzIGVudm95w6kgdG91cyBsZXMgb2JqZXRzIG7DqWNlc3NhaXJlcyIKIAotIzogZmV0Y2gtcGFjay5jOjE2ODYKKyM6IGZldGNoLXBhY2suYzoxODEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcmVtb3RlIHJlZiAlcyIKIG1zZ3N0ciAicsOpZsOpcmVuY2UgZGlzdGFudGUgaW5jb25udWUgJXMiCiAKLSM6IGZldGNoLXBhY2suYzoxNjg5CisjOiBmZXRjaC1wYWNrLmM6MTgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3QgYWxsb3cgcmVxdWVzdCBmb3IgdW5hZHZlcnRpc2VkIG9iamVjdCAlcyIKIG1zZ3N0ciAiTGUgc2VydmV1ciBuJ2F1dG9yaXNlIHBhcyBkZSByZXF1w6p0ZSBwb3VyIGwnb2JqZXQgJXMgbm9uIGFubm9uY8OpIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MzE4Ci1tc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgotbXNnc3RyICJncGcgbidhIHBhcyBwdSBzaWduZXIgbGVzIGRvbm7DqWVzIgotCi0jOiBncGctaW50ZXJmYWNlLmM6MzQ0CisjOiBncGctaW50ZXJmYWNlLmM6MjIzCiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgdW4gZmljaGllciB0ZW1wb3JhaXJlIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MzQ3CisjOiBncGctaW50ZXJmYWNlLmM6MjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsYSBzaWduYXR1cmUgZMOpdGFjaMOpZSBkYW5zICclcyciCiAKLSM6IGdyYXBoLmM6OTcKKyM6IGdwZy1pbnRlcmZhY2UuYzozOTAKK21zZ2lkICJncGcgZmFpbGVkIHRvIHNpZ24gdGhlIGRhdGEiCittc2dzdHIgImdwZyBuJ2EgcGFzIHB1IHNpZ25lciBsZXMgZG9ubsOpZXMiCisKKyM6IGdyYXBoLmM6OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JlIGludmFsaWQgY29sb3IgJyUuKnMnIGluIGxvZy5ncmFwaENvbG9ycyIKIG1zZ3N0ciAiY291bGV1ciBpbnZhbGlkZSAnJS4qcycgaWdub3LDqWUgZGFucyBsb2cuZ3JhcGhDb2xvcnMiCiAKLSM6IGdyZXAuYzoyMTEzCisjOiBncmVwLmM6NjY4Cittc2dpZCAiIgorImdpdmVuIHBhdHRlcm4gY29udGFpbnMgTlVMTCBieXRlICh2aWEgLWYgPGZpbGU+KS4gVGhpcyBpcyBvbmx5IHN1cHBvcnRlZCAiCisid2l0aCAtUCB1bmRlciBQQ1JFIHYyIgorbXNnc3RyICIiCisibGUgbW90aWYgZm91cm5pIGNvbnRpZW50IGRlcyBvY3RldHMgTlVMICh2aWEgLWYgPGZpY2hpZXI+KS4gQ2Ugbidlc3QgIgorInN1cHBvcnTDqSBxdSdhdmVjIC1QIGF2ZWMgUENSRSB2MiIKKworIzogZ3JlcC5jOjIxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIiclcycgOiBsZWN0dXJlIGRlICVzIGltcG9zc2libGUiCiAKLSM6IGdyZXAuYzoyMTMwIHNldHVwLmM6MTY0IGJ1aWx0aW4vY2xvbmUuYzo0MTAgYnVpbHRpbi9kaWZmLmM6ODEKLSM6IGJ1aWx0aW4vcm0uYzoxMzQKKyM6IGdyZXAuYzoyMTQxIHNldHVwLmM6MTY1IGJ1aWx0aW4vY2xvbmUuYzo0MTEgYnVpbHRpbi9kaWZmLmM6ODIKKyM6IGJ1aWx0aW4vcm0uYzoxMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIGR1IHN0YXQgZGUgJyVzJyIKIAotIzogZ3JlcC5jOjIxNDEKKyM6IGdyZXAuYzoyMTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHNob3J0IHJlYWQiCiBtc2dzdHIgIiclcycgOiBsZWN0dXJlIHRyb25xdcOpZSIKQEAgLTI3NzgsNTAgKzM5NjIsNTAgQEAKIG1zZ3N0ciAiQ29tbWFuZGVzIGJhcyBuaXZlYXUgLyBJbnRlcnJvZ2F0ZXVycyIKIAogIzogaGVscC5jOjM3Ci1tc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gU3luY2hpbmcgUmVwb3NpdG9yaWVzIgorbXNnaWQgIkxvdy1sZXZlbCBDb21tYW5kcyAvIFN5bmNpbmcgUmVwb3NpdG9yaWVzIgogbXNnc3RyICJDb21tYW5kZXMgYmFzIG5pdmVhdSAvIFN5bmNocm9uaXNhdGlvbiBkZSBkw6lww7R0cyIKIAogIzogaGVscC5jOjM4CiBtc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gSW50ZXJuYWwgSGVscGVycyIKIG1zZ3N0ciAiQ29tbWFuZGVzIGJhcyBuaXZlYXUgLyBBc3Npc3RhbnRzIGludGVybmVzIgogCi0jOiBoZWxwLmM6Mjk2CisjOiBoZWxwLmM6Mjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImF2YWlsYWJsZSBnaXQgY29tbWFuZHMgaW4gJyVzJyIKIG1zZ3N0ciAiY29tbWFuZGVzIGdpdCBkaXNwb25pYmxlcyBkYW5zICclcyciCiAKLSM6IGhlbHAuYzozMDMKKyM6IGhlbHAuYzozMDUKIG1zZ2lkICJnaXQgY29tbWFuZHMgYXZhaWxhYmxlIGZyb20gZWxzZXdoZXJlIG9uIHlvdXIgJFBBVEgiCiBtc2dzdHIgImNvbW1hbmRlcyBnaXQgZGlzcG9uaWJsZXMgZGVwdWlzIHVuIGF1dHJlIGVuZHJvaXQgZGUgdm90cmUgJFBBVEgiCiAKLSM6IGhlbHAuYzozMTIKKyM6IGhlbHAuYzozMTQKIG1zZ2lkICJUaGVzZSBhcmUgY29tbW9uIEdpdCBjb21tYW5kcyB1c2VkIGluIHZhcmlvdXMgc2l0dWF0aW9uczoiCiBtc2dzdHIgIkNpLWRlc3NvdXMgbGVzIGNvbW1hbmRlcyBHaXQgaGFiaXR1ZWxsZXMgZGFucyBkaXZlcnNlcyBzaXR1YXRpb25zwqA6IgogCi0jOiBoZWxwLmM6MzYxIGdpdC5jOjkwCisjOiBoZWxwLmM6MzYzIGdpdC5jOjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQgbGlzdGluZyB0eXBlICclcyciCiBtc2dzdHIgInR5cGUgZGUgbGlzdGUgZGUgY29tbWFuZGVzIG5vbiBzdXBwb3J0w6kgJyVzJyIKIAotIzogaGVscC5jOjQwOAorIzogaGVscC5jOjQwMwogbXNnaWQgIlRoZSBjb21tb24gR2l0IGd1aWRlcyBhcmU6IgogbXNnc3RyICJMZXMgZ3VpZGVzIEdpdCBwb3B1bGFpcmVzIHNvbnQgOiIKIAotIzogaGVscC5jOjUxNworIzogaGVscC5jOjUxMgogbXNnaWQgIlNlZSAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyB0byByZWFkIGFib3V0IGEgc3BlY2lmaWMgc3ViY29tbWFuZCIKIG1zZ3N0ciAiIgogIlLDqWbDqXJlei12b3VzIMOgICdnaXQgaGVscCA8Y29tbWFuZGU+JyBwb3VyIGRlcyBpbmZvcm1hdGlvbnMgc3VyIHVuZSBzb3VzLSIKICJjb21tYW5kZSBzcMOpY2lmaXF1ZSIKIAotIzogaGVscC5jOjUyMgorIzogaGVscC5jOjUxNwogbXNnaWQgIkV4dGVybmFsIGNvbW1hbmRzIgogbXNnc3RyICJDb21tYW5kZXMgZXh0ZXJuZXMiCiAKLSM6IGhlbHAuYzo1MzAKKyM6IGhlbHAuYzo1MzIKIG1zZ2lkICJDb21tYW5kIGFsaWFzZXMiCiBtc2dzdHIgIkFsaWFzIGRlIGNvbW1hbmRlIgogCi0jOiBoZWxwLmM6NTk0CisjOiBoZWxwLmM6NTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnIGFwcGVhcnMgdG8gYmUgYSBnaXQgY29tbWFuZCwgYnV0IHdlIHdlcmUgbm90XG4iCkBAIC0yODMwLDMzICs0MDE0LDMzIEBACiAiJyVzJyBzZW1ibGUgw6p0cmUgdW5lIGNvbW1hbmRlIGdpdCwgbWFpcyBlbGxlIG4nYSBwYXMgcHVcbiIKICLDqnRyZSBleMOpY3V0w6llLiBQZXV0LcOqdHJlIGdpdC0lcyBlc3QtZWxsZSBjYXNzw6llID8iCiAKLSM6IGhlbHAuYzo2NTMKKyM6IGhlbHAuYzo2NTUKIG1zZ2lkICJVaCBvaC4gWW91ciBzeXN0ZW0gcmVwb3J0cyBubyBHaXQgY29tbWFuZHMgYXQgYWxsLiIKIG1zZ3N0ciAiQWhlbS4gVm90cmUgc3lzdMOobWUgbidpbmRpcXVlIGF1Y3VuZSBjb21tYW5kZSBHaXQuIgogCi0jOiBoZWxwLmM6Njc1CisjOiBoZWxwLmM6Njc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IFlvdSBjYWxsZWQgYSBHaXQgY29tbWFuZCBuYW1lZCAnJXMnLCB3aGljaCBkb2VzIG5vdCBleGlzdC4iCiBtc2dzdHIgIiIKICJBVFRFTlRJT04gOiB2b3VzIGF2ZXogaW52b3F1w6kgdW5lIGNvbW1hbmRlIEdpdCBub21tw6llICclcycgcXVpIG4nZXhpc3RlIHBhcy4iCiAKLSM6IGhlbHAuYzo2ODAKKyM6IGhlbHAuYzo2ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29udGludWluZyB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHlvdSBtZWFudCAnJXMnLiIKIG1zZ3N0ciAiQ29udGludW9ucyBlbiBzdXBwb3NhbnQgcXVlIHZvdXMgYXZleiB2b3VsdSBkaXJlICclcycuIgogCi0jOiBoZWxwLmM6Njg1CisjOiBoZWxwLmM6Njg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbnRpbnVpbmcgaW4gJTAuMWYgc2Vjb25kcywgYXNzdW1pbmcgdGhhdCB5b3UgbWVhbnQgJyVzJy4iCiBtc2dzdHIgIiIKICJDb250aW51b25zIGRhbnMgJTAuMWYgc2Vjb25kZXMgZW4gc3VwcG9zYW50IHF1ZSB2b3VzIGF2ZXogdm91bHUgZGlyZSAnJXMnLiIKIAotIzogaGVscC5jOjY5MworIzogaGVscC5jOjY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQ6ICclcycgaXMgbm90IGEgZ2l0IGNvbW1hbmQuIFNlZSAnZ2l0IC0taGVscCcuIgogbXNnc3RyICJnaXQgOiAnJXMnIG4nZXN0IHBhcyB1bmUgY29tbWFuZGUgZ2l0LiBWb2lyICdnaXQgLS1oZWxwJy4iCiAKLSM6IGhlbHAuYzo2OTcKKyM6IGhlbHAuYzo2OTkKIG1zZ2lkICIiCiAiXG4iCiAiVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kIGlzIgpAQCAtMjg3MCwxNiArNDA1NCwxNiBAQAogIlxuIgogIkxlcyBjb21tYW5kZXMgbGVzIHBsdXMgcmVzc2VtYmxhbnRlcyBzb250IgogCi0jOiBoZWxwLmM6NzEyCisjOiBoZWxwLmM6NzE0CiBtc2dpZCAiZ2l0IHZlcnNpb24gWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCB2ZXJzaW9uIFs8b3B0aW9ucz5dIgogCi0jOiBoZWxwLmM6NzgwCisjOiBoZWxwLmM6NzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyAtICVzIgogbXNnc3RyICIlczogJXMgLSAlcyIKIAotIzogaGVscC5jOjc4NAorIzogaGVscC5jOjc4NwogbXNnaWQgIiIKICJcbiIKICJEaWQgeW91IG1lYW4gdGhpcz8iCkBAIC0yODkzLDcgKzQwNzcsNyBAQAogIlxuIgogIlZvdWxpZXotdm91cyBkaXJlIHVuIGRlIGNldXgtbMOgID8iCiAKLSM6IGlkZW50LmM6MzQ1CisjOiBpZGVudC5jOjM0OQogbXNnaWQgIiIKICJcbiIKICIqKiogUGxlYXNlIHRlbGwgbWUgd2hvIHlvdSBhcmUuXG4iCkBAIC0yOTE5LDUwICs0MTAzLDkyIEBACiAiw4lsaW1pbmV6IC0tZ2xvYmFsIHBvdXIgbmUgZmFpcmUgbGVzIHLDqWdsYWdlcyBxdWUgZGFucyBjZSBkw6lww7R0LlxuIgogIlxuIgogCi0jOiBpZGVudC5jOjM2OQorIzogaWRlbnQuYzozNzkKIG1zZ2lkICJubyBlbWFpbCB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgogbXNnc3RyICJhdWN1biBjb3VycmllbCBmb3VybmkgZXQgbCdhdXRvLWTDqXRlY3Rpb24gZXN0IGTDqXNhY3RpdsOpZSIKIAotIzogaWRlbnQuYzozNzQKKyM6IGlkZW50LmM6Mzg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBlbWFpbCBhZGRyZXNzIChnb3QgJyVzJykiCiBtc2dzdHIgImltcG9zc2libGUgZGUgZMOpdGVjdGVyIGF1dG9tYXRpcXVlbWVudCBsJ2FkcmVzc2UgKCclcycgdHJvdXbDqSkiCiAKLSM6IGlkZW50LmM6Mzg0CisjOiBpZGVudC5jOjQwMQogbXNnaWQgIm5vIG5hbWUgd2FzIGdpdmVuIGFuZCBhdXRvLWRldGVjdGlvbiBpcyBkaXNhYmxlZCIKIG1zZ3N0ciAiYXVjdW4gbm9tIGZvdXJuaSBldCBsJ2F1dG8tZMOpdGVjdGlvbiBlc3QgZMOpc2FjdGl2w6llIgogCi0jOiBpZGVudC5jOjM5MAorIzogaWRlbnQuYzo0MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGF1dG8tZGV0ZWN0IG5hbWUgKGdvdCAnJXMnKSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6l0ZWN0ZXIgYXV0b21hdGlxdWVtZW50IGxlIG5vbSAoJyVzJyB0cm91dsOpKSIKIAotIzogaWRlbnQuYzozOTgKKyM6IGlkZW50LmM6NDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImVtcHR5IGlkZW50IG5hbWUgKGZvciA8JXM+KSBub3QgYWxsb3dlZCIKIG1zZ3N0ciAibm9tIGQnaWRlbnRpZmlhbnQgdmlkZSAocG91ciA8JXM+KSBub24gcGVybWlzIgogCi0jOiBpZGVudC5jOjQwNAorIzogaWRlbnQuYzo0MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAibmFtZSBjb25zaXN0cyBvbmx5IG9mIGRpc2FsbG93ZWQgY2hhcmFjdGVyczogJXMiCiBtc2dzdHIgImxlIG5vbSBuJ2VzdCBjb25zdGl0dcOpIHF1ZSBkZSBjYXJhY3TDqHJlcyBpbnRlcmRpdHPCoDogJXMiCiAKLSM6IGlkZW50LmM6NDE5IGJ1aWx0aW4vY29tbWl0LmM6NjA2CisjOiBpZGVudC5jOjQzNiBidWlsdGluL2NvbW1pdC5jOjYzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0OiAlcyIKIG1zZ3N0ciAiZm9ybWF0IGRlIGRhdGUgaW52YWxpZGUgOiAlcyIKIAotIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MzUKLW1zZ2lkICJtdWx0aXBsZSBmaWx0ZXItc3BlY3MgY2Fubm90IGJlIGNvbWJpbmVkIgotbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNvbWJpbmVyIGRlcyBzcMOpY2lmaWNhdGV1cnMgbXVsdGlwbGVzIGRlIGZpbHRyZSIKKyM6IGxpc3Qtb2JqZWN0cy5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJlbnRyeSAnJXMnIGluIHRyZWUgJXMgaGFzIHRyZWUgbW9kZSwgYnV0IGlzIG5vdCBhIHRyZWUiCittc2dzdHIgIiIKKyJsJ2VudHLDqWUgJyVzJyBkYW5zIGwnYXJicmUgJXMgYSB1biBtb2RlIGQnYXJicmUsIG1haXMgbidlc3QgcGFzIHVuIGFyYnJlIgorCisjOiBsaXN0LW9iamVjdHMuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW50cnkgJyVzJyBpbiB0cmVlICVzIGhhcyBibG9iIG1vZGUsIGJ1dCBpcyBub3QgYSBibG9iIgorbXNnc3RyICIiCisibCdlbnRyw6llICclcycgZGFucyBsJ2FyYnJlICVzIGEgdW4gbW9kZSBkZSBibG9iLCBtYWlzIG4nZXN0IHBhcyB1biBibG9iIgorCisjOiBsaXN0LW9iamVjdHMuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGxvYWQgcm9vdCB0cmVlIGZvciBjb21taXQgJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgY2hhcmdlciBsJ2FyYnJlIHJhY2luZSBwb3VyIGxlIGNvbW1pdCAlcyIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYWNjZXNzIHNwYXJzZSBibG9iIGluICclcyciCittc2dzdHIgImltcG9zc2libGUgZCdhY2PDqWRlciBhdSBibG9iIGNsYWlyc2Vtw6kgZGFucyAnJXMnIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSBzcGFyc2UgZmlsdGVyIGRhdGEgaW4gJXMiCittc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsYSBkb25uw6llIGRlIGZpbHRyZSBjbGFpcnNlbcOpIGRhbnMgJXMiCiAKICM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjU4Ci1tc2dpZCAib25seSAndHJlZTowJyBpcyBzdXBwb3J0ZWQiCi1tc2dzdHIgInNldWwgJ3RyZWU6MCcgZXN0IHN1cHBvcnTDqSIKK21zZ2lkICJleHBlY3RlZCAndHJlZTo8ZGVwdGg+JyIKK21zZ3N0ciAiYXR0ZW5kdcKgOiAndHJlZTo8cHJvZm9uZGV1cj4nIgogCi0jOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzoxMzcKLW1zZ2lkICJjYW5ub3QgY2hhbmdlIHBhcnRpYWwgY2xvbmUgcHJvbWlzb3IgcmVtb3RlIgotbXNnc3RyICJpbXBvc3NpYmxlIGRlIG1vZGlmaWVyIGxlIHByb21ldHRldXIgZGlzdGFudCBkZSBjbG9uZSBwYXJ0aWVsIgorIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6NzMKK21zZ2lkICJzcGFyc2U6cGF0aCBmaWx0ZXJzIHN1cHBvcnQgaGFzIGJlZW4gZHJvcHBlZCIKK21zZ3N0ciAic3BhcnNlwqA6IGxlIHN1cHBvcnQgZGVzIGZpbHRyZXMgZGUgY2hlbWluIGEgw6l0w6kgYWJhbmRvbm7DqSIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBmaWx0ZXItc3BlYyAnJXMnIgorbXNnc3RyICJzcMOpY2lmaWNhdGV1ciBkZSBmaWx0cmUgaW52YWxpZGUgJyVzJyIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgZXNjYXBlIGNoYXIgaW4gc3ViLWZpbHRlci1zcGVjOiAnJWMnIgorbXNnc3RyICIiCisibGUgY2FyYWN0w6hyZSBkb2l0IMOqdHJlIMOpY2hhcHDDqSBkYW5zIGxlIHNww6ljaWZpY2F0ZXVyIGRlIHNvdXMtZmlsdHJlwqA6ICclYyciCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjE0NAorbXNnaWQgImV4cGVjdGVkIHNvbWV0aGluZyBhZnRlciBjb21iaW5lOiIKK21zZ3N0ciAicXVlbHF1ZSBjaG9zZSBhdHRlbmR1IGFwcsOocyBjb21iaW5lwqA6IgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzoyMjYKK21zZ2lkICJtdWx0aXBsZSBmaWx0ZXItc3BlY3MgY2Fubm90IGJlIGNvbWJpbmVkIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNvbWJpbmVyIGRlcyBzcMOpY2lmaWNhdGV1cnMgbXVsdGlwbGVzIGRlIGZpbHRyZSIKIAogIzogbG9ja2ZpbGUuYzoxNTEKICMsIGMtZm9ybWF0CkBAIC0yOTc5LDcgKzQyMDUsNyBAQAogIlxuIgogIklsIHNlbWJsZSBxdSd1biBhdXRyZSBwcm9jZXNzdXMgZ2l0IGVzdCBkw6lqw6AgbGFuY8OpIGRhbnMgY2UgZMOpcMO0dCxcbiIKICJwYXIgZXhlbXBsZSB1biDDqWRpdGV1ciBvdXZlcnQgcGFyICdnaXQgY29tbWl0Jy4gVmV1aWxsZXogdm91cyBhc3N1cmVyXG4iCi0icXVlIHRvdXMgbGVzIHByb2Nlc3N1cyBzb250IHRlcm1pbsOpcyBldCByw6llc3NheWV6LiBTaSBsJ2VjaGVjIHBlcnNpc3RlLFxuIgorInF1ZSB0b3VzIGxlcyBwcm9jZXNzdXMgc29udCB0ZXJtaW7DqXMgZXQgcsOpZXNzYXllei4gU2kgbCfDqWNoZWMgcGVyc2lzdGUsXG4iCiAidW4gcHJvY2Vzc3VzIGdpdCBwZXV0IGF2b2lyIHBsYW50w6nCoDpcbiIKICJzdXBwcmltZXogbGUgZmljaGllciBtYW51ZWxsZW1lbnQgcG91ciBwb3Vyc3VpdnJlLiIKIApAQCAtMjk5MiwxMTYgKzQyMTgsMTEzIEBACiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGNhY2hlIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgY2FjaGUiCiAKLSM6IG1lcmdlLmM6MTA3IHJlcmVyZS5jOjcyMCBidWlsdGluL2FtLmM6MTg5OSBidWlsdGluL2FtLmM6MTkzMwotIzogYnVpbHRpbi9jaGVja291dC5jOjM4NyBidWlsdGluL2NoZWNrb3V0LmM6NzA4IGJ1aWx0aW4vY2xvbmUuYzo3NjQKKyM6IG1lcmdlLmM6MTA3IHJlcmVyZS5jOjcyMCBidWlsdGluL2FtLmM6MTg3NCBidWlsdGluL2FtLmM6MTkwOAorIzogYnVpbHRpbi9jaGVja291dC5jOjUzOSBidWlsdGluL2NoZWNrb3V0LmM6Nzk4IGJ1aWx0aW4vY2xvbmUuYzo4MDkKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNjQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlIG5vdXZlYXUgZmljaGllciBkJ2luZGV4IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM2NwogbXNnaWQgIihiYWQgY29tbWl0KVxuIgogbXNnc3RyICIobWF1dmFpcyBjb21taXQpXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9jYWNoZWluZm8gZmFpbGVkIGZvciBwYXRoICclcyc7IG1lcmdlIGFib3J0aW5nLiIKIG1zZ3N0ciAiw6ljaGVjIGRlIGFkZGluZm9fY2FjaGUgcG91ciBsZSBjaGVtaW4gJyVzJ8KgOyBhYmFuZG9uIGRlIGxhIGZ1c2lvbi4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM1MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6Mzk5CiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9jYWNoZWluZm8gZmFpbGVkIHRvIHJlZnJlc2ggZm9yIHBhdGggJyVzJzsgbWVyZ2UgYWJvcnRpbmcuIgogbXNnc3RyICLDqWNoZWMgZGUgYWRkaW5mb19jYWNoZSBwb3VyIGxlIGNoZW1pbiAnJXMnwqA7IGFiYW5kb24gZGUgbGEgZnVzaW9uLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NDM1Ci1tc2dpZCAiZXJyb3IgYnVpbGRpbmcgdHJlZXMiCi1tc2dzdHIgImVycmV1ciBkZSBjb25zdHJ1Y3Rpb24gZGVzIGFyYnJlcyIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTA2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwYXRoICclcyclcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgY2hlbWluICclcycgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIHRvIG1ha2Ugcm9vbSBmb3Igc3ViZGlyZWN0b3J5XG4iCiBtc2dzdHIgIlN1cHByZXNzaW9uIGRlICVzIHBvdXIgZmFpcmUgZGUgbGEgcGxhY2UgcG91ciBsZSBzb3VzLXLDqXBlcnRvaXJlXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkzMSBtZXJnZS1yZWN1cnNpdmUuYzo5NTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxMCBtZXJnZS1yZWN1cnNpdmUuYzo5MjkKIG1zZ2lkICI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IgogbXNnc3RyICI6IHBldXQtw6p0cmUgdW4gY29uZmxpdCBEL0YgPyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTQwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAnJXMnIgogbXNnc3RyICJyZWZ1cyBkZSBwZXJkcmUgbGUgZmljaGllciBub24gc3VpdmkgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTgyIGJ1aWx0aW4vY2F0LWZpbGUuYzozOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTYwIGJ1aWx0aW4vY2F0LWZpbGUuYzo0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGwnb2JqZXQgJXMgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTg0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmxvYiBleHBlY3RlZCBmb3IgJXMgJyVzJyIKIG1zZ3N0ciAiYmxvYiBhdHRlbmR1IHBvdXIgJXMgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAwOAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyc6ICVzIgogbXNnc3RyICLDqWNoZWMgw6AgbCdvdXZlcnR1cmUgZGUgJyVzJ8KgOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAxOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3ltbGluayAnJXMnOiAlcyIKIG1zZ3N0ciAiw6ljaGVjIMOgIGxhIGNyw6lhdGlvbiBkdSBsaWVuIHN5bWJvbGlxdWUgJyVzJ8KgOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAyNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJkbyBub3Qga25vdyB3aGF0IHRvIGRvIHdpdGggJTA2byAlcyAnJXMnIgogbXNnc3RyICJuZSBzYWl0IHBhcyB0cmFpdGVyICUwNm8gJXMgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIxMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChub3QgY2hlY2tlZCBvdXQpIgogbXNnc3RyICLDiWNoZWMgZGUgbGEgZnVzaW9uIGR1IHNvdXMtbW9kdWxlICVzIChub24gZXh0cmFpdCkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMTkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAoY29tbWl0cyBub3QgcHJlc2VudCkiCiBtc2dzdHIgIsOJY2hlYyBkZSBmdXNpb24gZHUgc291cy1tb2R1bGUgJXMgKGNvbW1pdHMgbm9uIHByw6lzZW50cykiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAoY29tbWl0cyBkb24ndCBmb2xsb3cgbWVyZ2UtYmFzZSkiCiBtc2dzdHIgIiIKICLDiWNoZWMgZGUgbGEgZnVzaW9uIGR1IHNvdXMtbW9kdWxlICVzIChsZXMgY29tbWl0cyBuZSBkZXNjZW5kZW50IHBhcyBkZSBsYSAiCiAiYmFzZSBkZSBmdXNpb24pIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjM0IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjEgbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRpbmcgc3VibW9kdWxlICVzIHRvIHRoZSBmb2xsb3dpbmcgY29tbWl0OiIKIG1zZ3N0ciAiQXZhbmNlIHJhcGlkZSBkdSBzb3VzLW1vZHVsZSAlcyBhdSBjb21taXQgc3VpdmFudMKgOiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzNyBtZXJnZS1yZWN1cnNpdmUuYzoxMjQ5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjI0IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkaW5nIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAiQXZhbmNlIHJhcGlkZSBkdSBzb3VzLW1vZHVsZSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI3MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChtZXJnZSBmb2xsb3dpbmcgY29tbWl0cyBub3QgZm91bmQpIgogbXNnc3RyICIiCiAiw4ljaGVjIGRlIGZ1c2lvbiBkdSBzb3VzLW1vZHVsZSAlcyAoZnVzaW9uIHN1aXZhbnQgbGVzIGNvbW1pdHMgbm9uIHRyb3V2w6llKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI3NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChub3QgZmFzdC1mb3J3YXJkKSIKIG1zZ3N0ciAiw4ljaGVjIGRlIGZ1c2lvbiBkdSBzb3VzLW1vZHVsZSAlcyAocGFzIGVuIGF2YW5jZSByYXBpZGUpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjY0CiBtc2dpZCAiRm91bmQgYSBwb3NzaWJsZSBtZXJnZSByZXNvbHV0aW9uIGZvciB0aGUgc3VibW9kdWxlOlxuIgogbXNnc3RyICJSw6lzb2x1dGlvbiBwb3NzaWJsZSBkZSBmdXNpb24gdHJvdXbDqWUgcG91ciBsZSBzb3VzLW1vZHVsZcKgOlxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB0aGlzIGlzIGNvcnJlY3Qgc2ltcGx5IGFkZCBpdCB0byB0aGUgaW5kZXggZm9yIGV4YW1wbGVcbiIKQEAgLTMxMTgsMzMgKzQzNDEsMzMgQEAKICJcbiIKICJxdWkgYWNjZXB0ZXJhIGNldHRlIHN1Z2dlc3Rpb24uXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyODgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobXVsdGlwbGUgbWVyZ2VzIGZvdW5kKSIKIG1zZ3N0ciAiw4ljaGVjIGRlIGZ1c2lvbiBkdSBzb3VzLW1vZHVsZSAlcyAocGx1c2lldXJzIGZ1c2lvbnMgdHJvdXbDqWVzKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM1OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM0OQogbXNnaWQgIkZhaWxlZCB0byBleGVjdXRlIGludGVybmFsIG1lcmdlIgogbXNnc3RyICLDiWNoZWMgw6AgbCdleMOpY3V0aW9uIGRlIGxhIGZ1c2lvbiBpbnRlcm5lIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzYzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgJXMgdG8gZGF0YWJhc2UiCiBtc2dzdHIgIkltcG9zc2libGUgZCdham91dGVyICVzIMOgIGxhIGJhc2UgZGUgZG9ubsOpZXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzOTUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0by1tZXJnaW5nICVzIgogbXNnc3RyICJGdXNpb24gYXV0b21hdGlxdWUgZGUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0MTYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3I6IFJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJXM7IHdyaXRpbmcgdG8gJXMgaW5zdGVhZC4iCiBtc2dzdHIgIiIKICJFcnJldXLCoDogcmVmdXMgZGUgcGVyZHJlIGxlIGZpY2hpZXIgbm9uIHN1aXZpICVzwqA7IMOpY3JpdHVyZSBkYW5zICVzIMOgIGxhICIKICJwbGFjZS4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0ODMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKQEAgLTMxNTMsNyArNDM3Niw3IEBACiAiQ09ORkxJVCAoJXMvc3VwcHJlc3Npb24pIDogJXMgc3VwcHJpbcOpIGRhbnMgJXMgZXQgJXMgZGFucyAlcy4gVmVyc2lvbiAlcyBkZSAiCiAiJXMgbGFpc3PDqWUgZGFucyBsJ2FyYnJlLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ4OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzICIKQEAgLTMxNjIsNyArNDM4NSw3IEBACiAiQ09ORkxJVCAoJXMvc3VwcHJlc3Npb24pIDogJXMgc3VwcHJpbcOpIGRhbnMgJXMgZXQgJXMgw6AgJXMgZGFucyAlcy4gVmVyc2lvbiAiCiAiJXMgZGUgJXMgbGFpc3PDqWUgZGFucyBsJ2FyYnJlLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ5NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgpAQCAtMzE3MSw3ICs0Mzk0LDcgQEAKICJDT05GTElUICglcy9zdXBwcmVzc2lvbikgOiAlcyBzdXBwcmltw6kgZGFucyAlcyBldCAlcyBkYW5zICVzLiBWZXJzaW9uICVzIGRlICIKICIlcyBsYWlzc8OpZSBkYW5zIGwnYXJicmUgZGFucyBsZSBmaWNoaWVyICVzLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUwMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzICIKQEAgLTMxODgsMjMgKzQ0MTEsMzMgQEAKIG1zZ2lkICJyZW5hbWVkIgogbXNnc3RyICJyZW5vbW3DqSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU4OCBtZXJnZS1yZWN1cnNpdmUuYzoxNzM3IG1lcmdlLXJlY3Vyc2l2ZS5jOjIzNjkKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxMjQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTQgbWVyZ2UtcmVjdXJzaXZlLmM6MjUzMCBtZXJnZS1yZWN1cnNpdmUuYzozMTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGxvc2UgZGlydHkgZmlsZSBhdCAlcyIKIG1zZ3N0ciAiUmVmdXMgZGUgcGVyZHJlIGxlIGZpY2hpZXIgbW9kaWZpw6kgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MDIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlcywgZXZlbiB0aG91Z2ggaXQncyBpbiB0aGUgd2F5LiIKK21zZ3N0ciAiUmVmdXMgZGUgcGVyZHJlIGxlIGZpY2hpZXIgbm9uIHN1aXZpICVzLCBtw6ptZSBzJ2lsIGfDqm5lLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MgorIywgYy1mb3JtYXQKK21zZ2lkICJDT05GTElDVCAocmVuYW1lL2FkZCk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuICBBZGRlZCAlcyBpbiAlcyIKK21zZ3N0ciAiIgorIkNPTkZMSVQgKHJlbm9tbWFnZS9ham91dCkgOiBSZW5vbW1hZ2UgZGUgJXMtPiVzIGRhbnMgJXMuICVzIGFqb3V0w6kgZGFucyAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBhIGRpcmVjdG9yeSBpbiAlcyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiJXMgZXN0IHVuIHLDqXBlcnRvaXJlIGRhbnMgJXMgYWpvdXTDqSBwbHV0w7R0IGNvbW1lICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjA3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJXM7IGFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICJSZWZ1cyBkZSBwZXJkcmUgbGUgZmljaGllciBub24gc3VpdmkgJXMgOyBham91dCBjb21tZSAlcyDDoCBsYSBwbGFjZSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYzMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgXCIlc1wiLT5cIiVzXCIgaW4gYnJhbmNoIFwiJXNcIiByZW5hbWUgXCIlcyIKQEAgLTMyMTMsMjggKzQ0NDYsMTggQEAKICJDT05GTElUIChyZW5vbW1hZ2UvcmVub21tYWdlKSA6IFJlbm9tbWFnZSBkZSBcIiVzXCItPlwiJXNcIiBkYW5zIGxhIGJyYW5jaGUgIgogIlwiJXNcIiBldCByZW5vbW1hZ2UgXCIlc1wiLT5cIiVzXCIgZGFucyBcIiVzXCIlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYzOAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0MgogbXNnaWQgIiAobGVmdCB1bnJlc29sdmVkKSIKIG1zZ3N0ciAiIChsYWlzc8OpIG5vbiByw6lzb2x1KSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY5OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuIFJlbmFtZSAlcy0+JXMgaW4gJXMiCiBtc2dzdHIgIiIKICJDT05GTElUIChyZW5vbW1hZ2UvcmVub21tYWdlKSA6IHJlbm9tbWFnZSAnJXMnLT4nJXMnIGRhbnMgJXMuIFJlbm9tbWFnZSAnJXMnLSIKICI+JyVzJyBkYW5zICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzIGFuZCAlcyB0byAlcyBpbnN0ZWFkIgotbXNnc3RyICJSZW5vbW1hZ2UgZGUgJXMgZW4gJXMgZXQgZGUgJXMgZW4gJXMgw6AgbGEgcGxhY2UiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlcywgZXZlbiB0aG91Z2ggaXQncyBpbiB0aGUgd2F5LiIKLW1zZ3N0ciAiUmVmdXMgZGUgcGVyZHJlIGxlIGZpY2hpZXIgbm9uIHN1aXZpICVzLCBtw6ptZSBzJ2lsIGfDqm5lLiIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTk1MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjExNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKGRpcmVjdG9yeSByZW5hbWUgc3BsaXQpOiBVbmNsZWFyIHdoZXJlIHRvIHBsYWNlICVzIGJlY2F1c2UgIgpAQCAtMzI0NSw3ICs0NDY4LDcgQEAKICJwYXJjZSBxdWUgbGUgcsOpcGVydG9pcmUgJXMgYSDDqXTDqSByZW5vbW3DqSBlbiBwbHVzaWV1cnMgYXV0cmVzIHLDqXBlcnRvaXJlcywgIgogInNhbnMgYXVjdW5lIGRlc3RpbmF0aW9uIHLDqWN1cMOpcmFudCBsYSBtYWpvcml0w6kgZGVzIGZpY2hpZXJzLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTk4NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKGltcGxpY2l0IGRpciByZW5hbWUpOiBFeGlzdGluZyBmaWxlL2RpciBhdCAlcyBpbiB0aGUgd2F5IG9mICIKQEAgLTMyNTQsNyArNDQ3Nyw3IEBACiAiQ09ORkxJVCAocmVub21tYWdlIGltcGxpY2l0ZSBkZSByw6lwZXJ0b2lyZSnCoDogbGUgcsOpcGVydG9pcmUvZmljaGllciAlcyBnw6puZSAiCiAiZGVzIHJlbm9tbWFnZXMgaW1wbGljaXRlcyBkZSByw6lwZXJ0b2lyZSBkw6lwbGHDp2FudCBsZXMgY2hlbWlucyBzdWl2YW50c8KgOiAlcy4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5OTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChpbXBsaWNpdCBkaXIgcmVuYW1lKTogQ2Fubm90IG1hcCBtb3JlIHRoYW4gb25lIHBhdGggdG8gJXM7ICIKQEAgLTMyNjMsNyArNDQ4Niw3IEBACiAiQ09ORkxJVCAocmVub21tYWdlIGltcGxpY2l0ZSBkZSByw6lwZXJ0b2lyZSnCoDogaW1wb3NzaWJsZSBkZSB0cmFuc2Zvcm1lciAiCiAicGx1c2lldXJzIGNoZW1pbnMgc3VyICVzwqA7IGxlcyBjaGVtaW5zIGNvbmNlcm7DqXMgc29udMKgOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjA4NgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjI0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgZGlyZWN0b3J5ICVzLT4lcyBpbiAlcy4gUmVuYW1lIGRpcmVjdG9yeSAlcy0iCkBAIC0zMjcyLDcgKzQ0OTUsNyBAQAogIkNPTkZMSVQgKHJlbm9tbWFnZS9yZW5vbW1hZ2UpIDogcmVub21tYWdlIGR1IHLDqXBlcnRvaXJlICVzLT4lcyBkYW5zICVzLiAiCiAiUmVub21tYWdlIGRlIHLDqXBlcnRvaXJlICVzLT4lcyBkYW5zICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMzMxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyNDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXQVJOSU5HOiBBdm9pZGluZyBhcHBseWluZyAlcyAtPiAlcyByZW5hbWUgdG8gJXMsIGJlY2F1c2UgJXMgaXRzZWxmIHdhcyAiCkBAIC0zMjgxLDg3ICs0NTA0LDE0MyBAQAogIkFWRVJUSVNTRU1FTlTCoDogbmUgcmVub21tZSBwYXMgJXMtPiVzIGRhbnMgJXMsIHBhcmNlIHF1ZSAlcyBsdWktbcOqbWUgYSDDqXTDqSAiCiAicmVub21tw6kuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvYWRkKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gJXMgYWRkZWQgaW4gJXMiCi1tc2dzdHIgIiIKLSJDT05GTElUIChyZW5vbW1hZ2UvYWpvdXQpIDogUmVub21tYWdlIGRlICVzLT4lcyBkYW5zICVzLiAlcyBham91dMOpIGRhbnMgJXMiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI3NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQWRkaW5nIG1lcmdlZCAlcyIKLW1zZ3N0ciAiQWpvdXQgZGUgJXMgZnVzaW9ubsOpIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzcwIG1lcmdlLXJlY3Vyc2l2ZS5jOjMxMjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQWRkaW5nIGFzICVzIGluc3RlYWQiCi1tc2dzdHIgIkFqb3V0IHBsdXTDtHQgY29tbWUgJXMiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI5MzQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbCdvYmpldCAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjkzNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgaXMgbm90IGEgYmxvYiIKIG1zZ3N0ciAibCdvYmpldCAlcyBuJ2VzdCBwYXMgdW4gYmxvYiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAwNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA4NgogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAibW9kaWZpY2F0aW9uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDA2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDg2CiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgIm1vZGlmacOpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDE3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDk4CiBtc2dpZCAiY29udGVudCIKIG1zZ3N0ciAiY29udGVudSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAyNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzEwMgogbXNnaWQgImFkZC9hZGQiCiBtc2dzdHIgImFqb3V0L2Fqb3V0IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDcxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgJXMgKG1lcmdlZCBzYW1lIGFzIGV4aXN0aW5nKSIKIG1zZ3N0ciAiJXMgc2F1dMOpIChmdXNpb24gaWRlbnRpcXVlIMOgIGwnZXhpc3RhbnQpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDkzIGdpdC1zdWJtb2R1bGUuc2g6ODU4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTQ3IGdpdC1zdWJtb2R1bGUuc2g6OTkzCiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICJzb3VzLW1vZHVsZSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA5NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBNZXJnZSBjb25mbGljdCBpbiAlcyIKIG1zZ3N0ciAiQ09ORkxJVCAoJXMpIDogQ29uZmxpdCBkZSBmdXNpb24gZGFucyAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzIxNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE3OAorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKK21zZ3N0ciAiQWpvdXQgcGx1dMO0dCBjb21tZSAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI2MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGF0aCB1cGRhdGVkOiAlcyBhZGRlZCBpbiAlcyBpbnNpZGUgYSBkaXJlY3RvcnkgdGhhdCB3YXMgcmVuYW1lZCBpbiAlczsgIgorIm1vdmluZyBpdCB0byAlcy4iCittc2dzdHIgIiIKKyJDaGVtaW4gbWlzIMOgIGpvdXLCoDogJXMgYWpvdXTDqSBkYW5zICVzIGRhbnMgdW4gcsOpcGVydG9pcmUgcXVpIGEgw6l0w6kgcmVub21tw6kgIgorImVuICVzwqA7IGTDqXBsYWPDqSBkYW5zICVzLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI2NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKGZpbGUgbG9jYXRpb24pOiAlcyBhZGRlZCBpbiAlcyBpbnNpZGUgYSBkaXJlY3RvcnkgdGhhdCB3YXMgcmVuYW1lZCAiCisiaW4gJXMsIHN1Z2dlc3RpbmcgaXQgc2hvdWxkIHBlcmhhcHMgYmUgbW92ZWQgdG8gJXMuIgorbXNnc3RyICIiCisiQ09ORkxJVCAobG9jYWxpc2F0aW9uIGRlIGZpY2hpZXIpwqA6ICVzIGFqb3V0w6kgZGFucyAlcyBkYW5zIHVuIHLDqXBlcnRvaXJlIHF1aSAiCisiYSDDqXTDqSByZW5vbW3DqSBkYW5zICVzLCBjZSBxdWkgc3VnZ8OocmUgcXUnaWwgZGV2cmFpdCBwZXV0LcOqdHJlIMOqdHJlIGTDqXBsYWPDqSAiCisidmVycyAlcy4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlBhdGggdXBkYXRlZDogJXMgcmVuYW1lZCB0byAlcyBpbiAlcywgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgd2FzIHJlbmFtZWQgaW4gIgorIiVzOyBtb3ZpbmcgaXQgdG8gJXMuIgorbXNnc3RyICIiCisiQ2hlbWluIG1pcyDDoCBqb3VywqA6ICVzIHJlbm9tbcOpIGVuICVzIGRhbnMgJXMsIGRhbnMgdW4gcsOpcGVydG9pcmUgcXVpIGEgw6l0w6kgIgorInJlbm9tbcOpIGVuICVzwqA7IGTDqXBsYWPDqSBkYW5zICVzLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKGZpbGUgbG9jYXRpb24pOiAlcyByZW5hbWVkIHRvICVzIGluICVzLCBpbnNpZGUgYSBkaXJlY3RvcnkgdGhhdCAiCisid2FzIHJlbmFtZWQgaW4gJXMsIHN1Z2dlc3RpbmcgaXQgc2hvdWxkIHBlcmhhcHMgYmUgbW92ZWQgdG8gJXMuIgorbXNnc3RyICIiCisiQ09ORkxJVCAobG9jYWxpc2F0aW9uIGRlIGZpY2hpZXIpwqA6ICVzIHJlbm9tbcOpIGVuICVzIGRhbnMgJXMsIGRhbnMgdW4gIgorInLDqXBlcnRvaXJlIHF1aSBhIMOpdMOpIHJlbm9tbcOpIGRhbnMgJXMsIGNlIHF1aSBzdWdnw6hyZSBxdSdpbCBkZXZyYWl0IHBldXQtw6p0cmUgIgorIsOqdHJlIGTDqXBsYWPDqSB2ZXJzICVzLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzM4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlcyIKIG1zZ3N0ciAiU3VwcHJlc3Npb24gZGUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNDIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MDgKIG1zZ2lkICJmaWxlL2RpcmVjdG9yeSIKIG1zZ3N0ciAiZmljaGllci9yw6lwZXJ0b2lyZSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI0OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQxMwogbXNnaWQgImRpcmVjdG9yeS9maWxlIgogbXNnc3RyICJyw6lwZXJ0b2lyZS9maWNoaWVyIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjU1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgogbXNnc3RyICIiCiAiQ09ORkxJVCAoJXMpIDogSWwgeSBhIHVuIHLDqXBlcnRvaXJlIG5vbW3DqSAlcyBkYW5zICVzLiBBam91dCBkZSAlcyBjb21tZSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI2NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgJXMiCiBtc2dzdHIgIkFqb3V0IGRlICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMzAwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNPTkZMSUNUIChhZGQvYWRkKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCittc2dzdHIgIkNPTkZMSVQgKGFqb3V0L2Fqb3V0KcKgOiBDb25mbGl0IGRlIGZ1c2lvbiBkYW5zICVzIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDgyCittc2dpZCAiQWxyZWFkeSB1cCB0byBkYXRlISIKK21zZ3N0ciAiRMOpasOgIMOgIGpvdXIgISIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQ5MQorIywgYy1mb3JtYXQKK21zZ2lkICJtZXJnaW5nIG9mIHRyZWVzICVzIGFuZCAlcyBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBmdXNpb24gZGVzIGFyYnJlcyAlcyBldCAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzU5NQorbXNnaWQgIk1lcmdpbmc6IgorbXNnc3RyICJGdXNpb24gOiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3I6IgorbXNnaWRfcGx1cmFsICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3JzOiIKK21zZ3N0clswXSAiJXUgYW5jw6p0cmUgY29tbXVuIHRyb3V2w6kgOiIKK21zZ3N0clsxXSAiJXUgYW5jw6p0cmVzIGNvbW11bnMgdHJvdXbDqXMgOiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzY1OAorbXNnaWQgIm1lcmdlIHJldHVybmVkIG5vIGNvbW1pdCIKK21zZ3N0ciAibGEgZnVzaW9uIG4nYSBwYXMgcmV0b3VybsOpIGRlIGNvbW1pdCIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzcxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC0zMzcxLDEyOCArNDY1MCwxMjEgQEAKICJmdXNpb27CoDpcbiIKICIgICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMzExCi1tc2dpZCAiQWxyZWFkeSB1cCB0byBkYXRlISIKLW1zZ3N0ciAiRMOpasOgIMOgIGpvdXIgISIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzMyMAotIywgYy1mb3JtYXQKLW1zZ2lkICJtZXJnaW5nIG9mIHRyZWVzICVzIGFuZCAlcyBmYWlsZWQiCi1tc2dzdHIgIsOpY2hlYyBkZSBmdXNpb24gZGVzIGFyYnJlcyAlcyBldCAlcyIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQxOQotbXNnaWQgIk1lcmdpbmc6IgotbXNnc3RyICJGdXNpb24gOiIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQzMgotIywgYy1mb3JtYXQKLW1zZ2lkICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3I6IgotbXNnaWRfcGx1cmFsICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3JzOiIKLW1zZ3N0clswXSAiJXUgYW5jw6p0cmUgY29tbXVuIHRyb3V2w6kgOiIKLW1zZ3N0clsxXSAiJXUgYW5jw6p0cmVzIGNvbW11bnMgdHJvdXbDqXMgOiIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQ3MQotbXNnaWQgIm1lcmdlIHJldHVybmVkIG5vIGNvbW1pdCIKLW1zZ3N0ciAibGEgZnVzaW9uIG4nYSBwYXMgcmV0b3VybsOpIGRlIGNvbW1pdCIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzUzNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZCdhbmFseXNlciBsJ29iamV0ICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM1NTMgYnVpbHRpbi9tZXJnZS5jOjY5MSBidWlsdGluL21lcmdlLmM6ODQ5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozODMyIGJ1aWx0aW4vbWVyZ2UuYzo2OTQgYnVpbHRpbi9tZXJnZS5jOjg3NAogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCiBtc2dzdHIgIkltcG9zc2libGUgZCfDqWNyaXJlIGwnaW5kZXguIgogCi0jOiBtaWR4LmM6NjUKKyM6IG1pZHguYzo2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IGZpbGUgJXMgaXMgdG9vIHNtYWxsIgogbXNnc3RyICJsZSBmaWNoaWVyIGQnaW5kZXggbXVsdGktcGFxdWV0ICVzIGVzdCB0cm9wIHBldGl0IgogCi0jOiBtaWR4LmM6ODEKKyM6IG1pZHguYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHNpZ25hdHVyZSAweCUwOHggZG9lcyBub3QgbWF0Y2ggc2lnbmF0dXJlIDB4JTA4eCIKIG1zZ3N0ciAiIgotImxhIHNpZ25hdHVyZSBkZSBkJ2luZGV4IG11bHRpLXBhcXVldCAweCUwOHggbmUgY29ycmVzcG9uZCBwYXMgw6AgbGEgc2lnbmF0dXJlICIKKyJsYSBzaWduYXR1cmUgZGUgbCdpbmRleCBtdWx0aS1wYXF1ZXQgMHglMDh4IG5lIGNvcnJlc3BvbmQgcGFzIMOgIGxhIHNpZ25hdHVyZSAiCiAiMHglMDh4IgogCi0jOiBtaWR4LmM6ODYKKyM6IG1pZHguYzo4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHZlcnNpb24gJWQgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgImxhIHZlcnNpb24gZCdpbmRleCBtdWx0aS1wYXF1ZXQgJWQgbidlc3QgcGFzIHJlY29ubnVlIgogCi0jOiBtaWR4LmM6OTEKKyM6IG1pZHguYzo5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJoYXNoIHZlcnNpb24gJXUgZG9lcyBub3QgbWF0Y2giCiBtc2dzdHIgImxhIHZlcnNpb24gJXUgZHUgY29uZGVuc8OpIG5lIGNvcnJlc3BvbmQgcGFzIgogCi0jOiBtaWR4LmM6MTA1CisjOiBtaWR4LmM6MTA4CiBtc2dpZCAiaW52YWxpZCBjaHVuayBvZmZzZXQgKHRvbyBsYXJnZSkiCiBtc2dzdHIgImTDqWNhbGFnZSBkZSBzZWN0aW9uIGludmFsaWRlICh0cm9wIGdyYW5kKSIKIAotIzogbWlkeC5jOjEyOQorIzogbWlkeC5jOjEzMgogbXNnaWQgInRlcm1pbmF0aW5nIG11bHRpLXBhY2staW5kZXggY2h1bmsgaWQgYXBwZWFycyBlYXJsaWVyIHRoYW4gZXhwZWN0ZWQiCiBtc2dzdHIgIiIKICJpZGVudGlmaWFudCBkZSB0ZXJtaW5haXNvbiBkZSB0cm9uw6dvbiBkJ2luZGV4IG11bHRpLXBhcXVldCB0ZXJtaW5hbnQgIgogImFwcGFyYcOudCBwbHVzIHTDtHQgcXUnYXR0ZW5kdSIKIAotIzogbWlkeC5jOjE0MgorIzogbWlkeC5jOjE0NQogbXNnaWQgIm11bHRpLXBhY2staW5kZXggbWlzc2luZyByZXF1aXJlZCBwYWNrLW5hbWUgY2h1bmsiCiBtc2dzdHIgImluZGV4IG11bHRpLXBhcXVldCBtYW5xdWUgZGUgdHJvbsOnb24gZGUgbm9tIGRlIHBhcXVldCIKIAotIzogbWlkeC5jOjE0NAorIzogbWlkeC5jOjE0NwogbXNnaWQgIm11bHRpLXBhY2staW5kZXggbWlzc2luZyByZXF1aXJlZCBPSUQgZmFub3V0IGNodW5rIgogbXNnc3RyICJpbmRleCBtdWx0aS1wYXF1ZXQgbWFucXVlIGRlIHRyb27Dp29uIGRlIGQnw6l0YWxlbWVudCBPSUQgcmVxdWlzIgogCi0jOiBtaWR4LmM6MTQ2CisjOiBtaWR4LmM6MTQ5CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCBtaXNzaW5nIHJlcXVpcmVkIE9JRCBsb29rdXAgY2h1bmsiCiBtc2dzdHIgImluZGV4IG11bHRpLXBhcXVldCBtYW5xdWUgZGUgdHJvbsOnb24gZGUgcmVjaGVyY2hlIE9JRCIKIAotIzogbWlkeC5jOjE0OAorIzogbWlkeC5jOjE1MQogbXNnaWQgIm11bHRpLXBhY2staW5kZXggbWlzc2luZyByZXF1aXJlZCBvYmplY3Qgb2Zmc2V0cyBjaHVuayIKIG1zZ3N0ciAiaW5kZXggbXVsdGktcGFxdWV0IG1hbnF1ZSBkZSB0cm9uw6dvbiBkZSBkw6ljYWxhZ2UgZCdvYmpldCIKIAotIzogbWlkeC5jOjE2MgorIzogbWlkeC5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHBhY2sgbmFtZXMgb3V0IG9mIG9yZGVyOiAnJXMnIGJlZm9yZSAnJXMnIgogbXNnc3RyICIiCiAiaW5kZXggbXVsdGktcGFxdWV0IGxlcyBub21zIGRlIHBhcXVldHMgc29udCBlbiBkw6lzb3JkcmXCoDogJyVzJyBhdmFudCAnJXMnIgogCi0jOiBtaWR4LmM6MjA1CisjOiBtaWR4LmM6MjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrLWludC1pZDogJXUgKCV1IHRvdGFsIHBhY2tzKSIKIG1zZ3N0ciAibWF1dmFpcyBwYWNrLWludC1pZMKgOiAldSAoJXUgcGFxdWV0cyBhdSB0b3RhbCkiCiAKLSM6IG1pZHguYzoyNDYKKyM6IG1pZHguYzoyNjAKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHN0b3JlcyBhIDY0LWJpdCBvZmZzZXQsIGJ1dCBvZmZfdCBpcyB0b28gc21hbGwiCiBtc2dzdHIgIiIKICJtdWx0aS1wYWNrLWluZGV4IHN0b2NrIHVuIGTDqWNhbGFnZSBlbiA2NC1iaXQsIG1haXMgb2ZmX3QgZXN0IHRyb3AgcGV0aXQiCiAKLSM6IG1pZHguYzoyNzEKKyM6IG1pZHguYzoyODgKIG1zZ2lkICJlcnJvciBwcmVwYXJpbmcgcGFja2ZpbGUgZnJvbSBtdWx0aS1wYWNrLWluZGV4IgogbXNnc3RyICJlcnJldXIgw6AgbGEgcHLDqXBhcmF0aW9uIGR1IGZpY2hpZXIgcGFxdWV0IGRlcHVpcyB1biBpbmRleCBtdWx0aS1wYXF1ZXQiCiAKLSM6IG1pZHguYzo0MDcKKyM6IG1pZHguYzo0NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGFkZCBwYWNrZmlsZSAnJXMnIgogbXNnc3RyICLDqWNoZWMgZGUgbCdham91dCBkdSBmaWNoaWVyIHBhcXVldCAnJXMnIgogCi0jOiBtaWR4LmM6NDEzCisjOiBtaWR4LmM6NDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuIHBhY2staW5kZXggJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIMOgIGwnb3V2ZXJ0dXJlIGR1IGZpY2hpZXIgcGFxdWV0ICclcyciCiAKLSM6IG1pZHguYzo1MDcKKyM6IG1pZHguYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGxvY2F0ZSBvYmplY3QgJWQgaW4gcGFja2ZpbGUiCiBtc2dzdHIgIsOpY2hlYyBkZSBsb2NhbGlzYXRpb24gZGUgbCdvYmpldCAlZCBkYW5zIGxlIGZpY2hpZXIgcGFxdWV0IgogCi0jOiBtaWR4LmM6OTQzCisjOiBtaWR4LmM6ODQyCittc2dpZCAiQWRkaW5nIHBhY2tmaWxlcyB0byBtdWx0aS1wYWNrLWluZGV4IgorbXNnc3RyICJBam91dCBkZSBmaWNoaWVycyBwYXF1ZXQgw6AgdW4gaW5kZXggbXVsdGktcGFxdWV0IgorCisjOiBtaWR4LmM6ODc1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpZCBub3Qgc2VlIHBhY2stZmlsZSAlcyB0byBkcm9wIgorbXNnc3RyICJmaWNoaWVyIHBhcXVldCDDoCDDqWxpbWluZXIgJXMgbm9uIHRyb3V2w6kiCisKKyM6IG1pZHguYzo5NzMKK21zZ2lkICJXcml0aW5nIGNodW5rcyB0byBtdWx0aS1wYWNrLWluZGV4IgorbXNnc3RyICLDiWNyaXR1cmUgZGVzIHNlY3Rpb25zIGRhbnMgbCdpbmRleCBtdWx0aS1wYXF1ZXQiCisKKyM6IG1pZHguYzoxMDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjbGVhciBtdWx0aS1wYWNrLWluZGV4IGF0ICVzIgogbXNnc3RyICLDqWNoZWMgZHUgbmV0dG95YWdlIGRlIGwnaW5kZXggZGUgbXVsdGktcGFxdWV0IMOgICVzIgogCi0jOiBtaWR4LmM6OTgxCisjOiBtaWR4LmM6MTEwOAorbXNnaWQgIkxvb2tpbmcgZm9yIHJlZmVyZW5jZWQgcGFja2ZpbGVzIgorbXNnc3RyICJSZWNoZXJjaGUgZGUgZmljaGllcnMgcGFxdWV0cyByw6lmw6lyZW5jw6lzIgorCisjOiBtaWR4LmM6MTEyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAib2lkIGZhbm91dCBvdXQgb2Ygb3JkZXI6IGZhbm91dFslZF0gPSAlPFBSSXgzMj4gPiAlPFBSSXgzMj4gPSBmYW5vdXRbJWRdIgpAQCAtMzUwMCw0NiArNDc3Miw3MCBAQAogIsOpdGFsZW1lbnQgb2lkIGVuIGTDqXNvcmRyZcKgOiDDqXRhbGVtZW50WyVkXSA9ICU8UFJJeDMyPiA+ICU8UFJJeDMyPiA9ICIKICLDqXRhbGVtZW50WyVkXSIKIAotIzogbWlkeC5jOjk5MgorIzogbWlkeC5jOjExMjgKK21zZ2lkICJWZXJpZnlpbmcgT0lEIG9yZGVyIGluIG11bHRpLXBhY2staW5kZXgiCittc2dzdHIgIlbDqXJpZmljYXRpb24gZGUgbCdvcmRyZSBkZXMgT0lEIGRhbnMgbCdpbmRleCBtdWx0aS1wYXF1ZXQiCisKKyM6IG1pZHguYzoxMTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9pZCBsb29rdXAgb3V0IG9mIG9yZGVyOiBvaWRbJWRdID0gJXMgPj0gJXMgPSBvaWRbJWRdIgogbXNnc3RyICJyZWNoZXJjaGUgZCdvaWQgZW4gZMOpc29yZHJlwqA6IG9pZFslZF0gPSAlcyA+PSAlcyA9IG9pZFslZF0iCiAKLSM6IG1pZHguYzo5OTYKKyM6IG1pZHguYzoxMTU3Cittc2dpZCAiU29ydGluZyBvYmplY3RzIGJ5IHBhY2tmaWxlIgorbXNnc3RyICJDbGFzc2VtZW50IGRlcyBvYmpldHMgcGFyIGZpY2hpZXIgcGFxdWV0IgorCisjOiBtaWR4LmM6MTE2NAogbXNnaWQgIlZlcmlmeWluZyBvYmplY3Qgb2Zmc2V0cyIKIG1zZ3N0ciAiVsOpcmlmaWNhdGlvbiBkZXMgZMOpY2FsYWdlcyBkZXMgb2JqZXRzIgogCi0jOiBtaWR4LmM6MTAwNAorIzogbWlkeC5jOjExODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgcGFjayBlbnRyeSBmb3Igb2lkWyVkXSA9ICVzIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgbGVjdHVyZSBkZSBsJ8OpbMOpbWVudCBkZSBjYWNoZSBwb3VyIG9pZFslZF0gPSAlcyIKIAotIzogbWlkeC5jOjEwMTAKKyM6IG1pZHguYzoxMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBsb2FkIHBhY2staW5kZXggZm9yIHBhY2tmaWxlICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgZmljaGllciBwYXF1ZXQgJXMiCiAKLSM6IG1pZHguYzoxMDE5CisjOiBtaWR4LmM6MTE5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmNvcnJlY3Qgb2JqZWN0IG9mZnNldCBmb3Igb2lkWyVkXSA9ICVzOiAlPFBSSXg2ND4gIT0gJTxQUkl4NjQ+IgotbXNnc3RyICJkw6ljYWxhZ2UgZCdvYmpldCBpbmNvcnJlY3RlIHBvdXIgb2lkWyVkXSA9ICVzwqA6ICU8UFJJeDY0PiAhPSAlPFBSSXg2ND4iCittc2dzdHIgImTDqWNhbGFnZSBkJ29iamV0IGluY29ycmVjdCBwb3VyIG9pZFslZF0gPSAlc8KgOiAlPFBSSXg2ND4gIT0gJTxQUkl4NjQ+IgogCi0jOiBuYW1lLWhhc2guYzo1MzIKKyM6IG1pZHguYzoxMjIwCittc2dpZCAiQ291bnRpbmcgcmVmZXJlbmNlZCBvYmplY3RzIgorbXNnc3RyICJDb21wdGFnZSBkZXMgb2JqZXRzIHLDqWbDqXJlbmPDqXMiCisKKyM6IG1pZHguYzoxMjMwCittc2dpZCAiRmluZGluZyBhbmQgZGVsZXRpbmcgdW5yZWZlcmVuY2VkIHBhY2tmaWxlcyIKK21zZ3N0ciAiUmVjaGVyY2hlIGV0IGVmZmFjZW1lbnQgZGVzIGZpY2hpZXJzIHBhcXVldHMgbm9uLXLDqWbDqXJlbmPDqXMiCisKKyM6IG1pZHguYzoxMzg4Cittc2dpZCAiY291bGQgbm90IHN0YXJ0IHBhY2stb2JqZWN0cyIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBkw6ltYXJyZXIgbGUgZ3JvdXBlbWVudCBkJ29iamV0cyIKKworIzogbWlkeC5jOjE0MDcKK21zZ2lkICJjb3VsZCBub3QgZmluaXNoIHBhY2stb2JqZWN0cyIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBmaW5pciBsZSBncm91cGVtZW50IGQnb2JqZXRzIgorCisjOiBuYW1lLWhhc2guYzo1MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsYXp5X2RpciB0aHJlYWQ6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciBsZSBmaWwgbGF6eV9kaXIgOiAlcyIKIAotIzogbmFtZS1oYXNoLmM6NTU0CisjOiBuYW1lLWhhc2guYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsYXp5X25hbWUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgZmlsIGxhenlfbmFtZSA6ICVzIgogCi0jOiBuYW1lLWhhc2guYzo1NjAKKyM6IG5hbWUtaGFzaC5jOjU2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gam9pbiBsYXp5X25hbWUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBqb2luZHJlIGxlIGZpbCBsYXp5X25hbWUgOiAlcyIKIAotIzogbm90ZXMtbWVyZ2UuYzoyNzUKKyM6IG5vdGVzLW1lcmdlLmM6Mjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgcHJldmlvdXMgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuXG4iCkBAIC0zNTUwLDIxICs0ODQ2LDIxIEBACiAiVmV1aWxsZXogdXRpbGlzZXIgJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcgb3UgJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0JyAiCiAicG91ciB2YWxpZGVyL2FiYW5kb25uZXIgbGEgZnVzaW9uIGVuIGNvdXJzIGF2YW50IGQnZW4gZMOpbWFycmVyIHVuZSBub3V2ZWxsZS4iCiAKLSM6IG5vdGVzLW1lcmdlLmM6MjgyCisjOiBub3Rlcy1tZXJnZS5jOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuIgogbXNnc3RyICJWb3VzIG4nYXZleiBwYXMgdGVybWluw6kgdm90cmUgZnVzaW9uIGRlIG5vdGVzICglcyBleGlzdGUpLiIKIAotIzogbm90ZXMtdXRpbHMuYzo0NQorIzogbm90ZXMtdXRpbHMuYzo0NgogbXNnaWQgIkNhbm5vdCBjb21taXQgdW5pbml0aWFsaXplZC91bnJlZmVyZW5jZWQgbm90ZXMgdHJlZSIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSB2YWxpZGVyIHVuIGFyYnJlIGRlIG5vdGVzIG5vbiBpbml0aWFsaXPDqS9yw6lmw6lyZW5jw6kiCiAKLSM6IG5vdGVzLXV0aWxzLmM6MTA0CisjOiBub3Rlcy11dGlscy5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgbm90ZXMucmV3cml0ZU1vZGUgdmFsdWU6ICclcyciCiBtc2dzdHIgIk1hdXZhaXNlIHZhbGV1ciBkZSBub3Rlcy5yZXdyaXRlTW9kZSA6ICclcyciCiAKLSM6IG5vdGVzLXV0aWxzLmM6MTE0CisjOiBub3Rlcy11dGlscy5jOjExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byByZXdyaXRlIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKIG1zZ3N0ciAiUmVmdXMgZGUgcsOpw6ljcmlyZSBkZXMgbm90ZXMgZGFucyAlcyAoaG9ycyBkZSByZWZzL25vdGVzLykiCkBAIC0zNTczLDEyICs0ODY5LDEyIEBACiAjLiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZSBzZWNvbmQgJXMgaXMKICMuIGl0cyB2YWx1ZS4KICMuCi0jOiBub3Rlcy11dGlscy5jOjE0NAorIzogbm90ZXMtdXRpbHMuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkICVzIHZhbHVlOiAnJXMnIgogbXNnc3RyICJNYXV2YWlzZSB2YWxldXIgZGUgJXMgOiAnJXMnIgogCi0jOiBvYmplY3QuYzo1NAorIzogb2JqZWN0LmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvYmplY3QgdHlwZSBcIiVzXCIiCiBtc2dzdHIgInR5cGUgZCdvYmpldCBpbnZhbGlkZSBcIiVzXCIiCkBAIC0zNjAwLDI5ICs0ODk2LDg0IEBACiAKICM6IG9iamVjdC5jOjI2NiBvYmplY3QuYzoyNzcKICMsIGMtZm9ybWF0Ci1tc2dpZCAic2hhMSBtaXNtYXRjaCAlcyIKLW1zZ3N0ciAiaW5jb2jDqXJlbmNlIGRlIHNoYTEgJXMiCittc2dpZCAiaGFzaCBtaXNtYXRjaCAlcyIKK21zZ3N0ciAiaW5jb2jDqXJlbmNlIGRlIGhhY2hhZ2UgJXMiCiAKLSM6IHBhY2tmaWxlLmM6NjA3CisjOiBwYWNrZmlsZS5jOjY0MQogbXNnaWQgIm9mZnNldCBiZWZvcmUgZW5kIG9mIHBhY2tmaWxlIChicm9rZW4gLmlkeD8pIgogbXNnc3RyICJvZmZzZXQgYXZhbnQgbGEgZmluIGR1IGZpY2hpZXIgcGFxdWV0ICguaWR4IGNhc3PDqcKgPykiCiAKLSM6IHBhY2tmaWxlLmM6MTg2NAorIzogcGFja2ZpbGUuYzoxODg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZWZvcmUgc3RhcnQgb2YgcGFjayBpbmRleCBmb3IgJXMgKGNvcnJ1cHQgaW5kZXg/KSIKIG1zZ3N0ciAib2Zmc2V0IGF2YW50IGxlIGTDqWJ1dCBkZSBsJ2luZGV4IGRlIHBhcXVldCBwb3VyICVzIChpbmRleCBjb3Jyb21wdcKgPykiCiAKLSM6IHBhY2tmaWxlLmM6MTg2OAorIzogcGFja2ZpbGUuYzoxODkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZXlvbmQgZW5kIG9mIHBhY2sgaW5kZXggZm9yICVzICh0cnVuY2F0ZWQgaW5kZXg/KSIKIG1zZ3N0ciAiIgogIm9mZnNldCBhdSBkZWzDoCBkZSBsYSBmaW4gZGUgbCdpbmRleCBkZSBwYXF1ZXQgcG91ciAlcyAoaW5kZXggdHJvbnF1w6nCoD8pIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NjcyCisjOiBwYXJzZS1vcHRpb25zLmM6MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYSB2YWx1ZSIKK21zZ3N0ciAiJXMgYSBiZXNvaW4gZCd1bmUgdmFsZXVyIgorCisjOiBwYXJzZS1vcHRpb25zLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgaW5jb21wYXRpYmxlIHdpdGggJXMiCittc2dzdHIgIiVzIGVzdCBpbmNvbXBhdGlibGUgYXZlYyAlcyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIDogaW5jb21wYXRpYmxlIHdpdGggc29tZXRoaW5nIGVsc2UiCittc2dzdHIgIiVzIGVzdCBpbmNvbXBhdGlibGUgYXZlYyB0b3V0ZSBhdXRyZSBvcHRpb24iCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo5MiBwYXJzZS1vcHRpb25zLmM6OTYgcGFyc2Utb3B0aW9ucy5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0YWtlcyBubyB2YWx1ZSIKK21zZ3N0ciAiJXMgbidhY2NlcHRlIGF1Y3VuZSB2YWxldXIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpc24ndCBhdmFpbGFibGUiCittc2dzdHIgIiVzIG4nZXN0IHBhcyBkaXNwb25pYmxlIgorCisjOiBwYXJzZS1vcHRpb25zLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGV4cGVjdHMgYSBub24tbmVnYXRpdmUgaW50ZWdlciB2YWx1ZSB3aXRoIGFuIG9wdGlvbmFsIGsvbS9nIHN1ZmZpeCIKK21zZ3N0ciAiJXMgYXR0ZW5kIHVuZSB2YWxldXIgZW50acOocmUgbm9uIG7DqWdhdGl2ZSBhdmVjIHVuZSBzdWZmaXhlIGsvbS9nIgorCisjOiBwYXJzZS1vcHRpb25zLmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgImFtYmlndW91cyBvcHRpb246ICVzIChjb3VsZCBiZSAtLSVzJXMgb3IgLS0lcyVzKSIKK21zZ3N0ciAib3B0aW9uIGFtYmlnw7xlwqA6ICVzIChkZXZyYWl0IMOqdHJlIC0tJXMlcyBvdSAtLSVzJXMpIgorCisjOiBwYXJzZS1vcHRpb25zLmM6NDIzIHBhcnNlLW9wdGlvbnMuYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlkIHlvdSBtZWFuIGAtLSVzYCAod2l0aCB0d28gZGFzaGVzID8pIgorbXNnc3RyICJ2b3VsaWV6LXZvdXMgZGlyZSBgLS0lc2AgKGF2ZWMgZGV1eCBzaWduZXMgbW9pbnMpPyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiBgJXMnIgorbXNnc3RyICJvcHRpb24gaW5jb25udWUgwqvCoCVzwqDCuyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHN3aXRjaCBgJWMnIgorbXNnc3RyICJiYXNjdWxlIGluY29ubnVlIMKrwqAlY8KgwrsiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo4NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBub24tYXNjaWkgb3B0aW9uIGluIHN0cmluZzogYCVzJyIKK21zZ3N0ciAib3B0aW9uIG5vbi1hc2NpaSBpbmNvbm51ZSBkYW5zIGxhIGNoYcOubmXCoDogJyVzJyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg4OAogbXNnaWQgIi4uLiIKIG1zZ3N0ciAiLi4uIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NjkxCisjOiBwYXJzZS1vcHRpb25zLmM6OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyIKIG1zZ3N0ciAidXNhZ2UgOiAlcyIKQEAgLTM2MzAsNjEgKzQ5ODEsNzYgQEAKICMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gaGVyZSBzaG91bGQgYWxpZ24gd2l0aCB0aGUKICMuIG9uZSBpbiAidXNhZ2U6ICVzIiB0cmFuc2xhdGlvbi4KICMuCi0jOiBwYXJzZS1vcHRpb25zLmM6Njk3CisjOiBwYXJzZS1vcHRpb25zLmM6OTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgIG9yOiAlcyIKIG1zZ3N0ciAiICAgb3UgOiAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjcwMAorIzogcGFyc2Utb3B0aW9ucy5jOjkxNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJXMiCiBtc2dzdHIgIiAgICAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjczOQorIzogcGFyc2Utb3B0aW9ucy5jOjk1NQogbXNnaWQgIi1OVU0iCiBtc2dzdHIgIi1OVU0iCiAKLSM6IHBhcnNlLW9wdGlvbnMtY2IuYzozNworIzogcGFyc2Utb3B0aW9ucy5jOjk2OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGlhcyBvZiAtLSVzIgorbXNnc3RyICJhbGlhcyBwb3VyIC0tJXMiCisKKyM6IHBhcnNlLW9wdGlvbnMtY2IuYzoyMCBwYXJzZS1vcHRpb25zLWNiLmM6MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKK21zZ3N0ciAibCdvcHRpb24gJyVzJyBhdHRlbmQgdW5lIHZhbGV1ciBudW3DqXJpcXVlIgorCisjOiBwYXJzZS1vcHRpb25zLWNiLmM6NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGV4cGlyYXRpb24gZGF0ZSAnJXMnIgogbXNnc3RyICJkYXRlIGQnZXhwaXJhdGlvbiBtYWxmb3Jtw6llwqA6ICclcyciCiAKLSM6IHBhcnNlLW9wdGlvbnMtY2IuYzoxMDkKKyM6IHBhcnNlLW9wdGlvbnMtY2IuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBleHBlY3RzIFwiYWx3YXlzXCIsIFwiYXV0b1wiLCBvciBcIm5ldmVyXCIiCittc2dzdHIgImwnb3B0aW9uICclcycgYXR0ZW5kIFwiYWx3YXlzXCIsIFwiYXV0b1wiIG91IFwibmV2ZXJcIiIKKworIzogcGFyc2Utb3B0aW9ucy1jYi5jOjEzMCBwYXJzZS1vcHRpb25zLWNiLmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAnJXMnIgogbXNnc3RyICJub20gZCdvYmpldCBtYWxmb3Jtw6kgJyVzJyIKIAotIzogcGF0aC5jOjg5NAorIzogcGF0aC5jOjkxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbWFrZSAlcyB3cml0YWJsZSBieSBncm91cCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZW5kcmUgJXMgaW5zY3JpcHRpYmxlIHBvdXIgbGUgZ3JvdXBlIgogCi0jOiBwYXRoc3BlYy5jOjEyOQorIzogcGF0aHNwZWMuYzoxMzAKIG1zZ2lkICJFc2NhcGUgY2hhcmFjdGVyICdcXCcgbm90IGFsbG93ZWQgYXMgbGFzdCBjaGFyYWN0ZXIgaW4gYXR0ciB2YWx1ZSIKIG1zZ3N0ciAiIgogIkxlIGNhcmFjdMOocmUgZCfDqWNoYXBwZW1lbnQgJ1xcXFwnIGludGVyZGl0IGNvbW1lIGRlcm5pZXIgY2FyYWN0w6hyZSBkYW5zIHVuZSAiCiAidmFsZXVyIGQnYXR0cmlidXQiCiAKLSM6IHBhdGhzcGVjLmM6MTQ3CisjOiBwYXRoc3BlYy5jOjE0OAogbXNnaWQgIk9ubHkgb25lICdhdHRyOicgc3BlY2lmaWNhdGlvbiBpcyBhbGxvd2VkLiIKIG1zZ3N0ciAiVW5lIHNldWxlIHNww6ljaWZpY2F0aW9uICdhdHRyOicgZXN0IGF1dG9yaXPDqWUuIgogCi0jOiBwYXRoc3BlYy5jOjE1MAorIzogcGF0aHNwZWMuYzoxNTEKIG1zZ2lkICJhdHRyIHNwZWMgbXVzdCBub3QgYmUgZW1wdHkiCiBtc2dzdHIgInVuIHNww6ljaWZpY2F0ZXVyIGQnYXR0cmlidXQgbmUgcGV1dCBwYXMgw6p0cmUgdmlkZSIKIAotIzogcGF0aHNwZWMuYzoxOTMKKyM6IHBhdGhzcGVjLmM6MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYXR0cmlidXRlIG5hbWUgJXMiCiBtc2dzdHIgIm5vbSBkJ2F0dHJpYnV0IGludmFsaWRlICVzIgogCi0jOiBwYXRoc3BlYy5jOjI1OAorIzogcGF0aHNwZWMuYzoyNTkKIG1zZ2lkICJnbG9iYWwgJ2dsb2InIGFuZCAnbm9nbG9iJyBwYXRoc3BlYyBzZXR0aW5ncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAibGVzIHLDqWdsYWdlcyBkZSBzcMOpY2lmaWNhdGV1cnMgZGUgY2hlbWluIGfDqW7DqXJhdXggJ2dsb2InIGV0ICdub2dsb2InIHNvbnQgIgogImluY29tcGF0aWJsZXMiCiAKLSM6IHBhdGhzcGVjLmM6MjY1CisjOiBwYXRoc3BlYy5jOjI2NgogbXNnaWQgIiIKICJnbG9iYWwgJ2xpdGVyYWwnIHBhdGhzcGVjIHNldHRpbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIGdsb2JhbCAiCiAicGF0aHNwZWMgc2V0dGluZ3MiCkBAIC0zNjkyLDEzMiArNTA1OCwyMDUgQEAKICJsZSByw6lnbGFnZSBnbG9iYWwgZGUgc3DDqWNpZmljYXRldXIgZGUgY2hlbWluICdsaXRlcmFsJyBlc3QgaW5jb21wYXRpYmxlIGF2ZWMgIgogInRvdXMgbGVzIGF1dHJlcyByw6lnbGFnZXMgZ2xvYmF1eCBkZSBzcMOpY2lmaWNhdGV1ciBkZSBjaGVtaW4iCiAKLSM6IHBhdGhzcGVjLmM6MzA1CisjOiBwYXRoc3BlYy5jOjMwNgogbXNnaWQgImludmFsaWQgcGFyYW1ldGVyIGZvciBwYXRoc3BlYyBtYWdpYyAncHJlZml4JyIKIG1zZ3N0ciAicGFyYW3DqHRyZSBpbnZhbGlkZSBwb3VyIGxlIHNww6ljaWZpY2F0ZXVyIG1hZ2lxdWUgZGUgY2hlbWluICdwcmVmaXgnIgogCi0jOiBwYXRoc3BlYy5jOjMyNgorIzogcGF0aHNwZWMuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBwYXRoc3BlYyBtYWdpYyAnJS4qcycgaW4gJyVzJyIKIG1zZ3N0ciAiTGEgc3DDqWNpZmljYXRpb24gbWFnaXF1ZSBkZSBjaGVtaW4gJyUuKnMnIGVzdCBpbnZhbGlkZSBkYW5zICclcyciCiAKLSM6IHBhdGhzcGVjLmM6MzMxCisjOiBwYXRoc3BlYy5jOjMzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJNaXNzaW5nICcpJyBhdCB0aGUgZW5kIG9mIHBhdGhzcGVjIG1hZ2ljIGluICclcyciCiBtc2dzdHIgIicpJyBtYW5xdWFudGUgw6AgbGEgZmluIGR1IHNww6ljaWZpY2F0ZXVyIG1hZ2lxdWUgZGUgY2hlbWluIGRhbnMgJyVzJyIKIAotIzogcGF0aHNwZWMuYzozNjkKKyM6IHBhdGhzcGVjLmM6MzcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuaW1wbGVtZW50ZWQgcGF0aHNwZWMgbWFnaWMgJyVjJyBpbiAnJXMnIgogbXNnc3RyICJTcMOpY2lmaWNhdGV1ciBtYWdpcXVlICclYycgbm9uIGltcGzDqW1lbnTDqSBkYW5zICclcyciCiAKLSM6IHBhdGhzcGVjLmM6NDI4CisjOiBwYXRoc3BlYy5jOjQyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJ2xpdGVyYWwnIGFuZCAnZ2xvYicgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiJXMgOiAnbGl0ZXJhbCcgZXQgJ2dsb2InIHNvbnQgaW5jb21wYXRpYmxlcyIKIAotIzogcGF0aHNwZWMuYzo0NDEKKyM6IHBhdGhzcGVjLmM6NDQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAnJXMnIGlzIG91dHNpZGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiJXMgOiAnJXMnIGVzdCBob3JzIGR1IGTDqXDDtHQiCiAKLSM6IHBhdGhzcGVjLmM6NTE1CisjOiBwYXRoc3BlYy5jOjUxNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIChtbmVtb25pYzogJyVjJykiCiBtc2dzdHIgIiclcycgKG1uw6ltb25pcXVlwqA6ICclYycpIgogCi0jOiBwYXRoc3BlYy5jOjUyNQorIzogcGF0aHNwZWMuYzo1MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKIG1zZ3N0ciAiIgogIiVzIDogbGUgc3DDqWNpZmljYXRldXIgbWFnaXF1ZSBkZSBjaGVtaW4gbidlc3QgcGFzIHN1cHBvcnTDqSBwYXIgY2V0dGUgIgogImNvbW1hbmRlIDogJXMiCiAKLSM6IHBhdGhzcGVjLmM6NTkyCisjOiBwYXRoc3BlYy5jOjU5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgImxlIGNoZW1pbiAnJXMnIGVzdCBhdS1kZWzDoCBkJ3VuIGxpZW4gc3ltYm9saXF1ZSIKIAotIzogcGt0LWxpbmUuYzoxMDQKKyM6IHBhdGhzcGVjLmM6NjM4CisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgaXMgYmFkbHkgcXVvdGVkOiAlcyIKK21zZ3N0ciAibGEgbGlnbmUgZXN0IG1hbCBjaXTDqWXCoDogJXMiCisKKyM6IHBrdC1saW5lLmM6OTIKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmx1c2ggcGFja2V0IgorbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBwYXF1ZXQgZGUgdmlkYWdlIgorCisjOiBwa3QtbGluZS5jOjk5Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGRlbGltIHBhY2tldCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgcGFxdWV0IGRlIGTDqWxpbWl0YXRpb24iCisKKyM6IHBrdC1saW5lLmM6MTA2CiBtc2dpZCAiZmx1c2ggcGFja2V0IHdyaXRlIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGwnw6ljcml0dXJlIGR1IHZpZGFnZSBkZSBwYXF1ZXQiCiAKLSM6IHBrdC1saW5lLmM6MTQyIHBrdC1saW5lLmM6MjI4CisjOiBwa3QtbGluZS5jOjE0NiBwa3QtbGluZS5jOjIzMgogbXNnaWQgInByb3RvY29sIGVycm9yOiBpbXBvc3NpYmx5IGxvbmcgbGluZSIKIG1zZ3N0ciAiZXJyZXVyIGRlIHByb3RvY29sZcKgOiBsaWduZSBpbXBvc3NpYmxlbWVudCB0cm9wIGxvbmd1ZSIKIAotIzogcGt0LWxpbmUuYzoxNTggcGt0LWxpbmUuYzoxNjAKKyM6IHBrdC1saW5lLmM6MTYyIHBrdC1saW5lLmM6MTY0CiBtc2dpZCAicGFja2V0IHdyaXRlIHdpdGggZm9ybWF0IGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGwnw6ljcml0dXJlIGQndW4gcGFxdWV0IGF2ZWMgZm9ybWF0IgogCi0jOiBwa3QtbGluZS5jOjE5MgorIzogcGt0LWxpbmUuYzoxOTYKIG1zZ2lkICJwYWNrZXQgd3JpdGUgZmFpbGVkIC0gZGF0YSBleGNlZWRzIG1heCBwYWNrZXQgc2l6ZSIKIG1zZ3N0ciAiIgogIsOpY2hlYyBkZSBsJ8OpY3JpdHVyZSBkJ3VuIHBhcXVldMKg4oCRIGxlcyBkb25uw6llcyBkw6lwYXNzZW50IGxhIHRhaWxsZSBtYXhpbWFsZSAiCiAiZCd1biBwYXF1ZXQiCiAKLSM6IHBrdC1saW5lLmM6MTk5IHBrdC1saW5lLmM6MjA2CisjOiBwa3QtbGluZS5jOjIwMyBwa3QtbGluZS5jOjIxMAogbXNnaWQgInBhY2tldCB3cml0ZSBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkZSBsJ8OpY3JpdHVyZSBkJ3VuIHBhcXVldCIKIAotIzogcGt0LWxpbmUuYzoyOTEKKyM6IHBrdC1saW5lLmM6Mjk1CiBtc2dpZCAicmVhZCBlcnJvciIKIG1zZ3N0ciAiZXJyZXVyIGRlIGxlY3R1cmUiCiAKLSM6IHBrdC1saW5lLmM6Mjk5CisjOiBwa3QtbGluZS5jOjMwMwogbXNnaWQgInRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdW5leHBlY3RlZGx5IgogbXNnc3RyICJMJ2jDtHRlIGRpc3RhbnQgYSBmZXJtw6kgbGEgY29ubmV4aW9uIGRlIG1hbmnDqHJlIGluYXR0ZW5kdWUiCiAKLSM6IHBrdC1saW5lLmM6MzI3CisjOiBwa3QtbGluZS5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIGxpbmUgbGVuZ3RoIGNoYXJhY3RlcjogJS40cyIKIG1zZ3N0ciAiZXJyZXVyIGRlIHByb3RvY29sZcKgOiBtYXV2YWlzIGNhcmFjdMOocmUgZGUgbG9uZ3VldXIgZGUgbGlnbmXCoDogJS40cyIKIAotIzogcGt0LWxpbmUuYzozMzcgcGt0LWxpbmUuYzozNDIKKyM6IHBrdC1saW5lLmM6MzQxIHBrdC1saW5lLmM6MzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgbGluZSBsZW5ndGggJWQiCiBtc2dzdHIgImVycmV1ciBkZSBwcm90b2NvbGXCoDogbWF1dmFpc2UgbG9uZ3VldXIgZGUgbGlnbmUgJWQiCiAKLSM6IHByZWxvYWQtaW5kZXguYzoxMTgKKyM6IHBrdC1saW5lLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW90ZSBlcnJvcjogJXMiCittc2dzdHIgImVycmV1ciBkaXN0YW50ZSA6ICVzIgorCisjOiBwcmVsb2FkLWluZGV4LmM6MTE5CiBtc2dpZCAiUmVmcmVzaGluZyBpbmRleCIKIG1zZ3N0ciAiUmFmcmHDrmNoaXNzZW1lbnQgZGUgbCdpbmRleCIKIAotIzogcHJlbG9hZC1pbmRleC5jOjEzNworIzogcHJlbG9hZC1pbmRleC5jOjEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRocmVhZGVkIGxzdGF0OiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgbHN0YXQgZW4gZmlsIDogJXMiCiAKLSM6IHByZXR0eS5jOjk2MgorIzogcHJldHR5LmM6OTgxCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIC0tcHJldHR5IGZvcm1hdCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGZvcm1hdCAtLXByZXR0eSIKIAotIzogcmFuZ2UtZGlmZi5jOjU2CisjOiBwcm9taXNvci1yZW1vdGUuYzoyMworbXNnaWQgIlJlbW90ZSB3aXRoIG5vIFVSTCIKK21zZ3N0ciAiRMOpcMO0dCBkaXN0YW50IHNhbnMgVVJMIgorCisjOiBwcm9taXNvci1yZW1vdGUuYzo1OAorIywgYy1mb3JtYXQKK21zZ2lkICJwcm9taXNvciByZW1vdGUgbmFtZSBjYW5ub3QgYmVnaW4gd2l0aCAnLyc6ICVzIgorbXNnc3RyICJ1biBub20gZGUgcHJvbWV0dGV1ciBkaXN0YW50IG5lIHBldXQgcGFzIGNvbW1lbmNlciBwYXIgJy8nwqA6ICVzIgorCisjOiByYW5nZS1kaWZmLmM6NzUKIG1zZ2lkICJjb3VsZCBub3Qgc3RhcnQgYGxvZ2AiCiBtc2dzdHIgImltcG9zc2libGUgZGUgZMOpbWFycmVyIGBsb2dgIgogCi0jOiByYW5nZS1kaWZmLmM6NTkKKyM6IHJhbmdlLWRpZmYuYzo3NwogbXNnaWQgImNvdWxkIG5vdCByZWFkIGBsb2dgIG91dHB1dCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxhIHNvcnRpZSBkZSBgbG9nYCIKIAotIzogcmFuZ2UtZGlmZi5jOjc0IHNlcXVlbmNlci5jOjQ3NjQKKyM6IHJhbmdlLWRpZmYuYzo5NiBzZXF1ZW5jZXIuYzo1MTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGNvbW1pdCAnJXMnIgogCi0jOiByYW5nZS1kaWZmLmM6MjI0CisjOiByYW5nZS1kaWZmLmM6MTIyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBnaXQgaGVhZGVyICclLipzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGwnZW50w6p0ZSBnaXQgJyUuKnMnIgorCisjOiByYW5nZS1kaWZmLmM6Mjg1CiBtc2dpZCAiZmFpbGVkIHRvIGdlbmVyYXRlIGRpZmYiCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBnw6luw6lyYXRpb24gZGUgZGlmZiIKIAotIzogcmFuZ2UtZGlmZi5jOjQ1NSByYW5nZS1kaWZmLmM6NDU3CisjOiByYW5nZS1kaWZmLmM6NTE4IHJhbmdlLWRpZmYuYzo1MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGxvZyBmb3IgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGpvdXJuYWwgcG91ciAnJXMnIgogCi0jOiByZWFkLWNhY2hlLmM6MTQ5MAorIzogcmVhZC1jYWNoZS5jOjY4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ3aWxsIG5vdCBhZGQgZmlsZSBhbGlhcyAnJXMnICgnJXMnIGFscmVhZHkgZXhpc3RzIGluIGluZGV4KSIKK21zZ3N0ciAicGFzIGQnYWpvdXQgZCdhbGlhcyBkZSBmaWNoaWVyICclcycowqvCoCVzwqDCuyBleGlzdGUgZMOpasOgIGRhbnMgbCdpbmRleCkiCisKKyM6IHJlYWQtY2FjaGUuYzo2OTYKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGFuIGVtcHR5IGJsb2IgaW4gdGhlIG9iamVjdCBkYXRhYmFzZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgdW4gYmxvYiB2aWRlIGRhbnMgbGEgYmFzZSBkZSBkb25uw6llIGQnb2JqZXRzIgorCisjOiByZWFkLWNhY2hlLmM6NzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4gb25seSBhZGQgcmVndWxhciBmaWxlcywgc3ltYm9saWMgbGlua3Mgb3IgZ2l0LWRpcmVjdG9yaWVzIgorbXNnc3RyICIiCisiJXPCoDogbmUgcGV1dCBham91dGVyIHF1ZSBkZXMgZmljaGllcnMgbm9ybWF1eCwgZGVzIGxpZW5zIHN5bWJvbGlxdWVzIG91IGRlcyAiCisicsOpcGVydG9pcmVzIGdpdCIKKworIzogcmVhZC1jYWNoZS5jOjcyMworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGRvZXMgbm90IGhhdmUgYSBjb21taXQgY2hlY2tlZCBvdXQiCittc2dzdHIgIiclcycgbidhIHBhcyBkZSBjb21taXQgZXh0cmFpdCIKKworIzogcmVhZC1jYWNoZS5jOjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gaW5kZXggZmlsZSAnJXMnIgorbXNnc3RyICJpbmRleGF0aW9uIGR1IGZpY2hpZXIgJyVzJyBpbXBvc3NpYmxlIgorCisjOiByZWFkLWNhY2hlLmM6Nzk0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhZGQgJyVzJyB0byBpbmRleCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2Fqb3V0ZXIgJyVzJyDDoCBsJ2luZGV4IgorCisjOiByZWFkLWNhY2hlLmM6ODA1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBzdGF0ICclcyciCittc2dzdHIgImZzdGF0IGRlICclcycgaW1wb3NzaWJsZSIKKworIzogcmVhZC1jYWNoZS5jOjEzMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBhcHBlYXJzIGFzIGJvdGggYSBmaWxlIGFuZCBhcyBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJyVzJyBleGlzdGUgw6AgbGEgZm9pcyBjb21tZSB1biBmaWNoaWVyIGV0IHVuIHLDqXBlcnRvaXJlIgorCisjOiByZWFkLWNhY2hlLmM6MTUzMQogbXNnaWQgIlJlZnJlc2ggaW5kZXgiCiBtc2dzdHIgIlJhZnJhw65jaGlyIGwnaW5kZXgiCiAKLSM6IHJlYWQtY2FjaGUuYzoxNjA0CisjOiByZWFkLWNhY2hlLmM6MTY0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiaW5kZXgudmVyc2lvbiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKQEAgLTM4MjYsNyArNTI2NSw3IEBACiAidmVyc2lvbiBkJ2luZGV4IHJlbnNlaWduw6llLCBtYWlzIGxhIHZhbGV1ciBlc3QgaW52YWxpZGUuXG4iCiAiVXRpbGlzYXRpb24gZGUgbGEgdmVyc2lvbiAlaSIKIAotIzogcmVhZC1jYWNoZS5jOjE2MTQKKyM6IHJlYWQtY2FjaGUuYzoxNjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJHSVRfSU5ERVhfVkVSU0lPTiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKQEAgLTM4MzUsNjAgKzUyNzQsMTUwIEBACiAiR0lUX0lOREVYX1ZFUlNJT04gZXN0IHJlbnNlaWduw6ksIG1haXMgbGEgdmFsZXVyIGVzdCBpbnZhbGlkZS5cbiIKICJVdGlsaXNhdGlvbiBkZSBsYSB2ZXJzaW9uICVpIgogCi0jOiByZWFkLWNhY2hlLmM6MTc5MgorIzogcmVhZC1jYWNoZS5jOjE3MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNpZ25hdHVyZSAweCUwOHgiCittc2dzdHIgInNpZ25hdHVyZSBpbmNvcnJlY3RlIDB4JTA4eCIKKworIzogcmVhZC1jYWNoZS5jOjE3MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJWQiCittc2dzdHIgIm1hdXZhaXNlIHZlcnNpb24gZCdpbmRleCAlZCIKKworIzogcmVhZC1jYWNoZS5jOjE3MjQKK21zZ2lkICJiYWQgaW5kZXggZmlsZSBzaGExIHNpZ25hdHVyZSIKK21zZ3N0ciAibWF1dmFpc2Ugc2lnbmF0dXJlIHNoYTEgZCdpbmRleCIKKworIzogcmVhZC1jYWNoZS5jOjE3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5kZXggdXNlcyAlLjRzIGV4dGVuc2lvbiwgd2hpY2ggd2UgZG8gbm90IHVuZGVyc3RhbmQiCittc2dzdHIgImwnaW5kZXggdXRpbGlzZSBsJ2V4dGVuc2lvbiAlLjRzIHF1aSBuJ2VzdCBwYXMgY29tcHJpc2UiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nICUuNHMgZXh0ZW5zaW9uIgorbXNnc3RyICJleHRlbnNpb24gJS40cyBpZ25vcsOpZSIKKworIzogcmVhZC1jYWNoZS5jOjE3OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBpbmRleCBlbnRyeSBmb3JtYXQgMHglMDh4IgorbXNnc3RyICJmb3JtYXQgZCdlbnRyw6llIGQnaW5kZXggaW5jb25udSAweCUwOHgiCisKKyM6IHJlYWQtY2FjaGUuYzoxODA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBuYW1lIGZpZWxkIGluIHRoZSBpbmRleCwgbmVhciBwYXRoICclcyciCiBtc2dzdHIgImNoYW1wIGRlIG5vbSBtYWxmb3Jtw6kgZGFucyBsJ2luZGV4LCBwcsOocyBkdSBjaGVtaW4gJyVzJyIKIAotIzogcmVhZC1jYWNoZS5jOjE5NjAgcmVyZXJlLmM6NTY1IHJlcmVyZS5jOjU5OSByZXJlcmUuYzoxMTExIGJ1aWx0aW4vYWRkLmM6NDU4Ci0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3NyBidWlsdGluL2NoZWNrb3V0LmM6Mjg5IGJ1aWx0aW4vY2hlY2tvdXQuYzo1ODUKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NTMgYnVpbHRpbi9jbGVhbi5jOjk1NCBidWlsdGluL2NvbW1pdC5jOjM0MwotIzogYnVpbHRpbi9kaWZmLXRyZWUuYzoxMTUgYnVpbHRpbi9ncmVwLmM6NDg5IGJ1aWx0aW4vbXYuYzoxNDQKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNDQgYnVpbHRpbi9ybS5jOjI3MCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzI5CisjOiByZWFkLWNhY2hlLmM6MTg2NgorbXNnaWQgInVub3JkZXJlZCBzdGFnZSBlbnRyaWVzIGluIGluZGV4IgorbXNnc3RyICJlbnRyw6llcyBkZSBwcsOpcGFyYXRpb24gbm9uIG9yZG9ubsOpZXMgZGFucyBsJ2luZGV4IgorCisjOiByZWFkLWNhY2hlLmM6MTg2OQorIywgYy1mb3JtYXQKK21zZ2lkICJtdWx0aXBsZSBzdGFnZSBlbnRyaWVzIGZvciBtZXJnZWQgZmlsZSAnJXMnIgorbXNnc3RyICJlbnRyw6llcyBtdWx0aXBsZXMgZGUgcHLDqXBhcmF0aW9uIHBvdXIgbGUgZmljaGllciBmdXNpb25uw6kgJyVzJyIKKworIzogcmVhZC1jYWNoZS5jOjE4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5vcmRlcmVkIHN0YWdlIGVudHJpZXMgZm9yICclcyciCittc2dzdHIgImVudHLDqWVzIGRlIHByw6lwYXJhdGlvbiBub24gb3Jkb25uw6llcyBwb3VyICclcyciCisKKyM6IHJlYWQtY2FjaGUuYzoxOTc4IHJlYWQtY2FjaGUuYzoyMjY2IHJlcmVyZS5jOjU2NSByZXJlcmUuYzo1OTkgcmVyZXJlLmM6MTExMQorIzogYnVpbHRpbi9hZGQuYzo0OTkgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzggYnVpbHRpbi9jaGVja291dC5jOjQ3MAorIzogYnVpbHRpbi9jaGVja291dC5jOjY1NCBidWlsdGluL2NsZWFuLmM6OTY3IGJ1aWx0aW4vY29tbWl0LmM6MzY3CisjOiBidWlsdGluL2RpZmYtdHJlZS5jOjEyMCBidWlsdGluL2dyZXAuYzo0OTkgYnVpbHRpbi9tdi5jOjE0NQorIzogYnVpbHRpbi9yZXNldC5jOjI0NiBidWlsdGluL3JtLmM6MjcxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMzIKIG1zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQiCiBtc2dzdHIgImZpY2hpZXIgZCdpbmRleCBjb3Jyb21wdSIKIAotIzogcmVhZC1jYWNoZS5jOjIxMDEKKyM6IHJlYWQtY2FjaGUuYzoyMTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbG9hZF9jYWNoZV9lbnRyaWVzIHRocmVhZDogJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIGZpbCBsb2FkX2NhY2hlX2VudHJpZXMgOiAlcyIKIAotIzogcmVhZC1jYWNoZS5jOjIxMTQKKyM6IHJlYWQtY2FjaGUuYzoyMTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBqb2luIGxvYWRfY2FjaGVfZW50cmllcyB0aHJlYWQ6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGpvaW5kcmUgbGUgZmlsIGxvYWRfY2FjaF9lbnRyaWVzIDogJXMiCiAKLSM6IHJlYWQtY2FjaGUuYzoyMjAxCisjOiByZWFkLWNhY2hlLmM6MjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5kZXggZmlsZSBvcGVuIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogbCdvdXZlcnR1cmUgZHUgZmljaGllciBkJ2luZGV4IGEgw6ljaG91w6kiCisKKyM6IHJlYWQtY2FjaGUuYzoyMTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3Qgc3RhdCB0aGUgb3BlbiBpbmRleCIKK21zZ3N0ciAiJXPCoDogaW1wb3NzaWJsZSBkZSBmYWlyZSB1biBzdGF0IHN1ciBsJ2luZGV4IG91dmVydCIKKworIzogcmVhZC1jYWNoZS5jOjIxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluZGV4IGZpbGUgc21hbGxlciB0aGFuIGV4cGVjdGVkIgorbXNnc3RyICIlc8KgOiBmaWNoaWVyIGQnaW5kZXggcGx1cyBwZXRpdCBxdSdhdHRlbmR1IgorCisjOiByZWFkLWNhY2hlLmM6MjE3NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG1hcCBpbmRleCBmaWxlIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGRlIG1hcHBlciBsZSBmaWNoaWVyIGQnaW5kZXgiCisKKyM6IHJlYWQtY2FjaGUuYzoyMjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbG9hZF9pbmRleF9leHRlbnNpb25zIHRocmVhZDogJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIGZpbCBsb2FkX2luZGV4X2V4dGVuc2lvbnMgOiAlcyIKIAotIzogcmVhZC1jYWNoZS5jOjIyMjgKKyM6IHJlYWQtY2FjaGUuYzoyMjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBqb2luIGxvYWRfaW5kZXhfZXh0ZW5zaW9ucyB0aHJlYWQ6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGpvaW5kcmUgbGUgZmlsIGxvYWRfaW5kZXhfZXh0ZW5zaW9ucyA6ICVzIgogCi0jOiByZWFkLWNhY2hlLmM6Mjk4MiBzZXF1ZW5jZXIuYzo0NzI3IHdyYXBwZXIuYzo2NTggYnVpbHRpbi9tZXJnZS5jOjEwODYKKyM6IHJlYWQtY2FjaGUuYzoyMjc4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmcmVzaGVuIHNoYXJlZCBpbmRleCAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHJhZnJhw65jaGlyIGwnaW5kZXggcGFydGFnw6kgJyVzJyIKKworIzogcmVhZC1jYWNoZS5jOjIzMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYnJva2VuIGluZGV4LCBleHBlY3QgJXMgaW4gJXMsIGdvdCAlcyIKK21zZ3N0ciAiaW5kZXggY2Fzc8OpLCAlcyBhdHRlbmR1IGRhbnMgJXMsICVzIG9idGVudSIKKworIzogcmVhZC1jYWNoZS5jOjMwMjEgc3RyYnVmLmM6MTE0NSB3cmFwcGVyLmM6NjIyIGJ1aWx0aW4vbWVyZ2UuYzoxMTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZlcm1lciAnJXMnIgogCi0jOiByZWFkLWNhY2hlLmM6MzA1NSBzZXF1ZW5jZXIuYzoyMjAzIHNlcXVlbmNlci5jOjM1OTIKKyM6IHJlYWQtY2FjaGUuYzozMTI0IHNlcXVlbmNlci5jOjI0Mjkgc2VxdWVuY2VyLmM6NDA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICJzdGF0IGltcG9zc2libGUgZGUgJyVzJyIKIAotIzogcmVhZC1jYWNoZS5jOjMwNjgKKyM6IHJlYWQtY2FjaGUuYzozMTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIGdpdCBkaXI6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIHLDqXBlcnRvaXJlIGdpdMKgOiAlcyIKIAotIzogcmVhZC1jYWNoZS5jOjMwODAKKyM6IHJlYWQtY2FjaGUuYzozMTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1bmxpbms6ICVzIgogbXNnc3RyICLDqWNoZWMgbG9ycyBkZSBsJ3VubGlua8KgOiAlcyIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTAKKyM6IHJlYWQtY2FjaGUuYzozMTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaXggcGVybWlzc2lvbiBiaXRzIG9uICclcyciCittc2dzdHIgImltcG9zc2libGUgZGUgcsOpZ2xlciBsZXMgYml0cyBkZSBkcm9pdCBkZSAnJXMnIgorCisjOiByZWFkLWNhY2hlLmM6MzMyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRyb3AgdG8gc3RhZ2UgIzAiCittc2dzdHIgIiVzIDogaW1wb3NzaWJsZSBkZSByZXZlbmlyIMOgIGwnw6l0YXBlIDAiCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1bnJlY29nbml6ZWQgc2V0dGluZyAlcyBmb3Igb3B0aW9uIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiBJZ25vcmluZy4iCittc2dzdHIgIiIKKyJwYXJhbcOodHJlIG5vbiByZWNvbm51ICVzIHBvdXIgbCdvcHRpb24gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suIElnbm9yw6kuIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzozNQogbXNnaWQgIiIKICJcbiIKICJDb21tYW5kczpcbiIKQEAgLTM5MTksNyArNTQ0OCw3IEBACiAiIGYsIGZpeHVwIDxjb21taXQ+ID0gY29tbWUgXCJzcXVhc2hcIiwgbWFpcyBlbiDDqWxpbWluYW50IHNvbiBtZXNzYWdlXG4iCiAiIHgsIGV4ZWMgPGNvbW1pdD4gPSBsYW5jZXIgbGEgY29tbWFuZGUgKHJlc3RlIGRlIGxhIGxpZ25lKSBkYW5zIHVuIHNoZWxsXG4iCiAiIGIsIGJyZWFrID0gcydhcnLDqnRlciBpY2kgKG9uIHBldXQgY29udGludWVyIGVuc3VpdGUgYXZlYyAnZ2l0IHJlYmFzZSAtLSIKLSJjb250aW5lJylcbiIKKyJjb250aW51ZScpXG4iCiAiIGQsIGRyb3AgPGNvbW1pdD4gPSBzdXBwcmltZXIgbGUgY29tbWl0XG4iCiAiIGwsIGxhYmVsIDxsYWJlbD4gPSDDqXRpcXVldGVyIGxhIEhFQUQgY291cmFudGUgYXZlYyB1biBub21cbiIKICIgdCwgcmVzZXQgPGxhYmVsPiA9IHLDqWluaXRpYWxpc2VyIEhFQUQgw6AgbGFiZWxcbiIKQEAgLTM5MzAsNyArNTQ1OSwxNCBAQAogIlxuIgogIlZvdXMgcG91dmV6IHLDqW9yZG9ubmVyIGNlcyBsaWduZXPCoDsgZWxsZXMgc29udCBleMOpY3V0w6llcyBkZSBoYXV0IGVuIGJhcy5cbiIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6MzEgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjE3MworIzogcmViYXNlLWludGVyYWN0aXZlLmM6NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmViYXNlICVzIG9udG8gJXMgKCVkIGNvbW1hbmQpIgorbXNnaWRfcGx1cmFsICJSZWJhc2UgJXMgb250byAlcyAoJWQgY29tbWFuZHMpIgorbXNnc3RyWzBdICJSZWJhc2FnZSBkZSAlcyBzdXIgJXMgKCVkIGNvbW1hbmRlKSIKK21zZ3N0clsxXSAiUmViYXNhZ2UgZGUgJXMgc3VyICVzICglZCBjb21tYW5kZXMpIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo2NSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjI4CiBtc2dpZCAiIgogIlxuIgogIkRvIG5vdCByZW1vdmUgYW55IGxpbmUuIFVzZSAnZHJvcCcgZXhwbGljaXRseSB0byByZW1vdmUgYSBjb21taXQuXG4iCkBAIC0zOTM5LDcgKzU0NzUsNyBAQAogIk5lIHN1cHByaW1leiBhdWN1bmUgbGlnbmUuIFV0aWxpc2V6ICdkcm9wJyBleHBsaWNpdGVtZW50IHBvdXIgc3VwcHJpbWVyIHVuICIKICJjb21taXQuXG4iCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjM0IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxNzcKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjY4IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMzIKIG1zZ2lkICIiCiAiXG4iCiAiSWYgeW91IHJlbW92ZSBhIGxpbmUgaGVyZSBUSEFUIENPTU1JVCBXSUxMIEJFIExPU1QuXG4iCkBAIC0zOTQ3LDcgKzU0ODMsNyBAQAogIlxuIgogIlNpIHZvdXMgw6lsaW1pbmV6IHVuZSBsaWduZSBpY2ksIExFIENPTU1JVCBDT1JSRVNQT05EQU5UIFNFUkEgUEVSRFUuXG4iCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjQwIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MTYKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjc0IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NzEKIG1zZ2lkICIiCiAiXG4iCiAiWW91IGFyZSBlZGl0aW5nIHRoZSB0b2RvIGZpbGUgb2YgYW4gb25nb2luZyBpbnRlcmFjdGl2ZSByZWJhc2UuXG4iCkBAIC0zOTYyLDcgKzU0OTgsNyBAQAogIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKICJcbiIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6NDUgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg5MworIzogcmViYXNlLWludGVyYWN0aXZlLmM6NzkgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk0OAogbXNnaWQgIiIKICJcbiIKICJIb3dldmVyLCBpZiB5b3UgcmVtb3ZlIGV2ZXJ5dGhpbmcsIHRoZSByZWJhc2Ugd2lsbCBiZSBhYm9ydGVkLlxuIgpAQCAtMzk3MiwxMjUgKzU1MDgsMTU3IEBACiAiQ2VwZW5kYW50LCBzaSB2b3VzIGVmZmFjZXogdG91dCwgbGUgcmViYXNhZ2Ugc2VyYSBhbm51bMOpLlxuIgogIlxuIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo1MSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTAwCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo4NSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTU1CiBtc2dpZCAiTm90ZSB0aGF0IGVtcHR5IGNvbW1pdHMgYXJlIGNvbW1lbnRlZCBvdXQiCiBtc2dzdHIgIlZldWlsbGV6IG5vdGVyIHF1ZSBsZXMgY29tbWl0cyB2aWRlcyBzb250IGVuIGNvbW1lbnRhaXJlIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo2MiByZWJhc2UtaW50ZXJhY3RpdmUuYzo3NSBzZXF1ZW5jZXIuYzoyMTg2Ci0jOiBzZXF1ZW5jZXIuYzo0NTA1IHNlcXVlbmNlci5jOjQ1NjEgc2VxdWVuY2VyLmM6NDgzNgorIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTA1IHJlcmVyZS5jOjQ4NSByZXJlcmUuYzo2OTIgc2VxdWVuY2VyLmM6MzUzNgorIzogc2VxdWVuY2VyLmM6MzU2MiBzZXF1ZW5jZXIuYzo1MjYzIGJ1aWx0aW4vZnNjay5jOjM0NiBidWlsdGluL3JlYmFzZS5jOjI1NAogIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnLiIKLW1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlICclcycuIgorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSAnJXMnIgogCi0jOiByZWZzLmM6MTkyCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb3BpZXIgJyVzJyB2ZXJzICclcycuIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldhcm5pbmc6IHNvbWUgY29tbWl0cyBtYXkgaGF2ZSBiZWVuIGRyb3BwZWQgYWNjaWRlbnRhbGx5LlxuIgorIkRyb3BwZWQgY29tbWl0cyAobmV3ZXIgdG8gb2xkZXIpOlxuIgorbXNnc3RyICIiCisiQXR0ZW50aW9uwqA6IGNlcnRhaW5zIGNvbW1pdHMgb250IHB1IMOqdHJlIGFjY2lkZW50ZWxsZW1lbnQgc3VwcHJpbcOpcy5cbiIKKyJDb21taXRzIHN1cHByaW3DqXMgKGR1IHBsdXMgamV1bmUgYXUgcGx1cyB2aWV1eCnCoDpcbiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUbyBhdm9pZCB0aGlzIG1lc3NhZ2UsIHVzZSBcImRyb3BcIiB0byBleHBsaWNpdGx5IHJlbW92ZSBhIGNvbW1pdC5cbiIKKyJcbiIKKyJVc2UgJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHRvIGNoYW5nZSB0aGUgbGV2ZWwgb2YgIgorIndhcm5pbmdzLlxuIgorIlRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlBvdXIgw6l2aXRlciBjZSBtZXNzYWdlLCB1dGlsaXNleiBcImRyb3BcIiBwb3VyIHN1cHByaW1lciBleHBsaWNpdGVtZW50IHVuICIKKyJjb21taXQuXG4iCisiXG4iCisiVXRpbGlzZXogJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHBvdXIgY2hhbmdlciBsZSBuaXZlYXUgIgorImQnYXZlcnRpc3NlbWVudHMuXG4iCisiTGVzIGNvbXBvcnRlbWVudHMgZGlzcG9uaWJsZXMgc29udMKgOiBpZ25vcmUsIHdhcm4sIGVycm9yLlxuIgorIlxuIgorCisjOiByZWZzLmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgb2JqZWN0ISIKIG1zZ3N0ciAiJXMgbmUgcG9pbnRlIHBhcyBzdXIgdW4gb2JqZXQgdmFsaWRlISIKIAotIzogcmVmcy5jOjU4MworIzogcmVmcy5jOjY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBkYW5nbGluZyBzeW1yZWYgJXMiCiBtc2dzdHIgInN5bXJlZiBwZW5kYW50ICVzIGlnbm9yw6kiCiAKLSM6IHJlZnMuYzo1ODUgcmVmLWZpbHRlci5jOjE5NTEKKyM6IHJlZnMuYzo2NjkgcmVmLWZpbHRlci5jOjIwOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgYnJva2VuIHJlZiAlcyIKIG1zZ3N0ciAicsOpZiBjYXNzw6kgJXMgaWdub3LDqSIKIAotIzogcmVmcy5jOjcxMQorIzogcmVmcy5jOjgwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nOiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAnJXMnIGVuIMOpY3JpdHVyZcKgOiAlcyIKIAotIzogcmVmcy5jOjcyMSByZWZzLmM6NzcyCisjOiByZWZzLmM6ODE0IHJlZnMuYzo4NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgcmVmICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsYSByw6lmICclcyciCiAKLSM6IHJlZnMuYzo3MjcKKyM6IHJlZnMuYzo4MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgImxhIHLDqWbDqXJlbmNlICclcycgZXhpc3RlIGTDqWrDoCIKIAotIzogcmVmcy5jOjczMgorIzogcmVmcy5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG9iamVjdCBJRCB3aGVuIHdyaXRpbmcgJyVzJyIKIG1zZ3N0ciAiaWQgZCdvYmpldCBpbmF0dGVuZHUgcGVuZGFudCBsJ8OpY3JpdHVyZSBkZSAnJXMnIgogCi0jOiByZWZzLmM6NzQwIHNlcXVlbmNlci5jOjM5NCBzZXF1ZW5jZXIuYzoyNTEwIHNlcXVlbmNlci5jOjI2MzYKLSM6IHNlcXVlbmNlci5jOjI2NTAgc2VxdWVuY2VyLmM6Mjg3NyBzZXF1ZW5jZXIuYzo0NzI1IHNlcXVlbmNlci5jOjQ3ODgKLSM6IHdyYXBwZXIuYzo2NTYKKyM6IHJlZnMuYzo4MzMgc2VxdWVuY2VyLmM6NDA1IHNlcXVlbmNlci5jOjI3OTMgc2VxdWVuY2VyLmM6Mjk5NworIzogc2VxdWVuY2VyLmM6MzAxMSBzZXF1ZW5jZXIuYzozMjY5IHNlcXVlbmNlci5jOjUxNzkgc3RyYnVmLmM6MTE0MgorIzogd3JhcHBlci5jOjYyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgZGFucyAnJXMnIgogCi0jOiByZWZzLmM6NzY3IHNlcXVlbmNlci5jOjQ3MjMgc2VxdWVuY2VyLmM6NDc4MiB3cmFwcGVyLmM6MjI1IHdyYXBwZXIuYzozOTUKLSM6IGJ1aWx0aW4vYW0uYzo3MjgKKyM6IHJlZnMuYzo4NjAgc3RyYnVmLmM6MTE0MCB3cmFwcGVyLmM6MTg4IHdyYXBwZXIuYzozNTggYnVpbHRpbi9hbS5jOjcxNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxMDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJyVzJyBlbiDDqWNyaXR1cmUiCiAKLSM6IHJlZnMuYzo3NzQKKyM6IHJlZnMuYzo4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBvYmplY3QgSUQgd2hlbiBkZWxldGluZyAnJXMnIgogbXNnc3RyICJpZCBkJ29iamV0IGluYXR0ZW5kdSBwZW5kYW50IGxhIHN1cHByZXNzaW9uIGRlICclcyciCiAKLSM6IHJlZnMuYzo5MDUKKyM6IHJlZnMuYzo5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9nIGZvciByZWYgJXMgaGFzIGdhcCBhZnRlciAlcyIKIG1zZ3N0ciAibGUgam91cm5hbCBwb3VyIGxhIHLDqWYgJXMgY29udGllbnQgdW4gdHJvdSBhcHLDqHMgJXMiCiAKLSM6IHJlZnMuYzo5MTEKKyM6IHJlZnMuYzoxMDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvZyBmb3IgcmVmICVzIHVuZXhwZWN0ZWRseSBlbmRlZCBvbiAlcyIKIG1zZ3N0ciAibGUgam91cm5hbCBwb3VyIGxhIHLDqWYgJXMgcydhcnLDqnRlIGRlIG1hbmnDqHJlIGluYXR0ZW5kdWUgc3VyICVzIgogCi0jOiByZWZzLmM6OTY5CisjOiByZWZzLmM6MTA2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2cgZm9yICVzIGlzIGVtcHR5IgogbXNnc3RyICJsZSBqb3VybmFsIHBvdXIgbGEgcsOpZiAlcyBlc3QgdmlkZSIKIAotIzogcmVmcy5jOjEwNjEKKyM6IHJlZnMuYzoxMTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvIHVwZGF0ZSByZWYgd2l0aCBiYWQgbmFtZSAnJXMnIgogbXNnc3RyICJyZWZ1cyBkZSBtZXR0cmUgw6Agam91ciB1bmUgcsOpZiBhdmVjIHVuIG5vbSBjYXNzw6kgJyVzJyIKIAotIzogcmVmcy5jOjExMzcKKyM6IHJlZnMuYzoxMjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVwZGF0ZV9yZWYgZmFpbGVkIGZvciByZWYgJyVzJzogJXMiCiBtc2dzdHIgIsOpY2hlYyBkZSB1cGRhdGVfcmVmIHBvdXIgbGEgcsOpZiAnJXMnwqA6ICVzIgogCi0jOiByZWZzLmM6MTkxMQorIzogcmVmcy5jOjIwMjMKICMsIGMtZm9ybWF0CiBtc2dpZCAibXVsdGlwbGUgdXBkYXRlcyBmb3IgcmVmICclcycgbm90IGFsbG93ZWQiCiBtc2dzdHIgIm1pc2VzIMOgIGpvdXIgbXVsdGlwbGVzIHBvdXIgbGEgcsOpZiAnJXMnIG5vbiBwZXJtaXNlcyIKIAotIzogcmVmcy5jOjE5NDMKKyM6IHJlZnMuYzoyMDU1CiBtc2dpZCAicmVmIHVwZGF0ZXMgZm9yYmlkZGVuIGluc2lkZSBxdWFyYW50aW5lIGVudmlyb25tZW50IgogbXNnc3RyICJtaXNlcyDDoCBqb3VyIGRlcyByw6lmw6lyZW5jZXMgaW50ZXJkaXRlcyBlbiBlbnZpcm9ubmVtZW50IGRlIHF1YXJhbnRhaW5lIgogCi0jOiByZWZzLmM6MjAzOSByZWZzLmM6MjA2OQorIzogcmVmcy5jOjIxNTEgcmVmcy5jOjIxODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAiJyVzJyBleGlzdGXCoDsgaW1wb3NzaWJsZSBkZSBjcsOpZXIgJyVzJyIKIAotIzogcmVmcy5jOjIwNDUgcmVmcy5jOjIwODAKKyM6IHJlZnMuYzoyMTU3IHJlZnMuYzoyMTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBwcm9jZXNzICclcycgYW5kICclcycgYXQgdGhlIHNhbWUgdGltZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSB0cmFpdGVyICclcycgZXQgJyVzJyBlbiBtw6ptZSB0ZW1wcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTIyOAorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTIzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIHJlZmVyZW5jZSAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbGEgcsOpZsOpcmVuY2UgJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyNDIgcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1MzIKLSM6IHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTQyCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxMjQ4IHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTQxCisjOiByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZSAlczogJXMiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc3VwcHJpbWVyIGxhIHLDqWbDqXJlbmNlICVzwqA6ICVzIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxMjQ1IHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTQ1CisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxMjUxIHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlczogJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgc3VwcHJpbWVyIGxlcyByw6lmw6lyZW5jZXPCoDogJXMiCkBAIC00MTAxLDM1MiArNTY2OSw0OTIgQEAKIG1zZ3N0ciAic3DDqWNpZmljYXRldXIgZGUgcsOpZmVyZW5jZSBpbnZhbGlkZcKgOiAnJXMnIgogCiAjIMOgIHByaW9yaSBvbiBwYXJsZSBkJ3VuZSBicmFuY2hlIGljaQotIzogcmVmLWZpbHRlci5jOjM5IHd0LXN0YXR1cy5jOjE4NTUKKyM6IHJlZi1maWx0ZXIuYzo0MiB3dC1zdGF0dXMuYzoxOTM4CiBtc2dpZCAiZ29uZSIKIG1zZ3N0ciAiZGlzcGFydWUiCiAKLSM6IHJlZi1maWx0ZXIuYzo0MAorIzogcmVmLWZpbHRlci5jOjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImFoZWFkICVkIgogbXNnc3RyICJlbiBhdmFuY2UgZGUgJWQiCiAKLSM6IHJlZi1maWx0ZXIuYzo0MQorIzogcmVmLWZpbHRlci5jOjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJlaGluZCAlZCIKIG1zZ3N0ciAiZW4gcmV0YXJkIGRlICVkIgogCi0jOiByZWYtZmlsdGVyLmM6NDIKKyM6IHJlZi1maWx0ZXIuYzo0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhaGVhZCAlZCwgYmVoaW5kICVkIgogbXNnc3RyICJlbiBhdmFuY2UgZGUgJWQsIGVuIHJldGFyZCBkZSAlZCIKIAotIzogcmVmLWZpbHRlci5jOjEzOAorIzogcmVmLWZpbHRlci5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGNvbG9yOjxjb2xvcj4pIgogbXNnc3RyICJmb3JtYXQgYXR0ZW5kdcKgOiAlJShjb2xvcjo8Y291bGV1cj4pIgogCi0jOiByZWYtZmlsdGVyLmM6MTQwCisjOiByZWYtZmlsdGVyLmM6MTY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBjb2xvcjogJSUoY29sb3I6JXMpIgogbXNnc3RyICJjb3VsZXVyIG5vbiByZWNvbm51ZSA6ICUlKGNvbG9yOiVzKSIKIAotIzogcmVmLWZpbHRlci5jOjE2MgorIzogcmVmLWZpbHRlci5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnRlZ2VyIHZhbHVlIGV4cGVjdGVkIHJlZm5hbWU6bHN0cmlwPSVzIgogbXNnc3RyICJWYWxldXIgZW50acOocmUgYXR0ZW5kdWUgcmVmbmFtZTpsc3RyaXA9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjYKKyM6IHJlZi1maWx0ZXIuYzoxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW50ZWdlciB2YWx1ZSBleHBlY3RlZCByZWZuYW1lOnJzdHJpcD0lcyIKIG1zZ3N0ciAiVmFsZXVyIGVudGnDqHJlIGF0dGVuZHVlIHJlZm5hbWU6cnN0cmlwPSVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTY4CisjOiByZWYtZmlsdGVyLmM6MTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJSglcykgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJhcmd1bWVudCAlJSglcykgbm9uIHJlY29ubnXCoDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoyMjMKKyM6IHJlZi1maWx0ZXIuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUob2JqZWN0dHlwZSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKG9iamVjdHR5cGUpIG4nYWNjZXB0ZSBwYXMgZCdhcmd1bWVudCIKIAotIzogcmVmLWZpbHRlci5jOjIzNQorIzogcmVmLWZpbHRlci5jOjI3MgogIywgYy1mb3JtYXQKLW1zZ2lkICIlJShvYmplY3RzaXplKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKLW1zZ3N0ciAiJSUob2JqZWN0c2l6ZSkgbidhY2NlcHRlIHBhcyBkJ2FyZ3VtZW50IgorbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RzaXplKSBhcmd1bWVudDogJXMiCittc2dzdHIgImFyZ3VtZW50ICUlKG9iamVjdHNpemUpIG5vbiByZWNvbm51IDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoyNDcKKyM6IHJlZi1maWx0ZXIuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSUoZGVsdGFiYXNlKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKK21zZ3N0ciAiJSUoZGVsdGFiYXNlKSBuJ2FjY2VwdGUgcGFzIGQnYXJndW1lbnQiCisKKyM6IHJlZi1maWx0ZXIuYzoyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUoYm9keSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKGJvZHkpIG4nYWNjZXB0ZSBwYXMgZCdhcmd1bWVudCIKIAotIzogcmVmLWZpbHRlci5jOjI1NgorIzogcmVmLWZpbHRlci5jOjMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlJShzdWJqZWN0KSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKIG1zZ3N0ciAiJSUoc3ViamVjdCkgbidhY2NlcHRlIHBhcyBkJ2FyZ3VtZW50IgogCi0jOiByZWYtZmlsdGVyLmM6Mjc4CisjOiByZWYtZmlsdGVyLmM6MzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gJSUodHJhaWxlcnMpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAiYXJndW1lbnQgJSUodHJhaWxlcnMpIGluY29ubnXCoDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozMDcKKyM6IHJlZi1maWx0ZXIuYzozNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgY29udGVudHM6bGluZXM9JXMiCiBtc2dzdHIgInZhbGV1ciBwb3NpdGl2ZSBhdHRlbmR1ZSBjb250ZW50czpsaW5lcz0lcyIKIAotIzogcmVmLWZpbHRlci5jOjMwOQorIzogcmVmLWZpbHRlci5jOjM1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoY29udGVudHMpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAiYXJndW1lbnQgJSUoY29udGVudHMpIG5vbiByZWNvbm51IDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozMjQKKyM6IHJlZi1maWx0ZXIuYzozNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgb2JqZWN0bmFtZTpzaG9ydD0lcyIKIG1zZ3N0ciAidmFsZXVyIHBvc2l0aXZlIGF0dGVuZHVlIG9iamVjdG5hbWU6c2hvcnQ9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozMjgKKyM6IHJlZi1maWx0ZXIuYzozNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKG9iamVjdG5hbWUpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAiYXJndW1lbnQgJSUob2JqZWN0bmFtZSkgbm9uIHJlY29ubnUgOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjM1OAorIzogcmVmLWZpbHRlci5jOjQwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGFsaWduOjx3aWR0aD4sPHBvc2l0aW9uPikiCiBtc2dzdHIgImZvcm1hdCBhdHRlbmR1wqA6ICUlKGFsaWduOjxsYXJnZXVyPiw8cG9zaXRpb24+KSIKIAotIzogcmVmLWZpbHRlci5jOjM3MAorIzogcmVmLWZpbHRlci5jOjQxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgcG9zaXRpb246JXMiCiBtc2dzdHIgInBvc2l0aW9uIG5vbiByZWNvbm51ZcKgOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjM3NworIzogcmVmLWZpbHRlci5jOjQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgd2lkdGg6JXMiCiBtc2dzdHIgImxhcmdldXIgbm9uIHJlY29ubnVlwqA6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6Mzg2CisjOiByZWYtZmlsdGVyLmM6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShhbGlnbikgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJhcmd1bWVudCAlJShhbGlnbikgbm9uIHJlY29ubnUgOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjM5NAorIzogcmVmLWZpbHRlci5jOjQzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwb3NpdGl2ZSB3aWR0aCBleHBlY3RlZCB3aXRoIHRoZSAlJShhbGlnbikgYXRvbSIKIG1zZ3N0ciAidmFsZXVyIHBvc2l0aXZlIGF0dGVuZHVlIGF2ZWMgbCdhdG9tZSAlJShhbGlnbikiCiAKLSM6IHJlZi1maWx0ZXIuYzo0MTIKKyM6IHJlZi1maWx0ZXIuYzo0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGlmKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgImFyZ3VtZW50ICUlKGlmKSBub24gcmVjb25udcKgOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjUwOAorIzogcmVmLWZpbHRlci5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAibm9tIGRlIGNoYW1wIG1hbGZvcm3DqSAlLipzIgogCi0jOiByZWYtZmlsdGVyLmM6NTM1CisjOiByZWYtZmlsdGVyLmM6NTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAibm9tIGRlIGNoYW1wIGluY29ubnUgOiAlLipzIgogCi0jOiByZWYtZmlsdGVyLmM6NTM5CisjOiByZWYtZmlsdGVyLmM6NTkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgYSBnaXQgcmVwb3NpdG9yeSwgYnV0IHRoZSBmaWVsZCAnJS4qcycgcmVxdWlyZXMgYWNjZXNzIHRvIG9iamVjdCBkYXRhIgogbXNnc3RyICIiCi0icGFzIHVuIGTDqXDDtHQgZ2l0LCBtYWlzIGxlIGNoYW1wICclLipzJyBuw6ljZXNzaXRlIGwnYWNjw6hzIGF1IGRvbm7DqWVzIGQnb2JqZXQiCisicGFzIHVuIGTDqXDDtHQgZ2l0LCBtYWlzIGxlIGNoYW1wICclLipzJyBuw6ljZXNzaXRlIGwnYWNjw6hzIGF1eCBkb25uw6llcyBkJ29iamV0IgogCi0jOiByZWYtZmlsdGVyLmM6NjYzCisjOiByZWYtZmlsdGVyLmM6NzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoaWYpIGF0b20gdXNlZCB3aXRob3V0IGEgJSUodGhlbikgYXRvbSIKIG1zZ3N0ciAiZm9ybWF0wqA6IGF0b21lICUlKGlmKSB1dGlsaXPDqSBzYW5zIHVuIGF0b21lICUlKHRoZW4pIgogCi0jOiByZWYtZmlsdGVyLmM6NzI2CisjOiByZWYtZmlsdGVyLmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIHdpdGhvdXQgYW4gJSUoaWYpIGF0b20iCiBtc2dzdHIgImZvcm1hdMKgOiBhdG9tZSAlJSh0aGVuKSB1dGlsaXPDqSBzYW5zIHVuIGF0b21lICUlKGlmKSIKIAotIzogcmVmLWZpbHRlci5jOjcyOAorIzogcmVmLWZpbHRlci5jOjc3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKIG1zZ3N0ciAiZm9ybWF0wqA6IGF0b21lICUlKHRoZW4pIHV0aWxpc8OpIHBsdXMgZCd1bmUgZm9pcyIKIAotIzogcmVmLWZpbHRlci5jOjczMAorIzogcmVmLWZpbHRlci5jOjc4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCBhZnRlciAlJShlbHNlKSIKIG1zZ3N0ciAiZm9ybWF0OiBhdG9tZSAlJSh0aGVuKSB1dGlsaXPDqSBhcHLDqHMgJSUoZWxzZSkiCiAKLSM6IHJlZi1maWx0ZXIuYzo3NTgKKyM6IHJlZi1maWx0ZXIuYzo4MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKIG1zZ3N0ciAiZm9ybWF0wqA6IGF0b21lICUlKGVsc2UpIHV0aWxpc8OpIHNhbnMgdW4gYXRvbWUgJSUoaWYpIgogCi0jOiByZWYtZmlsdGVyLmM6NzYwCisjOiByZWYtZmlsdGVyLmM6ODExCiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgogbXNnc3RyICJmb3JtYXTCoDogYXRvbWUgJSUoZWxzZSkgdXRpbGlzw6kgc2FucyB1biBhdG9tZSAlJSh0aGVuKSIKIAotIzogcmVmLWZpbHRlci5jOjc2MgorIzogcmVmLWZpbHRlci5jOjgxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKIG1zZ3N0ciAiZm9ybWF0wqA6IGF0b21lICUlKGVsc2UpIHV0aWxpc8OpIHBsdXMgZCd1bmUgZm9pcyIKIAotIzogcmVmLWZpbHRlci5jOjc3NworIzogcmVmLWZpbHRlci5jOjgyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSB1c2VkIHdpdGhvdXQgY29ycmVzcG9uZGluZyBhdG9tIgogbXNnc3RyICJmb3JtYXTCoDogYXRvbWUgJSUoZW5kKSB1dGlsaXPDqSBzYW5zIGF0b21lIGNvcnJlc3BvbmRhbnQiCiAKLSM6IHJlZi1maWx0ZXIuYzo4MzQKKyM6IHJlZi1maWx0ZXIuYzo4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGZvcm1hdCBzdHJpbmcgJXMiCiBtc2dzdHIgIkNoYcOubmUgZGUgZm9ybWF0YWdlIG1hbCBmb3Jtw6llICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTQyNAorIzogcmVmLWZpbHRlci5jOjE0ODgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIgotbXNnc3RyICIoYXVjdW5lIGJyYW5jaGUsIHJlYmFzYWdlIGRlICVzKSIKK21zZ2lkICJubyBicmFuY2gsIHJlYmFzaW5nICVzIgorbXNnc3RyICJhdWN1bmUgYnJhbmNoZSwgcmViYXNhZ2UgZGUgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDI3CisjOiByZWYtZmlsdGVyLmM6MTQ5MQogIywgYy1mb3JtYXQKLW1zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyBkZXRhY2hlZCBIRUFEICVzKSIKLW1zZ3N0ciAiKGF1Y3VuZSBicmFuY2hlLCByZWJhc2FnZSBkZSBsYSBIRUFEIGTDqXRhY2jDqWUgJXMpIgorbXNnaWQgIm5vIGJyYW5jaCwgcmViYXNpbmcgZGV0YWNoZWQgSEVBRCAlcyIKK21zZ3N0ciAiYXVjdW5lIGJyYW5jaGUsIHJlYmFzYWdlIGRlIGxhIEhFQUQgZMOpdGFjaMOpZSAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE0MzAKKyM6IHJlZi1maWx0ZXIuYzoxNDk0CiAjLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKLW1zZ3N0ciAiKGF1Y3VuZSBicmFuY2hlLCBiaXNlY3QgYSBkw6ltYXJyw6kgc3VyICVzKSIKK21zZ2lkICJubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzIgorbXNnc3RyICJhdWN1bmUgYnJhbmNoZSwgYmlzZWN0IGEgZMOpbWFycsOpIHN1ciAlcyIKIAotIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMgIkhFQUQKLSMuIGRldGFjaGVkIGF0ICIgaW4gd3Qtc3RhdHVzLmMKLSMuCi0jOiByZWYtZmlsdGVyLmM6MTQzOAotIywgYy1mb3JtYXQKLW1zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCi1tc2dzdHIgIihIRUFEIGTDqXRhY2jDqWUgc3VyICVzKSIKKyM6IHJlZi1maWx0ZXIuYzoxNTA0Cittc2dpZCAibm8gYnJhbmNoIgorbXNnc3RyICJhdWN1bmUgYnJhbmNoZSIKIAotIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMgIkhFQUQKLSMuIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYwotIy4KLSM6IHJlZi1maWx0ZXIuYzoxNDQ1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgotbXNnc3RyICIoSEVBRCBkw6l0YWNow6llIGRlcHVpcyAlcykiCi0KLSM6IHJlZi1maWx0ZXIuYzoxNDQ5Ci1tc2dpZCAiKG5vIGJyYW5jaCkiCi1tc2dzdHIgIihhdWN1bmUgYnJhbmNoZSkiCi0KLSM6IHJlZi1maWx0ZXIuYzoxNDgzIHJlZi1maWx0ZXIuYzoxNjM4CisjOiByZWYtZmlsdGVyLmM6MTU0MCByZWYtZmlsdGVyLmM6MTc0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIG9iamVjdCAlcyBmb3IgJXMiCiBtc2dzdHIgIm9iamV0IG1hbnF1YW50ICVzIHBvdXIgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDkxCisjOiByZWYtZmlsdGVyLmM6MTU1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXJzZV9vYmplY3RfYnVmZmVyIGZhaWxlZCBvbiAlcyBmb3IgJXMiCi1tc2dzdHIgImVjaGVjIGRlIHBhcnNlX29iamVjdF9idWZmZXIgc3VyICVzIHBvdXIgJXMiCittc2dzdHIgIsOpY2hlYyBkZSBwYXJzZV9vYmplY3RfYnVmZmVyIHN1ciAlcyBwb3VyICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTg1NworIzogcmVmLWZpbHRlci5jOjIwMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBhdCAnJXMnIgogbXNnc3RyICJvYmpldCBtYWxmb3Jtw6kgw6AgJyVzJyIKIAotIzogcmVmLWZpbHRlci5jOjE5NDYKKyM6IHJlZi1maWx0ZXIuYzoyMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHJlZiB3aXRoIGJyb2tlbiBuYW1lICVzIgogbXNnc3RyICJyw6lmIGF2ZWMgdW4gbm9tIGNhc3PDqSAlcyBpZ25vcsOpIgogCi0jOiByZWYtZmlsdGVyLmM6MjIzMgorIzogcmVmLWZpbHRlci5jOjIzODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbmQpIGF0b20gbWlzc2luZyIKIG1zZ3N0ciAiZm9ybWF0OiBhdG9tZSAlJShlbmQpIG1hbnF1YW50IgogCi0jOiByZWYtZmlsdGVyLmM6MjMzOAorIzogcmVmLWZpbHRlci5jOjI0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1tZXJnZWQiCittc2dzdHIgImwnb3B0aW9uIMKrwqAlc8KgwrsgZXN0IGluY29tcGF0aWJsZSBhdmVjIC0tbWVyZ2VkIgorCisjOiByZWYtZmlsdGVyLmM6MjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW5vLW1lcmdlZCIKK21zZ3N0ciAibCdvcHRpb24gwqvCoCVzwqDCuyBlc3QgaW5jb21wYXRpYmxlIGF2ZWMgLS1uby1tZXJnZWQiCisKKyM6IHJlZi1maWx0ZXIuYzoyNTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAibm9tIGQnb2JqZXQgbWFsZm9ybcOpICVzIgogCi0jOiByZW1vdGUuYzo2MDcKKyM6IHJlZi1maWx0ZXIuYzoyNTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIG11c3QgcG9pbnQgdG8gYSBjb21taXQiCittc2dzdHIgImwnb3B0aW9uICclcycgZG9pdCBwb2ludGVyIHN1ciB1biBjb21taXQiCisKKyM6IHJlbW90ZS5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb25maWcgcmVtb3RlIHNob3J0aGFuZCBjYW5ub3QgYmVnaW4gd2l0aCAnLyc6ICVzIgorbXNnc3RyICIiCisidW4gcmFjY291cmNpIGRlIGNvbmZpZ3VyYXRpb24gZGUgZGlzdGFudCBuZSBwZXV0IHBhcyBjb21tZW5jZXIgcGFyICcvJ8KgOiAlcyIKKworIzogcmVtb3RlLmM6NDEzCittc2dpZCAibW9yZSB0aGFuIG9uZSByZWNlaXZlcGFjayBnaXZlbiwgdXNpbmcgdGhlIGZpcnN0IgorbXNnc3RyICJwbHVzIGQndW4gcmVjZWl2ZXBhY2sgZm91cm5pcywgdXRpbGlzYXRpb24gZHUgcHJlbWllciIKKworIzogcmVtb3RlLmM6NDIxCittc2dpZCAibW9yZSB0aGFuIG9uZSB1cGxvYWRwYWNrIGdpdmVuLCB1c2luZyB0aGUgZmlyc3QiCittc2dzdHIgInBsdXMgZCd1biB1cGxvYWRwYWNrIGZvdXJuaXMsIHV0aWxpc2F0aW9uIGR1IHByZW1pZXIiCisKKyM6IHJlbW90ZS5jOjYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZmV0Y2ggYm90aCAlcyBhbmQgJXMgdG8gJXMiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcsOpY3Vww6lyZXIgw6AgbGEgZm9pcyAlcyBldCAlcyBwb3VyICVzIgogCi0jOiByZW1vdGUuYzo2MTEKKyM6IHJlbW90ZS5jOjYxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB1c3VhbGx5IHRyYWNrcyAlcywgbm90ICVzIgogbXNnc3RyICIlcyBzdWl0IGhhYml0dWVsbGVtZW50ICVzLCBwYXMgJXMiCiAKLSM6IHJlbW90ZS5jOjYxNQorIzogcmVtb3RlLmM6NjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHRyYWNrcyBib3RoICVzIGFuZCAlcyIKIG1zZ3N0ciAiJXMgc3VpdCDDoCBsYSBmb2lzICVzIGV0ICVzIgogCi0jOiByZW1vdGUuYzo2MjMKLW1zZ2lkICJJbnRlcm5hbCBlcnJvciIKLW1zZ3N0ciAiRXJyZXVyIGludGVybmUiCisjOiByZW1vdGUuYzo2ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAia2V5ICclcycgb2YgcGF0dGVybiBoYWQgbm8gJyonIgorbXNnc3RyICJsYSBjbMOpICclcycgZHUgbW9kw6hsZSBuJ2EgcGFzIGRlICcqJyIKIAotIzogcmVtb3RlLmM6MTU2OSByZW1vdGUuYzoxNjcwCisjOiByZW1vdGUuYzo2OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidmFsdWUgJyVzJyBvZiBwYXR0ZXJuIGhhcyBubyAnKiciCittc2dzdHIgImxhIHZhbGV1ciAnJXMnIGR1IG1vZMOobGUgbidhIHBhcyBkZSAnKiciCisKKyM6IHJlbW90ZS5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3JjIHJlZnNwZWMgJXMgZG9lcyBub3QgbWF0Y2ggYW55IgorbXNnc3RyICIiCisibGUgc3DDqWNpZmljYXRldXIgZGUgcsOpZsOpcmVuY2Ugc291cmNlICVzIG5lIGNvcnJlc3BvbmQgw6AgYXVjdW5lIHLDqWbDqXJlbmNlIgorCisjOiByZW1vdGUuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgInNyYyByZWZzcGVjICVzIG1hdGNoZXMgbW9yZSB0aGFuIG9uZSIKK21zZ3N0ciAiIgorImxlIHNww6ljaWZpY2F0ZXVyIGRlIHLDqWbDqXJlbmNlIHNvdXJjZSAlcyBjb3JyZXNwb25kIMOgIHBsdXMgZCd1bmUgcsOpZsOpcmVuY2UiCisKKyMuIFRSQU5TTEFUT1JTOiAibWF0Y2hlcyAnJXMnJSIgaXMgdGhlIDxkc3Q+IHBhcnQgb2YgImdpdCBwdXNoCisjLiA8cmVtb3RlPiA8c3JjPjo8ZHN0PiIgcHVzaCwgYW5kICJiZWluZyBwdXNoZWQgKCclcycpIiBpcworIy4gdGhlIDxzcmM+LgorIy4KKyM6IHJlbW90ZS5jOjEwMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZXN0aW5hdGlvbiB5b3UgcHJvdmlkZWQgaXMgbm90IGEgZnVsbCByZWZuYW1lIChpLmUuLFxuIgorInN0YXJ0aW5nIHdpdGggXCJyZWZzL1wiKS4gV2UgdHJpZWQgdG8gZ3Vlc3Mgd2hhdCB5b3UgbWVhbnQgYnk6XG4iCisiXG4iCisiLSBMb29raW5nIGZvciBhIHJlZiB0aGF0IG1hdGNoZXMgJyVzJyBvbiB0aGUgcmVtb3RlIHNpZGUuXG4iCisiLSBDaGVja2luZyBpZiB0aGUgPHNyYz4gYmVpbmcgcHVzaGVkICgnJXMnKVxuIgorIiAgaXMgYSByZWYgaW4gXCJyZWZzL3toZWFkcyx0YWdzfS9cIi4gSWYgc28gd2UgYWRkIGEgY29ycmVzcG9uZGluZ1xuIgorIiAgcmVmcy97aGVhZHMsdGFnc30vIHByZWZpeCBvbiB0aGUgcmVtb3RlIHNpZGUuXG4iCisiXG4iCisiTmVpdGhlciB3b3JrZWQsIHNvIHdlIGdhdmUgdXAuIFlvdSBtdXN0IGZ1bGx5IHF1YWxpZnkgdGhlIHJlZi4iCittc2dzdHIgIiIKKyJMYSBkZXN0aW5hdGlvbiBxdWUgdm91cyBhdmV6IGZvdXJuaWUgbidlc3QgcGFzIHVuIG5vbSBkZSByw6lmw6lyZW5jZSBjb21wbMOodGVcbiIKKyIoYydlc3Qtw6AtZGlyZSBjb21tZW7Dp2FudCBwYXIgXCJyZWYvXCIpLiBFc3NhaSBkJ2FwcHJveGltYXRpb24gcGFywqA6XG4iCisiXG4iCisiLSBSZWNoZXJjaGUgZCd1bmUgcsOpZsOpcmVuY2UgcXVpIGNvcnJlc3BvbmQgw6AgJyVzJyBzdXIgbGUgc2VydmV1ciBkaXN0YW50LlxuIgorIi0gVsOpcmlmaWNhdGlvbiBzaSBsYSA8c291cmNlPiBlbiBjb3VycyBkZSBwb3Vzc8OpZSAoJyVzJylcbiIKKyIgIGVzdCB1bmUgcsOpZsOpcmVuY2UgZGFucyBcInJlZnMve2hlYWRzLHRhZ3N9L1wiLiBTaSBvdWksIGFqb3V0IGR1IHByw6lmaXhlXG4iCisiICByZWZzL3toZWFkcyx0YWdzfS8gY29ycmVzcG9uZGFudCBkdSBjw7R0w6kgZGlzdGFudC5cbiIKKyJcbiIKKyJBdWN1bmUgbidhIGZvbmN0aW9ubsOpLCBkb25jIGFiYW5kb24uIFZldWlsbGV6IHNww6ljaWZpZXIgdW5lIHLDqWbDqXJlbmNlICIKKyJ0b3RhbGVtZW50IHF1YWxpZmnDqWUuIgorCisjOiByZW1vdGUuYzoxMDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIGNvbW1pdCBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL2hlYWRzLyVzJz8iCittc2dzdHIgIiIKKyJsYSBwYXJ0aWUgPHNvdXJjZT4gZHUgc3DDqWNpZmljYXRldXIgZGUgcsOpZsOpcmVuY2UgZXN0IHVuIG9iamV0IGNvbW1pdC5cbiIKKyJTb3VoYWl0aWV6LXZvdXMgY3LDqWVyIHVuZSBub3V2ZWxsZSBicmFuY2hlIGVuIHBvdXNzYW50IHN1clxuIgorIiclczpyZWZzL2hlYWRzLyVzJ8KgPyIKKworIzogcmVtb3RlLmM6MTA0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSB0YWcgb2JqZWN0LlxuIgorIkRpZCB5b3UgbWVhbiB0byBjcmVhdGUgYSBuZXcgdGFnIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy90YWdzLyVzJz8iCittc2dzdHIgIiIKKyJsYSBwYXJ0aWUgPHNvdXJjZT4gZHUgc3DDqWNpZmljYXRldXIgZGUgcsOpZsOpcmVuY2UgZXN0IHVuIG9iamV0IMOpdGlxdWV0dGUuXG4iCisiU291aGFpdGllei12b3VzIGNyw6llciB1bmUgbm91dmVsbGUgw6l0aXF1ZXR0ZSBlbiBwb3Vzc2FudCBzdXJcbiIKKyInJXM6cmVmcy90YWdzLyVzJ8KgPyIKKworIzogcmVtb3RlLmM6MTA1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSB0cmVlIG9iamVjdC5cbiIKKyJEaWQgeW91IG1lYW4gdG8gdGFnIGEgbmV3IHRyZWUgYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL3RhZ3MvJXMnPyIKK21zZ3N0ciAiIgorImxhIHBhcnRpZSA8c291cmNlPiBkdSBzcMOpY2lmaWNhdGV1ciBkZSByw6lmw6lyZW5jZSBlc3QgdW4gb2JqZXQgYXJicmUuXG4iCisiU291aGFpdGllei12b3VzIGNyw6llciB1biBub3V2ZWwgYXJicmUgZW4gcG91c3NhbnQgc3VyXG4iCisiJyVzOnJlZnMvdGFncy8lcyfCoD8iCisKKyM6IHJlbW90ZS5jOjEwNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSA8c3JjPiBwYXJ0IG9mIHRoZSByZWZzcGVjIGlzIGEgYmxvYiBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIHRhZyBhIG5ldyBibG9iIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy90YWdzLyVzJz8iCittc2dzdHIgIiIKKyJsYSBwYXJ0aWUgPHNvdXJjZT4gZHUgc3DDqWNpZmljYXRldXIgZGUgcsOpZsOpcmVuY2UgZXN0IHVuIG9iamV0IGJsb2IuXG4iCisiU291aGFpdGllei12b3VzIGNyw6llciB1biBub3V2ZWF1IGJsb2IgZW4gcG91c3NhbnQgc3VyXG4iCisiJyVzOnJlZnMvdGFncy8lcyfCoD8iCisKKyM6IHJlbW90ZS5jOjEwOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2Fubm90IGJlIHJlc29sdmVkIHRvIGJyYW5jaCIKK21zZ3N0ciAiJyVzJyBuZSBwZXV0IHBhcyDDqnRyZSByw6lzb2x1ZSBjb21tZSB1bmUgYnJhbmNoZSIKKworIzogcmVtb3RlLmM6MTEwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZGVsZXRlICclcyc6IHJlbW90ZSByZWYgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgInN1cHByZXNzaW9uIGQgJyVzJyBpbXBvc3NpYmxlwqA6IGxhIHLDqWbDqXJlbmNlIGRpc3RhbnRlIG4nZXhpc3RlIHBhcyIKKworIzogcmVtb3RlLmM6MTExNworIywgYy1mb3JtYXQKK21zZ2lkICJkc3QgcmVmc3BlYyAlcyBtYXRjaGVzIG1vcmUgdGhhbiBvbmUiCittc2dzdHIgIiIKKyJsZSBzcMOpY2lmaWNhdGV1ciBkZSByw6lmw6lyZW5jZSBkc3QgJXMgY29ycmVzcG9uZCDDoCBwbHVzIGQndW4gc3DDqWNpZmljYXRldXIgZGUgIgorInLDqWbDqXJlbmNlcyIKKworIzogcmVtb3RlLmM6MTEyNAorIywgYy1mb3JtYXQKK21zZ2lkICJkc3QgcmVmICVzIHJlY2VpdmVzIGZyb20gbW9yZSB0aGFuIG9uZSBzcmMiCittc2dzdHIgImxlIHNww6ljaWZpY2F0ZXVyIGRlIHLDqWbDqXJlbmNlIGRzdCAlcyByZcOnb2l0IGRlcHVpcyBwbHVzIGQndW5lIHNvdXJjZSIKKworIzogcmVtb3RlLmM6MTYyNyByZW1vdGUuYzoxNzI4CiBtc2dpZCAiSEVBRCBkb2VzIG5vdCBwb2ludCB0byBhIGJyYW5jaCIKIG1zZ3N0ciAiSEVBRCBuZSBwb2ludGUgcGFzIHN1ciB1bmUgYnJhbmNoZSIKIAotIzogcmVtb3RlLmM6MTU3OAorIzogcmVtb3RlLmM6MTYzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaDogJyVzJyIKIG1zZ3N0ciAicGFzIGRlIGJyYW5jaGUgJyVzJyIKIAotIzogcmVtb3RlLmM6MTU4MQorIzogcmVtb3RlLmM6MTYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiYXVjdW5lIGJyYW5jaGUgYW1vbnQgY29uZmlndXLDqWUgcG91ciBsYSBicmFuY2hlICclcyciCiAKLSM6IHJlbW90ZS5jOjE1ODcKKyM6IHJlbW90ZS5jOjE2NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAidXBzdHJlYW0gYnJhbmNoICclcycgbm90IHN0b3JlZCBhcyBhIHJlbW90ZS10cmFja2luZyBicmFuY2giCiBtc2dzdHIgImxhIGJyYW5jaGUgYW1vbnQgJyVzJyBuJ2VzdCBwYXMgc3RvY2vDqWUgY29tbWUgYnJhbmNoZSBkZSBzdWl2aSIKIAotIzogcmVtb3RlLmM6MTYwMgorIzogcmVtb3RlLmM6MTY2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwdXNoIGRlc3RpbmF0aW9uICclcycgb24gcmVtb3RlICclcycgaGFzIG5vIGxvY2FsIHRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAiIgogImxhIGRlc3RpbmF0aW9uIGRlIHBvdXNzw6llICclcycgc3VyIGxlIHNlcnZldXIgZGlzdGFudCAnJXMnIG4nYSBwYXMgZGUgIgogImJyYW5jaGUgbG9jYWxlIGRlIHN1aXZpIgogCi0jOiByZW1vdGUuYzoxNjE0CisjOiByZW1vdGUuYzoxNjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGhhcyBubyByZW1vdGUgZm9yIHB1c2hpbmciCiBtc2dzdHIgImxhIGJyYW5jaGUgJyVzJyBuJ2EgYXVjdW5lIGJyYW5jaGUgZGlzdGFudGUgZGUgcG91c3PDqWUiCiAKLSM6IHJlbW90ZS5jOjE2MjQKKyM6IHJlbW90ZS5jOjE2ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCByZWZzcGVjcyBmb3IgJyVzJyBkbyBub3QgaW5jbHVkZSAnJXMnIgogbXNnc3RyICJsZXMgcsOpZsOpcmVuY2VzIGRlIHNwZWMgcG91ciAnJXMnIG4naW5jbHVlbnQgcGFzICclcyciCiAKLSM6IHJlbW90ZS5jOjE2MzcKKyM6IHJlbW90ZS5jOjE2OTUKIG1zZ2lkICJwdXNoIGhhcyBubyBkZXN0aW5hdGlvbiAocHVzaC5kZWZhdWx0IGlzICdub3RoaW5nJykiCiBtc2dzdHIgImxhIHBvdXNzw6llIG4nYSBwYXMgZGUgZGVzdGluYXRpb24gKHB1c2guZGVmYXVsdCB2YXV0ICdub3RoaW5nJykiCiAKLSM6IHJlbW90ZS5jOjE2NTkKKyM6IHJlbW90ZS5jOjE3MTcKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSAnc2ltcGxlJyBwdXNoIHRvIGEgc2luZ2xlIGRlc3RpbmF0aW9uIgogbXNnc3RyICIiCiAiaW1wb3NzaWJsZSBkZSByw6lzb3VkcmUgdW5lIHBvdXNzw6llICdzaW1wbGUnIHBvdXIgdW5lIGRlc3RpbmF0aW9uIHVuaXF1ZSIKIAotIzogcmVtb3RlLmM6MTkzNQorIzogcmVtb3RlLmM6MTg0MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgdHJvdXZlciBsYSByw6lmw6lyZW5jZSBkaXN0YW50ZSAlcyIKKworIzogcmVtb3RlLmM6MTg1NgorIywgYy1mb3JtYXQKK21zZ2lkICIqIElnbm9yaW5nIGZ1bm55IHJlZiAnJXMnIGxvY2FsbHkiCittc2dzdHIgIiogUsOpZsOpcmVuY2UgYml6YXJyZSAnJXMnIGlnbm9yw6llIGxvY2FsZW1lbnQiCisKKyM6IHJlbW90ZS5jOjIwMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgogbXNnc3RyICJWb3RyZSBicmFuY2hlIGVzdCBiYXPDqWUgc3VyICclcycsIG1haXMgbGEgYnJhbmNoZSBhbW9udCBhIGRpc3BhcnUuXG4iCiAKLSM6IHJlbW90ZS5jOjE5MzkKKyM6IHJlbW90ZS5jOjIwMjMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiBwb3VyIGNvcnJpZ2VyKVxuIgogCi0jOiByZW1vdGUuYzoxOTQyCisjOiByZW1vdGUuYzoyMDI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIHVwIHRvIGRhdGUgd2l0aCAnJXMnLlxuIgogbXNnc3RyICJWb3RyZSBicmFuY2hlIGVzdCDDoCBqb3VyIGF2ZWMgJyVzJy5cbiIKIAotIzogcmVtb3RlLmM6MTk0NgorIzogcmVtb3RlLmM6MjAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBhbmQgJyVzJyByZWZlciB0byBkaWZmZXJlbnQgY29tbWl0cy5cbiIKIG1zZ3N0ciAiVm90cmUgYnJhbmNoZSBldCAnJXMnIGZvbnQgcsOpZsOpcmVuY2Ugw6AgZGVzIGNvbW1pdHMgZGlmZsOpcmVudHMuXG4iCiAKLSM6IHJlbW90ZS5jOjE5NDkKKyM6IHJlbW90ZS5jOjIwMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiJXNcIiBmb3IgZGV0YWlscylcbiIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCIlc1wiIHBvdXIgcGx1cyBkZSBkw6l0YWlscylcbiIKIAotIzogcmVtb3RlLmM6MTk1MworIzogcmVtb3RlLmM6MjAzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdC5cbiIKIG1zZ2lkX3BsdXJhbCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXRzLlxuIgogbXNnc3RyWzBdICJWb3RyZSBicmFuY2hlIGVzdCBlbiBhdmFuY2Ugc3VyICclcycgZGUgJWQgY29tbWl0LlxuIgogbXNnc3RyWzFdICJWb3RyZSBicmFuY2hlIGVzdCBlbiBhdmFuY2Ugc3VyICclcycgZGUgJWQgY29tbWl0cy5cbiIKIAotIzogcmVtb3RlLmM6MTk1OQorIzogcmVtb3RlLmM6MjA0MwogbXNnaWQgIiAgKHVzZSBcImdpdCBwdXNoXCIgdG8gcHVibGlzaCB5b3VyIGxvY2FsIGNvbW1pdHMpXG4iCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IHB1c2hcIiBwb3VyIHB1YmxpZXIgdm9zIGNvbW1pdHMgbG9jYXV4KVxuIgogCi0jOiByZW1vdGUuYzoxOTYyCisjOiByZW1vdGUuYzoyMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdCwgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKIG1zZ2lkX3BsdXJhbCAiIgpAQCAtNDQ1OCwxMSArNjE2NiwxMSBAQAogIlZvdHJlIGJyYW5jaGUgZXN0IGVuIHJldGFyZCBzdXIgJyVzJyBkZSAlZCBjb21taXRzLCBldCBwZXV0IMOqdHJlIG1pc2Ugw6Agam91ciAiCiAiZW4gYXZhbmNlIHJhcGlkZS5cbiIKIAotIzogcmVtb3RlLmM6MTk3MAorIzogcmVtb3RlLmM6MjA1NAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBwdWxsXCIgcG91ciBtZXR0cmUgw6Agam91ciB2b3RyZSBicmFuY2hlIGxvY2FsZSlcbiIKIAotIzogcmVtb3RlLmM6MTk3MworIzogcmVtb3RlLmM6MjA1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKQEAgLTQ0NzcsMTEgKzYxODUsMTYgQEAKICJWb3RyZSBicmFuY2hlIGV0ICclcycgb250IGRpdmVyZ8OpLFxuIgogImV0IG9udCAlZCBldCAlZCBjb21taXRzIGRpZmbDqXJlbnRzIGNoYWN1bmUgcmVzcGVjdGl2ZW1lbnQuXG4iCiAKLSM6IHJlbW90ZS5jOjE5ODMKKyM6IHJlbW90ZS5jOjIwNjcKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iCiBtc2dzdHIgIiIKICIgICh1dGlsaXNleiBcImdpdCBwdWxsXCIgcG91ciBmdXNpb25uZXIgbGEgYnJhbmNoZSBkaXN0YW50ZSBkYW5zIGxhIHbDtHRyZSlcbiIKIAorIzogcmVtb3RlLmM6MjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcGFyc2UgZXhwZWN0ZWQgb2JqZWN0IG5hbWUgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIG5vbSBhdHRlbmR1IGQnb2JqZXQgJyVzJyIKKwogIzogcmVwbGFjZS1vYmplY3QuYzoyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwbGFjZSByZWYgbmFtZTogJXMiCkBAIC00NTA1LDExICs2MjE4LDYgQEAKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcmVyZXJlIHJlY29yZCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbCdlbnJlZ2lzdHJlbWVudCByZXJlcmUiCiAKLSM6IHJlcmVyZS5jOjQ4NSByZXJlcmUuYzo2OTIgc2VxdWVuY2VyLmM6MzEzNiBzZXF1ZW5jZXIuYzozMTYyCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCB3cml0ZSAnJXMnIgotbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSAnJXMnIgotCiAjOiByZXJlcmUuYzo0OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlcmUgd2VyZSBlcnJvcnMgd2hpbGUgd3JpdGluZyAnJXMnICglcykiCkBAIC00NTYwLDggKzYyNjgsOCBAQAogbXNnaWQgIlJlY29yZGVkIHByZWltYWdlIGZvciAnJXMnIgogbXNnc3RyICJQcsOpLWltYWdlIGVucmVnaXN0csOpZSBwb3VyICclcyciCiAKLSM6IHJlcmVyZS5jOjg4MSBzdWJtb2R1bGUuYzoxNzYzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDEzCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQyMworIzogcmVyZXJlLmM6ODgxIHN1Ym1vZHVsZS5jOjIwNjcgYnVpbHRpbi9sb2cuYzoxODcxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQzNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciBsZSByw6lwZXJ0b2lyZSAnJXMnIgpAQCAtNDU5NSwyOSArNjMwMywzMyBAQAogbXNnaWQgInVuYWJsZSB0byBvcGVuIHJyLWNhY2hlIGRpcmVjdG9yeSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciBsZSByw6lwZXJ0b2lyZSByci1jYWNoZSIKIAotIzogcmV2aXNpb24uYzoyMzI0CisjOiByZXZpc2lvbi5jOjI0OTcKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoIGFwcGVhcnMgdG8gYmUgYnJva2VuIgogbXNnc3RyICJ2b3RyZSBicmFuY2hlIGFjdHVlbGxlIHNlbWJsZSBjYXNzw6llIgogCi0jOiByZXZpc2lvbi5jOjIzMjcKKyM6IHJldmlzaW9uLmM6MjUwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoICclcycgZG9lcyBub3QgaGF2ZSBhbnkgY29tbWl0cyB5ZXQiCiBtc2dzdHIgInZvdHJlIGJyYW5jaGUgYWN0dWVsbGUgJyVzJyBuZSBjb250aWVudCBlbmNvcmUgYXVjdW4gY29tbWl0IgogCi0jOiByZXZpc2lvbi5jOjI1MjMKKyM6IHJldmlzaW9uLmM6MjcwOAogbXNnaWQgIi0tZmlyc3QtcGFyZW50IGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYmlzZWN0IgogbXNnc3RyICItLWZpcnN0LXBhcmVudCBlc3QgaW5jb21wYXRpYmxlIGF2ZWMgLS1iaXNlY3QiCiAKLSM6IHJ1bi1jb21tYW5kLmM6NzQwCisjOiByZXZpc2lvbi5jOjI3MTIKK21zZ2lkICItTCBkb2VzIG5vdCB5ZXQgc3VwcG9ydCBkaWZmIGZvcm1hdHMgYmVzaWRlcyAtcCBhbmQgLXMiCittc2dzdHIgIi1MIG5lIHN1cHBvcnRlIHBhcyBlbmNvcmUgbGVzIGZvcm1hdHMgZGUgZGlmZiBhdXRyZXMgcXVlIC1wIGV0IC1zIgorCisjOiBydW4tY29tbWFuZC5jOjc2MgogbXNnaWQgIm9wZW4gL2Rldi9udWxsIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGwnb3V2ZXJ0dXJlIGRlIC9kZXYvbnVsbCIKIAotIzogcnVuLWNvbW1hbmQuYzoxMjI5CisjOiBydW4tY29tbWFuZC5jOjEyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBhc3luYyB0aHJlYWQ6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciB1biBmaWwgYXN5bmNocm9uZSA6ICVzIgogCi0jOiBydW4tY29tbWFuZC5jOjEyOTMKKyM6IHJ1bi1jb21tYW5kLmM6MTMzMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlICclcycgaG9vayB3YXMgaWdub3JlZCBiZWNhdXNlIGl0J3Mgbm90IHNldCBhcyBleGVjdXRhYmxlLlxuIgpAQCAtNDYyNywzMSArNjMzOSwzMSBAQAogIlZvdXMgcG91dmV6IGTDqXNhY3RpdmVyIGNldCBhdmVydGlzc2VtZW50IGF2ZWMgYGdpdCBjb25maWcgYWR2aWNlLmlnbm9yZWRIb29rICIKICJmYWxzZWAuIgogCi0jOiBzZW5kLXBhY2suYzoxNDIKKyM6IHNlbmQtcGFjay5jOjE0NAogbXNnaWQgInVuZXhwZWN0ZWQgZmx1c2ggcGFja2V0IHdoaWxlIHJlYWRpbmcgcmVtb3RlIHVucGFjayBzdGF0dXMiCiBtc2dzdHIgIiIKICJwYXF1ZXQgZGUgbmV0dG95YWdlIGluYXR0ZW5kdSBwZW5kYW50IGxhIGxlY3R1cmUgZGUgbCfDqXRhdCBkZSBkw6lwYXF1ZXRhZ2UgIgogImRpc3RhbnQiCiAKLSM6IHNlbmQtcGFjay5jOjE0NAorIzogc2VuZC1wYWNrLmM6MTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSByZW1vdGUgdW5wYWNrIHN0YXR1czogJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsJ8OpdGF0IGRlIGTDqXBhcXVldGFnZSBkaXN0YW50wqA6ICVzIgogCi0jOiBzZW5kLXBhY2suYzoxNDYKKyM6IHNlbmQtcGFjay5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUgdW5wYWNrIGZhaWxlZDogJXMiCiBtc2dzdHIgImxlIGTDqXBhcXVldGFnZSBhIMOpY2hvdcOpwqA6ICVzIgogCi0jOiBzZW5kLXBhY2suYzozMDgKKyM6IHNlbmQtcGFjay5jOjMwOQogbXNnaWQgImZhaWxlZCB0byBzaWduIHRoZSBwdXNoIGNlcnRpZmljYXRlIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHNpZ25lciBsZSBjZXJ0aWZpY2F0IGRlIHBvdXNzw6llIgogCi0jOiBzZW5kLXBhY2suYzo0MjEKKyM6IHNlbmQtcGFjay5jOjQyMwogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQgcHVzaCIKIG1zZ3N0ciAiTGUgcmVjZXZldXIgbmUgZ8OocmUgcGFzIGxlcyBwb3Vzc8OpZXMgYXZlYyAtLXNpZ25lZCIKIAotIzogc2VuZC1wYWNrLmM6NDIzCisjOiBzZW5kLXBhY2suYzo0MjUKIG1zZ2lkICIiCiAibm90IHNlbmRpbmcgYSBwdXNoIGNlcnRpZmljYXRlIHNpbmNlIHRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS0iCiAic2lnbmVkIHB1c2giCkBAIC00NjU5LDQyICs2MzcxLDQ3IEBACiAicGFzIGQnZW52b2kgZGUgY2VydGlmaWNhdCBkZSBwb3Vzc8OpZSBjYXIgbGUgcmVjZXZldXIgbmUgZ8OocmUgcGFzIGxlcyAiCiAicG91c3PDqWVzIGF2ZWMgLS1zaWduZWQiCiAKLSM6IHNlbmQtcGFjay5jOjQzNQorIzogc2VuZC1wYWNrLmM6NDM3CiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLWF0b21pYyBwdXNoIgogbXNnc3RyICJMZSByZWNldmV1ciBuZSBnw6hyZSBwYXMgbGVzIHBvdXNzw6llcyBhdmVjIC0tYXRvbWljIgogCi0jOiBzZW5kLXBhY2suYzo0NDAKKyM6IHNlbmQtcGFjay5jOjQ0MgogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgcHVzaCBvcHRpb25zIgogbXNnc3RyICJMZSByZWNldmV1ciBuZSBnw6hyZSBwYXMgbGVzIG9wdGlvbnMgZGUgcG91c3PDqWVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxODMKKyM6IHNlcXVlbmNlci5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbW1pdCBtZXNzYWdlIGNsZWFudXAgbW9kZSAnJXMnIgogbXNnc3RyICJtb2RlIGRlIG5ldHRveWFnZSBpbnZhbGlkZSBkZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6Mjg3CisjOiBzZXF1ZW5jZXIuYzoyOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHN1cHByaW1lciAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzozMTMKKyM6IHNlcXVlbmNlci5jOjMxMyBidWlsdGluL3JlYmFzZS5jOjc4MSBidWlsdGluL3JlYmFzZS5jOjE3MDYgYnVpbHRpbi9ybS5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVtb3ZlICclcyciCittc2dzdHIgImltcG9zc2libGUgZGUgc3VwcHJpbWVyICclcyciCisKKyM6IHNlcXVlbmNlci5jOjMyMwogbXNnaWQgInJldmVydCIKIG1zZ3N0ciAicmV2ZXJ0IgogCi0jOiBzZXF1ZW5jZXIuYzozMTUKKyM6IHNlcXVlbmNlci5jOjMyNQogbXNnaWQgImNoZXJyeS1waWNrIgogbXNnc3RyICJjaGVycnktcGljayIKIAotIzogc2VxdWVuY2VyLmM6MzE3CisjOiBzZXF1ZW5jZXIuYzozMjcKIG1zZ2lkICJyZWJhc2UgLWkiCiBtc2dzdHIgInJlYmFzZSAtaSIKIAotIzogc2VxdWVuY2VyLmM6MzE5CisjOiBzZXF1ZW5jZXIuYzozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBhY3Rpb246ICVkIgogbXNnc3RyICJhY3Rpb24gaW5jb25udWXCoDogJWQiCiAKLSM6IHNlcXVlbmNlci5jOjM3NgorIzogc2VxdWVuY2VyLmM6Mzg3CiBtc2dpZCAiIgogImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKICJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPiciCkBAIC00NzAyLDcgKzY0MTksNyBAQAogImFwcsOocyByw6lzb2x1dGlvbiBkZXMgY29uZmxpdHMsIG1hcnF1ZXogbGVzIGNoZW1pbnMgY29ycmlnw6lzXG4iCiAiYXZlYyAnZ2l0IGFkZCA8Y2hlbWlucz4nIG91ICdnaXQgcm0gPGNoZW1pbnM+JyIKIAotIzogc2VxdWVuY2VyLmM6Mzc5CisjOiBzZXF1ZW5jZXIuYzozOTAKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+J1xuIgpAQCAtNDcxMiwxMTAgKzY0MjksMTE0IEBACiAiYXZlYyAnZ2l0IGFkZCA8Y2hlbWlucz4nIG91ICdnaXQgcm0gPGNoZW1pbnM+J1xuIgogInB1aXMgdmFsaWRleiBsZSByw6lzdWx0YXQgYXZlYyAnZ2l0IGNvbW1pdCciCiAKLSM6IHNlcXVlbmNlci5jOjM5MiBzZXF1ZW5jZXIuYzoyNjMyCisjOiBzZXF1ZW5jZXIuYzo0MDMgc2VxdWVuY2VyLmM6Mjk5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9jayAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHZlcnJvdWlsbGVyICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjM5OQorIzogc2VxdWVuY2VyLmM6NDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBlb2wgdG8gJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGEgZmluIGRlIGxpZ25lIGRhbnMgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6NDA0IHNlcXVlbmNlci5jOjI1MTUgc2VxdWVuY2VyLmM6MjYzOCBzZXF1ZW5jZXIuYzoyNjUyCi0jOiBzZXF1ZW5jZXIuYzoyODg1CisjOiBzZXF1ZW5jZXIuYzo0MTUgc2VxdWVuY2VyLmM6Mjc5OCBzZXF1ZW5jZXIuYzoyOTk5IHNlcXVlbmNlci5jOjMwMTMKKyM6IHNlcXVlbmNlci5jOjMyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplICclcyciCiBtc2dzdHIgIsOpY2hlYyBsb3JzIGRlIGxhIGZpbmFsaXNhdGlvbiBkZSAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzo0Mjcgc2VxdWVuY2VyLmM6OTIxIHNlcXVlbmNlci5jOjE1OTQgc2VxdWVuY2VyLmM6MjUzNQotIzogc2VxdWVuY2VyLmM6Mjg2NyBzZXF1ZW5jZXIuYzoyOTc0IGJ1aWx0aW4vYW0uYzoyNjAgYnVpbHRpbi9jb21taXQuYzo3NDYKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDg0IGJ1aWx0aW4vcmViYXNlLmM6MTUyCisjOiBzZXF1ZW5jZXIuYzo0Mzggc2VxdWVuY2VyLmM6MTcwNyBzZXF1ZW5jZXIuYzoyODE4IHNlcXVlbmNlci5jOjMyNTkKKyM6IHNlcXVlbmNlci5jOjMzNjggYnVpbHRpbi9hbS5jOjI0NCBidWlsdGluL2NvbW1pdC5jOjc4MyBidWlsdGluL21lcmdlLmM6MTExNworIzogYnVpbHRpbi9yZWJhc2UuYzo1ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjQ1MworIzogc2VxdWVuY2VyLmM6NDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInlvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlcy4iCiBtc2dzdHIgInZvcyBtb2RpZmljYXRpb25zIGxvY2FsZXMgc2VyYWllbnQgw6ljcmFzw6llcyBwYXIgJXMuIgogCi0jOiBzZXF1ZW5jZXIuYzo0NTcKKyM6IHNlcXVlbmNlci5jOjQ2OAogbXNnaWQgImNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkLiIKIG1zZ3N0ciAidmFsaWRleiB2b3MgbW9kaWZpY2F0aW9ucyBvdSBsZXMgcmVtaXNlciBwb3VyIGNvbnRpbnVlci4iCiAKLSM6IHNlcXVlbmNlci5jOjQ4NgorIzogc2VxdWVuY2VyLmM6NTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmYXN0LWZvcndhcmQiCiBtc2dzdHIgIiVzwqA6IGF2YW5jZSByYXBpZGUiCiAKKyM6IHNlcXVlbmNlci5jOjUzOSBidWlsdGluL3RhZy5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGNsZWFudXAgbW9kZSAlcyIKK21zZ3N0ciAiTW9kZSBkZSBuZXR0b3lhZ2UgaW52YWxpZGUgJXMiCisKICMuIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiLCAiY2hlcnJ5LXBpY2siIG9yCiAjLiAicmViYXNlIC1pIi4KICMuCi0jOiBzZXF1ZW5jZXIuYzo1NzUKKyM6IHNlcXVlbmNlci5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIlczogSW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgbm91dmVhdSBmaWNoaWVyIGluZGV4IgogCi0jOiBzZXF1ZW5jZXIuYzo1OTEKKyM6IHNlcXVlbmNlci5jOjY1MAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBtZXR0cmUgw6Agam91ciBsJ2FyYnJlIGRlIGNhY2hlIgogCi0jOiBzZXF1ZW5jZXIuYzo2MDQKKyM6IHNlcXVlbmNlci5jOjY2NAogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0IgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHLDqXNvdWRyZSBsZSBjb21taXQgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6Njg0CisjOiBzZXF1ZW5jZXIuYzo3NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8ga2V5IHByZXNlbnQgaW4gJyUuKnMnIgogbXNnc3RyICJhdWN1bmUgY2zDqSBwcsOpc2VudGUgZGFucyAnJS4qcyciCiAKLSM6IHNlcXVlbmNlci5jOjY5NQorIzogc2VxdWVuY2VyLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZXF1b3RlIHZhbHVlIG9mICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZMOpY290ZXIgbGEgdmFsZXVyIGRlICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjczMiB3cmFwcGVyLmM6MjI3IHdyYXBwZXIuYzozOTcgYnVpbHRpbi9hbS5jOjcxOQotIzogYnVpbHRpbi9hbS5jOjgxMSBidWlsdGluL21lcmdlLmM6MTA4MQorIzogc2VxdWVuY2VyLmM6NzkyIHdyYXBwZXIuYzoxOTAgd3JhcHBlci5jOjM2MCBidWlsdGluL2FtLmM6NzA1CisjOiBidWlsdGluL2FtLmM6Nzk3IGJ1aWx0aW4vbWVyZ2UuYzoxMTE0IGJ1aWx0aW4vcmViYXNlLmM6MTA3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyICclcycgZW4gbGVjdHVyZSIKIAotIzogc2VxdWVuY2VyLmM6NzQyCisjOiBzZXF1ZW5jZXIuYzo4MDIKIG1zZ2lkICInR0lUX0FVVEhPUl9OQU1FJyBhbHJlYWR5IGdpdmVuIgogbXNnc3RyICInR0lUX0FVVEhPUl9OQU1FJyBkw6lqw6AgZm91cm5pIgogCi0jOiBzZXF1ZW5jZXIuYzo3NDcKKyM6IHNlcXVlbmNlci5jOjgwNwogbXNnaWQgIidHSVRfQVVUSE9SX0VNQUlMJyBhbHJlYWR5IGdpdmVuIgogbXNnc3RyICInR0lUX0FVVEhPUl9FTUFJTCcgZMOpasOgIGZvdXJuaSIKIAotIzogc2VxdWVuY2VyLmM6NzUyCisjOiBzZXF1ZW5jZXIuYzo4MTIKIG1zZ2lkICInR0lUX0FVVEhPUl9EQVRFJyBhbHJlYWR5IGdpdmVuIgogbXNnc3RyICInR0lUX0FVVEhPUl9EQVRFJyBkw6lqw6AgZm91cm5pIgogCi0jOiBzZXF1ZW5jZXIuYzo3NTYKKyM6IHNlcXVlbmNlci5jOjgxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHZhcmlhYmxlICclcyciCiBtc2dzdHIgInZhcmlhYmxlIGluY29ubnVlICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjc2MQorIzogc2VxdWVuY2VyLmM6ODIxCiBtc2dpZCAibWlzc2luZyAnR0lUX0FVVEhPUl9OQU1FJyIKIG1zZ3N0ciAiJ0dJVF9BVVRIT1JfTkFNRScgbWFucXVhbnQiCiAKLSM6IHNlcXVlbmNlci5jOjc2MworIzogc2VxdWVuY2VyLmM6ODIzCiBtc2dpZCAibWlzc2luZyAnR0lUX0FVVEhPUl9FTUFJTCciCiBtc2dzdHIgIidHSVRfQVVUSE9SX0VNQUlMJyBtYW5xdWFudCIKIAotIzogc2VxdWVuY2VyLmM6NzY1CisjOiBzZXF1ZW5jZXIuYzo4MjUKIG1zZ2lkICJtaXNzaW5nICdHSVRfQVVUSE9SX0RBVEUnIgogbXNnc3RyICInR0lUX0FVVEhPUl9EQVRFJyBtYW5xdWFudCIKIAotIzogc2VxdWVuY2VyLmM6ODI1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgZGF0ZSBmb3JtYXQgJyVzJyBpbiAnJXMnIgotbXNnc3RyICJmb3JtYXQgZGUgZGF0ZSBpbnZhbGlkZSAnJXMnIGRhbnMgJyVzJyIKKyM6IHNlcXVlbmNlci5jOjkwMiBzZXF1ZW5jZXIuYzoxNDI3Cittc2dpZCAibWFsZm9ybWVkIGlkZW50IGxpbmUiCittc2dzdHIgImxpZ25lIGQnaWRlbnRpZmljYXRpb24gbWFsZm9ybcOpZSIKIAotIzogc2VxdWVuY2VyLmM6ODQyCisjOiBzZXF1ZW5jZXIuYzo5MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInlvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlXG4iCkBAIC00ODQ0LDE1ICs2NTY1LDExIEBACiAiXG4iCiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIAotIzogc2VxdWVuY2VyLmM6OTM1Ci1tc2dpZCAid3JpdGluZyByb290IGNvbW1pdCIKLW1zZ3N0ciAiw6ljcml0dXJlIGR1IGNvbW1pdCByYWNpbmUiCi0KLSM6IHNlcXVlbmNlci5jOjExNDIKKyM6IHNlcXVlbmNlci5jOjEyMTgKIG1zZ2lkICIncHJlcGFyZS1jb21taXQtbXNnJyBob29rIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGR1IGNyb2NoZXQgJ3ByZXBhcmUtY29tbWl0LW1zZyciCiAKLSM6IHNlcXVlbmNlci5jOjExNDkKKyM6IHNlcXVlbmNlci5jOjEyMjQKIG1zZ2lkICIiCiAiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCiAib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgpAQCAtNDg3MSw3ICs2NTg4LDggQEAKICJmb25kYW50IHN1ciB2b3RyZSBub20gZCd1dGlsaXNhdGV1ciBldCBsZSBub20gZGUgdm90cmUgbWFjaGluZS4gVmV1aWxsZXogXG4iCiAidsOpcmlmaWVyIHF1J2lscyBzb250IGNvcnJlY3RzLiBWb3VzIHBvdXZleiBzdXBwcmltZXIgY2UgbWVzc2FnZSBlbiBsZXMgXG4iCiAicGFyYW3DqXRyYW50IGV4cGxpY2l0ZW1lbnQuIExhbmNleiBsZXMgY29tbWFuZGVzIHN1aXZhbnRlcyBldCBzdWl2ZXogbGVzXG4iCi0iaW5zdHJ1Y3Rpb24gZGFucyB2b3RyZSDDqWRpdGV1ciBwb3VyIMOpZGl0ZXIgdm90cmUgZmljaGllciBkZSBjb25maWd1cmF0aW9uwqA6XG4iCisiaW5zdHJ1Y3Rpb25zIGRhbnMgdm90cmUgw6lkaXRldXIgcG91ciDDqWRpdGVyIHZvdHJlIGZpY2hpZXIgZGUgIgorImNvbmZpZ3VyYXRpb27CoDpcbiIKICJcbiIKICIgICAgZ2l0IGNvbmZpZyAtLWdsb2JhbCAtLWVkaXRcbiIKICJcbiIKQEAgLTQ4ODAsNyArNjU5OCw3IEBACiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTYyCisjOiBzZXF1ZW5jZXIuYzoxMjM3CiBtc2dpZCAiIgogIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgogIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKQEAgLTQ5MDYsMzAyICs2NjI0LDM1MyBAQAogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogc2VxdWVuY2VyLmM6MTIwMgorIzogc2VxdWVuY2VyLmM6MTI3OQogbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgImltcG9zc2libGUgZGUgcmV0cm91dmVyIGxlIGNvbW1pdCBub3V2ZWxsZW1lbnQgY3LDqcOpIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjA0CisjOiBzZXF1ZW5jZXIuYzoxMjgxCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgY29tbWl0IG5vdXZlbGxlbWVudCBjcsOpw6kiCiAKLSM6IHNlcXVlbmNlci5jOjEyNTAKKyM6IHNlcXVlbmNlci5jOjEzMjcKIG1zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSBIRUFEIGFmdGVyIGNyZWF0aW5nIGNvbW1pdCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSByw6lzb3VkcmUgSEVBRCBhcHLDqHMgY3LDqWF0aW9uIGR1IGNvbW1pdCIKIAotIzogc2VxdWVuY2VyLmM6MTI1MgorIzogc2VxdWVuY2VyLmM6MTMyOQogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIkhFQUQgZMOpdGFjaMOpZSIKIAotIzogc2VxdWVuY2VyLmM6MTI1NgorIzogc2VxdWVuY2VyLmM6MTMzMwogbXNnaWQgIiAocm9vdC1jb21taXQpIgogbXNnc3RyICIgKGNvbW1pdCByYWNpbmUpIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjc3CisjOiBzZXF1ZW5jZXIuYzoxMzU0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjc5CisjOiBzZXF1ZW5jZXIuYzoxMzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiSEVBRCAlcyBuJ2VzdCBwYXMgdW4gY29tbWl0ICEiCiAKLSM6IHNlcXVlbmNlci5jOjEyODMgYnVpbHRpbi9jb21taXQuYzoxNTQzCisjOiBzZXF1ZW5jZXIuYzoxMzYwIHNlcXVlbmNlci5jOjE0NTggYnVpbHRpbi9jb21taXQuYzoxNTY5CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQgY29tbWl0IgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgY29tbWl0IEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjEzMzQgc2VxdWVuY2VyLmM6MTkzNAorIzogc2VxdWVuY2VyLmM6MTQxMSBzZXF1ZW5jZXIuYzoyMDU1CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCBhdXRob3IiCiBtc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsJ2F1dGV1ciBkdSBjb21taXQiCiAKLSM6IHNlcXVlbmNlci5jOjEzNDQgYnVpbHRpbi9hbS5jOjE1ODUgYnVpbHRpbi9tZXJnZS5jOjY3NworIzogc2VxdWVuY2VyLmM6MTQzMQorbXNnaWQgImNvcnJ1cHRlZCBhdXRob3Igd2l0aG91dCBkYXRlIGluZm9ybWF0aW9uIgorbXNnc3RyICJsaWduZSBhdXRob3IgY29ycm9tcHVlIHNhbnMgaW5mb3JtYXRpb24gZGUgZGF0ZSIKKworIzogc2VxdWVuY2VyLmM6MTQ0NyBidWlsdGluL2FtLmM6MTU2MSBidWlsdGluL21lcmdlLmM6Njg0CiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIKIG1zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUgYSDDqWNob3XDqSDDoCDDqWNyaXJlIHVuIGFyYnJlIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzYxIHNlcXVlbmNlci5jOjE0MTYKKyM6IHNlcXVlbmNlci5jOjE0ODAgc2VxdWVuY2VyLmM6MTU1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBjb21taXQgbWVzc2FnZSBmcm9tICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gZGUgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MTM4MyBidWlsdGluL2FtLmM6MTYwNiBidWlsdGluL2NvbW1pdC5jOjE2NDYgYnVpbHRpbi9tZXJnZS5jOjg1OAotIzogYnVpbHRpbi9tZXJnZS5jOjg4MworIzogc2VxdWVuY2VyLmM6MTUxNiBidWlsdGluL2FtLmM6MTU4MyBidWlsdGluL2NvbW1pdC5jOjE2NjggYnVpbHRpbi9tZXJnZS5jOjg4MworIzogYnVpbHRpbi9tZXJnZS5jOjkwOAogbXNnaWQgImZhaWxlZCB0byB3cml0ZSBjb21taXQgb2JqZWN0IgogbXNnc3RyICLDqWNoZWMgZGUgbCfDqWNyaXR1cmUgZGUgbCdvYmpldCBjb21taXQiCiAKLSM6IHNlcXVlbmNlci5jOjE0NDMKKyM6IHNlcXVlbmNlci5jOjE1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGNvbW1pdCAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTQ0OAorIzogc2VxdWVuY2VyLmM6MTU4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGNvbW1pdCBwYXJlbnQgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjE1NDYgc2VxdWVuY2VyLmM6MTY1NAorIzogc2VxdWVuY2VyLmM6MTY1NiBzZXF1ZW5jZXIuYzoxNzY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gY29tbWFuZDogJWQiCiBtc2dzdHIgImNvbW1hbmRlIGluY29ubnVlwqA6ICVkIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjAxIHNlcXVlbmNlci5jOjE2MjYKKyM6IHNlcXVlbmNlci5jOjE3MTQgc2VxdWVuY2VyLmM6MTczOQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJWQgY29tbWl0cy4iCiBtc2dzdHIgIkNlY2kgZXN0IGxhIGNvbWJpbmFpc29uIGRlICVkIGNvbW1pdHMuIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjExIHNlcXVlbmNlci5jOjQ3NDQKKyM6IHNlcXVlbmNlci5jOjE3MjQKIG1zZ2lkICJuZWVkIGEgSEVBRCB0byBmaXh1cCIKIG1zZ3N0ciAidW5lIEhFQUQgZXN0IG7DqWNlc3NhaXJlIMOgIGxhIGNvcnJlY3Rpb24iCiAKLSM6IHNlcXVlbmNlci5jOjE2MTMgc2VxdWVuY2VyLmM6MjkxMgorIzogc2VxdWVuY2VyLmM6MTcyNiBzZXF1ZW5jZXIuYzozMzA0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjE2MTUKKyM6IHNlcXVlbmNlci5jOjE3MjgKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBIRUFEJ3MgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gZGUgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MTYyMQorIzogc2VxdWVuY2VyLmM6MTczNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MTYyOCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDQxCisjOiBzZXF1ZW5jZXIuYzoxNzQxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0OTYKIG1zZ2lkICJUaGlzIGlzIHRoZSAxc3QgY29tbWl0IG1lc3NhZ2U6IgogbXNnc3RyICJDZWNpIGVzdCBsZSBwcmVtaWVyIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbsKgOiIKIAotIzogc2VxdWVuY2VyLmM6MTYzNgorIzogc2VxdWVuY2VyLmM6MTc0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZSBvZiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxlIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBkZSAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTY0MworIzogc2VxdWVuY2VyLmM6MTc1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIHRoZSBjb21taXQgbWVzc2FnZSAjJWQ6IgogbXNnc3RyICJDZWNpIGVzdCBsZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gbnVtw6lybyAlZMKgOiIKIAotIzogc2VxdWVuY2VyLmM6MTY0OQorIzogc2VxdWVuY2VyLmM6MTc2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY29tbWl0IG1lc3NhZ2UgIyVkIHdpbGwgYmUgc2tpcHBlZDoiCiBtc2dzdHIgIkxlIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiAlZCBzZXJhIGlnbm9yw6nCoDoiCiAKLSM6IHNlcXVlbmNlci5jOjE3MzIKKyM6IHNlcXVlbmNlci5jOjE4NTAKIG1zZ2lkICJ5b3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIgogbXNnc3RyICJ2b3RyZSBmaWNoaWVyIGQnaW5kZXggbidlc3QgcGFzIGZ1c2lvbm7DqS4iCiAKLSM6IHNlcXVlbmNlci5jOjE3MzkKKyM6IHNlcXVlbmNlci5jOjE4NTcKIG1zZ2lkICJjYW5ub3QgZml4dXAgcm9vdCBjb21taXQiCiBtc2dzdHIgImltcG9zc2libGUgZGUgcsOpcGFyZXIgbGUgY29tbWl0IHJhY2luZSIKIAotIzogc2VxdWVuY2VyLmM6MTc1OAorIzogc2VxdWVuY2VyLmM6MTg3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJXMgaXMgYSBtZXJnZSBidXQgbm8gLW0gb3B0aW9uIHdhcyBnaXZlbi4iCiBtc2dzdHIgImxlIGNvbW1pdCAlcyBlc3QgdW5lIGZ1c2lvbiBtYWlzIGwnb3B0aW9uIC1tIG4nYSBwYXMgw6l0w6kgc3DDqWNpZmnDqWUuIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzY2CisjOiBzZXF1ZW5jZXIuYzoxODg0IHNlcXVlbmNlci5jOjE4OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgogbXNnc3RyICJsZSBjb21taXQgJXMgbidhIHBhcyBkZSBwYXJlbnQgJWQiCiAKLSM6IHNlcXVlbmNlci5jOjE3NzAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKLW1zZ3N0ciAiIgotInVuZSBicmFuY2hlIHByaW5jaXBhbGUgYSDDqXTDqSBzcMOpY2lmacOpZSBtYWlzIGxlIGNvbW1pdCAlcyBuJ2VzdCBwYXMgdW5lICIKLSJmdXNpb24uIgotCi0jOiBzZXF1ZW5jZXIuYzoxNzc2CisjOiBzZXF1ZW5jZXIuYzoxODk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb2J0ZW5pciB1biBtZXNzYWdlIGRlIHZhbGlkYXRpb24gcG91ciAlcyIKIAogIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyB3aWxsIGJlIGEgInRvZG8iIGNvbW1hbmQgbGlrZQogIy4gInJldmVydCIgb3IgInBpY2siLCB0aGUgc2Vjb25kICVzIGEgU0hBMS4KLSM6IHNlcXVlbmNlci5jOjE3OTUKKyM6IHNlcXVlbmNlci5jOjE5MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzIgogbXNnc3RyICIlcyA6IGltcG9zc2libGUgZCdhbmFseXNlciBsZSBjb21taXQgcGFyZW50ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxODYwCisjOiBzZXF1ZW5jZXIuYzoxOTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgJyVzJyB0byAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHJlbm9tbWVyICclcycgZW4gJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MTkxNQorIzogc2VxdWVuY2VyLmM6MjAzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmV2ZXJ0ICVzLi4uICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5udWxlciAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTkxNgorIzogc2VxdWVuY2VyLmM6MjAzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCdhcHBsaXF1ZXIgJXMuLi4gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjE5NzQKKyM6IHNlcXVlbmNlci5jOjIxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlcyA6IMOpY2hlYyDDoCBsYSBsZWN0dXJlIGRlIGwnaW5kZXgiCiAKLSM6IHNlcXVlbmNlci5jOjE5ODEKKyM6IHNlcXVlbmNlci5jOjIxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlcyA6IMOpY2hlYyBkdSByYWZyYcOuY2hpc3NlbWVudCBkZSBsJ2luZGV4IgogCi0jOiBzZXF1ZW5jZXIuYzoyMDYyCisjOiBzZXF1ZW5jZXIuYzoyMTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRvZXMgbm90IGFjY2VwdCBhcmd1bWVudHM6ICclcyciCiBtc2dzdHIgIiVzIG4nYWNjZXB0ZSBwYXMgZCdhcmd1bWVudMKgOiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDcxCisjOiBzZXF1ZW5jZXIuYzoyMTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3NpbmcgYXJndW1lbnRzIGZvciAlcyIKIG1zZ3N0ciAiYXJndW1lbnQgbWFucXVhbnQgcG91ciAlcyIKIAotIzogc2VxdWVuY2VyLmM6MjEzMAorIzogc2VxdWVuY2VyLmM6MjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgJyUuKnMnIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgJyUuKnMnIgorCisjOiBzZXF1ZW5jZXIuYzoyMjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbGluZSAlZDogJS4qcyIKIG1zZ3N0ciAibGlnbmUgJWQgaW52YWxpZGXCoDogJS4qcyIKIAotIzogc2VxdWVuY2VyLmM6MjEzOAorIzogc2VxdWVuY2VyLmM6MjMwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgJyVzJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICInJXMnIGltcG9zc2libGUgYXZlYyBsZSBjb21taXQgcHLDqWPDqWRlbnQiCiAKLSM6IHNlcXVlbmNlci5jOjIyMDkKKyM6IHNlcXVlbmNlci5jOjIzNDggYnVpbHRpbi9yZWJhc2UuYzoxNzIgYnVpbHRpbi9yZWJhc2UuYzoxOTcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjIzIGJ1aWx0aW4vcmViYXNlLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgJyVzJy4iCisKKyM6IHNlcXVlbmNlci5jOjIzODQKK21zZ2lkICJjYW5jZWxsaW5nIGEgY2hlcnJ5IHBpY2tpbmcgaW4gcHJvZ3Jlc3MiCittc2dzdHIgImFubnVsYXRpb24gZCd1biBwaWNvcmFnZSBlbiBjb3VycyIKKworIzogc2VxdWVuY2VyLmM6MjM5MQorbXNnaWQgImNhbmNlbGxpbmcgYSByZXZlcnQgaW4gcHJvZ3Jlc3MiCittc2dzdHIgImFubnVsYXRpb24gZCd1biByZXRvdXIgZW4gY291cnMiCisKKyM6IHNlcXVlbmNlci5jOjI0MzUKIG1zZ2lkICJwbGVhc2UgZml4IHRoaXMgdXNpbmcgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKIG1zZ3N0ciAidmV1aWxsZXogY29ycmlnZXIgY2VjaSBlbiB1dGlsaXNhbnQgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKIAotIzogc2VxdWVuY2VyLmM6MjIxMQorIzogc2VxdWVuY2VyLmM6MjQzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnVzYWJsZSBpbnN0cnVjdGlvbiBzaGVldDogJyVzJyIKIG1zZ3N0ciAiZmV1aWxsZSBkJ2luc3RydWN0aW9uIGludXRpbGlzYWJsZcKgOiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjE2CisjOiBzZXF1ZW5jZXIuYzoyNDQyCiBtc2dpZCAibm8gY29tbWl0cyBwYXJzZWQuIgogbXNnc3RyICJhdWN1biBjb21taXQgYW5hbHlzw6kuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjI3CisjOiBzZXF1ZW5jZXIuYzoyNDUzCiBtc2dpZCAiY2Fubm90IGNoZXJyeS1waWNrIGR1cmluZyBhIHJldmVydC4iCiBtc2dzdHIgImltcG9zc2libGUgZGUgcGljb3JlciBwZW5kYW50IGwnYW5udWxhdGlvbiBkJ3VuIGNvbW1pdC4iCiAKLSM6IHNlcXVlbmNlci5jOjIyMjkKKyM6IHNlcXVlbmNlci5jOjI0NTUKIG1zZ2lkICJjYW5ub3QgcmV2ZXJ0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FubnVsZXIgdW4gY29tbWl0IHBlbmRhbnQgdW4gcGljb3JhZ2UuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjk5CisjOiBzZXF1ZW5jZXIuYzoyNTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKIG1zZ3N0ciAidmFsZXVyIGludmFsaWRlIHBvdXIgJXPCoDogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjIzODAKKyM6IHNlcXVlbmNlci5jOjI2MzAKIG1zZ2lkICJ1bnVzYWJsZSBzcXVhc2gtb250byIKIG1zZ3N0ciAiXCLDqWNyYXNlLXN1clwiIGludXRpbGlzYWJsZSIKIAotIzogc2VxdWVuY2VyLmM6MjM5NgorIzogc2VxdWVuY2VyLmM6MjY0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJyVzJyIKIG1zZ3N0ciAiZmV1aWxsZSBkJ29wdGlvbnMgbWFsZm9ybcOpZcKgOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MjQ3OSBzZXF1ZW5jZXIuYzo0MDA1CisjOiBzZXF1ZW5jZXIuYzoyNzM2IHNlcXVlbmNlci5jOjQ0NjMKIG1zZ2lkICJlbXB0eSBjb21taXQgc2V0IHBhc3NlZCIKIG1zZ3N0ciAibCdlbnNlbWJsZSBkZSBjb21taXRzIHNww6ljaWZpw6kgZXN0IHZpZGUiCiAKLSM6IHNlcXVlbmNlci5jOjI0ODcKLW1zZ2lkICJhIGNoZXJyeS1waWNrIG9yIHJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgotbXNnc3RyICJ1biBwaWNvcmFnZSBvdSB1biByZXRvdXIgZXN0IGTDqWrDoCBlbiBjb3VycyIKKyM6IHNlcXVlbmNlci5jOjI3NTIKK21zZ2lkICJyZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKK21zZ3N0ciAidW4gcmV0b3VyIGVzdCBkw6lqw6AgZW4gY291cnMiCiAKLSM6IHNlcXVlbmNlci5jOjI0ODgKLW1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgotbXNnc3RyICJlc3NheWV6IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlfC0tcXVpdHwtLSBhYm9ydClcIiIKKyM6IHNlcXVlbmNlci5jOjI3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJ5IFwiZ2l0IHJldmVydCAoLS1jb250aW51ZSB8ICVzLS1hYm9ydCB8IC0tcXVpdClcIiIKK21zZ3N0ciAiZXNzYXlleiBcImdpdCByZXZlcnQgKC0tY29udGludWUgfCAlcy0tYWJvcnQgfCAtLXF1aXQpXCIiCiAKLSM6IHNlcXVlbmNlci5jOjI0OTEKKyM6IHNlcXVlbmNlci5jOjI3NTcKK21zZ2lkICJjaGVycnktcGljayBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgorbXNnc3RyICJ1biBwaWNvcmFnZSBlc3QgZMOpasOgIGVuIGNvdXJzIgorCisjOiBzZXF1ZW5jZXIuYzoyNzU5CisjLCBjLWZvcm1hdAorbXNnaWQgInRyeSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8ICVzLS1hYm9ydCB8IC0tcXVpdClcIiIKK21zZ3N0ciAiZXNzYXlleiBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8ICVzLS1hYm9ydCB8IC0tcXVpdClcIiIKKworIzogc2VxdWVuY2VyLmM6Mjc3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgcsOpcGVydG9pcmUgZGUgc8OpcXVlbmNldXIgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MjUwNQorIzogc2VxdWVuY2VyLmM6Mjc4OAogbXNnaWQgImNvdWxkIG5vdCBsb2NrIEhFQUQiCiBtc2dzdHIgImltcG9zc2libGUgZGUgdmVycm91aWxsZXIgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MjU2MCBzZXF1ZW5jZXIuYzozNzYxCisjOiBzZXF1ZW5jZXIuYzoyODQ4IHNlcXVlbmNlci5jOjQyMDkKIG1zZ2lkICJubyBjaGVycnktcGljayBvciByZXZlcnQgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgImF1Y3VuIHBpY29yYWdlIG91IHJldG91ciBlbiBjb3VycyIKIAotIzogc2VxdWVuY2VyLmM6MjU2MgorIzogc2VxdWVuY2VyLmM6Mjg1MCBzZXF1ZW5jZXIuYzoyODYxCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgSEVBRCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSByw6lzb3VkcmUgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MjU2NCBzZXF1ZW5jZXIuYzoyNTk5CisjOiBzZXF1ZW5jZXIuYzoyODUyIHNlcXVlbmNlci5jOjI4OTYKIG1zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FiYW5kb25uZXIgZGVwdWlzIHVuZSBicmFuY2hlIG5vbiBlbmNvcmUgY3LDqcOpZSIKIAotIzogc2VxdWVuY2VyLmM6MjU4NSBidWlsdGluL2dyZXAuYzo3MjEKKyM6IHNlcXVlbmNlci5jOjI4ODIgYnVpbHRpbi9ncmVwLmM6NzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MjU4NworIzogc2VxdWVuY2VyLmM6Mjg4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAnJXMnOiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlICclcyfCoDogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjI1ODgKKyM6IHNlcXVlbmNlci5jOjI4ODUKIG1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJmaW4gZGUgZmljaGllciBpbmF0dGVuZHVlIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTk0CisjOiBzZXF1ZW5jZXIuYzoyODkxCiAjLCBjLWZvcm1hdAogbXNnaWQgInN0b3JlZCBwcmUtY2hlcnJ5LXBpY2sgSEVBRCBmaWxlICclcycgaXMgY29ycnVwdCIKIG1zZ3N0ciAibGUgZmljaGllciBIRUFEIGRlIHByw6lwYXJhdGlvbiBkZSBwaWNvcmFnZSAnJXMnIGVzdCBjb3Jyb21wdSIKIAotIzogc2VxdWVuY2VyLmM6MjYwNQorIzogc2VxdWVuY2VyLmM6MjkwMgogbXNnaWQgIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRC4gTm90IHJld2luZGluZywgY2hlY2sgeW91ciBIRUFEISIKIG1zZ3N0ciAiIgogIlZvdXMgc2VtYmxleiBhdm9pciBkw6lwbGFjw6kgbGEgSEVBRC4gUGFzIGRlIHJlbWJvYmluYWdlLCB2w6lyaWZpZXogdm90cmUgSEVBRMKgISIKIAotIzogc2VxdWVuY2VyLmM6MjcwOSBzZXF1ZW5jZXIuYzozNjc5CisjOiBzZXF1ZW5jZXIuYzoyOTQzCittc2dpZCAibm8gcmV2ZXJ0IGluIHByb2dyZXNzIgorbXNnc3RyICJQYXMgZGUgcmV0b3VyIGVuIGNvdXJzID8iCisKKyM6IHNlcXVlbmNlci5jOjI5NTEKK21zZ2lkICJubyBjaGVycnktcGljayBpbiBwcm9ncmVzcyIKK21zZ3N0ciAiYXVjdW4gcGljb3JhZ2UgZW4gY291cnMiCisKKyM6IHNlcXVlbmNlci5jOjI5NjEKK21zZ2lkICJmYWlsZWQgdG8gc2tpcCB0aGUgY29tbWl0IgorbXNnc3RyICLDqWNoZWMgZHUgc2F1dCBkZSBjb21taXQiCisKKyM6IHNlcXVlbmNlci5jOjI5NjgKK21zZ2lkICJ0aGVyZSBpcyBub3RoaW5nIHRvIHNraXAiCittc2dzdHIgImlsIG4neSBhIHJpZW4gw6Agc2F1dGVyIgorCisjOiBzZXF1ZW5jZXIuYzoyOTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJoYXZlIHlvdSBjb21taXR0ZWQgYWxyZWFkeT9cbiIKKyJ0cnkgXCJnaXQgJXMgLS1jb250aW51ZVwiIgorbXNnc3RyICIiCisiQXZlei12b3VzIGTDqWrDoCB2YWxpZMOpwqA/XG4iCisiZXNzYXlleiBcImdpdCAlcyAtY29udGludWVcIiIKKworIzogc2VxdWVuY2VyLmM6MzA5NSBzZXF1ZW5jZXIuYzo0MTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjI3NDcgc2VxdWVuY2VyLmM6MzY1OQorIzogc2VxdWVuY2VyLmM6MzEzNCBzZXF1ZW5jZXIuYzo0MTAxCiBtc2dpZCAiY2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjI3NjIKKyM6IHNlcXVlbmNlci5jOjMxNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNvcGllciAnJXMnIHZlcnMgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6Mjc3MAorIzogc2VxdWVuY2VyLmM6MzE1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGNhbiBhbWVuZCB0aGUgY29tbWl0IG5vdywgd2l0aFxuIgpAQCAtNTIyMCwyNyArNjk4OSwyMiBAQAogIlxuIgogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IHNlcXVlbmNlci5jOjI3ODAKKyM6IHNlcXVlbmNlci5jOjMxNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICVzLi4uICUuKnMiCiBtc2dzdHIgImltcG9zc2libGUgZCdhcHBsaXF1ZXIgJXMuLi4gJS4qcyIKIAotIzogc2VxdWVuY2VyLmM6Mjc4NworIzogc2VxdWVuY2VyLmM6MzE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbWVyZ2UgJS4qcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBmdXNpb25uZXIgJS4qcyIKIAotIzogc2VxdWVuY2VyLmM6Mjc5OCBzZXF1ZW5jZXIuYzoyODAyIGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDAKKyM6IHNlcXVlbmNlci5jOjMxOTAgc2VxdWVuY2VyLmM6MzE5NCBidWlsdGluL2RpZmZ0b29sLmM6NjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjb3B5ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb3BpZXIgJyVzJyB2ZXJzICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjI4MjQgc2VxdWVuY2VyLmM6MzI0MiBidWlsdGluL3JlYmFzZS5jOjU4MCBidWlsdGluL3JlYmFzZS5jOjEwMTkKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM3MiBidWlsdGluL3JlYmFzZS5jOjE0MjYKLW1zZ2lkICJjb3VsZCBub3QgcmVhZCBpbmRleCIKLW1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGwnaW5kZXgiCi0KLSM6IHNlcXVlbmNlci5jOjI4MjkKKyM6IHNlcXVlbmNlci5jOjMyMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4ZWN1dGlvbiBmYWlsZWQ6ICVzXG4iCkBAIC01MjU1LDExICs3MDE5LDExIEBACiAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAiXG4iCiAKLSM6IHNlcXVlbmNlci5jOjI4MzUKKyM6IHNlcXVlbmNlci5jOjMyMjcKIG1zZ2lkICJhbmQgbWFkZSBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgogbXNnc3RyICJldCBhIG1pcyDDoCBqb3VyIGwnaW5kZXggb3UgbCdhcmJyZSBkZSB0cmF2YWlsXG4iCiAKLSM6IHNlcXVlbmNlci5jOjI4NDEKKyM6IHNlcXVlbmNlci5jOjMyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4ZWN1dGlvbiBzdWNjZWVkZWQ6ICVzXG4iCkBAIC01Mjc2LDc3ICs3MDQwLDczIEBACiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKICJcbiIKIAotIzogc2VxdWVuY2VyLmM6MjkwMgorIzogc2VxdWVuY2VyLmM6MzI5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbGxlZ2FsIGxhYmVsIG5hbWU6ICclLipzJyIKIG1zZ3N0ciAibm9tIGRlIGxhYmVsIGlsbMOpZ2FsICclLipzJyIKIAotIzogc2VxdWVuY2VyLmM6Mjk1NAorIzogc2VxdWVuY2VyLmM6MzM0OAogbXNnaWQgIndyaXRpbmcgZmFrZSByb290IGNvbW1pdCIKIG1zZ3N0ciAiw6ljcml0dXJlIGQndW4gY29tbWl0IHJhY2luZSBiaWRvbiIKIAotIzogc2VxdWVuY2VyLmM6Mjk1OQorIzogc2VxdWVuY2VyLmM6MzM1MwogbXNnaWQgIndyaXRpbmcgc3F1YXNoLW9udG8iCiBtc2dzdHIgIsOpY3JpdHVyZSBkZSAnw6ljcmFzZXItc3VyJyIKIAotIzogc2VxdWVuY2VyLmM6Mjk5NyBidWlsdGluL3JlYmFzZS5jOjU4NSBidWlsdGluL3JlYmFzZS5jOjU5MQorIzogc2VxdWVuY2VyLmM6MzM5MSBidWlsdGluL3JlYmFzZS5jOjg3NiBidWlsdGluL3JlYmFzZS5jOjg4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZmluZCB0cmVlIG9mICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbCdhcmJyZSBkZSAlcyIKIAotIzogc2VxdWVuY2VyLmM6MzAxNSBidWlsdGluL3JlYmFzZS5jOjYwNAotbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBpbmRleCIKLW1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbCdpbmRleCIKLQotIzogc2VxdWVuY2VyLmM6MzA0MgorIzogc2VxdWVuY2VyLmM6MzQzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHLDqXNvdWRyZSAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzozMDY4CisjOiBzZXF1ZW5jZXIuYzozNDY3CiBtc2dpZCAiY2Fubm90IG1lcmdlIHdpdGhvdXQgYSBjdXJyZW50IHJldmlzaW9uIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZ1c2lvbm5lciBhdmVjIHVuZSByw6l2aXNpb24gY291cmFudGUiCiAKLSM6IHNlcXVlbmNlci5jOjMwOTAKKyM6IHNlcXVlbmNlci5jOjM0ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICclLipzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyICclLipzJyIKIAotIzogc2VxdWVuY2VyLmM6MzA5OQorIzogc2VxdWVuY2VyLmM6MzQ5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIG1lcmdlOiAnJS4qcyciCiBtc2dzdHIgInJpZW4gw6AgZnVzaW9ubmVywqA6ICclLipzJyIKIAotIzogc2VxdWVuY2VyLmM6MzExMQorIzogc2VxdWVuY2VyLmM6MzUxMAogbXNnaWQgIm9jdG9wdXMgbWVyZ2UgY2Fubm90IGJlIGV4ZWN1dGVkIG9uIHRvcCBvZiBhIFtuZXcgcm9vdF0iCiBtc2dzdHIgIiIKICJ1bmUgZnVzaW9uIG9jdG9wdXMgbmUgcGV1dCBwYXMgw6p0cmUgZXjDqWN1dMOpZSBwYXIgZGVzc3VzIHVuZSBub3V2ZWxsZSByYWNpbmUiCiAKLSM6IHNlcXVlbmNlci5jOjMxMjYKKyM6IHNlcXVlbmNlci5jOjM1MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBjb21taXQgbWVzc2FnZSBvZiAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIGRlICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjMyNzQKKyM6IHNlcXVlbmNlci5jOjM2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGV2ZW4gYXR0ZW1wdCB0byBtZXJnZSAnJS4qcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgc2V1bGVtZW50IGVzc2F5ZXIgZGUgZnVzaW9ubmVyICclLipzJyIKIAotIzogc2VxdWVuY2VyLmM6MzI5MAorIzogc2VxdWVuY2VyLmM6MzcwNAogbXNnaWQgIm1lcmdlOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgImZ1c2lvbsKgOiBJbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBub3V2ZWF1IGZpY2hpZXIgaW5kZXgiCiAKLSM6IHNlcXVlbmNlci5jOjMzNTggYnVpbHRpbi9yZWJhc2UuYzoyNjgKKyM6IHNlcXVlbmNlci5jOjM3NzMgYnVpbHRpbi9yZWJhc2UuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guXG4iCiBtc2dzdHIgIkF1dG9yZW1pc2FnZSBhcHBsaXF1w6kuXG4iCiAKLSM6IHNlcXVlbmNlci5jOjMzNzAKKyM6IHNlcXVlbmNlci5jOjM3ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0b3JlICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHN0b2NrZXIgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjMzNzMgYnVpbHRpbi9yZWJhc2UuYzoyODQKKyM6IHNlcXVlbmNlci5jOjM3ODggYnVpbHRpbi9yZWJhc2UuYzo3NDkgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjExMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy5cbiIKQEAgLTUzNTcsMzEgKzcxMTcsMzEgQEAKICJWb3MgIG1vZGlmaWNhdGlvbnMgc29udCDDoCBsJ2FicmkgZGFucyBsYSByZW1pc2UuXG4iCiAiVm91cyBwb3V2ZXogbGFuY2VyIFwiZ2l0IHN0YXNoIHBvcFwiIG91IFwiZ2l0IHN0YXNoIGRyb3BcIiDDoCB0b3V0IG1vbWVudC5cbiIKIAotIzogc2VxdWVuY2VyLmM6MzQyNworIzogc2VxdWVuY2VyLmM6Mzg0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2hlY2tvdXQgJXMiCiBtc2dzdHIgImV4dHJhY3Rpb24gZGUgJXMgaW1wb3NzaWJsZSIKIAotIzogc2VxdWVuY2VyLmM6MzQ0MQorIzogc2VxdWVuY2VyLmM6Mzg2MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgdmFsaWQgT0lEIgogbXNnc3RyICIlcyBuJ2VzdCBwYXMgdW4gT0lEIHZhbGlkZSIKIAotIzogc2VxdWVuY2VyLmM6MzQ0NiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzI0CisjOiBzZXF1ZW5jZXIuYzozODY4IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3NzkKIG1zZ2lkICJjb3VsZCBub3QgZGV0YWNoIEhFQUQiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZMOpdGFjaGVyIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjM0NjEKKyM6IHNlcXVlbmNlci5jOjM4ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCBhdCBIRUFEXG4iCiBtc2dzdHIgImFycsOqdCDDoCBIRUFEXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM0NjMKKyM6IHNlcXVlbmNlci5jOjM4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCBhdCAlc1xuIgogbXNnc3RyICJBcnLDqnTDqSDDoCAlc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzozNDcxCisjOiBzZXF1ZW5jZXIuYzozODkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgZXhlY3V0ZSB0aGUgdG9kbyBjb21tYW5kXG4iCkBAIC01NDAyLDQ4ICs3MTYyLDQ4IEBACiAiICAgIGdpdCByZWJhc2UgLS1lZGl0LXRvZG9cbiIKICIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM1NDMKKyM6IHNlcXVlbmNlci5jOjM5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCBhdCAlcy4uLiAgJS4qc1xuIgogbXNnc3RyICJhcnLDqnQgw6AgJXMuLi4gJS4qc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzozNjIyCisjOiBzZXF1ZW5jZXIuYzo0MDUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gY29tbWFuZCAlZCIKIG1zZ3N0ciAiY29tbWFuZGUgaW5jb25udWUgJWQiCiAKLSM6IHNlcXVlbmNlci5jOjM2NjcKKyM6IHNlcXVlbmNlci5jOjQxMDkKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBvcmlnLWhlYWQiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBvcmlnLWhlYWQiCiAKLSM6IHNlcXVlbmNlci5jOjM2NzIgc2VxdWVuY2VyLmM6NDc0MQorIzogc2VxdWVuY2VyLmM6NDExNAogbXNnaWQgImNvdWxkIG5vdCByZWFkICdvbnRvJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlICdvbnRvJyIKIAotIzogc2VxdWVuY2VyLmM6MzY4NgorIzogc2VxdWVuY2VyLmM6NDEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdXBkYXRlIEhFQUQgdG8gJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgSEVBRCBzdXIgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjM3NzIKKyM6IHNlcXVlbmNlci5jOjQyMjEKIG1zZ2lkICJjYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSByZWJhc2VywqA6IHZvdXMgYXZleiBkZXMgbW9kaWZpY2F0aW9ucyBub24gaW5kZXjDqWVzLiIKIAotIzogc2VxdWVuY2VyLmM6Mzc4MQorIzogc2VxdWVuY2VyLmM6NDIzMAogbXNnaWQgImNhbm5vdCBhbWVuZCBub24tZXhpc3RpbmcgY29tbWl0IgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNvcnJpZ2VyIHVuIGNvbW1pdCBub24tZXhpc3RhbnQiCiAKLSM6IHNlcXVlbmNlci5jOjM3ODMKKyM6IHNlcXVlbmNlci5jOjQyMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBmaWxlOiAnJXMnIgogbXNnc3RyICJmaWNoaWVyIGludmFsaWRlwqA6ICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjM3ODUKKyM6IHNlcXVlbmNlci5jOjQyMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb250ZW50czogJyVzJyIKIG1zZ3N0ciAiY29udGVudSBpbnZhbGlkZSA6ICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjM3ODgKKyM6IHNlcXVlbmNlci5jOjQyMzcKIG1zZ2lkICIiCiAiXG4iCiAiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlLCBjb21taXQgdGhlbVxuIgpAQCAtNTQ1Myw4MiArNzIxMyw0MiBAQAogIlZvdXMgYXZleiBkZXMgbW9kaWZpY2F0aW9ucyBub24gdmFsaWTDqWVzIGRhbnMgdm90cmUgY29waWUgZGUgdHJhdmFpbC5cbiIKICJWZXVpbGxleiBsZXMgdmFsaWRlciBkJ2Fib3JkLCBwdWlzIHJlbGFuY2VyICdnaXQgcmViYXNlIC0tY29udGludWUnLiIKIAotIzogc2VxdWVuY2VyLmM6MzgyNCBzZXF1ZW5jZXIuYzozODYyCisjOiBzZXF1ZW5jZXIuYzo0MjczIHNlcXVlbmNlci5jOjQzMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGZpbGU6ICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlIGZpY2hpZXLCoDogJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6Mzg3NworIzogc2VxdWVuY2VyLmM6NDMyNwogbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgQ0hFUlJZX1BJQ0tfSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6Mzg4NAorIzogc2VxdWVuY2VyLmM6NDMzNAogbXNnaWQgImNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHZhbGlkZXIgbGVzIG1vZGlmaWNhdGlvbnMgaW5kZXjDqWVzLiIKIAotIzogc2VxdWVuY2VyLmM6Mzk4MgorIzogc2VxdWVuY2VyLmM6NDQ0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2FuJ3QgY2hlcnJ5LXBpY2sgYSAlcyIKIG1zZ3N0ciAiJXMgOiBpbXBvc3NpYmxlIGRlIHBpY29yZXIgdW4gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjM5ODYKKyM6IHNlcXVlbmNlci5jOjQ0NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKIG1zZ3N0ciAiJXMgOiBtYXV2YWlzZSByw6l2aXNpb24iCiAKLSM6IHNlcXVlbmNlci5jOjQwMjEKKyM6IHNlcXVlbmNlci5jOjQ0NzkKIG1zZ2lkICJjYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCiBtc2dzdHIgImltcG9zc2libGUgZCdhbm51bGVyIGVuIHRhbnQgcXVlIGNvbW1pdCBpbml0aWFsIgogCi0jOiBzZXF1ZW5jZXIuYzo0NDY2CisjOiBzZXF1ZW5jZXIuYzo0OTUyCiBtc2dpZCAibWFrZV9zY3JpcHQ6IHVuaGFuZGxlZCBvcHRpb25zIgogbXNnc3RyICJtYWtlX3NjcmlwdMKgOiBvcHRpb25zIG5vbiBnw6lyw6llcyIKIAotIzogc2VxdWVuY2VyLmM6NDQ2OQorIzogc2VxdWVuY2VyLmM6NDk1NQogbXNnaWQgIm1ha2Vfc2NyaXB0OiBlcnJvciBwcmVwYXJpbmcgcmV2aXNpb25zIgogbXNnc3RyICJtYWtlX3NjcmlwdMKgOiBlcnJldXIgbG9ycyBkZSBsYSBwcsOpcGFyYXRpb24gZGVzIHLDqXZpc2lvbnMiCiAKLSM6IHNlcXVlbmNlci5jOjQ1MDkgc2VxdWVuY2VyLmM6NDU2NSBzZXF1ZW5jZXIuYzo0ODQwCi0jLCBjLWZvcm1hdAotbXNnaWQgInVudXNhYmxlIHRvZG8gbGlzdDogJyVzJyIKLW1zZ3N0ciAibGlzdGUgw6AgZmFpcmUgaW51dGlsaXNhYmxlwqA6ICclcyciCi0KLSM6IHNlcXVlbmNlci5jOjQ2MjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotInVucmVjb2duaXplZCBzZXR0aW5nICVzIGZvciBvcHRpb24gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suIElnbm9yaW5nLiIKLW1zZ3N0ciAiIgotInBhcmFtw6h0cmUgbm9uIHJlY29ubnUgJXMgcG91ciBsJ29wdGlvbiByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4gSWdub3LDqS4iCi0KLSM6IHNlcXVlbmNlci5jOjQ2OTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIldhcm5pbmc6IHNvbWUgY29tbWl0cyBtYXkgaGF2ZSBiZWVuIGRyb3BwZWQgYWNjaWRlbnRhbGx5LlxuIgotIkRyb3BwZWQgY29tbWl0cyAobmV3ZXIgdG8gb2xkZXIpOlxuIgotbXNnc3RyICIiCi0iQXR0ZW50aW9uwqA6IGNlcnRhaW5zIGNvbW1pdHMgb250IHB1IMOqdHJlIGFjY2lkZW50ZWxsZW1lbnQgc3VwcHJpbcOpcy5cbiIKLSJDb21taXRzIHN1cHByaW3DqXMgKGR1IHBsdXMgamV1bmUgYXUgcGx1cyB2aWV1eCnCoDpcbiIKLQotIzogc2VxdWVuY2VyLmM6NDY5NwotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgXCJkcm9wXCIgdG8gZXhwbGljaXRseSByZW1vdmUgYSBjb21taXQuXG4iCi0iXG4iCi0iVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mICIKLSJ3YXJuaW5ncy5cbiIKLSJUaGUgcG9zc2libGUgYmVoYXZpb3VycyBhcmU6IGlnbm9yZSwgd2FybiwgZXJyb3IuXG4iCi0iXG4iCi1tc2dzdHIgIiIKLSJQb3VyIMOpdml0ZXIgY2UgbWVzc2FnZSwgdXRpbGlzZXogXCJkcm9wXCIgcG91ciBzdXBwcmltZXIgZXhwbGljaXRlbWVudCB1biAiCi0iY29tbWl0LlxuIgotIlxuIgotIlV0aWxpc2V6ICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyBwb3VyIGNoYW5nZXIgbGUgbml2ZWF1ICIKLSJkJ2F2ZXJ0aXNzZW1lbnRzLlxuIgotIkxlcyBjb21wb3J0ZW1lbnRzIGRpc3BvbmlibGVzIHNvbnTCoDogaWdub3JlLCB3YXJuLCBlcnJvci5cbiIKLSJcbiIKLQotIzogc2VxdWVuY2VyLmM6NDcxMAotIywgYy1mb3JtYXQKKyM6IHNlcXVlbmNlci5jOjUxMTMKIG1zZ2lkICIiCiAiWW91IGNhbiBmaXggdGhpcyB3aXRoICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJyBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS0iCiAiY29udGludWUnLlxuIgpAQCAtNTUzOCw0MCArNzI1OCwyNCBAQAogInJlYmFzZSAtLWNvbnRpbnVlJy5cbiIKICJPdSB2b3VzIHBvdXZleiBhYmFuZG9ubmVyIGxlIHJlYmFzYWdlIGF2ZWMgJ2dpdCByZWJhc2UgLS1hYm9ydCcuXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQ4NDggc2VxdWVuY2VyLmM6NDg4NgorIzogc2VxdWVuY2VyLmM6NTIyNiBzZXF1ZW5jZXIuYzo1MjQzCiBtc2dpZCAibm90aGluZyB0byBkbyIKIG1zZ3N0ciAicmllbiDDoCBmYWlyZSIKIAotIzogc2VxdWVuY2VyLmM6NDg1MgotIywgYy1mb3JtYXQKLW1zZ2lkICJSZWJhc2UgJXMgb250byAlcyAoJWQgY29tbWFuZCkiCi1tc2dpZF9wbHVyYWwgIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kcykiCi1tc2dzdHJbMF0gIlJlYmFzYWdlIGRlICVzIHN1ciAlcyAoJWQgY29tbWFuZGUpIgotbXNnc3RyWzFdICJSZWJhc2FnZSBkZSAlcyBzdXIgJXMgKCVkIGNvbW1hbmRlcykiCi0KLSM6IHNlcXVlbmNlci5jOjQ4NjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnLiIKLW1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb3BpZXIgJyVzJyB2ZXJzICclcycuIgotCi0jOiBzZXF1ZW5jZXIuYzo0ODY4IHNlcXVlbmNlci5jOjQ4OTcKLW1zZ2lkICJjb3VsZCBub3QgdHJhbnNmb3JtIHRoZSB0b2RvIGxpc3QiCi1tc2dzdHIgImltcG9zc2libGUgZGUgZ8OpbsOpcmVyIGxhIGxpc3RlIMOgLWZhaXJlIgotCi0jOiBzZXF1ZW5jZXIuYzo0OTAwCisjOiBzZXF1ZW5jZXIuYzo1MjU3CiBtc2dpZCAiY291bGQgbm90IHNraXAgdW5uZWNlc3NhcnkgcGljayBjb21tYW5kcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8Opdml0ZXIgbGVzIGNvbW1hbmRlcyBkZSBwaWNvcmFnZSBub24gbsOpY2Vzc2FpcmVzIgogCi0jOiBzZXF1ZW5jZXIuYzo0OTgzCisjOiBzZXF1ZW5jZXIuYzo1MzUxCiBtc2dpZCAidGhlIHNjcmlwdCB3YXMgYWxyZWFkeSByZWFycmFuZ2VkLiIKIG1zZ3N0ciAibGUgc2NyaXB0IGEgZMOpasOgIMOpdMOpIHLDqWFycmFuZ8OpLiIKIAotIzogc2V0dXAuYzoxMjMKKyM6IHNldHVwLmM6MTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IgogbXNnc3RyICInJXMnIGVzdCBob3JzIGR1IGTDqXDDtHQiCiAKLSM6IHNldHVwLmM6MTcyCisjOiBzZXR1cC5jOjE3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXM6IG5vIHN1Y2ggcGF0aCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgpAQCAtNTU4MSw3ICs3Mjg1LDcgQEAKICJVdGlsaXNleiAnZ2l0IDxjb21tYW5kZT4gLS0gPGNoZW1pbj4uLi4nIHBvdXIgc3DDqWNpZmllciBkZXMgY2hlbWlucyBxdWkgIgogIm4nZXhpc3RlbnQgcGFzIGxvY2FsZW1lbnQuIgogCi0jOiBzZXR1cC5jOjE4NQorIzogc2V0dXAuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiB1bmtub3duIHJldmlzaW9uIG9yIHBhdGggbm90IGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCkBAIC01NTkyLDE0ICs3Mjk2LDE0IEBACiAiVXRpbGlzZXogJy0tJyBwb3VyIHPDqXBhcmVyIGxlcyBjaGVtaW5zIGRlcyByw6l2aXNpb25zLCBjb21tZSBjZWNpwqA6XG4iCiAiJ2dpdCA8Y29tbWFuZGU+IFs8csOpdmlzaW9uPi4uLl0gLS0gWzxjaGVtaW4+Li4uXSciCiAKLSM6IHNldHVwLmM6MjM0CisjOiBzZXR1cC5jOjIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJvcHRpb24gJyVzJyBtdXN0IGNvbWUgYmVmb3JlIG5vbi1vcHRpb24gYXJndW1lbnRzIgogbXNnc3RyICIiCiAibCdvcHRpb24gJyVzJyBkb2l0IMOqdHJlIHByw6lzZW50ZSBhdmFudCBsZXMgYXJndW1lbnRzIHF1aSBuZSBzb250IHBhcyBkZXMgIgogIm9wdGlvbnMiCiAKLSM6IHNldHVwLmM6MjUzCisjOiBzZXR1cC5jOjI1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IGJvdGggcmV2aXNpb24gYW5kIGZpbGVuYW1lXG4iCkBAIC01NjEwLDk0ICs3MzE0LDk0IEBACiAiVXRpbGlzZXogJy0tJyBwb3VyIHPDqXBhcmVyIGxlcyBjaGVtaW5zIGRlcyByw6l2aXNpb25zLCBjb21tZSBjZWNpwqA6XG4iCiAiJ2dpdCA8Y29tbWFuZGU+IFs8csOpdmlzaW9uPi4uLl0gLS0gWzxjaGVtaW4+Li4uXSciCiAKLSM6IHNldHVwLmM6Mzg5CisjOiBzZXR1cC5jOjM5MQogbXNnaWQgInVuYWJsZSB0byBzZXQgdXAgd29yayB0cmVlIHVzaW5nIGludmFsaWQgY29uZmlnIgogbXNnc3RyICIiCiAiaW1wb3NzaWJsZSBkZSBtZXR0cmUgZW4gcGxhY2UgbGUgcsOpcGVydG9pcmUgZGUgdHJhdmFpbCBlbiB1dGlsaXNhbnQgdW5lICIKICJjb25maWd1cmF0aW9uIGludmFsaWRlIgogCi0jOiBzZXR1cC5jOjM5MworIzogc2V0dXAuYzozOTUKIG1zZ2lkICJ0aGlzIG9wZXJhdGlvbiBtdXN0IGJlIHJ1biBpbiBhIHdvcmsgdHJlZSIKIG1zZ3N0ciAiQ2V0dGUgb3DDqXJhdGlvbiBkb2l0IMOqdHJlIGVmZmVjdHXDqWUgZGFucyB1biBhcmJyZSBkZSB0cmF2YWlsIgogCi0jOiBzZXR1cC5jOjUyNworIzogc2V0dXAuYzo1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0ZWQgZ2l0IHJlcG8gdmVyc2lvbiA8PSAlZCwgZm91bmQgJWQiCiBtc2dzdHIgIlZlcnNpb24gYXR0ZW5kdWUgZHUgZMOpcMO0dCBnaXQgPD0gJWQsICVkIHRyb3V2w6llIgogCi0jOiBzZXR1cC5jOjUzNQorIzogc2V0dXAuYzo1NDkKIG1zZ2lkICJ1bmtub3duIHJlcG9zaXRvcnkgZXh0ZW5zaW9ucyBmb3VuZDoiCiBtc2dzdHIgImV4dGVuc2lvbnMgZGUgZMOpcMO0dCBpbmNvbm51ZXMgdHJvdXbDqWVzwqA6IgogCi0jOiBzZXR1cC5jOjU1NAorIzogc2V0dXAuYzo1NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3Igb3BlbmluZyAnJXMnIgogbXNnc3RyICJlcnJldXIgw6AgbCdvdXZlcnR1cmUgZGUgJyVzJyIKIAotIzogc2V0dXAuYzo1NTYKKyM6IHNldHVwLmM6NTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRvbyBsYXJnZSB0byBiZSBhIC5naXQgZmlsZTogJyVzJyIKIG1zZ3N0ciAidHJvcCBncm9zIHBvdXIgw6p0cmUgdW5lIGZpY2hpZXIgLmdpdMKgOiAnJXMnIgogCi0jOiBzZXR1cC5jOjU1OAorIzogc2V0dXAuYzo1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcmVhZGluZyAlcyIKIG1zZ3N0ciAiZXJyZXVyIMOgIGxhIGxlY3R1cmUgZGUgJXMiCiAKLSM6IHNldHVwLmM6NTYwCisjOiBzZXR1cC5jOjU3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGdpdGZpbGUgZm9ybWF0OiAlcyIKIG1zZ3N0ciAiZm9ybWF0IGRlIGZpY2hpZXIgZ2l0IGludmFsaWRlIDogJXMiCiAKLSM6IHNldHVwLmM6NTYyCisjOiBzZXR1cC5jOjU3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBwYXRoIGluIGdpdGZpbGU6ICVzIgogbXNnc3RyICJhdWN1biBjaGVtaW4gZGFucyBsZSBmaWNoaWVyIGdpdMKgOiAlcyIKIAotIzogc2V0dXAuYzo1NjQKKyM6IHNldHVwLmM6NTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIGdpdCByZXBvc2l0b3J5OiAlcyIKIG1zZ3N0ciAiY2Ugbidlc3QgcGFzIHVuIGTDqXDDtHQgZ2l0wqA6ICVzIgogCi0jOiBzZXR1cC5jOjY2MworIzogc2V0dXAuYzo2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyQlcycgdG9vIGJpZyIKIG1zZ3N0ciAiJyQlcycgdHJvcCBncm9zIgogCi0jOiBzZXR1cC5jOjY3NworIzogc2V0dXAuYzo2OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgZ2l0IHJlcG9zaXRvcnk6ICclcyciCiBtc2dzdHIgImNlIG4nZXN0IHBhcyB1biBkw6lww7R0IGdpdCA6ICclcyciCiAKLSM6IHNldHVwLmM6NzA2IHNldHVwLmM6NzA4IHNldHVwLmM6NzM5CisjOiBzZXR1cC5jOjcyMCBzZXR1cC5jOjcyMiBzZXR1cC5jOjc1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzZSBkw6lwbGFjZXIgdmVycyBsZSByw6lwZXJ0b2lyZSAoY2hkaXIpICclcyciCiAKLSM6IHNldHVwLmM6NzExIHNldHVwLmM6NzY3IHNldHVwLmM6Nzc3IHNldHVwLmM6ODE2IHNldHVwLmM6ODI0IHNldHVwLmM6ODM5CisjOiBzZXR1cC5jOjcyNSBzZXR1cC5jOjc4MSBzZXR1cC5jOjc5MSBzZXR1cC5jOjgzMCBzZXR1cC5jOjgzOAogbXNnaWQgImNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHJldmVuaXIgYXUgcsOpcGVydG9pcmUgZGUgdHJhdmFpbCBjb3VyYW50IgogCi0jOiBzZXR1cC5jOjgzNwotIywgYy1mb3JtYXQKLW1zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIKLW1zZ3N0ciAibmkgY2VjaSBuaSBhdWN1biBkZSBzZXMgcsOpcGVydG9pcmVzIHBhcmVudHMgbidlc3QgdW4gZMOpcMO0dCBnaXTCoDogJXMiCi0KLSM6IHNldHVwLmM6ODQ4CisjOiBzZXR1cC5jOjg1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJSpzJXMlcyciCiBtc2dzdHIgIsOpY2hlYyBkdSBzdGF0IGRlICclKnMlcyVzJyIKIAotIzogc2V0dXAuYzoxMDc4CisjOiBzZXR1cC5jOjEwOTAKIG1zZ2lkICJVbmFibGUgdG8gcmVhZCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYWNjw6lkZXIgYXUgcsOpcGVydG9pcmUgZGUgdHJhdmFpbCBjb3VyYW50IgogCi0jOiBzZXR1cC5jOjEwOTAgc2V0dXAuYzoxMDk2CisjOiBzZXR1cC5jOjEwOTkgc2V0dXAuYzoxMTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGFuZ2UgdG8gJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBtb2RpZmllciBlbiAnJXMnIgogCi0jOiBzZXR1cC5jOjExMDkKKyM6IHNldHVwLmM6MTExMAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIKK21zZ3N0ciAibmkgY2VjaSBuaSBhdWN1biBkZSBzZXMgcsOpcGVydG9pcmVzIHBhcmVudHMgbidlc3QgdW4gZMOpcMO0dCBnaXTCoDogJXMiCisKKyM6IHNldHVwLmM6MTExNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBwYXJlbnQgdXAgdG8gbW91bnQgcG9pbnQgJXMpXG4iCkBAIC01NzA4LDcgKzc0MTIsNyBAQAogIkFycsOqdCDDoCBsYSBsaW1pdGUgZHUgc3lzdMOobWUgZGUgZmljaGllcnMgKEdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU0gIgogIm4nZXN0IHBhcyBkw6lmaW5pKS4iCiAKLSM6IHNldHVwLmM6MTE5MgorIzogc2V0dXAuYzoxMjI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJwcm9ibGVtIHdpdGggY29yZS5zaGFyZWRSZXBvc2l0b3J5IGZpbGVtb2RlIHZhbHVlICgwJS4zbykuXG4iCkBAIC01NzE4LDI5OCArNzQyMiwzMDIgQEAKICJMZSBwcm9wcmnDqXRhaXJlIGRlcyBmaWNoaWVycyBkb2l0IHRvdWpvdXJzIGF2b2lyIGxlcyBkcm9pdHMgZW4gbGVjdHVyZSBldCAiCiAiw6ljcml0dXJlLiIKIAotIzogc2V0dXAuYzoxMjM1CisjOiBzZXR1cC5jOjEyNzEKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBvciBkdXAgZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZGUgbCdvdXZlcnR1cmUgb3UgYXUgZHVwIGRlIC9kZXYvbnVsbCIKIAotIzogc2V0dXAuYzoxMjUwCisjOiBzZXR1cC5jOjEyODYKIG1zZ2lkICJmb3JrIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIGJpZnVyY2F0aW9uIgogCi0jOiBzZXR1cC5jOjEyNTUKKyM6IHNldHVwLmM6MTI5MQogbXNnaWQgInNldHNpZCBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkdSBzZXRzaWQiCiAKLSM6IHNoYTEtZmlsZS5jOjM4MQorIzogc2hhMS1maWxlLmM6NDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBkaXJlY3RvcnkgJXMgZG9lcyBub3QgZXhpc3Q7IGNoZWNrIC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMiCiBtc2dzdHIgIiIKICJsZSByw6lwZXJ0b2lyZSBvYmpldCAlcyBuJ2V4aXN0ZSBwYXPCoDsgdsOpcmlmaWV6IC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMiCiAKLSM6IHNoYTEtZmlsZS5jOjQzMgorIzogc2hhMS1maWxlLmM6NTAzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBub3JtYWxpemUgYWx0ZXJuYXRlIG9iamVjdCBwYXRoOiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBub3JtYWxpc2VyIGxlIGNoZW1pbiBkJ29iamV0IGFsdGVybmF0aWbCoDogJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjUwMworIzogc2hhMS1maWxlLmM6NTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpZ25vcmluZyBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlcywgbmVzdGluZyB0b28gZGVlcCIKIG1zZ3N0ciAiJXPCoDogbWFnYXNpbnMgZCdvYmpldHMgYWx0ZXJuYXRpZnMgaWdub3LDqXMsIHLDqWN1cnNpb24gdHJvcCBwcm9mb25kZSIKIAotIzogc2hhMS1maWxlLmM6NTEwCisjOiBzaGExLWZpbGUuYzo1ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG5vcm1hbGl6ZSBvYmplY3QgZGlyZWN0b3J5OiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBub3JtYWxpc2VyIGxlIHLDqXBlcnRvaXJlIGQnb2JqZXTCoDogJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjU2NQorIzogc2hhMS1maWxlLmM6NjI1CiBtc2dpZCAidW5hYmxlIHRvIGZkb3BlbiBhbHRlcm5hdGVzIGxvY2tmaWxlIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIChmZG9wZW4pIGxlIGZpY2hpZXIgdmVycm91IGRlcyBhbHRlcm5hdGl2ZXMiCiAKLSM6IHNoYTEtZmlsZS5jOjU4MworIzogc2hhMS1maWxlLmM6NjQzCiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgYWx0ZXJuYXRlcyBmaWxlIgogbXNnc3RyICJsZWN0dXJlIGR1IGZpY2hpZXIgZCdhbHRlcm5hdGl2ZXMgaW1wb3NzaWJsZSIKIAotIzogc2hhMS1maWxlLmM6NTkwCisjOiBzaGExLWZpbGUuYzo2NTAKIG1zZ2lkICJ1bmFibGUgdG8gbW92ZSBuZXcgYWx0ZXJuYXRlcyBmaWxlIGludG8gcGxhY2UiCiBtc2dzdHIgImltcG9zc2libGUgZGUgZMOpcGxhY2VyIGxlIG5vdXZlYXUgZmljaGllciBkJ2FsdGVybmF0aXZlIgogCi0jOiBzaGExLWZpbGUuYzo2MjUKKyM6IHNoYTEtZmlsZS5jOjY4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImxlIGNoZW1pbiAnJXMnIG4nZXhpc3RlIHBhcyIKIAotIzogc2hhMS1maWxlLmM6NjUxCisjOiBzaGExLWZpbGUuYzo3MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBhcyBhIGxpbmtlZCBjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iCiBtc2dzdHIgIiIKICJleHRyYWlyZSBsZSBkw6lww7R0IGRlIHLDqWbDqXJlbmNlICclcycgY29tbWUgdW5lIGV4dHJhY3Rpb24gbGnDqWUgbidlc3QgcGFzICIKICJlbmNvcmUgc3VwcG9ydMOpLiIKIAotIzogc2hhMS1maWxlLmM6NjU3CisjOiBzaGExLWZpbGUuYzo3MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIKIG1zZ3N0ciAibGUgZMOpcMO0dCBkZSByw6lmw6lyZW5jZSAnJXMnIG4nZXN0IHBhcyB1biBkw6lww7R0IGxvY2FsLiIKIAotIzogc2hhMS1maWxlLmM6NjYzCisjOiBzaGExLWZpbGUuYzo3MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IgogbXNnc3RyICJsZSBkw6lww7R0IGRlIHLDqWbDqXJlbmNlICclcycgZXN0IHN1cGVyZmljaWVsIgogCi0jOiBzaGExLWZpbGUuYzo2NzEKKyM6IHNoYTEtZmlsZS5jOjczMQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiCiBtc2dzdHIgImxlIGTDqXDDtHQgZGUgcsOpZsOpcmVuY2UgJyVzJyBlc3QgZ3JlZmbDqSIKIAotIzogc2hhMS1maWxlLmM6NzgxCisjOiBzaGExLWZpbGUuYzo3OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBsaW5lIHdoaWxlIHBhcnNpbmcgYWx0ZXJuYXRlIHJlZnM6ICVzIgorbXNnc3RyICJsaWduZSBpbnZhbGlkZSBwZW5kYW50IGwnYW5hbHlzZSBkZXMgcmVmcyBhbHRlcm5hdGl2ZXPCoDogJXMiCisKKyM6IHNoYTEtZmlsZS5jOjk0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhdHRlbXB0aW5nIHRvIG1tYXAgJTxQUkl1TUFYPiBvdmVyIGxpbWl0ICU8UFJJdU1BWD4iCiBtc2dzdHIgImVzc2FpIGRlIG1tYXAgJTxQUkl1TUFYPiBhdSBkZWzDoCBkZSBsYSBsaW1pdGUgJTxQUkl1TUFYPiIKIAotIzogc2hhMS1maWxlLmM6ODA2CisjOiBzaGExLWZpbGUuYzo5NjQKIG1zZ2lkICJtbWFwIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIG1tYXAiCiAKLSM6IHNoYTEtZmlsZS5jOjk3MworIzogc2hhMS1maWxlLmM6MTEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgZmlsZSAlcyBpcyBlbXB0eSIKIG1zZ3N0ciAibGUgZmljaGllciBvYmpldCAlcyBlc3QgdmlkZSIKIAotIzogc2hhMS1maWxlLmM6MTA5MyBzaGExLWZpbGUuYzoyMjE1CisjOiBzaGExLWZpbGUuYzoxMjUyIHNoYTEtZmlsZS5jOjIzOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBsb29zZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAib2JqZXQgbGlicmUgY29ycm9tcHUgJyVzJyIKIAotIzogc2hhMS1maWxlLmM6MTA5NSBzaGExLWZpbGUuYzoyMjE5CisjOiBzaGExLWZpbGUuYzoxMjU0IHNoYTEtZmlsZS5jOjIzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2FyYmFnZSBhdCBlbmQgb2YgbG9vc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgImRvbm7DqWVzIGluY29ycmVjdGVzIMOgIGxhIGZpbiBkZSBsJ29iamV0IGxpYnJlICclcyciCiAKLSM6IHNoYTEtZmlsZS5jOjExMzcKKyM6IHNoYTEtZmlsZS5jOjEyOTYKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCB0eXBlIgogbXNnc3RyICJ0eXBlIGQnb2JqZXQgaW52YWxpZGUiCiAKLSM6IHNoYTEtZmlsZS5jOjEyMTkKKyM6IHNoYTEtZmlsZS5jOjEzODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayAlcyBoZWFkZXIgd2l0aCAtLWFsbG93LXVua25vd24tdHlwZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6lwYXF1ZXRlciBsJ2VudMOqdGUgJXMgYXZlYyAtLWFsbG93LXVua25vdy10eXBlIgogCi0jOiBzaGExLWZpbGUuYzoxMjIyCisjOiBzaGExLWZpbGUuYzoxMzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1bnBhY2sgJXMgaGVhZGVyIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqXBhcXVldGVyIGwnZW50w6p0ZSAlcyIKIAotIzogc2hhMS1maWxlLmM6MTIyOAorIzogc2hhMS1maWxlLmM6MTM4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJXMgaGVhZGVyIHdpdGggLS1hbGxvdy11bmtub3duLXR5cGUiCiBtc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsJ2VudMOqdGUgJXMgYXZlYyAtLWFsbG93LXVua25vdy10eXBlIgogCi0jOiBzaGExLWZpbGUuYzoxMjMxCisjOiBzaGExLWZpbGUuYzoxMzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAlcyBoZWFkZXIiCiBtc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsJ2VudMOqdGUgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjE0MjIKKyM6IHNoYTEtZmlsZS5jOjE1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbCdvYmpldCAlcyIKIAotIzogc2hhMS1maWxlLmM6MTQyNgorIzogc2hhMS1maWxlLmM6MTU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBsYWNlbWVudCAlcyBub3QgZm91bmQgZm9yICVzIgogbXNnc3RyICJyZW1wbGFjZW1lbnQgJXMgbm9uIHRyb3V2w6kgcG91ciAlcyIKIAotIzogc2hhMS1maWxlLmM6MTQzMAorIzogc2hhMS1maWxlLmM6MTU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJsb29zZSBvYmplY3QgJXMgKHN0b3JlZCBpbiAlcykgaXMgY29ycnVwdCIKIG1zZ3N0ciAibCdvYmpldCBsaWJyZSAlcyAoc3RvY2vDqSBkYW5zICVzKSBlc3QgY29ycm9tcHUiCiAKLSM6IHNoYTEtZmlsZS5jOjE0MzQKKyM6IHNoYTEtZmlsZS5jOjE1OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFja2VkIG9iamVjdCAlcyAoc3RvcmVkIGluICVzKSBpcyBjb3JydXB0IgogbXNnc3RyICJsJ29iamV0IGVtcGFxdWV0w6kgJXMgKHN0b2Nrw6kgZGFucyAlcykgZXN0IGNvcnJvbXB1IgogCi0jOiBzaGExLWZpbGUuYzoxNTM2CisjOiBzaGExLWZpbGUuYzoxNjk5CiAjLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzaGExIGZpbGVuYW1lICVzIgotbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBmaWNoaWVyIHNoYTEgJXMiCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJXMiCittc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlIGZpY2hpZXIgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjE1NDMKKyM6IHNoYTEtZmlsZS5jOjE3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHNldCBwZXJtaXNzaW9uIHRvICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgcsOpZ2xlciBsZXMgZHJvaXRzIGRlICclcyciCiAKLSM6IHNoYTEtZmlsZS5jOjE1NTAKKyM6IHNoYTEtZmlsZS5jOjE3MTMKIG1zZ2lkICJmaWxlIHdyaXRlIGVycm9yIgogbXNnc3RyICJlcnJldXIgZCfDqWNyaXR1cmUgZCd1biBmaWNoaWVyIgogCi0jOiBzaGExLWZpbGUuYzoxNTY5Ci1tc2dpZCAiZXJyb3Igd2hlbiBjbG9zaW5nIHNoYTEgZmlsZSIKLW1zZ3N0ciAiZXJyZXVyIGVuIGZlcm1ldHVyZSBkdSBmaWNoaWVyIHNoYTEiCisjOiBzaGExLWZpbGUuYzoxNzMyCittc2dpZCAiZXJyb3Igd2hlbiBjbG9zaW5nIGxvb3NlIG9iamVjdCBmaWxlIgorbXNnc3RyICJlcnJldXIgZW4gZmVybWV0dXJlIGR1IGZpY2hpZXIgZCdvYmpldCBlc3NldWzDqSIKIAotIzogc2hhMS1maWxlLmM6MTYzNQorIzogc2hhMS1maWxlLmM6MTc5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnN1ZmZpY2llbnQgcGVybWlzc2lvbiBmb3IgYWRkaW5nIGFuIG9iamVjdCB0byByZXBvc2l0b3J5IGRhdGFiYXNlICVzIgogbXNnc3RyICIiCiAiZHJvaXRzIGluc3VmZmlzYW50cyBwb3VyIGFqb3V0ZXIgdW4gb2JqZXQgw6AgbGEgYmFzZSBkZSBkb25uw6llcyAlcyBkdSBkw6lww7R0IgogCi0jOiBzaGExLWZpbGUuYzoxNjM3CisjOiBzaGExLWZpbGUuYzoxNzk5CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgdW4gZmljaGllciB0ZW1wb3JhaXJlIgogCi0jOiBzaGExLWZpbGUuYzoxNjYxCi1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIHNoYTEgZmlsZSIKLW1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgZmljaGllciBzaGExIgorIzogc2hhMS1maWxlLmM6MTgyMworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBsb29zZSBvYmplY3QgZmlsZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgZmljaGllciBkJ29iamV0IGVzc2V1bMOpIgogCi0jOiBzaGExLWZpbGUuYzoxNjY3CisjOiBzaGExLWZpbGUuYzoxODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZWZsYXRlIG5ldyBvYmplY3QgJXMgKCVkKSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb21wcmVzc2VyIGxlIG5vdXZlbCBvYmpldCAlcyAoJWQpIgogCi0jOiBzaGExLWZpbGUuYzoxNjcxCisjOiBzaGExLWZpbGUuYzoxODMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlZmxhdGVFbmQgb24gb2JqZWN0ICVzIGZhaWxlZCAoJWQpIgogbXNnc3RyICLDqWNoZWMgZGUgZGVmbGF0ZUVuZCBzdXIgbCdvYmpldCAlcyAoJWQpIgogCi0jOiBzaGExLWZpbGUuYzoxNjc1CisjOiBzaGExLWZpbGUuYzoxODM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbmZ1c2VkIGJ5IHVuc3RhYmxlIG9iamVjdCBzb3VyY2UgZGF0YSBmb3IgJXMiCiBtc2dzdHIgImRvbm7DqWVzIGRlIHNvdXJjZSBkJ29iamV0IGluc3RhYmxlIHBvdXIgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjE2ODUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5MTgKKyM6IHNoYTEtZmlsZS5jOjE4NDcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHV0aW1lKCkgb24gJXMiCiBtc2dzdHIgIsOpY2hlYyBkZSB1dGltZSgpIHN1ciAlcyIKIAotIzogc2hhMS1maWxlLmM6MTc2MAorIzogc2hhMS1maWxlLmM6MTkyMgogIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgcmVhZCBzaGExX2ZpbGUgZm9yICVzIgotbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgZmljaGllciBzaGExIHBvdXIgJXMiCittc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0IGZvciAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGwnb2JqZXQgcG91ciAlcyIKIAotIzogc2hhMS1maWxlLmM6MTgwNQorIzogc2hhMS1maWxlLmM6MTk2MgogbXNnaWQgImNvcnJ1cHQgY29tbWl0IgogbXNnc3RyICJjb21taXQgY29ycm9tcHUiCiAKLSM6IHNoYTEtZmlsZS5jOjE4MTMKKyM6IHNoYTEtZmlsZS5jOjE5NzAKIG1zZ2lkICJjb3JydXB0IHRhZyIKIG1zZ3N0ciAiw6l0aXF1ZXR0ZSBjb3Jyb21wdWUiCiAKLSM6IHNoYTEtZmlsZS5jOjE5MTIKKyM6IHNoYTEtZmlsZS5jOjIwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCBlcnJvciB3aGlsZSBpbmRleGluZyAlcyIKIG1zZ3N0ciAiZXJyZXVyIGRlIGxlY3R1cmUgw6AgbCdpbmRleGF0aW9uIGRlICVzIgogCi0jOiBzaGExLWZpbGUuYzoxOTE1CisjOiBzaGExLWZpbGUuYzoyMDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgInNob3J0IHJlYWQgd2hpbGUgaW5kZXhpbmcgJXMiCiBtc2dzdHIgImxlY3R1cmUgdHJvbnF1w6llIHBlbmRhbnQgbCdpbmRleGF0aW9uIGRlICVzIgogCi0jOiBzaGExLWZpbGUuYzoxOTg4IHNoYTEtZmlsZS5jOjE5OTcKKyM6IHNoYTEtZmlsZS5jOjIxNDUgc2hhMS1maWxlLmM6MjE1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmFpbGVkIHRvIGluc2VydCBpbnRvIGRhdGFiYXNlIgogbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgbCdpbnNlcnRpb24gZGFucyBsYSBiYXNlIGRlIGRvbm7DqWVzIgogCi0jOiBzaGExLWZpbGUuYzoyMDAzCisjOiBzaGExLWZpbGUuYzoyMTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBmaWxlIHR5cGUiCiBtc2dzdHIgIiVzwqA6IHR5cGUgZGUgZmljaGllciBub24gc3VwcG9ydMOpIgogCi0jOiBzaGExLWZpbGUuYzoyMDI3CisjOiBzaGExLWZpbGUuYzoyMTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIG9iamVjdCIKIG1zZ3N0ciAiJXMgbidlc3QgcGFzIHVuIG9iamV0IHZhbGlkZSIKIAotIzogc2hhMS1maWxlLmM6MjAyOQorIzogc2hhMS1maWxlLmM6MjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCAnJXMnIG9iamVjdCIKIG1zZ3N0ciAiJXMgbidlc3QgcGFzIHVuIG9iamV0ICclcycgdmFsaWRlIgogCi0jOiBzaGExLWZpbGUuYzoyMDU2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NAorIzogc2hhMS1maWxlLmM6MjIxMyBidWlsdGluL2luZGV4LXBhY2suYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjIyMjYgc2hhMS1maWxlLmM6MjI3OAorIzogc2hhMS1maWxlLmM6MjQwMyBzaGExLWZpbGUuYzoyNDU1CiAjLCBjLWZvcm1hdAotbXNnaWQgInNoYTEgbWlzbWF0Y2ggZm9yICVzIChleHBlY3RlZCAlcykiCi1tc2dzdHIgImluY29ow6lyZW5jZSBkZSBzaGExIHBvdXIgJXMgKCVzIGF0dGVuZHUpIgorbXNnaWQgImhhc2ggbWlzbWF0Y2ggZm9yICVzIChleHBlY3RlZCAlcykiCittc2dzdHIgImluY29ow6lyZW5jZSBkZSBoYWNoYWdlIHBvdXIgJXMgKCVzIGF0dGVuZHUpIgogCi0jOiBzaGExLWZpbGUuYzoyMjUwCisjOiBzaGExLWZpbGUuYzoyNDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBtbWFwICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIG1tYXAgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjIyNTUKKyM6IHNoYTEtZmlsZS5jOjI0MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayBoZWFkZXIgb2YgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgZMOpcGFxdWV0ZXIgbCdlbnTDqnRlIGRlICVzIgogCi0jOiBzaGExLWZpbGUuYzoyMjYxCisjOiBzaGExLWZpbGUuYzoyNDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBoZWFkZXIgb2YgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsJ2VudMOqdGUgZGUgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjIyNzIKKyM6IHNoYTEtZmlsZS5jOjI0NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayBjb250ZW50cyBvZiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6lwYXF1ZXRlciBsZSBjb250ZW51IGRlICVzIgogCi0jOiBzaGExLW5hbWUuYzo0NzYKKyM6IHNoYTEtbmFtZS5jOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzaG9ydCBTSEExICVzIGlzIGFtYmlndW91cyIKIG1zZ3N0ciAibGUgU0hBMSBjb3VydCAlcyBlc3QgYW1iaWd1IgogCi0jOiBzaGExLW5hbWUuYzo0ODcKKyM6IHNoYTEtbmFtZS5jOjQ5OAogbXNnaWQgIlRoZSBjYW5kaWRhdGVzIGFyZToiCiBtc2dzdHIgIkxlcyBjYW5kaWRhdHMgc29udMKgOiIKIAotIzogc2hhMS1uYW1lLmM6NzcwCisjOiBzaGExLW5hbWUuYzo3OTcKIG1zZ2lkICIiCiAiR2l0IG5vcm1hbGx5IG5ldmVyIGNyZWF0ZXMgYSByZWYgdGhhdCBlbmRzIHdpdGggNDAgaGV4IGNoYXJhY3RlcnNcbiIKICJiZWNhdXNlIGl0IHdpbGwgYmUgaWdub3JlZCB3aGVuIHlvdSBqdXN0IHNwZWNpZnkgNDAtaGV4LiBUaGVzZSByZWZzXG4iCiAibWF5IGJlIGNyZWF0ZWQgYnkgbWlzdGFrZS4gRm9yIGV4YW1wbGUsXG4iCiAiXG4iCi0iICBnaXQgY2hlY2tvdXQgLWIgJGJyICQoZ2l0IHJldi1wYXJzZSAuLi4pXG4iCisiICBnaXQgc3dpdGNoIC1jICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgogIlxuIgogIndoZXJlIFwiJGJyXCIgaXMgc29tZWhvdyBlbXB0eSBhbmQgYSA0MC1oZXggcmVmIGlzIGNyZWF0ZWQuIFBsZWFzZVxuIgogImV4YW1pbmUgdGhlc2UgcmVmcyBhbmQgbWF5YmUgZGVsZXRlIHRoZW0uIFR1cm4gdGhpcyBtZXNzYWdlIG9mZiBieVxuIgogInJ1bm5pbmcgXCJnaXQgY29uZmlnIGFkdmljZS5vYmplY3ROYW1lV2FybmluZyBmYWxzZVwiIgogbXNnc3RyICIiCi0iR2l0IG5lIGNyw6llIG5vcm1hbGVtZW50IGphbWFpcyBkZSByw6lmw6lyZW5jZSBxdWkgc2UgdGVybWluZSBwYXIgNDAgY2FyYWN0w6hyZXMgIgotImhleGFcbiIKLSJjYXIgZWxsZSBzZXJhaXQgaWdub3LDqWUgc2kgdm91cyBzcMOpY2lmaWlleiA0MC1oZXhhLiBDZXMgcsOpZsOpcmVuY2VzXG4iCi0icGV1dmVudCDDqnRyZSBjcsOpw6llcyBwYXIgZXJyZXVyLiBQYXIgZXhlbXBsZSxcbiIKKyJHaXQgbmUgY3LDqWUgbm9ybWFsZW1lbnQgamFtYWlzIGRlIHLDqWbDqXJlbmNlIHF1aSBzZSB0ZXJtaW5lIHBhciA0MFxuIgorImNhcmFjdMOocmVzIGhleGEgY2FyIGVsbGUgc2VyYWl0IGlnbm9yw6llIHNpIHZvdXMgc3DDqWNpZmlleiBqdXN0ZVxuIgorIjQwLWhleGEuIENlcyByw6lmw6lyZW5jZXMgcGV1dmVudCDDqnRyZSBjcsOpw6llcyBwYXIgZXJyZXVyLiBQYXIgZXhlbXBsZSxcbiIKICJcbiIKLSIgIGdpdCBjaGVja291dCAtYiAkYnIgJChnaXQgcmV2LXBhcnNlIC4uLilcbiIKKyIgIGdpdCBzd2l0Y2ggLWMgJGJyICQoZ2l0IHJldi1wYXJzZSAuLi4pXG4iCiAiXG4iCiAib8O5IFwiJGJyXCIgZXN0IGQndW5lIG1hbmnDqHJlIG91IGQndW5lIGF1dHJlIHZpZGUgZXQgdW5lIHLDqWbDqXJlbmNlIDQwLWhleGEgIgogImVzdCBjcsOpw6llLlxuIgpAQCAtNjAxNyw3MiArNzcyNSwxNDQgQEAKICJtZXNzYWdlXG4iCiAiZW4gbGFuw6dhbnQgXCJnaXQgY29uZmlnIGFkdmljZS5vYmplY3ROYW1lV2FybmluZyBmYWxzZVwiIgogCi0jOiBzdWJtb2R1bGUuYzoxMTYgc3VibW9kdWxlLmM6MTQ1CisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggZ2liaWJ5dGUKKyM6IHN0cmJ1Zi5jOjgyMgorIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBHaUIiCittc2dzdHIgIiV1LiUyLjJ1IEdpbyIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IGdpYmlieXRlL3NlY29uZAorIzogc3RyYnVmLmM6ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IEdpQi9zIgorbXNnc3RyICIldS4lMi4ydSBHaW8vcyIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IG1lYmlieXRlCisjOiBzdHJidWYuYzo4MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgTWlCIgorbXNnc3RyICIldS4lMi4ydSBNaW8iCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBtZWJpYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjgzNAorIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBNaUIvcyIKK21zZ3N0ciAiJXUuJTIuMnUgTWlvL3MiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBraWJpYnl0ZQorIzogc3RyYnVmLmM6ODQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IEtpQiIKK21zZ3N0ciAiJXUuJTIuMnUgS2lvIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDgga2liaWJ5dGUvc2Vjb25kCisjOiBzdHJidWYuYzo4NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgS2lCL3MiCittc2dzdHIgIiV1LiUyLjJ1IEtpby9zIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggYnl0ZQorIzogc3RyYnVmLmM6ODQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiV1IGJ5dGUiCittc2dpZF9wbHVyYWwgIiV1IGJ5dGVzIgorbXNnc3RyWzBdICIldSBvY3RldCIKK21zZ3N0clsxXSAiJXUgb2N0ZXRzIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjg1MQorIywgYy1mb3JtYXQKK21zZ2lkICIldSBieXRlL3MiCittc2dpZF9wbHVyYWwgIiV1IGJ5dGVzL3MiCittc2dzdHJbMF0gIiV1IG9jdGV0L3MiCittc2dzdHJbMV0gIiV1IG9jdGV0cy9zIgorCisjOiBzdHJidWYuYzoxMTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBlZGl0ICclcyciCittc2dzdHIgImltcG9zc2libGUgZCfDqWRpdGVyICclcyciCisKKyM6IHN1Ym1vZHVsZS5jOjExNCBzdWJtb2R1bGUuYzoxNDMKIG1zZ2lkICJDYW5ub3QgY2hhbmdlIHVubWVyZ2VkIC5naXRtb2R1bGVzLCByZXNvbHZlIG1lcmdlIGNvbmZsaWN0cyBmaXJzdCIKIG1zZ3N0ciAiIgogIk1vZGlmaWNhdGlvbiBpbXBvc3NpYmxlIGRlIC5naXRtb2R1bGVzIG5vbiBmdXNpb25uw6ksIHLDqXNvbHZleiBsZXMgY29uZmxpdHMgIgogImQnYWJvcmQiCiAKLSM6IHN1Ym1vZHVsZS5jOjEyMCBzdWJtb2R1bGUuYzoxNDkKKyM6IHN1Ym1vZHVsZS5jOjExOCBzdWJtb2R1bGUuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgc2VjdGlvbiBpbiAuZ2l0bW9kdWxlcyB3aGVyZSBwYXRoPSVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgdW5lIHNlY3Rpb24gb8O5IHBhdGg9JXMgZGFucyAuZ2l0bW9kdWxlcyIKIAogIyBpY2kgJXMgZXN0IHVuIGNoZW1pbgotIzogc3VibW9kdWxlLmM6MTU2CisjOiBzdWJtb2R1bGUuYzoxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSAuZ2l0bW9kdWxlcyBlbnRyeSBmb3IgJXMiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc3VwcHJpbWVyIGwnw6lsw6ltZW50IGRlIC5naXRtb2R1bGVzIHBvdXIgJXMiCiAKLSM6IHN1Ym1vZHVsZS5jOjE2NworIzogc3VibW9kdWxlLmM6MTY1CiBtc2dpZCAic3RhZ2luZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIG1pc2UgZW4gaW5kZXggZHUgLmdpdG1vZHVsZXMgbWlzIMOgIGpvdXIiCiAKLSM6IHN1Ym1vZHVsZS5jOjMyOQorIzogc3VibW9kdWxlLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImluIHVucG9wdWxhdGVkIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJkYW5zIGxlIHNvdXMtbW9kdWxlICclcycgbm9uIHBvcHVsw6kiCiAKLSM6IHN1Ym1vZHVsZS5jOjM2MAorIzogc3VibW9kdWxlLmM6MzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhdGhzcGVjICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKIG1zZ3N0ciAiTGUgY2hlbWluICclcycgZXN0IGRhbnMgbGUgc291cy1tb2R1bGUgJyUuKnMnIgogCi0jOiBzdWJtb2R1bGUuYzo4NTcKKyM6IHN1Ym1vZHVsZS5jOjkxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJzdWJtb2R1bGUgZW50cnkgJyVzJyAoJXMpIGlzIGEgJXMsIG5vdCBhIGNvbW1pdCIKIG1zZ3N0ciAibCdlbnRyw6llIGRlIHNvdXMtbW9kdWxlICclcycgKCVzKSBlc3QgdW4gJXMsIHBhcyB1biBjb21taXQiCiAKLSM6IHN1Ym1vZHVsZS5jOjEwOTcgYnVpbHRpbi9icmFuY2guYzo2NTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5ODUKKyM6IHN1Ym1vZHVsZS5jOjExNDcgYnVpbHRpbi9icmFuY2guYzo2ODAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwMTYKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiw4ljaGVjIGRlIHLDqXNvbHV0aW9uIGRlIEhFQUQgY29tbWUgcsOpZsOpcmVuY2UgdmFsaWRlLiIKIAotIzogc3VibW9kdWxlLmM6MTQwNAorIzogc3VibW9kdWxlLmM6MTQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgYWNjZXNzIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICJJbXBvc3NpYmxlIGQnYWNjw6lkZXIgYXUgc291cy1tb2R1bGUgJyVzJyIKKworIzogc3VibW9kdWxlLmM6MTY1MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIG5vdCByZWNvZ25pemVkIGFzIGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIiclcycgbidlc3QgcGFzIHJlY29ubnUgY29tbWUgZMOpcMO0dCBnaXQiCiAKLSM6IHN1Ym1vZHVsZS5jOjE1NDIKKyM6IHN1Ym1vZHVsZS5jOjE3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXJ0ICdnaXQgc3RhdHVzJyBpbiBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6ltYXJyZXIgJ2dpdCBzdGF0dXMnIGRhbnMgbGUgc291cy1tb2R1bGUgJyVzJyIKIAotIzogc3VibW9kdWxlLmM6MTU1NQorIzogc3VibW9kdWxlLmM6MTgwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcnVuICdnaXQgc3RhdHVzJyBpbiBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsYW5jZXIgJ2dpdCBzdGF0dXMnIGRhbnMgbGUgc291cy1tb2R1bGUgJyVzJyIKIAotIzogc3VibW9kdWxlLmM6MTY0OAorIzogc3VibW9kdWxlLmM6MTgxNworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgdW5zZXQgY29yZS53b3JrdHJlZSBzZXR0aW5nIGluIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGTDqXNhY3RpdmVyIGNvcmUud29ya3RyZWUgZGFucyBsZSBzb3VzLW1vZHVsZSAnJXMnIgorCisjOiBzdWJtb2R1bGUuYzoxOTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGhhcyBkaXJ0eSBpbmRleCIKIG1zZ3N0ciAibGUgc291cy1tb2R1bGUgJyVzJyBhIHVuIGluZGV4IHNhbGUiCiAKLSM6IHN1Ym1vZHVsZS5jOjE3MDAKKyM6IHN1Ym1vZHVsZS5jOjE5NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgY291bGQgbm90IGJlIHVwZGF0ZWQuIgogbXNnc3RyICJsZSBzb3VzLW1vZHVsZSAnJXMnIG4nYSBwYXMgcHUgw6p0cmUgbWlzIMOgIGpvdXIuIgogCi0jOiBzdWJtb2R1bGUuYzoxNzQ3CisjOiBzdWJtb2R1bGUuYzoyMDI3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSBnaXQgZGlyICclcycgaXMgaW5zaWRlIGdpdCBkaXIgJyUuKnMnIgorbXNnc3RyICJsZSByw6lwZXJ0b2lyZSBnaXQgZHUgc291cy1tb2R1bGUgJyVzJyBlc3Qgw6AgbCdpbnTDqXJpZXVyIGR1IHLDqXBlcnRvaXJlIGdpdCAnJS4qcyciCisKKyM6IHN1Ym1vZHVsZS5jOjIwNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJlbG9jYXRlX2dpdGRpciBmb3Igc3VibW9kdWxlICclcycgd2l0aCBtb3JlIHRoYW4gb25lIHdvcmt0cmVlIG5vdCBzdXBwb3J0ZWQiCkBAIC02MDkwLDEyICs3ODcwLDE3IEBACiAicmVsb2NhdGVfZ2l0ZGlyIHBvdXIgbGUgc291cy1tb2R1bGUgJyVzJyBhdmVjIHBsdXMgZCd1biBhcmJyZSBkZSB0cmF2YWlsICIKICJuJ2VzdCBwYXMgc3VwcG9ydMOpIgogCi0jOiBzdWJtb2R1bGUuYzoxNzU5IHN1Ym1vZHVsZS5jOjE4MTUKKyM6IHN1Ym1vZHVsZS5jOjIwNjAgc3VibW9kdWxlLmM6MjExOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIG5hbWUgZm9yIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHRyb3V2ZSBsZSBub20gcG91ciBsZSBzb3VzLW1vZHVsZSAnJXMnIgogCi0jOiBzdWJtb2R1bGUuYzoxNzY2CisjOiBzdWJtb2R1bGUuYzoyMDY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZnVzaW5nIHRvIG1vdmUgJyVzJyBpbnRvIGFuIGV4aXN0aW5nIGdpdCBkaXIiCittc2dzdHIgInJlZnVzIGRlIGTDqXBsYWNlciAnJXMnIGRhbnMgdW5lIHLDqXBlcnRvaXJlIGdpdCBleGlzdGFudCIKKworIzogc3VibW9kdWxlLmM6MjA3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTWlncmF0aW5nIGdpdCBkaXJlY3Rvcnkgb2YgJyVzJXMnIGZyb21cbiIKQEAgLTYxMDYsNDIgKzc4OTEsNDIgQEAKICInJXMnIHN1clxuIgogIiclcydcbiIKIAotIzogc3VibW9kdWxlLmM6MTg1MAorIzogc3VibW9kdWxlLmM6MjE1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJyw6ljdXJzaW9uIGltcG9zc2libGUgZGFucyBsZSBzb3VzLW1vZHVsZSAnJXMnIgogCi0jOiBzdWJtb2R1bGUuYzoxODk0CisjOiBzdWJtb2R1bGUuYzoyMTk4CiBtc2dpZCAiY291bGQgbm90IHN0YXJ0IGxzLWZpbGVzIGluIC4uIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqW1hcnJlciBscy1maWxlcyBkYW5zIC4uIgogCi0jOiBzdWJtb2R1bGUuYzoxOTMzCisjOiBzdWJtb2R1bGUuYzoyMjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImxzLXRyZWUgcmV0dXJuZWQgdW5leHBlY3RlZCByZXR1cm4gY29kZSAlZCIKIG1zZ3N0ciAibHMtdHJlZSBhIHJlbnZvecOpIHVuIGNvZGUgZGUgcmV0b3VyIGluYXR0ZW5kdSAlZCIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjIzMgorIzogc3VibW9kdWxlLWNvbmZpZy5jOjIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBzdXNwaWNpb3VzIHN1Ym1vZHVsZSBuYW1lOiAlcyIKIG1zZ3N0ciAibm9tIGRlIHNvdXMtbW9kdWxlIHN1c3BpY2lldXggJXMgaWdub3LDqSIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjI5NgorIzogc3VibW9kdWxlLWNvbmZpZy5jOjMwMwogbXNnaWQgIm5lZ2F0aXZlIHZhbHVlcyBub3QgYWxsb3dlZCBmb3Igc3VibW9kdWxlLmZldGNoam9icyIKIG1zZ3N0ciAibGVzIHZhbGV1cnMgbsOpZ2F0aXZlcyBuZSBzb250IHBhcyBwZXJtaXNlcyBwb3VyIHN1Ym1vZHVsZS5mZXRjaEpvYnMiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzozOTAKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo0MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgJyVzJyB3aGljaCBtYXkgYmUgaW50ZXJwcmV0ZWQgYXMgYSBjb21tYW5kLWxpbmUgb3B0aW9uOiAlcyIKIG1zZ3N0ciAiIgogIiclcycgaWdub3LDqSBldCBxdWkgcGV1dCDDqnRyZSBpbnRlcnByw6l0w6kgY29tbWUgdW5lIG9wdGlvbiBkZSBsaWduZSBkZSAiCiAiY29tbWFuZGXCoDogJXMiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzo0NzkKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXMiCiBtc2dzdHIgIlZhbGV1ciBpbnZhbGlkZSBwb3VyICVzIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6NzU0CisjOiBzdWJtb2R1bGUtY29uZmlnLmM6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgLmdpdG1vZHVsZXMgZW50cnkgJXMiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbCfDqWzDqW1lbnQgJXMgZGUgLmdpdG1vZHVsZXMiCkBAIC02MTc2LDcgKzc5NjEsNyBAQAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgbGlyZSBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiB0cmFpbGVyLmM6MTAxMSBidWlsdGluL2FtLmM6NDcKKyM6IHRyYWlsZXIuYzoxMDExIHdyYXBwZXIuYzo2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXQgJXMiCiBtc2dzdHIgInN0YXQgaW1wb3NzaWJsZSBkZSAlcyIKQEAgLTYyMDUsNDggKzc5OTAsNTYgQEAKIG1zZ2lkICJXb3VsZCBzZXQgdXBzdHJlYW0gb2YgJyVzJyB0byAnJXMnIG9mICclcydcbiIKIG1zZ3N0ciAiUG9zaXRpb25uZXJhaXQgbGEgYnJhbmNoZSBhbW9udCBkZSAnJXMnIHN1ciAnJXMnIGRlICclcydcbiIKIAotIzogdHJhbnNwb3J0LmM6MTQyCisjOiB0cmFuc3BvcnQuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgYnVuZGxlICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsYSBsaWFzc2UgJyVzJyIKIAotIzogdHJhbnNwb3J0LmM6MjA4CisjOiB0cmFuc3BvcnQuYzoyMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhbnNwb3J0OiBpbnZhbGlkIGRlcHRoIG9wdGlvbiAnJXMnIgogbXNnc3RyICJ0cmFuc3BvcnTCoDogb3B0aW9uIGRlIHByb2ZvbmRldXIgaW52YWxpZGUgJyVzJyIKIAotIzogdHJhbnNwb3J0LmM6NjE2CisjOiB0cmFuc3BvcnQuYzoyNjYKK21zZ2lkICJzZWUgcHJvdG9jb2wudmVyc2lvbiBpbiAnZ2l0IGhlbHAgY29uZmlnJyBmb3IgbW9yZSBkZXRhaWxzIgorbXNnc3RyICJ2b2lyIHByb3RvY29sLnZlcnNpb24gZGFucyAnZ2l0IGhlbHAgY29uZmlnJyBwb3VyIHBsdXMgZCdpbmZvcm1hdGlvbiIKKworIzogdHJhbnNwb3J0LmM6MjY3Cittc2dpZCAic2VydmVyIG9wdGlvbnMgcmVxdWlyZSBwcm90b2NvbCB2ZXJzaW9uIDIgb3IgbGF0ZXIiCittc2dzdHIgImxlcyBvcHRpb25zIGRlIHNlcnZldXIgZXhpZ2VudCB1bmUgdmVyc2lvbiAyIG91IHN1cMOpcmlldXJlIgorCisjOiB0cmFuc3BvcnQuYzo2MzIKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgdHJhbnNwb3J0LmNvbG9yLiogY29uZmlnIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGEgY29uZmlndXJhdGlvbiB0cmFuc3BvcnQuY29sb3IuKiIKIAotIzogdHJhbnNwb3J0LmM6Njg5CisjOiB0cmFuc3BvcnQuYzo3MDUKIG1zZ2lkICJzdXBwb3J0IGZvciBwcm90b2NvbCB2MiBub3QgaW1wbGVtZW50ZWQgeWV0IgogbXNnc3RyICJsZSBzdXBwb3J0IGR1IHByb3RvY29sZSB2MiBuJ2VzdCBwYXMgZW5jb3JlIGltcGxhbnTDqSIKIAotIzogdHJhbnNwb3J0LmM6ODE2CisjOiB0cmFuc3BvcnQuYzo4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biB2YWx1ZSBmb3IgY29uZmlnICclcyc6ICVzIgogbXNnc3RyICJ2YWxldXIgaW5jb25udWUgcG91ciBsYSBjb25maWcgJyVzJ8KgOiAlcyIKIAotIzogdHJhbnNwb3J0LmM6ODgyCisjOiB0cmFuc3BvcnQuYzo4OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhbnNwb3J0ICclcycgbm90IGFsbG93ZWQiCiBtc2dzdHIgInRyYW5zcG9ydCAnJXMnIG5vbiBwZXJtaXMiCiAKLSM6IHRyYW5zcG9ydC5jOjkzNgorIzogdHJhbnNwb3J0LmM6OTQ5CiBtc2dpZCAiZ2l0LW92ZXItcnN5bmMgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCIKIG1zZ3N0ciAiZ2l0LW92ZXItcnN5bmMgbidlc3QgcGx1cyBzdXBwb3J0w6kiCiAKLSM6IHRyYW5zcG9ydC5jOjEwMzEKKyM6IHRyYW5zcG9ydC5jOjEwNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIHBhdGhzIGNvbnRhaW4gY2hhbmdlcyB0aGF0IGNhblxuIgogIm5vdCBiZSBmb3VuZCBvbiBhbnkgcmVtb3RlOlxuIgogbXNnc3RyICIiCi0iTGVzIGNoZW1pbnMgc3VpdmFudCBkZSBzb3VzLW1vZHVsZSBjb250aWVubmVudCBkZXMgbW9kaWZpY2F0aW9uc1xuIgorIkxlcyBjaGVtaW5zIHN1aXZhbnRzIGRlIHNvdXMtbW9kdWxlIGNvbnRpZW5uZW50IGRlcyBtb2RpZmljYXRpb25zXG4iCiAicXVpIG5lIHBldXZlbnQgw6p0cmUgdHJvdXbDqWVzIHN1ciBhdWN1biBkaXN0YW50wqA6XG4iCiAKLSM6IHRyYW5zcG9ydC5jOjEwMzUKKyM6IHRyYW5zcG9ydC5jOjEwNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNjI3MywzOCArODA2NiwzMyBAQAogInBvdXIgbGVzIHBvdXNzZXIgdmVycyB1biBzZXJ2ZXVyIGRpc3RhbnQuXG4iCiAiXG4iCiAKLSM6IHRyYW5zcG9ydC5jOjEwNDMKKyM6IHRyYW5zcG9ydC5jOjEwNTYKIG1zZ2lkICJBYm9ydGluZy4iCiBtc2dzdHIgIkFiYW5kb24uIgogCi0jOiB0cmFuc3BvcnQuYzoxMTgyCisjOiB0cmFuc3BvcnQuYzoxMjAxCiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggYWxsIG5lZWRlZCBzdWJtb2R1bGVzIgotbXNnc3RyICJlY2hlYyBkZSBsYSBwb3Vzc8OpZSBkZSB0b3V0IGxlcyBzb3VzLW1vZHVsZXMgbsOpY2Vzc2FpcmVzIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgcG91c3PDqWUgZGUgdG91cyBsZXMgc291cy1tb2R1bGVzIG7DqWNlc3NhaXJlcyIKIAotIzogdHJhbnNwb3J0LmM6MTMxNSB0cmFuc3BvcnQtaGVscGVyLmM6NjQzCisjOiB0cmFuc3BvcnQuYzoxMzQ1IHRyYW5zcG9ydC1oZWxwZXIuYzo2NTYKIG1zZ2lkICJvcGVyYXRpb24gbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbCIKIG1zZ3N0ciAib3B0aW9uIG5vbiBzdXBwb3J0w6llIHBhciBsZSBwcm90b2NvbGUiCiAKLSM6IHRyYW5zcG9ydC5jOjE0MTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBsaW5lIHdoaWxlIHBhcnNpbmcgYWx0ZXJuYXRlIHJlZnM6ICVzIgotbXNnc3RyICJsaWduZSBpbnZhbGlkZSBwZW5kYW50IGwnYW5hbHlzZSBkZXMgcmVmcyBhbHRlcm5hdGl2ZXPCoDogJXMiCi0KLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MSB0cmFuc3BvcnQtaGVscGVyLmM6ODAKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2MSB0cmFuc3BvcnQtaGVscGVyLmM6OTAKIG1zZ2lkICJmdWxsIHdyaXRlIHRvIHJlbW90ZSBoZWxwZXIgZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZGUgbCfDqWNyaXR1cmUgdG90YWxlIHN1ciBsJ2Fzc2lzdGFudCBkaXN0YW50IgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTMyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBmaW5kIHJlbW90ZSBoZWxwZXIgZm9yICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZGUgdHJvdXZlciB1biBhc3Npc3RhbnQgZGlzdGFudCBwb3VyICclcyciCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDggdHJhbnNwb3J0LWhlbHBlci5jOjU1NworIzogdHJhbnNwb3J0LWhlbHBlci5jOjE2MCB0cmFuc3BvcnQtaGVscGVyLmM6NTcwCiBtc2dpZCAiY2FuJ3QgZHVwIGhlbHBlciBvdXRwdXQgZmQiCiBtc2dzdHIgIiIKICJpbXBvc3NpYmxlIGRlIGR1cGxpcXVlciBsZSBkZXNjcmlwdGV1ciBkZSBmbHV4IGRlIHNvcnRpZSBkZSBsJ2Fzc2lzdGFudCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjE5OQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjIxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidW5rbm93biBtYW5kYXRvcnkgY2FwYWJpbGl0eSAlczsgdGhpcyByZW1vdGUgaGVscGVyIHByb2JhYmx5IG5lZWRzIG5ld2VyICIKQEAgLTYzMTMsMTAzICs4MTAxLDEwOCBAQAogImNhcGFjaXTDqSBvYmxpZ2F0b2lyZSBpbmNvbm51ZSAlc8KgOyBjZXQgYXNzaXN0YW50IGRpc3RhbnQgcmVxdWllcnQgIgogInByb2JhYmxlbWVudCB1bmUgdW5lIG5vdXZlbGxlIHZlcnNpb24gZGUgR2l0IgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MjA1CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MjE3CiBtc2dpZCAidGhpcyByZW1vdGUgaGVscGVyIHNob3VsZCBpbXBsZW1lbnQgcmVmc3BlYyBjYXBhYmlsaXR5IgogbXNnc3RyICJjZXQgYXNzaXN0YW50IGRpc3RhbnQgZGV2cmFpdCBzdXBwb3J0ZXIgbGEgY2FwYWNpdMOpIHJlZnNwZWMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoyNzIgdHJhbnNwb3J0LWhlbHBlci5jOjQxMgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjI4NCB0cmFuc3BvcnQtaGVscGVyLmM6NDI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHVuZXhwZWN0ZWRseSBzYWlkOiAnJXMnIgogbXNnc3RyICIlcyBhIGRpdCBkZSBtYW5pw6hyZSBpbmF0dGVuZHVlwqA6ICclcyciCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo0MDEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo0MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgYWxzbyBsb2NrZWQgJXMiCiBtc2dzdHIgIiVzIGEgYXVzc2kgdmVycm91aWxsw6kgJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo0NzkKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo0OTIKIG1zZ2lkICJjb3VsZG4ndCBydW4gZmFzdC1pbXBvcnQiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGFuY2VyIGZhc3QtaW1wb3J0IgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NTAyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NTE1CiBtc2dpZCAiZXJyb3Igd2hpbGUgcnVubmluZyBmYXN0LWltcG9ydCIKIG1zZ3N0ciAiZXJyZXVyIGF1IGxhbmNlbWVudCBkZSBmYXN0LWltcG9ydCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjUzMSB0cmFuc3BvcnQtaGVscGVyLmM6MTA5MQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjU0NCB0cmFuc3BvcnQtaGVscGVyLmM6MTEzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCByZWYgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsYSByw6lmICVzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NTc2CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gcmVzcG9uc2UgdG8gY29ubmVjdDogJXMiCiBtc2dzdHIgInLDqXBvbnNlIGluY29ubnVlIMOgIGNvbm5lY3TCoDogJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1OTgKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2MTEKIG1zZ2lkICJzZXR0aW5nIHJlbW90ZSBzZXJ2aWNlIHBhdGggbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbCIKIG1zZ3N0ciAiIgogImxhIHNww6ljaWZpY2F0aW9uIGR1IGNoZW1pbiBkZSBzZXJ2aWNlIGRpc3RhbnQgbidlc3QgcGFzIHN1cHBvcnTDqWUgcGFyIGxlICIKICJwcm90b2NvbGUiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2MDAKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2MTMKIG1zZ2lkICJpbnZhbGlkIHJlbW90ZSBzZXJ2aWNlIHBhdGgiCiBtc2dzdHIgImNoZW1pbiBkZSBzZXJ2aWNlIGRpc3RhbnQgaW52YWxpZGUiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2NDYKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3QgY29ubmVjdCB0byBzdWJzZXJ2aWNlICVzIgotbXNnc3RyICJpbXBvc3NpYmxlIGRlIHNlIGNvbm5lY3RlciBhcyBzb3VzLXNlcnZpY2UgJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgc2UgY29ubmVjdGVyIGF1IHNvdXMtc2VydmljZSAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjcxMworIzogdHJhbnNwb3J0LWhlbHBlci5jOjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBvay9lcnJvciwgaGVscGVyIHNhaWQgJyVzJyIKIG1zZ3N0ciAib2svZXJyb3IgYXR0ZW5kdSwgbCdhc3Npc3RhbnQgYSBkaXQgJyVzJyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjc2NgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjc4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgcmVwb3J0ZWQgdW5leHBlY3RlZCBzdGF0dXMgb2YgJXMiCiBtc2dzdHIgImwnYXNzaXN0YW50IGEgcmVudm95w6kgdW4gc3RhdHV0IGRlIHJldG91ciBpbmF0dGVuZHUgJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4MjcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgZHJ5LXJ1biIKIG1zZ3N0ciAibCdhc3Npc3RhbnQgJXMgbmUgZ8OocmUgcGFzIGRyeS1ydW4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4MzAKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQiCiBtc2dzdHIgImwnYXNzaXN0YW50ICVzIG5lIGfDqHJlIHBhcyAtLXNpZ25lZCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjgzMworIzogdHJhbnNwb3J0LWhlbHBlci5jOjg1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAtLXNpZ25lZD1pZi1hc2tlZCIKIG1zZ3N0ciAibCdhc3Npc3RhbnQgJXMgbmUgZ8OocmUgcGFzIC0tc2lnbmVkPWlmLWFza2VkIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6ODQwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIgorbXNnc3RyICJsJ2Fzc2lzdGFudCAlcyBuZSBnw6hyZSBwYXMgLS1hdG9taWMiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgJ3B1c2gtb3B0aW9uJyIKIG1zZ3N0ciAibCdhc3Npc3RhbnQgJXMgbmUgZ8OocmUgcGFzICdwdXNoLW9wdGlvbiciCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5MzIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5NjQKIG1zZ2lkICJyZW1vdGUtaGVscGVyIGRvZXNuJ3Qgc3VwcG9ydCBwdXNoOyByZWZzcGVjIG5lZWRlZCIKIG1zZ3N0ciAiIgogImwnYXNzaXN0YW50ICVzIG5lIGfDqHJlIHBhcyBwdXNowqA7IHVuIHNww6ljaWZpY2F0ZXVyIGRlIHLDqWbDqXJlbmNlIGVzdCAiCiAibsOpY2Vzc2FpcmUiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5MzcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgJ2ZvcmNlJyIKIG1zZ3N0ciAibCdhc3Npc3RhbnQgJXMgbmUgZ8OocmUgcGFzICdmb3JjZSciCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5ODQKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDE2CiBtc2dpZCAiY291bGRuJ3QgcnVuIGZhc3QtZXhwb3J0IgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxhbmNlciBmYXN0LWV4cG9ydCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjk4OQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwMjEKIG1zZ2lkICJlcnJvciB3aGlsZSBydW5uaW5nIGZhc3QtZXhwb3J0IgogbXNnc3RyICJlcnJldXIgYXUgbGFuY2VtZW50IGRlIGZhc3QtZXhwb3J0IgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTAxNAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIHJlZnMgaW4gY29tbW9uIGFuZCBub25lIHNwZWNpZmllZDsgZG9pbmcgbm90aGluZy5cbiIKQEAgLTY0MTgsNDcgKzgyMTEsNDcgQEAKICJBdWN1bmUgcsOpZsOpcmVuY2UgZW4gY29tbXVuIGV0IGF1Y3VuZSBzcMOpY2Zpw6llwqA7IHJpZW4gw6AgZmFpcmUuXG4iCiAiVm91cyBkZXZyaWV6IHBldXQtw6p0cmUgc3DDqWNpZmllciB1bmUgYnJhbmNoZSB0ZWxsZSBxdWUgJ21hc3RlcicuXG4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDc3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTExOQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgcmVzcG9uc2UgaW4gcmVmIGxpc3Q6ICVzIgogbXNnc3RyICJyw6lwb25zZSBtYWxmb3Jtw6llIGRhbnMgbGUgbGlzdGUgZGUgcsOpZnPCoDogJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMjMxCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkKCVzKSBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkZSByZWFkKCVzKSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEyNTgKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIndyaXRlKCVzKSBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkZSB3cml0ZSglcykiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzA3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB0aHJlYWQgZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZHUgZmlsIGQnZXjDqWN1dGlvbiAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMTEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHRocmVhZCBmYWlsZWQgdG8gam9pbjogJXMiCiBtc2dzdHIgIsOpY2hlYyBkZSBqb25jdGlvbiBkdSBmaWwgZCdleMOpY3V0aW9uICVzwqA6ICVzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTMzMCB0cmFuc3BvcnQtaGVscGVyLmM6MTMzNAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNzAgdHJhbnNwb3J0LWhlbHBlci5jOjEzNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3Qgc3RhcnQgdGhyZWFkIGZvciBjb3B5aW5nIGRhdGE6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqW1hcnJlciBsZSBmaWwgZCdleMOpY3V0aW9uIHBvdXIgY29waWVyIGxlcyBkb25uw6llc8KgOiAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNzEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHByb2Nlc3MgZmFpbGVkIHRvIHdhaXQiCiBtc2dzdHIgIsOpY2hlYyBkdSBwcm9jZXNzdXMgJXMgcG91ciBsJ2F0dGVudGUiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzc1CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTQxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBwcm9jZXNzIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGR1IHByb2Nlc3N1cyAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzOTMgdHJhbnNwb3J0LWhlbHBlci5jOjE0MDIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDMzIHRyYW5zcG9ydC1oZWxwZXIuYzoxNDQyCiBtc2dpZCAiY2FuJ3Qgc3RhcnQgdGhyZWFkIGZvciBjb3B5aW5nIGRhdGEiCiBtc2dzdHIgImltcG9zc2libGUgZGUgZMOpbWFycmVyIGxlIGZpbCBkJ2V4w6ljdXRpb24gcG91ciBjb3BpZXIgbGVzIGRvbm7DqWVzIgogCkBAIC02NDc0LDExICs4MjY3LDE2IEBACiBtc2dpZCAiZW1wdHkgZmlsZW5hbWUgaW4gdHJlZSBlbnRyeSIKIG1zZ3N0ciAibm9tIGRlIGZpY2hpZXIgdmlkZSBkYW5zIHVuZSBlbnRyw6llIGRlIGwnYXJicmUiCiAKLSM6IHRyZWUtd2Fsay5jOjExNQorIzogdHJlZS13YWxrLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZW5hbWUgaW4gdHJlZSBlbnRyeSBjb250YWlucyBiYWNrc2xhc2g6ICclcyciCittc2dzdHIgImxlIG5vbSBkdSBmaWNoaWVyIGRhbnMgbCdlbnRyw6llIGRlIGwnYXJicmUgY29udGllbnQgdW5lIGJhcnJlIG9ibGlxdWUgaW52ZXJzw6llwqA6ICclcyciCisKKyM6IHRyZWUtd2Fsay5jOjEyNAogbXNnaWQgInRvby1zaG9ydCB0cmVlIGZpbGUiCiBtc2dzdHIgImZpY2hpZXIgYXJicmUgdHJvcCBjb3VydCIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTEyCisjOiB1bnBhY2stdHJlZXMuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgpAQCAtNjQ4OSw3ICs4Mjg3LDcgQEAKICIlJXNWZXVpbGxleiB2YWxpZGVyIG91IHJlbWlzZXIgdm9zIG1vZGlmaWNhdGlvbnMgYXZhbnQgZGUgYmFzY3VsZXIgZGUgIgogImJyYW5jaGUuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTQKKyM6IHVucGFjay10cmVlcy5jOjExMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCkBAIC02NDk5LDcgKzgyOTcsNyBAQAogImwnZXh0cmFjdGlvbsKgOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTE3CisjOiB1bnBhY2stdHJlZXMuYzoxMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtNjUwOSw3ICs4MzA3LDcgQEAKICJmdXNpb27CoDpcbiIKICIlJXNWZXVpbGxleiB2YWxpZGVyIG91IHJlbWlzZXIgdm9zIG1vZGlmaWNhdGlvbnMgYXZhbnQgbGEgZnVzaW9uLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTE5CisjOiB1bnBhY2stdHJlZXMuYzoxMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtNjUxOSw3ICs4MzE3LDcgQEAKICJmdXNpb27CoDpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEyMgorIzogdW5wYWNrLXRyZWVzLmM6MTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTY1MjgsNyArODMyNiw3IEBACiAiVm9zIG1vZGlmaWNhdGlvbnMgbG9jYWxlcyBhdXggZmljaGllcnMgc3VpdmFudHMgc2VyYWllbnQgw6ljcmFzw6llcyBwYXIgJXPCoDpcbiIKICIlJXNWZXVpbGxleiB2YWxpZGVyIG91IHJlbWlzZXIgdm9zIG1vZGlmaWNhdGlvbnMgYXZhbnQgJXMuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjQKKyM6IHVucGFjay10cmVlcy5jOjEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCkBAIC02NTM3LDcgKzgzMzUsNyBAQAogIlZvcyBtb2RpZmljYXRpb25zIGxvY2FsZXMgYXV4IGZpY2hpZXJzIHN1aXZhbnRzIHNlcmFpZW50IMOpY3Jhc8OpZXMgcGFyICVzwqA6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjkKKyM6IHVucGFjay10cmVlcy5jOjEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXBkYXRpbmcgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyB3b3VsZCBsb3NlIHVudHJhY2tlZCBmaWxlcyBpbiB0aGVtOlxuIgpAQCAtNjU0Nyw3ICs4MzQ1LDcgQEAKICJjb250ZW51c8KgOlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzMKKyM6IHVucGFjay10cmVlcy5jOjEzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCkBAIC02NTU3LDcgKzgzNTUsNyBAQAogImwnZXh0cmFjdGlvbsKgOlxuIgogIiUlc1ZldWlsbGV6IHJlbm9tbWVyIG91IGVmZmFjZXIgY2VzIGZpY2hpZXJzIGF2YW50IGRlIGJhc2N1bGVyIGRlIGJyYW5jaGUuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzUKKyM6IHVucGFjay10cmVlcy5jOjEzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCkBAIC02NTY2LDcgKzgzNjQsNyBAQAogIkxlcyBmaWNoaWVycyBzdWl2YW50cyBub24gc3VpdmlzIHNlcmFpZW50IGVmZmFjw6lzIHBhciBsJ2V4dHJhY3Rpb27CoDpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzOAorIzogdW5wYWNrLXRyZWVzLmM6MTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKQEAgLTY1NzYsNyArODM3NCw3IEBACiAibGEgZnVzaW9uwqA6XG4iCiAiJSVzVmV1aWxsZXogcmVub21tZXIgb3UgZWZmYWNlciBjZXMgZmljaGllcnMgYXZhbnQgbGEgZnVzaW9uLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQwCisjOiB1bnBhY2stdHJlZXMuYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgpAQCAtNjU4NSw3ICs4MzgzLDcgQEAKICJMZXMgZmljaGllcnMgc3VpdmFudHMgbm9uIHN1aXZpcyBzZXJhaWVudCBlZmZhY8OpcyBwYXIgbGEgZnVzaW9uwqA6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDMKKyM6IHVucGFjay10cmVlcy5jOjE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCkBAIC02NTk1LDcgKzgzOTMsNyBAQAogIiVzwqA6XG4iCiAiJSVzVmV1aWxsZXogcmVub21tZXIgb3UgZWZmYWNlciBjZXMgZmljaGllcnMgYXZhbnQgJXMuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDUKKyM6IHVucGFjay10cmVlcy5jOjE0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCkBAIC02NjA0LDcgKzg0MDIsNyBAQAogIkxlcyBmaWNoaWVycyBzdWl2YW50cyBub24gc3VpdmlzIHNlcmFpZW50IGVmZmFjw6lzIHBhciAlc8KgOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTUxCisjOiB1bnBhY2stdHJlZXMuYzoxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCkBAIC02NjE1LDcgKzg0MTMsNyBAQAogImwnZXh0cmFjdGlvbsKgOlxuIgogIiUlc1ZldWlsbGV6IHJlbm9tbWVyIG91IGVmZmFjZXIgY2VzIGZpY2hpZXJzIGF2YW50IGRlIGJhc2N1bGVyIGRlIGJyYW5jaGUuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNTMKKyM6IHVucGFjay10cmVlcy5jOjE1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKQEAgLTY2MjUsNyArODQyMyw3IEBACiAiTGVzIGZpY2hpZXJzIHN1aXZhbnRzIG5vbiBzdWl2aXMgc2VyYWllbnQgw6ljcmFzw6lzIHBhciBsJ2V4dHJhY3Rpb27CoDpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE1NgorIzogdW5wYWNrLXRyZWVzLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC02NjM1LDcgKzg0MzMsNyBAQAogImxhIGZ1c2lvbsKgOlxuIgogIiUlc1ZldWlsbGV6IHJlbm9tbWVyIG91IGVmZmFjZXIgY2VzIGZpY2hpZXJzIGF2YW50IGxhIGZ1c2lvbi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE1OAorIzogdW5wYWNrLXRyZWVzLmM6MTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC02NjQ0LDcgKzg0NDIsNyBAQAogIkxlcyBmaWNoaWVycyBzdWl2YW50cyBub24gc3VpdmlzIHNlcmFpZW50IMOpY3Jhc8OpcyBwYXIgbGEgZnVzaW9uwqA6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNjEKKyM6IHVucGFjay10cmVlcy5jOjE1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtNjY1NCw3ICs4NDUyLDcgQEAKICIlc8KgOlxuIgogIiUlc1ZldWlsbGV6IHJlbm9tbWVyIG91IGVmZmFjZXIgY2VzIGZpY2hpZXJzIGF2YW50ICVzLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTYzCisjOiB1bnBhY2stdHJlZXMuYzoxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTY2NjMsMTIgKzg0NjEsMTIgQEAKICJMZXMgZmljaGllcnMgc3VpdmFudHMgbm9uIHN1aXZpcyBzZXJhaWVudCDDqWNyYXPDqXMgcGFyICVzwqA6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNzEKKyM6IHVucGFjay10cmVlcy5jOjE2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJFbnRyeSAnJXMnIG92ZXJsYXBzIHdpdGggJyVzJy4gIENhbm5vdCBiaW5kLiIKIG1zZ3N0ciAiTCdlbnRyw6llICclcycgc3VyY2hhcmdlIGF2ZWMgJyVzJy4gQWZmZWN0YXRpb24gaW1wb3NzaWJsZS4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE3NAorIzogdW5wYWNrLXRyZWVzLmM6MTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgdXBkYXRlIHNwYXJzZSBjaGVja291dDogdGhlIGZvbGxvd2luZyBlbnRyaWVzIGFyZSBub3QgdXAgdG8gZGF0ZTpcbiIKQEAgLTY2NzgsNyArODQ3Niw3IEBACiAicGFzIMOgIGpvdXLCoDpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTc2CisjOiB1bnBhY2stdHJlZXMuYzoxNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IHNwYXJzZSBjaGVja291dCAiCkBAIC02Njg5LDcgKzg0ODcsNyBAQAogImpvdXIgcGFyIGwnZXh0cmFjdGlvbiBjcmV1c2XCoDpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTc4CisjOiB1bnBhY2stdHJlZXMuYzoxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgc3BhcnNlIGNoZWNrb3V0ICIKQEAgLTY3MDAsNyArODQ5OCw3IEBACiAiw6Agam91ciBwYXIgZXh0cmFjdGlvbiBjcmV1c2XCoDpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTgwCisjOiB1bnBhY2stdHJlZXMuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgc3VibW9kdWxlOlxuIgpAQCAtNjcwOSwxNiArODUwNywxNiBAQAogIk1pc2Ugw6Agam91ciBpbXBvc3NpYmxlIHBvdXIgbGUgc291cy1tb2R1bGXCoDpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MjU0CisjOiB1bnBhY2stdHJlZXMuYzoyNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmdcbiIKIG1zZ3N0ciAiQWJhbmRvblxuIgogCi0jOiB1bnBhY2stdHJlZXMuYzozMzYKLW1zZ2lkICJDaGVja2luZyBvdXQgZmlsZXMiCi1tc2dzdHIgIkV4dHJhY3Rpb24gZGVzIGZpY2hpZXJzIgorIzogdW5wYWNrLXRyZWVzLmM6MzE3Cittc2dpZCAiVXBkYXRpbmcgZmlsZXMiCittc2dzdHIgIk1pc2Ugw6Agam91ciBkZXMgZmljaGllcnMiCiAKLSM6IHVucGFjay10cmVlcy5jOjM2OAorIzogdW5wYWNrLXRyZWVzLmM6MzQ5CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgcGF0aHMgaGF2ZSBjb2xsaWRlZCAoZS5nLiBjYXNlLXNlbnNpdGl2ZSBwYXRoc1xuIgogIm9uIGEgY2FzZS1pbnNlbnNpdGl2ZSBmaWxlc3lzdGVtKSBhbmQgb25seSBvbmUgZnJvbSB0aGUgc2FtZVxuIgpAQCAtNjcyOCw2ICs4NTI2LDEwIEBACiAic2Vuc2libGVzIMOgIGxhIGNhc3NlIGRhbnMgdW5lIHN5c3TDqG1lIGRlIGZpY2hpZXIgaW5zZW5zaWJsZSkgZXQgdW5cbiIKICJzZXVsIGR1IGdyb3VwZSBlbiBjb2xsaXNpb24gZXN0IGRhbnMgbCdhcmJyZSBkZSB0cmF2YWlswqA6XG4iCiAKKyM6IHVucGFjay10cmVlcy5jOjE0NDEKK21zZ2lkICJVcGRhdGluZyBpbmRleCBmbGFncyIKK21zZ3N0ciAiTWlzZSDDoCBqb3VyIGRlcyBkcmFwZWF1eCBkZSBsJ2luZGV4IgorCiAjOiB1cmxtYXRjaC5jOjE2MwogbXNnaWQgImludmFsaWQgVVJMIHNjaGVtZSBuYW1lIG9yIG1pc3NpbmcgJzovLycgc3VmZml4IgogbXNnc3RyICJub20gZGUgc2Now6ltYSBkJ1VSTCBpbnZhbGlkZSBvdSBzdWZmaXhlICc6Ly8nIG1hbnF1YW50IgpAQCAtNjc1NywyMDUgKzg1NTksMjExIEBACiBtc2dpZCAiaW52YWxpZCAnLi4nIHBhdGggc2VnbWVudCIKIG1zZ3N0ciAic2VnbWVudCBkZSBjaGVtaW4gJy4uJyBpbnZhbGlkZSIKIAotIzogd29ya3RyZWUuYzoyNDkgYnVpbHRpbi9hbS5jOjIxMDAKKyM6IHdvcmt0cmVlLmM6MjU4IGJ1aWx0aW4vYW0uYzoyMDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkICclcyciCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBsZWN0dXJlIGRlICclcyciCiAKLSM6IHdvcmt0cmVlLmM6Mjk1CisjOiB3b3JrdHJlZS5jOjMwNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGF0IG1haW4gd29ya2luZyB0cmVlIGlzIG5vdCB0aGUgcmVwb3NpdG9yeSBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKICInJXMnIGRhbnMgbCdhcmJyZSBkZSB0cmF2YWlsIHByaW5jaXBhbCBuJ2VzdCBwYXMgbGUgcsOpcGVydG9pcmUgZGUgZMOpcMO0dCIKIAotIzogd29ya3RyZWUuYzozMDYKKyM6IHdvcmt0cmVlLmM6MzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZmlsZSBkb2VzIG5vdCBjb250YWluIGFic29sdXRlIHBhdGggdG8gdGhlIHdvcmtpbmcgdHJlZSBsb2NhdGlvbiIKIG1zZ3N0ciAiIgogImxlIGZpY2hpZXIgJyVzJyBuZSBjb250aWVudCBwYXMgZGUgY2hlbWluIGFic29sdSDDoCBsJ2VtcGxhY2VtZW50IGRlIGwnYXJicmUgIgogImRlIHRyYXZhaWwiCiAKLSM6IHdvcmt0cmVlLmM6MzE4CisjOiB3b3JrdHJlZS5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICInJXMnIG4nZXhpc3RlIHBhcyIKIAotIzogd29ya3RyZWUuYzozMjQKKyM6IHdvcmt0cmVlLmM6MzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgLmdpdCBmaWxlLCBlcnJvciBjb2RlICVkIgogbXNnc3RyICInJXMnIG4nZXN0IHBhcyB1biBmaWNoaWVyIC5naXQsIGNvZGUgZCdlcnJldXIgJWQiCiAKLSM6IHdvcmt0cmVlLmM6MzMyCisjOiB3b3JrdHJlZS5jOjM0MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IHBvaW50IGJhY2sgdG8gJyVzJyIKIG1zZ3N0ciAiJyVzJyBuZSBwb2ludGUgcGFzIGVuIHJldG91ciBzdXIgJyVzJyIKIAotIzogd3JhcHBlci5jOjIyMyB3cmFwcGVyLmM6MzkzCisjOiB3cmFwcGVyLmM6MTg2IHdyYXBwZXIuYzozNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAnJXMnIGVuIGxlY3R1cmUvw6ljcml0dXJlIgogCi0jOiB3cmFwcGVyLmM6NDI0IHdyYXBwZXIuYzo2MjQKKyM6IHdyYXBwZXIuYzozODcgd3JhcHBlci5jOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCdhY2PDqWRlciDDoCAnJXMnIgogCi0jOiB3cmFwcGVyLmM6NjMyCisjOiB3cmFwcGVyLmM6NTk2CiBtc2dpZCAidW5hYmxlIHRvIGdldCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYWNjw6lkZXIgYXUgcsOpcGVydG9pcmUgZGUgdHJhdmFpbCBjb3VyYW50IgogCi0jOiB3dC1zdGF0dXMuYzoxNTQKKyM6IHd0LXN0YXR1cy5jOjE1OAogbXNnaWQgIlVubWVyZ2VkIHBhdGhzOiIKIG1zZ3N0ciAiQ2hlbWlucyBub24gZnVzaW9ubsOpcyA6IgogCi0jOiB3dC1zdGF0dXMuYzoxODEgd3Qtc3RhdHVzLmM6MjA4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiAgKHVzZSBcImdpdCByZXNldCAlcyA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKLW1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgcmVzZXQgJXMgPGZpY2hpZXI+Li4uXCIgcG91ciBkw6lzaW5kZXhlcikiCisjOiB3dC1zdGF0dXMuYzoxODcgd3Qtc3RhdHVzLmM6MjE5Cittc2dpZCAiICAodXNlIFwiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCittc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpY2hpZXI+Li4uXCIgcG91ciBkw6lzaW5kZXhlcikiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MyB3dC1zdGF0dXMuYzoyMTAKKyM6IHd0LXN0YXR1cy5jOjE5MCB3dC1zdGF0dXMuYzoyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAodXNlIFwiZ2l0IHJlc3RvcmUgLS1zb3VyY2U9JXMgLS1zdGFnZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCittc2dzdHIgIiIKKyIgICh1dGlsaXNleiBcImdpdCByZXN0b3JlIC0tc291cmNlPSVzIC0tc3RhZ2VkIDxmaWNoaWVyPi4uLlwiIHBvdXIgIgorImTDqXNpbmRleGVyKSIKKworIzogd3Qtc3RhdHVzLmM6MTkzIHd0LXN0YXR1cy5jOjIyNQogbXNnaWQgIiAgKHVzZSBcImdpdCBybSAtLWNhY2hlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgcm0gLS1jYWNoZWQgPGZpY2hpZXI+Li4uXCIgcG91ciBkw6lzaW5kZXhlcikiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NworIzogd3Qtc3RhdHVzLmM6MTk3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBhZGQgPGZpY2hpZXI+Li4uXCIgcG91ciBtYXJxdWVyIGNvbW1lIHLDqXNvbHUpIgogCi0jOiB3dC1zdGF0dXMuYzoxODkgd3Qtc3RhdHVzLmM6MTkzCisjOiB3dC1zdGF0dXMuYzoxOTkgd3Qtc3RhdHVzLmM6MjAzCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAiICAodXRpbGlzZXogXCJnaXQgYWRkL3JtIDxmaWNoaWVyPi4uLlwiIHNpIG7DqWNlc3NhaXJlIHBvdXIgbWFycXVlciBjb21tZSAiCiAicsOpc29sdSkiCiAKLSM6IHd0LXN0YXR1cy5jOjE5MQorIzogd3Qtc3RhdHVzLmM6MjAxCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IHJtIDxmaWNoaWVyPi4uLlwiIHBvdXIgbWFycXVlciBjb21tZSByw6lzb2x1KSIKIAotIzogd3Qtc3RhdHVzLmM6MjAyIHd0LXN0YXR1cy5jOjEwNDIKKyM6IHd0LXN0YXR1cy5jOjIxMSB3dC1zdGF0dXMuYzoxMDc0CiBtc2dpZCAiQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgogbXNnc3RyICJNb2RpZmljYXRpb25zIHF1aSBzZXJvbnQgdmFsaWTDqWVzIDoiCiAKLSM6IHd0LXN0YXR1cy5jOjIyMCB3dC1zdGF0dXMuYzoxMDUxCisjOiB3dC1zdGF0dXMuYzoyMzQgd3Qtc3RhdHVzLmM6MTA4MwogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAiTW9kaWZpY2F0aW9ucyBxdWkgbmUgc2Vyb250IHBhcyB2YWxpZMOpZXMgOiIKIAotIzogd3Qtc3RhdHVzLmM6MjI0CisjOiB3dC1zdGF0dXMuYzoyMzgKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogIiAgKHV0aWxpc2V6IFwiZ2l0IGFkZCA8ZmljaGllcj4uLi5cIiBwb3VyIG1ldHRyZSDDoCBqb3VyIGNlIHF1aSBzZXJhIHZhbGlkw6kpIgogCi0jOiB3dC1zdGF0dXMuYzoyMjYKKyM6IHd0LXN0YXR1cy5jOjI0MAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAodXRpbGlzZXogXCJnaXQgYWRkL3JtIDxmaWNoaWVyPi4uLlwiIHBvdXIgbWV0dHJlIMOgIGpvdXIgY2UgcXVpIHNlcmEgIgogInZhbGlkw6kpIgogCi0jOiB3dC1zdGF0dXMuYzoyMjcKKyM6IHd0LXN0YXR1cy5jOjI0MQogbXNnaWQgIiIKLSIgICh1c2UgXCJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKKyIgICh1c2UgXCJnaXQgcmVzdG9yZSA8ZmlsZT4uLi5cIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpIgogbXNnc3RyICIiCi0iICAodXRpbGlzZXogXCJnaXQgY2hlY2tvdXQgLS0gPGZpY2hpZXI+Li4uXCIgcG91ciBhbm51bGVyIGxlcyBtb2RpZmljYXRpb25zICIKLSJkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwpIgorIiAgKHV0aWxpc2V6IFwiZ2l0IHJlc3RvcmUgPGZpY2hpZXI+Li4uXCIgcG91ciBhbm51bGVyIGxlcyBtb2RpZmljYXRpb25zIGRhbnMgIgorImxlIHLDqXBlcnRvaXJlIGRlIHRyYXZhaWwpIgogCi0jOiB3dC1zdGF0dXMuYzoyMjkKKyM6IHd0LXN0YXR1cy5jOjI0MwogbXNnaWQgIiAgKGNvbW1pdCBvciBkaXNjYXJkIHRoZSB1bnRyYWNrZWQgb3IgbW9kaWZpZWQgY29udGVudCBpbiBzdWJtb2R1bGVzKSIKIG1zZ3N0ciAiIgogIiAgKHZhbGlkZXIgb3UgYW5udWxlciBsZSBjb250ZW51IG5vbiBzdWl2aSBvdSBtb2RpZmnDqSBkYW5zIGxlcyBzb3VzLW1vZHVsZXMpIgogCi0jOiB3dC1zdGF0dXMuYzoyNDEKKyM6IHd0LXN0YXR1cy5jOjI1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgJXMgPGZpbGU+Li4uXCIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogIiAgKHV0aWxpc2V6IFwiZ2l0ICVzIDxmaWNoaWVyPi4uLlwiIHBvdXIgaW5jbHVyZSBkYW5zIGNlIHF1aSBzZXJhIHZhbGlkw6kpIgogCi0jOiB3dC1zdGF0dXMuYzoyNTYKKyM6IHd0LXN0YXR1cy5jOjI2OAogbXNnaWQgImJvdGggZGVsZXRlZDoiCiBtc2dzdHIgInN1cHByaW3DqSBkZXMgZGV1eCBjw7R0w6lzIDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI1OAorIzogd3Qtc3RhdHVzLmM6MjcwCiBtc2dpZCAiYWRkZWQgYnkgdXM6IgogbXNnc3RyICJham91dMOpIHBhciBub3VzIDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MAorIzogd3Qtc3RhdHVzLmM6MjcyCiBtc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKIG1zZ3N0ciAic3VwcHJpbcOpIHBhciBldXggOiIKIAotIzogd3Qtc3RhdHVzLmM6MjYyCisjOiB3dC1zdGF0dXMuYzoyNzQKIG1zZ2lkICJhZGRlZCBieSB0aGVtOiIKIG1zZ3N0ciAiYWpvdXTDqSBwYXIgZXV4IDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NAorIzogd3Qtc3RhdHVzLmM6Mjc2CiBtc2dpZCAiZGVsZXRlZCBieSB1czoiCiBtc2dzdHIgInN1cHByaW3DqSBwYXIgbm91cyA6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjYKKyM6IHd0LXN0YXR1cy5jOjI3OAogbXNnaWQgImJvdGggYWRkZWQ6IgogbXNnc3RyICJham91dMOpIGRlIGRldXggY8O0dMOpcyA6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjgKKyM6IHd0LXN0YXR1cy5jOjI4MAogbXNnaWQgImJvdGggbW9kaWZpZWQ6IgogbXNnc3RyICJtb2RpZmnDqSBkZXMgZGV1eCBjw7R0w6lzIDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI3OAorIzogd3Qtc3RhdHVzLmM6MjkwCiBtc2dpZCAibmV3IGZpbGU6IgogbXNnc3RyICJub3V2ZWF1IGZpY2hpZXLCoDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MAorIzogd3Qtc3RhdHVzLmM6MjkyCiBtc2dpZCAiY29waWVkOiIKIG1zZ3N0ciAiY29wacOpwqA6IgogCi0jOiB3dC1zdGF0dXMuYzoyODIKKyM6IHd0LXN0YXR1cy5jOjI5NAogbXNnaWQgImRlbGV0ZWQ6IgogbXNnc3RyICJzdXBwcmltw6nCoDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NAorIzogd3Qtc3RhdHVzLmM6Mjk2CiBtc2dpZCAibW9kaWZpZWQ6IgogbXNnc3RyICJtb2RpZmnDqcKgOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg2CisjOiB3dC1zdGF0dXMuYzoyOTgKIG1zZ2lkICJyZW5hbWVkOiIKIG1zZ3N0ciAicmVub21tw6nCoDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4OAorIzogd3Qtc3RhdHVzLmM6MzAwCiBtc2dpZCAidHlwZWNoYW5nZToiCiBtc2dzdHIgIm1vZGlmLiB0eXBlwqA6IgogCi0jOiB3dC1zdGF0dXMuYzoyOTAKKyM6IHd0LXN0YXR1cy5jOjMwMgogbXNnaWQgInVua25vd246IgogbXNnc3RyICJpbmNvbm51wqA6IgogCi0jOiB3dC1zdGF0dXMuYzoyOTIKKyM6IHd0LXN0YXR1cy5jOjMwNAogbXNnaWQgInVubWVyZ2VkOiIKIG1zZ3N0ciAibm9uIGZ1c2lvbm7DqcKgOiIKIAotIzogd3Qtc3RhdHVzLmM6MzcyCisjOiB3dC1zdGF0dXMuYzozODQKIG1zZ2lkICJuZXcgY29tbWl0cywgIgogbXNnc3RyICJub3V2ZWF1eCBjb21taXRzLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM3NAorIzogd3Qtc3RhdHVzLmM6Mzg2CiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICJjb250ZW51IG1vZGlmacOpLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM3NgorIzogd3Qtc3RhdHVzLmM6Mzg4CiBtc2dpZCAidW50cmFja2VkIGNvbnRlbnQsICIKIG1zZ3N0ciAiY29udGVudSBub24gc3VpdmksICIKIAotIzogd3Qtc3RhdHVzLmM6ODgwCisjOiB3dC1zdGF0dXMuYzo5MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJ5IgogbXNnaWRfcGx1cmFsICJZb3VyIHN0YXNoIGN1cnJlbnRseSBoYXMgJWQgZW50cmllcyIKIG1zZ3N0clswXSAiVm90cmUgcmVtaXNhZ2UgY29udGllbnQgYWN0dWVsbGVtZW50ICVkIGVudHLDqWUiCiBtc2dzdHJbMV0gIlZvdHJlIHJlbWlzYWdlIGNvbnRpZW50IGFjdHVlbGxlbWVudCAlZCBlbnRyw6llcyIKIAotIzogd3Qtc3RhdHVzLmM6OTEyCisjOiB3dC1zdGF0dXMuYzo5MzgKIG1zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKIG1zZ3N0ciAiU291cy1tb2R1bGVzIG1vZGlmacOpcyBtYWlzIG5vbiBtaXMgw6Agam91ciA6IgogCi0jOiB3dC1zdGF0dXMuYzo5MTQKKyM6IHd0LXN0YXR1cy5jOjk0MAogbXNnaWQgIlN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIkNoYW5nZW1lbnRzIGR1IHNvdXMtbW9kdWxlIMOgIHZhbGlkZXIgOiIKIAotIzogd3Qtc3RhdHVzLmM6OTk2CisjOiB3dC1zdGF0dXMuYzoxMDIyCiBtc2dpZCAiIgogIkRvIG5vdCBtb2RpZnkgb3IgcmVtb3ZlIHRoZSBsaW5lIGFib3ZlLlxuIgogIkV2ZXJ5dGhpbmcgYmVsb3cgaXQgd2lsbCBiZSBpZ25vcmVkLiIKQEAgLTY5NjMsMTA3ICs4NzcxLDExOSBAQAogIk5lIHRvdWNoZXogcGFzIMOgIGxhIGxpZ25lIGNpLWRlc3N1cy5cbiIKICJUb3V0IGNlIHF1aSBzdWl0IHNlcmEgw6lsaW1pbsOpLiIKIAotIzogd3Qtc3RhdHVzLmM6MTA5NworIzogd3Qtc3RhdHVzLmM6MTExNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gY29tcHV0ZSB0aGUgYnJhbmNoIGFoZWFkL2JlaGluZCB2YWx1ZXMuXG4iCisiWW91IGNhbiB1c2UgJy0tbm8tYWhlYWQtYmVoaW5kJyB0byBhdm9pZCB0aGlzLlxuIgorbXNnc3RyICIiCisiXG4iCisiJS4yZiBzZWNvbmRlcyBvbnQgw6l0w6kgbsOpY2Vzc2FpcmVzIHBvdXIgY2FsY3VsZXIgbGVzIHZhbGV1cnMgZCdhdmFuY2UvcmV0YXJkICIKKyJkZSBsYSBicmFuY2hlLlxuIgorIlZvdXMgcG91dmV6IHV0aWxpc2VyICctLW5vLWFoZWFkLWJlaGluZCcgcG91ciDDqXZpdGVyIGNlY2kuXG4iCisKKyM6IHd0LXN0YXR1cy5jOjExNDQKIG1zZ2lkICJZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4iCiBtc2dzdHIgIlZvdXMgYXZleiBkZXMgY2hlbWlucyBub24gZnVzaW9ubsOpcy4iCiAKLSM6IHd0LXN0YXR1cy5jOjExMDAKKyM6IHd0LXN0YXR1cy5jOjExNDcKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY29tbWl0XCIpIgogbXNnc3RyICIgIChyw6lnbGV6IGxlcyBjb25mbGl0cyBwdWlzIGxhbmNleiBcImdpdCBjb21taXRcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjExMDIKKyM6IHd0LXN0YXR1cy5jOjExNDkKIG1zZ2lkICIgICh1c2UgXCJnaXQgbWVyZ2UgLS1hYm9ydFwiIHRvIGFib3J0IHRoZSBtZXJnZSkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiBwb3VyIGFubnVsZXIgbGEgZnVzaW9uKSIKIAotIzogd3Qtc3RhdHVzLmM6MTEwNgorIzogd3Qtc3RhdHVzLmM6MTE1MwogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgIlRvdXMgbGVzIGNvbmZsaXRzIHNvbnQgcsOpZ2zDqXMgbWFpcyBsYSBmdXNpb24gbidlc3QgcGFzIHRlcm1pbsOpZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjExMDkKKyM6IHd0LXN0YXR1cy5jOjExNTYKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0XCIgdG8gY29uY2x1ZGUgbWVyZ2UpIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBjb21taXRcIiBwb3VyIHRlcm1pbmVyIGxhIGZ1c2lvbikiCiAKLSM6IHd0LXN0YXR1cy5jOjExMTgKKyM6IHd0LXN0YXR1cy5jOjExNjUKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvbi4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgYXUgbWlsaWV1IGQndW5lIHNlc3Npb24gYW0uIgogCi0jOiB3dC1zdGF0dXMuYzoxMTIxCisjOiB3dC1zdGF0dXMuYzoxMTY4CiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICJMZSBwYXRjaCBhY3R1ZWwgZXN0IHZpZGUuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTI1CisjOiB3dC1zdGF0dXMuYzoxMTcyCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAocsOpZ2xleiBsZXMgY29uZmxpdHMgcHVpcyBsYW5jZXogXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTEyNworIzogd3Qtc3RhdHVzLmM6MTE3NAogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBhbSAtLXNraXBcIiBwb3VyIHNhdXRlciBjZSBwYXRjaCkiCiAKLSM6IHd0LXN0YXR1cy5jOjExMjkKKyM6IHd0LXN0YXR1cy5jOjExNzYKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IGFtIC0tYWJvcnRcIiBwb3VyIHJlc3RhdXJlciBsYSBicmFuY2hlIGQnb3JpZ2luZSkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjAKKyM6IHd0LXN0YXR1cy5jOjEzMDkKIG1zZ2lkICJnaXQtcmViYXNlLXRvZG8gaXMgbWlzc2luZy4iCiBtc2dzdHIgImdpdC1yZWJhc2UtdG9kbyBlc3QgbWFucXVhbnQuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYyCisjOiB3dC1zdGF0dXMuYzoxMzExCiBtc2dpZCAiTm8gY29tbWFuZHMgZG9uZS4iCiBtc2dzdHIgIkF1Y3VuZSBjb21tYW5kZSByw6lhbGlzw6llLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2NQorIzogd3Qtc3RhdHVzLmM6MTMxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJMYXN0IGNvbW1hbmQgZG9uZSAoJWQgY29tbWFuZCBkb25lKToiCiBtc2dpZF9wbHVyYWwgIkxhc3QgY29tbWFuZHMgZG9uZSAoJWQgY29tbWFuZHMgZG9uZSk6IgogbXNnc3RyWzBdICJEZXJuacOocmUgY29tbWFuZGUgZWZmZWN0dcOpZSAoJWQgY29tbWFuZGUgZWZmZWN0dcOpZSnCoDoiCiBtc2dzdHJbMV0gIkRlcm5pw6hyZXMgY29tbWFuZGVzIGVmZmVjdHXDqWVzICglZCBjb21tYW5kZXMgZWZmZWN0dcOpZXMpwqA6IgogCi0jOiB3dC1zdGF0dXMuYzoxMjc2CisjOiB3dC1zdGF0dXMuYzoxMzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHNlZSBtb3JlIGluIGZpbGUgJXMpIgogbXNnc3RyICIgICh2b2lyIHBsdXMgZGFucyBsZSBmaWNoaWVyICVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI4MQorIzogd3Qtc3RhdHVzLmM6MTMzMAogbXNnaWQgIk5vIGNvbW1hbmRzIHJlbWFpbmluZy4iCiBtc2dzdHIgIkF1Y3VuZSBjb21tYW5kZSByZXN0YW50ZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyODQKKyM6IHd0LXN0YXR1cy5jOjEzMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTmV4dCBjb21tYW5kIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZCk6IgogbXNnaWRfcGx1cmFsICJOZXh0IGNvbW1hbmRzIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZHMpOiIKIG1zZ3N0clswXSAiUHJvY2hhaW5lIGNvbW1hbmRlIMOgIGVmZmVjdHVlciAoJWQgY29tbWFuZGUgcmVzdGFudGUpwqA6IgogbXNnc3RyWzFdICJQcm9jaGFpbmVzIGNvbW1hbmRlcyDDoCBlZmZlY3R1ZXIgKCVkIGNvbW1hbmRlcyByZXN0YW50ZXMpwqA6IgogCi0jOiB3dC1zdGF0dXMuYzoxMjkyCisjOiB3dC1zdGF0dXMuYzoxMzQxCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHRvIHZpZXcgYW5kIGVkaXQpIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIiBwb3VyIHZvaXIgZXQgw6lkaXRlcikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMDQKKyM6IHd0LXN0YXR1cy5jOjEzNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgZW4gdHJhaW4gZGUgcmViYXNlciBsYSBicmFuY2hlICclcycgc3VyICclcycuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzA5CisjOiB3dC1zdGF0dXMuYzoxMzU4CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICJWb3VzIMOqdGVzIGVuIHRyYWluIGRlIHJlYmFzZXIuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzIyCisjOiB3dC1zdGF0dXMuYzoxMzcxCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKHLDqWdsZXogbGVzIGNvbmZsaXRzIHB1aXMgbGFuY2V6IFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzI0CisjOiB3dC1zdGF0dXMuYzoxMzczCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCByZWJhc2UgLS1za2lwXCIgcG91ciBzYXV0ZXIgY2UgcGF0Y2gpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzI2CisjOiB3dC1zdGF0dXMuYzoxMzc1CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHBvdXIgZXh0cmFpcmUgbGEgYnJhbmNoZSBkJ29yaWdpbmUpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzMzCisjOiB3dC1zdGF0dXMuYzoxMzgyCiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICh0b3VzIGxlcyBjb25mbGl0cyBzb250IHLDqWdsw6lzIDogbGFuY2V6IFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzM3CisjOiB3dC1zdGF0dXMuYzoxMzg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCkBAIC03MDcxLDEyOCArODg5MSwxNDQgQEAKICJWb3VzIMOqdGVzIGFjdHVlbGxlbWVudCBlbiB0cmFpbiBkZSBmcmFjdGlvbm5lciB1biBjb21taXQgcGVuZGFudCB1biByZWJhc2FnZSAiCiAiZGUgbGEgYnJhbmNoZSAnJXMnIHN1ciAnJXMnLiIKIAotIzogd3Qtc3RhdHVzLmM6MTM0MgorIzogd3Qtc3RhdHVzLmM6MTM5MQogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICIiCiAiVm91cyDDqnRlcyBhY3R1ZWxsZW1lbnQgZW4gdHJhaW4gZGUgZnJhY3Rpb25uZXIgdW4gY29tbWl0IHBlbmRhbnQgdW4gcmViYXNhZ2UuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzQ1CisjOiB3dC1zdGF0dXMuYzoxMzk0CiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChVbmUgZm9pcyBsYSBjb3BpZSBkZSB0cmF2YWlsIG5ldHRvecOpZSwgbGFuY2V6IFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzQ5CisjOiB3dC1zdGF0dXMuYzoxMzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgIiIKICJWb3VzIMOqdGVzIGFjdHVlbGxlbWVudCBlbiB0cmFpbiBkJ8OpZGl0ZXIgdW4gY29tbWl0IHBlbmRhbnQgdW4gcmViYXNhZ2UgZGUgbGEgIgogImJyYW5jaGUgJyVzJyBzdXIgJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzNTQKKyM6IHd0LXN0YXR1cy5jOjE0MDMKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIiIKICJWb3VzIMOqdGVzIGFjdHVlbGxlbWVudCBlbiB0cmFpbiBkJ8OpZGl0ZXIgdW4gY29tbWl0IHBlbmRhbnQgdW4gcmViYXNhZ2UuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzU3CisjOiB3dC1zdGF0dXMuYzoxNDA2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgY29tbWl0IC0tYW1lbmRcIiBwb3VyIGNvcnJpZ2VyIGxlIGNvbW1pdCBhY3R1ZWwpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzU5CisjOiB3dC1zdGF0dXMuYzoxNDA4CiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpIgogbXNnc3RyICIiCiAiICAodXRpbGlzZXogXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBxdWFuZCB2b3VzIGF2ZXogZWZmZWN0dcOpIHRvdXRlcyB2b3MgIgogIm1vZGlmaWNhdGlvbnMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzY4CisjOiB3dC1zdGF0dXMuYzoxNDE5Cittc2dpZCAiQ2hlcnJ5LXBpY2sgY3VycmVudGx5IGluIHByb2dyZXNzLiIKK21zZ3N0ciAiUGljb3JhZ2UgZW4gY291cnMuIgorCisjOiB3dC1zdGF0dXMuYzoxNDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGNoZXJyeS1waWNraW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgYWN0dWVsbGVtZW50IGVuIHRyYWluIGRlIHBpY29yZXIgbGUgY29tbWl0ICVzLiIKIAotIzogd3Qtc3RhdHVzLmM6MTM3MworIzogd3Qtc3RhdHVzLmM6MTQyOQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChyw6lnbGV6IGxlcyBjb25mbGl0cyBwdWlzIGxhbmNleiBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzc2CisjOiB3dC1zdGF0dXMuYzoxNDMyCittc2dpZCAiICAocnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiB0byBjb250aW51ZSkiCittc2dzdHIgIiAgKGxhbmNleiBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgcG91ciBjb250aW51ZXIpIgorCisjOiB3dC1zdGF0dXMuYzoxNDM1CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgICh0b3VzIGxlcyBjb25mbGl0cyBzb250IHLDqWdsw6lzIDogbGFuY2V6IFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNzgKKyM6IHd0LXN0YXR1cy5jOjE0MzcKK21zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKK21zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgY2hlcnJ5LXBpY2sgLS1za2lwXCIgcG91ciBzYXV0ZXIgY2UgcGF0Y2gpIgorCisjOiB3dC1zdGF0dXMuYzoxNDM5CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCiBtc2dzdHIgIiAgKHV0aWxpc2V6IFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiBwb3VyIGFubnVsZXIgbGUgcGljb3JhZ2UpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzg2CisjOiB3dC1zdGF0dXMuYzoxNDQ5Cittc2dpZCAiUmV2ZXJ0IGN1cnJlbnRseSBpbiBwcm9ncmVzcy4iCittc2dzdHIgIlLDqXRhYmxpc3NlbWVudCBlbiBjb3Vycy4iCisKKyM6IHd0LXN0YXR1cy5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgYWN0dWVsbGVtZW50IGVuIHRyYWluIGRlIHLDqXRhYmxpciBsZSBjb21taXQgJXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzkxCisjOiB3dC1zdGF0dXMuYzoxNDU4CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChyw6lnbGV6IGxlcyBjb25mbGl0cyBwdWlzIGxhbmNleiBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM5NAorIzogd3Qtc3RhdHVzLmM6MTQ2MQorbXNnaWQgIiAgKHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiIHRvIGNvbnRpbnVlKSIKK21zZ3N0ciAiICAobGFuY2V6IFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIgcG91ciBjb250aW51ZXIpIgorCisjOiB3dC1zdGF0dXMuYzoxNDY0CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICh0b3VzIGxlcyBjb25mbGl0cyBzb250IHLDqWdsw6lzIDogbGFuY2V6IFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzk2CisjOiB3dC1zdGF0dXMuYzoxNDY2Cittc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgorbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCByZXZlcnQgLS1za2lwXCIgcG91ciBzYXV0ZXIgY2UgcGF0Y2gpIgorCisjOiB3dC1zdGF0dXMuYzoxNDY4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSByZXZlcnQgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiICAodXRpbGlzZXogXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiBwb3VyIGFubnVsZXIgbGUgcsOpdGFibGlzc2VtZW50KSIKIAotIzogd3Qtc3RhdHVzLmM6MTQwNgorIzogd3Qtc3RhdHVzLmM6MTQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcsIHN0YXJ0ZWQgZnJvbSBicmFuY2ggJyVzJy4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgZW4gY291cnMgZGUgYmlzc2VjdGlvbiwgZGVwdWlzIGxhIGJyYW5jaGUgJyVzJy4iCiAKLSM6IHd0LXN0YXR1cy5jOjE0MTAKKyM6IHd0LXN0YXR1cy5jOjE0ODIKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcuIgogbXNnc3RyICJWb3VzIMOqdGVzIGVuIGNvdXJzIGRlIGJpc3NlY3Rpb24uIgogCi0jOiB3dC1zdGF0dXMuYzoxNDEzCisjOiB3dC1zdGF0dXMuYzoxNDg1CiBtc2dpZCAiICAodXNlIFwiZ2l0IGJpc2VjdCByZXNldFwiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgICh1dGlsaXNleiBcImdpdCBiaXNlY3QgcmVzZXRcIiBwb3VyIHJldmVuaXIgw6AgbGEgYnJhbmNoZSBkJ29yaWdpbmUpIgogCi0jOiB3dC1zdGF0dXMuYzoxNjExCisjOiB3dC1zdGF0dXMuYzoxNjk0CiBtc2dpZCAiT24gYnJhbmNoICIKIG1zZ3N0ciAiU3VyIGxhIGJyYW5jaGUgIgogCi0jOiB3dC1zdGF0dXMuYzoxNjE4CisjOiB3dC1zdGF0dXMuYzoxNzAxCiBtc2dpZCAiaW50ZXJhY3RpdmUgcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAicmViYXNhZ2UgaW50ZXJhY3RpZiBlbiBjb3VycyA7IHN1ciAiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MjAKKyM6IHd0LXN0YXR1cy5jOjE3MDMKIG1zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICJyZWJhc2FnZSBlbiBjb3VycyA7IHN1ciAiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MjUKLW1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKLW1zZ3N0ciAiSEVBRCBkw6l0YWNow6llIHN1ciAiCi0KLSM6IHd0LXN0YXR1cy5jOjE2MjcKLW1zZ2lkICJIRUFEIGRldGFjaGVkIGZyb20gIgotbXNnc3RyICJIRUFEIGTDqXRhY2jDqWUgZGVwdWlzICIKLQotIzogd3Qtc3RhdHVzLmM6MTYzMAorIzogd3Qtc3RhdHVzLmM6MTcxMwogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIkFjdHVlbGxlbWVudCBzdXIgYXVjdW4gYnJhbmNoZS4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2NDcKKyM6IHd0LXN0YXR1cy5jOjE3MzAKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAiVmFsaWRhdGlvbiBpbml0aWFsZSIKIAotIzogd3Qtc3RhdHVzLmM6MTY0OAorIzogd3Qtc3RhdHVzLmM6MTczMQogbXNnaWQgIk5vIGNvbW1pdHMgeWV0IgogbXNnc3RyICJBdWN1biBjb21taXQiCiAKLSM6IHd0LXN0YXR1cy5jOjE2NjIKKyM6IHd0LXN0YXR1cy5jOjE3NDUKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIkZpY2hpZXJzIG5vbiBzdWl2aXMiCiAKLSM6IHd0LXN0YXR1cy5jOjE2NjQKKyM6IHd0LXN0YXR1cy5jOjE3NDcKIG1zZ2lkICJJZ25vcmVkIGZpbGVzIgogbXNnc3RyICJGaWNoaWVycyBpZ25vcsOpcyIKIAotIzogd3Qtc3RhdHVzLmM6MTY2OAorIzogd3Qtc3RhdHVzLmM6MTc1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gZW51bWVyYXRlIHVudHJhY2tlZCBmaWxlcy4gJ3N0YXR1cyAtdW5vJ1xuIgpAQCAtNzIwNCwzMiArOTA0MCwzMiBAQAogIm91YmxpZXIgZCdham91dGVyIGxlcyBub3V2ZWF1eCBmaWNoaWVycyBwYXIgdm91cy1tw6ptZSAodm9pciAnZ2l0IGhlbHAgIgogInN0YXR1cycpLiIKIAotIzogd3Qtc3RhdHVzLmM6MTY3NAorIzogd3Qtc3RhdHVzLmM6MTc1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCVzIgogbXNnc3RyICJGaWNoaWVycyBub24gc3VpdmlzIG5vbiBhZmZpY2jDqXMlcyIKIAotIzogd3Qtc3RhdHVzLmM6MTY3NgorIzogd3Qtc3RhdHVzLmM6MTc1OQogbXNnaWQgIiAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCiBtc2dzdHIgIiAodXRpbGlzZXogLXUgcG91ciBhZmZpY2hlciBsZXMgZmljaGllcnMgbm9uIHN1aXZpcykiCiAKLSM6IHd0LXN0YXR1cy5jOjE2ODIKKyM6IHd0LXN0YXR1cy5jOjE3NjUKIG1zZ2lkICJObyBjaGFuZ2VzIgogbXNnc3RyICJBdWN1bmUgbW9kaWZpY2F0aW9uIgogCi0jOiB3dC1zdGF0dXMuYzoxNjg3CisjOiB3dC1zdGF0dXMuYzoxNzcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgXCJnaXQgYWRkXCIgYW5kL29yIFwiZ2l0IGNvbW1pdCAtYVwiKVxuIgogbXNnc3RyICIiCiAiYXVjdW5lIG1vZGlmaWNhdGlvbiBuJ2Egw6l0w6kgYWpvdXTDqWUgw6AgbGEgdmFsaWRhdGlvbiAodXRpbGlzZXogXCJnaXQgYWRkXCIgb3UgIgogIlwiZ2l0IGNvbW1pdCAtYVwiKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjkwCisjOiB3dC1zdGF0dXMuYzoxNzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCiBtc2dzdHIgImF1Y3VuZSBtb2RpZmljYXRpb24gYWpvdXTDqWUgw6AgbGEgdmFsaWRhdGlvblxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjkzCisjOiB3dC1zdGF0dXMuYzoxNzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnQgKHVzZSBcImdpdCBhZGRcIiB0byAiCkBAIC03MjM4LDE5NSArOTA3NCwyMDAgQEAKICJhdWN1bmUgbW9kaWZpY2F0aW9uIGFqb3V0w6llIMOgIGxhIHZhbGlkYXRpb24gbWFpcyBkZXMgZmljaGllcnMgbm9uIHN1aXZpcyAiCiAic29udCBwcsOpc2VudHMgKHV0aWxpc2V6IFwiZ2l0IGFkZFwiIHBvdXIgbGVzIHN1aXZyZSlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTY5NgorIzogd3Qtc3RhdHVzLmM6MTc3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnRcbiIKIG1zZ3N0ciAiIgogImF1Y3VuZSBtb2RpZmljYXRpb24gYWpvdXTDqWUgw6AgbGEgdmFsaWRhdGlvbiBtYWlzIGRlcyBmaWNoaWVycyBub24gc3VpdmlzICIKICJzb250IHByw6lzZW50c1xuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjk5CisjOiB3dC1zdGF0dXMuYzoxNzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0IChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKVxuIgogbXNnc3RyICIiCiAicmllbiDDoCB2YWxpZGVyIChjcsOpZXovY29waWV6IGRlcyBmaWNoaWVycyBldCB1dGlsaXNleiBcImdpdCBhZGRcIiBwb3VyIGxlcyAiCiAic3VpdnJlKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNzAyIHd0LXN0YXR1cy5jOjE3MDcKKyM6IHd0LXN0YXR1cy5jOjE3ODUgd3Qtc3RhdHVzLmM6MTc5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICJyaWVuIMOgIHZhbGlkZXJcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTcwNQorIzogd3Qtc3RhdHVzLmM6MTc4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKVxuIgogbXNnc3RyICJyaWVuIMOgIHZhbGlkZXIgKHV0aWxpc2V6IC11IHBvdXIgYWZmaWNoZXIgbGVzIGZpY2hpZXJzIG5vbiBzdWl2aXMpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE3MDkKKyM6IHd0LXN0YXR1cy5jOjE3OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhblxuIgogbXNnc3RyICJyaWVuIMOgIHZhbGlkZXIsIGxhIGNvcGllIGRlIHRyYXZhaWwgZXN0IHByb3ByZVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxODIyCisjOiB3dC1zdGF0dXMuYzoxOTA1CiBtc2dpZCAiTm8gY29tbWl0cyB5ZXQgb24gIgogbXNnc3RyICJFbmNvcmUgYXVjdW4gY29tbWl0IHN1ciAiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MjYKKyM6IHd0LXN0YXR1cy5jOjE5MDkKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICJIRUFEIChhdWN1bmUgYnJhbmNoZSkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NTcKKyM6IHd0LXN0YXR1cy5jOjE5NDAKIG1zZ2lkICJkaWZmZXJlbnQiCiBtc2dzdHIgImRpZmbDqXJlbnQiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NTkgd3Qtc3RhdHVzLmM6MTg2NworIzogd3Qtc3RhdHVzLmM6MTk0MiB3dC1zdGF0dXMuYzoxOTUwCiBtc2dpZCAiYmVoaW5kICIKIG1zZ3N0ciAiZGVycmnDqHJlICIKIAotIzogd3Qtc3RhdHVzLmM6MTg2MiB3dC1zdGF0dXMuYzoxODY1CisjOiB3dC1zdGF0dXMuYzoxOTQ1IHd0LXN0YXR1cy5jOjE5NDgKIG1zZ2lkICJhaGVhZCAiCiBtc2dzdHIgImRldmFudCAiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgYWN0aW9uIGlzIGUuZy4gInB1bGwgd2l0aCByZWJhc2UiCi0jOiB3dC1zdGF0dXMuYzoyMzc0CisjOiB3dC1zdGF0dXMuYzoyNDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgJXPCoDogdm91cyBhdmV6IGRlcyBtb2RpZmljYXRpb25zIG5vbiBpbmRleMOpZXMuIgogCi0jOiB3dC1zdGF0dXMuYzoyMzgwCisjOiB3dC1zdGF0dXMuYzoyNDc2CiBtc2dpZCAiYWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICJkZSBwbHVzLCB2b3RyZSBpbmRleCBjb250aWVudCBkZXMgbW9kaWZpY2F0aW9ucyBub24gdmFsaWTDqWVzLiIKIAotIzogd3Qtc3RhdHVzLmM6MjM4MgorIzogd3Qtc3RhdHVzLmM6MjQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgJXM6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiVzIGltcG9zc2libGXCoDogdm90cmUgaW5kZXggY29udGllbnQgZGVzIG1vZGlmaWNhdGlvbnMgbm9uIHZhbGlkw6llcy4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1OCBidWlsdGluL2Nsb25lLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKK21zZ3N0ciAiw6ljaGVjIHBvdXIgZMOpbGllciAnJXMnIgorCisjOiBidWlsdGluL2FkZC5jOjI2CiBtc2dpZCAiZ2l0IGFkZCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBhZGQgWzxvcHRpb25zPl0gWy0tXSA8Y2hlbWluPi4uLiIKIAotIzogYnVpbHRpbi9hZGQuYzo4MworIzogYnVpbHRpbi9hZGQuYzo4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGRpZmYgc3RhdHVzICVjIgogbXNnc3RyICLDqXRhdCBkZSBkaWZmIGluYXR0ZW5kdSAlYyIKIAotIzogYnVpbHRpbi9hZGQuYzo4OCBidWlsdGluL2NvbW1pdC5jOjI4NAorIzogYnVpbHRpbi9hZGQuYzo5MiBidWlsdGluL2NvbW1pdC5jOjI4OAogbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIG1pc2Ugw6Agam91ciBkZXMgZmljaGllcnMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6OTgKKyM6IGJ1aWx0aW4vYWRkLmM6MTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgInN1cHByZXNzaW9uIGRlICclcydcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoxNzMKKyM6IGJ1aWx0aW4vYWRkLmM6MTc3CiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZWZyZXNoaW5nIHRoZSBpbmRleDoiCiBtc2dzdHIgIk1vZGlmaWNhdGlvbnMgbm9uIGluZGV4w6llcyBhcHLDqHMgcmFmcmHDrmNoaXNzZW1lbnQgZGUgbCdpbmRleCA6IgogCi0jOiBidWlsdGluL2FkZC5jOjIzMyBidWlsdGluL3Jldi1wYXJzZS5jOjg5NQorIzogYnVpbHRpbi9hZGQuYzoyNTIgYnVpbHRpbi9yZXYtcGFyc2UuYzo4OTkKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgbGlyZSBsJ2luZGV4IgogCi0jOiBidWlsdGluL2FkZC5jOjI0NAorIzogYnVpbHRpbi9hZGQuYzoyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZy4iCiBtc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgJyVzJyBlbiDDqWNyaXR1cmUuIgogCi0jOiBidWlsdGluL2FkZC5jOjI0OAorIzogYnVpbHRpbi9hZGQuYzoyNjcKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgIkltcG9zc2libGUgZCfDqWNyaXJlIGxlIHBhdGNoIgogCi0jOiBidWlsdGluL2FkZC5jOjI1MQorIzogYnVpbHRpbi9hZGQuYzoyNzAKIG1zZ2lkICJlZGl0aW5nIHBhdGNoIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGwnw6lkaXRpb24gZHUgcGF0Y2giCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU0CisjOiBidWlsdGluL2FkZC5jOjI3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICJTdGF0IGRlICclcycgaW1wb3NzaWJsZSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc1CiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICJQYXRjaCB2aWRlLiBBYmFuZG9uLiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjEKKyM6IGJ1aWx0aW4vYWRkLmM6MjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYXBwbGlxdWVyICclcyciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjY5CisjOiBidWlsdGluL2FkZC5jOjI4OAogbXNnaWQgIlRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKIG1zZ3N0ciAiIgogIkxlcyBjaGVtaW5zIHN1aXZhbnRzIHNvbnQgaWdub3LDqXMgcGFyIHVuIGRlIHZvcyBmaWNoaWVycyAuZ2l0aWdub3JlIDpcbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyODkgYnVpbHRpbi9jbGVhbi5jOjkwNyBidWlsdGluL2ZldGNoLmM6MTM3IGJ1aWx0aW4vbXYuYzoxMjMKLSM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTYgYnVpbHRpbi9wdWxsLmM6MjEzIGJ1aWx0aW4vcHVzaC5jOjU1NwotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzQ1IGJ1aWx0aW4vcm0uYzoyNDAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjUKKyM6IGJ1aWx0aW4vYWRkLmM6MzA4IGJ1aWx0aW4vY2xlYW4uYzo5MTAgYnVpbHRpbi9mZXRjaC5jOjE2MyBidWlsdGluL212LmM6MTI0CisjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU2IGJ1aWx0aW4vcHVsbC5jOjIyMyBidWlsdGluL3B1c2guYzo1NDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM0NCBidWlsdGluL3JtLmM6MjQxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY1CiBtc2dpZCAiZHJ5IHJ1biIKIG1zZ3N0ciAic2ltdWxlciBsJ2FjdGlvbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTIKKyM6IGJ1aWx0aW4vYWRkLmM6MzExCiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAic8OpbGVjdGlvbiBpbnRlcmFjdGl2ZSIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTMgYnVpbHRpbi9jaGVja291dC5jOjEyNTggYnVpbHRpbi9yZXNldC5jOjMwNQorIzogYnVpbHRpbi9hZGQuYzozMTIgYnVpbHRpbi9jaGVja291dC5jOjE0ODIgYnVpbHRpbi9yZXNldC5jOjMwNwogbXNnaWQgInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICJzw6lsZWN0aW9uIGludGVyYWN0aXZlIGRlcyBzZWN0aW9ucyIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTQKKyM6IGJ1aWx0aW4vYWRkLmM6MzEzCiBtc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgogbXNnc3RyICLDqWRpdGlvbiBkdSBkaWZmIGFjdHVlbCBldCBhcHBsaWNhdGlvbiIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTUKKyM6IGJ1aWx0aW4vYWRkLmM6MzE0CiBtc2dpZCAiYWxsb3cgYWRkaW5nIG90aGVyd2lzZSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICJwZXJtZXR0cmUgbCdham91dCBkZSBmaWNoaWVycyBpZ25vcsOpcyIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTYKKyM6IGJ1aWx0aW4vYWRkLmM6MzE1CiBtc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIm1ldHRyZSDDoCBqb3VyIGxlcyBmaWNoaWVycyBzdWl2aXMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk3CisjOiBidWlsdGluL2FkZC5jOjMxNgogbXNnaWQgInJlbm9ybWFsaXplIEVPTCBvZiB0cmFja2VkIGZpbGVzIChpbXBsaWVzIC11KSIKIG1zZ3N0ciAiIgogInJlbm9ybWFsaXNlciBsZXMgZmlucyBkZSBsaWduZXMgKEVPTCkgZGVzIGZpY2hpZXJzIHN1aXZpcyAoaW1wbGlxdWUgLXUpIgogCi0jOiBidWlsdGluL2FkZC5jOjI5OAorIzogYnVpbHRpbi9hZGQuYzozMTcKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBwYXRoIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgImVucmVnaXN0cmVyIHNldWxlbWVudCBsZSBmYWl0IHF1ZSBsZSBjaGVtaW4gc2VyYSBham91dMOpIHBsdXMgdGFyZCIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTkKKyM6IGJ1aWx0aW4vYWRkLmM6MzE4CiBtc2dpZCAiYWRkIGNoYW5nZXMgZnJvbSBhbGwgdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJham91dGVyIGxlcyBtb2RpZmljYXRpb25zIGRlIHRvdXMgbGVzIGZpY2hpZXJzIHN1aXZpcyBldCBub24gc3VpdmlzIgogCi0jOiBidWlsdGluL2FkZC5jOjMwMgorIzogYnVpbHRpbi9hZGQuYzozMjEKIG1zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKIG1zZ3N0ciAiIgogImlnbm9yZXIgbGVzIGNoZW1pbnMgZWZmYWPDqXMgZGFucyBsYSBjb3BpZSBkZSB0cmF2YWlsIChpZGVudGlxdWUgw6AgLS1uby1hbGwpIgogCi0jOiBidWlsdGluL2FkZC5jOjMwNAorIzogYnVpbHRpbi9hZGQuYzozMjMKIG1zZ2lkICJkb24ndCBhZGQsIG9ubHkgcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgIm5lIHBhcyBham91dGVyLCBqdXN0ZSByYWZyYcOuY2hpciBsJ2luZGV4IgogCi0jOiBidWlsdGluL2FkZC5jOjMwNQorIzogYnVpbHRpbi9hZGQuYzozMjQKIG1zZ2lkICJqdXN0IHNraXAgZmlsZXMgd2hpY2ggY2Fubm90IGJlIGFkZGVkIGJlY2F1c2Ugb2YgZXJyb3JzIgogbXNnc3RyICIiCiAic2F1dGVyIHNldWxlbWVudCBsZXMgZmljaGllcnMgcXVpIG5lIHBldXZlbnQgcGFzIMOqdHJlIGFqb3V0w6lzIGR1IGZhaXQgIgogImQnZXJyZXVycyIKIAotIzogYnVpbHRpbi9hZGQuYzozMDYKKyM6IGJ1aWx0aW4vYWRkLmM6MzI1CiBtc2dpZCAiY2hlY2sgaWYgLSBldmVuIG1pc3NpbmcgLSBmaWxlcyBhcmUgaWdub3JlZCBpbiBkcnkgcnVuIgogbXNnc3RyICJ2w6lyaWZpZXIgc2kgZGVzIGZpY2hpZXJzIC0gbcOqbWUgbWFucXVhbnRzIC0gc29udCBpZ25vcsOpcywgw6AgdmlkZSIKIAotIzogYnVpbHRpbi9hZGQuYzozMDggYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTAKKyM6IGJ1aWx0aW4vYWRkLmM6MzI3IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNAogbXNnaWQgIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIgogbXNnc3RyICJvdXRyZXBhc3NlciBsZSBiaXQgZXjDqWN1dGFibGUgcG91ciBsZXMgZmljaGllcnMgbGlzdMOpcyIKIAotIzogYnVpbHRpbi9hZGQuYzozMTAKKyM6IGJ1aWx0aW4vYWRkLmM6MzI5CiBtc2dpZCAid2FybiB3aGVuIGFkZGluZyBhbiBlbWJlZGRlZCByZXBvc2l0b3J5IgogbXNnc3RyICJhdmVydGlyIGxvcnMgZGUgbCdham91dCBkJ3VuIGTDqXDDtHQgZW1iYXJxdcOpIgogCi0jOiBidWlsdGluL2FkZC5jOjMyNQorIzogYnVpbHRpbi9hZGQuYzozNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSd2ZSBhZGRlZCBhbm90aGVyIGdpdCByZXBvc2l0b3J5IGluc2lkZSB5b3VyIGN1cnJlbnQgcmVwb3NpdG9yeS5cbiIKQEAgLTc0NTcsMTU0ICs5Mjk4LDE2OCBAQAogIlxuIgogIlLDqWbDqXJlei12b3VzIMOgIFwiZ2l0IGhlbHAgc3VibW9kdWxlXCIgcG91ciBwbHVzIGQnaW5mb3JtYXRpb24uIgogCi0jOiBidWlsdGluL2FkZC5jOjM1MworIzogYnVpbHRpbi9hZGQuYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkaW5nIGVtYmVkZGVkIGdpdCByZXBvc2l0b3J5OiAlcyIKIG1zZ3N0ciAiZMOpcMO0dCBnaXQgZW1iYXJxdcOpIGFqb3V0w6nCoDogJXMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzcxCisjOiBidWlsdGluL2FkZC5jOjM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCB0aGVtLlxuIgogbXNnc3RyICJVdGlsaXNleiAtZiBzaSB2b3VzIHZvdWxleiByw6llbGxlbWVudCBsZXMgYWpvdXRlci5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzozNzkKKyM6IGJ1aWx0aW4vYWRkLmM6NDAwCiBtc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAiw6ljaGVjIGRlIGwnYWpvdXQgZGUgZmljaGllcnMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDE3CisjOiBidWlsdGluL2FkZC5jOjQyOCBidWlsdGluL2NvbW1pdC5jOjM0OAorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0taW50ZXJhY3RpdmUvLS1wYXRjaCIKK21zZ3N0ciAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgZXN0IGluY29tcGF0aWJsZSBhdmVjIC0taW50ZXJhY3RpdmUvLS1wYXRjaCIKKworIzogYnVpbHRpbi9hZGQuYzo0MzQKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWVkaXQiCittc2dzdHIgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGVzdCBpbmNvbXBhdGlibGUgYXZlYyAtLWVkaXQiCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDQ2CiBtc2dpZCAiLUEgYW5kIC11IGFyZSBtdXR1YWxseSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi1BIGV0IC11IHNvbnQgbXV0dWVsbGVtZW50IGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDI0CisjOiBidWlsdGluL2FkZC5jOjQ0OQogbXNnaWQgIk9wdGlvbiAtLWlnbm9yZS1taXNzaW5nIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWRyeS1ydW4iCiBtc2dzdHIgIiIKICJMJ29wdGlvbiAtLWlnbm9yZS1taXNzaW5nIG5lIHBldXQgw6p0cmUgdXRpbGlzw6llIHF1J2VuIGNvbXBsw6ltZW50IGRlIC0tZHJ5LXJ1biIKIAotIzogYnVpbHRpbi9hZGQuYzo0MjgKKyM6IGJ1aWx0aW4vYWRkLmM6NDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tY2htb2QgcGFyYW0gJyVzJyBtdXN0IGJlIGVpdGhlciAteCBvciAreCIKIG1zZ3N0ciAiTGUgcGFyYW3DqHRyZSAnJXMnIGRlIC0tY2htb2QgZG9pdCDDqnRyZSBzb2l0IC14IHNvaXQgK3giCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDQzCisjOiBidWlsdGluL2FkZC5jOjQ3MSBidWlsdGluL2NoZWNrb3V0LmM6MTY0OCBidWlsdGluL2NvbW1pdC5jOjM1NAorIzogYnVpbHRpbi9yZXNldC5jOjMyNworbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIHBhdGhzcGVjIGFyZ3VtZW50cyIKK21zZ3N0ciAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgZXN0IGluY29tcGF0aWJsZSBhdmVjIHBhdGhzcGVjIGFyZ3VtZW50cyIKKworIzogYnVpbHRpbi9hZGQuYzo0NzggYnVpbHRpbi9jaGVja291dC5jOjE2NjAgYnVpbHRpbi9jb21taXQuYzozNjAKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMzMKK21zZ2lkICItLXBhdGhzcGVjLWZpbGUtbnVsIHJlcXVpcmVzIC0tcGF0aHNwZWMtZnJvbS1maWxlIgorbXNnc3RyICItLXBhdGhzcGVjLWZpbGUtbnVsIG7DqWNlc3NpdGUgLS1wYXRoc3BlYy1mcm9tLWZpbGUiCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdGhpbmcgc3BlY2lmaWVkLCBub3RoaW5nIGFkZGVkLlxuIgogbXNnc3RyICJSaWVuIGRlIHNww6ljaWZpw6ksIHJpZW4gbidhIMOpdMOpIGFqb3V0w6kuXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDQ0CisjOiBidWlsdGluL2FkZC5jOjQ4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAiVm91cyB2b3VsaWV6IHPDu3JlbWVudCBkaXJlICdnaXQgYWRkIC4nID9cbiIKIAotIzogYnVpbHRpbi9hbS5jOjM2MworIzogYnVpbHRpbi9hbS5jOjM0NwogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBhdXRob3Igc2NyaXB0IgotbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGUgc2NyaXB0IGF1dGhvciIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGwnYXV0ZXVyIGR1IHNjcmlwdCIKIAotIzogYnVpbHRpbi9hbS5jOjQ0NworIzogYnVpbHRpbi9hbS5jOjQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIHdhcyBkZWxldGVkIGJ5IHRoZSBhcHBseXBhdGNoLW1zZyBob29rIgogbXNnc3RyICInJXMnIGEgw6l0w6kgZWZmYWPDqSBwYXIgbGUgY3JvY2hldCBhcHBseXBhdGNoLW1zZyIKIAotIzogYnVpbHRpbi9hbS5jOjQ4OAorIzogYnVpbHRpbi9hbS5jOjQ3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCiBtc2dzdHIgIkxpZ25lIGVuIGVudHLDqWUgbWFsZm9ybcOpZSA6ICclcycuIgogCi0jOiBidWlsdGluL2FtLmM6NTI1CisjOiBidWlsdGluL2FtLmM6NTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNvcGllciBsZXMgbm90ZXMgZGUgJyVzJyB2ZXJzICclcyciCiAKLSM6IGJ1aWx0aW4vYW0uYzo1NTEKKyM6IGJ1aWx0aW4vYW0uYzo1MzcKIG1zZ2lkICJmc2VlayBmYWlsZWQiCiBtc2dzdHIgIsOpY2hlYyBkZSBmc2VlayIKIAotIzogYnVpbHRpbi9hbS5jOjczOQorIzogYnVpbHRpbi9hbS5jOjcyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGF0Y2ggJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIHBhdGNoICclcyciCiAKLSM6IGJ1aWx0aW4vYW0uYzo4MDQKKyM6IGJ1aWx0aW4vYW0uYzo3OTAKIG1zZ2lkICJPbmx5IG9uZSBTdEdJVCBwYXRjaCBzZXJpZXMgY2FuIGJlIGFwcGxpZWQgYXQgb25jZSIKIG1zZ3N0ciAiU2V1bGVtZW50IHVuZSBzw6lyaWUgZGUgcGF0Y2hzIFN0R0lUIHBldXQgw6p0cmUgYXBwbGlxdcOpZSDDoCBsYSBmb2lzIgogCi0jOiBidWlsdGluL2FtLmM6ODUyCisjOiBidWlsdGluL2FtLmM6ODM4CiBtc2dpZCAiaW52YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgImhvcm9kYXRhZ2UgaW52YWxpZGUiCiAKLSM6IGJ1aWx0aW4vYW0uYzo4NTcgYnVpbHRpbi9hbS5jOjg2OQorIzogYnVpbHRpbi9hbS5jOjg0MyBidWlsdGluL2FtLmM6ODU1CiBtc2dpZCAiaW52YWxpZCBEYXRlIGxpbmUiCiBtc2dzdHIgImxpZ25lIGRlIERhdGUgaW52YWxpZGUiCiAKLSM6IGJ1aWx0aW4vYW0uYzo4NjQKKyM6IGJ1aWx0aW4vYW0uYzo4NTAKIG1zZ2lkICJpbnZhbGlkIHRpbWV6b25lIG9mZnNldCIKIG1zZ3N0ciAiZMOpY2FsYWdlIGhvcmFpcmUgaW52YWxpZGUiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5NTcKKyM6IGJ1aWx0aW4vYW0uYzo5NDMKIG1zZ2lkICJQYXRjaCBmb3JtYXQgZGV0ZWN0aW9uIGZhaWxlZC4iCiBtc2dzdHIgIsOJY2hlYyBkZSBkw6l0ZWN0aW9uIGR1IGZvcm1hdCBkdSBwYXRjaC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo5NjIgYnVpbHRpbi9jbG9uZS5jOjQwOAorIzogYnVpbHRpbi9hbS5jOjk0OCBidWlsdGluL2Nsb25lLmM6NDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBjcsOpYXRpb24gZHUgcsOpcGVydG9pcmUgJyVzJyIKIAotIzogYnVpbHRpbi9hbS5jOjk2NworIzogYnVpbHRpbi9hbS5jOjk1MwogbXNnaWQgIkZhaWxlZCB0byBzcGxpdCBwYXRjaGVzLiIKIG1zZ3N0ciAiw4ljaGVjIGRlIGTDqWNvdXBhZ2UgZGVzIHBhdGNocy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMDk3IGJ1aWx0aW4vY29tbWl0LmM6MzY5Ci1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIGluZGV4IGZpbGUiCi1tc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlIGZpY2hpZXIgZCdpbmRleCIKLQotIzogYnVpbHRpbi9hbS5jOjExMTEKKyM6IGJ1aWx0aW4vYW0uYzoxMDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCIlcyAtLWNvbnRpbnVlXCIuIgogbXNnc3RyICJRdWFuZCB2b3VzIGF2ZXogcsOpc29sdSBjZSBwcm9ibMOobWUsIGxhbmNleiBcIiVzIC0tY29udGludWVcIi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTEyCisjOiBidWlsdGluL2FtLmM6MTA4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiJXMgLS1za2lwXCIgaW5zdGVhZC4iCiBtc2dzdHIgIlNpIHZvdXMgcHLDqWbDqXJleiBwbHV0w7R0IHNhdXRlciBjZSBwYXRjaCwgbGFuY2V6IFwiJXMgLS1za2lwXCIuIgogCi0jOiBidWlsdGluL2FtLmM6MTExMworIzogYnVpbHRpbi9hbS5jOjEwODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBzdG9wIHBhdGNoaW5nLCBydW4gXCIlcyAtLWFib3J0XCIuIgogbXNnc3RyICIiCiAiUG91ciByZXN0YXVyZXIgbGEgYnJhbmNoZSBvcmlnaW5hbGUgZXQgYXJyw6p0ZXIgZGUgcGF0Y2hlciwgbGFuY2V6IFwiJXMgLS0iCiAiYWJvcnRcIi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTk2CisjOiBidWlsdGluL2FtLmM6MTE2OQogbXNnaWQgIlBhdGNoIHNlbnQgd2l0aCBmb3JtYXQ9Zmxvd2VkOyBzcGFjZSBhdCB0aGUgZW5kIG9mIGxpbmVzIG1pZ2h0IGJlIGxvc3QuIgogbXNnc3RyICIiCiAiUnVzdGluZSBlbnZvecOpZSBhdmVjIGZvcm1hdD1mbG93ZWTCoDsgbGVzIGVzcGFjZXMgZW4gZmluIGRlIGxpZ25lIHBldXZlbnQgIgogIsOqdHJlIHBlcmR1cy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMjI0CisjOiBidWlsdGluL2FtLmM6MTE5NwogbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiIKIG1zZ3N0ciAiTGUgcGF0Y2ggYWN0dWVsIGVzdCB2aWRlLiIKIAotIzogYnVpbHRpbi9hbS5jOjEyOTAKKyM6IGJ1aWx0aW4vYW0uYzoxMjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgYXV0aG9yIGxpbmUgaW4gY29tbWl0ICVzIgorbXNnc3RyICJsaWduZSBkJ2F1dGV1ciBtYW5xdWFudGUgZGFucyBsZSBjb21taXQgJXMiCisKKyM6IGJ1aWx0aW4vYW0uYzoxMjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJS4qcyIKIG1zZ3N0ciAibGlnbmUgZCdpZGVudGlmaWNhdGlvbiBpbnZhbGlkZSA6ICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMzEyCi0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgJXMiCi1tc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsZSBjb21taXQgJXMiCi0KLSM6IGJ1aWx0aW4vYW0uYzoxNTA4CisjOiBidWlsdGluL2FtLmM6MTQ4NAogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgbmVjZXNzYXJ5IGJsb2JzIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgIiIKICJMZSBkw6lww7R0IG4nYSBwYXMgbGVzIGJsb2JzIG7DqWNlc3NhaXJlcyBwb3VyIHVuIHJldG91ciDDoCB1bmUgZnVzaW9uIMOgIDMgIgogInBvaW50cy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNTEwCisjOiBidWlsdGluL2FtLmM6MTQ4NgogbXNnaWQgIlVzaW5nIGluZGV4IGluZm8gdG8gcmVjb25zdHJ1Y3QgYSBiYXNlIHRyZWUuLi4iCiBtc2dzdHIgIiIKICJVdGlsaXNhdGlvbiBkZSBsJ2luZm9ybWF0aW9uIGRlIGwnaW5kZXggcG91ciByZWNvbnN0cnVpcmUgdW4gYXJicmUgZGUgYmFzZS4uLiIKIAotIzogYnVpbHRpbi9hbS5jOjE1MjkKKyM6IGJ1aWx0aW4vYW0uYzoxNTA1CiBtc2dpZCAiIgogIkRpZCB5b3UgaGFuZCBlZGl0IHlvdXIgcGF0Y2g/XG4iCiAiSXQgZG9lcyBub3QgYXBwbHkgdG8gYmxvYnMgcmVjb3JkZWQgaW4gaXRzIGluZGV4LiIKQEAgLTc2MTIsMjkgKzk0NjcsMjQgQEAKICJBdmV6LXZvdXMgw6lkaXTDqSBsZSBwYXRjaCDDoCBsYSBtYWluID9cbiIKICJJbCBuZSBzJ2FwcGxpcXVlIHBhcyBhdXggYmxvYnMgZW5yZWdpc3Ryw6lzIGRhbnMgc29uIGluZGV4LiIKIAotIzogYnVpbHRpbi9hbS5jOjE1MzUKKyM6IGJ1aWx0aW4vYW0uYzoxNTExCiBtc2dpZCAiRmFsbGluZyBiYWNrIHRvIHBhdGNoaW5nIGJhc2UgYW5kIDMtd2F5IG1lcmdlLi4uIgogbXNnc3RyICJSZXRvdXIgw6AgdW4gcGF0Y2ggZGUgbGEgYmFzZSBldCBmdXNpb24gw6AgMyBwb2ludHMuLi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNTYxCisjOiBidWlsdGluL2FtLmM6MTUzNwogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4iCiBtc2dzdHIgIsOJY2hlYyBkJ2ludMOpZ3JhdGlvbiBkZXMgbW9kaWZpY2F0aW9ucy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNTkzCisjOiBidWlsdGluL2FtLmM6MTU2OQogbXNnaWQgImFwcGx5aW5nIHRvIGFuIGVtcHR5IGhpc3RvcnkiCiBtc2dzdHIgImFwcGxpY2F0aW9uIMOgIHVuIGhpc3RvcmlxdWUgdmlkZSIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzkgYnVpbHRpbi9hbS5jOjE2NDMKKyM6IGJ1aWx0aW4vYW0uYzoxNjE2IGJ1aWx0aW4vYW0uYzoxNjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXN1bWU6ICVzIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb250aW51ZXIgOiAlcyBuJ2V4aXN0ZSBwYXMuIgogCi0jOiBidWlsdGluL2FtLmM6MTY1OQotbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKLW1zZ3N0ciAiIgotImltcG9zc2libGUgZCfDqnRyZSBpbnRlcmFjdGlmIHNhbnMgZW50csOpZSBzdGFuZGFyZCBjb25uZWN0w6llIMOgIHVuIHRlcm1pbmFsLiIKLQotIzogYnVpbHRpbi9hbS5jOjE2NjQKKyM6IGJ1aWx0aW4vYW0uYzoxNjM4CiBtc2dpZCAiQ29tbWl0IEJvZHkgaXM6IgogbXNnc3RyICJMZSBjb3JwcyBkZSBsYSB2YWxpZGF0aW9uIGVzdCA6IgogCkBAIC03NjQyLDM1ICs5NDkyLDQwIEBACiAjLiBpbiB5b3VyIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2gKICMuIGlucHV0IGF0IHRoaXMgcG9pbnQuCiAjLgotIzogYnVpbHRpbi9hbS5jOjE2NzQKKyM6IGJ1aWx0aW4vYW0uYzoxNjQ4CisjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5PyBbeV1lcy9bbl1vL1tlXWRpdC9bdl1pZXcgcGF0Y2gvW2FdY2NlcHQgYWxsOiAiCiBtc2dzdHIgIkFwcGxpcXVlciA/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGzCoDogIgogCi0jOiBidWlsdGluL2FtLmM6MTcyNAorIzogYnVpbHRpbi9hbS5jOjE2OTUgYnVpbHRpbi9jb21taXQuYzozOTQKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgaW5kZXggZmlsZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgZmljaGllciBkJ2luZGV4IgorCisjOiBidWlsdGluL2FtLmM6MTY5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJ0eSBpbmRleDogY2Fubm90IGFwcGx5IHBhdGNoZXMgKGRpcnR5OiAlcykiCiBtc2dzdHIgIkluZGV4IHNhbGUgOiBpbXBvc3NpYmxlIGQnYXBwbGlxdWVyIGRlcyBwYXRjaHMgKHNhbGVzIDogJXMpIgogCi0jOiBidWlsdGluL2FtLmM6MTc2NCBidWlsdGluL2FtLmM6MTgzMgorIzogYnVpbHRpbi9hbS5jOjE3MzkgYnVpbHRpbi9hbS5jOjE4MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmc6ICUuKnMiCiBtc2dzdHIgIkFwcGxpY2F0aW9uIGRlICAlLipzIgogCi0jOiBidWlsdGluL2FtLmM6MTc4MQorIzogYnVpbHRpbi9hbS5jOjE3NTYKIG1zZ2lkICJObyBjaGFuZ2VzIC0tIFBhdGNoIGFscmVhZHkgYXBwbGllZC4iCiBtc2dzdHIgIlBhcyBkZSBjaGFuZ2VtZW50IC0tIFBhdGNoIGTDqWrDoCBhcHBsaXF1w6kuIgogCi0jOiBidWlsdGluL2FtLmM6MTc4NworIzogYnVpbHRpbi9hbS5jOjE3NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGF0Y2ggZmFpbGVkIGF0ICVzICUuKnMiCiBtc2dzdHIgImxlIHBhdGNoIGEgw6ljaG91w6kgw6AgJXMgJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE3OTEKKyM6IGJ1aWx0aW4vYW0uYzoxNzY2CiBtc2dpZCAiVXNlICdnaXQgYW0gLS1zaG93LWN1cnJlbnQtcGF0Y2gnIHRvIHNlZSB0aGUgZmFpbGVkIHBhdGNoIgogbXNnc3RyICIiCiAiVXRpbGlzZXogJ2dpdCBhbSAtLXNob3ctY3VycmVudC1wYXRjaCcgcG91ciB2aXN1YWxpc2VyIGxlIHBhdGNoIGVuIMOpY2hlYyIKIAotIzogYnVpbHRpbi9hbS5jOjE4MzUKKyM6IGJ1aWx0aW4vYW0uYzoxODEwCiBtc2dpZCAiIgogIk5vIGNoYW5nZXMgLSBkaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnP1xuIgogIklmIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCB0byBzdGFnZSwgY2hhbmNlcyBhcmUgdGhhdCBzb21ldGhpbmcgZWxzZVxuIgpAQCAtNzY4MSw3ICs5NTM2LDcgQEAKICJpbnRyb2R1aXQgbGVzIG3Dqm1lcyBjaGFuZ2VtZW50cyA7IHZvdXMgcG91cnJpZXogYXZvaXIgZW52aWUgZGUgc2F1dGVyIGNlICIKICJwYXRjaC4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODQyCisjOiBidWlsdGluL2FtLmM6MTgxNwogbXNnaWQgIiIKICJZb3Ugc3RpbGwgaGF2ZSB1bm1lcmdlZCBwYXRocyBpbiB5b3VyIGluZGV4LlxuIgogIllvdSBzaG91bGQgJ2dpdCBhZGQnIGVhY2ggZmlsZSB3aXRoIHJlc29sdmVkIGNvbmZsaWN0cyB0byBtYXJrIHRoZW0gYXMgIgpAQCAtNzY5NCwxNyArOTU0OSwxNyBAQAogIlZvdXMgcG91dmV6IGxhbmNlciAnZ2l0IHJtJyBzdXIgdW4gZmljaGllciBcInN1cHByaW3DqSBwYXIgZXV4XCIgcG91ciAiCiAiYWNjZXB0ZXIgc29uIMOpdGF0LiIKIAotIzogYnVpbHRpbi9hbS5jOjE5NDkgYnVpbHRpbi9hbS5jOjE5NTMgYnVpbHRpbi9hbS5jOjE5NjUgYnVpbHRpbi9yZXNldC5jOjMyOAotIzogYnVpbHRpbi9yZXNldC5jOjMzNgorIzogYnVpbHRpbi9hbS5jOjE5MjQgYnVpbHRpbi9hbS5jOjE5MjggYnVpbHRpbi9hbS5jOjE5NDAgYnVpbHRpbi9yZXNldC5jOjM0NgorIzogYnVpbHRpbi9yZXNldC5jOjM1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbCdvYmpldCAnJXMnLiIKIAotIzogYnVpbHRpbi9hbS5jOjIwMDEKKyM6IGJ1aWx0aW4vYW0uYzoxOTc2CiBtc2dpZCAiZmFpbGVkIHRvIGNsZWFuIGluZGV4IgogbXNnc3RyICLDqWNoZWMgZHUgbmV0dG95YWdlIGRlIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMDM2CisjOiBidWlsdGluL2FtLmM6MjAyMAogbXNnaWQgIiIKICJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQgc2luY2UgdGhlIGxhc3QgJ2FtJyBmYWlsdXJlLlxuIgogIk5vdCByZXdpbmRpbmcgdG8gT1JJR19IRUFEIgpAQCAtNzcxMiwxNDUgKzk1NjcsMTQ1IEBACiAiVm91cyBzZW1ibGV6IGF2b2lyIGTDqXBsYWPDqSBsYSBIRUFEIGRlcHVpcyBsZSBkZXJuaWVyIMOpY2hlYyBkZSAnYW0nLlxuIgogIlBhcyBkZSByZXRvdXIgw6AgT1JJR19IRUFEIgogCi0jOiBidWlsdGluL2FtLmM6MjEyOQorIzogYnVpbHRpbi9hbS5jOjIxMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgLS1wYXRjaC1mb3JtYXQ6ICVzIgogbXNnc3RyICJWYWxldXIgaW52YWxpZGUgcG91ciAtLXBhdGNoLWZvcm1hdCA6ICVzIgogCi0jOiBidWlsdGluL2FtLmM6MjE2NQorIzogYnVpbHRpbi9hbS5jOjIxNTMKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKIG1zZ3N0ciAiZ2l0IGFtIFs8b3B0aW9ucz5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KS4uLl0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTY2CisjOiBidWlsdGluL2FtLmM6MjE1NAogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgotbXNnc3RyICJnaXQgYW0gWzxvcHRpb25zPl0gKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KSIKK21zZ3N0ciAiZ2l0IGFtIFs8b3B0aW9ucz5dICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTcyCisjOiBidWlsdGluL2FtLmM6MjE2MAogbXNnaWQgInJ1biBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICJleMOpY3V0aW9uIGludGVyYWN0aXZlIgogCi0jOiBidWlsdGluL2FtLmM6MjE3NAorIzogYnVpbHRpbi9hbS5jOjIxNjIKIG1zZ2lkICJoaXN0b3JpY2FsIG9wdGlvbiAtLSBuby1vcCIKIG1zZ3N0ciAib3B0aW9uIGhpc3RvcmlxdWUgLS0gbm8tb3AiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTc2CisjOiBidWlsdGluL2FtLmM6MjE2NAogbXNnaWQgImFsbG93IGZhbGwgYmFjayBvbiAzd2F5IG1lcmdpbmcgaWYgbmVlZGVkIgogbXNnc3RyICJwZXJtZXR0cmUgZGUgcmV2ZW5pciDDoCB1bmUgZnVzaW9uIMOgIDMgcG9pbnRzIHNpIG7DqWNlc3NhaXJlIgogCi0jOiBidWlsdGluL2FtLmM6MjE3NyBidWlsdGluL2luaXQtZGIuYzo0ODYgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1OAotIzogYnVpbHRpbi9yZXBhY2suYzozMDYKKyM6IGJ1aWx0aW4vYW0uYzoyMTY1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NCBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU4CisjOiBidWlsdGluL3JlcGFjay5jOjMwNCBidWlsdGluL3N0YXNoLmM6ODExCiBtc2dpZCAiYmUgcXVpZXQiCiBtc2dzdHIgIsOqdHJlIHNpbGVuY2lldXgiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTc5CisjOiBidWlsdGluL2FtLmM6MjE2NwogbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnkgbGluZSB0byB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgImFqb3V0ZXIgdW5lIGxpZ25lIFNpZ25lZC1vZmYtYnkgYXUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL2FtLmM6MjE4MgorIzogYnVpbHRpbi9hbS5jOjIxNzAKIG1zZ2lkICJyZWNvZGUgaW50byB1dGY4IChkZWZhdWx0KSIKIG1zZ3N0ciAicmVjb2RlciBlbiB1dGYtOCAocGFyIGTDqWZhdXQpIgogCi0jOiBidWlsdGluL2FtLmM6MjE4NAorIzogYnVpbHRpbi9hbS5jOjIxNzIKIG1zZ2lkICJwYXNzIC1rIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICJwYXNzZXIgbCdvcHRpb24gLWsgw6AgZ2l0LW1haWxpbmZvIgogCi0jOiBidWlsdGluL2FtLmM6MjE4NgorIzogYnVpbHRpbi9hbS5jOjIxNzQKIG1zZ2lkICJwYXNzIC1iIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICJwYXNzZXIgbCdvcHRpb24gLWIgw6AgZ2l0LW1haWxpbmZvIgogCi0jOiBidWlsdGluL2FtLmM6MjE4OAorIzogYnVpbHRpbi9hbS5jOjIxNzYKIG1zZ2lkICJwYXNzIC1tIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICJwYXNzZXIgbCdvcHRpb24gLW0gw6AgZ2l0LW1haWxpbmZvIgogCi0jOiBidWlsdGluL2FtLmM6MjE5MAorIzogYnVpbHRpbi9hbS5jOjIxNzgKIG1zZ2lkICJwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgZm9yIG1ib3ggZm9ybWF0IgogbXNnc3RyICJwYXNzZXIgbCdvcHRpb24gLS1rZWVwLWNyIMOgIGdpdC1tYWlsc3BsaXQgZnBvdXIgbGUgZm9ybWF0IG1ib3giCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTkzCisjOiBidWlsdGluL2FtLmM6MjE4MQogbXNnaWQgImRvIG5vdCBwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgaW5kZXBlbmRlbnQgb2YgYW0ua2VlcGNyIgogbXNnc3RyICIiCiAibmUgcGFzIHBhc3NlciBsJ29wdGlvbiAtLWtlZXAtY3Igw6AgZ2l0LW1haWxzcGxpdCBpbmTDqXBlbmRhbW1lbnQgZGUgYW0ua2VlcGNyIgogCi0jOiBidWlsdGluL2FtLmM6MjE5NgorIzogYnVpbHRpbi9hbS5jOjIxODQKIG1zZ2lkICJzdHJpcCBldmVyeXRoaW5nIGJlZm9yZSBhIHNjaXNzb3JzIGxpbmUiCiBtc2dzdHIgInJldGlyZXIgdG91dCBsZSBjb250ZW51IGF2YW50IGxhIGxpZ25lIGRlcyBjaXNlYXV4IgogCisjOiBidWlsdGluL2FtLmM6MjE4NiBidWlsdGluL2FtLmM6MjE4OSBidWlsdGluL2FtLmM6MjE5MiBidWlsdGluL2FtLmM6MjE5NQogIzogYnVpbHRpbi9hbS5jOjIxOTggYnVpbHRpbi9hbS5jOjIyMDEgYnVpbHRpbi9hbS5jOjIyMDQgYnVpbHRpbi9hbS5jOjIyMDcKLSM6IGJ1aWx0aW4vYW0uYzoyMjEwIGJ1aWx0aW4vYW0uYzoyMjEzIGJ1aWx0aW4vYW0uYzoyMjE2IGJ1aWx0aW4vYW0uYzoyMjE5Ci0jOiBidWlsdGluL2FtLmM6MjIyNQorIzogYnVpbHRpbi9hbS5jOjIyMTMKIG1zZ2lkICJwYXNzIGl0IHRocm91Z2ggZ2l0LWFwcGx5IgogbXNnc3RyICJsZSBwYXNzZXIganVzcXUnw6AgZ2l0LWFwcGx5IgogCi0jOiBidWlsdGluL2FtLmM6MjIxNSBidWlsdGluL2NvbW1pdC5jOjEzNDAgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzQgYnVpbHRpbi9ncmVwLmM6ODY4IGJ1aWx0aW4vbWVyZ2UuYzoyMzkKLSM6IGJ1aWx0aW4vcHVsbC5jOjE1MSBidWlsdGluL3B1bGwuYzoyMDkgYnVpbHRpbi9yZWJhc2UuYzo4NTQKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE3IGJ1aWx0aW4vcmVwYWNrLmM6MzIxIGJ1aWx0aW4vcmVwYWNrLmM6MzIzCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUxIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzEgYnVpbHRpbi90YWcuYzozODYKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNDQgcGFyc2Utb3B0aW9ucy5oOjE0NiBwYXJzZS1vcHRpb25zLmg6MjY4CisjOiBidWlsdGluL2FtLmM6MjIwMyBidWlsdGluL2NvbW1pdC5jOjEzODYgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjczCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzYgYnVpbHRpbi9ncmVwLmM6ODgzIGJ1aWx0aW4vbWVyZ2UuYzoyNDkKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2MCBidWlsdGluL3B1bGwuYzoyMTkgYnVpbHRpbi9yZWJhc2UuYzoxNDY5CisjOiBidWlsdGluL3JlcGFjay5jOjMxNSBidWlsdGluL3JlcGFjay5jOjMxOSBidWlsdGluL3JlcGFjay5jOjMyMQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MCBidWlsdGluL3Nob3ctcmVmLmM6MTcyIGJ1aWx0aW4vdGFnLmM6NDAzCisjOiBwYXJzZS1vcHRpb25zLmg6MTU0IHBhcnNlLW9wdGlvbnMuaDoxNzUgcGFyc2Utb3B0aW9ucy5oOjMxNgogbXNnaWQgIm4iCiBtc2dzdHIgIm4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjIxIGJ1aWx0aW4vYnJhbmNoLmM6NjM3IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzgKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0NCBidWlsdGluL3RhZy5jOjQyMiBidWlsdGluL3ZlcmlmeS10YWcuYzozOQorIzogYnVpbHRpbi9hbS5jOjIyMDkgYnVpbHRpbi9icmFuY2guYzo2NjEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU1IGJ1aWx0aW4vdGFnLmM6NDM3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICJmb3JtYXQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjIyCisjOiBidWlsdGluL2FtLmM6MjIxMAogbXNnaWQgImZvcm1hdCB0aGUgcGF0Y2goZXMpIGFyZSBpbiIKIG1zZ3N0ciAiZm9ybWF0IGRlIHByw6lzZW50YXRpb24gZGVzIHBhdGNocyIKIAotIzogYnVpbHRpbi9hbS5jOjIyMjgKKyM6IGJ1aWx0aW4vYW0uYzoyMjE2CiBtc2dpZCAib3ZlcnJpZGUgZXJyb3IgbWVzc2FnZSB3aGVuIHBhdGNoIGZhaWx1cmUgb2NjdXJzIgogbXNnc3RyICJzdXJjaGFyZ2VyIGxlIG1lc3NhZ2UgZCdlcnJldXIgbG9ycyBkJ3VuIMOpY2hlYyBkJ2FwcGxpY2F0aW9uIGRlIHBhdGNoIgogCi0jOiBidWlsdGluL2FtLmM6MjIzMAorIzogYnVpbHRpbi9hbS5jOjIyMTgKIG1zZ2lkICJjb250aW51ZSBhcHBseWluZyBwYXRjaGVzIGFmdGVyIHJlc29sdmluZyBhIGNvbmZsaWN0IgogbXNnc3RyICJjb250aW51ZXIgw6AgYXBwbGlxdWVyIGxlcyBwYXRjaHMgYXByw6hzIHLDqXNvbHV0aW9uIGQndW4gY29uZmxpdCIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzMKKyM6IGJ1aWx0aW4vYW0uYzoyMjIxCiBtc2dpZCAic3lub255bXMgZm9yIC0tY29udGludWUiCiBtc2dzdHIgInN5bm9ueW1lcyBkZSAtLWNvbnRpbnVlIgogCi0jOiBidWlsdGluL2FtLmM6MjIzNgorIzogYnVpbHRpbi9hbS5jOjIyMjQKIG1zZ2lkICJza2lwIHRoZSBjdXJyZW50IHBhdGNoIgogbXNnc3RyICJzYXV0ZXIgbGUgcGF0Y2ggY291cmFudCIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzkKKyM6IGJ1aWx0aW4vYW0uYzoyMjI3CiBtc2dpZCAicmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBhYm9ydCB0aGUgcGF0Y2hpbmcgb3BlcmF0aW9uLiIKIG1zZ3N0ciAiIgogInJlc3RhdXJlciBsYSBicmFuY2hlIG9yaWdpbmFsZSBldCBhYmFuZG9ubmVyIGxlcyBhcHBsaWNhdGlvbnMgZGUgcGF0Y2guIgogCi0jOiBidWlsdGluL2FtLmM6MjI0MgorIzogYnVpbHRpbi9hbS5jOjIyMzAKIG1zZ2lkICJhYm9ydCB0aGUgcGF0Y2hpbmcgb3BlcmF0aW9uIGJ1dCBrZWVwIEhFQUQgd2hlcmUgaXQgaXMuIgogbXNnc3RyICJhYmFuZG9ubmUgbCdvcMOpcmF0aW9uIGRlIHBhdGNoIG1haXMgZ2FyZGUgSEVBRCBvw7kgaWwgZXN0LiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDUKKyM6IGJ1aWx0aW4vYW0uYzoyMjMzCiBtc2dpZCAic2hvdyB0aGUgcGF0Y2ggYmVpbmcgYXBwbGllZC4iCiBtc2dzdHIgImFmZmljaGVyIGxlIHBhdGNoIGVuIGNvdXJzIGQnYXBwbGljYXRpb24uIgogCi0jOiBidWlsdGluL2FtLmM6MjI0OQorIzogYnVpbHRpbi9hbS5jOjIyMzcKIG1zZ2lkICJsaWUgYWJvdXQgY29tbWl0dGVyIGRhdGUiCiBtc2dzdHIgIm1lbnRpciBzdXIgbGEgZGF0ZSBkZSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL2FtLmM6MjI1MQorIzogYnVpbHRpbi9hbS5jOjIyMzkKIG1zZ2lkICJ1c2UgY3VycmVudCB0aW1lc3RhbXAgZm9yIGF1dGhvciBkYXRlIgogbXNnc3RyICJ1dGlsaXNlciBsJ2hvcm9kYXRhZ2UgYWN0dWVsIHBvdXIgbGEgZGF0ZSBkJ2F1dGV1ciIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTMgYnVpbHRpbi9jb21taXQuYzoxNDgzIGJ1aWx0aW4vbWVyZ2UuYzoyNzMKLSM6IGJ1aWx0aW4vcHVsbC5jOjE4NCBidWlsdGluL3JlYmFzZS5jOjg5OCBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODMKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEzIGJ1aWx0aW4vdGFnLmM6NDAyCisjOiBidWlsdGluL2FtLmM6MjI0MSBidWlsdGluL2NvbW1pdC10cmVlLmM6MTIwIGJ1aWx0aW4vY29tbWl0LmM6MTUwNworIzogYnVpbHRpbi9tZXJnZS5jOjI4NiBidWlsdGluL3B1bGwuYzoxOTQgYnVpbHRpbi9yZWJhc2UuYzo1MDkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxMyBidWlsdGluL3JldmVydC5jOjExNyBidWlsdGluL3RhZy5jOjQxOAogbXNnaWQgImtleS1pZCIKIG1zZ3N0ciAiaWQtY2zDqSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTQgYnVpbHRpbi9yZWJhc2UuYzo4OTkgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg0CisjOiBidWlsdGluL2FtLmM6MjI0MiBidWlsdGluL3JlYmFzZS5jOjUxMCBidWlsdGluL3JlYmFzZS5jOjE1MTQKIG1zZ2lkICJHUEctc2lnbiBjb21taXRzIgogbXNnc3RyICJzaWduZXIgbGVzIGNvbW1pdHMgYXZlYyBHUEciCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjU3CisjOiBidWlsdGluL2FtLmM6MjI0NQogbXNnaWQgIihpbnRlcm5hbCB1c2UgZm9yIGdpdC1yZWJhc2UpIgogbXNnc3RyICIodXRpbGlzYXRpb24gaW50ZXJuZSBwb3VyIGdpdC1yZWJhc2UpIgogCi0jOiBidWlsdGluL2FtLmM6MjI3NQorIzogYnVpbHRpbi9hbS5jOjIyNjMKIG1zZ2lkICIiCiAiVGhlIC1iLy0tYmluYXJ5IG9wdGlvbiBoYXMgYmVlbiBhIG5vLW9wIGZvciBsb25nIHRpbWUsIGFuZFxuIgogIml0IHdpbGwgYmUgcmVtb3ZlZC4gUGxlYXNlIGRvIG5vdCB1c2UgaXQgYW55bW9yZS4iCkBAIC03ODU4LDE3ICs5NzEzLDE3IEBACiAiTCdvcHRpb24gLWIvLS1iaW5hcnkgbmUgZmFpdCBwbHVzIHJpZW4gZGVwdWlzIGxvbmd0ZW1wcyxcbiIKICJldCBlbGxlIHNlcmEgc3VwcHJpbcOpZS4gVmV1aWxsZXogbmUgcGx1cyBsJ3V0aWxpc2VyLiIKIAotIzogYnVpbHRpbi9hbS5jOjIyODIKKyM6IGJ1aWx0aW4vYW0uYzoyMjcwCiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICLDqWNoZWMgw6AgbGEgbGVjdHVyZSBkZSBsJ2luZGV4IgogCi0jOiBidWlsdGluL2FtLmM6MjI5NworIzogYnVpbHRpbi9hbS5jOjIyODUKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJldmlvdXMgcmViYXNlIGRpcmVjdG9yeSAlcyBzdGlsbCBleGlzdHMgYnV0IG1ib3ggZ2l2ZW4uIgogbXNnc3RyICIiCiAibGUgcsOpcGVydG9pcmUgcHLDqWPDqWRlbnQgZGUgcmViYXNhZ2UgJXMgZXhpc3RlIHRvdWpvdXJzIG1haXMgbWJveCBkb25uw6llLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMjEKKyM6IGJ1aWx0aW4vYW0uYzoyMzA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdHJheSAlcyBkaXJlY3RvcnkgZm91bmQuXG4iCkBAIC03ODc3LDEyICs5NzMyLDE2IEBACiAiUsOpcGVydG9pcmUgYWJhbmRvbm7DqSAlcyB0cm91dsOpLlxuIgogIlV0aWxpc2V6IFwiZ2l0IGFtIC0tYWJvcnRcIiBwb3VyIGxlIHN1cHByaW1lci4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzI3CisjOiBidWlsdGluL2FtLmM6MjMxNQogbXNnaWQgIlJlc29sdmUgb3BlcmF0aW9uIG5vdCBpbiBwcm9ncmVzcywgd2UgYXJlIG5vdCByZXN1bWluZy4iCiBtc2dzdHIgIiIKICJQYXMgZGUgcsOpc29sdXRpb24gZGUgbCdvcMOpcmF0aW9uIGVuIGNvdXJzLCBub3VzIG5lIHNvbW1lcyBwYXMgZGFucyB1bmUgIgogInJlcHJpc2UuIgogCisjOiBidWlsdGluL2FtLmM6MjMyNQorbXNnaWQgImludGVyYWN0aXZlIG1vZGUgcmVxdWlyZXMgcGF0Y2hlcyBvbiB0aGUgY29tbWFuZCBsaW5lIgorbXNnc3RyICJsZSBtb2RlIGludGVyYWN0aWYgcmVxdWllcnQgZGVzIHJ1c3RpbmVzIHN1ciBsYSBsaWduZSBkZSBjb21tYW5kZSIKKwogIzogYnVpbHRpbi9hcHBseS5jOjgKIG1zZ2lkICJnaXQgYXBwbHkgWzxvcHRpb25zPl0gWzxwYXRjaD4uLi5dIgogbXNnc3RyICJnaXQgYXBwbHkgWzxvcHRpb25zPl0gWzxwYXRjaD4uLi5dIgpAQCAtNzkwMCw4NiArOTc1OSwzMDMgQEAKIG1zZ2lkICJnaXQgYXJjaGl2ZTogUmVtb3RlIHdpdGggbm8gVVJMIgogbXNnc3RyICJnaXQgYXJjaGl2ZSA6IETDqXDDtHQgZGlzdGFudCBzYW5zIFVSTCIKIAotIzogYnVpbHRpbi9hcmNoaXZlLmM6NTgKKyM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjYxCiBtc2dpZCAiZ2l0IGFyY2hpdmU6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBhIGZsdXNoIHBhY2tldCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgOiBBQ0svTkFDSyBhdHRlbmR1LCBwYXF1ZXQgZGUgbmV0dG95YWdlIHJlw6d1IgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2MQorIzogYnVpbHRpbi9hcmNoaXZlLmM6NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFyY2hpdmU6IE5BQ0sgJXMiCiBtc2dzdHIgImdpdCBhcmNoaXZlIDogTkFDSyAlcyIKIAotIzogYnVpbHRpbi9hcmNoaXZlLmM6NjQKKyM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY1CiBtc2dpZCAiZ2l0IGFyY2hpdmU6IHByb3RvY29sIGVycm9yIgogbXNnc3RyICJnaXQgYXJjaGl2ZSA6IGVycmV1ciBkZSBwcm90b2NvbGUiCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY4CisjOiBidWlsdGluL2FyY2hpdmUuYzo2OQogbXNnaWQgImdpdCBhcmNoaXZlOiBleHBlY3RlZCBhIGZsdXNoIgogbXNnc3RyICJnaXQgYXJjaGl2ZSA6IHZpZGFnZSBhdHRlbmR1IgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTIKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMgogbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLW5leHQtYWxsIFstLW5vLWNoZWNrb3V0XSIKIG1zZ3N0ciAiZ2l0IGJpc2VjdCAtLWhlbHBlciAtLW5leHQtYWxsIFstLW5vLWNoZWNrb3V0XSIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEzCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjMKIG1zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS13cml0ZS10ZXJtcyA8YmFkX3Rlcm0+IDxnb29kX3Rlcm0+IgogbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS13cml0ZS10ZXJtcyA8dGVybWUtcG91ci1tYXV2YWlzPiA8dGVybWUtcG91ci1ib24+IgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTQKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNAogbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1jbGVhbi1zdGF0ZSIKIG1zZ3N0ciAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNsZWFuLXN0YXRlIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NDYKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNQorbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1yZXNldCBbPGNvbW1pdD5dIgorbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtcmVzZXQgWzxjb21taXQ+XSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI2Cittc2dpZCAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC13cml0ZSBbLS1uby1sb2ddIDxzdGF0ZT4gPHJldmlzaW9uPiA8Z29vZF90ZXJtPiAiCisiPGJhZF90ZXJtPiIKK21zZ3N0ciAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC13cml0ZSBbLS1uby1sb2ddIDzDqXRhdD4gPHLDqXZpc2lvbj4gPHRlcm1lLXBvdXItIgorImJvbj4gPHRlcm1lLXBvdXItbWF1dmFpcz4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNworbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2hlY2stYW5kLXNldC10ZXJtcyA8Y29tbWFuZD4gPGdvb2RfdGVybT4gIgorIjxiYWRfdGVybT4iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2hlY2stYW5kLXNldC10ZXJtcyA8Y29tbWFuZGU+IDx0ZXJtZS1wb3VyLWJvbj4gIgorIjx0ZXJtZS1wb3VyLW1hdXZhaXM+IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjgKK21zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtbmV4dC1jaGVjayA8Z29vZF90ZXJtPiA8YmFkX3Rlcm0+IFs8dGVybT5dIgorbXNnc3RyICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LW5leHQtY2hlY2sgPHRlcm1lLXBvdXItYm9uPiA8dGVybWUtcG91ci1tYXV2YWlzPiAiCisiWzx0ZXJtPl0iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyOQorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtdGVybXMgWy0tdGVybS1nb29kIHwgLS10ZXJtLW9sZCB8IC0tdGVybS1iYWQgfCAtLSIKKyJ0ZXJtLW5ld10iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtdGVybXMgWy0tdGVybS1nb29kIHwgLS10ZXJtLW9sZCB8IC0tdGVybS1iYWQgfCAtLSIKKyJ0ZXJtLW5ld10iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozMAorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtc3RhcnQgWy0tdGVybS17b2xkLGdvb2R9PTx0ZXJtPiAtLXRlcm0te25ldyxiYWR9IgorIj08dGVybT5dWy0tbm8tY2hlY2tvdXRdIFs8YmFkPiBbPGdvb2Q+Li4uXV0gWy0tXSBbPHBhdGhzPi4uLl0iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtc3RhcnQgWy0tdGVybS17b2xkLGdvb2R9PTx0ZXJtZT4gLS10ZXJtLXtuZXcsYmFkfSIKKyI9PHRlcm1lPl1bLS1uby1jaGVja291dF0gWzxtYXV2YWlzPiBbPGJvbj4uLi5dXSBbLS1dIFs8Y2hlbWlucz4uLi5dIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0ZXJtIgogbXNnc3RyICInJXMnIG4nZXN0IHBhcyB1biB0ZXJtZSB2YWxpZGUiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1MAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IHVzZSB0aGUgYnVpbHRpbiBjb21tYW5kICclcycgYXMgYSB0ZXJtIgogbXNnc3RyICJpbXBvc3NpYmxlIGQndXRpbGlzZXIgbGEgY29tbWFuZGUgaW5jbHVzZSAnJXMnIGNvbW1lIHRlcm1lIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjAKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3QgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSB0ZXJtICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgbW9kaWZpZXIgbGEgc2lnbmlmaWNhdGlvbiBkdSB0ZXJtZSAnJXMnIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NzEKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMTEKIG1zZ2lkICJwbGVhc2UgdXNlIHR3byBkaWZmZXJlbnQgdGVybXMiCiBtc2dzdHIgInZldWlsbGV6IHV0aWxpc2VyIGRldXggdGVybWVzIGRpZmbDqXJlbnRzIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NzgKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMTgKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiB0aGUgZmlsZSBCSVNFQ1RfVEVSTVMiCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgbGUgZmljaGllciBCSVNFQ1RfVEVSTVMiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMjAKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2UgYXJlIG5vdCBiaXNlY3RpbmcuXG4iCittc2dzdHIgIlBhcyBkZSBiaXNzZWN0aW9uIGVuIGNvdXJzLlxuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgY29tbWl0IgorbXNnc3RyICInJXMnIG4nZXN0IHBhcyB1biBjb21taXQgdmFsaWRlIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb3VsZCBub3QgY2hlY2sgb3V0IG9yaWdpbmFsIEhFQUQgJyVzJy4gVHJ5ICdnaXQgYmlzZWN0IHJlc2V0IDxjb21taXQ+Jy4iCittc2dzdHIgIiIKKyLDiWNoZWMgZCdleHRyYWN0aW9uIGRlIGxhIEhFQUQgZCdvcmlnaW5lICclcycuIEVzc2F5ZXogJ2dpdCBiaXNlY3QgcmVzZXQgIgorIjxjb21taXQ+Jy4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIGJpc2VjdF93cml0ZSBhcmd1bWVudDogJXMiCittc2dzdHIgIk1hdXZhaXMgYXJndW1lbnQgcG91ciBiaXNlY3Rfd3JpdGXCoDogJXMiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZ2V0IHRoZSBvaWQgb2YgdGhlIHJldiAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb2J0ZW5pciBsJ29pZCBkZSBsYSByw6l2aXNpb24gJyVzJyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBvcGVuIHRoZSBmaWxlICclcyciCittc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgbGUgZmljaGllciAnJXMnIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgY29tbWFuZDogeW91J3JlIGN1cnJlbnRseSBpbiBhICVzLyVzIGJpc2VjdCIKK21zZ3N0ciAiQ29tbWFuZGUgaW52YWxpZGXCoDogdm91cyDDqnRlcyBhY3R1ZWxsZW1lbnQgZGFucyB1bmUgYmlzc2VjdGlvbiAlcy8lcyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IG5lZWQgdG8gZ2l2ZSBtZSBhdCBsZWFzdCBvbmUgJXMgYW5kICVzIHJldmlzaW9uLlxuIgorIllvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCAlc1wiIGFuZCBcImdpdCBiaXNlY3QgJXNcIiBmb3IgdGhhdC4iCittc2dzdHIgIiIKKyJWb3VzIGRldmV6IG1lIGRvbm5lciBhdSBtb2lucyB1bmUgcsOpdmlzaW9uICVzIGV0IHVuZSByw6l2aXNpb24gJXMuXG4iCisiVm91cyBwb3V2ZXogdXRpbGlzZXIgXCJnaXQgYmlzZWN0ICVzXCIgZXQgXCJnaXQgYmlzZWN0ICVzXCIgcG91ciBjZWxhLiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IG5lZWQgdG8gc3RhcnQgYnkgXCJnaXQgYmlzZWN0IHN0YXJ0XCIuXG4iCisiWW91IHRoZW4gbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSAlcyBhbmQgJXMgcmV2aXNpb24uXG4iCisiWW91IGNhbiB1c2UgXCJnaXQgYmlzZWN0ICVzXCIgYW5kIFwiZ2l0IGJpc2VjdCAlc1wiIGZvciB0aGF0LiIKK21zZ3N0ciAiIgorIlZvdXMgZGV2ZXogZMOpbWFycmVyIGF2ZWMgXCJnaXQgYmlzZWN0IHN0YXJ0XCIuXG4iCisiUHVpcyB2b3VzIGRldmV6IG1lIGRvbm5lciBhdSBtb2lucyB1bmUgcsOpdmlzaW9uICVzIGV0IHVuZSByw6l2aXNpb24gJXMuXG4iCisiVm91cyBwb3V2ZXogdXRpbGlzZXIgXCJnaXQgYmlzZWN0ICVzXCIgZXQgXCJnaXQgYmlzZWN0ICVzXCIgcG91ciBjZWxhLiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICJiaXNlY3Rpbmcgb25seSB3aXRoIGEgJXMgY29tbWl0IgorbXNnc3RyICJBdHRlbnRpb24gOiBiaXNzZWN0aW9uIGF2ZWMgc2V1bGVtZW50IHVuZSB2YWxpZGF0aW9uICVzIgorCisjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW1ldIGFuZCBbbl0gaW4geW91cgorIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAorIy4gYXQgdGhpcyBwb2ludC4KKyMuCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzMwCittc2dpZCAiQXJlIHlvdSBzdXJlIFtZL25dPyAiCittc2dzdHIgIkNvbmZpcm1lei12b3VzIFtZL25dID8gIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Mzc3Cittc2dpZCAibm8gdGVybXMgZGVmaW5lZCIKK21zZ3N0ciAiYXVjdW4gdGVybWUgZMOpZmluaSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBjdXJyZW50IHRlcm1zIGFyZSAlcyBmb3IgdGhlIG9sZCBzdGF0ZVxuIgorImFuZCAlcyBmb3IgdGhlIG5ldyBzdGF0ZS5cbiIKK21zZ3N0ciAiIgorIlZvcyB0ZXJtZXMgYWN0dWVscyBzb250ICVzIHBvdXIgbCfDqXRhdCBhbmNpZW5cbiIKKyJldCAlcyBwb3VyIGxlIG5vdXZlbCDDqXRhdC5cbiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiaW52YWxpZCBhcmd1bWVudCAlcyBmb3IgJ2dpdCBiaXNlY3QgdGVybXMnLlxuIgorIlN1cHBvcnRlZCBvcHRpb25zIGFyZTogLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCBhbmQgLS10ZXJtLWJhZHwtLXRlcm0tbmV3LiIKK21zZ3N0ciAiIgorImFyZ3VtZW50IGludmFsaWRlICVzIHBvdXIgJ2dpdCBiaXNlY3QgdGVybXMnLlxuIgorIkxlcyBvcHRpb25zIHN1cHBvcnTDqWVzIHNvbnTCoDogLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCBldCAtLXRlcm0tYmFkfC0tdGVybS0iCisibmV3LiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uOiAnJXMnIgorbXNnc3RyICJvcHRpb24gbm9uIHJlY29ubnVlwqA6ICVzIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgdmFsaWQgcmV2aXNpb24iCittc2dzdHIgIiclcycgbmUgc2VtYmxlIMOqdHJlIHVuZSByw6l2aXNpb24gdmFsaWRlIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTEyCittc2dpZCAiYmFkIEhFQUQgLSBJIG5lZWQgYSBIRUFEIgorbXNnc3RyICJtYXV2YWlzZSBIRUFEIC0gaidhaSBiZXNvaW4gZCd1bmUgSEVBRCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVja2luZyBvdXQgJyVzJyBmYWlsZWQuIFRyeSAnZ2l0IGJpc2VjdCBzdGFydCA8dmFsaWQtYnJhbmNoPicuIgorbXNnc3RyICIiCisiTCdleHRyYWN0aW9uIGRlICclcycgYSDDqWNob3XDqS4gRXNzYXlleiAnZ2l0IGJpc2VjdCBzdGFydCA8YnJhbmNoZS12YWxpZGU+Jy4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1NDgKK21zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgorbXNnc3RyICJyZWZ1cyBkZSBiaXNzZWN0ZXIgc3VyIHVuIGFyYnJlICdjZy1zZWVrZWQnIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTUxCittc2dpZCAiYmFkIEhFQUQgLSBzdHJhbmdlIHN5bWJvbGljIHJlZiIKK21zZ3N0ciAibWF1dmFpc2UgSEVBRCAtIHLDqWbDqXJlbmNlIHN5bWJvbGlxdWUgZG91dGV1c2UiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCByZWY6ICclcyciCittc2dzdHIgInLDqWZlcmVuY2UgaW52YWxpZGXCoDogJyVzJyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzMQogbXNnaWQgInBlcmZvcm0gJ2dpdCBiaXNlY3QgbmV4dCciCiBtc2dzdHIgImVmZmVjdHVlciAnZ2l0IGJpc2VjdCBuZXh0JyIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyMgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzMwogbXNnaWQgIndyaXRlIHRoZSB0ZXJtcyB0byAuZ2l0L0JJU0VDVF9URVJNUyIKIG1zZ3N0ciAiw6ljcmlyZSBsZXMgdGVybWVzIGRhbnMgLmdpdC9CSVNFQ1RfVEVSTVMiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMjQKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2MzUKIG1zZ2lkICJjbGVhbnVwIHRoZSBiaXNlY3Rpb24gc3RhdGUiCiBtc2dzdHIgInbDqXJpZmllciBsJ8OpdGF0IGRlIGxhIGJpc3NlY3Rpb24iCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMjYKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2MzcKIG1zZ2lkICJjaGVjayBmb3IgZXhwZWN0ZWQgcmV2cyIKIG1zZ3N0ciAidsOpcmlmaWVyIHNpIGRlcyByw6l2aXNpb25zIHNvbnQgYXR0ZW5kdWVzIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTI4CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM5Cittc2dpZCAicmVzZXQgdGhlIGJpc2VjdGlvbiBzdGF0ZSIKK21zZ3N0ciAicsOpaW5pdGlhbGlzZXIgbCfDqXRhdCBkZSBsYSBiaXNzZWN0aW9uIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQxCittc2dpZCAid3JpdGUgb3V0IHRoZSBiaXNlY3Rpb24gc3RhdGUgaW4gQklTRUNUX0xPRyIKK21zZ3N0ciAiw6ljcmlyZSBsJ8OpdGF0IGRlIGxhIGJpc3NlY3Rpb24gZGFucyBCSVNFQ1RfTE9HIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQzCittc2dpZCAiY2hlY2sgYW5kIHNldCB0ZXJtcyBpbiBhIGJpc2VjdGlvbiBzdGF0ZSIKK21zZ3N0ciAidsOpcmlmaWVyIGV0IHLDqWdsZXIgbGVzIHRlcm1lcyBkYW5zIHVuIMOpdGF0IGRlIGxhIGJpc3NlY3Rpb24iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDUKK21zZ2lkICJjaGVjayB3aGV0aGVyIGJhZCBvciBnb29kIHRlcm1zIGV4aXN0IgorbXNnc3RyICJ2w6lyaWZpZXIgc2kgbGVzIHRlcm1lcyBib25zIG91IG1hdXZhaXMgZXhpc3RlbnQiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDcKK21zZ2lkICJwcmludCBvdXQgdGhlIGJpc2VjdCB0ZXJtcyIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIHRlcm1lcyBkZSBiaXNzZWN0aW9uIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQ5Cittc2dpZCAic3RhcnQgdGhlIGJpc2VjdCBzZXNzaW9uIgorbXNnc3RyICJkw6ltYXJyZXIgdW5lIHNlc3Npb24gZGUgYmlzc2VjdGlvbiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY1MQogbXNnaWQgInVwZGF0ZSBCSVNFQ1RfSEVBRCBpbnN0ZWFkIG9mIGNoZWNraW5nIG91dCB0aGUgY3VycmVudCBjb21taXQiCiBtc2dzdHIgIm1ldHRyZSDDoCBqb3VyIEJJU0VDVF9IRUFEIGF1IGxpZXUgZCdleHRyYWlyZSBsZSBjb21taXQgYWN0dWVsIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTQzCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjUzCittc2dpZCAibm8gbG9nIGZvciBCSVNFQ1RfV1JJVEUiCittc2dzdHIgInBhcyBkZSBqb3VybmFsIHBvdXIgQklTRUNUX1dSSVRFIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjcwCiBtc2dpZCAiLS13cml0ZS10ZXJtcyByZXF1aXJlcyB0d28gYXJndW1lbnRzIgogbXNnc3RyICItLXdyaXRlLXRlcm1zIGV4aWdlIGRldXggYXJndW1lbnRzIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTQ3CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Njc0CiBtc2dpZCAiLS1iaXNlY3QtY2xlYW4tc3RhdGUgcmVxdWlyZXMgbm8gYXJndW1lbnRzIgogbXNnc3RyICItLWJpc2VjdC1jbGVhbi1zdGF0ZSBuZSBzdXBwb3J0ZSBhdWN1biBhcmd1bWVudCIKIAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY4MQorbXNnaWQgIi0tYmlzZWN0LXJlc2V0IHJlcXVpcmVzIGVpdGhlciBubyBhcmd1bWVudCBvciBhIGNvbW1pdCIKK21zZ3N0ciAiLS1iaXNlY3QtcmVzZXQgc3VwcG9ydGUgc29pdCBhdWN1biBhcmd1bWVudCwgc29pdCB1biBjb21taXQiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2ODUKK21zZ2lkICItLWJpc2VjdC13cml0ZSByZXF1aXJlcyBlaXRoZXIgNCBvciA1IGFyZ3VtZW50cyIKK21zZ3N0ciAiLS1iaXNlY3Qtd3JpdGUgc3VwcG9ydGUgc29pdCA0IGFyZ3VtZW50cywgc29pdCA1IGFyZ3VtZW50cyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY5MQorbXNnaWQgIi0tY2hlY2stYW5kLXNldC10ZXJtcyByZXF1aXJlcyAzIGFyZ3VtZW50cyIKK21zZ3N0ciAiLS1jaGVjay1hbmQtc2V0LXRlcm1zIGV4aWdlIDMgYXJndW1lbnRzIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Njk3Cittc2dpZCAiLS1iaXNlY3QtbmV4dC1jaGVjayByZXF1aXJlcyAyIG9yIDMgYXJndW1lbnRzIgorbXNnc3RyICItLWJpc2VjdC1uZXh0LWNoZWNrIGV4aWdlIDIgb3UgMyBhcmd1bWVudHMiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo3MDMKK21zZ2lkICItLWJpc2VjdC10ZXJtcyByZXF1aXJlcyAwIG9yIDEgYXJndW1lbnQiCittc2dzdHIgIi0tYmlzZWN0LXRlcm1zIGV4aWdlIDAgb3UgMSBhcmd1bWVudCIKKwogIzogYnVpbHRpbi9ibGFtZS5jOjMxCiBtc2dpZCAiZ2l0IGJsYW1lIFs8b3B0aW9ucz5dIFs8cmV2LW9wdHM+XSBbPHJldj5dIFstLV0gPGZpbGU+IgogbXNnc3RyICJnaXQgYmxhbWUgWzxvcHRpb25zPl0gWzxyZXYtb3B0cz5dIFs8cmV2Pl0gWy0tXSA8ZmljaGllcj4iCkBAIC03OTg4LDE0MCArMTAwNjQsMTUzIEBACiBtc2dpZCAiPHJldi1vcHRzPiBhcmUgZG9jdW1lbnRlZCBpbiBnaXQtcmV2LWxpc3QoMSkiCiBtc2dzdHIgIjxvcHRpb25zLWRlLXLDqXZpc2lvbj4gc29udCBkb2N1bWVudMOpcyBkYW5zIGdpdC1yZXYtbGlzdCgxKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjQwNgorIzogYnVpbHRpbi9ibGFtZS5jOjQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RpbmcgYSBjb2xvcjogJXMiCiBtc2dzdHIgImNvdWxldXIgYXR0ZW5kdWXCoDogJXMiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo0MTMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo0MTYKIG1zZ2lkICJtdXN0IGVuZCB3aXRoIGEgY29sb3IiCiBtc2dzdHIgImRvaXQgZmluaXIgYXZlYyB1bmUgY291bGV1ciIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjcwMAorIzogYnVpbHRpbi9ibGFtZS5jOjcyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbG9yICclcycgaW4gY29sb3IuYmxhbWUucmVwZWF0ZWRMaW5lcyIKIG1zZ3N0ciAiY291bGV1ciBpbnZhbGlkZSAnJXMnIGRhbnMgY29sb3IuYmxhbWUucmVwZWF0ZWRsaW5lcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjcxOAorIzogYnVpbHRpbi9ibGFtZS5jOjc0NwogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yIGJsYW1lLmNvbG9yaW5nIgogbXNnc3RyICJ2YWxldXIgaW52YWxpZGUgcG91ciBibGFtZS5jb2xvcmluZyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5MworIzogYnVpbHRpbi9ibGFtZS5jOjgyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCByZXZpc2lvbiAlcyB0byBpZ25vcmUiCittc2dzdHIgInLDqWbDqXJlbmNlIMOgIGlnbm9yZXIgJXMgaW50cm91dmFibGUiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDQKIG1zZ2lkICJTaG93IGJsYW1lIGVudHJpZXMgYXMgd2UgZmluZCB0aGVtLCBpbmNyZW1lbnRhbGx5IgogbXNnc3RyICIiCiAiTW9udHJlciBsZXMgw6lsw6ltZW50cyBkZSBibMOibWUgYXUgZnVyIGV0IMOgIG1lc3VyZSBkZSBsZXVyIGTDqWNvdXZlcnRlLCBkZSAiCiAibWFuacOocmUgaW5jcsOpbWVudGFsZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5NAorIzogYnVpbHRpbi9ibGFtZS5jOjg0NQogbXNnaWQgIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIk1vbnRyZXIgdW4gU0hBLTEgYmxhbmMgcG91ciBsZXMgY29tbWl0cyBkZSBsaW1pdGUgKETDqWZhdXQgOiBkw6lzYWN0aXbDqSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTUKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDYKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKICJOZSBwYXMgdHJhaXRlciBsZXMgY29tbWl0cyByYWNpbmUgY29tbWUgZGVzIGxpbWl0ZXMgKETDqWZhdXQgOiBkw6lzYWN0aXbDqSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDcKIG1zZ2lkICJTaG93IHdvcmsgY29zdCBzdGF0aXN0aWNzIgogbXNnc3RyICJNb250cmVyIGxlcyBzdGF0aXN0aXF1ZXMgZGUgY2/Du3QgZCdhY3Rpdml0w6kiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDgKIG1zZ2lkICJGb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIkZvcmNlciBsJ2FmZmljaGFnZSBkZSBsJ8OpdGF0IGQnYXZhbmNlbWVudCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5OAorIzogYnVpbHRpbi9ibGFtZS5jOjg0OQogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICJNb250cmVyIGxlIHNjb3JlIGRlIHNvcnRpZSBwb3VyIGxlcyDDqWzDqW1lbnRzIGRlIGJsw6JtZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5OQorIzogYnVpbHRpbi9ibGFtZS5jOjg1MAogbXNnaWQgIlNob3cgb3JpZ2luYWwgZmlsZW5hbWUgKERlZmF1bHQ6IGF1dG8pIgogbXNnc3RyICJNb250cmVyIGxlcyBub21zIGRlIGZpY2hpZXIgb3JpZ2luYXV4IChEw6lmYXV0IDogYXV0bykiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTEKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGxpbmVudW1iZXIgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIk1vbnRyZXIgbGVzIG51bcOpcm9zIGRlIGxpZ25lcyBvcmlnaW5hdXggKETDqWZhdXQgOiBkw6lzYWN0aXbDqSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTIKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICJBZmZpY2hlciBkYW5zIHVuIGZvcm1hdCBwcm9waWNlIMOgIGxhIGNvbnNvbW1hdGlvbiBwYXIgbWFjaGluZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwMgorIzogYnVpbHRpbi9ibGFtZS5jOjg1MwogbXNnaWQgIlNob3cgcG9yY2VsYWluIGZvcm1hdCB3aXRoIHBlci1saW5lIGNvbW1pdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiQWZmaWNoZXIgZW4gZm9ybWF0IHBvcmNlbGFpbmUgYXZlYyBsJ2luZm9ybWF0aW9uIGRlIGNvbW1pdCBwYXIgbGlnbmUiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTQKIG1zZ2lkICJVc2UgdGhlIHNhbWUgb3V0cHV0IG1vZGUgYXMgZ2l0LWFubm90YXRlIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJVdGlsaXNlciBsZSBtw6ptZSBtb2RlIGRlIHNvcnRpZSBxdWUgZ2l0LWFubm90YXRlIChEw6lmYXV0IDogZMOpc2FjdGl2w6kpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA0CisjOiBidWlsdGluL2JsYW1lLmM6ODU1CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJBZmZpY2hlciBsZXMgaG9yb2RhdGFnZXMgYnJ1dHMgKETDqWZhdXQgOiBkw6lzYWN0aXbDqSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDUKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTYKIG1zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkFmZmljaGVyIGxlcyBsb25ncyBTSEExIGRlIGNvbW1pdHMgKETDqWZhdXQgOiBkw6lzYWN0aXbDqSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTcKIG1zZ2lkICJTdXBwcmVzcyBhdXRob3IgbmFtZSBhbmQgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJTdXBwcmltZXIgbGUgbm9tIGRlIGwnYXV0ZXVyIGV0IGwnaG9yb2RhdGFnZSAoRMOpZmF1dCA6IGTDqXNhY3RpdsOpKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwNworIzogYnVpbHRpbi9ibGFtZS5jOjg1OAogbXNnaWQgIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiQWZmaWNoZXIgbGUgY291cnJpZWwgZGUgbCdhdXRldXIgYXUgbGlldSBkdSBub20gKETDqWZhdXQgOiBkw6lzYWN0aXbDqSkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTkKIG1zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKIG1zZ3N0ciAiSWdub3JlciBsZXMgZGlmZsOpcmVuY2VzIGQnZXNwYWNlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA5CisjOiBidWlsdGluL2JsYW1lLmM6ODYwIGJ1aWx0aW4vbG9nLmM6MTcwMgorbXNnaWQgInJldiIKK21zZ3N0ciAicsOpdiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg2MAorbXNnaWQgIklnbm9yZSA8cmV2PiB3aGVuIGJsYW1pbmciCittc2dzdHIgImlnbm9yZSA8cmV2PiBwZW5kYW50IGxlIGJsw6JtZSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg2MQorbXNnaWQgIklnbm9yZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4iCittc2dzdHIgImlnbm9yZXIgbGVzIHLDqXZpc2lvbnMgbGlzdMOpZXMgZGFucyA8ZmljaGllcj4iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjIKIG1zZ2lkICJjb2xvciByZWR1bmRhbnQgbWV0YWRhdGEgZnJvbSBwcmV2aW91cyBsaW5lIGRpZmZlcmVudGx5IgogbXNnc3RyICIiCiAiY29sb3JlciBkaWZmw6lyZW1tZW50IGxlcyBtw6l0YWRvbm7DqWVzIHJlZG9uZGFudGVzIGF2ZWMgbGEgbGlnbmUgcHLDqWPDqWRlbnRlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODEwCisjOiBidWlsdGluL2JsYW1lLmM6ODYzCiBtc2dpZCAiY29sb3IgbGluZXMgYnkgYWdlIgogbXNnc3RyICJjb2xvcmllciBsZXMgbGlnbmVzIHBhciDDomdlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODE3Ci1tc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKLW1zZ3N0ciAiVXRpbGlzZXIgdW5lIGhldXJpc3RpcXVlIGV4cMOpcmltZW50YWxlIHBvdXIgYW3DqWxpb3JlciBsZXMgZGlmZnMiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MTkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjQKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgIiIKICJEw6lwZW5zZXIgZGVzIGN5Y2xlcyBzdXBwbMOpbWVudGFpcmVzIHBvdXIgdHJvdXZlciB1bmUgbWVpbGxldXJlIGNvcnJlc3BvbmRhbmNlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODIwCisjOiBidWlsdGluL2JsYW1lLmM6ODY1CiBtc2dpZCAiVXNlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIGNhbGxpbmcgZ2l0LXJldi1saXN0IgogbXNnc3RyICIiCiAiVXRpbGlzZXIgbGVzIHLDqXZpc2lvbnMgZHUgZmljaGllciA8ZmljaGllcj4gYXUgbGlldSBkJ2FwcGVsZXIgZ2l0LXJldi1saXN0IgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODIxCisjOiBidWlsdGluL2JsYW1lLmM6ODY2CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAiVXRpbGlzZXIgbGUgY29udGVudSBkZSA8ZmljaGllcj4gY29tbWUgaW1hZ2UgZmluYWxlIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODIyIGJ1aWx0aW4vYmxhbWUuYzo4MjMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjcgYnVpbHRpbi9ibGFtZS5jOjg2OAogbXNnaWQgInNjb3JlIgogbXNnc3RyICJzY29yZSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyMgorIzogYnVpbHRpbi9ibGFtZS5jOjg2NwogbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIlRyb3V2ZXIgbGVzIGNvcGllcyBkZSBsaWduZSBkYW5zIGV0IGVudHJlIGxlcyBmaWNoaWVycyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyMworIzogYnVpbHRpbi9ibGFtZS5jOjg2OAogbXNnaWQgIkZpbmQgbGluZSBtb3ZlbWVudHMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIlRyb3V2ZXIgbGVzIG1vdXZlbWVudHMgZGUgbGlnbmUgZGFucyBldCBlbnRyZSBsZXMgZmljaGllcnMiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjkKIG1zZ2lkICJuLG0iCiBtc2dzdHIgIm4sbSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyNAorIzogYnVpbHRpbi9ibGFtZS5jOjg2OQogbXNnaWQgIlByb2Nlc3Mgb25seSBsaW5lIHJhbmdlIG4sbSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICIiCiAiVHJhaXRlciBzZXVsZW1lbnQgbCdpbnRlcnZhbGxlIGRlIGxpZ25lIG4sbSBlbiBjb21tZW7Dp2FudCBsZSBjb21wdGUgw6AgMSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjg3MworIzogYnVpbHRpbi9ibGFtZS5jOjkyMQogbXNnaWQgIi0tcHJvZ3Jlc3MgY2FuJ3QgYmUgdXNlZCB3aXRoIC0taW5jcmVtZW50YWwgb3IgcG9yY2VsYWluIGZvcm1hdHMiCiBtc2dzdHIgIiIKICItLXByb2dyZXNzIG5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpIGF2ZWMgLS1pbmNyZW1lbnRhbCBvdSBsZXMgZm9ybWF0cyAiCkBAIC04MTM1LDE4ICsxMDIyNCwxOCBAQAogIy4geW91ciBsYW5ndWFnZSBtYXkgbmVlZCBtb3JlIG9yIGZld2VyIGRpc3BsYXkKICMuIGNvbHVtbnMuCiAjLgotIzogYnVpbHRpbi9ibGFtZS5jOjkyNAorIzogYnVpbHRpbi9ibGFtZS5jOjk3MgogbXNnaWQgIjQgeWVhcnMsIDExIG1vbnRocyBhZ28iCiBtc2dzdHIgImlsIHkgYSAxMCBhbnMgZXQgMTEgbW9pcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjEwMTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoxMDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmUiCiBtc2dpZF9wbHVyYWwgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmVzIgogbXNnc3RyWzBdICJsZSBmaWNoaWVyICVzIG4nYSBxdSclbHUgbGlnbmUiCiBtc2dzdHJbMV0gImxlIGZpY2hpZXIgJXMgbidhIHF1ZSAlbHUgbGlnbmVzIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MTA1NworIzogYnVpbHRpbi9ibGFtZS5jOjExMjUKIG1zZ2lkICJCbGFtaW5nIGxpbmVzIgogbXNnc3RyICJBc3NpZ25hdGlvbiBkZSBibMOibWUgYXV4IGxpZ25lcyIKIApAQCAtODE4MCw3ICsxMDI2OSw3IEBACiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tZm9ybWF0XSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tZm9ybWF0XSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGhhcyBiZWVuIG1lcmdlZCB0b1xuIgpAQCAtODE4OSw3ICsxMDI3OCw3IEBACiAic3VwcHJlc3Npb24gZGUgbGEgYnJhbmNoZSAnJXMnIHF1aSBhIMOpdMOpIGZ1c2lvbm7DqWUgZGFuc1xuIgogIiAgICAgICAgICclcycsIG1haXMgcGFzIGRhbnMgSEVBRC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTU1CisjOiBidWlsdGluL2JyYW5jaC5jOjE1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGRlbGV0aW5nIGJyYW5jaCAnJXMnIHRoYXQgaXMgbm90IHlldCBtZXJnZWQgdG9cbiIKQEAgLTgxOTgsMTIgKzEwMjg3LDEyIEBACiAiYnJhbmNoZSAnJXMnIG5vbiBzdXBwcmltw6llIGNhciBlbGxlIG4nYSBwYXMgw6l0w6kgZnVzaW9ubsOpZSBkYW5zXG4iCiAiICAgICAgICAgJyVzJywgbcOqbWUgc2kgZWxsZSBlc3QgZnVzaW9ubsOpZSBkYW5zIEhFQUQuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE2OQorIzogYnVpbHRpbi9icmFuY2guYzoxNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHJlY2hlcmNoZXIgbCdvYmpldCBjb21taXQgcG91ciAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE3MworIzogYnVpbHRpbi9icmFuY2guYzoxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBicmFuY2ggJyVzJyBpcyBub3QgZnVsbHkgbWVyZ2VkLlxuIgpAQCAtODIxMiwxMTYgKzEwMzAxLDEyNSBAQAogIkxhIGJyYW5jaGUgJyVzJyBuJ2VzdCBwYXMgdG90YWxlbWVudCBmdXNpb25uw6llLlxuIgogIlNpIHZvdXMgc291aGFpdGV6IHLDqWVsbGVtZW50IGxhIHN1cHByaW1lciwgbGFuY2V6ICdnaXQgYnJhbmNoIC1EICVzJy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTg2CisjOiBidWlsdGluL2JyYW5jaC5jOjE4OQogbXNnaWQgIlVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIsOJY2hlYyBkZSBsYSBtaXNlIMOgIGpvdXIgZHUgZmljaGllciBkZSBjb25maWd1cmF0aW9uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIxNworIzogYnVpbHRpbi9icmFuY2guYzoyMjAKIG1zZ2lkICJjYW5ub3QgdXNlIC1hIHdpdGggLWQiCiBtc2dzdHIgImltcG9zc2libGUgZCd1dGlsaXNlciAtYSBhdmVjIC1kIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIyMworIzogYnVpbHRpbi9icmFuY2guYzoyMjYKIG1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yIEhFQUQiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcmVjaGVyY2hlciBsJ29iamV0IGNvbW1pdCBwb3VyIEhFQUQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjM3CisjOiBidWlsdGluL2JyYW5jaC5jOjI0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZGVsZXRlIGJyYW5jaCAnJXMnIGNoZWNrZWQgb3V0IGF0ICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc3VwcHJpbWVyIGxhIGJyYW5jaGUgJyVzJyBleHRyYWl0ZSBkYW5zICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjUyCisjOiBidWlsdGluL2JyYW5jaC5jOjI1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAiYnJhbmNoZSBkZSBzdWl2aSAnJXMnIG5vbiB0cm91dsOpZS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjUzCisjOiBidWlsdGluL2JyYW5jaC5jOjI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICJicmFuY2hlICclcycgbm9uIHRyb3V2w6llLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIGRlbGV0aW5nIHJlbW90ZS10cmFja2luZyBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiRXJyZXVyIGxvcnMgZGUgbGEgc3VwcHJlc3Npb24gZGUgbGEgYnJhbmNoZSBkZSBzdWl2aSAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI2OQorIzogYnVpbHRpbi9icmFuY2guYzoyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgYnJhbmNoICclcyciCiBtc2dzdHIgIkVycmV1ciBsb3JzIGRlIGxhIHN1cHByZXNzaW9uIGRlIGxhIGJyYW5jaGUgJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNzYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAiQnJhbmNoZSBkZSBzdWl2aSAlcyBzdXBwcmltw6llIChwcsOpY8OpZGVtbWVudCAlcykuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mjc3CisjOiBidWlsdGluL2JyYW5jaC5jOjI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAiQnJhbmNoZSAlcyBzdXBwcmltw6llIChwcsOpY8OpZGVtbWVudCAlcykuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDIxIGJ1aWx0aW4vdGFnLmM6NTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDI5IGJ1aWx0aW4vdGFnLmM6NjEKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgZm9ybWF0IHN0cmluZyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxhIGNoYcOubmUgZGUgZm9ybWF0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ1OAorIzogYnVpbHRpbi9icmFuY2guYzo0NjAKK21zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSBIRUFEIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHLDqXNvdWRyZSBIRUFEIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ2NgorIywgYy1mb3JtYXQKK21zZ2lkICJIRUFEICglcykgcG9pbnRzIG91dHNpZGUgb2YgcmVmcy9oZWFkcy8iCittc2dzdHIgIkhFQUQgKCVzKSBwb2ludGUgaG9ycyBkZSByZWZzL2hlYWRzLyIKKworIzogYnVpbHRpbi9icmFuY2guYzo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIHJlYmFzZWQgYXQgJXMiCiBtc2dzdHIgIkxhIGJyYW5jaGUgJXMgZXN0IGVuIGNvdXJzIGRlIHJlYmFzYWdlIHN1ciAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyBiaXNlY3RlZCBhdCAlcyIKIG1zZ3N0ciAiTGEgYnJhbmNoZSAlcyBlc3QgZW4gY291cnMgZGUgYmlzc2VjdGlvbiBzdXIgJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDc5CisjOiBidWlsdGluL2JyYW5jaC5jOjUwMgogbXNnaWQgImNhbm5vdCBjb3B5IHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb3BpZXIgbGEgYnJhbmNoZSBhY3R1ZWxsZSwgaWwgbid5IGVuIGEgcGFzLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0ODEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTA0CiBtc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgImltcG9zc2libGUgZGUgcmVub21tZXIgbGEgYnJhbmNoZSBhY3R1ZWxsZSwgaWwgbid5IGVuIGEgcGFzLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0OTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCiBtc2dzdHIgIk5vbSBkZSBicmFuY2hlIGludmFsaWRlIDogJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1MTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQyCiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCiBtc2dzdHIgIsOJY2hlYyBkZSByZW5vbW1hZ2UgZGUgbGEgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1MjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQ0CiBtc2dpZCAiQnJhbmNoIGNvcHkgZmFpbGVkIgogbXNnc3RyICLDiWNoZWMgZGUgY29waWUgZGUgbGEgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1MjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNyZWF0ZWQgYSBjb3B5IG9mIGEgbWlzbmFtZWQgYnJhbmNoICclcyciCiBtc2dzdHIgIkNyw6lhdGlvbiBkJ3VuZSBjb3BpZSBkJ3VuZSBicmFuY2hlIG1hbCBub21tw6llICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTI4CisjOiBidWlsdGluL2JyYW5jaC5jOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWVkIGEgbWlzbmFtZWQgYnJhbmNoICclcycgYXdheSIKIG1zZ3N0ciAiUmVub21tYWdlIGQndW5lIGJyYW5jaGUgbWFsIG5vbW3DqWUgJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1MzQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCiBtc2dzdHIgIkxhIGJyYW5jaGUgYSDDqXTDqSByZW5vbW3DqWUgZW4gJXMsIG1haXMgSEVBRCBuJ2VzdCBwYXMgbWlzZSDDoCBqb3VyICEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQzCisjOiBidWlsdGluL2JyYW5jaC5jOjU2NgogbXNnaWQgIkJyYW5jaCBpcyByZW5hbWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAiIgogIkxhIGJyYW5jaGUgZXN0IHJlbm9tbcOpZSwgbWFpcyBsYSBtaXNlIMOgIGpvdXIgZHUgZmljaGllciBkZSBjb25maWd1cmF0aW9uIGEgIgogIsOpY2hvdcOpIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU0NQorIzogYnVpbHRpbi9icmFuY2guYzo1NjgKIG1zZ2lkICJCcmFuY2ggaXMgY29waWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAiIgogIkxhIGJyYW5jaGUgZXN0IGNvcGnDqWUsIG1haXMgbGEgbWlzZSDDoCBqb3VyIGR1IGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiBhICIKICLDqWNob3XDqSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2hcbiIKQEAgLTgzMzIsMTg2ICsxMDQzMCwxODAgQEAKICIgICVzXG4iCiAiTGVzIGxpZ25lcyBjb21tZW7Dp2FudCBwYXIgJyVjJyBzZXJvbnQgaWdub3LDqWVzLlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NAorIzogYnVpbHRpbi9icmFuY2guYzo2MTgKIG1zZ2lkICJHZW5lcmljIG9wdGlvbnMiCiBtc2dzdHIgIk9wdGlvbnMgZ8OpbsOpcmlxdWVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NgorIzogYnVpbHRpbi9icmFuY2guYzo2MjAKIG1zZ2lkICJzaG93IGhhc2ggYW5kIHN1YmplY3QsIGdpdmUgdHdpY2UgZm9yIHVwc3RyZWFtIGJyYW5jaCIKIG1zZ3N0ciAiYWZmaWNoZXIgbGUgaGFjaGFnZSBldCBsZSBzdWpldCwgZG91YmzDqSBwb3VyIGxhIGJyYW5jaGUgYW1vbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk3CisjOiBidWlsdGluL2JyYW5jaC5jOjYyMQogbXNnaWQgInN1cHByZXNzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMiCiBtc2dzdHIgInN1cHByaW1lciBsZXMgbWVzc2FnZXMgZCdpbmZvcm1hdGlvbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIyCiBtc2dpZCAic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtcHVsbCgxKSkiCiBtc2dzdHIgInLDqWdsZXIgbGUgbW9kZSBkZSBzdWl2aSAodm9pciBnaXQtcHVsbCgxKSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAwCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNAogbXNnaWQgImRvIG5vdCB1c2UiCiBtc2dzdHIgIm5lIHBhcyB1dGlsaXNlciIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDIgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgwCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNiBidWlsdGluL3JlYmFzZS5jOjUwNQogbXNnaWQgInVwc3RyZWFtIgogbXNnc3RyICJhbW9udCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI2CiBtc2dpZCAiY2hhbmdlIHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICJtb2RpZmllciBsJ2luZm9ybWF0aW9uIGFtb250IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwMwotbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgotbXNnc3RyICJEw6lzYWN0aXZlciBsJ2luZm9ybWF0aW9uIGFtb250IgorIzogYnVpbHRpbi9icmFuY2guYzo2MjcKK21zZ2lkICJ1bnNldCB0aGUgdXBzdHJlYW0gaW5mbyIKK21zZ3N0ciAiZMOpc2FjdGl2ZXIgbCdpbmZvcm1hdGlvbiBhbW9udCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI4CiBtc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgogbXNnc3RyICJ1dGlsaXNlciBsYSBjb2xvcmF0aW9uIGRhbnMgbGEgc29ydGllIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwNQorIzogYnVpbHRpbi9icmFuY2guYzo2MjkKIG1zZ2lkICJhY3Qgb24gcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICJhZ2lyIHN1ciBsZXMgYnJhbmNoZXMgZGUgc3VpdmkgZGlzdGFudGVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwNyBidWlsdGluL2JyYW5jaC5jOjYwOQorIzogYnVpbHRpbi9icmFuY2guYzo2MzEgYnVpbHRpbi9icmFuY2guYzo2MzMKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIGJyYW5jaGVzIHF1aSBjb250aWVubmVudCBsZSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjA4IGJ1aWx0aW4vYnJhbmNoLmM6NjEwCisjOiBidWlsdGluL2JyYW5jaC5jOjYzMiBidWlsdGluL2JyYW5jaC5jOjYzNAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgYnJhbmNoZXMgcXVpIG5lIGNvbnRpZW5uZW50IHBhcyBsZSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjEzCisjOiBidWlsdGluL2JyYW5jaC5jOjYzNwogbXNnaWQgIlNwZWNpZmljIGdpdC1icmFuY2ggYWN0aW9uczoiCiBtc2dzdHIgIkFjdGlvbnMgc3DDqWNpZmlxdWVzIMOgIGdpdC1icmFuY2ggOiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM4CiBtc2dpZCAibGlzdCBib3RoIHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgImFmZmljaGVyIMOgIGxhIGZvaXMgbGVzIGJyYW5jaGVzIGRlIHN1aXZpIGV0IGxlcyBicmFuY2hlcyBsb2NhbGVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxNgorIzogYnVpbHRpbi9icmFuY2guYzo2NDAKIG1zZ2lkICJkZWxldGUgZnVsbHkgbWVyZ2VkIGJyYW5jaCIKIG1zZ3N0ciAic3VwcHJpbWVyIHVuZSBicmFuY2hlIHRvdGFsZW1lbnQgZnVzaW9ubsOpZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQxCiBtc2dpZCAiZGVsZXRlIGJyYW5jaCAoZXZlbiBpZiBub3QgbWVyZ2VkKSIKIG1zZ3N0ciAic3VwcHJpbWVyIHVuZSBicmFuY2hlIChtw6ptZSBub24gZnVzaW9ubsOpZSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE4CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MgogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIgogbXNnc3RyICJkw6lwbGFjZXIvcmVub21tZXIgdW5lIGJyYW5jaGUgZXQgc29uIHJlZmxvZyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQzCiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAiZMOpcGxhY2VyL3Jlbm9tbWVyIHVuZSBicmFuY2hlLCBtw6ptZSBzaSBsYSBjaWJsZSBleGlzdGUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIwCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NAogbXNnaWQgImNvcHkgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCiBtc2dzdHIgImNvcGllciB1bmUgYnJhbmNoZSBldCBzb24gcmVmbG9nIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMQorIzogYnVpbHRpbi9icmFuY2guYzo2NDUKIG1zZ2lkICJjb3B5IGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgImNvcGllciB1bmUgYnJhbmNoZSwgbcOqbWUgc2kgbGEgY2libGUgZXhpc3RlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMgorIzogYnVpbHRpbi9icmFuY2guYzo2NDYKIG1zZ2lkICJsaXN0IGJyYW5jaCBuYW1lcyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIG5vbXMgZGVzIGJyYW5jaGVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMworIzogYnVpbHRpbi9icmFuY2guYzo2NDcKK21zZ2lkICJzaG93IGN1cnJlbnQgYnJhbmNoIG5hbWUiCittc2dzdHIgImFmZmljaGVyIGxlIG5vbSBkZSBsYSBicmFuY2hlIGNvdXJhbnRlIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY0OAogbXNnaWQgImNyZWF0ZSB0aGUgYnJhbmNoJ3MgcmVmbG9nIgogbXNnc3RyICJjcsOpZXIgbGUgcmVmbG9nIGRlIGxhIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI1CisjOiBidWlsdGluL2JyYW5jaC5jOjY1MAogbXNnaWQgImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIgogbXNnc3RyICLDqWRpdGVyIGxhIGRlc2NyaXB0aW9uIGRlIGxhIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI2CisjOiBidWlsdGluL2JyYW5jaC5jOjY1MQogbXNnaWQgImZvcmNlIGNyZWF0aW9uLCBtb3ZlL3JlbmFtZSwgZGVsZXRpb24iCiBtc2dzdHIgImZvcmNlciBsYSBjcsOpYXRpb24sIGxlIGTDqXBsYWNlbWVudC9yZW5vbW1hZ2UsIG91IGxhIHN1cHByZXNzaW9uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyNworIzogYnVpbHRpbi9icmFuY2guYzo2NTIKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyBicmFuY2hlcyBxdWkgc29udCBmdXNpb25uw6llcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUzCiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIGJyYW5jaGVzIHF1aSBuZSBzb250IHBhcyBmdXNpb25uw6llcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU0CiBtc2dpZCAibGlzdCBicmFuY2hlcyBpbiBjb2x1bW5zIgogbXNnc3RyICJhZmZpY2hlciBsZXMgYnJhbmNoZXMgZW4gY29sb25uZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDAgYnVpbHRpbi9scy1yZW1vdGUuYzo3MAotIzogYnVpbHRpbi90YWcuYzo0MTUKLW1zZ2lkICJrZXkiCi1tc2dzdHIgImNsw6kiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMxIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDEgYnVpbHRpbi9scy1yZW1vdGUuYzo3MQotIzogYnVpbHRpbi90YWcuYzo0MTYKLW1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCi1tc2dzdHIgIm5vbSBkdSBjaGFtcCBzZXJ2YW50IMOgIHRyaWVyIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzMyBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQzIGJ1aWx0aW4vbm90ZXMuYzo0MTUKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTggYnVpbHRpbi9ub3Rlcy5jOjU3OCBidWlsdGluL25vdGVzLmM6NTgxCi0jOiBidWlsdGluL3RhZy5jOjQxOAorIzogYnVpbHRpbi9icmFuY2guYzo2NTcgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MiBidWlsdGluL25vdGVzLmM6NDE1CisjOiBidWlsdGluL25vdGVzLmM6NDE4IGJ1aWx0aW4vbm90ZXMuYzo1ODEgYnVpbHRpbi9ub3Rlcy5jOjU4NAorIzogYnVpbHRpbi90YWcuYzo0MzMKIG1zZ2lkICJvYmplY3QiCiBtc2dzdHIgIm9iamV0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzNAorIzogYnVpbHRpbi9icmFuY2guYzo2NTgKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIG9mIHRoZSBvYmplY3QiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgYnJhbmNoZXMgZGUgbCdvYmpldCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzYgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0OSBidWlsdGluL3RhZy5jOjQyNQorIzogYnVpbHRpbi9icmFuY2guYzo2NjAgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0OCBidWlsdGluL3RhZy5jOjQ0MAogbXNnaWQgInNvcnRpbmcgYW5kIGZpbHRlcmluZyBhcmUgY2FzZSBpbnNlbnNpdGl2ZSIKIG1zZ3N0ciAibGUgdHJpIGV0IGxlIGZpbHRyYWdlIHNvbnQgbm9uLXNlbnNpYmxlcyDDoCBsYSBjYXNzZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzcgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOCBidWlsdGluL3RhZy5jOjQyMwotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYxIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzggYnVpbHRpbi90YWcuYzo0MzgKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CiBtc2dpZCAiZm9ybWF0IHRvIHVzZSBmb3IgdGhlIG91dHB1dCIKIG1zZ3N0ciAiZm9ybWF0IMOgIHV0aWxpc2VyIHBvdXIgbGEgc29ydGllIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2MCBidWlsdGluL2Nsb25lLmM6NzM5CisjOiBidWlsdGluL2JyYW5jaC5jOjY4NCBidWlsdGluL2Nsb25lLmM6Nzg0CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIkhFQUQgbm9uIHRyb3V2w6llIHNvdXMgcmVmcy9oZWFkcyAhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MworIzogYnVpbHRpbi9icmFuY2guYzo3MDgKIG1zZ2lkICItLWNvbHVtbiBhbmQgLS12ZXJib3NlIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tY29sdW1uIGV0IC0tdmVyYm9zZSBzb250IGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk4IGJ1aWx0aW4vYnJhbmNoLmM6NzQ5IGJ1aWx0aW4vYnJhbmNoLmM6NzU4CisjOiBidWlsdGluL2JyYW5jaC5jOjcyMyBidWlsdGluL2JyYW5jaC5jOjc3NyBidWlsdGluL2JyYW5jaC5jOjc4NgogbXNnaWQgImJyYW5jaCBuYW1lIHJlcXVpcmVkIgogbXNnc3RyICJsZSBub20gZGUgYnJhbmNoZSBlc3QgcmVxdWlzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcyNQorIzogYnVpbHRpbi9icmFuY2guYzo3NTMKIG1zZ2lkICJDYW5ub3QgZ2l2ZSBkZXNjcmlwdGlvbiB0byBkZXRhY2hlZCBIRUFEIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGTDqWNyaXJlIHVuZSBIRUFEIGTDqXRhY2jDqWUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzMwCisjOiBidWlsdGluL2JyYW5jaC5jOjc1OAogbXNnaWQgImNhbm5vdCBlZGl0IGRlc2NyaXB0aW9uIG9mIG1vcmUgdGhhbiBvbmUgYnJhbmNoIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6lkaXRlciBsYSBkZXNjcmlwdGlvbiBkZSBwbHVzIGQndW5lIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzM3CisjOiBidWlsdGluL2JyYW5jaC5jOjc2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBjb21taXQgb24gYnJhbmNoICclcycgeWV0LiIKIG1zZ3N0ciAiQXVjdW4gY29tbWl0IHN1ciBsYSBicmFuY2hlICclcycuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc0MAorIzogYnVpbHRpbi9icmFuY2guYzo3NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gYnJhbmNoIG5hbWVkICclcycuIgogbXNnc3RyICJBdWN1bmUgYnJhbmNoZSBub21tw6llICclcycuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc1NQorIzogYnVpbHRpbi9icmFuY2guYzo3ODMKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyBmb3IgYSBjb3B5IG9wZXJhdGlvbiIKIG1zZ3N0ciAidHJvcCBkZSBicmFuY2hlcyBwb3VyIHVuZSBvcMOpcmF0aW9uIGRlIGNvcGllIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc2NAorIzogYnVpbHRpbi9icmFuY2guYzo3OTIKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMgZm9yIGEgcmVuYW1lIG9wZXJhdGlvbiIKIG1zZ3N0ciAidHJvcCBkJ2FyZ3VtZW50cyBwb3VyIHVuZSBvcMOpcmF0aW9uIGRlIHJlbm9tbWFnZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk3CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIHRvIHNldCBuZXcgdXBzdHJlYW0iCiBtc2dzdHIgInRyb3AgZCdhcmd1bWVudHMgcG91ciBzcMOpY2lmaWVyIHVuZSBicmFuY2hlIGFtb250IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc3MworIzogYnVpbHRpbi9icmFuY2guYzo4MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBzZXQgdXBzdHJlYW0gb2YgSEVBRCB0byAlcyB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgpAQCAtODUxOSwzNyArMTA2MTEsNDEgQEAKICJpbXBvc3NpYmxlIGRlIHNww6ljaWZpZXIgdW5lIGJyYW5jaGUgYW1vbnQgZGUgSEVBRCBwYXIgJXMgcXVpIG5lIHBvaW50ZSBzdXIgIgogImF1Y3VuZSBicmFuY2hlLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NzYgYnVpbHRpbi9icmFuY2guYzo3OTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA0IGJ1aWx0aW4vYnJhbmNoLmM6ODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoICclcyciCiBtc2dzdHIgInBhcyBkZSBicmFuY2hlICclcyciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzgwCisjOiBidWlsdGluL2JyYW5jaC5jOjgwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAibGEgYnJhbmNoZSAnJXMnIG4nZXhpc3RlIHBhcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIxCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIHRvIHVuc2V0IHVwc3RyZWFtIgogbXNnc3RyICJ0cm9wIGQnYXJndW1lbnRzIHBvdXIgZMOpc2FjdGl2ZXIgdW4gYW1vbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk2CisjOiBidWlsdGluL2JyYW5jaC5jOjgyNQogbXNnaWQgImNvdWxkIG5vdCB1bnNldCB1cHN0cmVhbSBvZiBIRUFEIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIiIKICJpbXBvc3NpYmxlIGRlIGTDqXNhY3RpdmVyIHVuZSBicmFuY2hlIGFtb250IGRlIEhFQUQgcXVhbmQgZWxsZSBuZSBwb2ludGUgc3VyICIKICJhdWN1bmUgYnJhbmNoZS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAyCisjOiBidWlsdGluL2JyYW5jaC5jOjgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBoYXMgbm8gdXBzdHJlYW0gaW5mb3JtYXRpb24iCiBtc2dzdHIgIkxhIGJyYW5jaGUgJyVzJyBuJ2EgYXVjdW5lIGluZm9ybWF0aW9uIGRlIGJyYW5jaGUgYW1vbnQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODEyCi1tc2dpZCAiLWEgYW5kIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCBtYWtlIHNlbnNlIHdpdGggYSBicmFuY2ggbmFtZSIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQxCittc2dpZCAiIgorIlRoZSAtYSwgYW5kIC1yLCBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgdGFrZSBhIGJyYW5jaCBuYW1lLlxuIgorIkRpZCB5b3UgbWVhbiB0byB1c2U6IC1hfC1yIC0tbGlzdCA8cGF0dGVybj4/IgogbXNnc3RyICIiCi0ibGVzIG9wdGlvbnMgLWEgZXQgLXIgZGUgJ2dpdCBicmFuY2gnIG4nb250IHBhcyBkZSBzZW5zIGF2ZWMgdW4gbm9tIGRlIGJyYW5jaGUiCisiTGVzIG9wdGlvbnMgLWEgZXQgLXIgZGUgJ2dpdCBicmFuY2gnIG4nb250IHBhcyBkZSBzZW5zIGF2ZWMgdW4gbm9tIGRlICIKKyJicmFuY2hlLlxuIgorIlZvdWxpZXotdm91cyBwbHV0w7R0IGRpcmUgLWF8LXIgLS1saXN0IDxtb3RpZj7CoD8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE1CisjOiBidWlsdGluL2JyYW5jaC5jOjg0NQogbXNnaWQgIiIKICJ0aGUgJy0tc2V0LXVwc3RyZWFtJyBvcHRpb24gaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gUGxlYXNlIHVzZSAnLS10cmFjaycgb3IgIgogIictLXNldC11cHN0cmVhbS10bycgaW5zdGVhZC4iCkBAIC04NTU3LDIwICsxMDY1Myw2NSBAQAogImwnb3B0aW9uICctLXNldC11cHN0cmVhbScgZXN0IG9ic29sw6h0ZS4gVXRpbGlzZXogJy0tdHJhY2snIG91ICctLXNldC0iCiAidXBzdHJlYW0tdG8nIMOgIGxhIHBsYWNlLiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo0NQorIzogYnVpbHRpbi9idW5kbGUuYzoxNSBidWlsdGluL2J1bmRsZS5jOjIzCittc2dpZCAiZ2l0IGJ1bmRsZSBjcmVhdGUgWzxvcHRpb25zPl0gPGZpbGU+IDxnaXQtcmV2LWxpc3QgYXJncz4iCittc2dzdHIgImdpdCBidW5kbGUgY3JlYXRlIFs8b3B0aW9ucz5dIDxmaWNoaWVyPiA8YXJncyBnaXQtcmV2LWxpc3Q+IgorCisjOiBidWlsdGluL2J1bmRsZS5jOjE2IGJ1aWx0aW4vYnVuZGxlLmM6MjgKK21zZ2lkICJnaXQgYnVuZGxlIHZlcmlmeSBbPG9wdGlvbnM+XSA8ZmlsZT4iCittc2dzdHIgImdpdCBidW5kbGUgdmVyaWZ5IFs8b3B0aW9ucz5dIDxmaWNoaWVyPiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxNyBidWlsdGluL2J1bmRsZS5jOjMzCittc2dpZCAiZ2l0IGJ1bmRsZSBsaXN0LWhlYWRzIDxmaWxlPiBbPHJlZm5hbWU+Li4uXSIKK21zZ3N0ciAiZ2l0IGJ1bmRsZSBsaXN0LWhlYWRzIDxmaWNoaWVyPiBbPG5vbS1kZS1yZWY+Li4uXSIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxOCBidWlsdGluL2J1bmRsZS5jOjM4Cittc2dpZCAiZ2l0IGJ1bmRsZSB1bmJ1bmRsZSA8ZmlsZT4gWzxyZWZuYW1lPi4uLl0iCittc2dzdHIgImdpdCBidW5kbGUgdW5idW5kbGUgPGZpY2hpZXI+IFs8bm9tLWRlLXJlZj4uLi5dIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjY2IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIyOAorbXNnaWQgImRvIG5vdCBzaG93IHByb2dyZXNzIG1ldGVyIgorbXNnc3RyICJuZSBwYXMgYWZmaWNoZXIgbGEgYmFycmUgZGUgcHJvZ3Jlc3Npb24iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NjggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjMwCittc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKK21zZ3N0ciAiYWZmaWNoZXIgbGEgYmFycmUgZGUgcHJvZ3Jlc3Npb24iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjMyCittc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCittc2dzdHIgImFmZmljaGVyIGxhIGJhcnJlIGRlIHByb2dyZXNzaW9uIGR1cmFudCBsYSBwaGFzZSBkJ8OpY3JpdGUgZGVzIG9iamV0cyIKKworIzogYnVpbHRpbi9idW5kbGUuYzo3MyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzUKK21zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCittc2dzdHIgInNpbWlsYWlyZSDDoCAtLWFsbC1wcm9ncmVzcyBxdWFuZCBsYSBiYXJyZSBkZSBwcm9ncmVzc2lvbiBlc3QgYWZmaWNow6llIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjkzCittc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gY3JlYXRlIGEgYnVuZGxlLiIKK21zZ3N0ciAiTGEgY3LDqWF0aW9uIGQndW4gY29saXMgcmVxdWllcnQgdW4gZMOpcMO0dC4iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTA0Cittc2dpZCAiZG8gbm90IHNob3cgYnVuZGxlIGRldGFpbHMiCittc2dzdHIgIm5lIHBhcyBhZmZpY2hlciBsZXMgZMOpdGFpbHMgZHUgY29saXMiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG9rYXlcbiIKIG1zZ3N0ciAiJXMgZXN0IGNvcnJlY3RcbiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo1OAotbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIGNyZWF0ZSBhIGJ1bmRsZS4iCi1tc2dzdHIgIkxhIGNyw6lhdGlvbiBkJ3VuIGNvbGlzIHJlcXVpZXJ0IHVuIGTDqXDDtHQuIgotCi0jOiBidWlsdGluL2J1bmRsZS5jOjYyCisjOiBidWlsdGluL2J1bmRsZS5jOjE2MAogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAiTGUgZMOpcGFxdWV0YWdlIGQndW4gY29saXMgcmVxdWllcnQgdW4gZMOpcMO0dC4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1ODcKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTY4IGJ1aWx0aW4vcmVtb3RlLmM6MTYwOQorbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCittc2dzdHIgIsOqdHJlIHZlcmJldXggOiBkb2l0IMOqdHJlIHBsYWPDqSBhdmFudCB1bmUgc291cy1jb21tYW5kZSIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzoxNjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCittc2dzdHIgIlNvdXMtY29tbWFuZGUgaW5jb25udWUgOiAlcyIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU5NQogbXNnaWQgIiIKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCA8dHlwZT4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxwYXRoPl0gPG9iamVjdD4iCkBAIC04NTc4LDcgKzEwNzE5LDcgQEAKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vdy10eXBlXSB8IC1zIFstLWFsbG93LXVua25vdy10eXBlXSB8IC1lIHwgLXAgIgogInwgPHR5cGU+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycykgWy0tcGF0aD08Y2hlbWluPl0gPG9iamV0PiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU4OAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU5NgogbXNnaWQgIiIKICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIFstLXRleHRjb252IHwgLS0iCiAiZmlsdGVyc10iCkBAIC04NTg2LDEzNiArMTA3MjcsMTM2IEBACiAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgogImZpbHRlcnNdIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjA5CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjE3CiBtc2dpZCAib25seSBvbmUgYmF0Y2ggb3B0aW9uIG1heSBiZSBzcGVjaWZpZWQiCiBtc2dzdHIgInVuZSBzZXVsZSBvcHRpb24gZGUgdHJhaXRlbWVudCBuZSBwZXV0IMOqdHJlIHNww6ljaWZpw6llIMOgIGxhIGZvaXMiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MjcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzUKIG1zZ2lkICI8dHlwZT4gY2FuIGJlIG9uZSBvZjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiBtc2dzdHIgIjx0eXBlPiBwZXV0IMOqdHJlIDogYmxvYiwgdHJlZSwgY29tbWl0IG91IHRhZyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYyOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNgogbXNnaWQgInNob3cgb2JqZWN0IHR5cGUiCiBtc2dzdHIgImFmZmljaGVyIGxlIHR5cGUgZGUgbCdvYmpldCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYyOQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNwogbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCiBtc2dzdHIgImFmZmljaGVyIGxhIHRhaWxsZSBkZSBsJ29iamV0IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjMxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM5CiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICJzb3J0aXIgYXZlYyB1biBjb2RlIGQnZXJyZXVyIG51bCBxdWFuZCBpbCBuJ3kgYSBhdWN1bmUgZXJyZXVyIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjMyCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQwCiBtc2dpZCAicHJldHR5LXByaW50IG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgImFmZmljaGVyIGF2ZWMgbWlzZSBlbiBmb3JtZSBsZSBjb250ZW51IGRlIGwnb2JqZXQiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzQKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDIKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gdGV4dGNvbnYgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAicG91ciBsZXMgb2JqZXRzIGJsb2IsIGxhbmNlciB0ZXh0Y29udiBzdXIgbGUgY29udGVudSBkZSBsJ29iamV0IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjM2CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQ0CiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIGZpbHRlcnMgb24gb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAicG91ciBsZXMgb2JqZXRzIGJsb2IsIGxhbmNlciBsZXMgZmlsdHJlcyBzdXIgbGUgY29udGVudSBkZSBsJ29iamV0IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjM3IGdpdC1zdWJtb2R1bGUuc2g6ODU3CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQ1IGdpdC1zdWJtb2R1bGUuc2g6OTkyCiBtc2dpZCAiYmxvYiIKIG1zZ3N0ciAiYmxvYiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NgogbXNnaWQgInVzZSBhIHNwZWNpZmljIHBhdGggZm9yIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgogbXNnc3RyICJ1dGlsaXNlciB1biBjaGVtaW4gc3DDqWNpZmlxdWUgcG91ciAtLXRleHRjb252Ly0tZmlsdGVycyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0MAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0OAogbXNnaWQgImFsbG93IC1zIGFuZCAtdCB0byB3b3JrIHdpdGggYnJva2VuL2NvcnJ1cHQgb2JqZWN0cyIKIG1zZ3N0ciAiYXV0b3Jpc2VyIC1zIGV0IC10IMOgIHRyYXZhaWxsZXIgc3VyIGRlcyBvYmpldHMgY2Fzc8Opcy9jb3Jyb21wdXMiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDkKIG1zZ2lkICJidWZmZXIgLS1iYXRjaCBvdXRwdXQiCiBtc2dzdHIgImJ1ZmZlcmlzZXIgbGEgc29ydGllIGRlIC0tYmF0Y2giCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTEKIG1zZ2lkICJzaG93IGluZm8gYW5kIGNvbnRlbnQgb2Ygb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKICJhZmZpY2hlciBsJ2luZm9ybWF0aW9uIGV0IGxlIGNvbnRlbnUgZGVzIG9iamV0cyBwYXNzw6lzIGVuIGVudHLDqWUgc3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTUKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImFmZmljaGVyIGwnaW5mb3JtYXRpb24gZGVzIG9iamV0cyBwYXNzw6lzIGVuIGVudHLDqWUgc3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTkKIG1zZ2lkICJmb2xsb3cgaW4tdHJlZSBzeW1saW5rcyAodXNlZCB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjaykiCiBtc2dzdHIgIiIKICJzdWl2cmUgbGVzIGxpZW5zIHN5bWJvbGlxdWUgaW50ZXJuZXMgw6AgbGEgY29waWUgZGUgdHJhdmFpbCAodXRpbGlzw6kgYXZlYyAtLSIKICJiYXRjaCBvdSAtLWJhdGNoLWNoZWNrKSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1MworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY2MQogbXNnaWQgInNob3cgYWxsIG9iamVjdHMgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2siCiBtc2dzdHIgIm1vbnRyZXIgdG91cyBsZXMgb2JqZXRzIGF2ZWMgLS1iYXRjaCBvdSAtLWJhdGNoLWNoZWNrIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjU1CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjYzCiBtc2dpZCAiZG8gbm90IG9yZGVyIC0tYmF0Y2gtYWxsLW9iamVjdHMgb3V0cHV0IgogbXNnc3RyICJuZSBwYXMgb3Jkb25uZXIgbGEgc29ydGllIGRlIC0tYmF0Y2gtYWxsLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEyCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMwogbXNnaWQgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSBbLS1dIDxwYXRobmFtZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSBbLS1dIDxjaGVtaW4+Li4uIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMworIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTQKIG1zZ2lkICJnaXQgY2hlY2stYXR0ciAtLXN0ZGluIFstel0gWy1hIHwgLS1hbGwgfCA8YXR0cj4uLi5dIgogbXNnc3RyICJnaXQgY2hlY2stYXR0ciAtLXN0ZGluIFstel0gWy1hIHwgLS1hbGwgfCA8YXR0cj4uLi5dIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMAorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEKIG1zZ2lkICJyZXBvcnQgYWxsIGF0dHJpYnV0ZXMgc2V0IG9uIGZpbGUiCiBtc2dzdHIgImFmZmljaGVyIHRvdXMgbGVzIGF0dHJpYnV0cyBhc3NvY2nDqXMgYXUgZmljaGllciIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIyCiBtc2dpZCAidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgInV0aWxpc2VyIC5naXRhdHRyaWJ1dGVzIHNldWxlbWVudCBkZXB1aXMgbCdpbmRleCIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjIgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNCBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI1IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIKIG1zZ2lkICJyZWFkIGZpbGUgbmFtZXMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAibGlyZSBsZXMgbm9tcyBkZSBmaWNoaWVyIGRlcHVpcyBsJ2VudHLDqWUgc3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjI0IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjYKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjI1IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjcKIG1zZ2lkICJ0ZXJtaW5hdGUgaW5wdXQgYW5kIG91dHB1dCByZWNvcmRzIGJ5IGEgTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogInRlcm1pbmVyIGxlcyBlbnJlZ2lzdHJlbWVudHMgZW4gZW50csOpZSBldCBlbiBzb3J0aWUgcGFyIHVuIGNhcmFjdMOocmUgTlVMIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjM0IGJ1aWx0aW4vZ2MuYzo1MTcKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTUKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjEgYnVpbHRpbi9jaGVja291dC5jOjE0MzUgYnVpbHRpbi9nYy5jOjUzNworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwNgogbXNnaWQgInN1cHByZXNzIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAic3VwcHJpbWVyIGwnw6l0YXQgZCdhdmFuY2VtZW50IgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI4CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI5CiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBjaGVtaW5zIGVuIGVudHLDqWUgcXVpIG5lIGNvcnJlc3BvbmRlbnQgcGFzIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjMwCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjMxCiBtc2dpZCAiaWdub3JlIGluZGV4IHdoZW4gY2hlY2tpbmciCiBtc2dzdHIgImlnbm9yZXIgbCdpbmRleCBwZW5kYW50IGxhIHbDqXJpZmljYXRpb24iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU5CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MAogbXNnaWQgImNhbm5vdCBzcGVjaWZ5IHBhdGhuYW1lcyB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgImltcG9zc2libGUgZGUgc3DDqWNpZmllciBsZXMgY2hlbWlucyBhdmVjIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYyCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MwogbXNnaWQgIi16IG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCAtLXN0ZGluIgogbXNnc3RyICIteiBuJ2EgZGUgc2VucyBxdSdhdmVjIGwnb3B0aW9uIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY0CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2NQogbXNnaWQgIm5vIHBhdGggc3BlY2lmaWVkIgogbXNnc3RyICJhdWN1biBjaGVtaW4gc3DDqWNpZmnDqSIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjgKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY5CiBtc2dpZCAiLS1xdWlldCBpcyBvbmx5IHZhbGlkIHdpdGggYSBzaW5nbGUgcGF0aG5hbWUiCiBtc2dzdHIgIi0tcXVpZXQgbidlc3QgdmFsaWRlIHF1J2F2ZWMgdW4gc2V1bCBjaGVtaW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcwCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MQogbXNnaWQgImNhbm5vdCBoYXZlIGJvdGggLS1xdWlldCBhbmQgLS12ZXJib3NlIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYXZvaXIgLS1xdWlldCBldCAtLXZlcmJvc2UiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTczCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3NAogbXNnaWQgIi0tbm9uLW1hdGNoaW5nIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXZlcmJvc2UiCiBtc2dzdHIgIi0tbm9uLW1hdGNoaW5nIG4nZXN0IHZhbGlkZSBxdSdhdmVjIC0tdmVyYm9zZSIKIApAQCAtODczNiw1NiArMTA4NzcsNTYgQEAKIG1zZ2lkICJubyBjb250YWN0cyBzcGVjaWZpZWQiCiBtc2dzdHIgImF1Y3VuIGNvbnRhY3Qgc3DDqWNpZmnDqSIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyOAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEzMQogbXNnaWQgImdpdCBjaGVja291dC1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgY2hlY2tvdXQtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpY2hpZXI+Li4uXSIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0NQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0OAogbXNnaWQgInN0YWdlIHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kIDMgb3IgYWxsIgogbXNnc3RyICJzdGFnZSBkb2l0IHZhbG9pciBlbnRyZSAxIGV0IDMsIG91IGFsbCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NAogbXNnaWQgImNoZWNrIG91dCBhbGwgZmlsZXMgaW4gdGhlIGluZGV4IgogbXNnc3RyICJleHRyYWlyZSB0b3VzIGxlcyBmaWNoaWVycyBwcsOpc2VudHMgZGFucyBsJ2luZGV4IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYyCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY1CiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGV4aXN0aW5nIGZpbGVzIgogbXNnc3RyICJmb3JjZXIgbCfDqWNyYXNlbWVudCBkZXMgZmljaGllcnMgZXhpc3RhbnRzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY0CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY3CiBtc2dpZCAibm8gd2FybmluZyBmb3IgZXhpc3RpbmcgZmlsZXMgYW5kIGZpbGVzIG5vdCBpbiBpbmRleCIKIG1zZ3N0ciAiIgogInBhcyBkJ2F2ZXJ0aXNzZW1lbnQgcG91ciBsZXMgZmljaGllcnMgZXhpc3RhbnRzIGV0IGxlcyBmaWNoaWVycyBhYnNlbnRzIGRlICIKICJsJ2luZGV4IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY2CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY5CiBtc2dpZCAiZG9uJ3QgY2hlY2tvdXQgbmV3IGZpbGVzIgogbXNnc3RyICJuZSBwYXMgZXh0cmFpcmUgbGVzIG5vdXZlYXV4IGZpY2hpZXJzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY4CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcxCiBtc2dpZCAidXBkYXRlIHN0YXQgaW5mb3JtYXRpb24gaW4gdGhlIGluZGV4IGZpbGUiCiBtc2dzdHIgIm1ldHRyZSDDoCBqb3VyIGwnaW5mb3JtYXRpb24gZGUgc3RhdCBkYW5zIGxlIGZpY2hpZXIgZCdpbmRleCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MgorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NQogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAibGlyZSBsYSBsaXN0ZSBkZXMgY2hlbWlucyBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc0CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc3CiBtc2dpZCAid3JpdGUgdGhlIGNvbnRlbnQgdG8gdGVtcG9yYXJ5IGZpbGVzIgogbXNnc3RyICLDqWNyaXJlIGxlIGNvbnRlbnUgZGFucyBkZXMgZmljaGllcnMgdGVtcG9yYWlyZXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzUgYnVpbHRpbi9jb2x1bW4uYzozMQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzEKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODUzCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjY4CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc4IGJ1aWx0aW4vY29sdW1uLmM6MzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY3OQogbXNnaWQgInN0cmluZyIKIG1zZ3N0ciAiY2hhw65uZSIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NgorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OQogbXNnaWQgIndoZW4gY3JlYXRpbmcgZmlsZXMsIHByZXBlbmQgPHN0cmluZz4iCiBtc2dzdHIgImxvcnMgZGUgbGEgY3LDqWF0aW9uIGRlIGZpY2hpZXJzLCBwcsOpZml4ZXIgcGFyIDxjaGHDrm5lPiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE4MQogbXNnaWQgImNvcHkgb3V0IHRoZSBmaWxlcyBmcm9tIG5hbWVkIHN0YWdlIgogbXNnc3RyICJjb3BpZXIgbGVzIGZpY2hpZXJzIGRlcHVpcyBsJ2luZGV4IG5vbW3DqSIKIApAQCAtODc5NywxMDcgKzEwOTM4LDE2MSBAQAogbXNnaWQgImdpdCBjaGVja291dCBbPG9wdGlvbnM+XSBbPGJyYW5jaD5dIC0tIDxmaWxlPi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0IFs8b3B0aW9ucz5dIFs8YnJhbmNoZT5dIC0tIDxmaWNoaWVyPi4uLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE0NCBidWlsdGluL2NoZWNrb3V0LmM6MTc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzcKK21zZ2lkICJnaXQgc3dpdGNoIFs8b3B0aW9ucz5dIFs8YnJhbmNoPl0iCittc2dzdHIgImdpdCBzd2l0Y2ggWzxvcHRpb25zPl0gPGJyYW5jaGU+IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDIKK21zZ2lkICJnaXQgcmVzdG9yZSBbPG9wdGlvbnM+XSBbLS1zb3VyY2U9PGJyYW5jaD5dIDxmaWxlPi4uLiIKK21zZ3N0ciAiZ2l0IHJlc3RvcmUgWzxvcHRpb25zPl0gWy0tc291cmNlPTxicmFuY2hlPl0gPGZpY2hpZXI+Li4uIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc1IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgb3VyIHZlcnNpb24iCiBtc2dzdHIgImxlIGNoZW1pbiAnJXMnIG4nYSBwYXMgbm90cmUgdmVyc2lvbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE0NiBidWlsdGluL2NoZWNrb3V0LmM6MTc5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc3IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgdGhlaXIgdmVyc2lvbiIKIG1zZ3N0ciAibGUgY2hlbWluICclcycgbidhIHBhcyBsZXVyIHZlcnNpb24iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgYWxsIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAibGUgY2hlbWluICclcycgbidhIGF1Y3VuZSBkZXMgdmVyc2lvbnMgbsOpY2Vzc2FpcmVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjA2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAibGUgY2hlbWluICclcycgbidhIHBhcyBsZXMgdmVyc2lvbnMgbsOpY2Vzc2FpcmVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjI0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJzogY2Fubm90IG1lcmdlIgogbXNnc3RyICJjaGVtaW4gJyVzJyA6IGltcG9zc2libGUgZGUgZnVzaW9ubmVyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjQwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Mjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgbWVyZ2UgcmVzdWx0IGZvciAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYWpvdXRlciBsZSByw6lzdWx0YXQgZGUgZnVzaW9uIHBvdXIgJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2MiBidWlsdGluL2NoZWNrb3V0LmM6MjY1IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjgKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVjcmVhdGVkICVkIG1lcmdlIGNvbmZsaWN0IgorbXNnaWRfcGx1cmFsICJSZWNyZWF0ZWQgJWQgbWVyZ2UgY29uZmxpY3RzIgorbXNnc3RyWzBdICIlZCBjb25mbGl0IGR1IGZ1c2lvbiByZWNyw6nDqSIKK21zZ3N0clsxXSAiJWQgY29uZmxpdHMgZHUgZnVzaW9uIHJlY3LDqcOpcyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICJVcGRhdGVkICVkIHBhdGggZnJvbSAlcyIKK21zZ2lkX3BsdXJhbCAiVXBkYXRlZCAlZCBwYXRocyBmcm9tICVzIgorbXNnc3RyWzBdICIlZCBjaGVtaW4gbWlzIMOgIGpvdXIgZGVwdWlzICVzIgorbXNnc3RyWzFdICIlZCBjaGVtaW5zIG1pcyDDoCBqb3VyIGRlcHVpcyAlcyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJVcGRhdGVkICVkIHBhdGggZnJvbSB0aGUgaW5kZXgiCittc2dpZF9wbHVyYWwgIlVwZGF0ZWQgJWQgcGF0aHMgZnJvbSB0aGUgaW5kZXgiCittc2dzdHJbMF0gIiVkIGNoZW1pbiBtaXMgw6Agam91ciBkZXB1aXMgbCdpbmRleCIKK21zZ3N0clsxXSAiJWQgY2hlbWlucyBtaXMgw6Agam91ciBkZXB1aXMgbCdpbmRleCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjQxMiBidWlsdGluL2NoZWNrb3V0LmM6NDE1IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHVwZGF0aW5nIHBhdGhzIgogbXNnc3RyICInJXMnIG5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpIGF2ZWMgZGVzIG1pc2VzIMOgIGpvdXIgZGUgY2hlbWlucyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI3NCBidWlsdGluL2NoZWNrb3V0LmM6Mjc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDI1IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICInJXMnIG5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpIGF2ZWMgJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyODAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuIgogbXNnc3RyICIiCiAiSW1wb3NzaWJsZSBkZSBtZXR0cmUgw6Agam91ciBsZXMgY2hlbWlucyBldCBiYXNjdWxlciBzdXIgbGEgYnJhbmNoZSAnJXMnIGVuICIKICJtw6ptZSB0ZW1wcy4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozNDkgYnVpbHRpbi9jaGVja291dC5jOjM1NgorIzogYnVpbHRpbi9jaGVja291dC5jOjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyICclcycgb3IgJyVzJyBpcyBzcGVjaWZpZWQiCittc2dzdHIgIm5pICclcycsIG5pICclcycgc3DDqWNpZmnDqSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIG11c3QgYmUgdXNlZCB3aGVuICclcycgaXMgbm90IHNwZWNpZmllZCIKK21zZ3N0ciAiJyVzJyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBxdWFuZCAnJXMnIG4nZXN0IHBhcyBzcMOpY2lmacOpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDQ1IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBvciAnJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCittc2dzdHIgIiclcycgb3UgJyVzJyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjICVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTA5IGJ1aWx0aW4vY2hlY2tvdXQuYzo1MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGlzIHVubWVyZ2VkIgogbXNnc3RyICJsZSBjaGVtaW4gJyVzJyBuJ2VzdCBwYXMgZnVzaW9ubsOpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjA4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjgyIGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6ODIKIG1zZ2lkICJ5b3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKIG1zZ3N0ciAidm91cyBkZXZleiBkJ2Fib3JkIHLDqXNvdWRyZSB2b3RyZSBpbmRleCBjb3VyYW50IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzQ1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjYW5ub3QgY29udGludWUgd2l0aCBzdGFnZWQgY2hhbmdlcyBpbiB0aGUgZm9sbG93aW5nIGZpbGVzOlxuIgorIiVzIgorbXNnc3RyICIiCisiaW1wb3NzaWJsZSBkZSBjb250aW51ZXIgYXZlYyBkZXMgbW9kaWZpY2F0aW9ucyBpbmRleMOpZXMgZGFucyBsZXMgZmljaGllcnMgIgorInN1aXZhbnRzIDpcbiIKKyIlcyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjgzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4gbm90IGRvIHJlZmxvZyBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBmYWlyZSB1biByZWZsb2cgcG91ciAnJXMnwqA6ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3ODYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4NzcKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCIKIG1zZ3N0ciAiSEVBRCBlc3QgbWFpbnRlbmFudCBzdXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTAgYnVpbHRpbi9jbG9uZS5jOjY5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjg4MSBidWlsdGluL2Nsb25lLmM6NzE2CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBIRUFEIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiUmVtaXNlIMOgIHrDqXJvIGRlIGxhIGJyYW5jaGUgJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICJEw6lqw6Agc3VyICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgwMQorIzogYnVpbHRpbi9jaGVja291dC5jOjg5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhbmQgcmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiQmFzY3VsZW1lbnQgZXQgcmVtaXNlIMOgIHrDqXJvIGRlIGxhIGJyYW5jaGUgJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODAzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODk0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIkJhc2N1bGVtZW50IHN1ciBsYSBub3V2ZWxsZSBicmFuY2hlICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgwNQorIzogYnVpbHRpbi9jaGVja291dC5jOjg5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICJCYXNjdWxlbWVudCBzdXIgbGEgYnJhbmNoZSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4NTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIC4uLiBldCAlZCBlbiBwbHVzLlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODYyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtODkyMCw3ICsxMTExNSw3IEBACiAiXG4iCiAiJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjg4MQorIzogYnVpbHRpbi9jaGVja291dC5jOjk3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8ga2VlcCBpdCBieSBjcmVhdGluZyBhIG5ldyBicmFuY2gsIHRoaXMgbWF5IGJlIGEgZ29vZCB0aW1lXG4iCkBAIC04OTQ5LDE2MiArMTExNDQsMjQ0IEBACiAiZ2l0IGJyYW5jaCA8bm91dmVsbGUtYnJhbmNoZT4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjkxMworIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDcKIG1zZ2lkICJpbnRlcm5hbCBlcnJvciBpbiByZXZpc2lvbiB3YWxrIgogbXNnc3RyICJlcnJldXIgaW50ZXJuZSBsb3JzIGR1IHBhcmNvdXJzIGRlcyByw6l2aXNpb25zIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTE3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxMQogbXNnaWQgIlByZXZpb3VzIEhFQUQgcG9zaXRpb24gd2FzIgogbXNnc3RyICJMYSBwb3NpdGlvbiBwcsOpY8OpZGVudGUgZGUgSEVBRCDDqXRhaXQgc3VyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTQ1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTYxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTA1MSBidWlsdGluL2NoZWNrb3V0LmM6MTI4NgogbXNnaWQgIllvdSBhcmUgb24gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgc3VyIHVuZSBicmFuY2hlIHF1aSBkb2l0IGVuY29yZSBuYcOudHJlIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNzgKK21zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQiCittc2dzdHIgInVuZSBzZXVsZSByw6lmw6lyZW5jZSBhdHRlbmR1ZSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjExOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCiBtc2dzdHIgInVuZSBzZXVsZSByw6lmw6lyZW5jZSBhdHRlbmR1ZSwgJWQgZm91cm5pZXMuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNyBidWlsdGluL3dvcmt0cmVlLmM6Mjg5IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyInJXMnIGNvdWxkIGJlIGJvdGggYSBsb2NhbCBmaWxlIGFuZCBhIHRyYWNraW5nIGJyYW5jaC5cbiIKKyJQbGVhc2UgdXNlIC0tIChhbmQgb3B0aW9uYWxseSAtLW5vLWd1ZXNzKSB0byBkaXNhbWJpZ3VhdGUiCittc2dzdHIgIiIKKyInJXMnIHBvdXJyYWl0IMOqdHJlIHVuIGZpY2hpZXIgbG9jYWwgb3UgdW4gYnJhbmNoZSBkZSBzdWl2aS5cbiIKKyJWZXVpbGxleiB1dGlsaXNlciAtLSAoZXQgLS1uby1ndWVzcyBlbiBmYWN1bHRhdGlmKSBwb3VyIGxlcyBkaXN0aW5ndWVyIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0NSBidWlsdGluL3dvcmt0cmVlLmM6MjkwIGJ1aWx0aW4vd29ya3RyZWUuYzo0NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCByZWZlcmVuY2U6ICVzIgogbXNnc3RyICJyw6lmw6lyZW5jZSBpbnZhbGlkZSA6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTggYnVpbHRpbi9jaGVja291dC5jOjE2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgogbXNnc3RyICJsYSByw6lmw6lyZW5jZSBuJ2VzdCBwYXMgdW4gYXJicmUgOiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzA1CisjLCBjLWZvcm1hdAorbXNnaWQgImEgYnJhbmNoIGlzIGV4cGVjdGVkLCBnb3QgdGFnICclcyciCittc2dzdHIgImJyYW5jaGUgYXR0ZW5kdWUsIG1haXMgw6l0aXF1ZXR0ZSAnJXMnIHJlw6d1ZSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSBicmFuY2ggaXMgZXhwZWN0ZWQsIGdvdCByZW1vdGUgYnJhbmNoICclcyciCittc2dzdHIgInVuZSBicmFuY2hlIGVzdCBhdHRlbmR1ZSwgbWFpcyB1bmUgYnJhbmNoZSBkaXN0YW50ZSAnJXMnIGEgw6l0w6kgcmXDp3VlIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMwOCBidWlsdGluL2NoZWNrb3V0LmM6MTMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290ICclcyciCittc2dzdHIgInVuZSBicmFuY2hlIGVzdCBhdHRlbmR1ZSwgbWFpcyAnJXMnIGEgw6l0w6kgcmXDp3VlIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMxMQorIywgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IGNvbW1pdCAnJXMnIgorbXNnc3RyICJ1bmUgYnJhbmNoZSBlc3QgYXR0ZW5kdWUsIG1haXMgdW4gY29tbWl0ICclcycgYSDDqXTDqSByZcOndSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMjcKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgbWVyZ2luZ1xuIgorIkNvbnNpZGVyIFwiZ2l0IG1lcmdlIC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorImltcG9zc2libGUgZGUgYmFzY3VsZXIgZGUgYnJhbmNoZSBwZW5kYW50IHVuZSBmdXNpb25cbiIKKyJFbnZpc2FnZXogXCJnaXQgbWVyZ2UgLS1xdWl0XCIgb3UgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMzMQorbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb25cbiIKKyJDb25zaWRlciBcImdpdCBhbSAtLXF1aXRcIiBvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCittc2dzdHIgIiIKKyJpbXBvc3NpYmxlIGRlIGJhc2N1bGVyIGRlIGJyYW5jaGUgcGVuZGFudCB1bmUgc2Vzc2lvbiBhbVxuIgorIkVudmlzYWdleiBcImdpdCBhbSAtLXF1aXRcIiBvdSBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzM1Cittc2dpZCAiIgorImNhbm5vdCBzd2l0Y2ggYnJhbmNoIHdoaWxlIHJlYmFzaW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgcmViYXNlIC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorImltcG9zc2libGUgZGUgYmFzY3VsZXIgZGUgYnJhbmNoZSBwZW5kYW50IHVuIHJlYmFzYWdlXG4iCisiRW52aXNhZ2V6IFwiZ2l0IHJlYmFzZSAtLXF1aXRcIiBvdSBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzM5Cittc2dpZCAiIgorImNhbm5vdCBzd2l0Y2ggYnJhbmNoIHdoaWxlIGNoZXJyeS1waWNraW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgY2hlcnJ5LXBpY2sgLS1xdWl0XCIgb3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorbXNnc3RyICIiCisiaW1wb3NzaWJsZSBkZSBiYXNjdWxlciBkZSBicmFuY2hlIHBlbmRhbnQgdW4gcGljb3JhZ2VcbiIKKyJFbnZpc2FnZXogXCJnaXQgY2hlcnJ5LXBpY2sgLS1xdWl0XCIgb3UgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM0MworbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCB3aGlsZSByZXZlcnRpbmdcbiIKKyJDb25zaWRlciBcImdpdCByZXZlcnQgLS1xdWl0XCIgb3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorbXNnc3RyICIiCisiaW1wb3NzaWJsZSBkZSBiYXNjdWxlciBkZSBicmFuY2hlIHBlbmRhbnQgdW4gcmV0b3VyXG4iCisiRW52aXNhZ2V6IFwiZ2l0IHJldmVydCAtLXF1aXRcIiBvdSBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzQ3Cittc2dpZCAieW91IGFyZSBzd2l0Y2hpbmcgYnJhbmNoIHdoaWxlIGJpc2VjdGluZyIKK21zZ3N0ciAiVm91cyBiYXNjdWxleiBkZSBicmFuY2hlIGVuIGNvdXJzIGRlIGJpc3NlY3Rpb24iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzU0CiBtc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgImltcG9zc2libGUgZCd1dGlsaXNlciBkZXMgY2hlbWlucyBhdmVjIHVuIGJhc2N1bGVtZW50IGRlIGJyYW5jaGVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3OCBidWlsdGluL2NoZWNrb3V0LmM6MTE4MgorIzogYnVpbHRpbi9jaGVja291dC5jOjEzNTcgYnVpbHRpbi9jaGVja291dC5jOjEzNjEgYnVpbHRpbi9jaGVja291dC5jOjEzNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiJyVzJyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjIHVuIGJhc2N1bGVtZW50IGRlIGJyYW5jaGVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE4NiBidWlsdGluL2NoZWNrb3V0LmM6MTE4OSBidWlsdGluL2NoZWNrb3V0LmM6MTE5NAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzY5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzcyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzc1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM4MCBidWlsdGluL2NoZWNrb3V0LmM6MTM4NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJyVzJyIKIG1zZ3N0ciAiJyVzJyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjICclcyciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjAyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM4MgorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGNhbm5vdCB0YWtlIDxzdGFydC1wb2ludD4iCittc2dzdHIgIiclcycgbidhY2NlcHRlIHBhcyA8cG9pbnQtZGUtZMOpcGFydD4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGJhc2N1bGVyIGRlIGJyYW5jaGUgdmVycyAnJXMnIHF1aSBuJ2VzdCBwYXMgdW4gY29tbWl0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIzNSBidWlsdGluL2NoZWNrb3V0LmM6MTIzNyBidWlsdGluL2Nsb25lLmM6MTE5Ci0jOiBidWlsdGluL3JlbW90ZS5jOjE2OSBidWlsdGluL3JlbW90ZS5jOjE3MSBidWlsdGluL3dvcmt0cmVlLmM6NDg4Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkwCi1tc2dpZCAiYnJhbmNoIgotbXNnc3RyICJicmFuY2hlIgorIzogYnVpbHRpbi9jaGVja291dC5jOjEzOTcKK21zZ2lkICJtaXNzaW5nIGJyYW5jaCBvciBjb21taXQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGRlIGJyYW5jaGUgb3UgZGUgY29tbWl0IG1hbnF1YW50IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIzNgotbXNnaWQgImNyZWF0ZSBhbmQgY2hlY2tvdXQgYSBuZXcgYnJhbmNoIgotbXNnc3RyICJjcsOpZXIgZXQgZXh0cmFpcmUgdW5lIG5vdXZlbGxlIGJyYW5jaGUiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjM4Ci1tc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKLW1zZ3N0ciAiY3LDqWVyL3LDqWluaXRpYWxpc2VyIGV0IGV4dHJhaXJlIHVuZSBicmFuY2hlIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIzOQotbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCi1tc2dzdHIgImNyw6llciB1biByZWZsb2cgcG91ciB1bmUgbm91dmVsbGUgYnJhbmNoZSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDAgYnVpbHRpbi93b3JrdHJlZS5jOjQ5MgotbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKLW1zZ3N0ciAiZMOpdGFjaGVyIGxhIEhFQUQgYXUgY29tbWl0IG5vbW3DqSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDEKLW1zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKLW1zZ3N0ciAicGFyYW3DqXRyZXIgbGVzIGNvb3Jkb25uw6llcyBkZSBicmFuY2hlIGFtb250IHBvdXIgdW5lIG5vdXZlbGxlIGJyYW5jaGUiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQzCi1tc2dpZCAibmV3LWJyYW5jaCIKLW1zZ3N0ciAibm91dmVsbGUgYnJhbmNoZSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDMKLW1zZ2lkICJuZXcgdW5wYXJlbnRlZCBicmFuY2giCi1tc2dzdHIgIm5vdXZlbGxlIGJyYW5jaGUgc2FucyBwYXJlbnQiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQ1Ci1tc2dpZCAiY2hlY2tvdXQgb3VyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgotbXNnc3RyICJleHRyYWlyZSBub3RyZSB2ZXJzaW9uIHBvdXIgbGVzIGZpY2hpZXJzIG5vbiBmdXNpb25uw6lzIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0OAotbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgotbXNnc3RyICJleHRyYWlyZSBsZXVyIHZlcnNpb24gcG91ciBsZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjUwCi1tc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCi1tc2dzdHIgImZvcmNlciBsJ2V4dHJhY3Rpb24gKGxhaXNzZXIgdG9tYmVyIGxlcyBtb2RpZmljYXRpb25zIGxvY2FsZXMpIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1MgotbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgotbXNnc3RyICJlZmZlY3R1ZXIgdW5lIGZ1c2lvbiDDoCAzIHBvaW50cyBhdmVjIGxhIG5vdXZlbGxlIGJyYW5jaGUiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU0IGJ1aWx0aW4vbWVyZ2UuYzoyNzUKLW1zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCi1tc2dzdHIgIm1ldHRyZSDDoCBqb3VyIGxlcyBmaWNoaWVycyBpZ25vcsOpcyAocGFyIGTDqWZhdXQpIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1NiBidWlsdGluL2xvZy5jOjE1NzMgcGFyc2Utb3B0aW9ucy5oOjI3NAotbXNnaWQgInN0eWxlIgotbXNnc3RyICJzdHlsZSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTcKLW1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgotbXNnc3RyICJzdHlsZSBkZSBjb25mbGl0IChtZXJnZSAoZnVzaW9uKSBvdSBkaWZmMykiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYwCi1tc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgotbXNnc3RyICJuZSBwYXMgbGltaXRlciBsZXMgc3DDqWNpZmljYXRldXJzIGRlIGNoZW1pbnMgYXV4IHNldWxzIMOpbMOpbWVudHMgY3JldXgiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYyCi1tc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgPG5vLXN1Y2gtYnJhbmNoPiciCi1tc2dzdHIgInLDqWVzc2F5ZXIgZCdpbnRlcnByw6l0ZXIgJ2dpdCBjaGVja291dCA8YnJhbmNoZS1pbmV4aXN0YW50ZT4nIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2NAotbXNnaWQgImRvIG5vdCBjaGVjayBpZiBhbm90aGVyIHdvcmt0cmVlIGlzIGhvbGRpbmcgdGhlIGdpdmVuIHJlZiIKLW1zZ3N0ciAiIgotIm5lIHBhcyB2w6lyaWZpZXIgc2kgdW5lIGF1dHJlIGNvcGllIGRlIHRyYXZhaWwgY29udGllbnQgbGUgcsOpZsOpcmVuY2UgZm91cm5pZSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjggYnVpbHRpbi9jbG9uZS5jOjg2IGJ1aWx0aW4vZmV0Y2guYzoxNDEKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzIgYnVpbHRpbi9wdWxsLmM6MTI5IGJ1aWx0aW4vcHVzaC5jOjU3MgorIzogYnVpbHRpbi9jaGVja291dC5jOjE0MzkgYnVpbHRpbi9jbG9uZS5jOjkxIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NTIKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTEzIGJ1aWx0aW4vZmV0Y2guYzoxNjcgYnVpbHRpbi9tZXJnZS5jOjI4NQorIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MjcgYnVpbHRpbi9wdWxsLmM6MTM4IGJ1aWx0aW4vcHVzaC5jOjU2MwogIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzQKIG1zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgImZvcmNlciBsJ2FmZmljaGFnZSBkZSBsJ8OpdGF0IGQnYXZhbmNlbWVudCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyOTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDQwCittc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCittc2dzdHIgImVmZmVjdHVlciB1bmUgZnVzaW9uIMOgIDMgcG9pbnRzIGF2ZWMgbGEgbm91dmVsbGUgYnJhbmNoZSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NDEgYnVpbHRpbi9sb2cuYzoxNjkwIHBhcnNlLW9wdGlvbnMuaDozMjIKK21zZ2lkICJzdHlsZSIKK21zZ3N0ciAic3R5bGUiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDQyCittc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKK21zZ3N0ciAic3R5bGUgZGUgY29uZmxpdCAobWVyZ2UgKGZ1c2lvbikgb3UgZGlmZjMpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ1NCBidWlsdGluL3dvcmt0cmVlLmM6NTAzCittc2dpZCAiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IgorbXNnc3RyICJkw6l0YWNoZXIgbGEgSEVBRCBhdSBjb21taXQgbm9tbcOpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ1NQorbXNnaWQgInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIgorbXNnc3RyICJwYXJhbcOpdHJlciBsZXMgY29vcmRvbm7DqWVzIGRlIGJyYW5jaGUgYW1vbnQgcG91ciB1bmUgbm91dmVsbGUgYnJhbmNoZSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTcKK21zZ2lkICJmb3JjZSBjaGVja291dCAodGhyb3cgYXdheSBsb2NhbCBtb2RpZmljYXRpb25zKSIKK21zZ3N0ciAiZm9yY2VyIGwnZXh0cmFjdGlvbiAobGFpc3NlciB0b21iZXIgbGVzIG1vZGlmaWNhdGlvbnMgbG9jYWxlcykiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU5Cittc2dpZCAibmV3LWJyYW5jaCIKK21zZ3N0ciAibm91dmVsbGUgYnJhbmNoZSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTkKK21zZ2lkICJuZXcgdW5wYXJlbnRlZCBicmFuY2giCittc2dzdHIgIm5vdXZlbGxlIGJyYW5jaGUgc2FucyBwYXJlbnQiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDYxIGJ1aWx0aW4vbWVyZ2UuYzoyODgKK21zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCittc2dzdHIgIm1ldHRyZSDDoCBqb3VyIGxlcyBmaWNoaWVycyBpZ25vcsOpcyAocGFyIGTDqWZhdXQpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ2NAorbXNnaWQgImRvIG5vdCBjaGVjayBpZiBhbm90aGVyIHdvcmt0cmVlIGlzIGhvbGRpbmcgdGhlIGdpdmVuIHJlZiIKK21zZ3N0ciAiIgorIm5lIHBhcyB2w6lyaWZpZXIgc2kgdW5lIGF1dHJlIGNvcGllIGRlIHRyYXZhaWwgY29udGllbnQgbGUgcsOpZsOpcmVuY2UgZm91cm5pZSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NzcKK21zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCittc2dzdHIgImV4dHJhaXJlIG5vdHJlIHZlcnNpb24gcG91ciBsZXMgZmljaGllcnMgbm9uIGZ1c2lvbm7DqXMiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDgwCittc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCittc2dzdHIgImV4dHJhaXJlIGxldXIgdmVyc2lvbiBwb3VyIGxlcyBmaWNoaWVycyBub24gZnVzaW9ubsOpcyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0ODQKK21zZ2lkICJkbyBub3QgbGltaXQgcGF0aHNwZWNzIHRvIHNwYXJzZSBlbnRyaWVzIG9ubHkiCittc2dzdHIgIm5lIHBhcyBsaW1pdGVyIGxlcyBzcMOpY2lmaWNhdGV1cnMgZGUgY2hlbWlucyBhdXggc2V1bHMgw6lsw6ltZW50cyBjcmV1eCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE1MzcKIG1zZ2lkICItYiwgLUIgYW5kIC0tb3JwaGFuIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1iLCAtQiBldCAtLW9ycGhhbiBzb250IG11dHVlbGxlbWVudCBleGNsdXNpZnMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzE1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTU0MAorbXNnaWQgIi1wIGFuZCAtLW92ZXJsYXkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLXAgZXQgLS1vdmVybGF5IHNvbnQgbXV0dWVsbGVtZW50IGV4Y2x1c2lmcyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE1NzcKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIi0tdHJhY2sgcmVxdWllcnQgdW4gbm9tIGRlIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzIwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTU4MgogbXNnaWQgIm1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAibm9tIGRlIGJyYW5jaGUgbWFucXVhbnQgOyBlc3NheWV6IC1iIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1NworIzogYnVpbHRpbi9jaGVja291dC5jOjE2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlc29sdmUgJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgcsOpc291ZHJlICVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTYzMQogbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICJzcMOpY2lmaWNhdGlvbiBkZSBjaGVtaW4gaW52YWxpZGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzY0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTYzOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCBhbmQgYSBicmFuY2ggJyVzJyBjYW5ub3QgYmUgY3JlYXRlZCBmcm9tIGl0IgogbXNnc3RyICIiCiAiJyVzJyBuJ2VzdCBwYXMgdW4gY29tbWl0IGV0IHVuZSBicmFuY2hlICclcycgbmUgcGV1dCBwYXMgZW4gw6p0cmUgY3LDqcOpZSBkZXB1aXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50ICclcyciCiBtc2dzdHIgImdpdCBjaGVja291dDogLS1kZXRhY2ggbidhY2NlcHRlIHBhcyB1biBhcmd1bWVudCBkZSBjaGVtaW4gJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjUxCittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1kZXRhY2giCittc2dzdHIgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGVzdCBpbmNvbXBhdGlibGUgYXZlYyAtLWRldGFjaCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE2NTQgYnVpbHRpbi9yZXNldC5jOjMyNAorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tcGF0Y2giCittc2dzdHIgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGVzdCBpbmNvbXBhdGlibGUgYXZlYyAtLXBhdGNoIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY2NQogbXNnaWQgIiIKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKICJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIKQEAgLTkxMTIsNyArMTEzODksMTEgQEAKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBldCAtLW1lcmdlIHNvbnQgaW5jb21wYXRpYmxlcyBsb3JzXG4iCiAiZGUgbCdleHRyYWN0aW9uIGRlIGwnaW5kZXguIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjE2NzAKK21zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHBhdGgocykgdG8gcmVzdG9yZSIKK21zZ3N0ciAiVm91cyBkZXZleiBzcMOpY2lmaWVyIHVuIG91IGRlcyBjaGVtaW5zIMOgIHJlc3RhdXJlciIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgbWF0Y2hlZCBtb3JlIHRoYW4gb25lIHJlbW90ZSB0cmFja2luZyBicmFuY2guXG4iCkBAIC05MTQxLDM4ICsxMTQyMiwxMDYgQEAKICJhbWJpZ3UsIHZvdXMgcG91dmV6IHBvc2l0aW9ubmVyIGNoZWNrb3V0LmRlZmF1bHRSZW1vdGU9b3JpZ2luIGRhbnNcbiIKICJ2b3RyZSBjb25maWcuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc2NyBidWlsdGluL2Nsb25lLmM6MTIxIGJ1aWx0aW4vcmVtb3RlLmM6MTY5CisjOiBidWlsdGluL3JlbW90ZS5jOjE3MSBidWlsdGluL3dvcmt0cmVlLmM6NDk5IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDEKK21zZ2lkICJicmFuY2giCittc2dzdHIgImJyYW5jaGUiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE1Cittc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCittc2dzdHIgImNyw6llciBldCBleHRyYWlyZSB1bmUgbm91dmVsbGUgYnJhbmNoZSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MTcKK21zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgorbXNnc3RyICJjcsOpZXIvcsOpaW5pdGlhbGlzZXIgZXQgZXh0cmFpcmUgdW5lIGJyYW5jaGUiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE4Cittc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKK21zZ3N0ciAiY3LDqWVyIHVuIHJlZmxvZyBwb3VyIHVuZSBub3V2ZWxsZSBicmFuY2hlIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcyMAorbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IDxuby1zdWNoLWJyYW5jaD4nIChkZWZhdWx0KSIKK21zZ3N0ciAiIgorImVzc2F5ZXIgZCdpbnRlcnByw6l0ZXIgJ2dpdCBjaGVja291dCA8YnJhbmNoZS1pbmV4aXN0YW50ZT4nIChwYXIgZMOpZmF1dCkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzIxCittc2dpZCAidXNlIG92ZXJsYXkgbW9kZSAoZGVmYXVsdCkiCittc2dzdHIgInV0aWxpc2VyIGxlIG1vZGUgZGUgc3VwZXJwb3NpdGlvbiAoZMOpZmF1dCkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY2Cittc2dpZCAiY3JlYXRlIGFuZCBzd2l0Y2ggdG8gYSBuZXcgYnJhbmNoIgorbXNnc3RyICJjcsOpZXIgZXQgYmFzY3VsZXIgc3VyIHVuZSBub3V2ZWxsZSBicmFuY2hlIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc2OAorbXNnaWQgImNyZWF0ZS9yZXNldCBhbmQgc3dpdGNoIHRvIGEgYnJhbmNoIgorbXNnc3RyICJjcsOpZXIvcsOpaW5pdGlhbGlzZXIgZXQgYmFzY3VsZXIgc3VyIHVuZSBicmFuY2hlIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc3MAorbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IHN3aXRjaCA8bm8tc3VjaC1icmFuY2g+JyIKK21zZ3N0ciAiaW50ZXJwcsOpdGVyICdnaXQgc3dpdGNoIDxicmFuY2hlLWluZXhpc3RhbnRlPiciCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzcyCittc2dpZCAidGhyb3cgYXdheSBsb2NhbCBtb2RpZmljYXRpb25zIgorbXNnc3RyICJsYWlzc2VyIHRvbWJlciBsZXMgbW9kaWZpY2F0aW9ucyBsb2NhbGVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgwNAorbXNnaWQgIndoaWNoIHRyZWUtaXNoIHRvIGNoZWNrb3V0IGZyb20iCittc2dzdHIgImRlIHF1ZWwgPGFyYnJlLWVzcXVlPiBmYWlyZSBsJ2V4dHJhY3Rpb24iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODA2Cittc2dpZCAicmVzdG9yZSB0aGUgaW5kZXgiCittc2dzdHIgInJlc3RhdXJlciBsJ2luZGV4IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgwOAorbXNnaWQgInJlc3RvcmUgdGhlIHdvcmtpbmcgdHJlZSAoZGVmYXVsdCkiCittc2dzdHIgInJlc3RhdXJlciBsJ2FyYnJlIGRlIHRyYXZhaWwgKHBhciBkw6lmYXV0KSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MTAKK21zZ2lkICJpZ25vcmUgdW5tZXJnZWQgZW50cmllcyIKK21zZ3N0ciAiaWdub3JlciBsZXMgZW50csOpZXMgbm9uLWZ1c2lvbm7DqWVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgxMQorbXNnaWQgInVzZSBvdmVybGF5IG1vZGUiCittc2dzdHIgInV0aWxpc2VyIGxlIG1vZGUgZGUgc3VwZXJwb3NpdGlvbiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjI4CiBtc2dpZCAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxwYXR0ZXJuPl0gWy14IHwgLVhdIFstLV0gPHBhdGhzPi4uLiIKIG1zZ3N0ciAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxtb3RpZj5dIFsteCB8IC1YXSBbLS1dIDxjaGVtaW5zPi4uLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMxCisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXNcbiIKIG1zZ3N0ciAiU3VwcHJlc3Npb24gZGUgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMyCisjOiBidWlsdGluL2NsZWFuLmM6MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgcmVtb3ZlICVzXG4iCiBtc2dzdHIgIlN1cHByaW1lcmFpdCAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzMKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIklnbm9yZSBsZSBkw6lww7R0ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozNAorIzogYnVpbHRpbi9jbGVhbi5jOjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHNraXAgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICJJZ25vcmVyYWl0IGxlIGTDqXDDtHQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjM1CisjOiBidWlsdGluL2NsZWFuLmM6MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIHN1cHByZXNzaW9uIGRlICVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Mjk4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTc5CisjOiBidWlsdGluL2NsZWFuLmM6MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGxzdGF0ICVzXG4iCittc2dzdHIgImxzdGF0IGRlICVzIGltcG9zc2libGVcbiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjMwMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCkBAIC05MTg1LDcgKzExNTM0LDcgQEAKICJmb28gICAgICAgICAtIHPDqWxlY3Rpb25uZXIgdW4gw6lsw6ltZW50IHBhciB1biBwcsOpZml4ZSB1bmlxdWVcbiIKICIgICAgICAgICAgICAtICh2aWRlKSBuZSByaWVuIHPDqWxlY3Rpb25uZXJcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMwMiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU4OAorIzogYnVpbHRpbi9jbGVhbi5jOjMwNSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCkBAIC05MjA2LDM4ICsxMTU1NSwzMyBAQAogIiogICAgICAgICAgLSBjaG9pc2lyIHRvdXMgbGVzIMOpbMOpbWVudHNcbiIKICIgICAgICAgICAgIC0gKHZpZGUpIHRlcm1pbmVyIGxhIHPDqWxlY3Rpb25cbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjUxOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU1NAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NTkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo1MjEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NzAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTc1CiAjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKIG1zZ2lkICJIdWggKCVzKT9cbiIKIG1zZ3N0ciAiSGVpbiAoJXMpwqA/XG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo2NjAKKyM6IGJ1aWx0aW4vY2xlYW4uYzo2NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5wdXQgaWdub3JlIHBhdHRlcm5zPj4gIgogbXNnc3RyICJFbnRyZXogbGVzIG1vdGlmcyDDoCBpZ25vcmVyPj4gIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Njk3CisjOiBidWlsdGluL2NsZWFuLmM6NzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IENhbm5vdCBmaW5kIGl0ZW1zIG1hdGNoZWQgYnk6ICVzIgogbXNnc3RyICJBVFRFTlRJT04gOiBJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGVzIMOpbMOpbWVudHMgY29ycmVzcG9uZGFudCDDoCA6ICVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NzE4CisjOiBidWlsdGluL2NsZWFuLmM6NzIxCiBtc2dpZCAiU2VsZWN0IGl0ZW1zIHRvIGRlbGV0ZSIKIG1zZ3N0ciAiU8OpbGVjdGlvbm5lciBsZXMgw6lsw6ltZW50cyDDoCBzdXBwcmltZXIiCiAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8ga2VlcCBbeS9OXSBhcyBpcwotIzogYnVpbHRpbi9jbGVhbi5jOjc1OQorIzogYnVpbHRpbi9jbGVhbi5jOjc2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmUgJXMgW3kvTl0/ICIKIG1zZ3N0ciAiU3VwcHJpbWVyICVzIFt5L05dID8gIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Nzg0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcxNwotIywgYy1mb3JtYXQKLW1zZ2lkICJCeWUuXG4iCi1tc2dzdHIgIkF1IHJldm9pci5cbiIKLQotIzogYnVpbHRpbi9jbGVhbi5jOjc5MgorIzogYnVpbHRpbi9jbGVhbi5jOjc5NQogbXNnaWQgIiIKICJjbGVhbiAgICAgICAgICAgICAgIC0gc3RhcnQgY2xlYW5pbmdcbiIKICJmaWx0ZXIgYnkgcGF0dGVybiAgIC0gZXhjbHVkZSBpdGVtcyBmcm9tIGRlbGV0aW9uXG4iCkBAIC05MjU1LDY0ICsxMTU5OSw1NiBAQAogImhlbHAgICAgICAgICAgICAgICAgLSBjZXQgw6ljcmFuXG4iCiAiPyAgICAgICAgICAgICAgICAgICAtIGFpZGUgcG91ciBsYSBzw6lsZWN0aW9uIGVuIGxpZ25lIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODE5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc5MwotbXNnaWQgIioqKiBDb21tYW5kcyAqKioiCi1tc2dzdHIgIioqKiBDb21tYW5kZXMgKioqIgotCi0jOiBidWlsdGluL2NsZWFuLmM6ODIwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc5MAotbXNnaWQgIldoYXQgbm93IgotbXNnc3RyICJFdCBtYWludGVuYW50ID8iCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MjgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MzEKIG1zZ2lkICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtOiIKIG1zZ2lkX3BsdXJhbCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbXM6IgogbXNnc3RyWzBdICJTdXBwcmltZXJhaXQgbCfDqWzDqW1lbnQgc3VpdmFudCA6IgogbXNnc3RyWzFdICJTdXBwcmltZXJhaXQgbGVzIMOpbMOpbWVudHMgc3VpdmFudHMgOiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg0NAorIzogYnVpbHRpbi9jbGVhbi5jOjg0NwogbXNnaWQgIk5vIG1vcmUgZmlsZXMgdG8gY2xlYW4sIGV4aXRpbmcuIgogbXNnc3RyICJQbHVzIGRlIGZpY2hpZXIgw6AgbmV0dG95ZXIsIHNvcnRpZS4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MDkKIG1zZ2lkICJkbyBub3QgcHJpbnQgbmFtZXMgb2YgZmlsZXMgcmVtb3ZlZCIKIG1zZ3N0ciAibmUgcGFzIGFmZmljaGVyIGxlcyBub21zIGRlcyBmaWNoaWVycyBzdXBwcmltw6lzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTA4CisjOiBidWlsdGluL2NsZWFuLmM6OTExCiBtc2dpZCAiZm9yY2UiCiBtc2dzdHIgImZvcmNlciIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwOQorIzogYnVpbHRpbi9jbGVhbi5jOjkxMgogbXNnaWQgImludGVyYWN0aXZlIGNsZWFuaW5nIgogbXNnc3RyICJuZXR0b3lhZ2UgaW50ZXJhY3RpZiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkxMQorIzogYnVpbHRpbi9jbGVhbi5jOjkxNAogbXNnaWQgInJlbW92ZSB3aG9sZSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAic3VwcHJpbWVyIGxlcyByw6lwZXJ0b2lyZXMgZW50aWVycyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkxMiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ1IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDcKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4NiBidWlsdGluL2xvZy5jOjE2NiBidWlsdGluL2xvZy5jOjE2OAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NiBidWlsdGluL25hbWUtcmV2LmM6NDE1IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTcKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTUgYnVpbHRpbi9kZXNjcmliZS5jOjU0OCBidWlsdGluL2Rlc2NyaWJlLmM6NTUwCisjOiBidWlsdGluL2dyZXAuYzo5MDEgYnVpbHRpbi9sb2cuYzoxNzcgYnVpbHRpbi9sb2cuYzoxNzkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTcgYnVpbHRpbi9uYW1lLXJldi5jOjQ2NCBidWlsdGluL25hbWUtcmV2LmM6NDY2CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc5CiBtc2dpZCAicGF0dGVybiIKIG1zZ3N0ciAibW90aWYiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTMKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTYKIG1zZ2lkICJhZGQgPHBhdHRlcm4+IHRvIGlnbm9yZSBydWxlcyIKIG1zZ3N0ciAiYWpvdXRlciA8bW90aWY+IGF1eCByw6hnbGVzIGlnbm9yZSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkxNAorIzogYnVpbHRpbi9jbGVhbi5jOjkxNwogbXNnaWQgInJlbW92ZSBpZ25vcmVkIGZpbGVzLCB0b28iCiBtc2dzdHIgInN1cHByaW1lciBsZXMgZmljaGllcnMgaWdub3LDqXMsIGF1c3NpIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTE2CisjOiBidWlsdGluL2NsZWFuLmM6OTE5CiBtc2dpZCAicmVtb3ZlIG9ubHkgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAic3VwcHJpbWVyIHNldWxlbWVudCBsZXMgZmljaGllcnMgaWdub3LDqXMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MzQKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MzcKIG1zZ2lkICIteCBhbmQgLVggY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi14IGV0IC1YIG5lIHBldXZlbnQgcGFzIMOqdHJlIHV0aWxpc8OpcyBlbnNlbWJsZSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkzOAorIzogYnVpbHRpbi9jbGVhbi5jOjk0MQogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2Ugc2V0IHRvIHRydWUgYW5kIG5laXRoZXIgLWksIC1uLCBub3IgLWYgZ2l2ZW47IHJlZnVzaW5nIHRvICIKICJjbGVhbiIKQEAgLTkzMjAsNyArMTE2NTYsNyBAQAogImNsZWFuLnJlcXVpcmVGb3JjZSBwb3NpdGlvbm7DqSDDoCB0cnVlIGV0IG5pIC1pLCAtbiBvdSAtZiBmb3VybmkgOyByZWZ1cyBkZSAiCiAibmV0dG95ZXIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5NDEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5NDQKIG1zZ2lkICIiCiAiY2xlYW4ucmVxdWlyZUZvcmNlIGRlZmF1bHRzIHRvIHRydWUgYW5kIG5laXRoZXIgLWksIC1uLCBub3IgLWYgZ2l2ZW47ICIKICJyZWZ1c2luZyB0byBjbGVhbiIKQEAgLTkzMjgsMTQ5ICsxMTY2NCwxNjggQEAKICJjbGVhbi5yZXF1aXJlRm9yY2Ugw6AgdHJ1ZSBwYXIgZMOpZmF1dCBldCBuaSAtaSwgLW4gb3UgLWYgZm91cm5pIDsgcmVmdXMgZGUgIgogIm5ldHRveWVyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDMKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NQogbXNnaWQgImdpdCBjbG9uZSBbPG9wdGlvbnM+XSBbLS1dIDxyZXBvPiBbPGRpcj5dIgogbXNnc3RyICJnaXQgY2xvbmUgWzxvcHRpb25zPl0gWy0tXSA8ZMOpcMO0dD4gWzxyw6lwZXJ0b2lyZT5dIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MwogbXNnaWQgImRvbid0IGNyZWF0ZSBhIGNoZWNrb3V0IgogbXNnc3RyICJuZSBwYXMgY3LDqWVyIGQnZXh0cmFjdGlvbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2luaXQtZGIuYzo0ODEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NCBidWlsdGluL2Nsb25lLmM6OTYgYnVpbHRpbi9pbml0LWRiLmM6NDg5CiBtc2dpZCAiY3JlYXRlIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJjcsOpZXIgdW4gZMOpcMO0dCBudSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzCisjOiBidWlsdGluL2Nsb25lLmM6OTgKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAiY3LDqWVyIHVuIGTDqXDDtHQgbWlyb2lyIChpbXBsaXF1ZSBkw6lww7R0IG51KSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1CisjOiBidWlsdGluL2Nsb25lLmM6MTAwCiBtc2dpZCAidG8gY2xvbmUgZnJvbSBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgInBvdXIgY2xvbmVyIGRlcHVpcyB1biBkw6lww7R0IGxvY2FsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAibmUgcGFzIHV0aWxpc2VyIGRlIGxpZW5zIGR1cnMgbG9jYXV4LCB0b3Vqb3VycyBjb3BpZXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNAogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICJyw6lnbGVyIGNvbW1lIGTDqXDDtHQgcGFydGFnw6kiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEgYnVpbHRpbi9jbG9uZS5jOjEwNQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNwogbXNnaWQgInBhdGhzcGVjIgogbXNnc3RyICJzcMOpY2lmaWNhdGV1ciBkZSBjaGVtaW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEgYnVpbHRpbi9jbG9uZS5jOjEwNQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNwogbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCiBtc2dzdHIgImluaXRpYWxpc2VyIGxlcyBzb3VzLW1vZHVsZXMgZGFucyBsZSBjbG9uZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOAorIzogYnVpbHRpbi9jbG9uZS5jOjExMAogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGNsb25lZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAibm9tYnJlIGRlIHNvdXMtbW9kdWxlcyBjbG9uw6lzIGVuIHBhcmFsbMOobGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkgYnVpbHRpbi9pbml0LWRiLmM6NDc4CisjOiBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAicsOpcGVydG9pcmUtbW9kw6hsZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMCBidWlsdGluL2luaXQtZGIuYzo0NzkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTIgYnVpbHRpbi9pbml0LWRiLmM6NDg3CiBtc2dpZCAiZGlyZWN0b3J5IGZyb20gd2hpY2ggdGVtcGxhdGVzIHdpbGwgYmUgdXNlZCIKIG1zZ3N0ciAicsOpcGVydG9pcmUgZGVwdWlzIGxlcXVlbCBsZXMgbW9kw6hsZXMgdm9udCDDqnRyZSB1dGlsaXPDqXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTIgYnVpbHRpbi9jbG9uZS5jOjExNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3NQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTQgYnVpbHRpbi9jbG9uZS5jOjExNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODUKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiZMOpcMO0dCBkZSByw6lmw6lyZW5jZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3NwotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODg3CiBtc2dpZCAidXNlIC0tcmVmZXJlbmNlIG9ubHkgd2hpbGUgY2xvbmluZyIKIG1zZ3N0ciAidXRpbGlzZXIgc2V1bGVtZW50IC0tcmVmZXJlbmNlIHBvdXIgY2xvbmVyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE3IGJ1aWx0aW4vY29sdW1uLmM6MjcgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDYKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwMSBidWlsdGluL3JlcGFjay5jOjMyOQorIzogYnVpbHRpbi9jbG9uZS5jOjExOSBidWlsdGluL2NvbHVtbi5jOjI3IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTQgYnVpbHRpbi9yZXBhY2suYzozMjcKIG1zZ2lkICJuYW1lIgogbXNnc3RyICJub20iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjAKIG1zZ2lkICJ1c2UgPG5hbWU+IGluc3RlYWQgb2YgJ29yaWdpbicgdG8gdHJhY2sgdXBzdHJlYW0iCiBtc2dzdHIgInV0aWxpc2VyIDxub20+IGF1IGxpZXUgZGUgJ29yaWdpbicgcG91ciBzdWl2cmUgbGEgYnJhbmNoZSBhbW9udCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyMAorIzogYnVpbHRpbi9jbG9uZS5jOjEyMgogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGluc3RlYWQgb2YgdGhlIHJlbW90ZSdzIEhFQUQiCiBtc2dzdHIgImV4dHJhaXJlIDxicmFuY2hlPiBhdSBsaWV1IGRlIGxhIEhFQUQgZHUgcsOpcGVydG9pcmUgZGlzdGFudCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyMgorIzogYnVpbHRpbi9jbG9uZS5jOjEyNAogbXNnaWQgInBhdGggdG8gZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUiCiBtc2dzdHIgImNoZW1pbiB2ZXJzIGdpdC11cGxvYWQtcGFjayBzdXIgbGUgc2VydmV1ciBkaXN0YW50IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTIzIGJ1aWx0aW4vZmV0Y2guYzoxNDIgYnVpbHRpbi9ncmVwLmM6ODI1Ci0jOiBidWlsdGluL3B1bGwuYzoyMTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjUgYnVpbHRpbi9mZXRjaC5jOjE2OCBidWlsdGluL2dyZXAuYzo4NDAKKyM6IGJ1aWx0aW4vcHVsbC5jOjIyNwogbXNnaWQgImRlcHRoIgogbXNnc3RyICJwcm9mb25kZXVyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI0CisjOiBidWlsdGluL2Nsb25lLmM6MTI2CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICJjcsOpZXIgdW4gY2xvbmUgc3VwZXJmaWNpZWwgZGUgY2V0dGUgcHJvZm9uZGV1ciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyNSBidWlsdGluL2ZldGNoLmM6MTQ0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MgorIzogYnVpbHRpbi9jbG9uZS5jOjEyNyBidWlsdGluL2ZldGNoLmM6MTcwIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4MwogbXNnaWQgInRpbWUiCiBtc2dzdHIgImhldXJlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI2CisjOiBidWlsdGluL2Nsb25lLmM6MTI4CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBzaW5jZSBhIHNwZWNpZmljIHRpbWUiCiBtc2dzdHIgImNyw6llciB1biBjbG9uZSBzdXBlcmZpY2llbCBkZXB1aXMgdW5lIGRhdGUgc3DDqWNpZmlxdWUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjcgYnVpbHRpbi9mZXRjaC5jOjE0NiBidWlsdGluL2ZldGNoLmM6MTY5Ci0jOiBidWlsdGluL3JlYmFzZS5jOjgzMQorIzogYnVpbHRpbi9jbG9uZS5jOjEyOSBidWlsdGluL2ZldGNoLmM6MTcyIGJ1aWx0aW4vZmV0Y2guYzoxOTUKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ0NQogbXNnaWQgInJldmlzaW9uIgogbXNnc3RyICJyw6l2aXNpb24iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjggYnVpbHRpbi9mZXRjaC5jOjE0NworIzogYnVpbHRpbi9jbG9uZS5jOjEzMCBidWlsdGluL2ZldGNoLmM6MTczCiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSwgZXhjbHVkaW5nIHJldiIKIG1zZ3N0ciAiIgogImFwcHJvZm9uZGlyIGwnaGlzdG9yaXF1ZSBkJ3VuIGNsb25lIHN1cGVyZmljaWVsIGVuIGV4Y2x1YW50IHVuZSByw6l2aXNpb24iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzIKIG1zZ2lkICJjbG9uZSBvbmx5IG9uZSBicmFuY2gsIEhFQUQgb3IgLS1icmFuY2giCiBtc2dzdHIgImNsb25lciBzZXVsZW1lbnQgdW5lIGJyYW5jaGUsIEhFQUQgb3UgLS1icmFuY2giCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzQKIG1zZ2lkICJkb24ndCBjbG9uZSBhbnkgdGFncywgYW5kIG1ha2UgbGF0ZXIgZmV0Y2hlcyBub3QgdG8gZm9sbG93IHRoZW0iCiBtc2dzdHIgIiIKICJuZSBwYXMgY2xvbmVyIGxlcyB0YWdzIGV0IGluZGlxdWVyIGF1eCByw6ljdXDDqXJhdGlvbnMgZnV0dXJlcyBkZSBuZSBwYXMgbGUgIgogImZhaXJlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM0CisjOiBidWlsdGluL2Nsb25lLmM6MTM2CiBtc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgYmUgc2hhbGxvdyIKIG1zZ3N0ciAidG91cyBsZXMgc291cy1tb2R1bGVzIGNsb27DqXMgc2Vyb250IHN1cGVyZmljaWVscyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzNSBidWlsdGluL2luaXQtZGIuYzo0ODcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzcgYnVpbHRpbi9pbml0LWRiLmM6NDk1CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICJnaXRkaXIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzYgYnVpbHRpbi9pbml0LWRiLmM6NDg4CisjOiBidWlsdGluL2Nsb25lLmM6MTM4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NgogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgInPDqXBhcmVyIGxlIHLDqXBlcnRvaXJlIGdpdCBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM3CisjOiBidWlsdGluL2Nsb25lLmM6MTM5CiBtc2dpZCAia2V5PXZhbHVlIgogbXNnc3RyICJjbMOpPXZhbGV1ciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzOAorIzogYnVpbHRpbi9jbG9uZS5jOjE0MAogbXNnaWQgInNldCBjb25maWcgaW5zaWRlIHRoZSBuZXcgcmVwb3NpdG9yeSIKIG1zZ3N0ciAicsOpZ2xlciBsYSBjb25maWd1cmF0aW9uIGRhbnMgbGUgbm91dmVhdSBkw6lww7R0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM5IGJ1aWx0aW4vZmV0Y2guYzoxNjUgYnVpbHRpbi9wdWxsLmM6MjMwCi0jOiBidWlsdGluL3B1c2guYzo1ODMKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDIgYnVpbHRpbi9mZXRjaC5jOjE5MCBidWlsdGluL2xzLXJlbW90ZS5jOjc2CisjOiBidWlsdGluL3B1c2guYzo1NzMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzIKK21zZ2lkICJzZXJ2ZXItc3BlY2lmaWMiCittc2dzdHIgInNww6ljaWZpcXVlIGF1IHNlcnZldXIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDIgYnVpbHRpbi9mZXRjaC5jOjE5MCBidWlsdGluL2xzLXJlbW90ZS5jOjc2CisjOiBidWlsdGluL3B1c2guYzo1NzMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzMKK21zZ2lkICJvcHRpb24gdG8gdHJhbnNtaXQiCittc2dzdHIgIm9wdGlvbiDDoCB0cmFuc21ldHRyZSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjE0MyBidWlsdGluL2ZldGNoLmM6MTkxIGJ1aWx0aW4vcHVsbC5jOjI0MAorIzogYnVpbHRpbi9wdXNoLmM6NTc0CiBtc2dpZCAidXNlIElQdjQgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgIm4ndXRpbGlzZXIgcXVlIGRlcyBhZHJlc3NlcyBJUHY0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTQxIGJ1aWx0aW4vZmV0Y2guYzoxNjcgYnVpbHRpbi9wdWxsLmM6MjMzCi0jOiBidWlsdGluL3B1c2guYzo1ODUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDUgYnVpbHRpbi9mZXRjaC5jOjE5MyBidWlsdGluL3B1bGwuYzoyNDMKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3NgogbXNnaWQgInVzZSBJUHY2IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICJuJ3V0aWxpc2VyIHF1ZSBkZXMgYWRyZXNzZXMgSVB2NiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjI3OQorIzogYnVpbHRpbi9jbG9uZS5jOjE0OQorbXNnaWQgImFueSBjbG9uZWQgc3VibW9kdWxlcyB3aWxsIHVzZSB0aGVpciByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgorbXNnc3RyICIiCisidG91cyBsZXMgc291cy1tb2R1bGVzIGNsb27DqXMgdXRpbGlzZXJvbnQgbGV1ciBicmFuY2hlIGRlIHN1aXZpIMOgIGRpc3RhbmNlIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTUxCittc2dpZCAiaW5pdGlhbGl6ZSBzcGFyc2UtY2hlY2tvdXQgZmlsZSB0byBpbmNsdWRlIG9ubHkgZmlsZXMgYXQgcm9vdCIKK21zZ3N0ciAiaW5pdGlhbGlzZXIgbGUgZmljaGllciBkJ2V4dHJhY3Rpb24gcGFydGllbGxlIHBvdXIgbidpbmNsdXJlIHF1ZSBsZXMgZmljaGllcnMgw6AgbGEgcmFjaW5lIgorCisjOiBidWlsdGluL2Nsb25lLmM6Mjg3CiBtc2dpZCAiIgogIk5vIGRpcmVjdG9yeSBuYW1lIGNvdWxkIGJlIGd1ZXNzZWQuXG4iCiAiUGxlYXNlIHNwZWNpZnkgYSBkaXJlY3Rvcnkgb24gdGhlIGNvbW1hbmQgbGluZSIKQEAgLTk0NzgsMTQ4ICsxMTgzMywxNDcgQEAKICJBdWN1biBub20gZGUgcsOpcGVydG9pcmUgbidhIHB1IMOqdHJlIGRldmluw6lcbiIKICJWZXVpbGxleiBzcMOpY2lmaWVyIHVuIHLDqXBlcnRvaXJlIGRhbnMgbGEgbGlnbmUgZGUgY29tbWFuZGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzozNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbzogQ291bGQgbm90IGFkZCBhbHRlcm5hdGUgZm9yICclcyc6ICVzXG4iCiBtc2dzdHIgImluZm/CoDogaW1wb3NzaWJsZSBkJ2Fqb3V0ZXIgdW5lIGFsdGVybmF0aXZlIHBvdXIgJyVzJ8KgOiAlc1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDA0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCi1tc2dzdHIgIsOpY2hlYyDDoCBsJ291dmVydHVyZSBkZSAnJXMnIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NDEyCisjOiBidWlsdGluL2Nsb25lLmM6NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGV4aXN0cyBhbmQgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICIlcyBleGlzdGUgZXQgbidlc3QgcGFzIHVuIHLDqXBlcnRvaXJlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDI2CisjOiBidWlsdGluL2Nsb25lLmM6NDMwCiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCi1tc2dzdHIgIsOpY2hlYyBkdSBzdGF0IGRlICVzXG4iCittc2dpZCAiZmFpbGVkIHRvIHN0YXJ0IGl0ZXJhdG9yIG92ZXIgJyVzJyIKK21zZ3N0ciAiw6ljaGVjIGR1IGTDqW1hcnJhZ2UgdW4gaXTDqXJhdGV1ciBzdXIgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ0MwotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCi1tc2dzdHIgIsOpY2hlYyBsb3JzIGRlIGwndW5saW5rIGRlICclcyciCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBjcsOpYXRpb24gZHUgbGllbiAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDUyCisjOiBidWlsdGluL2Nsb25lLmM6NDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjb3B5IGZpbGUgdG8gJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIGNvcGllIHZlcnMgJyVzJyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ3OAorIzogYnVpbHRpbi9jbG9uZS5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gaXRlcmF0ZSBvdmVyICclcyciCittc2dzdHIgIsOpY2hlYyBkZSBsJ2l0w6lyYXRpb24gc3VyICclcyciCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG9uZS5cbiIKIG1zZ3N0ciAiZmFpdC5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ5MgorIzogYnVpbHRpbi9jbG9uZS5jOjUwOAogbXNnaWQgIiIKICJDbG9uZSBzdWNjZWVkZWQsIGJ1dCBjaGVja291dCBmYWlsZWQuXG4iCiAiWW91IGNhbiBpbnNwZWN0IHdoYXQgd2FzIGNoZWNrZWQgb3V0IHdpdGggJ2dpdCBzdGF0dXMnXG4iCi0iYW5kIHJldHJ5IHRoZSBjaGVja291dCB3aXRoICdnaXQgY2hlY2tvdXQgLWYgSEVBRCdcbiIKKyJhbmQgcmV0cnkgd2l0aCAnZ2l0IHJlc3RvcmUgLS1zb3VyY2U9SEVBRCA6LydcbiIKIG1zZ3N0ciAiIgogIkxlIGNsb25lIGEgcsOpdXNzaSwgbWFpcyBsJ2V4dHJhY3Rpb24gYSDDqWNob3XDqS5cbiIKICJWb3VzIHBvdXZleiBpbnNwZWN0ZXIgY2UgcXVpIGEgw6l0w6kgZXh0cmFpdCBhdmVjICdnaXQgc3RhdHVzJ1xuIgotImV0IHLDqWVzc2F5ZXIgbCdleHRyYWN0aW9uIGF2ZWMgJ2dpdCBjaGVja291dCAtZiBIRUFEJ1xuIgorImV0IHLDqWVzc2F5ZXIgYXZlYyAnZ2l0IHJlc3RvcmUgLS1zb3VyY2U9SEVBRCA6LydcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjU2OQorIzogYnVpbHRpbi9jbG9uZS5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCByZW1vdGUgYnJhbmNoICVzIHRvIGNsb25lLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSB0cm91dmVyIGxhIGJyYW5jaGUgZGlzdGFudGUgJyVzJyDDoCBjbG9uZXIuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NjgwCisjOiBidWlsdGluL2Nsb25lLmM6NzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NTIKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzcGFyc2UtY2hlY2tvdXQiCittc2dzdHIgIsOpY2hlYyBsb3JzIGRlIGwnaW5pdGlhbGlzYXRpb24gbCdleHRyYWN0aW9uIHBhcnRpZWxsZSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjc3NQogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAiIgogImxhIEhFQUQgZGlzdGFudGUgcsOpZsOocmUgw6AgdW5lIHLDqWbDqXJlbmNlIG5vbiBleGlzdGFudGUsIGltcG9zc2libGUgZGUgIgogImwnZXh0cmFpcmUuXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3NjEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MDYKIG1zZ2lkICJ1bmFibGUgdG8gY2hlY2tvdXQgd29ya2luZyB0cmVlIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnZXh0cmFpcmUgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgwNgorIzogYnVpbHRpbi9jbG9uZS5jOjg1NgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBwYXJhbWV0ZXJzIHRvIGNvbmZpZyBmaWxlIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZXMgcGFyYW3DqHRyZXMgZGFucyBsZSBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MTkKIG1zZ2lkICJjYW5ub3QgcmVwYWNrIHRvIGNsZWFuIHVwIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHJlbWJhbGxlciBwb3VyIG5ldHRveWVyIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODcxCisjOiBidWlsdGluL2Nsb25lLmM6OTIxCiBtc2dpZCAiY2Fubm90IHVubGluayB0ZW1wb3JhcnkgYWx0ZXJuYXRlcyBmaWxlIgotbXNnc3RyICJpbXBvc3NpYmxlIGRlIHVubGlua2VyIGxlIGZpY2hpZXIgdGVtcG9yYWlyZSBhbHRlcm5hdGVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqWxpZXIgbGUgZmljaGllciB0ZW1wb3JhaXJlIGFsdGVybmF0ZXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MTEgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQxCisjOiBidWlsdGluL2Nsb25lLmM6OTU5IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk0OAogbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCiBtc2dzdHIgIlRyb3AgZCdhcmd1bWVudHMuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTE1CisjOiBidWlsdGluL2Nsb25lLmM6OTYzCiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIHJlcG9zaXRvcnkgdG8gY2xvbmUuIgogbXNnc3RyICJWb3VzIGRldmV6IHNww6ljaWZpZXIgdW4gZMOpcMO0dCDDoCBjbG9uZXIuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTI4CisjOiBidWlsdGluL2Nsb25lLmM6OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAibGVzIG9wdGlvbnMgLS1iYXJlIGV0IC0tb3JpZ2luICVzIHNvbnQgaW5jb21wYXRpYmxlcy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NzkKIG1zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiLS1iYXJlIGV0IC0tc2VwYXJhdGUtZ2l0LWRpciBzb250IGluY29tcGF0aWJsZXMuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQ0CisjOiBidWlsdGluL2Nsb25lLmM6OTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAibGUgZMOpcMO0dCAnJXMnIG4nZXhpc3RlIHBhcyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1MCBidWlsdGluL2ZldGNoLmM6MTYwNgorIzogYnVpbHRpbi9jbG9uZS5jOjk5OCBidWlsdGluL2ZldGNoLmM6MTc4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXB0aCAlcyBpcyBub3QgYSBwb3NpdGl2ZSBudW1iZXIiCiBtc2dzdHIgImxhIHByb2ZvbmRldXIgJXMgbidlc3QgcGFzIHVuIGVudGllciBwb3NpdGlmIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTYwCisjOiBidWlsdGluL2Nsb25lLmM6MTAwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiBwYXRoICclcycgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhbiBlbXB0eSBkaXJlY3RvcnkuIgogbXNnc3RyICIiCiAibGUgY2hlbWluIGRlIGRlc3RpbmF0aW9uICclcycgZXhpc3RlIGTDqWrDoCBldCBuJ2VzdCBwYXMgdW4gcsOpcGVydG9pcmUgdmlkZS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIndvcmtpbmcgdHJlZSAnJXMnIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAibGEgY29waWUgZGUgdHJhdmFpbCAnJXMnIGV4aXN0ZSBkw6lqw6AuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTg1IGJ1aWx0aW4vY2xvbmUuYzoxMDA2IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNzEKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyOTUgYnVpbHRpbi93b3JrdHJlZS5jOjMyNQorIzogYnVpbHRpbi9jbG9uZS5jOjEwMzMgYnVpbHRpbi9jbG9uZS5jOjEwNTQgYnVpbHRpbi9kaWZmdG9vbC5jOjI3MQorIzogYnVpbHRpbi9sb2cuYzoxODY2IGJ1aWx0aW4vd29ya3RyZWUuYzozMDIgYnVpbHRpbi93b3JrdHJlZS5jOjMzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGVzIHLDqXBlcnRvaXJlcyBkZSBwcmVtaWVyIG5pdmVhdSBkYW5zICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgd29yayB0cmVlIGRpciAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciBsZSByw6lwZXJ0b2lyZSBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsICclcyciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEwCisjOiBidWlsdGluL2Nsb25lLmM6MTA1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKIG1zZ3N0ciAiQ2xvbmFnZSBkYW5zIGxlIGTDqXDDtHQgbnUgJyVzJ1xuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxMgorIzogYnVpbHRpbi9jbG9uZS5jOjEwNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAiQ2xvbmFnZSBkYW5zICclcycuLi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMzYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDg0CiBtc2dpZCAiIgogImNsb25lIC0tcmVjdXJzaXZlIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggYm90aCAtLXJlZmVyZW5jZSBhbmQgLS1yZWZlcmVuY2UtaWYtIgogImFibGUiCkBAIC05NjI3LDQxICsxMTk4MSw0MSBAQAogImNsb25lIC0tcmVjdXJzaXZlIG4nZXN0IHBhcyBjb21wYXRpYmxlIGF2ZWMgw6AgbGEgZm9pcyAtLXJlZmVyZW5jZSBldCAtLSIKICJyZWZlcmVuY2UtaWYtYWJsZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTQ4CiBtc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKICItLWRlcHRoIGVzdCBpZ25vcsOpIGRhbnMgbGVzIGNsb25lcyBsb2NhdXggOiB1dGlsaXNleiBwbHV0w7R0IFwiZmlsZTovL1wiLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTUwCiBtc2dpZCAiLS1zaGFsbG93LXNpbmNlIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogIi0tc2hhbGxvdy1zaW5jZSBlc3QgaWdub3LDqSBkYW5zIGxlcyBjbG9uZXMgbG9jYXV4IDogdXRpbGlzZXogcGx1dMO0dCBcImZpbGU6Ly8iCiAiXCIuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEwMQorIzogYnVpbHRpbi9jbG9uZS5jOjExNTIKIG1zZ2lkICItLXNoYWxsb3ctZXhjbHVkZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKICItLXNoYWxsb3ctZXhjbHVkZSBlc3QgaWdub3LDqSBkYW5zIGxlcyBjbG9uZXMgbG9jYXV4IDogdXRpbGlzZXogcGx1dMO0dCAiCiAiXCJmaWxlOi8vXCIuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEwMworIzogYnVpbHRpbi9jbG9uZS5jOjExNTQKIG1zZ2lkICItLWZpbHRlciBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIi0tZmlsdGVyIGVzdCBpZ25vcsOpIGRhbnMgbGVzIGNsb25lcyBsb2NhdXggOyB1dGlsaXNleiBwbHV0w7R0IGZpbGU6Ly8gLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMDYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTU3CiBtc2dpZCAic291cmNlIHJlcG9zaXRvcnkgaXMgc2hhbGxvdywgaWdub3JpbmcgLS1sb2NhbCIKIG1zZ3N0ciAibGUgZMOpcMO0dCBzb3VyY2UgZXN0IHN1cGVyZmljaWVsLCBvcHRpb24gLS1sb2NhbCBpZ25vcsOpZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMTEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTYyCiBtc2dpZCAiLS1sb2NhbCBpcyBpZ25vcmVkIgogbXNnc3RyICItLWxvY2FsIGVzdCBpZ25vcsOpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE4MSBidWlsdGluL2Nsb25lLmM6MTE4OQorIzogYnVpbHRpbi9jbG9uZS5jOjEyMzcgYnVpbHRpbi9jbG9uZS5jOjEyNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIkxhIGJyYW5jaGUgZGlzdGFudGUgJXMgbidhIHBhcyDDqXTDqSB0cm91dsOpZSBkYW5zIGxlIGTDqXDDtHQgYW1vbnQgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTkyCisjOiBidWlsdGluL2Nsb25lLmM6MTI0OAogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIlZvdXMgc2VtYmxleiBhdm9pciBjbG9uw6kgdW4gZMOpcMO0dCB2aWRlLiIKIApAQCAtOTY5NywxNSArMTIwNTEsODMgQEAKIG1zZ2lkICItLWNvbW1hbmQgbXVzdCBiZSB0aGUgZmlyc3QgYXJndW1lbnQiCiBtc2dzdHIgIi0tY29tbWFuZCBkb2l0IMOqdHJlIGxlIHByZW1pZXIgYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDAKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxOAorbXNnaWQgIiIKKyJnaXQgY29tbWl0LXRyZWUgWygtcCA8cGFyZW50PikuLi5dIFstU1s8a2V5aWQ+XV0gWygtbSA8bWVzc2FnZT4pLi4uXSBbKC1GICIKKyI8ZmlsZT4pLi4uXSA8dHJlZT4iCittc2dzdHIgIiIKKyJnaXQgY29tbWl0LXRyZWUgWygtcCA8cGFyZW50PikuLi5dIFstU1s8aWRjbMOpPl1dIFsoLW0gPG1lc3NhZ2U+KS4uLl0gWygtRiAiCisiPGZpY2hpZXI+KS4uLl0gPGFyYnJlPiIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImR1cGxpY2F0ZSBwYXJlbnQgJXMgaWdub3JlZCIKK21zZ3N0ciAibGUgcGFyZW50IGR1cGxpcXXDqSAlcyBlc3QgaWdub3LDqSIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjU2IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMzYgYnVpbHRpbi9sb2cuYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiCittc2dzdHIgIm5vbSBkJ29iamV0IGludmFsaWRlICVzIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gb3BlbiAnJXMnIgorbXNnc3RyICJnaXQgY29tbWl0LXRyZWXCoDogw6ljaGVjIMOgIGwnb3V2ZXJ0dXJlIGRlICclcyciCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byByZWFkICclcyciCittc2dzdHIgImdpdCBjb21taXQtdHJlZcKgOiDDqWNoZWMgZGUgbGEgbGVjdHVyZSBkZSAnJXMnIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gY2xvc2UgJyVzJyIKK21zZ3N0ciAiZ2l0IGNvbW1pdC10cmVlwqA6IMOpY2hlYyBkZSBsYSBmZXJtZXR1cmUgZGUgJyVzJyIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExMQorbXNnaWQgInBhcmVudCIKK21zZ3N0ciAicGFyZW50IgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTEyCittc2dpZCAiaWQgb2YgYSBwYXJlbnQgY29tbWl0IG9iamVjdCIKK21zZ3N0ciAiaWQgZCd1biBvYmpldCBjb21taXQgcGFyZW50IgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTE0IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NiBidWlsdGluL21lcmdlLmM6MjcwCisjOiBidWlsdGluL25vdGVzLmM6NDA5IGJ1aWx0aW4vbm90ZXMuYzo1NzUgYnVpbHRpbi9zdGFzaC5jOjE0NjkKKyM6IGJ1aWx0aW4vdGFnLmM6NDEyCittc2dpZCAibWVzc2FnZSIKK21zZ3N0ciAibWVzc2FnZSIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExNSBidWlsdGluL2NvbW1pdC5jOjE0OTYKK21zZ2lkICJjb21taXQgbWVzc2FnZSIKK21zZ3N0ciAibWVzc2FnZSBkZSB2YWxpZGF0aW9uIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTE4Cittc2dpZCAicmVhZCBjb21taXQgbG9nIG1lc3NhZ2UgZnJvbSBmaWxlIgorbXNnc3RyICJsaXJlIGxlIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBkZXB1aXMgdW4gZmljaGllciIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjEyMSBidWlsdGluL2NvbW1pdC5jOjE1MDggYnVpbHRpbi9tZXJnZS5jOjI4NworIzogYnVpbHRpbi9wdWxsLmM6MTk1IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE4Cittc2dpZCAiR1BHIHNpZ24gY29tbWl0IgorbXNnc3RyICJzaWduZXIgbGEgdmFsaWRhdGlvbiBhdmVjIEdQRyIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjEzMworbXNnaWQgIm11c3QgZ2l2ZSBleGFjdGx5IG9uZSB0cmVlIgorbXNnc3RyICJleGFjdGVtZW50IHVuIGFyYnJlIG9ibGlnYXRvaXJlIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTQwCittc2dpZCAiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gcmVhZCIKK21zZ3N0ciAiZ2l0IGNvbW1pdC10cmVlwqA6IMOpY2hlYyBkZSBsYSBsZWN0dXJlIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjQxCiBtc2dpZCAiZ2l0IGNvbW1pdCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBjb21taXQgWzxvcHRpb25zPl0gWy0tXSA8c3DDqWNpZmljYXRpb24tZGUtY2hlbWluPi4uLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NQorIzogYnVpbHRpbi9jb21taXQuYzo0NgogbXNnaWQgImdpdCBzdGF0dXMgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgc3RhdHVzIFs8b3B0aW9ucz5dIFstLV0gPHNww6ljaWZpY2F0aW9uLWRlLWNoZW1pbj4uLi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTEKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIGFtZW5kIHRoZSBtb3N0IHJlY2VudCBjb21taXQsIGJ1dCBkb2luZyBzbyB3b3VsZCBtYWtlXG4iCiAiaXQgZW1wdHkuIFlvdSBjYW4gcmVwZWF0IHlvdXIgY29tbWFuZCB3aXRoIC0tYWxsb3ctZW1wdHksIG9yIHlvdSBjYW5cbiIKQEAgLTk3MTYsNyArMTIxMzgsNyBAQAogInZpZGUuIFZvdXMgcG91dmV6IHLDqXDDqXRlciB2b3RyZSBjb21tYW5kZSBhdmVjIC0tYWxsb3ctZW1wdHksIG91IHZvdXMgcG91dmV6XG4iCiAic3VwcHJpbWVyIGNvbXBsw6h0ZW1lbnQgbGUgY29tbWl0IGF2ZWMgXCJnaXQgcmVzZXQgSEVBRF5cIi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NQorIzogYnVpbHRpbi9jb21taXQuYzo1NgogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCkBAIC05NzMxLDgxICsxMjE1Myw5NSBAQAogIiAgICBnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHlcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MgotbXNnaWQgIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgotbXNnc3RyICJTaW5vbiwgdmV1aWxsZXogdXRpbGlzZXIgJ2dpdCByZXNldCdcbiIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjMKK21zZ2lkICJPdGhlcndpc2UsIHBsZWFzZSB1c2UgJ2dpdCBjaGVycnktcGljayAtLXNraXAnXG4iCittc2dzdHIgIlNpbm9uLCB2ZXVpbGxleiB1dGlsaXNlciAnZ2l0IGNoZXJyeS1waWNrIC0tc2tpcCdcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NQorIzogYnVpbHRpbi9jb21taXQuYzo2NgogbXNnaWQgIiIKKyJhbmQgdGhlbiB1c2U6XG4iCisiXG4iCisiICAgIGdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXG4iCisiXG4iCisidG8gcmVzdW1lIGNoZXJyeS1waWNraW5nIHRoZSByZW1haW5pbmcgY29tbWl0cy5cbiIKICJJZiB5b3Ugd2lzaCB0byBza2lwIHRoaXMgY29tbWl0LCB1c2U6XG4iCiAiXG4iCi0iICAgIGdpdCByZXNldFxuIgorIiAgICBnaXQgY2hlcnJ5LXBpY2sgLS1za2lwXG4iCiAiXG4iCi0iVGhlbiBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgd2lsbCByZXN1bWUgY2hlcnJ5LXBpY2tpbmdcbiIKLSJ0aGUgcmVtYWluaW5nIGNvbW1pdHMuXG4iCiBtc2dzdHIgIiIKLSJTaSB2b3VzIHNvdWhhaXRleiBzYXV0ZXIgY2UgY29tbWl0LCB1dGlsaXNleiA6XG4iCisidXRpbGlzZXogZW5zdWl0ZcKgOlxuIgogIlxuIgotIiAgICBnaXQgcmVzZXRcbiIKKyIgICAgZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcbiIKICJcbiIKLSJQdWlzIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiBjb250aW51ZXJhIGxlIHBpY29yYWdlIFxuIgotImRlcyBjb21taXRzIHJlc3RhbnRzLlxuIgorInBvdXIgY29udGludWVyIGxlIHBpY29yYWdlIGRlcyBjb21taXRzIHJlc3RhbnRzLlxuIgorIlNpIHZvdXMgc291aGFpdGV6IHNhdXRlciBjZSBjb21taXQsIHV0aWxpc2V6wqA6XG4iCisiXG4iCisiICAgIGdpdCBjaGVycnktcGljayAtLXNraXBwZWRcbiIKKyJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzE1CiBtc2dpZCAiZmFpbGVkIHRvIHVucGFjayBIRUFEIHRyZWUgb2JqZWN0IgogbXNnc3RyICLDqWNoZWMgZHUgZMOpcGFxdWV0YWdlIGRlIGwnb2JqZXQgYXJicmUgSEVBRCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzUxCittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICItLXBhdGhzcGVjLWZyb20tZmlsZSBhdmVjIGwnb3B0aW9uIC1hIG4nYSBwYXMgZGUgc2VucyIKKworIzogYnVpbHRpbi9jb21taXQuYzozNjQKK21zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCittc2dzdHIgIkF1Y3VuIGNoZW1pbiBhdmVjIGxlcyBvcHRpb25zIC0taW5jbHVkZS8tLW9ubHkgbidhIHBhcyBkZSBzZW5zLiIKKworIzogYnVpbHRpbi9jb21taXQuYzozNzYKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbCdpbmRleCB0ZW1wb3JhaXJlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1OAorIzogYnVpbHRpbi9jb21taXQuYzozODIKIG1zZ2lkICJpbnRlcmFjdGl2ZSBhZGQgZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZGUgbCdham91dCBpbnRlcmFjdGlmIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM3MQorIzogYnVpbHRpbi9jb21taXQuYzozOTYKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBtZXR0cmUgw6Agam91ciBsJ2luZGV4IHRlbXBvcmFpcmUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzczCisjOiBidWlsdGluL2NvbW1pdC5jOjM5OAogbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgbWFpbiBjYWNoZSB0cmVlIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyIGwnYXJicmUgZGUgY2FjaGUgcHJpbmNpcGFsIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM5OCBidWlsdGluL2NvbW1pdC5jOjQyMSBidWlsdGluL2NvbW1pdC5jOjQ2NworIzogYnVpbHRpbi9jb21taXQuYzo0MjMgYnVpbHRpbi9jb21taXQuYzo0NDYgYnVpbHRpbi9jb21taXQuYzo0OTIKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3X2luZGV4IGZpbGUiCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlIGZpY2hpZXIgbmV3X2luZGV4IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1MAorIzogYnVpbHRpbi9jb21taXQuYzo0NzUKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBtZXJnZS4iCiBtc2dzdHIgImltcG9zc2libGUgZGUgZmFpcmUgdW5lIHZhbGlkYXRpb24gcGFydGllbGxlIHBlbmRhbnQgdW5lIGZ1c2lvbi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDUyCisjOiBidWlsdGluL2NvbW1pdC5jOjQ3NwogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmYWlyZSB1bmUgdmFsaWRhdGlvbiBwYXJ0aWVsbGUgcGVuZGFudCB1biBwaWNvcmFnZS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDYwCisjOiBidWlsdGluL2NvbW1pdC5jOjQ4NQogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDc5CisjOiBidWlsdGluL2NvbW1pdC5jOjUwNAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggZmlsZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgZmljaGllciBkJ2luZGV4IHRlbXBvcmFpcmUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTc3CisjOiBidWlsdGluL2NvbW1pdC5jOjYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJyVzJyBsYWNrcyBhdXRob3IgaGVhZGVyIgogbXNnc3RyICJlbnTDqnRlIGQnYXV0ZXVyIG1hbnF1YW50IGRhbnMgbGUgY29tbWl0ICclcyciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTc5CisjOiBidWlsdGluL2NvbW1pdC5jOjYwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJyVzJyBoYXMgbWFsZm9ybWVkIGF1dGhvciBsaW5lIgogbXNnc3RyICJsZSBjb21taXQgJyVzJyBhIHVuZSBsaWduZSBkJ2F1dGV1ciBtYWxmb3Jtw6llIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU5OAorIzogYnVpbHRpbi9jb21taXQuYzo2MjMKIG1zZ2lkICJtYWxmb3JtZWQgLS1hdXRob3IgcGFyYW1ldGVyIgogbXNnc3RyICJwYXJhbcOodHJlIC0tYXV0aG9yIG1hbCBmb3Jtw6kiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjUwCisjOiBidWlsdGluL2NvbW1pdC5jOjY3NgogbXNnaWQgIiIKICJ1bmFibGUgdG8gc2VsZWN0IGEgY29tbWVudCBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgdXNlZFxuIgogImluIHRoZSBjdXJyZW50IGNvbW1pdCBtZXNzYWdlIgpAQCAtOTgxMywzOCArMTIyNDksMzggQEAKICJpbXBvc3NpYmxlIGRlIHPDqWxlY3Rpb25uZXIgdW4gY2FyYWN0w6hyZSBkZSBjb21tZW50YWlyZVxuIgogInF1aSBuJ2VzdCBwYXMgdXRpbGlzw6kgZGFucyBsZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gYWN0dWVsIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY4NyBidWlsdGluL2NvbW1pdC5jOjcyMCBidWlsdGluL2NvbW1pdC5jOjEwNDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzE0IGJ1aWx0aW4vY29tbWl0LmM6NzQ3IGJ1aWx0aW4vY29tbWl0LmM6MTA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIGNvbW1pdCAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSByZWNoZXJjaGVyIGxlIGNvbW1pdCAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2OTkgYnVpbHRpbi9zaG9ydGxvZy5jOjMxNworIzogYnVpbHRpbi9jb21taXQuYzo3MjYgYnVpbHRpbi9zaG9ydGxvZy5jOjMxOQogIywgYy1mb3JtYXQKIG1zZ2lkICIocmVhZGluZyBsb2cgbWVzc2FnZSBmcm9tIHN0YW5kYXJkIGlucHV0KVxuIgogbXNnc3RyICIobGVjdHVyZSBkdSBtZXNzYWdlIGRlIGpvdXJuYWwgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZClcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzI4CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsZSBqb3VybmFsIGRlcHVpcyBsJ2VudHLDqWUgc3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzA1CisjOiBidWlsdGluL2NvbW1pdC5jOjczMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZmlsZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgZmljaGllciBkZSBqb3VybmFsICclcyciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzM0IGJ1aWx0aW4vY29tbWl0LmM6NzQyCisjOiBidWlsdGluL2NvbW1pdC5jOjc2MyBidWlsdGluL2NvbW1pdC5jOjc3OQogbXNnaWQgImNvdWxkIG5vdCByZWFkIFNRVUFTSF9NU0ciCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBTUVVBU0hfTVNHIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczOQorIzogYnVpbHRpbi9jb21taXQuYzo3NzAKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NU0ciCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBNRVJHRV9NU0ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzkzCisjOiBidWlsdGluL2NvbW1pdC5jOjgzMAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBjb21taXQgdGVtcGxhdGUiCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlIG1vZMOobGUgZGUgY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgxMQorIzogYnVpbHRpbi9jb21taXQuYzo4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtOTg1OSw3ICsxMjI5NSw3IEBACiAiXHQlc1xuIgogImV0IGVzc2F5ZXogw6Agbm91dmVhdS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTk4NzQsNyArMTIzMTAsNyBAQAogIlx0JXNcbiIKICJldCBlc3NheWV6IMOgIG5vdXZlYXUuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODI5CisjOiBidWlsdGluL2NvbW1pdC5jOjg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgpAQCAtOTg4NCw3ICsxMjMyMCw3IEBACiAiY29tbWVuw6dhbnQgcGFyICclYycgc2Vyb250IGlnbm9yw6llcywgZXQgdW4gbWVzc2FnZSB2aWRlIGFiYW5kb25uZSBsYSAiCiAidmFsaWRhdGlvbi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC05ODk1LDE1MiArMTIzMzEsMTQ0IEBACiAiY29tbWVuw6dhbnQgcGFyICclYycgc2Vyb250IGNvbnNlcnbDqWVzIDsgdm91cyBwb3V2ZXogbGVzIHN1cHByaW1lciB2b3VzLW3Dqm1lXG4iCiAic2kgdm91cyBsZSBzb3VoYWl0ZXouIFVuIG1lc3NhZ2UgdmlkZSBhYmFuZG9ubmUgbGEgdmFsaWRhdGlvbi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQXV0aG9yOiAgICAlLipzIDwlLipzPiIKIG1zZ3N0ciAiJXNBdXRldXIgOiAgICAgJS4qcyA8JS4qcz4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODYyCisjOiBidWlsdGluL2NvbW1pdC5jOjkwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0RhdGU6ICAgICAgJXMiCiBtc2dzdHIgIiVzRGF0ZSA6ICAgICAgICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg2OQorIzogYnVpbHRpbi9jb21taXQuYzo5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNDb21taXR0ZXI6ICUuKnMgPCUuKnM+IgogbXNnc3RyICIlc1ZhbGlkYXRldXIgOiAlLipzIDwlLipzPiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTI1CiBtc2dpZCAiQ2Fubm90IHJlYWQgaW5kZXgiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgbGlyZSBsJ2luZGV4IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk1MworIzogYnVpbHRpbi9jb21taXQuYzo5OTIKIG1zZ2lkICJFcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAiRXJyZXVyIGxvcnMgZGUgbGEgY29uc3RydWN0aW9uIGRlcyBhcmJyZXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTY3IGJ1aWx0aW4vdGFnLmM6MjU4CisjOiBidWlsdGluL2NvbW1pdC5jOjEwMDYgYnVpbHRpbi90YWcuYzoyNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGxlYXNlIHN1cHBseSB0aGUgbWVzc2FnZSB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uLlxuIgogbXNnc3RyICJWZXVpbGxleiBmb3VybmlyIGxlIG1lc3NhZ2UgZW4gdXRpbGlzYW50IGwnb3B0aW9uIC1tIG91IC1GLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA1MAogIywgYy1mb3JtYXQKIG1zZ2lkICItLWF1dGhvciAnJXMnIGlzIG5vdCAnTmFtZSA8ZW1haWw+JyBhbmQgbWF0Y2hlcyBubyBleGlzdGluZyBhdXRob3IiCiBtc2dzdHIgIiIKICItLWF1dGhvciAnJXMnIG4nZXN0IHBhcyBkZSBsYSBmb3JtZSAnTm9tIDxlbWFpbD4nIG5pIG5lIGNvcnJlc3BvbmQgw6AgYXVjdW4gIgogImF1dGV1ciBleGlzdGFudCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDI1CisjOiBidWlsdGluL2NvbW1pdC5jOjEwNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBpZ25vcmVkIG1vZGUgJyVzJyIKIG1zZ3N0ciAiTW9kZSBkZSBmaWNoaWVyIGlnbm9yw6kgaW52YWxpZGUgJyVzJyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDM5IGJ1aWx0aW4vY29tbWl0LmM6MTI3NgorIzogYnVpbHRpbi9jb21taXQuYzoxMDgyIGJ1aWx0aW4vY29tbWl0LmM6MTMyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHVudHJhY2tlZCBmaWxlcyBtb2RlICclcyciCiBtc2dzdHIgIk1vZGUgZGUgZmljaGllciBub24gc3VpdmkgaW52YWxpZGUgJyVzJyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDc3CisjOiBidWlsdGluL2NvbW1pdC5jOjExMjIKIG1zZ2lkICItLWxvbmcgYW5kIC16IGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tbG9uZyBldCAteiBzb250IGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExMAorIzogYnVpbHRpbi9jb21taXQuYzoxMTY2CiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiTCd1dGlsaXNhdGlvbiBzaW11bHRhbsOpZSBkZSAtLXJlc2V0LWF1dGhvciBldCAtLWF1dGhvciBuJ2EgcGFzIGRlIHNlbnMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExOQorIzogYnVpbHRpbi9jb21taXQuYzoxMTc1CiBtc2dpZCAiWW91IGhhdmUgbm90aGluZyB0byBhbWVuZC4iCiBtc2dzdHIgIklsIG4neSBhIHJpZW4gw6AgY29ycmlnZXIuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3OAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgZW4gcGxlaW5lIGZ1c2lvbiAtLSBpbXBvc3NpYmxlIGRlIGNvcnJpZ2VyIChhbWVuZCkuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIGNoZXJyeS1waWNrIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIlZvdXMgw6p0ZXMgZW4gcGxlaW4gcGljb3JhZ2UgLS0gaW1wb3NzaWJsZSBkZSBjb3JyaWdlciAoYW1lbmQpLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTI3CisjOiBidWlsdGluL2NvbW1pdC5jOjExODMKIG1zZ2lkICJPcHRpb25zIC0tc3F1YXNoIGFuZCAtLWZpeHVwIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICJMZXMgb3B0aW9ucyAtLXNxdWFzaCBldCAtLWZpeHVwIG5lIHBldXZlbnQgcGFzIMOqdHJlIHV0aWxpc8OpZXMgZW5zZW1ibGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEzNworIzogYnVpbHRpbi9jb21taXQuYzoxMTkzCiBtc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIlVuZSBzZXVsZSBvcHRpb24gcGFybWkgLWMvLUMvLUYvLS1maXh1cCBwZXV0IMOqdHJlIHV0aWxpc8OpZS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEzOQorIzogYnVpbHRpbi9jb21taXQuYzoxMTk1CiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLiIKIG1zZ3N0ciAiTCdvcHRpb24gLW0gbmUgcGV1dCBwYXMgw6p0cmUgY29tYmluw6llIGF2ZWMgLWMvLUMvLUYuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwMwogbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCiBtc2dzdHIgIi0tcmVzZXQtYXV0aG9yIG5lIHBldXQgw6p0cmUgdXRpbGlzw6kgcXUnYXZlYyAtQywgLWMgb3UgLS1hbWVuZC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NAorIzogYnVpbHRpbi9jb21taXQuYzoxMjIwCiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICIiCiAiVW5lIHNldWxlIG9wdGlvbiBwYXJtaSAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBwZXV0ICIKICLDqnRyZSB1dGlsaXPDqWUuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjYKLW1zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCi1tc2dzdHIgIkF1Y3VuIGNoZW1pbiBhdmVjIGxlcyBvcHRpb25zIC0taW5jbHVkZS8tLW9ubHkgbidhIHBhcyBkZSBzZW5zLiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMTgwIGJ1aWx0aW4vdGFnLmM6NTQ2CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMjYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCi1tc2dzdHIgIk1vZGUgZGUgbmV0dG95YWdlIGludmFsaWRlICVzIgorbXNnaWQgInBhdGhzICclcyAuLi4nIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiZGVzIGNoZW1pbnMgJyVzIC4uLicgYXZlYyBsJ29wdGlvbiAtYSBuJ2EgcGFzIGRlIHNlbnMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4NQotbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCi1tc2dzdHIgIlNww6ljaWZpZXIgZGVzIGNoZW1pbnMgYXZlYyBsJ29wdGlvbiAtYSBuJ2EgcGFzIGRlIHNlbnMuIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTEgYnVpbHRpbi9jb21taXQuYzoxNDk1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTcgYnVpbHRpbi9jb21taXQuYzoxNTE5CiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICJhZmZpY2hlciBsJ8OpdGF0IGF2ZWMgY29uY2lzaW9uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTMgYnVpbHRpbi9jb21taXQuYzoxNDk3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTkgYnVpbHRpbi9jb21taXQuYzoxNTIxCiBtc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgImFmZmljaGVyIGwnaW5mb3JtYXRpb24gZGUgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzE1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjEKIG1zZ2lkICJzaG93IHN0YXNoIGluZm9ybWF0aW9uIgogbXNnc3RyICJhZmZpY2hlciBsJ2luZm9ybWF0aW9uIGRlIHJlbWlzYWdlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTcgYnVpbHRpbi9jb21taXQuYzoxNDk5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjMgYnVpbHRpbi9jb21taXQuYzoxNTIzCiBtc2dpZCAiY29tcHV0ZSBmdWxsIGFoZWFkL2JlaGluZCB2YWx1ZXMiCiBtc2dzdHIgImNhbGN1bGUgbGVzIHZhbGV1cnMgY29tcGzDqHRlcyBlbiBhdmFuY2UvZW4gcmV0YXJkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2NQogbXNnaWQgInZlcnNpb24iCiBtc2dzdHIgInZlcnNpb24iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxOSBidWlsdGluL2NvbW1pdC5jOjE1MDEgYnVpbHRpbi9wdXNoLmM6NTU4Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjM5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjUgYnVpbHRpbi9jb21taXQuYzoxNTI1IGJ1aWx0aW4vcHVzaC5jOjU0OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY1MAogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICJzb3J0aWUgcG91ciB0cmFpdGVtZW50IGF1dG9tYXRpcXVlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjIgYnVpbHRpbi9jb21taXQuYzoxNTAzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjggYnVpbHRpbi9jb21taXQuYzoxNTI3CiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICJhZmZpY2hlciBsJ8OpdGF0IGVuIGZvcm1hdCBsb25nIChwYXIgZMOpZmF1dCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyNSBidWlsdGluL2NvbW1pdC5jOjE1MDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3MSBidWlsdGluL2NvbW1pdC5jOjE1MzAKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKIG1zZ3N0ciAidGVybWluZXIgbGVzIMOpbMOpbWVudHMgcGFyIE5VTCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzI3IGJ1aWx0aW4vY29tbWl0LmM6MTMzMSBidWlsdGluL2NvbW1pdC5jOjE1MDkKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDA3IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDEwIGJ1aWx0aW4vcmViYXNlLmM6OTEwCi0jOiBidWlsdGluL3RhZy5jOjQwMAorIzogYnVpbHRpbi9jb21taXQuYzoxMzczIGJ1aWx0aW4vY29tbWl0LmM6MTM3NyBidWlsdGluL2NvbW1pdC5jOjE1MzMKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTUzIGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTU2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1OSBidWlsdGluL3JlYmFzZS5jOjE1MjUgcGFyc2Utb3B0aW9ucy5oOjMzNgogbXNnaWQgIm1vZGUiCiBtc2dzdHIgIm1vZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyOCBidWlsdGluL2NvbW1pdC5jOjE1MDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3NCBidWlsdGluL2NvbW1pdC5jOjE1MzMKIG1zZ2lkICJzaG93IHVudHJhY2tlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IGFsbCwgbm9ybWFsLCBuby4gKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgIiIKICJhZmZpY2hlciBsZXMgZmljaGllcnMgbm9uIHN1aXZpcywgXCJtb2RlXCIgZmFjdWx0YXRpZiA6IGFsbCAodG91cyksIG5vcm1hbCwgIgogIm5vLiAoRMOpZmF1dCA6IGFsbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzMgorIzogYnVpbHRpbi9jb21taXQuYzoxMzc4CiBtc2dpZCAiIgogInNob3cgaWdub3JlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IHRyYWRpdGlvbmFsLCBtYXRjaGluZywgbm8uIChEZWZhdWx0OiAiCiAidHJhZGl0aW9uYWwpIgpAQCAtMTAwNDgsMTEgKzEyNDc2LDExIEBACiAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIGlnbm9yw6lzLCBcIm1vZGVcIiBmYWN1bHRhdGlmIDogdHJhZGl0aW9uYWwgIgogIih0cmFkaXRpb25uZWwpLCBtYXRjaGluZyAoY29ycmVzcG9uZGFudCksIG5vLiAoRMOpZmF1dMKgOiB0cmFkaXRpb25hbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNCBwYXJzZS1vcHRpb25zLmg6MTY0CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODAgcGFyc2Utb3B0aW9ucy5oOjE5MgogbXNnaWQgIndoZW4iCiBtc2dzdHIgInF1YW5kIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4MQogbXNnaWQgIiIKICJpZ25vcmUgY2hhbmdlcyB0byBzdWJtb2R1bGVzLCBvcHRpb25hbCB3aGVuOiBhbGwsIGRpcnR5LCB1bnRyYWNrZWQuICIKICIoRGVmYXVsdDogYWxsKSIKQEAgLTEwMDYwLDI1NSArMTI0ODgsMjUwIEBACiAiaWdub3JlciBsZXMgbW9kaWZpY2F0aW9ucyBkYW5zIGxlcyBzb3VzLW1vZHVsZXMsIFwicXVhbmRcIiBmYWN1bHRhdGlmIDogYWxsICIKICIodG91cyksIGRpcnR5IChzYWxlKSwgdW50cmFja2VkIChub24gc3VpdmkpLiAoRMOpZmF1dCA6IGFsbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNworIzogYnVpbHRpbi9jb21taXQuYzoxMzgzCiBtc2dpZCAibGlzdCB1bnRyYWNrZWQgZmlsZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIG5vbiBzdWl2aXMgZW4gY29sb25uZXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzOAorIzogYnVpbHRpbi9jb21taXQuYzoxMzg0CiBtc2dpZCAiZG8gbm90IGRldGVjdCByZW5hbWVzIgogbXNnc3RyICJuZSBwYXMgZMOpdGVjdGVyIGxlcyByZW5vbW1hZ2VzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4NgogbXNnaWQgImRldGVjdCByZW5hbWVzLCBvcHRpb25hbGx5IHNldCBzaW1pbGFyaXR5IGluZGV4IgogbXNnc3RyICIiCiAiZMOpdGVjdGVyIGxlcyByZW5vbW1hZ2VzLCBlbiBzcMOpY2lmaWFudCBvcHRpb25uZWxsZW1lbnQgbGUgZmFjdGV1ciBkZSAiCiAic2ltaWxhcml0w6kiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDA2CiBtc2dpZCAiVW5zdXBwb3J0ZWQgY29tYmluYXRpb24gb2YgaWdub3JlZCBhbmQgdW50cmFja2VkLWZpbGVzIGFyZ3VtZW50cyIKIG1zZ3N0ciAiIgogIkNvbWJpbmFpc29uIG5vbiBzdXBwb3J0w6llIGQnYXJndW1lbnRzIHN1ciBsZXMgZmljaGllcnMgaWdub3LDqXMgZXQgbm9uLXN1aXZpcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODkKIG1zZ2lkICJzdXBwcmVzcyBzdW1tYXJ5IGFmdGVyIHN1Y2Nlc3NmdWwgY29tbWl0IgogbXNnc3RyICJzdXBwcmltZXIgbGUgcsOpc3Vtw6kgYXByw6hzIHVuZSB2YWxpZGF0aW9uIHLDqXVzc2llIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MAogbXNnaWQgInNob3cgZGlmZiBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGRpZmYgZGFucyBsZSBtb2TDqGxlIGRlIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY4CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTIKIG1zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgogbXNnc3RyICJPcHRpb25zIGR1IG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY5IGJ1aWx0aW4vbWVyZ2UuYzoyNjMgYnVpbHRpbi90YWcuYzozOTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MyBidWlsdGluL21lcmdlLmM6Mjc0IGJ1aWx0aW4vdGFnLmM6NDE0CiBtc2dpZCAicmVhZCBtZXNzYWdlIGZyb20gZmlsZSIKIG1zZ3N0ciAibGlyZSBsZSBtZXNzYWdlIGRlcHVpcyB1biBmaWNoaWVyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAogbXNnaWQgImF1dGhvciIKIG1zZ3N0ciAiYXV0ZXVyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAogbXNnaWQgIm92ZXJyaWRlIGF1dGhvciBmb3IgY29tbWl0IgogbXNnc3RyICJyZW1wbGFjZXIgbCdhdXRldXIgcG91ciBsYSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzEgYnVpbHRpbi9nYy5jOjUxOAorIzogYnVpbHRpbi9jb21taXQuYzoxNDk1IGJ1aWx0aW4vZ2MuYzo1MzgKIG1zZ2lkICJkYXRlIgogbXNnc3RyICJkYXRlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NQogbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKIG1zZ3N0ciAicmVtcGxhY2VyIGxhIGRhdGUgcG91ciBsYSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzIgYnVpbHRpbi9tZXJnZS5jOjI1OSBidWlsdGluL25vdGVzLmM6NDA5Ci0jOiBidWlsdGluL25vdGVzLmM6NTcyIGJ1aWx0aW4vdGFnLmM6Mzk1Ci1tc2dpZCAibWVzc2FnZSIKLW1zZ3N0ciAibWVzc2FnZSIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDcyCi1tc2dpZCAiY29tbWl0IG1lc3NhZ2UiCi1tc2dzdHIgIm1lc3NhZ2UgZGUgdmFsaWRhdGlvbiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDczIGJ1aWx0aW4vY29tbWl0LmM6MTQ3NCBidWlsdGluL2NvbW1pdC5jOjE0NzUKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NiByZWYtZmlsdGVyLmg6OTIgcGFyc2Utb3B0aW9ucy5oOjI4MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDk3IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OCBidWlsdGluL2NvbW1pdC5jOjE0OTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMCBwYXJzZS1vcHRpb25zLmg6MzI4IHJlZi1maWx0ZXIuaDo5MgogbXNnaWQgImNvbW1pdCIKIG1zZ3N0ciAiY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NwogbXNnaWQgInJldXNlIGFuZCBlZGl0IG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICJyw6l1dGlsaXNlciBldCDDqWRpdGVyIGxlIG1lc3NhZ2UgZHUgY29tbWl0IHNww6ljaWZpw6kiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NAorIzogYnVpbHRpbi9jb21taXQuYzoxNDk4CiBtc2dpZCAicmV1c2UgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgInLDqXV0aWxpc2VyIGxlIG1lc3NhZ2UgZHUgY29tbWl0IHNww6ljaWZpw6kiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NQorIzogYnVpbHRpbi9jb21taXQuYzoxNDk5CiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gZml4dXAgc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogInV0aWxpc2VyIHVuIG1lc3NhZ2UgYXUgZm9ybWF0IGF1dG9zcXVhc2ggcG91ciBjb3JyaWdlciBsZSBjb21taXQgc3DDqWNpZmnDqSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDAKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogInV0aWxpc2VyIHVuIG1lc3NhZ2UgYXUgZm9ybWF0IGF1dG9zcXVhc2ggcG91ciBjb21wcmVzc2VyIGxlIGNvbW1pdCBzcMOpY2lmacOpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMQogbXNnaWQgInRoZSBjb21taXQgaXMgYXV0aG9yZWQgYnkgbWUgbm93ICh1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCkiCiBtc2dzdHIgIiIKICLDoCBwcsOpc2VudCBqZSBzdWlzIGwnYXV0ZXVyIGRlIGxhIHZhbGlkYXRpb24gKHV0aWxpc8OpIGF2ZWMgLUMvLWMvLS1hbWVuZCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OCBidWlsdGluL2xvZy5jOjE1MjAgYnVpbHRpbi9tZXJnZS5jOjI3NgotIzogYnVpbHRpbi9wdWxsLmM6MTU1IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDIgYnVpbHRpbi9sb2cuYzoxNjM0IGJ1aWx0aW4vbWVyZ2UuYzoyODkKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2NCBidWlsdGluL3JldmVydC5jOjExMAogbXNnaWQgImFkZCBTaWduZWQtb2ZmLWJ5OiIKIG1zZ3N0ciAiYWpvdXRlciB1bmUgZW50csOpZSBTaWduZWQtb2ZmLWJ5IDoiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTAzCiBtc2dpZCAidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIgogbXNnc3RyICJ1dGlsaXNlciBsZSBmaWNoaWVyIGRlIG1vZMOobGUgc3DDqWNpZmnDqSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDgwCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDQKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIGNvbW1pdCIKIG1zZ3N0ciAiZm9yY2VyIGwnw6lkaXRpb24gZHUgY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODEKLW1zZ2lkICJkZWZhdWx0IgotbXNnc3RyICJkw6lmYXV0IgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODEgYnVpbHRpbi90YWcuYzo0MDEKLW1zZ2lkICJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIgotbXNnc3RyICJjb21tZW50IMOpbGltaW5lciBsZXMgZXNwYWNlcyBldCBsZXMgY29tbWVudGFpcmVzICMgZHUgbWVzc2FnZSIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDgyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDYKIG1zZ2lkICJpbmNsdWRlIHN0YXR1cyBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAiaW5jbHVyZSBsJ8OpdGF0IGRhbnMgbGUgbW9kw6hsZSBkZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NCBidWlsdGluL21lcmdlLmM6Mjc0IGJ1aWx0aW4vcHVsbC5jOjE4NQotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTQKLW1zZ2lkICJHUEcgc2lnbiBjb21taXQiCi1tc2dzdHIgInNpZ25lciBsYSB2YWxpZGF0aW9uIGF2ZWMgR1BHIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMQogbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgogbXNnc3RyICJWYWxpZGVyIGxlcyBvcHRpb25zIGRlcyBjb250ZW51cyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDg4CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTIKIG1zZ2lkICJjb21taXQgYWxsIGNoYW5nZWQgZmlsZXMiCiBtc2dzdHIgInZhbGlkZXIgdG91cyBsZXMgZmljaGllcnMgbW9kaWZpw6lzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMwogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAiYWpvdXRlciBsZXMgZmljaGllcnMgc3DDqWNpZmnDqXMgw6AgbCdpbmRleCBwb3VyIGxhIHZhbGlkYXRpb24iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MAorIzogYnVpbHRpbi9jb21taXQuYzoxNTE0CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCiBtc2dzdHIgImFqb3V0ZXIgZGVzIGZpY2hpZXJzIGVuIG1vZGUgaW50ZXJhY3RpZiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDkxCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTUKIG1zZ2lkICJpbnRlcmFjdGl2ZWx5IGFkZCBjaGFuZ2VzIgogbXNnc3RyICJham91dGVyIGxlcyBtb2RpZmljYXRpb25zIGVuIG1vZGUgaW50ZXJhY3RpZiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDkyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTYKIG1zZ2lkICJjb21taXQgb25seSBzcGVjaWZpZWQgZmlsZXMiCiBtc2dzdHIgInZhbGlkZXIgc2V1bGVtZW50IGxlcyBmaWNoaWVycyBzcMOpY2lmacOpcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDkzCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTcKIG1zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBhbmQgY29tbWl0LW1zZyBob29rcyIKIG1zZ3N0ciAiw6l2aXRlciBkJ3V0aWxpc2VyIGxlcyBjcm9jaGV0cyBwcmUtY29tbWl0IGV0IGNvbW1pdC1tc2ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTE4CiBtc2dpZCAic2hvdyB3aGF0IHdvdWxkIGJlIGNvbW1pdHRlZCIKIG1zZ3N0ciAiYWZmaWNoZXIgY2UgcXVpIHNlcmFpdCB2YWxpZMOpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzMQogbXNnaWQgImFtZW5kIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAiY29ycmlnZXIgbGEgdmFsaWRhdGlvbiBwcsOpY8OpZGVudGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwOAorIzogYnVpbHRpbi9jb21taXQuYzoxNTMyCiBtc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgogbXNnc3RyICLDqXZpdGVyIGQndXRpbGlzZXIgbGUgY3JvY2hldCBwb3N0LXJld3JpdGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMworIzogYnVpbHRpbi9jb21taXQuYzoxNTM5CiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAiYWNjZXB0ZXIgZCdlbnJlZ2lzdHJlciB1bmUgbW9kaWZpY2F0aW9uIHZpZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNQorIzogYnVpbHRpbi9jb21taXQuYzoxNTQxCiBtc2dpZCAib2sgdG8gcmVjb3JkIGEgY2hhbmdlIHdpdGggYW4gZW1wdHkgbWVzc2FnZSIKIG1zZ3N0ciAiYWNjZXB0ZXIgZCdlbnJlZ2lzdHJlciB1bmUgbW9kaWZpY2F0aW9uIGF2ZWMgdW4gbWVzc2FnZSB2aWRlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIgogbXNnc3RyICJGaWNoaWVyIE1FUkdFX0hFQUQgY29ycm9tcHUgKCVzKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MjEKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NT0RFIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgTUVSR0VfTU9ERSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIDogJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyNQorIzogYnVpbHRpbi9jb21taXQuYzoxNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdCBkdWUgdG8gZW1wdHkgY29tbWl0IG1lc3NhZ2UuXG4iCiBtc2dzdHIgIkFiYW5kb24gZGUgbGEgdmFsaWRhdGlvbiBkw7sgw6AgdW4gbWVzc2FnZSBkZSB2YWxpZGF0aW9uIHZpZGUuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMAorIzogYnVpbHRpbi9jb21taXQuYzoxNjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdDsgeW91IGRpZCBub3QgZWRpdCB0aGUgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiQWJhbmRvbiBkZSBsYSB2YWxpZGF0aW9uIDsgdm91cyBuJ2F2ZXogcGFzIMOpZGl0w6kgbGUgbWVzc2FnZVxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2NjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY4NgogbXNnaWQgIiIKICJyZXBvc2l0b3J5IGhhcyBiZWVuIHVwZGF0ZWQsIGJ1dCB1bmFibGUgdG8gd3JpdGVcbiIKICJuZXdfaW5kZXggZmlsZS4gQ2hlY2sgdGhhdCBkaXNrIGlzIG5vdCBmdWxsIGFuZCBxdW90YSBpc1xuIgotIm5vdCBleGNlZWRlZCwgYW5kIHRoZW4gXCJnaXQgcmVzZXQgSEVBRFwiIHRvIHJlY292ZXIuIgorIm5vdCBleGNlZWRlZCwgYW5kIHRoZW4gXCJnaXQgcmVzdG9yZSAtLXN0YWdlZCA6L1wiIHRvIHJlY292ZXIuIgogbXNnc3RyICIiCiAibGUgZMOpcMO0dCBhIMOpdMOpIG1pcyDDoCBqb3VyLCBtYWlzIGltcG9zc2libGUgZCfDqWNyaXJlIGxlIGZpY2hpZXJcbiIKICJuZXdfaW5kZXguIFbDqXJpZmlleiBxdWUgbGUgZGlzcXVlIG4nZXN0IHBhcyBwbGVpbiBvdSBxdWUgbGUgcXVvdGFcbiIKLSJuJ2EgcGFzIMOpdMOpIGTDqXBhc3PDqSwgcHVpcyBsYW5jZXogXCJnaXQgcmVzZXQgSEVBRFwiIHBvdXIgcsOpcGFyZXIuIgorIm4nYSBwYXMgw6l0w6kgZMOpcGFzc8OpLCBwdWlzIGxhbmNleiBcImdpdCByZXN0b3JlIC0tc3RhZ2VkIDovXCIgcG91ciByw6lwYXJlci4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTAKLW1zZ2lkICJnaXQgY29tbWl0LWdyYXBoIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgotbXNnc3RyICJnaXQgY29tbWl0LWdyYXBoIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgotCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MjMKLW1zZ2lkICJnaXQgY29tbWl0LWdyYXBoIHJlYWQgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCi1tc2dzdHIgImdpdCBjb21taXQtZ3JhcGggcmVhZCBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKLQotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE4Ci1tc2dpZCAiZ2l0IGNvbW1pdC1ncmFwaCB2ZXJpZnkgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCi1tc2dzdHIgImdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgotCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MjgKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTEgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxNwogbXNnaWQgIiIKLSJnaXQgY29tbWl0LWdyYXBoIHdyaXRlIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIFstLWFwcGVuZF0gWy0tcmVhY2hhYmxlfC0tIgotInN0ZGluLXBhY2tzfC0tc3RkaW4tY29tbWl0c10iCisiZ2l0IGNvbW1pdC1ncmFwaCB2ZXJpZnkgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0gWy0tc2hhbGxvd10gWy0tW25vLV1wcm9ncmVzc10iCiBtc2dzdHIgIiIKLSJnaXQgY29tbWl0LWdyYXBoIHdyaXRlIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIFstLWFwcGVuZF0gWy0tcmVhY2hhYmxlfC0tIgotInN0ZGluLXBhY2tzfC0tc3RkaW4tY29tbWl0c10iCisiZ2l0IGNvbW1pdC1ncmFwaCB2ZXJpZnkgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0gWy0tc2hhbGxvd10gWy0tW25vLV1wcm9ncmVzc10iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NDggYnVpbHRpbi9jb21taXQtZ3JhcGguYzo3OAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzIgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxOTAgYnVpbHRpbi9mZXRjaC5jOjE1MwotIzogYnVpbHRpbi9sb2cuYzoxNTQwCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEyIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MjIKK21zZ2lkICIiCisiZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSBbLS1hcHBlbmR8LS1zcGxpdF0gWy0tIgorInJlYWNoYWJsZXwtLXN0ZGluLXBhY2tzfC0tc3RkaW4tY29tbWl0c10gWy0tW25vLV1wcm9ncmVzc10gPHNwbGl0IG9wdGlvbnM+IgorbXNnc3RyICIiCisiZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSBbLS1vYmplY3QtZGlyIDxyw6lwZXJ0b2lyZS1kJ29iamV0Pl0gWy0tYXBwZW5kfC0tIgorInNwbGl0XSBbLS1yZWFjaGFibGV8LS1zdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIFstLXxuby1dcHJvZ3Jlc3NdICIKKyI8b3B0aW9ucyBkZSBkaXZpc2lvbj4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NDggYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMDMKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTg3IGJ1aWx0aW4vZmV0Y2guYzoxNzkgYnVpbHRpbi9sb2cuYzoxNjU3CiBtc2dpZCAiZGlyIgogbXNnc3RyICJyw6lwZXJ0b2lyZSIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo0OSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjc5Ci0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzMyBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE5MQorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo0OSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwNAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxODgKIG1zZ2lkICJUaGUgb2JqZWN0IGRpcmVjdG9yeSB0byBzdG9yZSB0aGUgZ3JhcGgiCiBtc2dzdHIgIkxlIHLDqXBlcnRvaXJlIGQnb2JqZXQgb8O5IHN0b2NrZXIgbGUgZ3JhcGhlIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzNQorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo1MQorbXNnaWQgImlmIHRoZSBjb21taXQtZ3JhcGggaXMgc3BsaXQsIG9ubHkgdmVyaWZ5IHRoZSB0aXAgZmlsZSIKK21zZ3N0ciAiIgorInNpIGxlIGdyYXBoZSBkZSBjb21taXQgZXN0IGRpdmlzw6ksIHbDqXJpZmllciBzZXVsZW1lbnQgbGUgZmljaGllciBzb21tZXQiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NzMgdC9oZWxwZXIvdGVzdC1yZWFkLWdyYXBoLmM6MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gY29tbWl0LWdyYXBoICclcyciCittc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgbGUgZ3JhcGhlIGRlIGNvbW1pdCAnJXMnIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwNgogbXNnaWQgInN0YXJ0IHdhbGsgYXQgYWxsIHJlZnMiCiBtc2dzdHIgImNvbW1lbmNlciBsZSBwYXJjb3VycyDDoCB0b3V0ZXMgbGVzIHLDqWZzIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzNworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMDgKIG1zZ2lkICJzY2FuIHBhY2staW5kZXhlcyBsaXN0ZWQgYnkgc3RkaW4gZm9yIGNvbW1pdHMiCiBtc2dzdHIgInNjYW5uZXIgbGVzIGluZGV4IGNvbXBhY3TDqXMgbGlzdMOpcyBzdXIgc3RkaW4gw6AgbGEgcmVjaGVyY2hlIGRlIGNvbW1pdHMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTM5CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExMAogbXNnaWQgInN0YXJ0IHdhbGsgYXQgY29tbWl0cyBsaXN0ZWQgYnkgc3RkaW4iCiBtc2dzdHIgImNvbW1lbmNlciBsZSBwYXJjb3VycyBhdXggY29tbWl0cyBsaXN0w6lzIHN1ciBzdGRpbiIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxNDEKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTEyCiBtc2dpZCAiaW5jbHVkZSBhbGwgY29tbWl0cyBhbHJlYWR5IGluIHRoZSBjb21taXQtZ3JhcGggZmlsZSIKIG1zZ3N0ciAiIgogImluY2x1cmUgdG91cyBsZXMgY29tbWl0cyBkw6lqw6AgcHLDqXNlbnRzIGRhbnMgbGUgZmljaGllciBkZSBncmFwaGUgZGUgY29tbWl0cyIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxNTAKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTE1Cittc2dpZCAiYWxsb3cgd3JpdGluZyBhbiBpbmNyZW1lbnRhbCBjb21taXQtZ3JhcGggZmlsZSIKK21zZ3N0ciAicGVybWV0dHJlIGQnw6ljcmlyZSB1biBmaWNoaWVyIGluY3LDqW1lbnRhbCBkZSBncmFwaGUgZGUgY29tbWl0IgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExNyBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEyMQorbXNnaWQgIm1heGltdW0gbnVtYmVyIG9mIGNvbW1pdHMgaW4gYSBub24tYmFzZSBzcGxpdCBjb21taXQtZ3JhcGgiCittc2dzdHIgIiIKKyJsZSBub21icmUgbWF4aW11bSBkZSBjb21taXRzIGRhbnMgdW4gZ3JhcGhlIGRlIGNvbW1pdCBkaXZpc8OpIHBhcyBkZSBiYXNlIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExOQorbXNnaWQgIm1heGltdW0gcmF0aW8gYmV0d2VlbiB0d28gbGV2ZWxzIG9mIGEgc3BsaXQgY29tbWl0LWdyYXBoIgorbXNnc3RyICJyYXBwb3J0IG1heGltdW0gZW50cmUgZGV1eCBuaXZlYXV4IGQndW4gZ3JhcGhlIGRlIGNvbW1pdCBkaXZpc8OpIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzNwogbXNnaWQgInVzZSBhdCBtb3N0IG9uZSBvZiAtLXJlYWNoYWJsZSwgLS1zdGRpbi1jb21taXRzLCBvciAtLXN0ZGluLXBhY2tzIgogbXNnc3RyICJ1dGlsaXNleiB1biBzZXVsIHBhcm1pIC0tcmVhY2hhYmxlLCAtLXN0ZGluLWNvbW1pdHMgb3UgLS1zdGRpbi1wYWNrcyIKIApAQCAtMTAzMTYsNyArMTI3MzksNyBAQAogbXNnaWQgImdpdCBjb25maWcgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBjb25maWcgWzxvcHRpb25zPl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTAzCisjOiBidWlsdGluL2NvbmZpZy5jOjEwMyBidWlsdGluL2Vudi0taGVscGVyLmM6MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIC0tdHlwZSBhcmd1bWVudCwgJXMiCiBtc2dzdHIgImFyZ3VtZW50IC0tdHlwZSBub24gcmVjb25udSwgJXMiCkBAIC0xMDQyMiw3ICsxMjg0NSw3IEBACiBtc2dpZCAiVHlwZSIKIG1zZ3N0ciAiVHlwZSIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxNDcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ3IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzozOAogbXNnaWQgInZhbHVlIGlzIGdpdmVuIHRoaXMgdHlwZSIKIG1zZ3N0ciAiY2UgdHlwZSBlc3QgYXNzaWduw6kgw6AgbGEgdmFsZXVyIgogCkBAIC0xMDQ2OCw3ICsxMjg5MSw3IEBACiAiYWZmaWNoZXIgbCdvcmlnaW5lIGRlIGxhIGNvbmZpZ3VyYXRpb24gKGZpY2hpZXIsIGVudHLDqWUgc3RhbmRhcmQsIGJsb2IsICIKICJsaWduZSBkZSBjb21tYW5kZSkiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTU4CisjOiBidWlsdGluL2NvbmZpZy5jOjE1OCBidWlsdGluL2Vudi0taGVscGVyLmM6NDAKIG1zZ2lkICJ2YWx1ZSIKIG1zZ3N0ciAidmFsZXVyIgogCkBAIC0xMDQ3Niw0OCArMTI4OTksNDggQEAKIG1zZ2lkICJ3aXRoIC0tZ2V0LCB1c2UgZGVmYXVsdCB2YWx1ZSB3aGVuIG1pc3NpbmcgZW50cnkiCiBtc2dzdHIgImF2ZWMgLS1nZXQsIHV0aWxpc2VyIGxlIHZhbGV1ciBwYXIgZMOpZmF1dCBxdWFuZCBsJ2VudHLDqWUgbidleGlzdGUgcGFzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE3MQorIzogYnVpbHRpbi9jb25maWcuYzoxNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cywgc2hvdWxkIGJlICVkIgogbXNnc3RyICJtYXV2YWlzIG5vbWJyZSBkJ2FyZ3VtZW50cywgZGV2cmFpdCDDqnRyZSAlZCIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxNzMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMsIHNob3VsZCBiZSBmcm9tICVkIHRvICVkIgogbXNnc3RyICJtYXV2YWlzIG5vbWJyZSBkJ2FyZ3VtZW50cywgZGV2cmFpdCDDqnRyZSBlbnRyZSAlZCBldCAlZCIKIAotIzogYnVpbHRpbi9jb25maWcuYzozMDcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQga2V5IHBhdHRlcm46ICVzIgogbXNnc3RyICJtb3RpZiBkZSBjbMOpIGludmFsaWRlwqA6ICVzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjM0MworIzogYnVpbHRpbi9jb25maWcuYzozNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZvcm1hdCBkZWZhdWx0IGNvbmZpZyB2YWx1ZTogJXMiCiBtc2dzdHIgIsOpY2hlYyBkdSBmb3JtYXRhZ2UgZGUgbGEgdmFsZXVyIGRlIGNvbmZpZyBwYXIgZMOpZmF1dMKgOiAlcyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0MDAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBwYXJzZSBjb2xvciAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGEgY291bGV1ciAnJXMnIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjQ0MgorIzogYnVpbHRpbi9jb25maWcuYzo0NDMKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgZGVmYXVsdCBjb2xvciB2YWx1ZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxhIHZhbGV1ciBkZSBjb3VsZXVyIHBhciBkw6lmYXV0IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjQ5NSBidWlsdGluL2NvbmZpZy5jOjc0MQorIzogYnVpbHRpbi9jb25maWcuYzo0OTYgYnVpbHRpbi9jb25maWcuYzo3NDIKIG1zZ2lkICJub3QgaW4gYSBnaXQgZGlyZWN0b3J5IgogbXNnc3RyICJwYXMgZGFucyB1biByw6lwZXJ0b2lyZSBnaXQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NDk4CisjOiBidWlsdGluL2NvbmZpZy5jOjQ5OQogbXNnaWQgIndyaXRpbmcgdG8gc3RkaW4gaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAibCfDqWNyaXR1cmUgc3VyIHN0ZGluIG4nZXN0IHBhcyBzdXBwb3J0w6llIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjUwMQorIzogYnVpbHRpbi9jb25maWcuYzo1MDIKIG1zZ2lkICJ3cml0aW5nIGNvbmZpZyBibG9icyBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJsJ8OpY3JpdHVyZSBkZSBibG9iIGRlIGNvbmZpZ3VyYXRpb24gbidlc3QgcGFzIHN1cHBvcnTDqWU8IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU4NgorIzogYnVpbHRpbi9jb25maWcuYzo1ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiMgVGhpcyBpcyBHaXQncyBwZXItdXNlciBjb25maWd1cmF0aW9uIGZpbGUuXG4iCkBAIC0xMDUzMiwyMyArMTI5NTUsMjMgQEAKICIjXHRuYW1lID0gJXNcbiIKICIjXHRlbWFpbCA9ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEwCisjOiBidWlsdGluL2NvbmZpZy5jOjYxMQogbXNnaWQgIm9ubHkgb25lIGNvbmZpZyBmaWxlIGF0IGEgdGltZSIKIG1zZ3N0ciAidW4gc2V1bCBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24gw6AgbGEgZm9pcyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjE2CiBtc2dpZCAiLS1sb2NhbCBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICItLWxvY2FsIG5lIHBldXQgw6p0cmUgdXRpbGlzw6kgcXUnw6AgbCdpbnTDqXJpZXVyIGQndW4gZMOpcMO0dCBnaXQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjE4CisjOiBidWlsdGluL2NvbmZpZy5jOjYxOQogbXNnaWQgIi0tYmxvYiBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICItLWJsb2IgbmUgcGV1dCDDqnRyZSB1dGlsaXPDqSBxdSfDoCBsJ2ludMOpcmlldXIgZCd1biBkw6lww7R0IGdpdCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MzcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjM4CiBtc2dpZCAiJEhPTUUgbm90IHNldCIKIG1zZ3N0ciAiJEhPTUUgbidlc3QgcGFzIGTDqWZpbmkiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjU3CisjOiBidWlsdGluL2NvbmZpZy5jOjY1OAogbXNnaWQgIiIKICItLXdvcmt0cmVlIGNhbm5vdCBiZSB1c2VkIHdpdGggbXVsdGlwbGUgd29ya2luZyB0cmVlcyB1bmxlc3MgdGhlIGNvbmZpZ1xuIgogImV4dGVuc2lvbiB3b3JrdHJlZUNvbmZpZyBpcyBlbmFibGVkLiBQbGVhc2UgcmVhZCBcIkNPTkZJR1VSQVRJT04gRklMRVwiXG4iCkBAIC0xMDU1OSwxOSArMTI5ODIsMTkgQEAKICJsYSBzZWN0aW9uIFwiQ09ORklHVVJBVElPTiBGSUxFXCIgZGUgXCJnaXQgaGVscCB3b3JrdHJlZVwiIHBvdXIgcGx1cyBkZSAiCiAiZMOpdGFpbHMiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6Njg3CisjOiBidWlsdGluL2NvbmZpZy5jOjY4OAogbXNnaWQgIi0tZ2V0LWNvbG9yIGFuZCB2YXJpYWJsZSB0eXBlIGFyZSBpbmNvaGVyZW50IgogbXNnc3RyICItLWdldC1jb2xvciBldCBsZSB0eXBlIGRlIGxhIHZhcmlhYmxlIHNvbnQgaW5jb2jDqXJlbnRzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY5MgorIzogYnVpbHRpbi9jb25maWcuYzo2OTMKIG1zZ2lkICJvbmx5IG9uZSBhY3Rpb24gYXQgYSB0aW1lIgogbXNnc3RyICJ1bmUgc2V1bGUgYWN0aW9uIMOgIGxhIGZvaXMiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzA1CisjOiBidWlsdGluL2NvbmZpZy5jOjcwNgogbXNnaWQgIi0tbmFtZS1vbmx5IGlzIG9ubHkgYXBwbGljYWJsZSB0byAtLWxpc3Qgb3IgLS1nZXQtcmVnZXhwIgogbXNnc3RyICItLW5hbWUtb25seSBuJ2VzdCBhcHBsaWNhYmxlIHF1J2F2ZWMgLS1saXN0IG91IC0tZ2V0LXJlZ2V4cCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MTEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzEyCiBtc2dpZCAiIgogIi0tc2hvdy1vcmlnaW4gaXMgb25seSBhcHBsaWNhYmxlIHRvIC0tZ2V0LCAtLWdldC1hbGwsIC0tZ2V0LXJlZ2V4cCwgYW5kIC0tIgogImxpc3QiCkBAIC0xMDU3OSwzMyArMTMwMDIsMzMgQEAKICItLXNob3ctb3JpZ2luIG4nZXN0IGFwcGxpY2FibGUgcXUnYXZlYyAtLWdldCwgLS1nZXQtYWxsLCAtLWdldC1yZWdleHAgb3UgLS0iCiAibGlzdCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MTcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzE4CiBtc2dpZCAiLS1kZWZhdWx0IGlzIG9ubHkgYXBwbGljYWJsZSB0byAtLWdldCIKIG1zZ3N0ciAiLS1kZWZhdWx0IG4nZXN0IGFwcGxpY2FibGUgcXUnYXZlYyAtLWdldCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MzAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIGNvbmZpZyBmaWxlICclcyciCiBtc2dzdHIgImxlY3R1cmUgZHUgZmljaGllciBkZSBjb25maWd1cmF0aW9uICclcycgaW1wb3NzaWJsZSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MzMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzM0CiBtc2dpZCAiZXJyb3IgcHJvY2Vzc2luZyBjb25maWcgZmlsZShzKSIKIG1zZ3N0ciAiZXJyZXVyIGxvcnMgZHUgdHJhaXRlbWVudCBkZSBmaWNoaWVyKHMpIGRlIGNvbmZpZ3VyYXRpb24iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzQzCisjOiBidWlsdGluL2NvbmZpZy5jOjc0NAogbXNnaWQgImVkaXRpbmcgc3RkaW4gaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAibCfDqWRpdGlvbiBkZSBzdGRpbiBuJ2VzdCBwYXMgc3VwcG9ydMOpZSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NDUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQ2CiBtc2dpZCAiZWRpdGluZyBibG9icyBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJsJ8OpZGl0aW9uIGRlIGJsb2JzIG4nZXN0IHBhcyBzdXBwb3J0w6llIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc1OQorIzogYnVpbHRpbi9jb25maWcuYzo3NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBjb25maWd1cmF0aW9uIGZpbGUgJXMiCiBtc2dzdHIgImNyw6lhdGlvbiBpbXBvc3NpYmxlIGR1IGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiAnJXMnIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc3MgorIzogYnVpbHRpbi9jb25maWcuYzo3NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNhbm5vdCBvdmVyd3JpdGUgbXVsdGlwbGUgdmFsdWVzIHdpdGggYSBzaW5nbGUgdmFsdWVcbiIKQEAgLTEwNjE0LDcgKzEzMDM3LDcgQEAKICJpbXBvc3NpYmxlIGRlIHN1cmNoYXJnZXIgZGVzIHZhbGV1cnMgbXVsdGlwbGVzIGF2ZWMgdW5lIHNldWxlIHZhbGV1clxuIgogIiAgICAgICBVdGlsaXNleiB1bmUgcmVnZXhwLCAtLWFkZCBvdSAtLXJlcGxhY2UtYWxsIHBvdXIgbW9kaWZpZXIgJXMuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjg0NiBidWlsdGluL2NvbmZpZy5jOjg1NworIzogYnVpbHRpbi9jb25maWcuYzo4NDcgYnVpbHRpbi9jb25maWcuYzo4NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBzZWN0aW9uOiAlcyIKIG1zZ3N0ciAic2VjdGlvbiBpbmV4aXN0YW50ZcKgOiAlcyIKQEAgLTEwNjQ3LDM5ICsxMzA3MCwzOSBAQAogbXNnaWQgImFubm90YXRlZCIKIG1zZ3N0ciAiYW5ub3TDqSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIG5vdCBhdmFpbGFibGUiCiBtc2dzdHIgImwnw6l0aXF1ZXR0ZSBhbm5vdMOpZSAlcyBuJ2VzdCBwYXMgZGlzcG9uaWJsZSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIGhhcyBubyBlbWJlZGRlZCBuYW1lIgogbXNnc3RyICJsJ8OpdGlxdWV0dGUgYW5ub3TDqWUgJXMgbidhIHBhcyBkZSBub20gZW1iYXJxdcOpIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGlzIHJlYWxseSAnJXMnIGhlcmUiCiBtc2dzdHIgImwnw6l0aXF1ZXR0ZSAnJXMnIGVzdCBlbiBmYWl0ICclcyciCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMjIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdGFnIGV4YWN0bHkgbWF0Y2hlcyAnJXMnIgogbXNnc3RyICJhdWN1bmUgw6l0aXF1ZXR0ZSBuZSBjb3JyZXNwb25kIHBhcmZhaXRlbWVudCDDoCAnJXMnIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGV4YWN0IG1hdGNoIG9uIHJlZnMgb3IgdGFncywgc2VhcmNoaW5nIHRvIGRlc2NyaWJlXG4iCiBtc2dzdHIgIiIKICJQYXMgZGUgY29ycmVzcG9uZGFuY2UgZXhhY3RlIHN1ciBkZXMgcsOpZnMgb3UgZGVzIMOpdGlxdWV0dGVzLCByZWNoZXJjaGUgcGFyICIKICJkZXNjcmliZVxuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzc4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbmlzaGVkIHNlYXJjaCBhdCAlc1xuIgogbXNnc3RyICJyZWNoZXJjaGUgdGVybWluw6llIMOgICVzXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIGFubm90YXRlZCB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgpAQCAtMTA2ODgsNyArMTMxMTEsNyBAQAogIkF1Y3VuZSDDqXRpcXVldHRlIGFubm90w6llIG5lIHBldXQgZMOpY3JpcmUgJyVzJy5cbiIKICJDZXBlbmRhbnQsIGlsIGV4aXN0ZSBkZXMgw6l0aXF1ZXR0ZXMgbm9uLWFubm90w6llcyA6IGVzc2F5ZXogYXZlYyAtLXRhZ3MuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgpAQCAtMTA2OTcsMTIgKzEzMTIwLDEyIEBACiAiQXVjdW5lIMOpdGlxdWV0dGUgbmUgcGV1dCBkw6ljcmlyZSAnJXMnLlxuIgogIkVzc2F5ZXogLS1hbHdheXMsIG91IGNyw6lleiBkZXMgw6l0aXF1ZXR0ZXMuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDM4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXZlcnNlZCAlbHUgY29tbWl0c1xuIgogbXNnc3RyICIlbHUgY29tbWl0cyBwYXJjb3VydXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0MQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibW9yZSB0aGFuICVpIHRhZ3MgZm91bmQ7IGxpc3RlZCAlaSBtb3N0IHJlY2VudFxuIgpAQCAtMTA3MTIsMTIwICsxMzEzNSwxMjAgQEAKICJhZmZpY2jDqWVzXG4iCiAiYWJhbmRvbiBkZSBsYSByZWNoZXJjaGUgw6AgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUwOQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXNjcmliZSAlc1xuIgogbXNnc3RyICJkw6ljcmlyZSAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTEyIGJ1aWx0aW4vbG9nLmM6NTEzCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICIlcyBuJ2VzdCBwYXMgdW4gbm9tIGQnb2JqZXQgdmFsaWRlIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTIwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG5laXRoZXIgYSBjb21taXQgbm9yIGJsb2IiCiBtc2dzdHIgIiVzIG4nZXN0IG5pIHVuIGNvbW1pdCBuaSB1biBibG9iIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM3CiBtc2dpZCAiZmluZCB0aGUgdGFnIHRoYXQgY29tZXMgYWZ0ZXIgdGhlIGNvbW1pdCIKIG1zZ3N0ciAicmVjaGVyY2hlciBsJ8OpdGlxdWV0dGUgcXVpIHN1aXQgbGUgY29tbWl0IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM1CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM4CiBtc2dpZCAiZGVidWcgc2VhcmNoIHN0cmF0ZWd5IG9uIHN0ZGVyciIKIG1zZ3N0ciAiZMOpYm9ndWVyIGxhIHN0cmF0w6lnaWUgZGUgcmVjaGVyY2hlIHN1ciBzdGRlcnIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzkKIG1zZ2lkICJ1c2UgYW55IHJlZiIKIG1zZ3N0ciAidXRpbGlzZXIgbidpbXBvcnRlIHF1ZWxsZSByw6lmw6lyZW5jZSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzNworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MAogbXNnaWQgInVzZSBhbnkgdGFnLCBldmVuIHVuYW5ub3RhdGVkIgogbXNnc3RyICJ1dGlsaXNlciBuJ2ltcG9ydGUgcXVlbGxlIMOpdGlxdWV0dGUsIG3Dqm1lIG5vbi1hbm5vdMOpZSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzOAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MQogbXNnaWQgImFsd2F5cyB1c2UgbG9uZyBmb3JtYXQiCiBtc2dzdHIgInRvdWpvdXJzIHV0aWxpc2VyIGxlIGZvcm1hdCBsb25nIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQyCiBtc2dpZCAib25seSBmb2xsb3cgZmlyc3QgcGFyZW50IgogbXNnc3RyICJuZSBzdWl2cmUgcXVlIGxlIHByZW1pZXIgcGFyZW50IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ1CiBtc2dpZCAib25seSBvdXRwdXQgZXhhY3QgbWF0Y2hlcyIKIG1zZ3N0ciAibidhZmZpY2hlciBxdWUgbGVzIGNvcnJlc3BvbmRhbmNlcyBleGFjdGVzIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ3CiBtc2dpZCAiY29uc2lkZXIgPG4+IG1vc3QgcmVjZW50IHRhZ3MgKGRlZmF1bHQ6IDEwKSIKIG1zZ3N0ciAiIgogImNvbnNpZMOpcmVyIHVuaXF1ZW1lbnQgbGVzIDxuPiDDqXRpcXVldHRlcyBsZSBwbHVzIHLDqWNlbnRlcyAoZMOpZmF1dCA6IDEwKSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0OQogbXNnaWQgIm9ubHkgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgIm5lIGNvbnNpZMOpcmVyIHF1ZSBsZXMgw6l0aXF1ZXR0ZXMgY29ycmVzcG9uZGFudCDDoCA8bW90aWY+IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUxCiBtc2dpZCAiZG8gbm90IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJuZSBwYXMgY29uc2lkw6lyZXIgbGVzIMOpdGlxdWV0dGVzIGNvcnJlc3BvbmRhbnQgw6AgPG1vdGlmPiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MCBidWlsdGluL25hbWUtcmV2LmM6NDI0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUzIGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzMKIG1zZ2lkICJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siCiBtc2dzdHIgImFmZmljaGVyIGxlcyBvYmpldHMgY29tbWl0cyBhYnLDqWfDqXMgZW4gZGVybmllciByZWNvdXJzIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUxIGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTQgYnVpbHRpbi9kZXNjcmliZS5jOjU1NwogbXNnaWQgIm1hcmsiCiBtc2dzdHIgIm1hcnF1ZSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1NQogbXNnaWQgImFwcGVuZCA8bWFyaz4gb24gZGlydHkgd29ya2luZyB0cmVlIChkZWZhdWx0OiBcIi1kaXJ0eVwiKSIKIG1zZ3N0ciAiYWpvdXRlciA8bWFycXVlPiBzaSBsYSBjb3BpZSBkZSB0cmF2YWlsIGVzdCBzYWxlIChkw6lmYXV0IDogXCItZGlydHlcIikiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTUKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTgKIG1zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGJyb2tlbiB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWJyb2tlblwiKSIKIG1zZ3N0ciAiIgogImFqb3V0ZXIgPG1hcnF1ZT4gc2kgbGEgY29waWUgZGUgdHJhdmFpbCBlc3QgY2Fzc8OpZSAoZMOpZmF1dCA6IFwiLWJyb2tlblwiKSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU3MworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU3NgogbXNnaWQgIi0tbG9uZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFiYnJldj0wIgogbXNnc3RyICItLWxvbmcgZXQgLS1hYmJyZXY9MCBzb250IGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2MDIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2MDUKIG1zZ2lkICJObyBuYW1lcyBmb3VuZCwgY2Fubm90IGRlc2NyaWJlIGFueXRoaW5nLiIKIG1zZ3N0ciAiYXVjdW4gbm9tIHRyb3V2w6ksIGltcG9zc2libGUgZGUgZMOpY3JpcmUgcXVvaSBxdWUgY2Ugc29pdC4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTYKIG1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiLS1kaXJ0eSBlc3QgaW5jb21wYXRpYmxlIGF2ZWMgbGEgc3DDqWNpZmljYXRpb24gZGUgY29tbWl0cyBvdSBhc3NpbWlsw6lzIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NjU0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NjU4CiBtc2dpZCAiLS1icm9rZW4gaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgogbXNnc3RyICItLWJyb2tlbiBlc3QgaW5jb21wYXRpYmxlIGF2ZWMgbGVzIGNvbW1pdHMgb3UgYXNzaW1pbMOpcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6ODMKKyM6IGJ1aWx0aW4vZGlmZi5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IG5vdCBhIHJlZ3VsYXIgZmlsZSBvciBzeW1saW5rIgogbXNnc3RyICInJXMnIDogbidlc3QgcGFzIHVuIGZpY2hpZXIgcsOpZ3VsaWVyIG5pIHVuIGxpZW4gc3ltYm9saXF1ZSIKIAotIzogYnVpbHRpbi9kaWZmLmM6MjM0CisjOiBidWlsdGluL2RpZmYuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvcHRpb246ICVzIgogbXNnc3RyICJvcHRpb24gaW52YWxpZGUgOiAlcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzYzCisjOiBidWlsdGluL2RpZmYuYzozNTAKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiQ2Ugbidlc3QgcGFzIHVuIGTDqXDDtHQgZ2l0ICEiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQwNworIzogYnVpbHRpbi9kaWZmLmM6Mzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICJvYmpldCBzcMOpY2lmacOpICclcycgaW52YWxpZGUuIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MTYKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gdHdvIGJsb2JzIGdpdmVuOiAnJXMnIgogbXNnc3RyICJwbHVzIGRlIGRldXggYmxvYnMgc3DDqWNpZmnDqXMgOiAnJXMnIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MjEKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmhhbmRsZWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICJvYmpldCBub24gZ8OpcsOpICclcycgc3DDqWNpZmnDqS4iCkBAIC0xMDg2Miw1MyArMTMyODUsNTMgQEAKICJsZXMgZm9ybWF0cyBkZSBkaWZmIGNvbWJpbsOpcyAoJy1jJyBldCAnLS1jYycpIG5lIHNvbnQgcGFzIHN1cHBvcnTDqXNcbiIKICJkYW5zIGxlIG1vZGUgZGUgZGlmZiBkZSByw6lwZXJ0b2lyZSAoJy1kJyBldCAnLS1kaXItZGlmZicpLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzMworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJib3RoIGZpbGVzIG1vZGlmaWVkOiAnJXMnIGFuZCAnJXMnLiIKIG1zZ3N0ciAibGVzIGRldXggZmljaGllcnMgc29udCBtb2RpZmnDqXPCoDogJyVzJyBldCAnJXMnLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNgogbXNnaWQgIndvcmtpbmcgdHJlZSBmaWxlIGhhcyBiZWVuIGxlZnQuIgogbXNnc3RyICJsZSBmaWNoaWVyIGRhbnMgbCdhcmJyZSBkZSB0cmF2YWlsIGEgw6l0w6kgbGFpc3PDqS4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidGVtcG9yYXJ5IGZpbGVzIGV4aXN0IGluICclcycuIgogbXNnc3RyICJkZXMgZmljaGllcnMgdGVtcG9yYWlyZXMgZXhpc3RlbnQgZGFucyAnJXMnLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0NworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0OAogbXNnaWQgInlvdSBtYXkgd2FudCB0byBjbGVhbnVwIG9yIHJlY292ZXIgdGhlc2UuIgogbXNnc3RyICJ2b3VzIHBvdXJyaWV6IHNvdWhhaXRlciBsZXMgbmV0dG95ZXIgb3UgbGVzIHLDqWN1cMOpcmVyLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5NgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5NwogbXNnaWQgInVzZSBgZGlmZi5ndWl0b29sYCBpbnN0ZWFkIG9mIGBkaWZmLnRvb2xgIgogbXNnc3RyICJ1dGlsaXNlciBgZGlmZi5ndWl0b29sYCBhdSBsaWV1IGRlIGBkaWZmLnRvb2xgIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6Njk4CisjOiBidWlsdGluL2RpZmZ0b29sLmM6Njk5CiBtc2dpZCAicGVyZm9ybSBhIGZ1bGwtZGlyZWN0b3J5IGRpZmYiCiBtc2dzdHIgInLDqWFsaXNlIHVuIGRpZmYgZGUgcsOpcGVydG9pcmUgY29tcGxldCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMQogbXNnaWQgImRvIG5vdCBwcm9tcHQgYmVmb3JlIGxhdW5jaGluZyBhIGRpZmYgdG9vbCIKIG1zZ3N0ciAibmUgcGFzIGNvbmZpcm1lciBhdmFudCBkZSBsYW5jZXIgbCdvdXRpbCBkZSBkaWZmIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzA1CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA2CiBtc2dpZCAidXNlIHN5bWxpbmtzIGluIGRpci1kaWZmIG1vZGUiCiBtc2dzdHIgInV0aWxpc2VyIGxlcyBsaWVucyBzeW1ib2xpcXVlcyBlbiBtb2RlIGRlIGRpZmYgZGUgcsOpcGVydG9pcmUiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDcKIG1zZ2lkICJ0b29sIgogbXNnc3RyICJvdXRpbCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwOAogbXNnaWQgInVzZSB0aGUgc3BlY2lmaWVkIGRpZmYgdG9vbCIKIG1zZ3N0ciAidXRpbGlzZXIgbCdvdXRpbCBkZSBkaWZmIHNww6ljaWZpw6kiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDkKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTAKIG1zZ2lkICJwcmludCBhIGxpc3Qgb2YgZGlmZiB0b29scyB0aGF0IG1heSBiZSB1c2VkIHdpdGggYC0tdG9vbGAiCiBtc2dzdHIgImFmZmljaGVyIHVuZSBsaXN0ZSBkZXMgb3V0aWxzIGRlIGRpZmYgdXRpbGlzYWJsZXMgYXZlYyBgLS10b29sYCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMwogbXNnaWQgIiIKICJtYWtlICdnaXQtZGlmZnRvb2wnIGV4aXQgd2hlbiBhbiBpbnZva2VkIGRpZmYgdG9vbCByZXR1cm5zIGEgbm9uIC0gemVybyBleGl0ICIKICJjb2RlIgpAQCAtMTA5MTYsMTY0ICsxMzMzOSwyNTYgQEAKICJwcm92b3F1ZSBsYSBmaW4gZGUgJ2dpdC1kaWZmdG9vbCcgc2kgbCdvdXRpbCBkZSBkaWZmIGludm9xdcOpIHJlbnZvaWUgdW4gY29kZSAiCiAibm9uLW51bCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxNQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxNgogbXNnaWQgInNwZWNpZnkgYSBjdXN0b20gY29tbWFuZCBmb3Igdmlld2luZyBkaWZmcyIKIG1zZ3N0ciAic3DDqWNpZmllciB1bmUgY29tbWFuZGUgcGVyc29ubmFsaXPDqWUgcG91ciB2aXN1YWxpc2VyIGxlcyBkaWZmw6lyZW5jZXMiCiAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTcKK21zZ2lkICJwYXNzZWQgdG8gYGRpZmZgIgorbXNnc3RyICJwYXNzw6kgw6AgYGRpZmZgIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzMyCittc2dpZCAiZGlmZnRvb2wgcmVxdWlyZXMgd29ya3RyZWUgb3IgLS1uby1pbmRleCIKK21zZ3N0ciAiZGlmZnRvb2wgZXhpZ2UgdW4gYXJicmUgZGUgdHJhdmFpbCBvdSAtLW5vLWluZGV4IgorCiAjOiBidWlsdGluL2RpZmZ0b29sLmM6NzM5Cittc2dpZCAiLS1kaXItZGlmZiBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW5vLWluZGV4IgorbXNnc3RyICItLWRpci1kaWZmIGVzdCBpbmNvbXBhdGlibGUgYXZlYyAtLW5vLWluZGV4IgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzQyCittc2dpZCAiLS1ndWksIC0tdG9vbCBhbmQgLS1leHRjbWQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1ndWksIC0tdG9vbCBldCAtLWV4dGNtZCBzb250IG11dHVlbGxlbWVudCBleGNsdXNpZnMiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3NTAKIG1zZ2lkICJubyA8dG9vbD4gZ2l2ZW4gZm9yIC0tdG9vbD08dG9vbD4iCiBtc2dzdHIgInBhcyBkJzxvdXRpbD4gc3DDqWNpZmnDqSBwb3VyIC0tdG9vbD08b3V0aWw+IgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzQ2CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzU3CiBtc2dpZCAibm8gPGNtZD4gZ2l2ZW4gZm9yIC0tZXh0Y21kPTxjbWQ+IgogbXNnc3RyICJwYXMgZGUgPGNvbW1hbmRlPiBzcMOpY2lmacOpIHBvdXIgLS1leHRjbWQ9PGNvbW1hbmRlPiIKIAorIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjYKK21zZ2lkICJnaXQgZW52LS1oZWxwZXIgLS10eXBlPVtib29sfHVsb25nXSA8b3B0aW9ucz4gPGVudi12YXI+IgorbXNnc3RyICJnaXQgZW52LS1oZWxwZXIgLS10eXBlPVtib29sfHVsb25nXSA8b3B0aW9ucz4gPHZhciBkJ2Vudj4iCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzozNyBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKK21zZ2lkICJ0eXBlIgorbXNnc3RyICJ0eXBlIgorCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6NDEKK21zZ2lkICJkZWZhdWx0IGZvciBnaXRfZW52XyooLi4uKSB0byBmYWxsIGJhY2sgb24iCittc2dzdHIgInZhbGV1ciBwYXIgZMOpZmF1dCBwb3VyIGdpdF9lbnZfKiguLi4pIGVuIGNhcyBkJ2Fic2VuY2UiCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo0MworbXNnaWQgImJlIHF1aWV0IG9ubHkgdXNlIGdpdF9lbnZfKigpIHZhbHVlIGFzIGV4aXQgY29kZSIKK21zZ3N0ciAiIgorIm1vZGUgc2lsZW5jaWV1eCBuJ3V0aWxpc2FudCBsYSB2YWxldXIgZGUgZ2l0X2Vudl8qKCkgcXVlIHBvdXIgbGUgY29kZSBkZSAiCisic29ydGllIgorCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAtLWRlZmF1bHQnIGV4cGVjdHMgYSBib29sZWFuIHZhbHVlIHdpdGggYC0tdHlwZT1ib29sYCwgbm90IGAlc2AiCittc2dzdHIgIiIKKyJsJ29wdGlvbiBgLS1kZWZhdWx0YCBhdHRlbmQgdW5lIHZhbGV1ciBib29sw6llbm5lIGF2ZWMgYC0tdHlwZT1ib29sYCwgcGFzIGAlc2AiCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisib3B0aW9uIGAtLWRlZmF1bHQnIGV4cGVjdHMgYW4gdW5zaWduZWQgbG9uZyB2YWx1ZSB3aXRoIGAtLXR5cGU9dWxvbmdgLCBub3QgYCIKKyIlc2AiCittc2dzdHIgIiIKKyJsJ29wdGlvbiBgLS1kZWZhdWx0YCBhdHRlbmQgdW5lIHZhbGV1ciBlbnRpZXIgbG9uZyBub24gc2lnbsOpIGF2ZWMgYC0tIgorInR5cGU9dWxvbmdgLCBwYXMgYCVzYCIKKwogIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjI5CiBtc2dpZCAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1vcHRzXSIKIG1zZ3N0ciAiZ2l0IGZhc3QtZXhwb3J0IFtvcHRpb25zLWRlLWxpc3RlLWRlLXLDqXZpc2lvbnNdIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwNgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjg1MgorbXNnaWQgIkVycm9yOiBDYW5ub3QgZXhwb3J0IG5lc3RlZCB0YWdzIHVubGVzcyAtLW1hcmstdGFncyBpcyBzcGVjaWZpZWQuIgorbXNnc3RyICIiCisiRXJyZXVywqA6IGltcG9zc2libGUgZCdleHBvcnRlciBkZXMgw6l0aXF1ZXR0ZXMgaW1icmlxdcOpZXMgw6AgbW9pbnMgcXVlIC0tbWFyay0iCisidGFncyBuZSBzb2l0IHNww6ljaWZpw6kuIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1MgogbXNnaWQgInNob3cgcHJvZ3Jlc3MgYWZ0ZXIgPG4+IG9iamVjdHMiCiBtc2dzdHIgImFmZmljaGVyIGxhIHByb2dyZXNzaW9uIGFwcsOocyA8bj4gb2JqZXRzIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwOAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTQKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2Ygc2lnbmVkIHRhZ3MiCiBtc2dzdHIgInPDqWxlY3Rpb25uZXIgbGEgZ2VzdGlvbiBkZXMgw6l0aXF1ZXR0ZXMgc2lnbsOpZXMiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDExCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1NwogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiB0YWdzIHRoYXQgdGFnIGZpbHRlcmVkIG9iamVjdHMiCiBtc2dzdHIgIiIKICJzw6lsZWN0aW9ubmVyIGxhIGdlc3Rpb24gZGVzIMOpdGlxdWV0dGVzIHF1aSBwb2ludGVudCBzdXIgZGVzIG9iamV0cyBmaWx0csOpcyIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTQKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTYwCittc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIGNvbW1pdCBtZXNzYWdlcyBpbiBhbiBhbHRlcm5hdGUgZW5jb2RpbmciCittc2dzdHIgIiIKKyJzw6lsZWN0aW9ubmVyIGxhIGdlc3Rpb24gZGVzIG1lc3NhZ2VzIGRlIHZhbGlkYXRpb24gZGFucyB1biBlbmNvZGFnZSAiCisiYWx0ZXJuYXRpZiIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjMKIG1zZ2lkICJEdW1wIG1hcmtzIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAiRW5yZWdpc3RyZXIgbGVzIG1hcnF1ZXMgZGFucyBjZSBmaWNoaWVyIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxNgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjUKIG1zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUiCiBtc2dzdHIgImltcG9ydGVyIGxlcyBtYXJxdWVzIGRlcHVpcyBjZSBmaWNoaWVyIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxOAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjkKK21zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUgaWYgaXQgZXhpc3RzIgorbXNnc3RyICJpbXBvcnRlciBsZXMgbWFycXVlcyBkZXB1aXMgY2UgZmljaGllciBzJ2lsIGV4aXN0ZSIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzEKIG1zZ2lkICJGYWtlIGEgdGFnZ2VyIHdoZW4gdGFncyBsYWNrIG9uZSIKIG1zZ3N0ciAiZmFsc2lmaWVyIHVuIGF1dGV1ciBkJ8OpdGlxdWV0dGUgc2kgbCfDqXRpcXVldHRlIG4nZW4gcHLDqXNlbnRlIHBhcyIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMjAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTczCiBtc2dpZCAiT3V0cHV0IGZ1bGwgdHJlZSBmb3IgZWFjaCBjb21taXQiCiBtc2dzdHIgIkFmZmljaGVyIGwnYXJicmUgY29tcGxldCBwb3VyIGNoYXF1ZSBjb21taXQiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDIyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3NQogbXNnaWQgIlVzZSB0aGUgZG9uZSBmZWF0dXJlIHRvIHRlcm1pbmF0ZSB0aGUgc3RyZWFtIgogbXNnc3RyICJVdGlsaXNlciBsYSBmb25jdGlvbiBcImRvbmVcIiBwb3VyIHRlcm1pbmVyIGxlIGZsdXgiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDIzCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3NgogbXNnaWQgIlNraXAgb3V0cHV0IG9mIGJsb2IgZGF0YSIKIG1zZ3N0ciAiU2F1dGVyIGwnYWZmaWNoYWdlIGRlIGRvbm7DqWVzIGRlIGJsb2IiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDI0IGJ1aWx0aW4vbG9nLmM6MTU4OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzcgYnVpbHRpbi9sb2cuYzoxNzA1CiBtc2dpZCAicmVmc3BlYyIKIG1zZ3N0ciAic3DDqWNpZmljYXRldXIgZGUgcsOpZsOpcmVuY2UiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDI1CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3OAogbXNnaWQgIkFwcGx5IHJlZnNwZWMgdG8gZXhwb3J0ZWQgcmVmcyIKIG1zZ3N0ciAiQXBwbGlxdWVyIGxlIHNww6ljaWZpY2F0ZXVyIGRlIHLDqWbDqXJlbmNlIGF1eCByw6lmw6lyZW5jZXMgZXhwb3J0w6llcyIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMjYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTc5CiBtc2dpZCAiYW5vbnltaXplIG91dHB1dCIKIG1zZ3N0ciAiYW5vbnltaXNlIGxhIHNvcnRpZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE4MQorbXNnaWQgIlJlZmVyZW5jZSBwYXJlbnRzIHdoaWNoIGFyZSBub3QgaW4gZmFzdC1leHBvcnQgc3RyZWFtIGJ5IG9iamVjdCBpZCIKK21zZ3N0ciAiIgorImxlcyBwYXJlbnRzIHLDqWbDqXJlbmNlcyBxdWkgbmUgc29udCBwYXMgZGFucyBsZSBmbHV4IGQnZXhwb3J0IHJhcGlkZSBwYXIgaWQgIgorImQnb2JqZXQiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTgzCittc2dpZCAiU2hvdyBvcmlnaW5hbCBvYmplY3QgaWRzIG9mIGJsb2JzL2NvbW1pdHMiCittc2dzdHIgIkFmZmljaGVyIGxlcyBpZHMgZCdvYmpldCBvcmlnaW5hdXggZGVzIGJsb2JzL2NvbW1pdHMiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTg1Cittc2dpZCAiTGFiZWwgdGFncyB3aXRoIG1hcmsgaWRzIgorbXNnc3RyICJNYXJxdWVyIGxlcyDDqXRpcXVldHRlcyBhdmVjIGRlcyBpZHMgZGUgbWFycXVlIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTIyMAorbXNnaWQgIkNhbm5vdCBwYXNzIGJvdGggLS1pbXBvcnQtbWFya3MgYW5kIC0taW1wb3J0LW1hcmtzLWlmLWV4aXN0cyIKK21zZ3N0ciAiIgorIkltcG9zc2libGUgZCd1dGlsaXNlciDDoCBsYSBmb2lzIC0taW1wb3J0LW1hcmtzIGV0IC0taW1wb3J0LW1hcmtzLWlmLWV4aXN0cyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjM0CiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gWzxkw6lww7R0PiBbPHNww6ljaWZpY2F0aW9uLWRlLXLDqWbDqXJlbmNlPi4uLl1dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNQogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSA8Z3JvdXA+IgogbXNnc3RyICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gPGdyb3VwZT4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMAorIzogYnVpbHRpbi9mZXRjaC5jOjM2CiBtc2dpZCAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzxvcHRpb25zPl0gWyg8cmVwb3NpdG9yeT4gfCA8Z3JvdXA+KS4uLl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPGTDqXDDtHQ+IHwgPGdyb3VwZT4pLi4uXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMxCisjOiBidWlsdGluL2ZldGNoLmM6MzcKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPG9wdGlvbnM+XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNSBidWlsdGluL3B1bGwuYzoxOTQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYKK21zZ2lkICJmZXRjaC5wYXJhbGxlbCBjYW5ub3QgYmUgbmVnYXRpdmUiCittc2dzdHIgImZldGNoLnBhcmFsbGVsIG5lIHBldXQgcGFzIMOqdHJlIG7DqWdhdGlmIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTM5IGJ1aWx0aW4vcHVsbC5jOjIwNAogbXNnaWQgImZldGNoIGZyb20gYWxsIHJlbW90ZXMiCiBtc2dzdHIgInLDqWN1cMOpcmVyIGRlcHVpcyB0b3VzIGxlcyBkw6lww7R0cyBkaXN0YW50cyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNyBidWlsdGluL3B1bGwuYzoxOTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDEgYnVpbHRpbi9wdWxsLmM6MjQ4Cittc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9mZXRjaCIKK21zZ3N0ciAiZMOpZmluaXIgbGEgYnJhbmNoZSBhbW9udCBwb3VyIGdpdCBwdWxsL2ZldGNoIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQzIGJ1aWx0aW4vcHVsbC5jOjIwNwogbXNnaWQgImFwcGVuZCB0byAuZ2l0L0ZFVENIX0hFQUQgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyIKIG1zZ3N0ciAiYWpvdXRlciDDoCAuZ2l0L0ZFVENIX0hFQUQgYXUgbGlldSBkZSBsJ8OpY3Jhc2VyIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE5IGJ1aWx0aW4vcHVsbC5jOjIwMAorIzogYnVpbHRpbi9mZXRjaC5jOjE0NSBidWlsdGluL3B1bGwuYzoyMTAKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgImNoZW1pbiB2ZXJzIGxlcXVlbCB0w6lsw6ljaGFyZ2VyIGxlIHBhcXVldCBzdXIgbGUgcG9zdGUgZGlzdGFudCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMAorIzogYnVpbHRpbi9mZXRjaC5jOjE0NgogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCByZWZlcmVuY2UiCiBtc2dzdHIgImZvcmNlciBsJ8OpY3Jhc2VtZW50IGRlIGxhIGJyYW5jaGUgbG9jYWxlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIyCisjOiBidWlsdGluL2ZldGNoLmM6MTQ4CiBtc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgogbXNnc3RyICJyw6ljdXDDqXJlciBkZXB1aXMgcGx1c2lldXJzIGTDqXDDtHRzIGRpc3RhbnRzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI0IGJ1aWx0aW4vcHVsbC5jOjIwNAorIzogYnVpbHRpbi9mZXRjaC5jOjE1MCBidWlsdGluL3B1bGwuYzoyMTQKIG1zZ2lkICJmZXRjaCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIgogbXNnc3RyICJyw6ljdXDDqXJlciB0b3V0ZXMgbGVzIMOpdGlxdWV0dGVzIGV0IGxldXJzIG9iamV0cyBhc3NvY2nDqXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTIKIG1zZ2lkICJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiCiBtc2dzdHIgIm5lIHBhcyByw6ljdXDDqXJlciB0b3V0ZXMgbGVzIMOpdGlxdWV0dGVzICgtLW5vLXRhZ3MpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI4CisjOiBidWlsdGluL2ZldGNoLmM6MTU0CiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgZmV0Y2hlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAibm9tYnJlIGRlIHNvdXMtbW9kdWxlcyByw6ljdXDDqXLDqXMgZW4gcGFyYWxsw6hsZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMCBidWlsdGluL3B1bGwuYzoyMDcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTYgYnVpbHRpbi9wdWxsLmM6MjE3CiBtc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCiBtc2dzdHIgIiIKICLDqWxpbWluZXIgbGVzIGJyYW5jaGVzIGRlIHN1aXZpIGRpc3RhbnQgc2kgbGEgYnJhbmNoZSBuJ2V4aXN0ZSBwbHVzIGRhbnMgbGUgIgogImTDqXDDtHQgZGlzdGFudCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMgorIzogYnVpbHRpbi9mZXRjaC5jOjE1OAogbXNnaWQgInBydW5lIGxvY2FsIHRhZ3Mgbm8gbG9uZ2VyIG9uIHJlbW90ZSBhbmQgY2xvYmJlciBjaGFuZ2VkIHRhZ3MiCiBtc2dzdHIgIiIKICLDqWxpbWluZXIgbGVzIMOpdGlxdWV0dGVzIGxvY2FsZXMgcXVpIG9udCBkaXNwYXJ1IGR1IGTDqXDDtHQgZGlzdGFudCBldCBxdWkgIgogImVuY29tYnJlbnQgbGVzIMOpdGlxdWV0dGVzIG1vZGlmacOpZXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzMgYnVpbHRpbi9mZXRjaC5jOjE1NiBidWlsdGluL3B1bGwuYzoxMzIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTkgYnVpbHRpbi9mZXRjaC5jOjE4MiBidWlsdGluL3B1bGwuYzoxNDEKIG1zZ2lkICJvbi1kZW1hbmQiCiBtc2dzdHIgIsOgIGxhIGRlbWFuZGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjAKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICJjb250csO0bGVyIGxhIHLDqWN1cMOpcmF0aW9uIHLDqWN1cnNpdmUgZGFucyBsZXMgc291cy1tb2R1bGVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM4IGJ1aWx0aW4vcHVsbC5jOjIxNQorIzogYnVpbHRpbi9mZXRjaC5jOjE2NCBidWlsdGluL3B1bGwuYzoyMjUKIG1zZ2lkICJrZWVwIGRvd25sb2FkZWQgcGFjayIKIG1zZ3N0ciAiY29uc2VydmVyIGxlIHBhcXVldCB0w6lsw6ljaGFyZ8OpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQwCisjOiBidWlsdGluL2ZldGNoLmM6MTY2CiBtc2dpZCAiYWxsb3cgdXBkYXRpbmcgb2YgSEVBRCByZWYiCiBtc2dzdHIgInBlcm1ldHRyZSBsYSBtaXNlIMOgIGpvdXIgZGUgbGEgcsOpZsOpcmVuY2UgSEVBRCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE0MyBidWlsdGluL2ZldGNoLmM6MTQ5IGJ1aWx0aW4vcHVsbC5jOjIxOAorIzogYnVpbHRpbi9mZXRjaC5jOjE2OSBidWlsdGluL2ZldGNoLmM6MTc1IGJ1aWx0aW4vcHVsbC5jOjIyOAogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCiBtc2dzdHIgImFwcHJvZm9uZGlyIGwnaGlzdG9yaXF1ZSBkJ3VuIGNsb25lIHN1cGVyZmljaWVsIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQ1CisjOiBidWlsdGluL2ZldGNoLmM6MTcxCiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyByZXBvc2l0b3J5IGJhc2VkIG9uIHRpbWUiCiBtc2dzdHIgImFwcHJvZm9uZGlyIGwnaGlzdG9yaXF1ZSBkJ3VuIGNsb25lIHN1cGVyZmljaWVsIGVuIGZvbmN0aW9uIGQndW5lIGRhdGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTEgYnVpbHRpbi9wdWxsLmM6MjIxCisjOiBidWlsdGluL2ZldGNoLmM6MTc3IGJ1aWx0aW4vcHVsbC5jOjIzMQogbXNnaWQgImNvbnZlcnQgdG8gYSBjb21wbGV0ZSByZXBvc2l0b3J5IgogbXNnc3RyICJjb252ZXJ0aXIgZW4gdW4gZMOpcMO0dCBjb21wbGV0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU0CisjOiBidWlsdGluL2ZldGNoLmM6MTgwCiBtc2dpZCAicHJlcGVuZCB0aGlzIHRvIHN1Ym1vZHVsZSBwYXRoIG91dHB1dCIKIG1zZ3N0ciAicHLDqWZpeGVyIGNlY2kgw6AgbGEgc29ydGllIGR1IGNoZW1pbiBkdSBzb3VzLW1vZHVsZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1NworIzogYnVpbHRpbi9mZXRjaC5jOjE4MwogbXNnaWQgIiIKICJkZWZhdWx0IGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyAobG93ZXIgcHJpb3JpdHkgdGhhbiBjb25maWcgIgogImZpbGVzKSIKQEAgLTExMDgxLDEwOSArMTM1OTYsMTMzIEBACiAicGFyIGTDqWZhdXQgcG91ciBsYSByw6ljdXDDqXJhdGlvbiByw6ljdXJzaXZlIGRlIHNvdXMtbW9kdWxlcyAocHJpb3JpdMOpIHBsdXMgIgogImJhc3NlIHF1ZSBsZXMgZmljaGllcnMgZGUgY29uZmlnKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MSBidWlsdGluL3B1bGwuYzoyMjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODcgYnVpbHRpbi9wdWxsLmM6MjM0CiBtc2dpZCAiYWNjZXB0IHJlZnMgdGhhdCB1cGRhdGUgLmdpdC9zaGFsbG93IgogbXNnc3RyICJhY2NlcHRlciBsZXMgcsOpZsOpcmVuY2VzIHF1aSBtZXR0ZW50IMOgIGpvdXIgLmdpdC9zaGFsbG93IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYyIGJ1aWx0aW4vcHVsbC5jOjIyNgorIzogYnVpbHRpbi9mZXRjaC5jOjE4OCBidWlsdGluL3B1bGwuYzoyMzYKIG1zZ2lkICJyZWZtYXAiCiBtc2dzdHIgImNvcnJlc3BvbmRhbmNlIGRlIHLDqWbDqXJlbmNlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYzIGJ1aWx0aW4vcHVsbC5jOjIyNworIzogYnVpbHRpbi9mZXRjaC5jOjE4OSBidWlsdGluL3B1bGwuYzoyMzcKIG1zZ2lkICJzcGVjaWZ5IGZldGNoIHJlZm1hcCIKIG1zZ3N0ciAic3DDqWNpZmllciB1bmUgY29ycmVzcG9uZGFuY2UgZGUgcsOpZsOpcmVuY2UgcG91ciBsYSByw6ljdXDDqXJhdGlvbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2NCBidWlsdGluL2xzLXJlbW90ZS5jOjc3IGJ1aWx0aW4vcHVzaC5jOjU4MgotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzIKLW1zZ2lkICJzZXJ2ZXItc3BlY2lmaWMiCi1tc2dzdHIgInNww6ljaWZpcXVlIGF1IHNlcnZldXIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjQgYnVpbHRpbi9scy1yZW1vdGUuYzo3NyBidWlsdGluL3B1c2guYzo1ODIKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTczCi1tc2dpZCAib3B0aW9uIHRvIHRyYW5zbWl0IgotbXNnc3RyICJvcHRpb24gw6AgdHJhbnNtZXR0cmUiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNzAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxOTYKIG1zZ2lkICJyZXBvcnQgdGhhdCB3ZSBoYXZlIG9ubHkgb2JqZWN0cyByZWFjaGFibGUgZnJvbSB0aGlzIG9iamVjdCIKIG1zZ3N0ciAicmFwcG9ydGUgcXVlIG5vdXMgbidhdm9ucyBxdWUgZGVzIG9iamV0cyBqb2lnbmFibGVzIGRlcHVpcyBjZXQgb2JqZXQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0NzAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxOTkKK21zZ2lkICJydW4gJ2djIC0tYXV0bycgYWZ0ZXIgZmV0Y2hpbmciCittc2dzdHIgImxhbmNlciAnZ2MgLS1hdXRvJyBhcHLDqHMgbGEgcsOpY3Vww6lyYXRpb24iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMDEgYnVpbHRpbi9wdWxsLmM6MjQ2Cittc2dpZCAiY2hlY2sgZm9yIGZvcmNlZC11cGRhdGVzIG9uIGFsbCB1cGRhdGVkIGJyYW5jaGVzIgorbXNnc3RyICJ2w6lyaWZpZXIgbGVzIG1pc2VzIMOgIGpvdXIgZm9yY8OpZXMgc3VyIHRvdXRlcyBsZXMgYnJhbmNoZXMgbWlzZXMgw6Agam91ciIKKworIzogYnVpbHRpbi9mZXRjaC5jOjIwMworbXNnaWQgIndyaXRlIHRoZSBjb21taXQtZ3JhcGggYWZ0ZXIgZmV0Y2hpbmciCittc2dzdHIgIsOpY3JpcmUgbGUgZ3JhcGhlIGRlIGNvbW1pdHMgYXByw6hzIGxlIHJhcGF0cmllbWVudCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjUxMwogbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgcsOpZsOpcmVuY2UgSEVBRCBkaXN0YW50ZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwOQorIzogYnVpbHRpbi9mZXRjaC5jOjY1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBjb250YWlucyBpbnZhbGlkIHZhbHVlICVzIgogbXNnc3RyICIiCiAibGUgcGFyYW3DqHRyZSBkZSBjb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBjb250aWVudCB1bmUgdmFsZXVyIGludmFsaWRlICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzAyCisjOiBidWlsdGluL2ZldGNoLmM6NzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBub3QgZm91bmQiCiBtc2dzdHIgIm9iamV0ICVzIG5vbiB0cm91dsOpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzA2CisjOiBidWlsdGluL2ZldGNoLmM6NzU1CiBtc2dpZCAiW3VwIHRvIGRhdGVdIgogbXNnc3RyICJbw6Agam91cl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MTkgYnVpbHRpbi9mZXRjaC5jOjczNSBidWlsdGluL2ZldGNoLmM6ODA3CisjOiBidWlsdGluL2ZldGNoLmM6NzY4IGJ1aWx0aW4vZmV0Y2guYzo3ODQgYnVpbHRpbi9mZXRjaC5jOjg1NgogbXNnaWQgIltyZWplY3RlZF0iCiBtc2dzdHIgIltyZWpldMOpXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcyMAorIzogYnVpbHRpbi9mZXRjaC5jOjc2OQogbXNnaWQgImNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHLDqWN1cMOpcmVyIGRhbnMgbGEgYnJhbmNoZSBhY3R1ZWxsZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjczMAorIzogYnVpbHRpbi9mZXRjaC5jOjc3OQogbXNnaWQgIlt0YWcgdXBkYXRlXSIKIG1zZ3N0ciAiW21pc2Ugw6Agam91ciBkZSBsJ8OpdGlxdWV0dGVdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzMxIGJ1aWx0aW4vZmV0Y2guYzo3NzEgYnVpbHRpbi9mZXRjaC5jOjc4NwotIzogYnVpbHRpbi9mZXRjaC5jOjgwMgorIzogYnVpbHRpbi9mZXRjaC5jOjc4MCBidWlsdGluL2ZldGNoLmM6ODE3IGJ1aWx0aW4vZmV0Y2guYzo4MzkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTEKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBtZXR0cmUgw6Agam91ciBsYSByw6lmw6lyZW5jZSBsb2NhbGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MzUKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3ODQKIG1zZ2lkICJ3b3VsZCBjbG9iYmVyIGV4aXN0aW5nIHRhZyIKIG1zZ3N0ciAiw6ljcmFzZXJhaXQgbCfDqXRpcXVldHRlIGV4aXN0YW50ZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc1NworIzogYnVpbHRpbi9mZXRjaC5jOjgwNgogbXNnaWQgIltuZXcgdGFnXSIKIG1zZ3N0ciAiW25vdXZlbGxlIMOpdGlxdWV0dGVdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzYwCisjOiBidWlsdGluL2ZldGNoLmM6ODA5CiBtc2dpZCAiW25ldyBicmFuY2hdIgogbXNnc3RyICJbbm91dmVsbGUgYnJhbmNoZV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4MTIKIG1zZ2lkICJbbmV3IHJlZl0iCiBtc2dzdHIgIltub3V2ZWxsZSByw6lmw6lyZW5jZV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MDIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTEKIG1zZ2lkICJmb3JjZWQgdXBkYXRlIgogbXNnc3RyICJtaXNlIMOgIGpvdXIgZm9yY8OpZSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgwNworIzogYnVpbHRpbi9mZXRjaC5jOjg1NgogbXNnaWQgIm5vbi1mYXN0LWZvcndhcmQiCiBtc2dzdHIgInBhcyBlbiBhdmFuY2UgcmFwaWRlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODUzCisjOiBidWlsdGluL2ZldGNoLmM6ODc3Cittc2dpZCAiIgorIkZldGNoIG5vcm1hbGx5IGluZGljYXRlcyB3aGljaCBicmFuY2hlcyBoYWQgYSBmb3JjZWQgdXBkYXRlLFxuIgorImJ1dCB0aGF0IGNoZWNrIGhhcyBiZWVuIGRpc2FibGVkLiBUbyByZS1lbmFibGUsIHVzZSAnLS1zaG93LWZvcmNlZC11cGRhdGVzJ1xuIgorImZsYWcgb3IgcnVuICdnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzIHRydWUnLiIKK21zZ3N0ciAiIgorIkZldGNoIGluZGlxdWUgbm9ybWFsZW1lbnQgcXVlbGxlcyBicmFuY2hlcyBvbnQgc3ViaSB1bmUgbWlzZSDDoCBqb3VyIGZvcmPDqWUsXG4iCisibWFpcyBjZWNpIGEgw6l0w6kgZMOpc2FjdGl2w6kuIFBvdXIgcsOpLWFjdGl2ZXIsIHV0aWxpc2V6IGxlIGRyYXBlYXVcbiIKKyInLS1zaG93LWZvcmNlZC11cGRhdGUnIG91IGxhbmNleiAnZ2l0IGNvbmZpZyBmZXRjaC5zaG93Rm9yY2VkVXBkYXRlcyB0cnVlJy4iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGNoZWNrIGZvcmNlZCB1cGRhdGVzLiBZb3UgY2FuIHVzZVxuIgorIictLW5vLXNob3ctZm9yY2VkLXVwZGF0ZXMnIG9yIHJ1biAnZ2l0IGNvbmZpZyBmZXRjaC5zaG93Rm9yY2VkVXBkYXRlcyAiCisiZmFsc2UnXG4iCisiIHRvIGF2b2lkIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyIlLjJmIHNlY29uZGVzIG9udCDDqXTDqSBuw6ljZXNzYWlyZXMgcG91ciB2w6lyaWZpZXIgbGVzIG1pc2VzIMOgIGpvdXIgZm9yY8OpZXMuXG4iCisiVm91cyBwb3V2ZXogdXRpbGlzZXIgJy0tbm8tc2hvdy1mb3JjZWQtdXBkYXRlJyBvdSBsYW5jZXJcbiIKKyInZ2l0IGNvbmZpZyBmZXRjaC5zaG93Rm9yY2VkVXBkYXRlcyBmYWxzZScgcG91ciDDqXZpdGVyIGNlY2kuXG4iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0c1xuIgogbXNnc3RyICIlcyBuJ2EgcGFzIGVudm95w6kgdG91cyBsZXMgb2JqZXRzIG7DqWNlc3NhaXJlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODc0CisjOiBidWlsdGluL2ZldGNoLmM6OTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlamVjdCAlcyBiZWNhdXNlIHNoYWxsb3cgcm9vdHMgYXJlIG5vdCBhbGxvd2VkIHRvIGJlIHVwZGF0ZWQiCiBtc2dzdHIgIiIKICIlcyByZWpldMOpIHBhcmNlIHF1ZSBsZXMgcmFjaW5lcyBzdXBlcmZpY2llbGxlcyBuZSBzb250IHBhcyBtaXNlcyDDoCBqb3VyIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTYzIGJ1aWx0aW4vZmV0Y2guYzoxMDg1CisjOiBidWlsdGluL2ZldGNoLmM6MTAxNyBidWlsdGluL2ZldGNoLmM6MTE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJGcm9tICUuKnNcbiIKIG1zZ3N0ciAiRGVwdWlzICUuKnNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk3NAorIzogYnVpbHRpbi9mZXRjaC5jOjEwMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKQEAgLTExMTkyLDU3ICsxMzczMSw3OSBAQAogImRlcyByw6lmw6lyZW5jZXMgbG9jYWxlcyBuJ29udCBwYXMgcHUgw6p0cmUgbWlzZXMgw6Agam91ciA7IGVzc2F5ZXogZGUgbGFuY2VyXG4iCiAiICdnaXQgcmVtb3RlIHBydW5lICVzJyBwb3VyIHN1cHByaW1lciBkZXMgYnJhbmNoZXMgYW5jaWVubmVzIGVuIGNvbmZsaXQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDU1CisjOiBidWlsdGluL2ZldGNoLmM6MTEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMgc2VyYSBlbiBzdXNwZW5zKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNTYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAgKCVzIGVzdCBkZXZlbnUgZW4gc3VzcGVucykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDg4CisjOiBidWlsdGluL2ZldGNoLmM6MTE1OAogbXNnaWQgIltkZWxldGVkXSIKIG1zZ3N0ciAiW3N1cHByaW3DqV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDg5IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNgorIzogYnVpbHRpbi9mZXRjaC5jOjExNTkgYnVpbHRpbi9yZW1vdGUuYzoxMDM1CiBtc2dpZCAiKG5vbmUpIgogbXNnc3RyICIoYXVjdW4oZSkpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTExMgorIzogYnVpbHRpbi9mZXRjaC5jOjExODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gZmV0Y2ggaW50byBjdXJyZW50IGJyYW5jaCAlcyBvZiBub24tYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJSZWZ1cyBkZSByw6ljdXDDqXJlciBkYW5zIGxhIGJyYW5jaGUgY291cmFudCAlcyBkJ3VuIGTDqXDDtHQgbm9uIG51IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEzMQorIzogYnVpbHRpbi9mZXRjaC5jOjEyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKIG1zZ3N0ciAiTGEgdmFsZXVyIFwiJTIkc1wiIGRlIGwnb3B0aW9uIFwiJTEkc1wiIGVzdCBpbnZhbGlkZSBwb3VyICUzJHMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTM0CisjOiBidWlsdGluL2ZldGNoLmM6MTIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIGlzIGlnbm9yZWQgZm9yICVzXG4iCiBtc2dzdHIgIkwnb3B0aW9uIFwiJXNcIiBlc3QgaWdub3LDqWUgcG91ciAlc1xuIgogCisjOiBidWlsdGluL2ZldGNoLmM6MTQxMgorbXNnaWQgIm11bHRpcGxlIGJyYW5jaGVzIGRldGVjdGVkLCBpbmNvbXBhdGlibGUgd2l0aCAtLXNldC11cHN0cmVhbSIKK21zZ3N0ciAiYnJhbmNoZXMgbXVsdGlwbGVzIGTDqXRlY3TDqWVzLCBpbWNvbXBhdGlibGUgYXZlYyAtLXNldC11cHN0cmVhbSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MjcKK21zZ2lkICJub3Qgc2V0dGluZyB1cHN0cmVhbSBmb3IgYSByZW1vdGUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKK21zZ3N0ciAiZMOpcMO0dCBhbW9udCBub24gZMOpZmluaSBwb3VyIGxhIGJyYW5jaGUgZGUgc3Vpdmkgw6AgZGlzdGFuY2UiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDI5Cittc2dpZCAibm90IHNldHRpbmcgdXBzdHJlYW0gZm9yIGEgcmVtb3RlIHRhZyIKK21zZ3N0ciAiZMOpcMO0dCBhbW9udCBub24gZMOpZmluaSBwb3VyIGwnw6l0aXF1ZXR0ZSBkaXN0YW50ZSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MzEKK21zZ2lkICJ1bmtub3duIGJyYW5jaCB0eXBlIgorbXNnc3RyICJ0eXBlIGRlIGJyYW5jaGUgaW5jb25udSIKKwogIzogYnVpbHRpbi9mZXRjaC5jOjE0MzMKK21zZ2lkICIiCisibm8gc291cmNlIGJyYW5jaCBmb3VuZC5cbiIKKyJ5b3UgbmVlZCB0byBzcGVjaWZ5IGV4YWN0bHkgb25lIGJyYW5jaCB3aXRoIHRoZSAtLXNldC11cHN0cmVhbSBvcHRpb24uIgorbXNnc3RyICIiCisiQXVjdW5lIGJyYW5jaGUgc291cmNlIHRyb3V2w6llLlxuIgorIlZvdXMgZGV2ZXogc3DDqWNpZmllciBleGFjdGVtZW50IHVuZSBicmFuY2hlIGF2ZWMgbCdvcHRpb24gLS1zZXQtdXBzdHJlYW0uIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTU1OSBidWlsdGluL2ZldGNoLmM6MTYyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyAlc1xuIgogbXNnc3RyICJSw6ljdXDDqXJhdGlvbiBkZSAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQzNSBidWlsdGluL3JlbW90ZS5jOjEwMAorIzogYnVpbHRpbi9mZXRjaC5jOjE1NjkgYnVpbHRpbi9mZXRjaC5jOjE2MjQgYnVpbHRpbi9yZW1vdGUuYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHLDqWN1cMOpcmVyICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQ4MSBidWlsdGluL2ZldGNoLmM6MTY0OQotbXNnaWQgIiIKLSItLWZpbHRlciBjYW4gb25seSBiZSB1c2VkIHdpdGggdGhlIHJlbW90ZSBjb25maWd1cmVkIGluIGNvcmUucGFydGlhbENsb25lIgotbXNnc3RyICIiCi0iLS1maWx0ZXIgbmUgcGV1dCDDqnRyZSB1dGlsaXPDqSBxdSdhdmVjIGxlIGTDqXDDtHQgZGlzdGFudCBjb25maWd1csOpIGRhbnMgY29yZS4iCi0icGFydGlhbENsb25lIgorIzogYnVpbHRpbi9mZXRjaC5jOjE1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGZldGNoICclcycgKGV4aXQgY29kZTogJWQpXG4iCittc2dzdHIgImltcG9zc2libGUgZGUgcsOpY3Vww6lyZXIgJyVzJyAoY29kZSBkZSBzb3J0aWXCoDogJWQpXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTA0CisjOiBidWlsdGluL2ZldGNoLmM6MTY4NAogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgpAQCAtMTEyNTAsNjggKzEzODExLDc2IEBACiAiQXVjdW4gZMOpcMO0dCBkaXN0YW50IHNww6ljaWZpw6kuIFZldWlsbGV6IHNww6ljaWZpZXIgdW5lIFVSTCBvdSB1biBub21cbiIKICJkaXN0YW50IGRlcHVpcyBsZXNxdWVscyBsZXMgbm91dmVsbGVzIHLDqXZpc2lvbnMgZGV2cmFpZW50IMOqdHJlIHLDqWN1cMOpcsOpZXMuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU0MQorIzogYnVpbHRpbi9mZXRjaC5jOjE3MjEKIG1zZ2lkICJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgdGFnIG5hbWUuIgogbXNnc3RyICJWb3VzIGRldmV6IHNww6ljaWZpZXIgdW4gbm9tIGQnw6l0aXF1ZXR0ZS4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTkwCisjOiBidWlsdGluL2ZldGNoLmM6MTc3MQogbXNnaWQgIk5lZ2F0aXZlIGRlcHRoIGluIC0tZGVlcGVuIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIlVuZSBwcm9mb25kZXVyIG7DqWdhdGl2ZSBkYW5zIC0tZGVlcGVuIG4nZXN0IHBhcyBzdXBwb3J0w6llIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU5MgorIzogYnVpbHRpbi9mZXRjaC5jOjE3NzMKIG1zZ2lkICItLWRlZXBlbiBhbmQgLS1kZXB0aCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItLWRlZXBlbiBldCAtLWRlcHRoIHNvbnQgbXV0dWVsbGVtZW50IGV4Y2x1c2lmcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1OTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzc4CiBtc2dpZCAiLS1kZXB0aCBhbmQgLS11bnNoYWxsb3cgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi0tZGVwdGggZXQgLS11bnNoYWxsb3cgbmUgcGV1dmVudCBwYXMgw6p0cmUgdXRpbGlzw6lzIGVuc2VtYmxlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU5OQorIzogYnVpbHRpbi9mZXRjaC5jOjE3ODAKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS11bnNoYWxsb3cgc3VyIHVuIGTDqXDDtHQgY29tcGxldCBuJ2EgcGFzIGRlIHNlbnMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjE1CisjOiBidWlsdGluL2ZldGNoLmM6MTc5NgogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgogbXNnc3RyICJmZXRjaCAtLWFsbCBuJ2FjY2VwdGUgcGFzIGQnYXJndW1lbnQgZGUgZMOpcMO0dCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzk4CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgbWFrZSBzZW5zZSB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICJmZXRjaCAtLWFsbCBuJ2EgcGFzIGRlIHNlbnMgYXZlYyBkZXMgc3DDqWNpZmljYXRpb25zIGRlIHLDqWbDqXJlbmNlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYyNgorIzogYnVpbHRpbi9mZXRjaC5jOjE4MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgb3IgcmVtb3RlIGdyb3VwOiAlcyIKIG1zZ3N0ciAiZGlzdGFudCBvdSBncm91cGUgZGlzdGFudCBpbmV4aXN0YW50IDogJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjMzCisjOiBidWlsdGluL2ZldGNoLmM6MTgxNAogbXNnaWQgIkZldGNoaW5nIGEgZ3JvdXAgYW5kIHNwZWNpZnlpbmcgcmVmc3BlY3MgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogIkxhIHLDqWN1cMOpcmF0aW9uIGQndW4gZ3JvdXBlIGV0IGxlcyBzcMOpY2lmaWNhdGlvbnMgZGUgcsOpZsOpcmVuY2UgbidvbnQgcGFzIGRlICIKICJzZW5zIgogCisjOiBidWlsdGluL2ZldGNoLmM6MTgzMgorbXNnaWQgIiIKKyItLWZpbHRlciBjYW4gb25seSBiZSB1c2VkIHdpdGggdGhlIHJlbW90ZSBjb25maWd1cmVkIGluIGV4dGVuc2lvbnMuIgorInBhcnRpYWxjbG9uZSIKK21zZ3N0ciAiIgorIi0tZmlsdGVyIG5lIHBldXQgw6p0cmUgdXRpbGlzw6kgcXUnYXZlYyBsZSBkw6lww7R0IGRpc3RhbnQgY29uZmlndXLDqSBkYW5zICIKKyJleHRlbnNpb25zLnBhcnRpYWxDbG9uZSIKKwogIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6MTgKIG1zZ2lkICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZXNzYWdlPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKIG1zZ3N0ciAiIgogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8bWVzc2FnZT5dIFstLWxvZ1s9PG4+XSB8IC0tbm8tbG9nXSBbLS1maWxlIDxmaWNoaWVyPl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MgorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc0CiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgogbXNnc3RyICJwZXVwbGVyIGxlIGpvdXJuYWwgYXZlYyBhdSBwbHVzIDxuPiDDqWzDqW1lbnRzIGRlcHVpcyBsZSBqb3VybmFsIGNvdXJ0IgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzUKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NwogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCiBtc2dzdHIgImFsaWFzIHBvdXIgLS1sb2cgKG9ic29sw6h0ZSkiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3OAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjgwCiBtc2dpZCAidGV4dCIKIG1zZ3N0ciAidGV4dGUiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3OQorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjgxCiBtc2dpZCAidXNlIDx0ZXh0PiBhcyBzdGFydCBvZiBtZXNzYWdlIgogbXNnc3RyICJ1dGlsaXNlciA8dGV4dGU+IGNvbW1lIGTDqWJ1dCBkZSBtZXNzYWdlIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2ODAKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY4MgogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgogbXNnc3RyICJmaWNoaWVyIGQnb8O5IGxpcmUiCiAKQEAgLTExMzIxLDcgKzEzODkwLDcgQEAKIAogIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMQogbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tcG9pbnRzLWF0IDxvYmplY3Q+XSIKLW1zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbLS1wb2ludC1hdCA8b2JqZXQ+XSIKK21zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbLS1wb2ludHMtYXQgPG9iamV0Pl0iCiAKICM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTIKIG1zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxjb21taXQ+XV0iCkBAIC0xMTM1MSw5MiArMTM5MjAsMjc1IEBACiBtc2dpZCAic2hvdyBvbmx5IDxuPiBtYXRjaGVkIHJlZnMiCiBtc2dzdHIgIm4nYWZmaWNoZXIgcXVlIDxuPiByw6lmw6lyZW5jZXMgY29ycmVzcG9uZGFudCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjQyNAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjQzOQogbXNnaWQgInJlc3BlY3QgZm9ybWF0IGNvbG9ycyIKIG1zZ3N0ciAicmVzcGVjdGVyIGxlcyBjb3VsZXVycyBkZSBmb3JtYXRhZ2UiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDMKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDIKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggcG9pbnRzIGF0IHRoZSBnaXZlbiBvYmplY3QiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgcsOpZsOpcmVuY2VzIHBvaW50YW50IHN1ciBsJ29iamV0IgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ1CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ0CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyByw6lmw6lyZW5jZXMgcXVpIHNvbnQgZnVzaW9ubsOpZXMiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDYKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyByw6lmw6lyZW5jZXMgcXVpIG5lIHNvbnQgcGFzIGZ1c2lvbm7DqWVzIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ3CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyByw6lmw6lyZW5jZXMgcXVpIGNvbnRpZW5uZW50IGxlIGNvbW1pdCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0OAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NwogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgcsOpZsOpcmVuY2VzIHF1aSBuZSBjb250aWVubmVudCBwYXMgbGUgY29tbWl0IgogCi0jOiBidWlsdGluL2ZzY2suYzo1OTgKKyM6IGJ1aWx0aW4vZnNjay5jOjY4IGJ1aWx0aW4vZnNjay5jOjE0NyBidWlsdGluL2ZzY2suYzoxNDgKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICJpbmNvbm51IgorCisjLiBUUkFOU0xBVE9SUzogZS5nLiBlcnJvciBpbiB0cmVlIDAxYmZkYTogPG1vcmUgZXhwbGFuYXRpb24+CisjOiBidWlsdGluL2ZzY2suYzoxMDAgYnVpbHRpbi9mc2NrLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGluICVzICVzOiAlcyIKK21zZ3N0ciAiZXJyZXVyIGRhbnMgbCdvYmpldCAlcyAlc8KgOiAlcyIKKworIy4gVFJBTlNMQVRPUlM6IGUuZy4gd2FybmluZyBpbiB0cmVlIDAxYmZkYTogPG1vcmUgZXhwbGFuYXRpb24+CisjOiBidWlsdGluL2ZzY2suYzoxMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZyBpbiAlcyAlczogJXMiCittc2dzdHIgImF2ZXJ0aXNzZW1lbnQgZGFucyBsJ29iamV0ICVzICVzwqA6ICVzIgorCisjOiBidWlsdGluL2ZzY2suYzoxNDMgYnVpbHRpbi9mc2NrLmM6MTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImJyb2tlbiBsaW5rIGZyb20gJTdzICVzIgorbXNnc3RyICJsaWVuIGNhc3PDqSBkYW5zIGwnb2JqZXQgJTdzICVzIgorCisjOiBidWlsdGluL2ZzY2suYzoxNTUKK21zZ2lkICJ3cm9uZyBvYmplY3QgdHlwZSBpbiBsaW5rIgorbXNnc3RyICJ0eXBlIGQnb2JqZXQgaW5jb25udSBkYW5zIGxlIGxpZW4iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjE3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYnJva2VuIGxpbmsgZnJvbSAlN3MgJXNcbiIKKyIgICAgICAgICAgICAgIHRvICU3cyAlcyIKK21zZ3N0ciAiIgorImxpZW4gY2Fzc8OpIGRlcHVpcyAlN3MgJXNcbiIKKyIgICAgICAgICAgICAgdmVycyAlN3MgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nICVzICVzIgorbXNnc3RyICJvYmpldCAlcyBtYW5xdWFudCAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlICVzICVzIgorbXNnc3RyICJvYmpldCAlcyBpbmF0dGVpZ25hYmxlICVzIgorCisjOiBidWlsdGluL2ZzY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGFuZ2xpbmcgJXMgJXMiCittc2dzdHIgIm9iamV0ICVzIGZhbnTDtG1lICVzIgorCisjOiBidWlsdGluL2ZzY2suYzozMzkKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxvc3QtZm91bmQiCittc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIGZpY2hpZXIgbG9zdC1mb3VuZCIKKworIzogYnVpbHRpbi9mc2NrLmM6MzUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmaW5pc2ggJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmaW5pciAnJXMnIgorCisjOiBidWlsdGluL2ZzY2suYzozNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgJXMiCittc2dzdHIgIlbDqXJpZmljYXRpb24gZGUgbCdvYmpldCAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSAoJWQgb2JqZWN0cykiCittc2dzdHIgIlbDqXJpZmljYXRpb24gZGUgbGEgY29ubmVjdGl2aXTDqSAoJWQgb2JqZXRzKSIKKworIzogYnVpbHRpbi9mc2NrLmM6NDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nICVzICVzIgorbXNnc3RyICJWw6lyaWZpY2F0aW9uIGRlIGwnb2JqZXQgJXMgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQyOQorbXNnaWQgImJyb2tlbiBsaW5rcyIKK21zZ3N0ciAibGllbnMgY2Fzc8OpcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDM4CisjLCBjLWZvcm1hdAorbXNnaWQgInJvb3QgJXMiCittc2dzdHIgInJhY2luZSAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInRhZ2dlZCAlcyAlcyAoJXMpIGluICVzIgorbXNnc3RyICLDqXRpcXVldGFnZSBkZSBsJ29iamV0ICVzICVzICglcykgZGFucyAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgY29ycnVwdCBvciBtaXNzaW5nIgorbXNnc3RyICIlc8KgOiBvYmpldCBjb3Jyb21wdSBvdSBtYW5xdWFudCIKKworIzogYnVpbHRpbi9mc2NrLmM6NTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHJlZmxvZyBlbnRyeSAlcyIKK21zZ3N0ciAiJXPCoDogZW50csOpZSAlcyBkZSBqb3VybmFsIGRlIHLDqWbDqXJlbmNlcyBpbnZhbGlkZSIKKworIzogYnVpbHRpbi9mc2NrLmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nIHJlZmxvZyAlcy0+JXMiCittc2dzdHIgIlbDqXJpZmljYXRpb24gZHUgam91cm5hbCBkZSByw6lmZXJlbmNlcyAlcy0+ICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgc2hhMSBwb2ludGVyICVzIgorbXNnc3RyICIlc8KgOiBwb2ludGV1ciBkZSBzaGExIGludmFsaWRlICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGNvbW1pdCIKK21zZ3N0ciAibCdvYmpldCAlcyBuJ2VzdCBwYXMgdW4gY29tbWl0IgorCisjOiBidWlsdGluL2ZzY2suYzo2MDkKK21zZ2lkICJub3RpY2U6IE5vIGRlZmF1bHQgcmVmZXJlbmNlcyIKK21zZ3N0ciAiTm90ZcKgOiBwYXMgZGUgcsOpZsOpcmVuY2UgcGFyIGTDqWZhdXQiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZzogJXMiCittc2dzdHIgIiVzwqA6IG9iamV0IGNvcnJvbXB1IG91IG1hbnF1YW50wqA6ICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo2MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBjb3VsZCBub3QgYmUgcGFyc2VkOiAlcyIKK21zZ3N0ciAiJXPCoDogaW1wb3NzaWJsZSBkJ2FuYWx5c2VywqA6ICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo2NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNoYTEgZmlsZTogJXMiCittc2dzdHIgIm1hdXZhaXMgZmljaGllciBkZSBzaGExwqA6ICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo2NzIKK21zZ2lkICJDaGVja2luZyBvYmplY3QgZGlyZWN0b3J5IgorbXNnc3RyICJWw6lyaWZpY2F0aW9uIGR1IHLDqXBlcnRvaXJlIGQnb2JqZXQiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY3NQogbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiVsOpcmlmaWNhdGlvbiBkZXMgcsOpcGVydG9pcmVzIGQnb2JqZXQiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjY5MworIzogYnVpbHRpbi9mc2NrLmM6NjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nICVzIGxpbmsiCittc2dzdHIgIlbDqXJpZmljYXRpb24gZHUgbGllbiAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6Njk1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0MgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkICVzIgorbXNnc3RyICIlcyBpbnZhbGlkZSIKKworIzogYnVpbHRpbi9mc2NrLmM6NzAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHBvaW50cyB0byBzb21ldGhpbmcgc3RyYW5nZSAoJXMpIgorbXNnc3RyICIlcyBwb2ludGUgc3VyIHF1ZWxxdWUgY2hvc2UgYml6YXJyZSAoJXMpIgorCisjOiBidWlsdGluL2ZzY2suYzo3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaGVkIEhFQUQgcG9pbnRzIGF0IG5vdGhpbmciCittc2dzdHIgIiVzwqA6IGxhIEhFQUQgZMOpdGFjaMOpZSBuZSBwb2ludGUgc3VyIHJpZW4iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjcxMgorIywgYy1mb3JtYXQKK21zZ2lkICJub3RpY2U6ICVzIHBvaW50cyB0byBhbiB1bmJvcm4gYnJhbmNoICglcykiCittc2dzdHIgIm5vdGXCoDogJXMgcG9pbnRlIHN1ciB1bmUgYnJhbmNoZSBub24tbsOpZSAoJXMpIgorCisjOiBidWlsdGluL2ZzY2suYzo3MjQKK21zZ2lkICJDaGVja2luZyBjYWNoZSB0cmVlIgorbXNnc3RyICJWw6lyaWZpY2F0aW9uIGRlIGwnYXJicmUgY2FjaGUiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjcyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBzaGExIHBvaW50ZXIgaW4gY2FjaGUtdHJlZSIKK21zZ3N0ciAiJXPCoDogcG9pbnRlciBzaGExIGludmFsaWRlIGRhbnMgbCdhcmJyZSBkZSBjYWNoZSIKKworIzogYnVpbHRpbi9mc2NrLmM6NzM4Cittc2dpZCAibm9uLXRyZWUgaW4gY2FjaGUtdHJlZSIKK21zZ3N0ciAibm9uLWFyYnJlIGRhbnMgbCdhcmJyZSBkZSBjYWNoZSIKKworIzogYnVpbHRpbi9mc2NrLmM6NzY5CiBtc2dpZCAiZ2l0IGZzY2sgWzxvcHRpb25zPl0gWzxvYmplY3Q+Li4uXSIKIG1zZ3N0ciAiZ2l0IGZzY2sgWzxvcHRpb25zPl0gWzxvYmpldD4uLi5dIgogCi0jOiBidWlsdGluL2ZzY2suYzo2OTkKKyM6IGJ1aWx0aW4vZnNjay5jOjc3NQogbXNnaWQgInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIG9iamV0cyBpbmFjY2Vzc2libGVzIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDAKKyM6IGJ1aWx0aW4vZnNjay5jOjc3NgogbXNnaWQgInNob3cgZGFuZ2xpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIG9iamV0cyBlbiBzdXNwZW5zIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDEKKyM6IGJ1aWx0aW4vZnNjay5jOjc3NwogbXNnaWQgInJlcG9ydCB0YWdzIgogbXNnc3RyICJhZmZpY2hlciBsZXMgw6l0aXF1ZXR0ZXMiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwMgorIzogYnVpbHRpbi9mc2NrLmM6Nzc4CiBtc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCiBtc2dzdHIgInNpZ25hbGVyIGxlcyBuxZN1ZHMgcmFjaW5lcyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzAzCisjOiBidWlsdGluL2ZzY2suYzo3NzkKIG1zZ2lkICJtYWtlIGluZGV4IG9iamVjdHMgaGVhZCBub2RlcyIKIG1zZ3N0ciAiY29uc2lkw6lyZXIgbGVzIG9iamV0cyBkZSBsJ2luZGV4IGNvbW1lIG7Fk3VkcyB0w6p0ZSIKIAogIyB0cmFuc2xhdGVkIGZyb20gbWFuIHBhZ2UKLSM6IGJ1aWx0aW4vZnNjay5jOjcwNAorIzogYnVpbHRpbi9mc2NrLmM6NzgwCiBtc2dpZCAibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIgogbXNnc3RyICJjb25zaWTDqXJlciBsZXMgcmVmbG9ncyBjb21tZSBuxZN1ZHMgdMOqdGUgKHBhciBkw6lmYXV0KSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzA1CisjOiBidWlsdGluL2ZzY2suYzo3ODEKIG1zZ2lkICJhbHNvIGNvbnNpZGVyIHBhY2tzIGFuZCBhbHRlcm5hdGUgb2JqZWN0cyIKIG1zZ3N0ciAiaW5zcGVjdGVyIGF1c3NpIGxlcyBvYmpldHMgcGFjayBldCBhbHRlcm5hdGlmcyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzA2CisjOiBidWlsdGluL2ZzY2suYzo3ODIKIG1zZ2lkICJjaGVjayBvbmx5IGNvbm5lY3Rpdml0eSIKIG1zZ3N0ciAibmUgdsOpcmlmaWVyIHF1ZSBsYSBjb25uZWN0aXZpdMOpIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDcKKyM6IGJ1aWx0aW4vZnNjay5jOjc4MwogbXNnaWQgImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIKIG1zZ3N0ciAiYWN0aXZlciB1bmUgdsOpcmlmaWNhdGlvbiBwbHVzIHN0cmljdCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzA5CisjOiBidWlsdGluL2ZzY2suYzo3ODUKIG1zZ2lkICJ3cml0ZSBkYW5nbGluZyBvYmplY3RzIGluIC5naXQvbG9zdC1mb3VuZCIKIG1zZ3N0ciAiw6ljcmlyZSBsZXMgb2JqZXRzIGVuIHN1c3BlbnMgZGFucyAuZ2l0L2xvc3QtZm91bmQiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcxMCBidWlsdGluL3BydW5lLmM6MTEwCisjOiBidWlsdGluL2ZzY2suYzo3ODYgYnVpbHRpbi9wcnVuZS5jOjEzMgogbXNnaWQgInNob3cgcHJvZ3Jlc3MiCiBtc2dzdHIgImFmZmljaGVyIGxhIHByb2dyZXNzaW9uIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MTEKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NwogbXNnaWQgInNob3cgdmVyYm9zZSBuYW1lcyBmb3IgcmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBub21zIMOpdGVuZHVzIHBvdXIgbGVzIG9iamV0cyBpbmFjY2Vzc2libGVzIgogCi0jOiBidWlsdGluL2ZzY2suYzo3NzYKKyM6IGJ1aWx0aW4vZnNjay5jOjg0NiBidWlsdGluL2luZGV4LXBhY2suYzoyMjUKIG1zZ2lkICJDaGVja2luZyBvYmplY3RzIgogbXNnc3RyICJWw6lyaWZpY2F0aW9uIGRlcyBvYmpldHMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozNAorIzogYnVpbHRpbi9mc2NrLmM6ODc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgbWlzc2luZyIKK21zZ3N0ciAiJXPCoDogb2JqZXQgbWFucXVhbnQiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHBhcmFtZXRlcjogZXhwZWN0ZWQgc2hhMSwgZ290ICclcyciCittc2dzdHIgInBhcmFtw6h0cmUgaW52YWxpZGXCoDogc2hhLTEgYXR0ZW5kdSwgJyVzJyB0cm91dsOpIgorCisjOiBidWlsdGluL2djLmM6MzUKIG1zZ2lkICJnaXQgZ2MgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBnYyBbPG9wdGlvbnM+XSIKIApAQCAtMTE0NDUsMTcgKzE0MTk3LDIyIEBACiBtc2dpZCAiRmFpbGVkIHRvIGZzdGF0ICVzOiAlcyIKIG1zZ3N0ciAiw4ljaGVjIGR1IHN0YXQgZGUgJXPCoDogJXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0NjEgYnVpbHRpbi9pbml0LWRiLmM6NTUKKyM6IGJ1aWx0aW4vZ2MuYzoxMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICclcycgdmFsdWUgJyVzJyIKK21zZ3N0ciAiw6ljaGVjIGRlIGwnYW5hbHlzZSBkZSAnJXMnIHZhbGV1ciAnJXMnIgorCisjOiBidWlsdGluL2djLmM6NDc1IGJ1aWx0aW4vaW5pdC1kYi5jOjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0ICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgZmFpcmUgdW4gc3RhdCBkZSAnJXMnIgogCi0jOiBidWlsdGluL2djLmM6NDcwIGJ1aWx0aW4vbm90ZXMuYzoyNDAgYnVpbHRpbi90YWcuYzo1MTAKKyM6IGJ1aWx0aW4vZ2MuYzo0ODQgYnVpbHRpbi9ub3Rlcy5jOjI0MCBidWlsdGluL3RhZy5jOjUyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgJyVzJyIKIAotIzogYnVpbHRpbi9nYy5jOjQ3NworIzogYnVpbHRpbi9nYy5jOjQ5MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGxhc3QgZ2MgcnVuIHJlcG9ydGVkIHRoZSBmb2xsb3dpbmcuIFBsZWFzZSBjb3JyZWN0IHRoZSByb290IGNhdXNlXG4iCkBAIC0xMTQ3MSw1NiArMTQyMjgsNTYgQEAKICJcbiIKICIlcyIKIAotIzogYnVpbHRpbi9nYy5jOjUxOQorIzogYnVpbHRpbi9nYy5jOjUzOQogbXNnaWQgInBydW5lIHVucmVmZXJlbmNlZCBvYmplY3RzIgogbXNnc3RyICLDqWxpbWluZXIgbGVzIG9iamV0cyBub24gcsOpZsOpcmVuY8OpcyIKIAotIzogYnVpbHRpbi9nYy5jOjUyMQorIzogYnVpbHRpbi9nYy5jOjU0MQogbXNnaWQgImJlIG1vcmUgdGhvcm91Z2ggKGluY3JlYXNlZCBydW50aW1lKSIKIG1zZ3N0ciAiw6p0cmUgcGx1cyBjb25zY2llbmNpZXV4IChkdXLDqWUgZGUgdHJhaXRlbWVudCBhbGxvbmfDqWUpIgogCi0jOiBidWlsdGluL2djLmM6NTIyCisjOiBidWlsdGluL2djLmM6NTQyCiBtc2dpZCAiZW5hYmxlIGF1dG8tZ2MgbW9kZSIKIG1zZ3N0ciAiYWN0aXZlciBsZSBtb2RlIGF1dG8tZ2MiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MjUKKyM6IGJ1aWx0aW4vZ2MuYzo1NDUKIG1zZ2lkICJmb3JjZSBydW5uaW5nIGdjIGV2ZW4gaWYgdGhlcmUgbWF5IGJlIGFub3RoZXIgZ2MgcnVubmluZyIKIG1zZ3N0ciAiIgogImZvcmNlciBsZSBsYW5jZW1lbnQgZHUgcmFtYXNzZS1taWV0dGVzIG3Dqm1lIHNpIHVuIGF1dHJlIHJhbWFzc2UtbWlldHRlcyAiCiAidG91cm5lIGTDqWrDoCIKIAotIzogYnVpbHRpbi9nYy5jOjUyOAorIzogYnVpbHRpbi9nYy5jOjU0OAogbXNnaWQgInJlcGFjayBhbGwgb3RoZXIgcGFja3MgZXhjZXB0IHRoZSBsYXJnZXN0IHBhY2siCiBtc2dzdHIgInJlY29tcGFjdGVyIHRvdXMgbGVzIGF1dHJlcyBwYXF1ZXRzIGV4Y2VwdMOpIGxlIHBsdXMgZ3JvcyBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1NDUKKyM6IGJ1aWx0aW4vZ2MuYzo1NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdjLmxvZ2V4cGlyeSB2YWx1ZSAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGdjLmxvZ2V4cGlyeSAlcyIKIAotIzogYnVpbHRpbi9nYy5jOjU1NgorIzogYnVpbHRpbi9nYy5jOjU3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJ1bmUgZXhwaXJ5IHZhbHVlICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGEgdmFsZXVyIGQnZXhwaXJhdGlvbiBkJ8OpbGFnYWdlICVzIgogCi0jOiBidWlsdGluL2djLmM6NTc2CisjOiBidWlsdGluL2djLmM6NTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBpbiBiYWNrZ3JvdW5kIGZvciBvcHRpbXVtIHBlcmZvcm1hbmNlLlxuIgogbXNnc3RyICIiCiAiQ29tcHJlc3Npb24gYXV0b21hdGlxdWUgZHUgZMOpcMO0dCBlbiB0w6JjaGUgZGUgZm9uZCBwb3VyIG9wdGltaXNlciBsZXMgIgogInBlcmZvcm1hbmNlcy5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjU3OAorIzogYnVpbHRpbi9nYy5jOjU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCiBtc2dzdHIgIkNvbXByZXNzaW9uIGR1IGTDqXDDtHQgcG91ciBvcHRpbWlzZXIgbGVzIHBlcmZvcm1hbmNlcy5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjU3OQorIzogYnVpbHRpbi9nYy5jOjU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJTZWUgXCJnaXQgaGVscCBnY1wiIGZvciBtYW51YWwgaG91c2VrZWVwaW5nLlxuIgogbXNnc3RyICJWb2lyIFwiZ2l0IGhlbHAgZ2NcIiBwb3VyIHRvdXRlIGluZm9ybWF0aW9uIHN1ciBsZSBuZXR0b3lhZ2UgbWFudWVsLlxuIgogCi0jOiBidWlsdGluL2djLmM6NjE5CisjOiBidWlsdGluL2djLmM6NjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJnYyBpcyBhbHJlYWR5IHJ1bm5pbmcgb24gbWFjaGluZSAnJXMnIHBpZCAlPFBSSXVNQVg+ICh1c2UgLS1mb3JjZSBpZiBub3QpIgpAQCAtMTE1MjgsMjMgKzE0Mjg1LDIzIEBACiAidW4gcmFtYXNzZS1taWV0dGVzIGVzdCBkw6lqw6AgZW4gY291cnMgc3VyIGxhIG1hY2hpbmUgJyVzJyBwaWQgJTxQUkl1TUFYPiAiCiAiKHV0aWxpc2V6IC0tZm9yY2Ugc2kgY2Ugbidlc3QgcGFzIGxlIGNhcykiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo2NzAKKyM6IGJ1aWx0aW4vZ2MuYzo2OTQKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgdGhlbS4iCiBtc2dzdHIgIiIKICJJbCB5IGEgdHJvcCBkJ29iamV0cyBzZXVscyBpbmFjY2Vzc2libGVzIDsgbGFuY2V6ICdnaXQgcHJ1bmUnIHBvdXIgbGVzICIKICJzdXBwcmltZXIuIgogCi0jOiBidWlsdGluL2dyZXAuYzoyOAorIzogYnVpbHRpbi9ncmVwLmM6MjkKIG1zZ2lkICJnaXQgZ3JlcCBbPG9wdGlvbnM+XSBbLWVdIDxwYXR0ZXJuPiBbPHJldj4uLi5dIFtbLS1dIDxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBncmVwIFs8b3B0aW9ucz5dIFstZV0gPG1vdGlmPiBbPHLDqXZpc2lvbj4uLi5dIFtbLS1dIDxjaGVtaW4+Li4uXSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjI0CisjOiBidWlsdGluL2dyZXAuYzoyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ3JlcDogZmFpbGVkIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJncmVwIDogw6ljaGVjIGRlIGNyw6lhdGlvbiBkdSBmaWw6ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzoyNzgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIGZvciAlcyIKIG1zZ3N0ciAibm9tYnJlIGRlIGZpbHMgc3DDqWNpZmnDqSBpbnZhbGlkZSAoJWQpIHBvdXIgJXMiCkBAIC0xMTU1MywyNzAgKzE0MzEwLDI3MCBAQAogIy4gdmFyaWFibGUgZm9yIHR3ZWFraW5nIHRocmVhZHMsIGN1cnJlbnRseQogIy4gZ3JlcC50aHJlYWRzCiAjLgotIzogYnVpbHRpbi9ncmVwLmM6Mjg2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MDYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5NwotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzE5CisjOiBidWlsdGluL2dyZXAuYzoyODcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUzNCBidWlsdGluL2luZGV4LXBhY2suYzoxNzI3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAlcyIKIG1zZ3N0ciAicGFzIGRlIHN1cHBvcnQgZGVzIGZpbHMsIGlnbm9yZSAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NDU4IGJ1aWx0aW4vZ3JlcC5jOjU3OSBidWlsdGluL2dyZXAuYzo2MjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjQ2NyBidWlsdGluL2dyZXAuYzo1OTIgYnVpbHRpbi9ncmVwLmM6NjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGwnYXJicmUgKCVzKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjM1CisjOiBidWlsdGluL2dyZXAuYzo2NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmYWlyZSB1biBncmVwIHN1ciB1biBvYmpldCBkZSB0eXBlICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgotbXNnc3RyICJsJ29wdGlvbiAnJWMnIGF0dGVuZCB1biB2YWxldXIgbnVtw6lyaXF1ZSIKK21zZ3N0ciAibCdvcHRpb24gJyVjJyBhdHRlbmQgdW5lIHZhbGV1ciBudW3DqXJpcXVlIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxNQogbXNnaWQgInNlYXJjaCBpbiBpbmRleCBpbnN0ZWFkIG9mIGluIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgInJlY2hlcmNoZXIgZGFucyBsJ2luZGV4IHBsdXTDtHQgcXVlIGRhbnMgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODAyCisjOiBidWlsdGluL2dyZXAuYzo4MTcKIG1zZ2lkICJmaW5kIGluIGNvbnRlbnRzIG5vdCBtYW5hZ2VkIGJ5IGdpdCIKIG1zZ3N0ciAicmVjaGVyY2hlciBkYW5zIGxlcyBjb250ZW51cyBub24gZ8OpcsOpcyBwYXIgZ2l0IgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxOQogbXNnaWQgInNlYXJjaCBpbiBib3RoIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAicmVjaGVyY2hlciBkYW5zIGxlcyBmaWNoaWVycyBzdWl2aXMgZXQgbm9uLXN1aXZpcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODA2CisjOiBidWlsdGluL2dyZXAuYzo4MjEKIG1zZ2lkICJpZ25vcmUgZmlsZXMgc3BlY2lmaWVkIHZpYSAnLmdpdGlnbm9yZSciCiBtc2dzdHIgImlnbm9yZXIgbGVzIGZpY2hpZXJzIHNww6ljaWZpw6lzIHZpYSAnLmdpdGlnbm9yZSciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgwOAorIzogYnVpbHRpbi9ncmVwLmM6ODIzCiBtc2dpZCAicmVjdXJzaXZlbHkgc2VhcmNoIGluIGVhY2ggc3VibW9kdWxlIgogbXNnc3RyICJyZWNoZXJjaGVyIHLDqWN1cnNpdmVtZW50IGRhbnMgY2hhcXVlIHNvdXMtbW9kdWxlIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyNgogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJhZmZpY2hlciBsZXMgbGlnbmVzIHF1aSBuZSBjb3JyZXNwb25kZW50IHBhcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODEzCisjOiBidWlsdGluL2dyZXAuYzo4MjgKIG1zZ2lkICJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIgogbXNnc3RyICJjb3JyZXNwb25kYW5jZSBpbnNlbnNpYmxlIMOgIGxhIGNhc3NlIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzMAogbXNnaWQgIm1hdGNoIHBhdHRlcm5zIG9ubHkgYXQgd29yZCBib3VuZGFyaWVzIgogbXNnc3RyICJyZWNoZXJjaGVyIGxlcyBtb3RpZnMgYXV4IHPDqXBhcmF0ZXVycyBkZSBtb3RzIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzMgogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIGFzIHRleHQiCiBtc2dzdHIgInRyYWl0ZXIgbGVzIGZpY2hpZXJzIGJpbmFpcmVzIGNvbW1lIHRleHRlIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzNAogbXNnaWQgImRvbid0IG1hdGNoIHBhdHRlcm5zIGluIGJpbmFyeSBmaWxlcyIKIG1zZ3N0ciAibmUgcGFzIGNoZXJjaGVyIGxlcyBtb3RpZnMgZGFucyBsZXMgZmljaGllcnMgYmluYWlyZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgyMgorIzogYnVpbHRpbi9ncmVwLmM6ODM3CiBtc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgd2l0aCB0ZXh0Y29udiBmaWx0ZXJzIgogbXNnc3RyICJ0cmFpdGVyIGxlcyBmaWNoaWVycyBiaW5haXJlcyBhdmVjIGxlcyBmaWx0cmVzIHRleHRjb252IgogCi0jOiBidWlsdGluL2dyZXAuYzo4MjQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzOQogbXNnaWQgInNlYXJjaCBpbiBzdWJkaXJlY3RvcmllcyAoZGVmYXVsdCkiCiBtc2dzdHIgInJlY2hlcmNoZXIgZGFucyBsZXMgc291cy1yw6lwZXJ0b2lyZXMgKGTDqWZhdXQpIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0MQogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAiZGVzY2VuZHJlIGF1IHBsdXMgZGUgPHByb2ZvbmRldXI+IGRhbnMgbCdhcmJvcmVzY2VuY2UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgzMAorIzogYnVpbHRpbi9ncmVwLmM6ODQ1CiBtc2dpZCAidXNlIGV4dGVuZGVkIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgInV0aWxpc2VyIGRlcyBleHByZXNzaW9ucyByw6lndWxpw6hyZXMgw6l0ZW5kdWVzIFBPU0lYIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0OAogbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKIG1zZ3N0ciAidXRpbGlzZXIgZGVzIGV4cHJlc3Npb25zIHLDqWd1bGnDqHJlcyBiYXNpcXVlcyBQT1NJWCAocGFyIGTDqWZhdXQpIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MzYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1MQogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICJpbnRlcnByw6l0ZXIgbGVzIG1vdGlmcyBjb21tZSBkZSBjaGHDrm5lcyBmaXhlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODM5CisjOiBidWlsdGluL2dyZXAuYzo4NTQKIG1zZ2lkICJ1c2UgUGVybC1jb21wYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgInV0aWxpc2VyIGRlcyBleHByZXNzaW9ucyByw6lndWxpw6hyZXMgY29tcGF0aWJsZXMgYXZlYyBQZXJsIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1NwogbXNnaWQgInNob3cgbGluZSBudW1iZXJzIgogbXNnc3RyICJhZmZpY2hlciBsZXMgbnVtw6lyb3MgZGUgbGlnbmUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0MworIzogYnVpbHRpbi9ncmVwLmM6ODU4CiBtc2dpZCAic2hvdyBjb2x1bW4gbnVtYmVyIG9mIGZpcnN0IG1hdGNoIgogbXNnc3RyICJhZmZpY2hlciBsZSBudW3DqXJvIGRlIGNvbG9ubmUgZGUgbGEgcHJlbWnDqHJlIGNvcnJlc3BvbmRhbmNlIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1OQogbXNnaWQgImRvbid0IHNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJuZSBwYXMgcGFzIGFmZmljaGVyIGxlcyBub21zIGRlIGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0NQorIzogYnVpbHRpbi9ncmVwLmM6ODYwCiBtc2dpZCAic2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBub21zIGRlIGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0NworIzogYnVpbHRpbi9ncmVwLmM6ODYyCiBtc2dpZCAic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIG5vbXMgZGUgZmljaGllcnMgcmVsYXRpdmVtZW50IGF1IHLDqXBlcnRvaXJlIGRlIGJhc2UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0OQorIzogYnVpbHRpbi9ncmVwLmM6ODY0CiBtc2dpZCAic2hvdyBvbmx5IGZpbGVuYW1lcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJuJ2FmZmljaGVyIHF1ZSBsZXMgbm9tcyBkZSBmaWNoaWVycyBhdSBsaWV1IGRlcyBsaWduZXMgY29ycmVzcG9uZGFudCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODUxCisjOiBidWlsdGluL2dyZXAuYzo4NjYKIG1zZ2lkICJzeW5vbnltIGZvciAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIG1zZ3N0ciAic3lub255bWUgcG91ciAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODU0CisjOiBidWlsdGluL2dyZXAuYzo4NjkKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgIm4nYWZmaWNoZXIgcXVlIGxlcyBub21zIGRlcyBmaWNoaWVycyBzYW5zIGNvcnJlc3BvbmRhbmNlIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3MQogbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCiBtc2dzdHIgImltcHJpbWVyIHVuZSBjYXJhY3TDqHJlIE5VTCBhcHLDqHMgbGUgbm9tcyBkZSBmaWNoaWVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NAogbXNnaWQgInNob3cgb25seSBtYXRjaGluZyBwYXJ0cyBvZiBhIGxpbmUiCiBtc2dzdHIgIm4nYWZmaWNoZXIgcXVlIGxlcyBwYXJ0aWVzIGNvcnJlc3BvbmRhbnRlcyBkJ3VuZSBsaWduZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODYxCisjOiBidWlsdGluL2dyZXAuYzo4NzYKIG1zZ2lkICJzaG93IHRoZSBudW1iZXIgb2YgbWF0Y2hlcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICJhZmZpY2hlciBsZSBub21icmUgZGUgY29ycmVzcG9uZGFuY2VzIGF1IGxpZXUgZGVzIGxpZ25lcyBjb3JyZXNwb25kYW50IgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NwogbXNnaWQgImhpZ2hsaWdodCBtYXRjaGVzIgogbXNnc3RyICJtZXR0cmUgZW4gw6l2aWRlbmNlIGxlcyBjb3JyZXNwb25kYW5jZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2NAorIzogYnVpbHRpbi9ncmVwLmM6ODc5CiBtc2dpZCAicHJpbnQgZW1wdHkgbGluZSBiZXR3ZWVuIG1hdGNoZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMiCiBtc2dzdHIgIiIKICJpbXByaW1lciB1bmUgbGlnbmUgdmlkZSBlbnRyZSBsZXMgY29ycmVzcG9uZGFuY2VzIGRlIGZpY2hpZXJzIGRpZmbDqXJlbnRzIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg4MQogbXNnaWQgInNob3cgZmlsZW5hbWUgb25seSBvbmNlIGFib3ZlIG1hdGNoZXMgZnJvbSBzYW1lIGZpbGUiCiBtc2dzdHIgIiIKICJhZmZpY2hlciBsZSBub20gZGUgZmljaGllciB1bmUgZm9pcyBhdSBkZXNzdXMgZGVzIGNvcnJlc3BvbmRhbmNlcyBkdSBtw6ptZSAiCiAiZmljaGllciIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODY5CisjOiBidWlsdGluL2dyZXAuYzo4ODQKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBhbmQgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAiYWZmaWNoZXIgPG4+IGxpZ25lcyBkZSBjb250ZXh0ZSBhdmFudCBldCBhcHLDqHMgbGVzIGNvcnJlc3BvbmRhbmNlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODcyCisjOiBidWlsdGluL2dyZXAuYzo4ODcKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICJhZmZpY2hlciA8bj4gbGlnbmVzIGRlIGNvbnRleHRlIGF2YW50IGxlcyBjb3JyZXNwb25kYW5jZXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg3NAorIzogYnVpbHRpbi9ncmVwLmM6ODg5CiBtc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBhZnRlciBtYXRjaGVzIgogbXNnc3RyICJhZmZpY2hlciA8bj4gbGlnbmVzIGRlIGNvbnRleHRlIGFwcsOocyBsZXMgY29ycmVzcG9uZGFuY2VzIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NzYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5MQogbXNnaWQgInVzZSA8bj4gd29ya2VyIHRocmVhZHMiCiBtc2dzdHIgInV0aWxpc2VyIDxuPiBmaWxzIGRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg3NworIzogYnVpbHRpbi9ncmVwLmM6ODkyCiBtc2dpZCAic2hvcnRjdXQgZm9yIC1DIE5VTSIKIG1zZ3N0ciAicmFjY291cmNpIHBvdXIgLUMgTlVNIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5NQogbXNnaWQgInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgIiIKICJhZmZpY2hlciB1bmUgbGlnbmUgYXZlYyBsZSBub20gZGUgbGEgZm9uY3Rpb24gYXZhbnQgbGVzIGNvcnJlc3BvbmRhbmNlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODgyCisjOiBidWlsdGluL2dyZXAuYzo4OTcKIG1zZ2lkICJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIKIG1zZ3N0ciAiYWZmaWNoZXIgbGEgZm9uY3Rpb24gY29udGVuYW50ZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg1CisjOiBidWlsdGluL2dyZXAuYzo5MDAKIG1zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKIG1zZ3N0ciAibGlyZSBsZXMgbW90aWZzIGRlcHVpcyBmaWNoaWVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMgogbXNnaWQgIm1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAicmVjaGVyY2hlciA8bW90aWY+IgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwNAogbXNnaWQgImNvbWJpbmUgcGF0dGVybnMgc3BlY2lmaWVkIHdpdGggLWUiCiBtc2dzdHIgImNvbWJpbmVyIGxlcyBtb3RpZnMgc3DDqWNpZmnDqXMgcGFyIC1lIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxNgogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICIiCiAiaW5kaXF1ZXIgZGVzIGNvcnJlc3BvbmRhbmNlcyBhdmVjIGxlIGNvZGUgZGUgc29ydGllIG1haXMgc2FucyByaWVuIGFmZmljaGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxOAogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgIiIKICJuJ2FmZmljaGVyIHF1ZSBsZXMgY29ycmVzcG9uZGFuY2VzIGRlIGZpY2hpZXJzIHF1aSBjb3JyZXNwb25kZW50IMOgIHRvdXMgbGVzICIKICJtb3RpZnMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwNQorIzogYnVpbHRpbi9ncmVwLmM6OTIwCiBtc2dpZCAic2hvdyBwYXJzZSB0cmVlIGZvciBncmVwIGV4cHJlc3Npb24iCiBtc2dzdHIgImFmZmljaGVyIGwnYXJicmUgZCdhbmFseXNlIHBvdXIgbGUgbW90aWYgZ3JlcCIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTA5CisjOiBidWlsdGluL2dyZXAuYzo5MjQKIG1zZ2lkICJwYWdlciIKIG1zZ3N0ciAicGFnaW5ldXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQorIzogYnVpbHRpbi9ncmVwLmM6OTI0CiBtc2dpZCAic2hvdyBtYXRjaGluZyBmaWxlcyBpbiB0aGUgcGFnZXIiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBmaWNoaWVycyBjb3JyZXNwb25kYW50IGRhbnMgbGUgcGFnaW5ldXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkxMworIzogYnVpbHRpbi9ncmVwLmM6OTI4CiBtc2dpZCAiYWxsb3cgY2FsbGluZyBvZiBncmVwKDEpIChpZ25vcmVkIGJ5IHRoaXMgYnVpbGQpIgogbXNnc3RyICJwZXJtZXR0cmUgbCdhcHBlbCBkZSBncmVwKDEpIChpZ25vcsOpIHBhciBjZSBidWlsZCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk3NworIzogYnVpbHRpbi9ncmVwLmM6OTkyCiBtc2dpZCAibm8gcGF0dGVybiBnaXZlbiIKIG1zZ3N0ciAiYXVjdW4gbW90aWYgZm91cm5pIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDEzCisjOiBidWlsdGluL2dyZXAuYzoxMDI4CiBtc2dpZCAiLS1uby1pbmRleCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIHJldnMiCiBtc2dzdHIgIiIKICItLW5vLWluZGV4IG91IC0tdW50cmFja2VkIG5lIHBldXZlbnQgcGFzIMOqdHJlIHV0aWxpc8OpcyBhdmVjIGRlcyByw6l2aXNpb25zIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDIwCisjOiBidWlsdGluL2dyZXAuYzoxMDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZXNvbHZlIHJldmlzaW9uOiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSByw6lzb3VkcmUgbGEgcsOpdmlzaW9uwqA6ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDUxCisjOiBidWlsdGluL2dyZXAuYzoxMDY3CiBtc2dpZCAiaW52YWxpZCBvcHRpb24gY29tYmluYXRpb24sIGlnbm9yaW5nIC0tdGhyZWFkcyIKIG1zZ3N0ciAib3B0aW9uIGRlIGNvbWJpbmFpc29uIGludmFsaWRlLCBpZ25vcmUgLS10aHJlYWRzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDU0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM5NworIzogYnVpbHRpbi9ncmVwLmM6MTA3MCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDAKIG1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nIC0tdGhyZWFkcyIKIG1zZ3N0ciAicGFzIGRlIHN1cHBvcnQgZGVzIGZpbHMsIGlnbm9yZSAtLXRocmVhZHMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUwMyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUzMSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIKIG1zZ3N0ciAibm9tYnJlIGRlIGZpbHMgc3DDqWNpZmnDqSBpbnZhbGlkZSAoJWQpIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDgwCisjOiBidWlsdGluL2dyZXAuYzoxMDk2CiBtc2dpZCAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIG9ubHkgd29ya3Mgb24gdGhlIHdvcmt0cmVlIgogbXNnc3RyICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgbmUgZm9uY3Rpb25uZSBxdWUgc3VyIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExMDMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMTkKIG1zZ2lkICJvcHRpb24gbm90IHN1cHBvcnRlZCB3aXRoIC0tcmVjdXJzZS1zdWJtb2R1bGVzIgogbXNnc3RyICJvcHRpb24gbm9uIHN1cHBvcnTDqWUgYXZlYyAtLXJlY3Vyc2Utc3VibW9kdWxlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTEwOQorIzogYnVpbHRpbi9ncmVwLmM6MTEyNQogbXNnaWQgIi0tY2FjaGVkIG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggLS1uby1pbmRleCIKIG1zZ3N0ciAiLS1jYWNoZWQgb3UgLS11bnRyYWNrZWQgbmUgcGV1dmVudCBwYXMgw6p0cmUgdXRpbGlzw6lzIGF2ZWMgLS1uby1pbmRleCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTExNQorIzogYnVpbHRpbi9ncmVwLmM6MTEzMQogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzIgogbXNnc3RyICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBhdmVjIGR1IGNvbnRlbnUgc3VpdmkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExMjMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMzkKIG1zZ2lkICJib3RoIC0tY2FjaGVkIGFuZCB0cmVlcyBhcmUgZ2l2ZW4iCiBtc2dzdHIgIi0tY2FjaGVkIGV0IGRlcyBhcmJyZXMgc29udCBmb3VybmlzIGVuIG3Dqm1lIHRlbXBzIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODQKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4NQogbXNnaWQgIiIKICJnaXQgaGFzaC1vYmplY3QgWy10IDx0eXBlPl0gWy13XSBbLS1wYXRoPTxmaWxlPiB8IC0tbm8tZmlsdGVyc10gWy0tc3RkaW5dICIKICJbLS1dIDxmaWxlPi4uLiIKQEAgLTExODI0LDM4ICsxNDU4MSwzNCBAQAogImdpdCBoYXNoLW9iamVjdCBbLXQgPHR5cGU+XSBbLXddIFstLXBhdGg9PGZpY2hpZXI+IHwgLS1uby1maWx0ZXJzXSBbLS1zdGRpbl0gIgogIlstLV0gPGZpY2hpZXI+Li4uIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODUKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4NgogbXNnaWQgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIG1zZ3N0ciAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTcKLW1zZ2lkICJ0eXBlIgotbXNnc3RyICJ0eXBlIgotCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTcKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAogbXNnaWQgIm9iamVjdCB0eXBlIgogbXNnc3RyICJ0eXBlIGQnb2JqZXQiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CiBtc2dpZCAid3JpdGUgdGhlIG9iamVjdCBpbnRvIHRoZSBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgIsOpY3JpcmUgbCdvYmpldCBkYW5zIGxhIGJhc2UgZGUgZG9ubsOpZSBkJ29iamV0cyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQogbXNnaWQgInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIgogbXNnc3RyICJsaXJlIGwnb2JqZXQgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMgorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMwogbXNnaWQgInN0b3JlIGZpbGUgYXMgaXMgd2l0aG91dCBmaWx0ZXJzIgogbXNnc3RyICJzdG9ja2VyIGxlIGZpY2hpZXIgdGVsIHF1ZWwgc2FucyBmaWx0cmFnZSIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwNAogbXNnaWQgIiIKICJqdXN0IGhhc2ggYW55IHJhbmRvbSBnYXJiYWdlIHRvIGNyZWF0ZSBjb3JydXB0IG9iamVjdHMgZm9yIGRlYnVnZ2luZyBHaXQiCiBtc2dzdHIgIiIKICJqdXN0ZSBoYXNoZXIgbidpbXBvcnRlIHF1ZWwgY29udGVudSBwb3VyIGNyw6llciBkZXMgb2JqZXRzIGNvcnJvbXB1cyBwb3VyICIKICJkZWJ1Z2dlciBHaXQiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDQKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDUKIG1zZ2lkICJwcm9jZXNzIGZpbGUgYXMgaXQgd2VyZSBmcm9tIHRoaXMgcGF0aCIKIG1zZ3N0ciAidHJhaXRlciBsZSBmaWNoaWVyIGNvbW1lIHMnaWwgdmVuYWl0IGRlIGNlIGNoZW1pbiIKIApAQCAtMTE4OTUsMzAgKzE0NjQ4LDMwIEBACiBtc2dpZCAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbW1hbmQ+XSIKIG1zZ3N0ciAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbW1hbmRlPl0iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjczCisjOiBidWlsdGluL2hlbHAuYzo3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVscCBmb3JtYXQgJyVzJyIKIG1zZ3N0ciAiZm9ybWF0IGQnYWlkZSBub24gcmVjb25udSAnJXMnIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMDAKKyM6IGJ1aWx0aW4vaGVscC5jOjEwNAogbXNnaWQgIkZhaWxlZCB0byBzdGFydCBlbWFjc2NsaWVudC4iCiBtc2dzdHIgIsOpY2hlYyBkZSBkw6ltYXJyYWdlIGQnZW1hY3NjbGllbnQuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMTMKKyM6IGJ1aWx0aW4vaGVscC5jOjExNwogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbWFjc2NsaWVudCB2ZXJzaW9uLiIKIG1zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBsYSB2ZXJzaW9uIGQnZW1hY3NjbGllbnQuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMjEKKyM6IGJ1aWx0aW4vaGVscC5jOjEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJlbWFjc2NsaWVudCB2ZXJzaW9uICclZCcgdG9vIG9sZCAoPCAyMikuIgogbXNnc3RyICJsYSB2ZXJzaW9uIGQnZW1hY3NjbGllbnQgJyVkJyBlc3QgdHJvcCBhbmNpZW5uZSAoPDIyKS4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEzOSBidWlsdGluL2hlbHAuYzoxNjEgYnVpbHRpbi9oZWxwLmM6MTcxIGJ1aWx0aW4vaGVscC5jOjE3OQorIzogYnVpbHRpbi9oZWxwLmM6MTQzIGJ1aWx0aW4vaGVscC5jOjE2NSBidWlsdGluL2hlbHAuYzoxNzUgYnVpbHRpbi9oZWxwLmM6MTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleGVjICclcyciCiBtc2dzdHIgIsOpY2hlYyBkZSBsJ2V4w6ljdXRpb24gZGUgJyVzJyIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjE3CisjOiBidWlsdGluL2hlbHAuYzoyMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IHBhdGggZm9yIHVuc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCkBAIC0xMTkyNyw3ICsxNDY4MCw3IEBACiAiJyVzJyA6IGNoZW1pbiBwb3VyIGwndXRpbGl0YWlyZSBkZSB2aXN1YWxpc2F0aW9uIGRlIG1hbnVlbCBub24gc3VwcG9ydMOpLlxuIgogIlZldWlsbGV6IHV0aWxpc2VyIHBsdXTDtHQgJ21hbi48b3V0aWw+LmNtZCcuIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMjkKKyM6IGJ1aWx0aW4vaGVscC5jOjIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogY21kIGZvciBzdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKQEAgLTExOTM2LDMyOCArMTQ2ODksMzE4IEBACiAiJyVzJyA6IGNoZW1pbiBwb3VyIGwndXRpbGl0YWlyZSBkZSB2aXN1YWxpc2F0aW9uIGRlIG1hbnVlbCBzdXBwb3J0w6kuXG4iCiAiVmV1aWxsZXogdXRpbGlzZXIgcGx1dMO0dCAnbWFuLjxvdXRpbD4uY21kJy4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM0NgorIzogYnVpbHRpbi9oZWxwLmM6MzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVua25vd24gbWFuIHZpZXdlci4iCiBtc2dzdHIgIiclcycgOiB2aXN1YWxpc2V1ciBkZSBtYW51ZWwgaW5jb25udS4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM2MworIzogYnVpbHRpbi9oZWxwLmM6MzY3CiBtc2dpZCAibm8gbWFuIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICJhdWN1biB2aXN1YWxpc2V1ciBkZSBtYW51ZWwgbidhIHByaXMgZW4gY2hhcmdlIGxhIGRlbWFuZGUiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM3MQorIzogYnVpbHRpbi9oZWxwLmM6Mzc1CiBtc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAiYXVjdW4gdmlzdWFsaXNldXIgZGUgJ2luZm8nIG4nYSBwcmlzIGVuIGNoYXJnZSBsYSBkZW1hbmRlIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MzAgYnVpbHRpbi9oZWxwLmM6NDQxIGdpdC5jOjMyMgorIzogYnVpbHRpbi9oZWxwLmM6NDM0IGJ1aWx0aW4vaGVscC5jOjQ0NSBnaXQuYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbGlhc2VkIHRvICclcyciCiBtc2dzdHIgIiclcycgZXN0IHVuIGFsaWFzIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ0NAorIzogYnVpbHRpbi9oZWxwLmM6NDQ4IGdpdC5jOjM2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgYWxpYXMuJXMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAiTWF1dmFpcyBjaGHDrm5lIGFsaWFzLiVzwqA6ICVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NzMgYnVpbHRpbi9oZWxwLmM6NTAzCisjOiBidWlsdGluL2hlbHAuYzo0NzcgYnVpbHRpbi9oZWxwLmM6NTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyVzIgogbXNnc3RyICJ1c2FnZSA6ICVzJXMiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ4NworIzogYnVpbHRpbi9oZWxwLmM6NDkxCiBtc2dpZCAiJ2dpdCBoZWxwIGNvbmZpZycgZm9yIG1vcmUgaW5mb3JtYXRpb24iCiBtc2dzdHIgIidnaXQgaGVscCBjb25maWcnIHBvdXIgcGx1cyBkJ2luZm9ybWF0aW9uIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxODQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgdHlwZSBtaXNtYXRjaCBhdCAlcyIKIG1zZ3N0ciAidHlwZSBkJ29iamV0IG5vbiBjb3JyZXNwb25kYW50IMOgICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJkaWQgbm90IHJlY2VpdmUgZXhwZWN0ZWQgb2JqZWN0ICVzIgogbXNnc3RyICJvYmpldCBhdHRlbmR1IG5vbiByZcOndSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzOiBleHBlY3RlZCB0eXBlICVzLCBmb3VuZCAlcyIKIG1zZ3N0ciAib2JqZXQgJXMgOiB0eXBlIGF0dGVuZHUgJXMsIHJlw6d1ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmlsbCAlZCBieXRlIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgZmlsbCAlZCBieXRlcyIKIG1zZ3N0clswXSAiaW1wb3NzaWJsZSBkZSByZW1wbGlyICVkIG9jdGV0IgogbXNnc3RyWzFdICJpbXBvc3NpYmxlIGRlIHJlbXBsaXIgJWQgb2N0ZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OAogbXNnaWQgImVhcmx5IEVPRiIKIG1zZ3N0ciAiZmluIGRlIGZpY2hpZXIgcHLDqW1hdHVyw6llIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OQogbXNnaWQgInJlYWQgZXJyb3Igb24gaW5wdXQiCiBtc2dzdHIgImVycmV1ciBkZSBsZWN0dXJlIHN1ciBsJ2VudHLDqWUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgxCiBtc2dpZCAidXNlZCBtb3JlIGJ5dGVzIHRoYW4gd2VyZSBhdmFpbGFibGUiCiBtc2dzdHIgInBsdXMgZCdvY3RldHMgdXRpbGlzw6lzIHF1ZSBkaXNwb25pYmxlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTk4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo2MDQKIG1zZ2lkICJwYWNrIHRvbyBsYXJnZSBmb3IgY3VycmVudCBkZWZpbml0aW9uIG9mIG9mZl90IgogbXNnc3RyICJsZSBwYXF1ZXQgZXN0IHRyb3AgZ3JhbmQgcG91ciBsYSBkw6lmaW5pdGlvbiBhY3R1ZWxsZSBkZSBvZmZfdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgyIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkxIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5NQogbXNnaWQgInBhY2sgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgc2l6ZSIKIG1zZ3N0ciAibGUgcGFxdWV0IGTDqXBhc3NlIGxhIHRhaWxsZSBtYXhpbWFsZSBwZXJtaXNlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgotbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciAnJXMnIgotCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBwYWNrZmlsZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgcGFxdWV0ICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI2CiBtc2dpZCAicGFjayBzaWduYXR1cmUgbWlzbWF0Y2giCiBtc2dzdHIgImxhIHNpZ25hdHVyZSBkdSBwYXF1ZXQgbmUgY29ycmVzcG9uZCBwYXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgdmVyc2lvbiAlPFBSSXUzMj4gdW5zdXBwb3J0ZWQiCiBtc2dzdHIgImxhIHZlcnNpb24gZGUgcGFxdWV0ICU8UFJJdTMyPiBub24gc3VwcG9ydMOpZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzM3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgYmFkIG9iamVjdCBhdCBvZmZzZXQgJTxQUkl1TUFYPjogJXMiCiBtc2dzdHIgImxlIHBhcXVldCBhIHVuIG1hdXZhaXMgb2JqZXQgw6AgbCdvZmZzZXQgJTxQUkl1TUFYPsKgOiAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDU3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo0NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbGF0ZSByZXR1cm5lZCAlZCIKIG1zZ3N0ciAibGEgZMOpY29tcHJlc3Npb24gKGluZmxhdGUpIGEgcmV0b3VybsOpICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MDYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUxNQogbXNnaWQgIm9mZnNldCB2YWx1ZSBvdmVyZmxvdyBmb3IgZGVsdGEgYmFzZSBvYmplY3QiCiBtc2dzdHIgImTDqXBhc3NlbWVudCBkZSBsYSB2YWxldXIgZCdvZmZzZXQgcG91ciBsJ29iamV0IGRlbHRhIGRlIGJhc2UiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUxNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTIzCiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgaXMgb3V0IG9mIGJvdW5kIgogbXNnc3RyICJsJ29iamV0IGRlbHRhIGRlIGJhc2UgZXN0IGhvcnMgbGltaXRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9iamVjdCB0eXBlICVkIgogbXNnc3RyICJ0eXBlIGQnb2JqZXQgaW5jb25udSAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTUzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NjIKIG1zZ2lkICJjYW5ub3QgcHJlYWQgcGFjayBmaWxlIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgKHByZWFkKSBsZSBmaWNoaWVyIHBhcXVldCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZSBtaXNzaW5nIgogbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlcyBtaXNzaW5nIgogbXNnc3RyWzBdICJmaW4gcHLDqW1hdHVyw6llIGR1IGZpY2hpZXIgcGFxdWV0LCAlPFBSSXVNQVg+IG9jdGV0IGx1IgogbXNnc3RyWzFdICJmaW4gcHLDqW1hdHVyw6llIGR1IGZpY2hpZXIgcGFxdWV0LCAlPFBSSXVNQVg+IG9jdGV0cyBsdXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU4MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTkwCiBtc2dpZCAic2VyaW91cyBpbmZsYXRlIGluY29uc2lzdGVuY3kiCiBtc2dzdHIgImdyYXZlIGluY29ow6lyZW5jZSBkYW5zIGxhIGTDqWNvbXByZXNzaW9uIChpbmZsYXRlKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzI2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjczMiBidWlsdGluL2luZGV4LXBhY2suYzo3NTUKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc5NCBidWlsdGluL2luZGV4LXBhY2suYzo4MDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjczNSBidWlsdGluL2luZGV4LXBhY2suYzo3NDEgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzY0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MDMgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIKIG1zZ3N0ciAiQ09MTElTSU9OIFNIQTEgVFJPVVbDiUUgQVZFQyAlcyAhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3MjkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTEKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjExIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzA1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3MzggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjE3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzExCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc5MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCBpbmZvICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbCdpbmZvcm1hdGlvbiBleGlzdGFudGUgZGUgbCdvYmpldCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODAwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbCdvYmpldCBleGlzdGFudCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBibG9iIG9iamVjdCAlcyIKIG1zZ3N0ciAib2JqZXQgYmxvYiBpbnZhbGlkZSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODI2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0NQogbXNnaWQgImZzY2sgZXJyb3IgaW4gcGFja2VkIG9iamVjdCIKIG1zZ3N0ciAiZXJyZXVyIGRlIGZzY2sgZGFucyBsJ29iamV0IGVtcGFxdWV0w6kiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzMwotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkICVzIgotbXNnc3RyICIlcyBpbnZhbGlkZSIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODM4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGFsbCBjaGlsZCBvYmplY3RzIG9mICVzIGFyZSByZWFjaGFibGUiCiBtc2dzdHIgIlRvdXMgbGVzIG9iamV0cyBlbmZhbnRzIGRlICVzIG5lIHNvbnQgcGFzIGFjY2Vzc2libGVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo5MTAgYnVpbHRpbi9pbmRleC1wYWNrLmM6OTQxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo5MTkgYnVpbHRpbi9pbmRleC1wYWNrLmM6OTUwCiBtc2dpZCAiZmFpbGVkIHRvIGFwcGx5IGRlbHRhIgogbXNnc3RyICLDqWNoZWMgZCdhcHBsaWNhdGlvbiBkdSBkZWx0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTExOAogbXNnaWQgIlJlY2VpdmluZyBvYmplY3RzIgogbXNnc3RyICJSw6ljZXB0aW9uIGQnb2JqZXRzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiSW5kZXhhdGlvbiBkJ29iamV0cyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MgogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAibGUgcGFxdWV0IGVzdCBjb3Jyb21wdSAoU0hBMSBuZSBjb3JyZXNwb25kIHBhcykiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNDgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTcKIG1zZ2lkICJjYW5ub3QgZnN0YXQgcGFja2ZpbGUiCiBtc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGxlIHN0YXR1dCAoZnN0YXQpIGR1IGZpY2hpZXIgcGFxdWV0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTUxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYwCiBtc2dpZCAicGFjayBoYXMganVuayBhdCB0aGUgZW5kIgogbXNnc3RyICJsZSBwYXF1ZXQgZXN0IGludmFsaWRlIMOgIGxhIGZpbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3MgogbXNnaWQgImNvbmZ1c2lvbiBiZXlvbmQgaW5zYW5pdHkgaW4gcGFyc2VfcGFja19vYmplY3RzKCkiCiBtc2dzdHIgImNvbmZ1c2lvbiBleHRyw6ptZSBkYW5zIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTg2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk1CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKIG1zZ3N0ciAiUsOpc29sdXRpb24gZGVzIGRlbHRhcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE5NiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMDUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgZmlsIDogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNDYKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgogbXNnc3RyICJjb25mdXNpb24gZXh0csOqbWUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3RzIgogbXNnc3RyWzBdICJjb21wbMOpdMOpIGF2ZWMgJWQgb2JqZXQgbG9jYWwiCiBtc2dzdHJbMV0gImNvbXBsw6l0w6kgYXZlYyAlZCBvYmpldHMgbG9jYXV4IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICIiCiAiU29tbWUgZGUgY29udHLDtGxlIGRlIGZpbiBpbmF0dGVuZHVlIHBvdXIgJXMgKGNvcnJ1cHRpb24gc3VyIGxlIGRpc3F1ZSA/KSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKIG1zZ3N0clswXSAibGUgcGFxdWV0IGEgJWQgZGVsdGEgbm9uIHLDqXNvbHUiCiBtc2dzdHJbMV0gImxlIHBhcXVldCBhICVkIGRlbHRhcyBub24gcsOpc29sdXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyODMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgYXBwZW5kZWQgb2JqZWN0ICglZCkiCiBtc2dzdHIgImltcG9zc2libGUgZGUgY29tcHJlc3NlciBsJ29iamV0IGFqb3V0w6kgKCVkKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKIG1zZ3N0ciAibCdvYmpldCBsb2NhbCAlcyBlc3QgY29ycm9tcHUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFja2ZpbGUgbmFtZSAnJXMnIGRvZXMgbm90IGVuZCB3aXRoICcucGFjayciCiBtc2dzdHIgImxlIG5vbSBkZSBmaWNoaWVyIHBhcXVldCAnJXMnIG5lIHNlIHRlcm1pbmUgcGFzIHBhciAnLnBhY2snIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzk5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB3cml0ZSAlcyBmaWxlICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlIGZpY2hpZXIgJXMgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiAlcyBmaWxlICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgZmVybWVyIGxlIGZpY2hpZXIgJXMgw6ljcml0ICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MzEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NTkKIG1zZ2lkICJlcnJvciB3aGlsZSBjbG9zaW5nIHBhY2sgZmlsZSIKIG1zZ3N0ciAiZXJyZXVyIGVuIGZlcm1ldHVyZSBkdSBmaWNoaWVyIHBhcXVldCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3MwogbXNnaWQgImNhbm5vdCBzdG9yZSBwYWNrIGZpbGUiCiBtc2dzdHIgImltcG9zc2libGUgZGUgc3RvY2tlciBsZSBmaWNoaWVyIHBhcXVldCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ1MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4MQogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHN0b2NrZXIgbGUgZmljaGllciBkJ2luZGV4IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDk3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUyNSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPiIKIG1zZ3N0ciAibWF1dmFpcyBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgbGUgZmljaGllciBwYXF1ZXQgZXhpc3RhbnQgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGlkeCBmaWxlIGZvciAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgcGFxdWV0IGQnaW5kZXggZXhpc3RhbnQgcG91ciAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjE1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vbiBkZWx0YTogJWQgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJub24gZGVsdGE6ICVkIG9iamVjdHMiCiBtc2dzdHJbMF0gInBhcyB1biBkZWx0YSA6ICVkIG9iamV0IgogbXNnc3RyWzFdICJwYXMgdW4gZGVsdGEgOiAlZCBvYmpldHMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKIG1zZ3N0clswXSAibG9uZ3VldXIgY2hhw65uw6llID0gJWQgOiAlbHUgb2JqZXQiCiBtc2dzdHJbMV0gImxvbmd1ZXVyIGNoYcOubsOpZSA9ICVkIDogJWx1IG9iamV0cyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY1OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY4OQogbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHJldmVuaXIgYXUgcsOpcGVydG9pcmUgZGUgdHJhdmFpbCBjb3VyYW50IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzA4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTEKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MjcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczMQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczOCBidWlsdGluL2luZGV4LXBhY2suYzoxNzQxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzU3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkICVzIgogbXNnc3RyICJtYXV2YWlzICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzc3CiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCiBtc2dzdHIgIi0tZml4LXRoaW4gbmUgcGV1dCBwYXMgw6p0cmUgdXRpbGlzw6kgc2FucyAtLXN0ZGluIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQ5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzc5CiBtc2dpZCAiLS1zdGRpbiByZXF1aXJlcyBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICItLXN0ZGluIHJlcXVpZXJ0IHVuIGTDqXDDtHQgZ2l0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzg1CiBtc2dpZCAiLS12ZXJpZnkgd2l0aCBubyBwYWNrZmlsZSBuYW1lIGdpdmVuIgogbXNnc3RyICItLXZlcmlmeSBzYW5zIG5vbSBkZSBmaWNoaWVyIHBhcXVldCBkb25uw6kiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4MDMgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjU4MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTgzMyBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTgxCiBtc2dpZCAiZnNjayBlcnJvciBpbiBwYWNrIG9iamVjdHMiCiBtc2dzdHIgImVycmV1ciBkZSBmc2NrIGRhbnMgbGVzIG9iamV0cyBwYXF1ZXRzIgogCkBAIC0xMjI2OSwxMiArMTUwMTIsMTIgQEAKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuZGlyICclcyciCi1tc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgKG9wZW5kaXIpICclcyciCittc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgbGUgcsOpcGVydG9pcmUgJyVzJyIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWRsaW5rICclcyciCi1tc2dzdHIgImltcG9zc2libGUgZGUgcmVhZGxpbmsgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxlIGxpZW4gJyVzJyIKIAogIzogYnVpbHRpbi9pbml0LWRiLmM6ODAKICMsIGMtZm9ybWF0CkBAIC0xMjMwMSw0MiArMTUwNDQsNDIgQEAKIG1zZ2lkICJub3QgY29weWluZyB0ZW1wbGF0ZXMgZnJvbSAnJXMnOiAlcyIKIG1zZ3N0ciAicGFzIGRlIGNvcGllIGRlcyBtb2TDqGxlcyBkZXB1aXMgJyVzJ8KgOiAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzI5CisjOiBidWlsdGluL2luaXQtZGIuYzozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGhhbmRsZSBmaWxlIHR5cGUgJWQiCiBtc2dzdHIgImltcG9zc2libGUgZGUgdHJhaXRlciBsZSBmaWNoaWVyIGRlIHR5cGUgJWQiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzMgorIzogYnVpbHRpbi9pbml0LWRiLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBtb3ZlICVzIHRvICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqXBsYWNlciAlcyB2ZXJzICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNDkgYnVpbHRpbi9pbml0LWRiLmM6MzUyCisjOiBidWlsdGluL2luaXQtZGIuYzozNTQgYnVpbHRpbi9pbml0LWRiLmM6MzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICIlcyBleGlzdGUgZMOpasOgIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIHNoYXJlZCBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIkTDqXDDtHQgR2l0IGV4aXN0YW50IHBhcnRhZ8OpIHLDqWluaXRpYWxpc8OpIGRhbnMgJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiRMOpcMO0dCBHaXQgZXhpc3RhbnQgcsOpaW5pdGlhbGlzw6kgZGFucyAlcyVzXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxMAorIzogYnVpbHRpbi9pbml0LWRiLmM6NDE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IHNoYXJlZCBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIkTDqXDDtHQgR2l0IHZpZGUgcGFydGFnw6kgaW5pdGlhbGlzw6kgZGFucyAlcyVzXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxMQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiRMOpcMO0dCBHaXQgdmlkZSBpbml0aWFsaXPDqSBkYW5zICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDYwCisjOiBidWlsdGluL2luaXQtZGIuYzo0NjgKIG1zZ2lkICIiCiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PHRlbXBsYXRlLWRpcmVjdG9yeT5dIFstLSIKICJzaGFyZWRbPTxwZXJtaXNzaW9ucz5dXSBbPGRpcmVjdG9yeT5dIgpAQCAtMTIzNDQsMjUgKzE1MDg3LDI1IEBACiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PHLDqXBlcnRvaXJlLW1vZMOobGU+XSBbLS0iCiAic2hhcmVkWz08cGVybWlzc2lvbnM+XV0gWzxyw6lwZXJ0b2lyZT5dIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0ODMKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5MQogbXNnaWQgInBlcm1pc3Npb25zIgogbXNnc3RyICJwZXJtaXNzaW9ucyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDg0CisjOiBidWlsdGluL2luaXQtZGIuYzo0OTIKIG1zZ2lkICJzcGVjaWZ5IHRoYXQgdGhlIGdpdCByZXBvc2l0b3J5IGlzIHRvIGJlIHNoYXJlZCBhbW9uZ3N0IHNldmVyYWwgdXNlcnMiCiBtc2dzdHIgInNww6ljaWZpZXIgcXVlIGxlIGTDqXDDtHQgZ2l0IHNlcmEgcGFydGFnw6kgZW50cmUgcGx1c2lldXJzIHV0aWxpc2F0ZXVycyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTE4IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMworIzogYnVpbHRpbi9pbml0LWRiLmM6NTI5IGJ1aWx0aW4vaW5pdC1kYi5jOjUzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlIChta2RpcikgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUyNworIzogYnVpbHRpbi9pbml0LWRiLmM6NTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGRpciB0byAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzZSBkw6lwbGFjZXIgdmVycyBsZSByw6lwZXJ0b2lyZSAoY2hkaXIpICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NDgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXMgKG9yIC0td29yay10cmVlPTxkaXJlY3Rvcnk+KSBub3QgYWxsb3dlZCB3aXRob3V0IHNwZWNpZnlpbmcgJXMgKG9yIC0tZ2l0LSIKQEAgLTEyMzcxLDEyICsxNTExNCwxMiBAQAogIiVzIChvdSAtLXdvcmstdHJlZT08csOpcGVydG9pcmU+KSBuJ2VzdCBwYXMgYXV0b3Jpc8OpIHNhbnMgc3DDqWNpZmllciAlcyAob3UgLS0iCiAiZ2l0LWRpcj08csOpcGVydG9pcmU+KSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTc2CisjOiBidWlsdGluL2luaXQtZGIuYzo1ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGFjY2VzcyB3b3JrIHRyZWUgJyVzJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FjY8OpZGVyIMOgIGwnYXJicmUgZGUgdHJhdmFpbCAnJXMnIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjE1CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjE2CiBtc2dpZCAiIgogImdpdCBpbnRlcnByZXQtdHJhaWxlcnMgWy0taW4tcGxhY2VdIFstLXRyaW0tZW1wdHldIFsoLS10cmFpbGVyICIKICI8dG9rZW4+Wyg9fDopPHZhbHVlPl0pLi4uXSBbPGZpbGU+Li4uXSIKQEAgLTEyMzg0LDQ2OCArMTUxMjcsNDczIEBACiAiZ2l0IGludGVycHJldC10cmFpbGVycyBbLS1pbi1wbGFjZV0gWy0tdHJpbS1lbXB0eV0gWygtLXRyYWlsZXIgIgogIjxzeW1ib2xlPlsoPXw6KTx2YWxldXI+XSkuLi5dIFs8ZmljaGllcj4uLi5dIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk0CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk1CiBtc2dpZCAiZWRpdCBmaWxlcyBpbiBwbGFjZSIKIG1zZ3N0ciAiw6lkaXRlciBsZXMgZmljaGllcnMgc3VyIHBsYWNlIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk1CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk2CiBtc2dpZCAidHJpbSBlbXB0eSB0cmFpbGVycyIKIG1zZ3N0ciAiw6lsaW1pbmVyIGxlcyBsaWduZXMgZGUgZmluIHZpZGVzIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk4CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk5CiBtc2dpZCAid2hlcmUgdG8gcGxhY2UgdGhlIG5ldyB0cmFpbGVyIgogbXNnc3RyICJvw7kgcGxhY2VyIGxlcyBub3V2ZWxsZXMgbGlnbmVzIHRlcm1pbmFsZXMiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAwCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMQogbXNnaWQgImFjdGlvbiBpZiB0cmFpbGVyIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJhY3Rpb24gc2kgbGVzIGxpZ25lcyB0ZXJtaW5hbGVzIGV4aXN0ZW50IGTDqWrDoCIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDIKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAzCiBtc2dpZCAiYWN0aW9uIGlmIHRyYWlsZXIgaXMgbWlzc2luZyIKIG1zZ3N0ciAiYWN0aW9uIHNpIGxlcyBsaWduZXMgdGVybWluYWxlcyBtYW5xdWVudCIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDQKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA1CiBtc2dpZCAib3V0cHV0IG9ubHkgdGhlIHRyYWlsZXJzIgogbXNnc3RyICLDqWxpbWluZXIgbGVzIGxpZ25lcyB0ZXJtaW5hbGVzIHZpZGVzIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNQorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDYKIG1zZ2lkICJkbyBub3QgYXBwbHkgY29uZmlnIHJ1bGVzIgogbXNnc3RyICJuZSBwYXMgYXBwbGlxdWVyIGxlcyByw6hnbGVzIGRlIGxhIGNvbmZpZ3VyYXRpb24iCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA2CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNwogbXNnaWQgImpvaW4gd2hpdGVzcGFjZS1jb250aW51ZWQgdmFsdWVzIgogbXNnc3RyICJqb2luZHJlIGxlcyB2YWxldXJzIGNvbnRpbnXDqWVzIGF2ZWMgZGVzIGNhcmFjdMOocmVzIGJsYW5jcyIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDcKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA4CiBtc2dpZCAic2V0IHBhcnNpbmcgb3B0aW9ucyIKIG1zZ3N0ciAicGFyYW3DqHRyZXMgZCdhbmFseXNlIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwOQorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMTAKIG1zZ2lkICJkbyBub3QgdHJlYXQgLS0tIHNwZWNpYWxseSIKIG1zZ3N0ciAibmUgcGFzIHRyYWl0ZXIgc3DDqWNpYWxlbWVudCAtLS0iCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTEwCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMQogbXNnaWQgInRyYWlsZXIiCiBtc2dzdHIgImxpZ25lIGRlIGZpbiIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMTEKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTEyCiBtc2dpZCAidHJhaWxlcihzKSB0byBhZGQiCiBtc2dzdHIgImxpZ25lKHMpIGRlIGZpbiDDoCBham91dGVyIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEyMAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMjMKIG1zZ2lkICItLXRyYWlsZXIgd2l0aCAtLW9ubHktaW5wdXQgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS10cmFpbGVyIG4nYSBhdWN1bmUgc2lnbmlmaWNhdGlvbiBhdmVjIC0tb25seS1pbnB1dCIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMzAKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTMzCiBtc2dpZCAibm8gaW5wdXQgZmlsZSBnaXZlbiBmb3IgaW4tcGxhY2UgZWRpdGluZyIKIG1zZ3N0ciAiYXVjdW4gZmljaGllciBlbiBlbnRyw6llIHBvdXIgbCfDqWRpdG9uIHN1ciBwbGFjZSIKIAotIzogYnVpbHRpbi9sb2cuYzo1NAorIzogYnVpbHRpbi9sb2cuYzo1NgogbXNnaWQgImdpdCBsb2cgWzxvcHRpb25zPl0gWzxyZXZpc2lvbi1yYW5nZT5dIFtbLS1dIDxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBsb2cgWzxvcHRpb25zPl0gWzxwbGFnZSBkZSByw6l2aXNpb25zPl0gW1stLV0gPGNoZW1pbj4uLi5dIgogCi0jOiBidWlsdGluL2xvZy5jOjU1CisjOiBidWlsdGluL2xvZy5jOjU3CiBtc2dpZCAiZ2l0IHNob3cgWzxvcHRpb25zPl0gPG9iamVjdD4uLi4iCiBtc2dzdHIgImdpdCBzaG93IFs8b3B0aW9ucz5dIDxvYmpldD4uLi4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgLS1kZWNvcmF0ZSBvcHRpb246ICVzIgogbXNnc3RyICJvcHRpb24gLS1kZWNvcmF0ZSBpbnZhbGlkZSA6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MgotbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgotbXNnc3RyICJzdXBwcmltZXIgbGEgc29ydGllIGRlcyBkaWZmw6lyZW5jZXMiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6MTYzCisjOiBidWlsdGluL2xvZy5jOjE3NAogbXNnaWQgInNob3cgc291cmNlIgogbXNnc3RyICJhZmZpY2hlciBsYSBzb3VyY2UiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY0CisjOiBidWlsdGluL2xvZy5jOjE3NQogbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgogbXNnc3RyICJVdGlsaXNlciBsZSBmaWNoaWVyIGRlIGNvcnJlc3BvbmRhbmNlIGRlIG1haWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY2CisjOiBidWlsdGluL2xvZy5jOjE3NwogbXNnaWQgIm9ubHkgZGVjb3JhdGUgcmVmcyB0aGF0IG1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiZMOpY29yZXIgc2V1bGVtZW50IGxlcyByw6lmw6lyZW5jZXMgY29ycmVzcG9uZGFudCDDoCA8bW90aWY+IgogCi0jOiBidWlsdGluL2xvZy5jOjE2OAorIzogYnVpbHRpbi9sb2cuYzoxNzkKIG1zZ2lkICJkbyBub3QgZGVjb3JhdGUgcmVmcyB0aGF0IG1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAibmUgcGFzIGTDqWNvcmVyIGxlcyByw6lmw6lyZW5jZXMgY29ycmVzcG9uZGFudCDDoCA8bW90aWY+IgogCi0jOiBidWlsdGluL2xvZy5jOjE2OQorIzogYnVpbHRpbi9sb2cuYzoxODAKIG1zZ2lkICJkZWNvcmF0ZSBvcHRpb25zIgogbXNnc3RyICJkw6ljb3JlciBsZXMgb3B0aW9ucyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzIKKyM6IGJ1aWx0aW4vbG9nLmM6MTgzCiBtc2dpZCAiUHJvY2VzcyBsaW5lIHJhbmdlIG4sbSBpbiBmaWxlLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgIiIKICJUcmFpdGVyIHNldWxlbWVudCBsJ2ludGVydmFsbGUgZGUgbGlnbmVzIG4sbSBkdSBmaWNoaWVyIGVuIGNvbW1lbsOnYW50IGxlICIKICJjb21wdGUgw6AgMSIKIAotIzogYnVpbHRpbi9sb2cuYzoyNzAKKyM6IGJ1aWx0aW4vbG9nLmM6MjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpbmFsIG91dHB1dDogJWQgJXNcbiIKIG1zZ3N0ciAiU29ydGllIGZpbmFsZSA6ICVkICVzXG4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTIyCisjOiBidWlsdGluL2xvZy5jOjUzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgc2hvdyAlczogYmFkIGZpbGUiCiBtc2dzdHIgImdpdCBzaG93ICVzIDogZmljaGllciBpbmNvcnJlY3QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTM3IGJ1aWx0aW4vbG9nLmM6NjMxCisjOiBidWlsdGluL2xvZy5jOjU1MCBidWlsdGluL2xvZy5jOjY0NQogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCi1tc2dzdHIgIkltcG9zc2libGUgZGUgbGlyZSBsJ29iamV0ICVzIgorbXNnaWQgImNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGwnb2JqZXQgJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NjU1CisjOiBidWlsdGluL2xvZy5jOjY3MAogIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIHR5cGU6ICVkIgotbXNnc3RyICJUeXBlIGluY29ubnUgOiAlZCIKK21zZ2lkICJ1bmtub3duIHR5cGU6ICVkIgorbXNnc3RyICJ0eXBlIGluY29ubnUgOiAlZCIKIAotIzogYnVpbHRpbi9sb2cuYzo3NzYKKyM6IGJ1aWx0aW4vbG9nLmM6ODE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNvdmVyIGZyb20gZGVzY3JpcHRpb24gbW9kZSIKK21zZ3N0ciAiJXPCoDogY291dmVydHVyZSBpbnZhbGlkZSBwb3VyIGxlIG1vZGUgZGUgZGVzY3JpcHRpb24iCisKKyM6IGJ1aWx0aW4vbG9nLmM6ODIxCiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAiZm9ybWF0LmhlYWRlcnMgc2FucyB2YWxldXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODc3CisjOiBidWlsdGluL2xvZy5jOjkzNgogbXNnaWQgIm5hbWUgb2Ygb3V0cHV0IGRpcmVjdG9yeSBpcyB0b28gbG9uZyIKIG1zZ3N0ciAibGUgbm9tIGR1IHLDqXBlcnRvaXJlIGRlIHNvcnRpZSBlc3QgdHJvcCBsb25nIgogCi0jOiBidWlsdGluL2xvZy5jOjg5MworIzogYnVpbHRpbi9sb2cuYzo5NTIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciBsZSBmaWNoaWVyIGNvcnJlY3RpZiAlcyIKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgY29ycmVjdGlmICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjkxMAotbXNnaWQgIk5lZWQgZXhhY3RseSBvbmUgcmFuZ2UuIgotbXNnc3RyICJFeGFjdGVtZW50IHVuZSBwbGFnZSBuw6ljZXNzYWlyZS4iCisjOiBidWlsdGluL2xvZy5jOjk2OQorbXNnaWQgIm5lZWQgZXhhY3RseSBvbmUgcmFuZ2UiCittc2dzdHIgImV4YWN0ZW1lbnQgdW5lIHBsYWdlIG7DqWNlc3NhaXJlIgogCi0jOiBidWlsdGluL2xvZy5jOjkyMAotbXNnaWQgIk5vdCBhIHJhbmdlLiIKLW1zZ3N0ciAiQ2VjaSBuJ2VzdCBwYXMgdW5lIHBsYWdlLiIKKyM6IGJ1aWx0aW4vbG9nLmM6OTc5Cittc2dpZCAibm90IGEgcmFuZ2UiCittc2dzdHIgImNlY2kgbidlc3QgcGFzIHVuZSBwbGFnZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDQzCi1tc2dpZCAiQ292ZXIgbGV0dGVyIG5lZWRzIGVtYWlsIGZvcm1hdCIKLW1zZ3N0ciAiTGEgbGV0dHJlIGRlIG1vdGl2YXRpb24gZG9pdCDDqnRyZSBhdSBmb3JtYXQgY291cnJpZWwiCisjOiBidWlsdGluL2xvZy5jOjExNDMKK21zZ2lkICJjb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgorbXNnc3RyICJsYSBsZXR0cmUgZGUgbW90aXZhdGlvbiBkb2l0IMOqdHJlIGF1IGZvcm1hdCBjb3VycmllbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTE5CisjOiBidWlsdGluL2xvZy5jOjExNDkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGNvdmVyLWxldHRlciBmaWxlIgorbXNnc3RyICLDqWNoZWMgZGUgY3LDqWF0aW9uIGR1IGZpY2hpZXIgZGUgbGV0dHJlIGRlIG1vdGl2YXRpb24iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmUgaW4tcmVwbHktdG86ICVzIgogbXNnc3RyICJpbi1yZXBseS10byBhYmVycmFudCA6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjExNDYKKyM6IGJ1aWx0aW4vbG9nLmM6MTI1NQogbXNnaWQgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcHRpb25zPl0gWzxzaW5jZT4gfCA8cmV2aXNpb24tcmFuZ2U+XSIKIG1zZ3N0ciAiZ2l0IGZvcm1hdC1wYXRjaCBbPG9wdGlvbnM+XSBbPGRlcHVpcz4gfCA8cGxhZ2UgZGUgcsOpdmlzaW9ucz5dIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMDQKLW1zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKLW1zZ3N0ciAiRGV1eCByw6lwZXJ0b2lyZXMgZGUgc29ydGllID8iCisjOiBidWlsdGluL2xvZy5jOjEzMTMKK21zZ2lkICJ0d28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKK21zZ3N0ciAiZGV1eCByw6lwZXJ0b2lyZXMgZGUgc29ydGllwqA/IgogCi0jOiBidWlsdGluL2xvZy5jOjEzMTEgYnVpbHRpbi9sb2cuYzoyMDU0IGJ1aWx0aW4vbG9nLmM6MjA1NiBidWlsdGluL2xvZy5jOjIwNjgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyNCBidWlsdGluL2xvZy5jOjIxOTcgYnVpbHRpbi9sb2cuYzoyMTk5IGJ1aWx0aW4vbG9nLmM6MjIxMQogIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKLW1zZ3N0ciAiQ29tbWl0IGluY29ubnUgJXMiCittc2dpZCAidW5rbm93biBjb21taXQgJXMiCittc2dzdHIgImNvbW1pdCBpbmNvbm51ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMjEgYnVpbHRpbi9ub3Rlcy5jOjg5NCBidWlsdGluL3RhZy5jOjUyNgorIzogYnVpbHRpbi9sb2cuYzoxNDM0IGJ1aWx0aW4vcmVwbGFjZS5jOjU4IGJ1aWx0aW4vcmVwbGFjZS5jOjIwNworIzogYnVpbHRpbi9yZXBsYWNlLmM6MjEwCiAjLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgotbXNnc3RyICJJbXBvc3NpYmxlIGRlIHLDqXNvdWRyZSAnJXMnIGNvbW1lIHVuZSByw6lmw6lyZW5jZSB2YWxpZGUuIgorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYiCittc2dzdHIgIsOpY2hlYyDDoCByw6lzb3VkcmUgJyVzJyBjb21tZSB1bmUgcsOpZsOpcmVuY2UgdmFsaWRlIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMjYKLW1zZ2lkICJDb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlLiIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkZSB0cm91dmVyIGxhIGJhc2UgZGUgZnVzaW9uIGV4YWN0ZS4iCisjOiBidWlsdGluL2xvZy5jOjE0MzkKK21zZ2lkICJjb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgYmFzZSBkZSBmdXNpb24gZXhhY3RlIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MwogbXNnaWQgIiIKLSJGYWlsZWQgdG8gZ2V0IHVwc3RyZWFtLCBpZiB5b3Ugd2FudCB0byByZWNvcmQgYmFzZSBjb21taXQgYXV0b21hdGljYWxseSxcbiIKKyJmYWlsZWQgdG8gZ2V0IHVwc3RyZWFtLCBpZiB5b3Ugd2FudCB0byByZWNvcmQgYmFzZSBjb21taXQgYXV0b21hdGljYWxseSxcbiIKICJwbGVhc2UgdXNlIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gdG8gdHJhY2sgYSByZW1vdGUgYnJhbmNoLlxuIgotIk9yIHlvdSBjb3VsZCBzcGVjaWZ5IGJhc2UgY29tbWl0IGJ5IC0tYmFzZT08YmFzZS1jb21taXQtaWQ+IG1hbnVhbGx5LiIKKyJPciB5b3UgY291bGQgc3BlY2lmeSBiYXNlIGNvbW1pdCBieSAtLWJhc2U9PGJhc2UtY29tbWl0LWlkPiBtYW51YWxseSIKIG1zZ3N0ciAiIgotIkltcG9zc2libGUgZGUgcsOpY3Vww6lyZXIgbCdhbW9udCwgc2kgdm91cyB2b3VsZXogZW5yZWdpc3RyZXIgbGUgY29tbWl0IGRlICIKKyJpbXBvc3NpYmxlIGRlIHLDqWN1cMOpcmVyIGwnYW1vbnQsIHNpIHZvdXMgdm91bGV6IGVucmVnaXN0cmVyIGxlIGNvbW1pdCBkZSAiCiAiYmFzZSBhdXRvbWF0aXF1ZW1lbnQsXG4iCiAidmV1aWxsZXogdXRpbGlzZXIgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byBwb3VyIHN1aXZyZSB1bmUgYnJhbmNoZSAiCi0iZGlzdGFudGVcbiIKLSJvdSB2b3VzIHBvdXZleiBzcMOpY2lmaWVyIGxlIGNvbW1pdCBkZSBiYXNlIHBhciAtLWJhc2U9PGlkLWR1LWNvbW1pdC1kZS1iYXNlPiAiCi0ibWFudWVsbGVtZW50LiIKKyJkaXN0YW50ZS5cbiIKKyJPdSB2b3VzIHBvdXZleiBzcMOpY2lmaWVyIGxlIGNvbW1pdCBkZSBiYXNlIHBhciAtLWJhc2U9PGlkLWR1LWNvbW1pdC1kZS1iYXNlPiAiCisibWFudWVsbGVtZW50IgogCi0jOiBidWlsdGluL2xvZy5jOjEzNTAKLW1zZ2lkICJGYWlsZWQgdG8gZmluZCBleGFjdCBtZXJnZSBiYXNlIgotbXNnc3RyICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgYmFzZSBkZSBmdXNpb24gZXhhY3RlIgorIzogYnVpbHRpbi9sb2cuYzoxNDYzCittc2dpZCAiZmFpbGVkIHRvIGZpbmQgZXhhY3QgbWVyZ2UgYmFzZSIKK21zZ3N0ciAiw6ljaGVjIMOgIHRyb3V2ZXIgbGEgYmFzZSBkZSBmdXNpb24gZXhhY3RlIgogCi0jOiBidWlsdGluL2xvZy5jOjEzNjEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NAogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZCBiZSB0aGUgYW5jZXN0b3Igb2YgcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAibGUgY29tbWl0IGRlIGJhc2UgZGV2cmFpdCDDqnRyZSBsJ2FuY8OqdHJlIGRlIGxhIGxpc3RlIGRlIHLDqXZpc2lvbnMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM2NQorIzogYnVpbHRpbi9sb2cuYzoxNDc4CiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkbid0IGJlIGluIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgImxlIGNvbW1pdCBkZSBiYXNlIG5lIGRldnJhaXQgcGFzIGZhaXJlIHBhcnRpZSBkZSBsYSBsaXN0ZSBkZSByw6l2aXNpb25zIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTUzMQogbXNnaWQgImNhbm5vdCBnZXQgcGF0Y2ggaWQiCiBtc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGwnaWQgZHUgcGF0Y2giCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3MAorIzogYnVpbHRpbi9sb2cuYzoxNTgzCiBtc2dpZCAiZmFpbGVkIHRvIGluZmVyIHJhbmdlLWRpZmYgcmFuZ2VzIgogbXNnc3RyICLDqWNoZWMgZCdpbmbDqXJlbmNlIGQnaW50ZXJ2YWxsZXMgZGUgZGlmZsOpcmVuY2UgZCdpbnRlcnZhbGxlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTE1CisjOiBidWlsdGluL2xvZy5jOjE2MjkKIG1zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgogbXNnc3RyICJ1dGlsaXNlciBbUEFUQ0ggbi9tXSBtw6ptZSBhdmVjIHVuIHBhdGNoIHVuaXF1ZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTE4CisjOiBidWlsdGluL2xvZy5jOjE2MzIKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKIG1zZ3N0ciAidXRpbGlzZXIgW1BBVENIXSBtw6ptZSBhdmVjIGRlcyBwYXRjaHMgbXVsdGlwbGVzIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MjIKKyM6IGJ1aWx0aW4vbG9nLmM6MTYzNgogbXNnaWQgInByaW50IHBhdGNoZXMgdG8gc3RhbmRhcmQgb3V0IgogbXNnc3RyICJhZmZpY2hlciBsZXMgcGF0Y2hzIHN1ciBsYSBzb3J0aWUgc3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUyNAorIzogYnVpbHRpbi9sb2cuYzoxNjM4CiBtc2dpZCAiZ2VuZXJhdGUgYSBjb3ZlciBsZXR0ZXIiCiBtc2dzdHIgImfDqW7DqXJlciB1bmUgbGV0dHJlIGRlIG1vdGl2YXRpb24iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUyNgorIzogYnVpbHRpbi9sb2cuYzoxNjQwCiBtc2dpZCAidXNlIHNpbXBsZSBudW1iZXIgc2VxdWVuY2UgZm9yIG91dHB1dCBmaWxlIG5hbWVzIgogbXNnc3RyICIiCiAidXRpbGlzZXIgdW5lIHPDqXF1ZW5jZSBzaW1wbGUgZGUgbm9tYnJlcyBwb3VyIGxlcyBub20gZGVzIGZpY2hpZXJzIGRlIHNvcnRpZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTI3CisjOiBidWlsdGluL2xvZy5jOjE2NDEKIG1zZ2lkICJzZngiCiBtc2dzdHIgInNmeCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTI4CisjOiBidWlsdGluL2xvZy5jOjE2NDIKIG1zZ2lkICJ1c2UgPHNmeD4gaW5zdGVhZCBvZiAnLnBhdGNoJyIKIG1zZ3N0ciAidXRpbGlzZXIgPHNmeD4gYXUgbGlldSBkZSAnLnBhdGNoJyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMwCisjOiBidWlsdGluL2xvZy5jOjE2NDQKIG1zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgogbXNnc3RyICJkw6ltYXJyZXIgbGEgbnVtw6lyb3RhdGlvbiBkZXMgcGF0Y2hzIMOgIDxuPiBhdSBsaWV1IGRlIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzMgorIzogYnVpbHRpbi9sb2cuYzoxNjQ2CiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgogbXNnc3RyICJtYXJxdWVyIGxhIHPDqXJpZSBjb21tZSB1bmUgTmnDqG1lIHLDqcOpZGl0aW9uIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzQKKyM6IGJ1aWx0aW4vbG9nLmM6MTY0OAogbXNnaWQgIlVzZSBbUkZDIFBBVENIXSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgInV0aWxpc2VyIFtSRkMgUEFUQ0hdIGF1IGxpZXUgZGUgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTM3CisjOiBidWlsdGluL2xvZy5jOjE2NTEKK21zZ2lkICJjb3Zlci1mcm9tLWRlc2NyaXB0aW9uLW1vZGUiCittc2dzdHIgImNvdmVyLWZyb20tZGVzY3JpcHRpb24tbW9kZSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjUyCittc2dpZCAiZ2VuZXJhdGUgcGFydHMgb2YgYSBjb3ZlciBsZXR0ZXIgYmFzZWQgb24gYSBicmFuY2gncyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiZ8OpbsOpcmVyIGRlcyBwYXJ0aWVzIGRlIGxhIGxldHRyZSBkJ2ludHJvZHVjdGlvbiDDoCBwYXJ0aXIgZGUgbGEgZGVzY3JpcHRpb24gZGUgbGEgYnJhbmNoZSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjU0CiBtc2dpZCAiVXNlIFs8cHJlZml4Pl0gaW5zdGVhZCBvZiBbUEFUQ0hdIgogbXNnc3RyICJ1dGlsaXNlciBbPHByw6lmaXhlPl0gYXUgbGlldSBkZSBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTY1NwogbXNnaWQgInN0b3JlIHJlc3VsdGluZyBmaWxlcyBpbiA8ZGlyPiIKIG1zZ3N0ciAic3RvY2tlciBsZXMgZmljaGllcnMgcsOpc3VsdGF0cyBkYW5zIDxyw6lwZXJ0b2lyZT4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MworIzogYnVpbHRpbi9sb2cuYzoxNjYwCiBtc2dpZCAiZG9uJ3Qgc3RyaXAvYWRkIFtQQVRDSF0iCiBtc2dzdHIgIm5lIHBhcyByZXRpcmVyL2Fqb3V0ZXIgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTQ2CisjOiBidWlsdGluL2xvZy5jOjE2NjMKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICJuZSBwYXMgaW1wcmltZXIgbGVzIGRpZmZzIGJpbmFpcmVzIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDgKKyM6IGJ1aWx0aW4vbG9nLmM6MTY2NQogbXNnaWQgIm91dHB1dCBhbGwtemVybyBoYXNoIGluIEZyb20gaGVhZGVyIgogbXNnc3RyICLDqWNyaXJlIHVuZSBlbXByZWludGUgw6AgesOpcm8gZGFucyBsJ2VudMOqdGUgRnJvbSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTUwCisjOiBidWlsdGluL2xvZy5jOjE2NjcKIG1zZ2lkICJkb24ndCBpbmNsdWRlIGEgcGF0Y2ggbWF0Y2hpbmcgYSBjb21taXQgdXBzdHJlYW0iCiBtc2dzdHIgIm5lIHBhcyBpbmNsdXJlIHVuIHBhdGNoIGNvcnJlc3BvbmRhbnQgw6AgdW4gY29tbWl0IGFtb250IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTY2OQogbXNnaWQgInNob3cgcGF0Y2ggZm9ybWF0IGluc3RlYWQgb2YgZGVmYXVsdCAocGF0Y2ggKyBzdGF0KSIKIG1zZ3N0ciAiYWZmaWNoZXIgbGUgZm9ybWF0IGR1IHBhdGNoIGF1IGxpZXUgZHUgZMOpZmF1dCAocGF0Y2ggKyBzdGF0KSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTU0CisjOiBidWlsdGluL2xvZy5jOjE2NzEKIG1zZ2lkICJNZXNzYWdpbmciCiBtc2dzdHIgIkNvbW11bmljYXRpb24iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NQorIzogYnVpbHRpbi9sb2cuYzoxNjcyCiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICJlbi10w6p0ZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTU2CisjOiBidWlsdGluL2xvZy5jOjE2NzMKIG1zZ2lkICJhZGQgZW1haWwgaGVhZGVyIgogbXNnc3RyICJham91dGVyIGwnZW4tdMOqdGUgZGUgY291cnJpZWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NyBidWlsdGluL2xvZy5jOjE1NTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3NCBidWlsdGluL2xvZy5jOjE2NzYKIG1zZ2lkICJlbWFpbCIKIG1zZ3N0ciAiY291cnJpZWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NworIzogYnVpbHRpbi9sb2cuYzoxNjc0CiBtc2dpZCAiYWRkIFRvOiBoZWFkZXIiCiBtc2dzdHIgImFqb3V0ZXIgbCdlbi10w6p0ZSBcIlRvOlwiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3NgogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICJham91dGVyIGwnZW4tdMOqdGUgXCJDYzpcIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTYxCisjOiBidWlsdGluL2xvZy5jOjE2NzgKIG1zZ2lkICJpZGVudCIKIG1zZ3N0ciAiaWRlbnQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2MgorIzogYnVpbHRpbi9sb2cuYzoxNjc5CiBtc2dpZCAic2V0IEZyb20gYWRkcmVzcyB0byA8aWRlbnQ+IChvciBjb21taXR0ZXIgaWRlbnQgaWYgYWJzZW50KSIKIG1zZ3N0ciAiIgogInJlbnNlaWduZXIgbCdhZHJlc3NlIEZyb20gw6AgPGlkZW50PiAob3Ugw6AgbCdpZGVudCBkdSB2YWxpZGF0ZXVyIHNpIGFic2VudCkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NAorIzogYnVpbHRpbi9sb2cuYzoxNjgxCiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAiaWQtbWVzc2FnZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY1CisjOiBidWlsdGluL2xvZy5jOjE2ODIKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgInLDqXBvbmRyZSBkYW5zIGxlIHByZW1pZXIgbWVzc2FnZSDDoCA8aWQtbWVzc2FnZT4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NiBidWlsdGluL2xvZy5jOjE1NjkKKyM6IGJ1aWx0aW4vbG9nLmM6MTY4MyBidWlsdGluL2xvZy5jOjE2ODYKIG1zZ2lkICJib3VuZGFyeSIKIG1zZ3N0ciAibGltaXRlIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTY4NAogbXNnaWQgImF0dGFjaCB0aGUgcGF0Y2giCiBtc2dzdHIgImF0dGFjaGVyIGxlIHBhdGNoIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTY4NwogbXNnaWQgImlubGluZSB0aGUgcGF0Y2giCiBtc2dzdHIgInBhdGNoIMOgIGwnaW50w6lyaWV1ciIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc0CisjOiBidWlsdGluL2xvZy5jOjE2OTEKIG1zZ2lkICJlbmFibGUgbWVzc2FnZSB0aHJlYWRpbmcsIHN0eWxlczogc2hhbGxvdywgZGVlcCIKIG1zZ3N0ciAiIgogImFjdGl2ZXIgbCdlbmZpbGFnZSBkZSBtZXNzYWdlLCBzdHlsZXMgOiBzaGFsbG93IChzdXBlcmZpY2llbCksIGRlZXAgKHByb2ZvbmQpIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzYKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5MwogbXNnaWQgInNpZ25hdHVyZSIKIG1zZ3N0ciAic2lnbmF0dXJlIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5NAogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSIKIG1zZ3N0ciAiYWpvdXRlciB1bmUgc2lnbmF0dXJlIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzgKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5NQogbXNnaWQgImJhc2UtY29tbWl0IgogbXNnc3RyICJjb21taXQtZGUtYmFzZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc5CisjOiBidWlsdGluL2xvZy5jOjE2OTYKIG1zZ2lkICJhZGQgcHJlcmVxdWlzaXRlIHRyZWUgaW5mbyB0byB0aGUgcGF0Y2ggc2VyaWVzIgogbXNnc3RyICJBam91dGVyIHVuIGFyYnJlIHByw6lyZXF1aXMgw6AgbGEgc8OpcmllIGRlIHBhdGNocyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTgxCisjOiBidWlsdGluL2xvZy5jOjE2OTgKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUgZnJvbSBhIGZpbGUiCiBtc2dzdHIgImFqb3V0ZXIgdW5lIHNpZ25hdHVyZSBkZXB1aXMgdW4gZmljaGllciIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTgyCisjOiBidWlsdGluL2xvZy5jOjE2OTkKIG1zZ2lkICJkb24ndCBwcmludCB0aGUgcGF0Y2ggZmlsZW5hbWVzIgogbXNnc3RyICJuZSBwYXMgYWZmaWNoZXIgbGVzIG5vbXMgZGUgZmljaGllcnMgZGVzIHBhdGNocyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTg0CisjOiBidWlsdGluL2xvZy5jOjE3MDEKIG1zZ2lkICJzaG93IHByb2dyZXNzIHdoaWxlIGdlbmVyYXRpbmcgcGF0Y2hlcyIKIG1zZ3N0ciAiIgogImFmZmljaGVyIGxhIGJhcnJlIGRlIHByb2dyZXNzaW9uIGR1cmFudCBsYSBwaGFzZSBkZSBnw6luw6lyYXRpb24gZGVzIHBhdGNocyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTg1Ci1tc2dpZCAicmV2IgotbXNnc3RyICJyw6l2IgotCi0jOiBidWlsdGluL2xvZy5jOjE1ODYKKyM6IGJ1aWx0aW4vbG9nLmM6MTcwMwogbXNnaWQgInNob3cgY2hhbmdlcyBhZ2FpbnN0IDxyZXY+IGluIGNvdmVyIGxldHRlciBvciBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIiIKICJhZmZpY2hlciBsZXMgbW9kaWZpY2F0aW9ucyBwYXIgcmFwcG9ydCDDoCA8csOpdj4gZGFucyBsYSBwcmVtacOocmUgcGFnZSBvdSB1bmUgIgogInJ1c3RpbmUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU4OQorIzogYnVpbHRpbi9sb2cuYzoxNzA2CiBtc2dpZCAic2hvdyBjaGFuZ2VzIGFnYWluc3QgPHJlZnNwZWM+IGluIGNvdmVyIGxldHRlciBvciBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIiIKICJhZmZpY2hlciBsZXMgbW9kaWZpY2F0aW9ucyBwYXIgcmFwcG9ydCDDoCA8cmVmc3BlYz4gZGFucyBsYSBwcmVtacOocmUgcGFnZSBvdSAiCiAidW5lIHJ1c3RpbmUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU5MQorIzogYnVpbHRpbi9sb2cuYzoxNzA4CiBtc2dpZCAicGVyY2VudGFnZSBieSB3aGljaCBjcmVhdGlvbiBpcyB3ZWlnaHRlZCIKIG1zZ3N0ciAicG91cmNlbnRhZ2UgcGFyIGxlcXVlbCBsYSBjcsOpYXRpb24gZXN0IHBvbmTDqXLDqWUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY2NgorIzogYnVpbHRpbi9sb2cuYzoxNzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCiBtc2dzdHIgImxpZ25lIGQnaWRlbnRpZmljYXRpb24gaW52YWxpZGUgOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjgxCisjOiBidWlsdGluL2xvZy5jOjE4MDcKIG1zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLW4gZXQgLWsgc29udCBtdXR1ZWxsZW1lbnQgZXhjbHVzaWZzIgogCi0jOiBidWlsdGluL2xvZy5jOjE2ODMKKyM6IGJ1aWx0aW4vbG9nLmM6MTgwOQogbXNnaWQgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgZXQgLWsgc29udCBtdXR1ZWxsZW1lbnQgZXhjbHVzaWZzIgogCi0jOiBidWlsdGluL2xvZy5jOjE2OTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTgxNwogbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1vbmx5IG4nYSBwYXMgZGUgc2VucyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjkzCisjOiBidWlsdGluL2xvZy5jOjE4MTkKIG1zZ2lkICItLW5hbWUtc3RhdHVzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1zdGF0dXMgbidhIHBhcyBkZSBzZW5zIgogCi0jOiBidWlsdGluL2xvZy5jOjE2OTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTgyMQogbXNnaWQgIi0tY2hlY2sgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1jaGVjayBuJ2EgcGFzIGRlIHNlbnMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTcyNworIzogYnVpbHRpbi9sb2cuYzoxODU0CiBtc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCiBtc2dzdHIgInNvcnRpZSBzdGFuZGFyZCwgb3UgcsOpcGVydG9pcmUsIGxlcXVlbCA/IgogCi0jOiBidWlsdGluL2xvZy5jOjE3MjkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgcsOpcGVydG9pcmUgJyVzJyIKLQotIzogYnVpbHRpbi9sb2cuYzoxODE2CisjOiBidWlsdGluL2xvZy5jOjE5NTgKIG1zZ2lkICItLWludGVyZGlmZiByZXF1aXJlcyAtLWNvdmVyLWxldHRlciBvciBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIi0taW50ZXJkaWZmIHJlcXVpZXJ0IC0tY292ZXItbGV0dGVyIG91IHVuZSBydXN0aW5lIHVuaXF1ZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxODIwCisjOiBidWlsdGluL2xvZy5jOjE5NjIKIG1zZ2lkICJJbnRlcmRpZmY6IgogbXNnc3RyICJJbnRlcmRpZmbCoDoiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyMQorIzogYnVpbHRpbi9sb2cuYzoxOTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludGVyZGlmZiBhZ2FpbnN0IHYlZDoiCiBtc2dzdHIgIkludGVyZGlmZiBjb250cmUgdiVkwqA6IgogCi0jOiBidWlsdGluL2xvZy5jOjE4MjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTk2OQogbXNnaWQgIi0tY3JlYXRpb24tZmFjdG9yIHJlcXVpcmVzIC0tcmFuZ2UtZGlmZiIKIG1zZ3N0ciAiLS1jcmVhdGlvbi1mYWN0b3IgcmVxdWllcnQgLS1yYW5nZS1kaWZmIgogCi0jOiBidWlsdGluL2xvZy5jOjE4MzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTk3MwogbXNnaWQgIi0tcmFuZ2UtZGlmZiByZXF1aXJlcyAtLWNvdmVyLWxldHRlciBvciBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIi0tcmFuZ2UtZGlmZiByZXF1aWVydCAtLWNvdmVyLWxldHRlciBvdSB1bmUgcnVzdGluZSB1bmlxdWUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgzOQorIzogYnVpbHRpbi9sb2cuYzoxOTgxCiBtc2dpZCAiUmFuZ2UtZGlmZjoiCiBtc2dzdHIgIkRpZmYtaW50ZXJ2YWxsZcKgOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODQwCisjOiBidWlsdGluL2xvZy5jOjE5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmFuZ2UtZGlmZiBhZ2FpbnN0IHYlZDoiCiBtc2dzdHIgIkRpZmYtaW50ZXJ2YWxsZSBjb250cmUgdiVkwqA6IgogCi0jOiBidWlsdGluL2xvZy5jOjE4NTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTk5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzaWduYXR1cmUgZmlsZSAnJXMnIgogbXNnc3RyICJsZWN0dXJlIGR1IGZpY2hpZXIgZGUgc2lnbmF0dXJlICclcycgaW1wb3NzaWJsZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxODg3CisjOiBidWlsdGluL2xvZy5jOjIwMjkKIG1zZ2lkICJHZW5lcmF0aW5nIHBhdGNoZXMiCiBtc2dzdHIgIkfDqW7DqXJhdGlvbiBkZXMgcGF0Y2hzIgogCi0jOiBidWlsdGluL2xvZy5jOjE5MzEKLW1zZ2lkICJGYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBmaWxlcyIKLW1zZ3N0ciAiw4ljaGVjIGRlIGNyw6lhdGlvbiBkZXMgZmljaGllcnMgZW4gc29ydGllIgorIzogYnVpbHRpbi9sb2cuYzoyMDczCittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCittc2dzdHIgIsOpY2hlYyBkZSBjcsOpYXRpb24gZGVzIGZpY2hpZXJzIGVuIHNvcnRpZSIKIAotIzogYnVpbHRpbi9sb2cuYzoxOTg5CisjOiBidWlsdGluL2xvZy5jOjIxMzIKIG1zZ2lkICJnaXQgY2hlcnJ5IFstdl0gWzx1cHN0cmVhbT4gWzxoZWFkPiBbPGxpbWl0Pl1dXSIKIG1zZ3N0ciAiZ2l0IGNoZXJyeSBbLXZdIFs8YnJhbmNoZV9hbW9udD4gWzxoZWFkPiBbPGxpbWl0ZT5dXV0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjA0MworIzogYnVpbHRpbi9sb2cuYzoyMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgZmluZCBhIHRyYWNrZWQgcmVtb3RlIGJyYW5jaCwgcGxlYXNlIHNwZWNpZnkgPHVwc3RyZWFtPiBtYW51YWxseS5cbiIKQEAgLTEyODUzLDExMCArMTU2MDEsMTEwIEBACiAiSW1wb3NzaWJsZSBkZSB0cm91dmVyIHVuZSBicmFuY2hlIGRpc3RhbnRlIHN1aXZpZSwgbWVyY2kgZGUgc3DDqWNpZmllciAiCiAiPGJyYW5jaGVfYW1vbnQ+IG1hbnVlbGxlbWVudC5cbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MAogbXNnaWQgImdpdCBscy1maWxlcyBbPG9wdGlvbnM+XSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmljaGllcj4uLi5dIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI2CiBtc2dpZCAiaWRlbnRpZnkgdGhlIGZpbGUgc3RhdHVzIHdpdGggdGFncyIKIG1zZ3N0ciAiaWRlbnRpZmllciBsJ8OpdGF0IGRlIGZpY2hpZXIgYXZlYyBsZXMgw6l0aXF1ZXR0ZXMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjgKIG1zZ2lkICJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdhc3N1bWUgdW5jaGFuZ2VkJyBmaWxlcyIKIG1zZ3N0ciAidXRpbGlzZXIgZGVzIG1pbnVzY3VsZXMgcG91ciBsZXMgZmljaGllcnMgJ2Fzc3Vtw6lzIGluY2hhbmfDqXMnIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTMwCiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnZnNtb25pdG9yIGNsZWFuJyBmaWxlcyIKIG1zZ3N0ciAidXRpbGlzZXIgZGVzIG1pbnVzY3VsZXMgcG91ciBsZXMgZmljaGllcnMgJ2ZzbW9uaXRvciBjbGVhbiciCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzEKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzIKIG1zZ2lkICJzaG93IGNhY2hlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IChkZWZhdWx0KSIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIG1pcyBlbiBjYWNoZSBkYW5zIGxhIHNvcnRpZSAoZMOpZmF1dCkiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzQKIG1zZ2lkICJzaG93IGRlbGV0ZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIHN1cHByaW3DqXMgZGFucyBsYSBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzYKIG1zZ2lkICJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBmaWNoaWVycyBtb2RpZmnDqXMgZGFucyBsYSBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzgKIG1zZ2lkICJzaG93IG90aGVyIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBhdXRyZXMgZmljaGllcnMgZGFucyBsYSBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDAKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIGlnbm9yw6lzIGRhbnMgbGEgc29ydGllIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQzCiBtc2dpZCAic2hvdyBzdGFnZWQgY29udGVudHMnIG9iamVjdCBuYW1lIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBub20gZGVzIG9iamV0cyBpbmRleMOpcyBkYW5zIGxhIHNvcnRpZSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NQogbXNnaWQgInNob3cgZmlsZXMgb24gdGhlIGZpbGVzeXN0ZW0gdGhhdCBuZWVkIHRvIGJlIHJlbW92ZWQiCiBtc2dzdHIgIiIKICJhZmZpY2hlciBsZXMgZmljaGllcnMgZHUgc3lzdMOobWUgZGUgZmljaGllcnMgcXVpIG9udCBiZXNvaW4gZCfDqnRyZSBzdXBwcmltw6lzIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ3CiBtc2dpZCAic2hvdyAnb3RoZXInIGRpcmVjdG9yaWVzJyBuYW1lcyBvbmx5IgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIG5vbXMgZGVzIHLDqXBlcnRvaXJlcyAnb3RoZXInIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ5CiBtc2dpZCAic2hvdyBsaW5lIGVuZGluZ3Mgb2YgZmlsZXMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBmaW5zIGRlIGxpZ25lcyBkZXMgZmljaGllcnMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTEKIG1zZ2lkICJkb24ndCBzaG93IGVtcHR5IGRpcmVjdG9yaWVzIgogbXNnc3RyICJuZSBwYXMgYWZmaWNoZXIgbGVzIHLDqXBlcnRvaXJlcyB2aWRlcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NAogbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGZpY2hpZXJzIG5vbiBmdXNpb25uw6lzIGRhbnMgbGEgc29ydGllIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU2CiBtc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCiBtc2dzdHIgImFmZmljaGVyIGwnaW5mb3JtYXRpb24gcmVzb2x2LXVuZG8iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTgKIG1zZ2lkICJza2lwIGZpbGVzIG1hdGNoaW5nIHBhdHRlcm4iCiBtc2dzdHIgInNhdXRlciBsZXMgZmljaGllcnMgY29ycmVzcG9uZGFudCBhdSBtb3RpZiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MQogbXNnaWQgImV4Y2x1ZGUgcGF0dGVybnMgYXJlIHJlYWQgZnJvbSA8ZmlsZT4iCiBtc2dzdHIgImxlcyBtb3RpZnMgZCdleGNsdXNpb24gc29udCBsdXMgZGVwdWlzIDxmaWNoaWVyPiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NAogbXNnaWQgInJlYWQgYWRkaXRpb25hbCBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgcGF0dGVybnMgaW4gPGZpbGU+IgogbXNnc3RyICJsaXJlIGRlcyBtb3RpZnMgZCdleGNsdXNpb24gYWRkaXRpb25uZWxzIHBhciByw6lwZXJ0b2lyZSBkYW5zIDxmaWNoaWVyPiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NgogbXNnaWQgImFkZCB0aGUgc3RhbmRhcmQgZ2l0IGV4Y2x1c2lvbnMiCiBtc2dzdHIgImFqb3V0ZXIgbGVzIGV4Y2x1c2lvbnMgZ2l0IHN0YW5kYXJkIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTY5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTcwCiBtc2dpZCAibWFrZSB0aGUgb3V0cHV0IHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgImFmZmljaGVyIGVuIHJlbGF0aWYgcGFyIHJhcHBvcnQgYXUgcsOpcGVydG9pcmUgcmFjaW5lIGR1IHByb2pldCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU3MgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU3MwogbXNnaWQgInJlY3Vyc2UgdGhyb3VnaCBzdWJtb2R1bGVzIgogbXNnc3RyICJwYXJjb3VyaXIgcsOpY3Vyc2l2ZW1lbnQgbGVzIHNvdXMtbW9kdWxlcyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU3NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU3NQogbXNnaWQgImlmIGFueSA8ZmlsZT4gaXMgbm90IGluIHRoZSBpbmRleCwgdHJlYXQgdGhpcyBhcyBhbiBlcnJvciIKIG1zZ3N0ciAic2kgdW4gPGZpY2hpZXI+IG4nZXN0IHBhcyBkYW5zIGwnaW5kZXgsIHRyYWl0ZXIgY2VsYSBjb21tZSB1bmUgZXJyZXVyIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTc1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc2CiBtc2dpZCAidHJlZS1pc2giCiBtc2dzdHIgImFyYnJlIG91IGFwcGFyZW50w6kiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzcKIG1zZ2lkICJwcmV0ZW5kIHRoYXQgcGF0aHMgcmVtb3ZlZCBzaW5jZSA8dHJlZS1pc2g+IGFyZSBzdGlsbCBwcmVzZW50IgogbXNnc3RyICIiCiAiY29uc2lkw6lyZXIgcXVlIGxlcyBjaGVtaW5zIHN1cHByaW3DqXMgZGVwdWlzIDxhcmJyZSBvdSBhcHBhcmVudMOpPiBzb250ICIKICJ0b3Vqb3VycyBwcsOpc2VudHMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzkKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgogbXNnc3RyICJhZmZpY2hlciBsZXMgZG9ubsOpZXMgZGUgZMOpYm9nYWdlIgogCkBAIC0xMjk3NCw3ICsxNTcyMiw3IEBACiBtc2dpZCAiZG8gbm90IHByaW50IHJlbW90ZSBVUkwiCiBtc2dzdHIgIm5lIHBhcyBhZmZpY2hlciBsZXMgVVJMIGRpc3RhbnRlcyIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MCBidWlsdGluL2xzLXJlbW90ZS5jOjYyIGJ1aWx0aW4vcmViYXNlLmM6OTAzCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjYwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIgYnVpbHRpbi9yZWJhc2UuYzoxNTE4CiBtc2dpZCAiZXhlYyIKIG1zZ3N0ciAiZXjDqWN1dGFibGUiCiAKQEAgLTEyOTk4LDEzICsxNTc0NiwxMyBAQAogbXNnaWQgInRha2UgdXJsLjxiYXNlPi5pbnN0ZWFkT2YgaW50byBhY2NvdW50IgogbXNnc3RyICJwcmVuZHJlIGVuIGNvbXB0ZSB1cmwuPGJhc2U+Lmluc3RlYWRPZiIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo3MworIzogYnVpbHRpbi9scy1yZW1vdGUuYzo3MgogbXNnaWQgImV4aXQgd2l0aCBleGl0IGNvZGUgMiBpZiBubyBtYXRjaGluZyByZWZzIGFyZSBmb3VuZCIKIG1zZ3N0ciAiIgogInNvcnRpciBhdmVjIHVuIGNvZGUgZCdlcnJldXIgMiBzaSBhdWN1bmUgY29ycmVzcG9uZGFuY2UgZGUgcsOpZsOpcmVuY2Ugbidlc3QgIgogInRyb3V2w6llIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjc2CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjc1CiBtc2dpZCAic2hvdyB1bmRlcmx5aW5nIHJlZiBpbiBhZGRpdGlvbiB0byB0aGUgb2JqZWN0IHBvaW50ZWQgYnkgaXQiCiBtc2dzdHIgImFmZmljaGVyIGxhIHLDqWYgc291cy1qYWNlbnRlIGVuIHBsdXMgZGUgbCdvYmpldCBwb2ludMOpIHBhciBlbGxlIgogCkBAIC0xMzA1MSwyNjUgKzE1Nzk5LDI4NiBAQAogbXNnaWQgImVtcHR5IG1ib3g6ICclcyciCiBtc2dzdHIgIm1ib3ggdmlkZcKgOiAnJXMnIgogCi0jOiBidWlsdGluL21lcmdlLmM6NTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1NQogbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgogbXNnc3RyICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gWzxjb21taXQ+Li4uXSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjUzCisjOiBidWlsdGluL21lcmdlLmM6NTYKIG1zZ2lkICJnaXQgbWVyZ2UgLS1hYm9ydCIKIG1zZ3N0ciAiZ2l0IG1lcmdlIC0tYWJvcnQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1NAorIzogYnVpbHRpbi9tZXJnZS5jOjU3CiBtc2dpZCAiZ2l0IG1lcmdlIC0tY29udGludWUiCiBtc2dzdHIgImdpdCBtZXJnZSAtLWNvbnRpbnVlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTExCisjOiBidWlsdGluL21lcmdlLmM6MTE4CiBtc2dpZCAic3dpdGNoIGBtJyByZXF1aXJlcyBhIHZhbHVlIgogbXNnc3RyICJsZSBjb21tdXRhdGV1ciBgbScgYSBiZXNvaW4gZCd1bmUgdmFsZXVyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTc3CisjOiBidWlsdGluL21lcmdlLmM6MTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIHJlcXVpcmVzIGEgdmFsdWUiCittc2dzdHIgImxlIGNvbW11dGF0ZXVyICclcycgYSBiZXNvaW4gZCd1bmUgdmFsZXVyIgorCisjOiBidWlsdGluL21lcmdlLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIG1lcmdlIHN0cmF0ZWd5ICclcycuXG4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgdHJvdXZlciBsYSBzdHJhdMOpZ2llIGRlIGZ1c2lvbiAnJXMnLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTc4CisjOiBidWlsdGluL21lcmdlLmM6MTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF2YWlsYWJsZSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIkxlcyBzdHJhdMOpZ2llcyBkaXNwb25pYmxlcyBzb250IDoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIkxlcyBzdHJhdMOpZ2llcyBwZXJzb25uYWxpc8OpZXMgc29udCA6IgogCi0jOiBidWlsdGluL21lcmdlLmM6MjM0IGJ1aWx0aW4vcHVsbC5jOjE0MworIzogYnVpbHRpbi9tZXJnZS5jOjI0NCBidWlsdGluL3B1bGwuYzoxNTIKIG1zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJuZSBwYXMgYWZmaWNoZXIgdW4gZGlmZnN0YXQgw6AgbGEgZmluIGRlIGxhIGZ1c2lvbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzNyBidWlsdGluL3B1bGwuYzoxNDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDcgYnVpbHRpbi9wdWxsLmM6MTU1CiBtc2dpZCAic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJhZmZpY2hlciB1biBkaWZmc3RhdCDDoCBsYSBmaW4gZGUgbGEgZnVzaW9uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjM4IGJ1aWx0aW4vcHVsbC5jOjE0OQorIzogYnVpbHRpbi9tZXJnZS5jOjI0OCBidWlsdGluL3B1bGwuYzoxNTgKIG1zZ2lkICIoc3lub255bSB0byAtLXN0YXQpIgogbXNnc3RyICIoc3lub255bWUgZGUgLS1zdGF0KSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI0MCBidWlsdGluL3B1bGwuYzoxNTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTAgYnVpbHRpbi9wdWxsLmM6MTYxCiBtc2dpZCAiYWRkIChhdCBtb3N0IDxuPikgZW50cmllcyBmcm9tIHNob3J0bG9nIHRvIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICIiCiAiYWpvdXRlciAoYXUgcGx1cyA8bj4pIMOpbMOpbWVudHMgZHUgam91cm5hbCBjb3VydCBhdSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gZGUgIgogImxhIGZ1c2lvbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI0MyBidWlsdGluL3B1bGwuYzoxNTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTMgYnVpbHRpbi9wdWxsLmM6MTY3CiBtc2dpZCAiY3JlYXRlIGEgc2luZ2xlIGNvbW1pdCBpbnN0ZWFkIG9mIGRvaW5nIGEgbWVyZ2UiCiBtc2dzdHIgImNyw6llciB1bmUgdmFsaWRhdGlvbiB1bmlxdWUgYXUgbGlldSBkZSBmYWlyZSB1bmUgZnVzaW9uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQ1IGJ1aWx0aW4vcHVsbC5jOjE2MQorIzogYnVpbHRpbi9tZXJnZS5jOjI1NSBidWlsdGluL3B1bGwuYzoxNzAKIG1zZ2lkICJwZXJmb3JtIGEgY29tbWl0IGlmIHRoZSBtZXJnZSBzdWNjZWVkcyAoZGVmYXVsdCkiCiBtc2dzdHIgImVmZmVjdHVlciB1bmUgdmFsaWRhdGlvbiBzaSBsYSBmdXNpb24gcsOpdXNzaXQgKGTDqWZhdXQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQ3IGJ1aWx0aW4vcHVsbC5jOjE2NAorIzogYnVpbHRpbi9tZXJnZS5jOjI1NyBidWlsdGluL3B1bGwuYzoxNzMKIG1zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCiBtc2dzdHIgIsOpZGl0ZXIgbGUgbWVzc2FnZSBhdmFudCBsYSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQ4CisjOiBidWlsdGluL21lcmdlLmM6MjU5CiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIKIG1zZ3N0ciAiYXV0b3Jpc2VyIGwnYXZhbmNlIHJhcGlkZSAoZMOpZmF1dCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTAgYnVpbHRpbi9wdWxsLmM6MTcwCisjOiBidWlsdGluL21lcmdlLmM6MjYxIGJ1aWx0aW4vcHVsbC5jOjE4MAogbXNnaWQgImFib3J0IGlmIGZhc3QtZm9yd2FyZCBpcyBub3QgcG9zc2libGUiCiBtc2dzdHIgImFiYW5kb25uZXIgc2kgbCdhdmFuY2UgcmFwaWRlIG4nZXN0IHBhcyBwb3NzaWJsZSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NCBidWlsdGluL3B1bGwuYzoxNzMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjUgYnVpbHRpbi9wdWxsLmM6MTgzCiBtc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgogbXNnc3RyICJ2w6lyaWZpZXIgcXVlIGxlIGNvbW1pdCBub21tw6kgYSB1bmUgc2lnbmF0dXJlIEdQRyB2YWxpZGUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTUgYnVpbHRpbi9ub3Rlcy5jOjc4NCBidWlsdGluL3B1bGwuYzoxNzcKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTE2IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4NiBidWlsdGluL3JldmVydC5jOjExMAorIzogYnVpbHRpbi9tZXJnZS5jOjI2NiBidWlsdGluL25vdGVzLmM6Nzg3IGJ1aWx0aW4vcHVsbC5jOjE4NworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTIgYnVpbHRpbi9yZWJhc2UuYzoxNTMxIGJ1aWx0aW4vcmV2ZXJ0LmM6MTE0CiBtc2dpZCAic3RyYXRlZ3kiCiBtc2dzdHIgInN0cmF0w6lnaWUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTYgYnVpbHRpbi9wdWxsLmM6MTc4CisjOiBidWlsdGluL21lcmdlLmM6MjY3IGJ1aWx0aW4vcHVsbC5jOjE4OAogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIKIG1zZ3N0ciAic3RyYXTDqWdpZSBkZSBmdXNpb24gw6AgdXRpbGlzZXIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTcgYnVpbHRpbi9wdWxsLmM6MTgxCisjOiBidWlsdGluL21lcmdlLmM6MjY4IGJ1aWx0aW4vcHVsbC5jOjE5MQogbXNnaWQgIm9wdGlvbj12YWx1ZSIKIG1zZ3N0ciAib3B0aW9uPXZhbGV1ciIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1OCBidWlsdGluL3B1bGwuYzoxODIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjkgYnVpbHRpbi9wdWxsLmM6MTkyCiBtc2dpZCAib3B0aW9uIGZvciBzZWxlY3RlZCBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAib3B0aW9uIHBvdXIgbGEgc3RyYXTDqWdpZSBkZSBmdXNpb24gc8OpbGVjdGlvbm7DqWUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzEKIG1zZ2lkICJtZXJnZSBjb21taXQgbWVzc2FnZSAoZm9yIGEgbm9uLWZhc3QtZm9yd2FyZCBtZXJnZSkiCiBtc2dzdHIgIiIKICJtZXNzYWdlIGRlIHZhbGlkYXRpb24gZGUgbGEgZnVzaW9uIChwb3VyIHVuZSBmdXNpb24gc2FucyBhdmFuY2UgcmFwaWRlKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2NworIzogYnVpbHRpbi9tZXJnZS5jOjI3OAogbXNnaWQgImFib3J0IHRoZSBjdXJyZW50IGluLXByb2dyZXNzIG1lcmdlIgogbXNnc3RyICJhYmFuZG9ubmVyIGxhIGZ1c2lvbiBlbiBjb3VycyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2OQorIzogYnVpbHRpbi9tZXJnZS5jOjI4MAorbXNnaWQgIi0tYWJvcnQgYnV0IGxlYXZlIGluZGV4IGFuZCB3b3JraW5nIHRyZWUgYWxvbmUiCittc2dzdHIgIi0tYWJvcnQgbWFpcyBsYWlzc2VyIGwnaW5kZXggZXQgbCdhcmJyZSBkZSB0cmF2YWlsIGluY2hhbmfDqXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODIKIG1zZ2lkICJjb250aW51ZSB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiY29udGludWVyIGxhIGZ1c2lvbiBlbiBjb3VycyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI3MSBidWlsdGluL3B1bGwuYzoxODkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODQgYnVpbHRpbi9wdWxsLmM6MTk5CiBtc2dpZCAiYWxsb3cgbWVyZ2luZyB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICJwZXJtZXR0cmUgbGEgZnVzaW9uIGQnaGlzdG9yaXF1ZXMgc2FucyByYXBwb3J0IgogCi0jOiBidWlsdGluL21lcmdlLmM6Mjc3Ci1tc2dpZCAidmVyaWZ5IGNvbW1pdC1tc2cgaG9vayIKLW1zZ3N0ciAidsOpcmlmaWVyIGxlIGNyb2NoZXQgY29tbWl0LW1zZyIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyOTAKK21zZ2lkICJieXBhc3MgcHJlLW1lcmdlLWNvbW1pdCBhbmQgY29tbWl0LW1zZyBob29rcyIKK21zZ3N0ciAibmUgcGFzIHV0aWxpc2VyIGxlcyBjcm9jaGV0cyBwcmUtbWVyZ2UtY29tbWl0IGV0IGNvbW1pdC1tc2ciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozMDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMDcKIG1zZ2lkICJjb3VsZCBub3QgcnVuIHN0YXNoLiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsYW5jZXIgbGUgcmVtaXNhZ2UuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzA3CisjOiBidWlsdGluL21lcmdlLmM6MzEyCiBtc2dpZCAic3Rhc2ggZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZHUgcmVtaXNhZ2UiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozMTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0OiAlcyIKIG1zZ3N0ciAicGFzIHVuIG9iamV0IHZhbGlkZSA6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzM0IGJ1aWx0aW4vbWVyZ2UuYzozNTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMzkgYnVpbHRpbi9tZXJnZS5jOjM1NgogbXNnaWQgInJlYWQtdHJlZSBmYWlsZWQiCiBtc2dzdHIgInJlYWQtdHJlZSBhIMOpY2hvdcOpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzgxCisjOiBidWlsdGluL21lcmdlLmM6Mzg2CiBtc2dpZCAiIChub3RoaW5nIHRvIHNxdWFzaCkiCiBtc2dzdHIgIiAocmllbiDDoCBjb21wcmVzc2VyKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM5MgorIzogYnVpbHRpbi9tZXJnZS5jOjM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJTcXVhc2ggY29tbWl0IC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgIlZhbGlkYXRpb24gY29tcHJlc3PDqWUgLS0gSEVBRCBub24gbWlzZSDDoCBqb3VyXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0NDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2UgbWVzc2FnZSAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICJQYXMgZGUgbWVzc2FnZSBkZSBmdXNpb24gLS0gcGFzIGRlIG1pc2Ugw6Agam91ciBkZSBIRUFEXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0OTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGNvbW1pdCIKIG1zZ3N0ciAiJyVzJyBuZSBwb2ludGUgcGFzIHN1ciB1biBjb21taXQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1ODAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAiTWF1dmFpc2UgY2hhw65uZSBicmFuY2guJXMubWVyZ2VvcHRpb25zIDogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3MDEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MDUKIG1zZ2lkICJOb3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGfDqXJlciBhdXRyZSBjaG9zZSBxdWUgbGEgZnVzaW9uIGRlIGRldXggdMOqdGVzLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjcxNQorIzogYnVpbHRpbi9tZXJnZS5jOjcxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgogbXNnc3RyICJPcHRpb25zIGluY29ubnVlIHBvdXIgbWVyZ2UtcmVjdXJzaXZlIDogLVglcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjczMAorIzogYnVpbHRpbi9tZXJnZS5jOjczNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzgyCisjOiBidWlsdGluL21lcmdlLmM6Nzg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIGZyb20gJyVzJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlIGRlcHVpcyAnJXMnIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzkxCisjOiBidWlsdGluL21lcmdlLmM6Nzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBjb21taXR0aW5nIG1lcmdlOyB1c2UgJ2dpdCBjb21taXQnIHRvIGNvbXBsZXRlIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiIgogIlBhcyBkZSB2YWxpZGF0aW9uIGRlIGxhIGZ1c2lvbiA7IHV0aWxpc2V6ICdnaXQgY29tbWl0JyBwb3VyIHRlcm1pbmVyIGxhICIKICJmdXNpb24uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTcKLSMsIGMtZm9ybWF0CisjOiBidWlsdGluL21lcmdlLmM6ODAxCiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciBhIGNvbW1pdCBtZXNzYWdlIHRvIGV4cGxhaW4gd2h5IHRoaXMgbWVyZ2UgaXMgbmVjZXNzYXJ5LFxuIgogImVzcGVjaWFsbHkgaWYgaXQgbWVyZ2VzIGFuIHVwZGF0ZWQgdXBzdHJlYW0gaW50byBhIHRvcGljIGJyYW5jaC5cbiIKICJcbiIKLSJMaW5lcyBzdGFydGluZyB3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLCBhbmQgYW4gZW1wdHkgbWVzc2FnZSBhYm9ydHNcbiIKLSJ0aGUgY29tbWl0LlxuIgogbXNnc3RyICIiCiAiVmV1aWxsZXogZW50cmVyIHVuIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBwb3VyIGV4cGxpcXVlciBlbiBxdW9pIGNldHRlIGZ1c2lvbiAiCiAiZXN0XG4iCiAibsOpY2Vzc2FpcmUsIHN1cnRvdXQgc2kgY2VsYSBmdXNpb25uZSB1bmUgYnJhbmNoZSBhbW9udCBtaXNlIMOgIGpvdXIgZGFucyB1bmUgIgogImJyYW5jaGUgZGUgc3VqZXQuXG4iCiAiXG4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDYKK21zZ2lkICJBbiBlbXB0eSBtZXNzYWdlIGFib3J0cyB0aGUgY29tbWl0LlxuIgorbXNnc3RyICJVbiBtZXNzYWdlIHZpZGUgYWJhbmRvbm5lIGxhIHZhbGlkYXRpb24uXG4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQsIGFuZCBhbiBlbXB0eSBtZXNzYWdlIGFib3J0c1xuIgorInRoZSBjb21taXQuXG4iCittc2dzdHIgIiIKICJMZXMgbGlnbmVzIGNvbW1lbsOnYW50IHBhciAnJWMnIHNlcm9udCBpZ25vcsOpZXMsIGV0IHVuIG1lc3NhZ2UgdmlkZVxuIgogImFiYW5kb25uZSBsYSB2YWxpZGF0aW9uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODMzCisjOiBidWlsdGluL21lcmdlLmM6ODYyCiBtc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgogbXNnc3RyICJNZXNzYWdlIGRlIHZhbGlkYXRpb24gdmlkZS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiV29uZGVyZnVsLlxuIgogbXNnc3RyICJNZXJ2ZWlsbGV1eC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkwNQorIzogYnVpbHRpbi9tZXJnZS5jOjkzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2UgZmFpbGVkOyBmaXggY29uZmxpY3RzIGFuZCB0aGVuIGNvbW1pdCB0aGUgcmVzdWx0LlxuIgogbXNnc3RyICIiCiAiTGEgZnVzaW9uIGF1dG9tYXRpcXVlIGEgw6ljaG91w6kgOyByw6lnbGV6IGxlcyBjb25mbGl0cyBldCB2YWxpZGV6IGxlICIKICJyw6lzdWx0YXQuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzcKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIlBhcyBkZSBicmFuY2hlIGNvdXJhbnRlLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0NgorIzogYnVpbHRpbi9tZXJnZS5jOjk3OQogbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiUGFzIGRlIGJyYW5jaGUgZGlzdGFudGUgcG91ciBsYSBicmFuY2hlIGNvdXJhbnRlLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0OAorIzogYnVpbHRpbi9tZXJnZS5jOjk4MQogbXNnaWQgIk5vIGRlZmF1bHQgdXBzdHJlYW0gZGVmaW5lZCBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiUGFzIGRlIGJyYW5jaGUgYW1vbnQgcGFyIGTDqWZhdXQgZMOpZmluaWUgcG91ciBsYSBicmFuY2hlIGNvdXJhbnRlLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk1MworIzogYnVpbHRpbi9tZXJnZS5jOjk4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIGZvciAlcyBmcm9tICVzIgogbXNnc3RyICJQYXMgZGUgYnJhbmNoZSBkZSBzdWl2aSBwb3VyICVzIGRlcHVpcyAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwMTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCB2YWx1ZSAnJXMnIGluIGVudmlyb25tZW50ICclcyciCiBtc2dzdHIgIk1hdXZhaXNlIHZhbGV1ciAnJXMnIGRhbnMgbCdlbnZpcm9ubmVtZW50ICclcyciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTEzCisjOiBidWlsdGluL21lcmdlLmM6MTE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCiBtc2dzdHIgInBhcyBwb3NzaWJsZSBkZSBmdXNpb25uZXIgY2VjaSBkYW5zICVzwqA6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE0NworIzogYnVpbHRpbi9tZXJnZS5jOjExODAKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKIG1zZ3N0ciAicGFzIHBvc3NpYmxlIGRlIGZ1c2lvbm5lciBjZWNpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI1MAorIzogYnVpbHRpbi9tZXJnZS5jOjEyODMKIG1zZ2lkICItLWFib3J0IGV4cGVjdHMgbm8gYXJndW1lbnRzIgogbXNnc3RyICItLWFib3J0IG4nYWNjZXB0ZSBwYXMgZCdhcmd1bWVudCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg3CiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgdG8gYWJvcnQgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICJJbCBuJ3kgYSBwYXMgZGUgZnVzaW9uIMOgIGFiYW5kb25uZXIgKE1FUkdFX0hFQUQgbWFucXVhbnQpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNjYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk2Cittc2dpZCAiLS1xdWl0IGV4cGVjdHMgbm8gYXJndW1lbnRzIgorbXNnc3RyICItLXF1aXQgbidhY2NlcHRlIHBhcyBkJ2FyZ3VtZW50IgorCisjOiBidWlsdGluL21lcmdlLmM6MTMwOQogbXNnaWQgIi0tY29udGludWUgZXhwZWN0cyBubyBhcmd1bWVudHMiCiBtc2dzdHIgIi0tY29udGludWUgbmUgc3VwcG9ydGUgYXVjdW4gYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjcwCisjOiBidWlsdGluL21lcmdlLmM6MTMxMwogbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIGluIHByb2dyZXNzIChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKIG1zZ3N0ciAiSWwgbid5IGEgcGFzIGRlIGZ1c2lvbiBlbiBjb3VycyAoTUVSR0VfSEVBRCBtYW5xdWFudCkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI4NgorIzogYnVpbHRpbi9tZXJnZS5jOjEzMjkKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtMTMzMTcsNyArMTYwODYsNyBAQAogIlZvdXMgbidhdmV6IHBhcyB0ZXJtaW7DqSB2b3RyZSBmdXNpb24gKE1FUkdFX0hFQUQgZXhpc3RlKS5cbiIKICJWZXVpbGxleiB2YWxpZGVyIHZvcyBtb2RpZmljYXRpb25zIGF2YW50IGRlIHBvdXZvaXIgZnVzaW9ubmVyLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyOTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzM2CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKQEAgLTEzMzI1LDk0ICsxNjA5NCw5OCBAQAogIlZvdXMgbidhdmV6IHBhcyB0ZXJtaW7DqSB2b3RyZSBwaWNvcmFnZSAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdGUpLlxuIgogIlZldWlsbGV6IHZhbGlkZXIgdm9zIG1vZGlmaWNhdGlvbnMgYXZhbnQgZGUgcG91dm9pciBmdXNpb25uZXIuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI5NgorIzogYnVpbHRpbi9tZXJnZS5jOjEzMzkKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIlZvdXMgbidhdmV6IHBhcyB0ZXJtaW7DqSB2b3RyZSBwaWNvcmFnZSAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdGUpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzUzCiBtc2dpZCAiWW91IGNhbm5vdCBjb21iaW5lIC0tc3F1YXNoIHdpdGggLS1uby1mZi4iCiBtc2dzdHIgIlZvdXMgbmUgcG91dmV6IHBhcyBjb21iaW5lciAtLXNxdWFzaCBhdmVjIC0tbm8tZmYuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMxMworIzogYnVpbHRpbi9tZXJnZS5jOjEzNTUKK21zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLWNvbW1pdC4iCittc2dzdHIgIlZvdXMgbmUgcG91dmV6IHBhcyBjb21iaW5lciAtLXNxdWFzaCBhdmVjIC0tY29tbWl0LiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEzNzEKIG1zZ2lkICJObyBjb21taXQgc3BlY2lmaWVkIGFuZCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBub3Qgc2V0LiIKIG1zZ3N0ciAiIgogIlBhcyBkZSB2YWxpZGF0aW9uIHNww6ljaWZpw6llIGV0IG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIG4nZXN0IHBhcyBkw6lmaW5pLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzg4CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQgbm90IHN1cHBvcnRlZCB5ZXQiCiBtc2dzdHIgIkxhIHZhbGlkYXRpb24gY29tcHJlc3PDqWUgdmVycyB1bmUgdMOqdGUgdmlkZSBuJ2VzdCBwYXMgZW5jb3JlIHN1cHBvcnTDqWUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzMyCisjOiBidWlsdGluL21lcmdlLmM6MTM5MAogbXNnaWQgIk5vbi1mYXN0LWZvcndhcmQgY29tbWl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW50byBhbiBlbXB0eSBoZWFkIgogbXNnc3RyICJVbmUgdmFsaWRhdGlvbiBzYW5zIGF2YW5jZSByYXBpZGUgbidhIHBhcyBkZSBzZW5zIGRhbnMgdW5lIHTDqnRlIHZpZGUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzM3CisjOiBidWlsdGluL21lcmdlLmM6MTM5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICIlcyAtIHBhcyBwb3NzaWJsZSBkZSBmdXNpb25uZXIgY2VjaSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzk3CiBtc2dpZCAiQ2FuIG1lcmdlIG9ubHkgZXhhY3RseSBvbmUgY29tbWl0IGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiIgogIlBvc3NpYmxlIGRlIGZ1c2lvbm5lciBleGFjdGVtZW50IHVuZSBzZXVsZSB2YWxpZGF0aW9uIGRhbnMgdW5lIHTDqnRlIHZpZGUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDIxCisjOiBidWlsdGluL21lcmdlLmM6MTQ3NgogbXNnaWQgInJlZnVzaW5nIHRvIG1lcmdlIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgInJlZnVzIGRlIGZ1c2lvbm5lciBkZXMgaGlzdG9yaXF1ZXMgc2FucyByZWxhdGlvbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDg1CiBtc2dpZCAiQWxyZWFkeSB1cCB0byBkYXRlLiIKIG1zZ3N0ciAiRMOpasOgIMOgIGpvdXIuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ0MAorIzogYnVpbHRpbi9tZXJnZS5jOjE0OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRpbmcgJXMuLiVzXG4iCiBtc2dzdHIgIk1pc2Ugw6Agam91ciAlcy4uJXNcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0ODIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgogbXNnc3RyICJFc3NhaSBkZSBmdXNpb24gdnJhaW1lbnQgdHJpdmlhbGUgZGFucyBsJ2luZGV4Li4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDg5CisjOiBidWlsdGluL21lcmdlLmM6MTU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3BlLlxuIgogbXNnc3RyICJOb24uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTE0CisjOiBidWlsdGluL21lcmdlLmM6MTU2OQogbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZS4gWWVlYWghIgogbXNnc3RyICJEw6lqw6Agw6Agam91ci4gT3VhaXPCoCEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTIwCisjOiBidWlsdGluL21lcmdlLmM6MTU3NQogbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKIG1zZ3N0ciAiUGFzIHBvc3NpYmxlIGQnYXZhbmNlciByYXBpZGVtZW50LCBhYmFuZG9uLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NDMgYnVpbHRpbi9tZXJnZS5jOjE2MjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTk4IGJ1aWx0aW4vbWVyZ2UuYzoxNjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJld2luZGluZyB0aGUgdHJlZSB0byBwcmlzdGluZS4uLlxuIgogbXNnc3RyICJSZXRvdXIgZGUgbCdhcmJyZSDDoCBsJ29yaWdpbmFsLi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQ3CisjOiBidWlsdGluL21lcmdlLmM6MTYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgbWVyZ2Ugc3RyYXRlZ3kgJXMuLi5cbiIKIG1zZ3N0ciAiRXNzYWkgZGUgbGEgc3RyYXTDqWdpZSBkZSBmdXNpb24gJXMuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIHN0cmF0ZWd5IGhhbmRsZWQgdGhlIG1lcmdlLlxuIgogbXNnc3RyICJBdWN1bmUgc3RyYXTDqWdpZSBkZSBmdXNpb24gbidhIHByaXMgZW4gY2hhcmdlIGxhIGZ1c2lvbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1lcmdlIHdpdGggc3RyYXRlZ3kgJXMgZmFpbGVkLlxuIgogbXNnc3RyICJMYSBmdXNpb24gYXZlYyBsYSBzdHJhdMOpZ2llICVzIGEgw6ljaG91w6kuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjI0CisjOiBidWlsdGluL21lcmdlLmM6MTY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKIG1zZ3N0ciAiVXRpbGlzYXRpb24gZGUgJXMgcG91ciBwcsOpcGFyZXIgbGEgcsOpc29sdXRpb24gw6AgbGEgbWFpbi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSB3ZW50IHdlbGw7IHN0b3BwZWQgYmVmb3JlIGNvbW1pdHRpbmcgYXMgcmVxdWVzdGVkXG4iCiBtc2dzdHIgIiIKQEAgLTEzNDk4LDMzICsxNjI3MSwzMyBAQAogbXNnaWQgInNldCBsYWJlbHMgZm9yIGZpbGUxL29yaWctZmlsZS9maWxlMiIKIG1zZ3N0ciAiZMOpZmluaXIgbGVzIGxhYmVscyBwb3VyIGZpY2hpZXIxL2ZpY2hpZXItb3JpZy9maWNoaWVyMiIKIAotIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo0NQorIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9wdGlvbiAlcyIKIG1zZ3N0ciAib3B0aW9uIGluY29ubnVlICVzIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjUxCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGwnb2JqZXQgJyVzJyIKIAotIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1NQorIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCBiYXNlLiBJZ25vcmluZyAlcy4iCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2VzLiBJZ25vcmluZyAlcy4iCiBtc2dzdHJbMF0gImltcG9zc2libGUgZGUgZ8OpcmVyIHBsdXMgZGUgJWQgYmFzZS4gJXMgaWdub3LDqS4iCiBtc2dzdHJbMV0gImltcG9zc2libGUgZGUgZ8OpcmVyIHBsdXMgZGUgJWQgYmFzZXMuICVzIGlnbm9yw6kuIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjYzCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjY1CiBtc2dpZCAibm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBnw6lyZXIgYXV0cmUgY2hvc2UgcXVlIGxhIGZ1c2lvbiBkZSBkZXV4IHTDqnRlcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjkgYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3MQorIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3NCBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIHJlZiAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHLDqXNvdWRyZSBsYSByw6lmw6lyZW5jZSAnJXMnIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjc3CisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1lcmdpbmcgJXMgd2l0aCAlc1xuIgogbXNnc3RyICJGdXNpb24gZGUgJXMgYXZlYyAlc1xuIgpAQCAtMTM1MzcsNyArMTYzMTAsNyBAQAogbXNnaWQgImlucHV0IGlzIE5VTCB0ZXJtaW5hdGVkIgogbXNnc3RyICJsJ2VudHLDqWUgc2UgdGVybWluZSBwYXIgTlVMIgogCi0jOiBidWlsdGluL21rdHJlZS5jOjE1NSBidWlsdGluL3dyaXRlLXRyZWUuYzoyNQorIzogYnVpbHRpbi9ta3RyZWUuYzoxNTUgYnVpbHRpbi93cml0ZS10cmVlLmM6MjYKIG1zZ2lkICJhbGxvdyBtaXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgImF1dG9yaXNlciBsZXMgb2JqZXRzIG1hbnF1YW50cyIKIApAQCAtMTM1NDUsMTYxICsxNjMxOCwxNzUgQEAKIG1zZ2lkICJhbGxvdyBjcmVhdGlvbiBvZiBtb3JlIHRoYW4gb25lIHRyZWUiCiBtc2dzdHIgImF1dG9yaXNlciBsYSBjcsOpYXRpb24gZGUgcGx1cyBkJ3VuIGFyYnJlIgogCi0jOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo4Ci1tc2dpZCAiZ2l0IG11bHRpLXBhY2staW5kZXggWy0tb2JqZWN0LWRpcj08ZGlyPl0gKHdyaXRlfHZlcmlmeSkiCi1tc2dzdHIgImdpdCBtdWx0aS1wYWNrLWluZGV4IFstLW9iamVjdC1kaXI9PGRpcj5dICh3cml0ZXx2ZXJpZnkpIgorIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6OQorbXNnaWQgIiIKKyJnaXQgbXVsdGktcGFjay1pbmRleCBbPG9wdGlvbnM+XSAod3JpdGV8dmVyaWZ5fGV4cGlyZXxyZXBhY2sgLS1iYXRjaC0iCisic2l6ZT08c2l6ZT4pIgorbXNnc3RyICJnaXQgbXVsdGktcGFjay1pbmRleCBbPG9wdGlvbnM+XSAod3JpdGV8dmVyaWZ5fGV4cGlyZXxyZXBhY2sgLS1iYXRjaC1zaXplPTx0YWlsbGU+KSIKIAotIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MjEKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjI2CiBtc2dpZCAib2JqZWN0IGRpcmVjdG9yeSBjb250YWluaW5nIHNldCBvZiBwYWNrZmlsZSBhbmQgcGFjay1pbmRleCBwYWlycyIKIG1zZ3N0ciAiIgogInLDqXBlcnRvaXJlIG9iamV0IGNvbnRlbmFudCB1biBlbnNlbWJsZSBkZSBwYWlyZXMgZGUgZmljaGllcnMgcGFxdWV0IGV0ICIKICJkJ2luZGV4IGRlIHBhcXVldCIKIAotIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MzkKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjI5Cittc2dpZCAiIgorImR1cmluZyByZXBhY2ssIGNvbGxlY3QgcGFjay1maWxlcyBvZiBzbWFsbGVyIHNpemUgaW50byBhIGJhdGNoIHRoYXQgaXMgIgorImxhcmdlciB0aGFuIHRoaXMgc2l6ZSIKK21zZ3N0ciAiIgorInBlbmRhbnQgbGUgcmVwYXF1ZXRhZ2UsIGNvbGxlY3RlciBsZXMgZmljaGllcnMgcGFxdWV0IGRlIHBsdXMgcGV0aXRlIHRhaWxsZSAiCisiZGFucyB1biBsb3QgcGx1cyBncmFuZCBxdWUgY2V0dGUgdGFpbGxlIgorCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo1MCBidWlsdGluL3BydW5lLXBhY2tlZC5jOjY3CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJ0cm9wIGQnYXJndW1lbnRzIgogCi0jOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgdmVyYjogJXMiCi1tc2dzdHIgInZlcmJlIG5vbiByZWNvbm51IDogJXMiCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo2MAorbXNnaWQgIi0tYmF0Y2gtc2l6ZSBvcHRpb24gaXMgb25seSBmb3IgJ3JlcGFjaycgc3ViY29tbWFuZCIKK21zZ3N0ciAibCdvcHRpb24gLS1iYXRjaC1zaXplIG5lIHNlcnQgcXVlIHBvdXIgbGEgc291cy1jb21tYW5kZSAncmVwYWNrJyIKIAotIzogYnVpbHRpbi9tdi5jOjE3CisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc3ViY29tbWFuZDogJXMiCittc2dzdHIgInNvdXMtY29tbWFuZGUgbm9uIHJlY29ubnVlIDogJXMiCisKKyM6IGJ1aWx0aW4vbXYuYzoxOAogbXNnaWQgImdpdCBtdiBbPG9wdGlvbnM+XSA8c291cmNlPi4uLiA8ZGVzdGluYXRpb24+IgogbXNnc3RyICJnaXQgbXYgWzxvcHRpb25zPl0gPHNvdXJjZT4uLi4gPGRlc3RpbmF0aW9uPiIKIAotIzogYnVpbHRpbi9tdi5jOjgyCisjOiBidWlsdGluL212LmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGlyZWN0b3J5ICVzIGlzIGluIGluZGV4IGFuZCBubyBzdWJtb2R1bGU/IgogbXNnc3RyICJMZSByw6lwZXJ0b2lyZSAlcyBlc3QgZGFucyBsJ2luZGV4IGV0IHBvdXJ0YW50IGF1Y3VuIHNvdXMtbW9kdWxlID8iCiAKLSM6IGJ1aWx0aW4vbXYuYzo4NAorIzogYnVpbHRpbi9tdi5jOjg1CiBtc2dpZCAiUGxlYXNlIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCiBtc2dzdHIgIiIKICJWZXVpbGxleiBpbmRleGVyIHZvcyBtb2RpZmljYXRpb25zIGRlIC5naXRtb2R1bGVzIG91IGxlcyByZW1pc2VyIHBvdXIgIgogImNvbnRpbnVlciIKIAotIzogYnVpbHRpbi9tdi5jOjEwMgorIzogYnVpbHRpbi9tdi5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlLipzIGlzIGluIGluZGV4IgogbXNnc3RyICIlLipzIGVzdCBkYW5zIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMjQKKyM6IGJ1aWx0aW4vbXYuYzoxMjUKIG1zZ2lkICJmb3JjZSBtb3ZlL3JlbmFtZSBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgImZvcmNlciBsZSBkw6lwbGFjZW1lbnQvcmVub21tYWdlIG3Dqm1lIHNpIGxhIGNpYmxlIGV4aXN0ZSIKIAotIzogYnVpbHRpbi9tdi5jOjEyNgorIzogYnVpbHRpbi9tdi5jOjEyNwogbXNnaWQgInNraXAgbW92ZS9yZW5hbWUgZXJyb3JzIgogbXNnc3RyICJzYXV0ZXIgbGVzIGVycmV1cnMgZGUgZMOpcGxhY2VtZW50L3Jlbm9tbWFnZSIKIAotIzogYnVpbHRpbi9tdi5jOjE2OAorIzogYnVpbHRpbi9tdi5jOjE2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiAnJXMnIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAibGEgZGVzdGluYXRpb24gJyVzJyBuJ2VzdCBwYXMgdW4gcsOpcGVydG9pcmUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzkKKyM6IGJ1aWx0aW4vbXYuYzoxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICJWw6lyaWZpY2F0aW9uIGR1IHJlbm9tbWFnZSBkZSAnJXMnIGVuICclcydcbiIKIAotIzogYnVpbHRpbi9tdi5jOjE4MworIzogYnVpbHRpbi9tdi5jOjE4NAogbXNnaWQgImJhZCBzb3VyY2UiCiBtc2dzdHIgIm1hdXZhaXNlIHNvdXJjZSIKIAotIzogYnVpbHRpbi9tdi5jOjE4NgorIzogYnVpbHRpbi9tdi5jOjE4NwogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCiBtc2dzdHIgImltcG9zc2libGUgZGUgZMOpcGxhY2VyIHVuIHLDqXBlcnRvaXJlIGRhbnMgbHVpLW3Dqm1lIgogCi0jOiBidWlsdGluL212LmM6MTg5CisjOiBidWlsdGluL212LmM6MTkwCiBtc2dpZCAiY2Fubm90IG1vdmUgZGlyZWN0b3J5IG92ZXIgZmlsZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6lwbGFjZXIgdW4gcsOpcGVydG9pcmUgc3VyIHVuIGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxOTgKKyM6IGJ1aWx0aW4vbXYuYzoxOTkKIG1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgogbXNnc3RyICJsZSByw6lwZXJ0b2lyZSBzb3VyY2UgZXN0IHZpZGUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMjMKKyM6IGJ1aWx0aW4vbXYuYzoyMjQKIG1zZ2lkICJub3QgdW5kZXIgdmVyc2lvbiBjb250cm9sIgogbXNnc3RyICJwYXMgc291cyBsZSBjb250csO0bGUgZGUgdmVyc2lvbiIKIAotIzogYnVpbHRpbi9tdi5jOjIyNgorIzogYnVpbHRpbi9tdi5jOjIyNwogbXNnaWQgImRlc3RpbmF0aW9uIGV4aXN0cyIKIG1zZ3N0ciAibGEgZGVzdGluYXRpb24gZXhpc3RlIgogCi0jOiBidWlsdGluL212LmM6MjM0CisjOiBidWlsdGluL212LmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgIsOpY3Jhc2VtZW50IGRlICclcyciCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMzcKKyM6IGJ1aWx0aW4vbXYuYzoyMzgKIG1zZ2lkICJDYW5ub3Qgb3ZlcndyaXRlIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmFzZXIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNDAKKyM6IGJ1aWx0aW4vbXYuYzoyNDEKIG1zZ2lkICJtdWx0aXBsZSBzb3VyY2VzIGZvciB0aGUgc2FtZSB0YXJnZXQiCiBtc2dzdHIgIm11bHRpcGxlcyBzb3VyY2VzIHBvdXIgbGEgbcOqbWUgZGVzdGluYXRpb24iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNDIKKyM6IGJ1aWx0aW4vbXYuYzoyNDMKIG1zZ2lkICJkZXN0aW5hdGlvbiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImxlIHLDqXBlcnRvaXJlIGRlIGRlc3RpbmF0aW9uIG4nZXhpc3RlIHBhcyIKIAotIzogYnVpbHRpbi9tdi5jOjI0OQorIzogYnVpbHRpbi9tdi5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKIG1zZ3N0ciAiJXMsIHNvdXJjZT0lcywgZGVzdGluYXRpb249JXMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNzAKKyM6IGJ1aWx0aW4vbXYuYzoyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKIG1zZ3N0ciAiUmVub21tYWdlIGRlICVzIGVuICVzXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNzYgYnVpbHRpbi9yZW1vdGUuYzo3MTcgYnVpbHRpbi9yZXBhY2suYzo1MTEKKyM6IGJ1aWx0aW4vbXYuYzoyNzcgYnVpbHRpbi9yZW1vdGUuYzo3MTYgYnVpbHRpbi9yZXBhY2suYzo1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVuYW1pbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgImxlIHJlbm9tbWFnZSBkZSAnJXMnIGEgw6ljaG91w6kiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozNTUKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDMKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSA8dmFsaWRhdGlvbj4uLi4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozNTYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDQKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gLS1hbGwiCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLWFsbCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjM1NworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwNQogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLXN0ZGluIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gLS1zdGRpbiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxMworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2MgogbXNnaWQgInByaW50IG9ubHkgbmFtZXMgKG5vIFNIQS0xKSIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyBub21zIChwYXMgZGUgU0hBLTEpIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDE0CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDYzCiBtc2dpZCAib25seSB1c2UgdGFncyB0byBuYW1lIHRoZSBjb21taXRzIgogbXNnc3RyICJ1dGlsaXNlciBzZXVsZW1lbnQgbGVzIMOpdGlxdWV0dGVzIHBvdXIgbm9tbWVyIGxlcyB2YWxpZGF0aW9ucyIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxNgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2NQogbXNnaWQgIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJ1dGlsaXNlciBzZXVsZW1lbnQgbGVzIHLDqWbDqXJlbmNlcyBjb3JyZXNwb25kYW50IMOgIDxtb3RpZj4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjcKIG1zZ2lkICJpZ25vcmUgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgImlnbm9yZXIgbGVzIHLDqWbDqXJlbmNlcyBjb3JyZXNwb25kYW50IMOgIDxtb3RpZj4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjAKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjkKIG1zZ2lkICJsaXN0IGFsbCBjb21taXRzIHJlYWNoYWJsZSBmcm9tIGFsbCByZWZzIgogbXNnc3RyICIiCiAiYWZmaWNoZXIgdG91dGVzIGxlcyB2YWxpZGF0aW9ucyBhY2Nlc3NpYmxlcyBkZXB1aXMgdG91dGVzIGxlcyByw6lmw6lyZW5jZXMiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjEKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzAKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgImxpcmUgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQyMgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ3MQogbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIChkZWZhdWx0KSIKIG1zZ3N0ciAiYXV0b3Jpc2VyIGwnYWZmaWNoYWdlIGRlcyBub21zIGBub24gZMOpZmluaXNgIChwYXIgZMOpZmF1dCkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzcKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKIG1zZ3N0ciAiZMOpcsOpZsOpcmVuY2VyIGxlcyDDqXRpcXVldHRlcyBlbiBlbnRyw6llICh1c2FnZSBpbnRlcm5lKSIKIApAQCAtMTM4NDYsMTQgKzE2NjMzLDE0IEBACiBtc2dpZCAidGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCiBtc2dzdHIgImxlIGNvbnRlbnUgZGUgbGEgbm90ZSBhIMOpdMOpIGxhaXNzw6kgZGFucyAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI0MiBidWlsdGluL3RhZy5jOjUxMworIzogYnVpbHRpbi9ub3Rlcy5jOjI0MiBidWlsdGluL3RhZy5jOjUzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgb3UgbGlyZSAnJXMnIgogCiAjOiBidWlsdGluL25vdGVzLmM6MjYzIGJ1aWx0aW4vbm90ZXMuYzozMTMgYnVpbHRpbi9ub3Rlcy5jOjMxNQotIzogYnVpbHRpbi9ub3Rlcy5jOjM4MyBidWlsdGluL25vdGVzLmM6NDM4IGJ1aWx0aW4vbm90ZXMuYzo1MjQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MjkgYnVpbHRpbi9ub3Rlcy5jOjYwNyBidWlsdGluL25vdGVzLmM6NjY5CisjOiBidWlsdGluL25vdGVzLmM6MzgzIGJ1aWx0aW4vbm90ZXMuYzo0MzggYnVpbHRpbi9ub3Rlcy5jOjUyNgorIzogYnVpbHRpbi9ub3Rlcy5jOjUzMSBidWlsdGluL25vdGVzLmM6NjEwIGJ1aWx0aW4vbm90ZXMuYzo2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgImltcG9zc2libGUgZGUgcsOpc291ZHJlICclcycgY29tbWUgdW5lIHLDqWbDqXJlbmNlIHZhbGlkZS4iCkBAIC0xMzg4NiwzOCArMTY2NzMsMzggQEAKIG1zZ2lkICJyZWZ1c2luZyB0byAlcyBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCiBtc2dzdHIgIlJlZnVzIGRlIGZhaXJlICVzIHN1ciBkZXMgbm90ZXMgZGFucyAlcyAoaG9ycyBkZSByZWZzL25vdGVzLykiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNzYgYnVpbHRpbi9ub3Rlcy5jOjQzMSBidWlsdGluL25vdGVzLmM6NTA3Ci0jOiBidWlsdGluL25vdGVzLmM6NTE5IGJ1aWx0aW4vbm90ZXMuYzo1OTUgYnVpbHRpbi9ub3Rlcy5jOjY2MgotIzogYnVpbHRpbi9ub3Rlcy5jOjgxMiBidWlsdGluL25vdGVzLmM6OTU5IGJ1aWx0aW4vbm90ZXMuYzo5ODAKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzYgYnVpbHRpbi9ub3Rlcy5jOjQzMSBidWlsdGluL25vdGVzLmM6NTA5CisjOiBidWlsdGluL25vdGVzLmM6NTIxIGJ1aWx0aW4vbm90ZXMuYzo1OTggYnVpbHRpbi9ub3Rlcy5jOjY2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjgxNSBidWlsdGluL25vdGVzLmM6OTYzIGJ1aWx0aW4vbm90ZXMuYzo5ODUKIG1zZ2lkICJ0b28gbWFueSBwYXJhbWV0ZXJzIgogbXNnc3RyICJ0cm9wIGRlIHBhcmFtw6h0cmVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzg5IGJ1aWx0aW4vbm90ZXMuYzo2NzUKKyM6IGJ1aWx0aW4vbm90ZXMuYzozODkgYnVpbHRpbi9ub3Rlcy5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgogbXNnc3RyICJwYXMgZGUgbm90ZSB0cm91dsOpZSBwb3VyIGwnb2JqZXQgJXMuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDEwIGJ1aWx0aW4vbm90ZXMuYzo1NzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTAgYnVpbHRpbi9ub3Rlcy5jOjU3NgogbXNnaWQgIm5vdGUgY29udGVudHMgYXMgYSBzdHJpbmciCiBtc2dzdHIgImNvbnRlbnUgZGUgbGEgbm90ZSBzb3VzIGZvcm1lIGRlIGNoYcOubmUiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTMgYnVpbHRpbi9ub3Rlcy5jOjU3NgorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMyBidWlsdGluL25vdGVzLmM6NTc5CiBtc2dpZCAibm90ZSBjb250ZW50cyBpbiBhIGZpbGUiCiBtc2dzdHIgImNvbnRlbnUgZGUgbGEgbm90ZSBkYW5zIHVuIGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTYgYnVpbHRpbi9ub3Rlcy5jOjU3OQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxNiBidWlsdGluL25vdGVzLmM6NTgyCiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICJyw6l1dGlsaXNlciBldCDDqWRpdGVyIGwnb2JqZXQgZGUgbm90ZSBzcMOpY2lmacOpIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDE5IGJ1aWx0aW4vbm90ZXMuYzo1ODIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTkgYnVpbHRpbi9ub3Rlcy5jOjU4NQogbXNnaWQgInJldXNlIHNwZWNpZmllZCBub3RlIG9iamVjdCIKIG1zZ3N0ciAicsOpdXRpbGlzZXIgbCdvYmpldCBkZSBub3RlIHNww6ljaWZpw6kiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MjIgYnVpbHRpbi9ub3Rlcy5jOjU4NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQyMiBidWlsdGluL25vdGVzLmM6NTg4CiBtc2dpZCAiYWxsb3cgc3RvcmluZyBlbXB0eSBub3RlIgogbXNnc3RyICJwZXJtZXR0cmUgZGUgc3RvY2tlciB1bmUgbm90ZSB2aWRlIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDIzIGJ1aWx0aW4vbm90ZXMuYzo0OTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MjMgYnVpbHRpbi9ub3Rlcy5jOjQ5NgogbXNnaWQgInJlcGxhY2UgZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgInJlbXBsYWNlciBsZXMgbm90ZXMgZXhpc3RhbnRlcyIKIApAQCAtMTM5MzAsMzAgKzE2NzE3LDMwIEBACiAiSW1wb3NzaWJsZSBkJ2Fqb3V0ZXIgZGVzIG5vdGVzLiBEZXMgbm90ZXMgb250IMOpdMOpIHRyb3V2w6llcyBwb3VyIGwnb2JqZXQgJXMuICIKICJVdGlsaXNleiAnLWYnIHBvdXIgw6ljcmFzZXIgbGVzIG5vdGVzIGV4aXN0YW50ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NjMgYnVpbHRpbi9ub3Rlcy5jOjU0MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQ2MyBidWlsdGluL25vdGVzLmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk92ZXJ3cml0aW5nIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAiw4ljcmFzZW1lbnQgZGVzIG5vdGVzIGV4aXN0YW50ZXMgcG91ciBsJ29iamV0ICVzXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NzQgYnVpbHRpbi9ub3Rlcy5jOjYzNCBidWlsdGluL25vdGVzLmM6ODk5CisjOiBidWlsdGluL25vdGVzLmM6NDc1IGJ1aWx0aW4vbm90ZXMuYzo2MzcgYnVpbHRpbi9ub3Rlcy5jOjkwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyBub3RlIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAiU3VwcHJlc3Npb24gZGUgbGEgbm90ZSBwb3VyIGwnb2JqZXQgJXNcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ5NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ5NwogbXNnaWQgInJlYWQgb2JqZWN0cyBmcm9tIHN0ZGluIgogbXNnc3RyICJsaXJlIGxlcyBvYmpldHMgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ5NworIzogYnVpbHRpbi9ub3Rlcy5jOjQ5OQogbXNnaWQgImxvYWQgcmV3cml0aW5nIGNvbmZpZyBmb3IgPGNvbW1hbmQ+IChpbXBsaWVzIC0tc3RkaW4pIgogbXNnc3RyICIiCiAiY2hhcmdlciBsYSBjb25maWd1cmF0aW9uIGRlIHLDqcOpY3JpdHVyZSBwb3VyIDxjb21tYW5kZT4gKGltcGxpcXVlIC0tc3RkaW4pIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTE1CisjOiBidWlsdGluL25vdGVzLmM6NTE3CiBtc2dpZCAidG9vIGZldyBwYXJhbWV0ZXJzIgogbXNnc3RyICJwYXMgYXNzZXogZGUgcGFyYW3DqHRyZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgpAQCAtMTM5NjIsMTIgKzE2NzQ5LDEyIEBACiAiSW1wb3NzaWJsZSBkZSBjb3BpZXIgZGVzIG5vdGVzLiBEZXMgbm90ZXMgb250IMOpdMOpIHRyb3V2w6llcyBwb3VyIGwnb2JqZXQgJXMuICIKICJVdGlsaXNleiAnLWYnIHBvdXIgw6ljcmFzZXIgbGVzIG5vdGVzIGV4aXN0YW50ZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NDgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBub3RlcyBvbiBzb3VyY2Ugb2JqZWN0ICVzLiBDYW5ub3QgY29weS4iCiBtc2dzdHIgIm5vdGVzIG1hbnF1YW50ZXMgc3VyIGwnb2JqZXQgc291cmNlICVzLiBJbXBvc3NpYmxlIGRlIGNvcGllci4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MDAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtbS8tRi8tYy8tQyBvcHRpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgJ2VkaXQnIHN1YmNvbW1hbmQuXG4iCkBAIC0xMzk3Niw1MiArMTY3NjMsNTIgQEAKICJMZXMgb3B0aW9ucyAtbS8tRi8tYy8tQyBzb250IG9ic29sw6h0ZXMgcG91ciBsYSBzb3VzLWNvbW1hbmRlICdlZGl0Jy5cbiIKICJWZXVpbGxleiB1dGlsaXNlciAnZ2l0IG5vdGVzIGFkZCAtZiAtbS8tRi8tYy8tQycgw6AgbGEgcGxhY2UuXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2OTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2OTgKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgc3VwcHJlc3Npb24gZGUgbGEgcsOpZsOpcmVuY2UgTk9URVNfTUVSR0VfUEFSVElBTCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY5NworIzogYnVpbHRpbi9ub3Rlcy5jOjcwMAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1JFRiIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIHN1cHByZXNzaW9uIGRlIGxhIHLDqWbDqXJlbmNlIE5PVEVTX01FUkdFX1JFRiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjcwMgogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJ2dpdCBub3RlcyBtZXJnZScgd29ya3RyZWUiCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBzdXBwcmVzc2lvbiBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsICdnaXQgbm90ZXMgbWVyZ2UnIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzE5CisjOiBidWlsdGluL25vdGVzLmM6NzIyCiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBsZWN0dXJlIGRlIGxhIHLDqWbDqXJlbmNlIE5PVEVTX01FUkdFX1BBUlRJQUwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjQKIG1zZ2lkICJjb3VsZCBub3QgZmluZCBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSB0cm91dmVyIGxlIGNvbW1pdCBkZSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcyMworIzogYnVpbHRpbi9ub3Rlcy5jOjcyNgogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIGNvbW1pdCBkZSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjczNgorIzogYnVpbHRpbi9ub3Rlcy5jOjczOQogbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIE5PVEVTX01FUkdFX1JFRiIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIHLDqXNvbHV0aW9uIGRlIE5PVEVTX01FUkdFX1JFRiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjczOQorIzogYnVpbHRpbi9ub3Rlcy5jOjc0MgogbXNnaWQgImZhaWxlZCB0byBmaW5hbGl6ZSBub3RlcyBtZXJnZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmaW5hbGlzZXIgbGEgZnVzaW9uIGRlIG5vdGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzY1CisjOiBidWlsdGluL25vdGVzLmM6NzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gbm90ZXMgbWVyZ2Ugc3RyYXRlZ3kgJXMiCiBtc2dzdHIgInN0cmF0w6lnaWUgZGUgZnVzaW9uIGRlIG5vdGVzIGluY29ubnVlICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgxCisjOiBidWlsdGluL25vdGVzLmM6Nzg0CiBtc2dpZCAiR2VuZXJhbCBvcHRpb25zIgogbXNnc3RyICJPcHRpb25zIGfDqW7DqXJhbGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgzCisjOiBidWlsdGluL25vdGVzLmM6Nzg2CiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiT3B0aW9ucyBkZSBmdXNpb24iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODgKIG1zZ2lkICIiCiAicmVzb2x2ZSBub3RlcyBjb25mbGljdHMgdXNpbmcgdGhlIGdpdmVuIHN0cmF0ZWd5IChtYW51YWwvb3Vycy90aGVpcnMvdW5pb24vIgogImNhdF9zb3J0X3VuaXEpIgpAQCAtMTQwMjksNDcgKzE2ODE2LDQ3IEBACiAicsOpc291ZHJlIGxlcyBjb25mbGl0cyBkZSBub3RlcyBlbiB1dGlsaXNhbnQgbGEgc3RyYXTDqWdpZSBkb25uw6llIChtYW51YWwvb3Vycy8iCiAidGhlaXJzL3VuaW9uL2NhdF9zb3J0X3VuaXEpIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzg3CisjOiBidWlsdGluL25vdGVzLmM6NzkwCiBtc2dpZCAiQ29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAiVmFsaWRhdGlvbiBkZXMgbm90ZXMgbm9uIGZ1c2lvbm7DqWVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzg5CisjOiBidWlsdGluL25vdGVzLmM6NzkyCiBtc2dpZCAiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAiZmluYWxpc2VyIGxhIGZ1c2lvbiBkZSBub3RlcyBlbiB2YWxpZGFudCBsZXMgbm90ZXMgbm9uIGZ1c2lvbm7DqWVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzkxCisjOiBidWlsdGluL25vdGVzLmM6Nzk0CiBtc2dpZCAiQWJvcnRpbmcgbm90ZXMgbWVyZ2UgcmVzb2x1dGlvbiIKIG1zZ3N0ciAiQWJhbmRvbiBkZSBsYSByw6lzb2x1dGlvbiBkZSBmdXNpb24gZGVzIG5vdGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzkzCisjOiBidWlsdGluL25vdGVzLmM6Nzk2CiBtc2dpZCAiYWJvcnQgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgImFiYW5kb25uZXIgbGEgZnVzaW9uIGRlIG5vdGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODA0CisjOiBidWlsdGluL25vdGVzLmM6ODA3CiBtc2dpZCAiY2Fubm90IG1peCAtLWNvbW1pdCwgLS1hYm9ydCBvciAtcy8tLXN0cmF0ZWd5IgogbXNnc3RyICItLWNvbW1pdCwgLS1hYm9ydCBldCAtcy8tLXN0cmF0ZWd5IHNvbnQgbXV0dWVsbGVtZW50IGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MTIKIG1zZ2lkICJtdXN0IHNwZWNpZnkgYSBub3RlcyByZWYgdG8gbWVyZ2UiCiBtc2dzdHIgInZvdXMgZGV2ZXogc3DDqWNpZmllciB1bmUgcsOpZsOpcmVuY2UgZGUgbm90ZXMgw6AgZnVzaW9ubmVyIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODMzCisjOiBidWlsdGluL25vdGVzLmM6ODM2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gLXMvLS1zdHJhdGVneTogJXMiCiBtc2dzdHIgIi1zLy0tc3RyYXRlZ3kgaW5jb25udcKgOiAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg3MAorIzogYnVpbHRpbi9ub3Rlcy5jOjg3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhIG5vdGVzIG1lcmdlIGludG8gJXMgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCAlcyIKIG1zZ3N0ciAidW5lIGZ1c2lvbiBkZSBub3RlcyBkYW5zICVzIGVzdCBkw6lqw6AgZW4gY291cnMgYXZlYyAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg3MworIzogYnVpbHRpbi9ub3Rlcy5jOjg3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RvcmUgbGluayB0byBjdXJyZW50IG5vdGVzIHJlZiAoJXMpIgogbXNnc3RyICIiCiAiaW1wb3NzaWJsZSBkZSBzdG9ja2VyIGxlIGxpZW4gdmVycyBsYSByw6lmw6lyZW5jZSBhY3R1ZWxsZSBhdXggbm90ZXMgKCVzKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg3NQorIzogYnVpbHRpbi9ub3Rlcy5jOjg3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXV0b21hdGljIG5vdGVzIG1lcmdlIGZhaWxlZC4gRml4IGNvbmZsaWN0cyBpbiAlcyBhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCAiCkBAIC0xNDA3NywxODEgKzE2ODY0LDE4NiBAQAogImFib3J0Jy5cbiIKIG1zZ3N0ciAiIgogIkxhIGZ1c2lvbiBhdXRvbWF0aXF1ZSBkZXMgbm90ZXMgYSDDqWNob3XDqS4gQ29ycmlnZXogbGVzIGNvbmZsaXRzIGRhbnMgJXMgZXQgIgotInZhbGlkZSBsZSByw6lzdWx0YXQgYXZlYyAnZ2l0IG5vdGVzIG1lcmdlcyAtLWNvbW1pdCcsIG91IGFiYW5kb25uZXogbGEgZnVzaW9uICIKLSJhdmVjICdnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCcuXG4iCisidmFsaWRleiBsZSByw6lzdWx0YXQgYXZlYyAnZ2l0IG5vdGVzIG1lcmdlcyAtLWNvbW1pdCcsIG91IGFiYW5kb25uZXogbGEgIgorImZ1c2lvbiBhdmVjICdnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCcuXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4OTcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4OTcgYnVpbHRpbi90YWcuYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCittc2dzdHIgIkltcG9zc2libGUgZGUgcsOpc291ZHJlICclcycgY29tbWUgdW5lIHLDqWbDqXJlbmNlIHZhbGlkZS4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiT2JqZWN0ICVzIGhhcyBubyBub3RlXG4iCiBtc2dzdHIgIkwnb2JqZXQgJXMgbidhIHBhcyBkZSBub3RlXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MTIKIG1zZ2lkICJhdHRlbXB0IHRvIHJlbW92ZSBub24tZXhpc3RlbnQgbm90ZSBpcyBub3QgYW4gZXJyb3IiCiBtc2dzdHIgIiIKICJsYSB0ZW50YXRpdmUgZGUgc3VwcHJlc3Npb24gZCd1bmUgbm90ZSBub24gZXhpc3RhbnRlIG4nZXN0IHBhcyB1bmUgZXJyZXVyIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTEyCisjOiBidWlsdGluL25vdGVzLmM6OTE1CiBtc2dpZCAicmVhZCBvYmplY3QgbmFtZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxpcmUgbGVzIG5vbXMgZCdvYmpldCBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTUwIGJ1aWx0aW4vcHJ1bmUuYzoxMDggYnVpbHRpbi93b3JrdHJlZS5jOjE2NAorIzogYnVpbHRpbi9ub3Rlcy5jOjk1NCBidWlsdGluL3BydW5lLmM6MTMwIGJ1aWx0aW4vd29ya3RyZWUuYzoxNjQKIG1zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCiBtc2dzdHIgIm5lIHBhcyBzdXBwcmltZXIsIGFmZmljaGVyIHNldWxlbWVudCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk1MQorIzogYnVpbHRpbi9ub3Rlcy5jOjk1NQogbXNnaWQgInJlcG9ydCBwcnVuZWQgbm90ZXMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBub3RlcyDDqWxpbWluw6llcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk5MworIzogYnVpbHRpbi9ub3Rlcy5jOjk5OAogbXNnaWQgIm5vdGVzLXJlZiIKIG1zZ3N0ciAicsOpZsOpcmVuY2VzLW5vdGVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTk0CisjOiBidWlsdGluL25vdGVzLmM6OTk5CiBtc2dpZCAidXNlIG5vdGVzIGZyb20gPG5vdGVzLXJlZj4iCiBtc2dzdHIgInV0aWxpc2VyIGxlcyBub3RlcyBkZXB1aXMgPHLDqWbDqXJlbmNlcy1ub3Rlcz4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxMDI5CisjOiBidWlsdGluL25vdGVzLmM6MTAzNCBidWlsdGluL3N0YXNoLmM6MTYwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHN1YmNvbW1hbmQ6ICVzIgogbXNnc3RyICJzb3VzLWNvbW1hbmRlIGluY29ubnVlIDogJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTIKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPG9wdGlvbnM+Li4uXSBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiIgogImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgW29wdGlvbnMuLi5dIFs8IDxsaXN0ZS1yw6lmw6lyZW5jZXM+IHwgPCA8bGlzdGUtIgogIm9iamV0cz5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjUyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjUzCiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgWzxvcHRpb25zPi4uLl0gPGJhc2UtbmFtZT4gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcGFjay1vYmplY3RzIFtvcHRpb25zLi4uXSBiYXNlLW5hbWUgWzwgPGxpc3RlLXLDqWbDqXJlbmNlcz4gfCA8IDxsaXN0ZS0iCiAib2JqZXRzPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDIyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjQyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFja2VkIG9iamVjdCBDUkMgZm9yICVzIgogbXNnc3RyICJtYXV2YWlzIENSQyBkJ29iamV0IGVtcGFxdWV0w6kgcG91ciAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0MzMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGFja2VkIG9iamVjdCBmb3IgJXMiCiBtc2dzdHIgIm9iamV0IGVtcGFxdWV0w6kgY29ycm9tcHUgcG91ciAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1NjQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlY3Vyc2l2ZSBkZWx0YSBkZXRlY3RlZCBmb3Igb2JqZWN0ICVzIgogbXNnc3RyICJkZWx0YSByw6ljdXJzaWYgZMOpdGVjdMOpIHBvdXIgbCdvYmpldCAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NzUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9yZGVyZWQgJXUgb2JqZWN0cywgZXhwZWN0ZWQgJTxQUkl1MzI+IgogbXNnc3RyICIldSBvYmpldHMgY29tbWFuZMOpcywgJTxQUkl1MzI+IGF0dGVuZHVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc4OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFja2ZpbGUgaXMgaW52YWxpZDogJXMiCiBtc2dzdHIgImxlIGZpY2hpZXIgcGFja2V0IGVzdCBpbnZhbGlkZcKgOiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIHBhY2tmaWxlIGZvciByZXVzZTogJXMiCiBtc2dzdHIgIm91dmVydHVyZSBkdSBmaWNoaWVyIHBhcXVldCBwb3VyIHLDqXV0aWxpc2F0aW9uIGltcG9zc2libGXCoDogJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzk2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgwMgogbXNnaWQgInVuYWJsZSB0byBzZWVrIGluIHJldXNlZCBwYWNrZmlsZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSByZWNoZXJjaGVyIChzZWVrKSBkYW5zIGxlIGZpY2hpZXIgcGFxdWV0IHLDqXV0aWxpc8OpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgwNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4MTMKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBmcm9tIHJldXNlZCBwYWNrZmlsZSIKIG1zZ3N0ciAibGVjdHVyZSBkdSBmaWNoaWVyIGRlIHBhcXVldCByw6l1dGlsaXPDqSBpbXBvc3NpYmxlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgzNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4NDEKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIHBhY2tzIGFyZSBzcGxpdCBkdWUgdG8gcGFjay5wYWNrU2l6ZUxpbWl0IgogbXNnc3RyICIiCiAiZMOpc2FjdGl2YXRpb24gZGUgbCfDqWNyaXR1cmUgZW4gYml0bWFwLCBsZXMgZmljaGllcnMgcGFxdWV0cyBzb250IHNjaW5kw6lzIMOgICIKICJjYXVzZSBkZSBwYWNrLnBhY2tTaXplTGltaXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODQ4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjg1NAogbXNnaWQgIldyaXRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiw4ljcml0dXJlIGRlcyBvYmpldHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTEwIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTE3IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXMiCiBtc2dzdHIgIsOpY2hlYyBkdSBzdGF0IGRlICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjk2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAid3JvdGUgJTxQUkl1MzI+IG9iamVjdHMgd2hpbGUgZXhwZWN0aW5nICU8UFJJdTMyPiIKIG1zZ3N0ciAiJTxQUkl1MzI+IG9iamV0cyDDqWNyaXRzLCAlPFBSSXUzMj4gYXR0ZW5kdXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTE1NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMTY0CiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBhcyBzb21lIG9iamVjdHMgYXJlIG5vdCBiZWluZyBwYWNrZWQiCiBtc2dzdHIgIiIKICJkw6lzYWN0aXZhdGlvbiBkZSBsJ8OpY3JpdHVyZSBlbiBiaXRtYXAgY2FyIGNlcnRhaW5zIG9iamV0cyBuZSBzb250IHBhcyAiCiAiY29tcHJlc3PDqXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTU4NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IG92ZXJmbG93IGluIHBhY2sgZm9yICVzIgogbXNnc3RyICJkw6lwYXNzZW1lbnQgZGUgZMOpY2FsYWdlIGRlIGJhc2UgZGUgZGVsdGEgcG91ciAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTk0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE2MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgb3V0IG9mIGJvdW5kIGZvciAlcyIKIG1zZ3N0ciAiZMOpY2FsYWdlIGRlIGJhc2UgZGUgZGVsdGEgZXN0IGhvcnMgbGltaXRlIHBvdXIgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODcwCiBtc2dpZCAiQ291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiRMOpY29tcHRlIGRlcyBvYmpldHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTk5OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBnZXQgc2l6ZSBvZiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSByw6ljdXDDqXJlciBsYSB0YWlsbGUgZGUgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjAxMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBvYmplY3QgaGVhZGVyIG9mICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbCdlbnTDqnRlIGQnb2JqZXQgZGUgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA4MyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwOTkKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjEwOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDg1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjEwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBjYW5ub3QgYmUgcmVhZCIKIG1zZ3N0ciAibCdvYmpldCAlcyBuZSBwZXV0IMOqdHJlIGx1IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwODYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwODggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpbmNvbnNpc3RlbnQgb2JqZWN0IGxlbmd0aCAoJTxQUkl1TUFYPiB2cyAlPFBSSXVNQVg+KSIKIG1zZ3N0ciAiIgogIm9iamV0ICVzIGxvbmd1ZXVyIGRlIGwnb2JqZXQgaW5jb25zaXN0YW50ZSAoJTxQUkl1TUFYPiBjb250cmUgJTxQUkl1TUFYPikiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjEyMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTI1CiBtc2dpZCAic3Vib3B0aW1hbCBwYWNrIC0gb3V0IG9mIG1lbW9yeSIKIG1zZ3N0ciAicGFxdWV0IHNvdXMtb3B0aW1hbCAtIG3DqW1vaXJlIGluc3VmZmlzYW50ZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDUxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsdGEgY29tcHJlc3Npb24gdXNpbmcgdXAgdG8gJWQgdGhyZWFkcyIKIG1zZ3N0ciAiQ29tcHJlc3Npb24gcGFyIGRlbHRhIGVuIHV0aWxpc2FudCBqdXNxdSfDoCAlZCBmaWxzIGQnZXjDqWN1dGlvbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTgzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhY2sgb2JqZWN0cyByZWFjaGFibGUgZnJvbSB0YWcgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCdlbXBhcXVldGVyIGxlcyBvYmpldHMgam9pZ25hYmxlcyBkZXB1aXMgbCfDqXRpcXVldHRlICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NzAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1OQogbXNnaWQgIkNvbXByZXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgIkNvbXByZXNzaW9uIGRlcyBvYmpldHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY3NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjY1CiBtc2dpZCAiaW5jb25zaXN0ZW5jeSB3aXRoIGRlbHRhIGNvdW50IgogbXNnc3RyICJpbmNvbnNpc3RhbmNlIGRhbnMgbGUgY29tcHRlIGRlIGRlbHRhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhwZWN0ZWQgZWRnZSBvYmplY3QgSUQsIGdvdCBnYXJiYWdlOlxuIgpAQCAtMTQyNjAsNyArMTcwNTIsNyBAQAogIklEIGQnb2JqZXQgZGUgYm9yZCBhdHRlbmR1LCByZcOndSBkZXMgZG9ubsOpZXMgaWxsaXNpYmxlc8KgOlxuIgogIiVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhwZWN0ZWQgb2JqZWN0IElELCBnb3QgZ2FyYmFnZTpcbiIKQEAgLTE0MjY5LDI1OCArMTcwNjEsMjUwIEBACiAiSUQgZCdvYmpldCBhdHRlbmR1LCByZcOndSBkZXMgZG9ubsOpZXMgaWxsaXNpYmxlc8KgOlxuIgogIiVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NgogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yIC0tbWlzc2luZyIKIG1zZ3N0ciAidmFsZXVyIGludmFsaWRlIHBvdXIgLS1taXNzaW5nIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDI0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDEzCiBtc2dpZCAiY2Fubm90IG9wZW4gcGFjayBpbmRleCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciBsJ2luZGV4IGRlIHBhcXVldCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9vc2Ugb2JqZWN0IGF0ICVzIGNvdWxkIG5vdCBiZSBleGFtaW5lZCIKIG1zZ3N0ciAibCdvYmpldCBsaWJyZSDDoCAlcyBuJ2EgcGFzIHB1IMOqdHJlIGV4YW1pbsOpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwMzIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAyMQogbXNnaWQgInVuYWJsZSB0byBmb3JjZSBsb29zZSBvYmplY3QiCiBtc2dzdHIgImltcG9zc2libGUgZGUgZm9yY2VyIGwnb2JqZXQgbGlicmUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzEyMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHJldiAnJXMnIgogbXNnc3RyICInJXMnIG4nZXN0IHBhcyB1bmUgcsOpdmlzaW9uIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMjUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzExNgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmV2aXNpb24gJyVzJyIKIG1zZ3N0ciAibWF1dmFpc2UgcsOpdmlzaW9uICclcyciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE1MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTQxCiBtc2dpZCAidW5hYmxlIHRvIGFkZCByZWNlbnQgb2JqZWN0cyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2Fqb3V0ZXIgbGVzIG9iamV0cyByw6ljZW50cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjAzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgaW5kZXggdmVyc2lvbiAlcyIKIG1zZ3N0ciAidmVyc2lvbiBkJ2luZGV4IG5vbiBzdXBwb3J0w6llICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgogbXNnc3RyICJtYXV2YWlzZSB2ZXJzaW9uIGQnaW5kZXggJyVzJyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM3Ci1tc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCi1tc2dzdHIgIm5lIHBhcyBhZmZpY2hlciBsYSBiYXJyZSBkZSBwcm9ncmVzc2lvbiIKLQotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM5Ci1tc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKLW1zZ3N0ciAiYWZmaWNoZXIgbGEgYmFycmUgZGUgcHJvZ3Jlc3Npb24iCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0MQotbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgotbXNnc3RyICJhZmZpY2hlciBsYSBiYXJyZSBkZSBwcm9ncmVzc2lvbiBkdXJhbnQgbGEgcGhhc2UgZCfDqWNyaXRlIGRlcyBvYmpldHMiCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NAotbXNnaWQgInNpbWlsYXIgdG8gLS1hbGwtcHJvZ3Jlc3Mgd2hlbiBwcm9ncmVzcyBtZXRlciBpcyBzaG93biIKLW1zZ3N0ciAic2ltaWxhaXJlIMOgIC0tYWxsLXByb2dyZXNzIHF1YW5kIGxhIGJhcnJlIGRlIHByb2dyZXNzaW9uIGVzdCBhZmZpY2jDqWUiCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM2CiBtc2dpZCAiPHZlcnNpb24+Wyw8b2Zmc2V0Pl0iCiBtc2dzdHIgIjx2ZXJzaW9uPlssPGTDqWNhbGFnZT5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzNwogbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCiBtc2dzdHIgIiIKICLDqWNyaXJlIGxlIGZpY2hpZXIgZCdpbmRleCBkdSBwYXF1ZXQgZGFucyBsZSBmb3JtYXQgZCdpbmRleCBkZSB2ZXJzaW9uICIKICJzcMOpY2lmacOpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0MAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIG91dHB1dCBwYWNrIGZpbGUiCiBtc2dzdHIgInRhaWxsZSBtYXhpbXVtIGRlIGNoYXF1ZSBmaWNoaWVyIHBhcXVldCBlbiBzb3J0aWUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQyCiBtc2dpZCAiaWdub3JlIGJvcnJvd2VkIG9iamVjdHMgZnJvbSBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlIgogbXNnc3RyICJpZ25vcmVyIGxlcyBvYmpldHMgZW1wcnVudMOpcyDDoCB1biBhdXRyZSBtYWdhc2luIGQnb2JqZXRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NAogbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAiaWdub3JlciBsZXMgb2JqZXRzIGVtcGFxdWV0w6lzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NgogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG9iamVjdHMiCiBtc2dzdHIgImxpbWl0ZXIgbGEgZmVuw6p0cmUgZCdlbXBhcXVldGFnZSBwYXIgb2JqZXRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0OAogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgIiIKICJsaW1pdGVyIGxhIGZlbsOqdHJlIGQnZW1wYXF1ZXRhZ2UgcGFyIG3DqW1vaXJlIGVuIHBsdXMgZGUgbGEgbGltaXRlIGQnb2JqZXRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1MAogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICIiCiAibG9uZ3VldXIgbWF4aW11bSBkZSBsYSBjaGHDrm5lIGRlIGRlbHRhIGF1dG9yaXPDqWUgZGFucyBsZSBwYXF1ZXQgcsOpc3VsdGFudCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjYxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTIKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBkZWx0YXMiCiBtc2dzdHIgInLDqXV0aWxpc2VyIGxlcyBkZWx0YXMgZXhpc3RhbnRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1NAogbXNnaWQgInJldXNlIGV4aXN0aW5nIG9iamVjdHMiCiBtc2dzdHIgInLDqXV0aWxpc2VyIGxlcyBvYmpldHMgZXhpc3RhbnRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1NgogbXNnaWQgInVzZSBPRlNfREVMVEEgb2JqZWN0cyIKIG1zZ3N0ciAidXRpbGlzZXIgbGVzIG9iamV0cyBPRlNfREVMVEEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU4CiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAiIgotInV0aWxpc2VyIGRlcyBmaWxzIGxvcnMgZGUgbGEgcmVjaGVyY2hlIHBvdXIgdW5lIG1laWxsZXVycyBjb3JyZXNwb25kYW5jZSBkZXMgIgorInV0aWxpc2VyIGRlcyBmaWxzIGxvcnMgZGUgbGEgcmVjaGVyY2hlIHBvdXIgdW5lIG1laWxsZXVyZSBjb3JyZXNwb25kYW5jZSBkZXMgIgogImRlbHRhcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjY5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjAKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgogbXNnc3RyICJuZSBwYXMgY3LDqWVyIHVuIHBhcXVldCB2aWRlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2MgogbXNnaWQgInJlYWQgcmV2aXNpb24gYXJndW1lbnRzIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxpcmUgbGVzIHBhcmFtw6h0cmVzIGRlIHLDqXZpc2lvbiBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NAogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICJsaW1pdGVyIGxlcyBvYmpldHMgw6AgY2V1eCBxdWkgbmUgc29udCBwYXMgZW5jb3JlIGVtcGFxdWV0w6lzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NwogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgogbXNnc3RyICJpbmNsdXJlIGxlcyBvYmpldHMgYWNjZXNzaWJsZXMgZGVwdWlzIHRvdXRlIHLDqWbDqXJlbmNlIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3MAogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKIG1zZ3N0ciAiaW5jbHVyZSBsZXMgb2JqZXRzIHLDqWbDqXJlbmPDqXMgcGFyIGxlcyDDqWzDqW1lbnRzIGRlIHJlZmxvZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzMKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgdG8gYnkgdGhlIGluZGV4IgogbXNnc3RyICJpbmNsdXJlIGxlcyBvYmpldHMgcsOpZsOpcmVuY8OpcyBwYXIgbCdpbmRleCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzYKIG1zZ2lkICJvdXRwdXQgcGFjayB0byBzdGRvdXQiCiBtc2dzdHIgImFmZmljaGVyIGwnZW1wYXF1ZXRhZ2Ugc3VyIGxhIHNvcnRpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzgKIG1zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCiBtc2dzdHIgImluY2x1cmUgbGVzIG9iamV0cyBkJ8OpdGlxdWV0dGVzIHF1aSByw6lmw6hyZW50IMOgIGRlcyBvYmpldHMgw6AgZW1wYXF1ZXRlciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODAKIG1zZ2lkICJrZWVwIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgImdhcmRlciBsZXMgb2JqZXRzIGluYWNjZXNzaWJsZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgyCiBtc2dpZCAicGFjayBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJlbXBhcXVldGVyIGxlcyBvYmpldHMgaW5hY2Nlc3NpYmxlcyBkw6l0YWNow6lzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4NAogbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgogbXNnc3RyICJkw6lwYXF1ZXRlciBsZXMgb2JqZXRzIGluYWNjZXNzaWJsZXMgcGx1cyByw6ljZW50cyBxdWUgPGhldXJlPiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODcKK21zZ2lkICJ1c2UgdGhlIHNwYXJzZSByZWFjaGFiaWxpdHkgYWxnb3JpdGhtIgorbXNnc3RyICJ1dGlsaXNlciBsJ2FsZ29yaXRobWUgZGUgam9pZ25hYmlsaXTDqSBjcmV1c2UiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4OQogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICJjcsOpZXIgZGVzIHBhcXVldHMgbMOpZ2VycyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTEKIG1zZ2lkICJjcmVhdGUgcGFja3Mgc3VpdGFibGUgZm9yIHNoYWxsb3cgZmV0Y2hlcyIKIG1zZ3N0ciAiY3LDqWVyIGRlcyBwYXF1ZXRzIHBlcm1ldHRhbnQgZGVzIHLDqWN1cMOpcmF0aW9ucyBzdXBlcmZpY2llbGxlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzAwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTMKIG1zZ2lkICJpZ25vcmUgcGFja3MgdGhhdCBoYXZlIGNvbXBhbmlvbiAua2VlcCBmaWxlIgogbXNnc3RyICJpZ25vcmVyIGxlcyBwYXF1ZXRzIHF1aSBvbnQgdW4gZmljaGllciAua2VlcCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzAyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTUKIG1zZ2lkICJpZ25vcmUgdGhpcyBwYWNrIgogbXNnc3RyICJpZ25vcmVyIGNlIHBhcXVldCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzA0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTcKIG1zZ2lkICJwYWNrIGNvbXByZXNzaW9uIGxldmVsIgogbXNnc3RyICJuaXZlYXUgZGUgY29tcHJlc3Npb24gZHUgcGFxdWV0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5OQogbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgogbXNnc3RyICJuZSBwYXMgY2FjaGVyIGxlcyB2YWxpZGF0aW9ucyBwYXIgZ3JlZmZlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzA4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDEKIG1zZ2lkICJ1c2UgYSBiaXRtYXAgaW5kZXggaWYgYXZhaWxhYmxlIHRvIHNwZWVkIHVwIGNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgIiIKICJ1dGlsaXNlciB1biBpbmRleCBlbiBiaXRtYXAgc2kgZGlzcG9uaWJsZSBwb3VyIGFjY8OpbGVyZXIgbGUgZMOpY29tcHRlIGRlcyAiCiAib2JqZXRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwMwogbXNnaWQgIndyaXRlIGEgYml0bWFwIGluZGV4IHRvZ2V0aGVyIHdpdGggdGhlIHBhY2sgaW5kZXgiCiBtc2dzdHIgIsOpY3JpcmUgdW4gaW5kZXggZW4gYml0bWFwIGFzc29jacOpIMOgIGwnaW5kZXggZGUgcGFxdWV0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwNworbXNnaWQgIndyaXRlIGEgYml0bWFwIGluZGV4IGlmIHBvc3NpYmxlIgorbXNnc3RyICLDqWNyaXJlIHVuIGluZGV4IGRlIGJpdG1hcCBzaSBwb3NzaWJsZSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzExCiBtc2dpZCAiaGFuZGxpbmcgZm9yIG1pc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAiZ2VzdGlvbiBkZXMgb2JqZXRzIG1hbnF1YW50cyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzE2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTQKIG1zZ2lkICJkbyBub3QgcGFjayBvYmplY3RzIGluIHByb21pc29yIHBhY2tmaWxlcyIKIG1zZ3N0ciAibmUgcGFzIGVtcGFxdWV0ZXIgbGVzIG9iamV0cyBkYW5zIGxlcyBmaWNoaWVycyBwYXF1ZXRzIHByb21ldHRldXJzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxNgogbXNnaWQgInJlc3BlY3QgaXNsYW5kcyBkdXJpbmcgZGVsdGEgY29tcHJlc3Npb24iCiBtc2dzdHIgInJlc3BlY3RlciBsZXMgw65sb3RzIHBlbmRhbnQgbGEgY29tcHJlc3Npb24gZGVzIGRlbHRhcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzQyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsdGEgY2hhaW4gZGVwdGggJWQgaXMgdG9vIGRlZXAsIGZvcmNpbmcgJWQiCiBtc2dzdHIgImxhIHByb2ZvbmRldXIgJWQgZGUgY2hhw65uZSBkZSBkZWx0YSBlc3QgdHJvcCBncmFuZGUsIGZvcmPDqWUgw6AgJWQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2suZGVsdGFDYWNoZUxpbWl0IGlzIHRvbyBoaWdoLCBmb3JjaW5nICVkIgogbXNnc3RyICJwYWNrLmRlbHRhQ2FjaGVMaW1pdCBlc3QgdHJvcCBncmFuZCwgZm9yY8OpIMOgICVkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwNAogbXNnaWQgIi0tbWF4LXBhY2stc2l6ZSBjYW5ub3QgYmUgdXNlZCB0byBidWlsZCBhIHBhY2sgZm9yIHRyYW5zZmVyIgogbXNnc3RyICIiCiAiLS1tYXgtcGFjay1zaXplIG5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpIHBvdXIgY29uc3RydWlyZSB1biBwYXF1ZXQgw6AgIgogInRyYW5zZsOpcmVyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwNgogbXNnaWQgIm1pbmltdW0gcGFjayBzaXplIGxpbWl0IGlzIDEgTWlCIgogbXNnc3RyICJsYSB0YWlsbGUgbGltaXRlIG1pbmltYWxlIGQndW4gcGFxdWV0IGVzdCAxIE1pQiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDA4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTEKIG1zZ2lkICItLXRoaW4gY2Fubm90IGJlIHVzZWQgdG8gYnVpbGQgYW4gaW5kZXhhYmxlIHBhY2siCiBtc2dzdHIgIi0tdGhpbiBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBwb3VyIGNvbnN0cnVpcmUgdW4gcGFxdWV0IGluZGV4YWJsZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDExCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTQKIG1zZ2lkICItLWtlZXAtdW5yZWFjaGFibGUgYW5kIC0tdW5wYWNrLXVucmVhY2hhYmxlIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0ta2VlcC11bnJlYWNoYWJsZSBldCAtLXVucGFjay11bnJlYWNoYWJsZSBzb250IGluY29tcGF0aWJsZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQxNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDIwCiBtc2dpZCAiY2Fubm90IHVzZSAtLWZpbHRlciB3aXRob3V0IC0tc3Rkb3V0IgogbXNnc3RyICJpbXBvc3NpYmxlIGQndXRpbGlzZXIgLS1maWx0ZXIgc2FucyAtLXN0ZG91dCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDc2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0ODEKIG1zZ2lkICJFbnVtZXJhdGluZyBvYmplY3RzIgogbXNnc3RyICLDiW51bcOpcmF0aW9uIGRlcyBvYmpldHMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQ5NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRvdGFsICU8UFJJdTMyPiAoZGVsdGEgJTxQUkl1MzI+KSwgcmV1c2VkICU8UFJJdTMyPiAoZGVsdGEgJTxQUkl1MzI+KSIKIG1zZ3N0ciAiIgogIlRvdGFsICU8UFJJdTMyPiAoZGVsdGEgJTxQUkl1MzI+KSwgcsOpdXRpbGlzw6lzICU8UFJJdTMyPiAoZGVsdGEgJTxQUkl1MzI+KSIKIAotIzogYnVpbHRpbi9wYWNrLXJlZnMuYzo3CisjOiBidWlsdGluL3BhY2stcmVmcy5jOjgKIG1zZ2lkICJnaXQgcGFjay1yZWZzIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgcGFjay1yZWZzIFs8b3B0aW9ucz5dIgogCi0jOiBidWlsdGluL3BhY2stcmVmcy5jOjE1CisjOiBidWlsdGluL3BhY2stcmVmcy5jOjE2CiBtc2dpZCAicGFjayBldmVyeXRoaW5nIgogbXNnc3RyICJlbXBhcXVldGVyIHRvdXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTYKKyM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTcKIG1zZ2lkICJwcnVuZSBsb29zZSByZWZzIChkZWZhdWx0KSIKIG1zZ3N0ciAiw6lsaW1pbmVyIGxlcyByw6lmw6lyZW5jZXMgcGVyZHVlcyAoZMOpZmF1dCkiCiAKQEAgLTE0NTM2LDY5ICsxNzMyMCw2OSBAQAogbXNnaWQgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tcHJvZ3Jlc3NdIFstLWV4cGlyZSA8dGltZT5dIFstLV0gWzxoZWFkPi4uLl0iCiBtc2dzdHIgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tcHJvZ3Jlc3NdIFstLWV4cGlyZSA8aGV1cmU+XSBbLS1dIFs8aGVhZD7igKZdIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTA5CisjOiBidWlsdGluL3BydW5lLmM6MTMxCiBtc2dpZCAicmVwb3J0IHBydW5lZCBvYmplY3RzIgogbXNnc3RyICJhZmZpY2hlciBsZXMgb2JqZXRzIMOpbGltaW7DqXMiCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMTIKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzQKIG1zZ2lkICJleHBpcmUgb2JqZWN0cyBvbGRlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAiZmFpcmUgZXhwaXJlciBsZXMgb2JqZXRzIHBsdXMgdmlldXggcXVlIDxoZXVyZT4iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMTQKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzYKIG1zZ2lkICJsaW1pdCB0cmF2ZXJzYWwgdG8gb2JqZWN0cyBvdXRzaWRlIHByb21pc29yIHBhY2tmaWxlcyIKIG1zZ3N0ciAibGltaXRlciBsYSB0cmF2ZXJzw6llIGF1eCBvYmpldHMgaG9ycyBkZXMgZmljaGllcnMgcGFxdWV0cyBwcm9tZXR0ZXVycyIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjEyOQorIzogYnVpbHRpbi9wcnVuZS5jOjE1MAogbXNnaWQgImNhbm5vdCBwcnVuZSBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBuZXR0b3llciBkYW5zIHVuIGTDqXDDtHQgZCdvYmpldHMgcHLDqWNpZXV4IgogCi0jOiBidWlsdGluL3B1bGwuYzo2MCBidWlsdGluL3B1bGwuYzo2MgorIzogYnVpbHRpbi9wdWxsLmM6NjYgYnVpbHRpbi9wdWxsLmM6NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICJWYWxldXIgaW52YWxpZGUgcG91ciAlcyA6ICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MgorIzogYnVpbHRpbi9wdWxsLmM6ODgKIG1zZ2lkICJnaXQgcHVsbCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1bGwgWzxvcHRpb25zPl0gWzxkw6lww7R0PiBbPHNww6ljaWZpY2F0aW9uLWRlLXLDqWbDqXJlbmNlPi4uLl1dIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjE0MgogbXNnaWQgImNvbnRyb2wgZm9yIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICJjb250csO0bGVyIGxhIHLDqWN1cMOpcmF0aW9uIHLDqWN1cnNpdmUgZGFucyBsZXMgc291cy1tb2R1bGVzIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMzcKKyM6IGJ1aWx0aW4vcHVsbC5jOjE0NgogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBtZXJnaW5nIgogbXNnc3RyICJPcHRpb25zIHJlbGF0aXZlcyDDoCBsYSBmdXNpb24iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE0MAorIzogYnVpbHRpbi9wdWxsLmM6MTQ5CiBtc2dpZCAiaW5jb3Jwb3JhdGUgY2hhbmdlcyBieSByZWJhc2luZyByYXRoZXIgdGhhbiBtZXJnaW5nIgogbXNnc3RyICJpbmNvcnBvcmVyIGxlcyBtb2RpZmljYXRpb25zIGVuIHJlYmFzYW50IHBsdXTDtHQgcXUnZW4gZnVzaW9ubmFudCIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTY3IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE0NyBidWlsdGluL3JldmVydC5jOjEyMgorIzogYnVpbHRpbi9wdWxsLmM6MTc3IGJ1aWx0aW4vcmViYXNlLmM6NDY3IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI2CiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIgogbXNnc3RyICJhdXRvcmlzZXIgbCdhdmFuY2UgcmFwaWRlIgogCi0jOiBidWlsdGluL3B1bGwuYzoxNzYKKyM6IGJ1aWx0aW4vcHVsbC5jOjE4NgogbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIgcmViYXNlIgogbXNnc3RyICJyZW1pc2VyIGF2YW50IGV0IHLDqWFwcGxpcXVlciBhcHLDqHMgbGUgcmViYXNhZ2UgYXV0b21hdGlxdWVtZW50IgogCi0jOiBidWlsdGluL3B1bGwuYzoxOTIKKyM6IGJ1aWx0aW4vcHVsbC5jOjIwMgogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBmZXRjaGluZyIKIG1zZ3N0ciAiT3B0aW9ucyByZWxhdGl2ZXMgYXUgcmFwYXRyaWVtZW50IgogCi0jOiBidWlsdGluL3B1bGwuYzoyMDIKKyM6IGJ1aWx0aW4vcHVsbC5jOjIxMgogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCiBtc2dzdHIgImZvcmNlciBsJ8OpY3Jhc2VtZW50IGRlIGxhIGJyYW5jaGUgbG9jYWxlIgogCi0jOiBidWlsdGluL3B1bGwuYzoyMTAKKyM6IGJ1aWx0aW4vcHVsbC5jOjIyMAogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIHB1bGxlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAibm9tYnJlIGRlIHNvdXMtbW9kdWxlcyB0aXLDqXMgZW4gcGFyYWxsw6hsZSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MzA1CisjOiBidWlsdGluL3B1bGwuYzozMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgcHVsbC5mZjogJXMiCiBtc2dzdHIgIlZhbGV1ciBpbnZhbGlkZSBwb3VyIHB1bGwuZmYgOiAlcyIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDIxCisjOiBidWlsdGluL3B1bGwuYzo0MzcKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm8gY2FuZGlkYXRlIGZvciByZWJhc2luZyBhZ2FpbnN0IGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgIgogImZldGNoZWQuIgpAQCAtMTQ2MDYsMTQgKzE3MzkwLDE0IEBACiAiSWwgbid5IGEgcGFzIGRlIGNhbmRpZGF0ZSBzdXIgbGFxdWVsbGUgcmViYXNlciBwYXJtaSBsZXMgcsOpZsOpcmVuY2VzIHF1ZSB2b3VzICIKICJ2ZW5leiBkZSByw6ljdXDDqXJlci4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyMworIzogYnVpbHRpbi9wdWxsLmM6NDM5CiBtc2dpZCAiIgogIlRoZXJlIGFyZSBubyBjYW5kaWRhdGVzIGZvciBtZXJnaW5nIGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgZmV0Y2hlZC4iCiBtc2dzdHIgIiIKICJJbCBuJ3kgYSBwYXMgZGUgY2FuZGlkYXRlIGF2ZWMgbGFxdWVsbGUgZnVzaW9ubmVyIHBhcm1pIGxlcyByw6lmw6lyZW5jZXMgcXVlICIKICJ2b3VzIHZlbmV6IGRlIHLDqWN1cMOpcmVyLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDI0CisjOiBidWlsdGluL3B1bGwuYzo0NDAKIG1zZ2lkICIiCiAiR2VuZXJhbGx5IHRoaXMgbWVhbnMgdGhhdCB5b3UgcHJvdmlkZWQgYSB3aWxkY2FyZCByZWZzcGVjIHdoaWNoIGhhZCBub1xuIgogIm1hdGNoZXMgb24gdGhlIHJlbW90ZSBlbmQuIgpAQCAtMTQ2MjEsNyArMTc0MDUsNyBAQAogIkfDqW7DqXJhbGVtZW50LCBjZWxhIHNpZ25pZmllIHF1ZSB2b3VzIGF2ZXogaW5kaXF1w6kgdW4gc3DDqWNpZmljYXRldXJcbiIKICJkZSByw6lmw6lyZW5jZSBqb2tlciBxdWkgbidhIHBhcyBldSBkZSBjb3JyZXNwb25kYW5jZSBzdXIgbGUgc2VydmV1ciBkaXN0YW50LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDI3CisjOiBidWlsdGluL3B1bGwuYzo0NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBwdWxsIGZyb20gdGhlIHJlbW90ZSAnJXMnLCBidXQgZGlkIG5vdCBzcGVjaWZ5XG4iCkBAIC0xNDYzMyw0NCArMTc0MTcsNDQgQEAKICJjb25maWd1cmF0aW9uXG4iCiAicG91ciBsYSBicmFuY2hlIGFjdHVlbGxlLCB2b3VzIGRldmV6IHNww6ljaWZpZXIgbGEgYnJhbmNoZSBhdmVjIGxhIGNvbW1hbmRlLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDMyIGJ1aWx0aW4vcmViYXNlLmM6NzYxIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ0OCBidWlsdGluL3JlYmFzZS5jOjEzNzUgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MwogbXNnaWQgIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC4iCiBtc2dzdHIgIlZvdXMgbifDqnRlcyBhY3R1ZWxsZW1lbnQgc3VyIGF1Y3VuZSBicmFuY2hlLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM0IGJ1aWx0aW4vcHVsbC5jOjQ0OSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CisjOiBidWlsdGluL3B1bGwuYzo0NTAgYnVpbHRpbi9wdWxsLmM6NDY1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gcmViYXNlIGFnYWluc3QuIgogbXNnc3RyICJWZXVpbGxleiBzcMOpY2lmaWVyIHN1ciBxdWVsbGUgYnJhbmNoZSB2b3VzIHNvdWhhaXRlciByZWJhc2VyLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM2IGJ1aWx0aW4vcHVsbC5jOjQ1MSBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCisjOiBidWlsdGluL3B1bGwuYzo0NTIgYnVpbHRpbi9wdWxsLmM6NDY3IGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gbWVyZ2Ugd2l0aC4iCiBtc2dzdHIgIlZldWlsbGV6IHNww6ljaWZpZXIgdW5lIGJyYW5jaGUgYXZlYyBsYXF1ZWxsZSBmdXNpb25uZXIuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzcgYnVpbHRpbi9wdWxsLmM6NDUyCisjOiBidWlsdGluL3B1bGwuYzo0NTMgYnVpbHRpbi9wdWxsLmM6NDY4CiBtc2dpZCAiU2VlIGdpdC1wdWxsKDEpIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAiUsOpZsOpcmV6LXZvdXMgw6AgZ2l0LXB1bGwoMSkgcG91ciBkZSBwbHVzIGFtcGxlcyBkw6l0YWlscy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzOSBidWlsdGluL3B1bGwuYzo0NDUgYnVpbHRpbi9wdWxsLmM6NDU0Ci0jOiBidWlsdGluL3JlYmFzZS5jOjc2NyBnaXQtcGFyc2UtcmVtb3RlLnNoOjY0CisjOiBidWlsdGluL3B1bGwuYzo0NTUgYnVpbHRpbi9wdWxsLmM6NDYxIGJ1aWx0aW4vcHVsbC5jOjQ3MAorIzogYnVpbHRpbi9yZWJhc2UuYzoxMzgxIGdpdC1wYXJzZS1yZW1vdGUuc2g6NjQKIG1zZ2lkICI8cmVtb3RlPiIKIG1zZ3N0ciAiPGRpc3RhbnQ+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzkgYnVpbHRpbi9wdWxsLmM6NDU0IGJ1aWx0aW4vcHVsbC5jOjQ1OQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTU2IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1NSBidWlsdGluL3B1bGwuYzo0NzAgYnVpbHRpbi9wdWxsLmM6NDc1CisjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1CiBtc2dpZCAiPGJyYW5jaD4iCiBtc2dzdHIgIjxicmFuY2hlPiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDQ3IGJ1aWx0aW4vcmViYXNlLmM6NzU5IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ2MyBidWlsdGluL3JlYmFzZS5jOjEzNzMgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQogbXNnaWQgIlRoZXJlIGlzIG5vIHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJQYXMgZCdpbmZvcm1hdGlvbiBkZSBzdWl2aSBkaXN0YW50IHBvdXIgbGEgYnJhbmNoZSBhY3R1ZWxsZS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ1NiBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CisjOiBidWlsdGluL3B1bGwuYzo0NzIgZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDoiCiBtc2dzdHIgIiIKICJTaSB2b3VzIHNvdWhhaXRleiBpbmRpcXVlciBsJ2luZm9ybWF0aW9uIGRlIHN1aXZpIGRpc3RhbnQgcG91ciBjZXR0ZSAiCiAiYnJhbmNoZSwgdm91cyBwb3V2ZXogbGUgZmFpcmUgYXZlY8KgOiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDYxCisjOiBidWlsdGluL3B1bGwuYzo0NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgY29uZmlndXJhdGlvbiBzcGVjaWZpZXMgdG8gbWVyZ2Ugd2l0aCB0aGUgcmVmICclcydcbiIKQEAgLTE0NjgwLDM0ICsxNzQ2NCwzNCBAQAogIiclcydcbiIKICJkdSBzZXJ2ZXVyIGRpc3RhbnQsIG1haXMgY2V0dGUgcsOpZsOpcmVuY2UgbidhIHBhcyDDqXTDqSByw6ljdXDDqXLDqWUuIgogCi0jOiBidWlsdGluL3B1bGwuYzo1NjUKKyM6IGJ1aWx0aW4vcHVsbC5jOjU4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzIGNvbW1pdCAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FjY8OpZGVyIGxlIGNvbW1pdCAlcyIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODQzCisjOiBidWlsdGluL3B1bGwuYzo4NjcKIG1zZ2lkICJpZ25vcmluZyAtLXZlcmlmeS1zaWduYXR1cmVzIGZvciByZWJhc2UiCiBtc2dzdHIgIi0tdmVyaWZ5LXNpZ25hdHVyZXMgZXN0IGlnbm9yw6kgcG91ciB1biByZWJhc2FnZSIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODkxCisjOiBidWlsdGluL3B1bGwuYzo5MjIKIG1zZ2lkICItLVtuby1dYXV0b3N0YXNoIG9wdGlvbiBpcyBvbmx5IHZhbGlkIHdpdGggLS1yZWJhc2UuIgogbXNnc3RyICJsJ29wdGlvbiAtLVtuby1dYXV0b3N0YXNoIG4nZXN0IHZhbGlkZSBxdSdhdmVjIC0tcmViYXNlLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODk5CisjOiBidWlsdGluL3B1bGwuYzo5MzAKIG1zZ2lkICJVcGRhdGluZyBhbiB1bmJvcm4gYnJhbmNoIHdpdGggY2hhbmdlcyBhZGRlZCB0byB0aGUgaW5kZXguIgogbXNnc3RyICIiCiAiTWlzZSDDoCBqb3VyIGQndW5lIGJyYW5jaGUgbm9uIGVuY29yZSBjcsOpw6llIGF2ZWMgbGVzIGNoYW5nZW1lbnRzIGFqb3V0w6lzIGRhbnMgIgogImwnaW5kZXguIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MDIKKyM6IGJ1aWx0aW4vcHVsbC5jOjkzNAogbXNnaWQgInB1bGwgd2l0aCByZWJhc2UiCiBtc2dzdHIgInRpcmVyIGF2ZWMgdW4gcmViYXNhZ2UiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkwMworIzogYnVpbHRpbi9wdWxsLmM6OTM1CiBtc2dpZCAicGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAidmV1aWxsZXogbGVzIHZhbGlkZXIgb3UgbGVzIHJlbWlzZXIuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MjgKKyM6IGJ1aWx0aW4vcHVsbC5jOjk2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZmV0Y2ggdXBkYXRlZCB0aGUgY3VycmVudCBicmFuY2ggaGVhZC5cbiIKQEAgLTE0NzE4LDcgKzE3NTAyLDcgQEAKICJhdmFuY2UgcmFwaWRlIGRlIHZvdHJlIGNvcGllIGRlIHRyYXZhaWxcbiIKICJkZXB1aXMgbGUgY29tbWl0ICVzLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTM0CisjOiBidWlsdGluL3B1bGwuYzo5NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBmYXN0LWZvcndhcmQgeW91ciB3b3JraW5nIHRyZWUuXG4iCkBAIC0xNDczNSwxNSArMTc1MTksMTUgQEAKICIkIGdpdCByZXNldCAtLWhhcmRcbiIKICJwb3VyIHLDqWfDqW7DqXJlci4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjk0OQorIzogYnVpbHRpbi9wdWxsLmM6OTgxCiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZC4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZnVzaW9ubmVyIGRlIG11bHRpcGxlcyBicmFuY2hlcyBzdXIgdW5lIHTDqnRlIHZpZGUuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5NTMKKyM6IGJ1aWx0aW4vcHVsbC5jOjk4NQogbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcy4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgcmViYXNlciBzdXIgZGUgbXVsdGlwbGVzIGJyYW5jaGVzLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTYwCisjOiBidWlsdGluL3B1bGwuYzo5OTIKIG1zZ2lkICJjYW5ub3QgcmViYXNlIHdpdGggbG9jYWxseSByZWNvcmRlZCBzdWJtb2R1bGUgbW9kaWZpY2F0aW9ucyIKIG1zZ3N0ciAiIgogImltcG9zc2libGUgZGUgcmViYXNlciBhdmVjIGRlcyBtb2RpZmljYXRpb25zIGRlIHNvdXMtbW9kdWxlcyBlbnJlZ2lzdHLDqWVzICIKQEAgLTE0NzUzLDE1ICsxNzUzNywxNSBAQAogbXNnaWQgImdpdCBwdXNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgcHVzaCBbPG9wdGlvbnM+XSBbPGTDqXDDtHQ+IFs8c3DDqWNpZmljYXRpb24tZGUtcsOpZsOpcmVuY2U+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjExMQorIzogYnVpbHRpbi9wdXNoLmM6MTEyCiBtc2dpZCAidGFnIHNob3J0aGFuZCB3aXRob3V0IDx0YWc+IgogbXNnc3RyICJyYWNjb3VyY2kgZCfDqXRpcXVldHRlIHNhbnMgPMOpdGlxdWV0dGU+IgogCi0jOiBidWlsdGluL3B1c2guYzoxMjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjEyMgogbXNnaWQgIi0tZGVsZXRlIG9ubHkgYWNjZXB0cyBwbGFpbiB0YXJnZXQgcmVmIG5hbWVzIgogbXNnc3RyICItLWRlbGV0ZSBhY2NlcHRlIHNldWxlbWVudCBkZXMgbm9tcyBlbnRpZXJzIGRlIHLDqWbDqXJlbmNlcyBjaWJsZXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE2NQorIzogYnVpbHRpbi9wdXNoLmM6MTY4CiBtc2dpZCAiIgogIlxuIgogIlRvIGNob29zZSBlaXRoZXIgb3B0aW9uIHBlcm1hbmVudGx5LCBzZWUgcHVzaC5kZWZhdWx0IGluICdnaXQgaGVscCBjb25maWcnLiIKQEAgLTE0NzcwLDcgKzE3NTU0LDcgQEAKICJQb3VyIGNob2lzaXIgbCdvcHRpb24gZGUgbWFuacOocmUgcGVybWFuZW50ZSwgdm9pciBwdXNoLmRlZmF1bHQgZGFucyAnZ2l0ICIKICJoZWxwIGNvbmZpZycuIgogCi0jOiBidWlsdGluL3B1c2guYzoxNjgKKyM6IGJ1aWx0aW4vcHVzaC5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHVwc3RyZWFtIGJyYW5jaCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGRvZXMgbm90IG1hdGNoXG4iCkBAIC0xNDc5NSw3ICsxNzU3OSw3IEBACiAiICAgIGdpdCBwdXNoICVzIEhFQURcbiIKICIlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTgzCisjOiBidWlsdGluL3B1c2guYzoxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC5cbiIKQEAgLTE0ODEwLDcgKzE3NTk0LDcgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggJXMgSEVBRDo8bm9tLWRlLWxhLWJyYW5jaGUtYW1vbnQ+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE5NworIzogYnVpbHRpbi9wdXNoLmM6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG5vIHVwc3RyZWFtIGJyYW5jaC5cbiIKQEAgLTE0ODI0LDEzICsxNzYwOCwxMyBAQAogIlxuIgogIiAgICBnaXQgcHVzaCAtLXNldC11cHN0cmVhbSAlcyAlc1xuIgogCi0jOiBidWlsdGluL3B1c2guYzoyMDUKKyM6IGJ1aWx0aW4vcHVzaC5jOjIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG11bHRpcGxlIHVwc3RyZWFtIGJyYW5jaGVzLCByZWZ1c2luZyB0byBwdXNoLiIKIG1zZ3N0ciAiIgogIkxhIGJyYW5jaGUgY291cmFudGUgJXMgYSBkZSBtdWx0aXBsZXMgYnJhbmNoZXMgYW1vbnQsIGltcG9zc2libGUgZGUgcG91c3Nlci4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIwOAorIzogYnVpbHRpbi9wdXNoLmM6MjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIHB1c2hpbmcgdG8gcmVtb3RlICclcycsIHdoaWNoIGlzIG5vdCB0aGUgdXBzdHJlYW0gb2ZcbiIKQEAgLTE0ODQxLDE0ICsxNzYyNSwxNCBAQAogInBhcyB1bmUgYnJhbmNoZSBhbW9udCBkZSB2b3RyZSBicmFuY2hlIGNvdXJhbnRlICclcycsIHNhbnMgbWUgZGlyZVxuIgogInF1b2kgcG91c3NlciBwb3VyIG1ldHRyZSDDoCBqb3VyIHF1ZWxsZSBicmFuY2hlIGFtb250LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjY3CisjOiBidWlsdGluL3B1c2guYzoyNzAKIG1zZ2lkICIiCiAiWW91IGRpZG4ndCBzcGVjaWZ5IGFueSByZWZzcGVjcyB0byBwdXNoLCBhbmQgcHVzaC5kZWZhdWx0IGlzIFwibm90aGluZ1wiLiIKIG1zZ3N0ciAiIgogIlZvdXMgbidhdmV6IHBhcyBzcMOpY2lmacOpIGRlIHNww6ljaWZpY2F0aW9ucyBkZSByw6lmw6lyZW5jZSDDoCBwb3Vzc2VyLCBldCBwdXNoLiIKICJkZWZhdWx0IGVzdCBcIm5vdGhpbmdcIi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI3NAorIzogYnVpbHRpbi9wdXNoLmM6Mjc3CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0aXAgb2YgeW91ciBjdXJyZW50IGJyYW5jaCBpcyBiZWhpbmRcbiIKICJpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LiBJbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzIChlLmcuXG4iCkBAIC0xNDg2Myw3ICsxNzY0Nyw3IEBACiAiVm9pciBsYSAnTm90ZSDDoCBwcm9wb3MgZGVzIGF2YW5jZXMgcmFwaWRlcycgZGFucyAnZ2l0IHB1c2ggLS1oZWxwJyBwb3VyIHBsdXMgIgogImQnaW5mb3JtYXRpb24uIgogCi0jOiBidWlsdGluL3B1c2guYzoyODAKKyM6IGJ1aWx0aW4vcHVzaC5jOjI4MwogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCiAiY291bnRlcnBhcnQuIENoZWNrIG91dCB0aGlzIGJyYW5jaCBhbmQgaW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlc1xuIgpAQCAtMTQ4NzgsNyArMTc2NjIsNyBAQAogIlZvaXIgbGEgJ05vdGUgw6AgcHJvcG9zIGRlcyBhdmFuY2VzIHJhcGlkZXMnIGRhbnMgJ2dpdCBwdXNoIC0taGVscCcgcG91ciBwbHVzICIKICJkJ2luZm9ybWF0aW9uLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mjg2CisjOiBidWlsdGluL3B1c2guYzoyODkKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHJlbW90ZSBjb250YWlucyB3b3JrIHRoYXQgeW91IGRvXG4iCiAibm90IGhhdmUgbG9jYWxseS4gVGhpcyBpcyB1c3VhbGx5IGNhdXNlZCBieSBhbm90aGVyIHJlcG9zaXRvcnkgcHVzaGluZ1xuIgpAQCAtMTQ4OTYsMTMgKzE3NjgwLDEzIEBACiAiVm9pciBsYSAnTm90ZSDDoCBwcm9wb3MgZGVzIGF2YW5jZXMgcmFwaWRlcycgZGFucyAnZ2l0IHB1c2ggLS1oZWxwJyBwb3VyIHBsdXMgIgogImQnaW5mb3JtYXRpb24uIgogCi0jOiBidWlsdGluL3B1c2guYzoyOTMKKyM6IGJ1aWx0aW4vcHVzaC5jOjI5NgogbXNnaWQgIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0YWcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIHJlbW90ZS4iCiBtc2dzdHIgIiIKICJMZXMgbWlzZXMgw6Agam91ciBvbnQgw6l0w6kgcmVqZXTDqWVzIGNhciBsJ8OpdGlxdWV0dGUgZXhpc3RlIGTDqWrDoCBkYW5zIGxhICIKICJicmFuY2hlIGRpc3RhbnRlLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mjk2CisjOiBidWlsdGluL3B1c2guYzoyOTkKIG1zZ2lkICIiCiAiWW91IGNhbm5vdCB1cGRhdGUgYSByZW1vdGUgcmVmIHRoYXQgcG9pbnRzIGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCiAib3IgdXBkYXRlIGEgcmVtb3RlIHJlZiB0byBtYWtlIGl0IHBvaW50IGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCkBAIC0xNDkxNCwyMiArMTc2OTgsMTAwIEBACiAicG9pbnRlclxuIgogInZlcnMgdW4gb2JqZXQgcXVpIG4nZXN0IHBhcyB1biBjb21taXQsIHNhbnMgdXRpbGlzZXIgbCdvcHRpb24gJy0tZm9yY2UnLlxuIgogCi0jOiBidWlsdGluL3B1c2guYzozNTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJQdXNoaW5nIHRvICVzXG4iCiBtc2dzdHIgIlBvdXNzw6llIHZlcnMgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzYxCisjOiBidWlsdGluL3B1c2guYzozNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgcG91c3NlciBkZXMgcsOpZsOpcmVuY2VzIHZlcnMgJyVzJyIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzk1CisjOiBidWlsdGluL3B1c2guYzo1NDIKK21zZ2lkICJyZXBvc2l0b3J5IgorbXNnc3RyICJkw6lww7R0IgorCisjOiBidWlsdGluL3B1c2guYzo1NDMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKK21zZ2lkICJwdXNoIGFsbCByZWZzIgorbXNnc3RyICJwb3Vzc2VyIHRvdXRlcyBsZXMgcsOpZsOpcmVuY2VzIgorCisjOiBidWlsdGluL3B1c2guYzo1NDQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKK21zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCittc2dzdHIgInJlZmzDqXRlciB0b3V0ZXMgbGVzIHLDqWbDqXJlbmNlcyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ2Cittc2dpZCAiZGVsZXRlIHJlZnMiCittc2dzdHIgInN1cHByaW1lciBsZXMgcsOpZsOpcmVuY2VzIgorCisjOiBidWlsdGluL3B1c2guYzo1NDcKK21zZ2lkICJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiCittc2dzdHIgIiIKKyJwb3Vzc2VyIGxlcyDDqXRpcXVldHRlcyAobmUgcGV1dCBwYXMgw6p0cmUgdXRpbGlzw6kgYXZlYyAtLWFsbCBvdSAtLW1pcnJvcikiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MCBidWlsdGluL3NlbmQtcGFjay5jOjE2NworbXNnaWQgImZvcmNlIHVwZGF0ZXMiCittc2dzdHIgImZvcmNlciBsZXMgbWlzZXMgw6Agam91ciIKKworIzogYnVpbHRpbi9wdXNoLmM6NTUyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgxCittc2dpZCAiPHJlZm5hbWU+OjxleHBlY3Q+IgorbXNnc3RyICI8bm9tLWRlLXJlZj46PGF0dGVuZHU+IgorCisjOiBidWlsdGluL3B1c2guYzo1NTMgYnVpbHRpbi9zZW5kLXBhY2suYzoxODIKK21zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKK21zZ3N0ciAiZXhpZ2VyIHF1ZSBsJ2FuY2llbm5lIHZhbGV1ciBkZSBsYSByw6lmw6lyZW5jZSBzb2l0IMOgIGNldHRlIHZhbGV1ciIKKworIzogYnVpbHRpbi9wdXNoLmM6NTU2Cittc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgorbXNnc3RyICJjb250csO0bGVyIGxhIHBvdXNzw6llIHLDqWN1cnNpdmUgZGVzIHNvdXMtbW9kdWxlcyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTU4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1Cittc2dpZCAidXNlIHRoaW4gcGFjayIKK21zZ3N0ciAidXRpbGlzZXIgdW4gZW1wYXF1ZXRhZ2UgbMOpZ2VyIgorCisjOiBidWlsdGluL3B1c2guYzo1NTkgYnVpbHRpbi9wdXNoLmM6NTYwIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MgorbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgorbXNnc3RyICJyZWNldm9pciBsZSBwcm9ncmFtbWUgZCdlbXBhcXVldGFnZSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTYxCittc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCittc2dzdHIgImTDqWZpbmlyIGxhIGJyYW5jaGUgYW1vbnQgcG91ciBnaXQgcHVsbC9zdGF0dXMiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2NAorbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgorbXNnc3RyICLDqWxpbWluZXIgbGVzIHLDqWbDqXJlbmNlcyBsb2NhbGVzIHN1cHByaW3DqWVzIgorCisjOiBidWlsdGluL3B1c2guYzo1NjYKK21zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKK21zZ3N0ciAiw6l2aXRlciBkJ3V0aWxpc2VyIGxlIGNyb2NoZXQgcHJlLXB1c2giCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2NworbXNnaWQgInB1c2ggbWlzc2luZyBidXQgcmVsZXZhbnQgdGFncyIKK21zZ3N0ciAicG91c3NlciBsZXMgw6l0aXF1ZXR0ZXMgbWFucXVhbnRlcyBtYWlzIHBlcnRpbmVudGVzIgorCisjOiBidWlsdGluL3B1c2guYzo1NzAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKK21zZ2lkICJHUEcgc2lnbiB0aGUgcHVzaCIKK21zZ3N0ciAic2lnbmVyIGxhIHBvdXNzw6llIGF2ZWMgR1BHIgorCisjOiBidWlsdGluL3B1c2guYzo1NzIgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzYKK21zZ2lkICJyZXF1ZXN0IGF0b21pYyB0cmFuc2FjdGlvbiBvbiByZW1vdGUgc2lkZSIKK21zZ3N0ciAiZGVtYW5kZSB1bmUgdHJhbnNhY3Rpb24gYXRvbWlxdWUgc3VyIGxlIHNlcnZldXIgZGlzdGFudCIKKworIzogYnVpbHRpbi9wdXNoLmM6NTkwCittc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCittc2dzdHIgIi0tZGVsZXRlIGVzdCBpbmNvbXBhdGlibGUgYXZlYyAtLWFsbCwgLS1taXJyb3IgZXQgLS10YWdzIgorCisjOiBidWlsdGluL3B1c2guYzo1OTIKK21zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKK21zZ3N0ciAiLS1kZWxldGUgbidhIHBhcyBkZSBzZW5zIHNhbnMgYXVjdW5lIHLDqWbDqXJlbmNlIgorCisjOiBidWlsdGluL3B1c2guYzo2MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKIG1zZ3N0ciAibWF1dmFpcyBkw6lww7R0ICclcyciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5NgorIzogYnVpbHRpbi9wdXNoLmM6NjEzCiBtc2dpZCAiIgogIk5vIGNvbmZpZ3VyZWQgcHVzaCBkZXN0aW5hdGlvbi5cbiIKICJFaXRoZXIgc3BlY2lmeSB0aGUgVVJMIGZyb20gdGhlIGNvbW1hbmQtbGluZSBvciBjb25maWd1cmUgYSByZW1vdGUgIgpAQCAtMTQ5NTEsMTA1ICsxNzgxMywyNyBAQAogIlxuIgogIiAgICBnaXQgcHVzaCA8bm9tPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzo1NTEKLW1zZ2lkICJyZXBvc2l0b3J5IgotbXNnc3RyICJkw6lww7R0IgotCi0jOiBidWlsdGluL3B1c2guYzo1NTIgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKLW1zZ2lkICJwdXNoIGFsbCByZWZzIgotbXNnc3RyICJwb3Vzc2VyIHRvdXRlcyBsZXMgcsOpZsOpcmVuY2VzIgotCi0jOiBidWlsdGluL3B1c2guYzo1NTMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKLW1zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCi1tc2dzdHIgInJlZmzDqXRlciB0b3V0ZXMgbGVzIHLDqWbDqXJlbmNlcyIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTU1Ci1tc2dpZCAiZGVsZXRlIHJlZnMiCi1tc2dzdHIgInN1cHByaW1lciBsZXMgcsOpZsOpcmVuY2VzIgotCi0jOiBidWlsdGluL3B1c2guYzo1NTYKLW1zZ2lkICJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiCi1tc2dzdHIgIiIKLSJwb3Vzc2VyIGxlcyDDqXRpcXVldHRlcyAobmUgcGV1dCBwYXMgw6p0cmUgdXRpbGlzw6kgYXZlYyAtLWFsbCBvdSAtLW1pcnJvcikiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1OSBidWlsdGluL3NlbmQtcGFjay5jOjE2NwotbXNnaWQgImZvcmNlIHVwZGF0ZXMiCi1tc2dzdHIgImZvcmNlciBsZXMgbWlzZXMgw6Agam91ciIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTYxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgxCi1tc2dpZCAiPHJlZm5hbWU+OjxleHBlY3Q+IgotbXNnc3RyICI8bm9tLWRlLXJlZj46PGF0dGVuZHU+IgotCi0jOiBidWlsdGluL3B1c2guYzo1NjIgYnVpbHRpbi9zZW5kLXBhY2suYzoxODIKLW1zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKLW1zZ3N0ciAiZXhpZ2VyIHF1ZSBsJ2FuY2llbm5lIHZhbGV1ciBkZSBsYSByw6lmw6lyZW5jZSBzb2l0IMOgIGNldHRlIHZhbGV1ciIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTY1Ci1tc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgotbXNnc3RyICJjb250csO0bGVyIGxhIHBvdXNzw6llIHLDqWN1cnNpdmUgZGVzIHNvdXMtbW9kdWxlcyIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTY3IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1Ci1tc2dpZCAidXNlIHRoaW4gcGFjayIKLW1zZ3N0ciAidXRpbGlzZXIgdW4gZW1wYXF1ZXRhZ2UgbMOpZ2VyIgotCi0jOiBidWlsdGluL3B1c2guYzo1NjggYnVpbHRpbi9wdXNoLmM6NTY5IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MgotbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgotbXNnc3RyICJyZWNldm9pciBsZSBwcm9ncmFtbWUgZCdlbXBhcXVldGFnZSIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTcwCi1tc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCi1tc2dzdHIgImTDqWZpbmlyIGxhIGJyYW5jaGUgYW1vbnQgcG91ciBnaXQgcHVsbC9zdGF0dXMiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU3MwotbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgotbXNnc3RyICLDqWxpbWluZXIgbGVzIHLDqWbDqXJlbmNlcyBsb2NhbGVzIHN1cHByaW3DqWVzIgotCi0jOiBidWlsdGluL3B1c2guYzo1NzUKLW1zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKLW1zZ3N0ciAiw6l2aXRlciBkJ3V0aWxpc2VyIGxlIGNyb2NoZXQgcHJlLXB1c2giCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU3NgotbXNnaWQgInB1c2ggbWlzc2luZyBidXQgcmVsZXZhbnQgdGFncyIKLW1zZ3N0ciAicG91c3NlciBsZXMgw6l0aXF1ZXR0ZXMgbWFucXVhbnRlcyBtYWlzIHBlcnRpbmVudGVzIgotCi0jOiBidWlsdGluL3B1c2guYzo1NzkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKLW1zZ2lkICJHUEcgc2lnbiB0aGUgcHVzaCIKLW1zZ3N0ciAic2lnbmVyIGxhIHBvdXNzw6llIGF2ZWMgR1BHIgotCi0jOiBidWlsdGluL3B1c2guYzo1ODEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzYKLW1zZ2lkICJyZXF1ZXN0IGF0b21pYyB0cmFuc2FjdGlvbiBvbiByZW1vdGUgc2lkZSIKLW1zZ3N0ciAiZGVtYW5kZSB1bmUgdHJhbnNhY3Rpb24gYXRvbWlxdWUgc3VyIGxlIHNlcnZldXIgZGlzdGFudCIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTk5Ci1tc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCi1tc2dzdHIgIi0tZGVsZXRlIGVzdCBpbmNvbXBhdGlibGUgYXZlYyAtLWFsbCwgLS1taXJyb3IgZXQgLS10YWdzIgotCi0jOiBidWlsdGluL3B1c2guYzo2MDEKLW1zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKLW1zZ3N0ciAiLS1kZWxldGUgbidhIHBhcyBkZSBzZW5zIHNhbnMgYXVjdW5lIHLDqWbDqXJlbmNlIgotCi0jOiBidWlsdGluL3B1c2guYzo2MDQKKyM6IGJ1aWx0aW4vcHVzaC5jOjYyOAogbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwgZXQgLS10YWdzIHNvbnQgaW5jb21wYXRpYmxlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjA2CisjOiBidWlsdGluL3B1c2guYzo2MzAKIG1zZ2lkICItLWFsbCBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICItLWFsbCBuZSBwZXV0IHBhcyDDqnRyZSBjb21iaW7DqSBhdmVjIGRlcyBzcMOpY2lmaWNhdGlvbnMgZGUgcsOpZsOpcmVuY2UiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjYxMAorIzogYnVpbHRpbi9wdXNoLmM6NjM0CiBtc2dpZCAiLS1taXJyb3IgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLW1pcnJvciBldCAtLXRhZ3Mgc29udCBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3B1c2guYzo2MTIKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzNgogbXNnaWQgIi0tbWlycm9yIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIi0tbWlycm9yIG5lIHBldXQgcGFzIMOqdHJlIGNvbWJpbsOpIGF2ZWMgZGVzIHNww6ljaWZpY2F0aW9ucyBkZSByw6lmw6lyZW5jZSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjE1CisjOiBidWlsdGluL3B1c2guYzo2MzkKIG1zZ2lkICItLWFsbCBhbmQgLS1taXJyb3IgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwgZXQgLS1taXJyb3Igc29udCBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3B1c2guYzo2MzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjY0MwogbXNnaWQgInB1c2ggb3B0aW9ucyBtdXN0IG5vdCBoYXZlIG5ldyBsaW5lIGNoYXJhY3RlcnMiCiBtc2dzdHIgIiIKICJsZXMgb3B0aW9ucyBkZSBwb3Vzc8OpZSBuZSBwZXV2ZW50IHBhcyBjb250ZW5pciBkZSBjYXJhY3TDqHJlcyBkZSBub3V2ZWxsZSAiCkBAIC0xNTA2OSwyOCArMTc4NTMsMzYgQEAKIG1zZ2lkICJnaXQgcmFuZ2UtZGlmZiBbPG9wdGlvbnM+XSA8YmFzZT4gPG9sZC10aXA+IDxuZXctdGlwPiIKIG1zZ3N0ciAiZ2l0IHJhbmdlLWRpZmYgWzxvcHRpb25zPl0gPGJhc2U+IDxhbmNpZW4tc29tbWV0PiA8bm91dmVhdS1zb21tZXQ+IgogCi0jOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyMQorIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjIKIG1zZ2lkICJQZXJjZW50YWdlIGJ5IHdoaWNoIGNyZWF0aW9uIGlzIHdlaWdodGVkIgogbXNnc3RyICJQb3VyY2VudGFnZSBwYXIgbGVxdWVsIGxhIGNyw6lhdGlvbiBlc3QgcG9uZMOpcsOpZSIKIAotIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjMKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjI0CiBtc2dpZCAidXNlIHNpbXBsZSBkaWZmIGNvbG9ycyIKIG1zZ3N0ciAidXRpbGlzZXIgZGVzIGNvdWxldXJzIGRlIGRpZmYgc2ltcGxlcyIKIAotIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NjEgYnVpbHRpbi9yYW5nZS1kaWZmLmM6NjUKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjI2Cittc2dpZCAibm90ZXMiCittc2dzdHIgIm5vdGVzIgorCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyNgorbXNnaWQgInBhc3NlZCB0byAnZ2l0IGxvZyciCittc2dzdHIgInBhc3PDqSDDoCAnZ2l0IGxvZyciCisKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjUwIGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIC4uIGluIHJhbmdlOiAnJXMnIgogbXNnc3RyICJwYXMgZGUgLi4gZGFucyBsYSBwbGFnZcKgOiAnJXMnIgogCi0jOiBidWlsdGluL3JhbmdlLWRpZmYuYzo3NQorIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NjQKIG1zZ2lkICJzaW5nbGUgYXJnIGZvcm1hdCBtdXN0IGJlIHN5bW1ldHJpYyByYW5nZSIKIG1zZ3N0ciAidW4gZm9ybWF0IGQnYXJndW1lbnQgdW5pcXVlIGRvaXQgw6p0cmUgdW5lIHBsYWdlIHN5bcOpdHJpcXVlIgogCi0jOiBidWlsdGluL3JhbmdlLWRpZmYuYzo5MAorIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NzkKIG1zZ2lkICJuZWVkIHR3byBjb21taXQgcmFuZ2VzIgogbXNnc3RyICJwbGFnZSBlbnRyZSBkZXV4IGNvbW1pdHMgcmVxdWlzZSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzo0MAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzo0MQogbXNnaWQgIiIKICJnaXQgcmVhZC10cmVlIFsoLW0gWy0tdHJpdmlhbF0gWy0tYWdncmVzc2l2ZV0gfCAtLXJlc2V0IHwgLS1wcmVmaXg9PHByZWZpeD4pICIKICJbLXUgWy0tZXhjbHVkZS1wZXItZGlyZWN0b3J5PTxnaXRpZ25vcmU+XSB8IC1pXV0gWy0tbm8tc3BhcnNlLWNoZWNrb3V0XSBbLS0iCkBAIC0xNTEwMSwxMjAgKzE3ODkzLDMwNyBAQAogInNwYXJzZS1jaGVja291dF0gWy0taW5kZXgtb3V0cHV0PTxmaWNoaWVyPl0gKC0tZW1wdHkgfCA8YXJicmUgb3UgYXBwYXJlbnTDqSAiCiAiMT4gWzxhcmJyZSBvdSBhcHBhcmVudMOpIDI+IFs8YXJicmUgb3UgYXBwYXJlbnTDqSAzPl1dKSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjMKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI0CiBtc2dpZCAid3JpdGUgcmVzdWx0aW5nIGluZGV4IHRvIDxmaWxlPiIKIG1zZ3N0ciAiw6ljcmlyZSBsJ2luZGV4IHLDqXN1bHRhbnQgZGFucyA8ZmljaGllcj4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI2CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNwogbXNnaWQgIm9ubHkgZW1wdHkgdGhlIGluZGV4IgogbXNnc3RyICJqdXN0ZSB2aWRlciBsJ2luZGV4IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjkKIG1zZ2lkICJNZXJnaW5nIgogbXNnc3RyICJGdXNpb24iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMwCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMQogbXNnaWQgInBlcmZvcm0gYSBtZXJnZSBpbiBhZGRpdGlvbiB0byBhIHJlYWQiCiBtc2dzdHIgImVmZmVjdHVlciB1bmUgZnVzaW9uIGVuIHBsdXMgZCd1bmUgbGVjdHVyZSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzIKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMzCiBtc2dpZCAiMy13YXkgbWVyZ2UgaWYgbm8gZmlsZSBsZXZlbCBtZXJnaW5nIHJlcXVpcmVkIgogbXNnc3RyICJmdXNpb24gw6AgMyBwb2ludHMgc2kgYXVjdW5lIGZ1c2lvbiBkZSBuaXZlYXUgZmljaGllciBuJ2VzdCByZXF1aXNlIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzUKIG1zZ2lkICIzLXdheSBtZXJnZSBpbiBwcmVzZW5jZSBvZiBhZGRzIGFuZCByZW1vdmVzIgogbXNnc3RyICJmdXNpb24gw6AgMyBwb2ludHMgZW4gcHLDqXNlbmNlIGQnYWpvdXRzIGV0IHN1cHByZXNzaW9ucyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzYKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM3CiBtc2dpZCAic2FtZSBhcyAtbSwgYnV0IGRpc2NhcmQgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAiY29tbWUgLW0sIG1haXMgYW5udWxlIGxlcyDDqWzDqW1lbnRzIG5vbiBmdXNpb25uw6lzIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzgKIG1zZ2lkICI8c3ViZGlyZWN0b3J5Pi8iCiBtc2dzdHIgIjxzb3VzLXLDqXBlcnRvaXJlPi8iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM4CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOQogbXNnaWQgInJlYWQgdGhlIHRyZWUgaW50byB0aGUgaW5kZXggdW5kZXIgPHN1YmRpcmVjdG9yeT4vIgogbXNnc3RyICJsaXJlIGwnYXJicmUgZGFucyBsJ2luZGV4IGRhbnMgPHNvdXMtcsOpcGVydG9pcmU+LyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDEKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQyCiBtc2dpZCAidXBkYXRlIHdvcmtpbmcgdHJlZSB3aXRoIG1lcmdlIHJlc3VsdCIKIG1zZ3N0ciAibWV0dHJlIMOgIGpvdXIgbGEgY29waWUgZGUgdHJhdmFpbCBhdmVjIGxlIHLDqXN1bHRhdCBkZSBsYSBmdXNpb24iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NAogbXNnaWQgImdpdGlnbm9yZSIKIG1zZ3N0ciAiZ2l0aWdub3JlIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDUKIG1zZ2lkICJhbGxvdyBleHBsaWNpdGx5IGlnbm9yZWQgZmlsZXMgdG8gYmUgb3ZlcndyaXR0ZW4iCiBtc2dzdHIgImF1dG9yaXNlciBleHBsaWNpdGVtZW50IGxlcyBmaWNoaWVycyBpZ25vcsOpcyDDoCDDqnRyZSDDqWNyYXPDqXMiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0OAogbXNnaWQgImRvbid0IGNoZWNrIHRoZSB3b3JraW5nIHRyZWUgYWZ0ZXIgbWVyZ2luZyIKIG1zZ3N0ciAibmUgcGFzIHbDqXJpZmllciBsYSBjb3BpZSBkZSB0cmF2YWlsIGFwcsOocyBsYSBmdXNpb24iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ4CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0OQogbXNnaWQgImRvbid0IHVwZGF0ZSB0aGUgaW5kZXggb3IgdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAibmUgcGFzIG1ldHRyZSDDoCBqb3VyIGwnaW5kZXggb3UgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUxCiBtc2dpZCAic2tpcCBhcHBseWluZyBzcGFyc2UgY2hlY2tvdXQgZmlsdGVyIgogbXNnc3RyICJzYXV0ZXIgbCdhcHBsaWNhdGlvbiBkdSBmaWx0cmUgZCdleHRyYWN0aW9uIGNyZXVzZSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTIKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUzCiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICJkw6lib2d1ZXIgdW5wYWNrLXRyZWVzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjI5Ci1tc2dpZCAiIgotImdpdCByZWJhc2UgWy1pXSBbb3B0aW9uc10gWy0tZXhlYyA8Y21kPl0gWy0tb250byA8bmV3YmFzZT5dIFs8dXBzdHJlYW0+XSAiCi0iWzxicmFuY2g+XSIKLW1zZ3N0ciAiIgotImdpdCByZWJhc2UgWy1pXSBbb3B0aW9uc10gWy0tZXhlYyA8Y21kPl0gWy0tb250byA8bm91dmVsbGUtYmFzZT5dIFs8YW1vbnQ+XSAiCi0iWzxicmFuY2hlPl0iCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1NworbXNnaWQgInN1cHByZXNzIGZlZWRiYWNrIG1lc3NhZ2VzIgorbXNnc3RyICJzdXBwcmltZXIgbGVzIG1lc3NhZ2VzIGQnaW5mb3JtYXRpb24gZGUgc3VpdmkiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MzEKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTg4Cittc2dpZCAiWW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCittc2dzdHIgIlZvdXMgZGV2ZXogZCdhYm9yZCByw6lzb3VkcmUgdm90cmUgaW5kZXggY291cmFudCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzozMgorbXNnaWQgIiIKKyJnaXQgcmViYXNlIFstaV0gW29wdGlvbnNdIFstLWV4ZWMgPGNtZD5dIFstLW9udG8gPG5ld2Jhc2U+IHwgLS1rZWVwLWJhc2VdICIKKyJbPHVwc3RyZWFtPiBbPGJyYW5jaD5dXSIKK21zZ3N0ciAiIgorImdpdCByZWJhc2UgWy1pXSBbb3B0aW9uc10gWy0tZXhlYyA8Y21kPl0gWy0tb250byA8bm91dmVsbGUtYmFzZT4gfCAtLWtlZXAtIgorImJhc2VdIFs8YW1vbnQ+IFs8YnJhbmNoZT5dXSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzozNAogbXNnaWQgIiIKICJnaXQgcmViYXNlIFstaV0gW29wdGlvbnNdIFstLWV4ZWMgPGNtZD5dIFstLW9udG8gPG5ld2Jhc2U+XSAtLXJvb3QgWzxicmFuY2g+XSIKIG1zZ3N0ciAiIgogImdpdCByZWJhc2UgWy1pXSBbb3B0aW9uc10gWy0tZXhlYyA8Y21kPl0gWy0tb250byA8bm91dmVsbGUtYmFzZT5dIC0tcm9vdCAiCiAiWzxicmFuY2hlPl0iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MzMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzYKIG1zZ2lkICJnaXQgcmViYXNlIC0tY29udGludWUgfCAtLWFib3J0IHwgLS1za2lwIHwgLS1lZGl0LXRvZG8iCiBtc2dzdHIgImdpdCByZWJhc2UgLS1jb250aW51ZSB8IC0tYWJvcnQgfCAtLXNraXAgfCAtLWVkaXQtdG9kbyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTc3IGJ1aWx0aW4vcmViYXNlLmM6MjAxIGJ1aWx0aW4vcmViYXNlLmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVudXNhYmxlIHRvZG8gbGlzdDogJyVzJyIKK21zZ3N0ciAibGlzdGUgw6AgZmFpcmUgaW51dGlsaXNhYmxlwqA6ICclcyciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg2IGJ1aWx0aW4vcmViYXNlLmM6MjEyIGJ1aWx0aW4vcmViYXNlLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSAnJXMnLiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgJyVzJy4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjcxCittc2dpZCAibm8gSEVBRD8iCittc2dzdHIgInBhcyBkZSBIRUFEwqA/IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgdW4gZmljaGllciB0ZW1wb3JhaXJlICVzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjMwNAorbXNnaWQgImNvdWxkIG5vdCBtYXJrIGFzIGludGVyYWN0aXZlIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIG1hcnF1ZXIgY29tbWUgaW50ZXJhY3RpZiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzozNjIKK21zZ2lkICJjb3VsZCBub3QgZ2VuZXJhdGUgdG9kbyBsaXN0IgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGfDqW7DqXJlciBsYSBsaXN0ZSDDoC1mYWlyZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0MDIKK21zZ2lkICJhIGJhc2UgY29tbWl0IG11c3QgYmUgcHJvdmlkZWQgd2l0aCAtLXVwc3RyZWFtIG9yIC0tb250byIKK21zZ3N0ciAidW4gY29tbWl0IGRlIGJhc2UgZG9pdCDDqnRyZSBmb3VybmkgYXZlYyAtLXVwc3RyZWFtIG91IC0tb250byIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NTcKK21zZ2lkICJnaXQgcmViYXNlLS1pbnRlcmFjdGl2ZSBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHJlYmFzZS0taW50ZXJhY3RpdmUgWzxvcHRpb25zPl0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDY5Cittc2dpZCAia2VlcCBlbXB0eSBjb21taXRzIgorbXNnc3RyICJnYXJkZXIgbGVzIHZhbGlkYXRpb25zIHZpZGVzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3MSBidWlsdGluL3JldmVydC5jOjEyOAorbXNnaWQgImFsbG93IGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKK21zZ3N0ciAiYXV0b3Jpc2VyIGxlcyB2YWxpZGF0aW9ucyBhdmVjIGRlcyBtZXNzYWdlcyB2aWRlcyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzIKK21zZ2lkICJyZWJhc2UgbWVyZ2UgY29tbWl0cyIKK21zZ3N0ciAicmViYXNlciBsZXMgY29tbWl0cyBkZSBmdXNpb24iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDc0Cittc2dpZCAia2VlcCBvcmlnaW5hbCBicmFuY2ggcG9pbnRzIG9mIGNvdXNpbnMiCittc2dzdHIgImNvbnNlcnZlciBsZXMgcG9pbnRzIGRlIGJyYW5jaGVtZW50IGRlIGNvdXNpbnMgb3JpZ2luYXV4IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3NgorbXNnaWQgIm1vdmUgY29tbWl0cyB0aGF0IGJlZ2luIHdpdGggc3F1YXNoIS9maXh1cCEiCittc2dzdHIgImTDqXBsYWNlciBsZXMgY29tbWl0cyBxdWkgY29tbWVuY2VudCBwYXIgc3F1YXNoIS9maXh1cCEiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDc3Cittc2dpZCAic2lnbiBjb21taXRzIgorbXNnc3RyICJzaWduZXIgbGVzIGNvbW1pdHMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDc5IGJ1aWx0aW4vcmViYXNlLmM6MTQ1NQorbXNnaWQgImRpc3BsYXkgYSBkaWZmc3RhdCBvZiB3aGF0IGNoYW5nZWQgdXBzdHJlYW0iCittc2dzdHIgImFmZmljaGVyIHVuIGRpZmZzdGF0IGRlIGNlIHF1aSBhIGNoYW5nw6kgZW4gYW1vbnQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDgxCittc2dpZCAiY29udGludWUgcmViYXNlIgorbXNnc3RyICJjb250aW51ZXIgbGUgcmViYXNhZ2UiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDgzCittc2dpZCAic2tpcCBjb21taXQiCittc2dzdHIgInNhdXRlciBsZSBjb21taXQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDg0Cittc2dpZCAiZWRpdCB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICLDqWRpdGVyIGxhIGxpc3RlIMOgLWZhaXJlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4NgorbXNnaWQgInNob3cgdGhlIGN1cnJlbnQgcGF0Y2giCittc2dzdHIgImFmZmljaGVyIGxlIHBhdGNoIGNvdXJhbnQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDg5Cittc2dpZCAic2hvcnRlbiBjb21taXQgaWRzIGluIHRoZSB0b2RvIGxpc3QiCittc2dzdHIgInJhY2NvdXJjaXIgbGVzIGlkZW50aWZpYW50cyBkZSBjb21taXRzIGRhbnMgbGEgbGlzdGUgw6AtZmFpcmUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDkxCittc2dpZCAiZXhwYW5kIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKK21zZ3N0ciAiw6l0ZW5kcmUgbGVzIGlkZW50aWZpYW50cyBkZSBjb21taXQgZGFucyBsYSBsaXN0ZSDDoC1mYWlyZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTMKK21zZ2lkICJjaGVjayB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICJ2w6lyaWZpZXIgbGEgbGlzdGUgw6AtZmFpcmUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDk1Cittc2dpZCAicmVhcnJhbmdlIGZpeHVwL3NxdWFzaCBsaW5lcyIKK21zZ3N0ciAicsOpYXJyYW5nZXIgbGVzIGxpZ25lcyBmaXh1cC9zcXVhc2giCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDk3Cittc2dpZCAiaW5zZXJ0IGV4ZWMgY29tbWFuZHMgaW4gdG9kbyBsaXN0IgorbXNnc3RyICJpbnPDqXJlciBsZXMgY29tbWFuZGVzIGV4ZWMgZGFucyBsYSBsaXN0ZSDDoC1mYWlyZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTgKK21zZ2lkICJvbnRvIgorbXNnc3RyICJzdXIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTAxCittc2dpZCAicmVzdHJpY3QtcmV2aXNpb24iCittc2dzdHIgInJlc3RyaWN0LXJldmlzaW9uIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwMQorbXNnaWQgInJlc3RyaWN0IHJldmlzaW9uIgorbXNnc3RyICJyZXN0cmVpbmRyZSBsYSByw6l2aXNpb24iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTAzCittc2dpZCAic3F1YXNoLW9udG8iCittc2dzdHIgIsOpY3Jhc2VyLXN1ciIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDQKK21zZ2lkICJzcXVhc2ggb250byIKK21zZ3N0ciAiw6ljcmFzZXIgc3VyIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwNgorbXNnaWQgInRoZSB1cHN0cmVhbSBjb21taXQiCittc2dzdHIgImxlIGNvbW1pdCBhbW9udCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDgKK21zZ2lkICJoZWFkLW5hbWUiCittc2dzdHIgIm5vbSBkdSBoZWFkIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwOAorbXNnaWQgImhlYWQgbmFtZSIKK21zZ3N0ciAibm9tIGR1IGhlYWQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTEzCittc2dpZCAicmViYXNlIHN0cmF0ZWd5IgorbXNnc3RyICJzdHJhdMOpZ2llIGRlIHJlYmFzYWdlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxNAorbXNnaWQgInN0cmF0ZWd5LW9wdHMiCittc2dzdHIgIm9wdGlvbnMgZGUgc3RyYXTDqWdpZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTUKK21zZ2lkICJzdHJhdGVneSBvcHRpb25zIgorbXNnc3RyICJvcHRpb25zIGRlIHN0cmF0w6lnaWUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE2Cittc2dpZCAic3dpdGNoLXRvIgorbXNnc3RyICJzd2l0Y2gtdG8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE3Cittc2dpZCAidGhlIGJyYW5jaCBvciBjb21taXQgdG8gY2hlY2tvdXQiCittc2dzdHIgImxhIGJyYW5jaGUgb3UgbGUgY29tbWl0IMOgIGV4dHJhaXJlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOAorbXNnaWQgIm9udG8tbmFtZSIKK21zZ3N0ciAic3VyLWxlLW5vbSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTgKK21zZ2lkICJvbnRvIG5hbWUiCittc2dzdHIgInN1ciBsZSBub20iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE5Cittc2dpZCAiY21kIgorbXNnc3RyICJjbWQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE5Cittc2dpZCAidGhlIGNvbW1hbmQgdG8gcnVuIgorbXNnc3RyICJsYSBjb21tYW5kZSDDoCBsYW5jZXIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTIyIGJ1aWx0aW4vcmViYXNlLmM6MTU0MAorbXNnaWQgImF1dG9tYXRpY2FsbHkgcmUtc2NoZWR1bGUgYW55IGBleGVjYCB0aGF0IGZhaWxzIgorbXNnc3RyICJyZS1wbGFuaWZpZXIgYXV0b21hdGlxdWVtZW50IHRvdXQgYGV4ZWNgIHF1aSDDqWNob3VlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjU0MAorbXNnaWQgIi0tW25vLV1yZWJhc2UtY291c2lucyBoYXMgbm8gZWZmZWN0IHdpdGhvdXQgLS1yZWJhc2UtbWVyZ2VzIgorbXNnc3RyICItLVtuby1dcmViYXNlLWNvdXNpbnMgbidhIGF1Y3VuIGVmZmV0IHNhbnMgLS1yZWJhc2UtbWVyZ2VzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjU1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyByZXF1aXJlcyBhbiBpbnRlcmFjdGl2ZSByZWJhc2UiCiBtc2dzdHIgIiVzIHJlcXVpZXJ0IHVuIHJlYmFzYWdlIGludGVyYWN0aWYiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTcxCisjOiBidWlsdGluL3JlYmFzZS5jOjYwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZ2V0ICdvbnRvJzogJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FjY8OpZGVyICdvbnRvJyA6ICclcyciCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTg2CisjOiBidWlsdGluL3JlYmFzZS5jOjYyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9yaWctaGVhZDogJyVzJyIKIG1zZ3N0ciAib3JpZy1oZWFkIGludmFsaWRlwqA6ICclcyciCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MjE0CisjOiBidWlsdGluL3JlYmFzZS5jOjY0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBpbnZhbGlkIGFsbG93X3JlcmVyZV9hdXRvdXBkYXRlOiAnJXMnIgogbXNnc3RyICJhbGxvd19yZXJlcmVfYXV0b3VwZGF0ZSBpbnZhbGlkZSBpZ25vcsOpwqA6ICclcyciCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MjU5CisjOiBidWlsdGluL3JlYmFzZS5jOjcyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxpcmUgJyVzJyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoyNzcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NzQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzdG9yZSAlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzdG9ja2VyICVzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjMzNworIzogYnVpbHRpbi9yZWJhc2UuYzo4NDkKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIEhFQUQgcmV2aXNpb24iCittc2dzdHIgImltcG9zc2libGUgZGUgZMOpdGVybWluZXIgbGEgcsOpdmlzaW9uIEhFQUQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6OTcyIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MQogbXNnaWQgIiIKICJSZXNvbHZlIGFsbCBjb25mbGljdHMgbWFudWFsbHksIG1hcmsgdGhlbSBhcyByZXNvbHZlZCB3aXRoXG4iCiAiXCJnaXQgYWRkL3JtIDxjb25mbGljdGVkX2ZpbGVzPlwiLCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiLlxuIgpAQCAtMTUyMjgsMTEgKzE4MjA3LDI2IEBACiAiYXJyw6p0ZXJcbiIKICJldCByZXZlbmlyIMOgIGwnw6l0YXQgYW50w6lyaWV1ciDDoCBsYSBjb21tYW5kZSwgbGFuY2V6IFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjU2MQotbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgSEVBRCByZXZpc2lvbiIKLW1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6l0ZXJtaW5lciBsYSByw6l2aXNpb24gSEVBRCIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTA2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiZ2l0IGVuY291bnRlcmVkIGFuIGVycm9yIHdoaWxlIHByZXBhcmluZyB0aGUgcGF0Y2hlcyB0byByZXBsYXlcbiIKKyJ0aGVzZSByZXZpc2lvbnM6XG4iCisiXG4iCisiICAgICVzXG4iCisiXG4iCisiQXMgYSByZXN1bHQsIGdpdCBjYW5ub3QgcmViYXNlIHRoZW0uIgorbXNnc3RyICIiCisiXG4iCisiZ2l0IGEgcmVuY29udHLDqSB1bmUgZXJyZXVyIGxvcnMgZGUgbGEgcHLDqXBhcmF0aW9uIGRlcyBjb3JyZWN0aWZzXG4iCisicG91ciByZWpvdWVyIGNlcyByw6l2aXNpb25zwqA6IFxuIgorIlxuIgorIiAgICAlc1xuIgorIlxuIgorIlLDqXN1bHRhdCwgZ2l0IG5lIHBldXQgcGFzIGxlcyByZWJhc2VyLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo3NTMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTM2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXNcbiIKQEAgLTE1MjQ5LDcgKzE4MjQzLDcgQEAKICIgICAgZ2l0IHJlYmFzZSAnPGJyYW5jaGU+J1xuIgogIlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjc2OQorIzogYnVpbHRpbi9yZWJhc2UuYzoxMzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDpcbiIKQEAgLTE1MjYzLDE1MCArMTgyNTcsMTg1IEBACiAiICAgIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG89JXMvPGJyYW5jaGU+ICVzXG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODMyCisjOiBidWlsdGluL3JlYmFzZS5jOjE0MTMKK21zZ2lkICJleGVjIGNvbW1hbmRzIGNhbm5vdCBjb250YWluIG5ld2xpbmVzIgorbXNnc3RyICJsZXMgY29tbWFuZGVzIGV4ZWMgbmUgcGV1dCBwYXMgY29udGVuaXIgZGUgcmV0b3VyIMOgIGxhIGxpZ25lIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0MTcKK21zZ2lkICJlbXB0eSBleGVjIGNvbW1hbmQiCittc2dzdHIgImNvbW1hbmRlIGV4ZWMgdmlkZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDQ2CiBtc2dpZCAicmViYXNlIG9udG8gZ2l2ZW4gYnJhbmNoIGluc3RlYWQgb2YgdXBzdHJlYW0iCiBtc2dzdHIgInJlYmFzZXIgc3VyIGxhIGJyYW5jaGUgJXMgYXUgbGlldSBkZSBsYSBicmFuY2hlIGFtb250IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjgzNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDQ4Cittc2dpZCAidXNlIHRoZSBtZXJnZS1iYXNlIG9mIHVwc3RyZWFtIGFuZCBicmFuY2ggYXMgdGhlIGN1cnJlbnQgYmFzZSIKK21zZ3N0ciAiIgorInV0aWxpc2VyIGxhIGJhc2UgZGUgZnVzaW9uIGRlIGwnYW1vbnQgZXQgbGEgYnJhbmNoZSBjb21tZSBiYXNlIGFjdHVlbGxlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NTAKIG1zZ2lkICJhbGxvdyBwcmUtcmViYXNlIGhvb2sgdG8gcnVuIgogbXNnc3RyICJwZXJtZXR0cmUgbGUgbGFuY2VtZW50IGR1IGNyb2NoZXQgcHJlLXJlYmFzZSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4MzYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1MgogbXNnaWQgImJlIHF1aWV0LiBpbXBsaWVzIC0tbm8tc3RhdCIKIG1zZ3N0ciAiw6p0cmUgc2lsZW5jaWV1eC4gaW1wbGlxdWUgLS1uby1zdGF0IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjgzOQotbXNnaWQgImRpc3BsYXkgYSBkaWZmc3RhdCBvZiB3aGF0IGNoYW5nZWQgdXBzdHJlYW0iCi1tc2dzdHIgImFmZmljaGVyIHVuIGRpZmZzdGF0IGRlIGNlIHF1aSBhIGNoYW5nw6kgZW4gYW1vbnQiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODQyCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NTgKIG1zZ2lkICJkbyBub3Qgc2hvdyBkaWZmc3RhdCBvZiB3aGF0IGNoYW5nZWQgdXBzdHJlYW0iCiBtc2dzdHIgIm5lIHBhcyBhZmZpY2hlciB1biBkaWZmc3RhdCBkZSBjZSBxdWkgYSBjaGFuZ8OpIGVuIGFtb250IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg0NQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDYxCiBtc2dpZCAiYWRkIGEgU2lnbmVkLW9mZi1ieTogbGluZSB0byBlYWNoIGNvbW1pdCIKIG1zZ3N0ciAiYWpvdXRlciB1bmUgbGlnbmUgU2lnbmVkLW9mZi1ieSDDoCBjaGFxdWUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg0NyBidWlsdGluL3JlYmFzZS5jOjg1MSBidWlsdGluL3JlYmFzZS5jOjg1MwotbXNnaWQgInBhc3NlZCB0byAnZ2l0IGFtJyIKLW1zZ3N0ciAicGFzc8OpIMOgICdnaXQgYW0nIgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDY0Cittc2dpZCAibWFrZSBjb21taXR0ZXIgZGF0ZSBtYXRjaCBhdXRob3IgZGF0ZSIKK21zZ3N0ciAiYWxpZ25lciBsYSBkYXRlIGRlIHZhbGlkYXRldXIgc3VyIGxhIGRhdGUgZCdhdXRldXIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODU1IGJ1aWx0aW4vcmViYXNlLmM6ODU3CisjOiBidWlsdGluL3JlYmFzZS5jOjE0NjYKK21zZ2lkICJpZ25vcmUgYXV0aG9yIGRhdGUgYW5kIHVzZSBjdXJyZW50IGRhdGUiCittc2dzdHIgImlnbm9yZXIgbGEgZGF0ZSBkJ2F1dGV1ciBldCB1dGlsaXNlciBsYSBkYXRlIGFjdHVlbGxlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NjgKK21zZ2lkICJzeW5vbnltIG9mIC0tcmVzZXQtYXV0aG9yLWRhdGUiCittc2dzdHIgInN5bm9ueW1lIHBvdXIgLS1yZXNldC1hdXRob3ItZGF0ZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDcwIGJ1aWx0aW4vcmViYXNlLmM6MTQ3NAogbXNnaWQgInBhc3NlZCB0byAnZ2l0IGFwcGx5JyIKIG1zZ3N0ciAicGFzc8OpIGp1c3F1J8OgIGdpdC1hcHBseSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NTkgYnVpbHRpbi9yZWJhc2UuYzo4NjIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3MgorbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2UiCittc2dzdHIgImlnbm9yZXIgZGVzIG1vZGlmaWNhdGlvbnMgZCdlc3BhY2UiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3NiBidWlsdGluL3JlYmFzZS5jOjE0NzkKIG1zZ2lkICJjaGVycnktcGljayBhbGwgY29tbWl0cywgZXZlbiBpZiB1bmNoYW5nZWQiCiBtc2dzdHIgInBpY29yZXIgdG91cyBsZXMgY29tbWl0cywgbcOqbWUgc2FucyBtb2RpZmlhbnQiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODY0CisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODEKIG1zZ2lkICJjb250aW51ZSIKIG1zZ3N0ciAiY29udGludWVyIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg2NworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDg0CiBtc2dpZCAic2tpcCBjdXJyZW50IHBhdGNoIGFuZCBjb250aW51ZSIKIG1zZ3N0ciAic2F1dGVyIGxlIHBhdGNoIGNvdXJhbnQgZXQgY29udGludWVyIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg2OQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDg2CiBtc2dpZCAiYWJvcnQgYW5kIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoIgogbXNnc3RyICJhYmFuZG9ubmVyIGV0IGV4dHJhaXJlIGxhIGJyYW5jaGUgZCdvcmlnaW5lIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg3MgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDg5CiBtc2dpZCAiYWJvcnQgYnV0IGtlZXAgSEVBRCB3aGVyZSBpdCBpcyIKIG1zZ3N0ciAiYWJhbmRvbm5lIG1haXMgZ2FyZGUgSEVBRCBvw7kgaWwgZXN0IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg3MworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDkwCiBtc2dpZCAiZWRpdCB0aGUgdG9kbyBsaXN0IGR1cmluZyBhbiBpbnRlcmFjdGl2ZSByZWJhc2UiCiBtc2dzdHIgIsOpZGl0ZXIgbGEgbGlzdGUgw6AgZmFpcmUgbG9ycyBkJ3VuIHJlYmFzYWdlIGludGVyYWN0aWYiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODc2CisjOiBidWlsdGluL3JlYmFzZS5jOjE0OTMKIG1zZ2lkICJzaG93IHRoZSBwYXRjaCBmaWxlIGJlaW5nIGFwcGxpZWQgb3IgbWVyZ2VkIgogbXNnc3RyICJhZmZpY2hlciBsZSBwYXRjaCBlbiBjb3VycyBkJ2FwcGxpY2F0aW9uIG91IGRlIGZ1c2lvbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NzkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ5NgogbXNnaWQgInVzZSBtZXJnaW5nIHN0cmF0ZWdpZXMgdG8gcmViYXNlIgogbXNnc3RyICJ1dGlsaXNlciBkZXMgc3RyYXTDqWdpZXMgZGUgZnVzaW9uIHBvdXIgcmViYXNlciIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4ODMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwMAogbXNnaWQgImxldCB0aGUgdXNlciBlZGl0IHRoZSBsaXN0IG9mIGNvbW1pdHMgdG8gcmViYXNlIgogbXNnc3RyICJsYWlzc2VyIGwndXRpbGlzYXRldXIgw6lkaXRlciBsYSBsaXN0ZSBkZXMgY29tbWl0cyDDoCByZWJhc2VyIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg4NwotbXNnaWQgInRyeSB0byByZWNyZWF0ZSBtZXJnZXMgaW5zdGVhZCBvZiBpZ25vcmluZyB0aGVtIgotbXNnc3RyICJlc3NheWVyIGRlIHJlY3LDqWVyIGxlcyBmdXNpb25zIGF1IGxpZXUgZGUgbGVzIGlnbm9yZXIiCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MDQKK21zZ2lkICIoREVQUkVDQVRFRCkgdHJ5IHRvIHJlY3JlYXRlIG1lcmdlcyBpbnN0ZWFkIG9mIGlnbm9yaW5nIHRoZW0iCittc2dzdHIgIihEw4lDT05TRUlMTMOJKSBlc3NheWVyIGRlIHJlY3LDqWVyIGxlcyBmdXNpb25zIGF1IGxpZXUgZGUgbGVzIGlnbm9yZXIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODkxCi1tc2dpZCAiYWxsb3cgcmVyZXJlIHRvIHVwZGF0ZSBpbmRleCB3aXRoIHJlc29sdmVkIGNvbmZsaWN0IgotbXNnc3RyICJwZXJtZXR0cmUgw6AgcmVyZXJlIMOgIG1ldHRyZSDDoCBqb3VyIGwnaW5kZXggYXZlYyBkZXMgY29uZmxpdHMgcsOpc29sdXMiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODk0CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MDkKIG1zZ2lkICJwcmVzZXJ2ZSBlbXB0eSBjb21taXRzIGR1cmluZyByZWJhc2UiCiBtc2dzdHIgInByw6lzZXJ2ZXIgbGVzIHZhbGlkYXRpb25zIHZpZGVzIHBlbmRhbnQgbGUgcmViYXNhZ2UiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODk2CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MTEKIG1zZ2lkICJtb3ZlIGNvbW1pdHMgdGhhdCBiZWdpbiB3aXRoIHNxdWFzaCEvZml4dXAhIHVuZGVyIC1pIgogbXNnc3RyICJkw6lwbGFjZSBsZXMgY29tbWl0cyBxdWkgY29tbWVuY2VudCBwYXIgc3F1YXNoIS9maXh1cCEgc291cyAtaSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MDIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxNwogbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIiCiBtc2dzdHIgInJlbWlzZXIgZXQgcsOpYXBwbGlxdWVyIGF1dG9tYXRpcXVlbWVudCBhdmFudCBldCBhcHLDqHMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTA0CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MTkKIG1zZ2lkICJhZGQgZXhlYyBsaW5lcyBhZnRlciBlYWNoIGNvbW1pdCBvZiB0aGUgZWRpdGFibGUgbGlzdCIKIG1zZ3N0ciAiYWpvdXRlciBsZXMgbGlnbmVzIGV4ZWMgYXByw6hzIGNoYXF1ZSBjb21taXQgZGUgbGEgbGlzdGUgw6lkaXRhYmxlIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkwOAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTIzCiBtc2dpZCAiYWxsb3cgcmViYXNpbmcgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgogbXNnc3RyICJhdXRvcmlzZXIgbGVzIGNvbW1pdHMgZGUgcmViYXNhZ2UgYXZlYyBkZXMgbWVzc2FnZXMgdmlkZXMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTExCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MjYKIG1zZ2lkICJ0cnkgdG8gcmViYXNlIG1lcmdlcyBpbnN0ZWFkIG9mIHNraXBwaW5nIHRoZW0iCiBtc2dzdHIgImVzc2F5ZXIgZGUgcmViYXNlciBsZXMgZnVzaW9ucyBhdSBsaWV1IGRlIGxlcyBnYXJkZXIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTE0CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MjkKIG1zZ2lkICJ1c2UgJ21lcmdlLWJhc2UgLS1mb3JrLXBvaW50JyB0byByZWZpbmUgdXBzdHJlYW0iCiBtc2dzdHIgInV0aWxpc2VyICdtZXJnZS1iYXNlIC0tZm9yay1wb2ludCcgcG91ciByYWZmaW5lciBsJ2Ftb250IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkxNgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTMxCiBtc2dpZCAidXNlIHRoZSBnaXZlbiBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAidXRpbGlzZXIgbGEgc3RyYXTDqWdpZSBkZSBmdXNpb24gaW5kaXF1w6llIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkxOCBidWlsdGluL3JldmVydC5jOjExMQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTMzIGJ1aWx0aW4vcmV2ZXJ0LmM6MTE1CiBtc2dpZCAib3B0aW9uIgogbXNnc3RyICJvcHRpb24iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTE5CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MzQKIG1zZ2lkICJwYXNzIHRoZSBhcmd1bWVudCB0aHJvdWdoIHRvIHRoZSBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAicGFzc2VyIGxlcyBhcmd1bWVudHMganVzcXUnw6AgbGEgc3RyYXTDqWdpZSBkZSBmdXNpb24iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTIyCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MzcKIG1zZ2lkICJyZWJhc2UgYWxsIHJlYWNoYWJsZSBjb21taXRzIHVwIHRvIHRoZSByb290KHMpIgogbXNnc3RyICJyZWJhc2VyIHRvdXMgbGVzIG9iamV0cyBpbmF0dGVpZ25hYmxlcyBkZXB1aXMgbGVzIHJhY2luZXMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTM4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBleGVjICVzIgotbXNnc3RyICJpbXBvc3NpYmxlIGQnZXjDqWN1dGVyICVzIgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTU0Cittc2dpZCAiIgorInRoZSByZWJhc2UudXNlQnVpbHRpbiBzdXBwb3J0IGhhcyBiZWVuIHJlbW92ZWQhXG4iCisiU2VlIGl0cyBlbnRyeSBpbiAnZ2l0IGhlbHAgY29uZmlnJyBmb3IgZGV0YWlscy4iCittc2dzdHIgIiIKKyJsZXMgc3VwcG9ydCBkZSByZWJhc2UudXNlQnVpbHRpbiBhIMOpdMOpIHN1cHByaW3DqSAhXG4iCisiVm9pciBzb24gZW50csOpZSBkYW5zICdnaXQgaGVscCBjb25maWcnIHBvdXIgcGx1cyBkZSBkw6l0YWlscy4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTU2IGdpdC1sZWdhY3ktcmViYXNlLnNoOjIxMworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTYwCiBtc2dpZCAiSXQgbG9va3MgbGlrZSAnZ2l0IGFtJyBpcyBpbiBwcm9ncmVzcy4gQ2Fubm90IHJlYmFzZS4iCiBtc2dzdHIgIklsIHNlbWJsZSBxdWUgJ2dpdC1hbScgc29pdCBlbiBjb3Vycy4gSW1wb3NzaWJsZSBkZSByZWJhc2VyLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5OTcgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6Mzk1CisjOiBidWlsdGluL3JlYmFzZS5jOjE2MDEKK21zZ2lkICIiCisiZ2l0IHJlYmFzZSAtLXByZXNlcnZlLW1lcmdlcyBpcyBkZXByZWNhdGVkLiBVc2UgLS1yZWJhc2UtbWVyZ2VzIGluc3RlYWQuIgorbXNnc3RyICIiCisiZ2l0IHJlYmFzZSAtLXByZXNlcnZlLW1lcmdlcyBlc3QgZMOpY29uc2VpbGzDqS4gVXRpbGlzZXogLS1yZWJhc2UtbWVyZ2VzIMOgIGxhICIKKyJwbGFjZS4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYwNgorbXNnaWQgImNhbm5vdCBjb21iaW5lICctLWtlZXAtYmFzZScgd2l0aCAnLS1vbnRvJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb21iaW5lciAnLS1rZWVwLWJhc2UnIGF2ZWMgJy0tb250byciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYwOAorbXNnaWQgImNhbm5vdCBjb21iaW5lICctLWtlZXAtYmFzZScgd2l0aCAnLS1yb290JyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb21iaW5lciAnLS1rZWVwLWJhc2UnIGF2ZWMgJy0tcm9vdCciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYxMgogbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCiBtc2dzdHIgIlBhcyBkZSByZWJhc2FnZSBlbiBjb3VycyA/IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEwMDEgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NDA2CisjOiBidWlsdGluL3JlYmFzZS5jOjE2MTYKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIiIKICJMJ2FjdGlvbiAtLWVkaXQtdG9kbyBwZXV0IHNldWxlbWVudCDDqnRyZSB1dGlsaXPDqWUgbG9ycyBkJ3VuIHJlYmFzYWdlICIKICJpbnRlcmFjdGlmLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDE1IGdpdC1sZWdhY3ktcmViYXNlLnNoOjQxMworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjM5CiBtc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsaXJlIEhFQUQiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTAyOCBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0MTYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTY1MQogbXNnaWQgIiIKICJZb3UgbXVzdCBlZGl0IGFsbCBtZXJnZSBjb25mbGljdHMgYW5kIHRoZW5cbiIKICJtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgdXNpbmcgZ2l0IGFkZCIKQEAgLTE1NDE0LDIxICsxODQ0MywxNiBAQAogIlZvdXMgZGV2ZXogw6lkaXRlciB0b3VzIGxlcyBjb25mbGl0cyBkZSBmdXNpb24gZXRcbiIKICJsZXMgbWFycXVlciBjb21tZSByw6lzb2x1cyBhdmVjIGdpdCBhZGQiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTA0NworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjcwCiBtc2dpZCAiY291bGQgbm90IGRpc2NhcmQgd29ya3RyZWUgY2hhbmdlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbGVzIGNoYW5nZW1lbnRzIGRlIGwnYXJicmUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDY2CisjOiBidWlsdGluL3JlYmFzZS5jOjE2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG1vdmUgYmFjayB0byAlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZXZlbmlyIMOgICVzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEwNzcgYnVpbHRpbi9ybS5jOjM2OAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlICclcyciCi1tc2dzdHIgImltcG9zc2libGUgZGUgc3VwcHJpbWVyICclcyciCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTEwMworIzogYnVpbHRpbi9yZWJhc2UuYzoxNzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAlcyBkaXJlY3RvcnksIGFuZFxuIgpAQCAtMTU0NTAsMzQyICsxODQ3NCwxNjQgQEAKICJjaG9zZVxuIgogImQnaW1wb3J0YW50IGljaS5cbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTI0CisjOiBidWlsdGluL3JlYmFzZS5jOjE3NTcKIG1zZ2lkICJzd2l0Y2ggYEMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCiBtc2dzdHIgImwnb3B0aW9uIGBDJyBhdHRlbmQgdW4gdmFsZXVyIG51bcOpcmlxdWUiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTE2MQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gbW9kZTogJXMiCiBtc2dzdHIgIm1vZGUgaW5jb25udcKgOiAlcyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTgzCisjOiBidWlsdGluL3JlYmFzZS5jOjE4MjAKIG1zZ2lkICItLXN0cmF0ZWd5IHJlcXVpcmVzIC0tbWVyZ2Ugb3IgLS1pbnRlcmFjdGl2ZSIKLW1zZ3N0ciAiLS1zdHJhdMOpZ2llIHJlcXVpZXJ0IC0tbWVyZ2Ugb3UgLS1pbnRlcmFjdGl2ZSIKK21zZ3N0ciAiLS1zdHJhdGVneSByZXF1aWVydCAtLW1lcmdlIG91IC0taW50ZXJhY3RpdmUiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTIyNgotIywgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg2MAorbXNnaWQgIi0tcmVzY2hlZHVsZS1mYWlsZWQtZXhlYyByZXF1aXJlcyAtLWV4ZWMgb3IgLS1pbnRlcmFjdGl2ZSIKK21zZ3N0ciAiLS1yZXNjaGVkdWxlLWZhaWxlZC1leGVjIHJlcXVpZXJ0IC0tZXhlYyBvdSAtLWludGVyYWN0aXZlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4NzIKK21zZ2lkICJjYW5ub3QgY29tYmluZSBhbSBvcHRpb25zIHdpdGggZWl0aGVyIGludGVyYWN0aXZlIG9yIG1lcmdlIG9wdGlvbnMiCittc2dzdHIgIiIKKyJpbXBvc3NpYmxlIGRlIGNvbWJpbmVyIGxlcyBvcHRpb25zIGFtIGF2ZWMgbCdvcHRpb25zIGludGVyYWN0aXZlIG91IG1lcmdlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4OTEKK21zZ2lkICJjYW5ub3QgY29tYmluZSAnLS1wcmVzZXJ2ZS1tZXJnZXMnIHdpdGggJy0tcmViYXNlLW1lcmdlcyciCittc2dzdHIgImltcG9zc2libGUgZGUgY29tYmluZXIgJy0tcHJlc2VydmUtbWVyZ2VzJyBhdmVjICctLXJlYmFzZS1tZXJnZXMnIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4OTUKIG1zZ2lkICIiCi0iZXJyb3I6IGNhbm5vdCBjb21iaW5lIGludGVyYWN0aXZlIG9wdGlvbnMgKC0taW50ZXJhY3RpdmUsIC0tZXhlYywgLS1yZWJhc2UtIgotIm1lcmdlcywgLS1wcmVzZXJ2ZS1tZXJnZXMsIC0ta2VlcC1lbXB0eSwgLS1yb290ICsgLS1vbnRvKSB3aXRoIGFtIG9wdGlvbnMgIgotIiglcykiCisiZXJyb3I6IGNhbm5vdCBjb21iaW5lICctLXByZXNlcnZlLW1lcmdlcycgd2l0aCAnLS1yZXNjaGVkdWxlLWZhaWxlZC1leGVjJyIKIG1zZ3N0ciAiIgotImVycmV1cjogaW1wb3NzaWJsZSBkZSBjb21iaW5lciBkZXMgb3B0aW9ucyBpbnRlcmFjdGl2ZSAoLS1pbnRlcmFjdGl2ZSwgLS0iCi0iZXhlYywgLS1yZWJhc2UtbWVyZ2VzLCAtLXByZXNlcnZlLW1lcmdlcywgLS1rZWVwLWVtcHR5LCAtLXJvb3QgKyAtLW9udG8pICIKLSJhdmVjIGxlcyBvcHRpb25zIGFtICglcykiCisiZXJyZXVywqA6IGltcG9zc2libGUgZGUgY29tYmluZXIgJy0tcHJlc2VydmUtbWVyZ2VzJyBhdmVjICctLXJlc2NoZWR1bGUtIgorImZhaWxlZC1leGVjJyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjMxCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJlcnJvcjogY2Fubm90IGNvbWJpbmUgbWVyZ2Ugb3B0aW9ucyAoLS1tZXJnZSwgLS1zdHJhdGVneSwgLS1zdHJhdGVneS1vcHRpb24pICIKLSJ3aXRoIGFtIG9wdGlvbnMgKCVzKSIKLW1zZ3N0ciAiIgotImVycmV1csKgOiBpbXBvc3NpYmxlIGRlIGNvbWJpbmVyIGxlcyBvcHRpb25zIGRlIGZ1c2lvbiAoLS1tZXJnZSwgLS1zdHJhdGVneSwgIgotIi0tc3RyYXRlZ3ktb3B0aW9uKSBhdmVjIGxlcyBvcHRpb25zIGFtICglcykiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI1MSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1MzYKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcHJlc2VydmUtbWVyZ2VzJyB3aXRoICctLXJlYmFzZS1tZXJnZXMnIgotbXNnc3RyICIiCi0iZXJyZXVywqA6IGltcG9zc2libGUgZGUgY29tYmluZXIgJy0tcHJlc2VydmUtbWVyZ2VzJyBhdmVjICctLXJlYmFzZS1tZXJnZXMnIgotCi0jOiBidWlsdGluL3JlYmFzZS5jOjEyNTYgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTQyCi1tc2dpZCAiZXJyb3I6IGNhbm5vdCBjb21iaW5lICctLXJlYmFzZS1tZXJnZXMnIHdpdGggJy0tc3RyYXRlZ3ktb3B0aW9uJyIKLW1zZ3N0ciAiIgotImVycmV1csKgOiBpbXBvc3NpYmxlIGRlIGNvbWJpbmVyICctLXJlYmFzZS1tZXJnZXMnIGF2ZWMgJy0tc3RyYXRlZ3ktb3B0aW9uJyIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjU5IGdpdC1sZWdhY3ktcmViYXNlLnNoOjU0NAotbXNnaWQgImVycm9yOiBjYW5ub3QgY29tYmluZSAnLS1yZWJhc2UtbWVyZ2VzJyB3aXRoICctLXN0cmF0ZWd5JyIKLW1zZ3N0ciAiZXJyZXVywqA6IGltcG9zc2libGUgZGUgY29tYmluZXIgJy0tcmViYXNlLW1lcmdlcycgYXZlYyAnLS1zdHJhdGVneSciCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI4MworIzogYnVpbHRpbi9yZWJhc2UuYzoxOTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdXBzdHJlYW0gJyVzJyIKIG1zZ3N0ciAiYW1vbnQgaW52YWxpZGUgJyVzJyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjg5CisjOiBidWlsdGluL3JlYmFzZS5jOjE5MjUKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIG5ldyByb290IGNvbW1pdCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBjcsOpZXIgdW4gbm91dmVhdSBjb21taXQgcmFjaW5lIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzMDcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTk1MQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnOiBuZWVkIGV4YWN0bHkgb25lIG1lcmdlIGJhc2Ugd2l0aCBicmFuY2giCittc2dzdHIgIiclcyc6IGV4YWN0ZW1lbnQgdW5lIGJhc2UgZGUgZnVzaW9uIG7DqWNlc3NhaXJlIGF2ZWMgdW5lIGJyYW5jaGUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTk1NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBuZWVkIGV4YWN0bHkgb25lIG1lcmdlIGJhc2UiCiBtc2dzdHIgIiclcyc6IGV4YWN0ZW1lbnQgdW5lIGJhc2UgZGUgZnVzaW9uIG7DqWNlc3NhaXJlIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzMTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTk2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdCAnJXMnIgogbXNnc3RyICJuZSBwb2ludGUgcGFzIHN1ciB1bmUgdmFsaWRhdGlvbiB2YWxpZGUgOiAnJXMnIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzMzkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTk4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2gvY29tbWl0ICclcyciCiBtc2dzdHIgImZhdGFsIDogcGFzIGRlIGJyYW5jaGUgb3UgY29tbWl0ICclcyciCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM0NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzcKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTMwCisjOiBidWlsdGluL3JlYmFzZS5jOjE5OTUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlZjogJXMiCiBtc2dzdHIgIlLDqWbDqXJlbmNlIGluZXhpc3RhbnRlwqA6ICVzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzNTkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjAwNgogbXNnaWQgIkNvdWxkIG5vdCByZXNvbHZlIEhFQUQgdG8gYSByZXZpc2lvbiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByw6lzb3VkcmUgbGUgY29tbWl0IEhFQUQgdmVycyB1biByw6l2aXNpb24iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM5OSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2NjUKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA0NAogbXNnaWQgIkNhbm5vdCBhdXRvc3Rhc2giCiBtc2dzdHIgIkF1dG9yZW1pc2FnZSBpbXBvc3NpYmxlIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0MDIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmV4cGVjdGVkIHN0YXNoIHJlc3BvbnNlOiAnJXMnIgogbXNnc3RyICJyw6lwb25zZSBkZSByZW1pc2FnZSBpbmF0dGVuZHVlwqA6ICclcyciCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQwOAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IGZvciAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNyw6llciBsZSByw6lwZXJ0b2lyZSBwb3VyICclcyciCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQxMQorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAlc1xuIgogbXNnc3RyICJBdXRvcmVtaXNhZ2UgY3LDqcOpIDogJXNcbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDE0CisjOiBidWlsdGluL3JlYmFzZS5jOjIwNTkKIG1zZ2lkICJjb3VsZCBub3QgcmVzZXQgLS1oYXJkIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIHLDqWluaXRpYWxpc2VyIC0taGFyZCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDE1IGJ1aWx0aW4vcmVzZXQuYzoxMTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSEVBRCBpcyBub3cgYXQgJXMiCi1tc2dzdHIgIkhFQUQgZXN0IG1haW50ZW5hbnQgw6AgJXMiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQzMSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2NzQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA2OAogbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgIlZldWlsbGV6IGxlcyB2YWxpZGVyIG91IGxlcyByZW1pc2VyLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDU4CisjOiBidWlsdGluL3JlYmFzZS5jOjIwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciAnJXMnIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0NzAKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3dpdGNoIHRvICVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGJhc2N1bGVyIHZlcnMgJXMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ4MSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2OTcKLSMsIHNoLWZvcm1hdAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTE5CiBtc2dpZCAiSEVBRCBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAiSEVBRCBlc3Qgw6Agam91ci4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ4MworIzogYnVpbHRpbi9yZWJhc2UuYzoyMTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICVzIGlzIHVwIHRvIGRhdGUuXG4iCiBtc2dzdHIgIkxhIGJyYW5jaGUgY291cmFudGUgJXMgZXN0IMOgIGpvdXIuXG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ5MSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MDcKLSMsIHNoLWZvcm1hdAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTI5CiBtc2dpZCAiSEVBRCBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKIG1zZ3N0ciAiSEVBRCBlc3Qgw6Agam91ciwgcmViYXNhZ2UgZm9yY8OpLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDkzCisjOiBidWlsdGluL3JlYmFzZS5jOjIxMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJXMgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC5cbiIKIG1zZ3N0ciAiTGEgYnJhbmNoZSBjb3VyYW50ZSAlcyBlc3Qgw6Agam91ciwgcmViYXNhZ2UgZm9yY8OpLlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE1MDEgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6MjA4CisjOiBidWlsdGluL3JlYmFzZS5jOjIxMzkKIG1zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKIG1zZ3N0ciAiTGUgY3JvY2hldCBwcmUtcmViYXNlIGEgcmVmdXPDqSBkZSByZWJhc2VyLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNTA4CisjOiBidWlsdGluL3JlYmFzZS5jOjIxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hhbmdlcyB0byAlczpcbiIKIG1zZ3N0ciAiQ2hhbmdlbWVudHMgdmVycyAlcyA6XG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxMQorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgZnJvbSAlcyB0byAlczpcbiIKIG1zZ3N0ciAiQ2hhbmdlbWVudHMgZGUgJXMgc3VyICVzIDpcbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNTM2CisjOiBidWlsdGluL3JlYmFzZS5jOjIxNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uXG4iCiBtc2dzdHIgIiIKICJSZW1ib2JpbmFnZSBwcsOpYWxhYmxlIGRlIGhlYWQgcG91ciBwb3V2b2lyIHJlam91ZXIgdm90cmUgdHJhdmFpbCBwYXItIgogImRlc3N1cy4uLlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE1NDMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE4MwogbXNnaWQgIkNvdWxkIG5vdCBkZXRhY2ggSEVBRCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBkw6l0YWNoZXIgSEVBRCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNTUyCisjOiBidWlsdGluL3JlYmFzZS5jOjIxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkZWQgJXMgdG8gJXMuXG4iCiBtc2dzdHIgIkF2YW5jZSByYXBpZGUgZGUgJXMgc3VyICVzLlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoyNAotbXNnaWQgIm5vIEhFQUQ/IgotbXNnc3RyICJwYXMgZGUgSEVBRMKgPyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6NTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJXMiCi1tc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIHVuIGZpY2hpZXIgdGVtcG9yYWlyZSAlcyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6NTcKLW1zZ2lkICJjb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKLW1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBtYXJxdWVyIGNvbW1lIGludGVyYWN0aWYiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjEwMQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgb3BlbiAlcyIKLW1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAlcyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTE0Ci1tc2dpZCAiY291bGQgbm90IGdlbmVyYXRlIHRvZG8gbGlzdCIKLW1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBnw6luw6lyZXIgbGEgbGlzdGUgw6AtZmFpcmUiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjEyOQotbXNnaWQgImdpdCByZWJhc2UtLWludGVyYWN0aXZlIFs8b3B0aW9ucz5dIgotbXNnc3RyICJnaXQgcmViYXNlLS1pbnRlcmFjdGl2ZSBbPG9wdGlvbnM+XSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTQ4Ci1tc2dpZCAia2VlcCBlbXB0eSBjb21taXRzIgotbXNnc3RyICJnYXJkZXIgbGVzIHZhbGlkYXRpb25zIHZpZGVzIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTAgYnVpbHRpbi9yZXZlcnQuYzoxMjQKLW1zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCi1tc2dzdHIgImF1dG9yaXNlciBsZXMgdmFsaWRhdGlvbnMgYXZlYyBkZXMgbWVzc2FnZXMgdmlkZXMiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1MQotbXNnaWQgInJlYmFzZSBtZXJnZSBjb21taXRzIgotbXNnc3RyICJyZWJhc2VyIGxlcyBjb21taXRzIGRlIGZ1c2lvbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTUzCi1tc2dpZCAia2VlcCBvcmlnaW5hbCBicmFuY2ggcG9pbnRzIG9mIGNvdXNpbnMiCi1tc2dzdHIgImNvbnNlcnZlciBsZXMgcG9pbnRzIGRlIGJyYW5jaGVtZW50IGRlIGNvdXNpbnMgb3JpZ2luYXV4IgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTUKLW1zZ2lkICJtb3ZlIGNvbW1pdHMgdGhhdCBiZWdpbiB3aXRoIHNxdWFzaCEvZml4dXAhIgotbXNnc3RyICJkw6lwbGFjZXIgbGVzIGNvbW1pdHMgcXVpIGNvbW1lbmNlbnQgcGFyIHNxdWFzaCEvZml4dXAhIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTYKLW1zZ2lkICJzaWduIGNvbW1pdHMiCi1tc2dzdHIgInNpZ25lciBsZXMgY29tbWl0cyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTU4Ci1tc2dpZCAiY29udGludWUgcmViYXNlIgotbXNnc3RyICJjb250aW51ZXIgbGUgcmViYXNhZ2UiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE2MAotbXNnaWQgInNraXAgY29tbWl0IgotbXNnc3RyICJzYXV0ZXIgbGUgY29tbWl0IgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjEKLW1zZ2lkICJlZGl0IHRoZSB0b2RvIGxpc3QiCi1tc2dzdHIgIsOpZGl0ZXIgbGEgbGlzdGUgw6AtZmFpcmUiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE2MwotbXNnaWQgInNob3cgdGhlIGN1cnJlbnQgcGF0Y2giCi1tc2dzdHIgImFmZmljaGVyIGxlIHBhdGNoIGNvdXJhbnQiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE2NgotbXNnaWQgInNob3J0ZW4gY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgotbXNnc3RyICJyYWNjb3VyY2lyIGxlcyBpZGVudGlmaWFudHMgZGUgY29tbWl0cyBkYW5zIGxhIGxpc3RlIMOgLWZhaXJlIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjgKLW1zZ2lkICJleHBhbmQgY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgotbXNnc3RyICLDqXRlbmRyZSBsZXMgaWRlbnRpZmlhbnRzIGRlIGNvbW1pdCBkYW5zIGxhIGxpc3RlIMOgLWZhaXJlIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzAKLW1zZ2lkICJjaGVjayB0aGUgdG9kbyBsaXN0IgotbXNnc3RyICJ2w6lyaWZpZXIgbGEgbGlzdGUgw6AtZmFpcmUiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3MgotbXNnaWQgInJlYXJyYW5nZSBmaXh1cC9zcXVhc2ggbGluZXMiCi1tc2dzdHIgInLDqWFycmFuZ2VyIGxlcyBsaWduZXMgZml4dXAvc3F1YXNoIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzQKLW1zZ2lkICJpbnNlcnQgZXhlYyBjb21tYW5kcyBpbiB0b2RvIGxpc3QiCi1tc2dzdHIgImluc8OpcmVyIGxlcyBjb21tYW5kZXMgZXhlYyBkYW5zIGxhIGxpc3RlIMOgLWZhaXJlIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzUKLW1zZ2lkICJvbnRvIgotbXNnc3RyICJzdXIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3NwotbXNnaWQgInJlc3RyaWN0LXJldmlzaW9uIgotbXNnc3RyICJyZXN0cmljdC1yZXZpc2lvbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc3Ci1tc2dpZCAicmVzdHJpY3QgcmV2aXNpb24iCi1tc2dzdHIgInJlc3RyZWluZHJlIGxhIHLDqXZpc2lvbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc4Ci1tc2dpZCAic3F1YXNoLW9udG8iCi1tc2dzdHIgIsOpY3Jhc2VyLXN1ciIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc5Ci1tc2dpZCAic3F1YXNoIG9udG8iCi1tc2dzdHIgIsOpY3Jhc2VyIHN1ciIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgxCi1tc2dpZCAidGhlIHVwc3RyZWFtIGNvbW1pdCIKLW1zZ3N0ciAibGUgY29tbWl0IGFtb250IgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODIKLW1zZ2lkICJoZWFkLW5hbWUiCi1tc2dzdHIgIm5vbSBkdSBoZWFkIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODIKLW1zZ2lkICJoZWFkIG5hbWUiCi1tc2dzdHIgIm5vbSBkdSBoZWFkIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODcKLW1zZ2lkICJyZWJhc2Ugc3RyYXRlZ3kiCi1tc2dzdHIgInN0cmF0w6lnaWUgZGUgcmViYXNhZ2UiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4OAotbXNnaWQgInN0cmF0ZWd5LW9wdHMiCi1tc2dzdHIgIm9wdGlvbnMgZGUgc3RyYXTDqWdpZSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg5Ci1tc2dpZCAic3RyYXRlZ3kgb3B0aW9ucyIKLW1zZ3N0ciAib3B0aW9ucyBkZSBzdHJhdMOpZ2llIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTAKLW1zZ2lkICJzd2l0Y2gtdG8iCi1tc2dzdHIgInN3aXRjaC10byIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkxCi1tc2dpZCAidGhlIGJyYW5jaCBvciBjb21taXQgdG8gY2hlY2tvdXQiCi1tc2dzdHIgImxhIGJyYW5jaGUgb3UgbGUgY29tbWl0IMOgIGV4dHJhaXJlIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTIKLW1zZ2lkICJvbnRvLW5hbWUiCi1tc2dzdHIgInN1ci1sZS1ub20iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5MgotbXNnaWQgIm9udG8gbmFtZSIKLW1zZ3N0ciAic3VyIGxlIG5vbSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkzCi1tc2dpZCAiY21kIgotbXNnc3RyICJjbWQiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5MwotbXNnaWQgInRoZSBjb21tYW5kIHRvIHJ1biIKLW1zZ3N0ciAibGEgY29tbWFuZGUgw6AgbGFuY2VyIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoyMjAKLW1zZ2lkICItLVtuby1dcmViYXNlLWNvdXNpbnMgaGFzIG5vIGVmZmVjdCB3aXRob3V0IC0tcmViYXNlLW1lcmdlcyIKLW1zZ3N0ciAiLS1bbm8tXXJlYmFzZS1jb3VzaW5zIG4nYSBhdWN1biBlZmZldCBzYW5zIC0tcmViYXNlLW1lcmdlcyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MjI2Ci1tc2dpZCAiYSBiYXNlIGNvbW1pdCBtdXN0IGJlIHByb3ZpZGVkIHdpdGggLS11cHN0cmVhbSBvciAtLW9udG8iCi1tc2dzdHIgInVuIGNvbW1pdCBkZSBiYXNlIGRvaXQgw6p0cmUgZm91cm5pIGF2ZWMgLS11cHN0cmVhbSBvdSAtLW9udG8iCi0KLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MzMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MzIKIG1zZ2lkICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKIG1zZ3N0ciAiZ2l0IHJlY2VpdmUtcGFjayA8csOpcGVydG9pcmUtZ2l0PiIKIApAQCAtMTU4MzksMTkgKzE4Njg1LDc0IEBACiAiXG4iCiAiUG91ciDDqWxpbWluZXIgY2UgbWVzc2FnZSwgcsOpZ2xlei1sZSDDoCAncmVmdXNlJy4iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTkyOQorIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTM2CiBtc2dpZCAicXVpZXQiCiBtc2dzdHIgInF1aWV0IgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NDMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk1MAogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSBkaXJlY3RvcnkuIgogbXNnc3RyICJWb3VzIGRldmV6IHNww6ljaWZpZXIgdW4gcsOpcGVydG9pcmUuIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjU2MyBidWlsdGluL3JlZmxvZy5jOjU2OAorIzogYnVpbHRpbi9yZWZsb2cuYzoxNworbXNnaWQgIiIKKyJnaXQgcmVmbG9nIGV4cGlyZSBbLS1leHBpcmU9PHRpbWU+XSBbLS1leHBpcmUtdW5yZWFjaGFibGU9PHRpbWU+XSBbLS0iCisicmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1zdGFsZS1maXhdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gWy0tYWxsXSAiCisiPHJlZnM+Li4uIgorbXNnc3RyICIiCisiZ2l0IHJlZmxvZyBleHBpcmUgWy0tZXhwaXJlPTxkYXRlPl0gWy0tZXhwaXJlLXVucmVhY2hhYmxlPTxkYXRlPl0gWy0tIgorInJld3JpdGVdIFstLXVwZGF0ZXJlZl0gWy0tc3RhbGUtZml4XSBbLS1kcnktcnVuIHwgLW5dIFstLXZlcmJvc2VdIFstLWFsbF0gIgorIjxyw6lmZXJlbmNlcz4uLi4iCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6MjIKK21zZ2lkICIiCisiZ2l0IHJlZmxvZyBkZWxldGUgWy0tcmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1kcnktcnVuIHwgLW5dIFstLXZlcmJvc2VdICIKKyI8cmVmcz4uLi4iCittc2dzdHIgIiIKKyJnaXQgcmVmbG9nIGRlbGV0ZSBbLS1yZXdyaXRlXSBbLS11cGRhdGVyZWZdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gIgorIjxyw6lmw6lyZW5jZXM+Li4uIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjI1Cittc2dpZCAiZ2l0IHJlZmxvZyBleGlzdHMgPHJlZj4iCittc2dzdHIgImdpdCByZWZsb2cgZXhpc3RzIDxyw6lmw6lyZW5jZT4iCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NTY3IGJ1aWx0aW4vcmVmbG9nLmM6NTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICInJXMnIG4nZXN0IHBhcyB1biBob3JvZGF0YWdlIHZhbGlkZSIKIAorIzogYnVpbHRpbi9yZWZsb2cuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWFya2luZyByZWFjaGFibGUgb2JqZWN0cy4uLiIKK21zZ3N0ciAiTWFycXVhZ2UgZGVzIG9iamV0cyBpbmFjY2Vzc2libGVzLi4uIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjY0MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBwb2ludHMgbm93aGVyZSEiCittc2dzdHIgIiVzIG5lIHBvaW50ZSBudWxsZSBwYXJ0wqAhIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjY5NQorbXNnaWQgIm5vIHJlZmxvZyBzcGVjaWZpZWQgdG8gZGVsZXRlIgorbXNnc3RyICJwYXMgZGUgam91cm5hbCBkZSByw6lmw6lyZW5jZXMgw6Agc3VwcHJpbWVyIHNww6ljaWZpw6kiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHJlZmxvZzogJXMiCittc2dzdHIgIiclcycgbidlc3QgcGFzIHVuIGpvdXJuYWwgZGUgcsOpZsOpcmVuY2VzIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjcwOQorIywgYy1mb3JtYXQKK21zZ2lkICJubyByZWZsb2cgZm9yICclcyciCittc2dzdHIgInBhcyBkZSBqb3VybmFsIGRlIHLDqWbDqXJlbmNlcyBwb3VyICclcyciCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVmIGZvcm1hdDogJXMiCittc2dzdHIgImZvcm1hdCBkZSByw6lmw6lyZW5jZSBpbnZhbGlkZcKgOiAlcyIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo3NjQKK21zZ2lkICJnaXQgcmVmbG9nIFsgc2hvdyB8IGV4cGlyZSB8IGRlbGV0ZSB8IGV4aXN0cyBdIgorbXNnc3RyICJnaXQgcmVmbG9nIFsgc2hvdyB8IGV4cGlyZSB8IGRlbGV0ZSB8IGV4aXN0cyBdIgorCiAjOiBidWlsdGluL3JlbW90ZS5jOjE2CiBtc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCkBAIC0xNTkwOSw3ICsxODgxMCw3IEBACiAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MjggYnVpbHRpbi9yZW1vdGUuYzo4MQogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA8bmFtZT4gPHVybD4iCi1tc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA8bm9tPiA8VVJMPiIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIC0tZGVsZXRlIDxub20+IDx1cmw+IgogCiAjOiBidWlsdGluL3JlbW90ZS5jOjMzCiBtc2dpZCAiZ2l0IHJlbW90ZSBhZGQgWzxvcHRpb25zPl0gPG5hbWU+IDx1cmw+IgpAQCAtMTYwMTksNyArMTg5MjAsNyBAQAogbXNnaWQgIihkZWxldGUpIgogbXNnc3RyICIoc3VwcHJpbWVyKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo2MjkgYnVpbHRpbi9yZW1vdGUuYzo3NjUgYnVpbHRpbi9yZW1vdGUuYzo4NjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjI5IGJ1aWx0aW4vcmVtb3RlLmM6NzY0IGJ1aWx0aW4vcmVtb3RlLmM6ODYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlOiAnJXMnIgogbXNnc3RyICJQYXMgZGUgc2VydmV1ciByZW1vdGXCoDogJyVzJyIKQEAgLTE2MDQwLDE3ICsxODk0MSwxNyBAQAogIlx0JXNcbiIKICJcdFZldWlsbGV6IG1ldHRyZSDDoCBqb3VyIGxhIGNvbmZpZ3VyYXRpb24gbWFudWVsbGVtZW50IHNpIG7DqWNlc3NhaXJlLiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3MDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZGUgc3VwcHJlc3Npb24gZGUgJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3MzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNyZWF0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZGUgY3LDqWF0aW9uIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODAyCisjOiBidWlsdGluL3JlbW90ZS5jOjgwMQogbXNnaWQgIiIKICJOb3RlOiBBIGJyYW5jaCBvdXRzaWRlIHRoZSByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSB3YXMgbm90IHJlbW92ZWQ7XG4iCiAidG8gZGVsZXRlIGl0LCB1c2U6IgpAQCAtMTYwNjUsMTE4ICsxODk2NiwxMTggQEAKICJzdXBwcmltw6llcyA7XG4iCiAicG91ciBsZXMgc3VwcHJpbWVyLCB1dGlsaXNleiA6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgxNgorIzogYnVpbHRpbi9yZW1vdGUuYzo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBjb25maWcgc2VjdGlvbiAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHN1cHByaW1lciBsYSBzZWN0aW9uIGRlIGNvbmZpZ3VyYXRpb24gJyVzJyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBuZXcgKG5leHQgZmV0Y2ggd2lsbCBzdG9yZSBpbiByZW1vdGVzLyVzKSIKIG1zZ3N0ciAiIG5vdXZlYXUgKGxlIHByb2NoYWluIHJhcGF0cmllbWVudCAoZmV0Y2gpIHN0b2NrZXJhIGRhbnMgcmVtb3Rlcy8lcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTIwCisjOiBidWlsdGluL3JlbW90ZS5jOjkxOQogbXNnaWQgIiB0cmFja2VkIgogbXNnc3RyICIgc3VpdmkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTIyCisjOiBidWlsdGluL3JlbW90ZS5jOjkyMQogbXNnaWQgIiBzdGFsZSAodXNlICdnaXQgcmVtb3RlIHBydW5lJyB0byByZW1vdmUpIgogbXNnc3RyICIgZMOpcGFzc8OpICh1dGlsaXNleiAnZ2l0IHJlbW90ZSBwcnVuZScgcG91ciBzdXBwcmltZXIpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkyNAorIzogYnVpbHRpbi9yZW1vdGUuYzo5MjMKIG1zZ2lkICIgPz8/IgogbXNnc3RyICIgPz8/IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk2NQorIzogYnVpbHRpbi9yZW1vdGUuYzo5NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBicmFuY2guJXMubWVyZ2U7IGNhbm5vdCByZWJhc2Ugb250byA+IDEgYnJhbmNoIgogbXNnc3RyICJicmFuY2guJXMubWVyZ2UgaW52YWxpZGUgOyBuZSBwZXV0IHBhcyByZWJhc2VyIHN1ciBwbHVzIGQndW5lIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc0CisjOiBidWlsdGluL3JlbW90ZS5jOjk3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIGludGVyYWN0aXZlbHkgb250byByZW1vdGUgJXMiCiBtc2dzdHIgInJlYmFzZSBkZSBtYW5pw6hyZSBpbnRlcmFjdGl2ZSBzdXIgbGEgZGlzdGFudGUgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc2CisjOiBidWlsdGluL3JlbW90ZS5jOjk3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIGludGVyYWN0aXZlbHkgKHdpdGggbWVyZ2VzKSBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAicmViYXNlIGRlIG1hbmnDqHJlIGludGVyYWN0aXZlIChhdmVjIGZ1c2lvbnMpIHN1ciBsYSBkaXN0YW50ZSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCiBtc2dzdHIgInJlYmFzZSBzdXIgbGEgZGlzdGFudGUgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTgzCisjOiBidWlsdGluL3JlbW90ZS5jOjk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgbWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICIgZnVzaW9ubmUgYXZlYyBsYSBkaXN0YW50ZSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5ODYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiZnVzaW9ubmUgYXZlYyBsYSBkaXN0YW50ZSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5ODkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiUtKnMgICAgYW5kIHdpdGggcmVtb3RlICVzXG4iCiBtc2dzdHIgIiUtKnMgICAgZXQgYXZlYyBsYSBkaXN0YW50ZSAlc1xuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzMQogbXNnaWQgImNyZWF0ZSIKIG1zZ3N0ciAiY3LDqWVyIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNAogbXNnaWQgImRlbGV0ZSIKIG1zZ3N0ciAic3VwcHJpbWVyIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzOAogbXNnaWQgInVwIHRvIGRhdGUiCiBtc2dzdHIgIsOgIGpvdXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQxCiBtc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKIG1zZ3N0ciAicGV1dCDDqnRyZSBtaXMgw6Agam91ciBlbiBhdmFuY2UgcmFwaWRlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NAogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICJsZSBsb2NhbCBuJ2VzdCBwYXMgw6Agam91ciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUyCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMgZm9yY2UgdmVycyAlLSpzICglcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiAgICAlLSpzIHBvdXNzZSB2ZXJzICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU5CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyBmb3JjZSB2ZXJzICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA2MQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzIHBvdXNzZSB2ZXJzICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEyOQogbXNnaWQgImRvIG5vdCBxdWVyeSByZW1vdGVzIgogbXNnc3RyICJuZSBwYXMgaW50ZXJyb2dlciBsZXMgZGlzdGFudGVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIqIHJlbW90ZSAlcyIKIG1zZ3N0ciAiKiBkaXN0YW50ZSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGZXRjaCBVUkw6ICVzIgogbXNnc3RyICIgIFVSTCBkZSByYXBhdHJpZW1lbnQgOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU5IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NSBidWlsdGluL3JlbW90ZS5jOjEzMTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OCBidWlsdGluL3JlbW90ZS5jOjExNzQgYnVpbHRpbi9yZW1vdGUuYzoxMzEzCiBtc2dpZCAiKG5vIFVSTCkiCiBtc2dzdHIgIihwYXMgZCdVUkwpIgogCkBAIC0xNjE4NCwyNSArMTkwODUsMjUgQEAKICMuIHdpdGggdGhlIG9uZSBpbiAiIEZldGNoIFVSTDogJXMiCiAjLiB0cmFuc2xhdGlvbi4KICMuCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzMgYnVpbHRpbi9yZW1vdGUuYzoxMTc1CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzIgYnVpbHRpbi9yZW1vdGUuYzoxMTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUHVzaCAgVVJMOiAlcyIKIG1zZ3N0ciAiICBVUkwgcHVzaCA6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzcgYnVpbHRpbi9yZW1vdGUuYzoxMTc5IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OCBidWlsdGluL3JlbW90ZS5jOjExODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBIRUFEIGJyYW5jaDogJXMiCiBtc2dzdHIgIiAgQnJhbmNoZSBIRUFEIDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2CiBtc2dpZCAiKG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiKG5vbiBkZW1hbmTDqSkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc4CiBtc2dpZCAiKHVua25vd24pIgogbXNnc3RyICIoaW5jb25udSkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIEhFQUQgYnJhbmNoIChyZW1vdGUgSEVBRCBpcyBhbWJpZ3VvdXMsIG1heSBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyk6XG4iCkBAIC0xNjIxMCwxNzEgKzE5MTExLDE2MiBAQAogIiAgQnJhbmNoZSBIRUFEIChsYSBIRUFEIGRpc3RhbnRlIGVzdCBhbWJpZ3XDqywgcGV1dCDDqnRyZSBsJ3VuZSBkZXMgIgogInN1aXZhbnRlcykgOlxuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExOTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFJlbW90ZSBicmFuY2g6JXMiCiBtc2dpZF9wbHVyYWwgIiAgUmVtb3RlIGJyYW5jaGVzOiVzIgogbXNnc3RyWzBdICIgIEJyYW5jaGUgZGlzdGFudGUgOiVzIgogbXNnc3RyWzFdICIgIEJyYW5jaGVzIGRpc3RhbnRlcyA6JXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5OCBidWlsdGluL3JlbW90ZS5jOjEyMjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NyBidWlsdGluL3JlbW90ZS5jOjEyMjMKIG1zZ2lkICIgKHN0YXR1cyBub3QgcXVlcmllZCkiCiBtc2dzdHIgIiAow6l0YXQgbm9uIGRlbWFuZMOpKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjA3CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDYKIG1zZ2lkICIgIExvY2FsIGJyYW5jaCBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCBicmFuY2hlcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ3N0clswXSAiICBCcmFuY2hlIGxvY2FsZSBjb25maWd1csOpZSBwb3VyICdnaXQgcHVsbCcgOiIKIG1zZ3N0clsxXSAiICBCcmFuY2hlcyBsb2NhbGVzIGNvbmZpZ3Vyw6llcyBwb3VyICdnaXQgcHVsbCcgOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjE1CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMTQKIG1zZ2lkICIgIExvY2FsIHJlZnMgd2lsbCBiZSBtaXJyb3JlZCBieSAnZ2l0IHB1c2gnIgogbXNnc3RyICIgIExlcyByw6lmw6lyZW5jZXMgbG9jYWxlcyBzZXJvbnQgcmVmbMOpdMOpZXMgcGFyICdnaXQgcHVzaCciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTG9jYWwgcmVmIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgcmVmcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnc3RyWzBdICIgIFLDqWbDqXJlbmNlIGxvY2FsZSBjb25maWd1csOpZSBwb3VyICdnaXQgcHVzaCclcyA6IgogbXNnc3RyWzFdICIgIFLDqWbDqXJlbmNlcyBsb2NhbGVzIGNvbmZpZ3Vyw6llcyBwb3VyICdnaXQgcHVzaCclcyA6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MQogbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKIG1zZ3N0ciAiZMOpZmluaXIgcmVmcy9yZW1vdGVzLzxub20+L0hFQUQgc2Vsb24gbGEgZGlzdGFudGUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQzCiBtc2dpZCAiZGVsZXRlIHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCIKIG1zZ3N0ciAic3VwcHJpbWVyIHJlZnMvcmVtb3Rlcy88bm9tPi9IRUFEIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1OAogbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgcmVtb3RlIEhFQUQiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZMOpdGVybWluZXIgbGEgSEVBRCBkaXN0YW50ZSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNjAKIG1zZ2lkICJNdWx0aXBsZSByZW1vdGUgSEVBRCBicmFuY2hlcy4gUGxlYXNlIGNob29zZSBvbmUgZXhwbGljaXRseSB3aXRoOiIKIG1zZ3N0ciAiIgogIklsIHkgYSBkZSBtdWx0aXBsZXMgYnJhbmNoZXMgSEVBRCBkaXN0YW50ZXMuIFZldWlsbGV6IGVuIGNob2lzaXIgdW5lICIKICJleHBsaWNpdGVtZW50IGF2ZWMgOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjcxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGRlbGV0ZSAlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIHJlZjogJXMiCiBtc2dzdHIgIlLDqWbDqXJlbmNlIG5vbiB2YWxpZGUgOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwICVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHBhcmFtw6l0cmVyICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMgc2UgcmV0cm91dmVyYSBlbiBzdXNwZW5zICEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyBoYXMgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVzIHNlIHJldHJvdXZlIGVuIHN1c3BlbnMgISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzEwCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJ1bmluZyAlcyIKIG1zZ3N0ciAiw4lsaW1pbmF0aW9uIGRlICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJVUkw6ICVzIgogbXNnc3RyICJVUkwgOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI3CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3dvdWxkIHBydW5lXSAlcyIKIG1zZ3N0ciAiICogW3NlcmFpdCDDqWxpbWluw6ldICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbcHJ1bmVkXSAlcyIKIG1zZ3N0ciAiICogW8OpbGltaW7DqV0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM3NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzc0CiBtc2dpZCAicHJ1bmUgcmVtb3RlcyBhZnRlciBmZXRjaGluZyIKIG1zZ3N0ciAiw6lsaW1pbmVyIGxlcyBkaXN0YW50cyBhcHLDqHMgbGUgcmFwYXRyaWVtZW50IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MzggYnVpbHRpbi9yZW1vdGUuYzoxNDkyIGJ1aWx0aW4vcmVtb3RlLmM6MTU2MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDM3IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5MSBidWlsdGluL3JlbW90ZS5jOjE1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgJyVzJyIKIG1zZ3N0ciAiUGFzIGRlIHNlcnZldXIgcmVtb3RlICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ1NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDUzCiBtc2dpZCAiYWRkIGJyYW5jaCIKIG1zZ3N0ciAiYWpvdXRlciB1bmUgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjAKIG1zZ2lkICJubyByZW1vdGUgc3BlY2lmaWVkIgogbXNnc3RyICJwYXMgZGUgc2VydmV1ciBkaXN0YW50IHNww6ljaWZpw6kiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDc3CiBtc2dpZCAicXVlcnkgcHVzaCBVUkxzIHJhdGhlciB0aGFuIGZldGNoIFVSTHMiCiBtc2dzdHIgImludGVycm9nZXIgbGVzIFVSTHMgZGUgcG91c3PDqWUgcGx1dMO0dCBxdWUgbGVzIFVSTHMgZGUgcsOpY3Vww6lyYXRpb24iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ4MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDc5CiBtc2dpZCAicmV0dXJuIGFsbCBVUkxzIgogbXNnc3RyICJyZXRvdXJuZXIgdG91dGVzIGxlcyBVUkxzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBVUkxzIGNvbmZpZ3VyZWQgZm9yIHJlbW90ZSAnJXMnIgogbXNnc3RyICJhdWN1bmUgVVJMIGNvbmZpZ3Vyw6llIHBvdXIgbGUgZMOpcMO0dCBkaXN0YW50ICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTMzCiBtc2dpZCAibWFuaXB1bGF0ZSBwdXNoIFVSTHMiCiBtc2dzdHIgIm1hbmlwdWxlciBsZXMgVVJMcyBwdXNoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzNQogbXNnaWQgImFkZCBVUkwiCiBtc2dzdHIgImFqb3V0ZXIgdW5lIFVSTCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM4CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzcKIG1zZ2lkICJkZWxldGUgVVJMcyIKIG1zZ3N0ciAic3VwcHJpbWVyIGRlcyBVUkxzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU0NAogbXNnaWQgIi0tYWRkIC0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1hZGQgLS1kZWxldGUgbidhIGF1Y3VuIHNlbnMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgb2xkIFVSTCBwYXR0ZXJuOiAlcyIKIG1zZ3N0ciAiTW90aWYgZCdVUkwgYW5jaWVuIGludmFsaWRlIDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggVVJMIGZvdW5kOiAlcyIKIG1zZ3N0ciAiUGFzIGQnVVJMIHRyb3V2w6llIDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkzCiBtc2dpZCAiV2lsbCBub3QgZGVsZXRlIGFsbCBub24tcHVzaCBVUkxzIgogbXNnc3RyICJQYXMgZGUgc3VwcHJlc3Npb24gZGUgdG91dGVzIGxlcyBVUkxzIG5vbi1wdXNoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2MTAKLW1zZ2lkICJiZSB2ZXJib3NlOyBtdXN0IGJlIHBsYWNlZCBiZWZvcmUgYSBzdWJjb21tYW5kIgotbXNnc3RyICLDqnRyZSB2ZXJiZXV4IDogZG9pdCDDqnRyZSBwbGFjw6kgYXZhbnQgdW5lIHNvdXMtY29tbWFuZGUiCi0KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY0MQotIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgotbXNnc3RyICJTb3VzLWNvbW1hbmRlIGluY29ubnVlIDogJXMiCi0KLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjMKIG1zZ2lkICJnaXQgcmVwYWNrIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgcmVwYWNrIFs8b3B0aW9ucz5dIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjI3CisjOiBidWlsdGluL3JlcGFjay5jOjI4CiBtc2dpZCAiIgogIkluY3JlbWVudGFsIHJlcGFja3MgYXJlIGluY29tcGF0aWJsZSB3aXRoIGJpdG1hcCBpbmRleGVzLiAgVXNlXG4iCiAiLS1uby13cml0ZS1iaXRtYXAtaW5kZXggb3IgZGlzYWJsZSB0aGUgcGFjay53cml0ZWJpdG1hcHMgY29uZmlndXJhdGlvbi4iCkBAIC0xNjM4Myw5NiArMTkyNzUsMTM2IEBACiAiVXRpbGlzZXpcbiIKICItLW5vLXdyaXRlLWJpdG1hcC1pbmRleCBvdSBkw6lzYWN0aXZleiBsZSBwYXJhbcOodHJlIHBhY2sud3JpdGViaXRtYXBzLiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyOTQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkxCittc2dpZCAiY291bGQgbm90IHN0YXJ0IHBhY2stb2JqZWN0cyB0byByZXBhY2sgcHJvbWlzb3Igb2JqZWN0cyIKK21zZ3N0ciAiIgorIm5lIHBhcyBkw6ltYXJyZXIgcGFjay1vYmplY3RzIHBvdXIgcsOpLWVtcGFxdWV0ZXIgbGVzIG9iamVjdHMgZGUgcHJvbWV0dGV1ciIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyMzAgYnVpbHRpbi9yZXBhY2suYzo0MTYKK21zZ2lkICJyZXBhY2s6IEV4cGVjdGluZyBmdWxsIGhleCBvYmplY3QgSUQgbGluZXMgb25seSBmcm9tIHBhY2stb2JqZWN0cy4iCittc2dzdHIgIiIKKyJyZXBhY2vCoDogYXR0ZW50ZSBkZSBsaWduZXMgZCdJZCBkJ29iamV0cyBlbiBoZXhhIGNvbXBsZXQgc2V1bGVtZW50IGRlcHVpcyAiCisibGVzIG9iamVjdHMgZGUgcGFxdWV0LiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyNTQKK21zZ2lkICJjb3VsZCBub3QgZmluaXNoIHBhY2stb2JqZWN0cyB0byByZXBhY2sgcHJvbWlzb3Igb2JqZWN0cyIKK21zZ3N0ciAiIgorImltcG9zc2libGUgZGUgdGVybWluZXIgcGFjay1vYmplY3RzICBwb3VyIHLDqS1lbXBhcXVldGVyIGxlcyBvYmpldHMgZGUgIgorInByb21ldHRldXIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjkyCiBtc2dpZCAicGFjayBldmVyeXRoaW5nIGluIGEgc2luZ2xlIHBhY2siCiBtc2dzdHIgImVtcGFxdWV0ZXIgdG91dCBkYW5zIHVuIHNldWwgcGFxdWV0IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjI5NgorIzogYnVpbHRpbi9yZXBhY2suYzoyOTQKIG1zZ2lkICJzYW1lIGFzIC1hLCBhbmQgdHVybiB1bnJlYWNoYWJsZSBvYmplY3RzIGxvb3NlIgogbXNnc3RyICJpZGVudGlxdWUgw6AgLWEgZXQgdHJhbnNmb3JtZXIgbGVzIG9iamV0cyBpbmFjY2Vzc2libGVzIGVuIHN1c3BlbnMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk5CisjOiBidWlsdGluL3JlcGFjay5jOjI5NwogbXNnaWQgInJlbW92ZSByZWR1bmRhbnQgcGFja3MsIGFuZCBydW4gZ2l0LXBydW5lLXBhY2tlZCIKIG1zZ3N0ciAic3VwcHJpbWVyIGxlcyBwYXF1ZXRzIHJlZG9uZGFudHMgZXQgbGFuY2VyIGdpdC1wcnVuZS1wYWNrZWQiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzAxCisjOiBidWlsdGluL3JlcGFjay5jOjI5OQogbXNnaWQgInBhc3MgLS1uby1yZXVzZS1kZWx0YSB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJwYXNzZXIgLS1uby1yZXVzZS1kZWx0YSDDoCBnaXQtcGFjay1vYmplY3RzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMwMworIzogYnVpbHRpbi9yZXBhY2suYzozMDEKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgInBhc3NlciAtLW5vLXJldXNlLW9iamVjdCDDoCBnaXQtcGFjay1vYmplY3RzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMwNQorIzogYnVpbHRpbi9yZXBhY2suYzozMDMKIG1zZ2lkICJkbyBub3QgcnVuIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCiBtc2dzdHIgIm5lIHBhcyBsYW5jZXIgZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMDgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA2CiBtc2dpZCAicGFzcyAtLWxvY2FsIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgInBhc3NlciAtLWxvY2FsIMOgIGdpdC1wYWNrLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEwCisjOiBidWlsdGluL3JlcGFjay5jOjMwOAogbXNnaWQgIndyaXRlIGJpdG1hcCBpbmRleCIKIG1zZ3N0ciAiw6ljcmlyZSB1biBpbmRleCBlbiBiaXRtYXAiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEyCisjOiBidWlsdGluL3JlcGFjay5jOjMxMAogbXNnaWQgInBhc3MgLS1kZWx0YS1pc2xhbmRzIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgInBhc3NlciAtLWRlbHRhLWlzbGFuZHMgw6AgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzExCiBtc2dpZCAiYXBwcm94aWRhdGUiCiBtc2dzdHIgImRhdGUgYXBwcm94aW1hdGl2ZSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEyCiBtc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKIG1zZ3N0ciAiYXZlYyAtQSwgbmUgcGFzIHN1c3BlbmRyZSBsZXMgb2JqZXRzIHBsdXMgdmlldXggcXVlIGNlbHVpLWNpIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMxNgorIzogYnVpbHRpbi9yZXBhY2suYzozMTQKIG1zZ2lkICJ3aXRoIC1hLCByZXBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAiYXZlYyAtYSwgcmVwYXF1w6l0aXNlciBsZXMgb2JqZXRzIGluYWNjZXNzaWJsZXMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE4CisjOiBidWlsdGluL3JlcGFjay5jOjMxNgogbXNnaWQgInNpemUgb2YgdGhlIHdpbmRvdyB1c2VkIGZvciBkZWx0YSBjb21wcmVzc2lvbiIKIG1zZ3N0ciAidGFpbGxlIGRlIGxhIGZlbsOqdHJlIHV0aWxpc8OpZSBwb3VyIGxhIGNvbXByZXNzaW9uIGRlcyBkZWx0YXMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE5IGJ1aWx0aW4vcmVwYWNrLmM6MzI1CisjOiBidWlsdGluL3JlcGFjay5jOjMxNyBidWlsdGluL3JlcGFjay5jOjMyMwogbXNnaWQgImJ5dGVzIgogbXNnc3RyICJvY3RldHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzIwCisjOiBidWlsdGluL3JlcGFjay5jOjMxOAogbXNnaWQgInNhbWUgYXMgdGhlIGFib3ZlLCBidXQgbGltaXQgbWVtb3J5IHNpemUgaW5zdGVhZCBvZiBlbnRyaWVzIGNvdW50IgogbXNnc3RyICIiCiAiaWRlbSBjaS1kZXNzdXMsIG1haXMgbGltaXRlciBsYSB0YWlsbGUgbcOpbW9pcmUgYXUgbGlldSBkdSBub21icmUgZCfDqWzDqW1lbnRzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMyMgorIzogYnVpbHRpbi9yZXBhY2suYzozMjAKIG1zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gZGVsdGEgZGVwdGgiCiBtc2dzdHIgImxpbWl0ZSBsYSBwcm9mb25kZXVyIG1heGltYWxlIGRlcyBkZWx0YXMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI0CisjOiBidWlsdGluL3JlcGFjay5jOjMyMgogbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcyIKIG1zZ3N0ciAibGltaXRlIGxlIG5vbWJyZSBtYXhpbWFsIGRlIGZpbHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI2CisjOiBidWlsdGluL3JlcGFjay5jOjMyNAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgogbXNnc3RyICJ0YWlsbGUgbWF4aW11bSBkZSBjaGFxdWUgZmljaGllciBwYXF1ZXQiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI4CisjOiBidWlsdGluL3JlcGFjay5jOjMyNgogbXNnaWQgInJlcGFjayBvYmplY3RzIGluIHBhY2tzIG1hcmtlZCB3aXRoIC5rZWVwIgogbXNnc3RyICJyw6llbXBhcXVldGVyIGxlcyBvYmpldHMgZGFucyBkZXMgcGFxdWV0cyBtYXJxdcOpcyBhdmVjIC5rZWVwIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMzMAorIzogYnVpbHRpbi9yZXBhY2suYzozMjgKIG1zZ2lkICJkbyBub3QgcmVwYWNrIHRoaXMgcGFjayIKIG1zZ3N0ciAibmUgcGFzIHJlbXBhcXVldGVyIGNlIHBhcXVldCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozNDAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzM4CiBtc2dpZCAiY2Fubm90IGRlbGV0ZSBwYWNrcyBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbGVzIHBhcXVldHMgZGFucyB1biBkw6lww7R0IGQnb2JqZXRzIHByw6ljaWV1eCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozNDQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzQyCiBtc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWtlZXAtdW5yZWFjaGFibGUgZXQgLUEgc29udCBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjUyNworIzogYnVpbHRpbi9yZXBhY2suYzo0MjUKK21zZ2lkICJOb3RoaW5nIG5ldyB0byBwYWNrLiIKK21zZ3N0ciAiUmllbiBkZSBuZXVmIMOgIGVtcGFxdWV0ZXIuIgorCisjOiBidWlsdGluL3JlcGFjay5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogU29tZSBwYWNrcyBpbiB1c2UgaGF2ZSBiZWVuIHJlbmFtZWQgYnlcbiIKKyJXQVJOSU5HOiBwcmVmaXhpbmcgb2xkLSB0byB0aGVpciBuYW1lLCBpbiBvcmRlciB0b1xuIgorIldBUk5JTkc6IHJlcGxhY2UgdGhlbSB3aXRoIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGVcbiIKKyJXQVJOSU5HOiBmaWxlLiAgQnV0IHRoZSBvcGVyYXRpb24gZmFpbGVkLCBhbmQgdGhlXG4iCisiV0FSTklORzogYXR0ZW1wdCB0byByZW5hbWUgdGhlbSBiYWNrIHRvIHRoZWlyXG4iCisiV0FSTklORzogb3JpZ2luYWwgbmFtZXMgYWxzbyBmYWlsZWQuXG4iCisiV0FSTklORzogUGxlYXNlIHJlbmFtZSB0aGVtIGluICVzIG1hbnVhbGx5OlxuIgorbXNnc3RyICIiCisiQUxFUlRFwqA6IGNlcnRhaW5zIHBhcXVldHMgdXRpbGlzw6lzIG9udCDDqXTDqSByZW5vbW3DqXNcbiIKKyJBTEVSVEXCoDogZW4gbGVzIHByw6lmaXhhbnQgcGFyIG9sZC0sIGRlIG1hbmnDqHJlIMOgXG4iCisiQUxFUlRFwqA6IGxlcyByZW1wbGFjZXIgcGFyIHVuZSBub3V2ZWxsZSB2ZXJzaW9uIGRlXG4iCisiQUxFUlRFwqA6IGZpY2hpZXIuIE1haXMgbCdvcMOpcmF0aW9uIGEgw6ljaG91w6kgZXQgbGFcbiIKKyJBTEVSVEXCoDogdGVudGF0aXZlIGRlIHJlbm9tbWFnZSBlbiBzZW5zIGludmVyc2UgYVxuIgorIkFMRVJURcKgOiBhdXNzaSDDqWNob3XDqS5cbiIKKyJBTEVSVEXCoDogVmV1aWxsZXogbGVzIHJlbm9tbWVyIG1hbnVlbGxlbWVudCBkYW5zICVzIDpcbiIKKworIzogYnVpbHRpbi9yZXBhY2suYzo1MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnJXMnIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgc3VwcHJlc3Npb24gZGUgJyVzJyIKQEAgLTE2NTAxLDEyICsxOTQzMyw3IEBACiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PTxmb3JtYXQ+XSBbLWwgWzxwYXR0ZXJuPl1dIgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PGZvcm1hdD5dIFstbCBbPG1vdGlmPl1dIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1OCBidWlsdGluL3JlcGxhY2UuYzoyMDMgYnVpbHRpbi9yZXBsYWNlLmM6MjA2Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYiCi1tc2dzdHIgIsOpY2hlYyDDoCByw6lzb3VkcmUgJyVzJyBjb21tZSB1bmUgcsOpZsOpcmVuY2UgdmFsaWRlIgotCi0jOiBidWlsdGluL3JlcGxhY2UuYzo4NgorIzogYnVpbHRpbi9yZXBsYWNlLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImludmFsaWQgcmVwbGFjZSBmb3JtYXQgJyVzJ1xuIgpAQCAtMTY1MTUsMjcgKzE5NDQyLDI3IEBACiAiZm9ybWF0IGRlIHJlbXBsYWNlbWVudCBpbnZhbGlkZSAnJXMnXG4iCiAibGVzIGZvcm1hdHMgdmFsaWRlcyBzb250ICdzaG9ydCcsICdtZWRpdW0nIGV0ICdsb25nJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIxCisjOiBidWlsdGluL3JlcGxhY2UuYzoxMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwbGFjZSByZWYgJyVzJyBub3QgZm91bmQiCiBtc2dzdHIgInLDqWYgZGUgcmVtcGxhY2VtZW50ICclcycgbm9uIHRyb3V2w6llIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMzcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHJlcGxhY2UgcmVmICclcyciCiBtc2dzdHIgIlLDqWbDqXJlbmNlIGRlIHJlbXBsYWNlbWVudCAnJXMnIHN1cHByaW3DqWUiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE0OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmIG5hbWUiCiBtc2dzdHIgIiclcycgbidlc3QgcGFzIHVuIG5vbSB2YWxpZGUgZGUgcsOpZsOpcmVuY2UiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE1NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcGxhY2UgcmVmICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgImxhIHLDqWbDqXJlbmNlIGRlIHJlbXBsYWNlbWVudCAnJXMnIGV4aXN0ZSBkw6lqw6AiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJPYmplY3RzIG11c3QgYmUgb2YgdGhlIHNhbWUgdHlwZS5cbiIKQEAgLTE2NTQ2LDc2ICsxOTQ3Myw4MSBAQAogIiclcycgcG9pbnRlIHN1ciB1biBvYmpldCByZW1wbGFjw6kgZGUgdHlwZSAnJXMnIHRhbmRpcyBxdWVcbiIKICInJXMnIHBvaW50ZSBzdXIgdW4gb2JqZXQgcmVtcGxhw6dhbnQgZGUgdHlwZSAnJXMnLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjI1CisjOiBidWlsdGluL3JlcGxhY2UuYzoyMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJXMgZW4gw6ljcml0dXJlIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMzgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI0MgogbXNnaWQgImNhdC1maWxlIHJlcG9ydGVkIGZhaWx1cmUiCiBtc2dzdHIgImNhdC1maWxlIGEgcmV0b3VybsOpIHVuIMOpY2hlYyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjU0CisjOiBidWlsdGluL3JlcGxhY2UuYzoyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmciCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJXMgZW4gw6ljcml0dXJlIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyNjgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI3MgogbXNnaWQgInVuYWJsZSB0byBzcGF3biBta3RyZWUiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsJ2FyYnJlICglcykiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI3MgorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjc2CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgZnJvbSBta3RyZWUiCiBtc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBkZXB1aSBta3RyZWUiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI4MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjg1CiBtc2dpZCAibWt0cmVlIHJlcG9ydGVkIGZhaWx1cmUiCiBtc2dzdHIgIm1rdHJlZSBhIMOpY2hvdcOpIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyODUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI4OQogbXNnaWQgIm1rdHJlZSBkaWQgbm90IHJldHVybiBhbiBvYmplY3QgbmFtZSIKIG1zZ3N0ciAibWt0cmVlIG4nYSBwYXMgcmV0b3VybsOpIGRlIG5vbSBkJ29iamV0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyOTQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZnN0YXQgJXMiCiBtc2dzdHIgImZzdGF0IGRlICVzIGltcG9zc2libGUiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI5OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzAzCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG9iamVjdCB0byBkYXRhYmFzZSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbCdvYmpldCBkYW5zIGxhIGJhc2UgZGUgZG9ubsOpZXMiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMxOCBidWlsdGluL3JlcGxhY2UuYzozNzEgYnVpbHRpbi9yZXBsYWNlLmM6NDE1Ci0jOiBidWlsdGluL3JlcGxhY2UuYzo0NDUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMyMiBidWlsdGluL3JlcGxhY2UuYzozNzggYnVpbHRpbi9yZXBsYWNlLmM6NDIzCisjOiBidWlsdGluL3JlcGxhY2UuYzo0NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcyciCiBtc2dzdHIgIm5vbSBkJ29iamV0IGludmFsaWRlIDogJyVzJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzIyCisjOiBidWlsdGluL3JlcGxhY2UuYzozMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdldCBvYmplY3QgdHlwZSBmb3IgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGxlIHR5cGUgZGUgbCdvYmpldCBwb3VyICVzIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozMzgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM0MgogbXNnaWQgImVkaXRpbmcgb2JqZWN0IGZpbGUgZmFpbGVkIgogbXNnc3RyICLDqWNoZWMgZGUgbCfDqWRpdGlvbiBkdSBmaWNoaWVyIGQnb2JqZXQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM0NworIzogYnVpbHRpbi9yZXBsYWNlLmM6MzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBvYmplY3QgaXMgdGhlIHNhbWUgYXMgdGhlIG9sZCBvbmU6ICclcyciCiBtc2dzdHIgImxlIG5vdXZlbCBvYmpldCBlc3QgaWRlbnRpcXVlIMOgIGwnYW5jaWVuwqA6ICclcyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwNworIzogYnVpbHRpbi9yZXBsYWNlLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyBhcyBhIGNvbW1pdCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyICVzIGNvbW1lIGNvbW1pdCIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBtZXJnZXRhZyBpbiBjb21taXQgJyVzJyIKIG1zZ3N0ciAibWF1dmFpc2Ugw6l0aXF1ZXR0ZSBkZSBmdXNpb24gZGFucyBsZSBjb21taXQgJyVzJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDA5CisjOiBidWlsdGluL3JlcGxhY2UuYzo0MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG1lcmdldGFnIGluIGNvbW1pdCAnJXMnIgogbXNnc3RyICLDqXRpcXVldHRlIGRlIGZ1c2lvbiBtYWxmb3Jtw6llIGRhbnMgbGUgY29tbWl0ICclcyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQyMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJvcmlnaW5hbCBjb21taXQgJyVzJyBjb250YWlucyBtZXJnZXRhZyAnJXMnIHRoYXQgaXMgZGlzY2FyZGVkOyB1c2UgLS1lZGl0ICIKQEAgLTE2NjI0LDMxICsxOTU1NiwzMSBAQAogImxlIGNvbW1pdCBvcmlnaW5hbCAnJXMnIGNvbnRpZW50IGwnw6l0aXF1ZXR0ZSBkZSBmdXNpb24gJyVzJyBxdWkgYSBkaXNwYXJ1IDsgIgogInV0aWxpc2V6IC0tZWRpdCBhdSBsaWV1IGRlIC0tZ3JhZnQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2MAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBvcmlnaW5hbCBjb21taXQgJyVzJyBoYXMgYSBncGcgc2lnbmF0dXJlIgogbXNnc3RyICJsZSBjb21taXQgb3JpZ2luYWwgJyVzJyBjb250aWVudCB1bmUgc2lnbmF0dXJlIEdQRyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDYxCisjOiBidWlsdGluL3JlcGxhY2UuYzo0NjkKIG1zZ2lkICJ0aGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgcmVwbGFjZW1lbnQgY29tbWl0ISIKIG1zZ3N0ciAibGEgc2lnbmF0dXJlIHNlcmEgw6lsaW1pbsOpZSBkYW5zIGxhIHZhbGlkYXRpb24gZGUgcmVtcGxhY2VtZW50ICEiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ3MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSByZXBsYWNlbWVudCBjb21taXQgZm9yOiAnJXMnIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBjb21taXQgZGUgcmVtcGxhY2VtZW50IHBvdXIgJyVzJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDc5CisjOiBidWlsdGluL3JlcGxhY2UuYzo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ3JhZnQgZm9yICclcycgdW5uZWNlc3NhcnkiCiBtc2dzdHIgImdyYWZ0IHBvdXIgJyVzJyBub24gbsOpY2Vzc2FpcmUiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ4MgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBjb21taXQgaXMgdGhlIHNhbWUgYXMgdGhlIG9sZCBvbmU6ICclcyciCiBtc2dzdHIgImxlIG5vdXZlYXUgY29tbWl0IGVzdCBpZGVudGlxdWUgw6AgbCdhbmNpZW7CoDogJyVzJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTE1CisjOiBidWlsdGluL3JlcGxhY2UuYzo1MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBjb252ZXJ0IHRoZSBmb2xsb3dpbmcgZ3JhZnQocyk6XG4iCkBAIC0xNjY1Nyw3MSArMTk1ODksNzEgQEAKICJpbXBvc3NpYmxlIGRlIGNvbnZlcnRpciBsYShsZXMpIGdyZWZmZShzKSBzdWl2YW50ZShzKSA6XG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUzNgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQ3CiBtc2dpZCAibGlzdCByZXBsYWNlIHJlZnMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyByw6lmw6lyZW5jZXMgZGUgcmVtcGxhY2VtZW50IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1MzcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0OAogbXNnaWQgImRlbGV0ZSByZXBsYWNlIHJlZnMiCiBtc2dzdHIgInN1cHByaW1lciBsZXMgcsOpZsOpcmVuY2VzIGRlIHJlbXBsYWNlbWVudCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM4CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDkKIG1zZ2lkICJlZGl0IGV4aXN0aW5nIG9iamVjdCIKIG1zZ3N0ciAiw6lkaXRlciBsJ29iamV0IGV4aXN0YW50IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1MzkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1MAogbXNnaWQgImNoYW5nZSBhIGNvbW1pdCdzIHBhcmVudHMiCiBtc2dzdHIgIk1vZGlmaWVyIGxlcyBwYXJlbnRzIGQndW4gY29tbWl0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NDAKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1MQogbXNnaWQgImNvbnZlcnQgZXhpc3RpbmcgZ3JhZnQgZmlsZSIKIG1zZ3N0ciAiY29udmVydGlyIGxlIGZpY2hpZXIgZGUgZ3JlZmZlIGV4aXN0YW50IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NDEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1MgogbXNnaWQgInJlcGxhY2UgdGhlIHJlZiBpZiBpdCBleGlzdHMiCiBtc2dzdHIgInJlbXBsYWNlciBsYSByw6lmw6lyZW5jZSBzaSBlbGxlIGV4aXN0ZSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQzCisjOiBidWlsdGluL3JlcGxhY2UuYzo1NTQKIG1zZ2lkICJkbyBub3QgcHJldHR5LXByaW50IGNvbnRlbnRzIGZvciAtLWVkaXQiCiBtc2dzdHIgImFmZmljaGVyIHNhbnMgbWlzZSBlbiBmb3JtZSBwb3VyIC0tZWRpdCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQ0CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NTUKIG1zZ2lkICJ1c2UgdGhpcyBmb3JtYXQiCiBtc2dzdHIgInV0aWxpc2VyIGNlIGZvcm1hdCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU3CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NjgKIG1zZ2lkICItLWZvcm1hdCBjYW5ub3QgYmUgdXNlZCB3aGVuIG5vdCBsaXN0aW5nIgogbXNnc3RyICItLWZvcm1hdCBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBzYW5zIGxpc3RlciIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTY1CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NzYKIG1zZ2lkICItZiBvbmx5IG1ha2VzIHNlbnNlIHdoZW4gd3JpdGluZyBhIHJlcGxhY2VtZW50IgogbXNnc3RyICItZiBuJ2EgZGUgc2VucyBxdSdlbiDDqWNyaXZhbnQgdW4gcmVtcGxhY2VtZW50IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NjkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU4MAogbXNnaWQgIi0tcmF3IG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCAtLWVkaXQiCiBtc2dzdHIgIi0tcmF3IG4nYSBkZSBzZW5zIHF1J2F2ZWMgbCdvcHRpb24gLS1lZGl0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NzUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU4NgogbXNnaWQgIi1kIG5lZWRzIGF0IGxlYXN0IG9uZSBhcmd1bWVudCIKIG1zZ3N0ciAiLWQgcmVxdWllcnQgYXUgbW9pbnMgdW4gYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU4MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTkyCiBtc2dpZCAiYmFkIG51bWJlciBvZiBhcmd1bWVudHMiCiBtc2dzdHIgIm1hdXZhaXMgbm9tYnJlIGQnYXJndW1lbnRzIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1ODcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU5OAogbXNnaWQgIi1lIG5lZWRzIGV4YWN0bHkgb25lIGFyZ3VtZW50IgogbXNnc3RyICItZSByZXF1aWVydCB1biBzZXVsIGFyZ3VtZW50IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1OTMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYwNAogbXNnaWQgIi1nIG5lZWRzIGF0IGxlYXN0IG9uZSBhcmd1bWVudCIKIG1zZ3N0ciAiLWcgcmVxdWllcnQgYXUgbW9pbnMgdW4gYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU5OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NjEwCiBtc2dpZCAiLS1jb252ZXJ0LWdyYWZ0LWZpbGUgdGFrZXMgbm8gYXJndW1lbnQiCiBtc2dzdHIgIi0tY29udmVydC1ncmFmdC1maWxlIG5lIHN1cHBvcnRlIGF1Y3VuIGFyZ3VtZW50IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo2MDUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYxNgogbXNnaWQgIm9ubHkgb25lIHBhdHRlcm4gY2FuIGJlIGdpdmVuIHdpdGggLWwiCiBtc2dzdHIgIi1sIG4nYWNjZXB0ZSBxdSd1biBtb3RpZnMiCiAKQEAgLTE2NzM4LDEyOCArMTk2NzAsMTM5IEBACiBtc2dpZCAiJ2dpdCByZXJlcmUgZm9yZ2V0JyB3aXRob3V0IHBhdGhzIGlzIGRlcHJlY2F0ZWQiCiBtc2dzdHIgIidnaXQgcmVyZXJlIGZvcmdldCcgc2FucyBjaGVtaW4gZXN0IG9ic29sw6h0ZSIKIAotIzogYnVpbHRpbi9yZXJlcmUuYzoxMTEKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6MTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBnZW5lcmF0ZSBkaWZmIGZvciAnJXMnIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgZ8OpbsOpcmF0aW9uIGRlIGRpZmYgcG91ciAnJXMnIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzEKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMgogbXNnaWQgIiIKICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMgotbXNnaWQgImdpdCByZXNldCBbLXFdIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRocz4uLi4iCi1tc2dzdHIgImdpdCByZXNldCBbLXFdIFs8YXJicmUgb3UgYXBwYXJlbnTDqT5dIFstLV0gPGNoZW1pbnM+Li4uIgotCiAjOiBidWlsdGluL3Jlc2V0LmM6MzMKLW1zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0iCi1tc2dzdHIgImdpdCByZXNldCAtLXBhdGNoIFs8YXJicmUgb3UgYXBwYXJlbnTDqT5dIFstLV0gWzxjaGVtaW5zPi4uLl0iCittc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzcGVjPi4uLiIKK21zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gWzxhcmJyZSBvdSBhcHBhcmVudMOpPl0gWy0tXSA8c3DDqWNpZmljYXRldXItZGUtY2hlbWluPi4uLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5CisjOiBidWlsdGluL3Jlc2V0LmM6MzQKK21zZ2lkICIiCisiZ2l0IHJlc2V0IFstcV0gWy0tcGF0aHNwZWMtZnJvbS1maWxlIFstLXBhdGhzcGVjLWZpbGUtbnVsXV0gWzx0cmVlLWlzaD5dIgorbXNnc3RyICJnaXQgcmVzZXQgWy1xXSBbLS1wYXRoc3BlYy1mcm9tLWZpbGUgWy0tcGF0aHNwZWMtZmlsZS1udWxdXSBbPGFyYnJlLWVzcXVlPl0iCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNQorbXNnaWQgImdpdCByZXNldCAtLXBhdGNoIFs8dHJlZS1pc2g+XSBbLS1dIFs8cGF0aHNwZWM+Li4uXSIKK21zZ3N0ciAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzxhcmJyZS1lc3F1ZT5dIFstLV0gWzxzcMOpYy4tZGUtY2hlbWluPi4uLl0iCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgIm1peGVkIgogbXNnc3RyICJtaXhlZCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5CisjOiBidWlsdGluL3Jlc2V0LmM6NDEKIG1zZ2lkICJzb2Z0IgogbXNnc3RyICJzb2Z0IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgImhhcmQiCiBtc2dzdHIgImhhcmQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOQorIzogYnVpbHRpbi9yZXNldC5jOjQxCiBtc2dpZCAibWVyZ2UiCiBtc2dzdHIgIm1lcmdlIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgImtlZXAiCiBtc2dzdHIgImtlZXAiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo4MAorIzogYnVpbHRpbi9yZXNldC5jOjgyCiBtc2dpZCAiWW91IGRvIG5vdCBoYXZlIGEgdmFsaWQgSEVBRC4iCiBtc2dzdHIgIlZvdXMgbidhdmV6IHBhcyB1bmUgSEVBRCB2YWxpZGUuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6ODIKKyM6IGJ1aWx0aW4vcmVzZXQuYzo4NAogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgSEVBRC4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgdHJvdXZlciBsJ2FyYnJlIHBvdXIgSEVBRC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo4OAorIzogYnVpbHRpbi9yZXNldC5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbCdhcmJyZSBwb3VyICVzLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjE5MgorIzogYnVpbHRpbi9yZXNldC5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICJIRUFEIGlzIG5vdyBhdCAlcyIKK21zZ3N0ciAiSEVBRCBlc3QgbWFpbnRlbmFudCDDoCAlcyIKKworIzogYnVpbHRpbi9yZXNldC5jOjE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gYSAlcyByZXNldCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UuIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGZhaXJlIHVuIFwicmVzZXQgJXNcIiBhdSBtaWxpZXUgZCd1bmUgZnVzaW9uLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5MgorIzogYnVpbHRpbi9yZXNldC5jOjI5NCBidWlsdGluL3N0YXNoLmM6NTE5IGJ1aWx0aW4vc3Rhc2guYzo1OTQKKyM6IGJ1aWx0aW4vc3Rhc2guYzo2MTgKIG1zZ2lkICJiZSBxdWlldCwgb25seSByZXBvcnQgZXJyb3JzIgogbXNnc3RyICLDqnRyZSBzaWxlbmNpZXV4LCBhZmZpY2hlciBzZXVsZW1lbnQgbGVzIGVycmV1cnMiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTQKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTYKIG1zZ2lkICJyZXNldCBIRUFEIGFuZCBpbmRleCIKIG1zZ3N0ciAicsOpaW5pdGlhbGlzZXIgSEVBRCBldCBsJ2luZGV4IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjk1CisjOiBidWlsdGluL3Jlc2V0LmM6Mjk3CiBtc2dpZCAicmVzZXQgb25seSBIRUFEIgogbXNnc3RyICJyw6lpbml0aWFsaXNlciBzZXVsZW1lbnQgSEVBRCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5NyBidWlsdGluL3Jlc2V0LmM6Mjk5CisjOiBidWlsdGluL3Jlc2V0LmM6Mjk5IGJ1aWx0aW4vcmVzZXQuYzozMDEKIG1zZ2lkICJyZXNldCBIRUFELCBpbmRleCBhbmQgd29ya2luZyB0cmVlIgogbXNnc3RyICJyw6lpbml0aWFsaXNlciBIRUFELCBsJ2luZGV4IGV0IGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDEKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDMKIG1zZ2lkICJyZXNldCBIRUFEIGJ1dCBrZWVwIGxvY2FsIGNoYW5nZXMiCiBtc2dzdHIgInLDqWluaXRpYWxpc2VyIEhFQUQgbWFpcyBnYXJkZXIgbGVzIGNoYW5nZW1lbnRzIGxvY2F1eCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMwNworIzogYnVpbHRpbi9yZXNldC5jOjMwOQogbXNnaWQgInJlY29yZCBvbmx5IHRoZSBmYWN0IHRoYXQgcmVtb3ZlZCBwYXRocyB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICIiCiAiZW5yZWdpc3RyZXIgc2V1bGVtZW50IGxlIGZhaXQgcXVlIGxlcyBjaGVtaW5zIGVmZmFjw6lzIHNlcm9udCBham91dMOpcyBwbHVzICIKICJ0YXJkIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzI1CisjOiBidWlsdGluL3Jlc2V0LmM6MzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZXZpc2lvbi4iCiBtc2dzdHIgIsOJY2hlYyBkZSByw6lzb2x1dGlvbiBkZSAnJXMnIGNvbW1lIHVuZSByw6l2aXNpb24gdmFsaWRlLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMzMworIzogYnVpbHRpbi9yZXNldC5jOjM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgdHJlZS4iCiBtc2dzdHIgIsOJY2hlYyBkZSByw6lzb2x1dGlvbiBkZSAnJXMnIGNvbW1lIHVuIGFyYnJlIHZhbGlkZS4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDIKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNjAKIG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIC0te2hhcmQsbWl4ZWQsc29mdH0iCiBtc2dzdHIgIi0tcGF0Y2ggZXN0IGluY29tcGF0aWJsZSBhdmVjIC0te2hhcmQsbWl4ZWQsc29mdH0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNTEKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNzAKIG1zZ2lkICItLW1peGVkIHdpdGggcGF0aHMgaXMgZGVwcmVjYXRlZDsgdXNlICdnaXQgcmVzZXQgLS0gPHBhdGhzPicgaW5zdGVhZC4iCiBtc2dzdHIgIiIKICItLW1peGVkIGF2ZWMgZGVzIGNoZW1pbnMgZXN0IG9ic29sw6h0ZSA7IHV0aWxpc2V6ICdnaXQgcmVzZXQgLS0gPHBhdGhzPicgw6AgbGEgIgogInBsYWNlLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM1MworIzogYnVpbHRpbi9yZXNldC5jOjM3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gJXMgcmVzZXQgd2l0aCBwYXRocy4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZmFpcmUgdW4gXCIlcyByZXNldFwiIGF2ZWMgZGVzIGNoZW1pbnMuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzYzCisjOiBidWlsdGluL3Jlc2V0LmM6Mzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHJlc2V0IGlzIG5vdCBhbGxvd2VkIGluIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICJMZSBcIiVzIHJlc2V0XCIgbidlc3QgcGFzIHBlcm1pcyBkYW5zIHVuIGTDqXDDtHQgbnUiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNjcKKyM6IGJ1aWx0aW4vcmVzZXQuYzozOTEKIG1zZ2lkICItTiBjYW4gb25seSBiZSB1c2VkIHdpdGggLS1taXhlZCIKIG1zZ3N0ciAiLU4gbmUgcGV1dCDDqnRyZSB1dGlsaXPDqSBxdSdhdmVjIC0tbWl4ZWQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozODcKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MTIKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKIG1zZ3N0ciAiTW9kaWZpY2F0aW9ucyBub24gaW5kZXjDqWVzIGFwcsOocyByZXNldCA6IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzkwCisjOiBidWlsdGluL3Jlc2V0LmM6NDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTE2ODY4LDU5ICsxOTgxMSw1NCBAQAogInRvIG1ha2UgdGhpcyB0aGUgZGVmYXVsdC5cbiIKIG1zZ3N0ciAiIgogIlxuIgotIkxlcyBtb2RpZmljYXRpb25zIG5vbi1pbmRleMOpZXMgb24gcHJpcyAlLjJmIHNlY29uZGVzIMOgIMOpbnVtZXJlciBhcHLDqHMgIgorIkxlcyBtb2RpZmljYXRpb25zIG5vbi1pbmRleMOpZXMgb250IHByaXMgJS4yZiBzZWNvbmRlcyDDoCDDqW51bcOpcmVyIGFwcsOocyAiCiAicmVzZXQuXG4iCiAiVm91cyBwb3V2ZXogdXRpbGlzZXIgJy0tcXVpZXQnIHBvdXIgw6l2aXRlciBjZSBtZXNzYWdlLiBSw6lnbGV6IGxlIHBhcmFtw6h0cmUgIgogImRlXG4iCiAiY29uZmlnIHJlc2V0LnF1aWV0IMOgIHRydWUgcG91ciBhdm9pciBjZSBjb21wb3J0ZW1lbnQgZW4gcGVybWFuZW5jZS5cbiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjQwMAorIzogYnVpbHRpbi9yZXNldC5jOjQyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVzZXQgaW5kZXggZmlsZSB0byByZXZpc2lvbiAnJXMnLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByw6lpbml0aWFsaXNlciBsZSBmaWNoaWVyIGQnaW5kZXggw6AgbGEgcsOpdmlzaW9uICclcycuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NDA0CisjOiBidWlsdGluL3Jlc2V0LmM6NDI5CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgbm91dmVhdSBmaWNoaWVyIGQnaW5kZXguIgogCi0jOiBidWlsdGluL3Jldi1saXN0LmM6NDAzCisjOiBidWlsdGluL3Jldi1saXN0LmM6NDExCiBtc2dpZCAiY2Fubm90IGNvbWJpbmUgLS1leGNsdWRlLXByb21pc29yLW9iamVjdHMgYW5kIC0tbWlzc2luZyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb21iaW5lciAtLWV4Y2x1ZGUtcHJvbWlzb3Itb2JqZWN0cyBldCAtLW1pc3NpbmciCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0NjEKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0NzIKIG1zZ2lkICJvYmplY3QgZmlsdGVyaW5nIHJlcXVpcmVzIC0tb2JqZWN0cyIKIG1zZ3N0ciAibGUgZmlsdHJhZ2UgZCdvYmpldCBleGlnZSAtLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0NjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBzcGFyc2UgdmFsdWUgJyVzJyIKLW1zZ3N0ciAidmFsZXVyIGludmFsaWRlIGRlICdzcGFyc2UnICclcyciCi0KLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo1MDUKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo1MjIKIG1zZ2lkICJyZXYtbGlzdCBkb2VzIG5vdCBzdXBwb3J0IGRpc3BsYXkgb2Ygbm90ZXMiCiBtc2dzdHIgInJldi1saXN0IG5lIHN1cHBvcnRlIGwnYWZmaWNoYWdlIGRlcyBub3RlcyIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUwOAorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUyNQogbXNnaWQgImNhbm5vdCBjb21iaW5lIC0tdXNlLWJpdG1hcC1pbmRleCB3aXRoIG9iamVjdCBmaWx0ZXJpbmciCiBtc2dzdHIgImltcG9zc2libGUgZGUgY29tYmluZXIgLS11c2UtYml0bWFwLWluZGV4IGF2ZWMgbGUgZmlsdHJhZ2UgZCdvYmpldCIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDcKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDA4CiBtc2dpZCAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dIgogbXNnc3RyICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmd1bWVudHM+Li4uXSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTIKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDEzCiBtc2dpZCAia2VlcCB0aGUgYC0tYCBwYXNzZWQgYXMgYW4gYXJnIgogbXNnc3RyICJnYXJkZXIgbGUgYC0tYCBwYXNzw6kgZW4gYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDE0CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxNQogbXNnaWQgInN0b3AgcGFyc2luZyBhZnRlciB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCIKIG1zZ3N0ciAiYXJyw6p0IGRlIGwnYW5hbHlzZSBhcHLDqHMgbGUgcHJlbWllciBhcmd1bWVudCBxdWkgbidlc3QgcGFzIHVuZSBvcHRpb24iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDE3CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxOAogbXNnaWQgIm91dHB1dCBpbiBzdHVjayBsb25nIGZvcm0iCiBtc2dzdHIgInNvcnRpZSBlbiBmb3JtZSBsb25ndWUgZml4w6llIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjU1MAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1NTEKIG1zZ2lkICIiCiAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dXG4iCiAiICAgb3I6IGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPGFyZz4uLi5dXG4iCkBAIC0xNjk1MSw3MiArMTk4ODksODEgQEAKIG1zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgPHN1YmNvbW1hbmQ+IgogbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgPHNvdXMtY29tbWFuZGU+IgogCi0jOiBidWlsdGluL3JldmVydC5jOjkxCisjOiBidWlsdGluL3JldmVydC5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgYSBudW1iZXIgZ3JlYXRlciB0aGFuIHplcm8iCittc2dzdHIgImwnb3B0aW9uICclcycgYXR0ZW5kIHVuIG5vbWJyZSBzdXDDqXJpZXVyIMOgIHrDqXJvIgorCisjOiBidWlsdGluL3JldmVydC5jOjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICIlcyA6ICVzIG5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpIGF2ZWMgJXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAwCisjOiBidWlsdGluL3JldmVydC5jOjEwMgogbXNnaWQgImVuZCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgIm1ldHRyZSBmaW4gYXUgcmV0b3VyIG91IHBpY29yYWdlIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJyZXN1bWUgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJyZXByZW5kcmUgbGUgcmV0b3VyIG91IHBpY29yYWdlIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKIG1zZ2lkICJjYW5jZWwgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJhbm51bGVyIGxlIHJldG91ciBvdSBwaWNvcmFnZSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA1Cittc2dpZCAic2tpcCBjdXJyZW50IGNvbW1pdCBhbmQgY29udGludWUiCittc2dzdHIgInNhdXRlciBsZSBjb21taXQgY291cmFudCBldCBjb250aW51ZXIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3CiBtc2dpZCAiZG9uJ3QgYXV0b21hdGljYWxseSBjb21taXQiCiBtc2dzdHIgIm5lIHBhcyB2YWxpZGVyIGF1dG9tYXRpcXVlbWVudCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA4CiBtc2dpZCAiZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIsOpZGl0ZXIgbGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNworIzogYnVpbHRpbi9yZXZlcnQuYzoxMTEKIG1zZ2lkICJwYXJlbnQtbnVtYmVyIgogbXNnc3RyICJudW3DqXJvLWRlLXBhcmVudCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyCiBtc2dpZCAic2VsZWN0IG1haW5saW5lIHBhcmVudCIKIG1zZ3N0ciAic8OpbGVjdGlvbm5lciBsZSBwYXJlbnQgcHJpbmNpcGFsIgogCi0jOiBidWlsdGluL3JldmVydC5jOjExMAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTQKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAic3RyYXTDqWdpZSBkZSBmdXNpb24iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyCisjOiBidWlsdGluL3JldmVydC5jOjExNgogbXNnaWQgIm9wdGlvbiBmb3IgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIm9wdGlvbiBwb3VyIGxhIHN0cmF0w6lnaWUgZGUgZnVzaW9uIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyMQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjUKIG1zZ2lkICJhcHBlbmQgY29tbWl0IG5hbWUiCiBtc2dzdHIgImFqb3V0ZXIgbGUgbm9tIGRlIHZhbGlkYXRpb24iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIzCisjOiBidWlsdGluL3JldmVydC5jOjEyNwogbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgogbXNnc3RyICJwcsOpc2VydmVyIGxlcyB2YWxpZGF0aW9ucyB2aWRlcyBpbml0aWFsZW1lbnQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI1CisjOiBidWlsdGluL3JldmVydC5jOjEyOQogbXNnaWQgImtlZXAgcmVkdW5kYW50LCBlbXB0eSBjb21taXRzIgogbXNnc3RyICJnYXJkZXIgbGVzIHZhbGlkYXRpb25zIHJlZG9uZGFudGVzLCB2aWRlcyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMTkKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMyCiBtc2dpZCAicmV2ZXJ0IGZhaWxlZCIKIG1zZ3N0ciAicmV2ZXJ0IGEgw6ljaG91w6kiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMyCisjOiBidWlsdGluL3JldmVydC5jOjI0NQogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAibGUgcGljb3JhZ2UgYSDDqWNob3XDqSIKIAotIzogYnVpbHRpbi9ybS5jOjE4CisjOiBidWlsdGluL3JtLmM6MTkKIG1zZ2lkICJnaXQgcm0gWzxvcHRpb25zPl0gWy0tXSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBybSBbPG9wdGlvbnM+XSBbLS1dIDxmaWNoaWVyPi4uLiIKIAotIzogYnVpbHRpbi9ybS5jOjIwNgorIzogYnVpbHRpbi9ybS5jOjIwNwogbXNnaWQgIiIKICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIHN0YWdlZCBjb250ZW50IGRpZmZlcmVudCBmcm9tIGJvdGggdGhlXG4iCiAiZmlsZSBhbmQgdGhlIEhFQUQ6IgpAQCAtMTcwMzAsNyArMTk5NzcsNyBAQAogImxlcyBmaWNoaWVycyBzdWl2YW50cyBvbnQgZHUgY29udGVudSBpbmRleMOpIGRpZmbDqXJlbnRcbiIKICJkdSBmaWNoaWVyIGV0IGRlIEhFQUQgOiIKIAotIzogYnVpbHRpbi9ybS5jOjIxMQorIzogYnVpbHRpbi9ybS5jOjIxMgogbXNnaWQgIiIKICJcbiIKICIodXNlIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtMTcwMzgsMTMgKzE5OTg1LDEzIEBACiAiXG4iCiAiKHV0aWxpc2V6IC1mIHBvdXIgZm9yY2VyIGxhIHN1cHByZXNzaW9uKSIKIAotIzogYnVpbHRpbi9ybS5jOjIxNQorIzogYnVpbHRpbi9ybS5jOjIxNgogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dzdHJbMF0gImxlIGZpY2hpZXIgc3VpdmFudCBhIGRlcyBjaGFuZ2VtZW50cyBpbmRleMOpcyA6IgogbXNnc3RyWzFdICJsZXMgZmljaGllcnMgc3VpdmFudHMgb250IGRlcyBjaGFuZ2VtZW50cyBpbmRleMOpcyA6IgogCi0jOiBidWlsdGluL3JtLmM6MjE5IGJ1aWx0aW4vcm0uYzoyMjgKKyM6IGJ1aWx0aW4vcm0uYzoyMjAgYnVpbHRpbi9ybS5jOjIyOQogbXNnaWQgIiIKICJcbiIKICIodXNlIC0tY2FjaGVkIHRvIGtlZXAgdGhlIGZpbGUsIG9yIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtMTcwNTIsNDQgKzE5OTk5LDQ0IEBACiAiXG4iCiAiKHV0aWxpc2V6IC0tY2FjaGVkIHBvdXIgZ2FyZGVyIGxlIGZpY2hpZXIsIG91IC1mIHBvdXIgZm9yY2VyIGxhIHN1cHByZXNzaW9uKSIKIAotIzogYnVpbHRpbi9ybS5jOjIyNQorIzogYnVpbHRpbi9ybS5jOjIyNgogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ3N0clswXSAibGUgZmljaGllciBzdWl2YW50IGEgZGVzIG1vZGlmaWNhdGlvbnMgbG9jYWxlcyA6IgogbXNnc3RyWzFdICJsZXMgZmljaGllcnMgc3VpdmFudHMgb250IGRlcyBtb2RpZmljYXRpb25zIGxvY2FsZXMgOiIKIAotIzogYnVpbHRpbi9ybS5jOjI0MQorIzogYnVpbHRpbi9ybS5jOjI0MgogbXNnaWQgImRvIG5vdCBsaXN0IHJlbW92ZWQgZmlsZXMiCiBtc2dzdHIgIm5lIHBhcyBhZmZpY2hlciBsZXMgZmljaGllcnMgc3VwcHJpbcOpcyIKIAotIzogYnVpbHRpbi9ybS5jOjI0MgorIzogYnVpbHRpbi9ybS5jOjI0MwogbXNnaWQgIm9ubHkgcmVtb3ZlIGZyb20gdGhlIGluZGV4IgogbXNnc3RyICJzdXBwcmltZXIgc2V1bGVtZW50IGRlIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDMKKyM6IGJ1aWx0aW4vcm0uYzoyNDQKIG1zZ2lkICJvdmVycmlkZSB0aGUgdXAtdG8tZGF0ZSBjaGVjayIKIG1zZ3N0ciAib3V0cmVwYXNzZXIgbGEgdsOpcmlmaWNhdGlvbiBkZXMgZmljaGllcnMgw6Agam91ciIKIAotIzogYnVpbHRpbi9ybS5jOjI0NAorIzogYnVpbHRpbi9ybS5jOjI0NQogbXNnaWQgImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIgogbXNnc3RyICJhdXRvcmlzZXIgbGEgc3VwcHJlc3Npb24gcsOpY3Vyc2l2ZSIKIAotIzogYnVpbHRpbi9ybS5jOjI0NgorIzogYnVpbHRpbi9ybS5jOjI0NwogbXNnaWQgImV4aXQgd2l0aCBhIHplcm8gc3RhdHVzIGV2ZW4gaWYgbm90aGluZyBtYXRjaGVkIgogbXNnc3RyICJzb3J0aXIgYXZlYyB1biDDqXRhdCB6w6lybyBtw6ptZSBzaSByaWVuIG5lIGNvcnJlc3BvbmRhaXQiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyODgKKyM6IGJ1aWx0aW4vcm0uYzoyODkKIG1zZ2lkICJwbGVhc2Ugc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIKIG1zZ3N0ciAiIgogInZldWlsbGV6IGluZGV4ZXIgdm9zIG1vZGlmaWNhdGlvbnMgZGUgLmdpdG1vZHVsZXMgb3UgbGVzIHJlbWlzZXIgcG91ciAiCiAiY29udGludWVyIgogCi0jOiBidWlsdGluL3JtLmM6MzA2CisjOiBidWlsdGluL3JtLmM6MzA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCByZW1vdmluZyAnJXMnIHJlY3Vyc2l2ZWx5IHdpdGhvdXQgLXIiCiBtc2dzdHIgInBhcyBkZSBzdXBwcmVzc2lvbiByw6ljdXJzaXZlIGRlICclcycgc2FucyAtciIKIAotIzogYnVpbHRpbi9ybS5jOjM0NQorIzogYnVpbHRpbi9ybS5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgcm06IHVuYWJsZSB0byByZW1vdmUgJXMiCiBtc2dzdHIgImdpdCBybSA6IGltcG9zc2libGUgZGUgc3VwcHJpbWVyICVzIgpAQCAtMTcxMjMsMTggKzIwMDcwLDYgQEAKIG1zZ2lkICJwcmludCBzdGF0dXMgZnJvbSByZW1vdGUgaGVscGVyIgogbXNnc3RyICJhZmZpY2hlciBsZXMgbWVzc2FnZXMgZHUgZ3JlZmZvbiBkZSBwcm90b2NvbGUgZGlzdGFudCIKIAotIzogYnVpbHRpbi9zZXJ2ZS5jOjcKLW1zZ2lkICJnaXQgc2VydmUgWzxvcHRpb25zPl0iCi1tc2dzdHIgImdpdCBzZXJ2ZSBbPG9wdGlvbnM+XSIKLQotIzogYnVpbHRpbi9zZXJ2ZS5jOjE3IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyMwotbXNnaWQgInF1aXQgYWZ0ZXIgYSBzaW5nbGUgcmVxdWVzdC9yZXNwb25zZSBleGNoYW5nZSIKLW1zZ3N0ciAicXVpdHRlciBhcHLDqHMgdW4gdW5pcXVlIMOpY2hhbmdlIHJlcXXDqnRlL3LDqXBvbnNlIgotCi0jOiBidWlsdGluL3NlcnZlLmM6MTkKLW1zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGFkdmVydGlzaW5nIGNhcGFiaWxpdGllcyIKLW1zZ3N0ciAic29ydGlyIGltbcOpZGlhdGVtZW50IGFwcsOocyBsJ2Fubm9uY2UgZGVzIGNhcGFjaXTDqXMiCi0KICM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNAogbXNnaWQgImdpdCBzaG9ydGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHNob3J0bG9nIFs8b3B0aW9ucz5dIFs8aW50ZXJ2YWxsZS1yw6l2aXNpb25zPl0gW1stLV0gPGNoZW1pbj4uLi5dIgpAQCAtMTcxNjksNyArMjAxMDQsNyBAQAogbXNnaWQgIkxpbmV3cmFwIG91dHB1dCIKIG1zZ3N0ciAiQ291cGVyIGxlcyBsaWduZXMiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyOTkKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzozMDEKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMgZ2l2ZW4gb3V0c2lkZSByZXBvc2l0b3J5IgogbXNnc3RyICJ0cm9wIGQnYXJndW1lbnRzIGZvdXJuaXMgaG9ycyBkJ3VuIGTDqXDDtHQiCiAKQEAgLTE3MTk2LDEyMiArMjAxMzEsMTIyIEBACiBtc2dzdHJbMF0gIiVzIGlnbm9yw6k7IGltcG9zc2libGUgZGUgZ8OpcmVyIHBsdXMgZGUgJWQgcsOpZsOpcmVuY2UiCiBtc2dzdHJbMV0gIiVzIGlnbm9yw6k7IGltcG9zc2libGUgZGUgZ8OpcmVyIHBsdXMgZGUgJWQgcsOpZsOpcmVuY2VzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NTQ5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoaW5nIHJlZnMgd2l0aCAlcyIKIG1zZ3N0ciAiYXVjdW5lIHLDqWbDqXJlbmNlIGNvcnJlc3BvbmQgw6AgJXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBicmFuY2hlcyBkZSBzdWl2aSBkaXN0YW50ZXMgZXQgbGVzIGJyYW5jaGVzIGxvY2FsZXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDcKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIGJyYW5jaGVzIGRlIHN1aXZpIGRpc3RhbnRlcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OQogbXNnaWQgImNvbG9yICcqISstJyBjb3JyZXNwb25kaW5nIHRvIHRoZSBicmFuY2giCiBtc2dzdHIgImNvdWxldXIgJyohKy0nIGNvcnJlc3BvbmRhbnQgw6AgbGEgYnJhbmNoZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MQogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICJhZmZpY2hlciA8bj4gdmFsaWRhdGlvbnMgZGUgcGx1cyBhcHLDqHMgbCdhbmPDqnRyZSBjb21tdW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTMKIG1zZ2lkICJzeW5vbnltIHRvIG1vcmU9LTEiCiBtc2dzdHIgInN5bm9ueW1lIGRlIG1vcmU9LTEiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKIG1zZ2lkICJzdXBwcmVzcyBuYW1pbmcgc3RyaW5ncyIKIG1zZ3N0ciAic3VwcHJpbWVyIGxlcyBjaGHDrm5lcyBkZSBub21tYWdlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU2CiBtc2dpZCAiaW5jbHVkZSB0aGUgY3VycmVudCBicmFuY2giCiBtc2dzdHIgImluY2x1cmUgbGEgYnJhbmNoZSBjb3VyYW50ZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OAogbXNnaWQgIm5hbWUgY29tbWl0cyB3aXRoIHRoZWlyIG9iamVjdCBuYW1lcyIKIG1zZ3N0ciAibm9tbWVyIGxlcyB2YWxpZGF0aW9ucyBhdmVjIGxldXJzIG5vbXMgZCdvYmpldCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MAogbXNnaWQgInNob3cgcG9zc2libGUgbWVyZ2UgYmFzZXMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBiYXNlcyBwb3NzaWJsZXMgZGUgZnVzaW9uIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYyCiBtc2dpZCAic2hvdyByZWZzIHVucmVhY2hhYmxlIGZyb20gYW55IG90aGVyIHJlZiIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIHLDqWbDqXJlbmNlcyBpbmFjY2Vzc2libGVzIGRlcHVpcyB0b3V0ZSBhdXRyZSByw6lmw6lyZW5jZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NAogbXNnaWQgInNob3cgY29tbWl0cyBpbiB0b3BvbG9naWNhbCBvcmRlciIKIG1zZ3N0ciAiYWZmaWNoZXIgbGVzIHZhbGlkYXRpb25zIGRhbnMgbCdvcmRyZSB0b3BvbG9naXF1ZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NwogbXNnaWQgInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIgogbXNnc3RyICIiCiAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyB2YWxpZGF0aW9ucyBxdWkgbmUgc29udCBwYXMgc3VyIGxhIHByZW1pw6hyZSBicmFuY2hlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjcwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY5CiBtc2dpZCAic2hvdyBtZXJnZXMgcmVhY2hhYmxlIGZyb20gb25seSBvbmUgdGlwIgogbXNnc3RyICJhZmZpY2hlciBsZXMgZnVzaW9ucyBhY2Nlc3NpYmxlcyBkZXB1aXMgdW5lIHNldWxlIHBvaW50ZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MQogbXNnaWQgInRvcG9sb2dpY2FsbHkgc29ydCwgbWFpbnRhaW5pbmcgZGF0ZSBvcmRlciB3aGVyZSBwb3NzaWJsZSIKIG1zZ3N0ciAidHJpIHRvcG9sb2dpcXVlLCBtYWludGVuYW50IGwnb3JkcmUgcGFyIGRhdGUgc2kgcG9zc2libGUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzQKIG1zZ2lkICI8bj5bLDxiYXNlPl0iCiBtc2dzdHIgIjxuPlssPGJhc2U+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NQogbXNnaWQgInNob3cgPG4+IG1vc3QgcmVjZW50IHJlZi1sb2cgZW50cmllcyBzdGFydGluZyBhdCBiYXNlIgogbXNnc3RyICIiCiAiYWZmaWNoZXIgbGVzIDxuPiBwbHVzIHLDqWNlbnRzIMOpbMOpbWVudHMgZGUgcmVmLWxvZyBlbiBjb21tZW7Dp2FudCDDoCBsYSBiYXNlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzEyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzExCiBtc2dpZCAiIgogIi0tcmVmbG9nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLXJlbW90ZXMsIC0taW5kZXBlbmRlbnQgb3IgLS1tZXJnZS1iYXNlIgogbXNnc3RyICIiCiAiLS1yZWZsb2cgZXN0IGluY29tcGF0aWJsZSBhdmVjIC0tYWxsLCAtLXJlbW90ZXMsIC0taW5kZXBlbmRhbnQgZXQgLS1tZXJnZS0iCiAiYmFzZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczNgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczNQogbXNnaWQgIm5vIGJyYW5jaGVzIGdpdmVuLCBhbmQgSEVBRCBpcyBub3QgdmFsaWQiCiBtc2dzdHIgImF1Y3VuZSBicmFuY2hlIHNww6ljaWZpw6llLCBldCBIRUFEIGVzdCBpbnZhbGlkZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczOQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczOAogbXNnaWQgIi0tcmVmbG9nIG9wdGlvbiBuZWVkcyBvbmUgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIi0tcmVmbG9nIHJlcXVpZXJ0IHVuIG5vbSBkZSBicmFuY2hlIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9ubHkgJWQgZW50cnkgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKIG1zZ2lkX3BsdXJhbCAib25seSAlZCBlbnRyaWVzIGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCiBtc2dzdHJbMF0gIiVkIGVudHLDqWUgc2V1bGVtZW50IG5lIHBldXQgw6p0cmUgbW9udHLDqWUgZW4gbcOqbWUgdGVtcHMuIgogbXNnc3RyWzFdICIlZCBlbnRyw6llcyBzZXVsZW1lbnQgbmUgcGV1dmVudCDDqnRyZSBtb250csOpZSBlbiBtw6ptZSB0ZW1wcy4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3NDYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCByZWYgJXMiCiBtc2dzdHIgInLDqWbDqXJlbmNlIGluZXhpc3RhbnRlICVzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldi4iCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldnMuIgogbXNnc3RyWzBdICJpbXBvc3NpYmxlIGRlIGfDqXJlciBwbHVzIGRlICVkIHLDqXZpc2lvbi4iCiBtc2dzdHJbMV0gImltcG9zc2libGUgZGUgZ8OpcmVyIHBsdXMgZGUgJWQgcsOpdmlzaW9ucy4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZWYuIgogbXNnc3RyICInJXMnIG4nZXN0IHBhcyB1bmUgcsOpZsOpcmVuY2UgdmFsaWRlLiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmluZCBjb21taXQgJXMgKCVzKSIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSB0cm91dmVyIGxlIGNvbW1pdCAlcyAoJXMpIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTEKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMgogbXNnaWQgIiIKICJnaXQgc2hvdy1yZWYgWy1xIHwgLS1xdWlldF0gWy0tdmVyaWZ5XSBbLS1oZWFkXSBbLWQgfCAtLWRlcmVmZXJlbmNlXSBbLXMgfCAtLSIKICJoYXNoWz08bj5dXSBbLS1hYmJyZXZbPTxuPl1dIFstLXRhZ3NdIFstLWhlYWRzXSBbLS1dIFs8cGF0dGVybj4uLi5dIgpAQCAtMTczMTksNDcgKzIwMjU0LDMyNCBAQAogImdpdCBzaG93LXJlZiBbLXEgfCAtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZCB8IC0tZGVyZWZlcmVuY2VdIFstcyB8IC0tIgogImhhc2hbPTxuPl1dIFstLWFiYnJldls9PG4+XV0gWy0tdGFnc10gWy0taGVhZHNdIFstLV0gWzxtb3RpZj4uLi5dIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTIKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMwogbXNnaWQgImdpdCBzaG93LXJlZiAtLWV4Y2x1ZGUtZXhpc3RpbmdbPTxwYXR0ZXJuPl0iCiBtc2dzdHIgImdpdCBzaG93LXJlZiAtLWV4Y2x1ZGUtZXhpc3RpbmdbPTxtb3RpZj5dIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTYxCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTYyCiBtc2dpZCAib25seSBzaG93IHRhZ3MgKGNhbiBiZSBjb21iaW5lZCB3aXRoIGhlYWRzKSIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyDDqXRpcXVldHRlcyAocGV1dCDDqnRyZSBjb21iaW7DqSBhdmVjIGhlYWRzKSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2MgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2MwogbXNnaWQgIm9ubHkgc2hvdyBoZWFkcyAoY2FuIGJlIGNvbWJpbmVkIHdpdGggdGFncykiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgdMOqdGVzIChwZXV0IMOqdHJlIGNvbWJpbsOpIGF2ZWMgdGFncykiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjMKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjQKIG1zZ2lkICJzdHJpY3RlciByZWZlcmVuY2UgY2hlY2tpbmcsIHJlcXVpcmVzIGV4YWN0IHJlZiBwYXRoIgogbXNnc3RyICIiCiAidsOpcmlmaWNhdGlvbiBkZSByw6lmw6lyZW5jZSBwbHVzIHN0cmljdGUsIG7DqWNlc3NpdGUgdW4gY2hlbWluIGRlIHLDqWbDqXJlbmNlICIKICJleGFjdCIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2NiBidWlsdGluL3Nob3ctcmVmLmM6MTY4CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTY3IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjkKIG1zZ2lkICJzaG93IHRoZSBIRUFEIHJlZmVyZW5jZSwgZXZlbiBpZiBpdCB3b3VsZCBiZSBmaWx0ZXJlZCBvdXQiCiBtc2dzdHIgImFmZmljaGVyIGxhIHLDqWbDqXJlbmNlIEhFQUQsIG3Dqm1lIHNpIGVsbGUgc2VyYWl0IGZpbHRyw6llIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTcwCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTcxCiBtc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbnRvIG9iamVjdCBJRHMiCiBtc2dzdHIgImTDqXLDqWbDqXJlbmNlciBsZXMgw6l0aXF1ZXR0ZXMgZW4gSURzIGQnb2JqZXQiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzIKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzMKIG1zZ2lkICJvbmx5IHNob3cgU0hBMSBoYXNoIHVzaW5nIDxuPiBkaWdpdHMiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZSBoYWNoYWdlIFNIQTEgZW4gdXRpbGlzYW50IDxuPiBjaGlmZnJlcyIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NwogbXNnaWQgImRvIG5vdCBwcmludCByZXN1bHRzIHRvIHN0ZG91dCAodXNlZnVsIHdpdGggLS12ZXJpZnkpIgogbXNnc3RyICIiCiAibmUgcGFzIGFmZmljaGVyIGxlcyByw6lzdWx0YXRzIHN1ciBsYSBzb3J0aWUgc3RhbmRhcmQgKHByYXRpcXVlIGF2ZWMgLS12ZXJpZnkpIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc5CiBtc2dpZCAic2hvdyByZWZzIGZyb20gc3RkaW4gdGhhdCBhcmVuJ3QgaW4gbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogImFmZmljaGVyIGxlcyByw6lmw6lyZW5jZXMgZGUgbCdlbnRyw6llIHN0YW5kYXJkIHF1aSBuZSBzb250IHBhcyBkYW5zIGxlIGTDqXDDtHQgIgogImxvY2FsIgogCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjIwCittc2dpZCAiZ2l0IHNwYXJzZS1jaGVja291dCAoaW5pdHxsaXN0fHNldHxkaXNhYmxlKSA8b3B0aW9ucz4iCittc2dzdHIgImdpdCBzcGFyc2UtY2hlY2tvdXQgKGluaXR8bGlzdHxzZXR8ZGlzYWJsZSkgPG9wdGlvbnM+IgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjYxCittc2dpZCAidGhpcyB3b3JrdHJlZSBpcyBub3Qgc3BhcnNlIChzcGFyc2UtY2hlY2tvdXQgZmlsZSBtYXkgbm90IGV4aXN0KSIKK21zZ3N0ciAiY2V0IGFyYnJlIGRlIHRyYXZhaWwgbidlc3QgcGFzIHBhcnRpZWwgKGxlIGZpY2hpZXIgc3BhcnNlLWNoZWNrb3V0IHBvdXJyYWl0IG5lIHBhcyBleGlzdGVyKSIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzoyMjAKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4dGVuc2lvbnMud29ya3RyZWVDb25maWcgc2V0dGluZyIKK21zZ3N0ciAiw6ljaGVjIGRlIHBhcmFtw6l0cmFnZSBleHRlbnNpb25zLndvcmt0cmVlQ29uZmlnIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjIzNworbXNnaWQgImdpdCBzcGFyc2UtY2hlY2tvdXQgaW5pdCBbLS1jb25lXSIKK21zZ3N0ciAiZ2l0IHNwYXJzZS1jaGVja291dCBpbml0IFstLWNvbmVdIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI1NgorbXNnaWQgImluaXRpYWxpemUgdGhlIHNwYXJzZS1jaGVja291dCBpbiBjb25lIG1vZGUiCittc2dzdHIgImluaXRpYWxpc2VyIGwnZXh0cmFjdGlvbiBwYXJ0aWVsbGUgZW4gbW9kZSBjb25lIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI2MgorbXNnaWQgImluaXRpYWxpemUgc3BhcnNlLWNoZWNrb3V0IgorbXNnc3RyICJpbml0aWFsaXNlciBsJ2V4dHJhY3Rpb24gcGFydGllbGxlIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgorbXNnc3RyICLDqWNoZWMgw6AgbCdvdXZlcnR1cmUgZGUgJyVzJyIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzozNjEKK21zZ2lkICJnaXQgc3BhcnNlLWNoZWNrb3V0IHNldCAoLS1zdGRpbiB8IDxwYXR0ZXJucz4pIgorbXNnc3RyICJnaXQgc3BhcnNlLWNoZWNrb3V0IHNldCAoLS1zdGRpbiB8IDxtb3RpZnM+KSIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzozNzgKK21zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gc3RhbmRhcmQgaW4iCittc2dzdHIgImxpcmUgbGVzIG1vdGlmcyBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjM4NAorbXNnaWQgInNldCBzcGFyc2UtY2hlY2tvdXQgcGF0dGVybnMiCittc2dzdHIgImluZGlxdWVyIGxlcyBtb3RpZnMgZGUgbCdleHRyYWN0aW9uIHBhcnRpZWxsZSIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo0NDcKK21zZ2lkICJkaXNhYmxlIHNwYXJzZS1jaGVja291dCIKK21zZ3N0ciAiZMOpc2FjdGl2ZXIgZCdleHRyYWN0aW9uIHBhcnRpZWxsZSIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo0NTkKK21zZ2lkICJlcnJvciB3aGlsZSByZWZyZXNoaW5nIHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJlcnJldXIgbG9ycyBkdSByYWZyYcOuY2hpc3NlbWVudCBkdSByw6lwZXJ0b2lyZSBkZSB0cmF2YWlsIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjIgYnVpbHRpbi9zdGFzaC5jOjM3Cittc2dpZCAiZ2l0IHN0YXNoIGxpc3QgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCBzdGFzaCBsaXN0IFs8b3B0aW9ucz5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjMgYnVpbHRpbi9zdGFzaC5jOjQyCittc2dpZCAiZ2l0IHN0YXNoIHNob3cgWzxvcHRpb25zPl0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggc2hvdyBbPG9wdGlvbnM+XSBbPHJlbWlzZT5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjQgYnVpbHRpbi9zdGFzaC5jOjQ3Cittc2dpZCAiZ2l0IHN0YXNoIGRyb3AgWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIKK21zZ3N0ciAiZ2l0IHN0YXNoIGRyb3AgWy1xfC0tcXVpZXRdIFs8cmVtaXNlPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNQorbXNnaWQgImdpdCBzdGFzaCAoIHBvcCB8IGFwcGx5ICkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCAoIHBvcCB8IGFwcGx5ICkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHJlbWlzZT5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjYgYnVpbHRpbi9zdGFzaC5jOjYyCittc2dpZCAiZ2l0IHN0YXNoIGJyYW5jaCA8YnJhbmNobmFtZT4gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggYnJhbmNoIDxub20tZGUtYnJhbmNoZT4gWzxyZW1pc2U+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjI3IGJ1aWx0aW4vc3Rhc2guYzo2NworbXNnaWQgImdpdCBzdGFzaCBjbGVhciIKK21zZ3N0ciAiZ2l0IHN0YXNoIGNsZWFyIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjggYnVpbHRpbi9zdGFzaC5jOjc3Cittc2dpZCAiIgorImdpdCBzdGFzaCBbcHVzaCBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKyIgICAgICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gWy1tfC0tbWVzc2FnZSA8bWVzc2FnZT5dXG4iCisiICAgICAgICAgIFstLV0gWzxwYXRoc3BlYz4uLi5dXSIKK21zZ3N0ciAiIgorImdpdCBzdGFzaCBbcHVzaCBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKyIgICAgICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gWy1tfC0tbWVzc2FnZSA8bWVzc2FnZT5dXG4iCisiICAgICAgICAgIFstLV0gWzxzcMOpY2lmaWNhdGV1ci1kZS1jaGVtaW4+Li4uXV0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzozMSBidWlsdGluL3N0YXNoLmM6ODQKK21zZ2lkICIiCisiZ2l0IHN0YXNoIHNhdmUgWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisiICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFs8bWVzc2FnZT5dIgorbXNnc3RyICIiCisiZ2l0IHN0YXNoIHNhdmUgWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisiICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFs8bWVzc2FnZT5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6NTIKK21zZ2lkICJnaXQgc3Rhc2ggcG9wIFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggcG9wIFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxyZW1pc2U+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU3Cittc2dpZCAiZ2l0IHN0YXNoIGFwcGx5IFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggYXBwbHkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHJlbWlzZT5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6NzIKK21zZ2lkICJnaXQgc3Rhc2ggc3RvcmUgWy1tfC0tbWVzc2FnZSA8bWVzc2FnZT5dIFstcXwtLXF1aWV0XSA8Y29tbWl0PiIKK21zZ3N0ciAiZ2l0IHN0YXNoIHN0b3JlIFstbXwtLW1lc3NhZ2UgPG1lc3NhZ2U+XSBbLXF8LS1xdWlldF0gPHJlbWlzZT4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKK21zZ3N0ciAiJyVzJyBuJ2VzdCBwYXMgdW5lIHZhbGlkYXRpb24gZGUgdHlwZSByZW1pc2FnZSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiVzIgorbXNnc3RyICJUcm9wIGRlIHLDqXZpc2lvbnMgc3DDqWNpZmnDqWVzIDogJXMiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNjEgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1NDkKK21zZ2lkICJObyBzdGFzaCBlbnRyaWVzIGZvdW5kLiIKK21zZ3N0ciAiQXVjdW5lIGVudHLDqWUgZGUgcmVtaXNhZ2UgdHJvdXbDqWUuIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIHJlZmVyZW5jZSIKK21zZ3N0ciAiJXMgbidlc3QgcGFzIHVuZSByw6lmw6lyZW5jZSB2YWxpZGUiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyMjQgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo3NQorbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKK21zZ3N0ciAiZ2l0IHN0YXNoIGNsZWFyIGF2ZWMgZGVzIHBhcmFtw6h0cmVzIG4nZXN0IHBhcyBpbXBsw6ltZW50w6kiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MDMKK21zZ2lkICJjYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCittc2dzdHIgImltcG9zc2libGUgZCdhcHBsaXF1ZXIgdW4gcmVtaXNhZ2UgZW4gY291cnMgZGUgZnVzaW9uIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBnZW5lcmF0ZSBkaWZmICVzXiEuIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGfDqW7DqXJlciAlc14hLiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQyMQorbXNnaWQgImNvbmZsaWN0cyBpbiBpbmRleC5Ucnkgd2l0aG91dCAtLWluZGV4LiIKK21zZ3N0ciAiY29uZmxpdHMgZGFucyBsJ2luZGV4LiBFc3NheWV6IHNhbnMgLS1pbmRleC4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MjcKK21zZ2lkICJjb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHNhdXZlZ2FyZGVyIGwnYXJicmUgZCdpbmRleCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQzNgorbXNnaWQgImNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHJlc3RhdXJlciBsZXMgZmljaGllcnMgbm9uLXN1aXZpcyBkZXB1aXMgbGUgcmVtaXNhZ2UiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVyZ2luZyAlcyB3aXRoICVzIgorbXNnc3RyICJGdXNpb24gZGUgJXMgYXZlYyAlcyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQ2MCBnaXQtbGVnYWN5LXN0YXNoLnNoOjY4MQorbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKK21zZ3N0ciAiTCdpbmRleCBuJ2EgcGFzIMOpdMOpIHNvcnRpIGRlIHJlbWlzZS4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1MjEgYnVpbHRpbi9zdGFzaC5jOjYyMAorbXNnaWQgImF0dGVtcHQgdG8gcmVjcmVhdGUgdGhlIGluZGV4IgorbXNnc3RyICJ0ZW50YXRpdmUgZGUgcmVjcsOpZXIgbCdpbmRleCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICJEcm9wcGVkICVzICglcykiCittc2dzdHIgIiVzIHN1cHByaW3DqSAoJXMpIgorCisjOiBidWlsdGluL3N0YXNoLmM6NTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKK21zZ3N0ciAiJXPCoDogSW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbCfDqWzDqW1lbnQgZGUgc3Rhc2giCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCittc2dzdHIgIiclcycgbidlc3QgcGFzIHVuZSByw6lmw6lyZW5jZSBkZSByZW1pc2FnZSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjYzMiBnaXQtbGVnYWN5LXN0YXNoLnNoOjY5NQorbXNnaWQgIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgorbXNnc3RyICIiCisiTCdlbnRyw6llIGRlIHJlbWlzYWdlIGVzdCBjb25zZXJ2w6llIGF1IGNhcyBvw7kgdm91cyBlbiBhdXJpZXogZW5jb3JlIGJlc29pbi4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo2NTUgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo3MTMKK21zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIkF1Y3VuZSBicmFuY2hlIHNww6ljaWZpw6llIgorCisjOiBidWlsdGluL3N0YXNoLmM6Nzk1IGJ1aWx0aW4vc3Rhc2guYzo4MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHVwZGF0ZSAlcyB3aXRoICVzIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyICVzIGF2ZWMgJXMiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo4MTMgYnVpbHRpbi9zdGFzaC5jOjE0NzAgYnVpbHRpbi9zdGFzaC5jOjE1MDYKK21zZ2lkICJzdGFzaCBtZXNzYWdlIgorbXNnc3RyICJtZXNzYWdlIHBvdXIgbGUgcmVtaXNhZ2UiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo4MjMKK21zZ2lkICJcImdpdCBzdGFzaCBzdG9yZVwiIHJlcXVpcmVzIG9uZSA8Y29tbWl0PiBhcmd1bWVudCIKK21zZ3N0ciAiXCJnaXQgc3Rhc2ggc3RvcmVcIiBleGlnZSB1biBhcmd1bWVudCA8Y29tbWl0PiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEwNDUgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMTgKK21zZ2lkICJObyBjaGFuZ2VzIHNlbGVjdGVkIgorbXNnc3RyICJBdWN1biBjaGFuZ2VtZW50IHPDqWxlY3Rpb25uw6kiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTQ1IGdpdC1sZWdhY3ktc3Rhc2guc2g6MTUwCittc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCittc2dzdHIgIlZvdXMgbidhdmV6IHBhcyBlbmNvcmUgbGEgdmFsaWRhdGlvbiBpbml0aWFsZSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExNzIgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoxNjUKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzYXV2ZXIgbCfDqXRhdCBjb3VyYW50IGRlIGwnaW5kZXgiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTgxIGdpdC1sZWdhY3ktc3Rhc2guc2g6MTgwCittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzYXV2ZXIgbGVzIGZpY2hpZXJzIG5vbi1zdWl2aXMiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTkyIGJ1aWx0aW4vc3Rhc2guYzoxMjAxIGdpdC1sZWdhY3ktc3Rhc2guc2g6MjAxCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjIxNAorbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHdvcmt0cmVlIHN0YXRlIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHNhdXZlciBsJ8OpdGF0IGNvdXJhbnQgZGUgbGEgY29waWUgZGUgdHJhdmFpbCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyMjkgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMzQKK21zZ2lkICJDYW5ub3QgcmVjb3JkIHdvcmtpbmcgdHJlZSBzdGF0ZSIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ2VucmVnaXN0cmVyIGwnw6l0YXQgZGUgbGEgY29waWUgZGUgdHJhdmFpbCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyNzggZ2l0LWxlZ2FjeS1zdGFzaC5zaDozMzgKK21zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgorbXNnc3RyICIiCisiSW1wb3NzaWJsZSBkJ3V0aWxpc2VyIC0tcGF0Y2ggZXQgLS1pbmNsdWRlLXVudHJhY2tlZCBvdSAtLWFsbCBlbiBtw6ptZSB0ZW1wcyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyOTQKK21zZ2lkICJEaWQgeW91IGZvcmdldCB0byAnZ2l0IGFkZCc/IgorbXNnc3RyICJWb3VzIGF2ZXogc8O7cmVtZW50IG91Ymxpw6kgJ2dpdCBhZGQnID8iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzA5IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzQ2Cittc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgorbXNnc3RyICJQYXMgZGUgbW9kaWZpY2F0aW9ucyBsb2NhbGVzIMOgIHNhdXZlciIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEzMTYgZ2l0LWxlZ2FjeS1zdGFzaC5zaDozNTEKK21zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ2luaXRpYWxpc2VyIGxlIHJlbWlzYWdlIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTMzMSBnaXQtbGVnYWN5LXN0YXNoLnNoOjM1NQorbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHN0YXR1cyIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzYXV2ZXIgbCfDqXRhdCBjb3VyYW50IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJTYXZlZCB3b3JraW5nIGRpcmVjdG9yeSBhbmQgaW5kZXggc3RhdGUgJXMiCittc2dzdHIgIkFyYnJlIGRlIHRyYXZhaWwgZXQgw6l0YXQgZGUgbCdpbmRleCBzYXV2ZWdhcmTDqXMgZGFucyAlcyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0MjYgZ2l0LWxlZ2FjeS1zdGFzaC5zaDozODUKK21zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCittc2dzdHIgIkltcG9zc2libGUgZGUgc3VwcHJpbWVyIGxlcyBjaGFuZ2VtZW50cyBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ2MSBidWlsdGluL3N0YXNoLmM6MTQ5NworbXNnaWQgImtlZXAgaW5kZXgiCittc2dzdHIgImNvbnNlcnZlciBsJ2luZGV4IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ2MyBidWlsdGluL3N0YXNoLmM6MTQ5OQorbXNnaWQgInN0YXNoIGluIHBhdGNoIG1vZGUiCittc2dzdHIgInJlbWlzZXIgdW5lIG1vZGUgcnVzdGluZSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjQgYnVpbHRpbi9zdGFzaC5jOjE1MDAKK21zZ2lkICJxdWlldCBtb2RlIgorbXNnc3RyICJtb2RlIHNpbGVuY2lldXgiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDY2IGJ1aWx0aW4vc3Rhc2guYzoxNTAyCittc2dpZCAiaW5jbHVkZSB1bnRyYWNrZWQgZmlsZXMgaW4gc3Rhc2giCittc2dzdHIgImluY2x1cmUgbGVzIGZpY2hpZXJzIG5vbiBzdWl2aXMgZGFucyBsYSByZW1pc2UiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDY4IGJ1aWx0aW4vc3Rhc2guYzoxNTA0Cittc2dpZCAiaW5jbHVkZSBpZ25vcmUgZmlsZXMiCittc2dzdHIgImluY2x1cmUgbGVzIGZpY2hpZXJzIGlnbm9yw6lzIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTU2NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZXhlYyAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2V4w6ljdXRlciAlcyIKKwogIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTgKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLXMgfCAtLXN0cmlwLWNvbW1lbnRzXSIKIG1zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1zIHwgLS1zdHJpcC1jb21tZW50c10iCkBAIC0xNzM2OCw1MCArMjA1ODAsNTAgQEAKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogbXNnc3RyICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzozNgorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzcKIG1zZ2lkICJza2lwIGFuZCByZW1vdmUgYWxsIGxpbmVzIHN0YXJ0aW5nIHdpdGggY29tbWVudCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKICJzYXV0ZXIgZXQgc3VwcHJpbWVyIHRvdXRlcyBsZXMgbGlnbmVzIGNvbW1lbsOnYW50IHBhciBsZSBjYXJhY3TDqHJlIGRlICIKICJjb21tZW50YWlyZSIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzkKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjQwCiBtc2dpZCAicHJlcGVuZCBjb21tZW50IGNoYXJhY3RlciBhbmQgc3BhY2UgdG8gZWFjaCBsaW5lIgogbXNnc3RyICJham91dGVyIGRldmFudCBjaGFxdWUgbGlnbmUgbGUgY2FyYWN0w6hyZSBkZSBjb21tZW50YWlyZSBldCB1biBlc3BhY2UiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkzOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGluZyBhIGZ1bGwgcmVmIG5hbWUsIGdvdCAlcyIKIG1zZ3N0ciAiTm9tIGRlIHLDqWbDqXJlbmNlIGNvbXBsZXQgYXR0ZW5kdSwgJXMgb2J0ZW51IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NAogbXNnaWQgInN1Ym1vZHVsZS0taGVscGVyIHByaW50LWRlZmF1bHQtcmVtb3RlIHRha2VzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAic3VibW9kdWxlLS1oZWxwZXIgIHByaW50LWRlZmF1bHQtcmVtb3RlIG4nYWNjZXB0ZSBhdWN1biBhcmd1bWVudCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdHJpcCBvbmUgY29tcG9uZW50IG9mZiB1cmwgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgdW4gY29tcG9zYW50IGRlIGwnVVJMICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODAKIG1zZ2lkICJhbHRlcm5hdGl2ZSBhbmNob3IgZm9yIHJlbGF0aXZlIHBhdGhzIgogbXNnc3RyICJhbmNyZSBhbHRlcm5hdGl2ZSBwb3VyIGxlcyBjaGVtaW5zIHJlbGF0aWZzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDEyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDE1CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IFstLXByZWZpeD08Y2hlbWluPl0gWzxjaGVtaW4+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ2OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjI2Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDcyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gdXJsIGZvdW5kIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIGluIC5naXRtb2R1bGVzIgogbXNnc3RyICJVUkwgbm9uIHRyb3V2w6llIHBvdXIgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICclcycgZGFucyAuZ2l0bW9kdWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJFbnRlcmluZyAnJXMnXG4iCiBtc2dzdHIgIkVudHLDqWUgZGFucyAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9jb21tYW5kIHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cyBmb3IgJXNcbiIKQEAgLTE3NDIwLDcgKzIwNjMyLDcgQEAKICJydW5fY29tbWFuZCBhIHJldG91cm7DqSB1biBzdGF0dXQgbm9uLW51bCBwb3VyICVzXG4iCiAiLiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU0NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicnVuX2NvbW1hbmQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIHdoaWxlIHJlY3Vyc2luZyBpbiB0aGUgbmVzdGVkICIKQEAgLTE3NDMxLDIwICsyMDY0MywyMCBAQAogIm1vZHVsZXMgaW5jbHVzIGRlICVzXG4iCiAiLiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NQogbXNnaWQgIlN1cHByZXNzIG91dHB1dCBvZiBlbnRlcmluZyBlYWNoIHN1Ym1vZHVsZSBjb21tYW5kIgogbXNnc3RyICIiCiAiU3VwcHJpbWVyIGxhIHNvcnRpZSBsb3JzIGRlIGwnZW50csOpZSBkYW5zIGNoYXF1ZSBjb21tYW5kZSBkZSBzb3VzLW1vZHVsZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA0OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1MwogbXNnaWQgIlJlY3Vyc2UgaW50byBuZXN0ZWQgc3VibW9kdWxlcyIKIG1zZ3N0ciAiUGFyY291cmlyIHLDqWN1cnNpdmVtZW50IGxlcyBzb3VzLW1vZHVsZXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjgKLW1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZm9yZWFjaCBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSA8Y29tbWFuZD4iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBmb3JlYWNoIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIDxjaGVtaW4+IgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU3MgorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBmb3JlYWNoIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIFstLV0gPGNvbW1hbmQ+IgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZm9yZWFjaCBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSBbLS1dIDxjb21tYW5kZT4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBsb29rIHVwIGNvbmZpZ3VyYXRpb24gJyVzJy4gQXNzdW1pbmcgdGhpcyByZXBvc2l0b3J5IGlzIGl0cyBvd24gIgpAQCAtMTc0NTMsNjAgKzIwNjY1LDYwIEBACiAiaW1wb3NzaWJsZSBkZSB0cm91dmVyIGxhIGNvbmZpZ3VyYXRpb24gJyVzJy4gQ2UgZMOpcMO0dCBlc3QgY29uc2lkw6lyw6kgY29tbWUgIgogInNvbiBwcm9wcmUgYW1vbnQgZCdhdXRvcml0w6kuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjYzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cmwgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIsOJY2hlYyBkJ2VucmVnaXN0cmVtZW50IGRlIGwnVVJMIHBvdXIgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgKCVzKSByZWdpc3RlcmVkIGZvciBwYXRoICclcydcbiIKIG1zZ3N0ciAiU291cy1tb2R1bGUgJyVzJyAoJXMpIGVucmVnaXN0csOpIHBvdXIgbGUgY2hlbWluICclcydcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY3NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBjb21tYW5kIHVwZGF0ZSBtb2RlIHN1Z2dlc3RlZCBmb3Igc3VibW9kdWxlICclcydcbiIKIG1zZ3N0ciAiIgogImF0dGVudGlvbsKgOiBub3VzIHZvdXMgc3VnZ8Opcm9ucyBkZSBzcMOpY2lmaWVyIHVuZSBjb21tYW5kZSBkZSBtb2RlIGRlIG1pc2Ugw6AgIgogImpvdXIgcG91ciBsZSBzb3VzLW1vZHVsZSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAiw4ljaGVjIGQnZW5yZWdpc3RyZW1lbnQgZHUgbW9kZSBkZSBtaXNlIMOgIGpvdXIgcG91ciBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgIgogIiclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MTAKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgZm9yIGluaXRpYWxpemluZyBhIHN1Ym1vZHVsZSIKIG1zZ3N0ciAiU3VwcHJpbWVyIGxhIHNvcnRpZSBsb3JzIGRlIGwnaW5pdGlhbGlzYXRpb24gZCd1biBzb3VzLW1vZHVsZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcxMQotbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cGF0aD5dIgotbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPGNoZW1pbj5dIgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcxNQorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8b3B0aW9ucz5dIFs8cGF0aD5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPG9wdGlvbnM+XSBbPGNoZW1pbj5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzgzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MDkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWJtb2R1bGUgbWFwcGluZyBmb3VuZCBpbiAuZ2l0bW9kdWxlcyBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAiUGFzIGRlIG1pc2UgZW4gY29ycmVzcG9uZGFuY2UgZHUgc291cy1tb2R1bGUgdHJvdXbDqSBkYW5zIC5naXRtb2R1bGVzIHBvdXIgbGUgIgogImNoZW1pbiAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODIyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgcmVmIGluc2lkZSB0aGUgc3VibW9kdWxlICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgcsOpc291ZHJlIEhFQUQgZGFucyBsZSBzb3VzLW1vZHVsZSAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODQ5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDE4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODU0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlICclcyciCiBtc2dzdHIgInLDqWN1cnNpb24gaW1wb3NzaWJsZSBkYW5zIGxlIHNvdXMtbW9kdWxlICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NzMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NzggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODkKIG1zZ2lkICJTdXBwcmVzcyBzdWJtb2R1bGUgc3RhdHVzIG91dHB1dCIKIG1zZ3N0ciAic3VwcHJpbWVyIGxhIHNvcnRpZSBkJ8OpdGF0IGR1IHNvdXMtbW9kdWxlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc5CiBtc2dpZCAiIgogIlVzZSBjb21taXQgc3RvcmVkIGluIHRoZSBpbmRleCBpbnN0ZWFkIG9mIHRoZSBvbmUgc3RvcmVkIGluIHRoZSBzdWJtb2R1bGUgIgogIkhFQUQiCkBAIC0xNzUxNCw0OCArMjA3MjYsNDggQEAKICJVdGlsaXNlciBsZSBjb21taXQgc3RvY2vDqSBkYW5zIGwnaW5kZXggYXUgbGlldSBkZSBjZWx1aSBzdG9ja8OpIGRhbnMgbGEgSEVBRCAiCiAiZHUgc291cy1tb2R1bGUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NzUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4ODAKIG1zZ2lkICJyZWN1cnNlIGludG8gbmVzdGVkIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInBhcmNvdXJpciByw6ljdXJzaXZlbWVudCBsZXMgc291cy1tb2R1bGVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODg1CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZSBzdGF0dXMgWy0tcXVpZXRdIFstLWNhY2hlZF0gWy0tcmVjdXJzaXZlXSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZSBzdGF0dXMgWy0tcXVpZXRdIFstLWNhY2hlZF0gWy0tcmVjdXJzaXZlXSBbPGNoZW1pbj4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA5CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPHBhdGg+IgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgPG5vbT4gPGNoZW1pbj4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJXMnXG4iCiBtc2dzdHIgIlN5bmNocm9uaXNhdGlvbiBkZSBsJ1VSTCBzb3VzLW1vZHVsZSBwb3VyICclcydcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICLDqWNoZWMgZCdlbnJlZ2lzdHJlbWVudCBkZSBsJ1VSTCBwb3VyIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTg4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlIGRlZmF1bHQgcmVtb3RlIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIGQnb2J0ZW50aW9uIGR1IGTDqXDDtHQgZGlzdGFudCBwYXIgZMOpZmF1dCBwb3VyIGxlIHNvdXMtbW9kdWxlICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB1cGRhdGUgcmVtb3RlIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIGRlIG1pc2Ugw6Agam91ciBkdSBkw6lww7R0IGRpc3RhbnQgcG91ciBsZSBzb3VzLW1vZHVsZSAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA0NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTEKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgb2Ygc3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIgogbXNnc3RyICIiCiAiU3VwcHJpbWVyIGxhIHNvcnRpZSBsb3JzIGRlIGxhIHN5bmNocm9uaXNhdGlvbiBkZSBsJ1VSTCBkJ3VuIHNvdXMtbW9kdWxlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTgKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgc3luYyBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSBbPHBhdGg+XSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHN5bmMgWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWzxjaGVtaW4+XSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICclcycgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeSAodXNlICdybSAtcmYnIGlmIHlvdSAiCkBAIC0xNzU2NSw3ICsyMDc3Nyw3IEBACiAiJ3JtIC1yZicgc2kgdm91cyB2b3VsZXogdnJhaW1lbnQgbGUgc3VwcHJpbWVyIGVuIGluY2x1YW50IHRvdXQgc29uICIKICJoaXN0b3JpcXVlKSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMTkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICclcycgY29udGFpbnMgbG9jYWwgbW9kaWZpY2F0aW9uczsgdXNlICctZicgdG8gZGlzY2FyZCAiCkBAIC0xNzU3NCw4NCArMjA3ODYsMTAwIEBACiAiTCdhcmJyZSBkZSB0cmF2YWlsIGR1IHNvdXMtbW9kdWxlICclcycgY29udGllbnQgZGVzIG1vZGlmaWNhdGlvbnMgbG9jYWxlcyA7ICIKICJ1dGlsaXNleiAnLWYnIHBvdXIgbGVzIGFubnVsZXIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTI3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDbGVhcmVkIGRpcmVjdG9yeSAnJXMnXG4iCiBtc2dzdHIgIlLDqXBlcnRvaXJlICclcycgbmV0dG95w6lcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJXMnXG4iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc3VwcHJpbWVyIGwnYXJicmUgZGUgdHJhdmFpbCBkdSBzb3VzLW1vZHVsZSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTM4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGVtcHR5IHN1Ym1vZHVsZSBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlIHZpZGUgZHUgc291cy1tb2R1bGUgJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTU0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyVzJyAoJXMpIHVucmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCiBtc2dzdHIgIlNvdXMtbW9kdWxlICclcycgKCVzKSBub24gZW5yZWdpc3Ryw6kgcG91ciBsZSBjaGVtaW4gJyVzJ1xuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE4MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExOTAKIG1zZ2lkICJSZW1vdmUgc3VibW9kdWxlIHdvcmtpbmcgdHJlZXMgZXZlbiBpZiB0aGV5IGNvbnRhaW4gbG9jYWwgY2hhbmdlcyIKIG1zZ3N0ciAiIgogIsOJbGltaW5lciBsZXMgYXJicmVzIGRlIHRyYXZhaWwgZGVzIHNvdXMtbW9kdWxlcyBtw6ptZSBzJ2lscyBjb250aWVubmVudCBkZXMgIgogIm1vZGlmaWNhdGlvbnMgbG9jYWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTkxCiBtc2dpZCAiVW5yZWdpc3RlciBhbGwgc3VibW9kdWxlcyIKIG1zZ3N0ciAiRMOpc2VucmVnaXN0cmVyIHRvdXMgbGVzIHNvdXMtbW9kdWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTk2CiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUgZGVpbml0IFstLXF1aWV0XSBbLWYgfCAtLWZvcmNlXSBbLS1hbGwgfCBbLS1dIFs8cGF0aD4uLi5dXSIKIG1zZ3N0ciAiIgogImdpdCBzdWJtb2R1bGUgZGVpbml0IFstLXF1aWV0XSBbLWYgfCAtLWZvcmNlXSBbLS1hbGwgfCBbLS1dIFs8Y2hlbWluPi4uLl1dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTIwMworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyMTAKIG1zZ2lkICJVc2UgJy0tYWxsJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAiVXRpbGlzZXogJy0tYWxsJyBzaSB2b3VzIHZvdWxleiB2cmFpbWVudCByw6lpbml0aWFsaXNlciB0b3VzIGxlcyBzb3VzLW1vZHVsZXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjk3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzAwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTI3NQorbXNnaWQgIiIKKyJBbiBhbHRlcm5hdGUgY29tcHV0ZWQgZnJvbSBhIHN1cGVycHJvamVjdCdzIGFsdGVybmF0ZSBpcyBpbnZhbGlkLlxuIgorIlRvIGFsbG93IEdpdCB0byBjbG9uZSB3aXRob3V0IGFuIGFsdGVybmF0ZSBpbiBzdWNoIGEgY2FzZSwgc2V0XG4iCisic3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgdG8gJ2luZm8nIG9yLCBlcXVpdmFsZW50bHksIGNsb25lIHdpdGhcbiIKKyInLS1yZWZlcmVuY2UtaWYtYWJsZScgaW5zdGVhZCBvZiAnLS1yZWZlcmVuY2UnLiIKK21zZ3N0ciAiIgorIlVuZSBhbHRlcm5hdGl2ZSBjYWxjdWzDqWUgZGVwdWlzIGwnYWx0ZXJuYXRpdmUgZHUgc3VwZXItcHJvamV0IGVzdCBpbnZhbGlkZS5cbiIKKyJQb3VyIHBlcm1ldHRyZSDDoCBHaXQgZGUgY2xvbmVyIHNhbnMgYWx0ZXJuYXRpdmUgZGFucyB1biB0ZWwgY2FzLCByw6lnbGV6XG4iCisic3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgw6AgJ2luZm8nLCBvdSBkZSBtYW5pw6hyZSDDqXF1aXZhbGVudGUsXG4iCisiY2xvbmV6IGF2ZWMgJy0tcmVmZXJlbmNlLWlmLWFibGUnIGF1IGxpZXUgZGUgJy0tcmVmZXJlbmNlJy4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzE0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGNhbm5vdCBhZGQgYWx0ZXJuYXRlOiAlcyIKIG1zZ3N0ciAibGUgc291cy1tb2R1bGUgJyVzJyBuZSBwZXV0IHBhcyBham91dGVyIGQnYWx0ZXJuYXRpdmXCoDogJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzM2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSBpcyBub3QgcmVjb2duaXplZCIKIG1zZ3N0ciAiIgogIkxhIHZhbGV1ciAnJXMnIHBvdXIgc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgbidlc3QgcGFzIHJlY29ubnVlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM0MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIGlzIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICJMYSB2YWxldXIgJyVzJyBwb3VyIHN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbiBuJ2VzdCBwYXMgcmVjb25udWUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzY2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4MwogbXNnaWQgIndoZXJlIHRoZSBuZXcgc3VibW9kdWxlIHdpbGwgYmUgY2xvbmVkIHRvIgogbXNnc3RyICJlbXBsYWNlbWVudCBvw7kgbGUgc291cy1tb2R1bGUgc2VyYSBjbG9uw6kiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzY5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4NgogbXNnaWQgIm5hbWUgb2YgdGhlIG5ldyBzdWJtb2R1bGUiCiBtc2dzdHIgIm5vbSBkdSBub3V2ZWF1IHNvdXMtbW9kdWxlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODkKIG1zZ2lkICJ1cmwgd2hlcmUgdG8gY2xvbmUgdGhlIHN1Ym1vZHVsZSBmcm9tIgogbXNnc3RyICJVUkwgZGVwdWlzIGxhcXVlbGxlIGNsb25lciBsZSBzb3VzLW1vZHVsZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzk3CiBtc2dpZCAiZGVwdGggZm9yIHNoYWxsb3cgY2xvbmVzIgogbXNnc3RyICJwcm9mb25kZXVyIGRlIGwnaGlzdG9yaXF1ZSBkZXMgY2xvbmVzIHN1cGVyZmljaWVscyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDAwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODk3CiBtc2dpZCAiZm9yY2UgY2xvbmluZyBwcm9ncmVzcyIKIG1zZ3N0ciAiZm9yY2VyIGwnYWZmaWNoYWdlIGRlIGxhIHByb2dyZXNzaW9uIGR1IGNsb25hZ2UiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQwMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5OQorbXNnaWQgImRpc2FsbG93IGNsb25pbmcgaW50byBub24tZW1wdHkgZGlyZWN0b3J5IgorbXNnc3RyICJpbnRlcmRpcmUgZGUgY2xvbmVyIGRhbnMgdW4gcsOpcGVydG9pcmUgbm9uLXZpZGUiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDA3CiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKICI8cmVwb3NpdG9yeT5dIFstLW5hbWUgPG5hbWU+XSBbLS1kZXB0aCA8ZGVwdGg+XSAtLXVybCA8dXJsPiAtLXBhdGggPHBhdGg+IgpAQCAtMTc2NTksOTQgKzIwODg3LDEwNCBAQAogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PGNoZW1pbj5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgIgogIjxkw6lww7R0Pl0gWy0tbmFtZSA8bm9tPl0gWy0tZGVwdGggPHByb2ZvbmRldXI+XSAgLS11cmwgPHVybD4gLS1wYXRoIDxjaGVtaW4+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQxOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmdXNpbmcgdG8gY3JlYXRlL3VzZSAnJXMnIGluIGFub3RoZXIgc3VibW9kdWxlJ3MgZ2l0IGRpciIKK21zZ3N0ciAicmVmdXMgZGUgY3LDqWVyL3V0aWxpc2VyICclcycgZGFucyB1biByw6lwZXJ0b2lyZSBnaXQgZCd1biBhdXRyZSBzb3VzLW1vZHVsZSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvbmUgb2YgJyVzJyBpbnRvIHN1Ym1vZHVsZSBwYXRoICclcycgZmFpbGVkIgogbXNnc3RyICJMZSBjbG9uYWdlIGRlICclcycgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyVzJyBhIMOpY2hvdcOpIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQzMworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IG5vdCBlbXB0eTogJyVzJyIKK21zZ3N0ciAibGUgcsOpcGVydG9pcmUgbidlc3QgcGFzIHZpZGUgOiAnJXMnIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZ2V0IHN1Ym1vZHVsZSBkaXJlY3RvcnkgZm9yICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlIGRlIHNvdXMtbW9kdWxlIHBvdXIgJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdXBkYXRlIG1vZGUgJyVzJyBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAibW9kZSBkZSBtaXNlIMOgIGpvdXIgJyVzJyBpbnZhbGlkZSBwb3VyIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ3MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB1cGRhdGUgbW9kZSAnJXMnIGNvbmZpZ3VyZWQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIiIKICJNb2RlIGRlIG1pc2Ugw6Agam91ciAnJXMnaW52YWxpZGUgY29uZmlndXLDqSBwb3VyIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTU2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE1OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyVzJyBub3QgaW5pdGlhbGl6ZWQiCiBtc2dzdHIgIkxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJXMnIG4nZXN0IHBhcyBpbml0aWFsaXPDqSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE1NzAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTk4CiBtc2dpZCAiTWF5YmUgeW91IHdhbnQgdG8gdXNlICd1cGRhdGUgLS1pbml0Jz8iCiBtc2dzdHIgIlZvdXMgdm91ZHJpZXogc8O7cmVtZW50IHV0aWxpc2VyICd1cGRhdGUgLS1pbml0J8KgPyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE2MDAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHVubWVyZ2VkIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAiU291cy1tb2R1bGUgbm9uIGZ1c2lvbm7DqSAlcyBub24gdHJhaXTDqSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE2MjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJTb3VzLW1vZHVsZSAnJXMnIG5vbiB0cmFpdMOpIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTc3MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycuIFJldHJ5IHNjaGVkdWxlZCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBjbG9uZXIgJyVzJy4gUsOpZXNzYWkgcHLDqXZ1IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTc4NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycgYSBzZWNvbmQgdGltZSwgYWJvcnRpbmciCiBtc2dzdHIgIkltcG9zc2libGUgZGUgY2xvbmVyICclcycgcG91ciBsYSBzZWNvbmRlIGZvaXMsIGFiYW5kb24iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODQ3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDg5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg3NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjEyMAogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICJjaGVtaW4gZGFucyBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NzkKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSwgYWNyb3NzIG5lc3RlZCBzdWJtb2R1bGUgYm91bmRhcmllcyIKIG1zZ3N0ciAiIgogImNoZW1pbiBkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwsIHRyYXZlcnNhbnQgbGVzIGZyb250acOocmVzIGRlIHNvdXMtbW9kdWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODgzCiBtc2dpZCAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Igbm9uZSIKIG1zZ3N0ciAidmFsZXVycyBwb3NzaWJsZXPCoDogcmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Ugbm9uZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NjAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODg5CiBtc2dpZCAiQ3JlYXRlIGEgc2hhbGxvdyBjbG9uZSB0cnVuY2F0ZWQgdG8gdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgcmV2aXNpb25zIgogbXNnc3RyICJDcsOpZXIgdW4gY2xvbmUgc3VwZXJmaWNpZWwgdHJvbnF1w6kgYXUgbm9tYnJlIGRlIHLDqXZpc2lvbnMgc3DDqWNpZmnDqSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NjMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODkyCiBtc2dpZCAicGFyYWxsZWwgam9icyIKIG1zZ3N0ciAiam9icyBwYXJhbGzDqGxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NjUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODk0CiBtc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgogbXNnc3RyICJzcMOpY2lmaWUgc2kgbGUgY2xvbmFnZSBpbml0aWFsIGRvaXQgw6p0cmUgYXVzc2kgc3VwZXJmaWNpZWwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODY2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5NQogbXNnaWQgImRvbid0IHByaW50IGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgIm5lIHBhcyBhZmZpY2hlciBsYSBwcm9ncmVzc2lvbiBkdSBjbG9uYWdlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg3MwotbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxjaGVtaW4+XSBbPGNoZW1pbj4uLi5dIgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MDQKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlLWNsb25lIFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlLWNsb25lIFstLXByZWZpeD08Y2hlbWluPl0gWzxjaGVtaW4+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTE3CiBtc2dpZCAiYmFkIHZhbHVlIGZvciB1cGRhdGUgcGFyYW1ldGVyIgogbXNnc3RyICJ2YWxldXIgaW52YWxpZGUgcG91ciBsYSBtaXNlIMOgIGpvdXIgZHUgcGFyYW3DqHRyZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgKCVzKSBicmFuY2ggY29uZmlndXJlZCB0byBpbmhlcml0IGJyYW5jaCBmcm9tIHN1cGVycHJvamVjdCwgYnV0ICIKQEAgLTE3NzU1LDQzICsyMDk5Myw1MSBAQAogImxhIGJyYW5jaGUgZHUgc291cy1tb2R1bGUgJXMgZXN0IGNvbmZpZ3Vyw6llIHBvdXIgaMOpcml0ZXIgZGUgbGEgYnJhbmNoZSBkdSAiCiAic3VwZXJwcm9qZXQsIG1haXMgbGUgc3VwZXJwcm9qZXQgbidlc3Qgc3VyIGF1Y3VuZSBicmFuY2hlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjA1NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBhIHJlcG9zaXRvcnkgaGFuZGxlIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSB0cm91dmVyIHVuZSBwb2lnbsOpZSBkZSBkw6lww7R0IHBvdXIgbGUgc291cy1tb2R1bGUgJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwOTAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTIxCiBtc2dpZCAicmVjdXJzZSBpbnRvIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInBhcmNvdXJpciByw6ljdXJzaXZlbWVudCBsZXMgc291cy1tb2R1bGVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjA5NgotbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBlbWJlZC1naXQtZGlyIFs8cGF0aD4uLi5dIgotbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZW1iZWQtZ2l0LWRpciBbPGNoZW1pbj4uLi5dIgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxMjcKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgYWJzb3JiLWdpdC1kaXJzIFs8b3B0aW9ucz5dIFs8cGF0aD4uLi5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZW1iZWQtZ2l0LWRpciBbPG9wdGlvbnM+XSBbPGNoZW1pbj4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE1MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxODMKIG1zZ2lkICJjaGVjayBpZiBpdCBpcyBzYWZlIHRvIHdyaXRlIHRvIHRoZSAuZ2l0bW9kdWxlcyBmaWxlIgogbXNnc3RyICJ2w6lyaWZpZXIgc2kgw6ljcmlyZSBkYW5zIGxlIGZpY2hpZXIgLmdpdG1vZHVsZXMgZXN0IHN1ciIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNTcKLW1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIG5hbWUgW3ZhbHVlXSIKLW1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyBuYW1lIFt2YWxldXJdIgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxODYKK21zZ2lkICJ1bnNldCB0aGUgY29uZmlnIGluIHRoZSAuZ2l0bW9kdWxlcyBmaWxlIgorbXNnc3RyICJkw6lzYWN0aXZlciBsYSBjb25maWd1cmF0aW9uIGRhbnMgbGUgZmljaGllciAuZ2l0bW9kdWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTkxCittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyA8bmFtZT4gWzx2YWx1ZT5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIG5hbWUgWzx2YWxldXI+XSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxOTIKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tdW5zZXQgPG5hbWU+IgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tdW5zZXQgPG5vbT4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTkzCiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLWNoZWNrLXdyaXRlYWJsZSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLWNoZWNrLXdyaXRlYWJsZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNzUgZ2l0LXN1Ym1vZHVsZS5zaDoxNjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjEyIGdpdC1zdWJtb2R1bGUuc2g6MTczCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJwbGVhc2UgbWFrZSBzdXJlIHRoYXQgdGhlIC5naXRtb2R1bGVzIGZpbGUgaXMgaW4gdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgotInZldWlsbGV6IHZvdXMgYXNzdXJlciBxdWUgbGUgZmljaGllciAuZ2l0bW9kdWxlcyBkYW5zIGwnYXJicmUgZGUgdHJhdmFpbCIKKyJ2ZXVpbGxleiB2b3VzIGFzc3VyZXIgcXVlIGxlIGZpY2hpZXIgLmdpdG1vZHVsZXMgZXN0IGRhbnMgbCdhcmJyZSBkZSB0cmF2YWlsIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjIyNQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyNjIgZ2l0LmM6NDMzIGdpdC5jOjY4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkb2Vzbid0IHN1cHBvcnQgLS1zdXBlci1wcmVmaXgiCiBtc2dzdHIgIiVzIG5lIGfDqHJlIHBhcyAtLXN1cGVyLXByZWZpeCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyMzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgc3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCIKIG1zZ3N0ciAiJyVzJyBuJ2VzdCBwYXMgdW5lIHNvdXMtY29tbWFuZGUgdmFsaWRlIGRlIHN1Ym1vZHVsZS0taGVscGVyIgpAQCAtMTc4MjcsMTcgKzIxMDczLDE3IEBACiAKICM6IGJ1aWx0aW4vdGFnLmM6MjUKIG1zZ2lkICIiCi0iZ2l0IHRhZyBbLWEgfCAtcyB8IC11IDxrZXktaWQ+XSBbLWZdIFstbSA8bXNnPiB8IC1GIDxmaWxlPl0gPHRhZ25hbWU+ICIKLSJbPGhlYWQ+XSIKKyJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGtleS1pZD5dIFstZl0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+XVxuIgorIlx0XHQ8dGFnbmFtZT4gWzxoZWFkPl0iCiBtc2dzdHIgIiIKLSJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGlkLWNsw6k+XSBbLWZdIFstbSA8bWVzc2FnZT4gfCAtRiA8ZmlsZT5dIDxub20tIgotIsOpdGlxdWV0dGU+IFs8aGVhZD5dIgorImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8aWQtY2zDqT5dIFstZl0gWy1tIDxtZXNzYWdlPiB8IC1GIDxmaWNoaWVyPl1cbiIKKyJcdFx0PG5vbS3DqXRpcXVldHRlPiBbPGhlYWQ+XSIKIAotIzogYnVpbHRpbi90YWcuYzoyNgorIzogYnVpbHRpbi90YWcuYzoyNwogbXNnaWQgImdpdCB0YWcgLWQgPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC1kIDxub23DqXRpcXVldHRlPi4uLiIKIAotIzogYnVpbHRpbi90YWcuYzoyNworIzogYnVpbHRpbi90YWcuYzoyOAogbXNnaWQgIiIKICJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1uby1jb250YWlucyA8Y29tbWl0Pl0gWy0tIgogInBvaW50cy1hdCA8b2JqZWN0Pl1cbiIKQEAgLTE3ODQ3LDIxICsyMTA5MywyMSBAQAogInBvaW50cy1hdCA8b2JqZXQ+XVxuIgogIlx0XHRbLS1mb3JtYXQ9PGZvcm1hdD5dIFstLVtuby1dbWVyZ2VkIFs8Y29tbWl0Pl1dIFs8bW90aWY+Li4uXSIKIAotIzogYnVpbHRpbi90YWcuYzoyOQorIzogYnVpbHRpbi90YWcuYzozMAogbXNnaWQgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnbmFtZT4uLi4iCiBtc2dzdHIgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTxmb3JtYXQ+XSA8bm9tw6l0aXF1ZXR0ZT4uLi4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6ODcKKyM6IGJ1aWx0aW4vdGFnLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAiw6l0aXF1ZXR0ZSAnJXMnIG5vbiB0cm91dsOpZS4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTAzCisjOiBidWlsdGluL3RhZy5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgIsOJdGlxdWV0dGUgJyVzJyBzdXBwcmltw6llIChlbGxlIMOpdGFpdCBzdXIgJXMpXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTMzCisjOiBidWlsdGluL3RhZy5jOjEzNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xNzg3NCw3ICsyMTEyMCw3IEBACiAiICAlc1xuIgogIkxlcyBsaWduZXMgY29tbWVuw6dhbnQgcGFyICclYycgc2Vyb250IGlnbm9yw6llcy5cbiIKIAotIzogYnVpbHRpbi90YWcuYzoxMzcKKyM6IGJ1aWx0aW4vdGFnLmM6MTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTE3ODg5LDM1OSArMjExMzUsMzc4IEBACiAiTGVzIGxpZ25lcyBjb21tZW7Dp2FudCBwYXIgJyVjJyBzZXJvbnQgZ2FyZMOpZXMgOyB2b3VzIHBvdXZleiBsZXMgcmV0aXJlciB2b3VzLSIKICJtw6ptZSBzaSB2b3VzIGxlIHNvdWhhaXRlei5cbiIKIAotIzogYnVpbHRpbi90YWcuYzoxOTEKKyM6IGJ1aWx0aW4vdGFnLmM6MTk4CiBtc2dpZCAidW5hYmxlIHRvIHNpZ24gdGhlIHRhZyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzaWduZXIgbCfDqXRpcXVldHRlIgogCi0jOiBidWlsdGluL3RhZy5jOjE5MworIzogYnVpbHRpbi90YWcuYzoyMDAKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGFnIGZpbGUiCiBtc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlIGZpY2hpZXIgZCfDqXRpcXVldHRlcyIKIAotIzogYnVpbHRpbi90YWcuYzoyMTgKKyM6IGJ1aWx0aW4vdGFnLmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBjcmVhdGVkIGEgbmVzdGVkIHRhZy4gVGhlIG9iamVjdCByZWZlcnJlZCB0byBieSB5b3VyIG5ldyB0YWcgaXNcbiIKKyJhbHJlYWR5IGEgdGFnLiBJZiB5b3UgbWVhbnQgdG8gdGFnIHRoZSBvYmplY3QgdGhhdCBpdCBwb2ludHMgdG8sIHVzZTpcbiIKKyJcbiIKKyJcdGdpdCB0YWcgLWYgJXMgJXNee30iCittc2dzdHIgIiIKKyJWb3VzIGF2ZXogY3LDqcOpIHVuZSDDqXRpcXVldHRlIG5pY2jDqWUuIEwnb2JqZXQgcG9pbnTDqSBwYXIgdm90cmUgbm91dmVsbGUgIgorIsOpdGlxdWV0dGVcbiIKKyJlc3QgZMOpasOgIHVuZSDDqXRpcXVldHRlLiBTaSB2b3VzIHZvdWxpZXogw6l0aXF1ZXRlciBsJ29iamV0IHBvaW50w6ksICIKKyJ1dGlsaXNlesKgOlxuIgorIlxuIgorIlx0Z2l0IHRhZyAtZiAlcyAlc157fSIKKworIzogYnVpbHRpbi90YWcuYzoyMzIKIG1zZ2lkICJiYWQgb2JqZWN0IHR5cGUuIgogbXNnc3RyICJtYXV2YWlzIHR5cGUgZCdvYmpldC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjY3CisjOiBidWlsdGluL3RhZy5jOjI4NAogbXNnaWQgIm5vIHRhZyBtZXNzYWdlPyIKIG1zZ3N0ciAicGFzIGRlIG1lc3NhZ2UgcG91ciBsJ8OpdGlxdWV0dGUgPyIKIAotIzogYnVpbHRpbi90YWcuYzoyNzQKKyM6IGJ1aWx0aW4vdGFnLmM6MjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSB0YWcgbWVzc2FnZSBoYXMgYmVlbiBsZWZ0IGluICVzXG4iCiBtc2dzdHIgIkxlIG1lc3NhZ2UgcG91ciBsJ8OpdGlxdWV0dGUgYSDDqXTDqSBsYWlzc8OpIGRhbnMgJXNcbiIKIAotIzogYnVpbHRpbi90YWcuYzozODUKKyM6IGJ1aWx0aW4vdGFnLmM6NDAyCiBtc2dpZCAibGlzdCB0YWcgbmFtZXMiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBub21zIGRlcyDDqXRpcXVldHRlcyIKIAotIzogYnVpbHRpbi90YWcuYzozODcKKyM6IGJ1aWx0aW4vdGFnLmM6NDA0CiBtc2dpZCAicHJpbnQgPG4+IGxpbmVzIG9mIGVhY2ggdGFnIG1lc3NhZ2UiCiBtc2dzdHIgImFmZmljaGUgPG4+IGxpZ25lcyBkZSBjaGFxdWUgbWVzc2FnZSBkJ8OpdGlxdWV0dGUiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg5CisjOiBidWlsdGluL3RhZy5jOjQwNgogbXNnaWQgImRlbGV0ZSB0YWdzIgogbXNnc3RyICJzdXBwcmltZXIgZGVzIMOpdGlxdWV0dGVzIgogCi0jOiBidWlsdGluL3RhZy5jOjM5MAorIzogYnVpbHRpbi90YWcuYzo0MDcKIG1zZ2lkICJ2ZXJpZnkgdGFncyIKIG1zZ3N0ciAidsOpcmlmaWVyIGRlcyDDqXRpcXVldHRlcyIKIAotIzogYnVpbHRpbi90YWcuYzozOTIKKyM6IGJ1aWx0aW4vdGFnLmM6NDA5CiBtc2dpZCAiVGFnIGNyZWF0aW9uIG9wdGlvbnMiCiBtc2dzdHIgIk9wdGlvbnMgZGUgY3LDqWF0aW9uIGRlIGwnw6l0aXF1ZXR0ZSIKIAotIzogYnVpbHRpbi90YWcuYzozOTQKKyM6IGJ1aWx0aW4vdGFnLmM6NDExCiBtc2dpZCAiYW5ub3RhdGVkIHRhZywgbmVlZHMgYSBtZXNzYWdlIgogbXNnc3RyICLDqXRpcXVldHRlIGFubm90w6llLCBuw6ljZXNzaXRlIHVuIG1lc3NhZ2UiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzk2CisjOiBidWlsdGluL3RhZy5jOjQxMwogbXNnaWQgInRhZyBtZXNzYWdlIgogbXNnc3RyICJtZXNzYWdlIHBvdXIgbCfDqXRpcXVldHRlIgogCi0jOiBidWlsdGluL3RhZy5jOjM5OAorIzogYnVpbHRpbi90YWcuYzo0MTUKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIHRhZyBtZXNzYWdlIgogbXNnc3RyICJmb3JjZXIgbCfDqWRpdGlvbiBkdSBtZXNzYWdlIGQnw6l0aXF1ZXRhZ2UiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzk5CisjOiBidWlsdGluL3RhZy5jOjQxNgogbXNnaWQgImFubm90YXRlZCBhbmQgR1BHLXNpZ25lZCB0YWciCiBtc2dzdHIgIsOpdGlxdWV0dGUgYW5ub3TDqWUgZXQgc2lnbsOpZSBhdmVjIEdQRyIKIAotIzogYnVpbHRpbi90YWcuYzo0MDMKKyM6IGJ1aWx0aW4vdGFnLmM6NDE5CiBtc2dpZCAidXNlIGFub3RoZXIga2V5IHRvIHNpZ24gdGhlIHRhZyIKIG1zZ3N0ciAidXRpbGlzZXIgdW5lIGF1dHJlIGNsw6kgcG91ciBzaWduZXIgbCfDqXRpcXVldHRlIgogCi0jOiBidWlsdGluL3RhZy5jOjQwNAorIzogYnVpbHRpbi90YWcuYzo0MjAKIG1zZ2lkICJyZXBsYWNlIHRoZSB0YWcgaWYgZXhpc3RzIgogbXNnc3RyICJyZW1wbGFjZXIgbCfDqXRpcXVldHRlIHNpIGVsbGUgZXhpc3RlIgogCi0jOiBidWlsdGluL3RhZy5jOjQwNSBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjkKKyM6IGJ1aWx0aW4vdGFnLmM6NDIxIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OQogbXNnaWQgImNyZWF0ZSBhIHJlZmxvZyIKIG1zZ3N0ciAiY3LDqWVyIHVuIHJlZmxvZyIKIAotIzogYnVpbHRpbi90YWcuYzo0MDcKKyM6IGJ1aWx0aW4vdGFnLmM6NDIzCiBtc2dpZCAiVGFnIGxpc3Rpbmcgb3B0aW9ucyIKIG1zZ3N0ciAiT3B0aW9ucyBkJ2FmZmljaGFnZSBkZXMgw6l0aXF1ZXR0ZXMiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA4CisjOiBidWlsdGluL3RhZy5jOjQyNAogbXNnaWQgInNob3cgdGFnIGxpc3QgaW4gY29sdW1ucyIKIG1zZ3N0ciAiYWZmaWNoZXIgbGEgbGlzdGUgZGVzIMOpdGlxdWV0dGVzIHNvdXMgZm9ybWUgZGUgY29sb25uZXMiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA5IGJ1aWx0aW4vdGFnLmM6NDExCisjOiBidWlsdGluL3RhZy5jOjQyNSBidWlsdGluL3RhZy5jOjQyNwogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyDDqXRpcXVldHRlcyBxdWkgY29udGllbm5lbnQgbGEgdmFsaWRhdGlvbiIKIAotIzogYnVpbHRpbi90YWcuYzo0MTAgYnVpbHRpbi90YWcuYzo0MTIKKyM6IGJ1aWx0aW4vdGFnLmM6NDI2IGJ1aWx0aW4vdGFnLmM6NDI4CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIMOpdGlxdWV0dGVzIHF1aSBuZSBjb250aWVubmVudCBwYXMgbGEgdmFsaWRhdGlvbiIKIAotIzogYnVpbHRpbi90YWcuYzo0MTMKKyM6IGJ1aWx0aW4vdGFnLmM6NDI5CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyDDqXRpcXVldHRlcyBxdWkgc29udCBmdXNpb25uw6llcyIKIAotIzogYnVpbHRpbi90YWcuYzo0MTQKKyM6IGJ1aWx0aW4vdGFnLmM6NDMwCiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgImFmZmljaGVyIHNldWxlbWVudCBsZXMgw6l0aXF1ZXR0ZXMgcXVpIG5lIHNvbnQgcGFzIGZ1c2lvbm7DqWVzIgogCi0jOiBidWlsdGluL3RhZy5jOjQxOQorIzogYnVpbHRpbi90YWcuYzo0MzQKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAiYWZmaWNoZXIgc2V1bGVtZW50IGxlcyDDqXRpcXVldHRlcyBkZSBsJ29iamV0IgogCi0jOiBidWlsdGluL3RhZy5jOjQ2MworIzogYnVpbHRpbi90YWcuYzo0ODIKIG1zZ2lkICItLWNvbHVtbiBhbmQgLW4gYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4gZXQgLW4gc29udCBpbmNvbXBhdGlibGVzIgogCi0jOiBidWlsdGluL3RhZy5jOjQ4NQorIzogYnVpbHRpbi90YWcuYzo1MDQKIG1zZ2lkICItbiBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKIG1zZ3N0ciAibCdvcHRpb24gLW4gZXN0IGF1dG9yaXPDqWUgc2V1bGVtZW50IGVuIG1vZGUgZGUgbGlzdGUiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDg3CisjOiBidWlsdGluL3RhZy5jOjUwNgogbXNnaWQgIi0tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgImwnb3B0aW9uIC0tY29udGFpbnMgZXN0IGF1dG9yaXPDqWUgc2V1bGVtZW50IGVuIG1vZGUgZGUgbGlzdGUiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDg5CisjOiBidWlsdGluL3RhZy5jOjUwOAogbXNnaWQgIi0tbm8tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgImwnb3B0aW9uIC0tY29udGFpbnMgZXN0IGF1dG9yaXPDqWUgc2V1bGVtZW50IGVuIG1vZGUgbGlzdGUiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDkxCisjOiBidWlsdGluL3RhZy5jOjUxMAogbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICJsJ29wdGlvbiAtLXBvaW50cy1hdCBlc3QgYXV0b3Jpc8OpZSBzZXVsZW1lbnQgZW4gbW9kZSBsaXN0ZSIKIAotIzogYnVpbHRpbi90YWcuYzo0OTMKKyM6IGJ1aWx0aW4vdGFnLmM6NTEyCiBtc2dpZCAiLS1tZXJnZWQgYW5kIC0tbm8tbWVyZ2VkIG9wdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgIiIKICJsZXMgb3B0aW9ucyAtLW1lcmdlZCBldCAtLW5vLW1lcmdlZCBuZSBzb250IGF1dG9yaXPDqWVzIHF1J2VuIG1vZGUgbGlzdGUiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTA0CisjOiBidWlsdGluL3RhZy5jOjUyMwogbXNnaWQgIm9ubHkgb25lIC1GIG9yIC1tIG9wdGlvbiBpcyBhbGxvd2VkLiIKIG1zZ3N0ciAidW5lIHNldWxlIG9wdGlvbiAtRiBvdSAtbSBlc3QgYXV0b3Jpc8OpZS4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTIzCisjOiBidWlsdGluL3RhZy5jOjU0MgogbXNnaWQgInRvbyBtYW55IHBhcmFtcyIKIG1zZ3N0ciAidHJvcCBkZSBwYXJhbcOodHJlcyIKIAotIzogYnVpbHRpbi90YWcuYzo1MjkKKyM6IGJ1aWx0aW4vdGFnLmM6NTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGFnIG5hbWUuIgogbXNnc3RyICInJXMnIG4nZXN0IHBhcyB1biBub20gZCfDqXRpcXVldHRlIHZhbGlkZS4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTM0CisjOiBidWlsdGluL3RhZy5jOjU1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAibCfDqXRpcXVldHRlICclcycgZXhpc3RlIGTDqWrDoCIKIAotIzogYnVpbHRpbi90YWcuYzo1NjUKKyM6IGJ1aWx0aW4vdGFnLmM6NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAiw4l0aXF1ZXR0ZSAnJXMnIG1pc2Ugw6Agam91ciAoZWxsZSDDqXRhaXQgc3VyICVzKVxuIgogCi0jOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTAwCisjOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTAxCiBtc2dpZCAiVW5wYWNraW5nIG9iamVjdHMiCiBtc2dzdHIgIkTDqXBhcXVldGFnZSBkZXMgb2JqZXRzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjgyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICLDqWNoZWMgZGUgbGEgY3LDqWF0aW9uIGR1IHLDqXBlcnRvaXJlICVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGZpbGUgJXMiCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBjcsOpYXRpb24gZHUgZmljaGllciAlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZmlsZSAlcyIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIHN1cHByZXNzaW9uIGR1IGZpY2hpZXIgJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNSBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAiw6ljaGVjIGRlIGxhIHN1cHByZXNzaW9uIGR1IHLDqXBlcnRvaXJlICVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEzOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGVzdGluZyBtdGltZSBpbiAnJXMnICIKIG1zZ3N0ciAiVGVzdCBkdSBtdGltZSBkYW5zICclcycgIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNTQKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBhZGRpbmcgYSBuZXcgZmlsZSIKIG1zZ3N0ciAiIgogImwnaW5mb3JtYXRpb24gZGUgc3RhdCBkdSByw6lwZXJ0b2lyZSBuZSBjaGFuZ2UgcGFzIGFwcsOocyBham91dCBkJ3VuIGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTY1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE2NwogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGFkZGluZyBhIG5ldyBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKICJsJ2luZm9ybWF0aW9uIGRlIHN0YXQgZHUgcsOpcGVydG9pcmUgbmUgY2hhbmdlIHBhcyBhcHLDqHMgYWpvdXQgZCd1biByw6lwZXJ0b2lyZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTgwCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBjaGFuZ2VzIGFmdGVyIHVwZGF0aW5nIGEgZmlsZSIKIG1zZ3N0ciAiIgogImwnaW5mb3JtYXRpb24gZGUgc3RhdCBkdSByw6lwZXJ0b2lyZSBjaGFuZ2UgYXByw6hzIG1pc2Ugw6Agam91ciBkJ3VuIGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTg5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE5MQogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciBhZGRpbmcgYSBmaWxlIGluc2lkZSBzdWJkaXJlY3RvcnkiCiBtc2dzdHIgIiIKICJsJ2luZm9ybWF0aW9uIGRlIHN0YXQgZHUgcsOpcGVydG9pcmUgY2hhbmdlIGFwcsOocyBsJ2Fqb3V0IGQndW4gZmljaGllciBkYW5zICIKICJ1biBzb3VzLXLDqXBlcnRvaXJlIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIwMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMDIKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBkZWxldGluZyBhIGZpbGUiCiBtc2dzdHIgIiIKICJsJ2luZm9ybWF0aW9uIGRlIHN0YXQgZHUgcsOpcGVydG9pcmUgbmUgY2hhbmdlIHBhcyBhcHLDqHMgbGEgc3VwcHJlc3Npb24gZCd1biAiCiAiZmljaGllcjwiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjEzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxNQogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGRlbGV0aW5nIGEgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAibCdpbmZvcm1hdGlvbiBkZSBzdGF0IGR1IHLDqXBlcnRvaXJlIG5lIGNoYW5nZSBwYXMgYXByw6hzIGxhIHN1cHByZXNzaW9uIGQndW4gIgogInLDqXBlcnRvaXJlIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIyMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMjIKIG1zZ2lkICIgT0siCiBtc2dzdHIgIiBPSyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1ODgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NTkxCiBtc2dpZCAiZ2l0IHVwZGF0ZS1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWNoaWVyPi4uLl0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NAogbXNnaWQgImNvbnRpbnVlIHJlZnJlc2ggZXZlbiB3aGVuIGluZGV4IG5lZWRzIHVwZGF0ZSIKIG1zZ3N0ciAiY29udGludWVyIGRlIHJhZnJhw65jaGlyIG3Dqm1lIHNpIGwnaW5kZXggYSBiZXNvaW4gZCd1bmUgbWlzZSDDoCBqb3VyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzcKIG1zZ2lkICJyZWZyZXNoOiBpZ25vcmUgc3VibW9kdWxlcyIKIG1zZ3N0ciAicmFmcmHDrmNoaXIgOiBpZ25vcmVyIGxlcyBzb3VzLW1vZHVsZXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MAogbXNnaWQgImRvIG5vdCBpZ25vcmUgbmV3IGZpbGVzIgogbXNnc3RyICJuZSBwYXMgaWdub3JlciBsZXMgbm91dmVhdXggZmljaGllcnMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MgogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICJsYWlzc2VyIGxlcyBmaWNoaWVycyByZW1wbGFjZXIgZGVzIHLDqXBlcnRvaXJlcyBldCB2aWNlLXZlcnNhIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODQKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJhdmlzZXIgZGVzIGZpY2hpZXJzIG1hbnF1YW50cyBkYW5zIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTczCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NgogbXNnaWQgInJlZnJlc2ggZXZlbiBpZiBpbmRleCBjb250YWlucyB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICJyYWZyYcOuY2hpciBtw6ptZSBzaSBsJ2luZGV4IGNvbnRpZW50IGRlcyDDqWzDqW1lbnRzIG5vbiBmdXNpb25uw6lzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODkKIG1zZ2lkICJyZWZyZXNoIHN0YXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgInJhZnJhw65jaGlyIGwnaW5mb3JtYXRpb24gZGUgc3RhdCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkzCiBtc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgogbXNnc3RyICJjb21tZSAtLXJlZnJlc2gsIG1haXMgZW4gaWdub3JhbnQgbCdvcHRpb24gYXNzdW1lLXVuY2hhbmdlZCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CiBtc2dpZCAiPG1vZGU+LDxvYmplY3Q+LDxwYXRoPiIKIG1zZ3N0ciAiPG1vZGU+LCA8b2JqZXQ+LCA8Y2hlbWluPiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk4CiBtc2dpZCAiYWRkIHRoZSBzcGVjaWZpZWQgZW50cnkgdG8gdGhlIGluZGV4IgogbXNnc3RyICJham91dGVyIGwnw6lsw6ltZW50IHNww6ljaWZpw6kgZGFucyBsJ2luZGV4IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA4CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcIm5vdCBjaGFuZ2luZ1wiIgogbXNnc3RyICJtYXJxdWVyIGxlcyBmaWNoaWVycyBjb21tZSBcIm5vbiBjaGFuZ2VhbnRzXCIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTEKIG1zZ2lkICJjbGVhciBhc3N1bWVkLXVuY2hhbmdlZCBiaXQiCiBtc2dzdHIgIm1ldHRyZSDDoCB6w6lybyBsZSBiaXQgc3VwcG9zw6ktbm9uLW1vZGlmacOpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxNAogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJpbmRleC1vbmx5XCIiCiBtc2dzdHIgIm1hcnF1ZXIgbGVzIGZpY2hpZXJzIGNvbW1lIFwiaW5kZXggc2V1bGVtZW50XCIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE3CiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCiBtc2dzdHIgIm1ldHRyZSDDoCB6w6lybyBsZSBiaXQgc2F1dGVyLWxhLWNvcGllLWRlIHRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDIwCittc2dpZCAiZG8gbm90IHRvdWNoIGluZGV4LW9ubHkgZW50cmllcyIKK21zZ3N0ciAibmUgcGFzIHRvdWNoZXIgYXV4IGVudHLDqWVzIHJlc3RyZWludGVzIMOgIGwnaW5kZXgiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyMgogbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICIiCiAiYWpvdXRlciBzZXVsZW1lbnQgw6AgbCdpbmRleCA7IG5lIHBhcyBham91dGVyIGxlIGNvbnRlbnUgZGFucyBsYSBiYXNlIGRlICIKICJkb25uw6llcyBkZXMgb2JqZXRzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyNAogbXNnaWQgInJlbW92ZSBuYW1lZCBwYXRocyBldmVuIGlmIHByZXNlbnQgaW4gd29ya3RyZWUiCiBtc2dzdHIgIiIKICJzdXBwcmltZXIgbGVzIGNoZW1pbnMgbm9tbcOpcyBtw6ptZSBzJ2lscyBzb250IHByw6lzZW50cyBkYW5zIGxhIGNvcGllIGRlICIKICJ0cmF2YWlsIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyNgogbXNnaWQgIndpdGggLS1zdGRpbjogaW5wdXQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgYnkgbnVsbCBieXRlcyIKIG1zZ3N0ciAiYXZlYyAtLXN0ZGluIDogbGVzIGxpZ25lcyBlbiBlbnRyw6llIHNvbnQgdGVybWluw6llcyBwYXIgZGVzIG9jdGV0cyBudWxzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyOAogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImxpcmUgbGEgbGlzdGUgZGVzIGNoZW1pbnMgw6AgbWV0dHJlIMOgIGpvdXIgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzIKIG1zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiYWpvdXRlciBsZXMgw6lsw6ltZW50cyBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIMOgIGwnaW5kZXgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDM2CiBtc2dpZCAicmVwb3B1bGF0ZSBzdGFnZXMgIzIgYW5kICMzIGZvciB0aGUgbGlzdGVkIHBhdGhzIgogbXNnc3RyICJyZXBldXBsZXIgbGVzIMOpdGFwZXMgbsKwMiBldCBuwrAzIHBvdXIgbGVzIGNoZW1pbnMgbGlzdMOpcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDAKIG1zZ2lkICJvbmx5IHVwZGF0ZSBlbnRyaWVzIHRoYXQgZGlmZmVyIGZyb20gSEVBRCIKIG1zZ3N0ciAibWV0dHJlIMOgIGpvdXIgc2V1bGVtZW50IGxlcyDDqWzDqW1lbnRzIHF1aSBkaWZmw6hyZW50IGRlIEhFQUQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQ0CiBtc2dpZCAiaWdub3JlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAiaWdub3JlciBsZXMgZmljaGllcnMgbWFucXVhbnRzIGRhbnMgbGEgY29waWUgZGUgdHJhdmFpbCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDMxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDcKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBhY3Rpb25zIHN1ciBsYSBzb3J0aWUgc3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQ5CiBtc2dpZCAiKGZvciBwb3JjZWxhaW5zKSBmb3JnZXQgc2F2ZWQgdW5yZXNvbHZlZCBjb25mbGljdHMiCiBtc2dzdHIgIihwb3VyIHBvcmNlbGFpbmVzKSBvdWJsaWVyIGxlcyBjb25mbGl0cyBzYXV2w6lzIGV0IG5vbiByw6lzb2x1cyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDM3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTMKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAiw6ljcmlyZSBsJ2luZGV4IGRhbnMgY2UgZm9ybWF0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1NQogbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIHNwbGl0IGluZGV4IgogbXNnc3RyICJhY3RpdmVyIG91IGTDqXNhY3RpdmVyIGwnaW5kZXggZGl2aXPDqSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTcKIG1zZ2lkICJlbmFibGUvZGlzYWJsZSB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgImFjdGl2ZXIgb3UgZMOpc2FjdGl2ZXIgbGUgY2FjaGUgZGUgbm9uLXN1aXZpcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTkKIG1zZ2lkICJ0ZXN0IGlmIHRoZSBmaWxlc3lzdGVtIHN1cHBvcnRzIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAidGVzdGVyIHNpIGxlIHN5c3TDqG1lIGRlIGZpY2hpZXIgc3VwcG9ydGUgbGUgY2FjaGUgZGUgbm9uLXN1aXZpcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQ1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNjEKIG1zZ2lkICJlbmFibGUgdW50cmFja2VkIGNhY2hlIHdpdGhvdXQgdGVzdGluZyB0aGUgZmlsZXN5c3RlbSIKIG1zZ3N0ciAiYWN0aXZlciBsZSBjYWNoZSBkZSBub24tc3VpdmlzIHNhbnMgdGVzdGVyIGxlIHN5c3TDqG1lIGRlIGZpY2hpZXIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDYzCiBtc2dpZCAid3JpdGUgb3V0IHRoZSBpbmRleCBldmVuIGlmIGlzIG5vdCBmbGFnZ2VkIGFzIGNoYW5nZWQiCiBtc2dzdHIgIsOpY3JpcmUgbCdpbmRleCBtw6ptZSBzJ2lsIG4nZXN0IHBhcyBtYXJxdcOpIGNvbW1lIG1vZGlmacOpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2NQogbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIGZpbGUgc3lzdGVtIG1vbml0b3IiCiBtc2dzdHIgIiIKICJhY3RpdmVyIG91IGTDqXNhY3RpdmVyIGxhIHN1cnZlaWxsYW5jZSBkdSBzeXN0w6htZSBkZSBmaWNoaWVyIChmc21vbml0b3IpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2NwogbXNnaWQgIm1hcmsgZmlsZXMgYXMgZnNtb25pdG9yIHZhbGlkIgogbXNnc3RyICJtYXJxdWVyIGxlcyBmaWNoaWVycyBjb21tZSB2YWxpZGVzIHBvdXIgZnNtb25pdG9yIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA3MAogbXNnaWQgImNsZWFyIGZzbW9uaXRvciB2YWxpZCBiaXQiCiBtc2dzdHIgImVmZmFjZXIgbGUgYml0IGRlIHZhbGlkaXTDqSBmc21vbml0b3IiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE1MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTczCiBtc2dpZCAiIgogImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gZmFsc2U7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCiAiZW5hYmxlIHNwbGl0IGluZGV4IgpAQCAtMTgyNDksNyArMjE1MTQsNyBAQAogImNvcmUuc3BsaXRJbmRleCBlc3QgcsOpZ2zDqSDDoCBmYWxzZcKgOyBzdXBwcmltZXotbGUgb3UgY2hhbmdlei1sZSBzaSB2b3VzICIKICJzb3VoYWl0ZXogdnJhaW1lbnQgYWN0aXZlciBsJ2luZGV4IGNvdXDDqSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTYyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExODIKIG1zZ2lkICIiCiAiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgogImRpc2FibGUgc3BsaXQgaW5kZXgiCkBAIC0xODI1Nyw3ICsyMTUyMiw3IEBACiAiY29yZS5zcGxpdEluZGV4IGVzdCByw6lnbMOpIMOgIHZyYWnCoDsgc3VwcHJpbWV6LWxlIG91IGNoYW5nZXotbGUgc2kgdm91cyAiCiAic291aGFpdGV6IHZyYWltZW50IGTDqXNhY3RpdmVyIGwnaW5kZXggY291cMOpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE5NAogbXNnaWQgIiIKICJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGRpc2FibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKQEAgLTE4MjY1LDExICsyMTUzMCwxMSBAQAogImNvcmUudW50cmFja2VkQ2FjaGUgZXN0IHLDqWdsw6kgw6AgdHJ1ZcKgOyBzdXBwcmltZXotbGUgb3UgY2hhbmdlei1sZSBzaSB2b3VzICIKICJzb3VoYWl0ZXogdnJhaW1lbnQgZMOpc2FjdGl2ZXIgbGUgY2FjaGUgZGVzIGZpY2hpZXJzIG5vbi1zdWl2aXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE3NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTk4CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIgogbXNnc3RyICJMZSBjYWNoZSBub24gc3VpdmkgZXN0IGTDqXNhY3RpdsOpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIwNgogbXNnaWQgIiIKICJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKICJ0byBlbmFibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKQEAgLTE4Mjc3LDI5ICsyMTU0MiwyOSBAQAogImNvcmUudW50cmFja2VkQ2FjaGUgZXN0IHLDqWdsw6kgw6AgZmFsc2XCoDsgc3VwcHJpbWV6LWxlIG91IGNoYW5nZXotbGUgc2kgdm91cyAiCiAic291aGFpdGV6IHZyYWltZW50IGFjdGl2ZXIgbGUgY2FjaGUgZGVzIGZpY2hpZXJzIG5vbi1zdWl2aXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE4OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBlbmFibGVkIGZvciAnJXMnIgogbXNnc3RyICJMZSBjYWNoZSBub24gc3VpdmkgZXN0IGFjdGl2w6kgcG91ciAnJXMnIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExOTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIxOAogbXNnaWQgImNvcmUuZnNtb25pdG9yIGlzIHVuc2V0OyBzZXQgaXQgaWYgeW91IHJlYWxseSB3YW50IHRvIGVuYWJsZSBmc21vbml0b3IiCiBtc2dzdHIgIiIKICJjb3JlLmZzbW9uaXRvciBlc3QgcsOpZ2zDqSDDoCBmYWxzZcKgOyBjaGFuZ2V6LWxlIHNpIHZvdXMgc291aGFpdGV6IHZyYWltZW50ICIKICJhY3RpdmVyIGxhIHN1cnZlaWxsYW5jZSBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjAxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMjIKIG1zZ2lkICJmc21vbml0b3IgZW5hYmxlZCIKIG1zZ3N0ciAiZnNtb25pdG9yIGFjdGl2w6kiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIwNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjI1CiBtc2dpZCAiIgogImNvcmUuZnNtb25pdG9yIGlzIHNldDsgcmVtb3ZlIGl0IGlmIHlvdSByZWFsbHkgd2FudCB0byBkaXNhYmxlIGZzbW9uaXRvciIKIG1zZ3N0ciAiIgogImNvcmUuZnNtb25pdG9yIGVzdCByw6lnbMOpIMOgIHRydWXCoDsgc3VwcHJpbWV6LWxlIG91IGNoYW5nZXotbGUgc2kgdm91cyAiCiAic291aGFpdGV6IHZyYWltZW50IGTDqXNhY3RpdmVyIGxhIHN1cnZlaWxsYW5jZSBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjA4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMjkKIG1zZ2lkICJmc21vbml0b3IgZGlzYWJsZWQiCiBtc2dzdHIgImZzbW9uaXRvciBkw6lzYWN0aXbDqSIKIApAQCAtMTgzNDUsNiArMjE2MTAsMTAgQEAKIG1zZ2lkICJnaXQgdXBsb2FkLXBhY2sgWzxvcHRpb25zPl0gPGRpcj4iCiBtc2dzdHIgImdpdCB1cGxvYWQtcGFjayBbPG9wdGlvbnM+XSA8csOpcGVydG9pcmU+IgogCisjOiBidWlsdGluL3VwbG9hZC1wYWNrLmM6MjMgdC9oZWxwZXIvdGVzdC1zZXJ2ZS12Mi5jOjE3Cittc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgorbXNnc3RyICJxdWl0dGVyIGFwcsOocyB1biB1bmlxdWUgw6ljaGFuZ2UgcmVxdcOqdGUvcsOpcG9uc2UiCisKICM6IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyNQogbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgaW5pdGlhbCByZWYgYWR2ZXJ0aXNlbWVudCIKIG1zZ3N0ciAiU29ydGlyIGltbcOpZGlhdGVtZW50IGFwcsOocyBsJ2Fubm9uY2UgaW5pdGlhbGUgZGVzIHLDqWbDqXJlbmNlcyIKQEAgLTE4MzU5LDE1ICsyMTYyOCwxNSBAQAogbXNnaWQgImludGVycnVwdCB0cmFuc2ZlciBhZnRlciA8bj4gc2Vjb25kcyBvZiBpbmFjdGl2aXR5IgogbXNnc3RyICJpbnRlcnJvbXByZSBsZSB0cmFuc2ZlcnQgYXByw6hzIDxuPiBzZWNvbmRlcyBkJ2luYWN0aXZpdMOpIgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzoyMAorIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6MTkKIG1zZ2lkICJnaXQgdmVyaWZ5LWNvbW1pdCBbLXYgfCAtLXZlcmJvc2VdIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgdmVyaWZ5LWNvbW1pdCBbLXYgfCAtLXZlcmJvc2VdIDxjb21taXQ+Li4uIgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3NgorIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NjgKIG1zZ2lkICJwcmludCBjb21taXQgY29udGVudHMiCiBtc2dzdHIgImFmZmljaGVyIGxlIGNvbnRlbnUgZHUgY29tbWl0IgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3NyBidWlsdGluL3ZlcmlmeS10YWcuYzozOAorIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NjkgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzcKIG1zZ2lkICJwcmludCByYXcgZ3BnIHN0YXR1cyBvdXRwdXQiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBtZXNzYWdlcyBicnV0cyBkZSBncGciCiAKQEAgLTE4MzgzLDExICsyMTY1MiwxMSBAQAogbXNnaWQgInNob3cgc3RhdGlzdGljcyBvbmx5IgogbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIHN0YXRpc3RpcXVlcyIKIAotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MTkKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjE4CiBtc2dpZCAiZ2l0IHZlcmlmeS10YWcgWy12IHwgLS12ZXJib3NlXSBbLS1mb3JtYXQ9PGZvcm1hdD5dIDx0YWc+Li4uIgogbXNnc3RyICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIFstLWZvcm1hdD08Zm9ybWF0Pl0gPMOpdGlxdWV0dGU+Li4uIgogCi0jOiBidWlsdGluL3ZlcmlmeS10YWcuYzozNworIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzYKIG1zZ2lkICJwcmludCB0YWcgY29udGVudHMiCiBtc2dzdHIgImFmZmljaGVyIGxlIGNvbnRlbnUgZGUgbCfDqXRpcXVldHRlIgogCkBAIC0xODQxOSw3ICsyMTY4OCw3IEBACiBtc2dpZCAiZ2l0IHdvcmt0cmVlIHVubG9jayA8cGF0aD4iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSB1bmxvY2sgPGNoZW1pbj4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2MCBidWlsdGluL3dvcmt0cmVlLmM6ODcxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NjAgYnVpbHRpbi93b3JrdHJlZS5jOjg5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlICclcyciCiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBzdXBwcmVzc2lvbiBkZSAnJXMnIgpAQCAtMTg0MzgsNyArMjE3MDcsNyBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IHVuYWJsZSB0byByZWFkIGdpdGRpciBmaWxlICglcykiCiBtc2dzdHIgIiIKLSJTdXBwcmVzc2lvbiBkZSB3b3JrdHJlZXMvJXPCoDogZWNoZWMgZGUgbGEgbGVjdHVyZSBkdSBmaWNoaWVyIGdpdGRpciAoJXMpIgorIlN1cHByZXNzaW9uIGRlIHdvcmt0cmVlcy8lc8KgOiDDqWNoZWMgZGUgbGEgbGVjdHVyZSBkdSBmaWNoaWVyIGdpdGRpciAoJXMpIgogCiAjOiBidWlsdGluL3dvcmt0cmVlLmM6MTA5CiAjLCBjLWZvcm1hdApAQCAtMTg0OTgsMTI5ICsyMTc2NywxMjkgQEAKICInJXMnIGVzdCB1biBhcmJyZSBkZSB0cmF2YWlsIG1hbnF1YW50IG1haXMgZMOpasOgIGVucmVnaXN0csOpwqA7XG4iCiAidXRpbGlzZXogJ2FkZCAtZicgcG91ciBwYXNzZXIgb3V0cmUsIG91ICdwcnVuZScgb3UgJ3JlbW92ZScgcG91ciBjb3JyaWdlciIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMwOQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSBvZiAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciBsZSByw6lwZXJ0b2lyZSBkZSAnJXMnIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDI4IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzkgYnVpbHRpbi93b3JrdHJlZS5jOjQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKG5ldyBicmFuY2ggJyVzJykiCiBtc2dzdHIgIlByw6lwYXJhdGlvbiBkZSBsJ2FyYnJlIGRlIHRyYXZhaWwgKG5vdXZlbGxlIGJyYW5jaGUgJyVzJykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChyZXNldHRpbmcgYnJhbmNoICclcyc7IHdhcyBhdCAlcykiCiBtc2dzdHIgIiIKICJQcsOpcGFyYXRpb24gZGUgbCdhcmJyZSBkZSB0cmF2YWlsIChyw6lpbml0aWFsaXNhdGlvbiBkZSBsYSBicmFuY2hlICclcyfCoDsgIgogInByw6ljw6lkZW1tZW50IHN1ciAlcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChjaGVja2luZyBvdXQgJyVzJykiCiBtc2dzdHIgIlByw6lwYXJhdGlvbiBkZSBsJ2FyYnJlIGRlIHRyYXZhaWwgKGV4dHJhY3Rpb24gZGUgJyVzJykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChkZXRhY2hlZCBIRUFEICVzKSIKIG1zZ3N0ciAiUHLDqXBhcmF0aW9uIGRlIGwnYXJicmUgZGUgdHJhdmFpbCAoSEVBRCBkw6l0YWNow6llICVzKSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4NgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5NwogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGV2ZW4gaWYgYWxyZWFkeSBjaGVja2VkIG91dCBpbiBvdGhlciB3b3JrdHJlZSIKIG1zZ3N0ciAiIgogImV4dHJhaXJlIGxhIDxicmFuY2hlPiBtw6ptZSBzaSBlbGxlIGVzdCBkw6lqw6AgZXh0cmFpdGUgZGFucyB1bmUgYXV0cmUgY29waWUgZGUgIgogInRyYXZhaWwiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDAKIG1zZ2lkICJjcmVhdGUgYSBuZXcgYnJhbmNoIgogbXNnc3RyICJjcsOpZXIgdW5lIG5vdXZlbGxlIGJyYW5jaGUiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDIKIG1zZ2lkICJjcmVhdGUgb3IgcmVzZXQgYSBicmFuY2giCiBtc2dzdHIgImNyw6llciBvdSByw6lpbml0aWFsaXNlciB1bmUgYnJhbmNoZSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwNAogbXNnaWQgInBvcHVsYXRlIHRoZSBuZXcgd29ya2luZyB0cmVlIgogbXNnc3RyICJyZW1wbGlzc2FnZSBkZSBsYSBub3V2ZWxsZSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDk0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA1CiBtc2dpZCAia2VlcCB0aGUgbmV3IHdvcmtpbmcgdHJlZSBsb2NrZWQiCiBtc2dzdHIgImNvbnNlcnZlciBsZSB2ZXJyb3Ugc3VyIGxlIG5vdXZlbCBhcmJyZSBkZSB0cmF2YWlsIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDk3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA4CiBtc2dpZCAic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtYnJhbmNoKDEpKSIKIG1zZ3N0ciAicsOpZ2xlciBsZSBtb2RlIGRlIHN1aXZpICh2b2lyIGdpdC1icmFuY2goMSkpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTAwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTExCiBtc2dpZCAidHJ5IHRvIG1hdGNoIHRoZSBuZXcgYnJhbmNoIG5hbWUgd2l0aCBhIHJlbW90ZS10cmFja2luZyBicmFuY2giCiBtc2dzdHIgImVzc2F5ZXIgZGUgbm9tbWVyIGxhIG5vdXZlbGxlIGJyYW5jaGUgY29tbWUgbGEgYnJhbmNoZSBhbW9udCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUxOQogbXNnaWQgIi1iLCAtQiwgYW5kIC0tZGV0YWNoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1iLCAtQiBldCAtLWRldGFjaCBzb250IG11dHVlbGxlbWVudCBleGNsdXNpZnMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1NjkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1ODAKIG1zZ2lkICItLVtuby1ddHJhY2sgY2FuIG9ubHkgYmUgdXNlZCBpZiBhIG5ldyBicmFuY2ggaXMgY3JlYXRlZCIKIG1zZ3N0ciAiIgogIi0tW25vLV10cmFjayBuZSBwZXV0IMOqdHJlIHV0aWxpc8OpIHF1J8OgIGxhIGNyw6lhdGlvbiBkJ3VuZSBub3V2ZWxsZSBicmFuY2hlIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjY5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NjgwCiBtc2dpZCAicmVhc29uIGZvciBsb2NraW5nIgogbXNnc3RyICJyYWlzb24gZHUgdmVycm91aWxsYWdlIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjgxIGJ1aWx0aW4vd29ya3RyZWUuYzo3MTQgYnVpbHRpbi93b3JrdHJlZS5jOjc3MgotIzogYnVpbHRpbi93b3JrdHJlZS5jOjg5OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5MiBidWlsdGluL3dvcmt0cmVlLmM6NzI1IGJ1aWx0aW4vd29ya3RyZWUuYzo3OTkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIiclcycgbidlc3QgcGFzIHVuZSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjgzIGJ1aWx0aW4vd29ya3RyZWUuYzo3MTYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2OTQgYnVpbHRpbi93b3JrdHJlZS5jOjcyNwogbXNnaWQgIlRoZSBtYWluIHdvcmtpbmcgdHJlZSBjYW5ub3QgYmUgbG9ja2VkIG9yIHVubG9ja2VkIgogbXNnc3RyICIiCiAiTGEgY29waWUgZGUgdHJhdmFpbCBwcmluY2lwYWxlIG5lIHBldXQgcGFzIMOqdHJlIHZlcnJvdWlsbMOpZSBvdSBkw6l2ZXJyb3VpbGzDqWUiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCwgcmVhc29uOiAlcyIKIG1zZ3N0ciAiJyVzJyBlc3QgZMOpasOgIHZlcnJvdWlsbMOpLCBjYXIgJyVzJyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkIgogbXNnc3RyICInJXMnIGVzdCBkw6lqw6AgdmVycm91aWxsw6kiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3MTgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgbG9ja2VkIgogbXNnc3RyICInJXMnIG4nZXN0IHBhcyB2ZXJyb3VpbGzDqSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc0MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3MAogbXNnaWQgIndvcmtpbmcgdHJlZXMgY29udGFpbmluZyBzdWJtb2R1bGVzIGNhbm5vdCBiZSBtb3ZlZCBvciByZW1vdmVkIgogbXNnc3RyICIiCiAibGVzIGFyYnJlcyBkZSB0cmF2YWlsIGNvbnRlbmFudCBkZXMgc291cy1tb2R1bGVzIG5lIHBldXZlbnQgcGFzIMOqdHJlICIKICJkw6lwbGFjw6lzIG91IHN1cHByaW3DqXMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3NTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3NzgKIG1zZ2lkICJmb3JjZSBtb3ZlIGV2ZW4gaWYgd29ya3RyZWUgaXMgZGlydHkgb3IgbG9ja2VkIgogbXNnc3RyICIiCiAiZm9yY2VyIGxlIGTDqXBsYWNlbWVudCBtw6ptZSBzaSBsJ2FyYnJlIGRlIHRyYXZhaWwgZXN0IHNhbGUgb3UgdmVycm91aWxsw6kiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3NzQgYnVpbHRpbi93b3JrdHJlZS5jOjkwMQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwMSBidWlsdGluL3dvcmt0cmVlLmM6OTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYSBtYWluIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiJyVzJyBlc3QgdW4gYXJicmUgZGUgdHJhdmFpbCBwcmluY2lwYWwiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3NzkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGZpZ3VyZSBvdXQgZGVzdGluYXRpb24gbmFtZSBmcm9tICclcyciCiBtc2dzdHIgImltcG9zc2libGUgZGUgdHJvdXZlciBsZSBub20gZGUgbGEgZGVzdGluYXRpb24gw6AgcGFydGlyIGRlICclcyciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3ODUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFyZ2V0ICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgImxhIGNpYmxlICclcycgZXhpc3RlIGTDqWrDoCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc5MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjgyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY2Fubm90IG1vdmUgYSBsb2NrZWQgd29ya2luZyB0cmVlLCBsb2NrIHJlYXNvbjogJXNcbiIKQEAgLTE4NjMwLDcgKzIxODk5LDcgQEAKICJ2ZXJyb3VpbGxhZ2XCoDogJXNcbiIKICJ1dGlsaXNleiAnbW92ZSAtZiAtZicgcG91ciBvdXRyZXBhc3NlciBvdSBkw6l2ZXJyb3VpbGxlciBhdmFudCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc5NQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjgyMgogbXNnaWQgIiIKICJjYW5ub3QgbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWU7XG4iCiAidXNlICdtb3ZlIC1mIC1mJyB0byBvdmVycmlkZSBvciB1bmxvY2sgZmlyc3QiCkBAIC0xODYzOCwzNyArMjE5MDcsMzkgQEAKICJpbXBvc3NpYmxlIGRlIGTDqXBsYWNlciB1biBhcmJyZSBkZSB0cmF2YWlsIHZlcnJvdWlsbMOpO1xuIgogInV0aWxpc2V6ICdtb3ZlIC1mIC1mJyBwb3VyIG91dHJlcGFzc2VyIG91IGTDqXZlcnJvdWlsbGVyIGF2YW50IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Nzk4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInZhbGlkYXRpb24gZmFpbGVkLCBjYW5ub3QgbW92ZSB3b3JraW5nIHRyZWU6ICVzIgogbXNnc3RyICJsYSB2YWxpZGF0aW9uIGEgw6ljaG91w6ksIGltcG9zc2libGUgZGUgZMOpcGxhY2VyIGwnYXJicmUgZGUgdHJhdmFpbMKgOiAlcyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwMworIzogYnVpbHRpbi93b3JrdHJlZS5jOjgzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbW92ZSAnJXMnIHRvICclcyciCiBtc2dzdHIgIsOpY2hlYyBhdSBkw6lwbGFjZW1lbnQgZGUgJyVzJyB2ZXJzICclcyciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJ1biAnZ2l0IHN0YXR1cycgb24gJyVzJyIKIG1zZ3N0ciAiw6ljaGVjIGR1IGxhbmNlbWVudCBkZSAnZ2l0IHN0YXR1cycgc3VyICclcyciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NTUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4ODIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBkaXJ0eSwgdXNlIC0tZm9yY2UgdG8gZGVsZXRlIGl0IgotbXNnc3RyICInJXMnIGVzdCBzYWxlLCB1dGlsaXNleiAtLWZvcmNlIHBvdXIgbGUgc3VwcHJpbWVyIgorbXNnaWQgIiclcycgY29udGFpbnMgbW9kaWZpZWQgb3IgdW50cmFja2VkIGZpbGVzLCB1c2UgLS1mb3JjZSB0byBkZWxldGUgaXQiCittc2dzdHIgIiIKKyInJXMnIGNvbnRpZW50IGRlcyBmaWNoaWVycyBtb2RpZmnDqXMgb3Ugbm9uLXN1aXZpcywgdXRpbGlzZXogLS1mb3JjZSBwb3VyIGxlICIKKyJzdXBwcmltZXIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NjAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJ1biAnZ2l0IHN0YXR1cycgb24gJyVzJywgY29kZSAlZCIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsYW5jZXIgJ2dpdCBzdGF0dXMnIHN1ciAnJXMnLCBjb2RlICVkIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODgzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTEwCiBtc2dpZCAiZm9yY2UgcmVtb3ZhbCBldmVuIGlmIHdvcmt0cmVlIGlzIGRpcnR5IG9yIGxvY2tlZCIKIG1zZ3N0ciAiIgogImZvcmNlciBsYSBzdXBwcmVzc2lvbiBtw6ptZSBzaSBsJ2FyYnJlIGRlIHRyYXZhaWwgZXN0IHNhbGUgb3UgdmVycm91aWxsw6kiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MDYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNhbm5vdCByZW1vdmUgYSBsb2NrZWQgd29ya2luZyB0cmVlLCBsb2NrIHJlYXNvbjogJXNcbiIKQEAgLTE4Njc4LDcgKzIxOTQ5LDcgQEAKICJ2ZXJyb3VpbGxhZ2XCoDogJXNcbiIKICJ1dGlsaXNleiAnbW92ZSAtZiAtZicgcG91ciBvdXRyZXBhc3NlciBvdSBkw6l2ZXJyb3VpbGxlciBhdmFudCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjkwOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjkzNQogbXNnaWQgIiIKICJjYW5ub3QgcmVtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZTtcbiIKICJ1c2UgJ3JlbW92ZSAtZiAtZicgdG8gb3ZlcnJpZGUgb3IgdW5sb2NrIGZpcnN0IgpAQCAtMTg2ODYsMjkgKzIxOTU3LDQ0IEBACiAiaW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgdW4gYXJicmUgZGUgdHJhdmFpbCB2ZXJyb3VpbGzDqTtcbiIKICJ1dGlsaXNleiAnbW92ZSAtZiAtZicgcG91ciBvdXRyZXBhc3NlciBvdSBkw6l2ZXJyb3VpbGxlciBhdmFudCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjkxMQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjkzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ2YWxpZGF0aW9uIGZhaWxlZCwgY2Fubm90IHJlbW92ZSB3b3JraW5nIHRyZWU6ICVzIgogbXNnc3RyICIiCiAibGEgdmFsaWRhdGlvbiBhIMOpY2hvdcOpLCBpbXBvc3NpYmxlIGRlIHN1cHByaW1lciBsJ2FyYnJlIGRlIHRyYXZhaWzCoDogJXMiCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjE0CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoxNQogbXNnaWQgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08cHJlZml4Pi9dIgogbXNnc3RyICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PHByw6lmaXhlPi9dIgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyNworIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjgKIG1zZ2lkICI8cHJlZml4Pi8iCiBtc2dzdHIgIjxwcsOpZml4ZT4vIgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOAorIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjkKIG1zZ2lkICJ3cml0ZSB0cmVlIG9iamVjdCBmb3IgYSBzdWJkaXJlY3RvcnkgPHByZWZpeD4iCiBtc2dzdHIgIsOpY3JpcmUgbCdvYmpldCBhcmJyZSBwb3VyIHVuIHNvdXMtcsOpcGVydG9pcmUgPHByw6lmaXhlPiIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MzAKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjMxCiBtc2dpZCAib25seSB1c2VmdWwgZm9yIGRlYnVnZ2luZyIKIG1zZ3N0ciAic2V1bGVtZW50IHV0aWxlIHBvdXIgbGUgZMOpYm9nYWdlIgogCi0jOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyMjIKKyM6IGZhc3QtaW1wb3J0LmM6MzEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJFeHBlY3RlZCAnbWFyaycgY29tbWFuZCwgZ290ICVzIgorbXNnc3RyICJjb21tYW5kZSAnbWFyaycgYXR0ZW5kdWUsICVzIHRyb3V2w6kiCisKKyM6IGZhc3QtaW1wb3J0LmM6MzEzMAorIywgYy1mb3JtYXQKK21zZ2lkICJFeHBlY3RlZCAndG8nIGNvbW1hbmQsIGdvdCAlcyIKK21zZ3N0ciAiY29tbWFuZGUgJ3RvJyBhdHRlbmR1ZSwgJXMgdHJvdXbDqSIKKworIzogZmFzdC1pbXBvcnQuYzozMjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImZlYXR1cmUgJyVzJyBmb3JiaWRkZW4gaW4gaW5wdXQgd2l0aG91dCAtLWFsbG93LXVuc2FmZS1mZWF0dXJlcyIKK21zZ3N0ciAibGEgZm9uY3Rpb25uYWxpdMOpICclcycgZXN0IGludGVyZGl0ZSBlbiBlbnRyw6llIHNhbnMgLS1hbGxvdy11bnNhZmUtZmVhdHVyZXMiCisKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHBlcm1pc3Npb25zIG9uIHlvdXIgc29ja2V0IGRpcmVjdG9yeSBhcmUgdG9vIGxvb3NlOyBvdGhlclxuIgpAQCAtMTg3MjEsNyArMjIwMDcsNyBAQAogIlxuIgogIiAgICBjaG1vZCAwNzAwICVzIgogCi0jOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyNzEKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjI3MgogbXNnaWQgInByaW50IGRlYnVnZ2luZyBtZXNzYWdlcyB0byBzdGRlcnIiCiBtc2dzdHIgImFmZmljaGVyIGxlcyBtZXNzYWdlcyBkZSBkZWJ1ZyBzdXIgc3RkZXJyIgogCkBAIC0xODczNCw2ICsyMjAyMCwxNCBAQAogbXNnaWQgInRvbyBtYW55IGNvbW1pdHMgbWFya2VkIHJlYWNoYWJsZSIKIG1zZ3N0ciAidHJvcCBkZSBjb21taXRzIG1hcnF1w6lzIGpvaWduYWJsZXMiCiAKKyM6IHQvaGVscGVyL3Rlc3Qtc2VydmUtdjIuYzo3Cittc2dpZCAidGVzdC10b29sIHNlcnZlLXYyIFs8b3B0aW9ucz5dIgorbXNnc3RyICJ0ZXN0LXRvb2wgc2VydmUtdjIgWzxvcHRpb25zPl0iCisKKyM6IHQvaGVscGVyL3Rlc3Qtc2VydmUtdjIuYzoxOQorbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgYWR2ZXJ0aXNpbmcgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJzb3J0aXIgaW1tw6lkaWF0ZW1lbnQgYXByw6hzIGwnYW5ub25jZSBkZXMgY2FwYWNpdMOpcyIKKwogIzogZ2l0LmM6MjcKIG1zZ2lkICIiCiAiZ2l0IFstLXZlcnNpb25dIFstLWhlbHBdIFstQyA8cGF0aD5dIFstYyA8bmFtZT49PHZhbHVlPl1cbiIKQEAgLTE4NzU1LDEwMyArMjIwNDksMTU1IEBACiBtc2dpZCAiIgogIidnaXQgaGVscCAtYScgYW5kICdnaXQgaGVscCAtZycgbGlzdCBhdmFpbGFibGUgc3ViY29tbWFuZHMgYW5kIHNvbWVcbiIKICJjb25jZXB0IGd1aWRlcy4gU2VlICdnaXQgaGVscCA8Y29tbWFuZD4nIG9yICdnaXQgaGVscCA8Y29uY2VwdD4nXG4iCi0idG8gcmVhZCBhYm91dCBhIHNwZWNpZmljIHN1YmNvbW1hbmQgb3IgY29uY2VwdC4iCisidG8gcmVhZCBhYm91dCBhIHNwZWNpZmljIHN1YmNvbW1hbmQgb3IgY29uY2VwdC5cbiIKKyJTZWUgJ2dpdCBoZWxwIGdpdCcgZm9yIGFuIG92ZXJ2aWV3IG9mIHRoZSBzeXN0ZW0uIgogbXNnc3RyICIiCiAiJ2dpdCBoZWxwIC1hJyBldCAnZ2l0IGhlbHAgLWcnIGxpc3RlbnQgbGVzIHNvdXMtY29tbWFuZGVzIGRpc3BvbmlibGVzIGV0XG4iCiAicXVlbHF1ZXMgY29uY2VwdHMuIFZvaXIgJ2dpdCBoZWxwIDxjb21tYW5kZT4nIG91ICdnaXQgaGVscCA8Y29uY2VwdD4nXG4iCi0icG91ciBlbiBsaXJlIHBsdXMgw6AgcHJvcG9zIGQndW5lIGNvbW1hbmRlIHNww6ljaWZpcXVlIG91IGQndW4gY29uY2VwdC4iCisicG91ciBlbiBsaXJlIHBsdXMgw6AgcHJvcG9zIGQndW5lIGNvbW1hbmRlIHNww6ljaWZpcXVlIG91IGQndW4gY29uY2VwdC5cbiIKKyJWb2lyICdnaXQgaGVscCBnaXQnIHBvdXIgdW4gc3Vydm9sIGR1IHN5c3TDqG1lLiIKIAotIzogZ2l0LmM6MTczCisjOiBnaXQuYzoxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gZGlyZWN0b3J5IGdpdmVuIGZvciAtLWdpdC1kaXJcbiIKIG1zZ3N0ciAiYXVjdW4gcsOpcGVydG9pcmUgZm91cm5pIHBvdXIgLS1naXQtZGlyXG4iCiAKLSM6IGdpdC5jOjE4NworIzogZ2l0LmM6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG5hbWVzcGFjZSBnaXZlbiBmb3IgLS1uYW1lc3BhY2VcbiIKIG1zZ3N0ciAiYXVjdW4gZXNwYWNlIGRlIG5vbSBmb3Vybml0IHBvdXIgLS1uYW1lc3BhY2VcbiIKIAotIzogZ2l0LmM6MjAxCisjOiBnaXQuYzoyMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gZGlyZWN0b3J5IGdpdmVuIGZvciAtLXdvcmstdHJlZVxuIgogbXNnc3RyICJhdWN1biByw6lwZXJ0b2lyZSBmb3VybmkgcG91ciAtLXdvcmstdHJlZVxuIgogCi0jOiBnaXQuYzoyMTUKKyM6IGdpdC5jOjIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBwcmVmaXggZ2l2ZW4gZm9yIC0tc3VwZXItcHJlZml4XG4iCiBtc2dzdHIgImF1Y3VuIHByw6lmaXhlIGZvdXJuaSBwb3VyIC0tc3VwZXItcHJlZml4XG4iCiAKLSM6IGdpdC5jOjIzNworIzogZ2l0LmM6MjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIi1jIGV4cGVjdHMgYSBjb25maWd1cmF0aW9uIHN0cmluZ1xuIgogbXNnc3RyICItYyByZXF1aWVydCB1bmUgY2hhw65uZSBkZSBjb25maWd1cmF0aW9uXG4iCiAKLSM6IGdpdC5jOjI3NQorIzogZ2l0LmM6Mjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLUNcbiIKIG1zZ3N0ciAiYXVjdW4gcsOpcGVydG9pcmUgZm91cm5pIHBvdXIgLUNcbiIKIAotIzogZ2l0LmM6MzAwCisjOiBnaXQuYzozMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICVzXG4iCiBtc2dzdHIgIm9wdGlvbiBpbmNvbm51ZcKgOiAlc1xuIgogCi0jOiBnaXQuYzo3MTkKKyM6IGdpdC5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ3aGlsZSBleHBhbmRpbmcgYWxpYXMgJyVzJzogJyVzJyIKK21zZ3N0ciAibG9ycyBkZSBsJ2V4cGFuc2lvbiBkZSBsJ2FsaWFzICclcyfCoDogJyVzJyIKKworIzogZ2l0LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJhbGlhcyAnJXMnIGNoYW5nZXMgZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuIgorIllvdSBjYW4gdXNlICchZ2l0JyBpbiB0aGUgYWxpYXMgdG8gZG8gdGhpcyIKK21zZ3N0ciAiIgorImwnYWxpYXMgJyVzJyBtb2RpZmllIGxlcyB2YXJpYWJsZXMgZCdlbnZpcm9ubmVtZW50LlxuIgorIlZvdXMgcG91dmV6IHV0aWxpc2VyICchZ2l0JyBkYW5zIGwnYWxpYXMgcG91ciBsZSBmYWlyZSIKKworIzogZ2l0LmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgImVtcHR5IGFsaWFzIGZvciAlcyIKK21zZ3N0ciAiYWxpYXMgdmlkZSBwb3VyICVzIgorCisjOiBnaXQuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjdXJzaXZlIGFsaWFzOiAlcyIKK21zZ3N0ciAiYWxpYXMgcmVjdXJzaWbCoDogJXMiCisKKyM6IGdpdC5jOjQ1OQorbXNnaWQgIndyaXRlIGZhaWx1cmUgb24gc3RhbmRhcmQgb3V0cHV0IgorbXNnc3RyICLDqWNoZWMgZCfDqWNyaXR1cmUgc3VyIGxhIHNvcnRpZSBzdGFuZGFyZCIKKworIzogZ2l0LmM6NDYxCittc2dpZCAidW5rbm93biB3cml0ZSBmYWlsdXJlIG9uIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAiw6ljaGVjIGluY29ubnUgZCfDqWNyaXR1cmUgc3VyIGxhIHNvcnRpZSBzdGFuZGFyZCIKKworIzogZ2l0LmM6NDYzCittc2dpZCAiY2xvc2UgZmFpbGVkIG9uIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAiw6ljaGVjIGRlIGZlcm1ldHVyZSBkZSBsYSBzb3J0aWUgc3RhbmRhcmQiCisKKyM6IGdpdC5jOjc5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhbGlhcyBsb29wIGRldGVjdGVkOiBleHBhbnNpb24gb2YgJyVzJyBkb2VzIG5vdCB0ZXJtaW5hdGU6JXMiCiBtc2dzdHIgImJvdWNsZSBkJ2FsaWFzIGTDqXRlY3TDqWXCoDogbCdleHBhbnNpb24gZGUgJyVzJyBuZSBmaW5pdCBqYW1haXPCoDogJXMiCiAKLSM6IGdpdC5jOjgwMgorIzogZ2l0LmM6ODQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBoYW5kbGUgJXMgYXMgYSBidWlsdGluIgorbXNnc3RyICJpbXBvc3NpYmxlIGQndXRpbGlzZXIgJXMgY29tbWUgdW5lIGZvbmN0aW9uIGludMOpZ3LDqWUiCisKKyM6IGdpdC5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzXG4iCisiXG4iCittc2dzdHIgIiIKKyJ1c2FnZSA6ICVzXG4iCisiXG4iCisKKyM6IGdpdC5jOjg3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBhbnNpb24gb2YgYWxpYXMgJyVzJyBmYWlsZWQ7ICclcycgaXMgbm90IGEgZ2l0IGNvbW1hbmRcbiIKIG1zZ3N0ciAiIgogImwnZXhwYW5zaW9uIGRlIGwnYWxpYXMgJyVzJyBhIMOpY2hvdcOpwqA6ICclcycgbidlc3QgcGFzIHVuZSBjb21tYW5kZSBnaXRcbiIKIAotIzogZ2l0LmM6ODE0CisjOiBnaXQuYzo4ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJ1biBjb21tYW5kICclcyc6ICVzXG4iCiBtc2dzdHIgIsOpY2hlYyBhdSBsYW5jZW1lbnQgZGUgbGEgY29tbWFuZGUgJyVzJ8KgOiAlc1xuIgogCi0jOiBodHRwLmM6Mzc0CisjOiBodHRwLmM6Mzc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5lZ2F0aXZlIHZhbHVlIGZvciBodHRwLnBvc3RidWZmZXI7IGRlZmF1bHRpbmcgdG8gJWQiCiBtc2dzdHIgIiIKICJ2YWxldXIgbsOpZ2F0aXZlIHBvdXIgaHR0cC5wb3N0YnVmZmVyIDsgdXRpbGlzYXRpb24gZGUgbGEgdmFsZXVyIHBhciBkw6lmYXV0ICVkIgogCi0jOiBodHRwLmM6Mzk1CisjOiBodHRwLmM6Mzk5CiBtc2dpZCAiRGVsZWdhdGlvbiBjb250cm9sIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy4yMi4wIgogbXNnc3RyICJMYSBkw6lsw6lnYXRpb24gZGUgY29tbWFuZGUgbidlc3QgcGFzIHN1cHBvcnTDqSBhdmVjIGN1UkwgPCA3LjIyLjAiCiAKLSM6IGh0dHAuYzo0MDQKKyM6IGh0dHAuYzo0MDgKIG1zZ2lkICJQdWJsaWMga2V5IHBpbm5pbmcgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjQ0LjAiCiBtc2dzdHIgIkwnw6lwaW5nbGFnZSBkZSBjbMOpIHB1YmxpcXVlIG4nZXN0IHBhcyBzdXBwb3J0w6kgYXZlYyBjdVJMIDwgNy40NC4wIgogCi0jOiBodHRwLmM6ODM3CisjOiBodHRwLmM6ODc2CiBtc2dpZCAiQ1VSTFNTTE9QVF9OT19SRVZPS0Ugbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjQ0LjAiCiBtc2dzdHIgIkNVUkxTU0xPUFRfTk9fUkVNT1ZFIG4nZXN0IHBhcyBzdXBwb3J0w6kgYXZlYyBjdVJMIDwgNy40NC4wIgogCi0jOiBodHRwLmM6OTEwCisjOiBodHRwLmM6OTQ5CiBtc2dpZCAiUHJvdG9jb2wgcmVzdHJpY3Rpb25zIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy4xOS40IgogbXNnc3RyICJMZXMgcmVzdHJpY3Rpb25zIGRlIHByb3RvY29sZSBuZSBzb250IHBhcyBzdXBwb3J0w6lzIGF2ZWMgY3VSTCA8IDcuMTkuNCIKIAotIzogaHR0cC5jOjEwNDYKKyM6IGh0dHAuYzoxMDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuc3VwcG9ydGVkIFNTTCBiYWNrZW5kICclcycuIFN1cHBvcnRlZCBTU0wgYmFja2VuZHM6IgogbXNnc3RyICJEb3JzYWxlIFNTTCAnJXMnIG5vbiBzdXBwb3J0w6llLiBEb3JzYWxlcyBTU0wgc3VwcG9ydMOpZXPCoDoiCiAKLSM6IGh0dHAuYzoxMDUzCisjOiBodHRwLmM6MTA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0IFNTTCBiYWNrZW5kIHRvICclcyc6IGNVUkwgd2FzIGJ1aWx0IHdpdGhvdXQgU1NMIGJhY2tlbmRzIgogbXNnc3RyICIiCiAiSW1wb3NzaWJsZSBkZSByw6lnbGVyIGxhIGRvcnNhbGUgU1NMIMOgICclcyfCoDogY1VSTCBhIMOpdMOpIGNvbnN0cnVpdCBzYW5zICIKICJkb3JzYWxlIFNTTCIKIAotIzogaHR0cC5jOjEwNTcKKyM6IGh0dHAuYzoxMDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXQgU1NMIGJhY2tlbmQgdG8gJyVzJzogYWxyZWFkeSBzZXQiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc3DDqWNpZmllciBsZSBkb3JzYWwgU1NMIMOgICclcyfCoDogZMOpasOgIHNww6ljaWZpw6kiCiAKLSM6IGh0dHAuYzoxOTIxCisjOiBodHRwLmM6MTk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidW5hYmxlIHRvIHVwZGF0ZSB1cmwgYmFzZSBmcm9tIHJlZGlyZWN0aW9uOlxuIgpAQCAtMTg4NjIsMzkgKzIyMjA4LDE3OSBAQAogIiAgICAgIGRlbWFuZMOpwqA6ICVzXG4iCiAiICByZWRpcmVjdGlvbsKgOiAlcyIKIAotIzogcmVtb3RlLWN1cmwuYzo0MDEKKyM6IHJlbW90ZS1jdXJsLmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcXVvdGluZyBpbiBwdXNoLW9wdGlvbiB2YWx1ZTogJyVzJyIKK21zZ3N0ciAiY2l0YXRpb24gaW52YWxpZGUgZGFucyBsYSB2YWxldXIgcHVzaC1vcHRpb27CoDogJyVzJyIKKworIzogcmVtb3RlLWN1cmwuYzoyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNpbmZvL3JlZnMgbm90IHZhbGlkOiBpcyB0aGlzIGEgZ2l0IHJlcG9zaXRvcnk/IgorbXNnc3RyICIlc2luZm8vcmVmcyBuJ2VzdCBwYXMgdmFsaWRlIDogZXN0LWNlIGJpZW4gdW4gZMOpcMO0dCBnaXTCoD8iCisKKyM6IHJlbW90ZS1jdXJsLmM6MzY0Cittc2dpZCAiaW52YWxpZCBzZXJ2ZXIgcmVzcG9uc2U7IGV4cGVjdGVkIHNlcnZpY2UsIGdvdCBmbHVzaCBwYWNrZXQiCittc2dzdHIgInLDqXBvbnNlIGR1IHNlcnZldXIgaW52YWxpZGXCoDsgc2VydmljZSBhdHRlbmR1LCBwYXF1ZXQgZGUgdmlkYWdlIHJlw6d1IgorCisjOiByZW1vdGUtY3VybC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNlcnZlciByZXNwb25zZTsgZ290ICclcyciCittc2dzdHIgInLDqXBvbnNlIGR1IHNlcnZldXIgaW52YWxpZGXCoDsgJyVzJyByZcOndSIKKworIzogcmVtb3RlLWN1cmwuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVwb3NpdG9yeSAnJXMnIG5vdCBmb3VuZCIKK21zZ3N0ciAiZMOpcMO0dCAnJXMnIG5vbiB0cm91dsOpIgorCisjOiByZW1vdGUtY3VybC5jOjQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJBdXRoZW50aWNhdGlvbiBmYWlsZWQgZm9yICclcyciCittc2dzdHIgIsOJY2hlYyBkJ2F1dGhlbnRpZmljYXRpb24gcG91ciAnJXMnIgorCisjOiByZW1vdGUtY3VybC5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyc6ICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnYWNjw6lkZXIgw6AgJyVzJ8KgOiAlcyIKKworIzogcmVtb3RlLWN1cmwuYzo0NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVkaXJlY3RpbmcgdG8gJXMiCiBtc2dzdHIgInJlZGlyZWN0aW9uIHZlcnMgJXMiCiAKLSM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oOjYwCisjOiByZW1vdGUtY3VybC5jOjU5MworbXNnaWQgInNob3VsZG4ndCBoYXZlIEVPRiB3aGVuIG5vdCBnZW50bGUgb24gRU9GIgorbXNnc3RyICJuZSBkZXZyYWl0IHBhcyByZWNldm9pciBPRUYgcXVhbmQgb24gbidlc3QgcGFzIGdlbnRpbCBzdXIgRU9GIgorCisjOiByZW1vdGUtY3VybC5jOjY3MworbXNnaWQgInVuYWJsZSB0byByZXdpbmQgcnBjIHBvc3QgZGF0YSAtIHRyeSBpbmNyZWFzaW5nIGh0dHAucG9zdEJ1ZmZlciIKK21zZ3N0ciAiIgorImltcG9zc2libGUgZGUgcmVtYm9iaW5lciBsZSBkb25uw6llcyBwb3N0IHJwYyAtIGVzc2F5ZXIgZCdhdWdtZW50ZXIgaHR0cC4iCisicG9zdEJ1ZmZlciIKKworIzogcmVtb3RlLWN1cmwuYzo3MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUlBDIGZhaWxlZDsgJXMiCittc2dzdHIgIsOpY2hlYyBSUEPCoDsgJXMiCisKKyM6IHJlbW90ZS1jdXJsLmM6NzczCittc2dpZCAiY2Fubm90IGhhbmRsZSBwdXNoZXMgdGhpcyBiaWciCittc2dzdHIgImltcG9zc2libGUgZGUgZ8OpcmVyIGRlcyBwb3Vzc8OpZXMgYXVzc2kgZ3Jvc3NlcyIKKworIzogcmVtb3RlLWN1cmwuYzo4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRlZmxhdGUgcmVxdWVzdDsgemxpYiBkZWZsYXRlIGVycm9yICVkIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNvbXByZXNzZXIgbGEgcmVxdcOqdGXCoDsgZXJyZXVyIGRlIGNvbXByZXNzaW9uIHpsaWIgJWQiCisKKyM6IHJlbW90ZS1jdXJsLmM6ODkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZWZsYXRlIHJlcXVlc3Q7IHpsaWIgZW5kIGVycm9yICVkIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNvbXByZXNzZXIgbGEgcmVxdcOqdGXCoDsgZXJyZXVyIGRlIGZpbiB6bGliICVkIgorCisjOiByZW1vdGUtY3VybC5jOjEwMjMKK21zZ2lkICJkdW1iIGh0dHAgdHJhbnNwb3J0IGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjYXBhYmlsaXRpZXMiCittc2dzdHIgImxlIHByb3RvY29sZSBodHRwIGlkaW90IG5lIHN1cHBvcnRlIGxhIGNhcGFjaXTDqSBzdXBlcmZpY2llbGxlIgorCisjOiByZW1vdGUtY3VybC5jOjEwMzcKK21zZ2lkICJmZXRjaCBmYWlsZWQuIgorbXNnc3RyICLDqWNoZWMgZHUgcsOpY3Vww6lyYXRpb24uIgorCisjOiByZW1vdGUtY3VybC5jOjEwODUKK21zZ2lkICJjYW5ub3QgZmV0Y2ggYnkgc2hhMSBvdmVyIHNtYXJ0IGh0dHAiCittc2dzdHIgImltcG9zc2libGUgZGUgcsOpY3Vww6lyZXIgcGFyIHNoYTEgc3VyIGh0dHAgaW50ZWxsaWdlbnQiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTEyOSByZW1vdGUtY3VybC5jOjExMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJvdG9jb2wgZXJyb3I6IGV4cGVjdGVkIHNoYS9yZWYsIGdvdCAnJXMnIgorbXNnc3RyICJlcnJldXIgZGUgcHJvdG9jb2xlwqA6IHNoYS9yZWYgYXR0ZW5kdSwgJyVzJyB0cm91dsOpIgorCisjOiByZW1vdGUtY3VybC5jOjExNDcgcmVtb3RlLWN1cmwuYzoxMjYxCisjLCBjLWZvcm1hdAorbXNnaWQgImh0dHAgdHJhbnNwb3J0IGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgImxlIHRyYW5zcG9ydCBodHRwIG5lIHN1cHBvcnRlIHBhcyAlcyIKKworIzogcmVtb3RlLWN1cmwuYzoxMTgzCittc2dpZCAiZ2l0LWh0dHAtcHVzaCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBnaXQtaHR0cC1wdXNoIgorCisjOiByZW1vdGUtY3VybC5jOjEzNjcKK21zZ2lkICJyZW1vdGUtY3VybDogdXNhZ2U6IGdpdCByZW1vdGUtY3VybCA8cmVtb3RlPiBbPHVybD5dIgorbXNnc3RyICJyZW1vdGUtY3VybDogdXNhZ2U6IGdpdCByZW1vdGUtY3VybCA8ZGlzdGFudD4gWzx1cmw+XSIKKworIzogcmVtb3RlLWN1cmwuYzoxMzk5Cittc2dpZCAicmVtb3RlLWN1cmw6IGVycm9yIHJlYWRpbmcgY29tbWFuZCBzdHJlYW0gZnJvbSBnaXQiCittc2dzdHIgInJlbW90ZS1jdXJswqA6IGVycmV1ciBkZSBsZWN0dXJlIGR1IGZsdXggZGUgY29tbWFuZGUgZGVwdWlzIGdpdCIKKworIzogcmVtb3RlLWN1cmwuYzoxNDA2Cittc2dpZCAicmVtb3RlLWN1cmw6IGZldGNoIGF0dGVtcHRlZCB3aXRob3V0IGEgbG9jYWwgcmVwbyIKK21zZ3N0ciAicmVtb3RlLWN1cmzCoDogcsOpY3Vww6lyYXRpb24gdGVudMOpZSBzYW5zIGTDqXDDtHQgbG9jYWwiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUtY3VybDogdW5rbm93biBjb21tYW5kICclcycgZnJvbSBnaXQiCittc2dzdHIgInJlbW90ZS1jdXJswqA6IGNvbW1hbmRlIGluY29ubnVlICclcycgZGVwdWlzIGdpdCIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmg6ODUKIG1zZ2lkICJhcmdzIgogbXNnc3RyICJhcmdzIgogCi0jOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaDo2MQorIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmg6ODYKIG1zZ2lkICJvYmplY3QgZmlsdGVyaW5nIgogbXNnc3RyICJmaWx0cmFnZSBkJ29iamV0IgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MTU0CisjOiBwYXJzZS1vcHRpb25zLmg6MTgzCiBtc2dpZCAiZXhwaXJ5LWRhdGUiCiBtc2dzdHIgImRhdGUtZCdleHBpcmF0aW9uIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MTY5CisjOiBwYXJzZS1vcHRpb25zLmg6MTk3CiBtc2dpZCAibm8tb3AgKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpIgogbXNnc3RyICJzYW5zIGFjdGlvbiAocsOpdHJvY29tcGF0aWJpbGl0w6kpIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjYxCisjOiBwYXJzZS1vcHRpb25zLmg6MzA5CiBtc2dpZCAiYmUgbW9yZSB2ZXJib3NlIgogbXNnc3RyICLDqnRyZSBwbHVzIHZlcmJldXgiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNjMKKyM6IHBhcnNlLW9wdGlvbnMuaDozMTEKIG1zZ2lkICJiZSBtb3JlIHF1aWV0IgogbXNnc3RyICLDqnRyZSBwbHVzIHNpbGVuY2lldXgiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNjkKKyM6IHBhcnNlLW9wdGlvbnMuaDozMTcKIG1zZ2lkICJ1c2UgPG4+IGRpZ2l0cyB0byBkaXNwbGF5IFNIQS0xcyIKIG1zZ3N0ciAidXRpbGlzZXIgPG4+IGNoaWZmcmVzIHBvdXIgYWZmaWNoZXIgbGVzIFNIQS0xcyIKIAorIzogcGFyc2Utb3B0aW9ucy5oOjMzNgorbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCittc2dzdHIgImNvbW1lbnQgw6lsaW1pbmVyIGxlcyBlc3BhY2VzIGV0IGxlcyBjb21tZW50YWlyZXMgIyBkdSBtZXNzYWdlIgorCisjOiBwYXJzZS1vcHRpb25zLmg6MzM3Cittc2dpZCAicmVhZCBwYXRoc3BlYyBmcm9tIGZpbGUiCittc2dzdHIgImxpcmUgbGVzIHNww6ljaWZpY2F0ZXVycyBkZSBmaWNoaWVyIGRlcHVpcyBmaWNoaWVyIgorCisjOiBwYXJzZS1vcHRpb25zLmg6MzM4Cittc2dpZCAiIgorIndpdGggLS1wYXRoc3BlYy1mcm9tLWZpbGUsIHBhdGhzcGVjIGVsZW1lbnRzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgorbXNnc3RyICJhdmVjIC0tcGF0aHNwZWMtZnJvbS1maWxlLCBsZXMgc3DDqWNpZmljYXRldXJzIGRlIGNoZW1pbiBzb250IHPDqXBhcsOpcyBwYXIgdW4gY2FyYWN0w6hyZSBOVUwiCisKKyM6IHJlZi1maWx0ZXIuaDoxMDEKK21zZ2lkICJrZXkiCittc2dzdHIgImNsw6kiCisKKyM6IHJlZi1maWx0ZXIuaDoxMDEKK21zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCittc2dzdHIgIm5vbSBkdSBjaGFtcCBzZXJ2YW50IMOgIHRyaWVyIgorCisjOiByZXJlcmUuaDo0NAorbXNnaWQgInVwZGF0ZSB0aGUgaW5kZXggd2l0aCByZXVzZWQgY29uZmxpY3QgcmVzb2x1dGlvbiBpZiBwb3NzaWJsZSIKK21zZ3N0ciAiIgorIm1ldCDDoCBqb3VyIGwnaW5kZXggYXZlYyBsZXMgcsOpc29sdXRpb25zIGRlIGNvbmZsaXQgcsOpdXRpbGlzw6llcyBzaSBwb3NzaWJsZSIKKworIzogd3Qtc3RhdHVzLmg6NjcKK21zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKK21zZ3N0ciAiSEVBRCBkw6l0YWNow6llIHN1ciAiCisKKyM6IHd0LXN0YXR1cy5oOjY4Cittc2dpZCAiSEVBRCBkZXRhY2hlZCBmcm9tICIKK21zZ3N0ciAiSEVBRCBkw6l0YWNow6llIGRlcHVpcyAiCisKICM6IGNvbW1hbmQtbGlzdC5oOjUwCiBtc2dpZCAiQWRkIGZpbGUgY29udGVudHMgdG8gdGhlIGluZGV4IgogbXNnc3RyICJBam91dGVyIGxlIGNvbnRlbnUgZGUgZmljaGllcnMgZGFucyBsJ2luZGV4IgpAQCAtMTkxNjAsOSArMjI2NDYsOSBAQAogbXNnc3RyICJOYXZpZ3VlciBpbnN0YW50YW7DqW1lbnQgdm90cmUgZMOpcMO0dCBkZSB0cmF2YWlsIGRhbnMgZ2l0d2ViIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMTMKLW1zZ2lkICJhZGQgb3IgcGFyc2Ugc3RydWN0dXJlZCBpbmZvcm1hdGlvbiBpbiBjb21taXQgbWVzc2FnZXMiCittc2dpZCAiQWRkIG9yIHBhcnNlIHN0cnVjdHVyZWQgaW5mb3JtYXRpb24gaW4gY29tbWl0IG1lc3NhZ2VzIgogbXNnc3RyICIiCi0iYWpvdXRlciBvdSBhbmFseXNlciBsJ2luZm9ybWF0aW9uIHN0cnVjdHVyw6llIGRhbnMgbGVzIG1lc3NhZ2VzIGRlIHZhbGlkYXRpb24iCisiQWpvdXRlciBvdSBhbmFseXNlciBsJ2luZm9ybWF0aW9uIHN0cnVjdHVyw6llIGRhbnMgbGVzIG1lc3NhZ2VzIGRlIHZhbGlkYXRpb24iCiAKICM6IGNvbW1hbmQtbGlzdC5oOjExNAogbXNnaWQgIlRoZSBHaXQgcmVwb3NpdG9yeSBicm93c2VyIgpAQCAtMTkzNDIsMjI2ICsyMjgyOCwyMzcgQEAKIG1zZ3N0ciAiUsOpaW5pdGlhbGlzZXIgbGEgSEVBRCBjb3VyYW50ZSDDoCBsJ8OpdGF0IHNww6ljaWZpw6kiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE1NgorbXNnaWQgIlJlc3RvcmUgd29ya2luZyB0cmVlIGZpbGVzIgorbXNnc3RyICJyZXN0YXVyZXIgbGVzIGZpY2hpZXJzIGwnYXJicmUgZGUgdHJhdmFpbCIKKworIzogY29tbWFuZC1saXN0Lmg6MTU3CiBtc2dpZCAiUmV2ZXJ0IHNvbWUgZXhpc3RpbmcgY29tbWl0cyIKIG1zZ3N0ciAiSW52ZXJzZXIgZGVzIGNvbW1pdHMgZXhpc3RhbnRzIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNTcKKyM6IGNvbW1hbmQtbGlzdC5oOjE1OAogbXNnaWQgIkxpc3RzIGNvbW1pdCBvYmplY3RzIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlciIKIG1zZ3N0ciAiQWZmaWNoZXIgbGVzIG9iamV0cyBjb21taXQgZGFucyBsJ29yZHJlIGNocm9ub2xvZ2lxdWUgaW52ZXJzZSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTU4CisjOiBjb21tYW5kLWxpc3QuaDoxNTkKIG1zZ2lkICJQaWNrIG91dCBhbmQgbWFzc2FnZSBwYXJhbWV0ZXJzIgogbXNnc3RyICJBbmFseXNlciBldCBwcsOpcGFyZXIgbGVzIHBhcmFtw6h0cmVzIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNTkKKyM6IGNvbW1hbmQtbGlzdC5oOjE2MAogbXNnaWQgIlJlbW92ZSBmaWxlcyBmcm9tIHRoZSB3b3JraW5nIHRyZWUgYW5kIGZyb20gdGhlIGluZGV4IgogbXNnc3RyICJTdXBwcmltZXIgZGVzIGZpY2hpZXJzIGRlIGxhIGNvcGllIGRlIHRyYXZhaWwgZXQgZGUgbCdpbmRleCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTYwCisjOiBjb21tYW5kLWxpc3QuaDoxNjEKIG1zZ2lkICJTZW5kIGEgY29sbGVjdGlvbiBvZiBwYXRjaGVzIGFzIGVtYWlscyIKIG1zZ3N0ciAiRW52b3llciB1biBlbnNlbWJsZSBkZSBwYXRjaHMgY29tbWUgY291cnJpZWxzIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjEKKyM6IGNvbW1hbmQtbGlzdC5oOjE2MgogbXNnaWQgIlB1c2ggb2JqZWN0cyBvdmVyIEdpdCBwcm90b2NvbCB0byBhbm90aGVyIHJlcG9zaXRvcnkiCiBtc2dzdHIgIlBvdXNzZXIgbGVzIG9iamV0cyBzdXIgdW4gYXV0cmUgZMOpcMO0dCB2aWEgbGUgcHJvdG9jb2xlIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTYyCisjOiBjb21tYW5kLWxpc3QuaDoxNjMKIG1zZ2lkICJSZXN0cmljdGVkIGxvZ2luIHNoZWxsIGZvciBHaXQtb25seSBTU0ggYWNjZXNzIgogbXNnc3RyICJzaGVsbCBkZSBsb2dpbiByZXN0cmVpbnQgcG91ciB1biBhY2PDqHMgU1NIIHZlcnMgR2l0IHNldWxlbWVudCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTYzCisjOiBjb21tYW5kLWxpc3QuaDoxNjQKIG1zZ2lkICJTdW1tYXJpemUgJ2dpdCBsb2cnIG91dHB1dCIKIG1zZ3N0ciAiUsOpc3VtZXIgbGEgc29ydGllIGRlICdnaXQgbG9nJyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTY0CisjOiBjb21tYW5kLWxpc3QuaDoxNjUKIG1zZ2lkICJTaG93IHZhcmlvdXMgdHlwZXMgb2Ygb2JqZWN0cyIKIG1zZ3N0ciAiQWZmaWNoZXIgZGlmZsOpcmVudHMgdHlwZXMgZCdvYmpldHMiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2NQorIzogY29tbWFuZC1saXN0Lmg6MTY2CiBtc2dpZCAiU2hvdyBicmFuY2hlcyBhbmQgdGhlaXIgY29tbWl0cyIKIG1zZ3N0ciAiQWZmaWNoZXIgbGVzIGJyYW5jaGVzIGV0IGxldXJzIGNvbW1pdHMiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2NgorIzogY29tbWFuZC1saXN0Lmg6MTY3CiBtc2dpZCAiU2hvdyBwYWNrZWQgYXJjaGl2ZSBpbmRleCIKIG1zZ3N0ciAiQWZmaWNoZXIgbCdpbmRleCBkZSBsJ2FyY2hpdmUgZW1wYXF1ZXTDqWUiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2NworIzogY29tbWFuZC1saXN0Lmg6MTY4CiBtc2dpZCAiTGlzdCByZWZlcmVuY2VzIGluIGEgbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiTGlzdGVyIGxlcyByw6lmw6lyZW5jZXMgZHUgZMOpcMO0dCBsb2NhbCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTY4CisjOiBjb21tYW5kLWxpc3QuaDoxNjkKIG1zZ2lkICJHaXQncyBpMThuIHNldHVwIGNvZGUgZm9yIHNoZWxsIHNjcmlwdHMiCiBtc2dzdHIgIkxlIGNvZGUgZCdpbml0aWFsaXNhdGlvbiBpMThuIHBvdXIgbGVzIHNjcmlwdHMgc2hlbGwiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2OQorIzogY29tbWFuZC1saXN0Lmg6MTcwCiBtc2dpZCAiQ29tbW9uIEdpdCBzaGVsbCBzY3JpcHQgc2V0dXAgY29kZSIKIG1zZ3N0ciAiTGUgY29kZSBkJ2luaXRpYWxpc2F0aW9uIGNvbW11biBhdXggc2NyaXB0cyBzaGVsbCBHaXQiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3MAorIzogY29tbWFuZC1saXN0Lmg6MTcxCittc2dpZCAiSW5pdGlhbGl6ZSBhbmQgbW9kaWZ5IHRoZSBzcGFyc2UtY2hlY2tvdXQiCittc2dzdHIgIkluaXRpYWxpc2VyIGV0IG1vZGlmaWVyIGwnZXh0cmFjdGlvbiBwYXJ0aWVsbGUiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MgogbXNnaWQgIlN0YXNoIHRoZSBjaGFuZ2VzIGluIGEgZGlydHkgd29ya2luZyBkaXJlY3RvcnkgYXdheSIKIG1zZ3N0ciAiUmVtaXNlciBsZXMgbW9kaWZpY2F0aW9ucyBkJ3VuIHLDqXBlcnRvaXJlIGRlIHRyYXZhaWwgc2FsZSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTcxCisjOiBjb21tYW5kLWxpc3QuaDoxNzMKIG1zZ2lkICJBZGQgZmlsZSBjb250ZW50cyB0byB0aGUgc3RhZ2luZyBhcmVhIgogbXNnc3RyICJBam91dGVyIGxlIGNvbnRlbnUgZGUgZmljaGllcnMgw6AgbCdpbmRleCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTcyCisjOiBjb21tYW5kLWxpc3QuaDoxNzQKIG1zZ2lkICJTaG93IHRoZSB3b3JraW5nIHRyZWUgc3RhdHVzIgogbXNnc3RyICJBZmZpY2hlciBsJ8OpdGF0IGRlIGxhIGNvcGllIGRlIHRyYXZhaWwiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3MworIzogY29tbWFuZC1saXN0Lmg6MTc1CiBtc2dpZCAiUmVtb3ZlIHVubmVjZXNzYXJ5IHdoaXRlc3BhY2UiCiBtc2dzdHIgIlJldGlyZXIgbGVzIGVzcGFjZXMgaW51dGlsZXMiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3NAorIzogY29tbWFuZC1saXN0Lmg6MTc2CiBtc2dpZCAiSW5pdGlhbGl6ZSwgdXBkYXRlIG9yIGluc3BlY3Qgc3VibW9kdWxlcyIKIG1zZ3N0ciAiSW5pdGlhbGlzZXIsIG1ldHRyZSDDoCBqb3VyIGV0IGluc3BlY3RlciBsZXMgc291cy1tb2R1bGVzIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzUKKyM6IGNvbW1hbmQtbGlzdC5oOjE3NwogbXNnaWQgIkJpZGlyZWN0aW9uYWwgb3BlcmF0aW9uIGJldHdlZW4gYSBTdWJ2ZXJzaW9uIHJlcG9zaXRvcnkgYW5kIEdpdCIKIG1zZ3N0ciAiT3DDqXJhdGlvbiBCaWRpcmVjdGlvbm5lbGxlcyBlbnRyZSB1biBkw6lww7R0IFN1YnZlcnNpb24gZXQgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzYKKyM6IGNvbW1hbmQtbGlzdC5oOjE3OAorbXNnaWQgIlN3aXRjaCBicmFuY2hlcyIKK21zZ3N0ciAiQmFzY3VsZXIgZGUgYnJhbmNoZSIKKworIzogY29tbWFuZC1saXN0Lmg6MTc5CiBtc2dpZCAiUmVhZCwgbW9kaWZ5IGFuZCBkZWxldGUgc3ltYm9saWMgcmVmcyIKIG1zZ3N0ciAiTGlyZSwgbW9kaWZpZXIgZXQgc3VwcHJpbWVyIGxlcyByw6lmw6lyZW5jZXMgc3ltYm9saXF1ZXMiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3NworIzogY29tbWFuZC1saXN0Lmg6MTgwCiBtc2dpZCAiQ3JlYXRlLCBsaXN0LCBkZWxldGUgb3IgdmVyaWZ5IGEgdGFnIG9iamVjdCBzaWduZWQgd2l0aCBHUEciCiBtc2dzdHIgIiIKICJDcsOpZXIsIGxpc3Rlciwgc3VwcHJpbWVyIG91IHbDqXJpZmllciB1biBvYmpldCBkJ8OpdGlxdWV0dGUgc2lnbsOpIGF2ZWMgR1BHIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzgKKyM6IGNvbW1hbmQtbGlzdC5oOjE4MQogbXNnaWQgIkNyZWF0ZXMgYSB0ZW1wb3JhcnkgZmlsZSB3aXRoIGEgYmxvYidzIGNvbnRlbnRzIgogbXNnc3RyICJDcsOpZXIgdW4gZmljaGllciB0ZW1wb3JhaXJlIGF2ZWMgbGUgY29udGVudSBkJ3VuIGJsb2IiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3OQorIzogY29tbWFuZC1saXN0Lmg6MTgyCiBtc2dpZCAiVW5wYWNrIG9iamVjdHMgZnJvbSBhIHBhY2tlZCBhcmNoaXZlIgogbXNnc3RyICJEw6lwYXF1ZXRlciBsZXMgb2JqZXRzIGRlcHVpcyB1bmUgYXJjaGl2ZSBlbXBhcXVldMOpZSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTgwCisjOiBjb21tYW5kLWxpc3QuaDoxODMKIG1zZ2lkICJSZWdpc3RlciBmaWxlIGNvbnRlbnRzIGluIHRoZSB3b3JraW5nIHRyZWUgdG8gdGhlIGluZGV4IgogbXNnc3RyICJFbnJlZ2lzdHJlciBsZSBjb250ZW51IGQndW4gZmljaGllciBkZSBsJ2FyYnJlIGRlIHRyYXZhaWwgZGFucyBsJ2luZGV4IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODEKKyM6IGNvbW1hbmQtbGlzdC5oOjE4NAogbXNnaWQgIlVwZGF0ZSB0aGUgb2JqZWN0IG5hbWUgc3RvcmVkIGluIGEgcmVmIHNhZmVseSIKIG1zZ3N0ciAiIgogIk1ldHRyZSDDoCBqb3VyIGxlIG5vbSBkJ29iamV0IHN0b2Nrw6kgZGFucyB1bmUgcsOpZsOpcmVuY2UgZW4gdG91dGUgc8OpY3VyaXTDqSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTgyCisjOiBjb21tYW5kLWxpc3QuaDoxODUKIG1zZ2lkICJVcGRhdGUgYXV4aWxpYXJ5IGluZm8gZmlsZSB0byBoZWxwIGR1bWIgc2VydmVycyIKIG1zZ3N0ciAiIgogIk1ldHRyZSDDoCBqb3VyIGxlIGZpY2hpZXIgZCdpbmZvcm1hdGlvbnMgYXV4aWxpYWlyZXMgcG91ciBhaWRlciBsZXMgc2VydmV1cnMgIgogImlkaW90cyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTgzCisjOiBjb21tYW5kLWxpc3QuaDoxODYKIG1zZ2lkICJTZW5kIGFyY2hpdmUgYmFjayB0byBnaXQtYXJjaGl2ZSIKIG1zZ3N0ciAiUmVudm95ZXIgdW5lIGFyY2hpdmUgZGFucyBnaXQtYXJjaGl2ZSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTg0CisjOiBjb21tYW5kLWxpc3QuaDoxODcKIG1zZ2lkICJTZW5kIG9iamVjdHMgcGFja2VkIGJhY2sgdG8gZ2l0LWZldGNoLXBhY2siCiBtc2dzdHIgIlJlbnZveWVyIGRlcyBvYmpldHMgZW1wYXF1ZXTDqXMgZGFucyBnaXQtZmV0Y2gtcGFjayIKIAotIzogY29tbWFuZC1saXN0Lmg6MTg1CisjOiBjb21tYW5kLWxpc3QuaDoxODgKIG1zZ2lkICJTaG93IGEgR2l0IGxvZ2ljYWwgdmFyaWFibGUiCiBtc2dzdHIgIkFmZmljaGVyIHVuIHZhcmlhYmxlIGxvZ2lxdWUgZGUgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODYKKyM6IGNvbW1hbmQtbGlzdC5oOjE4OQogbXNnaWQgIkNoZWNrIHRoZSBHUEcgc2lnbmF0dXJlIG9mIGNvbW1pdHMiCiBtc2dzdHIgIlbDqXJpZmllciBsYSBzaWduYXR1cmUgR1BHIGRlIGNvbW1pdHMiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4NworIzogY29tbWFuZC1saXN0Lmg6MTkwCiBtc2dpZCAiVmFsaWRhdGUgcGFja2VkIEdpdCBhcmNoaXZlIGZpbGVzIgogbXNnc3RyICJWYWxpZGVyIGRlcyBmaWNoaWVycyBkJ2FyY2hpdmUgR2l0IGVtcGFxdWV0w6lzIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODgKKyM6IGNvbW1hbmQtbGlzdC5oOjE5MQogbXNnaWQgIkNoZWNrIHRoZSBHUEcgc2lnbmF0dXJlIG9mIHRhZ3MiCiBtc2dzdHIgIlbDqXJpZmllciBsYSBzaWduYXR1cmUgR1BHIGQnw6l0aXF1ZXR0ZXMiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4OQorIzogY29tbWFuZC1saXN0Lmg6MTkyCiBtc2dpZCAiR2l0IHdlYiBpbnRlcmZhY2UgKHdlYiBmcm9udGVuZCB0byBHaXQgcmVwb3NpdG9yaWVzKSIKIG1zZ3N0ciAiSW50ZXJmYWNlIHdlYiBkZSBHaXQiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5MAorIzogY29tbWFuZC1saXN0Lmg6MTkzCiBtc2dpZCAiU2hvdyBsb2dzIHdpdGggZGlmZmVyZW5jZSBlYWNoIGNvbW1pdCBpbnRyb2R1Y2VzIgogbXNnc3RyICJBZmZpY2hlciBsZXMgam91cm5hdXggYXZlYyBsYSBkaWZmw6lyZW5jZSBxdWUgY2hhcXVlIGNvbW1pdCBpbnRyb2R1aXQiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5MQorIzogY29tbWFuZC1saXN0Lmg6MTk0CiBtc2dpZCAiTWFuYWdlIG11bHRpcGxlIHdvcmtpbmcgdHJlZXMiCiBtc2dzdHIgIkfDqHJlIGRlIGFyYnJlcyBkZSB0cmF2YWlsIG11bHRpcGxlcyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTkyCisjOiBjb21tYW5kLWxpc3QuaDoxOTUKIG1zZ2lkICJDcmVhdGUgYSB0cmVlIG9iamVjdCBmcm9tIHRoZSBjdXJyZW50IGluZGV4IgogbXNnc3RyICJDcsOpZXIgdW4gb2JqZXQgYXJicmUgZGVwdWlzIGwnaW5kZXggY291cmFudCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTkzCisjOiBjb21tYW5kLWxpc3QuaDoxOTYKIG1zZ2lkICJEZWZpbmluZyBhdHRyaWJ1dGVzIHBlciBwYXRoIgogbXNnc3RyICJEw6lmaW5pdGlvbiBkZXMgYXR0cmlidXRzIHBhciBjaGVtaW4iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5NAorIzogY29tbWFuZC1saXN0Lmg6MTk3CiBtc2dpZCAiR2l0IGNvbW1hbmQtbGluZSBpbnRlcmZhY2UgYW5kIGNvbnZlbnRpb25zIgogbXNnc3RyICJpbnRlcmZhY2UgZW4gbGlnbmUgZGUgY29tbWFuZGUgZXQgY29udmVudGlvbnMgZGUgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTUKKyM6IGNvbW1hbmQtbGlzdC5oOjE5OAogbXNnaWQgIkEgR2l0IGNvcmUgdHV0b3JpYWwgZm9yIGRldmVsb3BlcnMiCiBtc2dzdHIgIlR1dG9yaWVsIGR1IGPFk3VyIGRlIEdpdCBwb3VyIGxlcyBkw6l2ZWxvcHBldXJzIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTYKKyM6IGNvbW1hbmQtbGlzdC5oOjE5OQogbXNnaWQgIkdpdCBmb3IgQ1ZTIHVzZXJzIgogbXNnc3RyICJHaXQgcG91ciBsZXMgdXRpbGlzYXRldXJzIGRlIENWUyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk3CisjOiBjb21tYW5kLWxpc3QuaDoyMDAKIG1zZ2lkICJUd2Vha2luZyBkaWZmIG91dHB1dCIKIG1zZ3N0ciAiQmlkb3VpbGxhZ2UgZGUgbGEgc29ydGllIGRpZmYiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5OAorIzogY29tbWFuZC1saXN0Lmg6MjAxCiBtc2dpZCAiQSB1c2VmdWwgbWluaW11bSBzZXQgb2YgY29tbWFuZHMgZm9yIEV2ZXJ5ZGF5IEdpdCIKIG1zZ3N0ciAiVW4gZW5zZW1ibGUgbWluaW1hbCB1dGlsZSBkZXMgY29tbWFuZGVzIGRlIEdpdCBwb3VyIHRvdXMgbGVzIGpvdXJzIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTkKKyM6IGNvbW1hbmQtbGlzdC5oOjIwMgogbXNnaWQgIkEgR2l0IEdsb3NzYXJ5IgogbXNnc3RyICJVbiBnbG9zc2FpcmUgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDAKKyM6IGNvbW1hbmQtbGlzdC5oOjIwMwogbXNnaWQgIkhvb2tzIHVzZWQgYnkgR2l0IgogbXNnc3RyICJDcm9jaGV0cyB1dGlsaXPDqXMgcGFyIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjAxCisjOiBjb21tYW5kLWxpc3QuaDoyMDQKIG1zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgogbXNnc3RyICJTcMOpY2lmaWUgbGVzIGZpY2hpZXJzIG5vbi1zdWl2aXMgw6AgaWdub3JlciBpbnRlbnRpb25uZWxsZW1lbnQiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjIwMgorIzogY29tbWFuZC1saXN0Lmg6MjA1CiBtc2dpZCAiRGVmaW5pbmcgc3VibW9kdWxlIHByb3BlcnRpZXMiCiBtc2dzdHIgIkTDqWZpbml0aW9uIGRlcyBwcm9wcmnDqXTDqXMgZGUgc291cy1tb2R1bGUiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjIwMworIzogY29tbWFuZC1saXN0Lmg6MjA2CiBtc2dpZCAiR2l0IG5hbWVzcGFjZXMiCiBtc2dzdHIgIkVzcGFjZXMgZGUgbm9tIGRlIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjA0CisjOiBjb21tYW5kLWxpc3QuaDoyMDcKIG1zZ2lkICJHaXQgUmVwb3NpdG9yeSBMYXlvdXQiCiBtc2dzdHIgIkRpc3Bvc2l0aW9uIGQndW4gZMOpcMO0dCBHaXQiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjIwNQorIzogY29tbWFuZC1saXN0Lmg6MjA4CiBtc2dpZCAiU3BlY2lmeWluZyByZXZpc2lvbnMgYW5kIHJhbmdlcyBmb3IgR2l0IgogbXNnc3RyICJTcMOpY2lmaWNhdGlvbiBkZXMgcsOpdmlzaW9ucyBldCBwb3J0w6llcyBwb3VyIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjA2CisjOiBjb21tYW5kLWxpc3QuaDoyMDkKK21zZ2lkICJNb3VudGluZyBvbmUgcmVwb3NpdG9yeSBpbnNpZGUgYW5vdGhlciIKK21zZ3N0ciAiTW9udGFnZSBkJ3VuIGTDqXDDtHQgZGFucyB1biBhdXRyZSBkw6lww7R0IgorCisjOiBjb21tYW5kLWxpc3QuaDoyMTAKIG1zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQ6IHBhcnQgdHdvIgogbXNnc3RyICJVbmUgaW50cm9kdWN0aW9uIHByYXRpcXVlIMOgIEdpdMKgOiBkZXV4acOobWUgcGFydGllIgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDcKKyM6IGNvbW1hbmQtbGlzdC5oOjIxMQogbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdCIKIG1zZ3N0ciAiVW5lIGludHJvZHVjdGlvbiBwcmF0aXF1ZSDDoCBHaXQiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjIwOAorIzogY29tbWFuZC1saXN0Lmg6MjEyCiBtc2dpZCAiQW4gb3ZlcnZpZXcgb2YgcmVjb21tZW5kZWQgd29ya2Zsb3dzIHdpdGggR2l0IgogbXNnc3RyICJVbiBhcGVyw6d1IGRlcyBmbHV4IGRlIHRyYXZhaWwgcmVjb21tYW5kw6lzIGF2ZWMgR2l0IgogCi0jOiByZXJlcmUuaDo0NAotbXNnaWQgInVwZGF0ZSB0aGUgaW5kZXggd2l0aCByZXVzZWQgY29uZmxpY3QgcmVzb2x1dGlvbiBpZiBwb3NzaWJsZSIKLW1zZ3N0ciAiIgotIm1ldCDDoCBqb3VyIGwnaW5kZXggYXZlYyBsZXMgcsOpc29sdXRpb25zIGRlIGNvbmZsaXQgcsOpdXRpbGlzw6llcyBzaSBwb3NzaWJsZSIKLQogIzogZ2l0LWJpc2VjdC5zaDo1NAogbXNnaWQgIllvdSBuZWVkIHRvIHN0YXJ0IGJ5IFwiZ2l0IGJpc2VjdCBzdGFydFwiIgogbXNnc3RyICJWb3VzIGRldmV6IGTDqW1hcnJlciBhdmVjIFwiZ2l0IGJpc2VjdCBzdGFydFwiIgpAQCAtMTk1NzMsMTM4ICsyMzA3MCw0OSBAQAogbXNnaWQgIkRvIHlvdSB3YW50IG1lIHRvIGRvIGl0IGZvciB5b3UgW1kvbl0/ICIKIG1zZ3N0ciAiU291aGFpdGV6LXZvdXMgcXVlIGplIGxlIGZhc3NlIHBvdXIgdm91cyBbWS9uXSA/ICIKIAotIzogZ2l0LWJpc2VjdC5zaDoxMjEKLSMsIHNoLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXNlZCBvcHRpb246ICckYXJnJyIKLW1zZ3N0ciAib3B0aW9uIGluY29ubnVlIDogJyRhcmcnIgotCi0jOiBnaXQtYmlzZWN0LnNoOjEyNQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiJyRhcmcnIGRvZXMgbm90IGFwcGVhciB0byBiZSBhIHZhbGlkIHJldmlzaW9uIgotbXNnc3RyICInJGFyZycgbmUgc2VtYmxlIMOqdHJlIHVuZSByw6l2aXNpb24gdmFsaWRlIgotCi0jOiBnaXQtYmlzZWN0LnNoOjE1NAotbXNnaWQgIkJhZCBIRUFEIC0gSSBuZWVkIGEgSEVBRCIKLW1zZ3N0ciAiTWF1dmFpc2UgSEVBRCAtIGonYWkgYmVzb2luIGQndW5lIEhFQUQiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTY3Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iQ2hlY2tpbmcgb3V0ICckc3RhcnRfaGVhZCcgZmFpbGVkLiBUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPHZhbGlkLWJyYW5jaD4nLiIKLW1zZ3N0ciAiIgotIkwnZXh0cmFjdGlvbiBkZSAnJHN0YXJ0X2hlYWQnIGEgw6ljaG91w6kuIEVzc2F5ZXogJ2dpdCBiaXNlY3QgcmVzZXQgPGJyYW5jaGUtIgotInZhbGlkZT4nLiIKLQotIzogZ2l0LWJpc2VjdC5zaDoxNzcKLW1zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgotbXNnc3RyICJyZWZ1cyBkZSBiaXNzZWN0ZXIgc3VyIHVuIGFyYnJlICdjZy1zZWVrZWQnIgotCi0jOiBnaXQtYmlzZWN0LnNoOjE4MQotbXNnaWQgIkJhZCBIRUFEIC0gc3RyYW5nZSBzeW1ib2xpYyByZWYiCi1tc2dzdHIgIk1hdXZhaXNlIEhFQUQgLSByw6lmw6lyZW5jZSBzeW1ib2xpcXVlIGRvdXRldXNlIgotCi0jOiBnaXQtYmlzZWN0LnNoOjIzMwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQmFkIGJpc2VjdF93cml0ZSBhcmd1bWVudDogJHN0YXRlIgotbXNnc3RyICJNYXV2YWlzIGFyZ3VtZW50IHBvdXIgYmlzZWN0X3dyaXRlIDogJHN0YXRlIgotCi0jOiBnaXQtYmlzZWN0LnNoOjI0NgorIzogZ2l0LWJpc2VjdC5zaDoxMDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRhcmciCiBtc2dzdHIgIk1hdXZhaXNlIHLDqXZpc2lvbiBlbiBlbnRyw6llIDogJGFyZyIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNjUKKyM6IGdpdC1iaXNlY3Quc2g6MTIxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkYmlzZWN0ZWRfaGVhZCIKIG1zZ3N0ciAiTWF1dmFpc2UgcsOpdmlzaW9uIGVuIGVudHLDqWUgOiAkYmlzZWN0ZWRfaGVhZCIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNzQKKyM6IGdpdC1iaXNlY3Quc2g6MTMwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkcmV2IgogbXNnc3RyICJNYXV2YWlzZSByw6l2aXNpb24gZW4gZW50csOpZSA6ICRyZXYiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MjgzCisjOiBnaXQtYmlzZWN0LnNoOjEzOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJ2dpdCBiaXNlY3QgJFRFUk1fQkFEJyBjYW4gdGFrZSBvbmx5IG9uZSBhcmd1bWVudC4iCiBtc2dzdHIgIidnaXQgYmlzZWN0ICRURVJNX0JBRCcgbidhY2NlcHRlIHF1J3VuIHNldWwgYXJndW1lbnQuIgogCi0jOiBnaXQtYmlzZWN0LnNoOjMwNgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiV2FybmluZzogYmlzZWN0aW5nIG9ubHkgd2l0aCBhICRURVJNX0JBRCBjb21taXQuIgotbXNnc3RyICJBdHRlbnRpb24gOiBiaXNzZWN0aW9uIGF2ZWMgc2V1bGVtZW50IHVuZSB2YWxpZGF0aW9uICRURVJNX0JBRC4iCi0KLSMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbWV0gYW5kIFtuXSBpbiB5b3VyCi0jLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0Ci0jLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LWJpc2VjdC5zaDozMTIKLW1zZ2lkICJBcmUgeW91IHN1cmUgW1kvbl0/ICIKLW1zZ3N0ciAiQ29uZmlybWV6LXZvdXMgW1kvbl0gPyAiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MzI0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iWW91IG5lZWQgdG8gZ2l2ZSBtZSBhdCBsZWFzdCBvbmUgJGJhZF9zeW4gYW5kIG9uZSAkZ29vZF9zeW4gcmV2aXNpb24uXG4iCi0iKFlvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCAkYmFkX3N5blwiIGFuZCBcImdpdCBiaXNlY3QgJGdvb2Rfc3luXCIgZm9yIHRoYXQuKSIKLW1zZ3N0ciAiIgotIlZvdXMgZGV2ZXogbWUgZG9ubmVyIGF1IG1vaW5zIHVuZSByw6l2aXNpb24gJGJhZF9zeW4gZXQgdW5lIHLDqXZpc2lvbiAiCi0iJGdvb2Rfc3luLlxuIgotIihWb3VzIHBvdXZleiB1dGlsaXNlciBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiBldCBcImdpdCBiaXNlY3QgJGdvb2Rfc3luXCIgIgotInBvdXIgY2VsYS4pIgotCi0jOiBnaXQtYmlzZWN0LnNoOjMyNwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIllvdSBuZWVkIHRvIHN0YXJ0IGJ5IFwiZ2l0IGJpc2VjdCBzdGFydFwiLlxuIgotIllvdSB0aGVuIG5lZWQgdG8gZ2l2ZSBtZSBhdCBsZWFzdCBvbmUgJGdvb2Rfc3luIGFuZCBvbmUgJGJhZF9zeW4gcmV2aXNpb24uXG4iCi0iKFlvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCAkYmFkX3N5blwiIGFuZCBcImdpdCBiaXNlY3QgJGdvb2Rfc3luXCIgZm9yIHRoYXQuKSIKLW1zZ3N0ciAiIgotIlZvdXMgZGV2ZXogZMOpbWFycmVyIGF2ZWMgXCJnaXQgYmlzZWN0IHN0YXJ0XCIuXG4iCi0iUHVpcyB2b3VzIGRldmV6IG1lIGRvbm5lciBhdSBtb2lucyB1bmUgcsOpdmlzaW9uICRnb29kX3N5biBldCB1bmUgcsOpdmlzaW9uICIKLSIkYmFkX3N5bi5cbiIKLSIoVm91cyBwb3V2ZXogdXRpbGlzZXIgXCJnaXQgYmlzZWN0ICRiYWRfc3luXCIgZXQgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiICIKLSJwb3VyIGNlbGEuKSIKLQotIzogZ2l0LWJpc2VjdC5zaDozOTggZ2l0LWJpc2VjdC5zaDo1MTIKLW1zZ2lkICJXZSBhcmUgbm90IGJpc2VjdGluZy4iCi1tc2dzdHIgIlBhcyBkZSBiaXNzZWN0aW9uIGVuIGNvdXJzLiIKLQotIzogZ2l0LWJpc2VjdC5zaDo0MDUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIickaW52YWxpZCcgaXMgbm90IGEgdmFsaWQgY29tbWl0IgotbXNnc3RyICInJGludmFsaWQnIG4nZXN0IHBhcyB1bmUgdmFsaWRhdGlvbiB2YWxpZGUiCi0KLSM6IGdpdC1iaXNlY3Quc2g6NDE0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iQ291bGQgbm90IGNoZWNrIG91dCBvcmlnaW5hbCBIRUFEICckYnJhbmNoJy5cbiIKLSJUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPGNvbW1pdD4nLiIKLW1zZ3N0ciAiIgotIsOJY2hlYyBkJ2V4dHJhY3Rpb24gZGUgbGEgSEVBRCBkJ29yaWdpbmUgJyRicmFuY2gnLlxuIgotIkVzc2F5ZXogJ2dpdCBiaXNlY3QgcmVzZXQgPGNvbW1pdD4nLiIKLQotIzogZ2l0LWJpc2VjdC5zaDo0MjIKKyM6IGdpdC1iaXNlY3Quc2g6MjA5CiBtc2dpZCAiTm8gbG9nZmlsZSBnaXZlbiIKIG1zZ3N0ciAiUGFzIGRlIGZpY2hpZXIgZGUgbG9nIGRvbm7DqSIKIAotIzogZ2l0LWJpc2VjdC5zaDo0MjMKKyM6IGdpdC1iaXNlY3Quc2g6MjEwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAkZmlsZSBmb3IgcmVwbGF5aW5nIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgJGZpbGUgcG91ciByZWpvdWVyIgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ0NAorIzogZ2l0LWJpc2VjdC5zaDoyMzIKIG1zZ2lkICI/PyB3aGF0IGFyZSB5b3UgdGFsa2luZyBhYm91dD8iCiBtc2dzdHIgIj8/IGRlIHF1b2kgcGFybGV6LXZvdXMgPyIKIAotIzogZ2l0LWJpc2VjdC5zaDo0NTMKKyM6IGdpdC1iaXNlY3Quc2g6MjQxCiBtc2dpZCAiYmlzZWN0IHJ1biBmYWlsZWQ6IG5vIGNvbW1hbmQgcHJvdmlkZWQuIgogbXNnc3RyICJsYSBiaXNzZWN0aW9uIGEgw6ljaG91w6nCoDogYXVjdW5lIGNvbW1hbmRlIGZvdXJuaWUuIgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ1OAorIzogZ2l0LWJpc2VjdC5zaDoyNDYKICMsIHNoLWZvcm1hdAogbXNnaWQgInJ1bm5pbmcgJGNvbW1hbmQiCiBtc2dzdHIgImxhbmNlbWVudCBkZSAkY29tbWFuZCIKIAotIzogZ2l0LWJpc2VjdC5zaDo0NjUKKyM6IGdpdC1iaXNlY3Quc2g6MjUzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiYmlzZWN0IHJ1biBmYWlsZWQ6XG4iCkBAIC0xOTcxMywxMSArMjMxMjEsMTEgQEAKICJsYSBiaXNzZWN0aW9uIGEgw6ljaG91w6kgOlxuIgogImxlIGNvZGUgcmV0b3VyICRyZXMgZGUgJyRjb21tYW5kJyBlc3QgPCAwIG91ID49IDEyOCIKIAotIzogZ2l0LWJpc2VjdC5zaDo0OTEKKyM6IGdpdC1iaXNlY3Quc2g6Mjc5CiBtc2dpZCAiYmlzZWN0IHJ1biBjYW5ub3QgY29udGludWUgYW55IG1vcmUiCiBtc2dzdHIgImxhIGJpc3NlY3Rpb24gbmUgcGV1dCBwbHVzIGNvbnRpbnVlciIKIAotIzogZ2l0LWJpc2VjdC5zaDo0OTcKKyM6IGdpdC1iaXNlY3Quc2g6Mjg1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiYmlzZWN0IHJ1biBmYWlsZWQ6XG4iCkBAIC0xOTcyNiwzMCArMjMxMzQsMTMgQEAKICJsYSBiaXNzZWN0aW9uIGEgw6ljaG91w6kgOlxuIgogIidiaXNlY3Rfc3RhdGUgJHN0YXRlJyBhIHJldG91cm7DqSBsZSBjb2RlIGVycmV1ciAkcmVzIgogCi0jOiBnaXQtYmlzZWN0LnNoOjUwNAorIzogZ2l0LWJpc2VjdC5zaDoyOTIKIG1zZ2lkICJiaXNlY3QgcnVuIHN1Y2Nlc3MiCiBtc2dzdHIgInN1Y2PDqHMgZGUgbGEgYmlzc2VjdGlvbiIKIAotIzogZ2l0LWJpc2VjdC5zaDo1MzMKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkludmFsaWQgY29tbWFuZDogeW91J3JlIGN1cnJlbnRseSBpbiBhICRURVJNX0JBRC8kVEVSTV9HT09EIGJpc2VjdC4iCi1tc2dzdHIgIiIKLSJDb21tYW5kZSBpbnZhbGlkZcKgOiB2b3VzIMOqdGVzIGFjdHVlbGxlbWVudCBkYW5zIHVuZSBiaXNzZWN0aW9uICRURVJNX0JBRC8iCi0iJFRFUk1fR09PRC4iCi0KLSM6IGdpdC1iaXNlY3Quc2g6NTY3Ci1tc2dpZCAibm8gdGVybXMgZGVmaW5lZCIKLW1zZ3N0ciAiYXVjdW4gdGVybWUgZMOpZmluaSIKLQotIzogZ2l0LWJpc2VjdC5zaDo1ODQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJpbnZhbGlkIGFyZ3VtZW50ICRhcmcgZm9yICdnaXQgYmlzZWN0IHRlcm1zJy5cbiIKLSJTdXBwb3J0ZWQgb3B0aW9ucyBhcmU6IC0tdGVybS1nb29kfC0tdGVybS1vbGQgYW5kIC0tdGVybS1iYWR8LS10ZXJtLW5ldy4iCi1tc2dzdHIgIiIKLSJhcmd1bWVudCBpbnZhbGlkZSAkYXJnIHBvdXIgJ2dpdCBiaXNlY3QgdGVybXMnLlxuIgotIkxlcyBvcHRpb25zIHN1cHBvcnTDqWVzIHNvbnTCoDogLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCBldCAtLXRlcm0tYmFkfC0tdGVybS0iCi0ibmV3LiIKKyM6IGdpdC1iaXNlY3Quc2g6MzAwCittc2dpZCAiV2UgYXJlIG5vdCBiaXNlY3RpbmcuIgorbXNnc3RyICJQYXMgZGUgYmlzc2VjdGlvbiBlbiBjb3Vycy4iCiAKICM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjQ2CiBtc2dpZCAiIgpAQCAtMTk3OTEsMjY5ICsyMzE4MiwxMTYgQEAKIG1zZ2lkICJTaW1wbGUgbWVyZ2UgZGlkIG5vdCB3b3JrLCB0cnlpbmcgYXV0b21hdGljIG1lcmdlLiIKIG1zZ3N0ciAiTGEgZnVzaW9uIHNpbXBsZSBhIMOpY2hvdcOpLCBlc3NhaSBhdmVjIGxhIGZ1c2lvbiBhdXRvbWF0aXF1ZS4iCiAKLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjQzNAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IG1vdmUgYmFjayB0byAkaGVhZF9uYW1lIgotbXNnc3RyICJJbXBvc3NpYmxlIGRlIHJldmVuaXIgw6AgJGhlYWRfbmFtZSIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NDYwCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJHN0YXRlX2Rpcl9iYXNlIGRpcmVjdG9yeSwgYW5kXG4iCi0iSSB3b25kZXIgaWYgeW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgcmViYXNlLiAgSWYgdGhhdCBpcyB0aGVcbiIKLSJjYXNlLCBwbGVhc2UgdHJ5XG4iCi0iXHQkY21kX2xpdmVfcmViYXNlXG4iCi0iSWYgdGhhdCBpcyBub3QgdGhlIGNhc2UsIHBsZWFzZVxuIgotIlx0JGNtZF9jbGVhcl9zdGFsZV9yZWJhc2VcbiIKLSJhbmQgcnVuIG1lIGFnYWluLiAgSSBhbSBzdG9wcGluZyBpbiBjYXNlIHlvdSBzdGlsbCBoYXZlIHNvbWV0aGluZ1xuIgotInZhbHVhYmxlIHRoZXJlLiIKLW1zZ3N0ciAiIgotIklsIHNlbWJsZSBxdSdpbCB5IGFpdCBkw6lqw6AgdW4gcsOpcGVydG9pcmUgJHN0YXRlX2Rpcl9iYXNlLCBldCBqZSBtZSBkZW1hbmRlXG4iCi0ic2kgdW4gYXV0cmUgcmViYXNhZ2Ugbidlc3QgcGFzIGTDqWrDoCBlbiBjb3Vycy4gU2kgYydlc3QgbGUgY2FzLFxuIgotImVzc2F5ZXpcbiIKLSJcdCRjbWRfbGl2ZV9yZWJhc2VcbiIKLSJTaW5vbiwgZXNzYXllelxuIgotIlx0JGNtZF9jbGVhcl9zdGFsZV9yZWJhc2VcbiIKLSJwdWlzIHJlbGFuY2V6LW1vaSDDoCBub3V2ZWF1LiAgSmUgbSdhcnLDqnRlIGF1IGNhcyBvw7kgdm91cyBhdXJpZXogcXVlbHF1ZSAiCi0iY2hvc2VcbiIKLSJkJ2ltcG9ydGFudCBpY2kuIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1MjUKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tc2lnbm9mZicgd2l0aCAnLS1wcmVzZXJ2ZS1tZXJnZXMnIgotbXNnc3RyICJlcnJldXLCoDogJy0tc2lnbm9mZicgZXQgJy0tcHJlc2VydmUtbWVyZ2VzJyBzb250IGluY29tcGF0aWJsZXMiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjU3MAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAnJHVwc3RyZWFtX25hbWUnIgotbXNnc3RyICJpbnZhbGlkZSAnJHVwc3RyZWFtX25hbWUnIGVuIGFtb250IgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1OTQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgotbXNnc3RyICIkb250b19uYW1lIDogaWwgeSBhIHBsdXMgZCd1bmUgYmFzZSBkZSBmdXNpb24iCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjU5NyBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2MDEKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGlzIG5vIG1lcmdlIGJhc2UiCi1tc2dzdHIgIiRvbnRvX25hbWUgOiBpbCBuJ3kgYSBwYXMgZGUgYmFzZSBkZSBmdXNpb24iCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjYwNgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQ6ICRvbnRvX25hbWUiCi1tc2dzdHIgIk5lIHBvaW50ZSBwYXMgc3VyIHVuZSB2YWxpZGF0aW9uIHZhbGlkZSA6ICRvbnRvX25hbWUiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjYzMgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoL2NvbW1pdCAnJGJyYW5jaF9uYW1lJyIKLW1zZ3N0ciAiZmF0YWwgOiBwYXMgZGUgYnJhbmNoZSBvdSBjb21taXQgJyRicmFuY2hfbmFtZSciCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjY3MAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCi1tc2dzdHIgIkF1dG9yZW1pc2FnZSBjcsOpw6kgOiAkc3Rhc2hfYWJicmV2IgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2OTkKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKLW1zZ3N0ciAiTGEgYnJhbmNoZSBjb3VyYW50ZSAkYnJhbmNoX25hbWUgZXN0IMOgIGpvdXIuIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MDkKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKLW1zZ3N0ciAiTGEgYnJhbmNoZSBjb3VyYW50ZSAkYnJhbmNoX25hbWUgZXN0IMOgIGpvdXIsIHJlYmFzYWdlIGZvcmPDqS4iCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjcyMwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ2hhbmdlcyB0byAkb250bzoiCi1tc2dzdHIgIkNoYW5nZW1lbnRzIHN1ciAkb250byA6IgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MjUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNoYW5nZXMgZnJvbSAkbWIgdG8gJG9udG86IgotbXNnc3RyICJDaGFuZ2VtZW50cyBkZSAkbWIgc3VyICRvbnRvIDoiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjczNgotbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLiIKLW1zZ3N0ciAiIgotIlJlbWJvYmluYWdlIHByw6lhbGFibGUgZGUgaGVhZCBwb3VyIHBvdXZvaXIgcmVqb3VlciB2b3RyZSB0cmF2YWlsIHBhci0iCi0iZGVzc3VzLi4uIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3NDYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKLW1zZ3N0ciAiJGJyYW5jaF9uYW1lIG1pc2Ugw6Agam91ciBlbiBhdmFuY2UgcmFwaWRlIHN1ciAkb250b19uYW1lLiIKLQotIzogZ2l0LXN0YXNoLnNoOjYxCi1tc2dpZCAiZ2l0IHN0YXNoIGNsZWFyIHdpdGggcGFyYW1ldGVycyBpcyB1bmltcGxlbWVudGVkIgotbXNnc3RyICJnaXQgc3Rhc2ggY2xlYXIgYXZlYyBkZXMgcGFyYW3DqHRyZXMgbidlc3QgcGFzIGltcGzDqW1lbnTDqSIKLQotIzogZ2l0LXN0YXNoLnNoOjEwOAotbXNnaWQgIllvdSBkbyBub3QgaGF2ZSB0aGUgaW5pdGlhbCBjb21taXQgeWV0IgotbXNnc3RyICJWb3VzIG4nYXZleiBwYXMgZW5jb3JlIGxhIHZhbGlkYXRpb24gaW5pdGlhbGUiCi0KLSM6IGdpdC1zdGFzaC5zaDoxMjMKLW1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzYXV2ZXIgbCfDqXRhdCBjb3VyYW50IGRlIGwnaW5kZXgiCi0KLSM6IGdpdC1zdGFzaC5zaDoxMzgKLW1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgdW50cmFja2VkIGZpbGVzIgotbXNnc3RyICJJbXBvc3NpYmxlIGRlIHNhdXZlciBsZXMgZmljaGllcnMgbm9uLXN1aXZpcyIKLQotIzogZ2l0LXN0YXNoLnNoOjE1OCBnaXQtc3Rhc2guc2g6MTcxCi1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCi1tc2dzdHIgIkltcG9zc2libGUgZGUgc2F1dmVyIGwnw6l0YXQgY291cmFudCBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsIgotCi0jOiBnaXQtc3Rhc2guc2g6MTc1Ci1tc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKLW1zZ3N0ciAiQXVjdW4gY2hhbmdlbWVudCBzw6lsZWN0aW9ubsOpIgotCi0jOiBnaXQtc3Rhc2guc2g6MTc4CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjIyMQogbXNnaWQgIkNhbm5vdCByZW1vdmUgdGVtcG9yYXJ5IGluZGV4IChjYW4ndCBoYXBwZW4pIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHN1cHByaW1lciBsJ2luZGV4IHRlbXBvcmFpcmUgKG5lIHBldXQgcGFzIHNlIHByb2R1aXJlKSIKIAotIzogZ2l0LXN0YXNoLnNoOjE5MQotbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgotbXNnc3RyICJJbXBvc3NpYmxlIGQnZW5yZWdpc3RyZXIgbCfDqXRhdCBkZSBsYSBjb3BpZSBkZSB0cmF2YWlsIgotCi0jOiBnaXQtc3Rhc2guc2g6MjI5CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjI3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSAkcmVmX3N0YXNoIHdpdGggJHdfY29tbWl0IgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyICRyZWZfc3Rhc2ggYXZlYyAkd19jb21taXQiCiAKLSM6IGdpdC1zdGFzaC5zaDoyODEKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzI0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBwdXNoJzogJG9wdGlvbiIKIG1zZ3N0ciAiZXJyZXVywqA6IG9wdGlvbiBpbmNvbm51ZSBwb3VyICdzdGFzaCBwdXNoJ8KgOiAkb3B0aW9uIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjk1Ci1tc2dpZCAiQ2FuJ3QgdXNlIC0tcGF0Y2ggYW5kIC0taW5jbHVkZS11bnRyYWNrZWQgb3IgLS1hbGwgYXQgdGhlIHNhbWUgdGltZSIKLW1zZ3N0ciAiIgotIkltcG9zc2libGUgZCd1dGlsaXNlciAtLXBhdGNoIGV0IC0taW5jbHVkZS11bnRyYWNrZWQgb3UgLS1hbGwgZW4gbcOqbWUgdGVtcHMiCi0KLSM6IGdpdC1zdGFzaC5zaDozMDMKLW1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCi1tc2dzdHIgIlBhcyBkZSBtb2RpZmljYXRpb25zIGxvY2FsZXMgw6Agc2F1dmVyIgotCi0jOiBnaXQtc3Rhc2guc2g6MzA4Ci1tc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCi1tc2dzdHIgIkltcG9zc2libGUgZCdpbml0aWFsaXNlciBsZSByZW1pc2FnZSIKLQotIzogZ2l0LXN0YXNoLnNoOjMxMgotbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHN0YXR1cyIKLW1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzYXV2ZXIgbCfDqXRhdCBjb3VyYW50IgotCi0jOiBnaXQtc3Rhc2guc2g6MzEzCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjM1NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlICRzdGFzaF9tc2ciCiBtc2dzdHIgIkNvcGllIGRlIHRyYXZhaWwgZXQgw6l0YXQgZGUgbCdpbmRleCBzYXV2ZWdhcmTDqXMgZGFucyAkc3Rhc2hfbXNnIgogCi0jOiBnaXQtc3Rhc2guc2g6MzQyCi1tc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgotbXNnc3RyICJJbXBvc3NpYmxlIGRlIHN1cHByaW1lciBsZXMgY2hhbmdlbWVudHMgZGUgbGEgY29waWUgZGUgdHJhdmFpbCIKLQotIzogZ2l0LXN0YXNoLnNoOjQ5MAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1MzYKICMsIHNoLWZvcm1hdAogbXNnaWQgInVua25vd24gb3B0aW9uOiAkb3B0IgogbXNnc3RyICJvcHRpb24gaW5jb25udWXCoDogJG9wdCIKIAotIzogZ2l0LXN0YXNoLnNoOjUwMwotbXNnaWQgIk5vIHN0YXNoIGVudHJpZXMgZm91bmQuIgotbXNnc3RyICJBdWN1bmUgZW50csOpZSBkZSByZW1pc2FnZSB0cm91dsOpZS4iCi0KLSM6IGdpdC1zdGFzaC5zaDo1MTAKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NTU2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICJUcm9wIGRlIHLDqXZpc2lvbnMgc3DDqWNpZmnDqWVzIDogJFJFViIKIAotIzogZ2l0LXN0YXNoLnNoOjUyNQorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1NzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNlIG4nZXN0IHBhcyB1bmUgcsOpZsOpcmVuY2UgdmFsaWRlIgogCi0jOiBnaXQtc3Rhc2guc2g6NTUzCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjU5OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKIG1zZ3N0ciAiJyRhcmdzJyBuJ2VzdCBwYXMgdW5lIHZhbGlkYXRpb24gZGUgdHlwZSByZW1pc2FnZSIKIAotIzogZ2l0LXN0YXNoLnNoOjU2NAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2MTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2ggcmVmZXJlbmNlIgogbXNnc3RyICInJGFyZ3MnIG4nZXN0IHBhcyB1bmUgcsOpZsOpcmVuY2UgZGUgcmVtaXNhZ2UiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzIKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjE4CiBtc2dpZCAidW5hYmxlIHRvIHJlZnJlc2ggaW5kZXgiCiBtc2dzdHIgImltcG9zc2libGUgZGUgcmFmcmHDrmNoaXIgbCdpbmRleCIKIAotIzogZ2l0LXN0YXNoLnNoOjU3NgorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2MjIKIG1zZ2lkICJDYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCiBtc2dzdHIgIkltcG9zc2libGUgZCdhcHBsaXF1ZXIgdW4gcmVtaXNhZ2UgZW4gY291cnMgZGUgZnVzaW9uIgogCi0jOiBnaXQtc3Rhc2guc2g6NTg0CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYzMAogbXNnaWQgIkNvbmZsaWN0cyBpbiBpbmRleC4gVHJ5IHdpdGhvdXQgLS1pbmRleC4iCiBtc2dzdHIgIkNvbmZsaXRzIGRhbnMgbCdpbmRleC4gRXNzYXlleiBzYW5zIC0taW5kZXguIgogCi0jOiBnaXQtc3Rhc2guc2g6NTg2CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYzMgogbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc2F1dmVnYXJkZXIgbCdhcmJyZSBkJ2luZGV4IgogCi0jOiBnaXQtc3Rhc2guc2g6NTk1CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjY0MQogbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIGVudHJ5IgogbXNnc3RyICIiCiAiSW1wb3NzaWJsZSBkZSByZXN0YXVyZXIgbGVzIGZpY2hpZXJzIG5vbi1zdWl2aXMgZGVwdWlzIGwnZW50csOpZSBkZSByZW1pc2FnZSIKIAotIzogZ2l0LXN0YXNoLnNoOjYyMAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2NjYKIG1zZ2lkICJDYW5ub3QgdW5zdGFnZSBtb2RpZmllZCBmaWxlcyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBkw6lzaW5kZXhlciBsZXMgZmljaGllcnMgbW9kaWZpw6lzIgogCi0jOiBnaXQtc3Rhc2guc2g6NjM1Ci1tc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgotbXNnc3RyICJMJ2luZGV4IG4nYSBwYXMgw6l0w6kgc29ydGkgZGUgcmVtaXNlLiIKLQotIzogZ2l0LXN0YXNoLnNoOjY0OQotbXNnaWQgIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgotbXNnc3RyICIiCi0iTCdlbnRyw6llIGRlIHJlbWlzYWdlIGVzdCBjb25zZXJ2w6llIGF1IGNhcyBvw7kgdm91cyBlbiBhdXJpZXogZW5jb3JlIGJlc29pbi4iCi0KLSM6IGdpdC1zdGFzaC5zaDo2NTgKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzA0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEcm9wcGVkICR7UkVWfSAoJHMpIgogbXNnc3RyICIke1JFVn0gc3VwcHJpbcOpICgkcykiCiAKLSM6IGdpdC1zdGFzaC5zaDo2NTkKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzA1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIke1JFVn06IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgotbXNnc3RyICIke1JFVn06IEltcG9zc2libGUgZGUgc3VwcHJpbWVyIGwnw6lsw6ltZW50IGRlIHN0YXNoIgorbXNnc3RyICIke1JFVn06IEltcG9zc2libGUgZGUgc3VwcHJpbWVyIGwnZW50csOpZSBkZSBzdGFzaCIKIAotIzogZ2l0LXN0YXNoLnNoOjY2NwotbXNnaWQgIk5vIGJyYW5jaCBuYW1lIHNwZWNpZmllZCIKLW1zZ3N0ciAiQXVjdW5lIGJyYW5jaGUgc3DDqWNpZmnDqWUiCi0KLSM6IGdpdC1zdGFzaC5zaDo3NDYKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzkyCiBtc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogbXNnc3RyICIoUG91ciBsZXMgcmVzdGF1cmVyIHRhcGV6IFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjE5OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMDIKIG1zZ2lkICJSZWxhdGl2ZSBwYXRoIGNhbiBvbmx5IGJlIHVzZWQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogIlVuIGNoZW1pbiByZWxhdGlmIG5lIHBldXQgw6p0cmUgdXRpbGlzw6kgcXVlIGRlcHVpcyBsYSByYWNpbmUgZGUgbGEgY29waWUgZGUgIgogInRyYXZhaWwiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjA4CisjOiBnaXQtc3VibW9kdWxlLnNoOjIxMgogIywgc2gtZm9ybWF0CiBtc2dpZCAicmVwbyBVUkw6ICckcmVwbycgbXVzdCBiZSBhYnNvbHV0ZSBvciBiZWdpbiB3aXRoIC4vfC4uLyIKIG1zZ3N0ciAiTCdVUkwgZGUgZMOpcMO0dCAnJHJlcG8nIGRvaXQgw6p0cmUgYWJzb2x1IG91IGNvbW1lbmNlciBwYXIgLi98Li4vIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIyNworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGluZGV4IgogbXNnc3RyICInJHNtX3BhdGgnIGV4aXN0ZSBkw6lqw6AgZGFucyBsJ2luZGV4IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzMAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGluZGV4IGFuZCBpcyBub3QgYSBzdWJtb2R1bGUiCiBtc2dzdHIgIickc21fcGF0aCcgZXhpc3RlIGTDqWrDoCBkYW5zIGwnaW5kZXggZXQgbidlc3QgcGFzIHVuIHNvdXMtbW9kdWxlIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIickc21fcGF0aCcgZG9lcyBub3QgaGF2ZSBhIGNvbW1pdCBjaGVja2VkIG91dCIKK21zZ3N0ciAiJyRzbV9wYXRoJyBuJ2EgcGFzIGRlIGNvbW1pdCBleHRyYWl0IgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjI0NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgcGF0aCBpcyBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCkBAIC0yMDA2NCwyNCArMjMzMDIsMjQgQEAKICIkc21fcGF0aFxuIgogIlV0aWxpc2V6IC1mIHNpIHZvdXMgdm91bGV6IHZyYWltZW50IGwnYWpvdXRlci4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjU5CisjOiBnaXQtc3VibW9kdWxlLnNoOjI3MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIGV4aXN0aW5nIHJlcG8gYXQgJyRzbV9wYXRoJyB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIkFqb3V0IGR1IGTDqXDDtHQgZXhpc3RhbnQgw6AgJyRzbV9wYXRoJyBkYW5zIGwnaW5kZXgiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjYxCisjOiBnaXQtc3VibW9kdWxlLnNoOjI3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGEgdmFsaWQgZ2l0IHJlcG8iCiBtc2dzdHIgIickc21fcGF0aCcgZXhpc3RlIGTDqWrDoCBldCBuJ2VzdCBwYXMgdW4gZMOpcMO0dCBnaXQgdmFsaWRlIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI2OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkEgZ2l0IGRpcmVjdG9yeSBmb3IgJyRzbV9uYW1lJyBpcyBmb3VuZCBsb2NhbGx5IHdpdGggcmVtb3RlKHMpOiIKIG1zZ3N0ciAiIgogIlVuIHLDqXBlcnRvaXJlIGdpdCBwb3VyICckc21fbmFtZScgZXN0IHRyb3V2w6kgZW4gbG9jYWwgYXZlYyBsZShzKSBzZXJ2ZXVyKHMpICIKICJkaXN0YW50KHMpIDoiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjcxCisjOiBnaXQtc3VibW9kdWxlLnNoOjI4MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gZnJvbVxuIgpAQCAtMjAwOTgsMzkgKzIzMzM2LDM5IEBACiAiY29ycmVjdFxuIgogIm91IHNpIGNlY2kgbidlc3QgcGFzIGNsYWlyLCBjaG9pc2lzc2V6IHVuIGF1dHJlIG5vbSBhdmVjIGwnb3B0aW9uICctLW5hbWUnLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Mjg4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWFjdGl2YXRpbmcgbG9jYWwgZ2l0IGRpcmVjdG9yeSBmb3Igc3VibW9kdWxlICckc21fbmFtZScuIgogbXNnc3RyICJSw6lhY3RpdmF0aW9uIGR1IHLDqXBlcnRvaXJlIGdpdCBsb2NhbCBwb3VyIGxlIHNvdXMtbW9kdWxlICckc21fbmFtZScuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDozMDAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2V4dHJhaXJlIGxlIHNvdXMtbW9kdWxlICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mjk0CisjOiBnaXQtc3VibW9kdWxlLnNoOjMwNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGFkZCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiw4ljaGVjIGQnYWpvdXQgZHUgc291cy1tb2R1bGUgJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDozMDMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzE0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIsOJY2hlYyBkJ2VucmVnaXN0cmVtZW50IGR1IHNvdXMtbW9kdWxlICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTYzCisjOiBnaXQtc3VibW9kdWxlLnNoOjU4MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIkltcG9zc2libGUgZGUgdHJvdXZlciBsYSByw6l2aXNpb24gY291cmFudGUgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgIgogIickZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU3MworIzogZ2l0LXN1Ym1vZHVsZS5zaDo1OTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHJhcGF0cmllciBkYW5zIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU3OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo1OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJVbmFibGUgdG8gZmluZCBjdXJyZW50ICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAiCkBAIC0yMDEzOSwxMiArMjMzNzcsMTYgQEAKICJJbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgcsOpdmlzaW9uIGNvdXJhbnRlICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSBkYW5zIGxlICIKICJjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1OTYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjEzCiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCi1tc2dzdHIgIkltcG9zc2libGUgZGUgcmFwYXRyaWVyIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIgorbXNnaWQgIiIKKyJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc7IHRyeWluZyB0byBkaXJlY3RseSBmZXRjaCAiCisiJHNoYTE6IgorbXNnc3RyICIiCisiSW1wb3NzaWJsZSBkZSByYXBhdHJpZXIgZGFucyBsZSBjaGVtaW4gZGUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCfCoDsgZXNzYWkgIgorImRlIHJhcGF0cmllbWVudCBkaXJlY3QgZGUgJHNoYTHCoDoiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjAyCisjOiBnaXQtc3VibW9kdWxlLnNoOjYxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkZldGNoZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcsIGJ1dCBpdCBkaWQgbm90IGNvbnRhaW4gJHNoYTEuICIKQEAgLTIwMTUzLDc2ICsyMzM5NSw3NiBAQAogIkNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyByw6ljdXDDqXLDqSwgbWFpcyBpbCBuZSBjb250ZW5haXQgcGFzICIKICIkc2hhMS4gTGEgcsOpY3Vww6lyYXRpb24gZGlyZWN0ZSBkZSBjZSBjb21taXQgYSDDqWNob3XDqS4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjA5CisjOiBnaXQtc3VibW9kdWxlLnNoOjYyNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0ICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJJbXBvc3NpYmxlIGQnZXh0cmFpcmUgJyRzaGExJyBkYW5zIGxlIGNoZW1pbiBkZSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjI3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogY2hlY2tlZCBvdXQgJyRzaGExJyIKIG1zZ3N0ciAiQ2hlbWluIGRlIHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIDogJyRzaGExJyBleHRyYWl0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYxNAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byByZWJhc2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIkltcG9zc2libGUgZGUgcmViYXNlciAnJHNoYTEnIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYxNQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiByZWJhc2VkIGludG8gJyRzaGExJyIKIG1zZ3N0ciAiQ2hlbWluIGRlIHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIDogcmViYXPDqSBkYW5zICckc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjIwCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJJbXBvc3NpYmxlIGRlIGZ1c2lvbm5lciAnJHNoYTEnIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYyMQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKIG1zZ3N0ciAiQ2hlbWluIGRlIHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIDogZnVzaW9ubsOpIGRhbnMgJyRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjQzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJMJ2V4w6ljdXRpb24gZGUgJyRjb21tYW5kICRzaGExJyBhIMOpY2hvdcOpIGRhbnMgbGUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICIKICInJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjQ0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogJyRjb21tYW5kICRzaGExJyIKIG1zZ3N0ciAiQ2hlbWluIGRlIHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIDogJyRjb21tYW5kICRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njc1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLDiWNoZWMgZGUgcGFyY291cnMgZGFucyBsZSBjaGVtaW4gZHUgc291cy1tb2R1bGUgJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzU0CisjOiBnaXQtc3VibW9kdWxlLnNoOjg4NgogbXNnaWQgIlRoZSAtLWNhY2hlZCBvcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgLS1maWxlcyBvcHRpb24iCiBtc2dzdHIgIkwnb3B0aW9uIC0tY2FjaGVkIG5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpZSBhdmVjIGwnb3B0aW9uIC0tZmlsZXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODA2CisjOiBnaXQtc3VibW9kdWxlLnNoOjkzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBtb2RlICRtb2RfZHN0IgogbXNnc3RyICJtb2RlICRtb2RfZHN0IGluYXR0ZW5kdSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTU4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCiBtc2dzdHIgIiAgQXR0ZW50aW9uIDogJGRpc3BsYXlfbmFtZSBuZSBjb250aWVudCBwYXMgbGEgdmFsaWRhdGlvbiAkc2hhMV9zcmMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODI5CisjOiBnaXQtc3VibW9kdWxlLnNoOjk2MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfZHN0IgogbXNnc3RyICIgIEF0dGVudGlvbiA6ICRkaXNwbGF5X25hbWUgbmUgY29udGllbnQgcGFzIGxhIHZhbGlkYXRpb24gJHNoYTFfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgzMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5NjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0cyAkc2hhMV9zcmMgYW5kICRzaGExX2RzdCIKIG1zZ3N0ciAiIgpAQCAtMjAyMzQsMTIgKzIzNDc2LDIxIEBACiBtc2dpZCAiU2VlIGdpdC0ke2NtZH0oMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICJSw6lmw6lyZXotdm91cyDDoCBnaXQtJHtjbWR9KDEpIHBvdXIgZGUgcGx1cyBhbXBsZXMgZMOpdGFpbHMuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTM2CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTA5Cittc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guIgorbXNnc3RyICJBdXRvcmVtaXNhZ2UgYXBwbGlxdcOpLiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjExMgorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHN0b2NrZXIgJHN0YXNoX3NoYTEiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxOTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYmFzaW5nICgkbmV3X2NvdW50LyR0b3RhbCkiCiBtc2dzdHIgIlJlYmFzYWdlICgkbmV3X2NvdW50LyR0b3RhbCkiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxNTIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMDcKIG1zZ2lkICIiCiAiXG4iCiAiQ29tbWFuZHM6XG4iCkBAIC0yMDI3OCw3ICsyMzUyOSw3IEBACiAiXG4iCiAiVm91cyBwb3V2ZXogcsOpb3Jkb25uZXIgY2VzIGxpZ25lc8KgOyBlbGxlcyBzb250IGV4w6ljdXTDqWVzIGRlIGhhdXQgZW4gYmFzLlxuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjE1CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjcwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGNhbiBhbWVuZCB0aGUgY29tbWl0IG5vdywgd2l0aFxuIgpAQCAtMjAyOTcsODMgKzIzNTQ4LDgzIEBACiAiXG4iCiAiXHRnaXQgcmViYXNlIC0tY29udGludWUiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyNDAKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyOTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRzaGExOiBub3QgYSBjb21taXQgdGhhdCBjYW4gYmUgcGlja2VkIgogbXNnc3RyICIkc2hhMSBuJ2VzdCBwYXMgdW4gY29tbWl0IHF1aSBwZXV0IMOqdHJlIHBpY29yZXIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyNzkKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozMzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkludmFsaWQgY29tbWl0IG5hbWU6ICRzaGExIgogbXNnc3RyICJOb20gZGUgY29tbWl0IGludmFsaWRlwqA6ICRzaGExIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzA5CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzY0CiBtc2dpZCAiQ2Fubm90IHdyaXRlIGN1cnJlbnQgY29tbWl0J3MgcmVwbGFjZW1lbnQgc2hhMSIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzYXV2ZXIgbGUgc2hhMSBkdSByZW1wbGHDp2FudCBkdSBjb21taXQgZW4gY291cnMiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozNjAKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZCB0byAkc2hhMSIKIG1zZ3N0ciAiQXZhbmNlIHJhcGlkZSBzdXIgJHNoYTEiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozNjIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBmYXN0LWZvcndhcmQgdG8gJHNoYTEiCiBtc2dzdHIgIkF2YW5jZSByYXBpZGUgaW1wb3NzaWJsZSBzdXIgJHNoYTEiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozNzEKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBtb3ZlIEhFQUQgdG8gJGZpcnN0X3BhcmVudCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBkw6lwbGFjZXIgSEVBRCBzdXIgJGZpcnN0X3BhcmVudCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM3NgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQzMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gc3F1YXNoIGEgbWVyZ2U6ICRzaGExIgogbXNnc3RyICJSZWZ1cyBkJ8OpY3Jhc2VyIHVuIGNvbW1pdCBkZSBmdXNpb246ICRzaGExIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Mzk0CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDQ5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFcnJvciByZWRvaW5nIG1lcmdlICRzaGExIgogbXNnc3RyICJFcnJldXIgbG9ycyBkZSBsYSByw6lhcHBsaWNhdGlvbiBkZSBsYSBmdXNpb24gJHNoYTEiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MDMKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NTgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwaWNrICRzaGExIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIHBpY29yZXIgJHNoYTEiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgdGhlIGNvbW1pdCBtZXNzYWdlICMke259OiIKIG1zZ3N0ciAiQ2VjaSBlc3QgbGUgJHtufWnDqG1lIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbsKgOiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQxNworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiVGhlIGNvbW1pdCBtZXNzYWdlICMke259IHdpbGwgYmUgc2tpcHBlZDoiCiBtc2dzdHIgIkxlIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiAke259IHNlcmEgaWdub3LDqcKgOiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQyOAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ4MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICRjb3VudCBjb21taXQuIgogbXNnaWRfcGx1cmFsICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJGNvdW50IGNvbW1pdHMuIgogbXNnc3RyWzBdICJDZWNpIGVzdCBsYSBjb21iaW5haXNvbiBkZSAkY291bnQgY29tbWl0LiIKIG1zZ3N0clsxXSAiQ2VjaSBlc3QgbGEgY29tYmluYWlzb24gZGUgJGNvdW50IGNvbW1pdHMuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDM3CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDkyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgd3JpdGUgJGZpeHVwX21zZyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ8OpY3JpcmUgJGZpeHVwX21zZyIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ0MAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ5NQogbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAyIGNvbW1pdHMuIgogbXNnc3RyICJDZWNpIGVzdCBsYSBjb21iaW5haXNvbiBkZSAyIGNvbW1pdHMuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDgxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MjQKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MjcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MzYgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU3OQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU4MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICRzaGExLi4uICRyZXN0IgogbXNnc3RyICJJbXBvc3NpYmxlIGQnYXBwbGlxdWVyICRzaGExLi4uICRyZXN0IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NTU2CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjExCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGFtZW5kIGNvbW1pdCBhZnRlciBzdWNjZXNzZnVsbHkgcGlja2luZyAkc2hhMS4uLiAkcmVzdFxuIgpAQCAtMjAzOTAsMzEgKzIzNjQxLDMxIEBACiAibGVcbiIKICJwcm9ibMOobWUgYXZhbnQgZGUgcG91dm9pciByZWZvcm11bGVyIGxlIG1lc3NhZ2UgZHUgY29tbWl0LiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU3MQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYyNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCBhdCAkc2hhMV9hYmJyZXYuLi4gJHJlc3QiCiBtc2dzdHIgIkFycsOqdMOpIMOgICRzaGExX2FiYnJldi4uLiAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU4NgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY0MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90ICckc3F1YXNoX3N0eWxlJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICInJHNxdWFzaF9zdHlsZScgaW1wb3NzaWJsZSBhdmVjIGxlIGNvbW1pdCBwcsOpY8OpZGVudCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYyOAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY4MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRXhlY3V0aW5nOiAkcmVzdCIKIG1zZ3N0ciAiRXjDqWN1dGlvbsKgOiAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYzNgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY5MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRXhlY3V0aW9uIGZhaWxlZDogJHJlc3QiCiBtc2dzdHIgIkwnZXjDqWN1dGlvbiBhIMOpY2hvdcOpwqA6ICRyZXN0IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjM4CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjkzCiBtc2dpZCAiYW5kIG1hZGUgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImV0IGEgbWlzIMOgIGpvdXIgbCdpbmRleCBvdSBsYSBjb3BpZSBkZSB0cmF2YWlsIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjQwCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Njk1CiBtc2dpZCAiIgogIllvdSBjYW4gZml4IHRoZSBwcm9ibGVtLCBhbmQgdGhlbiBydW5cbiIKICJcbiIKQEAgLTIwNDI1LDcgKzIzNjc2LDcgQEAKICJnaXQgcmViYXNlIC0tY29udGludWUiCiAKICMuIFRSQU5TTEFUT1JTOiBhZnRlciB0aGVzZSBsaW5lcyBpcyBhIGNvbW1hbmQgdG8gYmUgaXNzdWVkIGJ5IHRoZSB1c2VyCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjUzCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzA4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiRXhlY3V0aW9uIHN1Y2NlZWRlZDogJHJlc3RcbiIKQEAgLTIwNDQwLDI1ICsyMzY5MSwyNSBAQAogIlxuIgogIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjY0CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICRjb21tYW5kICRzaGExICRyZXN0IgogbXNnc3RyICJDb21tYW5kZSBpbmNvbm51ZcKgOiAkY29tbWFuZCAkc2hhMSAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY2NQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjcyMAogbXNnaWQgIlBsZWFzZSBmaXggdGhpcyB1c2luZyAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuIgogbXNnc3RyICJWZXVpbGxleiBjb3JyaWdlciBjZWNpIGVuIHV0aWxpc2FudCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzAwCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzU1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWNjZXNzZnVsbHkgcmViYXNlZCBhbmQgdXBkYXRlZCAkaGVhZF9uYW1lLiIKIG1zZ3N0ciAiUmViYXNhZ2UgZXQgbWlzZSDDoCBqb3VyIGRlICRoZWFkX25hbWUgYXZlYyBzdWNjw6hzLiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc1NworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgxMgogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgQ0hFUlJZX1BJQ0tfSEVBRCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc2MgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgxNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLlxuIgpAQCAtMjA0ODksMTIgKzIzNzQwLDEyIEBACiAiXG4iCiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc3OQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgzNAogbXNnaWQgIkVycm9yIHRyeWluZyB0byBmaW5kIHRoZSBhdXRob3IgaWRlbnRpdHkgdG8gYW1lbmQgY29tbWl0IgogbXNnc3RyICIiCiAiRXJyZXVyIGxvcnMgZGUgbGEgcmVjaGVyY2hlIGRlIGwnaWRlbnRpdMOpIGRlIGwnYXV0ZXVyIHBvdXIgY29ycmlnZXIgbGUgY29tbWl0IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Nzg0CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODM5CiBtc2dpZCAiIgogIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSBjb21taXQgdGhlbVxuIgogImZpcnN0IGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBhZ2Fpbi4iCkBAIC0yMDUwMiw0MCArMjM3NTMsNDAgQEAKICJWb3VzIGF2ZXogZGVzIG1vZGlmaWNhdGlvbnMgbm9uIHZhbGlkw6llcyBkYW5zIHZvdHJlIGNvcGllIGRlIHRyYXZhaWwuXG4iCiAiVmV1aWxsZXogbGVzIHZhbGlkZXIgZCdhYm9yZCwgcHVpcyByZWxhbmNlciAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJy4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3ODkgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc5MworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg0NCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODQ4CiBtc2dpZCAiQ291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgImltcG9zc2libGUgZGUgdmFsaWRlciBsZXMgbW9kaWZpY2F0aW9ucyBpbmRleMOpZXMuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODI0IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MTAKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NzkgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk2NQogbXNnaWQgIkNvdWxkIG5vdCBleGVjdXRlIGVkaXRvciIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBsYW5jZXIgbCfDqWRpdGV1ciIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg0NQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkwMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNoZWNrb3V0ICRzd2l0Y2hfdG8iCiBtc2dzdHIgIkltcG9zc2libGUgZCdleHRyYWlyZSAkc3dpdGNoX3RvIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODUyCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTA3CiBtc2dpZCAiTm8gSEVBRD8iCiBtc2dzdHIgIlBhcyBkZSBIRUFEwqA/IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODUzCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTA4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAkc3RhdGVfZGlyIgogbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNyw6llciB1biByw6lwZXJ0b2lyZSB0ZW1wb3JhaXJlICRzdGF0ZV9kaXIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NTYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MTEKIG1zZ2lkICJDb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBtYXJxdWVyIGNvbW1lIGludGVyYWN0aWYiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4ODgKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NDMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmQpIgogbXNnaWRfcGx1cmFsICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kcykiCiBtc2dzdHJbMF0gIlJlYmFzYWdlIGRlICRzaG9ydHJldmlzaW9ucyBzdXIgJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kZSkiCiBtc2dzdHJbMV0gIlJlYmFzYWdlIGRlICRzaG9ydHJldmlzaW9ucyBzdXIgJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kZXMpIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTQyIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NDcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5OTcgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjEwMDIKIG1zZ2lkICJDb3VsZCBub3QgaW5pdCByZXdyaXR0ZW4gY29tbWl0cyIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ2luaXRpYWxpc2VyIGxlcyBjb21taXRzIHLDqcOpY3JpdHMiCiAKQEAgLTIwNTQ0LDE0NCArMjM3OTUsODIgQEAKIG1zZ2lkICJ1c2FnZTogJGRhc2hsZXNzICRVU0FHRSIKIG1zZ3N0ciAidXNhZ2XCoDogJGRhc2hsZXNzICRVU0FHRSIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjE5MAorIzogZ2l0LXNoLXNldHVwLnNoOjE5MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGNoZGlyIHRvICRjZHVwLCB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogIkltcG9zc2libGUgZGUgc2UgcGxhY2VyIGRhbnMgbGUgcsOpcGVydG9pcmUgJGNkdXAsIGxhIHJhY2luZSBkZSBsYSBjb3BpZSBkZSAiCiAidHJhdmFpbCIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjE5OSBnaXQtc2gtc2V0dXAuc2g6MjA2CisjOiBnaXQtc2gtc2V0dXAuc2g6MjAwIGdpdC1zaC1zZXR1cC5zaDoyMDcKICMsIHNoLWZvcm1hdAogbXNnaWQgImZhdGFsOiAkcHJvZ3JhbV9uYW1lIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgYSB3b3JraW5nIHRyZWUuIgogbXNnc3RyICJmYXRhbMKgOiAkcHJvZ3JhbV9uYW1lIG5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpIHNhbnMgY29waWUgZGUgdHJhdmFpbC4iCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoyMjAKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjEKIG1zZ2lkICJDYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZWJhc2VywqA6IHZvdXMgYXZleiBkZXMgbW9kaWZpY2F0aW9ucyBub24gaW5kZXjDqWVzLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjIyMworIzogZ2l0LXNoLXNldHVwLnNoOjIyNAogbXNnaWQgIkNhbm5vdCByZXdyaXRlIGJyYW5jaGVzOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogIkltcG9zc2libGUgZGUgcsOpw6ljcmlyZSBsZXMgYnJhbmNoZXPCoDogdm91cyBhdmV6IGRlcyBtb2RpZmljYXRpb25zIG5vbiAiCiAiaW5kZXjDqWVzLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjIyNgorIzogZ2l0LXNoLXNldHVwLnNoOjIyNwogbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogImltcG9zc2libGUgZGUgdGlyZXIgYXZlYyByZWJhc2FnZS4gVm91cyBhdmV6IGRlcyBtb2RpZmljYXRpb25zIG5vbiBpbmRleMOpZXMuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjI5CisjOiBnaXQtc2gtc2V0dXAuc2g6MjMwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgJGFjdGlvbjogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiRhY3Rpb24gZXN0IGltcG9zc2libGXCoDogdm91cyBhdmV6IGRlcyBtb2RpZmljYXRpb25zIG5vbiBpbmRleMOpZXMuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjQyCisjOiBnaXQtc2gtc2V0dXAuc2g6MjQzCiBtc2dpZCAiQ2Fubm90IHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogIkltcG9zc2libGUgZGUgcmViYXNlcsKgOiB2b3RyZSBpbmRleCBjb250aWVudCBkZXMgbW9kaWZpY2F0aW9ucyBub24gdmFsaWTDqWVzLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjI0NQorIzogZ2l0LXNoLXNldHVwLnNoOjI0NgogbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICIiCiAiaW1wb3NzaWJsZSBkZSB0aXJlciBhdmVjIHJlYmFzYWdlwqA6IHZvdHJlIGluZGV4IGNvbnRpZW50IGRlcyBtb2RpZmljYXRpb25zICIKICJub24gdmFsaWTDqWVzLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjI0OAorIzogZ2l0LXNoLXNldHVwLnNoOjI0OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90ICRhY3Rpb246IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKICIkYWN0aW9uIGVzdCBpbXBvc3NpYmxlwqA6IHZvdHJlIGluZGV4IGNvbnRpZW50IGRlcyBtb2RpZmljYXRpb25zIG5vbiB2YWxpZMOpZXMuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjUyCisjOiBnaXQtc2gtc2V0dXAuc2g6MjUzCiBtc2dpZCAiQWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICJEZSBwbHVzLCB2b3RyZSBpbmRleCBjb250aWVudCBkZXMgbW9kaWZpY2F0aW9ucyBub24gdmFsaWTDqWVzLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjM3MgorIzogZ2l0LXNoLXNldHVwLnNoOjM3MwogbXNnaWQgIllvdSBuZWVkIHRvIHJ1biB0aGlzIGNvbW1hbmQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZS4iCiBtc2dzdHIgIiIKICJWb3VzIGRldmV6IGxhbmNlciBjZXR0ZSBjb21tYW5kZSBkZXB1aXMgbGEgcmFjaW5lIGRlIHZvdHJlIGNvcGllIGRlIHRyYXZhaWwuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6Mzc3CisjOiBnaXQtc2gtc2V0dXAuc2g6Mzc4CiBtc2dpZCAiVW5hYmxlIHRvIGRldGVybWluZSBhYnNvbHV0ZSBwYXRoIG9mIGdpdCBkaXJlY3RvcnkiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZMOpdGVybWluZXIgbGUgY2hlbWluIGFic29sdSBkdSByw6lwZXJ0b2lyZSBnaXQiCiAKICMuIFRSQU5TTEFUT1JTOiB5b3UgY2FuIGFkanVzdCB0aGlzIHRvIGFsaWduICJnaXQgYWRkIC1pIiBzdGF0dXMgbWVudQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjEyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiUxMnMgJTEycyAlcyIKIG1zZ3N0ciAiJTEycyAlczEycyAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKLW1zZ2lkICJzdGFnZWQiCi1tc2dzdHIgImluZGV4w6kiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk3Ci1tc2dpZCAidW5zdGFnZWQiCi1tc2dzdHIgIm5vbi1pbmRleMOpIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI1MyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI3OAotbXNnaWQgImJpbmFyeSIKLW1zZ3N0ciAiYmluYWlyZSIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNjIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMTYKLW1zZ2lkICJub3RoaW5nIgotbXNnc3RyICJyaWVuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI5OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMxMwotbXNnaWQgInVuY2hhbmdlZCIKLW1zZ3N0ciAiaW5jaGFuZ8OpIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwOQotIywgcGVybC1mb3JtYXQKLW1zZ2lkICJhZGRlZCAlZCBwYXRoXG4iCi1tc2dpZF9wbHVyYWwgImFkZGVkICVkIHBhdGhzXG4iCi1tc2dzdHJbMF0gIiVkIGNoZW1pbiBham91dMOpXG4iCi1tc2dzdHJbMV0gIiVkIGNoZW1pbnMgYWpvdXTDqXNcbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MTIKLSMsIHBlcmwtZm9ybWF0Ci1tc2dpZCAidXBkYXRlZCAlZCBwYXRoXG4iCi1tc2dpZF9wbHVyYWwgInVwZGF0ZWQgJWQgcGF0aHNcbiIKLW1zZ3N0clswXSAiJWQgY2hlbWluIG1pcyDDoCBqb3VyXG4iCi1tc2dzdHJbMV0gIiVkIGNoZW1pbnMgbWlzIMOgIGpvdXJcbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MTUKLSMsIHBlcmwtZm9ybWF0Ci1tc2dpZCAicmV2ZXJ0ZWQgJWQgcGF0aFxuIgotbXNnaWRfcGx1cmFsICJyZXZlcnRlZCAlZCBwYXRoc1xuIgotbXNnc3RyWzBdICIlZCBjaGVtaW4gaW52ZXJzw6lcbiIKLW1zZ3N0clsxXSAiJWQgY2hlbWlucyBpbnZlcnPDqXNcbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjM0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInRvdWNoZWQgJWQgcGF0aFxuIgogbXNnaWRfcGx1cmFsICJ0b3VjaGVkICVkIHBhdGhzXG4iCiBtc2dzdHJbMF0gIiVkIGNoZW1pbiB0b3VjaMOpXG4iCiBtc2dzdHJbMV0gIiVkIGNoZW1pbnMgdG91Y2jDqXNcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MjcKLW1zZ2lkICJVcGRhdGUiCi1tc2dzdHIgIk1pc2Ugw6Agam91ciIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzkKLW1zZ2lkICJSZXZlcnQiCi1tc2dzdHIgIkludmVyc2VyIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY2MgotIywgcGVybC1mb3JtYXQKLW1zZ2lkICJub3RlOiAlcyBpcyB1bnRyYWNrZWQgbm93LlxuIgotbXNnc3RyICJub3RlwqA6ICVzIG4nZXN0IHBsdXMgc3Vpdmkgw6AgcHLDqXNlbnQuXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjczCi1tc2dpZCAiQWRkIHVudHJhY2tlZCIKLW1zZ3N0ciAiQWpvdXRlciB1biBmaWNoaWVyIG5vbi1zdWl2aSIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzkKLW1zZ2lkICJObyB1bnRyYWNrZWQgZmlsZXMuXG4iCi1tc2dzdHIgIkF1Y3VuIEZpY2hpZXIgbm9uIHN1aXZpLlxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMzMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1MwogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3Igc3RhZ2luZy4iCkBAIC0yMDY4OSw3ICsyMzg3OCw3IEBACiAiU2kgbGUgcGF0Y2ggcydhcHBsaXF1ZSBwcm9wcmVtZW50LCBsYSBzZWN0aW9uIMOpZGl0w6llIHNlcmFcbiIKICJpbW3DqWRpYXRlbWVudCBtYXJxdcOpZSBjb21tZSBpbmRleMOpZS4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAzNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDU2CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBzdGFzaGluZy4iCkBAIC0yMDY5Nyw3ICsyMzg4Niw3IEBACiAiU2kgbGUgcGF0Y2ggcydhcHBsaXF1ZSBwcm9wcmVtZW50LCBsYSBzZWN0aW9uIMOpZGl0w6llIHNlcmFcbiIKICJpbW3DqWRpYXRlbWVudCBtYXJxdcOpZSBjb21tZSByZW1pc8OpZS4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAzOQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDU5CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciB1bnN0YWdpbmcuIgpAQCAtMjA3MDUsNyArMjM4OTQsOCBAQAogIlNpIGxlIHBhdGNoIHMnYXBwbGlxdWUgcHJvcHJlbWVudCwgbGEgc2VjdGlvbiDDqWRpdMOpZSBzZXJhXG4iCiAiaW1tw6lkaWF0ZW1lbnQgbWFycXXDqWUgY29tbWUgZGVzaW5kZXjDqWUuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDUxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDcxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNzcKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIGFwcGx5aW5nLiIKQEAgLTIwNzEzLDcgKzIzOTAzLDggQEAKICJTaSBsZSBwYXRjaCBzJ2FwcGxpcXVlIHByb3ByZW1lbnQsIGxhIHNlY3Rpb24gw6lkaXTDqWUgc2VyYVxuIgogImltbcOpZGlhdGVtZW50IG1hcnF1w6llIGNvbW1lIGFwcGxpcXXDqWUuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQ4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNzQKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIGRpc2NhcmRpbmcuIgpAQCAtMjA3MjEsMTcgKzIzOTEyLDEyIEBACiAiU2kgbGUgcGF0Y2ggcydhcHBsaXF1ZSBwcm9wcmVtZW50LCBsYSBzZWN0aW9uIMOpZGl0w6llIHNlcmFcbiIKICJpbW3DqWRpYXRlbWVudCBtYXJxdcOpZSBjb21tZSDDqWxpbWluw6llLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDg1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHdyaXRpbmc6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgZCfDqWRpdGlvbiBkZSBzZWN0aW9uIGVuIMOpY3JpdHVyZcKgOiAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDg2Ci1tc2dpZCAiTWFudWFsIGh1bmsgZWRpdCBtb2RlIC0tIHNlZSBib3R0b20gZm9yIGEgcXVpY2sgZ3VpZGUuXG4iCi1tc2dzdHIgIiIKLSJNb2RlIGQnw6lkaXRpb24gbWFudWVsbGUgZGUgc2VjdGlvbiAtLSB2b2lyIGNpLWRlc3NvdXMgcG91ciB1biBndWlkZSByYXBpZGUuXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA5MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICItLS1cbiIKQEAgLTIwNzQ0LDM2ICsyMzkzMCwxMiBAQAogIlBvdXIgw6lsaW1pbmVyIGxlcyBsaWduZXMgJyVzJywgZWZmYWNlei1sZXMuXG4iCiAiTGVzIGxpZ25lcyBjb21tZW7Dp2FudCBwYXIgJXMgc2Vyb250IMOpbGltaW7DqWVzLlxuIgogCi0jLiBUUkFOU0xBVE9SUzogJ2l0JyByZWZlcnMgdG8gdGhlIHBhdGNoIG1lbnRpb25lZCBpbiB0aGUgcHJldmlvdXMgbWVzc2FnZXMuCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMDAKLW1zZ2lkICIiCi0iSWYgaXQgZG9lcyBub3QgYXBwbHkgY2xlYW5seSwgeW91IHdpbGwgYmUgZ2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG9cbiIKLSJlZGl0IGFnYWluLiAgSWYgYWxsIGxpbmVzIG9mIHRoZSBodW5rIGFyZSByZW1vdmVkLCB0aGVuIHRoZSBlZGl0IGlzXG4iCi0iYWJvcnRlZCBhbmQgdGhlIGh1bmsgaXMgbGVmdCB1bmNoYW5nZWQuXG4iCi1tc2dzdHIgIiIKLSJTaSDDp2EgbmUgcydhcHBsaXF1ZSBwYXMgcHJvcHJlbWVudCwgdm91cyBhdXJleiBsYSBwb3NzaWJpbGl0w6kgZGVcbiIKLSJsJ8OpZGl0ZXIgw6Agbm91dmVhdS4gU2kgdG91dGVzIGxlcyBsaWduZXMgZGUgbGEgc2VjdGlvbiBzb250IHN1cHByaW3DqWVzLFxuIgotImFsb3JzIGwnw6lkaXRpb24gc2VyYSBhYmFuZG9ubsOpZSBldCBsYSBzZWN0aW9uIGNvbnNlcnbDqWUuXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTExNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTQwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuIGh1bmsgZWRpdCBmaWxlIGZvciByZWFkaW5nOiAlcyIKIG1zZ3N0ciAiw6ljaGVjIGRlIGwnb3V2ZXJ0dXJlIGR1IGZpY2hpZXIgZCfDqWRpdGlvbiBkZSBzZWN0aW9uIGVuIGxlY3R1cmXCoDogJXMiCiAKLSMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIFt5L25dCi0jLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IHRoYXQgaW5wdXQKLSMuIGF0IHRoaXMgcG9pbnQuCi0jLiBDb25zaWRlciB0cmFuc2xhdGluZyAoc2F5aW5nICJubyIgZGlzY2FyZHMhKSBhcwotIy4gKHNheWluZyAibiIgZm9yICJubyIgZGlzY2FyZHMhKSBpZiB0aGUgdHJhbnNsYXRpb24KLSMuIG9mIHRoZSB3b3JkICJubyIgZG9lcyBub3Qgc3RhcnQgd2l0aCBuLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjEzCi1tc2dpZCAiIgotIllvdXIgZWRpdGVkIGh1bmsgZG9lcyBub3QgYXBwbHkuIEVkaXQgYWdhaW4gKHNheWluZyBcIm5vXCIgZGlzY2FyZHMhKSBbeS9uXT8gIgotbXNnc3RyICIiCi0iVm90cmUgc2VjdGlvbiDDqWRpdMOpZSBuZSBzJ2FwcGxpcXVlIHBhcy4gTCfDqWRpdGVyIMOgIG5vdXZlYXUgKFwibm9cIiAiCi0ibCfDqWxpbWluZcKgISkgW3l8bl3CoD8gIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI0OAogbXNnaWQgIiIKICJ5IC0gc3RhZ2UgdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmtcbiIKQEAgLTIwNzg3LDcgKzIzOTQ5LDcgQEAKICJhIC0gaW5kZXhlciBjZXR0ZSBzZWN0aW9uIGV0IHRvdXRlcyBsZXMgc3VpdmFudGVzIGRlIGNlIGZpY2hpZXJcbiIKICJkIC0gbmUgcGFzIGluZGV4ZXIgY2V0dGUgc2VjdGlvbiBuaSBsZXMgc3VpdmFudGVzIGRlIGNlIGZpY2hpZXIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyOAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjU0CiBtc2dpZCAiIgogInkgLSBzdGFzaCB0aGlzIGh1bmtcbiIKICJuIC0gZG8gbm90IHN0YXNoIHRoaXMgaHVua1xuIgpAQCAtMjA4MDEsNyArMjM5NjMsNyBAQAogImEgLSByZW1pc2VyIGNldHRlIHNlY3Rpb24gZXQgdG91dGVzIGxlcyBzdWl2YW50ZXMgZGUgY2UgZmljaGllclxuIgogImQgLSBuZSBwYXMgcmVtaXNlciBjZXR0ZSBzZWN0aW9uIG5pIGxlcyBzdWl2YW50ZXMgZGUgY2UgZmljaGllciIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjM0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNjAKIG1zZ2lkICIiCiAieSAtIHVuc3RhZ2UgdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCB1bnN0YWdlIHRoaXMgaHVua1xuIgpAQCAtMjA4MTUsNyArMjM5NzcsNyBAQAogImEgLSBkw6lzaW5kZXhlciBjZXR0ZSBzZWN0aW9uIGV0IHRvdXRlcyBsZXMgc3VpdmFudGVzIGRlIGNlIGZpY2hpZXJcbiIKICJkIC0gbmUgcGFzIGTDqXNpbmRleGVyIGNldHRlIHNlY3Rpb24gbmkgbGVzIHN1aXZhbnRlcyBkZSBjZSBmaWNoaWVyIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI2NgogbXNnaWQgIiIKICJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4XG4iCiAibiAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXhcbiIKQEAgLTIwODI5LDcgKzIzOTkxLDcgQEAKICJhIC0gYXBwbGlxdWVyIGNldHRlIHNlY3Rpb24gZXQgdG91dGVzIGxlcyBzdWl2YW50ZXMgZGUgY2UgZmljaGllclxuIgogImQgLSBuZSBwYXMgYXBwbGlxdWVyIGNldHRlIHNlY3Rpb24gbmkgbGVzIHN1aXZhbnRlcyBkZSBjZSBmaWNoaWVyIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyOTAKIG1zZ2lkICIiCiAieSAtIGRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWVcbiIKICJuIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWVcbiIKQEAgLTIwODQzLDcgKzI0MDA1LDcgQEAKICJhIC0gc3VwcHJpbWVyIGNldHRlIHNlY3Rpb24gZXQgdG91dGVzIGxlcyBzdWl2YW50ZXMgZGUgY2UgZmljaGllclxuIgogImQgLSBuZSBwYXMgc3VwcHJpbWVyIGNldHRlIHNlY3Rpb24gbmkgbGVzIHN1aXZhbnRlcyBkZSBjZSBmaWNoaWVyIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNTIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3OAogbXNnaWQgIiIKICJ5IC0gZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWVcbiIKICJuIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlXG4iCkBAIC0yMDg1Nyw3ICsyNDAxOSw3IEBACiAiYSAtIMOpbGltaW5lciBjZXR0ZSBzZWN0aW9uIGV0IHRvdXRlcyBsZXMgc3VpdmFudGVzIGRlIGNlIGZpY2hpZXJcbiIKICJkIC0gbmUgcGFzIMOpbGltaW5lciBjZXR0ZSBzZWN0aW9uIG5pIGxlcyBzdWl2YW50ZXMgZGUgY2UgZmljaGllciIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjU4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyODQKIG1zZ2lkICIiCiAieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKICJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKQEAgLTIwODcxLDcgKzI0MDMzLDIxIEBACiAiYSAtIGFwcGxpcXVlciBjZXR0ZSBzZWN0aW9uIGV0IHRvdXRlcyBsZXMgc3VpdmFudGVzIGRlIGNlIGZpY2hpZXJcbiIKICJkIC0gbmUgcGFzIGFwcGxpcXVlciBjZXR0ZSBzZWN0aW9uIG5pIGxlcyBzdWl2YW50ZXMgZGUgY2UgZmljaGllciIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjczCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyOTYKK21zZ2lkICIiCisieSAtIGFwcGx5IHRoaXMgaHVuayB0byB3b3JrdHJlZVxuIgorIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIHdvcmt0cmVlXG4iCisicSAtIHF1aXQ7IGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSBhcHBseSB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorImQgLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCittc2dzdHIgIiIKKyJ5IC0gYXBwbGlxdWVyIGNldHRlIHNlY3Rpb24gw6AgbCdhcmJyZSBkZSB0cmF2YWlsXG4iCisibiAtIG5lIHBhcyBhcHBsaXF1ZXIgY2V0dGUgc2VjdGlvblxuIgorInEgLSBxdWl0dGVywqA7IG5lIHBhcyBhcHBsaXF1ZXIgY2V0dGUgc2VjdGlvbiBuaSBsZXMgYXV0cmVzIHJlc3RhbnRlc1xuIgorImEgLSBhcHBsaXF1ZXIgY2V0dGUgc2VjdGlvbiBldCB0b3V0ZXMgbGVzIHN1aXZhbnRlcyBkZSBjZSBmaWNoaWVyXG4iCisiZCAtIG5lIHBhcyBhcHBsaXF1ZXIgY2V0dGUgc2VjdGlvbiBuaSBsZXMgc3VpdmFudGVzIGRlIGNlIGZpY2hpZXIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMQogbXNnaWQgIiIKICJnIC0gc2VsZWN0IGEgaHVuayB0byBnbyB0b1xuIgogIi8gLSBzZWFyY2ggZm9yIGEgaHVuayBtYXRjaGluZyB0aGUgZ2l2ZW4gcmVnZXhcbiIKQEAgLTIwODkzLDIxOCArMjQwNjksMjA2IEBACiAiZSAtIMOpZGl0ZXIgbWFudWVsbGVtZW50IGxhIHNlY3Rpb24gYWN0dWVsbGVcbiIKICI/IC0gYWZmaWNoZXIgbCdhaWRlXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzQyCiBtc2dpZCAiVGhlIHNlbGVjdGVkIGh1bmtzIGRvIG5vdCBhcHBseSB0byB0aGUgaW5kZXghXG4iCiBtc2dzdHIgIkxlcyBzZWN0aW9ucyBzw6lsZWN0aW9ubsOpZXMgbmUgcydhcHBsaXF1ZSBwYXMgw6AgbCdpbmRleMKgIVxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMDUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM0MwogbXNnaWQgIkFwcGx5IHRoZW0gdG8gdGhlIHdvcmt0cmVlIGFueXdheT8gIgogbXNnc3RyICJMZXMgYXBwbGlxdWVyIHF1YW5kIG3Dqm1lIMOgIGwnYXJicmUgZGUgdHJhdmFpbMKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwOAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzQ2CiBtc2dpZCAiTm90aGluZyB3YXMgYXBwbGllZC5cbiIKIG1zZ3N0ciAiUmllbiBuJ2Egw6l0w6kgYXBwbGlxdcOpLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM1NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyB1bm1lcmdlZDogJXNcbiIKIG1zZ3N0ciAiZmljaGllciBub24tZnVzaW9ubsOpIGlnbm9yw6nCoDogJXNcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI4Ci1tc2dpZCAiT25seSBiaW5hcnkgZmlsZXMgY2hhbmdlZC5cbiIKLW1zZ3N0ciAiU2V1bHMgZGVzIGZpY2hpZXJzIGJpbmFpcmVzIG9udCBjaGFuZ8OpLlxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzAKLW1zZ2lkICJObyBjaGFuZ2VzLlxuIgotbXNnc3RyICJBdWN1bmUgbW9kaWZpY2F0aW9uLlxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzgKLW1zZ2lkICJQYXRjaCB1cGRhdGUiCi1tc2dzdHIgIk1pc2Ugw6Agam91ciBwYXIgcGF0Y2giCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDI4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJJbmRleGVyIGxlIGNoYW5nZW1lbnQgZGUgbW9kZSBbeSxuLHEsYSxkJXMsP13CoD8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyOQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiSW5kZXhlciBsYSBzdXBwcmVzc2lvbiBbeSxuLHEsYSxkJXMsP13CoD8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSB0aGlzIGh1bmsgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIkluZGV4ZXIgY2V0dGUgc2VjdGlvbiBbeSxuLHEsYSxkJXMsP13CoD8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzMwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFzaCBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiUmVtaXNlciBsZSBjaGFuZ2VtZW50IGRlIG1vZGUgW3ksbixxLGEsZCVzLD9dwqA/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzk2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3Rhc2ggZGVsZXRpb24gW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIlJlbWlzZXIgbGEgc3VwcHJlc3Npb24gW3ksbixxLGEsZCVzLD9dwqA/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzk3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3Rhc2ggdGhpcyBodW5rIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJSZW1pc2VyIGNldHRlIHNlY3Rpb24gW3ksbixxLGEsZCVzLD9dwqA/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDAwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5zdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiRMOpc2luZGV4ZXIgbGUgY2hhbmdlbWVudCBkZSBtb2RlIFt5LG4scSxhLGQlcyw/XcKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwMQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDM5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgZGVsZXRpb24gW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIkTDqXNpbmRleGVyIGxhIHN1cHByZXNzaW9uIFt5LG4scSxhLGQlcyw/XcKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJEw6lzaW5kZXhlciBjZXR0ZSBzZWN0aW9uIFt5LG4scSxhLGQlcyw/XcKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIGluZGV4IFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJBcHBsaXF1ZXIgbGUgY2hhbmdlbWVudCBkZSBtb2RlIMOgIGwnaW5kZXggW3ksbixxLGEsZCVzLD9dwqA/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgZGVsZXRpb24gdG8gaW5kZXggW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIkFwcGxpcXVlciBsYSBzdXBwcmVzc2lvbiDDoCBsJ2luZGV4IFt5LG4scSxhLGQlcyw/XcKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwNworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQ1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiQXBwbGlxdWVyIGNldHRlIHNlY3Rpb24gw6AgbCdpbmRleCBbeSxuLHEsYSxkJXMsP13CoD8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MTAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBtb2RlIGNoYW5nZSBmcm9tIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJBYmFuZG9ubmVyIGxlIGNoYW5nZW1lbnQgZGUgbW9kZSBkYW5zIGwnYXJicmUgW3ksbixxLGEsZCVzLD9dwqA/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDExCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiQWJhbmRvbm5lciBsYSBzdXBwcmVzc2lvbiBkYW5zIGwnYXJicmUgW3ksbixxLGEsZCVzLD9dwqA/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDEyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIkFiYW5kb25uZXIgY2V0dGUgc2VjdGlvbiBkYW5zIGwnYXJicmUgW3ksbixxLGEsZCVzLD9dwqA/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDE1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBtb2RlIGNoYW5nZSBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiIgogIkFiYW5kb25uZXIgbGUgY2hhbmdlbWVudCBkZSBtb2RlIGRhbnMgbCdpbmRleCBldCBsJ2FyYnJlIFt5LG4scSxhLGQlcyw/XcKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIkFiYW5kb25uZXIgbGEgc3VwcHJlc3Npb24gZGUgbCdpbmRleCBldCBkZSBsJ2FyYnJlIFt5LG4scSxhLGQlcyw/XcKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxNworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICIiCiAiU3VwcHJpbWVyIGxhIHNlY3Rpb24gZGFucyBsJ2luZGV4IGV0IGwnYXJicmUgZGUgdHJhdmFpbCBbeSxuLHEsYSxkJXMsP13CoD8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MjAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIiIKICJBcHBsaXF1ZXIgbGUgY2hhbmdlbWVudCBkZSBtb2RlIGRhbnMgbCdpbmRleCBldCBsJ2FyYnJlIGRlIHRyYXZhaWwgW3ksbixxLGEsZCIKICIlcyw/XcKgPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyMQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiIgogIkFwcGxpcXVlciBsYSBzdXBwcmVzc2lvbiBkYW5zIGwnaW5kZXggZXQgbCdhcmJyZSBkZSB0cmF2YWlsIFt5LG4scSxhLGQiCiAiJXMsP13CoD8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MjIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICIiCiAiQXBwbGlxdWVyIGxhIHNlY3Rpb24gw6AgbCdpbmRleCBldCBsJ2FyYnJlIGRlIHRyYXZhaWwgW3ksbixxLGEsZCVzLD9dwqA/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTIyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIiIKKyJBcHBsaXF1ZXIgbGUgY2hhbmdlbWVudCBkZSBtb2RlIGRhbnMgbCdhcmJyZSBkZSB0cmF2YWlsIFt5LG4scSxhLGQlcyw/XcKgPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2OQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSBkZWxldGlvbiB0byB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiQXBwbGlxdWVyIGxhIHN1cHByZXNzaW9uIGRhbnMgbCdhcmJyZSBkZSB0cmF2YWlsIFt5LG4scSxhLGQlcyw/XcKgPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ3MAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIkFwcGxpcXVlciBsYSBzZWN0aW9uIMOgIGwnYXJicmUgZGUgdHJhdmFpbCBbeSxuLHEsYSxkJXMsP13CoD8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzAKIG1zZ2lkICJObyBvdGhlciBodW5rcyB0byBnb3RvXG4iCiBtc2dzdHIgIkF1Y3VuZSBhdXRyZSBzZWN0aW9uIMOgIGF0dGVpbmRyZVxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MjkKLW1zZ2lkICJnbyB0byB3aGljaCBodW5rICg8cmV0PiB0byBzZWUgbW9yZSk/ICIKLW1zZ3N0ciAiYWxsZXIgw6AgcXVlbGxlIHNlY3Rpb24gKDxyZXQ+IHBvdXIgdm9pciBwbHVzKcKgPyAiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUzMQotbXNnaWQgImdvIHRvIHdoaWNoIGh1bms/ICIKLW1zZ3N0ciAiYWxsZXIgw6AgcXVlbGxlIHNlY3Rpb27CoD8gIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NDAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU4OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG51bWJlcjogJyVzJ1xuIgogbXNnc3RyICJOb21icmUgaW52YWxpZGUgOiAnJXMnXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU0NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTkzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNvcnJ5LCBvbmx5ICVkIGh1bmsgYXZhaWxhYmxlLlxuIgogbXNnaWRfcGx1cmFsICJTb3JyeSwgb25seSAlZCBodW5rcyBhdmFpbGFibGUuXG4iCiBtc2dzdHJbMF0gIkTDqXNvbMOpLCAlZCBzZXVsZSBzZWN0aW9uIGRpc3BvbmlibGUuXG4iCiBtc2dzdHJbMV0gIkTDqXNvbMOpLCBTZXVsZW1lbnQgJWQgc2VjdGlvbnMgZGlzcG9uaWJsZXMuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjE5CiBtc2dpZCAiTm8gb3RoZXIgaHVua3MgdG8gc2VhcmNoXG4iCiBtc2dzdHIgImF1Y3VuZSBhdXRyZSBzZWN0aW9uIMOgIHJlY2hlcmNoZXJcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTc1Ci1tc2dpZCAic2VhcmNoIGZvciByZWdleD8gIgotbXNnc3RyICJyZWNoZXJjaGVyIGxhIHJlZ2V4wqA/ICIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTg4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MzYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzXG4iCiBtc2dzdHIgIlJlZ2V4IGRlIHJlY2hlcmNoZSBtYWxmb3Jtw6llICVzwqA6ICVzXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU5OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQ2CiBtc2dpZCAiTm8gaHVuayBtYXRjaGVzIHRoZSBnaXZlbiBwYXR0ZXJuXG4iCiBtc2dzdHIgIkF1Y3VuZSBzZWN0aW9uIG5lIGNvcnJlc3BvbmQgYXUgbW90aWYgZG9ubsOpXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYxMCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MzIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY1OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2ODAKIG1zZ2lkICJObyBwcmV2aW91cyBodW5rXG4iCiBtc2dzdHIgIlBhcyBkZSBzZWN0aW9uIHByw6ljw6lkZW50ZVxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjM4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjg2CiBtc2dpZCAiTm8gbmV4dCBodW5rXG4iCiBtc2dzdHIgIlBhcyBkZSBzZWN0aW9uIHN1aXZhbnRlXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY0NAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjkyCiBtc2dpZCAiU29ycnksIGNhbm5vdCBzcGxpdCB0aGlzIGh1bmtcbiIKIG1zZ3N0ciAiRMOpc29sw6ksIGltcG9zc2libGUgZGUgZMOpY291cGVyIGNldHRlIHNlY3Rpb25cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjUwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3BsaXQgaW50byAlZCBodW5rLlxuIgogbXNnaWRfcGx1cmFsICJTcGxpdCBpbnRvICVkIGh1bmtzLlxuIgogbXNnc3RyWzBdICJEw6ljb3Vww6llIGVuICVkIHNlY3Rpb24uXG4iCiBtc2dzdHJbMV0gIkTDqWNvdXDDqWUgZW4gJWQgc2VjdGlvbnMuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzA4CiBtc2dpZCAiU29ycnksIGNhbm5vdCBlZGl0IHRoaXMgaHVua1xuIgogbXNnc3RyICJEw6lzb2zDqSwgaW1wb3NzaWJsZSBkJ8OpZGl0ZXIgY2V0dGUgc2VjdGlvblxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDYKLW1zZ2lkICJSZXZpZXcgZGlmZiIKLW1zZ3N0ciAiUsOpdmlzZXIgbGEgZGlmZsOpcmVuY2UiCi0KICMuIFRSQU5TTEFUT1JTOiBwbGVhc2UgZG8gbm90IHRyYW5zbGF0ZSB0aGUgY29tbWFuZCBuYW1lcwogIy4gJ3N0YXR1cycsICd1cGRhdGUnLCAncmV2ZXJ0JywgZXRjLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzI1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NzMKIG1zZ2lkICIiCiAic3RhdHVzICAgICAgICAtIHNob3cgcGF0aHMgd2l0aCBjaGFuZ2VzXG4iCiAidXBkYXRlICAgICAgICAtIGFkZCB3b3JraW5nIHRyZWUgc3RhdGUgdG8gdGhlIHN0YWdlZCBzZXQgb2YgY2hhbmdlc1xuIgpAQCAtMjExMjIsMTggKzI0Mjg2LDE5IEBACiAiZGlmZiAgICAgICAgICAtIHZpc3VhbGlzZXIgbGVzIGRpZmYgZW50cmUgSEVBRCBldCBsJ2luZGV4XG4iCiAiYWRkIHVudHJhY2tlZCAtIGFqb3V0ZXIgbGVzIGZpY2hpZXJzIG5vbi1zdWl2aXMgYXV4IG1vZGlmaWNhdGlvbnMgw6AgaW5kZXhlclxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzQ3Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NTAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzU3Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzY3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3OTAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzk1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3OTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODA1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MDggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODE1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODI1CiBtc2dpZCAibWlzc2luZyAtLSIKIG1zZ3N0ciAiLS0gbWFucXVhbnQiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODIxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInVua25vd24gLS1wYXRjaCBtb2RlOiAlcyIKIG1zZ3N0ciAibW9kZSBkZSAtLXBhdGNoIGluY29ubnXCoDogJXMiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NzUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyNyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MzMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCAlcywgZXhwZWN0aW5nIC0tIgogbXNnc3RyICJhcmd1bWVudCBpbnZhbGlkZSAlcywgLS0gYXR0ZW5kdSIKQEAgLTIxMTQ3LDMxICsyNDMxMiwzMSBAQAogbXNnaWQgImxvY2FsIHRpbWUgb2Zmc2V0IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAyNCBob3Vyc1xuIgogbXNnc3RyICJsZSBkw6ljYWxhZ2UgZGUgdGVtcHMgbG9jYWwgZXN0IHBsdXMgZ3JhbmQgb3Ugw6lnYWwgw6AgMjQgaGV1cmVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjE5IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjI1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIyMyBnaXQtc2VuZC1lbWFpbC5wZXJsOjIyOQogbXNnaWQgInRoZSBlZGl0b3IgZXhpdGVkIHVuY2xlYW5seSwgYWJvcnRpbmcgZXZlcnl0aGluZyIKIG1zZ3N0ciAibCfDqWRpdGV1ciBlc3Qgc29ydGkgZW4gZXJyZXVyLCBhYmFuZG9uIHRvdGFsIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMwMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDozMTAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgY29udGFpbnMgYW4gaW50ZXJtZWRpYXRlIHZlcnNpb24gb2YgdGhlIGVtYWlsIHlvdSB3ZXJlIGNvbXBvc2luZy5cbiIKIG1zZ3N0ciAiIgogIiclcycgY29udGllbnQgdW5lIHZlcnNpb24gaW50ZXJtw6lkaWFpcmUgZHUgY291cnJpZWwgcXVlIHZvdXMgY29tcG9zaWV6LlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMwNworIzogZ2l0LXNlbmQtZW1haWwucGVybDozMTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJyVzLmZpbmFsJyBjb250YWlucyB0aGUgY29tcG9zZWQgZW1haWwuXG4iCiBtc2dzdHIgIiclcy5maW5hbCcgY29udGllbnQgbGUgY291cnJpZWwgY29tcG9zw6kuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzI2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQwOAogbXNnaWQgIi0tZHVtcC1hbGlhc2VzIGluY29tcGF0aWJsZSB3aXRoIG90aGVyIG9wdGlvbnNcbiIKIG1zZ3N0ciAiLS1kdW1wLWFsaWFzZXMgZXN0IGluY29tcGF0aWJsZSBhdmVjIGQnYXV0cmVzIG9wdGlvbnNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDozOTUgZ2l0LXNlbmQtZW1haWwucGVybDo2NTAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDgxIGdpdC1zZW5kLWVtYWlsLnBlcmw6NjgzCiBtc2dpZCAiQ2Fubm90IHJ1biBnaXQgZm9ybWF0LXBhdGNoIGZyb20gb3V0c2lkZSBhIHJlcG9zaXRvcnlcbiIKIG1zZ3N0ciAiTGFuY2VtZW50IGRlIGdpdCBmb3JtYXQtcGF0Y2ggaW1wb3NzaWJsZSDDoCBsJ2V4dMOpcmlldXIgZCd1biBkw6lww7R0XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mzk4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ4NAogbXNnaWQgIiIKICJgYmF0Y2gtc2l6ZWAgYW5kIGByZWxvZ2luYCBtdXN0IGJlIHNwZWNpZmllZCB0b2dldGhlciAodmlhIGNvbW1hbmQtbGluZSBvciAiCiAiY29uZmlndXJhdGlvbiBvcHRpb24pXG4iCkBAIC0yMTE3OSwzOSArMjQzNDQsMzkgQEAKICJgYmF0Y2gtc2l6ZWAgZXQgYHJlbG9naW5gIGRvaXZlbnQgw6p0cmUgc3DDqWNpZmnDqXMgZW5zZW1ibGVzICh2aWEgbGEgbGlnbmUgZGUgIgogImNvbW1hbmRlIG91IGRlcyBvcHRpb25zIGRlIGNvbmZpZ3VyYXRpb24pXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDY4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ5NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbmtub3duIC0tc3VwcHJlc3MtY2MgZmllbGQ6ICclcydcbiIKIG1zZ3N0ciAiQ2hhbXAgZGUgLS1zdXBwcmVzcy1jYyBpbmNvbm51wqA6ICclcydcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0OTcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTI4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVua25vd24gLS1jb25maXJtIHNldHRpbmc6ICclcydcbiIKIG1zZ3N0ciAiUGFyYW3DqHRyZSBkZSAtLWNvbmZpcm0gaW5jb25udcKgOiAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTI1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU1NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBhbGlhcyB3aXRoIHF1b3RlcyBpcyBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICIiCiAiYXR0ZW50aW9uwqA6IGxlcyBndWlsbGVtZXRzIG5lIHNvbnQgcGFzIHN1cHBvcnTDqXMgZGFucyBhbGlhcyBzZW5kbWFpbMKgOiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUyNworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1NTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogYDppbmNsdWRlOmAgbm90IHN1cHBvcnRlZDogJXNcbiIKIG1zZ3N0ciAiYXR0ZW50aW9uwqA6IGA6aW5jbHVkZTpgIG4nZXN0IHBhcyBzdXBwb3J0w6nCoDogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTYwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGAvZmlsZWAgb3IgYHxwaXBlYCByZWRpcmVjdGlvbiBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICIiCiAiYXR0ZW50aW9uwqA6IGxlcyByZWRpcmVjdGlvbnMgYC9maWxlYCBvdSBgfHBpcGVgIG5lIHNvbnQgcGFzIHN1cHBvcnTDqWVzwqA6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTM0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU2NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBsaW5lIGlzIG5vdCByZWNvZ25pemVkOiAlc1xuIgogbXNnc3RyICJhdHRlbnRpb27CoDogbGlnbmUgc2VuZG1haWwgbm9uIHJlY29ubnVlwqA6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjE2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY0OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiRmlsZSAnJXMnIGV4aXN0cyBidXQgaXQgY291bGQgYWxzbyBiZSB0aGUgcmFuZ2Ugb2YgY29tbWl0c1xuIgpAQCAtMjEyMjYsMTIgKzI0MzkxLDEyIEBACiAiICAgICogZW4gaW5kaXF1YW50IFwiLi8lc1wiIHNpIHZvdXMgZMOpc2lnbmV6IHVuIGZpY2hpZXIsIG91XG4iCiAiICAgICogZW4gZm91cm5pc3NhbnQgbCdvcHRpb24gLS1mb3JtYXQtcGF0Y2ggcG91ciB1bmUgcGxhZ2UuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjM3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY3MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbmRpciAlczogJXMiCiBtc2dzdHIgIsOJY2hlYyDDoCBsJ291dmVydHVyZSBkdSByw6lwZXJ0b2lyZSAlc8KgOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NjEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njk0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJmYXRhbDogJXM6ICVzXG4iCkBAIC0yMTI0MCw3ICsyNDQwNSw3IEBACiAiZmF0YWzCoDogJXPCoDogJXNcbiIKICJhdHRlbnRpb27CoDogYXVjdW4gcGF0Y2ggZW52b3nDqVxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY3MgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MDUKIG1zZ2lkICIiCiAiXG4iCiAiTm8gcGF0Y2ggZmlsZXMgc3BlY2lmaWVkIVxuIgpAQCAtMjEyNTAsMTcgKzI0NDE1LDE3IEBACiAiQXVjdW4gZmljaGllciBwYXRjaCBzcMOpY2lmacOpwqAhXG4iCiAiXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njg1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcxOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJObyBzdWJqZWN0IGxpbmUgaW4gJXM/IgogbXNnc3RyICJMaWduZSBkZSBzdWpldCBub24gdHJvdXbDqWUgZGFucyAlcyA/IgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY5NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MjgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gZm9yIHdyaXRpbmcgJXM6ICVzIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyICVzIGVuIMOpY3JpdHVyZcKgOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MDYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzM5CiBtc2dpZCAiIgogIkxpbmVzIGJlZ2lubmluZyBpbiBcIkdJVDpcIiB3aWxsIGJlIHJlbW92ZWQuXG4iCiAiQ29uc2lkZXIgaW5jbHVkaW5nIGFuIG92ZXJhbGwgZGlmZnN0YXQgb3IgdGFibGUgb2YgY29udGVudHNcbiIKQEAgLTIxMjc0LDI3ICsyNDQzOSwyNyBAQAogIlxuIgogIkVmZmFjZXogbGUgY29ycHMgc2kgdm91cyBuZSBzb3VoYWl0ZXogcGFzIGVudm95ZXIgdW4gcsOpc3Vtw6kuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzMwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc2MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlczogJXMiCiBtc2dzdHIgIsOJY2hlYyDDoCBsJ291dmVydHVyZSBkZSAlc8KgOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3NDcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzgwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzLmZpbmFsOiAlcyIKIG1zZ3N0ciAiw4ljaGVjIMOgIGwnb3V2ZXJ0dXJlIGRlICVzLmZpbmFswqA6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc5MAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjMKIG1zZ2lkICJTdW1tYXJ5IGVtYWlsIGlzIGVtcHR5LCBza2lwcGluZyBpdFxuIgotbXNnc3RyICJMZSBjb3VycmllbCBkZSByw6lzdW3DqSBldGFudCB2aWRlLCBpbCBhIMOpdMOpIGlnbm9yw6lcbiIKK21zZ3N0ciAiTGUgY291cnJpZWwgZGUgcsOpc3Vtw6kgw6l0YW50IHZpZGUsIGlsIGEgw6l0w6kgaWdub3LDqVxuIgogCiAjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGtlZXAgW3kvTl0gYXMgaXMuCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgyNQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4NTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVzZSA8JXM+IFt5L05dPyAiCiBtc2dzdHIgIsOKdGVzLXZvdXMgc3VyIGRlIHZvdWxvaXIgdXRpbGlzZXIgPCVzPiBbeS9OXcKgPyAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODgwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkxMwogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIGZpbGVzIGFyZSA4Yml0LCBidXQgZG8gbm90IGRlY2xhcmUgYSBDb250ZW50LVRyYW5zZmVyLSIKICJFbmNvZGluZy5cbiIKQEAgLTIxMzAyLDExICsyNDQ2NywxMSBAQAogIkxlcyBmaWNoaWVycyBzdWl2YW50cyBzb250IDhiaXQgbWFpcyBuZSBkw6ljbGFyZW50IHBhcyBkZSBjaGFtcHMgQ29udGVudC0iCiAiVHJhbnNmZXItRW5jb2RpbmcuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODg1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkxOAogbXNnaWQgIldoaWNoIDhiaXQgZW5jb2Rpbmcgc2hvdWxkIEkgZGVjbGFyZSBbVVRGLThdPyAiCiBtc2dzdHIgIlF1ZWwgZW5jb2RhZ2UgOGJpdCBkb2l0IMOqdHJlIGTDqWNsYXLDqSBbVVRGOF3CoD8gIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg5MworIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MjYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIlJlZnVzaW5nIHRvIHNlbmQgYmVjYXVzZSB0aGUgcGF0Y2hcbiIKQEAgLTIxMzE5LDIyICsyNDQ4NCwyMiBAQAogImEgdW4gc3VqZXQgbW9kw6hsZSAnKioqIFNVQkpFQ1QgSEVSRSAqKionLiBQYXNzZXogLS1mb3JjZSBpcyB2b3VzIHNvdWhhaXRleiAiCiAidnJhaW1lbnQgZW52b3llci5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MTIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTQ1CiBtc2dpZCAiVG8gd2hvbSBzaG91bGQgdGhlIGVtYWlscyBiZSBzZW50IChpZiBhbnlvbmUpPyIKIG1zZ3N0ciAiw4AgcXVpIGxlcyBjb3VycmllbHMgZG9pdmVudC1pbHMgw6p0cmUgZW52b3nDqXMgKHMnaWwgeSBlbiBhKcKgPyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MzAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTYzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImZhdGFsOiBhbGlhcyAnJXMnIGV4cGFuZHMgdG8gaXRzZWxmXG4iCiBtc2dzdHIgImZhdGFswqA6IGwnYWxpYXMgJyVzJyBzZSBkw6l2ZWxvcHBlIGVuIGx1aS1tw6ptZVxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjk0MgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo5NzUKIG1zZ2lkICJNZXNzYWdlLUlEIHRvIGJlIHVzZWQgYXMgSW4tUmVwbHktVG8gZm9yIHRoZSBmaXJzdCBlbWFpbCAoaWYgYW55KT8gIgogbXNnc3RyICIiCiAiTWVzc2FnZS1JRCDDoCB1dGlsaXNlciBjb21tZSBJbi1SZXBseS1UbyBwb3VyIGxlIHByZW1pZXIgY291cnJpZWwgKHMnaWwgeSBlbiAiCiAiYSnCoD8gIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwMDAgZ2l0LXNlbmQtZW1haWwucGVybDoxMDA4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwMzMgZ2l0LXNlbmQtZW1haWwucGVybDoxMDQxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImVycm9yOiB1bmFibGUgdG8gZXh0cmFjdCBhIHZhbGlkIGFkZHJlc3MgZnJvbTogJXNcbiIKIG1zZ3N0ciAiZXJyZXVywqA6IGltcG9zc2libGUgZCdleHRyYWlyZSB1bmUgYWRyZXNzZSB2YWxpZGUgZGVwdWlzwqA6ICVzXG4iCkBAIC0yMTM0MiwxNiArMjQ1MDcsMTYgQEAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbcV0gW2RdIFtlXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDEyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwNDUKIG1zZ2lkICJXaGF0IHRvIGRvIHdpdGggdGhpcyBhZGRyZXNzPyAoW3FddWl0fFtkXXJvcHxbZV1kaXQpOiAiCiBtc2dzdHIgIlF1ZSBmYWlyZSBkZSBjZXR0ZSBhZHJlc3NlID8gKFtxXXVpdHRlcnxbZF3DqWxhaXNzZXJ8W2VdZGl0ZXIpOiAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzYyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkNBIHBhdGggXCIlc1wiIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJsZSBjaGVtaW4gdmVycyBsYSBDQSBcIiVzXCIgbidleGlzdGUgcGFzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MTIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ0NQogbXNnaWQgIiIKICIgICAgVGhlIENjIGxpc3QgYWJvdmUgaGFzIGJlZW4gZXhwYW5kZWQgYnkgYWRkaXRpb25hbFxuIgogIiAgICBhZGRyZXNzZXMgZm91bmQgaW4gdGhlIHBhdGNoIGNvbW1pdCBtZXNzYWdlLiBCeSBkZWZhdWx0XG4iCkBAIC0yMTM3OCwxMTE3ICsyNDU0MywxMzAgQEAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbeV0gW25dIFtlXSBbcV0gW2FdIGluIHlvdXIKICMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKICMuIGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MjcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ2MAogbXNnaWQgIlNlbmQgdGhpcyBlbWFpbD8gKFt5XWVzfFtuXW98W2VdZGl0fFtxXXVpdHxbYV1sbCk6ICIKIG1zZ3N0ciAiRW52b3llciBjZSBjb3VycmllbMKgPyAoW3ldZXN8W25db3xbZV1kaXR8W3FddWl0fFthXWxsKcKgOiAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQzMAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDYzCiBtc2dpZCAiU2VuZCB0aGlzIGVtYWlsIHJlcGx5IHJlcXVpcmVkIgogbXNnc3RyICJVbmUgcsOpcG9uc2UgZXN0IG7DqWNlc3NhaXJlIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NTgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ5MQogbXNnaWQgIlRoZSByZXF1aXJlZCBTTVRQIHNlcnZlciBpcyBub3QgcHJvcGVybHkgZGVmaW5lZC4iCiBtc2dzdHIgIkxlIHNlcnZldXIgU01UUCBuw6ljZXNzYWlyZSBuJ2VzdCBwYXMgZMOpZmluaSBjb3JyZWN0ZW1lbnQuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MDUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUzOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBTVEFSVFRMUyEgJXMiCiBtc2dzdHIgIkxlIHNlcnZldXIgbmUgc3VwcG9ydGUgcGFzIFNUQVJUVExTwqAhICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MTAgZ2l0LXNlbmQtZW1haWwucGVybDoxNTE0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDMgZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNUQVJUVExTIGZhaWxlZCEgJXMiCi1tc2dzdHIgImVjaGVjIGRlIFNUQVJUVExTwqAhICVzIgorbXNnc3RyICLDqWNoZWMgZGUgU1RBUlRUTFPCoCEgJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUyMworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTU2CiBtc2dpZCAiVW5hYmxlIHRvIGluaXRpYWxpemUgU01UUCBwcm9wZXJseS4gQ2hlY2sgY29uZmlnIGFuZCB1c2UgLS1zbXRwLWRlYnVnLiIKIG1zZ3N0ciAiIgogIkltcG9zc2libGUgZCdpbml0aWFsaXNlciBTTVRQLiBWw6lyaWZpZXogbGEgY29uZmlndXJhdGlvbiBldCB1dGlsaXNleiAtLXNtdHAtIgogImRlYnVnLiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHNlbmQgJXNcbiIKIG1zZ3N0ciAiw6ljaGVjIGRlIGwnZW52b2kgZGUgJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRHJ5LVNlbnQgJXNcbiIKIG1zZ3N0ciAiRW52b2kgc2ltdWzDqSBkZSAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZW50ICVzXG4iCiBtc2dzdHIgIiVzIGVudm95w6lcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzkKIG1zZ2lkICJEcnktT0suIExvZyBzYXlzOlxuIgogbXNnc3RyICJTaW11bGF0aW9uIE9LLiBMZSBqb3VybmFsIGluZGlxdWXCoDpcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzkKIG1zZ2lkICJPSy4gTG9nIHNheXM6XG4iCiBtc2dzdHIgIk9LLiBMZSBqb3VybmFsIGluZGlxdWXCoDpcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTU4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1OTEKIG1zZ2lkICJSZXN1bHQ6ICIKIG1zZ3N0ciAiUsOpc3VsdGF0wqA6ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTYxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1OTQKIG1zZ2lkICJSZXN1bHQ6IE9LXG4iCiBtc2dzdHIgIlLDqXN1bHRhdMKgOiBPS1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYxMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJjYW4ndCBvcGVuIGZpbGUgJXMiCiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgbGUgZmljaGllciAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjI2IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY0NgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjU5IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY3OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIobWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIobWJveCkgQWpvdXQgZGUgY2M6ICVzIGRlcHVpcyBsYSBsaWduZSAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYzMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjY1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihtYm94KSBBZGRpbmcgdG86ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihtYm94KSBBam91dCBkZSB0bzogJXMgZGVwdWlzIGxhIGxpZ25lICclcydcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjg1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKG5vbi1tYm94KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihub24tbWJveCkgQWpvdXQgZGUgY2M6ICVzIGRlcHVpcyBsYSBsaWduZSAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcyMAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzUzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihib2R5KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihjb3JwcykgQWpvdXQgZGUgY2M6ICVzIGRlcHVpcyBsYSBsaWduZSAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgzMQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODY0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiglcykgQ291bGQgbm90IGV4ZWN1dGUgJyVzJyIKIG1zZ3N0ciAiKCVzKSBJbXBvc3NpYmxlIGQnZXjDqWN1dGVyICclcyciCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgzOAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODcxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiglcykgQWRkaW5nICVzOiAlcyBmcm9tOiAnJXMnXG4iCiBtc2dzdHIgIiglcykgQWpvdXQgZGUgJXPCoDogJXMgZGVwdWlzwqA6ICclcydcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODQyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NzUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBmYWlsZWQgdG8gY2xvc2UgcGlwZSB0byAnJXMnIgogbXNnc3RyICIoJXMpIMOpY2hlYyBkZSBsYSBmZXJtZXR1cmUgZHUgcGlwZSB2ZXJzICclcyciCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg3MgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTA1CiBtc2dpZCAiY2Fubm90IHNlbmQgbWVzc2FnZSBhcyA3Yml0IgogbXNnc3RyICJpbXBvc3NpYmxlIGQnZW52b3llciB1biBtZXNzYWdlIGNvbW1lIDdiaXQiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg4MAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTEzCiBtc2dpZCAiaW52YWxpZCB0cmFuc2ZlciBlbmNvZGluZyIKIG1zZ3N0ciAiY29kYWdlIGRlIHRyYW5zZmVydCBpbnZhbGlkZSIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTIxIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk3MyBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5ODMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk1NCBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwMDYgZ2l0LXNlbmQtZW1haWwucGVybDoyMDE2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzOiAlc1xuIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyICVzwqA6JXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTI0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NTcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGNoIGNvbnRhaW5zIGEgbGluZSBsb25nZXIgdGhhbiA5OTggY2hhcmFjdGVycyIKIG1zZ3N0ciAiJXPCoDogbGUgcGF0Y2ggY29udGllbnQgdW5lIGxpZ25lIHBsdXMgbG9uZ3VlIHF1ZSA5OTggY2FyYWN0w6hyZXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk0MQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTc0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nICVzIHdpdGggYmFja3VwIHN1ZmZpeCAnJXMnLlxuIgogbXNnc3RyICIlcyBzYXV0w6kgYXZlYyB1biBzdWZmaXggZGUgc2F1dmVnYXJkZSAnJXMnLlxuIgogCiAjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGtlZXAgIlt5fE5dIiBhcyBpcy4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk0NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTc4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBzZW5kICVzPyBbeXxOXTogIgogbXNnc3RyICJTb3VoYWl0ZXotdm91cyByw6llbGxlbWVudCBlbnZveWVyICVzwqA/W3l8Tl3CoDogIgotCi0jfiBtc2dpZCAiY291bGQgbm90IHBhcnNlICclcycgKGxvb2tpbmcgZm9yICclcycpIgotI34gbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgJyVzJyAow6AgbGEgcmVjaGVyY2hlIGRlICclcycpIgotCi0jfiBtc2dpZCAiYmFkIHF1b3Rpbmcgb24gJXMgdmFsdWUgaW4gJyVzJyIKLSN+IG1zZ3N0ciAiTWF1dmFpc2UgY2l0YXRpb24gc3VyIGxhIHZhbGV1ciAlcyBkYW5zICclcyciCi0KLSN+IG1zZ2lkICJDb3VsZCBub3QgdW5zZXQgY29yZS53b3JrdHJlZSBzZXR0aW5nIGluIHN1Ym1vZHVsZSAnJXMnIgotI34gbXNnc3RyICJJbXBvc3NpYmxlIGRlIGTDqXNhY3RpdmVyIGNvcmUud29ya3RyZWUgZGFucyBsZSBzb3VzLW1vZHVsZSAnJXMnIgotCi0jfiBtc2dpZCAiZGVwcmVjYXRlZCBzeW5vbnltIGZvciAtLWNyZWF0ZS1yZWZsb2ciCi0jfiBtc2dzdHIgInN5bm9ueW1lIGTDqWNvbnNlaWxsw6kgZGUgLS1jcmVhdGUtcmVmbG9nIgotCi0jfiBtc2dpZCAiQ2FuJ3Qgc3RhdCAlcyIKLSN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmYWlyZSB1biBzdGF0IGRlICVzIgotCi0jfiBtc2dpZCAiYWJvcnQgcmViYXNlIgotI34gbXNnc3RyICJhYmFuZG9ubmVyIGxlIHJlYmFzYWdlIgotCi0jfiBtc2dpZCAibWFrZSByZWJhc2Ugc2NyaXB0IgotI34gbXNnc3RyICJjcsOpZXIgbGVzIHNjcmlwdCBkZSByZWJhc2FnZSIKLQotI34gbXNnaWQgIk5vIHN1Y2ggcmVtb3RlOiAlcyIKLSN+IG1zZ3N0ciAiRGlzdGFudGUgaW5jb25udWUgOiAlcyIKLQotI34gbXNnaWQgImNhbm5vdCBtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZSIKLSN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6lwbGFjZXIgdW4gYXJicmUgZGUgdHJhdmFpbCB2ZXJyb3VpbGzDqSIKLQotI34gbXNnaWQgImNhbm5vdCByZW1vdmUgYSBsb2NrZWQgd29ya2luZyB0cmVlIgotI34gbXNnc3RyICJpbXBvc3NpYmxlIGRlIHN1cHByaW1lciB1biBhcmJyZSBkZSB0cmF2YWlsIHZlcnJvdWlsbMOpIgotCi0jfiBtc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guIgotI34gbXNnc3RyICJBdXRvcmVtaXNhZ2UgYXBwbGlxdcOpLiIKLQotI34gbXNnaWQgIkNhbm5vdCBzdG9yZSAkc3Rhc2hfc2hhMSIKLSN+IG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzdG9ja2VyICRzdGFzaF9zaGExIgotCi0jfiBtc2dpZCAiIgotI34gIlxuIgotI34gIlx0SG93ZXZlciwgaWYgeW91IHJlbW92ZSBldmVyeXRoaW5nLCB0aGUgcmViYXNlIHdpbGwgYmUgYWJvcnRlZC5cbiIKLSN+ICJcbiIKLSN+ICJcdCIKLSN+IG1zZ3N0ciAiIgotI34gIlxuIgotI34gIkNlcGVuZGFudCwgc2kgdm91cyBlZmZhY2V6IHRvdXQsIGxlIHJlYmFzYWdlIHNlcmEgYW5udWzDqS5cbiIKLSN+ICJcbiIKLSN+ICJcdCIKLQotI34gbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAnJXMnIChsb29raW5nIGZvciAnJXMnIgotI34gbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgJyVzJyAow6AgbGEgcmVjaGVyY2hlIGRlICclcycpIgotCi0jfiBtc2dpZCAiY29sb3IgYm90aCBkaWZmIGFuZCBkaWZmLWJldHdlZW4tZGlmZnMiCi0jfiBtc2dzdHIgImNvbG9yZXIgw6AgbGEgZm9pcyBsZXMgZGlmZnMgZXQgbGUgZGlmZi1iZXR3ZWVuLWRpZmZzIgotCi0jfiBtc2dpZCAicHVzaHxmZXRjaCIKLSN+IG1zZ3N0ciAicHVzaHxmZXRjaCIKLQotI34gbXNnaWQgIkRpcnR5IGluZGV4OiBjYW5ub3QgbWVyZ2UgKGRpcnR5OiAlcykiCi0jfiBtc2dzdHIgIkluZGV4IHNhbGUgOiBmdXNpb24gaW1wb3NzaWJsZSAoc2FsZXMgOiAlcykiCi0KLSN+IG1zZ2lkICIoKy8tKXgiCi0jfiBtc2dzdHIgIigrLy0peCIKLQotI34gbXNnaWQgIjxjb21tYW5kPiIKLSN+IG1zZ3N0ciAiPGNvbW1hbmRlPiIKLQotI34gbXNnaWQgIndbLGkxWyxpMl1dIgotI34gbXNnc3RyICJ3WyxpMVssaTJdXSIKLQotI34gbXNnaWQgIkVudGVyaW5nICckZGlzcGxheXBhdGgnIgotI34gbXNnc3RyICJFbnRyw6llIGRhbnMgJyRkaXNwbGF5cGF0aCciCi0KLSN+IG1zZ2lkICJTdG9wcGluZyBhdCAnJGRpc3BsYXlwYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCi0jfiBtc2dzdHIgIkFycsOqdCBzdXIgJyRkaXNwbGF5cGF0aCcgOyBsZSBzY3JpcHQgYSByZXRvdXJuw6kgdW4gw6l0YXQgbm9uIG51bC4iCi0KLSN+IG1zZ2lkICJFdmVyeWRheSBHaXQgV2l0aCAyMCBDb21tYW5kcyBPciBTbyIKLSN+IG1zZ3N0ciAiR2l0IGRlIHRvdXMgbGVzIGpvdXJzIGF2ZWMgw6AgcGV1IHByw6hzIDIwIGNvbW1hbmRlcyIKLQotI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCi0jfiBtc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgJyVzJyBlbiDDqWNyaXR1cmUiCi0KLSN+IG1zZ2lkICIiCi0jfiAidW5leHBlY3RlZCAxc3QgbGluZSBvZiBzcXVhc2ggbWVzc2FnZTpcbiIKLSN+ICJcbiIKLSN+ICJcdCUuKnMiCi0jfiBtc2dzdHIgIiIKLSN+ICJwcmVtacOocmUgbGlnbmUgZGUgbWVzc2FnZSBkZSBjb21wcmVzc2lvbiBpbmF0dGVuZHVlwqA6XG4iCi0jfiAiXG4iCi0jfiAiXHQlLipzIgotCi0jfiBtc2dpZCAiIgotI34gImludmFsaWQgMXN0IGxpbmUgb2Ygc3F1YXNoIG1lc3NhZ2U6XG4iCi0jfiAiXG4iCi0jfiAiXHQlLipzIgotI34gbXNnc3RyICIiCi0jfiAicHJlbWnDqHJlIGxpZ25lIGRlIG1lc3NhZ2UgZGUgY29tcHJlc3Npb24gaW52YWxpZGXCoDpcbiIKLSN+ICJcbiIKLSN+ICJcdCUuKnMiCi0KLSN+IG1zZ2lkICJCVUc6IHJldHVybmVkIHBhdGggc3RyaW5nIGRvZXNuJ3QgbWF0Y2ggY3dkPyIKLSN+IG1zZ3N0ciAiQlVHwqA6IGxlIGNoZW1pbiByZW52b3nDqSBuZSBjb3JyZXNwb25kIHBhcyDDoCBjd2TCoD8iCi0KLSN+IG1zZ2lkICJFcnJvciBpbiBvYmplY3QiCi0jfiBtc2dzdHIgIkVycmV1ciBkYW5zIGwnb2JqZXQiCi0KLSN+IG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290IEVPRiIKLSN+IG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2sgOiBBQ0svTkFDSyBhdHRlbmR1LCBFT0YgcmXDp3UiCi0KLSN+IG1zZ2lkICJpbnZhbGlkIGZpbHRlci1zcGVjIGV4cHJlc3Npb24gJyVzJyIKLSN+IG1zZ3N0ciAiZXhwcmVzc2lvbiBkZSBmaWx0cmUgaW52YWxpZGXCoDogJyVzJyIKLQotI34gbXNnaWQgIlRoZSBjb3B5IG9mIHRoZSBwYXRjaCB0aGF0IGZhaWxlZCBpcyBmb3VuZCBpbjogJXMiCi0jfiBtc2dzdHIgIkxhIGNvcGllIGR1IHBhdGNoIHF1aSBhIMOpY2hvdcOpIHNlIHRyb3V2ZSBkYW5zIDogJXMiCi0KLSN+IG1zZ2lkICJwYXRoc3BlYyBhbmQgLS1hbGwgYXJlIGluY29tcGF0aWJsZSIKLSN+IG1zZ3N0ciAidW4gc3DDqWNpZmljYXRldXIgZGUgY2hlbWluIGV0IC0tYWxsIHNvbnQgaW5jb21wYXRpYmxlcyIKLQotI34gbXNnaWQgIlN1Ym1vZHVsZSAnJG5hbWUnICgkdXJsKSB1bnJlZ2lzdGVyZWQgZm9yIHBhdGggJyRkaXNwbGF5cGF0aCciCi0jfiBtc2dzdHIgIiIKLSN+ICJMZSBzb3VzLW1vZHVsZSAnJG5hbWUnICgkdXJsKSBuJ2VzdCBwYXMgZW5yZWdpc3Ryw6kgcG91ciBsZSBjaGVtaW4gIgotI34gIickZGlzcGxheXBhdGgnIgotCi0jfiBtc2dpZCAiVG8vQ2MvQmNjIGZpZWxkcyBhcmUgbm90IGludGVycHJldGVkIHlldCwgdGhleSBoYXZlIGJlZW4gaWdub3JlZFxuIgotI34gbXNnc3RyICIiCi0jfiAiTGVzIGNoYW1wcyBUby9DQy9CY2MgbmUgc29udCBwYXMgZW5jb3JlIGludGVycHLDqXTDqXMsIGlscyBvbnQgw6l0w6kgaWdub3LDqXNcbiIKLQotI34gbXNnaWQgIiIKLSN+ICJlbXB0eSBzdHJpbmdzIGFzIHBhdGhzcGVjcyB3aWxsIGJlIG1hZGUgaW52YWxpZCBpbiB1cGNvbWluZyByZWxlYXNlcy4gIgotI34gInBsZWFzZSB1c2UgLiBpbnN0ZWFkIGlmIHlvdSBtZWFudCB0byBtYXRjaCBhbGwgcGF0aHMiCi0jfiBtc2dzdHIgIiIKLSN+ICJsZXMgY2hhaW5lcyBkZSBjYXJhY3TDqHJlcyB2aWRlcyBjb21tZSBzcMOpY2lmaWNhdGV1cnMgZGUgY2hlbWluIHNlcm9udCAiCi0jfiAiaW52YWxpZGVzIGRhbnMgbGVzIHByb2NoYWluZXMgdmVyc2lvbnMuIFZldWlsbGV6IHV0aWxpc2VyIC4gw6AgbGEgcGxhY2UgIgotI34gInBvdXIgY29ycmVzcG9uZHJlIMOgIHRvdXMgbGUgY2hlbWlucyIKLQotI34gbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSAnJXMnIgotI34gbXNnc3RyICJpbXBvc3NpYmxlIGRlIHRyb25xdWVyICclcyciCi0KLSN+IG1zZ2lkICJjb3VsZCBub3QgZmluaXNoICclcyciCi0jfiBtc2dzdHIgImltcG9zc2libGUgZGUgZmluaXIgJyVzJyIKLQotI34gbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAlcyIKLSN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmZXJtZXIgJXMiCi0KLSN+IG1zZ2lkICJDb3BpZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgotI34gbXNnc3RyICJDb3BpZSBkJ3VuZSBicmFuY2hlIG1hbCBub21tw6llICclcyciCi0KLSN+IG1zZ2lkICJpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGNyZWF0ZSAnSEVBRCcgbWFudWFsbHkiCi0jfiBtc2dzdHIgImNyw6llciBtYW51ZWxsZW1lbnQgJ0hFQUQnIG4nYSBwYXMgZGUgc2VucyIKLQotI34gbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGNsb25lICVzIgotI34gbXNnc3RyICJKZSBuZSBzYWlzIHBhcyBjbG9uZXIgJXMiCi0KLSN+IG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMiCi0jfiBtc2dzdHIgImFmZmljaGVyIGxlcyBmaWNoaWVycyBpZ25vcsOpcyIKLQotI34gbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCi0jfiBtc2dzdHIgIkplIG5lIHNhaXMgcGFzIHLDqWN1cMOpcmVyIGRlcHVpcyAlcyIKLQotI34gbXNnaWQgIickdGVybScgaXMgbm90IGEgdmFsaWQgdGVybSIKLSN+IG1zZ3N0ciAiJyR0ZXJtJyBuJ2VzdCBwYXMgdW4gdGVybWUgdmFsaWRlIgotCi0jfiBtc2dpZCAiIgotI34gImVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCi0jfiAiICAgICAgIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJyRvcHRpb24nIgotI34gbXNnc3RyICIiCi0jfiAiZXJyZXVyOiBvcHRpb24gaW5jb25udWUgcG91ciAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKLSN+ICIgICAgICAgIFBvdXIgZm91cm5pciB1biBtZXNzYWdlLCB1dGlsaXNleiBnaXQgc3Rhc2ggc2F2ZSAtLSAnJG9wdGlvbiciCi0KLSN+IG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCi0jfiBtc2dzdHIgIsOJY2hlYyBkZSBwYXJjb3VycyBkYW5zIGxlIGNoZW1pbiBkdSBzb3VzLW1vZHVsZSAnJHNtX3BhdGgnIgotCi0jfiBtc2dpZCAiJSUodHJhaWxlcnMpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgotI34gbXNnc3RyICIlJSh0cmFpbGVycykgbidhY2NlcHRlIHBhcyBkJ2FyZ3VtZW50IgotCi0jfiBtc2dpZCAic3VibW9kdWxlIHVwZGF0ZSBzdHJhdGVneSBub3Qgc3VwcG9ydGVkIGZvciBzdWJtb2R1bGUgJyVzJyIKLSN+IG1zZ3N0ciAiIgotI34gInN0cmF0w6lnaWUgZGUgbWlzZSDDoCBqb3VyIGRlIHNvdXMtbW9kdWxlIG5vbiBzdXBwb3J0w6llIHBvdXIgbGUgc291cy1tb2R1bGUgIgotI34gIiclcyciCi0KLSN+IG1zZ2lkICJjaGFuZ2UgdXBzdHJlYW0gaW5mbyIKLSN+IG1zZ3N0ciAibW9kaWZpZXIgbCdpbmZvcm1hdGlvbiBhbW9udCIKLQotI34gbXNnaWQgIiIKLSN+ICJcbiIKLSN+ICJJZiB5b3Ugd2FudGVkIHRvIG1ha2UgJyVzJyB0cmFjayAnJXMnLCBkbyB0aGlzOlxuIgotI34gIlxuIgotI34gbXNnc3RyICIiCi0jfiAiXG4iCi0jfiAiU2kgdm91cyB2b3VsaWV6IHF1ZSAnJXMnIHN1aXZlICclcycsIGZhaXRlcyBjZWNpIDpcbiIKLSN+ICJcbiIKLQotI34gbXNnaWQgImJhc2VuYW1lIgotI34gbXNnc3RyICJub20gZGUgYmFzZSIKLQotI34gbXNnaWQgInByZXBlbmQgcGFyZW50IHByb2plY3QncyBiYXNlbmFtZSB0byBvdXRwdXQiCi0jfiBtc2dzdHIgInByw6lmaXhlciBsZSBub20gZGUgYmFzZSBkdSBwcm9qZXQgcGFyZW50IMOgIGxhIHNvcnRpZSIKLQotI34gbXNnaWQgIiIKLSN+ICJXYXJuaW5nOiB0aGUgU0hBLTEgaXMgbWlzc2luZyBvciBpc24ndCBhIGNvbW1pdCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6XG4iCi0jfiAiIC0gJGxpbmUiCi0jfiBtc2dzdHIgIiIKLSN+ICJBdHRlbnRpb27CoDogbGUgU0hBLTEgbWFucXVlIG91IG4nZXN0IHBhcyB1biBjb21taXQgZGFucyBsYSBsaWduZSAiCi0jfiAic3VpdmFudGXCoDpcbiIKLSN+ICIgLSAkbGluZSIKLQotI34gbXNnaWQgIiIKLSN+ICJXYXJuaW5nOiB0aGUgY29tbWFuZCBpc24ndCByZWNvZ25pemVkIGluIHRoZSBmb2xsb3dpbmcgbGluZTpcbiIKLSN+ICIgLSAkbGluZSIKLSN+IG1zZ3N0ciAiIgotI34gIkF0dGVudGlvbsKgOiBsYSBjb21tYW5kZSBuJ2VzdCBwYXMgcmVjb25udWUgZGFucyBsZSBsaWduZSBzdWl2YW50ZcKgOlxuIgotI34gIiAtICRsaW5lIgotCi0jfiBtc2dpZCAiT3IgeW91IGNhbiBhYm9ydCB0aGUgcmViYXNlIHdpdGggJ2dpdCByZWJhc2UgLS1hYm9ydCcuIgotI34gbXNnc3RyICIiCi0jfiAiT3UgYmllbiB2b3VzIHBvdXZleiBhYmFuZG9ubmVyIGxlIHJlYmFzYWdlIGF2ZWMgJ2dpdCByZWJhc2UgLS1hYm9ydCcuIgotCi0jfiBtc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSAnJXMnIgotI34gbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgJyVzJyIKLQotI34gbXNnaWQgImluICUwLjFmIHNlY29uZHMgYXV0b21hdGljYWxseS4uLiIKLSN+IG1zZ3N0ciAiZGFucyAlMC4xZiBzZWNvbmRlcyBhdXRvbWF0aXF1ZW1lbnQuLi4iCi0KLSN+IG1zZ2lkICJkdXAyKCVkLCVkKSBmYWlsZWQiCi0jfiBtc2dzdHIgIsOpY2hlYyBkZSBkdXAyKCVkLCVkKSIKLQotI34gbXNnaWQgIkluaXRpYWwgY29tbWl0IG9uICIKLSN+IG1zZ3N0ciAiVmFsaWRhdGlvbiBpbml0aWFsZSBzdXIgIgotCi0jfiBtc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIFdhcyBpdCBzcGxpdCB3cm9uZz8iCi0jfiBtc2dzdHIgIkxlIHBhdGNoIGVzdCB2aWRlLiBMZSBkw6ljb3VwYWdlIMOpdGFpdC1pbCBib27CoD8iCi0KLSN+IG1zZ2lkICIiCi0jfiAiWW91IHN0aWxsIGhhdmUgdW5tZXJnZWQgcGF0aHMgaW4geW91ciBpbmRleC5cbiIKLSN+ICJEaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnPyIKLSN+IG1zZ3N0ciAiIgotI34gIlZvdXMgYXZleiB0b3Vqb3VycyBkZXMgY2hlbWlucyBub24gZnVzaW9ubsOpcyBkYW5zIHZvdHJlIGluZGV4XG4iCi0jfiAiQXVyaWV6LXZvdXMgb3VibGnDqSBkZSBmYWlyZSAnZ2l0IGFkZCcgPyIKLQotI34gbXNnaWQgIiIKLSN+ICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS5cbiIKLSN+ICJEaWQgeW91IGludGVuZCB0byBjaGVja291dCAnJXMnIHdoaWNoIGNhbiBub3QgYmUgcmVzb2x2ZWQgYXMgY29tbWl0PyIKLSN+IG1zZ3N0ciAiIgotI34gIkltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGVzIGNoZW1pbnMgZXQgZGUgYmFzY3VsZXIgc3VyIGxhIGJyYW5jaGUgIgotI34gIiclcycgZW4gbcOqbWUgdGVtcHMuXG4iCi0jfiAiU291aGFpdGllei12b3VzIGV4dHJhaXJlICclcycgcXVpIG5lIHBldXQgw6p0cmUgcsOpc29sdSBjb21tZSBjb21taXQgPyIKLQotI34gbXNnaWQgIkV4cGxpY2l0IHBhdGhzIHNwZWNpZmllZCB3aXRob3V0IC1pIG9yIC1vOyBhc3N1bWluZyAtLW9ubHkgcGF0aHMuLi4iCi0jfiBtc2dzdHIgIkNoZW1pbnMgZXhwbGljaXRlcyBzcMOpY2lmacOpcyBzYW5zIC1pIG5pIC1vIDsgLS1vbmx5IHN1cHBvc8OpLi4uIgotCi0jfiBtc2dpZCAiZGVmYXVsdCBtb2RlIGZvciByZWN1cnNpb24iCi0jfiBtc2dzdHIgIm1vZGUgcGFyIGTDqWZhdXQgcG91ciBsYSByw6ljdXJzaW9uIgotCi0jfiBtc2dpZCAic3VibW9kdWxlLS1oZWxwZXIgc3ViY29tbWFuZCBtdXN0IGJlIGNhbGxlZCB3aXRoIGEgc3ViY29tbWFuZCIKLSN+IG1zZ3N0ciAiIgotI34gImxhIHNvdXMtY29tbWFuZGUgc3VibW9kdWxlLS1oZWxwZXIgZG9pdCDDqnRyZSBhcHBlbMOpZSBhdmVjIHVuZSBzb3VzLSIKLSN+ICJjb21tYW5kZSIKLQotI34gbXNnaWQgImNvdWxkIG5vdCBzdGF0ICclcyIKLSN+IG1zZ3N0ciAic3RhdCBpbXBvc3NpYmxlIGRlICclcyciCi0KLSN+IG1zZ2lkICJ0YWc6IHRhZ2dpbmcgIgotI34gbXNnc3RyICLDqXRpcXVldHRlOiDDqXRpcXVldGFnZSBkZSAiCi0KLSN+IG1zZ2lkICJjb21taXQgb2JqZWN0IgotI34gbXNnc3RyICJvYmpldCBjb21taXQiCi0KLSN+IG1zZ2lkICJ0cmVlIG9iamVjdCIKLSN+IG1zZ3N0ciAib2JqZXQgYXJicmUiCi0KLSN+IG1zZ2lkICJibG9iIG9iamVjdCIKLSN+IG1zZ3N0ciAib2JqZXQgYmxvYiIKLQotI34gbXNnaWQgIiIKLSN+ICJUaGVyZSBpcyBub3RoaW5nIHRvIGV4Y2x1ZGUgZnJvbSBieSA6KGV4Y2x1ZGUpIHBhdHRlcm5zLlxuIgotI34gIlBlcmhhcHMgeW91IGZvcmdvdCB0byBhZGQgZWl0aGVyICc6Lycgb3IgJy4nID8iCi0jfiBtc2dzdHIgIiIKLSN+ICJJbCBuJ3kgYSByaWVuIGRvbnQgaWwgZmF1dCBleGNsdXJlIHBhciBkZXMgbW90aWZzIDooZXhjbHVyZSkuXG4iCi0jfiAiUGV1dC3DqnRyZSBhdmV6LXZvdXMgb3VibGnDqSBkJ2Fqb3V0ZXIgJzovJyBvdSAnLicgPyIKLQotI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQ6ICUlKCVzKSIKLSN+IG1zZ3N0ciAiZm9ybWF0IG5vbiByZWNvbm51ICUlKCVzKSIKLQotI34gbXNnaWQgIjpzdHJpcD0gcmVxdWlyZXMgYSBwb3NpdGl2ZSBpbnRlZ2VyIGFyZ3VtZW50IgotI34gbXNnc3RyICI6c3RyaXA9IHJlcXVpZXJ0IHVuIGFyZ3VtZW50IGVudGllciBwb3NpdGlmIgotCi0jfiBtc2dpZCAicmVmICclcycgZG9lcyBub3QgaGF2ZSAlbGQgY29tcG9uZW50cyB0byA6c3RyaXAiCi0jfiBtc2dzdHIgImxhIHLDqWYgJyVzJyBuJ2EgcGFzICVsZCBjb21wb3NhbnRzIMOgIDpzdHJpcCIKLQotI34gbXNnaWQgInVua25vd24gJS4qcyBmb3JtYXQgJXMiCi0jfiBtc2dzdHIgImZvcm1hdCBkZSAlLipzIGluY29ubnUgJXMiCi0KLSMgZsOpbWluaW4gcG91ciB1bmUgYnJhbmNoZQotI34gbXNnaWQgIlslczogZ29uZV0iCi0jfiBtc2dzdHIgIlslczogZGlzcGFydWVdIgotCi0jfiBtc2dpZCAiWyVzXSIKLSN+IG1zZ3N0ciAiWyVzXSIKLQotI34gbXNnaWQgIlslczogYmVoaW5kICVkXSIKLSN+IG1zZ3N0ciAiWyVzOiBlbiByZXRhcmQgZGUgJWRdIgotCi0jfiBtc2dpZCAiWyVzOiBhaGVhZCAlZF0iCi0jfiBtc2dzdHIgIlslcyA6IGVuIGF2YW5jZSBkZSAlZF0iCi0KLSN+IG1zZ2lkICJbJXM6IGFoZWFkICVkLCBiZWhpbmQgJWRdIgotI34gbXNnc3RyICJbJXMgOiBlbiBhdmFuY2UgZGUgJWQsIGVuIHJldGFyZCBkZSAlZF0iCi0KLSN+IG1zZ2lkICIgKioqKiBpbnZhbGlkIHJlZiAqKioqIgotI34gbXNnc3RyICIgKioqKiByw6lmw6lyZW5jZSBpbnZhbGlkZSAqKioqIgotCi0jfiBtc2dpZCAiaW5zYW5lbHkgbG9uZyBvYmplY3QgZGlyZWN0b3J5ICUuKnMiCi0jfiBtc2dzdHIgIm9iamV0IHLDqXBlcnRvaXJlIGTDqW1lbnRpZWxsZW1lbnQgbG9uZyAlLipzIgotCi0jfiBtc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIDxtc2c+IEhFQUQgPGNvbW1pdD4iCi0jfiBtc2dzdHIgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSA8bWVzc2FnZT4gSEVBRCA8Y29tbWl0PiIKLQotI34gbXNnaWQgInRhZyBuYW1lIHRvbyBsb25nOiAlLipzLi4uIgotI34gbXNnc3RyICJub20gZCfDqXRpcXVldHRlIHRyb3AgbG9uZyA6ICUuKnMuLi4iCi0KLSN+IG1zZ2lkICJ0YWcgaGVhZGVyIHRvbyBiaWcuIgotI34gbXNnc3RyICJlbi10w6p0ZSBkJ8OpdGlxdWV0dGUgdHJvcCBncm9zLiIKLQotI34gbXNnaWQgIiIKLSN+ICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgotI34gIm1hcmtlZCBmb3IgZGlzY2FyZGluZyIKLSN+IG1zZ3N0ciAiIgotI34gIlNpIGxlIHBhdGNoIHMnYXBwbGlxdWUgcHJvcHJlbWVudCwgbGEgc2VjdGlvbiDDqWRpdMOpZSBzZXJhXG4iCi0jfiAiaW1tZWRpYXRlbWVudCBtYXJxdcOpZSBjb21tZSDDqWxpbWluw6llIgotCi0jfiBtc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBibGFuay1saW5lLWJhc2VkIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgotI34gbXNnc3RyICIiCi0jfiAiVXRpbGlzZXIgdW5lIGhldXJpc3RpcXVlIGV4cMOpcmltZW50YWxlIHJlcG9zYW50IHN1ciBsZXMgbGlnbmVzIHZpZGVzIHBvdXIgIgotI34gImFtw6lsaW9yZXIgbGUgZGlmZnMiCi0KLSN+IG1zZ2lkICJDbGV2ZXIuLi4gYW1lbmRpbmcgdGhlIGxhc3Qgb25lIHdpdGggZGlydHkgaW5kZXguIgotI34gbXNnc3RyICJNYWxpbi4uLiBjb3JyZWN0aW9uIGR1IGRlcm5pZXIgYXZlYyB1biBpbmRleCBzYWxlLiIKLQotI34gbXNnaWQgIiIKLSN+ICJ0aGUgZm9sbG93aW5nIHN1Ym1vZHVsZSAob3Igb25lIG9mIGl0cyBuZXN0ZWQgc3VibW9kdWxlcylcbiIKLSN+ICJ1c2VzIGEgLmdpdCBkaXJlY3Rvcnk6IgotI34gbXNnaWRfcGx1cmFsICIiCi0jfiAidGhlIGZvbGxvd2luZyBzdWJtb2R1bGVzIChvciBvbmUgb2YgdGhlaXIgbmVzdGVkIHN1Ym1vZHVsZXMpXG4iCi0jfiAidXNlIGEgLmdpdCBkaXJlY3Rvcnk6IgotI34gbXNnc3RyWzBdICIiCi0jfiAibGUgc291cy1tb2R1bGUgc3VpdmFudCAob3UgdW4gZGUgc2VzIHNvdXMtbW9kdWxlcyBpbWJyaXF1w6lzKVxuIgotI34gInV0aWxpc2UgdW4gcsOpcGVydG9pcmUgLmdpdCA6IgotI34gbXNnc3RyWzFdICIiCi0jfiAibGVzIHNvdXMtbW9kdWxlcyBzdWl2YW50cyAob3UgdW4gZGUgbGV1cnMgc291cy1tb2R1bGVzIGltYnJpcXXDqXMpXG4iCi0jfiAidXRpbGlzZW50IHVuIHLDqXBlcnRvaXJlIC5naXQgOiIKLQotI34gbXNnaWQgIiIKLSN+ICJcbiIKLSN+ICIodXNlICdybSAtcmYnIGlmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgIgotI34gImhpc3RvcnkpIgotI34gbXNnc3RyICIiCi0jfiAiXG4iCi0jfiAiKHV0aWxpc2V6ICdybSAtcmYnIHNpIHZvdXMgdm91bGV6IHZyYWltZW50IGxlIHN1cHByaW1lciBlbiBpbmNsdWFudCB0b3V0ICIKLSN+ICJzb24gaGlzdG9yaXF1ZSkiCi0KLSN+IG1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcy4iCi0jfiBtc2dzdHIgIkVycmV1ciBsb3JzIGRlIGwnZW1iYWxsYWdlIGRlICVzLiIKLQotI34gbXNnaWQgIllvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVycnktcGljay4iCi0jfiBtc2dzdHIgIlZvcyBtb2RpZmljYXRpb25zIGxvY2FsZXMgc2VyYWllbnQgw6ljcmFzw6llcyBwYXIgY2hlcnJ5LXBpY2suIgotCi0jfiBtc2dpZCAiQ2Fubm90IHJldmVydCBkdXJpbmcgYW5vdGhlciByZXZlcnQuIgotI34gbXNnc3RyICJJbXBvc3NpYmxlIGQnYW5udWxlciB1biBjb21taXQgcGVuZGFudCBsJ2FubnVsYXRpb24gZCd1biBjb21taXQuIgotCi0jfiBtc2dpZCAiQ2Fubm90IGNoZXJyeS1waWNrIGR1cmluZyBhbm90aGVyIGNoZXJyeS1waWNrLiIKLSN+IG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBwaWNvcmVyIHBlbmRhbnQgdW4gYXV0cmUgcGljb3JhZ2UuIgotCi0jfiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIGxpbmUgJWQuIgotI34gbXNnc3RyICJJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGEgbGlnbmUgJWQuIgotCi0jfiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJXMiCi0jfiBtc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgJXMiCi0KLSN+IG1zZ2lkICJDb3VsZCBub3QgZm9ybWF0ICVzLiIKLSN+IG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBmb3JtYXRlciAlcy4iCi0KLSN+IG1zZ2lkICIlczogJXMiCi0jfiBtc2dzdHIgIiVzIDogJXMiCi0KLSN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCi0jfiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJXMgOiAlcyIKLQotI34gbXNnaWQgIllvdSBuZWVkIHRvIHNldCB5b3VyIGNvbW1pdHRlciBpbmZvIGZpcnN0IgotI34gbXNnc3RyICJWb3VzIGRldmV6IGQnYWJvcmQgZMOpZmluaXIgdm9zIGluZm9ybWF0aW9ucyBkZSB2YWxpZGF0ZXVyIgotCi0jfiBtc2dpZCAiVGhpcyBpcyB0aGUgMm5kIGNvbW1pdCBtZXNzYWdlOiIKLSN+IG1zZ3N0ciAiQ2VjaSBlc3QgbGUgZGV1eGnDqG1lIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbsKgOiIKLQotI34gbXNnaWQgIlRoaXMgaXMgdGhlIDNyZCBjb21taXQgbWVzc2FnZToiCi0jfiBtc2dzdHIgIkNlY2kgZXN0IGxlIHRyb2lzacOobWUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uwqA6IgotCi0jfiBtc2dpZCAiVGhpcyBpcyB0aGUgNHRoIGNvbW1pdCBtZXNzYWdlOiIKLSN+IG1zZ3N0ciAiQ2VjaSBlc3QgbGUgcXVhdHJpw6htZSBtZXNzYWdlIGRlIHZhbGlkYXRpb27CoDoiCi0KLSN+IG1zZ2lkICJUaGlzIGlzIHRoZSA1dGggY29tbWl0IG1lc3NhZ2U6IgotI34gbXNnc3RyICJDZWNpIGVzdCBsZSBjaW5xdWnDqG1lIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbsKgOiIKLQotI34gbXNnaWQgIlRoaXMgaXMgdGhlIDZ0aCBjb21taXQgbWVzc2FnZToiCi0jfiBtc2dzdHIgIkNlY2kgZXN0IGxlIHNpeGnDqG1lIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbsKgOiIKLQotI34gbXNnaWQgIlRoaXMgaXMgdGhlIDd0aCBjb21taXQgbWVzc2FnZToiCi0jfiBtc2dzdHIgIkNlY2kgZXN0IGxlIHNlcHRpw6htZSBtZXNzYWdlIGRlIHZhbGlkYXRpb27CoDoiCi0KLSN+IG1zZ2lkICJUaGlzIGlzIHRoZSA4dGggY29tbWl0IG1lc3NhZ2U6IgotI34gbXNnc3RyICJDZWNpIGVzdCBsZSBodWl0acOobWUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uwqA6IgotCi0jfiBtc2dpZCAiVGhpcyBpcyB0aGUgOXRoIGNvbW1pdCBtZXNzYWdlOiIKLSN+IG1zZ3N0ciAiQ2VjaSBlc3QgbGUgbmV1dmnDqG1lIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbsKgOiIKLQotI34gbXNnaWQgIlRoaXMgaXMgdGhlIDEwdGggY29tbWl0IG1lc3NhZ2U6IgotI34gbXNnc3RyICJDZWNpIGVzdCBsZSBkaXhpw6htZSBtZXNzYWdlIGRlIHZhbGlkYXRpb27CoDoiCi0KLSN+IG1zZ2lkICJUaGlzIGlzIHRoZSAke259dGggY29tbWl0IG1lc3NhZ2U6IgotI34gbXNnc3RyICJDZWNpIGVzdCBsZSAke259acOobWUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uwqA6IgotCi0jfiBtc2dpZCAiVGhpcyBpcyB0aGUgJHtufXN0IGNvbW1pdCBtZXNzYWdlOiIKLSN+IG1zZ3N0ciAiQ2VjaSBlc3QgbGUgJHtufWnDqG1lIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbsKgOiIKLQotI34gbXNnaWQgIlRoaXMgaXMgdGhlICR7bn1uZCBjb21taXQgbWVzc2FnZToiCi0jfiBtc2dzdHIgIkNlY2kgZXN0IGxlICR7bn1pw6htZSBtZXNzYWdlIGRlIHZhbGlkYXRpb27CoDoiCi0KLSN+IG1zZ2lkICJUaGlzIGlzIHRoZSAke259cmQgY29tbWl0IG1lc3NhZ2U6IgotI34gbXNnc3RyICJDZWNpIGVzdCBsZSAke259acOobWUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uwqA6IgotCi0jfiBtc2dpZCAiVGhlIDFzdCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgotI34gbXNnc3RyICJMZSBwcmVtaWVyIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBzZXJhIGlnbm9yw6nCoDoiCi0KLSN+IG1zZ2lkICJUaGUgMm5kIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCi0jfiBtc2dzdHIgIkxlIGRldXhpw6htZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gc2VyYSBpZ25vcsOpwqA6IgotCi0jfiBtc2dpZCAiVGhlIDNyZCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgotI34gbXNnc3RyICJMZSB0cm9pc2nDqG1lIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBzZXJhIGlnbm9yw6nCoDoiCi0KLSN+IG1zZ2lkICJUaGUgNHRoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCi0jfiBtc2dzdHIgIkxlIHF1YXRyacOobWUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIHNlcmEgaWdub3LDqcKgOiIKLQotI34gbXNnaWQgIlRoZSA1dGggY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKLSN+IG1zZ3N0ciAiTGUgY2lucXVpw6htZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gc2VyYSBpZ25vcsOpwqA6IgotCi0jfiBtc2dpZCAiVGhlIDZ0aCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgotI34gbXNnc3RyICJMZSBzaXhpw6htZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gc2VyYSBpZ25vcsOpwqA6IgotCi0jfiBtc2dpZCAiVGhlIDd0aCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgotI34gbXNnc3RyICJMZSBzZXB0acOobWUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIHNlcmEgaWdub3LDqcKgOiIKLQotI34gbXNnaWQgIlRoZSA4dGggY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKLSN+IG1zZ3N0ciAiTGUgaHVpdGnDqG1lIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBzZXJhIGlnbm9yw6nCoDoiCi0KLSN+IG1zZ2lkICJUaGUgOXRoIGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCi0jfiBtc2dzdHIgIkxlIG5ldXZpw6htZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gc2VyYSBpZ25vcsOpwqA6IgotCi0jfiBtc2dpZCAiVGhlIDEwdGggY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKLSN+IG1zZ3N0ciAiTGUgZGl4acOobWUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uIHNlcmEgaWdub3LDqcKgOiIKLQotI34gbXNnaWQgIlRoZSAke259dGggY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKLSN+IG1zZ3N0ciAibGUgJHtufWnDqG1lIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiBzZXJhIGlnbm9yw6nCoDoiCi0KLSN+IG1zZ2lkICJUaGUgJHtufXN0IGNvbW1pdCBtZXNzYWdlIHdpbGwgYmUgc2tpcHBlZDoiCi0jfiBtc2dzdHIgIkxlIG1lc3NhZ2UgZGUgdmFsaWRhdGlvbiAke259IHNlcmEgaWdub3LDqcKgOiIKLQotI34gbXNnaWQgIlRoZSAke259bmQgY29tbWl0IG1lc3NhZ2Ugd2lsbCBiZSBza2lwcGVkOiIKLSN+IG1zZ3N0ciAiTGUgbWVzc2FnZSBkZSB2YWxpZGF0aW9uICR7bn0gc2VyYSBpZ25vcsOpwqA6IgotCi0jfiBtc2dpZCAiVGhlICR7bn1yZCBjb21taXQgbWVzc2FnZSB3aWxsIGJlIHNraXBwZWQ6IgotI34gbXNnc3RyICJMZSBtZXNzYWdlIGRlIHZhbGlkYXRpb24gJHtufSBzZXJhIGlnbm9yw6nCoDoiCi0KLSN+IG1zZ2lkICJjb3VsZCBub3QgcnVuIGdwZy4iCi0jfiBtc2dzdHIgImltcG9zc2libGUgZGUgbGFuY2VyIGdwZy4iCi0KLSN+IG1zZ2lkICJncGcgZGlkIG5vdCBhY2NlcHQgdGhlIGRhdGEiCi0jfiBtc2dzdHIgImdwZyBuJ2EgcGFzIGFjY2VwdMOpIGxlcyBkb25uw6llcyIKLQotI34gbXNnaWQgInVuc3VwcG9ydGVkIG9iamVjdCB0eXBlIGluIHRoZSB0cmVlIgotI34gbXNnc3RyICJ0eXBlIGQnb2JqZXQgbm9uIHN1cHBvcnTDqSBkYW5zIGwnYXJicmUiCi0KLSN+IG1zZ2lkICJGYXRhbCBtZXJnZSBmYWlsdXJlLCBzaG91bGRuJ3QgaGFwcGVuLiIKLSN+IG1zZ3N0ciAiw4ljaGVjIGZhdGFsIGRlIGZ1c2lvbiwgcXVpIG5lIGRldnJhaXQgamFtYWlzIGFycml2ZXIuIgotCi0jfiBtc2dpZCAiVW5wcm9jZXNzZWQgcGF0aD8/PyAlcyIKLSN+IG1zZ3N0ciAiQ2hlbWluIG5vbiB0cmFpdMOpID8/PyAlcyIKLQotI34gbXNnaWQgIkNhbm5vdCAlcyBkdXJpbmcgYSAlcyIKLSN+IG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSAlcyBwZW5kYW50IHVuICVzIgotCi0jfiBtc2dpZCAiQ2FuJ3QgY2hlcnJ5LXBpY2sgaW50byBlbXB0eSBoZWFkIgotI34gbXNnc3RyICJJbXBvc3NpYmxlIGRlIHBpY29yZXIgdmVycyB1bmUgSEVBRCB2aWRlIgotCi0jfiBtc2dpZCAiY291bGQgbm90IG9wZW4gJXMgZm9yIHdyaXRpbmciCi0jfiBtc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgJyVzJyBlbiDDqWNyaXR1cmUiCi0KLSN+IG1zZ2lkICJidWc6IHVuaGFuZGxlZCB1bm1lcmdlZCBzdGF0dXMgJXgiCi0jfiBtc2dzdHIgImJvZ3VlIDogw6l0YXQgZGUgbm9uLWZ1c2lvbiBub24gZ8OpcsOpICV4IgotCi0jfiBtc2dpZCAiYnVnOiB1bmhhbmRsZWQgZGlmZiBzdGF0dXMgJWMiCi0jfiBtc2dzdHIgImJvZ3VlIDogw6l0YXQgZGUgZGlmZiBub24gZ8OpcsOpICVjIgotCi0jfiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGJyYW5jaCBkZXNjcmlwdGlvbiB0ZW1wbGF0ZSIKLSN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgbW9kw6hsZSBkZSBkZXNjcmlwdGlvbiBkZSBicmFuY2hlIgotCi0jfiBtc2dpZCAiY29ycnVwdCBpbmRleCBmaWxlIgotI34gbXNnc3RyICJmaWNoaWVyIGQnaW5kZXggY29ycm9tcHUiCi0KLSN+IG1zZ2lkICJkZXRhY2ggdGhlIEhFQUQgYXQgbmFtZWQgY29tbWl0IgotI34gbXNnc3RyICJkw6l0YWNoZXIgbGEgSEVBRCDDoCBsYSB2YWxpZGF0aW9uIG5vbW3DqWUiCi0KLSN+IG1zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkuLi4gIgotI34gbXNnc3RyICJWw6lyaWZpY2F0aW9uIGRlIGxhIGNvbm5lY3Rpdml0w6kuLi4gIgotCi0jfiBtc2dpZCAiICAodW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYpIgotI34gbXNnc3RyICIgIChpbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyIGxhIHLDqWbDqXJlbmNlIGxvY2FsZSkiCi0KLSN+IG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIgotI34gbXNnc3RyICJleGlzdGFudCByw6lpbml0aWFsaXPDqSIKLQotI34gbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IgotI34gbXNnc3RyICJ2aWRlIGluaXRpYWxpc8OpIgotCi0jfiBtc2dpZCAiIHNoYXJlZCIKLSN+IG1zZ3N0ciAiIHBhcnRhZ8OpIgotCi0jfiBtc2dpZCAiVmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgotI34gbXNnc3RyICJWw6lyaWZpZXIgcXVlIGxhIHZhbGlkYXRpb24gYSB1bmUgc2lnbmF0dXJlIEdQRyB2YWxpZGUiCi0KLSN+IG1zZ2lkICJXcml0aW5nIFNRVUFTSF9NU0ciCi0jfiBtc2dzdHIgIsOJY3JpdHVyZSBkZSBTUVVBU0hfTVNHIgotCi0jfiBtc2dpZCAiRmluaXNoaW5nIFNRVUFTSF9NU0ciCi0jfiBtc2dzdHIgIkZpbml0aW9uIGRlIFNRVUFTSF9NU0ciCi0KLSN+IG1zZ2lkICIgICBhbmQgd2l0aCByZW1vdGUiCi0jfiBtc2dzdHIgIiAgIGV0IGF2ZWMgbGEgZGlzdGFudGUiCi0KLSN+IG1zZ2lkICJyZW1vdmluZyAnJXMnIGZhaWxlZCIKLSN+IG1zZ3N0ciAibGEgc3VwcHJlc3Npb24gZGUgJyVzJyBhIMOpY2hvdcOpIgotCi0jfiBtc2dpZCAiUGxlYXNlIGNhbGwgJ2Jpc2VjdF9zdGF0ZScgd2l0aCBhdCBsZWFzdCBvbmUgYXJndW1lbnQuIgotI34gbXNnc3RyICJWZXVpbGxleiBhcHBlbGVyICdiaXNlY3Rfc3RhdGUnIGF2ZWMgYXUgbW9pbnMgdW4gYXJndW1lbnQuIgotCi0jfiBtc2dpZCAiIgotI34gIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gIgotI34gImZyb20iCi0jfiBtc2dzdHIgIiIKLSN+ICJTaSB2b3VzIHZvdWxleiByw6l1dGlsaXNlciBjZSByw6lwZXJ0b2lyZSBnaXQgbG9jYWwgYXUgbGlldSBkZSBjbG9uZXIgw6AgIgotI34gIm5vdXZlYXUgZGVwdWlzIgotCi0jfiBtc2dpZCAiIgotI34gInVzZSB0aGUgJy0tZm9yY2UnIG9wdGlvbi4gSWYgdGhlIGxvY2FsIGdpdCBkaXJlY3RvcnkgaXMgbm90IHRoZSBjb3JyZWN0ICIKLSN+ICJyZXBvIgotI34gbXNnc3RyICIiCi0jfiAidXRpbGlzZXogbCdvcHRpb24gJy0tZm9yY2UnLiBTaSBsZSByw6lwZXJ0b2lyZSBsb2NhbCBnaXQgbidlc3QgcGFzIGxlICIKLSN+ICJkw6lww7R0IGNvcnJlY3QiCi0KLSN+IG1zZ2lkICIiCi0jfiAib3IgeW91IGFyZSB1bnN1cmUgd2hhdCB0aGlzIG1lYW5zIGNob29zZSBhbm90aGVyIG5hbWUgd2l0aCB0aGUgJy0tbmFtZScgIgotI34gIm9wdGlvbi4iCi0jfiBtc2dzdHIgIiIKLSN+ICJvdSBzaSB2b3VzIG5lIHNhdmV6IHBhcyBjZSBxdWUgY2VsYSBzaWduaWZpZSwgY2hvaXNpc3NleiB1biBhdXRyZSBub20gIgotI34gImF2ZWMgbCdvcHRpb24gJy0tbmFtZScuIgotCi0jfiBtc2dpZCAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJGRpc3BsYXlwYXRoJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5IgotI34gbXNnc3RyICIiCi0jfiAiTGEgY29waWUgZGUgdHJhdmFpbCBkdSBzb3VzLW1vZHVsZSAnJGRpc3BsYXlwYXRoJyBjb250aWVudCB1biByw6lwZXJ0b2lyZSAuIgotI34gImdpdCIKLQotI34gbXNnaWQgIiIKLSN+ICIodXNlICdybSAtcmYnIGlmIHlvdSByZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgIgotI34gImhpc3RvcnkpIgotI34gbXNnc3RyICIiCi0jfiAiKHV0aWxpc2V6ICdybSAtcmYnIHNpIHZvdXMgdm91bGV6IHZyYWltZW50IGxlIHN1cHByaW1lciBlbiBpbmNsdWFudCB0b3V0ICIKLSN+ICJzb24gaGlzdG9yaXF1ZSkiCi0KLSN+IG1zZ2lkICInJXMnOiAlcyIKLSN+IG1zZ3N0ciAiJyVzJyA6ICVzIgotCi0jfiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnOiAlcyIKLSN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FjY8OpZGVyIMOgICclcycgOiAlcyIKLQotI34gbXNnaWQgIiAgICBnaXQgYnJhbmNoIC1kICVzXG4iCi0jfiBtc2dzdHIgIiAgICBnaXQgYnJhbmNoIC1kICVzXG4iCi0KLSN+IG1zZ2lkICIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byAlc1xuIgotI34gbXNnc3RyICIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byAlc1xuIgotCi0jfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzXG4iCi0jfiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJXMgOiAlc1xuIgotCi0jfiBtc2dpZCAiUGxlYXNlLCBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgotI34gbXNnc3RyICIiCi0jfiAiVmV1aWxsZXogaW5kZXhlciB2b3MgbW9kaWZpY2F0aW9ucyBkZSAuZ2l0bW9kdWxlcyBvdSByZW1pc2V6LWxlcyBwb3VyICIKLSN+ICJjb250aW51ZXIiCi0KLSN+IG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlOiAlcyIKLSN+IG1zZ3N0ciAiw6ljaGVjIGRlIGxhIHN1cHByZXNzaW9uIGRlICVzIgotCi0jfiBtc2dpZCAiVGhlIC0tZXhlYyBvcHRpb24gbXVzdCBiZSB1c2VkIHdpdGggdGhlIC0taW50ZXJhY3RpdmUgb3B0aW9uIgotI34gbXNnc3RyICJMJ29wdGlvbiAtLWV4ZWMgZG9pdCDDqnRyZSB1dGlsaXPDqWUgYXZlYyBsJ29wdGlvbiAtLWludGVyYWN0aXZlIgotCi0jfiBtc2dpZCAiIgotI34gIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIG5vdCBpbml0aWFsaXplZFxuIgotI34gIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgotI34gbXNnc3RyICIiCi0jfiAiQ2hlbWluIGRlIHNvdXMtbW9kdWxlICckZGlzcGxheXBhdGgnIG5vbiBpbml0aWFsaXPDqVxuIgotI34gIlBldXQtw6p0cmUgc291aGFpdGV6LXZvdXMgdXRpbGlzZXIgJ3VwZGF0ZSAtLWluaXQnID8iCi0KLSN+IG1zZ2lkICJGb3J3YXJkLXBvcnQgbG9jYWwgY29tbWl0cyB0byB0aGUgdXBkYXRlZCB1cHN0cmVhbSBoZWFkIgotI34gbXNnc3RyICIiCi0jfiAiUmVwb3J0ZXIgbGVzIHZhbGlkYXRpb25zIGxvY2FsZXMgc3VyIGxlIHNvbW1ldCBtaXMgw6Agam91ciBkJ3VuZSBicmFuY2hlICIKLSN+ICJhbW9udCIKLQotI34gbXNnaWQgImltcHJvcGVyIGZvcm1hdCBlbnRlcmVkIGFsaWduOiVzIgotI34gbXNnc3RyICJmb3JtYXQgbm9uIGNvbnZlbmFibGUgYWxpZ246JXMiCi0KLSN+IG1zZ2lkICIiCi0jfiAicHVzaC5kZWZhdWx0IGlzIHVuc2V0OyBpdHMgaW1wbGljaXQgdmFsdWUgaGFzIGNoYW5nZWQgaW5cbiIKLSN+ICJHaXQgMi4wIGZyb20gJ21hdGNoaW5nJyB0byAnc2ltcGxlJy4gVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2VcbiIKLSN+ICJhbmQgbWFpbnRhaW4gdGhlIHRyYWRpdGlvbmFsIGJlaGF2aW9yLCB1c2U6XG4iCi0jfiAiXG4iCi0jfiAiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHB1c2guZGVmYXVsdCBtYXRjaGluZ1xuIgotI34gIlxuIgotI34gIlRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlIGFuZCBhZG9wdCB0aGUgbmV3IGJlaGF2aW9yIG5vdywgdXNlOlxuIgotI34gIlxuIgotI34gIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCBwdXNoLmRlZmF1bHQgc2ltcGxlXG4iCi0jfiAiXG4iCi0jfiAiV2hlbiBwdXNoLmRlZmF1bHQgaXMgc2V0IHRvICdtYXRjaGluZycsIGdpdCB3aWxsIHB1c2ggbG9jYWwgYnJhbmNoZXNcbiIKLSN+ICJ0byB0aGUgcmVtb3RlIGJyYW5jaGVzIHRoYXQgYWxyZWFkeSBleGlzdCB3aXRoIHRoZSBzYW1lIG5hbWUuXG4iCi0jfiAiXG4iCi0jfiAiU2luY2UgR2l0IDIuMCwgR2l0IGRlZmF1bHRzIHRvIHRoZSBtb3JlIGNvbnNlcnZhdGl2ZSAnc2ltcGxlJ1xuIgotI34gImJlaGF2aW9yLCB3aGljaCBvbmx5IHB1c2hlcyB0aGUgY3VycmVudCBicmFuY2ggdG8gdGhlIGNvcnJlc3BvbmRpbmdcbiIKLSN+ICJyZW1vdGUgYnJhbmNoIHRoYXQgJ2dpdCBwdWxsJyB1c2VzIHRvIHVwZGF0ZSB0aGUgY3VycmVudCBicmFuY2guXG4iCi0jfiAiXG4iCi0jfiAiU2VlICdnaXQgaGVscCBjb25maWcnIGFuZCBzZWFyY2ggZm9yICdwdXNoLmRlZmF1bHQnIGZvciBmdXJ0aGVyICIKLSN+ICJpbmZvcm1hdGlvbi5cbiIKLSN+ICIodGhlICdzaW1wbGUnIG1vZGUgd2FzIGludHJvZHVjZWQgaW4gR2l0IDEuNy4xMS4gVXNlIHRoZSBzaW1pbGFyIG1vZGVcbiIKLSN+ICInY3VycmVudCcgaW5zdGVhZCBvZiAnc2ltcGxlJyBpZiB5b3Ugc29tZXRpbWVzIHVzZSBvbGRlciB2ZXJzaW9ucyBvZiBHaXQpIgotI34gbXNnc3RyICIiCi0jfiAicHVzaC5kZWZhdWx0IG4nZXN0IHBhcyBkw6lmaW5pIDsgc2EgdmFsZXVyIGltcGxpY2l0ZSBhIGNoYW5nw6kgZGFucyBHaXQgIgotI34gIjIuMFxuIgotI34gImRlICdtYXRjaGluZycgdmVycyAnc2ltcGxlJy4gUG91ciBzdXBwcmltZXIgY2UgbWVzc2FnZSBldCBtYWludGVuaXJcbiIKLSN+ICJsZSBjb21wb3J0ZW1lbnQgYWN0dWVsIGFwcsOocyBsYSBtb2RpZmljYXRpb24gZGUgbGEgdmFsZXVyIGRlIGTDqWZhdXQsICIKLSN+ICJ1dGlsaXNleiA6XG4iCi0jfiAiXG4iCi0jfiAiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHB1c2guZGVmYXVsdCBtYXRjaGluZ1xuIgotI34gIlxuIgotI34gIlBvdXIgc3VwcHJpbWVyIGNlIG1lc3NhZ2UgZXQgYWRvcHRlciBsZSBub3V2ZWF1IGNvbXBvcnRlbWVudCBtYWludGVuYW50LCAiCi0jfiAidXRpbGlzZXogOlxuIgotI34gIlxuIgotI34gIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCBwdXNoLmRlZmF1bHQgc2ltcGxlXG4iCi0jfiAiXG4iCi0jfiAiUXVhbmQgcHVzaC5kZWZhdWx0IHZhdWRyYSAnbWF0Y2hpbmcnLCBnaXQgcG91c3NlcmEgbGVzIGJyYW5jaGVzIGxvY2FsZXNcbiIKLSN+ICJzdXIgbGVzIGJyYW5jaGVzIGRpc3RhbnRlcyBxdWkgZXhpc3RlbnQgZMOpasOgIGF2ZWMgbGUgbcOqbWUgbm9tLlxuIgotI34gIlxuIgotI34gIkRlcHVpcyBHaXQgMi4wLCBHaXQgdXRpbGlzZSBwYXIgZMOpZmF1dCBsZSBjb21wb3J0ZW1lbnQgcGx1cyBjb25zZXJ2YXRpZiAiCi0jfiAiJ3NpbXBsZSdcbiIKLSN+ICJxdWkgbmUgcG91c3NlIGxhIGJyYW5jaGUgY291cmFudGUgcXVlIHZlcnMgbGEgYnJhbmNoZSBkaXN0YW50ZSAiCi0jfiAiY29ycmVzcG9uZGFudGVcbiIKLSN+ICJxdWUgJ2dpdCBwdWxsJyB1dGlsaXNlIHBvdXIgbWV0dHJlIMOgIGpvdXIgbGEgYnJhbmNoZSBjb3VyYW50ZS5cbiIKLSN+ICIgXG4iCi0jfiAiVm9pciAnZ2l0IGhlbHAgY29uZmlnJyBldCBjaGVyY2hlciAncHVzaC5kZWZhdWx0JyBwb3VyIHBsdXMgIgotI34gImQnaW5mb3JtYXRpb24uXG4iCi0jfiAiKGxlIG1vZGUgJ3NpbXBsZScgYSDDqXTDqSBpbnRyb2R1aXQgZGFucyBHaXQgMS43LjExLiBVdGlsaXNleiBsZSBtb2RlICIKLSN+ICJzaW1pbGFpcmVcbiIKLSN+ICInY3VycmVudCcgYXUgbGlldSBkZSAnc2ltcGxlJyBzaSB2b3VzIHV0aWxpc2V6IGRlIHRlbXBzIGVuIHRlbXBzICIKLSN+ICJkJ2FuY2llbm5lcyB2ZXJzaW9ucyBkZSBHaXQpIgotCi0jfiBtc2dpZCAiY2hlY2t8b24tZGVtYW5kfG5vIgotI34gbXNnc3RyICJjaGVja3xvbi1kZW1hbmR8bm8iCi0KLSN+IG1zZ2lkICJDb3VsZCBub3QgYXBwZW5kICclcyciCi0jfiBtc2dzdHIgIkltcG9zc2libGUgZCdham91dGVyICclcyciCi0KLSN+IG1zZ2lkICJNaXNzaW5nIGF1dGhvcjogJXMiCi0jfiBtc2dzdHIgIkF1dGV1ciBtYW5xdWFudCA6ICVzIgotCi0jfiBtc2dpZCAiVGVzdGluZyAiCi0jfiBtc2dzdHIgIlRlc3QgZW4gY291cnMgIgotCi0jfiBtc2dpZCAidW5hYmxlIHRvIGxvb2sgdXAgY3VycmVudCB1c2VyIGluIHRoZSBwYXNzd2QgZmlsZTogJXMiCi0jfiBtc2dzdHIgIiIKLSN+ICJpbXBvc3NpYmxlIGRlIHJlY2hlcmNoZXIgbCd1dGlsaXNhdGV1ciBhY3R1ZWwgZGFucyBsZSBmaWNoaWVyIGRlIG1vdHMgZGUgIgotI34gInBhc3NlIDogJXMiCi0KLSN+IG1zZ2lkICJubyBzdWNoIHVzZXIiCi0jfiBtc2dzdHIgInV0aWxpc2F0ZXVyIGluY29ubnUiCi0KLSN+IG1zZ2lkICJicmFuY2ggJyVzJyBkb2VzIG5vdCBwb2ludCBhdCBhIGNvbW1pdCIKLSN+IG1zZ3N0ciAibGEgYnJhbmNoZSAnJXMnIG5lIHBvaW50ZSBwYXMgc3VyIHVuIGNvbW1pdCIKLQotI34gbXNnaWQgInByaW50IG9ubHkgbWVyZ2VkIGJyYW5jaGVzIgotI34gbXNnc3RyICJhZmZpY2hlciBzZXVsZW1lbnQgbGVzIGJyYW5jaGVzIGZ1c2lvbm7DqWVzIgotCi0jfiBtc2dpZCAiLS1kaXNzb2NpYXRlIGdpdmVuLCBidXQgdGhlcmUgaXMgbm8gLS1yZWZlcmVuY2UiCi0jfiBtc2dzdHIgIi0tZGlzc29jaWF0ZSBlc3Qgc3DDqWNpZmnDqSwgbWFpcyAtLXJlZmVyZW5jZSBlc3QgYWJzZW50IgotCi0jfiBtc2dpZCAic2hvdyB1c2FnZSIKLSN+IG1zZ3N0ciAiYWZmaWNoZXIgbCd1c2FnZSIKLQotI34gbXNnaWQgImluc2FuZWx5IGxvbmcgdGVtcGxhdGUgbmFtZSAlcyIKLSN+IG1zZ3N0ciAibm9tIGRlIG1vZMOobGUgZMOpbWVudGllbGxlbWVudCBsb25nICVzIgotCi0jfiBtc2dpZCAiaW5zYW5lbHkgbG9uZyBzeW1saW5rICVzIgotI34gbXNnc3RyICJsaWVuIHN5bWJvbGlxdWUgZMOpbWVudGllbGxlbWVudCBsb25nICVzIgotCi0jfiBtc2dpZCAiaW5zYW5lbHkgbG9uZyB0ZW1wbGF0ZSBwYXRoICVzIgotI34gbXNnc3RyICJjaGVtaW4gZGUgbW9kw6hsZSAlcyBkw6ltZW50aWVsbGVtZW50IGxvbmciCi0KLSN+IG1zZ2lkICJ1bnN1cHBvcnRlZCBzb3J0IHNwZWNpZmljYXRpb24gJyVzJyIKLSN+IG1zZ3N0ciAic3DDqWNpZmljYXRpb24gZGUgdHJpIG5vbiBzdXBwb3J0w6llICclcyciCi0KLSN+IG1zZ2lkICJ1bnN1cHBvcnRlZCBzb3J0IHNwZWNpZmljYXRpb24gJyVzJyBpbiB2YXJpYWJsZSAnJXMnIgotI34gbXNnc3RyICJzcMOpY2lmaWNhdGlvbiBkZSB0cmkgbm9uIHN1cHBvcnTDqWUgJyVzJyBkYW5zIGxlIHZhcmlhYmxlICclcyciCi0KLSN+IG1zZ2lkICJzd2l0Y2ggJ3BvaW50cy1hdCcgcmVxdWlyZXMgYW4gb2JqZWN0IgotI34gbXNnc3RyICJsZSBjb21tdXRhdGV1ciAncG9pbnRzLWF0JyBhIGJlc29pbiBkJ3VuIG9iamV0IgotCi0jfiBtc2dpZCAiLS1zb3J0IGFuZCAtbiBhcmUgaW5jb21wYXRpYmxlIgotI34gbXNnc3RyICItLXNvcnQgZXQgLW4gc29udCBpbmNvbXBhdGlibGVzIgotCi0jfiBtc2dpZCAiR2l0ZGlyICckYScgaXMgcGFydCBvZiB0aGUgc3VibW9kdWxlIHBhdGggJyRiJyBvciB2aWNlIHZlcnNhIgotI34gbXNnc3RyICIiCi0jfiAiTGUgcsOpcGVydG9pcmUgR2l0ICckYScgZmFpdCBwYXJ0aWUgZHUgY2hlbWluIGRlIHNvdXMtbW9kdWxlICckYicgb3UgdmljZS0iCi0jfiAidmVyc2EiCi0KLSN+IG1zZ2lkICJmYWxzZXx0cnVlfHByZXNlcnZlIgotI34gbXNnc3RyICJmYWxzZXx0cnVlfHByZXNlcnZlIgotCi0jfiBtc2dpZCAiQlVHOiByZW9wZW4gYSBsb2NrZmlsZSB0aGF0IGlzIHN0aWxsIG9wZW4iCi0jfiBtc2dzdHIgIkJVRzogcsOpb3V2ZXJ0dXJlIGQndW4gZmljaGllciB2ZXJyb3UgZMOpasOgIG91dmVydCIKLQotI34gbXNnaWQgIkJVRzogcmVvcGVuIGEgbG9ja2ZpbGUgdGhhdCBoYXMgYmVlbiBjb21taXR0ZWQiCi0jfiBtc2dzdHIgIkJVRzogcsOpb3V2ZXJ0dXJlIGQndW4gZmljaGllciB2ZXJyb3UgdmFsaWTDqSIKLQotI34gbXNnaWQgIm9wdGlvbiAlcyBkb2VzIG5vdCBhY2NlcHQgbmVnYXRpdmUgZm9ybSIKLSN+IG1zZ3N0ciAibCdvcHRpb24gJXMgbidhY2NlcHRlIHBhcyBkZSB2YWxldXIgbsOpZ2F0aXZlIgotCi0jfiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIHZhbHVlICclcycgZm9yIG9wdGlvbiAlcyIKLSN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxhIHZhbGV1ciAnJXMnIHBvdXIgbCdvcHRpb24gJXMiCi0KLSN+IG1zZ2lkICItYiBhbmQgLUIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKLSN+IG1zZ3N0ciAiLWIgZXQgLUIgc29udCBtdXR1ZWxsZW1lbnQgZXhjbHVzaWZzIgotCi0jfiBtc2dpZCAiIgotI34gIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCIkY21kbGluZSAtLWNvbnRpbnVlXCIuXG4iCi0jfiAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcIiRjbWRsaW5lIC0tc2tpcFwiIGluc3RlYWQuXG4iCi0jfiAiVG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBzdG9wIHBhdGNoaW5nLCBydW4gXCIkY21kbGluZSAtLWFib3J0IgotI34gIlwiLiIKLSN+IG1zZ3N0ciAiIgotI34gIkxvcnNxdWUgdm91cyBhdXJleiByw6lzb2x1IGNlIHByb2Jsw6htZSwgbGFuY2V6IFwiJGNtZGxpbmUgLS1jb250aW51ZVwiLlxuIgotI34gIlNpIHZvdXMgcHLDqWbDqXJleiBzYXV0ZXIgY2UgcGF0Y2gsIGxhbmNleiBcIiRjbWRsaW5lIC0tc2tpcFwiIMOgIGxhIHBsYWNlLlxuIgotI34gIlBvdXIgcmVzdGF1cmVyIGxhIGJyYW5jaGUgZCdvcmlnaW5lIGV0IHN0b3BwZXIgbGUgcGF0Y2hhZ2UsIGxhbmNleiAiCi0jfiAiXCIkY21kbGluZSAtLWFib3J0XCIuIgotCi0jfiBtc2dpZCAiUGF0Y2ggZm9ybWF0ICRwYXRjaF9mb3JtYXQgaXMgbm90IHN1cHBvcnRlZC4iCi0jfiBtc2dzdHIgIkxlIGZvcm1hdCBkZSBwYXRjaCAkcGF0Y2hfZm9ybWF0IG4nZXN0IHBhcyBzdXBwb3J0w6kuIgotCi0jfiBtc2dpZCAiUGxlYXNlIG1ha2UgdXAgeW91ciBtaW5kLiAtLXNraXAgb3IgLS1hYm9ydD8iCi0jfiBtc2dzdHIgIkTDqWNpZGV6LXZvdXMuIC0tc2tpcCBvdSAtLWFib3J0ID8iCi0KLSN+IG1zZ2lkICIiCi0jfiAiUGF0Y2ggaXMgZW1wdHkuICBXYXMgaXQgc3BsaXQgd3Jvbmc/XG4iCi0jfiAiSWYgeW91IHdvdWxkIHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIGluc3RlYWQgcnVuIFwiJGNtZGxpbmUgLS1za2lwXCIuXG4iCi0jfiAiVG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBzdG9wIHBhdGNoaW5nIHJ1biBcIiRjbWRsaW5lIC0tYWJvcnRcIi4iCi0jfiBtc2dzdHIgIiIKLSN+ICJMZSBwYXRjaCBlc3QgdmlkZS4gIMOJdGFpdC1pbCBtYWwgZMOpY291cMOpID9cbiIKLSN+ICJTaSB2b3VzIHByw6lmw6lyZXogc2F1dGVyIGNlIHBhdGNoLCBsYW5jZXogcGx1dMO0dCBcIiRjbWRsaW5lIC0tc2tpcFwiLlxuIgotI34gIlBvdXIgcmVzdGF1cmVyIGxhIGJyYW5jaGUgZCdvcmlnaW5lIGV0IHN0b3BwZXIgbGUgcGF0Y2hhZ2UsIGxhbmNleiAiCi0jfiAiXCIkY21kbGluZSAtLWFib3J0XCIuIgotCi0jfiBtc2dpZCAiUGF0Y2ggZG9lcyBub3QgaGF2ZSBhIHZhbGlkIGNvdXJyaWVsIGFkZHJlc3MuIgotI34gbXNnc3RyICJMZSBwYXRjaCBuJ2EgcGFzIGQnYWRyZXNzZSBjb3VycmllbCB2YWxpZGUuIgotCi0jfiBtc2dpZCAiQXBwbHlpbmc6ICRGSVJTVExJTkUiCi0jfiBtc2dzdHIgIkFwcGxpY2F0aW9uIDogJEZJUlNUTElORSIKLQotI34gbXNnaWQgIlBhdGNoIGZhaWxlZCBhdCAkbXNnbnVtICRGSVJTVExJTkUiCi0jfiBtc2dzdHIgIkxlIHBhdGNoIGEgw6ljaG91w6kgw6AgJG1zZ251bSAkRklSU1RMSU5FIgotCi0jfiBtc2dpZCAiIgotI34gIlB1bGwgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuXG4iCi0jfiAiUGxlYXNlLCBmaXggdGhlbSB1cCBpbiB0aGUgd29yayB0cmVlLCBhbmQgdGhlbiB1c2UgJ2dpdCBhZGQvcm0gPGZpbGU+J1xuIgotI34gImFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbiBhbmQgbWFrZSBhIGNvbW1pdC4iCi0jfiBtc2dzdHIgIiIKLSN+ICJMZSB0aXJhZ2Ugbidlc3QgcGFzIHBvc3NpYmxlIGNhciB2b3VzIGF2ZXogZGVzIGZpY2hpZXJzIG5vbiBmdXNpb25uw6lzLlxuIgotI34gIlZldWlsbGV6IGxlcyBjb3JyaWdlciBkYW5zIHZvdHJlIGNvcGllIGRlIHRyYXZhaWwsIHV0aWxpc2VyIGFsb3JzICdnaXQgIgotI34gImFkZC9ybSA8ZmljaGllcj4nXG4iCi0jfiAic2kgbsOpY2Vzc2FpcmUgcG91ciBtYXJxdWVyIGNvbW1lIHLDqXNvbHUgZXQgdmFsaWRlci4iCi0KLSN+IG1zZ2lkICJubyBicmFuY2ggc3BlY2lmaWVkIgotI34gbXNnc3RyICJhdWN1bmUgYnJhbmNoZSBzcMOpY2lmacOpZSIKLQotI34gbXNnaWQgInBydW5lIC5naXQvd29ya3RyZWVzIgotI34gbXNnc3RyICLDqWxpbWluZXIgLmdpdC93b3JrdHJlZXMiCi0KLSN+IG1zZ2lkICJUaGUgbW9zdCBjb21tb25seSB1c2VkIGdpdCBjb21tYW5kcyBhcmU6IgotI34gbXNnc3RyICJMZXMgY29tbWFuZGVzIGdpdCBsZXMgcGx1cyB1dGlsaXPDqWVzIHNvbnQgOiIKLQotI34gbXNnaWQgIk5vIHN1Y2ggYnJhbmNoOiAnJXMnIgotI34gbXNnc3RyICJCcmFuY2hlIGluY29ubnVlIDogJyVzJyIKLQotI34gbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZ2l0IGxpbmsgJXMiCi0jfiBtc2dzdHIgIkltcG9zc2libGUgZGUgY3LDqWVyIGxlIGxpZW4gZ2l0ICVzIgotCi0jfiBtc2dpZCAiSW52YWxpZCBnYy5wcnVuZWV4cGlyZTogJyVzJyIKLSN+IG1zZ3N0ciAiZ2MucHJ1bmVleHBpcmUgaW52YWxpZGXCoDogJyVzJyIKLQotI34gbXNnaWQgIihkZXRhY2hlZCBmcm9tICVzKSIKLSN+IG1zZ3N0ciAiKGTDqXRhY2jDqSBkZSAlcykiCi0KLSN+IG1zZ2lkICJObyBleGlzdGluZyBhdXRob3IgZm91bmQgd2l0aCAnJXMnIgotI34gbXNnc3RyICJBdWN1biBhdXRldXIgZXhpc3RhbnQgdHJvdXbDqSBhdmVjICclcyciCi0KLSN+IG1zZ2lkICJzZWFyY2ggYWxzbyBpbiBpZ25vcmVkIGZpbGVzIgotI34gbXNnc3RyICJyZWNoZXJjaGVyIGF1c3NpIGRhbnMgbGVzIGZpY2hpZXJzIGlnbm9yw6lzIgotCi0jfiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8PGJyYW5jaD4pIgotI34gbXNnc3RyICJnaXQgcmVtb3RlIHNldC1oZWFkIDxub20+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfDxicmFuY2hlPikiCi0KLSN+IG1zZ2lkICJubyBmaWxlcyBhZGRlZCIKLSN+IG1zZ3N0ciAiYXVjdW4gZmljaGllciBham91dMOpIgotCi0jfiBtc2dpZCAic2xvdCIKLSN+IG1zZ3N0ciAiZW1wbGFjZW1lbnQiCi0KLSN+IG1zZ2lkICJGYWlsZWQgdG8gbG9jayByZWYgZm9yIHVwZGF0ZSIKLSN+IG1zZ3N0ciAiw4ljaGVjIGR1IHZlcnJvdWlsbGFnZSBkZSBsYSByw6lmw6lyZW5jZSBwb3VyIG1pc2Ugw6Agam91ciIKLQotI34gbXNnaWQgIkZhaWxlZCB0byB3cml0ZSByZWYiCi0jfiBtc2dzdHIgIsOJY2hlYyBkZSBsJ8OpY3JpdHVyZSBkZSBsYSByw6lmw6lyZW5jZSIKLQotI34gbXNnaWQgIkZhaWxlZCB0byBsb2NrIEhFQUQgZHVyaW5nIGZhc3RfZm9yd2FyZF90byIKLSN+IG1zZ3N0ciAiw4ljaGVjIGR1IHZlcnJvdWlsbGFnZSBkZSBIRUFEIHBlbmRhbnQgbCdhdmFuY2UgcmFwaWRlIgotCi0jfiBtc2dpZCAiY2Fubm90IGxvY2sgSEVBRCByZWYiCi0jfiBtc2dzdHIgImltcG9zc2libGUgZGUgdmVycm91aWxsZXIgbGEgcsOpZsOpcmVuY2UgSEVBRCIKLQotI34gbXNnaWQgImNhbm5vdCB1cGRhdGUgSEVBRCByZWYiCi0jfiBtc2dzdHIgImltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGEgcsOpZsOpcmVuY2UgSEVBRCIKLQotI34gbXNnaWQgIiVzOiBjYW5ub3QgbG9jayB0aGUgcmVmIgotI34gbXNnc3RyICIlcyA6IGltcG9zc2libGUgZGUgdmVycm91aWxsZXIgbGEgcsOpZsOpcmVuY2UiCi0KLSN+IG1zZ2lkICIlczogY2Fubm90IHVwZGF0ZSB0aGUgcmVmIgotI34gbXNnc3RyICIlcyA6IGltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGEgcsOpZsOpcmVuY2UiCi0KLSN+IG1zZ2lkICJjb21taXQgaGFzIGVtcHR5IG1lc3NhZ2UiCi0jfiBtc2dzdHIgImxlIGNvbW1pdCBhIHVuIG1lc3NhZ2UgdmlkZSIKLQotI34gbXNnaWQgIkZhaWxlZCB0byBjaGRpcjogJXMiCi0jfiBtc2dzdHIgIsOJY2hlYyBkZSBjaGRpcjogJXMiCi0KLSN+IG1zZ2lkICJUcmFja2luZyBub3Qgc2V0IHVwOiBuYW1lIHRvbyBsb25nOiAlcyIKLSN+IG1zZ3N0ciAiU3VpdmkgZGUgYnJhbmNoZSBub24gcGFyYW3DqXRyw6kgOiBsZSBub20gZXN0IHRyb3AgbG9uZyA6ICVzIgotCi0jfiBtc2dpZCAiY291bGQgbm90IGZpbmQgLmdpdG1vZHVsZXMgaW4gaW5kZXgiCi0jfiBtc2dzdHIgImltcG9zc2libGUgZGUgdHJvdXZlciAuZ2l0bW9kdWxlcyBkYW5zIGwnaW5kZXgiCi0KLSN+IG1zZ2lkICJyZWFkaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgotI34gbXNnc3RyICLDqWNoZWMgZGUgbGEgbGVjdHVyZSBkdSAuZ2l0bW9kdWxlcyBtaXMgw6Agam91ciIKLQotI34gbXNnaWQgInVuYWJsZSB0byBzdGF0IHVwZGF0ZWQgLmdpdG1vZHVsZXMiCi0jfiBtc2dzdHIgIsOpY2hlYyBkZSBzdGF0IGR1IC5naXRtb2R1bGVzIG1pcyDDoCBqb3VyIgotCi0jfiBtc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAuZ2l0bW9kdWxlcyBmcm9tIGluZGV4IgotI34gbXNnc3RyICJzdXBwcmVzc2lvbiBkdSAuZ2l0bW9kdWxlcyBkYW5zIGwnaW5kZXggaW1wb3NzaWJsZSIKLQotI34gbXNnaWQgImFkZGluZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKLSN+IG1zZ3N0ciAiw6ljaGVjIGRlIGwnYWpvdXQgZHUgLmdpdG1vZHVsZXMgbWlzIMOgIGpvdXIiCi0KLSN+IG1zZ2lkICJidWciCi0jfiBtc2dzdHIgImJvZ3VlIgotCi0jfiBtc2dpZCAiLCBiZWhpbmQgIgotI34gbXNnc3RyICIsIGRlcnJpw6hyZSAiCi0KLSN+IG1zZ2lkICIiCi0jfiAiVGhlIGJlaGF2aW9yIG9mICdnaXQgYWRkICVzIChvciAlcyknIHdpdGggbm8gcGF0aCBhcmd1bWVudCBmcm9tIGFcbiIKLSN+ICJzdWJkaXJlY3Rvcnkgb2YgdGhlIHRyZWUgd2lsbCBjaGFuZ2UgaW4gR2l0IDIuMCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkICIKLSN+ICJhbnltb3JlLlxuIgotI34gIlRvIGFkZCBjb250ZW50IGZvciB0aGUgd2hvbGUgdHJlZSwgcnVuOlxuIgotI34gIlxuIgotI34gIiAgZ2l0IGFkZCAlcyA6L1xuIgotI34gIiAgKG9yIGdpdCBhZGQgJXMgOi8pXG4iCi0jfiAiXG4iCi0jfiAiVG8gcmVzdHJpY3QgdGhlIGNvbW1hbmQgdG8gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LCBydW46XG4iCi0jfiAiXG4iCi0jfiAiICBnaXQgYWRkICVzIC5cbiIKLSN+ICIgIChvciBnaXQgYWRkICVzIC4pXG4iCi0jfiAiXG4iCi0jfiAiV2l0aCB0aGUgY3VycmVudCBHaXQgdmVyc2lvbiwgdGhlIGNvbW1hbmQgaXMgcmVzdHJpY3RlZCB0byB0aGUgY3VycmVudCAiCi0jfiAiZGlyZWN0b3J5LlxuIgotI34gbXNnc3RyICIiCi0jfiAiTGUgY29tcG9ydGVtZW50IGRlICdnaXQgYWRkICVzIChvdSAlcyknIHNhbnMgYXJndW1lbnQgZGUgY2hlbWluIGRlcHVpcyAiCi0jfiAidW5cbiIKLSN+ICJzb3VzLXLDqXBlcnRvaXJlIGR1IHByb2pldCB2YSBjaGFuZ2VyIGRhbnMgR2l0IDIuMCBldCBuZSBkb2l0IHBsdXMgw6p0cmUgIgotI34gInV0aWxpc8OpLlxuIgotI34gIlBvdXIgYWpvdXRlciBsZSBjb250ZW51IGRlIHRvdXRlIGwnYXJib3Jlc2NlbmNlLCBsYW5jZXogOlxuIgotI34gIlxuIgotI34gIiAgZ2l0IGFkZCAlcyA6L1xuIgotI34gIiAgKG91IGdpdCBhZGQgJXMgOi8pXG4iCi0jfiAiXG4iCi0jfiAiUG91ciByZXN0cmVpbmRyZSBsYSBjb21tYW5kZSBhdSByw6lwZXJ0b2lyZSBjb3VyYW50LCBsYW5jZXogOlxuIgotI34gIlxuIgotI34gIiAgZ2l0IGFkZCAlcyAuXG4iCi0jfiAiICAob3UgZ2l0IGFkZCAlcyAuKVxuIgotI34gIlxuIgotI34gIkF2ZWMgbGEgdmVyc2lvbiBhY3R1ZWxsZSBkZSBHaXQsIGxhIGNvbW1hbmRlIGVzdCByZXN0cmVpbnRlIGF1IHLDqXBlcnRvaXJlICIKLSN+ICJjb3VyYW50LlxuIgotCi0jfiBtc2dpZCAiIgotI34gIllvdSByYW4gJ2dpdCBhZGQnIHdpdGggbmVpdGhlciAnLUEgKC0tYWxsKScgb3IgJy0taWdub3JlLXJlbW92YWwnLFxuIgotI34gIndob3NlIGJlaGF2aW91ciB3aWxsIGNoYW5nZSBpbiBHaXQgMi4wIHdpdGggcmVzcGVjdCB0byBwYXRocyB5b3UgIgotI34gInJlbW92ZWQuXG4iCi0jfiAiUGF0aHMgbGlrZSAnJXMnIHRoYXQgYXJlXG4iCi0jfiAicmVtb3ZlZCBmcm9tIHlvdXIgd29ya2luZyB0cmVlIGFyZSBpZ25vcmVkIHdpdGggdGhpcyB2ZXJzaW9uIG9mIEdpdC5cbiIKLSN+ICJcbiIKLSN+ICIqICdnaXQgYWRkIC0taWdub3JlLXJlbW92YWwgPHBhdGhzcGVjPicsIHdoaWNoIGlzIHRoZSBjdXJyZW50IGRlZmF1bHQsXG4iCi0jfiAiICBpZ25vcmVzIHBhdGhzIHlvdSByZW1vdmVkIGZyb20geW91ciB3b3JraW5nIHRyZWUuXG4iCi0jfiAiXG4iCi0jfiAiKiAnZ2l0IGFkZCAtLWFsbCA8cGF0aHNwZWM+JyB3aWxsIGxldCB5b3UgYWxzbyByZWNvcmQgdGhlIHJlbW92YWxzLlxuIgotI34gIlxuIgotI34gIlJ1biAnZ2l0IHN0YXR1cycgdG8gY2hlY2sgdGhlIHBhdGhzIHlvdSByZW1vdmVkIGZyb20geW91ciB3b3JraW5nIHRyZWUuXG4iCi0jfiBtc2dzdHIgIiIKLSN+ICJWb3VzIGF2ZXogbGFuY8OpICdnaXQgYWRkJyBzYW5zICctQSAoLS1hbGwpJyBuaSAnLS1pZ25vcmUtcmVtb3ZhbCcsXG4iCi0jfiAiZG9udCBsZSBjb21wb3J0ZW1lbnQgdmEgY2hhbmdlciBkYW5zIEdpdCAyLjAgYXZlYyBsZSByZXNwZWN0IGRlcyBjaGVtaW5zICIKLSN+ICJxdWUgdm91cyBzdXBwcmltZXouXG4iCi0jfiAiTGVzIGNoZW1pbnMgdGVscyBxdWUgJyVzJyBxdWkgb250IMOpdMOpXG4iCi0jfiAicmV0aXLDqXMgZGUgdm90cmUgY29waWUgZGUgdHJhdmFpbCBzb250IGlnbm9yw6lzIGF2ZWMgY2V0dGUgdmVyc2lvbiBkZSAiCi0jfiAiR2l0LlxuIgotI34gIlxuIgotI34gIiogJ2dpdCBhZGQgLS1pZ25vcmUtcmVtb3ZhbCA8Y2hlbWluPicsIHF1aSBlc3QgbCdvcHRpb24gcGFyIGTDqWZhdXQgIgotI34gImFjdHVlbGxlLFxuIgotI34gIiAgaWdub3JlIGxlcyBjaGVtaW5zIHF1ZSB2b3VzIGF2ZXogc3VwcHJpbcOpcyBkZSB2b3RyZSBjb3BpZSBkZSB0cmF2YWlsLlxuIgotI34gIlxuIgotI34gIiogJ2dpdCBhZGQgLS1hbGwgPGNoZW1pbj4nIHBlcm1ldCBkJ2VucmVnaXN0cmVyIGF1c3NpIGxlcyBzdXBwcmVzc2lvbnMuXG4iCi0jfiAiXG4iCi0jfiAiTGFuY2V6ICdnaXQgc3RhdHVzJyBwb3VyIHbDqXJpZmllciBsZXMgY2hlbWlucyBxdWUgdm91cyBhdmV6IHN1cHByaW3DqXMgZGUgIgotI34gInZvdHJlIGNvcGllIGRlIHRyYXZhaWwuXG4iCi0KLSN+IG1zZ2lkICJrZXkgaWQiCi0jfiBtc2dzdHIgImlkZW50aWZpYW50IGRlIGNsw6kiCi0KLSN+IG1zZ2lkICIiCi0jfiAiQXV0byBwYWNraW5nIHRoZSByZXBvc2l0b3J5IGZvciBvcHRpbXVtIHBlcmZvcm1hbmNlLiBZb3UgbWF5IGFsc29cbiIKLSN+ICJydW4gXCJnaXQgZ2NcIiBtYW51YWxseS4gU2VlIFwiZ2l0IGhlbHAgZ2NcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKLSN+IG1zZ3N0ciAiIgotI34gIkNvbXByZXNzaW9uIGF1dG9tYXRpcXVlIGR1IGTDqXDDtHQgcG91ciB1bmUgcGVyZm9ybWFuY2Ugb3B0aW11bS4gVm91cyAiCi0jfiAicG91dmV6IGF1c3NpXG4iCi0jfiAibGFuY2VyIFwiZ2l0IGdjXCIgbWFudWVsbGVtZW50LiBWb2lyIFwiZ2l0IGhlbHAgZ2NcIiBwb3VyIHBsdXMgIgotI34gImQnaW5mb3JtYXRpb24uXG4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgotI34gImNvdW50ZXJwYXJ0LiBJZiB5b3UgZGlkIG5vdCBpbnRlbmQgdG8gcHVzaCB0aGF0IGJyYW5jaCwgeW91IG1heSB3YW50IHRvXG4iCi0jfiAic3BlY2lmeSBicmFuY2hlcyB0byBwdXNoIG9yIHNldCB0aGUgJ3B1c2guZGVmYXVsdCcgY29uZmlndXJhdGlvbiAiCi0jfiAidmFyaWFibGVcbiIKLSN+ICJ0byAnc2ltcGxlJywgJ2N1cnJlbnQnIG9yICd1cHN0cmVhbScgdG8gcHVzaCBvbmx5IHRoZSBjdXJyZW50IGJyYW5jaC4iCi0jfiBtc2dzdHIgIiIKLSN+ICJMZXMgbWlzZXMgw6Agam91ciBvbnQgw6l0w6kgcmVqZXTDqWVzIGNhciBsYSBwb2ludGUgZGUgbGEgYnJhbmNoZSBwb3Vzc8OpZSBlc3QgIgotI34gImRlcnJpw6hyZVxuIgotI34gInNvbiBob21vbG9ndWUgZGlzdGFudC4gU2kgdm91cyBuZSB2b3VsaWV6IHBhcyBwb3Vzc2VyIGNldHRlIGJyYW5jaGUsIHZvdXMgIgotI34gInBvdXJyaWV6XG4iCi0jfiAidm91bG9pciBzcMOpY2lmaWVyIGxlcyBicmFuY2hlcyDDoCBwb3Vzc2VyIG91IGTDqWZpbmlyIGxhIHZhcmlhYmxlIGRlICIKLSN+ICJjb25maWd1cmF0aW9uXG4iCi0jfiAiJ3B1c2guZGVmYXVsdCcgw6AgJ3NpbXBsZScsICdjdXJyZW50JyBvdSAndXBzdHJlYW0nIHBvdXIgcG91c3NlciBzZXVsZW1lbnQgIgotI34gImxhIGJyYW5jaGUgY291cmFudGUuIgotCi0jfiBtc2dpZCAiZGVsZXRlZDogICAgJXMiCi0jfiBtc2dzdHIgInN1cHByaW3DqSA6ICAlcyIKLQotI34gbXNnaWQgIm1vZGlmaWVkOiAgICVzIgotI34gbXNnc3RyICJtb2RpZmnDqSA6ICAgJXMiCi0KLSN+IG1zZ2lkICJyZW5hbWVkOiAgICAlcyAtPiAlcyIKLSN+IG1zZ3N0ciAicmVub21tw6kgOiAgICVzIC0+ICVzIgotCi0jfiBtc2dpZCAidW5tZXJnZWQ6ICAgJXMiCi0jfiBtc2dzdHIgIm5vbiBmdXMuIDogICVzIgotCi0jfiBtc2dpZCAiaW5wdXQgcGF0aHMgYXJlIHRlcm1pbmF0ZWQgYnkgYSBudWxsIGNoYXJhY3RlciIKLSN+IG1zZ3N0ciAibGVzIGNoZW1pbnMgZW4gZW50csOpZSBzb250IHRlcm1pbsOpcyBwYXIgbGUgY2FyYWN0w6hyZSBudWwiCi0KLSN+IG1zZ2lkICIiCi0jfiAiQWJvcnRpbmcuIENvbnNpZGVyIHVzaW5nIGVpdGhlciB0aGUgLS1mb3JjZSBvciAtLWluY2x1ZGUtdW50cmFja2VkIG9wdGlvbi4iCi0jfiBtc2dzdHIgIkFiYW5kb24uIFV0aWxpc2V6IGwnb3B0aW9uIC0tZm9yY2Ugb3UgLS1pbmNsdWRlLXVudHJhY2tlZC4iCmRpZmYgLS1naXQgYS9wby9naXQucG90IGIvcG8vZ2l0LnBvdAppbmRleCAxMzEzZDIwLi4yZDFlYzc2IDEwMDY0NAotLS0gYS9wby9naXQucG90CisrKyBiL3BvL2dpdC5wb3QKQEAgLTgsNyArOCw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IFBBQ0tBR0UgVkVSU0lPTlxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBHaXQgTWFpbGluZyBMaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE4LTEyLTAyIDEwOjU1KzA4MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOS0xMi0zMCAwODo0OCswODAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogWUVBUi1NTy1EQSBITzpNSStaT05FXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBGVUxMIE5BTUUgPEVNQUlMQEFERFJFU1M+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogTEFOR1VBR0UgPExMQGxpLm9yZz5cbiIKQEAgLTE4LDE2MCArMTgsNTYwIEBACiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgogIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9SU5URUdFUjsgcGx1cmFsPUVYUFJFU1NJT047XG4iCiAKLSM6IGFkdmljZS5jOjk5CisjOiBhZGQtaW50ZXJhY3RpdmUuYzozNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVoICglcyk/IgorbXNnc3RyICIiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjUwMCBhZGQtaW50ZXJhY3RpdmUuYzo4MDEgc2VxdWVuY2VyLmM6MzIxNgorIzogc2VxdWVuY2VyLmM6MzY1NiBidWlsdGluL3JlYmFzZS5jOjg3MSBidWlsdGluL3JlYmFzZS5jOjE2NDMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjAxOSBidWlsdGluL3JlYmFzZS5jOjIwNjMKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo1NTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNjkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Mjk0Cittc2dpZCAiYmluYXJ5IgorbXNnc3RyICIiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjYxMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI3OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMzIKK21zZ2lkICJub3RoaW5nIgorbXNnc3RyICIiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjYxNCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMxNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMjkKK21zZ2lkICJ1bmNoYW5nZWQiCittc2dzdHIgIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NjUxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjQzCittc2dpZCAiVXBkYXRlIgorbXNnc3RyICIiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjY2OCBhZGQtaW50ZXJhY3RpdmUuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHN0YWdlICclcyciCittc2dzdHIgIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6Njc0IGFkZC1pbnRlcmFjdGl2ZS5jOjg2MyBzZXF1ZW5jZXIuYzozNDA5CisjOiBidWlsdGluL3JlYmFzZS5jOjg5NQorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2NzcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MjgKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgInVwZGF0ZWQgJWQgcGF0aFxuIgorbXNnaWRfcGx1cmFsICJ1cGRhdGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2OTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzgKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgIm5vdGU6ICVzIGlzIHVudHJhY2tlZCBub3cuXG4iCittc2dzdHIgIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NzAwIGFwcGx5LmM6NDEwOCBidWlsdGluL2NoZWNrb3V0LmM6MjgxCisjOiBidWlsdGluL3Jlc2V0LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCittc2dzdHIgIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NzMwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjU1Cittc2dpZCAiUmV2ZXJ0IgorbXNnc3RyICIiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjc0NgorbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBIRUFEXnt0cmVlfSIKK21zZ3N0ciAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo3ODQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzEKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgInJldmVydGVkICVkIHBhdGhcbiIKK21zZ2lkX3BsdXJhbCAicmV2ZXJ0ZWQgJWQgcGF0aHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjgzNSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY5NQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1bnRyYWNrZWQgZmlsZXMuXG4iCittc2dzdHIgIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6ODM5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Njg5Cittc2dpZCAiQWRkIHVudHJhY2tlZCIKK21zZ3N0ciAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo4NjYgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MjUKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgImFkZGVkICVkIHBhdGhcbiIKK21zZ2lkX3BsdXJhbCAiYWRkZWQgJWQgcGF0aHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjg5NgorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bm1lcmdlZDogJXMiCittc2dzdHIgIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTA4IGFkZC1wYXRjaC5jOjEzMzEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIk9ubHkgYmluYXJ5IGZpbGVzIGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTEwIGFkZC1wYXRjaC5jOjEzMjkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIGNoYW5nZXMuXG4iCittc2dzdHIgIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTE0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3NgorbXNnaWQgIlBhdGNoIHVwZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5NTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzU0Cittc2dpZCAiUmV2aWV3IGRpZmYiCittc2dzdHIgIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTgxCittc2dpZCAic2hvdyBwYXRocyB3aXRoIGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTgzCittc2dpZCAiYWRkIHdvcmtpbmcgdHJlZSBzdGF0ZSB0byB0aGUgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4NQorbXNnaWQgInJldmVydCBzdGFnZWQgc2V0IG9mIGNoYW5nZXMgYmFjayB0byB0aGUgSEVBRCB2ZXJzaW9uIgorbXNnc3RyICIiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4NworbXNnaWQgInBpY2sgaHVua3MgYW5kIHVwZGF0ZSBzZWxlY3RpdmVseSIKK21zZ3N0ciAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5ODkKK21zZ2lkICJ2aWV3IGRpZmYgYmV0d2VlbiBIRUFEIGFuZCBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5OTEKK21zZ2lkICJhZGQgY29udGVudHMgb2YgdW50cmFja2VkIGZpbGVzIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTk5IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNDgKK21zZ2lkICJQcm9tcHQgaGVscDoiCittc2dzdHIgIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAwMQorbXNnaWQgInNlbGVjdCBhIHNpbmdsZSBpdGVtIgorbXNnc3RyICIiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDMKK21zZ2lkICJzZWxlY3QgYSByYW5nZSBvZiBpdGVtcyIKK21zZ3N0ciAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDA1Cittc2dpZCAic2VsZWN0IG11bHRpcGxlIHJhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDA3IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNTIKK21zZ2lkICJzZWxlY3QgaXRlbSBiYXNlZCBvbiB1bmlxdWUgcHJlZml4IgorbXNnc3RyICIiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDkKK21zZ2lkICJ1bnNlbGVjdCBzcGVjaWZpZWQgaXRlbXMiCittc2dzdHIgIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAxMQorbXNnaWQgImNob29zZSBhbGwgaXRlbXMiCittc2dzdHIgIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAxMworbXNnaWQgIihlbXB0eSkgZmluaXNoIHNlbGVjdGluZyIKK21zZ3N0ciAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDUwCittc2dpZCAic2VsZWN0IGEgbnVtYmVyZWQgaXRlbSIKK21zZ3N0ciAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDU0Cittc2dpZCAiKGVtcHR5KSBzZWxlY3Qgbm90aGluZyIKK21zZ3N0ciAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDYyIGJ1aWx0aW4vY2xlYW4uYzo4MjIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODUxCittc2dpZCAiKioqIENvbW1hbmRzICoqKiIKK21zZ3N0ciAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDYzIGJ1aWx0aW4vY2xlYW4uYzo4MjMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODQ4Cittc2dpZCAiV2hhdCBub3ciCittc2dzdHIgIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTExNSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMworbXNnaWQgInN0YWdlZCIKK21zZ3N0ciAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjEzCittc2dpZCAidW5zdGFnZWQiCittc2dzdHIgIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTExNSBhcHBseS5jOjQ5NjUgYXBwbHkuYzo0OTY4IGJ1aWx0aW4vYW0uYzoyMTk3CisjOiBidWlsdGluL2FtLmM6MjIwMCBidWlsdGluL2Nsb25lLmM6MTIzIGJ1aWx0aW4vZmV0Y2guYzoxNDQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzMgYnVpbHRpbi9wdWxsLmM6MjA5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzgyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg3NSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg3OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxMTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMTMKK21zZ2lkICJwYXRoIgorbXNnc3RyICIiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjExMjIKK21zZ2lkICJjb3VsZCBub3QgcmVmcmVzaCBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTM2IGJ1aWx0aW4vY2xlYW4uYzo3ODcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkJ5ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBhZGQtcGF0Y2guYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLGEscSxkJXMsP10/ICIKK21zZ3N0ciAiIgorCisjOiBhZGQtcGF0Y2guYzoxNgorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFnZSBkZWxldGlvbiBbeSxuLGEscSxkJXMsP10/ICIKK21zZ3N0ciAiIgorCisjOiBhZGQtcGF0Y2guYzoxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdGFnZSB0aGlzIGh1bmsgW3ksbixhLHEsZCVzLD9dPyAiCittc2dzdHIgIiIKKworIzogYWRkLXBhdGNoLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBodW5rIGhlYWRlciAnJS4qcyciCittc2dzdHIgIiIKKworIzogYWRkLXBhdGNoLmM6MTMwIGFkZC1wYXRjaC5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29sb3JlZCBodW5rIGhlYWRlciAnJS4qcyciCittc2dzdHIgIiIKKworIzogYWRkLXBhdGNoLmM6MTc2Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGRpZmYiCittc2dzdHIgIiIKKworIzogYWRkLXBhdGNoLmM6MTk0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbG9yZWQgZGlmZiIKK21zZ3N0ciAiIgorCisjOiBhZGQtcGF0Y2guYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImV4cGVjdGVkIGNvbnRleHQgbGluZSAjJWQgaW5cbiIKKyIlLipzIgorbXNnc3RyICIiCisKKyM6IGFkZC1wYXRjaC5jOjUyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiaHVua3MgZG8gbm90IG92ZXJsYXA6XG4iCisiJS4qc1xuIgorIlx0ZG9lcyBub3QgZW5kIHdpdGg6XG4iCisiJS4qcyIKK21zZ3N0ciAiIgorCisjOiBhZGQtcGF0Y2guYzo3OTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTEyCittc2dpZCAiTWFudWFsIGh1bmsgZWRpdCBtb2RlIC0tIHNlZSBib3R0b20gZm9yIGEgcXVpY2sgZ3VpZGUuXG4iCittc2dzdHIgIiIKKworIzogYWRkLXBhdGNoLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS1cbiIKKyJUbyByZW1vdmUgJyVjJyBsaW5lcywgbWFrZSB0aGVtICcgJyBsaW5lcyAoY29udGV4dCkuXG4iCisiVG8gcmVtb3ZlICclYycgbGluZXMsIGRlbGV0ZSB0aGVtLlxuIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJWMgd2lsbCBiZSByZW1vdmVkLlxuIgorbXNnc3RyICIiCisKKyM6IGFkZC1wYXRjaC5jOjgxMAorbXNnaWQgIiIKKyJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgorIm1hcmtlZCBmb3Igc3RhZ2luZy5cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogJ2l0JyByZWZlcnMgdG8gdGhlIHBhdGNoIG1lbnRpb25lZCBpbiB0aGUgcHJldmlvdXMgbWVzc2FnZXMuCisjOiBhZGQtcGF0Y2guYzo4MTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTI2Cittc2dpZCAiIgorIklmIGl0IGRvZXMgbm90IGFwcGx5IGNsZWFubHksIHlvdSB3aWxsIGJlIGdpdmVuIGFuIG9wcG9ydHVuaXR5IHRvXG4iCisiZWRpdCBhZ2Fpbi4gIElmIGFsbCBsaW5lcyBvZiB0aGUgaHVuayBhcmUgcmVtb3ZlZCwgdGhlbiB0aGUgZWRpdCBpc1xuIgorImFib3J0ZWQgYW5kIHRoZSBodW5rIGlzIGxlZnQgdW5jaGFuZ2VkLlxuIgorbXNnc3RyICIiCisKKyM6IGFkZC1wYXRjaC5jOjg1MQorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBodW5rIGhlYWRlciIKK21zZ3N0ciAiIgorCisjOiBhZGQtcGF0Y2guYzo4OTUgYWRkLXBhdGNoLmM6MTI5NAorbXNnaWQgIidnaXQgYXBwbHkgLS1jYWNoZWQnIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSBbeS9uXQorIy4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCB0aGF0IGlucHV0IGF0IHRoaXMgcG9pbnQuCisjLiBDb25zaWRlciB0cmFuc2xhdGluZyAoc2F5aW5nICJubyIgZGlzY2FyZHMhKSBhcworIy4gKHNheWluZyAibiIgZm9yICJubyIgZGlzY2FyZHMhKSBpZiB0aGUgdHJhbnNsYXRpb24KKyMuIG9mIHRoZSB3b3JkICJubyIgZG9lcyBub3Qgc3RhcnQgd2l0aCBuLgorIy4KKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIFt5L25dCisjLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IHRoYXQgaW5wdXQKKyMuIGF0IHRoaXMgcG9pbnQuCisjLiBDb25zaWRlciB0cmFuc2xhdGluZyAoc2F5aW5nICJubyIgZGlzY2FyZHMhKSBhcworIy4gKHNheWluZyAibiIgZm9yICJubyIgZGlzY2FyZHMhKSBpZiB0aGUgdHJhbnNsYXRpb24KKyMuIG9mIHRoZSB3b3JkICJubyIgZG9lcyBub3Qgc3RhcnQgd2l0aCBuLgorIzogYWRkLXBhdGNoLmM6OTUyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIzOQorbXNnaWQgIiIKKyJZb3VyIGVkaXRlZCBodW5rIGRvZXMgbm90IGFwcGx5LiBFZGl0IGFnYWluIChzYXlpbmcgXCJub1wiIGRpc2NhcmRzISkgW3kvbl0/ICIKK21zZ3N0ciAiIgorCisjOiBhZGQtcGF0Y2guYzoxMDA5Cittc2dpZCAiIgorInkgLSBzdGFnZSB0aGlzIGh1bmtcbiIKKyJuIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVua1xuIgorInEgLSBxdWl0OyBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gc3RhZ2UgdGhpcyBhbmQgYWxsIHRoZSByZW1haW5pbmcgaHVua3NcbiIKKyJkIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVuayBub3IgYW55IG9mIHRoZSByZW1haW5pbmcgaHVua3NcbiIKK21zZ3N0ciAiIgorCisjOiBhZGQtcGF0Y2guYzoxMDE2Cittc2dpZCAiIgorImogLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgbmV4dCB1bmRlY2lkZWQgaHVua1xuIgorIkogLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgbmV4dCBodW5rXG4iCisiayAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBwcmV2aW91cyB1bmRlY2lkZWQgaHVua1xuIgorIksgLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgcHJldmlvdXMgaHVua1xuIgorImcgLSBzZWxlY3QgYSBodW5rIHRvIGdvIHRvXG4iCisiLyAtIHNlYXJjaCBmb3IgYSBodW5rIG1hdGNoaW5nIHRoZSBnaXZlbiByZWdleFxuIgorInMgLSBzcGxpdCB0aGUgY3VycmVudCBodW5rIGludG8gc21hbGxlciBodW5rc1xuIgorImUgLSBtYW51YWxseSBlZGl0IHRoZSBjdXJyZW50IGh1bmtcbiIKKyI/IC0gcHJpbnQgaGVscFxuIgorbXNnc3RyICIiCisKKyM6IGFkZC1wYXRjaC5jOjExMzcgYWRkLXBhdGNoLmM6MTE0NworbXNnaWQgIk5vIHByZXZpb3VzIGh1bmsiCittc2dzdHIgIiIKKworIzogYWRkLXBhdGNoLmM6MTE0MiBhZGQtcGF0Y2guYzoxMTUyCittc2dpZCAiTm8gbmV4dCBodW5rIgorbXNnc3RyICIiCisKKyM6IGFkZC1wYXRjaC5jOjExNTgKK21zZ2lkICJObyBvdGhlciBodW5rcyB0byBnb3RvIgorbXNnc3RyICIiCisKKyM6IGFkZC1wYXRjaC5jOjExNjkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTc3Cittc2dpZCAiZ28gdG8gd2hpY2ggaHVuayAoPHJldD4gdG8gc2VlIG1vcmUpPyAiCittc2dzdHIgIiIKKworIzogYWRkLXBhdGNoLmM6MTE3MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzkKK21zZ2lkICJnbyB0byB3aGljaCBodW5rPyAiCittc2dzdHIgIiIKKworIzogYWRkLXBhdGNoLmM6MTE4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG51bWJlcjogJyVzJyIKK21zZ3N0ciAiIgorCisjOiBhZGQtcGF0Y2guYzoxMTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNvcnJ5LCBvbmx5ICVkIGh1bmsgYXZhaWxhYmxlLiIKK21zZ2lkX3BsdXJhbCAiU29ycnksIG9ubHkgJWQgaHVua3MgYXZhaWxhYmxlLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGFkZC1wYXRjaC5jOjExOTUKK21zZ2lkICJObyBvdGhlciBodW5rcyB0byBzZWFyY2giCittc2dzdHIgIiIKKworIzogYWRkLXBhdGNoLmM6MTIwMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MjMKK21zZ2lkICJzZWFyY2ggZm9yIHJlZ2V4PyAiCittc2dzdHIgIiIKKworIzogYWRkLXBhdGNoLmM6MTIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJNYWxmb3JtZWQgc2VhcmNoIHJlZ2V4cCAlczogJXMiCittc2dzdHIgIiIKKworIzogYWRkLXBhdGNoLmM6MTIzMworbXNnaWQgIk5vIGh1bmsgbWF0Y2hlcyB0aGUgZ2l2ZW4gcGF0dGVybiIKK21zZ3N0ciAiIgorCisjOiBhZGQtcGF0Y2guYzoxMjQwCittc2dpZCAiU29ycnksIGNhbm5vdCBzcGxpdCB0aGlzIGh1bmsiCittc2dzdHIgIiIKKworIzogYWRkLXBhdGNoLmM6MTI0NAorIywgYy1mb3JtYXQKK21zZ2lkICJTcGxpdCBpbnRvICVkIGh1bmtzLiIKK21zZ3N0ciAiIgorCisjOiBhZGQtcGF0Y2guYzoxMjQ4Cittc2dpZCAiU29ycnksIGNhbm5vdCBlZGl0IHRoaXMgaHVuayIKK21zZ3N0ciAiIgorCisjOiBhZHZpY2UuYzoxMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNoaW50OiAlLipzJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBhZHZpY2UuYzoxNTIKKyM6IGFkdmljZS5jOjE2NAogbXNnaWQgIkNoZXJyeS1waWNraW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogCi0jOiBhZHZpY2UuYzoxNTQKKyM6IGFkdmljZS5jOjE2NgogbXNnaWQgIkNvbW1pdHRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICIiCiAKLSM6IGFkdmljZS5jOjE1NgorIzogYWR2aWNlLmM6MTY4CiBtc2dpZCAiTWVyZ2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIiIKIAotIzogYWR2aWNlLmM6MTU4CisjOiBhZHZpY2UuYzoxNzAKIG1zZ2lkICJQdWxsaW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogCi0jOiBhZHZpY2UuYzoxNjAKKyM6IGFkdmljZS5jOjE3MgogbXNnaWQgIlJldmVydGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIiIKIAotIzogYWR2aWNlLmM6MTYyCisjOiBhZHZpY2UuYzoxNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSXQgaXMgbm90IHBvc3NpYmxlIHRvICVzIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICIiCiAKLSM6IGFkdmljZS5jOjE3MAorIzogYWR2aWNlLmM6MTgyCiBtc2dpZCAiIgogIkZpeCB0aGVtIHVwIGluIHRoZSB3b3JrIHRyZWUsIGFuZCB0aGVuIHVzZSAnZ2l0IGFkZC9ybSA8ZmlsZT4nXG4iCiAiYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uIGFuZCBtYWtlIGEgY29tbWl0LiIKIG1zZ3N0ciAiIgogCi0jOiBhZHZpY2UuYzoxNzgKKyM6IGFkdmljZS5jOjE5MAogbXNnaWQgIkV4aXRpbmcgYmVjYXVzZSBvZiBhbiB1bnJlc29sdmVkIGNvbmZsaWN0LiIKIG1zZ3N0ciAiIgogCi0jOiBhZHZpY2UuYzoxODMgYnVpbHRpbi9tZXJnZS5jOjEyODkKKyM6IGFkdmljZS5jOjE5NSBidWlsdGluL21lcmdlLmM6MTMzMgogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiIgogCi0jOiBhZHZpY2UuYzoxODUKKyM6IGFkdmljZS5jOjE5NwogbXNnaWQgIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgbWVyZ2luZy4iCiBtc2dzdHIgIiIKIAotIzogYWR2aWNlLmM6MTg2CisjOiBhZHZpY2UuYzoxOTgKIG1zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgdW5maW5pc2hlZCBtZXJnZS4iCiBtc2dzdHIgIiIKIAotIzogYWR2aWNlLmM6MTkyCisjOiBhZHZpY2UuYzoyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgotIk5vdGU6IGNoZWNraW5nIG91dCAnJXMnLlxuIgorIk5vdGU6IHN3aXRjaGluZyB0byAnJXMnLlxuIgogIlxuIgogIllvdSBhcmUgaW4gJ2RldGFjaGVkIEhFQUQnIHN0YXRlLiBZb3UgY2FuIGxvb2sgYXJvdW5kLCBtYWtlIGV4cGVyaW1lbnRhbFxuIgogImNoYW5nZXMgYW5kIGNvbW1pdCB0aGVtLCBhbmQgeW91IGNhbiBkaXNjYXJkIGFueSBjb21taXRzIHlvdSBtYWtlIGluIHRoaXNcbiIKLSJzdGF0ZSB3aXRob3V0IGltcGFjdGluZyBhbnkgYnJhbmNoZXMgYnkgcGVyZm9ybWluZyBhbm90aGVyIGNoZWNrb3V0LlxuIgorInN0YXRlIHdpdGhvdXQgaW1wYWN0aW5nIGFueSBicmFuY2hlcyBieSBzd2l0Y2hpbmcgYmFjayB0byBhIGJyYW5jaC5cbiIKICJcbiIKICJJZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBuZXcgYnJhbmNoIHRvIHJldGFpbiBjb21taXRzIHlvdSBjcmVhdGUsIHlvdSBtYXlcbiIKLSJkbyBzbyAobm93IG9yIGxhdGVyKSBieSB1c2luZyAtYiB3aXRoIHRoZSBjaGVja291dCBjb21tYW5kIGFnYWluLiBFeGFtcGxlOlxuIgorImRvIHNvIChub3cgb3IgbGF0ZXIpIGJ5IHVzaW5nIC1jIHdpdGggdGhlIHN3aXRjaCBjb21tYW5kLiBFeGFtcGxlOlxuIgogIlxuIgotIiAgZ2l0IGNoZWNrb3V0IC1iIDxuZXctYnJhbmNoLW5hbWU+XG4iCisiICBnaXQgc3dpdGNoIC1jIDxuZXctYnJhbmNoLW5hbWU+XG4iCisiXG4iCisiT3IgdW5kbyB0aGlzIG9wZXJhdGlvbiB3aXRoOlxuIgorIlxuIgorIiAgZ2l0IHN3aXRjaCAtXG4iCisiXG4iCisiVHVybiBvZmYgdGhpcyBhZHZpY2UgYnkgc2V0dGluZyBjb25maWcgdmFyaWFibGUgYWR2aWNlLmRldGFjaGVkSGVhZCB0byAiCisiZmFsc2VcbiIKICJcbiIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjU5CisjOiBhbGlhcy5jOjUwCittc2dpZCAiY21kbGluZSBlbmRzIHdpdGggXFwiCittc2dzdHIgIiIKKworIzogYWxpYXMuYzo1MQorbXNnaWQgInVuY2xvc2VkIHF1b3RlIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo3NQorIzogYXBwbHkuYzo4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzoxMjUKKyM6IGFwcGx5LmM6MTM1CiBtc2dpZCAiLS1yZWplY3QgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzoxMjcKKyM6IGFwcGx5LmM6MTM3CiBtc2dpZCAiLS1jYWNoZWQgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzoxMzAKKyM6IGFwcGx5LmM6MTQwCiBtc2dpZCAiLS0zd2F5IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MTQxCisjOiBhcHBseS5jOjE1MQogbXNnaWQgIi0taW5kZXggb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzoxNDQKKyM6IGFwcGx5LmM6MTU0CiBtc2dpZCAiLS1jYWNoZWQgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo4MjYKKyM6IGFwcGx5LmM6ODAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBwcmVwYXJlIHRpbWVzdGFtcCByZWdleHAgJXMiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo4MzUKKyM6IGFwcGx5LmM6ODEwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZ2V4ZWMgcmV0dXJuZWQgJWQgZm9yIGlucHV0OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjkwOQorIzogYXBwbHkuYzo4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGZpbmQgZmlsZW5hbWUgaW4gcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjk0NworIzogYXBwbHkuYzo5MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwsIGdvdCAlcyBvbiBsaW5lICVkIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6OTUzCisjOiBhcHBseS5jOjkyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjk1NAorIzogYXBwbHkuYzo5MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo5NTkKKyM6IGFwcGx5LmM6OTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo5ODgKKyM6IGFwcGx5LmM6OTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbW9kZSBvbiBsaW5lICVkOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjEzMDcKKyM6IGFwcGx5LmM6MTI4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmNvbnNpc3RlbnQgaGVhZGVyIGxpbmVzICVkIGFuZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjE0NzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgotbXNnc3RyICIiCi0KLSM6IGFwcGx5LmM6MTU0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgotbXNnc3RyICIiCi0KLSM6IGFwcGx5LmM6MTU2OAorIzogYXBwbHkuYzoxMzcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKQEAgLTE4Miw1MjcgKzU4Miw1MjMgQEAKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGFwcGx5LmM6MTU4MQorIzogYXBwbHkuYzoxMzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAobGluZSAlZCkiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzoxNzY5CisjOiBhcHBseS5jOjE0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6MTU1MAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgorbXNnc3RyICIiCisKKyM6IGFwcGx5LmM6MTc1MwogbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MTc3MQorIzogYXBwbHkuYzoxNzU1CiBtc2dpZCAiZGVsZXRlZCBmaWxlIHN0aWxsIGhhcyBjb250ZW50cyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjE4MDUKKyM6IGFwcGx5LmM6MTc4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzoxODQyCisjOiBhcHBseS5jOjE4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzoxODQ0CisjOiBhcHBseS5jOjE4MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRlZCBmaWxlICVzIHN0aWxsIGhhcyBjb250ZW50cyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjE4NDcKKyM6IGFwcGx5LmM6MTgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIqKiB3YXJuaW5nOiBmaWxlICVzIGJlY29tZXMgZW1wdHkgYnV0IGlzIG5vdCBkZWxldGVkIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MTk5NAorIzogYXBwbHkuYzoxOTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzoyMDMxCisjOiBhcHBseS5jOjIwMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MjE5MworIzogYXBwbHkuYzoyMTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIHdpdGggb25seSBnYXJiYWdlIGF0IGxpbmUgJWQiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzoyMjc5CisjOiBhcHBseS5jOjIyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjIyODMKKyM6IGFwcGx5LmM6MjI2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiBvciByZWFkICVzIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6Mjk0MgorIzogYXBwbHkuYzoyOTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgc3RhcnQgb2YgbGluZTogJyVjJyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjMwNjMKKyM6IGFwcGx5LmM6MzA1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCiBtc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBhcHBseS5jOjMwNzUKKyM6IGFwcGx5LmM6MzA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzA4MQorIzogYXBwbHkuYzozMDc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuIgogIiUuKnMiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozMTAzCisjOiBhcHBseS5jOjMwOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjMxMTEKKyM6IGFwcGx5LmM6MzEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmV2ZXJzZS1hcHBseSBhIGJpbmFyeSBwYXRjaCB3aXRob3V0IHRoZSByZXZlcnNlIGh1bmsgdG8gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjMxNTgKKyM6IGFwcGx5LmM6MzE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgYXBwbHkgYmluYXJ5IHBhdGNoIHRvICclcycgd2l0aG91dCBmdWxsIGluZGV4IGxpbmUiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozMTY4CisjOiBhcHBseS5jOjMxNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInRoZSBwYXRjaCBhcHBsaWVzIHRvICclcycgKCVzKSwgd2hpY2ggZG9lcyBub3QgbWF0Y2ggdGhlIGN1cnJlbnQgY29udGVudHMuIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzE3NgorIzogYXBwbHkuYzozMTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBwYXRjaCBhcHBsaWVzIHRvIGFuIGVtcHR5ICclcycgYnV0IGl0IGlzIG5vdCBlbXB0eSIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjMxOTQKKyM6IGFwcGx5LmM6MzE4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgbmVjZXNzYXJ5IHBvc3RpbWFnZSAlcyBmb3IgJyVzJyBjYW5ub3QgYmUgcmVhZCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjMyMDcKKyM6IGFwcGx5LmM6MzIwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjMyMTMKKyM6IGFwcGx5LmM6MzIwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJiaW5hcnkgcGF0Y2ggdG8gJyVzJyBjcmVhdGVzIGluY29ycmVjdCByZXN1bHQgKGV4cGVjdGluZyAlcywgZ290ICVzKSIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjMyMzQKKyM6IGFwcGx5LmM6MzIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCBmYWlsZWQ6ICVzOiVsZCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjMzNTYKKyM6IGFwcGx5LmM6MzM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozNDA4IGFwcGx5LmM6MzQxOSBhcHBseS5jOjM0NjUgbWlkeC5jOjU4IHNldHVwLmM6Mjc4CisjOiBhcHBseS5jOjM0MDMgYXBwbHkuYzozNDE0IGFwcGx5LmM6MzQ2MCBtaWR4LmM6NjEgc2V0dXAuYzoyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXMiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozNDE2CisjOiBhcHBseS5jOjM0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZGluZyBmcm9tICclcycgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjM0NDUgYXBwbHkuYzozNjg4CisjOiBhcHBseS5jOjM0NDAgYXBwbHkuYzozNjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJXMgaGFzIGJlZW4gcmVuYW1lZC9kZWxldGVkIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzUzMSBhcHBseS5jOjM3MDMKKyM6IGFwcGx5LmM6MzUyNiBhcHBseS5jOjM2OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzU0MCBhcHBseS5jOjM3MTEKKyM6IGFwcGx5LmM6MzUzNSBhcHBseS5jOjM3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzU3NQorIzogYXBwbHkuYzozNTcwCiBtc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjM1NzgKKyM6IGFwcGx5LmM6MzU3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozNTk0IGFwcGx5LmM6MzU5OAorIzogYXBwbHkuYzozNTg5IGFwcGx5LmM6MzU5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgY3VycmVudCBjb250ZW50cyBvZiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzYxMAorIzogYXBwbHkuYzozNjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmYWxsIGJhY2sgb24gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozNjI0CisjOiBhcHBseS5jOjM2MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIHdpdGggY29uZmxpY3RzLlxuIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzYyOQorIzogYXBwbHkuYzozNjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyBjbGVhbmx5LlxuIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzY1NQorIzogYXBwbHkuYzozNjUwCiBtc2dpZCAicmVtb3ZhbCBwYXRjaCBsZWF2ZXMgZmlsZSBjb250ZW50cyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjM3MjgKKyM6IGFwcGx5LmM6MzcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogd3JvbmcgdHlwZSIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjM3MzAKKyM6IGFwcGx5LmM6MzcyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozODgxIGFwcGx5LmM6Mzg4MworIzogYXBwbHkuYzozODc2IGFwcGx5LmM6Mzg3OCByZWFkLWNhY2hlLmM6ODMwIHJlYWQtY2FjaGUuYzo4NTYKKyM6IHJlYWQtY2FjaGUuYzoxMzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6MzkzOQorIzogYXBwbHkuYzozOTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjM5NDIKKyM6IGFwcGx5LmM6MzkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzozOTYyCisjOiBhcHBseS5jOjM5NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6Mzk2NworIzogYXBwbHkuYzozOTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjM5ODcKKyM6IGFwcGx5LmM6Mzk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjM5OTEKKyM6IGFwcGx5LmM6Mzk4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0MDA2CisjOiBhcHBseS5jOjQwMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcGF0Y2ggJXMuLi4iCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0MDk4CisjOiBhcHBseS5jOjQwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQxMDUKKyM6IGFwcGx5LmM6NDEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJtb2RlIGNoYW5nZSBmb3IgJXMsIHdoaWNoIGlzIG5vdCBpbiBjdXJyZW50IEhFQUQiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0MTA4CisjOiBhcHBseS5jOjQxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgKCVzKS4iCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0MTEzIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDQgYnVpbHRpbi9yZXNldC5jOjE0MgotIywgYy1mb3JtYXQKLW1zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGFwcGx5LmM6NDExNworIzogYXBwbHkuYzo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhZGQgJXMgdG8gdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDEyNworIzogYXBwbHkuYzo0MTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggdG8gJXMiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0MjY1CisjOiBhcHBseS5jOjQyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDI5OQorIzogYXBwbHkuYzo0Mjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQzMDUKKyM6IGFwcGx5LmM6NDMwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhdCBuZXdseSBjcmVhdGVkIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQzMTMKKyM6IGFwcGx5LmM6NDMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGJhY2tpbmcgc3RvcmUgZm9yIG5ld2x5IGNyZWF0ZWQgZmlsZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQzMTkgYXBwbHkuYzo0NDY0CisjOiBhcHBseS5jOjQzMTQgYXBwbHkuYzo0NDU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhZGQgY2FjaGUgZW50cnkgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDM2MgorIzogYXBwbHkuYzo0MzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB3cml0ZSB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDM2NgorIzogYXBwbHkuYzo0MzYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb3NpbmcgZmlsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDQzNgorIzogYXBwbHkuYzo0NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ1MzQKKyM6IGFwcGx5LmM6NDUyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDU0MgorIzogYXBwbHkuYzo0NTM3CiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0NTQ1CisjOiBhcHBseS5jOjQ1NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0Li4uIgogbXNnaWRfcGx1cmFsICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3RzLi4uIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYXBwbHkuYzo0NTU2CisjOiBhcHBseS5jOjQ1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJ1bmNhdGluZyAucmVqIGZpbGVuYW1lIHRvICUuKnMucmVqIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDU2NCBidWlsdGluL2ZldGNoLmM6ODQzIGJ1aWx0aW4vZmV0Y2guYzoxMTIyCisjOiBhcHBseS5jOjQ1NTkgYnVpbHRpbi9mZXRjaC5jOjkwMSBidWlsdGluL2ZldGNoLmM6MTE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ1NzgKKyM6IGFwcGx5LmM6NDU3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJIdW5rICMlZCBhcHBsaWVkIGNsZWFubHkuIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDU4MgorIzogYXBwbHkuYzo0NTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlamVjdGVkIGh1bmsgIyVkLiIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ2OTIKKyM6IGFwcGx5LmM6NDY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGVkIHBhdGNoICclcycuIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDcwMAorIzogYXBwbHkuYzo0NzA0CiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDcxOQorIzogYXBwbHkuYzo0NzI0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ4NzQKKyM6IGFwcGx5LmM6NDg4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW4ndCBvcGVuIHBhdGNoICclcyc6ICVzIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDkwMQorIzogYXBwbHkuYzo0OTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgogbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBhcHBseS5jOjQ5MDcgYXBwbHkuYzo0OTIyCisjOiBhcHBseS5jOjQ5MTQgYXBwbHkuYzo0OTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkIGxpbmUgYWRkcyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFkZCB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBhcHBseS5jOjQ5MTUKKyM6IGFwcGx5LmM6NDkyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYXBwbHkuYzo0OTMxIGJ1aWx0aW4vYWRkLmM6NTM4IGJ1aWx0aW4vbXYuYzozMDAgYnVpbHRpbi9ybS5jOjM4OQorIzogYXBwbHkuYzo0OTM4IGJ1aWx0aW4vYWRkLmM6NTc5IGJ1aWx0aW4vbXYuYzozMDEgYnVpbHRpbi9ybS5jOjM5MAogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5NTggYXBwbHkuYzo0OTYxIGJ1aWx0aW4vYW0uYzoyMjA5IGJ1aWx0aW4vYW0uYzoyMjEyCi0jOiBidWlsdGluL2Nsb25lLmM6MTIxIGJ1aWx0aW4vZmV0Y2guYzoxMTggYnVpbHRpbi9tZXJnZS5jOjI2MgotIzogYnVpbHRpbi9wdWxsLmM6MTk5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDYKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzYyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzY1Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg0NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg0OQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwODggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKLW1zZ2lkICJwYXRoIgotbXNnc3RyICIiCi0KLSM6IGFwcGx5LmM6NDk1OQorIzogYXBwbHkuYzo0OTY2CiBtc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5NjIKKyM6IGFwcGx5LmM6NDk2OQogbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTY0IGJ1aWx0aW4vYW0uYzoyMjE4CisjOiBhcHBseS5jOjQ5NzEgYnVpbHRpbi9hbS5jOjIyMDYKIG1zZ2lkICJudW0iCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTY1CisjOiBhcHBseS5jOjQ5NzIKIG1zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5NjgKKyM6IGFwcGx5LmM6NDk3NQogbXNnaWQgImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTcwCisjOiBhcHBseS5jOjQ5NzcKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGRpZmZzdGF0IGZvciB0aGUgaW5wdXQiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTc0CisjOiBhcHBseS5jOjQ5ODEKIG1zZ2lkICJzaG93IG51bWJlciBvZiBhZGRlZCBhbmQgZGVsZXRlZCBsaW5lcyBpbiBkZWNpbWFsIG5vdGF0aW9uIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NDk3NgorIzogYXBwbHkuYzo0OTgzCiBtc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBhIHN1bW1hcnkgZm9yIHRoZSBpbnB1dCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5NzgKKyM6IGFwcGx5LmM6NDk4NQogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTgwCisjOiBhcHBseS5jOjQ5ODcKIG1zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTgyCisjOiBhcHBseS5jOjQ5ODkKIG1zZ2lkICJtYXJrIG5ldyBmaWxlcyB3aXRoIGBnaXQgYWRkIC0taW50ZW50LXRvLWFkZGAiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTg0CisjOiBhcHBseS5jOjQ5OTEKIG1zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5ODYKKyM6IGFwcGx5LmM6NDk5MwogbXNnaWQgImFjY2VwdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBvdXRzaWRlIHRoZSB3b3JraW5nIGFyZWEiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTg5CisjOiBhcHBseS5jOjQ5OTYKIG1zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5OTEKKyM6IGFwcGx5LmM6NDk5OAogbXNnaWQgImF0dGVtcHQgdGhyZWUtd2F5IG1lcmdlIGlmIGEgcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTkzCisjOiBhcHBseS5jOjUwMDAKIG1zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjQ5OTYgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MCBidWlsdGluL2xzLWZpbGVzLmM6NTIzCisjOiBhcHBseS5jOjUwMDMgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MyBidWlsdGluL2xzLWZpbGVzLmM6NTI0CiBtc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTk4CisjOiBhcHBseS5jOjUwMDUKIG1zZ2lkICJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo0OTk5IGJ1aWx0aW4vYW0uYzoyMTk3IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTcKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTkgYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDEKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxMiBidWlsdGluL3JlYmFzZS5jOjg1NworIzogYXBwbHkuYzo1MDA2IGJ1aWx0aW4vYW0uYzoyMTg1IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTgKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAwIGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTAgYnVpbHRpbi9yZWJhc2UuYzoxNDc0CiBtc2dpZCAiYWN0aW9uIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NTAwMAorIzogYXBwbHkuYzo1MDA3CiBtc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo1MDAzIGFwcGx5LmM6NTAwNgorIzogYXBwbHkuYzo1MDEwIGFwcGx5LmM6NTAxMwogbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2Ugd2hlbiBmaW5kaW5nIGNvbnRleHQiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo1MDA5CisjOiBhcHBseS5jOjUwMTYKIG1zZ2lkICJhcHBseSB0aGUgcGF0Y2ggaW4gcmV2ZXJzZSIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjUwMTEKKyM6IGFwcGx5LmM6NTAxOAogbXNnaWQgImRvbid0IGV4cGVjdCBhdCBsZWFzdCBvbmUgbGluZSBvZiBjb250ZXh0IgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NTAxMworIzogYXBwbHkuYzo1MDIwCiBtc2dpZCAibGVhdmUgdGhlIHJlamVjdGVkIGh1bmtzIGluIGNvcnJlc3BvbmRpbmcgKi5yZWogZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYXBwbHkuYzo1MDE1CisjOiBhcHBseS5jOjUwMjIKIG1zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjUwMTYgYnVpbHRpbi9hZGQuYzoyOTAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMQotIzogYnVpbHRpbi9jb21taXQuYzoxMzA5IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk4IGJ1aWx0aW4vZnNjay5jOjY5OAotIzogYnVpbHRpbi9sb2cuYzoyMDIzIGJ1aWx0aW4vbXYuYzoxMjIgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjcKLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1NworIzogYXBwbHkuYzo1MDIzIGJ1aWx0aW4vYWRkLmM6MzA5IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NSBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5OCBidWlsdGluL2ZzY2suYzo3NzQKKyM6IGJ1aWx0aW4vbG9nLmM6MjE2NiBidWlsdGluL212LmM6MTIzIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI4CiBtc2dpZCAiYmUgdmVyYm9zZSIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjUwMTgKKyM6IGFwcGx5LmM6NTAyNQogbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NTAyMQorIzogYXBwbHkuYzo1MDI4CiBtc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgogbXNnc3RyICIiCiAKLSM6IGFwcGx5LmM6NTAyMyBidWlsdGluL2FtLmM6MjIwNgorIzogYXBwbHkuYzo1MDMwIGJ1aWx0aW4vYW0uYzoyMTk0CiBtc2dpZCAicm9vdCIKIG1zZ3N0ciAiIgogCi0jOiBhcHBseS5jOjUwMjQKKyM6IGFwcGx5LmM6NTAzMQogbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCiBtc2dzdHIgIiIKIApAQCAtNzIzLDE0OCArMTExOSwxNjggQEAKIG1zZ2lkICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8cmVwbz4gWy0tZXhlYyA8Y21kPl0gLS1saXN0IgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzozNzAgYnVpbHRpbi9hZGQuYzoxNzYgYnVpbHRpbi9hZGQuYzo1MTQgYnVpbHRpbi9ybS5jOjI5OAorIzogYXJjaGl2ZS5jOjM3MiBidWlsdGluL2FkZC5jOjE4MCBidWlsdGluL2FkZC5jOjU1NSBidWlsdGluL3JtLmM6Mjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjQ1MworIzogYXJjaGl2ZS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlZjogJS4qcyIKK21zZ3N0ciAiIgorCisjOiBhcmNoaXZlLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAlcyIKK21zZ3N0ciAiIgorCisjOiBhcmNoaXZlLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHRyZWUgb2JqZWN0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBhcmNoaXZlLmM6NDI2Cittc2dpZCAiY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBpcyB1bnRyYWNrZWQiCittc2dzdHIgIiIKKworIzogYXJjaGl2ZS5jOjQ1NwogbXNnaWQgImZtdCIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDUzCisjOiBhcmNoaXZlLmM6NDU3CiBtc2dpZCAiYXJjaGl2ZSBmb3JtYXQiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjQ1NCBidWlsdGluL2xvZy5jOjE1MzYKKyM6IGFyY2hpdmUuYzo0NTggYnVpbHRpbi9sb2cuYzoxNjUzCiBtc2dpZCAicHJlZml4IgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzo0NTUKKyM6IGFyY2hpdmUuYzo0NTkKIG1zZ2lkICJwcmVwZW5kIHByZWZpeCB0byBlYWNoIHBhdGhuYW1lIGluIHRoZSBhcmNoaXZlIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzo0NTYgYnVpbHRpbi9ibGFtZS5jOjgyMCBidWlsdGluL2JsYW1lLmM6ODIxIGJ1aWx0aW4vY29uZmlnLmM6MTI5Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxMyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxNSBidWlsdGluL2dyZXAuYzo4ODQKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDQgYnVpbHRpbi9scy1maWxlcy5jOjU1OSBidWlsdGluL2xzLWZpbGVzLmM6NTYyCi0jOiBidWlsdGluL25vdGVzLmM6NDEyIGJ1aWx0aW4vbm90ZXMuYzo1NzUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjIKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNjIKKyM6IGFyY2hpdmUuYzo0NjAgYnVpbHRpbi9ibGFtZS5jOjg2MSBidWlsdGluL2JsYW1lLmM6ODY1IGJ1aWx0aW4vYmxhbWUuYzo4NjYKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTcgYnVpbHRpbi9jb25maWcuYzoxMjkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY0IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY4IGJ1aWx0aW4vZ3JlcC5jOjg5OQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwNSBidWlsdGluL2xzLWZpbGVzLmM6NTYwIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTIgYnVpbHRpbi9ub3Rlcy5jOjU3OCBidWlsdGluL3JlYWQtdHJlZS5jOjEyMworIzogcGFyc2Utb3B0aW9ucy5oOjE5MAogbXNnaWQgImZpbGUiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjQ1NyBidWlsdGluL2FyY2hpdmUuYzo4OQorIzogYXJjaGl2ZS5jOjQ2MSBidWlsdGluL2FyY2hpdmUuYzo5MAogbXNnaWQgIndyaXRlIHRoZSBhcmNoaXZlIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDU5CisjOiBhcmNoaXZlLmM6NDYzCiBtc2dpZCAicmVhZCAuZ2l0YXR0cmlidXRlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDYwCisjOiBhcmNoaXZlLmM6NDY0CiBtc2dpZCAicmVwb3J0IGFyY2hpdmVkIGZpbGVzIG9uIHN0ZGVyciIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDYxCisjOiBhcmNoaXZlLmM6NDY1CiBtc2dpZCAic3RvcmUgb25seSIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDYyCisjOiBhcmNoaXZlLmM6NDY2CiBtc2dpZCAiY29tcHJlc3MgZmFzdGVyIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzo0NzAKKyM6IGFyY2hpdmUuYzo0NzQKIG1zZ2lkICJjb21wcmVzcyBiZXR0ZXIiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjQ3MworIzogYXJjaGl2ZS5jOjQ3NwogbXNnaWQgImxpc3Qgc3VwcG9ydGVkIGFyY2hpdmUgZm9ybWF0cyIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDc1IGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9jbG9uZS5jOjExNAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTUKKyM6IGFyY2hpdmUuYzo0NzkgYnVpbHRpbi9hcmNoaXZlLmM6OTEgYnVpbHRpbi9jbG9uZS5jOjExMyBidWlsdGluL2Nsb25lLmM6MTE2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NAogbXNnaWQgInJlcG8iCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjQ3NiBidWlsdGluL2FyY2hpdmUuYzo5MQorIzogYXJjaGl2ZS5jOjQ4MCBidWlsdGluL2FyY2hpdmUuYzo5MgogbXNnaWQgInJldHJpZXZlIHRoZSBhcmNoaXZlIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkgPHJlcG8+IgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzo0NzcgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9kaWZmdG9vbC5jOjcxNAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ5NgorIzogYXJjaGl2ZS5jOjQ4MSBidWlsdGluL2FyY2hpdmUuYzo5MyBidWlsdGluL2RpZmZ0b29sLmM6NzE1CisjOiBidWlsdGluL25vdGVzLmM6NDk4CiBtc2dpZCAiY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDc4IGJ1aWx0aW4vYXJjaGl2ZS5jOjkzCisjOiBhcmNoaXZlLmM6NDgyIGJ1aWx0aW4vYXJjaGl2ZS5jOjk0CiBtc2dpZCAicGF0aCB0byB0aGUgcmVtb3RlIGdpdC11cGxvYWQtYXJjaGl2ZSBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzo0ODUKKyM6IGFyY2hpdmUuYzo0ODkKIG1zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLXJlbW90ZSIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLmM6NDg3CisjOiBhcmNoaXZlLmM6NDkxCiBtc2dpZCAiT3B0aW9uIC0tZXhlYyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1yZW1vdGUiCiBtc2dzdHIgIiIKIAotIzogYXJjaGl2ZS5jOjQ4OQorIzogYXJjaGl2ZS5jOjQ5MwogbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzo1MTEKKyM6IGFyY2hpdmUuYzo1MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBhcmNoaXZlIGZvcm1hdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUuYzo1MTgKKyM6IGFyY2hpdmUuYzo1MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXJndW1lbnQgbm90IHN1cHBvcnRlZCBmb3IgZm9ybWF0ICclcyc6IC0lZCIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLXRhci5jOjEyNSBhcmNoaXZlLXppcC5jOjM0NQorIzogYXJjaGl2ZS10YXIuYzoxMjUgYXJjaGl2ZS16aXAuYzozNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0cmVhbSBibG9iICVzIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUtdGFyLmM6MjYwIGFyY2hpdmUtemlwLmM6MzYzCisjOiBhcmNoaXZlLXRhci5jOjI2NiBhcmNoaXZlLXppcC5jOjM2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlIG1vZGU6IDAlbyAoU0hBMTogJXMpIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUtdGFyLmM6Mjg3IGFyY2hpdmUtemlwLmM6MzUzCisjOiBhcmNoaXZlLXRhci5jOjI5MyBhcmNoaXZlLXppcC5jOjM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLXRhci5jOjQ1OAorIzogYXJjaGl2ZS10YXIuYzo0NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXJ0ICclcycgZmlsdGVyIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUtdGFyLmM6NDYxCisjOiBhcmNoaXZlLXRhci5jOjQ2OAogbXNnaWQgInVuYWJsZSB0byByZWRpcmVjdCBkZXNjcmlwdG9yIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUtdGFyLmM6NDY4CisjOiBhcmNoaXZlLXRhci5jOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGZpbHRlciByZXBvcnRlZCBlcnJvciIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLXppcC5jOjMxNAorIzogYXJjaGl2ZS16aXAuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCBpcyBub3QgdmFsaWQgVVRGLTg6ICVzIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUtemlwLmM6MzE4CisjOiBhcmNoaXZlLXppcC5jOjMyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoIHRvbyBsb25nICglZCBjaGFycywgU0hBMTogJXMpOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBhcmNoaXZlLXppcC5jOjQ3NCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIyNCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIyNworIzogYXJjaGl2ZS16aXAuYzo0NzkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICIiCiAKLSM6IGFyY2hpdmUtemlwLmM6NjA5CisjOiBhcmNoaXZlLXppcC5jOjYxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aW1lc3RhbXAgdG9vIGxhcmdlIGZvciB0aGlzIHN5c3RlbTogJTxQUkl1TUFYPiIKIG1zZ3N0ciAiIgpAQCAtODc0LDYgKzEyOTAsMTEgQEAKIG1zZ2lkICIlLipzIGlzIG5vdCBhIHZhbGlkIGF0dHJpYnV0ZSBuYW1lIgogbXNnc3RyICIiCiAKKyM6IGF0dHIuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFsbG93ZWQ6ICVzOiVkIgorbXNnc3RyICIiCisKICM6IGF0dHIuYzo0MDkKIG1zZ2lkICIiCiAiTmVnYXRpdmUgcGF0dGVybnMgYXJlIGlnbm9yZWQgaW4gZ2l0IGF0dHJpYnV0ZXNcbiIKQEAgLTg4NSwzOCArMTMwNiwzOCBAQAogbXNnaWQgIkJhZGx5IHF1b3RlZCBjb250ZW50IGluIGZpbGUgJyVzJzogJXMiCiBtc2dzdHIgIiIKIAotIzogYmlzZWN0LmM6Njc2CisjOiBiaXNlY3QuYzo2NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2UgY2Fubm90IGJpc2VjdCBtb3JlIVxuIgogbXNnc3RyICIiCiAKLSM6IGJpc2VjdC5jOjczMAorIzogYmlzZWN0LmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIGNvbW1pdCBuYW1lICVzIgogbXNnc3RyICIiCiAKLSM6IGJpc2VjdC5jOjc1NAorIzogYmlzZWN0LmM6NzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbWVyZ2UgYmFzZSAlcyBpcyBiYWQuXG4iCiAiVGhpcyBtZWFucyB0aGUgYnVnIGhhcyBiZWVuIGZpeGVkIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCiBtc2dzdHIgIiIKIAotIzogYmlzZWN0LmM6NzU5CisjOiBiaXNlY3QuYzo3NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBtZXJnZSBiYXNlICVzIGlzIG5ldy5cbiIKICJUaGUgcHJvcGVydHkgaGFzIGNoYW5nZWQgYmV0d2VlbiAlcyBhbmQgWyVzXS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBiaXNlY3QuYzo3NjQKKyM6IGJpc2VjdC5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIG1lcmdlIGJhc2UgJXMgaXMgJXMuXG4iCiAiVGhpcyBtZWFucyB0aGUgZmlyc3QgJyVzJyBjb21taXQgaXMgYmV0d2VlbiAlcyBhbmQgWyVzXS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBiaXNlY3QuYzo3NzIKKyM6IGJpc2VjdC5jOjc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU29tZSAlcyByZXZzIGFyZSBub3QgYW5jZXN0b3JzIG9mIHRoZSAlcyByZXYuXG4iCkBAIC05MjQsNyArMTM0NSw3IEBACiAiTWF5YmUgeW91IG1pc3Rvb2sgJXMgYW5kICVzIHJldnM/XG4iCiBtc2dzdHIgIiIKIAotIzogYmlzZWN0LmM6Nzg1CisjOiBiaXNlY3QuYzo3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInRoZSBtZXJnZSBiYXNlIGJldHdlZW4gJXMgYW5kIFslc10gbXVzdCBiZSBza2lwcGVkLlxuIgpAQCAtOTMyLDIyICsxMzUzLDIyIEBACiAiV2UgY29udGludWUgYW55d2F5LiIKIG1zZ3N0ciAiIgogCi0jOiBiaXNlY3QuYzo4MTgKKyM6IGJpc2VjdC5jOjgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJCaXNlY3Rpbmc6IGEgbWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZFxuIgogbXNnc3RyICIiCiAKLSM6IGJpc2VjdC5jOjg1OAorIzogYmlzZWN0LmM6ODY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImEgJXMgcmV2aXNpb24gaXMgbmVlZGVkIgogbXNnc3RyICIiCiAKLSM6IGJpc2VjdC5jOjg3NyBidWlsdGluL25vdGVzLmM6MTc3IGJ1aWx0aW4vdGFnLmM6MjM3CisjOiBiaXNlY3QuYzo4ODQgYnVpbHRpbi9ub3Rlcy5jOjE3NyBidWlsdGluL3RhZy5jOjI1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBiaXNlY3QuYzo5MjggYnVpbHRpbi9tZXJnZS5jOjEzOAorIzogYmlzZWN0LmM6OTI4IGJ1aWx0aW4vbWVyZ2UuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgZmlsZSAnJXMnIgogbXNnc3RyICIiCkBAIC05ODUsNDIgKzE0MDYsNDIgQEAKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJsYW1lLmM6MTc4NworIzogYmxhbWUuYzoyNzAwCiBtc2dpZCAiLS1jb250ZW50cyBhbmQgLS1yZXZlcnNlIGRvIG5vdCBibGVuZCB3ZWxsLiIKIG1zZ3N0ciAiIgogCi0jOiBibGFtZS5jOjE4MDEKKyM6IGJsYW1lLmM6MjcxNAogbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBibGFtZS5jOjE4MjIKKyM6IGJsYW1lLmM6MjczNQogbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBibGFtZS5jOjE4MzEgYnVuZGxlLmM6MTYyIHJlZi1maWx0ZXIuYzoyMDQ2IHNlcXVlbmNlci5jOjE5NjMKLSM6IHNlcXVlbmNlci5jOjQwMDIgYnVpbHRpbi9jb21taXQuYzoxMDAxIGJ1aWx0aW4vbG9nLmM6Mzc3IGJ1aWx0aW4vbG9nLmM6OTMyCi0jOiBidWlsdGluL2xvZy5jOjE0MDcgYnVpbHRpbi9sb2cuYzoxNzgzIGJ1aWx0aW4vbG9nLmM6MjA3MiBidWlsdGluL21lcmdlLmM6NDA2Ci0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMzcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTUyCisjOiBibGFtZS5jOjI3NDQgYnVuZGxlLmM6MTY3IHJlZi1maWx0ZXIuYzoyMjAzIHJlbW90ZS5jOjE5NDEgc2VxdWVuY2VyLmM6MjA5MworIzogc2VxdWVuY2VyLmM6NDQ2MCBidWlsdGluL2NvbW1pdC5jOjEwNDAgYnVpbHRpbi9sb2cuYzozODggYnVpbHRpbi9sb2cuYzo5OTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTUyMCBidWlsdGluL2xvZy5jOjE5MjUgYnVpbHRpbi9sb2cuYzoyMjE1IGJ1aWx0aW4vbWVyZ2UuYzo0MTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzEyOCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxNDMKICM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxOTIKIG1zZ2lkICJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBibGFtZS5jOjE4NDkKKyM6IGJsYW1lLmM6Mjc2MgogbXNnaWQgIiIKICItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSByYW5nZSBhbG9uZyBmaXJzdC1wYXJlbnQgY2hhaW4iCiBtc2dzdHIgIiIKIAotIzogYmxhbWUuYzoxODYwCisjOiBibGFtZS5jOjI3NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBwYXRoICVzIGluICVzIgogbXNnc3RyICIiCiAKLSM6IGJsYW1lLmM6MTg3MQorIzogYmxhbWUuYzoyNzg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGJsb2IgJXMgZm9yIHBhdGggJXMiCiBtc2dzdHIgIiIKIAotIzogYnJhbmNoLmM6NTIKKyM6IGJyYW5jaC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTEwMjksODUgKzE0NTAsODUgQEAKICJcImdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG89JXMlcyVzXCIuIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjY2CisjOiBicmFuY2guYzo2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3Qgc2V0dGluZyBicmFuY2ggJXMgYXMgaXRzIG93biB1cHN0cmVhbS4iCiBtc2dzdHIgIiIKIAotIzogYnJhbmNoLmM6OTIKKyM6IGJyYW5jaC5jOjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgYnJhbmNoICclcycgZnJvbSAnJXMnIGJ5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiIgogCi0jOiBicmFuY2guYzo5MworIzogYnJhbmNoLmM6OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJyVzJyBmcm9tICclcycuIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjk3CisjOiBicmFuY2guYzo5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgYnJhbmNoICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjk4CisjOiBicmFuY2guYzo5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgYnJhbmNoICclcycuIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjEwMworIzogYnJhbmNoLmM6MTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgcmVmICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjEwNAorIzogYnJhbmNoLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgcmVmICclcycuIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjEwOAorIzogYnJhbmNoLmM6MTA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayBsb2NhbCByZWYgJyVzJyBieSByZWJhc2luZy4iCiBtc2dzdHIgIiIKIAotIzogYnJhbmNoLmM6MTA5CisjOiBicmFuY2guYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIHJlZiAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiBicmFuY2guYzoxMTgKKyM6IGJyYW5jaC5jOjExOQogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB1cHN0cmVhbSBicmFuY2ggY29uZmlndXJhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBicmFuY2guYzoxNTUKKyM6IGJyYW5jaC5jOjE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgdHJhY2tpbmc6IGFtYmlndW91cyBpbmZvcm1hdGlvbiBmb3IgcmVmICVzIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjE4OAorIzogYnJhbmNoLmM6MTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgYnJhbmNoIG5hbWUuIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjIwNworIzogYnJhbmNoLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkEgYnJhbmNoIG5hbWVkICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjIxMgorIzogYnJhbmNoLmM6MjEzCiBtc2dpZCAiQ2Fubm90IGZvcmNlIHVwZGF0ZSB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjIzMgorIzogYnJhbmNoLmM6MjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzZXR1cCB0cmFja2luZyBpbmZvcm1hdGlvbjsgc3RhcnRpbmcgcG9pbnQgJyVzJyBpcyBub3QgYSBicmFuY2guIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjIzNAorIzogYnJhbmNoLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSByZXF1ZXN0ZWQgdXBzdHJlYW0gYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIiIKIAotIzogYnJhbmNoLmM6MjM2CisjOiBicmFuY2guYzoyMzcKIG1zZ2lkICIiCiAiXG4iCiAiSWYgeW91IGFyZSBwbGFubmluZyBvbiBiYXNpbmcgeW91ciB3b3JrIG9uIGFuIHVwc3RyZWFtXG4iCkBAIC0xMTE5LDI3ICsxNTQwLDI3IEBACiAiXCJnaXQgcHVzaCAtdVwiIHRvIHNldCB0aGUgdXBzdHJlYW0gY29uZmlnIGFzIHlvdSBwdXNoLiIKIG1zZ3N0ciAiIgogCi0jOiBicmFuY2guYzoyNzkKKyM6IGJyYW5jaC5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogYnJhbmNoLmM6Mjk5CisjOiBicmFuY2guYzozMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQW1iaWd1b3VzIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiBicmFuY2guYzozMDQKKyM6IGJyYW5jaC5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjM1OAorIzogYnJhbmNoLmM6MzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBjaGVja2VkIG91dCBhdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJyYW5jaC5jOjM4MQorIzogYnJhbmNoLmM6Mzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgb2Ygd29ya2luZyB0cmVlICVzIGlzIG5vdCB1cGRhdGVkIgogbXNnc3RyICIiCkBAIC0xMTU0LDcwICsxNTc1LDc0IEBACiBtc2dpZCAidW5yZWNvZ25pemVkIGhlYWRlcjogJXMlcyAoJWQpIgogbXNnc3RyICIiCiAKLSM6IGJ1bmRsZS5jOjkwIHJlcmVyZS5jOjQ4MCByZXJlcmUuYzo2OTAgc2VxdWVuY2VyLmM6MjE4MiBzZXF1ZW5jZXIuYzoyNzIyCi0jOiBidWlsdGluL2NvbW1pdC5jOjc3NAorIzogYnVuZGxlLmM6OTAgcmVyZXJlLmM6NDgwIHJlcmVyZS5jOjY5MCBzZXF1ZW5jZXIuYzoyMzQ0IHNlcXVlbmNlci5jOjMxMDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVuZGxlLmM6MTQxCisjOiBidW5kbGUuYzoxNDMKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIHRoZXNlIHByZXJlcXVpc2l0ZSBjb21taXRzOiIKIG1zZ3N0ciAiIgogCi0jOiBidW5kbGUuYzoxOTIKKyM6IGJ1bmRsZS5jOjE0NgorbXNnaWQgIm5lZWQgYSByZXBvc2l0b3J5IHRvIHZlcmlmeSBhIGJ1bmRsZSIKK21zZ3N0ciAiIgorCisjOiBidW5kbGUuYzoxOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGJ1bmRsZSBjb250YWlucyB0aGlzIHJlZjoiCiBtc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgY29udGFpbnMgdGhlc2UgJWQgcmVmczoiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidW5kbGUuYzoxOTkKKyM6IGJ1bmRsZS5jOjIwNAogbXNnaWQgIlRoZSBidW5kbGUgcmVjb3JkcyBhIGNvbXBsZXRlIGhpc3RvcnkuIgogbXNnc3RyICIiCiAKLSM6IGJ1bmRsZS5jOjIwMQorIzogYnVuZGxlLmM6MjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhpcyByZWY6IgogbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoZXNlICVkIHJlZnM6IgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogYnVuZGxlLmM6MjY3CisjOiBidW5kbGUuYzoyNzMKIG1zZ2lkICJ1bmFibGUgdG8gZHVwIGJ1bmRsZSBkZXNjcmlwdG9yIgogbXNnc3RyICIiCiAKLSM6IGJ1bmRsZS5jOjI3NAorIzogYnVuZGxlLmM6MjgwCiBtc2dpZCAiQ291bGQgbm90IHNwYXduIHBhY2stb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidW5kbGUuYzoyODUKKyM6IGJ1bmRsZS5jOjI5MQogbXNnaWQgInBhY2stb2JqZWN0cyBkaWVkIgogbXNnc3RyICIiCiAKLSM6IGJ1bmRsZS5jOjMyNworIzogYnVuZGxlLmM6MzMzCiBtc2dpZCAicmV2LWxpc3QgZGllZCIKIG1zZ3N0ciAiIgogCi0jOiBidW5kbGUuYzozNzYKKyM6IGJ1bmRsZS5jOjM4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidW5kbGUuYzo0NTYgYnVpbHRpbi9sb2cuYzoxOTIgYnVpbHRpbi9sb2cuYzoxNjg4IGJ1aWx0aW4vc2hvcnRsb2cuYzozMDQKKyM6IGJ1bmRsZS5jOjQ2MSBidWlsdGluL2xvZy5jOjIwMyBidWlsdGluL2xvZy5jOjE4MTQgYnVpbHRpbi9zaG9ydGxvZy5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYXJndW1lbnQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1bmRsZS5jOjQ2NAorIzogYnVuZGxlLmM6NDY5CiBtc2dpZCAiUmVmdXNpbmcgdG8gY3JlYXRlIGVtcHR5IGJ1bmRsZS4iCiBtc2dzdHIgIiIKIAotIzogYnVuZGxlLmM6NDc0CisjOiBidW5kbGUuYzo0NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1bmRsZS5jOjQ5OAorIzogYnVuZGxlLmM6NTA0CiBtc2dpZCAiaW5kZXgtcGFjayBkaWVkIgogbXNnc3RyICIiCiAKQEAgLTEyMjYsMTQgKzE2NTEsMTMgQEAKIG1zZ2lkICJpbnZhbGlkIGNvbG9yIHZhbHVlOiAlLipzIgogbXNnc3RyICIiCiAKLSM6IGNvbW1pdC5jOjUwIHNlcXVlbmNlci5jOjI1MjggYnVpbHRpbi9hbS5jOjM3MCBidWlsdGluL2FtLmM6NDE0Ci0jOiBidWlsdGluL2FtLmM6MTM5MCBidWlsdGluL2FtLmM6MjAyNSBidWlsdGluL3JlcGxhY2UuYzozNzYKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0OAorIzogY29tbWl0LmM6NTEgc2VxdWVuY2VyLmM6MjgxMSBidWlsdGluL2FtLmM6MzU0IGJ1aWx0aW4vYW0uYzozOTgKKyM6IGJ1aWx0aW4vYW0uYzoxMzY2IGJ1aWx0aW4vYW0uYzoyMDA5IGJ1aWx0aW4vcmVwbGFjZS5jOjQ1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMiCiBtc2dzdHIgIiIKIAotIzogY29tbWl0LmM6NTIKKyM6IGNvbW1pdC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzICVzIGlzIG5vdCBhIGNvbW1pdCEiCiBtc2dzdHIgIiIKQEAgLTEyNTAsMTIyICsxNjc0LDI4OSBAQAogIlwiZ2l0IGNvbmZpZyBhZHZpY2UuZ3JhZnRGaWxlRGVwcmVjYXRlZCBmYWxzZVwiIgogbXNnc3RyICIiCiAKLSM6IGNvbW1pdC5jOjExMTUKKyM6IGNvbW1pdC5jOjExNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSwgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAiIgogCi0jOiBjb21taXQuYzoxMTE4CisjOiBjb21taXQuYzoxMTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBiYWQgR1BHIHNpZ25hdHVyZSBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICIiCiAKLSM6IGNvbW1pdC5jOjExMjEKKyM6IGNvbW1pdC5jOjExNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgYSBHUEcgc2lnbmF0dXJlLiIKIG1zZ3N0ciAiIgogCi0jOiBjb21taXQuYzoxMTI0CisjOiBjb21taXQuYzoxMTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBnb29kIEdQRyBzaWduYXR1cmUgYnkgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBjb21taXQuYzoxMzc4CisjOiBjb21taXQuYzoxNDE1CiBtc2dpZCAiIgogIldhcm5pbmc6IGNvbW1pdCBtZXNzYWdlIGRpZCBub3QgY29uZm9ybSB0byBVVEYtOC5cbiIKICJZb3UgbWF5IHdhbnQgdG8gYW1lbmQgaXQgYWZ0ZXIgZml4aW5nIHRoZSBtZXNzYWdlLCBvciBzZXQgdGhlIGNvbmZpZ1xuIgogInZhcmlhYmxlIGkxOG4uY29tbWl0ZW5jb2RpbmcgdG8gdGhlIGVuY29kaW5nIHlvdXIgcHJvamVjdCB1c2VzLlxuIgogbXNnc3RyICIiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEwOAotIywgYy1mb3JtYXQKLW1zZ2lkICJncmFwaCBmaWxlICVzIGlzIHRvbyBzbWFsbCIKKyM6IGNvbW1pdC1ncmFwaC5jOjEzMAorbXNnaWQgImNvbW1pdC1ncmFwaCBmaWxlIGlzIHRvbyBzbWFsbCIKIG1zZ3N0ciAiIgogCi0jOiBjb21taXQtZ3JhcGguYzoxMTUKKyM6IGNvbW1pdC1ncmFwaC5jOjE5NQogIywgYy1mb3JtYXQKLW1zZ2lkICJncmFwaCBzaWduYXR1cmUgJVggZG9lcyBub3QgbWF0Y2ggc2lnbmF0dXJlICVYIgorbXNnaWQgImNvbW1pdC1ncmFwaCBzaWduYXR1cmUgJVggZG9lcyBub3QgbWF0Y2ggc2lnbmF0dXJlICVYIgogbXNnc3RyICIiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEyMgorIzogY29tbWl0LWdyYXBoLmM6MjAyCiAjLCBjLWZvcm1hdAotbXNnaWQgImdyYXBoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKK21zZ2lkICJjb21taXQtZ3JhcGggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIgogbXNnc3RyICIiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEyOQorIzogY29tbWl0LWdyYXBoLmM6MjA5CiAjLCBjLWZvcm1hdAotbXNnaWQgImhhc2ggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIgorbXNnaWQgImNvbW1pdC1ncmFwaCBoYXNoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKIG1zZ3N0ciAiIgogCi0jOiBjb21taXQtZ3JhcGguYzoxNTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW1wcm9wZXIgY2h1bmsgb2Zmc2V0ICUwOHglMDh4IgorIzogY29tbWl0LWdyYXBoLmM6MjMyCittc2dpZCAiY29tbWl0LWdyYXBoIGNodW5rIGxvb2t1cCB0YWJsZSBlbnRyeSBtaXNzaW5nOyBmaWxlIG1heSBiZSBpbmNvbXBsZXRlIgogbXNnc3RyICIiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjE4OQorIzogY29tbWl0LWdyYXBoLmM6MjQzCiAjLCBjLWZvcm1hdAotbXNnaWQgImNodW5rIGlkICUwOHggYXBwZWFycyBtdWx0aXBsZSB0aW1lcyIKK21zZ2lkICJjb21taXQtZ3JhcGggaW1wcm9wZXIgY2h1bmsgb2Zmc2V0ICUwOHglMDh4IgogbXNnc3RyICIiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjMwOAorIzogY29tbWl0LWdyYXBoLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBjaHVuayBpZCAlMDh4IGFwcGVhcnMgbXVsdGlwbGUgdGltZXMiCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6MzUwCittc2dpZCAiY29tbWl0LWdyYXBoIGhhcyBubyBiYXNlIGdyYXBocyBjaHVuayIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzozNjAKK21zZ2lkICJjb21taXQtZ3JhcGggY2hhaW4gZG9lcyBub3QgbWF0Y2giCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6NDA3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29tbWl0LWdyYXBoIGNoYWluOiBsaW5lICclcycgbm90IGEgaGFzaCIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzo0MzMKK21zZ2lkICJ1bmFibGUgdG8gZmluZCBhbGwgY29tbWl0LWdyYXBoIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjU2NCBjb21taXQtZ3JhcGguYzo2MjQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdCBwb3NpdGlvbi4gY29tbWl0LWdyYXBoIGlzIGxpa2VseSBjb3JydXB0IgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZmluZCBjb21taXQgJXMiCiBtc2dzdHIgIiIKIAotIzogY29tbWl0LWdyYXBoLmM6NjE3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1MgorIzogY29tbWl0LWdyYXBoLmM6ODU4IGJ1aWx0aW4vYW0uYzoxMjg3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgJXMiCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6MTAxNyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdldCB0eXBlIG9mIG9iamVjdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb21taXQtZ3JhcGguYzo2NTEKLW1zZ2lkICJBbm5vdGF0aW5nIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorIzogY29tbWl0LWdyYXBoLmM6MTA0OQorbXNnaWQgIkxvYWRpbmcga25vd24gY29tbWl0cyBpbiBjb21taXQgZ3JhcGgiCiBtc2dzdHIgIiIKIAotIzogY29tbWl0LWdyYXBoLmM6NjkxCisjOiBjb21taXQtZ3JhcGguYzoxMDY2Cittc2dpZCAiRXhwYW5kaW5nIHJlYWNoYWJsZSBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoxMDg1Cittc2dpZCAiQ2xlYXJpbmcgY29tbWl0IG1hcmtzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoxMTA0CiBtc2dpZCAiQ29tcHV0aW5nIGNvbW1pdCBncmFwaCBnZW5lcmF0aW9uIG51bWJlcnMiCiBtc2dzdHIgIiIKIAotIzogY29tbWl0LWdyYXBoLmM6ODAzIGNvbW1pdC1ncmFwaC5jOjgyNiBjb21taXQtZ3JhcGguYzo4NTIKLW1zZ2lkICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCIKLW1zZ3N0ciAiIgorIzogY29tbWl0LWdyYXBoLmM6MTE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBpbiAlZCBwYWNrIgorbXNnaWRfcGx1cmFsICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBpbiAlZCBwYWNrcyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjgxMgorIzogY29tbWl0LWdyYXBoLmM6MTE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBhZGRpbmcgcGFjayAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb21taXQtZ3JhcGguYzo4MTQKKyM6IGNvbW1pdC1ncmFwaC5jOjExOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3Igb3BlbmluZyBpbmRleCBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogY29tbWl0LWdyYXBoLmM6ODY4CisjOiBjb21taXQtZ3JhcGguYzoxMjIwCiAjLCBjLWZvcm1hdAotbXNnaWQgInRoZSBjb21taXQgZ3JhcGggZm9ybWF0IGNhbm5vdCB3cml0ZSAlZCBjb21taXRzIgorbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGZyb20gJWQgcmVmIgorbXNnaWRfcGx1cmFsICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBmcm9tICVkIHJlZnMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBjb21taXQtZ3JhcGguYzoxMjQwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29tbWl0IG9iamVjdCBpZDogJXMiCiBtc2dzdHIgIiIKIAotIzogY29tbWl0LWdyYXBoLmM6ODk1Ci1tc2dpZCAidG9vIG1hbnkgY29tbWl0cyB0byB3cml0ZSBncmFwaCIKKyM6IGNvbW1pdC1ncmFwaC5jOjEyNTUKK21zZ2lkICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBhbW9uZyBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBjb21taXQtZ3JhcGguYzo5MDIgbWlkeC5jOjc2OQorIzogY29tbWl0LWdyYXBoLmM6MTI3MAorbXNnaWQgIkNvdW50aW5nIGRpc3RpbmN0IGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEzMDAKK21zZ2lkICJGaW5kaW5nIGV4dHJhIGVkZ2VzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoxMzQ2Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvcnJlY3QgbnVtYmVyIG9mIGJhc2UgZ3JhcGggaWRzIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEzNzkgbWlkeC5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJXMiCiBtc2dzdHIgIiIKIAotIzogY29tbWl0LWdyYXBoLmM6MTAwMgorIzogY29tbWl0LWdyYXBoLmM6MTM5MSBidWlsdGluL2luZGV4LXBhY2suYzozMDYgYnVpbHRpbi9yZXBhY2suYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGluZyBvdXQgY29tbWl0IGdyYXBoIGluICVkIHBhc3MiCittc2dpZF9wbHVyYWwgIldyaXRpbmcgb3V0IGNvbW1pdCBncmFwaCBpbiAlZCBwYXNzZXMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBjb21taXQtZ3JhcGguYzoxNDkyCittc2dpZCAidW5hYmxlIHRvIG9wZW4gY29tbWl0LWdyYXBoIGNoYWluIGZpbGUiCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6MTUwNAorbXNnaWQgImZhaWxlZCB0byByZW5hbWUgYmFzZSBjb21taXQtZ3JhcGggZmlsZSIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoxNTI0Cittc2dpZCAiZmFpbGVkIHRvIHJlbmFtZSB0ZW1wb3JhcnkgY29tbWl0LWdyYXBoIGZpbGUiCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6MTYzNQorbXNnaWQgIlNjYW5uaW5nIG1lcmdlZCBjb21taXRzIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBkdXBsaWNhdGUgY29tbWl0IGlkICVzIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE2NzAKK21zZ2lkICJNZXJnaW5nIGNvbW1pdC1ncmFwaCIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoxODYwCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBjb21taXQgZ3JhcGggZm9ybWF0IGNhbm5vdCB3cml0ZSAlZCBjb21taXRzIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE4NzEKK21zZ2lkICJ0b28gbWFueSBjb21taXRzIHRvIHdyaXRlIGdyYXBoIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE5NjEKIG1zZ2lkICJ0aGUgY29tbWl0LWdyYXBoIGZpbGUgaGFzIGluY29ycmVjdCBjaGVja3N1bSBhbmQgaXMgbGlrZWx5IGNvcnJ1cHQiCiBtc2dzdHIgIiIKIAotIzogY29tbWl0LWdyYXBoLmM6MTA0NgorIzogY29tbWl0LWdyYXBoLmM6MTk3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggaGFzIGluY29ycmVjdCBPSUQgb3JkZXI6ICVzIHRoZW4gJXMiCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6MTk4MSBjb21taXQtZ3JhcGguYzoxOTk2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBoYXMgaW5jb3JyZWN0IGZhbm91dCB2YWx1ZTogZmFub3V0WyVkXSA9ICV1ICE9ICV1IgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE5ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbW1pdCAlcyBmcm9tIGNvbW1pdC1ncmFwaCIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDA2CiBtc2dpZCAiVmVyaWZ5aW5nIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgogbXNnc3RyICIiCiAKLSM6IGNvbXBhdC9vYnN0YWNrLmM6NDA1IGNvbXBhdC9vYnN0YWNrLmM6NDA3CisjOiBjb21taXQtZ3JhcGguYzoyMDIwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb21taXQgJXMgZnJvbSBvYmplY3QgZGF0YWJhc2UgZm9yIGNvbW1pdC1ncmFwaCIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDI3CisjLCBjLWZvcm1hdAorbXNnaWQgInJvb3QgdHJlZSBPSUQgZm9yIGNvbW1pdCAlcyBpbiBjb21taXQtZ3JhcGggaXMgJXMgIT0gJXMiCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6MjAzNworIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggcGFyZW50IGxpc3QgZm9yIGNvbW1pdCAlcyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBwYXJlbnQgZm9yICVzIGlzICVzICE9ICVzIgorbXNnc3RyICIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIHBhcmVudCBsaXN0IGZvciBjb21taXQgJXMgdGVybWluYXRlcyBlYXJseSIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb21taXQtZ3JhcGggaGFzIGdlbmVyYXRpb24gbnVtYmVyIHplcm8gZm9yIGNvbW1pdCAlcywgYnV0IG5vbi16ZXJvIGVsc2V3aGVyZSIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb21taXQtZ3JhcGggaGFzIG5vbi16ZXJvIGdlbmVyYXRpb24gbnVtYmVyIGZvciBjb21taXQgJXMsIGJ1dCB6ZXJvIGVsc2V3aGVyZSIKK21zZ3N0ciAiIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBnZW5lcmF0aW9uIGZvciBjb21taXQgJXMgaXMgJXUgIT0gJXUiCittc2dzdHIgIiIKKworIzogY29tbWl0LWdyYXBoLmM6MjA4OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQgZGF0ZSBmb3IgY29tbWl0ICVzIGluIGNvbW1pdC1ncmFwaCBpcyAlPFBSSXVNQVg+ICE9ICU8UFJJdU1BWD4iCittc2dzdHIgIiIKKworIzogY29tcGF0L29ic3RhY2suYzo0MDYgY29tcGF0L29ic3RhY2suYzo0MDgKIG1zZ2lkICJtZW1vcnkgZXhoYXVzdGVkIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjEyMworIzogY29uZmlnLmM6MTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleGNlZWRlZCBtYXhpbXVtIGluY2x1ZGUgZGVwdGggKCVkKSB3aGlsZSBpbmNsdWRpbmdcbiIKQEAgLTEzNzUsMjk0ICsxOTY2LDI4OSBAQAogIlRoaXMgbWlnaHQgYmUgZHVlIHRvIGNpcmN1bGFyIGluY2x1ZGVzLiIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoxMzkKKyM6IGNvbmZpZy5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZXhwYW5kIGluY2x1ZGUgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjE1MAorIzogY29uZmlnLmM6MTUxCiBtc2dpZCAicmVsYXRpdmUgY29uZmlnIGluY2x1ZGVzIG11c3QgY29tZSBmcm9tIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjE5MAorIzogY29uZmlnLmM6MTk3CiBtc2dpZCAicmVsYXRpdmUgY29uZmlnIGluY2x1ZGUgY29uZGl0aW9uYWxzIG11c3QgY29tZSBmcm9tIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjM0OAorIzogY29uZmlnLmM6Mzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImtleSBkb2VzIG5vdCBjb250YWluIGEgc2VjdGlvbjogJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MzU0CisjOiBjb25maWcuYzozODIKICMsIGMtZm9ybWF0CiBtc2dpZCAia2V5IGRvZXMgbm90IGNvbnRhaW4gdmFyaWFibGUgbmFtZTogJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6Mzc4IHNlcXVlbmNlci5jOjIyOTYKKyM6IGNvbmZpZy5jOjQwNiBzZXF1ZW5jZXIuYzoyNTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQga2V5OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzozODQKKyM6IGNvbmZpZy5jOjQxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGtleSAobmV3bGluZSk6ICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjQyMCBjb25maWcuYzo0MzIKKyM6IGNvbmZpZy5jOjQ0OCBjb25maWcuYzo0NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYm9ndXMgY29uZmlnIHBhcmFtZXRlcjogJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6NDY3CisjOiBjb25maWcuYzo0OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYm9ndXMgZm9ybWF0IGluICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjc5MworIzogY29uZmlnLmM6ODIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBibG9iICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjc5NworIzogY29uZmlnLmM6ODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBmaWxlICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjgwMQorIzogY29uZmlnLmM6ODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzo4MDUKKyM6IGNvbmZpZy5jOjgzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3VibW9kdWxlLWJsb2IgJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6ODA5CisjOiBjb25maWcuYzo4MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGNvbW1hbmQgbGluZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzo4MTMKKyM6IGNvbmZpZy5jOjg0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6OTUyCisjOiBjb25maWcuYzo5NzgKIG1zZ2lkICJvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6OTUyCisjOiBjb25maWcuYzo5NzgKIG1zZ2lkICJpbnZhbGlkIHVuaXQiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6OTU4CisjOiBjb25maWcuYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcyc6ICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjk2MworIzogY29uZmlnLmM6OTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGJsb2IgJXM6ICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjk2NgorIzogY29uZmlnLmM6MTAwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBmaWxlICVzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzo5NjkKKyM6IGNvbmZpZy5jOjEwMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3RhbmRhcmQgaW5wdXQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjk3MgorIzogY29uZmlnLmM6MTAwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdWJtb2R1bGUtYmxvYiAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6OTc1CisjOiBjb25maWcuYzoxMDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGNvbW1hbmQgbGluZSAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6OTc4CisjOiBjb25maWcuYzoxMDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoxMDczCisjOiBjb25maWcuYzoxMTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBleHBhbmQgdXNlciBkaXIgaW46ICclcyciCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MTA4MgorIzogY29uZmlnLmM6MTExNwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGZvciAnJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoxMTczCisjOiBjb25maWcuYzoxMjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImFiYnJldiBsZW5ndGggb3V0IG9mIHJhbmdlOiAlZCIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoxMTg3IGNvbmZpZy5jOjExOTgKKyM6IGNvbmZpZy5jOjEyMjIgY29uZmlnLmM6MTIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgemxpYiBjb21wcmVzc2lvbiBsZXZlbCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoxMjkwCisjOiBjb25maWcuYzoxMzI1CiBtc2dpZCAiY29yZS5jb21tZW50Q2hhciBzaG91bGQgb25seSBiZSBvbmUgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjEzMjMKKyM6IGNvbmZpZy5jOjEzNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBtb2RlIGZvciBvYmplY3QgY3JlYXRpb246ICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjEzOTUKKyM6IGNvbmZpZy5jOjE0MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIHZhbHVlIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoxNDIxCisjOiBjb25maWcuYzoxNDU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjE0MjIKKyM6IGNvbmZpZy5jOjE0NTcKIG1zZ2lkICJtdXN0IGJlIG9uZSBvZiBub3RoaW5nLCBtYXRjaGluZywgc2ltcGxlLCB1cHN0cmVhbSBvciBjdXJyZW50IgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjE0ODEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzkxCisjOiBjb25maWcuYzoxNTE4IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjayBjb21wcmVzc2lvbiBsZXZlbCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoxNjAyCisjOiBjb25maWcuYzoxNjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBsb2FkIGNvbmZpZyBibG9iIG9iamVjdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjE2MDUKKyM6IGNvbmZpZy5jOjE2NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlICclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBibG9iIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjE2MjIKKyM6IGNvbmZpZy5jOjE2NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgY29uZmlnIGJsb2IgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoxNjUyCisjOiBjb25maWcuYzoxNjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoxNzA1CisjOiBjb25maWcuYzoxNzQ1CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MjAzNworIzogY29uZmlnLmM6MjA5NgogbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoyMjA3CisjOiBjb25maWcuYzoyMjY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgJXM6ICclcyciCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MjI1MAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmtub3duIGNvcmUudW50cmFja2VkQ2FjaGUgdmFsdWUgJyVzJzsgdXNpbmcgJ2tlZXAnIGRlZmF1bHQgdmFsdWUiCi1tc2dzdHIgIiIKLQotIzogY29uZmlnLmM6MjI3NgorIzogY29uZmlnLmM6MjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2UgdmFsdWUgJyVkJyBzaG91bGQgYmUgYmV0d2VlbiAwIGFuZCAxMDAiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MjMyMgorIzogY29uZmlnLmM6MjM1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyVzJyBmcm9tIGNvbW1hbmQtbGluZSBjb25maWciCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MjMyNAorIzogY29uZmlnLmM6MjM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIHZhcmlhYmxlICclcycgaW4gZmlsZSAnJXMnIGF0IGxpbmUgJWQiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MjQwNQorIzogY29uZmlnLmM6MjQ0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNlY3Rpb24gbmFtZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjI0MzcKKyM6IGNvbmZpZy5jOjI0NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIG11bHRpcGxlIHZhbHVlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoyNDY2CisjOiBjb25maWcuYzoyNTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB3cml0ZSBuZXcgY29uZmlndXJhdGlvbiBmaWxlICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjI3MTcgY29uZmlnLmM6MzA0MQorIzogY29uZmlnLmM6Mjc1MyBjb25maWcuYzozMDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb2NrIGNvbmZpZyBmaWxlICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjI3MjgKKyM6IGNvbmZpZy5jOjI3NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAib3BlbmluZyAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoyNzYzIGJ1aWx0aW4vY29uZmlnLmM6MzI3CisjOiBjb25maWcuYzoyNzk5IGJ1aWx0aW4vY29uZmlnLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcGF0dGVybjogJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6Mjc4OAorIzogY29uZmlnLmM6MjgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbmZpZyBmaWxlICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjI4MDEgY29uZmlnLmM6MzA1NAorIzogY29uZmlnLmM6MjgzNyBjb25maWcuYzozMDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZzdGF0IG9uICVzIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoyODEyCisjOiBjb25maWcuYzoyODQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBtbWFwICclcyciCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MjgyMSBjb25maWcuYzozMDU5CisjOiBjb25maWcuYzoyODU3IGNvbmZpZy5jOjMwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2htb2Qgb24gJXMgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjI5MDYgY29uZmlnLmM6MzE1NgorIzogY29uZmlnLmM6Mjk0MiBjb25maWcuYzozMTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBjb25maWcgZmlsZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoyOTQwCisjOiBjb25maWcuYzoyOTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzZXQgJyVzJyB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjI5NDIgYnVpbHRpbi9yZW1vdGUuYzo3ODIKKyM6IGNvbmZpZy5jOjI5NzggYnVpbHRpbi9yZW1vdGUuYzo3ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVuc2V0ICclcyciCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MzAzMgorIzogY29uZmlnLmM6MzA2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNlY3Rpb24gbmFtZTogJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MzE5OQorIzogY29uZmlnLmM6MzIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIHZhbHVlIGZvciAnJXMnIgogbXNnc3RyICIiCkBAIC0xNzExLDU3ICsyMjk3LDUyIEBACiBtc2dpZCAicmVwb3NpdG9yeSBvbiB0aGUgb3RoZXIgZW5kIGNhbm5vdCBiZSBzaGFsbG93IgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzozMTAgZmV0Y2gtcGFjay5jOjE4MiBidWlsdGluL2FyY2hpdmUuYzo2MwotIywgYy1mb3JtYXQKLW1zZ2lkICJyZW1vdGUgZXJyb3I6ICVzIgotbXNnc3RyICIiCi0KLSM6IGNvbm5lY3QuYzozMTYKKyM6IGNvbm5lY3QuYzozMTMKIG1zZ2lkICJpbnZhbGlkIHBhY2tldCIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0LmM6MzM2CisjOiBjb25uZWN0LmM6MzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgInByb3RvY29sIGVycm9yOiB1bmV4cGVjdGVkICclcyciCiBtc2dzdHIgIiIKIAotIzogY29ubmVjdC5jOjQ0NAorIzogY29ubmVjdC5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGxzLXJlZnMgcmVzcG9uc2U6ICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzo0NDgKKyM6IGNvbm5lY3QuYzo0NDUKIG1zZ2lkICJleHBlY3RlZCBmbHVzaCBhZnRlciByZWYgbGlzdGluZyIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0LmM6NTQ3CisjOiBjb25uZWN0LmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInByb3RvY29sICclcycgaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0LmM6NTk4CisjOiBjb25uZWN0LmM6NTk1CiBtc2dpZCAidW5hYmxlIHRvIHNldCBTT19LRUVQQUxJVkUgb24gc29ja2V0IgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzo2MzggY29ubmVjdC5jOjcwMQorIzogY29ubmVjdC5jOjYzNSBjb25uZWN0LmM6Njk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxvb2tpbmcgdXAgJXMgLi4uICIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0LmM6NjQyCisjOiBjb25uZWN0LmM6NjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBsb29rIHVwICVzIChwb3J0ICVzKSAoJXMpIgogbXNnc3RyICIiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGlzIGlzIHRoZSBlbmQgb2YgIkxvb2tpbmcgdXAgJXMgLi4uICIKLSM6IGNvbm5lY3QuYzo2NDYgY29ubmVjdC5jOjcxNworIzogY29ubmVjdC5jOjY0MyBjb25uZWN0LmM6NzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJkb25lLlxuIgogIkNvbm5lY3RpbmcgdG8gJXMgKHBvcnQgJXMpIC4uLiAiCiBtc2dzdHIgIiIKIAotIzogY29ubmVjdC5jOjY2OCBjb25uZWN0LmM6NzQ1CisjOiBjb25uZWN0LmM6NjY1IGNvbm5lY3QuYzo3NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInVuYWJsZSB0byBjb25uZWN0IHRvICVzOlxuIgpAQCAtMTc2OSw3MyArMjM1MCw3MyBAQAogbXNnc3RyICIiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGlzIGlzIHRoZSBlbmQgb2YgIkNvbm5lY3RpbmcgdG8gJXMgKHBvcnQgJXMpIC4uLiAiCi0jOiBjb25uZWN0LmM6Njc0IGNvbm5lY3QuYzo3NTEKKyM6IGNvbm5lY3QuYzo2NzEgY29ubmVjdC5jOjc0OAogbXNnaWQgImRvbmUuIgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzo3MDUKKyM6IGNvbm5lY3QuYzo3MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGxvb2sgdXAgJXMgKCVzKSIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0LmM6NzExCisjOiBjb25uZWN0LmM6NzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gcG9ydCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0LmM6ODQ4IGNvbm5lY3QuYzoxMTc0CisjOiBjb25uZWN0LmM6ODQ1IGNvbm5lY3QuYzoxMTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0cmFuZ2UgaG9zdG5hbWUgJyVzJyBibG9ja2VkIgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzo4NTAKKyM6IGNvbm5lY3QuYzo4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RyYW5nZSBwb3J0ICclcycgYmxvY2tlZCIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0LmM6ODYwCisjOiBjb25uZWN0LmM6ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGFydCBwcm94eSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0LmM6OTI3CisjOiBjb25uZWN0LmM6OTI4CiBtc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQ7IHNlZSAnZ2l0IGhlbHAgcHVsbCcgZm9yIHZhbGlkIHVybCBzeW50YXgiCiBtc2dzdHIgIiIKIAotIzogY29ubmVjdC5jOjExMjIKKyM6IGNvbm5lY3QuYzoxMTIzCiBtc2dpZCAic3NoIHZhcmlhbnQgJ3NpbXBsZScgZG9lcyBub3Qgc3VwcG9ydCAtNCIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0LmM6MTEzNAorIzogY29ubmVjdC5jOjExMzUKIG1zZ2lkICJzc2ggdmFyaWFudCAnc2ltcGxlJyBkb2VzIG5vdCBzdXBwb3J0IC02IgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzoxMTUxCisjOiBjb25uZWN0LmM6MTE1MgogbXNnaWQgInNzaCB2YXJpYW50ICdzaW1wbGUnIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyBwb3J0IgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzoxMjYyCisjOiBjb25uZWN0LmM6MTI2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJzdHJhbmdlIHBhdGhuYW1lICclcycgYmxvY2tlZCIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0LmM6MTMwNworIzogY29ubmVjdC5jOjEzMTEKIG1zZ2lkICJ1bmFibGUgdG8gZm9yayIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0ZWQuYzo2OCBidWlsdGluL2ZzY2suYzoyMDIgYnVpbHRpbi9wcnVuZS5jOjE0NworIzogY29ubmVjdGVkLmM6ODkgYnVpbHRpbi9mc2NrLmM6MjA4IGJ1aWx0aW4vcHJ1bmUuYzo0MwogbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0ZWQuYzo4MAorIzogY29ubmVjdGVkLmM6MTAxCiBtc2dpZCAiQ291bGQgbm90IHJ1biAnZ2l0IHJldi1saXN0JyIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0ZWQuYzoxMDAKKyM6IGNvbm5lY3RlZC5jOjEyMQogbXNnaWQgImZhaWxlZCB3cml0ZSB0byByZXYtbGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0ZWQuYzoxMDcKKyM6IGNvbm5lY3RlZC5jOjEyOAogbXNnaWQgImZhaWxlZCB0byBjbG9zZSByZXYtbGlzdCdzIHN0ZGluIgogbXNnc3RyICIiCiAKQEAgLTE4NjgsMTQxICsyNDQ5LDE0MSBAQAogIlRoZSBmaWxlIHdpbGwgaGF2ZSBpdHMgb3JpZ2luYWwgbGluZSBlbmRpbmdzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogY29udmVydC5jOjI4MAorIzogY29udmVydC5jOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJCT00gaXMgcHJvaGliaXRlZCBpbiAnJXMnIGlmIGVuY29kZWQgYXMgJXMiCiBtc2dzdHIgIiIKIAotIzogY29udmVydC5jOjI4NworIzogY29udmVydC5jOjI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iVGhlIGZpbGUgJyVzJyBjb250YWlucyBhIGJ5dGUgb3JkZXIgbWFyayAoQk9NKS4gUGxlYXNlIHVzZSBVVEYtJXMgYXMgd29ya2luZy0iCi0idHJlZS1lbmNvZGluZy4iCisiVGhlIGZpbGUgJyVzJyBjb250YWlucyBhIGJ5dGUgb3JkZXIgbWFyayAoQk9NKS4gUGxlYXNlIHVzZSBVVEYtJS4qcyBhcyAiCisid29ya2luZy10cmVlLWVuY29kaW5nLiIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6MzA1CisjOiBjb252ZXJ0LmM6MzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJPTSBpcyByZXF1aXJlZCBpbiAnJXMnIGlmIGVuY29kZWQgYXMgJXMiCiBtc2dzdHIgIiIKIAotIzogY29udmVydC5jOjMwNworIzogY29udmVydC5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZpbGUgJyVzJyBpcyBtaXNzaW5nIGEgYnl0ZSBvcmRlciBtYXJrIChCT00pLiBQbGVhc2UgdXNlIFVURi0lc0JFIG9yIFVURi0iCiAiJXNMRSAoZGVwZW5kaW5nIG9uIHRoZSBieXRlIG9yZGVyKSBhcyB3b3JraW5nLXRyZWUtZW5jb2RpbmcuIgogbXNnc3RyICIiCiAKLSM6IGNvbnZlcnQuYzo0MjUgY29udmVydC5jOjQ5NgorIzogY29udmVydC5jOjQxOSBjb252ZXJ0LmM6NDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBlbmNvZGUgJyVzJyBmcm9tICVzIHRvICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbnZlcnQuYzo0NjgKKyM6IGNvbnZlcnQuYzo0NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW5jb2RpbmcgJyVzJyBmcm9tICVzIHRvICVzIGFuZCBiYWNrIGlzIG5vdCB0aGUgc2FtZSIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6Njc0CisjOiBjb252ZXJ0LmM6NjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmb3JrIHRvIHJ1biBleHRlcm5hbCBmaWx0ZXIgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6Njk0CisjOiBjb252ZXJ0LmM6Njg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmZWVkIHRoZSBpbnB1dCB0byBleHRlcm5hbCBmaWx0ZXIgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6NzAxCisjOiBjb252ZXJ0LmM6Njk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6NzM2IGNvbnZlcnQuYzo3MzkKKyM6IGNvbnZlcnQuYzo3MzAgY29udmVydC5jOjczMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGZyb20gZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGNvbnZlcnQuYzo3NDIgY29udmVydC5jOjc5NgorIzogY29udmVydC5jOjczNiBjb252ZXJ0LmM6NzkxCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6ODQ0CisjOiBjb252ZXJ0LmM6ODM5CiBtc2dpZCAidW5leHBlY3RlZCBmaWx0ZXIgdHlwZSIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6ODU1CisjOiBjb252ZXJ0LmM6ODUwCiBtc2dpZCAicGF0aCBuYW1lIHRvbyBsb25nIGZvciBleHRlcm5hbCBmaWx0ZXIiCiBtc2dzdHIgIiIKIAotIzogY29udmVydC5jOjkyOQorIzogY29udmVydC5jOjkyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXh0ZXJuYWwgZmlsdGVyICclcycgaXMgbm90IGF2YWlsYWJsZSBhbnltb3JlIGFsdGhvdWdoIG5vdCBhbGwgcGF0aHMgaGF2ZSAiCiAiYmVlbiBmaWx0ZXJlZCIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6MTIyOAorIzogY29udmVydC5jOjEyMjMKIG1zZ2lkICJ0cnVlL2ZhbHNlIGFyZSBubyB2YWxpZCB3b3JraW5nLXRyZWUtZW5jb2RpbmdzIgogbXNnc3RyICIiCiAKLSM6IGNvbnZlcnQuYzoxMzk4IGNvbnZlcnQuYzoxNDMyCisjOiBjb252ZXJ0LmM6MTQxMSBjb252ZXJ0LmM6MTQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2xlYW4gZmlsdGVyICclcycgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGNvbnZlcnQuYzoxNDc2CisjOiBjb252ZXJ0LmM6MTQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc211ZGdlIGZpbHRlciAlcyBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogZGF0ZS5jOjExNgorIzogZGF0ZS5jOjEzOAogbXNnaWQgImluIHRoZSBmdXR1cmUiCiBtc2dzdHIgIiIKIAotIzogZGF0ZS5jOjEyMgorIzogZGF0ZS5jOjE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHNlY29uZCBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gc2Vjb25kcyBhZ28iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBkYXRlLmM6MTI5CisjOiBkYXRlLmM6MTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiU8UFJJdU1BWD4gbWludXRlIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBtaW51dGVzIGFnbyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGRhdGUuYzoxMzYKKyM6IGRhdGUuYzoxNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBob3VyIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBob3VycyBhZ28iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBkYXRlLmM6MTQzCisjOiBkYXRlLmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiU8UFJJdU1BWD4gZGF5IGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBkYXlzIGFnbyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGRhdGUuYzoxNDkKKyM6IGRhdGUuYzoxNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiB3ZWVrIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB3ZWVrcyBhZ28iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBkYXRlLmM6MTU2CisjOiBkYXRlLmM6MTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiU8UFJJdU1BWD4gbW9udGggYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1vbnRocyBhZ28iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBkYXRlLmM6MTY3CisjOiBkYXRlLmM6MTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiU8UFJJdU1BWD4geWVhciIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB5ZWFycyIKQEAgLTIwMTAsNDAgKzI1OTEsNDAgQEAKIG1zZ3N0clsxXSAiIgogCiAjLiBUUkFOU0xBVE9SUzogIiVzIiBpcyAiPG4+IHllYXJzIgotIzogZGF0ZS5jOjE3MAorIzogZGF0ZS5jOjE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgJTxQUkl1TUFYPiBtb250aCBhZ28iCiBtc2dpZF9wbHVyYWwgIiVzLCAlPFBSSXVNQVg+IG1vbnRocyBhZ28iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBkYXRlLmM6MTc1IGRhdGUuYzoxODAKKyM6IGRhdGUuYzoxOTcgZGF0ZS5jOjIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHllYXIgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIGFnbyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGRlbHRhLWlzbGFuZHMuYzoyNjgKKyM6IGRlbHRhLWlzbGFuZHMuYzoyNzIKIG1zZ2lkICJQcm9wYWdhdGluZyBpc2xhbmQgbWFya3MiCiBtc2dzdHIgIiIKIAotIzogZGVsdGEtaXNsYW5kcy5jOjI4NgorIzogZGVsdGEtaXNsYW5kcy5jOjI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgdHJlZSBvYmplY3QgJXMiCiBtc2dzdHIgIiIKIAotIzogZGVsdGEtaXNsYW5kcy5jOjMzMAorIzogZGVsdGEtaXNsYW5kcy5jOjMzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBpc2xhbmQgcmVnZXggZm9yICclcyc6ICVzIgogbXNnc3RyICIiCiAKLSM6IGRlbHRhLWlzbGFuZHMuYzozODYKKyM6IGRlbHRhLWlzbGFuZHMuYzozOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaXNsYW5kIHJlZ2V4IGZyb20gY29uZmlnIGhhcyB0b28gbWFueSBjYXB0dXJlIGdyb3VwcyAobWF4PSVkKSIKIG1zZ3N0ciAiIgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6NDYyCisjOiBkZWx0YS1pc2xhbmRzLmM6NDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hcmtlZCAlZCBpc2xhbmRzLCBkb25lLlxuIgogbXNnc3RyICIiCkBAIC0yMDUzLDEzMSArMjYzNCw2MzYgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBvcmRlcmZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBkaWZmY29yZS1yZW5hbWUuYzo1NDQKKyM6IGRpZmZjb3JlLXJlbmFtZS5jOjU0MwogbXNnaWQgIlBlcmZvcm1pbmcgaW5leGFjdCByZW5hbWUgZGV0ZWN0aW9uIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzoxMDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYSB2YWx1ZSIKKyM6IGRpZmYtbm8taW5kZXguYzoyMzgKK21zZ2lkICJnaXQgZGlmZiAtLW5vLWluZGV4IFs8b3B0aW9ucz5dIDxwYXRoPiA8cGF0aD4iCiBtc2dzdHIgIiIKIAotIzogZGlmZi5jOjE1OAorIzogZGlmZi1uby1pbmRleC5jOjI2MworbXNnaWQgIiIKKyJOb3QgYSBnaXQgcmVwb3NpdG9yeS4gVXNlIC0tbm8taW5kZXggdG8gY29tcGFyZSB0d28gcGF0aHMgb3V0c2lkZSBhIHdvcmtpbmcgIgorInRyZWUiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZhaWxlZCB0byBwYXJzZSBkaXJzdGF0IGN1dC1vZmYgcGVyY2VudGFnZSAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogZGlmZi5jOjE2MworIzogZGlmZi5jOjE2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFVua25vd24gZGlyc3RhdCBwYXJhbWV0ZXIgJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzoyOTEKKyM6IGRpZmYuYzoyOTYKIG1zZ2lkICIiCiAiY29sb3IgbW92ZWQgc2V0dGluZyBtdXN0IGJlIG9uZSBvZiAnbm8nLCAnZGVmYXVsdCcsICdibG9ja3MnLCAnemVicmEnLCAiCiAiJ2RpbW1lZC16ZWJyYScsICdwbGFpbiciCiBtc2dzdHIgIiIKIAotIzogZGlmZi5jOjMxNgorIzogZGlmZi5jOjMyNAogIywgYy1mb3JtYXQKLW1zZ2lkICJpZ25vcmluZyB1bmtub3duIGNvbG9yLW1vdmVkLXdzIG1vZGUgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBkaWZmLmM6MzIzCiBtc2dpZCAiIgotImNvbG9yLW1vdmVkLXdzOiBhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgd2hpdGUgIgotInNwYWNlIG1vZGVzIgorInVua25vd24gY29sb3ItbW92ZWQtd3MgbW9kZSAnJXMnLCBwb3NzaWJsZSB2YWx1ZXMgYXJlICdpZ25vcmUtc3BhY2UtY2hhbmdlJywgIgorIidpZ25vcmUtc3BhY2UtYXQtZW9sJywgJ2lnbm9yZS1hbGwtc3BhY2UnLCAnYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlJyIKIG1zZ3N0ciAiIgogCi0jOiBkaWZmLmM6Mzk0CisjOiBkaWZmLmM6MzMyCittc2dpZCAiIgorImNvbG9yLW1vdmVkLXdzOiBhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgIgorIndoaXRlc3BhY2UgbW9kZXMiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHZhbHVlIGZvciAnZGlmZi5zdWJtb2R1bGUnIGNvbmZpZyB2YXJpYWJsZTogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBkaWZmLmM6NDU0CisjOiBkaWZmLmM6NDY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGb3VuZCBlcnJvcnMgaW4gJ2RpZmYuZGlyc3RhdCcgY29uZmlnIHZhcmlhYmxlOlxuIgogIiVzIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzo0MTQwCisjOiBkaWZmLmM6NDIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJleHRlcm5hbCBkaWZmIGRpZWQsIHN0b3BwaW5nIGF0ICVzIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzo0NDgyCisjOiBkaWZmLmM6NDU0NwogbXNnaWQgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzo0NDg1CisjOiBkaWZmLmM6NDU1MAogbXNnaWQgIi1HLCAtUyBhbmQgLS1maW5kLW9iamVjdCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzo0NTYzCisjOiBkaWZmLmM6NDYyOAogbXNnaWQgIi0tZm9sbG93IHJlcXVpcmVzIGV4YWN0bHkgb25lIHBhdGhzcGVjIgogbXNnc3RyICIiCiAKLSM6IGRpZmYuYzo0NzI5CisjOiBkaWZmLmM6NDY3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIC0tc3RhdCB2YWx1ZTogJXMiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjQ2ODEgZGlmZi5jOjQ2ODYgZGlmZi5jOjQ2OTEgZGlmZi5jOjQ2OTYgZGlmZi5jOjUyMDkKKyM6IHBhcnNlLW9wdGlvbnMuYzoxOTkgcGFyc2Utb3B0aW9ucy5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo0NzEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCiAiJXMiCiBtc2dzdHIgIiIKIAotIzogZGlmZi5jOjQ3NDMKKyM6IGRpZmYuYzo0Nzk4CiAjLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgorbXNnaWQgInVua25vd24gY2hhbmdlIGNsYXNzICclYycgaW4gLS1kaWZmLWZpbHRlcj0lcyIKIG1zZ3N0ciAiIgogCi0jOiBkaWZmLmM6NTgyMworIzogZGlmZi5jOjQ4MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB2YWx1ZSBhZnRlciB3cy1lcnJvci1oaWdobGlnaHQ9JS4qcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NDgzNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo0ODg2IGRpZmYuYzo0ODkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGV4cGVjdHMgPG4+LzxtPiBmb3JtIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo0OTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGV4cGVjdHMgYSBjaGFyYWN0ZXIsIGdvdCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo0OTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCAtLWNvbG9yLW1vdmVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NDk0NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG1vZGUgJyVzJyBpbiAtLWNvbG9yLW1vdmVkLXdzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo0OTg0Cittc2dpZCAiIgorIm9wdGlvbiBkaWZmLWFsZ29yaXRobSBhY2NlcHRzIFwibXllcnNcIiwgXCJtaW5pbWFsXCIsIFwicGF0aWVuY2VcIiBhbmQgIgorIlwiaGlzdG9ncmFtXCIiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUwMjAgZGlmZi5jOjUwNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTE3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgLS13b3JkLWRpZmYgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MjU3Cittc2dpZCAiRGlmZiBvdXRwdXQgZm9ybWF0IG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUyNTkgZGlmZi5jOjUyNjUKK21zZ2lkICJnZW5lcmF0ZSBwYXRjaCIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTI2MiBidWlsdGluL2xvZy5jOjE3MworbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MjY3IGRpZmYuYzo1MzgxIGRpZmYuYzo1Mzg4Cittc2dpZCAiPG4+IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MjY4IGRpZmYuYzo1MjcxCittc2dpZCAiZ2VuZXJhdGUgZGlmZnMgd2l0aCA8bj4gbGluZXMgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTI3MworbXNnaWQgImdlbmVyYXRlIHRoZSBkaWZmIGluIHJhdyBmb3JtYXQiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUyNzYKK21zZ2lkICJzeW5vbnltIGZvciAnLXAgLS1yYXcnIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MjgwCittc2dpZCAic3lub255bSBmb3IgJy1wIC0tc3RhdCciCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUyODQKK21zZ2lkICJtYWNoaW5lIGZyaWVuZGx5IC0tc3RhdCIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTI4NworbXNnaWQgIm91dHB1dCBvbmx5IHRoZSBsYXN0IGxpbmUgb2YgLS1zdGF0IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1Mjg5IGRpZmYuYzo1Mjk3Cittc2dpZCAiPHBhcmFtMSxwYXJhbTI+Li4uIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MjkwCittc2dpZCAiIgorIm91dHB1dCB0aGUgZGlzdHJpYnV0aW9uIG9mIHJlbGF0aXZlIGFtb3VudCBvZiBjaGFuZ2VzIGZvciBlYWNoIHN1Yi1kaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUyOTQKK21zZ2lkICJzeW5vbnltIGZvciAtLWRpcnN0YXQ9Y3VtdWxhdGl2ZSIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTI5OAorbXNnaWQgInN5bm9ueW0gZm9yIC0tZGlyc3RhdD1maWxlcyxwYXJhbTEscGFyYW0yLi4uIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzAyCittc2dpZCAid2FybiBpZiBjaGFuZ2VzIGludHJvZHVjZSBjb25mbGljdCBtYXJrZXJzIG9yIHdoaXRlc3BhY2UgZXJyb3JzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzA1Cittc2dpZCAiY29uZGVuc2VkIHN1bW1hcnkgc3VjaCBhcyBjcmVhdGlvbnMsIHJlbmFtZXMgYW5kIG1vZGUgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTMwOAorbXNnaWQgInNob3cgb25seSBuYW1lcyBvZiBjaGFuZ2VkIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzExCittc2dpZCAic2hvdyBvbmx5IG5hbWVzIGFuZCBzdGF0dXMgb2YgY2hhbmdlZCBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTMxMworbXNnaWQgIjx3aWR0aD5bLDxuYW1lLXdpZHRoPlssPGNvdW50Pl1dIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzE0Cittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzMTYgZGlmZi5jOjUzMTkgZGlmZi5jOjUzMjIKK21zZ2lkICI8d2lkdGg+IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzE3Cittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBhIGdpdmVuIHdpZHRoIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzIwCittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBhIGdpdmVuIG5hbWUgd2lkdGgiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzMjMKK21zZ2lkICJnZW5lcmF0ZSBkaWZmc3RhdCB3aXRoIGEgZ2l2ZW4gZ3JhcGggd2lkdGgiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzMjUKK21zZ2lkICI8Y291bnQ+IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzI2Cittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBsaW1pdGVkIGxpbmVzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzI5Cittc2dpZCAiZ2VuZXJhdGUgY29tcGFjdCBzdW1tYXJ5IGluIGRpZmZzdGF0IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzMyCittc2dpZCAib3V0cHV0IGEgYmluYXJ5IGRpZmYgdGhhdCBjYW4gYmUgYXBwbGllZCIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTMzNQorbXNnaWQgInNob3cgZnVsbCBwcmUtIGFuZCBwb3N0LWltYWdlIG9iamVjdCBuYW1lcyBvbiB0aGUgXCJpbmRleFwiIGxpbmVzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzM3Cittc2dpZCAic2hvdyBjb2xvcmVkIGRpZmYiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzMzgKK21zZ2lkICI8a2luZD4iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzMzkKK21zZ2lkICIiCisiaGlnaGxpZ2h0IHdoaXRlc3BhY2UgZXJyb3JzIGluIHRoZSAnY29udGV4dCcsICdvbGQnIG9yICduZXcnIGxpbmVzIGluIHRoZSAiCisiZGlmZiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM0MgorbXNnaWQgIiIKKyJkbyBub3QgbXVuZ2UgcGF0aG5hbWVzIGFuZCB1c2UgTlVMcyBhcyBvdXRwdXQgZmllbGQgdGVybWluYXRvcnMgaW4gLS1yYXcgb3IgIgorIi0tbnVtc3RhdCIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM0NSBkaWZmLmM6NTM0OCBkaWZmLmM6NTM1MSBkaWZmLmM6NTQ1NworbXNnaWQgIjxwcmVmaXg+IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzQ2Cittc2dpZCAic2hvdyB0aGUgZ2l2ZW4gc291cmNlIHByZWZpeCBpbnN0ZWFkIG9mIFwiYS9cIiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM0OQorbXNnaWQgInNob3cgdGhlIGdpdmVuIGRlc3RpbmF0aW9uIHByZWZpeCBpbnN0ZWFkIG9mIFwiYi9cIiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM1MgorbXNnaWQgInByZXBlbmQgYW4gYWRkaXRpb25hbCBwcmVmaXggdG8gZXZlcnkgbGluZSBvZiBvdXRwdXQiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzNTUKK21zZ2lkICJkbyBub3Qgc2hvdyBhbnkgc291cmNlIG9yIGRlc3RpbmF0aW9uIHByZWZpeCIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM1OAorbXNnaWQgInNob3cgY29udGV4dCBiZXR3ZWVuIGRpZmYgaHVua3MgdXAgdG8gdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbGluZXMiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzNjIgZGlmZi5jOjUzNjcgZGlmZi5jOjUzNzIKK21zZ2lkICI8Y2hhcj4iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzNjMKK21zZ2lkICJzcGVjaWZ5IHRoZSBjaGFyYWN0ZXIgdG8gaW5kaWNhdGUgYSBuZXcgbGluZSBpbnN0ZWFkIG9mICcrJyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM2OAorbXNnaWQgInNwZWNpZnkgdGhlIGNoYXJhY3RlciB0byBpbmRpY2F0ZSBhbiBvbGQgbGluZSBpbnN0ZWFkIG9mICctJyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM3MworbXNnaWQgInNwZWNpZnkgdGhlIGNoYXJhY3RlciB0byBpbmRpY2F0ZSBhIGNvbnRleHQgaW5zdGVhZCBvZiAnICciCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzNzYKK21zZ2lkICJEaWZmIHJlbmFtZSBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1Mzc3Cittc2dpZCAiPG4+Wy88bT5dIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1Mzc4Cittc2dpZCAiYnJlYWsgY29tcGxldGUgcmV3cml0ZSBjaGFuZ2VzIGludG8gcGFpcnMgb2YgZGVsZXRlIGFuZCBjcmVhdGUiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzODIKK21zZ2lkICJkZXRlY3QgcmVuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM4NgorbXNnaWQgIm9taXQgdGhlIHByZWltYWdlIGZvciBkZWxldGVzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1Mzg5Cittc2dpZCAiZGV0ZWN0IGNvcGllcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM5MworbXNnaWQgInVzZSB1bm1vZGlmaWVkIGZpbGVzIGFzIHNvdXJjZSB0byBmaW5kIGNvcGllcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM5NQorbXNnaWQgImRpc2FibGUgcmVuYW1lIGRldGVjdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM5OAorbXNnaWQgInVzZSBlbXB0eSBibG9icyBhcyByZW5hbWUgc291cmNlIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDAwCittc2dpZCAiY29udGludWUgbGlzdGluZyB0aGUgaGlzdG9yeSBvZiBhIGZpbGUgYmV5b25kIHJlbmFtZXMiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0MDMKK21zZ2lkICIiCisicHJldmVudCByZW5hbWUvY29weSBkZXRlY3Rpb24gaWYgdGhlIG51bWJlciBvZiByZW5hbWUvY29weSB0YXJnZXRzIGV4Y2VlZHMgIgorImdpdmVuIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDA1Cittc2dpZCAiRGlmZiBhbGdvcml0aG0gb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQwNworbXNnaWQgInByb2R1Y2UgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIGRpZmYiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0MTAKK21zZ2lkICJpZ25vcmUgd2hpdGVzcGFjZSB3aGVuIGNvbXBhcmluZyBsaW5lcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQxMworbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIGFtb3VudCBvZiB3aGl0ZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDE2Cittc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSBhdCBFT0wiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0MTkKK21zZ2lkICJpZ25vcmUgY2Fycmllci1yZXR1cm4gYXQgdGhlIGVuZCBvZiBsaW5lIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDIyCittc2dpZCAiaWdub3JlIGNoYW5nZXMgd2hvc2UgbGluZXMgYXJlIGFsbCBibGFuayIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQyNQorbXNnaWQgImhldXJpc3RpYyB0byBzaGlmdCBkaWZmIGh1bmsgYm91bmRhcmllcyBmb3IgZWFzeSByZWFkaW5nIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDI4Cittc2dpZCAiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJwYXRpZW5jZSBkaWZmXCIgYWxnb3JpdGhtIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDMyCittc2dpZCAiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJoaXN0b2dyYW0gZGlmZlwiIGFsZ29yaXRobSIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQzNAorbXNnaWQgIjxhbGdvcml0aG0+IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDM1Cittc2dpZCAiY2hvb3NlIGEgZGlmZiBhbGdvcml0aG0iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0MzcKK21zZ2lkICI8dGV4dD4iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0MzgKK21zZ2lkICJnZW5lcmF0ZSBkaWZmIHVzaW5nIHRoZSBcImFuY2hvcmVkIGRpZmZcIiBhbGdvcml0aG0iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0NDAgZGlmZi5jOjU0NDkgZGlmZi5jOjU0NTIKK21zZ2lkICI8bW9kZT4iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0NDEKK21zZ2lkICJzaG93IHdvcmQgZGlmZiwgdXNpbmcgPG1vZGU+IHRvIGRlbGltaXQgY2hhbmdlZCB3b3JkcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ0MyBkaWZmLmM6NTQ0NiBkaWZmLmM6NTQ5MQorbXNnaWQgIjxyZWdleD4iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0NDQKK21zZ2lkICJ1c2UgPHJlZ2V4PiB0byBkZWNpZGUgd2hhdCBhIHdvcmQgaXMiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0NDcKK21zZ2lkICJlcXVpdmFsZW50IHRvIC0td29yZC1kaWZmPWNvbG9yIC0td29yZC1kaWZmLXJlZ2V4PTxyZWdleD4iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0NTAKK21zZ2lkICJtb3ZlZCBsaW5lcyBvZiBjb2RlIGFyZSBjb2xvcmVkIGRpZmZlcmVudGx5IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDUzCittc2dpZCAiaG93IHdoaXRlIHNwYWNlcyBhcmUgaWdub3JlZCBpbiAtLWNvbG9yLW1vdmVkIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDU2Cittc2dpZCAiT3RoZXIgZGlmZiBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDU4Cittc2dpZCAid2hlbiBydW4gZnJvbSBzdWJkaXIsIGV4Y2x1ZGUgY2hhbmdlcyBvdXRzaWRlIGFuZCBzaG93IHJlbGF0aXZlIHBhdGhzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDYyCittc2dpZCAidHJlYXQgYWxsIGZpbGVzIGFzIHRleHQiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0NjQKK21zZ2lkICJzd2FwIHR3byBpbnB1dHMsIHJldmVyc2UgdGhlIGRpZmYiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0NjYKK21zZ2lkICJleGl0IHdpdGggMSBpZiB0aGVyZSB3ZXJlIGRpZmZlcmVuY2VzLCAwIG90aGVyd2lzZSIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ2OAorbXNnaWQgImRpc2FibGUgYWxsIG91dHB1dCBvZiB0aGUgcHJvZ3JhbSIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ3MAorbXNnaWQgImFsbG93IGFuIGV4dGVybmFsIGRpZmYgaGVscGVyIHRvIGJlIGV4ZWN1dGVkIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDcyCittc2dpZCAicnVuIGV4dGVybmFsIHRleHQgY29udmVyc2lvbiBmaWx0ZXJzIHdoZW4gY29tcGFyaW5nIGJpbmFyeSBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ3NAorbXNnaWQgIjx3aGVuPiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ3NQorbXNnaWQgImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMgaW4gdGhlIGRpZmYgZ2VuZXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ3OAorbXNnaWQgIjxmb3JtYXQ+IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDc5Cittc2dpZCAic3BlY2lmeSBob3cgZGlmZmVyZW5jZXMgaW4gc3VibW9kdWxlcyBhcmUgc2hvd24iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0ODMKK21zZ2lkICJoaWRlICdnaXQgYWRkIC1OJyBlbnRyaWVzIGZyb20gdGhlIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDg2Cittc2dpZCAidHJlYXQgJ2dpdCBhZGQgLU4nIGVudHJpZXMgYXMgcmVhbCBpbiB0aGUgaW5kZXgiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0ODgKK21zZ2lkICI8c3RyaW5nPiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ4OQorbXNnaWQgIiIKKyJsb29rIGZvciBkaWZmZXJlbmNlcyB0aGF0IGNoYW5nZSB0aGUgbnVtYmVyIG9mIG9jY3VycmVuY2VzIG9mIHRoZSBzcGVjaWZpZWQgIgorInN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ5MgorbXNnaWQgIiIKKyJsb29rIGZvciBkaWZmZXJlbmNlcyB0aGF0IGNoYW5nZSB0aGUgbnVtYmVyIG9mIG9jY3VycmVuY2VzIG9mIHRoZSBzcGVjaWZpZWQgIgorInJlZ2V4IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDk1Cittc2dpZCAic2hvdyBhbGwgY2hhbmdlcyBpbiB0aGUgY2hhbmdlc2V0IHdpdGggLVMgb3IgLUciCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0OTgKK21zZ2lkICJ0cmVhdCA8c3RyaW5nPiBpbiAtUyBhcyBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU1MDEKK21zZ2lkICJjb250cm9sIHRoZSBvcmRlciBpbiB3aGljaCBmaWxlcyBhcHBlYXIgaW4gdGhlIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTUwMgorbXNnaWQgIjxvYmplY3QtaWQ+IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NTAzCittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisib2JqZWN0IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NTA1Cittc2dpZCAiWyhBfEN8RHxNfFJ8VHxVfFh8QikuLi5bKl1dIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NTA2Cittc2dpZCAic2VsZWN0IGZpbGVzIGJ5IGRpZmYgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTUwOAorbXNnaWQgIjxmaWxlPiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTUwOQorbXNnaWQgIk91dHB1dCB0byBhIHNwZWNpZmljIGZpbGUiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjYxNjQKIG1zZ2lkICJpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24gd2FzIHNraXBwZWQgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKIG1zZ3N0ciAiIgogCi0jOiBkaWZmLmM6NTgyNgorIzogZGlmZi5jOjYxNjcKIG1zZ2lkICJvbmx5IGZvdW5kIGNvcGllcyBmcm9tIG1vZGlmaWVkIHBhdGhzIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCiBtc2dzdHIgIiIKIAotIzogZGlmZi5jOjU4MjkKKyM6IGRpZmYuYzo2MTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ5b3UgbWF5IHdhbnQgdG8gc2V0IHlvdXIgJXMgdmFyaWFibGUgdG8gYXQgbGVhc3QgJWQgYW5kIHJldHJ5IHRoZSBjb21tYW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBkaXIuYzo1NzYKKyM6IGRpci5jOjU1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGUocykga25vd24gdG8gZ2l0IgogbXNnc3RyICIiCiAKLSM6IGRpci5jOjk2NQorIzogZGlyLmM6NjY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBwYXR0ZXJuOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpci5jOjY4MiBkaXIuYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG5lZ2F0aXZlIHBhdHRlcm46ICclcyciCittc2dzdHIgIiIKKworIzogZGlyLmM6NzE0CisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc3BhcnNlLWNoZWNrb3V0IGZpbGUgbWF5IGhhdmUgaXNzdWVzOiBwYXR0ZXJuICclcycgaXMgcmVwZWF0ZWQiCittc2dzdHIgIiIKKworIzogZGlyLmM6NzI0Cittc2dpZCAiZGlzYWJsaW5nIGNvbmUgcGF0dGVybiBtYXRjaGluZyIKK21zZ3N0ciAiIgorCisjOiBkaXIuYzoxMTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB1c2UgJXMgYXMgYW4gZXhjbHVkZSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGRpci5jOjE4ODAKKyM6IGRpci5jOjIwNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIiIKIAotIzogZGlyLmM6MjEyMgorIzogZGlyLmM6MjQxNQogbXNnaWQgImZhaWxlZCB0byBnZXQga2VybmVsIG5hbWUgYW5kIGluZm9ybWF0aW9uIgogbXNnc3RyICIiCiAKLSM6IGRpci5jOjIyNDYKKyM6IGRpci5jOjI1MzkKIG1zZ2lkICJ1bnRyYWNrZWQgY2FjaGUgaXMgZGlzYWJsZWQgb24gdGhpcyBzeXN0ZW0gb3IgbG9jYXRpb24iCiBtc2dzdHIgIiIKIAotIzogZGlyLmM6MzA0NworIzogZGlyLmM6MzM0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQgaW4gcmVwbyAlcyIKIG1zZ3N0ciAiIgogCi0jOiBkaXIuYzozMDkyIGRpci5jOjMwOTcKKyM6IGRpci5jOjMzODggZGlyLmM6MzM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yaWVzIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiBkaXIuYzozMTI2CisjOiBkaXIuYzozNDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBtaWdyYXRlIGdpdCBkaXJlY3RvcnkgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgIiIKQEAgLTIxOTEsMjk3ICszMjc3LDI4NyBAQAogbXNnaWQgIkZpbHRlcmluZyBjb250ZW50IgogbXNnc3RyICIiCiAKLSM6IGVudHJ5LmM6NDY1CisjOiBlbnRyeS5jOjQ3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCBmaWxlICclcyciCiBtc2dzdHIgIiIKIAotIzogZW52aXJvbm1lbnQuYzoxNTAKKyM6IGVudmlyb25tZW50LmM6MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBnaXQgbmFtZXNwYWNlIHBhdGggXCIlc1wiIgogbXNnc3RyICIiCiAKLSM6IGVudmlyb25tZW50LmM6MzMyCisjOiBlbnZpcm9ubWVudC5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc2V0IEdJVF9ESVIgdG8gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBleGVjLWNtZC5jOjM2MQorIzogZXhlYy1jbWQuYzozNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidG9vIG1hbnkgYXJncyB0byBydW4gJXMiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtb2JqZWN0LmM6MTcKLW1zZ2lkICJSZW1vdGUgd2l0aCBubyBVUkwiCi1tc2dzdHIgIiIKLQotIzogZmV0Y2gtcGFjay5jOjE1MQorIzogZmV0Y2gtcGFjay5jOjE1MAogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBzaGFsbG93IGxpc3QiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjE2MworIzogZmV0Y2gtcGFjay5jOjE1MworbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBhIGZsdXNoIHBhY2tldCBhZnRlciBzaGFsbG93IGxpc3QiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjE2NAogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgYSBmbHVzaCBwYWNrZXQiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjE4MworIzogZmV0Y2gtcGFjay5jOjE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290ICclcyciCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjI1MworIzogZmV0Y2gtcGFjay5jOjE5NQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0byByZW1vdGUiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjI1NwogbXNnaWQgIi0tc3RhdGVsZXNzLXJwYyByZXF1aXJlcyBtdWx0aV9hY2tfZGV0YWlsZWQiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjM0NyBmZXRjaC1wYWNrLmM6MTI3NworIzogZmV0Y2gtcGFjay5jOjM1NiBmZXRjaC1wYWNrLmM6MTM0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNoYWxsb3cgbGluZTogJXMiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjM1MyBmZXRjaC1wYWNrLmM6MTI4MworIzogZmV0Y2gtcGFjay5jOjM2MiBmZXRjaC1wYWNrLmM6MTM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVuc2hhbGxvdyBsaW5lOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6MzU1IGZldGNoLXBhY2suYzoxMjg1CisjOiBmZXRjaC1wYWNrLmM6MzY0IGZldGNoLXBhY2suYzoxMzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBub3QgZm91bmQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzozNTggZmV0Y2gtcGFjay5jOjEyODgKKyM6IGZldGNoLXBhY2suYzozNjcgZmV0Y2gtcGFjay5jOjEzNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW4gb2JqZWN0OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6MzYwIGZldGNoLXBhY2suYzoxMjkwCisjOiBmZXRjaC1wYWNrLmM6MzY5IGZldGNoLXBhY2suYzoxMzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHNoYWxsb3cgZm91bmQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzozNjMgZmV0Y2gtcGFjay5jOjEyOTMKKyM6IGZldGNoLXBhY2suYzozNzIgZmV0Y2gtcGFjay5jOjEzNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgc2hhbGxvdy91bnNoYWxsb3csIGdvdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6NDA0CisjOiBmZXRjaC1wYWNrLmM6NDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImdvdCAlcyAlZCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6NDIxCisjOiBmZXRjaC1wYWNrLmM6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29tbWl0ICVzIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzo0NTIKKyM6IGZldGNoLXBhY2suYzo0NjIKIG1zZ2lkICJnaXZpbmcgdXAiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjQ2NCBwcm9ncmVzcy5jOjIyOQorIzogZmV0Y2gtcGFjay5jOjQ3NSBwcm9ncmVzcy5jOjMyMwogbXNnaWQgImRvbmUiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjQ3NgorIzogZmV0Y2gtcGFjay5jOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJnb3QgJXMgKCVkKSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6NTIyCisjOiBmZXRjaC1wYWNrLmM6NTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hcmtpbmcgJXMgYXMgY29tcGxldGUiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjc2NAorIzogZmV0Y2gtcGFjay5jOjc1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJhbHJlYWR5IGhhdmUgJXMgKCVzKSIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6ODAzCisjOiBmZXRjaC1wYWNrLmM6ODE4CiBtc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjgxMQorIzogZmV0Y2gtcGFjay5jOjgyNgogbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgcGFjayBoZWFkZXIiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjg3OQorIzogZmV0Y2gtcGFjay5jOjkwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgJXMiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjg5NQorIzogZmV0Y2gtcGFjay5jOjkxNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjg5NworIzogZmV0Y2gtcGFjay5jOjkxOAogbXNnaWQgImVycm9yIGluIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjkyNgotbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgY2xpZW50cyIKLW1zZ3N0ciAiIgotCi0jOiBmZXRjaC1wYWNrLmM6OTMwCi1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2Fja19kZXRhaWxlZCIKLW1zZ3N0ciAiIgotCi0jOiBmZXRjaC1wYWNrLmM6OTMzCi1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIG5vLWRvbmUiCi1tc2dzdHIgIiIKLQotIzogZmV0Y2gtcGFjay5jOjkzOQotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2siCi1tc2dzdHIgIiIKLQotIzogZmV0Y2gtcGFjay5jOjk0MwotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQtNjRrIgotbXNnc3RyICIiCi0KLSM6IGZldGNoLXBhY2suYzo5NDcKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kIgotbXNnc3RyICIiCi0KLSM6IGZldGNoLXBhY2suYzo5NTEKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctdGlwLXNoYTEtaW4td2FudCIKLW1zZ3N0ciAiIgotCi0jOiBmZXRjaC1wYWNrLmM6OTU1Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCi1tc2dzdHIgIiIKLQogIzogZmV0Y2gtcGFjay5jOjk2NQotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBvZnMtZGVsdGEiCi1tc2dzdHIgIiIKLQotIzogZmV0Y2gtcGFjay5jOjk3MSBmZXRjaC1wYWNrLmM6MTE1OAotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBmaWx0ZXIiCi1tc2dzdHIgIiIKLQotIzogZmV0Y2gtcGFjay5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgdmVyc2lvbiBpcyAlLipzIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzo5ODUKKyM6IGZldGNoLXBhY2suYzo5NzAgZmV0Y2gtcGFjay5jOjk3NiBmZXRjaC1wYWNrLmM6OTc5IGZldGNoLXBhY2suYzo5ODUKKyM6IGZldGNoLXBhY2suYzo5ODkgZmV0Y2gtcGFjay5jOjk5MyBmZXRjaC1wYWNrLmM6OTk3IGZldGNoLXBhY2suYzoxMDAxCisjOiBmZXRjaC1wYWNrLmM6MTAwNSBmZXRjaC1wYWNrLmM6MTAwOSBmZXRjaC1wYWNrLmM6MTAxMyBmZXRjaC1wYWNrLmM6MTAxNworIzogZmV0Y2gtcGFjay5jOjEwMjMgZmV0Y2gtcGFjay5jOjEwMjkgZmV0Y2gtcGFjay5jOjEwMzQgZmV0Y2gtcGFjay5jOjEwMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzICVzIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzo5NzIKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNsaWVudHMiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjEwMzIKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctc2luY2UiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjk4OQorIzogZmV0Y2gtcGFjay5jOjEwMzcKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctZXhjbHVkZSIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6OTkxCisjOiBmZXRjaC1wYWNrLmM6MTA0MQogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tZGVlcGVuIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzoxMDA4CisjOiBmZXRjaC1wYWNrLmM6MTA1OAogbXNnaWQgIm5vIGNvbW1vbiBjb21taXRzIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzoxMDIwIGZldGNoLXBhY2suYzoxNDE4CisjOiBmZXRjaC1wYWNrLmM6MTA3MCBmZXRjaC1wYWNrLmM6MTUzNgogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBmZXRjaCBmYWlsZWQuIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzoxMTUzCisjOiBmZXRjaC1wYWNrLmM6MTIwOQogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgcmVxdWVzdHMiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjExOTkKKyM6IGZldGNoLXBhY2suYzoxMjE2Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzIGZpbHRlciIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6MTIzOQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSByZXF1ZXN0IHRvIHJlbW90ZSIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6MTI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciByZWFkaW5nIHNlY3Rpb24gaGVhZGVyICclcyciCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjEyMDUKKyM6IGZldGNoLXBhY2suYzoxMjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkICclcycsIHJlY2VpdmVkICclcyciCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjEyNDQKKyM6IGZldGNoLXBhY2suYzoxMzAzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYWNrbm93bGVkZ21lbnQgbGluZTogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6MTI0OQorIzogZmV0Y2gtcGFjay5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcHJvY2Vzc2luZyBhY2tzOiAlZCIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6MTI1OQorIzogZmV0Y2gtcGFjay5jOjEzMTgKIG1zZ2lkICJleHBlY3RlZCBwYWNrZmlsZSB0byBiZSBzZW50IGFmdGVyICdyZWFkeSciCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjEyNjEKKyM6IGZldGNoLXBhY2suYzoxMzIwCiBtc2dpZCAiZXhwZWN0ZWQgbm8gb3RoZXIgc2VjdGlvbnMgdG8gYmUgc2VudCBhZnRlciBubyAncmVhZHknIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzoxMjk4CisjOiBmZXRjaC1wYWNrLmM6MTM2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBwcm9jZXNzaW5nIHNoYWxsb3cgaW5mbzogJWQiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjEzMTQKKyM6IGZldGNoLXBhY2suYzoxNDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIHdhbnRlZC1yZWYsIGdvdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzoxMzI0CisjOiBmZXRjaC1wYWNrLmM6MTQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHdhbnRlZC1yZWY6ICclcyciCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjEzMjgKKyM6IGZldGNoLXBhY2suYzoxNDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHByb2Nlc3Npbmcgd2FudGVkIHJlZnM6ICVkIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzoxNjQyCisjOiBmZXRjaC1wYWNrLmM6MTc2MgogbXNnaWQgIm5vIG1hdGNoaW5nIHJlbW90ZSBoZWFkIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzoxNjYwIGJ1aWx0aW4vY2xvbmUuYzo2NjQKKyM6IGZldGNoLXBhY2suYzoxNzg1IGJ1aWx0aW4vY2xvbmUuYzo2ODgKIG1zZ2lkICJyZW1vdGUgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6MTY4NgorIzogZmV0Y2gtcGFjay5jOjE4MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCByZW1vdGUgcmVmICVzIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzoxNjg5CisjOiBmZXRjaC1wYWNrLmM6MTgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3QgYWxsb3cgcmVxdWVzdCBmb3IgdW5hZHZlcnRpc2VkIG9iamVjdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MzE4Ci1tc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgotbXNnc3RyICIiCi0KLSM6IGdwZy1pbnRlcmZhY2UuYzozNDQKKyM6IGdwZy1pbnRlcmZhY2UuYzoyMjMKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGdwZy1pbnRlcmZhY2UuYzozNDcKKyM6IGdwZy1pbnRlcmZhY2UuYzoyMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHdyaXRpbmcgZGV0YWNoZWQgc2lnbmF0dXJlIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogZ3JhcGguYzo5NworIzogZ3BnLWludGVyZmFjZS5jOjM5MAorbXNnaWQgImdwZyBmYWlsZWQgdG8gc2lnbiB0aGUgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBncmFwaC5jOjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yZSBpbnZhbGlkIGNvbG9yICclLipzJyBpbiBsb2cuZ3JhcGhDb2xvcnMiCiBtc2dzdHIgIiIKIAotIzogZ3JlcC5jOjIxMTMKKyM6IGdyZXAuYzo2NjgKK21zZ2lkICIiCisiZ2l2ZW4gcGF0dGVybiBjb250YWlucyBOVUxMIGJ5dGUgKHZpYSAtZiA8ZmlsZT4pLiBUaGlzIGlzIG9ubHkgc3VwcG9ydGVkICIKKyJ3aXRoIC1QIHVuZGVyIFBDUkUgdjIiCittc2dzdHIgIiIKKworIzogZ3JlcC5jOjIxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIiIKIAotIzogZ3JlcC5jOjIxMzAgc2V0dXAuYzoxNjQgYnVpbHRpbi9jbG9uZS5jOjQxMCBidWlsdGluL2RpZmYuYzo4MQotIzogYnVpbHRpbi9ybS5jOjEzNAorIzogZ3JlcC5jOjIxNDEgc2V0dXAuYzoxNjUgYnVpbHRpbi9jbG9uZS5jOjQxMSBidWlsdGluL2RpZmYuYzo4MgorIzogYnVpbHRpbi9ybS5jOjEzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGdyZXAuYzoyMTQxCisjOiBncmVwLmM6MjE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBzaG9ydCByZWFkIgogbXNnc3RyICIiCkBAIC0yNTMxLDc5ICszNjA3LDc5IEBACiBtc2dzdHIgIiIKIAogIzogaGVscC5jOjM3Ci1tc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gU3luY2hpbmcgUmVwb3NpdG9yaWVzIgorbXNnaWQgIkxvdy1sZXZlbCBDb21tYW5kcyAvIFN5bmNpbmcgUmVwb3NpdG9yaWVzIgogbXNnc3RyICIiCiAKICM6IGhlbHAuYzozOAogbXNnaWQgIkxvdy1sZXZlbCBDb21tYW5kcyAvIEludGVybmFsIEhlbHBlcnMiCiBtc2dzdHIgIiIKIAotIzogaGVscC5jOjI5NgorIzogaGVscC5jOjI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJhdmFpbGFibGUgZ2l0IGNvbW1hbmRzIGluICclcyciCiBtc2dzdHIgIiIKIAotIzogaGVscC5jOjMwMworIzogaGVscC5jOjMwNQogbXNnaWQgImdpdCBjb21tYW5kcyBhdmFpbGFibGUgZnJvbSBlbHNld2hlcmUgb24geW91ciAkUEFUSCIKIG1zZ3N0ciAiIgogCi0jOiBoZWxwLmM6MzEyCisjOiBoZWxwLmM6MzE0CiBtc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgogbXNnc3RyICIiCiAKLSM6IGhlbHAuYzozNjEgZ2l0LmM6OTAKKyM6IGhlbHAuYzozNjMgZ2l0LmM6OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCBsaXN0aW5nIHR5cGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBoZWxwLmM6NDA4CisjOiBoZWxwLmM6NDAzCiBtc2dpZCAiVGhlIGNvbW1vbiBHaXQgZ3VpZGVzIGFyZToiCiBtc2dzdHIgIiIKIAotIzogaGVscC5jOjUxNworIzogaGVscC5jOjUxMgogbXNnaWQgIlNlZSAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyB0byByZWFkIGFib3V0IGEgc3BlY2lmaWMgc3ViY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBoZWxwLmM6NTIyCisjOiBoZWxwLmM6NTE3CiBtc2dpZCAiRXh0ZXJuYWwgY29tbWFuZHMiCiBtc2dzdHIgIiIKIAotIzogaGVscC5jOjUzMAorIzogaGVscC5jOjUzMgogbXNnaWQgIkNvbW1hbmQgYWxpYXNlcyIKIG1zZ3N0ciAiIgogCi0jOiBoZWxwLmM6NTk0CisjOiBoZWxwLmM6NTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnIGFwcGVhcnMgdG8gYmUgYSBnaXQgY29tbWFuZCwgYnV0IHdlIHdlcmUgbm90XG4iCiAiYWJsZSB0byBleGVjdXRlIGl0LiBNYXliZSBnaXQtJXMgaXMgYnJva2VuPyIKIG1zZ3N0ciAiIgogCi0jOiBoZWxwLmM6NjUzCisjOiBoZWxwLmM6NjU1CiBtc2dpZCAiVWggb2guIFlvdXIgc3lzdGVtIHJlcG9ydHMgbm8gR2l0IGNvbW1hbmRzIGF0IGFsbC4iCiBtc2dzdHIgIiIKIAotIzogaGVscC5jOjY3NQorIzogaGVscC5jOjY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJXQVJOSU5HOiBZb3UgY2FsbGVkIGEgR2l0IGNvbW1hbmQgbmFtZWQgJyVzJywgd2hpY2ggZG9lcyBub3QgZXhpc3QuIgogbXNnc3RyICIiCiAKLSM6IGhlbHAuYzo2ODAKKyM6IGhlbHAuYzo2ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29udGludWluZyB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHlvdSBtZWFudCAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiBoZWxwLmM6Njg1CisjOiBoZWxwLmM6Njg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbnRpbnVpbmcgaW4gJTAuMWYgc2Vjb25kcywgYXNzdW1pbmcgdGhhdCB5b3UgbWVhbnQgJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogaGVscC5jOjY5MworIzogaGVscC5jOjY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQ6ICclcycgaXMgbm90IGEgZ2l0IGNvbW1hbmQuIFNlZSAnZ2l0IC0taGVscCcuIgogbXNnc3RyICIiCiAKLSM6IGhlbHAuYzo2OTcKKyM6IGhlbHAuYzo2OTkKIG1zZ2lkICIiCiAiXG4iCiAiVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kIGlzIgpAQCAtMjYxMywxNiArMzY4OSwxNiBAQAogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogaGVscC5jOjcxMgorIzogaGVscC5jOjcxNAogbXNnaWQgImdpdCB2ZXJzaW9uIFs8b3B0aW9ucz5dIgogbXNnc3RyICIiCiAKLSM6IGhlbHAuYzo3ODAKKyM6IGhlbHAuYzo3ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIC0gJXMiCiBtc2dzdHIgIiIKIAotIzogaGVscC5jOjc4NAorIzogaGVscC5jOjc4NwogbXNnaWQgIiIKICJcbiIKICJEaWQgeW91IG1lYW4gdGhpcz8iCkBAIC0yNjMyLDcgKzM3MDgsNyBAQAogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogaWRlbnQuYzozNDUKKyM6IGlkZW50LmM6MzQ5CiBtc2dpZCAiIgogIlxuIgogIioqKiBQbGVhc2UgdGVsbCBtZSB3aG8geW91IGFyZS5cbiIKQEAgLTI2NDcsNDkgKzM3MjMsODggQEAKICJcbiIKIG1zZ3N0ciAiIgogCi0jOiBpZGVudC5jOjM2OQorIzogaWRlbnQuYzozNzkKIG1zZ2lkICJubyBlbWFpbCB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgogbXNnc3RyICIiCiAKLSM6IGlkZW50LmM6Mzc0CisjOiBpZGVudC5jOjM4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYXV0by1kZXRlY3QgZW1haWwgYWRkcmVzcyAoZ290ICclcycpIgogbXNnc3RyICIiCiAKLSM6IGlkZW50LmM6Mzg0CisjOiBpZGVudC5jOjQwMQogbXNnaWQgIm5vIG5hbWUgd2FzIGdpdmVuIGFuZCBhdXRvLWRldGVjdGlvbiBpcyBkaXNhYmxlZCIKIG1zZ3N0ciAiIgogCi0jOiBpZGVudC5jOjM5MAorIzogaWRlbnQuYzo0MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGF1dG8tZGV0ZWN0IG5hbWUgKGdvdCAnJXMnKSIKIG1zZ3N0ciAiIgogCi0jOiBpZGVudC5jOjM5OAorIzogaWRlbnQuYzo0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1wdHkgaWRlbnQgbmFtZSAoZm9yIDwlcz4pIG5vdCBhbGxvd2VkIgogbXNnc3RyICIiCiAKLSM6IGlkZW50LmM6NDA0CisjOiBpZGVudC5jOjQyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJuYW1lIGNvbnNpc3RzIG9ubHkgb2YgZGlzYWxsb3dlZCBjaGFyYWN0ZXJzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBpZGVudC5jOjQxOSBidWlsdGluL2NvbW1pdC5jOjYwNgorIzogaWRlbnQuYzo0MzYgYnVpbHRpbi9jb21taXQuYzo2MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdDogJXMiCiBtc2dzdHIgIiIKIAotIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MzUKLW1zZ2lkICJtdWx0aXBsZSBmaWx0ZXItc3BlY3MgY2Fubm90IGJlIGNvbWJpbmVkIgorIzogbGlzdC1vYmplY3RzLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgImVudHJ5ICclcycgaW4gdHJlZSAlcyBoYXMgdHJlZSBtb2RlLCBidXQgaXMgbm90IGEgdHJlZSIKK21zZ3N0ciAiIgorCisjOiBsaXN0LW9iamVjdHMuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW50cnkgJyVzJyBpbiB0cmVlICVzIGhhcyBibG9iIG1vZGUsIGJ1dCBpcyBub3QgYSBibG9iIgorbXNnc3RyICIiCisKKyM6IGxpc3Qtb2JqZWN0cy5jOjM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gbG9hZCByb290IHRyZWUgZm9yIGNvbW1pdCAlcyIKK21zZ3N0ciAiIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhY2Nlc3Mgc3BhcnNlIGJsb2IgaW4gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSBzcGFyc2UgZmlsdGVyIGRhdGEgaW4gJXMiCiBtc2dzdHIgIiIKIAogIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6NTgKLW1zZ2lkICJvbmx5ICd0cmVlOjAnIGlzIHN1cHBvcnRlZCIKK21zZ2lkICJleHBlY3RlZCAndHJlZTo8ZGVwdGg+JyIKIG1zZ3N0ciAiIgogCi0jOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzoxMzcKLW1zZ2lkICJjYW5ub3QgY2hhbmdlIHBhcnRpYWwgY2xvbmUgcHJvbWlzb3IgcmVtb3RlIgorIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6NzMKK21zZ2lkICJzcGFyc2U6cGF0aCBmaWx0ZXJzIHN1cHBvcnQgaGFzIGJlZW4gZHJvcHBlZCIKK21zZ3N0ciAiIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGZpbHRlci1zcGVjICclcyciCittc2dzdHIgIiIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgZXNjYXBlIGNoYXIgaW4gc3ViLWZpbHRlci1zcGVjOiAnJWMnIgorbXNnc3RyICIiCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjE0NAorbXNnaWQgImV4cGVjdGVkIHNvbWV0aGluZyBhZnRlciBjb21iaW5lOiIKK21zZ3N0ciAiIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzoyMjYKK21zZ2lkICJtdWx0aXBsZSBmaWx0ZXItc3BlY3MgY2Fubm90IGJlIGNvbWJpbmVkIgogbXNnc3RyICIiCiAKICM6IGxvY2tmaWxlLmM6MTUxCkBAIC0yNzEzLDExMyArMzgyOCwxMTAgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UuYzoxMDcgcmVyZXJlLmM6NzIwIGJ1aWx0aW4vYW0uYzoxODk5IGJ1aWx0aW4vYW0uYzoxOTMzCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Mzg3IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MDggYnVpbHRpbi9jbG9uZS5jOjc2NAorIzogbWVyZ2UuYzoxMDcgcmVyZXJlLmM6NzIwIGJ1aWx0aW4vYW0uYzoxODc0IGJ1aWx0aW4vYW0uYzoxOTA4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTM5IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTggYnVpbHRpbi9jbG9uZS5jOjgwOQorIzogYnVpbHRpbi9zdGFzaC5jOjI2NAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM2NwogbXNnaWQgIihiYWQgY29tbWl0KVxuIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9jYWNoZWluZm8gZmFpbGVkIGZvciBwYXRoICclcyc7IG1lcmdlIGFib3J0aW5nLiIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNTMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfY2FjaGVpbmZvIGZhaWxlZCB0byByZWZyZXNoIGZvciBwYXRoICclcyc7IG1lcmdlIGFib3J0aW5nLiIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo0MzUKLW1zZ2lkICJlcnJvciBidWlsZGluZyB0cmVlcyIKLW1zZ3N0ciAiIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5MDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBhdGggJyVzJyVzIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIHRvIG1ha2Ugcm9vbSBmb3Igc3ViZGlyZWN0b3J5XG4iCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTMxIG1lcmdlLXJlY3Vyc2l2ZS5jOjk1MAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTEwIG1lcmdlLXJlY3Vyc2l2ZS5jOjkyOQogbXNnaWQgIjogcGVyaGFwcyBhIEQvRiBjb25mbGljdD8iCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTQwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4MiBidWlsdGluL2NhdC1maWxlLmM6MzkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk2MCBidWlsdGluL2NhdC1maWxlLmM6NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzICclcyciCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTg0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmxvYiBleHBlY3RlZCBmb3IgJXMgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDA4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJzogJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAxOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3ltbGluayAnJXMnOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDI0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvIG5vdCBrbm93IHdoYXQgdG8gZG8gd2l0aCAlMDZvICVzICclcyciCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIxMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChub3QgY2hlY2tlZCBvdXQpIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMTkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAoY29tbWl0cyBub3QgcHJlc2VudCkiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChjb21taXRzIGRvbid0IGZvbGxvdyBtZXJnZS1iYXNlKSIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjM0IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjEgbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRpbmcgc3VibW9kdWxlICVzIHRvIHRoZSBmb2xsb3dpbmcgY29tbWl0OiIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjM3IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNDkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjQgbWVyZ2UtcmVjdXJzaXZlLmM6MTIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRpbmcgc3VibW9kdWxlICVzIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobWVyZ2UgZm9sbG93aW5nIGNvbW1pdHMgbm90IGZvdW5kKSIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG5vdCBmYXN0LWZvcndhcmQpIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNzYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNjQKIG1zZ2lkICJGb3VuZCBhIHBvc3NpYmxlIG1lcmdlIHJlc29sdXRpb24gZm9yIHRoZSBzdWJtb2R1bGU6XG4iCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI3OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgdGhpcyBpcyBjb3JyZWN0IHNpbXBseSBhZGQgaXQgdG8gdGhlIGluZGV4IGZvciBleGFtcGxlXG4iCkBAIC0yODMwLDUyICszOTQyLDUyIEBACiAid2hpY2ggd2lsbCBhY2NlcHQgdGhpcyBzdWdnZXN0aW9uLlxuIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyODgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobXVsdGlwbGUgbWVyZ2VzIGZvdW5kKSIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzU4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzQ5CiBtc2dpZCAiRmFpbGVkIHRvIGV4ZWN1dGUgaW50ZXJuYWwgbWVyZ2UiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM2MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkICVzIHRvIGRhdGFiYXNlIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzOTUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0by1tZXJnaW5nICVzIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0MTYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3I6IFJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJXM7IHdyaXRpbmcgdG8gJXMgaW5zdGVhZC4iCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ4MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgogImluIHRyZWUuIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0ODgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCiAibGVmdCBpbiB0cmVlLiIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDk1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCiAiaW4gdHJlZSBhdCAlcy4iCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUwMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzICIKQEAgLTI4OTAsNDkgKzQwMDIsNDggQEAKIG1zZ2lkICJyZW5hbWVkIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1ODggbWVyZ2UtcmVjdXJzaXZlLmM6MTczNyBtZXJnZS1yZWN1cnNpdmUuYzoyMzY5Ci0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMTI0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjE0IG1lcmdlLXJlY3Vyc2l2ZS5jOjI1MzAgbWVyZ2UtcmVjdXJzaXZlLmM6MzE3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBsb3NlIGRpcnR5IGZpbGUgYXQgJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYwMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYyNAorIywgYy1mb3JtYXQKK21zZ2lkICJSZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICVzLCBldmVuIHRob3VnaCBpdCdzIGluIHRoZSB3YXkuIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAgQWRkZWQgJXMgaW4gJXMiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBhIGRpcmVjdG9yeSBpbiAlcyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjA3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJXM7IGFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIFwiJXNcIi0+XCIlc1wiIGluIGJyYW5jaCBcIiVzXCIgcmVuYW1lIFwiJXMiCiAiXCItPlwiJXNcIiBpbiBcIiVzXCIlcyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjM4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQyCiBtc2dpZCAiIChsZWZ0IHVucmVzb2x2ZWQpIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2OTkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgJXMtPiVzIGluICVzLiBSZW5hbWUgJXMtPiVzIGluICVzIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXMgYW5kICVzIHRvICVzIGluc3RlYWQiCi1tc2dzdHIgIiIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0NgotIywgYy1mb3JtYXQKLW1zZ2lkICJSZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICVzLCBldmVuIHRob3VnaCBpdCdzIGluIHRoZSB3YXkuIgotbXNnc3RyICIiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5NTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChkaXJlY3RvcnkgcmVuYW1lIHNwbGl0KTogVW5jbGVhciB3aGVyZSB0byBwbGFjZSAlcyBiZWNhdXNlICIKQEAgLTI5NDAsMjgwICs0MDUxLDM0NCBAQAogImdldHRpbmcgYSBtYWpvcml0eSBvZiB0aGUgZmlsZXMuIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5ODQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChpbXBsaWNpdCBkaXIgcmVuYW1lKTogRXhpc3RpbmcgZmlsZS9kaXIgYXQgJXMgaW4gdGhlIHdheSBvZiAiCiAiaW1wbGljaXQgZGlyZWN0b3J5IHJlbmFtZShzKSBwdXR0aW5nIHRoZSBmb2xsb3dpbmcgcGF0aChzKSB0aGVyZTogJXMuIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5OTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChpbXBsaWNpdCBkaXIgcmVuYW1lKTogQ2Fubm90IG1hcCBtb3JlIHRoYW4gb25lIHBhdGggdG8gJXM7ICIKICJpbXBsaWNpdCBkaXJlY3RvcnkgcmVuYW1lcyB0cmllZCB0byBwdXQgdGhlc2UgcGF0aHMgdGhlcmU6ICVzIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwODYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIyNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIGRpcmVjdG9yeSAlcy0+JXMgaW4gJXMuIFJlbmFtZSBkaXJlY3RvcnkgJXMtIgogIj4lcyBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMzMxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyNDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXQVJOSU5HOiBBdm9pZGluZyBhcHBseWluZyAlcyAtPiAlcyByZW5hbWUgdG8gJXMsIGJlY2F1c2UgJXMgaXRzZWxmIHdhcyAiCiAicmVuYW1lZC4iCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjczNwotIywgYy1mb3JtYXQKLW1zZ2lkICJDT05GTElDVCAocmVuYW1lL2FkZCk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuICVzIGFkZGVkIGluICVzIgotbXNnc3RyICIiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI3NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQWRkaW5nIG1lcmdlZCAlcyIKLW1zZ3N0ciAiIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzcwIG1lcmdlLXJlY3Vyc2l2ZS5jOjMxMjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQWRkaW5nIGFzICVzIGluc3RlYWQiCi1tc2dzdHIgIiIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjkzNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjkzNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgaXMgbm90IGEgYmxvYiIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDA2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDg2CiBtc2dpZCAibW9kaWZ5IgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwODYKIG1zZ2lkICJtb2RpZmllZCIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDE3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDk4CiBtc2dpZCAiY29udGVudCIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDI0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTAyCiBtc2dpZCAiYWRkL2FkZCIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDcxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgJXMgKG1lcmdlZCBzYW1lIGFzIGV4aXN0aW5nKSIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDkzIGdpdC1zdWJtb2R1bGUuc2g6ODU4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTQ3IGdpdC1zdWJtb2R1bGUuc2g6OTkzCiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwOTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzIxNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE3OAogIywgYy1mb3JtYXQKLW1zZ2lkICJSZW1vdmluZyAlcyIKK21zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjQyCi1tc2dpZCAiZmlsZS9kaXJlY3RvcnkiCi1tc2dzdHIgIiIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI0OAotbXNnaWQgImRpcmVjdG9yeS9maWxlIgotbXNnc3RyICIiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNTUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNjEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ09ORkxJQ1QgKCVzKTogVGhlcmUgaXMgYSBkaXJlY3Rvcnkgd2l0aCBuYW1lICVzIGluICVzLiBBZGRpbmcgJXMgYXMgJXMiCittc2dpZCAiIgorIlBhdGggdXBkYXRlZDogJXMgYWRkZWQgaW4gJXMgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgd2FzIHJlbmFtZWQgaW4gJXM7ICIKKyJtb3ZpbmcgaXQgdG8gJXMuIgogbXNnc3RyICIiCiAKICM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNjQKICMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUIChmaWxlIGxvY2F0aW9uKTogJXMgYWRkZWQgaW4gJXMgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgd2FzIHJlbmFtZWQgIgorImluICVzLCBzdWdnZXN0aW5nIGl0IHNob3VsZCBwZXJoYXBzIGJlIG1vdmVkIHRvICVzLiIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQYXRoIHVwZGF0ZWQ6ICVzIHJlbmFtZWQgdG8gJXMgaW4gJXMsIGluc2lkZSBhIGRpcmVjdG9yeSB0aGF0IHdhcyByZW5hbWVkIGluICIKKyIlczsgbW92aW5nIGl0IHRvICVzLiIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoZmlsZSBsb2NhdGlvbik6ICVzIHJlbmFtZWQgdG8gJXMgaW4gJXMsIGluc2lkZSBhIGRpcmVjdG9yeSB0aGF0ICIKKyJ3YXMgcmVuYW1lZCBpbiAlcywgc3VnZ2VzdGluZyBpdCBzaG91bGQgcGVyaGFwcyBiZSBtb3ZlZCB0byAlcy4iCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzM4NQorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1vdmluZyAlcyIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDA4Cittc2dpZCAiZmlsZS9kaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQxMworbXNnaWQgImRpcmVjdG9yeS9maWxlIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ09ORkxJQ1QgKCVzKTogVGhlcmUgaXMgYSBkaXJlY3Rvcnkgd2l0aCBuYW1lICVzIGluICVzLiBBZGRpbmcgJXMgYXMgJXMiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQyOQorIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzMwMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQzOAogIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCi0iICAlcyIKK21zZ2lkICJDT05GTElDVCAoYWRkL2FkZCk6IE1lcmdlIGNvbmZsaWN0IGluICVzIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMzMTEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0ODIKIG1zZ2lkICJBbHJlYWR5IHVwIHRvIGRhdGUhIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMzMjAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2luZyBvZiB0cmVlcyAlcyBhbmQgJXMgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MTkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM1OTUKIG1zZ2lkICJNZXJnaW5nOiIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNDMyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcjoiCiBtc2dpZF9wbHVyYWwgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcnM6IgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQ3MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzY1OAogbXNnaWQgIm1lcmdlIHJldHVybmVkIG5vIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNTM3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKKyIgICVzIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM1NTMgYnVpbHRpbi9tZXJnZS5jOjY5MSBidWlsdGluL21lcmdlLmM6ODQ5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozODMyIGJ1aWx0aW4vbWVyZ2UuYzo2OTQgYnVpbHRpbi9tZXJnZS5jOjg3NAogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCiBtc2dzdHIgIiIKIAotIzogbWlkeC5jOjY1CisjOiBtaWR4LmM6NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCBmaWxlICVzIGlzIHRvbyBzbWFsbCIKIG1zZ3N0ciAiIgogCi0jOiBtaWR4LmM6ODEKKyM6IG1pZHguYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHNpZ25hdHVyZSAweCUwOHggZG9lcyBub3QgbWF0Y2ggc2lnbmF0dXJlIDB4JTA4eCIKIG1zZ3N0ciAiIgogCi0jOiBtaWR4LmM6ODYKKyM6IG1pZHguYzo4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHZlcnNpb24gJWQgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgIiIKIAotIzogbWlkeC5jOjkxCisjOiBtaWR4LmM6OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGFzaCB2ZXJzaW9uICV1IGRvZXMgbm90IG1hdGNoIgogbXNnc3RyICIiCiAKLSM6IG1pZHguYzoxMDUKKyM6IG1pZHguYzoxMDgKIG1zZ2lkICJpbnZhbGlkIGNodW5rIG9mZnNldCAodG9vIGxhcmdlKSIKIG1zZ3N0ciAiIgogCi0jOiBtaWR4LmM6MTI5CisjOiBtaWR4LmM6MTMyCiBtc2dpZCAidGVybWluYXRpbmcgbXVsdGktcGFjay1pbmRleCBjaHVuayBpZCBhcHBlYXJzIGVhcmxpZXIgdGhhbiBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiBtaWR4LmM6MTQyCisjOiBtaWR4LmM6MTQ1CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCBtaXNzaW5nIHJlcXVpcmVkIHBhY2stbmFtZSBjaHVuayIKIG1zZ3N0ciAiIgogCi0jOiBtaWR4LmM6MTQ0CisjOiBtaWR4LmM6MTQ3CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCBtaXNzaW5nIHJlcXVpcmVkIE9JRCBmYW5vdXQgY2h1bmsiCiBtc2dzdHIgIiIKIAotIzogbWlkeC5jOjE0NgorIzogbWlkeC5jOjE0OQogbXNnaWQgIm11bHRpLXBhY2staW5kZXggbWlzc2luZyByZXF1aXJlZCBPSUQgbG9va3VwIGNodW5rIgogbXNnc3RyICIiCiAKLSM6IG1pZHguYzoxNDgKKyM6IG1pZHguYzoxNTEKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgb2JqZWN0IG9mZnNldHMgY2h1bmsiCiBtc2dzdHIgIiIKIAotIzogbWlkeC5jOjE2MgorIzogbWlkeC5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHBhY2sgbmFtZXMgb3V0IG9mIG9yZGVyOiAnJXMnIGJlZm9yZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IG1pZHguYzoyMDUKKyM6IG1pZHguYzoyMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2staW50LWlkOiAldSAoJXUgdG90YWwgcGFja3MpIgogbXNnc3RyICIiCiAKLSM6IG1pZHguYzoyNDYKKyM6IG1pZHguYzoyNjAKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHN0b3JlcyBhIDY0LWJpdCBvZmZzZXQsIGJ1dCBvZmZfdCBpcyB0b28gc21hbGwiCiBtc2dzdHIgIiIKIAotIzogbWlkeC5jOjI3MQorIzogbWlkeC5jOjI4OAogbXNnaWQgImVycm9yIHByZXBhcmluZyBwYWNrZmlsZSBmcm9tIG11bHRpLXBhY2staW5kZXgiCiBtc2dzdHIgIiIKIAotIzogbWlkeC5jOjQwNworIzogbWlkeC5jOjQ3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gYWRkIHBhY2tmaWxlICclcyciCiBtc2dzdHIgIiIKIAotIzogbWlkeC5jOjQxMworIzogbWlkeC5jOjQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBwYWNrLWluZGV4ICclcyciCiBtc2dzdHIgIiIKIAotIzogbWlkeC5jOjUwNworIzogbWlkeC5jOjUzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9jYXRlIG9iamVjdCAlZCBpbiBwYWNrZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBtaWR4LmM6OTQzCisjOiBtaWR4LmM6ODQyCittc2dpZCAiQWRkaW5nIHBhY2tmaWxlcyB0byBtdWx0aS1wYWNrLWluZGV4IgorbXNnc3RyICIiCisKKyM6IG1pZHguYzo4NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlkIG5vdCBzZWUgcGFjay1maWxlICVzIHRvIGRyb3AiCittc2dzdHIgIiIKKworIzogbWlkeC5jOjk3MworbXNnaWQgIldyaXRpbmcgY2h1bmtzIHRvIG11bHRpLXBhY2staW5kZXgiCittc2dzdHIgIiIKKworIzogbWlkeC5jOjEwNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNsZWFyIG11bHRpLXBhY2staW5kZXggYXQgJXMiCiBtc2dzdHIgIiIKIAotIzogbWlkeC5jOjk4MQorIzogbWlkeC5jOjExMDgKK21zZ2lkICJMb29raW5nIGZvciByZWZlcmVuY2VkIHBhY2tmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6MTEyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAib2lkIGZhbm91dCBvdXQgb2Ygb3JkZXI6IGZhbm91dFslZF0gPSAlPFBSSXgzMj4gPiAlPFBSSXgzMj4gPSBmYW5vdXRbJWRdIgogbXNnc3RyICIiCiAKLSM6IG1pZHguYzo5OTIKKyM6IG1pZHguYzoxMTI4Cittc2dpZCAiVmVyaWZ5aW5nIE9JRCBvcmRlciBpbiBtdWx0aS1wYWNrLWluZGV4IgorbXNnc3RyICIiCisKKyM6IG1pZHguYzoxMTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9pZCBsb29rdXAgb3V0IG9mIG9yZGVyOiBvaWRbJWRdID0gJXMgPj0gJXMgPSBvaWRbJWRdIgogbXNnc3RyICIiCiAKLSM6IG1pZHguYzo5OTYKKyM6IG1pZHguYzoxMTU3Cittc2dpZCAiU29ydGluZyBvYmplY3RzIGJ5IHBhY2tmaWxlIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzoxMTY0CiBtc2dpZCAiVmVyaWZ5aW5nIG9iamVjdCBvZmZzZXRzIgogbXNnc3RyICIiCiAKLSM6IG1pZHguYzoxMDA0CisjOiBtaWR4LmM6MTE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBwYWNrIGVudHJ5IGZvciBvaWRbJWRdID0gJXMiCiBtc2dzdHIgIiIKIAotIzogbWlkeC5jOjEwMTAKKyM6IG1pZHguYzoxMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBsb2FkIHBhY2staW5kZXggZm9yIHBhY2tmaWxlICVzIgogbXNnc3RyICIiCiAKLSM6IG1pZHguYzoxMDE5CisjOiBtaWR4LmM6MTE5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmNvcnJlY3Qgb2JqZWN0IG9mZnNldCBmb3Igb2lkWyVkXSA9ICVzOiAlPFBSSXg2ND4gIT0gJTxQUkl4NjQ+IgogbXNnc3RyICIiCiAKLSM6IG5hbWUtaGFzaC5jOjUzMgorIzogbWlkeC5jOjEyMjAKK21zZ2lkICJDb3VudGluZyByZWZlcmVuY2VkIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogbWlkeC5jOjEyMzAKK21zZ2lkICJGaW5kaW5nIGFuZCBkZWxldGluZyB1bnJlZmVyZW5jZWQgcGFja2ZpbGVzIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzoxMzg4Cittc2dpZCAiY291bGQgbm90IHN0YXJ0IHBhY2stb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6MTQwNworbXNnaWQgImNvdWxkIG5vdCBmaW5pc2ggcGFjay1vYmplY3RzIgorbXNnc3RyICIiCisKKyM6IG5hbWUtaGFzaC5jOjUzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxhenlfZGlyIHRocmVhZDogJXMiCiBtc2dzdHIgIiIKIAotIzogbmFtZS1oYXNoLmM6NTU0CisjOiBuYW1lLWhhc2guYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsYXp5X25hbWUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBuYW1lLWhhc2guYzo1NjAKKyM6IG5hbWUtaGFzaC5jOjU2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gam9pbiBsYXp5X25hbWUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBub3Rlcy1tZXJnZS5jOjI3NQorIzogbm90ZXMtbWVyZ2UuYzoyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBwcmV2aW91cyBub3RlcyBtZXJnZSAoJXMgZXhpc3RzKS5cbiIKQEAgLTMyMjEsMjEgKzQzOTYsMjEgQEAKICJjb21taXQvYWJvcnQgdGhlIHByZXZpb3VzIG1lcmdlIGJlZm9yZSB5b3Ugc3RhcnQgYSBuZXcgbm90ZXMgbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IG5vdGVzLW1lcmdlLmM6MjgyCisjOiBub3Rlcy1tZXJnZS5jOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuIgogbXNnc3RyICIiCiAKLSM6IG5vdGVzLXV0aWxzLmM6NDUKKyM6IG5vdGVzLXV0aWxzLmM6NDYKIG1zZ2lkICJDYW5ub3QgY29tbWl0IHVuaW5pdGlhbGl6ZWQvdW5yZWZlcmVuY2VkIG5vdGVzIHRyZWUiCiBtc2dzdHIgIiIKIAotIzogbm90ZXMtdXRpbHMuYzoxMDQKKyM6IG5vdGVzLXV0aWxzLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBub3Rlcy5yZXdyaXRlTW9kZSB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBub3Rlcy11dGlscy5jOjExNAorIzogbm90ZXMtdXRpbHMuYzoxMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gcmV3cml0ZSBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCiBtc2dzdHIgIiIKQEAgLTMyNDQsMTIgKzQ0MTksMTIgQEAKICMuIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcwogIy4gaXRzIHZhbHVlLgogIy4KLSM6IG5vdGVzLXV0aWxzLmM6MTQ0CisjOiBub3Rlcy11dGlscy5jOjE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgJXMgdmFsdWU6ICclcyciCiBtc2dzdHIgIiIKIAotIzogb2JqZWN0LmM6NTQKKyM6IG9iamVjdC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb2JqZWN0IHR5cGUgXCIlc1wiIgogbXNnc3RyICIiCkBAIC0zMjcxLDI4ICs0NDQ2LDgzIEBACiAKICM6IG9iamVjdC5jOjI2NiBvYmplY3QuYzoyNzcKICMsIGMtZm9ybWF0Ci1tc2dpZCAic2hhMSBtaXNtYXRjaCAlcyIKK21zZ2lkICJoYXNoIG1pc21hdGNoICVzIgogbXNnc3RyICIiCiAKLSM6IHBhY2tmaWxlLmM6NjA3CisjOiBwYWNrZmlsZS5jOjY0MQogbXNnaWQgIm9mZnNldCBiZWZvcmUgZW5kIG9mIHBhY2tmaWxlIChicm9rZW4gLmlkeD8pIgogbXNnc3RyICIiCiAKLSM6IHBhY2tmaWxlLmM6MTg2NAorIzogcGFja2ZpbGUuYzoxODg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZWZvcmUgc3RhcnQgb2YgcGFjayBpbmRleCBmb3IgJXMgKGNvcnJ1cHQgaW5kZXg/KSIKIG1zZ3N0ciAiIgogCi0jOiBwYWNrZmlsZS5jOjE4NjgKKyM6IHBhY2tmaWxlLmM6MTg5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmV5b25kIGVuZCBvZiBwYWNrIGluZGV4IGZvciAlcyAodHJ1bmNhdGVkIGluZGV4PykiCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjY3MgorIzogcGFyc2Utb3B0aW9ucy5jOjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGEgdmFsdWUiCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGluY29tcGF0aWJsZSB3aXRoICVzIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyA6IGluY29tcGF0aWJsZSB3aXRoIHNvbWV0aGluZyBlbHNlIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo5MiBwYXJzZS1vcHRpb25zLmM6OTYgcGFyc2Utb3B0aW9ucy5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0YWtlcyBubyB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBwYXJzZS1vcHRpb25zLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXNuJ3QgYXZhaWxhYmxlIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhwZWN0cyBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIHZhbHVlIHdpdGggYW4gb3B0aW9uYWwgay9tL2cgc3VmZml4IgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYW1iaWd1b3VzIG9wdGlvbjogJXMgKGNvdWxkIGJlIC0tJXMlcyBvciAtLSVzJXMpIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo0MjMgcGFyc2Utb3B0aW9ucy5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJkaWQgeW91IG1lYW4gYC0tJXNgICh3aXRoIHR3byBkYXNoZXMgPykiCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiBgJXMnIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo4NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzd2l0Y2ggYCVjJyIKK21zZ3N0ciAiIgorCisjOiBwYXJzZS1vcHRpb25zLmM6ODY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbm9uLWFzY2lpIG9wdGlvbiBpbiBzdHJpbmc6IGAlcyciCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg4OAogbXNnaWQgIi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NjkxCisjOiBwYXJzZS1vcHRpb25zLmM6OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyIKIG1zZ3N0ciAiIgpAQCAtMzMwMCwyNTEgKzQ1MzAsNDI2IEBACiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uIGhlcmUgc2hvdWxkIGFsaWduIHdpdGggdGhlCiAjLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24uCiAjLgotIzogcGFyc2Utb3B0aW9ucy5jOjY5NworIzogcGFyc2Utb3B0aW9ucy5jOjkxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICBvcjogJXMiCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjcwMAorIzogcGFyc2Utb3B0aW9ucy5jOjkxNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJXMiCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjczOQorIzogcGFyc2Utb3B0aW9ucy5jOjk1NQogbXNnaWQgIi1OVU0iCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy1jYi5jOjM3CisjOiBwYXJzZS1vcHRpb25zLmM6OTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsaWFzIG9mIC0tJXMiCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy1jYi5jOjIwIHBhcnNlLW9wdGlvbnMtY2IuYzoyNAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMtY2IuYzo0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZXhwaXJhdGlvbiBkYXRlICclcyciCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy1jYi5jOjEwOQorIzogcGFyc2Utb3B0aW9ucy1jYi5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgXCJhbHdheXNcIiwgXCJhdXRvXCIsIG9yIFwibmV2ZXJcIiIKK21zZ3N0ciAiIgorCisjOiBwYXJzZS1vcHRpb25zLWNiLmM6MTMwIHBhcnNlLW9wdGlvbnMtY2IuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCiBtc2dzdHIgIiIKIAotIzogcGF0aC5jOjg5NAorIzogcGF0aC5jOjkxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbWFrZSAlcyB3cml0YWJsZSBieSBncm91cCIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoc3BlYy5jOjEyOQorIzogcGF0aHNwZWMuYzoxMzAKIG1zZ2lkICJFc2NhcGUgY2hhcmFjdGVyICdcXCcgbm90IGFsbG93ZWQgYXMgbGFzdCBjaGFyYWN0ZXIgaW4gYXR0ciB2YWx1ZSIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoc3BlYy5jOjE0NworIzogcGF0aHNwZWMuYzoxNDgKIG1zZ2lkICJPbmx5IG9uZSAnYXR0cjonIHNwZWNpZmljYXRpb24gaXMgYWxsb3dlZC4iCiBtc2dzdHIgIiIKIAotIzogcGF0aHNwZWMuYzoxNTAKKyM6IHBhdGhzcGVjLmM6MTUxCiBtc2dpZCAiYXR0ciBzcGVjIG11c3Qgbm90IGJlIGVtcHR5IgogbXNnc3RyICIiCiAKLSM6IHBhdGhzcGVjLmM6MTkzCisjOiBwYXRoc3BlYy5jOjE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGF0dHJpYnV0ZSBuYW1lICVzIgogbXNnc3RyICIiCiAKLSM6IHBhdGhzcGVjLmM6MjU4CisjOiBwYXRoc3BlYy5jOjI1OQogbXNnaWQgImdsb2JhbCAnZ2xvYicgYW5kICdub2dsb2InIHBhdGhzcGVjIHNldHRpbmdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKIAotIzogcGF0aHNwZWMuYzoyNjUKKyM6IHBhdGhzcGVjLmM6MjY2CiBtc2dpZCAiIgogImdsb2JhbCAnbGl0ZXJhbCcgcGF0aHNwZWMgc2V0dGluZyBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgZ2xvYmFsICIKICJwYXRoc3BlYyBzZXR0aW5ncyIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoc3BlYy5jOjMwNQorIzogcGF0aHNwZWMuYzozMDYKIG1zZ2lkICJpbnZhbGlkIHBhcmFtZXRlciBmb3IgcGF0aHNwZWMgbWFnaWMgJ3ByZWZpeCciCiBtc2dzdHIgIiIKIAotIzogcGF0aHNwZWMuYzozMjYKKyM6IHBhdGhzcGVjLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgcGF0aHNwZWMgbWFnaWMgJyUuKnMnIGluICclcyciCiBtc2dzdHIgIiIKIAotIzogcGF0aHNwZWMuYzozMzEKKyM6IHBhdGhzcGVjLmM6MzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1pc3NpbmcgJyknIGF0IHRoZSBlbmQgb2YgcGF0aHNwZWMgbWFnaWMgaW4gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoc3BlYy5jOjM2OQorIzogcGF0aHNwZWMuYzozNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5pbXBsZW1lbnRlZCBwYXRoc3BlYyBtYWdpYyAnJWMnIGluICclcyciCiBtc2dzdHIgIiIKIAotIzogcGF0aHNwZWMuYzo0MjgKKyM6IHBhdGhzcGVjLmM6NDI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAnbGl0ZXJhbCcgYW5kICdnbG9iJyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IHBhdGhzcGVjLmM6NDQxCisjOiBwYXRoc3BlYy5jOjQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogcGF0aHNwZWMuYzo1MTUKKyM6IHBhdGhzcGVjLmM6NTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgKG1uZW1vbmljOiAnJWMnKSIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoc3BlYy5jOjUyNQorIzogcGF0aHNwZWMuYzo1MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBwYXRoc3BlYy5jOjU5MgorIzogcGF0aHNwZWMuYzo1OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICIiCiAKLSM6IHBrdC1saW5lLmM6MTA0CisjOiBwYXRoc3BlYy5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lIGlzIGJhZGx5IHF1b3RlZDogJXMiCittc2dzdHIgIiIKKworIzogcGt0LWxpbmUuYzo5MgorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmbHVzaCBwYWNrZXQiCittc2dzdHIgIiIKKworIzogcGt0LWxpbmUuYzo5OQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBkZWxpbSBwYWNrZXQiCittc2dzdHIgIiIKKworIzogcGt0LWxpbmUuYzoxMDYKIG1zZ2lkICJmbHVzaCBwYWNrZXQgd3JpdGUgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IHBrdC1saW5lLmM6MTQyIHBrdC1saW5lLmM6MjI4CisjOiBwa3QtbGluZS5jOjE0NiBwa3QtbGluZS5jOjIzMgogbXNnaWQgInByb3RvY29sIGVycm9yOiBpbXBvc3NpYmx5IGxvbmcgbGluZSIKIG1zZ3N0ciAiIgogCi0jOiBwa3QtbGluZS5jOjE1OCBwa3QtbGluZS5jOjE2MAorIzogcGt0LWxpbmUuYzoxNjIgcGt0LWxpbmUuYzoxNjQKIG1zZ2lkICJwYWNrZXQgd3JpdGUgd2l0aCBmb3JtYXQgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IHBrdC1saW5lLmM6MTkyCisjOiBwa3QtbGluZS5jOjE5NgogbXNnaWQgInBhY2tldCB3cml0ZSBmYWlsZWQgLSBkYXRhIGV4Y2VlZHMgbWF4IHBhY2tldCBzaXplIgogbXNnc3RyICIiCiAKLSM6IHBrdC1saW5lLmM6MTk5IHBrdC1saW5lLmM6MjA2CisjOiBwa3QtbGluZS5jOjIwMyBwa3QtbGluZS5jOjIxMAogbXNnaWQgInBhY2tldCB3cml0ZSBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogcGt0LWxpbmUuYzoyOTEKKyM6IHBrdC1saW5lLmM6Mjk1CiBtc2dpZCAicmVhZCBlcnJvciIKIG1zZ3N0ciAiIgogCi0jOiBwa3QtbGluZS5jOjI5OQorIzogcGt0LWxpbmUuYzozMDMKIG1zZ2lkICJ0aGUgcmVtb3RlIGVuZCBodW5nIHVwIHVuZXhwZWN0ZWRseSIKIG1zZ3N0ciAiIgogCi0jOiBwa3QtbGluZS5jOjMyNworIzogcGt0LWxpbmUuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBsaW5lIGxlbmd0aCBjaGFyYWN0ZXI6ICUuNHMiCiBtc2dzdHIgIiIKIAotIzogcGt0LWxpbmUuYzozMzcgcGt0LWxpbmUuYzozNDIKKyM6IHBrdC1saW5lLmM6MzQxIHBrdC1saW5lLmM6MzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgbGluZSBsZW5ndGggJWQiCiBtc2dzdHIgIiIKIAotIzogcHJlbG9hZC1pbmRleC5jOjExOAorIzogcGt0LWxpbmUuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlIGVycm9yOiAlcyIKK21zZ3N0ciAiIgorCisjOiBwcmVsb2FkLWluZGV4LmM6MTE5CiBtc2dpZCAiUmVmcmVzaGluZyBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBwcmVsb2FkLWluZGV4LmM6MTM3CisjOiBwcmVsb2FkLWluZGV4LmM6MTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkZWQgbHN0YXQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IHByZXR0eS5jOjk2MgorIzogcHJldHR5LmM6OTgxCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIC0tcHJldHR5IGZvcm1hdCIKIG1zZ3N0ciAiIgogCi0jOiByYW5nZS1kaWZmLmM6NTYKKyM6IHByb21pc29yLXJlbW90ZS5jOjIzCittc2dpZCAiUmVtb3RlIHdpdGggbm8gVVJMIgorbXNnc3RyICIiCisKKyM6IHByb21pc29yLXJlbW90ZS5jOjU4CisjLCBjLWZvcm1hdAorbXNnaWQgInByb21pc29yIHJlbW90ZSBuYW1lIGNhbm5vdCBiZWdpbiB3aXRoICcvJzogJXMiCittc2dzdHIgIiIKKworIzogcmFuZ2UtZGlmZi5jOjc1CiBtc2dpZCAiY291bGQgbm90IHN0YXJ0IGBsb2dgIgogbXNnc3RyICIiCiAKLSM6IHJhbmdlLWRpZmYuYzo1OQorIzogcmFuZ2UtZGlmZi5jOjc3CiBtc2dpZCAiY291bGQgbm90IHJlYWQgYGxvZ2Agb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IHJhbmdlLWRpZmYuYzo3NCBzZXF1ZW5jZXIuYzo0NzY0CisjOiByYW5nZS1kaWZmLmM6OTYgc2VxdWVuY2VyLmM6NTE2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICclcyciCiBtc2dzdHIgIiIKIAotIzogcmFuZ2UtZGlmZi5jOjIyNAorIzogcmFuZ2UtZGlmZi5jOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgZ2l0IGhlYWRlciAnJS4qcyciCittc2dzdHIgIiIKKworIzogcmFuZ2UtZGlmZi5jOjI4NQogbXNnaWQgImZhaWxlZCB0byBnZW5lcmF0ZSBkaWZmIgogbXNnc3RyICIiCiAKLSM6IHJhbmdlLWRpZmYuYzo0NTUgcmFuZ2UtZGlmZi5jOjQ1NworIzogcmFuZ2UtZGlmZi5jOjUxOCByYW5nZS1kaWZmLmM6NTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBsb2cgZm9yICclcyciCiBtc2dzdHIgIiIKIAotIzogcmVhZC1jYWNoZS5jOjE0OTAKKyM6IHJlYWQtY2FjaGUuYzo2ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgYWRkIGZpbGUgYWxpYXMgJyVzJyAoJyVzJyBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCkiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjY5NgorbXNnaWQgImNhbm5vdCBjcmVhdGUgYW4gZW1wdHkgYmxvYiBpbiB0aGUgb2JqZWN0IGRhdGFiYXNlIgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzo3MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbiBvbmx5IGFkZCByZWd1bGFyIGZpbGVzLCBzeW1ib2xpYyBsaW5rcyBvciBnaXQtZGlyZWN0b3JpZXMiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjcyMworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGRvZXMgbm90IGhhdmUgYSBjb21taXQgY2hlY2tlZCBvdXQiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gaW5kZXggZmlsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzo3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFkZCAnJXMnIHRvIGluZGV4IgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzo4MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHN0YXQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MTMyNQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGFwcGVhcnMgYXMgYm90aCBhIGZpbGUgYW5kIGFzIGEgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzoxNTMxCiBtc2dpZCAiUmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiByZWFkLWNhY2hlLmM6MTYwNAorIzogcmVhZC1jYWNoZS5jOjE2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImluZGV4LnZlcnNpb24gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCiAiVXNpbmcgdmVyc2lvbiAlaSIKIG1zZ3N0ciAiIgogCi0jOiByZWFkLWNhY2hlLmM6MTYxNAorIzogcmVhZC1jYWNoZS5jOjE2NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkdJVF9JTkRFWF9WRVJTSU9OIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgogIlVzaW5nIHZlcnNpb24gJWkiCiBtc2dzdHIgIiIKIAotIzogcmVhZC1jYWNoZS5jOjE3OTIKKyM6IHJlYWQtY2FjaGUuYzoxNzEyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzaWduYXR1cmUgMHglMDh4IgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzE1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICVkIgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzI0Cittc2dpZCAiYmFkIGluZGV4IGZpbGUgc2hhMSBzaWduYXR1cmUiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5kZXggdXNlcyAlLjRzIGV4dGVuc2lvbiwgd2hpY2ggd2UgZG8gbm90IHVuZGVyc3RhbmQiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgJS40cyBleHRlbnNpb24iCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE3OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBpbmRleCBlbnRyeSBmb3JtYXQgMHglMDh4IgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzoxODA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBuYW1lIGZpZWxkIGluIHRoZSBpbmRleCwgbmVhciBwYXRoICclcyciCiBtc2dzdHIgIiIKIAotIzogcmVhZC1jYWNoZS5jOjE5NjAgcmVyZXJlLmM6NTY1IHJlcmVyZS5jOjU5OSByZXJlcmUuYzoxMTExIGJ1aWx0aW4vYWRkLmM6NDU4Ci0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3NyBidWlsdGluL2NoZWNrb3V0LmM6Mjg5IGJ1aWx0aW4vY2hlY2tvdXQuYzo1ODUKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NTMgYnVpbHRpbi9jbGVhbi5jOjk1NCBidWlsdGluL2NvbW1pdC5jOjM0MwotIzogYnVpbHRpbi9kaWZmLXRyZWUuYzoxMTUgYnVpbHRpbi9ncmVwLmM6NDg5IGJ1aWx0aW4vbXYuYzoxNDQKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyNDQgYnVpbHRpbi9ybS5jOjI3MCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzI5CisjOiByZWFkLWNhY2hlLmM6MTg2NgorbXNnaWQgInVub3JkZXJlZCBzdGFnZSBlbnRyaWVzIGluIGluZGV4IgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzoxODY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm11bHRpcGxlIHN0YWdlIGVudHJpZXMgZm9yIG1lcmdlZCBmaWxlICclcyciCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5vcmRlcmVkIHN0YWdlIGVudHJpZXMgZm9yICclcyciCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE5NzggcmVhZC1jYWNoZS5jOjIyNjYgcmVyZXJlLmM6NTY1IHJlcmVyZS5jOjU5OSByZXJlcmUuYzoxMTExCisjOiBidWlsdGluL2FkZC5jOjQ5OSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3OCBidWlsdGluL2NoZWNrb3V0LmM6NDcwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjU0IGJ1aWx0aW4vY2xlYW4uYzo5NjcgYnVpbHRpbi9jb21taXQuYzozNjcKKyM6IGJ1aWx0aW4vZGlmZi10cmVlLmM6MTIwIGJ1aWx0aW4vZ3JlcC5jOjQ5OSBidWlsdGluL212LmM6MTQ1CisjOiBidWlsdGluL3Jlc2V0LmM6MjQ2IGJ1aWx0aW4vcm0uYzoyNzEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMzMgogbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCIKIG1zZ3N0ciAiIgogCi0jOiByZWFkLWNhY2hlLmM6MjEwMQorIzogcmVhZC1jYWNoZS5jOjIxMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsb2FkX2NhY2hlX2VudHJpZXMgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWFkLWNhY2hlLmM6MjExNAorIzogcmVhZC1jYWNoZS5jOjIxMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGpvaW4gbG9hZF9jYWNoZV9lbnRyaWVzIHRocmVhZDogJXMiCiBtc2dzdHIgIiIKIAotIzogcmVhZC1jYWNoZS5jOjIyMDEKKyM6IHJlYWQtY2FjaGUuYzoyMTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmRleCBmaWxlIG9wZW4gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzoyMTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3Qgc3RhdCB0aGUgb3BlbiBpbmRleCIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5kZXggZmlsZSBzbWFsbGVyIHRoYW4gZXhwZWN0ZWQiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjIxNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBtYXAgaW5kZXggZmlsZSIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MjIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxvYWRfaW5kZXhfZXh0ZW5zaW9ucyB0aHJlYWQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IHJlYWQtY2FjaGUuYzoyMjI4CisjOiByZWFkLWNhY2hlLmM6MjI0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gam9pbiBsb2FkX2luZGV4X2V4dGVuc2lvbnMgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWFkLWNhY2hlLmM6Mjk4MiBzZXF1ZW5jZXIuYzo0NzI3IHdyYXBwZXIuYzo2NTggYnVpbHRpbi9tZXJnZS5jOjEwODYKKyM6IHJlYWQtY2FjaGUuYzoyMjc4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmcmVzaGVuIHNoYXJlZCBpbmRleCAnJXMnIgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzoyMzI1CisjLCBjLWZvcm1hdAorbXNnaWQgImJyb2tlbiBpbmRleCwgZXhwZWN0ICVzIGluICVzLCBnb3QgJXMiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjMwMjEgc3RyYnVmLmM6MTE0NSB3cmFwcGVyLmM6NjIyIGJ1aWx0aW4vbWVyZ2UuYzoxMTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHJlYWQtY2FjaGUuYzozMDU1IHNlcXVlbmNlci5jOjIyMDMgc2VxdWVuY2VyLmM6MzU5MgorIzogcmVhZC1jYWNoZS5jOjMxMjQgc2VxdWVuY2VyLmM6MjQyOSBzZXF1ZW5jZXIuYzo0MDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGF0ICclcyciCiBtc2dzdHIgIiIKIAotIzogcmVhZC1jYWNoZS5jOjMwNjgKKyM6IHJlYWQtY2FjaGUuYzozMTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIGdpdCBkaXI6ICVzIgogbXNnc3RyICIiCiAKLSM6IHJlYWQtY2FjaGUuYzozMDgwCisjOiByZWFkLWNhY2hlLmM6MzE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdW5saW5rOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoxMAorIzogcmVhZC1jYWNoZS5jOjMxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpeCBwZXJtaXNzaW9uIGJpdHMgb24gJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MzMyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRyb3AgdG8gc3RhZ2UgIzAiCittc2dzdHIgIiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVucmVjb2duaXplZCBzZXR0aW5nICVzIGZvciBvcHRpb24gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suIElnbm9yaW5nLiIKK21zZ3N0ciAiIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzozNQogbXNnaWQgIiIKICJcbiIKICJDb21tYW5kczpcbiIKQEAgLTM1NjYsMTkgKzQ5NzEsMjYgQEAKICJUaGVzZSBsaW5lcyBjYW4gYmUgcmUtb3JkZXJlZDsgdGhleSBhcmUgZXhlY3V0ZWQgZnJvbSB0b3AgdG8gYm90dG9tLlxuIgogbXNnc3RyICIiCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjMxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxNzMKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kKSIKK21zZ2lkX3BsdXJhbCAiUmViYXNlICVzIG9udG8gJXMgKCVkIGNvbW1hbmRzKSIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjY1IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMjgKIG1zZ2lkICIiCiAiXG4iCiAiRG8gbm90IHJlbW92ZSBhbnkgbGluZS4gVXNlICdkcm9wJyBleHBsaWNpdGx5IHRvIHJlbW92ZSBhIGNvbW1pdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzozNCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTc3CisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo2OCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjMyCiBtc2dpZCAiIgogIlxuIgogIklmIHlvdSByZW1vdmUgYSBsaW5lIGhlcmUgVEhBVCBDT01NSVQgV0lMTCBCRSBMT1NULlxuIgogbXNnc3RyICIiCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjQwIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MTYKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjc0IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NzEKIG1zZ2lkICIiCiAiXG4iCiAiWW91IGFyZSBlZGl0aW5nIHRoZSB0b2RvIGZpbGUgb2YgYW4gb25nb2luZyBpbnRlcmFjdGl2ZSByZWJhc2UuXG4iCkBAIC0zNTg3LDEzMiArNDk5OSwxNTUgQEAKICJcbiIKIG1zZ3N0ciAiIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo0NSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODkzCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo3OSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTQ4CiBtc2dpZCAiIgogIlxuIgogIkhvd2V2ZXIsIGlmIHlvdSByZW1vdmUgZXZlcnl0aGluZywgdGhlIHJlYmFzZSB3aWxsIGJlIGFib3J0ZWQuXG4iCiAiXG4iCiBtc2dzdHIgIiIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6NTEgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkwMAorIzogcmViYXNlLWludGVyYWN0aXZlLmM6ODUgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk1NQogbXNnaWQgIk5vdGUgdGhhdCBlbXB0eSBjb21taXRzIGFyZSBjb21tZW50ZWQgb3V0IgogbXNnc3RyICIiCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjYyIHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjc1IHNlcXVlbmNlci5jOjIxODYKLSM6IHNlcXVlbmNlci5jOjQ1MDUgc2VxdWVuY2VyLmM6NDU2MSBzZXF1ZW5jZXIuYzo0ODM2CisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoxMDUgcmVyZXJlLmM6NDg1IHJlcmVyZS5jOjY5MiBzZXF1ZW5jZXIuYzozNTM2CisjOiBzZXF1ZW5jZXIuYzozNTYyIHNlcXVlbmNlci5jOjUyNjMgYnVpbHRpbi9mc2NrLmM6MzQ2IGJ1aWx0aW4vcmViYXNlLmM6MjU0CiAjLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHJlZnMuYzoxOTIKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY29weSAnJXMnIHRvICclcycuIgorbXNnc3RyICIiCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV2FybmluZzogc29tZSBjb21taXRzIG1heSBoYXZlIGJlZW4gZHJvcHBlZCBhY2NpZGVudGFsbHkuXG4iCisiRHJvcHBlZCBjb21taXRzIChuZXdlciB0byBvbGRlcik6XG4iCittc2dzdHIgIiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUbyBhdm9pZCB0aGlzIG1lc3NhZ2UsIHVzZSBcImRyb3BcIiB0byBleHBsaWNpdGx5IHJlbW92ZSBhIGNvbW1pdC5cbiIKKyJcbiIKKyJVc2UgJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHRvIGNoYW5nZSB0aGUgbGV2ZWwgb2YgIgorIndhcm5pbmdzLlxuIgorIlRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci5cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiByZWZzLmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgb2JqZWN0ISIKIG1zZ3N0ciAiIgogCi0jOiByZWZzLmM6NTgzCisjOiByZWZzLmM6NjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIGRhbmdsaW5nIHN5bXJlZiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWZzLmM6NTg1IHJlZi1maWx0ZXIuYzoxOTUxCisjOiByZWZzLmM6NjY5IHJlZi1maWx0ZXIuYzoyMDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCiBtc2dzdHIgIiIKIAotIzogcmVmcy5jOjcxMQorIzogcmVmcy5jOjgwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWZzLmM6NzIxIHJlZnMuYzo3NzIKKyM6IHJlZnMuYzo4MTQgcmVmcy5jOjg2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCByZWYgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiByZWZzLmM6NzI3CisjOiByZWZzLmM6ODIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZiAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICIiCiAKLSM6IHJlZnMuYzo3MzIKKyM6IHJlZnMuYzo4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBvYmplY3QgSUQgd2hlbiB3cml0aW5nICclcyciCiBtc2dzdHIgIiIKIAotIzogcmVmcy5jOjc0MCBzZXF1ZW5jZXIuYzozOTQgc2VxdWVuY2VyLmM6MjUxMCBzZXF1ZW5jZXIuYzoyNjM2Ci0jOiBzZXF1ZW5jZXIuYzoyNjUwIHNlcXVlbmNlci5jOjI4Nzcgc2VxdWVuY2VyLmM6NDcyNSBzZXF1ZW5jZXIuYzo0Nzg4Ci0jOiB3cmFwcGVyLmM6NjU2CisjOiByZWZzLmM6ODMzIHNlcXVlbmNlci5jOjQwNSBzZXF1ZW5jZXIuYzoyNzkzIHNlcXVlbmNlci5jOjI5OTcKKyM6IHNlcXVlbmNlci5jOjMwMTEgc2VxdWVuY2VyLmM6MzI2OSBzZXF1ZW5jZXIuYzo1MTc5IHN0cmJ1Zi5jOjExNDIKKyM6IHdyYXBwZXIuYzo2MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogcmVmcy5jOjc2NyBzZXF1ZW5jZXIuYzo0NzIzIHNlcXVlbmNlci5jOjQ3ODIgd3JhcHBlci5jOjIyNSB3cmFwcGVyLmM6Mzk1Ci0jOiBidWlsdGluL2FtLmM6NzI4CisjOiByZWZzLmM6ODYwIHN0cmJ1Zi5jOjExNDAgd3JhcHBlci5jOjE4OCB3cmFwcGVyLmM6MzU4IGJ1aWx0aW4vYW0uYzo3MTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTAzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgogbXNnc3RyICIiCiAKLSM6IHJlZnMuYzo3NzQKKyM6IHJlZnMuYzo4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBvYmplY3QgSUQgd2hlbiBkZWxldGluZyAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHJlZnMuYzo5MDUKKyM6IHJlZnMuYzo5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9nIGZvciByZWYgJXMgaGFzIGdhcCBhZnRlciAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWZzLmM6OTExCisjOiByZWZzLmM6MTAwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2cgZm9yIHJlZiAlcyB1bmV4cGVjdGVkbHkgZW5kZWQgb24gJXMiCiBtc2dzdHIgIiIKIAotIzogcmVmcy5jOjk2OQorIzogcmVmcy5jOjEwNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9nIGZvciAlcyBpcyBlbXB0eSIKIG1zZ3N0ciAiIgogCi0jOiByZWZzLmM6MTA2MQorIzogcmVmcy5jOjExNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmdXNpbmcgdG8gdXBkYXRlIHJlZiB3aXRoIGJhZCBuYW1lICclcyciCiBtc2dzdHIgIiIKIAotIzogcmVmcy5jOjExMzcKKyM6IHJlZnMuYzoxMjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVwZGF0ZV9yZWYgZmFpbGVkIGZvciByZWYgJyVzJzogJXMiCiBtc2dzdHIgIiIKIAotIzogcmVmcy5jOjE5MTEKKyM6IHJlZnMuYzoyMDIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm11bHRpcGxlIHVwZGF0ZXMgZm9yIHJlZiAnJXMnIG5vdCBhbGxvd2VkIgogbXNnc3RyICIiCiAKLSM6IHJlZnMuYzoxOTQzCisjOiByZWZzLmM6MjA1NQogbXNnaWQgInJlZiB1cGRhdGVzIGZvcmJpZGRlbiBpbnNpZGUgcXVhcmFudGluZSBlbnZpcm9ubWVudCIKIG1zZ3N0ciAiIgogCi0jOiByZWZzLmM6MjAzOSByZWZzLmM6MjA2OQorIzogcmVmcy5jOjIxNTEgcmVmcy5jOjIxODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiByZWZzLmM6MjA0NSByZWZzLmM6MjA4MAorIzogcmVmcy5jOjIxNTcgcmVmcy5jOjIxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHByb2Nlc3MgJyVzJyBhbmQgJyVzJyBhdCB0aGUgc2FtZSB0aW1lIgogbXNnc3RyICIiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyMjgKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSByZWZlcmVuY2UgJXMiCiBtc2dzdHIgIiIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTI0MiByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTUzMgotIzogcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDIKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyNDggcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDEKKyM6IHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlICVzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxMjQ1IHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTQ1CisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxMjUxIHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlczogJXMiCiBtc2dzdHIgIiIKQEAgLTM3MjIsMzQ4ICs1MTU3LDQ2MSBAQAogbXNnaWQgImludmFsaWQgcmVmc3BlYyAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzozOSB3dC1zdGF0dXMuYzoxODU1CisjOiByZWYtZmlsdGVyLmM6NDIgd3Qtc3RhdHVzLmM6MTkzOAogbXNnaWQgImdvbmUiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjQwCisjOiByZWYtZmlsdGVyLmM6NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWhlYWQgJWQiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjQxCisjOiByZWYtZmlsdGVyLmM6NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmVoaW5kICVkIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzo0MgorIzogcmVmLWZpbHRlci5jOjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImFoZWFkICVkLCBiZWhpbmQgJWQiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjEzOAorIzogcmVmLWZpbHRlci5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGNvbG9yOjxjb2xvcj4pIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDAKKyM6IHJlZi1maWx0ZXIuYzoxNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGNvbG9yOiAlJShjb2xvcjolcykiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjE2MgorIzogcmVmLWZpbHRlci5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnRlZ2VyIHZhbHVlIGV4cGVjdGVkIHJlZm5hbWU6bHN0cmlwPSVzIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjYKKyM6IHJlZi1maWx0ZXIuYzoxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW50ZWdlciB2YWx1ZSBleHBlY3RlZCByZWZuYW1lOnJzdHJpcD0lcyIKIG1zZ3N0ciAiIgogCi0jOiByZWYtZmlsdGVyLmM6MTY4CisjOiByZWYtZmlsdGVyLmM6MTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJSglcykgYXJndW1lbnQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzoyMjMKKyM6IHJlZi1maWx0ZXIuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUob2JqZWN0dHlwZSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjIzNQorIzogcmVmLWZpbHRlci5jOjI3MgogIywgYy1mb3JtYXQKLW1zZ2lkICIlJShvYmplY3RzaXplKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUob2JqZWN0c2l6ZSkgYXJndW1lbnQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzoyNDcKKyM6IHJlZi1maWx0ZXIuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSUoZGVsdGFiYXNlKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6MjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiUlKGJvZHkpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzoyNTYKKyM6IHJlZi1maWx0ZXIuYzozMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUoc3ViamVjdCkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjI3OAorIzogcmVmLWZpbHRlci5jOjMyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duICUlKHRyYWlsZXJzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjMwNworIzogcmVmLWZpbHRlci5jOjM1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBjb250ZW50czpsaW5lcz0lcyIKIG1zZ3N0ciAiIgogCi0jOiByZWYtZmlsdGVyLmM6MzA5CisjOiByZWYtZmlsdGVyLmM6MzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShjb250ZW50cykgYXJndW1lbnQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzozMjQKKyM6IHJlZi1maWx0ZXIuYzozNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgb2JqZWN0bmFtZTpzaG9ydD0lcyIKIG1zZ3N0ciAiIgogCi0jOiByZWYtZmlsdGVyLmM6MzI4CisjOiByZWYtZmlsdGVyLmM6MzczCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RuYW1lKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjM1OAorIzogcmVmLWZpbHRlci5jOjQwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGFsaWduOjx3aWR0aD4sPHBvc2l0aW9uPikiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjM3MAorIzogcmVmLWZpbHRlci5jOjQxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgcG9zaXRpb246JXMiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjM3NworIzogcmVmLWZpbHRlci5jOjQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgd2lkdGg6JXMiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjM4NgorIzogcmVmLWZpbHRlci5jOjQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoYWxpZ24pIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWYtZmlsdGVyLmM6Mzk0CisjOiByZWYtZmlsdGVyLmM6NDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBvc2l0aXZlIHdpZHRoIGV4cGVjdGVkIHdpdGggdGhlICUlKGFsaWduKSBhdG9tIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzo0MTIKKyM6IHJlZi1maWx0ZXIuYzo0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGlmKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjUwOAorIzogcmVmLWZpbHRlci5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAiIgogCi0jOiByZWYtZmlsdGVyLmM6NTM1CisjOiByZWYtZmlsdGVyLmM6NTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAiIgogCi0jOiByZWYtZmlsdGVyLmM6NTM5CisjOiByZWYtZmlsdGVyLmM6NTkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgYSBnaXQgcmVwb3NpdG9yeSwgYnV0IHRoZSBmaWVsZCAnJS4qcycgcmVxdWlyZXMgYWNjZXNzIHRvIG9iamVjdCBkYXRhIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzo2NjMKKyM6IHJlZi1maWx0ZXIuYzo3MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShpZikgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzo3MjYKKyM6IHJlZi1maWx0ZXIuYzo3NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKIG1zZ3N0ciAiIgogCi0jOiByZWYtZmlsdGVyLmM6NzI4CisjOiByZWYtZmlsdGVyLmM6Nzc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIG1vcmUgdGhhbiBvbmNlIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzo3MzAKKyM6IHJlZi1maWx0ZXIuYzo3ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgYWZ0ZXIgJSUoZWxzZSkiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjc1OAorIzogcmVmLWZpbHRlci5jOjgwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCB3aXRob3V0IGFuICUlKGlmKSBhdG9tIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzo3NjAKKyM6IHJlZi1maWx0ZXIuYzo4MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgd2l0aG91dCBhICUlKHRoZW4pIGF0b20iCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjc2MgorIzogcmVmLWZpbHRlci5jOjgxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKIG1zZ3N0ciAiIgogCi0jOiByZWYtZmlsdGVyLmM6Nzc3CisjOiByZWYtZmlsdGVyLmM6ODI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZW5kKSBhdG9tIHVzZWQgd2l0aG91dCBjb3JyZXNwb25kaW5nIGF0b20iCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjgzNAorIzogcmVmLWZpbHRlci5jOjg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZm9ybWF0IHN0cmluZyAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWYtZmlsdGVyLmM6MTQyNAorIzogcmVmLWZpbHRlci5jOjE0ODgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIgotbXNnc3RyICIiCi0KLSM6IHJlZi1maWx0ZXIuYzoxNDI3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nIGRldGFjaGVkIEhFQUQgJXMpIgotbXNnc3RyICIiCi0KLSM6IHJlZi1maWx0ZXIuYzoxNDMwCi0jLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKLW1zZ3N0ciAiIgotCi0jLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcyAiSEVBRAotIy4gZGV0YWNoZWQgYXQgIiBpbiB3dC1zdGF0dXMuYwotIy4KLSM6IHJlZi1maWx0ZXIuYzoxNDM4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihIRUFEIGRldGFjaGVkIGF0ICVzKSIKLW1zZ3N0ciAiIgotCi0jLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcyAiSEVBRAotIy4gZGV0YWNoZWQgZnJvbSAiIGluIHd0LXN0YXR1cy5jCi0jLgotIzogcmVmLWZpbHRlci5jOjE0NDUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiCi1tc2dzdHIgIiIKLQotIzogcmVmLWZpbHRlci5jOjE0NDkKLW1zZ2lkICIobm8gYnJhbmNoKSIKLW1zZ3N0ciAiIgotCi0jOiByZWYtZmlsdGVyLmM6MTQ4MyByZWYtZmlsdGVyLmM6MTYzOAotIywgYy1mb3JtYXQKLW1zZ2lkICJtaXNzaW5nIG9iamVjdCAlcyBmb3IgJXMiCittc2dpZCAibm8gYnJhbmNoLCByZWJhc2luZyAlcyIKIG1zZ3N0ciAiIgogCiAjOiByZWYtZmlsdGVyLmM6MTQ5MQogIywgYy1mb3JtYXQKK21zZ2lkICJubyBicmFuY2gsIHJlYmFzaW5nIGRldGFjaGVkIEhFQUQgJXMiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjE0OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6MTUwNAorbXNnaWQgIm5vIGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6MTU0MCByZWYtZmlsdGVyLmM6MTc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIG9iamVjdCAlcyBmb3IgJXMiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjE1NTAKKyMsIGMtZm9ybWF0CiBtc2dpZCAicGFyc2Vfb2JqZWN0X2J1ZmZlciBmYWlsZWQgb24gJXMgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzoxODU3CisjOiByZWYtZmlsdGVyLmM6MjAwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IGF0ICclcyciCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjE5NDYKKyM6IHJlZi1maWx0ZXIuYzoyMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHJlZiB3aXRoIGJyb2tlbiBuYW1lICVzIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzoyMjMyCisjOiByZWYtZmlsdGVyLmM6MjM4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzoyMzM4CisjOiByZWYtZmlsdGVyLmM6MjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW1lcmdlZCIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6MjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW5vLW1lcmdlZCIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6MjUwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgIiIKIAotIzogcmVtb3RlLmM6NjA3CisjOiByZWYtZmlsdGVyLmM6MjUwNwogIywgYy1mb3JtYXQKLW1zZ2lkICJDYW5ub3QgZmV0Y2ggYm90aCAlcyBhbmQgJXMgdG8gJXMiCittc2dpZCAib3B0aW9uIGAlcycgbXVzdCBwb2ludCB0byBhIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29uZmlnIHJlbW90ZSBzaG9ydGhhbmQgY2Fubm90IGJlZ2luIHdpdGggJy8nOiAlcyIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUuYzo0MTMKK21zZ2lkICJtb3JlIHRoYW4gb25lIHJlY2VpdmVwYWNrIGdpdmVuLCB1c2luZyB0aGUgZmlyc3QiCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6NDIxCittc2dpZCAibW9yZSB0aGFuIG9uZSB1cGxvYWRwYWNrIGdpdmVuLCB1c2luZyB0aGUgZmlyc3QiCiBtc2dzdHIgIiIKIAogIzogcmVtb3RlLmM6NjExCiAjLCBjLWZvcm1hdAotbXNnaWQgIiVzIHVzdWFsbHkgdHJhY2tzICVzLCBub3QgJXMiCittc2dpZCAiQ2Fubm90IGZldGNoIGJvdGggJXMgYW5kICVzIHRvICVzIgogbXNnc3RyICIiCiAKICM6IHJlbW90ZS5jOjYxNQogIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c3VhbGx5IHRyYWNrcyAlcywgbm90ICVzIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjYxOQorIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB0cmFja3MgYm90aCAlcyBhbmQgJXMiCiBtc2dzdHIgIiIKIAotIzogcmVtb3RlLmM6NjIzCi1tc2dpZCAiSW50ZXJuYWwgZXJyb3IiCisjOiByZW1vdGUuYzo2ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAia2V5ICclcycgb2YgcGF0dGVybiBoYWQgbm8gJyonIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE1NjkgcmVtb3RlLmM6MTY3MAorIzogcmVtb3RlLmM6Njk3CisjLCBjLWZvcm1hdAorbXNnaWQgInZhbHVlICclcycgb2YgcGF0dGVybiBoYXMgbm8gJyonIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3JjIHJlZnNwZWMgJXMgZG9lcyBub3QgbWF0Y2ggYW55IgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjEwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3JjIHJlZnNwZWMgJXMgbWF0Y2hlcyBtb3JlIHRoYW4gb25lIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiAibWF0Y2hlcyAnJXMnJSIgaXMgdGhlIDxkc3Q+IHBhcnQgb2YgImdpdCBwdXNoCisjLiA8cmVtb3RlPiA8c3JjPjo8ZHN0PiIgcHVzaCwgYW5kICJiZWluZyBwdXNoZWQgKCclcycpIiBpcworIy4gdGhlIDxzcmM+LgorIy4KKyM6IHJlbW90ZS5jOjEwMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZXN0aW5hdGlvbiB5b3UgcHJvdmlkZWQgaXMgbm90IGEgZnVsbCByZWZuYW1lIChpLmUuLFxuIgorInN0YXJ0aW5nIHdpdGggXCJyZWZzL1wiKS4gV2UgdHJpZWQgdG8gZ3Vlc3Mgd2hhdCB5b3UgbWVhbnQgYnk6XG4iCisiXG4iCisiLSBMb29raW5nIGZvciBhIHJlZiB0aGF0IG1hdGNoZXMgJyVzJyBvbiB0aGUgcmVtb3RlIHNpZGUuXG4iCisiLSBDaGVja2luZyBpZiB0aGUgPHNyYz4gYmVpbmcgcHVzaGVkICgnJXMnKVxuIgorIiAgaXMgYSByZWYgaW4gXCJyZWZzL3toZWFkcyx0YWdzfS9cIi4gSWYgc28gd2UgYWRkIGEgY29ycmVzcG9uZGluZ1xuIgorIiAgcmVmcy97aGVhZHMsdGFnc30vIHByZWZpeCBvbiB0aGUgcmVtb3RlIHNpZGUuXG4iCisiXG4iCisiTmVpdGhlciB3b3JrZWQsIHNvIHdlIGdhdmUgdXAuIFlvdSBtdXN0IGZ1bGx5IHF1YWxpZnkgdGhlIHJlZi4iCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6MTA0MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSBjb21taXQgb2JqZWN0LlxuIgorIkRpZCB5b3UgbWVhbiB0byBjcmVhdGUgYSBuZXcgYnJhbmNoIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy9oZWFkcy8lcyc/IgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjEwNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSA8c3JjPiBwYXJ0IG9mIHRoZSByZWZzcGVjIGlzIGEgdGFnIG9iamVjdC5cbiIKKyJEaWQgeW91IG1lYW4gdG8gY3JlYXRlIGEgbmV3IHRhZyBieSBwdXNoaW5nIHRvXG4iCisiJyVzOnJlZnMvdGFncy8lcyc/IgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjEwNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSA8c3JjPiBwYXJ0IG9mIHRoZSByZWZzcGVjIGlzIGEgdHJlZSBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIHRhZyBhIG5ldyB0cmVlIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy90YWdzLyVzJz8iCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6MTA1OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSBibG9iIG9iamVjdC5cbiIKKyJEaWQgeW91IG1lYW4gdG8gdGFnIGEgbmV3IGJsb2IgYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL3RhZ3MvJXMnPyIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUuYzoxMDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhbm5vdCBiZSByZXNvbHZlZCB0byBicmFuY2giCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6MTEwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZGVsZXRlICclcyc6IHJlbW90ZSByZWYgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6MTExNworIywgYy1mb3JtYXQKK21zZ2lkICJkc3QgcmVmc3BlYyAlcyBtYXRjaGVzIG1vcmUgdGhhbiBvbmUiCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6MTEyNAorIywgYy1mb3JtYXQKK21zZ2lkICJkc3QgcmVmICVzIHJlY2VpdmVzIGZyb20gbW9yZSB0aGFuIG9uZSBzcmMiCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6MTYyNyByZW1vdGUuYzoxNzI4CiBtc2dpZCAiSEVBRCBkb2VzIG5vdCBwb2ludCB0byBhIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiByZW1vdGUuYzoxNTc4CisjOiByZW1vdGUuYzoxNjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE1ODEKKyM6IHJlbW90ZS5jOjE2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdXBzdHJlYW0gY29uZmlndXJlZCBmb3IgYnJhbmNoICclcyciCiBtc2dzdHIgIiIKIAotIzogcmVtb3RlLmM6MTU4NworIzogcmVtb3RlLmM6MTY0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1cHN0cmVhbSBicmFuY2ggJyVzJyBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiByZW1vdGUuYzoxNjAyCisjOiByZW1vdGUuYzoxNjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInB1c2ggZGVzdGluYXRpb24gJyVzJyBvbiByZW1vdGUgJyVzJyBoYXMgbm8gbG9jYWwgdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE2MTQKKyM6IHJlbW90ZS5jOjE2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgaGFzIG5vIHJlbW90ZSBmb3IgcHVzaGluZyIKIG1zZ3N0ciAiIgogCi0jOiByZW1vdGUuYzoxNjI0CisjOiByZW1vdGUuYzoxNjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInB1c2ggcmVmc3BlY3MgZm9yICclcycgZG8gbm90IGluY2x1ZGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiByZW1vdGUuYzoxNjM3CisjOiByZW1vdGUuYzoxNjk1CiBtc2dpZCAicHVzaCBoYXMgbm8gZGVzdGluYXRpb24gKHB1c2guZGVmYXVsdCBpcyAnbm90aGluZycpIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE2NTkKKyM6IHJlbW90ZS5jOjE3MTcKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSAnc2ltcGxlJyBwdXNoIHRvIGEgc2luZ2xlIGRlc3RpbmF0aW9uIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE5MzUKKyM6IHJlbW90ZS5jOjE4NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCByZW1vdGUgcmVmICVzIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjE4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiKiBJZ25vcmluZyBmdW5ueSByZWYgJyVzJyBsb2NhbGx5IgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjIwMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE5MzkKKyM6IHJlbW90ZS5jOjIwMjMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIKIG1zZ3N0ciAiIgogCi0jOiByZW1vdGUuYzoxOTQyCisjOiByZW1vdGUuYzoyMDI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIHVwIHRvIGRhdGUgd2l0aCAnJXMnLlxuIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE5NDYKKyM6IHJlbW90ZS5jOjIwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggYW5kICclcycgcmVmZXIgdG8gZGlmZmVyZW50IGNvbW1pdHMuXG4iCiBtc2dzdHIgIiIKIAotIzogcmVtb3RlLmM6MTk0OQorIzogcmVtb3RlLmM6MjAzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCIlc1wiIGZvciBkZXRhaWxzKVxuIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE5NTMKKyM6IHJlbW90ZS5jOjIwMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IHJlbW90ZS5jOjE5NTkKKyM6IHJlbW90ZS5jOjIwNDMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE5NjIKKyM6IHJlbW90ZS5jOjIwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCkBAIC00MDcxLDExICs1NjE5LDExIEBACiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiByZW1vdGUuYzoxOTcwCisjOiByZW1vdGUuYzoyMDU0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byB1cGRhdGUgeW91ciBsb2NhbCBicmFuY2gpXG4iCiBtc2dzdHIgIiIKIAotIzogcmVtb3RlLmM6MTk3MworIzogcmVtb3RlLmM6MjA1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKQEAgLTQwODYsMTAgKzU2MzQsMTUgQEAKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IHJlbW90ZS5jOjE5ODMKKyM6IHJlbW90ZS5jOjIwNjcKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iCiBtc2dzdHIgIiIKIAorIzogcmVtb3RlLmM6MjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcGFyc2UgZXhwZWN0ZWQgb2JqZWN0IG5hbWUgJyVzJyIKK21zZ3N0ciAiIgorCiAjOiByZXBsYWNlLW9iamVjdC5jOjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCByZXBsYWNlIHJlZiBuYW1lOiAlcyIKQEAgLTQxMTMsMTEgKzU2NjYsNiBAQAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSByZXJlcmUgcmVjb3JkIgogbXNnc3RyICIiCiAKLSM6IHJlcmVyZS5jOjQ4NSByZXJlcmUuYzo2OTIgc2VxdWVuY2VyLmM6MzEzNiBzZXF1ZW5jZXIuYzozMTYyCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCB3cml0ZSAnJXMnIgotbXNnc3RyICIiCi0KICM6IHJlcmVyZS5jOjQ5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGVyZSB3ZXJlIGVycm9ycyB3aGlsZSB3cml0aW5nICclcycgKCVzKSIKQEAgLTQxNjgsOCArNTcxNiw4IEBACiBtc2dpZCAiUmVjb3JkZWQgcHJlaW1hZ2UgZm9yICclcyciCiBtc2dzdHIgIiIKIAotIzogcmVyZXJlLmM6ODgxIHN1Ym1vZHVsZS5jOjE3NjMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MTMKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDIzCisjOiByZXJlcmUuYzo4ODEgc3VibW9kdWxlLmM6MjA2NyBidWlsdGluL2xvZy5jOjE4NzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDM2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIiIKQEAgLTQyMDMsMjE1ICs1NzUxLDIyOCBAQAogbXNnaWQgInVuYWJsZSB0byBvcGVuIHJyLWNhY2hlIGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiByZXZpc2lvbi5jOjIzMjQKKyM6IHJldmlzaW9uLmM6MjQ5NwogbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggYXBwZWFycyB0byBiZSBicm9rZW4iCiBtc2dzdHIgIiIKIAotIzogcmV2aXNpb24uYzoyMzI3CisjOiByZXZpc2lvbi5jOjI1MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCAnJXMnIGRvZXMgbm90IGhhdmUgYW55IGNvbW1pdHMgeWV0IgogbXNnc3RyICIiCiAKLSM6IHJldmlzaW9uLmM6MjUyMworIzogcmV2aXNpb24uYzoyNzA4CiBtc2dpZCAiLS1maXJzdC1wYXJlbnQgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1iaXNlY3QiCiBtc2dzdHIgIiIKIAotIzogcnVuLWNvbW1hbmQuYzo3NDAKKyM6IHJldmlzaW9uLmM6MjcxMgorbXNnaWQgIi1MIGRvZXMgbm90IHlldCBzdXBwb3J0IGRpZmYgZm9ybWF0cyBiZXNpZGVzIC1wIGFuZCAtcyIKK21zZ3N0ciAiIgorCisjOiBydW4tY29tbWFuZC5jOjc2MgogbXNnaWQgIm9wZW4gL2Rldi9udWxsIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBydW4tY29tbWFuZC5jOjEyMjkKKyM6IHJ1bi1jb21tYW5kLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIGFzeW5jIHRocmVhZDogJXMiCiBtc2dzdHIgIiIKIAotIzogcnVuLWNvbW1hbmQuYzoxMjkzCisjOiBydW4tY29tbWFuZC5jOjEzMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAnJXMnIGhvb2sgd2FzIGlnbm9yZWQgYmVjYXVzZSBpdCdzIG5vdCBzZXQgYXMgZXhlY3V0YWJsZS5cbiIKICJZb3UgY2FuIGRpc2FibGUgdGhpcyB3YXJuaW5nIHdpdGggYGdpdCBjb25maWcgYWR2aWNlLmlnbm9yZWRIb29rIGZhbHNlYC4iCiBtc2dzdHIgIiIKIAotIzogc2VuZC1wYWNrLmM6MTQyCi1tc2dpZCAidW5leHBlY3RlZCBmbHVzaCBwYWNrZXQgd2hpbGUgcmVhZGluZyByZW1vdGUgdW5wYWNrIHN0YXR1cyIKLW1zZ3N0ciAiIgotCiAjOiBzZW5kLXBhY2suYzoxNDQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHBhcnNlIHJlbW90ZSB1bnBhY2sgc3RhdHVzOiAlcyIKK21zZ2lkICJ1bmV4cGVjdGVkIGZsdXNoIHBhY2tldCB3aGlsZSByZWFkaW5nIHJlbW90ZSB1bnBhY2sgc3RhdHVzIgogbXNnc3RyICIiCiAKICM6IHNlbmQtcGFjay5jOjE0NgogIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgcmVtb3RlIHVucGFjayBzdGF0dXM6ICVzIgorbXNnc3RyICIiCisKKyM6IHNlbmQtcGFjay5jOjE0OAorIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUgdW5wYWNrIGZhaWxlZDogJXMiCiBtc2dzdHIgIiIKIAotIzogc2VuZC1wYWNrLmM6MzA4CisjOiBzZW5kLXBhY2suYzozMDkKIG1zZ2lkICJmYWlsZWQgdG8gc2lnbiB0aGUgcHVzaCBjZXJ0aWZpY2F0ZSIKIG1zZ3N0ciAiIgogCi0jOiBzZW5kLXBhY2suYzo0MjEKKyM6IHNlbmQtcGFjay5jOjQyMwogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQgcHVzaCIKIG1zZ3N0ciAiIgogCi0jOiBzZW5kLXBhY2suYzo0MjMKKyM6IHNlbmQtcGFjay5jOjQyNQogbXNnaWQgIiIKICJub3Qgc2VuZGluZyBhIHB1c2ggY2VydGlmaWNhdGUgc2luY2UgdGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLSIKICJzaWduZWQgcHVzaCIKIG1zZ3N0ciAiIgogCi0jOiBzZW5kLXBhY2suYzo0MzUKKyM6IHNlbmQtcGFjay5jOjQzNwogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1hdG9taWMgcHVzaCIKIG1zZ3N0ciAiIgogCi0jOiBzZW5kLXBhY2suYzo0NDAKKyM6IHNlbmQtcGFjay5jOjQ0MgogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgcHVzaCBvcHRpb25zIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjE4MworIzogc2VxdWVuY2VyLmM6MTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29tbWl0IG1lc3NhZ2UgY2xlYW51cCBtb2RlICclcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Mjg3CisjOiBzZXF1ZW5jZXIuYzoyOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjMxMworIzogc2VxdWVuY2VyLmM6MzEzIGJ1aWx0aW4vcmViYXNlLmM6NzgxIGJ1aWx0aW4vcmViYXNlLmM6MTcwNiBidWlsdGluL3JtLmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozMjMKIG1zZ2lkICJyZXZlcnQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MzE1CisjOiBzZXF1ZW5jZXIuYzozMjUKIG1zZ2lkICJjaGVycnktcGljayIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozMTcKKyM6IHNlcXVlbmNlci5jOjMyNwogbXNnaWQgInJlYmFzZSAtaSIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozMTkKKyM6IHNlcXVlbmNlci5jOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGFjdGlvbjogJWQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Mzc2CisjOiBzZXF1ZW5jZXIuYzozODcKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+JyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozNzkKKyM6IHNlcXVlbmNlci5jOjM5MAogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nXG4iCiAiYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggJ2dpdCBjb21taXQnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjM5MiBzZXF1ZW5jZXIuYzoyNjMyCisjOiBzZXF1ZW5jZXIuYzo0MDMgc2VxdWVuY2VyLmM6Mjk5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9jayAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjM5OQorIzogc2VxdWVuY2VyLmM6NDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBlb2wgdG8gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo0MDQgc2VxdWVuY2VyLmM6MjUxNSBzZXF1ZW5jZXIuYzoyNjM4IHNlcXVlbmNlci5jOjI2NTIKLSM6IHNlcXVlbmNlci5jOjI4ODUKKyM6IHNlcXVlbmNlci5jOjQxNSBzZXF1ZW5jZXIuYzoyNzk4IHNlcXVlbmNlci5jOjI5OTkgc2VxdWVuY2VyLmM6MzAxMworIzogc2VxdWVuY2VyLmM6MzI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo0Mjcgc2VxdWVuY2VyLmM6OTIxIHNlcXVlbmNlci5jOjE1OTQgc2VxdWVuY2VyLmM6MjUzNQotIzogc2VxdWVuY2VyLmM6Mjg2NyBzZXF1ZW5jZXIuYzoyOTc0IGJ1aWx0aW4vYW0uYzoyNjAgYnVpbHRpbi9jb21taXQuYzo3NDYKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDg0IGJ1aWx0aW4vcmViYXNlLmM6MTUyCisjOiBzZXF1ZW5jZXIuYzo0Mzggc2VxdWVuY2VyLmM6MTcwNyBzZXF1ZW5jZXIuYzoyODE4IHNlcXVlbmNlci5jOjMyNTkKKyM6IHNlcXVlbmNlci5jOjMzNjggYnVpbHRpbi9hbS5jOjI0NCBidWlsdGluL2NvbW1pdC5jOjc4MyBidWlsdGluL21lcmdlLmM6MTExNworIzogYnVpbHRpbi9yZWJhc2UuYzo1ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo0NTMKKyM6IHNlcXVlbmNlci5jOjQ2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXMuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjQ1NworIzogc2VxdWVuY2VyLmM6NDY4CiBtc2dpZCAiY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjQ4NgorIzogc2VxdWVuY2VyLmM6NTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmYXN0LWZvcndhcmQiCiBtc2dzdHIgIiIKIAorIzogc2VxdWVuY2VyLmM6NTM5IGJ1aWx0aW4vdGFnLmM6NTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgorbXNnc3RyICIiCisKICMuIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiLCAiY2hlcnJ5LXBpY2siIG9yCiAjLiAicmViYXNlIC1pIi4KICMuCi0jOiBzZXF1ZW5jZXIuYzo1NzUKKyM6IHNlcXVlbmNlci5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjU5MQorIzogc2VxdWVuY2VyLmM6NjUwCiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjYwNAorIzogc2VxdWVuY2VyLmM6NjY0CiBtc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Njg0CisjOiBzZXF1ZW5jZXIuYzo3NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8ga2V5IHByZXNlbnQgaW4gJyUuKnMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjY5NQorIzogc2VxdWVuY2VyLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZXF1b3RlIHZhbHVlIG9mICclcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NzMyIHdyYXBwZXIuYzoyMjcgd3JhcHBlci5jOjM5NyBidWlsdGluL2FtLmM6NzE5Ci0jOiBidWlsdGluL2FtLmM6ODExIGJ1aWx0aW4vbWVyZ2UuYzoxMDgxCisjOiBzZXF1ZW5jZXIuYzo3OTIgd3JhcHBlci5jOjE5MCB3cmFwcGVyLmM6MzYwIGJ1aWx0aW4vYW0uYzo3MDUKKyM6IGJ1aWx0aW4vYW0uYzo3OTcgYnVpbHRpbi9tZXJnZS5jOjExMTQgYnVpbHRpbi9yZWJhc2UuYzoxMDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NzQyCisjOiBzZXF1ZW5jZXIuYzo4MDIKIG1zZ2lkICInR0lUX0FVVEhPUl9OQU1FJyBhbHJlYWR5IGdpdmVuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjc0NworIzogc2VxdWVuY2VyLmM6ODA3CiBtc2dpZCAiJ0dJVF9BVVRIT1JfRU1BSUwnIGFscmVhZHkgZ2l2ZW4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NzUyCisjOiBzZXF1ZW5jZXIuYzo4MTIKIG1zZ2lkICInR0lUX0FVVEhPUl9EQVRFJyBhbHJlYWR5IGdpdmVuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjc1NgorIzogc2VxdWVuY2VyLmM6ODE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gdmFyaWFibGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo3NjEKKyM6IHNlcXVlbmNlci5jOjgyMQogbXNnaWQgIm1pc3NpbmcgJ0dJVF9BVVRIT1JfTkFNRSciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NzYzCisjOiBzZXF1ZW5jZXIuYzo4MjMKIG1zZ2lkICJtaXNzaW5nICdHSVRfQVVUSE9SX0VNQUlMJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo3NjUKKyM6IHNlcXVlbmNlci5jOjgyNQogbXNnaWQgIm1pc3NpbmcgJ0dJVF9BVVRIT1JfREFURSciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6ODI1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgZGF0ZSBmb3JtYXQgJyVzJyBpbiAnJXMnIgorIzogc2VxdWVuY2VyLmM6OTAyIHNlcXVlbmNlci5jOjE0MjcKK21zZ2lkICJtYWxmb3JtZWQgaWRlbnQgbGluZSIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo4NDIKKyM6IHNlcXVlbmNlci5jOjkyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAieW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWVcbiIKQEAgLTQ0MjgsMTUgKzU5ODksMTEgQEAKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjkzNQotbXNnaWQgIndyaXRpbmcgcm9vdCBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6MTE0MgorIzogc2VxdWVuY2VyLmM6MTIxOAogbXNnaWQgIidwcmVwYXJlLWNvbW1pdC1tc2cnIGhvb2sgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjExNDkKKyM6IHNlcXVlbmNlci5jOjEyMjQKIG1zZ2lkICIiCiAiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCiAib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgpAQCAtNDQ1MSw3ICs2MDA4LDcgQEAKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTE2MgorIzogc2VxdWVuY2VyLmM6MTIzNwogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC00NDY1LDI5OSArNjAyMiwzNTAgQEAKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTIwMgorIzogc2VxdWVuY2VyLmM6MTI3OQogbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTIwNAorIzogc2VxdWVuY2VyLmM6MTI4MQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjUwCisjOiBzZXF1ZW5jZXIuYzoxMzI3CiBtc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgSEVBRCBhZnRlciBjcmVhdGluZyBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTI1MgorIzogc2VxdWVuY2VyLmM6MTMyOQogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTI1NgorIzogc2VxdWVuY2VyLmM6MTMzMwogbXNnaWQgIiAocm9vdC1jb21taXQpIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjEyNzcKKyM6IHNlcXVlbmNlci5jOjEzNTQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjc5CisjOiBzZXF1ZW5jZXIuYzoxMzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjgzIGJ1aWx0aW4vY29tbWl0LmM6MTU0MworIzogc2VxdWVuY2VyLmM6MTM2MCBzZXF1ZW5jZXIuYzoxNDU4IGJ1aWx0aW4vY29tbWl0LmM6MTU2OQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzM0IHNlcXVlbmNlci5jOjE5MzQKKyM6IHNlcXVlbmNlci5jOjE0MTEgc2VxdWVuY2VyLmM6MjA1NQogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgYXV0aG9yIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjEzNDQgYnVpbHRpbi9hbS5jOjE1ODUgYnVpbHRpbi9tZXJnZS5jOjY3NworIzogc2VxdWVuY2VyLmM6MTQzMQorbXNnaWQgImNvcnJ1cHRlZCBhdXRob3Igd2l0aG91dCBkYXRlIGluZm9ybWF0aW9uIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjE0NDcgYnVpbHRpbi9hbS5jOjE1NjEgYnVpbHRpbi9tZXJnZS5jOjY4NAogbXNnaWQgImdpdCB3cml0ZS10cmVlIGZhaWxlZCB0byB3cml0ZSBhIHRyZWUiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTM2MSBzZXF1ZW5jZXIuYzoxNDE2CisjOiBzZXF1ZW5jZXIuYzoxNDgwIHNlcXVlbmNlci5jOjE1NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgY29tbWl0IG1lc3NhZ2UgZnJvbSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjEzODMgYnVpbHRpbi9hbS5jOjE2MDYgYnVpbHRpbi9jb21taXQuYzoxNjQ2IGJ1aWx0aW4vbWVyZ2UuYzo4NTgKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4ODMKKyM6IHNlcXVlbmNlci5jOjE1MTYgYnVpbHRpbi9hbS5jOjE1ODMgYnVpbHRpbi9jb21taXQuYzoxNjY4IGJ1aWx0aW4vbWVyZ2UuYzo4ODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDgKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNDQzCisjOiBzZXF1ZW5jZXIuYzoxNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTQ0OAorIzogc2VxdWVuY2VyLmM6MTU4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTQ2IHNlcXVlbmNlci5jOjE2NTQKKyM6IHNlcXVlbmNlci5jOjE2NTYgc2VxdWVuY2VyLmM6MTc2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQ6ICVkIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjE2MDEgc2VxdWVuY2VyLmM6MTYyNgorIzogc2VxdWVuY2VyLmM6MTcxNCBzZXF1ZW5jZXIuYzoxNzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAlZCBjb21taXRzLiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjExIHNlcXVlbmNlci5jOjQ3NDQKKyM6IHNlcXVlbmNlci5jOjE3MjQKIG1zZ2lkICJuZWVkIGEgSEVBRCB0byBmaXh1cCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjEzIHNlcXVlbmNlci5jOjI5MTIKKyM6IHNlcXVlbmNlci5jOjE3MjYgc2VxdWVuY2VyLmM6MzMwNAogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTYxNQorIzogc2VxdWVuY2VyLmM6MTcyOAogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQncyBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjIxCisjOiBzZXF1ZW5jZXIuYzoxNzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB3cml0ZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjE2MjggZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ0MQorIzogc2VxdWVuY2VyLmM6MTc0MSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDk2CiBtc2dpZCAiVGhpcyBpcyB0aGUgMXN0IGNvbW1pdCBtZXNzYWdlOiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjM2CisjOiBzZXF1ZW5jZXIuYzoxNzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlIG9mICVzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjE2NDMKKyM6IHNlcXVlbmNlci5jOjE3NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyB0aGUgY29tbWl0IG1lc3NhZ2UgIyVkOiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjQ5CisjOiBzZXF1ZW5jZXIuYzoxNzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJWQgd2lsbCBiZSBza2lwcGVkOiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzMyCisjOiBzZXF1ZW5jZXIuYzoxODUwCiBtc2dpZCAieW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzM5CisjOiBzZXF1ZW5jZXIuYzoxODU3CiBtc2dpZCAiY2Fubm90IGZpeHVwIHJvb3QgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjE3NTgKKyM6IHNlcXVlbmNlci5jOjE4NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjE3NjYKKyM6IHNlcXVlbmNlci5jOjE4ODQgc2VxdWVuY2VyLmM6MTg5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTc3MAotIywgYy1mb3JtYXQKLW1zZ2lkICJtYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjE3NzYKKyM6IHNlcXVlbmNlci5jOjE4OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCiBtc2dzdHIgIiIKIAogIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyB3aWxsIGJlIGEgInRvZG8iIGNvbW1hbmQgbGlrZQogIy4gInJldmVydCIgb3IgInBpY2siLCB0aGUgc2Vjb25kICVzIGEgU0hBMS4KLSM6IHNlcXVlbmNlci5jOjE3OTUKKyM6IHNlcXVlbmNlci5jOjE5MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjE4NjAKKyM6IHNlcXVlbmNlci5jOjE5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbmFtZSAnJXMnIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTkxNQorIzogc2VxdWVuY2VyLmM6MjAzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmV2ZXJ0ICVzLi4uICVzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjE5MTYKKyM6IHNlcXVlbmNlci5jOjIwMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGFwcGx5ICVzLi4uICVzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjE5NzQKKyM6IHNlcXVlbmNlci5jOjIxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MTk4MQorIzogc2VxdWVuY2VyLmM6MjExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDYyCisjOiBzZXF1ZW5jZXIuYzoyMTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRvZXMgbm90IGFjY2VwdCBhcmd1bWVudHM6ICclcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjA3MQorIzogc2VxdWVuY2VyLmM6MjE5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIGFyZ3VtZW50cyBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjEzMAorIzogc2VxdWVuY2VyLmM6MjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgJyUuKnMnIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjIyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBsaW5lICVkOiAlLipzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjIxMzgKKyM6IHNlcXVlbmNlci5jOjIzMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICclcycgd2l0aG91dCBhIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjA5CisjOiBzZXF1ZW5jZXIuYzoyMzQ4IGJ1aWx0aW4vcmViYXNlLmM6MTcyIGJ1aWx0aW4vcmViYXNlLmM6MTk3CisjOiBidWlsdGluL3JlYmFzZS5jOjIyMyBidWlsdGluL3JlYmFzZS5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoyMzg0Cittc2dpZCAiY2FuY2VsbGluZyBhIGNoZXJyeSBwaWNraW5nIGluIHByb2dyZXNzIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjIzOTEKK21zZ2lkICJjYW5jZWxsaW5nIGEgcmV2ZXJ0IGluIHByb2dyZXNzIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjI0MzUKIG1zZ2lkICJwbGVhc2UgZml4IHRoaXMgdXNpbmcgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjExCisjOiBzZXF1ZW5jZXIuYzoyNDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjIyMTYKKyM6IHNlcXVlbmNlci5jOjI0NDIKIG1zZ2lkICJubyBjb21taXRzIHBhcnNlZC4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjIyNworIzogc2VxdWVuY2VyLmM6MjQ1MwogbXNnaWQgImNhbm5vdCBjaGVycnktcGljayBkdXJpbmcgYSByZXZlcnQuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjIyMjkKKyM6IHNlcXVlbmNlci5jOjI0NTUKIG1zZ2lkICJjYW5ub3QgcmV2ZXJ0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjk5CisjOiBzZXF1ZW5jZXIuYzoyNTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyMzgwCisjOiBzZXF1ZW5jZXIuYzoyNjMwCiBtc2dpZCAidW51c2FibGUgc3F1YXNoLW9udG8iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjM5NgorIzogc2VxdWVuY2VyLmM6MjY0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDc5IHNlcXVlbmNlci5jOjQwMDUKKyM6IHNlcXVlbmNlci5jOjI3MzYgc2VxdWVuY2VyLmM6NDQ2MwogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjI0ODcKLW1zZ2lkICJhIGNoZXJyeS1waWNrIG9yIHJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgorIzogc2VxdWVuY2VyLmM6Mjc1MgorbXNnaWQgInJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjI0ODgKLW1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgorIzogc2VxdWVuY2VyLmM6Mjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0cnkgXCJnaXQgcmV2ZXJ0ICgtLWNvbnRpbnVlIHwgJXMtLWFib3J0IHwgLS1xdWl0KVwiIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjI0OTEKKyM6IHNlcXVlbmNlci5jOjI3NTcKK21zZ2lkICJjaGVycnktcGljayBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjI3NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgJXMtLWFib3J0IHwgLS1xdWl0KVwiIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjI3NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjUwNQorIzogc2VxdWVuY2VyLmM6Mjc4OAogbXNnaWQgImNvdWxkIG5vdCBsb2NrIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjU2MCBzZXF1ZW5jZXIuYzozNzYxCisjOiBzZXF1ZW5jZXIuYzoyODQ4IHNlcXVlbmNlci5jOjQyMDkKIG1zZ2lkICJubyBjaGVycnktcGljayBvciByZXZlcnQgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjU2MgorIzogc2VxdWVuY2VyLmM6Mjg1MCBzZXF1ZW5jZXIuYzoyODYxCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTY0IHNlcXVlbmNlci5jOjI1OTkKKyM6IHNlcXVlbmNlci5jOjI4NTIgc2VxdWVuY2VyLmM6Mjg5NgogbXNnaWQgImNhbm5vdCBhYm9ydCBmcm9tIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjI1ODUgYnVpbHRpbi9ncmVwLmM6NzIxCisjOiBzZXF1ZW5jZXIuYzoyODgyIGJ1aWx0aW4vZ3JlcC5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjI1ODcKKyM6IHNlcXVlbmNlci5jOjI4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJzogJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjU4OAorIzogc2VxdWVuY2VyLmM6Mjg4NQogbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjU5NAorIzogc2VxdWVuY2VyLmM6Mjg5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJzdG9yZWQgcHJlLWNoZXJyeS1waWNrIEhFQUQgZmlsZSAnJXMnIGlzIGNvcnJ1cHQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjYwNQorIzogc2VxdWVuY2VyLmM6MjkwMgogbXNnaWQgIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRC4gTm90IHJld2luZGluZywgY2hlY2sgeW91ciBIRUFEISIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzA5IHNlcXVlbmNlci5jOjM2NzkKKyM6IHNlcXVlbmNlci5jOjI5NDMKK21zZ2lkICJubyByZXZlcnQgaW4gcHJvZ3Jlc3MiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6Mjk1MQorbXNnaWQgIm5vIGNoZXJyeS1waWNrIGluIHByb2dyZXNzIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjI5NjEKK21zZ2lkICJmYWlsZWQgdG8gc2tpcCB0aGUgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjI5NjgKK21zZ2lkICJ0aGVyZSBpcyBub3RoaW5nIHRvIHNraXAiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6Mjk3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiaGF2ZSB5b3UgY29tbWl0dGVkIGFscmVhZHk/XG4iCisidHJ5IFwiZ2l0ICVzIC0tY29udGludWVcIiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozMDk1IHNlcXVlbmNlci5jOjQxMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVwZGF0ZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzQ3IHNlcXVlbmNlci5jOjM2NTkKKyM6IHNlcXVlbmNlci5jOjMxMzQgc2VxdWVuY2VyLmM6NDEwMQogbXNnaWQgImNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Mjc2MgorIzogc2VxdWVuY2VyLmM6MzE1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Mjc3MAorIzogc2VxdWVuY2VyLmM6MzE1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGNhbiBhbWVuZCB0aGUgY29tbWl0IG5vdywgd2l0aFxuIgpAQCAtNDc2OSwyNyArNjM3NywyMiBAQAogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Mjc4MAorIzogc2VxdWVuY2VyLmM6MzE2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJXMuLi4gJS4qcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzg3CisjOiBzZXF1ZW5jZXIuYzozMTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtZXJnZSAlLipzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjI3OTggc2VxdWVuY2VyLmM6MjgwMiBidWlsdGluL2RpZmZ0b29sLmM6NjQwCisjOiBzZXF1ZW5jZXIuYzozMTkwIHNlcXVlbmNlci5jOjMxOTQgYnVpbHRpbi9kaWZmdG9vbC5jOjY0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjgyNCBzZXF1ZW5jZXIuYzozMjQyIGJ1aWx0aW4vcmViYXNlLmM6NTgwIGJ1aWx0aW4vcmViYXNlLmM6MTAxOQotIzogYnVpbHRpbi9yZWJhc2UuYzoxMzcyIGJ1aWx0aW4vcmViYXNlLmM6MTQyNgotbXNnaWQgImNvdWxkIG5vdCByZWFkIGluZGV4IgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjI4MjkKKyM6IHNlcXVlbmNlci5jOjMyMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4ZWN1dGlvbiBmYWlsZWQ6ICVzXG4iCkBAIC00Nzk5LDExICs2NDAyLDExIEBACiAiXG4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjgzNQorIzogc2VxdWVuY2VyLmM6MzIyNwogbXNnaWQgImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlXG4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Mjg0MQorIzogc2VxdWVuY2VyLmM6MzIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhlY3V0aW9uIHN1Y2NlZWRlZDogJXNcbiIKQEAgLTQ4MTQsNzYgKzY0MTcsNzIgQEAKICJcbiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTAyCisjOiBzZXF1ZW5jZXIuYzozMjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImlsbGVnYWwgbGFiZWwgbmFtZTogJyUuKnMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjI5NTQKKyM6IHNlcXVlbmNlci5jOjMzNDgKIG1zZ2lkICJ3cml0aW5nIGZha2Ugcm9vdCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Mjk1OQorIzogc2VxdWVuY2VyLmM6MzM1MwogbXNnaWQgIndyaXRpbmcgc3F1YXNoLW9udG8iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Mjk5NyBidWlsdGluL3JlYmFzZS5jOjU4NSBidWlsdGluL3JlYmFzZS5jOjU5MQorIzogc2VxdWVuY2VyLmM6MzM5MSBidWlsdGluL3JlYmFzZS5jOjg3NiBidWlsdGluL3JlYmFzZS5jOjg4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZmluZCB0cmVlIG9mICVzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjMwMTUgYnVpbHRpbi9yZWJhc2UuYzo2MDQKLW1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgaW5kZXgiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6MzA0MgorIzogc2VxdWVuY2VyLmM6MzQzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjMwNjgKKyM6IHNlcXVlbmNlci5jOjM0NjcKIG1zZ2lkICJjYW5ub3QgbWVyZ2Ugd2l0aG91dCBhIGN1cnJlbnQgcmV2aXNpb24iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MzA5MAorIzogc2VxdWVuY2VyLmM6MzQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyUuKnMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjMwOTkKKyM6IHNlcXVlbmNlci5jOjM0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBtZXJnZTogJyUuKnMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjMxMTEKKyM6IHNlcXVlbmNlci5jOjM1MTAKIG1zZ2lkICJvY3RvcHVzIG1lcmdlIGNhbm5vdCBiZSBleGVjdXRlZCBvbiB0b3Agb2YgYSBbbmV3IHJvb3RdIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjMxMjYKKyM6IHNlcXVlbmNlci5jOjM1MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBjb21taXQgbWVzc2FnZSBvZiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjMyNzQKKyM6IHNlcXVlbmNlci5jOjM2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGV2ZW4gYXR0ZW1wdCB0byBtZXJnZSAnJS4qcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MzI5MAorIzogc2VxdWVuY2VyLmM6MzcwNAogbXNnaWQgIm1lcmdlOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MzM1OCBidWlsdGluL3JlYmFzZS5jOjI2OAorIzogc2VxdWVuY2VyLmM6Mzc3MyBidWlsdGluL3JlYmFzZS5jOjczMwogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozMzcwCisjOiBzZXF1ZW5jZXIuYzozNzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdG9yZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozMzczIGJ1aWx0aW4vcmViYXNlLmM6Mjg0CisjOiBzZXF1ZW5jZXIuYzozNzg4IGJ1aWx0aW4vcmViYXNlLmM6NzQ5IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuXG4iCkBAIC00ODkxLDMxICs2NDkwLDMxIEBACiAiWW91IGNhbiBydW4gXCJnaXQgc3Rhc2ggcG9wXCIgb3IgXCJnaXQgc3Rhc2ggZHJvcFwiIGF0IGFueSB0aW1lLlxuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjM0MjcKKyM6IHNlcXVlbmNlci5jOjM4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNoZWNrb3V0ICVzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjM0NDEKKyM6IHNlcXVlbmNlci5jOjM4NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhIHZhbGlkIE9JRCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozNDQ2IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MjQKKyM6IHNlcXVlbmNlci5jOjM4NjggZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc3OQogbXNnaWQgImNvdWxkIG5vdCBkZXRhY2ggSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozNDYxCisjOiBzZXF1ZW5jZXIuYzozODgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQgYXQgSEVBRFxuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjM0NjMKKyM6IHNlcXVlbmNlci5jOjM4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCBhdCAlc1xuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjM0NzEKKyM6IHNlcXVlbmNlci5jOjM4OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBleGVjdXRlIHRoZSB0b2RvIGNvbW1hbmRcbiIKQEAgLTQ5MjgsMTY3ICs2NTI3LDEyMSBAQAogIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozNTQzCisjOiBzZXF1ZW5jZXIuYzozOTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQgYXQgJXMuLi4gICUuKnNcbiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozNjIyCisjOiBzZXF1ZW5jZXIuYzo0MDUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gY29tbWFuZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozNjY3CisjOiBzZXF1ZW5jZXIuYzo0MTA5CiBtc2dpZCAiY291bGQgbm90IHJlYWQgb3JpZy1oZWFkIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjM2NzIgc2VxdWVuY2VyLmM6NDc0MQorIzogc2VxdWVuY2VyLmM6NDExNAogbXNnaWQgImNvdWxkIG5vdCByZWFkICdvbnRvJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozNjg2CisjOiBzZXF1ZW5jZXIuYzo0MTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgSEVBRCB0byAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozNzcyCisjOiBzZXF1ZW5jZXIuYzo0MjIxCiBtc2dpZCAiY2Fubm90IHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Mzc4MQorIzogc2VxdWVuY2VyLmM6NDIzMAogbXNnaWQgImNhbm5vdCBhbWVuZCBub24tZXhpc3RpbmcgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjM3ODMKKyM6IHNlcXVlbmNlci5jOjQyMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBmaWxlOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjM3ODUKKyM6IHNlcXVlbmNlci5jOjQyMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb250ZW50czogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzozNzg4CisjOiBzZXF1ZW5jZXIuYzo0MjM3CiBtc2dpZCAiIgogIlxuIgogIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSwgY29tbWl0IHRoZW1cbiIKICJmaXJzdCBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScgYWdhaW4uIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjM4MjQgc2VxdWVuY2VyLmM6Mzg2MgorIzogc2VxdWVuY2VyLmM6NDI3MyBzZXF1ZW5jZXIuYzo0MzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBmaWxlOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjM4NzcKKyM6IHNlcXVlbmNlci5jOjQzMjcKIG1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIENIRVJSWV9QSUNLX0hFQUQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Mzg4NAorIzogc2VxdWVuY2VyLmM6NDMzNAogbXNnaWQgImNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjM5ODIKKyM6IHNlcXVlbmNlci5jOjQ0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6Mzk4NgorIzogc2VxdWVuY2VyLmM6NDQ0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHJldmlzaW9uIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjQwMjEKKyM6IHNlcXVlbmNlci5jOjQ0NzkKIG1zZ2lkICJjYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NDQ2NgorIzogc2VxdWVuY2VyLmM6NDk1MgogbXNnaWQgIm1ha2Vfc2NyaXB0OiB1bmhhbmRsZWQgb3B0aW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo0NDY5CisjOiBzZXF1ZW5jZXIuYzo0OTU1CiBtc2dpZCAibWFrZV9zY3JpcHQ6IGVycm9yIHByZXBhcmluZyByZXZpc2lvbnMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NDUwOSBzZXF1ZW5jZXIuYzo0NTY1IHNlcXVlbmNlci5jOjQ4NDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW51c2FibGUgdG9kbyBsaXN0OiAnJXMnIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjQ2MjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotInVucmVjb2duaXplZCBzZXR0aW5nICVzIGZvciBvcHRpb24gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suIElnbm9yaW5nLiIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo0NjkwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS5cbiIKLSJEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKTpcbiIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo0Njk3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJUbyBhdm9pZCB0aGlzIG1lc3NhZ2UsIHVzZSBcImRyb3BcIiB0byBleHBsaWNpdGx5IHJlbW92ZSBhIGNvbW1pdC5cbiIKLSJcbiIKLSJVc2UgJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHRvIGNoYW5nZSB0aGUgbGV2ZWwgb2YgIgotIndhcm5pbmdzLlxuIgotIlRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci5cbiIKLSJcbiIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo0NzEwCi0jLCBjLWZvcm1hdAorIzogc2VxdWVuY2VyLmM6NTExMwogbXNnaWQgIiIKICJZb3UgY2FuIGZpeCB0aGlzIHdpdGggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLSIKICJjb250aW51ZScuXG4iCiAiT3IgeW91IGNhbiBhYm9ydCB0aGUgcmViYXNlIHdpdGggJ2dpdCByZWJhc2UgLS1hYm9ydCcuXG4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NDg0OCBzZXF1ZW5jZXIuYzo0ODg2CisjOiBzZXF1ZW5jZXIuYzo1MjI2IHNlcXVlbmNlci5jOjUyNDMKIG1zZ2lkICJub3RoaW5nIHRvIGRvIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjQ4NTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmViYXNlICVzIG9udG8gJXMgKCVkIGNvbW1hbmQpIgotbXNnaWRfcGx1cmFsICJSZWJhc2UgJXMgb250byAlcyAoJWQgY29tbWFuZHMpIgotbXNnc3RyWzBdICIiCi1tc2dzdHJbMV0gIiIKLQotIzogc2VxdWVuY2VyLmM6NDg2NAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY29weSAnJXMnIHRvICclcycuIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjQ4Njggc2VxdWVuY2VyLmM6NDg5NwotbXNnaWQgImNvdWxkIG5vdCB0cmFuc2Zvcm0gdGhlIHRvZG8gbGlzdCIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo0OTAwCisjOiBzZXF1ZW5jZXIuYzo1MjU3CiBtc2dpZCAiY291bGQgbm90IHNraXAgdW5uZWNlc3NhcnkgcGljayBjb21tYW5kcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzo0OTgzCisjOiBzZXF1ZW5jZXIuYzo1MzUxCiBtc2dpZCAidGhlIHNjcmlwdCB3YXMgYWxyZWFkeSByZWFycmFuZ2VkLiIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjEyMworIzogc2V0dXAuYzoxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogc2V0dXAuYzoxNzIKKyM6IHNldHVwLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlczogbm8gc3VjaCBwYXRoIGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCiAiVXNlICdnaXQgPGNvbW1hbmQ+IC0tIDxwYXRoPi4uLicgdG8gc3BlY2lmeSBwYXRocyB0aGF0IGRvIG5vdCBleGlzdCBsb2NhbGx5LiIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjE4NQorIzogc2V0dXAuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiB1bmtub3duIHJldmlzaW9uIG9yIHBhdGggbm90IGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCkBAIC01MDk2LDEyICs2NjQ5LDEyIEBACiAiJ2dpdCA8Y29tbWFuZD4gWzxyZXZpc2lvbj4uLi5dIC0tIFs8ZmlsZT4uLi5dJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjIzNAorIzogc2V0dXAuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAib3B0aW9uICclcycgbXVzdCBjb21lIGJlZm9yZSBub24tb3B0aW9uIGFyZ3VtZW50cyIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjI1MworIzogc2V0dXAuYzoyNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiBib3RoIHJldmlzaW9uIGFuZCBmaWxlbmFtZVxuIgpAQCAtNTEwOSw0NjIgKzY2NjIsNTQ0IEBACiAiJ2dpdCA8Y29tbWFuZD4gWzxyZXZpc2lvbj4uLi5dIC0tIFs8ZmlsZT4uLi5dJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjM4OQorIzogc2V0dXAuYzozOTEKIG1zZ2lkICJ1bmFibGUgdG8gc2V0IHVwIHdvcmsgdHJlZSB1c2luZyBpbnZhbGlkIGNvbmZpZyIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjM5MworIzogc2V0dXAuYzozOTUKIG1zZ2lkICJ0aGlzIG9wZXJhdGlvbiBtdXN0IGJlIHJ1biBpbiBhIHdvcmsgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjUyNworIzogc2V0dXAuYzo1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0ZWQgZ2l0IHJlcG8gdmVyc2lvbiA8PSAlZCwgZm91bmQgJWQiCiBtc2dzdHIgIiIKIAotIzogc2V0dXAuYzo1MzUKKyM6IHNldHVwLmM6NTQ5CiBtc2dpZCAidW5rbm93biByZXBvc2l0b3J5IGV4dGVuc2lvbnMgZm91bmQ6IgogbXNnc3RyICIiCiAKLSM6IHNldHVwLmM6NTU0CisjOiBzZXR1cC5jOjU2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBvcGVuaW5nICclcyciCiBtc2dzdHIgIiIKIAotIzogc2V0dXAuYzo1NTYKKyM6IHNldHVwLmM6NTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRvbyBsYXJnZSB0byBiZSBhIC5naXQgZmlsZTogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjU1OAorIzogc2V0dXAuYzo1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcmVhZGluZyAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjU2MAorIzogc2V0dXAuYzo1NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBnaXRmaWxlIGZvcm1hdDogJXMiCiBtc2dzdHIgIiIKIAotIzogc2V0dXAuYzo1NjIKKyM6IHNldHVwLmM6NTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHBhdGggaW4gZ2l0ZmlsZTogJXMiCiBtc2dzdHIgIiIKIAotIzogc2V0dXAuYzo1NjQKKyM6IHNldHVwLmM6NTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIGdpdCByZXBvc2l0b3J5OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjY2MworIzogc2V0dXAuYzo2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyQlcycgdG9vIGJpZyIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjY3NworIzogc2V0dXAuYzo2OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgZ2l0IHJlcG9zaXRvcnk6ICclcyciCiBtc2dzdHIgIiIKIAotIzogc2V0dXAuYzo3MDYgc2V0dXAuYzo3MDggc2V0dXAuYzo3MzkKKyM6IHNldHVwLmM6NzIwIHNldHVwLmM6NzIyIHNldHVwLmM6NzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGRpciB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNldHVwLmM6NzExIHNldHVwLmM6NzY3IHNldHVwLmM6Nzc3IHNldHVwLmM6ODE2IHNldHVwLmM6ODI0IHNldHVwLmM6ODM5CisjOiBzZXR1cC5jOjcyNSBzZXR1cC5jOjc4MSBzZXR1cC5jOjc5MSBzZXR1cC5jOjgzMCBzZXR1cC5jOjgzOAogbXNnaWQgImNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgogbXNnc3RyICIiCiAKLSM6IHNldHVwLmM6ODM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgb2YgdGhlIHBhcmVudCBkaXJlY3Rvcmllcyk6ICVzIgotbXNnc3RyICIiCi0KLSM6IHNldHVwLmM6ODQ4CisjOiBzZXR1cC5jOjg1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJSpzJXMlcyciCiBtc2dzdHIgIiIKIAotIzogc2V0dXAuYzoxMDc4CisjOiBzZXR1cC5jOjEwOTAKIG1zZ2lkICJVbmFibGUgdG8gcmVhZCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IHNldHVwLmM6MTA5MCBzZXR1cC5jOjEwOTYKKyM6IHNldHVwLmM6MTA5OSBzZXR1cC5jOjExMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoYW5nZSB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNldHVwLmM6MTEwOQorIzogc2V0dXAuYzoxMTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgb2YgdGhlIHBhcmVudCBkaXJlY3Rvcmllcyk6ICVzIgorbXNnc3RyICIiCisKKyM6IHNldHVwLmM6MTExNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBwYXJlbnQgdXAgdG8gbW91bnQgcG9pbnQgJXMpXG4iCiAiU3RvcHBpbmcgYXQgZmlsZXN5c3RlbSBib3VuZGFyeSAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSBub3Qgc2V0KS4iCiBtc2dzdHIgIiIKIAotIzogc2V0dXAuYzoxMTkyCisjOiBzZXR1cC5jOjEyMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInByb2JsZW0gd2l0aCBjb3JlLnNoYXJlZFJlcG9zaXRvcnkgZmlsZW1vZGUgdmFsdWUgKDAlLjNvKS5cbiIKICJUaGUgb3duZXIgb2YgZmlsZXMgbXVzdCBhbHdheXMgaGF2ZSByZWFkIGFuZCB3cml0ZSBwZXJtaXNzaW9ucy4iCiBtc2dzdHIgIiIKIAotIzogc2V0dXAuYzoxMjM1CisjOiBzZXR1cC5jOjEyNzEKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBvciBkdXAgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IHNldHVwLmM6MTI1MAorIzogc2V0dXAuYzoxMjg2CiBtc2dpZCAiZm9yayBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogc2V0dXAuYzoxMjU1CisjOiBzZXR1cC5jOjEyOTEKIG1zZ2lkICJzZXRzaWQgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjM4MQorIzogc2hhMS1maWxlLmM6NDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBkaXJlY3RvcnkgJXMgZG9lcyBub3QgZXhpc3Q7IGNoZWNrIC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6NDMyCisjOiBzaGExLWZpbGUuYzo1MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG5vcm1hbGl6ZSBhbHRlcm5hdGUgb2JqZWN0IHBhdGg6ICVzIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjUwMworIzogc2hhMS1maWxlLmM6NTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpZ25vcmluZyBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlcywgbmVzdGluZyB0b28gZGVlcCIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzo1MTAKKyM6IHNoYTEtZmlsZS5jOjU4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbm9ybWFsaXplIG9iamVjdCBkaXJlY3Rvcnk6ICVzIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjU2NQorIzogc2hhMS1maWxlLmM6NjI1CiBtc2dpZCAidW5hYmxlIHRvIGZkb3BlbiBhbHRlcm5hdGVzIGxvY2tmaWxlIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjU4MworIzogc2hhMS1maWxlLmM6NjQzCiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgYWx0ZXJuYXRlcyBmaWxlIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjU5MAorIzogc2hhMS1maWxlLmM6NjUwCiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgbmV3IGFsdGVybmF0ZXMgZmlsZSBpbnRvIHBsYWNlIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjYyNQorIzogc2hhMS1maWxlLmM6Njg1CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzo2NTEKKyM6IHNoYTEtZmlsZS5jOjcxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGFzIGEgbGlua2VkIGNoZWNrb3V0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0LiIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzo2NTcKKyM6IHNoYTEtZmlsZS5jOjcxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjY2MworIzogc2hhMS1maWxlLmM6NzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzo2NzEKKyM6IHNoYTEtZmlsZS5jOjczMQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6NzgxCisjOiBzaGExLWZpbGUuYzo3OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBsaW5lIHdoaWxlIHBhcnNpbmcgYWx0ZXJuYXRlIHJlZnM6ICVzIgorbXNnc3RyICIiCisKKyM6IHNoYTEtZmlsZS5jOjk0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhdHRlbXB0aW5nIHRvIG1tYXAgJTxQUkl1TUFYPiBvdmVyIGxpbWl0ICU8UFJJdU1BWD4iCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6ODA2CisjOiBzaGExLWZpbGUuYzo5NjQKIG1zZ2lkICJtbWFwIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzo5NzMKKyM6IHNoYTEtZmlsZS5jOjExMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IGZpbGUgJXMgaXMgZW1wdHkiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTA5MyBzaGExLWZpbGUuYzoyMjE1CisjOiBzaGExLWZpbGUuYzoxMjUyIHNoYTEtZmlsZS5jOjIzOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBsb29zZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzoxMDk1IHNoYTEtZmlsZS5jOjIyMTkKKyM6IHNoYTEtZmlsZS5jOjEyNTQgc2hhMS1maWxlLmM6MjM5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnYXJiYWdlIGF0IGVuZCBvZiBsb29zZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzoxMTM3CisjOiBzaGExLWZpbGUuYzoxMjk2CiBtc2dpZCAiaW52YWxpZCBvYmplY3QgdHlwZSIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzoxMjE5CisjOiBzaGExLWZpbGUuYzoxMzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1bnBhY2sgJXMgaGVhZGVyIHdpdGggLS1hbGxvdy11bmtub3duLXR5cGUiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTIyMgorIzogc2hhMS1maWxlLmM6MTM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdW5wYWNrICVzIGhlYWRlciIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzoxMjI4CisjOiBzaGExLWZpbGUuYzoxMzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAlcyBoZWFkZXIgd2l0aCAtLWFsbG93LXVua25vd24tdHlwZSIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzoxMjMxCisjOiBzaGExLWZpbGUuYzoxMzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAlcyBoZWFkZXIiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTQyMgorIzogc2hhMS1maWxlLmM6MTU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTQyNgorIzogc2hhMS1maWxlLmM6MTU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBsYWNlbWVudCAlcyBub3QgZm91bmQgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjE0MzAKKyM6IHNoYTEtZmlsZS5jOjE1OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9vc2Ugb2JqZWN0ICVzIChzdG9yZWQgaW4gJXMpIGlzIGNvcnJ1cHQiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTQzNAorIzogc2hhMS1maWxlLmM6MTU5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZWQgb2JqZWN0ICVzIChzdG9yZWQgaW4gJXMpIGlzIGNvcnJ1cHQiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTUzNgorIzogc2hhMS1maWxlLmM6MTY5OQogIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc2hhMSBmaWxlbmFtZSAlcyIKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzoxNTQzCisjOiBzaGExLWZpbGUuYzoxNzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBzZXQgcGVybWlzc2lvbiB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjE1NTAKKyM6IHNoYTEtZmlsZS5jOjE3MTMKIG1zZ2lkICJmaWxlIHdyaXRlIGVycm9yIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjE1NjkKLW1zZ2lkICJlcnJvciB3aGVuIGNsb3Npbmcgc2hhMSBmaWxlIgorIzogc2hhMS1maWxlLmM6MTczMgorbXNnaWQgImVycm9yIHdoZW4gY2xvc2luZyBsb29zZSBvYmplY3QgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzoxNjM1CisjOiBzaGExLWZpbGUuYzoxNzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc3VmZmljaWVudCBwZXJtaXNzaW9uIGZvciBhZGRpbmcgYW4gb2JqZWN0IHRvIHJlcG9zaXRvcnkgZGF0YWJhc2UgJXMiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTYzNworIzogc2hhMS1maWxlLmM6MTc5OQogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTY2MQotbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzaGExIGZpbGUiCisjOiBzaGExLWZpbGUuYzoxODIzCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGxvb3NlIG9iamVjdCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjE2NjcKKyM6IHNoYTEtZmlsZS5jOjE4MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgbmV3IG9iamVjdCAlcyAoJWQpIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjE2NzEKKyM6IHNoYTEtZmlsZS5jOjE4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZUVuZCBvbiBvYmplY3QgJXMgZmFpbGVkICglZCkiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTY3NQorIzogc2hhMS1maWxlLmM6MTgzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb25mdXNlZCBieSB1bnN0YWJsZSBvYmplY3Qgc291cmNlIGRhdGEgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjE2ODUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5MTgKKyM6IHNoYTEtZmlsZS5jOjE4NDcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHV0aW1lKCkgb24gJXMiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTc2MAorIzogc2hhMS1maWxlLmM6MTkyMgogIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgcmVhZCBzaGExX2ZpbGUgZm9yICVzIgorbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTgwNQorIzogc2hhMS1maWxlLmM6MTk2MgogbXNnaWQgImNvcnJ1cHQgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjE4MTMKKyM6IHNoYTEtZmlsZS5jOjE5NzAKIG1zZ2lkICJjb3JydXB0IHRhZyIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzoxOTEyCisjOiBzaGExLWZpbGUuYzoyMDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZXJyb3Igd2hpbGUgaW5kZXhpbmcgJXMiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTkxNQorIzogc2hhMS1maWxlLmM6MjA3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJzaG9ydCByZWFkIHdoaWxlIGluZGV4aW5nICVzIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjE5ODggc2hhMS1maWxlLmM6MTk5NworIzogc2hhMS1maWxlLmM6MjE0NSBzaGExLWZpbGUuYzoyMTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5zZXJ0IGludG8gZGF0YWJhc2UiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MjAwMworIzogc2hhMS1maWxlLmM6MjE2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5zdXBwb3J0ZWQgZmlsZSB0eXBlIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjIwMjcKKyM6IHNoYTEtZmlsZS5jOjIxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgb2JqZWN0IgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjIwMjkKKyM6IHNoYTEtZmlsZS5jOjIxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgJyVzJyBvYmplY3QiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MjA1NiBidWlsdGluL2luZGV4LXBhY2suYzoxNTQKKyM6IHNoYTEtZmlsZS5jOjIyMTMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjIyMjYgc2hhMS1maWxlLmM6MjI3OAorIzogc2hhMS1maWxlLmM6MjQwMyBzaGExLWZpbGUuYzoyNDU1CiAjLCBjLWZvcm1hdAotbXNnaWQgInNoYTEgbWlzbWF0Y2ggZm9yICVzIChleHBlY3RlZCAlcykiCittc2dpZCAiaGFzaCBtaXNtYXRjaCBmb3IgJXMgKGV4cGVjdGVkICVzKSIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzoyMjUwCisjOiBzaGExLWZpbGUuYzoyNDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBtbWFwICVzIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjIyNTUKKyM6IHNoYTEtZmlsZS5jOjI0MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayBoZWFkZXIgb2YgJXMiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MjI2MQorIzogc2hhMS1maWxlLmM6MjQzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgaGVhZGVyIG9mICVzIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjIyNzIKKyM6IHNoYTEtZmlsZS5jOjI0NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayBjb250ZW50cyBvZiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLW5hbWUuYzo0NzYKKyM6IHNoYTEtbmFtZS5jOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzaG9ydCBTSEExICVzIGlzIGFtYmlndW91cyIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLW5hbWUuYzo0ODcKKyM6IHNoYTEtbmFtZS5jOjQ5OAogbXNnaWQgIlRoZSBjYW5kaWRhdGVzIGFyZToiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1uYW1lLmM6NzcwCisjOiBzaGExLW5hbWUuYzo3OTcKIG1zZ2lkICIiCiAiR2l0IG5vcm1hbGx5IG5ldmVyIGNyZWF0ZXMgYSByZWYgdGhhdCBlbmRzIHdpdGggNDAgaGV4IGNoYXJhY3RlcnNcbiIKICJiZWNhdXNlIGl0IHdpbGwgYmUgaWdub3JlZCB3aGVuIHlvdSBqdXN0IHNwZWNpZnkgNDAtaGV4LiBUaGVzZSByZWZzXG4iCiAibWF5IGJlIGNyZWF0ZWQgYnkgbWlzdGFrZS4gRm9yIGV4YW1wbGUsXG4iCiAiXG4iCi0iICBnaXQgY2hlY2tvdXQgLWIgJGJyICQoZ2l0IHJldi1wYXJzZSAuLi4pXG4iCisiICBnaXQgc3dpdGNoIC1jICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgogIlxuIgogIndoZXJlIFwiJGJyXCIgaXMgc29tZWhvdyBlbXB0eSBhbmQgYSA0MC1oZXggcmVmIGlzIGNyZWF0ZWQuIFBsZWFzZVxuIgogImV4YW1pbmUgdGhlc2UgcmVmcyBhbmQgbWF5YmUgZGVsZXRlIHRoZW0uIFR1cm4gdGhpcyBtZXNzYWdlIG9mZiBieVxuIgogInJ1bm5pbmcgXCJnaXQgY29uZmlnIGFkdmljZS5vYmplY3ROYW1lV2FybmluZyBmYWxzZVwiIgogbXNnc3RyICIiCiAKLSM6IHN1Ym1vZHVsZS5jOjExNiBzdWJtb2R1bGUuYzoxNDUKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBnaWJpYnl0ZQorIzogc3RyYnVmLmM6ODIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IEdpQiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggZ2liaWJ5dGUvc2Vjb25kCisjOiBzdHJidWYuYzo4MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgR2lCL3MiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IG1lYmlieXRlCisjOiBzdHJidWYuYzo4MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgTWlCIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBtZWJpYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjgzNAorIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBNaUIvcyIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDgga2liaWJ5dGUKKyM6IHN0cmJ1Zi5jOjg0MQorIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBLaUIiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IGtpYmlieXRlL3NlY29uZAorIzogc3RyYnVmLmM6ODQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IEtpQi9zIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBieXRlCisjOiBzdHJidWYuYzo4NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUgYnl0ZSIKK21zZ2lkX3BsdXJhbCAiJXUgYnl0ZXMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjg1MQorIywgYy1mb3JtYXQKK21zZ2lkICIldSBieXRlL3MiCittc2dpZF9wbHVyYWwgIiV1IGJ5dGVzL3MiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBzdHJidWYuYzoxMTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBlZGl0ICclcyciCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MTE0IHN1Ym1vZHVsZS5jOjE0MwogbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgogbXNnc3RyICIiCiAKLSM6IHN1Ym1vZHVsZS5jOjEyMCBzdWJtb2R1bGUuYzoxNDkKKyM6IHN1Ym1vZHVsZS5jOjExOCBzdWJtb2R1bGUuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgc2VjdGlvbiBpbiAuZ2l0bW9kdWxlcyB3aGVyZSBwYXRoPSVzIgogbXNnc3RyICIiCiAKLSM6IHN1Ym1vZHVsZS5jOjE1NgorIzogc3VibW9kdWxlLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgLmdpdG1vZHVsZXMgZW50cnkgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHN1Ym1vZHVsZS5jOjE2NworIzogc3VibW9kdWxlLmM6MTY1CiBtc2dpZCAic3RhZ2luZyB1cGRhdGVkIC5naXRtb2R1bGVzIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJtb2R1bGUuYzozMjkKKyM6IHN1Ym1vZHVsZS5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbiB1bnBvcHVsYXRlZCBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJtb2R1bGUuYzozNjAKKyM6IHN1Ym1vZHVsZS5jOjM1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJQYXRoc3BlYyAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCiBtc2dzdHIgIiIKIAotIzogc3VibW9kdWxlLmM6ODU3CisjOiBzdWJtb2R1bGUuYzo5MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAic3VibW9kdWxlIGVudHJ5ICclcycgKCVzKSBpcyBhICVzLCBub3QgYSBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogc3VibW9kdWxlLmM6MTA5NyBidWlsdGluL2JyYW5jaC5jOjY1NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk4NQorIzogc3VibW9kdWxlLmM6MTE0NyBidWlsdGluL2JyYW5jaC5jOjY4MCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjAxNgogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICIiCiAKLSM6IHN1Ym1vZHVsZS5jOjE0MDQKKyM6IHN1Ym1vZHVsZS5jOjE0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGFjY2VzcyBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoxNjUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgbm90IHJlY29nbml6ZWQgYXMgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBzdWJtb2R1bGUuYzoxNTQyCisjOiBzdWJtb2R1bGUuYzoxNzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGFydCAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCiBtc2dzdHIgIiIKIAotIzogc3VibW9kdWxlLmM6MTU1NQorIzogc3VibW9kdWxlLmM6MTgwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcnVuICdnaXQgc3RhdHVzJyBpbiBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJtb2R1bGUuYzoxNjQ4CisjOiBzdWJtb2R1bGUuYzoxODE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1bnNldCBjb3JlLndvcmt0cmVlIHNldHRpbmcgaW4gc3VibW9kdWxlICclcyciCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MTkwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJzdWJtb2R1bGUgJyVzJyBoYXMgZGlydHkgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogc3VibW9kdWxlLmM6MTcwMAorIzogc3VibW9kdWxlLmM6MTk1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyVzJyBjb3VsZCBub3QgYmUgdXBkYXRlZC4iCiBtc2dzdHIgIiIKIAotIzogc3VibW9kdWxlLmM6MTc0NworIzogc3VibW9kdWxlLmM6MjAyNworIywgYy1mb3JtYXQKK21zZ2lkICJzdWJtb2R1bGUgZ2l0IGRpciAnJXMnIGlzIGluc2lkZSBnaXQgZGlyICclLipzJyIKK21zZ3N0ciAiIgorCisjOiBzdWJtb2R1bGUuYzoyMDQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJyZWxvY2F0ZV9naXRkaXIgZm9yIHN1Ym1vZHVsZSAnJXMnIHdpdGggbW9yZSB0aGFuIG9uZSB3b3JrdHJlZSBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICIiCiAKLSM6IHN1Ym1vZHVsZS5jOjE3NTkgc3VibW9kdWxlLmM6MTgxNQorIzogc3VibW9kdWxlLmM6MjA2MCBzdWJtb2R1bGUuYzoyMTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgbmFtZSBmb3Igc3VibW9kdWxlICclcyciCiBtc2dzdHIgIiIKIAotIzogc3VibW9kdWxlLmM6MTc2NgorIzogc3VibW9kdWxlLmM6MjA2NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZ1c2luZyB0byBtb3ZlICclcycgaW50byBhbiBleGlzdGluZyBnaXQgZGlyIgorbXNnc3RyICIiCisKKyM6IHN1Ym1vZHVsZS5jOjIwNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk1pZ3JhdGluZyBnaXQgZGlyZWN0b3J5IG9mICclcyVzJyBmcm9tXG4iCkBAIC01NTcyLDQwICs3MjA3LDQwIEBACiAiJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IHN1Ym1vZHVsZS5jOjE4NTAKKyM6IHN1Ym1vZHVsZS5jOjIxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJtb2R1bGUuYzoxODk0CisjOiBzdWJtb2R1bGUuYzoyMTk4CiBtc2dpZCAiY291bGQgbm90IHN0YXJ0IGxzLWZpbGVzIGluIC4uIgogbXNnc3RyICIiCiAKLSM6IHN1Ym1vZHVsZS5jOjE5MzMKKyM6IHN1Ym1vZHVsZS5jOjIyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAibHMtdHJlZSByZXR1cm5lZCB1bmV4cGVjdGVkIHJldHVybiBjb2RlICVkIgogbXNnc3RyICIiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzoyMzIKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3Jpbmcgc3VzcGljaW91cyBzdWJtb2R1bGUgbmFtZTogJXMiCiBtc2dzdHIgIiIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjI5NgorIzogc3VibW9kdWxlLWNvbmZpZy5jOjMwMwogbXNnaWQgIm5lZ2F0aXZlIHZhbHVlcyBub3QgYWxsb3dlZCBmb3Igc3VibW9kdWxlLmZldGNoam9icyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6MzkwCisjOiBzdWJtb2R1bGUtY29uZmlnLmM6NDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nICclcycgd2hpY2ggbWF5IGJlIGludGVycHJldGVkIGFzIGEgY29tbWFuZC1saW5lIG9wdGlvbjogJXMiCiBtc2dzdHIgIiIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjQ3OQorIzogc3VibW9kdWxlLWNvbmZpZy5jOjQ5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6NzU0CisjOiBzdWJtb2R1bGUtY29uZmlnLmM6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgLmdpdG1vZHVsZXMgZW50cnkgJXMiCiBtc2dzdHIgIiIKQEAgLTU2NDAsNyArNzI3NSw3IEBACiBtc2dpZCAiY291bGQgbm90IHJlYWQgZnJvbSBzdGRpbiIKIG1zZ3N0ciAiIgogCi0jOiB0cmFpbGVyLmM6MTAxMSBidWlsdGluL2FtLmM6NDcKKyM6IHRyYWlsZXIuYzoxMDExIHdyYXBwZXIuYzo2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXQgJXMiCiBtc2dzdHIgIiIKQEAgLTU2NjksNDYgKzczMDQsNTQgQEAKIG1zZ2lkICJXb3VsZCBzZXQgdXBzdHJlYW0gb2YgJyVzJyB0byAnJXMnIG9mICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQuYzoxNDIKKyM6IHRyYW5zcG9ydC5jOjE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBidW5kbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQuYzoyMDgKKyM6IHRyYW5zcG9ydC5jOjIxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFuc3BvcnQ6IGludmFsaWQgZGVwdGggb3B0aW9uICclcyciCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LmM6NjE2CisjOiB0cmFuc3BvcnQuYzoyNjYKK21zZ2lkICJzZWUgcHJvdG9jb2wudmVyc2lvbiBpbiAnZ2l0IGhlbHAgY29uZmlnJyBmb3IgbW9yZSBkZXRhaWxzIgorbXNnc3RyICIiCisKKyM6IHRyYW5zcG9ydC5jOjI2NworbXNnaWQgInNlcnZlciBvcHRpb25zIHJlcXVpcmUgcHJvdG9jb2wgdmVyc2lvbiAyIG9yIGxhdGVyIgorbXNnc3RyICIiCisKKyM6IHRyYW5zcG9ydC5jOjYzMgogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSB0cmFuc3BvcnQuY29sb3IuKiBjb25maWciCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LmM6Njg5CisjOiB0cmFuc3BvcnQuYzo3MDUKIG1zZ2lkICJzdXBwb3J0IGZvciBwcm90b2NvbCB2MiBub3QgaW1wbGVtZW50ZWQgeWV0IgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC5jOjgxNgorIzogdHJhbnNwb3J0LmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gdmFsdWUgZm9yIGNvbmZpZyAnJXMnOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQuYzo4ODIKKyM6IHRyYW5zcG9ydC5jOjg5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFuc3BvcnQgJyVzJyBub3QgYWxsb3dlZCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQuYzo5MzYKKyM6IHRyYW5zcG9ydC5jOjk0OQogbXNnaWQgImdpdC1vdmVyLXJzeW5jIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LmM6MTAzMQorIzogdHJhbnNwb3J0LmM6MTA0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBzdWJtb2R1bGUgcGF0aHMgY29udGFpbiBjaGFuZ2VzIHRoYXQgY2FuXG4iCiAibm90IGJlIGZvdW5kIG9uIGFueSByZW1vdGU6XG4iCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LmM6MTAzNQorIzogdHJhbnNwb3J0LmM6MTA0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC01NzI0LDE4MyArNzM2NywxODMgQEAKICJcbiIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQuYzoxMDQzCisjOiB0cmFuc3BvcnQuYzoxMDU2CiBtc2dpZCAiQWJvcnRpbmcuIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC5jOjExODIKKyM6IHRyYW5zcG9ydC5jOjEyMDEKIG1zZ2lkICJmYWlsZWQgdG8gcHVzaCBhbGwgbmVlZGVkIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LmM6MTMxNSB0cmFuc3BvcnQtaGVscGVyLmM6NjQzCisjOiB0cmFuc3BvcnQuYzoxMzQ1IHRyYW5zcG9ydC1oZWxwZXIuYzo2NTYKIG1zZ2lkICJvcGVyYXRpb24gbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQuYzoxNDE5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgbGluZSB3aGlsZSBwYXJzaW5nIGFsdGVybmF0ZSByZWZzOiAlcyIKLW1zZ3N0ciAiIgotCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NTEgdHJhbnNwb3J0LWhlbHBlci5jOjgwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjEgdHJhbnNwb3J0LWhlbHBlci5jOjkwCiBtc2dpZCAiZnVsbCB3cml0ZSB0byByZW1vdGUgaGVscGVyIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTMyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBmaW5kIHJlbW90ZSBoZWxwZXIgZm9yICclcyciCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjE0OCB0cmFuc3BvcnQtaGVscGVyLmM6NTU3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTYwIHRyYW5zcG9ydC1oZWxwZXIuYzo1NzAKIG1zZ2lkICJjYW4ndCBkdXAgaGVscGVyIG91dHB1dCBmZCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTk5CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ1bmtub3duIG1hbmRhdG9yeSBjYXBhYmlsaXR5ICVzOyB0aGlzIHJlbW90ZSBoZWxwZXIgcHJvYmFibHkgbmVlZHMgbmV3ZXIgIgogInZlcnNpb24gb2YgR2l0IgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoyMDUKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoyMTcKIG1zZ2lkICJ0aGlzIHJlbW90ZSBoZWxwZXIgc2hvdWxkIGltcGxlbWVudCByZWZzcGVjIGNhcGFiaWxpdHkiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjI3MiB0cmFuc3BvcnQtaGVscGVyLmM6NDEyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6Mjg0IHRyYW5zcG9ydC1oZWxwZXIuYzo0MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdW5leHBlY3RlZGx5IHNhaWQ6ICclcyciCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjQwMQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjQxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBhbHNvIGxvY2tlZCAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NDc5CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NDkyCiBtc2dpZCAiY291bGRuJ3QgcnVuIGZhc3QtaW1wb3J0IgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MDIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MTUKIG1zZ2lkICJlcnJvciB3aGlsZSBydW5uaW5nIGZhc3QtaW1wb3J0IgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MzEgdHJhbnNwb3J0LWhlbHBlci5jOjEwOTEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1NDQgdHJhbnNwb3J0LWhlbHBlci5jOjExMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgcmVmICVzIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1NzYKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biByZXNwb25zZSB0byBjb25uZWN0OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NTk4CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjExCiBtc2dpZCAic2V0dGluZyByZW1vdGUgc2VydmljZSBwYXRoIG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjYwMAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjYxMwogbXNnaWQgImludmFsaWQgcmVtb3RlIHNlcnZpY2UgcGF0aCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NjQ2CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IGNvbm5lY3QgdG8gc3Vic2VydmljZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NzEzCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIG9rL2Vycm9yLCBoZWxwZXIgc2FpZCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo3NjYKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo3ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyIHJlcG9ydGVkIHVuZXhwZWN0ZWQgc3RhdHVzIG9mICVzIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4MjcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgZHJ5LXJ1biIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6ODMwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4MzMKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQ9aWYtYXNrZWQiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjg0MAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAtLWF0b21pYyIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0ICdwdXNoLW9wdGlvbiciCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjkzMgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjk2NAogbXNnaWQgInJlbW90ZS1oZWxwZXIgZG9lc24ndCBzdXBwb3J0IHB1c2g7IHJlZnNwZWMgbmVlZGVkIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5MzcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgJ2ZvcmNlJyIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6OTg0CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTAxNgogbXNnaWQgImNvdWxkbid0IHJ1biBmYXN0LWV4cG9ydCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6OTg5CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTAyMQogbXNnaWQgImVycm9yIHdoaWxlIHJ1bm5pbmcgZmFzdC1leHBvcnQiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwMTQKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyByZWZzIGluIGNvbW1vbiBhbmQgbm9uZSBzcGVjaWZpZWQ7IGRvaW5nIG5vdGhpbmcuXG4iCiAiUGVyaGFwcyB5b3Ugc2hvdWxkIHNwZWNpZnkgYSBicmFuY2ggc3VjaCBhcyAnbWFzdGVyJy5cbiIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTA3NworIzogdHJhbnNwb3J0LWhlbHBlci5jOjExMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIHJlc3BvbnNlIGluIHJlZiBsaXN0OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTIzMQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCglcykgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMjU4CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3cml0ZSglcykgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzA3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB0aHJlYWQgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzExCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB0aHJlYWQgZmFpbGVkIHRvIGpvaW46ICVzIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzMwIHRyYW5zcG9ydC1oZWxwZXIuYzoxMzM0CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM3MCB0cmFuc3BvcnQtaGVscGVyLmM6MTM3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW4ndCBzdGFydCB0aHJlYWQgZm9yIGNvcHlpbmcgZGF0YTogJXMiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNzEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHByb2Nlc3MgZmFpbGVkIHRvIHdhaXQiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNzUKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHByb2Nlc3MgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzkzIHRyYW5zcG9ydC1oZWxwZXIuYzoxNDAyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTQzMyB0cmFuc3BvcnQtaGVscGVyLmM6MTQ0MgogbXNnaWQgImNhbid0IHN0YXJ0IHRocmVhZCBmb3IgY29weWluZyBkYXRhIgogbXNnc3RyICIiCiAKQEAgLTU5MTYsMTU4ICs3NTU5LDE2MyBAQAogbXNnaWQgImVtcHR5IGZpbGVuYW1lIGluIHRyZWUgZW50cnkiCiBtc2dzdHIgIiIKIAotIzogdHJlZS13YWxrLmM6MTE1CisjOiB0cmVlLXdhbGsuYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlbmFtZSBpbiB0cmVlIGVudHJ5IGNvbnRhaW5zIGJhY2tzbGFzaDogJyVzJyIKK21zZ3N0ciAiIgorCisjOiB0cmVlLXdhbGsuYzoxMjQKIG1zZ2lkICJ0b28tc2hvcnQgdHJlZSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjExMgorIzogdW5wYWNrLXRyZWVzLmM6MTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKICIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKIG1zZ3N0ciAiIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTQKKyM6IHVucGFjay10cmVlcy5jOjExMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCiAiJSVzIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjExNworIzogdW5wYWNrLXRyZWVzLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKICIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjExOQorIzogdW5wYWNrLXRyZWVzLmM6MTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKICIlJXMiCiBtc2dzdHIgIiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTIyCisjOiB1bnBhY2stdHJlZXMuYzoxMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgogIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSAlcy4iCiBtc2dzdHIgIiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTI0CisjOiB1bnBhY2stdHJlZXMuYzoxMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgogIiUlcyIKIG1zZ3N0ciAiIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjkKKyM6IHVucGFjay10cmVlcy5jOjEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXBkYXRpbmcgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyB3b3VsZCBsb3NlIHVudHJhY2tlZCBmaWxlcyBpbiB0aGVtOlxuIgogIiVzIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzMworIzogdW5wYWNrLXRyZWVzLmM6MTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKICIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCiBtc2dzdHIgIiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTM1CisjOiB1bnBhY2stdHJlZXMuYzoxMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgogIiUlcyIKIG1zZ3N0ciAiIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzgKKyM6IHVucGFjay10cmVlcy5jOjEzNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4iCiAiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgIiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQwCisjOiB1bnBhY2stdHJlZXMuYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgogIiUlcyIKIG1zZ3N0ciAiIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDMKKyM6IHVucGFjay10cmVlcy5jOjE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCiAiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSAlcy4iCiBtc2dzdHIgIiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQ1CisjOiB1bnBhY2stdHJlZXMuYzoxNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgogIiUlcyIKIG1zZ3N0ciAiIgogCisjOiB1bnBhY2stdHJlZXMuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCisiY2hlY2tvdXQ6XG4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgorbXNnc3RyICIiCisKICM6IHVucGFjay10cmVlcy5jOjE1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKICJjaGVja291dDpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCi1tc2dzdHIgIiIKLQotIzogdW5wYWNrLXRyZWVzLmM6MTUzCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgotImNoZWNrb3V0OlxuIgogIiUlcyIKIG1zZ3N0ciAiIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNTYKKyM6IHVucGFjay10cmVlcy5jOjE1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgogIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjE1OAorIzogdW5wYWNrLXRyZWVzLmM6MTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCiAiJSVzIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjE2MQorIzogdW5wYWNrLXRyZWVzLmM6MTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCiAiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSAlcy4iCiBtc2dzdHIgIiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTYzCisjOiB1bnBhY2stdHJlZXMuYzoxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKICIlJXMiCiBtc2dzdHIgIiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTcxCisjOiB1bnBhY2stdHJlZXMuYzoxNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRW50cnkgJyVzJyBvdmVybGFwcyB3aXRoICclcycuICBDYW5ub3QgYmluZC4iCiBtc2dzdHIgIiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTc0CisjOiB1bnBhY2stdHJlZXMuYzoxNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgc3BhcnNlIGNoZWNrb3V0OiB0aGUgZm9sbG93aW5nIGVudHJpZXMgYXJlIG5vdCB1cCB0byBkYXRlOlxuIgogIiVzIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjE3NgorIzogdW5wYWNrLXRyZWVzLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgIgpAQCAtNjA3NSw3ICs3NzIzLDcgQEAKICIlcyIKIG1zZ3N0ciAiIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNzgKKyM6IHVucGFjay10cmVlcy5jOjE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBzcGFyc2UgY2hlY2tvdXQgIgpAQCAtNjA4MywyOSArNzczMSwzMyBAQAogIiVzIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjE4MAorIzogdW5wYWNrLXRyZWVzLmM6MTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgdXBkYXRlIHN1Ym1vZHVsZTpcbiIKICIlcyIKIG1zZ3N0ciAiIgogCi0jOiB1bnBhY2stdHJlZXMuYzoyNTQKKyM6IHVucGFjay10cmVlcy5jOjI1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZ1xuIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjMzNgotbXNnaWQgIkNoZWNraW5nIG91dCBmaWxlcyIKKyM6IHVucGFjay10cmVlcy5jOjMxNworbXNnaWQgIlVwZGF0aW5nIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IHVucGFjay10cmVlcy5jOjM2OAorIzogdW5wYWNrLXRyZWVzLmM6MzQ5CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgcGF0aHMgaGF2ZSBjb2xsaWRlZCAoZS5nLiBjYXNlLXNlbnNpdGl2ZSBwYXRoc1xuIgogIm9uIGEgY2FzZS1pbnNlbnNpdGl2ZSBmaWxlc3lzdGVtKSBhbmQgb25seSBvbmUgZnJvbSB0aGUgc2FtZVxuIgogImNvbGxpZGluZyBncm91cCBpcyBpbiB0aGUgd29ya2luZyB0cmVlOlxuIgogbXNnc3RyICIiCiAKKyM6IHVucGFjay10cmVlcy5jOjE0NDEKK21zZ2lkICJVcGRhdGluZyBpbmRleCBmbGFncyIKK21zZ3N0ciAiIgorCiAjOiB1cmxtYXRjaC5jOjE2MwogbXNnaWQgImludmFsaWQgVVJMIHNjaGVtZSBuYW1lIG9yIG1pc3NpbmcgJzovLycgc3VmZml4IgogbXNnc3RyICIiCkBAIC02MTM1LDQxOCArNzc4Nyw0NDYgQEAKIG1zZ2lkICJpbnZhbGlkICcuLicgcGF0aCBzZWdtZW50IgogbXNnc3RyICIiCiAKLSM6IHdvcmt0cmVlLmM6MjQ5IGJ1aWx0aW4vYW0uYzoyMTAwCisjOiB3b3JrdHJlZS5jOjI1OCBidWlsdGluL2FtLmM6MjA4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHdvcmt0cmVlLmM6Mjk1CisjOiB3b3JrdHJlZS5jOjMwNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGF0IG1haW4gd29ya2luZyB0cmVlIGlzIG5vdCB0aGUgcmVwb3NpdG9yeSBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogd29ya3RyZWUuYzozMDYKKyM6IHdvcmt0cmVlLmM6MzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZmlsZSBkb2VzIG5vdCBjb250YWluIGFic29sdXRlIHBhdGggdG8gdGhlIHdvcmtpbmcgdHJlZSBsb2NhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiB3b3JrdHJlZS5jOjMxOAorIzogd29ya3RyZWUuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiIgogCi0jOiB3b3JrdHJlZS5jOjMyNAorIzogd29ya3RyZWUuYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSAuZ2l0IGZpbGUsIGVycm9yIGNvZGUgJWQiCiBtc2dzdHIgIiIKIAotIzogd29ya3RyZWUuYzozMzIKKyM6IHdvcmt0cmVlLmM6MzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgYmFjayB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHdyYXBwZXIuYzoyMjMgd3JhcHBlci5jOjM5MworIzogd3JhcHBlci5jOjE4NiB3cmFwcGVyLmM6MzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmciCiBtc2dzdHIgIiIKIAotIzogd3JhcHBlci5jOjQyNCB3cmFwcGVyLmM6NjI0CisjOiB3cmFwcGVyLmM6Mzg3IHdyYXBwZXIuYzo1ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHdyYXBwZXIuYzo2MzIKKyM6IHdyYXBwZXIuYzo1OTYKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTU0CisjOiB3dC1zdGF0dXMuYzoxNTgKIG1zZ2lkICJVbm1lcmdlZCBwYXRoczoiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTgxIHd0LXN0YXR1cy5jOjIwOAotIywgYy1mb3JtYXQKLW1zZ2lkICIgICh1c2UgXCJnaXQgcmVzZXQgJXMgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCisjOiB3dC1zdGF0dXMuYzoxODcgd3Qtc3RhdHVzLmM6MjE5Cittc2dpZCAiICAodXNlIFwiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTgzIHd0LXN0YXR1cy5jOjIxMAorIzogd3Qtc3RhdHVzLmM6MTkwIHd0LXN0YXR1cy5jOjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICIgICh1c2UgXCJnaXQgcmVzdG9yZSAtLXNvdXJjZT0lcyAtLXN0YWdlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxOTMgd3Qtc3RhdHVzLmM6MjI1CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NworIzogd3Qtc3RhdHVzLmM6MTk3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE4OSB3dC1zdGF0dXMuYzoxOTMKKyM6IHd0LXN0YXR1cy5jOjE5OSB3dC1zdGF0dXMuYzoyMDMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTkxCisjOiB3dC1zdGF0dXMuYzoyMDEKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyMDIgd3Qtc3RhdHVzLmM6MTA0MgorIzogd3Qtc3RhdHVzLmM6MjExIHd0LXN0YXR1cy5jOjEwNzQKIG1zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjIwIHd0LXN0YXR1cy5jOjEwNTEKKyM6IHd0LXN0YXR1cy5jOjIzNCB3dC1zdGF0dXMuYzoxMDgzCiBtc2dpZCAiQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNAorIzogd3Qtc3RhdHVzLmM6MjM4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjI2CisjOiB3dC1zdGF0dXMuYzoyNDAKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyMjcKKyM6IHd0LXN0YXR1cy5jOjI0MQogbXNnaWQgIiIKLSIgICh1c2UgXCJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKKyIgICh1c2UgXCJnaXQgcmVzdG9yZSA8ZmlsZT4uLi5cIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjIyOQorIzogd3Qtc3RhdHVzLmM6MjQzCiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI0MQorIzogd3Qtc3RhdHVzLmM6MjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI1NgorIzogd3Qtc3RhdHVzLmM6MjY4CiBtc2dpZCAiYm90aCBkZWxldGVkOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyNTgKKyM6IHd0LXN0YXR1cy5jOjI3MAogbXNnaWQgImFkZGVkIGJ5IHVzOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyNjAKKyM6IHd0LXN0YXR1cy5jOjI3MgogbXNnaWQgImRlbGV0ZWQgYnkgdGhlbToiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjYyCisjOiB3dC1zdGF0dXMuYzoyNzQKIG1zZ2lkICJhZGRlZCBieSB0aGVtOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyNjQKKyM6IHd0LXN0YXR1cy5jOjI3NgogbXNnaWQgImRlbGV0ZWQgYnkgdXM6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NgorIzogd3Qtc3RhdHVzLmM6Mjc4CiBtc2dpZCAiYm90aCBhZGRlZDoiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjY4CisjOiB3dC1zdGF0dXMuYzoyODAKIG1zZ2lkICJib3RoIG1vZGlmaWVkOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyNzgKKyM6IHd0LXN0YXR1cy5jOjI5MAogbXNnaWQgIm5ldyBmaWxlOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyODAKKyM6IHd0LXN0YXR1cy5jOjI5MgogbXNnaWQgImNvcGllZDoiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjgyCisjOiB3dC1zdGF0dXMuYzoyOTQKIG1zZ2lkICJkZWxldGVkOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyODQKKyM6IHd0LXN0YXR1cy5jOjI5NgogbXNnaWQgIm1vZGlmaWVkOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyODYKKyM6IHd0LXN0YXR1cy5jOjI5OAogbXNnaWQgInJlbmFtZWQ6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjI4OAorIzogd3Qtc3RhdHVzLmM6MzAwCiBtc2dpZCAidHlwZWNoYW5nZToiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjkwCisjOiB3dC1zdGF0dXMuYzozMDIKIG1zZ2lkICJ1bmtub3duOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyOTIKKyM6IHd0LXN0YXR1cy5jOjMwNAogbXNnaWQgInVubWVyZ2VkOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzozNzIKKyM6IHd0LXN0YXR1cy5jOjM4NAogbXNnaWQgIm5ldyBjb21taXRzLCAiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6Mzc0CisjOiB3dC1zdGF0dXMuYzozODYKIG1zZ2lkICJtb2RpZmllZCBjb250ZW50LCAiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6Mzc2CisjOiB3dC1zdGF0dXMuYzozODgKIG1zZ2lkICJ1bnRyYWNrZWQgY29udGVudCwgIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjg4MAorIzogd3Qtc3RhdHVzLmM6OTA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgc3Rhc2ggY3VycmVudGx5IGhhcyAlZCBlbnRyeSIKIG1zZ2lkX3BsdXJhbCAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJpZXMiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiB3dC1zdGF0dXMuYzo5MTIKKyM6IHd0LXN0YXR1cy5jOjkzOAogbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjkxNAorIzogd3Qtc3RhdHVzLmM6OTQwCiBtc2dpZCAiU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzo5OTYKKyM6IHd0LXN0YXR1cy5jOjEwMjIKIG1zZ2lkICIiCiAiRG8gbm90IG1vZGlmeSBvciByZW1vdmUgdGhlIGxpbmUgYWJvdmUuXG4iCiAiRXZlcnl0aGluZyBiZWxvdyBpdCB3aWxsIGJlIGlnbm9yZWQuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEwOTcKKyM6IHd0LXN0YXR1cy5jOjExMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGNvbXB1dGUgdGhlIGJyYW5jaCBhaGVhZC9iZWhpbmQgdmFsdWVzLlxuIgorIllvdSBjYW4gdXNlICctLW5vLWFoZWFkLWJlaGluZCcgdG8gYXZvaWQgdGhpcy5cbiIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxMTQ0CiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjExMDAKKyM6IHd0LXN0YXR1cy5jOjExNDcKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY29tbWl0XCIpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjExMDIKKyM6IHd0LXN0YXR1cy5jOjExNDkKIG1zZ2lkICIgICh1c2UgXCJnaXQgbWVyZ2UgLS1hYm9ydFwiIHRvIGFib3J0IHRoZSBtZXJnZSkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTEwNgorIzogd3Qtc3RhdHVzLmM6MTE1MwogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTEwOQorIzogd3Qtc3RhdHVzLmM6MTE1NgogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXRcIiB0byBjb25jbHVkZSBtZXJnZSkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTExOAorIzogd3Qtc3RhdHVzLmM6MTE2NQogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMTIxCisjOiB3dC1zdGF0dXMuYzoxMTY4CiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjExMjUKKyM6IHd0LXN0YXR1cy5jOjExNzIKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjExMjcKKyM6IHd0LXN0YXR1cy5jOjExNzQKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMTI5CisjOiB3dC1zdGF0dXMuYzoxMTc2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjAKKyM6IHd0LXN0YXR1cy5jOjEzMDkKIG1zZ2lkICJnaXQtcmViYXNlLXRvZG8gaXMgbWlzc2luZy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MgorIzogd3Qtc3RhdHVzLmM6MTMxMQogbXNnaWQgIk5vIGNvbW1hbmRzIGRvbmUuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjUKKyM6IHd0LXN0YXR1cy5jOjEzMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTGFzdCBjb21tYW5kIGRvbmUgKCVkIGNvbW1hbmQgZG9uZSk6IgogbXNnaWRfcGx1cmFsICJMYXN0IGNvbW1hbmRzIGRvbmUgKCVkIGNvbW1hbmRzIGRvbmUpOiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNzYKKyM6IHd0LXN0YXR1cy5jOjEzMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAoc2VlIG1vcmUgaW4gZmlsZSAlcykiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI4MQorIzogd3Qtc3RhdHVzLmM6MTMzMAogbXNnaWQgIk5vIGNvbW1hbmRzIHJlbWFpbmluZy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI4NAorIzogd3Qtc3RhdHVzLmM6MTMzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJOZXh0IGNvbW1hbmQgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kKToiCiBtc2dpZF9wbHVyYWwgIk5leHQgY29tbWFuZHMgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kcyk6IgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogd3Qtc3RhdHVzLmM6MTI5MgorIzogd3Qtc3RhdHVzLmM6MTM0MQogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIiB0byB2aWV3IGFuZCBlZGl0KSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMzA0CisjOiB3dC1zdGF0dXMuYzoxMzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMDkKKyM6IHd0LXN0YXR1cy5jOjEzNTgKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTMyMgorIzogd3Qtc3RhdHVzLmM6MTM3MQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMjQKKyM6IHd0LXN0YXR1cy5jOjEzNzMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTMyNgorIzogd3Qtc3RhdHVzLmM6MTM3NQogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHRvIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMzMzCisjOiB3dC1zdGF0dXMuYzoxMzgyCiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMzcKKyM6IHd0LXN0YXR1cy5jOjEzODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMzQyCisjOiB3dC1zdGF0dXMuYzoxMzkxCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTM0NQorIzogd3Qtc3RhdHVzLmM6MTM5NAogbXNnaWQgIiAgKE9uY2UgeW91ciB3b3JraW5nIGRpcmVjdG9yeSBpcyBjbGVhbiwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNDkKKyM6IHd0LXN0YXR1cy5jOjEzOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMzU0CisjOiB3dC1zdGF0dXMuYzoxNDAzCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNTcKKyM6IHd0LXN0YXR1cy5jOjE0MDYKIG1zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiB0byBhbWVuZCB0aGUgY3VycmVudCBjb21taXQpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNTkKKyM6IHd0LXN0YXR1cy5jOjE0MDgKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTM2OAorIzogd3Qtc3RhdHVzLmM6MTQxOQorbXNnaWQgIkNoZXJyeS1waWNrIGN1cnJlbnRseSBpbiBwcm9ncmVzcy4iCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNzMKKyM6IHd0LXN0YXR1cy5jOjE0MjkKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMzc2CisjOiB3dC1zdGF0dXMuYzoxNDMyCittc2dpZCAiICAocnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiB0byBjb250aW51ZSkiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTQzNQogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNzgKKyM6IHd0LXN0YXR1cy5jOjE0MzcKK21zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxNDM5CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTM4NgorIzogd3Qtc3RhdHVzLmM6MTQ0OQorbXNnaWQgIlJldmVydCBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MuIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjE0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTM5MQorIzogd3Qtc3RhdHVzLmM6MTQ1OAogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxMzk0CisjOiB3dC1zdGF0dXMuYzoxNDYxCittc2dpZCAiICAocnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIgdG8gY29udGludWUpIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjE0NjQKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTM5NgorIzogd3Qtc3RhdHVzLmM6MTQ2NgorbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxNDY4CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSByZXZlcnQgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNDA2CisjOiB3dC1zdGF0dXMuYzoxNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNDEwCisjOiB3dC1zdGF0dXMuYzoxNDgyCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNDEzCisjOiB3dC1zdGF0dXMuYzoxNDg1CiBtc2dpZCAiICAodXNlIFwiZ2l0IGJpc2VjdCByZXNldFwiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTEKKyM6IHd0LXN0YXR1cy5jOjE2OTQKIG1zZ2lkICJPbiBicmFuY2ggIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTgKKyM6IHd0LXN0YXR1cy5jOjE3MDEKIG1zZ2lkICJpbnRlcmFjdGl2ZSByZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MjAKKyM6IHd0LXN0YXR1cy5jOjE3MDMKIG1zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MjUKLW1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoxNjI3Ci1tc2dpZCAiSEVBRCBkZXRhY2hlZCBmcm9tICIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoxNjMwCisjOiB3dC1zdGF0dXMuYzoxNzEzCiBtc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNjQ3CisjOiB3dC1zdGF0dXMuYzoxNzMwCiBtc2dpZCAiSW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTY0OAorIzogd3Qtc3RhdHVzLmM6MTczMQogbXNnaWQgIk5vIGNvbW1pdHMgeWV0IgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE2NjIKKyM6IHd0LXN0YXR1cy5jOjE3NDUKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTY2NAorIzogd3Qtc3RhdHVzLmM6MTc0NwogbXNnaWQgIklnbm9yZWQgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTY2OAorIzogd3Qtc3RhdHVzLmM6MTc1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gZW51bWVyYXRlIHVudHJhY2tlZCBmaWxlcy4gJ3N0YXR1cyAtdW5vJ1xuIgpAQCAtNjU1NCwyMTYgKzgyMzQsMjIxIEBACiAibmV3IGZpbGVzIHlvdXJzZWxmIChzZWUgJ2dpdCBoZWxwIHN0YXR1cycpLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNjc0CisjOiB3dC1zdGF0dXMuYzoxNzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkJXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTY3NgorIzogd3Qtc3RhdHVzLmM6MTc1OQogbXNnaWQgIiAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTY4MgorIzogd3Qtc3RhdHVzLmM6MTc2NQogbXNnaWQgIk5vIGNoYW5nZXMiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTY4NworIzogd3Qtc3RhdHVzLmM6MTc3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNjkwCisjOiB3dC1zdGF0dXMuYzoxNzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTY5MworIzogd3Qtc3RhdHVzLmM6MTc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgogInRyYWNrKVxuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE2OTYKKyM6IHd0LXN0YXR1cy5jOjE3NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50XG4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTY5OQorIzogd3Qtc3RhdHVzLmM6MTc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAoY3JlYXRlL2NvcHkgZmlsZXMgYW5kIHVzZSBcImdpdCBhZGRcIiB0byB0cmFjaylcbiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNzAyIHd0LXN0YXR1cy5jOjE3MDcKKyM6IHd0LXN0YXR1cy5jOjE3ODUgd3Qtc3RhdHVzLmM6MTc5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE3MDUKKyM6IHd0LXN0YXR1cy5jOjE3ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxNzA5CisjOiB3dC1zdGF0dXMuYzoxNzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoxODIyCisjOiB3dC1zdGF0dXMuYzoxOTA1CiBtc2dpZCAiTm8gY29tbWl0cyB5ZXQgb24gIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MjYKKyM6IHd0LXN0YXR1cy5jOjE5MDkKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NTcKKyM6IHd0LXN0YXR1cy5jOjE5NDAKIG1zZ2lkICJkaWZmZXJlbnQiCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MTg1OSB3dC1zdGF0dXMuYzoxODY3CisjOiB3dC1zdGF0dXMuYzoxOTQyIHd0LXN0YXR1cy5jOjE5NTAKIG1zZ2lkICJiZWhpbmQgIgogbXNnc3RyICIiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NjIgd3Qtc3RhdHVzLmM6MTg2NQorIzogd3Qtc3RhdHVzLmM6MTk0NSB3dC1zdGF0dXMuYzoxOTQ4CiBtc2dpZCAiYWhlYWQgIgogbXNnc3RyICIiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgYWN0aW9uIGlzIGUuZy4gInB1bGwgd2l0aCByZWJhc2UiCi0jOiB3dC1zdGF0dXMuYzoyMzc0CisjOiB3dC1zdGF0dXMuYzoyNDcwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKIAotIzogd3Qtc3RhdHVzLmM6MjM4MAorIzogd3Qtc3RhdHVzLmM6MjQ3NgogbXNnaWQgImFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogCi0jOiB3dC1zdGF0dXMuYzoyMzgyCisjOiB3dC1zdGF0dXMuYzoyNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjI0CisjOiBjb21wYXQvcHJlY29tcG9zZV91dGY4LmM6NTggYnVpbHRpbi9jbG9uZS5jOjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzoyNgogbXNnaWQgImdpdCBhZGQgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6ODMKKyM6IGJ1aWx0aW4vYWRkLmM6ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBkaWZmIHN0YXR1cyAlYyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjg4IGJ1aWx0aW4vY29tbWl0LmM6Mjg0CisjOiBidWlsdGluL2FkZC5jOjkyIGJ1aWx0aW4vY29tbWl0LmM6Mjg4CiBtc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6OTgKKyM6IGJ1aWx0aW4vYWRkLmM6MTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoxNzMKKyM6IGJ1aWx0aW4vYWRkLmM6MTc3CiBtc2dpZCAiVW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZWZyZXNoaW5nIHRoZSBpbmRleDoiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzMgYnVpbHRpbi9yZXYtcGFyc2UuYzo4OTUKKyM6IGJ1aWx0aW4vYWRkLmM6MjUyIGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODk5CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQ0CisjOiBidWlsdGluL2FkZC5jOjI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjI0OAorIzogYnVpbHRpbi9hZGQuYzoyNjcKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTEKKyM6IGJ1aWx0aW4vYWRkLmM6MjcwCiBtc2dpZCAiZWRpdGluZyBwYXRjaCBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTQKKyM6IGJ1aWx0aW4vYWRkLmM6MjczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc1CiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjYxCisjOiBidWlsdGluL2FkZC5jOjI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjI2OQorIzogYnVpbHRpbi9hZGQuYzoyODgKIG1zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyODkgYnVpbHRpbi9jbGVhbi5jOjkwNyBidWlsdGluL2ZldGNoLmM6MTM3IGJ1aWx0aW4vbXYuYzoxMjMKLSM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTYgYnVpbHRpbi9wdWxsLmM6MjEzIGJ1aWx0aW4vcHVzaC5jOjU1NwotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzQ1IGJ1aWx0aW4vcm0uYzoyNDAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjUKKyM6IGJ1aWx0aW4vYWRkLmM6MzA4IGJ1aWx0aW4vY2xlYW4uYzo5MTAgYnVpbHRpbi9mZXRjaC5jOjE2MyBidWlsdGluL212LmM6MTI0CisjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU2IGJ1aWx0aW4vcHVsbC5jOjIyMyBidWlsdGluL3B1c2guYzo1NDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM0NCBidWlsdGluL3JtLmM6MjQxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY1CiBtc2dpZCAiZHJ5IHJ1biIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjI5MgorIzogYnVpbHRpbi9hZGQuYzozMTEKIG1zZ2lkICJpbnRlcmFjdGl2ZSBwaWNraW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjkzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU4IGJ1aWx0aW4vcmVzZXQuYzozMDUKKyM6IGJ1aWx0aW4vYWRkLmM6MzEyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDgyIGJ1aWx0aW4vcmVzZXQuYzozMDcKIG1zZ2lkICJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjI5NAorIzogYnVpbHRpbi9hZGQuYzozMTMKIG1zZ2lkICJlZGl0IGN1cnJlbnQgZGlmZiBhbmQgYXBwbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTUKKyM6IGJ1aWx0aW4vYWRkLmM6MzE0CiBtc2dpZCAiYWxsb3cgYWRkaW5nIG90aGVyd2lzZSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk2CisjOiBidWlsdGluL2FkZC5jOjMxNQogbXNnaWQgInVwZGF0ZSB0cmFja2VkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk3CisjOiBidWlsdGluL2FkZC5jOjMxNgogbXNnaWQgInJlbm9ybWFsaXplIEVPTCBvZiB0cmFja2VkIGZpbGVzIChpbXBsaWVzIC11KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjI5OAorIzogYnVpbHRpbi9hZGQuYzozMTcKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBwYXRoIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTkKKyM6IGJ1aWx0aW4vYWRkLmM6MzE4CiBtc2dpZCAiYWRkIGNoYW5nZXMgZnJvbSBhbGwgdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzAyCisjOiBidWlsdGluL2FkZC5jOjMyMQogbXNnaWQgImlnbm9yZSBwYXRocyByZW1vdmVkIGluIHRoZSB3b3JraW5nIHRyZWUgKHNhbWUgYXMgLS1uby1hbGwpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA0CisjOiBidWlsdGluL2FkZC5jOjMyMwogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjMwNQorIzogYnVpbHRpbi9hZGQuYzozMjQKIG1zZ2lkICJqdXN0IHNraXAgZmlsZXMgd2hpY2ggY2Fubm90IGJlIGFkZGVkIGJlY2F1c2Ugb2YgZXJyb3JzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA2CisjOiBidWlsdGluL2FkZC5jOjMyNQogbXNnaWQgImNoZWNrIGlmIC0gZXZlbiBtaXNzaW5nIC0gZmlsZXMgYXJlIGlnbm9yZWQgaW4gZHJ5IHJ1biIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjMwOCBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MAorIzogYnVpbHRpbi9hZGQuYzozMjcgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA0CiBtc2dpZCAib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzozMTAKKyM6IGJ1aWx0aW4vYWRkLmM6MzI5CiBtc2dpZCAid2FybiB3aGVuIGFkZGluZyBhbiBlbWJlZGRlZCByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzI1CisjOiBidWlsdGluL2FkZC5jOjM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91J3ZlIGFkZGVkIGFub3RoZXIgZ2l0IHJlcG9zaXRvcnkgaW5zaWRlIHlvdXIgY3VycmVudCByZXBvc2l0b3J5LlxuIgpAQCAtNjc4MSwxNzMgKzg0NjYsMTgzIEBACiAiU2VlIFwiZ2l0IGhlbHAgc3VibW9kdWxlXCIgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUzCisjOiBidWlsdGluL2FkZC5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRpbmcgZW1iZWRkZWQgZ2l0IHJlcG9zaXRvcnk6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzcxCisjOiBidWlsdGluL2FkZC5jOjM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCB0aGVtLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mzc5CisjOiBidWlsdGluL2FkZC5jOjQwMAogbXNnaWQgImFkZGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MTcKKyM6IGJ1aWx0aW4vYWRkLmM6NDI4IGJ1aWx0aW4vY29tbWl0LmM6MzQ4Cittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDM0Cittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1lZGl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDQ2CiBtc2dpZCAiLUEgYW5kIC11IGFyZSBtdXR1YWxseSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo0MjQKKyM6IGJ1aWx0aW4vYWRkLmM6NDQ5CiBtc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FkZC5jOjQyOAorIzogYnVpbHRpbi9hZGQuYzo0NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1jaG1vZCBwYXJhbSAnJXMnIG11c3QgYmUgZWl0aGVyIC14IG9yICt4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDQzCisjOiBidWlsdGluL2FkZC5jOjQ3MSBidWlsdGluL2NoZWNrb3V0LmM6MTY0OCBidWlsdGluL2NvbW1pdC5jOjM1NAorIzogYnVpbHRpbi9yZXNldC5jOjMyNworbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIHBhdGhzcGVjIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FkZC5jOjQ3OCBidWlsdGluL2NoZWNrb3V0LmM6MTY2MCBidWlsdGluL2NvbW1pdC5jOjM2MAorIzogYnVpbHRpbi9yZXNldC5jOjMzMworbXNnaWQgIi0tcGF0aHNwZWMtZmlsZS1udWwgcmVxdWlyZXMgLS1wYXRoc3BlYy1mcm9tLWZpbGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9hZGQuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hZGQuYzo0NDQKKyM6IGJ1aWx0aW4vYWRkLmM6NDgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzozNjMKKyM6IGJ1aWx0aW4vYW0uYzozNDcKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgYXV0aG9yIHNjcmlwdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6NDQ3CisjOiBidWlsdGluL2FtLmM6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgd2FzIGRlbGV0ZWQgYnkgdGhlIGFwcGx5cGF0Y2gtbXNnIGhvb2siCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjQ4OAorIzogYnVpbHRpbi9hbS5jOjQ3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjUyNQorIzogYnVpbHRpbi9hbS5jOjUxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6NTUxCisjOiBidWlsdGluL2FtLmM6NTM3CiBtc2dpZCAiZnNlZWsgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzo3MzkKKyM6IGJ1aWx0aW4vYW0uYzo3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHBhdGNoICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjgwNAorIzogYnVpbHRpbi9hbS5jOjc5MAogbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzo4NTIKKyM6IGJ1aWx0aW4vYW0uYzo4MzgKIG1zZ2lkICJpbnZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6ODU3IGJ1aWx0aW4vYW0uYzo4NjkKKyM6IGJ1aWx0aW4vYW0uYzo4NDMgYnVpbHRpbi9hbS5jOjg1NQogbXNnaWQgImludmFsaWQgRGF0ZSBsaW5lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzo4NjQKKyM6IGJ1aWx0aW4vYW0uYzo4NTAKIG1zZ2lkICJpbnZhbGlkIHRpbWV6b25lIG9mZnNldCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6OTU3CisjOiBidWlsdGluL2FtLmM6OTQzCiBtc2dpZCAiUGF0Y2ggZm9ybWF0IGRldGVjdGlvbiBmYWlsZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5NjIgYnVpbHRpbi9jbG9uZS5jOjQwOAorIzogYnVpbHRpbi9hbS5jOjk0OCBidWlsdGluL2Nsb25lLmM6NDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjk2NworIzogYnVpbHRpbi9hbS5jOjk1MwogbXNnaWQgIkZhaWxlZCB0byBzcGxpdCBwYXRjaGVzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTA5NyBidWlsdGluL2NvbW1pdC5jOjM2OQotbXNnaWQgInVuYWJsZSB0byB3cml0ZSBpbmRleCBmaWxlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYW0uYzoxMTExCisjOiBidWlsdGluL2FtLmM6MTA4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiJXMgLS1jb250aW51ZVwiLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTExMgorIzogYnVpbHRpbi9hbS5jOjEwODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcIiVzIC0tc2tpcFwiIGluc3RlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTEzCisjOiBidWlsdGluL2FtLmM6MTA4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJUbyByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIHN0b3AgcGF0Y2hpbmcsIHJ1biBcIiVzIC0tYWJvcnRcIi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjExOTYKKyM6IGJ1aWx0aW4vYW0uYzoxMTY5CiBtc2dpZCAiUGF0Y2ggc2VudCB3aXRoIGZvcm1hdD1mbG93ZWQ7IHNwYWNlIGF0IHRoZSBlbmQgb2YgbGluZXMgbWlnaHQgYmUgbG9zdC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjEyMjQKKyM6IGJ1aWx0aW4vYW0uYzoxMTk3CiBtc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMjkwCisjOiBidWlsdGluL2FtLmM6MTI2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIGF1dGhvciBsaW5lIGluIGNvbW1pdCAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MTI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICUuKnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjEzMTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FtLmM6MTUwOAorIzogYnVpbHRpbi9hbS5jOjE0ODQKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIG5lY2Vzc2FyeSBibG9icyB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNTEwCisjOiBidWlsdGluL2FtLmM6MTQ4NgogbXNnaWQgIlVzaW5nIGluZGV4IGluZm8gdG8gcmVjb25zdHJ1Y3QgYSBiYXNlIHRyZWUuLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE1MjkKKyM6IGJ1aWx0aW4vYW0uYzoxNTA1CiBtc2dpZCAiIgogIkRpZCB5b3UgaGFuZCBlZGl0IHlvdXIgcGF0Y2g/XG4iCiAiSXQgZG9lcyBub3QgYXBwbHkgdG8gYmxvYnMgcmVjb3JkZWQgaW4gaXRzIGluZGV4LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTUzNQorIzogYnVpbHRpbi9hbS5jOjE1MTEKIG1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gcGF0Y2hpbmcgYmFzZSBhbmQgMy13YXkgbWVyZ2UuLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE1NjEKKyM6IGJ1aWx0aW4vYW0uYzoxNTM3CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIGluIHRoZSBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTU5MworIzogYnVpbHRpbi9hbS5jOjE1NjkKIG1zZ2lkICJhcHBseWluZyB0byBhbiBlbXB0eSBoaXN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjM5IGJ1aWx0aW4vYW0uYzoxNjQzCisjOiBidWlsdGluL2FtLmM6MTYxNiBidWlsdGluL2FtLmM6MTYyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzdW1lOiAlcyBkb2VzIG5vdCBleGlzdC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE2NTkKLW1zZ2lkICJjYW5ub3QgYmUgaW50ZXJhY3RpdmUgd2l0aG91dCBzdGRpbiBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hbS5jOjE2NjQKKyM6IGJ1aWx0aW4vYW0uYzoxNjM4CiBtc2dpZCAiQ29tbWl0IEJvZHkgaXM6IgogbXNnc3RyICIiCiAKQEAgLTY5NTUsNDEgKzg2NTAsNDYgQEAKICMuIGluIHlvdXIgdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaAogIy4gaW5wdXQgYXQgdGhpcyBwb2ludC4KICMuCi0jOiBidWlsdGluL2FtLmM6MTY3NAorIzogYnVpbHRpbi9hbS5jOjE2NDgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHk/IFt5XWVzL1tuXW8vW2VdZGl0L1t2XWlldyBwYXRjaC9bYV1jY2VwdCBhbGw6ICIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTcyNAorIzogYnVpbHRpbi9hbS5jOjE2OTUgYnVpbHRpbi9jb21taXQuYzozOTQKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgaW5kZXggZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MTY5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJ0eSBpbmRleDogY2Fubm90IGFwcGx5IHBhdGNoZXMgKGRpcnR5OiAlcykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE3NjQgYnVpbHRpbi9hbS5jOjE4MzIKKyM6IGJ1aWx0aW4vYW0uYzoxNzM5IGJ1aWx0aW4vYW0uYzoxODA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5aW5nOiAlLipzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzgxCisjOiBidWlsdGluL2FtLmM6MTc1NgogbXNnaWQgIk5vIGNoYW5nZXMgLS0gUGF0Y2ggYWxyZWFkeSBhcHBsaWVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTc4NworIzogYnVpbHRpbi9hbS5jOjE3NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGF0Y2ggZmFpbGVkIGF0ICVzICUuKnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE3OTEKKyM6IGJ1aWx0aW4vYW0uYzoxNzY2CiBtc2dpZCAiVXNlICdnaXQgYW0gLS1zaG93LWN1cnJlbnQtcGF0Y2gnIHRvIHNlZSB0aGUgZmFpbGVkIHBhdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODM1CisjOiBidWlsdGluL2FtLmM6MTgxMAogbXNnaWQgIiIKICJObyBjaGFuZ2VzIC0gZGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz9cbiIKICJJZiB0aGVyZSBpcyBub3RoaW5nIGxlZnQgdG8gc3RhZ2UsIGNoYW5jZXMgYXJlIHRoYXQgc29tZXRoaW5nIGVsc2VcbiIKICJhbHJlYWR5IGludHJvZHVjZWQgdGhlIHNhbWUgY2hhbmdlczsgeW91IG1pZ2h0IHdhbnQgdG8gc2tpcCB0aGlzIHBhdGNoLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MTg0MgorIzogYnVpbHRpbi9hbS5jOjE4MTcKIG1zZ2lkICIiCiAiWW91IHN0aWxsIGhhdmUgdW5tZXJnZWQgcGF0aHMgaW4geW91ciBpbmRleC5cbiIKICJZb3Ugc2hvdWxkICdnaXQgYWRkJyBlYWNoIGZpbGUgd2l0aCByZXNvbHZlZCBjb25mbGljdHMgdG8gbWFyayB0aGVtIGFzICIKQEAgLTY5OTcsMTg0ICs4Njk3LDE4OCBAQAogIllvdSBtaWdodCBydW4gYGdpdCBybWAgb24gYSBmaWxlIHRvIGFjY2VwdCBcImRlbGV0ZWQgYnkgdGhlbVwiIGZvciBpdC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjE5NDkgYnVpbHRpbi9hbS5jOjE5NTMgYnVpbHRpbi9hbS5jOjE5NjUgYnVpbHRpbi9yZXNldC5jOjMyOAotIzogYnVpbHRpbi9yZXNldC5jOjMzNgorIzogYnVpbHRpbi9hbS5jOjE5MjQgYnVpbHRpbi9hbS5jOjE5MjggYnVpbHRpbi9hbS5jOjE5NDAgYnVpbHRpbi9yZXNldC5jOjM0NgorIzogYnVpbHRpbi9yZXNldC5jOjM1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMDAxCisjOiBidWlsdGluL2FtLmM6MTk3NgogbXNnaWQgImZhaWxlZCB0byBjbGVhbiBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjAzNgorIzogYnVpbHRpbi9hbS5jOjIwMjAKIG1zZ2lkICIiCiAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFEIHNpbmNlIHRoZSBsYXN0ICdhbScgZmFpbHVyZS5cbiIKICJOb3QgcmV3aW5kaW5nIHRvIE9SSUdfSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjEyOQorIzogYnVpbHRpbi9hbS5jOjIxMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgLS1wYXRjaC1mb3JtYXQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTY1CisjOiBidWlsdGluL2FtLmM6MjE1MwogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSBbKDxtYm94PiB8IDxNYWlsZGlyPikuLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTY2CisjOiBidWlsdGluL2FtLmM6MjE1NAogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTcyCisjOiBidWlsdGluL2FtLmM6MjE2MAogbXNnaWQgInJ1biBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTc0CisjOiBidWlsdGluL2FtLmM6MjE2MgogbXNnaWQgImhpc3RvcmljYWwgb3B0aW9uIC0tIG5vLW9wIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTc2CisjOiBidWlsdGluL2FtLmM6MjE2NAogbXNnaWQgImFsbG93IGZhbGwgYmFjayBvbiAzd2F5IG1lcmdpbmcgaWYgbmVlZGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTc3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU4Ci0jOiBidWlsdGluL3JlcGFjay5jOjMwNgorIzogYnVpbHRpbi9hbS5jOjIxNjUgYnVpbHRpbi9pbml0LWRiLmM6NDk0IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA0IGJ1aWx0aW4vc3Rhc2guYzo4MTEKIG1zZ2lkICJiZSBxdWlldCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjE3OQorIzogYnVpbHRpbi9hbS5jOjIxNjcKIG1zZ2lkICJhZGQgYSBTaWduZWQtb2ZmLWJ5IGxpbmUgdG8gdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTgyCisjOiBidWlsdGluL2FtLmM6MjE3MAogbXNnaWQgInJlY29kZSBpbnRvIHV0ZjggKGRlZmF1bHQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTg0CisjOiBidWlsdGluL2FtLmM6MjE3MgogbXNnaWQgInBhc3MgLWsgZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIxODYKKyM6IGJ1aWx0aW4vYW0uYzoyMTc0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjE4OAorIzogYnVpbHRpbi9hbS5jOjIxNzYKIG1zZ2lkICJwYXNzIC1tIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTkwCisjOiBidWlsdGluL2FtLmM6MjE3OAogbXNnaWQgInBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBmb3IgbWJveCBmb3JtYXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIxOTMKKyM6IGJ1aWx0aW4vYW0uYzoyMTgxCiBtc2dpZCAiZG8gbm90IHBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBpbmRlcGVuZGVudCBvZiBhbS5rZWVwY3IiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIxOTYKKyM6IGJ1aWx0aW4vYW0uYzoyMTg0CiBtc2dpZCAic3RyaXAgZXZlcnl0aGluZyBiZWZvcmUgYSBzY2lzc29ycyBsaW5lIgogbXNnc3RyICIiCiAKKyM6IGJ1aWx0aW4vYW0uYzoyMTg2IGJ1aWx0aW4vYW0uYzoyMTg5IGJ1aWx0aW4vYW0uYzoyMTkyIGJ1aWx0aW4vYW0uYzoyMTk1CiAjOiBidWlsdGluL2FtLmM6MjE5OCBidWlsdGluL2FtLmM6MjIwMSBidWlsdGluL2FtLmM6MjIwNCBidWlsdGluL2FtLmM6MjIwNwotIzogYnVpbHRpbi9hbS5jOjIyMTAgYnVpbHRpbi9hbS5jOjIyMTMgYnVpbHRpbi9hbS5jOjIyMTYgYnVpbHRpbi9hbS5jOjIyMTkKLSM6IGJ1aWx0aW4vYW0uYzoyMjI1CisjOiBidWlsdGluL2FtLmM6MjIxMwogbXNnaWQgInBhc3MgaXQgdGhyb3VnaCBnaXQtYXBwbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyMTUgYnVpbHRpbi9jb21taXQuYzoxMzQwIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MQotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc0IGJ1aWx0aW4vZ3JlcC5jOjg2OCBidWlsdGluL21lcmdlLmM6MjM5Ci0jOiBidWlsdGluL3B1bGwuYzoxNTEgYnVpbHRpbi9wdWxsLmM6MjA5IGJ1aWx0aW4vcmViYXNlLmM6ODU0Ci0jOiBidWlsdGluL3JlcGFjay5jOjMxNyBidWlsdGluL3JlcGFjay5jOjMyMSBidWlsdGluL3JlcGFjay5jOjMyMwotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MSBidWlsdGluL3Nob3ctcmVmLmM6MTcxIGJ1aWx0aW4vdGFnLmM6Mzg2Ci0jOiBwYXJzZS1vcHRpb25zLmg6MTQ0IHBhcnNlLW9wdGlvbnMuaDoxNDYgcGFyc2Utb3B0aW9ucy5oOjI2OAorIzogYnVpbHRpbi9hbS5jOjIyMDMgYnVpbHRpbi9jb21taXQuYzoxMzg2IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc2IGJ1aWx0aW4vZ3JlcC5jOjg4MyBidWlsdGluL21lcmdlLmM6MjQ5CisjOiBidWlsdGluL3B1bGwuYzoxNjAgYnVpbHRpbi9wdWxsLmM6MjE5IGJ1aWx0aW4vcmViYXNlLmM6MTQ2OQorIzogYnVpbHRpbi9yZXBhY2suYzozMTUgYnVpbHRpbi9yZXBhY2suYzozMTkgYnVpbHRpbi9yZXBhY2suYzozMjEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAgYnVpbHRpbi9zaG93LXJlZi5jOjE3MiBidWlsdGluL3RhZy5jOjQwMworIzogcGFyc2Utb3B0aW9ucy5oOjE1NCBwYXJzZS1vcHRpb25zLmg6MTc1IHBhcnNlLW9wdGlvbnMuaDozMTYKIG1zZ2lkICJuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjIxIGJ1aWx0aW4vYnJhbmNoLmM6NjM3IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzgKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0NCBidWlsdGluL3RhZy5jOjQyMiBidWlsdGluL3ZlcmlmeS10YWcuYzozOQorIzogYnVpbHRpbi9hbS5jOjIyMDkgYnVpbHRpbi9icmFuY2guYzo2NjEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU1IGJ1aWx0aW4vdGFnLmM6NDM3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjIyCisjOiBidWlsdGluL2FtLmM6MjIxMAogbXNnaWQgImZvcm1hdCB0aGUgcGF0Y2goZXMpIGFyZSBpbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjIyOAorIzogYnVpbHRpbi9hbS5jOjIyMTYKIG1zZ2lkICJvdmVycmlkZSBlcnJvciBtZXNzYWdlIHdoZW4gcGF0Y2ggZmFpbHVyZSBvY2N1cnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzAKKyM6IGJ1aWx0aW4vYW0uYzoyMjE4CiBtc2dpZCAiY29udGludWUgYXBwbHlpbmcgcGF0Y2hlcyBhZnRlciByZXNvbHZpbmcgYSBjb25mbGljdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjIzMworIzogYnVpbHRpbi9hbS5jOjIyMjEKIG1zZ2lkICJzeW5vbnltcyBmb3IgLS1jb250aW51ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjIzNgorIzogYnVpbHRpbi9hbS5jOjIyMjQKIG1zZ2lkICJza2lwIHRoZSBjdXJyZW50IHBhdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM5CisjOiBidWlsdGluL2FtLmM6MjIyNwogbXNnaWQgInJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgYWJvcnQgdGhlIHBhdGNoaW5nIG9wZXJhdGlvbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDIKKyM6IGJ1aWx0aW4vYW0uYzoyMjMwCiBtc2dpZCAiYWJvcnQgdGhlIHBhdGNoaW5nIG9wZXJhdGlvbiBidXQga2VlcCBIRUFEIHdoZXJlIGl0IGlzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI0NQorIzogYnVpbHRpbi9hbS5jOjIyMzMKIG1zZ2lkICJzaG93IHRoZSBwYXRjaCBiZWluZyBhcHBsaWVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI0OQorIzogYnVpbHRpbi9hbS5jOjIyMzcKIG1zZ2lkICJsaWUgYWJvdXQgY29tbWl0dGVyIGRhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTEKKyM6IGJ1aWx0aW4vYW0uYzoyMjM5CiBtc2dpZCAidXNlIGN1cnJlbnQgdGltZXN0YW1wIGZvciBhdXRob3IgZGF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI1MyBidWlsdGluL2NvbW1pdC5jOjE0ODMgYnVpbHRpbi9tZXJnZS5jOjI3MwotIzogYnVpbHRpbi9wdWxsLmM6MTg0IGJ1aWx0aW4vcmViYXNlLmM6ODk4IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4MwotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTMgYnVpbHRpbi90YWcuYzo0MDIKKyM6IGJ1aWx0aW4vYW0uYzoyMjQxIGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMjAgYnVpbHRpbi9jb21taXQuYzoxNTA3CisjOiBidWlsdGluL21lcmdlLmM6Mjg2IGJ1aWx0aW4vcHVsbC5jOjE5NCBidWlsdGluL3JlYmFzZS5jOjUwOQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTEzIGJ1aWx0aW4vcmV2ZXJ0LmM6MTE3IGJ1aWx0aW4vdGFnLmM6NDE4CiBtc2dpZCAia2V5LWlkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjU0IGJ1aWx0aW4vcmViYXNlLmM6ODk5IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4NAorIzogYnVpbHRpbi9hbS5jOjIyNDIgYnVpbHRpbi9yZWJhc2UuYzo1MTAgYnVpbHRpbi9yZWJhc2UuYzoxNTE0CiBtc2dpZCAiR1BHLXNpZ24gY29tbWl0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NworIzogYnVpbHRpbi9hbS5jOjIyNDUKIG1zZ2lkICIoaW50ZXJuYWwgdXNlIGZvciBnaXQtcmViYXNlKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI3NQorIzogYnVpbHRpbi9hbS5jOjIyNjMKIG1zZ2lkICIiCiAiVGhlIC1iLy0tYmluYXJ5IG9wdGlvbiBoYXMgYmVlbiBhIG5vLW9wIGZvciBsb25nIHRpbWUsIGFuZFxuIgogIml0IHdpbGwgYmUgcmVtb3ZlZC4gUGxlYXNlIGRvIG5vdCB1c2UgaXQgYW55bW9yZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIyODIKKyM6IGJ1aWx0aW4vYW0uYzoyMjcwCiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk3CisjOiBidWlsdGluL2FtLmM6MjI4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmV2aW91cyByZWJhc2UgZGlyZWN0b3J5ICVzIHN0aWxsIGV4aXN0cyBidXQgbWJveCBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMjEKKyM6IGJ1aWx0aW4vYW0uYzoyMzA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdHJheSAlcyBkaXJlY3RvcnkgZm91bmQuXG4iCiAiVXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZW1vdmUgaXQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzI3CisjOiBidWlsdGluL2FtLmM6MjMxNQogbXNnaWQgIlJlc29sdmUgb3BlcmF0aW9uIG5vdCBpbiBwcm9ncmVzcywgd2UgYXJlIG5vdCByZXN1bWluZy4iCiBtc2dzdHIgIiIKIAorIzogYnVpbHRpbi9hbS5jOjIzMjUKK21zZ2lkICJpbnRlcmFjdGl2ZSBtb2RlIHJlcXVpcmVzIHBhdGNoZXMgb24gdGhlIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGluL2FwcGx5LmM6OAogbXNnaWQgImdpdCBhcHBseSBbPG9wdGlvbnM+XSBbPHBhdGNoPi4uLl0iCiBtc2dzdHIgIiIKQEAgLTcxOTIsODYgKzg4OTYsMjgwIEBACiBtc2dpZCAiZ2l0IGFyY2hpdmU6IFJlbW90ZSB3aXRoIG5vIFVSTCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo1OAorIzogYnVpbHRpbi9hcmNoaXZlLmM6NjEKIG1zZ2lkICJnaXQgYXJjaGl2ZTogZXhwZWN0ZWQgQUNLL05BSywgZ290IGEgZmx1c2ggcGFja2V0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjYxCisjOiBidWlsdGluL2FyY2hpdmUuYzo2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXJjaGl2ZTogTkFDSyAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2NAorIzogYnVpbHRpbi9hcmNoaXZlLmM6NjUKIG1zZ2lkICJnaXQgYXJjaGl2ZTogcHJvdG9jb2wgZXJyb3IiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9hcmNoaXZlLmM6NjgKKyM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY5CiBtc2dpZCAiZ2l0IGFyY2hpdmU6IGV4cGVjdGVkIGEgZmx1c2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjIKIG1zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1uZXh0LWFsbCBbLS1uby1jaGVja291dF0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEzCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjMKIG1zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS13cml0ZS10ZXJtcyA8YmFkX3Rlcm0+IDxnb29kX3Rlcm0+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI0CiBtc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNsZWFuLXN0YXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo0NgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI1Cittc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXJlc2V0IFs8Y29tbWl0Pl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI2Cittc2dpZCAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC13cml0ZSBbLS1uby1sb2ddIDxzdGF0ZT4gPHJldmlzaW9uPiA8Z29vZF90ZXJtPiAiCisiPGJhZF90ZXJtPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjcKK21zZ2lkICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNoZWNrLWFuZC1zZXQtdGVybXMgPGNvbW1hbmQ+IDxnb29kX3Rlcm0+ICIKKyI8YmFkX3Rlcm0+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyOAorbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1uZXh0LWNoZWNrIDxnb29kX3Rlcm0+IDxiYWRfdGVybT4gWzx0ZXJtPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI5Cittc2dpZCAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC10ZXJtcyBbLS10ZXJtLWdvb2QgfCAtLXRlcm0tb2xkIHwgLS10ZXJtLWJhZCB8IC0tIgorInRlcm0tbmV3XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzAKK21zZ2lkICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXN0YXJ0IFstLXRlcm0te29sZCxnb29kfT08dGVybT4gLS10ZXJtLXtuZXcsYmFkfSIKKyI9PHRlcm0+XVstLW5vLWNoZWNrb3V0XSBbPGJhZD4gWzxnb29kPi4uLl1dIFstLV0gWzxwYXRocz4uLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo4NgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRlcm0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjUwCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3QgdXNlIHRoZSBidWlsdGluIGNvbW1hbmQgJyVzJyBhcyBhIHRlcm0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYwCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgdGVybSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo3MQorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjExMQogbXNnaWQgInBsZWFzZSB1c2UgdHdvIGRpZmZlcmVudCB0ZXJtcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NzgKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMTgKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiB0aGUgZmlsZSBCSVNFQ1RfVEVSTVMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyMAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJXZSBhcmUgbm90IGJpc2VjdGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvdWxkIG5vdCBjaGVjayBvdXQgb3JpZ2luYWwgSEVBRCAnJXMnLiBUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPGNvbW1pdD4nLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCBiaXNlY3Rfd3JpdGUgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZ2V0IHRoZSBvaWQgb2YgdGhlIHJldiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qgb3BlbiB0aGUgZmlsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjb21tYW5kOiB5b3UncmUgY3VycmVudGx5IGluIGEgJXMvJXMgYmlzZWN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICVzIGFuZCAlcyByZXZpc2lvbi5cbiIKKyJZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJXNcIiBhbmQgXCJnaXQgYmlzZWN0ICVzXCIgZm9yIHRoYXQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBuZWVkIHRvIHN0YXJ0IGJ5IFwiZ2l0IGJpc2VjdCBzdGFydFwiLlxuIgorIllvdSB0aGVuIG5lZWQgdG8gZ2l2ZSBtZSBhdCBsZWFzdCBvbmUgJXMgYW5kICVzIHJldmlzaW9uLlxuIgorIllvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCAlc1wiIGFuZCBcImdpdCBiaXNlY3QgJXNcIiBmb3IgdGhhdC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICJiaXNlY3Rpbmcgb25seSB3aXRoIGEgJXMgY29tbWl0IgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbWV0gYW5kIFtuXSBpbiB5b3VyCisjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CisjLiBhdCB0aGlzIHBvaW50LgorIy4KKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozMzAKK21zZ2lkICJBcmUgeW91IHN1cmUgW1kvbl0/ICIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Mzc3Cittc2dpZCAibm8gdGVybXMgZGVmaW5lZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGN1cnJlbnQgdGVybXMgYXJlICVzIGZvciB0aGUgb2xkIHN0YXRlXG4iCisiYW5kICVzIGZvciB0aGUgbmV3IHN0YXRlLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImludmFsaWQgYXJndW1lbnQgJXMgZm9yICdnaXQgYmlzZWN0IHRlcm1zJy5cbiIKKyJTdXBwb3J0ZWQgb3B0aW9ucyBhcmU6IC0tdGVybS1nb29kfC0tdGVybS1vbGQgYW5kIC0tdGVybS1iYWR8LS10ZXJtLW5ldy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYSB2YWxpZCByZXZpc2lvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTEyCittc2dpZCAiYmFkIEhFQUQgLSBJIG5lZWQgYSBIRUFEIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tpbmcgb3V0ICclcycgZmFpbGVkLiBUcnkgJ2dpdCBiaXNlY3Qgc3RhcnQgPHZhbGlkLWJyYW5jaD4nLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTQ4Cittc2dpZCAid29uJ3QgYmlzZWN0IG9uIGNnLXNlZWsnZWQgdHJlZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTUxCittc2dpZCAiYmFkIEhFQUQgLSBzdHJhbmdlIHN5bWJvbGljIHJlZiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVmOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2MzEKIG1zZ2lkICJwZXJmb3JtICdnaXQgYmlzZWN0IG5leHQnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMjIKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2MzMKIG1zZ2lkICJ3cml0ZSB0aGUgdGVybXMgdG8gLmdpdC9CSVNFQ1RfVEVSTVMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyNAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzNQogbXNnaWQgImNsZWFudXAgdGhlIGJpc2VjdGlvbiBzdGF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTI2CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM3CiBtc2dpZCAiY2hlY2sgZm9yIGV4cGVjdGVkIHJldnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyOAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzOQorbXNnaWQgInJlc2V0IHRoZSBiaXNlY3Rpb24gc3RhdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0MQorbXNnaWQgIndyaXRlIG91dCB0aGUgYmlzZWN0aW9uIHN0YXRlIGluIEJJU0VDVF9MT0ciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0MworbXNnaWQgImNoZWNrIGFuZCBzZXQgdGVybXMgaW4gYSBiaXNlY3Rpb24gc3RhdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0NQorbXNnaWQgImNoZWNrIHdoZXRoZXIgYmFkIG9yIGdvb2QgdGVybXMgZXhpc3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0NworbXNnaWQgInByaW50IG91dCB0aGUgYmlzZWN0IHRlcm1zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDkKK21zZ2lkICJzdGFydCB0aGUgYmlzZWN0IHNlc3Npb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY1MQogbXNnaWQgInVwZGF0ZSBCSVNFQ1RfSEVBRCBpbnN0ZWFkIG9mIGNoZWNraW5nIG91dCB0aGUgY3VycmVudCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE0MworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY1MworbXNnaWQgIm5vIGxvZyBmb3IgQklTRUNUX1dSSVRFIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NzAKIG1zZ2lkICItLXdyaXRlLXRlcm1zIHJlcXVpcmVzIHR3byBhcmd1bWVudHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE0NworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY3NAogbXNnaWQgIi0tYmlzZWN0LWNsZWFuLXN0YXRlIHJlcXVpcmVzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjgxCittc2dpZCAiLS1iaXNlY3QtcmVzZXQgcmVxdWlyZXMgZWl0aGVyIG5vIGFyZ3VtZW50IG9yIGEgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2ODUKK21zZ2lkICItLWJpc2VjdC13cml0ZSByZXF1aXJlcyBlaXRoZXIgNCBvciA1IGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjkxCittc2dpZCAiLS1jaGVjay1hbmQtc2V0LXRlcm1zIHJlcXVpcmVzIDMgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2OTcKK21zZ2lkICItLWJpc2VjdC1uZXh0LWNoZWNrIHJlcXVpcmVzIDIgb3IgMyBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjcwMworbXNnaWQgIi0tYmlzZWN0LXRlcm1zIHJlcXVpcmVzIDAgb3IgMSBhcmd1bWVudCIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGluL2JsYW1lLmM6MzEKIG1zZ2lkICJnaXQgYmxhbWUgWzxvcHRpb25zPl0gWzxyZXYtb3B0cz5dIFs8cmV2Pl0gWy0tXSA8ZmlsZT4iCiBtc2dzdHIgIiIKQEAgLTcyODAsMTMzICs5MTc4LDE0NiBAQAogbXNnaWQgIjxyZXYtb3B0cz4gYXJlIGRvY3VtZW50ZWQgaW4gZ2l0LXJldi1saXN0KDEpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo0MDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo0MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0aW5nIGEgY29sb3I6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo0MTMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo0MTYKIG1zZ2lkICJtdXN0IGVuZCB3aXRoIGEgY29sb3IiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjcwMAorIzogYnVpbHRpbi9ibGFtZS5jOjcyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbG9yICclcycgaW4gY29sb3IuYmxhbWUucmVwZWF0ZWRMaW5lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6NzE4CisjOiBidWlsdGluL2JsYW1lLmM6NzQ3CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgYmxhbWUuY29sb3JpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5MworIzogYnVpbHRpbi9ibGFtZS5jOjgyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCByZXZpc2lvbiAlcyB0byBpZ25vcmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg0NAogbXNnaWQgIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5NAorIzogYnVpbHRpbi9ibGFtZS5jOjg0NQogbXNnaWQgIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5NQorIzogYnVpbHRpbi9ibGFtZS5jOjg0NgogbXNnaWQgIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Nzk2CisjOiBidWlsdGluL2JsYW1lLmM6ODQ3CiBtc2dpZCAiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Nzk3CisjOiBidWlsdGluL2JsYW1lLmM6ODQ4CiBtc2dpZCAiRm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDkKIG1zZ2lkICJTaG93IG91dHB1dCBzY29yZSBmb3IgYmxhbWUgZW50cmllcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Nzk5CisjOiBidWlsdGluL2JsYW1lLmM6ODUwCiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwMAorIzogYnVpbHRpbi9ibGFtZS5jOjg1MQogbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODAxCisjOiBidWlsdGluL2JsYW1lLmM6ODUyCiBtc2dpZCAiU2hvdyBpbiBhIGZvcm1hdCBkZXNpZ25lZCBmb3IgbWFjaGluZSBjb25zdW1wdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODAyCisjOiBidWlsdGluL2JsYW1lLmM6ODUzCiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTQKIG1zZ2lkICJVc2UgdGhlIHNhbWUgb3V0cHV0IG1vZGUgYXMgZ2l0LWFubm90YXRlIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTUKIG1zZ2lkICJTaG93IHJhdyB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwNQorIzogYnVpbHRpbi9ibGFtZS5jOjg1NgogbXNnaWQgIlNob3cgbG9uZyBjb21taXQgU0hBMSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA2CisjOiBidWlsdGluL2JsYW1lLmM6ODU3CiBtc2dpZCAiU3VwcHJlc3MgYXV0aG9yIG5hbWUgYW5kIHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA3CisjOiBidWlsdGluL2JsYW1lLmM6ODU4CiBtc2dpZCAiU2hvdyBhdXRob3IgZW1haWwgaW5zdGVhZCBvZiBuYW1lIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTkKIG1zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA5CisjOiBidWlsdGluL2JsYW1lLmM6ODYwIGJ1aWx0aW4vbG9nLmM6MTcwMgorbXNnaWQgInJldiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODYwCittc2dpZCAiSWdub3JlIDxyZXY+IHdoZW4gYmxhbWluZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODYxCittc2dpZCAiSWdub3JlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODYyCiBtc2dpZCAiY29sb3IgcmVkdW5kYW50IG1ldGFkYXRhIGZyb20gcHJldmlvdXMgbGluZSBkaWZmZXJlbnRseSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODEwCisjOiBidWlsdGluL2JsYW1lLmM6ODYzCiBtc2dpZCAiY29sb3IgbGluZXMgYnkgYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MTcKLW1zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MTkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjQKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyMAorIzogYnVpbHRpbi9ibGFtZS5jOjg2NQogbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODIxCisjOiBidWlsdGluL2JsYW1lLmM6ODY2CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODIyIGJ1aWx0aW4vYmxhbWUuYzo4MjMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjcgYnVpbHRpbi9ibGFtZS5jOjg2OAogbXNnaWQgInNjb3JlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjIKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjcKIG1zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjgKIG1zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjkKIG1zZ2lkICJuLG0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyNAorIzogYnVpbHRpbi9ibGFtZS5jOjg2OQogbXNnaWQgIlByb2Nlc3Mgb25seSBsaW5lIHJhbmdlIG4sbSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4NzMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo5MjEKIG1zZ2lkICItLXByb2dyZXNzIGNhbid0IGJlIHVzZWQgd2l0aCAtLWluY3JlbWVudGFsIG9yIHBvcmNlbGFpbiBmb3JtYXRzIgogbXNnc3RyICIiCiAKQEAgLTc0MTgsMTggKzkzMjksMTggQEAKICMuIHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvciBmZXdlciBkaXNwbGF5CiAjLiBjb2x1bW5zLgogIy4KLSM6IGJ1aWx0aW4vYmxhbWUuYzo5MjQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo5NzIKIG1zZ2lkICI0IHllYXJzLCAxMSBtb250aHMgYWdvIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoxMDExCisjOiBidWlsdGluL2JsYW1lLmM6MTA3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lIgogbXNnaWRfcGx1cmFsICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lcyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoxMDU3CisjOiBidWlsdGluL2JsYW1lLmM6MTEyNQogbXNnaWQgIkJsYW1pbmcgbGluZXMiCiBtc2dzdHIgIiIKIApAQCAtNzQ2MSwxMzggKzkzNzIsMTQ3IEBACiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tZm9ybWF0XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE1MQorIzogYnVpbHRpbi9icmFuY2guYzoxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImRlbGV0aW5nIGJyYW5jaCAnJXMnIHRoYXQgaGFzIGJlZW4gbWVyZ2VkIHRvXG4iCiAiICAgICAgICAgJyVzJywgYnV0IG5vdCB5ZXQgbWVyZ2VkIHRvIEhFQUQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTU1CisjOiBidWlsdGluL2JyYW5jaC5jOjE1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGRlbGV0aW5nIGJyYW5jaCAnJXMnIHRoYXQgaXMgbm90IHlldCBtZXJnZWQgdG9cbiIKICIgICAgICAgICAnJXMnLCBldmVuIHRob3VnaCBpdCBpcyBtZXJnZWQgdG8gSEVBRC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE3MworIzogYnVpbHRpbi9icmFuY2guYzoxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBicmFuY2ggJyVzJyBpcyBub3QgZnVsbHkgbWVyZ2VkLlxuIgogIklmIHlvdSBhcmUgc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgaXQsIHJ1biAnZ2l0IGJyYW5jaCAtRCAlcycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTg2CisjOiBidWlsdGluL2JyYW5jaC5jOjE4OQogbXNnaWQgIlVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjIwCiBtc2dpZCAiY2Fubm90IHVzZSAtYSB3aXRoIC1kIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjIzCisjOiBidWlsdGluL2JyYW5jaC5jOjIyNgogbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIzNworIzogYnVpbHRpbi9icmFuY2guYzoyNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBicmFuY2ggJyVzJyBjaGVja2VkIG91dCBhdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjUyCisjOiBidWlsdGluL2JyYW5jaC5jOjI1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI1MworIzogYnVpbHRpbi9icmFuY2guYzoyNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI2OAorIzogYnVpbHRpbi9icmFuY2guYzoyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjY5CisjOiBidWlsdGluL2JyYW5jaC5jOjI3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvciBkZWxldGluZyBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI3NgorIzogYnVpbHRpbi9icmFuY2guYzoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRlZCByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mjc3CisjOiBidWlsdGluL2JyYW5jaC5jOjI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQyMSBidWlsdGluL3RhZy5jOjU5CisjOiBidWlsdGluL2JyYW5jaC5jOjQyOSBidWlsdGluL3RhZy5jOjYxCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGZvcm1hdCBzdHJpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDYwCittc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ2NgorIywgYy1mb3JtYXQKK21zZ2lkICJIRUFEICglcykgcG9pbnRzIG91dHNpZGUgb2YgcmVmcy9oZWFkcy8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIHJlYmFzZWQgYXQgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NjIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyBiaXNlY3RlZCBhdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ3OQorIzogYnVpbHRpbi9icmFuY2guYzo1MDIKIG1zZ2lkICJjYW5ub3QgY29weSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0ODEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTA0CiBtc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0OTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1MTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQyCiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1MjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQ0CiBtc2dpZCAiQnJhbmNoIGNvcHkgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTI1CisjOiBidWlsdGluL2JyYW5jaC5jOjU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGEgY29weSBvZiBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTI4CisjOiBidWlsdGluL2JyYW5jaC5jOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWVkIGEgbWlzbmFtZWQgYnJhbmNoICclcycgYXdheSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUzNAorIzogYnVpbHRpbi9icmFuY2guYzo1NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoIHJlbmFtZWQgdG8gJXMsIGJ1dCBIRUFEIGlzIG5vdCB1cGRhdGVkISIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU0MworIzogYnVpbHRpbi9icmFuY2guYzo1NjYKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NDUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY4CiBtc2dpZCAiQnJhbmNoIGlzIGNvcGllZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2hcbiIKQEAgLTc2MDAsMzc1ICs5NTIwLDQxNiBAQAogIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIHN0cmlwcGVkLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CisjOiBidWlsdGluL2JyYW5jaC5jOjYxOAogbXNnaWQgIkdlbmVyaWMgb3B0aW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NgorIzogYnVpbHRpbi9icmFuY2guYzo2MjAKIG1zZ2lkICJzaG93IGhhc2ggYW5kIHN1YmplY3QsIGdpdmUgdHdpY2UgZm9yIHVwc3RyZWFtIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NworIzogYnVpbHRpbi9icmFuY2guYzo2MjEKIG1zZ2lkICJzdXBwcmVzcyBpbmZvcm1hdGlvbmFsIG1lc3NhZ2VzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk4CisjOiBidWlsdGluL2JyYW5jaC5jOjYyMgogbXNnaWQgInNldCB1cCB0cmFja2luZyBtb2RlIChzZWUgZ2l0LXB1bGwoMSkpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAwCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNAogbXNnaWQgImRvIG5vdCB1c2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDIgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgwCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNiBidWlsdGluL3JlYmFzZS5jOjUwNQogbXNnaWQgInVwc3RyZWFtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAyCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNgogbXNnaWQgImNoYW5nZSB0aGUgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwMwotbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjA0Ci1tc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjA1Ci1tc2dpZCAiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwNyBidWlsdGluL2JyYW5jaC5jOjYwOQotbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzo2MDggYnVpbHRpbi9icmFuY2guYzo2MTAKLW1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjEzCi1tc2dpZCAiU3BlY2lmaWMgZ2l0LWJyYW5jaCBhY3Rpb25zOiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxNAotbXNnaWQgImxpc3QgYm90aCByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE2Ci1tc2dpZCAiZGVsZXRlIGZ1bGx5IG1lcmdlZCBicmFuY2giCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzo2MTcKLW1zZ2lkICJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE4Ci1tc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzo2MTkKLW1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIwCi1tc2dpZCAiY29weSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMQotbXNnaWQgImNvcHkgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMgotbXNnaWQgImxpc3QgYnJhbmNoIG5hbWVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIzCi1tc2dpZCAiY3JlYXRlIHRoZSBicmFuY2gncyByZWZsb2ciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzo2MjUKLW1zZ2lkICJlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyNgotbXNnaWQgImZvcmNlIGNyZWF0aW9uLCBtb3ZlL3JlbmFtZSwgZGVsZXRpb24iCi1tc2dzdHIgIiIKLQogIzogYnVpbHRpbi9icmFuY2guYzo2MjcKLW1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG1lcmdlZCIKK21zZ2lkICJ1bnNldCB0aGUgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL2JyYW5jaC5jOjYyOAotbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBhcmUgbm90IG1lcmdlZCIKK21zZ2lkICJ1c2UgY29sb3JlZCBvdXRwdXQiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9icmFuY2guYzo2MjkKK21zZ2lkICJhY3Qgb24gcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMxIGJ1aWx0aW4vYnJhbmNoLmM6NjMzCittc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYzMiBidWlsdGluL2JyYW5jaC5jOjYzNAorbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MzcKK21zZ2lkICJTcGVjaWZpYyBnaXQtYnJhbmNoIGFjdGlvbnM6IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM4Cittc2dpZCAibGlzdCBib3RoIHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NDAKK21zZ2lkICJkZWxldGUgZnVsbHkgbWVyZ2VkIGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY0MQorbXNnaWQgImRlbGV0ZSBicmFuY2ggKGV2ZW4gaWYgbm90IG1lcmdlZCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NDIKK21zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY0MworbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NDQKK21zZ2lkICJjb3B5IGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ1Cittc2dpZCAiY29weSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ2Cittc2dpZCAibGlzdCBicmFuY2ggbmFtZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NDcKK21zZ2lkICJzaG93IGN1cnJlbnQgYnJhbmNoIG5hbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NDgKK21zZ2lkICJjcmVhdGUgdGhlIGJyYW5jaCdzIHJlZmxvZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY1MAorbXNnaWQgImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUxCittc2dpZCAiZm9yY2UgY3JlYXRpb24sIG1vdmUvcmVuYW1lLCBkZWxldGlvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY1MgorbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBhcmUgbWVyZ2VkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUzCittc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU0CiBtc2dpZCAibGlzdCBicmFuY2hlcyBpbiBjb2x1bW5zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDAgYnVpbHRpbi9scy1yZW1vdGUuYzo3MAotIzogYnVpbHRpbi90YWcuYzo0MTUKLW1zZ2lkICJrZXkiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzo2MzEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MSBidWlsdGluL2xzLXJlbW90ZS5jOjcxCi0jOiBidWlsdGluL3RhZy5jOjQxNgotbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzMyBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQzIGJ1aWx0aW4vbm90ZXMuYzo0MTUKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTggYnVpbHRpbi9ub3Rlcy5jOjU3OCBidWlsdGluL25vdGVzLmM6NTgxCi0jOiBidWlsdGluL3RhZy5jOjQxOAorIzogYnVpbHRpbi9icmFuY2guYzo2NTcgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MiBidWlsdGluL25vdGVzLmM6NDE1CisjOiBidWlsdGluL25vdGVzLmM6NDE4IGJ1aWx0aW4vbm90ZXMuYzo1ODEgYnVpbHRpbi9ub3Rlcy5jOjU4NAorIzogYnVpbHRpbi90YWcuYzo0MzMKIG1zZ2lkICJvYmplY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU4CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM2IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDkgYnVpbHRpbi90YWcuYzo0MjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDggYnVpbHRpbi90YWcuYzo0NDAKIG1zZ2lkICJzb3J0aW5nIGFuZCBmaWx0ZXJpbmcgYXJlIGNhc2UgaW5zZW5zaXRpdmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzcgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOCBidWlsdGluL3RhZy5jOjQyMwotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYxIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzggYnVpbHRpbi90YWcuYzo0MzgKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CiBtc2dpZCAiZm9ybWF0IHRvIHVzZSBmb3IgdGhlIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2MCBidWlsdGluL2Nsb25lLmM6NzM5CisjOiBidWlsdGluL2JyYW5jaC5jOjY4NCBidWlsdGluL2Nsb25lLmM6Nzg0CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2ODMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzA4CiBtc2dpZCAiLS1jb2x1bW4gYW5kIC0tdmVyYm9zZSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njk4IGJ1aWx0aW4vYnJhbmNoLmM6NzQ5IGJ1aWx0aW4vYnJhbmNoLmM6NzU4CisjOiBidWlsdGluL2JyYW5jaC5jOjcyMyBidWlsdGluL2JyYW5jaC5jOjc3NyBidWlsdGluL2JyYW5jaC5jOjc4NgogbXNnaWQgImJyYW5jaCBuYW1lIHJlcXVpcmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzI1CisjOiBidWlsdGluL2JyYW5jaC5jOjc1MwogbXNnaWQgIkNhbm5vdCBnaXZlIGRlc2NyaXB0aW9uIHRvIGRldGFjaGVkIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzU4CiBtc2dpZCAiY2Fubm90IGVkaXQgZGVzY3JpcHRpb24gb2YgbW9yZSB0aGFuIG9uZSBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGNvbW1pdCBvbiBicmFuY2ggJyVzJyB5ZXQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQwCisjOiBidWlsdGluL2JyYW5jaC5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBicmFuY2ggbmFtZWQgJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzgzCiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgY29weSBvcGVyYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzkyCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIGZvciBhIHJlbmFtZSBvcGVyYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk3CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIHRvIHNldCBuZXcgdXBzdHJlYW0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NzMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjb3VsZCBub3Qgc2V0IHVwc3RyZWFtIG9mIEhFQUQgdG8gJXMgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc3NiBidWlsdGluL2JyYW5jaC5jOjc5OAorIzogYnVpbHRpbi9icmFuY2guYzo4MDQgYnVpbHRpbi9icmFuY2guYzo4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc4MAorIzogYnVpbHRpbi9icmFuY2guYzo4MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIxCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIHRvIHVuc2V0IHVwc3RyZWFtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk2CisjOiBidWlsdGluL2JyYW5jaC5jOjgyNQogbXNnaWQgImNvdWxkIG5vdCB1bnNldCB1cHN0cmVhbSBvZiBIRUFEIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIGhhcyBubyB1cHN0cmVhbSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgxMgotbXNnaWQgIi1hIGFuZCAtciBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgbWFrZSBzZW5zZSB3aXRoIGEgYnJhbmNoIG5hbWUiCisjOiBidWlsdGluL2JyYW5jaC5jOjg0MQorbXNnaWQgIiIKKyJUaGUgLWEsIGFuZCAtciwgb3B0aW9ucyB0byAnZ2l0IGJyYW5jaCcgZG8gbm90IHRha2UgYSBicmFuY2ggbmFtZS5cbiIKKyJEaWQgeW91IG1lYW4gdG8gdXNlOiAtYXwtciAtLWxpc3QgPHBhdHRlcm4+PyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgxNQorIzogYnVpbHRpbi9icmFuY2guYzo4NDUKIG1zZ2lkICIiCiAidGhlICctLXNldC11cHN0cmVhbScgb3B0aW9uIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuIFBsZWFzZSB1c2UgJy0tdHJhY2snIG9yICIKICInLS1zZXQtdXBzdHJlYW0tdG8nIGluc3RlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NDUKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTUgYnVpbHRpbi9idW5kbGUuYzoyMworbXNnaWQgImdpdCBidW5kbGUgY3JlYXRlIFs8b3B0aW9ucz5dIDxmaWxlPiA8Z2l0LXJldi1saXN0IGFyZ3M+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTYgYnVpbHRpbi9idW5kbGUuYzoyOAorbXNnaWQgImdpdCBidW5kbGUgdmVyaWZ5IFs8b3B0aW9ucz5dIDxmaWxlPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjE3IGJ1aWx0aW4vYnVuZGxlLmM6MzMKK21zZ2lkICJnaXQgYnVuZGxlIGxpc3QtaGVhZHMgPGZpbGU+IFs8cmVmbmFtZT4uLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTggYnVpbHRpbi9idW5kbGUuYzozOAorbXNnaWQgImdpdCBidW5kbGUgdW5idW5kbGUgPGZpbGU+IFs8cmVmbmFtZT4uLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NjYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjI4Cittc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9idW5kbGUuYzo2OCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzAKK21zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjMyCittc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9idW5kbGUuYzo3MyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzUKK21zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9idW5kbGUuYzo5MworbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIGNyZWF0ZSBhIGJ1bmRsZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxMDQKK21zZ2lkICJkbyBub3Qgc2hvdyBidW5kbGUgZGV0YWlscyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjExOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBva2F5XG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo1OAotbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIGNyZWF0ZSBhIGJ1bmRsZS4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9idW5kbGUuYzo2MgorIzogYnVpbHRpbi9idW5kbGUuYzoxNjAKIG1zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byB1bmJ1bmRsZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU4NworIzogYnVpbHRpbi9idW5kbGUuYzoxNjggYnVpbHRpbi9yZW1vdGUuYzoxNjA5Cittc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjE5MCBidWlsdGluL3JlbW90ZS5jOjE2NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTk1CiBtc2dpZCAiIgogImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC0iCiAicCB8IDx0eXBlPiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9PHBhdGg+XSA8b2JqZWN0PiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTg4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTk2CiBtc2dpZCAiIgogImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKICJmaWx0ZXJzXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjA5CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjE3CiBtc2dpZCAib25seSBvbmUgYmF0Y2ggb3B0aW9uIG1heSBiZSBzcGVjaWZpZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYyNworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNQogbXNnaWQgIjx0eXBlPiBjYW4gYmUgb25lIG9mOiBibG9iLCB0cmVlLCBjb21taXQsIHRhZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjI4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM2CiBtc2dpZCAic2hvdyBvYmplY3QgdHlwZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjI5CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM3CiBtc2dpZCAic2hvdyBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjMxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM5CiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDAKIG1zZ2lkICJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjM0CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQyCiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NAogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biBmaWx0ZXJzIG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNyBnaXQtc3VibW9kdWxlLnNoOjg1NworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NSBnaXQtc3VibW9kdWxlLnNoOjk5MgogbXNnaWQgImJsb2IiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NgogbXNnaWQgInVzZSBhIHNwZWNpZmljIHBhdGggZm9yIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDAKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDgKIG1zZ2lkICJhbGxvdyAtcyBhbmQgLXQgdG8gd29yayB3aXRoIGJyb2tlbi9jb3JydXB0IG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0MQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0OQogbXNnaWQgImJ1ZmZlciAtLWJhdGNoIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjQzCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjUxCiBtc2dpZCAic2hvdyBpbmZvIGFuZCBjb250ZW50IG9mIG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTUKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1MQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1OQogbXNnaWQgImZvbGxvdyBpbi10cmVlIHN5bWxpbmtzICh1c2VkIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjUzCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjYxCiBtc2dpZCAic2hvdyBhbGwgb2JqZWN0cyB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjU1CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjYzCiBtc2dpZCAiZG8gbm90IG9yZGVyIC0tYmF0Y2gtYWxsLW9iamVjdHMgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEyCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMwogbXNnaWQgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSBbLS1dIDxwYXRobmFtZT4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTMKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjE0CiBtc2dpZCAiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMAorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEKIG1zZ2lkICJyZXBvcnQgYWxsIGF0dHJpYnV0ZXMgc2V0IG9uIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIyCiBtc2dpZCAidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjIgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNCBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI1IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIKIG1zZ2lkICJyZWFkIGZpbGUgbmFtZXMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyNCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI2CisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyNSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI3CiBtc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMCBidWlsdGluL2NoZWNrb3V0LmM6MTIzNCBidWlsdGluL2djLmM6NTE3Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDk1CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDM1IGJ1aWx0aW4vZ2MuYzo1MzcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDYKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOQogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGlucHV0IHBhdGhzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MzAKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MzEKIG1zZ2lkICJpZ25vcmUgaW5kZXggd2hlbiBjaGVja2luZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1OQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjAKIG1zZ2lkICJjYW5ub3Qgc3BlY2lmeSBwYXRobmFtZXMgd2l0aCAtLXN0ZGluIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYyCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MwogbXNnaWQgIi16IG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCAtLXN0ZGluIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY0CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2NQogbXNnaWQgIm5vIHBhdGggc3BlY2lmaWVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY4CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2OQogbXNnaWQgIi0tcXVpZXQgaXMgb25seSB2YWxpZCB3aXRoIGEgc2luZ2xlIHBhdGhuYW1lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcwCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MQogbXNnaWQgImNhbm5vdCBoYXZlIGJvdGggLS1xdWlldCBhbmQgLS12ZXJib3NlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTczCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3NAogbXNnaWQgIi0tbm9uLW1hdGNoaW5nIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXZlcmJvc2UiCiBtc2dzdHIgIiIKIApAQCAtNzk4OSw1NCArOTk1MCw1NCBAQAogbXNnaWQgIm5vIGNvbnRhY3RzIHNwZWNpZmllZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTI4CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTMxCiBtc2dpZCAiZ2l0IGNoZWNrb3V0LWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0NQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0OAogbXNnaWQgInN0YWdlIHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kIDMgb3IgYWxsIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjQKIG1zZ2lkICJjaGVjayBvdXQgYWxsIGZpbGVzIGluIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYyCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY1CiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGV4aXN0aW5nIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjcKIG1zZ2lkICJubyB3YXJuaW5nIGZvciBleGlzdGluZyBmaWxlcyBhbmQgZmlsZXMgbm90IGluIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjkKIG1zZ2lkICJkb24ndCBjaGVja291dCBuZXcgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MQogbXNnaWQgInVwZGF0ZSBzdGF0IGluZm9ybWF0aW9uIGluIHRoZSBpbmRleCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzUKIG1zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NwogbXNnaWQgIndyaXRlIHRoZSBjb250ZW50IHRvIHRlbXBvcmFyeSBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc1IGJ1aWx0aW4vY29sdW1uLmM6MzEKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzY4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzcxCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1MwotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY2OAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OCBidWlsdGluL2NvbHVtbi5jOjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4NSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NzkKIG1zZ2lkICJzdHJpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NgorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OQogbXNnaWQgIndoZW4gY3JlYXRpbmcgZmlsZXMsIHByZXBlbmQgPHN0cmluZz4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE4MQogbXNnaWQgImNvcHkgb3V0IHRoZSBmaWxlcyBmcm9tIG5hbWVkIHN0YWdlIgogbXNnc3RyICIiCiAKQEAgLTgwNDgsMTA1ICsxMDAwOSwxNTYgQEAKIG1zZ2lkICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gWzxicmFuY2g+XSAtLSA8ZmlsZT4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE0NCBidWlsdGluL2NoZWNrb3V0LmM6MTc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzcKK21zZ2lkICJnaXQgc3dpdGNoIFs8b3B0aW9ucz5dIFs8YnJhbmNoPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjQyCittc2dpZCAiZ2l0IHJlc3RvcmUgWzxvcHRpb25zPl0gWy0tc291cmNlPTxicmFuY2g+XSA8ZmlsZT4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NSBidWlsdGluL2NoZWNrb3V0LmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG91ciB2ZXJzaW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDYgYnVpbHRpbi9jaGVja291dC5jOjE3OQorIzogYnVpbHRpbi9jaGVja291dC5jOjE3NyBidWlsdGluL2NoZWNrb3V0LmM6MjE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIHRoZWlyIHZlcnNpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBhbGwgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnOiBjYW5ub3QgbWVyZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI0MAorIzogYnVpbHRpbi9jaGVja291dC5jOjI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjYyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjUgYnVpbHRpbi9jaGVja291dC5jOjI2OAotIzogYnVpbHRpbi9jaGVja291dC5jOjI3MQorIzogYnVpbHRpbi9jaGVja291dC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJSZWNyZWF0ZWQgJWQgbWVyZ2UgY29uZmxpY3QiCittc2dpZF9wbHVyYWwgIlJlY3JlYXRlZCAlZCBtZXJnZSBjb25mbGljdHMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVwZGF0ZWQgJWQgcGF0aCBmcm9tICVzIgorbXNnaWRfcGx1cmFsICJVcGRhdGVkICVkIHBhdGhzIGZyb20gJXMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVwZGF0ZWQgJWQgcGF0aCBmcm9tIHRoZSBpbmRleCIKK21zZ2lkX3BsdXJhbCAiVXBkYXRlZCAlZCBwYXRocyBmcm9tIHRoZSBpbmRleCIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MTIgYnVpbHRpbi9jaGVja291dC5jOjQxNSBidWlsdGluL2NoZWNrb3V0LmM6NDE4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Mjc0IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MjUgYnVpbHRpbi9jaGVja291dC5jOjQyOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI4MAorIzogYnVpbHRpbi9jaGVja291dC5jOjQzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjM0OSBidWlsdGluL2NoZWNrb3V0LmM6MzU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgJyVzJyBvciAnJXMnIGlzIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgbXVzdCBiZSB1c2VkIHdoZW4gJyVzJyBpcyBub3Qgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NDUgYnVpbHRpbi9jaGVja291dC5jOjQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIG9yICclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTA5IGJ1aWx0aW4vY2hlY2tvdXQuYzo1MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGlzIHVubWVyZ2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MDgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODIgYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo4MgogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NDUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBjb250aW51ZSB3aXRoIHN0YWdlZCBjaGFuZ2VzIGluIHRoZSBmb2xsb3dpbmcgZmlsZXM6XG4iCisiJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjgzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4gbm90IGRvIHJlZmxvZyBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzg2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODc3CiBtc2dpZCAiSEVBRCBpcyBub3cgYXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5MCBidWlsdGluL2Nsb25lLmM6NjkyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODgxIGJ1aWx0aW4vY2xvbmUuYzo3MTYKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5NAorIzogYnVpbHRpbi9jaGVja291dC5jOjg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWxyZWFkeSBvbiAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgwMQorIzogYnVpbHRpbi9jaGVja291dC5jOjg5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhbmQgcmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODAzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTY2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODk0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgwNQorIzogYnVpbHRpbi9jaGVja291dC5jOjg5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4NTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODYyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0IGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgpAQCAtODE2MSw3ICsxMDE3Myw3IEBACiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODgxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIGl0IGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTgxNzgsMTY2ICsxMDE5MCwyNDAgQEAKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5MTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDA3CiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IgaW4gcmV2aXNpb24gd2FsayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTE3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxMQogbXNnaWQgIlByZXZpb3VzIEhFQUQgcG9zaXRpb24gd2FzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NDUgYnVpbHRpbi9jaGVja291dC5jOjExNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDUxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjg2CiBtc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNzgKK21zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjExOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMDcgYnVpbHRpbi93b3JrdHJlZS5jOjI4OSBidWlsdGluL3dvcmt0cmVlLmM6NDQ0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJyVzJyBjb3VsZCBiZSBib3RoIGEgbG9jYWwgZmlsZSBhbmQgYSB0cmFja2luZyBicmFuY2guXG4iCisiUGxlYXNlIHVzZSAtLSAoYW5kIG9wdGlvbmFsbHkgLS1uby1ndWVzcykgdG8gZGlzYW1iaWd1YXRlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQ1IGJ1aWx0aW4vd29ya3RyZWUuYzoyOTAgYnVpbHRpbi93b3JrdHJlZS5jOjQ1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZTogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSBpcyBub3QgYSB0cmVlOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3NQorIzogYnVpbHRpbi9jaGVja291dC5jOjEzMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSBicmFuY2ggaXMgZXhwZWN0ZWQsIGdvdCB0YWcgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMwNworIywgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IHJlbW90ZSBicmFuY2ggJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMwOCBidWlsdGluL2NoZWNrb3V0LmM6MTMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSBicmFuY2ggaXMgZXhwZWN0ZWQsIGdvdCBjb21taXQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMyNworbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCB3aGlsZSBtZXJnaW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgbWVyZ2UgLS1xdWl0XCIgb3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzMxCittc2dpZCAiIgorImNhbm5vdCBzd2l0Y2ggYnJhbmNoIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvblxuIgorIkNvbnNpZGVyIFwiZ2l0IGFtIC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMzNQorbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCB3aGlsZSByZWJhc2luZ1xuIgorIkNvbnNpZGVyIFwiZ2l0IHJlYmFzZSAtLXF1aXRcIiBvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMzkKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgY2hlcnJ5LXBpY2tpbmdcbiIKKyJDb25zaWRlciBcImdpdCBjaGVycnktcGljayAtLXF1aXRcIiBvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNDMKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgcmV2ZXJ0aW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgcmV2ZXJ0IC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM0NworbXNnaWQgInlvdSBhcmUgc3dpdGNoaW5nIGJyYW5jaCB3aGlsZSBiaXNlY3RpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNTQKIG1zZ2lkICJwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3OCBidWlsdGluL2NoZWNrb3V0LmM6MTE4MgorIzogYnVpbHRpbi9jaGVja291dC5jOjEzNTcgYnVpbHRpbi9jaGVja291dC5jOjEzNjEgYnVpbHRpbi9jaGVja291dC5jOjEzNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE4NiBidWlsdGluL2NoZWNrb3V0LmM6MTE4OSBidWlsdGluL2NoZWNrb3V0LmM6MTE5NAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzY5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzcyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzc1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM4MCBidWlsdGluL2NoZWNrb3V0LmM6MTM4NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwMgorIzogYnVpbHRpbi9jaGVja291dC5jOjEzODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBjYW5ub3QgdGFrZSA8c3RhcnQtcG9pbnQ+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjM1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjM3IGJ1aWx0aW4vY2xvbmUuYzoxMTkKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY5IGJ1aWx0aW4vcmVtb3RlLmM6MTcxIGJ1aWx0aW4vd29ya3RyZWUuYzo0ODgKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTAKLW1zZ2lkICJicmFuY2giCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM5NworbXNnaWQgIm1pc3NpbmcgYnJhbmNoIG9yIGNvbW1pdCBhcmd1bWVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIzNgotbXNnaWQgImNyZWF0ZSBhbmQgY2hlY2tvdXQgYSBuZXcgYnJhbmNoIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjM4Ci1tc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIzOQotbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDAgYnVpbHRpbi93b3JrdHJlZS5jOjQ5MgotbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0MQotbXNnaWQgInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQzCi1tc2dpZCAibmV3LWJyYW5jaCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0MwotbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0NQotbXNnaWQgImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0OAotbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjUwCi1tc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTIKLW1zZ2lkICJwZXJmb3JtIGEgMy13YXkgbWVyZ2Ugd2l0aCB0aGUgbmV3IGJyYW5jaCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1NCBidWlsdGluL21lcmdlLmM6Mjc1Ci1tc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU2IGJ1aWx0aW4vbG9nLmM6MTU3MyBwYXJzZS1vcHRpb25zLmg6Mjc0Ci1tc2dpZCAic3R5bGUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTcKLW1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYwCi1tc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYyCi1tc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgPG5vLXN1Y2gtYnJhbmNoPiciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjQKLW1zZ2lkICJkbyBub3QgY2hlY2sgaWYgYW5vdGhlciB3b3JrdHJlZSBpcyBob2xkaW5nIHRoZSBnaXZlbiByZWYiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjggYnVpbHRpbi9jbG9uZS5jOjg2IGJ1aWx0aW4vZmV0Y2guYzoxNDEKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzIgYnVpbHRpbi9wdWxsLmM6MTI5IGJ1aWx0aW4vcHVzaC5jOjU3MgorIzogYnVpbHRpbi9jaGVja291dC5jOjE0MzkgYnVpbHRpbi9jbG9uZS5jOjkxIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NTIKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTEzIGJ1aWx0aW4vZmV0Y2guYzoxNjcgYnVpbHRpbi9tZXJnZS5jOjI4NQorIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MjcgYnVpbHRpbi9wdWxsLmM6MTM4IGJ1aWx0aW4vcHVzaC5jOjU2MwogIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzQKIG1zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyOTgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDQwCittc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NDEgYnVpbHRpbi9sb2cuYzoxNjkwIHBhcnNlLW9wdGlvbnMuaDozMjIKK21zZ2lkICJzdHlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ0MgorbXNnaWQgImNvbmZsaWN0IHN0eWxlIChtZXJnZSBvciBkaWZmMykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTQgYnVpbHRpbi93b3JrdHJlZS5jOjUwMworbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ1NQorbXNnaWQgInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU3Cittc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTkKK21zZ2lkICJuZXctYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU5Cittc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDYxIGJ1aWx0aW4vbWVyZ2UuYzoyODgKK21zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NjQKK21zZ2lkICJkbyBub3QgY2hlY2sgaWYgYW5vdGhlciB3b3JrdHJlZSBpcyBob2xkaW5nIHRoZSBnaXZlbiByZWYiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NzcKK21zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0ODAKK21zZ2lkICJjaGVja291dCB0aGVpciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ4NAorbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTUzNwogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTMxNQorIzogYnVpbHRpbi9jaGVja291dC5jOjE1NDAKK21zZ2lkICItcCBhbmQgLS1vdmVybGF5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE1NzcKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzMjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTgyCiBtc2dpZCAibWlzc2luZyBicmFuY2ggbmFtZTsgdHJ5IC1iIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzU3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTYzMQogbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzY0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTYzOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCBhbmQgYSBicmFuY2ggJyVzJyBjYW5ub3QgYmUgY3JlYXRlZCBmcm9tIGl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjUxCittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1kZXRhY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE2NTQgYnVpbHRpbi9yZXNldC5jOjMyNAorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tcGF0Y2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE2NjUKIG1zZ2lkICIiCiAiZ2l0IGNoZWNrb3V0OiAtLW91cnMvLS10aGVpcnMsIC0tZm9yY2UgYW5kIC0tbWVyZ2UgYXJlIGluY29tcGF0aWJsZSB3aGVuXG4iCiAiY2hlY2tpbmcgb3V0IG9mIHRoZSBpbmRleC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzOTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjcwCittc2dpZCAieW91IG11c3Qgc3BlY2lmeSBwYXRoKHMpIHRvIHJlc3RvcmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgbWF0Y2hlZCBtb3JlIHRoYW4gb25lIHJlbW90ZSB0cmFja2luZyBicmFuY2guXG4iCkBAIC04MzU0LDM3ICsxMDQ0MCwxMDQgQEAKICJjaGVja291dC5kZWZhdWx0UmVtb3RlPW9yaWdpbiBpbiB5b3VyIGNvbmZpZy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcxNCBidWlsdGluL2NoZWNrb3V0LmM6MTcxNiBidWlsdGluL2NoZWNrb3V0LmM6MTc2NQorIzogYnVpbHRpbi9jaGVja291dC5jOjE3NjcgYnVpbHRpbi9jbG9uZS5jOjEyMSBidWlsdGluL3JlbW90ZS5jOjE2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNzEgYnVpbHRpbi93b3JrdHJlZS5jOjQ5OSBidWlsdGluL3dvcmt0cmVlLmM6NTAxCittc2dpZCAiYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE1Cittc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MTcKK21zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE4Cittc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcyMAorbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IDxuby1zdWNoLWJyYW5jaD4nIChkZWZhdWx0KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcyMQorbXNnaWQgInVzZSBvdmVybGF5IG1vZGUgKGRlZmF1bHQpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY2Cittc2dpZCAiY3JlYXRlIGFuZCBzd2l0Y2ggdG8gYSBuZXcgYnJhbmNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY4Cittc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBzd2l0Y2ggdG8gYSBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NzAKK21zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBzd2l0Y2ggPG5vLXN1Y2gtYnJhbmNoPiciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NzIKK21zZ2lkICJ0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MDQKK21zZ2lkICJ3aGljaCB0cmVlLWlzaCB0byBjaGVja291dCBmcm9tIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODA2Cittc2dpZCAicmVzdG9yZSB0aGUgaW5kZXgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MDgKK21zZ2lkICJyZXN0b3JlIHRoZSB3b3JraW5nIHRyZWUgKGRlZmF1bHQpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODEwCittc2dpZCAiaWdub3JlIHVubWVyZ2VkIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MTEKK21zZ2lkICJ1c2Ugb3ZlcmxheSBtb2RlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyOAogbXNnaWQgIiIKICJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSA8cGF0dGVybj5dIFsteCB8IC1YXSBbLS1dIDxwYXRocz4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMxCisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzIKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMwogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCByZW1vdmUgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzMKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjM0CisjOiBidWlsdGluL2NsZWFuLmM6MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgc2tpcCByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjM1CisjOiBidWlsdGluL2NsZWFuLmM6MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Mjk4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTc5CisjOiBidWlsdGluL2NsZWFuLmM6MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGxzdGF0ICVzXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjMwMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCkBAIC04MzkzLDcgKzEwNTQ2LDcgQEAKICIgICAgICAgICAgIC0gKGVtcHR5KSBzZWxlY3Qgbm90aGluZ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1ODgKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMDUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgpAQCAtODQwNiwzOCArMTA1NTksMzMgQEAKICIgICAgICAgICAgIC0gKGVtcHR5KSBmaW5pc2ggc2VsZWN0aW5nXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjUxOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU1NAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NTkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo1MjEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NzAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTc1CiAjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKIG1zZ2lkICJIdWggKCVzKT9cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NjYwCisjOiBidWlsdGluL2NsZWFuLmM6NjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIklucHV0IGlnbm9yZSBwYXR0ZXJucz4+ICIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Njk3CisjOiBidWlsdGluL2NsZWFuLmM6NzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IENhbm5vdCBmaW5kIGl0ZW1zIG1hdGNoZWQgYnk6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3MTgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3MjEKIG1zZ2lkICJTZWxlY3QgaXRlbXMgdG8gZGVsZXRlIgogbXNnc3RyICIiCiAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8ga2VlcCBbeS9OXSBhcyBpcwotIzogYnVpbHRpbi9jbGVhbi5jOjc1OQorIzogYnVpbHRpbi9jbGVhbi5jOjc2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmUgJXMgW3kvTl0/ICIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Nzg0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcxNwotIywgYy1mb3JtYXQKLW1zZ2lkICJCeWUuXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbGVhbi5jOjc5MgorIzogYnVpbHRpbi9jbGVhbi5jOjc5NQogbXNnaWQgIiIKICJjbGVhbiAgICAgICAgICAgICAgIC0gc3RhcnQgY2xlYW5pbmdcbiIKICJmaWx0ZXIgYnkgcGF0dGVybiAgIC0gZXhjbHVkZSBpdGVtcyBmcm9tIGRlbGV0aW9uXG4iCkBAIC04NDQ4LDM5MSArMTA1OTYsNDAwIEBACiAiPyAgICAgICAgICAgICAgICAgICAtIGhlbHAgZm9yIHByb21wdCBzZWxlY3Rpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3OTMKLW1zZ2lkICIqKiogQ29tbWFuZHMgKioqIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MjAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzkwCi1tc2dpZCAiV2hhdCBub3ciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbGVhbi5jOjgyOAorIzogYnVpbHRpbi9jbGVhbi5jOjgzMQogbXNnaWQgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW06IgogbXNnaWRfcGx1cmFsICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtczoiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODQ0CisjOiBidWlsdGluL2NsZWFuLmM6ODQ3CiBtc2dpZCAiTm8gbW9yZSBmaWxlcyB0byBjbGVhbiwgZXhpdGluZy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwNgorIzogYnVpbHRpbi9jbGVhbi5jOjkwOQogbXNnaWQgImRvIG5vdCBwcmludCBuYW1lcyBvZiBmaWxlcyByZW1vdmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTEKIG1zZ2lkICJmb3JjZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTA5CisjOiBidWlsdGluL2NsZWFuLmM6OTEyCiBtc2dpZCAiaW50ZXJhY3RpdmUgY2xlYW5pbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkxMQorIzogYnVpbHRpbi9jbGVhbi5jOjkxNAogbXNnaWQgInJlbW92ZSB3aG9sZSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTEyIGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDUgYnVpbHRpbi9kZXNjcmliZS5jOjU0NwotIzogYnVpbHRpbi9ncmVwLmM6ODg2IGJ1aWx0aW4vbG9nLmM6MTY2IGJ1aWx0aW4vbG9nLmM6MTY4Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU2IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTUgYnVpbHRpbi9uYW1lLXJldi5jOjQxNwotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OAorIzogYnVpbHRpbi9jbGVhbi5jOjkxNSBidWlsdGluL2Rlc2NyaWJlLmM6NTQ4IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMSBidWlsdGluL2xvZy5jOjE3NyBidWlsdGluL2xvZy5jOjE3OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NyBidWlsdGluL25hbWUtcmV2LmM6NDY0IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjYKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzkKIG1zZ2lkICJwYXR0ZXJuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTMKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTYKIG1zZ2lkICJhZGQgPHBhdHRlcm4+IHRvIGlnbm9yZSBydWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTE0CisjOiBidWlsdGluL2NsZWFuLmM6OTE3CiBtc2dpZCAicmVtb3ZlIGlnbm9yZWQgZmlsZXMsIHRvbyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTE2CisjOiBidWlsdGluL2NsZWFuLmM6OTE5CiBtc2dpZCAicmVtb3ZlIG9ubHkgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTM0CisjOiBidWlsdGluL2NsZWFuLmM6OTM3CiBtc2dpZCAiLXggYW5kIC1YIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MzgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5NDEKIG1zZ2lkICIiCiAiY2xlYW4ucmVxdWlyZUZvcmNlIHNldCB0byB0cnVlIGFuZCBuZWl0aGVyIC1pLCAtbiwgbm9yIC1mIGdpdmVuOyByZWZ1c2luZyB0byAiCiAiY2xlYW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjk0MQorIzogYnVpbHRpbi9jbGVhbi5jOjk0NAogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgIgogInJlZnVzaW5nIHRvIGNsZWFuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MworIzogYnVpbHRpbi9jbG9uZS5jOjQ1CiBtc2dpZCAiZ2l0IGNsb25lIFs8b3B0aW9ucz5dIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4CisjOiBidWlsdGluL2Nsb25lLmM6OTMKIG1zZ2lkICJkb24ndCBjcmVhdGUgYSBjaGVja291dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODkgYnVpbHRpbi9jbG9uZS5jOjkxIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQorIzogYnVpbHRpbi9jbG9uZS5jOjk0IGJ1aWx0aW4vY2xvbmUuYzo5NiBidWlsdGluL2luaXQtZGIuYzo0ODkKIG1zZ2lkICJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzCisjOiBidWlsdGluL2Nsb25lLmM6OTgKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKIG1zZ2lkICJ0byBjbG9uZSBmcm9tIGEgbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDQKIG1zZ2lkICJzZXR1cCBhcyBzaGFyZWQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxIGJ1aWx0aW4vY2xvbmUuYzoxMDUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcKIG1zZ2lkICJwYXRoc3BlYyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxIGJ1aWx0aW4vY2xvbmUuYzoxMDUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcKIG1zZ2lkICJpbml0aWFsaXplIHN1Ym1vZHVsZXMgaW4gdGhlIGNsb25lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBjbG9uZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOSBidWlsdGluL2luaXQtZGIuYzo0NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9pbml0LWRiLmM6NDg2CiBtc2dpZCAidGVtcGxhdGUtZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAgYnVpbHRpbi9pbml0LWRiLmM6NDc5CisjOiBidWlsdGluL2Nsb25lLmM6MTEyIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NwogbXNnaWQgImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMiBidWlsdGluL2Nsb25lLmM6MTE0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc1Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1NgorIzogYnVpbHRpbi9jbG9uZS5jOjExNCBidWlsdGluL2Nsb25lLmM6MTE2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzkyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NQogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzcKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODU4CisjOiBidWlsdGluL2Nsb25lLmM6MTE4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzk0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NwogbXNnaWQgInVzZSAtLXJlZmVyZW5jZSBvbmx5IHdoaWxlIGNsb25pbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExNyBidWlsdGluL2NvbHVtbi5jOjI3IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ2Ci0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDEgYnVpbHRpbi9yZXBhY2suYzozMjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTkgYnVpbHRpbi9jb2x1bW4uYzoyNyBidWlsdGluL21lcmdlLWZpbGUuYzo0NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk0IGJ1aWx0aW4vcmVwYWNrLmM6MzI3CiBtc2dpZCAibmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE4CisjOiBidWlsdGluL2Nsb25lLmM6MTIwCiBtc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjIKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBpbnN0ZWFkIG9mIHRoZSByZW1vdGUncyBIRUFEIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjQKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjMgYnVpbHRpbi9mZXRjaC5jOjE0MiBidWlsdGluL2dyZXAuYzo4MjUKLSM6IGJ1aWx0aW4vcHVsbC5jOjIxNworIzogYnVpbHRpbi9jbG9uZS5jOjEyNSBidWlsdGluL2ZldGNoLmM6MTY4IGJ1aWx0aW4vZ3JlcC5jOjg0MAorIzogYnVpbHRpbi9wdWxsLmM6MjI3CiBtc2dpZCAiZGVwdGgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyNAorIzogYnVpbHRpbi9jbG9uZS5jOjEyNgogbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgb2YgdGhhdCBkZXB0aCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI1IGJ1aWx0aW4vZmV0Y2guYzoxNDQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjkyCisjOiBidWlsdGluL2Nsb25lLmM6MTI3IGJ1aWx0aW4vZmV0Y2guYzoxNzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgzCiBtc2dpZCAidGltZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI2CisjOiBidWlsdGluL2Nsb25lLmM6MTI4CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBzaW5jZSBhIHNwZWNpZmljIHRpbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyNyBidWlsdGluL2ZldGNoLmM6MTQ2IGJ1aWx0aW4vZmV0Y2guYzoxNjkKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODMxCisjOiBidWlsdGluL2Nsb25lLmM6MTI5IGJ1aWx0aW4vZmV0Y2guYzoxNzIgYnVpbHRpbi9mZXRjaC5jOjE5NQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDQ1CiBtc2dpZCAicmV2aXNpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyOCBidWlsdGluL2ZldGNoLmM6MTQ3CisjOiBidWlsdGluL2Nsb25lLmM6MTMwIGJ1aWx0aW4vZmV0Y2guYzoxNzMKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lLCBleGNsdWRpbmcgcmV2IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzIKIG1zZ2lkICJjbG9uZSBvbmx5IG9uZSBicmFuY2gsIEhFQUQgb3IgLS1icmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzMgorIzogYnVpbHRpbi9jbG9uZS5jOjEzNAogbXNnaWQgImRvbid0IGNsb25lIGFueSB0YWdzLCBhbmQgbWFrZSBsYXRlciBmZXRjaGVzIG5vdCB0byBmb2xsb3cgdGhlbSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM0CisjOiBidWlsdGluL2Nsb25lLmM6MTM2CiBtc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgYmUgc2hhbGxvdyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NworIzogYnVpbHRpbi9jbG9uZS5jOjEzNyBidWlsdGluL2luaXQtZGIuYzo0OTUKIG1zZ2lkICJnaXRkaXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzNiBidWlsdGluL2luaXQtZGIuYzo0ODgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzggYnVpbHRpbi9pbml0LWRiLmM6NDk2CiBtc2dpZCAic2VwYXJhdGUgZ2l0IGRpciBmcm9tIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM3CisjOiBidWlsdGluL2Nsb25lLmM6MTM5CiBtc2dpZCAia2V5PXZhbHVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDAKIG1zZ2lkICJzZXQgY29uZmlnIGluc2lkZSB0aGUgbmV3IHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzOSBidWlsdGluL2ZldGNoLmM6MTY1IGJ1aWx0aW4vcHVsbC5jOjIzMAotIzogYnVpbHRpbi9wdXNoLmM6NTgzCisjOiBidWlsdGluL2Nsb25lLmM6MTQyIGJ1aWx0aW4vZmV0Y2guYzoxOTAgYnVpbHRpbi9scy1yZW1vdGUuYzo3NgorIzogYnVpbHRpbi9wdXNoLmM6NTczIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcyCittc2dpZCAic2VydmVyLXNwZWNpZmljIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDIgYnVpbHRpbi9mZXRjaC5jOjE5MCBidWlsdGluL2xzLXJlbW90ZS5jOjc2CisjOiBidWlsdGluL3B1c2guYzo1NzMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzMKK21zZ2lkICJvcHRpb24gdG8gdHJhbnNtaXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjE0MyBidWlsdGluL2ZldGNoLmM6MTkxIGJ1aWx0aW4vcHVsbC5jOjI0MAorIzogYnVpbHRpbi9wdXNoLmM6NTc0CiBtc2dpZCAidXNlIElQdjQgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjE0MSBidWlsdGluL2ZldGNoLmM6MTY3IGJ1aWx0aW4vcHVsbC5jOjIzMwotIzogYnVpbHRpbi9wdXNoLmM6NTg1CisjOiBidWlsdGluL2Nsb25lLmM6MTQ1IGJ1aWx0aW4vZmV0Y2guYzoxOTMgYnVpbHRpbi9wdWxsLmM6MjQzCisjOiBidWlsdGluL3B1c2guYzo1NzYKIG1zZ2lkICJ1c2UgSVB2NiBhZGRyZXNzZXMgb25seSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mjc5CisjOiBidWlsdGluL2Nsb25lLmM6MTQ5Cittc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgdXNlIHRoZWlyIHJlbW90ZS10cmFja2luZyBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjE1MQorbXNnaWQgImluaXRpYWxpemUgc3BhcnNlLWNoZWNrb3V0IGZpbGUgdG8gaW5jbHVkZSBvbmx5IGZpbGVzIGF0IHJvb3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjI4NwogbXNnaWQgIiIKICJObyBkaXJlY3RvcnkgbmFtZSBjb3VsZCBiZSBndWVzc2VkLlxuIgogIlBsZWFzZSBzcGVjaWZ5IGEgZGlyZWN0b3J5IG9uIHRoZSBjb21tYW5kIGxpbmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMzMgorIzogYnVpbHRpbi9jbG9uZS5jOjM0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZvOiBDb3VsZCBub3QgYWRkIGFsdGVybmF0ZSBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDA0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjQxMgorIzogYnVpbHRpbi9jbG9uZS5jOjQxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDI2CisjOiBidWlsdGluL2Nsb25lLmM6NDMwCiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCittc2dpZCAiZmFpbGVkIHRvIHN0YXJ0IGl0ZXJhdG9yIG92ZXIgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDQzCi0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NDQ4CisjOiBidWlsdGluL2Nsb25lLmM6NDYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgbGluayAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNvcHkgZmlsZSB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGl0ZXJhdGUgb3ZlciAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG9uZS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDkyCisjOiBidWlsdGluL2Nsb25lLmM6NTA4CiBtc2dpZCAiIgogIkNsb25lIHN1Y2NlZWRlZCwgYnV0IGNoZWNrb3V0IGZhaWxlZC5cbiIKICJZb3UgY2FuIGluc3BlY3Qgd2hhdCB3YXMgY2hlY2tlZCBvdXQgd2l0aCAnZ2l0IHN0YXR1cydcbiIKLSJhbmQgcmV0cnkgdGhlIGNoZWNrb3V0IHdpdGggJ2dpdCBjaGVja291dCAtZiBIRUFEJ1xuIgorImFuZCByZXRyeSB3aXRoICdnaXQgcmVzdG9yZSAtLXNvdXJjZT1IRUFEIDovJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1NjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY4MAorIzogYnVpbHRpbi9jbG9uZS5jOjcwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NTIKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzcGFyc2UtY2hlY2tvdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjc3NQogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzYxCisjOiBidWlsdGluL2Nsb25lLmM6ODA2CiBtc2dpZCAidW5hYmxlIHRvIGNoZWNrb3V0IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODA2CisjOiBidWlsdGluL2Nsb25lLmM6ODU2CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHBhcmFtZXRlcnMgdG8gY29uZmlnIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2OQorIzogYnVpbHRpbi9jbG9uZS5jOjkxOQogbXNnaWQgImNhbm5vdCByZXBhY2sgdG8gY2xlYW4gdXAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg3MQorIzogYnVpbHRpbi9jbG9uZS5jOjkyMQogbXNnaWQgImNhbm5vdCB1bmxpbmsgdGVtcG9yYXJ5IGFsdGVybmF0ZXMgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTExIGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk0MQorIzogYnVpbHRpbi9jbG9uZS5jOjk1OSBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NDgKIG1zZ2lkICJUb28gbWFueSBhcmd1bWVudHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjMKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgcmVwb3NpdG9yeSB0byBjbG9uZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyOAorIzogYnVpbHRpbi9jbG9uZS5jOjk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICItLWJhcmUgYW5kIC0tb3JpZ2luICVzIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzMQorIzogYnVpbHRpbi9jbG9uZS5jOjk3OQogbXNnaWQgIi0tYmFyZSBhbmQgLS1zZXBhcmF0ZS1naXQtZGlyIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NDQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwb3NpdG9yeSAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NTAgYnVpbHRpbi9mZXRjaC5jOjE2MDYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OTggYnVpbHRpbi9mZXRjaC5jOjE3ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVwdGggJXMgaXMgbm90IGEgcG9zaXRpdmUgbnVtYmVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk3MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAid29ya2luZyB0cmVlICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5ODUgYnVpbHRpbi9jbG9uZS5jOjEwMDYgYnVpbHRpbi9kaWZmdG9vbC5jOjI3MQotIzogYnVpbHRpbi93b3JrdHJlZS5jOjI5NSBidWlsdGluL3dvcmt0cmVlLmM6MzI1CisjOiBidWlsdGluL2Nsb25lLmM6MTAzMyBidWlsdGluL2Nsb25lLmM6MTA1NCBidWlsdGluL2RpZmZ0b29sLmM6MjcxCisjOiBidWlsdGluL2xvZy5jOjE4NjYgYnVpbHRpbi93b3JrdHJlZS5jOjMwMiBidWlsdGluL3dvcmt0cmVlLmM6MzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgd29yayB0cmVlIGRpciAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEwCisjOiBidWlsdGluL2Nsb25lLmM6MTA1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxMgorIzogYnVpbHRpbi9jbG9uZS5jOjEwNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAzNgorIzogYnVpbHRpbi9jbG9uZS5jOjEwODQKIG1zZ2lkICIiCiAiY2xvbmUgLS1yZWN1cnNpdmUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBib3RoIC0tcmVmZXJlbmNlIGFuZCAtLXJlZmVyZW5jZS1pZi0iCiAiYWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5NworIzogYnVpbHRpbi9jbG9uZS5jOjExNDgKIG1zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5OQorIzogYnVpbHRpbi9jbG9uZS5jOjExNTAKIG1zZ2lkICItLXNoYWxsb3ctc2luY2UgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAxCisjOiBidWlsdGluL2Nsb25lLmM6MTE1MgogbXNnaWQgIi0tc2hhbGxvdy1leGNsdWRlIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEwMworIzogYnVpbHRpbi9jbG9uZS5jOjExNTQKIG1zZ2lkICItLWZpbHRlciBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMDYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTU3CiBtc2dpZCAic291cmNlIHJlcG9zaXRvcnkgaXMgc2hhbGxvdywgaWdub3JpbmcgLS1sb2NhbCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTExMQorIzogYnVpbHRpbi9jbG9uZS5jOjExNjIKIG1zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExODEgYnVpbHRpbi9jbG9uZS5jOjExODkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjM3IGJ1aWx0aW4vY2xvbmUuYzoxMjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTkyCisjOiBidWlsdGluL2Nsb25lLmM6MTI0OAogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIiIKIApAQCAtODg2OCwyMiArMTEwMjUsODggQEAKIG1zZ2lkICItLWNvbW1hbmQgbXVzdCBiZSB0aGUgZmlyc3QgYXJndW1lbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MAorIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjE4Cittc2dpZCAiIgorImdpdCBjb21taXQtdHJlZSBbKC1wIDxwYXJlbnQ+KS4uLl0gWy1TWzxrZXlpZD5dXSBbKC1tIDxtZXNzYWdlPikuLi5dIFsoLUYgIgorIjxmaWxlPikuLi5dIDx0cmVlPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHVwbGljYXRlIHBhcmVudCAlcyBpZ25vcmVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzo1NiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTM2IGJ1aWx0aW4vbG9nLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byBvcGVuICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIHJlYWQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gY2xvc2UgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTExCittc2dpZCAicGFyZW50IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTIKK21zZ2lkICJpZCBvZiBhIHBhcmVudCBjb21taXQgb2JqZWN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTQgYnVpbHRpbi9jb21taXQuYzoxNDk2IGJ1aWx0aW4vbWVyZ2UuYzoyNzAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDkgYnVpbHRpbi9ub3Rlcy5jOjU3NSBidWlsdGluL3N0YXNoLmM6MTQ2OQorIzogYnVpbHRpbi90YWcuYzo0MTIKK21zZ2lkICJtZXNzYWdlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTUgYnVpbHRpbi9jb21taXQuYzoxNDk2Cittc2dpZCAiY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExOAorbXNnaWQgInJlYWQgY29tbWl0IGxvZyBtZXNzYWdlIGZyb20gZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTIxIGJ1aWx0aW4vY29tbWl0LmM6MTUwOCBidWlsdGluL21lcmdlLmM6Mjg3CisjOiBidWlsdGluL3B1bGwuYzoxOTUgYnVpbHRpbi9yZXZlcnQuYzoxMTgKK21zZ2lkICJHUEcgc2lnbiBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjEzMworbXNnaWQgIm11c3QgZ2l2ZSBleGFjdGx5IG9uZSB0cmVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxNDAKK21zZ2lkICJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byByZWFkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDEKIG1zZ2lkICJnaXQgY29tbWl0IFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjQ2CiBtc2dpZCAiZ2l0IHN0YXR1cyBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1MAorIzogYnVpbHRpbi9jb21taXQuYzo1MQogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gYW1lbmQgdGhlIG1vc3QgcmVjZW50IGNvbW1pdCwgYnV0IGRvaW5nIHNvIHdvdWxkIG1ha2VcbiIKICJpdCBlbXB0eS4gWW91IGNhbiByZXBlYXQgeW91ciBjb21tYW5kIHdpdGggLS1hbGxvdy1lbXB0eSwgb3IgeW91IGNhblxuIgogInJlbW92ZSB0aGUgY29tbWl0IGVudGlyZWx5IHdpdGggXCJnaXQgcmVzZXQgSEVBRF5cIi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU1CisjOiBidWlsdGluL2NvbW1pdC5jOjU2CiBtc2dpZCAiIgogIlRoZSBwcmV2aW91cyBjaGVycnktcGljayBpcyBub3cgZW1wdHksIHBvc3NpYmx5IGR1ZSB0byBjb25mbGljdCByZXNvbHV0aW9uLlxuIgogIklmIHlvdSB3aXNoIHRvIGNvbW1pdCBpdCBhbnl3YXksIHVzZTpcbiIKQEAgLTg4OTIsMTEyICsxMTExNSwxMjMgQEAKICJcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjYyCi1tc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgcmVzZXQnXG4iCisjOiBidWlsdGluL2NvbW1pdC5jOjYzCittc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgY2hlcnJ5LXBpY2sgLS1za2lwJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjYKIG1zZ2lkICIiCisiYW5kIHRoZW4gdXNlOlxuIgorIlxuIgorIiAgICBnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVxuIgorIlxuIgorInRvIHJlc3VtZSBjaGVycnktcGlja2luZyB0aGUgcmVtYWluaW5nIGNvbW1pdHMuXG4iCiAiSWYgeW91IHdpc2ggdG8gc2tpcCB0aGlzIGNvbW1pdCwgdXNlOlxuIgogIlxuIgotIiAgICBnaXQgcmVzZXRcbiIKKyIgICAgZ2l0IGNoZXJyeS1waWNrIC0tc2tpcFxuIgogIlxuIgotIlRoZW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHdpbGwgcmVzdW1lIGNoZXJyeS1waWNraW5nXG4iCi0idGhlIHJlbWFpbmluZyBjb21taXRzLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzExCisjOiBidWlsdGluL2NvbW1pdC5jOjMxNQogbXNnaWQgImZhaWxlZCB0byB1bnBhY2sgSEVBRCB0cmVlIG9iamVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1MgorIzogYnVpbHRpbi9jb21taXQuYzozNTEKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzozNjQKK21zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzozNzYKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1OAorIzogYnVpbHRpbi9jb21taXQuYzozODIKIG1zZ2lkICJpbnRlcmFjdGl2ZSBhZGQgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzcxCisjOiBidWlsdGluL2NvbW1pdC5jOjM5NgogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzczCisjOiBidWlsdGluL2NvbW1pdC5jOjM5OAogbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgbWFpbiBjYWNoZSB0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Mzk4IGJ1aWx0aW4vY29tbWl0LmM6NDIxIGJ1aWx0aW4vY29tbWl0LmM6NDY3CisjOiBidWlsdGluL2NvbW1pdC5jOjQyMyBidWlsdGluL2NvbW1pdC5jOjQ0NiBidWlsdGluL2NvbW1pdC5jOjQ5MgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXdfaW5kZXggZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1MAorIzogYnVpbHRpbi9jb21taXQuYzo0NzUKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBtZXJnZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDc3CiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDYwCisjOiBidWlsdGluL2NvbW1pdC5jOjQ4NQogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ3OQorIzogYnVpbHRpbi9jb21taXQuYzo1MDQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAnJXMnIGxhY2tzIGF1dGhvciBoZWFkZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAnJXMnIGhhcyBtYWxmb3JtZWQgYXV0aG9yIGxpbmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1OTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjIzCiBtc2dpZCAibWFsZm9ybWVkIC0tYXV0aG9yIHBhcmFtZXRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY1MAorIzogYnVpbHRpbi9jb21taXQuYzo2NzYKIG1zZ2lkICIiCiAidW5hYmxlIHRvIHNlbGVjdCBhIGNvbW1lbnQgY2hhcmFjdGVyIHRoYXQgaXMgbm90IHVzZWRcbiIKICJpbiB0aGUgY3VycmVudCBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY4NyBidWlsdGluL2NvbW1pdC5jOjcyMCBidWlsdGluL2NvbW1pdC5jOjEwNDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzE0IGJ1aWx0aW4vY29tbWl0LmM6NzQ3IGJ1aWx0aW4vY29tbWl0LmM6MTA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIGNvbW1pdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5OSBidWlsdGluL3Nob3J0bG9nLmM6MzE3CisjOiBidWlsdGluL2NvbW1pdC5jOjcyNiBidWlsdGluL3Nob3J0bG9nLmM6MzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIihyZWFkaW5nIGxvZyBtZXNzYWdlIGZyb20gc3RhbmRhcmQgaW5wdXQpXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzI4CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MDUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmaWxlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MzQgYnVpbHRpbi9jb21taXQuYzo3NDIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzYzIGJ1aWx0aW4vY29tbWl0LmM6Nzc5CiBtc2dpZCAiY291bGQgbm90IHJlYWQgU1FVQVNIX01TRyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczOQorIzogYnVpbHRpbi9jb21taXQuYzo3NzAKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NU0ciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODMwCiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgxMQorIzogYnVpbHRpbi9jb21taXQuYzo4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtOTAwNyw3ICsxMTI0MSw3IEBACiAiYW5kIHRyeSBhZ2Fpbi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgxNgorIzogYnVpbHRpbi9jb21taXQuYzo4NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtOTAxNywxNCArMTEyNTEsMTQgQEAKICJhbmQgdHJ5IGFnYWluLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODI5CisjOiBidWlsdGluL2NvbW1pdC5jOjg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgogIndpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQsIGFuZCBhbiBlbXB0eSBtZXNzYWdlIGFib3J0cyB0aGUgY29tbWl0LlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODM3CisjOiBidWlsdGluL2NvbW1pdC5jOjg3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgpAQCAtOTAzMiwzOTggKzExMjY2LDM4MSBAQAogIkFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQXV0aG9yOiAgICAlLipzIDwlLipzPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg2MgorIzogYnVpbHRpbi9jb21taXQuYzo5MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNEYXRlOiAgICAgICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODY5CisjOiBidWlsdGluL2NvbW1pdC5jOjkwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0NvbW1pdHRlcjogJS4qcyA8JS4qcz4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTI1CiBtc2dpZCAiQ2Fubm90IHJlYWQgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTkyCiBtc2dpZCAiRXJyb3IgYnVpbGRpbmcgdHJlZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NjcgYnVpbHRpbi90YWcuYzoyNTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTAwNiBidWlsdGluL3RhZy5jOjI3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDExCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1hdXRob3IgJyVzJyBpcyBub3QgJ05hbWUgPGVtYWlsPicgYW5kIG1hdGNoZXMgbm8gZXhpc3RpbmcgYXV0aG9yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAyNQorIzogYnVpbHRpbi9jb21taXQuYzoxMDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgaWdub3JlZCBtb2RlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDM5IGJ1aWx0aW4vY29tbWl0LmM6MTI3NgorIzogYnVpbHRpbi9jb21taXQuYzoxMDgyIGJ1aWx0aW4vY29tbWl0LmM6MTMyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHVudHJhY2tlZCBmaWxlcyBtb2RlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDc3CisjOiBidWlsdGluL2NvbW1pdC5jOjExMjIKIG1zZ2lkICItLWxvbmcgYW5kIC16IGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTEwCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjYKIG1zZ2lkICJVc2luZyBib3RoIC0tcmVzZXQtYXV0aG9yIGFuZCAtLWF1dGhvciBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExOQorIzogYnVpbHRpbi9jb21taXQuYzoxMTc1CiBtc2dpZCAiWW91IGhhdmUgbm90aGluZyB0byBhbWVuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTIyCisjOiBidWlsdGluL2NvbW1pdC5jOjExNzgKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNAorIzogYnVpbHRpbi9jb21taXQuYzoxMTgwCiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgY2hlcnJ5LXBpY2sgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MwogbXNnaWQgIk9wdGlvbnMgLS1zcXVhc2ggYW5kIC0tZml4dXAgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTM3CisjOiBidWlsdGluL2NvbW1pdC5jOjExOTMKIG1zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE5NQogbXNnaWQgIk9wdGlvbiAtbSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtYy8tQy8tRi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTQ3CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMDMKIG1zZ2lkICItLXJlc2V0LWF1dGhvciBjYW4gYmUgdXNlZCBvbmx5IHdpdGggLUMsIC1jIG9yIC0tYW1lbmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NAorIzogYnVpbHRpbi9jb21taXQuYzoxMjIwCiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NgotbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjExODAgYnVpbHRpbi90YWcuYzo1NDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNgogIywgYy1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIGNsZWFudXAgbW9kZSAlcyIKK21zZ2lkICJwYXRocyAnJXMgLi4uJyB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTg1Ci1tc2dpZCAiUGF0aHMgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTEgYnVpbHRpbi9jb21taXQuYzoxNDk1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTcgYnVpbHRpbi9jb21taXQuYzoxNTE5CiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxMyBidWlsdGluL2NvbW1pdC5jOjE0OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OSBidWlsdGluL2NvbW1pdC5jOjE1MjEKIG1zZ2lkICJzaG93IGJyYW5jaCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MQogbXNnaWQgInNob3cgc3Rhc2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzE3IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OQorIzogYnVpbHRpbi9jb21taXQuYzoxMzYzIGJ1aWx0aW4vY29tbWl0LmM6MTUyMwogbXNnaWQgImNvbXB1dGUgZnVsbCBhaGVhZC9iZWhpbmQgdmFsdWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxOQorIzogYnVpbHRpbi9jb21taXQuYzoxMzY1CiBtc2dpZCAidmVyc2lvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTkgYnVpbHRpbi9jb21taXQuYzoxNTAxIGJ1aWx0aW4vcHVzaC5jOjU1OAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjYzOQorIzogYnVpbHRpbi9jb21taXQuYzoxMzY1IGJ1aWx0aW4vY29tbWl0LmM6MTUyNSBidWlsdGluL3B1c2guYzo1NDkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NTAKIG1zZ2lkICJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjIgYnVpbHRpbi9jb21taXQuYzoxNTAzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjggYnVpbHRpbi9jb21taXQuYzoxNTI3CiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyNSBidWlsdGluL2NvbW1pdC5jOjE1MDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3MSBidWlsdGluL2NvbW1pdC5jOjE1MzAKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjcgYnVpbHRpbi9jb21taXQuYzoxMzMxIGJ1aWx0aW4vY29tbWl0LmM6MTUwOQotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDcgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTAgYnVpbHRpbi9yZWJhc2UuYzo5MTAKLSM6IGJ1aWx0aW4vdGFnLmM6NDAwCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNzMgYnVpbHRpbi9jb21taXQuYzoxMzc3IGJ1aWx0aW4vY29tbWl0LmM6MTUzMworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTMgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTU5IGJ1aWx0aW4vcmViYXNlLmM6MTUyNSBwYXJzZS1vcHRpb25zLmg6MzM2CiBtc2dpZCAibW9kZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjggYnVpbHRpbi9jb21taXQuYzoxNTA5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNzQgYnVpbHRpbi9jb21taXQuYzoxNTMzCiBtc2dpZCAic2hvdyB1bnRyYWNrZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiBhbGwsIG5vcm1hbCwgbm8uIChEZWZhdWx0OiBhbGwpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzMgorIzogYnVpbHRpbi9jb21taXQuYzoxMzc4CiBtc2dpZCAiIgogInNob3cgaWdub3JlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IHRyYWRpdGlvbmFsLCBtYXRjaGluZywgbm8uIChEZWZhdWx0OiAiCiAidHJhZGl0aW9uYWwpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNCBwYXJzZS1vcHRpb25zLmg6MTY0CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODAgcGFyc2Utb3B0aW9ucy5oOjE5MgogbXNnaWQgIndoZW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODEKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODMKIG1zZ2lkICJsaXN0IHVudHJhY2tlZCBmaWxlcyBpbiBjb2x1bW5zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzOAorIzogYnVpbHRpbi9jb21taXQuYzoxMzg0CiBtc2dpZCAiZG8gbm90IGRldGVjdCByZW5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MAorIzogYnVpbHRpbi9jb21taXQuYzoxMzg2CiBtc2dpZCAiZGV0ZWN0IHJlbmFtZXMsIG9wdGlvbmFsbHkgc2V0IHNpbWlsYXJpdHkgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzYwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0MDYKIG1zZ2lkICJVbnN1cHBvcnRlZCBjb21iaW5hdGlvbiBvZiBpZ25vcmVkIGFuZCB1bnRyYWNrZWQtZmlsZXMgYXJndW1lbnRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNDg5CiBtc2dpZCAic3VwcHJlc3Mgc3VtbWFyeSBhZnRlciBzdWNjZXNzZnVsIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MAogbXNnaWQgInNob3cgZGlmZiBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MgogbXNnaWQgIkNvbW1pdCBtZXNzYWdlIG9wdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY5IGJ1aWx0aW4vbWVyZ2UuYzoyNjMgYnVpbHRpbi90YWcuYzozOTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MyBidWlsdGluL21lcmdlLmM6Mjc0IGJ1aWx0aW4vdGFnLmM6NDE0CiBtc2dpZCAicmVhZCBtZXNzYWdlIGZyb20gZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAogbXNnaWQgImF1dGhvciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAogbXNnaWQgIm92ZXJyaWRlIGF1dGhvciBmb3IgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MSBidWlsdGluL2djLmM6NTE4CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTUgYnVpbHRpbi9nYy5jOjUzOAogbXNnaWQgImRhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTUKIG1zZ2lkICJvdmVycmlkZSBkYXRlIGZvciBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcyIGJ1aWx0aW4vbWVyZ2UuYzoyNTkgYnVpbHRpbi9ub3Rlcy5jOjQwOQotIzogYnVpbHRpbi9ub3Rlcy5jOjU3MiBidWlsdGluL3RhZy5jOjM5NQotbXNnaWQgIm1lc3NhZ2UiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDcyCi1tc2dpZCAiY29tbWl0IG1lc3NhZ2UiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDczIGJ1aWx0aW4vY29tbWl0LmM6MTQ3NCBidWlsdGluL2NvbW1pdC5jOjE0NzUKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NiByZWYtZmlsdGVyLmg6OTIgcGFyc2Utb3B0aW9ucy5oOjI4MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDk3IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OCBidWlsdGluL2NvbW1pdC5jOjE0OTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMCBwYXJzZS1vcHRpb25zLmg6MzI4IHJlZi1maWx0ZXIuaDo5MgogbXNnaWQgImNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NwogbXNnaWQgInJldXNlIGFuZCBlZGl0IG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NAorIzogYnVpbHRpbi9jb21taXQuYzoxNDk4CiBtc2dpZCAicmV1c2UgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTkKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBmaXh1cCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NgorIzogYnVpbHRpbi9jb21taXQuYzoxNTAwCiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gc3F1YXNoIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDEKIG1zZ2lkICJ0aGUgY29tbWl0IGlzIGF1dGhvcmVkIGJ5IG1lIG5vdyAodXNlZCB3aXRoIC1DLy1jLy0tYW1lbmQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OCBidWlsdGluL2xvZy5jOjE1MjAgYnVpbHRpbi9tZXJnZS5jOjI3NgotIzogYnVpbHRpbi9wdWxsLmM6MTU1IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDIgYnVpbHRpbi9sb2cuYzoxNjM0IGJ1aWx0aW4vbWVyZ2UuYzoyODkKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2NCBidWlsdGluL3JldmVydC5jOjExMAogbXNnaWQgImFkZCBTaWduZWQtb2ZmLWJ5OiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMwogbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwNAogbXNnaWQgImZvcmNlIGVkaXQgb2YgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MQotbXNnaWQgImRlZmF1bHQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDgxIGJ1aWx0aW4vdGFnLmM6NDAxCi1tc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwNgogbXNnaWQgImluY2x1ZGUgc3RhdHVzIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NCBidWlsdGluL21lcmdlLmM6Mjc0IGJ1aWx0aW4vcHVsbC5jOjE4NQotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTQKLW1zZ2lkICJHUEcgc2lnbiBjb21taXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDg3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTEKIG1zZ2lkICJDb21taXQgY29udGVudHMgb3B0aW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMgogbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMwogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNAogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MQorIzogYnVpbHRpbi9jb21taXQuYzoxNTE1CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNgogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNwogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTE4CiBtc2dpZCAic2hvdyB3aGF0IHdvdWxkIGJlIGNvbW1pdHRlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzMQogbXNnaWQgImFtZW5kIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzMgogbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzOQogbXNnaWQgIm9rIHRvIHJlY29yZCBhbiBlbXB0eSBjaGFuZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTE1CisjOiBidWlsdGluL2NvbW1pdC5jOjE1NDEKIG1zZ2lkICJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OAotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NQotbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCi1tc2dzdHIgIiIKLQogIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CiAjLCBjLWZvcm1hdAorbXNnaWQgIkNvcnJ1cHQgTUVSR0VfSEVBRCBmaWxlICglcykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNjIxCittc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTU9ERSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE2NDAKKyMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyNQorIzogYnVpbHRpbi9jb21taXQuYzoxNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdCBkdWUgdG8gZW1wdHkgY29tbWl0IG1lc3NhZ2UuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjMwCisjOiBidWlsdGluL2NvbW1pdC5jOjE2NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0OyB5b3UgZGlkIG5vdCBlZGl0IHRoZSBtZXNzYWdlLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNjg2CiBtc2dpZCAiIgogInJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgYW5kIHF1b3RhIGlzXG4iCi0ibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXNldCBIRUFEXCIgdG8gcmVjb3Zlci4iCisibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXN0b3JlIC0tc3RhZ2VkIDovXCIgdG8gcmVjb3Zlci4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMAotbXNnaWQgImdpdCBjb21taXQtZ3JhcGggWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjIzCi1tc2dpZCAiZ2l0IGNvbW1pdC1ncmFwaCByZWFkIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTIgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxOAotbXNnaWQgImdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTMgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoyOAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE3CiBtc2dpZCAiIgotImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0gWy0tYXBwZW5kXSBbLS1yZWFjaGFibGV8LS0iCi0ic3RkaW4tcGFja3N8LS1zdGRpbi1jb21taXRzXSIKKyJnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSBbLS1zaGFsbG93XSBbLS1bbm8tXXByb2dyZXNzXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjQ4IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NzgKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTMyIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTkwIGJ1aWx0aW4vZmV0Y2guYzoxNTMKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjIyCittc2dpZCAiIgorImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0gWy0tYXBwZW5kfC0tc3BsaXRdIFstLSIKKyJyZWFjaGFibGV8LS1zdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIFstLVtuby1dcHJvZ3Jlc3NdIDxzcGxpdCBvcHRpb25zPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjQ4IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTAzCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE4NyBidWlsdGluL2ZldGNoLmM6MTc5IGJ1aWx0aW4vbG9nLmM6MTY1NwogbXNnaWQgImRpciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjQ5IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NzkKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTMzIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTkxCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjQ5IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTA0CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE4OAogbXNnaWQgIlRoZSBvYmplY3QgZGlyZWN0b3J5IHRvIHN0b3JlIHRoZSBncmFwaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzNQorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo1MQorbXNnaWQgImlmIHRoZSBjb21taXQtZ3JhcGggaXMgc3BsaXQsIG9ubHkgdmVyaWZ5IHRoZSB0aXAgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjczIHQvaGVscGVyL3Rlc3QtcmVhZC1ncmFwaC5jOjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGNvbW1pdC1ncmFwaCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTA2CiBtc2dpZCAic3RhcnQgd2FsayBhdCBhbGwgcmVmcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzNworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMDgKIG1zZ2lkICJzY2FuIHBhY2staW5kZXhlcyBsaXN0ZWQgYnkgc3RkaW4gZm9yIGNvbW1pdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzkKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTEwCiBtc2dpZCAic3RhcnQgd2FsayBhdCBjb21taXRzIGxpc3RlZCBieSBzdGRpbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE0MQorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMTIKIG1zZ2lkICJpbmNsdWRlIGFsbCBjb21taXRzIGFscmVhZHkgaW4gdGhlIGNvbW1pdC1ncmFwaCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTUwCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExNQorbXNnaWQgImFsbG93IHdyaXRpbmcgYW4gaW5jcmVtZW50YWwgY29tbWl0LWdyYXBoIGZpbGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMTcgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMjEKK21zZ2lkICJtYXhpbXVtIG51bWJlciBvZiBjb21taXRzIGluIGEgbm9uLWJhc2Ugc3BsaXQgY29tbWl0LWdyYXBoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTE5Cittc2dpZCAibWF4aW11bSByYXRpbyBiZXR3ZWVuIHR3byBsZXZlbHMgb2YgYSBzcGxpdCBjb21taXQtZ3JhcGgiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzcKIG1zZ2lkICJ1c2UgYXQgbW9zdCBvbmUgb2YgLS1yZWFjaGFibGUsIC0tc3RkaW4tY29tbWl0cywgb3IgLS1zdGRpbi1wYWNrcyIKIG1zZ3N0ciAiIgogCkBAIC05NDMxLDcgKzExNjQ4LDcgQEAKIG1zZ2lkICJnaXQgY29uZmlnIFs8b3B0aW9ucz5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTAzCisjOiBidWlsdGluL2NvbmZpZy5jOjEwMyBidWlsdGluL2Vudi0taGVscGVyLmM6MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIC0tdHlwZSBhcmd1bWVudCwgJXMiCiBtc2dzdHIgIiIKQEAgLTk1MzYsNyArMTE3NTMsNyBAQAogbXNnaWQgIlR5cGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxNDcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ3IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzozOAogbXNnaWQgInZhbHVlIGlzIGdpdmVuIHRoaXMgdHlwZSIKIG1zZ3N0ciAiIgogCkBAIC05NTgwLDcgKzExNzk3LDcgQEAKIG1zZ2lkICJzaG93IG9yaWdpbiBvZiBjb25maWcgKGZpbGUsIHN0YW5kYXJkIGlucHV0LCBibG9iLCBjb21tYW5kIGxpbmUpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTU4CisjOiBidWlsdGluL2NvbmZpZy5jOjE1OCBidWlsdGluL2Vudi0taGVscGVyLmM6NDAKIG1zZ2lkICJ2YWx1ZSIKIG1zZ3N0ciAiIgogCkBAIC05NTg4LDQ4ICsxMTgwNSw0OCBAQAogbXNnaWQgIndpdGggLS1nZXQsIHVzZSBkZWZhdWx0IHZhbHVlIHdoZW4gbWlzc2luZyBlbnRyeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE3MQorIzogYnVpbHRpbi9jb25maWcuYzoxNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cywgc2hvdWxkIGJlICVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTczCisjOiBidWlsdGluL2NvbmZpZy5jOjE3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzLCBzaG91bGQgYmUgZnJvbSAlZCB0byAlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjMwNworIzogYnVpbHRpbi9jb25maWcuYzozMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXkgcGF0dGVybjogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzozNDMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MzQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBmb3JtYXQgZGVmYXVsdCBjb25maWcgdmFsdWU6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NDAwCisjOiBidWlsdGluL2NvbmZpZy5jOjQwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcGFyc2UgY29sb3IgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjQ0MgorIzogYnVpbHRpbi9jb25maWcuYzo0NDMKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgZGVmYXVsdCBjb2xvciB2YWx1ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjQ5NSBidWlsdGluL2NvbmZpZy5jOjc0MQorIzogYnVpbHRpbi9jb25maWcuYzo0OTYgYnVpbHRpbi9jb25maWcuYzo3NDIKIG1zZ2lkICJub3QgaW4gYSBnaXQgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NDk4CisjOiBidWlsdGluL2NvbmZpZy5jOjQ5OQogbXNnaWQgIndyaXRpbmcgdG8gc3RkaW4gaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjUwMQorIzogYnVpbHRpbi9jb25maWcuYzo1MDIKIG1zZ2lkICJ3cml0aW5nIGNvbmZpZyBibG9icyBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTg2CisjOiBidWlsdGluL2NvbmZpZy5jOjU4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiIyBUaGlzIGlzIEdpdCdzIHBlci11c2VyIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiIKQEAgLTk2MzksODEgKzExODU2LDgxIEBACiAiI1x0ZW1haWwgPSAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEwCisjOiBidWlsdGluL2NvbmZpZy5jOjYxMQogbXNnaWQgIm9ubHkgb25lIGNvbmZpZyBmaWxlIGF0IGEgdGltZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxNQorIzogYnVpbHRpbi9jb25maWcuYzo2MTYKIG1zZ2lkICItLWxvY2FsIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjE5CiBtc2dpZCAiLS1ibG9iIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MzcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjM4CiBtc2dpZCAiJEhPTUUgbm90IHNldCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY1NworIzogYnVpbHRpbi9jb25maWcuYzo2NTgKIG1zZ2lkICIiCiAiLS13b3JrdHJlZSBjYW5ub3QgYmUgdXNlZCB3aXRoIG11bHRpcGxlIHdvcmtpbmcgdHJlZXMgdW5sZXNzIHRoZSBjb25maWdcbiIKICJleHRlbnNpb24gd29ya3RyZWVDb25maWcgaXMgZW5hYmxlZC4gUGxlYXNlIHJlYWQgXCJDT05GSUdVUkFUSU9OIEZJTEVcIlxuIgogInNlY3Rpb24gaW4gXCJnaXQgaGVscCB3b3JrdHJlZVwiIGZvciBkZXRhaWxzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6Njg3CisjOiBidWlsdGluL2NvbmZpZy5jOjY4OAogbXNnaWQgIi0tZ2V0LWNvbG9yIGFuZCB2YXJpYWJsZSB0eXBlIGFyZSBpbmNvaGVyZW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjkyCisjOiBidWlsdGluL2NvbmZpZy5jOjY5MwogbXNnaWQgIm9ubHkgb25lIGFjdGlvbiBhdCBhIHRpbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MDUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzA2CiBtc2dpZCAiLS1uYW1lLW9ubHkgaXMgb25seSBhcHBsaWNhYmxlIHRvIC0tbGlzdCBvciAtLWdldC1yZWdleHAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MTEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzEyCiBtc2dpZCAiIgogIi0tc2hvdy1vcmlnaW4gaXMgb25seSBhcHBsaWNhYmxlIHRvIC0tZ2V0LCAtLWdldC1hbGwsIC0tZ2V0LXJlZ2V4cCwgYW5kIC0tIgogImxpc3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MTcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzE4CiBtc2dpZCAiLS1kZWZhdWx0IGlzIG9ubHkgYXBwbGljYWJsZSB0byAtLWdldCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjczMAorIzogYnVpbHRpbi9jb25maWcuYzo3MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgY29uZmlnIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjczMworIzogYnVpbHRpbi9jb25maWcuYzo3MzQKIG1zZ2lkICJlcnJvciBwcm9jZXNzaW5nIGNvbmZpZyBmaWxlKHMpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzQzCisjOiBidWlsdGluL2NvbmZpZy5jOjc0NAogbXNnaWQgImVkaXRpbmcgc3RkaW4gaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0NQorIzogYnVpbHRpbi9jb25maWcuYzo3NDYKIG1zZ2lkICJlZGl0aW5nIGJsb2JzIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NTkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgY29uZmlndXJhdGlvbiBmaWxlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzcyCisjOiBidWlsdGluL2NvbmZpZy5jOjc3MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY2Fubm90IG92ZXJ3cml0ZSBtdWx0aXBsZSB2YWx1ZXMgd2l0aCBhIHNpbmdsZSB2YWx1ZVxuIgogIiAgICAgICBVc2UgYSByZWdleHAsIC0tYWRkIG9yIC0tcmVwbGFjZS1hbGwgdG8gY2hhbmdlICVzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjg0NiBidWlsdGluL2NvbmZpZy5jOjg1NworIzogYnVpbHRpbi9jb25maWcuYzo4NDcgYnVpbHRpbi9jb25maWcuYzo4NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBzZWN0aW9uOiAlcyIKIG1zZ3N0ciAiIgpAQCAtOTc0NiwxNzQgKzExOTYzLDE3NCBAQAogbXNnaWQgImFubm90YXRlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjcyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc1CiAjLCBjLWZvcm1hdAogbXNnaWQgImFubm90YXRlZCB0YWcgJXMgbm90IGF2YWlsYWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImFubm90YXRlZCB0YWcgJXMgaGFzIG5vIGVtYmVkZGVkIG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3OAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBpcyByZWFsbHkgJyVzJyBoZXJlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMjIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdGFnIGV4YWN0bHkgbWF0Y2hlcyAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMjQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gZXhhY3QgbWF0Y2ggb24gcmVmcyBvciB0YWdzLCBzZWFyY2hpbmcgdG8gZGVzY3JpYmVcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzc4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbmlzaGVkIHNlYXJjaCBhdCAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIGFubm90YXRlZCB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgogIkhvd2V2ZXIsIHRoZXJlIHdlcmUgdW5hbm5vdGF0ZWQgdGFnczogdHJ5IC0tdGFncy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwOAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKICJUcnkgLS1hbHdheXMsIG9yIGNyZWF0ZSBzb21lIHRhZ3MuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MzgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhdmVyc2VkICVsdSBjb21taXRzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0MQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibW9yZSB0aGFuICVpIHRhZ3MgZm91bmQ7IGxpc3RlZCAlaSBtb3N0IHJlY2VudFxuIgogImdhdmUgdXAgc2VhcmNoIGF0ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUwOQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXNjcmliZSAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MTIgYnVpbHRpbi9sb2cuYzo1MTMKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUyMAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBuZWl0aGVyIGEgY29tbWl0IG5vciBibG9iIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzcKIG1zZ2lkICJmaW5kIHRoZSB0YWcgdGhhdCBjb21lcyBhZnRlciB0aGUgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzUKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzgKIG1zZ2lkICJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzkKIG1zZ2lkICJ1c2UgYW55IHJlZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQwCiBtc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzOAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MQogbXNnaWQgImFsd2F5cyB1c2UgbG9uZyBmb3JtYXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzOQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MgogbXNnaWQgIm9ubHkgZm9sbG93IGZpcnN0IHBhcmVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ1CiBtc2dpZCAib25seSBvdXRwdXQgZXhhY3QgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ3CiBtc2dpZCAiY29uc2lkZXIgPG4+IG1vc3QgcmVjZW50IHRhZ3MgKGRlZmF1bHQ6IDEwKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ5CiBtc2dpZCAib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUxCiBtc2dpZCAiZG8gbm90IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTAgYnVpbHRpbi9uYW1lLXJldi5jOjQyNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MyBidWlsdGluL25hbWUtcmV2LmM6NDczCiBtc2dpZCAic2hvdyBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTEgYnVpbHRpbi9kZXNjcmliZS5jOjU1NAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1NCBidWlsdGluL2Rlc2NyaWJlLmM6NTU3CiBtc2dpZCAibWFyayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTU1CiBtc2dpZCAiYXBwZW5kIDxtYXJrPiBvbiBkaXJ0eSB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWRpcnR5XCIpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTUKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTgKIG1zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGJyb2tlbiB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWJyb2tlblwiKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTczCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTc2CiBtc2dpZCAiLS1sb25nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWJicmV2PTAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjYwMgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjYwNQogbXNnaWQgIk5vIG5hbWVzIGZvdW5kLCBjYW5ub3QgZGVzY3JpYmUgYW55dGhpbmcuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTYKIG1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NjU0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NjU4CiBtc2dpZCAiLS1icm9rZW4gaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjgzCisjOiBidWlsdGluL2RpZmYuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBub3QgYSByZWd1bGFyIGZpbGUgb3Igc3ltbGluayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmYuYzoyMzQKKyM6IGJ1aWx0aW4vZGlmZi5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9wdGlvbjogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzYzCisjOiBidWlsdGluL2RpZmYuYzozNTAKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MDcKKyM6IGJ1aWx0aW4vZGlmZi5jOjM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MTYKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gdHdvIGJsb2JzIGdpdmVuOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQyMQorIzogYnVpbHRpbi9kaWZmLmM6NDA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgIiIKQEAgLTk5NDgsNDM2ICsxMjE2NSw1NjIgQEAKICJkaXJlY3RvcnkgZGlmZiBtb2RlKCctZCcgYW5kICctLWRpci1kaWZmJykuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzMKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYm90aCBmaWxlcyBtb2RpZmllZDogJyVzJyBhbmQgJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNgogbXNnaWQgIndvcmtpbmcgdHJlZSBmaWxlIGhhcyBiZWVuIGxlZnQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidGVtcG9yYXJ5IGZpbGVzIGV4aXN0IGluICclcycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDcKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDgKIG1zZ2lkICJ5b3UgbWF5IHdhbnQgdG8gY2xlYW51cCBvciByZWNvdmVyIHRoZXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6Njk2CisjOiBidWlsdGluL2RpZmZ0b29sLmM6Njk3CiBtc2dpZCAidXNlIGBkaWZmLmd1aXRvb2xgIGluc3RlYWQgb2YgYGRpZmYudG9vbGAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5OAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5OQogbXNnaWQgInBlcmZvcm0gYSBmdWxsLWRpcmVjdG9yeSBkaWZmIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDEKIG1zZ2lkICJkbyBub3QgcHJvbXB0IGJlZm9yZSBsYXVuY2hpbmcgYSBkaWZmIHRvb2wiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNgogbXNnaWQgInVzZSBzeW1saW5rcyBpbiBkaXItZGlmZiBtb2RlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDcKIG1zZ2lkICJ0b29sIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDcKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDgKIG1zZ2lkICJ1c2UgdGhlIHNwZWNpZmllZCBkaWZmIHRvb2wiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwOQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMAogbXNnaWQgInByaW50IGEgbGlzdCBvZiBkaWZmIHRvb2xzIHRoYXQgbWF5IGJlIHVzZWQgd2l0aCBgLS10b29sYCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzEyCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzEzCiBtc2dpZCAiIgogIm1ha2UgJ2dpdC1kaWZmdG9vbCcgZXhpdCB3aGVuIGFuIGludm9rZWQgZGlmZiB0b29sIHJldHVybnMgYSBub24gLSB6ZXJvIGV4aXQgIgogImNvZGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxNQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxNgogbXNnaWQgInNwZWNpZnkgYSBjdXN0b20gY29tbWFuZCBmb3Igdmlld2luZyBkaWZmcyIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzE3Cittc2dpZCAicGFzc2VkIHRvIGBkaWZmYCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzMyCittc2dpZCAiZGlmZnRvb2wgcmVxdWlyZXMgd29ya3RyZWUgb3IgLS1uby1pbmRleCIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGluL2RpZmZ0b29sLmM6NzM5Cittc2dpZCAiLS1kaXItZGlmZiBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW5vLWluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3NDIKK21zZ2lkICItLWd1aSwgLS10b29sIGFuZCAtLWV4dGNtZCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3NTAKIG1zZ2lkICJubyA8dG9vbD4gZ2l2ZW4gZm9yIC0tdG9vbD08dG9vbD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc0NgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc1NwogbXNnaWQgIm5vIDxjbWQ+IGdpdmVuIGZvciAtLWV4dGNtZD08Y21kPiIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6NgorbXNnaWQgImdpdCBlbnYtLWhlbHBlciAtLXR5cGU9W2Jvb2x8dWxvbmddIDxvcHRpb25zPiA8ZW52LXZhcj4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjM3IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorbXNnaWQgInR5cGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjQxCittc2dpZCAiZGVmYXVsdCBmb3IgZ2l0X2Vudl8qKC4uLikgdG8gZmFsbCBiYWNrIG9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo0MworbXNnaWQgImJlIHF1aWV0IG9ubHkgdXNlIGdpdF9lbnZfKigpIHZhbHVlIGFzIGV4aXQgY29kZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAtLWRlZmF1bHQnIGV4cGVjdHMgYSBib29sZWFuIHZhbHVlIHdpdGggYC0tdHlwZT1ib29sYCwgbm90IGAlc2AiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvcHRpb24gYC0tZGVmYXVsdCcgZXhwZWN0cyBhbiB1bnNpZ25lZCBsb25nIHZhbHVlIHdpdGggYC0tdHlwZT11bG9uZ2AsIG5vdCBgIgorIiVzYCIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MjkKIG1zZ2lkICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LW9wdHNdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDA2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6ODUyCittc2dpZCAiRXJyb3I6IENhbm5vdCBleHBvcnQgbmVzdGVkIHRhZ3MgdW5sZXNzIC0tbWFyay10YWdzIGlzIHNwZWNpZmllZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTIKIG1zZ2lkICJzaG93IHByb2dyZXNzIGFmdGVyIDxuPiBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDA4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1NAogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBzaWduZWQgdGFncyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxMQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTcKIG1zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgdGFncyB0aGF0IHRhZyBmaWx0ZXJlZCBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDE0CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2MAorbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBjb21taXQgbWVzc2FnZXMgaW4gYW4gYWx0ZXJuYXRlIGVuY29kaW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTYzCiBtc2dpZCAiRHVtcCBtYXJrcyB0byB0aGlzIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY1CiBtc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDE4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2OQorbXNnaWQgIkltcG9ydCBtYXJrcyBmcm9tIHRoaXMgZmlsZSBpZiBpdCBleGlzdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzEKIG1zZ2lkICJGYWtlIGEgdGFnZ2VyIHdoZW4gdGFncyBsYWNrIG9uZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAyMAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzMKIG1zZ2lkICJPdXRwdXQgZnVsbCB0cmVlIGZvciBlYWNoIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAyMgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzUKIG1zZ2lkICJVc2UgdGhlIGRvbmUgZmVhdHVyZSB0byB0ZXJtaW5hdGUgdGhlIHN0cmVhbSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAyMworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzYKIG1zZ2lkICJTa2lwIG91dHB1dCBvZiBibG9iIGRhdGEiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMjQgYnVpbHRpbi9sb2cuYzoxNTg4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3NyBidWlsdGluL2xvZy5jOjE3MDUKIG1zZ2lkICJyZWZzcGVjIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDI1CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3OAogbXNnaWQgIkFwcGx5IHJlZnNwZWMgdG8gZXhwb3J0ZWQgcmVmcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAyNgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzkKIG1zZ2lkICJhbm9ueW1pemUgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyOAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExODEKK21zZ2lkICJSZWZlcmVuY2UgcGFyZW50cyB3aGljaCBhcmUgbm90IGluIGZhc3QtZXhwb3J0IHN0cmVhbSBieSBvYmplY3QgaWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExODMKK21zZ2lkICJTaG93IG9yaWdpbmFsIG9iamVjdCBpZHMgb2YgYmxvYnMvY29tbWl0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE4NQorbXNnaWQgIkxhYmVsIHRhZ3Mgd2l0aCBtYXJrIGlkcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTIyMAorbXNnaWQgIkNhbm5vdCBwYXNzIGJvdGggLS1pbXBvcnQtbWFya3MgYW5kIC0taW1wb3J0LW1hcmtzLWlmLWV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MzQKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI5CisjOiBidWlsdGluL2ZldGNoLmM6MzUKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gPGdyb3VwPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzAKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNgogbXNnaWQgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPHJlcG9zaXRvcnk+IHwgPGdyb3VwPikuLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMQorIzogYnVpbHRpbi9mZXRjaC5jOjM3CiBtc2dpZCAiZ2l0IGZldGNoIC0tYWxsIFs8b3B0aW9ucz5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTUgYnVpbHRpbi9wdWxsLmM6MTk0CisjOiBidWlsdGluL2ZldGNoLmM6MTE2Cittc2dpZCAiZmV0Y2gucGFyYWxsZWwgY2Fubm90IGJlIG5lZ2F0aXZlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzkgYnVpbHRpbi9wdWxsLmM6MjA0CiBtc2dpZCAiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE3IGJ1aWx0aW4vcHVsbC5jOjE5NworIzogYnVpbHRpbi9mZXRjaC5jOjE0MSBidWlsdGluL3B1bGwuYzoyNDgKK21zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL2ZldGNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDMgYnVpbHRpbi9wdWxsLmM6MjA3CiBtc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTkgYnVpbHRpbi9wdWxsLmM6MjAwCisjOiBidWlsdGluL2ZldGNoLmM6MTQ1IGJ1aWx0aW4vcHVsbC5jOjIxMAogbXNnaWQgInBhdGggdG8gdXBsb2FkIHBhY2sgb24gcmVtb3RlIGVuZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIwCisjOiBidWlsdGluL2ZldGNoLmM6MTQ2CiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIHJlZmVyZW5jZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIyCisjOiBidWlsdGluL2ZldGNoLmM6MTQ4CiBtc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjQgYnVpbHRpbi9wdWxsLmM6MjA0CisjOiBidWlsdGluL2ZldGNoLmM6MTUwIGJ1aWx0aW4vcHVsbC5jOjIxNAogbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyNgorIzogYnVpbHRpbi9mZXRjaC5jOjE1MgogbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI4CisjOiBidWlsdGluL2ZldGNoLmM6MTU0CiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgZmV0Y2hlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMwIGJ1aWx0aW4vcHVsbC5jOjIwNworIzogYnVpbHRpbi9mZXRjaC5jOjE1NiBidWlsdGluL3B1bGwuYzoyMTcKIG1zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyCisjOiBidWlsdGluL2ZldGNoLmM6MTU4CiBtc2dpZCAicHJ1bmUgbG9jYWwgdGFncyBubyBsb25nZXIgb24gcmVtb3RlIGFuZCBjbG9iYmVyIGNoYW5nZWQgdGFncyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMzIGJ1aWx0aW4vZmV0Y2guYzoxNTYgYnVpbHRpbi9wdWxsLmM6MTMyCisjOiBidWlsdGluL2ZldGNoLmM6MTU5IGJ1aWx0aW4vZmV0Y2guYzoxODIgYnVpbHRpbi9wdWxsLmM6MTQxCiBtc2dpZCAib24tZGVtYW5kIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjAKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzggYnVpbHRpbi9wdWxsLmM6MjE1CisjOiBidWlsdGluL2ZldGNoLmM6MTY0IGJ1aWx0aW4vcHVsbC5jOjIyNQogbXNnaWQgImtlZXAgZG93bmxvYWRlZCBwYWNrIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjYKIG1zZ2lkICJhbGxvdyB1cGRhdGluZyBvZiBIRUFEIHJlZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQzIGJ1aWx0aW4vZmV0Y2guYzoxNDkgYnVpbHRpbi9wdWxsLmM6MjE4CisjOiBidWlsdGluL2ZldGNoLmM6MTY5IGJ1aWx0aW4vZmV0Y2guYzoxNzUgYnVpbHRpbi9wdWxsLmM6MjI4CiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQ1CisjOiBidWlsdGluL2ZldGNoLmM6MTcxCiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyByZXBvc2l0b3J5IGJhc2VkIG9uIHRpbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1MSBidWlsdGluL3B1bGwuYzoyMjEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzcgYnVpbHRpbi9wdWxsLmM6MjMxCiBtc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1NAorIzogYnVpbHRpbi9mZXRjaC5jOjE4MAogbXNnaWQgInByZXBlbmQgdGhpcyB0byBzdWJtb2R1bGUgcGF0aCBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1NworIzogYnVpbHRpbi9mZXRjaC5jOjE4MwogbXNnaWQgIiIKICJkZWZhdWx0IGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyAobG93ZXIgcHJpb3JpdHkgdGhhbiBjb25maWcgIgogImZpbGVzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYxIGJ1aWx0aW4vcHVsbC5jOjIyNAorIzogYnVpbHRpbi9mZXRjaC5jOjE4NyBidWlsdGluL3B1bGwuYzoyMzQKIG1zZ2lkICJhY2NlcHQgcmVmcyB0aGF0IHVwZGF0ZSAuZ2l0L3NoYWxsb3ciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MiBidWlsdGluL3B1bGwuYzoyMjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODggYnVpbHRpbi9wdWxsLmM6MjM2CiBtc2dpZCAicmVmbWFwIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjMgYnVpbHRpbi9wdWxsLmM6MjI3CisjOiBidWlsdGluL2ZldGNoLmM6MTg5IGJ1aWx0aW4vcHVsbC5jOjIzNwogbXNnaWQgInNwZWNpZnkgZmV0Y2ggcmVmbWFwIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjQgYnVpbHRpbi9scy1yZW1vdGUuYzo3NyBidWlsdGluL3B1c2guYzo1ODIKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcyCi1tc2dpZCAic2VydmVyLXNwZWNpZmljIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjQgYnVpbHRpbi9scy1yZW1vdGUuYzo3NyBidWlsdGluL3B1c2guYzo1ODIKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTczCi1tc2dpZCAib3B0aW9uIHRvIHRyYW5zbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNzAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxOTYKIG1zZ2lkICJyZXBvcnQgdGhhdCB3ZSBoYXZlIG9ubHkgb2JqZWN0cyByZWFjaGFibGUgZnJvbSB0aGlzIG9iamVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDcwCisjOiBidWlsdGluL2ZldGNoLmM6MTk5Cittc2dpZCAicnVuICdnYyAtLWF1dG8nIGFmdGVyIGZldGNoaW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMDEgYnVpbHRpbi9wdWxsLmM6MjQ2Cittc2dpZCAiY2hlY2sgZm9yIGZvcmNlZC11cGRhdGVzIG9uIGFsbCB1cGRhdGVkIGJyYW5jaGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMDMKK21zZ2lkICJ3cml0ZSB0aGUgY29tbWl0LWdyYXBoIGFmdGVyIGZldGNoaW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MTMKIG1zZ2lkICJDb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjA5CisjOiBidWlsdGluL2ZldGNoLmM6NjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbmZpZ3VyYXRpb24gZmV0Y2gub3V0cHV0IGNvbnRhaW5zIGludmFsaWQgdmFsdWUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcwMgorIzogYnVpbHRpbi9mZXRjaC5jOjc1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgbm90IGZvdW5kIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MDYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NTUKIG1zZ2lkICJbdXAgdG8gZGF0ZV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcxOSBidWlsdGluL2ZldGNoLmM6NzM1IGJ1aWx0aW4vZmV0Y2guYzo4MDcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NjggYnVpbHRpbi9mZXRjaC5jOjc4NCBidWlsdGluL2ZldGNoLmM6ODU2CiBtc2dpZCAiW3JlamVjdGVkXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzIwCisjOiBidWlsdGluL2ZldGNoLmM6NzY5CiBtc2dpZCAiY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjczMAorIzogYnVpbHRpbi9mZXRjaC5jOjc3OQogbXNnaWQgIlt0YWcgdXBkYXRlXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzMxIGJ1aWx0aW4vZmV0Y2guYzo3NzEgYnVpbHRpbi9mZXRjaC5jOjc4NwotIzogYnVpbHRpbi9mZXRjaC5jOjgwMgorIzogYnVpbHRpbi9mZXRjaC5jOjc4MCBidWlsdGluL2ZldGNoLmM6ODE3IGJ1aWx0aW4vZmV0Y2guYzo4MzkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTEKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzM1CisjOiBidWlsdGluL2ZldGNoLmM6Nzg0CiBtc2dpZCAid291bGQgY2xvYmJlciBleGlzdGluZyB0YWciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc1NworIzogYnVpbHRpbi9mZXRjaC5jOjgwNgogbXNnaWQgIltuZXcgdGFnXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzYwCisjOiBidWlsdGluL2ZldGNoLmM6ODA5CiBtc2dpZCAiW25ldyBicmFuY2hdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4MTIKIG1zZ2lkICJbbmV3IHJlZl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgwMgorIzogYnVpbHRpbi9mZXRjaC5jOjg1MQogbXNnaWQgImZvcmNlZCB1cGRhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgwNworIzogYnVpbHRpbi9mZXRjaC5jOjg1NgogbXNnaWQgIm5vbi1mYXN0LWZvcndhcmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg1MworIzogYnVpbHRpbi9mZXRjaC5jOjg3NworbXNnaWQgIiIKKyJGZXRjaCBub3JtYWxseSBpbmRpY2F0ZXMgd2hpY2ggYnJhbmNoZXMgaGFkIGEgZm9yY2VkIHVwZGF0ZSxcbiIKKyJidXQgdGhhdCBjaGVjayBoYXMgYmVlbiBkaXNhYmxlZC4gVG8gcmUtZW5hYmxlLCB1c2UgJy0tc2hvdy1mb3JjZWQtdXBkYXRlcydcbiIKKyJmbGFnIG9yIHJ1biAnZ2l0IGNvbmZpZyBmZXRjaC5zaG93Rm9yY2VkVXBkYXRlcyB0cnVlJy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjg4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gY2hlY2sgZm9yY2VkIHVwZGF0ZXMuIFlvdSBjYW4gdXNlXG4iCisiJy0tbm8tc2hvdy1mb3JjZWQtdXBkYXRlcycgb3IgcnVuICdnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzICIKKyJmYWxzZSdcbiIKKyIgdG8gYXZvaWQgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6OTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODc0CisjOiBidWlsdGluL2ZldGNoLmM6OTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlamVjdCAlcyBiZWNhdXNlIHNoYWxsb3cgcm9vdHMgYXJlIG5vdCBhbGxvd2VkIHRvIGJlIHVwZGF0ZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk2MyBidWlsdGluL2ZldGNoLmM6MTA4NQorIzogYnVpbHRpbi9mZXRjaC5jOjEwMTcgYnVpbHRpbi9mZXRjaC5jOjExNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRnJvbSAlLipzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk3NAorIzogYnVpbHRpbi9mZXRjaC5jOjEwMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKICIgJ2dpdCByZW1vdGUgcHJ1bmUgJXMnIHRvIHJlbW92ZSBhbnkgb2xkLCBjb25mbGljdGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA1NQorIzogYnVpbHRpbi9mZXRjaC5jOjExMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIHdpbGwgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA1NgorIzogYnVpbHRpbi9mZXRjaC5jOjExMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDg4CisjOiBidWlsdGluL2ZldGNoLmM6MTE1OAogbXNnaWQgIltkZWxldGVkXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4OSBidWlsdGluL3JlbW90ZS5jOjEwMzYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTU5IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNQogbXNnaWQgIihub25lKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTExMgorIzogYnVpbHRpbi9mZXRjaC5jOjExODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gZmV0Y2ggaW50byBjdXJyZW50IGJyYW5jaCAlcyBvZiBub24tYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTMxCisjOiBidWlsdGluL2ZldGNoLmM6MTIwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTM0CisjOiBidWlsdGluL2ZldGNoLmM6MTIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIGlzIGlnbm9yZWQgZm9yICVzXG4iCiBtc2dzdHIgIiIKIAorIzogYnVpbHRpbi9mZXRjaC5jOjE0MTIKK21zZ2lkICJtdWx0aXBsZSBicmFuY2hlcyBkZXRlY3RlZCwgaW5jb21wYXRpYmxlIHdpdGggLS1zZXQtdXBzdHJlYW0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MjcKK21zZ2lkICJub3Qgc2V0dGluZyB1cHN0cmVhbSBmb3IgYSByZW1vdGUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQyOQorbXNnaWQgIm5vdCBzZXR0aW5nIHVwc3RyZWFtIGZvciBhIHJlbW90ZSB0YWciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MzEKK21zZ2lkICJ1bmtub3duIGJyYW5jaCB0eXBlIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW4vZmV0Y2guYzoxNDMzCittc2dpZCAiIgorIm5vIHNvdXJjZSBicmFuY2ggZm91bmQuXG4iCisieW91IG5lZWQgdG8gc3BlY2lmeSBleGFjdGx5IG9uZSBicmFuY2ggd2l0aCB0aGUgLS1zZXQtdXBzdHJlYW0gb3B0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTU1OSBidWlsdGluL2ZldGNoLmM6MTYyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNDM1IGJ1aWx0aW4vcmVtb3RlLmM6MTAwCisjOiBidWlsdGluL2ZldGNoLmM6MTU2OSBidWlsdGluL2ZldGNoLmM6MTYyNCBidWlsdGluL3JlbW90ZS5jOjEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmV0Y2ggJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE0ODEgYnVpbHRpbi9mZXRjaC5jOjE2NDkKLW1zZ2lkICIiCi0iLS1maWx0ZXIgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHRoZSByZW1vdGUgY29uZmlndXJlZCBpbiBjb3JlLnBhcnRpYWxDbG9uZSIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTgxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmZXRjaCAnJXMnIChleGl0IGNvZGU6ICVkKVxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTA0CisjOiBidWlsdGluL2ZldGNoLmM6MTY4NAogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTQxCisjOiBidWlsdGluL2ZldGNoLmM6MTcyMQogbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1OTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzcxCiBtc2dpZCAiTmVnYXRpdmUgZGVwdGggaW4gLS1kZWVwZW4gaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU5MgorIzogYnVpbHRpbi9mZXRjaC5jOjE3NzMKIG1zZ2lkICItLWRlZXBlbiBhbmQgLS1kZXB0aCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTk3CisjOiBidWlsdGluL2ZldGNoLmM6MTc3OAogbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTk5CisjOiBidWlsdGluL2ZldGNoLmM6MTc4MAogbXNnaWQgIi0tdW5zaGFsbG93IG9uIGEgY29tcGxldGUgcmVwb3NpdG9yeSBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjE1CisjOiBidWlsdGluL2ZldGNoLmM6MTc5NgogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjE3CisjOiBidWlsdGluL2ZldGNoLmM6MTc5OAogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYyNgorIzogYnVpbHRpbi9mZXRjaC5jOjE4MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgb3IgcmVtb3RlIGdyb3VwOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYzMworIzogYnVpbHRpbi9mZXRjaC5jOjE4MTQKIG1zZ2lkICJGZXRjaGluZyBhIGdyb3VwIGFuZCBzcGVjaWZ5aW5nIHJlZnNwZWNzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKIAorIzogYnVpbHRpbi9mZXRjaC5jOjE4MzIKK21zZ2lkICIiCisiLS1maWx0ZXIgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHRoZSByZW1vdGUgY29uZmlndXJlZCBpbiBleHRlbnNpb25zLiIKKyJwYXJ0aWFsY2xvbmUiCittc2dzdHIgIiIKKwogIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6MTgKIG1zZ2lkICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZXNzYWdlPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzIKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NAogbXNnaWQgInBvcHVsYXRlIGxvZyB3aXRoIGF0IG1vc3QgPG4+IGVudHJpZXMgZnJvbSBzaG9ydGxvZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzUKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NwogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc4CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2ODAKIG1zZ2lkICJ0ZXh0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3OQorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjgxCiBtc2dpZCAidXNlIDx0ZXh0PiBhcyBzdGFydCBvZiBtZXNzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY4MAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjgyCiBtc2dpZCAiZmlsZSB0byByZWFkIGZyb20iCiBtc2dzdHIgIiIKIApAQCAtMTA0MTcsOTEgKzEyNzYwLDI3MiBAQAogbXNnaWQgInNob3cgb25seSA8bj4gbWF0Y2hlZCByZWZzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzkgYnVpbHRpbi90YWcuYzo0MjQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzkgYnVpbHRpbi90YWcuYzo0MzkKIG1zZ2lkICJyZXNwZWN0IGZvcm1hdCBjb2xvcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MgogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBwb2ludHMgYXQgdGhlIGdpdmVuIG9iamVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ1CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ0CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ1CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NgogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0OAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NwogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTk4CisjOiBidWlsdGluL2ZzY2suYzo2OCBidWlsdGluL2ZzY2suYzoxNDcgYnVpbHRpbi9mc2NrLmM6MTQ4Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZS5nLiBlcnJvciBpbiB0cmVlIDAxYmZkYTogPG1vcmUgZXhwbGFuYXRpb24+CisjOiBidWlsdGluL2ZzY2suYzoxMDAgYnVpbHRpbi9mc2NrLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGluICVzICVzOiAlcyIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZS5nLiB3YXJuaW5nIGluIHRyZWUgMDFiZmRhOiA8bW9yZSBleHBsYW5hdGlvbj4KKyM6IGJ1aWx0aW4vZnNjay5jOjExNAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nIGluICVzICVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzoxNDMgYnVpbHRpbi9mc2NrLmM6MTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImJyb2tlbiBsaW5rIGZyb20gJTdzICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjE1NQorbXNnaWQgIndyb25nIG9iamVjdCB0eXBlIGluIGxpbmsiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6MTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJicm9rZW4gbGluayBmcm9tICU3cyAlc1xuIgorIiAgICAgICAgICAgICAgdG8gJTdzICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nICVzICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSAlcyAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGFuZ2xpbmcgJXMgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6MzM5Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsb3N0LWZvdW5kIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjM1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZmluaXNoICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6MzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkgKCVkIG9iamVjdHMpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyAlcyAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo0MjkKK21zZ2lkICJicm9rZW4gbGlua3MiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NDM4CisjLCBjLWZvcm1hdAorbXNnaWQgInJvb3QgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInRhZ2dlZCAlcyAlcyAoJXMpIGluICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo1MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgcmVmbG9nIGVudHJ5ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyByZWZsb2cgJXMtPiVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBzaGExIHBvaW50ZXIgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NjA5Cittc2dpZCAibm90aWNlOiBObyBkZWZhdWx0IHJlZmVyZW5jZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgY29ycnVwdCBvciBtaXNzaW5nOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo2MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBjb3VsZCBub3QgYmUgcGFyc2VkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo2NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNoYTEgZmlsZTogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NjcyCittc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo2NzUKIG1zZ2lkICJDaGVja2luZyBvYmplY3QgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjkzCi1tc2dpZCAiZ2l0IGZzY2sgWzxvcHRpb25zPl0gWzxvYmplY3Q+Li4uXSIKKyM6IGJ1aWx0aW4vZnNjay5jOjY5MAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyAlcyBsaW5rIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjY5OQotbXNnaWQgInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZzY2suYzo3MDAKLW1zZ2lkICJzaG93IGRhbmdsaW5nIG9iamVjdHMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mc2NrLmM6NzAxCi1tc2dpZCAicmVwb3J0IHRhZ3MiCisjOiBidWlsdGluL2ZzY2suYzo2OTUgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgJXMiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9mc2NrLmM6NzAyCi1tc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHBvaW50cyB0byBzb21ldGhpbmcgc3RyYW5nZSAoJXMpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwMwotbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgorIzogYnVpbHRpbi9mc2NrLmM6NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2hlZCBIRUFEIHBvaW50cyBhdCBub3RoaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwNAotbXNnaWQgIm1ha2UgcmVmbG9ncyBoZWFkIG5vZGVzIChkZWZhdWx0KSIKKyM6IGJ1aWx0aW4vZnNjay5jOjcxMgorIywgYy1mb3JtYXQKK21zZ2lkICJub3RpY2U6ICVzIHBvaW50cyB0byBhbiB1bmJvcm4gYnJhbmNoICglcykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzA1Ci1tc2dpZCAiYWxzbyBjb25zaWRlciBwYWNrcyBhbmQgYWx0ZXJuYXRlIG9iamVjdHMiCisjOiBidWlsdGluL2ZzY2suYzo3MjQKK21zZ2lkICJDaGVja2luZyBjYWNoZSB0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwNgotbXNnaWQgImNoZWNrIG9ubHkgY29ubmVjdGl2aXR5IgorIzogYnVpbHRpbi9mc2NrLmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHNoYTEgcG9pbnRlciBpbiBjYWNoZS10cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwNwotbXNnaWQgImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIKKyM6IGJ1aWx0aW4vZnNjay5jOjczOAorbXNnaWQgIm5vbi10cmVlIGluIGNhY2hlLXRyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzA5Ci1tc2dpZCAid3JpdGUgZGFuZ2xpbmcgb2JqZWN0cyBpbiAuZ2l0L2xvc3QtZm91bmQiCisjOiBidWlsdGluL2ZzY2suYzo3NjkKK21zZ2lkICJnaXQgZnNjayBbPG9wdGlvbnM+XSBbPG9iamVjdD4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcxMCBidWlsdGluL3BydW5lLmM6MTEwCi1tc2dpZCAic2hvdyBwcm9ncmVzcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2ZzY2suYzo3MTEKLW1zZ2lkICJzaG93IHZlcmJvc2UgbmFtZXMgZm9yIHJlYWNoYWJsZSBvYmplY3RzIgorIzogYnVpbHRpbi9mc2NrLmM6Nzc1Cittc2dpZCAic2hvdyB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vZnNjay5jOjc3NgorbXNnaWQgInNob3cgZGFuZ2xpbmcgb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo3NzcKK21zZ2lkICJyZXBvcnQgdGFncyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo3NzgKK21zZ2lkICJyZXBvcnQgcm9vdCBub2RlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo3NzkKK21zZ2lkICJtYWtlIGluZGV4IG9iamVjdHMgaGVhZCBub2RlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo3ODAKK21zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NzgxCittc2dpZCAiYWxzbyBjb25zaWRlciBwYWNrcyBhbmQgYWx0ZXJuYXRlIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NzgyCittc2dpZCAiY2hlY2sgb25seSBjb25uZWN0aXZpdHkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NzgzCittc2dpZCAiZW5hYmxlIG1vcmUgc3RyaWN0IGNoZWNraW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NQorbXNnaWQgIndyaXRlIGRhbmdsaW5nIG9iamVjdHMgaW4gLmdpdC9sb3N0LWZvdW5kIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NiBidWlsdGluL3BydW5lLmM6MTMyCittc2dpZCAic2hvdyBwcm9ncmVzcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo3ODcKK21zZ2lkICJzaG93IHZlcmJvc2UgbmFtZXMgZm9yIHJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjg0NiBidWlsdGluL2luZGV4LXBhY2suYzoyMjUKIG1zZ2lkICJDaGVja2luZyBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozNAorIzogYnVpbHRpbi9mc2NrLmM6ODc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgbWlzc2luZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXI6IGV4cGVjdGVkIHNoYTEsIGdvdCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ2MuYzozNQogbXNnaWQgImdpdCBnYyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiIgogCkBAIC0xMDUxMCwxNyArMTMwMzQsMjIgQEAKIG1zZ2lkICJGYWlsZWQgdG8gZnN0YXQgJXM6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0NjEgYnVpbHRpbi9pbml0LWRiLmM6NTUKKyM6IGJ1aWx0aW4vZ2MuYzoxMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICclcycgdmFsdWUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2djLmM6NDc1IGJ1aWx0aW4vaW5pdC1kYi5jOjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGF0ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9nYy5jOjQ3MCBidWlsdGluL25vdGVzLmM6MjQwIGJ1aWx0aW4vdGFnLmM6NTEwCisjOiBidWlsdGluL2djLmM6NDg0IGJ1aWx0aW4vbm90ZXMuYzoyNDAgYnVpbHRpbi90YWcuYzo1MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2djLmM6NDc3CisjOiBidWlsdGluL2djLmM6NDkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbGFzdCBnYyBydW4gcmVwb3J0ZWQgdGhlIGZvbGxvd2luZy4gUGxlYXNlIGNvcnJlY3QgdGhlIHJvb3QgY2F1c2VcbiIKQEAgLTEwNTMwLDcyICsxMzA1OSw3MiBAQAogIiVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MTkKKyM6IGJ1aWx0aW4vZ2MuYzo1MzkKIG1zZ2lkICJwcnVuZSB1bnJlZmVyZW5jZWQgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2djLmM6NTIxCisjOiBidWlsdGluL2djLmM6NTQxCiBtc2dpZCAiYmUgbW9yZSB0aG9yb3VnaCAoaW5jcmVhc2VkIHJ1bnRpbWUpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MjIKKyM6IGJ1aWx0aW4vZ2MuYzo1NDIKIG1zZ2lkICJlbmFibGUgYXV0by1nYyBtb2RlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MjUKKyM6IGJ1aWx0aW4vZ2MuYzo1NDUKIG1zZ2lkICJmb3JjZSBydW5uaW5nIGdjIGV2ZW4gaWYgdGhlcmUgbWF5IGJlIGFub3RoZXIgZ2MgcnVubmluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2djLmM6NTI4CisjOiBidWlsdGluL2djLmM6NTQ4CiBtc2dpZCAicmVwYWNrIGFsbCBvdGhlciBwYWNrcyBleGNlcHQgdGhlIGxhcmdlc3QgcGFjayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2djLmM6NTQ1CisjOiBidWlsdGluL2djLmM6NTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnYy5sb2dleHBpcnkgdmFsdWUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9nYy5jOjU1NgorIzogYnVpbHRpbi9nYy5jOjU3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJ1bmUgZXhwaXJ5IHZhbHVlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1NzYKKyM6IGJ1aWx0aW4vZ2MuYzo1OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0byBwYWNraW5nIHRoZSByZXBvc2l0b3J5IGluIGJhY2tncm91bmQgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9nYy5jOjU3OAorIzogYnVpbHRpbi9nYy5jOjU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9nYy5jOjU3OQorIzogYnVpbHRpbi9nYy5jOjU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJTZWUgXCJnaXQgaGVscCBnY1wiIGZvciBtYW51YWwgaG91c2VrZWVwaW5nLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo2MTkKKyM6IGJ1aWx0aW4vZ2MuYzo2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImdjIGlzIGFscmVhZHkgcnVubmluZyBvbiBtYWNoaW5lICclcycgcGlkICU8UFJJdU1BWD4gKHVzZSAtLWZvcmNlIGlmIG5vdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9nYy5jOjY3MAorIzogYnVpbHRpbi9nYy5jOjY5NAogbXNnaWQgIiIKICJUaGVyZSBhcmUgdG9vIG1hbnkgdW5yZWFjaGFibGUgbG9vc2Ugb2JqZWN0czsgcnVuICdnaXQgcHJ1bmUnIHRvIHJlbW92ZSB0aGVtLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoyOAorIzogYnVpbHRpbi9ncmVwLmM6MjkKIG1zZ2lkICJnaXQgZ3JlcCBbPG9wdGlvbnM+XSBbLWVdIDxwYXR0ZXJuPiBbPHJldj4uLi5dIFtbLS1dIDxwYXRoPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjI0CisjOiBidWlsdGluL2dyZXAuYzoyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ3JlcDogZmFpbGVkIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI3OAorIzogYnVpbHRpbi9ncmVwLmM6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkgZm9yICVzIgogbXNnc3RyICIiCkBAIC0xMDYwNCwyOTcgKzEzMTMzLDI5MyBAQAogIy4gdmFyaWFibGUgZm9yIHR3ZWFraW5nIHRocmVhZHMsIGN1cnJlbnRseQogIy4gZ3JlcC50aHJlYWRzCiAjLgotIzogYnVpbHRpbi9ncmVwLmM6Mjg2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MDYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY5NwotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzE5CisjOiBidWlsdGluL2dyZXAuYzoyODcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUzNCBidWlsdGluL2luZGV4LXBhY2suYzoxNzI3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo0NTggYnVpbHRpbi9ncmVwLmM6NTc5IGJ1aWx0aW4vZ3JlcC5jOjYyMAorIzogYnVpbHRpbi9ncmVwLmM6NDY3IGJ1aWx0aW4vZ3JlcC5jOjU5MiBidWlsdGluL2dyZXAuYzo2MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjYzNQorIzogYnVpbHRpbi9ncmVwLmM6NjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBncmVwIGZyb20gb2JqZWN0IG9mIHR5cGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAxCisjOiBidWlsdGluL2dyZXAuYzo3MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxNQogbXNnaWQgInNlYXJjaCBpbiBpbmRleCBpbnN0ZWFkIG9mIGluIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODAyCisjOiBidWlsdGluL2dyZXAuYzo4MTcKIG1zZ2lkICJmaW5kIGluIGNvbnRlbnRzIG5vdCBtYW5hZ2VkIGJ5IGdpdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxOQogbXNnaWQgInNlYXJjaCBpbiBib3RoIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyMQogbXNnaWQgImlnbm9yZSBmaWxlcyBzcGVjaWZpZWQgdmlhICcuZ2l0aWdub3JlJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyMwogbXNnaWQgInJlY3Vyc2l2ZWx5IHNlYXJjaCBpbiBlYWNoIHN1Ym1vZHVsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyNgogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxMworIzogYnVpbHRpbi9ncmVwLmM6ODI4CiBtc2dpZCAiY2FzZSBpbnNlbnNpdGl2ZSBtYXRjaGluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzMAogbXNnaWQgIm1hdGNoIHBhdHRlcm5zIG9ubHkgYXQgd29yZCBib3VuZGFyaWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxNworIzogYnVpbHRpbi9ncmVwLmM6ODMyCiBtc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgYXMgdGV4dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzNAogbXNnaWQgImRvbid0IG1hdGNoIHBhdHRlcm5zIGluIGJpbmFyeSBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MjIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzNwogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MjQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzOQogbXNnaWQgInNlYXJjaCBpbiBzdWJkaXJlY3RvcmllcyAoZGVmYXVsdCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODI2CisjOiBidWlsdGluL2dyZXAuYzo4NDEKIG1zZ2lkICJkZXNjZW5kIGF0IG1vc3QgPGRlcHRoPiBsZXZlbHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODMwCisjOiBidWlsdGluL2dyZXAuYzo4NDUKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0OAogbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MzYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1MQogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgzOQorIzogYnVpbHRpbi9ncmVwLmM6ODU0CiBtc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0MgorIzogYnVpbHRpbi9ncmVwLmM6ODU3CiBtc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQzCisjOiBidWlsdGluL2dyZXAuYzo4NTgKIG1zZ2lkICJzaG93IGNvbHVtbiBudW1iZXIgb2YgZmlyc3QgbWF0Y2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ0CisjOiBidWlsdGluL2dyZXAuYzo4NTkKIG1zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2MAogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0NworIzogYnVpbHRpbi9ncmVwLmM6ODYyCiBtc2dpZCAic2hvdyBmaWxlbmFtZXMgcmVsYXRpdmUgdG8gdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2NAogbXNnaWQgInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2NgogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg1NAorIzogYnVpbHRpbi9ncmVwLmM6ODY5CiBtc2dpZCAic2hvdyBvbmx5IHRoZSBuYW1lcyBvZiBmaWxlcyB3aXRob3V0IG1hdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg1NgorIzogYnVpbHRpbi9ncmVwLmM6ODcxCiBtc2dpZCAicHJpbnQgTlVMIGFmdGVyIGZpbGVuYW1lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NAogbXNnaWQgInNob3cgb25seSBtYXRjaGluZyBwYXJ0cyBvZiBhIGxpbmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODYxCisjOiBidWlsdGluL2dyZXAuYzo4NzYKIG1zZ2lkICJzaG93IHRoZSBudW1iZXIgb2YgbWF0Y2hlcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2MgorIzogYnVpbHRpbi9ncmVwLmM6ODc3CiBtc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODY0CisjOiBidWlsdGluL2dyZXAuYzo4NzkKIG1zZ2lkICJwcmludCBlbXB0eSBsaW5lIGJldHdlZW4gbWF0Y2hlcyBmcm9tIGRpZmZlcmVudCBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg4MQogbXNnaWQgInNob3cgZmlsZW5hbWUgb25seSBvbmNlIGFib3ZlIG1hdGNoZXMgZnJvbSBzYW1lIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODY5CisjOiBidWlsdGluL2dyZXAuYzo4ODQKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBhbmQgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NzIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg4NwogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc0CisjOiBidWlsdGluL2dyZXAuYzo4ODkKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc2CisjOiBidWlsdGluL2dyZXAuYzo4OTEKIG1zZ2lkICJ1c2UgPG4+IHdvcmtlciB0aHJlYWRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg3NworIzogYnVpbHRpbi9ncmVwLmM6ODkyCiBtc2dpZCAic2hvcnRjdXQgZm9yIC1DIE5VTSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5NQogbXNnaWQgInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODgyCisjOiBidWlsdGluL2dyZXAuYzo4OTcKIG1zZ2lkICJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMAogbXNnaWQgInJlYWQgcGF0dGVybnMgZnJvbSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4NworIzogYnVpbHRpbi9ncmVwLmM6OTAyCiBtc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4OQorIzogYnVpbHRpbi9ncmVwLmM6OTA0CiBtc2dpZCAiY29tYmluZSBwYXR0ZXJucyBzcGVjaWZpZWQgd2l0aCAtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxNgogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwMworIzogYnVpbHRpbi9ncmVwLmM6OTE4CiBtc2dpZCAic2hvdyBvbmx5IG1hdGNoZXMgZnJvbSBmaWxlcyB0aGF0IG1hdGNoIGFsbCBwYXR0ZXJucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkyMAogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQorIzogYnVpbHRpbi9ncmVwLmM6OTI0CiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTA5CisjOiBidWlsdGluL2dyZXAuYzo5MjQKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkyOAogbXNnaWQgImFsbG93IGNhbGxpbmcgb2YgZ3JlcCgxKSAoaWdub3JlZCBieSB0aGlzIGJ1aWxkKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzo5NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjk5MgogbXNnaWQgIm5vIHBhdHRlcm4gZ2l2ZW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxMworIzogYnVpbHRpbi9ncmVwLmM6MTAyOAogbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgcmV2aXNpb246ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNjcKIG1zZ2lkICJpbnZhbGlkIG9wdGlvbiBjb21iaW5hdGlvbiwgaWdub3JpbmcgLS10aHJlYWRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzk3CisjOiBidWlsdGluL2dyZXAuYzoxMDcwIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwMAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgLS10aHJlYWRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUwMyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUzMSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDgwCisjOiBidWlsdGluL2dyZXAuYzoxMDk2CiBtc2dpZCAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIG9ubHkgd29ya3Mgb24gdGhlIHdvcmt0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExMDMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMTkKIG1zZ2lkICJvcHRpb24gbm90IHN1cHBvcnRlZCB3aXRoIC0tcmVjdXJzZS1zdWJtb2R1bGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExMDkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMjUKIG1zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTExNQorIzogYnVpbHRpbi9ncmVwLmM6MTEzMQogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExMjMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMzkKIG1zZ2lkICJib3RoIC0tY2FjaGVkIGFuZCB0cmVlcyBhcmUgZ2l2ZW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjg0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODUKIG1zZ2lkICIiCiAiZ2l0IGhhc2gtb2JqZWN0IFstdCA8dHlwZT5dIFstd10gWy0tcGF0aD08ZmlsZT4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCiAiWy0tXSA8ZmlsZT4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjg1CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODYKIG1zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk3Ci1tc2dpZCAidHlwZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTcKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAogbXNnaWQgIm9iamVjdCB0eXBlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CiBtc2dpZCAid3JpdGUgdGhlIG9iamVjdCBpbnRvIHRoZSBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQogbXNnaWQgInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDMKIG1zZ2lkICJzdG9yZSBmaWxlIGFzIGlzIHdpdGhvdXQgZmlsdGVycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAzCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA0CiBtc2dpZCAiIgogImp1c3QgaGFzaCBhbnkgcmFuZG9tIGdhcmJhZ2UgdG8gY3JlYXRlIGNvcnJ1cHQgb2JqZWN0cyBmb3IgZGVidWdnaW5nIEdpdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA1CiBtc2dpZCAicHJvY2VzcyBmaWxlIGFzIGl0IHdlcmUgZnJvbSB0aGlzIHBhdGgiCiBtc2dzdHIgIiIKIApAQCAtMTA5MzQsMzY0ICsxMzQ1OSwzNTQgQEAKIG1zZ2lkICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFs8Y29tbWFuZD5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjczCisjOiBidWlsdGluL2hlbHAuYzo3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVscCBmb3JtYXQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMDAKKyM6IGJ1aWx0aW4vaGVscC5jOjEwNAogbXNnaWQgIkZhaWxlZCB0byBzdGFydCBlbWFjc2NsaWVudC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTEzCisjOiBidWlsdGluL2hlbHAuYzoxMTcKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW1hY3NjbGllbnQgdmVyc2lvbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTIxCisjOiBidWlsdGluL2hlbHAuYzoxMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1hY3NjbGllbnQgdmVyc2lvbiAnJWQnIHRvbyBvbGQgKDwgMjIpLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMzkgYnVpbHRpbi9oZWxwLmM6MTYxIGJ1aWx0aW4vaGVscC5jOjE3MSBidWlsdGluL2hlbHAuYzoxNzkKKyM6IGJ1aWx0aW4vaGVscC5jOjE0MyBidWlsdGluL2hlbHAuYzoxNjUgYnVpbHRpbi9oZWxwLmM6MTc1IGJ1aWx0aW4vaGVscC5jOjE4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIxNworIzogYnVpbHRpbi9oZWxwLmM6MjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBwYXRoIGZvciB1bnN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgogIlBsZWFzZSBjb25zaWRlciB1c2luZyAnbWFuLjx0b29sPi5jbWQnIGluc3RlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIyOQorIzogYnVpbHRpbi9oZWxwLmM6MjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBjbWQgZm9yIHN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgogIlBsZWFzZSBjb25zaWRlciB1c2luZyAnbWFuLjx0b29sPi5wYXRoJyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzozNDYKKyM6IGJ1aWx0aW4vaGVscC5jOjM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmtub3duIG1hbiB2aWV3ZXIuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM2MworIzogYnVpbHRpbi9oZWxwLmM6MzY3CiBtc2dpZCAibm8gbWFuIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM3MQorIzogYnVpbHRpbi9oZWxwLmM6Mzc1CiBtc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MzAgYnVpbHRpbi9oZWxwLmM6NDQxIGdpdC5jOjMyMgorIzogYnVpbHRpbi9oZWxwLmM6NDM0IGJ1aWx0aW4vaGVscC5jOjQ0NSBnaXQuYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbGlhc2VkIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDQ0CisjOiBidWlsdGluL2hlbHAuYzo0NDggZ2l0LmM6MzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBhbGlhcy4lcyBzdHJpbmc6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ3MyBidWlsdGluL2hlbHAuYzo1MDMKKyM6IGJ1aWx0aW4vaGVscC5jOjQ3NyBidWlsdGluL2hlbHAuYzo1MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidXNhZ2U6ICVzJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDg3CisjOiBidWlsdGluL2hlbHAuYzo0OTEKIG1zZ2lkICInZ2l0IGhlbHAgY29uZmlnJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxODQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgdHlwZSBtaXNtYXRjaCBhdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJkaWQgbm90IHJlY2VpdmUgZXhwZWN0ZWQgb2JqZWN0ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlczogZXhwZWN0ZWQgdHlwZSAlcywgZm91bmQgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjQ5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OAogbXNnaWQgImVhcmx5IEVPRiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OQogbXNnaWQgInJlYWQgZXJyb3Igb24gaW5wdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjcyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODEKIG1zZ2lkICJ1c2VkIG1vcmUgYnl0ZXMgdGhhbiB3ZXJlIGF2YWlsYWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1OTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4OCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjYwNAogbXNnaWQgInBhY2sgdG9vIGxhcmdlIGZvciBjdXJyZW50IGRlZmluaXRpb24gb2Ygb2ZmX3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgyIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkxIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5NQogbXNnaWQgInBhY2sgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgc2l6ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2tmaWxlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMjYKIG1zZ2lkICJwYWNrIHNpZ25hdHVyZSBtaXNtYXRjaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIHZlcnNpb24gJTxQUkl1MzI+IHVuc3VwcG9ydGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICU8UFJJdU1BWD46ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ1NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImluZmxhdGUgcmV0dXJuZWQgJWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTA2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MTUKIG1zZ2lkICJvZmZzZXQgdmFsdWUgb3ZlcmZsb3cgZm9yIGRlbHRhIGJhc2Ugb2JqZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUxNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTIzCiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgaXMgb3V0IG9mIGJvdW5kIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gb2JqZWN0IHR5cGUgJWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTUzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NjIKIG1zZ2lkICJjYW5ub3QgcHJlYWQgcGFjayBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU1NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGUgbWlzc2luZyIKIG1zZ2lkX3BsdXJhbCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZXMgbWlzc2luZyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU4MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTkwCiBtc2dpZCAic2VyaW91cyBpbmZsYXRlIGluY29uc2lzdGVuY3kiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzI2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjczMiBidWlsdGluL2luZGV4LXBhY2suYzo3NTUKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc5NCBidWlsdGluL2luZGV4LXBhY2suYzo4MDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjczNSBidWlsdGluL2luZGV4LXBhY2suYzo3NDEgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzY0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MDMgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3MjkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTEKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjExIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzA1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3MzggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjE3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzExCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc5MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCBpbmZvICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJsb2Igb2JqZWN0ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNyBidWlsdGluL2luZGV4LXBhY2suYzo4MzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyNiBidWlsdGluL2luZGV4LXBhY2suYzo4NDUKIG1zZ2lkICJmc2NrIGVycm9yIGluIHBhY2tlZCBvYmplY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODMzCi0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODM4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGFsbCBjaGlsZCBvYmplY3RzIG9mICVzIGFyZSByZWFjaGFibGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTEwIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk0MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTE5IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk1MAogbXNnaWQgImZhaWxlZCB0byBhcHBseSBkZWx0YSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CiBtc2dpZCAiUmVjZWl2aW5nIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTExOAogbXNnaWQgIkluZGV4aW5nIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MgogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQ4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTU3CiBtc2dpZCAiY2Fubm90IGZzdGF0IHBhY2tmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjAKIG1zZ2lkICJwYWNrIGhhcyBqdW5rIGF0IHRoZSBlbmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3MgogbXNnaWQgImNvbmZ1c2lvbiBiZXlvbmQgaW5zYW5pdHkgaW4gcGFyc2VfcGFja19vYmplY3RzKCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE4NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE5NQogbXNnaWQgIlJlc29sdmluZyBkZWx0YXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE5NiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMDUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjM3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjQ2CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0cyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5leHBlY3RlZCB0YWlsIGNoZWNrc3VtIGZvciAlcyAoZGlzayBjb3JydXB0aW9uPykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyODMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgYXBwZW5kZWQgb2JqZWN0ICglZCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzOTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlICVzIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDA3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjbG9zZSB3cml0dGVuICVzIGZpbGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDMxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDU5CiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3MwogbXNnaWQgImNhbm5vdCBzdG9yZSBwYWNrIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ1MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4MQogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0OTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTI1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NjUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGlkeCBmaWxlIGZvciAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2ODkKIG1zZ2lkICJDYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzA4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTEKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MjcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczMQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczOCBidWlsdGluL2luZGV4LXBhY2suYzoxNzQxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzU3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NzcKIG1zZ2lkICItLWZpeC10aGluIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgLS1zdGRpbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQ5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzc5CiBtc2dpZCAiLS1zdGRpbiByZXF1aXJlcyBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3ODUKIG1zZ2lkICItLXZlcmlmeSB3aXRoIG5vIHBhY2tmaWxlIG5hbWUgZ2l2ZW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTgwMyBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTgwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxODMzIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo1ODEKIG1zZ2lkICJmc2NrIGVycm9yIGluIHBhY2sgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCkBAIC0xMTMzNSw2MzUgKzEzODUwLDY0MCBAQAogbXNnaWQgIm5vdCBjb3B5aW5nIHRlbXBsYXRlcyBmcm9tICclcyc6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMyOQorIzogYnVpbHRpbi9pbml0LWRiLmM6MzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBoYW5kbGUgZmlsZSB0eXBlICVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzMgorIzogYnVpbHRpbi9pbml0LWRiLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBtb3ZlICVzIHRvICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0OSBidWlsdGluL2luaXQtZGIuYzozNTIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM1NCBidWlsdGluL2luaXQtZGIuYzozNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA1CisjOiBidWlsdGluL2luaXQtZGIuYzo0MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNgorIzogYnVpbHRpbi9pbml0LWRiLmM6NDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmcgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxMAorIzogYnVpbHRpbi9pbml0LWRiLmM6NDE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IHNoYXJlZCBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDExCisjOiBidWlsdGluL2luaXQtZGIuYzo0MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ2MAorIzogYnVpbHRpbi9pbml0LWRiLmM6NDY4CiBtc2dpZCAiIgogImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTx0ZW1wbGF0ZS1kaXJlY3Rvcnk+XSBbLS0iCiAic2hhcmVkWz08cGVybWlzc2lvbnM+XV0gWzxkaXJlY3Rvcnk+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0ODMKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5MQogbXNnaWQgInBlcm1pc3Npb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NAorIzogYnVpbHRpbi9pbml0LWRiLmM6NDkyCiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxOCBidWlsdGluL2luaXQtZGIuYzo1MjMKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUyOSBidWlsdGluL2luaXQtZGIuYzo1MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG1rZGlyICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUyNworIzogYnVpbHRpbi9pbml0LWRiLmM6NTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGRpciB0byAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NDgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXMgKG9yIC0td29yay10cmVlPTxkaXJlY3Rvcnk+KSBub3QgYWxsb3dlZCB3aXRob3V0IHNwZWNpZnlpbmcgJXMgKG9yIC0tZ2l0LSIKICJkaXI9PGRpcmVjdG9yeT4pIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU3NgorIzogYnVpbHRpbi9pbml0LWRiLmM6NTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBhY2Nlc3Mgd29yayB0cmVlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxNQorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxNgogbXNnaWQgIiIKICJnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIFstLWluLXBsYWNlXSBbLS10cmltLWVtcHR5XSBbKC0tdHJhaWxlciAiCiAiPHRva2VuPlsoPXw6KTx2YWx1ZT5dKS4uLl0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NQogbXNnaWQgImVkaXQgZmlsZXMgaW4gcGxhY2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NQorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NgogbXNnaWQgInRyaW0gZW1wdHkgdHJhaWxlcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5OAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5OQogbXNnaWQgIndoZXJlIHRvIHBsYWNlIHRoZSBuZXcgdHJhaWxlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDEKIG1zZ2lkICJhY3Rpb24gaWYgdHJhaWxlciBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMgorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDMKIG1zZ2lkICJhY3Rpb24gaWYgdHJhaWxlciBpcyBtaXNzaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA0CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNQogbXNnaWQgIm91dHB1dCBvbmx5IHRoZSB0cmFpbGVycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNQorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDYKIG1zZ2lkICJkbyBub3QgYXBwbHkgY29uZmlnIHJ1bGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA2CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNwogbXNnaWQgImpvaW4gd2hpdGVzcGFjZS1jb250aW51ZWQgdmFsdWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA3CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwOAogbXNnaWQgInNldCBwYXJzaW5nIG9wdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDkKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTEwCiBtc2dpZCAiZG8gbm90IHRyZWF0IC0tLSBzcGVjaWFsbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMTAKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTExCiBtc2dpZCAidHJhaWxlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMQorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMTIKIG1zZ2lkICJ0cmFpbGVyKHMpIHRvIGFkZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEyMAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMjMKIG1zZ2lkICItLXRyYWlsZXIgd2l0aCAtLW9ubHktaW5wdXQgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEzMAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMzMKIG1zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTQKKyM6IGJ1aWx0aW4vbG9nLmM6NTYKIG1zZ2lkICJnaXQgbG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTUKKyM6IGJ1aWx0aW4vbG9nLmM6NTcKIG1zZ2lkICJnaXQgc2hvdyBbPG9wdGlvbnM+XSA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjk5CisjOiBidWlsdGluL2xvZy5jOjExMAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIC0tZGVjb3JhdGUgb3B0aW9uOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MgotbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6MTYzCisjOiBidWlsdGluL2xvZy5jOjE3NAogbXNnaWQgInNob3cgc291cmNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY0CisjOiBidWlsdGluL2xvZy5jOjE3NQogbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY2CisjOiBidWlsdGluL2xvZy5jOjE3NwogbXNnaWQgIm9ubHkgZGVjb3JhdGUgcmVmcyB0aGF0IG1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE2OAorIzogYnVpbHRpbi9sb2cuYzoxNzkKIG1zZ2lkICJkbyBub3QgZGVjb3JhdGUgcmVmcyB0aGF0IG1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE2OQorIzogYnVpbHRpbi9sb2cuYzoxODAKIG1zZ2lkICJkZWNvcmF0ZSBvcHRpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTcyCisjOiBidWlsdGluL2xvZy5jOjE4MwogbXNnaWQgIlByb2Nlc3MgbGluZSByYW5nZSBuLG0gaW4gZmlsZSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjcwCisjOiBidWlsdGluL2xvZy5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo1MjIKKyM6IGJ1aWx0aW4vbG9nLmM6NTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBzaG93ICVzOiBiYWQgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjUzNyBidWlsdGluL2xvZy5jOjYzMQorIzogYnVpbHRpbi9sb2cuYzo1NTAgYnVpbHRpbi9sb2cuYzo2NDUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgorbXNnaWQgImNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjY1NQorIzogYnVpbHRpbi9sb2cuYzo2NzAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biB0eXBlOiAlZCIKK21zZ2lkICJ1bmtub3duIHR5cGU6ICVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6Nzc2CisjOiBidWlsdGluL2xvZy5jOjgxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjb3ZlciBmcm9tIGRlc2NyaXB0aW9uIG1vZGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzo4MjEKIG1zZ2lkICJmb3JtYXQuaGVhZGVycyB3aXRob3V0IHZhbHVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODc3CisjOiBidWlsdGluL2xvZy5jOjkzNgogbXNnaWQgIm5hbWUgb2Ygb3V0cHV0IGRpcmVjdG9yeSBpcyB0b28gbG9uZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjg5MworIzogYnVpbHRpbi9sb2cuYzo5NTIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTEwCi1tc2dpZCAiTmVlZCBleGFjdGx5IG9uZSByYW5nZS4iCisjOiBidWlsdGluL2xvZy5jOjk2OQorbXNnaWQgIm5lZWQgZXhhY3RseSBvbmUgcmFuZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo5MjAKLW1zZ2lkICJOb3QgYSByYW5nZS4iCisjOiBidWlsdGluL2xvZy5jOjk3OQorbXNnaWQgIm5vdCBhIHJhbmdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA0MwotbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCisjOiBidWlsdGluL2xvZy5jOjExNDMKK21zZ2lkICJjb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTExOQorIzogYnVpbHRpbi9sb2cuYzoxMTQ5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBjb3Zlci1sZXR0ZXIgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjEyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5zYW5lIGluLXJlcGx5LXRvOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjExNDYKKyM6IGJ1aWx0aW4vbG9nLmM6MTI1NQogbXNnaWQgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcHRpb25zPl0gWzxzaW5jZT4gfCA8cmV2aXNpb24tcmFuZ2U+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMDQKLW1zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKKyM6IGJ1aWx0aW4vbG9nLmM6MTMxMworbXNnaWQgInR3byBvdXRwdXQgZGlyZWN0b3JpZXM/IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMxMSBidWlsdGluL2xvZy5jOjIwNTQgYnVpbHRpbi9sb2cuYzoyMDU2IGJ1aWx0aW4vbG9nLmM6MjA2OAorIzogYnVpbHRpbi9sb2cuYzoxNDI0IGJ1aWx0aW4vbG9nLmM6MjE5NyBidWlsdGluL2xvZy5jOjIxOTkgYnVpbHRpbi9sb2cuYzoyMjExCiAjLCBjLWZvcm1hdAotbXNnaWQgIlVua25vd24gY29tbWl0ICVzIgorbXNnaWQgInVua25vd24gY29tbWl0ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMyMSBidWlsdGluL25vdGVzLmM6ODk0IGJ1aWx0aW4vdGFnLmM6NTI2CisjOiBidWlsdGluL2xvZy5jOjE0MzQgYnVpbHRpbi9yZXBsYWNlLmM6NTggYnVpbHRpbi9yZXBsYWNlLmM6MjA3CisjOiBidWlsdGluL3JlcGxhY2UuYzoyMTAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMjYKLW1zZ2lkICJDb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlLiIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzOQorbXNnaWQgImNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzMwCisjOiBidWlsdGluL2xvZy5jOjE0NDMKIG1zZ2lkICIiCi0iRmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCisiZmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCiAicGxlYXNlIHVzZSBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIHRvIHRyYWNrIGEgcmVtb3RlIGJyYW5jaC5cbiIKLSJPciB5b3UgY291bGQgc3BlY2lmeSBiYXNlIGNvbW1pdCBieSAtLWJhc2U9PGJhc2UtY29tbWl0LWlkPiBtYW51YWxseS4iCisiT3IgeW91IGNvdWxkIHNwZWNpZnkgYmFzZSBjb21taXQgYnkgLS1iYXNlPTxiYXNlLWNvbW1pdC1pZD4gbWFudWFsbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzUwCi1tc2dpZCAiRmFpbGVkIHRvIGZpbmQgZXhhY3QgbWVyZ2UgYmFzZSIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2MworbXNnaWQgImZhaWxlZCB0byBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzYxCisjOiBidWlsdGluL2xvZy5jOjE0NzQKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGQgYmUgdGhlIGFuY2VzdG9yIG9mIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzY1CisjOiBidWlsdGluL2xvZy5jOjE0NzgKIG1zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGRuJ3QgYmUgaW4gcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTUzMQogbXNnaWQgImNhbm5vdCBnZXQgcGF0Y2ggaWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDcwCisjOiBidWlsdGluL2xvZy5jOjE1ODMKIG1zZ2lkICJmYWlsZWQgdG8gaW5mZXIgcmFuZ2UtZGlmZiByYW5nZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTE1CisjOiBidWlsdGluL2xvZy5jOjE2MjkKIG1zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUxOAorIzogYnVpbHRpbi9sb2cuYzoxNjMyCiBtc2dpZCAidXNlIFtQQVRDSF0gZXZlbiB3aXRoIG11bHRpcGxlIHBhdGNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTIyCisjOiBidWlsdGluL2xvZy5jOjE2MzYKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTYzOAogbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUyNgorIzogYnVpbHRpbi9sb2cuYzoxNjQwCiBtc2dpZCAidXNlIHNpbXBsZSBudW1iZXIgc2VxdWVuY2UgZm9yIG91dHB1dCBmaWxlIG5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUyNworIzogYnVpbHRpbi9sb2cuYzoxNjQxCiBtc2dpZCAic2Z4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUyOAorIzogYnVpbHRpbi9sb2cuYzoxNjQyCiBtc2dpZCAidXNlIDxzZng+IGluc3RlYWQgb2YgJy5wYXRjaCciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMwCisjOiBidWlsdGluL2xvZy5jOjE2NDQKIG1zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzMgorIzogYnVpbHRpbi9sb2cuYzoxNjQ2CiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzNAorIzogYnVpbHRpbi9sb2cuYzoxNjQ4CiBtc2dpZCAiVXNlIFtSRkMgUEFUQ0hdIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTY1MQorbXNnaWQgImNvdmVyLWZyb20tZGVzY3JpcHRpb24tbW9kZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE2NTIKK21zZ2lkICJnZW5lcmF0ZSBwYXJ0cyBvZiBhIGNvdmVyIGxldHRlciBiYXNlZCBvbiBhIGJyYW5jaCdzIGRlc2NyaXB0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY1NAogbXNnaWQgIlVzZSBbPHByZWZpeD5dIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTY1NwogbXNnaWQgInN0b3JlIHJlc3VsdGluZyBmaWxlcyBpbiA8ZGlyPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTY2MAogbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0NgorIzogYnVpbHRpbi9sb2cuYzoxNjYzCiBtc2dpZCAiZG9uJ3Qgb3V0cHV0IGJpbmFyeSBkaWZmcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDgKKyM6IGJ1aWx0aW4vbG9nLmM6MTY2NQogbXNnaWQgIm91dHB1dCBhbGwtemVybyBoYXNoIGluIEZyb20gaGVhZGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1MAorIzogYnVpbHRpbi9sb2cuYzoxNjY3CiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1MgorIzogYnVpbHRpbi9sb2cuYzoxNjY5CiBtc2dpZCAic2hvdyBwYXRjaCBmb3JtYXQgaW5zdGVhZCBvZiBkZWZhdWx0IChwYXRjaCArIHN0YXQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NAorIzogYnVpbHRpbi9sb2cuYzoxNjcxCiBtc2dpZCAiTWVzc2FnaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NQorIzogYnVpbHRpbi9sb2cuYzoxNjcyCiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NgorIzogYnVpbHRpbi9sb2cuYzoxNjczCiBtc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTcgYnVpbHRpbi9sb2cuYzoxNTU5CisjOiBidWlsdGluL2xvZy5jOjE2NzQgYnVpbHRpbi9sb2cuYzoxNjc2CiBtc2dpZCAiZW1haWwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTU3CisjOiBidWlsdGluL2xvZy5jOjE2NzQKIG1zZ2lkICJhZGQgVG86IGhlYWRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3NgogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2MQorIzogYnVpbHRpbi9sb2cuYzoxNjc4CiBtc2dpZCAiaWRlbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTYyCisjOiBidWlsdGluL2xvZy5jOjE2NzkKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NAorIzogYnVpbHRpbi9sb2cuYzoxNjgxCiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NjUKKyM6IGJ1aWx0aW4vbG9nLmM6MTY4MgogbXNnaWQgIm1ha2UgZmlyc3QgbWFpbCBhIHJlcGx5IHRvIDxtZXNzYWdlLWlkPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NjYgYnVpbHRpbi9sb2cuYzoxNTY5CisjOiBidWlsdGluL2xvZy5jOjE2ODMgYnVpbHRpbi9sb2cuYzoxNjg2CiBtc2dpZCAiYm91bmRhcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY3CisjOiBidWlsdGluL2xvZy5jOjE2ODQKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3MAorIzogYnVpbHRpbi9sb2cuYzoxNjg3CiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzQKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5MQogbXNnaWQgImVuYWJsZSBtZXNzYWdlIHRocmVhZGluZywgc3R5bGVzOiBzaGFsbG93LCBkZWVwIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3NgorIzogYnVpbHRpbi9sb2cuYzoxNjkzCiBtc2dpZCAic2lnbmF0dXJlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3NworIzogYnVpbHRpbi9sb2cuYzoxNjk0CiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3OAorIzogYnVpbHRpbi9sb2cuYzoxNjk1CiBtc2dpZCAiYmFzZS1jb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc5CisjOiBidWlsdGluL2xvZy5jOjE2OTYKIG1zZ2lkICJhZGQgcHJlcmVxdWlzaXRlIHRyZWUgaW5mbyB0byB0aGUgcGF0Y2ggc2VyaWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU4MQorIzogYnVpbHRpbi9sb2cuYzoxNjk4CiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIGZyb20gYSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU4MgorIzogYnVpbHRpbi9sb2cuYzoxNjk5CiBtc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1ODQKKyM6IGJ1aWx0aW4vbG9nLmM6MTcwMQogbXNnaWQgInNob3cgcHJvZ3Jlc3Mgd2hpbGUgZ2VuZXJhdGluZyBwYXRjaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU4NQotbXNnaWQgInJldiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjE1ODYKKyM6IGJ1aWx0aW4vbG9nLmM6MTcwMwogbXNnaWQgInNob3cgY2hhbmdlcyBhZ2FpbnN0IDxyZXY+IGluIGNvdmVyIGxldHRlciBvciBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTg5CisjOiBidWlsdGluL2xvZy5jOjE3MDYKIG1zZ2lkICJzaG93IGNoYW5nZXMgYWdhaW5zdCA8cmVmc3BlYz4gaW4gY292ZXIgbGV0dGVyIG9yIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE1OTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTcwOAogbXNnaWQgInBlcmNlbnRhZ2UgYnkgd2hpY2ggY3JlYXRpb24gaXMgd2VpZ2h0ZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjY2CisjOiBidWlsdGluL2xvZy5jOjE3OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE2ODEKKyM6IGJ1aWx0aW4vbG9nLmM6MTgwNwogbXNnaWQgIi1uIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY4MworIzogYnVpbHRpbi9sb2cuYzoxODA5CiBtc2dpZCAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE2OTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTgxNwogbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjkzCisjOiBidWlsdGluL2xvZy5jOjE4MTkKIG1zZ2lkICItLW5hbWUtc3RhdHVzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjk1CisjOiBidWlsdGluL2xvZy5jOjE4MjEKIG1zZ2lkICItLWNoZWNrIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzI3CisjOiBidWlsdGluL2xvZy5jOjE4NTQKIG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE3MjkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2xvZy5jOjE4MTYKKyM6IGJ1aWx0aW4vbG9nLmM6MTk1OAogbXNnaWQgIi0taW50ZXJkaWZmIHJlcXVpcmVzIC0tY292ZXItbGV0dGVyIG9yIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE4MjAKKyM6IGJ1aWx0aW4vbG9nLmM6MTk2MgogbXNnaWQgIkludGVyZGlmZjoiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODIxCisjOiBidWlsdGluL2xvZy5jOjE5NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW50ZXJkaWZmIGFnYWluc3QgdiVkOiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE4MjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTk2OQogbXNnaWQgIi0tY3JlYXRpb24tZmFjdG9yIHJlcXVpcmVzIC0tcmFuZ2UtZGlmZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE4MzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTk3MwogbXNnaWQgIi0tcmFuZ2UtZGlmZiByZXF1aXJlcyAtLWNvdmVyLWxldHRlciBvciBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODM5CisjOiBidWlsdGluL2xvZy5jOjE5ODEKIG1zZ2lkICJSYW5nZS1kaWZmOiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE4NDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJSYW5nZS1kaWZmIGFnYWluc3QgdiVkOiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE4NTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTk5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzaWduYXR1cmUgZmlsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTg4NworIzogYnVpbHRpbi9sb2cuYzoyMDI5CiBtc2dpZCAiR2VuZXJhdGluZyBwYXRjaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTkzMQotbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgorIzogYnVpbHRpbi9sb2cuYzoyMDczCittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxOTg5CisjOiBidWlsdGluL2xvZy5jOjIxMzIKIG1zZ2lkICJnaXQgY2hlcnJ5IFstdl0gWzx1cHN0cmVhbT4gWzxoZWFkPiBbPGxpbWl0Pl1dXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjIwNDMKKyM6IGJ1aWx0aW4vbG9nLmM6MjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MAogbXNnaWQgImdpdCBscy1maWxlcyBbPG9wdGlvbnM+XSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI2CiBtc2dpZCAiaWRlbnRpZnkgdGhlIGZpbGUgc3RhdHVzIHdpdGggdGFncyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI4CiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMAogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2ZzbW9uaXRvciBjbGVhbicgZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMgogbXNnaWQgInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzQKIG1zZ2lkICJzaG93IGRlbGV0ZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2CiBtc2dpZCAic2hvdyBtb2RpZmllZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzgKIG1zZ2lkICJzaG93IG90aGVyIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MAogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDMKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ1CiBtc2dpZCAic2hvdyBmaWxlcyBvbiB0aGUgZmlsZXN5c3RlbSB0aGF0IG5lZWQgdG8gYmUgcmVtb3ZlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ3CiBtc2dpZCAic2hvdyAnb3RoZXInIGRpcmVjdG9yaWVzJyBuYW1lcyBvbmx5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDkKIG1zZ2lkICJzaG93IGxpbmUgZW5kaW5ncyBvZiBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTUwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUxCiBtc2dpZCAiZG9uJ3Qgc2hvdyBlbXB0eSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTUzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU0CiBtc2dpZCAic2hvdyB1bm1lcmdlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTYKIG1zZ2lkICJzaG93IHJlc29sdmUtdW5kbyBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU4CiBtc2dpZCAic2tpcCBmaWxlcyBtYXRjaGluZyBwYXR0ZXJuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjEKIG1zZ2lkICJleGNsdWRlIHBhdHRlcm5zIGFyZSByZWFkIGZyb20gPGZpbGU+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjQKIG1zZ2lkICJyZWFkIGFkZGl0aW9uYWwgcGVyLWRpcmVjdG9yeSBleGNsdWRlIHBhdHRlcm5zIGluIDxmaWxlPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTY1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY2CiBtc2dpZCAiYWRkIHRoZSBzdGFuZGFyZCBnaXQgZXhjbHVzaW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTY5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTcwCiBtc2dpZCAibWFrZSB0aGUgb3V0cHV0IHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU3MgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU3MwogbXNnaWQgInJlY3Vyc2UgdGhyb3VnaCBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzQKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzUKIG1zZ2lkICJpZiBhbnkgPGZpbGU+IGlzIG5vdCBpbiB0aGUgaW5kZXgsIHRyZWF0IHRoaXMgYXMgYW4gZXJyb3IiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU3NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU3NgogbXNnaWQgInRyZWUtaXNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzcKIG1zZ2lkICJwcmV0ZW5kIHRoYXQgcGF0aHMgcmVtb3ZlZCBzaW5jZSA8dHJlZS1pc2g+IGFyZSBzdGlsbCBwcmVzZW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzkKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgogbXNnc3RyICIiCiAKQEAgLTExOTc4LDcgKzE0NDk4LDcgQEAKIG1zZ2lkICJkbyBub3QgcHJpbnQgcmVtb3RlIFVSTCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjYwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIgYnVpbHRpbi9yZWJhc2UuYzo5MDMKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjAgYnVpbHRpbi9scy1yZW1vdGUuYzo2MiBidWlsdGluL3JlYmFzZS5jOjE1MTgKIG1zZ2lkICJleGVjIgogbXNnc3RyICIiCiAKQEAgLTEyMDAyLDExICsxNDUyMiwxMSBAQAogbXNnaWQgInRha2UgdXJsLjxiYXNlPi5pbnN0ZWFkT2YgaW50byBhY2NvdW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzMKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzIKIG1zZ2lkICJleGl0IHdpdGggZXhpdCBjb2RlIDIgaWYgbm8gbWF0Y2hpbmcgcmVmcyBhcmUgZm91bmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo3NgorIzogYnVpbHRpbi9scy1yZW1vdGUuYzo3NQogbXNnaWQgInNob3cgdW5kZXJseWluZyByZWYgaW4gYWRkaXRpb24gdG8gdGhlIG9iamVjdCBwb2ludGVkIGJ5IGl0IgogbXNnc3RyICIiCiAKQEAgLTEyMDUxLDM0OCArMTQ1NzEsMzczIEBACiBtc2dpZCAiZW1wdHkgbWJveDogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6NTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1NQogbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1MworIzogYnVpbHRpbi9tZXJnZS5jOjU2CiBtc2dpZCAiZ2l0IG1lcmdlIC0tYWJvcnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjU0CisjOiBidWlsdGluL21lcmdlLmM6NTcKIG1zZ2lkICJnaXQgbWVyZ2UgLS1jb250aW51ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTExCisjOiBidWlsdGluL21lcmdlLmM6MTE4CiBtc2dpZCAic3dpdGNoIGBtJyByZXF1aXJlcyBhIHZhbHVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNzcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgcmVxdWlyZXMgYSB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIG1lcmdlIHN0cmF0ZWd5ICclcycuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE3OAorIzogYnVpbHRpbi9tZXJnZS5jOjE4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdmFpbGFibGUgc3RyYXRlZ2llcyBhcmU6IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzNCBidWlsdGluL3B1bGwuYzoxNDMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDQgYnVpbHRpbi9wdWxsLmM6MTUyCiBtc2dpZCAiZG8gbm90IHNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjM3IGJ1aWx0aW4vcHVsbC5jOjE0NgorIzogYnVpbHRpbi9tZXJnZS5jOjI0NyBidWlsdGluL3B1bGwuYzoxNTUKIG1zZ2lkICJzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzOCBidWlsdGluL3B1bGwuYzoxNDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDggYnVpbHRpbi9wdWxsLmM6MTU4CiBtc2dpZCAiKHN5bm9ueW0gdG8gLS1zdGF0KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQwIGJ1aWx0aW4vcHVsbC5jOjE1MgorIzogYnVpbHRpbi9tZXJnZS5jOjI1MCBidWlsdGluL3B1bGwuYzoxNjEKIG1zZ2lkICJhZGQgKGF0IG1vc3QgPG4+KSBlbnRyaWVzIGZyb20gc2hvcnRsb2cgdG8gbWVyZ2UgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI0MyBidWlsdGluL3B1bGwuYzoxNTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTMgYnVpbHRpbi9wdWxsLmM6MTY3CiBtc2dpZCAiY3JlYXRlIGEgc2luZ2xlIGNvbW1pdCBpbnN0ZWFkIG9mIGRvaW5nIGEgbWVyZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI0NSBidWlsdGluL3B1bGwuYzoxNjEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTUgYnVpbHRpbi9wdWxsLmM6MTcwCiBtc2dpZCAicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDcgYnVpbHRpbi9wdWxsLmM6MTY0CisjOiBidWlsdGluL21lcmdlLmM6MjU3IGJ1aWx0aW4vcHVsbC5jOjE3MwogbXNnaWQgImVkaXQgbWVzc2FnZSBiZWZvcmUgY29tbWl0dGluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQ4CisjOiBidWlsdGluL21lcmdlLmM6MjU5CiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjUwIGJ1aWx0aW4vcHVsbC5jOjE3MAorIzogYnVpbHRpbi9tZXJnZS5jOjI2MSBidWlsdGluL3B1bGwuYzoxODAKIG1zZ2lkICJhYm9ydCBpZiBmYXN0LWZvcndhcmQgaXMgbm90IHBvc3NpYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTQgYnVpbHRpbi9wdWxsLmM6MTczCisjOiBidWlsdGluL21lcmdlLmM6MjY1IGJ1aWx0aW4vcHVsbC5jOjE4MwogbXNnaWQgInZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU1IGJ1aWx0aW4vbm90ZXMuYzo3ODQgYnVpbHRpbi9wdWxsLmM6MTc3Ci0jOiBidWlsdGluL3JlYmFzZS5jOjkxNiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODYgYnVpbHRpbi9yZXZlcnQuYzoxMTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjYgYnVpbHRpbi9ub3Rlcy5jOjc4NyBidWlsdGluL3B1bGwuYzoxODcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTEyIGJ1aWx0aW4vcmViYXNlLmM6MTUzMSBidWlsdGluL3JldmVydC5jOjExNAogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTYgYnVpbHRpbi9wdWxsLmM6MTc4CisjOiBidWlsdGluL21lcmdlLmM6MjY3IGJ1aWx0aW4vcHVsbC5jOjE4OAogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU3IGJ1aWx0aW4vcHVsbC5jOjE4MQorIzogYnVpbHRpbi9tZXJnZS5jOjI2OCBidWlsdGluL3B1bGwuYzoxOTEKIG1zZ2lkICJvcHRpb249dmFsdWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1OCBidWlsdGluL3B1bGwuYzoxODIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjkgYnVpbHRpbi9wdWxsLmM6MTkyCiBtc2dpZCAib3B0aW9uIGZvciBzZWxlY3RlZCBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjYwCisjOiBidWlsdGluL21lcmdlLmM6MjcxCiBtc2dpZCAibWVyZ2UgY29tbWl0IG1lc3NhZ2UgKGZvciBhIG5vbi1mYXN0LWZvcndhcmQgbWVyZ2UpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzgKIG1zZ2lkICJhYm9ydCB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjY5CisjOiBidWlsdGluL21lcmdlLmM6MjgwCittc2dpZCAiLS1hYm9ydCBidXQgbGVhdmUgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSBhbG9uZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MjgyCiBtc2dpZCAiY29udGludWUgdGhlIGN1cnJlbnQgaW4tcHJvZ3Jlc3MgbWVyZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI3MSBidWlsdGluL3B1bGwuYzoxODkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODQgYnVpbHRpbi9wdWxsLmM6MTk5CiBtc2dpZCAiYWxsb3cgbWVyZ2luZyB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzcKLW1zZ2lkICJ2ZXJpZnkgY29tbWl0LW1zZyBob29rIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzozMDIKLW1zZ2lkICJjb3VsZCBub3QgcnVuIHN0YXNoLiIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyOTAKK21zZ2lkICJieXBhc3MgcHJlLW1lcmdlLWNvbW1pdCBhbmQgY29tbWl0LW1zZyBob29rcyIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL21lcmdlLmM6MzA3Ci1tc2dpZCAic3Rhc2ggZmFpbGVkIgorbXNnaWQgImNvdWxkIG5vdCBydW4gc3Rhc2guIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW4vbWVyZ2UuYzozMTIKK21zZ2lkICJzdGFzaCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSB2YWxpZCBvYmplY3Q6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozMzQgYnVpbHRpbi9tZXJnZS5jOjM1MQorIzogYnVpbHRpbi9tZXJnZS5jOjMzOSBidWlsdGluL21lcmdlLmM6MzU2CiBtc2dpZCAicmVhZC10cmVlIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzgxCisjOiBidWlsdGluL21lcmdlLmM6Mzg2CiBtc2dpZCAiIChub3RoaW5nIHRvIHNxdWFzaCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM5MgorIzogYnVpbHRpbi9tZXJnZS5jOjM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJTcXVhc2ggY29tbWl0IC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ0MgorIzogYnVpbHRpbi9tZXJnZS5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBtZXNzYWdlIC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ5MworIzogYnVpbHRpbi9tZXJnZS5jOjQ5OAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1ODAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzAxCisjOiBidWlsdGluL21lcmdlLmM6NzA1CiBtc2dpZCAiTm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzE1CisjOiBidWlsdGluL21lcmdlLmM6NzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gb3B0aW9uIGZvciBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjczMAorIzogYnVpbHRpbi9tZXJnZS5jOjczNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc4MgorIzogYnVpbHRpbi9tZXJnZS5jOjc4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCBmcm9tICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc5MQorIzogYnVpbHRpbi9tZXJnZS5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgY29tbWl0dGluZyBtZXJnZTsgdXNlICdnaXQgY29tbWl0JyB0byBjb21wbGV0ZSB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc5NwotIywgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDEKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIGEgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB3aHkgdGhpcyBtZXJnZSBpcyBuZWNlc3NhcnksXG4iCiAiZXNwZWNpYWxseSBpZiBpdCBtZXJnZXMgYW4gdXBkYXRlZCB1cHN0cmVhbSBpbnRvIGEgdG9waWMgYnJhbmNoLlxuIgogIlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDYKK21zZ2lkICJBbiBlbXB0eSBtZXNzYWdlIGFib3J0cyB0aGUgY29tbWl0LlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgogIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQsIGFuZCBhbiBlbXB0eSBtZXNzYWdlIGFib3J0c1xuIgogInRoZSBjb21taXQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjgzMworIzogYnVpbHRpbi9tZXJnZS5jOjg2MgogbXNnaWQgIkVtcHR5IGNvbW1pdCBtZXNzYWdlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODUyCisjOiBidWlsdGluL21lcmdlLmM6ODc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIldvbmRlcmZ1bC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTA1CisjOiBidWlsdGluL21lcmdlLmM6OTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSBmYWlsZWQ7IGZpeCBjb25mbGljdHMgYW5kIHRoZW4gY29tbWl0IHRoZSByZXN1bHQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0NAorIzogYnVpbHRpbi9tZXJnZS5jOjk3NwogbXNnaWQgIk5vIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTQ2CisjOiBidWlsdGluL21lcmdlLmM6OTc5CiBtc2dpZCAiTm8gcmVtb3RlIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5ODEKIG1zZ2lkICJObyBkZWZhdWx0IHVwc3RyZWFtIGRlZmluZWQgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk1MworIzogYnVpbHRpbi9tZXJnZS5jOjk4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIGZvciAlcyBmcm9tICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDEwCisjOiBidWlsdGluL21lcmdlLmM6MTA0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgdmFsdWUgJyVzJyBpbiBlbnZpcm9ubWVudCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTEzCisjOiBidWlsdGluL21lcmdlLmM6MTE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTgwCiBtc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjgzCiBtc2dpZCAiLS1hYm9ydCBleHBlY3RzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI1NAorIzogYnVpbHRpbi9tZXJnZS5jOjEyODcKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSB0byBhYm9ydCAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNjYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk2Cittc2dpZCAiLS1xdWl0IGV4cGVjdHMgbm8gYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzA5CiBtc2dpZCAiLS1jb250aW51ZSBleHBlY3RzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI3MAorIzogYnVpbHRpbi9tZXJnZS5jOjEzMTMKIG1zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSBpbiBwcm9ncmVzcyAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyODYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzI5CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI5MworIzogYnVpbHRpbi9tZXJnZS5jOjEzMzYKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk2CisjOiBidWlsdGluL21lcmdlLmM6MTMzOQogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMwNQorIzogYnVpbHRpbi9tZXJnZS5jOjEzNTMKIG1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLW5vLWZmLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMxMworIzogYnVpbHRpbi9tZXJnZS5jOjEzNTUKK21zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLWNvbW1pdC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEzNzEKIG1zZ2lkICJObyBjb21taXQgc3BlY2lmaWVkIGFuZCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBub3Qgc2V0LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMzMAorIzogYnVpbHRpbi9tZXJnZS5jOjEzODgKIG1zZ2lkICJTcXVhc2ggY29tbWl0IGludG8gZW1wdHkgaGVhZCBub3Qgc3VwcG9ydGVkIHlldCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMzMgorIzogYnVpbHRpbi9tZXJnZS5jOjEzOTAKIG1zZ2lkICJOb24tZmFzdC1mb3J3YXJkIGNvbW1pdCBkb2VzIG5vdCBtYWtlIHNlbnNlIGludG8gYW4gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMzNworIzogYnVpbHRpbi9tZXJnZS5jOjEzOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgLSBub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMzOQorIzogYnVpbHRpbi9tZXJnZS5jOjEzOTcKIG1zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDIxCisjOiBidWlsdGluL21lcmdlLmM6MTQ3NgogbXNnaWQgInJlZnVzaW5nIHRvIG1lcmdlIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDg1CiBtc2dpZCAiQWxyZWFkeSB1cCB0byBkYXRlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ0MAorIzogYnVpbHRpbi9tZXJnZS5jOjE0OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRpbmcgJXMuLiVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0ODIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDg5CisjOiBidWlsdGluL21lcmdlLmM6MTU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3BlLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTE0CisjOiBidWlsdGluL21lcmdlLmM6MTU2OQogbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZS4gWWVlYWghIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTIwCisjOiBidWlsdGluL21lcmdlLmM6MTU3NQogbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU0MyBidWlsdGluL21lcmdlLmM6MTYyMgorIzogYnVpbHRpbi9tZXJnZS5jOjE1OTggYnVpbHRpbi9tZXJnZS5jOjE2NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjEzCisjOiBidWlsdGluL21lcmdlLmM6MTY1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBzdHJhdGVneSBoYW5kbGVkIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYxNQorIzogYnVpbHRpbi9tZXJnZS5jOjE2NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2Ugd2l0aCBzdHJhdGVneSAlcyBmYWlsZWQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzaW5nIHRoZSAlcyB0byBwcmVwYXJlIHJlc29sdmluZyBieSBoYW5kLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjM2CisjOiBidWlsdGluL21lcmdlLmM6MTY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgogbXNnc3RyICIiCkBAIC0xMjQ3NSwzMyArMTUwMjAsMzMgQEAKIG1zZ2lkICJzZXQgbGFiZWxzIGZvciBmaWxlMS9vcmlnLWZpbGUvZmlsZTIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo0NQorIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9wdGlvbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjUxCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjU1CisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2UuIElnbm9yaW5nICVzLiIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgYmFzZXMuIElnbm9yaW5nICVzLiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjMKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjUKIG1zZ2lkICJub3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjkgYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3MQorIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3NCBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIHJlZiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzcKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2luZyAlcyB3aXRoICVzXG4iCiBtc2dzdHIgIiIKQEAgLTEyNTE0LDcgKzE1MDU5LDcgQEAKIG1zZ2lkICJpbnB1dCBpcyBOVUwgdGVybWluYXRlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL21rdHJlZS5jOjE1NSBidWlsdGluL3dyaXRlLXRyZWUuYzoyNQorIzogYnVpbHRpbi9ta3RyZWUuYzoxNTUgYnVpbHRpbi93cml0ZS10cmVlLmM6MjYKIG1zZ2lkICJhbGxvdyBtaXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgIiIKIApAQCAtMTI1MjIsMTU2ICsxNTA2NywxNjggQEAKIG1zZ2lkICJhbGxvdyBjcmVhdGlvbiBvZiBtb3JlIHRoYW4gb25lIHRyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6OAotbXNnaWQgImdpdCBtdWx0aS1wYWNrLWluZGV4IFstLW9iamVjdC1kaXI9PGRpcj5dICh3cml0ZXx2ZXJpZnkpIgorIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6OQorbXNnaWQgIiIKKyJnaXQgbXVsdGktcGFjay1pbmRleCBbPG9wdGlvbnM+XSAod3JpdGV8dmVyaWZ5fGV4cGlyZXxyZXBhY2sgLS1iYXRjaC0iCisic2l6ZT08c2l6ZT4pIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjIxCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzoyNgogbXNnaWQgIm9iamVjdCBkaXJlY3RvcnkgY29udGFpbmluZyBzZXQgb2YgcGFja2ZpbGUgYW5kIHBhY2staW5kZXggcGFpcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MzkKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjI5Cittc2dpZCAiIgorImR1cmluZyByZXBhY2ssIGNvbGxlY3QgcGFjay1maWxlcyBvZiBzbWFsbGVyIHNpemUgaW50byBhIGJhdGNoIHRoYXQgaXMgIgorImxhcmdlciB0aGFuIHRoaXMgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo1MCBidWlsdGluL3BydW5lLXBhY2tlZC5jOjY3CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCB2ZXJiOiAlcyIKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjYwCittc2dpZCAiLS1iYXRjaC1zaXplIG9wdGlvbiBpcyBvbmx5IGZvciAncmVwYWNrJyBzdWJjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNworIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1YmNvbW1hbmQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXYuYzoxOAogbXNnaWQgImdpdCBtdiBbPG9wdGlvbnM+XSA8c291cmNlPi4uLiA8ZGVzdGluYXRpb24+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzo4MgorIzogYnVpbHRpbi9tdi5jOjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRpcmVjdG9yeSAlcyBpcyBpbiBpbmRleCBhbmQgbm8gc3VibW9kdWxlPyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6ODQKKyM6IGJ1aWx0aW4vbXYuYzo4NQogbXNnaWQgIlBsZWFzZSBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMDIKKyM6IGJ1aWx0aW4vbXYuYzoxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJS4qcyBpcyBpbiBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6MTI0CisjOiBidWlsdGluL212LmM6MTI1CiBtc2dpZCAiZm9yY2UgbW92ZS9yZW5hbWUgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMjYKKyM6IGJ1aWx0aW4vbXYuYzoxMjcKIG1zZ2lkICJza2lwIG1vdmUvcmVuYW1lIGVycm9ycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6MTY4CisjOiBidWlsdGluL212LmM6MTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uICclcycgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzkKKyM6IGJ1aWx0aW4vbXYuYzoxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODMKKyM6IGJ1aWx0aW4vbXYuYzoxODQKIG1zZ2lkICJiYWQgc291cmNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODYKKyM6IGJ1aWx0aW4vbXYuYzoxODcKIG1zZ2lkICJjYW4gbm90IG1vdmUgZGlyZWN0b3J5IGludG8gaXRzZWxmIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODkKKyM6IGJ1aWx0aW4vbXYuYzoxOTAKIG1zZ2lkICJjYW5ub3QgbW92ZSBkaXJlY3Rvcnkgb3ZlciBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxOTgKKyM6IGJ1aWx0aW4vbXYuYzoxOTkKIG1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMjMKKyM6IGJ1aWx0aW4vbXYuYzoyMjQKIG1zZ2lkICJub3QgdW5kZXIgdmVyc2lvbiBjb250cm9sIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMjYKKyM6IGJ1aWx0aW4vbXYuYzoyMjcKIG1zZ2lkICJkZXN0aW5hdGlvbiBleGlzdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjIzNAorIzogYnVpbHRpbi9tdi5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJvdmVyd3JpdGluZyAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMzcKKyM6IGJ1aWx0aW4vbXYuYzoyMzgKIG1zZ2lkICJDYW5ub3Qgb3ZlcndyaXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNDAKKyM6IGJ1aWx0aW4vbXYuYzoyNDEKIG1zZ2lkICJtdWx0aXBsZSBzb3VyY2VzIGZvciB0aGUgc2FtZSB0YXJnZXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9tdi5jOjI0MgorIzogYnVpbHRpbi9tdi5jOjI0MwogbXNnaWQgImRlc3RpbmF0aW9uIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6MjQ5CisjOiBidWlsdGluL212LmM6MjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCBzb3VyY2U9JXMsIGRlc3RpbmF0aW9uPSVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNzAKKyM6IGJ1aWx0aW4vbXYuYzoyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL212LmM6Mjc2IGJ1aWx0aW4vcmVtb3RlLmM6NzE3IGJ1aWx0aW4vcmVwYWNrLmM6NTExCisjOiBidWlsdGluL212LmM6Mjc3IGJ1aWx0aW4vcmVtb3RlLmM6NzE2IGJ1aWx0aW4vcmVwYWNrLmM6NTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozNTUKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDMKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gPGNvbW1pdD4uLi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjM1NgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwNAogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLWFsbCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzU3CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDA1CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tc3RkaW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxMworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2MgogbXNnaWQgInByaW50IG9ubHkgbmFtZXMgKG5vIFNIQS0xKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDE0CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDYzCiBtc2dpZCAib25seSB1c2UgdGFncyB0byBuYW1lIHRoZSBjb21taXRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjUKIG1zZ2lkICJvbmx5IHVzZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDE4CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDY3CiBtc2dpZCAiaWdub3JlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjAKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjkKIG1zZ2lkICJsaXN0IGFsbCBjb21taXRzIHJlYWNoYWJsZSBmcm9tIGFsbCByZWZzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjEKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzAKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQyMgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ3MQogbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIChkZWZhdWx0KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDI4CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDc3CiBtc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbiB0aGUgaW5wdXQgKGludGVybmFsIHVzZSkiCiBtc2dzdHIgIiIKIApAQCAtMTI4MTEsMTQgKzE1MzY4LDE0IEBACiBtc2dpZCAidGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI0MiBidWlsdGluL3RhZy5jOjUxMworIzogYnVpbHRpbi9ub3Rlcy5jOjI0MiBidWlsdGluL3RhZy5jOjUzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9ub3Rlcy5jOjI2MyBidWlsdGluL25vdGVzLmM6MzEzIGJ1aWx0aW4vbm90ZXMuYzozMTUKLSM6IGJ1aWx0aW4vbm90ZXMuYzozODMgYnVpbHRpbi9ub3Rlcy5jOjQzOCBidWlsdGluL25vdGVzLmM6NTI0Ci0jOiBidWlsdGluL25vdGVzLmM6NTI5IGJ1aWx0aW4vbm90ZXMuYzo2MDcgYnVpbHRpbi9ub3Rlcy5jOjY2OQorIzogYnVpbHRpbi9ub3Rlcy5jOjM4MyBidWlsdGluL25vdGVzLmM6NDM4IGJ1aWx0aW4vbm90ZXMuYzo1MjYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzEgYnVpbHRpbi9ub3Rlcy5jOjYxMCBidWlsdGluL25vdGVzLmM6NjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICIiCkBAIC0xMjg1MSwzOCArMTU0MDgsMzggQEAKIG1zZ2lkICJyZWZ1c2luZyB0byAlcyBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM3NiBidWlsdGluL25vdGVzLmM6NDMxIGJ1aWx0aW4vbm90ZXMuYzo1MDcKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTkgYnVpbHRpbi9ub3Rlcy5jOjU5NSBidWlsdGluL25vdGVzLmM6NjYyCi0jOiBidWlsdGluL25vdGVzLmM6ODEyIGJ1aWx0aW4vbm90ZXMuYzo5NTkgYnVpbHRpbi9ub3Rlcy5jOjk4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjM3NiBidWlsdGluL25vdGVzLmM6NDMxIGJ1aWx0aW4vbm90ZXMuYzo1MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjEgYnVpbHRpbi9ub3Rlcy5jOjU5OCBidWlsdGluL25vdGVzLmM6NjY1CisjOiBidWlsdGluL25vdGVzLmM6ODE1IGJ1aWx0aW4vbm90ZXMuYzo5NjMgYnVpbHRpbi9ub3Rlcy5jOjk4NQogbXNnaWQgInRvbyBtYW55IHBhcmFtZXRlcnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM4OSBidWlsdGluL25vdGVzLmM6Njc1CisjOiBidWlsdGluL25vdGVzLmM6Mzg5IGJ1aWx0aW4vbm90ZXMuYzo2NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbm90ZSBmb3VuZCBmb3Igb2JqZWN0ICVzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDEwIGJ1aWx0aW4vbm90ZXMuYzo1NzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTAgYnVpbHRpbi9ub3Rlcy5jOjU3NgogbXNnaWQgIm5vdGUgY29udGVudHMgYXMgYSBzdHJpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxMyBidWlsdGluL25vdGVzLmM6NTc2CisjOiBidWlsdGluL25vdGVzLmM6NDEzIGJ1aWx0aW4vbm90ZXMuYzo1NzkKIG1zZ2lkICJub3RlIGNvbnRlbnRzIGluIGEgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDE2IGJ1aWx0aW4vbm90ZXMuYzo1NzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTYgYnVpbHRpbi9ub3Rlcy5jOjU4MgogbXNnaWQgInJldXNlIGFuZCBlZGl0IHNwZWNpZmllZCBub3RlIG9iamVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDE5IGJ1aWx0aW4vbm90ZXMuYzo1ODIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTkgYnVpbHRpbi9ub3Rlcy5jOjU4NQogbXNnaWQgInJldXNlIHNwZWNpZmllZCBub3RlIG9iamVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDIyIGJ1aWx0aW4vbm90ZXMuYzo1ODUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MjIgYnVpbHRpbi9ub3Rlcy5jOjU4OAogbXNnaWQgImFsbG93IHN0b3JpbmcgZW1wdHkgbm90ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDIzIGJ1aWx0aW4vbm90ZXMuYzo0OTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MjMgYnVpbHRpbi9ub3Rlcy5jOjQ5NgogbXNnaWQgInJlcGxhY2UgZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgIiIKIApAQCAtMTI4OTMsMTM4ICsxNTQ1MCwxMzggQEAKICJleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDYzIGJ1aWx0aW4vbm90ZXMuYzo1NDIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NjMgYnVpbHRpbi9ub3Rlcy5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJPdmVyd3JpdGluZyBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ3NCBidWlsdGluL25vdGVzLmM6NjM0IGJ1aWx0aW4vbm90ZXMuYzo4OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NzUgYnVpbHRpbi9ub3Rlcy5jOjYzNyBidWlsdGluL25vdGVzLmM6OTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIG5vdGUgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0OTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0OTcKIG1zZ2lkICJyZWFkIG9iamVjdHMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDk3CisjOiBidWlsdGluL25vdGVzLmM6NDk5CiBtc2dpZCAibG9hZCByZXdyaXRpbmcgY29uZmlnIGZvciA8Y29tbWFuZD4gKGltcGxpZXMgLS1zdGRpbikiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUxNQorIzogYnVpbHRpbi9ub3Rlcy5jOjUxNwogbXNnaWQgInRvbyBmZXcgcGFyYW1ldGVycyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTM2CisjOiBidWlsdGluL25vdGVzLmM6NTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgY29weSBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKICJleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTQ4CisjOiBidWlsdGluL25vdGVzLmM6NTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3Npbmcgbm90ZXMgb24gc291cmNlIG9iamVjdCAlcy4gQ2Fubm90IGNvcHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MDAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtbS8tRi8tYy8tQyBvcHRpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgJ2VkaXQnIHN1YmNvbW1hbmQuXG4iCiAiUGxlYXNlIHVzZSAnZ2l0IG5vdGVzIGFkZCAtZiAtbS8tRi8tYy8tQycgaW5zdGVhZC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njk1CisjOiBidWlsdGluL25vdGVzLmM6Njk4CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njk3CisjOiBidWlsdGluL25vdGVzLmM6NzAwCiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUkVGIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MDIKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICdnaXQgbm90ZXMgbWVyZ2UnIHdvcmt0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjIKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzIxCisjOiBidWlsdGluL25vdGVzLmM6NzI0CiBtc2dpZCAiY291bGQgbm90IGZpbmQgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcyMworIzogYnVpbHRpbi9ub3Rlcy5jOjcyNgogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzM2CisjOiBidWlsdGluL25vdGVzLmM6NzM5CiBtc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgTk9URVNfTUVSR0VfUkVGIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MzkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NDIKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG5vdGVzIG1lcmdlIHN0cmF0ZWd5ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODQKIG1zZ2lkICJHZW5lcmFsIG9wdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4MworIzogYnVpbHRpbi9ub3Rlcy5jOjc4NgogbXNnaWQgIk1lcmdlIG9wdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4NQorIzogYnVpbHRpbi9ub3Rlcy5jOjc4OAogbXNnaWQgIiIKICJyZXNvbHZlIG5vdGVzIGNvbmZsaWN0cyB1c2luZyB0aGUgZ2l2ZW4gc3RyYXRlZ3kgKG1hbnVhbC9vdXJzL3RoZWlycy91bmlvbi8iCiAiY2F0X3NvcnRfdW5pcSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4NworIzogYnVpbHRpbi9ub3Rlcy5jOjc5MAogbXNnaWQgIkNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4OQorIzogYnVpbHRpbi9ub3Rlcy5jOjc5MgogbXNnaWQgImZpbmFsaXplIG5vdGVzIG1lcmdlIGJ5IGNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5MQorIzogYnVpbHRpbi9ub3Rlcy5jOjc5NAogbXNnaWQgIkFib3J0aW5nIG5vdGVzIG1lcmdlIHJlc29sdXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5MworIzogYnVpbHRpbi9ub3Rlcy5jOjc5NgogbXNnaWQgImFib3J0IG5vdGVzIG1lcmdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDcKIG1zZ2lkICJjYW5ub3QgbWl4IC0tY29tbWl0LCAtLWFib3J0IG9yIC1zLy0tc3RyYXRlZ3kiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjgwOQorIzogYnVpbHRpbi9ub3Rlcy5jOjgxMgogbXNnaWQgIm11c3Qgc3BlY2lmeSBhIG5vdGVzIHJlZiB0byBtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODMzCisjOiBidWlsdGluL25vdGVzLmM6ODM2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gLXMvLS1zdHJhdGVneTogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg3MAorIzogYnVpbHRpbi9ub3Rlcy5jOjg3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhIG5vdGVzIG1lcmdlIGludG8gJXMgaXMgYWxyZWFkeSBpbi1wcm9ncmVzcyBhdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODczCisjOiBidWlsdGluL25vdGVzLmM6ODc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdG9yZSBsaW5rIHRvIGN1cnJlbnQgbm90ZXMgcmVmICglcykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg3NQorIzogYnVpbHRpbi9ub3Rlcy5jOjg3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXV0b21hdGljIG5vdGVzIG1lcmdlIGZhaWxlZC4gRml4IGNvbmZsaWN0cyBpbiAlcyBhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCAiCkBAIC0xMzAzMiw0MjIgKzE1NTg5LDQxOSBAQAogImFib3J0Jy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODk3CisjOiBidWlsdGluL25vdGVzLmM6ODk3IGJ1aWx0aW4vdGFnLmM6NTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiT2JqZWN0ICVzIGhhcyBubyBub3RlXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjkwOQorIzogYnVpbHRpbi9ub3Rlcy5jOjkxMgogbXNnaWQgImF0dGVtcHQgdG8gcmVtb3ZlIG5vbi1leGlzdGVudCBub3RlIGlzIG5vdCBhbiBlcnJvciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTEyCisjOiBidWlsdGluL25vdGVzLmM6OTE1CiBtc2dpZCAicmVhZCBvYmplY3QgbmFtZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk1MCBidWlsdGluL3BydW5lLmM6MTA4IGJ1aWx0aW4vd29ya3RyZWUuYzoxNjQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NTQgYnVpbHRpbi9wcnVuZS5jOjEzMCBidWlsdGluL3dvcmt0cmVlLmM6MTY0CiBtc2dpZCAiZG8gbm90IHJlbW92ZSwgc2hvdyBvbmx5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NTUKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIG5vdGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5OTMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5OTgKIG1zZ2lkICJub3Rlcy1yZWYiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjk5OQogbXNnaWQgInVzZSBub3RlcyBmcm9tIDxub3Rlcy1yZWY+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxMDI5CisjOiBidWlsdGluL25vdGVzLmM6MTAzNCBidWlsdGluL3N0YXNoLmM6MTYwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHN1YmNvbW1hbmQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTIKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPG9wdGlvbnM+Li4uXSBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjUyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjUzCiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgWzxvcHRpb25zPi4uLl0gPGJhc2UtbmFtZT4gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0MjIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrZWQgb2JqZWN0IENSQyBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0MzMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGFja2VkIG9iamVjdCBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1NjQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlY3Vyc2l2ZSBkZWx0YSBkZXRlY3RlZCBmb3Igb2JqZWN0ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzc1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJvcmRlcmVkICV1IG9iamVjdHMsIGV4cGVjdGVkICU8UFJJdTMyPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc4OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFja2ZpbGUgaXMgaW52YWxpZDogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIHBhY2tmaWxlIGZvciByZXVzZTogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODAyCiBtc2dpZCAidW5hYmxlIHRvIHNlZWsgaW4gcmV1c2VkIHBhY2tmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODA3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgxMwogbXNnaWQgInVuYWJsZSB0byByZWFkIGZyb20gcmV1c2VkIHBhY2tmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODM1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjg0MQogbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgcGFja3MgYXJlIHNwbGl0IGR1ZSB0byBwYWNrLnBhY2tTaXplTGltaXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4NDgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODU0CiBtc2dpZCAiV3JpdGluZyBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTEwIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTE3IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIndyb3RlICU8UFJJdTMyPiBvYmplY3RzIHdoaWxlIGV4cGVjdGluZyAlPFBSSXUzMj4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMTU3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjExNjQKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIGFzIHNvbWUgb2JqZWN0cyBhcmUgbm90IGJlaW5nIHBhY2tlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE1ODUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBvdmVyZmxvdyBpbiBwYWNrIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE1OTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTYwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBvdXQgb2YgYm91bmQgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODcwCiBtc2dpZCAiQ291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE5OTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjAwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IHNpemUgb2YgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIG9iamVjdCBoZWFkZXIgb2YgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDgzIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA5OQotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTA5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwODUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIGNhbm5vdCBiZSByZWFkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA4NiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA4OCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIGluY29uc2lzdGVudCBvYmplY3QgbGVuZ3RoICglPFBSSXVNQVg+IHZzICU8UFJJdU1BWD4pIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjEyMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTI1CiBtc2dpZCAic3Vib3B0aW1hbCBwYWNrIC0gb3V0IG9mIG1lbW9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWx0YSBjb21wcmVzc2lvbiB1c2luZyB1cCB0byAlZCB0aHJlYWRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU4MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYWNrIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gdGFnICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY3MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjU5CiBtc2dpZCAiQ29tcHJlc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NzYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY2NQogbXNnaWQgImluY29uc2lzdGVuY3kgd2l0aCBkZWx0YSBjb3VudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhwZWN0ZWQgZWRnZSBvYmplY3QgSUQsIGdvdCBnYXJiYWdlOlxuIgogIiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhwZWN0ZWQgb2JqZWN0IElELCBnb3QgZ2FyYmFnZTpcbiIKICIgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODU3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDYKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAtLW1pc3NpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTE2IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAyNAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTA1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAxMwogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2sgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9vc2Ugb2JqZWN0IGF0ICVzIGNvdWxkIG5vdCBiZSBleGFtaW5lZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwMzIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAyMQogbXNnaWQgInVuYWJsZSB0byBmb3JjZSBsb29zZSBvYmplY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTIyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgcmV2ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTI1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJldmlzaW9uICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTUwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxNDEKIG1zZ2lkICJ1bmFibGUgdG8gYWRkIHJlY2VudCBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIwMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjA3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzcKLW1zZ2lkICJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzkKLW1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0MQotbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NAotbXNnaWQgInNpbWlsYXIgdG8gLS1hbGwtcHJvZ3Jlc3Mgd2hlbiBwcm9ncmVzcyBtZXRlciBpcyBzaG93biIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzNgogbXNnaWQgIjx2ZXJzaW9uPlssPG9mZnNldD5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM3CiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0MAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIG91dHB1dCBwYWNrIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjUxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDIKIG1zZ2lkICJpZ25vcmUgYm9ycm93ZWQgb2JqZWN0cyBmcm9tIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjUzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDQKIG1zZ2lkICJpZ25vcmUgcGFja2VkIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDYKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQ4CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgbWVtb3J5IGluIGFkZGl0aW9uIHRvIG9iamVjdCBsaW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1MAogbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjUyCiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU0CiBtc2dpZCAicmV1c2UgZXhpc3Rpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1NgogbXNnaWQgInVzZSBPRlNfREVMVEEgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1OAogbXNnaWQgInVzZSB0aHJlYWRzIHdoZW4gc2VhcmNoaW5nIGZvciBiZXN0IGRlbHRhIG1hdGNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjY5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjAKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjYyCiBtc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NAogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjY3CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIGFueSByZWZlcmVuY2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjc5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzAKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgYnkgcmVmbG9nIGVudHJpZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzMKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgdG8gYnkgdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjc2CiBtc2dpZCAib3V0cHV0IHBhY2sgdG8gc3Rkb3V0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjc4CiBtc2dpZCAiaW5jbHVkZSB0YWcgb2JqZWN0cyB0aGF0IHJlZmVyIHRvIG9iamVjdHMgdG8gYmUgcGFja2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgwCiBtc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgyCiBtc2dpZCAicGFjayBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg0CiBtc2dpZCAidW5wYWNrIHVucmVhY2hhYmxlIG9iamVjdHMgbmV3ZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODcKK21zZ2lkICJ1c2UgdGhlIHNwYXJzZSByZWFjaGFiaWxpdHkgYWxnb3JpdGhtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4OQogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjkxCiBtc2dpZCAiY3JlYXRlIHBhY2tzIHN1aXRhYmxlIGZvciBzaGFsbG93IGZldGNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzAwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTMKIG1zZ2lkICJpZ25vcmUgcGFja3MgdGhhdCBoYXZlIGNvbXBhbmlvbiAua2VlcCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk1CiBtc2dpZCAiaWdub3JlIHRoaXMgcGFjayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5NwogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzA2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTkKIG1zZ2lkICJkbyBub3QgaGlkZSBjb21taXRzIGJ5IGdyYWZ0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwMQogbXNnaWQgInVzZSBhIGJpdG1hcCBpbmRleCBpZiBhdmFpbGFibGUgdG8gc3BlZWQgdXAgY291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwMwogbXNnaWQgIndyaXRlIGEgYml0bWFwIGluZGV4IHRvZ2V0aGVyIHdpdGggdGhlIHBhY2sgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDcKK21zZ2lkICJ3cml0ZSBhIGJpdG1hcCBpbmRleCBpZiBwb3NzaWJsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTEKIG1zZ2lkICJoYW5kbGluZyBmb3IgbWlzc2luZyBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxNgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzE0CiBtc2dpZCAiZG8gbm90IHBhY2sgb2JqZWN0cyBpbiBwcm9taXNvciBwYWNrZmlsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzE4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTYKIG1zZ2lkICJyZXNwZWN0IGlzbGFuZHMgZHVyaW5nIGRlbHRhIGNvbXByZXNzaW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM0MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbHRhIGNoYWluIGRlcHRoICVkIGlzIHRvbyBkZWVwLCBmb3JjaW5nICVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2suZGVsdGFDYWNoZUxpbWl0IGlzIHRvbyBoaWdoLCBmb3JjaW5nICVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDA0CiBtc2dpZCAiLS1tYXgtcGFjay1zaXplIGNhbm5vdCBiZSB1c2VkIHRvIGJ1aWxkIGEgcGFjayBmb3IgdHJhbnNmZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDAzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDYKIG1zZ2lkICJtaW5pbXVtIHBhY2sgc2l6ZSBsaW1pdCBpcyAxIE1pQiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQxMQogbXNnaWQgIi0tdGhpbiBjYW5ub3QgYmUgdXNlZCB0byBidWlsZCBhbiBpbmRleGFibGUgcGFjayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQxNAogbXNnaWQgIi0ta2VlcC11bnJlYWNoYWJsZSBhbmQgLS11bnBhY2stdW5yZWFjaGFibGUgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQyMAogbXNnaWQgImNhbm5vdCB1c2UgLS1maWx0ZXIgd2l0aG91dCAtLXN0ZG91dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0NzYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQ4MQogbXNnaWQgIkVudW1lcmF0aW5nIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDk1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM1MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVG90YWwgJTxQUkl1MzI+IChkZWx0YSAlPFBSSXUzMj4pLCByZXVzZWQgJTxQUkl1MzI+IChkZWx0YSAlPFBSSXUzMj4pIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6NworIzogYnVpbHRpbi9wYWNrLXJlZnMuYzo4CiBtc2dpZCAiZ2l0IHBhY2stcmVmcyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stcmVmcy5jOjE1CisjOiBidWlsdGluL3BhY2stcmVmcy5jOjE2CiBtc2dpZCAicGFjayBldmVyeXRoaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTYKKyM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTcKIG1zZ2lkICJwcnVuZSBsb29zZSByZWZzIChkZWZhdWx0KSIKIG1zZ3N0ciAiIgogCkBAIC0xMzQ2Myw4NiArMTYwMTcsODYgQEAKIG1zZ2lkICJnaXQgcHJ1bmUgWy1uXSBbLXZdIFstLXByb2dyZXNzXSBbLS1leHBpcmUgPHRpbWU+XSBbLS1dIFs8aGVhZD4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDkKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzEKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjExMgorIzogYnVpbHRpbi9wcnVuZS5jOjEzNAogbXNnaWQgImV4cGlyZSBvYmplY3RzIG9sZGVyIHRoYW4gPHRpbWU+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMTQKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzYKIG1zZ2lkICJsaW1pdCB0cmF2ZXJzYWwgdG8gb2JqZWN0cyBvdXRzaWRlIHByb21pc29yIHBhY2tmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTI5CisjOiBidWlsdGluL3BydW5lLmM6MTUwCiBtc2dpZCAiY2Fubm90IHBydW5lIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjYwIGJ1aWx0aW4vcHVsbC5jOjYyCisjOiBidWlsdGluL3B1bGwuYzo2NiBidWlsdGluL3B1bGwuYzo2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODIKKyM6IGJ1aWx0aW4vcHVsbC5jOjg4CiBtc2dpZCAiZ2l0IHB1bGwgWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTMzCisjOiBidWlsdGluL3B1bGwuYzoxNDIKIG1zZ2lkICJjb250cm9sIGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMzcKKyM6IGJ1aWx0aW4vcHVsbC5jOjE0NgogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBtZXJnaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE0MAorIzogYnVpbHRpbi9wdWxsLmM6MTQ5CiBtc2dpZCAiaW5jb3Jwb3JhdGUgY2hhbmdlcyBieSByZWJhc2luZyByYXRoZXIgdGhhbiBtZXJnaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE2NyBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNDcgYnVpbHRpbi9yZXZlcnQuYzoxMjIKKyM6IGJ1aWx0aW4vcHVsbC5jOjE3NyBidWlsdGluL3JlYmFzZS5jOjQ2NyBidWlsdGluL3JldmVydC5jOjEyNgogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzoxNzYKKyM6IGJ1aWx0aW4vcHVsbC5jOjE4NgogbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIgcmViYXNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5MgorIzogYnVpbHRpbi9wdWxsLmM6MjAyCiBtc2dpZCAiT3B0aW9ucyByZWxhdGVkIHRvIGZldGNoaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjIwMgorIzogYnVpbHRpbi9wdWxsLmM6MjEyCiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzoyMTAKKyM6IGJ1aWx0aW4vcHVsbC5jOjIyMAogbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIHB1bGxlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzozMDUKKyM6IGJ1aWx0aW4vcHVsbC5jOjMyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciBwdWxsLmZmOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MjEKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzNwogbXNnaWQgIiIKICJUaGVyZSBpcyBubyBjYW5kaWRhdGUgZm9yIHJlYmFzaW5nIGFnYWluc3QgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCAiCiAiZmV0Y2hlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDIzCisjOiBidWlsdGluL3B1bGwuYzo0MzkKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIG5vIGNhbmRpZGF0ZXMgZm9yIG1lcmdpbmcgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCBmZXRjaGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MjQKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ0MAogbXNnaWQgIiIKICJHZW5lcmFsbHkgdGhpcyBtZWFucyB0aGF0IHlvdSBwcm92aWRlZCBhIHdpbGRjYXJkIHJlZnNwZWMgd2hpY2ggaGFkIG5vXG4iCiAibWF0Y2hlcyBvbiB0aGUgcmVtb3RlIGVuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDI3CisjOiBidWlsdGluL3B1bGwuYzo0NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBwdWxsIGZyb20gdGhlIHJlbW90ZSAnJXMnLCBidXQgZGlkIG5vdCBzcGVjaWZ5XG4iCkBAIC0xMzU1MCw3NCArMTYxMDQsNzQgQEAKICJmb3IgeW91ciBjdXJyZW50IGJyYW5jaCwgeW91IG11c3Qgc3BlY2lmeSBhIGJyYW5jaCBvbiB0aGUgY29tbWFuZCBsaW5lLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzIgYnVpbHRpbi9yZWJhc2UuYzo3NjEgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MworIzogYnVpbHRpbi9wdWxsLmM6NDQ4IGJ1aWx0aW4vcmViYXNlLmM6MTM3NSBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCiBtc2dpZCAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzQgYnVpbHRpbi9wdWxsLmM6NDQ5IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1MCBidWlsdGluL3B1bGwuYzo0NjUgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQogbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byByZWJhc2UgYWdhaW5zdC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM2IGJ1aWx0aW4vcHVsbC5jOjQ1MSBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCisjOiBidWlsdGluL3B1bGwuYzo0NTIgYnVpbHRpbi9wdWxsLmM6NDY3IGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gbWVyZ2Ugd2l0aC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM3IGJ1aWx0aW4vcHVsbC5jOjQ1MgorIzogYnVpbHRpbi9wdWxsLmM6NDUzIGJ1aWx0aW4vcHVsbC5jOjQ2OAogbXNnaWQgIlNlZSBnaXQtcHVsbCgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM5IGJ1aWx0aW4vcHVsbC5jOjQ0NSBidWlsdGluL3B1bGwuYzo0NTQKLSM6IGJ1aWx0aW4vcmViYXNlLmM6NzY3IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjQKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1NSBidWlsdGluL3B1bGwuYzo0NjEgYnVpbHRpbi9wdWxsLmM6NDcwCisjOiBidWlsdGluL3JlYmFzZS5jOjEzODEgZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NAogbXNnaWQgIjxyZW1vdGU+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzOSBidWlsdGluL3B1bGwuYzo0NTQgYnVpbHRpbi9wdWxsLmM6NDU5Ci0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1NTYgZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NQorIzogYnVpbHRpbi9wdWxsLmM6NDU1IGJ1aWx0aW4vcHVsbC5jOjQ3MCBidWlsdGluL3B1bGwuYzo0NzUKKyM6IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjUKIG1zZ2lkICI8YnJhbmNoPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NDcgYnVpbHRpbi9yZWJhc2UuYzo3NTkgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQorIzogYnVpbHRpbi9wdWxsLmM6NDYzIGJ1aWx0aW4vcmViYXNlLmM6MTM3MyBnaXQtcGFyc2UtcmVtb3RlLnNoOjc1CiBtc2dpZCAiVGhlcmUgaXMgbm8gdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDU2IGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ3MiBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNldCB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhpcyBicmFuY2ggeW91IGNhbiBkbyBzbyB3aXRoOiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NjEKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBjb25maWd1cmF0aW9uIHNwZWNpZmllcyB0byBtZXJnZSB3aXRoIHRoZSByZWYgJyVzJ1xuIgogImZyb20gdGhlIHJlbW90ZSwgYnV0IG5vIHN1Y2ggcmVmIHdhcyBmZXRjaGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo1NjUKKyM6IGJ1aWx0aW4vcHVsbC5jOjU4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzIGNvbW1pdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NDMKKyM6IGJ1aWx0aW4vcHVsbC5jOjg2NwogbXNnaWQgImlnbm9yaW5nIC0tdmVyaWZ5LXNpZ25hdHVyZXMgZm9yIHJlYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo4OTEKKyM6IGJ1aWx0aW4vcHVsbC5jOjkyMgogbXNnaWQgIi0tW25vLV1hdXRvc3Rhc2ggb3B0aW9uIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXJlYmFzZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODk5CisjOiBidWlsdGluL3B1bGwuYzo5MzAKIG1zZ2lkICJVcGRhdGluZyBhbiB1bmJvcm4gYnJhbmNoIHdpdGggY2hhbmdlcyBhZGRlZCB0byB0aGUgaW5kZXguIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkwMgorIzogYnVpbHRpbi9wdWxsLmM6OTM0CiBtc2dpZCAicHVsbCB3aXRoIHJlYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MDMKKyM6IGJ1aWx0aW4vcHVsbC5jOjkzNQogbXNnaWQgInBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTI4CisjOiBidWlsdGluL3B1bGwuYzo5NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC0xMzYyNSw3ICsxNjE3OSw3IEBACiAiY29tbWl0ICVzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MzQKKyM6IGJ1aWx0aW4vcHVsbC5jOjk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGZhc3QtZm9yd2FyZCB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTEzNjM2LDE1ICsxNjE5MCwxNSBAQAogInRvIHJlY292ZXIuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjk0OQorIzogYnVpbHRpbi9wdWxsLmM6OTgxCiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTUzCisjOiBidWlsdGluL3B1bGwuYzo5ODUKIG1zZ2lkICJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjk2MAorIzogYnVpbHRpbi9wdWxsLmM6OTkyCiBtc2dpZCAiY2Fubm90IHJlYmFzZSB3aXRoIGxvY2FsbHkgcmVjb3JkZWQgc3VibW9kdWxlIG1vZGlmaWNhdGlvbnMiCiBtc2dzdHIgIiIKIApAQCAtMTM2NTIsMjEgKzE2MjA2LDIxIEBACiBtc2dpZCAiZ2l0IHB1c2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTExCisjOiBidWlsdGluL3B1c2guYzoxMTIKIG1zZ2lkICJ0YWcgc2hvcnRoYW5kIHdpdGhvdXQgPHRhZz4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTIxCisjOiBidWlsdGluL3B1c2guYzoxMjIKIG1zZ2lkICItLWRlbGV0ZSBvbmx5IGFjY2VwdHMgcGxhaW4gdGFyZ2V0IHJlZiBuYW1lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoxNjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjE2OAogbXNnaWQgIiIKICJcbiIKICJUbyBjaG9vc2UgZWl0aGVyIG9wdGlvbiBwZXJtYW5lbnRseSwgc2VlIHB1c2guZGVmYXVsdCBpbiAnZ2l0IGhlbHAgY29uZmlnJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTY4CisjOiBidWlsdGluL3B1c2guYzoxNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSB1cHN0cmVhbSBicmFuY2ggb2YgeW91ciBjdXJyZW50IGJyYW5jaCBkb2VzIG5vdCBtYXRjaFxuIgpAQCAtMTM2ODEsNyArMTYyMzUsNyBAQAogIiVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE4MworIzogYnVpbHRpbi9wdXNoLmM6MTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guXG4iCkBAIC0xMzY5MSw3ICsxNjI0NSw3IEBACiAiICAgIGdpdCBwdXNoICVzIEhFQUQ6PG5hbWUtb2YtcmVtb3RlLWJyYW5jaD5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoxOTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBubyB1cHN0cmVhbSBicmFuY2guXG4iCkBAIC0xMzcwMCwxMiArMTYyNTQsMTIgQEAKICIgICAgZ2l0IHB1c2ggLS1zZXQtdXBzdHJlYW0gJXMgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoyMDUKKyM6IGJ1aWx0aW4vcHVzaC5jOjIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG11bHRpcGxlIHVwc3RyZWFtIGJyYW5jaGVzLCByZWZ1c2luZyB0byBwdXNoLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoyMDgKKyM6IGJ1aWx0aW4vcHVzaC5jOjIxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBwdXNoaW5nIHRvIHJlbW90ZSAnJXMnLCB3aGljaCBpcyBub3QgdGhlIHVwc3RyZWFtIG9mXG4iCkBAIC0xMzcxMywxMiArMTYyNjcsMTIgQEAKICJ0byB1cGRhdGUgd2hpY2ggcmVtb3RlIGJyYW5jaC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjY3CisjOiBidWlsdGluL3B1c2guYzoyNzAKIG1zZ2lkICIiCiAiWW91IGRpZG4ndCBzcGVjaWZ5IGFueSByZWZzcGVjcyB0byBwdXNoLCBhbmQgcHVzaC5kZWZhdWx0IGlzIFwibm90aGluZ1wiLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoyNzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjI3NwogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGlwIG9mIHlvdXIgY3VycmVudCBicmFuY2ggaXMgYmVoaW5kXG4iCiAiaXRzIHJlbW90ZSBjb3VudGVycGFydC4gSW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlcyAoZS5nLlxuIgpAQCAtMTM3MjYsNyArMTYyODAsNyBAQAogIlNlZSB0aGUgJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCcgZm9yIGRldGFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI4MAorIzogYnVpbHRpbi9wdXNoLmM6MjgzCiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIGEgcHVzaGVkIGJyYW5jaCB0aXAgaXMgYmVoaW5kIGl0cyByZW1vdGVcbiIKICJjb3VudGVycGFydC4gQ2hlY2sgb3V0IHRoaXMgYnJhbmNoIGFuZCBpbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzXG4iCkBAIC0xMzczNCw3ICsxNjI4OCw3IEBACiAiU2VlIHRoZSAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyBpbiAnZ2l0IHB1c2ggLS1oZWxwJyBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mjg2CisjOiBidWlsdGluL3B1c2guYzoyODkKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHJlbW90ZSBjb250YWlucyB3b3JrIHRoYXQgeW91IGRvXG4iCiAibm90IGhhdmUgbG9jYWxseS4gVGhpcyBpcyB1c3VhbGx5IGNhdXNlZCBieSBhbm90aGVyIHJlcG9zaXRvcnkgcHVzaGluZ1xuIgpAQCAtMTM3NDMsMzMgKzE2Mjk3LDExMCBAQAogIlNlZSB0aGUgJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCcgZm9yIGRldGFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI5MworIzogYnVpbHRpbi9wdXNoLmM6Mjk2CiBtc2dpZCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRhZyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgcmVtb3RlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoyOTYKKyM6IGJ1aWx0aW4vcHVzaC5jOjI5OQogbXNnaWQgIiIKICJZb3UgY2Fubm90IHVwZGF0ZSBhIHJlbW90ZSByZWYgdGhhdCBwb2ludHMgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKICJvciB1cGRhdGUgYSByZW1vdGUgcmVmIHRvIG1ha2UgaXQgcG9pbnQgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKICJ3aXRob3V0IHVzaW5nIHRoZSAnLS1mb3JjZScgb3B0aW9uLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM1NworIzogYnVpbHRpbi9wdXNoLmM6MzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlB1c2hpbmcgdG8gJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzozNjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzozOTUKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MgorbXNnaWQgInJlcG9zaXRvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0Cittc2dpZCAicHVzaCBhbGwgcmVmcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzo1NDQgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKK21zZ2lkICJtaXJyb3IgYWxsIHJlZnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ2Cittc2dpZCAiZGVsZXRlIHJlZnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ3Cittc2dpZCAicHVzaCB0YWdzIChjYW4ndCBiZSB1c2VkIHdpdGggLS1hbGwgb3IgLS1taXJyb3IpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MCBidWlsdGluL3NlbmQtcGFjay5jOjE2NworbXNnaWQgImZvcmNlIHVwZGF0ZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTUyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgxCittc2dpZCAiPHJlZm5hbWU+OjxleHBlY3Q+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MyBidWlsdGluL3NlbmQtcGFjay5jOjE4MgorbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1NgorbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1c2guYzo1NTggYnVpbHRpbi9zZW5kLXBhY2suYzoxNzUKK21zZ2lkICJ1c2UgdGhpbiBwYWNrIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1OSBidWlsdGluL3B1c2guYzo1NjAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCittc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTYxCittc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTY0Cittc2dpZCAicHJ1bmUgbG9jYWxseSByZW1vdmVkIHJlZnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTY2Cittc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTY3Cittc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MCBidWlsdGluL3NlbmQtcGFjay5jOjE2OQorbXNnaWQgIkdQRyBzaWduIHRoZSBwdXNoIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MiBidWlsdGluL3NlbmQtcGFjay5jOjE3NgorbXNnaWQgInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU5MAorbXNnaWQgIi0tZGVsZXRlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLW1pcnJvciBhbmQgLS10YWdzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU5MgorbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjYxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5NgorIzogYnVpbHRpbi9wdXNoLmM6NjEzCiBtc2dpZCAiIgogIk5vIGNvbmZpZ3VyZWQgcHVzaCBkZXN0aW5hdGlvbi5cbiIKICJFaXRoZXIgc3BlY2lmeSB0aGUgVVJMIGZyb20gdGhlIGNvbW1hbmQtbGluZSBvciBjb25maWd1cmUgYSByZW1vdGUgIgpAQCAtMTM3ODIsMTA0ICsxNjQxMywyNyBAQAogIiAgICBnaXQgcHVzaCA8bmFtZT5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo1NTEKLW1zZ2lkICJyZXBvc2l0b3J5IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1MiBidWlsdGluL3NlbmQtcGFjay5jOjE2NAotbXNnaWQgInB1c2ggYWxsIHJlZnMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTUzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2Ci1tc2dpZCAibWlycm9yIGFsbCByZWZzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1NQotbXNnaWQgImRlbGV0ZSByZWZzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1NgotbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzo1NTkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjcKLW1zZ2lkICJmb3JjZSB1cGRhdGVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU2MSBidWlsdGluL3NlbmQtcGFjay5jOjE4MQotbXNnaWQgIjxyZWZuYW1lPjo8ZXhwZWN0PiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzo1NjIgYnVpbHRpbi9zZW5kLXBhY2suYzoxODIKLW1zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzo1NjUKLW1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTY3IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1Ci1tc2dpZCAidXNlIHRoaW4gcGFjayIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzo1NjggYnVpbHRpbi9wdXNoLmM6NTY5IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MgotbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU3MAotbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU3MwotbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU3NQotbXNnaWQgImJ5cGFzcyBwcmUtcHVzaCBob29rIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU3NgotbXNnaWQgInB1c2ggbWlzc2luZyBidXQgcmVsZXZhbnQgdGFncyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzo1NzkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKLW1zZ2lkICJHUEcgc2lnbiB0aGUgcHVzaCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzo1ODEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzYKLW1zZ2lkICJyZXF1ZXN0IGF0b21pYyB0cmFuc2FjdGlvbiBvbiByZW1vdGUgc2lkZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzo1OTkKLW1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzo2MDEKLW1zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3B1c2guYzo2MDQKKyM6IGJ1aWx0aW4vcHVzaC5jOjYyOAogbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo2MDYKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzMAogbXNnaWQgIi0tYWxsIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjEwCisjOiBidWlsdGluL3B1c2guYzo2MzQKIG1zZ2lkICItLW1pcnJvciBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjEyCisjOiBidWlsdGluL3B1c2guYzo2MzYKIG1zZ2lkICItLW1pcnJvciBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjYxNQorIzogYnVpbHRpbi9wdXNoLmM6NjM5CiBtc2dpZCAiLS1hbGwgYW5kIC0tbWlycm9yIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjM0CisjOiBidWlsdGluL3B1c2guYzo2NDMKIG1zZ2lkICJwdXNoIG9wdGlvbnMgbXVzdCBub3QgaGF2ZSBuZXcgbGluZSBjaGFyYWN0ZXJzIgogbXNnc3RyICIiCiAKQEAgLTEzODk1LDE0NCArMTY0NDksMzM5IEBACiBtc2dpZCAiZ2l0IHJhbmdlLWRpZmYgWzxvcHRpb25zPl0gPGJhc2U+IDxvbGQtdGlwPiA8bmV3LXRpcD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjEKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjIyCiBtc2dpZCAiUGVyY2VudGFnZSBieSB3aGljaCBjcmVhdGlvbiBpcyB3ZWlnaHRlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyMworIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjQKIG1zZ2lkICJ1c2Ugc2ltcGxlIGRpZmYgY29sb3JzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjYxIGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjY1CisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyNgorbXNnaWQgIm5vdGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjI2Cittc2dpZCAicGFzc2VkIHRvICdnaXQgbG9nJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzo1MCBidWlsdGluL3JhbmdlLWRpZmYuYzo1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyAuLiBpbiByYW5nZTogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JhbmdlLWRpZmYuYzo3NQorIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NjQKIG1zZ2lkICJzaW5nbGUgYXJnIGZvcm1hdCBtdXN0IGJlIHN5bW1ldHJpYyByYW5nZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JhbmdlLWRpZmYuYzo5MAorIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NzkKIG1zZ2lkICJuZWVkIHR3byBjb21taXQgcmFuZ2VzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDEKIG1zZ2lkICIiCiAiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxwcmVmaXg+KSAiCiAiWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLXNwYXJzZS1jaGVja291dF0gWy0tIgogImluZGV4LW91dHB1dD08ZmlsZT5dICgtLWVtcHR5IHwgPHRyZWUtaXNoMT4gWzx0cmVlLWlzaDI+IFs8dHJlZS1pc2gzPl1dKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjQKIG1zZ2lkICJ3cml0ZSByZXN1bHRpbmcgaW5kZXggdG8gPGZpbGU+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI2CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNwogbXNnaWQgIm9ubHkgZW1wdHkgdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI4CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOQogbXNnaWQgIk1lcmdpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMxCiBtc2dpZCAicGVyZm9ybSBhIG1lcmdlIGluIGFkZGl0aW9uIHRvIGEgcmVhZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMgorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzMKIG1zZ2lkICIzLXdheSBtZXJnZSBpZiBubyBmaWxlIGxldmVsIG1lcmdpbmcgcmVxdWlyZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzQKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM1CiBtc2dpZCAiMy13YXkgbWVyZ2UgaW4gcHJlc2VuY2Ugb2YgYWRkcyBhbmQgcmVtb3ZlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNgorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzcKIG1zZ2lkICJzYW1lIGFzIC1tLCBidXQgZGlzY2FyZCB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOAogbXNnaWQgIjxzdWJkaXJlY3Rvcnk+LyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKIG1zZ2lkICJyZWFkIHRoZSB0cmVlIGludG8gdGhlIGluZGV4IHVuZGVyIDxzdWJkaXJlY3Rvcnk+LyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0MQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDIKIG1zZ2lkICJ1cGRhdGUgd29ya2luZyB0cmVlIHdpdGggbWVyZ2UgcmVzdWx0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NAogbXNnaWQgImdpdGlnbm9yZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDUKIG1zZ2lkICJhbGxvdyBleHBsaWNpdGx5IGlnbm9yZWQgZmlsZXMgdG8gYmUgb3ZlcndyaXR0ZW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDcKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ4CiBtc2dpZCAiZG9uJ3QgY2hlY2sgdGhlIHdvcmtpbmcgdHJlZSBhZnRlciBtZXJnaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ4CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0OQogbXNnaWQgImRvbid0IHVwZGF0ZSB0aGUgaW5kZXggb3IgdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1MAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTEKIG1zZ2lkICJza2lwIGFwcGx5aW5nIHNwYXJzZSBjaGVja291dCBmaWx0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTIKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUzCiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MjkKLW1zZ2lkICIiCi0iZ2l0IHJlYmFzZSBbLWldIFtvcHRpb25zXSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPl0gWzx1cHN0cmVhbT5dICIKLSJbPGJyYW5jaD5dIgorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTcKK21zZ2lkICJzdXBwcmVzcyBmZWVkYmFjayBtZXNzYWdlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjMxCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE4OAorbXNnaWQgIllvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzIKK21zZ2lkICIiCisiZ2l0IHJlYmFzZSBbLWldIFtvcHRpb25zXSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPiB8IC0ta2VlcC1iYXNlXSAiCisiWzx1cHN0cmVhbT4gWzxicmFuY2g+XV0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzozNAogbXNnaWQgIiIKICJnaXQgcmViYXNlIFstaV0gW29wdGlvbnNdIFstLWV4ZWMgPGNtZD5dIFstLW9udG8gPG5ld2Jhc2U+XSAtLXJvb3QgWzxicmFuY2g+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjMzCisjOiBidWlsdGluL3JlYmFzZS5jOjM2CiBtc2dpZCAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIHwgLS1hYm9ydCB8IC0tc2tpcCB8IC0tZWRpdC10b2RvIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTE5CisjOiBidWlsdGluL3JlYmFzZS5jOjE3NyBidWlsdGluL3JlYmFzZS5jOjIwMSBidWlsdGluL3JlYmFzZS5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnVzYWJsZSB0b2RvIGxpc3Q6ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxODYgYnVpbHRpbi9yZWJhc2UuYzoyMTIgYnVpbHRpbi9yZWJhc2UuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlICclcycuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjcxCittc2dpZCAibm8gSEVBRD8iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzozMDQKK21zZ2lkICJjb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjM2MgorbXNnaWQgImNvdWxkIG5vdCBnZW5lcmF0ZSB0b2RvIGxpc3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0MDIKK21zZ2lkICJhIGJhc2UgY29tbWl0IG11c3QgYmUgcHJvdmlkZWQgd2l0aCAtLXVwc3RyZWFtIG9yIC0tb250byIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ1NworbXNnaWQgImdpdCByZWJhc2UtLWludGVyYWN0aXZlIFs8b3B0aW9ucz5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDY5Cittc2dpZCAia2VlcCBlbXB0eSBjb21taXRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDcxIGJ1aWx0aW4vcmV2ZXJ0LmM6MTI4Cittc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDcyCittc2dpZCAicmViYXNlIG1lcmdlIGNvbW1pdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzQKK21zZ2lkICJrZWVwIG9yaWdpbmFsIGJyYW5jaCBwb2ludHMgb2YgY291c2lucyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3NgorbXNnaWQgIm1vdmUgY29tbWl0cyB0aGF0IGJlZ2luIHdpdGggc3F1YXNoIS9maXh1cCEiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzcKK21zZ2lkICJzaWduIGNvbW1pdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzkgYnVpbHRpbi9yZWJhc2UuYzoxNDU1Cittc2dpZCAiZGlzcGxheSBhIGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4MQorbXNnaWQgImNvbnRpbnVlIHJlYmFzZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4MworbXNnaWQgInNraXAgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDg0Cittc2dpZCAiZWRpdCB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDg2Cittc2dpZCAic2hvdyB0aGUgY3VycmVudCBwYXRjaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4OQorbXNnaWQgInNob3J0ZW4gY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDkxCittc2dpZCAiZXhwYW5kIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ5MworbXNnaWQgImNoZWNrIHRoZSB0b2RvIGxpc3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTUKK21zZ2lkICJyZWFycmFuZ2UgZml4dXAvc3F1YXNoIGxpbmVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDk3Cittc2dpZCAiaW5zZXJ0IGV4ZWMgY29tbWFuZHMgaW4gdG9kbyBsaXN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDk4Cittc2dpZCAib250byIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwMQorbXNnaWQgInJlc3RyaWN0LXJldmlzaW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTAxCittc2dpZCAicmVzdHJpY3QgcmV2aXNpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDMKK21zZ2lkICJzcXVhc2gtb250byIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwNAorbXNnaWQgInNxdWFzaCBvbnRvIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA2Cittc2dpZCAidGhlIHVwc3RyZWFtIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwOAorbXNnaWQgImhlYWQtbmFtZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwOAorbXNnaWQgImhlYWQgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxMworbXNnaWQgInJlYmFzZSBzdHJhdGVneSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxNAorbXNnaWQgInN0cmF0ZWd5LW9wdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTUKK21zZ2lkICJzdHJhdGVneSBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE2Cittc2dpZCAic3dpdGNoLXRvIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE3Cittc2dpZCAidGhlIGJyYW5jaCBvciBjb21taXQgdG8gY2hlY2tvdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTgKK21zZ2lkICJvbnRvLW5hbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTgKK21zZ2lkICJvbnRvIG5hbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTkKK21zZ2lkICJjbWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTkKK21zZ2lkICJ0aGUgY29tbWFuZCB0byBydW4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MjIgYnVpbHRpbi9yZWJhc2UuYzoxNTQwCittc2dpZCAiYXV0b21hdGljYWxseSByZS1zY2hlZHVsZSBhbnkgYGV4ZWNgIHRoYXQgZmFpbHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1NDAKK21zZ2lkICItLVtuby1dcmViYXNlLWNvdXNpbnMgaGFzIG5vIGVmZmVjdCB3aXRob3V0IC0tcmViYXNlLW1lcmdlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjU1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyByZXF1aXJlcyBhbiBpbnRlcmFjdGl2ZSByZWJhc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNzEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgJ29udG8nOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTg2CisjOiBidWlsdGluL3JlYmFzZS5jOjYyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9yaWctaGVhZDogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjIxNAorIzogYnVpbHRpbi9yZWJhc2UuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgaW52YWxpZCBhbGxvd19yZXJlcmVfYXV0b3VwZGF0ZTogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjI1OQorIzogYnVpbHRpbi9yZWJhc2UuYzo3MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjI3NworIzogYnVpbHRpbi9yZWJhc2UuYzo3NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN0b3JlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MzM3CisjOiBidWlsdGluL3JlYmFzZS5jOjg0OQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgSEVBRCByZXZpc2lvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjk3MiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODEKIG1zZ2lkICIiCiAiUmVzb2x2ZSBhbGwgY29uZmxpY3RzIG1hbnVhbGx5LCBtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgd2l0aFxuIgogIlwiZ2l0IGFkZC9ybSA8Y29uZmxpY3RlZF9maWxlcz5cIiwgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKQEAgLTE0MDQxLDExICsxNjc5MCwxOSBAQAogImFib3J0XCIuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6NTYxCi1tc2dpZCAiY291bGQgbm90IGRldGVybWluZSBIRUFEIHJldmlzaW9uIgorIzogYnVpbHRpbi9yZWJhc2UuYzoxMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJnaXQgZW5jb3VudGVyZWQgYW4gZXJyb3Igd2hpbGUgcHJlcGFyaW5nIHRoZSBwYXRjaGVzIHRvIHJlcGxheVxuIgorInRoZXNlIHJldmlzaW9uczpcbiIKKyJcbiIKKyIgICAgJXNcbiIKKyJcbiIKKyJBcyBhIHJlc3VsdCwgZ2l0IGNhbm5vdCByZWJhc2UgdGhlbS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo3NTMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTM2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXNcbiIKQEAgLTE0MDU2LDcgKzE2ODEzLDcgQEAKICJcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjc2OQorIzogYnVpbHRpbi9yZWJhc2UuYzoxMzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDpcbiIKQEAgLTE0MDY1LDE2OCArMTY4MjIsMTkzIEBACiAiXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4MzIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQxMworbXNnaWQgImV4ZWMgY29tbWFuZHMgY2Fubm90IGNvbnRhaW4gbmV3bGluZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDE3Cittc2dpZCAiZW1wdHkgZXhlYyBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ0NgogbXNnaWQgInJlYmFzZSBvbnRvIGdpdmVuIGJyYW5jaCBpbnN0ZWFkIG9mIHVwc3RyZWFtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODM0CisjOiBidWlsdGluL3JlYmFzZS5jOjE0NDgKK21zZ2lkICJ1c2UgdGhlIG1lcmdlLWJhc2Ugb2YgdXBzdHJlYW0gYW5kIGJyYW5jaCBhcyB0aGUgY3VycmVudCBiYXNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1MAogbXNnaWQgImFsbG93IHByZS1yZWJhc2UgaG9vayB0byBydW4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4MzYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1MgogbXNnaWQgImJlIHF1aWV0LiBpbXBsaWVzIC0tbm8tc3RhdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjgzOQotbXNnaWQgImRpc3BsYXkgYSBkaWZmc3RhdCBvZiB3aGF0IGNoYW5nZWQgdXBzdHJlYW0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzo4NDIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1OAogbXNnaWQgImRvIG5vdCBzaG93IGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg0NQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDYxCiBtc2dpZCAiYWRkIGEgU2lnbmVkLW9mZi1ieTogbGluZSB0byBlYWNoIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg0NyBidWlsdGluL3JlYmFzZS5jOjg1MSBidWlsdGluL3JlYmFzZS5jOjg1MwotbXNnaWQgInBhc3NlZCB0byAnZ2l0IGFtJyIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ2NAorbXNnaWQgIm1ha2UgY29tbWl0dGVyIGRhdGUgbWF0Y2ggYXV0aG9yIGRhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NTUgYnVpbHRpbi9yZWJhc2UuYzo4NTcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ2NgorbXNnaWQgImlnbm9yZSBhdXRob3IgZGF0ZSBhbmQgdXNlIGN1cnJlbnQgZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NjgKK21zZ2lkICJzeW5vbnltIG9mIC0tcmVzZXQtYXV0aG9yLWRhdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDcwIGJ1aWx0aW4vcmViYXNlLmM6MTQ3NAogbXNnaWQgInBhc3NlZCB0byAnZ2l0IGFwcGx5JyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg1OSBidWlsdGluL3JlYmFzZS5jOjg2MgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDcyCittc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NzYgYnVpbHRpbi9yZWJhc2UuYzoxNDc5CiBtc2dpZCAiY2hlcnJ5LXBpY2sgYWxsIGNvbW1pdHMsIGV2ZW4gaWYgdW5jaGFuZ2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODY0CisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODEKIG1zZ2lkICJjb250aW51ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg2NworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDg0CiBtc2dpZCAic2tpcCBjdXJyZW50IHBhdGNoIGFuZCBjb250aW51ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg2OQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDg2CiBtc2dpZCAiYWJvcnQgYW5kIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODcyCisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODkKIG1zZ2lkICJhYm9ydCBidXQga2VlcCBIRUFEIHdoZXJlIGl0IGlzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODczCisjOiBidWlsdGluL3JlYmFzZS5jOjE0OTAKIG1zZ2lkICJlZGl0IHRoZSB0b2RvIGxpc3QgZHVyaW5nIGFuIGludGVyYWN0aXZlIHJlYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg3NgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDkzCiBtc2dpZCAic2hvdyB0aGUgcGF0Y2ggZmlsZSBiZWluZyBhcHBsaWVkIG9yIG1lcmdlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg3OQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDk2CiBtc2dpZCAidXNlIG1lcmdpbmcgc3RyYXRlZ2llcyB0byByZWJhc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4ODMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwMAogbXNnaWQgImxldCB0aGUgdXNlciBlZGl0IHRoZSBsaXN0IG9mIGNvbW1pdHMgdG8gcmViYXNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODg3Ci1tc2dpZCAidHJ5IHRvIHJlY3JlYXRlIG1lcmdlcyBpbnN0ZWFkIG9mIGlnbm9yaW5nIHRoZW0iCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MDQKK21zZ2lkICIoREVQUkVDQVRFRCkgdHJ5IHRvIHJlY3JlYXRlIG1lcmdlcyBpbnN0ZWFkIG9mIGlnbm9yaW5nIHRoZW0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4OTEKLW1zZ2lkICJhbGxvdyByZXJlcmUgdG8gdXBkYXRlIGluZGV4IHdpdGggcmVzb2x2ZWQgY29uZmxpY3QiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzo4OTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwOQogbXNnaWQgInByZXNlcnZlIGVtcHR5IGNvbW1pdHMgZHVyaW5nIHJlYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg5NgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTExCiBtc2dpZCAibW92ZSBjb21taXRzIHRoYXQgYmVnaW4gd2l0aCBzcXVhc2ghL2ZpeHVwISB1bmRlciAtaSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkwMgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTE3CiBtc2dpZCAiYXV0b21hdGljYWxseSBzdGFzaC9zdGFzaCBwb3AgYmVmb3JlIGFuZCBhZnRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkwNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTE5CiBtc2dpZCAiYWRkIGV4ZWMgbGluZXMgYWZ0ZXIgZWFjaCBjb21taXQgb2YgdGhlIGVkaXRhYmxlIGxpc3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MDgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyMwogbXNnaWQgImFsbG93IHJlYmFzaW5nIGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkxMQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTI2CiBtc2dpZCAidHJ5IHRvIHJlYmFzZSBtZXJnZXMgaW5zdGVhZCBvZiBza2lwcGluZyB0aGVtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTE0CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MjkKIG1zZ2lkICJ1c2UgJ21lcmdlLWJhc2UgLS1mb3JrLXBvaW50JyB0byByZWZpbmUgdXBzdHJlYW0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzMQogbXNnaWQgInVzZSB0aGUgZ2l2ZW4gbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTggYnVpbHRpbi9yZXZlcnQuYzoxMTEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzMyBidWlsdGluL3JldmVydC5jOjExNQogbXNnaWQgIm9wdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkxOQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTM0CiBtc2dpZCAicGFzcyB0aGUgYXJndW1lbnQgdGhyb3VnaCB0byB0aGUgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MjIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzNwogbXNnaWQgInJlYmFzZSBhbGwgcmVhY2hhYmxlIGNvbW1pdHMgdXAgdG8gdGhlIHJvb3QocykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGV4ZWMgJXMiCisjOiBidWlsdGluL3JlYmFzZS5jOjE1NTQKK21zZ2lkICIiCisidGhlIHJlYmFzZS51c2VCdWlsdGluIHN1cHBvcnQgaGFzIGJlZW4gcmVtb3ZlZCFcbiIKKyJTZWUgaXRzIGVudHJ5IGluICdnaXQgaGVscCBjb25maWcnIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjk1NiBnaXQtbGVnYWN5LXJlYmFzZS5zaDoyMTMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTU2MAogbXNnaWQgIkl0IGxvb2tzIGxpa2UgJ2dpdCBhbScgaXMgaW4gcHJvZ3Jlc3MuIENhbm5vdCByZWJhc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTk3IGdpdC1sZWdhY3ktcmViYXNlLnNoOjM5NQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNjAxCittc2dpZCAiIgorImdpdCByZWJhc2UgLS1wcmVzZXJ2ZS1tZXJnZXMgaXMgZGVwcmVjYXRlZC4gVXNlIC0tcmViYXNlLW1lcmdlcyBpbnN0ZWFkLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2MDYKK21zZ2lkICJjYW5ub3QgY29tYmluZSAnLS1rZWVwLWJhc2UnIHdpdGggJy0tb250byciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjA4Cittc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0ta2VlcC1iYXNlJyB3aXRoICctLXJvb3QnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYxMgogbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDAxIGdpdC1sZWdhY3ktcmViYXNlLnNoOjQwNgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNjE2CiBtc2dpZCAiVGhlIC0tZWRpdC10b2RvIGFjdGlvbiBjYW4gb25seSBiZSB1c2VkIGR1cmluZyBpbnRlcmFjdGl2ZSByZWJhc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTAxNSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0MTMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYzOQogbXNnaWQgIkNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDI4IGdpdC1sZWdhY3ktcmViYXNlLnNoOjQxNgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNjUxCiBtc2dpZCAiIgogIllvdSBtdXN0IGVkaXQgYWxsIG1lcmdlIGNvbmZsaWN0cyBhbmQgdGhlblxuIgogIm1hcmsgdGhlbSBhcyByZXNvbHZlZCB1c2luZyBnaXQgYWRkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTA0NworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjcwCiBtc2dpZCAiY291bGQgbm90IGRpc2NhcmQgd29ya3RyZWUgY2hhbmdlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEwNjYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbW92ZSBiYWNrIHRvICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTA3NyBidWlsdGluL3JtLmM6MzY4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS5jOjExMDMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTczNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJXMgZGlyZWN0b3J5LCBhbmRcbiIKQEAgLTE0MjM5LDMzMyArMTcwMjEsMTU5IEBACiAidmFsdWFibGUgdGhlcmUuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTI0CisjOiBidWlsdGluL3JlYmFzZS5jOjE3NTcKIG1zZ2lkICJzd2l0Y2ggYEMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTYxCisjOiBidWlsdGluL3JlYmFzZS5jOjE3OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBtb2RlOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjExODMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTgyMAogbXNnaWQgIi0tc3RyYXRlZ3kgcmVxdWlyZXMgLS1tZXJnZSBvciAtLWludGVyYWN0aXZlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTIyNgotIywgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg2MAorbXNnaWQgIi0tcmVzY2hlZHVsZS1mYWlsZWQtZXhlYyByZXF1aXJlcyAtLWV4ZWMgb3IgLS1pbnRlcmFjdGl2ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4NzIKK21zZ2lkICJjYW5ub3QgY29tYmluZSBhbSBvcHRpb25zIHdpdGggZWl0aGVyIGludGVyYWN0aXZlIG9yIG1lcmdlIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxODkxCittc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0tcHJlc2VydmUtbWVyZ2VzJyB3aXRoICctLXJlYmFzZS1tZXJnZXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg5NQogbXNnaWQgIiIKLSJlcnJvcjogY2Fubm90IGNvbWJpbmUgaW50ZXJhY3RpdmUgb3B0aW9ucyAoLS1pbnRlcmFjdGl2ZSwgLS1leGVjLCAtLXJlYmFzZS0iCi0ibWVyZ2VzLCAtLXByZXNlcnZlLW1lcmdlcywgLS1rZWVwLWVtcHR5LCAtLXJvb3QgKyAtLW9udG8pIHdpdGggYW0gb3B0aW9ucyAiCi0iKCVzKSIKKyJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcHJlc2VydmUtbWVyZ2VzJyB3aXRoICctLXJlc2NoZWR1bGUtZmFpbGVkLWV4ZWMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTIzMQotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iZXJyb3I6IGNhbm5vdCBjb21iaW5lIG1lcmdlIG9wdGlvbnMgKC0tbWVyZ2UsIC0tc3RyYXRlZ3ksIC0tc3RyYXRlZ3ktb3B0aW9uKSAiCi0id2l0aCBhbSBvcHRpb25zICglcykiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjUxIGdpdC1sZWdhY3ktcmViYXNlLnNoOjUzNgotbXNnaWQgImVycm9yOiBjYW5ub3QgY29tYmluZSAnLS1wcmVzZXJ2ZS1tZXJnZXMnIHdpdGggJy0tcmViYXNlLW1lcmdlcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjU2IGdpdC1sZWdhY3ktcmViYXNlLnNoOjU0MgotbXNnaWQgImVycm9yOiBjYW5ub3QgY29tYmluZSAnLS1yZWJhc2UtbWVyZ2VzJyB3aXRoICctLXN0cmF0ZWd5LW9wdGlvbiciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjU5IGdpdC1sZWdhY3ktcmViYXNlLnNoOjU0NAotbXNnaWQgImVycm9yOiBjYW5ub3QgY29tYmluZSAnLS1yZWJhc2UtbWVyZ2VzJyB3aXRoICctLXN0cmF0ZWd5JyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS5jOjEyODMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTkxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjg5CisjOiBidWlsdGluL3JlYmFzZS5jOjE5MjUKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIG5ldyByb290IGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzMDcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTk1MQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnOiBuZWVkIGV4YWN0bHkgb25lIG1lcmdlIGJhc2Ugd2l0aCBicmFuY2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxOTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IG5lZWQgZXhhY3RseSBvbmUgbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzMTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTk2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTMzOQorIzogYnVpbHRpbi9yZWJhc2UuYzoxOTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaC9jb21taXQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzNDcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM3Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkzMAorIzogYnVpbHRpbi9yZWJhc2UuYzoxOTk1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZWY6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM1OQorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDA2CiBtc2dpZCAiQ291bGQgbm90IHJlc29sdmUgSEVBRCB0byBhIHJldmlzaW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM5OSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2NjUKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA0NAogbXNnaWQgIkNhbm5vdCBhdXRvc3Rhc2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDAyCisjOiBidWlsdGluL3JlYmFzZS5jOjIwNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5leHBlY3RlZCBzdGFzaCByZXNwb25zZTogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0MDgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSBmb3IgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0MTEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0MTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA1OQogbXNnaWQgImNvdWxkIG5vdCByZXNldCAtLWhhcmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDE1IGJ1aWx0aW4vcmVzZXQuYzoxMTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSEVBRCBpcyBub3cgYXQgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDMxIGdpdC1sZWdhY3ktcmViYXNlLnNoOjY3NAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDY4CiBtc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0NTgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0NzAKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3dpdGNoIHRvICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ4MSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2OTcKLSMsIHNoLWZvcm1hdAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTE5CiBtc2dpZCAiSEVBRCBpcyB1cCB0byBkYXRlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0ODMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAlcyBpcyB1cCB0byBkYXRlLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ5MSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MDcKLSMsIHNoLWZvcm1hdAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTI5CiBtc2dpZCAiSEVBRCBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0OTMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAlcyBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwMSBnaXQtbGVnYWN5LXJlYmFzZS5zaDoyMDgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEzOQogbXNnaWQgIlRoZSBwcmUtcmViYXNlIGhvb2sgcmVmdXNlZCB0byByZWJhc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwOAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgdG8gJXM6XG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNTExCisjOiBidWlsdGluL3JlYmFzZS5jOjIxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hhbmdlcyBmcm9tICVzIHRvICVzOlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzNgorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTU0MworIzogYnVpbHRpbi9yZWJhc2UuYzoyMTgzCiBtc2dpZCAiQ291bGQgbm90IGRldGFjaCBIRUFEIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTU1MgorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGVkICVzIHRvICVzLlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjI0Ci1tc2dpZCAibm8gSEVBRD8iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6NTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6NTcKLW1zZ2lkICJjb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxMDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IG9wZW4gJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTE0Ci1tc2dpZCAiY291bGQgbm90IGdlbmVyYXRlIHRvZG8gbGlzdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxMjkKLW1zZ2lkICJnaXQgcmViYXNlLS1pbnRlcmFjdGl2ZSBbPG9wdGlvbnM+XSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNDgKLW1zZ2lkICJrZWVwIGVtcHR5IGNvbW1pdHMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTUwIGJ1aWx0aW4vcmV2ZXJ0LmM6MTI0Ci1tc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1MQotbXNnaWQgInJlYmFzZSBtZXJnZSBjb21taXRzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1MwotbXNnaWQgImtlZXAgb3JpZ2luYWwgYnJhbmNoIHBvaW50cyBvZiBjb3VzaW5zIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1NQotbXNnaWQgIm1vdmUgY29tbWl0cyB0aGF0IGJlZ2luIHdpdGggc3F1YXNoIS9maXh1cCEiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTU2Ci1tc2dpZCAic2lnbiBjb21taXRzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1OAotbXNnaWQgImNvbnRpbnVlIHJlYmFzZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjAKLW1zZ2lkICJza2lwIGNvbW1pdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjEKLW1zZ2lkICJlZGl0IHRoZSB0b2RvIGxpc3QiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTYzCi1tc2dpZCAic2hvdyB0aGUgY3VycmVudCBwYXRjaCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjYKLW1zZ2lkICJzaG9ydGVuIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjgKLW1zZ2lkICJleHBhbmQgY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3MAotbXNnaWQgImNoZWNrIHRoZSB0b2RvIGxpc3QiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTcyCi1tc2dpZCAicmVhcnJhbmdlIGZpeHVwL3NxdWFzaCBsaW5lcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzQKLW1zZ2lkICJpbnNlcnQgZXhlYyBjb21tYW5kcyBpbiB0b2RvIGxpc3QiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc1Ci1tc2dpZCAib250byIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzcKLW1zZ2lkICJyZXN0cmljdC1yZXZpc2lvbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzcKLW1zZ2lkICJyZXN0cmljdCByZXZpc2lvbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzgKLW1zZ2lkICJzcXVhc2gtb250byIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzkKLW1zZ2lkICJzcXVhc2ggb250byIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODEKLW1zZ2lkICJ0aGUgdXBzdHJlYW0gY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4MgotbXNnaWQgImhlYWQtbmFtZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODIKLW1zZ2lkICJoZWFkIG5hbWUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg3Ci1tc2dpZCAicmViYXNlIHN0cmF0ZWd5IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4OAotbXNnaWQgInN0cmF0ZWd5LW9wdHMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg5Ci1tc2dpZCAic3RyYXRlZ3kgb3B0aW9ucyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTAKLW1zZ2lkICJzd2l0Y2gtdG8iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkxCi1tc2dpZCAidGhlIGJyYW5jaCBvciBjb21taXQgdG8gY2hlY2tvdXQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkyCi1tc2dpZCAib250by1uYW1lIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5MgotbXNnaWQgIm9udG8gbmFtZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTMKLW1zZ2lkICJjbWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkzCi1tc2dpZCAidGhlIGNvbW1hbmQgdG8gcnVuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjIyMAotbXNnaWQgIi0tW25vLV1yZWJhc2UtY291c2lucyBoYXMgbm8gZWZmZWN0IHdpdGhvdXQgLS1yZWJhc2UtbWVyZ2VzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjIyNgotbXNnaWQgImEgYmFzZSBjb21taXQgbXVzdCBiZSBwcm92aWRlZCB3aXRoIC0tdXBzdHJlYW0gb3IgLS1vbnRvIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MzMKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MzIKIG1zZ2lkICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKIG1zZ3N0ciAiIgogCkBAIC0xNDU5OCwxOSArMTcyMDYsNjkgQEAKICJUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZSwgeW91IGNhbiBzZXQgaXQgdG8gJ3JlZnVzZScuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTkyOQorIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTM2CiBtc2dpZCAicXVpZXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NTAKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgZGlyZWN0b3J5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjU2MyBidWlsdGluL3JlZmxvZy5jOjU2OAorIzogYnVpbHRpbi9yZWZsb2cuYzoxNworbXNnaWQgIiIKKyJnaXQgcmVmbG9nIGV4cGlyZSBbLS1leHBpcmU9PHRpbWU+XSBbLS1leHBpcmUtdW5yZWFjaGFibGU9PHRpbWU+XSBbLS0iCisicmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1zdGFsZS1maXhdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gWy0tYWxsXSAiCisiPHJlZnM+Li4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6MjIKK21zZ2lkICIiCisiZ2l0IHJlZmxvZyBkZWxldGUgWy0tcmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1kcnktcnVuIHwgLW5dIFstLXZlcmJvc2VdICIKKyI8cmVmcz4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzoyNQorbXNnaWQgImdpdCByZWZsb2cgZXhpc3RzIDxyZWY+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NTY3IGJ1aWx0aW4vcmVmbG9nLmM6NTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICIiCiAKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIk1hcmtpbmcgcmVhY2hhYmxlIG9iamVjdHMuLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo2NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcG9pbnRzIG5vd2hlcmUhIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6Njk1Cittc2dpZCAibm8gcmVmbG9nIHNwZWNpZmllZCB0byBkZWxldGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo3MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgcmVmbG9nOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjcwOQorIywgYy1mb3JtYXQKK21zZ2lkICJubyByZWZsb2cgZm9yICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCByZWYgZm9ybWF0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjc2NAorbXNnaWQgImdpdCByZWZsb2cgWyBzaG93IHwgZXhwaXJlIHwgZGVsZXRlIHwgZXhpc3RzIF0iCittc2dzdHIgIiIKKwogIzogYnVpbHRpbi9yZW1vdGUuYzoxNgogbXNnaWQgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSIKIG1zZ3N0ciAiIgpAQCAtMTQ3NjYsNyArMTc0MjQsNyBAQAogbXNnaWQgIihkZWxldGUpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjI5IGJ1aWx0aW4vcmVtb3RlLmM6NzY1IGJ1aWx0aW4vcmVtb3RlLmM6ODY0CisjOiBidWlsdGluL3JlbW90ZS5jOjYyOSBidWlsdGluL3JlbW90ZS5jOjc2NCBidWlsdGluL3JlbW90ZS5jOjg2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZTogJyVzJyIKIG1zZ3N0ciAiIgpAQCAtMTQ3ODQsMTcgKzE3NDQyLDE3IEBACiAiXHRQbGVhc2UgdXBkYXRlIHRoZSBjb25maWd1cmF0aW9uIG1hbnVhbGx5IGlmIG5lY2Vzc2FyeS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3MDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzM2CisjOiBidWlsdGluL3JlbW90ZS5jOjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjcmVhdGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgwMgorIzogYnVpbHRpbi9yZW1vdGUuYzo4MDEKIG1zZ2lkICIiCiAiTm90ZTogQSBicmFuY2ggb3V0c2lkZSB0aGUgcmVmcy9yZW1vdGVzLyBoaWVyYXJjaHkgd2FzIG5vdCByZW1vdmVkO1xuIgogInRvIGRlbGV0ZSBpdCwgdXNlOiIKQEAgLTE0ODA0LDExOCArMTc0NjIsMTE4IEBACiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgxNgorIzogYnVpbHRpbi9yZW1vdGUuYzo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBjb25maWcgc2VjdGlvbiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE3CisjOiBidWlsdGluL3JlbW90ZS5jOjkxNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgbmV3IChuZXh0IGZldGNoIHdpbGwgc3RvcmUgaW4gcmVtb3Rlcy8lcykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE5CiBtc2dpZCAiIHRyYWNrZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MjIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTIxCiBtc2dpZCAiIHN0YWxlICh1c2UgJ2dpdCByZW1vdGUgcHJ1bmUnIHRvIHJlbW92ZSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTIzCiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk2NQorIzogYnVpbHRpbi9yZW1vdGUuYzo5NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBicmFuY2guJXMubWVyZ2U7IGNhbm5vdCByZWJhc2Ugb250byA+IDEgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc0CisjOiBidWlsdGluL3JlbW90ZS5jOjk3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIGludGVyYWN0aXZlbHkgb250byByZW1vdGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSAod2l0aCBtZXJnZXMpIG9udG8gcmVtb3RlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc5CisjOiBidWlsdGluL3JlbW90ZS5jOjk3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIG9udG8gcmVtb3RlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTgzCisjOiBidWlsdGluL3JlbW90ZS5jOjk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgbWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg2CisjOiBidWlsdGluL3JlbW90ZS5jOjk4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5ODkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiUtKnMgICAgYW5kIHdpdGggcmVtb3RlICVzXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMyCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzEKIG1zZ2lkICJjcmVhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM1CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzQKIG1zZ2lkICJkZWxldGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM5CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzgKIG1zZ2lkICJ1cCB0byBkYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQxCiBtc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NAogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU1CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDYyCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEzMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTI5CiBtc2dpZCAiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU3CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiByZW1vdGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGZXRjaCBVUkw6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OSBidWlsdGluL3JlbW90ZS5jOjExNzUgYnVpbHRpbi9yZW1vdGUuYzoxMzE0CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTggYnVpbHRpbi9yZW1vdGUuYzoxMTc0IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMwogbXNnaWQgIihubyBVUkwpIgogbXNnc3RyICIiCiAKQEAgLTE0OTIzLDI4NyArMTc1ODEsMzA2IEBACiAjLiB3aXRoIHRoZSBvbmUgaW4gIiBGZXRjaCBVUkw6ICVzIgogIy4gdHJhbnNsYXRpb24uCiAjLgotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTczIGJ1aWx0aW4vcmVtb3RlLmM6MTE3NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTcyIGJ1aWx0aW4vcmVtb3RlLmM6MTE3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFB1c2ggIFVSTDogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc3IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OSBidWlsdGluL3JlbW90ZS5jOjExODEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NiBidWlsdGluL3JlbW90ZS5jOjExNzggYnVpbHRpbi9yZW1vdGUuYzoxMTgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgSEVBRCBicmFuY2g6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2CiBtc2dpZCAiKG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OAogbXNnaWQgIih1bmtub3duKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExODMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiICBIRUFEIGJyYW5jaCAocmVtb3RlIEhFQUQgaXMgYW1iaWd1b3VzLCBtYXkgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcpOlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUmVtb3RlIGJyYW5jaDolcyIKIG1zZ2lkX3BsdXJhbCAiICBSZW1vdGUgYnJhbmNoZXM6JXMiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExOTggYnVpbHRpbi9yZW1vdGUuYzoxMjI0CisjOiBidWlsdGluL3JlbW90ZS5jOjExOTcgYnVpbHRpbi9yZW1vdGUuYzoxMjIzCiBtc2dpZCAiIChzdGF0dXMgbm90IHF1ZXJpZWQpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjA2CiBtc2dpZCAiICBMb2NhbCBicmFuY2ggY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgYnJhbmNoZXMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIxNAogbXNnaWQgIiAgTG9jYWwgcmVmcyB3aWxsIGJlIG1pcnJvcmVkIGJ5ICdnaXQgcHVzaCciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjIxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBMb2NhbCByZWYgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCByZWZzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MQogbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MwogbXNnaWQgImRlbGV0ZSByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjU5CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNTgKIG1zZ2lkICJDYW5ub3QgZGV0ZXJtaW5lIHJlbW90ZSBIRUFEIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYwCiBtc2dpZCAiTXVsdGlwbGUgcmVtb3RlIEhFQUQgYnJhbmNoZXMuIFBsZWFzZSBjaG9vc2Ugb25lIGV4cGxpY2l0bHkgd2l0aDoiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjcxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGRlbGV0ZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCByZWY6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyBoYXMgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcnVuaW5nICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVSTDogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI3CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3dvdWxkIHBydW5lXSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbcHJ1bmVkXSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzNzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM3NAogbXNnaWQgInBydW5lIHJlbW90ZXMgYWZ0ZXIgZmV0Y2hpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDM4IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5MiBidWlsdGluL3JlbW90ZS5jOjE1NjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNyBidWlsdGluL3JlbW90ZS5jOjE0OTEgYnVpbHRpbi9yZW1vdGUuYzoxNTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDU0CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NTMKIG1zZ2lkICJhZGQgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYwCiBtc2dpZCAibm8gcmVtb3RlIHNwZWNpZmllZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3NwogbXNnaWQgInF1ZXJ5IHB1c2ggVVJMcyByYXRoZXIgdGhhbiBmZXRjaCBVUkxzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ4MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDc5CiBtc2dpZCAicmV0dXJuIGFsbCBVUkxzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUwOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM0CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzMKIG1zZ2lkICJtYW5pcHVsYXRlIHB1c2ggVVJMcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzNQogbXNnaWQgImFkZCBVUkwiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM4CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzcKIG1zZ2lkICJkZWxldGUgVVJMcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU0NAogbXNnaWQgIi0tYWRkIC0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1ODQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG9sZCBVUkwgcGF0dGVybjogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkyCisjOiBidWlsdGluL3JlbW90ZS5jOjE1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkzCiBtc2dpZCAiV2lsbCBub3QgZGVsZXRlIGFsbCBub24tcHVzaCBVUkxzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYxMAotbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjQxCi0jLCBjLWZvcm1hdAotbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZXBhY2suYzoyMgorIzogYnVpbHRpbi9yZXBhY2suYzoyMwogbXNnaWQgImdpdCByZXBhY2sgWzxvcHRpb25zPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyNworIzogYnVpbHRpbi9yZXBhY2suYzoyOAogbXNnaWQgIiIKICJJbmNyZW1lbnRhbCByZXBhY2tzIGFyZSBpbmNvbXBhdGlibGUgd2l0aCBiaXRtYXAgaW5kZXhlcy4gIFVzZVxuIgogIi0tbm8td3JpdGUtYml0bWFwLWluZGV4IG9yIGRpc2FibGUgdGhlIHBhY2sud3JpdGViaXRtYXBzIGNvbmZpZ3VyYXRpb24uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk0CisjOiBidWlsdGluL3JlcGFjay5jOjE5MQorbXNnaWQgImNvdWxkIG5vdCBzdGFydCBwYWNrLW9iamVjdHMgdG8gcmVwYWNrIHByb21pc29yIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyMzAgYnVpbHRpbi9yZXBhY2suYzo0MTYKK21zZ2lkICJyZXBhY2s6IEV4cGVjdGluZyBmdWxsIGhleCBvYmplY3QgSUQgbGluZXMgb25seSBmcm9tIHBhY2stb2JqZWN0cy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyNTQKK21zZ2lkICJjb3VsZCBub3QgZmluaXNoIHBhY2stb2JqZWN0cyB0byByZXBhY2sgcHJvbWlzb3Igb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjI5MgogbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk2CisjOiBidWlsdGluL3JlcGFjay5jOjI5NAogbXNnaWQgInNhbWUgYXMgLWEsIGFuZCB0dXJuIHVucmVhY2hhYmxlIG9iamVjdHMgbG9vc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyOTkKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk3CiBtc2dpZCAicmVtb3ZlIHJlZHVuZGFudCBwYWNrcywgYW5kIHJ1biBnaXQtcHJ1bmUtcGFja2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzAxCisjOiBidWlsdGluL3JlcGFjay5jOjI5OQogbXNnaWQgInBhc3MgLS1uby1yZXVzZS1kZWx0YSB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzAzCisjOiBidWlsdGluL3JlcGFjay5jOjMwMQogbXNnaWQgInBhc3MgLS1uby1yZXVzZS1vYmplY3QgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMwNQorIzogYnVpbHRpbi9yZXBhY2suYzozMDMKIG1zZ2lkICJkbyBub3QgcnVuIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMDgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA2CiBtc2dpZCAicGFzcyAtLWxvY2FsIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA4CiBtc2dpZCAid3JpdGUgYml0bWFwIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEyCisjOiBidWlsdGluL3JlcGFjay5jOjMxMAogbXNnaWQgInBhc3MgLS1kZWx0YS1pc2xhbmRzIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzExCiBtc2dpZCAiYXBwcm94aWRhdGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEyCiBtc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMxNgorIzogYnVpbHRpbi9yZXBhY2suYzozMTQKIG1zZ2lkICJ3aXRoIC1hLCByZXBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMxOAorIzogYnVpbHRpbi9yZXBhY2suYzozMTYKIG1zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTkgYnVpbHRpbi9yZXBhY2suYzozMjUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE3IGJ1aWx0aW4vcmVwYWNrLmM6MzIzCiBtc2dpZCAiYnl0ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMjAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE4CiBtc2dpZCAic2FtZSBhcyB0aGUgYWJvdmUsIGJ1dCBsaW1pdCBtZW1vcnkgc2l6ZSBpbnN0ZWFkIG9mIGVudHJpZXMgY291bnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMjIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzIwCiBtc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIGRlbHRhIGRlcHRoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI0CisjOiBidWlsdGluL3JlcGFjay5jOjMyMgogbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMyNgorIzogYnVpbHRpbi9yZXBhY2suYzozMjQKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBwYWNrZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMyOAorIzogYnVpbHRpbi9yZXBhY2suYzozMjYKIG1zZ2lkICJyZXBhY2sgb2JqZWN0cyBpbiBwYWNrcyBtYXJrZWQgd2l0aCAua2VlcCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMzMAorIzogYnVpbHRpbi9yZXBhY2suYzozMjgKIG1zZ2lkICJkbyBub3QgcmVwYWNrIHRoaXMgcGFjayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjM0MAorIzogYnVpbHRpbi9yZXBhY2suYzozMzgKIG1zZ2lkICJjYW5ub3QgZGVsZXRlIHBhY2tzIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzQ0CisjOiBidWlsdGluL3JlcGFjay5jOjM0MgogbXNnaWQgIi0ta2VlcC11bnJlYWNoYWJsZSBhbmQgLUEgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjUyNworIzogYnVpbHRpbi9yZXBhY2suYzo0MjUKK21zZ2lkICJOb3RoaW5nIG5ldyB0byBwYWNrLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogU29tZSBwYWNrcyBpbiB1c2UgaGF2ZSBiZWVuIHJlbmFtZWQgYnlcbiIKKyJXQVJOSU5HOiBwcmVmaXhpbmcgb2xkLSB0byB0aGVpciBuYW1lLCBpbiBvcmRlciB0b1xuIgorIldBUk5JTkc6IHJlcGxhY2UgdGhlbSB3aXRoIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGVcbiIKKyJXQVJOSU5HOiBmaWxlLiAgQnV0IHRoZSBvcGVyYXRpb24gZmFpbGVkLCBhbmQgdGhlXG4iCisiV0FSTklORzogYXR0ZW1wdCB0byByZW5hbWUgdGhlbSBiYWNrIHRvIHRoZWlyXG4iCisiV0FSTklORzogb3JpZ2luYWwgbmFtZXMgYWxzbyBmYWlsZWQuXG4iCisiV0FSTklORzogUGxlYXNlIHJlbmFtZSB0aGVtIGluICVzIG1hbnVhbGx5OlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6NTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKIG1zZ3N0ciAiIgpAQCAtMTUyMzIsMzkgKzE3OTA5LDM0IEBACiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PTxmb3JtYXQ+XSBbLWwgWzxwYXR0ZXJuPl1dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU4IGJ1aWx0aW4vcmVwbGFjZS5jOjIwMyBidWlsdGluL3JlcGxhY2UuYzoyMDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlcGxhY2UuYzo4NgorIzogYnVpbHRpbi9yZXBsYWNlLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImludmFsaWQgcmVwbGFjZSBmb3JtYXQgJyVzJ1xuIgogInZhbGlkIGZvcm1hdHMgYXJlICdzaG9ydCcsICdtZWRpdW0nIGFuZCAnbG9uZyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIxCisjOiBidWlsdGluL3JlcGxhY2UuYzoxMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwbGFjZSByZWYgJyVzJyBub3QgZm91bmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTM3CisjOiBidWlsdGluL3JlcGxhY2UuYzoxNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRlZCByZXBsYWNlIHJlZiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE0OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmIG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTU0CisjOiBidWlsdGluL3JlcGxhY2UuYzoxNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwbGFjZSByZWYgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxNzQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiT2JqZWN0cyBtdXN0IGJlIG9mIHRoZSBzYW1lIHR5cGUuXG4iCkBAIC0xNTI3MiwxNzggKzE3OTQ0LDE4MyBAQAogIndoaWxlICclcycgcG9pbnRzIHRvIGEgcmVwbGFjZW1lbnQgb2JqZWN0IG9mIHR5cGUgJyVzJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjI1CisjOiBidWlsdGluL3JlcGxhY2UuYzoyMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjM4CisjOiBidWlsdGluL3JlcGxhY2UuYzoyNDIKIG1zZ2lkICJjYXQtZmlsZSByZXBvcnRlZCBmYWlsdXJlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI1NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIGZvciByZWFkaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI2OAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjcyCiBtc2dpZCAidW5hYmxlIHRvIHNwYXduIG1rdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyNzIKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI3NgogbXNnaWQgInVuYWJsZSB0byByZWFkIGZyb20gbWt0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI4MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjg1CiBtc2dpZCAibWt0cmVlIHJlcG9ydGVkIGZhaWx1cmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjg1CisjOiBidWlsdGluL3JlcGxhY2UuYzoyODkKIG1zZ2lkICJta3RyZWUgZGlkIG5vdCByZXR1cm4gYW4gb2JqZWN0IG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjk0CisjOiBidWlsdGluL3JlcGxhY2UuYzoyOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGZzdGF0ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI5OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzAzCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG9iamVjdCB0byBkYXRhYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozMTggYnVpbHRpbi9yZXBsYWNlLmM6MzcxIGJ1aWx0aW4vcmVwbGFjZS5jOjQxNQotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQ1CisjOiBidWlsdGluL3JlcGxhY2UuYzozMjIgYnVpbHRpbi9yZXBsYWNlLmM6Mzc4IGJ1aWx0aW4vcmVwbGFjZS5jOjQyMworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMyMgorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBnZXQgb2JqZWN0IHR5cGUgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMzOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzQyCiBtc2dpZCAiZWRpdGluZyBvYmplY3QgZmlsZSBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzQ3CisjOiBidWlsdGluL3JlcGxhY2UuYzozNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IG9iamVjdCBpcyB0aGUgc2FtZSBhcyB0aGUgb2xkIG9uZTogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MDcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMgYXMgYSBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBtZXJnZXRhZyBpbiBjb21taXQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MDkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDIxCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm9yaWdpbmFsIGNvbW1pdCAnJXMnIGNvbnRhaW5zIG1lcmdldGFnICclcycgdGhhdCBpcyBkaXNjYXJkZWQ7IHVzZSAtLWVkaXQgIgogImluc3RlYWQgb2YgLS1ncmFmdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0NjAKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgb3JpZ2luYWwgY29tbWl0ICclcycgaGFzIGEgZ3BnIHNpZ25hdHVyZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0NjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2OQogbXNnaWQgInRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGluIHRoZSByZXBsYWNlbWVudCBjb21taXQhIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ3MQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgcmVwbGFjZW1lbnQgY29tbWl0IGZvcjogJyVzJyIKLW1zZ3N0ciAiIgotCiAjOiBidWlsdGluL3JlcGxhY2UuYzo0NzkKICMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlIHJlcGxhY2VtZW50IGNvbW1pdCBmb3I6ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDg3CisjLCBjLWZvcm1hdAogbXNnaWQgImdyYWZ0IGZvciAnJXMnIHVubmVjZXNzYXJ5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ4MgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBjb21taXQgaXMgdGhlIHNhbWUgYXMgdGhlIG9sZCBvbmU6ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTE1CisjOiBidWlsdGluL3JlcGxhY2UuYzo1MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBjb252ZXJ0IHRoZSBmb2xsb3dpbmcgZ3JhZnQocyk6XG4iCiAiJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM2CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDcKIG1zZ2lkICJsaXN0IHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1MzcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0OAogbXNnaWQgImRlbGV0ZSByZXBsYWNlIHJlZnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM4CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDkKIG1zZ2lkICJlZGl0IGV4aXN0aW5nIG9iamVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1MzkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1MAogbXNnaWQgImNoYW5nZSBhIGNvbW1pdCdzIHBhcmVudHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQwCisjOiBidWlsdGluL3JlcGxhY2UuYzo1NTEKIG1zZ2lkICJjb252ZXJ0IGV4aXN0aW5nIGdyYWZ0IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQxCisjOiBidWlsdGluL3JlcGxhY2UuYzo1NTIKIG1zZ2lkICJyZXBsYWNlIHRoZSByZWYgaWYgaXQgZXhpc3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0MworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU0CiBtc2dpZCAiZG8gbm90IHByZXR0eS1wcmludCBjb250ZW50cyBmb3IgLS1lZGl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU1CiBtc2dpZCAidXNlIHRoaXMgZm9ybWF0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1NworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTY4CiBtc2dpZCAiLS1mb3JtYXQgY2Fubm90IGJlIHVzZWQgd2hlbiBub3QgbGlzdGluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NjUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU3NgogbXNnaWQgIi1mIG9ubHkgbWFrZXMgc2Vuc2Ugd2hlbiB3cml0aW5nIGEgcmVwbGFjZW1lbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTY5CisjOiBidWlsdGluL3JlcGxhY2UuYzo1ODAKIG1zZ2lkICItLXJhdyBvbmx5IG1ha2VzIHNlbnNlIHdpdGggLS1lZGl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU3NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTg2CiBtc2dpZCAiLWQgbmVlZHMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU4MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTkyCiBtc2dpZCAiYmFkIG51bWJlciBvZiBhcmd1bWVudHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTg3CisjOiBidWlsdGluL3JlcGxhY2UuYzo1OTgKIG1zZ2lkICItZSBuZWVkcyBleGFjdGx5IG9uZSBhcmd1bWVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1OTMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYwNAogbXNnaWQgIi1nIG5lZWRzIGF0IGxlYXN0IG9uZSBhcmd1bWVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1OTkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYxMAogbXNnaWQgIi0tY29udmVydC1ncmFmdC1maWxlIHRha2VzIG5vIGFyZ3VtZW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYwNQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NjE2CiBtc2dpZCAib25seSBvbmUgcGF0dGVybiBjYW4gYmUgZ2l2ZW4gd2l0aCAtbCIKIG1zZ3N0ciAiIgogCkBAIC0xNTQ1OSwxMjMgKzE4MTM2LDEzNCBAQAogbXNnaWQgIidnaXQgcmVyZXJlIGZvcmdldCcgd2l0aG91dCBwYXRocyBpcyBkZXByZWNhdGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6MTExCisjOiBidWlsdGluL3JlcmVyZS5jOjExMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ2VuZXJhdGUgZGlmZiBmb3IgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzEKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMgogbXNnaWQgIiIKICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMyCi1tc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzPi4uLiIKLW1zZ3N0ciAiIgotCiAjOiBidWlsdGluL3Jlc2V0LmM6MzMKLW1zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0iCittc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNAorbXNnaWQgIiIKKyJnaXQgcmVzZXQgWy1xXSBbLS1wYXRoc3BlYy1mcm9tLWZpbGUgWy0tcGF0aHNwZWMtZmlsZS1udWxdXSBbPHRyZWUtaXNoPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXNldC5jOjM1Cittc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRoc3BlYz4uLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgIm1peGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOQorIzogYnVpbHRpbi9yZXNldC5jOjQxCiBtc2dpZCAic29mdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgImhhcmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5CisjOiBidWlsdGluL3Jlc2V0LmM6NDEKIG1zZ2lkICJtZXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgImtlZXAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjgwCisjOiBidWlsdGluL3Jlc2V0LmM6ODIKIG1zZ2lkICJZb3UgZG8gbm90IGhhdmUgYSB2YWxpZCBIRUFELiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6ODIKKyM6IGJ1aWx0aW4vcmVzZXQuYzo4NAogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgSEVBRC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjg4CisjOiBidWlsdGluL3Jlc2V0LmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgdHJlZSBvZiAlcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjE5MgorIzogYnVpbHRpbi9yZXNldC5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICJIRUFEIGlzIG5vdyBhdCAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyBhICVzIHJlc2V0IGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5MgorIzogYnVpbHRpbi9yZXNldC5jOjI5NCBidWlsdGluL3N0YXNoLmM6NTE5IGJ1aWx0aW4vc3Rhc2guYzo1OTQKKyM6IGJ1aWx0aW4vc3Rhc2guYzo2MTgKIG1zZ2lkICJiZSBxdWlldCwgb25seSByZXBvcnQgZXJyb3JzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTQKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTYKIG1zZ2lkICJyZXNldCBIRUFEIGFuZCBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjk1CisjOiBidWlsdGluL3Jlc2V0LmM6Mjk3CiBtc2dpZCAicmVzZXQgb25seSBIRUFEIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTcgYnVpbHRpbi9yZXNldC5jOjI5OQorIzogYnVpbHRpbi9yZXNldC5jOjI5OSBidWlsdGluL3Jlc2V0LmM6MzAxCiBtc2dpZCAicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzAxCisjOiBidWlsdGluL3Jlc2V0LmM6MzAzCiBtc2dpZCAicmVzZXQgSEVBRCBidXQga2VlcCBsb2NhbCBjaGFuZ2VzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDcKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDkKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHJlbW92ZWQgcGF0aHMgd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzI1CisjOiBidWlsdGluL3Jlc2V0LmM6MzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZXZpc2lvbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMzMworIzogYnVpbHRpbi9yZXNldC5jOjM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgdHJlZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0MgorIzogYnVpbHRpbi9yZXNldC5jOjM2MAogbXNnaWQgIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggLS17aGFyZCxtaXhlZCxzb2Z0fSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzUxCisjOiBidWlsdGluL3Jlc2V0LmM6MzcwCiBtc2dpZCAiLS1taXhlZCB3aXRoIHBhdGhzIGlzIGRlcHJlY2F0ZWQ7IHVzZSAnZ2l0IHJlc2V0IC0tIDxwYXRocz4nIGluc3RlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNTMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRvICVzIHJlc2V0IHdpdGggcGF0aHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNjMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcmVzZXQgaXMgbm90IGFsbG93ZWQgaW4gYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM2NworIzogYnVpbHRpbi9yZXNldC5jOjM5MQogbXNnaWQgIi1OIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCAtLW1peGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozODcKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MTIKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzkwCisjOiBidWlsdGluL3Jlc2V0LmM6NDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTE1NTg0LDUzICsxODI3Miw0OCBAQAogInRvIG1ha2UgdGhpcyB0aGUgZGVmYXVsdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NDAwCisjOiBidWlsdGluL3Jlc2V0LmM6NDI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo0MDQKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MjkKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgbmV3IGluZGV4IGZpbGUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0MDMKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0MTEKIG1zZ2lkICJjYW5ub3QgY29tYmluZSAtLWV4Y2x1ZGUtcHJvbWlzb3Itb2JqZWN0cyBhbmQgLS1taXNzaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0NjEKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0NzIKIG1zZ2lkICJvYmplY3QgZmlsdGVyaW5nIHJlcXVpcmVzIC0tb2JqZWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jldi1saXN0LmM6NDY0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgc3BhcnNlIHZhbHVlICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUwNQorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUyMgogbXNnaWQgInJldi1saXN0IGRvZXMgbm90IHN1cHBvcnQgZGlzcGxheSBvZiBub3RlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jldi1saXN0LmM6NTA4CisjOiBidWlsdGluL3Jldi1saXN0LmM6NTI1CiBtc2dpZCAiY2Fubm90IGNvbWJpbmUgLS11c2UtYml0bWFwLWluZGV4IHdpdGggb2JqZWN0IGZpbHRlcmluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQwNworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDgKIG1zZ2lkICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTIKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDEzCiBtc2dpZCAia2VlcCB0aGUgYC0tYCBwYXNzZWQgYXMgYW4gYXJnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDE0CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxNQogbXNnaWQgInN0b3AgcGFyc2luZyBhZnRlciB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxNworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTgKIG1zZ2lkICJvdXRwdXQgaW4gc3R1Y2sgbG9uZyBmb3JtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTUwCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjU1MQogbXNnaWQgIiIKICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl1cbiIKICIgICBvcjogZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs8YXJnPi4uLl1cbiIKQEAgLTE1NjU1LDcyICsxODMzOCw4MSBAQAogbXNnaWQgImdpdCBjaGVycnktcGljayA8c3ViY29tbWFuZD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo5MQorIzogYnVpbHRpbi9yZXZlcnQuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBleHBlY3RzIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiB6ZXJvIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCiBtc2dpZCAiZW5kIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJyZXN1bWUgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCisjOiBidWlsdGluL3JldmVydC5jOjEwNAogbXNnaWQgImNhbmNlbCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKLW1zZ2lkICJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JldmVydC5jOjEwNAotbXNnaWQgImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDUKK21zZ2lkICJza2lwIGN1cnJlbnQgY29tbWl0IGFuZCBjb250aW51ZSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL3JldmVydC5jOjEwNwotbXNnaWQgInBhcmVudC1udW1iZXIiCittc2dpZCAiZG9uJ3QgYXV0b21hdGljYWxseSBjb21taXQiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKLW1zZ2lkICJzZWxlY3QgbWFpbmxpbmUgcGFyZW50IgorbXNnaWQgImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEwCi1tc2dpZCAibWVyZ2Ugc3RyYXRlZ3kiCisjOiBidWlsdGluL3JldmVydC5jOjExMQorbXNnaWQgInBhcmVudC1udW1iZXIiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9yZXZlcnQuYzoxMTIKK21zZ2lkICJzZWxlY3QgbWFpbmxpbmUgcGFyZW50IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE0Cittc2dpZCAibWVyZ2Ugc3RyYXRlZ3kiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMTYKIG1zZ2lkICJvcHRpb24gZm9yIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIxCisjOiBidWlsdGluL3JldmVydC5jOjEyNQogbXNnaWQgImFwcGVuZCBjb21taXQgbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyMworIzogYnVpbHRpbi9yZXZlcnQuYzoxMjcKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyNQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjkKIG1zZ2lkICJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JldmVydC5jOjIxOQorIzogYnVpbHRpbi9yZXZlcnQuYzoyMzIKIG1zZ2lkICJyZXZlcnQgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMyCisjOiBidWlsdGluL3JldmVydC5jOjI0NQogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6MTgKKyM6IGJ1aWx0aW4vcm0uYzoxOQogbXNnaWQgImdpdCBybSBbPG9wdGlvbnM+XSBbLS1dIDxmaWxlPi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6MjA2CisjOiBidWlsdGluL3JtLmM6MjA3CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKICJmaWxlIGFuZCB0aGUgSEVBRDoiCkBAIC0xNTczMCw2MCArMTg0MjIsNjAgQEAKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMTEKKyM6IGJ1aWx0aW4vcm0uYzoyMTIKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtZiB0byBmb3JjZSByZW1vdmFsKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6MjE1CisjOiBidWlsdGluL3JtLmM6MjE2CiBtc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnaWRfcGx1cmFsICJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMTkgYnVpbHRpbi9ybS5jOjIyOAorIzogYnVpbHRpbi9ybS5jOjIyMCBidWlsdGluL3JtLmM6MjI5CiBtc2dpZCAiIgogIlxuIgogIih1c2UgLS1jYWNoZWQgdG8ga2VlcCB0aGUgZmlsZSwgb3IgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ybS5jOjIyNQorIzogYnVpbHRpbi9ybS5jOjIyNgogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDEKKyM6IGJ1aWx0aW4vcm0uYzoyNDIKIG1zZ2lkICJkbyBub3QgbGlzdCByZW1vdmVkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDIKKyM6IGJ1aWx0aW4vcm0uYzoyNDMKIG1zZ2lkICJvbmx5IHJlbW92ZSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6MjQzCisjOiBidWlsdGluL3JtLmM6MjQ0CiBtc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ybS5jOjI0NAorIzogYnVpbHRpbi9ybS5jOjI0NQogbXNnaWQgImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDYKKyM6IGJ1aWx0aW4vcm0uYzoyNDcKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6Mjg4CisjOiBidWlsdGluL3JtLmM6Mjg5CiBtc2dpZCAicGxlYXNlIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ybS5jOjMwNgorIzogYnVpbHRpbi9ybS5jOjMwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgcmVtb3ZpbmcgJyVzJyByZWN1cnNpdmVseSB3aXRob3V0IC1yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcm0uYzozNDUKKyM6IGJ1aWx0aW4vcm0uYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHJtOiB1bmFibGUgdG8gcmVtb3ZlICVzIgogbXNnc3RyICIiCkBAIC0xNTgxMiwxOCArMTg1MDQsNiBAQAogbXNnaWQgInByaW50IHN0YXR1cyBmcm9tIHJlbW90ZSBoZWxwZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zZXJ2ZS5jOjcKLW1zZ2lkICJnaXQgc2VydmUgWzxvcHRpb25zPl0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9zZXJ2ZS5jOjE3IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyMwotbXNnaWQgInF1aXQgYWZ0ZXIgYSBzaW5nbGUgcmVxdWVzdC9yZXNwb25zZSBleGNoYW5nZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3NlcnZlLmM6MTkKLW1zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGFkdmVydGlzaW5nIGNhcGFiaWxpdGllcyIKLW1zZ3N0ciAiIgotCiAjOiBidWlsdGluL3Nob3J0bG9nLmM6MTQKIG1zZ2lkICJnaXQgc2hvcnRsb2cgWzxvcHRpb25zPl0gWzxyZXZpc2lvbi1yYW5nZT5dIFtbLS1dIDxwYXRoPi4uLl0iCiBtc2dzdHIgIiIKQEAgLTE1ODU2LDcgKzE4NTM2LDcgQEAKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjI5OQorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjMwMQogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyBnaXZlbiBvdXRzaWRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIApAQCAtMTU4NzksMTU5ICsxODU1OSw0MjkgQEAKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1NDkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2hpbmcgcmVmcyB3aXRoICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NwogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDkKIG1zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTEKIG1zZ2lkICJzaG93IDxuPiBtb3JlIGNvbW1pdHMgYWZ0ZXIgdGhlIGNvbW1vbiBhbmNlc3RvciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUzCiBtc2dpZCAic3lub255bSB0byBtb3JlPS0xIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKIG1zZ2lkICJzdXBwcmVzcyBuYW1pbmcgc3RyaW5ncyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU2CiBtc2dpZCAiaW5jbHVkZSB0aGUgY3VycmVudCBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OAogbXNnaWQgIm5hbWUgY29tbWl0cyB3aXRoIHRoZWlyIG9iamVjdCBuYW1lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYwCiBtc2dpZCAic2hvdyBwb3NzaWJsZSBtZXJnZSBiYXNlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYyCiBtc2dpZCAic2hvdyByZWZzIHVucmVhY2hhYmxlIGZyb20gYW55IG90aGVyIHJlZiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY0CiBtc2dpZCAic2hvdyBjb21taXRzIGluIHRvcG9sb2dpY2FsIG9yZGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjcKIG1zZ2lkICJzaG93IG9ubHkgY29tbWl0cyBub3Qgb24gdGhlIGZpcnN0IGJyYW5jaCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjcwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY5CiBtc2dpZCAic2hvdyBtZXJnZXMgcmVhY2hhYmxlIGZyb20gb25seSBvbmUgdGlwIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzEKIG1zZ2lkICJ0b3BvbG9naWNhbGx5IHNvcnQsIG1haW50YWluaW5nIGRhdGUgb3JkZXIgd2hlcmUgcG9zc2libGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NAogbXNnaWQgIjxuPlssPGJhc2U+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc1CiBtc2dpZCAic2hvdyA8bj4gbW9zdCByZWNlbnQgcmVmLWxvZyBlbnRyaWVzIHN0YXJ0aW5nIGF0IGJhc2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxMgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxMQogbXNnaWQgIiIKICItLXJlZmxvZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50IG9yIC0tbWVyZ2UtYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM1CiBtc2dpZCAibm8gYnJhbmNoZXMgZ2l2ZW4sIGFuZCBIRUFEIGlzIG5vdCB2YWxpZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM4CiBtc2dpZCAiLS1yZWZsb2cgb3B0aW9uIG5lZWRzIG9uZSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9ubHkgJWQgZW50cnkgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKIG1zZ2lkX3BsdXJhbCAib25seSAlZCBlbnRyaWVzIGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQ2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcmVmICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2LiIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2cy4iCiBtc2dzdHJbMF0gIiIKIG1zZ3N0clsxXSAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmaW5kIGNvbW1pdCAlcyAoJXMpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMQorIzogYnVpbHRpbi9zaG93LXJlZi5jOjEyCiBtc2dpZCAiIgogImdpdCBzaG93LXJlZiBbLXEgfCAtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZCB8IC0tZGVyZWZlcmVuY2VdIFstcyB8IC0tIgogImhhc2hbPTxuPl1dIFstLWFiYnJldls9PG4+XV0gWy0tdGFnc10gWy0taGVhZHNdIFstLV0gWzxwYXR0ZXJuPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjEyCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTMKIG1zZ2lkICJnaXQgc2hvdy1yZWYgLS1leGNsdWRlLWV4aXN0aW5nWz08cGF0dGVybj5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjEKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjIKIG1zZ2lkICJvbmx5IHNob3cgdGFncyAoY2FuIGJlIGNvbWJpbmVkIHdpdGggaGVhZHMpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjIKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjMKIG1zZ2lkICJvbmx5IHNob3cgaGVhZHMgKGNhbiBiZSBjb21iaW5lZCB3aXRoIHRhZ3MpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjMKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjQKIG1zZ2lkICJzdHJpY3RlciByZWZlcmVuY2UgY2hlY2tpbmcsIHJlcXVpcmVzIGV4YWN0IHJlZiBwYXRoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjYgYnVpbHRpbi9zaG93LXJlZi5jOjE2OAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2NyBidWlsdGluL3Nob3ctcmVmLmM6MTY5CiBtc2dpZCAic2hvdyB0aGUgSEVBRCByZWZlcmVuY2UsIGV2ZW4gaWYgaXQgd291bGQgYmUgZmlsdGVyZWQgb3V0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzAKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzEKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGludG8gb2JqZWN0IElEcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTcyCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTczCiBtc2dpZCAib25seSBzaG93IFNIQTEgaGFzaCB1c2luZyA8bj4gZGlnaXRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzYKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzcKIG1zZ2lkICJkbyBub3QgcHJpbnQgcmVzdWx0cyB0byBzdGRvdXQgKHVzZWZ1bCB3aXRoIC0tdmVyaWZ5KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc5CiBtc2dpZCAic2hvdyByZWZzIGZyb20gc3RkaW4gdGhhdCBhcmVuJ3QgaW4gbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjIwCittc2dpZCAiZ2l0IHNwYXJzZS1jaGVja291dCAoaW5pdHxsaXN0fHNldHxkaXNhYmxlKSA8b3B0aW9ucz4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo2MQorbXNnaWQgInRoaXMgd29ya3RyZWUgaXMgbm90IHNwYXJzZSAoc3BhcnNlLWNoZWNrb3V0IGZpbGUgbWF5IG5vdCBleGlzdCkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzoyMjAKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4dGVuc2lvbnMud29ya3RyZWVDb25maWcgc2V0dGluZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjIzNworbXNnaWQgImdpdCBzcGFyc2UtY2hlY2tvdXQgaW5pdCBbLS1jb25lXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI1NgorbXNnaWQgImluaXRpYWxpemUgdGhlIHNwYXJzZS1jaGVja291dCBpbiBjb25lIG1vZGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzoyNjIKK21zZ2lkICJpbml0aWFsaXplIHNwYXJzZS1jaGVja291dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MzYxCittc2dpZCAiZ2l0IHNwYXJzZS1jaGVja291dCBzZXQgKC0tc3RkaW4gfCA8cGF0dGVybnM+KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjM3OAorbXNnaWQgInJlYWQgcGF0dGVybnMgZnJvbSBzdGFuZGFyZCBpbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjM4NAorbXNnaWQgInNldCBzcGFyc2UtY2hlY2tvdXQgcGF0dGVybnMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo0NDcKK21zZ2lkICJkaXNhYmxlIHNwYXJzZS1jaGVja291dCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjQ1OQorbXNnaWQgImVycm9yIHdoaWxlIHJlZnJlc2hpbmcgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjIyIGJ1aWx0aW4vc3Rhc2guYzozNworbXNnaWQgImdpdCBzdGFzaCBsaXN0IFs8b3B0aW9ucz5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyMyBidWlsdGluL3N0YXNoLmM6NDIKK21zZ2lkICJnaXQgc3Rhc2ggc2hvdyBbPG9wdGlvbnM+XSBbPHN0YXNoPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjI0IGJ1aWx0aW4vc3Rhc2guYzo0NworbXNnaWQgImdpdCBzdGFzaCBkcm9wIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjI1Cittc2dpZCAiZ2l0IHN0YXNoICggcG9wIHwgYXBwbHkgKSBbLS1pbmRleF0gWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjYgYnVpbHRpbi9zdGFzaC5jOjYyCittc2dpZCAiZ2l0IHN0YXNoIGJyYW5jaCA8YnJhbmNobmFtZT4gWzxzdGFzaD5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNyBidWlsdGluL3N0YXNoLmM6NjcKK21zZ2lkICJnaXQgc3Rhc2ggY2xlYXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjI4IGJ1aWx0aW4vc3Rhc2guYzo3NworbXNnaWQgIiIKKyJnaXQgc3Rhc2ggW3B1c2ggWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisiICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFstbXwtLW1lc3NhZ2UgPG1lc3NhZ2U+XVxuIgorIiAgICAgICAgICBbLS1dIFs8cGF0aHNwZWM+Li4uXV0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjMxIGJ1aWx0aW4vc3Rhc2guYzo4NAorbXNnaWQgIiIKKyJnaXQgc3Rhc2ggc2F2ZSBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKyIgICAgICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gWzxtZXNzYWdlPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjUyCittc2dpZCAiZ2l0IHN0YXNoIHBvcCBbLS1pbmRleF0gWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N0YXNoLmM6NTcKK21zZ2lkICJnaXQgc3Rhc2ggYXBwbHkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjcyCittc2dpZCAiZ2l0IHN0YXNoIHN0b3JlIFstbXwtLW1lc3NhZ2UgPG1lc3NhZ2U+XSBbLXF8LS1xdWlldF0gPGNvbW1pdD4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHN0YXNoLWxpa2UgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG9vIG1hbnkgcmV2aXNpb25zIHNwZWNpZmllZDolcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTYxIGdpdC1sZWdhY3ktc3Rhc2guc2g6NTQ5Cittc2dpZCAiTm8gc3Rhc2ggZW50cmllcyBmb3VuZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCByZWZlcmVuY2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjIyNCBnaXQtbGVnYWN5LXN0YXNoLnNoOjc1Cittc2dpZCAiZ2l0IHN0YXNoIGNsZWFyIHdpdGggcGFyYW1ldGVycyBpcyB1bmltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MDMKK21zZ2lkICJjYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZ2VuZXJhdGUgZGlmZiAlc14hLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDIxCittc2dpZCAiY29uZmxpY3RzIGluIGluZGV4LlRyeSB3aXRob3V0IC0taW5kZXguIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MjcKK21zZ2lkICJjb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MzYKK21zZ2lkICJjb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lcmdpbmcgJXMgd2l0aCAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDYwIGdpdC1sZWdhY3ktc3Rhc2guc2g6NjgxCittc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1MjEgYnVpbHRpbi9zdGFzaC5jOjYyMAorbXNnaWQgImF0dGVtcHQgdG8gcmVjcmVhdGUgdGhlIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRHJvcHBlZCAlcyAoJXMpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjYzMiBnaXQtbGVnYWN5LXN0YXNoLnNoOjY5NQorbXNnaWQgIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo2NTUgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo3MTMKK21zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjc5NSBidWlsdGluL3N0YXNoLmM6ODMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB1cGRhdGUgJXMgd2l0aCAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N0YXNoLmM6ODEzIGJ1aWx0aW4vc3Rhc2guYzoxNDcwIGJ1aWx0aW4vc3Rhc2guYzoxNTA2Cittc2dpZCAic3Rhc2ggbWVzc2FnZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N0YXNoLmM6ODIzCittc2dpZCAiXCJnaXQgc3Rhc2ggc3RvcmVcIiByZXF1aXJlcyBvbmUgPGNvbW1pdD4gYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEwNDUgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMTgKK21zZ2lkICJObyBjaGFuZ2VzIHNlbGVjdGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTQ1IGdpdC1sZWdhY3ktc3Rhc2guc2g6MTUwCittc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExNzIgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoxNjUKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTE4MSBnaXQtbGVnYWN5LXN0YXNoLnNoOjE4MAorbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSB1bnRyYWNrZWQgZmlsZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExOTIgYnVpbHRpbi9zdGFzaC5jOjEyMDEgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMDEKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjE0Cittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyMjkgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMzQKK21zZ2lkICJDYW5ub3QgcmVjb3JkIHdvcmtpbmcgdHJlZSBzdGF0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTI3OCBnaXQtbGVnYWN5LXN0YXNoLnNoOjMzOAorbXNnaWQgIkNhbid0IHVzZSAtLXBhdGNoIGFuZCAtLWluY2x1ZGUtdW50cmFja2VkIG9yIC0tYWxsIGF0IHRoZSBzYW1lIHRpbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyOTQKK21zZ2lkICJEaWQgeW91IGZvcmdldCB0byAnZ2l0IGFkZCc/IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzA5IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzQ2Cittc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzE2IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzUxCittc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEzMzEgZ2l0LWxlZ2FjeS1zdGFzaC5zaDozNTUKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEzMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDI2IGdpdC1sZWdhY3ktc3Rhc2guc2g6Mzg1Cittc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDYxIGJ1aWx0aW4vc3Rhc2guYzoxNDk3Cittc2dpZCAia2VlcCBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ2MyBidWlsdGluL3N0YXNoLmM6MTQ5OQorbXNnaWQgInN0YXNoIGluIHBhdGNoIG1vZGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjQgYnVpbHRpbi9zdGFzaC5jOjE1MDAKK21zZ2lkICJxdWlldCBtb2RlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDY2IGJ1aWx0aW4vc3Rhc2guYzoxNTAyCittc2dpZCAiaW5jbHVkZSB1bnRyYWNrZWQgZmlsZXMgaW4gc3Rhc2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjggYnVpbHRpbi9zdGFzaC5jOjE1MDQKK21zZ2lkICJpbmNsdWRlIGlnbm9yZSBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTU2NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZXhlYyAlcyIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGluL3N0cmlwc3BhY2UuYzoxOAogbXNnaWQgImdpdCBzdHJpcHNwYWNlIFstcyB8IC0tc3RyaXAtY29tbWVudHNdIgogbXNnc3RyICIiCkBAIC0xNjA0MCw1NSArMTg5OTAsNTUgQEAKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM2CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzozNwogbXNnaWQgInNraXAgYW5kIHJlbW92ZSBhbGwgbGluZXMgc3RhcnRpbmcgd2l0aCBjb21tZW50IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzozOQorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6NDAKIG1zZ2lkICJwcmVwZW5kIGNvbW1lbnQgY2hhcmFjdGVyIGFuZCBzcGFjZSB0byBlYWNoIGxpbmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTM5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0aW5nIGEgZnVsbCByZWYgbmFtZSwgZ290ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0CiBtc2dpZCAic3VibW9kdWxlLS1oZWxwZXIgcHJpbnQtZGVmYXVsdC1yZW1vdGUgdGFrZXMgbm8gYXJndW1lbnRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RyaXAgb25lIGNvbXBvbmVudCBvZmYgdXJsICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4MAogbXNnaWQgImFsdGVybmF0aXZlIGFuY2hvciBmb3IgcmVsYXRpdmUgcGF0aHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxNQogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NjkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYyNgotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ3MiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjMwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHVybCBmb3VuZCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyBpbiAuZ2l0bW9kdWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTIxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVudGVyaW5nICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fY29tbWFuZCByZXR1cm5lZCBub24temVybyBzdGF0dXMgZm9yICVzXG4iCiAiLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTQ1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fY29tbWFuZCByZXR1cm5lZCBub24temVybyBzdGF0dXMgd2hpbGUgcmVjdXJzaW5nIGluIHRoZSBuZXN0ZWQgIgpAQCAtMTYwOTYsMzM4ICsxOTA0NiwzNjggQEAKICIuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjUKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgb2YgZW50ZXJpbmcgZWFjaCBzdWJtb2R1bGUgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTYzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDQ4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTY3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDUzCiBtc2dpZCAiUmVjdXJzZSBpbnRvIG5lc3RlZCBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjgKLW1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZm9yZWFjaCBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSA8Y29tbWFuZD4iCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTcyCittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGZvcmVhY2ggWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWy0tXSA8Y29tbWFuZD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IGxvb2sgdXAgY29uZmlndXJhdGlvbiAnJXMnLiBBc3N1bWluZyB0aGlzIHJlcG9zaXRvcnkgaXMgaXRzIG93biAiCiAiYXV0aG9yaXRhdGl2ZSB1cHN0cmVhbS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgKCVzKSByZWdpc3RlcmVkIGZvciBwYXRoICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njc3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGNvbW1hbmQgdXBkYXRlIG1vZGUgc3VnZ2VzdGVkIGZvciBzdWJtb2R1bGUgJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MTAKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgZm9yIGluaXRpYWxpemluZyBhIHN1Ym1vZHVsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzExCi1tc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzxwYXRoPl0iCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzE1Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzxvcHRpb25zPl0gWzxwYXRoPl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc4MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzg3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VibW9kdWxlIG1hcHBpbmcgZm91bmQgaW4gLmdpdG1vZHVsZXMgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODIyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgcmVmIGluc2lkZSB0aGUgc3VibW9kdWxlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg0OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAxOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg1NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NzMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NzggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODkKIG1zZ2lkICJTdXBwcmVzcyBzdWJtb2R1bGUgc3RhdHVzIG91dHB1dCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc5CiBtc2dpZCAiIgogIlVzZSBjb21taXQgc3RvcmVkIGluIHRoZSBpbmRleCBpbnN0ZWFkIG9mIHRoZSBvbmUgc3RvcmVkIGluIHRoZSBzdWJtb2R1bGUgIgogIkhFQUQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg4MAogbXNnaWQgInJlY3Vyc2UgaW50byBuZXN0ZWQgc3VibW9kdWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODg1CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZSBzdGF0dXMgWy0tcXVpZXRdIFstLWNhY2hlZF0gWy0tcmVjdXJzaXZlXSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA5CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPHBhdGg+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgZGVmYXVsdCByZW1vdGUgZm9yIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB1cGRhdGUgcmVtb3RlIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA0NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTEKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgb2Ygc3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDUzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1OAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBzeW5jIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIFs8cGF0aD5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTExMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJXMnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnkgKHVzZSAncm0gLXJmJyBpZiB5b3UgIgogInJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTExOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyVzJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byBkaXNjYXJkICIKICJ0aGVtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTI3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDbGVhcmVkIGRpcmVjdG9yeSAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE1NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgKCVzKSB1bnJlZ2lzdGVyZWQgZm9yIHBhdGggJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTgzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE5MAogbXNnaWQgIlJlbW92ZSBzdWJtb2R1bGUgd29ya2luZyB0cmVlcyBldmVuIGlmIHRoZXkgY29udGFpbiBsb2NhbCBjaGFuZ2VzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTg0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE5MQogbXNnaWQgIlVucmVnaXN0ZXIgYWxsIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTk2CiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUgZGVpbml0IFstLXF1aWV0XSBbLWYgfCAtLWZvcmNlXSBbLS1hbGwgfCBbLS1dIFs8cGF0aD4uLi5dXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTIwMworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyMTAKIG1zZ2lkICJVc2UgJy0tYWxsJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjk3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzAwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTI3NQorbXNnaWQgIiIKKyJBbiBhbHRlcm5hdGUgY29tcHV0ZWQgZnJvbSBhIHN1cGVycHJvamVjdCdzIGFsdGVybmF0ZSBpcyBpbnZhbGlkLlxuIgorIlRvIGFsbG93IEdpdCB0byBjbG9uZSB3aXRob3V0IGFuIGFsdGVybmF0ZSBpbiBzdWNoIGEgY2FzZSwgc2V0XG4iCisic3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgdG8gJ2luZm8nIG9yLCBlcXVpdmFsZW50bHksIGNsb25lIHdpdGhcbiIKKyInLS1yZWZlcmVuY2UtaWYtYWJsZScgaW5zdGVhZCBvZiAnLS1yZWZlcmVuY2UnLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTMxNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJzdWJtb2R1bGUgJyVzJyBjYW5ub3QgYWRkIGFsdGVybmF0ZTogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzMzYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IGlzIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzQzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gaXMgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzgzCiBtc2dpZCAid2hlcmUgdGhlIG5ldyBzdWJtb2R1bGUgd2lsbCBiZSBjbG9uZWQgdG8iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg2CiBtc2dpZCAibmFtZSBvZiB0aGUgbmV3IHN1Ym1vZHVsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODkKIG1zZ2lkICJ1cmwgd2hlcmUgdG8gY2xvbmUgdGhlIHN1Ym1vZHVsZSBmcm9tIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5NwogbXNnaWQgImRlcHRoIGZvciBzaGFsbG93IGNsb25lcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MDAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTcKIG1zZ2lkICJmb3JjZSBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQwMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5OQorbXNnaWQgImRpc2FsbG93IGNsb25pbmcgaW50byBub24tZW1wdHkgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDA3CiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKICI8cmVwb3NpdG9yeT5dIFstLW5hbWUgPG5hbWU+XSBbLS1kZXB0aCA8ZGVwdGg+XSAtLXVybCA8dXJsPiAtLXBhdGggPHBhdGg+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDE5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZ1c2luZyB0byBjcmVhdGUvdXNlICclcycgaW4gYW5vdGhlciBzdWJtb2R1bGUncyBnaXQgZGlyIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDQyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb25lIG9mICclcycgaW50byBzdWJtb2R1bGUgcGF0aCAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQzMworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IG5vdCBlbXB0eTogJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZ2V0IHN1Ym1vZHVsZSBkaXJlY3RvcnkgZm9yICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdXBkYXRlIG1vZGUgJyVzJyBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ3MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB1cGRhdGUgbW9kZSAnJXMnIGNvbmZpZ3VyZWQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE1NjYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICclcycgbm90IGluaXRpYWxpemVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTcwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTU5OAogbXNnaWQgIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjAwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyB1bm1lcmdlZCBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE2MjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNzczCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTgwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJy4gUmV0cnkgc2NoZWR1bGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNzg0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJyBhIHNlY29uZCB0aW1lLCBhYm9ydGluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg0NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjA4OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NzYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxMjAKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NzkKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSwgYWNyb3NzIG5lc3RlZCBzdWJtb2R1bGUgYm91bmRhcmllcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODMKIG1zZ2lkICJyZWJhc2UsIG1lcmdlLCBjaGVja291dCBvciBub25lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODYwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4OQogbXNnaWQgIkNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgdHJ1bmNhdGVkIHRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHJldmlzaW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTIKIG1zZ2lkICJwYXJhbGxlbCBqb2JzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODY1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5NAogbXNnaWQgIndoZXRoZXIgdGhlIGluaXRpYWwgY2xvbmUgc2hvdWxkIGZvbGxvdyB0aGUgc2hhbGxvdyByZWNvbW1lbmRhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTUKIG1zZ2lkICJkb24ndCBwcmludCBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODczCi1tc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZV9jbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTA0Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZS1jbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MTcKIG1zZ2lkICJiYWQgdmFsdWUgZm9yIHVwZGF0ZSBwYXJhbWV0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgKCVzKSBicmFuY2ggY29uZmlndXJlZCB0byBpbmhlcml0IGJyYW5jaCBmcm9tIHN1cGVycHJvamVjdCwgYnV0ICIKICJ0aGUgc3VwZXJwcm9qZWN0IGlzIG5vdCBvbiBhbnkgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDU3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjA4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZ2V0IGEgcmVwb3NpdG9yeSBoYW5kbGUgZm9yIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDkwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjEyMQogbXNnaWQgInJlY3Vyc2UgaW50byBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDk2Ci1tc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGVtYmVkLWdpdC1kaXIgWzxwYXRoPi4uLl0iCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjEyNworbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBhYnNvcmItZ2l0LWRpcnMgWzxvcHRpb25zPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTgzCiBtc2dpZCAiY2hlY2sgaWYgaXQgaXMgc2FmZSB0byB3cml0ZSB0byB0aGUgLmdpdG1vZHVsZXMgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE1NwotbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgbmFtZSBbdmFsdWVdIgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxODYKK21zZ2lkICJ1bnNldCB0aGUgY29uZmlnIGluIHRoZSAuZ2l0bW9kdWxlcyBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTU4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE5MQorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgPG5hbWU+IFs8dmFsdWU+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE5MgorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgLS11bnNldCA8bmFtZT4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxOTMKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tY2hlY2std3JpdGVhYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTc1IGdpdC1zdWJtb2R1bGUuc2g6MTY5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjIxMiBnaXQtc3VibW9kdWxlLnNoOjE3MwogIywgc2gtZm9ybWF0CiBtc2dpZCAicGxlYXNlIG1ha2Ugc3VyZSB0aGF0IHRoZSAuZ2l0bW9kdWxlcyBmaWxlIGlzIGluIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyMjUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjYyIGdpdC5jOjQzMyBnaXQuYzo2ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZG9lc24ndCBzdXBwb3J0IC0tc3VwZXItcHJlZml4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQiCiBtc2dzdHIgIiIKQEAgLTE2NDYyLDM2ICsxOTQ0MiwzNiBAQAogCiAjOiBidWlsdGluL3RhZy5jOjI1CiBtc2dpZCAiIgotImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT5dIDx0YWduYW1lPiAiCi0iWzxoZWFkPl0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi90YWcuYzoyNgotbXNnaWQgImdpdCB0YWcgLWQgPHRhZ25hbWU+Li4uIgorImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT5dXG4iCisiXHRcdDx0YWduYW1lPiBbPGhlYWQ+XSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGluL3RhZy5jOjI3Cittc2dpZCAiZ2l0IHRhZyAtZCA8dGFnbmFtZT4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzoyOAogbXNnaWQgIiIKICJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1uby1jb250YWlucyA8Y29tbWl0Pl0gWy0tIgogInBvaW50cy1hdCA8b2JqZWN0Pl1cbiIKICJcdFx0Wy0tZm9ybWF0PTxmb3JtYXQ+XSBbLS1bbm8tXW1lcmdlZCBbPGNvbW1pdD5dXSBbPHBhdHRlcm4+Li4uXSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjI5CisjOiBidWlsdGluL3RhZy5jOjMwCiBtc2dpZCAiZ2l0IHRhZyAtdiBbLS1mb3JtYXQ9PGZvcm1hdD5dIDx0YWduYW1lPi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjg3CisjOiBidWlsdGluL3RhZy5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIG5vdCBmb3VuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzoxMDMKKyM6IGJ1aWx0aW4vdGFnLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjEzMworIzogYnVpbHRpbi90YWcuYzoxMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTY1MDAsNyArMTk0ODAsNyBAQAogIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzoxMzcKKyM6IGJ1aWx0aW4vdGFnLmM6MTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTE2NTEwLDM5MCArMTk0OTAsNDAzIEBACiAid2FudCB0by5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjE5MQorIzogYnVpbHRpbi90YWcuYzoxOTgKIG1zZ2lkICJ1bmFibGUgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTkzCisjOiBidWlsdGluL3RhZy5jOjIwMAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0YWcgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjIxOAorIzogYnVpbHRpbi90YWcuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlIGNyZWF0ZWQgYSBuZXN0ZWQgdGFnLiBUaGUgb2JqZWN0IHJlZmVycmVkIHRvIGJ5IHlvdXIgbmV3IHRhZyBpc1xuIgorImFscmVhZHkgYSB0YWcuIElmIHlvdSBtZWFudCB0byB0YWcgdGhlIG9iamVjdCB0aGF0IGl0IHBvaW50cyB0bywgdXNlOlxuIgorIlxuIgorIlx0Z2l0IHRhZyAtZiAlcyAlc157fSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3RhZy5jOjIzMgogbXNnaWQgImJhZCBvYmplY3QgdHlwZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzoyNjcKKyM6IGJ1aWx0aW4vdGFnLmM6Mjg0CiBtc2dpZCAibm8gdGFnIG1lc3NhZ2U/IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mjc0CisjOiBidWlsdGluL3RhZy5jOjI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgdGFnIG1lc3NhZ2UgaGFzIGJlZW4gbGVmdCBpbiAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg1CisjOiBidWlsdGluL3RhZy5jOjQwMgogbXNnaWQgImxpc3QgdGFnIG5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg3CisjOiBidWlsdGluL3RhZy5jOjQwNAogbXNnaWQgInByaW50IDxuPiBsaW5lcyBvZiBlYWNoIHRhZyBtZXNzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg5CisjOiBidWlsdGluL3RhZy5jOjQwNgogbXNnaWQgImRlbGV0ZSB0YWdzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzkwCisjOiBidWlsdGluL3RhZy5jOjQwNwogbXNnaWQgInZlcmlmeSB0YWdzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzkyCisjOiBidWlsdGluL3RhZy5jOjQwOQogbXNnaWQgIlRhZyBjcmVhdGlvbiBvcHRpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzk0CisjOiBidWlsdGluL3RhZy5jOjQxMQogbXNnaWQgImFubm90YXRlZCB0YWcsIG5lZWRzIGEgbWVzc2FnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjM5NgorIzogYnVpbHRpbi90YWcuYzo0MTMKIG1zZ2lkICJ0YWcgbWVzc2FnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjM5OAorIzogYnVpbHRpbi90YWcuYzo0MTUKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIHRhZyBtZXNzYWdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzk5CisjOiBidWlsdGluL3RhZy5jOjQxNgogbXNnaWQgImFubm90YXRlZCBhbmQgR1BHLXNpZ25lZCB0YWciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzo0MDMKKyM6IGJ1aWx0aW4vdGFnLmM6NDE5CiBtc2dpZCAidXNlIGFub3RoZXIga2V5IHRvIHNpZ24gdGhlIHRhZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjQwNAorIzogYnVpbHRpbi90YWcuYzo0MjAKIG1zZ2lkICJyZXBsYWNlIHRoZSB0YWcgaWYgZXhpc3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA1IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OQorIzogYnVpbHRpbi90YWcuYzo0MjEgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY5CiBtc2dpZCAiY3JlYXRlIGEgcmVmbG9nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA3CisjOiBidWlsdGluL3RhZy5jOjQyMwogbXNnaWQgIlRhZyBsaXN0aW5nIG9wdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzo0MDgKKyM6IGJ1aWx0aW4vdGFnLmM6NDI0CiBtc2dpZCAic2hvdyB0YWcgbGlzdCBpbiBjb2x1bW5zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA5IGJ1aWx0aW4vdGFnLmM6NDExCisjOiBidWlsdGluL3RhZy5jOjQyNSBidWlsdGluL3RhZy5jOjQyNwogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjQxMCBidWlsdGluL3RhZy5jOjQxMgorIzogYnVpbHRpbi90YWcuYzo0MjYgYnVpbHRpbi90YWcuYzo0MjgKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzo0MTMKKyM6IGJ1aWx0aW4vdGFnLmM6NDI5CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjQxNAorIzogYnVpbHRpbi90YWcuYzo0MzAKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjQxOQorIzogYnVpbHRpbi90YWcuYzo0MzQKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjQ2MworIzogYnVpbHRpbi90YWcuYzo0ODIKIG1zZ2lkICItLWNvbHVtbiBhbmQgLW4gYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjQ4NQorIzogYnVpbHRpbi90YWcuYzo1MDQKIG1zZ2lkICItbiBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjQ4NworIzogYnVpbHRpbi90YWcuYzo1MDYKIG1zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDg5CisjOiBidWlsdGluL3RhZy5jOjUwOAogbXNnaWQgIi0tbm8tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzo0OTEKKyM6IGJ1aWx0aW4vdGFnLmM6NTEwCiBtc2dpZCAiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzo0OTMKKyM6IGJ1aWx0aW4vdGFnLmM6NTEyCiBtc2dpZCAiLS1tZXJnZWQgYW5kIC0tbm8tbWVyZ2VkIG9wdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzo1MDQKKyM6IGJ1aWx0aW4vdGFnLmM6NTIzCiBtc2dpZCAib25seSBvbmUgLUYgb3IgLW0gb3B0aW9uIGlzIGFsbG93ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTIzCisjOiBidWlsdGluL3RhZy5jOjU0MgogbXNnaWQgInRvbyBtYW55IHBhcmFtcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3RhZy5jOjUyOQorIzogYnVpbHRpbi90YWcuYzo1NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0YWcgbmFtZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzo1MzQKKyM6IGJ1aWx0aW4vdGFnLmM6NTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTY1CisjOiBidWlsdGluL3RhZy5jOjU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjUwMAorIzogYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjUwMQogbXNnaWQgIlVucGFja2luZyBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBmaWxlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIGZpbGUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE1IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTM4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJUZXN0aW5nIG10aW1lIGluICclcycgIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTUyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1NAogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGFkZGluZyBhIG5ldyBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTY1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE2NwogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGFkZGluZyBhIG5ldyBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTgwCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBjaGFuZ2VzIGFmdGVyIHVwZGF0aW5nIGEgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE4OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxOTEKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGNoYW5nZXMgYWZ0ZXIgYWRkaW5nIGEgZmlsZSBpbnNpZGUgc3ViZGlyZWN0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjAwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIwMgogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGRlbGV0aW5nIGEgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTUKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBkZWxldGluZyBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIyMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMjIKIG1zZ2lkICIgT0siCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1ODgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NTkxCiBtc2dpZCAiZ2l0IHVwZGF0ZS1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTYxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NAogbXNnaWQgImNvbnRpbnVlIHJlZnJlc2ggZXZlbiB3aGVuIGluZGV4IG5lZWRzIHVwZGF0ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzcKIG1zZ2lkICJyZWZyZXNoOiBpZ25vcmUgc3VibW9kdWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODAKIG1zZ2lkICJkbyBub3QgaWdub3JlIG5ldyBmaWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODIKIG1zZ2lkICJsZXQgZmlsZXMgcmVwbGFjZSBkaXJlY3RvcmllcyBhbmQgdmljZS12ZXJzYSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODQKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTczCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NgogbXNnaWQgInJlZnJlc2ggZXZlbiBpZiBpbmRleCBjb250YWlucyB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4OQogbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTMKIG1zZ2lkICJsaWtlIC0tcmVmcmVzaCwgYnV0IGlnbm9yZSBhc3N1bWUtdW5jaGFuZ2VkIHNldHRpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CiBtc2dpZCAiPG1vZGU+LDxvYmplY3Q+LDxwYXRoPiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTgKIG1zZ2lkICJhZGQgdGhlIHNwZWNpZmllZCBlbnRyeSB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwOAogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJub3QgY2hhbmdpbmdcIiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDExCiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE0CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxNwogbXNnaWQgImNsZWFyIHNraXAtd29ya3RyZWUgYml0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDIwCittc2dpZCAiZG8gbm90IHRvdWNoIGluZGV4LW9ubHkgZW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjIKIG1zZ2lkICJhZGQgdG8gaW5kZXggb25seTsgZG8gbm90IGFkZCBjb250ZW50IHRvIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyNAogbXNnaWQgInJlbW92ZSBuYW1lZCBwYXRocyBldmVuIGlmIHByZXNlbnQgaW4gd29ya3RyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDEwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjYKIG1zZ2lkICJ3aXRoIC0tc3RkaW46IGlucHV0IGxpbmVzIGFyZSB0ZXJtaW5hdGVkIGJ5IG51bGwgYnl0ZXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDEyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjgKIG1zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgdG8gYmUgdXBkYXRlZCBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDMyCiBtc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDIwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzYKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDAKIG1zZ2lkICJvbmx5IHVwZGF0ZSBlbnRyaWVzIHRoYXQgZGlmZmVyIGZyb20gSEVBRCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0NAogbXNnaWQgImlnbm9yZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDMxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDcKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDMzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDkKIG1zZ2lkICIoZm9yIHBvcmNlbGFpbnMpIGZvcmdldCBzYXZlZCB1bnJlc29sdmVkIGNvbmZsaWN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1MwogbXNnaWQgIndyaXRlIGluZGV4IGluIHRoaXMgZm9ybWF0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzOQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDU1CiBtc2dpZCAiZW5hYmxlIG9yIGRpc2FibGUgc3BsaXQgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTcKIG1zZ2lkICJlbmFibGUvZGlzYWJsZSB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTkKIG1zZ2lkICJ0ZXN0IGlmIHRoZSBmaWxlc3lzdGVtIHN1cHBvcnRzIHVudHJhY2tlZCBjYWNoZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2MQogbXNnaWQgImVuYWJsZSB1bnRyYWNrZWQgY2FjaGUgd2l0aG91dCB0ZXN0aW5nIHRoZSBmaWxlc3lzdGVtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDYzCiBtc2dpZCAid3JpdGUgb3V0IHRoZSBpbmRleCBldmVuIGlmIGlzIG5vdCBmbGFnZ2VkIGFzIGNoYW5nZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQ5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNjUKIG1zZ2lkICJlbmFibGUgb3IgZGlzYWJsZSBmaWxlIHN5c3RlbSBtb25pdG9yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDY3CiBtc2dpZCAibWFyayBmaWxlcyBhcyBmc21vbml0b3IgdmFsaWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDU0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNzAKIG1zZ2lkICJjbGVhciBmc21vbml0b3IgdmFsaWQgYml0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE1MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTczCiBtc2dpZCAiIgogImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gZmFsc2U7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCiAiZW5hYmxlIHNwbGl0IGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE2MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTgyCiBtc2dpZCAiIgogImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvICIKICJkaXNhYmxlIHNwbGl0IGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE3MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTk0CiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCAiCiAidG8gZGlzYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE3NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTk4CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE4NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjA2CiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE4OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBlbmFibGVkIGZvciAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE5NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjE4CiBtc2dpZCAiY29yZS5mc21vbml0b3IgaXMgdW5zZXQ7IHNldCBpdCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZW5hYmxlIGZzbW9uaXRvciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIyMgogbXNnaWQgImZzbW9uaXRvciBlbmFibGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIwNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjI1CiBtc2dpZCAiIgogImNvcmUuZnNtb25pdG9yIGlzIHNldDsgcmVtb3ZlIGl0IGlmIHlvdSByZWFsbHkgd2FudCB0byBkaXNhYmxlIGZzbW9uaXRvciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMDgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIyOQogbXNnaWQgImZzbW9uaXRvciBkaXNhYmxlZCIKIG1zZ3N0ciAiIgogCkBAIC0xNjkzNyw2ICsxOTkzMCwxMCBAQAogbXNnaWQgImdpdCB1cGxvYWQtcGFjayBbPG9wdGlvbnM+XSA8ZGlyPiIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGluL3VwbG9hZC1wYWNrLmM6MjMgdC9oZWxwZXIvdGVzdC1zZXJ2ZS12Mi5jOjE3Cittc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyNQogbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgaW5pdGlhbCByZWYgYWR2ZXJ0aXNlbWVudCIKIG1zZ3N0ciAiIgpAQCAtMTY5NDksMTUgKzE5OTQ2LDE1IEBACiBtc2dpZCAiaW50ZXJydXB0IHRyYW5zZmVyIGFmdGVyIDxuPiBzZWNvbmRzIG9mIGluYWN0aXZpdHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6MjAKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjE5CiBtc2dpZCAiZ2l0IHZlcmlmeS1jb21taXQgWy12IHwgLS12ZXJib3NlXSA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo3NgorIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NjgKIG1zZ2lkICJwcmludCBjb21taXQgY29udGVudHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzcgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzgKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjY5IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM3CiBtc2dpZCAicHJpbnQgcmF3IGdwZyBzdGF0dXMgb3V0cHV0IgogbXNnc3RyICIiCiAKQEAgLTE2OTczLDExICsxOTk3MCwxMSBAQAogbXNnaWQgInNob3cgc3RhdGlzdGljcyBvbmx5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjE5CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzoxOAogbXNnaWQgImdpdCB2ZXJpZnktdGFnIFstdiB8IC0tdmVyYm9zZV0gWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnPi4uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3ZlcmlmeS10YWcuYzozNworIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzYKIG1zZ2lkICJwcmludCB0YWcgY29udGVudHMiCiBtc2dzdHIgIiIKIApAQCAtMTcwMDksNyArMjAwMDYsNyBAQAogbXNnaWQgImdpdCB3b3JrdHJlZSB1bmxvY2sgPHBhdGg+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2MCBidWlsdGluL3dvcmt0cmVlLmM6ODcxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NjAgYnVpbHRpbi93b3JrdHJlZS5jOjg5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlICclcyciCiBtc2dzdHIgIiIKQEAgLTE3MDc4LDE5NiArMjAwNzUsMjExIEBACiAidXNlICdhZGQgLWYnIHRvIG92ZXJyaWRlLCBvciAncHJ1bmUnIG9yICdyZW1vdmUnIHRvIGNsZWFyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMDkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzozMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3Rvcnkgb2YgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDI4IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzkgYnVpbHRpbi93b3JrdHJlZS5jOjQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKG5ldyBicmFuY2ggJyVzJykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQzMAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKHJlc2V0dGluZyBicmFuY2ggJyVzJzsgd2FzIGF0ICVzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDM5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlByZXBhcmluZyB3b3JrdHJlZSAoY2hlY2tpbmcgb3V0ICclcycpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChkZXRhY2hlZCBIRUFEICVzKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDg2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDk3CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gZXZlbiBpZiBhbHJlYWR5IGNoZWNrZWQgb3V0IGluIG90aGVyIHdvcmt0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDAKIG1zZ2lkICJjcmVhdGUgYSBuZXcgYnJhbmNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDIKIG1zZ2lkICJjcmVhdGUgb3IgcmVzZXQgYSBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwNAogbXNnaWQgInBvcHVsYXRlIHRoZSBuZXcgd29ya2luZyB0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDUKIG1zZ2lkICJrZWVwIHRoZSBuZXcgd29ya2luZyB0cmVlIGxvY2tlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDk3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA4CiBtc2dpZCAic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtYnJhbmNoKDEpKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTAwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTExCiBtc2dpZCAidHJ5IHRvIG1hdGNoIHRoZSBuZXcgYnJhbmNoIG5hbWUgd2l0aCBhIHJlbW90ZS10cmFja2luZyBicmFuY2giCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUxOQogbXNnaWQgIi1iLCAtQiwgYW5kIC0tZGV0YWNoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjU2OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjU4MAogbXNnaWQgIi0tW25vLV10cmFjayBjYW4gb25seSBiZSB1c2VkIGlmIGEgbmV3IGJyYW5jaCBpcyBjcmVhdGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NjkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODAKIG1zZ2lkICJyZWFzb24gZm9yIGxvY2tpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY4MSBidWlsdGluL3dvcmt0cmVlLmM6NzE0IGJ1aWx0aW4vd29ya3RyZWUuYzo3NzIKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4OTkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2OTIgYnVpbHRpbi93b3JrdHJlZS5jOjcyNSBidWlsdGluL3dvcmt0cmVlLmM6Nzk5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgd29ya2luZyB0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODMgYnVpbHRpbi93b3JrdHJlZS5jOjcxNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5NCBidWlsdGluL3dvcmt0cmVlLmM6NzI3CiBtc2dpZCAiVGhlIG1haW4gd29ya2luZyB0cmVlIGNhbm5vdCBiZSBsb2NrZWQgb3IgdW5sb2NrZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY4OAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkLCByZWFzb246ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2OTAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzE4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGxvY2tlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzQzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NzcwCiBtc2dpZCAid29ya2luZyB0cmVlcyBjb250YWluaW5nIHN1Ym1vZHVsZXMgY2Fubm90IGJlIG1vdmVkIG9yIHJlbW92ZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc1MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3OAogbXNnaWQgImZvcmNlIG1vdmUgZXZlbiBpZiB3b3JrdHJlZSBpcyBkaXJ0eSBvciBsb2NrZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3NCBidWlsdGluL3dvcmt0cmVlLmM6OTAxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODAxIGJ1aWx0aW4vd29ya3RyZWUuYzo5MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhIG1haW4gd29ya2luZyB0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3NzkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGZpZ3VyZSBvdXQgZGVzdGluYXRpb24gbmFtZSBmcm9tICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc4NQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjgxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YXJnZXQgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzkzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjYW5ub3QgbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWUsIGxvY2sgcmVhc29uOiAlc1xuIgogInVzZSAnbW92ZSAtZiAtZicgdG8gb3ZlcnJpZGUgb3IgdW5sb2NrIGZpcnN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3OTUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MjIKIG1zZ2lkICIiCiAiY2Fubm90IG1vdmUgYSBsb2NrZWQgd29ya2luZyB0cmVlO1xuIgogInVzZSAnbW92ZSAtZiAtZicgdG8gb3ZlcnJpZGUgb3IgdW5sb2NrIGZpcnN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3OTgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidmFsaWRhdGlvbiBmYWlsZWQsIGNhbm5vdCBtb3ZlIHdvcmtpbmcgdHJlZTogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwMworIzogYnVpbHRpbi93b3JrdHJlZS5jOjgzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbW92ZSAnJXMnIHRvICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjg1MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjg3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcnVuICdnaXQgc3RhdHVzJyBvbiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NTUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4ODIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBkaXJ0eSwgdXNlIC0tZm9yY2UgdG8gZGVsZXRlIGl0IgorbXNnaWQgIiclcycgY29udGFpbnMgbW9kaWZpZWQgb3IgdW50cmFja2VkIGZpbGVzLCB1c2UgLS1mb3JjZSB0byBkZWxldGUgaXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjg2MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjg4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcnVuICdnaXQgc3RhdHVzJyBvbiAnJXMnLCBjb2RlICVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4ODMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MTAKIG1zZ2lkICJmb3JjZSByZW1vdmFsIGV2ZW4gaWYgd29ya3RyZWUgaXMgZGlydHkgb3IgbG9ja2VkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MDYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNhbm5vdCByZW1vdmUgYSBsb2NrZWQgd29ya2luZyB0cmVlLCBsb2NrIHJlYXNvbjogJXNcbiIKICJ1c2UgJ3JlbW92ZSAtZiAtZicgdG8gb3ZlcnJpZGUgb3IgdW5sb2NrIGZpcnN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MDgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MzUKIG1zZ2lkICIiCiAiY2Fubm90IHJlbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWU7XG4iCiAidXNlICdyZW1vdmUgLWYgLWYnIHRvIG92ZXJyaWRlIG9yIHVubG9jayBmaXJzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6OTExCisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInZhbGlkYXRpb24gZmFpbGVkLCBjYW5ub3QgcmVtb3ZlIHdvcmtpbmcgdHJlZTogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MTQKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjE1CiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTxwcmVmaXg+L10iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjcKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI4CiBtc2dpZCAiPHByZWZpeD4vIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI4CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOQogbXNnaWQgIndyaXRlIHRyZWUgb2JqZWN0IGZvciBhIHN1YmRpcmVjdG9yeSA8cHJlZml4PiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMAorIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MzEKIG1zZ2lkICJvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nIgogbXNnc3RyICIiCiAKLSM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyMgorIzogZmFzdC1pbXBvcnQuYzozMTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4cGVjdGVkICdtYXJrJyBjb21tYW5kLCBnb3QgJXMiCittc2dzdHIgIiIKKworIzogZmFzdC1pbXBvcnQuYzozMTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkV4cGVjdGVkICd0bycgY29tbWFuZCwgZ290ICVzIgorbXNnc3RyICIiCisKKyM6IGZhc3QtaW1wb3J0LmM6MzI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmZWF0dXJlICclcycgZm9yYmlkZGVuIGluIGlucHV0IHdpdGhvdXQgLS1hbGxvdy11bnNhZmUtZmVhdHVyZXMiCittc2dzdHIgIiIKKworIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgcGVybWlzc2lvbnMgb24geW91ciBzb2NrZXQgZGlyZWN0b3J5IGFyZSB0b28gbG9vc2U7IG90aGVyXG4iCkBAIC0xNzI3Niw3ICsyMDI4OCw3IEBACiAiXHRjaG1vZCAwNzAwICVzIgogbXNnc3RyICIiCiAKLSM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjI3MQorIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcyCiBtc2dpZCAicHJpbnQgZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHN0ZGVyciIKIG1zZ3N0ciAiIgogCkBAIC0xNzI4OSw2ICsyMDMwMSwxNCBAQAogbXNnaWQgInRvbyBtYW55IGNvbW1pdHMgbWFya2VkIHJlYWNoYWJsZSIKIG1zZ3N0ciAiIgogCisjOiB0L2hlbHBlci90ZXN0LXNlcnZlLXYyLmM6NworbXNnaWQgInRlc3QtdG9vbCBzZXJ2ZS12MiBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiIgorCisjOiB0L2hlbHBlci90ZXN0LXNlcnZlLXYyLmM6MTkKK21zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGFkdmVydGlzaW5nIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCiAjOiBnaXQuYzoyNwogbXNnaWQgIiIKICJnaXQgWy0tdmVyc2lvbl0gWy0taGVscF0gWy1DIDxwYXRoPl0gWy1jIDxuYW1lPj08dmFsdWU+XVxuIgpAQCAtMTczMDMsOTYgKzIwMzIzLDE0MyBAQAogbXNnaWQgIiIKICInZ2l0IGhlbHAgLWEnIGFuZCAnZ2l0IGhlbHAgLWcnIGxpc3QgYXZhaWxhYmxlIHN1YmNvbW1hbmRzIGFuZCBzb21lXG4iCiAiY29uY2VwdCBndWlkZXMuIFNlZSAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyBvciAnZ2l0IGhlbHAgPGNvbmNlcHQ+J1xuIgotInRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIG9yIGNvbmNlcHQuIgorInRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIG9yIGNvbmNlcHQuXG4iCisiU2VlICdnaXQgaGVscCBnaXQnIGZvciBhbiBvdmVydmlldyBvZiB0aGUgc3lzdGVtLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQuYzoxNzMKKyM6IGdpdC5jOjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBkaXJlY3RvcnkgZ2l2ZW4gZm9yIC0tZ2l0LWRpclxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC5jOjE4NworIzogZ2l0LmM6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG5hbWVzcGFjZSBnaXZlbiBmb3IgLS1uYW1lc3BhY2VcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQuYzoyMDEKKyM6IGdpdC5jOjIxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBkaXJlY3RvcnkgZ2l2ZW4gZm9yIC0td29yay10cmVlXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LmM6MjE1CisjOiBnaXQuYzoyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gcHJlZml4IGdpdmVuIGZvciAtLXN1cGVyLXByZWZpeFxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC5jOjIzNworIzogZ2l0LmM6MjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIi1jIGV4cGVjdHMgYSBjb25maWd1cmF0aW9uIHN0cmluZ1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC5jOjI3NQorIzogZ2l0LmM6Mjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLUNcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQuYzozMDAKKyM6IGdpdC5jOjMxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9wdGlvbjogJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQuYzo3MTkKKyM6IGdpdC5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ3aGlsZSBleHBhbmRpbmcgYWxpYXMgJyVzJzogJyVzJyIKK21zZ3N0ciAiIgorCisjOiBnaXQuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImFsaWFzICclcycgY2hhbmdlcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4iCisiWW91IGNhbiB1c2UgJyFnaXQnIGluIHRoZSBhbGlhcyB0byBkbyB0aGlzIgorbXNnc3RyICIiCisKKyM6IGdpdC5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJlbXB0eSBhbGlhcyBmb3IgJXMiCittc2dzdHIgIiIKKworIzogZ2l0LmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY3Vyc2l2ZSBhbGlhczogJXMiCittc2dzdHIgIiIKKworIzogZ2l0LmM6NDU5Cittc2dpZCAid3JpdGUgZmFpbHVyZSBvbiBzdGFuZGFyZCBvdXRwdXQiCittc2dzdHIgIiIKKworIzogZ2l0LmM6NDYxCittc2dpZCAidW5rbm93biB3cml0ZSBmYWlsdXJlIG9uIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBnaXQuYzo0NjMKK21zZ2lkICJjbG9zZSBmYWlsZWQgb24gc3RhbmRhcmQgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGdpdC5jOjc5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhbGlhcyBsb29wIGRldGVjdGVkOiBleHBhbnNpb24gb2YgJyVzJyBkb2VzIG5vdCB0ZXJtaW5hdGU6JXMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LmM6ODAyCisjOiBnaXQuYzo4NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGhhbmRsZSAlcyBhcyBhIGJ1aWx0aW4iCittc2dzdHIgIiIKKworIzogZ2l0LmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQuYzo4NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwYW5zaW9uIG9mIGFsaWFzICclcycgZmFpbGVkOyAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LmM6ODE0CisjOiBnaXQuYzo4ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJ1biBjb21tYW5kICclcyc6ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogaHR0cC5jOjM3NAorIzogaHR0cC5jOjM3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJuZWdhdGl2ZSB2YWx1ZSBmb3IgaHR0cC5wb3N0YnVmZmVyOyBkZWZhdWx0aW5nIHRvICVkIgogbXNnc3RyICIiCiAKLSM6IGh0dHAuYzozOTUKKyM6IGh0dHAuYzozOTkKIG1zZ2lkICJEZWxlZ2F0aW9uIGNvbnRyb2wgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjIyLjAiCiBtc2dzdHIgIiIKIAotIzogaHR0cC5jOjQwNAorIzogaHR0cC5jOjQwOAogbXNnaWQgIlB1YmxpYyBrZXkgcGlubmluZyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuNDQuMCIKIG1zZ3N0ciAiIgogCi0jOiBodHRwLmM6ODM3CisjOiBodHRwLmM6ODc2CiBtc2dpZCAiQ1VSTFNTTE9QVF9OT19SRVZPS0Ugbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjQ0LjAiCiBtc2dzdHIgIiIKIAotIzogaHR0cC5jOjkxMAorIzogaHR0cC5jOjk0OQogbXNnaWQgIlByb3RvY29sIHJlc3RyaWN0aW9ucyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuMTkuNCIKIG1zZ3N0ciAiIgogCi0jOiBodHRwLmM6MTA0NgorIzogaHR0cC5jOjEwODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5zdXBwb3J0ZWQgU1NMIGJhY2tlbmQgJyVzJy4gU3VwcG9ydGVkIFNTTCBiYWNrZW5kczoiCiBtc2dzdHIgIiIKIAotIzogaHR0cC5jOjEwNTMKKyM6IGh0dHAuYzoxMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXQgU1NMIGJhY2tlbmQgdG8gJyVzJzogY1VSTCB3YXMgYnVpbHQgd2l0aG91dCBTU0wgYmFja2VuZHMiCiBtc2dzdHIgIiIKIAotIzogaHR0cC5jOjEwNTcKKyM6IGh0dHAuYzoxMDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXQgU1NMIGJhY2tlbmQgdG8gJyVzJzogYWxyZWFkeSBzZXQiCiBtc2dzdHIgIiIKIAotIzogaHR0cC5jOjE5MjEKKyM6IGh0dHAuYzoxOTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ1bmFibGUgdG8gdXBkYXRlIHVybCBiYXNlIGZyb20gcmVkaXJlY3Rpb246XG4iCkBAIC0xNzQwMCwzOSArMjA0NjcsMTc2IEBACiAiICAgcmVkaXJlY3Q6ICVzIgogbXNnc3RyICIiCiAKLSM6IHJlbW90ZS1jdXJsLmM6NDAxCisjOiByZW1vdGUtY3VybC5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHF1b3RpbmcgaW4gcHVzaC1vcHRpb24gdmFsdWU6ICclcyciCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzoyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNpbmZvL3JlZnMgbm90IHZhbGlkOiBpcyB0aGlzIGEgZ2l0IHJlcG9zaXRvcnk/IgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6MzY0Cittc2dpZCAiaW52YWxpZCBzZXJ2ZXIgcmVzcG9uc2U7IGV4cGVjdGVkIHNlcnZpY2UsIGdvdCBmbHVzaCBwYWNrZXQiCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzZXJ2ZXIgcmVzcG9uc2U7IGdvdCAnJXMnIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXV0aGVudGljYXRpb24gZmFpbGVkIGZvciAnJXMnIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJzogJXMiCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzo0NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVkaXJlY3RpbmcgdG8gJXMiCiBtc2dzdHIgIiIKIAotIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmg6NjAKKyM6IHJlbW90ZS1jdXJsLmM6NTkzCittc2dpZCAic2hvdWxkbid0IGhhdmUgRU9GIHdoZW4gbm90IGdlbnRsZSBvbiBFT0YiCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzo2NzMKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHJwYyBwb3N0IGRhdGEgLSB0cnkgaW5jcmVhc2luZyBodHRwLnBvc3RCdWZmZXIiCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzo3MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUlBDIGZhaWxlZDsgJXMiCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzo3NzMKK21zZ2lkICJjYW5ub3QgaGFuZGxlIHB1c2hlcyB0aGlzIGJpZyIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUtY3VybC5jOjg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGVmbGF0ZSByZXF1ZXN0OyB6bGliIGRlZmxhdGUgZXJyb3IgJWQiCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzo4OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRlZmxhdGUgcmVxdWVzdDsgemxpYiBlbmQgZXJyb3IgJWQiCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzoxMDIzCittc2dpZCAiZHVtYiBodHRwIHRyYW5zcG9ydCBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTAzNworbXNnaWQgImZldGNoIGZhaWxlZC4iCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzoxMDg1Cittc2dpZCAiY2Fubm90IGZldGNoIGJ5IHNoYTEgb3ZlciBzbWFydCBodHRwIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTEyOSByZW1vdGUtY3VybC5jOjExMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJvdG9jb2wgZXJyb3I6IGV4cGVjdGVkIHNoYS9yZWYsIGdvdCAnJXMnIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTE0NyByZW1vdGUtY3VybC5jOjEyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaHR0cCB0cmFuc3BvcnQgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUtY3VybC5jOjExODMKK21zZ2lkICJnaXQtaHR0cC1wdXNoIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUtY3VybC5jOjEzNjcKK21zZ2lkICJyZW1vdGUtY3VybDogdXNhZ2U6IGdpdCByZW1vdGUtY3VybCA8cmVtb3RlPiBbPHVybD5dIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTM5OQorbXNnaWQgInJlbW90ZS1jdXJsOiBlcnJvciByZWFkaW5nIGNvbW1hbmQgc3RyZWFtIGZyb20gZ2l0IgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTQwNgorbXNnaWQgInJlbW90ZS1jdXJsOiBmZXRjaCBhdHRlbXB0ZWQgd2l0aG91dCBhIGxvY2FsIHJlcG8iCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzoxNDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW90ZS1jdXJsOiB1bmtub3duIGNvbW1hbmQgJyVzJyBmcm9tIGdpdCIKK21zZ3N0ciAiIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaDo4NQogbXNnaWQgImFyZ3MiCiBtc2dzdHIgIiIKIAotIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmg6NjEKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oOjg2CiBtc2dpZCAib2JqZWN0IGZpbHRlcmluZyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MTU0CisjOiBwYXJzZS1vcHRpb25zLmg6MTgzCiBtc2dpZCAiZXhwaXJ5LWRhdGUiCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjE2OQorIzogcGFyc2Utb3B0aW9ucy5oOjE5NwogbXNnaWQgIm5vLW9wIChiYWNrd2FyZCBjb21wYXRpYmlsaXR5KSIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjYxCisjOiBwYXJzZS1vcHRpb25zLmg6MzA5CiBtc2dpZCAiYmUgbW9yZSB2ZXJib3NlIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNjMKKyM6IHBhcnNlLW9wdGlvbnMuaDozMTEKIG1zZ2lkICJiZSBtb3JlIHF1aWV0IgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNjkKKyM6IHBhcnNlLW9wdGlvbnMuaDozMTcKIG1zZ2lkICJ1c2UgPG4+IGRpZ2l0cyB0byBkaXNwbGF5IFNIQS0xcyIKIG1zZ3N0ciAiIgogCisjOiBwYXJzZS1vcHRpb25zLmg6MzM2Cittc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKK21zZ3N0ciAiIgorCisjOiBwYXJzZS1vcHRpb25zLmg6MzM3Cittc2dpZCAicmVhZCBwYXRoc3BlYyBmcm9tIGZpbGUiCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy5oOjMzOAorbXNnaWQgIiIKKyJ3aXRoIC0tcGF0aHNwZWMtZnJvbS1maWxlLCBwYXRoc3BlYyBlbGVtZW50cyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmg6MTAxCittc2dpZCAia2V5IgorbXNnc3RyICIiCisKKyM6IHJlZi1maWx0ZXIuaDoxMDEKK21zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCittc2dzdHIgIiIKKworIzogcmVyZXJlLmg6NDQKK21zZ2lkICJ1cGRhdGUgdGhlIGluZGV4IHdpdGggcmV1c2VkIGNvbmZsaWN0IHJlc29sdXRpb24gaWYgcG9zc2libGUiCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmg6NjcKK21zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuaDo2OAorbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCittc2dzdHIgIiIKKwogIzogY29tbWFuZC1saXN0Lmg6NTAKIG1zZ2lkICJBZGQgZmlsZSBjb250ZW50cyB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKQEAgLTE3Njg2LDcgKzIwODkwLDcgQEAKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMTMKLW1zZ2lkICJhZGQgb3IgcGFyc2Ugc3RydWN0dXJlZCBpbmZvcm1hdGlvbiBpbiBjb21taXQgbWVzc2FnZXMiCittc2dpZCAiQWRkIG9yIHBhcnNlIHN0cnVjdHVyZWQgaW5mb3JtYXRpb24gaW4gY29tbWl0IG1lc3NhZ2VzIgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjExNApAQCAtMTc4NTgsMjE5ICsyMTA2MiwyMzEgQEAKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNTYKLW1zZ2lkICJSZXZlcnQgc29tZSBleGlzdGluZyBjb21taXRzIgorbXNnaWQgIlJlc3RvcmUgd29ya2luZyB0cmVlIGZpbGVzIgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE1NwotbXNnaWQgIkxpc3RzIGNvbW1pdCBvYmplY3RzIGluIHJldmVyc2UgY2hyb25vbG9naWNhbCBvcmRlciIKK21zZ2lkICJSZXZlcnQgc29tZSBleGlzdGluZyBjb21taXRzIgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE1OAotbXNnaWQgIlBpY2sgb3V0IGFuZCBtYXNzYWdlIHBhcmFtZXRlcnMiCittc2dpZCAiTGlzdHMgY29tbWl0IG9iamVjdHMgaW4gcmV2ZXJzZSBjaHJvbm9sb2dpY2FsIG9yZGVyIgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE1OQotbXNnaWQgIlJlbW92ZSBmaWxlcyBmcm9tIHRoZSB3b3JraW5nIHRyZWUgYW5kIGZyb20gdGhlIGluZGV4IgorbXNnaWQgIlBpY2sgb3V0IGFuZCBtYXNzYWdlIHBhcmFtZXRlcnMiCiBtc2dzdHIgIiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTYwCi1tc2dpZCAiU2VuZCBhIGNvbGxlY3Rpb24gb2YgcGF0Y2hlcyBhcyBlbWFpbHMiCittc2dpZCAiUmVtb3ZlIGZpbGVzIGZyb20gdGhlIHdvcmtpbmcgdHJlZSBhbmQgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTYxCi1tc2dpZCAiUHVzaCBvYmplY3RzIG92ZXIgR2l0IHByb3RvY29sIHRvIGFub3RoZXIgcmVwb3NpdG9yeSIKK21zZ2lkICJTZW5kIGEgY29sbGVjdGlvbiBvZiBwYXRjaGVzIGFzIGVtYWlscyIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNjIKLW1zZ2lkICJSZXN0cmljdGVkIGxvZ2luIHNoZWxsIGZvciBHaXQtb25seSBTU0ggYWNjZXNzIgorbXNnaWQgIlB1c2ggb2JqZWN0cyBvdmVyIEdpdCBwcm90b2NvbCB0byBhbm90aGVyIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTYzCi1tc2dpZCAiU3VtbWFyaXplICdnaXQgbG9nJyBvdXRwdXQiCittc2dpZCAiUmVzdHJpY3RlZCBsb2dpbiBzaGVsbCBmb3IgR2l0LW9ubHkgU1NIIGFjY2VzcyIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNjQKLW1zZ2lkICJTaG93IHZhcmlvdXMgdHlwZXMgb2Ygb2JqZWN0cyIKK21zZ2lkICJTdW1tYXJpemUgJ2dpdCBsb2cnIG91dHB1dCIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNjUKLW1zZ2lkICJTaG93IGJyYW5jaGVzIGFuZCB0aGVpciBjb21taXRzIgorbXNnaWQgIlNob3cgdmFyaW91cyB0eXBlcyBvZiBvYmplY3RzIgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE2NgotbXNnaWQgIlNob3cgcGFja2VkIGFyY2hpdmUgaW5kZXgiCittc2dpZCAiU2hvdyBicmFuY2hlcyBhbmQgdGhlaXIgY29tbWl0cyIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNjcKLW1zZ2lkICJMaXN0IHJlZmVyZW5jZXMgaW4gYSBsb2NhbCByZXBvc2l0b3J5IgorbXNnaWQgIlNob3cgcGFja2VkIGFyY2hpdmUgaW5kZXgiCiBtc2dzdHIgIiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTY4Ci1tc2dpZCAiR2l0J3MgaTE4biBzZXR1cCBjb2RlIGZvciBzaGVsbCBzY3JpcHRzIgorbXNnaWQgIkxpc3QgcmVmZXJlbmNlcyBpbiBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTY5Ci1tc2dpZCAiQ29tbW9uIEdpdCBzaGVsbCBzY3JpcHQgc2V0dXAgY29kZSIKK21zZ2lkICJHaXQncyBpMThuIHNldHVwIGNvZGUgZm9yIHNoZWxsIHNjcmlwdHMiCiBtc2dzdHIgIiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTcwCi1tc2dpZCAiU3Rhc2ggdGhlIGNoYW5nZXMgaW4gYSBkaXJ0eSB3b3JraW5nIGRpcmVjdG9yeSBhd2F5IgorbXNnaWQgIkNvbW1vbiBHaXQgc2hlbGwgc2NyaXB0IHNldHVwIGNvZGUiCiBtc2dzdHIgIiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTcxCi1tc2dpZCAiQWRkIGZpbGUgY29udGVudHMgdG8gdGhlIHN0YWdpbmcgYXJlYSIKK21zZ2lkICJJbml0aWFsaXplIGFuZCBtb2RpZnkgdGhlIHNwYXJzZS1jaGVja291dCIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNzIKLW1zZ2lkICJTaG93IHRoZSB3b3JraW5nIHRyZWUgc3RhdHVzIgorbXNnaWQgIlN0YXNoIHRoZSBjaGFuZ2VzIGluIGEgZGlydHkgd29ya2luZyBkaXJlY3RvcnkgYXdheSIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNzMKLW1zZ2lkICJSZW1vdmUgdW5uZWNlc3Nhcnkgd2hpdGVzcGFjZSIKK21zZ2lkICJBZGQgZmlsZSBjb250ZW50cyB0byB0aGUgc3RhZ2luZyBhcmVhIgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE3NAotbXNnaWQgIkluaXRpYWxpemUsIHVwZGF0ZSBvciBpbnNwZWN0IHN1Ym1vZHVsZXMiCittc2dpZCAiU2hvdyB0aGUgd29ya2luZyB0cmVlIHN0YXR1cyIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNzUKLW1zZ2lkICJCaWRpcmVjdGlvbmFsIG9wZXJhdGlvbiBiZXR3ZWVuIGEgU3VidmVyc2lvbiByZXBvc2l0b3J5IGFuZCBHaXQiCittc2dpZCAiUmVtb3ZlIHVubmVjZXNzYXJ5IHdoaXRlc3BhY2UiCiBtc2dzdHIgIiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTc2Ci1tc2dpZCAiUmVhZCwgbW9kaWZ5IGFuZCBkZWxldGUgc3ltYm9saWMgcmVmcyIKK21zZ2lkICJJbml0aWFsaXplLCB1cGRhdGUgb3IgaW5zcGVjdCBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE3NwotbXNnaWQgIkNyZWF0ZSwgbGlzdCwgZGVsZXRlIG9yIHZlcmlmeSBhIHRhZyBvYmplY3Qgc2lnbmVkIHdpdGggR1BHIgorbXNnaWQgIkJpZGlyZWN0aW9uYWwgb3BlcmF0aW9uIGJldHdlZW4gYSBTdWJ2ZXJzaW9uIHJlcG9zaXRvcnkgYW5kIEdpdCIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNzgKLW1zZ2lkICJDcmVhdGVzIGEgdGVtcG9yYXJ5IGZpbGUgd2l0aCBhIGJsb2IncyBjb250ZW50cyIKK21zZ2lkICJTd2l0Y2ggYnJhbmNoZXMiCiBtc2dzdHIgIiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTc5Ci1tc2dpZCAiVW5wYWNrIG9iamVjdHMgZnJvbSBhIHBhY2tlZCBhcmNoaXZlIgorbXNnaWQgIlJlYWQsIG1vZGlmeSBhbmQgZGVsZXRlIHN5bWJvbGljIHJlZnMiCiBtc2dzdHIgIiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTgwCi1tc2dpZCAiUmVnaXN0ZXIgZmlsZSBjb250ZW50cyBpbiB0aGUgd29ya2luZyB0cmVlIHRvIHRoZSBpbmRleCIKK21zZ2lkICJDcmVhdGUsIGxpc3QsIGRlbGV0ZSBvciB2ZXJpZnkgYSB0YWcgb2JqZWN0IHNpZ25lZCB3aXRoIEdQRyIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxODEKLW1zZ2lkICJVcGRhdGUgdGhlIG9iamVjdCBuYW1lIHN0b3JlZCBpbiBhIHJlZiBzYWZlbHkiCittc2dpZCAiQ3JlYXRlcyBhIHRlbXBvcmFyeSBmaWxlIHdpdGggYSBibG9iJ3MgY29udGVudHMiCiBtc2dzdHIgIiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTgyCi1tc2dpZCAiVXBkYXRlIGF1eGlsaWFyeSBpbmZvIGZpbGUgdG8gaGVscCBkdW1iIHNlcnZlcnMiCittc2dpZCAiVW5wYWNrIG9iamVjdHMgZnJvbSBhIHBhY2tlZCBhcmNoaXZlIgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE4MwotbXNnaWQgIlNlbmQgYXJjaGl2ZSBiYWNrIHRvIGdpdC1hcmNoaXZlIgorbXNnaWQgIlJlZ2lzdGVyIGZpbGUgY29udGVudHMgaW4gdGhlIHdvcmtpbmcgdHJlZSB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTg0Ci1tc2dpZCAiU2VuZCBvYmplY3RzIHBhY2tlZCBiYWNrIHRvIGdpdC1mZXRjaC1wYWNrIgorbXNnaWQgIlVwZGF0ZSB0aGUgb2JqZWN0IG5hbWUgc3RvcmVkIGluIGEgcmVmIHNhZmVseSIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxODUKLW1zZ2lkICJTaG93IGEgR2l0IGxvZ2ljYWwgdmFyaWFibGUiCittc2dpZCAiVXBkYXRlIGF1eGlsaWFyeSBpbmZvIGZpbGUgdG8gaGVscCBkdW1iIHNlcnZlcnMiCiBtc2dzdHIgIiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTg2Ci1tc2dpZCAiQ2hlY2sgdGhlIEdQRyBzaWduYXR1cmUgb2YgY29tbWl0cyIKK21zZ2lkICJTZW5kIGFyY2hpdmUgYmFjayB0byBnaXQtYXJjaGl2ZSIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxODcKLW1zZ2lkICJWYWxpZGF0ZSBwYWNrZWQgR2l0IGFyY2hpdmUgZmlsZXMiCittc2dpZCAiU2VuZCBvYmplY3RzIHBhY2tlZCBiYWNrIHRvIGdpdC1mZXRjaC1wYWNrIgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE4OAotbXNnaWQgIkNoZWNrIHRoZSBHUEcgc2lnbmF0dXJlIG9mIHRhZ3MiCittc2dpZCAiU2hvdyBhIEdpdCBsb2dpY2FsIHZhcmlhYmxlIgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE4OQotbXNnaWQgIkdpdCB3ZWIgaW50ZXJmYWNlICh3ZWIgZnJvbnRlbmQgdG8gR2l0IHJlcG9zaXRvcmllcykiCittc2dpZCAiQ2hlY2sgdGhlIEdQRyBzaWduYXR1cmUgb2YgY29tbWl0cyIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxOTAKLW1zZ2lkICJTaG93IGxvZ3Mgd2l0aCBkaWZmZXJlbmNlIGVhY2ggY29tbWl0IGludHJvZHVjZXMiCittc2dpZCAiVmFsaWRhdGUgcGFja2VkIEdpdCBhcmNoaXZlIGZpbGVzIgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE5MQotbXNnaWQgIk1hbmFnZSBtdWx0aXBsZSB3b3JraW5nIHRyZWVzIgorbXNnaWQgIkNoZWNrIHRoZSBHUEcgc2lnbmF0dXJlIG9mIHRhZ3MiCiBtc2dzdHIgIiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTkyCi1tc2dpZCAiQ3JlYXRlIGEgdHJlZSBvYmplY3QgZnJvbSB0aGUgY3VycmVudCBpbmRleCIKK21zZ2lkICJHaXQgd2ViIGludGVyZmFjZSAod2ViIGZyb250ZW5kIHRvIEdpdCByZXBvc2l0b3JpZXMpIgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE5MwotbXNnaWQgIkRlZmluaW5nIGF0dHJpYnV0ZXMgcGVyIHBhdGgiCittc2dpZCAiU2hvdyBsb2dzIHdpdGggZGlmZmVyZW5jZSBlYWNoIGNvbW1pdCBpbnRyb2R1Y2VzIgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE5NAotbXNnaWQgIkdpdCBjb21tYW5kLWxpbmUgaW50ZXJmYWNlIGFuZCBjb252ZW50aW9ucyIKK21zZ2lkICJNYW5hZ2UgbXVsdGlwbGUgd29ya2luZyB0cmVlcyIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxOTUKLW1zZ2lkICJBIEdpdCBjb3JlIHR1dG9yaWFsIGZvciBkZXZlbG9wZXJzIgorbXNnaWQgIkNyZWF0ZSBhIHRyZWUgb2JqZWN0IGZyb20gdGhlIGN1cnJlbnQgaW5kZXgiCiBtc2dzdHIgIiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTk2Ci1tc2dpZCAiR2l0IGZvciBDVlMgdXNlcnMiCittc2dpZCAiRGVmaW5pbmcgYXR0cmlidXRlcyBwZXIgcGF0aCIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxOTcKLW1zZ2lkICJUd2Vha2luZyBkaWZmIG91dHB1dCIKK21zZ2lkICJHaXQgY29tbWFuZC1saW5lIGludGVyZmFjZSBhbmQgY29udmVudGlvbnMiCiBtc2dzdHIgIiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTk4Ci1tc2dpZCAiQSB1c2VmdWwgbWluaW11bSBzZXQgb2YgY29tbWFuZHMgZm9yIEV2ZXJ5ZGF5IEdpdCIKK21zZ2lkICJBIEdpdCBjb3JlIHR1dG9yaWFsIGZvciBkZXZlbG9wZXJzIgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE5OQotbXNnaWQgIkEgR2l0IEdsb3NzYXJ5IgorbXNnaWQgIkdpdCBmb3IgQ1ZTIHVzZXJzIgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjIwMAotbXNnaWQgIkhvb2tzIHVzZWQgYnkgR2l0IgorbXNnaWQgIlR3ZWFraW5nIGRpZmYgb3V0cHV0IgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjIwMQotbXNnaWQgIlNwZWNpZmllcyBpbnRlbnRpb25hbGx5IHVudHJhY2tlZCBmaWxlcyB0byBpZ25vcmUiCittc2dpZCAiQSB1c2VmdWwgbWluaW11bSBzZXQgb2YgY29tbWFuZHMgZm9yIEV2ZXJ5ZGF5IEdpdCIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoyMDIKLW1zZ2lkICJEZWZpbmluZyBzdWJtb2R1bGUgcHJvcGVydGllcyIKK21zZ2lkICJBIEdpdCBHbG9zc2FyeSIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoyMDMKLW1zZ2lkICJHaXQgbmFtZXNwYWNlcyIKK21zZ2lkICJIb29rcyB1c2VkIGJ5IEdpdCIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoyMDQKLW1zZ2lkICJHaXQgUmVwb3NpdG9yeSBMYXlvdXQiCittc2dpZCAiU3BlY2lmaWVzIGludGVudGlvbmFsbHkgdW50cmFja2VkIGZpbGVzIHRvIGlnbm9yZSIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoyMDUKLW1zZ2lkICJTcGVjaWZ5aW5nIHJldmlzaW9ucyBhbmQgcmFuZ2VzIGZvciBHaXQiCittc2dpZCAiRGVmaW5pbmcgc3VibW9kdWxlIHByb3BlcnRpZXMiCiBtc2dzdHIgIiIKIAogIzogY29tbWFuZC1saXN0Lmg6MjA2Ci1tc2dpZCAiQSB0dXRvcmlhbCBpbnRyb2R1Y3Rpb24gdG8gR2l0OiBwYXJ0IHR3byIKK21zZ2lkICJHaXQgbmFtZXNwYWNlcyIKIG1zZ3N0ciAiIgogCiAjOiBjb21tYW5kLWxpc3QuaDoyMDcKLW1zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQiCittc2dpZCAiR2l0IFJlcG9zaXRvcnkgTGF5b3V0IgogbXNnc3RyICIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjIwOAotbXNnaWQgIkFuIG92ZXJ2aWV3IG9mIHJlY29tbWVuZGVkIHdvcmtmbG93cyB3aXRoIEdpdCIKK21zZ2lkICJTcGVjaWZ5aW5nIHJldmlzaW9ucyBhbmQgcmFuZ2VzIGZvciBHaXQiCiBtc2dzdHIgIiIKIAotIzogcmVyZXJlLmg6NDQKLW1zZ2lkICJ1cGRhdGUgdGhlIGluZGV4IHdpdGggcmV1c2VkIGNvbmZsaWN0IHJlc29sdXRpb24gaWYgcG9zc2libGUiCisjOiBjb21tYW5kLWxpc3QuaDoyMDkKK21zZ2lkICJNb3VudGluZyBvbmUgcmVwb3NpdG9yeSBpbnNpZGUgYW5vdGhlciIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoyMTAKK21zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQ6IHBhcnQgdHdvIgorbXNnc3RyICIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjIxMQorbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdCIKK21zZ3N0ciAiIgorCisjOiBjb21tYW5kLWxpc3QuaDoyMTIKK21zZ2lkICJBbiBvdmVydmlldyBvZiByZWNvbW1lbmRlZCB3b3JrZmxvd3Mgd2l0aCBHaXQiCiBtc2dzdHIgIiIKIAogIzogZ2l0LWJpc2VjdC5zaDo1NApAQCAtMTgwODQsMTYwICsyMTMwMCw3MiBAQAogbXNnaWQgIkRvIHlvdSB3YW50IG1lIHRvIGRvIGl0IGZvciB5b3UgW1kvbl0/ICIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYmlzZWN0LnNoOjEyMQotIywgc2gtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pc2VkIG9wdGlvbjogJyRhcmcnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTI1Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICInJGFyZycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgdmFsaWQgcmV2aXNpb24iCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDoxNTQKLW1zZ2lkICJCYWQgSEVBRCAtIEkgbmVlZCBhIEhFQUQiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDoxNjcKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJDaGVja2luZyBvdXQgJyRzdGFydF9oZWFkJyBmYWlsZWQuIFRyeSAnZ2l0IGJpc2VjdCByZXNldCA8dmFsaWQtYnJhbmNoPicuIgotbXNnc3RyICIiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTc3Ci1tc2dpZCAid29uJ3QgYmlzZWN0IG9uIGNnLXNlZWsnZWQgdHJlZSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjE4MQotbXNnaWQgIkJhZCBIRUFEIC0gc3RyYW5nZSBzeW1ib2xpYyByZWYiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDoyMzMKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkJhZCBiaXNlY3Rfd3JpdGUgYXJndW1lbnQ6ICRzdGF0ZSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjI0NgorIzogZ2l0LWJpc2VjdC5zaDoxMDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRhcmciCiBtc2dzdHIgIiIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNjUKKyM6IGdpdC1iaXNlY3Quc2g6MTIxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkYmlzZWN0ZWRfaGVhZCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYmlzZWN0LnNoOjI3NAorIzogZ2l0LWJpc2VjdC5zaDoxMzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRyZXYiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWJpc2VjdC5zaDoyODMKKyM6IGdpdC1iaXNlY3Quc2g6MTM5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInZ2l0IGJpc2VjdCAkVEVSTV9CQUQnIGNhbiB0YWtlIG9ubHkgb25lIGFyZ3VtZW50LiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYmlzZWN0LnNoOjMwNgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiV2FybmluZzogYmlzZWN0aW5nIG9ubHkgd2l0aCBhICRURVJNX0JBRCBjb21taXQuIgotbXNnc3RyICIiCi0KLSMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbWV0gYW5kIFtuXSBpbiB5b3VyCi0jLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0Ci0jLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LWJpc2VjdC5zaDozMTIKLW1zZ2lkICJBcmUgeW91IHN1cmUgW1kvbl0/ICIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjMyNAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIllvdSBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICRiYWRfc3luIGFuZCBvbmUgJGdvb2Rfc3luIHJldmlzaW9uLlxuIgotIihZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiBhbmQgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiIGZvciB0aGF0LikiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDozMjcKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJZb3UgbmVlZCB0byBzdGFydCBieSBcImdpdCBiaXNlY3Qgc3RhcnRcIi5cbiIKLSJZb3UgdGhlbiBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICRnb29kX3N5biBhbmQgb25lICRiYWRfc3luIHJldmlzaW9uLlxuIgotIihZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiBhbmQgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiIGZvciB0aGF0LikiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDozOTggZ2l0LWJpc2VjdC5zaDo1MTIKLW1zZ2lkICJXZSBhcmUgbm90IGJpc2VjdGluZy4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDo0MDUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIickaW52YWxpZCcgaXMgbm90IGEgdmFsaWQgY29tbWl0IgotbXNnc3RyICIiCi0KLSM6IGdpdC1iaXNlY3Quc2g6NDE0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iQ291bGQgbm90IGNoZWNrIG91dCBvcmlnaW5hbCBIRUFEICckYnJhbmNoJy5cbiIKLSJUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPGNvbW1pdD4nLiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjQyMgorIzogZ2l0LWJpc2VjdC5zaDoyMDkKIG1zZ2lkICJObyBsb2dmaWxlIGdpdmVuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDIzCisjOiBnaXQtYmlzZWN0LnNoOjIxMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJGZpbGUgZm9yIHJlcGxheWluZyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ0NAorIzogZ2l0LWJpc2VjdC5zaDoyMzIKIG1zZ2lkICI/PyB3aGF0IGFyZSB5b3UgdGFsa2luZyBhYm91dD8iCiBtc2dzdHIgIiIKIAotIzogZ2l0LWJpc2VjdC5zaDo0NTMKKyM6IGdpdC1iaXNlY3Quc2g6MjQxCiBtc2dpZCAiYmlzZWN0IHJ1biBmYWlsZWQ6IG5vIGNvbW1hbmQgcHJvdmlkZWQuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDU4CisjOiBnaXQtYmlzZWN0LnNoOjI0NgogIywgc2gtZm9ybWF0CiBtc2dpZCAicnVubmluZyAkY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ2NQorIzogZ2l0LWJpc2VjdC5zaDoyNTMKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJiaXNlY3QgcnVuIGZhaWxlZDpcbiIKICJleGl0IGNvZGUgJHJlcyBmcm9tICckY29tbWFuZCcgaXMgPCAwIG9yID49IDEyOCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ5MQorIzogZ2l0LWJpc2VjdC5zaDoyNzkKIG1zZ2lkICJiaXNlY3QgcnVuIGNhbm5vdCBjb250aW51ZSBhbnkgbW9yZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ5NworIzogZ2l0LWJpc2VjdC5zaDoyODUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJiaXNlY3QgcnVuIGZhaWxlZDpcbiIKICInYmlzZWN0X3N0YXRlICRzdGF0ZScgZXhpdGVkIHdpdGggZXJyb3IgY29kZSAkcmVzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NTA0CisjOiBnaXQtYmlzZWN0LnNoOjI5MgogbXNnaWQgImJpc2VjdCBydW4gc3VjY2VzcyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYmlzZWN0LnNoOjUzMwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCBjb21tYW5kOiB5b3UncmUgY3VycmVudGx5IGluIGEgJFRFUk1fQkFELyRURVJNX0dPT0QgYmlzZWN0LiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjU2NwotbXNnaWQgIm5vIHRlcm1zIGRlZmluZWQiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDo1ODQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJpbnZhbGlkIGFyZ3VtZW50ICRhcmcgZm9yICdnaXQgYmlzZWN0IHRlcm1zJy5cbiIKLSJTdXBwb3J0ZWQgb3B0aW9ucyBhcmU6IC0tdGVybS1nb29kfC0tdGVybS1vbGQgYW5kIC0tdGVybS1iYWR8LS10ZXJtLW5ldy4iCisjOiBnaXQtYmlzZWN0LnNoOjMwMAorbXNnaWQgIldlIGFyZSBub3QgYmlzZWN0aW5nLiIKIG1zZ3N0ciAiIgogCiAjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo0NgpAQCAtMTgyNzgsMjUzICsyMTQwNiwxMTMgQEAKIG1zZ2lkICJTaW1wbGUgbWVyZ2UgZGlkIG5vdCB3b3JrLCB0cnlpbmcgYXV0b21hdGljIG1lcmdlLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0MzQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0NjAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKLSJJIHdvbmRlciBpZiB5b3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW5vdGhlciByZWJhc2UuICBJZiB0aGF0IGlzIHRoZVxuIgotImNhc2UsIHBsZWFzZSB0cnlcbiIKLSJcdCRjbWRfbGl2ZV9yZWJhc2VcbiIKLSJJZiB0aGF0IGlzIG5vdCB0aGUgY2FzZSwgcGxlYXNlXG4iCi0iXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxuIgotImFuZCBydW4gbWUgYWdhaW4uICBJIGFtIHN0b3BwaW5nIGluIGNhc2UgeW91IHN0aWxsIGhhdmUgc29tZXRoaW5nXG4iCi0idmFsdWFibGUgdGhlcmUuIgotbXNnc3RyICIiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjUyNQotbXNnaWQgImVycm9yOiBjYW5ub3QgY29tYmluZSAnLS1zaWdub2ZmJyB3aXRoICctLXByZXNlcnZlLW1lcmdlcyciCi1tc2dzdHIgIiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTcwCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICckdXBzdHJlYW1fbmFtZSciCi1tc2dzdHIgIiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTk0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1OTcgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NjAxCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIgotbXNnc3RyICIiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjYwNgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQ6ICRvbnRvX25hbWUiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NjMyCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2gvY29tbWl0ICckYnJhbmNoX25hbWUnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjY3MAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6Njk5Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZS4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzA5Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzIzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDaGFuZ2VzIHRvICRvbnRvOiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MjUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNoYW5nZXMgZnJvbSAkbWIgdG8gJG9udG86IgotbXNnc3RyICIiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjczNgotbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3NDYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6NjEKLW1zZ2lkICJnaXQgc3Rhc2ggY2xlYXIgd2l0aCBwYXJhbWV0ZXJzIGlzIHVuaW1wbGVtZW50ZWQiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjEwOAotbXNnaWQgIllvdSBkbyBub3QgaGF2ZSB0aGUgaW5pdGlhbCBjb21taXQgeWV0IgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDoxMjMKLW1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6MTM4Ci1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6MTU4IGdpdC1zdGFzaC5zaDoxNzEKLW1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCB3b3JrdHJlZSBzdGF0ZSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6MTc1Ci1tc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6MTc4CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjIyMQogbXNnaWQgIkNhbm5vdCByZW1vdmUgdGVtcG9yYXJ5IGluZGV4IChjYW4ndCBoYXBwZW4pIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDoxOTEKLW1zZ2lkICJDYW5ub3QgcmVjb3JkIHdvcmtpbmcgdHJlZSBzdGF0ZSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6MjI5CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjI3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSAkcmVmX3N0YXNoIHdpdGggJHdfY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDoyODEKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzI0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBwdXNoJzogJG9wdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjk1Ci1tc2dpZCAiQ2FuJ3QgdXNlIC0tcGF0Y2ggYW5kIC0taW5jbHVkZS11bnRyYWNrZWQgb3IgLS1hbGwgYXQgdGhlIHNhbWUgdGltZSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6MzAzCi1tc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDozMDgKLW1zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6MzEyCi1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDozMTMKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzU2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTYXZlZCB3b3JraW5nIGRpcmVjdG9yeSBhbmQgaW5kZXggc3RhdGUgJHN0YXNoX21zZyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6MzQyCi1tc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDo0OTAKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NTM2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9wdGlvbjogJG9wdCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NTAzCi1tc2dpZCAiTm8gc3Rhc2ggZW50cmllcyBmb3VuZC4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjUxMAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1NTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjUyNQorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1NzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NTMKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NTk5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoLWxpa2UgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NjQKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjEwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NTcyCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYxOAogbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzYKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjIyCiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo1ODQKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjMwCiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NTg2CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYzMgogbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN0YXNoLnNoOjU5NQorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2NDEKIG1zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3Rhc2guc2g6NjIwCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjY2NgogbXNnaWQgIkNhbm5vdCB1bnN0YWdlIG1vZGlmaWVkIGZpbGVzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo2MzUKLW1zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjY0OQotbXNnaWQgIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDo2NTgKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzA0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEcm9wcGVkICR7UkVWfSAoJHMpIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo2NTkKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzA1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIke1JFVn06IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdGFzaC5zaDo2NjcKLW1zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN0YXNoLnNoOjc0NgorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo3OTIKIG1zZ2lkICIoVG8gcmVzdG9yZSB0aGVtIHR5cGUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxOTgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjAyCiBtc2dpZCAiUmVsYXRpdmUgcGF0aCBjYW4gb25seSBiZSB1c2VkIGZyb20gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMDgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjEyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJyZXBvIFVSTDogJyRyZXBvJyBtdXN0IGJlIGFic29sdXRlIG9yIGJlZ2luIHdpdGggLi98Li4vIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjI3CisjOiBnaXQtc3VibW9kdWxlLnNoOjIzMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgaW5kZXgiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjM0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCBhbmQgaXMgbm90IGEgc3VibW9kdWxlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjM2CisjOiBnaXQtc3VibW9kdWxlLnNoOjI0MQorIywgc2gtZm9ybWF0Cittc2dpZCAiJyRzbV9wYXRoJyBkb2VzIG5vdCBoYXZlIGEgY29tbWl0IGNoZWNrZWQgb3V0IgorbXNnc3RyICIiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBwYXRoIGlzIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKQEAgLTE4NTMyLDIyICsyMTUyMCwyMiBAQAogIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIGl0LiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI1OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjYxCisjOiBnaXQtc3VibW9kdWxlLnNoOjI3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGEgdmFsaWQgZ2l0IHJlcG8iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjgwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBIGdpdCBkaXJlY3RvcnkgZm9yICckc21fbmFtZScgaXMgZm91bmQgbG9jYWxseSB3aXRoIHJlbW90ZShzKToiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjgyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tXG4iCkBAIC0xODU1OCwxMjAgKzIxNTQ2LDEyMiBAQAogIm9wdGlvbi4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Mjg4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWFjdGl2YXRpbmcgbG9jYWwgZ2l0IGRpcmVjdG9yeSBmb3Igc3VibW9kdWxlICckc21fbmFtZScuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mjg5CisjOiBnaXQtc3VibW9kdWxlLnNoOjMwMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0IHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mjk0CisjOiBnaXQtc3VibW9kdWxlLnNoOjMwNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGFkZCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMwMworIzogZ2l0LXN1Ym1vZHVsZS5zaDozMTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU2MworIzogZ2l0LXN1Ym1vZHVsZS5zaDo1ODAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NzMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU3OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo1OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJVbmFibGUgdG8gZmluZCBjdXJyZW50ICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAiCiAiJyRzbV9wYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU5NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTMKICMsIHNoLWZvcm1hdAotbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKK21zZ2lkICIiCisiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOyB0cnlpbmcgdG8gZGlyZWN0bHkgZmV0Y2ggIgorIiRzaGExOiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYwMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJGZXRjaGVkIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnLCBidXQgaXQgZGlkIG5vdCBjb250YWluICRzaGExLiAiCiAiRGlyZWN0IGZldGNoaW5nIG9mIHRoYXQgY29tbWl0IGZhaWxlZC4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MDkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjI2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYxMAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBjaGVja2VkIG91dCAnJHNoYTEnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjE0CisjOiBnaXQtc3VibW9kdWxlLnNoOjYzMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIHJlYmFzZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjE1CisjOiBnaXQtc3VibW9kdWxlLnNoOjYzMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IHJlYmFzZWQgaW50byAnJHNoYTEnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjIwCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogbWVyZ2VkIGluICckc2hhMSciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjQzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjQ0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogJyRjb21tYW5kICRzaGExJyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjY1OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NzUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3NTQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODg2CiBtc2dpZCAiVGhlIC0tY2FjaGVkIG9wdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoZSAtLWZpbGVzIG9wdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgwNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MzgKICMsIHNoLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgbW9kZSAkbW9kX2RzdCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgyNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5NTgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX3NyYyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgyOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5NjEKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgzMgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5NjQKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0cyAkc2hhMV9zcmMgYW5kICRzaGExX2RzdCIKIG1zZ3N0ciAiIgpAQCAtMTg2ODEsMTIgKzIxNjcxLDIxIEBACiBtc2dpZCAiU2VlIGdpdC0ke2NtZH0oMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMzYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMDkKK21zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC4iCittc2dzdHIgIiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjExMgorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgorbXNnc3RyICIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxOTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYmFzaW5nICgkbmV3X2NvdW50LyR0b3RhbCkiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjE1MgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjIwNwogbXNnaWQgIiIKICJcbiIKICJDb21tYW5kczpcbiIKQEAgLTE4NzA3LDcgKzIxNzA2LDcgQEAKICJUaGVzZSBsaW5lcyBjYW4gYmUgcmUtb3JkZXJlZDsgdGhleSBhcmUgZXhlY3V0ZWQgZnJvbSB0b3AgdG8gYm90dG9tLlxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMTUKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyNzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgY2FuIGFtZW5kIHRoZSBjb21taXQgbm93LCB3aXRoXG4iCkBAIC0xODcxOSw4MyArMjE3MTgsODMgQEAKICJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjQwCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Mjk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkc2hhMTogbm90IGEgY29tbWl0IHRoYXQgY2FuIGJlIHBpY2tlZCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Mjc5CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzM0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGNvbW1pdCBuYW1lOiAkc2hhMSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzA5CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzY0CiBtc2dpZCAiQ2Fubm90IHdyaXRlIGN1cnJlbnQgY29tbWl0J3MgcmVwbGFjZW1lbnQgc2hhMSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzYwCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDE1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmQgdG8gJHNoYTEiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM2MgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQxNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGZhc3QtZm9yd2FyZCB0byAkc2hhMSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzcxCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDI2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgbW92ZSBIRUFEIHRvICRmaXJzdF9wYXJlbnQiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM3NgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQzMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gc3F1YXNoIGEgbWVyZ2U6ICRzaGExIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozOTQKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIkVycm9yIHJlZG9pbmcgbWVyZ2UgJHNoYTEiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQwMworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ1OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBpY2sgJHNoYTEiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQxMgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ2NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyB0aGUgY29tbWl0IG1lc3NhZ2UgIyR7bn06IgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJHtufSB3aWxsIGJlIHNraXBwZWQ6IgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MjgKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0ODMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0LiIKIG1zZ2lkX3BsdXJhbCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICRjb3VudCBjb21taXRzLiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MzcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0OTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB3cml0ZSAkZml4dXBfbXNnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NDAKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0OTUKIG1zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgMiBjb21taXRzLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDgxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MjQKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MjcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MzYgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU3OQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU4MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICRzaGExLi4uICRyZXN0IgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1NTYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2MTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgYW1lbmQgY29tbWl0IGFmdGVyIHN1Y2Nlc3NmdWxseSBwaWNraW5nICRzaGExLi4uICRyZXN0XG4iCkBAIC0xODgwNSwzMSArMjE4MDQsMzEgQEAKICJ5b3UgYXJlIGFibGUgdG8gcmV3b3JkIHRoZSBjb21taXQuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1NzEKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2MjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQgYXQgJHNoYTFfYWJicmV2Li4uICRyZXN0IgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1ODYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCAnJHNxdWFzaF9zdHlsZScgd2l0aG91dCBhIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjI4CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjgzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpbmc6ICRyZXN0IgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2MzYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2OTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBmYWlsZWQ6ICRyZXN0IgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2MzgKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2OTMKIG1zZ2lkICJhbmQgbWFkZSBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjQwCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Njk1CiBtc2dpZCAiIgogIllvdSBjYW4gZml4IHRoZSBwcm9ibGVtLCBhbmQgdGhlbiBydW5cbiIKICJcbiIKQEAgLTE4ODM3LDcgKzIxODM2LDcgQEAKIG1zZ3N0ciAiIgogCiAjLiBUUkFOU0xBVE9SUzogYWZ0ZXIgdGhlc2UgbGluZXMgaXMgYSBjb21tYW5kIHRvIGJlIGlzc3VlZCBieSB0aGUgdXNlcgotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY1MworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjcwOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkV4ZWN1dGlvbiBzdWNjZWVkZWQ6ICRyZXN0XG4iCkBAIC0xODg0NywyNSArMjE4NDYsMjUgQEAKICJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjY0CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICRjb21tYW5kICRzaGExICRyZXN0IgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NjUKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MjAKIG1zZ2lkICJQbGVhc2UgZml4IHRoaXMgdXNpbmcgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzAwCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzU1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWNjZXNzZnVsbHkgcmViYXNlZCBhbmQgdXBkYXRlZCAkaGVhZF9uYW1lLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzU3CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODEyCiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBDSEVSUllfUElDS19IRUFEIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3NjIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MTcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTE4ODgzLDUwICsyMTg4Miw1MCBAQAogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc3OQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgzNAogbXNnaWQgIkVycm9yIHRyeWluZyB0byBmaW5kIHRoZSBhdXRob3IgaWRlbnRpdHkgdG8gYW1lbmQgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3ODQKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MzkKIG1zZ2lkICIiCiAiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlIGNvbW1pdCB0aGVtXG4iCiAiZmlyc3QgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnIGFnYWluLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Nzg5IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3OTMKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NDQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg0OAogbXNnaWQgIkNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MjQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkxMAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg3OSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTY1CiBtc2dpZCAiQ291bGQgbm90IGV4ZWN1dGUgZWRpdG9yIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NDUKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MDAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjaGVja291dCAkc3dpdGNoX3RvIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NTIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MDcKIG1zZ2lkICJObyBIRUFEPyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODUzCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTA4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAkc3RhdGVfZGlyIgogbXNnc3RyICIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NTYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MTEKIG1zZ2lkICJDb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODg4CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTQzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kKSIKIG1zZ2lkX3BsdXJhbCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZHMpIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk0MiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTQ3CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTk3IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMDAyCiBtc2dpZCAiQ291bGQgbm90IGluaXQgcmV3cml0dGVuIGNvbW1pdHMiCiBtc2dzdHIgIiIKIApAQCAtMTg5MzUsMTczICsyMTkzNCwxMDkgQEAKIG1zZ2lkICJ1c2FnZTogJGRhc2hsZXNzICRVU0FHRSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MTkwCisjOiBnaXQtc2gtc2V0dXAuc2g6MTkxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgY2hkaXIgdG8gJGNkdXAsIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoxOTkgZ2l0LXNoLXNldHVwLnNoOjIwNgorIzogZ2l0LXNoLXNldHVwLnNoOjIwMCBnaXQtc2gtc2V0dXAuc2g6MjA3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogJHByb2dyYW1fbmFtZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGEgd29ya2luZyB0cmVlLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjIwCisjOiBnaXQtc2gtc2V0dXAuc2g6MjIxCiBtc2dpZCAiQ2Fubm90IHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjIyMworIzogZ2l0LXNoLXNldHVwLnNoOjIyNAogbXNnaWQgIkNhbm5vdCByZXdyaXRlIGJyYW5jaGVzOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjI2CisjOiBnaXQtc2gtc2V0dXAuc2g6MjI3CiBtc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoyMjkKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCAkYWN0aW9uOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjQyCisjOiBnaXQtc2gtc2V0dXAuc2g6MjQzCiBtc2dpZCAiQ2Fubm90IHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjQ1CisjOiBnaXQtc2gtc2V0dXAuc2g6MjQ2CiBtc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjI0OAorIzogZ2l0LXNoLXNldHVwLnNoOjI0OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90ICRhY3Rpb246IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjI1MgorIzogZ2l0LXNoLXNldHVwLnNoOjI1MwogbXNnaWQgIkFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MzcyCisjOiBnaXQtc2gtc2V0dXAuc2g6MzczCiBtc2dpZCAiWW91IG5lZWQgdG8gcnVuIHRoaXMgY29tbWFuZCBmcm9tIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6Mzc3CisjOiBnaXQtc2gtc2V0dXAuc2g6Mzc4CiBtc2dpZCAiVW5hYmxlIHRvIGRldGVybWluZSBhYnNvbHV0ZSBwYXRoIG9mIGdpdCBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAogIy4gVFJBTlNMQVRPUlM6IHlvdSBjYW4gYWRqdXN0IHRoaXMgdG8gYWxpZ24gImdpdCBhZGQgLWkiIHN0YXR1cyBtZW51Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMTIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJTEycyAlMTJzICVzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk3Ci1tc2dpZCAic3RhZ2VkIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk3Ci1tc2dpZCAidW5zdGFnZWQiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNzgKLW1zZ2lkICJiaW5hcnkiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNjIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMTYKLW1zZ2lkICJub3RoaW5nIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Mjk4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzEzCi1tc2dpZCAidW5jaGFuZ2VkIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjA5Ci0jLCBwZXJsLWZvcm1hdAotbXNnaWQgImFkZGVkICVkIHBhdGhcbiIKLW1zZ2lkX3BsdXJhbCAiYWRkZWQgJWQgcGF0aHNcbiIKLW1zZ3N0clswXSAiIgotbXNnc3RyWzFdICIiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjEyCi0jLCBwZXJsLWZvcm1hdAotbXNnaWQgInVwZGF0ZWQgJWQgcGF0aFxuIgotbXNnaWRfcGx1cmFsICJ1cGRhdGVkICVkIHBhdGhzXG4iCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYxNQotIywgcGVybC1mb3JtYXQKLW1zZ2lkICJyZXZlcnRlZCAlZCBwYXRoXG4iCi1tc2dpZF9wbHVyYWwgInJldmVydGVkICVkIHBhdGhzXG4iCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYxOAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidG91Y2hlZCAlZCBwYXRoXG4iCiBtc2dpZF9wbHVyYWwgInRvdWNoZWQgJWQgcGF0aHNcbiIKIG1zZ3N0clswXSAiIgogbXNnc3RyWzFdICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjI3Ci1tc2dpZCAiVXBkYXRlIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjM5Ci1tc2dpZCAiUmV2ZXJ0IgotbXNnc3RyICIiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjYyCi0jLCBwZXJsLWZvcm1hdAotbXNnaWQgIm5vdGU6ICVzIGlzIHVudHJhY2tlZCBub3cuXG4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzMKLW1zZ2lkICJBZGQgdW50cmFja2VkIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Njc5Ci1tc2dpZCAiTm8gdW50cmFja2VkIGZpbGVzLlxuIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAzMworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDUzCiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBzdGFnaW5nLiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMzYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1NgogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3Igc3Rhc2hpbmcuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAzOQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDU5CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciB1bnN0YWdpbmcuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA2MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNzEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA3NwogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgYXBwbHlpbmcuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0NSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA2NSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA3NAogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgZGlzY2FyZGluZy4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDg1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHdyaXRpbmc6ICVzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA4NgotbXNnaWQgIk1hbnVhbCBodW5rIGVkaXQgbW9kZSAtLSBzZWUgYm90dG9tIGZvciBhIHF1aWNrIGd1aWRlLlxuIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA5MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICItLS1cbiIKQEAgLTE5MTEwLDMxICsyMjA0NSwxMiBAQAogIkxpbmVzIHN0YXJ0aW5nIHdpdGggJXMgd2lsbCBiZSByZW1vdmVkLlxuIgogbXNnc3RyICIiCiAKLSMuIFRSQU5TTEFUT1JTOiAnaXQnIHJlZmVycyB0byB0aGUgcGF0Y2ggbWVudGlvbmVkIGluIHRoZSBwcmV2aW91cyBtZXNzYWdlcy4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTEwMAotbXNnaWQgIiIKLSJJZiBpdCBkb2VzIG5vdCBhcHBseSBjbGVhbmx5LCB5b3Ugd2lsbCBiZSBnaXZlbiBhbiBvcHBvcnR1bml0eSB0b1xuIgotImVkaXQgYWdhaW4uICBJZiBhbGwgbGluZXMgb2YgdGhlIGh1bmsgYXJlIHJlbW92ZWQsIHRoZW4gdGhlIGVkaXQgaXNcbiIKLSJhYm9ydGVkIGFuZCB0aGUgaHVuayBpcyBsZWZ0IHVuY2hhbmdlZC5cbiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE0MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBodW5rIGVkaXQgZmlsZSBmb3IgcmVhZGluZzogJXMiCiBtc2dzdHIgIiIKIAotIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgW3kvbl0KLSMuIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgdGhhdCBpbnB1dAotIy4gYXQgdGhpcyBwb2ludC4KLSMuIENvbnNpZGVyIHRyYW5zbGF0aW5nIChzYXlpbmcgIm5vIiBkaXNjYXJkcyEpIGFzCi0jLiAoc2F5aW5nICJuIiBmb3IgIm5vIiBkaXNjYXJkcyEpIGlmIHRoZSB0cmFuc2xhdGlvbgotIy4gb2YgdGhlIHdvcmQgIm5vIiBkb2VzIG5vdCBzdGFydCB3aXRoIG4uCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMTMKLW1zZ2lkICIiCi0iWW91ciBlZGl0ZWQgaHVuayBkb2VzIG5vdCBhcHBseS4gRWRpdCBhZ2FpbiAoc2F5aW5nIFwibm9cIiBkaXNjYXJkcyEpIFt5L25dPyAiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjIyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDgKIG1zZ2lkICIiCiAieSAtIHN0YWdlIHRoaXMgaHVua1xuIgogIm4gLSBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rXG4iCkBAIC0xOTE0Myw3ICsyMjA1OSw3IEBACiAiZCAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI1NAogbXNnaWQgIiIKICJ5IC0gc3Rhc2ggdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCBzdGFzaCB0aGlzIGh1bmtcbiIKQEAgLTE5MTUyLDcgKzIyMDY4LDcgQEAKICJkIC0gZG8gbm90IHN0YXNoIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIzNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjYwCiBtc2dpZCAiIgogInkgLSB1bnN0YWdlIHRoaXMgaHVua1xuIgogIm4gLSBkbyBub3QgdW5zdGFnZSB0aGlzIGh1bmtcbiIKQEAgLTE5MTYxLDcgKzIyMDc3LDcgQEAKICJkIC0gZG8gbm90IHVuc3RhZ2UgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNjYKIG1zZ2lkICIiCiAieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgogIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4XG4iCkBAIC0xOTE3MCw3ICsyMjA4Niw3IEBACiAiZCAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyOTAKIG1zZ2lkICIiCiAieSAtIGRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWVcbiIKICJuIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWVcbiIKQEAgLTE5MTc5LDcgKzIyMDk1LDcgQEAKICJkIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjUyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzgKIG1zZ2lkICIiCiAieSAtIGRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgpAQCAtMTkxODgsNyArMjIxMDQsNyBAQAogImQgLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI4NAogbXNnaWQgIiIKICJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgpAQCAtMTkxOTcsNyArMjIxMTMsMTYgQEAKICJkIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjk2Cittc2dpZCAiIgorInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gd29ya3RyZWVcbiIKKyJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byB3b3JrdHJlZVxuIgorInEgLSBxdWl0OyBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gYXBwbHkgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKKyJkIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMQogbXNnaWQgIiIKICJnIC0gc2VsZWN0IGEgaHVuayB0byBnbyB0b1xuIgogIi8gLSBzZWFyY2ggZm9yIGEgaHVuayBtYXRjaGluZyB0aGUgZ2l2ZW4gcmVnZXhcbiIKQEAgLTE5MjEwLDIxMSArMjIxMzUsMTk4IEBACiAiPyAtIHByaW50IGhlbHBcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMDQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM0MgogbXNnaWQgIlRoZSBzZWxlY3RlZCBodW5rcyBkbyBub3QgYXBwbHkgdG8gdGhlIGluZGV4IVxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzQzCiBtc2dpZCAiQXBwbHkgdGhlbSB0byB0aGUgd29ya3RyZWUgYW55d2F5PyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNDYKIG1zZ2lkICJOb3RoaW5nIHdhcyBhcHBsaWVkLlxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxOQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzU3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHVubWVyZ2VkOiAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyOAotbXNnaWQgIk9ubHkgYmluYXJ5IGZpbGVzIGNoYW5nZWQuXG4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzMwCi1tc2dpZCAiTm8gY2hhbmdlcy5cbiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzgKLW1zZ2lkICJQYXRjaCB1cGRhdGUiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzkwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MjgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3RhZ2UgbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzkxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MjkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3RhZ2UgZGVsZXRpb24gW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzkyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDMzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDM0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIGRlbGV0aW9uIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDM1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIHRoaXMgaHVuayBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MDAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwMQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDM5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgZGVsZXRpb24gW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDAyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5zdGFnZSB0aGlzIGh1bmsgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDA1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gaW5kZXggW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgZGVsZXRpb24gdG8gaW5kZXggW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDA3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxMAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQ4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDExCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MTIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MTUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDE3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDIwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyMQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MjIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUyMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY4CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2OQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSBkZWxldGlvbiB0byB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NzAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3MAogbXNnaWQgIk5vIG90aGVyIGh1bmtzIHRvIGdvdG9cbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MjkKLW1zZ2lkICJnbyB0byB3aGljaCBodW5rICg8cmV0PiB0byBzZWUgbW9yZSk/ICIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MzEKLW1zZ2lkICJnbyB0byB3aGljaCBodW5rPyAiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTQwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1ODgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBudW1iZXI6ICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NDUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU5MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTb3JyeSwgb25seSAlZCBodW5rIGF2YWlsYWJsZS5cbiIKIG1zZ2lkX3BsdXJhbCAiU29ycnksIG9ubHkgJWQgaHVua3MgYXZhaWxhYmxlLlxuIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTcxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTkKIG1zZ2lkICJObyBvdGhlciBodW5rcyB0byBzZWFyY2hcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzUKLW1zZ2lkICJzZWFyY2ggZm9yIHJlZ2V4PyAiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTg4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MzYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTk4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NDYKIG1zZ2lkICJObyBodW5rIG1hdGNoZXMgdGhlIGdpdmVuIHBhdHRlcm5cbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjMyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjgwCiBtc2dpZCAiTm8gcHJldmlvdXMgaHVua1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYxOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MzgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2ODYKIG1zZ2lkICJObyBuZXh0IGh1bmtcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NDQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY5MgogbXNnaWQgIlNvcnJ5LCBjYW5ub3Qgc3BsaXQgdGhpcyBodW5rXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjUwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3BsaXQgaW50byAlZCBodW5rLlxuIgogbXNnaWRfcGx1cmFsICJTcGxpdCBpbnRvICVkIGh1bmtzLlxuIgogbXNnc3RyWzBdICIiCiBtc2dzdHJbMV0gIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjYwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDgKIG1zZ2lkICJTb3JyeSwgY2Fubm90IGVkaXQgdGhpcyBodW5rXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzA2Ci1tc2dpZCAiUmV2aWV3IGRpZmYiCi1tc2dzdHIgIiIKLQogIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBkbyBub3QgdHJhbnNsYXRlIHRoZSBjb21tYW5kIG5hbWVzCiAjLiAnc3RhdHVzJywgJ3VwZGF0ZScsICdyZXZlcnQnLCBldGMuCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MjUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc3MwogbXNnaWQgIiIKICJzdGF0dXMgICAgICAgIC0gc2hvdyBwYXRocyB3aXRoIGNoYW5nZXNcbiIKICJ1cGRhdGUgICAgICAgIC0gYWRkIHdvcmtpbmcgdHJlZSBzdGF0ZSB0byB0aGUgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzXG4iCkBAIC0xOTQyNSwxOCArMjIzMzcsMTkgQEAKICJjaGFuZ2VzXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzQyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc0NwotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzUwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc1NwotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzYxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzkwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc5NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzk4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgwNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODA4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgxNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODE5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyNQogbXNnaWQgIm1pc3NpbmcgLS0iCiBtc2dzdHIgIiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzYzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MjEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidW5rbm93biAtLXBhdGNoIG1vZGU6ICVzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NzUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyNyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MzMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCAlcywgZXhwZWN0aW5nIC0tIgogbXNnc3RyICIiCkBAIC0xOTQ0OSw2NiArMjIzNjIsNjYgQEAKIG1zZ2lkICJsb2NhbCB0aW1lIG9mZnNldCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMjQgaG91cnNcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIxOSBnaXQtc2VuZC1lbWFpbC5wZXJsOjIyNQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoyMjMgZ2l0LXNlbmQtZW1haWwucGVybDoyMjkKIG1zZ2lkICJ0aGUgZWRpdG9yIGV4aXRlZCB1bmNsZWFubHksIGFib3J0aW5nIGV2ZXJ5dGhpbmciCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDozMDIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzEwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICInJXMnIGNvbnRhaW5zIGFuIGludGVybWVkaWF0ZSB2ZXJzaW9uIG9mIHRoZSBlbWFpbCB5b3Ugd2VyZSBjb21wb3NpbmcuXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDozMDcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzE1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiclcy5maW5hbCcgY29udGFpbnMgdGhlIGNvbXBvc2VkIGVtYWlsLlxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzI2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQwOAogbXNnaWQgIi0tZHVtcC1hbGlhc2VzIGluY29tcGF0aWJsZSB3aXRoIG90aGVyIG9wdGlvbnNcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjM5NSBnaXQtc2VuZC1lbWFpbC5wZXJsOjY1MAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo0ODEgZ2l0LXNlbmQtZW1haWwucGVybDo2ODMKIG1zZ2lkICJDYW5ub3QgcnVuIGdpdCBmb3JtYXQtcGF0Y2ggZnJvbSBvdXRzaWRlIGEgcmVwb3NpdG9yeVxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mzk4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ4NAogbXNnaWQgIiIKICJgYmF0Y2gtc2l6ZWAgYW5kIGByZWxvZ2luYCBtdXN0IGJlIHNwZWNpZmllZCB0b2dldGhlciAodmlhIGNvbW1hbmQtbGluZSBvciAiCiAiY29uZmlndXJhdGlvbiBvcHRpb24pXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0NjgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDk3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVua25vd24gLS1zdXBwcmVzcy1jYyBmaWVsZDogJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDk3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUyOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbmtub3duIC0tY29uZmlybSBzZXR0aW5nOiAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTU2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IHNlbmRtYWlsIGFsaWFzIHdpdGggcXVvdGVzIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTU4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGA6aW5jbHVkZTpgIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTYwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGAvZmlsZWAgb3IgYHxwaXBlYCByZWRpcmVjdGlvbiBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTM0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU2NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBsaW5lIGlzIG5vdCByZWNvZ25pemVkOiAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjE2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY0OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiRmlsZSAnJXMnIGV4aXN0cyBidXQgaXQgY291bGQgYWxzbyBiZSB0aGUgcmFuZ2Ugb2YgY29tbWl0c1xuIgpAQCAtMTk1MTgsMzYgKzIyNDMxLDM2IEBACiAiICAgICogR2l2aW5nIC0tZm9ybWF0LXBhdGNoIG9wdGlvbiBpZiB5b3UgbWVhbiBhIHJhbmdlLlxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjM3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY3MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbmRpciAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NjEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njk0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJmYXRhbDogJXM6ICVzXG4iCiAid2FybmluZzogbm8gcGF0Y2hlcyB3ZXJlIHNlbnRcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY3MgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MDUKIG1zZ2lkICIiCiAiXG4iCiAiTm8gcGF0Y2ggZmlsZXMgc3BlY2lmaWVkIVxuIgogIlxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njg1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcxOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJObyBzdWJqZWN0IGxpbmUgaW4gJXM/IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njk1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcyOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiBmb3Igd3JpdGluZyAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MDYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzM5CiBtc2dpZCAiIgogIkxpbmVzIGJlZ2lubmluZyBpbiBcIkdJVDpcIiB3aWxsIGJlIHJlbW92ZWQuXG4iCiAiQ29uc2lkZXIgaW5jbHVkaW5nIGFuIG92ZXJhbGwgZGlmZnN0YXQgb3IgdGFibGUgb2YgY29udGVudHNcbiIKQEAgLTE5NTU2LDM3ICsyMjQ2OSwzNyBAQAogIkNsZWFyIHRoZSBib2R5IGNvbnRlbnQgaWYgeW91IGRvbid0IHdpc2ggdG8gc2VuZCBhIHN1bW1hcnkuXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MzAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzYzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc0NworIzogZ2l0LXNlbmQtZW1haWwucGVybDo3ODAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMuZmluYWw6ICVzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzkwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgyMwogbXNnaWQgIlN1bW1hcnkgZW1haWwgaXMgZW1wdHksIHNraXBwaW5nIGl0XG4iCiBtc2dzdHIgIiIKIAogIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBrZWVwIFt5L05dIGFzIGlzLgotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODU4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB1c2UgPCVzPiBbeS9OXT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODgwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkxMwogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIGZpbGVzIGFyZSA4Yml0LCBidXQgZG8gbm90IGRlY2xhcmUgYSBDb250ZW50LVRyYW5zZmVyLSIKICJFbmNvZGluZy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg4NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MTgKIG1zZ2lkICJXaGljaCA4Yml0IGVuY29kaW5nIHNob3VsZCBJIGRlY2xhcmUgW1VURi04XT8gIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODkzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkyNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiUmVmdXNpbmcgdG8gc2VuZCBiZWNhdXNlIHRoZSBwYXRjaFxuIgpAQCAtMTk1OTUsMjAgKzIyNTA4LDIwIEBACiAid2FudCB0byBzZW5kLlxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTEyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjk0NQogbXNnaWQgIlRvIHdob20gc2hvdWxkIHRoZSBlbWFpbHMgYmUgc2VudCAoaWYgYW55b25lKT8iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MzAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTYzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImZhdGFsOiBhbGlhcyAnJXMnIGV4cGFuZHMgdG8gaXRzZWxmXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5NDIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTc1CiBtc2dpZCAiTWVzc2FnZS1JRCB0byBiZSB1c2VkIGFzIEluLVJlcGx5LVRvIGZvciB0aGUgZmlyc3QgZW1haWwgKGlmIGFueSk/ICIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwMDAgZ2l0LXNlbmQtZW1haWwucGVybDoxMDA4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwMzMgZ2l0LXNlbmQtZW1haWwucGVybDoxMDQxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImVycm9yOiB1bmFibGUgdG8gZXh0cmFjdCBhIHZhbGlkIGFkZHJlc3MgZnJvbTogJXNcbiIKIG1zZ3N0ciAiIgpAQCAtMTk2MTYsMTYgKzIyNTI5LDE2IEBACiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3FdIFtkXSBbZV0gaW4geW91cgogIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAogIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTAxMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDQ1CiBtc2dpZCAiV2hhdCB0byBkbyB3aXRoIHRoaXMgYWRkcmVzcz8gKFtxXXVpdHxbZF1yb3B8W2VdZGl0KTogIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzYyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkNBIHBhdGggXCIlc1wiIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQxMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDQ1CiBtc2dpZCAiIgogIiAgICBUaGUgQ2MgbGlzdCBhYm92ZSBoYXMgYmVlbiBleHBhbmRlZCBieSBhZGRpdGlvbmFsXG4iCiAiICAgIGFkZHJlc3NlcyBmb3VuZCBpbiB0aGUgcGF0Y2ggY29tbWl0IG1lc3NhZ2UuIEJ5IGRlZmF1bHRcbiIKQEAgLTE5NjQyLDEyOCArMjI1NTUsMTI4IEBACiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3ldIFtuXSBbZV0gW3FdIFthXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDI3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjAKIG1zZ2lkICJTZW5kIHRoaXMgZW1haWw/IChbeV1lc3xbbl1vfFtlXWRpdHxbcV11aXR8W2FdbGwpOiAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDMwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjMKIG1zZ2lkICJTZW5kIHRoaXMgZW1haWwgcmVwbHkgcmVxdWlyZWQiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDU4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0OTEKIG1zZ2lkICJUaGUgcmVxdWlyZWQgU01UUCBzZXJ2ZXIgaXMgbm90IHByb3Blcmx5IGRlZmluZWQuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUwNQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTM4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IFNUQVJUVExTISAlcyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MTAgZ2l0LXNlbmQtZW1haWwucGVybDoxNTE0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDMgZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNUQVJUVExTIGZhaWxlZCEgJXMiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTIzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NTYKIG1zZ2lkICJVbmFibGUgdG8gaW5pdGlhbGl6ZSBTTVRQIHByb3Blcmx5LiBDaGVjayBjb25maWcgYW5kIHVzZSAtLXNtdHAtZGVidWcuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU0MQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBzZW5kICVzXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRHJ5LVNlbnQgJXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZW50ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzkKIG1zZ2lkICJEcnktT0suIExvZyBzYXlzOlxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU0NgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc5CiBtc2dpZCAiT0suIExvZyBzYXlzOlxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU1OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTkxCiBtc2dpZCAiUmVzdWx0OiAiCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTYxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1OTQKIG1zZ2lkICJSZXN1bHQ6IE9LXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2MTIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiY2FuJ3Qgb3BlbiBmaWxlICVzIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYyNiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NDYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY1OSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NzkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKG1ib3gpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2MzIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY2NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIobWJveCkgQWRkaW5nIHRvOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY4NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihub24tbWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcyMAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzUzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihib2R5KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODMxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NjQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBDb3VsZCBub3QgZXhlY3V0ZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgzOAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODcxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiglcykgQWRkaW5nICVzOiAlcyBmcm9tOiAnJXMnXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODQyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NzUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBmYWlsZWQgdG8gY2xvc2UgcGlwZSB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg3MgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTA1CiBtc2dpZCAiY2Fubm90IHNlbmQgbWVzc2FnZSBhcyA3Yml0IgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg4MAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTEzCiBtc2dpZCAiaW52YWxpZCB0cmFuc2ZlciBlbmNvZGluZyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5MjEgZ2l0LXNlbmQtZW1haWwucGVybDoxOTczIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk4MworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTU0IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjAwNiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwMTYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXM6ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTI0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NTcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGNoIGNvbnRhaW5zIGEgbGluZSBsb25nZXIgdGhhbiA5OTggY2hhcmFjdGVycyIKIG1zZ3N0ciAiIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NDEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk3NAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyAlcyB3aXRoIGJhY2t1cCBzdWZmaXggJyVzJy5cbiIKIG1zZ3N0ciAiIgogCiAjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGtlZXAgIlt5fE5dIiBhcyBpcy4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk0NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTc4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBzZW5kICVzPyBbeXxOXTogIgogbXNnc3RyICIiCmRpZmYgLS1naXQgYS9wby9pdC5wbyBiL3BvL2l0LnBvCmluZGV4IDkwODAyMTkuLjJjMjA0ODkgMTAwNjQ0Ci0tLSBhL3BvL2l0LnBvCisrKyBiL3BvL2l0LnBvCkBAIC0xLDIxNyArMSwyOTI5IEBACiAjIEl0YWxpYW4gdHJhbnNsYXRpb25zIGZvciBHaXQuCiAjIENvcHlyaWdodCAoQykgMjAxMiBNYXJjbyBQYW9sb25lIDxtYXJjb3Bhb2xvbmVAZ21haWwuY29tPgorIyBDb3B5cmlnaHQgwqkgMjAxOC0yMDE5IEFsZXNzYW5kcm8gTWVudGkgPGFsZXNzYW5kcm8ubWVudGlAYWxlc3NhbmRyb21lbnRpLml0PgogIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgR2l0IHBhY2thZ2UuCisjCisjIFRoYW5rcyB0byB0aGUgZm9ybWVyIHRyYW5zbGF0b3JzLCBNYXJjbyBQYW9sb25lIDxtYXJjb3Bhb2xvbmUgQVQgZ21haWwuY29tPgorIyBhbmQgU3RlZmFubyBMYXR0YXJpbmkgPHN0ZWZhbm8ubGF0dGFyaW5pIEFUIGdtYWlsLmNvbT4sIGZvciB0aGVpcgorIyBjb250cmlidXRpb25zLgorIyBBbGVzc2FuZHJvIE1lbnRpIDxhbGVzc2FuZHJvLm1lbnRpQGFsZXNzYW5kcm9tZW50aS5pdD4sIDIwMTkuCiBtc2dpZCAiIgogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBHaXRcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogR2l0IE1haWxpbmcgTGlzdCA8Z2l0QHZnZXIua2VybmVsLm9yZz5cbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMi0wNi0wOCAxMDoyMCswODAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxMi0wNi0xNCAxNDoxMyswMjAwXG4iCi0iTGFzdC1UcmFuc2xhdG9yOiBNYXJjbyBQYW9sb25lIDxtYXJjb3Bhb2xvbmVAZ21haWwuY29tPlxuIgotIkxhbmd1YWdlLVRlYW06IEl0YWxpYW5cbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOS0xMi0zMCAwODo0OCswODAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxOS0xMi0zMCAwOToyMyswMTAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBBbGVzc2FuZHJvIE1lbnRpIDxhbGVzc2FuZHJvLm1lbnRpQGFsZXNzYW5kcm9tZW50aS5pdD5cbiIKKyJMYW5ndWFnZS1UZWFtOiBJdGFsaWFuIDw+XG4iCiAiTGFuZ3VhZ2U6IGl0XG4iCiAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiAiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCisiWC1HZW5lcmF0b3I6IExva2FsaXplIDE5LjEyLjBcbiIKIAotIzogYWR2aWNlLmM6NDAKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjM0NwogIywgYy1mb3JtYXQKLW1zZ2lkICJoaW50OiAlLipzXG4iCi1tc2dzdHIgInN1Z2dlcmltZW50bzogJS4qc1xuIgorbXNnaWQgIkh1aCAoJXMpPyIKK21zZ3N0ciAiRWggKCVzKT8iCiAKLSMuCi0jLiAqIE1lc3NhZ2UgdXNlZCBib3RoIHdoZW4gJ2dpdCBjb21taXQnIGZhaWxzIGFuZCB3aGVuCi0jLiAqIG90aGVyIGNvbW1hbmRzIGRvaW5nIGEgbWVyZ2UgZG8uCi0jLgotIzogYWR2aWNlLmM6NzAKLW1zZ2lkICIiCi0iRml4IHRoZW0gdXAgaW4gdGhlIHdvcmsgdHJlZSxcbiIKLSJhbmQgdGhlbiB1c2UgJ2dpdCBhZGQvcm0gPGZpbGU+JyBhc1xuIgotImFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbiBhbmQgbWFrZSBhIGNvbW1pdCxcbiIKLSJvciB1c2UgJ2dpdCBjb21taXQgLWEnLiIKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjUwMCBhZGQtaW50ZXJhY3RpdmUuYzo4MDEgc2VxdWVuY2VyLmM6MzIxNgorIzogc2VxdWVuY2VyLmM6MzY1NiBidWlsdGluL3JlYmFzZS5jOjg3MSBidWlsdGluL3JlYmFzZS5jOjE2NDMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjAxOSBidWlsdGluL3JlYmFzZS5jOjIwNjMKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBpbmRleCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSBsJ2luZGljZSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NTU1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjY5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI5NAorbXNnaWQgImJpbmFyeSIKK21zZ3N0ciAiYmluYXJpbyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NjEzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Mjc4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMzMgorbXNnaWQgIm5vdGhpbmciCittc2dzdHIgIm5vbiBmYXJlIG51bGxhIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2MTQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMTQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzI5Cittc2dpZCAidW5jaGFuZ2VkIgorbXNnc3RyICJub24gbW9kaWZpY2F0byIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NjUxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjQzCittc2dpZCAiVXBkYXRlIgorbXNnc3RyICJBZ2dpb3JuYSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NjY4IGFkZC1pbnRlcmFjdGl2ZS5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhZ2UgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYWdnaXVuZ2VyZSAnJXMnIGFsbCdhcmVhIGRpIHN0YWdpbmciCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjY3NCBhZGQtaW50ZXJhY3RpdmUuYzo4NjMgc2VxdWVuY2VyLmM6MzQwOQorIzogYnVpbHRpbi9yZWJhc2UuYzo4OTUKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgaW5kZXgiCittc2dzdHIgImltcG9zc2liaWxlIHNjcml2ZXJlIGwnaW5kaWNlIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2NzcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MjgKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgInVwZGF0ZWQgJWQgcGF0aFxuIgorbXNnaWRfcGx1cmFsICJ1cGRhdGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gImFnZ2lvcm5hdG8gJWQgcGVyY29yc29cbiIKK21zZ3N0clsxXSAiYWdnaW9ybmF0aSAlZCBwZXJjb3JzaVxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2OTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzgKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgIm5vdGU6ICVzIGlzIHVudHJhY2tlZCBub3cuXG4iCittc2dzdHIgIm5vdGE6ICVzIG9yYSBub24gw6ggdHJhY2NpYXRvLlxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo3MDAgYXBwbHkuYzo0MTA4IGJ1aWx0aW4vY2hlY2tvdXQuYzoyODEKKyM6IGJ1aWx0aW4vcmVzZXQuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKK21zZ3N0ciAibWFrZV9jYWNoZV9lbnRyeSBub24gcml1c2NpdG8gcGVyIGlsIHBlcmNvcnNvICclcyciCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjczMCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY1NQorbXNnaWQgIlJldmVydCIKK21zZ3N0ciAiRXNlZ3VpIGlsIHJldmVydCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NzQ2Cittc2dpZCAiQ291bGQgbm90IHBhcnNlIEhFQURee3RyZWV9IgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbmFsaXp6YXJlIEhFQURee3RyZWV9IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo3ODQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzEKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgInJldmVydGVkICVkIHBhdGhcbiIKK21zZ2lkX3BsdXJhbCAicmV2ZXJ0ZWQgJWQgcGF0aHNcbiIKK21zZ3N0clswXSAicmlwcmlzdGluYXRvICVkIHBlcmNvcnNvXG4iCittc2dzdHJbMV0gInJpcHJpc3RpbmF0aSAlZCBwZXJjb3JzaVxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo4MzUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdW50cmFja2VkIGZpbGVzLlxuIgorbXNnc3RyICJOZXNzdW4gZmlsZSBub24gdHJhY2NpYXRvLlxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo4MzkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2ODkKK21zZ2lkICJBZGQgdW50cmFja2VkIgorbXNnc3RyICJBZ2dpdW5naSBmaWxlIG5vbiB0cmFjY2lhdGkiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjg2NiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYyNQorIywgYy1mb3JtYXQsIHBlcmwtZm9ybWF0Cittc2dpZCAiYWRkZWQgJWQgcGF0aFxuIgorbXNnaWRfcGx1cmFsICJhZGRlZCAlZCBwYXRoc1xuIgorbXNnc3RyWzBdICJhZ2dpdW50byAlZCBwZXJjb3Jzb1xuIgorbXNnc3RyWzFdICJhZ2dpdW50aSAlZCBwZXJjb3JzaVxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5tZXJnZWQ6ICVzIgorbXNnc3RyICJpZ25vcm8gY2nDsiBjaGUgbm9uIMOoIHN0YXRvIHNvdHRvcG9zdG8gYSBtZXJnZTogJXMiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjkwOCBhZGQtcGF0Y2guYzoxMzMxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJPbmx5IGJpbmFyeSBmaWxlcyBjaGFuZ2VkLlxuIgorbXNnc3RyICJTb25vIHN0YXRpIG1vZGlmaWNhdGkgc29sbyBmaWxlIGJpbmFyaS5cbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTEwIGFkZC1wYXRjaC5jOjEzMjkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIGNoYW5nZXMuXG4iCittc2dzdHIgIk5lc3N1bmEgbW9kaWZpY2EuXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjkxNCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzYKK21zZ2lkICJQYXRjaCB1cGRhdGUiCittc2dzdHIgIkFnZ2lvcm5hbWVudG8gcGF0Y2giCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk1MyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NTQKK21zZ2lkICJSZXZpZXcgZGlmZiIKK21zZ3N0ciAiUml2ZWRpIGRpZmYiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4MQorbXNnaWQgInNob3cgcGF0aHMgd2l0aCBjaGFuZ2VzIgorbXNnc3RyICJ2aXN1YWxpenphIGkgcGVyY29yc2kgbW9kaWZpY2F0aSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTgzCittc2dpZCAiYWRkIHdvcmtpbmcgdHJlZSBzdGF0ZSB0byB0aGUgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzIgogbXNnc3RyICIiCisiYWdnaXVuZ2kgbG8gc3RhdG8gZGFsbCdhbGJlcm8gZGkgbGF2b3JvIGFsbCdpbnNpZW1lIGRlbGxlIG1vZGlmaWNoZSBuZWxsJ2FyZWEiCisiIGRpIHN0YWdpbmciCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4NQorbXNnaWQgInJldmVydCBzdGFnZWQgc2V0IG9mIGNoYW5nZXMgYmFjayB0byB0aGUgSEVBRCB2ZXJzaW9uIgorbXNnc3RyICIiCisicmlwcmlzdGluYSBsJ2luc2llbWUgZGVsbGUgbW9kaWZpY2hlIG5lbGwnYXJlYSBkaSBzdGFnaW5nIGFsbGEgdmVyc2lvbmUgSEVBRCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTg3Cittc2dpZCAicGljayBodW5rcyBhbmQgdXBkYXRlIHNlbGVjdGl2ZWx5IgorbXNnc3RyICIiCisic2VsZXppb25hIGdsaSBodW5rIGluIG1vZGFsaXTDoCBpbnRlcmF0dGl2YSBlZCBlc2VndWkgbCdhZ2dpb3JuYW1lbnRvIGluIG1vZG8iCisiIHNlbGV0dGl2byIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTg5Cittc2dpZCAidmlldyBkaWZmIGJldHdlZW4gSEVBRCBhbmQgaW5kZXgiCittc2dzdHIgInZpc3VhbGl6emEgaWwgZGlmZiBmcmEgSEVBRCBlIGwnaW5kaWNlIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5OTEKK21zZ2lkICJhZGQgY29udGVudHMgb2YgdW50cmFja2VkIGZpbGVzIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXMiCittc2dzdHIgIiIKKyJhZ2dpdW5naSBpIGNvbnRlbnV0aSBkZWkgZmlsZSBub24gdHJhY2NpYXRpIGFsbCdpbnNpZW1lIGRlbGxlIG1vZGlmaWNoZSIKKyIgbmVsbCdhcmVhIGRpIHN0YWdpbmciCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk5OSBhZGQtaW50ZXJhY3RpdmUuYzoxMDQ4Cittc2dpZCAiUHJvbXB0IGhlbHA6IgorbXNnc3RyICJHdWlkYSBwcm9tcHQ6IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDAxCittc2dpZCAic2VsZWN0IGEgc2luZ2xlIGl0ZW0iCittc2dzdHIgInNlbGV6aW9uYSB1biBzaW5nb2xvIGVsZW1lbnRvIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDAzCittc2dpZCAic2VsZWN0IGEgcmFuZ2Ugb2YgaXRlbXMiCittc2dzdHIgInNlbGV6aW9uYSB1biBpbnRlcnZhbGxvIGRpIGVsZW1lbnRpIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDA1Cittc2dpZCAic2VsZWN0IG11bHRpcGxlIHJhbmdlcyIKK21zZ3N0ciAic2VsZXppb25hIHBpw7kgaW50ZXJ2YWxsaSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAwNyBhZGQtaW50ZXJhY3RpdmUuYzoxMDUyCittc2dpZCAic2VsZWN0IGl0ZW0gYmFzZWQgb24gdW5pcXVlIHByZWZpeCIKK21zZ3N0ciAic2VsZXppb25hIHVuIGVsZW1lbnRvIGJhc2FuZG90aSBzdSB1biBwcmVmaXNzbyB1bml2b2NvIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDA5Cittc2dpZCAidW5zZWxlY3Qgc3BlY2lmaWVkIGl0ZW1zIgorbXNnc3RyICJkZXNlbGV6aW9uYSBnbGkgZWxlbWVudGkgc3BlY2lmaWNhdGkiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMTEKK21zZ2lkICJjaG9vc2UgYWxsIGl0ZW1zIgorbXNnc3RyICJzZWxlemlvbmEgdHV0dGkgZ2xpIGVsZW1lbnRpIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDEzCittc2dpZCAiKGVtcHR5KSBmaW5pc2ggc2VsZWN0aW5nIgorbXNnc3RyICIodnVvdG8pIHRlcm1pbmEgbGEgc2VsZXppb25lIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDUwCittc2dpZCAic2VsZWN0IGEgbnVtYmVyZWQgaXRlbSIKK21zZ3N0ciAic2VsZXppb25hIHVuIGVsZW1lbnRvIG51bWVyYXRvIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDU0Cittc2dpZCAiKGVtcHR5KSBzZWxlY3Qgbm90aGluZyIKK21zZ3N0ciAiKHZ1b3RvKSBub24gc2VsZXppb25hcmUgbnVsbGEiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNjIgYnVpbHRpbi9jbGVhbi5jOjgyMiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4NTEKK21zZ2lkICIqKiogQ29tbWFuZHMgKioqIgorbXNnc3RyICIqKiogQ29tYW5kaSAqKioiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNjMgYnVpbHRpbi9jbGVhbi5jOjgyMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4NDgKK21zZ2lkICJXaGF0IG5vdyIKK21zZ3N0ciAiQ29zYSBmYWNjaW8gb3JhIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjEzCittc2dpZCAic3RhZ2VkIgorbXNnc3RyICJuZWxsJ2FyZWEgZGkgc3RhZ2luZyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTExNSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMworbXNnaWQgInVuc3RhZ2VkIgorbXNnc3RyICJyaW1vc3NvIGRhbGwnYXJlYSBkaSBzdGFnaW5nIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGFwcGx5LmM6NDk2NSBhcHBseS5jOjQ5NjggYnVpbHRpbi9hbS5jOjIxOTcKKyM6IGJ1aWx0aW4vYW0uYzoyMjAwIGJ1aWx0aW4vY2xvbmUuYzoxMjMgYnVpbHRpbi9mZXRjaC5jOjE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjI3MyBidWlsdGluL3B1bGwuYzoyMDkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjExOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMworbXNnaWQgInBhdGgiCittc2dzdHIgInBlcmNvcnNvIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTIyCittc2dpZCAiY291bGQgbm90IHJlZnJlc2ggaW5kZXgiCittc2dzdHIgImltcG9zc2liaWxlIGFnZ2lvcm5hcmUgbCdpbmRpY2UiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjExMzYgYnVpbHRpbi9jbGVhbi5jOjc4NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnllLlxuIgorbXNnc3RyICJDaWFvLlxuIgorCisjOiBhZGQtcGF0Y2guYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLGEscSxkJXMsP10/ICIKK21zZ3N0ciAiTW9kaWZpY2EgbW9kbyBzdGFnZSBbeSxuLGEscSxkJXMsP10/ICIKKworIzogYWRkLXBhdGNoLmM6MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhZ2UgZGVsZXRpb24gW3ksbixhLHEsZCVzLD9dPyAiCittc2dzdHIgIkVsaW1pbmF6aW9uZSBzdGFnZSBbeSxuLGEscSxkJXMsP10/ICIKKworIzogYWRkLXBhdGNoLmM6MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhZ2UgdGhpcyBodW5rIFt5LG4sYSxxLGQlcyw/XT8gIgorbXNnc3RyICJFc2VndWlyZSBsbyBzdGFnZSBkaSBxdWVzdCdodW5rIFt5LG4sYSxxLGQlcyw/XT8gIgorCisjOiBhZGQtcGF0Y2guYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGh1bmsgaGVhZGVyICclLipzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSBsJ2hlYWRlciBodW5rICclLipzJyIKKworIzogYWRkLXBhdGNoLmM6MTMwIGFkZC1wYXRjaC5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29sb3JlZCBodW5rIGhlYWRlciAnJS4qcyciCittc2dzdHIgImltcG9zc2liaWxlIGFuYWxpenphcmUgbCdoZWFkZXIgaHVuayBjb2xvcmF0byAnJS4qcyciCisKKyM6IGFkZC1wYXRjaC5jOjE3NgorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBkaWZmIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhbmFsaXp6YXJlIGlsIGRpZmYiCisKKyM6IGFkZC1wYXRjaC5jOjE5NAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb2xvcmVkIGRpZmYiCittc2dzdHIgImltcG9zc2liaWxlIGFuYWxpenphcmUgaWwgZGlmZiBjb2xvcmF0byIKKworIzogYWRkLXBhdGNoLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJleHBlY3RlZCBjb250ZXh0IGxpbmUgIyVkIGluXG4iCisiJS4qcyIKK21zZ3N0ciAiIgorImF0dGVzYSByaWdhIGNvbnRlc3RvICVkIGluXG4iCisiJS4qcyIKKworIzogYWRkLXBhdGNoLmM6NTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJodW5rcyBkbyBub3Qgb3ZlcmxhcDpcbiIKKyIlLipzXG4iCisiXHRkb2VzIG5vdCBlbmQgd2l0aDpcbiIKKyIlLipzIgorbXNnc3RyICIiCisiZ2xpIGh1bmsgbm9uIHNpIHNvdnJhcHBvbmdvbm86XG4iCisiJS4qc1xuIgorIlx0bm9uIHRlcm1pbmEgY29uOlxuIgorIiUuKnMiCisKKyM6IGFkZC1wYXRjaC5jOjc5OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTIKK21zZ2lkICJNYW51YWwgaHVuayBlZGl0IG1vZGUgLS0gc2VlIGJvdHRvbSBmb3IgYSBxdWljayBndWlkZS5cbiIKK21zZ3N0ciAiIgorIk1vZGFsaXTDoCBtYW51YWxlIG1vZGlmaWNhIGh1bnQgLSB2ZWRpIGxhIGZpbmUgZGVsIGZpbGUgcGVyIHVuYSBndWlkYSAiCisidmVsb2NlLlxuIgorCisjOiBhZGQtcGF0Y2guYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLVxuIgorIlRvIHJlbW92ZSAnJWMnIGxpbmVzLCBtYWtlIHRoZW0gJyAnIGxpbmVzIChjb250ZXh0KS5cbiIKKyJUbyByZW1vdmUgJyVjJyBsaW5lcywgZGVsZXRlIHRoZW0uXG4iCisiTGluZXMgc3RhcnRpbmcgd2l0aCAlYyB3aWxsIGJlIHJlbW92ZWQuXG4iCittc2dzdHIgIiIKKyItLS1cbiIKKyJQZXIgcmltdW92ZXJlICclYycgcmlnaGUsIHJlbmRpbGUgcmlnaGUgJyAnIChjb250ZXN0bykuXG4iCisiUGVyIHJpbXVvdmVyZSAnJWMnIHJpZ2hlLCBlbGltaW5hbGUuXG4iCisiTGUgcmlnaGUgY2hlIGluaXppYW5vIGNvbiAlYyBzYXJhbm5vIHJpbW9zc2UuXG4iCisKKyM6IGFkZC1wYXRjaC5jOjgxMAorbXNnaWQgIiIKKyJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgorIm1hcmtlZCBmb3Igc3RhZ2luZy5cbiIKK21zZ3N0ciAiIgorIlNlIGxhIHBhdGNoIHZpZW5lIGFwcGxpY2F0YSBzZW56YSBwcm9ibGVtaSwgbCdodW5rIG1vZGlmaWNhdG8gc2Fyw6BcbiIKKyJjb250cmFzc2VnbmF0byBpbW1lZGlhdGFtZW50ZSBwZXIgbCdhZ2dpdW50YSBhbGwnYXJlYSBkaSBzdGFnaW5nLlxuIgorCisjLiBUUkFOU0xBVE9SUzogJ2l0JyByZWZlcnMgdG8gdGhlIHBhdGNoIG1lbnRpb25lZCBpbiB0aGUgcHJldmlvdXMgbWVzc2FnZXMuCisjOiBhZGQtcGF0Y2guYzo4MTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTI2Cittc2dpZCAiIgorIklmIGl0IGRvZXMgbm90IGFwcGx5IGNsZWFubHksIHlvdSB3aWxsIGJlIGdpdmVuIGFuIG9wcG9ydHVuaXR5IHRvXG4iCisiZWRpdCBhZ2Fpbi4gIElmIGFsbCBsaW5lcyBvZiB0aGUgaHVuayBhcmUgcmVtb3ZlZCwgdGhlbiB0aGUgZWRpdCBpc1xuIgorImFib3J0ZWQgYW5kIHRoZSBodW5rIGlzIGxlZnQgdW5jaGFuZ2VkLlxuIgorbXNnc3RyICIiCisiU2Ugbm9uIHB1w7IgZXNzZXJlIGFwcGxpY2F0YSBzZW56YSBwcm9ibGVtaSwgdGkgc2Fyw6AgZGF0YSBsYSBwb3NzaWJpbGl0w6BcbiIKKyJkaSBtb2RpZmljYXJsYSBkaSBudW92by4gU2UgdHV0dGUgbGUgcmlnaGUgZGVsbCdodW5rIHNhcmFubm8gc3RhdGVcbiIKKyJyaW1vc3NlLCBsYSBtb2RpZmljYSBzYXLDoCBpbnRlcnJvdHRhIGUgbCdodW5rIG5vbiBzYXLDoCBtb2RpZmljYXRvLlxuIgorCisjOiBhZGQtcGF0Y2guYzo4NTEKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgaHVuayBoZWFkZXIiCittc2dzdHIgImltcG9zc2liaWxlIGFuYWxpenphcmUgbCdoZWFkZXIgaHVuayIKKworIzogYWRkLXBhdGNoLmM6ODk1IGFkZC1wYXRjaC5jOjEyOTQKK21zZ2lkICInZ2l0IGFwcGx5IC0tY2FjaGVkJyBmYWlsZWQiCittc2dzdHIgIidnaXQgYXBwbHkgLS1jYWNoZWQnIG5vbiByaXVzY2l0byIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgW3kvbl0KKyMuIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgdGhhdCBpbnB1dCBhdCB0aGlzIHBvaW50LgorIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKKyMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCisjLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KKyMuCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSBbeS9uXQorIy4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCB0aGF0IGlucHV0CisjLiBhdCB0aGlzIHBvaW50LgorIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKKyMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCisjLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KKyM6IGFkZC1wYXRjaC5jOjk1MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMzkKK21zZ2lkICIiCisiWW91ciBlZGl0ZWQgaHVuayBkb2VzIG5vdCBhcHBseS4gRWRpdCBhZ2FpbiAoc2F5aW5nIFwibm9cIiBkaXNjYXJkcyEpIFt5L25dPyAiCittc2dzdHIgIiIKKyJMJ2h1bmsgbW9kaWZpY2F0byBub24gcHXDsiBlc3NlcmUgYXBwbGljYXRvIHNlbnphIHByb2JsZW1pLiBNb2RpZmljYXJsbyBkaSAiCisibnVvdm8gKHNlIHJpc3BvbmRpIFwibm9cIiwgc2Fyw6AgZWxpbWluYXRvISkgW3kvbl0/ICIKKworIzogYWRkLXBhdGNoLmM6MTAwOQorbXNnaWQgIiIKKyJ5IC0gc3RhZ2UgdGhpcyBodW5rXG4iCisibiAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmtcbiIKKyJxIC0gcXVpdDsgZG8gbm90IHN0YWdlIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIHN0YWdlIHRoaXMgYW5kIGFsbCB0aGUgcmVtYWluaW5nIGh1bmtzXG4iCisiZCAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmsgbm9yIGFueSBvZiB0aGUgcmVtYWluaW5nIGh1bmtzXG4iCittc2dzdHIgIiIKKyJ5IC0gYWdnaXVuZ2kgcXVlc3QnaHVuayBhbGwnYXJlYSBkaSBzdGFnaW5nXG4iCisibiAtIG5vbiBhZ2dpdW5nZXJlIHF1ZXN0J2h1bmsgYWxsJ2FyZWEgZGkgc3RhZ2luZ1xuIgorInEgLSBlc2NpOyBub24gYWdnaXVuZ2VyZSBuw6kgcXVlc3QnaHVuayBuw6kgcXVlbGxpIHJpbWFuZW50aSBhbGwnYXJlYSBkaSAiCisic3RhZ2luZ1xuIgorImEgLSBhZ2dpdW5naSBxdWVzdCdodW5rIGUgdHV0dGkgcXVlbGxpIHN1Y2Nlc3NpdmkgbmVsIGZpbGUgYWxsJ2FyZWEgZGkgIgorInN0YWdpbmdcbiIKKyJkIC0gbm9uIGFnZ2l1bmdlcmUgbsOpIHF1ZXN0J2h1bmsgbsOpIHF1ZWxsaSBzdWNjZXNzaXZpIG5lbCBmaWxlIGFsbCdhcmVhIGRpICIKKyJzdGFnaW5nXG4iCisKKyM6IGFkZC1wYXRjaC5jOjEwMTYKK21zZ2lkICIiCisiaiAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBuZXh0IHVuZGVjaWRlZCBodW5rXG4iCisiSiAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBuZXh0IGh1bmtcbiIKKyJrIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIHByZXZpb3VzIHVuZGVjaWRlZCBodW5rXG4iCisiSyAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBwcmV2aW91cyBodW5rXG4iCisiZyAtIHNlbGVjdCBhIGh1bmsgdG8gZ28gdG9cbiIKKyIvIC0gc2VhcmNoIGZvciBhIGh1bmsgbWF0Y2hpbmcgdGhlIGdpdmVuIHJlZ2V4XG4iCisicyAtIHNwbGl0IHRoZSBjdXJyZW50IGh1bmsgaW50byBzbWFsbGVyIGh1bmtzXG4iCisiZSAtIG1hbnVhbGx5IGVkaXQgdGhlIGN1cnJlbnQgaHVua1xuIgorIj8gLSBwcmludCBoZWxwXG4iCittc2dzdHIgIiIKKyJqIC0gbm9uIGRlY2lkZXJlIGluIG1lcml0byBhIHF1ZXN0J2h1bmssIHZhaSBhbCBzdWNjZXNzaXZvIGh1bmsgcGVyIGN1aSBub24gIgorIsOoIHN0YXRhIHByZXNhIHVuYSBkZWNpc2lvbmVcbiIKKyJKIC0gbm9uIGRlY2lkZXJlIGluIG1lcml0byBhIHF1ZXN0J2h1bmssIHZhaSBhbGwnaHVuayBzdWNjZXNzaXZvXG4iCisiayAtIG5vbiBkZWNpZGVyZSBpbiBtZXJpdG8gYSBxdWVzdCdodW5rLCB2YWkgYWwgcHJlY2VkZW50ZSBodW5rIHBlciBjdWkgbm9uICIKKyLDqCBzdGF0YSBwcmVzYSB1bmEgZGVjaXNpb25lXG4iCisiSyAtIG5vbiBkZWNpZGVyZSBpbiBtZXJpdG8gYSBxdWVzdCdodW5rLCB2YWkgYWxsJ2h1bmsgcHJlY2VkZW50ZVxuIgorImcgLSBzZWxlemlvbmEgdW4gaHVuayBhIGN1aSBhbmRhcmVcbiIKKyIvIC0gY2VyY2EgdW4gaHVuayBjb3JyaXNwb25kZW50ZSBhbGwnZXNwcmVzc2lvbmUgcmVnb2xhcmUgZGF0YVxuIgorInMgLSBzdWRkaXZpZGkgbCdodW5rIGNvcnJlbnRlIGluIGh1bmsgcGnDuSBwaWNjb2xpXG4iCisiZSAtIG1vZGlmaWNhIG1hbnVhbG1lbnRlIGwnaHVuayBjb3JyZW50ZVxuIgorIj8gLSBzdGFtcGEgdW5hIGd1aWRhXG4iCisKKyM6IGFkZC1wYXRjaC5jOjExMzcgYWRkLXBhdGNoLmM6MTE0NworbXNnaWQgIk5vIHByZXZpb3VzIGh1bmsiCittc2dzdHIgIk5lc3N1biBodW5rIHByZWNlZGVudGUiCisKKyM6IGFkZC1wYXRjaC5jOjExNDIgYWRkLXBhdGNoLmM6MTE1MgorbXNnaWQgIk5vIG5leHQgaHVuayIKK21zZ3N0ciAiTmVzc3VuIGh1bmsgc3VjY2Vzc2l2byIKKworIzogYWRkLXBhdGNoLmM6MTE1OAorbXNnaWQgIk5vIG90aGVyIGh1bmtzIHRvIGdvdG8iCittc2dzdHIgIk5lc3N1biBhbHRybyBodW5rIGEgY3VpIGFuZGFyZSIKKworIzogYWRkLXBhdGNoLmM6MTE2OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzcKK21zZ2lkICJnbyB0byB3aGljaCBodW5rICg8cmV0PiB0byBzZWUgbW9yZSk/ICIKK21zZ3N0ciAiYSBxdWFsZSBodW5rIGRlc2lkZXJpIGFuZGFyZSAocHJlbWkgPEludmlvPiBwZXIgdmVkZXJuZSBhbHRyaSk/ICIKKworIzogYWRkLXBhdGNoLmM6MTE3MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzkKK21zZ2lkICJnbyB0byB3aGljaCBodW5rPyAiCittc2dzdHIgImEgcXVhbGUgaHVuayBkZXNpZGVyaSBhbmRhcmU/ICIKKworIzogYWRkLXBhdGNoLmM6MTE4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG51bWJlcjogJyVzJyIKK21zZ3N0ciAiTnVtZXJvIG5vbiB2YWxpZG86ICclcyciCisKKyM6IGFkZC1wYXRjaC5jOjExODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU29ycnksIG9ubHkgJWQgaHVuayBhdmFpbGFibGUuIgorbXNnaWRfcGx1cmFsICJTb3JyeSwgb25seSAlZCBodW5rcyBhdmFpbGFibGUuIgorbXNnc3RyWzBdICJNaSBkaXNwaWFjZSwgw6ggZGlzcG9uaWJpbGUgc29sbyAlZCBodW5rLiIKK21zZ3N0clsxXSAiTWkgZGlzcGlhY2UsIHNvbm8gZGlzcG9uaWJpbGkgc29sbyAlZCBodW5rLiIKKworIzogYWRkLXBhdGNoLmM6MTE5NQorbXNnaWQgIk5vIG90aGVyIGh1bmtzIHRvIHNlYXJjaCIKK21zZ3N0ciAiTmVzc3VuIGFsdHJvIGh1bmsgaW4gY3VpIGVzZWd1aXJlIGxhIHJpY2VyY2EiCisKKyM6IGFkZC1wYXRjaC5jOjEyMDEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjIzCittc2dpZCAic2VhcmNoIGZvciByZWdleD8gIgorbXNnc3RyICJjZXJjYXJlIHVuJ2VzcHJlc3Npb25lIHJlZ29sYXJlPyAiCisKKyM6IGFkZC1wYXRjaC5jOjEyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzIgorbXNnc3RyICJFc3ByZXNzaW9uZSByZWdvbGFyZSBkaSByaWNlcmNhICVzIG1hbGZvcm1hdGE6ICVzIgorCisjOiBhZGQtcGF0Y2guYzoxMjMzCittc2dpZCAiTm8gaHVuayBtYXRjaGVzIHRoZSBnaXZlbiBwYXR0ZXJuIgorbXNnc3RyICJOZXNzdW4gaHVuayBjb3JyaXNwb25kZSBhbCBwYXR0ZXJuIGZvcm5pdG8iCisKKyM6IGFkZC1wYXRjaC5jOjEyNDAKK21zZ2lkICJTb3JyeSwgY2Fubm90IHNwbGl0IHRoaXMgaHVuayIKK21zZ3N0ciAiTWkgZGlzcGlhY2UsIG5vbiBwb3NzbyBzdWRkaXZpZGVyZSBxdWVzdCdodW5rIgorCisjOiBhZGQtcGF0Y2guYzoxMjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNwbGl0IGludG8gJWQgaHVua3MuIgorbXNnc3RyICJTdWRkaXZpc28gaW4gJWQgaHVuay4iCisKKyM6IGFkZC1wYXRjaC5jOjEyNDgKK21zZ2lkICJTb3JyeSwgY2Fubm90IGVkaXQgdGhpcyBodW5rIgorbXNnc3RyICJNaSBkaXNwaWFjZSwgbm9uIHBvc3NvIG1vZGlmaWNhcmUgcXVlc3QnaHVuayIKKworIzogYWR2aWNlLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzaGludDogJS4qcyVzXG4iCittc2dzdHIgIiVzc3VnZ2VyaW1lbnRvOiAlLipzJXNcbiIKKworIzogYWR2aWNlLmM6MTY0Cittc2dpZCAiQ2hlcnJ5LXBpY2tpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICIiCisiSWwgY2hlcnJ5IHBpY2tpbmcgbm9uIMOoIHBvc3NpYmlsZSBwZXJjaMOpIGNpIHNvbm8gZmlsZSBkaSBjdWkgbm9uIMOoIHN0YXRvICIKKyJlc2VndWl0byBpbCBtZXJnZS4iCisKKyM6IGFkdmljZS5jOjE2NgorbXNnaWQgIkNvbW1pdHRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICIiCisiSWwgY29tbWl0IG5vbiDDqCBwb3NzaWJpbGUgcGVyY2jDqSBjaSBzb25vIGZpbGUgZGkgY3VpIG5vbiDDqCBzdGF0byBlc2VndWl0byBpbCAiCisibWVyZ2UuIgorCisjOiBhZHZpY2UuYzoxNjgKK21zZ2lkICJNZXJnaW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAiIgorIklsIG1lcmdlIG5vbiDDqCBwb3NzaWJpbGUgcGVyY2jDqSBjaSBzb25vIGZpbGUgZGkgY3VpIG5vbiDDqCBzdGF0byBlc2VndWl0byBpbCAiCisibWVyZ2UuIgorCisjOiBhZHZpY2UuYzoxNzAKK21zZ2lkICJQdWxsaW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAiIgorIklsIHB1bGwgbm9uIMOoIHBvc3NpYmlsZSBwZXJjaMOpIGNpIHNvbm8gZmlsZSBkaSBjdWkgbm9uIMOoIHN0YXRvIGVzZWd1aXRvIGlsICIKKyJtZXJnZS4iCisKKyM6IGFkdmljZS5jOjE3MgorbXNnaWQgIlJldmVydGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIiIKKyJJbCByZXZlcnQgbm9uIMOoIHBvc3NpYmlsZSBwZXJjaMOpIGNpIHNvbm8gZmlsZSBkaSBjdWkgbm9uIMOoIHN0YXRvIGVzZWd1aXRvIGlsICIKKyJtZXJnZS4iCisKKyM6IGFkdmljZS5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJJdCBpcyBub3QgcG9zc2libGUgdG8gJXMgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIiIKKyJJbXBvc3NpYmlsZSBlc2VndWlyZSBpbCAlcyBwZXJjaMOpIGNpIHNvbm8gZmlsZSBkaSBjdWkgbm9uIMOoIHN0YXRvIGVzZWd1aXRvICIKKyJpbCBtZXJnZS4iCisKKyM6IGFkdmljZS5jOjE4MgorbXNnaWQgIiIKKyJGaXggdGhlbSB1cCBpbiB0aGUgd29yayB0cmVlLCBhbmQgdGhlbiB1c2UgJ2dpdCBhZGQvcm0gPGZpbGU+J1xuIgorImFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbiBhbmQgbWFrZSBhIGNvbW1pdC4iCittc2dzdHIgIiIKKyJDb3JyZWdnaWxpIG5lbGwnYWxiZXJvIGRpIGxhdm9ybywgcXVpbmRpIHVzYSAnZ2l0IGFkZC9ybSA8ZmlsZT4uLi4nIGNvbWUgIgorImFwcHJvcHJpYXRvIHBlciByaXNvbHZlcmxpIGVkIGVzZWd1aSB1biBjb21taXQuIgorCisjOiBhZHZpY2UuYzoxOTAKK21zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgYW4gdW5yZXNvbHZlZCBjb25mbGljdC4iCittc2dzdHIgIkVzY28gYSBjYXVzYSBkaSB1biBjb25mbGl0dG8gbm9uIHJpc29sdG8uIgorCisjOiBhZHZpY2UuYzoxOTUgYnVpbHRpbi9tZXJnZS5jOjEzMzIKK21zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS4iCittc2dzdHIgIklsIG1lcmdlIG5vbiDDqCBzdGF0byBjb25jbHVzbyAoZXNpc3RlIE1FUkdFX0hFQUQpLiIKKworIzogYWR2aWNlLmM6MTk3Cittc2dpZCAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSBtZXJnaW5nLiIKK21zZ3N0ciAiRXNlZ3VpIGlsIGNvbW1pdCBkZWxsZSBtb2RpZmljaGUgcHJpbWEgZGkgZXNlZ3VpcmUgaWwgbWVyZ2UuIgorCisjOiBhZHZpY2UuYzoxOTgKK21zZ2lkICJFeGl0aW5nIGJlY2F1c2Ugb2YgdW5maW5pc2hlZCBtZXJnZS4iCittc2dzdHIgIkVzY28gYSBjYXVzYSBkaSB1biBtZXJnZSBub24gdGVybWluYXRvLiIKKworIzogYWR2aWNlLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3RlOiBzd2l0Y2hpbmcgdG8gJyVzJy5cbiIKKyJcbiIKKyJZb3UgYXJlIGluICdkZXRhY2hlZCBIRUFEJyBzdGF0ZS4gWW91IGNhbiBsb29rIGFyb3VuZCwgbWFrZSBleHBlcmltZW50YWxcbiIKKyJjaGFuZ2VzIGFuZCBjb21taXQgdGhlbSwgYW5kIHlvdSBjYW4gZGlzY2FyZCBhbnkgY29tbWl0cyB5b3UgbWFrZSBpbiB0aGlzXG4iCisic3RhdGUgd2l0aG91dCBpbXBhY3RpbmcgYW55IGJyYW5jaGVzIGJ5IHN3aXRjaGluZyBiYWNrIHRvIGEgYnJhbmNoLlxuIgorIlxuIgorIklmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggdG8gcmV0YWluIGNvbW1pdHMgeW91IGNyZWF0ZSwgeW91IG1heVxuIgorImRvIHNvIChub3cgb3IgbGF0ZXIpIGJ5IHVzaW5nIC1jIHdpdGggdGhlIHN3aXRjaCBjb21tYW5kLiBFeGFtcGxlOlxuIgorIlxuIgorIiAgZ2l0IHN3aXRjaCAtYyA8bmV3LWJyYW5jaC1uYW1lPlxuIgorIlxuIgorIk9yIHVuZG8gdGhpcyBvcGVyYXRpb24gd2l0aDpcbiIKKyJcbiIKKyIgIGdpdCBzd2l0Y2ggLVxuIgorIlxuIgorIlR1cm4gb2ZmIHRoaXMgYWR2aWNlIGJ5IHNldHRpbmcgY29uZmlnIHZhcmlhYmxlIGFkdmljZS5kZXRhY2hlZEhlYWQgdG8gIgorImZhbHNlXG4iCisiXG4iCittc2dzdHIgIiIKKyJOb3RhOiBlc2VndW8gaWwgY2hlY2tvdXQgZGkgJyVzJy5cbiIKKyJcbiIKKyJTZWkgbmVsbG8gc3RhdG8gJ0hFQUQgc2NvbGxlZ2F0bycuIFB1b2kgZGFyZSB1bidvY2NoaWF0YSwgYXBwb3J0YXJlICIKKyJtb2RpZmljaGVcbiIKKyJzcGVyaW1lbnRhbGkgZWQgZXNlZ3Vpcm5lIGlsIGNvbW1pdCwgZSBwdW9pIHNjYXJ0YXJlIHF1YWx1bnF1ZSBjb21taXQgIgorImVzZWd1aXRvXG4iCisiaW4gcXVlc3RvIHN0YXRvIHNlbnphIGNoZSBjacOyIGFiYmlhIGFsY3VuYSBpbmZsdWVuemEgc3VnbGkgYWx0cmkgYnJhbmNoICIKKyJ0b3JuYW5kb1xuIgorInN1IHVuIGJyYW5jaC5cbiIKKyJcbiIKKyJTZSB2dW9pIGNyZWFyZSB1biBudW92byBicmFuY2ggcGVyIG1hbnRlbmVyZSBpIGNvbW1pdCBjcmVhdGksIHB1b2kgZmFybG9cbiIKKyIob3JhIG8gaW4gc2VndWl0bykgdXNhbmRvIGwnb3B6aW9uZSAtYyBjb24gaWwgY29tYW5kbyBzd2l0Y2guIEFkIGVzZW1waW86XG4iCisiXG4iCisiICBnaXQgc3dpdGNoIC1jIDxub21lIG51b3ZvIGJyYW5jaD5cbiIKKyJcbiIKKyJPcHB1cmUgcHVvaSBhbm51bGxhcmUgcXVlc3Qnb3BlcmF6aW9uZSBjb246XG4iCisiXG4iCisiICBnaXQgc3dpdGNoIC1cbiIKKyJcbiIKKyJEaXNhdHRpdmEgcXVlc3RvIGNvbnNpZ2xpbyBpbXBvc3RhbmRvIGxhIHZhcmlhYmlsZSBkaSBjb25maWd1cmF6aW9uZVxuIgorImFkdmljZS5kZXRhY2hlZEhlYWQgYSBmYWxzZVxuIgorIlxuIgorCisjOiBhbGlhcy5jOjUwCittc2dpZCAiY21kbGluZSBlbmRzIHdpdGggXFwiCittc2dzdHIgImxhIHJpZ2EgZGkgY29tYW5kbyB0ZXJtaW5hIGNvbiBcXCIKKworIzogYWxpYXMuYzo1MQorbXNnaWQgInVuY2xvc2VkIHF1b3RlIgorbXNnc3RyICJ2aXJnb2xldHRlIG5vbiBjaGl1c2UiCisKKyM6IGFwcGx5LmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCittc2dzdHIgIm9wemlvbmUgc3BhemkgYmlhbmNoaSAnJXMnIG5vbiByaWNvbm9zY2l1dGEiCisKKyM6IGFwcGx5LmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgorbXNnc3RyICJvcHppb25lIGlnbm9yYSBzcGF6aSBiaWFuY2hpICclcycgbm9uIHJpY29ub3NjaXV0YSIKKworIzogYXBwbHkuYzoxMzUKK21zZ2lkICItLXJlamVjdCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKK21zZ3N0ciAiLS1yZWplY3QgZSAtLTN3YXkgbm9uIHBvc3Nvbm8gZXNzZXJlIHVzYXRpIGluc2llbWUuIgorCisjOiBhcHBseS5jOjEzNworbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgorbXNnc3RyICItLWNhY2hlZCBlIC0tM3dheSBub24gcG9zc29ubyBlc3NlcmUgdXNhdGkgaW5zaWVtZS4iCisKKyM6IGFwcGx5LmM6MTQwCittc2dpZCAiLS0zd2F5IG91dHNpZGUgYSByZXBvc2l0b3J5IgorbXNnc3RyICItLTN3YXkgYWwgZGkgZnVvcmkgZGkgdW4gcmVwb3NpdG9yeSIKKworIzogYXBwbHkuYzoxNTEKK21zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgorbXNnc3RyICItLWluZGV4IGFsIGRpIGZ1b3JpIGRpIHVuIHJlcG9zaXRvcnkiCisKKyM6IGFwcGx5LmM6MTU0Cittc2dpZCAiLS1jYWNoZWQgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCittc2dzdHIgIi0tY2FjaGVkIGFsIGRpIGZ1b3JpIGRpIHVuIHJlcG9zaXRvcnkiCisKKyM6IGFwcGx5LmM6ODAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBwcmVwYXJlIHRpbWVzdGFtcCByZWdleHAgJXMiCittc2dzdHIgIkltcG9zc2liaWxlIHByZXBhcmFyZSBsJ2VzcHJlc3Npb25lIHJlZ29sYXJlIHRpbWVzdGFtcCAlcyIKKworIzogYXBwbHkuYzo4MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIgorbXNnc3RyICJyZWdleGVjIGhhIHJlc3RpdHVpdG8gJWQgcGVyIGwnaW5wdXQ6ICVzIgorCisjOiBhcHBseS5jOjg4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmluZCBmaWxlbmFtZSBpbiBwYXRjaCBhdCBsaW5lICVkIgorbXNnc3RyICJpbXBvc3NpYmlsZSB0cm92YXJlIGlsIG5vbWUgZGVsIGZpbGUgbmVsbGEgcGF0Y2ggYWxsYSByaWdhICVkIgorCisjOiBhcHBseS5jOjkyMgorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCittc2dzdHIgIiIKKyJnaXQgYXBwbHk6IGdpdC1kaWZmIGVycmF0byAtIGF0dGVzbyAvZGV2L251bGwsIHJpY2V2dXRvICVzIGFsbGEgcmlnYSAlZCIKKworIzogYXBwbHkuYzo5MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgbmV3IGZpbGVuYW1lIG9uIGxpbmUgJWQiCittc2dzdHIgIiIKKyJnaXQgYXBwbHk6IGdpdC1kaWZmIGVycmF0byAtIG51b3ZvIG5vbWUgZGVsIGZpbGUgaW5jb25zaXN0ZW50ZSBhbGxhIHJpZ2EgJWQiCisKKyM6IGFwcGx5LmM6OTI5CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIgorbXNnc3RyICIiCisiZ2l0IGFwcGx5OiBnaXQtZGlmZiBlcnJhdG8gLSB2ZWNjaGlvIG5vbWUgZGVsIGZpbGUgaW5jb25zaXN0ZW50ZSBhbGxhIHJpZ2EgJWQiCisKKyM6IGFwcGx5LmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCittc2dzdHIgImdpdCBhcHBseTogZ2l0LWRpZmYgZXJyYXRvIC0gYXR0ZXNvIC9kZXYvbnVsbCBhbGxhIHJpZ2EgJWQiCisKKyM6IGFwcGx5LmM6OTYzCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbW9kZSBvbiBsaW5lICVkOiAlcyIKK21zZ3N0ciAibW9kbyBub24gdmFsaWRvIGFsbGEgcmlnYSAlZDogJXMiCisKKyM6IGFwcGx5LmM6MTI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJpbmNvbnNpc3RlbnQgaGVhZGVyIGxpbmVzICVkIGFuZCAlZCIKK21zZ3N0ciAicmlnaGUgZGkgaW50ZXN0YXppb25lICVkIGUgJWQgaW5jb25zaXN0ZW50aSIKKworIzogYXBwbHkuYzoxMzcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKKyJjb21wb25lbnQgKGxpbmUgJWQpIgorbXNnaWRfcGx1cmFsICIiCisiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSAiCisiY29tcG9uZW50cyAobGluZSAlZCkiCittc2dzdHJbMF0gIiIKKyJsJ2ludGVzdGF6aW9uZSBnaXQgZGlmZiBub24gcmlwb3J0YSBsZSBpbmZvcm1hemlvbmkgc3VsIGZpbGUgdW5hIHZvbHRhICIKKyJyaW1vc3NvICVkIGNvbXBvbmVudGUgaW5pemlhbGUgZGVsIHBlcmNvcnNvIChyaWdhICVkKSIKK21zZ3N0clsxXSAiIgorImwnaW50ZXN0YXppb25lIGdpdCBkaWZmIG5vbiByaXBvcnRhIGxlIGluZm9ybWF6aW9uaSBzdWwgZmlsZSB1bmEgdm9sdGEgIgorInJpbW9zc2kgJWQgY29tcG9uZW50aSBpbml6aWFsaSBkZWwgcGVyY29yc28gKHJpZ2EgJWQpIgorCisjOiBhcHBseS5jOjEzODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIChsaW5lICVkKSIKK21zZ3N0ciAibCdpbnRlc3RhemlvbmUgZ2l0IGRpZmYgbm9uIHJpcG9ydGEgbGUgaW5mb3JtYXppb25pIHN1bCBmaWxlIChyaWdhICVkKSIKKworIzogYXBwbHkuYzoxNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKK21zZ3N0ciAicmVjb3VudDogcmlnYSBpbmF0dGVzYTogJS4qcyIKKworIzogYXBwbHkuYzoxNTUwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgImZyYW1tZW50byBkaSBwYXRjaCBzZW56YSBpbnRlc3RhemlvbmUgYWxsYSByaWdhICVkOiAlLipzIgorCisjOiBhcHBseS5jOjE3NTMKK21zZ2lkICJuZXcgZmlsZSBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKK21zZ3N0ciAiaWwgbnVvdm8gZmlsZSBkaXBlbmRlIGRhIHZlY2NoaSBjb250ZW51dGkiCisKKyM6IGFwcGx5LmM6MTc1NQorbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCittc2dzdHIgImlsIGZpbGUgZWxpbWluYXRvIGhhIGFuY29yYSBkZWkgY29udGVudXRpIgorCisjOiBhcHBseS5jOjE3ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29ycnVwdCBwYXRjaCBhdCBsaW5lICVkIgorbXNnc3RyICJwYXRjaCBjb3Jyb3R0YSBhbGxhIHJpZ2EgJWQiCisKKyM6IGFwcGx5LmM6MTgyNgorIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgZmlsZSAlcyBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKK21zZ3N0ciAiaWwgbnVvdm8gZmlsZSAlcyBkaXBlbmRlIGRhIHZlY2NoaSBjb250ZW51dGkiCisKKyM6IGFwcGx5LmM6MTgyOAorIywgYy1mb3JtYXQKK21zZ2lkICJkZWxldGVkIGZpbGUgJXMgc3RpbGwgaGFzIGNvbnRlbnRzIgorbXNnc3RyICJpbCBmaWxlIGVsaW1pbmF0byAlcyBoYSBhbmNvcmEgZGVpIGNvbnRlbnV0aSIKKworIzogYXBwbHkuYzoxODMxCisjLCBjLWZvcm1hdAorbXNnaWQgIioqIHdhcm5pbmc6IGZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiCittc2dzdHIgIioqIGF0dGVuemlvbmU6IGlsIGZpbGUgJXMgZGl2ZW50YSB2dW90byBtYSBub24gw6ggZWxpbWluYXRvIgorCisjOiBhcHBseS5jOjE5NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29ycnVwdCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZDogJS4qcyIKK21zZ3N0ciAicGF0Y2ggYmluYXJpYSBjb3Jyb3R0YSBhbGxhIHJpZ2EgJWQ6ICUuKnMiCisKKyM6IGFwcGx5LmM6MjAxNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQiCittc2dzdHIgInBhdGNoIGJpbmFyaWEgbm9uIHJpY29ub3NjaXV0YSBhbGxhIHJpZ2EgJWQiCisKKyM6IGFwcGx5LmM6MjE3NworIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIgorbXNnc3RyICJwYXRjaCBjb24gc29saSBjb250ZW51dGkgZ2FyYmFnZSBhbGxhIHJpZ2EgJWQiCisKKyM6IGFwcGx5LmM6MjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzeW1saW5rICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGlsIGNvbGxlZ2FtZW50byBzaW1ib2xpY28gJXMiCisKKyM6IGFwcGx5LmM6MjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiBvciByZWFkICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgbyBsZWdnZXJlICVzIgorCisjOiBhcHBseS5jOjI5MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgorbXNnc3RyICJpbml6aW8gZGVsbGEgcmlnYSBub24gdmFsaWRvOiAnJWMnIgorCisjOiBhcHBseS5jOjMwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZSkuIgorbXNnaWRfcGx1cmFsICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lcykuIgorbXNnc3RyWzBdICJBcHBsaWNhemlvbmUgZnJhbW1lbnRvICVkIHJpdXNjaXRhIGFsbGEgcmlnYSAlZCAob2Zmc2V0OiAlZCByaWdhKS4iCittc2dzdHJbMV0gIkFwcGxpY2F6aW9uZSBmcmFtbWVudG8gJWQgcml1c2NpdGEgYWxsYSByaWdhICVkIChvZmZzZXQ6ICVkIHJpZ2hlKS4iCisKKyM6IGFwcGx5LmM6MzA2OQorIywgYy1mb3JtYXQKK21zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgorbXNnc3RyICJDb250ZXN0byByaWRvdHRvIGEgKCVsZC8lbGQpIHBlciBhcHBsaWNhcmUgaWwgZnJhbW1lbnRvIGFsbGEgcmlnYSAlZCIKKworIzogYXBwbHkuYzozMDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuIgorIiUuKnMiCittc2dzdHIgIiIKKyJkdXJhbnRlIGxhIHJpY2VyY2EgZGk6XG4iCisiJS4qcyIKKworIzogYXBwbHkuYzozMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgYmluYXJ5IHBhdGNoIGRhdGEgZm9yICclcyciCittc2dzdHIgImRhdGkgZGVsbGEgcGF0Y2ggYmluYXJpYSBtYW5jYW50aSBwZXIgJyVzJyIKKworIzogYXBwbHkuYzozMTA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZXZlcnNlLWFwcGx5IGEgYmluYXJ5IHBhdGNoIHdpdGhvdXQgdGhlIHJldmVyc2UgaHVuayB0byAnJXMnIgorbXNnc3RyICIiCisiaW1wb3NzaWJpbGUgYXBwbGljYXJlIHVuYSBwYXRjaCBiaW5hcmlhIGFsIGNvbnRyYXJpbyBzZW56YSBsJ2h1bmsgY29udHJhcmlvICIKKyJwZXIgJyVzJyIKKworIzogYXBwbHkuYzozMTUyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhcHBseSBiaW5hcnkgcGF0Y2ggdG8gJyVzJyB3aXRob3V0IGZ1bGwgaW5kZXggbGluZSIKK21zZ3N0ciAiIgorImltcG9zc2liaWxlIGFwcGxpY2FyZSB1bmEgcGF0Y2ggYmluYXJpYSBhICclcycgc2VuemEgbGEgcmlnYSBkJ2luZGljZSAiCisiY29tcGxldGEiCisKKyM6IGFwcGx5LmM6MzE2MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIHBhdGNoIGFwcGxpZXMgdG8gJyVzJyAoJXMpLCB3aGljaCBkb2VzIG5vdCBtYXRjaCB0aGUgY3VycmVudCBjb250ZW50cy4iCittc2dzdHIgIiIKKyJsYSBwYXRjaCBzaSBhcHBsaWNhIGEgJyVzJyAoJXMpLCBjaGUgbm9uIGNvcnJpc3BvbmRlIGFpIGNvbnRlbnV0aSBjb3JyZW50aSAiCisiZGVsIGZpbGUuIgorCisjOiBhcHBseS5jOjMxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBhdGNoIGFwcGxpZXMgdG8gYW4gZW1wdHkgJyVzJyBidXQgaXQgaXMgbm90IGVtcHR5IgorbXNnc3RyICJsYSBwYXRjaCBzaSBhcHBsaWNhIGEgdW4gZmlsZSB2dW90byAnJXMnIG1hIGlsIGZpbGUgbm9uIMOoIHZ1b3RvIgorCisjOiBhcHBseS5jOjMxODgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG5lY2Vzc2FyeSBwb3N0aW1hZ2UgJXMgZm9yICclcycgY2Fubm90IGJlIHJlYWQiCittc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgbGEgcG9zdGltbWFnaW5lICVzIG5lY2Vzc2FyaWEgcGVyICclcyciCisKKyM6IGFwcGx5LmM6MzIwMQorIywgYy1mb3JtYXQKK21zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKK21zZ3N0ciAibGEgcGF0Y2ggYmluYXJpYSBub24gc2kgYXBwbGljYSBjb3JyZXR0YW1lbnRlIGEgJyVzJyIKKworIzogYXBwbHkuYzozMjA3CisjLCBjLWZvcm1hdAorbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgorbXNnc3RyICIiCisibGEgcGF0Y2ggYmluYXJpYSBzdSAnJXMnIGNyZWEgcmlzdWx0YXRpIG5vbiBjb3JyZXR0aSAoYXR0ZXNvICVzLCByaWNldnV0byAlcykiCisKKyM6IGFwcGx5LmM6MzIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCBmYWlsZWQ6ICVzOiVsZCIKK21zZ3N0ciAicGF0Y2ggbm9uIHJpdXNjaXRhOiAlczolbGQiCisKKyM6IGFwcGx5LmM6MzM1MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIGlsIGNoZWNrb3V0IGRpICclcyciCisKKyM6IGFwcGx5LmM6MzQwMyBhcHBseS5jOjM0MTQgYXBwbHkuYzozNDYwIG1pZHguYzo2MSBzZXR1cC5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKK21zZ3N0ciAibGV0dHVyYSBkaSAlcyBub24gcml1c2NpdGEiCisKKyM6IGFwcGx5LmM6MzQxMQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICJsZXR0dXJhIGRpICclcycgb2x0cmUgdW4gY29sbGVnYW1lbnRvIHNpbWJvbGljbyIKKworIzogYXBwbHkuYzozNDQwIGFwcGx5LmM6MzY4MworIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKK21zZ3N0ciAiaWwgcGVyY29yc28gJXMgw6ggc3RhdG8gcmlub21pbmF0by9lbGltaW5hdG8iCisKKyM6IGFwcGx5LmM6MzUyNiBhcHBseS5jOjM2OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4IgorbXNnc3RyICIlczogbm9uIGVzaXN0ZSBuZWxsJ2luZGljZSIKKworIzogYXBwbHkuYzozNTM1IGFwcGx5LmM6MzcwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgbWF0Y2ggaW5kZXgiCittc2dzdHIgIiVzOiBub24gY29ycmlzcG9uZGUgYWxsJ2luZGljZSIKKworIzogYXBwbHkuYzozNTcwCittc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKK21zZ3N0ciAiIgorImRhbCByZXBvc2l0b3J5IG1hbmNhIGlsIGJsb2IgbmVjZXNzYXJpbyBwZXIgcmlwaWVnYXJlIHN1bCBtZXJnZSBhIHRyZSB2aWUuIgorCisjOiBhcHBseS5jOjM1NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFsbGluZyBiYWNrIHRvIHRocmVlLXdheSBtZXJnZS4uLlxuIgorbXNnc3RyICJSaXBpZWdvIHN1bCBtZXJnZSBhIHRyZSB2aWUuLi5cbiIKKworIzogYXBwbHkuYzozNTg5IGFwcGx5LmM6MzU5MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCB0aGUgY3VycmVudCBjb250ZW50cyBvZiAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGkgY29udGVudXRpIGNvcnJlbnRpIGRpICclcyciCisKKyM6IGFwcGx5LmM6MzYwNQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gZmFsbCBiYWNrIG9uIHRocmVlLXdheSBtZXJnZS4uLlxuIgorbXNnc3RyICJSaXBpZWdvIHN1bCBtZXJnZSBhIHRyZSB2aWUgbm9uIHJpdXNjaXRvLi4uXG4iCisKKyM6IGFwcGx5LmM6MzYxOQorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgd2l0aCBjb25mbGljdHMuXG4iCittc2dzdHIgIlBhdGNoIGFwcGxpY2F0YSBhICclcycgY29uIGNvbmZsaXR0aS5cbiIKKworIzogYXBwbHkuYzozNjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyBjbGVhbmx5LlxuIgorbXNnc3RyICJQYXRjaCAnJXMnIGFwcGxpY2F0YSBjb3JyZXR0YW1lbnRlLlxuIgorCisjOiBhcHBseS5jOjM2NTAKK21zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgorbXNnc3RyICJsYSByaW1vemlvbmUgZGVsbGEgcGF0Y2ggbGFzY2lhIGNvbnRlbnV0aSBkZWwgZmlsZSIKKworIzogYXBwbHkuYzozNzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgorbXNnc3RyICIlczogdGlwbyBlcnJhdG8iCisKKyM6IGFwcGx5LmM6MzcyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCittc2dzdHIgIiVzIGhhIGlsIHRpcG8gJW8sIGF0dGVzbyAlbyIKKworIzogYXBwbHkuYzozODc2IGFwcGx5LmM6Mzg3OCByZWFkLWNhY2hlLmM6ODMwIHJlYWQtY2FjaGUuYzo4NTYKKyM6IHJlYWQtY2FjaGUuYzoxMzIwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgorbXNnc3RyICJwZXJjb3JzbyAnJXMnIG5vbiB2YWxpZG8iCisKKyM6IGFwcGx5LmM6MzkzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgiCittc2dzdHIgIiVzOiBlc2lzdGUgZ2nDoCBuZWxsJ2luZGljZSIKKworIzogYXBwbHkuYzozOTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IGVzaXN0ZSBnacOgIG5lbGxhIGRpcmVjdG9yeSBkaSBsYXZvcm8iCisKKyM6IGFwcGx5LmM6Mzk1NworIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykiCittc2dzdHIgImlsIG51b3ZvIG1vZG8gKCVvKSBkaSAlcyBub24gY29ycmlzcG9uZGUgYWwgdmVjY2hpbyBtb2RvICglbykiCisKKyM6IGFwcGx5LmM6Mzk2MgorIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiCittc2dzdHIgImlsIG51b3ZvIG1vZG8gKCVvKSBkaSAlcyBub24gY29ycmlzcG9uZGUgYWwgdmVjY2hpbyBtb2RvICglbykgZGkgJXMiCisKKyM6IGFwcGx5LmM6Mzk4MgorIywgYy1mb3JtYXQKK21zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiaWwgZmlsZSBpbnRlcmVzc2F0byAnJXMnIHNpIHRyb3ZhIG9sdHJlIHVuIGNvbGxlZ2FtZW50byBzaW1ib2xpY28iCisKKyM6IGFwcGx5LmM6Mzk4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCittc2dzdHIgIiVzOiBsYSBwYXRjaCBub24gc2kgYXBwbGljYSBjb3JyZXR0YW1lbnRlIgorCisjOiBhcHBseS5jOjQwMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgcGF0Y2ggJXMuLi4iCittc2dzdHIgIkNvbnRyb2xsbyBkZWxsYSBwYXRjaCAlcyBpbiBjb3Jzby4uLiIKKworIzogYXBwbHkuYzo0MDkzCisjLCBjLWZvcm1hdAorbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzIGZvciBzdWJtb2R1bGUgJXMiCittc2dzdHIgImxlIGluZm9ybWF6aW9uaSBTSEExIHBlciBpbCBzb3R0b21vZHVsbyAlcyBzb25vIG1hbmNhbnRpIG8gaW51dGlsaSIKKworIzogYXBwbHkuYzo0MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGUgY2hhbmdlIGZvciAlcywgd2hpY2ggaXMgbm90IGluIGN1cnJlbnQgSEVBRCIKK21zZ3N0ciAibW9kaWZpY2EgbW9kbyBwZXIgJXMgY2hlIG5vbiDDqCBuZWxsJ0hFQUQgY29ycmVudGUiCisKKyM6IGFwcGx5LmM6NDEwMworIywgYy1mb3JtYXQKK21zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyAoJXMpLiIKK21zZ3N0ciAibGUgaW5mb3JtYXppb25pIFNIQTEgc29ubyBtYW5jYW50aSBvIGludXRpbGkgKCVzKS4iCisKKyM6IGFwcGx5LmM6NDExMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgYWRkICVzIHRvIHRlbXBvcmFyeSBpbmRleCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYWdnaXVuZ2VyZSAlcyBhbGwnaW5kaWNlIHRlbXBvcmFuZW8iCisKKyM6IGFwcGx5LmM6NDEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdGVtcG9yYXJ5IGluZGV4IHRvICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBsJ2luZGljZSB0ZW1wb3JhbmVvIGluICVzIgorCisjOiBhcHBseS5jOjQyNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgorbXNnc3RyICJpbXBvc3NpYmlsZSByaW11b3ZlcmUgJXMgZGFsbCdpbmRpY2UiCisKKyM6IGFwcGx5LmM6NDI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCittc2dzdHIgInBhdGNoIGNvcnJvdHRhIHBlciBpbCBzb3R0b21vZHVsbyAlcyIKKworIzogYXBwbHkuYzo0MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBzdGF0IG5ld2x5IGNyZWF0ZWQgZmlsZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBsbyBzdGF0IGRlbCBmaWxlIGFwcGVuYSBjcmVhdG8gJyVzJyIKKworIzogYXBwbHkuYzo0MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBjcmVhcmUgbCdhcmNoaXZpbyBkaSBiYWNrdXAgcGVyIGlsIGZpbGUgYXBwZW5hIGNyZWF0byAlcyIKKworIzogYXBwbHkuYzo0MzE0IGFwcGx5LmM6NDQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYWdnaXVuZ2VyZSBsYSB2b2NlIGRlbGxhIGNhY2hlIHBlciAlcyIKKworIzogYXBwbHkuYzo0MzU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB3cml0ZSB0byAnJXMnIgorbXNnc3RyICJzY3JpdHR1cmEgaW4gJyVzJyBub24gcml1c2NpdGEiCisKKyM6IGFwcGx5LmM6NDM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKK21zZ3N0ciAiY2hpdXN1cmEgZGVsIGZpbGUgJyVzJyBpbiBjb3JzbyIKKworIzogYXBwbHkuYzo0NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgaWwgZmlsZSAnJXMnIGNvbiBtb2RvICVvIgorCisjOiBhcHBseS5jOjQ1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXBwbGllZCBwYXRjaCAlcyBjbGVhbmx5LiIKK21zZ3N0ciAiUGF0Y2ggJXMgYXBwbGljYXRhIGNvcnJldHRhbWVudGUuIgorCisjOiBhcHBseS5jOjQ1MzcKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiZXJyb3JlIGludGVybm8iCisKKyM6IGFwcGx5LmM6NDU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCittc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCittc2dzdHJbMF0gIkFwcGxpY2F6aW9uZSBkZWxsYSBwYXRjaCAlJXMgY29uICVkIGZyYW1tZW50byByZXNwaW50by4uLiIKK21zZ3N0clsxXSAiQXBwbGljYXppb25lIGRlbGxhIHBhdGNoICUlcyBjb24gJWQgZnJhbW1lbnRpIHJlc3BpbnRpLi4uIgorCisjOiBhcHBseS5jOjQ1NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJ1bmNhdGluZyAucmVqIGZpbGVuYW1lIHRvICUuKnMucmVqIgorbXNnc3RyICJub21lIGZpbGUgLnJlaiB0cm9uY2F0byBhICUuKnMucmVqIgorCisjOiBhcHBseS5jOjQ1NTkgYnVpbHRpbi9mZXRjaC5jOjkwMSBidWlsdGluL2ZldGNoLmM6MTE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjOiBhcHBseS5jOjQ1NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKK21zZ3N0ciAiRnJhbW1lbnRvICVkIGFwcGxpY2F0byBjb3JyZXR0YW1lbnRlLiIKKworIzogYXBwbHkuYzo0NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlamVjdGVkIGh1bmsgIyVkLiIKK21zZ3N0ciAiRnJhbW1lbnRvICVkIHJlc3BpbnRvLiIKKworIzogYXBwbHkuYzo0Njk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNraXBwZWQgcGF0Y2ggJyVzJy4iCittc2dzdHIgIlBhdGNoICclcycgaWdub3JhdGEuIgorCisjOiBhcHBseS5jOjQ3MDQKK21zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQiCittc2dzdHIgImlucHV0IG5vbiByaWNvbm9zY2l1dG8iCisKKyM6IGFwcGx5LmM6NDcyNAorbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCittc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgaWwgZmlsZSBpbmRleCIKKworIzogYXBwbHkuYzo0ODgxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJzogJXMiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSBsYSBwYXRjaCAnJXMnOiAlcyIKKworIzogYXBwbHkuYzo0OTA4CisjLCBjLWZvcm1hdAorbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgorbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCittc2dzdHJbMF0gIiVkIGVycm9yZSBkaSBzcGF6aSBiaWFuY2hpIHNvcHByZXNzbyIKK21zZ3N0clsxXSAiJWQgZXJyb3JpIGRpIHNwYXppIGJpYW5jaGkgc29wcHJlc3NpIgorCisjOiBhcHBseS5jOjQ5MTQgYXBwbHkuYzo0OTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGxpbmUgYWRkcyB3aGl0ZXNwYWNlIGVycm9ycy4iCittc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFkZCB3aGl0ZXNwYWNlIGVycm9ycy4iCittc2dzdHJbMF0gIiVkIHJpZ2EgYWdnaXVuZ2UgZXJyb3JpIGRpIHNwYXppIGJpYW5jaGkuIgorbXNnc3RyWzFdICIlZCByaWdoZSBhZ2dpdW5nb25vIGVycm9yaSBkaSBzcGF6aSBiaWFuY2hpLiIKKworIzogYXBwbHkuYzo0OTIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGxpbmUgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgorbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCittc2dzdHJbMF0gIiVkIHJpZ2EgYXBwbGljYXRhIGRvcG8gbGEgY29ycmV6aW9uZSBkaSBlcnJvcmkgZGkgc3BhemkgYmlhbmNoaS4iCittc2dzdHJbMV0gIiVkIHJpZ2hlIGFwcGxpY2F0ZSBkb3BvIGxhIGNvcnJlemlvbmUgZGkgZXJyb3JpIGRpIHNwYXppIGJpYW5jaGkuIgorCisjOiBhcHBseS5jOjQ5MzggYnVpbHRpbi9hZGQuYzo1NzkgYnVpbHRpbi9tdi5jOjMwMSBidWlsdGluL3JtLmM6MzkwCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgorbXNnc3RyICJJbXBvc3NpYmlsZSBzY3JpdmVyZSBpbCBudW92byBmaWxlIGluZGV4IgorCisjOiBhcHBseS5jOjQ5NjYKK21zZ2lkICJkb24ndCBhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgorbXNnc3RyICJub24gYXBwbGljYXJlIGxlIG1vZGlmaWNoZSBjb3JyaXNwb25kZW50aSBhbCBwZXJjb3JzbyBzcGVjaWZpY2F0byIKKworIzogYXBwbHkuYzo0OTY5Cittc2dpZCAiYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKK21zZ3N0ciAiYXBwbGljYSBsZSBtb2RpZmljaGUgY29ycmlzcG9uZGVudGkgYWwgcGVyY29yc28gc3BlY2lmaWNhdG8iCisKKyM6IGFwcGx5LmM6NDk3MSBidWlsdGluL2FtLmM6MjIwNgorbXNnaWQgIm51bSIKK21zZ3N0ciAibnVtIgorCisjOiBhcHBseS5jOjQ5NzIKK21zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKK21zZ3N0ciAicmltdW92aSA8bnVtPiBiYXJyZSBpbml6aWFsaSBkYWkgcGVyY29yc2kgZGlmZiB0cmFkaXppb25hbGkiCisKKyM6IGFwcGx5LmM6NDk3NQorbXNnaWQgImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giCittc2dzdHIgImlnbm9yYSBsZSBhZ2dpdW50ZSBjcmVhdGUgZGFsbGEgcGF0Y2giCisKKyM6IGFwcGx5LmM6NDk3NworbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKK21zZ3N0ciAiIgorImludmVjZSBkaSBhcHBsaWNhcmUgbGEgcGF0Y2gsIHZpc3VhbGl6emEgbCdvdXRwdXQgZGkgZGlmZnN0YXQgcGVyIGwnaW5wdXQiCisKKyM6IGFwcGx5LmM6NDk4MQorbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCittc2dzdHIgIiIKKyJ2aXN1YWxpenphIGlsIG51bWVybyBkaSByaWdoZSBhZ2dpdW50ZSBlZCBlbGltaW5hdGUgaW4gbm90YXppb25lIGRlY2ltYWxlIgorCisjOiBhcHBseS5jOjQ5ODMKK21zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgorbXNnc3RyICJpbnZlY2UgZGkgYXBwbGljYXJlIGxhIHBhdGNoLCB2aXN1YWxpenphIHVuIHJpYXNzdW50byBwZXIgbCdpbnB1dCIKKworIzogYXBwbHkuYzo0OTg1Cittc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIHNlZSBpZiB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSIKK21zZ3N0ciAiaW52ZWNlIGRpIGFwcGxpY2FyZSBsYSBwYXRjaCwgdmVyaWZpY2Egc2UgcHXDsiBlc3NlcmUgYXBwbGljYXRhIgorCisjOiBhcHBseS5jOjQ5ODcKK21zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCittc2dzdHIgImFzc2ljdXJhIGNoZSBsYSBwYXRjaCBzaWEgYXBwbGljYWJpbGUgYWxsJ2luZGljZSBjb3JyZW50ZSIKKworIzogYXBwbHkuYzo0OTg5Cittc2dpZCAibWFyayBuZXcgZmlsZXMgd2l0aCBgZ2l0IGFkZCAtLWludGVudC10by1hZGRgIgorbXNnc3RyICJjb250cmFzc2VnbmEgaSBudW92aSBmaWxlIGNvbiBgZ2l0IGFkZCAtLWludGVudC10by1hZGRgIgorCisjOiBhcHBseS5jOjQ5OTEKK21zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiYXBwbGljYSB1bmEgcGF0Y2ggc2VuemEgbW9kaWZpY2FyZSBsJ2FsYmVybyBkaSBsYXZvcm8iCisKKyM6IGFwcGx5LmM6NDk5MworbXNnaWQgImFjY2VwdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBvdXRzaWRlIHRoZSB3b3JraW5nIGFyZWEiCittc2dzdHIgIiIKKyJhY2NldHRhIHVuYSBwYXRjaCBjaGUgYXBwb3J0YSBtb2RpZmljaGUgYWwgZGkgZnVvcmkgZGVsbCdhcmVhIGRpIGxhdm9ybyIKKworIzogYXBwbHkuYzo0OTk2Cittc2dpZCAiYWxzbyBhcHBseSB0aGUgcGF0Y2ggKHVzZSB3aXRoIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCittc2dzdHIgImFwcGxpY2EgYW5jaGUgbGEgcGF0Y2ggKGRhIHVzYXJlIGNvbiAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgorCisjOiBhcHBseS5jOjQ5OTgKK21zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgorbXNnc3RyICJwcm92YSB1biBtZXJnZSBhIHRyZSB2aWUgc2UgbGEgcGF0Y2ggbm9uIHNpIGFwcGxpY2EgY29ycmV0dGFtZW50ZSIKKworIzogYXBwbHkuYzo1MDAwCittc2dpZCAiYnVpbGQgYSB0ZW1wb3JhcnkgaW5kZXggYmFzZWQgb24gZW1iZWRkZWQgaW5kZXggaW5mb3JtYXRpb24iCittc2dzdHIgImNvbXBpbGEgdW4gaW5kZXggdGVtcG9yYW5lbyBiYXNhdG8gc3VsbGUgaW5mb3JtYXppb25pIGluZGljZSBpbmNsdXNlIgorCisjOiBhcHBseS5jOjUwMDMgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MyBidWlsdGluL2xzLWZpbGVzLmM6NTI0Cittc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgImkgcGVyY29yc2kgc29ubyBzZXBhcmF0aSBjb24gdW4gY2FyYXR0ZXJlIE5VTCIKKworIzogYXBwbHkuYzo1MDA1Cittc2dpZCAiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIgorbXNnc3RyICJhc3NpY3VyYSBjaGUgYWxtZW5vIDxuPiByaWdoZSBkaSBjb250ZXN0byBjb3JyaXNwb25kYW5vIgorCisjOiBhcHBseS5jOjUwMDYgYnVpbHRpbi9hbS5jOjIxODUgYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5OAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDAgYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxMCBidWlsdGluL3JlYmFzZS5jOjE0NzQKK21zZ2lkICJhY3Rpb24iCittc2dzdHIgImF6aW9uZSIKKworIzogYXBwbHkuYzo1MDA3Cittc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCittc2dzdHIgInJpbGV2YSByaWdoZSBudW92ZSBvIG1vZGlmaWNhdGUgY2hlIGhhbm5vIGVycm9yaSBkaSBzcGF6aSBiaWFuY2hpIgorCisjOiBhcHBseS5jOjUwMTAgYXBwbHkuYzo1MDEzCittc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKK21zZ3N0ciAiaWdub3JhIG1vZGlmaWNoZSBhZ2xpIHNwYXppIGJpYW5jaGkgZHVyYW50ZSBsYSByaWNlcmNhIGRlaSBjb250ZXN0aSIKKworIzogYXBwbHkuYzo1MDE2Cittc2dpZCAiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiCittc2dzdHIgImFwcGxpY2EgbGEgcGF0Y2ggaW4gbWFuaWVyYSBpbnZlcnNhIgorCisjOiBhcHBseS5jOjUwMTgKK21zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKK21zZ3N0ciAibm9uIGFzcGV0dGFyZSBhbG1lbm8gdW5hIHJpZ2EgZGkgY29udGVzdG8iCisKKyM6IGFwcGx5LmM6NTAyMAorbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgorbXNnc3RyICJsYXNjaWEgaSBmcmFtbWVudGkgcmVzcGludGkgbmVpIGZpbGUgKi5yZWogY29ycmlzcG9uZGVudGkiCisKKyM6IGFwcGx5LmM6NTAyMgorbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgorbXNnc3RyICJjb25zZW50aSBsYSBzb3ZyYXBwb3NpemlvbmUgZGVpIGZyYW1tZW50aSIKKworIzogYXBwbHkuYzo1MDIzIGJ1aWx0aW4vYWRkLmM6MzA5IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NSBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5OCBidWlsdGluL2ZzY2suYzo3NzQKKyM6IGJ1aWx0aW4vbG9nLmM6MjE2NiBidWlsdGluL212LmM6MTIzIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI4Cittc2dpZCAiYmUgdmVyYm9zZSIKK21zZ3N0ciAidmlzdWFsaXp6YSB1bHRlcmlvcmkgZGV0dGFnbGkiCisKKyM6IGFwcGx5LmM6NTAyNQorbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgorbXNnc3RyICIiCisidG9sbGVyYSBjYXJhdHRlcmUgZmluZSByaWdhIHJpbGV2YXRvIGVycm9uZWFtZW50ZSBjb21lIG1hbmNhbnRlIGFsbGEgZmluZSAiCisiZGVsIGZpbGUiCisKKyM6IGFwcGx5LmM6NTAyOAorbXNnaWQgImRvIG5vdCB0cnVzdCB0aGUgbGluZSBjb3VudHMgaW4gdGhlIGh1bmsgaGVhZGVycyIKK21zZ3N0ciAiIgorIm5vbiBmYXJlIGFmZmlkYW1lbnRvIHN1bCBudW1lcm8gZGkgcmlnaGUgbmVsbGUgaW50ZXN0YXppb25pIGRlaSBmcmFtbWVudGkiCisKKyM6IGFwcGx5LmM6NTAzMCBidWlsdGluL2FtLmM6MjE5NAorbXNnaWQgInJvb3QiCittc2dzdHIgInJhZGljZSIKKworIzogYXBwbHkuYzo1MDMxCittc2dpZCAicHJlcGVuZCA8cm9vdD4gdG8gYWxsIGZpbGVuYW1lcyIKK21zZ3N0ciAiYW50ZXBvbmkgPHJhZGljZT4gYSB0dXR0aSBpIG5vbWkgZmlsZSIKKworIzogYXJjaGl2ZS5jOjE0Cittc2dpZCAiZ2l0IGFyY2hpdmUgWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKK21zZ3N0ciAiZ2l0IGFyY2hpdmUgWzxvcHppb25pPl0gPGFsYmVybz4gWzxwZXJjb3Jzbz4uLi5dIgorCisjOiBhcmNoaXZlLmM6MTUKK21zZ2lkICJnaXQgYXJjaGl2ZSAtLWxpc3QiCittc2dzdHIgImdpdCBhcmNoaXZlIC0tbGlzdCIKKworIzogYXJjaGl2ZS5jOjE2Cittc2dpZCAiIgorImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgorbXNnc3RyICIiCisiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG9zaXRvcnk+IFstLWV4ZWMgPGNvbWFuZG8+XSBbPG9wemlvbmk+XSA8YWxiZXJvPiAiCisiWzxwZXJjb3Jzbz4uLi5dIgorCisjOiBhcmNoaXZlLmM6MTcKK21zZ2lkICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8cmVwbz4gWy0tZXhlYyA8Y21kPl0gLS1saXN0IgorbXNnc3RyICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8cmVwb3NpdG9yeT4gWy0tZXhlYyA8Y29tYW5kbz5dIC0tbGlzdCIKKworIzogYXJjaGl2ZS5jOjM3MiBidWlsdGluL2FkZC5jOjE4MCBidWlsdGluL2FkZC5jOjU1NSBidWlsdGluL3JtLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiCittc2dzdHIgImxvIHNwZWNpZmljYXRvcmUgcGVyY29yc28gJyVzJyBub24gY29ycmlzcG9uZGUgYWQgYWxjdW4gZmlsZSIKKworIzogYXJjaGl2ZS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlZjogJS4qcyIKK21zZ3N0ciAicmlmZXJpbWVudG8gbm9uIGVzaXN0ZW50ZTogJS4qcyIKKworIzogYXJjaGl2ZS5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJXMiCittc2dzdHIgIiVzIG5vbiDDqCB1biBub21lIG9nZ2V0dG8gdmFsaWRvIgorCisjOiBhcmNoaXZlLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHRyZWUgb2JqZWN0OiAlcyIKK21zZ3N0ciAiJXMgbm9uIMOoIHVuIG9nZ2V0dG8gYWxiZXJvIHZhbGlkbyIKKworIzogYXJjaGl2ZS5jOjQyNgorbXNnaWQgImN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgaXMgdW50cmFja2VkIgorbXNnc3RyICJsYSBkaXJlY3RvcnkgZGkgbGF2b3JvIGNvcnJlbnRlIG5vbiDDqCB0cmFjY2lhdGEiCisKKyM6IGFyY2hpdmUuYzo0NTcKK21zZ2lkICJmbXQiCittc2dzdHIgImZtdCIKKworIzogYXJjaGl2ZS5jOjQ1NworbXNnaWQgImFyY2hpdmUgZm9ybWF0IgorbXNnc3RyICJmb3JtYXRvIGFyY2hpdmlvIgorCisjOiBhcmNoaXZlLmM6NDU4IGJ1aWx0aW4vbG9nLmM6MTY1MworbXNnaWQgInByZWZpeCIKK21zZ3N0ciAicHJlZmlzc28iCisKKyM6IGFyY2hpdmUuYzo0NTkKK21zZ2lkICJwcmVwZW5kIHByZWZpeCB0byBlYWNoIHBhdGhuYW1lIGluIHRoZSBhcmNoaXZlIgorbXNnc3RyICJhbnRlcG9uaSA8cHJlZmlzc28+IGEgb2duaSBub21lIHBlcmNvcnNvIG5lbGwnYXJjaGl2aW8iCisKKyM6IGFyY2hpdmUuYzo0NjAgYnVpbHRpbi9ibGFtZS5jOjg2MSBidWlsdGluL2JsYW1lLmM6ODY1IGJ1aWx0aW4vYmxhbWUuYzo4NjYKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTcgYnVpbHRpbi9jb25maWcuYzoxMjkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY0IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY4IGJ1aWx0aW4vZ3JlcC5jOjg5OQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwNSBidWlsdGluL2xzLWZpbGVzLmM6NTYwIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTIgYnVpbHRpbi9ub3Rlcy5jOjU3OCBidWlsdGluL3JlYWQtdHJlZS5jOjEyMworIzogcGFyc2Utb3B0aW9ucy5oOjE5MAorbXNnaWQgImZpbGUiCittc2dzdHIgImZpbGUiCisKKyM6IGFyY2hpdmUuYzo0NjEgYnVpbHRpbi9hcmNoaXZlLmM6OTAKK21zZ2lkICJ3cml0ZSB0aGUgYXJjaGl2ZSB0byB0aGlzIGZpbGUiCittc2dzdHIgInNjcml2aSBsJ2FyY2hpdmlvIGluIHF1ZXN0byBmaWxlIgorCisjOiBhcmNoaXZlLmM6NDYzCittc2dpZCAicmVhZCAuZ2l0YXR0cmlidXRlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAibGVnZ2kgaWwgZmlsZSAuZ2l0YXR0cmlidXRlcyBuZWxsYSBkaXJlY3RvcnkgZGkgbGF2b3JvIgorCisjOiBhcmNoaXZlLmM6NDY0Cittc2dpZCAicmVwb3J0IGFyY2hpdmVkIGZpbGVzIG9uIHN0ZGVyciIKK21zZ3N0ciAiZWxlbmNhIGkgZmlsZSBhcmNoaXZpYXRpIHN1bGxvIHN0YW5kYXJkIGVycm9yIgorCisjOiBhcmNoaXZlLmM6NDY1Cittc2dpZCAic3RvcmUgb25seSIKK21zZ3N0ciAic2FsdmEgc29sYW1lbnRlIgorCisjOiBhcmNoaXZlLmM6NDY2Cittc2dpZCAiY29tcHJlc3MgZmFzdGVyIgorbXNnc3RyICJjb21wcmltaSBwacO5IHZlbG9jZW1lbnRlIgorCisjOiBhcmNoaXZlLmM6NDc0Cittc2dpZCAiY29tcHJlc3MgYmV0dGVyIgorbXNnc3RyICJjb21wcmltaSBtZWdsaW8iCisKKyM6IGFyY2hpdmUuYzo0NzcKK21zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCittc2dzdHIgImVsZW5jYSBpIGZvcm1hdGkgYXJjaGl2aW8gc3VwcG9ydGF0aSIKKworIzogYXJjaGl2ZS5jOjQ3OSBidWlsdGluL2FyY2hpdmUuYzo5MSBidWlsdGluL2Nsb25lLmM6MTEzIGJ1aWx0aW4vY2xvbmUuYzoxMTYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzkxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODg0Cittc2dpZCAicmVwbyIKK21zZ3N0ciAicmVwb3NpdG9yeSIKKworIzogYXJjaGl2ZS5jOjQ4MCBidWlsdGluL2FyY2hpdmUuYzo5MgorbXNnaWQgInJldHJpZXZlIHRoZSBhcmNoaXZlIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkgPHJlcG8+IgorbXNnc3RyICJyZWN1cGVyYSBsJ2FyY2hpdmlvIGRhbCByZXBvc2l0b3J5IHJlbW90byA8cmVwb3NpdG9yeT4iCisKKyM6IGFyY2hpdmUuYzo0ODEgYnVpbHRpbi9hcmNoaXZlLmM6OTMgYnVpbHRpbi9kaWZmdG9vbC5jOjcxNQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ5OAorbXNnaWQgImNvbW1hbmQiCittc2dzdHIgImNvbWFuZG8iCisKKyM6IGFyY2hpdmUuYzo0ODIgYnVpbHRpbi9hcmNoaXZlLmM6OTQKK21zZ2lkICJwYXRoIHRvIHRoZSByZW1vdGUgZ2l0LXVwbG9hZC1hcmNoaXZlIGNvbW1hbmQiCittc2dzdHIgInBlcmNvcnNvIGFsIGNvbWFuZG8gcmVtb3RvIGdpdC11cGxvYWQtYXJjaGl2ZSIKKworIzogYXJjaGl2ZS5jOjQ4OQorbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tcmVtb3RlIgorbXNnc3RyICJPcHppb25lIC0tcmVtb3RlIGluYXR0ZXNhIgorCisjOiBhcmNoaXZlLmM6NDkxCittc2dpZCAiT3B0aW9uIC0tZXhlYyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1yZW1vdGUiCittc2dzdHIgIkwnb3B6aW9uZSAtLWV4ZWMgcHXDsiBlc3NlcmUgdXNhdGEgc29sbyBjb24gLS1yZW1vdGUiCisKKyM6IGFyY2hpdmUuYzo0OTMKK21zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLW91dHB1dCIKK21zZ3N0ciAiT3B6aW9uZSAtLW91dHB1dCBpbmF0dGVzYSIKKworIzogYXJjaGl2ZS5jOjUxNQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGFyY2hpdmUgZm9ybWF0ICclcyciCittc2dzdHIgIkZvcm1hdG8gYXJjaGl2aW8gJyVzJyBzY29ub3NjaXV0byIKKworIzogYXJjaGl2ZS5jOjUyMgorIywgYy1mb3JtYXQKK21zZ2lkICJBcmd1bWVudCBub3Qgc3VwcG9ydGVkIGZvciBmb3JtYXQgJyVzJzogLSVkIgorbXNnc3RyICJBcmdvbWVudG8gbm9uIHN1cHBvcnRhdG8gcGVyIGlsIGZvcm1hdG8gJyVzJzogLSVkIgorCisjOiBhcmNoaXZlLXRhci5jOjEyNSBhcmNoaXZlLXppcC5jOjM1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RyZWFtIGJsb2IgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIGxvIHN0cmVhbWluZyBkZWwgYmxvYiAlcyIKKworIzogYXJjaGl2ZS10YXIuYzoyNjYgYXJjaGl2ZS16aXAuYzozNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZmlsZSBtb2RlOiAwJW8gKFNIQTE6ICVzKSIKK21zZ3N0ciAibW9kbyBmaWxlIG5vbiBzdXBwb3J0YXRvOiAwJW8gKFNIQTE6ICVzKSIKKworIzogYXJjaGl2ZS10YXIuYzoyOTMgYXJjaGl2ZS16aXAuYzozNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgJXMiCisKKyM6IGFyY2hpdmUtdGFyLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBzdGFydCAnJXMnIGZpbHRlciIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXZ2aWFyZSBpbCBmaWx0cm8gJyVzJyIKKworIzogYXJjaGl2ZS10YXIuYzo0NjgKK21zZ2lkICJ1bmFibGUgdG8gcmVkaXJlY3QgZGVzY3JpcHRvciIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmlkaXJlemlvbmFyZSBpbCBkZXNjcml0dG9yZSIKKworIzogYXJjaGl2ZS10YXIuYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBmaWx0ZXIgcmVwb3J0ZWQgZXJyb3IiCittc2dzdHIgImlsIGZpbHRybyAnJXMnIGhhIHNlZ25hbGF0byB1biBlcnJvcmUiCisKKyM6IGFyY2hpdmUtemlwLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggaXMgbm90IHZhbGlkIFVURi04OiAlcyIKK21zZ3N0ciAiaWwgcGVyY29yc28gbm9uIMOoIGNvZGlmaWNhdG8gdmFsaWRhbWVudGUgaW4gVVRGLTg6ICVzIgorCisjOiBhcmNoaXZlLXppcC5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoIHRvbyBsb25nICglZCBjaGFycywgU0hBMTogJXMpOiAlcyIKK21zZ3N0ciAicGVyY29yc28gdHJvcHBvIGx1bmdvICglZCBjYXJhdHRlcmksIFNIQTE6ICVzKTogJXMiCisKKyM6IGFyY2hpdmUtemlwLmM6NDc5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjMwIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgImRlZmxhdGUgZXJyb3IgKCVkKSIKK21zZ3N0ciAiZXJyb3JlIGRlZmxhdGUgKCVkKSIKKworIzogYXJjaGl2ZS16aXAuYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZXN0YW1wIHRvbyBsYXJnZSBmb3IgdGhpcyBzeXN0ZW06ICU8UFJJdU1BWD4iCittc2dzdHIgInRpbWVzdGFtcCB0cm9wcG8gZ3JhbmRlIHBlciBxdWVzdG8gc2lzdGVtYTogJTxQUkl1TUFYPiIKKworIzogYXR0ci5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlLipzIGlzIG5vdCBhIHZhbGlkIGF0dHJpYnV0ZSBuYW1lIgorbXNnc3RyICIlLipzIG5vbiDDqCB1biBub21lIGF0dHJpYnV0byB2YWxpZG8iCisKKyM6IGF0dHIuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFsbG93ZWQ6ICVzOiVkIgorbXNnc3RyICIlcyBub24gY29uc2VudGl0bzogJXM6JWQiCisKKyM6IGF0dHIuYzo0MDkKK21zZ2lkICIiCisiTmVnYXRpdmUgcGF0dGVybnMgYXJlIGlnbm9yZWQgaW4gZ2l0IGF0dHJpYnV0ZXNcbiIKKyJVc2UgJ1xcIScgZm9yIGxpdGVyYWwgbGVhZGluZyBleGNsYW1hdGlvbi4iCittc2dzdHIgIiIKKyJJIHBhdHRlcm4gbmVnYXRpdmkgc29ubyBpZ25vcmF0aSBuZWdsaSBhdHRyaWJ1dGkgZ2l0XG4iCisiVXNhICdcXCEnIHBlciBzcGVjaWZpY2FyZSBsZXR0ZXJhbG1lbnRlIHVuIHB1bnRvIGVzY2xhbWF0aXZvIGluaXppYWxlLiIKKworIzogYmlzZWN0LmM6NDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZGx5IHF1b3RlZCBjb250ZW50IGluIGZpbGUgJyVzJzogJXMiCittc2dzdHIgIkNvbnRlbnV0byBtYWwgcmFjY2hpdXNvIGZyYSB2aXJnb2xldHRlIG5lbCBmaWxlICclcyc6ICVzIgorCisjOiBiaXNlY3QuYzo2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2UgY2Fubm90IGJpc2VjdCBtb3JlIVxuIgorbXNnc3RyICJJbXBvc3NpYmlsZSBlc2VndWlyZSB1bid1bHRlcmlvcmUgYmlzZXppb25lIVxuIgorCisjOiBiaXNlY3QuYzo3MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGEgdmFsaWQgY29tbWl0IG5hbWUgJXMiCittc2dzdHIgIiVzIG5vbiDDqCB1biBub21lIGNvbW1pdCB2YWxpZG8iCisKKyM6IGJpc2VjdC5jOjc1OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIG1lcmdlIGJhc2UgJXMgaXMgYmFkLlxuIgorIlRoaXMgbWVhbnMgdGhlIGJ1ZyBoYXMgYmVlbiBmaXhlZCBiZXR3ZWVuICVzIGFuZCBbJXNdLlxuIgorbXNnc3RyICIiCisiTGEgYmFzZSBkZWwgbWVyZ2UgJXMgbm9uIGZ1bnppb25hLlxuIgorIkNpw7Igc2lnbmlmaWNhIGNoZSBpbCBidWcgw6ggc3RhdG8gY29ycmV0dG8gZnJhICVzIGUgWyVzXS5cbiIKKworIzogYmlzZWN0LmM6NzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgbWVyZ2UgYmFzZSAlcyBpcyBuZXcuXG4iCisiVGhlIHByb3BlcnR5IGhhcyBjaGFuZ2VkIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCittc2dzdHIgIiIKKyJMYSBiYXNlIGRlbCBtZXJnZSAlcyDDqCBudW92YS5cbiIKKyJMYSBwcm9wcmlldMOgIMOoIHN0YXRhIG1vZGlmaWNhdGEgZnJhICVzIGUgWyVzXS5cbiIKKworIzogYmlzZWN0LmM6NzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgbWVyZ2UgYmFzZSAlcyBpcyAlcy5cbiIKKyJUaGlzIG1lYW5zIHRoZSBmaXJzdCAnJXMnIGNvbW1pdCBpcyBiZXR3ZWVuICVzIGFuZCBbJXNdLlxuIgorbXNnc3RyICIiCisiTGEgYmFzZSBkZWwgbWVyZ2UgJXMgw6ggJXMuXG4iCisiQ2nDsiBzaWduaWZpY2EgY2hlIGlsIHByaW1vIGNvbW1pdCAnJXMnIMOoIGZyYSAlcyBlIFslc10uXG4iCisKKyM6IGJpc2VjdC5jOjc3NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiU29tZSAlcyByZXZzIGFyZSBub3QgYW5jZXN0b3JzIG9mIHRoZSAlcyByZXYuXG4iCisiZ2l0IGJpc2VjdCBjYW5ub3Qgd29yayBwcm9wZXJseSBpbiB0aGlzIGNhc2UuXG4iCisiTWF5YmUgeW91IG1pc3Rvb2sgJXMgYW5kICVzIHJldnM/XG4iCittc2dzdHIgIiIKKyJBbGN1bmUgcmV2aXNpb25pICVzIG5vbiBzb25vIGFudGVuYXRlIGRlbGxhIHJldmlzaW9uZSAlcy5cbiIKKyJnaXQgYmlzZWN0IG5vbiBwdcOyIGZ1bnppb25hcmUgY29ycmV0dGFtZW50ZSBpbiBxdWVzdG8gY2Fzby5cbiIKKyJGb3JzZSBoYWkgY29uZnVzbyBsZSByZXZpc2lvbmkgJXMgY29uIHF1ZWxsZSAlcz9cbiIKKworIzogYmlzZWN0LmM6Nzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ0aGUgbWVyZ2UgYmFzZSBiZXR3ZWVuICVzIGFuZCBbJXNdIG11c3QgYmUgc2tpcHBlZC5cbiIKKyJTbyB3ZSBjYW5ub3QgYmUgc3VyZSB0aGUgZmlyc3QgJXMgY29tbWl0IGlzIGJldHdlZW4gJXMgYW5kICVzLlxuIgorIldlIGNvbnRpbnVlIGFueXdheS4iCittc2dzdHIgIiIKKyJsYSBiYXNlIGRlbCBtZXJnZSBmcmEgJXMgZSBbJXNdIGRldidlc3NlcmUgc2FsdGF0YS5cbiIKKyJOb24gw6ggcG9zc2liaWxlIGVzc2VyZSBzaWN1cmkgY2hlIGlsIHByaW1vIGNvbW1pdCAlcyBzaWEgZnJhICVzIGUgJXMuXG4iCisiQ29udGludW8gY29tdW5xdWUuIgorCisjOiBiaXNlY3QuYzo4MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmlzZWN0aW5nOiBhIG1lcmdlIGJhc2UgbXVzdCBiZSB0ZXN0ZWRcbiIKK21zZ3N0ciAiQmlzZXppb25lOiBkZXYnZXNzZXJlIHRlc3RhdGEgdW5hIGJhc2UgZGVsIG1lcmdlXG4iCisKKyM6IGJpc2VjdC5jOjg2NQorIywgYy1mb3JtYXQKK21zZ2lkICJhICVzIHJldmlzaW9uIGlzIG5lZWRlZCIKK21zZ3N0ciAiw6ggcmljaGllc3RhIHVuYSByZXZpc2lvbmUgJXMiCisKKyM6IGJpc2VjdC5jOjg4NCBidWlsdGluL25vdGVzLmM6MTc3IGJ1aWx0aW4vdGFnLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBjcmVhcmUgaWwgZmlsZSAnJXMnIgorCisjOiBiaXNlY3QuYzo5MjggYnVpbHRpbi9tZXJnZS5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBmaWxlICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgaWwgZmlsZSAnJXMnIgorCisjOiBiaXNlY3QuYzo5NTgKK21zZ2lkICJyZWFkaW5nIGJpc2VjdCByZWZzIGZhaWxlZCIKK21zZ3N0ciAibGV0dHVyYSByaWZlcmltZW50aSBkZWxsYSBiaXNlemlvbmUgbm9uIHJpdXNjaXRhIgorCisjOiBiaXNlY3QuYzo5NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgd2FzIGJvdGggJXMgYW5kICVzXG4iCittc2dzdHIgIiVzIGVyYSBzaWEgJXMgc2lhICVzXG4iCisKKyM6IGJpc2VjdC5jOjk4NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm8gdGVzdGFibGUgY29tbWl0IGZvdW5kLlxuIgorIk1heWJlIHlvdSBzdGFydGVkIHdpdGggYmFkIHBhdGggcGFyYW1ldGVycz9cbiIKK21zZ3N0ciAiIgorIk5lc3N1biBjb21taXQgdGVzdGFiaWxlIHRyb3ZhdG8uXG4iCisiRm9yc2UgaGFpIGluaXppYXRvIGlsIHByb2NlZGltZW50byBzcGVjaWZpY2FuZG8gcGFyYW1ldHJpIHBlcmNvcnNvIGVycmF0aT9cbiIKKworIzogYmlzZWN0LmM6MTAwNAorIywgYy1mb3JtYXQKK21zZ2lkICIocm91Z2hseSAlZCBzdGVwKSIKK21zZ2lkX3BsdXJhbCAiKHJvdWdobHkgJWQgc3RlcHMpIgorbXNnc3RyWzBdICIoY2lyY2EgJWQgcGFzc28pIgorbXNnc3RyWzFdICIoY2lyY2EgJWQgcGFzc2kpIgorCisjLiBUUkFOU0xBVE9SUzogdGhlIGxhc3QgJXMgd2lsbCBiZSByZXBsYWNlZCB3aXRoICIocm91Z2hseSAlZAorIy4gc3RlcHMpIiB0cmFuc2xhdGlvbi4KKyMuCisjOiBiaXNlY3QuYzoxMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJpc2VjdGluZzogJWQgcmV2aXNpb24gbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKK21zZ2lkX3BsdXJhbCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbnMgbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKK21zZ3N0clswXSAiIgorIkJpc2V6aW9uZSBpbiBjb3JzbzogJWQgcmV2aXNpb25lIHJpbWFuZW50ZSBkYSB0ZXN0YXJlIGRvcG8gcXVlc3RhICVzXG4iCittc2dzdHJbMV0gIiIKKyJCaXNlemlvbmUgaW4gY29yc286ICVkIHJldmlzaW9uaSByaW1hbmVudGkgZGEgdGVzdGFyZSBkb3BvIHF1ZXN0YSAlc1xuIgorCisjOiBibGFtZS5jOjI3MDAKK21zZ2lkICItLWNvbnRlbnRzIGFuZCAtLXJldmVyc2UgZG8gbm90IGJsZW5kIHdlbGwuIgorbXNnc3RyICItLWNvbnRlbnRzIGUgLS1yZXZlcnNlIG5vbiBzb25vIGNvbXBhdGliaWxpLiIKKworIzogYmxhbWUuYzoyNzE0Cittc2dpZCAiY2Fubm90IHVzZSAtLWNvbnRlbnRzIHdpdGggZmluYWwgY29tbWl0IG9iamVjdCBuYW1lIgorbXNnc3RyICJpbXBvc3NpYmlsZSB1c2FyZSAtLWNvbnRlbnRzIGNvbiBpbCBub21lIG9nZ2V0dG8gZGVsIGNvbW1pdCBmaW5hbGUiCisKKyM6IGJsYW1lLmM6MjczNQorbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKK21zZ3N0ciAiIgorImxlIG9wemlvbmkgLS1yZXZlcnNlIGUgLS1maXJzdC1wYXJlbnQgc2UgdXNhdGUgaW5zaWVtZSByaWNoaWVkb25vIGNoZSBzaWEgIgorInNwZWNpZmljYXRvIGwndWx0aW1vIGNvbW1pdCIKKworIzogYmxhbWUuYzoyNzQ0IGJ1bmRsZS5jOjE2NyByZWYtZmlsdGVyLmM6MjIwMyByZW1vdGUuYzoxOTQxIHNlcXVlbmNlci5jOjIwOTMKKyM6IHNlcXVlbmNlci5jOjQ0NjAgYnVpbHRpbi9jb21taXQuYzoxMDQwIGJ1aWx0aW4vbG9nLmM6Mzg4IGJ1aWx0aW4vbG9nLmM6OTkxCisjOiBidWlsdGluL2xvZy5jOjE1MjAgYnVpbHRpbi9sb2cuYzoxOTI1IGJ1aWx0aW4vbG9nLmM6MjIxNSBidWlsdGluL21lcmdlLmM6NDExCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMjggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTQzCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MTkyCittc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCittc2dzdHIgImltcG9zdGF6aW9uZSBwZXJjb3JzbyByZXZpc2lvbmkgbm9uIHJpdXNjaXRhIgorCisjOiBibGFtZS5jOjI3NjIKK21zZ2lkICIiCisiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIgorbXNnc3RyICIiCisibGUgb3B6aW9uaSAtLXJldmVyc2UgZSAtLWZpcnN0LXBhcmVudCBzZSB1c2F0ZSBpbnNpZW1lIHJpY2hpZWRvbm8gY2hlIHNpYSAiCisic3BlY2lmaWNhdG8gdW4gaW50ZXJ2YWxsbyBuZWxsYSBjYXRlbmEgZGVsIHByaW1vIGNvbW1pdCBnZW5pdG9yZSIKKworIzogYmxhbWUuYzoyNzczCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKK21zZ3N0ciAiaWwgcGVyY29yc28gJXMgaW4gJXMgbm9uIGVzaXN0ZSIKKworIzogYmxhbWUuYzoyNzg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIGJsb2IgJXMgZm9yIHBhdGggJXMiCittc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgaWwgYmxvYiAlcyBwZXIgaWwgcGVyY29yc28gJXMiCisKKyM6IGJyYW5jaC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBZnRlciBmaXhpbmcgdGhlIGVycm9yIGNhdXNlIHlvdSBtYXkgdHJ5IHRvIGZpeCB1cFxuIgorInRoZSByZW1vdGUgdHJhY2tpbmcgaW5mb3JtYXRpb24gYnkgaW52b2tpbmdcbiIKKyJcImdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG89JXMlcyVzXCIuIgorbXNnc3RyICIiCisiXG4iCisiRG9wbyBhdmVyIGNvcnJldHRvIGwnZXJyb3JlIMOoIHBvc3NpYmlsZSBwcm92YXJlIGEgY29ycmVnZ2VyZVxuIgorImxlIGluZm9ybWF6aW9uaSBkaSB0cmFjY2lhbWVudG8gcmVtb3RvIGVzZWd1ZW5kb1xuIgorIlwiZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10bz0lcyVzJXNcIi4iCisKKyM6IGJyYW5jaC5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGJyYW5jaCAlcyBhcyBpdHMgb3duIHVwc3RyZWFtLiIKK21zZ3N0ciAiTm9uIGltcG9zdG8gaWwgYnJhbmNoICVzIGNvbWUgdXBzdHJlYW0gZGkgc8OpIHN0ZXNzby4iCisKKyM6IGJyYW5jaC5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgYnJhbmNoICclcycgZnJvbSAnJXMnIGJ5IHJlYmFzaW5nLiIKK21zZ3N0ciAiIgorIkJyYW5jaCAnJXMnIGltcG9zdGF0byBwZXIgdHJhY2NpYXJlIGlsIGJyYW5jaCByZW1vdG8gJyVzJyBkYSAnJXMnIHRyYW1pdGUgIgorInJlYmFzZS4iCisKKyM6IGJyYW5jaC5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgYnJhbmNoICclcycgZnJvbSAnJXMnLiIKK21zZ3N0ciAiQnJhbmNoICclcycgaW1wb3N0YXRvIHBlciB0cmFjY2lhcmUgaWwgYnJhbmNoIHJlbW90byAnJXMnIGRhICclcycuIgorCisjOiBicmFuY2guYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgYnJhbmNoICclcycgYnkgcmViYXNpbmcuIgorbXNnc3RyICIiCisiQnJhbmNoICclcycgaW1wb3N0YXRvIHBlciB0cmFjY2lhcmUgaWwgYnJhbmNoIGxvY2FsZSAnJXMnIHRyYW1pdGUgcmViYXNlLiIKKworIzogYnJhbmNoLmM6OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIGJyYW5jaCAnJXMnLiIKK21zZ3N0ciAiQnJhbmNoICclcycgaW1wb3N0YXRvIHBlciB0cmFjY2lhcmUgaWwgYnJhbmNoIGxvY2FsZSAnJXMnLiIKKworIzogYnJhbmNoLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgcmVmICclcycgYnkgcmViYXNpbmcuIgorbXNnc3RyICIiCisiQnJhbmNoICclcycgaW1wb3N0YXRvIHBlciB0cmFjY2lhcmUgaWwgcmlmZXJpbWVudG8gcmVtb3RvICclcycgdHJhbWl0ZSAiCisicmViYXNlLiIKKworIzogYnJhbmNoLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgcmVmICclcycuIgorbXNnc3RyICJCcmFuY2ggJyVzJyBpbXBvc3RhdG8gcGVyIHRyYWNjaWFyZSBpbCByaWZlcmltZW50byByZW1vdG8gJyVzJy4iCisKKyM6IGJyYW5jaC5jOjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgcmVmICclcycgYnkgcmViYXNpbmcuIgorbXNnc3RyICIiCisiQnJhbmNoICclcycgaW1wb3N0YXRvIHBlciB0cmFjY2lhcmUgaWwgcmlmZXJpbWVudG8gbG9jYWxlICclcycgdHJhbWl0ZSAiCisicmViYXNlLiIKKworIzogYnJhbmNoLmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayBsb2NhbCByZWYgJyVzJy4iCittc2dzdHIgIkJyYW5jaCAnJXMnIGltcG9zdGF0byBwZXIgdHJhY2NpYXJlIGlsIHJpZmVyaW1lbnRvIGxvY2FsZSAnJXMnLiIKKworIzogYnJhbmNoLmM6MTE5Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHVwc3RyZWFtIGJyYW5jaCBjb25maWd1cmF0aW9uIgorbXNnc3RyICJJbXBvc3NpYmlsZSBzY3JpdmVyZSBsYSBjb25maWd1cmF6aW9uZSByZWxhdGl2YSBhbCBicmFuY2ggdXBzdHJlYW0iCisKKyM6IGJyYW5jaC5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgdHJhY2tpbmc6IGFtYmlndW91cyBpbmZvcm1hdGlvbiBmb3IgcmVmICVzIgorbXNnc3RyICIiCisiSWwgdHJhY2NpYW1lbnRvIG5vbiBhdnZlcnLDoDogaW5mb3JtYXppb25pIGFtYmlndWUgcGVyIGlsIHJpZmVyaW1lbnRvICVzIgorCisjOiBicmFuY2guYzoxODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCBicmFuY2ggbmFtZS4iCittc2dzdHIgIiclcycgbm9uIMOoIHVuIG5vbWUgYnJhbmNoIHZhbGlkby4iCisKKyM6IGJyYW5jaC5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJBIGJyYW5jaCBuYW1lZCAnJXMnIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiVW4gYnJhbmNoIGRlbm9taW5hdG8gJyVzJyBlc2lzdGUgZ2nDoC4iCisKKyM6IGJyYW5jaC5jOjIxMworbXNnaWQgIkNhbm5vdCBmb3JjZSB1cGRhdGUgdGhlIGN1cnJlbnQgYnJhbmNoLiIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgZXNlZ3VpcmUgdW4gYWdnaW9ybmFtZW50byBmb3J6YXRvIGRlbCBicmFuY2ggY29ycmVudGUuIgorCisjOiBicmFuY2guYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHNldHVwIHRyYWNraW5nIGluZm9ybWF0aW9uOyBzdGFydGluZyBwb2ludCAnJXMnIGlzIG5vdCBhIGJyYW5jaC4iCittc2dzdHIgIiIKKyJJbXBvc3NpYmlsZSBpbXBvc3RhcmUgbGUgaW5mb3JtYXppb25pIGRpIHRyYWNjaWFtZW50bzogaWwgcHVudG8gZGkgcGFydGVuemEgIgorIiclcycgbm9uIMOoIHVuIGJyYW5jaC4iCisKKyM6IGJyYW5jaC5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcmVxdWVzdGVkIHVwc3RyZWFtIGJyYW5jaCAnJXMnIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJpbCBicmFuY2ggdXBzdHJlYW0gcmljaGllc3RvICclcycgbm9uIGVzaXN0ZSIKKworIzogYnJhbmNoLmM6MjM3Cittc2dpZCAiIgorIlxuIgorIklmIHlvdSBhcmUgcGxhbm5pbmcgb24gYmFzaW5nIHlvdXIgd29yayBvbiBhbiB1cHN0cmVhbVxuIgorImJyYW5jaCB0aGF0IGFscmVhZHkgZXhpc3RzIGF0IHRoZSByZW1vdGUsIHlvdSBtYXkgbmVlZCB0b1xuIgorInJ1biBcImdpdCBmZXRjaFwiIHRvIHJldHJpZXZlIGl0LlxuIgorIlxuIgorIklmIHlvdSBhcmUgcGxhbm5pbmcgdG8gcHVzaCBvdXQgYSBuZXcgbG9jYWwgYnJhbmNoIHRoYXRcbiIKKyJ3aWxsIHRyYWNrIGl0cyByZW1vdGUgY291bnRlcnBhcnQsIHlvdSBtYXkgd2FudCB0byB1c2VcbiIKKyJcImdpdCBwdXNoIC11XCIgdG8gc2V0IHRoZSB1cHN0cmVhbSBjb25maWcgYXMgeW91IHB1c2guIgorbXNnc3RyICIiCisiXG4iCisiU2UgcHJldmVkaSBkaSBiYXNhcmUgaWwgdHVvIGxhdm9ybyBzdSB1biBicmFuY2hcbiIKKyJ1cHN0cmVhbSBnacOgIGVzaXN0ZW50ZSwgcG90cmVzdGkgZG92ZXIgZXNlZ3VpcmVcbiIKKyJcImdpdCBmZXRjaFwiIHBlciByZWN1cGVyYXJsby5cbiIKKyJcbiIKKyJTZSBwcmV2ZWRpIGRpIGVzZWd1aXJlIGlsIHB1c2ggZGkgdW4gbnVvdm8gYnJhbmNoIGxvY2FsZVxuIgorImNoZSB0cmFjY2Vyw6AgbGEgc3VhIGNvbnRyb3BhcnRlIHJlbW90YSwgcG90cmVzdGkgdm9sZXJcbiIKKyJ1c2FyZSBcImdpdCBwdXNoIC11XCIgcGVyIGltcG9zdGFyZSBsYSBjb25maWd1cmF6aW9uZSBkZWxcbiIKKyJicmFuY2ggdXBzdHJlYW0gZHVyYW50ZSBpbCBwdXNoLiIKKworIzogYnJhbmNoLmM6MjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnLiIKK21zZ3N0ciAiTm9tZSBvZ2dldHRvIG5vbiB2YWxpZG86ICclcycuIgorCisjOiBicmFuY2guYzozMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQW1iaWd1b3VzIG9iamVjdCBuYW1lOiAnJXMnLiIKK21zZ3N0ciAiTm9tZSBvZ2dldHRvIGFtYmlndW86ICclcycuIgorCisjOiBicmFuY2guYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGEgdmFsaWQgYnJhbmNoIHBvaW50OiAnJXMnLiIKK21zZ3N0ciAiUHVudG8gZGkgYnJhbmNoIG5vbiB2YWxpZG86ICclcycuIgorCisjOiBicmFuY2guYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGNoZWNrZWQgb3V0IGF0ICclcyciCittc2dzdHIgIklsIGNoZWNrb3V0IGRpICclcycgw6ggZ2nDoCBzdGF0byBlc2VndWl0byBpbiAnJXMnIgorCisjOiBicmFuY2guYzozODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSEVBRCBvZiB3b3JraW5nIHRyZWUgJXMgaXMgbm90IHVwZGF0ZWQiCittc2dzdHIgIkwnSEVBRCBkZWxsJ2FsYmVybyBkaSBsYXZvcm8gJXMgbm9uIMOoIGFnZ2lvcm5hdG8iCiAKICM6IGJ1bmRsZS5jOjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgbG9vayBsaWtlIGEgdjIgYnVuZGxlIGZpbGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJyVzJyBub24gc2VtYnJhIGVzc2VyZSB1biBmaWxlIGJ1bmRsZSB2MiIKIAotIzogYnVuZGxlLmM6NjMKKyM6IGJ1bmRsZS5jOjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKLW1zZ3N0ciAiaGVhZGVyIG5vbiByaWNvbm9zY2l1dG86ICVzJXMgKCVkKSIKK21zZ3N0ciAiaW50ZXN0YXppb25lIG5vbiByaWNvbm9zY2l1dGE6ICVzJXMgKCVkKSIKIAotIzogYnVuZGxlLmM6ODkgYnVpbHRpbi9jb21taXQuYzo2OTYKKyM6IGJ1bmRsZS5jOjkwIHJlcmVyZS5jOjQ4MCByZXJlcmUuYzo2OTAgc2VxdWVuY2VyLmM6MjM0NCBzZXF1ZW5jZXIuYzozMTA4CisjOiBidWlsdGluL2NvbW1pdC5jOjgxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIgotbXNnc3RyICJub24gw6ggc3RhdG8gcG9zc2liaWxlIGFwcmlyZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJyVzJyIKIAotIzogYnVuZGxlLmM6MTQwCisjOiBidW5kbGUuYzoxNDMKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIHRoZXNlIHByZXJlcXVpc2l0ZSBjb21taXRzOiIKLW1zZ3N0ciAiIgorbXNnc3RyICJEYWwgcmVwb3NpdG9yeSBtYW5jYW5vIHF1ZXN0aSBjb21taXQgcmljaGllc3RpIGNvbWUgcHJlcmVxdWlzaXRvOiIKIAotIzogYnVuZGxlLmM6MTY0IHNlcXVlbmNlci5jOjU1MCBzZXF1ZW5jZXIuYzo5ODIgYnVpbHRpbi9sb2cuYzoyODkKLSM6IGJ1aWx0aW4vbG9nLmM6NzIwIGJ1aWx0aW4vbG9nLmM6MTMwOSBidWlsdGluL2xvZy5jOjE1MjggYnVpbHRpbi9tZXJnZS5jOjM0NwotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE4MQotbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgotbXNnc3RyICIiCisjOiBidW5kbGUuYzoxNDYKK21zZ2lkICJuZWVkIGEgcmVwb3NpdG9yeSB0byB2ZXJpZnkgYSBidW5kbGUiCittc2dzdHIgIsOoIG5lY2Vzc2FyaW8gdW4gcmVwb3NpdG9yeSBwZXIgdmVyaWZpY2FyZSB1biBidW5kbGUiCiAKLSM6IGJ1bmRsZS5jOjE4NgorIzogYnVuZGxlLmM6MTk3CiAjLCBjLWZvcm1hdAotbXNnaWQgIlRoZSBidW5kbGUgY29udGFpbnMgJWQgcmVmIgotbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIGNvbnRhaW5zICVkIHJlZnMiCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgorbXNnaWQgIlRoZSBidW5kbGUgY29udGFpbnMgdGhpcyByZWY6IgorbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoZXNlICVkIHJlZnM6IgorbXNnc3RyWzBdICJJbCBidW5kbGUgY29udGllbmUgcXVlc3RvIHJpZmVyaW1lbnRvOiIKK21zZ3N0clsxXSAiSWwgYnVuZGxlIGNvbnRpZW5lIHF1ZXN0aSAlZCByaWZlcmltZW50aToiCiAKLSM6IGJ1bmRsZS5jOjE5MgorIzogYnVuZGxlLmM6MjA0Cittc2dpZCAiVGhlIGJ1bmRsZSByZWNvcmRzIGEgY29tcGxldGUgaGlzdG9yeS4iCittc2dzdHIgIk5lbCBidW5kbGUgw6ggcmVnaXN0cmF0YSB1bmEgY3Jvbm9sb2dpYSBjb21wbGV0YS4iCisKKyM6IGJ1bmRsZS5jOjIwNgogIywgYy1mb3JtYXQKLW1zZ2lkICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoaXMgcmVmIgotbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoZXNlICVkIHJlZnMiCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgorbXNnaWQgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhpcyByZWY6IgorbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoZXNlICVkIHJlZnM6IgorbXNnc3RyWzBdICJJbCBidW5kbGUgcmljaGllZGUgcXVlc3RvIHJpZmVyaW1lbnRvOiIKK21zZ3N0clsxXSAiSWwgYnVuZGxlIHJpY2hpZWRlIHF1ZXN0aSAlZCByaWZlcmltZW50aToiCiAKLSM6IGJ1bmRsZS5jOjI5MAorIzogYnVuZGxlLmM6MjczCittc2dpZCAidW5hYmxlIHRvIGR1cCBidW5kbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZHVwbGljYXJlIGlsIGRlc2NyaXR0b3JlIGJ1bmRsZSIKKworIzogYnVuZGxlLmM6MjgwCittc2dpZCAiQ291bGQgbm90IHNwYXduIHBhY2stb2JqZWN0cyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYXZ2aWFyZSBwYWNrLW9iamVjdHMiCisKKyM6IGJ1bmRsZS5jOjI5MQorbXNnaWQgInBhY2stb2JqZWN0cyBkaWVkIgorbXNnc3RyICJjb21hbmRvIHBhY2stb2JqZWN0cyBtb3J0byIKKworIzogYnVuZGxlLmM6MzMzCiBtc2dpZCAicmV2LWxpc3QgZGllZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJjb21hbmRvIHJldi1saXN0IG1vcnRvIgogCi0jOiBidW5kbGUuYzoyOTYgYnVpbHRpbi9sb2cuYzoxMjA1IGJ1aWx0aW4vc2hvcnRsb2cuYzoyODQKKyM6IGJ1bmRsZS5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKK21zZ3N0ciAiaWwgcmlmZXJpbWVudG8gJyVzJyDDqCBlc2NsdXNvIGRhbGxlIG9wemlvbmkgZGkgcmV2LWxpc3QiCisKKyM6IGJ1bmRsZS5jOjQ2MSBidWlsdGluL2xvZy5jOjIwMyBidWlsdGluL2xvZy5jOjE4MTQgYnVpbHRpbi9zaG9ydGxvZy5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJhcmdvbWVudG8gbm9uIHJpY29ub3NjaXV0bzogJXMiCiAKLSM6IGJ1bmRsZS5jOjMzMQotIywgYy1mb3JtYXQKLW1zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKLW1zZ3N0ciAiaWwgcmVmICclcycgw6ggZXNjbHVzbyBkYWxsZSBvcHppb25pIGRpIHJldi1saXN0IgotCi0jOiBidW5kbGUuYzozNzYKKyM6IGJ1bmRsZS5jOjQ2OQogbXNnaWQgIlJlZnVzaW5nIHRvIGNyZWF0ZSBlbXB0eSBidW5kbGUuIgotbXNnc3RyICIiCittc2dzdHIgIk1pIHJpZml1dG8gZGkgY3JlYXJlIHVuIGJ1bmRsZSB2dW90by4iCiAKLSM6IGJ1bmRsZS5jOjM5NAotbXNnaWQgIkNvdWxkIG5vdCBzcGF3biBwYWNrLW9iamVjdHMiCi1tc2dzdHIgIiIKLQotIzogYnVuZGxlLmM6NDEyCi1tc2dpZCAicGFjay1vYmplY3RzIGRpZWQiCi1tc2dzdHIgIiIKLQotIzogYnVuZGxlLmM6NDE1CisjOiBidW5kbGUuYzo0NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSAnJXMnIgogbXNnc3RyICJpbXBvc3NpYmlsZSBjcmVhcmUgJyVzJyIKIAotIzogYnVuZGxlLmM6NDM3CisjOiBidW5kbGUuYzo1MDQKIG1zZ2lkICJpbmRleC1wYWNrIGRpZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiY29tYW5kbyBpbmRleC1wYWNrIG1vcnRvIgogCi0jOiBjb21taXQuYzo0OAorIzogY29sb3IuYzoyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjb2xvciB2YWx1ZTogJS4qcyIKK21zZ3N0ciAidmFsb3JlIGNvbG9yZSBub24gdmFsaWRvOiAlLipzIgorCisjOiBjb21taXQuYzo1MSBzZXF1ZW5jZXIuYzoyODExIGJ1aWx0aW4vYW0uYzozNTQgYnVpbHRpbi9hbS5jOjM5OAorIzogYnVpbHRpbi9hbS5jOjEzNjYgYnVpbHRpbi9hbS5jOjIwMDkgYnVpbHRpbi9yZXBsYWNlLmM6NDU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyIKLW1zZ3N0ciAibm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBhbmFsaXp6YXJlICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhbmFsaXp6YXJlICVzIgogCi0jOiBjb21taXQuYzo1MAorIzogY29tbWl0LmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiJXMgJXMgbm9uIMOoIHVuIGNvbW1pdCEiCiAKKyM6IGNvbW1pdC5jOjE5MworbXNnaWQgIiIKKyJTdXBwb3J0IGZvciA8R0lUX0RJUj4vaW5mby9ncmFmdHMgaXMgZGVwcmVjYXRlZFxuIgorImFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgR2l0IHZlcnNpb24uXG4iCisiXG4iCisiUGxlYXNlIHVzZSBcImdpdCByZXBsYWNlIC0tY29udmVydC1ncmFmdC1maWxlXCJcbiIKKyJ0byBjb252ZXJ0IHRoZSBncmFmdHMgaW50byByZXBsYWNlIHJlZnMuXG4iCisiXG4iCisiVHVybiB0aGlzIG1lc3NhZ2Ugb2ZmIGJ5IHJ1bm5pbmdcbiIKKyJcImdpdCBjb25maWcgYWR2aWNlLmdyYWZ0RmlsZURlcHJlY2F0ZWQgZmFsc2VcIiIKK21zZ3N0ciAiIgorIklsIHN1cHBvcnRvIHBlciA8R0lUX0RJUj4vaW5mby9ncmFmdCDDqCBkZXByZWNhdG9cbiIKKyJlIHNhcsOgIHJpbW9zc28gaW4gdW5hIHZlcnNpb25lIGZ1dHVyYSBkaSBHaXQuXG4iCisiXG4iCisiVXNhIFwiZ2l0IHJlcGxhY2UgLS1jb252ZXJ0LWdyYWZ0LWZpbGVcIlxuIgorInBlciBjb252ZXJ0aXJlIGkgZ3JhZnQgaW4gcmVmIHNvc3RpdHV0aXZpLlxuIgorIlxuIgorIlBlciBkaXNhYmlsaXRhcmUgcXVlc3RvIG1lc3NhZ2dpbywgZXNlZ3VpXG4iCisiXCJnaXQgY29uZmlnIGFkdmljZS5ncmFmdEZpbGVEZXByZWNhdGVkIGZhbHNlXCIiCisKKyM6IGNvbW1pdC5jOjExNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29tbWl0ICVzIGhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSwgYWxsZWdlZGx5IGJ5ICVzLiIKK21zZ3N0ciAiSWwgY29tbWl0ICVzIGhhIHVuYSBmaXJtYSBHUEcgbm9uIGFmZmlkYWJpbGUsIHByZXN1bWliaWxtZW50ZSBkaSAlcy4iCisKKyM6IGNvbW1pdC5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGJhZCBHUEcgc2lnbmF0dXJlIGFsbGVnZWRseSBieSAlcy4iCittc2dzdHIgIklsIGNvbW1pdCAlcyBoYSB1bmEgZmlybWEgR1BHIG5vbiB2YWxpZGEgcHJlc3VtaWJpbG1lbnRlIGRpICVzLiIKKworIzogY29tbWl0LmM6MTE1OAorIywgYy1mb3JtYXQKK21zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBhIEdQRyBzaWduYXR1cmUuIgorbXNnc3RyICJJbCBjb21taXQgJXMgbm9uIGhhIHVuYSBmaXJtYSBHUEcuIgorCisjOiBjb21taXQuYzoxMTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBnb29kIEdQRyBzaWduYXR1cmUgYnkgJXNcbiIKK21zZ3N0ciAiSWwgY29tbWl0ICVzIGhhIHVuYSBmaXJtYSBHUEcgdmFsaWRhIGRpICVzXG4iCisKKyM6IGNvbW1pdC5jOjE0MTUKK21zZ2lkICIiCisiV2FybmluZzogY29tbWl0IG1lc3NhZ2UgZGlkIG5vdCBjb25mb3JtIHRvIFVURi04LlxuIgorIllvdSBtYXkgd2FudCB0byBhbWVuZCBpdCBhZnRlciBmaXhpbmcgdGhlIG1lc3NhZ2UsIG9yIHNldCB0aGUgY29uZmlnXG4iCisidmFyaWFibGUgaTE4bi5jb21taXRlbmNvZGluZyB0byB0aGUgZW5jb2RpbmcgeW91ciBwcm9qZWN0IHVzZXMuXG4iCittc2dzdHIgIiIKKyJBdHRlbnppb25lOiBpbCBtZXNzYWdnaW8gZGkgY29tbWl0IG5vbiDDqCBjb25mb3JtZSBhbGxhIGNvZGlmaWNhIFVURi04LlxuIgorIlBvdHJlc3RpIHZvbGVybG8gbW9kaWZpY2FyZSBkb3BvIGF2ZXIgY29ycmV0dG8gaWwgbWVzc2FnZ2lvLCBvIGltcG9zdGFyZVxuIgorImxhIHZhcmlhYmlsZSBkaSBjb25maWd1cmF6aW9uZSBpMThuLmNvbW1pdGVuY29kaW5nIGFsbGEgY29kaWZpY2EgdXNhdGFcbiIKKyJkYWwgdHVvIHByb2dldHRvLlxuIgorCisjOiBjb21taXQtZ3JhcGguYzoxMzAKK21zZ2lkICJjb21taXQtZ3JhcGggZmlsZSBpcyB0b28gc21hbGwiCittc2dzdHIgImlsIGZpbGUgZ3JhZm8gZGVpIGNvbW1pdCAlcyDDqCB0cm9wcG8gcGljY29sbyIKKworIzogY29tbWl0LWdyYXBoLmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBzaWduYXR1cmUgJVggZG9lcyBub3QgbWF0Y2ggc2lnbmF0dXJlICVYIgorbXNnc3RyICJsYSBmaXJtYSBkZWwgZ3JhZm8gZGVpIGNvbW1pdCAlWCBub24gY29ycmlzcG9uZGUgYWxsYSBmaXJtYSAlWCIKKworIzogY29tbWl0LWdyYXBoLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCB2ZXJzaW9uICVYIGRvZXMgbm90IG1hdGNoIHZlcnNpb24gJVgiCittc2dzdHIgImxhIHZlcnNpb25lIGRlbCBncmFmbyBkZWkgY29tbWl0ICVYIG5vbiBjb3JyaXNwb25kZSBhbGxhIHZlcnNpb25lICVYIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIGhhc2ggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIgorbXNnc3RyICIiCisibGEgdmVyc2lvbmUgaGFzaCBkZWwgZ3JhZm8gZGVpIGNvbW1pdCAlWCBub24gY29ycmlzcG9uZGUgYWxsYSB2ZXJzaW9uZSAlWCIKKworIzogY29tbWl0LWdyYXBoLmM6MjMyCittc2dpZCAiY29tbWl0LWdyYXBoIGNodW5rIGxvb2t1cCB0YWJsZSBlbnRyeSBtaXNzaW5nOyBmaWxlIG1heSBiZSBpbmNvbXBsZXRlIgorbXNnc3RyICIiCisidm9jZSBibG9jY28gZ3JhZm8gZGVpIGNvbW1pdCBtYW5jYW50ZSBuZWxsYSB0YWJlbGxhIGRpIHJpY2VyY2E7IGlsIGZpbGUgIgorInBvdHJlYmJlIG5vbiBlc3NlcmUgY29tcGxldG8iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggaW1wcm9wZXIgY2h1bmsgb2Zmc2V0ICUwOHglMDh4IgorbXNnc3RyICJvZmZzZXQgYmxvY2NvIGdyYWZvIGRlaSBjb21taXQgaW1wcm9wcmlvICUwOHglMDh4IgorCisjOiBjb21taXQtZ3JhcGguYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIGNodW5rIGlkICUwOHggYXBwZWFycyBtdWx0aXBsZSB0aW1lcyIKK21zZ3N0ciAibCdJRCBkZWwgYmxvY2NvIGdyYWZvIGRlaSBjb21taXQgJTA4eCBjb21wYXJlIHBpw7kgdm9sdGUiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjM1MAorbXNnaWQgImNvbW1pdC1ncmFwaCBoYXMgbm8gYmFzZSBncmFwaHMgY2h1bmsiCittc2dzdHIgImlsIGdyYWZvIGRlaSBjb21taXQgbm9uIGhhIHVuIGJsb2NjbyBncmFmaSBkaSBiYXNlIgorCisjOiBjb21taXQtZ3JhcGguYzozNjAKK21zZ2lkICJjb21taXQtZ3JhcGggY2hhaW4gZG9lcyBub3QgbWF0Y2giCittc2dzdHIgImxhIGNhdGVuYSBkZWwgZ3JhZm8gZGVpIGNvbW1pdCBub24gY29ycmlzcG9uZGUiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjQwNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdC1ncmFwaCBjaGFpbjogbGluZSAnJXMnIG5vdCBhIGhhc2giCittc2dzdHIgImNhdGVuYSBncmFmbyBkZWkgY29tbWl0IG5vbiB2YWxpZGE6IGxhIHJpZ2EgJyVzJyBub24gw6ggdW4gaGFzaCIKKworIzogY29tbWl0LWdyYXBoLmM6NDMzCittc2dpZCAidW5hYmxlIHRvIGZpbmQgYWxsIGNvbW1pdC1ncmFwaCBmaWxlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgdHJvdmFyZSB0dXR0aSBpIGZpbGUgZ3JhZm8gZGVpIGNvbW1pdCIKKworIzogY29tbWl0LWdyYXBoLmM6NTY0IGNvbW1pdC1ncmFwaC5jOjYyNAorbXNnaWQgImludmFsaWQgY29tbWl0IHBvc2l0aW9uLiBjb21taXQtZ3JhcGggaXMgbGlrZWx5IGNvcnJ1cHQiCittc2dzdHIgIiIKKyJwb3NpemlvbmUgY29tbWl0IG5vbiB2YWxpZGEuIElsIGdyYWZvIGRlaSBjb21taXQgw6ggcHJvYmFiaWxtZW50ZSBjb3Jyb3R0byIKKworIzogY29tbWl0LWdyYXBoLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmaW5kIGNvbW1pdCAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgdHJvdmFyZSBpbCBjb21taXQgJXMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjg1OCBidWlsdGluL2FtLmM6MTI4NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhbmFsaXp6YXJlIGlsIGNvbW1pdCAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTAxNyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGdldCB0eXBlIG9mIG9iamVjdCAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmVjdXBlcmFyZSBpbCB0aXBvIGRlbGwnb2dnZXR0byAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTA0OQorbXNnaWQgIkxvYWRpbmcga25vd24gY29tbWl0cyBpbiBjb21taXQgZ3JhcGgiCittc2dzdHIgIkNhcmljYW1lbnRvIGNvbW1pdCBub3RpIG5lbCBncmFmbyBkZWkgY29tbWl0IGluIGNvcnNvIgorCisjOiBjb21taXQtZ3JhcGguYzoxMDY2Cittc2dpZCAiRXhwYW5kaW5nIHJlYWNoYWJsZSBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAiRXNwYW5zaW9uZSBkZWkgY29tbWl0IHJhZ2dpdW5naWJpbGkgbmVsIGdyYWZvIGRlaSBjb21taXQgaW4gY29yc28iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEwODUKK21zZ2lkICJDbGVhcmluZyBjb21taXQgbWFya3MgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICJSaW1vemlvbmUgZGVpIGNvbnRyYXNzZWduaSBjb21taXQgbmVsIGdyYWZvIGRlaSBjb21taXQgaW4gY29yc28iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjExMDQKK21zZ2lkICJDb21wdXRpbmcgY29tbWl0IGdyYXBoIGdlbmVyYXRpb24gbnVtYmVycyIKK21zZ3N0ciAiQ2FsY29sbyBudW1lcmkgZ2VuZXJhemlvbmUgZGVsIGdyYWZvIGRlaSBjb21taXQgaW4gY29yc28iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjExNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGggaW4gJWQgcGFjayIKK21zZ2lkX3BsdXJhbCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGggaW4gJWQgcGFja3MiCittc2dzdHJbMF0gIlJpY2VyY2EgZGVpIGNvbW1pdCBwZXIgaWwgZ3JhZm8gZGVpIGNvbW1pdCBpbiAlZCBwYWNrIGluIGNvcnNvIgorbXNnc3RyWzFdICJSaWNlcmNhIGRlaSBjb21taXQgcGVyIGlsIGdyYWZvIGRlaSBjb21taXQgaW4gJWQgcGFjayBpbiBjb3JzbyIKKworIzogY29tbWl0LWdyYXBoLmM6MTE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBhZGRpbmcgcGFjayAlcyIKK21zZ3N0ciAiZXJyb3JlIGR1cmFudGUgbCdhZ2dpdW50YSBkZWwgcGFjayAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBvcGVuaW5nIGluZGV4IGZvciAlcyIKK21zZ3N0ciAiZXJyb3JlIGR1cmFudGUgbCdhcGVydHVyYSBkZWxsJ2luZGljZSBwZXIgJXMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGggZnJvbSAlZCByZWYiCittc2dpZF9wbHVyYWwgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGZyb20gJWQgcmVmcyIKK21zZ3N0clswXSAiIgorIlJpY2VyY2EgZGVpIGNvbW1pdCBwZXIgaWwgZ3JhZm8gZGVpIGNvbW1pdCBkYSAlZCByaWZlcmltZW50byBpbiBjb3JzbyIKK21zZ3N0clsxXSAiIgorIlJpY2VyY2EgZGVpIGNvbW1pdCBwZXIgaWwgZ3JhZm8gZGVpIGNvbW1pdCBkYSAlZCByaWZlcmltZW50aSBpbiBjb3JzbyIKKworIzogY29tbWl0LWdyYXBoLmM6MTI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdCBvYmplY3QgaWQ6ICVzIgorbXNnc3RyICJJRCBvZ2dldHRvIGNvbW1pdCBub24gdmFsaWRvOiAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTI1NQorbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGFtb25nIHBhY2tlZCBvYmplY3RzIgorbXNnc3RyICIiCisiUmljZXJjYSBkZWkgY29tbWl0IHBlciBpbCBncmFmbyBkZWkgY29tbWl0IGZyYSBnbGkgb2dnZXR0aSBuZWkgcGFjayBpbiBjb3JzbyIKKworIzogY29tbWl0LWdyYXBoLmM6MTI3MAorbXNnaWQgIkNvdW50aW5nIGRpc3RpbmN0IGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICJDb250ZWdnaW8gY29tbWl0IGRpc3RpbnRpIG5lbCBncmFmbyBkZWkgY29tbWl0IGluIGNvcnNvIgorCisjOiBjb21taXQtZ3JhcGguYzoxMzAwCittc2dpZCAiRmluZGluZyBleHRyYSBlZGdlcyBpbiBjb21taXQgZ3JhcGgiCittc2dzdHIgIlJpY2VyY2EgZGVnbGkgYXJjaGkgYWdnaXVudGl2aSBuZWwgZ3JhZm8gZGVpIGNvbW1pdCBpbiBjb3JzbyIKKworIzogY29tbWl0LWdyYXBoLmM6MTM0NgorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBjb3JyZWN0IG51bWJlciBvZiBiYXNlIGdyYXBoIGlkcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgaWwgbnVtZXJvIGVzYXR0byBkZWdsaSBJRCBncmFmbyBkaSBiYXNlIgorCisjOiBjb21taXQtZ3JhcGguYzoxMzc5IG1pZHguYzo4MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBjcmVhcmUgbGUgcHJpbWUgZGlyZWN0b3J5IGRpICVzIgorCisjOiBjb21taXQtZ3JhcGguYzoxMzkxIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwNiBidWlsdGluL3JlcGFjay5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGNyZWFyZSAnJXMnIgorCisjOiBjb21taXQtZ3JhcGguYzoxNDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRpbmcgb3V0IGNvbW1pdCBncmFwaCBpbiAlZCBwYXNzIgorbXNnaWRfcGx1cmFsICJXcml0aW5nIG91dCBjb21taXQgZ3JhcGggaW4gJWQgcGFzc2VzIgorbXNnc3RyWzBdICJTY3JpdHR1cmEgaW4gJWQgcGFzc2FnZ2lvIGRlbCBncmFmbyBkZWkgY29tbWl0IGluIGNvcnNvIgorbXNnc3RyWzFdICJTY3JpdHR1cmEgaW4gJWQgcGFzc2FnZ2kgZGVsIGdyYWZvIGRlaSBjb21taXQgaW4gY29yc28iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE0OTIKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiBjb21taXQtZ3JhcGggY2hhaW4gZmlsZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlIGlsIGZpbGUgY2F0ZW5hIGdyYWZvIGRlaSBjb21taXQiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE1MDQKK21zZ2lkICJmYWlsZWQgdG8gcmVuYW1lIGJhc2UgY29tbWl0LWdyYXBoIGZpbGUiCittc2dzdHIgImltcG9zc2liaWxlIHJpZGVub21pbmFyZSBpbCBmaWxlIGRpIGJhc2UgZ3JhZm8gZGVpIGNvbW1pdCIKKworIzogY29tbWl0LWdyYXBoLmM6MTUyNAorbXNnaWQgImZhaWxlZCB0byByZW5hbWUgdGVtcG9yYXJ5IGNvbW1pdC1ncmFwaCBmaWxlIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaWRlbm9taW5hcmUgaWwgZmlsZSB0ZW1wb3JhbmVvIGdyYWZvIGRlaSBjb21taXQiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE2MzUKK21zZ2lkICJTY2FubmluZyBtZXJnZWQgY29tbWl0cyIKK21zZ3N0ciAiU2NhbnNpb25lIGRlaSBjb21taXQgc290dG9wb3N0aSBhIG1lcmdlIGluIGNvcnNvIgorCisjOiBjb21taXQtZ3JhcGguYzoxNjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZHVwbGljYXRlIGNvbW1pdCBpZCAlcyIKK21zZ3N0ciAiSUQgY29tbWl0IGR1cGxpY2F0byBpbmF0dGVzbzogJXMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE2NzAKK21zZ2lkICJNZXJnaW5nIGNvbW1pdC1ncmFwaCIKK21zZ3N0ciAiTWVyZ2UgZGVsIGdyYWZvIGRlaSBjb21taXQgaW4gY29yc28iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGNvbW1pdCBncmFwaCBmb3JtYXQgY2Fubm90IHdyaXRlICVkIGNvbW1pdHMiCittc2dzdHIgIiIKKyJpbCBmb3JtYXRvIGRlbCBncmFmbyBkZWkgY29tbWl0IG5vbiBwdcOyIGVzc2VyZSB1c2F0byBwZXIgc2NyaXZlcmUgJWQgY29tbWl0IgorCisjOiBjb21taXQtZ3JhcGguYzoxODcxCittc2dpZCAidG9vIG1hbnkgY29tbWl0cyB0byB3cml0ZSBncmFwaCIKK21zZ3N0ciAidHJvcHBpIGNvbW1pdCBkYSBzY3JpdmVyZSBuZWwgZ3JhZm8iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE5NjEKK21zZ2lkICJ0aGUgY29tbWl0LWdyYXBoIGZpbGUgaGFzIGluY29ycmVjdCBjaGVja3N1bSBhbmQgaXMgbGlrZWx5IGNvcnJ1cHQiCittc2dzdHIgIiIKKyJpbCBmaWxlIGRlbCBncmFmbyBkZWkgY29tbWl0IGhhIHVuIGNoZWNrc3VtIG5vbiBjb3JyZXR0byBlIHByb2JhYmlsbWVudGUgw6ggIgorImNvcnJvdHRvIgorCisjOiBjb21taXQtZ3JhcGguYzoxOTcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBoYXMgaW5jb3JyZWN0IE9JRCBvcmRlcjogJXMgdGhlbiAlcyIKK21zZ3N0ciAiaWwgZ3JhZm8gZGVpIGNvbW1pdCBoYSB1biBvcmRpbmUgT0lEIG5vbiBjb3JyZXR0bzogJXMgc2VndWl0byBkYSAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTk4MSBjb21taXQtZ3JhcGguYzoxOTk2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBoYXMgaW5jb3JyZWN0IGZhbm91dCB2YWx1ZTogZmFub3V0WyVkXSA9ICV1ICE9ICV1IgorbXNnc3RyICIiCisiaWwgZ3JhZm8gZGVpIGNvbW1pdCBoYSB1biB2YWxvcmUgZmFub3V0IG5vbiBjb3JyZXR0bzogZmFub3V0WyVkXSA9ICV1ICE9ICV1IgorCisjOiBjb21taXQtZ3JhcGguYzoxOTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb21taXQgJXMgZnJvbSBjb21taXQtZ3JhcGgiCittc2dzdHIgImltcG9zc2liaWxlIGFuYWxpenphcmUgaWwgY29tbWl0ICVzIG5lbCBncmFmbyBkZWkgY29tbWl0IgorCisjOiBjb21taXQtZ3JhcGguYzoyMDA2Cittc2dpZCAiVmVyaWZ5aW5nIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICJWZXJpZmljYSBkZWkgY29tbWl0IG5lbCBncmFmbyBkZWkgY29tbWl0IGluIGNvcnNvIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDIwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb21taXQgJXMgZnJvbSBvYmplY3QgZGF0YWJhc2UgZm9yIGNvbW1pdC1ncmFwaCIKK21zZ3N0ciAiIgorImltcG9zc2liaWxlIGFuYWxpenphcmUgaWwgY29tbWl0ICVzIGRhbCBkYXRhYmFzZSBvZ2dldHRpIHBlciBpbCBncmFmbyBkZWkgIgorImNvbW1pdCIKKworIzogY29tbWl0LWdyYXBoLmM6MjAyNworIywgYy1mb3JtYXQKK21zZ2lkICJyb290IHRyZWUgT0lEIGZvciBjb21taXQgJXMgaW4gY29tbWl0LWdyYXBoIGlzICVzICE9ICVzIgorbXNnc3RyICIiCisibCdPSUQgZGVsbCdhbGJlcm8gcmFkaWNlIHBlciBpbCBjb21taXQgJXMgbmVsIGdyYWZvIGRlaSBjb21taXQgw6ggJXMgIT0gJXMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIHBhcmVudCBsaXN0IGZvciBjb21taXQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgImwnZWxlbmNvIGdlbml0b3JpIG5lbCBncmFmbyBkZWkgY29tbWl0IHBlciBpbCBjb21taXQgJXMgw6ggdHJvcHBvIGx1bmdvIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBwYXJlbnQgZm9yICVzIGlzICVzICE9ICVzIgorbXNnc3RyICJpbCBnZW5pdG9yZSBuZWwgZ3JhZm8gZGVpIGNvbW1pdCBwZXIgJXMgw6ggJXMgIT0gJXMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIHBhcmVudCBsaXN0IGZvciBjb21taXQgJXMgdGVybWluYXRlcyBlYXJseSIKK21zZ3N0ciAiIgorImwnZWxlbmNvIGdlbml0b3JpIG5lbCBncmFmbyBkZWkgY29tbWl0IHBlciBpbCBjb21taXQgJXMgw6ggZmluaXRvIHByaW1hIGRlbCAiCisicHJldmlzdG8iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvbW1pdC1ncmFwaCBoYXMgZ2VuZXJhdGlvbiBudW1iZXIgemVybyBmb3IgY29tbWl0ICVzLCBidXQgbm9uLXplcm8gZWxzZXdoZXJlIgorbXNnc3RyICIiCisiaWwgZ3JhZm8gZGVpIGNvbW1pdCBoYSB1biBudW1lcm8gZ2VuZXJhemlvbmUgemVybyBwZXIgaWwgY29tbWl0ICVzIG1hIG5vbiAiCisicGFyaSBhIHplcm8gcGVyIGdsaSBhbHRyaSIKKworIzogY29tbWl0LWdyYXBoLmM6MjA2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY29tbWl0LWdyYXBoIGhhcyBub24temVybyBnZW5lcmF0aW9uIG51bWJlciBmb3IgY29tbWl0ICVzLCBidXQgemVybyBlbHNld2hlcmUiCittc2dzdHIgIiIKKyJpbCBncmFmbyBkZWkgY29tbWl0IGhhIHVuIG51bWVybyBnZW5lcmF6aW9uZSBub24gcGFyaSBhIHplcm8gcGVyIGlsIGNvbW1pdCAiCisiJXMgbWEgcGFyaSBhIHplcm8gcGVyIGdsaSBhbHRyaSIKKworIzogY29tbWl0LWdyYXBoLmM6MjA4MworIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggZ2VuZXJhdGlvbiBmb3IgY29tbWl0ICVzIGlzICV1ICE9ICV1IgorbXNnc3RyICJpbCBudW1lcm8gZ2VuZXJhemlvbmUgbmVsIGdyYWZvIGRlaSBjb21taXQgcGVyIGlsIGNvbW1pdCAlcyDDqCAldSAhPSAldSIKKworIzogY29tbWl0LWdyYXBoLmM6MjA4OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQgZGF0ZSBmb3IgY29tbWl0ICVzIGluIGNvbW1pdC1ncmFwaCBpcyAlPFBSSXVNQVg+ICE9ICU8UFJJdU1BWD4iCittc2dzdHIgIiIKKyJsYSBkYXRhIHBlciBpbCBjb21taXQgJXMgbmVsIGdyYWZvIGRlaSBjb21taXQgw6ggJTxQUkl1TUFYPiAhPSAlPFBSSXVNQVg+IgorCiAjOiBjb21wYXQvb2JzdGFjay5jOjQwNiBjb21wYXQvb2JzdGFjay5jOjQwOAogbXNnaWQgIm1lbW9yeSBleGhhdXN0ZWQiCiBtc2dzdHIgIm1lbW9yaWEgZXNhdXJpdGEiCiAKLSM6IGNvbm5lY3RlZC5jOjM5Ci1tc2dpZCAiQ291bGQgbm90IHJ1biAnZ2l0IHJldi1saXN0JyIKLW1zZ3N0ciAiTm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBlc2VndWlyZSAnZ2l0LXJldi1saXN0JyIKLQotIzogY29ubmVjdGVkLmM6NDgKKyM6IGNvbmZpZy5jOjEyNAogIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgd3JpdGUgdG8gcmV2LWxpc3Q6ICVzIgotbXNnc3RyICJzY3JpdHR1cmEgbmVsbGEgcmV2LWxpc3Qgbm9uIHJpdXNjaXRhOiAlcyIKLQotIzogY29ubmVjdGVkLmM6NTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW46ICVzIgorbXNnaWQgIiIKKyJleGNlZWRlZCBtYXhpbXVtIGluY2x1ZGUgZGVwdGggKCVkKSB3aGlsZSBpbmNsdWRpbmdcbiIKKyJcdCVzXG4iCisiZnJvbVxuIgorIlx0JXNcbiIKKyJUaGlzIG1pZ2h0IGJlIGR1ZSB0byBjaXJjdWxhciBpbmNsdWRlcy4iCiBtc2dzdHIgIiIKKyJwcm9mb25kaXTDoCBtYXNzaW1hIGRpIGluY2x1c2lvbmUgKCVkKSBzdXBlcmF0YSBkdXJhbnRlIGwnaW5jbHVzaW9uZSBkaVxuIgorIlx0JXNcbiIKKyJkYVxuIgorIlx0JXNcbiIKKyJDacOyIHB1w7IgZXNzZXJlIGRvdnV0byBhIGRlbGxlIGluY2x1c2lvbmkgY2lyY29sYXJpLiIKIAotIzogZGF0ZS5jOjk1CisjOiBjb25maWcuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGV4cGFuZCBpbmNsdWRlIHBhdGggJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZXNwYW5kZXJlIGlsIHBlcmNvcnNvIGRpIGluY2x1c2lvbmUgJyVzJyIKKworIzogY29uZmlnLmM6MTUxCittc2dpZCAicmVsYXRpdmUgY29uZmlnIGluY2x1ZGVzIG11c3QgY29tZSBmcm9tIGZpbGVzIgorbXNnc3RyICJsZSBpbmNsdXNpb25pIGNvbmZpZ3VyYXppb25lIHJlbGF0aXZlIGRldm9ubyBwcm92ZW5pcmUgZGEgZmlsZSIKKworIzogY29uZmlnLmM6MTk3Cittc2dpZCAicmVsYXRpdmUgY29uZmlnIGluY2x1ZGUgY29uZGl0aW9uYWxzIG11c3QgY29tZSBmcm9tIGZpbGVzIgorbXNnc3RyICIiCisiaSBjb25kaXppb25hbGkgZGkgaW5jbHVzaW9uZSBjb25maWd1cmF6aW9uZSByZWxhdGl2aSBkZXZvbm8gcHJvdmVuaXJlIGRhIGZpbGUiCisKKyM6IGNvbmZpZy5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXkgZG9lcyBub3QgY29udGFpbiBhIHNlY3Rpb246ICVzIgorbXNnc3RyICJsYSBjaGlhdmUgbm9uIGNvbnRpZW5lIHVuYSBzZXppb25lOiAlcyIKKworIzogY29uZmlnLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgImtleSBkb2VzIG5vdCBjb250YWluIHZhcmlhYmxlIG5hbWU6ICVzIgorbXNnc3RyICJsYSBjaGlhdmUgbm9uIGNvbnRpZW5lIHVuIG5vbWUgdmFyaWFiaWxlOiAlcyIKKworIzogY29uZmlnLmM6NDA2IHNlcXVlbmNlci5jOjI1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBrZXk6ICVzIgorbXNnc3RyICJjaGlhdmUgbm9uIHZhbGlkYTogJXMiCisKKyM6IGNvbmZpZy5jOjQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGtleSAobmV3bGluZSk6ICVzIgorbXNnc3RyICJjaGlhdmUgbm9uIHZhbGlkYSAobnVvdmEgcmlnYSk6ICVzIgorCisjOiBjb25maWcuYzo0NDggY29uZmlnLmM6NDYwCisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIGNvbmZpZyBwYXJhbWV0ZXI6ICVzIgorbXNnc3RyICJwYXJhbWV0cm8gY29uZmlndXJhemlvbmUgZml0dGl6aW86ICVzIgorCisjOiBjb25maWcuYzo0OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9ndXMgZm9ybWF0IGluICVzIgorbXNnc3RyICJmb3JtYXRvIGZpdHRpemlvIGluICVzIgorCisjOiBjb25maWcuYzo4MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGJsb2IgJXMiCittc2dzdHIgInJpZ2EgY29uZmlndXJhemlvbmUgJWQgZXJyYXRhIG5lbCBibG9iICVzIgorCisjOiBjb25maWcuYzo4MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGZpbGUgJXMiCittc2dzdHIgInJpZ2EgY29uZmlndXJhemlvbmUgJWQgZXJyYXRhIG5lbCBmaWxlICVzIgorCisjOiBjb25maWcuYzo4MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN0YW5kYXJkIGlucHV0IgorbXNnc3RyICJyaWdhIGNvbmZpZ3VyYXppb25lICVkIGVycmF0YSBuZWxsbyBzdGFuZGFyZCBpbnB1dCIKKworIzogY29uZmlnLmM6ODMzCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdWJtb2R1bGUtYmxvYiAlcyIKK21zZ3N0ciAicmlnYSBjb25maWd1cmF6aW9uZSAlZCBlcnJhdGEgbmVsIGJsb2Igc290dG9tb2R1bG8gJXMiCisKKyM6IGNvbmZpZy5jOjgzNworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gY29tbWFuZCBsaW5lICVzIgorbXNnc3RyICJyaWdhIGNvbmZpZ3VyYXppb25lICVkIGVycmF0YSBuZWxsYSByaWdhIGRpIGNvbWFuZG8gJXMiCisKKyM6IGNvbmZpZy5jOjg0MQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gJXMiCittc2dzdHIgInJpZ2EgY29uZmlndXJhemlvbmUgJWQgZXJyYXRhIGluICVzIgorCisjOiBjb25maWcuYzo5NzgKK21zZ2lkICJvdXQgb2YgcmFuZ2UiCittc2dzdHIgImZ1b3JpIGludGVydmFsbG8iCisKKyM6IGNvbmZpZy5jOjk3OAorbXNnaWQgImludmFsaWQgdW5pdCIKK21zZ3N0ciAidW5pdMOgIG5vbiB2YWxpZGEiCisKKyM6IGNvbmZpZy5jOjk3OQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJzogJXMiCittc2dzdHIgInZhbG9yZSBjb25maWd1cmF6aW9uZSBudW1lcmljbyAnJXMnIGVycmF0byBwZXIgJyVzJzogJXMiCisKKyM6IGNvbmZpZy5jOjk5OAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBibG9iICVzOiAlcyIKK21zZ3N0ciAidmFsb3JlIGNvbmZpZ3VyYXppb25lIG51bWVyaWNvICclcycgZXJyYXRvIHBlciAnJXMnIG5lbCBibG9iICVzOiAlcyIKKworIzogY29uZmlnLmM6MTAwMQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBmaWxlICVzOiAlcyIKK21zZ3N0ciAidmFsb3JlIGNvbmZpZ3VyYXppb25lIG51bWVyaWNvICclcycgZXJyYXRvIHBlciAnJXMnIG5lbCBmaWxlICVzOiAlcyIKKworIzogY29uZmlnLmM6MTAwNAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdGFuZGFyZCBpbnB1dDogJXMiCittc2dzdHIgIiIKKyJ2YWxvcmUgY29uZmlndXJhemlvbmUgbnVtZXJpY28gJyVzJyBlcnJhdG8gcGVyICclcycgbmVsbG8gc3RhbmRhcmQgaW5wdXQ6ICVzIgorCisjOiBjb25maWcuYzoxMDA3CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN1Ym1vZHVsZS1ibG9iICVzOiAlcyIKK21zZ3N0ciAiIgorInZhbG9yZSBjb25maWd1cmF6aW9uZSBudW1lcmljbyAnJXMnIGVycmF0byBwZXIgJyVzJyBuZWwgYmxvYiBzb3R0b21vZHVsbyAlczogIgorIiVzIgorCisjOiBjb25maWcuYzoxMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGNvbW1hbmQgbGluZSAlczogJXMiCittc2dzdHIgIiIKKyJ2YWxvcmUgY29uZmlndXJhemlvbmUgbnVtZXJpY28gJyVzJyBlcnJhdG8gcGVyICclcycgbmVsbGEgcmlnYSBkaSBjb21hbmRvICIKKyIlczogJXMiCisKKyM6IGNvbmZpZy5jOjEwMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gJXM6ICVzIgorbXNnc3RyICJ2YWxvcmUgY29uZmlndXJhemlvbmUgbnVtZXJpY28gJyVzJyBlcnJhdG8gcGVyICclcycgaW4gJXM6ICVzIgorCisjOiBjb25maWcuYzoxMTA4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleHBhbmQgdXNlciBkaXIgaW46ICclcyciCittc2dzdHIgImVzcGFuc2lvbmUgZGlyZWN0b3J5IHV0ZW50ZSBpbiAnJXMnIG5vbiByaXVzY2l0YSIKKworIzogY29uZmlnLmM6MTExNworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGZvciAnJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKK21zZ3N0ciAiJyVzJyBwZXIgJyVzJyBub24gw6ggdW4gdGltZXN0YW1wIHZhbGlkbyIKKworIzogY29uZmlnLmM6MTIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJhYmJyZXYgbGVuZ3RoIG91dCBvZiByYW5nZTogJWQiCittc2dzdHIgImx1bmdoZXp6YSBhYmJyZXZpYXppb25lIGZ1b3JpIGludGVydmFsbG86ICVkIgorCisjOiBjb25maWcuYzoxMjIyIGNvbmZpZy5jOjEyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHpsaWIgY29tcHJlc3Npb24gbGV2ZWwgJWQiCittc2dzdHIgImxpdmVsbG8gY29tcHJlc3Npb25lIHpsaWIgJWQgbm9uIHZhbGlkbyIKKworIzogY29uZmlnLmM6MTMyNQorbXNnaWQgImNvcmUuY29tbWVudENoYXIgc2hvdWxkIG9ubHkgYmUgb25lIGNoYXJhY3RlciIKK21zZ3N0ciAiY29yZS5jb21tZW50Q2hhciBkb3ZyZWJiZSBlc3NlcmUgY29tcG9zdG8gZGEgdW4gc29sbyBjYXJhdHRlcmUiCisKKyM6IGNvbmZpZy5jOjEzNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBtb2RlIGZvciBvYmplY3QgY3JlYXRpb246ICVzIgorbXNnc3RyICJtb2RhbGl0w6Agbm9uIHZhbGlkYSBwZXIgbGEgY3JlYXppb25lIGRpIHVuIG9nZ2V0dG86ICVzIgorCisjOiBjb25maWcuYzoxNDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCB2YWx1ZSBmb3IgJXMiCittc2dzdHIgInZhbG9yZSBtYWxmb3JtYXRvIHBlciAlcyIKKworIzogY29uZmlnLmM6MTQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgdmFsdWUgZm9yICVzOiAlcyIKK21zZ3N0ciAidmFsb3JlIG1hbGZvcm1hdG8gcGVyICVzOiAlcyIKKworIzogY29uZmlnLmM6MTQ1NworbXNnaWQgIm11c3QgYmUgb25lIG9mIG5vdGhpbmcsIG1hdGNoaW5nLCBzaW1wbGUsIHVwc3RyZWFtIG9yIGN1cnJlbnQiCittc2dzdHIgImRldidlc3NlcmUgbm90aGluZywgbWF0Y2hpbmcsIHNpbXBsZSwgdXBzdHJlYW0gbyBjdXJyZW50IgorCisjOiBjb25maWcuYzoxNTE4IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcGFjayBjb21wcmVzc2lvbiBsZXZlbCAlZCIKK21zZ3N0ciAibGl2ZWxsbyBjb21wcmVzc2lvbmUgcGFjayAlZCBub24gdmFsaWRvIgorCisjOiBjb25maWcuYzoxNjM5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBsb2FkIGNvbmZpZyBibG9iIG9iamVjdCAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBjYXJpY2FyZSBsJ29nZ2V0dG8gYmxvYiBjb25maWd1cmF6aW9uZSAnJXMnIgorCisjOiBjb25maWcuYzoxNjQyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSAnJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgYmxvYiIKK21zZ3N0ciAiaWwgcmlmZXJpbWVudG8gJyVzJyBub24gcHVudGEgYWQgdW4gYmxvYiIKKworIzogY29uZmlnLmM6MTY1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSBjb25maWcgYmxvYiAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaXNvbHZlcmUgaWwgYmxvYiBjb25maWd1cmF6aW9uZSAnJXMnIgorCisjOiBjb25maWcuYzoxNjg5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiYW5hbGlzaSBkaSAlcyBub24gcml1c2NpdGEiCisKKyM6IGNvbmZpZy5jOjE3NDUKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWFuZC1saW5lIGNvbmZpZyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSBsYSBjb25maWd1cmF6aW9uZSBhIHJpZ2EgZGkgY29tYW5kbyIKKworIzogY29uZmlnLmM6MjA5NgorbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKK21zZ3N0ciAiIgorInNpIMOoIHZlcmlmaWNhdG8gdW4gZXJyb3JlIGltcHJldmlzdG8gZHVyYW50ZSBsYSBsZXR0dXJhIGRlaSBmaWxlIGRpICIKKyJjb25maWd1cmF6aW9uZSIKKworIzogY29uZmlnLmM6MjI2NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkICVzOiAnJXMnIgorbXNnc3RyICIlcyBub24gdmFsaWRvOiAnJXMnIgorCisjOiBjb25maWcuYzoyMzExCisjLCBjLWZvcm1hdAorbXNnaWQgInNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSB2YWx1ZSAnJWQnIHNob3VsZCBiZSBiZXR3ZWVuIDAgYW5kIDEwMCIKK21zZ3N0ciAiIgorImlsIHZhbG9yZSBzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2UgJyVkJyBkb3ZyZWJiZSBlc3NlcmUgY29tcHJlc28gZnJhIDAgZSAiCisiMTAwIgorCisjOiBjb25maWcuYzoyMzU3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSAnJXMnIGZyb20gY29tbWFuZC1saW5lIGNvbmZpZyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSAnJXMnIGRhbGxhIGNvbmZpZ3VyYXppb25lIGEgcmlnYSBkaSBjb21hbmRvIgorCisjOiBjb25maWcuYzoyMzU5CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb25maWcgdmFyaWFibGUgJyVzJyBpbiBmaWxlICclcycgYXQgbGluZSAlZCIKK21zZ3N0ciAidmFyaWFiaWxlIGNvbmZpZ3VyYXppb25lICclcycgZXJyYXRhIG5lbCBmaWxlICclcycgYWxsYSByaWdhICVkIgorCisjOiBjb25maWcuYzoyNDQwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2VjdGlvbiBuYW1lICclcyciCittc2dzdHIgIm5vbWUgc2V6aW9uZSAnJXMnIG5vbiB2YWxpZG8iCisKKyM6IGNvbmZpZy5jOjI0NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG11bHRpcGxlIHZhbHVlcyIKK21zZ3N0ciAiJXMgaGEgcGnDuSB2YWxvcmkiCisKKyM6IGNvbmZpZy5jOjI1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIG5ldyBjb25maWd1cmF0aW9uIGZpbGUgJXMiCittc2dzdHIgInNjcml0dHVyYSBkZWwgbnVvdm8gZmlsZSBkaSBjb25maWd1cmF6aW9uZSAlcyBub24gcml1c2NpdGEiCisKKyM6IGNvbmZpZy5jOjI3NTMgY29uZmlnLmM6MzA3NworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgbG9jayBjb25maWcgZmlsZSAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYmxvY2NhcmUgaWwgZmlsZSBkaSBjb25maWd1cmF6aW9uZSAlcyIKKworIzogY29uZmlnLmM6Mjc2NAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuaW5nICVzIgorbXNnc3RyICJhcGVydHVyYSBkaSAlcyBpbiBjb3JzbyIKKworIzogY29uZmlnLmM6Mjc5OSBidWlsdGluL2NvbmZpZy5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHBhdHRlcm46ICVzIgorbXNnc3RyICJwYXR0ZXJuIG5vbiB2YWxpZG86ICVzIgorCisjOiBjb25maWcuYzoyODI0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29uZmlnIGZpbGUgJXMiCittc2dzdHIgImZpbGUgZGkgY29uZmlndXJhemlvbmUgJXMgbm9uIHZhbGlkbyIKKworIzogY29uZmlnLmM6MjgzNyBjb25maWcuYzozMDkwCisjLCBjLWZvcm1hdAorbXNnaWQgImZzdGF0IG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiZnN0YXQgZGkgJXMgbm9uIHJpdXNjaXRhIgorCisjOiBjb25maWcuYzoyODQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBtbWFwICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIG1tYXAgc3UgJyVzJyIKKworIzogY29uZmlnLmM6Mjg1NyBjb25maWcuYzozMDk1CisjLCBjLWZvcm1hdAorbXNnaWQgImNobW9kIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiZXNlY3V6aW9uZSBjaG1vZCBzdSAlcyBub24gcml1c2NpdGEiCisKKyM6IGNvbmZpZy5jOjI5NDIgY29uZmlnLmM6MzE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgY29uZmlnIGZpbGUgJXMiCittc2dzdHIgImltcG9zc2liaWxlIHNjcml2ZXJlIGlsIGZpbGUgZGkgY29uZmlndXJhemlvbmUgJXMiCisKKyM6IGNvbmZpZy5jOjI5NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHNldCAnJXMnIHRvICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGltcG9zdGFyZSAnJXMnIGEgJyVzJyIKKworIzogY29uZmlnLmM6Mjk3OCBidWlsdGluL3JlbW90ZS5jOjc4MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdW5zZXQgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZWxpbWluYXJlIGwnaW1wb3N0YXppb25lIGRpICclcyciCisKKyM6IGNvbmZpZy5jOjMwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzZWN0aW9uIG5hbWU6ICVzIgorbXNnc3RyICJub21lIHNlemlvbmUgbm9uIHZhbGlkbzogJXMiCisKKyM6IGNvbmZpZy5jOjMyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyB2YWx1ZSBmb3IgJyVzJyIKK21zZ3N0ciAidmFsb3JlIG1hbmNhbnRlIHBlciAnJXMnIgorCisjOiBjb25uZWN0LmM6NjEKK21zZ2lkICJ0aGUgcmVtb3RlIGVuZCBodW5nIHVwIHVwb24gaW5pdGlhbCBjb250YWN0IgorbXNnc3RyICIiCisibGEgY29udHJvcGFydGUgcmVtb3RhIGhhIGNoaXVzbyBsYSBjb25uZXNzaW9uZSBkdXJhbnRlIGlsIGNvbnRhdHRvIGluaXppYWxlIgorCisjOiBjb25uZWN0LmM6NjMKK21zZ2lkICIiCisiQ291bGQgbm90IHJlYWQgZnJvbSByZW1vdGUgcmVwb3NpdG9yeS5cbiIKKyJcbiIKKyJQbGVhc2UgbWFrZSBzdXJlIHlvdSBoYXZlIHRoZSBjb3JyZWN0IGFjY2VzcyByaWdodHNcbiIKKyJhbmQgdGhlIHJlcG9zaXRvcnkgZXhpc3RzLiIKK21zZ3N0ciAiIgorIkltcG9zc2liaWxlIGxlZ2dlcmUgZGFsIHJlcG9zaXRvcnkgcmVtb3RvLlxuIgorIlxuIgorIkFzc2ljdXJhdGkgZGkgZGlzcG9ycmUgZGVpIHByaXZpbGVnaSBkJ2FjY2Vzc28gY29ycmV0dGlcbiIKKyJlIGNoZSBpbCByZXBvc2l0b3J5IGVzaXN0YS4iCisKKyM6IGNvbm5lY3QuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXJ2ZXIgZG9lc24ndCBzdXBwb3J0ICclcyciCittc2dzdHIgImlsIHNlcnZlciBub24gc3VwcG9ydGEgJyVzJyIKKworIzogY29ubmVjdC5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICJzZXJ2ZXIgZG9lc24ndCBzdXBwb3J0IGZlYXR1cmUgJyVzJyIKK21zZ3N0ciAiaWwgc2VydmVyIG5vbiBzdXBwb3J0YSBsYSBmdW56aW9uYWxpdMOgICclcyciCisKKyM6IGNvbm5lY3QuYzoxMTQKK21zZ2lkICJleHBlY3RlZCBmbHVzaCBhZnRlciBjYXBhYmlsaXRpZXMiCittc2dzdHIgImF0dGVzbyBmbHVzaCBkb3BvIGxldHR1cmEgZnVuemlvbmFsaXTDoCIKKworIzogY29ubmVjdC5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyBjYXBhYmlsaXRpZXMgYWZ0ZXIgZmlyc3QgbGluZSAnJXMnIgorbXNnc3RyICJpZ25vcm8gbGUgZnVuemlvbmFsaXTDoCBkb3BvIGxhIHByaW1hIHJpZ2EgJyVzJyIKKworIzogY29ubmVjdC5jOjI1MgorbXNnaWQgInByb3RvY29sIGVycm9yOiB1bmV4cGVjdGVkIGNhcGFiaWxpdGllc157fSIKK21zZ3N0ciAiZXJyb3JlIHByb3RvY29sbG86IGNhcGFiaWxpdGllc157fSBub24gYXR0ZXNvIgorCisjOiBjb25uZWN0LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgInByb3RvY29sIGVycm9yOiBleHBlY3RlZCBzaGFsbG93IHNoYS0xLCBnb3QgJyVzJyIKK21zZ3N0ciAiZXJyb3JlIHByb3RvY29sbG86IGF0dGVzbyBTSEExIHNoYWxsb3csIHJpY2V2dXRvICclcyciCisKKyM6IGNvbm5lY3QuYzoyNzUKK21zZ2lkICJyZXBvc2l0b3J5IG9uIHRoZSBvdGhlciBlbmQgY2Fubm90IGJlIHNoYWxsb3ciCittc2dzdHIgImlsIHJlcG9zaXRvcnkgZGVsbGEgY29udHJvcGFydGUgbm9uIHB1w7IgZXNzZXJlIHNoYWxsb3ciCisKKyM6IGNvbm5lY3QuYzozMTMKK21zZ2lkICJpbnZhbGlkIHBhY2tldCIKK21zZ3N0ciAicGFjY2hldHRvIG5vbiB2YWxpZG8iCisKKyM6IGNvbm5lY3QuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJvdG9jb2wgZXJyb3I6IHVuZXhwZWN0ZWQgJyVzJyIKK21zZ3N0ciAiZXJyb3JlIHByb3RvY29sbG86ICclcycgbm9uIGF0dGVzbyIKKworIzogY29ubmVjdC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGxzLXJlZnMgcmVzcG9uc2U6ICVzIgorbXNnc3RyICJyaXNwb3N0YSBscy1yZWZzIG5vbiB2YWxpZGE6ICVzIgorCisjOiBjb25uZWN0LmM6NDQ1Cittc2dpZCAiZXhwZWN0ZWQgZmx1c2ggYWZ0ZXIgcmVmIGxpc3RpbmciCittc2dzdHIgImF0dGVzbyBmbHVzaCBkb3BvIGVsZW5jbyByZWYiCisKKyM6IGNvbm5lY3QuYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJvdG9jb2wgJyVzJyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJpbCBwcm90b2NvbGxvICclcycgbm9uIMOoIHN1cHBvcnRhdG8iCisKKyM6IGNvbm5lY3QuYzo1OTUKK21zZ2lkICJ1bmFibGUgdG8gc2V0IFNPX0tFRVBBTElWRSBvbiBzb2NrZXQiCittc2dzdHIgImltcG9zc2liaWxlIGltcG9zdGFyZSBTT19LRUVQQUxJVkUgc3VsIHNvY2tldCIKKworIzogY29ubmVjdC5jOjYzNSBjb25uZWN0LmM6Njk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkxvb2tpbmcgdXAgJXMgLi4uICIKK21zZ3N0ciAiUmlzb2x1emlvbmUgZGkgJXMgaW4gY29yc28uLi4gIgorCisjOiBjb25uZWN0LmM6NjM5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBsb29rIHVwICVzIChwb3J0ICVzKSAoJXMpIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaXNvbHZlcmUgJXMgKHBvcnRhICVzKSAoJXMpIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBpcyB0aGUgZW5kIG9mICJMb29raW5nIHVwICVzIC4uLiAiCisjOiBjb25uZWN0LmM6NjQzIGNvbm5lY3QuYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImRvbmUuXG4iCisiQ29ubmVjdGluZyB0byAlcyAocG9ydCAlcykgLi4uICIKK21zZ3N0ciAiIgorImZhdHRvLlxuIgorIkNvbm5lc3Npb25lIGEgJXMgKHBvcnRhICVzKSBpbiBjb3Jzby4uLiAiCisKKyM6IGNvbm5lY3QuYzo2NjUgY29ubmVjdC5jOjc0MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidW5hYmxlIHRvIGNvbm5lY3QgdG8gJXM6XG4iCisiJXMiCittc2dzdHIgIiIKKyJpbXBvc3NpYmlsZSBjb2xsZWdhcnNpIGEgJXM6XG4iCisiJXMiCisKKyMuIFRSQU5TTEFUT1JTOiB0aGlzIGlzIHRoZSBlbmQgb2YgIkNvbm5lY3RpbmcgdG8gJXMgKHBvcnQgJXMpIC4uLiAiCisjOiBjb25uZWN0LmM6NjcxIGNvbm5lY3QuYzo3NDgKK21zZ2lkICJkb25lLiIKK21zZ3N0ciAiZmF0dG8uIgorCisjOiBjb25uZWN0LmM6NzAyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBsb29rIHVwICVzICglcykiCittc2dzdHIgImltcG9zc2liaWxlIHJpc29sdmVyZSAlcyAoJXMpIgorCisjOiBjb25uZWN0LmM6NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcG9ydCAlcyIKK21zZ3N0ciAicG9ydGEgJXMgc2Nvbm9zY2l1dGEiCisKKyM6IGNvbm5lY3QuYzo4NDUgY29ubmVjdC5jOjExNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RyYW5nZSBob3N0bmFtZSAnJXMnIGJsb2NrZWQiCittc2dzdHIgIm5vbWUgaG9zdCBzdHJhbm8gJyVzJyBibG9jY2F0byIKKworIzogY29ubmVjdC5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJzdHJhbmdlIHBvcnQgJyVzJyBibG9ja2VkIgorbXNnc3RyICJwb3J0YSBzdHJhbmEgJyVzJyBibG9jY2F0YSIKKworIzogY29ubmVjdC5jOjg1NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhcnQgcHJveHkgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGF2dmlhcmUgaWwgcHJveHkgJXMiCisKKyM6IGNvbm5lY3QuYzo5MjgKK21zZ2lkICJubyBwYXRoIHNwZWNpZmllZDsgc2VlICdnaXQgaGVscCBwdWxsJyBmb3IgdmFsaWQgdXJsIHN5bnRheCIKK21zZ3N0ciAiIgorIm5lc3N1biBwZXJjb3JzbyBzcGVjaWZpY2F0bzsgdmVkZXJlICdnaXQgaGVscCBwdWxsJyBwZXIgbGUgc2ludGFzc2kgVVJMICIKKyJ2YWxpZGUiCisKKyM6IGNvbm5lY3QuYzoxMTIzCittc2dpZCAic3NoIHZhcmlhbnQgJ3NpbXBsZScgZG9lcyBub3Qgc3VwcG9ydCAtNCIKK21zZ3N0ciAibGEgdmFyaWFudGUgU1NIICdzaW1wbGUnIG5vbiBzdXBwb3J0YSAtNCIKKworIzogY29ubmVjdC5jOjExMzUKK21zZ2lkICJzc2ggdmFyaWFudCAnc2ltcGxlJyBkb2VzIG5vdCBzdXBwb3J0IC02IgorbXNnc3RyICJsYSB2YXJpYW50ZSBTU0ggJ3NpbXBsZScgbm9uIHN1cHBvcnRhIC02IgorCisjOiBjb25uZWN0LmM6MTE1MgorbXNnaWQgInNzaCB2YXJpYW50ICdzaW1wbGUnIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyBwb3J0IgorbXNnc3RyICJsYSB2YXJpYW50ZSBTU0ggJ3NpbXBsZScgbm9uIHN1cHBvcnRhIGwnaW1wb3N0YXppb25lIGRlbGxhIHBvcnRhIgorCisjOiBjb25uZWN0LmM6MTI2NAorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJhbmdlIHBhdGhuYW1lICclcycgYmxvY2tlZCIKK21zZ3N0ciAicGVyY29yc28gc3RyYW5vICclcycgYmxvY2NhdG8iCisKKyM6IGNvbm5lY3QuYzoxMzExCittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIGZvcmsiCisKKyM6IGNvbm5lY3RlZC5jOjg5IGJ1aWx0aW4vZnNjay5jOjIwOCBidWlsdGluL3BydW5lLmM6NDMKK21zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkiCittc2dzdHIgIkNvbnRyb2xsbyBjb25uZXNzaW9uZSBpbiBjb3JzbyIKKworIzogY29ubmVjdGVkLmM6MTAxCittc2dpZCAiQ291bGQgbm90IHJ1biAnZ2l0IHJldi1saXN0JyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgZXNlZ3VpcmUgJ2dpdC1yZXYtbGlzdCciCisKKyM6IGNvbm5lY3RlZC5jOjEyMQorbXNnaWQgImZhaWxlZCB3cml0ZSB0byByZXYtbGlzdCIKK21zZ3N0ciAic2NyaXR0dXJhIG5lbGxhIHJldi1saXN0IG5vbiByaXVzY2l0YSIKKworIzogY29ubmVjdGVkLmM6MTI4Cittc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW4iCittc2dzdHIgImNoaXVzdXJhIHN0YW5kYXJkIGlucHV0IGRlbGxhIHJldi1saXN0IG5vbiByaXVzY2l0YSIKKworIzogY29udmVydC5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGNybGZfYWN0aW9uICVkIgorbXNnc3RyICJjcmxmX2FjdGlvbiAlZCBpbGxlY2l0YSIKKworIzogY29udmVydC5jOjIwNworIywgYy1mb3JtYXQKK21zZ2lkICJDUkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IExGIGluICVzIgorbXNnc3RyICJDUkxGIHNhcmViYmUgc29zdGl0dWl0byBkYSBMRiBpbiAlcyIKKworIzogY29udmVydC5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ1JMRiB3aWxsIGJlIHJlcGxhY2VkIGJ5IExGIGluICVzLlxuIgorIlRoZSBmaWxlIHdpbGwgaGF2ZSBpdHMgb3JpZ2luYWwgbGluZSBlbmRpbmdzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiIKKyJDUkxGIHNhcsOgIHNvc3RpdHVpdG8gZGEgTEYgaW4gJXMuXG4iCisiSWwgZmlsZSBhdnLDoCBpIHN1b2kgZmluZSByaWdhIG9yaWdpbmFyaSBuZWxsYSBwcm9wcmlhIGRpcmVjdG9yeSBkaSBsYXZvcm8iCisKKyM6IGNvbnZlcnQuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTEYgd291bGQgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcyIKK21zZ3N0ciAiTEYgc2FyZWJiZSBzb3N0aXR1aXRvIGRhIENSTEYgaW4gJXMiCisKKyM6IGNvbnZlcnQuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiAlcy5cbiIKKyJUaGUgZmlsZSB3aWxsIGhhdmUgaXRzIG9yaWdpbmFsIGxpbmUgZW5kaW5ncyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICIiCisiTEYgc2Fyw6Agc29zdGl0dWl0byBkYSBDUkxGIGluICVzLlxuIgorIklsIGZpbGUgYXZyw6AgaSBzdW9pIGZpbmUgcmlnYSBvcmlnaW5hcmkgbmVsbGEgcHJvcHJpYSBkaXJlY3RvcnkgZGkgbGF2b3JvIgorCisjOiBjb252ZXJ0LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJPTSBpcyBwcm9oaWJpdGVkIGluICclcycgaWYgZW5jb2RlZCBhcyAlcyIKK21zZ3N0ciAiSWwgQk9NIMOoIHZpZXRhdG8gaW4gJyVzJyBzZSBpbCBmaWxlIMOoIGNvZGlmaWNhdG8gY29tZSAlcyIKKworIzogY29udmVydC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZpbGUgJyVzJyBjb250YWlucyBhIGJ5dGUgb3JkZXIgbWFyayAoQk9NKS4gUGxlYXNlIHVzZSBVVEYtJS4qcyBhcyAiCisid29ya2luZy10cmVlLWVuY29kaW5nLiIKK21zZ3N0ciAiIgorIklsIGZpbGUgJyVzJyBjb250aWVuZSB1biBpbmRpY2F0b3JlIGRlbGwnb3JkaW5lIGRlaSBieXRlIChCT00pLiBVc2FyZSBVVEYtIgorIiUuKnMgY29tZSBjb2RpZmljYSBkZWxsJ2FsYmVybyBkaSBsYXZvcm8uIgorCisjOiBjb252ZXJ0LmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJPTSBpcyByZXF1aXJlZCBpbiAnJXMnIGlmIGVuY29kZWQgYXMgJXMiCittc2dzdHIgIklsIEJPTSDDqCByaWNoaWVzdG8gaW4gJyVzJyBzZSBpbCBmaWxlIMOoIGNvZGlmaWNhdG8gY29tZSAlcyIKKworIzogY29udmVydC5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZpbGUgJyVzJyBpcyBtaXNzaW5nIGEgYnl0ZSBvcmRlciBtYXJrIChCT00pLiBQbGVhc2UgdXNlIFVURi0lc0JFIG9yIFVURi0iCisiJXNMRSAoZGVwZW5kaW5nIG9uIHRoZSBieXRlIG9yZGVyKSBhcyB3b3JraW5nLXRyZWUtZW5jb2RpbmcuIgorbXNnc3RyICIiCisiTmVsIGZpbGUgJyVzJyBtYW5jYSB1biBpbmRpY2F0b3JlIGRlbGwnb3JkaW5lIGRlaSBieXRlIChCT00pLiBVc2FyZSBVVEYtJXNCRSAiCisibyBVVEYtJXNMRSAoYSBzZWNvbmRhIGRlbGwnb3JkaW5lIGRlaSBieXRlKSBjb21lIGNvZGlmaWNhIGRlbGwnYWxiZXJvIGRpICIKKyJsYXZvcm8uIgorCisjOiBjb252ZXJ0LmM6NDE5IGNvbnZlcnQuYzo0OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGVuY29kZSAnJXMnIGZyb20gJXMgdG8gJXMiCittc2dzdHIgImNvbnZlcnNpb25lIGRlbGxhIGNvZGlmaWNhICclcycgZGEgJXMgYSAlcyBub24gcml1c2NpdGEiCisKKyM6IGNvbnZlcnQuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW5jb2RpbmcgJyVzJyBmcm9tICVzIHRvICVzIGFuZCBiYWNrIGlzIG5vdCB0aGUgc2FtZSIKK21zZ3N0ciAiIgorImlsIHJpc3VsdGF0byBkZWxsYSBjb2RpZmljYSBkaSAnJXMnIGRhICVzIGEgJXMgZSB2aWNldmVyc2Egbm9uIMOoIGxvIHN0ZXNzbyIKKworIzogY29udmVydC5jOjY2OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayB0byBydW4gZXh0ZXJuYWwgZmlsdGVyICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIGZvcmsgcGVyIGVzZWd1aXJlIGlsIGZpbHRybyBlc3Rlcm5vICclcyciCisKKyM6IGNvbnZlcnQuYzo2ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZlZWQgdGhlIGlucHV0IHRvIGV4dGVybmFsIGZpbHRlciAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBmb3JuaXJlIGwnaW5wdXQgYWwgZmlsdHJvIGVzdGVybm8gJyVzJyIKKworIzogY29udmVydC5jOjY5NQorIywgYy1mb3JtYXQKK21zZ2lkICJleHRlcm5hbCBmaWx0ZXIgJyVzJyBmYWlsZWQgJWQiCittc2dzdHIgImVzZWN1emlvbmUgZGVsIGZpbHRybyBlc3Rlcm5vICclcycgbm9uIHJpdXNjaXRhOiAlZCIKKworIzogY29udmVydC5jOjczMCBjb252ZXJ0LmM6NzMzCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZnJvbSBleHRlcm5hbCBmaWx0ZXIgJyVzJyBmYWlsZWQiCittc2dzdHIgImxldHR1cmEgZGFsIGZpbHRybyBlc3Rlcm5vICclcycgbm9uIHJpdXNjaXRhIgorCisjOiBjb252ZXJ0LmM6NzM2IGNvbnZlcnQuYzo3OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkIgorbXNnc3RyICJlc2VjdXppb25lIGRlbCBmaWx0cm8gZXN0ZXJubyAnJXMnIG5vbiByaXVzY2l0YSIKKworIzogY29udmVydC5jOjgzOQorbXNnaWQgInVuZXhwZWN0ZWQgZmlsdGVyIHR5cGUiCittc2dzdHIgInRpcG8gZmlsdHJvIGluYXR0ZXNvIgorCisjOiBjb252ZXJ0LmM6ODUwCittc2dpZCAicGF0aCBuYW1lIHRvbyBsb25nIGZvciBleHRlcm5hbCBmaWx0ZXIiCittc2dzdHIgIm5vbWUgcGVyY29yc28gdHJvcHBvIGx1bmdvIHBlciBpbCBmaWx0cm8gZXN0ZXJubyIKKworIzogY29udmVydC5jOjkyNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiZXh0ZXJuYWwgZmlsdGVyICclcycgaXMgbm90IGF2YWlsYWJsZSBhbnltb3JlIGFsdGhvdWdoIG5vdCBhbGwgcGF0aHMgaGF2ZSAiCisiYmVlbiBmaWx0ZXJlZCIKK21zZ3N0ciAiIgorImlsIGZpbHRybyBlc3Rlcm5vICclcycgbm9uIMOoIHBpw7kgZGlzcG9uaWJpbGUgbm9ub3N0YW50ZSBub24gdHV0dGkgaSBwZXJjb3JzaSAiCisic2lhbm8gc3RhdGkgZmlsdHJhdGkiCisKKyM6IGNvbnZlcnQuYzoxMjIzCittc2dpZCAidHJ1ZS9mYWxzZSBhcmUgbm8gdmFsaWQgd29ya2luZy10cmVlLWVuY29kaW5ncyIKK21zZ3N0ciAidHJ1ZS9mYWxzZSBub24gc29ubyBjb2RpZmljaGUgZGVsbCdhbGJlcm8gZGkgbGF2b3JvIHZhbGlkZSIKKworIzogY29udmVydC5jOjE0MTEgY29udmVydC5jOjE0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsZWFuIGZpbHRlciAnJXMnIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGVzZWN1emlvbmUgZGVsIGZpbHRybyBjbGVhbiAnJXMnIG5vbiByaXVzY2l0YSIKKworIzogY29udmVydC5jOjE0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNtdWRnZSBmaWx0ZXIgJXMgZmFpbGVkIgorbXNnc3RyICIlczogZXNlY3V6aW9uZSBkZWwgZmlsdHJvIHNtdWRnZSAnJXMnIG5vbiByaXVzY2l0YSIKKworIzogZGF0ZS5jOjEzOAogbXNnaWQgImluIHRoZSBmdXR1cmUiCiBtc2dzdHIgImluIGZ1dHVybyIKIAotIzogZGF0ZS5jOjEwMQorIzogZGF0ZS5jOjE0NAogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgc2Vjb25kIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IHNlY29uZHMgYWdvIgotbXNnc3RyWzBdICIlbHUgc2Vjb25kbyBmYSIKLW1zZ3N0clsxXSAiJWx1IHNlY29uZGkgZmEiCittc2dpZCAiJTxQUkl1TUFYPiBzZWNvbmQgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHNlY29uZHMgYWdvIgorbXNnc3RyWzBdICIlPFBSSXVNQVg+IHNlY29uZG8gZmEiCittc2dzdHJbMV0gIiU8UFJJdU1BWD4gc2Vjb25kaSBmYSIKIAotIzogZGF0ZS5jOjEwOAorIzogZGF0ZS5jOjE1MQogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgbWludXRlIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IG1pbnV0ZXMgYWdvIgotbXNnc3RyWzBdICIlbHUgdW4gbWludXRvIGZhIgotbXNnc3RyWzFdICIlbHUgbWludXRpIGZhIgorbXNnaWQgIiU8UFJJdU1BWD4gbWludXRlIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBtaW51dGVzIGFnbyIKK21zZ3N0clswXSAiJTxQUkl1TUFYPiBtaW51dG8gZmEiCittc2dzdHJbMV0gIiU8UFJJdU1BWD4gbWludXRpIGZhIgogCi0jOiBkYXRlLmM6MTE1CisjOiBkYXRlLmM6MTU4CiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSBob3VyIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IGhvdXJzIGFnbyIKLW1zZ3N0clswXSAiJWx1IG9yYSBmYSIKLW1zZ3N0clsxXSAiJWx1IG9yZSBmYSIKK21zZ2lkICIlPFBSSXVNQVg+IGhvdXIgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IGhvdXJzIGFnbyIKK21zZ3N0clswXSAiJTxQUkl1TUFYPiBvcmEgZmEiCittc2dzdHJbMV0gIiU8UFJJdU1BWD4gb3JlIGZhIgogCi0jOiBkYXRlLmM6MTIyCisjOiBkYXRlLmM6MTY1CiAjLCBjLWZvcm1hdAotbXNnaWQgIiVsdSBkYXkgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgZGF5cyBhZ28iCi1tc2dzdHJbMF0gIiVsdSBnaW9ybm8gZmEiCi1tc2dzdHJbMV0gIiVsdSBnaW9ybmkgZmEiCittc2dpZCAiJTxQUkl1TUFYPiBkYXkgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IGRheXMgYWdvIgorbXNnc3RyWzBdICIlPFBSSXVNQVg+IGdpb3JubyBmYSIKK21zZ3N0clsxXSAiJTxQUkl1TUFYPiBnaW9ybmkgZmEiCiAKLSM6IGRhdGUuYzoxMjgKKyM6IGRhdGUuYzoxNzEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IHdlZWsgYWdvIgotbXNnaWRfcGx1cmFsICIlbHUgd2Vla3MgYWdvIgotbXNnc3RyWzBdICIlbHUgc2V0dGltYW5hIGZhIgotbXNnc3RyWzFdICIlbHUgc2V0dGltYW5lIGZhIgorbXNnaWQgIiU8UFJJdU1BWD4gd2VlayBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gd2Vla3MgYWdvIgorbXNnc3RyWzBdICIlPFBSSXVNQVg+IHNldHRpbWFuYSBmYSIKK21zZ3N0clsxXSAiJTxQUkl1TUFYPiBzZXR0aW1hbmUgZmEiCiAKLSM6IGRhdGUuYzoxMzUKKyM6IGRhdGUuYzoxNzgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWx1IG1vbnRoIGFnbyIKLW1zZ2lkX3BsdXJhbCAiJWx1IG1vbnRocyBhZ28iCi1tc2dzdHJbMF0gIiVsdSBtZXNlIGZhIgotbXNnc3RyWzFdICIlbHUgbWVzaSBmYSIKK21zZ2lkICIlPFBSSXVNQVg+IG1vbnRoIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBtb250aHMgYWdvIgorbXNnc3RyWzBdICIlPFBSSXVNQVg+IG1lc2UgZmEiCittc2dzdHJbMV0gIiU8UFJJdU1BWD4gbWVzaSBmYSIKIAotIzogZGF0ZS5jOjE0NgorIzogZGF0ZS5jOjE4OQogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgeWVhciIKLW1zZ2lkX3BsdXJhbCAiJWx1IHllYXJzIgotbXNnc3RyWzBdICIlbHUgYW5ubyIKLW1zZ3N0clsxXSAiJWx1IGFubmkiCittc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIgorbXNnc3RyWzBdICIlPFBSSXVNQVg+IGFubm8iCittc2dzdHJbMV0gIiU8UFJJdU1BWD4gYW5uaSIKIAotIzogZGF0ZS5jOjE0OQorIy4gVFJBTlNMQVRPUlM6ICIlcyIgaXMgIjxuPiB5ZWFycyIKKyM6IGRhdGUuYzoxOTIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMsICVsdSBtb250aCBhZ28iCi1tc2dpZF9wbHVyYWwgIiVzLCAlbHUgbW9udGhzIGFnbyIKLW1zZ3N0clswXSAiJXMsICVsdSBtZXNlIGZhIgotbXNnc3RyWzFdICIlcywgJWx1IG1lc2kgZmEiCittc2dpZCAiJXMsICU8UFJJdU1BWD4gbW9udGggYWdvIgorbXNnaWRfcGx1cmFsICIlcywgJTxQUkl1TUFYPiBtb250aHMgYWdvIgorbXNnc3RyWzBdICIlcywgJTxQUkl1TUFYPiBtZXNlIGZhIgorbXNnc3RyWzFdICIlcywgJTxQUkl1TUFYPiBtZXNpIGZhIgogCi0jOiBkYXRlLmM6MTU0IGRhdGUuYzoxNTkKKyM6IGRhdGUuYzoxOTcgZGF0ZS5jOjIwMgogIywgYy1mb3JtYXQKLW1zZ2lkICIlbHUgeWVhciBhZ28iCi1tc2dpZF9wbHVyYWwgIiVsdSB5ZWFycyBhZ28iCi1tc2dzdHJbMF0gIiVsdSBhbm5vIGZhIgotbXNnc3RyWzFdICIlbHUgYW5uaSBmYSIKK21zZ2lkICIlPFBSSXVNQVg+IHllYXIgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIGFnbyIKK21zZ3N0clswXSAiJTxQUkl1TUFYPiBhbm5vIGZhIgorbXNnc3RyWzFdICIlPFBSSXVNQVg+IGFubmkgZmEiCiAKLSM6IGRpZmYuYzoxMDUKKyM6IGRlbHRhLWlzbGFuZHMuYzoyNzIKK21zZ2lkICJQcm9wYWdhdGluZyBpc2xhbmQgbWFya3MiCittc2dzdHIgIlByb3BhZ2F6aW9uZSBjb250cmFzc2VnbmkgaXNvbGUgaW4gY29yc28iCisKKyM6IGRlbHRhLWlzbGFuZHMuYzoyOTAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyUuKnMnXG4iCittc2dpZCAiYmFkIHRyZWUgb2JqZWN0ICVzIgorbXNnc3RyICJvZ2dldHRvIGFsYmVybyAlcyBub24gdmFsaWRvIgorCisjOiBkZWx0YS1pc2xhbmRzLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBsb2FkIGlzbGFuZCByZWdleCBmb3IgJyVzJzogJXMiCiBtc2dzdHIgIiIKKyJjYXJpY2FtZW50byBkZWxsJ2VzcHJlc3Npb25lIHJlZ29sYXJlIGRlbGwnaXNvbGEgcGVyICclcycgbm9uIHJpdXNjaXRvOiAlcyIKIAotIzogZGlmZi5jOjExMAorIzogZGVsdGEtaXNsYW5kcy5jOjM5MAogIywgYy1mb3JtYXQKLW1zZ2lkICIgIFVua25vd24gZGlyc3RhdCBwYXJhbWV0ZXIgJyUuKnMnXG4iCi1tc2dzdHIgIiAgUGFyYW1ldHJvIGRpcnN0YXQgJyUuKnMnIHNjb25vc2NpdXRvXG4iCittc2dpZCAiaXNsYW5kIHJlZ2V4IGZyb20gY29uZmlnIGhhcyB0b28gbWFueSBjYXB0dXJlIGdyb3VwcyAobWF4PSVkKSIKK21zZ3N0ciAiIgorImwnZXNwcmVzc2lvbmUgcmVnb2xhcmUgZGVsbCdpc29sYSB0cmF0dGEgZGFsbGEgY29uZmlndXJhemlvbmUgaGEgdHJvcHBpICIKKyJncnVwcGkgY2F0dHVyYSAobWFzc2ltbz0lZCkiCiAKLSM6IGRpZmYuYzoyMTAKKyM6IGRlbHRhLWlzbGFuZHMuYzo0NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWFya2VkICVkIGlzbGFuZHMsIGRvbmUuXG4iCittc2dzdHIgIkNvbnRyYXNzZWduYXRlICVkIGlzb2xlLCBmYXR0by5cbiIKKworIzogZGlmZmNvcmUtb3JkZXIuYzoyNAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBvcmRlcmZpbGUgJyVzJyIKK21zZ3N0ciAibGV0dHVyYSBkZWxsJ29yZGVyZmlsZSAnJXMnIG5vbiByaXVzY2l0YSIKKworIzogZGlmZmNvcmUtcmVuYW1lLmM6NTQzCittc2dpZCAiUGVyZm9ybWluZyBpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24iCittc2dzdHIgIlJpbGV2YW1lbnRvIHJpZGVub21pbmF6aW9uZSBub24gZXNhdHRhIGluIGNvcnNvIgorCisjOiBkaWZmLW5vLWluZGV4LmM6MjM4Cittc2dpZCAiZ2l0IGRpZmYgLS1uby1pbmRleCBbPG9wdGlvbnM+XSA8cGF0aD4gPHBhdGg+IgorbXNnc3RyICJnaXQgZGlmZiAtLW5vLWluZGV4IFs8b3B6aW9uaT5dIDxwZXJjb3Jzbz4gPHBlcmNvcnNvPiIKKworIzogZGlmZi1uby1pbmRleC5jOjI2MworbXNnaWQgIiIKKyJOb3QgYSBnaXQgcmVwb3NpdG9yeS4gVXNlIC0tbm8taW5kZXggdG8gY29tcGFyZSB0d28gcGF0aHMgb3V0c2lkZSBhIHdvcmtpbmcgIgorInRyZWUiCittc2dzdHIgIiIKKyJOb24gw6ggdW4gcmVwb3NpdG9yeSBHaXQuIFVzYSAtLW5vLWluZGV4IHBlciBjb25mcm9udGFyZSBkdWUgcGVyY29yc2kgYWwgZGkgIgorImZ1b3JpIGRpIHVuIGFsYmVybyBkaSBsYXZvcm8iCisKKyM6IGRpZmYuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyVzJ1xuIgorbXNnc3RyICIiCisiICBBbmFsaXNpIGRlbGxhIHBlcmNlbnR1YWxlIGRpIGN1dG9mZiBzdGF0aXN0aWNoZSBkaXJlY3RvcnkgJyVzJyBub24gIgorInJpdXNjaXRhXG4iCisKKyM6IGRpZmYuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBVbmtub3duIGRpcnN0YXQgcGFyYW1ldGVyICclcydcbiIKK21zZ3N0ciAiICBQYXJhbWV0cm8gc3RhdGlzdGljaGUgZGlyZWN0b3J5ICclcycgc2Nvbm9zY2l1dG9cbiIKKworIzogZGlmZi5jOjI5NgorbXNnaWQgIiIKKyJjb2xvciBtb3ZlZCBzZXR0aW5nIG11c3QgYmUgb25lIG9mICdubycsICdkZWZhdWx0JywgJ2Jsb2NrcycsICd6ZWJyYScsICIKKyInZGltbWVkLXplYnJhJywgJ3BsYWluJyIKK21zZ3N0ciAiIgorImwnaW1wb3N0YXppb25lIGNvbG9yZSBwZXIgZmlsZSBzcG9zdGF0aSBkZXZlIGVzc2VyZSAnbm8nLCAnZGVmYXVsdCcsICIKKyInYmxvY2tzJywgJ3plYnJhJywgJ2RpbW1lZC16ZWJyYScsICdwbGFpbiciCisKKyM6IGRpZmYuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVua25vd24gY29sb3ItbW92ZWQtd3MgbW9kZSAnJXMnLCBwb3NzaWJsZSB2YWx1ZXMgYXJlICdpZ25vcmUtc3BhY2UtY2hhbmdlJywgIgorIidpZ25vcmUtc3BhY2UtYXQtZW9sJywgJ2lnbm9yZS1hbGwtc3BhY2UnLCAnYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlJyIKK21zZ3N0ciAiIgorIm1vZGFsaXTDoCBjb2xvci1tb3ZlZC13cyAnJXMnIHNjb25vc2NpdXRhLCBpIHZhbG9yaSBwb3NzaWJpbGkgc29ubyAnaWdub3JlLSIKKyJzcGFjZS1jaGFuZ2UnLCAnaWdub3JlLXNwYWNlLWF0LWVvbCcsICdpZ25vcmUtYWxsLXNwYWNlJywgJ2FsbG93LWluZGVudGF0aW9uLSIKKyJjaGFuZ2UnIgorCisjOiBkaWZmLmM6MzMyCittc2dpZCAiIgorImNvbG9yLW1vdmVkLXdzOiBhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgIgorIndoaXRlc3BhY2UgbW9kZXMiCittc2dzdHIgIiIKKyJjb2xvci1tb3ZlZC13czogYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlIG5vbiBwdcOyIGVzc2VyZSBjb21iaW5hdGEgY29uIGFsdHJlICIKKyJtb2RhbGl0w6Agc3BhemkgYmlhbmNoaSIKKworIzogZGlmZi5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIHZhbHVlIGZvciAnZGlmZi5zdWJtb2R1bGUnIGNvbmZpZyB2YXJpYWJsZTogJyVzJyIKK21zZ3N0ciAiIgorIlZhbG9yZSBzY29ub3NjaXV0byBwZXIgbGEgdmFyaWFiaWxlIGRpIGNvbmZpZ3VyYXppb25lICdkaWZmLnN1Ym1vZHVsZSc6ICclcyciCisKKyM6IGRpZmYuYzo0NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZvdW5kIGVycm9ycyBpbiAnZGlmZi5kaXJzdGF0JyBjb25maWcgdmFyaWFibGU6XG4iCkBAIC0yMjAsMzIgKzI5MzIsMzYgQEAKICJUcm92YXRpIGVycm9yaSBuZWxsYSB2YXJpYWJpbGUgZGkgY29uZmlndXJhemlvbmUgJ2RpZmYuZGlyc3RhdCc6XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzoxNDAwCi1tc2dpZCAiIDAgZmlsZXMgY2hhbmdlZFxuIgotbXNnc3RyICIgMCBmaWxlIG1vZGlmaWNhdGlcbiIKLQotIzogZGlmZi5jOjE0MDQKKyM6IGRpZmYuYzo0MjAyCiAjLCBjLWZvcm1hdAotbXNnaWQgIiAlZCBmaWxlIGNoYW5nZWQiCi1tc2dpZF9wbHVyYWwgIiAlZCBmaWxlcyBjaGFuZ2VkIgotbXNnc3RyWzBdICIgJWQgZmlsZSBtb2RpZmljYXRvIgotbXNnc3RyWzFdICIgJWQgZmlsZSBtb2RpZmljYXRpIgorbXNnaWQgImV4dGVybmFsIGRpZmYgZGllZCwgc3RvcHBpbmcgYXQgJXMiCittc2dzdHIgInByb2Nlc3NvIGVzdGVybm8gZGlmZiBtb3J0bywgbWkgZmVybW8gYSAlcyIKIAotIzogZGlmZi5jOjE0MjEKKyM6IGRpZmYuYzo0NTQ3Cittc2dpZCAiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKyJsZSBvcHppb25pIC0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIGUgLXMgc29ubyBtdXR1YW1lbnRlIGVzY2x1c2l2ZSIKKworIzogZGlmZi5jOjQ1NTAKK21zZ2lkICItRywgLVMgYW5kIC0tZmluZC1vYmplY3QgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAibGUgb3B6aW9uaSAtRywgLVMgZSAtLWZpbmQtb2JqZWN0IHNvbm8gbXV0dWFtZW50ZSBlc2NsdXNpdmUiCisKKyM6IGRpZmYuYzo0NjI4Cittc2dpZCAiLS1mb2xsb3cgcmVxdWlyZXMgZXhhY3RseSBvbmUgcGF0aHNwZWMiCittc2dzdHIgIi0tZm9sbG93IHJpY2hpZWRlIGVzYXR0YW1lbnRlIHVubyBzcGVjaWZpY2F0b3JlIHBlcmNvcnNvIgorCisjOiBkaWZmLmM6NDY3NgogIywgYy1mb3JtYXQKLW1zZ2lkICIsICVkIGluc2VydGlvbigrKSIKLW1zZ2lkX3BsdXJhbCAiLCAlZCBpbnNlcnRpb25zKCspIgotbXNnc3RyWzBdICIsICVkIGluc2VyemlvbmUoKykiCi1tc2dzdHJbMV0gIiwgJWQgaW5zZXJ6aW9uaSgrKSIKK21zZ2lkICJpbnZhbGlkIC0tc3RhdCB2YWx1ZTogJXMiCittc2dzdHIgInZhbG9yZSBub24gdmFsaWRvIHBlciAtLXN0YXQ6ICVzIgogCi0jOiBkaWZmLmM6MTQzMgorIzogZGlmZi5jOjQ2ODEgZGlmZi5jOjQ2ODYgZGlmZi5jOjQ2OTEgZGlmZi5jOjQ2OTYgZGlmZi5jOjUyMDkKKyM6IHBhcnNlLW9wdGlvbnMuYzoxOTkgcGFyc2Utb3B0aW9ucy5jOjIwMwogIywgYy1mb3JtYXQKLW1zZ2lkICIsICVkIGRlbGV0aW9uKC0pIgotbXNnaWRfcGx1cmFsICIsICVkIGRlbGV0aW9ucygtKSIKLW1zZ3N0clswXSAiLiAlZCByaW1vemlvbmUoLSkiCi1tc2dzdHJbMV0gIiwgJWQgcmltb3ppb25pKC0pIgorbXNnaWQgIiVzIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCittc2dzdHIgIiVzIHJpY2hpZWRlIHVuIHZhbG9yZSBudW1lcmljbyIKIAotIzogZGlmZi5jOjM0NzgKKyM6IGRpZmYuYzo0NzEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCkBAIC0yNTQsNDMgKzI5NzAsOTc3IEBACiAiQW5hbGlzaSBkZWwgcGFyYW1ldHJvIGRlbGwnb3B6aW9uZSAtLWRpcnN0YXQvLVggbm9uIHJpdXNjaXRhOlxuIgogIiVzIgogCi0jOiBncGctaW50ZXJmYWNlLmM6NTkKLW1zZ2lkICJjb3VsZCBub3QgcnVuIGdwZy4iCi1tc2dzdHIgIm5vbiDDqCBzdGF0byBwb3NzaWJpbGUgZXNlZ3VpcmUgZ3BnLiIKKyM6IGRpZmYuYzo0Nzk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2hhbmdlIGNsYXNzICclYycgaW4gLS1kaWZmLWZpbHRlcj0lcyIKK21zZ3N0ciAiY2xhc3NlIG1vZGlmaWNhICclYycgc2Nvbm9zY2l1dGEgaW4gLS1kaWZmLWZpbHRlcj0lcyIKIAotIzogZ3BnLWludGVyZmFjZS5jOjcxCi1tc2dpZCAiZ3BnIGRpZCBub3QgYWNjZXB0IHRoZSBkYXRhIgotbXNnc3RyICJncGcgbm9uIGhhIGFjY2V0dGF0byBpIGRhdGkiCisjOiBkaWZmLmM6NDgyMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHZhbHVlIGFmdGVyIHdzLWVycm9yLWhpZ2hsaWdodD0lLipzIgorbXNnc3RyICJ2YWxvcmUgc2Nvbm9zY2l1dG8gZG9wbyB3cy1lcnJvci1oaWdobGlnaHQ9JS4qcyIKIAotIzogZ3BnLWludGVyZmFjZS5jOjgyCisjOiBkaWZmLmM6NDgzNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaXNvbHZlcmUgJyVzJyIKKworIzogZGlmZi5jOjQ4ODYgZGlmZi5jOjQ4OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhwZWN0cyA8bj4vPG0+IGZvcm0iCittc2dzdHIgIiVzIHJpY2hpZWRlIGlsIGZvcm1hdG8gPG4+LzxtPiIKKworIzogZGlmZi5jOjQ5MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhwZWN0cyBhIGNoYXJhY3RlciwgZ290ICclcyciCittc2dzdHIgIiVzIHJpY2hpZWRlIHVuIGNhcmF0dGVyZSwgcmljZXZ1dG8gJyVzJyIKKworIzogZGlmZi5jOjQ5MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIC0tY29sb3ItbW92ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmdvbWVudG8gLS1jb2xvci1tb3ZlZCBlcnJhdG86ICVzIgorCisjOiBkaWZmLmM6NDk0NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG1vZGUgJyVzJyBpbiAtLWNvbG9yLW1vdmVkLXdzIgorbXNnc3RyICJtb2RvIG5vbiB2YWxpZG8gJyVzJyBpbiAtLWNvbG9yLW1vdmVkLXdzIgorCisjOiBkaWZmLmM6NDk4NAorbXNnaWQgIiIKKyJvcHRpb24gZGlmZi1hbGdvcml0aG0gYWNjZXB0cyBcIm15ZXJzXCIsIFwibWluaW1hbFwiLCBcInBhdGllbmNlXCIgYW5kICIKKyJcImhpc3RvZ3JhbVwiIgorbXNnc3RyICIiCisibCdvcHppb25lIGRpZmYtYWxnb3JpdGhtIGFjY2V0dGEgaSB2YWxvcmkgXCJteWVyc1wiLCBcIm1pbmltYWxcIiwgXCJwYXRpZW5jZSIKKyJcIiBlIFwiaGlzdG9ncmFtXCIiCisKKyM6IGRpZmYuYzo1MDIwIGRpZmYuYzo1MDQwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gJXMiCittc2dzdHIgImFyZ29tZW50byBub24gdmFsaWRvIHBlciAlcyIKKworIzogZGlmZi5jOjUxNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgImFuYWxpc2kgZGVsIHBhcmFtZXRybyBkZWxsJ29wemlvbmUgLS1zdWJtb2R1bGUgbm9uIHJpdXNjaXRhOiAnJXMnIgorCisjOiBkaWZmLmM6NTIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgLS13b3JkLWRpZmYgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmdvbWVudG8gLS13b3JkLWRpZmYgZXJyYXRvOiAlcyIKKworIzogZGlmZi5jOjUyNTcKK21zZ2lkICJEaWZmIG91dHB1dCBmb3JtYXQgb3B0aW9ucyIKK21zZ3N0ciAiT3B6aW9uaSBmb3JtYXRvIG91dHB1dCBkaWZmIgorCisjOiBkaWZmLmM6NTI1OSBkaWZmLmM6NTI2NQorbXNnaWQgImdlbmVyYXRlIHBhdGNoIgorbXNnc3RyICJnZW5lcmEgcGF0Y2giCisKKyM6IGRpZmYuYzo1MjYyIGJ1aWx0aW4vbG9nLmM6MTczCittc2dpZCAic3VwcHJlc3MgZGlmZiBvdXRwdXQiCittc2dzdHIgIm5vbiB2aXN1YWxpenphcmUgbCdvdXRwdXQgZGVsIGRpZmYiCisKKyM6IGRpZmYuYzo1MjY3IGRpZmYuYzo1MzgxIGRpZmYuYzo1Mzg4Cittc2dpZCAiPG4+IgorbXNnc3RyICI8bj4iCisKKyM6IGRpZmYuYzo1MjY4IGRpZmYuYzo1MjcxCittc2dpZCAiZ2VuZXJhdGUgZGlmZnMgd2l0aCA8bj4gbGluZXMgY29udGV4dCIKK21zZ3N0ciAiZ2VuZXJhIGRpZmYgY29uIDxuPiByaWdoZSBkaSBjb250ZXN0byIKKworIzogZGlmZi5jOjUyNzMKK21zZ2lkICJnZW5lcmF0ZSB0aGUgZGlmZiBpbiByYXcgZm9ybWF0IgorbXNnc3RyICJnZW5lcmEgaWwgZGlmZiBpbiBmb3JtYXRvIGdyZXp6byIKKworIzogZGlmZi5jOjUyNzYKK21zZ2lkICJzeW5vbnltIGZvciAnLXAgLS1yYXcnIgorbXNnc3RyICJzaW5vbmltbyBkaSAnLXAgLS1yYXcnIgorCisjOiBkaWZmLmM6NTI4MAorbXNnaWQgInN5bm9ueW0gZm9yICctcCAtLXN0YXQnIgorbXNnc3RyICJzaW5vbmltbyBkaSAnLXAgLS1zdGF0JyIKKworIzogZGlmZi5jOjUyODQKK21zZ2lkICJtYWNoaW5lIGZyaWVuZGx5IC0tc3RhdCIKK21zZ3N0ciAiLS1zdGF0IGxlZ2dpYmlsZSBkYSB1bmEgbWFjY2hpbmEiCisKKyM6IGRpZmYuYzo1Mjg3Cittc2dpZCAib3V0cHV0IG9ubHkgdGhlIGxhc3QgbGluZSBvZiAtLXN0YXQiCittc2dzdHIgImVtZXR0aSBpbiBvdXRwdXQgc29sbyBsJ3VsdGltYSByaWdhIGRpIC0tc3RhdCIKKworIzogZGlmZi5jOjUyODkgZGlmZi5jOjUyOTcKK21zZ2lkICI8cGFyYW0xLHBhcmFtMj4uLi4iCittc2dzdHIgIjxwYXJhbWV0cm8xLHBhcmFtZXRybzI+Li4uIgorCisjOiBkaWZmLmM6NTI5MAorbXNnaWQgIiIKKyJvdXRwdXQgdGhlIGRpc3RyaWJ1dGlvbiBvZiByZWxhdGl2ZSBhbW91bnQgb2YgY2hhbmdlcyBmb3IgZWFjaCBzdWItZGlyZWN0b3J5IgorbXNnc3RyICIiCisiZW1ldHRpIGluIG91dHB1dCBsYSBkaXN0cmlidXppb25lIGRlbCBudW1lcm8gZGkgbW9kaWZpY2hlIHJlbGF0aXZvIGEgb2duaSAiCisic290dG9kaXJlY3RvcnkiCisKKyM6IGRpZmYuYzo1Mjk0Cittc2dpZCAic3lub255bSBmb3IgLS1kaXJzdGF0PWN1bXVsYXRpdmUiCittc2dzdHIgInNpbm9uaW1vIGRpIC0tZGlyc3RhdD1jdW11bGF0aXZlIgorCisjOiBkaWZmLmM6NTI5OAorbXNnaWQgInN5bm9ueW0gZm9yIC0tZGlyc3RhdD1maWxlcyxwYXJhbTEscGFyYW0yLi4uIgorbXNnc3RyICJzaW5vbmltbyBkaSAtLWRpcnN0YXQ9ZmlsZXMscGFyYW1ldHJvMSxwYXJhbWV0cm8yLi4uIgorCisjOiBkaWZmLmM6NTMwMgorbXNnaWQgIndhcm4gaWYgY2hhbmdlcyBpbnRyb2R1Y2UgY29uZmxpY3QgbWFya2VycyBvciB3aGl0ZXNwYWNlIGVycm9ycyIKK21zZ3N0ciAiIgorImF2dmlzYSBzZSBsZSBtb2RpZmljaGUgaW50cm9kdWNvbm8gbWFyY2F0b3JpIGNvbmZsaXR0byBvIGVycm9yaSBzcGF6aSBiaWFuY2hpIgorCisjOiBkaWZmLmM6NTMwNQorbXNnaWQgImNvbmRlbnNlZCBzdW1tYXJ5IHN1Y2ggYXMgY3JlYXRpb25zLCByZW5hbWVzIGFuZCBtb2RlIGNoYW5nZXMiCittc2dzdHIgIiIKKyJyaWFzc3VudG8gY29uY2lzbyAoYWQgZXMuIGVsZW1lbnRpIGNyZWF0aSwgcmlkZW5vbWluYXRpIGUgbW9kaWZpY2hlIG1vZGkpIgorCisjOiBkaWZmLmM6NTMwOAorbXNnaWQgInNob3cgb25seSBuYW1lcyBvZiBjaGFuZ2VkIGZpbGVzIgorbXNnc3RyICJ2aXN1YWxpenphIHNvbG8gaSBub21pIGRlaSBmaWxlIG1vZGlmaWNhdGkiCisKKyM6IGRpZmYuYzo1MzExCittc2dpZCAic2hvdyBvbmx5IG5hbWVzIGFuZCBzdGF0dXMgb2YgY2hhbmdlZCBmaWxlcyIKK21zZ3N0ciAidmlzdWFsaXp6YSBzb2xvIGkgbm9taSBlIGxvIHN0YXRvIGRlaSBmaWxlIG1vZGlmaWNhdGkiCisKKyM6IGRpZmYuYzo1MzEzCittc2dpZCAiPHdpZHRoPlssPG5hbWUtd2lkdGg+Wyw8Y291bnQ+XV0iCittc2dzdHIgIjxhbXBpZXp6YT5bLDxhbXBpZXp6YSBub21lPlssPG51bWVybz5dXSIKKworIzogZGlmZi5jOjUzMTQKK21zZ2lkICJnZW5lcmF0ZSBkaWZmc3RhdCIKK21zZ3N0ciAiZ2VuZXJhIGRpZmZzdGF0IgorCisjOiBkaWZmLmM6NTMxNiBkaWZmLmM6NTMxOSBkaWZmLmM6NTMyMgorbXNnaWQgIjx3aWR0aD4iCittc2dzdHIgIjxhbXBpZXp6YT4iCisKKyM6IGRpZmYuYzo1MzE3Cittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBhIGdpdmVuIHdpZHRoIgorbXNnc3RyICJnZW5lcmEgaWwgZGlmZnN0YXQgY29uIHVuJ2FtcGllenphIHNwZWNpZmljYXRhIgorCisjOiBkaWZmLmM6NTMyMAorbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggYSBnaXZlbiBuYW1lIHdpZHRoIgorbXNnc3RyICJnZW5lcmEgaWwgZGlmZnN0YXQgY29uIHVuJ2FtcGllenphIG5vbWkgc3BlY2lmaWNhdGEiCisKKyM6IGRpZmYuYzo1MzIzCittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBhIGdpdmVuIGdyYXBoIHdpZHRoIgorbXNnc3RyICJnZW5lcmEgaWwgZGlmZnN0YXQgY29uIHVuJ2FtcGllenphIGdyYWZvIHNwZWNpZmljYXRhIgorCisjOiBkaWZmLmM6NTMyNQorbXNnaWQgIjxjb3VudD4iCittc2dzdHIgIjxudW1lcm8+IgorCisjOiBkaWZmLmM6NTMyNgorbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggbGltaXRlZCBsaW5lcyIKK21zZ3N0ciAiZ2VuZXJhIGlsIGRpZmZzdGF0IGNvbiByaWdoZSBsaW1pdGF0ZSIKKworIzogZGlmZi5jOjUzMjkKK21zZ2lkICJnZW5lcmF0ZSBjb21wYWN0IHN1bW1hcnkgaW4gZGlmZnN0YXQiCittc2dzdHIgImdlbmVyYSByaWFzc3VudG8gY29uY2lzbyBuZWwgZGlmZnN0YXQiCisKKyM6IGRpZmYuYzo1MzMyCittc2dpZCAib3V0cHV0IGEgYmluYXJ5IGRpZmYgdGhhdCBjYW4gYmUgYXBwbGllZCIKK21zZ3N0ciAic3RhbXBhIGluIG91dHB1dCB1biBkaWZmIGJpbmFyaW8gY2hlIHB1w7IgZXNzZXJlIGFwcGxpY2F0byIKKworIzogZGlmZi5jOjUzMzUKK21zZ2lkICJzaG93IGZ1bGwgcHJlLSBhbmQgcG9zdC1pbWFnZSBvYmplY3QgbmFtZXMgb24gdGhlIFwiaW5kZXhcIiBsaW5lcyIKK21zZ3N0ciAidmlzdWFsaXp6YSBpIG5vbWkgb2dnZXR0byBwcmUgZSBwb3N0IGltbWFnaW5lIG5lbGxlIHJpZ2hlIFwiaW5kaWNlXCIiCisKKyM6IGRpZmYuYzo1MzM3Cittc2dpZCAic2hvdyBjb2xvcmVkIGRpZmYiCittc2dzdHIgInZpc3VhbGl6emEgZGlmZiBjb2xvcmF0byIKKworIzogZGlmZi5jOjUzMzgKK21zZ2lkICI8a2luZD4iCittc2dzdHIgIjx0aXBvPiIKKworIzogZGlmZi5jOjUzMzkKK21zZ2lkICIiCisiaGlnaGxpZ2h0IHdoaXRlc3BhY2UgZXJyb3JzIGluIHRoZSAnY29udGV4dCcsICdvbGQnIG9yICduZXcnIGxpbmVzIGluIHRoZSAiCisiZGlmZiIKK21zZ3N0ciAiIgorImV2aWRlbnppYSBnbGkgZXJyb3JpIGRpIHNwYXppIGJpYW5jaGkgbmVsbGUgcmlnaGUgJ2NvbnRlc3RvJywgJ3ZlY2NoaWUnIG8gIgorIidudW92ZScgbmVsIGRpZmYiCisKKyM6IGRpZmYuYzo1MzQyCittc2dpZCAiIgorImRvIG5vdCBtdW5nZSBwYXRobmFtZXMgYW5kIHVzZSBOVUxzIGFzIG91dHB1dCBmaWVsZCB0ZXJtaW5hdG9ycyBpbiAtLXJhdyBvciAiCisiLS1udW1zdGF0IgorbXNnc3RyICIiCisibm9uIHJpbXVvdmVyZSBpIG5vbWkgcGVyY29yc28gZSB1c2FyZSBjYXJhdHRlcmkgTlVMIGNvbWUgdGVybWluYXRvcmkgY2FtcG8gIgorImluIC0tcmF3IG8gLS1udW1zdGF0IgorCisjOiBkaWZmLmM6NTM0NSBkaWZmLmM6NTM0OCBkaWZmLmM6NTM1MSBkaWZmLmM6NTQ1NworbXNnaWQgIjxwcmVmaXg+IgorbXNnc3RyICI8cHJlZmlzc28+IgorCisjOiBkaWZmLmM6NTM0NgorbXNnaWQgInNob3cgdGhlIGdpdmVuIHNvdXJjZSBwcmVmaXggaW5zdGVhZCBvZiBcImEvXCIiCittc2dzdHIgInZpc3VhbGl6emEgaWwgcHJlZmlzc28gc29yZ2VudGUgc3BlY2lmaWNhdG8gaW52ZWNlIGRpIFwiYS9cIiIKKworIzogZGlmZi5jOjUzNDkKK21zZ2lkICJzaG93IHRoZSBnaXZlbiBkZXN0aW5hdGlvbiBwcmVmaXggaW5zdGVhZCBvZiBcImIvXCIiCittc2dzdHIgInZpc3VhbGl6emEgaWwgcHJlZmlzc28gZGVzdGluYXppb25lIHNwZWNpZmljYXRvIGludmVjZSBkaSBcImIvXCIiCisKKyM6IGRpZmYuYzo1MzUyCittc2dpZCAicHJlcGVuZCBhbiBhZGRpdGlvbmFsIHByZWZpeCB0byBldmVyeSBsaW5lIG9mIG91dHB1dCIKK21zZ3N0ciAiYW50ZXBvbmkgdW4gcHJlZmlzc28gYWdnaXVudGl2byBhZCBvZ25pIHJpZ2EgZGVsbCdvdXRwdXQiCisKKyM6IGRpZmYuYzo1MzU1Cittc2dpZCAiZG8gbm90IHNob3cgYW55IHNvdXJjZSBvciBkZXN0aW5hdGlvbiBwcmVmaXgiCittc2dzdHIgIm5vbiB2aXN1YWxpenphcmUgYWxjdW4gcHJlZmlzc28gc29yZ2VudGUgbyBkZXN0aW5hemlvbmUiCisKKyM6IGRpZmYuYzo1MzU4Cittc2dpZCAic2hvdyBjb250ZXh0IGJldHdlZW4gZGlmZiBodW5rcyB1cCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBsaW5lcyIKK21zZ3N0ciAiIgorInZpc3VhbGl6emEgaWwgY29udGVzdG8gdHJhIGdsaSBodW5rIGRlbCBkaWZmIGZpbm8gYWwgbnVtZXJvIGRpIHJpZ2hlICIKKyJzcGVjaWZpY2F0byIKKworIzogZGlmZi5jOjUzNjIgZGlmZi5jOjUzNjcgZGlmZi5jOjUzNzIKK21zZ2lkICI8Y2hhcj4iCittc2dzdHIgIjxjYXJhdHRlcmU+IgorCisjOiBkaWZmLmM6NTM2MworbXNnaWQgInNwZWNpZnkgdGhlIGNoYXJhY3RlciB0byBpbmRpY2F0ZSBhIG5ldyBsaW5lIGluc3RlYWQgb2YgJysnIgorbXNnc3RyICJzcGVjaWZpY2EgaWwgY2FyYXR0ZXJlIGNoZSBpbmRpY2EgdW5hIG51b3ZhIHJpZ2EgYWwgcG9zdG8gZGkgJysnIgorCisjOiBkaWZmLmM6NTM2OAorbXNnaWQgInNwZWNpZnkgdGhlIGNoYXJhY3RlciB0byBpbmRpY2F0ZSBhbiBvbGQgbGluZSBpbnN0ZWFkIG9mICctJyIKK21zZ3N0ciAic3BlY2lmaWNhIGlsIGNhcmF0dGVyZSBjaGUgaW5kaWNhIHVuYSB2ZWNjaGlhIHJpZ2EgYWwgcG9zdG8gZGkgJy0nIgorCisjOiBkaWZmLmM6NTM3MworbXNnaWQgInNwZWNpZnkgdGhlIGNoYXJhY3RlciB0byBpbmRpY2F0ZSBhIGNvbnRleHQgaW5zdGVhZCBvZiAnICciCittc2dzdHIgInNwZWNpZmljYSBpbCBjYXJhdHRlcmUgY2hlIGluZGljYSB1biBjb250ZXN0byBhbCBwb3N0byBkaSAnICciCisKKyM6IGRpZmYuYzo1Mzc2Cittc2dpZCAiRGlmZiByZW5hbWUgb3B0aW9ucyIKK21zZ3N0ciAiT3B6aW9uaSByaW5vbWluYXppb25lIGRpZmYiCisKKyM6IGRpZmYuYzo1Mzc3Cittc2dpZCAiPG4+Wy88bT5dIgorbXNnc3RyICI8bj5bLzxtPl0iCisKKyM6IGRpZmYuYzo1Mzc4Cittc2dpZCAiYnJlYWsgY29tcGxldGUgcmV3cml0ZSBjaGFuZ2VzIGludG8gcGFpcnMgb2YgZGVsZXRlIGFuZCBjcmVhdGUiCittc2dzdHIgIiIKKyJzcGV6emEgbW9kaWZpY2hlIGRpIHJpc2NyaXR0dXJhIGNvbXBsZXRhIGluIGNvcHBpZSBlbGltaW5hemlvbmUvY3JlYXppb25lIgorCisjOiBkaWZmLmM6NTM4MgorbXNnaWQgImRldGVjdCByZW5hbWVzIgorbXNnc3RyICJyaWxldmEgbGUgcmlkZW5vbWluYXppb25pIgorCisjOiBkaWZmLmM6NTM4NgorbXNnaWQgIm9taXQgdGhlIHByZWltYWdlIGZvciBkZWxldGVzIgorbXNnc3RyICJvbWV0dGkgbGEgcHJlaW1tYWdpbmUgcGVyIGxlIGVsaW1pbmF6aW9uaSIKKworIzogZGlmZi5jOjUzODkKK21zZ2lkICJkZXRlY3QgY29waWVzIgorbXNnc3RyICJyaWxldmEgbGUgY29waWUiCisKKyM6IGRpZmYuYzo1MzkzCittc2dpZCAidXNlIHVubW9kaWZpZWQgZmlsZXMgYXMgc291cmNlIHRvIGZpbmQgY29waWVzIgorbXNnc3RyICJ1c2EgZmlsZSBub24gbW9kaWZpY2F0aSBjb21lIHNvcmdlbnRlIHBlciB0cm92YXJlIGNvcGllIgorCisjOiBkaWZmLmM6NTM5NQorbXNnaWQgImRpc2FibGUgcmVuYW1lIGRldGVjdGlvbiIKK21zZ3N0ciAiZGlzYWJpbGl0YSByaWxldmFtZW50byByaWRlbm9taW5hemlvbmUiCisKKyM6IGRpZmYuYzo1Mzk4Cittc2dpZCAidXNlIGVtcHR5IGJsb2JzIGFzIHJlbmFtZSBzb3VyY2UiCittc2dzdHIgInVzYSBibG9iIHZ1b3RpIGNvbWUgc29yZ2VudGUgcmlkZW5vbWluYXppb25lIgorCisjOiBkaWZmLmM6NTQwMAorbXNnaWQgImNvbnRpbnVlIGxpc3RpbmcgdGhlIGhpc3Rvcnkgb2YgYSBmaWxlIGJleW9uZCByZW5hbWVzIgorbXNnc3RyICIiCisiY29udGludWEgYSBlbGVuY2FyZSBsYSBjcm9ub2xvZ2lhIGRpIHVuIGZpbGUgYWwgZGkgbMOgIGRlbGxlIHJpZGVub21pbmF6aW9uaSIKKworIzogZGlmZi5jOjU0MDMKK21zZ2lkICIiCisicHJldmVudCByZW5hbWUvY29weSBkZXRlY3Rpb24gaWYgdGhlIG51bWJlciBvZiByZW5hbWUvY29weSB0YXJnZXRzIGV4Y2VlZHMgIgorImdpdmVuIGxpbWl0IgorbXNnc3RyICIiCisiaW1wZWRpc2NpIGlsIHJpbGV2YW1lbnRvIHJpZGVub21pbmF6aW9uZS9jb3BpYSBzZSBpbCBudW1lcm8gZGVsbGUgIgorImRlc3RpbmF6aW9uaSByaWRlbm9taW5hemlvbmUvY29waWEgZWNjZWRlIGlsIGxpbWl0ZSBzcGVjaWZpY2F0byIKKworIzogZGlmZi5jOjU0MDUKK21zZ2lkICJEaWZmIGFsZ29yaXRobSBvcHRpb25zIgorbXNnc3RyICJPcHppb25pIGFsZ29yaXRtbyBkaWZmIgorCisjOiBkaWZmLmM6NTQwNworbXNnaWQgInByb2R1Y2UgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIGRpZmYiCittc2dzdHIgInByb2R1Y2kgaWwgZGlmZiBwacO5IHBpY2NvbG8gcG9zc2liaWxlIgorCisjOiBkaWZmLmM6NTQxMAorbXNnaWQgImlnbm9yZSB3aGl0ZXNwYWNlIHdoZW4gY29tcGFyaW5nIGxpbmVzIgorbXNnc3RyICJpZ25vcmEgZ2xpIHNwYXppIGJpYW5jaGkgZHVyYW50ZSBpbCBjb25mcm9udG8gZGVsbGUgcmlnaGUiCisKKyM6IGRpZmYuYzo1NDEzCittc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gYW1vdW50IG9mIHdoaXRlc3BhY2UiCittc2dzdHIgImlnbm9yYSBsZSBtb2RpZmljaGUgYWwgbnVtZXJvIGRlZ2xpIHNwYXppIGJpYW5jaGkiCisKKyM6IGRpZmYuYzo1NDE2Cittc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSBhdCBFT0wiCittc2dzdHIgImlnbm9yYSBtb2RpZmljaGUgYWdsaSBzcGF6aSBiaWFuY2hpIGEgZmluZSByaWdhIgorCisjOiBkaWZmLmM6NTQxOQorbXNnaWQgImlnbm9yZSBjYXJyaWVyLXJldHVybiBhdCB0aGUgZW5kIG9mIGxpbmUiCittc2dzdHIgImlnbm9yYSBjYXJhdHRlcmUgcml0b3JubyBhIGNhcG8gYSBmaW5lIHJpZ2EiCisKKyM6IGRpZmYuYzo1NDIyCittc2dpZCAiaWdub3JlIGNoYW5nZXMgd2hvc2UgbGluZXMgYXJlIGFsbCBibGFuayIKK21zZ3N0ciAiaWdub3JhIG1vZGlmaWNoZSBjaGUgcmlndWFyZGFubyBzb2xvIHJpZ2hlIHZ1b3RlIgorCisjOiBkaWZmLmM6NTQyNQorbXNnaWQgImhldXJpc3RpYyB0byBzaGlmdCBkaWZmIGh1bmsgYm91bmRhcmllcyBmb3IgZWFzeSByZWFkaW5nIgorbXNnc3RyICIiCisiZXVyaXN0aWNhIHBlciBzcG9zdGFyZSBpIGxpbWl0aSBkZWdsaSBodW5rIG5lbCBkaWZmIHBlciB1bmEgbGV0dHVyYSBhZ2V2b2xlIgorCisjOiBkaWZmLmM6NTQyOAorbXNnaWQgImdlbmVyYXRlIGRpZmYgdXNpbmcgdGhlIFwicGF0aWVuY2UgZGlmZlwiIGFsZ29yaXRobSIKK21zZ3N0ciAiZ2VuZXJhIGlsIGRpZmYgdXNhbmRvIGwnYWxnb3JpdG1vIFwicGF0aWVuY2UgZGlmZlwiIgorCisjOiBkaWZmLmM6NTQzMgorbXNnaWQgImdlbmVyYXRlIGRpZmYgdXNpbmcgdGhlIFwiaGlzdG9ncmFtIGRpZmZcIiBhbGdvcml0aG0iCittc2dzdHIgImdlbmVyYSBpbCBkaWZmIHVzYW5kbyBsJ2FsZ29yaXRtbyBcImhpc3RvZ3JhbSBkaWZmXCIiCisKKyM6IGRpZmYuYzo1NDM0Cittc2dpZCAiPGFsZ29yaXRobT4iCittc2dzdHIgIjxhbGdvcml0bW8+IgorCisjOiBkaWZmLmM6NTQzNQorbXNnaWQgImNob29zZSBhIGRpZmYgYWxnb3JpdGhtIgorbXNnc3RyICJzZWxlemlvbmEgdW4gYWxnb3JpdG1vIGRpZmYiCisKKyM6IGRpZmYuYzo1NDM3Cittc2dpZCAiPHRleHQ+IgorbXNnc3RyICI8dGVzdG8+IgorCisjOiBkaWZmLmM6NTQzOAorbXNnaWQgImdlbmVyYXRlIGRpZmYgdXNpbmcgdGhlIFwiYW5jaG9yZWQgZGlmZlwiIGFsZ29yaXRobSIKK21zZ3N0ciAiZ2VuZXJhIGlsIGRpZmYgdXNhbmRvIGwnYWxnb3JpdG1vIFwiYW5jaG9yZWQgZGlmZlwiIgorCisjOiBkaWZmLmM6NTQ0MCBkaWZmLmM6NTQ0OSBkaWZmLmM6NTQ1MgorbXNnaWQgIjxtb2RlPiIKK21zZ3N0ciAiPG1vZGFsaXTDoD4iCisKKyM6IGRpZmYuYzo1NDQxCittc2dpZCAic2hvdyB3b3JkIGRpZmYsIHVzaW5nIDxtb2RlPiB0byBkZWxpbWl0IGNoYW5nZWQgd29yZHMiCittc2dzdHIgIiIKKyJ2aXN1YWxpenphIGlsIGRpZmYgcGFyb2xhIHBlciBwYXJvbGEgdXNhbmRvIDxtb2RhbGl0w6A+IHBlciBkZWxpbWl0YXJlIGxlICIKKyJwYXJvbGUgbW9kaWZpY2F0ZSIKKworIzogZGlmZi5jOjU0NDMgZGlmZi5jOjU0NDYgZGlmZi5jOjU0OTEKK21zZ2lkICI8cmVnZXg+IgorbXNnc3RyICI8ZXNwcmVzc2lvbmUgcmVnb2xhcmU+IgorCisjOiBkaWZmLmM6NTQ0NAorbXNnaWQgInVzZSA8cmVnZXg+IHRvIGRlY2lkZSB3aGF0IGEgd29yZCBpcyIKK21zZ3N0ciAidXNhIDxlc3ByZXNzaW9uZSByZWdvbGFyZT4gcGVyIGRlY2lkZXJlIGNvc2EgY29zdGl0dWlzY2UgdW5hIHBhcm9sYSIKKworIzogZGlmZi5jOjU0NDcKK21zZ2lkICJlcXVpdmFsZW50IHRvIC0td29yZC1kaWZmPWNvbG9yIC0td29yZC1kaWZmLXJlZ2V4PTxyZWdleD4iCittc2dzdHIgIiIKKyJlcXVpdmFsZW50ZSBkaSAtLXdvcmQtZGlmZj1jb2xvciAtLXdvcmQtZGlmZi1yZWdleD08ZXNwcmVzc2lvbmUgcmVnb2xhcmU+IgorCisjOiBkaWZmLmM6NTQ1MAorbXNnaWQgIm1vdmVkIGxpbmVzIG9mIGNvZGUgYXJlIGNvbG9yZWQgZGlmZmVyZW50bHkiCittc2dzdHIgImxlIHJpZ2hlIGRpIGNvZGljZSBzcG9zdGF0ZSBzb25vIGNvbG9yYXRlIGluIG1vZG8gZGl2ZXJzbyIKKworIzogZGlmZi5jOjU0NTMKK21zZ2lkICJob3cgd2hpdGUgc3BhY2VzIGFyZSBpZ25vcmVkIGluIC0tY29sb3ItbW92ZWQiCittc2dzdHIgIm1vZG8gaW4gY3VpIHNvbm8gaWdub3JhdGkgZ2xpIHNwYXppIGJpYW5jaGkgaW4gLS1jb2xvci1tb3ZlZCIKKworIzogZGlmZi5jOjU0NTYKK21zZ2lkICJPdGhlciBkaWZmIG9wdGlvbnMiCittc2dzdHIgIkFsdHJlIG9wemlvbmkgZGlmZiIKKworIzogZGlmZi5jOjU0NTgKK21zZ2lkICJ3aGVuIHJ1biBmcm9tIHN1YmRpciwgZXhjbHVkZSBjaGFuZ2VzIG91dHNpZGUgYW5kIHNob3cgcmVsYXRpdmUgcGF0aHMiCittc2dzdHIgIiIKKyJzZSBlc2VndWl0byBkYSB1bmEgc290dG9kaXJlY3RvcnksIGVzY2x1ZGkgbGUgbW9kaWZpY2hlIGVzdGVybmUgYWQgZXNzYSBlICIKKyJ2aXN1YWxpenphIGkgcGVyY29yc2kgcmVsYXRpdmkiCisKKyM6IGRpZmYuYzo1NDYyCittc2dpZCAidHJlYXQgYWxsIGZpbGVzIGFzIHRleHQiCittc2dzdHIgInRyYXR0YSB0dXR0aSBpIGZpbGUgY29tZSBzZSBmb3NzZXJvIGRpIHRlc3RvIgorCisjOiBkaWZmLmM6NTQ2NAorbXNnaWQgInN3YXAgdHdvIGlucHV0cywgcmV2ZXJzZSB0aGUgZGlmZiIKK21zZ3N0ciAic2NhbWJpYSBpIGR1ZSBpbnB1dCwgZ2VuZXJhIHVuIGRpZmYgYWwgY29udHJhcmlvIgorCisjOiBkaWZmLmM6NTQ2NgorbXNnaWQgImV4aXQgd2l0aCAxIGlmIHRoZXJlIHdlcmUgZGlmZmVyZW5jZXMsIDAgb3RoZXJ3aXNlIgorbXNnc3RyICJlc2NpIGNvbiBjb2RpY2UgMSBzZSBjaSBzb25vIGRpZmZlcmVuemUsIGNvbiAwIGFsdHJpbWVudGkiCisKKyM6IGRpZmYuYzo1NDY4Cittc2dpZCAiZGlzYWJsZSBhbGwgb3V0cHV0IG9mIHRoZSBwcm9ncmFtIgorbXNnc3RyICJkaXNhYmlsaXRhIGwnaW50ZXJvIG91dHB1dCBkZWwgcHJvZ3JhbW1hIgorCisjOiBkaWZmLmM6NTQ3MAorbXNnaWQgImFsbG93IGFuIGV4dGVybmFsIGRpZmYgaGVscGVyIHRvIGJlIGV4ZWN1dGVkIgorbXNnc3RyICJjb25zZW50aSBsJ2VzZWN1emlvbmUgZGkgdW4gaGVscGVyIGRpZmYgZXN0ZXJubyIKKworIzogZGlmZi5jOjU0NzIKK21zZ2lkICJydW4gZXh0ZXJuYWwgdGV4dCBjb252ZXJzaW9uIGZpbHRlcnMgd2hlbiBjb21wYXJpbmcgYmluYXJ5IGZpbGVzIgorbXNnc3RyICIiCisiZXNlZ3VpIGZpbHRyaSBkaSBjb252ZXJzaW9uZSBpbiB0ZXN0byBlc3Rlcm5pIHF1YW5kbyBzaSBjb25mcm9udGFubyBmaWxlICIKKyJiaW5hcmkiCisKKyM6IGRpZmYuYzo1NDc0Cittc2dpZCAiPHdoZW4+IgorbXNnc3RyICI8cXVhbmRvPiIKKworIzogZGlmZi5jOjU0NzUKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyB0byBzdWJtb2R1bGVzIGluIHRoZSBkaWZmIGdlbmVyYXRpb24iCittc2dzdHIgImlnbm9yYSBsZSBtb2RpZmljaGUgYWkgc290dG9tb2R1bGkgZHVyYW50ZSBsYSBnZW5lcmF6aW9uZSBkZWwgZGlmZiIKKworIzogZGlmZi5jOjU0NzgKK21zZ2lkICI8Zm9ybWF0PiIKK21zZ3N0ciAiPGZvcm1hdG8+IgorCisjOiBkaWZmLmM6NTQ3OQorbXNnaWQgInNwZWNpZnkgaG93IGRpZmZlcmVuY2VzIGluIHN1Ym1vZHVsZXMgYXJlIHNob3duIgorbXNnc3RyICJzcGVjaWZpY2EgY29tZSB2ZXJyYW5ubyB2aXN1YWxpenphdGUgbGUgZGlmZmVyZW56ZSBuZWkgc290dG9tb2R1bGkiCisKKyM6IGRpZmYuYzo1NDgzCittc2dpZCAiaGlkZSAnZ2l0IGFkZCAtTicgZW50cmllcyBmcm9tIHRoZSBpbmRleCIKK21zZ3N0ciAibmFzY29uZGkgbGUgdm9jaSAnZ2l0IGFkZCAtTicgbmVsbCdpbmRpY2UiCisKKyM6IGRpZmYuYzo1NDg2Cittc2dpZCAidHJlYXQgJ2dpdCBhZGQgLU4nIGVudHJpZXMgYXMgcmVhbCBpbiB0aGUgaW5kZXgiCittc2dzdHIgInRyYXR0YSBsZSB2b2NpICdnaXQgYWRkIC1OJyBjb21lIHJlYWxpIG5lbGwnaW5kaWNlIgorCisjOiBkaWZmLmM6NTQ4OAorbXNnaWQgIjxzdHJpbmc+IgorbXNnc3RyICI8c3RyaW5nYT4iCisKKyM6IGRpZmYuYzo1NDg5Cittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisic3RyaW5nIgorbXNnc3RyICIiCisiY2VyY2EgZGlmZmVyZW56ZSBjaGUgbW9kaWZpY2FubyBpbCBudW1lcm8gZGkgb2Njb3JyZW56ZSBkZWxsYSBzdHJpbmdhICIKKyJzcGVjaWZpY2F0YSIKKworIzogZGlmZi5jOjU0OTIKK21zZ2lkICIiCisibG9vayBmb3IgZGlmZmVyZW5jZXMgdGhhdCBjaGFuZ2UgdGhlIG51bWJlciBvZiBvY2N1cnJlbmNlcyBvZiB0aGUgc3BlY2lmaWVkICIKKyJyZWdleCIKK21zZ3N0ciAiIgorImNlcmNhIGRpZmZlcmVuemUgY2hlIG1vZGlmaWNhbm8gaWwgbnVtZXJvIGRpIG9jY29ycmVuemUgZGVsbCdlc3ByZXNzaW9uZSAiCisicmVnb2xhcmUgc3BlY2lmaWNhdGEiCisKKyM6IGRpZmYuYzo1NDk1Cittc2dpZCAic2hvdyBhbGwgY2hhbmdlcyBpbiB0aGUgY2hhbmdlc2V0IHdpdGggLVMgb3IgLUciCittc2dzdHIgInZpc3VhbGl6emEgdHV0dGUgbGUgbW9kaWZpY2hlIG5lbCBjaGFuZ2VzZXQgY29uIC1TIG8gLUciCisKKyM6IGRpZmYuYzo1NDk4Cittc2dpZCAidHJlYXQgPHN0cmluZz4gaW4gLVMgYXMgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICIiCisidHJhdHRhIGxhIDxzdHJpbmdhPiBuZWxsJ29wemlvbmUgLVMgY29tZSB1bidlc3ByZXNzaW9uZSByZWdvbGFyZSBQT1NJWCBlc3Rlc2EiCisKKyM6IGRpZmYuYzo1NTAxCittc2dpZCAiY29udHJvbCB0aGUgb3JkZXIgaW4gd2hpY2ggZmlsZXMgYXBwZWFyIGluIHRoZSBvdXRwdXQiCittc2dzdHIgImNvbnRyb2xsYSBsJ29yZGluZSBjb24gY3VpIGkgZmlsZSBhcHBhcmlyYW5ubyBuZWxsJ291dHB1dCIKKworIzogZGlmZi5jOjU1MDIKK21zZ2lkICI8b2JqZWN0LWlkPiIKK21zZ3N0ciAiPElEIG9nZ2V0dG8+IgorCisjOiBkaWZmLmM6NTUwMworbXNnaWQgIiIKKyJsb29rIGZvciBkaWZmZXJlbmNlcyB0aGF0IGNoYW5nZSB0aGUgbnVtYmVyIG9mIG9jY3VycmVuY2VzIG9mIHRoZSBzcGVjaWZpZWQgIgorIm9iamVjdCIKK21zZ3N0ciAiIgorImNlcmNhIGRpZmZlcmVuemUgY2hlIG1vZGlmaWNhbm8gaWwgbnVtZXJvIGRpIG9jY29ycmVuemUgZGVsbCdvZ2dldHRvICIKKyJzcGVjaWZpY2F0byIKKworIzogZGlmZi5jOjU1MDUKK21zZ2lkICJbKEF8Q3xEfE18UnxUfFV8WHxCKS4uLlsqXV0iCittc2dzdHIgIlsoQXxDfER8TXxSfFR8VXxYfEIpLi4uWypdXSIKKworIzogZGlmZi5jOjU1MDYKK21zZ2lkICJzZWxlY3QgZmlsZXMgYnkgZGlmZiB0eXBlIgorbXNnc3RyICJzZWxlemlvbmEgZmlsZSBpbiBiYXNlIGFsIHRpcG8gZGlmZiIKKworIzogZGlmZi5jOjU1MDgKK21zZ2lkICI8ZmlsZT4iCittc2dzdHIgIjxmaWxlPiIKKworIzogZGlmZi5jOjU1MDkKK21zZ2lkICJPdXRwdXQgdG8gYSBzcGVjaWZpYyBmaWxlIgorbXNnc3RyICJTYWx2YSBsJ291dHB1dCBpbiB1biBmaWxlIHNwZWNpZmljbyIKKworIzogZGlmZi5jOjYxNjQKK21zZ2lkICJpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24gd2FzIHNraXBwZWQgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKK21zZ3N0ciAiIgorImlsIHJpbGV2YW1lbnRvIHJpZGVub21pbmF6aW9uZSBub24gZXNhdHRhIMOoIHN0YXRvIG9tZXNzbyBwZXIgbGEgcHJlc2VuemEgZGkgIgorInRyb3BwaSBmaWxlLiIKKworIzogZGlmZi5jOjYxNjcKK21zZ2lkICJvbmx5IGZvdW5kIGNvcGllcyBmcm9tIG1vZGlmaWVkIHBhdGhzIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCittc2dzdHIgIiIKKyJ0cm92YXRlIHNvbG8gY29waWUgZGFpIHBlcmNvcnNpIG1vZGlmaWNhdGkgcGVyIGxhIHByZXNlbnphIGRpIHRyb3BwaSBmaWxlLiIKKworIzogZGlmZi5jOjYxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInlvdSBtYXkgd2FudCB0byBzZXQgeW91ciAlcyB2YXJpYWJsZSB0byBhdCBsZWFzdCAlZCBhbmQgcmV0cnkgdGhlIGNvbW1hbmQuIgorbXNnc3RyICIiCisicG90cmVzdGkgdm9sZXIgaW1wb3N0YXJlIGxhIHZhcmlhYmlsZSAlcyBhZCBhbG1lbm8gJWQgZSByaXByb3ZhcmUgYWQgIgorImVzZWd1aXJlIGlsIGNvbWFuZG8uIgorCisjOiBkaXIuYzo1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlKHMpIGtub3duIHRvIGdpdCIKK21zZ3N0ciAiIgorImxvIHNwZWNpZmljYXRvcmUgcGVyY29yc28gJyVzJyBub24gY29ycmlzcG9uZGUgYWQgYWxjdW4gZmlsZSBub3RvIGEgZ2l0IgorCisjOiBkaXIuYzo2NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHBhdHRlcm46ICclcyciCittc2dzdHIgInBhdHRlcm4gbm9uIHJpY29ub3NjaXV0bzogJyVzJyIKKworIzogZGlyLmM6NjgyIGRpci5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgbmVnYXRpdmUgcGF0dGVybjogJyVzJyIKK21zZ3N0ciAicGF0dGVybiBuZWdhdGl2byBub24gcmljb25vc2NpdXRvOiAnJXMnIgorCisjOiBkaXIuYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBzcGFyc2UtY2hlY2tvdXQgZmlsZSBtYXkgaGF2ZSBpc3N1ZXM6IHBhdHRlcm4gJyVzJyBpcyByZXBlYXRlZCIKK21zZ3N0ciAiIgorImlsIGZpbGUgc3BhcnNlLWNoZWNrb3V0IHBvdHJlYmJlIGF2ZXJlIGRlaSBwcm9ibGVtaTogaWwgcGF0dGVybiAnJXMnIMOoIgorIiByaXBldHV0byIKKworIzogZGlyLmM6NzI0Cittc2dpZCAiZGlzYWJsaW5nIGNvbmUgcGF0dGVybiBtYXRjaGluZyIKK21zZ3N0ciAiZGlzYWJpbGl0byBpbCBwYXR0ZXJuIG1hdGNoaW5nIGRpIHRpcG8gY29uZSIKKworIzogZGlyLmM6MTEwMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdXNlICVzIGFzIGFuIGV4Y2x1ZGUgZmlsZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgdXNhcmUgJXMgY29tZSBmaWxlIGRpIGVzY2x1c2lvbmUiCisKKyM6IGRpci5jOjIwNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IG9wZW4gZGlyZWN0b3J5ICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSBsYSBkaXJlY3RvcnkgJyVzJyIKKworIzogZGlyLmM6MjQxNQorbXNnaWQgImZhaWxlZCB0byBnZXQga2VybmVsIG5hbWUgYW5kIGluZm9ybWF0aW9uIgorbXNnc3RyICJpbXBvc3NpYmlsZSBvdHRlbmVyZSBpbCBub21lIGUgbGUgaW5mb3JtYXppb25pIHN1bCBrZXJuZWwiCisKKyM6IGRpci5jOjI1MzkKK21zZ2lkICJ1bnRyYWNrZWQgY2FjaGUgaXMgZGlzYWJsZWQgb24gdGhpcyBzeXN0ZW0gb3IgbG9jYXRpb24iCittc2dzdHIgImxhIGNhY2hlIG5vbiB0cmFjY2lhdGEgw6ggZGlzYWJpbGl0YXRhIHN1IHF1ZXN0byBzaXN0ZW1hIG8gcGVyY29yc28iCisKKyM6IGRpci5jOjMzNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IGluIHJlcG8gJXMiCittc2dzdHIgImZpbGUgaW5kZXggY29ycm90dG8gbmVsIHJlcG9zaXRvcnkgJXMiCisKKyM6IGRpci5jOjMzODggZGlyLmM6MzM5MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yaWVzIGZvciAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY3JlYXJlIGxlIGRpcmVjdG9yeSBwZXIgJXMiCisKKyM6IGRpci5jOjM0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IG1pZ3JhdGUgZ2l0IGRpcmVjdG9yeSBmcm9tICclcycgdG8gJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbWlncmFyZSBsYSBkaXJlY3RvcnkgZ2l0IGRhICclcycgYSAnJXMnIgorCisjOiBlZGl0b3IuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJoaW50OiBXYWl0aW5nIGZvciB5b3VyIGVkaXRvciB0byBjbG9zZSB0aGUgZmlsZS4uLiVjIgorbXNnc3RyICIiCisic3VnZ2VyaW1lbnRvOiBJbiBhdHRlc2EgZGVsbGEgY2hpdXN1cmEgZGVsIGZpbGUgZGEgcGFydGUgZGVsbCdlZGl0b3IuLi4lYyIKKworIzogZW50cnkuYzoxNzgKK21zZ2lkICJGaWx0ZXJpbmcgY29udGVudCIKK21zZ3N0ciAiRmlsdHJhZ2dpbyBjb250ZW51dG8gaW4gY29yc28iCisKKyM6IGVudHJ5LmM6NDc2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGF0IGZpbGUgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgc3RhdCBzdWwgZmlsZSAnJXMnIgorCisjOiBlbnZpcm9ubWVudC5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgZ2l0IG5hbWVzcGFjZSBwYXRoIFwiJXNcIiIKK21zZ3N0ciAicGVyY29yc28gc3BhemlvIGRlaSBub21pIGdpdCBcIiVzXCIgbm9uIHZhbGlkbyIKKworIzogZW52aXJvbm1lbnQuYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHNldCBHSVRfRElSIHRvICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGltcG9zdGFyZSBHSVRfRElSIGEgJyVzJyIKKworIzogZXhlYy1jbWQuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYXJncyB0byBydW4gJXMiCittc2dzdHIgInRyb3BwaSBhcmdvbWVudGkgcGVyIGVzZWd1aXJlICVzIgorCisjOiBmZXRjaC1wYWNrLmM6MTUwCittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGF0dGVzYSBsaXN0YSBzaGFsbG93IgorCisjOiBmZXRjaC1wYWNrLmM6MTUzCittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIGEgZmx1c2ggcGFja2V0IGFmdGVyIHNoYWxsb3cgbGlzdCIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGF0dGVzbyBwYWNjaGV0dG8gZmx1c2ggZG9wbyBsaXN0YSBzaGFsbG93IgorCisjOiBmZXRjaC1wYWNrLmM6MTY0Cittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBhIGZsdXNoIHBhY2tldCIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGF0dGVzaSBBQ0svTkFLLCByaWNldnV0byBwYWNjaGV0dG8gZmx1c2giCisKKyM6IGZldGNoLXBhY2suYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCAnJXMnIgorbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogYXR0ZXNpIEFDSy9OQUssIHJpY2V2dXRvICclcyciCisKKyM6IGZldGNoLXBhY2suYzoxOTUKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdG8gcmVtb3RlIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBzdWwgcmVtb3RvIgorCisjOiBmZXRjaC1wYWNrLmM6MjU3Cittc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKK21zZ3N0ciAiLS1zdGF0ZWxlc3MtcnBjIHJpY2hpZWRlIG11bHRpX2Fja19kZXRhaWxlZCIKKworIzogZmV0Y2gtcGFjay5jOjM1NiBmZXRjaC1wYWNrLmM6MTM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNoYWxsb3cgbGluZTogJXMiCittc2dzdHIgInJpZ2Egc2hhbGxvdyBub24gdmFsaWRhOiAnJXMnIgorCisjOiBmZXRjaC1wYWNrLmM6MzYyIGZldGNoLXBhY2suYzoxMzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdW5zaGFsbG93IGxpbmU6ICVzIgorbXNnc3RyICJyaWdhIHVuc2hhbGxvdyBub24gdmFsaWRhOiAnJXMnIgorCisjOiBmZXRjaC1wYWNrLmM6MzY0IGZldGNoLXBhY2suYzoxMzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9iamVjdCBub3QgZm91bmQ6ICVzIgorbXNnc3RyICJvZ2dldHRvIG5vbiB0cm92YXRvOiAlcyIKKworIzogZmV0Y2gtcGFjay5jOjM2NyBmZXRjaC1wYWNrLmM6MTM1MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBpbiBvYmplY3Q6ICVzIgorbXNnc3RyICJlcnJvcmUgbmVsbCdvZ2dldHRvOiAlcyIKKworIzogZmV0Y2gtcGFjay5jOjM2OSBmZXRjaC1wYWNrLmM6MTM1MworIywgYy1mb3JtYXQKK21zZ2lkICJubyBzaGFsbG93IGZvdW5kOiAlcyIKK21zZ3N0ciAibmVzc3VubyBzaGFsbG93IHRyb3ZhdG86ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6MzcyIGZldGNoLXBhY2suYzoxMzU3CisjLCBjLWZvcm1hdAorbXNnaWQgImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiCittc2dzdHIgImF0dGVzaSBzaGFsbG93L3Vuc2hhbGxvdywgcmljZXZ1dG8gJXMiCisKKyM6IGZldGNoLXBhY2suYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ290ICVzICVkICVzIgorbXNnc3RyICJyaWNldnV0byAlcyAlZCAlcyIKKworIzogZmV0Y2gtcGFjay5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdCAlcyIKK21zZ3N0ciAiY29tbWl0IG5vbiB2YWxpZG86ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6NDYyCittc2dpZCAiZ2l2aW5nIHVwIgorbXNnc3RyICJzbWV0dG8gZGkgcHJvdmFyZSIKKworIzogZmV0Y2gtcGFjay5jOjQ3NSBwcm9ncmVzcy5jOjMyMworbXNnaWQgImRvbmUiCittc2dzdHIgImZhdHRvIgorCisjOiBmZXRjaC1wYWNrLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgImdvdCAlcyAoJWQpICVzIgorbXNnc3RyICJyaWNldnV0byAlcyAoJWQpICVzIgorCisjOiBmZXRjaC1wYWNrLmM6NTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1hcmtpbmcgJXMgYXMgY29tcGxldGUiCittc2dzdHIgIkNvbnRyYXNzZWdubyAlcyBjb21lIGNvbXBsZXRvIgorCisjOiBmZXRjaC1wYWNrLmM6NzU0CisjLCBjLWZvcm1hdAorbXNnaWQgImFscmVhZHkgaGF2ZSAlcyAoJXMpIgorbXNnc3RyICJobyBnacOgICVzICglcykiCisKKyM6IGZldGNoLXBhY2suYzo4MTgKK21zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKK21zZ3N0ciAiIgorImZldGNoLXBhY2s6IGltcG9zc2liaWxlIGVzZWd1aXJlIGlsIGZvcmsgZGVsIGRlbXVsdGlwbGV4ZXIgZGVsbGEgYmFuZGEgIgorImxhdGVybGFlIgorCisjOiBmZXRjaC1wYWNrLmM6ODI2Cittc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBwYWNrIGhlYWRlciIKK21zZ3N0ciAiZXJyb3JlIHByb3RvY29sbG86IGludGVzdGF6aW9uZSBwYWNrIG5vbiB2YWxpZGEiCisKKyM6IGZldGNoLXBhY2suYzo5MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmICVzIgorbXNnc3RyICJmZXRjaC1wYWNrOiBpbXBvc3NpYmlsZSBlc2VndWlyZSBpbCBmb3JrIGRpICVzIgorCisjOiBmZXRjaC1wYWNrLmM6OTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgbm9uIHJpdXNjaXRvIgorCisjOiBmZXRjaC1wYWNrLmM6OTE4Cittc2dpZCAiZXJyb3IgaW4gc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKK21zZ3N0ciAiZXJyb3JlIG5lbCBkZW11bHRpcGxleGVyIGRlbGxhIGJhbmRhIGxhdGVyYWxlIgorCisjOiBmZXRjaC1wYWNrLmM6OTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlcnZlciB2ZXJzaW9uIGlzICUuKnMiCittc2dzdHIgIkxhIHZlcnNpb25lIGRlbCBzZXJ2ZXIgw6ggJS4qcyIKKworIzogZmV0Y2gtcGFjay5jOjk3MCBmZXRjaC1wYWNrLmM6OTc2IGZldGNoLXBhY2suYzo5NzkgZmV0Y2gtcGFjay5jOjk4NQorIzogZmV0Y2gtcGFjay5jOjk4OSBmZXRjaC1wYWNrLmM6OTkzIGZldGNoLXBhY2suYzo5OTcgZmV0Y2gtcGFjay5jOjEwMDEKKyM6IGZldGNoLXBhY2suYzoxMDA1IGZldGNoLXBhY2suYzoxMDA5IGZldGNoLXBhY2suYzoxMDEzIGZldGNoLXBhY2suYzoxMDE3CisjOiBmZXRjaC1wYWNrLmM6MTAyMyBmZXRjaC1wYWNrLmM6MTAyOSBmZXRjaC1wYWNrLmM6MTAzNCBmZXRjaC1wYWNrLmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgJXMiCittc2dzdHIgIklsIHNlcnZlciBzdXBwb3J0YSAlcyIKKworIzogZmV0Y2gtcGFjay5jOjk3MgorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgY2xpZW50cyIKK21zZ3N0ciAiSWwgc2VydmVyIG5vbiBzdXBwb3J0YSBjbGllbnQgc2hhbGxvdyIKKworIzogZmV0Y2gtcGFjay5jOjEwMzIKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctc2luY2UiCittc2dzdHIgIklsIHNlcnZlciBub24gc3VwcG9ydGEgLS1zaGFsbG93LXNpbmNlIgorCisjOiBmZXRjaC1wYWNrLmM6MTAzNworbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1leGNsdWRlIgorbXNnc3RyICJJbCBzZXJ2ZXIgbm9uIHN1cHBvcnRhIC0tc2hhbGxvdy1leGNsdWRlIgorCisjOiBmZXRjaC1wYWNrLmM6MTA0MQorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tZGVlcGVuIgorbXNnc3RyICJJbCBzZXJ2ZXIgbm9uIHN1cHBvcnRhIC0tZGVlcGVuIgorCisjOiBmZXRjaC1wYWNrLmM6MTA1OAorbXNnaWQgIm5vIGNvbW1vbiBjb21taXRzIgorbXNnc3RyICJuZXNzdW4gY29tbWl0IGluIGNvbXVuZSIKKworIzogZmV0Y2gtcGFjay5jOjEwNzAgZmV0Y2gtcGFjay5jOjE1MzYKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZmV0Y2ggZmFpbGVkLiIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IHJlY3VwZXJvIG5vbiByaXVzY2l0by4iCisKKyM6IGZldGNoLXBhY2suYzoxMjA5Cittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyByZXF1ZXN0cyIKK21zZ3N0ciAiSWwgc2VydmVyIG5vbiBzdXBwb3J0YSBsZSByaWNoaWVzdGUgc2hhbGxvdyIKKworIzogZmV0Y2gtcGFjay5jOjEyMTYKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgZmlsdGVyIgorbXNnc3RyICJJbCBzZXJ2ZXIgc3VwcG9ydGEgZmlsdGVyIgorCisjOiBmZXRjaC1wYWNrLmM6MTIzOQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSByZXF1ZXN0IHRvIHJlbW90ZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgbGEgcmljaGllc3RhIHN1bCByZW1vdG8iCisKKyM6IGZldGNoLXBhY2suYzoxMjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHJlYWRpbmcgc2VjdGlvbiBoZWFkZXIgJyVzJyIKK21zZ3N0ciAiZXJyb3JlIGR1cmFudGUgbGEgbGV0dHVyYSBkZWxsJ2ludGVzdGF6aW9uZSBkaSBzZXppb25lICclcyciCisKKyM6IGZldGNoLXBhY2suYzoxMjYzCisjLCBjLWZvcm1hdAorbXNnaWQgImV4cGVjdGVkICclcycsIHJlY2VpdmVkICclcyciCittc2dzdHIgImF0dGVzbyAnJXMnLCByaWNldnV0byAnJXMnIgorCisjOiBmZXRjaC1wYWNrLmM6MTMwMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGFja25vd2xlZGdtZW50IGxpbmU6ICclcyciCittc2dzdHIgInJpZ2EgZGkgY29uZmVybWEgaW5hdHRlc2E6ICclcyciCisKKyM6IGZldGNoLXBhY2suYzoxMzA4CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHByb2Nlc3NpbmcgYWNrczogJWQiCittc2dzdHIgImVycm9yZSBkdXJhbnRlIGwnZWxhYm9yYXppb25lIGRlZ2xpIGFjazogJWQiCisKKyM6IGZldGNoLXBhY2suYzoxMzE4Cittc2dpZCAiZXhwZWN0ZWQgcGFja2ZpbGUgdG8gYmUgc2VudCBhZnRlciAncmVhZHknIgorbXNnc3RyICJjaSBzaSBhdHRlbmRldmEgY2hlIGlsIHBhY2tmaWxlIGZvc3NlIGludmlhdG8gZG9wbyAncmVhZHknIgorCisjOiBmZXRjaC1wYWNrLmM6MTMyMAorbXNnaWQgImV4cGVjdGVkIG5vIG90aGVyIHNlY3Rpb25zIHRvIGJlIHNlbnQgYWZ0ZXIgbm8gJ3JlYWR5JyIKK21zZ3N0ciAiIgorImNpIHNpIGF0dGVuZGV2YSBjaGUgbmVzc3VuJ2FsdHJhIHNlemlvbmUgZm9zc2UgaW52aWF0YSBpbiBhc3NlbnphIGRpICdyZWFkeSciCisKKyM6IGZldGNoLXBhY2suYzoxMzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHByb2Nlc3Npbmcgc2hhbGxvdyBpbmZvOiAlZCIKK21zZ3N0ciAiZXJyb3JlIGR1cmFudGUgbCdlbGFib3JhemlvbmUgZGVsbGUgaW5mb3JtYXppb25pIHNoYWxsb3c6ICVkIgorCisjOiBmZXRjaC1wYWNrLmM6MTQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJleHBlY3RlZCB3YW50ZWQtcmVmLCBnb3QgJyVzJyIKK21zZ3N0ciAiYXR0ZXNvIHdhbnRlZC1yZWYsIHJpY2V2dXRvICclcyciCisKKyM6IGZldGNoLXBhY2suYzoxNDE0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgd2FudGVkLXJlZjogJyVzJyIKK21zZ3N0ciAid2FudGVkLXJlZiBpbmF0dGVzbzogJyVzJyIKKworIzogZmV0Y2gtcGFjay5jOjE0MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcHJvY2Vzc2luZyB3YW50ZWQgcmVmczogJWQiCittc2dzdHIgImVycm9yZSBkdXJhbnRlIGwnZWxhYm9yYXppb25lIGRlaSByaWZlcmltZW50aSBkZXNpZGVyYXRpOiAlZCIKKworIzogZmV0Y2gtcGFjay5jOjE3NjIKK21zZ2lkICJubyBtYXRjaGluZyByZW1vdGUgaGVhZCIKK21zZ3N0ciAibmVzc3VuIGhlYWQgcmVtb3RvIGNvcnJpc3BvbmRlbnRlIgorCisjOiBmZXRjaC1wYWNrLmM6MTc4NSBidWlsdGluL2Nsb25lLmM6Njg4Cittc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCittc2dzdHIgImlsIHJlbW90byBub24gaGEgaW52aWF0byB0dXR0aSBnbGkgb2dnZXR0aSBuZWNlc3NhcmkiCisKKyM6IGZldGNoLXBhY2suYzoxODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcmVtb3RlIHJlZiAlcyIKK21zZ3N0ciAicmlmZXJpbWVudG8gcmVtb3RvIG5vbiBlc2lzdGVudGU6ICVzIgorCisjOiBmZXRjaC1wYWNrLmM6MTgxNQorIywgYy1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3QgYWxsb3cgcmVxdWVzdCBmb3IgdW5hZHZlcnRpc2VkIG9iamVjdCAlcyIKK21zZ3N0ciAiSWwgc2VydmVyIG5vbiBjb25zZW50ZSByaWNoaWVzdGUgcGVyIGwnb2dnZXR0byBub24gcHViYmxpY2l6emF0byAlcyIKKworIzogZ3BnLWludGVyZmFjZS5jOjIyMworbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgImltcG9zc2liaWxlIGNyZWFyZSBpbCBmaWxlIHRlbXBvcmFuZW8iCisKKyM6IGdwZy1pbnRlcmZhY2UuYzoyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHdyaXRpbmcgZGV0YWNoZWQgc2lnbmF0dXJlIHRvICclcyciCittc2dzdHIgInNjcml0dHVyYSBkZWxsYSBmaXJtYSBzZXBhcmF0YSBpbiAnJXMnIG5vbiByaXVzY2l0YSIKKworIzogZ3BnLWludGVyZmFjZS5jOjM5MAogbXNnaWQgImdwZyBmYWlsZWQgdG8gc2lnbiB0aGUgZGF0YSIKIG1zZ3N0ciAiZ3BnIG5vbiDDqCByaXVzY2l0byBhIGZpcm1hcmUgaSBkYXRpIgogCi0jOiBncmVwLmM6MTMyMAorIzogZ3JhcGguYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmUgaW52YWxpZCBjb2xvciAnJS4qcycgaW4gbG9nLmdyYXBoQ29sb3JzIgorbXNnc3RyICJpZ25vcm8gaWwgY29sb3JlIG5vbiB2YWxpZG8gJyUuKnMnIGluIGxvZy5ncmFwaENvbG9ycyIKKworIzogZ3JlcC5jOjY2OAorbXNnaWQgIiIKKyJnaXZlbiBwYXR0ZXJuIGNvbnRhaW5zIE5VTEwgYnl0ZSAodmlhIC1mIDxmaWxlPikuIFRoaXMgaXMgb25seSBzdXBwb3J0ZWQgIgorIndpdGggLVAgdW5kZXIgUENSRSB2MiIKK21zZ3N0ciAiIgorImlsIHBhdHRlcm4gZm9ybml0byAoY29uIC1mIDxmaWxlPikgY29udGllbmUgdW4gYnl0ZSBOVUxMLiBDacOyIMOoIHN1cHBvcnRhdG8gIgorInNvbG8gY29uIC1QIHVzYW5kbyBQQ1JFIHYyIgorCisjOiBncmVwLmM6MjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAiJyVzJzogaW1wb3NzaWJpbGUgbGVnZ2VyZSAlcyIKIAotIzogZ3JlcC5jOjEzMzcKKyM6IGdyZXAuYzoyMTQxIHNldHVwLmM6MTY1IGJ1aWx0aW4vY2xvbmUuYzo0MTEgYnVpbHRpbi9kaWZmLmM6ODIKKyM6IGJ1aWx0aW4vcm0uYzoxMzUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJzogJXMiCi1tc2dzdHIgIiclcyc6ICVzIgorbXNnaWQgImZhaWxlZCB0byBzdGF0ICclcyciCittc2dzdHIgInN0YXQgZGkgJyVzJyBub24gcml1c2NpdG8iCiAKLSM6IGdyZXAuYzoxMzQ4CisjOiBncmVwLmM6MjE1MgogIywgYy1mb3JtYXQKLW1zZ2lkICInJXMnOiBzaG9ydCByZWFkICVzIgotbXNnc3RyICIiCittc2dpZCAiJyVzJzogc2hvcnQgcmVhZCIKK21zZ3N0ciAiJyVzJzogbGV0dHVyYSB0cm9wcG8gYnJldmUiCiAKLSM6IGhlbHAuYzoyMDcKKyM6IGhlbHAuYzoyMworbXNnaWQgInN0YXJ0IGEgd29ya2luZyBhcmVhIChzZWUgYWxzbzogZ2l0IGhlbHAgdHV0b3JpYWwpIgorbXNnc3RyICJjcmVhIHVuJ2FyZWEgZGkgbGF2b3JvICh2ZWRpIGFuY2hlOiBnaXQgaGVscCB0dXRvcmlhbCkiCisKKyM6IGhlbHAuYzoyNAorbXNnaWQgIndvcmsgb24gdGhlIGN1cnJlbnQgY2hhbmdlIChzZWUgYWxzbzogZ2l0IGhlbHAgZXZlcnlkYXkpIgorbXNnc3RyICJsYXZvcmEgc3VsbGUgbW9kaWZpY2hlIGNvcnJlbnRpICh2ZWRpIGFuY2hlOiBnaXQgaGVscCBldmVyeWRheSkiCisKKyM6IGhlbHAuYzoyNQorbXNnaWQgImV4YW1pbmUgdGhlIGhpc3RvcnkgYW5kIHN0YXRlIChzZWUgYWxzbzogZ2l0IGhlbHAgcmV2aXNpb25zKSIKK21zZ3N0ciAiZXNhbWluYSBsYSBjcm9ub2xvZ2lhIGUgbG8gc3RhdG8gKHZlZGkgYW5jaGU6IGdpdCBoZWxwIHJldmlzaW9ucykiCisKKyM6IGhlbHAuYzoyNgorbXNnaWQgImdyb3csIG1hcmsgYW5kIHR3ZWFrIHlvdXIgY29tbW9uIGhpc3RvcnkiCittc2dzdHIgImF1bWVudGEsIGNvbnRyYXNzZWduYSBlIG1ldHRpIGEgcHVudG8gbGEgY3Jvbm9sb2dpYSBjb211bmUiCisKKyM6IGhlbHAuYzoyNworbXNnaWQgImNvbGxhYm9yYXRlIChzZWUgYWxzbzogZ2l0IGhlbHAgd29ya2Zsb3dzKSIKK21zZ3N0ciAiY29sbGFib3JhICh2ZWRpIGFuY2hlOiBnaXQgaGVscCB3b3JrZmxvd3MpIgorCisjOiBoZWxwLmM6MzEKK21zZ2lkICJNYWluIFBvcmNlbGFpbiBDb21tYW5kcyIKK21zZ3N0ciAiQ29tYW5kaSBwcmluY2lwYWxpIGRpIGFsdG8gbGl2ZWxsbyIKKworIzogaGVscC5jOjMyCittc2dpZCAiQW5jaWxsYXJ5IENvbW1hbmRzIC8gTWFuaXB1bGF0b3JzIgorbXNnc3RyICJDb21hbmRpIC8gb3BlcmF6aW9uaSBkaSBtYW5pcG9sYXppb25lIGF1c2lsaWFyaSIKKworIzogaGVscC5jOjMzCittc2dpZCAiQW5jaWxsYXJ5IENvbW1hbmRzIC8gSW50ZXJyb2dhdG9ycyIKK21zZ3N0ciAiQ29tYW5kaSAvIG9wZXJhemlvbmkgZGkgaW50ZXJyb2dhemlvbmUgYXVzaWxpYXJpIgorCisjOiBoZWxwLmM6MzQKK21zZ2lkICJJbnRlcmFjdGluZyB3aXRoIE90aGVycyIKK21zZ3N0ciAiSW50ZXJhemlvbmUgY29uIGFsdHJpIgorCisjOiBoZWxwLmM6MzUKK21zZ2lkICJMb3ctbGV2ZWwgQ29tbWFuZHMgLyBNYW5pcHVsYXRvcnMiCittc2dzdHIgIkNvbWFuZGkgLyBvcGVyYXppb25pIGRpIG1hbmlwb2xhemlvbmUgZGkgYmFzc28gbGl2ZWxsbyIKKworIzogaGVscC5jOjM2Cittc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gSW50ZXJyb2dhdG9ycyIKK21zZ3N0ciAiQ29tYW5kaSAvIG9wZXJhemlvbmkgZGkgaW50ZXJyb2dhemlvbmUgZGkgYmFzc28gbGl2ZWxsbyIKKworIzogaGVscC5jOjM3Cittc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gU3luY2luZyBSZXBvc2l0b3JpZXMiCittc2dzdHIgIkNvbWFuZGkgZGkgYmFzc28gbGl2ZWxsbyAvIFNpbmNyb25penphemlvbmUgcmVwb3NpdG9yeSIKKworIzogaGVscC5jOjM4Cittc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gSW50ZXJuYWwgSGVscGVycyIKK21zZ3N0ciAiQ29tYW5kaSBkaSBiYXNzbyBsaXZlbGxvIC8gRnVuemlvbmkgaGVscGVyIGludGVybmUiCisKKyM6IGhlbHAuYzoyOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYXZhaWxhYmxlIGdpdCBjb21tYW5kcyBpbiAnJXMnIgogbXNnc3RyICJjb21hbmRpIGdpdCBkaXNwb25pYmlsaSBpbiAnJXMnIgogCi0jOiBoZWxwLmM6MjE0CisjOiBoZWxwLmM6MzA1CiBtc2dpZCAiZ2l0IGNvbW1hbmRzIGF2YWlsYWJsZSBmcm9tIGVsc2V3aGVyZSBvbiB5b3VyICRQQVRIIgogbXNnc3RyICJjb21hbmRpIGdpdCBkaXNwb25pYmlsaSBhbHRyb3ZlIG5lbCB0dW8gJFBBVEgiCiAKLSM6IGhlbHAuYzoyNzAKKyM6IGhlbHAuYzozMTQKK21zZ2lkICJUaGVzZSBhcmUgY29tbW9uIEdpdCBjb21tYW5kcyB1c2VkIGluIHZhcmlvdXMgc2l0dWF0aW9uczoiCittc2dzdHIgIlF1ZXN0aSBzb25vIGkgY29tYW5kaSBHaXQgY29tdW5pIHVzYXRpIGluIHZhcmllIHNpdHVhemlvbmk6IgorCisjOiBoZWxwLmM6MzYzIGdpdC5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQgbGlzdGluZyB0eXBlICclcyciCittc2dzdHIgInRpcG8gZWxlbmNvIGNvbWFuZGkgbm9uIHN1cHBvcnRhdG86ICclcyciCisKKyM6IGhlbHAuYzo0MDMKK21zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOiIKK21zZ3N0ciAiTGUgZ3VpZGUgR2l0IGNvbXVuaSBzb25vOiIKKworIzogaGVscC5jOjUxMgorbXNnaWQgIlNlZSAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyB0byByZWFkIGFib3V0IGEgc3BlY2lmaWMgc3ViY29tbWFuZCIKK21zZ3N0ciAiIgorIlZlZGkgJ2dpdCBoZWxwIDxjb21hbmRvPicgcGVyIHNhcGVybmUgZGkgcGnDuSBzdSB1biBzb3R0b2NvbWFuZG8gc3BlY2lmaWNvIgorCisjOiBoZWxwLmM6NTE3Cittc2dpZCAiRXh0ZXJuYWwgY29tbWFuZHMiCittc2dzdHIgIkNvbWFuZGkgZXN0ZXJuaSIKKworIzogaGVscC5jOjUzMgorbXNnaWQgIkNvbW1hbmQgYWxpYXNlcyIKK21zZ3N0ciAiQWxpYXMgY29tYW5kaSIKKworIzogaGVscC5jOjU5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBhcHBlYXJzIHRvIGJlIGEgZ2l0IGNvbW1hbmQsIGJ1dCB3ZSB3ZXJlIG5vdFxuIgpAQCAtMjk5LDI4ICszOTQ5LDU0IEBACiAiJyVzJyBzZW1icmEgZXNzZXJlIHVuIGNvbWFuZG8gZ2l0LCBtYSBub24gw6ggc3RhdG9cbiIKICJwb3NzaWJpbGUgZXNlZ3VpcmxvLiBGb3JzZSBnaXQtJXMgw6ggY29ycm90dG8/IgogCi0jOiBoZWxwLmM6MzI3CisjOiBoZWxwLmM6NjU1CiBtc2dpZCAiVWggb2guIFlvdXIgc3lzdGVtIHJlcG9ydHMgbm8gR2l0IGNvbW1hbmRzIGF0IGFsbC4iCiBtc2dzdHIgIk9oIG9oLiBJbCB0dW8gc2lzdGVtYSBub24gcmlwb3J0YSBhbGN1biBjb21hbmRvIEdpdC4iCiAKLSM6IGhlbHAuYzozNDkKKyM6IGhlbHAuYzo2NzcKICMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIldBUk5JTkc6IFlvdSBjYWxsZWQgYSBHaXQgY29tbWFuZCBuYW1lZCAnJXMnLCB3aGljaCBkb2VzIG5vdCBleGlzdC5cbiIKLSJDb250aW51aW5nIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgeW91IG1lYW50ICclcyciCi1tc2dzdHIgIiIKK21zZ2lkICJXQVJOSU5HOiBZb3UgY2FsbGVkIGEgR2l0IGNvbW1hbmQgbmFtZWQgJyVzJywgd2hpY2ggZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJBVFRFTlpJT05FOiBoYWkgY2hpYW1hdG8gdW4gY29tYW5kbyBHaXQgJyVzJyBpbmVzaXN0ZW50ZS4iCiAKLSM6IGhlbHAuYzozNTQKKyM6IGhlbHAuYzo2ODIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaW4gJTAuMWYgc2Vjb25kcyBhdXRvbWF0aWNhbGx5Li4uIgotbXNnc3RyICJhdXRvbWF0aWNhbWVudGUgdHJhICUwLjFmIHNlY29uZGkuLi4iCittc2dpZCAiQ29udGludWluZyB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHlvdSBtZWFudCAnJXMnLiIKK21zZ3N0ciAiQ29udGludW8gYXNzdW1lbmRvIGNoZSBpbnRlbmRlc3NpICclcycuIgogCi0jOiBoZWxwLmM6MzYxCisjOiBoZWxwLmM6Njg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnRpbnVpbmcgaW4gJTAuMWYgc2Vjb25kcywgYXNzdW1pbmcgdGhhdCB5b3UgbWVhbnQgJyVzJy4iCittc2dzdHIgIkNvbnRpbnVvIGZyYSAlMC4xZiBzZWNvbmRpIGFzc3VtZW5kbyBjaGUgaW50ZW5kZXNzaSAnJXMnLiIKKworIzogaGVscC5jOjY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQ6ICclcycgaXMgbm90IGEgZ2l0IGNvbW1hbmQuIFNlZSAnZ2l0IC0taGVscCcuIgogbXNnc3RyICJnaXQ6ICclcycgbm9uIMOoIHVuIGNvbWFuZG8gZ2l0LiBWZWRpICdnaXQgLS1oZWxwJy4iCiAKLSM6IGhlbHAuYzozNjUKKyM6IGhlbHAuYzo2OTkKK21zZ2lkICIiCisiXG4iCisiVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kIGlzIgorbXNnaWRfcGx1cmFsICIiCisiXG4iCisiVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kcyBhcmUiCittc2dzdHJbMF0gIiIKKyJcbiIKKyJJbCBjb21hbmRvIG1hZ2dpb3JtZW50ZSBzaW1pbGUgw6giCittc2dzdHJbMV0gIiIKKyJcbiIKKyJJIGNvbWFuZGkgbWFnZ2lvcm1lbnRlIHNpbWlsaSBzb25vIgorCisjOiBoZWxwLmM6NzE0Cittc2dpZCAiZ2l0IHZlcnNpb24gWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCB2ZXJzaW9uIFs8b3B6aW9uaT5dIgorCisjOiBoZWxwLmM6NzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAtICVzIgorbXNnc3RyICIlczogJXMgLSAlcyIKKworIzogaGVscC5jOjc4NwogbXNnaWQgIiIKICJcbiIKICJEaWQgeW91IG1lYW4gdGhpcz8iCkBAIC0zMzQsNDMgKzQwMTAsMjExNCBAQAogIlxuIgogIkludGVuZGV2aSB1bm8gZGkgcXVlc3RpPyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjQ5MworIzogaWRlbnQuYzozNDkKK21zZ2lkICIiCisiXG4iCisiKioqIFBsZWFzZSB0ZWxsIG1lIHdobyB5b3UgYXJlLlxuIgorIlxuIgorIlJ1blxuIgorIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwieW91QGV4YW1wbGUuY29tXCJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwiWW91ciBOYW1lXCJcbiIKKyJcbiIKKyJ0byBzZXQgeW91ciBhY2NvdW50J3MgZGVmYXVsdCBpZGVudGl0eS5cbiIKKyJPbWl0IC0tZ2xvYmFsIHRvIHNldCB0aGUgaWRlbnRpdHkgb25seSBpbiB0aGlzIHJlcG9zaXRvcnkuXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogRGltbWkgY2hpIHNlaS5cbiIKKyJcbiIKKyJFc2VndWlcbiIKKyJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5lbWFpbCBcInR1QGVzZW1waW8uY29tXCJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwiSWwgdHVvIG5vbWVcIlxuIgorIlxuIgorInBlciBpbXBvc3RhcmUgbCdpZGVudGl0w6AgcHJlZGVmaW5pdGEgZGVsIHR1byBhY2NvdW50LlxuIgorIk9tZXR0aSAtLWdsb2JhbCBwZXIgaW1wb3N0YXJlIGwnaWRlbnRpdMOgIHNvbG8gaW4gcXVlc3RvIHJlcG9zaXRvcnkuXG4iCisiXG4iCisKKyM6IGlkZW50LmM6Mzc5Cittc2dpZCAibm8gZW1haWwgd2FzIGdpdmVuIGFuZCBhdXRvLWRldGVjdGlvbiBpcyBkaXNhYmxlZCIKK21zZ3N0ciAiIgorIm5lc3N1biBpbmRpcml6em8gZS1tYWlsIHNwZWNpZmljYXRvIGUgcmlsZXZhbWVudG8gYXV0b21hdGljbyBkaXNhYmlsaXRhdG8iCisKKyM6IGlkZW50LmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBlbWFpbCBhZGRyZXNzIChnb3QgJyVzJykiCittc2dzdHIgIiIKKyJpbXBvc3NpYmlsZSByaWxldmFyZSBhdXRvbWF0aWNhbWVudGUgbCdpbmRpcml6em8gZS1tYWlsIChobyByaWNhdmF0byAnJXMnKSIKKworIzogaWRlbnQuYzo0MDEKK21zZ2lkICJubyBuYW1lIHdhcyBnaXZlbiBhbmQgYXV0by1kZXRlY3Rpb24gaXMgZGlzYWJsZWQiCittc2dzdHIgIm5lc3N1biBub21lIHNwZWNpZmljYXRvIGUgcmlsZXZhbWVudG8gYXV0b21hdGljbyBkaXNhYmlsaXRhdG8iCisKKyM6IGlkZW50LmM6NDA3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBuYW1lIChnb3QgJyVzJykiCittc2dzdHIgImltcG9zc2liaWxlIHJpbGV2YXJlIGF1dG9tYXRpY2FtZW50ZSBpbCBub21lIChobyByaWNhdmF0byAnJXMnKSIKKworIzogaWRlbnQuYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1wdHkgaWRlbnQgbmFtZSAoZm9yIDwlcz4pIG5vdCBhbGxvd2VkIgorbXNnc3RyICJub21lIGlkZW50IHZ1b3RvIChwZXIgPCVzPikgbm9uIGNvbnNlbnRpdG8iCisKKyM6IGlkZW50LmM6NDIxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5hbWUgY29uc2lzdHMgb25seSBvZiBkaXNhbGxvd2VkIGNoYXJhY3RlcnM6ICVzIgorbXNnc3RyICJpbCBub21lIMOoIGNvbXBvc3RvIHNvbG8gZGEgY2FyYXR0ZXJpIG5vbiBjb25zZW50aXRpOiAlcyIKKworIzogaWRlbnQuYzo0MzYgYnVpbHRpbi9jb21taXQuYzo2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdDogJXMiCittc2dzdHIgImZvcm1hdG8gZGF0YSBub24gdmFsaWRvOiAlcyIKKworIzogbGlzdC1vYmplY3RzLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgImVudHJ5ICclcycgaW4gdHJlZSAlcyBoYXMgdHJlZSBtb2RlLCBidXQgaXMgbm90IGEgdHJlZSIKK21zZ3N0ciAibGEgdm9jZSAnJXMnIG5lbGwnYWxiZXJvICVzIGhhIGxhIG1vZGFsaXTDoCBhbGJlcm8sIG1hIG5vbiDDqCB1biBhbGJlcm8iCisKKyM6IGxpc3Qtb2JqZWN0cy5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJlbnRyeSAnJXMnIGluIHRyZWUgJXMgaGFzIGJsb2IgbW9kZSwgYnV0IGlzIG5vdCBhIGJsb2IiCittc2dzdHIgImxhIHZvY2UgJyVzJyBuZWxsJ2FsYmVybyAlcyBoYSBsYSBtb2RhbGl0w6AgYmxvYiwgbWEgbm9uIMOoIHVuIGJsb2IiCisKKyM6IGxpc3Qtb2JqZWN0cy5jOjM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gbG9hZCByb290IHRyZWUgZm9yIGNvbW1pdCAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY2FyaWNhcmUgbCdhbGJlcm8gcmFkaWNlIHBlciBpbCBjb21taXQgJXMiCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXIuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFjY2VzcyBzcGFyc2UgYmxvYiBpbiAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhY2NlZGVyZSBhbCBibG9iIHNwYXJzZSBpbiAnJXMnIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSBzcGFyc2UgZmlsdGVyIGRhdGEgaW4gJXMiCittc2dzdHIgImltcG9zc2liaWxlIGFuYWxpenphcmUgaSBkYXRpIGZpbHRybyBzcGFyc2UgaW4gJXMiCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjU4Cittc2dpZCAiZXhwZWN0ZWQgJ3RyZWU6PGRlcHRoPiciCittc2dzdHIgImF0dGVzbyAndHJlZTo8cHJvZm9uZGl0w6A+JyIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6NzMKK21zZ2lkICJzcGFyc2U6cGF0aCBmaWx0ZXJzIHN1cHBvcnQgaGFzIGJlZW4gZHJvcHBlZCIKK21zZ3N0ciAiaWwgc3VwcG9ydG8gcGVyIGkgZmlsdHJpIHNwYXJzZTpwZXJjb3JzbyDDqCBzdGF0byByaW1vc3NvIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGZpbHRlci1zcGVjICclcyciCittc2dzdHIgInNwZWNpZmljYXRvcmUgZmlsdHJvICclcycgbm9uIHZhbGlkbyIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgZXNjYXBlIGNoYXIgaW4gc3ViLWZpbHRlci1zcGVjOiAnJWMnIgorbXNnc3RyICIiCisiw6ggbmVjZXNzYXJpbyBlc2VndWlyZSBsJ2VzY2FwZSBkZWwgY2FyYXR0ZXJlIG5lbGxvIHNwZWNpZmljYXRvcmUgZGVsICIKKyJzb3R0b2ZpbHRybzogJyVjJyIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MTQ0Cittc2dpZCAiZXhwZWN0ZWQgc29tZXRoaW5nIGFmdGVyIGNvbWJpbmU6IgorbXNnc3RyICJhdHRlc28gcXVhbGNvc2EgZG9wbyBsYSByaWNvbWJpbmF6aW9uZToiCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjIyNgorbXNnaWQgIm11bHRpcGxlIGZpbHRlci1zcGVjcyBjYW5ub3QgYmUgY29tYmluZWQiCittc2dzdHIgIm5vbiDDqCBwb3NzaWJpbGUgY29tYmluYXJlIHBpw7kgc3BlY2lmaWNhdG9yaSBmaWx0cm8iCisKKyM6IGxvY2tmaWxlLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVbmFibGUgdG8gY3JlYXRlICclcy5sb2NrJzogJXMuXG4iCisiXG4iCisiQW5vdGhlciBnaXQgcHJvY2VzcyBzZWVtcyB0byBiZSBydW5uaW5nIGluIHRoaXMgcmVwb3NpdG9yeSwgZS5nLlxuIgorImFuIGVkaXRvciBvcGVuZWQgYnkgJ2dpdCBjb21taXQnLiBQbGVhc2UgbWFrZSBzdXJlIGFsbCBwcm9jZXNzZXNcbiIKKyJhcmUgdGVybWluYXRlZCB0aGVuIHRyeSBhZ2Fpbi4gSWYgaXQgc3RpbGwgZmFpbHMsIGEgZ2l0IHByb2Nlc3NcbiIKKyJtYXkgaGF2ZSBjcmFzaGVkIGluIHRoaXMgcmVwb3NpdG9yeSBlYXJsaWVyOlxuIgorInJlbW92ZSB0aGUgZmlsZSBtYW51YWxseSB0byBjb250aW51ZS4iCittc2dzdHIgIiIKKyJJbXBvc3NpYmlsZSBjcmVhcmUgJyVzLmxvY2snOiAlcy5cbiIKKyJcbiIKKyJTZW1icmEgY2hlIHVuIGFsdHJvIHByb2Nlc3NvIGdpdCBzaWEgaW4gZXNlY3V6aW9uZSBpbiBxdWVzdG8gcmVwb3NpdG9yeSwgYWQgIgorImVzLlxuIgorInVuIGVkaXRvciBhcGVydG8gZGEgJ2dpdCBjb21taXQnLiBBc3NpY3VyYXRpIGNoZSB0dXR0aSBpIHByb2Nlc3NpXG4iCisic2lhbm8gdGVybWluYXRpLCBxdWluZGkgcmlwcm92YS4gU2UgbCdvcGVyYXppb25lIGNvbnRpbnVhIGEgbm9uIHJpdXNjaXJlLCDDqFxuIgorInBvc3NpYmlsZSBjaGUgdW4gcHJvY2Vzc28gZ2l0IHNpYSBhbmRhdG8gaW4gY3Jhc2ggaW4gcXVlc3RvIHJlcG9zaXRvcnlcbiIKKyJpbiBwcmVjZWRlbnphOiByaW11b3ZpIG1hbnVhbG1lbnRlIGlsIGZpbGUgcGVyIGNvbnRpbnVhcmUuIgorCisjOiBsb2NrZmlsZS5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gY3JlYXRlICclcy5sb2NrJzogJXMiCittc2dzdHIgIkltcG9zc2liaWxlIGNyZWFyZSAnJXMubG9jayc6ICVzIgorCisjOiBtZXJnZS5jOjQxCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGNhY2hlIgorbXNnc3RyICJsZXR0dXJhIGRlbGxhIGNhY2hlIG5vbiByaXVzY2l0YSIKKworIzogbWVyZ2UuYzoxMDcgcmVyZXJlLmM6NzIwIGJ1aWx0aW4vYW0uYzoxODc0IGJ1aWx0aW4vYW0uYzoxOTA4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTM5IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTggYnVpbHRpbi9jbG9uZS5jOjgwOQorIzogYnVpbHRpbi9zdGFzaC5jOjI2NAorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgaWwgbnVvdm8gZmlsZSBpbmRleCIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzY3Cittc2dpZCAiKGJhZCBjb21taXQpXG4iCittc2dzdHIgIihjb21taXQgbm9uIHZhbGlkbylcbiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgImFkZF9jYWNoZWluZm8gZmFpbGVkIGZvciBwYXRoICclcyc7IG1lcmdlIGFib3J0aW5nLiIKK21zZ3N0ciAiYWRkX2NhY2hlaW5mbyBub24gcml1c2NpdG8gcGVyIGlsIHBlcmNvcnNvICclcyc7IGludGVycm9tcG8gaWwgbWVyZ2UuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWRkX2NhY2hlaW5mbyBmYWlsZWQgdG8gcmVmcmVzaCBmb3IgcGF0aCAnJXMnOyBtZXJnZSBhYm9ydGluZy4iCittc2dzdHIgIiIKKyJhZ2dpb3JuYW1lbnRvIGFkZF9jYWNoZWluZm8gbm9uIHJpdXNjaXRvIHBlciBpbCBwZXJjb3JzbyAnJXMnOyBpbnRlcnJvbXBvIGlsICIKKyJtZXJnZS4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBhdGggJyVzJyVzIgorbXNnc3RyICJjcmVhemlvbmUgZGVsIHBlcmNvcnNvICclcycgbm9uIHJpdXNjaXRhJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg5NgorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1vdmluZyAlcyB0byBtYWtlIHJvb20gZm9yIHN1YmRpcmVjdG9yeVxuIgorbXNnc3RyICJSaW11b3ZvICVzIHBlciBmYXJlIHNwYXppbyBhbGxhIHNvdHRvZGlyZWN0b3J5XG4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxMCBtZXJnZS1yZWN1cnNpdmUuYzo5MjkKK21zZ2lkICI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IgorbXNnc3RyICI6IGZvcnNlIHNpIHRyYXR0YSBkaSB1biBjb25mbGl0dG8gRC9GPyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTE5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJyVzJyIKK21zZ3N0ciAibWkgcmlmaXV0byBkaSBwZXJkZXJlIHVuIGZpbGUgbm9uIHRyYWNjaWF0byBpbiAnJXMnIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5NjAgYnVpbHRpbi9jYXQtZmlsZS5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCAlcyAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGwnb2dnZXR0byAlcyAnJXMnIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvYiBleHBlY3RlZCBmb3IgJXMgJyVzJyIKK21zZ3N0ciAiYXR0ZXNvIGJsb2IgcGVyICVzICclcyciCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnOiAlcyIKK21zZ3N0ciAiYXBlcnR1cmEgZGkgJyVzJyBub24gcml1c2NpdGE6ICVzIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDAxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzeW1saW5rICclcyc6ICVzIgorbXNnc3RyICJjcmVhemlvbmUgZGVsIGNvbGxlZ2FtZW50byBzaW1ib2xpY28gJyVzJyBub24gcml1c2NpdGE6ICVzIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDA2CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBrbm93IHdoYXQgdG8gZG8gd2l0aCAlMDZvICVzICclcyciCittc2dzdHIgIm5vbiBzbyBjaGUgZmFyZSBjb24gJTA2byAlcyAnJXMnIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG5vdCBjaGVja2VkIG91dCkiCittc2dzdHIgIk1lcmdlIGRlbCBzb3R0b21vZHVsbyAlcyBub24gcml1c2NpdG8gKGNoZWNrb3V0IG5vbiBlc2VndWl0bykiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAoY29tbWl0cyBub3QgcHJlc2VudCkiCittc2dzdHIgIk1lcmdlIGRlbCBzb3R0b21vZHVsbyAlcyBub24gcml1c2NpdG8gKGNvbW1pdCBub24gcHJlc2VudGkpIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKGNvbW1pdHMgZG9uJ3QgZm9sbG93IG1lcmdlLWJhc2UpIgorbXNnc3RyICIiCisiTWVyZ2UgZGVsIHNvdHRvbW9kdWxvICVzIG5vbiByaXVzY2l0byAoaSBjb21taXQgbm9uIHNlZ3Vvbm8gbGEgYmFzZSBkZWwgIgorIm1lcmdlKSIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyMSBtZXJnZS1yZWN1cnNpdmUuYzoxMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhc3QtZm9yd2FyZGluZyBzdWJtb2R1bGUgJXMgdG8gdGhlIGZvbGxvd2luZyBjb21taXQ6IgorbXNnc3RyICJFc2VndW8gaWwgZmFzdCBmb3J3YXJkIGRlbCBzb3R0b21vZHVsbyAlcyBhbCBzZWd1ZW50ZSBjb21taXQ6IgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjI0IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFzdC1mb3J3YXJkaW5nIHN1Ym1vZHVsZSAlcyIKK21zZ3N0ciAiRXNlZ3VvIGlsIGZhc3QgZm9yd2FyZCBkZWwgc290dG9tb2R1bG8gJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobWVyZ2UgZm9sbG93aW5nIGNvbW1pdHMgbm90IGZvdW5kKSIKK21zZ3N0ciAiIgorIk1lcmdlIGRlbCBzb3R0b21vZHVsbyAlcyBub24gcml1c2NpdG8gKG1lcmdlIGRvcG8gaSBjb21taXQgbm9uIHRyb3ZhdG8pIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG5vdCBmYXN0LWZvcndhcmQpIgorbXNnc3RyICJNZXJnZSBkZWwgc290dG9tb2R1bG8gJXMgbm9uIHJpdXNjaXRvIChub24gZmFzdCBmb3J3YXJkKSIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI2NAorbXNnaWQgIkZvdW5kIGEgcG9zc2libGUgbWVyZ2UgcmVzb2x1dGlvbiBmb3IgdGhlIHN1Ym1vZHVsZTpcbiIKK21zZ3N0ciAiVHJvdmF0YSBwb3NzaWJpbGUgcmlzb2x1emlvbmUgbWVyZ2UgcGVyIGlsIHNvdHRvbW9kdWxvOlxuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJZiB0aGlzIGlzIGNvcnJlY3Qgc2ltcGx5IGFkZCBpdCB0byB0aGUgaW5kZXggZm9yIGV4YW1wbGVcbiIKKyJieSB1c2luZzpcbiIKKyJcbiIKKyIgIGdpdCB1cGRhdGUtaW5kZXggLS1jYWNoZWluZm8gMTYwMDAwICVzIFwiJXNcIlxuIgorIlxuIgorIndoaWNoIHdpbGwgYWNjZXB0IHRoaXMgc3VnZ2VzdGlvbi5cbiIKK21zZ3N0ciAiIgorIlNlIMOoIGNvcnJldHRhIGFnZ2l1bmdpbGEgc2VtcGxpY2VtZW50ZSBhbGwnaW5kaWNlLCBhZCBlc2VtcGlvXG4iCisidXNhbmRvOlxuIgorIlxuIgorIiAgZ2l0IHVwZGF0ZS1pbmRleCAtLWNhY2hlaW5mbyAxNjAwMDAgJXMgXCIlc1wiXG4iCisiXG4iCisicGVyIGFjY2V0dGFyZSBxdWVzdG8gc3VnZ2VyaW1lbnRvLlxuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG11bHRpcGxlIG1lcmdlcyBmb3VuZCkiCittc2dzdHIgIk1lcmdlIGRlbCBzb3R0b21vZHVsbyAlcyBub24gcml1c2NpdG8gKHBpw7kgbWVyZ2UgdHJvdmF0aSkiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzNDkKK21zZ2lkICJGYWlsZWQgdG8gZXhlY3V0ZSBpbnRlcm5hbCBtZXJnZSIKK21zZ3N0ciAiRXNlY3V6aW9uZSBkZWwgbWVyZ2UgaW50ZXJubyBub24gcml1c2NpdGEiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGFkZCAlcyB0byBkYXRhYmFzZSIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWdnaXVuZ2VyZSAlcyBhbCBkYXRhYmFzZSIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCittc2dzdHIgIk1lcmdlIGF1dG9tYXRpY28gZGkgJXMgaW4gY29yc28iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXJyb3I6IFJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJXM7IHdyaXRpbmcgdG8gJXMgaW5zdGVhZC4iCittc2dzdHIgIiIKKyJFcnJvcmU6IG1pIHJpZml1dG8gZGkgcGVyZGVyZSBpbCBmaWxlIG5vbiB0cmFjY2lhdG8gJXM7IHNjcml2byBpbnZlY2UgaW4gJXMuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCisiaW4gdHJlZS4iCittc2dzdHIgIiIKKyJDT05GTElUVE8gKCVzL2VsaW1pbmF6aW9uZSk6ICVzIGVsaW1pbmF0byBpbiAlcyBlICVzIGluICVzLiBWZXJzaW9uZSAlcyBkaSAiCisiJXMgbGFzY2lhdGEgbmVsbCdhbGJlcm8uIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgdG8gJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgIgorImxlZnQgaW4gdHJlZS4iCittc2dzdHIgIiIKKyJDT05GTElUVE8gKCVzL2VsaW1pbmF6aW9uZSk6ICVzIGVsaW1pbmF0byBpbiAlcyBlICVzIGNvbWUgJXMgaW4gJXMuIFZlcnNpb25lICIKKyIlcyBkaSAlcyBsYXNjaWF0YSBuZWxsJ2FsYmVyby4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKKyJpbiB0cmVlIGF0ICVzLiIKK21zZ3N0ciAiIgorIkNPTkZMSVRUTyAoJXMvZWxpbWluYXppb25lKTogJXMgZWxpbWluYXRvIGluICVzIGUgJXMgaW4gJXMuIFZlcnNpb25lICVzIGRpICIKKyIlcyBsYXNjaWF0YSBuZWxsJ2FsYmVybyBpbiAlcy4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCisibGVmdCBpbiB0cmVlIGF0ICVzLiIKK21zZ3N0ciAiIgorIkNPTkZMSVRUTyAoJXMvZWxpbWluYXppb25lKTogJXMgZWxpbWluYXRvIGluICVzIGUgJXMgY29tZSAlcyBpbiAlcy4gVmVyc2lvbmUgIgorIiVzIGRpICVzIGxhc2NpYXRhIG5lbGwnYWxiZXJvIGluICVzLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUzNAorbXNnaWQgInJlbmFtZSIKK21zZ3N0ciAicmlkZW5vbWluYXppb25lIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTM0Cittc2dpZCAicmVuYW1lZCIKK21zZ3N0ciAicmlub21pbmF0byIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxNCBtZXJnZS1yZWN1cnNpdmUuYzoyNTMwIG1lcmdlLXJlY3Vyc2l2ZS5jOjMxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gbG9zZSBkaXJ0eSBmaWxlIGF0ICVzIgorbXNnc3RyICJNaSByaWZpdXRvIGRpIHBlcmRlcmUgdW4gZmlsZSBzcG9yY28gaW4gJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlcywgZXZlbiB0aG91Z2ggaXQncyBpbiB0aGUgd2F5LiIKK21zZ3N0ciAiIgorIk1pIHJpZml1dG8gZGkgcGVyZGVyZSB1biBmaWxlIG5vbiB0cmFjY2lhdG8gaW4gJXMsIGJlbmNow6kgc2lhIGQnb3N0YWNvbG8uIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvYWRkKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gIEFkZGVkICVzIGluICVzIgorbXNnc3RyICIiCisiQ09ORkxJVFRPIChyaWRlbm9taW5hemlvbmUvYWdnaXVudGEpOiBlbGVtZW50byByaWRlbm9taW5hdG8gJXMtPiVzIGluICVzLiAlcyAiCisiYWdnaXVudG8gaW4gJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBkaXJlY3RvcnkgaW4gJXMgYWRkaW5nIGFzICVzIGluc3RlYWQiCittc2dzdHIgIiVzIMOoIHVuYSBkaXJlY3RvcnkgaW4gJXM7IGxhIGFnZ2l1bmdvIGNvbWUgJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlczsgYWRkaW5nIGFzICVzIGluc3RlYWQiCittc2dzdHIgIk1pIHJpZml1dG8gZGkgcGVyZGVyZSB1biBmaWxlIG5vbiB0cmFjY2lhdG8gaW4gJXM7IGxvIGFnZ2l1bmdvIGNvbWUgJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIFwiJXNcIi0+XCIlc1wiIGluIGJyYW5jaCBcIiVzXCIgcmVuYW1lIFwiJXMiCisiXCItPlwiJXNcIiBpbiBcIiVzXCIlcyIKK21zZ3N0ciAiIgorIkNPTkZMSVRUTyAocmlkZW5vbWluYXppb25lL3JpZGVub21pbmF6aW9uZSk6IGZpbGUgcmlkZW5vbWluYXRvIFwiJXNcIi0+XCIlcyIKKyJcIiBuZWwgYnJhbmNoIFwiJXNcIiwgcmlkZW5vbWluYXRvIFwiJXNcIi0+XCIlc1wiIGluIFwiJXNcIiVzIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQyCittc2dpZCAiIChsZWZ0IHVucmVzb2x2ZWQpIgorbXNnc3RyICIgKGxhc2NpYXRvIGlycmlzb2x0bykiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgJXMtPiVzIGluICVzLiBSZW5hbWUgJXMtPiVzIGluICVzIgorbXNnc3RyICIiCisiQ09ORkxJVFRPIChyaWRlbm9taW5hemlvbmUvcmlkZW5vbWluYXppb25lKTogZmlsZSByaWRlbm9taW5hdG8gJXMtPiVzIGluICVzLiAiCisiUmlkZW5vbWluYXRvICVzLT4lcyBpbiAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjExNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKGRpcmVjdG9yeSByZW5hbWUgc3BsaXQpOiBVbmNsZWFyIHdoZXJlIHRvIHBsYWNlICVzIGJlY2F1c2UgIgorImRpcmVjdG9yeSAlcyB3YXMgcmVuYW1lZCB0byBtdWx0aXBsZSBvdGhlciBkaXJlY3Rvcmllcywgd2l0aCBubyBkZXN0aW5hdGlvbiAiCisiZ2V0dGluZyBhIG1ham9yaXR5IG9mIHRoZSBmaWxlcy4iCittc2dzdHIgIiIKKyJDT05GTElUVE8gKHNwbGl0IHJpZGVub21pbmF6aW9uZSBkaXJlY3RvcnkpOiBub24gw6ggY2hpYXJvIGRvdmUgY29sbG9jYXJlICVzICIKKyJwZXJjaMOpIGxhIGRpcmVjdG9yeSAlcyDDqCBzdGF0YSByaWRlbm9taW5hdGEgaW4gcGnDuSBkaXJlY3RvcnkgZGl2ZXJzZSBlICIKKyJuZXNzdW5hIGRpcmVjdG9yeSBkaSBkZXN0aW5hemlvbmUgY29udGllbmUgbGEgbWFnZ2lvciBwYXJ0ZSBkZWkgZmlsZS4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUIChpbXBsaWNpdCBkaXIgcmVuYW1lKTogRXhpc3RpbmcgZmlsZS9kaXIgYXQgJXMgaW4gdGhlIHdheSBvZiAiCisiaW1wbGljaXQgZGlyZWN0b3J5IHJlbmFtZShzKSBwdXR0aW5nIHRoZSBmb2xsb3dpbmcgcGF0aChzKSB0aGVyZTogJXMuIgorbXNnc3RyICIiCisiQ09ORkxJVFRPIChyaWRlbm9taW5hemlvbmUgZGlyZWN0b3J5IGltcGxpY2l0YSk6IGlsIGZpbGUvZGlyZWN0b3J5IGVzaXN0ZW50ZSAiCisiJXMgw6ggZCdvc3RhY29sbyBhbGxlIHNlZ3VlbnRpIHJpZGVub21pbmF6aW9uaSBkaXJlY3RvcnkgY2hlIHNwb3N0YW5vIGluIHRhbGUgIgorInBvc2l6aW9uZSBpIHNlZ3VlbnRpIHBlcmNvcnNpOiAlcy4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUIChpbXBsaWNpdCBkaXIgcmVuYW1lKTogQ2Fubm90IG1hcCBtb3JlIHRoYW4gb25lIHBhdGggdG8gJXM7ICIKKyJpbXBsaWNpdCBkaXJlY3RvcnkgcmVuYW1lcyB0cmllZCB0byBwdXQgdGhlc2UgcGF0aHMgdGhlcmU6ICVzIgorbXNnc3RyICIiCisiQ09ORkxJVFRPIChyaWRlbm9taW5hemlvbmUgZGlyZWN0b3J5IGltcGxpY2l0YSk6IGltcG9zc2liaWxlIG1hcHBhcmUgcGnDuSBkaSAiCisidW4gcGVyY29yc28gaW4gJXM7IGRlbGxlIHJpZGVub21pbmF6aW9uaSBkaXJlY3RvcnkgaW1wbGljaXRlIGhhbm5vIHRlbnRhdG8gIgorImRpIHNwb3N0YXJlIGluIHRhbGUgcG9zaXppb25lIGkgc2VndWVudGkgcGVyY29yc2k6ICVzIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSBkaXJlY3RvcnkgJXMtPiVzIGluICVzLiBSZW5hbWUgZGlyZWN0b3J5ICVzLSIKKyI+JXMgaW4gJXMiCittc2dzdHIgIiIKKyJDT05GTElUVE8gKHJpZGVub21pbmF6aW9uZS9yaWRlbm9taW5hemlvbmUpOiBkaXJlY3RvcnkgcmlkZW5vbWluYXRhICVzLT4lcyAiCisiaW4gJXMuIERpcmVjdG9yeSByaWRlbm9taW5hdGEgJXMtPiVzIGluICVzIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyNDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBBdm9pZGluZyBhcHBseWluZyAlcyAtPiAlcyByZW5hbWUgdG8gJXMsIGJlY2F1c2UgJXMgaXRzZWxmIHdhcyAiCisicmVuYW1lZC4iCittc2dzdHIgIiIKKyJBVFRFTlpJT05FOiBldml0byBkaSBhcHBsaWNhcmUgbGEgcmlkZW5vbWluYXppb25lICVzIC0+ICVzIGEgJXMgcGVyY2jDqSAlcyAiCisic3Rlc3NvIMOoIHN0YXRvIHJpZGVub21pbmF0by4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGwnb2dnZXR0byAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAyMgorIywgYy1mb3JtYXQKK21zZ2lkICJvYmplY3QgJXMgaXMgbm90IGEgYmxvYiIKK21zZ3N0ciAibCdvZ2dldHRvICVzIG5vbiDDqCB1biBibG9iIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDg2Cittc2dpZCAibW9kaWZ5IgorbXNnc3RyICJtb2RpZmljYSIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA4NgorbXNnaWQgIm1vZGlmaWVkIgorbXNnc3RyICJtb2RpZmljYXRvIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDk4Cittc2dpZCAiY29udGVudCIKK21zZ3N0ciAiY29udGVudXRvIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTAyCittc2dpZCAiYWRkL2FkZCIKK21zZ3N0ciAiYWdnaXVudGEvYWdnaXVudGEiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBlZCAlcyAobWVyZ2VkIHNhbWUgYXMgZXhpc3RpbmcpIgorbXNnc3RyICJPbWVzc28gJXMgKGVsZW1lbnRvIHNvdHRvcG9zdG8gYSBtZXJnZSB1Z3VhbGUgYSBxdWVsbG8gZXNpc3RlbnRlKSIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE0NyBnaXQtc3VibW9kdWxlLnNoOjk5MworbXNnaWQgInN1Ym1vZHVsZSIKK21zZ3N0ciAic290dG9tb2R1bG8iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ09ORkxJQ1QgKCVzKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCittc2dzdHIgIkNPTkZMSVRUTyAoJXMpOiBjb25mbGl0dG8gZGkgbWVyZ2UgaW4gJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGFzICVzIGluc3RlYWQiCittc2dzdHIgIkxvIGFnZ2l1bmdvIGNvbWUgJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlBhdGggdXBkYXRlZDogJXMgYWRkZWQgaW4gJXMgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgd2FzIHJlbmFtZWQgaW4gJXM7ICIKKyJtb3ZpbmcgaXQgdG8gJXMuIgorbXNnc3RyICIiCisiUGVyY29yc28gYWdnaW9ybmF0bzogJXMgYWdnaXVudG8gaW4gJXMgaW4gdW5hIGRpcmVjdG9yeSByaWRlbm9taW5hdGEgaW4gJXM7ICIKKyJsbyBzcG9zdG8gaW4gJXMuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMjY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoZmlsZSBsb2NhdGlvbik6ICVzIGFkZGVkIGluICVzIGluc2lkZSBhIGRpcmVjdG9yeSB0aGF0IHdhcyByZW5hbWVkICIKKyJpbiAlcywgc3VnZ2VzdGluZyBpdCBzaG91bGQgcGVyaGFwcyBiZSBtb3ZlZCB0byAlcy4iCittc2dzdHIgIiIKKyJDT05GTElUVE8gKHBvc2l6aW9uZSBmaWxlKTogJXMgYWdnaXVudG8gaW4gJXMgaW4gdW5hIGRpcmVjdG9yeSByaWRlbm9taW5hdGEgIgorImluICVzLCBpbCBjaGUgc3VnZ2VyaXNjZSBjaGUgZm9yc2UgZG92cmViYmUgZXNzZXJlIHNwb3N0YXRvIGluICVzLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGF0aCB1cGRhdGVkOiAlcyByZW5hbWVkIHRvICVzIGluICVzLCBpbnNpZGUgYSBkaXJlY3RvcnkgdGhhdCB3YXMgcmVuYW1lZCBpbiAiCisiJXM7IG1vdmluZyBpdCB0byAlcy4iCittc2dzdHIgIiIKKyJQZXJjb3JzbyBhZ2dpb3JuYXRvOiAlcyByaWRlbm9taW5hdG8gaW4gJXMgaW4gJXMgaW4gdW5hIGRpcmVjdG9yeSAiCisicmlkZW5vbWluYXRhIGluICVzOyBsbyBzcG9zdG8gaW4gJXMuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoZmlsZSBsb2NhdGlvbik6ICVzIHJlbmFtZWQgdG8gJXMgaW4gJXMsIGluc2lkZSBhIGRpcmVjdG9yeSB0aGF0ICIKKyJ3YXMgcmVuYW1lZCBpbiAlcywgc3VnZ2VzdGluZyBpdCBzaG91bGQgcGVyaGFwcyBiZSBtb3ZlZCB0byAlcy4iCittc2dzdHIgIiIKKyJDT05GTElUVE8gKHBvc2l6aW9uZSBmaWxlKTogJXMgcmlkZW5vbWluYXRvIGluICVzIGluICVzIGluIHVuYSBkaXJlY3RvcnkgIgorInJpZGVub21pbmF0YSBpbiAlcywgaWwgY2hlIHN1Z2dlcmlzY2UgY2hlIGZvcnNlIGRvdnJlYmJlIGVzc2VyZSBzcG9zdGF0byBpbiAiCisiJXMuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMzg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbW92aW5nICVzIgorbXNnc3RyICJSaW1vemlvbmUgZGkgJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MDgKK21zZ2lkICJmaWxlL2RpcmVjdG9yeSIKK21zZ3N0ciAiZmlsZS9kaXJlY3RvcnkiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MTMKK21zZ2lkICJkaXJlY3RvcnkvZmlsZSIKK21zZ3N0ciAiZGlyZWN0b3J5L2ZpbGUiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ09ORkxJQ1QgKCVzKTogVGhlcmUgaXMgYSBkaXJlY3Rvcnkgd2l0aCBuYW1lICVzIGluICVzLiBBZGRpbmcgJXMgYXMgJXMiCittc2dzdHIgIiIKKyJDT05GTElUVE8gKCVzKTogdW5hIGRpcmVjdG9yeSBkZW5vbWluYXRhICVzIGVzaXN0ZSBnacOgIGluICVzLiBBZ2dpdW5nbyAlcyAiCisiY29tZSAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgJXMiCittc2dzdHIgIkFnZ2l1bnRhICVzIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNPTkZMSUNUIChhZGQvYWRkKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCittc2dzdHIgIkNPTkZMSVRUTyAoYWdnaXVuZ2kvYWdnaXVuZ2kpOiBjb25mbGl0dG8gZGkgbWVyZ2UgaW4gJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0ODIKK21zZ2lkICJBbHJlYWR5IHVwIHRvIGRhdGUhIgorbXNnc3RyICJHacOgIGFnZ2lvcm5hdG8hIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDkxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1lcmdpbmcgb2YgdHJlZXMgJXMgYW5kICVzIGZhaWxlZCIKK21zZ3N0ciAibWVyZ2UgZGVnbGkgYWxiZXJpICVzIGUgJXMgbm9uIHJpdXNjaXRvIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNTk1Cittc2dpZCAiTWVyZ2luZzoiCittc2dzdHIgIk1lcmdlIGluIGNvcnNvOiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3I6IgorbXNnaWRfcGx1cmFsICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3JzOiIKK21zZ3N0clswXSAidHJvdmF0byAldSBhbnRlbmF0byBjb211bmU6IgorbXNnc3RyWzFdICJ0cm92YXRpICV1IGFudGVuYXRpIGNvbXVuaToiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM2NTgKK21zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCittc2dzdHIgImlsIG1lcmdlIG5vbiBoYSByZXN0aXR1aXRvIGFsY3VuIGNvbW1pdCIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzcxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCisiICAlcyIKK21zZ3N0ciAiIgorIkxlIHR1ZSBtb2RpZmljaGUgbG9jYWxpIGFpIHNlZ3VlbnRpIGZpbGUgc2FyZWJiZXJvIHNvdnJhc2NyaXR0ZSBkYWwgbWVyZ2U6XG4iCisiICAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzgxNAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCittc2dzdHIgIkltcG9zc2liaWxlIGFuYWxpenphcmUgbCdvZ2dldHRvICclcyciCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM4MzIgYnVpbHRpbi9tZXJnZS5jOjY5NCBidWlsdGluL21lcmdlLmM6ODc0Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGluZGV4LiIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgc2NyaXZlcmUgbCdpbmRpY2UuIgorCisjOiBtaWR4LmM6NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVsdGktcGFjay1pbmRleCBmaWxlICVzIGlzIHRvbyBzbWFsbCIKK21zZ3N0ciAiaWwgZmlsZSBtdWx0aS1wYWNrLWluZGV4ICVzIMOoIHRyb3BwbyBwaWNjb2xvIgorCisjOiBtaWR4LmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVsdGktcGFjay1pbmRleCBzaWduYXR1cmUgMHglMDh4IGRvZXMgbm90IG1hdGNoIHNpZ25hdHVyZSAweCUwOHgiCittc2dzdHIgImxhIGZpcm1hIGRlbCBtdWx0aS1wYWNrLWluZGV4IDB4JTA4eCBub24gY29ycmlzcG9uZGUgYWxsYSBmaXJtYSAweCUwOHgiCisKKyM6IG1pZHguYzo4OQorIywgYy1mb3JtYXQKK21zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHZlcnNpb24gJWQgbm90IHJlY29nbml6ZWQiCittc2dzdHIgInZlcnNpb25lICVkIG11bHRpLXBhY2staW5kZXggbm9uIHJpY29ub3NjaXV0YSIKKworIzogbWlkeC5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImhhc2ggdmVyc2lvbiAldSBkb2VzIG5vdCBtYXRjaCIKK21zZ3N0ciAibGEgdmVyc2lvbmUgZGVsbCdoYXNoICV1IG5vbiBjb3JyaXNwb25kZSIKKworIzogbWlkeC5jOjEwOAorbXNnaWQgImludmFsaWQgY2h1bmsgb2Zmc2V0ICh0b28gbGFyZ2UpIgorbXNnc3RyICJvZmZzZXQgYmxvY2NvIG5vbiB2YWxpZG8gKHRyb3BwbyBncmFuZGUpIgorCisjOiBtaWR4LmM6MTMyCittc2dpZCAidGVybWluYXRpbmcgbXVsdGktcGFjay1pbmRleCBjaHVuayBpZCBhcHBlYXJzIGVhcmxpZXIgdGhhbiBleHBlY3RlZCIKK21zZ3N0ciAibCdJRCBibG9jY28gZmluYWxlIG11bHRpLXBhY2staW5kZXggY29tcGFyZSBwcmltYSBkaSBxdWFudG8gcHJldmlzdG8iCisKKyM6IG1pZHguYzoxNDUKK21zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgcGFjay1uYW1lIGNodW5rIgorbXNnc3RyICJkYWwgbXVsdGktcGFjay1pbmRleCBtYW5jYSBpbCBibG9jY28gcmljaGllc3RvIHBhY2stbmFtZSIKKworIzogbWlkeC5jOjE0NworbXNnaWQgIm11bHRpLXBhY2staW5kZXggbWlzc2luZyByZXF1aXJlZCBPSUQgZmFub3V0IGNodW5rIgorbXNnc3RyICJkYWwgbXVsdGktcGFjay1pbmRleCBtYW5jYSBpbCBibG9jY28gcmljaGllc3RvIGZhbm91dCBPSUQiCisKKyM6IG1pZHguYzoxNDkKK21zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgT0lEIGxvb2t1cCBjaHVuayIKK21zZ3N0ciAiZGFsIG11bHRpLXBhY2staW5kZXggbWFuY2EgaWwgYmxvY2NvIHJpY2hpZXN0byBsb29rdXAgT0lEIgorCisjOiBtaWR4LmM6MTUxCittc2dpZCAibXVsdGktcGFjay1pbmRleCBtaXNzaW5nIHJlcXVpcmVkIG9iamVjdCBvZmZzZXRzIGNodW5rIgorbXNnc3RyICJkYWwgbXVsdGktcGFjay1pbmRleCBtYW5jYSBpbCBibG9jY28gcmljaGllc3RvIG9mZnNldCBvZ2dldHRpIgorCisjOiBtaWR4LmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIm11bHRpLXBhY2staW5kZXggcGFjayBuYW1lcyBvdXQgb2Ygb3JkZXI6ICclcycgYmVmb3JlICclcyciCittc2dzdHIgIm5vbWkgcGFjayBtdWx0aS1wYWNrLWluZGV4IGluIGRpc29yZGluZTogJyVzJyBhcHBhcmUgcHJpbWEgZGkgJyVzJyIKKworIzogbWlkeC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcGFjay1pbnQtaWQ6ICV1ICgldSB0b3RhbCBwYWNrcykiCittc2dzdHIgInBhY2staW50LWlkIG5vbiB2YWxpZG86ICV1ICgldSBwYWNrIHRvdGFsaSkiCisKKyM6IG1pZHguYzoyNjAKK21zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHN0b3JlcyBhIDY0LWJpdCBvZmZzZXQsIGJ1dCBvZmZfdCBpcyB0b28gc21hbGwiCittc2dzdHIgIiIKKyJuZWwgbXVsdGktcGFjay1pbmRleCDDqCBzYWx2YXRvIHVuIG9mZnNldCBhIDY0IGJpdCwgbWEgb2ZmX3Qgw6ggdHJvcHBvIHBpY2NvbG8iCisKKyM6IG1pZHguYzoyODgKK21zZ2lkICJlcnJvciBwcmVwYXJpbmcgcGFja2ZpbGUgZnJvbSBtdWx0aS1wYWNrLWluZGV4IgorbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBsYSBwcmVwYXJhemlvbmUgZGVsIHBhY2tmaWxlIGRhbCBtdWx0aS1wYWNrLWluZGV4IgorCisjOiBtaWR4LmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhZGQgcGFja2ZpbGUgJyVzJyIKK21zZ3N0ciAiYWdnaXVudGEgZGVsIHBhY2tmaWxlICclcycgbm9uIHJpdXNjaXRhIgorCisjOiBtaWR4LmM6NDc4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuIHBhY2staW5kZXggJyVzJyIKK21zZ3N0ciAiYXBlcnR1cmEgZGVsIHBhY2staW5kZXggJyVzJyBub24gcml1c2NpdGEiCisKKyM6IG1pZHguYzo1MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGxvY2F0ZSBvYmplY3QgJWQgaW4gcGFja2ZpbGUiCittc2dzdHIgInJpY2VyY2EgZGVsbCdvZ2dldHRvICVkIG5lbCBwYWNrZmlsZSBub24gcml1c2NpdGEiCisKKyM6IG1pZHguYzo4NDIKK21zZ2lkICJBZGRpbmcgcGFja2ZpbGVzIHRvIG11bHRpLXBhY2staW5kZXgiCittc2dzdHIgIkFnZ2l1bnRhIGRlaSBmaWxlIHBhY2sgYWwgbXVsdGktcGFjay1pbmRleCBpbiBjb3JzbyIKKworIzogbWlkeC5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJkaWQgbm90IHNlZSBwYWNrLWZpbGUgJXMgdG8gZHJvcCIKK21zZ3N0ciAibm9uIGhvIHZpc3RvIGlsIGZpbGUgcGFjayAlcyBkYSBzY2FydGFyZSIKKworIzogbWlkeC5jOjk3MworbXNnaWQgIldyaXRpbmcgY2h1bmtzIHRvIG11bHRpLXBhY2staW5kZXgiCittc2dzdHIgIlNjcml0dHVyYSBkZWkgY2h1bmsgbmVsIG11bHRpLXBhY2staW5kZXggaW4gY29yc28iCisKKyM6IG1pZHguYzoxMDUyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjbGVhciBtdWx0aS1wYWNrLWluZGV4IGF0ICVzIgorbXNnc3RyICJwdWxpemlhIGRlbCBtdWx0aS1wYWNrLWluZGV4ICVzIG5vbiByaXVzY2l0YSIKKworIzogbWlkeC5jOjExMDgKK21zZ2lkICJMb29raW5nIGZvciByZWZlcmVuY2VkIHBhY2tmaWxlcyIKK21zZ3N0ciAiUmljZXJjYSBkaSBmaWxlIHBhY2sgcmVmZXJlbnppYXRpIGluIGNvcnNvIgorCisjOiBtaWR4LmM6MTEyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisib2lkIGZhbm91dCBvdXQgb2Ygb3JkZXI6IGZhbm91dFslZF0gPSAlPFBSSXgzMj4gPiAlPFBSSXgzMj4gPSBmYW5vdXRbJWRdIgorbXNnc3RyICIiCisiZmFub3V0IG9pZCBpbiBkaXNvcmRpbmU6IGZhbm91dFslZF0gPSAlPFBSSXgzMj4gPiAlPFBSSXgzMj4gPSBmYW5vdXRbJWRdIgorCisjOiBtaWR4LmM6MTEyOAorbXNnaWQgIlZlcmlmeWluZyBPSUQgb3JkZXIgaW4gbXVsdGktcGFjay1pbmRleCIKK21zZ3N0ciAiVmVyaWZpY2Egb3JkaW5lIE9JRCBuZWwgbXVsdGktcGFjay1pbmRleCBpbiBjb3JzbyIKKworIzogbWlkeC5jOjExMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAib2lkIGxvb2t1cCBvdXQgb2Ygb3JkZXI6IG9pZFslZF0gPSAlcyA+PSAlcyA9IG9pZFslZF0iCittc2dzdHIgImxvb2t1cCBvaWQgaW4gZGlzb3JkaW5lOiBvaWRbJWRdID0gJXMgPj0gJXMgPSBvaWRbJWRdIgorCisjOiBtaWR4LmM6MTE1NworbXNnaWQgIlNvcnRpbmcgb2JqZWN0cyBieSBwYWNrZmlsZSIKK21zZ3N0ciAiT3JkaW5hbWVudG8gZGVnbGkgb2dnZXR0aSBuZWwgcGFja2ZpbGUgaW4gY29yc28iCisKKyM6IG1pZHguYzoxMTY0Cittc2dpZCAiVmVyaWZ5aW5nIG9iamVjdCBvZmZzZXRzIgorbXNnc3RyICJWZXJpZmljYSBvZmZzZXQgb2dnZXR0aSBpbiBjb3JzbyIKKworIzogbWlkeC5jOjExODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGxvYWQgcGFjayBlbnRyeSBmb3Igb2lkWyVkXSA9ICVzIgorbXNnc3RyICJjYXJpY2FtZW50byB2b2NlIHBhY2sgcGVyIG9pZFslZF0gPSAlcyBub24gcml1c2NpdG8iCisKKyM6IG1pZHguYzoxMTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBsb2FkIHBhY2staW5kZXggZm9yIHBhY2tmaWxlICVzIgorbXNnc3RyICJjYXJpY2FtZW50byBwYWNrLWluZGV4IHBlciBpbCBwYWNrZmlsZSAlcyBub24gcml1c2NpdG8iCisKKyM6IG1pZHguYzoxMTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImluY29ycmVjdCBvYmplY3Qgb2Zmc2V0IGZvciBvaWRbJWRdID0gJXM6ICU8UFJJeDY0PiAhPSAlPFBSSXg2ND4iCittc2dzdHIgIm9mZnNldCBvZ2dldHRvIG5vbiBjb3JyZXR0byBwZXIgb2lkWyVkXSA9ICVzOiAlPFBSSXg2ND4gIT0gJTxQUkl4NjQ+IgorCisjOiBtaWR4LmM6MTIyMAorbXNnaWQgIkNvdW50aW5nIHJlZmVyZW5jZWQgb2JqZWN0cyIKK21zZ3N0ciAiQ29udGVnZ2lvIGRlZ2xpIG9nZ2V0dGkgcmVmZXJlbnppYXRpIGluIGNvcnNvIgorCisjOiBtaWR4LmM6MTIzMAorbXNnaWQgIkZpbmRpbmcgYW5kIGRlbGV0aW5nIHVucmVmZXJlbmNlZCBwYWNrZmlsZXMiCittc2dzdHIgIlJpY2VyY2EgZWQgZWxpbWluYXppb25lIGRlaSBmaWxlIHBhY2sgbm9uIHJlZmVyZW56aWF0aSBpbiBjb3JzbyIKKworIzogbWlkeC5jOjEzODgKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgcGFjay1vYmplY3RzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhdnZpYXJlIHBhY2stb2JqZWN0cyIKKworIzogbWlkeC5jOjE0MDcKK21zZ2lkICJjb3VsZCBub3QgZmluaXNoIHBhY2stb2JqZWN0cyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZmluaXJlIHBhY2stb2JqZWN0cyIKKworIzogbmFtZS1oYXNoLmM6NTM3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbGF6eV9kaXIgdGhyZWFkOiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY3JlYXJlIGlsIHRocmVhZCBsYXp5X2RpcjogJXMiCisKKyM6IG5hbWUtaGFzaC5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxhenlfbmFtZSB0aHJlYWQ6ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBjcmVhcmUgaWwgdGhyZWFkIGxhenlfbmFtZTogJXMiCisKKyM6IG5hbWUtaGFzaC5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gam9pbiBsYXp5X25hbWUgdGhyZWFkOiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYmxvY2NhcmUgaWwgdGhyZWFkIGxhenlfbmFtZTogJXMiCisKKyM6IG5vdGVzLW1lcmdlLmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgcHJldmlvdXMgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuXG4iCisiUGxlYXNlLCB1c2UgJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcgb3IgJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0JyB0byAiCisiY29tbWl0L2Fib3J0IHRoZSBwcmV2aW91cyBtZXJnZSBiZWZvcmUgeW91IHN0YXJ0IGEgbmV3IG5vdGVzIG1lcmdlLiIKK21zZ3N0ciAiIgorIk5vbiBoYWkgY29uY2x1c28gaWwgbWVyZ2UgZGVsbGUgbm90ZSBwcmVjZWRlbnRlICglcyBlc2lzdGUpLlxuIgorIlVzYSAnZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0JyBvICdnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCcgcGVyIGVzZWd1aXJlIGlsICIKKyJjb21taXQvaW50ZXJyb21wZXJlIGlsIG1lcmdlIHByZWNlZGVudGUgcHJpbWEgZGkgaW5pemlhcmUgdW4gbnVvdm8gbWVyZ2UgIgorImRlbGxlIG5vdGUuIgorCisjOiBub3Rlcy1tZXJnZS5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuIgorbXNnc3RyICJOb24gaGFpIGNvbmNsdXNvIGlsIG1lcmdlIGRlbGxlIG5vdGUgKCVzIGVzaXN0ZSkuIgorCisjOiBub3Rlcy11dGlscy5jOjQ2Cittc2dpZCAiQ2Fubm90IGNvbW1pdCB1bmluaXRpYWxpemVkL3VucmVmZXJlbmNlZCBub3RlcyB0cmVlIgorbXNnc3RyICIiCisiSW1wb3NzaWJpbGUgZXNlZ3VpcmUgaWwgY29tbWl0IGRpIHVuIGFsYmVybyBkZWxsZSBub3RlIG5vbiBpbml6aWFsaXp6YXRvL25vbiAiCisicmVmZXJlbnppYXRvIgorCisjOiBub3Rlcy11dGlscy5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgbm90ZXMucmV3cml0ZU1vZGUgdmFsdWU6ICclcyciCittc2dzdHIgIlZhbG9yZSBkaSBub3Rlcy5yZXdyaXRlTW9kZSBlcnJhdG86ICclcyciCisKKyM6IG5vdGVzLXV0aWxzLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlZnVzaW5nIHRvIHJld3JpdGUgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgorbXNnc3RyICJNaSByaWZpdXRvIGRpIHJpc2NyaXZlcmUgbGUgbm90ZSBpbiAlcyAoYWwgZGkgZnVvcmkgZGkgcmVmcy9ub3Rlcy8pIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIHRoZSBuYW1lIG9mCisjLiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZSBzZWNvbmQgJXMgaXMKKyMuIGl0cyB2YWx1ZS4KKyMuCisjOiBub3Rlcy11dGlscy5jOjE0NQorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgJXMgdmFsdWU6ICclcyciCittc2dzdHIgIlZhbG9yZSBkaSAlcyBlcnJhdG86ICclcyciCisKKyM6IG9iamVjdC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgb2JqZWN0IHR5cGUgXCIlc1wiIgorbXNnc3RyICJ0aXBvIG9nZ2V0dG8gXCIlc1wiIG5vbiB2YWxpZG8iCisKKyM6IG9iamVjdC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICJvYmplY3QgJXMgaXMgYSAlcywgbm90IGEgJXMiCittc2dzdHIgImwnb2dnZXR0byAlcyDDqCB1biAlcywgbm9uIHVuICVzIgorCisjOiBvYmplY3QuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0ICVzIGhhcyB1bmtub3duIHR5cGUgaWQgJWQiCittc2dzdHIgImwnb2dnZXR0byAlcyBoYSBsJ0lEIHRpcG8gc2Nvbm9zY2l1dG8gJWQiCisKKyM6IG9iamVjdC5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2Ugb2JqZWN0OiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSBsJ29nZ2V0dG86ICVzIgorCisjOiBvYmplY3QuYzoyNjYgb2JqZWN0LmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgImhhc2ggbWlzbWF0Y2ggJXMiCittc2dzdHIgImhhc2ggbm9uIGNvcnJpc3BvbmRlbnRlOiAlcyIKKworIzogcGFja2ZpbGUuYzo2NDEKK21zZ2lkICJvZmZzZXQgYmVmb3JlIGVuZCBvZiBwYWNrZmlsZSAoYnJva2VuIC5pZHg/KSIKK21zZ3N0ciAib2Zmc2V0IGNvbGxvY2F0byBwcmltYSBkZWxsYSBmaW5lIGRlbCBwYWNrZmlsZSAoLmlkeCBjb3Jyb3R0bz8pIgorCisjOiBwYWNrZmlsZS5jOjE4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAib2Zmc2V0IGJlZm9yZSBzdGFydCBvZiBwYWNrIGluZGV4IGZvciAlcyAoY29ycnVwdCBpbmRleD8pIgorbXNnc3RyICIiCisib2Zmc2V0IGNvbGxvY2F0byBwcmltYSBkZWxsJ2luaXppbyBkZWxsJ2luZGljZSBwYWNrIHBlciAlcyAoaW5kaWNlIGNvcnJvdHRvPykiCisKKyM6IHBhY2tmaWxlLmM6MTg5MgorIywgYy1mb3JtYXQKK21zZ2lkICJvZmZzZXQgYmV5b25kIGVuZCBvZiBwYWNrIGluZGV4IGZvciAlcyAodHJ1bmNhdGVkIGluZGV4PykiCittc2dzdHIgIiIKKyJvZmZzZXQgY29sbG9jYXRvIGRvcG8gbGEgZmluZSBkZWxsJ2luZGljZSBwYWNrIHBlciAlcyAoaW5kaWNlIHRyb25jYXRvPykiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzozOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhIHZhbHVlIgorbXNnc3RyICIlcyByaWNoaWVkZSB1biB2YWxvcmUiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBpbmNvbXBhdGlibGUgd2l0aCAlcyIKK21zZ3N0ciAiJXMgbm9uIMOoIGNvbXBhdGliaWxlIGNvbiAlcyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIDogaW5jb21wYXRpYmxlIHdpdGggc29tZXRoaW5nIGVsc2UiCittc2dzdHIgIiVzIG5vbiDDqCBjb21wYXRpYmlsZSBjb24gcXVhbGNvcydhbHRybyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjkyIHBhcnNlLW9wdGlvbnMuYzo5NiBwYXJzZS1vcHRpb25zLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHRha2VzIG5vIHZhbHVlIgorbXNnc3RyICIlcyBub24gcmljaGllZGUgdW4gdmFsb3JlIgorCisjOiBwYXJzZS1vcHRpb25zLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXNuJ3QgYXZhaWxhYmxlIgorbXNnc3RyICIlcyBub24gw6ggZGlzcG9uaWJpbGUiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhwZWN0cyBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIHZhbHVlIHdpdGggYW4gb3B0aW9uYWwgay9tL2cgc3VmZml4IgorbXNnc3RyICIiCisiJXMgcmljaGllZGUgdW4gdmFsb3JlIGludGVybyBub24gbmVnYXRpdm8gY29uIHVuIHN1ZmZpc3NvIGsvbS9nIGZhY29sdGF0aXZvIgorCisjOiBwYXJzZS1vcHRpb25zLmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgImFtYmlndW91cyBvcHRpb246ICVzIChjb3VsZCBiZSAtLSVzJXMgb3IgLS0lcyVzKSIKK21zZ3N0ciAib3B6aW9uZSBhbWJpZ3VhOiAlcyAocG90cmViYmUgZXNzZXJlIC0tJXMlcyBvIC0tJXMlcykiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo0MjMgcGFyc2Utb3B0aW9ucy5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJkaWQgeW91IG1lYW4gYC0tJXNgICh3aXRoIHR3byBkYXNoZXMgPykiCittc2dzdHIgImZvcnNlIGludGVuZGV2aSBgLS0lc2AgKGNvbiBkdWUgdHJhdHRpbmkpPyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiBgJXMnIgorbXNnc3RyICJvcHppb25lIHNjb25vc2NpdXRhIGAlcyciCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo4NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzd2l0Y2ggYCVjJyIKK21zZ3N0ciAib3B6aW9uZSBgJWNgIHNjb25vc2NpdXRhIgorCisjOiBwYXJzZS1vcHRpb25zLmM6ODY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbm9uLWFzY2lpIG9wdGlvbiBpbiBzdHJpbmc6IGAlcyciCittc2dzdHIgIm9wemlvbmUgbm9uIEFTQ0lJIHNjb25vc2NpdXRhIHByZXNlbnRlIG5lbGxhIHN0cmluZ2E6IGAlcyciCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo4ODgKIG1zZ2lkICIuLi4iCiBtc2dzdHIgIi4uLiIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjUxMQorIzogcGFyc2Utb3B0aW9ucy5jOjkwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMiCi1tc2dzdHIgIiAgIHVzbzogJXMiCittc2dzdHIgInVzbzogJXMiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gaGVyZSBzaG91bGQgYWxpZ24gd2l0aCB0aGUKLSMuIG9uZSBpbiAidXNhZ2U6ICVzIiB0cmFuc2xhdGlvbgotIzogcGFyc2Utb3B0aW9ucy5jOjUxNQorIy4gb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uLgorIy4KKyM6IHBhcnNlLW9wdGlvbnMuYzo5MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgb3I6ICVzIgotbXNnc3RyICJvcHB1cmU6ICVzIgorbXNnc3RyICIgIG9wcHVyZTogJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo1MTgKKyM6IHBhcnNlLW9wdGlvbnMuYzo5MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICVzIgogbXNnc3RyICIgICAgJXMiCiAKLSM6IHJlbW90ZS5jOjE2MjkKKyM6IHBhcnNlLW9wdGlvbnMuYzo5NTUKK21zZ2lkICItTlVNIgorbXNnc3RyICItTlVNIgorCisjOiBwYXJzZS1vcHRpb25zLmM6OTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsaWFzIG9mIC0tJXMiCittc2dzdHIgImFsaWFzIGRpIC0tJXMiCisKKyM6IHBhcnNlLW9wdGlvbnMtY2IuYzoyMCBwYXJzZS1vcHRpb25zLWNiLmM6MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKK21zZ3N0ciAibCdvcHppb25lIGAlcycgcmljaGllZGUgdW4gdmFsb3JlIG51bWVyaWNvIgorCisjOiBwYXJzZS1vcHRpb25zLWNiLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsZm9ybWVkIGV4cGlyYXRpb24gZGF0ZSAnJXMnIgorbXNnc3RyICJkYXRhIHNjYWRlbnphICclcycgbWFsZm9ybWF0YSIKKworIzogcGFyc2Utb3B0aW9ucy1jYi5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgXCJhbHdheXNcIiwgXCJhdXRvXCIsIG9yIFwibmV2ZXJcIiIKK21zZ3N0ciAibCdvcHppb25lIGAlcycgcmljaGllZGUgXCJhbHdheXNcIiwgXCJhdXRvXCIgbyBcIm5ldmVyXCIiCisKKyM6IHBhcnNlLW9wdGlvbnMtY2IuYzoxMzAgcGFyc2Utb3B0aW9ucy1jYi5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJyVzJyIKK21zZ3N0ciAibm9tZSBvZ2dldHRvICclcycgbWFsZm9ybWF0byIKKworIzogcGF0aC5jOjkxNQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgbWFrZSAlcyB3cml0YWJsZSBieSBncm91cCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgcmVuZGVyZSAlcyBzY3JpdmliaWxlIGRhbCBncnVwcG8iCisKKyM6IHBhdGhzcGVjLmM6MTMwCittc2dpZCAiRXNjYXBlIGNoYXJhY3RlciAnXFwnIG5vdCBhbGxvd2VkIGFzIGxhc3QgY2hhcmFjdGVyIGluIGF0dHIgdmFsdWUiCittc2dzdHIgIiIKKyJDYXJhdHRlcmUgZGkgZXNjYXBlICdcXCcgbm9uIGNvbnNlbnRpdG8gY29tZSB1bHRpbW8gY2FyYXR0ZXJlIGRlbCB2YWxvcmUgIgorImF0dHJpYnV0byIKKworIzogcGF0aHNwZWMuYzoxNDgKK21zZ2lkICJPbmx5IG9uZSAnYXR0cjonIHNwZWNpZmljYXRpb24gaXMgYWxsb3dlZC4iCittc2dzdHIgIsOIIGNvbnNlbnRpdGEgc29sbyB1bmEgc3BlY2lmaWNhICdhdHRyOicuIgorCisjOiBwYXRoc3BlYy5jOjE1MQorbXNnaWQgImF0dHIgc3BlYyBtdXN0IG5vdCBiZSBlbXB0eSIKK21zZ3N0ciAibGEgc3BlY2lmaWNhIGF0dHIgbm9uIGRldmUgZXNzZXJlIHZ1b3RhIgorCisjOiBwYXRoc3BlYy5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGF0dHJpYnV0ZSBuYW1lICVzIgorbXNnc3RyICJub21lIGF0dHJpYnV0byAlcyBub24gdmFsaWRvIgorCisjOiBwYXRoc3BlYy5jOjI1OQorbXNnaWQgImdsb2JhbCAnZ2xvYicgYW5kICdub2dsb2InIHBhdGhzcGVjIHNldHRpbmdzIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKyJsZSBpbXBvc3RhemlvbmkgZ2xvYmFsaSBzcGVjaWZpY2F0b3JlIHBlcmNvcnNvICdnbG9iJyBlICdub2dsb2InIG5vbiBzb25vICIKKyJjb21wYXRpYmlsaSIKKworIzogcGF0aHNwZWMuYzoyNjYKK21zZ2lkICIiCisiZ2xvYmFsICdsaXRlcmFsJyBwYXRoc3BlYyBzZXR0aW5nIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBnbG9iYWwgIgorInBhdGhzcGVjIHNldHRpbmdzIgorbXNnc3RyICIiCisibCdpbXBvc3RhemlvbmUgZ2xvYmFsZSBzcGVjaWZpY2F0b3JlIHBlcmNvcnNvICdsaXRlcmFsJyDDqCBpbmNvbXBhdGliaWxlIGNvbiAiCisidHV0dGUgbGUgYWx0cmUgaW1wb3N0YXppb25pIGdsb2JhbGkgc3BlY2lmaWNhdG9yZSBwZXJjb3JzbyIKKworIzogcGF0aHNwZWMuYzozMDYKK21zZ2lkICJpbnZhbGlkIHBhcmFtZXRlciBmb3IgcGF0aHNwZWMgbWFnaWMgJ3ByZWZpeCciCittc2dzdHIgInBhcmFtZXRybyBwZXIgaWwgbWFnaWMgc3BlY2lmaWNhdG9yZSBwZXJjb3JzbyAncHJlZml4JyBub24gdmFsaWRvIgorCisjOiBwYXRoc3BlYy5jOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhdGhzcGVjIG1hZ2ljICclLipzJyBpbiAnJXMnIgorbXNnc3RyICJNYWdpYyBzcGVjaWZpY2F0b3JlIHBlcmNvcnNvICclLipzJyBpbiAnJXMnIG5vbiB2YWxpZG8iCisKKyM6IHBhdGhzcGVjLmM6MzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIk1pc3NpbmcgJyknIGF0IHRoZSBlbmQgb2YgcGF0aHNwZWMgbWFnaWMgaW4gJyVzJyIKK21zZ3N0ciAiJyknIG1hbmNhbnRlIGFsbGEgZmluZSBkZWwgbWFnaWMgc3BlY2lmaWNhdG9yZSBwZXJjb3JzbyBpbiAnJXMnIgorCisjOiBwYXRoc3BlYy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmltcGxlbWVudGVkIHBhdGhzcGVjIG1hZ2ljICclYycgaW4gJyVzJyIKK21zZ3N0ciAiTWFnaWMgc3BlY2lmaWNhdG9yZSBwZXJjb3JzbyAnJWMnIGluICclcycgbm9uIGltcGxlbWVudGF0byIKKworIzogcGF0aHNwZWMuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICdsaXRlcmFsJyBhbmQgJ2dsb2InIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiVzOiAnbGl0ZXJhbCcgZSAnZ2xvYicgbm9uIHNvbm8gY29tcGF0aWJpbGkiCisKKyM6IHBhdGhzcGVjLmM6NDQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAnJXMnIGlzIG91dHNpZGUgcmVwb3NpdG9yeSIKK21zZ3N0ciAiJXM6ICclcycgw6ggYWwgZGkgZnVvcmkgZGVsIHJlcG9zaXRvcnkiCisKKyM6IHBhdGhzcGVjLmM6NTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgKG1uZW1vbmljOiAnJWMnKSIKK21zZ3N0ciAiJyVzJyAob3B6aW9uZSBtbmVtb25pY2E6ICclYycpIgorCisjOiBwYXRoc3BlYy5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGF0aHNwZWMgbWFnaWMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGNvbW1hbmQ6ICVzIgorbXNnc3RyICIlczogbWFnaWMgc3BlY2lmaWNhdG9yZSBwZXJjb3JzbyBub24gc3VwcG9ydGF0byBkYSBxdWVzdG8gY29tYW5kbzogJXMiCisKKyM6IHBhdGhzcGVjLmM6NTkzCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiIgorImxvIHNwZWNpZmljYXRvcmUgcGVyY29yc28gJyVzJyBzaSB0cm92YSBvbHRyZSB1biBjb2xsZWdhbWVudG8gc2ltYm9saWNvIgorCisjOiBwYXRoc3BlYy5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lIGlzIGJhZGx5IHF1b3RlZDogJXMiCittc2dzdHIgImxhIHJpZ2Egbm9uIMOoIGJlbiByYWNjaGl1c2EgdHJhIHZpcmdvbGV0dGU6ICVzIgorCisjOiBwa3QtbGluZS5jOjkyCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZsdXNoIHBhY2tldCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgaWwgcGFjY2hldHRvIGZsdXNoIgorCisjOiBwa3QtbGluZS5jOjk5Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGRlbGltIHBhY2tldCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgaWwgcGFjY2hldHRvIGRlbGltIgorCisjOiBwa3QtbGluZS5jOjEwNgorbXNnaWQgImZsdXNoIHBhY2tldCB3cml0ZSBmYWlsZWQiCittc2dzdHIgInNjcml0dHVyYSBjb24gZmx1c2ggcGFjY2hldHRvIG5vbiByaXVzY2l0YSIKKworIzogcGt0LWxpbmUuYzoxNDYgcGt0LWxpbmUuYzoyMzIKK21zZ2lkICJwcm90b2NvbCBlcnJvcjogaW1wb3NzaWJseSBsb25nIGxpbmUiCittc2dzdHIgImVycm9yZSBwcm90b2NvbGxvOiByaWdhIGltcG9zc2liaWxtZW50ZSBsdW5nYSIKKworIzogcGt0LWxpbmUuYzoxNjIgcGt0LWxpbmUuYzoxNjQKK21zZ2lkICJwYWNrZXQgd3JpdGUgd2l0aCBmb3JtYXQgZmFpbGVkIgorbXNnc3RyICJzY3JpdHR1cmEgcGFjY2hldHRvIGNvbiBmb3JtYXRvIG5vbiByaXVzY2l0YSIKKworIzogcGt0LWxpbmUuYzoxOTYKK21zZ2lkICJwYWNrZXQgd3JpdGUgZmFpbGVkIC0gZGF0YSBleGNlZWRzIG1heCBwYWNrZXQgc2l6ZSIKK21zZ3N0ciAiIgorInNjcml0dHVyYSBwYWNjaGV0dG8gbm9uIHJpdXNjaXRhIC0gaSBkYXRpIHNvbm8gcGnDuSBkZWxsYSBkaW1lbnNpb25lIG1hc3NpbWEgIgorInBhY2NoZXR0byIKKworIzogcGt0LWxpbmUuYzoyMDMgcGt0LWxpbmUuYzoyMTAKK21zZ2lkICJwYWNrZXQgd3JpdGUgZmFpbGVkIgorbXNnc3RyICJzY3JpdHR1cmEgcGFjY2hldHRvIG5vbiByaXVzY2l0YSIKKworIzogcGt0LWxpbmUuYzoyOTUKK21zZ2lkICJyZWFkIGVycm9yIgorbXNnc3RyICJlcnJvcmUgZGkgbGV0dHVyYSIKKworIzogcGt0LWxpbmUuYzozMDMKK21zZ2lkICJ0aGUgcmVtb3RlIGVuZCBodW5nIHVwIHVuZXhwZWN0ZWRseSIKK21zZ3N0ciAibCdpbnRlcmxvY3V0b3JlIHJlbW90byBoYSBjaGl1c28gaW5hc3BldHRhdGFtZW50ZSBsYSBjb25uZXNzaW9uZSIKKworIzogcGt0LWxpbmUuYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBsaW5lIGxlbmd0aCBjaGFyYWN0ZXI6ICUuNHMiCittc2dzdHIgImVycm9yZSBwcm90b2NvbGxvOiBjYXJhdHRlcmUgbHVuZ2hlenphIHJpZ2Egbm9uIHZhbGlkbzogJS40cyIKKworIzogcGt0LWxpbmUuYzozNDEgcGt0LWxpbmUuYzozNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBsaW5lIGxlbmd0aCAlZCIKK21zZ3N0ciAiZXJyb3JlIHByb3RvY29sbG86IGx1bmdoZXp6YSByaWdhIG5vbiB2YWxpZGE6ICVkIgorCisjOiBwa3QtbGluZS5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUgZXJyb3I6ICVzIgorbXNnc3RyICJlcnJvcmUgcmVtb3RvOiAlcyIKKworIzogcHJlbG9hZC1pbmRleC5jOjExOQorbXNnaWQgIlJlZnJlc2hpbmcgaW5kZXgiCittc2dzdHIgIkFnZ2lvcm5hbWVudG8gaW5kaWNlIGluIGNvcnNvIgorCisjOiBwcmVsb2FkLWluZGV4LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkZWQgbHN0YXQ6ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBjcmVhcmUgbHN0YXQgaW4gdmVyc2lvbmUgdGhyZWFkZWQ6ICVzIgorCisjOiBwcmV0dHkuYzo5ODEKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgLS1wcmV0dHkgZm9ybWF0IgorbXNnc3RyICJpbXBvc3NpYmlsZSBhbmFsaXp6YXJlIGlsIGZvcm1hdG8gLS1wcmV0dHkiCisKKyM6IHByb21pc29yLXJlbW90ZS5jOjIzCittc2dpZCAiUmVtb3RlIHdpdGggbm8gVVJMIgorbXNnc3RyICJSZW1vdG8gc2VuemEgVVJMIgorCisjOiBwcm9taXNvci1yZW1vdGUuYzo1OAorIywgYy1mb3JtYXQKK21zZ2lkICJwcm9taXNvciByZW1vdGUgbmFtZSBjYW5ub3QgYmVnaW4gd2l0aCAnLyc6ICVzIgorbXNnc3RyICJpbCBub21lIGRlbCByZW1vdG8gcHJvbWV0dGVudGUgbm9uIHB1w7IgaW5pemlhcmUgY29uICcvJzogJXMiCisKKyM6IHJhbmdlLWRpZmYuYzo3NQorbXNnaWQgImNvdWxkIG5vdCBzdGFydCBgbG9nYCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXZ2aWFyZSBgbG9nYCIKKworIzogcmFuZ2UtZGlmZi5jOjc3Cittc2dpZCAiY291bGQgbm90IHJlYWQgYGxvZ2Agb3V0cHV0IgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGwnb3V0cHV0IGRpIGBsb2dgIgorCisjOiByYW5nZS1kaWZmLmM6OTYgc2VxdWVuY2VyLmM6NTE2MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGFuYWxpenphcmUgaWwgY29tbWl0ICclcyciCisKKyM6IHJhbmdlLWRpZmYuYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGdpdCBoZWFkZXIgJyUuKnMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhbmFsaXp6YXJlIGwnaGVhZGVyIEdpdCAnJS4qcyciCisKKyM6IHJhbmdlLWRpZmYuYzoyODUKK21zZ2lkICJmYWlsZWQgdG8gZ2VuZXJhdGUgZGlmZiIKK21zZ3N0ciAiZ2VuZXJhemlvbmUgZGVsIGRpZmYgbm9uIHJpdXNjaXRhIgorCisjOiByYW5nZS1kaWZmLmM6NTE4IHJhbmdlLWRpZmYuYzo1MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGxvZyBmb3IgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSBpbCByZWdpc3RybyBkaSAnJXMnIgorCisjOiByZWFkLWNhY2hlLmM6NjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IGFkZCBmaWxlIGFsaWFzICclcycgKCclcycgYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgpIgorbXNnc3RyICJub24gYWdnaXVuZ2Vyw7IgbCdhbGlhcyBmaWxlICclcycgKCclcycgZXNpc3RlIGdpw6AgbmVsbCdpbmRpY2UpIgorCisjOiByZWFkLWNhY2hlLmM6Njk2Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBhbiBlbXB0eSBibG9iIGluIHRoZSBvYmplY3QgZGF0YWJhc2UiCittc2dzdHIgImltcG9zc2liaWxlIGNyZWFyZSB1biBibG9iIHZ1b3RvIG5lbCBkYXRhYmFzZSBvZ2dldHRpIgorCisjOiByZWFkLWNhY2hlLmM6NzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4gb25seSBhZGQgcmVndWxhciBmaWxlcywgc3ltYm9saWMgbGlua3Mgb3IgZ2l0LWRpcmVjdG9yaWVzIgorbXNnc3RyICIiCisiJXM6IMOoIHBvc3NpYmlsZSBhZ2dpdW5nZXJlIHNvbG8gZmlsZSByZWdvbGFyaSwgY29sbGVnYW1lbnRpIHNpbWJvbGljaSBvICIKKyJkaXJlY3RvcnkgR2l0IgorCisjOiByZWFkLWNhY2hlLmM6NzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZG9lcyBub3QgaGF2ZSBhIGNvbW1pdCBjaGVja2VkIG91dCIKK21zZ3N0ciAiJyVzJyBub24gaGEgdW4gY29tbWl0IGRpIGN1aSDDqCBzdGF0byBlc2VndWl0byBpbCBjaGVja291dCIKKworIzogcmVhZC1jYWNoZS5jOjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gaW5kZXggZmlsZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBpbmRpY2l6emFyZSBpbCBmaWxlICclcyciCisKKyM6IHJlYWQtY2FjaGUuYzo3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFkZCAnJXMnIHRvIGluZGV4IgorbXNnc3RyICJpbXBvc3NpYmlsZSBhZ2dpdW5nZXJlICclcycgYWxsJ2luZGljZSIKKworIzogcmVhZC1jYWNoZS5jOjgwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gc3RhdCAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBzdGF0IHN1ICclcyciCisKKyM6IHJlYWQtY2FjaGUuYzoxMzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgYXBwZWFycyBhcyBib3RoIGEgZmlsZSBhbmQgYXMgYSBkaXJlY3RvcnkiCittc2dzdHIgIiclcycgY29tcGFyZSBzaWEgY29tZSBmaWxlIHNpYSBjb21lIGRpcmVjdG9yeSIKKworIzogcmVhZC1jYWNoZS5jOjE1MzEKK21zZ2lkICJSZWZyZXNoIGluZGV4IgorbXNnc3RyICJBZ2dpb3JuYW1lbnRvIGluZGljZSIKKworIzogcmVhZC1jYWNoZS5jOjE2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImluZGV4LnZlcnNpb24gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCisiVXNpbmcgdmVyc2lvbiAlaSIKK21zZ3N0ciAiIgorImluZGV4LnZlcnNpb24gaW1wb3N0YXRvLCBtYSBpbCB2YWxvcmUgbm9uIMOoIHZhbGlkby5cbiIKKyJVc28gbGEgdmVyc2lvbmUgJWkiCisKKyM6IHJlYWQtY2FjaGUuYzoxNjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJHSVRfSU5ERVhfVkVSU0lPTiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKKyJVc2luZyB2ZXJzaW9uICVpIgorbXNnc3RyICIiCisiR0lUX0lOREVYX1ZFUlNJT04gaW1wb3N0YXRvLCBtYSBpbCB2YWxvcmUgbm9uIMOoIHZhbGlkby5cbiIKKyJVc28gbGEgdmVyc2lvbmUgJWkiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzEyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzaWduYXR1cmUgMHglMDh4IgorbXNnc3RyICJmaXJtYSBub24gdmFsaWRhOiAweCUwOHgiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzE1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICVkIgorbXNnc3RyICJ2ZXJzaW9uZSBpbmRpY2Ugbm9uIHZhbGlkYTogJWQiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzI0Cittc2dpZCAiYmFkIGluZGV4IGZpbGUgc2hhMSBzaWduYXR1cmUiCittc2dzdHIgImZpcm1hIFNIQTEgZmlsZSBpbmRpY2Ugbm9uIHZhbGlkYSIKKworIzogcmVhZC1jYWNoZS5jOjE3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5kZXggdXNlcyAlLjRzIGV4dGVuc2lvbiwgd2hpY2ggd2UgZG8gbm90IHVuZGVyc3RhbmQiCittc2dzdHIgImwnaW5kaWNlIHVzYSBsJ2VzdGVuc2lvbmUgJS40cyBjaGUgbm9uIGNvbXByZW5kaWFtbyIKKworIzogcmVhZC1jYWNoZS5jOjE3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgJS40cyBleHRlbnNpb24iCittc2dzdHIgImVzdGVuc2lvbmUgJS40cyBpZ25vcmF0YSIKKworIzogcmVhZC1jYWNoZS5jOjE3OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBpbmRleCBlbnRyeSBmb3JtYXQgMHglMDh4IgorbXNnc3RyICJmb3JtYXRvIHZvY2UgaW5kaWNlIHNjb25vc2NpdXRvOiAweCUwOHgiCisKKyM6IHJlYWQtY2FjaGUuYzoxODA5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCBuYW1lIGZpZWxkIGluIHRoZSBpbmRleCwgbmVhciBwYXRoICclcyciCittc2dzdHIgImNhbXBvIG5vbWUgbWFsZm9ybWF0byBuZWxsJ2luZGljZSwgdmljaW5vIGFsIHBlcmNvcnNvICclcyciCisKKyM6IHJlYWQtY2FjaGUuYzoxODY2Cittc2dpZCAidW5vcmRlcmVkIHN0YWdlIGVudHJpZXMgaW4gaW5kZXgiCittc2dzdHIgInZvY2kgc3RhZ2Ugbm9uIG9yZGluYXRlIG5lbGwnaW5kaWNlIgorCisjOiByZWFkLWNhY2hlLmM6MTg2OQorIywgYy1mb3JtYXQKK21zZ2lkICJtdWx0aXBsZSBzdGFnZSBlbnRyaWVzIGZvciBtZXJnZWQgZmlsZSAnJXMnIgorbXNnc3RyICJ2b2NpIHN0YWdlIG11bHRpcGxlIHBlciBpbCBmaWxlIHNvdHRvcG9zdG8gYSBtZXJnZSAnJXMnIgorCisjOiByZWFkLWNhY2hlLmM6MTg3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm9yZGVyZWQgc3RhZ2UgZW50cmllcyBmb3IgJyVzJyIKK21zZ3N0ciAidm9jaSBzdGFnZSBub24gb3JkaW5hdGUgcGVyICclcyciCisKKyM6IHJlYWQtY2FjaGUuYzoxOTc4IHJlYWQtY2FjaGUuYzoyMjY2IHJlcmVyZS5jOjU2NSByZXJlcmUuYzo1OTkgcmVyZXJlLmM6MTExMQorIzogYnVpbHRpbi9hZGQuYzo0OTkgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzggYnVpbHRpbi9jaGVja291dC5jOjQ3MAorIzogYnVpbHRpbi9jaGVja291dC5jOjY1NCBidWlsdGluL2NsZWFuLmM6OTY3IGJ1aWx0aW4vY29tbWl0LmM6MzY3CisjOiBidWlsdGluL2RpZmYtdHJlZS5jOjEyMCBidWlsdGluL2dyZXAuYzo0OTkgYnVpbHRpbi9tdi5jOjE0NQorIzogYnVpbHRpbi9yZXNldC5jOjI0NiBidWlsdGluL3JtLmM6MjcxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMzIKK21zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQiCittc2dzdHIgImZpbGUgaW5kaWNlIGNvcnJvdHRvIgorCisjOiByZWFkLWNhY2hlLmM6MjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxvYWRfY2FjaGVfZW50cmllcyB0aHJlYWQ6ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBjcmVhcmUgaWwgdGhyZWFkIGxvYWRfY2FjaGVfZW50cmllczogJXMiCisKKyM6IHJlYWQtY2FjaGUuYzoyMTMyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBqb2luIGxvYWRfY2FjaGVfZW50cmllcyB0aHJlYWQ6ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBibG9jY2FyZSBpbCB0aHJlYWQgbG9hZF9jYWNoZV9lbnRyaWVzOiAlcyIKKworIzogcmVhZC1jYWNoZS5jOjIxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluZGV4IGZpbGUgb3BlbiBmYWlsZWQiCittc2dzdHIgIiVzOiBhcGVydHVyYSBkZWwgZmlsZSBpbmRpY2Ugbm9uIHJpdXNjaXRhIgorCisjOiByZWFkLWNhY2hlLmM6MjE2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHN0YXQgdGhlIG9wZW4gaW5kZXgiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBlc2VndWlyZSBzdGF0IHN1bGwnaW5kaWNlIGFwZXJ0byIKKworIzogcmVhZC1jYWNoZS5jOjIxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluZGV4IGZpbGUgc21hbGxlciB0aGFuIGV4cGVjdGVkIgorbXNnc3RyICIlczogZmlsZSBpbmRpY2UgcGnDuSBwaWNjb2xvIGRlbGxhIGRpbWVuc2lvbmUgYXR0ZXNhIgorCisjOiByZWFkLWNhY2hlLmM6MjE3NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG1hcCBpbmRleCBmaWxlIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgbWFwcGFyZSBpbCBmaWxlIGluZGljZSIKKworIzogcmVhZC1jYWNoZS5jOjIyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsb2FkX2luZGV4X2V4dGVuc2lvbnMgdGhyZWFkOiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY3JlYXJlIGlsIHRocmVhZCBsb2FkX2luZGV4X2V4dGVuc2lvbnM6ICVzIgorCisjOiByZWFkLWNhY2hlLmM6MjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gam9pbiBsb2FkX2luZGV4X2V4dGVuc2lvbnMgdGhyZWFkOiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYmxvY2NhcmUgaWwgdGhyZWFkIGxvYWRfaW5kZXhfZXh0ZW5zaW9uczogJXMiCisKKyM6IHJlYWQtY2FjaGUuYzoyMjc4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmcmVzaGVuIHNoYXJlZCBpbmRleCAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhZ2dpb3JuYXJlIGwnaW5kaWNlIGNvbmRpdmlzbyAnJXMnIgorCisjOiByZWFkLWNhY2hlLmM6MjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICJicm9rZW4gaW5kZXgsIGV4cGVjdCAlcyBpbiAlcywgZ290ICVzIgorbXNnc3RyICJpbmRpY2UgY29ycm90dG8sIGF0dGVzbyAlcyBpbiAlcywgcHJlc2VudGUgJXMiCisKKyM6IHJlYWQtY2FjaGUuYzozMDIxIHN0cmJ1Zi5jOjExNDUgd3JhcHBlci5jOjYyMiBidWlsdGluL21lcmdlLmM6MTExOQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY2hpdWRlcmUgJyVzJyIKKworIzogcmVhZC1jYWNoZS5jOjMxMjQgc2VxdWVuY2VyLmM6MjQyOSBzZXF1ZW5jZXIuYzo0MDY5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGF0ICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIGxvIHN0YXQgZGkgJyVzJyIKKworIzogcmVhZC1jYWNoZS5jOjMxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIG9wZW4gZ2l0IGRpcjogJXMiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSBsYSBkaXJlY3RvcnkgZ2l0OiAlcyIKKworIzogcmVhZC1jYWNoZS5jOjMxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHVubGluazogJXMiCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIHVubGluazogJXMiCisKKyM6IHJlYWQtY2FjaGUuYzozMTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaXggcGVybWlzc2lvbiBiaXRzIG9uICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGNvcnJlZ2dlcmUgaSBwZXJtZXNzaSBkaSAnJXMnIgorCisjOiByZWFkLWNhY2hlLmM6MzMyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRyb3AgdG8gc3RhZ2UgIzAiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSByaXBpZWdhcmUgc3VsbG8gc3RhZGlvIDAiCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1bnJlY29nbml6ZWQgc2V0dGluZyAlcyBmb3Igb3B0aW9uIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiBJZ25vcmluZy4iCittc2dzdHIgIiIKKyJpbXBvc3RhemlvbmUgJXMgbm9uIHJpY29ub3NjaXV0YSBwZXIgbCdvcHppb25lIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiAiCisiTGEgaWdub3JvLiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MzUKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCisicCwgcGljayA8Y29tbWl0PiA9IHVzZSBjb21taXRcbiIKKyJyLCByZXdvcmQgPGNvbW1pdD4gPSB1c2UgY29tbWl0LCBidXQgZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2VcbiIKKyJlLCBlZGl0IDxjb21taXQ+ID0gdXNlIGNvbW1pdCwgYnV0IHN0b3AgZm9yIGFtZW5kaW5nXG4iCisicywgc3F1YXNoIDxjb21taXQ+ID0gdXNlIGNvbW1pdCwgYnV0IG1lbGQgaW50byBwcmV2aW91cyBjb21taXRcbiIKKyJmLCBmaXh1cCA8Y29tbWl0PiA9IGxpa2UgXCJzcXVhc2hcIiwgYnV0IGRpc2NhcmQgdGhpcyBjb21taXQncyBsb2cgbWVzc2FnZVxuIgorIngsIGV4ZWMgPGNvbW1hbmQ+ID0gcnVuIGNvbW1hbmQgKHRoZSByZXN0IG9mIHRoZSBsaW5lKSB1c2luZyBzaGVsbFxuIgorImIsIGJyZWFrID0gc3RvcCBoZXJlIChjb250aW51ZSByZWJhc2UgbGF0ZXIgd2l0aCAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJylcbiIKKyJkLCBkcm9wIDxjb21taXQ+ID0gcmVtb3ZlIGNvbW1pdFxuIgorImwsIGxhYmVsIDxsYWJlbD4gPSBsYWJlbCBjdXJyZW50IEhFQUQgd2l0aCBhIG5hbWVcbiIKKyJ0LCByZXNldCA8bGFiZWw+ID0gcmVzZXQgSEVBRCB0byBhIGxhYmVsXG4iCisibSwgbWVyZ2UgWy1DIDxjb21taXQ+IHwgLWMgPGNvbW1pdD5dIDxsYWJlbD4gWyMgPG9uZWxpbmU+XVxuIgorIi4gICAgICAgY3JlYXRlIGEgbWVyZ2UgY29tbWl0IHVzaW5nIHRoZSBvcmlnaW5hbCBtZXJnZSBjb21taXQnc1xuIgorIi4gICAgICAgbWVzc2FnZSAob3IgdGhlIG9uZWxpbmUsIGlmIG5vIG9yaWdpbmFsIG1lcmdlIGNvbW1pdCB3YXNcbiIKKyIuICAgICAgIHNwZWNpZmllZCkuIFVzZSAtYyA8Y29tbWl0PiB0byByZXdvcmQgdGhlIGNvbW1pdCBtZXNzYWdlLlxuIgorIlxuIgorIlRoZXNlIGxpbmVzIGNhbiBiZSByZS1vcmRlcmVkOyB0aGV5IGFyZSBleGVjdXRlZCBmcm9tIHRvcCB0byBib3R0b20uXG4iCittc2dzdHIgIiIKKyJcbiIKKyJDb21hbmRpOlxuIgorInAsIHBpY2sgPGNvbW1pdD4gPSB1c2EgaWwgY29tbWl0XG4iCisiciwgcmV3b3JkIDxjb21taXQ+ID0gdXNhIGlsIGNvbW1pdCwgbWEgbW9kaWZpY2EgaWwgbWVzc2FnZ2lvIGRpIGNvbW1pdFxuIgorImUsIGVkaXQgPGNvbW1pdD4gPSB1c2EgaWwgY29tbWl0LCBtYSBmZXJtYXRpIHBlciBtb2RpZmljYXJsb1xuIgorInMsIHNxdWFzaCA8Y29tbWl0PiA9IHVzYSBpbCBjb21taXQsIG1hIGZvbmRpbG8gY29uIGlsIGNvbW1pdCBwcmVjZWRlbnRlXG4iCisiZiwgZml4dXAgPGNvbW1pdD4gPSBjb21lIFwic3F1YXNoXCIsIG1hIHNjYXJ0YSBpbCBtZXNzYWdnaW8gZGkgbG9nIGRpICIKKyJxdWVzdG9cbiIKKyIgICAgICAgICAgICAgICAgICAgIGNvbW1pdFxuIgorIngsIGV4ZWMgPGNvbWFuZG8+ID0gZXNlZ3VpIGlsIGNvbWFuZG8gKGlsIHJlc3RvIGRlbGxhIHJpZ2EpIHVzYW5kbyBsYSBzaGVsbFxuIgorImIsIGJyZWFrID0gZmVybWF0aSBxdWkgKGNvbnRpbnVhIGlsIHJlYmFzZSBpbiB1biBzZWNvbmRvIG1vbWVudG8gY29uICIKKyInZ2l0ICAgICAgICAgICByZWJhc2UgLS1jb250aW51ZScpXG4iCisiZCwgZHJvcCA8Y29tbWl0PiA9IGVsaW1pbmEgaWwgY29tbWl0XG4iCisibCwgbGFiZWwgPGV0aWNoZXR0YT4gPSBldGljaGV0dGEgbCdIRUFEIGNvcnJlbnRlIGNvbiB1biBub21lXG4iCisidCwgcmVzZXQgPGV0aWNoZXR0YT4gPSByZWltcG9zdGEgSEVBRCBhIHVuJ2V0aWNoZXR0YVxuIgorIm0sIG1lcmdlIFstQyA8Y29tbWl0PiB8IC1jIDxjb21taXQ+XSA8ZXRpY2hldHRhPiBbIyA8b25lbGluZT5dXG4iCisiLiAgICAgICBjcmVhIHVuIGNvbW1pdCBkaSBtZXJnZSB1c2FuZG8gaWwgbWVzc2FnZ2lvIGRlbCBjb21taXQgZGkgbWVyZ2VcbiIKKyIuICAgICAgIG9yaWdpbmFsZSAobyBsYSBvbmVsaW5lIHNlIG5vbiDDqCBzdGF0byBzcGVjaWZpY2F0byB1biBjb21taXQgZGkgIgorIm1lcmdlXG4iCisiLiAgICAgICBvcmlnaW5hbGUpLiBVc2EgLWMgPGNvbW1pdD4gcGVyIHJpZm9ybXVsYXJlIGlsIG1lc3NhZ2dpbyBkaSBjb21taXQuXG4iCisiXG4iCisiUXVlc3RlIHJpZ2hlIHBvc3Nvbm8gZXNzZXJlIHJpb3JkaW5hdGU7IHNhcmFubm8gZXNlZ3VpdGUgZGFsbGEgcHJpbWEgIgorImFsbCd1bHRpbWEuXG4iCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kKSIKK21zZ2lkX3BsdXJhbCAiUmViYXNlICVzIG9udG8gJXMgKCVkIGNvbW1hbmRzKSIKK21zZ3N0clswXSAiUmViYXNlIGRpICVzIHN1ICVzICglZCBjb21hbmRvKSIKK21zZ3N0clsxXSAiUmViYXNlIGRpICVzIHN1ICVzICglZCBjb21hbmRpKSIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6NjUgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjIyOAorbXNnaWQgIiIKKyJcbiIKKyJEbyBub3QgcmVtb3ZlIGFueSBsaW5lLiBVc2UgJ2Ryb3AnIGV4cGxpY2l0bHkgdG8gcmVtb3ZlIGEgY29tbWl0LlxuIgorbXNnc3RyICIiCisiXG4iCisiTm9uIGVsaW1pbmFyZSBhbGN1bmEgcmlnYS4gVXNhIGVzcGxpY2l0YW1lbnRlICdkcm9wJyBwZXIgcmltdW92ZXJlIHVuICIKKyJjb21taXQuXG4iCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjY4IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMzIKK21zZ2lkICIiCisiXG4iCisiSWYgeW91IHJlbW92ZSBhIGxpbmUgaGVyZSBUSEFUIENPTU1JVCBXSUxMIEJFIExPU1QuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJSaW11b3ZlbmRvIHVuYSByaWdhIGRhIHF1aSBJTCBDT01NSVQgQ09SUklTUE9OREVOVEUgQU5EUsOAIFBFUkRVVE8uXG4iCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjc0IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NzEKK21zZ2lkICIiCisiXG4iCisiWW91IGFyZSBlZGl0aW5nIHRoZSB0b2RvIGZpbGUgb2YgYW4gb25nb2luZyBpbnRlcmFjdGl2ZSByZWJhc2UuXG4iCisiVG8gY29udGludWUgcmViYXNlIGFmdGVyIGVkaXRpbmcsIHJ1bjpcbiIKKyIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTdGFpIG1vZGlmaWNhbmRvIGlsIGZpbGUgdG9kbyBkaSB1biByZWJhc2UgaW50ZXJhdHRpdm8gaW4gY29yc28uXG4iCisiUGVyIGNvbnRpbnVhcmUgaWwgcmViYXNlIGRvcG8gbGEgbW9kaWZpY2EsIGVzZWd1aTpcbiIKKyIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisiXG4iCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjc5IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NDgKK21zZ2lkICIiCisiXG4iCisiSG93ZXZlciwgaWYgeW91IHJlbW92ZSBldmVyeXRoaW5nLCB0aGUgcmViYXNlIHdpbGwgYmUgYWJvcnRlZC5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNpw7Igbm9ub3N0YW50ZSwgc2UgcmltdW92aSB0dXR0bywgaWwgcmViYXNlIHNhcsOgIGFubnVsbGF0by5cbiIKKyJcbiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6ODUgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk1NQorbXNnaWQgIk5vdGUgdGhhdCBlbXB0eSBjb21taXRzIGFyZSBjb21tZW50ZWQgb3V0IgorbXNnc3RyICJOb3RhIGNoZSBpIGNvbW1pdCB2dW90aSBzb25vIGNvbW1lbnRhdGkiCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjEwNSByZXJlcmUuYzo0ODUgcmVyZXJlLmM6NjkyIHNlcXVlbmNlci5jOjM1MzYKKyM6IHNlcXVlbmNlci5jOjM1NjIgc2VxdWVuY2VyLmM6NTI2MyBidWlsdGluL2ZzY2suYzozNDYgYnVpbHRpbi9yZWJhc2UuYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlICclcyciCittc2dzdHIgImltcG9zc2liaWxlIHNjcml2ZXJlICclcyciCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY29weSAnJXMnIHRvICclcycuIgorbXNnc3RyICJpbXBvc3NpYmlsZSBjb3BpYXJlICclcycgaW4gJyVzJy4iCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV2FybmluZzogc29tZSBjb21taXRzIG1heSBoYXZlIGJlZW4gZHJvcHBlZCBhY2NpZGVudGFsbHkuXG4iCisiRHJvcHBlZCBjb21taXRzIChuZXdlciB0byBvbGRlcik6XG4iCittc2dzdHIgIiIKKyJBdHRlbnppb25lOiDDqCBwb3NzaWJpbGUgY2hlIGFsY3VuaSBjb21taXQgc2lhbm8gc3RhdGkgc2NhcnRhdGkgIgorImFjY2lkZW50YWxtZW50ZS5cbiIKKyJDb21taXQgc2NhcnRhdGkgKGRhbCBwacO5IGFsIG1lbm8gcmVjZW50ZSk6XG4iCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjE4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgXCJkcm9wXCIgdG8gZXhwbGljaXRseSByZW1vdmUgYSBjb21taXQuXG4iCisiXG4iCisiVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mICIKKyJ3YXJuaW5ncy5cbiIKKyJUaGUgcG9zc2libGUgYmVoYXZpb3VycyBhcmU6IGlnbm9yZSwgd2FybiwgZXJyb3IuXG4iCisiXG4iCittc2dzdHIgIiIKKyJQZXIgZXZpdGFyZSBxdWVzdG8gbWVzc2FnZ2lvLCB1c2EgXCJkcm9wXCIgcGVyIHJpbXVvdmVyZSB1biBjb21taXRcbiIKKyJlc3BsaWNpdGFtZW50ZS5cbiIKKyJcbiIKKyJVc2EgJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHBlciBtb2RpZmljYXJlIGlsIGxpdmVsbG9cbiIKKyJkZWdsaSBhdnZpc2kuXG4iCisiSSBjb21wb3J0YW1lbnRpIHBvc3NpYmlsaSBzb25vIGlnbm9yZSwgd2FybiwgZXJyb3IuXG4iCisiXG4iCisKKyM6IHJlZnMuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBvYmplY3QhIgorbXNnc3RyICIlcyBub24gcHVudGEgYSB1biBvZ2dldHRvIHZhbGlkbyEiCisKKyM6IHJlZnMuYzo2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgZGFuZ2xpbmcgc3ltcmVmICVzIgorbXNnc3RyICJpZ25vcm8gaWwgcmlmZXJpbWVudG8gc2ltYm9saWNvIHBlbmRlbnRlICVzIgorCisjOiByZWZzLmM6NjY5IHJlZi1maWx0ZXIuYzoyMDk4CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCittc2dzdHIgImlnbm9ybyBpbCByaWZlcmltZW50byByb3R0byAlcyIKKworIzogcmVmcy5jOjgwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nOiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICclcycgaW4gc2NyaXR0dXJhOiAlcyIKKworIzogcmVmcy5jOjgxNCByZWZzLmM6ODY1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIHJlZiAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGlsIHJpZmVyaW1lbnRvICclcyciCisKKyM6IHJlZnMuYzo4MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmICclcycgYWxyZWFkeSBleGlzdHMiCittc2dzdHIgImlsIHJpZmVyaW1lbnRvICclcycgZXNpc3RlIGdpw6AiCisKKyM6IHJlZnMuYzo4MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBvYmplY3QgSUQgd2hlbiB3cml0aW5nICclcyciCittc2dzdHIgIklEIG9nZ2V0dG8gaW5hdHRlc28gZHVyYW50ZSBsYSBzY3JpdHR1cmEgZGkgJyVzJyIKKworIzogcmVmcy5jOjgzMyBzZXF1ZW5jZXIuYzo0MDUgc2VxdWVuY2VyLmM6Mjc5MyBzZXF1ZW5jZXIuYzoyOTk3CisjOiBzZXF1ZW5jZXIuYzozMDExIHNlcXVlbmNlci5jOjMyNjkgc2VxdWVuY2VyLmM6NTE3OSBzdHJidWYuYzoxMTQyCisjOiB3cmFwcGVyLmM6NjIwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBzdSAnJXMnIgorCisjOiByZWZzLmM6ODYwIHN0cmJ1Zi5jOjExNDAgd3JhcHBlci5jOjE4OCB3cmFwcGVyLmM6MzU4IGJ1aWx0aW4vYW0uYzo3MTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTAzMQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJyVzJyBpbiBzY3JpdHR1cmEiCisKKyM6IHJlZnMuYzo4NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBvYmplY3QgSUQgd2hlbiBkZWxldGluZyAnJXMnIgorbXNnc3RyICJJRCBvZ2dldHRvIGluYXR0ZXNvIGR1cmFudGUgbCdlbGltaW5hemlvbmUgZGkgJyVzJyIKKworIzogcmVmcy5jOjk5OAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2cgZm9yIHJlZiAlcyBoYXMgZ2FwIGFmdGVyICVzIgorbXNnc3RyICJpbCByZWdpc3RybyBwZXIgaWwgcmlmZXJpbWVudG8gJXMgaGEgZGVsbGUgdm9jaSBtYW5jYW50aSBkb3BvICVzIgorCisjOiByZWZzLmM6MTAwNAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2cgZm9yIHJlZiAlcyB1bmV4cGVjdGVkbHkgZW5kZWQgb24gJXMiCittc2dzdHIgImlsIHJlZ2lzdHJvIHBlciBpbCByaWZlcmltZW50byAlcyDDqCB0ZXJtaW5hdG8gaW5hc3BldHRhdGFtZW50ZSBhICVzIgorCisjOiByZWZzLmM6MTA2MworIywgYy1mb3JtYXQKK21zZ2lkICJsb2cgZm9yICVzIGlzIGVtcHR5IgorbXNnc3RyICJpbCByZWdpc3RybyBwZXIgJXMgw6ggdnVvdG8iCisKKyM6IHJlZnMuYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZnVzaW5nIHRvIHVwZGF0ZSByZWYgd2l0aCBiYWQgbmFtZSAnJXMnIgorbXNnc3RyICJtaSByaWZpdXRvIGRpIGFnZ2lvcm5hcmUgaWwgcmlmZXJpbWVudG8gY29uIGlsIG5vbWUgbm9uIHZhbGlkbyAnJXMnIgorCisjOiByZWZzLmM6MTIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1cGRhdGVfcmVmIGZhaWxlZCBmb3IgcmVmICclcyc6ICVzIgorbXNnc3RyICJ1cGRhdGVfcmVmIHBlciBpbCByaWZlcmltZW50byAnJXMnIG5vbiByaXVzY2l0YTogJXMiCisKKyM6IHJlZnMuYzoyMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIm11bHRpcGxlIHVwZGF0ZXMgZm9yIHJlZiAnJXMnIG5vdCBhbGxvd2VkIgorbXNnc3RyICJhZ2dpb3JuYW1lbnRpIG11bHRpcGxpIHBlciBpbCByaWZlcmltZW50byAnJXMnIG5vbiBjb25zZW50aXRpIgorCisjOiByZWZzLmM6MjA1NQorbXNnaWQgInJlZiB1cGRhdGVzIGZvcmJpZGRlbiBpbnNpZGUgcXVhcmFudGluZSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiYWdnaW9ybmFtZW50aSByaWZlcmltZW50byB2aWV0YXRpIG5lbGwnYW1iaWVudGUgcXVhcmFudGVuYSIKKworIzogcmVmcy5jOjIxNTEgcmVmcy5jOjIxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJyVzJyIKK21zZ3N0ciAiJyVzJyBlc2lzdGUgZ2nDoDsgaW1wb3NzaWJpbGUgY3JlYXJlICclcyciCisKKyM6IHJlZnMuYzoyMTU3IHJlZnMuYzoyMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBwcm9jZXNzICclcycgYW5kICclcycgYXQgdGhlIHNhbWUgdGltZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZ2VzdGlyZSAnJXMnIGUgJyVzJyBjb250ZW1wb3JhbmVhbWVudGUiCisKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlbW92ZSByZWZlcmVuY2UgJXMiCittc2dzdHIgImltcG9zc2liaWxlIHJpbXVvdmVyZSBpbCByaWZlcmltZW50byAlcyIKKworIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTI0OCByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTU0MQorIzogcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2UgJXM6ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlbGltaW5hcmUgaWwgcmlmZXJpbWVudG8gJXM6ICVzIgorCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxMjUxIHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlczogJXMiCittc2dzdHIgImltcG9zc2liaWxlIGVsaW1pbmFyZSBpIHJpZmVyaW1lbnRpOiAlcyIKKworIzogcmVmc3BlYy5jOjEzNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHJlZnNwZWMgJyVzJyIKK21zZ3N0ciAic3BlY2lmaWNhdG9yZSByaWZlcmltZW50byAnJXMnIG5vbiB2YWxpZG8iCisKKyM6IHJlZi1maWx0ZXIuYzo0MiB3dC1zdGF0dXMuYzoxOTM4Cittc2dpZCAiZ29uZSIKK21zZ3N0ciAic3Bhcml0byIKKworIzogcmVmLWZpbHRlci5jOjQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFoZWFkICVkIgorbXNnc3RyICJkb3BvICVkIgorCisjOiByZWYtZmlsdGVyLmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmVoaW5kICVkIgorbXNnc3RyICJwcmltYSBkaSAlZCIKKworIzogcmVmLWZpbHRlci5jOjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImFoZWFkICVkLCBiZWhpbmQgJWQiCittc2dzdHIgImRvcG8gJWQsIHByaW1hIGRpICVkIgorCisjOiByZWYtZmlsdGVyLmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgImV4cGVjdGVkIGZvcm1hdDogJSUoY29sb3I6PGNvbG9yPikiCittc2dzdHIgImZvcm1hdG8gYXR0ZXNvOiAlJShjb2xvcjo8Y29sb3JlPikiCisKKyM6IHJlZi1maWx0ZXIuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIGNvbG9yOiAlJShjb2xvcjolcykiCittc2dzdHIgImNvbG9yZSBub24gcmljb25vc2NpdXRvOiAlJShjb2xvcjolcykiCisKKyM6IHJlZi1maWx0ZXIuYzoxODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZWdlciB2YWx1ZSBleHBlY3RlZCByZWZuYW1lOmxzdHJpcD0lcyIKK21zZ3N0ciAiQXR0ZXNvIHZhbG9yZSBpbnRlcm86IHJlZm5hbWU6bHN0cmlwPSVzIgorCisjOiByZWYtZmlsdGVyLmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVnZXIgdmFsdWUgZXhwZWN0ZWQgcmVmbmFtZTpyc3RyaXA9JXMiCittc2dzdHIgIkF0dGVzbyB2YWxvcmUgaW50ZXJvOiByZWZuYW1lOnJzdHJpcD0lcyIKKworIzogcmVmLWZpbHRlci5jOjE5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUoJXMpIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYXJnb21lbnRvICUlKCVzKSBub24gcmljb25vc2NpdXRvOiAlcyIKKworIzogcmVmLWZpbHRlci5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlJShvYmplY3R0eXBlKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKK21zZ3N0ciAiJSUob2JqZWN0dHlwZSkgbm9uIGFjY2V0dGEgYXJnb21lbnRpIgorCisjOiByZWYtZmlsdGVyLmM6MjcyCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RzaXplKSBhcmd1bWVudDogJXMiCittc2dzdHIgImFyZ29tZW50byAlJShvYmplY3RzaXplKSBub24gcmljb25vc2NpdXRvOiAlcyIKKworIzogcmVmLWZpbHRlci5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlJShkZWx0YWJhc2UpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgorbXNnc3RyICIlJShkZWx0YWJhc2UpIG5vbiBhY2NldHRhIGFyZ29tZW50aSIKKworIzogcmVmLWZpbHRlci5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlJShib2R5KSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKK21zZ3N0ciAiJSUoYm9keSkgbm9uIGFjY2V0dGEgYXJnb21lbnRpIgorCisjOiByZWYtZmlsdGVyLmM6MzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlKHN1YmplY3QpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgorbXNnc3RyICIlJShzdWJqZWN0KSBub24gYWNjZXR0YSBhcmdvbWVudGkiCisKKyM6IHJlZi1maWx0ZXIuYzozMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biAlJSh0cmFpbGVycykgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmdvbWVudG8gJSUodHJhaWxlcnMpIHNjb25vc2NpdXRvOiAlcyIKKworIzogcmVmLWZpbHRlci5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBjb250ZW50czpsaW5lcz0lcyIKK21zZ3N0ciAiYXR0ZXNvIHZhbG9yZSBwb3NpdGl2byBpbiBjb250ZW50czpsaW5lcz0lcyIKKworIzogcmVmLWZpbHRlci5jOjM1NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUoY29udGVudHMpIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYXJnb21lbnRvICUlKGNvbnRlbnRzKSBub24gcmljb25vc2NpdXRvOiAlcyIKKworIzogcmVmLWZpbHRlci5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBvYmplY3RuYW1lOnNob3J0PSVzIgorbXNnc3RyICJhdHRlc28gdmFsb3JlIHBvc2l0aXZvIGluIG9iamVjdG5hbWU6c2hvcnQ9JXMiCisKKyM6IHJlZi1maWx0ZXIuYzozNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkICUlKG9iamVjdG5hbWUpIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYXJnb21lbnRvICUlKG9iamVjdG5hbWUpIG5vbiByaWNvbm9zY2l1dG86ICVzIgorCisjOiByZWYtZmlsdGVyLmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgImV4cGVjdGVkIGZvcm1hdDogJSUoYWxpZ246PHdpZHRoPiw8cG9zaXRpb24+KSIKK21zZ3N0ciAiZm9ybWF0byBhdHRlc286ICUlKGFsaWduOjxhbXBpZXp6YT4sPHBvc2l6aW9uZT4pIgorCisjOiByZWYtZmlsdGVyLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBwb3NpdGlvbjolcyIKK21zZ3N0ciAidmFsb3JlIG5vbiByaWNvbm9zY2l1dG86IHBvc2l0aW9uOiVzIgorCisjOiByZWYtZmlsdGVyLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCB3aWR0aDolcyIKK21zZ3N0ciAidmFsb3JlIG5vbiByaWNvbm9zY2l1dG86IHdpZHRoOiVzIgorCisjOiByZWYtZmlsdGVyLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCAlJShhbGlnbikgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmdvbWVudG8gJSUoYWxpZ24pIG5vbiByaWNvbm9zY2l1dG86ICVzIgorCisjOiByZWYtZmlsdGVyLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgInBvc2l0aXZlIHdpZHRoIGV4cGVjdGVkIHdpdGggdGhlICUlKGFsaWduKSBhdG9tIgorbXNnc3RyICJhdHRlc2EgYW1waWV6emEgcG9zaXRpdmEgY29uIGwnYXRvbSAlJShhbGlnbikiCisKKyM6IHJlZi1maWx0ZXIuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkICUlKGlmKSBhcmd1bWVudDogJXMiCittc2dzdHIgImFyZ29tZW50byAlJShpZikgbm9uIHJpY29ub3NjaXV0bzogJXMiCisKKyM6IHJlZi1maWx0ZXIuYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsZm9ybWVkIGZpZWxkIG5hbWU6ICUuKnMiCittc2dzdHIgIm5vbWUgY2FtcG8gbWFsZm9ybWF0bzogJS4qcyIKKworIzogcmVmLWZpbHRlci5jOjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpZWxkIG5hbWU6ICUuKnMiCittc2dzdHIgIm5vbWUgY2FtcG8gc2Nvbm9zY2l1dG86ICUuKnMiCisKKyM6IHJlZi1maWx0ZXIuYzo1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5vdCBhIGdpdCByZXBvc2l0b3J5LCBidXQgdGhlIGZpZWxkICclLipzJyByZXF1aXJlcyBhY2Nlc3MgdG8gb2JqZWN0IGRhdGEiCittc2dzdHIgIiIKKyJub24gw6ggdW4gcmVwb3NpdG9yeSBnaXQsIG1hIGlsIGNhbXBvICclLipzJyByaWNoaWVkZSBsJ2FjY2Vzc28gYWkgZGF0aSAiCisib2dnZXR0byIKKworIzogcmVmLWZpbHRlci5jOjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGlmKSBhdG9tIHVzZWQgd2l0aG91dCBhICUlKHRoZW4pIGF0b20iCittc2dzdHIgImZvcm1hdG86IGF0b21vICUlKGlmKSB1c2F0byBzZW56YSB1biBhdG9tbyAlJSh0aGVuKSIKKworIzogcmVmLWZpbHRlci5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCB3aXRob3V0IGFuICUlKGlmKSBhdG9tIgorbXNnc3RyICJmb3JtYXRvOiBhdG9tbyAlJSh0aGVuKSB1c2F0byBzZW56YSB1biBhdG9tbyAlJShpZikiCisKKyM6IHJlZi1maWx0ZXIuYzo3NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgImZvcm1hdG86IGF0b21vICUlKHRoZW4pIHVzYXRvIHBpw7kgZGkgdW5hIHZvbHRhIgorCisjOiByZWYtZmlsdGVyLmM6NzgxCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIGFmdGVyICUlKGVsc2UpIgorbXNnc3RyICJmb3JtYXRvOiBhdG9tbyAlJSh0aGVuKSB1c2F0byBkb3BvICUlKGVsc2UpIgorCisjOiByZWYtZmlsdGVyLmM6ODA5CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYW4gJSUoaWYpIGF0b20iCittc2dzdHIgImZvcm1hdG86IGF0b21vICUlKGVsc2UpIHVzYXRvIHNlbnphIHVuIGF0b21vICUlKGlmKSIKKworIzogcmVmLWZpbHRlci5jOjgxMQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCB3aXRob3V0IGEgJSUodGhlbikgYXRvbSIKK21zZ3N0ciAiZm9ybWF0bzogYXRvbW8gJSUoZWxzZSkgdXNhdG8gc2VuemEgdW4gYXRvbW8gJSUodGhlbikiCisKKyM6IHJlZi1maWx0ZXIuYzo4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgImZvcm1hdG86IGF0b21vICUlKGVsc2UpIHVzYXRvIHBpw7kgZGkgdW5hIHZvbHRhIgorCisjOiByZWYtZmlsdGVyLmM6ODI4CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoZW5kKSBhdG9tIHVzZWQgd2l0aG91dCBjb3JyZXNwb25kaW5nIGF0b20iCittc2dzdHIgImZvcm1hdG86IGF0b21vICUlKGVuZCkgdXNhdG8gc2VuemEgbCdhdG9tbyBjb3JyaXNwb25kZW50ZSIKKworIzogcmVmLWZpbHRlci5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgZm9ybWF0IHN0cmluZyAlcyIKK21zZ3N0ciAic3RyaW5nYSBkaSBmb3JtYXRvICVzIG1hbGZvcm1hdGEiCisKKyM6IHJlZi1maWx0ZXIuYzoxNDg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGJyYW5jaCwgcmViYXNpbmcgJXMiCittc2dzdHIgIm5lc3N1biBicmFuY2gsIGVzZWd1byBpbCByZWJhc2UgZGkgJXMiCisKKyM6IHJlZi1maWx0ZXIuYzoxNDkxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGJyYW5jaCwgcmViYXNpbmcgZGV0YWNoZWQgSEVBRCAlcyIKK21zZ3N0ciAibmVzc3VuIGJyYW5jaCwgZXNlZ3VvIGlsIHJlYmFzZSBkZWxsJ0hFQUQgc2NvbGxlZ2F0byAlcyIKKworIzogcmVmLWZpbHRlci5jOjE0OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcyIKK21zZ3N0ciAibmVzc3VuIGJyYW5jaCwgYmlzZXppb25lIGF2dmlhdGEgc3UgJXMiCisKKyM6IHJlZi1maWx0ZXIuYzoxNTA0Cittc2dpZCAibm8gYnJhbmNoIgorbXNnc3RyICJuZXNzdW4gYnJhbmNoIgorCisjOiByZWYtZmlsdGVyLmM6MTU0MCByZWYtZmlsdGVyLmM6MTc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIG9iamVjdCAlcyBmb3IgJXMiCittc2dzdHIgIm9nZ2V0dG8gJXMgbWFuY2FudGUgcGVyICVzIgorCisjOiByZWYtZmlsdGVyLmM6MTU1MAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJzZV9vYmplY3RfYnVmZmVyIGZhaWxlZCBvbiAlcyBmb3IgJXMiCittc2dzdHIgInBhcnNlX29iamVjdF9idWZmZXIgbm9uIHJpdXNjaXRvIHN1ICVzIHBlciAlcyIKKworIzogcmVmLWZpbHRlci5jOjIwMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsZm9ybWVkIG9iamVjdCBhdCAnJXMnIgorbXNnc3RyICJvZ2dldHRvIG1hbGZvcm1hdG8gaW4gJyVzJyIKKworIzogcmVmLWZpbHRlci5jOjIwOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgcmVmIHdpdGggYnJva2VuIG5hbWUgJXMiCittc2dzdHIgImlnbm9ybyBpbCByaWZlcmltZW50byBjb24gaWwgbm9tZSBtYWxmb3JtYXRvICVzIgorCisjOiByZWYtZmlsdGVyLmM6MjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgorbXNnc3RyICJmb3JtYXRvOiBhdG9tbyAlJShlbmQpIG1hbmNhbnRlIgorCisjOiByZWYtZmlsdGVyLmM6MjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW1lcmdlZCIKK21zZ3N0ciAibCdvcHppb25lIGAlcycgbm9uIMOoIGNvbXBhdGliaWxlIGNvbiAtLW1lcmdlZCIKKworIzogcmVmLWZpbHRlci5jOjI0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1uby1tZXJnZWQiCittc2dzdHIgImwnb3B6aW9uZSBgJXMnIG5vbiDDqCBjb21wYXRpYmlsZSBjb24gLS1uby1tZXJnZWQiCisKKyM6IHJlZi1maWx0ZXIuYzoyNTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKK21zZ3N0ciAibm9tZSBkZWxsJ29nZ2V0dG8gJXMgbWFsZm9ybWF0byIKKworIzogcmVmLWZpbHRlci5jOjI1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgbXVzdCBwb2ludCB0byBhIGNvbW1pdCIKK21zZ3N0ciAibCdvcHppb25lIGAlcycgZGV2ZSBwdW50YXJlIGFkIHVuIGNvbW1pdCIKKworIzogcmVtb3RlLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbmZpZyByZW1vdGUgc2hvcnRoYW5kIGNhbm5vdCBiZWdpbiB3aXRoICcvJzogJXMiCittc2dzdHIgIiIKKyJsYSBmb3JtYSBicmV2ZSBkZWxsYSBjb25maWd1cmF6aW9uZSBkZWwgcmVtb3RvIG5vbiBwdcOyIGluaXppYXJlIGNvbiAnLyc6ICVzIgorCisjOiByZW1vdGUuYzo0MTMKK21zZ2lkICJtb3JlIHRoYW4gb25lIHJlY2VpdmVwYWNrIGdpdmVuLCB1c2luZyB0aGUgZmlyc3QiCittc2dzdHIgIsOoIHN0YXRhIHNwZWNpZmljYXRhIHBpw7kgZGkgdW5hIGRpcmV0dGl2YSByZWNlaXZlcGFjaywgdXNvIGxhIHByaW1hIgorCisjOiByZW1vdGUuYzo0MjEKK21zZ2lkICJtb3JlIHRoYW4gb25lIHVwbG9hZHBhY2sgZ2l2ZW4sIHVzaW5nIHRoZSBmaXJzdCIKK21zZ3N0ciAiw6ggc3RhdGEgc3BlY2lmaWNhdGEgcGnDuSBkaSB1bmEgZGlyZXR0aXZhIHVwbG9hZHBhY2ssIHVzbyBsYSBwcmltYSIKKworIzogcmVtb3RlLmM6NjExCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBmZXRjaCBib3RoICVzIGFuZCAlcyB0byAlcyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgcmVjdXBlcmFyZSBzaWEgJXMgc2lhICVzIGluICVzIgorCisjOiByZW1vdGUuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXN1YWxseSB0cmFja3MgJXMsIG5vdCAlcyIKK21zZ3N0ciAiJXMgc29saXRhbWVudGUgdHJhY2NpYSAlcywgbm9uICVzIgorCisjOiByZW1vdGUuYzo2MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdHJhY2tzIGJvdGggJXMgYW5kICVzIgorbXNnc3RyICIlcyB0cmFjY2lhIHNpYSAlcyBzaWEgJXMiCisKKyM6IHJlbW90ZS5jOjY4NworIywgYy1mb3JtYXQKK21zZ2lkICJrZXkgJyVzJyBvZiBwYXR0ZXJuIGhhZCBubyAnKiciCittc2dzdHIgImxhIGNoaWF2ZSAnJXMnIGRlbCBwYXR0ZXJuIG5vbiBhdmV2YSB1biAnKiciCisKKyM6IHJlbW90ZS5jOjY5NworIywgYy1mb3JtYXQKK21zZ2lkICJ2YWx1ZSAnJXMnIG9mIHBhdHRlcm4gaGFzIG5vICcqJyIKK21zZ3N0ciAiaWwgdmFsb3JlICclcycgZGVsIHBhdHRlcm4gbm9uIGhhIHVuICcqJyIKKworIzogcmVtb3RlLmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICJzcmMgcmVmc3BlYyAlcyBkb2VzIG5vdCBtYXRjaCBhbnkiCittc2dzdHIgIm5lc3N1bmEgY29ycmlzcG9uZGVuemEgcGVyIGxvIHNwZWNpZmljYXRvcmUgcmlmZXJpbWVudG8gc29yZ2VudGUgJXMiCisKKyM6IHJlbW90ZS5jOjEwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3JjIHJlZnNwZWMgJXMgbWF0Y2hlcyBtb3JlIHRoYW4gb25lIgorbXNnc3RyICIiCisic29ubyBzdGF0ZSB0cm92YXRlIHBpw7kgY29ycmlzcG9uZGVuemUgcGVyIGxvIHNwZWNpZmljYXRvcmUgcmlmZXJpbWVudG8gIgorInNvcmdlbnRlICVzIgorCisjLiBUUkFOU0xBVE9SUzogIm1hdGNoZXMgJyVzJyUiIGlzIHRoZSA8ZHN0PiBwYXJ0IG9mICJnaXQgcHVzaAorIy4gPHJlbW90ZT4gPHNyYz46PGRzdD4iIHB1c2gsIGFuZCAiYmVpbmcgcHVzaGVkICgnJXMnKSIgaXMKKyMuIHRoZSA8c3JjPi4KKyMuCisjOiByZW1vdGUuYzoxMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVzdGluYXRpb24geW91IHByb3ZpZGVkIGlzIG5vdCBhIGZ1bGwgcmVmbmFtZSAoaS5lLixcbiIKKyJzdGFydGluZyB3aXRoIFwicmVmcy9cIikuIFdlIHRyaWVkIHRvIGd1ZXNzIHdoYXQgeW91IG1lYW50IGJ5OlxuIgorIlxuIgorIi0gTG9va2luZyBmb3IgYSByZWYgdGhhdCBtYXRjaGVzICclcycgb24gdGhlIHJlbW90ZSBzaWRlLlxuIgorIi0gQ2hlY2tpbmcgaWYgdGhlIDxzcmM+IGJlaW5nIHB1c2hlZCAoJyVzJylcbiIKKyIgIGlzIGEgcmVmIGluIFwicmVmcy97aGVhZHMsdGFnc30vXCIuIElmIHNvIHdlIGFkZCBhIGNvcnJlc3BvbmRpbmdcbiIKKyIgIHJlZnMve2hlYWRzLHRhZ3N9LyBwcmVmaXggb24gdGhlIHJlbW90ZSBzaWRlLlxuIgorIlxuIgorIk5laXRoZXIgd29ya2VkLCBzbyB3ZSBnYXZlIHVwLiBZb3UgbXVzdCBmdWxseSBxdWFsaWZ5IHRoZSByZWYuIgorbXNnc3RyICIiCisiTGEgZGVzdGluYXppb25lIGNoZSBoYWkgZm9ybml0byBub24gw6ggdW4gbm9tZSByaWZlcmltZW50b1xuIgorImNvbXBsZXRvIChvc3NpYSBjaGUgaW5pemlhIGNvbiBcInJlZnMvXCIpLiBBYmJpYW1vIHByb3ZhdG8gYVxuIgorImluZG92aW5hcmUgY2nDsiBjaGUgaW50ZW5kZXZpIGRpcmU6XG4iCisiXG4iCisiLSBjZXJjYW5kbyB1biByaWZlcmltZW50byBjb3JyaXNwb25kZW50ZSBhICclcycgbmVsIHJlbW90bztcbiIKKyItIGNvbnRyb2xsYW5kbyBzZSBsYSA8c29yZ2VudGU+IHNvdHRvcG9zdGEgYSBwdXNoICgnJXMnKSBmb3NzZSB1blxuIgorIiAgcmlmZXJpbWVudG8gY29tcHJlc28gZnJhIHF1ZWxsaSBpbiBcInJlZnMve2hlYWRzLHRhZ3N9L1wiLiBJbiB0YWxcbiIKKyIgIGNhc28gYXZyZW1tbyBhZ2dpdW50byBpbCBwcmVmaXNzbyBjb3JyaXNwb25kZW50ZVxuIgorIiAgcmVmcy97aGVhZHMsdGFnc30vIGFsIHJlbW90by5cbiIKKyJcbiIKKyJOZXNzdW5hIGRlbGxlIGR1ZSBvcHppb25pIGhhIGZ1bnppb25hdG8sIHF1aW5kaSBjaSBzaWFtbyBhcnJlc2kuXG4iCisiRGV2aSBzcGVjaWZpY2FyZSB1biByaWZlcmltZW50byBjb21wbGV0YW1lbnRlIHF1YWxpZmljYXRvLiIKKworIzogcmVtb3RlLmM6MTA0MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSBjb21taXQgb2JqZWN0LlxuIgorIkRpZCB5b3UgbWVhbiB0byBjcmVhdGUgYSBuZXcgYnJhbmNoIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy9oZWFkcy8lcyc/IgorbXNnc3RyICIiCisiTGEgcGFydGUgPHNvcmdlbnRlPiBkZWxsbyBzcGVjaWZpY2F0b3JlIHJpZmVyaW1lbnRvXG4iCisiw6ggdW4gb2dnZXR0byB0YWcuIEZvcnNlIGludGVuZGV2aSBjcmVhcmUgdW4gbnVvdm9cbiIKKyJicmFuY2ggZXNlZ3VlbmRvIGlsIHB1c2ggYSAnJXM6cmVmcy9oZWFkcy8lcyc/IgorCisjOiByZW1vdGUuYzoxMDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIHRhZyBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIGNyZWF0ZSBhIG5ldyB0YWcgYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL3RhZ3MvJXMnPyIKK21zZ3N0ciAiIgorIkxhIHBhcnRlIDxzb3JnZW50ZT4gZGVsbG8gc3BlY2lmaWNhdG9yZSByaWZlcmltZW50b1xuIgorIsOoIHVuIG9nZ2V0dG8gdGFnLiBGb3JzZSBpbnRlbmRldmkgY3JlYXJlIHVuIG51b3ZvXG4iCisiYnJhbmNoIGVzZWd1ZW5kbyBpbCBwdXNoIGEgJyVzOnJlZnMvdGFncy8lcyc/IgorCisjOiByZW1vdGUuYzoxMDUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIHRyZWUgb2JqZWN0LlxuIgorIkRpZCB5b3UgbWVhbiB0byB0YWcgYSBuZXcgdHJlZSBieSBwdXNoaW5nIHRvXG4iCisiJyVzOnJlZnMvdGFncy8lcyc/IgorbXNnc3RyICIiCisiTGEgcGFydGUgPHNvcmdlbnRlPiBkZWxsbyBzcGVjaWZpY2F0b3JlIHJpZmVyaW1lbnRvXG4iCisiw6ggdW4gb2dnZXR0byBhbGJlcm8uIEZvcnNlIGludGVuZGV2aSBhZ2dpdW5nZXJlIHVuXG4iCisidGFnIGEgdW4gbnVvdm8gYWxiZXJvIGVzZWd1ZW5kbyBpbCBwdXNoIGFcbiIKKyInJXM6cmVmcy90YWdzLyVzJz8iCisKKyM6IHJlbW90ZS5jOjEwNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSA8c3JjPiBwYXJ0IG9mIHRoZSByZWZzcGVjIGlzIGEgYmxvYiBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIHRhZyBhIG5ldyBibG9iIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy90YWdzLyVzJz8iCittc2dzdHIgIiIKKyJMYSBwYXJ0ZSA8c29yZ2VudGU+IGRlbGxvIHNwZWNpZmljYXRvcmUgcmlmZXJpbWVudG9cbiIKKyLDqCB1biBvZ2dldHRvIGJsb2IuIEZvcnNlIGludGVuZGV2aSBhZ2dpdW5nZXJlIHVuXG4iCisidGFnIGEgdW4gbnVvdm8gYmxvYiBlc2VndWVuZG8gaWwgcHVzaCBhXG4iCisiJyVzOnJlZnMvdGFncy8lcyc/IgorCisjOiByZW1vdGUuYzoxMDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhbm5vdCBiZSByZXNvbHZlZCB0byBicmFuY2giCittc2dzdHIgIiVzIG5vbiBwdcOyIGVzc2VyZSByaXNvbHRvIGluIHVuIGJyYW5jaCIKKworIzogcmVtb3RlLmM6MTEwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZGVsZXRlICclcyc6IHJlbW90ZSByZWYgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImltcG9zc2liaWxlIGVsaW1pbmFyZSAnJXMnOiBpbCByaWZlcmltZW50byByZW1vdG8gbm9uIGVzaXN0ZSIKKworIzogcmVtb3RlLmM6MTExNworIywgYy1mb3JtYXQKK21zZ2lkICJkc3QgcmVmc3BlYyAlcyBtYXRjaGVzIG1vcmUgdGhhbiBvbmUiCittc2dzdHIgIiIKKyJzb25vIHN0YXRlIHRyb3ZhdGUgcGnDuSBjb3JyaXNwb25kZW56ZSBwZXIgbG8gc3BlY2lmaWNhdG9yZSByaWZlcmltZW50byAiCisiZGVzdGluYXppb25lICVzIgorCisjOiByZW1vdGUuYzoxMTI0CisjLCBjLWZvcm1hdAorbXNnaWQgImRzdCByZWYgJXMgcmVjZWl2ZXMgZnJvbSBtb3JlIHRoYW4gb25lIHNyYyIKK21zZ3N0ciAiIgorImxvIHNwZWNpZmljYXRvcmUgcmlmZXJpbWVudG8gZGVzdGluYXppb25lICVzIHJpY2V2ZSBkYXRpIGRhIHBpw7kgZGkgdW5hICIKKyJzb3JnZW50ZSIKKworIzogcmVtb3RlLmM6MTYyNyByZW1vdGUuYzoxNzI4Cittc2dpZCAiSEVBRCBkb2VzIG5vdCBwb2ludCB0byBhIGJyYW5jaCIKK21zZ3N0ciAiSEVBRCBub24gcHVudGEgYWQgdW4gYnJhbmNoIgorCisjOiByZW1vdGUuYzoxNjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggYnJhbmNoOiAnJXMnIgorbXNnc3RyICJicmFuY2ggJyVzJyBub24gZXNpc3RlbnRlIgorCisjOiByZW1vdGUuYzoxNjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHVwc3RyZWFtIGNvbmZpZ3VyZWQgZm9yIGJyYW5jaCAnJXMnIgorbXNnc3RyICJuZXNzdW4gdXBzdHJlYW0gY29uZmlndXJhdG8gcGVyIGlsIGJyYW5jaCAnJXMnIgorCisjOiByZW1vdGUuYzoxNjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgorbXNnc3RyICIiCisiYnJhbmNoIHVwc3RyZWFtICclcycgbm9uIG1lbW9yaXp6YXRvIGNvbWUgYnJhbmNoIGNoZSBuZSB0cmFjY2lhIHVubyByZW1vdG8iCisKKyM6IHJlbW90ZS5jOjE2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAicHVzaCBkZXN0aW5hdGlvbiAnJXMnIG9uIHJlbW90ZSAnJXMnIGhhcyBubyBsb2NhbCB0cmFja2luZyBicmFuY2giCittc2dzdHIgIiIKKyJsYSBkZXN0aW5hemlvbmUgZGVsIHB1c2ggJyVzJyBzdWwgcmVtb3RvICclcycgbm9uIGhhIHVuIGJyYW5jaCBsb2NhbGUgY2hlIGxhICIKKyJ0cmFjY2lhIgorCisjOiByZW1vdGUuYzoxNjcyCisjLCBjLWZvcm1hdAorbXNnaWQgImJyYW5jaCAnJXMnIGhhcyBubyByZW1vdGUgZm9yIHB1c2hpbmciCittc2dzdHIgImlsIGJyYW5jaCAnJXMnIG5vbiBoYSB1biByZW1vdG8gcGVyIGlsIHB1c2giCisKKyM6IHJlbW90ZS5jOjE2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicHVzaCByZWZzcGVjcyBmb3IgJyVzJyBkbyBub3QgaW5jbHVkZSAnJXMnIgorbXNnc3RyICJnbGkgc3BlY2lmaWNhdG9yaSByaWZlcmltZW50byBwZXIgJyVzJyBub24gaW5jbHVkb25vICclcyciCisKKyM6IHJlbW90ZS5jOjE2OTUKK21zZ2lkICJwdXNoIGhhcyBubyBkZXN0aW5hdGlvbiAocHVzaC5kZWZhdWx0IGlzICdub3RoaW5nJykiCittc2dzdHIgImlsIHB1c2ggbm9uIGhhIHVuYSBkZXN0aW5hemlvbmUgKHB1c2guZGVmYXVsdCDDqCAnbm90aGluZycpIgorCisjOiByZW1vdGUuYzoxNzE3Cittc2dpZCAiY2Fubm90IHJlc29sdmUgJ3NpbXBsZScgcHVzaCB0byBhIHNpbmdsZSBkZXN0aW5hdGlvbiIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmlzb2x2ZXJlIGlsIHB1c2ggJ3NpbXBsZScgYSB1bmEgc2luZ29sYSBkZXN0aW5hemlvbmUiCisKKyM6IHJlbW90ZS5jOjE4NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCByZW1vdGUgcmVmICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSB0cm92YXJlIGlsIHJpZmVyaW1lbnRvIHJlbW90byAlcyIKKworIzogcmVtb3RlLmM6MTg1NgorIywgYy1mb3JtYXQKK21zZ2lkICIqIElnbm9yaW5nIGZ1bm55IHJlZiAnJXMnIGxvY2FsbHkiCittc2dzdHIgIiogSWdub3JvIGxvY2FsbWVudGUgaWwgcmlmZXJpbWVudG8gc3RyYW5vICclcyciCisKKyM6IHJlbW90ZS5jOjIwMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgorbXNnc3RyICJJbCB0dW8gYnJhbmNoIMOoIGJhc2F0byBzdSAnJXMnLCBtYSBsJ3Vwc3RyZWFtIMOoIHNjb21wYXJzby5cbiIKKworIzogcmVtb3RlLmM6MjAyMworbXNnaWQgIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIgorbXNnc3RyICIgICh1c2EgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiBwZXIgY29ycmVnZ2VyZSBsYSBzaXR1YXppb25lKVxuIgorCisjOiByZW1vdGUuYzoyMDI2CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGlzIHVwIHRvIGRhdGUgd2l0aCAnJXMnLlxuIgorbXNnc3RyICJJbCB0dW8gYnJhbmNoIMOoIGFnZ2lvcm5hdG8gcmlzcGV0dG8gYSAnJXMnLlxuIgorCisjOiByZW1vdGUuYzoyMDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdXIgYnJhbmNoIGFuZCAnJXMnIHJlZmVyIHRvIGRpZmZlcmVudCBjb21taXRzLlxuIgorbXNnc3RyICJJbCB0dW8gYnJhbmNoIGUgJyVzJyBmYW5ubyByaWZlcmltZW50byBhIGNvbW1pdCBkaWZmZXJlbnRpLlxuIgorCisjOiByZW1vdGUuYzoyMDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgKHVzZSBcIiVzXCIgZm9yIGRldGFpbHMpXG4iCittc2dzdHIgIiAgKHVzYSBcIiVzXCIgcGVyIHZpc3VhbGl6emFyZSBpIGRldHRhZ2xpKVxuIgorCisjOiByZW1vdGUuYzoyMDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0LlxuIgogbXNnaWRfcGx1cmFsICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdHMuXG4iCiBtc2dzdHJbMF0gIklsIHR1byBicmFuY2ggw6ggYXZhbnRpIHJpc3BldHRvIGEgJyVzJyBkaSAlZCBjb21taXQuXG4iCiBtc2dzdHJbMV0gIklsIHR1byBicmFuY2ggw6ggYXZhbnRpIHJpc3BldHRvIGEgJyVzJyBkaSAlZCBjb21taXQuXG4iCiAKLSM6IHJlbW90ZS5jOjE2MzUKKyM6IHJlbW90ZS5jOjIwNDMKK21zZ2lkICIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIgorbXNnc3RyICIgICh1c2EgXCJnaXQgcHVzaFwiIHBlciBwdWJibGljYXJlIGkgdHVvaSBjb21taXQgbG9jYWxpKVxuIgorCisjOiByZW1vdGUuYzoyMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdCwgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKIG1zZ2lkX3BsdXJhbCAiIgogIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdHMsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCiBtc2dzdHJbMF0gIiIKKyJJbCB0dW8gYnJhbmNoLCByaXNwZXR0byBhICclcycsIMOoIGluZGlldHJvIGRpICVkIGNvbW1pdCBlIG5lIHBvc3NvIGVzZWd1aXJlICIKKyJpbCBmYXN0IGZvcndhcmQuXG4iCiBtc2dzdHJbMV0gIiIKKyJJbCB0dW8gYnJhbmNoLCByaXNwZXR0byBhICclcycsIMOoIGluZGlldHJvIGRpICVkIGNvbW1pdCBlIG5lIHBvc3NvIGVzZWd1aXJlICIKKyJpbCBmYXN0IGZvcndhcmQuXG4iCiAKLSM6IHJlbW90ZS5jOjE2NDMKKyM6IHJlbW90ZS5jOjIwNTQKK21zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIHVwZGF0ZSB5b3VyIGxvY2FsIGJyYW5jaClcbiIKK21zZ3N0ciAiICAodXNhIFwiZ2l0IHB1bGxcIiBwZXIgYWdnaW9ybmFyZSBpbCB0dW8gYnJhbmNoIGxvY2FsZSlcbiIKKworIzogcmVtb3RlLmM6MjA1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKQEAgLTM3OSwxNjg5ICs2MTI2LDQyMyBAQAogIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCiAiYW5kIGhhdmUgJWQgYW5kICVkIGRpZmZlcmVudCBjb21taXRzIGVhY2gsIHJlc3BlY3RpdmVseS5cbiIKIG1zZ3N0clswXSAiIgorIklsIHR1byBicmFuY2ggZSAnJXMnIHNvbm8gZGl2ZW50YXRpIGRpdmVyZ2VudGlcbiIKKyJlIGhhbm5vIHJpc3BldHRpdmFtZW50ZSAlZCBlICVkIGNvbW1pdCBkaWZmZXJlbnRpLlxuIgogbXNnc3RyWzFdICIiCisiSWwgdHVvIGJyYW5jaCBlICclcycgc29ubyBkaXZlbnRhdGkgZGl2ZXJnZW50aVxuIgorImUgaGFubm8gcmlzcGV0dGl2YW1lbnRlICVkIGUgJWQgY29tbWl0IGRpZmZlcmVudGkuXG4iCiAKLSM6IHNlcXVlbmNlci5jOjEyMSBidWlsdGluL21lcmdlLmM6ODY1IGJ1aWx0aW4vbWVyZ2UuYzo5NzgKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDg4IGJ1aWx0aW4vbWVyZ2UuYzoxMDk4CisjOiByZW1vdGUuYzoyMDY3Cittc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIgorbXNnc3RyICIgICh1c2EgXCJnaXQgcHVsbFwiIHBlciBlc2VndWlyZSBpbCBtZXJnZSBkZWwgYnJhbmNoIHJlbW90byBuZWwgdHVvKVxuIgorCisjOiByZW1vdGUuYzoyMjUwCiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCi1tc2dzdHIgIk5vbiDDqCBzdGF0byBwb3NzaWJpbGUgYXByaXJlICclcycgcGVyIGxhIHNjcml0dHVyYSIKK21zZ2lkICJjYW5ub3QgcGFyc2UgZXhwZWN0ZWQgb2JqZWN0IG5hbWUgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSBpbCBub21lIG9nZ2V0dG8gYXR0ZXNvICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjEyMyBidWlsdGluL21lcmdlLmM6MzMzIGJ1aWx0aW4vbWVyZ2UuYzo4NjgKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDkwIGJ1aWx0aW4vbWVyZ2UuYzoxMTAzCisjOiByZXBsYWNlLW9iamVjdC5jOjIxCiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgotbXNnc3RyICJOb24gw6ggc3RhdG8gcG9zc2liaWxlIHNjcml2ZXJlIHN1ICclcyciCittc2dpZCAiYmFkIHJlcGxhY2UgcmVmIG5hbWU6ICVzIgorbXNnc3RyICJub21lIHJpZmVyaW1lbnRvIHNvc3RpdHV0aXZvIG5vbiB2YWxpZG86ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNDQKKyM6IHJlcGxhY2Utb2JqZWN0LmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHVwbGljYXRlIHJlcGxhY2UgcmVmOiAlcyIKK21zZ3N0ciAicmlmZXJpbWVudG8gc29zdGl0dXRpdm8gZHVwbGljYXRvOiAlcyIKKworIzogcmVwbGFjZS1vYmplY3QuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJyZXBsYWNlIGRlcHRoIHRvbyBoaWdoIGZvciBvYmplY3QgJXMiCittc2dzdHIgInByb2ZvbmRpdMOgIHNvc3RpdHV6aW9uZSB0cm9wcG8gZWxldmF0YSBwZXIgbCdvZ2dldHRvICVzIgorCisjOiByZXJlcmUuYzoyMTcgcmVyZXJlLmM6MjI2IHJlcmVyZS5jOjIyOQorbXNnaWQgImNvcnJ1cHQgTUVSR0VfUlIiCittc2dzdHIgIk1FUkdFX1JSIGNvcnJvdHRhIgorCisjOiByZXJlcmUuYzoyNjQgcmVyZXJlLmM6MjY5Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHJlcmVyZSByZWNvcmQiCittc2dzdHIgImltcG9zc2liaWxlIHNjcml2ZXJlIGlsIHJlY29yZCByZXJlcmUiCisKKyM6IHJlcmVyZS5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGVyZSB3ZXJlIGVycm9ycyB3aGlsZSB3cml0aW5nICclcycgKCVzKSIKK21zZ3N0ciAic2kgc29ubyB2ZXJpZmljYXRpIGVycm9yaSBkdXJhbnRlIGxhIHNjcml0dHVyYSBkaSAnJXMnICglcykiCisKKyM6IHJlcmVyZS5jOjQ5OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZmx1c2ggJyVzJyIKK21zZ3N0ciAiZmx1c2ggZGkgJyVzJyBub24gcml1c2NpdG8iCisKKyM6IHJlcmVyZS5jOjUwMyByZXJlcmUuYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb25mbGljdCBodW5rcyBpbiAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhbmFsaXp6YXJlIGdsaSBodW5rIGNvbmZsaXR0byBpbiAnJXMnIgorCisjOiByZXJlcmUuYzo2ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHV0aW1lKCkgb24gJyVzJyIKK21zZ3N0ciAidXRpbWUoKSBkaSAnJXMnIG5vbiByaXVzY2l0YSIKKworIzogcmVyZXJlLmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRpbmcgJyVzJyBmYWlsZWQiCittc2dzdHIgInNjcml0dHVyYSBkaSAnJXMnIG5vbiByaXVzY2l0YSIKKworIzogcmVyZXJlLmM6NzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YWdlZCAnJXMnIHVzaW5nIHByZXZpb3VzIHJlc29sdXRpb24uIgorbXNnc3RyICInJXMnIGFnZ2l1bnRvIGFsbCdhcmVhIGRpIHN0YWdpbmcgdXNhbmRvIGxhIHJpc29sdXppb25lIHByZWNlZGVudGUuIgorCisjOiByZXJlcmUuYzo3NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVjb3JkZWQgcmVzb2x1dGlvbiBmb3IgJyVzJy4iCittc2dzdHIgIlJpc29sdXppb25lIHBlciAnJXMnIHJlZ2lzdHJhdGEuIgorCisjOiByZXJlcmUuYzo3ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVzb2x2ZWQgJyVzJyB1c2luZyBwcmV2aW91cyByZXNvbHV0aW9uLiIKK21zZ3N0ciAiUmlzb2x0byBjb25mbGl0dG8gaW4gJyVzJyB1c2FuZG8gbGEgcmlzb2x1emlvbmUgcHJlY2VkZW50ZS4iCisKKyM6IHJlcmVyZS5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdW5saW5rIHN0cmF5ICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIGwndW5saW5rIGRlbGwnb2dnZXR0byBzbWFycml0byAnJXMnIgorCisjOiByZXJlcmUuYzo4MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVjb3JkZWQgcHJlaW1hZ2UgZm9yICclcyciCittc2dzdHIgIlNhbHZhdGEgcHJlaW1tYWdpbmUgZGkgJyVzJyIKKworIzogcmVyZXJlLmM6ODgxIHN1Ym1vZHVsZS5jOjIwNjcgYnVpbHRpbi9sb2cuYzoxODcxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQzNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBjcmVhcmUgbGEgZGlyZWN0b3J5ICclcyciCisKKyM6IHJlcmVyZS5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVwZGF0ZSBjb25mbGljdGVkIHN0YXRlIGluICclcyciCittc2dzdHIgImFnZ2lvcm5hbWVudG8gZGVsbG8gc3RhdG8gY29uZmxpdHRvIHBlciAnJXMnIG5vbiByaXVzY2l0byIKKworIzogcmVyZXJlLmM6MTA2OCByZXJlcmUuYzoxMDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHJlbWVtYmVyZWQgcmVzb2x1dGlvbiBmb3IgJyVzJyIKK21zZ3N0ciAibmVzc3VuYSByaXNvbHV6aW9uZSBwcmVzZW50ZSBpbiBtZW1vcmlhIHBlciAnJXMnIgorCisjOiByZXJlcmUuYzoxMDc3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB1bmxpbmsgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgbCd1bmxpbmsgZGkgJyVzJyIKKworIzogcmVyZXJlLmM6MTA4NworIywgYy1mb3JtYXQKK21zZ2lkICJVcGRhdGVkIHByZWltYWdlIGZvciAnJXMnIgorbXNnc3RyICJQcmVpbW1hZ2luZSBkaSAnJXMnIGFnZ2lvcm5hdGEiCisKKyM6IHJlcmVyZS5jOjEwOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yZ290IHJlc29sdXRpb24gZm9yICclcydcbiIKK21zZ3N0ciAiUmlzb2x1emlvbmUgcGVyICclcycgZGltZW50aWNhdGFcbiIKKworIzogcmVyZXJlLmM6MTE5OQorbXNnaWQgInVuYWJsZSB0byBvcGVuIHJyLWNhY2hlIGRpcmVjdG9yeSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlIGxhIGRpcmVjdG9yeSBjYWNoZSByciIKKworIzogcmV2aXNpb24uYzoyNDk3Cittc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCBhcHBlYXJzIHRvIGJlIGJyb2tlbiIKK21zZ3N0ciAic2VtYnJhIGNoZSBpbCB0dW8gYnJhbmNoIGNvcnJlbnRlIHNpYSByb3R0byIKKworIzogcmV2aXNpb24uYzoyNTAwCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggJyVzJyBkb2VzIG5vdCBoYXZlIGFueSBjb21taXRzIHlldCIKK21zZ3N0ciAiaWwgdHVvIGJyYW5jaCBjb3JyZW50ZSAnJXMnIG5vbiBoYSBhbmNvcmEgY29tbWl0IgorCisjOiByZXZpc2lvbi5jOjI3MDgKK21zZ2lkICItLWZpcnN0LXBhcmVudCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWJpc2VjdCIKK21zZ3N0ciAiLS1maXJzdC1wYXJlbnQgbm9uIMOoIGNvbXBhdGliaWxlIGNvbiAtLWJpc2VjdCIKKworIzogcmV2aXNpb24uYzoyNzEyCittc2dpZCAiLUwgZG9lcyBub3QgeWV0IHN1cHBvcnQgZGlmZiBmb3JtYXRzIGJlc2lkZXMgLXAgYW5kIC1zIgorbXNnc3RyICItTCBub24gc3VwcG9ydGEgYW5jb3JhIGZvcm1hdGkgZGlmZiBvbHRyZSBhIC1wIGUgLXMiCisKKyM6IHJ1bi1jb21tYW5kLmM6NzYyCittc2dpZCAib3BlbiAvZGV2L251bGwgZmFpbGVkIgorbXNnc3RyICJhcGVydHVyYSBkaSAvZGV2L251bGwgbm9uIHJpdXNjaXRhIgorCisjOiBydW4tY29tbWFuZC5jOjEyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBhc3luYyB0aHJlYWQ6ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBjcmVhcmUgaWwgdGhyZWFkIGFzeW5jOiAlcyIKKworIzogcnVuLWNvbW1hbmQuYzoxMzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgJyVzJyBob29rIHdhcyBpZ25vcmVkIGJlY2F1c2UgaXQncyBub3Qgc2V0IGFzIGV4ZWN1dGFibGUuXG4iCisiWW91IGNhbiBkaXNhYmxlIHRoaXMgd2FybmluZyB3aXRoIGBnaXQgY29uZmlnIGFkdmljZS5pZ25vcmVkSG9vayBmYWxzZWAuIgorbXNnc3RyICIiCisiTCdob29rICclcycgw6ggc3RhdG8gaWdub3JhdG8gcGVyY2jDqSBub24gw6ggaW1wb3N0YXRvIGNvbWUgZXNlZ3VpYmlsZS5cbiIKKyJQdW9pIGRpc2FiaWxpdGFyZSBxdWVzdCdhdnZpc28gY29uIGBnaXQgY29uZmlnIGFkdmljZS5pZ25vcmVkSG9vayBmYWxzZWAuIgorCisjOiBzZW5kLXBhY2suYzoxNDQKK21zZ2lkICJ1bmV4cGVjdGVkIGZsdXNoIHBhY2tldCB3aGlsZSByZWFkaW5nIHJlbW90ZSB1bnBhY2sgc3RhdHVzIgorbXNnc3RyICIiCisicGFjY2hldHRvIGZsdXNoIGluYXR0ZXNvIGR1cmFudGUgbGEgbGV0dHVyYSBkZWxsbyBzdGF0byBkZWNvbXByZXNzaW9uZSBkZWwgIgorInJlbW90byIKKworIzogc2VuZC1wYWNrLmM6MTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSByZW1vdGUgdW5wYWNrIHN0YXR1czogJXMiCittc2dzdHIgImltcG9zc2liaWxlIGFuYWxpenphcmUgbG8gc3RhdG8gZGVjb21wcmVzc2lvbmUgZGVsIHJlbW90bzogJXMiCisKKyM6IHNlbmQtcGFjay5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUgdW5wYWNrIGZhaWxlZDogJXMiCittc2dzdHIgImRlY29tcHJlc3Npb25lIHN1bCByZW1vdG8gbm9uIHJpdXNjaXRhOiAlcyIKKworIzogc2VuZC1wYWNrLmM6MzA5Cittc2dpZCAiZmFpbGVkIHRvIHNpZ24gdGhlIHB1c2ggY2VydGlmaWNhdGUiCittc2dzdHIgImZpcm1hIGRlbCBjZXJ0aWZpY2F0byBwZXIgaWwgcHVzaCBub24gcml1c2NpdGEiCisKKyM6IHNlbmQtcGFjay5jOjQyMworbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQgcHVzaCIKK21zZ3N0ciAiaWwgcmljZXZlbnRlIG5vbiBzdXBwb3J0YSBpIHB1c2ggLS1zaWduZWQiCisKKyM6IHNlbmQtcGFjay5jOjQyNQorbXNnaWQgIiIKKyJub3Qgc2VuZGluZyBhIHB1c2ggY2VydGlmaWNhdGUgc2luY2UgdGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLSIKKyJzaWduZWQgcHVzaCIKK21zZ3N0ciAiIgorIm5vbiBpbnZpbyB1biBjZXJ0aWZpY2F0byBwdXNoIHBlcmNow6kgaWwgcmljZXZlbnRlIG5vbiBzdXBwb3J0YSBpIHB1c2ggLS0iCisic2lnbmVkIgorCisjOiBzZW5kLXBhY2suYzo0MzcKK21zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIHB1c2giCittc2dzdHIgImlsIHJpY2V2ZW50ZSBub24gc3VwcG9ydGEgaSBwdXNoIC0tYXRvbWljIgorCisjOiBzZW5kLXBhY2suYzo0NDIKK21zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IHB1c2ggb3B0aW9ucyIKK21zZ3N0ciAiaWwgcmljZXZlbnRlIG5vbiBzdXBwb3J0YSBsZSBvcHppb25pIHB1c2giCisKKyM6IHNlcXVlbmNlci5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdCBtZXNzYWdlIGNsZWFudXAgbW9kZSAnJXMnIgorbXNnc3RyICJtb2RhbGl0w6AgcHVsaXppYSBtZXNzYWdnaW8gY29tbWl0IG5vbiB2YWxpZGE6ICclcyciCisKKyM6IHNlcXVlbmNlci5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZGVsZXRlICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGVsaW1pbmFyZSAnJXMnIgorCisjOiBzZXF1ZW5jZXIuYzozMTMgYnVpbHRpbi9yZWJhc2UuYzo3ODEgYnVpbHRpbi9yZWJhc2UuYzoxNzA2IGJ1aWx0aW4vcm0uYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlbW92ZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaW11b3ZlcmUgJyVzJyIKKworIzogc2VxdWVuY2VyLmM6MzIzCittc2dpZCAicmV2ZXJ0IgorbXNnc3RyICJyZXZlcnQiCisKKyM6IHNlcXVlbmNlci5jOjMyNQorbXNnaWQgImNoZXJyeS1waWNrIgorbXNnc3RyICJjaGVycnktcGljayIKKworIzogc2VxdWVuY2VyLmM6MzI3Cittc2dpZCAicmViYXNlIC1pIgorbXNnc3RyICJyZWJhc2UgLWkiCisKKyM6IHNlcXVlbmNlci5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFjdGlvbjogJWQiCittc2dzdHIgImF6aW9uZSBzY29ub3NjaXV0YTogJWQiCisKKyM6IHNlcXVlbmNlci5jOjM4NwogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nIgogbXNnc3RyICIiCi0iZG9wbyBhdmVyIHJpc29sdG8gaSBjb25mbGl0dGksIHNlZ25hIGkgcGF0aCBjb3JyZXR0aVxuIgorImRvcG8gYXZlciByaXNvbHRvIGkgY29uZmxpdHRpLCBjb250cmFzc2VnbmEgaSBwZXJjb3JzaSBjb3JyZXR0aVxuIgogImNvbiAnZ2l0IGFkZCA8cGF0aD4nIG8gJ2dpdCBybSA8cGF0aD4nIgogCi0jOiBzZXF1ZW5jZXIuYzoxNDcKKyM6IHNlcXVlbmNlci5jOjM5MAogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nXG4iCiAiYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggJ2dpdCBjb21taXQnIgogbXNnc3RyICIiCi0iZG9wbyBhdmVyIHJpc29sdG8gaSBjb25mbGl0dGksIHNlZ25hIGkgcGF0aCBjb3JyZXR0aVxuIgotImNvbiAnZ2l0IGFkZCA8cGF0aD4nIG8gJ2dpdCBybSA8cGF0aD4nIGVkIGVzZWd1aXJlXG4iCisiZG9wbyBhdmVyIHJpc29sdG8gaSBjb25mbGl0dGksIGNvbnRyYXNzZWduYSBpIHBlcmNvcnNpIGNvcnJldHRpXG4iCisiY29uICdnaXQgYWRkIDxwYXRoPicgbyAnZ2l0IHJtIDxwYXRoPicgZWQgZXNlZ3VpXG4iCiAiaWwgY29tbWl0IGRlbCByaXN1bHRhdG8gY29uICdnaXQgY29tbWl0JyIKIAotIzogc2VxdWVuY2VyLmM6MTYwIHNlcXVlbmNlci5jOjc1OCBzZXF1ZW5jZXIuYzo4NDEKKyM6IHNlcXVlbmNlci5jOjQwMyBzZXF1ZW5jZXIuYzoyOTkzCiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSB0byAlcyIKLW1zZ3N0ciAiTm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBzY3JpdmVyZSBzdSAlcyIKK21zZ2lkICJjb3VsZCBub3QgbG9jayAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBibG9jY2FyZSAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjMKKyM6IHNlcXVlbmNlci5jOjQxMAogIywgYy1mb3JtYXQKLW1zZ2lkICJFcnJvciB3cmFwcGluZyB1cCAlcyIKLW1zZ3N0ciAiIgorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBlb2wgdG8gJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgaWwgY2FyYXR0ZXJlIGRpIGZpbmUgcmlnYSBpbiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzgKLW1zZ2lkICJZb3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlcnJ5LXBpY2suIgotbXNnc3RyICJMZSB0dWUgbW9kaWZpY2hlIGxvY2FsaSB2ZXJyYW5ubyBzb3ZyYXNjcml0dGUgZGEgY2hlcnJ5LXBpY2siCisjOiBzZXF1ZW5jZXIuYzo0MTUgc2VxdWVuY2VyLmM6Mjc5OCBzZXF1ZW5jZXIuYzoyOTk5IHNlcXVlbmNlci5jOjMwMTMKKyM6IHNlcXVlbmNlci5jOjMyNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplICclcyciCittc2dzdHIgImZpbmFsaXp6YXppb25lIGRpICclcycgbm9uIHJpdXNjaXRhIgogCi0jOiBzZXF1ZW5jZXIuYzoxODAKLW1zZ2lkICJZb3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgcmV2ZXJ0LiIKLW1zZ3N0ciAiTGUgdHVlIG1vZGlmaWNoZSBsb2NhbGkgdmVycmFubm8gc292cmFzY3JpdHRlIGRhIHJldmVydC4iCisjOiBzZXF1ZW5jZXIuYzo0Mzggc2VxdWVuY2VyLmM6MTcwNyBzZXF1ZW5jZXIuYzoyODE4IHNlcXVlbmNlci5jOjMyNTkKKyM6IHNlcXVlbmNlci5jOjMzNjggYnVpbHRpbi9hbS5jOjI0NCBidWlsdGluL2NvbW1pdC5jOjc4MyBidWlsdGluL21lcmdlLmM6MTExNworIzogYnVpbHRpbi9yZWJhc2UuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoxODMKLW1zZ2lkICJDb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCi1tc2dzdHIgIiIKKyM6IHNlcXVlbmNlci5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXMuIgorbXNnc3RyICJsZSB0dWUgbW9kaWZpY2hlIGxvY2FsaSBzYXJlYmJlcm8gc292cmFzY3JpdHRlIGRhICVzLiIKIAotIy4gVFJBTlNMQVRPUlM6ICVzIHdpbGwgYmUgInJldmVydCIgb3IgImNoZXJyeS1waWNrIgotIzogc2VxdWVuY2VyLmM6MjMzCisjOiBzZXF1ZW5jZXIuYzo0NjgKK21zZ2lkICJjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCittc2dzdHIgImVzZWd1aSBpbCBjb21taXQgZGVsbGUgbW9kaWZpY2hlIG8gbG8gc3Rhc2ggcGVyIHByb2NlZGVyZS4iCisKKyM6IHNlcXVlbmNlci5jOjUwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFzdC1mb3J3YXJkIgorbXNnc3RyICIlczogZmFzdCBmb3J3YXJkIgorCisjOiBzZXF1ZW5jZXIuYzo1MzkgYnVpbHRpbi90YWcuYzo1NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCittc2dzdHIgIk1vZGFsaXTDoCBwdWxpemlhIG5vbiB2YWxpZGE6ICVzIgorCisjLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiwgImNoZXJyeS1waWNrIiBvcgorIy4gInJlYmFzZSAtaSIuCisjLgorIzogc2VxdWVuY2VyLmM6NjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCi1tc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBzY3JpdmVyZSBpbCBudW92byBpbmRleCBmaWxlIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgc2NyaXZlcmUgaWwgbnVvdm8gZmlsZSBpbmRpY2UiCiAKLSM6IHNlcXVlbmNlci5jOjI2MQotbXNnaWQgIkNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0XG4iCi1tc2dzdHIgIk5vbiDDqCBzdGF0byBwb3NzaWJpbGUgcmlzb2x2ZXJlIGlsIGNvbW1pdCBIRUFEXG4iCi0KLSM6IHNlcXVlbmNlci5jOjI4MgotbXNnaWQgIlVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZVxuIgotbXNnc3RyICIiCi0KLSM6IHNlcXVlbmNlci5jOjMyNAotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzXG4iCi1tc2dzdHIgIk5vbiDDqCBzdGF0byBwb3NzaWJpbGUgYW5hbGl6emFyZSBpbCBjb21taXQgJXNcbiIKLQotIzogc2VxdWVuY2VyLmM6MzI5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzXG4iCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6Mzk1Ci1tc2dpZCAiWW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzozOTgKLW1zZ2lkICJZb3UgZG8gbm90IGhhdmUgYSB2YWxpZCBIRUFEIgotbXNnc3RyICJOb24gaGFpIHVuIEhFQUQgdmFsaWRvIgotCi0jOiBzZXF1ZW5jZXIuYzo0MTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgotbXNnc3RyICJJbCBjb21taXQgJXMgw6ggdW4gbWVyZ2UgbWEgbm9uIMOoIHN0YXRhIHNwZWNpZmljYXRhIGwnb3B6aW9uZSAtbS4iCi0KLSM6IHNlcXVlbmNlci5jOjQyMQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NDI1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIk1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iCi1tc2dzdHIgIiIKLQotIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyB3aWxsIGJlICJyZXZlcnQiIG9yCi0jLiAiY2hlcnJ5LXBpY2siLCB0aGUgc2Vjb25kICVzIGEgU0hBMQotIzogc2VxdWVuY2VyLmM6NDM2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo0NDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCi1tc2dzdHIgIkltcG9zc2liaWxlIG90dGVuZXJlIGlsIG1lc3NhZ2dpbyBkaSBjb21taXQgcGVyICVzIgotCi0jOiBzZXF1ZW5jZXIuYzo1MjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKLW1zZ3N0ciAibm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBlc2VndWlyZSBpbCByZXZlcnQgZGkgJXMuLi4gJXMiCi0KLSM6IHNlcXVlbmNlci5jOjUyNQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCi1tc2dzdHIgIm5vbiDDqCBzdGF0byBwb3NzaWJpbGUgYXBwbGljYXJlICVzLi4uICVzIgotCi0jOiBzZXF1ZW5jZXIuYzo1NTMKLW1zZ2lkICJlbXB0eSBjb21taXQgc2V0IHBhc3NlZCIKLW1zZ3N0ciAiw6ggc3RhdG8gcGFzc2F0byB1biBzZXQgZGkgY29tbWl0IHZ1b3RvIgotCi0jOiBzZXF1ZW5jZXIuYzo1NjEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCi1tc2dzdHIgImdpdCAlczogbGV0dHVyYSBkaSBpbmRleCBub24gcml1c2NpdGEiCi0KLSM6IHNlcXVlbmNlci5jOjU2NgotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKLW1zZ3N0ciAiZ2l0ICVzOiBhZ2dpb3JuYW1lbnRvIGRpIGluZGV4IG5vbiByaXVzY2l0byIKLQotIzogc2VxdWVuY2VyLmM6NjI0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCAlcyBkdXJpbmcgYSAlcyIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo2NDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHBhcnNlIGxpbmUgJWQuIgotbXNnc3RyICJOb24gw6ggc3RhdG8gcG9zc2liaWxlIGFuYWxpenphcmUgbGEgcmlnYSAlZC4iCi0KLSM6IHNlcXVlbmNlci5jOjY1MQotbXNnaWQgIk5vIGNvbW1pdHMgcGFyc2VkLiIKLW1zZ3N0ciAiTmVzc3VuIGNvbW1pdCBhbmFsaXp6YXRvLiIKKyM6IHNlcXVlbmNlci5jOjY1MAorbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYWdnaW9ybmFyZSBsJ2FsYmVybyBjYWNoZSIKIAogIzogc2VxdWVuY2VyLmM6NjY0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBvcGVuICVzIgotbXNnc3RyICJOb24gw6ggc3RhdG8gcG9zc2liaWxlIGFwcmlyZSAlcyIKLQotIzogc2VxdWVuY2VyLmM6NjY4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCByZWFkICVzLiIKLW1zZ3N0ciAiTm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBsZWdnZXJlICVzLiIKLQotIzogc2VxdWVuY2VyLmM6Njc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo3MDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCBrZXk6ICVzIgotbXNnc3RyICJDaGlhdmUgbm9uIHZhbGlkYTogJXMiCi0KLSM6IHNlcXVlbmNlci5jOjcwNgotIywgYy1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCi1tc2dzdHIgIlZhbG9yZSBub24gdmFsaWRvIHBlciAlczogJXMiCi0KLSM6IHNlcXVlbmNlci5jOjcxOAotIywgYy1mb3JtYXQKLW1zZ2lkICJNYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJXMiCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NzM5Ci1tc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKLW1zZ3N0ciAiw6ggZ2nDoCBpbiBjb3JzbyB1bidvcGVyYXppb25lIGRpIGNoZXJyeS1waWNrIG8gZGkgcmV2ZXJ0IgotCi0jOiBzZXF1ZW5jZXIuYzo3NDAKLW1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgotbXNnc3RyICJwcm92YSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tIGFib3J0KVwiIgorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0IgorbXNnc3RyICJpbXBvc3NpYmlsZSByaXNvbHZlcmUgaWwgY29tbWl0IEhFQUQiCiAKICM6IHNlcXVlbmNlci5jOjc0NAogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJXMiCi1tc2dzdHIgIiIKK21zZ2lkICJubyBrZXkgcHJlc2VudCBpbiAnJS4qcyciCittc2dzdHIgIm5lc3N1bmEgY2hpYXZlIHByZXNlbnRlIGluICclLipzJyIKIAotIzogc2VxdWVuY2VyLmM6NzYwIHNlcXVlbmNlci5jOjg0NQorIzogc2VxdWVuY2VyLmM6NzU1CiAjLCBjLWZvcm1hdAotbXNnaWQgIkVycm9yIHdyYXBwaW5nIHVwICVzLiIKLW1zZ3N0ciAiIgorbXNnaWQgInVuYWJsZSB0byBkZXF1b3RlIHZhbHVlIG9mICclcyciCittc2dzdHIgImltcG9zc2liaWxlIHJpbXVvdmVyZSBnbGkgYXBpY2kgZGFsIHZhbG9yZSBkaSAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzo3Nzkgc2VxdWVuY2VyLmM6OTEzCi1tc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgotbXNnc3RyICJuZXNzdW5hIG9wZXJhemlvbmUgZGkgY2hlcnJ5LXBpY2sgbyByZXZlcnQgaW4gY29yc28iCi0KLSM6IHNlcXVlbmNlci5jOjc4MQotbXNnaWQgImNhbm5vdCByZXNvbHZlIEhFQUQiCi1tc2dzdHIgImltcG9zc2liaWxlIHJpc29sdmVyZSBIRUFEIgotCi0jOiBzZXF1ZW5jZXIuYzo3ODMKLW1zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKLW1zZ3N0ciAiIgotCi0jOiBzZXF1ZW5jZXIuYzo4MDUgYnVpbHRpbi9hcHBseS5jOjM2OTcKKyM6IHNlcXVlbmNlci5jOjc5MiB3cmFwcGVyLmM6MTkwIHdyYXBwZXIuYzozNjAgYnVpbHRpbi9hbS5jOjcwNQorIzogYnVpbHRpbi9hbS5jOjc5NyBidWlsdGluL21lcmdlLmM6MTExNCBidWlsdGluL3JlYmFzZS5jOjEwNzQKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgotbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXM6ICVzIgorbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAnJXMnIGluIGxldHR1cmEiCiAKLSM6IHNlcXVlbmNlci5jOjgwOAorIzogc2VxdWVuY2VyLmM6ODAyCittc2dpZCAiJ0dJVF9BVVRIT1JfTkFNRScgYWxyZWFkeSBnaXZlbiIKK21zZ3N0ciAiJ0dJVF9BVVRIT1JfTkFNRScgZ2nDoCBzcGVjaWZpY2F0byIKKworIzogc2VxdWVuY2VyLmM6ODA3Cittc2dpZCAiJ0dJVF9BVVRIT1JfRU1BSUwnIGFscmVhZHkgZ2l2ZW4iCittc2dzdHIgIidHSVRfQVVUSE9SX0VNQUlMJyBnacOgIHNwZWNpZmljYXRvIgorCisjOiBzZXF1ZW5jZXIuYzo4MTIKK21zZ2lkICInR0lUX0FVVEhPUl9EQVRFJyBhbHJlYWR5IGdpdmVuIgorbXNnc3RyICInR0lUX0FVVEhPUl9EQVRFJyBnacOgIHNwZWNpZmljYXRvIgorCisjOiBzZXF1ZW5jZXIuYzo4MTYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHJlYWQgJXM6ICVzIgotbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlICVzOiAlcyIKK21zZ2lkICJ1bmtub3duIHZhcmlhYmxlICclcyciCittc2dzdHIgInZhcmlhYmlsZSAnJXMnIHNjb25vc2NpdXRhIgogCi0jOiBzZXF1ZW5jZXIuYzo4MDkKLW1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgotbXNnc3RyICJmaW5lIGRlbCBmaWxlIGluYXR0ZXNhIgorIzogc2VxdWVuY2VyLmM6ODIxCittc2dpZCAibWlzc2luZyAnR0lUX0FVVEhPUl9OQU1FJyIKK21zZ3N0ciAiJ0dJVF9BVVRIT1JfTkFNRScgbWFuY2FudGUiCiAKLSM6IHNlcXVlbmNlci5jOjgxNQotIywgYy1mb3JtYXQKLW1zZ2lkICJzdG9yZWQgcHJlLWNoZXJyeS1waWNrIEhFQUQgZmlsZSAnJXMnIGlzIGNvcnJ1cHQiCi1tc2dzdHIgIiIKKyM6IHNlcXVlbmNlci5jOjgyMworbXNnaWQgIm1pc3NpbmcgJ0dJVF9BVVRIT1JfRU1BSUwnIgorbXNnc3RyICInR0lUX0FVVEhPUl9FTUFJTCcgbWFuY2FudGUiCiAKLSM6IHNlcXVlbmNlci5jOjgzOAotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgZm9ybWF0ICVzLiIKLW1zZ3N0ciAiIgorIzogc2VxdWVuY2VyLmM6ODI1Cittc2dpZCAibWlzc2luZyAnR0lUX0FVVEhPUl9EQVRFJyIKK21zZ3N0ciAiJ0dJVF9BVVRIT1JfREFURScgbWFuY2FudGUiCiAKLSM6IHNlcXVlbmNlci5jOjEwMDAKLW1zZ2lkICJDYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCi1tc2dzdHIgIkltcG9zc2liaWxlIGVzZWd1aXJlIGlsIHJldmVydCBjb21lIGNvbW1pdCBpbml6aWFsZSIKKyM6IHNlcXVlbmNlci5jOjkwMiBzZXF1ZW5jZXIuYzoxNDI3Cittc2dpZCAibWFsZm9ybWVkIGlkZW50IGxpbmUiCittc2dzdHIgInJpZ2EgaWRlbnQgbWFsZm9ybWF0YSIKIAotIzogc2VxdWVuY2VyLmM6MTAwMQotbXNnaWQgIkNhbid0IGNoZXJyeS1waWNrIGludG8gZW1wdHkgaGVhZCIKLW1zZ3N0ciAiIgotCi0jOiBzaGExX25hbWUuYzo4NjQKLW1zZ2lkICJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIgotbXNnc3RyICJIRUFEIG5vbiBwdW50YSBhZCB1biBicmFuY2giCi0KLSM6IHNoYTFfbmFtZS5jOjg2NwotIywgYy1mb3JtYXQKLW1zZ2lkICJObyBzdWNoIGJyYW5jaDogJyVzJyIKLW1zZ3N0ciAiTmVzc3VuIGJyYW5jaCBlc2lzdGVudGU6ICclcyciCi0KLSM6IHNoYTFfbmFtZS5jOjg2OQotIywgYy1mb3JtYXQKLW1zZ2lkICJObyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKLW1zZ3N0ciAiTmVzc3VuIHVwc3RyZWFtIGNvbmZpZ3VyYXRvIHBlciBpbCBicmFuY2ggJyVzJyIKLQotIzogc2hhMV9uYW1lLmM6ODcyCi0jLCBjLWZvcm1hdAotbXNnaWQgIlVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgotbXNnc3RyICIiCi0KLSM6IHdyYXBwZXIuYzo0MTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGxvb2sgdXAgY3VycmVudCB1c2VyIGluIHRoZSBwYXNzd2QgZmlsZTogJXMiCi1tc2dzdHIgImltcG9zc2liaWxlIHRyb3ZhcmUgbCd1dGVudGUgY29ycmVudGUgbmVsIGZpbGUgcGFzc3dkOiAlcyIKLQotIzogd3JhcHBlci5jOjQxNAotbXNnaWQgIm5vIHN1Y2ggdXNlciIKLW1zZ3N0ciAidXRlbnRlIG5vbiBlc2lzdGVudGUiCi0KLSM6IHd0LXN0YXR1cy5jOjEzNQotbXNnaWQgIlVubWVyZ2VkIHBhdGhzOiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoxNDEgd3Qtc3RhdHVzLmM6MTU4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiAgKHVzZSBcImdpdCByZXNldCAlcyA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoxNDMgd3Qtc3RhdHVzLmM6MTYwCi1tc2dpZCAiICAodXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjE0NAotbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKSIKLW1zZ3N0ciAiICAodXNhIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBjb21lIGFwcHJvcHJpYXRvIHBlciBsYSByaXNvbHV6aW9uZSkiCi0KLSM6IHd0LXN0YXR1cy5jOjE1MgotbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoxNzAKLW1zZ2lkICJDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MTc0Ci1tc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MTc2Ci1tc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MTc3Ci1tc2dpZCAiIgotIiAgKHVzZSBcImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi5cIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjE3OQotbXNnaWQgIiAgKGNvbW1pdCBvciBkaXNjYXJkIHRoZSB1bnRyYWNrZWQgb3IgbW9kaWZpZWQgY29udGVudCBpbiBzdWJtb2R1bGVzKSIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoxODgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgZmlsZXM6IgotbXNnc3RyICIlcyBmaWxlOiIKLQotIzogd3Qtc3RhdHVzLmM6MTkxCi0jLCBjLWZvcm1hdAotbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjIwOAotbXNnaWQgImJ1ZyIKLW1zZ3N0ciAiYnVnIgotCi0jOiB3dC1zdGF0dXMuYzoyMTMKLW1zZ2lkICJib3RoIGRlbGV0ZWQ6IgotbXNnc3RyICJlbnRyYW1iaSBlbGltaW5hdGk6IgotCi0jOiB3dC1zdGF0dXMuYzoyMTQKLW1zZ2lkICJhZGRlZCBieSB1czoiCi1tc2dzdHIgImFnZ2l1bnRvIGRhIG5vaToiCi0KLSM6IHd0LXN0YXR1cy5jOjIxNQotbXNnaWQgImRlbGV0ZWQgYnkgdGhlbToiCi1tc2dzdHIgImVsaW1pbmF0byBkYSBsb3JvOiIKLQotIzogd3Qtc3RhdHVzLmM6MjE2Ci1tc2dpZCAiYWRkZWQgYnkgdGhlbToiCi1tc2dzdHIgImFnZ2l1bnRvIGRhIGxvcm86IgotCi0jOiB3dC1zdGF0dXMuYzoyMTcKLW1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKLW1zZ3N0ciAiZWxpbWluYXRvIGRhIG5vaToiCi0KLSM6IHd0LXN0YXR1cy5jOjIxOAotbXNnaWQgImJvdGggYWRkZWQ6IgotbXNnc3RyICJlbnRyYW1iaSBhZ2dpdW50aToiCi0KLSM6IHd0LXN0YXR1cy5jOjIxOQotbXNnaWQgImJvdGggbW9kaWZpZWQ6IgotbXNnc3RyICJlbnRyYW1iaSBtb2RpZmljYXRpOiIKLQotIzogd3Qtc3RhdHVzLmM6MjQ5Ci1tc2dpZCAibmV3IGNvbW1pdHMsICIKLW1zZ3N0ciAibnVvdmkgY29tbWl0LCAiCi0KLSM6IHd0LXN0YXR1cy5jOjI1MQotbXNnaWQgIm1vZGlmaWVkIGNvbnRlbnQsICIKLW1zZ3N0ciAiY29udGVudXRvIG1vZGlmaWNhdG8sICIKLQotIzogd3Qtc3RhdHVzLmM6MjUzCi1tc2dpZCAidW50cmFja2VkIGNvbnRlbnQsICIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzoyNjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibmV3IGZpbGU6ICAgJXMiCi1tc2dzdHIgIm51b3ZvIGZpbGU6ICAgJXMiCi0KLSM6IHd0LXN0YXR1cy5jOjI3MAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3BpZWQ6ICAgICAlcyAtPiAlcyIKLW1zZ3N0ciAiY29waWF0bzogICAgICVzIC0+ICVzIgotCi0jOiB3dC1zdGF0dXMuYzoyNzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZGVsZXRlZDogICAgJXMiCi1tc2dzdHIgImVsaW1pbmF0bzogICAgJXMiCi0KLSM6IHd0LXN0YXR1cy5jOjI3NgotIywgYy1mb3JtYXQKLW1zZ2lkICJtb2RpZmllZDogICAlcyIKLW1zZ3N0ciAibW9kaWZpY2F0bzogICAlcyIKLQotIzogd3Qtc3RhdHVzLmM6Mjc5Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlbmFtZWQ6ICAgICVzIC0+ICVzIgotbXNnc3RyICJyaW5vbWluYXRvOiAgICAlcyAtPiAlcyIKLQotIzogd3Qtc3RhdHVzLmM6MjgyCi0jLCBjLWZvcm1hdAotbXNnaWQgInR5cGVjaGFuZ2U6ICVzIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjI4NQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmtub3duOiAgICAlcyIKLW1zZ3N0ciAic2Nvbm9zY2l1dG86ICAgICVzIgotCi0jOiB3dC1zdGF0dXMuYzoyODgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5tZXJnZWQ6ICAgJXMiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6MjkxCi0jLCBjLWZvcm1hdAotbXNnaWQgImJ1ZzogdW5oYW5kbGVkIGRpZmYgc3RhdHVzICVjIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjczNwotbXNnaWQgIk9uIGJyYW5jaCAiCi1tc2dzdHIgIlN1bCBicmFuY2ggIgotCi0jOiB3dC1zdGF0dXMuYzo3NDQKLW1zZ2lkICJOb3QgY3VycmVudGx5IG9uIGFueSBicmFuY2guIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjc1NQotbXNnaWQgIkluaXRpYWwgY29tbWl0IgotbXNnc3RyICJDb21taXQgaW5pemlhbGUiCi0KLSM6IHd0LXN0YXR1cy5jOjc2OQotbXNnaWQgIlVudHJhY2tlZCIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3NzEKLW1zZ2lkICJJZ25vcmVkIgotbXNnc3RyICJJZ25vcmF0byIKLQotIzogd3Qtc3RhdHVzLmM6NzczCi0jLCBjLWZvcm1hdAotbXNnaWQgIlVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkJXMiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6Nzc1Ci1tc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3ODEKLW1zZ2lkICJObyBjaGFuZ2VzIgotbXNnc3RyICJOZXNzdW5hIG1vZGlmaWNhIgotCi0jOiB3dC1zdGF0dXMuYzo3ODUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQlc1xuIgotbXNnc3RyICJuZXNzdW5hIG1vZGlmaWNhIGFnZ2l1bnRhIGFsIGNvbW1pdCVzXG4iCi0KLSM6IHd0LXN0YXR1cy5jOjc4NwotbXNnaWQgIiAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIikiCi1tc2dzdHIgIiAodXNhIFwiZ2l0IGFkZFwiIGUvbyBcImdpdCBjb21taXQgLWFcIikiCi0KLSM6IHd0LXN0YXR1cy5jOjc4OQotIywgYy1mb3JtYXQKLW1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnQlc1xuIgotbXNnc3RyICIiCi0KLSM6IHd0LXN0YXR1cy5jOjc5MQotbXNnaWQgIiAodXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKSIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3OTMgd3Qtc3RhdHVzLmM6Nzk2IHd0LXN0YXR1cy5jOjc5OQotIywgYy1mb3JtYXQKLW1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCVzXG4iCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6Nzk0Ci1tc2dpZCAiIChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKSIKLW1zZ3N0ciAiIgotCi0jOiB3dC1zdGF0dXMuYzo3OTcKLW1zZ2lkICIgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6ODAwCi1tc2dpZCAiICh3b3JraW5nIGRpcmVjdG9yeSBjbGVhbikiCi1tc2dzdHIgIiIKLQotIzogd3Qtc3RhdHVzLmM6OTA4Ci1tc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKLW1zZ3N0ciAiSEVBRCAobmVzc3VuIGJyYW5jaCkiCi0KLSM6IHd0LXN0YXR1cy5jOjkxNAotbXNnaWQgIkluaXRpYWwgY29tbWl0IG9uICIKLW1zZ3N0ciAiQ29tbWl0IGluaXppYWxlIHN1ICIKLQotIzogd3Qtc3RhdHVzLmM6OTI5Ci1tc2dpZCAiYmVoaW5kICIKLW1zZ3N0ciAiaW5kaWV0cm8gIgotCi0jOiB3dC1zdGF0dXMuYzo5MzIgd3Qtc3RhdHVzLmM6OTM1Ci1tc2dpZCAiYWhlYWQgIgotbXNnc3RyICJhdmFudGkgIgotCi0jOiB3dC1zdGF0dXMuYzo5MzcKLW1zZ2lkICIsIGJlaGluZCAiCi1tc2dzdHIgIiwgaW5kaWV0cm8gIgotCi0jOiBidWlsdGluL2FkZC5jOjYyCi0jLCBjLWZvcm1hdAotbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCi1tc2dzdHIgInN0YXR1cyBkaWZmICVjIGluYXR0ZXNvIgotCi0jOiBidWlsdGluL2FkZC5jOjY3IGJ1aWx0aW4vY29tbWl0LmM6MjI2Ci1tc2dpZCAidXBkYXRpbmcgZmlsZXMgZmFpbGVkIgotbXNnc3RyICJhZ2dpb3JuYW1lbnRvIGRlaSBmaWxlIG5vbiByaXVzY2l0byIKLQotIzogYnVpbHRpbi9hZGQuYzo3NwotIywgYy1mb3JtYXQKLW1zZ2lkICJyZW1vdmUgJyVzJ1xuIgotbXNnc3RyICJlbGltaW5hICclcydcbiIKLQotIzogYnVpbHRpbi9hZGQuYzoxNzYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUGF0aCAnJXMnIGlzIGluIHN1Ym1vZHVsZSAnJS4qcyciCi1tc2dzdHIgIklsIHBhdGggJyVzJyDDqCBuZWwgc290dG9tb2R1bG8gJyUuKnMnIgotCi0jOiBidWlsdGluL2FkZC5jOjE5MgotbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVmcmVzaGluZyB0aGUgaW5kZXg6IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6MTk1IGJ1aWx0aW4vYWRkLmM6NDU2IGJ1aWx0aW4vcm0uYzoxODYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FkZC5jOjIwOQotIywgYy1mb3JtYXQKLW1zZ2lkICInJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCi1tc2dzdHIgIiclcycgc2kgdHJvdmEgb2x0cmUgdW4gbGluayBzaW1ib2xpY28iCi0KLSM6IGJ1aWx0aW4vYWRkLmM6Mjc2Ci1tc2dpZCAiQ291bGQgbm90IHJlYWQgdGhlIGluZGV4IgotbXNnc3RyICJOb24gw6ggc3RhdG8gcG9zc2liaWxlIGxlZ2dlcmUgaW5kZXgiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6Mjg2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmcuIgotbXNnc3RyICJOb24gw6ggc3RhdG8gcG9zc2liaWxlIGFwcmlyZSAnJXMnIHBlciBsYSBzY3JpdHR1cmEuIgotCi0jOiBidWlsdGluL2FkZC5jOjI5MAotbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIKLW1zZ3N0ciAiTm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBzY3JpdmVyZSBsYSBwYXRjaCIKLQotIzogYnVpbHRpbi9hZGQuYzoyOTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHN0YXQgJyVzJyIKLW1zZ3N0ciAiTm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBlc2VndWlyZSBsbyBzdGF0IGRpICclcyciCi0KLSM6IGJ1aWx0aW4vYWRkLmM6Mjk3Ci1tc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgotbXNnc3RyICJQYXRjaCB2dW90YS4gT3BlcmF6aW9uZSBpbnRlcnJvdHRhLiIKLQotIzogYnVpbHRpbi9hZGQuYzozMDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCi1tc2dzdHIgIk5vbiDDqCBzdGF0byBwb3NzaWJpbGUgYXBwbGljYXJlICclcyciCi0KLSM6IGJ1aWx0aW4vYWRkLmM6MzEyCi1tc2dpZCAiVGhlIGZvbGxvd2luZyBwYXRocyBhcmUgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgotbXNnc3RyICJJIHNlZ3VlbnRpIHBhdGggc29ubyBzdGF0aSBpZ25vcmF0aSBkYSB1bm8gbyBwacO5IGRlaSB0dW9pIGZpbGUgLmdpdGlnbm9yZTpcbiIKLQotIzogYnVpbHRpbi9hZGQuYzozNTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKLW1zZ3N0ciAiVXNhIC1mIHNlIHZ1b2kgZGF2dmVybyBhZ2dpdW5nZXJsaS5cbiIKLQotIzogYnVpbHRpbi9hZGQuYzozNTMKLW1zZ2lkICJubyBmaWxlcyBhZGRlZCIKLW1zZ3N0ciAibmVzc3VuIGZpbGUgYWdnaXVudG8iCi0KLSM6IGJ1aWx0aW4vYWRkLmM6MzU5Ci1tc2dpZCAiYWRkaW5nIGZpbGVzIGZhaWxlZCIKLW1zZ3N0ciAiYWdnaXVudGEgZGVpIGZpbGUgbm9uIHJpdXNjaXRhIgotCi0jOiBidWlsdGluL2FkZC5jOjM5MQotbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgotbXNnc3RyICItQSBlIC11IHNvbm8gcmVjaXByb2NhbWVudGUgaW5jb21wYXRpYmlsaSIKLQotIzogYnVpbHRpbi9hZGQuYzozOTMKLW1zZ2lkICJPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1kcnktcnVuIgotbXNnc3RyICJMJ29wemlvbmUgLS1pZ25vcmUtbWlzc2luZyBwdcOyIGVzc2VyZSB1c2F0YSBzb2xvIGNvbiAtLWRyeS1ydW4iCi0KLSM6IGJ1aWx0aW4vYWRkLmM6NDEzCi0jLCBjLWZvcm1hdAotbXNnaWQgIk5vdGhpbmcgc3BlY2lmaWVkLCBub3RoaW5nIGFkZGVkLlxuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYWRkLmM6NDE0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgotbXNnc3RyICJGb3JzZSBpbnRlbmRldmkgZGlyZSAnZ2l0IGFkZCAuJz9cbiIKLQotIzogYnVpbHRpbi9hZGQuYzo0MjAgYnVpbHRpbi9jbGVhbi5jOjk1IGJ1aWx0aW4vY29tbWl0LmM6Mjg2IGJ1aWx0aW4vbXYuYzo4MgotIzogYnVpbHRpbi9ybS5jOjE2MgotbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCIKLW1zZ3N0ciAiaW5kZXggZmlsZSBjb3Jyb3R0byIKLQotIzogYnVpbHRpbi9hZGQuYzo0NzYgYnVpbHRpbi9hcHBseS5jOjQxMDggYnVpbHRpbi9tdi5jOjIyOSBidWlsdGluL3JtLmM6MjYwCi1tc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgotbXNnc3RyICJJbXBvc3NpYmlsZSBzY3JpdmVyZSBpbCBudW92byBpbmRleCBmaWxlIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NTMKLW1zZ2lkICJnaXQgYXBwbHkgW29wdGlvbnNdIFs8cGF0Y2g+Li4uXSIKLW1zZ3N0ciAiZ2l0IGFwcGx5IFtvcHppb25pXSBbPHBhdGNoPi4uLl0iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxMDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjEyMQotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjgxNQotIywgYy1mb3JtYXQKLW1zZ2lkICJDYW5ub3QgcHJlcGFyZSB0aW1lc3RhbXAgcmVnZXhwICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo4MjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIgotbXNnc3RyICJyZWdleGVjIGhhIHJlc3RpdHVpdG8gJWQgcGVyIGwnaW5wdXQ6ICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6OTA1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiCi1tc2dzdHIgImltcG9zc2liaWxlIHRyb3ZhcmUgaWwgbm9tZSBkZWwgZmlsZSBuZWxsYSBwYXRjaCBhbGxhIHJpZ2EgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo5MzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwsIGdvdCAlcyBvbiBsaW5lICVkIgotbXNnc3RyICJnaXQgYXBwbHk6IGdpdC1kaWZmIGVycmF0byAtIGF0dGVzbyAvZGV2L251bGwsIHJpY2V2dXRvICVzIGFsbGEgcmlnYSAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjk0MQotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKLW1zZ3N0ciAiZ2l0IGFwcGx5OiBnaXQtZGlmZiBlcnJhdG8gLSBudW92byBub21lIGRlbCBmaWxlIGluY29uc2lzdGVudGUgYWxsYSByaWdhICVkIgotCi0jOiBidWlsdGluL2FwcGx5LmM6OTQyCi0jLCBjLWZvcm1hdAotbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIgotbXNnc3RyICJnaXQgYXBwbHk6IGdpdC1kaWZmIGVycmF0byAtIHZlY2NoaW8gbm9tZSBkZWwgZmlsZSBpbmNvbnNpc3RlbnRlIGFsbGEgcmlnYSAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjk0OQotIywgYy1mb3JtYXQKLW1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCBvbiBsaW5lICVkIgotbXNnc3RyICJnaXQgYXBwbHk6IGdpdC1kaWZmIGVycmF0byAtIGF0dGVzbyAvZGV2L251bGxhIGFsbGEgcmlnYSAlZCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjEzOTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgotbXNnc3RyICJyZWNvdW50OiByaWdhIGluYXR0ZXNhOiAlLipzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTQ1MQotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgotbXNnc3RyICJmcmFtbWVudG8gZGkgcGF0Y2ggc2VuemEgaW50ZXN0YXppb25lIGFsbGEgcmlnYSAlZDogJS4qcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE0NjgKKyM6IHNlcXVlbmNlci5jOjkyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIHdoZW4gcmVtb3ZpbmcgJWQgbGVhZGluZyBwYXRobmFtZSAiCi0iY29tcG9uZW50IChsaW5lICVkKSIKLW1zZ2lkX3BsdXJhbCAiIgotImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgotImNvbXBvbmVudHMgKGxpbmUgJWQpIgotbXNnc3RyWzBdICIiCi1tc2dzdHJbMV0gIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE2MjgKLW1zZ2lkICJuZXcgZmlsZSBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKLW1zZ3N0ciAiaWwgbnVvdm8gZmlsZSBkaXBlbmRlIGRhIGNvbnRlbnV0aSBwcmVjZWRlbnRpIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTYzMAotbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCi1tc2dzdHIgImlsIGZpbGUgZWxpbWluYXRvIGhhIGFuY29yYSBkZWkgY29udGVudXRpIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTY1NgotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE2OTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCi1tc2dzdHIgImlsIG51b3ZvIGZpbGUgJXMgZGlwZW5kZSBkYSBjb250ZW51dGkgcHJlY2VkZW50aSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjE2OTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZGVsZXRlZCBmaWxlICVzIHN0aWxsIGhhcyBjb250ZW50cyIKLW1zZ3N0ciAiaWwgZmlsZSBlbGltaW5hdG8gJXMgaGEgYW5jb3JhIGRlaSBjb250ZW51dGkiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxNjk3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIioqIHdhcm5pbmc6IGZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiCi1tc2dzdHIgIioqIGF0dGVuemlvbmU6IGlsIGZpbGUgJXMgZGl2ZW50YSB2dW90byBtYSBub24gw6ggZWxpbWluYXRvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MTg0MwotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3JydXB0IGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkOiAlLipzIgotbXNnc3RyICJwYXRjaCBiaW5hcmlhIGNvcnJvdHRhIGFsbGEgcmlnYSAlZDogJS4qcyIKLQotIy4gdGhlcmUgaGFzIHRvIGJlIG9uZSBodW5rIChmb3J3YXJkIGh1bmspCi0jOiBidWlsdGluL2FwcGx5LmM6MTg3MgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQiCi1tc2dzdHIgInBhdGNoIGJpbmFyaWEgbm9uIHJpY29ub3NjaXV0YSBhbGxhIHJpZ2EgJWQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoxOTU4Ci0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGNoIHdpdGggb25seSBnYXJiYWdlIGF0IGxpbmUgJWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjIwNDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKLW1zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSBpbCBsaW5rIHNpbWJvbGljbyAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjIwNTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIKLW1zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlIG8gbGVnZ2VyZSAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjIxMjMKLW1zZ2lkICJvb3BzIgotbXNnc3RyICJvb3BzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjY0NQotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIHN0YXJ0IG9mIGxpbmU6ICclYyciCi1tc2dzdHIgImluaXppbyBkZWxsYSByaWdhIG5vbiB2YWxpZG86ICclYyciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyNzYzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmUpLiIKLW1zZ2lkX3BsdXJhbCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZXMpLiIKLW1zZ3N0clswXSAiIgotbXNnc3RyWzFdICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzoyNzc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvbnRleHQgcmVkdWNlZCB0byAoJWxkLyVsZCkgdG8gYXBwbHkgZnJhZ21lbnQgYXQgJWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI3ODEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIndoaWxlIHNlYXJjaGluZyBmb3I6XG4iCi0iJS4qcyIKLW1zZ3N0ciAiIgotImR1cmFudGUgbGEgcmljZXJjYSBwZXI6XG4iCi0iJS4qcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI4MDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibWlzc2luZyBiaW5hcnkgcGF0Y2ggZGF0YSBmb3IgJyVzJyIKLW1zZ3N0ciAiZGF0aSBkZWxsYSBwYXRjaCBiaW5hcmlhIG1hbmNhbnRpIHBlciAnJXMnIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjkwMwotIywgYy1mb3JtYXQKLW1zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKLW1zZ3N0ciAibGEgcGF0Y2ggYmluYXJpYSBub24gcHXDsiBlc3NlcmUgYXBwbGljYXRhIGEgJyVzJyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjI5MDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiYmluYXJ5IHBhdGNoIHRvICclcycgY3JlYXRlcyBpbmNvcnJlY3QgcmVzdWx0IChleHBlY3RpbmcgJXMsIGdvdCAlcykiCi1tc2dzdHIgImxhIHBhdGNoIGJpbmFyaWEgc3UgJyVzJyBjcmVhIHJpc3VsdGF0aSBub24gY29ycmV0dGkgKGF0dGVzbyAlcywgcmljZXZ1dG8gJXMpIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MjkzMAotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCBmYWlsZWQ6ICVzOiVsZCIKLW1zZ3N0ciAicGF0Y2ggbm9uIHJpdXNjaXRhOiAlczolbGQiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMDQ1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGNoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKLW1zZ3N0ciAibGEgcGF0Y2ggJXMgw6ggc3RhdGEgcmlub21pbmF0YS9lbGltaW5hdGEiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMDUyIGJ1aWx0aW4vYXBwbHkuYzozMDY5Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlYWQgb2YgJXMgZmFpbGVkIgotbXNnc3RyICJsZXR0dXJhIGRpICVzIG5vbiByaXVzY2l0YSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMwODQKLW1zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgotbXNnc3RyICJsYSByaW1vemlvbmUgZGVsbGEgcGF0Y2ggbGFzY2lhIGNvbnRlbnV0aSBkZWwgZmlsZSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMxMDUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgotbXNnc3RyICIlczogZXNpc3RlIGdpw6AgbmVsbGEgZGlyZWN0b3J5IGRpIGxhdm9ybyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMxNDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGhhcyBiZWVuIGRlbGV0ZWQvcmVuYW1lZCIKLW1zZ3N0ciAiJXM6IMOoIHN0YXRhIGVsaW1pbmF0YS9yaW5vbWluYXRhIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzE0OCBidWlsdGluL2FwcGx5LmM6MzE3OQotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogJXMiCi1tc2dzdHIgIiVzOiAlcyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMxNTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4IgotbXNnc3RyICIlczogbm9uIGVzaXN0ZSBpbiBpbmRleCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMxNzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IgotbXNnc3RyICIlczogbm9uIGNvcnJpc3BvbmRlIGEgaW5kZXgiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMTkwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgotbXNnc3RyICIlczogdGlwbyBlcnJhdG8iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMTkyCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzIGhhcyB0eXBlICVvLCBleHBlY3RlZCAlbyIKLW1zZ3N0ciAiJXMgaGEgaWwgdGlwbyAlbywgYXR0ZXNvICVvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzI0NwotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgiCi1tc2dzdHIgIiVzOiBlc2lzdGUgZ2nDoCBpbiBpbmRleCIKLQotIzogYnVpbHRpbi9hcHBseS5jOjMyNjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozMjcyCi0jLCBjLWZvcm1hdAotbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzI4MAotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCi1tc2dzdHIgIiVzOiBsYSBwYXRjaCBub24gcHXDsiBlc3NlcmUgYXBwbGljYXRhIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzI5MwotIywgYy1mb3JtYXQKLW1zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKLW1zZ3N0ciAiQ29udHJvbGxvIGRlbGxhIHBhdGNoICVzLi4uIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzM0OCBidWlsdGluL2NoZWNrb3V0LmM6MjEyIGJ1aWx0aW4vcmVzZXQuYzoxNTgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKLW1zZ3N0ciAibWFrZV9jYWNoZV9lbnRyeSBub24gcml1c2NpdG8gcGVyIGlsIHBhdGggJyVzJyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM0OTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgotbXNnc3RyICJpbXBvc3NpYmlsZSByaW11b3ZlcmUgJXMgZGEgaW5kZXgiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNTE4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1YnByb2plY3QgJXMiCi1tc2dzdHIgInBhdGNoIGNvcnJvdHRhIHBlciBpbCBzb3R0b3Byb2dldHRvICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzUyMgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gc3RhdCBuZXdseSBjcmVhdGVkIGZpbGUgJyVzJyIKLW1zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgbG8gc3RhdCBkZWwgZmlsZSBhcHBlbmEgY3JlYXRvICclcyciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNTI3Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNTMwCi0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBhZGQgY2FjaGUgZW50cnkgZm9yICVzIgotbXNnc3RyICJpbXBvc3NpYmlsZSBhZ2dpdW5nZXJlIGxhIHZvY2UgZGVsbGEgY2FjaGUgcGVyICVzIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzU2MwotIywgYy1mb3JtYXQKLW1zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKLW1zZ3N0ciAiY2hpdXN1cmEgZGVsIGZpbGUgJyVzJyIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM2MTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJyVzJyBtb2RlICVvIgotbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBpbCBmaWxlICclcycgaW4gbW9kYWxpdMOgICVvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzY2OAotIywgYy1mb3JtYXQKLW1zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgotbXNnc3RyICJQYXRjaCAlcyBhcHBsaWNhdGEgY29ycmV0dGFtZW50ZS4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNjc2Ci1tc2dpZCAiaW50ZXJuYWwgZXJyb3IiCi1tc2dzdHIgImVycm9yZSBpbnRlcm5vIgotCi0jLiBTYXkgdGhpcyBldmVuIHdpdGhvdXQgLS12ZXJib3NlCi0jOiBidWlsdGluL2FwcGx5LmM6MzY3OQotIywgYy1mb3JtYXQKLW1zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCi1tc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6MzY4OQotIywgYy1mb3JtYXQKLW1zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM3MTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKLW1zZ3N0ciAiRnJhbW1lbnRvICMlZCBhcHBsaWNhdG8gY29ycmV0dGFtZW50ZS4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozNzEzCi0jLCBjLWZvcm1hdAotbXNnaWQgIlJlamVjdGVkIGh1bmsgIyVkLiIKLW1zZ3N0ciAiRnJhbW1lbnRvICMlZCByZXNwaW50by4iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozODQ0Ci1tc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgotbXNnc3RyICJpbnB1dCBub24gcmljb25vc2NpdXRvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzg1NQotbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCi1tc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgaW5kZXggZmlsZSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM5NzAgYnVpbHRpbi9hcHBseS5jOjM5NzMKLW1zZ2lkICJwYXRoIgotbXNnc3RyICJwYXRoIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzk3MQotbXNnaWQgImRvbid0IGFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCi1tc2dzdHIgIm5vbiBhcHBsaWNhIGxlIG1vZGlmaWNoZSBjb3JyaXNwb25kZW50aSBhbCBwYXRoIHNwZWNpZmljYXRvIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzk3NAotbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCi1tc2dzdHIgImFwcGxpY2EgbGUgbW9kaWZpY2hlIGNvcnJpc3BvbmRlbnRpIGFsIHBhdGggc3BlY2lmaWNhdG8iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozOTc2Ci1tc2dpZCAibnVtIgotbXNnc3RyICJudW0iCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozOTc3Ci1tc2dpZCAicmVtb3ZlIDxudW0+IGxlYWRpbmcgc2xhc2hlcyBmcm9tIHRyYWRpdGlvbmFsIGRpZmYgcGF0aHMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM5ODAKLW1zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgotbXNnc3RyICJpZ25vcmEgbGUgYWdnaXVudGUgY3JlYXRlIGRhbGxhIHBhdGNoIgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzk4MgotbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKLW1zZ3N0ciAiaW52ZWNlIGRpIGFwcGxpY2FyZSBsYSBwYXRjaCwgbW9zdHJhIGwnb3V0cHV0IGRpIGRpZmZzdGF0IHBlciBsJ2lucHV0IgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzk4NgotbXNnaWQgInNob3dzIG51bWJlciBvZiBhZGRlZCBhbmQgZGVsZXRlZCBsaW5lcyBpbiBkZWNpbWFsIG5vdGF0aW9uIgotbXNnc3RyICJtb3N0cmEgaWwgbnVtZXJvIGRpIHJpZ2hlIGFnZ2l1bnRlIGUgZWxpbWluYXRlIGluIG5vdGF6aW9uZSBkZWNpbWFsZSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM5ODgKLW1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgotbXNnc3RyICJpbnZlY2UgZGkgYXBwbGljYXJlIGxhIHBhdGNoLCBtb3N0cmEgdW4gcmlhc3N1bnRvIHBlciBsJ2lucHV0IgotCi0jOiBidWlsdGluL2FwcGx5LmM6Mzk5MAotbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCi1tc2dzdHIgImludmVjZSBkaSBhcHBsaWNhcmUgbGEgcGF0Y2gsIHZlcmlmaWNhIHNlIHB1w7IgZXNzZXJlIGFwcGxpY2F0YSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM5OTIKLW1zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCi1tc2dzdHIgImFzc2ljdXJhIGNoZSBsYSBwYXRjaCBzaWEgYXBwbGljYWJpbGUgYWxsJ2F0dHVhbGUgaW5kZXgiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozOTk0Ci1tc2dpZCAiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjM5OTYKLW1zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKLW1zZ3N0ciAiYXBwbGljYSBhbmNoZSBsYSBwYXRjaCAoZGEgdXNhcmUgY29uIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzozOTk4Ci1tc2dpZCAiYnVpbGQgYSB0ZW1wb3JhcnkgaW5kZXggYmFzZWQgb24gZW1iZWRkZWQgaW5kZXggaW5mb3JtYXRpb24iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwMDAKLW1zZ2lkICJwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKLW1zZ3N0ciAiaSBwYXRoIHNvbm8gc2VwYXJhdGkgY29uIHVuIGNhcmF0dGVyZSBOVUwiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDAzCi1tc2dpZCAiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIgotbXNnc3RyICJhc3NpY3VyYSBhbG1lbm8gPG4+IHJpZ2hlIGRpIGNvbnRlc3RvIGNvcnJpc3BvbmRlbnRlIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDAwNAotbXNnaWQgImFjdGlvbiIKLW1zZ3N0ciAiYXppb25lIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDAwNQotbXNnaWQgImRldGVjdCBuZXcgb3IgbW9kaWZpZWQgbGluZXMgdGhhdCBoYXZlIHdoaXRlc3BhY2UgZXJyb3JzIgotbXNnc3RyICJyaWxldmEgcmlnaGUgbnVvdmUgbyBtb2RpZmljYXRlIGNoZSBoYW5ubyBlcnJvcmkgZGkgc3BhemkgYmlhbmNoaSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwMDggYnVpbHRpbi9hcHBseS5jOjQwMTEKLW1zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDE0Ci1tc2dpZCAiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiCi1tc2dzdHIgImFwcGxpY2EgbGEgcGF0Y2ggaW4gbWFuaWVyYSBpbnZlcnNhIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDAxNgotbXNnaWQgImRvbid0IGV4cGVjdCBhdCBsZWFzdCBvbmUgbGluZSBvZiBjb250ZXh0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDE4Ci1tc2dpZCAibGVhdmUgdGhlIHJlamVjdGVkIGh1bmtzIGluIGNvcnJlc3BvbmRpbmcgKi5yZWogZmlsZXMiCi1tc2dzdHIgImxhc2NpYSBpIGZyYW1tZW50aSByZXNwaW50aSBuZWkgZmlsZSAucmVqIGNvcnJpc3BvbmRlbnRpIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDAyMAotbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgotbXNnc3RyICJjb25zZW50ZSBsYSBzb3ZyYXBwb3NpemlvbmUgZGVpIGZyYW1tZW50aSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwMjEKLW1zZ2lkICJiZSB2ZXJib3NlIgotbXNnc3RyICJkZXR0YWdsaWF0byIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwMjMKLW1zZ2lkICJ0b2xlcmF0ZSBpbmNvcnJlY3RseSBkZXRlY3RlZCBtaXNzaW5nIG5ldy1saW5lIGF0IHRoZSBlbmQgb2YgZmlsZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDAyNgotbXNnaWQgImRvIG5vdCB0cnVzdCB0aGUgbGluZSBjb3VudHMgaW4gdGhlIGh1bmsgaGVhZGVycyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDAyOAotbXNnaWQgInJvb3QiCi1tc2dzdHIgInJhZGljZSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwMjkKLW1zZ2lkICJwcmVwZW5kIDxyb290PiB0byBhbGwgZmlsZW5hbWVzIgotbXNnc3RyICJhbnRlcG9uZSA8cm9vdD4gYSB0dXR0aSBpIG5vbWkgZmlsZSIKLQotIzogYnVpbHRpbi9hcHBseS5jOjQwNTAKLW1zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgotbXNnc3RyICItLWluZGV4IGFsIGRpIGZ1b3JpIGRpIHVuIHJlcG9zaXRvcnkiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDUzCi1tc2dpZCAiLS1jYWNoZWQgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCi1tc2dzdHIgIi0tY2FjaGVkIGFsIGRpIGZ1b3JpIGRpIHVuIHJlcG9zaXRvcnkiCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDY5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJyIKLW1zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlIGxhIHBhdGNoICclcyciCi0KLSM6IGJ1aWx0aW4vYXBwbHkuYzo0MDgzCi0jLCBjLWZvcm1hdAotbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgotbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgotCi0jOiBidWlsdGluL2FwcGx5LmM6NDA4OSBidWlsdGluL2FwcGx5LmM6NDA5OQotIywgYy1mb3JtYXQKLW1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgotbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgotbXNnc3RyWzBdICIlZCByaWdhIGFnZ2l1bmdlIGVycm9yaSBkaSBzcGF6aSBiaWFuY2hpLiIKLW1zZ3N0clsxXSAiJWQgcmlnaGUgYWdnaXVuZ29ubyBlcnJvcmkgZGkgc3BhemkgYmlhbmNoaS4iCi0KLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjE3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgYXJjaGl2ZSBmaWxlICclcyciCi1tc2dzdHIgIm5vbiDDqCBzdGF0byBwb3NzaWJpbGUgY3JlYXJlIGlsIGZpbGUgZGVsIHJlcG9zaXRvcnkgJyVzJyIKLQotIzogYnVpbHRpbi9hcmNoaXZlLmM6MjAKLW1zZ2lkICJjb3VsZCBub3QgcmVkaXJlY3Qgb3V0cHV0IgotbXNnc3RyICJub24gw6ggc3RhdG8gcG9zc2liaWxlIHJlZGlyaWdlcmUgbCdvdXRwdXQiCi0KLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjM3Ci1tc2dpZCAiZ2l0IGFyY2hpdmU6IFJlbW90ZSB3aXRoIG5vIFVSTCIKLW1zZ3N0ciAiZ2l0IGFyY2hpdmU6IFJlbW90ZSBub24gaGEgdW4gVVJMIgotCi0jOiBidWlsdGluL2FyY2hpdmUuYzo1OAotbXNnaWQgImdpdCBhcmNoaXZlOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgRU9GIgotbXNnc3RyICJnaXQgYXJjaGl2ZTogYXR0ZXNvIEFDSy9OQUssIHJpY2V2dXRvIEVPRiIKLQotIzogYnVpbHRpbi9hcmNoaXZlLmM6NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZ2l0IGFyY2hpdmU6IE5BQ0sgJXMiCi1tc2dzdHIgImdpdCBhcmNoaXZlOiBOQUNLICVzIgotCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2NQotIywgYy1mb3JtYXQKLW1zZ2lkICJyZW1vdGUgZXJyb3I6ICVzIgotbXNnc3RyICJlcnJvcmUgcmVtb3RvOiAlcyIKLQotIzogYnVpbHRpbi9hcmNoaXZlLmM6NjYKLW1zZ2lkICJnaXQgYXJjaGl2ZTogcHJvdG9jb2wgZXJyb3IiCi1tc2dzdHIgImdpdCBhcmNoaXZlOiBlcnJvcmUgZGVsIHByb3RvY29sbG8iCi0KLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjcxCi1tc2dpZCAiZ2l0IGFyY2hpdmU6IGV4cGVjdGVkIGEgZmx1c2giCi1tc2dzdHIgImdpdCBhcmNoaXZlOiBhdHRlc28gdW4gZmx1c2giCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTQ0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGhhcyBiZWVuIG1lcmdlZCB0b1xuIgotIiAgICAgICAgICclcycsIGJ1dCBub3QgeWV0IG1lcmdlZCB0byBIRUFELiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjE0OAotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0ibm90IGRlbGV0aW5nIGJyYW5jaCAnJXMnIHRoYXQgaXMgbm90IHlldCBtZXJnZWQgdG9cbiIKLSIgICAgICAgICAnJXMnLCBldmVuIHRob3VnaCBpdCBpcyBtZXJnZWQgdG8gSEVBRC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzoxODAKLW1zZ2lkICJjYW5ub3QgdXNlIC1hIHdpdGggLWQiCi1tc2dzdHIgImltcG9zc2liaWxlIHVzYXJlIC1hIGNvbiAtZCIKLQotIzogYnVpbHRpbi9icmFuY2guYzoxODYKLW1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yIEhFQUQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzoxOTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IGRlbGV0ZSB0aGUgYnJhbmNoICclcycgd2hpY2ggeW91IGFyZSBjdXJyZW50bHkgb24uIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjAyCi0jLCBjLWZvcm1hdAotbXNnaWQgInJlbW90ZSBicmFuY2ggJyVzJyBub3QgZm91bmQuIgotbXNnc3RyICJpbCBicmFuY2ggcmVtb3RvICclcycgbm9uIMOoIHN0YXRvIHRyb3ZhdG8uIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjIwMwotIywgYy1mb3JtYXQKLW1zZ2lkICJicmFuY2ggJyVzJyBub3QgZm91bmQuIgotbXNnc3RyICJicmFuY2ggJyVzJyBub24gdHJvdmF0by4iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjEwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjIxNgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iVGhlIGJyYW5jaCAnJXMnIGlzIG5vdCBmdWxseSBtZXJnZWQuXG4iCi0iSWYgeW91IGFyZSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBpdCwgcnVuICdnaXQgYnJhbmNoIC1EICVzJy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzoyMjUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRXJyb3IgZGVsZXRpbmcgcmVtb3RlIGJyYW5jaCAnJXMnIgotbXNnc3RyICJFcnJvcmUgbmVsbGEgcmltb3ppb25lIGRlbCBicmFuY2ggcmVtb3RvICclcyciCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjI2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkVycm9yIGRlbGV0aW5nIGJyYW5jaCAnJXMnIgotbXNnc3RyICJFcnJvcmUgbmVsbGEgcmltb3ppb25lIGRlbCBicmFuY2ggJyVzJyIKLQotIzogYnVpbHRpbi9icmFuY2guYzoyMzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRGVsZXRlZCByZW1vdGUgYnJhbmNoICVzICh3YXMgJXMpLlxuIgotbXNnc3RyICJSYW1vIHJlbW90byAlcyBlbGltaW5hdG8gKGVyYSAlcykuXG4iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjM0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkRlbGV0ZWQgYnJhbmNoICVzICh3YXMgJXMpLlxuIgotbXNnc3RyICJSYW1vICVzIGVsaW1pbmF0byAoZXJhICVzKS5cbiIKLQotIzogYnVpbHRpbi9icmFuY2guYzoyMzkKLW1zZ2lkICJVcGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgotbXNnc3RyICJBZ2dpb3JuYW1lbnRvIGRlbCBmaWxlIGRpIGNvbmZpZ3VyYXppb25lIGZhbGxpdG8iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImJyYW5jaCAnJXMnIGRvZXMgbm90IHBvaW50IGF0IGEgY29tbWl0IgotbXNnc3RyICJpbCBicmFuY2ggJyVzJyBub24gcHVudGEgYWQgdW4gY29tbWl0IgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjQwOQotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXM6IGJlaGluZCAlZF0iCi1tc2dzdHIgIlslczogZGlldHJvICVkXSIKLQotIzogYnVpbHRpbi9icmFuY2guYzo0MTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiW2JlaGluZCAlZF0iCi1tc2dzdHIgIltkaWV0cm8gJWRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjQxNQotIywgYy1mb3JtYXQKLW1zZ2lkICJbJXM6IGFoZWFkICVkXSIKLW1zZ3N0ciAiWyVzOiBhdmFudGkgJWRdIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjQxNwotIywgYy1mb3JtYXQKLW1zZ2lkICJbYWhlYWQgJWRdIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDIwCi0jLCBjLWZvcm1hdAotbXNnaWQgIlslczogYWhlYWQgJWQsIGJlaGluZCAlZF0iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzo0MjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiW2FoZWFkICVkLCBiZWhpbmQgJWRdIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTM1Ci1tc2dpZCAiKG5vIGJyYW5jaCkiCi1tc2dzdHIgIihuZXNzdW4gYnJhbmNoKSIKLQotIzogYnVpbHRpbi9icmFuY2guYzo2MDAKLW1zZ2lkICJzb21lIHJlZnMgY291bGQgbm90IGJlIHJlYWQiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9icmFuY2guYzo2MTMKLW1zZ2lkICJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMwotIywgYy1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIGJyYW5jaCBuYW1lOiAnJXMnIgotbXNnc3RyICJOb21lIGRlbCBicmFuY2ggbm9uIHZhbGlkbzogJyVzJyIKLQotIzogYnVpbHRpbi9icmFuY2guYzo2MzgKLW1zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0MgotIywgYy1mb3JtYXQKLW1zZ2lkICJSZW5hbWVkIGEgbWlzbmFtZWQgYnJhbmNoICclcycgYXdheSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjY0NgotIywgYy1mb3JtYXQKLW1zZ2lkICJCcmFuY2ggcmVuYW1lZCB0byAlcywgYnV0IEhFQUQgaXMgbm90IHVwZGF0ZWQhIgotbXNnc3RyICJSYW1vIHJpbm9taW5hdG8gaW4gJXMsIG1hIEhFQUQgbm9uIMOoIGFnZ2lvcm5hdG8hIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjY1MwotbXNnaWQgIkJyYW5jaCBpcyByZW5hbWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKLW1zZ3N0ciAiIgotIklsIGJyYW5jaCDDqCBzdGF0byByaW5vbWluYXRvLCBtYSBsJ2FnZ2lvcm5hbWVudG8gZGVsIGZpbGUgZGkgY29uZmlndXJhemlvbmUgIgotIsOoIGZhbGxpdG8iCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjY4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKLW1zZ3N0ciAibm9tZSBkZWxsJ29nZ2V0dG8gJXMgZXJyYXRvIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjY5MgotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgYnJhbmNoIGRlc2NyaXB0aW9uIHRlbXBsYXRlOiAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjc4MwotbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzg4IGJ1aWx0aW4vY2xvbmUuYzo1NTgKLW1zZ2lkICJIRUFEIG5vdCBmb3VuZCBiZWxvdyByZWZzL2hlYWRzISIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwOAotbXNnaWQgIi0tY29sdW1uIGFuZCAtLXZlcmJvc2UgYXJlIGluY29tcGF0aWJsZSIKLW1zZ3N0ciAiLS1jb2x1bW4gZSAtLXZlcmJvc2Ugbm9uIHNvbm8gY29tcGF0aWJpbGkiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODU3Ci1tc2dpZCAiLWEgYW5kIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCBtYWtlIHNlbnNlIHdpdGggYSBicmFuY2ggbmFtZSIKLW1zZ3N0ciAiIgotImxlIG9wemlvbmkgLWEgZSAtciBwZXIgJ2dpdCBicmFuY2gnIG5vbiBoYW5ubyBzZW5zbyBjb24gaWwgbm9tZSBkaSB1biBicmFuY2giCi0KLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NDcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgaXMgb2theVxuIgotbXNnc3RyICIlcyDDqCBjb3JyZXR0b1xuIgotCi0jOiBidWlsdGluL2J1bmRsZS5jOjU2Ci1tc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gY3JlYXRlIGEgYnVuZGxlLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2J1bmRsZS5jOjYwCi1tc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gdW5idW5kbGUuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTMgYnVpbHRpbi9jaGVja291dC5jOjE0NgotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBvdXIgdmVyc2lvbiIKLW1zZ3N0ciAiaWwgcGF0aCAnJXMnIG5vbiBoYSBsYSBub3N0cmEgdmVyc2lvbmUiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTUgYnVpbHRpbi9jaGVja291dC5jOjE0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSB0aGVpciB2ZXJzaW9uIgotbXNnc3RyICJpbCBwYXRoICclcycgbm9uIGhhIGxhIGxvcm8gdmVyc2lvbmUiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgYWxsIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKLW1zZ3N0ciAiaWwgcGF0aCAnJXMnIG5vbiBoYSBsZSB2ZXJzaW9uaSBuZWNlc3NhcmllIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTkyCi0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGggJyVzJzogY2Fubm90IG1lcmdlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIGFkZCBtZXJnZSByZXN1bHQgZm9yICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjIzNCBidWlsdGluL2NoZWNrb3V0LmM6MzkyCi1tc2dpZCAiY29ycnVwdCBpbmRleCBmaWxlIgotbXNnc3RyICJmaWxlIGluZGV4IGNvcnJvdHRvIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjY0IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0aCAnJXMnIGlzIHVubWVyZ2VkIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMDIgYnVpbHRpbi9jaGVja291dC5jOjQ5OCBidWlsdGluL2Nsb25lLmM6NTgzCi0jOiBidWlsdGluL21lcmdlLmM6ODEyCi1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgotbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBpbCBudW92byBmaWxlIGluZGV4IgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MzE5IGJ1aWx0aW4vZGlmZi5jOjMwMiBidWlsdGluL21lcmdlLmM6NDA4Ci1tc2dpZCAiZGlmZl9zZXR1cF9kb25lIGZhaWxlZCIKLW1zZ3N0ciAiZGlmZl9zZXR1cF9kb25lIG5vbiByaXVzY2l0byIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjQxNAotbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgotbXNnc3RyICLDqCBuZWNlc3NhcmlvIHJpc29sdmVyZSBwcmltYSBsJ2F0dHVhbGUgaW5kZXgiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1MzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2FuIG5vdCBkbyByZWZsb2cgZm9yICclcydcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NTY2Ci1tc2dpZCAiSEVBRCBpcyBub3cgYXQiCi1tc2dzdHIgIkhFQUQgc2kgdHJvdmEgb3JhIGEiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1NzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVzZXQgYnJhbmNoICclcydcbiIKLW1zZ3N0ciAiUmlwcmlzdGluYSBpbCBicmFuY2ggJyVzJ1xuIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NTc2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgotbXNnc3RyICJTaSDDqCBnacOgIHN1ICclcydcbiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjU4MAotIywgYy1mb3JtYXQKLW1zZ2lkICJTd2l0Y2hlZCB0byBhbmQgcmVzZXQgYnJhbmNoICclcydcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NTgyCi0jLCBjLWZvcm1hdAotbXNnaWQgIlN3aXRjaGVkIHRvIGEgbmV3IGJyYW5jaCAnJXMnXG4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjU4NAotIywgYy1mb3JtYXQKLW1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgotbXNnc3RyICJTaSDDqCBwYXNzYXRpIGFsIGJyYW5jaCAnJXMnXG4iCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2NDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKLW1zZ3N0ciAiIC4uLiBlICVkIGFsdHJpLlxuIgotCi0jLiBUaGUgc2luZ3VsYXIgdmVyc2lvbgotIzogYnVpbHRpbi9jaGVja291dC5jOjY0NgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iV2FybmluZzogeW91IGFyZSBsZWF2aW5nICVkIGNvbW1pdCBiZWhpbmQsIG5vdCBjb25uZWN0ZWQgdG9cbiIKLSJhbnkgb2YgeW91ciBicmFuY2hlczpcbiIKKyJ5b3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZVxuIgorIklmIHRoZXNlIGNoYW5nZXMgYXJlIG1lYW50IHRvIGJlIHNxdWFzaGVkIGludG8gdGhlIHByZXZpb3VzIGNvbW1pdCwgcnVuOlxuIgogIlxuIgotIiVzXG4iCi1tc2dpZF9wbHVyYWwgIiIKLSJXYXJuaW5nOiB5b3UgYXJlIGxlYXZpbmcgJWQgY29tbWl0cyBiZWhpbmQsIG5vdCBjb25uZWN0ZWQgdG9cbiIKLSJhbnkgb2YgeW91ciBicmFuY2hlczpcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAlc1xuIgogIlxuIgotIiVzXG4iCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjY0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJJZiB5b3Ugd2FudCB0byBrZWVwIHRoZW0gYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgotInRvIGRvIHNvIHdpdGg6XG4iCisiSWYgdGhleSBhcmUgbWVhbnQgdG8gZ28gaW50byBhIG5ldyBjb21taXQsIHJ1bjpcbiIKICJcbiIKLSIgZ2l0IGJyYW5jaCBuZXdfYnJhbmNoX25hbWUgJXNcbiIKKyIgIGdpdCBjb21taXQgJXNcbiIKICJcbiIKLW1zZ3N0ciAiIgotIlNlIHNpIHZ1b2xlIG1hbnRlbmVybGUgY3JlYW5kbyB1biBudW92byBicmFuY2gsIHF1ZXN0byBwb3RyZWJiZSBlc3NlcmVcbiIKLSJ1biBidW9uIG1vbWVudG8gcGVyIGZhcmxvIGNvbjpcbiIKKyJJbiBib3RoIGNhc2VzLCBvbmNlIHlvdSdyZSBkb25lLCBjb250aW51ZSB3aXRoOlxuIgogIlxuIgotIiBnaXQgYnJhbmNoIG51b3ZvX25vbWVfYnJhbmNoICVzXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKK21zZ3N0ciAiIgorImhhaSBtb2RpZmljaGUgaW4gc3RhZ2luZyBuZWxsJ2FsYmVybyBkaSBsYXZvcm9cbiIKKyJTZSBxdWVzdGUgbW9kaWZpY2hlIGRldm9ubyBlc3NlcmUgc290dG9wb3N0ZSBhIHNxdWFzaCBuZWwgY29tbWl0XG4iCisicHJlY2VkZW50ZSwgZXNlZ3VpOlxuIgogIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCisiXG4iCisiU2UgZGV2b25vIGVzc2VyZSBpbmNsdXNlIGluIHVuIG51b3ZvIGNvbW1pdCwgZXNlZ3VpOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAlc1xuIgorIlxuIgorIkluIGVudHJhbWJpIGkgY2FzaSwgdW5hIHZvbHRhIGZpbml0bywgY29udGludWEgY29uOlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2OTQKLW1zZ2lkICJpbnRlcm5hbCBlcnJvciBpbiByZXZpc2lvbiB3YWxrIgotbXNnc3RyICIiCisjOiBzZXF1ZW5jZXIuYzoxMjE4Cittc2dpZCAiJ3ByZXBhcmUtY29tbWl0LW1zZycgaG9vayBmYWlsZWQiCittc2dzdHIgImhvb2sgJ3ByZXBhcmUtY29tbWl0LW1zZycgbm9uIHJpdXNjaXRvIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njk4Ci1tc2dpZCAiUHJldmlvdXMgSEVBRCBwb3NpdGlvbiB3YXMiCi1tc2dzdHIgIkxhIHByZWNlZGVudGUgcG9zaXppb25lIGRpIEhFQUQgZXJhIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzI0Ci1tc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKLW1zZ3N0ciAiIgotCi0jLiBjYXNlICgxKQotIzogYnVpbHRpbi9jaGVja291dC5jOjg1NQotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZTogJXMiCi1tc2dzdHIgInJpZmVyaW1lbnRvIG5vbiB2YWxpZG86ICVzIgotCi0jLiBjYXNlICgxKTogd2FudCBhIHRyZWUKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4OTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzQKLW1zZ2lkICItQiBjYW5ub3QgYmUgdXNlZCB3aXRoIC1iIgotbXNnc3RyICItQiBub24gcHXDsiBlc3NlcmUgdXNhdGEgY29uIC1iIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTgzCi1tc2dpZCAiLS1wYXRjaCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgb3B0aW9ucyIKLW1zZ3N0ciAiLS1wYXRjaCBub24gw6ggY29tcGF0aWJpbGUgY29uIHR1dHRlIGxlIGFsdHJlIG9wemlvbmkiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5ODYKLW1zZ2lkICItLWRldGFjaCBjYW5ub3QgYmUgdXNlZCB3aXRoIC1iLy1CLy0tb3JwaGFuIgotbXNnc3RyICItLWRldGFjaCBub24gcHXDsiBlc3NlcmUgdXNhdGEgY29uIC1iLy1CLy0tb3JwaGFuIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTg4Ci1tc2dpZCAiLS1kZXRhY2ggY2Fubm90IGJlIHVzZWQgd2l0aCAtdCIKLW1zZ3N0ciAiLS1kZXRhY2ggbm9uIHB1w7IgZXNzZXJlIHVzYXRhIGNvbiAtdCIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjk5NAotbXNnaWQgIi0tdHJhY2sgbmVlZHMgYSBicmFuY2ggbmFtZSIKLW1zZ3N0ciAiLS10cmFjayBuZWNlc3NpdGEgZGVsIG5vbWUgZGkgdW4gYnJhbmNoIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwMQotbXNnaWQgIk1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKLW1zZ3N0ciAiTm9tZSBkZWwgYnJhbmNoIG1hbmNhbnRlOyBwcm92YSBjb24gLWIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDA3Ci1tc2dpZCAiLS1vcnBoYW4gYW5kIC1ifC1CIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDkKLW1zZ2lkICItLW9ycGhhbiBjYW5ub3QgYmUgdXNlZCB3aXRoIC10IgotbXNnc3RyICItLW9ycGhhbiBub24gcHXDsiBlc3NlcmUgdXNhdGEgY29uIC10IgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxOQotbXNnaWQgImdpdCBjaGVja291dDogLWYgYW5kIC1tIGFyZSBpbmNvbXBhdGlibGUiCi1tc2dzdHIgImdpdCBjaGVja291dDogLWYgZSAtbSBub24gc29ubyBjb21wYXRpYmlsaSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTMKLW1zZ2lkICJpbnZhbGlkIHBhdGggc3BlY2lmaWNhdGlvbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MQotIywgYy1mb3JtYXQKKyM6IHNlcXVlbmNlci5jOjEyMjQKIG1zZ2lkICIiCi0iZ2l0IGNoZWNrb3V0OiB1cGRhdGluZyBwYXRocyBpcyBpbmNvbXBhdGlibGUgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMuXG4iCi0iRGlkIHlvdSBpbnRlbmQgdG8gY2hlY2tvdXQgJyVzJyB3aGljaCBjYW4gbm90IGJlIHJlc29sdmVkIGFzIGNvbW1pdD8iCisiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCisib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgorIllvdSBjYW4gc3VwcHJlc3MgdGhpcyBtZXNzYWdlIGJ5IHNldHRpbmcgdGhlbSBleHBsaWNpdGx5LiBSdW4gdGhlXG4iCisiZm9sbG93aW5nIGNvbW1hbmQgYW5kIGZvbGxvdyB0aGUgaW5zdHJ1Y3Rpb25zIGluIHlvdXIgZWRpdG9yIHRvIGVkaXRcbiIKKyJ5b3VyIGNvbmZpZ3VyYXRpb24gZmlsZTpcbiIKKyJcbiIKKyIgICAgZ2l0IGNvbmZpZyAtLWdsb2JhbCAtLWVkaXRcbiIKKyJcbiIKKyJBZnRlciBkb2luZyB0aGlzLCB5b3UgbWF5IGZpeCB0aGUgaWRlbnRpdHkgdXNlZCBmb3IgdGhpcyBjb21taXQgd2l0aDpcbiIKKyJcbiIKKyIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiBtc2dzdHIgIiIKKyJJbCB0dW8gbm9tZSBlIGwnaW5kaXJpenpvIGUtbWFpbCBzb25vIHN0YXRpIGNvbmZpZ3VyYXRpIGF1dG9tYXRpY2FtZW50ZSAiCisidXNhbmRvXG4iCisiaWwgdHVvIG5vbWUgdXRlbnRlIGVkIGlsIG5vbWUgaG9zdC4gUGVyIGZhdm9yZSwgdmVyaWZpY2EgY2hlIHNpYW5vIGVzYXR0aS5cbiIKKyLDiCBwb3NzaWJpbGUgZWxpbWluYXJlIHF1ZXN0byBtZXNzYWdnaW8gaW1wb3N0YW5kb2xpIGVzcGxpY2l0YW1lbnRlLlxuIgorIkVzZWd1aSBpbCBzZWd1ZW50ZSBjb21hbmRvIGUgc2VndWkgbGUgaXN0cnV6aW9uaSBmb3JuaXRlIG5lbCB0dW8gZWRpdG9yXG4iCisicGVyIG1vZGlmaWNhcmUgaWwgZmlsZSBkaSBjb25maWd1cmF6aW9uZTpcbiIKKyJcbiIKKyIgICAgZ2l0IGNvbmZpZyAtLWdsb2JhbCAtLWVkaXRcbiIKKyJEb3BvIHF1ZXN0YSBvcGVyYXppb25lLCBwdW9pIHJpcHJpc3RpbmFyZSBsJ2lkZW50aXTDoCB1c2F0YSBpbiBxdWVzdG8gY29tbWl0ICIKKyJjb246XG4iCisiXG4iCisiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2MwotbXNnaWQgImdpdCBjaGVja291dDogdXBkYXRpbmcgcGF0aHMgaXMgaW5jb21wYXRpYmxlIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2OAotbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQiCi1tc2dzdHIgImdpdCBjaGVja291dDogLS1kZXRhY2ggbm9uIHByZW5kZSB1biBwYXRoIGNvbWUgYXJnb21lbnRvIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3MQotbXNnaWQgIiIKLSJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKLSJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA5MAotbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEwOTMKLW1zZ2lkICItLW91cnMvLS10aGVpcnMgaXMgaW5jb21wYXRpYmxlIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzLiIKLW1zZ3N0ciAiLS1vdXJzLy0tdGhlaXJzIG5vbiBzb25vIGNvbXBhdGliaWxpIGNvbiBpbCBwYXNzYWdnaW8gYWkgYnJhbmNoLiIKLQotIzogYnVpbHRpbi9jbGVhbi5jOjc4Ci1tc2dpZCAiLXggYW5kIC1YIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgotbXNnc3RyICIteCBlIC1YIG5vbiBwb3Nzb25vIGVzc2VyZSB1c2F0aSBpbnNpZW1lIgotCi0jOiBidWlsdGluL2NsZWFuLmM6ODIKLW1zZ2lkICIiCi0iY2xlYW4ucmVxdWlyZUZvcmNlIHNldCB0byB0cnVlIGFuZCBuZWl0aGVyIC1uIG5vciAtZiBnaXZlbjsgcmVmdXNpbmcgdG8gY2xlYW4iCi1tc2dzdHIgIiIKLSJjbGVhbi5yZXF1aXJlRm9yY2Ugw6ggaW1wb3N0YXRvIGEgdmVybywgbWEgbsOpIC1uIG7DqSAtZiBzb25vIHN0YXRlIHNwZWNpZmljYXRlOyAiCi0iY2xlYW4gaW50ZXJyb3R0byIKLQotIzogYnVpbHRpbi9jbGVhbi5jOjg1Ci1tc2dpZCAiIgotImNsZWFuLnJlcXVpcmVGb3JjZSBkZWZhdWx0cyB0byB0cnVlIGFuZCBuZWl0aGVyIC1uIG5vciAtZiBnaXZlbjsgcmVmdXNpbmcgdG8gIgotImNsZWFuIgotbXNnc3RyICIiCi0iY2xlYW4ucmVxdWlyZUZvcmNlIMOoIHZlcm8gcGVyIGRlZmF1bHQsIG1hIG7DqSAtbiBuw6kgLWYgc29ubyBzdGF0ZSBzcGVjaWZpY2F0ZTsgIgotImNsZWFuIGludGVycm90dG8iCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzoxNTUgYnVpbHRpbi9jbGVhbi5jOjE3NgotIywgYy1mb3JtYXQKLW1zZ2lkICJXb3VsZCByZW1vdmUgJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NsZWFuLmM6MTU5IGJ1aWx0aW4vY2xlYW4uYzoxNzkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVtb3ZpbmcgJXNcbiIKLW1zZ3N0ciAiUmltb3ppb25lIGRpICVzXG4iCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzoxNjIgYnVpbHRpbi9jbGVhbi5jOjE4MgotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICVzIgotbXNnc3RyICJyaW1vemlvbmUgZGkgJXMgbm9uIHJpdXNjaXRhIgotCi0jOiBidWlsdGluL2NsZWFuLmM6MTY2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIldvdWxkIG5vdCByZW1vdmUgJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NsZWFuLmM6MTY4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIk5vdCByZW1vdmluZyAlc1xuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzoyNDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCBkaXJlY3RvcnkuIgotbXNnc3RyICJpbCByZXBvc2l0b3J5IGRpIHJpZmVyaW1lbnRvICclcycgbm9uIMOoIHVuYSBkaXJlY3RvcnkgbG9jYWxlLiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjMwMgotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgotbXNnc3RyICJhcGVydHVyYSBkaSAnJXMnIG5vbiByaXVzY2l0YSIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjMwNgotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgotbXNnc3RyICJjcmVhemlvbmUgZGVsbGEgZGlyZWN0b3J5ICclcycgbm9uIHJpdXNjaXRhIgotCi0jOiBidWlsdGluL2Nsb25lLmM6MzA4IGJ1aWx0aW4vZGlmZi5jOjc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBzdGF0ICclcyciCi1tc2dzdHIgInN0YXQgZGkgJyVzJyBub24gcml1c2NpdG8iCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzozMTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCi1tc2dzdHIgIiVzIGVzaXN0ZSBlIG5vbiDDqCB1bmEgZGlyZWN0b3J5IgotCi0jOiBidWlsdGluL2Nsb25lLmM6MzI0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCi1tc2dzdHIgInN0YXQgZGkgJXMgbm9uIHJpdXNjaXRvXG4iCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzozNDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHVubGluayAnJXMnIgotbXNnc3RyICJyaW1vemlvbmUgZGVsIGxpbmsgJyVzJyBub24gcml1c2NpdGEiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzozNDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCi1tc2dzdHIgImNyZWF6aW9uZSBkZWwgbGluayAnJXMnIG5vbiByaXVzY2l0YSIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjM1MAotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCi1tc2dzdHIgImNvcGlhIGRlbCBmaWxlIGluICclcycgbm9uIHJpdXNjaXRhIgotCi0jOiBidWlsdGluL2Nsb25lLmM6MzczCi0jLCBjLWZvcm1hdAotbXNnaWQgImRvbmUuXG4iCi1tc2dzdHIgImZhdHRvLlxuIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NDQwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbW90ZSBicmFuY2ggJXMgdG8gY2xvbmUuIgotbXNnc3RyICJOb24gw6ggc3RhdG8gcG9zc2liaWxlIHRyb3ZhcmUgaWwgYnJhbmNoIHJlbW90byAlcyBkYSBjbG9uYXJlLiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjU0OQotbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKLW1zZ3N0ciAiIgotImwnSEVBRCByZW1vdG8gc2kgcmlmZXJpc2NlIGFkIHVuIHJlZiBpbmVzaXN0ZW50ZSwgaW1wb3NzaWJpbGUgZXNlZ3VpcmUgaWwgIgotImNoZWNrb3V0LlxuIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NjM5Ci1tc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKLW1zZ3N0ciAiVHJvcHBpIGFyZ29tZW50aS4iCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NDMKLW1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgcmVwb3NpdG9yeSB0byBjbG9uZS4iCi1tc2dzdHIgIkRldmkgc3BlY2lmaWNhcmUgdW4gcmVwb3NpdG9yeSBkYSBjbG9uYXJlLiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjY1NAotIywgYy1mb3JtYXQKLW1zZ2lkICItLWJhcmUgYW5kIC0tb3JpZ2luICVzIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZS4iCi1tc2dzdHIgImxlIG9wemlvbmkgLS1iYXJlIGUgLS1vcmlnaW4gJXMgbm9uIHNvbm8gY29tcGF0aWJpbGkuIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NjY4Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKLW1zZ3N0ciAiaWwgcmVwb3NpdG9yeSAnJXMnIG5vbiBlc2lzdGUiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo2NzMKLW1zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NjgzCi0jLCBjLWZvcm1hdAotbXNnaWQgImRlc3RpbmF0aW9uIHBhdGggJyVzJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGFuIGVtcHR5IGRpcmVjdG9yeS4iCi1tc2dzdHIgIiIKLSJpbCBwYXRoIGRpIGRlc3RpbmF6aW9uZSAnJXMnIGVzaXN0ZSBnacOgIGUgbm9uIMOoIHVuYSBkaXJlY3RvcnkgdnVvdGEuIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NjkzCi0jLCBjLWZvcm1hdAotbXNnaWQgIndvcmtpbmcgdHJlZSAnJXMnIGFscmVhZHkgZXhpc3RzLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NzA2IGJ1aWx0aW4vY2xvbmUuYzo3MjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjcwOQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJy4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjcyOAotIywgYy1mb3JtYXQKLW1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKLW1zZ3N0ciAiQ2xvbmUgbmVsIHJlcG9zaXRvcnkgc3BvZ2xpbyAnJXMnLi4uXG4iCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo3MzAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2Nsb25lLmM6Nzg2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGNsb25lICVzIgotbXNnc3RyICJOb24gc28gY29tZSBjbG9uYXJlICVzIgotCi0jOiBidWlsdGluL2Nsb25lLmM6ODM1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgotbXNnc3RyICJJbCBicmFuY2ggcmVtb3RvICVzIG5vbiDDqCBzdGF0byB0cm92YXRvIGluIHVwc3RyZWFtICVzIgotCi0jOiBidWlsdGluL2Nsb25lLmM6ODQyCi1tc2dpZCAiWW91IGFwcGVhciB0byBoYXZlIGNsb25lZCBhbiBlbXB0eSByZXBvc2l0b3J5LiIKLW1zZ3N0ciAiU2VtYnJhIGNoZSB0dSBhYmJpYSBjbG9uYXRvIHVuIHJlcG9zaXRvcnkgdnVvdG8uIgotCi0jOiBidWlsdGluL2NvbHVtbi5jOjUxCi1tc2dpZCAiLS1jb21tYW5kIG11c3QgYmUgdGhlIGZpcnN0IGFyZ3VtZW50IgotbXNnc3RyICItLWNvbW1hbmQgZGV2ZSBlc3NlcmUgaWwgcHJpbW8gYXJnb21lbnRvIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjQzCisjOiBzZXF1ZW5jZXIuYzoxMjM3CiBtc2dpZCAiIgogIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgogIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKQEAgLTIwNzQsMTIxICs2NTU1LDU3MzcgQEAKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiBtc2dzdHIgIiIKLSJJbCB0dW8gbm9tZSBlIGwnaW5kaXJpenpvIGVtYWlsIHNvbm8gc3RhdGkgY29uZmlndXJhdGkgYXV0b21hdGljYW1lbnRlIHVzYW5kb1xuIgorIklsIHR1byBub21lIGUgbCdpbmRpcml6em8gZS1tYWlsIHNvbm8gc3RhdGkgY29uZmlndXJhdGkgYXV0b21hdGljYW1lbnRlICIKKyJ1c2FuZG9cbiIKICJpbCB0dW8gbm9tZSB1dGVudGUgZWQgaWwgbm9tZSBob3N0LiBQZXIgZmF2b3JlLCB2ZXJpZmljYSBjaGUgc2lhbm8gZXNhdHRpLlxuIgogIsOIIHBvc3NpYmlsZSBlbGltaW5hcmUgcXVlc3RvIG1lc3NhZ2dpbyBpbXBvc3RhbmRvbGkgZXNwbGljaXRhbWVudGU6XG4iCiAiXG4iCi0iICAgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwiVHVvIE5vbWVcIlxuIgorIiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSBcIklsIHR1byBub21lXCJcbiIKICIgICAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIHR1QGVzZW1waW8uY29tXG4iCiAiXG4iCi0iRG9wbyBxdWVzdGEgb3BlcmF6aW9uZSwgcHVvaSByaXByaXN0aW5hcmUgbCdpZGVudGl0w6AgdXNhdGEgaW4gcXVlc3RvIGNvbW1pdCBjb246XG4iCisiRG9wbyBxdWVzdGEgb3BlcmF6aW9uZSwgcHVvaSByaXByaXN0aW5hcmUgbCdpZGVudGl0w6AgdXNhdGEgaW4gcXVlc3RvIGNvbW1pdCAiCisiY29uOlxuIgogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NQorIzogc2VxdWVuY2VyLmM6MTI3OQorbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCittc2dzdHIgImltcG9zc2liaWxlIHRyb3ZhcmUgaWwgY29tbWl0IGFwcGVuYSBjcmVhdG8iCisKKyM6IHNlcXVlbmNlci5jOjEyODEKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgbmV3bHkgY3JlYXRlZCBjb21taXQiCittc2dzdHIgImltcG9zc2liaWxlIGFuYWxpenphcmUgaWwgY29tbWl0IGFwcGVuYSBjcmVhdG8iCisKKyM6IHNlcXVlbmNlci5jOjEzMjcKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSBIRUFEIGFmdGVyIGNyZWF0aW5nIGNvbW1pdCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmlzb2x2ZXJlIEhFQUQgZG9wbyBsYSBjcmVhemlvbmUgZGVsIGNvbW1pdCIKKworIzogc2VxdWVuY2VyLmM6MTMyOQorbXNnaWQgImRldGFjaGVkIEhFQUQiCittc2dzdHIgIkhFQUQgc2NvbGxlZ2F0byIKKworIzogc2VxdWVuY2VyLmM6MTMzMworbXNnaWQgIiAocm9vdC1jb21taXQpIgorbXNnc3RyICIgKGNvbW1pdCByYWRpY2UpIgorCisjOiBzZXF1ZW5jZXIuYzoxMzU0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQiCittc2dzdHIgImltcG9zc2liaWxlIGFuYWxpenphcmUgSEVBRCIKKworIzogc2VxdWVuY2VyLmM6MTM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJIRUFEICVzIGlzIG5vdCBhIGNvbW1pdCEiCittc2dzdHIgIkwnSEVBRCAlcyBub24gw6ggdW4gY29tbWl0ISIKKworIzogc2VxdWVuY2VyLmM6MTM2MCBzZXF1ZW5jZXIuYzoxNDU4IGJ1aWx0aW4vY29tbWl0LmM6MTU2OQorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSBpbCBjb21taXQgSEVBRCIKKworIzogc2VxdWVuY2VyLmM6MTQxMSBzZXF1ZW5jZXIuYzoyMDU1Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCBhdXRob3IiCittc2dzdHIgImltcG9zc2liaWxlIGFuYWxpenphcmUgbCdhdXRvcmUgZGVsIGNvbW1pdCIKKworIzogc2VxdWVuY2VyLmM6MTQzMQorbXNnaWQgImNvcnJ1cHRlZCBhdXRob3Igd2l0aG91dCBkYXRlIGluZm9ybWF0aW9uIgorbXNnc3RyICJpbmZvcm1hemlvbmkgc3VsbCdhdXRvcmUgY29ycm90dGUgKHNlbnphIGRhdGEpIgorCisjOiBzZXF1ZW5jZXIuYzoxNDQ3IGJ1aWx0aW4vYW0uYzoxNTYxIGJ1aWx0aW4vbWVyZ2UuYzo2ODQKK21zZ2lkICJnaXQgd3JpdGUtdHJlZSBmYWlsZWQgdG8gd3JpdGUgYSB0cmVlIgorbXNnc3RyICJnaXQgd3JpdGUtdHJlZSBub24gw6ggcml1c2NpdG8gYSBzY3JpdmVyZSB1biBhbGJlcm8iCisKKyM6IHNlcXVlbmNlci5jOjE0ODAgc2VxdWVuY2VyLmM6MTU1MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBjb21taXQgbWVzc2FnZSBmcm9tICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgaWwgbWVzc2FnZ2lvIGRpIGNvbW1pdCBkYSAnJXMnIgorCisjOiBzZXF1ZW5jZXIuYzoxNTE2IGJ1aWx0aW4vYW0uYzoxNTgzIGJ1aWx0aW4vY29tbWl0LmM6MTY2OCBidWlsdGluL21lcmdlLmM6ODgzCisjOiBidWlsdGluL21lcmdlLmM6OTA4Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvbW1pdCBvYmplY3QiCittc2dzdHIgInNjcml0dHVyYSBkZWxsJ29nZ2V0dG8gZGVsIGNvbW1pdCBub24gcml1c2NpdGEiCisKKyM6IHNlcXVlbmNlci5jOjE1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSBpbCBjb21taXQgJXMiCisKKyM6IHNlcXVlbmNlci5jOjE1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGFuYWxpenphcmUgaWwgY29tbWl0IGdlbml0b3JlICVzIgorCisjOiBzZXF1ZW5jZXIuYzoxNjU2IHNlcXVlbmNlci5jOjE3NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21tYW5kOiAlZCIKK21zZ3N0ciAiY29tYW5kbyBzY29ub3NjaXV0bzogJWQiCisKKyM6IHNlcXVlbmNlci5jOjE3MTQgc2VxdWVuY2VyLmM6MTczOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJWQgY29tbWl0cy4iCittc2dzdHIgIlF1ZXN0YSDDqCB1bmEgY29tYmluYXppb25lIGRpICVkIGNvbW1pdC4iCisKKyM6IHNlcXVlbmNlci5jOjE3MjQKK21zZ2lkICJuZWVkIGEgSEVBRCB0byBmaXh1cCIKK21zZ3N0ciAiw6ggbmVjZXNzYXJpYSB1bidIRUFEIHBlciBpbCBmaXh1cCIKKworIzogc2VxdWVuY2VyLmM6MTcyNiBzZXF1ZW5jZXIuYzozMzA0Cittc2dpZCAiY291bGQgbm90IHJlYWQgSEVBRCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSBsJ0hFQUQiCisKKyM6IHNlcXVlbmNlci5jOjE3MjgKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBIRUFEJ3MgY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgaWwgbWVzc2FnZ2lvIGRpIGNvbW1pdCBkZWxsJ0hFQUQiCisKKyM6IHNlcXVlbmNlci5jOjE3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICclcyciCittc2dzdHIgImltcG9zc2liaWxlIHNjcml2ZXJlICclcyciCisKKyM6IHNlcXVlbmNlci5jOjE3NDEgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ5NgorbXNnaWQgIlRoaXMgaXMgdGhlIDFzdCBjb21taXQgbWVzc2FnZToiCittc2dzdHIgIlF1ZXN0byDDqCBpbCBwcmltbyBtZXNzYWdnaW8gZGkgY29tbWl0OiIKKworIzogc2VxdWVuY2VyLmM6MTc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZSBvZiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSBpbCBtZXNzYWdnaW8gZGkgY29tbWl0IGRpICVzIgorCisjOiBzZXF1ZW5jZXIuYzoxNzU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgdGhlIGNvbW1pdCBtZXNzYWdlICMlZDoiCittc2dzdHIgIlF1ZXN0byDDqCBpbCBtZXNzYWdnaW8gZGkgY29tbWl0IG51bWVybyAlZDoiCisKKyM6IHNlcXVlbmNlci5jOjE3NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGNvbW1pdCBtZXNzYWdlICMlZCB3aWxsIGJlIHNraXBwZWQ6IgorbXNnc3RyICJJbCBtZXNzYWdnaW8gZGkgY29tbWl0IG51bWVybyAlZCBzYXLDoCBzYWx0YXRvOiIKKworIzogc2VxdWVuY2VyLmM6MTg1MAorbXNnaWQgInlvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCittc2dzdHIgImlsIGZpbGUgaW5kaWNlIG5vbiDDqCBzdGF0byBzb3R0b3Bvc3RvIGEgbWVyZ2UuIgorCisjOiBzZXF1ZW5jZXIuYzoxODU3Cittc2dpZCAiY2Fubm90IGZpeHVwIHJvb3QgY29tbWl0IgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBpbCBmaXh1cCBzdWwgY29tbWl0IHJhZGljZSIKKworIzogc2VxdWVuY2VyLmM6MTg3NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQgJXMgaXMgYSBtZXJnZSBidXQgbm8gLW0gb3B0aW9uIHdhcyBnaXZlbi4iCittc2dzdHIgImlsIGNvbW1pdCAlcyDDqCB1biBtZXJnZSBtYSBub24gw6ggc3RhdGEgc3BlY2lmaWNhdGEgbCdvcHppb25lIC1tLiIKKworIzogc2VxdWVuY2VyLmM6MTg4NCBzZXF1ZW5jZXIuYzoxODkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKK21zZ3N0ciAiaWwgY29tbWl0ICVzIG5vbiBoYSBpbCBnZW5pdG9yZSAlZCIKKworIzogc2VxdWVuY2VyLmM6MTg5OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIGZvciAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgb3R0ZW5lcmUgaWwgbWVzc2FnZ2lvIGRpIGNvbW1pdCBwZXIgJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSBhICJ0b2RvIiBjb21tYW5kIGxpa2UKKyMuICJyZXZlcnQiIG9yICJwaWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEuCisjOiBzZXF1ZW5jZXIuYzoxOTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFuYWxpenphcmUgaWwgY29tbWl0IGdlbml0b3JlICVzIgorCisjOiBzZXF1ZW5jZXIuYzoxOTgyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgJyVzJyB0byAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaWRlbm9taW5hcmUgJyVzJyBpbiAnJXMnIgorCisjOiBzZXF1ZW5jZXIuYzoyMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiCittc2dzdHIgIm5vbiDDqCBzdGF0byBwb3NzaWJpbGUgZXNlZ3VpcmUgaWwgcmV2ZXJ0IGRpICVzLi4uICVzIgorCisjOiBzZXF1ZW5jZXIuYzoyMDM4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBhcHBseSAlcy4uLiAlcyIKK21zZ3N0ciAibm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBhcHBsaWNhcmUgJXMuLi4gJXMiCisKKyM6IHNlcXVlbmNlci5jOjIxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCittc2dzdHIgImdpdCAlczogbGV0dHVyYSBkZWxsJ2luZGljZSBub24gcml1c2NpdGEiCisKKyM6IHNlcXVlbmNlci5jOjIxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVmcmVzaCB0aGUgaW5kZXgiCittc2dzdHIgImdpdCAlczogYWdnaW9ybmFtZW50byBkZWxsJ2luZGljZSBub24gcml1c2NpdG8iCisKKyM6IHNlcXVlbmNlci5jOjIxODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgYWNjZXB0IGFyZ3VtZW50czogJyVzJyIKK21zZ3N0ciAiJXMgbm9uIGFjY2V0dGEgYXJnb21lbnRpOiAnJXMnIgorCisjOiBzZXF1ZW5jZXIuYzoyMTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgYXJndW1lbnRzIGZvciAlcyIKK21zZ3N0ciAiYXJnb21lbnRpIG1hbmNhbnRpIHBlciAlcyIKKworIzogc2VxdWVuY2VyLmM6MjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgJyUuKnMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhbmFsaXp6YXJlICclLipzJyIKKworIzogc2VxdWVuY2VyLmM6MjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgInJpZ2EgJWQgbm9uIHZhbGlkYTogJS4qcyIKKworIzogc2VxdWVuY2VyLmM6MjMwMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgJyVzJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSAnJXMnIHNlbnphIHVuIGNvbW1pdCBwcmVjZWRlbnRlIgorCisjOiBzZXF1ZW5jZXIuYzoyMzQ4IGJ1aWx0aW4vcmViYXNlLmM6MTcyIGJ1aWx0aW4vcmViYXNlLmM6MTk3CisjOiBidWlsdGluL3JlYmFzZS5jOjIyMyBidWlsdGluL3JlYmFzZS5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnLiIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSAnJXMnLiIKKworIzogc2VxdWVuY2VyLmM6MjM4NAorbXNnaWQgImNhbmNlbGxpbmcgYSBjaGVycnkgcGlja2luZyBpbiBwcm9ncmVzcyIKK21zZ3N0ciAiYW5udWxsbyB1bidvcGVyYXppb25lIGRpIGNoZXJyeS1waWNrIGluIGNvcnNvIgorCisjOiBzZXF1ZW5jZXIuYzoyMzkxCittc2dpZCAiY2FuY2VsbGluZyBhIHJldmVydCBpbiBwcm9ncmVzcyIKK21zZ3N0ciAiYW5udWxsbyB1bidvcGVyYXppb25lIGRpIHJldmVydCBpbiBjb3JzbyIKKworIzogc2VxdWVuY2VyLmM6MjQzNQorbXNnaWQgInBsZWFzZSBmaXggdGhpcyB1c2luZyAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuIgorbXNnc3RyICJjb3JyZWdnaSBsYSBzaXR1YXppb25lIHVzYW5kbyAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuIgorCisjOiBzZXF1ZW5jZXIuYzoyNDM3CisjLCBjLWZvcm1hdAorbXNnaWQgInVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAnJXMnIgorbXNnc3RyICJmb2dsaW8gaXN0cnV6aW9uaSBpbnV0aWxpenphYmlsZTogJyVzJyIKKworIzogc2VxdWVuY2VyLmM6MjQ0MgorbXNnaWQgIm5vIGNvbW1pdHMgcGFyc2VkLiIKK21zZ3N0ciAibmVzc3VuIGNvbW1pdCBhbmFsaXp6YXRvLiIKKworIzogc2VxdWVuY2VyLmM6MjQ1MworbXNnaWQgImNhbm5vdCBjaGVycnktcGljayBkdXJpbmcgYSByZXZlcnQuIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSB1biBjaGVycnktcGljayBkdXJhbnRlIHVuIHJldmVydC4iCisKKyM6IHNlcXVlbmNlci5jOjI0NTUKK21zZ2lkICJjYW5ub3QgcmV2ZXJ0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgdW4gcmV2ZXJ0IGR1cmFudGUgdW4gY2hlcnJ5LXBpY2suIgorCisjOiBzZXF1ZW5jZXIuYzoyNTMzCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKK21zZ3N0ciAidmFsb3JlIG5vbiB2YWxpZG8gcGVyICVzOiAlcyIKKworIzogc2VxdWVuY2VyLmM6MjYzMAorbXNnaWQgInVudXNhYmxlIHNxdWFzaC1vbnRvIgorbXNnc3RyICJzcXVhc2gtb250byBpbnV0aWxpenphYmlsZSIKKworIzogc2VxdWVuY2VyLmM6MjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJyVzJyIKK21zZ3N0ciAiZm9nbGlvIG9wemlvbmkgbWFsZm9ybWF0aTogJyVzJyIKKworIzogc2VxdWVuY2VyLmM6MjczNiBzZXF1ZW5jZXIuYzo0NDYzCittc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCittc2dzdHIgIsOoIHN0YXRvIHBhc3NhdG8gdW4gaW5zaWVtZSBkaSBjb21taXQgdnVvdG8iCisKKyM6IHNlcXVlbmNlci5jOjI3NTIKK21zZ2lkICJyZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKK21zZ3N0ciAidW4nb3BlcmF6aW9uZSBkaSByZXZlcnQgw6ggZ2nDoCBpbiBjb3JzbyIKKworIzogc2VxdWVuY2VyLmM6Mjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0cnkgXCJnaXQgcmV2ZXJ0ICgtLWNvbnRpbnVlIHwgJXMtLWFib3J0IHwgLS1xdWl0KVwiIgorbXNnc3RyICJwcm92YSBcImdpdCByZXZlcnQgKC0tY29udGludWUgfCAlcy0tYWJvcnQgfCAtLXF1aXQpXCIiCisKKyM6IHNlcXVlbmNlci5jOjI3NTcKK21zZ2lkICJjaGVycnktcGljayBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgorbXNnc3RyICJ1bidvcGVyYXppb25lIGRpIGNoZXJyeS1waWNrIMOoIGdpw6AgaW4gY29yc28iCisKKyM6IHNlcXVlbmNlci5jOjI3NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgJXMtLWFib3J0IHwgLS1xdWl0KVwiIgorbXNnc3RyICJwcm92YSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8ICVzLS1hYm9ydCB8IC0tcXVpdClcIiIKKworIzogc2VxdWVuY2VyLmM6Mjc3MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY3JlYXJlIGxhIGRpcmVjdG9yeSBzZXF1ZW5jZXIgJyVzJyIKKworIzogc2VxdWVuY2VyLmM6Mjc4OAorbXNnaWQgImNvdWxkIG5vdCBsb2NrIEhFQUQiCittc2dzdHIgImltcG9zc2liaWxlIGJsb2NjYXJlIEhFQUQiCisKKyM6IHNlcXVlbmNlci5jOjI4NDggc2VxdWVuY2VyLmM6NDIwOQorbXNnaWQgIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIKK21zZ3N0ciAibmVzc3VuYSBvcGVyYXppb25lIGRpIGNoZXJyeS1waWNrIG8gcmV2ZXJ0IGluIGNvcnNvIgorCisjOiBzZXF1ZW5jZXIuYzoyODUwIHNlcXVlbmNlci5jOjI4NjEKK21zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaXNvbHZlcmUgSEVBRCIKKworIzogc2VxdWVuY2VyLmM6Mjg1MiBzZXF1ZW5jZXIuYzoyODk2Cittc2dpZCAiY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCittc2dzdHIgIiIKKyJpbXBvc3NpYmlsZSBpbnRlcnJvbXBlcmUgbCdvcGVyYXppb25lIGRhIHVuIGJyYW5jaCBjaGUgZGV2ZSBlc3NlcmUgYW5jb3JhICIKKyJjcmVhdG8iCisKKyM6IHNlcXVlbmNlci5jOjI4ODIgYnVpbHRpbi9ncmVwLmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAnJXMnIgorCisjOiBzZXF1ZW5jZXIuYzoyODg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICclcyc6ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlICclcyc6ICVzIgorCisjOiBzZXF1ZW5jZXIuYzoyODg1Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKK21zZ3N0ciAiZmluZSBkZWwgZmlsZSBpbmF0dGVzYSIKKworIzogc2VxdWVuY2VyLmM6Mjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJzdG9yZWQgcHJlLWNoZXJyeS1waWNrIEhFQUQgZmlsZSAnJXMnIGlzIGNvcnJ1cHQiCittc2dzdHIgIiIKKyJpbCBmaWxlICclcycgaW4gY3VpIMOoIHN0YXRvIHNhbHZhdG8gbCdIRUFEIHByaW1hIGRlbCBjaGVycnkgcGljayDDqCBjb3Jyb3R0byIKKworIzogc2VxdWVuY2VyLmM6MjkwMgorbXNnaWQgIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRC4gTm90IHJld2luZGluZywgY2hlY2sgeW91ciBIRUFEISIKK21zZ3N0ciAiIgorIlNlbWJyYSBjaGUgdHUgYWJiaWEgc3Bvc3RhdG8gbCdIRUFELiBOb24gZXNlZ3VvIGlsIHJld2luZCwgY29udHJvbGxhIGwnSEVBRCEiCisKKyM6IHNlcXVlbmNlci5jOjI5NDMKK21zZ2lkICJubyByZXZlcnQgaW4gcHJvZ3Jlc3MiCittc2dzdHIgIm5lc3N1biByZXZlcnQgaW4gY29yc28iCisKKyM6IHNlcXVlbmNlci5jOjI5NTEKK21zZ2lkICJubyBjaGVycnktcGljayBpbiBwcm9ncmVzcyIKK21zZ3N0ciAibmVzc3VuIGNoZXJyeS1waWNrIGluIGNvcnNvIgorCisjOiBzZXF1ZW5jZXIuYzoyOTYxCittc2dpZCAiZmFpbGVkIHRvIHNraXAgdGhlIGNvbW1pdCIKK21zZ3N0ciAic2FsdG8gZGVsIGNvbW1pdCBub24gcml1c2NpdG8iCisKKyM6IHNlcXVlbmNlci5jOjI5NjgKK21zZ2lkICJ0aGVyZSBpcyBub3RoaW5nIHRvIHNraXAiCittc2dzdHIgIm5vbiBjJ8OoIG51bGxhIGRhIHNhbHRhcmUiCisKKyM6IHNlcXVlbmNlci5jOjI5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImhhdmUgeW91IGNvbW1pdHRlZCBhbHJlYWR5P1xuIgorInRyeSBcImdpdCAlcyAtLWNvbnRpbnVlXCIiCittc2dzdHIgIiIKKyJoYWkgZ2nDoCBlc2VndWl0byBpbCBjb21taXQ/XG4iCisicHJvdmEgXCJnaXQgJXMgLS1jb250aW51ZVwiIgorCisjOiBzZXF1ZW5jZXIuYzozMDk1IHNlcXVlbmNlci5jOjQxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHVwZGF0ZSAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYWdnaW9ybmFyZSAlcyIKKworIzogc2VxdWVuY2VyLmM6MzEzNCBzZXF1ZW5jZXIuYzo0MTAxCittc2dpZCAiY2Fubm90IHJlYWQgSEVBRCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSBsJ0hFQUQiCisKKyM6IHNlcXVlbmNlci5jOjMxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNvcHkgJyVzJyB0byAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBjb3BpYXJlICclcycgaW4gJyVzJyIKKworIzogc2VxdWVuY2VyLmM6MzE1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGNhbiBhbWVuZCB0aGUgY29tbWl0IG5vdywgd2l0aFxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCisiXG4iCisiT25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcywgcnVuXG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKK21zZ3N0ciAiIgorIsOIIHBvc3NpYmlsZSBtb2RpZmljYXJlIGlsIGNvbW1pdCBvcmEgY29uXG4iCisiXG4iCisiICBnaXQgY29tbWl0IC0tYW1lbmQgJXNcbiIKKyJcbiIKKyJRdWFuZG8gc2VpIHNvZGRpc2ZhdHRvIGRlbGxlIG1vZGlmaWNoZSwgZXNlZ3VpXG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKworIzogc2VxdWVuY2VyLmM6MzE2OQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgYXBwbHkgJXMuLi4gJS4qcyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYXBwbGljYXJlICVzLi4uICUuKnMiCisKKyM6IHNlcXVlbmNlci5jOjMxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG1lcmdlICUuKnMiCittc2dzdHIgIkltcG9zc2liaWxlIGVzZWd1aXJlIGlsIG1lcmdlIGRpICUuKnMiCisKKyM6IHNlcXVlbmNlci5jOjMxOTAgc2VxdWVuY2VyLmM6MzE5NCBidWlsdGluL2RpZmZ0b29sLmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjb3B5ICclcycgdG8gJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY29waWFyZSAnJXMnIGluICclcyciCisKKyM6IHNlcXVlbmNlci5jOjMyMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImV4ZWN1dGlvbiBmYWlsZWQ6ICVzXG4iCisiJXNZb3UgY2FuIGZpeCB0aGUgcHJvYmxlbSwgYW5kIHRoZW4gcnVuXG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorImVzZWN1emlvbmUgbm9uIHJpdXNjaXRhOiAlc1xuIgorIiVzUHVvaSBjb3JyZWdnZXJlIGlsIHByb2JsZW1hIGUgcXVpbmRpIGVzZWd1aXJlXG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKyJcbiIKKworIzogc2VxdWVuY2VyLmM6MzIyNworbXNnaWQgImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlXG4iCittc2dzdHIgImUgc29ubyBzdGF0ZSBhcHBvcnRhdGUgbW9kaWZpY2hlIGFsbCdpbmRpY2UgZS9vIGFsbCdhbGJlcm8gZGkgbGF2b3JvXG4iCisKKyM6IHNlcXVlbmNlci5jOjMyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImV4ZWN1dGlvbiBzdWNjZWVkZWQ6ICVzXG4iCisiYnV0IGxlZnQgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWVcbiIKKyJDb21taXQgb3Igc3Rhc2ggeW91ciBjaGFuZ2VzLCBhbmQgdGhlbiBydW5cbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorIlxuIgorbXNnc3RyICIiCisiZXNlY3V6aW9uZSByaXVzY2l0YTogJXNcbiIKKyJtYSBzb25vIHN0YXRlIG1hbnRlbnV0ZSBtb2RpZmljaGUgYWxsJ2luZGljZSBlL28gYWxsJ2FsYmVybyBkaSBsYXZvcm9cbiIKKyJFc2VndWkgaWwgY29tbWl0IG8gbG8gc3Rhc2ggZGVsbGUgbW9kaWZpY2hlLCBxdWluZGkgZXNlZ3VpXG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKyJcbiIKKworIzogc2VxdWVuY2VyLmM6MzI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGxhYmVsIG5hbWU6ICclLipzJyIKK21zZ3N0ciAibm9tZSBldGljaGV0dGEgaWxsZWNpdG86ICclLipzJyIKKworIzogc2VxdWVuY2VyLmM6MzM0OAorbXNnaWQgIndyaXRpbmcgZmFrZSByb290IGNvbW1pdCIKK21zZ3N0ciAic2NyaXR0dXJhIGNvbW1pdCByYWRpY2UgZmFsc28gaW4gY29yc28iCisKKyM6IHNlcXVlbmNlci5jOjMzNTMKK21zZ2lkICJ3cml0aW5nIHNxdWFzaC1vbnRvIgorbXNnc3RyICJzY3JpdHR1cmEgc3F1YXNoLW9udG8gaW4gY29yc28iCisKKyM6IHNlcXVlbmNlci5jOjMzOTEgYnVpbHRpbi9yZWJhc2UuYzo4NzYgYnVpbHRpbi9yZWJhc2UuYzo4ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGZpbmQgdHJlZSBvZiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgdHJvdmFyZSBsJ2FsYmVybyBkaSAlcyIKKworIzogc2VxdWVuY2VyLmM6MzQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaXNvbHZlcmUgJyVzJyIKKworIzogc2VxdWVuY2VyLmM6MzQ2NworbXNnaWQgImNhbm5vdCBtZXJnZSB3aXRob3V0IGEgY3VycmVudCByZXZpc2lvbiIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgaWwgbWVyZ2Ugc2VuemEgdW5hIHJldmlzaW9uZSBjb3JyZW50ZSIKKworIzogc2VxdWVuY2VyLmM6MzQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyUuKnMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhbmFsaXp6YXJlICclLipzJyIKKworIzogc2VxdWVuY2VyLmM6MzQ5OAorIywgYy1mb3JtYXQKK21zZ2lkICJub3RoaW5nIHRvIG1lcmdlOiAnJS4qcyciCittc2dzdHIgIm5vbiBjJ8OoIG51bGxhIGRpIGN1aSBlc2VndWlyZSBpbCBtZXJnZTogJyUuKnMnIgorCisjOiBzZXF1ZW5jZXIuYzozNTEwCittc2dpZCAib2N0b3B1cyBtZXJnZSBjYW5ub3QgYmUgZXhlY3V0ZWQgb24gdG9wIG9mIGEgW25ldyByb290XSIKK21zZ3N0ciAiaWwgbWVyZ2Ugb2N0b3B1cyBub24gcHXDsiBlc3NlcmUgZXNlZ3VpdG8gc3UgdW4gW251b3ZvIGNvbW1pdCByYWRpY2VdIgorCisjOiBzZXF1ZW5jZXIuYzozNTI2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBnZXQgY29tbWl0IG1lc3NhZ2Ugb2YgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgb3R0ZW5lcmUgaWwgbWVzc2FnZ2lvIGRpIGNvbW1pdCBwZXIgJyVzJyIKKworIzogc2VxdWVuY2VyLmM6MzY4OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZXZlbiBhdHRlbXB0IHRvIG1lcmdlICclLipzJyIKK21zZ3N0ciAibm9uIMOoIHN0YXRvIG5lbW1lbm8gcG9zc2liaWxlIHRlbnRhcmUgZGkgZXNlZ3VpcmUgaWwgbWVyZ2UgZGkgJyUuKnMnIgorCisjOiBzZXF1ZW5jZXIuYzozNzA0Cittc2dpZCAibWVyZ2U6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKK21zZ3N0ciAibWVyZ2U6IGltcG9zc2liaWxlIHNjcml2ZXJlIGlsIG51b3ZvIGZpbGUgaW5kaWNlIgorCisjOiBzZXF1ZW5jZXIuYzozNzczIGJ1aWx0aW4vcmViYXNlLmM6NzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLlxuIgorbXNnc3RyICJTdGFzaCBhdXRvbWF0aWNvIGFwcGxpY2F0by5cbiIKKworIzogc2VxdWVuY2VyLmM6Mzc4NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RvcmUgJXMiCittc2dzdHIgImltcG9zc2liaWxlIG1lbW9yaXp6YXJlICVzIgorCisjOiBzZXF1ZW5jZXIuYzozNzg4IGJ1aWx0aW4vcmViYXNlLmM6NzQ5IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuXG4iCisiWW91ciBjaGFuZ2VzIGFyZSBzYWZlIGluIHRoZSBzdGFzaC5cbiIKKyJZb3UgY2FuIHJ1biBcImdpdCBzdGFzaCBwb3BcIiBvciBcImdpdCBzdGFzaCBkcm9wXCIgYXQgYW55IHRpbWUuXG4iCittc2dzdHIgIiIKKyJMJ2FwcGxpY2F6aW9uZSBkZWxsbyBzdGFzaCBhdXRvbWF0aWNvIGhhIGdlbmVyYXRvIGNvbmZsaXR0aS5cbiIKKyJMZSB0dWUgbW9kaWZpY2hlIHNvbm8gYWwgc2ljdXJvIG5lbGxvIHN0YXNoLlxuIgorIlB1b2kgZXNlZ3VpcmUgXCJnaXQgc3Rhc2ggcG9wXCIgbyBcImdpdCBzdGFzaCBkcm9wXCIgaW4gcXVhbHVucXVlIG1vbWVudG8uXG4iCisKKyM6IHNlcXVlbmNlci5jOjM4NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNoZWNrb3V0ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBpbCBjaGVja291dCBkaSAlcyIKKworIzogc2VxdWVuY2VyLmM6Mzg2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgT0lEIgorbXNnc3RyICIlczogbm9uIMOoIHVuIE9JRCB2YWxpZG8iCisKKyM6IHNlcXVlbmNlci5jOjM4NjggZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc3OQorbXNnaWQgImNvdWxkIG5vdCBkZXRhY2ggSEVBRCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc2NvbGxlZ2FyZSBsJ0hFQUQiCisKKyM6IHNlcXVlbmNlci5jOjM4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RvcHBlZCBhdCBIRUFEXG4iCittc2dzdHIgIkZlcm1hdG8gYSBIRUFEXG4iCisKKyM6IHNlcXVlbmNlci5jOjM4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RvcHBlZCBhdCAlc1xuIgorbXNnc3RyICJGZXJtYXRvIGEgJXNcbiIKKworIzogc2VxdWVuY2VyLmM6Mzg5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ291bGQgbm90IGV4ZWN1dGUgdGhlIHRvZG8gY29tbWFuZFxuIgorIlxuIgorIiAgICAlLipzXG4iCisiSXQgaGFzIGJlZW4gcmVzY2hlZHVsZWQ7IFRvIGVkaXQgdGhlIGNvbW1hbmQgYmVmb3JlIGNvbnRpbnVpbmcsIHBsZWFzZVxuIgorImVkaXQgdGhlIHRvZG8gbGlzdCBmaXJzdDpcbiIKKyJcbiIKKyIgICAgZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1xuIgorIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKK21zZ3N0ciAiIgorIkltcG9zc2liaWxlIGVzZWd1aXJlIGlsIGNvbWFuZG8gdG9kb1xuIgorIlxuIgorIiAgICAlLipzXG4iCisiXG4iCisiSWwgY29tYW5kbyDDqCBzdGF0byBwaWFuaWZpY2F0byBudW92YW1lbnRlLiBQZXIgbW9kaWZpY2FybG8gcHJpbWEgZGlcbiIKKyJjb250aW51YXJlLCBtb2RpZmljYSBwcmltYSBsYSBsaXN0YSB0b2RvOlxuIgorIlxuIgorIiAgICBnaXQgcmViYXNlIC0tZWRpdC10b2RvXG4iCisiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorCisjOiBzZXF1ZW5jZXIuYzozOTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0b3BwZWQgYXQgJXMuLi4gICUuKnNcbiIKK21zZ3N0ciAiRmVybWF0byBhICVzLi4uICUuKnNcbiIKKworIzogc2VxdWVuY2VyLmM6NDA1MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbW1hbmQgJWQiCittc2dzdHIgImNvbWFuZG8gJWQgc2Nvbm9zY2l1dG8iCisKKyM6IHNlcXVlbmNlci5jOjQxMDkKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBvcmlnLWhlYWQiCittc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgb3JpZy1oZWFkIgorCisjOiBzZXF1ZW5jZXIuYzo0MTE0Cittc2dpZCAiY291bGQgbm90IHJlYWQgJ29udG8nIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlICdvbnRvJyIKKworIzogc2VxdWVuY2VyLmM6NDEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdXBkYXRlIEhFQUQgdG8gJXMiCittc2dzdHIgImltcG9zc2liaWxlIGFnZ2lvcm5hcmUgbCdIRUFEIGEgJXMiCisKKyM6IHNlcXVlbmNlci5jOjQyMjEKK21zZ2lkICJjYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorImltcG9zc2liaWxlIGVzZWd1aXJlIGlsIHJlYmFzZTogY2kgc29ubyBkZWxsZSBtb2RpZmljaGUgbm9uIGluIHN0YWdpbmcuIgorCisjOiBzZXF1ZW5jZXIuYzo0MjMwCittc2dpZCAiY2Fubm90IGFtZW5kIG5vbi1leGlzdGluZyBjb21taXQiCittc2dzdHIgImltcG9zc2liaWxlIG1vZGlmaWNhcmUgdW4gY29tbWl0IGluZXNpc3RlbnRlIgorCisjOiBzZXF1ZW5jZXIuYzo0MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZmlsZTogJyVzJyIKK21zZ3N0ciAiZmlsZSBub24gdmFsaWRvOiAnJXMnIgorCisjOiBzZXF1ZW5jZXIuYzo0MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29udGVudHM6ICclcyciCittc2dzdHIgImNvbnRlbnV0aSBub24gdmFsaWRpOiAnJXMnIgorCisjOiBzZXF1ZW5jZXIuYzo0MjM3Cittc2dpZCAiIgorIlxuIgorIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSwgY29tbWl0IHRoZW1cbiIKKyJmaXJzdCBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScgYWdhaW4uIgorbXNnc3RyICIiCisiXG4iCisiQ2kgc29ubyBtb2RpZmljaGUgZGkgY3VpIG5vbiDDqCBzdGF0byBlc2VndWl0byBpbCBjb21taXQgbmVsIHR1byBhbGJlcm9cbiIKKyJkaSBsYXZvcm8uIEVzZWd1aW5lIHByaW1hIGlsIGNvbW1pdCBlIHF1aW5kaSBlc2VndWkgbnVvdmFtZW50ZSAnZ2l0IHJlYmFzZVxuIgorIi0tY29udGludWUnLiIKKworIzogc2VxdWVuY2VyLmM6NDI3MyBzZXF1ZW5jZXIuYzo0MzEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBmaWxlOiAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBpbCBmaWxlOiAnJXMnIgorCisjOiBzZXF1ZW5jZXIuYzo0MzI3Cittc2dpZCAiY291bGQgbm90IHJlbW92ZSBDSEVSUllfUElDS19IRUFEIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaW11b3ZlcmUgQ0hFUlJZX1BJQ0tfSEVBRCIKKworIzogc2VxdWVuY2VyLmM6NDMzNAorbXNnaWQgImNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBpbCBjb21taXQgZGVsbGUgbW9kaWZpY2hlIGluIHN0YWdpbmcuIgorCisjOiBzZXF1ZW5jZXIuYzo0NDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgZXNlZ3VpcmUgaWwgY2hlcnJ5IHBpY2sgZGkgdW4gJXMiCisKKyM6IHNlcXVlbmNlci5jOjQ0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKK21zZ3N0ciAiJXM6IHJldmlzaW9uZSBub24gdmFsaWRhIgorCisjOiBzZXF1ZW5jZXIuYzo0NDc5Cittc2dpZCAiY2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBpbCByZXZlcnQgY29tZSBjb21taXQgaW5pemlhbGUiCisKKyM6IHNlcXVlbmNlci5jOjQ5NTIKK21zZ2lkICJtYWtlX3NjcmlwdDogdW5oYW5kbGVkIG9wdGlvbnMiCittc2dzdHIgIm1ha2Vfc2NyaXB0OiBvcHppb25pIG5vbiBnZXN0aXRlIgorCisjOiBzZXF1ZW5jZXIuYzo0OTU1Cittc2dpZCAibWFrZV9zY3JpcHQ6IGVycm9yIHByZXBhcmluZyByZXZpc2lvbnMiCittc2dzdHIgIm1ha2Vfc2NyaXB0OiBlcnJvcmUgZHVyYW50ZSBsYSBwcmVwYXJhemlvbmUgZGVsbGUgcmV2aXNpb25pIgorCisjOiBzZXF1ZW5jZXIuYzo1MTEzCittc2dpZCAiIgorIllvdSBjYW4gZml4IHRoaXMgd2l0aCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tIgorImNvbnRpbnVlJy5cbiIKKyJPciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSAtLWFib3J0Jy5cbiIKK21zZ3N0ciAiIgorIlB1b2kgY29ycmVnZ2VyZSBxdWVzdGEgc2l0dWF6aW9uZSBjb24gJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIGUgcXVpbmRpICIKKyJlc2VndWlyZSAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJy5cbiIKKyJPcHB1cmUgcHVvaSBpbnRlcnJvbXBlcmUgaWwgcmViYXNlIGNvbiAnZ2l0IHJlYmFzZSAtLWFib3J0Jy5cbiIKKworIzogc2VxdWVuY2VyLmM6NTIyNiBzZXF1ZW5jZXIuYzo1MjQzCittc2dpZCAibm90aGluZyB0byBkbyIKK21zZ3N0ciAibnVsbGEgZGEgZmFyZSIKKworIzogc2VxdWVuY2VyLmM6NTI1NworbXNnaWQgImNvdWxkIG5vdCBza2lwIHVubmVjZXNzYXJ5IHBpY2sgY29tbWFuZHMiCittc2dzdHIgImltcG9zc2liaWxlIHNhbHRhcmUgaSBjb21hbmRpIHBpY2sgbm9uIG5lY2Vzc2FyaSIKKworIzogc2VxdWVuY2VyLmM6NTM1MQorbXNnaWQgInRoZSBzY3JpcHQgd2FzIGFscmVhZHkgcmVhcnJhbmdlZC4iCittc2dzdHIgImxvIHNjcmlwdCDDqCBnacOgIHN0YXRvIHJpb3JkaW5hdG8uIgorCisjOiBzZXR1cC5jOjEyNAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG91dHNpZGUgcmVwb3NpdG9yeSIKK21zZ3N0ciAiJyVzJyDDqCBhbCBkaSBmdW9yaSBkZWwgcmVwb3NpdG9yeSIKKworIzogc2V0dXAuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBubyBzdWNoIHBhdGggaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKKyJVc2UgJ2dpdCA8Y29tbWFuZD4gLS0gPHBhdGg+Li4uJyB0byBzcGVjaWZ5IHBhdGhzIHRoYXQgZG8gbm90IGV4aXN0IGxvY2FsbHkuIgorbXNnc3RyICIiCisiJXM6IHBlcmNvcnNvIG5vbiBlc2lzdGVudGUgbmVsbCdhbGJlcm8gZGkgbGF2b3JvLlxuIgorIlVzYSAnZ2l0IDxjb21hbmRvPiAtLSA8cGVyY29yc28+Li4uJyBwZXIgc3BlY2lmaWNhcmUgcGVyY29yc2kgbm9uIGVzaXN0ZW50aSAiCisibG9jYWxtZW50ZS4iCisKKyM6IHNldHVwLmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogdW5rbm93biByZXZpc2lvbiBvciBwYXRoIG5vdCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgorIlVzZSAnLS0nIHRvIHNlcGFyYXRlIHBhdGhzIGZyb20gcmV2aXNpb25zLCBsaWtlIHRoaXM6XG4iCisiJ2dpdCA8Y29tbWFuZD4gWzxyZXZpc2lvbj4uLi5dIC0tIFs8ZmlsZT4uLi5dJyIKK21zZ3N0ciAiIgorImFyZ29tZW50byAnJXMnIGFtYmlndW86IHJldmlzaW9uZSBzY29ub3NjaXV0YSBvIHBlcmNvcnNvIG5vbiBuZWxsJ2FsYmVybyBkaSAiCisibGF2b3JvLlxuIgorIlVzYSAnLS0nIHBlciBzZXBhcmFyZSBpIHBlcmNvcnNpIGRhbGxlIHJldmlzaW9uaSwgY29tZSBzZWd1ZTpcbiIKKyInZ2l0IDxjb21hbmRvPiBbPHJldmlzaW9uZT4uLi5dIC0tIFs8ZmlsZT4uLi5dJyIKKworIzogc2V0dXAuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgbXVzdCBjb21lIGJlZm9yZSBub24tb3B0aW9uIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorImwnb3B6aW9uZSAnJXMnIGRldmUgZXNzZXJlIHNwZWNpZmljYXRhIHByaW1hIGRlZ2xpIGFyZ29tZW50aSBjaGUgbm9uICIKKyJjb3N0aXR1aXNjb25vIHVuJ29wemlvbmUiCisKKyM6IHNldHVwLmM6MjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogYm90aCByZXZpc2lvbiBhbmQgZmlsZW5hbWVcbiIKKyJVc2UgJy0tJyB0byBzZXBhcmF0ZSBwYXRocyBmcm9tIHJldmlzaW9ucywgbGlrZSB0aGlzOlxuIgorIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciCittc2dzdHIgIiIKKyJhcmdvbWVudG8gJyVzJyBhbWJpZ3VvOiDDqCBzaWEgdW5hIHJldmlzaW9uZSBzaWEgdW4gbm9tZSBmaWxlXG4iCisiVXNhICctLScgcGVyIHNlcGFyYXJlIGkgcGVyY29yc2kgZGFsbGUgcmV2aXNpb25pLCBjb21lIHNlZ3VlOlxuIgorIidnaXQgPGNvbWFuZG8+IFs8cmV2aXNpb25lPi4uLl0gLS0gWzxmaWxlPi4uLl0nIgorCisjOiBzZXR1cC5jOjM5MQorbXNnaWQgInVuYWJsZSB0byBzZXQgdXAgd29yayB0cmVlIHVzaW5nIGludmFsaWQgY29uZmlnIgorbXNnc3RyICIiCisiaW1wb3NzaWJpbGUgcHJlcGFyYXJlIGwnYWxiZXJvIGRpIGxhdm9ybyB1c2FuZG8gdW5hIGNvbmZpZ3VyYXppb25lIG5vbiB2YWxpZGEiCisKKyM6IHNldHVwLmM6Mzk1Cittc2dpZCAidGhpcyBvcGVyYXRpb24gbXVzdCBiZSBydW4gaW4gYSB3b3JrIHRyZWUiCittc2dzdHIgInF1ZXN0J29wZXJhemlvbmUgZGV2ZSBlc3NlcmUgZXNlZ3VpdGEgaW4gdW4gYWxiZXJvIGRpIGxhdm9ybyIKKworIzogc2V0dXAuYzo1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhwZWN0ZWQgZ2l0IHJlcG8gdmVyc2lvbiA8PSAlZCwgZm91bmQgJWQiCittc2dzdHIgIkF0dGVzYSB2ZXJzaW9uZSByZXBvc2l0b3J5IEdpdCA8PSAlZCwgdHJvdmF0YSAlZCIKKworIzogc2V0dXAuYzo1NDkKK21zZ2lkICJ1bmtub3duIHJlcG9zaXRvcnkgZXh0ZW5zaW9ucyBmb3VuZDoiCittc2dzdHIgInRyb3ZhdGUgZXN0ZW5zaW9uaSByZXBvc2l0b3J5IHNjb25vc2NpdXRlOiIKKworIzogc2V0dXAuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igb3BlbmluZyAnJXMnIgorbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBsJ2FwZXJ0dXJhIGRpICclcyciCisKKyM6IHNldHVwLmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBsYXJnZSB0byBiZSBhIC5naXQgZmlsZTogJyVzJyIKK21zZ3N0ciAiJyVzJyB0cm9wcG8gZ3JhbmRlIHBlciBlc3NlcmUgdW4gZmlsZSAuZ2l0IgorCisjOiBzZXR1cC5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nICVzIgorbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBsYSBsZXR0dXJhIGRpICVzIgorCisjOiBzZXR1cC5jOjU3NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGdpdGZpbGUgZm9ybWF0OiAlcyIKK21zZ3N0ciAiZm9ybWF0byBmaWxlIEdpdCBub24gdmFsaWRvOiAlcyIKKworIzogc2V0dXAuYzo1NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gcGF0aCBpbiBnaXRmaWxlOiAlcyIKK21zZ3N0ciAibmVzc3VuIHBlcmNvcnNvIHByZXNlbnRlIG5lbCBmaWxlIEdpdDogJXMiCisKKyM6IHNldHVwLmM6NTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGdpdCByZXBvc2l0b3J5OiAlcyIKK21zZ3N0ciAiJXMgbm9uIMOoIHVuIHJlcG9zaXRvcnkgR2l0IgorCisjOiBzZXR1cC5jOjY3NworIywgYy1mb3JtYXQKK21zZ2lkICInJCVzJyB0b28gYmlnIgorbXNnc3RyICInJCVzJyDDqCB0cm9wcG8gZ3JhbmRlIgorCisjOiBzZXR1cC5jOjY5MQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeTogJyVzJyIKK21zZ3N0ciAiJyVzJyBub24gw6ggdW4gcmVwb3NpdG9yeSBHaXQiCisKKyM6IHNldHVwLmM6NzIwIHNldHVwLmM6NzIyIHNldHVwLmM6NzUzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGRpciB0byAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBtb2RpZmljYXJlIGxhIGRpcmVjdG9yeSBjb3JyZW50ZSBpbiAnJXMnIgorCisjOiBzZXR1cC5jOjcyNSBzZXR1cC5jOjc4MSBzZXR1cC5jOjc5MSBzZXR1cC5jOjgzMCBzZXR1cC5jOjgzOAorbXNnaWQgImNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgorbXNnc3RyICJpbXBvc3NpYmlsZSB0b3JuYXJlIGFsbGEgZGlyZWN0b3J5IGRpIGxhdm9ybyBjb3JyZW50ZSIKKworIzogc2V0dXAuYzo4NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHN0YXQgJyUqcyVzJXMnIgorbXNnc3RyICJzdGF0IGRpICclKnMlcyVzJyBub24gcml1c2NpdG8iCisKKyM6IHNldHVwLmM6MTA5MAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIkltcG9zc2liaWxlIGxlZ2dlcmUgbGEgZGlyZWN0b3J5IGRpIGxhdm9ybyBjb3JyZW50ZSIKKworIzogc2V0dXAuYzoxMDk5IHNldHVwLmM6MTEwNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHRvICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGVudHJhcmUgaW4gJyVzJyIKKworIzogc2V0dXAuYzoxMTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgb2YgdGhlIHBhcmVudCBkaXJlY3Rvcmllcyk6ICVzIgorbXNnc3RyICIlcyBub24gw6ggdW4gcmVwb3NpdG9yeSBHaXQgKG7DqSBsbyDDqCBhbGN1bmEgZGVsbGUgZGlyZWN0b3J5IGdlbml0cmljaSkiCisKKyM6IHNldHVwLmM6MTExNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBwYXJlbnQgdXAgdG8gbW91bnQgcG9pbnQgJXMpXG4iCisiU3RvcHBpbmcgYXQgZmlsZXN5c3RlbSBib3VuZGFyeSAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSBub3Qgc2V0KS4iCittc2dzdHIgIiIKKyJub24gw6ggdW4gcmVwb3NpdG9yeSBHaXQgKG7DqSBsbyDDqCBhbGN1biBnZW5pdG9yZSBmaW5vIGFsIHB1bnRvIGRpIG1vdW50ICVzKVxuIgorIk1pIGZlcm1vIGFsIGxpbWl0ZSBkZWwgZmlsZXN5c3RlbSAobCdvcHppb25lIEdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU0gIgorIm5vbiDDqCBpbXBvc3RhdGEpLiIKKworIzogc2V0dXAuYzoxMjI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJwcm9ibGVtIHdpdGggY29yZS5zaGFyZWRSZXBvc2l0b3J5IGZpbGVtb2RlIHZhbHVlICgwJS4zbykuXG4iCisiVGhlIG93bmVyIG9mIGZpbGVzIG11c3QgYWx3YXlzIGhhdmUgcmVhZCBhbmQgd3JpdGUgcGVybWlzc2lvbnMuIgorbXNnc3RyICIiCisic2kgw6ggdmVyaWZpY2F0byB1biBwcm9ibGVtYSBjb24gaWwgdmFsb3JlIG1vZG8gZmlsZSBkaSBjb3JlLnNoYXJlZFJlcG9zaXRvcnkgIgorIigwJS4zbykuXG4iCisiSWwgcHJvcHJpZXRhcmlvIGRlaSBmaWxlIGRldmUgYXZlcmUgc2VtcHJlIGkgcGVybWVzc2kgZGkgbGV0dHVyYSBlIHNjcml0dHVyYS4iCisKKyM6IHNldHVwLmM6MTI3MQorbXNnaWQgIm9wZW4gL2Rldi9udWxsIG9yIGR1cCBmYWlsZWQiCittc2dzdHIgImFwZXJ0dXJhIGRpIC9kZXYvbnVsbCBvIGR1cCBub24gcml1c2NpdGEiCisKKyM6IHNldHVwLmM6MTI4NgorbXNnaWQgImZvcmsgZmFpbGVkIgorbXNnc3RyICJmb3JrIG5vbiByaXVzY2l0YSIKKworIzogc2V0dXAuYzoxMjkxCittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0c2lkIG5vbiByaXVzY2l0YSIKKworIzogc2hhMS1maWxlLmM6NDUyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9iamVjdCBkaXJlY3RvcnkgJXMgZG9lcyBub3QgZXhpc3Q7IGNoZWNrIC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMiCittc2dzdHIgIiIKKyJsYSBkaXJlY3Rvcnkgb2dnZXR0aSAlcyBub24gZXNpc3RlOyBjb250cm9sbGEgLmdpdC9vYmplY3RzL2luZm8vYWx0ZXJuYXRlcyIKKworIzogc2hhMS1maWxlLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBub3JtYWxpemUgYWx0ZXJuYXRlIG9iamVjdCBwYXRoOiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbm9ybWFsaXp6YXJlIGlsIHBlcmNvcnNvIGFsdGVybmF0aXZvIG9nZ2V0dG86ICVzIgorCisjOiBzaGExLWZpbGUuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlnbm9yaW5nIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmVzLCBuZXN0aW5nIHRvbyBkZWVwIgorbXNnc3RyICIiCisiJXM6IGlnbm9ybyBnbGkgYXJjaGl2aSBvZ2dldHRvIGFsdGVybmF0aXZpLCBsYSBuaWRpZmljYXppb25lIMOoIHRyb3BwbyAiCisicHJvZm9uZGEiCisKKyM6IHNoYTEtZmlsZS5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gbm9ybWFsaXplIG9iamVjdCBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBub3JtYWxpenphcmUgbGEgZGlyZWN0b3J5IG9nZ2V0dGk6ICVzIgorCisjOiBzaGExLWZpbGUuYzo2MjUKK21zZ2lkICJ1bmFibGUgdG8gZmRvcGVuIGFsdGVybmF0ZXMgbG9ja2ZpbGUiCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIGZkb3BlbiBzdWwgZmlsZSBkaSBsb2NrIGFsdGVybmF0ZXMiCisKKyM6IHNoYTEtZmlsZS5jOjY0MworbXNnaWQgInVuYWJsZSB0byByZWFkIGFsdGVybmF0ZXMgZmlsZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSBpbCBmaWxlIGFsdGVybmF0ZXMiCisKKyM6IHNoYTEtZmlsZS5jOjY1MAorbXNnaWQgInVuYWJsZSB0byBtb3ZlIG5ldyBhbHRlcm5hdGVzIGZpbGUgaW50byBwbGFjZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc3Bvc3RhcmUgaWwgbnVvdm8gZmlsZSBhbHRlcm5hdGVzIG5lbGxhIHBvc2l6aW9uZSBjb3JyZXR0YSIKKworIzogc2hhMS1maWxlLmM6Njg1CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiaWwgcGVyY29yc28gJyVzJyBub24gZXNpc3RlIgorCisjOiBzaGExLWZpbGUuYzo3MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBhcyBhIGxpbmtlZCBjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iCittc2dzdHIgIiIKKyJsJ2FnZ2l1bnRhIGRlbCByZXBvc2l0b3J5IGRpIHJpZmVyaW1lbnRvICclcycgY29tZSBjaGVja291dCBjb2xsZWdhdG8gbm9uIMOoICIKKyJhbmNvcmEgc3VwcG9ydGF0YS4iCisKKyM6IHNoYTEtZmlsZS5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgorbXNnc3RyICJpbCByZXBvc2l0b3J5IGRpIHJpZmVyaW1lbnRvICclcycgbm9uIMOoIHVuIHJlcG9zaXRvcnkgbG9jYWxlLiIKKworIzogc2hhMS1maWxlLmM6NzIzCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgc2hhbGxvdyIKK21zZ3N0ciAiaWwgcmVwb3NpdG9yeSBkaSByaWZlcmltZW50byAnJXMnIMOoIHNoYWxsb3ciCisKKyM6IHNoYTEtZmlsZS5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiCittc2dzdHIgImlsIHJlcG9zaXRvcnkgZGkgcmlmZXJpbWVudG8gJyVzJyDDqCB1biBncmFmdCIKKworIzogc2hhMS1maWxlLmM6NzkxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbGluZSB3aGlsZSBwYXJzaW5nIGFsdGVybmF0ZSByZWZzOiAlcyIKK21zZ3N0ciAicmlnYSBub24gdmFsaWRhIGR1cmFudGUgbCdhbmFsaXNpIGRlaSByaWZlcmltZW50aSBkZWdsaSBhbHRlcm5hdGk6ICVzIgorCisjOiBzaGExLWZpbGUuYzo5NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0ZW1wdGluZyB0byBtbWFwICU8UFJJdU1BWD4gb3ZlciBsaW1pdCAlPFBSSXVNQVg+IgorbXNnc3RyICJ0ZW50byBkaSBlc2VndWlyZSBtbWFwICU8UFJJdU1BWD4gYWwgZGkgc29wcmEgZGVsIGxpbWl0ZSAlPFBSSXVNQVg+IgorCisjOiBzaGExLWZpbGUuYzo5NjQKK21zZ2lkICJtbWFwIGZhaWxlZCIKK21zZ3N0ciAibW1hcCBub24gcml1c2NpdGEiCisKKyM6IHNoYTEtZmlsZS5jOjExMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0IGZpbGUgJXMgaXMgZW1wdHkiCittc2dzdHIgImwnb2dnZXR0byAlcyDDqCB2dW90byIKKworIzogc2hhMS1maWxlLmM6MTI1MiBzaGExLWZpbGUuYzoyMzkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvcnJ1cHQgbG9vc2Ugb2JqZWN0ICclcyciCittc2dzdHIgIm9nZ2V0dG8gc2Npb2x0byAnJXMnIGNvcnJvdHRvIgorCisjOiBzaGExLWZpbGUuYzoxMjU0IHNoYTEtZmlsZS5jOjIzOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2FyYmFnZSBhdCBlbmQgb2YgbG9vc2Ugb2JqZWN0ICclcyciCittc2dzdHIgImRhdGkgaW51dGlsaXp6YWJpbGkgcHJlc2VudGkgYWxsYSBmaW5lIGRlbGwnb2dnZXR0byBzY2lvbHRvICclcyciCisKKyM6IHNoYTEtZmlsZS5jOjEyOTYKK21zZ2lkICJpbnZhbGlkIG9iamVjdCB0eXBlIgorbXNnc3RyICJ0aXBvIG9nZ2V0dG8gbm9uIHZhbGlkbyIKKworIzogc2hhMS1maWxlLmM6MTM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gdW5wYWNrICVzIGhlYWRlciB3aXRoIC0tYWxsb3ctdW5rbm93bi10eXBlIgorbXNnc3RyICJpbXBvc3NpYmlsZSBkZWNvbXByaW1lcmUgbCdpbnRlc3RhemlvbmUgJXMgY29uIC0tYWxsb3ctdW5rbm93bi10eXBlIgorCisjOiBzaGExLWZpbGUuYzoxMzgzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byB1bnBhY2sgJXMgaGVhZGVyIgorbXNnc3RyICJpbXBvc3NpYmlsZSBkZWNvbXByaW1lcmUgbCdpbnRlc3RhemlvbmUgJXMiCisKKyM6IHNoYTEtZmlsZS5jOjEzODkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlICVzIGhlYWRlciB3aXRoIC0tYWxsb3ctdW5rbm93bi10eXBlIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhbmFsaXp6YXJlIGwnaW50ZXN0YXppb25lICVzIGNvbiAtLWFsbG93LXVua25vd24tdHlwZSIKKworIzogc2hhMS1maWxlLmM6MTM5MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJXMgaGVhZGVyIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhbmFsaXp6YXJlIGwnaW50ZXN0YXppb25lICVzIgorCisjOiBzaGExLWZpbGUuYzoxNTg0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIG9iamVjdCAlcyIKK21zZ3N0ciAibGV0dHVyYSBkZWxsJ29nZ2V0dG8gJXMgbm9uIHJpdXNjaXRhIgorCisjOiBzaGExLWZpbGUuYzoxNTg4CisjLCBjLWZvcm1hdAorbXNnaWQgInJlcGxhY2VtZW50ICVzIG5vdCBmb3VuZCBmb3IgJXMiCittc2dzdHIgIiVzIHNvc3RpdHV0aXZvIG5vbiB0cm92YXRvIHBlciAlcyIKKworIzogc2hhMS1maWxlLmM6MTU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJsb29zZSBvYmplY3QgJXMgKHN0b3JlZCBpbiAlcykgaXMgY29ycnVwdCIKK21zZ3N0ciAibCdvZ2dldHRvIHNjaW9sdG8gJXMgKHNhbHZhdG8gaW4gJXMpIMOoIGNvcnJvdHRvIgorCisjOiBzaGExLWZpbGUuYzoxNTk2CisjLCBjLWZvcm1hdAorbXNnaWQgInBhY2tlZCBvYmplY3QgJXMgKHN0b3JlZCBpbiAlcykgaXMgY29ycnVwdCIKK21zZ3N0ciAibCdvZ2dldHRvIGFyY2hpdmlhdG8gJXMgKHNhbHZhdG8gaW4gJXMpIMOoIGNvcnJvdHRvIgorCisjOiBzaGExLWZpbGUuYzoxNjk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBpbCBmaWxlICVzIgorCisjOiBzaGExLWZpbGUuYzoxNzA2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBzZXQgcGVybWlzc2lvbiB0byAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBpbXBvc3RhcmUgaSBwZXJtZXNzaSBhICclcyciCisKKyM6IHNoYTEtZmlsZS5jOjE3MTMKK21zZ2lkICJmaWxlIHdyaXRlIGVycm9yIgorbXNnc3RyICJlcnJvcmUgZGkgc2NyaXR0dXJhIGRlbCBmaWxlIgorCisjOiBzaGExLWZpbGUuYzoxNzMyCittc2dpZCAiZXJyb3Igd2hlbiBjbG9zaW5nIGxvb3NlIG9iamVjdCBmaWxlIgorbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBsYSBjaGl1c3VyYSBkZWwgZmlsZSBvZ2dldHRvIHNjaW9sdG8iCisKKyM6IHNoYTEtZmlsZS5jOjE3OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5zdWZmaWNpZW50IHBlcm1pc3Npb24gZm9yIGFkZGluZyBhbiBvYmplY3QgdG8gcmVwb3NpdG9yeSBkYXRhYmFzZSAlcyIKK21zZ3N0ciAiIgorInBlcm1lc3NpIG5vbiBzdWZmaWNpZW50aSBwZXIgbCdhZ2dpdW50YSBkaSB1biBvZ2dldHRvIGFsIGRhdGFiYXNlIHJlcG9zaXRvcnkgIgorIiVzIgorCisjOiBzaGExLWZpbGUuYzoxNzk5Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY3JlYXJlIGlsIGZpbGUgdGVtcG9yYW5lbyIKKworIzogc2hhMS1maWxlLmM6MTgyMworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBsb29zZSBvYmplY3QgZmlsZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgaWwgZmlsZSBvZ2dldHRvIHNjaW9sdG8iCisKKyM6IHNoYTEtZmlsZS5jOjE4MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgbmV3IG9iamVjdCAlcyAoJWQpIgorbXNnc3RyICJpbXBvc3NpYmlsZSBjb21wcmltZXJlIGNvbiBkZWZsYXRlIGlsIG51b3ZvIG9nZ2V0dG8gJXMgKCVkKSIKKworIzogc2hhMS1maWxlLmM6MTgzMworIywgYy1mb3JtYXQKK21zZ2lkICJkZWZsYXRlRW5kIG9uIG9iamVjdCAlcyBmYWlsZWQgKCVkKSIKK21zZ3N0ciAiZGVmbGF0ZUVuZCBub24gcml1c2NpdGEgc3VsbCdvZ2dldHRvICVzICglZCkiCisKKyM6IHNoYTEtZmlsZS5jOjE4MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29uZnVzZWQgYnkgdW5zdGFibGUgb2JqZWN0IHNvdXJjZSBkYXRhIGZvciAlcyIKK21zZ3N0ciAic29ubyBjb25mdXNvIGRhbGwnb3JpZ2luZSBkYXRpIG9nZ2V0dG8gbm9uIHN0YWJpbGUgcGVyICVzIgorCisjOiBzaGExLWZpbGUuYzoxODQ3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB1dGltZSgpIG9uICVzIgorbXNnc3RyICJ1dGltZSgpIGRpICVzIG5vbiByaXVzY2l0YSIKKworIzogc2hhMS1maWxlLmM6MTkyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgZm9yICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGwnb2dnZXR0byBwZXIgJXMiCisKKyM6IHNoYTEtZmlsZS5jOjE5NjIKK21zZ2lkICJjb3JydXB0IGNvbW1pdCIKK21zZ3N0ciAiY29tbWl0IGNvcnJvdHRvIgorCisjOiBzaGExLWZpbGUuYzoxOTcwCittc2dpZCAiY29ycnVwdCB0YWciCittc2dzdHIgInRhZyBjb3Jyb3R0byIKKworIzogc2hhMS1maWxlLmM6MjA2OQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIHdoaWxlIGluZGV4aW5nICVzIgorbXNnc3RyICJlcnJvcmUgZGkgbGV0dHVyYSBkdXJhbnRlIGwnaW5kaWNpenphemlvbmUgZGkgJXMiCisKKyM6IHNoYTEtZmlsZS5jOjIwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hvcnQgcmVhZCB3aGlsZSBpbmRleGluZyAlcyIKK21zZ3N0ciAibGV0dHVyYSB0cm9wcG8gYnJldmUgZHVyYW50ZSBsJ2luZGljaXp6YXppb25lIGRpICVzIgorCisjOiBzaGExLWZpbGUuYzoyMTQ1IHNoYTEtZmlsZS5jOjIxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbnNlcnQgaW50byBkYXRhYmFzZSIKK21zZ3N0ciAiJXM6IGluc2VyaW1lbnRvIGRlbCByZWNvcmQgbmVsIGRhdGFiYXNlIG5vbiByaXVzY2l0byIKKworIzogc2hhMS1maWxlLmM6MjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5zdXBwb3J0ZWQgZmlsZSB0eXBlIgorbXNnc3RyICIlczogdGlwbyBkaSBmaWxlIG5vbiBzdXBwb3J0YXRvIgorCisjOiBzaGExLWZpbGUuYzoyMTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIG9iamVjdCIKK21zZ3N0ciAiJXMgbm9uIMOoIHVuIG9nZ2V0dG8gdmFsaWRvIgorCisjOiBzaGExLWZpbGUuYzoyMTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkICclcycgb2JqZWN0IgorbXNnc3RyICIlcyBub24gw6ggdW4gb2dnZXR0byAnJXMnIHZhbGlkbyIKKworIzogc2hhMS1maWxlLmM6MjIxMyBidWlsdGluL2luZGV4LXBhY2suYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIzogc2hhMS1maWxlLmM6MjQwMyBzaGExLWZpbGUuYzoyNDU1CisjLCBjLWZvcm1hdAorbXNnaWQgImhhc2ggbWlzbWF0Y2ggZm9yICVzIChleHBlY3RlZCAlcykiCittc2dzdHIgIm1hbmNhdGEgY29ycmlzcG9uZGVuemEgcGVyICVzIChhdHRlc28gJXMpIgorCisjOiBzaGExLWZpbGUuYzoyNDI3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBtbWFwICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBtbWFwIHN1ICVzIgorCisjOiBzaGExLWZpbGUuYzoyNDMyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byB1bnBhY2sgaGVhZGVyIG9mICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBkZWNvbXByaW1lcmUgbCdpbnRlc3RhemlvbmUgZGkgJXMiCisKKyM6IHNoYTEtZmlsZS5jOjI0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIGhlYWRlciBvZiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSBsJ2ludGVzdGF6aW9uZSBkaSAlcyIKKworIzogc2hhMS1maWxlLmM6MjQ0OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gdW5wYWNrIGNvbnRlbnRzIG9mICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBkZWNvbXByaW1lcmUgaSBjb250ZW51dGkgZGkgJXMiCisKKyM6IHNoYTEtbmFtZS5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJzaG9ydCBTSEExICVzIGlzIGFtYmlndW91cyIKK21zZ3N0ciAibG8gU0hBMSBicmV2ZSAlcyDDqCBhbWJpZ3VvIgorCisjOiBzaGExLW5hbWUuYzo0OTgKK21zZ2lkICJUaGUgY2FuZGlkYXRlcyBhcmU6IgorbXNnc3RyICJJIGNhbmRpZGF0aSBzb25vOiIKKworIzogc2hhMS1uYW1lLmM6Nzk3Cittc2dpZCAiIgorIkdpdCBub3JtYWxseSBuZXZlciBjcmVhdGVzIGEgcmVmIHRoYXQgZW5kcyB3aXRoIDQwIGhleCBjaGFyYWN0ZXJzXG4iCisiYmVjYXVzZSBpdCB3aWxsIGJlIGlnbm9yZWQgd2hlbiB5b3UganVzdCBzcGVjaWZ5IDQwLWhleC4gVGhlc2UgcmVmc1xuIgorIm1heSBiZSBjcmVhdGVkIGJ5IG1pc3Rha2UuIEZvciBleGFtcGxlLFxuIgorIlxuIgorIiAgZ2l0IHN3aXRjaCAtYyAkYnIgJChnaXQgcmV2LXBhcnNlIC4uLilcbiIKKyJcbiIKKyJ3aGVyZSBcIiRiclwiIGlzIHNvbWVob3cgZW1wdHkgYW5kIGEgNDAtaGV4IHJlZiBpcyBjcmVhdGVkLiBQbGVhc2VcbiIKKyJleGFtaW5lIHRoZXNlIHJlZnMgYW5kIG1heWJlIGRlbGV0ZSB0aGVtLiBUdXJuIHRoaXMgbWVzc2FnZSBvZmYgYnlcbiIKKyJydW5uaW5nIFwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIiIKK21zZ3N0ciAiIgorIkdpdCBub3JtYWxtZW50ZSBub24gY3JlYSBtYWkgdW4gcmlmZXJpbWVudG8gY2hlIHRlcm1pbmEgY29uIDQwXG4iCisiY2FyYXR0ZXJpIGVzYWRlY2ltYWxpIHBlcmNow6kgc2Fyw6AgaWdub3JhdG8gc2Ugc2kgc3BlY2lmaWNhbm9cbiIKKyJzZW1wbGljZW1lbnRlIDQwIGNhcmF0dGVyaSBlc2FkZWNpbWFsaS4gUXVlc3RpIHJpZmVyaW1lbnRpXG4iCisicG90cmViYmVybyBlc3NlcmUgY3JlYXRpIHBlciBlcnJvcmUuIEFkIGVzZW1waW86XG4iCisiXG4iCisiICBnaXQgc3dpdGNoIC1jICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgorIlxuIgorImRvdmUgXCIkYnJcIiDDqCB2dW90byBwZXIgcXVhbGNoZSBtb3Rpdm8gZSBxdWluZGkgdmllbmUgY3JlYXRvIHVuXG4iCisicmlmZXJpbWVudG8gY29uIDQwIGNhcmF0dGVyaSBlc2FkZWNpbWFsaS4gRXNhbWluYSB0YWxpXG4iCisicmlmZXJpbWVudGkgZWQgZWxpbWluYWxpIHNlIG5lY2Vzc2FyaW8uIERpc2FiaWxpdGEgcXVlc3RvXG4iCisibWVzc2FnZ2lvIGVzZWd1ZW5kbyBcImdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNlXCIiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBnaWJpYnl0ZQorIzogc3RyYnVmLmM6ODIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IEdpQiIKK21zZ3N0ciAiJXUuJTIuMnUgR2lCIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggZ2liaWJ5dGUvc2Vjb25kCisjOiBzdHJidWYuYzo4MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgR2lCL3MiCittc2dzdHIgIiV1LiUyLjJ1IEdpQi9zIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggbWViaWJ5dGUKKyM6IHN0cmJ1Zi5jOjgzMgorIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBNaUIiCittc2dzdHIgIiV1LiUyLjJ1IE1pQiIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IG1lYmlieXRlL3NlY29uZAorIzogc3RyYnVmLmM6ODM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IE1pQi9zIgorbXNnc3RyICIldS4lMi4ydSBNaUIvcyIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IGtpYmlieXRlCisjOiBzdHJidWYuYzo4NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgS2lCIgorbXNnc3RyICIldS4lMi4ydSBLaUIiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBraWJpYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjg0MworIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBLaUIvcyIKK21zZ3N0ciAiJXUuJTIuMnUgS2lCL3MiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBieXRlCisjOiBzdHJidWYuYzo4NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUgYnl0ZSIKK21zZ2lkX3BsdXJhbCAiJXUgYnl0ZXMiCittc2dzdHJbMF0gIiV1IGJ5dGUiCittc2dzdHJbMV0gIiV1IGJ5dGUiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBieXRlL3NlY29uZAorIzogc3RyYnVmLmM6ODUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiV1IGJ5dGUvcyIKK21zZ2lkX3BsdXJhbCAiJXUgYnl0ZXMvcyIKK21zZ3N0clswXSAiJXUgYnl0ZS9zIgorbXNnc3RyWzFdICIldSBieXRlL3MiCisKKyM6IHN0cmJ1Zi5jOjExNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGVkaXQgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbW9kaWZpY2FyZSAnJXMnIgorCisjOiBzdWJtb2R1bGUuYzoxMTQgc3VibW9kdWxlLmM6MTQzCittc2dpZCAiQ2Fubm90IGNoYW5nZSB1bm1lcmdlZCAuZ2l0bW9kdWxlcywgcmVzb2x2ZSBtZXJnZSBjb25mbGljdHMgZmlyc3QiCittc2dzdHIgIiIKKyJJbXBvc3NpYmlsZSBtb2RpZmljYXJlIGlsIGZpbGUgLmdpdG1vZHVsZXMgbm9uIHNvdHRvcG9zdG8gYSBtZXJnZSwgcmlzb2x2aSAiCisicHJpbWEgaSBjb25mbGl0dGkgZGkgbWVyZ2UiCisKKyM6IHN1Ym1vZHVsZS5jOjExOCBzdWJtb2R1bGUuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGZpbmQgc2VjdGlvbiBpbiAuZ2l0bW9kdWxlcyB3aGVyZSBwYXRoPSVzIgorbXNnc3RyICJJbXBvc3NpYmlsZSB0cm92YXJlIHVuYSBzZXppb25lIGluIC5naXRtb2R1bGVzIGRvdmUgcGF0aD0lcyIKKworIzogc3VibW9kdWxlLmM6MTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgLmdpdG1vZHVsZXMgZW50cnkgZm9yICVzIgorbXNnc3RyICJJbXBvc3NpYmlsZSByaW11b3ZlcmUgbGEgdm9jZSAuZ2l0bW9kdWxlcyBwZXIgJXMiCisKKyM6IHN1Ym1vZHVsZS5jOjE2NQorbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCittc2dzdHIgInN0YWdpbmcgZGVsIGZpbGUgLmdpdG1vZHVsZXMgYWdnaW9ybmF0byBub24gcml1c2NpdG8iCisKKyM6IHN1Ym1vZHVsZS5jOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICJpbiB1bnBvcHVsYXRlZCBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAibmVsIHNvdHRvbW9kdWxvIG5vbiBwb3BvbGF0byAnJXMnIgorCisjOiBzdWJtb2R1bGUuYzozNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgorbXNnc3RyICJMbyBzcGVjaWZpY2F0b3JlIHBlcmNvcnNvICclcycgw6ggbmVsIHNvdHRvbW9kdWxvICclLipzJyIKKworIzogc3VibW9kdWxlLmM6OTEwCisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSBlbnRyeSAnJXMnICglcykgaXMgYSAlcywgbm90IGEgY29tbWl0IgorbXNnc3RyICJsYSB2b2NlIHNvdHRvbW9kdWxvICclcycgKCVzKSDDqCB1biAlcywgbm9uIHVuIGNvbW1pdCIKKworIzogc3VibW9kdWxlLmM6MTE0NyBidWlsdGluL2JyYW5jaC5jOjY4MCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjAxNgorbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgorbXNnc3RyICJJbXBvc3NpYmlsZSByaXNvbHZlcmUgSEVBRCBjb21lIHJpZmVyaW1lbnRvIHZhbGlkby4iCisKKyM6IHN1Ym1vZHVsZS5jOjE0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGFjY2VzcyBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWNjZWRlcmUgYWwgc290dG9tb2R1bG8gJyVzJyIKKworIzogc3VibW9kdWxlLmM6MTY1MQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIG5vdCByZWNvZ25pemVkIGFzIGEgZ2l0IHJlcG9zaXRvcnkiCittc2dzdHIgIiclcycgbm9uIHJpY29ub3NjaXV0byBjb21lIHJlcG9zaXRvcnkgR2l0IgorCisjOiBzdWJtb2R1bGUuYzoxNzg5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGFydCAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGF2dmlhcmUgJ2dpdCBzdGF0dXMnIG5lbCBzb3R0b21vZHVsbyAnJXMnIgorCisjOiBzdWJtb2R1bGUuYzoxODAyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBydW4gJ2dpdCBzdGF0dXMnIGluIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSAnZ2l0IHN0YXR1cycgbmVsIHNvdHRvbW9kdWxvICclcyciCisKKyM6IHN1Ym1vZHVsZS5jOjE4MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVuc2V0IGNvcmUud29ya3RyZWUgc2V0dGluZyBpbiBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAiIgorIkltcG9zc2liaWxlIGFubnVsbGFyZSBsJ2ltcG9zdGF6aW9uZSBkZWxsJ29wemlvbmUgY29yZS53b3JrdHJlZSBuZWwgIgorInNvdHRvbW9kdWxvICclcyciCisKKyM6IHN1Ym1vZHVsZS5jOjE5MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VibW9kdWxlICclcycgaGFzIGRpcnR5IGluZGV4IgorbXNnc3RyICJpbCBzb3R0b21vZHVsbyAnJXMnIGhhIGwnaW5kaWNlIHNwb3JjbyIKKworIzogc3VibW9kdWxlLmM6MTk1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTdWJtb2R1bGUgJyVzJyBjb3VsZCBub3QgYmUgdXBkYXRlZC4iCittc2dzdHIgIkltcG9zc2liaWxlIGFnZ2lvcm5hcmUgaWwgc290dG9tb2R1bG8gJyVzJy4iCisKKyM6IHN1Ym1vZHVsZS5jOjIwMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VibW9kdWxlIGdpdCBkaXIgJyVzJyBpcyBpbnNpZGUgZ2l0IGRpciAnJS4qcyciCittc2dzdHIgIiIKKyJsYSBkaXJlY3RvcnkgR2l0IGRlbCBzb3R0b21vZHVsbyAnJXMnIMOoIGFsbCdpbnRlcm5vIGRlbGxhIGRpcmVjdG9yeSBHaXQgJyUuKnMnIgorCisjOiBzdWJtb2R1bGUuYzoyMDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJyZWxvY2F0ZV9naXRkaXIgZm9yIHN1Ym1vZHVsZSAnJXMnIHdpdGggbW9yZSB0aGFuIG9uZSB3b3JrdHJlZSBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisicmVsb2NhdGVfZ2l0ZGlyIG5vbiDDqCBzdXBwb3J0YXRhIHBlciBpbCBzb3R0b21vZHVsbyAnJXMnIGNvbiBwacO5IGRpIHVuICIKKyJhbGJlcm8gZGkgbGF2b3JvIgorCisjOiBzdWJtb2R1bGUuYzoyMDYwIHN1Ym1vZHVsZS5jOjIxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGxvb2t1cCBuYW1lIGZvciBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmljZXJjYXJlIGlsIG5vbWUgcGVyIGlsIHNvdHRvbW9kdWxvICclcyciCisKKyM6IHN1Ym1vZHVsZS5jOjIwNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmdXNpbmcgdG8gbW92ZSAnJXMnIGludG8gYW4gZXhpc3RpbmcgZ2l0IGRpciIKK21zZ3N0ciAibWkgcmlmaXV0byBkaSBzcG9zdGFyZSAnJXMnIGluIHVuYSBkaXJlY3RvcnkgR2l0IGVzaXN0ZW50ZSIKKworIzogc3VibW9kdWxlLmM6MjA3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTWlncmF0aW5nIGdpdCBkaXJlY3Rvcnkgb2YgJyVzJXMnIGZyb21cbiIKKyInJXMnIHRvXG4iCisiJyVzJ1xuIgorbXNnc3RyICIiCisiU3RvIG1pZ3JhbmRvIGxhIGRpcmVjdG9yeSBHaXQgZGkgJyVzJXMnIGRhXG4iCisiJyVzJyBhXG4iCisiJyVzJ1xuIgorCisjOiBzdWJtb2R1bGUuYzoyMTU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWN1cnNlIGludG8gc3VibW9kdWxlICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIGwnYXppb25lIHJpY29yc2l2YW1lbnRlIG5lbCBzb3R0b21vZHVsbyAnJXMnIgorCisjOiBzdWJtb2R1bGUuYzoyMTk4Cittc2dpZCAiY291bGQgbm90IHN0YXJ0IGxzLWZpbGVzIGluIC4uIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhdnZpYXJlIGxzLWZpbGVzIGluIC4uIgorCisjOiBzdWJtb2R1bGUuYzoyMjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImxzLXRyZWUgcmV0dXJuZWQgdW5leHBlY3RlZCByZXR1cm4gY29kZSAlZCIKK21zZ3N0ciAibHMtdHJlZSBoYSByZXN0aXR1aXRvIGlsIHZhbG9yZSBkaSByaXRvcm5vIGluYXR0ZXNvICVkIgorCisjOiBzdWJtb2R1bGUtY29uZmlnLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHN1c3BpY2lvdXMgc3VibW9kdWxlIG5hbWU6ICVzIgorbXNnc3RyICJpZ25vcm8gdW4gbm9tZSBzb3R0b21vZHVsbyBzb3NwZXR0bzogJXMiCisKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzozMDMKK21zZ2lkICJuZWdhdGl2ZSB2YWx1ZXMgbm90IGFsbG93ZWQgZm9yIHN1Ym1vZHVsZS5mZXRjaGpvYnMiCittc2dzdHIgImkgdmFsb3JpIG5lZ2F0aXZpIG5vbiBzb25vIGNvbnNlbnRpdGkgcGVyIHN1Ym1vZHVsZS5mZXRjaGpvYnMiCisKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgJyVzJyB3aGljaCBtYXkgYmUgaW50ZXJwcmV0ZWQgYXMgYSBjb21tYW5kLWxpbmUgb3B0aW9uOiAlcyIKK21zZ3N0ciAiIgorImlnbm9ybyAnJXMnIGNoZSBwb3RyZWJiZSBlc3NlcmUgaW50ZXJwcmV0YXRvIGNvbWUgYXJnb21lbnRvIGRlbGxhIHJpZ2EgZGkgIgorImNvbWFuZG86ICVzIgorCisjOiBzdWJtb2R1bGUtY29uZmlnLmM6NDk4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzIgorbXNnc3RyICJ2YWxvcmUgbm9uIHZhbGlkbyBwZXIgJXMiCisKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo3NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWdnaW9ybmFyZSBsYSB2b2NlIC5naXRtb2R1bGVzICVzIgorCisjOiB0cmFpbGVyLmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgInJ1bm5pbmcgdHJhaWxlciBjb21tYW5kICclcycgZmFpbGVkIgorbXNnc3RyICJlc2VjdXppb25lIGRlbCBjb21hbmRvIGZpbmFsZSAnJXMnIG5vbiByaXVzY2l0YSIKKworIzogdHJhaWxlci5jOjQ4NSB0cmFpbGVyLmM6NDkwIHRyYWlsZXIuYzo0OTUgdHJhaWxlci5jOjU0OSB0cmFpbGVyLmM6NTUzCisjOiB0cmFpbGVyLmM6NTU3CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdmFsdWUgJyVzJyBmb3Iga2V5ICclcyciCittc2dzdHIgInZhbG9yZSAnJXMnIHNjb25vc2NpdXRvIHBlciBsYSBjaGlhdmUgJyVzJyIKKworIzogdHJhaWxlci5jOjUzOSB0cmFpbGVyLmM6NTQ0IGJ1aWx0aW4vcmVtb3RlLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vcmUgdGhhbiBvbmUgJXMiCittc2dzdHIgInBpw7kgZGkgdW4gJXMiCisKKyM6IHRyYWlsZXIuYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1wdHkgdHJhaWxlciB0b2tlbiBpbiB0cmFpbGVyICclLipzJyIKK21zZ3N0ciAidG9rZW4gZmluYWxlIHZ1b3RvIG5lbGxhIHN0cmluZ2EgZmluYWxlICclLipzJyIKKworIzogdHJhaWxlci5jOjc1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBpbnB1dCBmaWxlICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgaWwgZmlsZSBkaSBpbnB1dCAnJXMnIgorCisjOiB0cmFpbGVyLmM6NzUzCittc2dpZCAiY291bGQgbm90IHJlYWQgZnJvbSBzdGRpbiIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSBkYWxsbyBzdGFuZGFyZCBpbnB1dCIKKworIzogdHJhaWxlci5jOjEwMTEgd3JhcHBlci5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhdCAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgbG8gc3RhdCBkaSAnJXMnIgorCisjOiB0cmFpbGVyLmM6MTAxMworIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIGlzIG5vdCBhIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiaWwgZmlsZSAlcyBub24gw6ggdW4gZmlsZSByZWdvbGFyZSIKKworIzogdHJhaWxlci5jOjEwMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyBpcyBub3Qgd3JpdGFibGUgYnkgdXNlciIKK21zZ3N0ciAiaWwgZmlsZSAlcyBub24gw6ggc2NyaXZpYmlsZSBkYWxsJ3V0ZW50ZSIKKworIzogdHJhaWxlci5jOjEwMjcKK21zZ2lkICJjb3VsZCBub3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlIHVuIGZpbGUgdGVtcG9yYW5lbyIKKworIzogdHJhaWxlci5jOjEwNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlbmFtZSB0ZW1wb3JhcnkgZmlsZSB0byAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmlkZW5vbWluYXJlIGlsIGZpbGUgdGVtcG9yYW5lbyBpbiAlcyIKKworIzogdHJhbnNwb3J0LmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHNldCB1cHN0cmVhbSBvZiAnJXMnIHRvICclcycgb2YgJyVzJ1xuIgorbXNnc3RyICJMJ3Vwc3RyZWFtIGRpICclcycgc2FyZWJiZSBpbXBvc3RhdG8gYSAnJXMnIGRpICclcydcbiIKKworIzogdHJhbnNwb3J0LmM6MTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGJ1bmRsZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGlsIGJ1bmRsZSAnJXMnIgorCisjOiB0cmFuc3BvcnQuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJhbnNwb3J0OiBpbnZhbGlkIGRlcHRoIG9wdGlvbiAnJXMnIgorbXNnc3RyICJ0cmFzcG9ydG86IG9wemlvbmUgcHJvZm9uZGl0w6AgJyVzJyBub24gdmFsaWRhIgorCisjOiB0cmFuc3BvcnQuYzoyNjYKK21zZ2lkICJzZWUgcHJvdG9jb2wudmVyc2lvbiBpbiAnZ2l0IGhlbHAgY29uZmlnJyBmb3IgbW9yZSBkZXRhaWxzIgorbXNnc3RyICJ2ZWRpIHByb3RvY29sLnZlcnNpb24gaW4gJ2dpdCBoZWxwIGNvbmZpZycgcGVyIG1hZ2dpb3JpIGRldHRhZ2xpIgorCisjOiB0cmFuc3BvcnQuYzoyNjcKK21zZ2lkICJzZXJ2ZXIgb3B0aW9ucyByZXF1aXJlIHByb3RvY29sIHZlcnNpb24gMiBvciBsYXRlciIKK21zZ3N0ciAibGUgb3B6aW9uaSBzZXJ2ZXIgcmljaGllZG9ubyBsYSB2ZXJzaW9uZSAyIG8gc3VjY2Vzc2l2YSBkZWwgcHJvdG9jb2xsbyIKKworIzogdHJhbnNwb3J0LmM6NjMyCittc2dpZCAiY291bGQgbm90IHBhcnNlIHRyYW5zcG9ydC5jb2xvci4qIGNvbmZpZyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSBsYSBjb25maWd1cmF6aW9uZSB0cmFuc3BvcnQuY29sb3IuKiIKKworIzogdHJhbnNwb3J0LmM6NzA1Cittc2dpZCAic3VwcG9ydCBmb3IgcHJvdG9jb2wgdjIgbm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAic3VwcG9ydG8gYWxsYSB2ZXJzaW9uZSAyIGRlbCBwcm90b2NvbGxvIG5vbiBhbmNvcmEgaW1wbGVtZW50YXRvIgorCisjOiB0cmFuc3BvcnQuYzo4MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB2YWx1ZSBmb3IgY29uZmlnICclcyc6ICVzIgorbXNnc3RyICJ2YWxvcmUgc2Nvbm9zY2l1dG8gcGVyIGxhIGNvbmZpZ3VyYXppb25lICclcyc6ICVzIgorCisjOiB0cmFuc3BvcnQuYzo4OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJhbnNwb3J0ICclcycgbm90IGFsbG93ZWQiCittc2dzdHIgInRyYXNwb3J0byAnJXMnIG5vbiBjb25zZW50aXRvIgorCisjOiB0cmFuc3BvcnQuYzo5NDkKK21zZ2lkICJnaXQtb3Zlci1yc3luYyBpcyBubyBsb25nZXIgc3VwcG9ydGVkIgorbXNnc3RyICJnaXQtb3Zlci1yc3luYyBub24gw6ggcGnDuSBzdXBwb3J0YXRvIgorCisjOiB0cmFuc3BvcnQuYzoxMDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHN1Ym1vZHVsZSBwYXRocyBjb250YWluIGNoYW5nZXMgdGhhdCBjYW5cbiIKKyJub3QgYmUgZm91bmQgb24gYW55IHJlbW90ZTpcbiIKK21zZ3N0ciAiIgorIkkgc2VndWVudGkgcGVyY29yc2kgc290dG9tb2R1bG8gY29udGVuZ29ubyBtb2RpZmljaGVcbiIKKyJub24gdHJvdmF0ZSBzdSBuZXNzdW4gcmVtb3RvOlxuIgorCisjOiB0cmFuc3BvcnQuYzoxMDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJQbGVhc2UgdHJ5XG4iCisiXG4iCisiXHRnaXQgcHVzaCAtLXJlY3Vyc2Utc3VibW9kdWxlcz1vbi1kZW1hbmRcbiIKKyJcbiIKKyJvciBjZCB0byB0aGUgcGF0aCBhbmQgdXNlXG4iCisiXG4iCisiXHRnaXQgcHVzaFxuIgorIlxuIgorInRvIHB1c2ggdGhlbSB0byBhIHJlbW90ZS5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIlByb3ZhXG4iCisiXG4iCisiXHRnaXQgcHVzaCAtLXJlY3Vyc2Utc3VibW9kdWxlcz1vbi1kZW1hbmRcbiIKKyJcbiIKKyJvIGVzZWd1aSB1biBjZCBhbCBwZXJjb3JzbyBlIHVzYVxuIgorIlxuIgorIlx0Z2l0IHB1c2hcbiIKKyJcbiIKKyJwZXIgZXNlZ3Vpcm5lIGlsIHB1c2ggYSB1biByZW1vdG8uXG4iCisiXG4iCisKKyM6IHRyYW5zcG9ydC5jOjEwNTYKK21zZ2lkICJBYm9ydGluZy4iCittc2dzdHIgIkludGVycm9tcG8gbCdvcGVyYXppb25lLiIKKworIzogdHJhbnNwb3J0LmM6MTIwMQorbXNnaWQgImZhaWxlZCB0byBwdXNoIGFsbCBuZWVkZWQgc3VibW9kdWxlcyIKK21zZ3N0ciAicHVzaCBkaSB0dXR0aSBpIHNvdHRvbW9kdWxpIHJpY2hpZXN0aSBub24gcml1c2NpdG8iCisKKyM6IHRyYW5zcG9ydC5jOjEzNDUgdHJhbnNwb3J0LWhlbHBlci5jOjY1NgorbXNnaWQgIm9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sIgorbXNnc3RyICJvcGVyYXppb25lIG5vbiBzdXBwb3J0YXRhIGRhbCBwcm90b2NvbGxvIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjEgdHJhbnNwb3J0LWhlbHBlci5jOjkwCittc2dpZCAiZnVsbCB3cml0ZSB0byByZW1vdGUgaGVscGVyIGZhaWxlZCIKK21zZ3N0ciAic2NyaXR0dXJhIGNvbXBsZXRhIHZlcnNvIGwnaGVscGVyIHJlbW90byBub24gcml1c2NpdGEiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZpbmQgcmVtb3RlIGhlbHBlciBmb3IgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgdHJvdmFyZSBsJ2hlbHBlciByZW1vdG8gcGVyICclcyciCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNjAgdHJhbnNwb3J0LWhlbHBlci5jOjU3MAorbXNnaWQgImNhbid0IGR1cCBoZWxwZXIgb3V0cHV0IGZkIgorbXNnc3RyICJpbXBvc3NpYmlsZSBkdXBsaWNhcmUgaWwgZGVzY3JpdHRvcmUgZmlsZSBkZWxsJ291dHB1dCBoZWxwZXIiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVua25vd24gbWFuZGF0b3J5IGNhcGFiaWxpdHkgJXM7IHRoaXMgcmVtb3RlIGhlbHBlciBwcm9iYWJseSBuZWVkcyBuZXdlciAiCisidmVyc2lvbiBvZiBHaXQiCittc2dzdHIgIiIKKyJjYXBhYmlsaXR5IG5lY2Vzc2FyaWEgJXMgc2Nvbm9zY2l1dGE7IHF1ZXN0J2hlbHBlciByZW1vdG8gcHJvYmFiaWxtZW50ZSAiCisicmljaGllZGUgdW5hIHZlcnNpb25lIGRpIEdpdCBwacO5IHJlY2VudGUiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoyMTcKK21zZ2lkICJ0aGlzIHJlbW90ZSBoZWxwZXIgc2hvdWxkIGltcGxlbWVudCByZWZzcGVjIGNhcGFiaWxpdHkiCittc2dzdHIgInF1ZXN0byBoZWxwZXIgcmVtb3RvIGRvdnJlYmJlIGltcGxlbWVudGFyZSBsYSBjYXBhYmlsaXR5IHJlZnNwZWMiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoyODQgdHJhbnNwb3J0LWhlbHBlci5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmV4cGVjdGVkbHkgc2FpZDogJyVzJyIKK21zZ3N0ciAiJXMgaGEgaW52aWF0byB1biBtZXNzYWdnaW8gaW5hdHRlc286ICclcyciCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxzbyBsb2NrZWQgJXMiCittc2dzdHIgIiVzIGhhIGJsb2NjYXRvIGFuY2hlICVzIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NDkyCittc2dpZCAiY291bGRuJ3QgcnVuIGZhc3QtaW1wb3J0IgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBmYXN0LWltcG9ydCIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjUxNQorbXNnaWQgImVycm9yIHdoaWxlIHJ1bm5pbmcgZmFzdC1pbXBvcnQiCittc2dzdHIgImVycm9yZSBkdXJhbnRlIGwnZXNlY3V6aW9uZSBkaSBmYXN0LWltcG9ydCIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjU0NCB0cmFuc3BvcnQtaGVscGVyLmM6MTEzMworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCByZWYgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgaWwgcmlmZXJpbWVudG8gJXMiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biByZXNwb25zZSB0byBjb25uZWN0OiAlcyIKK21zZ3N0ciAicmlzcG9zdGEgaW5hdHRlc2EgYSBjb25uZWN0OiAlcyIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjYxMQorbXNnaWQgInNldHRpbmcgcmVtb3RlIHNlcnZpY2UgcGF0aCBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sIgorbXNnc3RyICIiCisibCdpbXBvc3RhemlvbmUgZGVsIHBlcmNvcnNvIGRlbCBzZXJ2aXppbyByZW1vdG8gbm9uIMOoIHN1cHBvcnRhdGEgZGFsICIKKyJwcm90b2NvbGxvIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjEzCittc2dpZCAiaW52YWxpZCByZW1vdGUgc2VydmljZSBwYXRoIgorbXNnc3RyICJwZXJjb3JzbyBzZXJ2aXppbyByZW1vdG8gbm9uIHZhbGlkbyIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjY1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBjb25uZWN0IHRvIHN1YnNlcnZpY2UgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGNvbm5ldHRlcnNpIGFsIHNvdHRvc2Vydml6aW8gJXMiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo3MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhwZWN0ZWQgb2svZXJyb3IsIGhlbHBlciBzYWlkICclcyciCittc2dzdHIgImF0dGVzaSBvay9lcnJvciwgbCdoZWxwZXIgaGEgaW52aWF0byAnJXMnIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6Nzg4CisjLCBjLWZvcm1hdAorbXNnaWQgImhlbHBlciByZXBvcnRlZCB1bmV4cGVjdGVkIHN0YXR1cyBvZiAlcyIKK21zZ3N0ciAibCdoZWxwZXIgaGEgc2VnbmFsYXRvIHVubyBzdGF0byBpbmF0dGVzbyBkaSAlcyIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjg0OQorIywgYy1mb3JtYXQKK21zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCBkcnktcnVuIgorbXNnc3RyICJsJ2hlbHBlciAlcyBub24gc3VwcG9ydGEgZHJ5LXJ1biIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjg1MgorIywgYy1mb3JtYXQKK21zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAtLXNpZ25lZCIKK21zZ3N0ciAibCdoZWxwZXIgJXMgbm9uIHN1cHBvcnRhIC0tc2lnbmVkIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkPWlmLWFza2VkIgorbXNnc3RyICJsJ2hlbHBlciAlcyBub24gc3VwcG9ydGEgLS1zaWduZWQ9aWYtYXNrZWQiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgLS1hdG9taWMiCittc2dzdHIgImwnaGVscGVyICVzIG5vbiBzdXBwb3J0YSAtLWF0b21pYyIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjg2NgorIywgYy1mb3JtYXQKK21zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAncHVzaC1vcHRpb24nIgorbXNnc3RyICJsJ2hlbHBlciAlcyBub24gc3VwcG9ydGEgJ3B1c2gtb3B0aW9uJyIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjk2NAorbXNnaWQgInJlbW90ZS1oZWxwZXIgZG9lc24ndCBzdXBwb3J0IHB1c2g7IHJlZnNwZWMgbmVlZGVkIgorbXNnc3RyICIiCisibCdoZWxwZXIgcmVtb3RvIG5vbiBzdXBwb3J0YSBpbCBwdXNoOyDDqCBuZWNlc3NhcmlvIHVubyBzcGVjaWZpY2F0b3JlICIKKyJyaWZlcmltZW50byIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjk2OQorIywgYy1mb3JtYXQKK21zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAnZm9yY2UnIgorbXNnc3RyICJsJ2hlbHBlciAlcyBub24gc3VwcG9ydGEgJ2ZvcmNlJyIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwMTYKK21zZ2lkICJjb3VsZG4ndCBydW4gZmFzdC1leHBvcnQiCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIGZhc3QtZXhwb3J0IgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTAyMQorbXNnaWQgImVycm9yIHdoaWxlIHJ1bm5pbmcgZmFzdC1leHBvcnQiCittc2dzdHIgImVycm9yZSBkdXJhbnRlIGwnZXNlY3V6aW9uZSBkaSBmYXN0LWV4cG9ydCIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vIHJlZnMgaW4gY29tbW9uIGFuZCBub25lIHNwZWNpZmllZDsgZG9pbmcgbm90aGluZy5cbiIKKyJQZXJoYXBzIHlvdSBzaG91bGQgc3BlY2lmeSBhIGJyYW5jaCBzdWNoIGFzICdtYXN0ZXInLlxuIgorbXNnc3RyICIiCisiTmVzc3VuIHJpZmVyaW1lbnRvIGluIGNvbXVuZSBlIG5lc3N1bm8gc3BlY2lmaWNhdG87IG5vbiBlc2VndW8gbnVsbGEuXG4iCisiRm9yc2UgZG92cmVzdGkgc3BlY2lmaWNhcmUgdW4gYnJhbmNoIGNvbWUgJ21hc3RlcicuXG4iCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCByZXNwb25zZSBpbiByZWYgbGlzdDogJXMiCittc2dzdHIgInJpc3Bvc3RhIG1hbGZvcm1hdGEgbmVsbCdlbGVuY28gcmlmZXJpbWVudGk6ICVzIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkKCVzKSBmYWlsZWQiCittc2dzdHIgInJlYWQoJXMpIG5vbiByaXVzY2l0YSIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUoJXMpIGZhaWxlZCIKK21zZ3N0ciAid3JpdGUoJXMpIG5vbiByaXVzY2l0YSIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGhyZWFkIGZhaWxlZCIKK21zZ3N0ciAidGhyZWFkICVzIG5vbiByaXVzY2l0byIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGhyZWFkIGZhaWxlZCB0byBqb2luOiAlcyIKK21zZ3N0ciAiam9pbiBub24gcml1c2NpdGEgcGVyIGlsIHRocmVhZCAlczogJXMiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzcwIHRyYW5zcG9ydC1oZWxwZXIuYzoxMzc0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHN0YXJ0IHRocmVhZCBmb3IgY29weWluZyBkYXRhOiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXZ2aWFyZSBpbCB0aHJlYWQgcGVyIGxhIGNvcGlhIGRlaSBkYXRpOiAlcyIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjE0MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcHJvY2VzcyBmYWlsZWQgdG8gd2FpdCIKK21zZ3N0ciAid2FpdCBub24gcml1c2NpdGEgcGVyIGlsIHByb2Nlc3NvICVzIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTQxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBwcm9jZXNzIGZhaWxlZCIKK21zZ3N0ciAicHJvY2Vzc28gJXMgbm9uIHJpdXNjaXRvIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTQzMyB0cmFuc3BvcnQtaGVscGVyLmM6MTQ0MgorbXNnaWQgImNhbid0IHN0YXJ0IHRocmVhZCBmb3IgY29weWluZyBkYXRhIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhdnZpYXJlIGlsIHRocmVhZCBwZXIgbGEgY29waWEgZGVpIGRhdGkiCisKKyM6IHRyZWUtd2Fsay5jOjMzCittc2dpZCAidG9vLXNob3J0IHRyZWUgb2JqZWN0IgorbXNnc3RyICJvZ2dldHRvIGFsYmVybyB0cm9wcG8gY29ydG8iCisKKyM6IHRyZWUtd2Fsay5jOjM5Cittc2dpZCAibWFsZm9ybWVkIG1vZGUgaW4gdHJlZSBlbnRyeSIKK21zZ3N0ciAibW9kbyBtYWxmb3JtYXRvIG5lbGxhIHZvY2UgZGVsbCdhbGJlcm8iCisKKyM6IHRyZWUtd2Fsay5jOjQzCittc2dpZCAiZW1wdHkgZmlsZW5hbWUgaW4gdHJlZSBlbnRyeSIKK21zZ3N0ciAibm9tZSBmaWxlIHZ1b3RvIG5lbGxhIHZvY2UgZGVsbCdhbGJlcm8iCisKKyM6IHRyZWUtd2Fsay5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVuYW1lIGluIHRyZWUgZW50cnkgY29udGFpbnMgYmFja3NsYXNoOiAnJXMnIgorbXNnc3RyICJpbCBub21lIGZpbGUgbmVsbGEgdm9jZSBhbGJlcm8gY29udGllbmUgdW5hIGJhcnJhIHJvdmVzY2lhdGE6ICclcyciCisKKyM6IHRyZWUtd2Fsay5jOjEyNAorbXNnaWQgInRvby1zaG9ydCB0cmVlIGZpbGUiCittc2dzdHIgImZpbGUgYWxiZXIgdHJvcHBvIGNvcnRvIgorCisjOiB1bnBhY2stdHJlZXMuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgorIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgorbXNnc3RyICIiCisiTGUgdHVlIG1vZGlmaWNoZSBsb2NhbGkgYWkgc2VndWVudGkgZmlsZSBzYXJlYmJlcm8gc292cmFzY3JpdHRlIGNvbiBpbCAiCisiY2hlY2tvdXQ6XG4iCisiJSVzRXNlZ3VpIGlsIGNvbW1pdCBvIGxvIHN0YXNoIGRlbGxlIG1vZGlmaWNoZSBwcmltYSBkaSBjYW1iaWFyZSBicmFuY2guIgorCisjOiB1bnBhY2stdHJlZXMuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgorIiUlcyIKK21zZ3N0ciAiIgorIkxlIHR1ZSBtb2RpZmljaGUgbG9jYWxpIGFpIHNlZ3VlbnRpIGZpbGUgc2FyZWJiZXJvIHNvdnJhc2NyaXR0ZSBjb24gaWwgIgorImNoZWNrb3V0OlxuIgorIiUlcyIKKworIzogdW5wYWNrLXRyZWVzLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKKyIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgbWVyZ2UuIgorbXNnc3RyICIiCisiTGUgdHVlIG1vZGlmaWNoZSBsb2NhbGkgYWkgc2VndWVudGkgZmlsZSBzYXJlYmJlcm8gc292cmFzY3JpdHRlIGNvbiBpbCAiCisibWVyZ2U6XG4iCisiJSVzRXNlZ3VpIGlsIGNvbW1pdCBvIGxvIHN0YXNoIGRlbGxlIG1vZGlmaWNoZSBwcmltYSBkaSBlc2VndWlyZSBpbCBtZXJnZS4iCisKKyM6IHVucGFjay10cmVlcy5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCisiJSVzIgorbXNnc3RyICIiCisiTGUgdHVlIG1vZGlmaWNoZSBsb2NhbGkgYWkgc2VndWVudGkgZmlsZSBzYXJlYmJlcm8gc292cmFzY3JpdHRlIGNvbiBpbCAiCisibWVyZ2U6XG4iCisiJSVzIgorCisjOiB1bnBhY2stdHJlZXMuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgorIiUlc1BsZWFzZSBjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gYmVmb3JlIHlvdSAlcy4iCittc2dzdHIgIiIKKyJMZSB0dWUgbW9kaWZpY2hlIGxvY2FsaSBhaSBzZWd1ZW50aSBmaWxlIHNhcmViYmVybyBzb3ZyYXNjcml0dGUgY29uICIKKyJsJ29wZXJhemlvbmUgZGkgJXM6XG4iCisiJSVzRXNlZ3VpIGlsIGNvbW1pdCBvIGxvIHN0YXNoIGRlbGxlIG1vZGlmaWNoZSBwcmltYSBkaSBlc2VndWlyZSAiCisibCdvcGVyYXppb25lIGRpICVzLiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKKyIlJXMiCittc2dzdHIgIiIKKyJMZSB0dWUgbW9kaWZpY2hlIGxvY2FsaSBhaSBzZWd1ZW50aSBmaWxlIHNhcmViYmVybyBzb3ZyYXNjcml0dGUgY29uICIKKyJsJ29wZXJhemlvbmUgZGkgJXM6XG4iCisiJSVzIgorCisjOiB1bnBhY2stdHJlZXMuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlVwZGF0aW5nIHRoZSBmb2xsb3dpbmcgZGlyZWN0b3JpZXMgd291bGQgbG9zZSB1bnRyYWNrZWQgZmlsZXMgaW4gdGhlbTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIkwnYWdnaW9ybmFtZW50byBkZWxsZSBzZWd1ZW50aSBkaXJlY3RvcnkgZmFyZWJiZSBzw6wgY2hlIGRlaSBmaWxlIG5vbiAiCisidHJhY2NpYXRpIGluIGVzc2UgY29udGVudXRpIHZlbmdhbm8gcGVyc2k6XG4iCisiJXMiCisKKyM6IHVucGFjay10cmVlcy5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgorbXNnc3RyICIiCisiSSBzZWd1ZW50aSBmaWxlIG5vbiB0cmFjY2lhdGkgcHJlc2VudGkgbmVsbCdhbGJlcm8gZGkgbGF2b3JvIHNhcmViYmVybyAiCisiZWxpbWluYXRpIGNvbiBpbCBjaGVja291dDpcbiIKKyIlJXNTcG9zdGFsaSBvIGVsaW1pbmFsaSBwcmltYSBkaSBjYW1iaWFyZSBicmFuY2guIgorCisjOiB1bnBhY2stdHJlZXMuYzoxMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgorIiUlcyIKK21zZ3N0ciAiIgorIkkgc2VndWVudGkgZmlsZSBub24gdHJhY2NpYXRpIHByZXNlbnRpIG5lbGwnYWxiZXJvIGRpIGxhdm9ybyBzYXJlYmJlcm8gIgorImVsaW1pbmF0aSBjb24gaWwgY2hlY2tvdXQ6XG4iCisiJSVzIgorCisjOiB1bnBhY2stdHJlZXMuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgbWVyZ2UuIgorbXNnc3RyICIiCisiSSBzZWd1ZW50aSBmaWxlIG5vbiB0cmFjY2lhdGkgcHJlc2VudGkgbmVsbCdhbGJlcm8gZGkgbGF2b3JvIHNhcmViYmVybyAiCisiZWxpbWluYXRpIGRhbCBtZXJnZTpcbiIKKyIlJXNTcG9zdGFsaSBvIGVsaW1pbmFsaSBwcmltYSBkaSBlc2VndWlyZSBpbCBtZXJnZS4iCisKKyM6IHVucGFjay10cmVlcy5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4iCisiJSVzIgorbXNnc3RyICIiCisiSSBzZWd1ZW50aSBmaWxlIG5vbiB0cmFjY2lhdGkgcHJlc2VudGkgbmVsbCdhbGJlcm8gZGkgbGF2b3JvIHNhcmViYmVybyAiCisiZWxpbWluYXRpIGRhbCBtZXJnZTpcbiIKKyIlJXMiCisKKyM6IHVucGFjay10cmVlcy5jOjE0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSAlcy4iCittc2dzdHIgIiIKKyJJIHNlZ3VlbnRpIGZpbGUgbm9uIHRyYWNjaWF0aSBwcmVzZW50aSBuZWxsJ2FsYmVybyBkaSBsYXZvcm8gc2FyZWJiZXJvICIKKyJlbGltaW5hdGkgY29uIGwnb3BlcmF6aW9uZSBkaSAlczpcbiIKKyIlJXNTcG9zdGFsaSBvIGVsaW1pbmFsaSBwcmltYSBkaSBlc2VndWlyZSBsJ29wZXJhemlvbmUgZGkgJXMuIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgorIiUlcyIKK21zZ3N0ciAiIgorIkkgc2VndWVudGkgZmlsZSBub24gdHJhY2NpYXRpIHByZXNlbnRpIG5lbGwnYWxiZXJvIGRpIGxhdm9ybyBzYXJlYmJlcm8gIgorImVsaW1pbmF0aSBjb24gbCdvcGVyYXppb25lIGRpICVzOlxuIgorIiUlcyIKKworIzogdW5wYWNrLXRyZWVzLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgorImNoZWNrb3V0OlxuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKK21zZ3N0ciAiIgorIkkgc2VndWVudGkgZmlsZSBub24gdHJhY2NpYXRpIHByZXNlbnRpIG5lbGwnYWxiZXJvIGRpIGxhdm9ybyBzYXJlYmJlcm8gIgorInNvdnJhc2NyaXR0aSBjb24gaWwgY2hlY2tvdXQ6XG4iCisiJSVzU3Bvc3RhbGkgbyBlbGltaW5hbGkgcHJpbWEgZGkgY2FtYmlhcmUgYnJhbmNoLiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgorImNoZWNrb3V0OlxuIgorIiUlcyIKK21zZ3N0ciAiIgorIkkgc2VndWVudGkgZmlsZSBub24gdHJhY2NpYXRpIHByZXNlbnRpIG5lbGwnYWxiZXJvIGRpIGxhdm9ybyBzYXJlYmJlcm8gIgorInNvdnJhc2NyaXR0aSBjb24gaWwgY2hlY2tvdXQ6XG4iCisiJSVzIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKK21zZ3N0ciAiIgorIkkgc2VndWVudGkgZmlsZSBub24gdHJhY2NpYXRpIHByZXNlbnRpIG5lbGwnYWxiZXJvIGRpIGxhdm9ybyBzYXJlYmJlcm8gIgorInNvdnJhc2NyaXR0aSBkYWwgbWVyZ2U6XG4iCisiJSVzU3Bvc3RhbGkgbyBlbGltaW5hbGkgcHJpbWEgZGkgZXNlZ3VpcmUgaWwgbWVyZ2UuIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKKyIlJXMiCittc2dzdHIgIiIKKyJJIHNlZ3VlbnRpIGZpbGUgbm9uIHRyYWNjaWF0aSBwcmVzZW50aSBuZWxsJ2FsYmVybyBkaSBsYXZvcm8gc2FyZWJiZXJvICIKKyJzb3ZyYXNjcml0dGkgZGFsIG1lcmdlOlxuIgorIiUlcyIKKworIzogdW5wYWNrLXRyZWVzLmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSAlcy4iCittc2dzdHIgIiIKKyJJIHNlZ3VlbnRpIGZpbGUgbm9uIHRyYWNjaWF0aSBwcmVzZW50aSBuZWxsJ2FsYmVybyBkaSBsYXZvcm8gc2FyZWJiZXJvICIKKyJzb3ZyYXNjcml0dGkgY29uIGwnb3BlcmF6aW9uZSBkaSAlczpcbiIKKyIlJXNTcG9zdGFsaSBvIGVsaW1pbmFsaSBwcmltYSBkaSBlc2VndWlyZSBsJ29wZXJhemlvbmUgZGkgJXMuIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKKyIlJXMiCittc2dzdHIgIiIKKyJJIHNlZ3VlbnRpIGZpbGUgbm9uIHRyYWNjaWF0aSBwcmVzZW50aSBuZWxsJ2FsYmVybyBkaSBsYXZvcm8gc2FyZWJiZXJvICIKKyJzb3ZyYXNjcml0dGkgY29uIGwnb3BlcmF6aW9uZSBkaSAlczpcbiIKKyIlJXMiCisKKyM6IHVucGFjay10cmVlcy5jOjE2OQorIywgYy1mb3JtYXQKK21zZ2lkICJFbnRyeSAnJXMnIG92ZXJsYXBzIHdpdGggJyVzJy4gIENhbm5vdCBiaW5kLiIKK21zZ3N0ciAiIgorIkxhIHZvY2UgJyVzJyBzaSBzb3ZyYXBwb25lIGEgJyVzJy4gSW1wb3NzaWJpbGUgZXNlZ3VpcmUgaWwgY29sbGVnYW1lbnRvLiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW5ub3QgdXBkYXRlIHNwYXJzZSBjaGVja291dDogdGhlIGZvbGxvd2luZyBlbnRyaWVzIGFyZSBub3QgdXAgdG8gZGF0ZTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIkltcG9zc2liaWxlIGFnZ2lvcm5hcmUgaWwgY2hlY2tvdXQgc3BhcnNlOiBsZSBzZWd1ZW50aSB2b2NpIG5vbiBzb25vICIKKyJhZ2dpb3JuYXRlOlxuIgorIiVzIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IHNwYXJzZSBjaGVja291dCAiCisidXBkYXRlOlxuIgorIiVzIgorbXNnc3RyICIiCisiSSBzZWd1ZW50aSBmaWxlIGRlbGwnYWxiZXJvIGRpIGxhdm9ybyBzYXJlYmJlcm8gc292cmFzY3JpdHRpIGNvbiAiCisibCdhZ2dpb3JuYW1lbnRvIGRlbCBjaGVja291dCBzcGFyc2U6XG4iCisiJXMiCisKKyM6IHVucGFjay10cmVlcy5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBzcGFyc2UgY2hlY2tvdXQgIgorInVwZGF0ZTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIkkgc2VndWVudGkgZmlsZSBkZWxsJ2FsYmVybyBkaSBsYXZvcm8gc2FyZWJiZXJvIGVsaW1pbmF0aSBjb24gIgorImwnYWdnaW9ybmFtZW50byBkZWwgY2hlY2tvdXQgc3BhcnNlOlxuIgorIiVzIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNhbm5vdCB1cGRhdGUgc3VibW9kdWxlOlxuIgorIiVzIgorbXNnc3RyICIiCisiSW1wb3NzaWJpbGUgYWdnaW9ybmFyZSBpbCBzb3R0b21vZHVsbzpcbiIKKyIlcyIKKworIzogdW5wYWNrLXRyZWVzLmM6MjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkFib3J0aW5nXG4iCittc2dzdHIgIkludGVycm9tcG8gbCdvcGVyYXppb25lXG4iCisKKyM6IHVucGFjay10cmVlcy5jOjMxNworbXNnaWQgIlVwZGF0aW5nIGZpbGVzIgorbXNnc3RyICJBZ2dpb3JuYW1lbnRvIGRlaSBmaWxlIGluIGNvcnNvIgorCisjOiB1bnBhY2stdHJlZXMuYzozNDkKK21zZ2lkICIiCisidGhlIGZvbGxvd2luZyBwYXRocyBoYXZlIGNvbGxpZGVkIChlLmcuIGNhc2Utc2Vuc2l0aXZlIHBhdGhzXG4iCisib24gYSBjYXNlLWluc2Vuc2l0aXZlIGZpbGVzeXN0ZW0pIGFuZCBvbmx5IG9uZSBmcm9tIHRoZSBzYW1lXG4iCisiY29sbGlkaW5nIGdyb3VwIGlzIGluIHRoZSB3b3JraW5nIHRyZWU6XG4iCittc2dzdHIgIiIKKyJpIHNlZ3VlbnRpIHBlcmNvcnNpIHNvbm8gZW50cmF0aSBpbiBjb25mbGl0dG8gKGFkIGVzLiBzZSBjaVxuIgorInNvbm8gcGVyY29yc2kgY2hlIGRpZmZlcmlzY29ubyBzb2xvIHBlciBsZSBtYWl1c2NvbGUvbWludXNjb2xlXG4iCisic3UgdW4gZmlsZXN5c3RlbSBub24gc2Vuc2liaWxlIGEgdGFsZSBkaWZmZXJlbnphKSBlIHNvbG8gdW5vXG4iCisicGVyIGdydXBwbyBpbiBjb25mbGl0dG8gw6ggbmVsbCdhbGJlcm8gZGkgbGF2b3JvOlxuIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNDQxCittc2dpZCAiVXBkYXRpbmcgaW5kZXggZmxhZ3MiCittc2dzdHIgIkFnZ2lvcm5hbWVudG8gZGVpIGNvbnRyYXNzZWduaSBpbmRpY2UgaW4gY29yc28iCisKKyM6IHVybG1hdGNoLmM6MTYzCittc2dpZCAiaW52YWxpZCBVUkwgc2NoZW1lIG5hbWUgb3IgbWlzc2luZyAnOi8vJyBzdWZmaXgiCittc2dzdHIgIm5vbWUgc2NoZW1hIFVSTCBub24gdmFsaWRvIG8gc3VmZmlzc28gJzovLycgbWFuY2FudGUiCisKKyM6IHVybG1hdGNoLmM6MTg3IHVybG1hdGNoLmM6MzQ2IHVybG1hdGNoLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgJVhYIGVzY2FwZSBzZXF1ZW5jZSIKK21zZ3N0ciAic2VxdWVuemEgZGkgZXNjYXBlICVYWCBub24gdmFsaWRhIgorCisjOiB1cmxtYXRjaC5jOjIxNQorbXNnaWQgIm1pc3NpbmcgaG9zdCBhbmQgc2NoZW1lIGlzIG5vdCAnZmlsZTonIgorbXNnc3RyICJob3N0IG1hbmNhbnRlIGUgbG8gc2NoZW1hIG5vbiDDqCAnZmlsZTonIgorCisjOiB1cmxtYXRjaC5jOjIzMgorbXNnaWQgImEgJ2ZpbGU6JyBVUkwgbWF5IG5vdCBoYXZlIGEgcG9ydCBudW1iZXIiCittc2dzdHIgInVuIFVSTCAnZmlsZTonIG5vbiBwdcOyIGF2ZXJlIHVuIG51bWVybyBkaSBwb3J0YSIKKworIzogdXJsbWF0Y2guYzoyNDcKK21zZ2lkICJpbnZhbGlkIGNoYXJhY3RlcnMgaW4gaG9zdCBuYW1lIgorbXNnc3RyICJjYXJhdHRlcmkgbm9uIHZhbGlkaSBuZWwgbm9tZSBob3N0IgorCisjOiB1cmxtYXRjaC5jOjI5MiB1cmxtYXRjaC5jOjMwMworbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIiCittc2dzdHIgIm51bWVybyBkaSBwb3J0YSBub24gdmFsaWRvIgorCisjOiB1cmxtYXRjaC5jOjM3MQorbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCittc2dzdHIgInBhcnRlIHBlcmNvcnNvICcuLicgbm9uIHZhbGlkYSIKKworIzogd29ya3RyZWUuYzoyNTggYnVpbHRpbi9hbS5jOjIwODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJyVzJyIKK21zZ3N0ciAibGV0dHVyYSBkaSAnJXMnIG5vbiByaXVzY2l0YSIKKworIzogd29ya3RyZWUuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBhdCBtYWluIHdvcmtpbmcgdHJlZSBpcyBub3QgdGhlIHJlcG9zaXRvcnkgZGlyZWN0b3J5IgorbXNnc3RyICIiCisiJyVzJyBuZWxsJ2FsYmVybyBkaSBsYXZvcm8gcHJpbmNpcGFsZSBub24gw6ggbGEgZGlyZWN0b3J5IGRlbCByZXBvc2l0b3J5IgorCisjOiB3b3JrdHJlZS5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGZpbGUgZG9lcyBub3QgY29udGFpbiBhYnNvbHV0ZSBwYXRoIHRvIHRoZSB3b3JraW5nIHRyZWUgbG9jYXRpb24iCittc2dzdHIgIiIKKyJpbCBmaWxlICclcycgbm9uIGNvbnRpZW5lIGlsIHBlcmNvcnNvIGFzc29sdXRvIGFsbGEgcG9zaXppb25lIGRlbGwnYWxiZXJvIGRpICIKKyJsYXZvcm8iCisKKyM6IHdvcmt0cmVlLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiclcycgbm9uIGVzaXN0ZSIKKworIzogd29ya3RyZWUuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSAuZ2l0IGZpbGUsIGVycm9yIGNvZGUgJWQiCittc2dzdHIgIiclcycgbm9uIMOoIHVuIGZpbGUgLmdpdCwgY29kaWNlIGQnZXJyb3JlICVkIgorCisjOiB3b3JrdHJlZS5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGRvZXMgbm90IHBvaW50IGJhY2sgdG8gJyVzJyIKK21zZ3N0ciAiJyVzJyBub24gcHVudGEgYSAnJXMnIgorCisjOiB3cmFwcGVyLmM6MTg2IHdyYXBwZXIuYzozNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICclcycgaW4gbGV0dHVyYSBlIHNjcml0dHVyYSIKKworIzogd3JhcHBlci5jOjM4NyB3cmFwcGVyLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYWNjZWRlcmUgYSAnJXMnIgorCisjOiB3cmFwcGVyLmM6NTk2Cittc2dpZCAidW5hYmxlIHRvIGdldCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJpbXBvc3NpYmlsZSBvdHRlbmVyZSBsYSBkaXJlY3RvcnkgZGkgbGF2b3JvIGNvcnJlbnRlIgorCisjOiB3dC1zdGF0dXMuYzoxNTgKK21zZ2lkICJVbm1lcmdlZCBwYXRoczoiCittc2dzdHIgIlBlcmNvcnNpIG5vbiBzb3R0b3Bvc3RpIGEgbWVyZ2U6IgorCisjOiB3dC1zdGF0dXMuYzoxODcgd3Qtc3RhdHVzLmM6MjE5Cittc2dpZCAiICAodXNlIFwiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCittc2dzdHIgIiIKKyIgICh1c2EgXCJnaXQgcmVzdG9yZSAtLXN0YWdlZCA8ZmlsZT4uLi5cIiBwZXIgcmltdW92ZXJlIGdsaSBlbGVtZW50aSAiCisiZGFsbCdhcmVhIGRpIHN0YWdpbmcpIgorCisjOiB3dC1zdGF0dXMuYzoxOTAgd3Qtc3RhdHVzLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgKHVzZSBcImdpdCByZXN0b3JlIC0tc291cmNlPSVzIC0tc3RhZ2VkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgorbXNnc3RyICIiCisiICAodXNhIFwiZ2l0IHJlc3RvcmUgLS1zb3VyY2U9JXMgLS1zdGFnZWQgPGZpbGU+Li4uXCIgcGVyIHJpbXVvdmVyZSBnbGkgIgorImVsZW1lbnRpIGRhbGwnYXJlYSBkaSBzdGFnaW5nKSIKKworIzogd3Qtc3RhdHVzLmM6MTkzIHd0LXN0YXR1cy5jOjIyNQorbXNnaWQgIiAgKHVzZSBcImdpdCBybSAtLWNhY2hlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKK21zZ3N0ciAiIgorIiAgKHVzYSBcImdpdCBybSAtLWNhY2hlZCA8ZmlsZT4uLi5cIiBwZXIgcmltdW92ZXJlIGdsaSBlbGVtZW50aSBkYWxsJ2FyZWEgZGkgIgorInN0YWdpbmcpIgorCisjOiB3dC1zdGF0dXMuYzoxOTcKK21zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCittc2dzdHIgIiIKKyIgICh1c2EgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHBlciBjb250cmFzc2VnbmFyZSBpbCBjb25mbGl0dG8gY29tZSByaXNvbHRvKSIKKworIzogd3Qtc3RhdHVzLmM6MTk5IHd0LXN0YXR1cy5jOjIwMworbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKSIKK21zZ3N0ciAiIgorIiAgKHVzYSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgY29tZSBhcHByb3ByaWF0byBwZXIgY29udHJhc3NlZ25hcmUgaWwgIgorImNvbmZsaXR0byBjb21lIHJpc29sdG8pIgorCisjOiB3dC1zdGF0dXMuYzoyMDEKK21zZ2lkICIgICh1c2UgXCJnaXQgcm0gPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKK21zZ3N0ciAiIgorIiAgKHVzYSBcImdpdCBybSA8ZmlsZT4uLi5cIiBwZXIgY29udHJhc3NlZ25hcmUgaWwgY29uZmxpdHRvIGNvbWUgcmlzb2x0bykiCisKKyM6IHd0LXN0YXR1cy5jOjIxMSB3dC1zdGF0dXMuYzoxMDc0Cittc2dpZCAiQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgorbXNnc3RyICJNb2RpZmljaGUgZGkgY3VpIHZlcnLDoCBlc2VndWl0byBpbCBjb21taXQ6IgorCisjOiB3dC1zdGF0dXMuYzoyMzQgd3Qtc3RhdHVzLmM6MTA4MworbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKK21zZ3N0ciAiTW9kaWZpY2hlIG5vbiBuZWxsJ2FyZWEgZGkgc3RhZ2luZyBwZXIgaWwgY29tbWl0OiIKKworIzogd3Qtc3RhdHVzLmM6MjM4Cittc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCittc2dzdHIgIiIKKyIgICh1c2EgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHBlciBhZ2dpb3JuYXJlIGdsaSBlbGVtZW50aSBkaSBjdWkgc2Fyw6AgIgorImVzZWd1aXRvIGlsIGNvbW1pdCkiCisKKyM6IHd0LXN0YXR1cy5jOjI0MAorbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgorbXNnc3RyICIiCisiICAodXNhIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBwZXIgYWdnaW9ybmFyZSBnbGkgZWxlbWVudGkgZGkgY3VpIHNhcsOgICIKKyJlc2VndWl0byBpbCBjb21taXQpIgorCisjOiB3dC1zdGF0dXMuYzoyNDEKK21zZ2lkICIiCisiICAodXNlIFwiZ2l0IHJlc3RvcmUgPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKK21zZ3N0ciAiIgorIiAgKHVzYSBcImdpdCByZXN0b3JlIDxmaWxlPi4uLlwiIHBlciBzY2FydGFyZSBsZSBtb2RpZmljaGUgbmVsbGEgZGlyZWN0b3J5ICIKKyJkaSBsYXZvcm8pIgorCisjOiB3dC1zdGF0dXMuYzoyNDMKK21zZ2lkICIgIChjb21taXQgb3IgZGlzY2FyZCB0aGUgdW50cmFja2VkIG9yIG1vZGlmaWVkIGNvbnRlbnQgaW4gc3VibW9kdWxlcykiCittc2dzdHIgIiIKKyIgIChlc2VndWkgaWwgY29tbWl0IG8gc2NhcnRhIGlsIGNvbnRlbnV0byBub24gdHJhY2NpYXRvIG8gbW9kaWZpY2F0byBuZWkgIgorInNvdHRvbW9kdWxpKSIKKworIzogd3Qtc3RhdHVzLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgorbXNnc3RyICIiCisiICAodXNhIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHBlciBpbmNsdWRlcmUgbCdlbGVtZW50byBmcmEgcXVlbGxpIGRpIGN1aSB2ZXJyw6AgIgorImVzZWd1aXRvIGlsIGNvbW1pdCkiCisKKyM6IHd0LXN0YXR1cy5jOjI2OAorbXNnaWQgImJvdGggZGVsZXRlZDoiCittc2dzdHIgImVudHJhbWJpIGVsaW1pbmF0aToiCisKKyM6IHd0LXN0YXR1cy5jOjI3MAorbXNnaWQgImFkZGVkIGJ5IHVzOiIKK21zZ3N0ciAiYWdnaXVudG8gZGEgbm9pOiIKKworIzogd3Qtc3RhdHVzLmM6MjcyCittc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKK21zZ3N0ciAiZWxpbWluYXRvIGRhIGxvcm86IgorCisjOiB3dC1zdGF0dXMuYzoyNzQKK21zZ2lkICJhZGRlZCBieSB0aGVtOiIKK21zZ3N0ciAiYWdnaXVudG8gZGEgbG9ybzoiCisKKyM6IHd0LXN0YXR1cy5jOjI3NgorbXNnaWQgImRlbGV0ZWQgYnkgdXM6IgorbXNnc3RyICJlbGltaW5hdG8gZGEgbm9pOiIKKworIzogd3Qtc3RhdHVzLmM6Mjc4Cittc2dpZCAiYm90aCBhZGRlZDoiCittc2dzdHIgImVudHJhbWJpIGFnZ2l1bnRpOiIKKworIzogd3Qtc3RhdHVzLmM6MjgwCittc2dpZCAiYm90aCBtb2RpZmllZDoiCittc2dzdHIgImVudHJhbWJpIG1vZGlmaWNhdGk6IgorCisjOiB3dC1zdGF0dXMuYzoyOTAKK21zZ2lkICJuZXcgZmlsZToiCittc2dzdHIgIm51b3ZvIGZpbGU6IgorCisjOiB3dC1zdGF0dXMuYzoyOTIKK21zZ2lkICJjb3BpZWQ6IgorbXNnc3RyICJjb3BpYXRvOiIKKworIzogd3Qtc3RhdHVzLmM6Mjk0Cittc2dpZCAiZGVsZXRlZDoiCittc2dzdHIgImVsaW1pbmF0bzoiCisKKyM6IHd0LXN0YXR1cy5jOjI5NgorbXNnaWQgIm1vZGlmaWVkOiIKK21zZ3N0ciAibW9kaWZpY2F0bzoiCisKKyM6IHd0LXN0YXR1cy5jOjI5OAorbXNnaWQgInJlbmFtZWQ6IgorbXNnc3RyICJyaW5vbWluYXRvOiIKKworIzogd3Qtc3RhdHVzLmM6MzAwCittc2dpZCAidHlwZWNoYW5nZToiCittc2dzdHIgIm1vZGlmaWNhIHRpcG86IgorCisjOiB3dC1zdGF0dXMuYzozMDIKK21zZ2lkICJ1bmtub3duOiIKK21zZ3N0ciAic2Nvbm9zY2l1dG86IgorCisjOiB3dC1zdGF0dXMuYzozMDQKK21zZ2lkICJ1bm1lcmdlZDoiCittc2dzdHIgIm5vbiBzb3R0b3Bvc3RvIGEgbWVyZ2U6IgorCisjOiB3dC1zdGF0dXMuYzozODQKK21zZ2lkICJuZXcgY29tbWl0cywgIgorbXNnc3RyICJudW92aSBjb21taXQsICIKKworIzogd3Qtc3RhdHVzLmM6Mzg2Cittc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgorbXNnc3RyICJjb250ZW51dG8gbW9kaWZpY2F0bywgIgorCisjOiB3dC1zdGF0dXMuYzozODgKK21zZ2lkICJ1bnRyYWNrZWQgY29udGVudCwgIgorbXNnc3RyICJjb250ZW51dG8gbm9uIHRyYWNjaWF0bywgIgorCisjOiB3dC1zdGF0dXMuYzo5MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJ5IgorbXNnaWRfcGx1cmFsICJZb3VyIHN0YXNoIGN1cnJlbnRseSBoYXMgJWQgZW50cmllcyIKK21zZ3N0clswXSAiTG8gc3Rhc2ggYXR0dWFsbWVudGUgaGEgJWQgdm9jZSIKK21zZ3N0clsxXSAiTG8gc3Rhc2ggYXR0dWFsbWVudGUgaGEgJWQgdm9jaSIKKworIzogd3Qtc3RhdHVzLmM6OTM4Cittc2dpZCAiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiCittc2dzdHIgIlNvdHRvbW9kdWxpIG1vZGlmaWNhdGkgbWEgbm9uIGFnZ2lvcm5hdGk6IgorCisjOiB3dC1zdGF0dXMuYzo5NDAKK21zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgorbXNnc3RyICJNb2RpZmljaGUgYWkgc290dG9tb2R1bGkgZGkgY3VpIHZlcnLDoCBlc2VndWl0byBpbCBjb21taXQ6IgorCisjOiB3dC1zdGF0dXMuYzoxMDIyCittc2dpZCAiIgorIkRvIG5vdCBtb2RpZnkgb3IgcmVtb3ZlIHRoZSBsaW5lIGFib3ZlLlxuIgorIkV2ZXJ5dGhpbmcgYmVsb3cgaXQgd2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiIgorIk5vbiBtb2RpZmljYXJlIG8gcmltdW92ZXJlIGxhIHJpZ2Egc29wcmFzdGFudGUuXG4iCisiVHV0dG8gY2nDsiBjaGUgc2kgdHJvdmEgYWwgZGkgc290dG8gZGkgZXNzYSBzYXLDoCBpZ25vcmF0by4iCisKKyM6IHd0LXN0YXR1cy5jOjExMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGNvbXB1dGUgdGhlIGJyYW5jaCBhaGVhZC9iZWhpbmQgdmFsdWVzLlxuIgorIllvdSBjYW4gdXNlICctLW5vLWFoZWFkLWJlaGluZCcgdG8gYXZvaWQgdGhpcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlNvbm8gc3RhdGkgbmVjZXNzYXJpICUuMmYgc2Vjb25kaSBwZXIgY2FsY29sYXJlIGlsIG51bWVybyBkaSBjb21taXRcbiIKKyJwcmVjZWRlbnRpL3N1Y2Nlc3NpdmkgbmVsIGJyYW5jaC5cbiIKKyJQdW9pIHVzYXJlICctLW5vLWFoZWFkLWJlaGluZCcgcGVyIGV2aXRhcmUgaWwgY2FsY29sby5cbiIKKworIzogd3Qtc3RhdHVzLmM6MTE0NAorbXNnaWQgIllvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLiIKK21zZ3N0ciAiSGFpIGRlaSBwZXJjb3JzaSBub24gc290dG9wb3N0aSBhIG1lcmdlLiIKKworIzogd3Qtc3RhdHVzLmM6MTE0NworbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjb21taXRcIikiCittc2dzdHIgIiAgKHJpc29sdmkgaSBjb25mbGl0dGkgZWQgZXNlZ3VpIFwiZ2l0IGNvbW1pdFwiKSIKKworIzogd3Qtc3RhdHVzLmM6MTE0OQorbXNnaWQgIiAgKHVzZSBcImdpdCBtZXJnZSAtLWFib3J0XCIgdG8gYWJvcnQgdGhlIG1lcmdlKSIKK21zZ3N0ciAiICAodXNhIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiBwZXIgaW50ZXJyb21wZXJlIGlsIG1lcmdlKSIKKworIzogd3Qtc3RhdHVzLmM6MTE1MworbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCittc2dzdHIgIlR1dHRpIGkgY29uZmxpdHRpIHNvbm8gc3RhdGkgcmlzb2x0aSBtYSBpbCBtZXJnZSDDqCBhbmNvcmEgaW4gY29yc28uIgorCisjOiB3dC1zdGF0dXMuYzoxMTU2Cittc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKK21zZ3N0ciAiICAodXNhIFwiZ2l0IGNvbW1pdFwiIHBlciB0ZXJtaW5hcmUgaWwgbWVyZ2UpIgorCisjOiB3dC1zdGF0dXMuYzoxMTY1Cittc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgorbXNnc3RyICJTZWkgbmVsIGJlbCBtZXp6byBkaSB1bmEgc2Vzc2lvbmUgYW0uIgorCisjOiB3dC1zdGF0dXMuYzoxMTY4Cittc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgorbXNnc3RyICJMYSBwYXRjaCBjb3JyZW50ZSDDqCB2dW90YS4iCisKKyM6IHd0LXN0YXR1cy5jOjExNzIKK21zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLWNvbnRpbnVlXCIpIgorbXNnc3RyICIgIChyaXNvbHZpIGkgY29uZmxpdHRpIGUgcXVpbmRpIGVzZWd1aSBcImdpdCBhbSAtLWNvbnRpbnVlXCIpIgorCisjOiB3dC1zdGF0dXMuYzoxMTc0Cittc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCittc2dzdHIgIiAgKHVzYSBcImdpdCBhbSAtLXNraXBcIiBwZXIgc2FsdGFyZSBxdWVzdGEgcGF0Y2gpIgorCisjOiB3dC1zdGF0dXMuYzoxMTc2Cittc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2gpIgorbXNnc3RyICIgICh1c2EgXCJnaXQgYW0gLS1hYm9ydFwiIHBlciByaXByaXN0aW5hcmUgaWwgYnJhbmNoIG9yaWdpbmFyaW8pIgorCisjOiB3dC1zdGF0dXMuYzoxMzA5Cittc2dpZCAiZ2l0LXJlYmFzZS10b2RvIGlzIG1pc3NpbmcuIgorbXNnc3RyICJnaXQtcmViYXNlLXRvZG8gw6ggbWFuY2FudGUuIgorCisjOiB3dC1zdGF0dXMuYzoxMzExCittc2dpZCAiTm8gY29tbWFuZHMgZG9uZS4iCittc2dzdHIgIk5lc3N1biBjb21hbmRvIGVzZWd1aXRvLiIKKworIzogd3Qtc3RhdHVzLmM6MTMxNAorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNvbW1hbmQgZG9uZSAoJWQgY29tbWFuZCBkb25lKToiCittc2dpZF9wbHVyYWwgIkxhc3QgY29tbWFuZHMgZG9uZSAoJWQgY29tbWFuZHMgZG9uZSk6IgorbXNnc3RyWzBdICJVbHRpbW8gY29tYW5kbyBlc2VndWl0byAoJWQgY29tYW5kbyBlc2VndWl0byk6IgorbXNnc3RyWzFdICJVbHRpbWkgY29tYW5kaSBlc2VndWl0aSAoJWQgY29tYW5kaSBlc2VndWl0aSk6IgorCisjOiB3dC1zdGF0dXMuYzoxMzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgKHNlZSBtb3JlIGluIGZpbGUgJXMpIgorbXNnc3RyICIgICh2ZWRpIGRpIHBpw7kgbmVsIGZpbGUgJXMpIgorCisjOiB3dC1zdGF0dXMuYzoxMzMwCittc2dpZCAiTm8gY29tbWFuZHMgcmVtYWluaW5nLiIKK21zZ3N0ciAiTmVzc3VuIGNvbWFuZG8gcmltYW5lbnRlLiIKKworIzogd3Qtc3RhdHVzLmM6MTMzMworIywgYy1mb3JtYXQKK21zZ2lkICJOZXh0IGNvbW1hbmQgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kKToiCittc2dpZF9wbHVyYWwgIk5leHQgY29tbWFuZHMgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kcyk6IgorbXNnc3RyWzBdICJQcm9zc2ltbyBjb21hbmRvIGRhIGVzZWd1aXJlICglZCBjb21hbmRvIHJpbWFuZW50ZSk6IgorbXNnc3RyWzFdICJQcm9zc2ltaSBjb21hbmRpIGRhIGVzZWd1aXJlICglZCBjb21hbmRpIHJpbWFuZW50aSk6IgorCisjOiB3dC1zdGF0dXMuYzoxMzQxCittc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHRvIHZpZXcgYW5kIGVkaXQpIgorbXNnc3RyICIiCisiICAodXNhIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHBlciB2aXN1YWxpenphcmUgZSBtb2RpZmljYXJlIGxlICIKKyJvcGVyYXppb25pKSIKKworIzogd3Qtc3RhdHVzLmM6MTM1MworIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKK21zZ3N0ciAiQXR0dWFsbWVudGUgc3RhaSBlc2VndWVuZG8gaWwgcmViYXNlIGRlbCBicmFuY2ggJyVzJyBzdSAnJXMnLiIKKworIzogd3Qtc3RhdHVzLmM6MTM1OAorbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nLiIKK21zZ3N0ciAiQXR0dWFsbWVudGUgc3RhaSBlc2VndWVuZG8gdW4gcmViYXNlLiIKKworIzogd3Qtc3RhdHVzLmM6MTM3MQorbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgorbXNnc3RyICIgIChyaXNvbHZpIGkgY29uZmxpdHRpIGUgcXVpbmRpIGVzZWd1aSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKKworIzogd3Qtc3RhdHVzLmM6MTM3MworbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKK21zZ3N0ciAiICAodXNhIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiBwZXIgc2FsdGFyZSBxdWVzdGEgcGF0Y2gpIgorCisjOiB3dC1zdGF0dXMuYzoxMzc1Cittc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgorbXNnc3RyICIiCisiICAodXNhIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgcGVyIGVzZWd1aXJlIGlsIGNoZWNrb3V0IGRlbCBicmFuY2ggb3JpZ2luYXJpbykiCisKKyM6IHd0LXN0YXR1cy5jOjEzODIKK21zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCittc2dzdHIgIiIKKyIgICh0dXR0aSBpIGNvbmZsaXR0aSBzb25vIHN0YXRpIHJpc29sdGk6IGVzZWd1aSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKKworIzogd3Qtc3RhdHVzLmM6MTM4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgorbXNnc3RyICIiCisiQXR0dWFsbWVudGUgc3RhaSBkaXZpZGVuZG8gdW4gY29tbWl0IGR1cmFudGUgaWwgcmViYXNlIGRlbCBicmFuY2ggJyVzJyBzdSAiCisiJyVzJy4iCisKKyM6IHd0LXN0YXR1cy5jOjEzOTEKK21zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKK21zZ3N0ciAiQXR0dWFsbWVudGUgc3RhaSBkaXZpZGVuZG8gdW4gY29tbWl0IGR1cmFudGUgdW4gcmViYXNlLiIKKworIzogd3Qtc3RhdHVzLmM6MTM5NAorbXNnaWQgIiAgKE9uY2UgeW91ciB3b3JraW5nIGRpcmVjdG9yeSBpcyBjbGVhbiwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgorbXNnc3RyICIiCisiICAoVW5hIHZvbHRhIGNoZSBsYSB0dWEgZGlyZWN0b3J5IGRpIGxhdm9ybyDDqCBwdWxpdGEsIGVzZWd1aSBcImdpdCByZWJhc2UgLS0iCisiY29udGludWVcIikiCisKKyM6IHd0LXN0YXR1cy5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKK21zZ3N0ciAiIgorIkF0dHVhbG1lbnRlIHN0YWkgbW9kaWZpY2FuZG8gdW4gY29tbWl0IGR1cmFudGUgaWwgcmViYXNlIGRlbCBicmFuY2ggJyVzJyBzdSAiCisiJyVzJy4iCisKKyM6IHd0LXN0YXR1cy5jOjE0MDMKK21zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCittc2dzdHIgIkF0dHVhbG1lbnRlIHN0YWkgbW9kaWZpY2FuZG8gdW4gY29tbWl0IGR1cmFudGUgdW4gcmViYXNlLiIKKworIzogd3Qtc3RhdHVzLmM6MTQwNgorbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkiCittc2dzdHIgIiAgKHVzYSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHBlciBjb3JyZWdnZXJlIGlsIGNvbW1pdCBjb3JyZW50ZSkiCisKKyM6IHd0LXN0YXR1cy5jOjE0MDgKK21zZ2lkICIiCisiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykiCittc2dzdHIgIiIKKyIgICh1c2EgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiB1bmEgdm9sdGEgc29kZGlzZmF0dG8gZGVsbGUgdHVlIG1vZGlmaWNoZSkiCisKKyM6IHd0LXN0YXR1cy5jOjE0MTkKK21zZ2lkICJDaGVycnktcGljayBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MuIgorbXNnc3RyICJDaGVycnktcGljayBpbiBjb3Jzby4iCisKKyM6IHd0LXN0YXR1cy5jOjE0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICVzLiIKK21zZ3N0ciAiQXR0dWFsbWVudGUgc3RhaSBlc2VndWVuZG8gaWwgY2hlcnJ5LXBpY2sgZGVsIGNvbW1pdCAlcy4iCisKKyM6IHd0LXN0YXR1cy5jOjE0MjkKK21zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiICAocmlzb2x2aSBpIGNvbmZsaXR0aSBlZCBlc2VndWkgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKKworIzogd3Qtc3RhdHVzLmM6MTQzMgorbXNnaWQgIiAgKHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgdG8gY29udGludWUpIgorbXNnc3RyICIgIChlc2VndWkgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHBlciBjb250aW51YXJlKSIKKworIzogd3Qtc3RhdHVzLmM6MTQzNQorbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgorbXNnc3RyICIiCisiICAodHV0dGkgaSBjb25mbGl0dGkgc29ubyBzdGF0aSByaXNvbHRpOiBlc2VndWkgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZSIKKyJcIikiCisKKyM6IHd0LXN0YXR1cy5jOjE0MzcKK21zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKK21zZ3N0ciAiICAodXNhIFwiZ2l0IGNoZXJyeS1waWNrIC0tc2tpcFwiIHBlciBzYWx0YXJlIHF1ZXN0YSBwYXRjaCkiCisKKyM6IHd0LXN0YXR1cy5jOjE0MzkKK21zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKSIKK21zZ3N0ciAiIgorIiAgKHVzYSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgcGVyIGFubnVsbGFyZSBsJ29wZXJhemlvbmUgZGkgY2hlcnJ5LXBpY2spIgorCisjOiB3dC1zdGF0dXMuYzoxNDQ5Cittc2dpZCAiUmV2ZXJ0IGN1cnJlbnRseSBpbiBwcm9ncmVzcy4iCittc2dzdHIgIlJldmVydCBpbiBjb3Jzby4iCisKKyM6IHd0LXN0YXR1cy5jOjE0NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iCittc2dzdHIgIkF0dHVhbG1lbnRlIHN0YWkgZXNlZ3VlbmRvIGlsIHJldmVydCBkZWwgY29tbWl0ICVzLiIKKworIzogd3Qtc3RhdHVzLmM6MTQ1OAorbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiICAocmlzb2x2aSBpIGNvbmZsaXR0aSBlZCBlc2VndWkgXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCisKKyM6IHd0LXN0YXR1cy5jOjE0NjEKK21zZ2lkICIgIChydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIiB0byBjb250aW51ZSkiCittc2dzdHIgIiAgKGVzZWd1aSBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiIHBlciBjb250aW51YXJlKSIKKworIzogd3Qtc3RhdHVzLmM6MTQ2NAorbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiIgorIiAgKHR1dHRpIGkgY29uZmxpdHRpIHNvbm8gc3RhdGkgcmlzb2x0aTogZXNlZ3VpIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgorCisjOiB3dC1zdGF0dXMuYzoxNDY2Cittc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgorbXNnc3RyICIgICh1c2EgXCJnaXQgcmV2ZXJ0IC0tc2tpcFwiIHBlciBzYWx0YXJlIHF1ZXN0YSBwYXRjaCkiCisKKyM6IHd0LXN0YXR1cy5jOjE0NjgKK21zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgorbXNnc3RyICIgICh1c2EgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiBwZXIgYW5udWxsYXJlIGwnb3BlcmF6aW9uZSBkaSByZXZlcnQpIgorCisjOiB3dC1zdGF0dXMuYzoxNDc4CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKK21zZ3N0ciAiQXR0dWFsbWVudGUgc3RhaSBlc2VndWVuZG8gdW5hIGJpc2V6aW9uZSBwYXJ0ZW5kbyBkYWwgYnJhbmNoICclcycuIgorCisjOiB3dC1zdGF0dXMuYzoxNDgyCittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLiIKK21zZ3N0ciAiQXR0dWFsbWVudGUgc3RhaSBlc2VndWVuZG8gdW5hIGJpc2V6aW9uZS4iCisKKyM6IHd0LXN0YXR1cy5jOjE0ODUKK21zZ2lkICIgICh1c2UgXCJnaXQgYmlzZWN0IHJlc2V0XCIgdG8gZ2V0IGJhY2sgdG8gdGhlIG9yaWdpbmFsIGJyYW5jaCkiCittc2dzdHIgIiAgKHVzYSBcImdpdCBiaXNlY3QgcmVzZXRcIiBwZXIgdG9ybmFyZSBhbCBicmFuY2ggb3JpZ2luYXJpbykiCisKKyM6IHd0LXN0YXR1cy5jOjE2OTQKK21zZ2lkICJPbiBicmFuY2ggIgorbXNnc3RyICJTdWwgYnJhbmNoICIKKworIzogd3Qtc3RhdHVzLmM6MTcwMQorbXNnaWQgImludGVyYWN0aXZlIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCittc2dzdHIgInJlYmFzZSBpbnRlcmF0dGl2byBpbiBjb3JzbyBzdSAiCisKKyM6IHd0LXN0YXR1cy5jOjE3MDMKK21zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgorbXNnc3RyICJyZWJhc2UgaW4gY29yc28gc3UgIgorCisjOiB3dC1zdGF0dXMuYzoxNzEzCittc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKK21zZ3N0ciAiQXR0dWFsbWVudGUgbm9uIHNlaSBzdSBhbGN1biBicmFuY2guIgorCisjOiB3dC1zdGF0dXMuYzoxNzMwCittc2dpZCAiSW5pdGlhbCBjb21taXQiCittc2dzdHIgIkNvbW1pdCBpbml6aWFsZSIKKworIzogd3Qtc3RhdHVzLmM6MTczMQorbXNnaWQgIk5vIGNvbW1pdHMgeWV0IgorbXNnc3RyICJOb24gY2kgc29ubyBhbmNvcmEgY29tbWl0IgorCisjOiB3dC1zdGF0dXMuYzoxNzQ1Cittc2dpZCAiVW50cmFja2VkIGZpbGVzIgorbXNnc3RyICJGaWxlIG5vbiB0cmFjY2lhdGkiCisKKyM6IHd0LXN0YXR1cy5jOjE3NDcKK21zZ2lkICJJZ25vcmVkIGZpbGVzIgorbXNnc3RyICJGaWxlIGlnbm9yYXRpIgorCisjOiB3dC1zdGF0dXMuYzoxNzUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCisibWF5IHNwZWVkIGl0IHVwLCBidXQgeW91IGhhdmUgdG8gYmUgY2FyZWZ1bCBub3QgdG8gZm9yZ2V0IHRvIGFkZFxuIgorIm5ldyBmaWxlcyB5b3Vyc2VsZiAoc2VlICdnaXQgaGVscCBzdGF0dXMnKS4iCittc2dzdHIgIiIKKyJTb25vIHN0YXRpIG5lY2Vzc2FyaSAlLjJmIHNlY29uZGkgcGVyIGVsZW5jYXJlIGkgZmlsZSBub25cbiIKKyJ0cmFjY2lhdGkuICdzdGF0dXMgLXVubycgcG90cmViYmUgdmVsb2NpenphcmUgdGFsZSBvcGVyYXppb25lLFxuIgorIm1hIGRldmkgc3RhcmUgYXR0ZW50byBhIG5vbiBkaW1lbnRpY2FydGkgZGkgYWdnaXVuZ2VyZVxuIgorImF1dG9ub21hbWVudGUgaSBmaWxlIG51b3ZpICh2ZWRpICdnaXQgaGVscCBzdGF0dXMnKS4iCisKKyM6IHd0LXN0YXR1cy5jOjE3NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKK21zZ3N0ciAiRmlsZSBub24gdHJhY2NpYXRpIG5vbiBlbGVuY2F0aSVzIgorCisjOiB3dC1zdGF0dXMuYzoxNzU5Cittc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKK21zZ3N0ciAiICh1c2EgbCdvcHppb25lIC11IHBlciB2aXN1YWxpenphcmUgaSBmaWxlIG5vbiB0cmFjY2lhdGkpIgorCisjOiB3dC1zdGF0dXMuYzoxNzY1Cittc2dpZCAiTm8gY2hhbmdlcyIKK21zZ3N0ciAiTmVzc3VuYSBtb2RpZmljYSIKKworIzogd3Qtc3RhdHVzLmM6MTc3MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKK21zZ3N0ciAiIgorIm5lc3N1bmEgbW9kaWZpY2EgYWdnaXVudGEgYWwgY29tbWl0ICh1c2EgXCJnaXQgYWRkXCIgZS9vIFwiZ2l0IGNvbW1pdCAtYVwiKVxuIgorCisjOiB3dC1zdGF0dXMuYzoxNzczCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCittc2dzdHIgIm5lc3N1bmEgbW9kaWZpY2EgYWdnaXVudGEgYWwgY29tbWl0XG4iCisKKyM6IHd0LXN0YXR1cy5jOjE3NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5vdGhpbmcgYWRkZWQgdG8gY29tbWl0IGJ1dCB1bnRyYWNrZWQgZmlsZXMgcHJlc2VudCAodXNlIFwiZ2l0IGFkZFwiIHRvICIKKyJ0cmFjaylcbiIKK21zZ3N0ciAiIgorIm5vbiDDqCBzdGF0byBhZ2dpdW50byBudWxsYSBhbCBjb21taXQgbWEgc29ubyBwcmVzZW50aSBmaWxlIG5vbiB0cmFjY2lhdGkgIgorIih1c2EgXCJnaXQgYWRkXCIgcGVyIHRyYWNjaWFybGkpXG4iCisKKyM6IHd0LXN0YXR1cy5jOjE3NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50XG4iCittc2dzdHIgIiIKKyJub24gw6ggc3RhdG8gYWdnaXVudG8gbnVsbGEgYWwgY29tbWl0IG1hIHNvbm8gcHJlc2VudGkgZmlsZSBub24gdHJhY2NpYXRpXG4iCisKKyM6IHd0LXN0YXR1cy5jOjE3ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCittc2dzdHIgIiIKKyJub24gYyfDqCBudWxsYSBkaSBjdWkgZXNlZ3VpcmUgaWwgY29tbWl0IChjcmVhL2NvcGlhIGRlaSBmaWxlIGUgdXNhIFwiZ2l0IGFkZCIKKyJcIiBwZXIgdHJhY2NpYXJsaSlcbiIKKworIzogd3Qtc3RhdHVzLmM6MTc4NSB3dC1zdGF0dXMuYzoxNzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0XG4iCittc2dzdHIgIm5vbiBjJ8OoIG51bGxhIGRpIGN1aSBlc2VndWlyZSBpbCBjb21taXRcbiIKKworIzogd3Qtc3RhdHVzLmM6MTc4OAorIywgYy1mb3JtYXQKK21zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKVxuIgorbXNnc3RyICIiCisibm9uIGMnw6ggbnVsbGEgZGkgY3VpIGVzZWd1aXJlIGlsIGNvbW1pdCAodXNhIC11IHBlciB2aXN1YWxpenphcmUgaSBmaWxlIG5vbiAiCisidHJhY2NpYXRpKVxuIgorCisjOiB3dC1zdGF0dXMuYzoxNzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIKK21zZ3N0ciAibm9uIGMnw6ggbnVsbGEgZGkgY3VpIGVzZWd1aXJlIGlsIGNvbW1pdCwgbCdhbGJlcm8gZGkgbGF2b3JvIMOoIHB1bGl0b1xuIgorCisjOiB3dC1zdGF0dXMuYzoxOTA1Cittc2dpZCAiTm8gY29tbWl0cyB5ZXQgb24gIgorbXNnc3RyICJOb24gY2kgc29ubyBhbmNvcmEgY29tbWl0IHN1IgorCisjOiB3dC1zdGF0dXMuYzoxOTA5Cittc2dpZCAiSEVBRCAobm8gYnJhbmNoKSIKK21zZ3N0ciAiSEVBRCAobmVzc3VuIGJyYW5jaCkiCisKKyM6IHd0LXN0YXR1cy5jOjE5NDAKK21zZ2lkICJkaWZmZXJlbnQiCittc2dzdHIgImRpZmZlcmVudGUiCisKKyM6IHd0LXN0YXR1cy5jOjE5NDIgd3Qtc3RhdHVzLmM6MTk1MAorbXNnaWQgImJlaGluZCAiCittc2dzdHIgImluZGlldHJvICIKKworIzogd3Qtc3RhdHVzLmM6MTk0NSB3dC1zdGF0dXMuYzoxOTQ4Cittc2dpZCAiYWhlYWQgIgorbXNnc3RyICJhdmFudGkgIgorCisjLiBUUkFOU0xBVE9SUzogdGhlIGFjdGlvbiBpcyBlLmcuICJwdWxsIHdpdGggcmViYXNlIgorIzogd3Qtc3RhdHVzLmM6MjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgJXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSAlczogY2kgc29ubyBkZWxsZSBtb2RpZmljaGUgbm9uIGluIHN0YWdpbmcuIgorCisjOiB3dC1zdGF0dXMuYzoyNDc2Cittc2dpZCAiYWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICIiCisiaW5vbHRyZSwgbCdpbmRpY2UgY29udGllbmUgbW9kaWZpY2hlIGRpIGN1aSBub24gw6ggc3RhdG8gZXNlZ3VpdG8gaWwgY29tbWl0LiIKKworIzogd3Qtc3RhdHVzLmM6MjQ3OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgJXM6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKyJpbXBvc3NpYmlsZSBlc2VndWlyZSAlczogbCdpbmRpY2UgY29udGllbmUgbW9kaWZpY2hlIGRpIGN1aSBub24gw6ggc3RhdG8gIgorImVzZWd1aXRvIGlsIGNvbW1pdC4iCisKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1OCBidWlsdGluL2Nsb25lLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKK21zZ3N0ciAidW5saW5rIGRpICclcycgbm9uIHJpdXNjaXRvIgorCisjOiBidWlsdGluL2FkZC5jOjI2Cittc2dpZCAiZ2l0IGFkZCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCittc2dzdHIgImdpdCBhZGQgWzxvcHppb25pPl0gWy0tXSA8c3BlY2lmaWNhdG9yZSBwZXJjb3Jzbz4uLi4iCisKKyM6IGJ1aWx0aW4vYWRkLmM6ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBkaWZmIHN0YXR1cyAlYyIKK21zZ3N0ciAic3RhdG8gZGlmZiBpbmF0dGVzbyAlYyIKKworIzogYnVpbHRpbi9hZGQuYzo5MiBidWlsdGluL2NvbW1pdC5jOjI4OAorbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKK21zZ3N0ciAiYWdnaW9ybmFtZW50byBkZWkgZmlsZSBub24gcml1c2NpdG8iCisKKyM6IGJ1aWx0aW4vYWRkLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92ZSAnJXMnXG4iCittc2dzdHIgImVsaW1pbmEgJyVzJ1xuIgorCisjOiBidWlsdGluL2FkZC5jOjE3NworbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVmcmVzaGluZyB0aGUgaW5kZXg6IgorbXNnc3RyICJNb2RpZmljaGUgbm9uIG5lbGwnYXJlYSBkaSBzdGFnaW5nIGRvcG8gbCdhZ2dpb3JuYW1lbnRvIGRlbGwnaW5kaWNlOiIKKworIzogYnVpbHRpbi9hZGQuYzoyNTIgYnVpbHRpbi9yZXYtcGFyc2UuYzo4OTkKK21zZ2lkICJDb3VsZCBub3QgcmVhZCB0aGUgaW5kZXgiCittc2dzdHIgIkltcG9zc2liaWxlIGxlZ2dlcmUgbCdpbmRpY2UiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmcuIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgJyVzJyBpbiBzY3JpdHR1cmEuIgorCisjOiBidWlsdGluL2FkZC5jOjI2NworbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgc2NyaXZlcmUgbGEgcGF0Y2giCisKKyM6IGJ1aWx0aW4vYWRkLmM6MjcwCittc2dpZCAiZWRpdGluZyBwYXRjaCBmYWlsZWQiCittc2dzdHIgIm1vZGlmaWNhIGRlbGxhIHBhdGNoIG5vbiByaXVzY2l0YSIKKworIzogYnVpbHRpbi9hZGQuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHN0YXQgJyVzJyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgZXNlZ3VpcmUgbG8gc3RhdCBkaSAnJXMnIgorCisjOiBidWlsdGluL2FkZC5jOjI3NQorbXNnaWQgIkVtcHR5IHBhdGNoLiBBYm9ydGVkLiIKK21zZ3N0ciAiUGF0Y2ggdnVvdGEuIE9wZXJhemlvbmUgaW50ZXJyb3R0YS4iCisKKyM6IGJ1aWx0aW4vYWRkLmM6MjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAnJXMnIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhcHBsaWNhcmUgJyVzJyIKKworIzogYnVpbHRpbi9hZGQuYzoyODgKK21zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCittc2dzdHIgIkkgc2VndWVudGkgcGVyY29yc2kgc29ubyBpZ25vcmF0aSBkYSB1bm8gZGVpIGZpbGUgLmdpdGlnbm9yZTpcbiIKKworIzogYnVpbHRpbi9hZGQuYzozMDggYnVpbHRpbi9jbGVhbi5jOjkxMCBidWlsdGluL2ZldGNoLmM6MTYzIGJ1aWx0aW4vbXYuYzoxMjQKKyM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTYgYnVpbHRpbi9wdWxsLmM6MjIzIGJ1aWx0aW4vcHVzaC5jOjU0OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzQ0IGJ1aWx0aW4vcm0uYzoyNDEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjUKK21zZ2lkICJkcnkgcnVuIgorbXNnc3RyICJ0ZXN0IGNvbnRyb2xsYXRvIgorCisjOiBidWlsdGluL2FkZC5jOjMxMQorbXNnaWQgImludGVyYWN0aXZlIHBpY2tpbmciCittc2dzdHIgInNjZWx0YSBpbnRlcmF0dGl2YSIKKworIzogYnVpbHRpbi9hZGQuYzozMTIgYnVpbHRpbi9jaGVja291dC5jOjE0ODIgYnVpbHRpbi9yZXNldC5jOjMwNworbXNnaWQgInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IgorbXNnc3RyICJzZWxlemlvbmEgZ2xpIGh1bmsgaW4gbW9kYWxpdMOgIGludGVyYXR0aXZhIgorCisjOiBidWlsdGluL2FkZC5jOjMxMworbXNnaWQgImVkaXQgY3VycmVudCBkaWZmIGFuZCBhcHBseSIKK21zZ3N0ciAibW9kaWZpY2EgaWwgZGlmZiBjb3JyZW50ZSBlIGFwcGxpY2FsbyIKKworIzogYnVpbHRpbi9hZGQuYzozMTQKK21zZ2lkICJhbGxvdyBhZGRpbmcgb3RoZXJ3aXNlIGlnbm9yZWQgZmlsZXMiCittc2dzdHIgImNvbnNlbnRpIGwnYWdnaXVudGEgZGkgZmlsZSBhbHRyaW1lbnRpIGlnbm9yYXRpIgorCisjOiBidWlsdGluL2FkZC5jOjMxNQorbXNnaWQgInVwZGF0ZSB0cmFja2VkIGZpbGVzIgorbXNnc3RyICJhZ2dpb3JuYSBpIGZpbGUgdHJhY2NpYXRpIgorCisjOiBidWlsdGluL2FkZC5jOjMxNgorbXNnaWQgInJlbm9ybWFsaXplIEVPTCBvZiB0cmFja2VkIGZpbGVzIChpbXBsaWVzIC11KSIKK21zZ3N0ciAicmlub3JtYWxpenphIGkgZmluZSByaWdhIGRlaSBmaWxlIHRyYWNjaWF0aSAoaW1wbGljYSAtdSkiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzE3Cittc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCB0aGUgcGF0aCB3aWxsIGJlIGFkZGVkIGxhdGVyIgorbXNnc3RyICJzYWx2YSBzb2xvIGlsIGZhdHRvIGNoZSBpbCBwZXJjb3JzbyBzYXLDoCBhZ2dpdW50byBzdWNjZXNzaXZhbWVudGUiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzE4Cittc2dpZCAiYWRkIGNoYW5nZXMgZnJvbSBhbGwgdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgorbXNnc3RyICJhZ2dpdW5naSBsZSBtb2RpZmljaGUgZGEgdHV0dGkgaSBmaWxlIHRyYWNjaWF0aSBlIG5vbiIKKworIzogYnVpbHRpbi9hZGQuYzozMjEKK21zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKK21zZ3N0ciAiaWdub3JhIGkgcGVyY29yc2kgZWxpbWluYXRpIG5lbGwnYWxiZXJvIGRpIGxhdm9ybyAoY29tZSAtLW5vLWFsbCkiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzIzCittc2dpZCAiZG9uJ3QgYWRkLCBvbmx5IHJlZnJlc2ggdGhlIGluZGV4IgorbXNnc3RyICJub24gZXNlZ3VpcmUgbCdhZ2dpdW50YSwgYWdnaW9ybmEgc29sbyBsJ2luZGljZSIKKworIzogYnVpbHRpbi9hZGQuYzozMjQKK21zZ2lkICJqdXN0IHNraXAgZmlsZXMgd2hpY2ggY2Fubm90IGJlIGFkZGVkIGJlY2F1c2Ugb2YgZXJyb3JzIgorbXNnc3RyICIiCisic2FsdGEgc2VtcGxpY2VtZW50ZSBpIGZpbGUgY2hlIG5vbiBwb3Nzb25vIGVzc2VyZSBhZ2dpdW50aSBhIGNhdXNhIGRpIGVycm9yaSIKKworIzogYnVpbHRpbi9hZGQuYzozMjUKK21zZ2lkICJjaGVjayBpZiAtIGV2ZW4gbWlzc2luZyAtIGZpbGVzIGFyZSBpZ25vcmVkIGluIGRyeSBydW4iCittc2dzdHIgIiIKKyJjb250cm9sbGEgc2UgaSBmaWxlIC0gYW5jaGUgcXVlbGxpIG1hbmNhbnRpIC0gc29ubyBpZ25vcmF0aSBkdXJhbnRlIGlsIHRlc3QgIgorImNvbnRyb2xsYXRvIgorCisjOiBidWlsdGluL2FkZC5jOjMyNyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDQKK21zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKK21zZ3N0ciAiZXNlZ3VpIGwnb3ZlcnJpZGUgZGVsIGJpdCBlc2VndWliaWxlIGRlaSBmaWxlIGVsZW5jYXRpIgorCisjOiBidWlsdGluL2FkZC5jOjMyOQorbXNnaWQgIndhcm4gd2hlbiBhZGRpbmcgYW4gZW1iZWRkZWQgcmVwb3NpdG9yeSIKK21zZ3N0ciAiZW1ldHRpIHVuIGF2dmlzbyBxdWFuZG8gc2kgYWdnaXVuZ2UgdW4gcmVwb3NpdG9yeSBpbmNvcnBvcmF0byIKKworIzogYnVpbHRpbi9hZGQuYzozNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSd2ZSBhZGRlZCBhbm90aGVyIGdpdCByZXBvc2l0b3J5IGluc2lkZSB5b3VyIGN1cnJlbnQgcmVwb3NpdG9yeS5cbiIKKyJDbG9uZXMgb2YgdGhlIG91dGVyIHJlcG9zaXRvcnkgd2lsbCBub3QgY29udGFpbiB0aGUgY29udGVudHMgb2ZcbiIKKyJ0aGUgZW1iZWRkZWQgcmVwb3NpdG9yeSBhbmQgd2lsbCBub3Qga25vdyBob3cgdG8gb2J0YWluIGl0LlxuIgorIklmIHlvdSBtZWFudCB0byBhZGQgYSBzdWJtb2R1bGUsIHVzZTpcbiIKKyJcbiIKKyJcdGdpdCBzdWJtb2R1bGUgYWRkIDx1cmw+ICVzXG4iCisiXG4iCisiSWYgeW91IGFkZGVkIHRoaXMgcGF0aCBieSBtaXN0YWtlLCB5b3UgY2FuIHJlbW92ZSBpdCBmcm9tIHRoZVxuIgorImluZGV4IHdpdGg6XG4iCisiXG4iCisiXHRnaXQgcm0gLS1jYWNoZWQgJXNcbiIKKyJcbiIKKyJTZWUgXCJnaXQgaGVscCBzdWJtb2R1bGVcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIiIKKyJIYWkgYWdnaXVudG8gdW4gYWx0cm8gcmVwb3NpdG9yeSBHaXQgYWxsJ2ludGVybm8gZGVsIHJlcG9zaXRvcnlcbiIKKyJjb3JyZW50ZS4gSSBjbG9uaSBkZWwgcmVwb3NpdG9yeSBlc3Rlcm5vIG5vbiBjb250ZXJyYW5ubyBpXG4iCisiY29udGVudXRpIGRlbCByZXBvc2l0b3J5IGluY29ycG9yYXRvIGUgbm9uIHNhcHJhbm5vIGNvbWUgb3R0ZW5lcmxpLlxuIgorIlNlIGludGVuZGV2aSBhZ2dpdW5nZXJlIHVuIHNvdHRvbW9kdWxvLCB1c2E6XG4iCisiXG4iCisiXHRnaXQgc3VibW9kdWxlIGFkZCA8dXJsPiAlc1xuIgorIlxuIgorIlNlIGhhaSBhZ2dpdW50byBxdWVzdG8gcGVyY29yc28gcGVyIGVycm9yZSwgcHVvaSByaW11b3ZlcmxvXG4iCisiZGFsbCdpbmRpY2UgY29uOlxuIgorIlxuIgorIlx0Z2l0IHJtIC0tY2FjaGVkICVzXG4iCisiXG4iCisiVmVkaSBcImdpdCBoZWxwIHN1Ym1vZHVsZVwiIHBlciB1bHRlcmlvcmkgaW5mb3JtYXppb25pLiIKKworIzogYnVpbHRpbi9hZGQuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWRkaW5nIGVtYmVkZGVkIGdpdCByZXBvc2l0b3J5OiAlcyIKK21zZ3N0ciAiYWdnaXVudGEgcmVwb3NpdG9yeSBHaXQgaW5jb3Jwb3JhdG8gaW4gY29yc286ICVzIgorCisjOiBidWlsdGluL2FkZC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCB0aGVtLlxuIgorbXNnc3RyICJVc2EgLWYgc2UgdnVvaSBkYXZ2ZXJvIGFnZ2l1bmdlcmxpLlxuIgorCisjOiBidWlsdGluL2FkZC5jOjQwMAorbXNnaWQgImFkZGluZyBmaWxlcyBmYWlsZWQiCittc2dzdHIgImFnZ2l1bnRhIGRlaSBmaWxlIG5vbiByaXVzY2l0YSIKKworIzogYnVpbHRpbi9hZGQuYzo0MjggYnVpbHRpbi9jb21taXQuYzozNDgKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWludGVyYWN0aXZlLy0tcGF0Y2giCittc2dzdHIgIi0tcGF0aHNwZWMtZnJvbS1maWxlIG5vbiDDqCBjb21wYXRpYmlsZSBjb24gLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIgorCisjOiBidWlsdGluL2FkZC5jOjQzNAorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tZWRpdCIKK21zZ3N0ciAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgbm9uIMOoIGNvbXBhdGliaWxlIGNvbiAtLWVkaXQiCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDQ2Cittc2dpZCAiLUEgYW5kIC11IGFyZSBtdXR1YWxseSBpbmNvbXBhdGlibGUiCittc2dzdHIgIi1BIGUgLXUgbm9uIHNvbm8gY29tcGF0aWJpbGkgZnJhIGxvcm8iCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDQ5Cittc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKK21zZ3N0ciAiTCdvcHppb25lIC0taWdub3JlLW1pc3NpbmcgcHXDsiBlc3NlcmUgdXNhdGEgc29sbyBjb24gLS1kcnktcnVuIgorCisjOiBidWlsdGluL2FkZC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICItLWNobW9kIHBhcmFtICclcycgbXVzdCBiZSBlaXRoZXIgLXggb3IgK3giCittc2dzdHIgIklsIHBhcmFtZXRybyAtLWNobW9kICclcycgZGV2ZSBlc3NlcmUgLXggbyAreCIKKworIzogYnVpbHRpbi9hZGQuYzo0NzEgYnVpbHRpbi9jaGVja291dC5jOjE2NDggYnVpbHRpbi9jb21taXQuYzozNTQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMjcKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCBwYXRoc3BlYyBhcmd1bWVudHMiCittc2dzdHIgIiIKKyItLXBhdGhzcGVjLWZyb20tZmlsZSBub24gw6ggY29tcGF0aWJpbGUgY29uIGdsaSBhcmdvbWVudGkgc3BlY2lmaWNhdG9yZSIKKyIgcGVyY29yc28iCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDc4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjYwIGJ1aWx0aW4vY29tbWl0LmM6MzYwCisjOiBidWlsdGluL3Jlc2V0LmM6MzMzCittc2dpZCAiLS1wYXRoc3BlYy1maWxlLW51bCByZXF1aXJlcyAtLXBhdGhzcGVjLWZyb20tZmlsZSIKK21zZ3N0ciAiLS1wYXRoc3BlYy1maWxlLW51bCByaWNoaWVkZSAtLXBhdGhzcGVjLWZyb20tZmlsZSIKKworIzogYnVpbHRpbi9hZGQuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuXG4iCittc2dzdHIgIk5vbiDDqCBzdGF0byBzcGVjaWZpY2F0byBudWxsYSwgbm9uIMOoIHN0YXRvIGFnZ2l1bnRvIG51bGxhLlxuIgorCisjOiBidWlsdGluL2FkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKK21zZ3N0ciAiRm9yc2UgaW50ZW5kZXZpIGRpcmUgJ2dpdCBhZGQgLic/XG4iCisKKyM6IGJ1aWx0aW4vYW0uYzozNDcKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgYXV0aG9yIHNjcmlwdCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSBsbyBzY3JpcHQgYXV0aG9yIgorCisjOiBidWlsdGluL2FtLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgd2FzIGRlbGV0ZWQgYnkgdGhlIGFwcGx5cGF0Y2gtbXNnIGhvb2siCittc2dzdHIgIiclcycgw6ggc3RhdG8gZWxpbWluYXRvIGRhbGwnaG9vayBhcHBseXBhdGNoLW1zZyIKKworIzogYnVpbHRpbi9hbS5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJNYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCittc2dzdHIgIlJpZ2EgZGkgaW5wdXQgbWFsZm9ybWF0YTogJyVzJy4iCisKKyM6IGJ1aWx0aW4vYW0uYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCittc2dzdHIgIkNvcGlhIGRlbGxlIG5vdGUgZGEgJyVzJyBhICclcycgbm9uIHJpdXNjaXRhIgorCisjOiBidWlsdGluL2FtLmM6NTM3Cittc2dpZCAiZnNlZWsgZmFpbGVkIgorbXNnc3RyICJmc2VlayBub24gcml1c2NpdGEiCisKKyM6IGJ1aWx0aW4vYW0uYzo3MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIHBhdGNoICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGFuYWxpenphcmUgbGEgcGF0Y2ggJyVzJyIKKworIzogYnVpbHRpbi9hbS5jOjc5MAorbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgorbXNnc3RyICJQdcOyIGVzc2VyZSBhcHBsaWNhdGEgc29sbyB1bmEgc2VyaWUgZGkgcGF0Y2ggU3RHSVQgcGVyIHZvbHRhIgorCisjOiBidWlsdGluL2FtLmM6ODM4Cittc2dpZCAiaW52YWxpZCB0aW1lc3RhbXAiCittc2dzdHIgInRpbWVzdGFtcCBub24gdmFsaWRvIgorCisjOiBidWlsdGluL2FtLmM6ODQzIGJ1aWx0aW4vYW0uYzo4NTUKK21zZ2lkICJpbnZhbGlkIERhdGUgbGluZSIKK21zZ3N0ciAicmlnYSBEYXRlIG5vbiB2YWxpZGEiCisKKyM6IGJ1aWx0aW4vYW0uYzo4NTAKK21zZ2lkICJpbnZhbGlkIHRpbWV6b25lIG9mZnNldCIKK21zZ3N0ciAib2Zmc2V0IGZ1c28gb3JhcmlvIG5vbiB2YWxpZG8iCisKKyM6IGJ1aWx0aW4vYW0uYzo5NDMKK21zZ2lkICJQYXRjaCBmb3JtYXQgZGV0ZWN0aW9uIGZhaWxlZC4iCittc2dzdHIgIlJpbGV2YW1lbnRvIGRlbCBmb3JtYXRvIGRlbGxhIHBhdGNoIG5vbiByaXVzY2l0by4iCisKKyM6IGJ1aWx0aW4vYW0uYzo5NDggYnVpbHRpbi9jbG9uZS5jOjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgorbXNnc3RyICJjcmVhemlvbmUgZGVsbGEgZGlyZWN0b3J5ICclcycgbm9uIHJpdXNjaXRhIgorCisjOiBidWlsdGluL2FtLmM6OTUzCittc2dpZCAiRmFpbGVkIHRvIHNwbGl0IHBhdGNoZXMuIgorbXNnc3RyICJEaXZpc2lvbmUgZGVsbGUgcGF0Y2ggbm9uIHJpdXNjaXRhLiIKKworIzogYnVpbHRpbi9hbS5jOjEwODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcIiVzIC0tY29udGludWVcIi4iCittc2dzdHIgIlVuYSB2b2x0YSByaXNvbHRvIHF1ZXN0byBwcm9ibGVtYSwgZXNlZ3VpIFwiJXMgLS1jb250aW51ZVwiLiIKKworIzogYnVpbHRpbi9hbS5jOjEwODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcIiVzIC0tc2tpcFwiIGluc3RlYWQuIgorbXNnc3RyICJTZSBwcmVmZXJpc2NpIHNhbHRhcmUgcXVlc3RhIHBhdGNoLCBlc2VndWkgaW52ZWNlIFwiJXMgLS1za2lwXCIuIgorCisjOiBidWlsdGluL2FtLmM6MTA4NgorIywgYy1mb3JtYXQKK21zZ2lkICJUbyByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIHN0b3AgcGF0Y2hpbmcsIHJ1biBcIiVzIC0tYWJvcnRcIi4iCittc2dzdHIgIiIKKyJQZXIgcmlwcmlzdGluYXJlIGlsIGJyYW5jaCBvcmlnaW5hcmlvIGUgdGVybWluYXJlIGlsIHBhdGNoaW5nLCBlc2VndWkgXCIlcyAtLSIKKyJhYm9ydFwiLiIKKworIzogYnVpbHRpbi9hbS5jOjExNjkKK21zZ2lkICJQYXRjaCBzZW50IHdpdGggZm9ybWF0PWZsb3dlZDsgc3BhY2UgYXQgdGhlIGVuZCBvZiBsaW5lcyBtaWdodCBiZSBsb3N0LiIKK21zZ3N0ciAiIgorIlBhdGNoIGludmlhdGEgY29uIGZvcm1hdD1mbG93ZWQ7IGdsaSBzcGF6aSBhbCB0ZXJtaW5lIGRlbGxlIHJpZ2hlIHBvdHJlYmJlcm8gIgorImVzc2VyZSBhbmRhdGkgcGVyZHV0aS4iCisKKyM6IGJ1aWx0aW4vYW0uYzoxMTk3Cittc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIgorbXNnc3RyICJMYSBwYXRjaCDDqCB2dW90YS4iCisKKyM6IGJ1aWx0aW4vYW0uYzoxMjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgYXV0aG9yIGxpbmUgaW4gY29tbWl0ICVzIgorbXNnc3RyICJyaWdhIGF1dG9yZSBtYW5jYW50ZSBuZWwgY29tbWl0ICVzIgorCisjOiBidWlsdGluL2FtLmM6MTI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICUuKnMiCittc2dzdHIgInJpZ2EgaWRlbnQgbm9uIHZhbGlkYTogJS4qcyIKKworIzogYnVpbHRpbi9hbS5jOjE0ODQKK21zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIG5lY2Vzc2FyeSBibG9icyB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIgorbXNnc3RyICIiCisiRGFsIHJlcG9zaXRvcnkgbWFuY2FubyBpIGJsb2IgbmVjZXNzYXJpIHBlciByaXBpZWdhcmUgc3VsIG1lcmdlIGEgdHJlIHZpZS4iCisKKyM6IGJ1aWx0aW4vYW0uYzoxNDg2Cittc2dpZCAiVXNpbmcgaW5kZXggaW5mbyB0byByZWNvbnN0cnVjdCBhIGJhc2UgdHJlZS4uLiIKK21zZ3N0ciAiIgorIlV0aWxpenpvIGxlIGluZm9ybWF6aW9uaSBkZWxsJ2luZGljZSBwZXIgcmljb3N0cnVpcmUgdW4gYWxiZXJvIGRpIGJhc2UuLi4iCisKKyM6IGJ1aWx0aW4vYW0uYzoxNTA1Cittc2dpZCAiIgorIkRpZCB5b3UgaGFuZCBlZGl0IHlvdXIgcGF0Y2g/XG4iCisiSXQgZG9lcyBub3QgYXBwbHkgdG8gYmxvYnMgcmVjb3JkZWQgaW4gaXRzIGluZGV4LiIKK21zZ3N0ciAiIgorIkhhaSBtb2RpZmljYXRvIG1hbnVhbG1lbnRlIGxhIHBhdGNoP1xuIgorIk5vbiBwdcOyIGVzc2VyZSBhcHBsaWNhdGEgYWkgYmxvYiByZWdpc3RyYXRpIG5lbCBzdW8gaW5kaWNlLiIKKworIzogYnVpbHRpbi9hbS5jOjE1MTEKK21zZ2lkICJGYWxsaW5nIGJhY2sgdG8gcGF0Y2hpbmcgYmFzZSBhbmQgMy13YXkgbWVyZ2UuLi4iCittc2dzdHIgIlJpcGllZ28gc3VsIHBhdGNoaW5nIGRlbGxhIGJhc2UgZSBzdWwgbWVyZ2UgYSB0cmUgdmllLi4uIgorCisjOiBidWlsdGluL2FtLmM6MTUzNworbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4iCittc2dzdHIgIk1lcmdlIGRlbGxlIG1vZGlmaWNoZSBub24gcml1c2NpdG8uIgorCisjOiBidWlsdGluL2FtLmM6MTU2OQorbXNnaWQgImFwcGx5aW5nIHRvIGFuIGVtcHR5IGhpc3RvcnkiCittc2dzdHIgImFwcGxpY2F6aW9uZSBhIHVuYSBjcm9ub2xvZ2lhIHZ1b3RhIgorCisjOiBidWlsdGluL2FtLmM6MTYxNiBidWlsdGluL2FtLmM6MTYyMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVzdW1lOiAlcyBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgImltcG9zc2liaWxlIHJpcHJlbmRlcmUgbCdhdHRpdml0w6A6ICVzIG5vbiBlc2lzdGUuIgorCisjOiBidWlsdGluL2FtLmM6MTYzOAorbXNnaWQgIkNvbW1pdCBCb2R5IGlzOiIKK21zZ3N0ciAiSWwgY29ycG8gZGVsIGNvbW1pdCDDqDoiCisKKyMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbeV0sIFtuXSwgW2VdLCBbdl0gYW5kIFthXQorIy4gaW4geW91ciB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoCisjLiBpbnB1dCBhdCB0aGlzIHBvaW50LgorIy4KKyM6IGJ1aWx0aW4vYW0uYzoxNjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGx5PyBbeV1lcy9bbl1vL1tlXWRpdC9bdl1pZXcgcGF0Y2gvW2FdY2NlcHQgYWxsOiAiCittc2dzdHIgIiIKKyJBcHBsaWNvPyBTw6wgW3ldL05vIFtuXS9Nb2RpZmljYSBbZV0vW1ZdaXN1YWxpenphIHBhdGNoL1tBXWNjZXR0YSB0dXR0bzoiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNjk1IGJ1aWx0aW4vY29tbWl0LmM6Mzk0Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGluZGV4IGZpbGUiCittc2dzdHIgImltcG9zc2liaWxlIHNjcml2ZXJlIGlsIGZpbGUgaW5kaWNlIgorCisjOiBidWlsdGluL2FtLmM6MTY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJ0eSBpbmRleDogY2Fubm90IGFwcGx5IHBhdGNoZXMgKGRpcnR5OiAlcykiCittc2dzdHIgIkluZGljZSBzcG9yY286IGltcG9zc2liaWxlIGFwcGxpY2FyZSBsZSBwYXRjaCAoZWxlbWVudG8gc3BvcmNvOiAlcykiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNzM5IGJ1aWx0aW4vYW0uYzoxODA3CisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGx5aW5nOiAlLipzIgorbXNnc3RyICJBcHBsaWNhemlvbmUgaW4gY29yc286ICUuKnMiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNzU2Cittc2dpZCAiTm8gY2hhbmdlcyAtLSBQYXRjaCBhbHJlYWR5IGFwcGxpZWQuIgorbXNnc3RyICJOZXNzdW5hIG1vZGlmaWNhIC0tIHBhdGNoIGdpw6AgYXBwbGljYXRhLiIKKworIzogYnVpbHRpbi9hbS5jOjE3NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGF0Y2ggZmFpbGVkIGF0ICVzICUuKnMiCittc2dzdHIgIlBhdGNoIG5vbiByaXVzY2l0YSBhICVzICUuKnMiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNzY2Cittc2dpZCAiVXNlICdnaXQgYW0gLS1zaG93LWN1cnJlbnQtcGF0Y2gnIHRvIHNlZSB0aGUgZmFpbGVkIHBhdGNoIgorbXNnc3RyICIiCisiVXNhICdnaXQgYW0gLS1zaG93LWN1cnJlbnQtcGF0Y2gnIHBlciB2aXN1YWxpenphcmUgbGEgcGF0Y2ggbm9uIHJpdXNjaXRhIgorCisjOiBidWlsdGluL2FtLmM6MTgxMAorbXNnaWQgIiIKKyJObyBjaGFuZ2VzIC0gZGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz9cbiIKKyJJZiB0aGVyZSBpcyBub3RoaW5nIGxlZnQgdG8gc3RhZ2UsIGNoYW5jZXMgYXJlIHRoYXQgc29tZXRoaW5nIGVsc2VcbiIKKyJhbHJlYWR5IGludHJvZHVjZWQgdGhlIHNhbWUgY2hhbmdlczsgeW91IG1pZ2h0IHdhbnQgdG8gc2tpcCB0aGlzIHBhdGNoLiIKK21zZ3N0ciAiIgorIk5lc3N1bmEgbW9kaWZpY2EgLSB0aSBzZWkgZGltZW50aWNhdG8gZGkgdXNhcmUgJ2dpdCBhZGQnP1xuIgorIlNlIG5vbiByaW1hbmUgbnVsbGEgZGEgYWdnaXVuZ2VyZSBhbGwnYXJlYSBkaSBzdGFnaW5nLCBmb3JzZSBxdWFsY29zJ2FsdHJvXG4iCisiaGEgZ2nDoCBpbnRyb2RvdHRvIGxlIHN0ZXNzZSBtb2RpZmljaGU7IHBvdHJlc3RpIHZvbGVyIHNhbHRhcmUgcXVlc3RhIHBhdGNoLiIKKworIzogYnVpbHRpbi9hbS5jOjE4MTcKK21zZ2lkICIiCisiWW91IHN0aWxsIGhhdmUgdW5tZXJnZWQgcGF0aHMgaW4geW91ciBpbmRleC5cbiIKKyJZb3Ugc2hvdWxkICdnaXQgYWRkJyBlYWNoIGZpbGUgd2l0aCByZXNvbHZlZCBjb25mbGljdHMgdG8gbWFyayB0aGVtIGFzICIKKyJzdWNoLlxuIgorIllvdSBtaWdodCBydW4gYGdpdCBybWAgb24gYSBmaWxlIHRvIGFjY2VwdCBcImRlbGV0ZWQgYnkgdGhlbVwiIGZvciBpdC4iCittc2dzdHIgIiIKKyJOZWxsJ2luZGljZSBoYWkgYW5jb3JhIGRlaSBwZXJjb3JzaSBkaSBjdWkgbm9uIMOoIHN0YXRvIGVzZWd1aXRvIGlsIG1lcmdlLlxuIgorIkRvdnJlc3RpIGVzZWd1aXJlICdnaXQgYWRkJyBzdSBvZ25pIGZpbGUgaSBjdWkgY29uZmxpdHRpIHNvbm8gc3RhdGkgcmlzb2x0aSAiCisicGVyIGNvbnRyYXNzZWduYXJsaSBjb21lIHRhbGkuXG4iCisiUG90cmVzdGkgZXNlZ3VpcmUgYGdpdCBybWAgc3UgdW4gZmlsZSBwZXIgYWNjZXR0YXJuZSBsYSByaXNvbHV6aW9uZSAiCisiXCJlbGltaW5hdG8gZGEgbG9yb1wiLiIKKworIzogYnVpbHRpbi9hbS5jOjE5MjQgYnVpbHRpbi9hbS5jOjE5MjggYnVpbHRpbi9hbS5jOjE5NDAgYnVpbHRpbi9yZXNldC5jOjM0NgorIzogYnVpbHRpbi9yZXNldC5jOjM1NAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbmFsaXp6YXJlIGwnb2dnZXR0byAnJXMnLiIKKworIzogYnVpbHRpbi9hbS5jOjE5NzYKK21zZ2lkICJmYWlsZWQgdG8gY2xlYW4gaW5kZXgiCittc2dzdHIgInB1bGl6aWEgZGVsbCdpbmRpY2Ugbm9uIHJpdXNjaXRhIgorCisjOiBidWlsdGluL2FtLmM6MjAyMAorbXNnaWQgIiIKKyJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQgc2luY2UgdGhlIGxhc3QgJ2FtJyBmYWlsdXJlLlxuIgorIk5vdCByZXdpbmRpbmcgdG8gT1JJR19IRUFEIgorbXNnc3RyICIiCisiU2VtYnJhIGNoZSB0dSBhYmJpYSBzcG9zdGF0byBIRUFEIGRhbGwndWx0aW1hIGVzZWN1emlvbmUgbm9uIHJpdXNjaXRhIGRpICIKKyInYW0nLlxuIgorIk5vbiByaXRvcm5vIGluZGlldHJvIGEgT1JJR19IRUFEIgorCisjOiBidWlsdGluL2FtLmM6MjExNworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAtLXBhdGNoLWZvcm1hdDogJXMiCittc2dzdHIgIlZhbG9yZSBub24gdmFsaWRvIHBlciAtLXBhdGNoLWZvcm1hdDogJXMiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMTUzCittc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KS4uLl0iCittc2dzdHIgImdpdCBhbSBbPG9wemlvbmk+XSBbKDxtYm94PiB8IDxNYWlsZGlyPikuLi5dIgorCisjOiBidWlsdGluL2FtLmM6MjE1NAorbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgorbXNnc3RyICJnaXQgYW0gWzxvcHppb25pPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKKworIzogYnVpbHRpbi9hbS5jOjIxNjAKK21zZ2lkICJydW4gaW50ZXJhY3RpdmVseSIKK21zZ3N0ciAiZXNlZ3VpIGluIG1vZGFsaXTDoCBpbnRlcmF0dGl2YSIKKworIzogYnVpbHRpbi9hbS5jOjIxNjIKK21zZ2lkICJoaXN0b3JpY2FsIG9wdGlvbiAtLSBuby1vcCIKK21zZ3N0ciAib3B6aW9uZSBzdG9yaWNhIC0tIG5vbiBlc2VndWUgbnVsbGEiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMTY0Cittc2dpZCAiYWxsb3cgZmFsbCBiYWNrIG9uIDN3YXkgbWVyZ2luZyBpZiBuZWVkZWQiCittc2dzdHIgImNvbnNlbnRpIGlsIHJpcGllZ28gc3VsIG1lcmdlIGEgdHJlIHZpZSBzZSBuZWNlc3NhcmlvIgorCisjOiBidWlsdGluL2FtLmM6MjE2NSBidWlsdGluL2luaXQtZGIuYzo0OTQgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1OAorIzogYnVpbHRpbi9yZXBhY2suYzozMDQgYnVpbHRpbi9zdGFzaC5jOjgxMQorbXNnaWQgImJlIHF1aWV0IgorbXNnc3RyICJub24gdmlzdWFsaXp6YXJlIG1lc3NhZ2dpIgorCisjOiBidWlsdGluL2FtLmM6MjE2NworbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnkgbGluZSB0byB0aGUgY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgImFnZ2l1bmdpIHVuYSByaWdhIFNpZ25lZC1vZmYtYnkgYWwgbWVzc2FnZ2lvIGRpIGNvbW1pdCIKKworIzogYnVpbHRpbi9hbS5jOjIxNzAKK21zZ2lkICJyZWNvZGUgaW50byB1dGY4IChkZWZhdWx0KSIKK21zZ3N0ciAiY29udmVydGkgY29kaWZpY2EgaW4gVVRGLTggKGltcG9zdGF6aW9uZSBwcmVkZWZpbml0YSkiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMTcyCittc2dpZCAicGFzcyAtayBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKK21zZ3N0ciAiZm9ybmlzY2kgbCdhcmdvbWVudG8gLWsgYSBnaXQtbWFpbGluZm8iCisKKyM6IGJ1aWx0aW4vYW0uYzoyMTc0Cittc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKK21zZ3N0ciAiZm9ybmlzY2kgbCdhcmdvbWVudG8gLWIgYSBnaXQtbWFpbGluZm8iCisKKyM6IGJ1aWx0aW4vYW0uYzoyMTc2Cittc2dpZCAicGFzcyAtbSBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKK21zZ3N0ciAiZm9ybmlzY2kgbCdhcmdvbWVudG8gLW0gYSBnaXQtbWFpbGluZm8iCisKKyM6IGJ1aWx0aW4vYW0uYzoyMTc4Cittc2dpZCAicGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGZvciBtYm94IGZvcm1hdCIKK21zZ3N0ciAiZm9ybmlzY2kgYSBnaXQtbWFpbHNwbGl0IGwnYXJnb21lbnRvIC0ta2VlcC1jciBwZXIgaWwgZm9ybWF0byBtYm94IgorCisjOiBidWlsdGluL2FtLmM6MjE4MQorbXNnaWQgImRvIG5vdCBwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgaW5kZXBlbmRlbnQgb2YgYW0ua2VlcGNyIgorbXNnc3RyICIiCisibm9uIGZvcm5pcmUgbCdhcmdvbWVudG8gLS1rZWVwLWNyIGEgZ2l0LW1haWxzcGxpdCBpbmRpcGVuZGVudGVtZW50ZSBkYWwgIgorInZhbG9yZSBkaSBhbS5rZWVwY3IiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMTg0Cittc2dpZCAic3RyaXAgZXZlcnl0aGluZyBiZWZvcmUgYSBzY2lzc29ycyBsaW5lIgorbXNnc3RyICJyaW11b3ZpIHR1dHRlIGxlIHJpZ2hlIHByaW1hIGRpIHVuYSByaWdhIFwidGFnbGlhIHF1aVwiIgorCisjOiBidWlsdGluL2FtLmM6MjE4NiBidWlsdGluL2FtLmM6MjE4OSBidWlsdGluL2FtLmM6MjE5MiBidWlsdGluL2FtLmM6MjE5NQorIzogYnVpbHRpbi9hbS5jOjIxOTggYnVpbHRpbi9hbS5jOjIyMDEgYnVpbHRpbi9hbS5jOjIyMDQgYnVpbHRpbi9hbS5jOjIyMDcKKyM6IGJ1aWx0aW4vYW0uYzoyMjEzCittc2dpZCAicGFzcyBpdCB0aHJvdWdoIGdpdC1hcHBseSIKK21zZ3N0ciAicGFzc2EgbCdhcmdvbWVudG8gYSBnaXQtYXBwbHkiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMjAzIGJ1aWx0aW4vY29tbWl0LmM6MTM4NiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzMKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NiBidWlsdGluL2dyZXAuYzo4ODMgYnVpbHRpbi9tZXJnZS5jOjI0OQorIzogYnVpbHRpbi9wdWxsLmM6MTYwIGJ1aWx0aW4vcHVsbC5jOjIxOSBidWlsdGluL3JlYmFzZS5jOjE0NjkKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE1IGJ1aWx0aW4vcmVwYWNrLmM6MzE5IGJ1aWx0aW4vcmVwYWNrLmM6MzIxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUwIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzIgYnVpbHRpbi90YWcuYzo0MDMKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNTQgcGFyc2Utb3B0aW9ucy5oOjE3NSBwYXJzZS1vcHRpb25zLmg6MzE2Cittc2dpZCAibiIKK21zZ3N0ciAibiIKKworIzogYnVpbHRpbi9hbS5jOjIyMDkgYnVpbHRpbi9icmFuY2guYzo2NjEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU1IGJ1aWx0aW4vdGFnLmM6NDM3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4Cittc2dpZCAiZm9ybWF0IgorbXNnc3RyICJmb3JtYXRvIgorCisjOiBidWlsdGluL2FtLmM6MjIxMAorbXNnaWQgImZvcm1hdCB0aGUgcGF0Y2goZXMpIGFyZSBpbiIKK21zZ3N0ciAiaWwgZm9ybWF0byBkZWxsZSBwYXRjaCIKKworIzogYnVpbHRpbi9hbS5jOjIyMTYKK21zZ2lkICJvdmVycmlkZSBlcnJvciBtZXNzYWdlIHdoZW4gcGF0Y2ggZmFpbHVyZSBvY2N1cnMiCittc2dzdHIgIiIKKyJlc2VndWkgbCdvdmVycmlkZSBkZWwgbWVzc2FnZ2lvIGQnZXJyb3JlIHF1YW5kbyBzaSB2ZXJpZmljYSB1biBlcnJvcmUgbGVnYXRvICIKKyJhbGxlIHBhdGNoIgorCisjOiBidWlsdGluL2FtLmM6MjIxOAorbXNnaWQgImNvbnRpbnVlIGFwcGx5aW5nIHBhdGNoZXMgYWZ0ZXIgcmVzb2x2aW5nIGEgY29uZmxpY3QiCittc2dzdHIgIiIKKyJjb250aW51YSBsJ2FwcGxpY2F6aW9uZSBkZWxsZSBwYXRjaCBkb3BvIGxhIHJpc29sdXppb25lIGRpIHVuIGNvbmZsaXR0byIKKworIzogYnVpbHRpbi9hbS5jOjIyMjEKK21zZ2lkICJzeW5vbnltcyBmb3IgLS1jb250aW51ZSIKK21zZ3N0ciAic2lub25pbWkgZGkgLS1jb250aW51ZSIKKworIzogYnVpbHRpbi9hbS5jOjIyMjQKK21zZ2lkICJza2lwIHRoZSBjdXJyZW50IHBhdGNoIgorbXNnc3RyICJzYWx0YSBsYSBwYXRjaCBjb3JyZW50ZSIKKworIzogYnVpbHRpbi9hbS5jOjIyMjcKK21zZ2lkICJyZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIGFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24uIgorbXNnc3RyICJyaXByaXN0aW5hIGlsIGJyYW5jaCBvcmlnaW5hcmlvIGUgaW50ZXJyb21waSBsJ29wZXJhemlvbmUgZGkgcGF0Y2hpbmcuIgorCisjOiBidWlsdGluL2FtLmM6MjIzMAorbXNnaWQgImFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24gYnV0IGtlZXAgSEVBRCB3aGVyZSBpdCBpcy4iCittc2dzdHIgImludGVycm9tcGkgbCdvcGVyYXppb25lIGRpIHBhdGNoaW5nIG1hIG1hbnRpZW5pIEhFQUQgZG92J8OoLiIKKworIzogYnVpbHRpbi9hbS5jOjIyMzMKK21zZ2lkICJzaG93IHRoZSBwYXRjaCBiZWluZyBhcHBsaWVkLiIKK21zZ3N0ciAidmlzdWFsaXp6YSBsYSBwYXRjaCBpbiBmYXNlIGRpIGFwcGxpY2F6aW9uZS4iCisKKyM6IGJ1aWx0aW4vYW0uYzoyMjM3Cittc2dpZCAibGllIGFib3V0IGNvbW1pdHRlciBkYXRlIgorbXNnc3RyICJtZW50aSBzdWxsYSBkYXRhIGRlbCBjb21taXQiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMjM5Cittc2dpZCAidXNlIGN1cnJlbnQgdGltZXN0YW1wIGZvciBhdXRob3IgZGF0ZSIKK21zZ3N0ciAidXNhIGlsIHRpbWVzdGFtcCBjb3JyZW50ZSBjb21lIGRhdGEgYXV0b3JlIgorCisjOiBidWlsdGluL2FtLmM6MjI0MSBidWlsdGluL2NvbW1pdC10cmVlLmM6MTIwIGJ1aWx0aW4vY29tbWl0LmM6MTUwNworIzogYnVpbHRpbi9tZXJnZS5jOjI4NiBidWlsdGluL3B1bGwuYzoxOTQgYnVpbHRpbi9yZWJhc2UuYzo1MDkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxMyBidWlsdGluL3JldmVydC5jOjExNyBidWlsdGluL3RhZy5jOjQxOAorbXNnaWQgImtleS1pZCIKK21zZ3N0ciAiSUQgY2hpYXZlIgorCisjOiBidWlsdGluL2FtLmM6MjI0MiBidWlsdGluL3JlYmFzZS5jOjUxMCBidWlsdGluL3JlYmFzZS5jOjE1MTQKK21zZ2lkICJHUEctc2lnbiBjb21taXRzIgorbXNnc3RyICJmaXJtYSBpIGNvbW1pdCBjb24gR1BHIgorCisjOiBidWlsdGluL2FtLmM6MjI0NQorbXNnaWQgIihpbnRlcm5hbCB1c2UgZm9yIGdpdC1yZWJhc2UpIgorbXNnc3RyICIoYSB1c28gaW50ZXJubyBwZXIgZ2l0LXJlYmFzZSkiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMjYzCittc2dpZCAiIgorIlRoZSAtYi8tLWJpbmFyeSBvcHRpb24gaGFzIGJlZW4gYSBuby1vcCBmb3IgbG9uZyB0aW1lLCBhbmRcbiIKKyJpdCB3aWxsIGJlIHJlbW92ZWQuIFBsZWFzZSBkbyBub3QgdXNlIGl0IGFueW1vcmUuIgorbXNnc3RyICIiCisiTCdvcHppb25lIC1iLy0tYmluYXJ5IG5vbiBlc2VndWUgbnVsbGEgZGEgbW9sdG8gdGVtcG8gZVxuIgorInNhcsOgIHJpbW9zc2EuIE5vbiB1c2FybGEgcGnDuS4iCisKKyM6IGJ1aWx0aW4vYW0uYzoyMjcwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgorbXNnc3RyICJsZXR0dXJhIGRlbGwnaW5kaWNlIG5vbiByaXVzY2l0YSIKKworIzogYnVpbHRpbi9hbS5jOjIyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJldmlvdXMgcmViYXNlIGRpcmVjdG9yeSAlcyBzdGlsbCBleGlzdHMgYnV0IG1ib3ggZ2l2ZW4uIgorbXNnc3RyICIiCisibGEgZGlyZWN0b3J5IGRpIHJlYmFzZSBwcmVjZWRlbnRlICVzIGVzaXN0ZSBhbmNvcmEgbWEgw6ggc3RhdGEgc3BlY2lmaWNhdGEgIgorInVuJ21ib3guIgorCisjOiBidWlsdGluL2FtLmM6MjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiU3RyYXkgJXMgZGlyZWN0b3J5IGZvdW5kLlxuIgorIlVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVtb3ZlIGl0LiIKK21zZ3N0ciAiIgorIlRyb3ZhdGEgZGlyZWN0b3J5IHNtYXJyaXRhICVzLlxuIgorIlVzYSBcImdpdCBhbSAtLWFib3J0XCIgcGVyIGVsaW1pbmFybGEuIgorCisjOiBidWlsdGluL2FtLmM6MjMxNQorbXNnaWQgIlJlc29sdmUgb3BlcmF0aW9uIG5vdCBpbiBwcm9ncmVzcywgd2UgYXJlIG5vdCByZXN1bWluZy4iCittc2dzdHIgIk9wZXJhemlvbmUgZGkgcmlzb2x1emlvbmUgbm9uIGluIGNvcnNvLCBub24gcmlwcmVuZGlhbW8uIgorCisjOiBidWlsdGluL2FtLmM6MjMyNQorbXNnaWQgImludGVyYWN0aXZlIG1vZGUgcmVxdWlyZXMgcGF0Y2hlcyBvbiB0aGUgY29tbWFuZCBsaW5lIgorbXNnc3RyICIiCisibGEgbW9kYWxpdMOgIGludGVyYXR0aXZhIHJpY2hpZWRlIGNoZSBsZSBwYXRjaCBzaWFubyBmb3JuaXRlIHN1bGxhIHJpZ2EgZGkgIgorImNvbWFuZG8iCisKKyM6IGJ1aWx0aW4vYXBwbHkuYzo4Cittc2dpZCAiZ2l0IGFwcGx5IFs8b3B0aW9ucz5dIFs8cGF0Y2g+Li4uXSIKK21zZ3N0ciAiZ2l0IGFwcGx5IFs8b3B6aW9uaT5dIFs8cGF0Y2g+Li4uXSIKKworIzogYnVpbHRpbi9hcmNoaXZlLmM6MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBhcmNoaXZlIGZpbGUgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY3JlYXJlIGlsIGZpbGUgYXJjaGl2aW8gJyVzJyIKKworIzogYnVpbHRpbi9hcmNoaXZlLmM6MjAKK21zZ2lkICJjb3VsZCBub3QgcmVkaXJlY3Qgb3V0cHV0IgorbXNnc3RyICJpbXBvc3NpYmlsZSByZWRpcmlnZXJlIGwnb3V0cHV0IgorCisjOiBidWlsdGluL2FyY2hpdmUuYzozNworbXNnaWQgImdpdCBhcmNoaXZlOiBSZW1vdGUgd2l0aCBubyBVUkwiCittc2dzdHIgImdpdCBhcmNoaXZlOiBpbCByZW1vdG8gbm9uIGhhIHVuIFVSTCIKKworIzogYnVpbHRpbi9hcmNoaXZlLmM6NjEKK21zZ2lkICJnaXQgYXJjaGl2ZTogZXhwZWN0ZWQgQUNLL05BSywgZ290IGEgZmx1c2ggcGFja2V0IgorbXNnc3RyICJnaXQgYXJjaGl2ZTogYXR0ZXNpIEFDSy9OQUssIHJpY2V2dXRvIHBhY2NoZXR0byBkaSBmbHVzaCIKKworIzogYnVpbHRpbi9hcmNoaXZlLmM6NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFyY2hpdmU6IE5BQ0sgJXMiCittc2dzdHIgImdpdCBhcmNoaXZlOiBOQUNLICVzIgorCisjOiBidWlsdGluL2FyY2hpdmUuYzo2NQorbXNnaWQgImdpdCBhcmNoaXZlOiBwcm90b2NvbCBlcnJvciIKK21zZ3N0ciAiZ2l0IGFyY2hpdmU6IGVycm9yZSBkZWwgcHJvdG9jb2xsbyIKKworIzogYnVpbHRpbi9hcmNoaXZlLmM6NjkKK21zZ2lkICJnaXQgYXJjaGl2ZTogZXhwZWN0ZWQgYSBmbHVzaCIKK21zZ3N0ciAiZ2l0IGFyY2hpdmU6IGF0dGVzbyB1biBmbHVzaCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjIyCittc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tbmV4dC1hbGwgWy0tbm8tY2hlY2tvdXRdIgorbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1uZXh0LWFsbCBbLS1uby1jaGVja291dF0iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMworbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLXdyaXRlLXRlcm1zIDxiYWRfdGVybT4gPGdvb2RfdGVybT4iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS13cml0ZS10ZXJtcyA8dGVybWluZSByZXZpc2lvbmUgbm9uIGZ1bnppb25hbnRlPiAiCisiPHRlcm1pbmUgcmV2aXNpb25lIGZ1bnppb25hbnRlPiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI0Cittc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNsZWFuLXN0YXRlIgorbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2xlYW4tc3RhdGUiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNQorbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1yZXNldCBbPGNvbW1pdD5dIgorbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtcmVzZXQgWzxjb21taXQ+XSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI2Cittc2dpZCAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC13cml0ZSBbLS1uby1sb2ddIDxzdGF0ZT4gPHJldmlzaW9uPiA8Z29vZF90ZXJtPiAiCisiPGJhZF90ZXJtPiIKK21zZ3N0ciAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC13cml0ZSBbLS1uby1sb2ddIDxzdGF0bz4gPHJldmlzaW9uZT4gPHRlcm1pbmUgIgorInJldmlzaW9uZSBmdW56aW9uYW50ZT4gPHRlcm1pbmUgcmV2aXNpb25lIG5vbiBmdW56aW9uYW50ZT4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNworbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2hlY2stYW5kLXNldC10ZXJtcyA8Y29tbWFuZD4gPGdvb2RfdGVybT4gIgorIjxiYWRfdGVybT4iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2hlY2stYW5kLXNldC10ZXJtcyA8Y29tYW5kbz4gPHRlcm1pbmUgcmV2aXNpb25lICIKKyJmdW56aW9uYW50ZT4gPHRlcm1pbmUgcmV2aXNpb25lIG5vbiBmdW56aW9uYW50ZT4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyOAorbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1uZXh0LWNoZWNrIDxnb29kX3Rlcm0+IDxiYWRfdGVybT4gWzx0ZXJtPl0iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtbmV4dC1jaGVjayA8dGVybWluZSByZXZpc2lvbmUgZnVuemlvbmFudGU+ICIKKyI8dGVybWluZSByZXZpc2lvbmUgbm9uIGZ1bnppb25hbnRlPiBbPHRlcm1pbmU+XSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI5Cittc2dpZCAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC10ZXJtcyBbLS10ZXJtLWdvb2QgfCAtLXRlcm0tb2xkIHwgLS10ZXJtLWJhZCB8IC0tIgorInRlcm0tbmV3XSIKK21zZ3N0ciAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC10ZXJtcyBbLS10ZXJtLWdvb2QgfCAtLXRlcm0tb2xkIHwgLS10ZXJtLWJhZCB8IC0tIgorInRlcm0tbmV3XSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjMwCittc2dpZCAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1zdGFydCBbLS10ZXJtLXtvbGQsZ29vZH09PHRlcm0+IC0tdGVybS17bmV3LGJhZH0iCisiPTx0ZXJtPl1bLS1uby1jaGVja291dF0gWzxiYWQ+IFs8Z29vZD4uLi5dXSBbLS1dIFs8cGF0aHM+Li4uXSIKK21zZ3N0ciAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1zdGFydCBbLS10ZXJtLXtvbGQsZ29vZH09PHRlcm1pbmU+IC0tdGVybS17bmV3LCIKKyJiYWR9PTx0ZXJtaW5lPl1bLS1uby1jaGVja291dF0gWzxub24gZnVuemlvbmFudGU+IFs8ZnVuemlvbmFudGU+Li4uXV0gWy0tXSAiCisiWzxwZXJjb3JzaT4uLi5dIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0ZXJtIgorbXNnc3RyICInJXMnIG5vbiDDqCB1biB0ZXJtaW5lIHZhbGlkbyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHVzZSB0aGUgYnVpbHRpbiBjb21tYW5kICclcycgYXMgYSB0ZXJtIgorbXNnc3RyICJpbXBvc3NpYmlsZSB1c2FyZSBpbCBjb21hbmRvIG5hdGl2byAnJXMnIGNvbWUgdGVybWluZSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIHRlcm0gJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY2FtYmlhcmUgaWwgc2lnbmlmaWNhdG8gZGVsIHRlcm1pbmUgJyVzJyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjExMQorbXNnaWQgInBsZWFzZSB1c2UgdHdvIGRpZmZlcmVudCB0ZXJtcyIKK21zZ3N0ciAidXNhIGR1ZSB0ZXJtaW5pIGRpZmZlcmVudGkiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMTgKK21zZ2lkICJjb3VsZCBub3Qgb3BlbiB0aGUgZmlsZSBCSVNFQ1RfVEVSTVMiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSBpbCBmaWxlIEJJU0VDVF9URVJNUyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJXZSBhcmUgbm90IGJpc2VjdGluZy5cbiIKK21zZ3N0ciAiTm9uIHN0aWFtbyBlc2VndWVuZG8gdW4gYmlzZWN0LlxuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgY29tbWl0IgorbXNnc3RyICInJXMnIG5vbiDDqCB1biBjb21taXQgdmFsaWRvIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb3VsZCBub3QgY2hlY2sgb3V0IG9yaWdpbmFsIEhFQUQgJyVzJy4gVHJ5ICdnaXQgYmlzZWN0IHJlc2V0IDxjb21taXQ+Jy4iCittc2dzdHIgIiIKKyJpbXBvc3NpYmlsZSBlc2VndWlyZSBpbCBjaGVja291dCBkZWxsJ0hFQUQgb3JpZ2luYXJpbyAnJXMnLiBQcm92YSBjb24gJ2dpdCAiCisiYmlzZWN0IHJlc2V0IDxjb21taXQ+Jy4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIGJpc2VjdF93cml0ZSBhcmd1bWVudDogJXMiCittc2dzdHIgIkFyZ29tZW50byBiaXNlY3Rfd3JpdGUgZXJyYXRvOiAlcyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjIyMQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBnZXQgdGhlIG9pZCBvZiB0aGUgcmV2ICclcyciCittc2dzdHIgImltcG9zc2liaWxlIHJlY3VwZXJhcmUgbCdPSUQgZGVsbGEgcmV2aXNpb25lICclcyciCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qgb3BlbiB0aGUgZmlsZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZSAnJXMnIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgY29tbWFuZDogeW91J3JlIGN1cnJlbnRseSBpbiBhICVzLyVzIGJpc2VjdCIKK21zZ3N0ciAiQ29tYW5kbyBub24gdmFsaWRvOiBhdHR1YWxtZW50ZSBzdGFpIGVzZWd1ZW5kbyB1bmEgYmlzZXppb25lICVzLyVzIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSAlcyBhbmQgJXMgcmV2aXNpb24uXG4iCisiWW91IGNhbiB1c2UgXCJnaXQgYmlzZWN0ICVzXCIgYW5kIFwiZ2l0IGJpc2VjdCAlc1wiIGZvciB0aGF0LiIKK21zZ3N0ciAiIgorIkRldmkgc3BlY2lmaWNhcmUgYWxtZW5vIHVuYSByZXZpc2lvbmUgJXMgZWQgdW5hICVzLlxuIgorIlB1b2kgdXNhcmUgXCJnaXQgYmlzZWN0ICVzXCIgZSBcImdpdCBiaXNlY3QgJXNcIiBwZXIgcXVlc3RvIHNjb3BvLiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IG5lZWQgdG8gc3RhcnQgYnkgXCJnaXQgYmlzZWN0IHN0YXJ0XCIuXG4iCisiWW91IHRoZW4gbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSAlcyBhbmQgJXMgcmV2aXNpb24uXG4iCisiWW91IGNhbiB1c2UgXCJnaXQgYmlzZWN0ICVzXCIgYW5kIFwiZ2l0IGJpc2VjdCAlc1wiIGZvciB0aGF0LiIKK21zZ3N0ciAiIgorIkRldmkgaW5pemlhcmUgY29uIFwiZ2l0IGJpc2VjdCBzdGFydFwiLlxuIgorIlF1aW5kaSBkZXZpIHNwZWNpZmljYXJlIGFsbWVubyB1bmEgcmV2aXNpb25lICVzIGVkIHVuYSAlcy5cbiIKKyJQdW9pIHVzYXJlIFwiZ2l0IGJpc2VjdCAlc1wiIGUgXCJnaXQgYmlzZWN0ICVzXCIgYSBxdWVzdG8gc2NvcG8uIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImJpc2VjdGluZyBvbmx5IHdpdGggYSAlcyBjb21taXQiCittc2dzdHIgImVzZWd1byBsYSBiaXNlemlvbmUgc29sbyBjb24gdW4gY29tbWl0ICVzIgorCisjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW1ldIGFuZCBbbl0gaW4geW91cgorIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAorIy4gYXQgdGhpcyBwb2ludC4KKyMuCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzMwCittc2dpZCAiQXJlIHlvdSBzdXJlIFtZL25dPyAiCittc2dzdHIgIlNlaSBzaWN1cm8/IFtZL25dICIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjM3NworbXNnaWQgIm5vIHRlcm1zIGRlZmluZWQiCittc2dzdHIgIm5lc3N1biB0ZXJtaW5lIGRlZmluaXRvIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGN1cnJlbnQgdGVybXMgYXJlICVzIGZvciB0aGUgb2xkIHN0YXRlXG4iCisiYW5kICVzIGZvciB0aGUgbmV3IHN0YXRlLlxuIgorbXNnc3RyICIiCisiSSB0dW9pIHRlcm1pbmkgY29ycmVudGkgc29ubyAlcyBwZXIgbG8gc3RhdG8gdmVjY2hpb1xuIgorImUgJXMgcGVyIGxvIHN0YXRvIG51b3ZvLlxuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJpbnZhbGlkIGFyZ3VtZW50ICVzIGZvciAnZ2l0IGJpc2VjdCB0ZXJtcycuXG4iCisiU3VwcG9ydGVkIG9wdGlvbnMgYXJlOiAtLXRlcm0tZ29vZHwtLXRlcm0tb2xkIGFuZCAtLXRlcm0tYmFkfC0tdGVybS1uZXcuIgorbXNnc3RyICIiCisiYXJnb21lbnRvICVzIG5vbiB2YWxpZG8gcGVyICdnaXQgYmlzZWN0IHRlcm1zJy5cbiIKKyJMZSBvcHppb25pIHN1cHBvcnRhdGUgc29ubzogLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCBlIC0tdGVybS1iYWR8LS10ZXJtLW5ldy4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo0NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbjogJyVzJyIKK21zZ3N0ciAib3B6aW9uZSBub24gcmljb25vc2NpdXRhOiAnJXMnIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgdmFsaWQgcmV2aXNpb24iCittc2dzdHIgInNlbWJyYSBjaGUgJyVzJyBub24gc2lhIHVuYSByZXZpc2lvbmUgdmFsaWRhIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTEyCittc2dpZCAiYmFkIEhFQUQgLSBJIG5lZWQgYSBIRUFEIgorbXNnc3RyICJIRUFEIG5vbiB2YWxpZGEgLSBobyBiaXNvZ25vIGRpIHVuJ0hFQUQiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tpbmcgb3V0ICclcycgZmFpbGVkLiBUcnkgJ2dpdCBiaXNlY3Qgc3RhcnQgPHZhbGlkLWJyYW5jaD4nLiIKK21zZ3N0ciAiIgorImNoZWNrb3V0IGRpICclcycgbm9uIHJpdXNjaXRvLiBQcm92YSBjb24gJ2dpdCBiaXNlY3Qgc3RhcnQgPGJyYW5jaCB2YWxpZG8+Jy4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1NDgKK21zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgorbXNnc3RyICJub24gZXNlZ3VpcsOyIGxhIGJpc2V6aW9uZSBzdSB1biBhbGJlcm8gc290dG9wb3N0byBhIGNnLXNlZWsiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1NTEKK21zZ2lkICJiYWQgSEVBRCAtIHN0cmFuZ2Ugc3ltYm9saWMgcmVmIgorbXNnc3RyICJoZWFkIG5vbiB2YWxpZGEgLSByaWZlcmltZW50byBzaW1ib2xpY28gc3RyYW5vIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVmOiAnJXMnIgorbXNnc3RyICJyaWZlcmltZW50byBub24gdmFsaWRvOiAnJXMnIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjMxCittc2dpZCAicGVyZm9ybSAnZ2l0IGJpc2VjdCBuZXh0JyIKK21zZ3N0ciAiZXNlZ3VpICdnaXQgYmlzZWN0IG5leHQnIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjMzCittc2dpZCAid3JpdGUgdGhlIHRlcm1zIHRvIC5naXQvQklTRUNUX1RFUk1TIgorbXNnc3RyICJzY3JpdmkgaSB0ZXJtaW5pIGluIC5naXQvQklTRUNUX1RFUk1TIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM1Cittc2dpZCAiY2xlYW51cCB0aGUgYmlzZWN0aW9uIHN0YXRlIgorbXNnc3RyICJwdWxpc2NpIGxvIHN0YXRvIGJpc2V6aW9uZSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzNworbXNnaWQgImNoZWNrIGZvciBleHBlY3RlZCByZXZzIgorbXNnc3RyICJjb250cm9sbGEgc2UgbGUgcmV2aXNpb25pIGF0dGVzZSBzb25vIHByZXNlbnRpIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM5Cittc2dpZCAicmVzZXQgdGhlIGJpc2VjdGlvbiBzdGF0ZSIKK21zZ3N0ciAicmVpbXBvc3RhIGxvIHN0YXRvIGRlbGxhIGJpc2V6aW9uZSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0MQorbXNnaWQgIndyaXRlIG91dCB0aGUgYmlzZWN0aW9uIHN0YXRlIGluIEJJU0VDVF9MT0ciCittc2dzdHIgInNjcml2aSBsbyBzdGF0byBkZWxsYSBiaXNlemlvbmUgaW4gQklTRUNUX0xPRyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0MworbXNnaWQgImNoZWNrIGFuZCBzZXQgdGVybXMgaW4gYSBiaXNlY3Rpb24gc3RhdGUiCittc2dzdHIgImNvbnRyb2xsYSBlIGltcG9zdGEgaSB0ZXJtaW5pIGluIHVubyBzdGF0byBiaXNlemlvbmUiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDUKK21zZ2lkICJjaGVjayB3aGV0aGVyIGJhZCBvciBnb29kIHRlcm1zIGV4aXN0IgorbXNnc3RyICIiCisiY29udHJvbGxhIHNlIGVzaXN0b25vIHRlcm1pbmkgcGVyIHJldmlzaW9uaSBub24gZnVuemlvbmFudGkgbyBmdW56aW9uYW50aSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0NworbXNnaWQgInByaW50IG91dCB0aGUgYmlzZWN0IHRlcm1zIgorbXNnc3RyICJzdGFtcGEgaSB0ZXJtaW5pIGRlbGxhIGJpc2V6aW9uZSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0OQorbXNnaWQgInN0YXJ0IHRoZSBiaXNlY3Qgc2Vzc2lvbiIKK21zZ3N0ciAiaW5pemlhIGxhIHNlc3Npb25lIGRpIGJpc2V6aW9uZSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY1MQorbXNnaWQgInVwZGF0ZSBCSVNFQ1RfSEVBRCBpbnN0ZWFkIG9mIGNoZWNraW5nIG91dCB0aGUgY3VycmVudCBjb21taXQiCittc2dzdHIgImFnZ2lvcm5hIEJJU0VDVF9IRUFEIGFuemljaMOpIGVzZWd1aXJlIGlsIGNoZWNrb3V0IGRlbCBjb21taXQgY29ycmVudGUiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NTMKK21zZ2lkICJubyBsb2cgZm9yIEJJU0VDVF9XUklURSIKK21zZ3N0ciAibm9uIHJlZ2lzdHJhcmUgbGUgb3BlcmF6aW9uaSBlc2VndWl0ZSBwZXIgQklTRUNUX1dSSVRFIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjcwCittc2dpZCAiLS13cml0ZS10ZXJtcyByZXF1aXJlcyB0d28gYXJndW1lbnRzIgorbXNnc3RyICItLXdyaXRlLXRlcm1zIHJpY2hpZWRlIGR1ZSBhcmdvbWVudGkiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NzQKK21zZ2lkICItLWJpc2VjdC1jbGVhbi1zdGF0ZSByZXF1aXJlcyBubyBhcmd1bWVudHMiCittc2dzdHIgIi0tYmlzZWN0LWNsZWFuLXN0YXRlIG5vbiByaWNoaWVkZSBhcmdvbWVudGkiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2ODEKK21zZ2lkICItLWJpc2VjdC1yZXNldCByZXF1aXJlcyBlaXRoZXIgbm8gYXJndW1lbnQgb3IgYSBjb21taXQiCittc2dzdHIgIi0tYmlzZWN0LXJlc2V0IHJpY2hpZWRlIG8gbmVzc3VuIGFyZ29tZW50byBvIHVuIGNvbW1pdCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY4NQorbXNnaWQgIi0tYmlzZWN0LXdyaXRlIHJlcXVpcmVzIGVpdGhlciA0IG9yIDUgYXJndW1lbnRzIgorbXNnc3RyICItLWJpc2VjdC13cml0ZSByaWNoaWVkZSBvIHF1YXR0cm8gbyBjaW5xdWUgYXJnb21lbnRpIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjkxCittc2dpZCAiLS1jaGVjay1hbmQtc2V0LXRlcm1zIHJlcXVpcmVzIDMgYXJndW1lbnRzIgorbXNnc3RyICItLWNoZWNrLWFuZC1zZXQtdGVybXMgcmljaGllZGUgdHJlIGFyZ29tZW50aSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY5NworbXNnaWQgIi0tYmlzZWN0LW5leHQtY2hlY2sgcmVxdWlyZXMgMiBvciAzIGFyZ3VtZW50cyIKK21zZ3N0ciAiLS1iaXNlY3QtbmV4dC1jaGVjayByaWNoaWVkZSBkdWUgbyB0cmUgYXJnb21lbnRpIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NzAzCittc2dpZCAiLS1iaXNlY3QtdGVybXMgcmVxdWlyZXMgMCBvciAxIGFyZ3VtZW50IgorbXNnc3RyICItLWJpc2VjdC10ZXJtcyByaWNoaWVkZSB6ZXJvIG8gdW4gYXJnb21lbnRvIgorCisjOiBidWlsdGluL2JsYW1lLmM6MzEKK21zZ2lkICJnaXQgYmxhbWUgWzxvcHRpb25zPl0gWzxyZXYtb3B0cz5dIFs8cmV2Pl0gWy0tXSA8ZmlsZT4iCittc2dzdHIgImdpdCBibGFtZSBbPG9wemlvbmk+XSBbPG9wemlvbmkgcmV2aXNpb25lPl0gWzxyZXZpc2lvbmU+XSBbLS1dIDxmaWxlPiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjM2Cittc2dpZCAiPHJldi1vcHRzPiBhcmUgZG9jdW1lbnRlZCBpbiBnaXQtcmV2LWxpc3QoMSkiCittc2dzdHIgImxlIDxvcHppb25pIHJldmlzaW9uZT4gc29ubyBkb2N1bWVudGF0ZSBpbiBnaXQtcmV2LWxpc3QoMSkiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhwZWN0aW5nIGEgY29sb3I6ICVzIgorbXNnc3RyICJhdHRlc28gY29sb3JlOiAlcyIKKworIzogYnVpbHRpbi9ibGFtZS5jOjQxNgorbXNnaWQgIm11c3QgZW5kIHdpdGggYSBjb2xvciIKK21zZ3N0ciAiZGV2ZSB0ZXJtaW5hcmUgY29uIHVuIGNvbG9yZSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjcyOQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbG9yICclcycgaW4gY29sb3IuYmxhbWUucmVwZWF0ZWRMaW5lcyIKK21zZ3N0ciAiY29sb3JlICclcycgbm9uIHZhbGlkbyBpbiBjb2xvci5ibGFtZS5yZXBlYXRlZExpbmVzIgorCisjOiBidWlsdGluL2JsYW1lLmM6NzQ3Cittc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgYmxhbWUuY29sb3JpbmciCittc2dzdHIgInZhbG9yZSBub24gdmFsaWRvIHBlciBibGFtZS5jb2xvcmluZyIKKworIzogYnVpbHRpbi9ibGFtZS5jOjgyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCByZXZpc2lvbiAlcyB0byBpZ25vcmUiCittc2dzdHIgImltcG9zc2liaWxlIHRyb3ZhcmUgbGEgcmV2aXNpb25lICVzIGRhIGlnbm9yYXJlIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODQ0Cittc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKK21zZ3N0ciAiIgorIlZpc3VhbGl6emEgbGUgdm9jaSBibGFtZSBpbmNyZW1lbnRhbG1lbnRlLCBhIG1hbm8gYSBtYW5vIGNoZSBsZSB0cm92aWFtbyIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg0NQorbXNnaWQgIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiCittc2dzdHIgIiIKKyJWaXN1YWxpenphIHVuIGhhc2ggU0hBLTEgdnVvdG8gcGVyIGkgY29tbWl0IGxpbWl0ZSAoaW1wb3N0YXppb25lICIKKyJwcmVkZWZpbml0YTogb2ZmKSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg0NgorbXNnaWQgIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIKK21zZ3N0ciAiIgorIk5vbiBnZXN0aXJlIGkgY29tbWl0IHJhZGljZSBjb21lIGNvbW1pdCBsaW1pdGUgKGltcG9zdGF6aW9uZSBwcmVkZWZpbml0YTogIgorIm9mZikiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDcKK21zZ2lkICJTaG93IHdvcmsgY29zdCBzdGF0aXN0aWNzIgorbXNnc3RyICJWaXN1YWxpenphIGxlIHN0YXRpc3RpY2hlIHN1bCBjb3N0byBkZWxsJ29wZXJhemlvbmUiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDgKK21zZ2lkICJGb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCittc2dzdHIgIkZvcnphIGwnaW5kaWNhemlvbmUgZCdhdmFuemFtZW50byBkZWxsJ29wZXJhemlvbmUiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDkKK21zZ2lkICJTaG93IG91dHB1dCBzY29yZSBmb3IgYmxhbWUgZW50cmllcyIKK21zZ3N0ciAiVmlzdWFsaXp6YSBpbCBwdW50ZWdnaW8gZGkgb3V0cHV0IHBlciBsZSB2b2NpIGJsYW1lIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODUwCittc2dpZCAiU2hvdyBvcmlnaW5hbCBmaWxlbmFtZSAoRGVmYXVsdDogYXV0bykiCittc2dzdHIgIiIKKyJWaXN1YWxpenphIGlsIG5vbWUgZmlsZSBvcmlnaW5hcmlvIChpbXBvc3RhemlvbmUgcHJlZGVmaW5pdGE6IGF1dG9tYXRpY28pIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODUxCittc2dpZCAiU2hvdyBvcmlnaW5hbCBsaW5lbnVtYmVyIChEZWZhdWx0OiBvZmYpIgorbXNnc3RyICIiCisiVmlzdWFsaXp6YSBpbCBudW1lcm8gZGkgcmlnYSBvcmlnaW5hcmlvIChpbXBvc3RhemlvbmUgcHJlZGVmaW5pdGE6IG9mZikiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTIKK21zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgorbXNnc3RyICIiCisiVmlzdWFsaXp6YSBsJ291dHB1dCBpbiB1biBmb3JtYXRvIHByb2dldHRhdG8gcGVyIGwndXRpbGl6em8gZGEgcGFydGUgZGkgdW5hICIKKyJtYWNjaGluYSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg1MworbXNnaWQgIlNob3cgcG9yY2VsYWluIGZvcm1hdCB3aXRoIHBlci1saW5lIGNvbW1pdCBpbmZvcm1hdGlvbiIKK21zZ3N0ciAiIgorIlZpc3VhbGl6emEgaWwgZm9ybWF0byBwb3JjZWxhaW4gY29uIGxlIGluZm9ybWF6aW9uaSBzdWwgY29tbWl0IHBlciBvZ25pIHJpZ2EiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTQKK21zZ2lkICJVc2UgdGhlIHNhbWUgb3V0cHV0IG1vZGUgYXMgZ2l0LWFubm90YXRlIChEZWZhdWx0OiBvZmYpIgorbXNnc3RyICIiCisiVXNhIGxhIHN0ZXNzYSBtb2RhbGl0w6AgZGkgb3V0cHV0IGRpIGdpdC1hbm5vdGF0ZSAoaW1wb3N0YXppb25lIHByZWRlZmluaXRhOiAiCisib2ZmKSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg1NQorbXNnaWQgIlNob3cgcmF3IHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKK21zZ3N0ciAiVmlzdWFsaXp6YSBpbCB0aW1lc3RhbXAgZ3JlenpvIChpbXBvc3RhemlvbmUgcHJlZGVmaW5pdGE6IG9mZikiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTYKK21zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCittc2dzdHIgIiIKKyJWaXN1YWxpenphIGwnaGFzaCBTSEExIGRlbCBjb21taXQgaW4gZm9ybWEgbHVuZ2EgKGltcG9zdGF6aW9uZSBwcmVkZWZpbml0YTogIgorIm9mZikiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTcKK21zZ2lkICJTdXBwcmVzcyBhdXRob3IgbmFtZSBhbmQgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgorbXNnc3RyICIiCisiTm9uIHZpc3VhbGl6emFyZSBpbCBub21lIGF1dG9yZSBlIGlsIHRpbWVzdGFtcCAoaW1wb3N0YXppb25lIHByZWRlZmluaXRhOiAiCisib2ZmKSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg1OAorbXNnaWQgIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIKK21zZ3N0ciAiIgorIlZpc3VhbGl6emEgbCdpbmRpcml6em8gZS1tYWlsIGRlbGwnYXV0b3JlIGludmVjZSBkZWwgbm9tZSAoaW1wb3N0YXppb25lICIKKyJwcmVkZWZpbml0YTogb2ZmKSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg1OQorbXNnaWQgIklnbm9yZSB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzIgorbXNnc3RyICJJZ25vcmEgbGUgZGlmZmVyZW56ZSByZWxhdGl2ZSBhZ2xpIHNwYXppIGJpYW5jaGkiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjAgYnVpbHRpbi9sb2cuYzoxNzAyCittc2dpZCAicmV2IgorbXNnc3RyICJyZXZpc2lvbmUiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjAKK21zZ2lkICJJZ25vcmUgPHJldj4gd2hlbiBibGFtaW5nIgorbXNnc3RyICJJZ25vcmEgPHJldmlzaW9uZT4gZHVyYW50ZSBsJ2VzZWN1emlvbmUgZGVsIGJsYW1lIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODYxCittc2dpZCAiSWdub3JlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiIKK21zZ3N0ciAiSWdub3JhIGxlIHJldmlzaW9uaSBzcGVjaWZpY2F0ZSBpbiA8ZmlsZT4iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjIKK21zZ2lkICJjb2xvciByZWR1bmRhbnQgbWV0YWRhdGEgZnJvbSBwcmV2aW91cyBsaW5lIGRpZmZlcmVudGx5IgorbXNnc3RyICJjb2xvcmEgaW4gbW9kbyBkaWZmZXJlbnRlIGkgbWV0YWRhdGkgcmlkb25kYW50aSBkZWxsYSByaWdhIHByZWNlZGVudGUiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjMKK21zZ2lkICJjb2xvciBsaW5lcyBieSBhZ2UiCittc2dzdHIgImNvbG9yYSBsZSByaWdoZSBpbiBiYXNlIGFsbCdldMOgIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODY0Cittc2dpZCAiU3BlbmQgZXh0cmEgY3ljbGVzIHRvIGZpbmQgYmV0dGVyIG1hdGNoIgorbXNnc3RyICJVc2EgY2ljbGkgZXh0cmEgcGVyIHRyb3ZhcmUgdW5hIGNvcnJpc3BvbmRlbnphIG1pZ2xpb3JlIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODY1Cittc2dpZCAiVXNlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIGNhbGxpbmcgZ2l0LXJldi1saXN0IgorbXNnc3RyICJVc2EgbGUgcmV2aXNpb25pIHNhbHZhdGUgaW4gPGZpbGU+IGFuemljaMOpIHJpY2hpYW1hcmUgZ2l0LXJldi1saXN0IgorCisjOiBidWlsdGluL2JsYW1lLmM6ODY2Cittc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKK21zZ3N0ciAiVXNhIGkgY29udGVudXRpIGRpIDxmaWxlPiBjb21lIGltbWFnaW5lIGZpbmFsZSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg2NyBidWlsdGluL2JsYW1lLmM6ODY4Cittc2dpZCAic2NvcmUiCittc2dzdHIgInB1bnRlZ2dpbyIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg2NworbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCittc2dzdHIgIlRyb3ZhIGNvcGllIGRlbGxlIHJpZ2hlIGFsbCdpbnRlcm5vIGUgZnJhIGZpbGUiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjgKK21zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgorbXNnc3RyICJUcm92YSByaWdoZSBzcG9zdGF0ZSBhbGwnaW50ZXJubyBlIGZyYSBmaWxlIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODY5Cittc2dpZCAibixtIgorbXNnc3RyICJuLG0iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjkKK21zZ2lkICJQcm9jZXNzIG9ubHkgbGluZSByYW5nZSBuLG0sIGNvdW50aW5nIGZyb20gMSIKK21zZ3N0ciAiRWxhYm9yYSBzb2xvIGwnaW50ZXJ2YWxsbyByaWdoZSBuLG0sIGNvbnRhbmRvbGUgZGEgMSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjkyMQorbXNnaWQgIi0tcHJvZ3Jlc3MgY2FuJ3QgYmUgdXNlZCB3aXRoIC0taW5jcmVtZW50YWwgb3IgcG9yY2VsYWluIGZvcm1hdHMiCittc2dzdHIgIiIKKyItLXByb2dyZXNzIG5vbiBwdcOyIGVzc2VyZSB1c2F0byBjb24gLS1pbmNyZW1lbnRhbCBvIGNvbiBpIGZvcm1hdGkgcG9yY2VsYWluIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBzdHJpbmcgaXMgdXNlZCB0byB0ZWxsIHVzIHRoZQorIy4gbWF4aW11bSBkaXNwbGF5IHdpZHRoIGZvciBhIHJlbGF0aXZlIHRpbWVzdGFtcCBpbgorIy4gImdpdCBibGFtZSIgb3V0cHV0LiAgRm9yIEMgbG9jYWxlLCAiNCB5ZWFycywgMTEKKyMuIG1vbnRocyBhZ28iLCB3aGljaCB0YWtlcyAyMiBwbGFjZXMsIGlzIHRoZSBsb25nZXN0CisjLiBhbW9uZyB2YXJpb3VzIGZvcm1zIG9mIHJlbGF0aXZlIHRpbWVzdGFtcHMsIGJ1dAorIy4geW91ciBsYW5ndWFnZSBtYXkgbmVlZCBtb3JlIG9yIGZld2VyIGRpc3BsYXkKKyMuIGNvbHVtbnMuCisjLgorIzogYnVpbHRpbi9ibGFtZS5jOjk3MgorbXNnaWQgIjQgeWVhcnMsIDExIG1vbnRocyBhZ28iCittc2dzdHIgIjQgYW5uaSwgMTEgZ2lvcm5pIGZhIgorCisjOiBidWlsdGluL2JsYW1lLmM6MTA3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lIgorbXNnaWRfcGx1cmFsICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lcyIKK21zZ3N0clswXSAiaWwgZmlsZSAlcyBoYSBzb2xvICVsdSByaWdhIgorbXNnc3RyWzFdICJpbCBmaWxlICVzIGhhIHNvbG8gJWx1IHJpZ2hlIgorCisjOiBidWlsdGluL2JsYW1lLmM6MTEyNQorbXNnaWQgIkJsYW1pbmcgbGluZXMiCittc2dzdHIgIkVzZWd1byBpbCBibGFtZSBzdWxsZSByaWdoZSIKKworIzogYnVpbHRpbi9icmFuY2guYzoyOQorbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKK21zZ3N0ciAiZ2l0IGJyYW5jaCBbPG9wemlvbmk+XSBbLXIgfCAtYV0gWy0tbWVyZ2VkIHwgLS1uby1tZXJnZWRdIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjMwCittc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLWxdIFstZl0gPGJyYW5jaC1uYW1lPiBbPHN0YXJ0LXBvaW50Pl0iCittc2dzdHIgImdpdCBicmFuY2ggWzxvcHppb25pPl0gWy1sXSBbLWZdIDxub21lIGJyYW5jaD4gWzxwdW50byBkaSBwYXJ0ZW56YT5dIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjMxCittc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXJdICgtZCB8IC1EKSA8YnJhbmNoLW5hbWU+Li4uIgorbXNnc3RyICJnaXQgYnJhbmNoIFs8b3B6aW9uaT5dIFstcl0gKC1kIHwgLUQpIDxub21lIGJyYW5jaD4uLi4iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzIKK21zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dICgtbSB8IC1NKSBbPG9sZC1icmFuY2g+XSA8bmV3LWJyYW5jaD4iCittc2dzdHIgImdpdCBicmFuY2ggWzxvcHppb25pPl0gKC1tIHwgLU0pIFs8dmVjY2hpbyBicmFuY2g+XSA8bnVvdm8gYnJhbmNoPiIKKworIzogYnVpbHRpbi9icmFuY2guYzozMworbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gKC1jIHwgLUMpIFs8b2xkLWJyYW5jaD5dIDxuZXctYnJhbmNoPiIKK21zZ3N0ciAiZ2l0IGJyYW5jaCBbPG9wemlvbmk+XSAoLWMgfCAtQykgWzx2ZWNjaGlvIGJyYW5jaD5dIDxudW92byBicmFuY2g+IgorCisjOiBidWlsdGluL2JyYW5jaC5jOjM0Cittc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tcG9pbnRzLWF0XSIKK21zZ3N0ciAiZ2l0IGJyYW5jaCBbPG9wemlvbmk+XSBbLXIgfCAtYV0gWy0tcG9pbnRzLWF0XSIKKworIzogYnVpbHRpbi9icmFuY2guYzozNQorbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yIHwgLWFdIFstLWZvcm1hdF0iCittc2dzdHIgImdpdCBicmFuY2ggWzxvcHppb25pPl0gWy1yIHwgLWFdIFstLWZvcm1hdF0iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGhhcyBiZWVuIG1lcmdlZCB0b1xuIgorIiAgICAgICAgICclcycsIGJ1dCBub3QgeWV0IG1lcmdlZCB0byBIRUFELiIKK21zZ3N0ciAiIgorImVsaW1pbm8gaWwgYnJhbmNoICclcycgZGkgY3VpIMOoIHN0YXRvIGVzZWd1aXRvIGlsIG1lcmdlIGluXG4iCisiICAgICAgICAgJyVzJywgbWEgZGkgY3VpIG5vbiDDqCBhbmNvcmEgc3RhdG8gZXNlZ3VpdG8gaWwgbWVyZ2UgaW4gSEVBRC4iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJub3QgZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBpcyBub3QgeWV0IG1lcmdlZCB0b1xuIgorIiAgICAgICAgICclcycsIGV2ZW4gdGhvdWdoIGl0IGlzIG1lcmdlZCB0byBIRUFELiIKK21zZ3N0ciAiIgorIm5vbiBlbGltaW5vIGlsIGJyYW5jaCAnJXMnIGRpIGN1aSBub24gw6ggYW5jb3JhIHN0YXRvIGVzZWd1aXRvIGlsIG1lcmdlIGluXG4iCisiICAgICAgICAgJyVzJywgYmVuY2jDqSBuZSBzaWEgc3RhdG8gZXNlZ3VpdG8gaWwgbWVyZ2UgaW4gSEVBRC4iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgJyVzJyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgdHJvdmFyZSBsJ29nZ2V0dG8gY29tbWl0IHBlciAnJXMnIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGJyYW5jaCAnJXMnIGlzIG5vdCBmdWxseSBtZXJnZWQuXG4iCisiSWYgeW91IGFyZSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBpdCwgcnVuICdnaXQgYnJhbmNoIC1EICVzJy4iCittc2dzdHIgIiIKKyJJbCBicmFuY2ggJyVzJyBub24gw6ggc3RhdG8gc290dG9wb3N0byBjb21wbGV0YW1lbnRlIGEgdW4gbWVyZ2UuXG4iCisiU2Ugc2VpIHNpY3VybyBkaSB2b2xlcmxvIGVsaW1pbmFyZSwgZXNlZ3VpICdnaXQgYnJhbmNoIC1EICVzJy4iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTg5Cittc2dpZCAiVXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKK21zZ3N0ciAiQWdnaW9ybmFtZW50byBkZWwgZmlsZSBkaSBjb25maWd1cmF6aW9uZSBub24gcml1c2NpdG8iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjIwCittc2dpZCAiY2Fubm90IHVzZSAtYSB3aXRoIC1kIgorbXNnc3RyICJpbXBvc3NpYmlsZSB1c2FyZSAtYSBjb24gLWQiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjI2Cittc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciBIRUFEIgorbXNnc3RyICJJbXBvc3NpYmlsZSB0cm92YXJlIGwnb2dnZXR0byBjb21taXQgcGVyIEhFQUQiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBkZWxldGUgYnJhbmNoICclcycgY2hlY2tlZCBvdXQgYXQgJyVzJyIKK21zZ3N0ciAiIgorIkltcG9zc2liaWxlIGVsaW1pbmFyZSBpbCBicmFuY2ggJyVzJyBkaSBjdWkgw6ggc3RhdG8gZXNlZ3VpdG8gaWwgY2hlY2tvdXQgaW4gIgorIiclcyciCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjU1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW90ZS10cmFja2luZyBicmFuY2ggJyVzJyBub3QgZm91bmQuIgorbXNnc3RyICJicmFuY2ggcmVtb3RvIHRyYWNjaWF0byAnJXMnIG5vbiB0cm92YXRvLiIKKworIzogYnVpbHRpbi9icmFuY2guYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYnJhbmNoICclcycgbm90IGZvdW5kLiIKK21zZ3N0ciAiYnJhbmNoICclcycgbm9uIHRyb3ZhdG8uIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJFcnJvciBkZWxldGluZyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcyciCittc2dzdHIgIkVycm9yZSBkdXJhbnRlIGwnZWxpbWluYXppb25lIGRlbCBicmFuY2ggcmVtb3RvIHRyYWNjaWF0byAnJXMnIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjI3MgorIywgYy1mb3JtYXQKK21zZ2lkICJFcnJvciBkZWxldGluZyBicmFuY2ggJyVzJyIKK21zZ3N0ciAiRXJyb3JlIGR1cmFudGUgbCdlbGltaW5hemlvbmUgZGVsIGJyYW5jaCAnJXMnIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJEZWxldGVkIHJlbW90ZS10cmFja2luZyBicmFuY2ggJXMgKHdhcyAlcykuXG4iCittc2dzdHIgIkJyYW5jaCByZW1vdG8gdHJhY2NpYXRvICVzIGVsaW1pbmF0byAoZXJhICVzKS5cbiIKKworIzogYnVpbHRpbi9icmFuY2guYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGVsZXRlZCBicmFuY2ggJXMgKHdhcyAlcykuXG4iCittc2dzdHIgIkJyYW5jaCAlcyBlbGltaW5hdG8gKGVyYSAlcykuXG4iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDI5IGJ1aWx0aW4vdGFnLmM6NjEKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgZm9ybWF0IHN0cmluZyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSBsYSBzdHJpbmdhIGRpIGZvcm1hdG8iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDYwCittc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmlzb2x2ZXJlIEhFQUQiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkhFQUQgKCVzKSBwb2ludHMgb3V0c2lkZSBvZiByZWZzL2hlYWRzLyIKK21zZ3N0ciAiSEVBRCAoJXMpIHB1bnRhIGEgdW4gb2dnZXR0byBub24gaW4gcmVmcy9oZWFkcy8iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyByZWJhc2VkIGF0ICVzIgorbXNnc3RyICJSZWJhc2UgZGVsIGJyYW5jaCAlcyBpbiBjb3JzbyBpbiAlcyIKKworIzogYnVpbHRpbi9icmFuY2guYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIGJpc2VjdGVkIGF0ICVzIgorbXNnc3RyICJCaXNlemlvbmUgZGVsIGJyYW5jaCAlcyBpbiBjb3JzbyBpbiAlcyIKKworIzogYnVpbHRpbi9icmFuY2guYzo1MDIKK21zZ2lkICJjYW5ub3QgY29weSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCittc2dzdHIgIiIKKyJpbXBvc3NpYmlsZSBjb3BpYXJlIGlsIGJyYW5jaCBjb3JyZW50ZSBxdWFuZG8gbm9uIHNpIMOoIHN1IGFsY3VuIGJyYW5jaC4iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTA0Cittc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCittc2dzdHIgIiIKKyJpbXBvc3NpYmlsZSByaWRlbm9taW5hcmUgaWwgYnJhbmNoIGNvcnJlbnRlIHF1YW5kbyBub24gc2kgw6ggc3UgYWxjdW4gYnJhbmNoLiIKKworIzogYnVpbHRpbi9icmFuY2guYzo1MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBicmFuY2ggbmFtZTogJyVzJyIKK21zZ3N0ciAiTm9tZSBicmFuY2ggbm9uIHZhbGlkbzogJyVzJyIKKworIzogYnVpbHRpbi9icmFuY2guYzo1NDIKK21zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKK21zZ3N0ciAiUmlkZW5vbWluYXppb25lIGRlbCBicmFuY2ggbm9uIHJpdXNjaXRhIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjU0NAorbXNnaWQgIkJyYW5jaCBjb3B5IGZhaWxlZCIKK21zZ3N0ciAiQ29waWEgZGVsIGJyYW5jaCBub24gcml1c2NpdGEiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBjb3B5IG9mIGEgbWlzbmFtZWQgYnJhbmNoICclcyciCittc2dzdHIgIkNyZWF0YSBjb3BpYSBkZWwgYnJhbmNoIG1hbCBkZW5vbWluYXRvICclcyciCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgorbXNnc3RyICJCcmFuY2ggbWFsIGRlbm9taW5hdG8gJyVzJyByaW5vbWluYXRvIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjU1NworIywgYy1mb3JtYXQKK21zZ2lkICJCcmFuY2ggcmVuYW1lZCB0byAlcywgYnV0IEhFQUQgaXMgbm90IHVwZGF0ZWQhIgorbXNnc3RyICJCcmFuY2ggcmlub21pbmF0byBpbiAlcywgbWEgSEVBRCBub24gw6ggYWdnaW9ybmF0byEiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY2Cittc2dpZCAiQnJhbmNoIGlzIHJlbmFtZWQsIGJ1dCB1cGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgorbXNnc3RyICIiCisiSWwgYnJhbmNoIMOoIHN0YXRvIHJpbm9taW5hdG8sIG1hIGwnYWdnaW9ybmFtZW50byBkZWwgZmlsZSBkaSBjb25maWd1cmF6aW9uZSAiCisibm9uIMOoIHJpdXNjaXRvIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjU2OAorbXNnaWQgIkJyYW5jaCBpcyBjb3BpZWQsIGJ1dCB1cGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgorbXNnc3RyICIiCisiSWwgYnJhbmNoIMOoIHN0YXRvIGNvcGlhdG8sIG1hIGwnYWdnaW9ybmFtZW50byBkZWwgZmlsZSBkaSBjb25maWd1cmF6aW9uZSBub24gIgorIsOoIHJpdXNjaXRvIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGxlYXNlIGVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoXG4iCisiICAlc1xuIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIHN0cmlwcGVkLlxuIgorbXNnc3RyICIiCisiTW9kaWZpY2EgbGEgZGVzY3JpemlvbmUgZGVsIGJyYW5jaFxuIgorIiAgJXNcbiIKKyJMZSByaWdoZSBjaGUgaW5pemlhbm8gY29uICclYycgc2FyYW5ubyBvbWVzc2UuXG4iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE4Cittc2dpZCAiR2VuZXJpYyBvcHRpb25zIgorbXNnc3RyICJPcHppb25pIGdlbmVyaWNoZSIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MjAKK21zZ2lkICJzaG93IGhhc2ggYW5kIHN1YmplY3QsIGdpdmUgdHdpY2UgZm9yIHVwc3RyZWFtIGJyYW5jaCIKK21zZ3N0ciAiIgorInZpc3VhbGl6emEgbCdoYXNoIGUgbCdvZ2dldHRvLCB1c2EgbCdvcHppb25lIGR1ZSB2b2x0ZSBwZXIgaWwgYnJhbmNoIHVwc3RyZWFtIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYyMQorbXNnaWQgInN1cHByZXNzIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMiCittc2dzdHIgIm5vbiB2aXN1YWxpenphcmUgaSBtZXNzYWdnaSBpbmZvcm1hdGl2aSIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MjIKK21zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1wdWxsKDEpKSIKK21zZ3N0ciAiaW1wb3N0YSBsYSBtb2RhbGl0w6AgdHJhY2tpbmcgKHZlZGkgZ2l0LXB1bGwoMSkpIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNAorbXNnaWQgImRvIG5vdCB1c2UiCittc2dzdHIgIm5vbiB1c2FyZSIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MjYgYnVpbHRpbi9yZWJhc2UuYzo1MDUKK21zZ2lkICJ1cHN0cmVhbSIKK21zZ3N0ciAidXBzdHJlYW0iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI2Cittc2dpZCAiY2hhbmdlIHRoZSB1cHN0cmVhbSBpbmZvIgorbXNnc3RyICJtb2RpZmljYSBsZSBpbmZvcm1hemlvbmkgc3VsbCd1cHN0cmVhbSIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MjcKK21zZ2lkICJ1bnNldCB0aGUgdXBzdHJlYW0gaW5mbyIKK21zZ3N0ciAicmltdW92aSBsZSBpbmZvcm1hemlvbmkgc3VsbCd1cHN0cmVhbSIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MjgKK21zZ2lkICJ1c2UgY29sb3JlZCBvdXRwdXQiCittc2dzdHIgInVzYSBsJ291dHB1dCBjb2xvcmF0byIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MjkKK21zZ2lkICJhY3Qgb24gcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgorbXNnc3RyICJhZ2lzY2kgc3VpIGJyYW5jaCByZW1vdGkgdHJhY2NpYXRpIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYzMSBidWlsdGluL2JyYW5jaC5jOjYzMworbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBjb250YWluIHRoZSBjb21taXQiCittc2dzdHIgInN0YW1wYSBzb2xvIGkgYnJhbmNoIGNoZSBjb250ZW5nb25vIGkgY29tbWl0IgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYzMiBidWlsdGluL2JyYW5jaC5jOjYzNAorbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCittc2dzdHIgInN0YW1wYSBzb2xvIGkgYnJhbmNoIGNoZSBub24gY29udGVuZ29ubyBpIGNvbW1pdCIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MzcKK21zZ2lkICJTcGVjaWZpYyBnaXQtYnJhbmNoIGFjdGlvbnM6IgorbXNnc3RyICJBemlvbmkgc3BlY2lmaWNoZSBkaSBnaXQtYnJhbmNoOiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MzgKK21zZ2lkICJsaXN0IGJvdGggcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKK21zZ3N0ciAiZWxlbmNhIHNpYSBpIGJyYW5jaCByZW1vdGkgdHJhY2NpYXRpIHNpYSBxdWVsbGkgbG9jYWxpIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY0MAorbXNnaWQgImRlbGV0ZSBmdWxseSBtZXJnZWQgYnJhbmNoIgorbXNnc3RyICJlbGltaW5hIGlsIGJyYW5jaCBjb21wbGV0YW1lbnRlIHNvdHRvcG9zdG8gYSBtZXJnZSIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NDEKK21zZ2lkICJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIgorbXNnc3RyICJlbGltaW5hIGlsIGJyYW5jaCAoYW5jaGUgc2Ugbm9uIMOoIHN0YXRvIHNvdHRvcG9zdG8gYSBtZXJnZSkiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQyCittc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCittc2dzdHIgInNwb3N0YS9yaW5vbWluYSB1biBicmFuY2ggZSBpbCBzdW8gcmVnaXN0cm8gZGVpIHJpZmVyaW1lbnRpIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY0MworbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiCittc2dzdHIgInNwb3N0YS9yaW5vbWluYSB1biBicmFuY2ggYW5jaGUgc2UgbGEgZGVzdGluYXppb25lIGVzaXN0ZSIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NDQKK21zZ2lkICJjb3B5IGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIgorbXNnc3RyICJjb3BpYSB1biBicmFuY2ggZSBpbCBzdW8gcmVnaXN0cm8gZGVpIHJpZmVyaW1lbnRpIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NQorbXNnaWQgImNvcHkgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKK21zZ3N0ciAiY29waWEgdW4gYnJhbmNoIGFuY2hlIHNlIGxhIGRlc3RpbmF6aW9uZSBlc2lzdGUiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ2Cittc2dpZCAibGlzdCBicmFuY2ggbmFtZXMiCittc2dzdHIgImVsZW5jYSBpIG5vbWkgZGVpIGJyYW5jaCIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NDcKK21zZ2lkICJzaG93IGN1cnJlbnQgYnJhbmNoIG5hbWUiCittc2dzdHIgInZpc3VhbGl6emEgaWwgbm9tZSBkZWwgYnJhbmNoIGNvcnJlbnRlIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY0OAorbXNnaWQgImNyZWF0ZSB0aGUgYnJhbmNoJ3MgcmVmbG9nIgorbXNnc3RyICJjcmVhIGlsIHJlZ2lzdHJvIGRlaSByaWZlcmltZW50aSBkZWwgYnJhbmNoIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY1MAorbXNnaWQgImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIgorbXNnc3RyICJtb2RpZmljYSBsYSBkZXNjcml6aW9uZSBkZWwgYnJhbmNoIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY1MQorbXNnaWQgImZvcmNlIGNyZWF0aW9uLCBtb3ZlL3JlbmFtZSwgZGVsZXRpb24iCittc2dzdHIgImZvcnphIGxhIGNyZWF6aW9uZSwgc3Bvc3RhbWVudG8vcmlkZW5vbWluYXppb25lLCBlbGltaW5hemlvbmUiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUyCittc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBtZXJnZWQiCittc2dzdHIgInN0YW1wYSBzb2xvIGkgYnJhbmNoIHNvdHRvcG9zdGkgYSBtZXJnZSIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NTMKK21zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCittc2dzdHIgInN0YW1wYSBzb2xvIGkgYnJhbmNoIG5vbiBzb3R0b3Bvc3RpIGEgbWVyZ2UiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU0Cittc2dpZCAibGlzdCBicmFuY2hlcyBpbiBjb2x1bW5zIgorbXNnc3RyICJlbGVuY2EgaSBicmFuY2ggaW4gY29sb25uZSIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NTcgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MiBidWlsdGluL25vdGVzLmM6NDE1CisjOiBidWlsdGluL25vdGVzLmM6NDE4IGJ1aWx0aW4vbm90ZXMuYzo1ODEgYnVpbHRpbi9ub3Rlcy5jOjU4NAorIzogYnVpbHRpbi90YWcuYzo0MzMKK21zZ2lkICJvYmplY3QiCittc2dzdHIgIm9nZ2V0dG8iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU4Cittc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyBvZiB0aGUgb2JqZWN0IgorbXNnc3RyICJzdGFtcGEgc29sbyBpIGJyYW5jaCBkZWxsJ29nZ2V0dG8iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDggYnVpbHRpbi90YWcuYzo0NDAKK21zZ2lkICJzb3J0aW5nIGFuZCBmaWx0ZXJpbmcgYXJlIGNhc2UgaW5zZW5zaXRpdmUiCittc2dzdHIgIiIKKyJsJ29yZGluYW1lbnRvIGUgaWwgZmlsdHJhZ2dpbyBub24gZmFubm8gZGlmZmVyZW56YSB0cmEgbWFpdXNjb2xlIGUgbWludXNjb2xlIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY2MSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6NDM4CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzozOAorbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCittc2dzdHIgImZvcm1hdG8gZGEgdXNhcmUgcGVyIGwnb3V0cHV0IgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY4NCBidWlsdGluL2Nsb25lLmM6Nzg0Cittc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCittc2dzdHIgIkhFQUQgbm9uIHRyb3ZhdG8gZnJhIGkgcmlmZXJpbWVudGkvaGVhZCEiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzA4Cittc2dpZCAiLS1jb2x1bW4gYW5kIC0tdmVyYm9zZSBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICItLWNvbHVtbiBlIC0tdmVyYm9zZSBub24gc29ubyBjb21wYXRpYmlsaSIKKworIzogYnVpbHRpbi9icmFuY2guYzo3MjMgYnVpbHRpbi9icmFuY2guYzo3NzcgYnVpbHRpbi9icmFuY2guYzo3ODYKK21zZ2lkICJicmFuY2ggbmFtZSByZXF1aXJlZCIKK21zZ3N0ciAibm9tZSBicmFuY2ggcmljaGllc3RvIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjc1MworbXNnaWQgIkNhbm5vdCBnaXZlIGRlc2NyaXB0aW9uIHRvIGRldGFjaGVkIEhFQUQiCittc2dzdHIgIkltcG9zc2liaWxlIGZvcm5pcmUgdW5hIGRlc2NyaXppb25lIHBlciBsJ0hFQUQgc2NvbGxlZ2F0byIKKworIzogYnVpbHRpbi9icmFuY2guYzo3NTgKK21zZ2lkICJjYW5ub3QgZWRpdCBkZXNjcmlwdGlvbiBvZiBtb3JlIHRoYW4gb25lIGJyYW5jaCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbW9kaWZpY2FyZSBsYSBkZXNjcml6aW9uZSBwZXIgcGnDuSBkaSB1biBicmFuY2giCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIGNvbW1pdCBvbiBicmFuY2ggJyVzJyB5ZXQuIgorbXNnc3RyICJOb24gZXNpc3RlIGFuY29yYSBuZXNzdW4gY29tbWl0IHN1bCBicmFuY2ggJyVzJy4iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIGJyYW5jaCBuYW1lZCAnJXMnLiIKK21zZ3N0ciAiTm9uIGVzaXN0ZSBhbGN1biBicmFuY2ggZGVub21pbmF0byAnJXMnLiIKKworIzogYnVpbHRpbi9icmFuY2guYzo3ODMKK21zZ2lkICJ0b28gbWFueSBicmFuY2hlcyBmb3IgYSBjb3B5IG9wZXJhdGlvbiIKK21zZ3N0ciAic29ubyBwcmVzZW50aSB0cm9wcGkgYnJhbmNoIHBlciBjb25zZW50aXJlIHVuJ29wZXJhemlvbmUgZGkgY29waWEiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzkyCittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIGZvciBhIHJlbmFtZSBvcGVyYXRpb24iCittc2dzdHIgIiIKKyJzb25vIHByZXNlbnRpIHRyb3BwaSBhcmdvbWVudGkgcGVyIGNvbnNlbnRpcmUgdW4nb3BlcmF6aW9uZSBkaSAiCisicmlkZW5vbWluYXppb25lIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjc5NworbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyB0byBzZXQgbmV3IHVwc3RyZWFtIgorbXNnc3RyICIiCisic29ubyBwcmVzZW50aSB0cm9wcGkgYXJnb21lbnRpIHBlciBjb25zZW50aXJlIGwnaW1wb3N0YXppb25lIGRlbCBudW92byAiCisidXBzdHJlYW0iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb3VsZCBub3Qgc2V0IHVwc3RyZWFtIG9mIEhFQUQgdG8gJXMgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKK21zZ3N0ciAiIgorImltcG9zc2liaWxlIGltcG9zdGFyZSBsJ3Vwc3RyZWFtIGRpIEhFQUQgYSAlcyBxdWFuZG8gbm9uIHB1bnRhIGFkIGFsY3VuICIKKyJicmFuY2guIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjgwNCBidWlsdGluL2JyYW5jaC5jOjgyNworIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIGJyYW5jaCAnJXMnIgorbXNnc3RyICJicmFuY2ggJyVzJyBub24gZXNpc3RlbnRlIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjgwOAorIywgYy1mb3JtYXQKK21zZ2lkICJicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiaWwgYnJhbmNoICclcycgbm9uIGVzaXN0ZSIKKworIzogYnVpbHRpbi9icmFuY2guYzo4MjEKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMgdG8gdW5zZXQgdXBzdHJlYW0iCittc2dzdHIgIiIKKyJzb25vIHByZXNlbnRpIHRyb3BwaSBhcmdvbWVudGkgcGVyIHJpbXVvdmVyZSBsZSBpbmZvcm1hemlvbmkgc3VsbCd1cHN0cmVhbSIKKworIzogYnVpbHRpbi9icmFuY2guYzo4MjUKK21zZ2lkICJjb3VsZCBub3QgdW5zZXQgdXBzdHJlYW0gb2YgSEVBRCB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgorbXNnc3RyICIiCisiaW1wb3NzaWJpbGUgcmltdW92ZXJlIGxlIGluZm9ybWF6aW9uaSBzdWxsJ3Vwc3RyZWFtIGRpIEhFQUQgcXVhbmRvIG5vbiBwdW50YSAiCisiYWQgYWxjdW4gYnJhbmNoLiIKKworIzogYnVpbHRpbi9icmFuY2guYzo4MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJhbmNoICclcycgaGFzIG5vIHVwc3RyZWFtIGluZm9ybWF0aW9uIgorbXNnc3RyICJJbCBicmFuY2ggJyVzJyBub24gaGEgaW5mb3JtYXppb25pIHN1bGwndXBzdHJlYW0iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQxCittc2dpZCAiIgorIlRoZSAtYSwgYW5kIC1yLCBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgdGFrZSBhIGJyYW5jaCBuYW1lLlxuIgorIkRpZCB5b3UgbWVhbiB0byB1c2U6IC1hfC1yIC0tbGlzdCA8cGF0dGVybj4/IgorbXNnc3RyICIiCisiTGUgb3B6aW9uaSBkaSAnZ2l0IGJyYW5jaCcgLWEgZSAtciBub24gcmljaGllZG9ubyB1biBub21lIGJyYW5jaC5cbiIKKyJGb3JzZSB2b2xldmkgdXNhcmU6IC1hfC1yIC0tbGlzdCA8cGF0dGVybj4/IgorCisjOiBidWlsdGluL2JyYW5jaC5jOjg0NQorbXNnaWQgIiIKKyJ0aGUgJy0tc2V0LXVwc3RyZWFtJyBvcHRpb24gaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gUGxlYXNlIHVzZSAnLS10cmFjaycgb3IgIgorIictLXNldC11cHN0cmVhbS10bycgaW5zdGVhZC4iCittc2dzdHIgIiIKKyJsJ29wemlvbmUgJy0tc2V0LXVwc3RyZWFtJyBub24gw6ggcGnDuSBzdXBwb3J0YXRhLiBVc2EgJy0tdHJhY2snIG8gJy0tc2V0LSIKKyJ1cHN0cmVhbS10bycuIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjE1IGJ1aWx0aW4vYnVuZGxlLmM6MjMKK21zZ2lkICJnaXQgYnVuZGxlIGNyZWF0ZSBbPG9wdGlvbnM+XSA8ZmlsZT4gPGdpdC1yZXYtbGlzdCBhcmdzPiIKK21zZ3N0ciAiZ2l0IGJ1bmRsZSBjcmVhdGUgWzxvcHppb25pPl0gPGZpbGU+IDxhcmdvbWVudGkgZ2l0LXJldi1saXN0PiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxNiBidWlsdGluL2J1bmRsZS5jOjI4Cittc2dpZCAiZ2l0IGJ1bmRsZSB2ZXJpZnkgWzxvcHRpb25zPl0gPGZpbGU+IgorbXNnc3RyICJnaXQgYnVuZGxlIHZlcmlmeSBbPG9wemlvbmk+XSA8ZmlsZT4iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTcgYnVpbHRpbi9idW5kbGUuYzozMworbXNnaWQgImdpdCBidW5kbGUgbGlzdC1oZWFkcyA8ZmlsZT4gWzxyZWZuYW1lPi4uLl0iCittc2dzdHIgImdpdCBidW5kbGUgbGlzdC1oZWFkcyA8ZmlsZT4gWzxub21lIHJpZmVyaW1lbnRvPi4uLl0iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTggYnVpbHRpbi9idW5kbGUuYzozOAorbXNnaWQgImdpdCBidW5kbGUgdW5idW5kbGUgPGZpbGU+IFs8cmVmbmFtZT4uLi5dIgorbXNnc3RyICJnaXQgYnVuZGxlIHVuYnVuZGxlIDxmaWxlPiBbPG5vbWUgcmlmZXJpbWVudG8+Li4uXSIKKworIzogYnVpbHRpbi9idW5kbGUuYzo2NiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMjgKK21zZ2lkICJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIKK21zZ3N0ciAibm9uIHZpc3VhbGl6emFyZSBsYSBiYXJyYSBkaSBhdmFuemFtZW50byIKKworIzogYnVpbHRpbi9idW5kbGUuYzo2OCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzAKK21zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgorbXNnc3RyICJ2aXN1YWxpenphIGxhIGJhcnJhIGRpIGF2YW56YW1lbnRvIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjcwIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzMgorbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgorbXNnc3RyICIiCisidmlzdWFsaXp6YSBsYSBiYXJyYSBkaSBhdmFuemFtZW50byBkdXJhbnRlIGxhIGZhc2UgZGkgc2NyaXR0dXJhIG9nZ2V0dGkiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NzMgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM1Cittc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgorbXNnc3RyICJzaW1pbGUgYSAtLWFsbC1wcm9ncmVzcyBxdWFuZG8gw6ggdmlzdWFsaXp6YXRhIGxhIGJhcnJhIGRpIGF2YW56YW1lbnRvIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjkzCittc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gY3JlYXRlIGEgYnVuZGxlLiIKK21zZ3N0ciAiUGVyIGNyZWFyZSB1biBidW5kbGUgw6ggbmVjZXNzYXJpbyB1biByZXBvc2l0b3J5LiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxMDQKK21zZ2lkICJkbyBub3Qgc2hvdyBidW5kbGUgZGV0YWlscyIKK21zZ3N0ciAibm9uIHZpc3VhbGl6emFyZSBpIGRldHRhZ2xpIHN1bCBidW5kbGUiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG9rYXlcbiIKK21zZ3N0ciAiJXMgw6ggY29ycmV0dG9cbiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxNjAKK21zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byB1bmJ1bmRsZS4iCittc2dzdHIgIlBlciBkZWNvbXByaW1lcmUgdW4gYnVuZGxlIMOoIG5lY2Vzc2FyaW8gdW4gcmVwb3NpdG9yeS4iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTY4IGJ1aWx0aW4vcmVtb3RlLmM6MTYwOQorbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCittc2dzdHIgIiIKKyJ2aXN1YWxpenphIHVsdGVyaW9yaSBkZXR0YWdsaTsgZGV2ZSBlc3NlcmUgY29sbG9jYXRvIHByaW1hIGRpIHVuIHNvdHRvY29tYW5kbyIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzoxNjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCittc2dzdHIgIlNvdHRvY29tYW5kbyBzY29ub3NjaXV0bzogJXMiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1OTUKK21zZ2lkICIiCisiZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1lIHwgLSIKKyJwIHwgPHR5cGU+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycykgWy0tcGF0aD08cGF0aD5dIDxvYmplY3Q+IgorbXNnc3RyICIiCisiZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1lIHwgLSIKKyJwIHwgPHRpcG8+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycykgWy0tcGF0aD08cGVyY29yc28+XSA8b2dnZXR0bz4iCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1OTYKK21zZ2lkICIiCisiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgorImZpbHRlcnNdIgorbXNnc3RyICIiCisiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgorImZpbHRlcnNdIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjE3Cittc2dpZCAib25seSBvbmUgYmF0Y2ggb3B0aW9uIG1heSBiZSBzcGVjaWZpZWQiCittc2dzdHIgInB1w7IgZXNzZXJlIHNwZWNpZmljYXRhIHNvbG8gdW4nb3B6aW9uZSBiYXRjaCIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNQorbXNnaWQgIjx0eXBlPiBjYW4gYmUgb25lIG9mOiBibG9iLCB0cmVlLCBjb21taXQsIHRhZyIKK21zZ3N0ciAiPHRpcG8+IHB1w7IgZXNzZXJlIHVubyBmcmEgYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzYKK21zZ2lkICJzaG93IG9iamVjdCB0eXBlIgorbXNnc3RyICJ2aXN1YWxpenphIHRpcG8gb2dnZXR0byIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNworbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCittc2dzdHIgInZpc3VhbGl6emEgZGltZW5zaW9uaSBvZ2dldHRvIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM5Cittc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgorbXNnc3RyICJlc2NpIGNvbiBjb2RpY2UgZCd1c2NpdGEgemVybyBzZSBub24gc2kgc29ubyB2ZXJpZmljYXRpIGVycm9yaSIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0MAorbXNnaWQgInByZXR0eS1wcmludCBvYmplY3QncyBjb250ZW50IgorbXNnc3RyICJzdGFtcGEgaWwgY29udGVudXRvIGRlbGwnb2dnZXR0byBjb24gdW4gZm9ybWF0byBsZWdnaWJpbGUiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDIKK21zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gdGV4dGNvbnYgb24gb2JqZWN0J3MgY29udGVudCIKK21zZ3N0ciAiZXNlZ3VpIHRleHRjb252IHN1bCBjb250ZW51dG8gZGVsbCdvZ2dldHRvIChwZXIgZ2xpIG9nZ2V0dGkgYmxvYikiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDQKK21zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gZmlsdGVycyBvbiBvYmplY3QncyBjb250ZW50IgorbXNnc3RyICJlc2VndWkgaSBmaWx0cmkgc3VsIGNvbnRlbnV0byBkZWxsJ29nZ2V0dG8gKHBlciBnbGkgb2dnZXR0aSBibG9iKSIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NSBnaXQtc3VibW9kdWxlLnNoOjk5MgorbXNnaWQgImJsb2IiCittc2dzdHIgImJsb2IiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDYKK21zZ2lkICJ1c2UgYSBzcGVjaWZpYyBwYXRoIGZvciAtLXRleHRjb252Ly0tZmlsdGVycyIKK21zZ3N0ciAidXNhIHVuIHBlcmNvcnNvIHNwZWNpZmljbyBwZXIgLS10ZXh0Y29udi8tLWZpbHRlcnMiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDgKK21zZ2lkICJhbGxvdyAtcyBhbmQgLXQgdG8gd29yayB3aXRoIGJyb2tlbi9jb3JydXB0IG9iamVjdHMiCittc2dzdHIgImNvbnNlbnRpIGEgLXMgZSAtdCBkaSBmdW56aW9uYXJlIGNvbiBvZ2dldHRpIG1hbGZvcm1hdGkvY29ycm90dGkiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDkKK21zZ2lkICJidWZmZXIgLS1iYXRjaCBvdXRwdXQiCittc2dzdHIgImVzZWd1aSBpbCBidWZmZXJpbmcgZGVsbCdvdXRwdXQgZGkgLS1iYXRjaCIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1MQorbXNnaWQgInNob3cgaW5mbyBhbmQgY29udGVudCBvZiBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKK21zZ3N0ciAiIgorInZpc3VhbGl6emEgbGUgaW5mb3JtYXppb25pIGUgaWwgY29udGVudXRvIGRlZ2xpIG9nZ2V0dGkgZm9ybml0aSBuZWxsbyAiCisic3RhbmRhcmQgaW5wdXQiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTUKK21zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCittc2dzdHIgInZpc3VhbGl6emEgbGUgaW5mb3JtYXppb25pIGRlZ2xpIG9nZ2V0dGkgZm9ybml0aSBuZWxsbyBzdGFuZGFyZCBpbnB1dCIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1OQorbXNnaWQgImZvbGxvdyBpbi10cmVlIHN5bWxpbmtzICh1c2VkIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrKSIKK21zZ3N0ciAiIgorInNlZ3VpIGkgY29sbGVnYW1lbnRpIHNpbWJvbGljaSBlbnRybyBsJ2FsYmVybyAodXNhdG8gY29uIC0tYmF0Y2ggbyAtLWJhdGNoLSIKKyJjaGVjaykiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NjEKK21zZ2lkICJzaG93IGFsbCBvYmplY3RzIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrIgorbXNnc3RyICJ2aXN1YWxpenphIHR1dHRpIGdsaSBvZ2dldHRpIGNvbiAtLWJhdGNoIG8gLS1iYXRjaC1jaGVjayIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY2MworbXNnaWQgImRvIG5vdCBvcmRlciAtLWJhdGNoLWFsbC1vYmplY3RzIG91dHB1dCIKK21zZ3N0ciAibm9uIG9yZGluYXJlIGwnb3V0cHV0IGRpIC0tYmF0Y2gtYWxsLW9iamVjdHMiCisKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEzCittc2dpZCAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCA8YXR0cj4uLi5dIFstLV0gPHBhdGhuYW1lPi4uLiIKK21zZ3N0ciAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCA8YXR0cmlidXRvPi4uLl0gWy0tXSA8bm9tZSBwZXJjb3Jzbz4uLi4iCisKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjE0Cittc2dpZCAiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSIKK21zZ3N0ciAiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgPGF0dHJpYnV0bz4uLi5dIgorCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMQorbXNnaWQgInJlcG9ydCBhbGwgYXR0cmlidXRlcyBzZXQgb24gZmlsZSIKK21zZ3N0ciAiaW5kaWNhIHR1dHRpIGdsaSBhdHRyaWJ1dGkgaW1wb3N0YXRpIHN1bCBmaWxlIgorCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMgorbXNnaWQgInVzZSAuZ2l0YXR0cmlidXRlcyBvbmx5IGZyb20gdGhlIGluZGV4IgorbXNnc3RyICJ1c2Egc29sbyBpbCBmaWxlIC5naXRhdHRyaWJ1dGVzIGRlbGwnaW5kaWNlIgorCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI1IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIKK21zZ2lkICJyZWFkIGZpbGUgbmFtZXMgZnJvbSBzdGRpbiIKK21zZ3N0ciAibGVnZ2kgaSBub21pIGRlaSBmaWxlIGRhbGxvIHN0YW5kYXJkIGlucHV0IgorCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyNSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI3Cittc2dpZCAidGVybWluYXRlIGlucHV0IGFuZCBvdXRwdXQgcmVjb3JkcyBieSBhIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgInRlcm1pbmEgaSByZWNvcmQgZGkgaW5wdXQgZSBvdXRwdXQgY29uIHVuIGNhcmF0dGVyZSBOVUwiCisKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjEgYnVpbHRpbi9jaGVja291dC5jOjE0MzUgYnVpbHRpbi9nYy5jOjUzNworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwNgorbXNnaWQgInN1cHByZXNzIHByb2dyZXNzIHJlcG9ydGluZyIKK21zZ3N0ciAibm9uIHZpc3VhbGl6emFyZSBsJ2F2YW56YW1lbnRvIGRlbGwnb3BlcmF6aW9uZSIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOQorbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGlucHV0IHBhdGhzIgorbXNnc3RyICJ2aXN1YWxpenphIGkgcGVyY29yc2kgZGkgaW5wdXQgbm9uIGNvcnJpc3BvbmRlbnRpIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjMxCittc2dpZCAiaWdub3JlIGluZGV4IHdoZW4gY2hlY2tpbmciCittc2dzdHIgImlnbm9yYSBsJ2luZGljZSBkdXJhbnRlIGlsIGNvbnRyb2xsbyIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjAKK21zZ2lkICJjYW5ub3Qgc3BlY2lmeSBwYXRobmFtZXMgd2l0aCAtLXN0ZGluIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzcGVjaWZpY2FyZSBpIG5vbWkgcGVyY29yc28gY29uIC0tc3RkaW4iCisKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYzCittc2dpZCAiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iCittc2dzdHIgIi16IGhhIHNlbnNvIHNvbG8gY29uIC0tc3RkaW4iCisKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY1Cittc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQiCittc2dzdHIgIm5lc3N1biBwZXJjb3JzbyBzcGVjaWZpY2F0byIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjkKK21zZ2lkICItLXF1aWV0IGlzIG9ubHkgdmFsaWQgd2l0aCBhIHNpbmdsZSBwYXRobmFtZSIKK21zZ3N0ciAiLS1xdWlldCDDqCB2YWxpZG8gc29sbyBjb24gdW4gbm9tZSBwZXJjb3JzbyBzaW5nb2xvIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MQorbXNnaWQgImNhbm5vdCBoYXZlIGJvdGggLS1xdWlldCBhbmQgLS12ZXJib3NlIgorbXNnc3RyICJub24gw6ggcG9zc2liaWxlIHVzYXJlIHNpYSAtLXF1aWV0IHNpYSAtLXZlcmJvc2UiCisKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTc0Cittc2dpZCAiLS1ub24tbWF0Y2hpbmcgaXMgb25seSB2YWxpZCB3aXRoIC0tdmVyYm9zZSIKK21zZ3N0ciAiLS1ub24tbWF0Y2hpbmcgw6ggdmFsaWRvIHNvbG8gY29uIC0tdmVyYm9zZSIKKworIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6OQorbXNnaWQgImdpdCBjaGVjay1tYWlsbWFwIFs8b3B0aW9ucz5dIDxjb250YWN0Pi4uLiIKK21zZ3N0ciAiZ2l0IGNoZWNrLW1haWxtYXAgWzxvcHppb25pPl0gPGNvbnRhdHRvPi4uLiIKKworIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MTQKK21zZ2lkICJhbHNvIHJlYWQgY29udGFjdHMgZnJvbSBzdGRpbiIKK21zZ3N0ciAibGVnZ2kgaSBjb250YXR0aSBhbmNoZSBkYWxsbyBzdGFuZGFyZCBpbnB1dCIKKworIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbnRhY3Q6ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhbmFsaXp6YXJlIGlsIGNvbnRhdHRvOiAlcyIKKworIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6NDgKK21zZ2lkICJubyBjb250YWN0cyBzcGVjaWZpZWQiCittc2dzdHIgIm5lc3N1biBjb250YXR0byBzcGVjaWZpY2F0byIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEzMQorbXNnaWQgImdpdCBjaGVja291dC1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgorbXNnc3RyICJnaXQgY2hlY2tvdXQtaW5kZXggWzxvcHppb25pPl0gWy0tXSBbPGZpbGU+Li4uXSIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0OAorbXNnaWQgInN0YWdlIHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kIDMgb3IgYWxsIgorbXNnc3RyICJsYSBmYXNlIGRldidlc3NlcmUgY29tcHJlc2EgZnJhIDEgZSAzIG8gYWxsIgorCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY0Cittc2dpZCAiY2hlY2sgb3V0IGFsbCBmaWxlcyBpbiB0aGUgaW5kZXgiCittc2dzdHIgImVzZWd1aSBpbCBjaGVja291dCBkaSB0dXR0aSBpIGZpbGUgbmVsbCdpbmRpY2UiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjUKK21zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgZXhpc3RpbmcgZmlsZXMiCittc2dzdHIgImZvcnphIGxhIHNvdnJhc2NyaXR0dXJhIGRlaSBmaWxlIGVzaXN0ZW50aSIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NworbXNnaWQgIm5vIHdhcm5pbmcgZm9yIGV4aXN0aW5nIGZpbGVzIGFuZCBmaWxlcyBub3QgaW4gaW5kZXgiCittc2dzdHIgIm5vbiBlbWV0dGVyZSB1biBhdnZpc28gcGVyIGkgZmlsZSBlc2lzdGVudGkgZSBpIGZpbGUgbm9uIG5lbGwnaW5kaWNlIgorCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY5Cittc2dpZCAiZG9uJ3QgY2hlY2tvdXQgbmV3IGZpbGVzIgorbXNnc3RyICJub24gZXNlZ3VpcmUgaWwgY2hlY2tvdXQgZGVpIGZpbGUgbnVvdmkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzEKK21zZ2lkICJ1cGRhdGUgc3RhdCBpbmZvcm1hdGlvbiBpbiB0aGUgaW5kZXggZmlsZSIKK21zZ3N0ciAiYWdnaW9ybmEgbGUgaW5mb3JtYXppb25pIHN0YXQgbmVsIGZpbGUgaW5kaWNlIgorCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc1Cittc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgorbXNnc3RyICJsZWdnaSBsJ2VsZW5jbyBkZWkgcGVyY29yc2kgZGFsbG8gc3RhbmRhcmQgaW5wdXQiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzcKK21zZ2lkICJ3cml0ZSB0aGUgY29udGVudCB0byB0ZW1wb3JhcnkgZmlsZXMiCittc2dzdHIgInNjcml2aSBpbCBjb250ZW51dG8gaW4gZmlsZSB0ZW1wb3JhbmVpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc4IGJ1aWx0aW4vY29sdW1uLmM6MzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY3OQorbXNnaWQgInN0cmluZyIKK21zZ3N0ciAic3RyaW5nYSIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OQorbXNnaWQgIndoZW4gY3JlYXRpbmcgZmlsZXMsIHByZXBlbmQgPHN0cmluZz4iCittc2dzdHIgImFnZ2l1bmdpIGlsIHByZWZpc3NvIDxzdHJpbmdhPiBkdXJhbnRlIGxhIGNyZWF6aW9uZSBkZWkgZmlsZSIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE4MQorbXNnaWQgImNvcHkgb3V0IHRoZSBmaWxlcyBmcm9tIG5hbWVkIHN0YWdlIgorbXNnc3RyICJjb3BpYSBpIGZpbGUgZGFsbGEgZmFzZSBzcGVjaWZpY2F0YSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjMxCittc2dpZCAiZ2l0IGNoZWNrb3V0IFs8b3B0aW9ucz5dIDxicmFuY2g+IgorbXNnc3RyICJnaXQgY2hlY2tvdXQgWzxvcHppb25pPl0gPGJyYW5jaD4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMgorbXNnaWQgImdpdCBjaGVja291dCBbPG9wdGlvbnM+XSBbPGJyYW5jaD5dIC0tIDxmaWxlPi4uLiIKK21zZ3N0ciAiZ2l0IGNoZWNrb3V0IFs8b3B6aW9uaT5dIFs8YnJhbmNoPl0gLS0gPGZpbGU+Li4uIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzcKK21zZ2lkICJnaXQgc3dpdGNoIFs8b3B0aW9ucz5dIFs8YnJhbmNoPl0iCittc2dzdHIgImdpdCBzd2l0Y2ggWzxvcHppb25pPl0gPGJyYW5jaD4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MgorbXNnaWQgImdpdCByZXN0b3JlIFs8b3B0aW9ucz5dIFstLXNvdXJjZT08YnJhbmNoPl0gPGZpbGU+Li4uIgorbXNnc3RyICJnaXQgcmVzdG9yZSBbPG9wemlvbmk+XSBbLS1zb3VyY2U9PGJyYW5jaD5dIDxmaWxlPi4uLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NSBidWlsdGluL2NoZWNrb3V0LmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG91ciB2ZXJzaW9uIgorbXNnc3RyICJpbCBwZXJjb3JzbyAnJXMnIG5vbiBoYSBsYSBub3N0cmEgdmVyc2lvbmUiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzcgYnVpbHRpbi9jaGVja291dC5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSB0aGVpciB2ZXJzaW9uIgorbXNnc3RyICJpbCBwZXJjb3JzbyAnJXMnIG5vbiBoYSBsYSBsb3JvIHZlcnNpb25lIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIGFsbCBuZWNlc3NhcnkgdmVyc2lvbnMiCittc2dzdHIgImlsIHBlcmNvcnNvICclcycgbm9uIGhhIHR1dHRlIGxlIHZlcnNpb25pIG5lY2Vzc2FyaWUiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgbmVjZXNzYXJ5IHZlcnNpb25zIgorbXNnc3RyICJpbCBwZXJjb3JzbyAnJXMnIG5vbiBoYSBsZSB2ZXJzaW9uaSBuZWNlc3NhcmllIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJyVzJzogY2Fubm90IG1lcmdlIgorbXNnc3RyICJwZXJjb3JzbyAnJXMnOiBpbXBvc3NpYmlsZSBlc2VndWlyZSBpbCBtZXJnZSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjI3NworIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWdnaXVuZ2VyZSBpbCByaXN1bHRhdG8gZGVsIG1lcmdlIHBlciAnJXMnIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlY3JlYXRlZCAlZCBtZXJnZSBjb25mbGljdCIKK21zZ2lkX3BsdXJhbCAiUmVjcmVhdGVkICVkIG1lcmdlIGNvbmZsaWN0cyIKK21zZ3N0clswXSAiUmljcmVhdG8gJWQgY29uZmxpdHRvIGRpIG1lcmdlIgorbXNnc3RyWzFdICJSaWNyZWF0aSAlZCBjb25mbGl0dGkgZGkgbWVyZ2UiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXBkYXRlZCAlZCBwYXRoIGZyb20gJXMiCittc2dpZF9wbHVyYWwgIlVwZGF0ZWQgJWQgcGF0aHMgZnJvbSAlcyIKK21zZ3N0clswXSAiQWdnaW9ybmF0byAlZCBwZXJjb3JzbyBkYSAlcyIKK21zZ3N0clsxXSAiQWdnaW9ybmF0aSAlZCBwZXJjb3JzaSBkYSAlcyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJVcGRhdGVkICVkIHBhdGggZnJvbSB0aGUgaW5kZXgiCittc2dpZF9wbHVyYWwgIlVwZGF0ZWQgJWQgcGF0aHMgZnJvbSB0aGUgaW5kZXgiCittc2dzdHJbMF0gIkFnZ2lvcm5hdG8gJWQgcGVyY29yc28gZGFsbCdpbmRpY2UiCittc2dzdHJbMV0gIkFnZ2lvcm5hdGkgJWQgcGVyY29yc2kgZGFsbCdpbmRpY2UiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MTIgYnVpbHRpbi9jaGVja291dC5jOjQxNSBidWlsdGluL2NoZWNrb3V0LmM6NDE4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKK21zZ3N0ciAiJyVzJyBub24gcHXDsiBlc3NlcmUgdXNhdG8gY29uIGkgcGVyY29yc2kgaW4gZmFzZSBkaSBhZ2dpb3JuYW1lbnRvIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDI1IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgorbXNnc3RyICInJXMnIG5vbiBwdcOyIGVzc2VyZSB1c2F0byBjb24gJXMiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuIgorbXNnc3RyICIiCisiSW1wb3NzaWJpbGUgYWdnaW9ybmFyZSBkZWkgcGVyY29yc2kgZSBwYXNzYXJlIGFsIGJyYW5jaCAnJXMnICIKKyJjb250ZW1wb3JhbmVhbWVudGUuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgJyVzJyBvciAnJXMnIGlzIHNwZWNpZmllZCIKK21zZ3N0ciAibsOpICclcycgbsOpICclcycgc29ubyBzdGF0aSBzcGVjaWZpY2F0aSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIG11c3QgYmUgdXNlZCB3aGVuICclcycgaXMgbm90IHNwZWNpZmllZCIKK21zZ3N0ciAiJyVzJyBkZXYnZXNzZXJlIHVzYXRvIHF1YW5kbyAnJXMnIG5vbiDDqCBzcGVjaWZpY2F0byIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjQ0NSBidWlsdGluL2NoZWNrb3V0LmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgb3IgJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgorbXNnc3RyICInJXMnIG8gJyVzJyBub24gcG9zc29ubyBlc3NlcmUgdXNhdGkgY29uICVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTA5IGJ1aWx0aW4vY2hlY2tvdXQuYzo1MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aCAnJXMnIGlzIHVubWVyZ2VkIgorbXNnc3RyICJpbCBwZXJjb3JzbyAnJXMnIG5vbiDDqCBzdGF0byBzb3R0b3Bvc3RvIGEgbWVyZ2UiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODIgYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo4MgorbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgorbXNnc3RyICJwcmltYSBkZXZpIHJpc29sdmVyZSBsJ2luZGljZSBjb3JyZW50ZSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjczMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IGNvbnRpbnVlIHdpdGggc3RhZ2VkIGNoYW5nZXMgaW4gdGhlIGZvbGxvd2luZyBmaWxlczpcbiIKKyIlcyIKK21zZ3N0ciAiIgorImltcG9zc2liaWxlIGNvbnRpbnVhcmUgY29uIG1vZGlmaWNoZSBpbiBzdGFnZSBuZWkgZmlsZSBzZWd1ZW50aTpcbiIKKyIlcyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjgzNQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4gbm90IGRvIHJlZmxvZyBmb3IgJyVzJzogJXNcbiIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgZXNhbWluYXJlIGlsIHJlZ2lzdHJvIGRlaSByaWZlcmltZW50aSBwZXIgJyVzJzogJXNcbiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjg3NworbXNnaWQgIkhFQUQgaXMgbm93IGF0IgorbXNnc3RyICJIRUFEIHNpIHRyb3ZhIG9yYSBhIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODgxIGJ1aWx0aW4vY2xvbmUuYzo3MTYKK21zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIEhFQUQiCittc2dzdHIgImltcG9zc2liaWxlIGFnZ2lvcm5hcmUgSEVBRCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJSZXNldCBicmFuY2ggJyVzJ1xuIgorbXNnc3RyICJSaXByaXN0aW5hIGlsIGJyYW5jaCAnJXMnXG4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxyZWFkeSBvbiAnJXMnXG4iCittc2dzdHIgIlNpIMOoIGdpw6Agc3UgJyVzJ1xuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGVkIHRvIGFuZCByZXNldCBicmFuY2ggJyVzJ1xuIgorbXNnc3RyICJTaSDDqCBwYXNzYXRpIGFsIGJyYW5jaCAnJXMnIGUgbG8gc2kgw6ggcmVpbXBvc3RhdG9cbiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjg5NCBidWlsdGluL2NoZWNrb3V0LmM6MTI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJyVzJ1xuIgorbXNnc3RyICJTaSDDqCBwYXNzYXRpIGEgdW4gbnVvdm8gYnJhbmNoICclcydcbiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjg5NgorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgorbXNnc3RyICJTaSDDqCBwYXNzYXRpIGFsIGJyYW5jaCAnJXMnXG4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC4uLiBhbmQgJWQgbW9yZS5cbiIKK21zZ3N0ciAiIC4uLmUgYWx0cmkgJWQuXG4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXQgYmVoaW5kLCBub3QgY29ubmVjdGVkIHRvXG4iCisiYW55IG9mIHlvdXIgYnJhbmNoZXM6XG4iCisiXG4iCisiJXNcbiIKK21zZ2lkX3BsdXJhbCAiIgorIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXRzIGJlaGluZCwgbm90IGNvbm5lY3RlZCB0b1xuIgorImFueSBvZiB5b3VyIGJyYW5jaGVzOlxuIgorIlxuIgorIiVzXG4iCittc2dzdHJbMF0gIiIKKyJBdHRlbnppb25lOiBzdGFpIHJpbXVvdmVuZG8gJWQgY29tbWl0IG5vbiBjb2xsZWdhdG8gYWQgYWxjdW5cbiIKKyJicmFuY2g6XG4iCisiXG4iCisiJXNcbiIKK21zZ3N0clsxXSAiIgorIkF0dGVuemlvbmU6IHN0YWkgcmltdW92ZW5kbyAlZCBjb21taXQgbm9uIGNvbGxlZ2F0aSBhZCBhbGN1blxuIgorImJyYW5jaDpcbiIKKyJcbiIKKyIlc1xuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJZiB5b3Ugd2FudCB0byBrZWVwIGl0IGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKKyJ0byBkbyBzbyB3aXRoOlxuIgorIlxuIgorIiBnaXQgYnJhbmNoIDxuZXctYnJhbmNoLW5hbWU+ICVzXG4iCisiXG4iCittc2dpZF9wbHVyYWwgIiIKKyJJZiB5b3Ugd2FudCB0byBrZWVwIHRoZW0gYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgorInRvIGRvIHNvIHdpdGg6XG4iCisiXG4iCisiIGdpdCBicmFuY2ggPG5ldy1icmFuY2gtbmFtZT4gJXNcbiIKKyJcbiIKK21zZ3N0clswXSAiIgorIlNlIHZ1b2kgbWFudGVuZXJsbyBjcmVhbmRvIHVuIG51b3ZvIGJyYW5jaCwgcXVlc3RvIHBvdHJlYmJlIGVzc2VyZVxuIgorInVuIGJ1b24gbW9tZW50byBwZXIgZmFybG8gY29uOlxuIgorIlxuIgorIiBnaXQgYnJhbmNoIDxub21lIGRlbCBudW92byBicmFuY2g+ICVzXG4iCisiXG4iCittc2dzdHJbMV0gIiIKKyJTZSB2dW9pIG1hbnRlbmVybGkgY3JlYW5kbyB1biBudW92byBicmFuY2gsIHF1ZXN0byBwb3RyZWJiZSBlc3NlcmVcbiIKKyJ1biBidW9uIG1vbWVudG8gcGVyIGZhcmxvIGNvbjpcbiIKKyJcbiIKKyIgZ2l0IGJyYW5jaCA8bm9tZSBkZWwgbnVvdm8gYnJhbmNoPiAlc1xuIgorIlxuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAwNworbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCittc2dzdHIgImVycm9yZSBpbnRlcm5vIGR1cmFudGUgbGEgdmlzaXRhIGRlbGxlIHJldmlzaW9uaSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTEKK21zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKK21zZ3N0ciAiTGEgcHJlY2VkZW50ZSBwb3NpemlvbmUgZGkgSEVBRCBlcmEiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDUxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjg2Cittc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKK21zZ3N0ciAiU2VpIHN1IHVuIGJyYW5jaCBjaGUgZGV2ZSBhbmNvcmEgZXNzZXJlIGNyZWF0byIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjExNzgKK21zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQiCittc2dzdHIgImF0dGVzbyBzb2xvIHVuIHJpZmVyaW1lbnRvIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5NQorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQsICVkIGdpdmVuLiIKK21zZ3N0ciAiYXR0ZXNvIHNvbG8gdW4gcmlmZXJpbWVudG8sICVkIHNwZWNpZmljYXRpLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiclcycgY291bGQgYmUgYm90aCBhIGxvY2FsIGZpbGUgYW5kIGEgdHJhY2tpbmcgYnJhbmNoLlxuIgorIlBsZWFzZSB1c2UgLS0gKGFuZCBvcHRpb25hbGx5IC0tbm8tZ3Vlc3MpIHRvIGRpc2FtYmlndWF0ZSIKK21zZ3N0ciAiIgorIiclcycgcG90cmViYmUgZXNzZXJlIHNpYSB1biBmaWxlIGxvY2FsZSwgc2lhIHVuIGJyYW5jaCBkYSB0cmFjY2lhcmUuXG4iCisiVXNhIC0tIChlIGZhY29sdGF0aXZhbWVudGUgLS1uby1ndWVzcykgcGVyIHJpbXVvdmVyZSBsJ2FtYmlndWl0w6AiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQ1IGJ1aWx0aW4vd29ya3RyZWUuYzoyOTAgYnVpbHRpbi93b3JrdHJlZS5jOjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZTogJXMiCittc2dzdHIgInJpZmVyaW1lbnRvIG5vbiB2YWxpZG86ICVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1OCBidWlsdGluL2NoZWNrb3V0LmM6MTYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCittc2dzdHIgImlsIHJpZmVyaW1lbnRvIG5vbiDDqCB1biBhbGJlcm86ICVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMwNQorIywgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IHRhZyAnJXMnIgorbXNnc3RyICJhdHRlc28gYnJhbmNoLCByaWNldnV0byB0YWcgJyVzJyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSBicmFuY2ggaXMgZXhwZWN0ZWQsIGdvdCByZW1vdGUgYnJhbmNoICclcyciCittc2dzdHIgImF0dGVzbyBicmFuY2gsIHJpY2V2dXRvIGJyYW5jaCByZW1vdG8gJyVzJyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMDggYnVpbHRpbi9jaGVja291dC5jOjEzMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSBicmFuY2ggaXMgZXhwZWN0ZWQsIGdvdCAnJXMnIgorbXNnc3RyICJhdHRlc28gYnJhbmNoLCByaWNldnV0byAnJXMnIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMxMQorIywgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IGNvbW1pdCAnJXMnIgorbXNnc3RyICJhdHRlc28gYnJhbmNoLCByaWNldnV0byBjb21taXQgJyVzJyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMjcKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgbWVyZ2luZ1xuIgorIkNvbnNpZGVyIFwiZ2l0IG1lcmdlIC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorImltcG9zc2liaWxlIGNhbWJpYXJlIGJyYW5jaCBkdXJhbnRlIHVuIG1lcmdlXG4iCisiQ29uc2lkZXJhIGwndXNvIGRpIFwiZ2l0IG1lcmdlIC0tcXVpdFwiIG8gZGkgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMzMQorbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb25cbiIKKyJDb25zaWRlciBcImdpdCBhbSAtLXF1aXRcIiBvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCittc2dzdHIgIiIKKyJpbXBvc3NpYmlsZSBjYW1iaWFyZSBicmFuY2ggbmVsIGJlbCBtZXp6byBkaSB1bmEgc2Vzc2lvbmUgYW1cbiIKKyJDb25zaWRlcmEgbCd1c28gZGkgXCJnaXQgYW0gLS1xdWl0XCIgbyBkaSBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzM1Cittc2dpZCAiIgorImNhbm5vdCBzd2l0Y2ggYnJhbmNoIHdoaWxlIHJlYmFzaW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgcmViYXNlIC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorImltcG9zc2liaWxlIGNhbWJpYXJlIGJyYW5jaCBkdXJhbnRlIHVuIHJlYmFzZVxuIgorIkNvbnNpZGVyYSBsJ3VzbyBkaSBcImdpdCByZWJhc2UgLS1xdWl0XCIgbyBkaSBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzM5Cittc2dpZCAiIgorImNhbm5vdCBzd2l0Y2ggYnJhbmNoIHdoaWxlIGNoZXJyeS1waWNraW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgY2hlcnJ5LXBpY2sgLS1xdWl0XCIgb3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorbXNnc3RyICIiCisiaW1wb3NzaWJpbGUgY2FtYmlhcmUgYnJhbmNoIGR1cmFudGUgdW4gY2hlcnJ5LXBpY2tcbiIKKyJDb25zaWRlcmEgbCd1c28gZGkgXCJnaXQgY2hlcnJ5LXBpY2sgLS1xdWl0XCIgbyBkaSBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzQzCittc2dpZCAiIgorImNhbm5vdCBzd2l0Y2ggYnJhbmNoIHdoaWxlIHJldmVydGluZ1xuIgorIkNvbnNpZGVyIFwiZ2l0IHJldmVydCAtLXF1aXRcIiBvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCittc2dzdHIgIiIKKyJpbXBvc3NpYmlsZSBjYW1iaWFyZSBicmFuY2ggZHVyYW50ZSB1biByZXZlcnRcbiIKKyJDb25zaWRlcmEgbCd1c28gZGkgXCJnaXQgcmV2ZXJ0IC0tcXVpdFwiIG8gZGkgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM0NworbXNnaWQgInlvdSBhcmUgc3dpdGNoaW5nIGJyYW5jaCB3aGlsZSBiaXNlY3RpbmciCittc2dzdHIgInN0YWkgY2FtYmlhbmRvIGJyYW5jaCBkdXJhbnRlIHVuYSBiaXNlemlvbmUiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzU0Cittc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCittc2dzdHIgImkgcGVyY29yc2kgbm9uIHBvc3Nvbm8gZXNzZXJlIHVzYXRpIHBhc3NhbmRvIGRhIHVuIGJyYW5jaCBhIHVuIGFsdHJvIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1NyBidWlsdGluL2NoZWNrb3V0LmM6MTM2MSBidWlsdGluL2NoZWNrb3V0LmM6MTM2NQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgorbXNnc3RyICInJXMnIG5vbiBwdcOyIGVzc2VyZSB1c2F0byBwYXNzYW5kbyBkYSB1biBicmFuY2ggYSB1biBhbHRybyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNjkgYnVpbHRpbi9jaGVja291dC5jOjEzNzIgYnVpbHRpbi9jaGVja291dC5jOjEzNzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzgwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAnJXMnIgorbXNnc3RyICInJXMnIG5vbiBwdcOyIGVzc2VyZSB1c2F0byBjb24gJyVzJyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBjYW5ub3QgdGFrZSA8c3RhcnQtcG9pbnQ+IgorbXNnc3RyICInJXMnIG5vbiBhY2NldHRhIGwnYXJnb21lbnRvIDxwdW50byBkaSBwYXJ0ZW56YT4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgorbXNnc3RyICJJbXBvc3NpYmlsZSBjYW1iaWFyZSBicmFuY2ggcGVyIHBhc3NhcmUgYSAnJXMnIGNoZSBub24gw6ggdW4gY29tbWl0IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM5NworbXNnaWQgIm1pc3NpbmcgYnJhbmNoIG9yIGNvbW1pdCBhcmd1bWVudCIKK21zZ3N0ciAiYXJnb21lbnRvIGJyYW5jaCBvIGNvbW1pdCBtYW5jYW50ZSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0MzkgYnVpbHRpbi9jbG9uZS5jOjkxIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NTIKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTEzIGJ1aWx0aW4vZmV0Y2guYzoxNjcgYnVpbHRpbi9tZXJnZS5jOjI4NQorIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MjcgYnVpbHRpbi9wdWxsLmM6MTM4IGJ1aWx0aW4vcHVzaC5jOjU2MworIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzQKK21zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCittc2dzdHIgImZvcnphIGwnaW5kaWNhemlvbmUgZCdhdmFuemFtZW50byBkZWxsJ29wZXJhemlvbmUiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDQwCittc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCittc2dzdHIgImVzZWd1aSB1biBtZXJnZSBhIHRyZSB2aWUgY29uIGlsIG51b3ZvIGJyYW5jaCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NDEgYnVpbHRpbi9sb2cuYzoxNjkwIHBhcnNlLW9wdGlvbnMuaDozMjIKK21zZ2lkICJzdHlsZSIKK21zZ3N0ciAic3RpbGUiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDQyCittc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKK21zZ3N0ciAic3RpbGUgY29uZmxpdHRpIChtZXJnZSBvIGRpZmYzKSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTQgYnVpbHRpbi93b3JrdHJlZS5jOjUwMworbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKK21zZ3N0ciAic2NvbGxlZ2EgbCdIRUFEIGFsIGNvbW1pdCBzcGVjaWZpY2F0byIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTUKK21zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKK21zZ3N0ciAiaW1wb3N0YSBsZSBpbmZvcm1hemlvbmkgc3VsbCd1cHN0cmVhbSBwZXIgaWwgbnVvdm8gYnJhbmNoIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ1NworbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgorbXNnc3RyICJlc2VndWkgZm9yemF0YW1lbnRlIGlsIGNoZWNrb3V0IChzY2FydGEgbGUgbW9kaWZpY2hlIGxvY2FsaSkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU5Cittc2dpZCAibmV3LWJyYW5jaCIKK21zZ3N0ciAibnVvdm8gYnJhbmNoIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ1OQorbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKK21zZ3N0ciAibnVvdm8gYnJhbmNoIHNlbnphIGdlbml0b3JlIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ2MSBidWlsdGluL21lcmdlLmM6Mjg4Cittc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgorbXNnc3RyICJhZ2dpb3JuYSBpIGZpbGUgaWdub3JhdGkgKGltcG9zdGF6aW9uZSBwcmVkZWZpbml0YSkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDY0Cittc2dpZCAiZG8gbm90IGNoZWNrIGlmIGFub3RoZXIgd29ya3RyZWUgaXMgaG9sZGluZyB0aGUgZ2l2ZW4gcmVmIgorbXNnc3RyICIiCisibm9uIGNvbnRyb2xsYXJlIHNlIHVuIGFsdHJvIGFsYmVybyBkaSBsYXZvcm8gY29udGllbmUgaWwgcmlmZXJpbWVudG8gIgorInNwZWNpZmljYXRvIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ3NworbXNnaWQgImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKK21zZ3N0ciAiIgorImVzZWd1aSBpbCBjaGVja291dCBkZWxsYSBub3N0cmEgdmVyc2lvbmUgcGVyIGkgZmlsZSBub24gc290dG9wb3N0aSBhIG1lcmdlIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ4MAorbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgorbXNnc3RyICIiCisiZXNlZ3VpIGlsIGNoZWNrb3V0IGRlbGxhIGxvcm8gdmVyc2lvbmUgcGVyIGkgZmlsZSBub24gc290dG9wb3N0aSBhIG1lcmdlIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ4NAorbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKK21zZ3N0ciAibm9uIGxpbWl0YXJlIGdsaSBzcGVjaWZpY2F0b3JpIHBlcmNvcnNvIHNvbG8gYWxsZSB2b2NpIHNwYXJzZSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE1MzcKK21zZ2lkICItYiwgLUIgYW5kIC0tb3JwaGFuIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgImxlIG9wemlvbmkgLWIsIC1CIGUgLS1vcnBoYW4gc29ubyBtdXR1YW1lbnRlIGVzY2x1c2l2ZSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE1NDAKK21zZ2lkICItcCBhbmQgLS1vdmVybGF5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgImxlIG9wemlvbmkgLXAgZSAtLW92ZXJsYXkgc29ubyBtdXR1YWxtZW50ZSBlc2NsdXNpdmUiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTc3Cittc2dpZCAiLS10cmFjayBuZWVkcyBhIGJyYW5jaCBuYW1lIgorbXNnc3RyICItLXRyYWNrIHJpY2hpZWRlIGlsIG5vbWUgZGkgdW4gYnJhbmNoIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTU4MgorbXNnaWQgIm1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKK21zZ3N0ciAibm9tZSBkZWwgYnJhbmNoIG1hbmNhbnRlOyBwcm92YSBjb24gLWIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjE1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaXNvbHZlcmUgJXMiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjMxCittc2dpZCAiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iCittc2dzdHIgInNwZWNpZmljYXRvcmUgcGVyY29yc28gbm9uIHZhbGlkbyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQgYW5kIGEgYnJhbmNoICclcycgY2Fubm90IGJlIGNyZWF0ZWQgZnJvbSBpdCIKK21zZ3N0ciAiIgorIiclcycgbm9uIMOoIHVuIGNvbW1pdCBlIG5vbiBzaSBwdcOyIGNyZWFyZSB1biBicmFuY2ggJyVzJyBjaGUgcGFydGEgZGEgZXNzbyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBkb2VzIG5vdCB0YWtlIGEgcGF0aCBhcmd1bWVudCAnJXMnIgorbXNnc3RyICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIG5vbiBhY2NldHRhIHVuIHBlcmNvcnNvICclcycgY29tZSBhcmdvbWVudG8iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjUxCittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1kZXRhY2giCittc2dzdHIgIi0tcGF0aHNwZWMtZnJvbS1maWxlIG5vbiDDqCBjb21wYXRpYmlsZSBjb24gLS1kZXRhY2giCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjU0IGJ1aWx0aW4vcmVzZXQuYzozMjQKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLXBhdGNoIgorbXNnc3RyICItLXBhdGhzcGVjLWZyb20tZmlsZSBub24gw6ggY29tcGF0aWJpbGUgY29uIC0tcGF0Y2giCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjY1Cittc2dpZCAiIgorImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgorImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgorbXNnc3RyICIiCisiZ2l0IGNoZWNrb3V0OiAtLW91cnMvLS10aGVpcnMsIC0tZm9yY2UgZSAtLW1lcmdlIHNvbm8gaW5jb21wYXRpYmlsaSBxdWFuZG9cbiIKKyJzaSBlc2VndWUgaWwgY2hlY2tvdXQgZGVsbCdpbmRpY2UuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY3MAorbXNnaWQgInlvdSBtdXN0IHNwZWNpZnkgcGF0aChzKSB0byByZXN0b3JlIgorbXNnc3RyICJkZXZpIHNwZWNpZmljYXJlIGlsIHBlcmNvcnNvL2kgcGVyY29yc2kgZGEgcmlwcmlzdGluYXJlIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJyVzJyBtYXRjaGVkIG1vcmUgdGhhbiBvbmUgcmVtb3RlIHRyYWNraW5nIGJyYW5jaC5cbiIKKyJXZSBmb3VuZCAlZCByZW1vdGVzIHdpdGggYSByZWZlcmVuY2UgdGhhdCBtYXRjaGVkLiBTbyB3ZSBmZWxsIGJhY2tcbiIKKyJvbiB0cnlpbmcgdG8gcmVzb2x2ZSB0aGUgYXJndW1lbnQgYXMgYSBwYXRoLCBidXQgZmFpbGVkIHRoZXJlIHRvbyFcbiIKKyJcbiIKKyJJZiB5b3UgbWVhbnQgdG8gY2hlY2sgb3V0IGEgcmVtb3RlIHRyYWNraW5nIGJyYW5jaCBvbiwgZS5nLiAnb3JpZ2luJyxcbiIKKyJ5b3UgY2FuIGRvIHNvIGJ5IGZ1bGx5IHF1YWxpZnlpbmcgdGhlIG5hbWUgd2l0aCB0aGUgLS10cmFjayBvcHRpb246XG4iCisiXG4iCisiICAgIGdpdCBjaGVja291dCAtLXRyYWNrIG9yaWdpbi88bmFtZT5cbiIKKyJcbiIKKyJJZiB5b3UnZCBsaWtlIHRvIGFsd2F5cyBoYXZlIGNoZWNrb3V0cyBvZiBhbiBhbWJpZ3VvdXMgPG5hbWU+IHByZWZlclxuIgorIm9uZSByZW1vdGUsIGUuZy4gdGhlICdvcmlnaW4nIHJlbW90ZSwgY29uc2lkZXIgc2V0dGluZ1xuIgorImNoZWNrb3V0LmRlZmF1bHRSZW1vdGU9b3JpZ2luIGluIHlvdXIgY29uZmlnLiIKK21zZ3N0ciAiIgorIiclcycgY29ycmlzcG9uZGUgYSBwacO5IGRpIHVuIGJyYW5jaCByZW1vdG8uXG4iCisiQWJiaWFtbyB0cm92YXRvICVkIHJlbW90aSBjb24gdW4gcmlmZXJpbWVudG8gY29ycmlzcG9uZGVudGUsIHBlciBjdWlcbiIKKyJhYmJpYW1vIHJpcGllZ2F0byB0ZW50YW5kbyBkaSByaXNvbHZlcmUgbCdhcmdvbWVudG8gY29tZSBwZXJjb3JzbywgbWFcbiIKKyJub24gc2lhbW8gcml1c2NpdGkgbmVtbWVubyBhIHBvcnRhcmUgYSB0ZXJtaW5lIHRhbGUgb3BlcmF6aW9uZSFcbiIKKyJcbiIKKyJTZSBpbnRlbmRldmkgZXNlZ3VpcmUgaWwgY2hlY2tvdXQgZGkgdW4gYnJhbmNoIHJlbW90bywgYWQgZXMuICdvcmlnaW4nLFxuIgorInB1b2kgZmFybG8gdXNhbmRvIGxhIHZlcnNpb25lIGNvbXBsZXRhbWVudGUgcXVhbGlmaWNhdGEgZGVsIG5vbWVcbiIKKyJjb24gbCdvcHppb25lIC0tdHJhY2s6XG4iCisiXG4iCisiICAgIGdpdCBjaGVja291dCAtLXRyYWNrIG9yaWdpbi88bm9tZT5cbiIKKyJcbiIKKyJTZSBwcmVmZXJpc2NpIGNoZSBpIGNoZWNrb3V0IGRpIHVuIDxub21lPiBhbWJpZ3VvIHNpYW5vIHNlbXByZSByaXNvbHRpXG4iCisicmlzcGV0dG8gYSB1biBwYXJ0aWNvbGFyZSByZW1vdG8sIGFkIGVzLiAnb3JpZ2luJywgcG90cmVzdGkgdm9sZXJcbiIKKyJpbXBvc3RhcmUgY2hlY2tvdXQuZGVmYXVsdFJlbW90ZT1vcmlnaW4gbmVsIHR1byBmaWxlIGRpIGNvbmZpZ3VyYXppb25lLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MTQgYnVpbHRpbi9jaGVja291dC5jOjE3MTYgYnVpbHRpbi9jaGVja291dC5jOjE3NjUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY3IGJ1aWx0aW4vY2xvbmUuYzoxMjEgYnVpbHRpbi9yZW1vdGUuYzoxNjkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTcxIGJ1aWx0aW4vd29ya3RyZWUuYzo0OTkgYnVpbHRpbi93b3JrdHJlZS5jOjUwMQorbXNnaWQgImJyYW5jaCIKK21zZ3N0ciAiYnJhbmNoIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcxNQorbXNnaWQgImNyZWF0ZSBhbmQgY2hlY2tvdXQgYSBuZXcgYnJhbmNoIgorbXNnc3RyICJjcmVhIHVuIG51b3ZvIGJyYW5jaCBlZCBlc2VndWluZSBpbCBjaGVja291dCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MTcKK21zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgorbXNnc3RyICJjcmVhL3JlaW1wb3N0YSB1biBicmFuY2ggZWQgZXNlZ3VpbmUgaWwgY2hlY2tvdXQiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE4Cittc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKK21zZ3N0ciAiY3JlYSBpbCByZWdpc3RybyBkZWkgcmlmZXJpbWVudGkgcGVyIGlsIG51b3ZvIGJyYW5jaCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MjAKK21zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyAoZGVmYXVsdCkiCittc2dzdHIgInByZXZlZGkgJ2dpdCBjaGVja291dCA8YnJhbmNoIGluZXNpc3RlbnRlPicgKGltcG9zdGF6aW9uZSBwcmVkZWZpbml0YSkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzIxCittc2dpZCAidXNlIG92ZXJsYXkgbW9kZSAoZGVmYXVsdCkiCittc2dzdHIgInVzYSBtb2RhbGl0w6Agb3ZlcmxheSAoaW1wb3N0YXppb25lIHByZWRlZmluaXRhKSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NjYKK21zZ2lkICJjcmVhdGUgYW5kIHN3aXRjaCB0byBhIG5ldyBicmFuY2giCittc2dzdHIgImNyZWEgdW4gbnVvdm8gYnJhbmNoIGUgcGFzc2EgYSBxdWVzdCd1bHRpbW8iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY4Cittc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBzd2l0Y2ggdG8gYSBicmFuY2giCittc2dzdHIgImNyZWEvcmVpbXBvc3RhIHVuIGJyYW5jaCBlIHBhc3NhIGEgcXVlc3QndWx0aW1vIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc3MAorbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IHN3aXRjaCA8bm8tc3VjaC1icmFuY2g+JyIKK21zZ3N0ciAicHJldmVkaSAnZ2l0IHN3aXRjaCA8YnJhbmNoIGluZXNpc3RlbnRlPiciCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzcyCittc2dpZCAidGhyb3cgYXdheSBsb2NhbCBtb2RpZmljYXRpb25zIgorbXNnc3RyICJzY2FydGEgbGUgbW9kaWZpY2hlIGxvY2FsaSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MDQKK21zZ2lkICJ3aGljaCB0cmVlLWlzaCB0byBjaGVja291dCBmcm9tIgorbXNnc3RyICJhbGJlcm8gZGEgY3VpIGVzZWd1aXJlIGlsIGNoZWNrb3V0IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgwNgorbXNnaWQgInJlc3RvcmUgdGhlIGluZGV4IgorbXNnc3RyICJyaXByaXN0aW5hIGwnaW5kaWNlIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgwOAorbXNnaWQgInJlc3RvcmUgdGhlIHdvcmtpbmcgdHJlZSAoZGVmYXVsdCkiCittc2dzdHIgInJpcHJpc3RpbmEgbCdhbGJlcm8gZGkgbGF2b3JvIChpbXBvc3RhemlvbmUgcHJlZGVmaW5pdGEpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgxMAorbXNnaWQgImlnbm9yZSB1bm1lcmdlZCBlbnRyaWVzIgorbXNnc3RyICJpZ25vcmEgdm9jaSBub24gc290dG9wb3N0ZSBhIG1lcmdlIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgxMQorbXNnaWQgInVzZSBvdmVybGF5IG1vZGUiCittc2dzdHIgInVzYSBtb2RhbGl0w6Agb3ZlcmxheSIKKworIzogYnVpbHRpbi9jbGVhbi5jOjI4Cittc2dpZCAiIgorImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxwYXR0ZXJuPl0gWy14IHwgLVhdIFstLV0gPHBhdGhzPi4uLiIKK21zZ3N0ciAiIgorImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxwYXR0ZXJuPl0gWy14IHwgLVhdIFstLV0gIgorIjxwZXJjb3JzaT4uLi4iCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1vdmluZyAlc1xuIgorbXNnc3RyICJFbGltaW5hemlvbmUgZGkgJXMgaW4gY29yc29cbiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHJlbW92ZSAlc1xuIgorbXNnc3RyICJFbGltaW5lcmVpICVzXG4iCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyByZXBvc2l0b3J5ICVzXG4iCittc2dzdHIgIlNhbHRvIGlsIHJlcG9zaXRvcnkgJXNcbiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHNraXAgcmVwb3NpdG9yeSAlc1xuIgorbXNnc3RyICJTYWx0ZXJlaSBpbCByZXBvc2l0b3J5ICVzXG4iCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICVzIgorbXNnc3RyICJlbGltaW5hemlvbmUgZGkgJXMgbm9uIHJpdXNjaXRhIgorCisjOiBidWlsdGluL2NsZWFuLmM6MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGxzdGF0ICVzXG4iCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIGwnbHN0YXQgZGkgJXNcbiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjMwMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU5NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUHJvbXB0IGhlbHA6XG4iCisiMSAgICAgICAgICAtIHNlbGVjdCBhIG51bWJlcmVkIGl0ZW1cbiIKKyJmb28gICAgICAgIC0gc2VsZWN0IGl0ZW0gYmFzZWQgb24gdW5pcXVlIHByZWZpeFxuIgorIiAgICAgICAgICAgLSAoZW1wdHkpIHNlbGVjdCBub3RoaW5nXG4iCittc2dzdHIgIiIKKyJHdWlkYSBhbCBwcm9tcHQ6XG4iCisiMSAgICAgICAgICAtIHNlbGV6aW9uYSB1biBlbGVtZW50byBudW1lcmF0b1xuIgorInBpcHBvICAgICAgLSBzZWxlemlvbmEgdW4gZWxlbWVudG8gYmFzYW5kb3RpIHN1IHVuIHByZWZpc3NvIHVuaXZvY29cbiIKKyIgICAgICAgICAgIC0gKHZ1b3RvKSBub24gc2VsZXppb25hcmUgbmllbnRlXG4iCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMDUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlByb21wdCBoZWxwOlxuIgorIjEgICAgICAgICAgLSBzZWxlY3QgYSBzaW5nbGUgaXRlbVxuIgorIjMtNSAgICAgICAgLSBzZWxlY3QgYSByYW5nZSBvZiBpdGVtc1xuIgorIjItMyw2LTkgICAgLSBzZWxlY3QgbXVsdGlwbGUgcmFuZ2VzXG4iCisiZm9vICAgICAgICAtIHNlbGVjdCBpdGVtIGJhc2VkIG9uIHVuaXF1ZSBwcmVmaXhcbiIKKyItLi4uICAgICAgIC0gdW5zZWxlY3Qgc3BlY2lmaWVkIGl0ZW1zXG4iCisiKiAgICAgICAgICAtIGNob29zZSBhbGwgaXRlbXNcbiIKKyIgICAgICAgICAgIC0gKGVtcHR5KSBmaW5pc2ggc2VsZWN0aW5nXG4iCittc2dzdHIgIiIKKyJHdWlkYSBhbCBwcm9tcHQ6XG4iCisiMSAgICAgICAgICAtIHNlbGV6aW9uYSB1biBzaW5nb2xvIGVsZW1lbnRvXG4iCisiMy01ICAgICAgICAtIHNlbGV6aW9uYSB1biBpbnRlcnZhbGxvIGRpIGVsZW1lbnRpXG4iCisiMi0zLDYtOSAgICAtIHNlbGV6aW9uYSBpbnRlcnZhbGxpIG11bHRpcGxpXG4iCisicGlwcG8gICAgICAtIHNlbGV6aW9uYSB1biBlbGVtZW50byBiYXNhbmRvdGkgc3UgdW4gcHJlZmlzc28gdW5pdm9jb1xuIgorIi0uLi4gICAgICAgLSBkZXNlbGV6aW9uYSBlbGVtZW50aSBzcGVjaWZpY2lcbiIKKyIqICAgICAgICAgIC0gc2VsZXppb25hIHR1dHRpIGdsaSBlbGVtZW50aVxuIgorIiAgICAgICAgICAgLSAodnVvdG8pIHRlcm1pbmEgaWwgcHJvY2Vzc28gZGkgc2VsZXppb25lXG4iCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo1MjEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NzAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTc1CisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJIdWggKCVzKT9cbiIKK21zZ3N0ciAiRWggKCVzKT9cbiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICJJbnB1dCBpZ25vcmUgcGF0dGVybnM+PiAiCittc2dzdHIgIkltbWV0dGkgaSBwYXR0ZXJuIGRhIGlnbm9yYXJlPj4gIgorCisjOiBidWlsdGluL2NsZWFuLmM6NzAwCisjLCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IENhbm5vdCBmaW5kIGl0ZW1zIG1hdGNoZWQgYnk6ICVzIgorbXNnc3RyICJBVFRFTlpJT05FOiBJbXBvc3NpYmlsZSB0cm92YXJlIGVsZW1lbnRpIGNvcnJpc3BvbmRlbnRpIGEgJXMiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3MjEKK21zZ2lkICJTZWxlY3QgaXRlbXMgdG8gZGVsZXRlIgorbXNnc3RyICJTZWxlemlvbmEgZ2xpIGVsZW1lbnRpIGRhIGVsaW1pbmFyZSIKKworIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBrZWVwIFt5L05dIGFzIGlzCisjOiBidWlsdGluL2NsZWFuLmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbW92ZSAlcyBbeS9OXT8gIgorbXNnc3RyICJFbGltaW5hcmUgJXMgW3kvTl0/ICIKKworIzogYnVpbHRpbi9jbGVhbi5jOjc5NQorbXNnaWQgIiIKKyJjbGVhbiAgICAgICAgICAgICAgIC0gc3RhcnQgY2xlYW5pbmdcbiIKKyJmaWx0ZXIgYnkgcGF0dGVybiAgIC0gZXhjbHVkZSBpdGVtcyBmcm9tIGRlbGV0aW9uXG4iCisic2VsZWN0IGJ5IG51bWJlcnMgICAtIHNlbGVjdCBpdGVtcyB0byBiZSBkZWxldGVkIGJ5IG51bWJlcnNcbiIKKyJhc2sgZWFjaCAgICAgICAgICAgIC0gY29uZmlybSBlYWNoIGRlbGV0aW9uIChsaWtlIFwicm0gLWlcIilcbiIKKyJxdWl0ICAgICAgICAgICAgICAgIC0gc3RvcCBjbGVhbmluZ1xuIgorImhlbHAgICAgICAgICAgICAgICAgLSB0aGlzIHNjcmVlblxuIgorIj8gICAgICAgICAgICAgICAgICAgLSBoZWxwIGZvciBwcm9tcHQgc2VsZWN0aW9uIgorbXNnc3RyICIiCisiY2xlYW4gICAgICAgICAgICAgICAtIGluaXppYSBsYSBwdWxpemlhXG4iCisiZmlsdGVyIGJ5IHBhdHRlcm4gICAtIGVzY2x1ZGkgZGVnbGkgZWxlbWVudGkgZGFsbCdlbGltaW5hemlvbmVcbiIKKyJzZWxlY3QgYnkgbnVtYmVycyAgIC0gc2VsZXppb25hIGdsaSBlbGVtZW50aSBkYSBlbGltaW5hcmUgc3BlY2lmaWNhbmRvbGlcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgY29uIGRlaSBudW1lcmlcbiIKKyJhc2sgZWFjaCAgICAgICAgICAgIC0gY29uZmVybWEgb2duaSBlbGltaW5hemlvbmUgKGNvbWUgXCJybSAtaVwiKVxuIgorInF1aXQgICAgICAgICAgICAgICAgLSB0ZXJtaW5hIGxhIHB1bGl6aWFcbiIKKyJoZWxwICAgICAgICAgICAgICAgIC0gdmlzdWFsaXp6YSBxdWVzdGEgc2NoZXJtYXRhXG4iCisiPyAgICAgICAgICAgICAgICAgICAtIGd1aWRhIGFsIHByb21wdCBkaSBzZWxlemlvbmUiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MzEKK21zZ2lkICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtOiIKK21zZ2lkX3BsdXJhbCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbXM6IgorbXNnc3RyWzBdICJFbGltaW5lcmVpIGlsIHNlZ3VlbnRlIGVsZW1lbnRvOiIKK21zZ3N0clsxXSAiRWxpbWluZXJlaSBpIHNlZ3VlbnRpIGVsZW1lbnRpOiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjg0NworbXNnaWQgIk5vIG1vcmUgZmlsZXMgdG8gY2xlYW4sIGV4aXRpbmcuIgorbXNnc3RyICJOb24gY2kgc29ubyBwacO5IGZpbGUgZGEgcmlwdWxpcmUsIGVzY28uIgorCisjOiBidWlsdGluL2NsZWFuLmM6OTA5Cittc2dpZCAiZG8gbm90IHByaW50IG5hbWVzIG9mIGZpbGVzIHJlbW92ZWQiCittc2dzdHIgIm5vbiBzdGFtcGFyZSBpIG5vbWkgZGVpIGZpbGUgZWxpbWluYXRpIgorCisjOiBidWlsdGluL2NsZWFuLmM6OTExCittc2dpZCAiZm9yY2UiCittc2dzdHIgImZvcnphIGwnb3BlcmF6aW9uZSIKKworIzogYnVpbHRpbi9jbGVhbi5jOjkxMgorbXNnaWQgImludGVyYWN0aXZlIGNsZWFuaW5nIgorbXNnc3RyICJwdWxpemlhIGludGVyYXR0aXZhIgorCisjOiBidWlsdGluL2NsZWFuLmM6OTE0Cittc2dpZCAicmVtb3ZlIHdob2xlIGRpcmVjdG9yaWVzIgorbXNnc3RyICJyaW11b3ZpIGludGVyZSBkaXJlY3RvcnkiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTUgYnVpbHRpbi9kZXNjcmliZS5jOjU0OCBidWlsdGluL2Rlc2NyaWJlLmM6NTUwCisjOiBidWlsdGluL2dyZXAuYzo5MDEgYnVpbHRpbi9sb2cuYzoxNzcgYnVpbHRpbi9sb2cuYzoxNzkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTcgYnVpbHRpbi9uYW1lLXJldi5jOjQ2NCBidWlsdGluL25hbWUtcmV2LmM6NDY2CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc5Cittc2dpZCAicGF0dGVybiIKK21zZ3N0ciAicGF0dGVybiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjkxNgorbXNnaWQgImFkZCA8cGF0dGVybj4gdG8gaWdub3JlIHJ1bGVzIgorbXNnc3RyICJhZ2dpdW5naSA8cGF0dGVybj4gYWxsZSByZWdvbGUgdXNhdGUgcGVyIGlnbm9yYXJlIGkgZmlsZSIKKworIzogYnVpbHRpbi9jbGVhbi5jOjkxNworbXNnaWQgInJlbW92ZSBpZ25vcmVkIGZpbGVzLCB0b28iCittc2dzdHIgImVsaW1pbmEgYW5jaGUgaSBmaWxlIGlnbm9yYXRpIgorCisjOiBidWlsdGluL2NsZWFuLmM6OTE5Cittc2dpZCAicmVtb3ZlIG9ubHkgaWdub3JlZCBmaWxlcyIKK21zZ3N0ciAiZWxpbWluYSBzb2xvIGkgZmlsZSBpZ25vcmF0aSIKKworIzogYnVpbHRpbi9jbGVhbi5jOjkzNworbXNnaWQgIi14IGFuZCAtWCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKK21zZ3N0ciAiLXggZSAtWCBub24gcG9zc29ubyBlc3NlcmUgdXNhdGkgaW5zaWVtZSIKKworIzogYnVpbHRpbi9jbGVhbi5jOjk0MQorbXNnaWQgIiIKKyJjbGVhbi5yZXF1aXJlRm9yY2Ugc2V0IHRvIHRydWUgYW5kIG5laXRoZXIgLWksIC1uLCBub3IgLWYgZ2l2ZW47IHJlZnVzaW5nIHRvICIKKyJjbGVhbiIKK21zZ3N0ciAiIgorImNsZWFuLnJlcXVpcmVGb3JjZSDDqCBpbXBvc3RhdG8gYSB0cnVlIGUgbsOpIC1pLCBuw6kgLW4sIG7DqSAtZiBzb25vIHN0YXRpICIKKyJzcGVjaWZpY2F0aTsgbWkgcmlmaXV0byBkaSBlc2VndWlyZSBsYSBwdWxpemlhIgorCisjOiBidWlsdGluL2NsZWFuLmM6OTQ0Cittc2dpZCAiIgorImNsZWFuLnJlcXVpcmVGb3JjZSBkZWZhdWx0cyB0byB0cnVlIGFuZCBuZWl0aGVyIC1pLCAtbiwgbm9yIC1mIGdpdmVuOyAiCisicmVmdXNpbmcgdG8gY2xlYW4iCittc2dzdHIgIiIKKyJjbGVhbi5yZXF1aXJlRm9yY2Ugw6ggdHJ1ZSBwZXIgaW1wb3N0YXppb25lIHByZWRlZmluaXRhIGUgbsOpIC1pLCBuw6kgLW4sIG7DqSAtZiAiCisic29ubyBzdGF0aSBzcGVjaWZpY2F0aTsgbWkgcmlmaXV0byBkaSBlc2VndWlyZSBsYSBwdWxpemlhIgorCisjOiBidWlsdGluL2Nsb25lLmM6NDUKK21zZ2lkICJnaXQgY2xvbmUgWzxvcHRpb25zPl0gWy0tXSA8cmVwbz4gWzxkaXI+XSIKK21zZ3N0ciAiZ2l0IGNsb25lIFs8b3B6aW9uaT5dIFstLV0gPHJlcG9zaXRvcnk+IFs8ZGlyZWN0b3J5Pl0iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MworbXNnaWQgImRvbid0IGNyZWF0ZSBhIGNoZWNrb3V0IgorbXNnc3RyICJub24gY3JlYXJlIHVuIGNoZWNrb3V0IgorCisjOiBidWlsdGluL2Nsb25lLmM6OTQgYnVpbHRpbi9jbG9uZS5jOjk2IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4OQorbXNnaWQgImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIKK21zZ3N0ciAiY3JlYSB1biByZXBvc2l0b3J5IHNwb2dsaW8iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OAorbXNnaWQgImNyZWF0ZSBhIG1pcnJvciByZXBvc2l0b3J5IChpbXBsaWVzIGJhcmUpIgorbXNnc3RyICJjcmVhIHVuIHJlcG9zaXRvcnkgbWlycm9yIChpbXBsaWNhIGNoZSBzaWEgc3BvZ2xpbykiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKK21zZ2lkICJ0byBjbG9uZSBmcm9tIGEgbG9jYWwgcmVwb3NpdG9yeSIKK21zZ3N0ciAicGVyIGNsb25hcmUgZGEgdW4gcmVwb3NpdG9yeSBsb2NhbGUiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIKK21zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKK21zZ3N0ciAibm9uIHVzYXJlIGkgY29sbGVnYW1lbnRpIHJlYWxpIGxvY2FsaSwgY29waWEgc2VtcHJlIGkgZmlsZSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwNAorbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgorbXNnc3RyICJpbXBvc3RhIGlsIHJlcG9zaXRvcnkgY29tZSBjb25kaXZpc28iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcKK21zZ2lkICJwYXRoc3BlYyIKK21zZ3N0ciAic3BlY2lmaWNhdG9yZSBwZXJjb3JzbyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwNworbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCittc2dzdHIgImluaXppYWxpenphIHNvdHRvbW9kdWxpIGR1cmFudGUgbGEgY2xvbmF6aW9uZSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjExMAorbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGNsb25lZCBpbiBwYXJhbGxlbCIKK21zZ3N0ciAibnVtZXJvIGRpIHNvdHRvbW9kdWxpIGNsb25hdGkgaW4gcGFyYWxsZWxvIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgorbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKK21zZ3N0ciAiZGlyZWN0b3J5IG1vZGVsbGkiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTIgYnVpbHRpbi9pbml0LWRiLmM6NDg3Cittc2dpZCAiZGlyZWN0b3J5IGZyb20gd2hpY2ggdGVtcGxhdGVzIHdpbGwgYmUgdXNlZCIKK21zZ3N0ciAiZGlyZWN0b3J5IGRhIGN1aSBzYXJhbm5vIHJlY3VwZXJhdGkgaSBtb2RlbGxpIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTE0IGJ1aWx0aW4vY2xvbmUuYzoxMTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODg1Cittc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkiCittc2dzdHIgInJlcG9zaXRvcnkgZGkgcmlmZXJpbWVudG8iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODg3Cittc2dpZCAidXNlIC0tcmVmZXJlbmNlIG9ubHkgd2hpbGUgY2xvbmluZyIKK21zZ3N0ciAidXNhIC0tcmVmZXJlbmNlIHNvbG8gZHVyYW50ZSBsYSBjbG9uYXppb25lIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTE5IGJ1aWx0aW4vY29sdW1uLmM6MjcgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5NCBidWlsdGluL3JlcGFjay5jOjMyNworbXNnaWQgIm5hbWUiCittc2dzdHIgIm5vbWUiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjAKK21zZ2lkICJ1c2UgPG5hbWU+IGluc3RlYWQgb2YgJ29yaWdpbicgdG8gdHJhY2sgdXBzdHJlYW0iCittc2dzdHIgInVzYSA8bm9tZT4gYW56aWNow6kgJ29yaWdpbicgcGVyIHRyYWNjaWFyZSBsJ3Vwc3RyZWFtIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTIyCittc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gaW5zdGVhZCBvZiB0aGUgcmVtb3RlJ3MgSEVBRCIKK21zZ3N0ciAiZXNlZ3VpIGlsIGNoZWNrb3V0IGRpIDxicmFuY2g+IGFuemljaMOpIGRlbGwnSEVBRCBkZWwgcmVtb3RvIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTI0Cittc2dpZCAicGF0aCB0byBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSIKK21zZ3N0ciAicGVyY29yc28gYWwgY29tYW5kbyByZW1vdG8gZ2l0LXVwbG9hZC1wYWNrIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTI1IGJ1aWx0aW4vZmV0Y2guYzoxNjggYnVpbHRpbi9ncmVwLmM6ODQwCisjOiBidWlsdGluL3B1bGwuYzoyMjcKK21zZ2lkICJkZXB0aCIKK21zZ3N0ciAicHJvZm9uZGl0w6AiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjYKK21zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIG9mIHRoYXQgZGVwdGgiCittc2dzdHIgImNyZWEgdW4gY2xvbmUgc2hhbGxvdyBjb24gcXVlc3RhIHByb2ZvbmRpdMOgIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTI3IGJ1aWx0aW4vZmV0Y2guYzoxNzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgzCittc2dpZCAidGltZSIKK21zZ3N0ciAidGVtcG8iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjgKK21zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIHNpbmNlIGEgc3BlY2lmaWMgdGltZSIKK21zZ3N0ciAiY3JlYSB1biBjbG9uZSBzaGFsbG93IGEgcGFydGlyZSBkYWxsJ2lzdGFudGUgc3BlY2lmaWNhdG8iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjkgYnVpbHRpbi9mZXRjaC5jOjE3MiBidWlsdGluL2ZldGNoLmM6MTk1CisjOiBidWlsdGluL3JlYmFzZS5jOjE0NDUKK21zZ2lkICJyZXZpc2lvbiIKK21zZ3N0ciAicmV2aXNpb25lIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTMwIGJ1aWx0aW4vZmV0Y2guYzoxNzMKK21zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lLCBleGNsdWRpbmcgcmV2IgorbXNnc3RyICIiCisiYXVtZW50YSBsYSBwcm9mb25kaXTDoCBkZWxsYSBjcm9ub2xvZ2lhIGRlbCBjbG9uZSBzaGFsbG93IGZpbm8gYWxsYSByZXZpc2lvbmUgIgorInNwZWNpZmljYXRhIGVzY2x1c2EiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzIKK21zZ2lkICJjbG9uZSBvbmx5IG9uZSBicmFuY2gsIEhFQUQgb3IgLS1icmFuY2giCittc2dzdHIgImNsb25hIHNvbG8gdW4gYnJhbmNoLCBIRUFEIG8gcXVlbGxvIHNwZWNpZmljYXRvIGNvbiAtLWJyYW5jaCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEzNAorbXNnaWQgImRvbid0IGNsb25lIGFueSB0YWdzLCBhbmQgbWFrZSBsYXRlciBmZXRjaGVzIG5vdCB0byBmb2xsb3cgdGhlbSIKK21zZ3N0ciAibm9uIGNsb25hcmUgYWxjdW4gdGFnIGUgZmFpIHPDrCBjaGUgaSBmZXRjaCBzdWNjZXNzaXZpIG5vbiBsaSBzZWd1YW5vIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTM2Cittc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgYmUgc2hhbGxvdyIKK21zZ3N0ciAidHV0dGkgaSBzb3R0b21vZHVsaSBjbG9uYXRpIHNhcmFubm8gc2hhbGxvdyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEzNyBidWlsdGluL2luaXQtZGIuYzo0OTUKK21zZ2lkICJnaXRkaXIiCittc2dzdHIgImRpcmVjdG9yeSBHaXQiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzggYnVpbHRpbi9pbml0LWRiLmM6NDk2Cittc2dpZCAic2VwYXJhdGUgZ2l0IGRpciBmcm9tIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAic2VwYXJhIGxhIGRpcmVjdG9yeSBHaXQgZGFsbCdhbGJlcm8gZGkgbGF2b3JvIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTM5Cittc2dpZCAia2V5PXZhbHVlIgorbXNnc3RyICJjaGlhdmU9dmFsb3JlIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTQwCittc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgorbXNnc3RyICJpbXBvc3RhIGxhIGNvbmZpZ3VyYXppb25lIG5lbCBudW92byByZXBvc2l0b3J5IgorCisjOiBidWlsdGluL2Nsb25lLmM6MTQyIGJ1aWx0aW4vZmV0Y2guYzoxOTAgYnVpbHRpbi9scy1yZW1vdGUuYzo3NgorIzogYnVpbHRpbi9wdXNoLmM6NTczIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTcyCittc2dpZCAic2VydmVyLXNwZWNpZmljIgorbXNnc3RyICJzcGVjaWZpY2EgZGVsIHNlcnZlciIKKworIzogYnVpbHRpbi9jbG9uZS5jOjE0MiBidWlsdGluL2ZldGNoLmM6MTkwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MyBidWlsdGluL3NlbmQtcGFjay5jOjE3MworbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKK21zZ3N0ciAib3B6aW9uZSBkYSB0cmFzbWV0dGVyZSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjE0MyBidWlsdGluL2ZldGNoLmM6MTkxIGJ1aWx0aW4vcHVsbC5jOjI0MAorIzogYnVpbHRpbi9wdXNoLmM6NTc0Cittc2dpZCAidXNlIElQdjQgYWRkcmVzc2VzIG9ubHkiCittc2dzdHIgInVzYSBzb2xvIGluZGlyaXp6aSBJUHY0IgorCisjOiBidWlsdGluL2Nsb25lLmM6MTQ1IGJ1aWx0aW4vZmV0Y2guYzoxOTMgYnVpbHRpbi9wdWxsLmM6MjQzCisjOiBidWlsdGluL3B1c2guYzo1NzYKK21zZ2lkICJ1c2UgSVB2NiBhZGRyZXNzZXMgb25seSIKK21zZ3N0ciAidXNhIHNvbG8gaW5kaXJpenppIElQdjYiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDkKK21zZ2lkICJhbnkgY2xvbmVkIHN1Ym1vZHVsZXMgd2lsbCB1c2UgdGhlaXIgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKK21zZ3N0ciAiIgorInR1dHRpIGkgc290dG9tb2R1bGkgY2xvbmF0aSB1c2VyYW5ubyBpbCBsb3JvIHJpc3BldHRpdm8gYnJhbmNoIHJlbW90byAiCisidHJhY2NpYXRvIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTUxCittc2dpZCAiaW5pdGlhbGl6ZSBzcGFyc2UtY2hlY2tvdXQgZmlsZSB0byBpbmNsdWRlIG9ubHkgZmlsZXMgYXQgcm9vdCIKK21zZ3N0ciAiIgorImluaXppYWxpenphIGlsIGZpbGUgc3BhcnNlLWNoZWNrb3V0IHBlciBpbmNsdWRlcmUgc29sbyBpIGZpbGUgbmVsIHBlcmNvcnNvIgorIiByYWRpY2UiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyODcKK21zZ2lkICIiCisiTm8gZGlyZWN0b3J5IG5hbWUgY291bGQgYmUgZ3Vlc3NlZC5cbiIKKyJQbGVhc2Ugc3BlY2lmeSBhIGRpcmVjdG9yeSBvbiB0aGUgY29tbWFuZCBsaW5lIgorbXNnc3RyICIiCisiTm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBpbmRvdmluYXJlIGFsY3VuIG5vbWUgZGlyZWN0b3J5LlxuIgorIlNwZWNpZmljYSB1bmEgZGlyZWN0b3J5IHRyYW1pdGUgbGEgcmlnYSBkaSBjb21hbmRvIgorCisjOiBidWlsdGluL2Nsb25lLmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgImluZm86IENvdWxkIG5vdCBhZGQgYWx0ZXJuYXRlIGZvciAnJXMnOiAlc1xuIgorbXNnc3RyICJpbmZvcm1hemlvbmU6IEltcG9zc2liaWxlIGFnZ2l1bmdlcmUgdW4gYWx0ZXJuYXRvIGEgJyVzJzogJXNcbiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXMgZXNpc3RlIGUgbm9uIMOoIHVuYSBkaXJlY3RvcnkiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHN0YXJ0IGl0ZXJhdG9yIG92ZXIgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXZ2aWFyZSBsJ2l0ZXJhdG9yZSBzdSAnJXMnIgorCisjOiBidWlsdGluL2Nsb25lLmM6NDYwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgbGluayAnJXMnIgorbXNnc3RyICJjcmVhemlvbmUgZGVsIGNvbGxlZ2FtZW50byAnJXMnIG5vbiByaXVzY2l0YSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCittc2dzdHIgImNvcGlhIGRlbCBmaWxlIGluICclcycgbm9uIHJpdXNjaXRhIgorCisjOiBidWlsdGluL2Nsb25lLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpdGVyYXRlIG92ZXIgJyVzJyIKK21zZ3N0ciAiaXRlcmF6aW9uZSBzdSAnJXMnIG5vbiByaXVzY2l0YSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjQ5NAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lLlxuIgorbXNnc3RyICJmYXR0by5cbiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjUwOAorbXNnaWQgIiIKKyJDbG9uZSBzdWNjZWVkZWQsIGJ1dCBjaGVja291dCBmYWlsZWQuXG4iCisiWW91IGNhbiBpbnNwZWN0IHdoYXQgd2FzIGNoZWNrZWQgb3V0IHdpdGggJ2dpdCBzdGF0dXMnXG4iCisiYW5kIHJldHJ5IHdpdGggJ2dpdCByZXN0b3JlIC0tc291cmNlPUhFQUQgOi8nXG4iCittc2dzdHIgIiIKKyJDbG9uZSBjb21wbGV0YXRvIGNvbiBzdWNjZXNzbywgbWEgaWwgY2hlY2tvdXQgbm9uIMOoIHJpdXNjaXRvLlxuIgorIlB1b2kgZXNhbWluYXJlIGdsaSBlbGVtZW50aSBkaSBjdWkgw6ggc3RhdG8gZXNlZ3VpdG8gaWwgY2hlY2tvdXRcbiIKKyJjb24gJ2dpdCBzdGF0dXMnIGUgcmlwcm92YXJlIGFkIGVzZWd1aXJlIGlsIGNoZWNrb3V0IGNvblxuIgorIidnaXQgcmVzdG9yZSAtLXNvdXJjZT1IRUFEIDovJ1xuIgorCisjOiBidWlsdGluL2Nsb25lLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbW90ZSBicmFuY2ggJXMgdG8gY2xvbmUuIgorbXNnc3RyICJJbXBvc3NpYmlsZSB0cm92YXJlIGlsIGJyYW5jaCByZW1vdG8gJXMgZGEgY2xvbmFyZS4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYWdnaW9ybmFyZSAlcyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjc1MgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIHNwYXJzZS1jaGVja291dCIKK21zZ3N0ciAiaW5pemlhbGl6emF6aW9uZSBkZWwgZmlsZSBzcGFyc2UtY2hlY2tvdXQgbm9uIHJpdXNjaXRhIgorCisjOiBidWlsdGluL2Nsb25lLmM6Nzc1Cittc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgorbXNnc3RyICIiCisibCdIRUFEIHJlbW90byBmYSByaWZlcmltZW50byBhIHVuIHJpZmVyaW1lbnRvIGluZXNpc3RlbnRlLCBpbXBvc3NpYmlsZSAiCisiZXNlZ3VpcmUgaWwgY2hlY2tvdXQuXG4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4MDYKK21zZ2lkICJ1bmFibGUgdG8gY2hlY2tvdXQgd29ya2luZyB0cmVlIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBpbCBjaGVja291dCBkZWxsJ2FsYmVybyBkaSBsYXZvcm8iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTYKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcGFyYW1ldGVycyB0byBjb25maWcgZmlsZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgaSBwYXJhbWV0cmkgbmVsIGZpbGUgZGkgY29uZmlndXJhemlvbmUiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MTkKK21zZ2lkICJjYW5ub3QgcmVwYWNrIHRvIGNsZWFuIHVwIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBpbCByZXBhY2sgcGVyIHB1bGlyZSBsJ2FyZWEgZGkgbGF2b3JvIgorCisjOiBidWlsdGluL2Nsb25lLmM6OTIxCittc2dpZCAiY2Fubm90IHVubGluayB0ZW1wb3JhcnkgYWx0ZXJuYXRlcyBmaWxlIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBsJ3VubGluayBkZWwgZmlsZSBhbHRlcm5hdGVzIHRlbXBvcmFuZW8iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NTkgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQ4Cittc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKK21zZ3N0ciAiVHJvcHBpIGFyZ29tZW50aS4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjMKK21zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgcmVwb3NpdG9yeSB0byBjbG9uZS4iCittc2dzdHIgIkRldmkgc3BlY2lmaWNhcmUgdW4gcmVwb3NpdG9yeSBkYSBjbG9uYXJlLiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjk3NgorIywgYy1mb3JtYXQKK21zZ2lkICItLWJhcmUgYW5kIC0tb3JpZ2luICVzIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZS4iCittc2dzdHIgImxlIG9wemlvbmkgLS1iYXJlIGUgLS1vcmlnaW4gJXMgbm9uIHNvbm8gY29tcGF0aWJpbGkuIgorCisjOiBidWlsdGluL2Nsb25lLmM6OTc5Cittc2dpZCAiLS1iYXJlIGFuZCAtLXNlcGFyYXRlLWdpdC1kaXIgYXJlIGluY29tcGF0aWJsZS4iCittc2dzdHIgImxlIG9wemlvbmkgLS1iYXJlIGUgLS1zZXBhcmF0ZS1naXQtZGlyIG5vbiBzb25vIGNvbXBhdGliaWxpLiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZXBvc2l0b3J5ICclcycgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImlsIHJlcG9zaXRvcnkgJyVzJyBub24gZXNpc3RlIgorCisjOiBidWlsdGluL2Nsb25lLmM6OTk4IGJ1aWx0aW4vZmV0Y2guYzoxNzg3CisjLCBjLWZvcm1hdAorbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKK21zZ3N0ciAibGEgcHJvZm9uZGl0w6AgJXMgbm9uIMOoIHVuIG51bWVybyBwb3NpdGl2byIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVzdGluYXRpb24gcGF0aCAnJXMnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYW4gZW1wdHkgZGlyZWN0b3J5LiIKK21zZ3N0ciAiIgorImlsIHBlcmNvcnNvIGRpIGRlc3RpbmF6aW9uZSAnJXMnIGVzaXN0ZSBnacOgIGUgbm9uIMOoIHVuYSBkaXJlY3RvcnkgdnVvdGEuIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgImwnYWxiZXJvIGRpIGxhdm9ybyAnJXMnIGVzaXN0ZSBnacOgLiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMzMgYnVpbHRpbi9jbG9uZS5jOjEwNTQgYnVpbHRpbi9kaWZmdG9vbC5jOjI3MQorIzogYnVpbHRpbi9sb2cuYzoxODY2IGJ1aWx0aW4vd29ya3RyZWUuYzozMDIgYnVpbHRpbi93b3JrdHJlZS5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY3JlYXJlIGxlIHByaW1lIGRpcmVjdG9yeSBkaSAnJXMnIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAzOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY3JlYXJlIGxhIGRpcmVjdG9yeSBkZWxsJ2FsYmVybyBkaSBsYXZvcm8gJyVzJyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iCittc2dzdHIgIkNsb25lIG5lbCByZXBvc2l0b3J5IHNwb2dsaW8gJyVzJyBpbiBjb3Jzby4uLlxuIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTA2MAorIywgYy1mb3JtYXQKK21zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgorbXNnc3RyICJDbG9uZSBpbiAnJXMnIGluIGNvcnNvLi4uXG4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDg0Cittc2dpZCAiIgorImNsb25lIC0tcmVjdXJzaXZlIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggYm90aCAtLXJlZmVyZW5jZSBhbmQgLS1yZWZlcmVuY2UtaWYtIgorImFibGUiCittc2dzdHIgIiIKKyJpbCBjbG9uZSAtLXJlY3Vyc2l2ZSBub24gw6ggY29tcGF0aWJpbGUgbsOpIGNvbiAtLXJlZmVyZW5jZSBuw6kgY29uIC0tcmVmZXJlbmNlLSIKKyJpZi1hYmxlIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTE0OAorbXNnaWQgIi0tZGVwdGggaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgorbXNnc3RyICJMJ29wemlvbmUgLS1kZXB0aCDDqCBpZ25vcmF0YSBuZWkgY2xvbmkgbG9jYWxpOyB1c2EgZmlsZTovLy4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTUwCittc2dpZCAiLS1zaGFsbG93LXNpbmNlIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKK21zZ3N0ciAiTCdvcHppb25lIC0tc2hhbGxvdy1zaW5jZSDDqCBpZ25vcmF0YSBuZWkgY2xvbmkgbG9jYWxpOyB1c2EgZmlsZTovLy4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTUyCittc2dpZCAiLS1zaGFsbG93LWV4Y2x1ZGUgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgorbXNnc3RyICJMJ29wemlvbmUgLS1zaGFsbG93LWV4Y2x1ZGUgw6ggaWdub3JhdGEgbmVpIGNsb25pIGxvY2FsaTsgdXNhIGZpbGU6Ly8uIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTE1NAorbXNnaWQgIi0tZmlsdGVyIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKK21zZ3N0ciAiTCdvcHppb25lIC0tZmlsdGVyIMOoIGlnbm9yYXRhIG5laSBjbG9uaSBsb2NhbGk7IHVzYSBmaWxlOi8vLiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjExNTcKK21zZ2lkICJzb3VyY2UgcmVwb3NpdG9yeSBpcyBzaGFsbG93LCBpZ25vcmluZyAtLWxvY2FsIgorbXNnc3RyICJpbCByZXBvc2l0b3J5IHNvcmdlbnRlIMOoIHNoYWxsb3csIGlnbm9ybyBsJ29wemlvbmUgLS1sb2NhbCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjExNjIKK21zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCittc2dzdHIgImwnb3B6aW9uZSAtLWxvY2FsIMOoIGlnbm9yYXRhIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTIzNyBidWlsdGluL2Nsb25lLmM6MTI0NQorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1vdGUgYnJhbmNoICVzIG5vdCBmb3VuZCBpbiB1cHN0cmVhbSAlcyIKK21zZ3N0ciAiSWwgYnJhbmNoIHJlbW90byAlcyBub24gw6ggc3RhdG8gdHJvdmF0byBuZWxsJ3Vwc3RyZWFtICVzIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTI0OAorbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCittc2dzdHIgIlNlbWJyYSBjaGUgdHUgYWJiaWEgY2xvbmF0byB1biByZXBvc2l0b3J5IHZ1b3RvLiIKKworIzogYnVpbHRpbi9jb2x1bW4uYzoxMAorbXNnaWQgImdpdCBjb2x1bW4gWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCBjb2x1bW4gWzxvcHppb25pPl0iCisKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MjcKK21zZ2lkICJsb29rdXAgY29uZmlnIHZhcnMiCittc2dzdHIgInJlY3VwZXJhIGxlIHZhcmlhYmlsaSBkaSBjb25maWd1cmF6aW9uZSBkYSBxdWkiCisKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MjggYnVpbHRpbi9jb2x1bW4uYzoyOQorbXNnaWQgImxheW91dCB0byB1c2UiCittc2dzdHIgImxheW91dCBkYSB1c2FyZSIKKworIzogYnVpbHRpbi9jb2x1bW4uYzozMAorbXNnaWQgIk1heGltdW0gd2lkdGgiCittc2dzdHIgIkxhcmdoZXp6YSBtYXNzaW1hIgorCisjOiBidWlsdGluL2NvbHVtbi5jOjMxCittc2dpZCAiUGFkZGluZyBzcGFjZSBvbiBsZWZ0IGJvcmRlciIKK21zZ3N0ciAiU3BhemkgdnVvdGkgcGVyIGlsIG1hcmdpbmUgc2luaXN0cm8iCisKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MzIKK21zZ2lkICJQYWRkaW5nIHNwYWNlIG9uIHJpZ2h0IGJvcmRlciIKK21zZ3N0ciAiU3BhemkgdnVvdGkgcGVyIGlsIG1hcmdpbmUgZGVzdHJvIgorCisjOiBidWlsdGluL2NvbHVtbi5jOjMzCittc2dpZCAiUGFkZGluZyBzcGFjZSBiZXR3ZWVuIGNvbHVtbnMiCittc2dzdHIgIlNwYXppIHZ1b3RpIGZyYSBsZSBjb2xvbm5lIgorCisjOiBidWlsdGluL2NvbHVtbi5jOjUxCittc2dpZCAiLS1jb21tYW5kIG11c3QgYmUgdGhlIGZpcnN0IGFyZ3VtZW50IgorbXNnc3RyICItLWNvbW1hbmQgZGV2ZSBlc3NlcmUgaWwgcHJpbW8gYXJnb21lbnRvIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTgKK21zZ2lkICIiCisiZ2l0IGNvbW1pdC10cmVlIFsoLXAgPHBhcmVudD4pLi4uXSBbLVNbPGtleWlkPl1dIFsoLW0gPG1lc3NhZ2U+KS4uLl0gWygtRiAiCisiPGZpbGU+KS4uLl0gPHRyZWU+IgorbXNnc3RyICIiCisiZ2l0IGNvbW1pdC10cmVlIFsoLXAgPGdlbml0b3JlPikuLi5dIFstU1s8SUQgY2hpYXZlPl1dIFsoLW0gPG1lc3NhZ2dpbz4pLi4uXSAiCisiWygtRiA8ZmlsZT4pLi4uXSA8YWxiZXJvPiIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImR1cGxpY2F0ZSBwYXJlbnQgJXMgaWdub3JlZCIKK21zZ3N0ciAiZ2VuaXRvcmUgZHVwbGljYXRvICVzIGlnbm9yYXRvIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6NTYgYnVpbHRpbi9jb21taXQtdHJlZS5jOjEzNiBidWlsdGluL2xvZy5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKK21zZ3N0ciAiJXMgbm9uIMOoIHVuIG5vbWUgb2dnZXR0byB2YWxpZG8iCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byBvcGVuICclcyciCittc2dzdHIgImdpdCBjb21taXQtdHJlZTogYXBlcnR1cmEgZGkgJyVzJyBub24gcml1c2NpdGEiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byByZWFkICclcyciCittc2dzdHIgImdpdCBjb21taXQtdHJlZTogbGV0dHVyYSBkaSAnJXMnIG5vbiByaXVzY2l0YSIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIGNsb3NlICclcyciCittc2dzdHIgImdpdCBjb21taXQtdHJlZTogY2hpdXN1cmEgZGkgJyVzJyBub24gcml1c2NpdGEiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTEKK21zZ2lkICJwYXJlbnQiCittc2dzdHIgImdlbml0b3JlIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTEyCittc2dpZCAiaWQgb2YgYSBwYXJlbnQgY29tbWl0IG9iamVjdCIKK21zZ3N0ciAiSUQgZGkgdW4gb2dnZXR0byBjb21taXQgZ2VuaXRvcmUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTQgYnVpbHRpbi9jb21taXQuYzoxNDk2IGJ1aWx0aW4vbWVyZ2UuYzoyNzAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDkgYnVpbHRpbi9ub3Rlcy5jOjU3NSBidWlsdGluL3N0YXNoLmM6MTQ2OQorIzogYnVpbHRpbi90YWcuYzo0MTIKK21zZ2lkICJtZXNzYWdlIgorbXNnc3RyICJtZXNzYWdnaW8iCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTUgYnVpbHRpbi9jb21taXQuYzoxNDk2Cittc2dpZCAiY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgIm1lc3NhZ2dpbyBkaSBjb21taXQiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTgKK21zZ2lkICJyZWFkIGNvbW1pdCBsb2cgbWVzc2FnZSBmcm9tIGZpbGUiCittc2dzdHIgImxlZ2dpIGlsIG1lc3NhZ2dpbyBkaSBsb2cgZGVsIGNvbW1pdCBkYSB1biBmaWxlIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTIxIGJ1aWx0aW4vY29tbWl0LmM6MTUwOCBidWlsdGluL21lcmdlLmM6Mjg3CisjOiBidWlsdGluL3B1bGwuYzoxOTUgYnVpbHRpbi9yZXZlcnQuYzoxMTgKK21zZ2lkICJHUEcgc2lnbiBjb21taXQiCittc2dzdHIgImZpcm1hIGlsIGNvbW1pdCBjb24gR1BHIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTMzCittc2dpZCAibXVzdCBnaXZlIGV4YWN0bHkgb25lIHRyZWUiCittc2dzdHIgIsOoIG5lY2Vzc2FyaW8gZm9ybmlyZSBlc2F0dGFtZW50ZSB1biBhbGJlcm8iCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxNDAKK21zZ2lkICJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byByZWFkIgorbXNnc3RyICJnaXQgY29tbWl0LXRyZWU6IGxldHR1cmEgbm9uIHJpdXNjaXRhIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjQxCittc2dpZCAiZ2l0IGNvbW1pdCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCittc2dzdHIgImdpdCBjb21taXQgWzxvcHppb25pPl0gWy0tXSA8c3BlY2lmaWNhdG9yZSBwZXJjb3Jzbz4uLi4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDYKK21zZ2lkICJnaXQgc3RhdHVzIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKK21zZ3N0ciAiZ2l0IHN0YXR1cyBbPG9wemlvbmk+XSBbLS1dIDxzcGVjaWZpY2F0b3JlIHBlcmNvcnNvPi4uLiIKKworIzogYnVpbHRpbi9jb21taXQuYzo1MQogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gYW1lbmQgdGhlIG1vc3QgcmVjZW50IGNvbW1pdCwgYnV0IGRvaW5nIHNvIHdvdWxkIG1ha2VcbiIKICJpdCBlbXB0eS4gWW91IGNhbiByZXBlYXQgeW91ciBjb21tYW5kIHdpdGggLS1hbGxvdy1lbXB0eSwgb3IgeW91IGNhblxuIgogInJlbW92ZSB0aGUgY29tbWl0IGVudGlyZWx5IHdpdGggXCJnaXQgcmVzZXQgSEVBRF5cIi5cbiIKIG1zZ3N0ciAiIgorIkhhaSByaWNoaWVzdG8gZGkgbW9kaWZpY2FyZSBpbCBjb21taXQgcGnDuSByZWNlbnRlLCBtYSBlc2VndWlyZSB0YWxlXG4iCisib3BlcmF6aW9uZSBsbyByZW5kZXJlYmJlIHZ1b3RvLiBQdW9pIHJpcGV0ZXJlIGwnZXNlY3V6aW9uZSBkZWwgY29tYW5kb1xuIgorImNvbiAtLWFsbG93LWVtcHR5IG8gcHVvaSByaW11b3ZlcmUgY29tcGxldGFtZW50ZSBpbCBjb21taXQgY29uXG4iCisiXCJnaXQgcmVzZXQgSEVBRF5cIi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MAorIzogYnVpbHRpbi9jb21taXQuYzo1NgogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbGxvdy1lbXB0eVxuIgogIlxuIgotIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgogbXNnc3RyICIiCisiSWwgY2hlcnJ5LXBpY2sgcHJlY2VkZW50ZSBvcmEgw6ggdnVvdG8sIHByb2JhYmlsbWVudGUgYSBjYXVzYSBkaSBhbGN1bmlcbiIKKyJjb25mbGl0dGkgcmlzb2x0aS5cbiIKKyJTZSB2dW9pIGNvbXVucXVlIGVzZWd1aXJuZSBpbCBjb21taXQsIHVzYTpcbiIKKyJcbiIKKyIgICAgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5XG4iCisiXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MjUzCisjOiBidWlsdGluL2NvbW1pdC5jOjYzCittc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgY2hlcnJ5LXBpY2sgLS1za2lwJ1xuIgorbXNnc3RyICJBbHRyaW1lbnRpLCB1c2EgJ2dpdCBjaGVycnktcGljayAtLXNraXAnXG4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjYKK21zZ2lkICIiCisiYW5kIHRoZW4gdXNlOlxuIgorIlxuIgorIiAgICBnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVxuIgorIlxuIgorInRvIHJlc3VtZSBjaGVycnktcGlja2luZyB0aGUgcmVtYWluaW5nIGNvbW1pdHMuXG4iCisiSWYgeW91IHdpc2ggdG8gc2tpcCB0aGlzIGNvbW1pdCwgdXNlOlxuIgorIlxuIgorIiAgICBnaXQgY2hlcnJ5LXBpY2sgLS1za2lwXG4iCisiXG4iCittc2dzdHIgIiIKKyJlIHF1aW5kaSB1c2E6XG4iCisiXG4iCisiICAgIGdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXG4iCisiXG4iCisicGVyIHJpcHJlbmRlcmUgbCdlc2VjdXppb25lIGlsIGNoZXJyeS1waWNrIHBlciBpIGNvbW1pdCByaW1hbmVudGkuXG4iCisiU2UgdnVvaSBzYWx0YXJlIHF1ZXN0byBjb21taXQsIHVzYTpcbiIKKyJcbiIKKyIgICAgZ2l0IGNoZXJyeS1waWNrIC0tc2tpcFxuIgorIlxuIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjMxNQogbXNnaWQgImZhaWxlZCB0byB1bnBhY2sgSEVBRCB0cmVlIG9iamVjdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJkZWNvbXByZXNzaW9uZSBkZWxsJ29nZ2V0dG8gSEVBRCBkZWxsJ2FsYmVybyBub24gcml1c2NpdGEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Mjk1CisjOiBidWlsdGluL2NvbW1pdC5jOjM1MQorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAibCdvcHppb25lIC0tcGF0aHNwZWMtZnJvbS1maWxlIG5vbiBoYSBzZW5zbyBjb24gLWEiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzY0Cittc2dpZCAiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgorbXNnc3RyICIiCisiTm9uIHNwZWNpZmljYXJlIHVuIHBlcmNvcnNvIGNvbiBsZSBvcHppb25pIC0taW5jbHVkZS8tLW9ubHkgbm9uIGhhIHNlbnNvLiIKKworIzogYnVpbHRpbi9jb21taXQuYzozNzYKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmlsZSBjcmVhcmUgbCdpbmRpY2UgdGVtcG9yYW5lbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMDEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzgyCiBtc2dpZCAiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIKLW1zZ3N0ciAiYWRkIGludGVyYXR0aXZvIG5vbiByaXVzY2l0byIKK21zZ3N0ciAiYWdnaXVudGEgaW50ZXJhdHRpdmEgbm9uIHJpdXNjaXRhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjMzNCBidWlsdGluL2NvbW1pdC5jOjM1NSBidWlsdGluL2NvbW1pdC5jOjQwNQorIzogYnVpbHRpbi9jb21taXQuYzozOTYKK21zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIHRlbXBvcmFyeSBpbmRleCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYWdnaW9ybmFyZSBsJ2luZGljZSB0ZW1wb3JhbmVvIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjM5OAorbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgbWFpbiBjYWNoZSB0cmVlIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhZ2dpb3JuYXJlIGwnYWxiZXJvIGNhY2hlIHByaW5jaXBhbGUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDIzIGJ1aWx0aW4vY29tbWl0LmM6NDQ2IGJ1aWx0aW4vY29tbWl0LmM6NDkyCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIgogbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBpbCBmaWxlIG5ld19pbmRleCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozODYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDc1CiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgbWVyZ2UuIgogbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSB1biBjb21taXQgcGFyemlhbGUgZHVyYW50ZSB1biBtZXJnZS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Mzg4CisjOiBidWlsdGluL2NvbW1pdC5jOjQ3NwogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgdW4gY29tbWl0IHBhcnppYWxlIGR1cmFudGUgdW4gY2hlcnJ5LXBpY2suIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM5OAorIzogYnVpbHRpbi9jb21taXQuYzo0ODUKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgaW5kZXgiCi1tc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgaW5kZXgiCittc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgbCdpbmRpY2UiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDE4CisjOiBidWlsdGluL2NvbW1pdC5jOjUwNAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggZmlsZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBpbCBmaWxlIGluZGljZSB0ZW1wb3JhbmVvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ5MyBidWlsdGluL2NvbW1pdC5jOjQ5OQorIzogYnVpbHRpbi9jb21taXQuYzo2MDIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBjb21taXQ6ICVzIgotbXNnc3RyICJjb21taXQgbm9uIHZhbGlkbzogJXMiCittc2dpZCAiY29tbWl0ICclcycgbGFja3MgYXV0aG9yIGhlYWRlciIKK21zZ3N0ciAiZGFsIGNvbW1pdCAnJXMnIG1hbmNhIGwnaW50ZXN0YXppb25lIGF1dG9yZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1MjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdCAnJXMnIGhhcyBtYWxmb3JtZWQgYXV0aG9yIGxpbmUiCittc2dzdHIgImlsIGNvbW1pdCAnJXMnIGhhIHVuYSByaWdhIGF1dG9yZSBtYWxmb3JtYXRhIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjYyMwogbXNnaWQgIm1hbGZvcm1lZCAtLWF1dGhvciBwYXJhbWV0ZXIiCiBtc2dzdHIgInBhcmFtZXRybyAtLWF1dGhvciBtYWxmb3JtYXRvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU4MgotIywgYy1mb3JtYXQKLW1zZ2lkICJNYWxmb3JtZWQgaWRlbnQgc3RyaW5nOiAnJXMnIgorIzogYnVpbHRpbi9jb21taXQuYzo2NzYKK21zZ2lkICIiCisidW5hYmxlIHRvIHNlbGVjdCBhIGNvbW1lbnQgY2hhcmFjdGVyIHRoYXQgaXMgbm90IHVzZWRcbiIKKyJpbiB0aGUgY3VycmVudCBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiIgorImltcG9zc2liaWxlIHNlbGV6aW9uYXJlIHVuIGNhcmF0dGVyZSBjb21tZW50byBub24gdXNhdG9cbiIKKyJuZWwgbWVzc2FnZ2lvIGRpIGNvbW1pdCBjb3JyZW50ZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MjAgYnVpbHRpbi9jb21taXQuYzo2NTMgYnVpbHRpbi9jb21taXQuYzo5NjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzE0IGJ1aWx0aW4vY29tbWl0LmM6NzQ3IGJ1aWx0aW4vY29tbWl0LmM6MTA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIGNvbW1pdCAlcyIKLW1zZ3N0ciAibm9uIMOoIHN0YXRvIHBvc3NpYmlsZSB0cm92YXJlIGlsIGNvbW1pdCAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgdHJvdmFyZSBpbCBjb21taXQgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjMyIGJ1aWx0aW4vc2hvcnRsb2cuYzoyOTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzI2IGJ1aWx0aW4vc2hvcnRsb2cuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAiKGxldHR1cmEgZGVsIG1lc3NhZ2dpbyBkaSBsb2cgZGFsbG8gc3RhbmRhcmQgaW5wdXQpXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjM0CisjOiBidWlsdGluL2NvbW1pdC5jOjcyOAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmcm9tIHN0YW5kYXJkIGlucHV0IgotbXNnc3RyICJub24gw6ggc3RhdG8gcG9zc2liaWxlIGxlZ2dlcmUgaWwgbG9nIGRhbGxvIHN0YW5kYXJkIGlucHV0IgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGlsIGxvZyBkYWxsbyBzdGFuZGFyZCBpbnB1dCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmaWxlICclcyciCi1tc2dzdHIgIm5vbiDDqCBzdGF0byBwb3NzaWJpbGUgbGVnZ2VyZSBpbCBmaWxlIGRpIGxvZyAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGlsIGZpbGUgZGkgbG9nICclcyciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjQ0Ci1tc2dpZCAiY29tbWl0IGhhcyBlbXB0eSBtZXNzYWdlIgotbXNnc3RyICJpbCBjb21taXQgaGEgdW4gbWVzc2FnZ2lvIHZ1b3RvIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjY2MAotbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01TRyIKLW1zZ3N0ciAibm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBsZWdnZXJlIE1FUkdFX01TRyIKLQotIzogYnVpbHRpbi9jb21taXQuYzo2NjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzYzIGJ1aWx0aW4vY29tbWl0LmM6Nzc5CiBtc2dpZCAiY291bGQgbm90IHJlYWQgU1FVQVNIX01TRyIKLW1zZ3N0ciAibm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBsZWdnZXJlIFNRVUFTSF9NU0ciCittc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgU1FVQVNIX01TRyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKLW1zZ3N0ciAibm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBsZWdnZXJlICclcyciCisjOiBidWlsdGluL2NvbW1pdC5jOjc3MAorbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01TRyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSBNRVJHRV9NU0ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzIwCisjOiBidWlsdGluL2NvbW1pdC5jOjgzMAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBjb21taXQgdGVtcGxhdGUiCi1tc2dzdHIgIm5vbiDDqCBzdGF0byBwb3NzaWJpbGUgc2NyaXZlcmUgaWwgbW9kZWxsbyBkaSBjb21taXQiCittc2dzdHIgImltcG9zc2liaWxlIHNjcml2ZXJlIGlsIG1vZGVsbG8gZGkgY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczMQorIzogYnVpbHRpbi9jb21taXQuYzo4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMjE5OCwxMiArMTIyOTUsMTIgQEAKICJhbmQgdHJ5IGFnYWluLlxuIgogbXNnc3RyICIiCiAiXG4iCi0iU2VtYnJhIGNoZSBzaSBzdGlhIGVzZWd1ZW5kbyBpbCBjb21taXQgZGkgdW4gbWVyZ2UuXG4iCi0iU2UgbCdvcGVyYXppb25lIG5vbiDDqCBjb3JyZXR0YSwgcGVyIGZhdm9yZSBlbGltaW5hIGlsIGZpbGVcbiIKKyJTZW1icmEgY2hlIHR1IHN0aWEgZXNlZ3VlbmRvIGlsIGNvbW1pdCBkaSB1biBtZXJnZS5cbiIKKyJTZSBjacOyIG5vbiDDqCBjb3JyZXR0bywgZWxpbWluYSBpbCBmaWxlXG4iCiAiXHQlc1xuIgogImUgcmlwcm92YS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MzYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTIyMTMsNTcxICsxMjMxMCwyMzc3IEBACiAiYW5kIHRyeSBhZ2Fpbi5cbiIKIG1zZ3N0ciAiIgogIlxuIgotIlNlbWJyYSBjaGUgc2kgc3RpYSBlc2VndWVuZG8gaWwgY29tbWl0IGRpIHVuIGNoZXJyeS1waWNrLlxuIgotIlNlIGwnb3BlcmF6aW9uZSBub24gw6ggY29ycmV0dGEsIHBlciBmYXZvcmUgcmltdW92aSBpbCBmaWxlXG4iCisiU2VtYnJhIGNoZSB0dSBzdGlhIGVzZWd1ZW5kbyBpbCBjb21taXQgZGkgdW4gbWVyZ2UuXG4iCisiU2UgY2nDsiBub24gw6ggY29ycmV0dG8sIGVsaW1pbmEgaWwgZmlsZVxuIgogIlx0JXNcbiIKICJlIHJpcHJvdmEuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjg2NworIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgotIndpdGggJyMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCisid2l0aCAnJWMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCiBtc2dzdHIgIiIKLSJQZXIgZmF2b3JlIGluc2VyaXNjaSBpbCBtZXNzYWdnaW8gZGkgY29tbWl0IHBlciBsZSBtb2RpZmljaGUuIExlIHJpZ2hlXG4iCi0iY2hlIGluaXppYW5vIGNvbiAnIycgdmVycmFubm8gaWdub3JhdGUsIGUgdW4gbWVzc2FnZ2lvIHZ1b3RvIGFubnVsbGEgaWwgY29tbWl0LlxuIgorIkltbWV0dGkgaWwgbWVzc2FnZ2lvIGRpIGNvbW1pdCBwZXIgbGUgbW9kaWZpY2hlLiBMZSByaWdoZSBjaGUgaW5pemlhbm9cbiIKKyJjb24gJyVjJyBzYXJhbm5vIGlnbm9yYXRlIGUgdW4gbWVzc2FnZ2lvIHZ1b3RvIGludGVycm9tcGVyw6AgaWwgY29tbWl0LlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjc1MworIzogYnVpbHRpbi9jb21taXQuYzo4NzUKKyMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKLSJ3aXRoICcjJyB3aWxsIGJlIGtlcHQ7IHlvdSBtYXkgcmVtb3ZlIHRoZW0geW91cnNlbGYgaWYgeW91IHdhbnQgdG8uXG4iCisid2l0aCAnJWMnIHdpbGwgYmUga2VwdDsgeW91IG1heSByZW1vdmUgdGhlbSB5b3Vyc2VsZiBpZiB5b3Ugd2FudCB0by5cbiIKICJBbiBlbXB0eSBtZXNzYWdlIGFib3J0cyB0aGUgY29tbWl0LlxuIgogbXNnc3RyICIiCi0iUGVyIGZhdm9yZSBpbnNlcmlzY2kgaWwgbWVzc2FnZ2lvIGRpIGNvbW1pdCBwZXIgbGUgbW9kaWZpY2hlLiBMZVxuIgotInJpZ2hlIGNoZSBpbml6aWFubyBjb24gJyMnIHZlcnJhbm5vIG1hbnRlbnV0ZTsgcG9zc29ubyBjb211bnF1ZSBlc3NlcmVcbiIKLSJyaW1vc3NlIG1hbnVhbG1lbnRlLiBVbiBtZXNzYWdnaW8gdnVvdG8gYW5udWxsYSBpbCBjb21taXQuXG4iCisiSW1tZXR0aSBpbCBtZXNzYWdnaW8gZGkgY29tbWl0IHBlciBsZSBtb2RpZmljaGUuIExlIHJpZ2hlIGNoZSBpbml6aWFub1xuIgorImNvbiAnJWMnIHNhcmFubm8gbWFudGVudXRlOyBwdW9pIHJpbXVvdmVybGUgYXV0b25vbWFtZW50ZSBzZSBsbyBkZXNpZGVyaS5cbiIKKyJVbiBtZXNzYWdnaW8gdnVvdG8gaW50ZXJyb21wZXLDoCBpbCBjb21taXQuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzY2CisjOiBidWlsdGluL2NvbW1pdC5jOjg5MgogIywgYy1mb3JtYXQKLW1zZ2lkICIlc0F1dGhvcjogICAgJXMiCi1tc2dzdHIgIiVzQXV0b3JlOiAgICAlcyIKK21zZ2lkICIlc0F1dGhvcjogICAgJS4qcyA8JS4qcz4iCittc2dzdHIgIiVzQXV0b3JlOiAgICAgICAgICAgJS4qcyA8JS4qcz4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzczCisjOiBidWlsdGluL2NvbW1pdC5jOjkwMAogIywgYy1mb3JtYXQKLW1zZ2lkICIlc0NvbW1pdHRlcjogJXMiCi1tc2dzdHIgIiVzQ29tbWl0dGVyOiAlcyIKK21zZ2lkICIlc0RhdGU6ICAgICAgJXMiCittc2dzdHIgIiVzRGF0YTogICAgICAgICAgICAgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzkzCisjOiBidWlsdGluL2NvbW1pdC5jOjkwNworIywgYy1mb3JtYXQKK21zZ2lkICIlc0NvbW1pdHRlcjogJS4qcyA8JS4qcz4iCittc2dzdHIgIiVzRXNlY3V0b3JlIGNvbW1pdDogJS4qcyA8JS4qcz4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTI1CiBtc2dpZCAiQ2Fubm90IHJlYWQgaW5kZXgiCi1tc2dzdHIgIkltcG9zc2liaWxlIGxlZ2dlcmUgaW5kZXgiCittc2dzdHIgIkltcG9zc2liaWxlIGxlZ2dlcmUgbCdpbmRpY2UiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODMwCisjOiBidWlsdGluL2NvbW1pdC5jOjk5MgogbXNnaWQgIkVycm9yIGJ1aWxkaW5nIHRyZWVzIgotbXNnc3RyICIiCittc2dzdHIgIkVycm9yZSBkdXJhbnRlIGxhIGNvc3RydXppb25lIGRlZ2xpIGFsYmVyaSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NDUgYnVpbHRpbi90YWcuYzozNjEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTAwNiBidWlsdGluL3RhZy5jOjI3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCi1tc2dzdHIgIlBlciBmYXZvcmUsIHNwZWNpZmljYSBpbCBtZXNzYWdnaW8gdXNhbmRvIGwnb3B6aW9uZSAtbSBvIC1GLlxuIgorbXNnc3RyICJGb3JuaXNjaSBpbCBtZXNzYWdnaW8gdXNhbmRvIGwnb3B6aW9uZSAtbSBvIC1GLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk0MgorIzogYnVpbHRpbi9jb21taXQuYzoxMDUwCiAjLCBjLWZvcm1hdAotbXNnaWQgIk5vIGV4aXN0aW5nIGF1dGhvciBmb3VuZCB3aXRoICclcyciCi1tc2dzdHIgIk5lc3N1biBhdXRvcmUgZXNpc3RlbnRlIHRyb3ZhdG8gY29uICclcyciCittc2dpZCAiLS1hdXRob3IgJyVzJyBpcyBub3QgJ05hbWUgPGVtYWlsPicgYW5kIG1hdGNoZXMgbm8gZXhpc3RpbmcgYXV0aG9yIgorbXNnc3RyICIiCisiLS1hdXRob3IgJyVzJyBub24gw6ggbmVsIGZvcm1hdG8gJ05vbWUgPGUtbWFpbD4nIGUgbm9uIGNvcnJpc3BvbmRlIGFkIGFsY3VuICIKKyJhdXRvcmUgZXNpc3RlbnRlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk1NyBidWlsdGluL2NvbW1pdC5jOjExNTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGlnbm9yZWQgbW9kZSAnJXMnIgorbXNnc3RyICJNb2RvIG5vbiB2YWxpZG8gaWdub3JhdG86ICclcyciCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA4MiBidWlsdGluL2NvbW1pdC5jOjEzMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB1bnRyYWNrZWQgZmlsZXMgbW9kZSAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgIk1vZG8gZmlsZSBub24gdHJhY2NpYXRpIG5vbiB2YWxpZG86ICclcyciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTk3CisjOiBidWlsdGluL2NvbW1pdC5jOjExMjIKK21zZ2lkICItLWxvbmcgYW5kIC16IGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIi0tbG9uZyBlIC16IG5vbiBzb25vIGNvbXBhdGliaWxpIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjYKIG1zZ2lkICJVc2luZyBib3RoIC0tcmVzZXQtYXV0aG9yIGFuZCAtLWF1dGhvciBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJMJ3VzbyBkaSBlbnRyYW1iZSBsZSBvcHppb25pIC0tcmVzZXQtYXV0aG9yIGUgLS1hdXRob3Igbm9uIGhhIHNlbnNvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3NQogbXNnaWQgIllvdSBoYXZlIG5vdGhpbmcgdG8gYW1lbmQuIgotbXNnc3RyICIiCittc2dzdHIgIk5vbiBjJ8OoIG51bGxhIGRhIG1vZGlmaWNhcmUuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3OAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiU2VpIG5lbCBiZWwgbWV6em8gZGkgdW4gbWVyZ2UgLSBpbXBvc3NpYmlsZSBlc2VndWlyZSBsJ2FtZW5kLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDEzCisjOiBidWlsdGluL2NvbW1pdC5jOjExODAKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgotbXNnc3RyICIiCittc2dzdHIgIlNlaSBuZWwgYmVsIG1lenpvIGRpIHVuIGNoZXJyeS1waWNrIC0gaW1wb3NzaWJpbGUgZXNlZ3VpcmUgbCdhbWVuZC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAxNgorIzogYnVpbHRpbi9jb21taXQuYzoxMTgzCiBtc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiTGUgb3B6aW9uaSAtLXNxdWFzaCBlIC0tZml4dXAgbm9uIHBvc3Nvbm8gZXNzZXJlIHVzYXRlIGluc2llbWUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAyNgorIzogYnVpbHRpbi9jb21taXQuYzoxMTkzCiBtc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIlNvbG8gdW5hIGRlbGxlIG9wemlvbmkgLWMvLUMvLUYvLS1maXh1cCBwdcOyIGVzc2VyZSB1c2F0YS4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAyOAotbXNnaWQgIk9wdGlvbiAtbSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtYy8tQy8tRi8tLWZpeHVwLiIKLW1zZ3N0ciAiTCdvcHppb25lIC1tIG5vbiBwdcOyIGVzc2VyZSBjb21iaW5hdGEgY29uIC1jLy1DLy1GLy0tZml4dXAuIgorIzogYnVpbHRpbi9jb21taXQuYzoxMTk1Cittc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLiIKK21zZ3N0ciAiTCdvcHppb25lIC1tIG5vbiBwdcOyIGVzc2VyZSBjb21iaW5hdGEgY29uIC1jLy1DLy1GLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDM2CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMDMKIG1zZ2lkICItLXJlc2V0LWF1dGhvciBjYW4gYmUgdXNlZCBvbmx5IHdpdGggLUMsIC1jIG9yIC0tYW1lbmQuIgogbXNnc3RyICJMJ29wemlvbmUgLS1yZXNldC1hdXRob3IgcHXDsiBlc3NlcmUgdXNhdGEgc29sbyBjb24gLUMsIC1jIG8gLS1hbWVuZC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA1MworIzogYnVpbHRpbi9jb21taXQuYzoxMjIwCiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICIiCiAiUHXDsiBlc3NlcmUgdXNhdGEgc29sbyB1bmEgZGVsbGUgb3B6aW9uaSAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0tIgotImludGVyYWN0aXZlLy0tcGF0Y2ggLiIKKyJpbnRlcmFjdGl2ZS8tLXBhdGNoLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDU1Ci1tc2dpZCAiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgotbXNnc3RyICJEZXZpIHNwZWNpZmljYXJlIHVuIHBhdGggc2UgdXNpIC0taW5jbHVkZS8tLW9ubHkuIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNTcKLW1zZ2lkICJDbGV2ZXIuLi4gYW1lbmRpbmcgdGhlIGxhc3Qgb25lIHdpdGggZGlydHkgaW5kZXguIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA1OQotbXNnaWQgIkV4cGxpY2l0IHBhdGhzIHNwZWNpZmllZCB3aXRob3V0IC1pIG5vciAtbzsgYXNzdW1pbmcgLS1vbmx5IHBhdGhzLi4uIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2OSBidWlsdGluL3RhZy5jOjU3NworIzogYnVpbHRpbi9jb21taXQuYzoxMjI2CiAjLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgorbXNnaWQgInBhdGhzICclcyAuLi4nIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiaSBwZXJjb3JzaSAnJXMgLi4uJyBub24gaGFubm8gc2Vuc28gY29uIC1hIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTcgYnVpbHRpbi9jb21taXQuYzoxNTE5Cittc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgorbXNnc3RyICJ2aXN1YWxpenphIGNvbmNpc2FtZW50ZSBsbyBzdGF0byIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzU5IGJ1aWx0aW4vY29tbWl0LmM6MTUyMQorbXNnaWQgInNob3cgYnJhbmNoIGluZm9ybWF0aW9uIgorbXNnc3RyICJ2aXN1YWxpenphIGxlIGluZm9ybWF6aW9uaSBzdWwgYnJhbmNoIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjEKK21zZ2lkICJzaG93IHN0YXNoIGluZm9ybWF0aW9uIgorbXNnc3RyICJ2aXN1YWxpenphIGxlIGluZm9ybWF6aW9uaSBzdWxsbyBzdGFzaCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzYzIGJ1aWx0aW4vY29tbWl0LmM6MTUyMworbXNnaWQgImNvbXB1dGUgZnVsbCBhaGVhZC9iZWhpbmQgdmFsdWVzIgorbXNnc3RyICJjYWxjb2xhIHR1dHRpIGkgdmFsb3JpIGRvcG8vcHJpbWEgZGkiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2NQorbXNnaWQgInZlcnNpb24iCittc2dzdHIgInZlcnNpb25lIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjUgYnVpbHRpbi9jb21taXQuYzoxNTI1IGJ1aWx0aW4vcHVzaC5jOjU0OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY1MAorbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgorbXNnc3RyICJvdXRwdXQgbGVnZ2liaWxlIGRhIHVuYSBtYWNjaGluYSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzY4IGJ1aWx0aW4vY29tbWl0LmM6MTUyNworbXNnaWQgInNob3cgc3RhdHVzIGluIGxvbmcgZm9ybWF0IChkZWZhdWx0KSIKK21zZ3N0ciAidmlzdWFsaXp6YSBsbyBzdGF0byBpbiBmb3JtYSBsdW5nYSAoaW1wb3N0YXppb25lIHByZWRlZmluaXRhKSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzcxIGJ1aWx0aW4vY29tbWl0LmM6MTUzMAorbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIgorbXNnc3RyICJ0ZXJtaW5hIGxlIHZvY2kgY29uIE5VTCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzczIGJ1aWx0aW4vY29tbWl0LmM6MTM3NyBidWlsdGluL2NvbW1pdC5jOjE1MzMKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTUzIGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTU2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1OSBidWlsdGluL3JlYmFzZS5jOjE1MjUgcGFyc2Utb3B0aW9ucy5oOjMzNgorbXNnaWQgIm1vZGUiCittc2dzdHIgIm1vZG8iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3NCBidWlsdGluL2NvbW1pdC5jOjE1MzMKK21zZ2lkICJzaG93IHVudHJhY2tlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IGFsbCwgbm9ybWFsLCBuby4gKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgIiIKKyJ2aXN1YWxpenphIGZpbGUgbm9uIHRyYWNjaWF0aSwgbW9kYWxpdMOgIGZhY29sdGF0aXZlOiBhbGwsIG5vcm1hbCwgbm8uICIKKyIoSW1wb3N0YXppb25lIHByZWRlZmluaXRhOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwNzQKLW1zZ2lkICJQYXRocyB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgotbXNnc3RyICJJIHBhdGggY29uIC1hIG5vbiBoYW5ubyBzZW5zby4iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTI1NwotbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCi1tc2dzdHIgIm5vbiDDqCBzdGF0byBwb3NzaWJpbGUgdHJvdmFyZSBpbCBjb21taXQgYXBwZW5hIGNyZWF0byIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMjU5Ci1tc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgotbXNnc3RyICJub24gw6ggc3RhdG8gcG9zc2liaWxlIGFuYWxpenphcmUgaWwgY29tbWl0IGFwcGVuYSBjcmVhdG8iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMwMAotbXNnaWQgImRldGFjaGVkIEhFQUQiCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNzgKK21zZ2lkICIiCisic2hvdyBpZ25vcmVkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogdHJhZGl0aW9uYWwsIG1hdGNoaW5nLCBuby4gKERlZmF1bHQ6ICIKKyJ0cmFkaXRpb25hbCkiCiBtc2dzdHIgIiIKKyJ2aXN1YWxpenphIGZpbGUgaWdub3JhdGksIG1vZGFsaXTDoCBmYWNvbHRhdGl2ZTogdHJhZGl0aW9uYWwsIG1hdGNoaW5nLCBuby4gIgorIihJbXBvc3RhemlvbmUgcHJlZGVmaW5pdGE6IHRyYWRpdGlvbmFsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzAyCi1tc2dpZCAiIChyb290LWNvbW1pdCkiCi1tc2dzdHIgIiAocm9vdC1jb21taXQpIgorIzogYnVpbHRpbi9jb21taXQuYzoxMzgwIHBhcnNlLW9wdGlvbnMuaDoxOTIKK21zZ2lkICJ3aGVuIgorbXNnc3RyICJxdWFuZG8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ0NgotbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIGNvbW1pdCIKLW1zZ3N0ciAibm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBhbmFsaXp6YXJlIGlsIGNvbW1pdCBIRUFEIgorIzogYnVpbHRpbi9jb21taXQuYzoxMzgxCittc2dpZCAiIgorImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgorIihEZWZhdWx0OiBhbGwpIgorbXNnc3RyICIiCisiaWdub3JhIG1vZGlmaWNoZSBhaSBzb3R0b21vZHVsaSwgb3B6aW9uZSBmYWNvbHRhdGl2YSBcInF1YW5kb1wiOiBhbGwsIGRpcnR5LCAiCisidW50cmFja2VkLiAoSW1wb3N0YXppb25lIHByZWRlZmluaXRhOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODQgYnVpbHRpbi9tZXJnZS5jOjUwOQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIgotbXNnc3RyICJub24gw6ggc3RhdG8gcG9zc2liaWxlIGFwcmlyZSAnJXMnIHBlciBsYSBsZXR0dXJhIgorIzogYnVpbHRpbi9jb21taXQuYzoxMzgzCittc2dpZCAibGlzdCB1bnRyYWNrZWQgZmlsZXMgaW4gY29sdW1ucyIKK21zZ3N0ciAiZWxlbmNhIGkgZmlsZSBub24gdHJhY2NpYXRpIGluIGNvbG9ubmUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MQorIzogYnVpbHRpbi9jb21taXQuYzoxMzg0Cittc2dpZCAiZG8gbm90IGRldGVjdCByZW5hbWVzIgorbXNnc3RyICJub24gcmlsZXZhcmUgbGUgcmlkZW5vbWluYXppb25pIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzODYKK21zZ2lkICJkZXRlY3QgcmVuYW1lcywgb3B0aW9uYWxseSBzZXQgc2ltaWxhcml0eSBpbmRleCIKK21zZ3N0ciAiIgorInJpbGV2YSBsZSByaWRlbm9taW5hemlvbmksIGltcG9zdGEgZmFjb2x0YXRpdmFtZW50ZSBsJ2luZGljZSBkaSBzaW1pbGFyaXTDoCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDA2Cittc2dpZCAiVW5zdXBwb3J0ZWQgY29tYmluYXRpb24gb2YgaWdub3JlZCBhbmQgdW50cmFja2VkLWZpbGVzIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorIkNvbWJpbmF6aW9uZSBkaSBhcmdvbWVudGkgc3VpIGZpbGUgaWdub3JhdGkgZSBub24gdHJhY2NpYXRpIG5vbiBzdXBwb3J0YXRhIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODkKK21zZ2lkICJzdXBwcmVzcyBzdW1tYXJ5IGFmdGVyIHN1Y2Nlc3NmdWwgY29tbWl0IgorbXNnc3RyICIiCisib21ldHRpIGRpIHZpc3VhbGl6emFyZSBpbCByaWVwaWxvZ28gZG9wbyB1biBjb21taXQgY29tcGxldGF0byBjb24gc3VjY2Vzc28iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MAorbXNnaWQgInNob3cgZGlmZiBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKK21zZ3N0ciAidmlzdWFsaXp6YSBpbCBkaWZmIG5lbCBtb2RlbGxvIGRlbCBtZXNzYWdnaW8gZGkgY29tbWl0IgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTIKK21zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgorbXNnc3RyICJPcHppb25pIG1lc3NhZ2dpbyBkaSBjb21taXQiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MyBidWlsdGluL21lcmdlLmM6Mjc0IGJ1aWx0aW4vdGFnLmM6NDE0Cittc2dpZCAicmVhZCBtZXNzYWdlIGZyb20gZmlsZSIKK21zZ3N0ciAibGVnZ2kgaWwgbWVzc2FnZ2lvIGRhIHVuIGZpbGUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAorbXNnaWQgImF1dGhvciIKK21zZ3N0ciAiYXV0b3JlIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTQKK21zZ2lkICJvdmVycmlkZSBhdXRob3IgZm9yIGNvbW1pdCIKK21zZ3N0ciAic292cmFzY3JpdmkgbCdhdXRvcmUgcGVyIGlsIGNvbW1pdCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDk1IGJ1aWx0aW4vZ2MuYzo1MzgKK21zZ2lkICJkYXRlIgorbXNnc3RyICJkYXRhIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTUKK21zZ2lkICJvdmVycmlkZSBkYXRlIGZvciBjb21taXQiCittc2dzdHIgInNvdnJhc2NyaXZpIGxhIGRhdGEgcGVyIGlsIGNvbW1pdCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDk3IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OCBidWlsdGluL2NvbW1pdC5jOjE0OTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMCBwYXJzZS1vcHRpb25zLmg6MzI4IHJlZi1maWx0ZXIuaDo5MgorbXNnaWQgImNvbW1pdCIKK21zZ3N0ciAiY29tbWl0IgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTcKK21zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKK21zZ3N0ciAicml1c2EgaWwgbWVzc2FnZ2lvIGRlbCBjb21taXQgc3BlY2lmaWNhdG8gcGVyIHBvaSBtb2RpZmljYXJsbyIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDk4Cittc2dpZCAicmV1c2UgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCittc2dzdHIgInJpdXNhIGlsIG1lc3NhZ2dpbyBkZWwgY29tbWl0IHNwZWNpZmljYXRvIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTkKK21zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBmaXh1cCBzcGVjaWZpZWQgY29tbWl0IgorbXNnc3RyICIiCisidXNhIGlsIG1lc3NhZ2dpbyBpbiBmb3JtYXRvIGF1dG9zcXVhc2ggcGVyIGNvcnJlZ2dlcmUgaWwgY29tbWl0IHNwZWNpZmljYXRvIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDAKK21zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKK21zZ3N0ciAiIgorInVzYSBpbCBtZXNzYWdnaW8gaW4gZm9ybWF0byBhdXRvc3F1YXNoIHBlciBlc2VndWlyZSBsbyBzcXVhc2ggZGVsIGNvbW1pdCAiCisic3BlY2lmaWNhdG8iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMQorbXNnaWQgInRoZSBjb21taXQgaXMgYXV0aG9yZWQgYnkgbWUgbm93ICh1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCkiCittc2dzdHIgImlsIGNvbW1pdCBvcmEgaGEgbWUgY29tZSBhdXRvcmUgKG9wemlvbmUgdXNhdGEgY29uIC1DLy1jLy0tYW1lbmQpIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDIgYnVpbHRpbi9sb2cuYzoxNjM0IGJ1aWx0aW4vbWVyZ2UuYzoyODkKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2NCBidWlsdGluL3JldmVydC5jOjExMAorbXNnaWQgImFkZCBTaWduZWQtb2ZmLWJ5OiIKK21zZ3N0ciAiYWdnaXVuZ2kgU2lnbmVkLW9mZi1ieToiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMworbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKK21zZ3N0ciAidXNhIGlsIGZpbGUgbW9kZWxsbyBzcGVjaWZpY2F0byIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNTA0Cittc2dpZCAiZm9yY2UgZWRpdCBvZiBjb21taXQiCittc2dzdHIgImZvcnphIGxhIG1vZGlmaWNhIGRlbCBjb21taXQiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwNgorbXNnaWQgImluY2x1ZGUgc3RhdHVzIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgorbXNnc3RyICJpbmNsdWRpIGxvIHN0YXRvIG5lbCBtb2RlbGxvIGRlbCBtZXNzYWdnaW8gZGkgY29tbWl0IgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTEKK21zZ2lkICJDb21taXQgY29udGVudHMgb3B0aW9ucyIKK21zZ3N0ciAiT3B6aW9uaSBjb250ZW51dG8gY29tbWl0IgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTIKK21zZ2lkICJjb21taXQgYWxsIGNoYW5nZWQgZmlsZXMiCittc2dzdHIgImVzZWd1aSBpbCBjb21taXQgZGkgdHV0dGkgaSBmaWxlIG1vZGlmaWNhdGkiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMworbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKK21zZ3N0ciAiYWdnaXVuZ2kgaSBmaWxlIHNwZWNpZmljYXRpIGFsbCdpbmRpY2UgcGVyIGlsIGNvbW1pdCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNTE0Cittc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCittc2dzdHIgImFnZ2l1bmdpIGkgZmlsZSBpbiBtb2RhbGl0w6AgaW50ZXJhdHRpdmEiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNQorbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGNoYW5nZXMiCittc2dzdHIgImFnZ2l1bmdpIGxlIG1vZGlmaWNoZSBpbiBtb2RhbGl0w6AgaW50ZXJhdHRpdmEiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNgorbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKK21zZ3N0ciAiZXNlZ3VpIGlsIGNvbW1pdCBzb2xvIGRlaSBmaWxlIHNwZWNpZmljYXRpIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTcKK21zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBhbmQgY29tbWl0LW1zZyBob29rcyIKK21zZ3N0ciAiaWdub3JhIGdsaSBob29rIHByZS1jb21taXQgZSBjb21taXQtbXNnIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTgKK21zZ2lkICJzaG93IHdoYXQgd291bGQgYmUgY29tbWl0dGVkIgorbXNnc3RyICJ2aXN1YWxpenphIGdsaSBlbGVtZW50aSBkaSBjdWkgc2FyZWJiZSBlc2VndWl0byBpbCBjb21taXQiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzMQorbXNnaWQgImFtZW5kIHByZXZpb3VzIGNvbW1pdCIKK21zZ3N0ciAibW9kaWZpY2EgaWwgY29tbWl0IHByZWNlZGVudGUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzMgorbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKK21zZ3N0ciAiaWdub3JhIGwnaG9vayBwb3N0LXJld3JpdGUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzOQorbXNnaWQgIm9rIHRvIHJlY29yZCBhbiBlbXB0eSBjaGFuZ2UiCittc2dzdHIgImFjY2V0dGEgZGkgcmVnaXN0cmFyZSB1bmEgbW9kaWZpY2EgdnVvdGEiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU0MQorbXNnaWQgIm9rIHRvIHJlY29yZCBhIGNoYW5nZSB3aXRoIGFuIGVtcHR5IG1lc3NhZ2UiCittc2dzdHIgImFjY2V0dGEgZGkgcmVnaXN0cmFyZSB1bmEgbW9kaWZpY2EgY29uIHVuIG1lc3NhZ2dpbyB2dW90byIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvcnJ1cHQgTUVSR0VfSEVBRCBmaWxlICglcykiCiBtc2dzdHIgIkZpbGUgTUVSR0VfSEVBRCBjb3Jyb3R0byAoJXMpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyMQogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01PREUiCi1tc2dzdHIgIm5vbiDDqCBzdGF0byBwb3NzaWJpbGUgbGVnZ2VyZSBNRVJHRV9NT0RFIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIE1FUkdFX01PREUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNworIzogYnVpbHRpbi9jb21taXQuYzoxNjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlOiAlcyIKLW1zZ3N0ciAibm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBsZWdnZXJlIGlsIG1lc3NhZ2dpbyBkaSBjb21taXQ6ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGlsIG1lc3NhZ2dpbyBkaSBjb21taXQ6ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MzEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQWJvcnRpbmcgY29tbWl0OyB5b3UgZGlkIG5vdCBlZGl0IHRoZSBtZXNzYWdlLlxuIgotbXNnc3RyICJDb21taXQgaW50ZXJyb3R0bzsgaWwgbWVzc2FnZ2lvIG5vbiDDqCBzdGF0byBtb2RpZmljYXRvLlxuIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MzYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgotbXNnc3RyICJJbnRlcnJ1emlvbmUgZGVsIGNvbW1pdCBhIGNhdXNhIGRpIHVuIG1lc3NhZ2dpbyBkaSBjb21taXQgdnVvdG8uXG4iCittc2dzdHIgIkludGVycm9tcG8gaWwgY29tbWl0IGEgY2F1c2EgZGkgdW4gbWVzc2FnZ2lvIGRpIGNvbW1pdCB2dW90by5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTUxIGJ1aWx0aW4vbWVyZ2UuYzo5MzYgYnVpbHRpbi9tZXJnZS5jOjk2MQotbXNnaWQgImZhaWxlZCB0byB3cml0ZSBjb21taXQgb2JqZWN0IgotbXNnc3RyICJzY3JpdHR1cmEgZGVsbCdvZ2dldHRvIGRpIGNvbW1pdCBub24gcml1c2NpdGEiCisjOiBidWlsdGluL2NvbW1pdC5jOjE2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWJvcnRpbmcgY29tbWl0OyB5b3UgZGlkIG5vdCBlZGl0IHRoZSBtZXNzYWdlLlxuIgorbXNnc3RyICJJbnRlcnJvbXBvIGlsIGNvbW1pdDsgbm9uIGhhaSBtb2RpZmljYXRvIGlsIG1lc3NhZ2dpby5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTcyCi1tc2dpZCAiY2Fubm90IGxvY2sgSEVBRCByZWYiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNTc2Ci1tc2dpZCAiY2Fubm90IHVwZGF0ZSBIRUFEIHJlZiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY4NgogbXNnaWQgIiIKLSJSZXBvc2l0b3J5IGhhcyBiZWVuIHVwZGF0ZWQsIGJ1dCB1bmFibGUgdG8gd3JpdGVcbiIKLSJuZXdfaW5kZXggZmlsZS4gQ2hlY2sgdGhhdCBkaXNrIGlzIG5vdCBmdWxsIG9yIHF1b3RhIGlzXG4iCi0ibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXNldCBIRUFEXCIgdG8gcmVjb3Zlci4iCisicmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLCBidXQgdW5hYmxlIHRvIHdyaXRlXG4iCisibmV3X2luZGV4IGZpbGUuIENoZWNrIHRoYXQgZGlzayBpcyBub3QgZnVsbCBhbmQgcXVvdGEgaXNcbiIKKyJub3QgZXhjZWVkZWQsIGFuZCB0aGVuIFwiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgOi9cIiB0byByZWNvdmVyLiIKIG1zZ3N0ciAiIgotIklsIHJlcG9zaXRvcnkgw6ggc3RhdG8gYWdnaW9ybmF0bywgbWEgbm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBzY3JpdmVyZSBpbCBmaWxlXG4iCi0ibmV3X2luZGV4LiBWZXJpZmljYSBjaGUgbCd1bml0w6AgZGlzY28gbm9uIHNpYSBwaWVuYSBvIGNoZSBsYSBxdW90YSBub24gc2lhXG4iCi0ic3RhdGEgc3VwZXJhdGEsIGVkIGVzZWd1aSBcImdpdCByZXNldCBIRUFEXCIgcGVyIGlsIHJpcHJpc3Rpbm8uIgorIklsIHJlcG9zaXRvcnkgw6ggc3RhdG8gYWdnaW9ybmF0bywgbWEgbm9uIMOoIHN0YXRvXG4iCisicG9zc2liaWxlIHNjcml2ZXJlIGlsIGZpbGUgbmV3X2luZGV4LiBWZXJpZmljYSBjaGUgaWxcbiIKKyJkaXNjbyBub24gc2lhIHBpZW5vIGUgY2hlIGxhIHF1b3RhIG5vbiBzaWEgc3RhdGFcbiIKKyJzdXBlcmF0YSwgcXVpbmRpIGVzZWd1aSBcImdpdCByZXN0b3JlIC0tc3RhZ2VkIDovXCIgcGVyXG4iCisicHJvY2VkZXJlIGFsIHJpcHJpc3Rpbm8uIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MjM0CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTcKK21zZ2lkICIiCisiZ2l0IGNvbW1pdC1ncmFwaCB2ZXJpZnkgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0gWy0tc2hhbGxvd10gWy0tW25vLV1wcm9ncmVzc10iCittc2dzdHIgIiIKKyJnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSBbLS1vYmplY3QtZGlyIDxkaXJlY3Rvcnkgb2dnZXR0aT5dIFstLXNoYWxsb3ddIFstLSIKKyJbbm8tXXByb2dyZXNzXSIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjIyCittc2dpZCAiIgorImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0gWy0tYXBwZW5kfC0tc3BsaXRdIFstLSIKKyJyZWFjaGFibGV8LS1zdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIFstLVtuby1dcHJvZ3Jlc3NdIDxzcGxpdCBvcHRpb25zPiIKK21zZ3N0ciAiIgorImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA8ZGlyZWN0b3J5IG9nZ2V0dGk+XSBbLS1hcHBlbmR8LS1zcGxpdF0gIgorIlstLXJlYWNoYWJsZXwtLXN0ZGluLXBhY2tzfC0tc3RkaW4tY29tbWl0c10gWy0tW25vLV1wcm9ncmVzc10gPG9wemlvbmkgc3BsaXQ+IgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjQ4IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTAzCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE4NyBidWlsdGluL2ZldGNoLmM6MTc5IGJ1aWx0aW4vbG9nLmM6MTY1NworbXNnaWQgImRpciIKK21zZ3N0ciAiZGlyZWN0b3J5IgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjQ5IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTA0CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE4OAorbXNnaWQgIlRoZSBvYmplY3QgZGlyZWN0b3J5IHRvIHN0b3JlIHRoZSBncmFwaCIKK21zZ3N0ciAiTGEgZGlyZWN0b3J5IG9nZ2V0dGkgaW4gY3VpIG1lbW9yaXp6YXJlIGlsIGdyYWZvIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjUxCittc2dpZCAiaWYgdGhlIGNvbW1pdC1ncmFwaCBpcyBzcGxpdCwgb25seSB2ZXJpZnkgdGhlIHRpcCBmaWxlIgorbXNnc3RyICJzZSBpbCBncmFmbyBkZWkgY29tbWl0IMOoIGRpdmlzbywgdmVyaWZpY2Egc29sbyBsJ3VsdGltbyBmaWxlIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjczIHQvaGVscGVyL3Rlc3QtcmVhZC1ncmFwaC5jOjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGNvbW1pdC1ncmFwaCAnJXMnIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgaWwgZ3JhZm8gZGVpIGNvbW1pdCAnJXMnIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwNgorbXNnaWQgInN0YXJ0IHdhbGsgYXQgYWxsIHJlZnMiCittc2dzdHIgImluaXppYSBsYSB2aXNpdGEgZGEgdHV0dGkgaSByaWZlcmltZW50aSIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMDgKK21zZ2lkICJzY2FuIHBhY2staW5kZXhlcyBsaXN0ZWQgYnkgc3RkaW4gZm9yIGNvbW1pdHMiCittc2dzdHIgIiIKKyJlc2FtaW5hIGkgcGFjay1pbmRleCBlbGVuY2F0aSBzdWxsbyBzdGFuZGFyZCBpbnB1dCBhbGxhIHJpY2VyY2EgZGkgY29tbWl0IgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExMAorbXNnaWQgInN0YXJ0IHdhbGsgYXQgY29tbWl0cyBsaXN0ZWQgYnkgc3RkaW4iCittc2dzdHIgImluaXppYSBsYSB2aXNpdGEgYWkgY29tbWl0IGVsZW5jYXRpIHN1bGxvIHN0YW5kYXJkIGlucHV0IgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExMgorbXNnaWQgImluY2x1ZGUgYWxsIGNvbW1pdHMgYWxyZWFkeSBpbiB0aGUgY29tbWl0LWdyYXBoIGZpbGUiCittc2dzdHIgImluY2x1ZGkgdHV0dGkgaSBjb21taXQgZ2nDoCBwcmVzZW50aSBuZWwgZmlsZSBjb21taXQtZ3JhcGgiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTE1Cittc2dpZCAiYWxsb3cgd3JpdGluZyBhbiBpbmNyZW1lbnRhbCBjb21taXQtZ3JhcGggZmlsZSIKK21zZ3N0ciAiY29uc2VudGkgbGEgc2NyaXR0dXJhIGRpIHVuIGZpbGUgZ3JhZm8gZGVpIGNvbW1pdCBpbmNyZW1lbnRhbGUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTE3IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTIxCittc2dpZCAibWF4aW11bSBudW1iZXIgb2YgY29tbWl0cyBpbiBhIG5vbi1iYXNlIHNwbGl0IGNvbW1pdC1ncmFwaCIKK21zZ3N0ciAibnVtZXJvIG1hc3NpbW8gZGkgY29tbWl0IGluIHVuIGdyYWZvIGRlaSBjb21taXQgZGl2aXNvIG5vbiBkaSBiYXNlIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExOQorbXNnaWQgIm1heGltdW0gcmF0aW8gYmV0d2VlbiB0d28gbGV2ZWxzIG9mIGEgc3BsaXQgY29tbWl0LWdyYXBoIgorbXNnc3RyICJyYXBwb3J0byBtYXNzaW1vIGZyYSBkdWUgbGl2ZWxsaSBkaSB1biBncmFmbyBkZWkgY29tbWl0IGRpdmlzbyIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzcKK21zZ2lkICJ1c2UgYXQgbW9zdCBvbmUgb2YgLS1yZWFjaGFibGUsIC0tc3RkaW4tY29tbWl0cywgb3IgLS1zdGRpbi1wYWNrcyIKK21zZ3N0ciAidXNhIGFsIHBpw7kgdW4nb3B6aW9uZSBmcmEgLS1yZWFjaGFibGUsIC0tc3RkaW4tY29tbWl0cyBvIC0tc3RkaW4tcGFja3MiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTEKK21zZ2lkICJnaXQgY29uZmlnIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgY29uZmlnIFs8b3B6aW9uaT5dIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEwMyBidWlsdGluL2Vudi0taGVscGVyLmM6MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIC0tdHlwZSBhcmd1bWVudCwgJXMiCittc2dzdHIgImFyZ29tZW50byAtLXR5cGUgbm9uIHJpY29ub3NjaXV0bzogJXMiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTE1Cittc2dpZCAib25seSBvbmUgdHlwZSBhdCBhIHRpbWUiCittc2dzdHIgInNvbG8gdW4gdGlwbyBwZXIgdm9sdGEiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTI0Cittc2dpZCAiQ29uZmlnIGZpbGUgbG9jYXRpb24iCittc2dzdHIgIlBlcmNvcnNvIGZpbGUgZGkgY29uZmlndXJhemlvbmUiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTI1Cittc2dpZCAidXNlIGdsb2JhbCBjb25maWcgZmlsZSIKK21zZ3N0ciAidXNhIGlsIGZpbGUgZGkgY29uZmlndXJhemlvbmUgZ2xvYmFsZSIKKworIzogYnVpbHRpbi9jb25maWcuYzoxMjYKK21zZ2lkICJ1c2Ugc3lzdGVtIGNvbmZpZyBmaWxlIgorbXNnc3RyICJ1c2EgaWwgZmlsZSBkaSBjb25maWd1cmF6aW9uZSBkaSBzaXN0ZW1hIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEyNworbXNnaWQgInVzZSByZXBvc2l0b3J5IGNvbmZpZyBmaWxlIgorbXNnc3RyICJ1c2EgaWwgZmlsZSBkaSBjb25maWd1cmF6aW9uZSBkZWwgcmVwb3NpdG9yeSIKKworIzogYnVpbHRpbi9jb25maWcuYzoxMjgKK21zZ2lkICJ1c2UgcGVyLXdvcmt0cmVlIGNvbmZpZyBmaWxlIgorbXNnc3RyICJ1c2EgaWwgZmlsZSBkaSBjb25maWd1cmF6aW9uZSBwZXIgYWxiZXJvIGRpIGxhdm9ybyIKKworIzogYnVpbHRpbi9jb25maWcuYzoxMjkKK21zZ2lkICJ1c2UgZ2l2ZW4gY29uZmlnIGZpbGUiCittc2dzdHIgInVzYSBpbCBmaWxlIGRpIGNvbmZpZ3VyYXppb25lIHNwZWNpZmljYXRvIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEzMAorbXNnaWQgImJsb2ItaWQiCittc2dzdHIgIklEIGJsb2IiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTMwCittc2dpZCAicmVhZCBjb25maWcgZnJvbSBnaXZlbiBibG9iIG9iamVjdCIKK21zZ3N0ciAibGVnZ2kgbGEgY29uZmlndXJhemlvbmUgZGFsbCdvZ2dldHRvIGJsb2Igc3BlY2lmaWNhdG8iCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTMxCittc2dpZCAiQWN0aW9uIgorbXNnc3RyICJBemlvbmUiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTMyCittc2dpZCAiZ2V0IHZhbHVlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCittc2dzdHIgIm90dGllbmkgdmFsb3JlOiBub21lIFtlc3ByZXNzaW9uZS1yZWdvbGFyZS12YWxvcmVdIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEzMworbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKK21zZ3N0ciAib3R0aWVuaSB0dXR0aSBpIHZhbG9yaTogY2hpYXZlIFtlc3ByZXNzaW9uZS1yZWdvbGFyZS12YWxvcmVdIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEzNAorbXNnaWQgImdldCB2YWx1ZXMgZm9yIHJlZ2V4cDogbmFtZS1yZWdleCBbdmFsdWUtcmVnZXhdIgorbXNnc3RyICIiCisib3R0aWVuaSBpIHZhbG9yaSBpbiBiYXNlIGEgdW4nZXNwcmVzc2lvbmUgcmVnb2xhcmU6IGVzcHJlc3Npb25lLXJlZ29sYXJlLSIKKyJub21lIFtlc3ByZXNzaW9uZS1yZWdvbGFyZS12YWxvcmVdIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEzNQorbXNnaWQgImdldCB2YWx1ZSBzcGVjaWZpYyBmb3IgdGhlIFVSTDogc2VjdGlvblsudmFyXSBVUkwiCittc2dzdHIgIm90dGllbmkgaWwgdmFsb3JlIHNwZWNpZmljbyBwZXIgbCdVUkw6IHNlemlvbmVbLnZhcmlhYmlsZV0gVVJMIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEzNgorbXNnaWQgInJlcGxhY2UgYWxsIG1hdGNoaW5nIHZhcmlhYmxlczogbmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgorbXNnc3RyICIiCisic29zdGl0dWlzY2kgdHV0dGUgbGUgdmFyaWFiaWxpIGNvcnJpc3BvbmRlbnRpOiBub21lLXZhbG9yZSBbZXNwcmVzc2lvbmUtIgorInJlZ29sYXJlLXZhbG9yZV0iCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTM3Cittc2dpZCAiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIgorbXNnc3RyICJhZ2dpdW5naSB1bmEgbnVvdmEgdmFyaWFiaWxlOiBub21lIHZhbG9yZSIKKworIzogYnVpbHRpbi9jb25maWcuYzoxMzgKK21zZ2lkICJyZW1vdmUgYSB2YXJpYWJsZTogbmFtZSBbdmFsdWUtcmVnZXhdIgorbXNnc3RyICJyaW11b3ZpIHVuYSB2YXJpYWJpbGU6IG5vbWUgW2VzcHJlc3Npb25lLXJlZ29sYXJlLXZhbG9yZV0iCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTM5Cittc2dpZCAicmVtb3ZlIGFsbCBtYXRjaGVzOiBuYW1lIFt2YWx1ZS1yZWdleF0iCittc2dzdHIgInJpbXVvdmkgdHV0dGUgbGUgY29ycmlzcG9uZGVuemU6IG5vbWUgW2VzcHJlc3Npb25lLXJlZ29sYXJlLXZhbG9yZV0iCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQwCittc2dpZCAicmVuYW1lIHNlY3Rpb246IG9sZC1uYW1lIG5ldy1uYW1lIgorbXNnc3RyICJyaW5vbWluYSBzZXppb25lOiB2ZWNjaGlvLW5vbWUgbnVvdm8tbm9tZSIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNDEKK21zZ2lkICJyZW1vdmUgYSBzZWN0aW9uOiBuYW1lIgorbXNnc3RyICJyaW11b3ZpIHVuYSBzZXppb25lOiBub21lIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE0MgorbXNnaWQgImxpc3QgYWxsIgorbXNnc3RyICJlbGVuY2EgdHV0dGkiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQzCittc2dpZCAib3BlbiBhbiBlZGl0b3IiCittc2dzdHIgImFwcmkgdW4gZWRpdG9yIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE0NAorbXNnaWQgImZpbmQgdGhlIGNvbG9yIGNvbmZpZ3VyZWQ6IHNsb3QgW2RlZmF1bHRdIgorbXNnc3RyICJ0cm92YSBpbCBjb2xvcmUgY29uZmlndXJhdG86IHNsb3QgW3ZhbG9yZS1wcmVkZWZpbml0b10iCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ1Cittc2dpZCAiZmluZCB0aGUgY29sb3Igc2V0dGluZzogc2xvdCBbc3Rkb3V0LWlzLXR0eV0iCittc2dzdHIgInRyb3ZhIGwnaW1wb3N0YXppb25lIGNvbG9yZTogc2xvdCBbc3RhbmRhcmQtb3V0cHV0LcOoLXVuYS10dHldIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE0NgorbXNnaWQgIlR5cGUiCittc2dzdHIgIlRpcG8iCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ3IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzozOAorbXNnaWQgInZhbHVlIGlzIGdpdmVuIHRoaXMgdHlwZSIKK21zZ3N0ciAiYWwgdmFsb3JlIMOoIGFzc2VnbmF0byBxdWVzdG8gdGlwbyIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNDgKK21zZ2lkICJ2YWx1ZSBpcyBcInRydWVcIiBvciBcImZhbHNlXCIiCittc2dzdHIgImlsIHZhbG9yZSDDqCBcInRydWVcIiBvIFwiZmFsc2VcIiIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNDkKK21zZ2lkICJ2YWx1ZSBpcyBkZWNpbWFsIG51bWJlciIKK21zZ3N0ciAiaWwgdmFsb3JlIMOoIHVuIG51bWVybyBkZWNpbWFsZSIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNTAKK21zZ2lkICJ2YWx1ZSBpcyAtLWJvb2wgb3IgLS1pbnQiCittc2dzdHIgImlsIHZhbG9yZSDDqCAtLWJvb2wgbyAtLWludCIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNTEKK21zZ2lkICJ2YWx1ZSBpcyBhIHBhdGggKGZpbGUgb3IgZGlyZWN0b3J5IG5hbWUpIgorbXNnc3RyICJpbCB2YWxvcmUgw6ggdW4gcGVyY29yc28gKG5vbWUgZmlsZSBvIGRpcmVjdG9yeSkiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTUyCittc2dpZCAidmFsdWUgaXMgYW4gZXhwaXJ5IGRhdGUiCittc2dzdHIgImlsIHZhbG9yZSDDqCB1bmEgZGF0YSBkaSBzY2FkZW56YSIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNTMKK21zZ2lkICJPdGhlciIKK21zZ3N0ciAiQWx0cm8iCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTU0Cittc2dpZCAidGVybWluYXRlIHZhbHVlcyB3aXRoIE5VTCBieXRlIgorbXNnc3RyICJ0ZXJtaW5hIGkgdmFsb3JpIGNvbiB1biBieXRlIE5VTCIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNTUKK21zZ2lkICJzaG93IHZhcmlhYmxlIG5hbWVzIG9ubHkiCittc2dzdHIgInZpc3VhbGl6emEgc29sbyBpIG5vbWkgZGVsbGUgdmFyaWFiaWxpIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE1NgorbXNnaWQgInJlc3BlY3QgaW5jbHVkZSBkaXJlY3RpdmVzIG9uIGxvb2t1cCIKK21zZ3N0ciAiIgorInJpc3BldHRhIGxlIGRpcmVjdG9yeSBkaSBpbmNsdXNpb25lIGR1cmFudGUgaWwgcmVjdXBlcm8gZGVsbGUgdmFyaWFiaWxpIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE1NworbXNnaWQgInNob3cgb3JpZ2luIG9mIGNvbmZpZyAoZmlsZSwgc3RhbmRhcmQgaW5wdXQsIGJsb2IsIGNvbW1hbmQgbGluZSkiCittc2dzdHIgIiIKKyJ2aXN1YWxpenphIGwnb3JpZ2luZSBkZWwgZmlsZSBkaSBjb25maWd1cmF6aW9uZSAoZmlsZSwgc3RhbmRhcmQgaW5wdXQsIGJsb2IsICIKKyJyaWdhIGRpIGNvbWFuZG8pIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE1OCBidWlsdGluL2Vudi0taGVscGVyLmM6NDAKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAidmFsb3JlIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE1OAorbXNnaWQgIndpdGggLS1nZXQsIHVzZSBkZWZhdWx0IHZhbHVlIHdoZW4gbWlzc2luZyBlbnRyeSIKK21zZ3N0ciAiY29uIC0tZ2V0LCB1c2EgaWwgdmFsb3JlIHByZWRlZmluaXRvIHNlIGxhIHZvY2Ugw6ggbWFuY2FudGUiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMsIHNob3VsZCBiZSAlZCIKK21zZ3N0ciAibnVtZXJvIGRpIGFyZ29tZW50aSBlcnJhdG8sIGRvdnJlYmJlcm8gZXNzZXJlICVkIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzLCBzaG91bGQgYmUgZnJvbSAlZCB0byAlZCIKK21zZ3N0ciAibnVtZXJvIGRpIGFyZ29tZW50aSBlcnJhdG8sIGRvdnJlYmJlcm8gZXNzZXJlIGRhICVkIGEgJWQiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQga2V5IHBhdHRlcm46ICVzIgorbXNnc3RyICJwYXR0ZXJuIGNoaWF2ZSBub24gdmFsaWRvOiAlcyIKKworIzogYnVpbHRpbi9jb25maWcuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGZvcm1hdCBkZWZhdWx0IGNvbmZpZyB2YWx1ZTogJXMiCittc2dzdHIgImZvcm1hdHRhemlvbmUgZGVsIHZhbG9yZSBjb25maWd1cmF6aW9uZSBwcmVkZWZpbml0byBub24gcml1c2NpdGE6ICVzIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcGFyc2UgY29sb3IgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSBpbCBjb2xvcmUgJyVzJyIKKworIzogYnVpbHRpbi9jb25maWcuYzo0NDMKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgZGVmYXVsdCBjb2xvciB2YWx1ZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSBpbCB2YWxvcmUgY29sb3JlIHByZWRlZmluaXRvIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjQ5NiBidWlsdGluL2NvbmZpZy5jOjc0MgorbXNnaWQgIm5vdCBpbiBhIGdpdCBkaXJlY3RvcnkiCittc2dzdHIgIm5vbiBzaSDDqCBpbiB1bmEgZGlyZWN0b3J5IGdpdCIKKworIzogYnVpbHRpbi9jb25maWcuYzo0OTkKK21zZ2lkICJ3cml0aW5nIHRvIHN0ZGluIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgImxhIHNjcml0dHVyYSBzdSBzdGFuZGFyZCBpbnB1dCBub24gw6ggc3VwcG9ydGF0YSIKKworIzogYnVpbHRpbi9jb25maWcuYzo1MDIKK21zZ2lkICJ3cml0aW5nIGNvbmZpZyBibG9icyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJsYSBzY3JpdHR1cmEgZGkgYmxvYiBkaSBjb25maWd1cmF6aW9uZSBub24gw6ggc3VwcG9ydGF0YSIKKworIzogYnVpbHRpbi9jb25maWcuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhpcyBpcyBHaXQncyBwZXItdXNlciBjb25maWd1cmF0aW9uIGZpbGUuXG4iCisiW3VzZXJdXG4iCisiIyBQbGVhc2UgYWRhcHQgYW5kIHVuY29tbWVudCB0aGUgZm9sbG93aW5nIGxpbmVzOlxuIgorIiNcdG5hbWUgPSAlc1xuIgorIiNcdGVtYWlsID0gJXNcbiIKK21zZ3N0ciAiIgorIiMgUXVlc3RvIMOoIGlsIGZpbGUgZGkgY29uZmlndXJhemlvbmUgdXRlbnRlIGRpIEdpdC5cbiIKKyJbdXNlcl1cbiIKKyIjIEFkYXR0YSBlIGRlY29tbWVudGEgbGUgc2VndWVudGkgcmlnaGU6XG4iCisiI1x0bmFtZSA9ICVzXG4iCisiI1x0ZW1haWwgPSAlc1xuIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjYxMQorbXNnaWQgIm9ubHkgb25lIGNvbmZpZyBmaWxlIGF0IGEgdGltZSIKK21zZ3N0ciAic29sbyB1biBmaWxlIGRpIGNvbmZpZ3VyYXppb25lIHBlciB2b2x0YSIKKworIzogYnVpbHRpbi9jb25maWcuYzo2MTYKK21zZ2lkICItLWxvY2FsIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgZ2l0IHJlcG9zaXRvcnkiCittc2dzdHIgIi0tbG9jYWwgcHXDsiBlc3NlcmUgdXNhdG8gc29sbyBpbiB1biByZXBvc2l0b3J5IEdpdCIKKworIzogYnVpbHRpbi9jb25maWcuYzo2MTkKK21zZ2lkICItLWJsb2IgY2FuIG9ubHkgYmUgdXNlZCBpbnNpZGUgYSBnaXQgcmVwb3NpdG9yeSIKK21zZ3N0ciAiLS1ibG9iIHB1w7IgZXNzZXJlIHVzYXRvIHNvbG8gaW4gdW4gcmVwb3NpdG9yeSBHaXQiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjM4Cittc2dpZCAiJEhPTUUgbm90IHNldCIKK21zZ3N0ciAiJEhPTUUgbm9uIGltcG9zdGF0YSIKKworIzogYnVpbHRpbi9jb25maWcuYzo2NTgKK21zZ2lkICIiCisiLS13b3JrdHJlZSBjYW5ub3QgYmUgdXNlZCB3aXRoIG11bHRpcGxlIHdvcmtpbmcgdHJlZXMgdW5sZXNzIHRoZSBjb25maWdcbiIKKyJleHRlbnNpb24gd29ya3RyZWVDb25maWcgaXMgZW5hYmxlZC4gUGxlYXNlIHJlYWQgXCJDT05GSUdVUkFUSU9OIEZJTEVcIlxuIgorInNlY3Rpb24gaW4gXCJnaXQgaGVscCB3b3JrdHJlZVwiIGZvciBkZXRhaWxzIgorbXNnc3RyICIiCisiLS13b3JrdHJlZSBub24gcHXDsiBlc3NlcmUgdXNhdG8gY29uIGFsYmVyaSBkaSBsYXZvcm8gbXVsdGlwbGkgYSBtZW5vXG4iCisiY2hlIGwnZXN0ZW5zaW9uZSBkaSBjb25maWd1cmF6aW9uZSB3b3JrdHJlZUNvbmZpZyBub24gc2lhIGFiaWxpdGF0YS5cbiIKKyJMZWdnaSBsYSBzZXppb25lIFwiRklMRSBESSBDT05GSUdVUkFaSU9ORVwiIGluIFwiZ2l0IGhlbHAgd29ya3RyZWVcIiBwZXJcbiIKKyJpIGRldHRhZ2xpIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjY4OAorbXNnaWQgIi0tZ2V0LWNvbG9yIGFuZCB2YXJpYWJsZSB0eXBlIGFyZSBpbmNvaGVyZW50IgorbXNnc3RyICItLWdldC1jb2xvciBlIGlsIHRpcG8gZGVsbGEgdmFyaWFiaWxlIG5vbiBzb25vIGNvZXJlbnRpIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjY5MworbXNnaWQgIm9ubHkgb25lIGFjdGlvbiBhdCBhIHRpbWUiCittc2dzdHIgInNvbG8gdW4nYXppb25lIHBlciB2b2x0YSIKKworIzogYnVpbHRpbi9jb25maWcuYzo3MDYKK21zZ2lkICItLW5hbWUtb25seSBpcyBvbmx5IGFwcGxpY2FibGUgdG8gLS1saXN0IG9yIC0tZ2V0LXJlZ2V4cCIKK21zZ3N0ciAiLS1uYW1lLW9ubHkgw6ggYXBwbGljYWJpbGUgc29sbyBhIC0tbGlzdCBvIC0tZ2V0LXJlZ2V4cCIKKworIzogYnVpbHRpbi9jb25maWcuYzo3MTIKK21zZ2lkICIiCisiLS1zaG93LW9yaWdpbiBpcyBvbmx5IGFwcGxpY2FibGUgdG8gLS1nZXQsIC0tZ2V0LWFsbCwgLS1nZXQtcmVnZXhwLCBhbmQgLS0iCisibGlzdCIKK21zZ3N0ciAiIgorIi0tc2hvdy1vcmlnaW4gw6ggYXBwbGljYWJpbGUgc29sbyBhIC0tZ2V0LCAtLWdldC1hbGwsIC0tZ2V0LXJlZ2V4cCBlIC0tbGlzdCIKKworIzogYnVpbHRpbi9jb25maWcuYzo3MTgKK21zZ2lkICItLWRlZmF1bHQgaXMgb25seSBhcHBsaWNhYmxlIHRvIC0tZ2V0IgorbXNnc3RyICItLWRlZmF1bHQgw6ggYXBwbGljYWJpbGUgc29sbyBhIC0tZ2V0IgorCisjOiBidWlsdGluL2NvbmZpZy5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBjb25maWcgZmlsZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGlsIGZpbGUgZGkgY29uZmlndXJhemlvbmUgJyVzJyIKKworIzogYnVpbHRpbi9jb25maWcuYzo3MzQKK21zZ2lkICJlcnJvciBwcm9jZXNzaW5nIGNvbmZpZyBmaWxlKHMpIgorbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBsJ2VsYWJvcmF6aW9uZSBkZWwvZGVpIGZpbGUgZGkgY29uZmlndXJhemlvbmUiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQ0Cittc2dpZCAiZWRpdGluZyBzdGRpbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJsYSBtb2RpZmljYSBkZWxsbyBzdGFuZGFyZCBpbnB1dCBub24gw6ggc3VwcG9ydGF0YSIKKworIzogYnVpbHRpbi9jb25maWcuYzo3NDYKK21zZ2lkICJlZGl0aW5nIGJsb2JzIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgImxhIG1vZGlmaWNhIGRlaSBibG9iIG5vbiDDqCBzdXBwb3J0YXRhIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjc2MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY3JlYXJlIGlsIGZpbGUgZGkgY29uZmlndXJhemlvbmUgJXMiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzczCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjYW5ub3Qgb3ZlcndyaXRlIG11bHRpcGxlIHZhbHVlcyB3aXRoIGEgc2luZ2xlIHZhbHVlXG4iCisiICAgICAgIFVzZSBhIHJlZ2V4cCwgLS1hZGQgb3IgLS1yZXBsYWNlLWFsbCB0byBjaGFuZ2UgJXMuIgorbXNnc3RyICIiCisiaW1wb3NzaWJpbGUgc292cmFzY3JpdmVyZSB2YWxvcmkgbXVsdGlwbGkgY29uIHVuIHNpbmdvbG8gdmFsb3JlXG4iCisiICAgICAgIFVzYSB1bidlc3ByZXNzaW9uZSByZWdvbGFyZSwgLS1hZGQgbyAtLXJlcGxhY2UtYWxsIHBlciBtb2RpZmljYXJlICVzLiIKKworIzogYnVpbHRpbi9jb25maWcuYzo4NDcgYnVpbHRpbi9jb25maWcuYzo4NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCBzZWN0aW9uOiAlcyIKK21zZ3N0ciAic2V6aW9uZSAlcyBub24gZXNpc3RlbnRlIgorCisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5MAorbXNnaWQgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCittc2dzdHIgImdpdCBjb3VudC1vYmplY3RzIFstdl0gWy1IIHwgLS1odW1hbi1yZWFkYWJsZV0iCisKKyM6IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjEwMAorbXNnaWQgInByaW50IHNpemVzIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdCIKK21zZ3N0ciAic3RhbXBhIGxlIGRpbWVuc2lvbmkgaW4gdW4gZm9ybWF0byBsZWdnaWJpbGUiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNgorbXNnaWQgImdpdCBkZXNjcmliZSBbPG9wdGlvbnM+XSBbPGNvbW1pdC1pc2g+Li4uXSIKK21zZ3N0ciAiZ2l0IGRlc2NyaWJlIFs8b3B6aW9uaT5dIFs8ZXNwcmVzc2lvbmUgY29tbWl0Pi4uLl0iCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNworbXNnaWQgImdpdCBkZXNjcmliZSBbPG9wdGlvbnM+XSAtLWRpcnR5IgorbXNnc3RyICJnaXQgZGVzY3JpYmUgWzxvcHppb25pPl0gLS1kaXJ0eSIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjYyCittc2dpZCAiaGVhZCIKK21zZ3N0ciAiaGVhZCIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjYyCittc2dpZCAibGlnaHR3ZWlnaHQiCittc2dzdHIgImxlZ2dlcm8iCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2MgorbXNnaWQgImFubm90YXRlZCIKK21zZ3N0ciAiYW5ub3RhdG8iCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBub3QgYXZhaWxhYmxlIgotbXNnc3RyICIiCittc2dzdHIgImlsIHRhZyBhbm5vdGF0byAlcyBub24gw6ggZGlzcG9uaWJpbGUiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyMzgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBoYXMgbm8gZW1iZWRkZWQgbmFtZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbCB0YWcgYW5ub3RhdG8gJXMgbm9uIGhhIHVuIG5vbWUgaW5jb3Jwb3JhdG8iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNDAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyODEKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgaXMgcmVhbGx5ICclcycgaGVyZSIKLW1zZ3N0ciAiaWwgdGFnICclcycgw6ggZGF2dmVybyAnJXMnIHF1aSIKK21zZ3N0ciAiaWwgdGFnICclcycgaW4gcmVhbHTDoCBxdWkgw6ggJyVzJyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI2NwotIywgYy1mb3JtYXQKLW1zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKLW1zZ3N0ciAiTm9uIMOoIGlsIG5vbWUgZGkgdW4gb2dnZXR0byB2YWxpZG8gJXMiCi0KLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgJyVzJyBvYmplY3QiCi1tc2dzdHIgIiVzIG5vbiDDqCB1biBvZ2dldHRvICclcycgdmFsaWRvIgotCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjg3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRhZyBleGFjdGx5IG1hdGNoZXMgJyVzJyIKIG1zZ3N0ciAibmVzc3VuIHRhZyBjb3JyaXNwb25kZSBlc2F0dGFtZW50ZSBhICclcyciCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyODkKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMjcKICMsIGMtZm9ybWF0Ci1tc2dpZCAic2VhcmNoaW5nIHRvIGRlc2NyaWJlICVzXG4iCittc2dpZCAiTm8gZXhhY3QgbWF0Y2ggb24gcmVmcyBvciB0YWdzLCBzZWFyY2hpbmcgdG8gZGVzY3JpYmVcbiIKIG1zZ3N0ciAiIgorIk5lc3N1bmEgY29ycmlzcG9uZGVuemEgZXNhdHRhIHN1aSByaWZlcmltZW50aSBvIHN1aSB0YWcsIHN0byBlc2VndWVuZG8gdW5hICIKKyJyaWNlcmNhIHBlciBkZXNjcml2ZXJlIGlsIGNvbW1pdFxuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbmlzaGVkIHNlYXJjaCBhdCAlc1xuIgotbXNnc3RyICIiCittc2dzdHIgInJpY2VyY2EgdGVybWluYXRhIGluICVzXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNTMKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIGFubm90YXRlZCB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgogIkhvd2V2ZXIsIHRoZXJlIHdlcmUgdW5hbm5vdGF0ZWQgdGFnczogdHJ5IC0tdGFncy4iCiBtc2dzdHIgIiIKKyJOZXNzdW4gdGFnIGFubm90YXRvIHB1w7IgZGVzY3JpdmVyZSAnJXMnLlxuIgorIkNpw7Igbm9ub3N0YW50ZSwgYydlcmFubyBkZWkgdGFnIG5vbiBhbm5vdGF0aTogcHJvdmEgY29uIC0tdGFncy4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozNTcKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCiAiVHJ5IC0tYWx3YXlzLCBvciBjcmVhdGUgc29tZSB0YWdzLiIKIG1zZ3N0ciAiIgogIk5lc3N1biB0YWcgcHXDsiBkZXNjcml2ZXJlICclcycuXG4iCi0iUHJvdmEgY29uIC0tYWx3YXlzLCBvIGNyZWEgZGVpIHRhZy4iCisiUHJvdmEgY29uIC0tYWx3YXlzIG8gY3JlYSBkZWkgdGFnLiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM3OAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmF2ZXJzZWQgJWx1IGNvbW1pdHNcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJobyBhdHRyYXZlcnNhdG8gJWx1IGNvbW1pdFxuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzgxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJtb3JlIHRoYW4gJWkgdGFncyBmb3VuZDsgbGlzdGVkICVpIG1vc3QgcmVjZW50XG4iCiAiZ2F2ZSB1cCBzZWFyY2ggYXQgJXNcbiIKIG1zZ3N0ciAiIgorInRyb3ZhdGkgcGnDuSBkaSAlaSB0YWc7IGhvIGVsZW5jYXRvIGkgJWkgcGnDuSByZWNlbnRpXG4iCisiaG8gdGVybWluYXRvIGxhIHJpY2VyY2EgaW4gJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQzNgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUxMgorIywgYy1mb3JtYXQKK21zZ2lkICJkZXNjcmliZSAlc1xuIgorbXNnc3RyICJkZXNjcml2aSAlc1xuIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgorbXNnc3RyICIlcyBub24gw6ggdW4gbm9tZSBvZ2dldHRvIHZhbGlkbyIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjUyMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBuZWl0aGVyIGEgY29tbWl0IG5vciBibG9iIgorbXNnc3RyICIlcyBub24gw6ggbsOpIHVuIGNvbW1pdCBuw6kgdW4gYmxvYiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzNworbXNnaWQgImZpbmQgdGhlIHRhZyB0aGF0IGNvbWVzIGFmdGVyIHRoZSBjb21taXQiCittc2dzdHIgInRyb3ZhIGlsIHRhZyBzdWNjZXNzaXZvIGFsIGNvbW1pdCIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzOAorbXNnaWQgImRlYnVnIHNlYXJjaCBzdHJhdGVneSBvbiBzdGRlcnIiCittc2dzdHIgImVzZWd1aSBpbCBkZWJ1ZyBkZWxsYSBzdHJhdGVnaWEgZGkgcmljZXJjYSBzdWxsbyBzdGFuZGFyZCBlcnJvciIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzOQorbXNnaWQgInVzZSBhbnkgcmVmIgorbXNnc3RyICJ1c2EgcXVhbHVucXVlIHJpZmVyaW1lbnRvIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQwCittc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCittc2dzdHIgInVzYSBxdWFsdW5xdWUgdGFnLCBhbmNoZSBxdWVsbGkgbm9uIGFubm90YXRpIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQxCittc2dpZCAiYWx3YXlzIHVzZSBsb25nIGZvcm1hdCIKK21zZ3N0ciAidXNhIHNlbXByZSBpbCBmb3JtYXRvIGx1bmdvIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQyCittc2dpZCAib25seSBmb2xsb3cgZmlyc3QgcGFyZW50IgorbXNnc3RyICJzZWd1aSBzb2xvIGlsIHByaW1vIGdlbml0b3JlIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ1Cittc2dpZCAib25seSBvdXRwdXQgZXhhY3QgbWF0Y2hlcyIKK21zZ3N0ciAidmlzdWFsaXp6YSBzb2xvIGxlIGNvcnJpc3BvbmRlbnplIGVzYXR0ZSIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0NworbXNnaWQgImNvbnNpZGVyIDxuPiBtb3N0IHJlY2VudCB0YWdzIChkZWZhdWx0OiAxMCkiCittc2dzdHIgImNvbnNpZGVyYSBnbGkgPG4+IHRhZyBwacO5IHJlY2VudGkgKGltcG9zdGF6aW9uZSBwcmVkZWZpbml0YTogMTApIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ5Cittc2dpZCAib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKK21zZ3N0ciAiY29uc2lkZXJhIHNvbG8gaSB0YWcgY29ycmlzcG9uZGVudGkgYWwgPHBhdHRlcm4+IgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUxCittc2dpZCAiZG8gbm90IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgorbXNnc3RyICJub24gY29uc2lkZXJhcmUgaSB0YWcgY29ycmlzcG9uZGVudGkgYWwgPHBhdHRlcm4+IgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUzIGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzMKK21zZ2lkICJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siCittc2dzdHIgInZpc3VhbGl6emEgbCdvZ2dldHRvIGNvbW1pdCBhYmJyZXZpYXRvIGNvbWUgZmFsbGJhY2siCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTQgYnVpbHRpbi9kZXNjcmliZS5jOjU1NworbXNnaWQgIm1hcmsiCittc2dzdHIgImNvbnRyYXNzZWdubyIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1NQorbXNnaWQgImFwcGVuZCA8bWFyaz4gb24gZGlydHkgd29ya2luZyB0cmVlIChkZWZhdWx0OiBcIi1kaXJ0eVwiKSIKK21zZ3N0ciAiIgorImFnZ2l1bmdpIDxjb250cmFzc2Vnbm8+IGFsbCdhbGJlcm8gZGkgbGF2b3JvIHNwb3JjbyAoaW1wb3N0YXppb25lICIKKyJwcmVkZWZpbml0YTogXCItZGlydHlcIikiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTgKK21zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGJyb2tlbiB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWJyb2tlblwiKSIKK21zZ3N0ciAiIgorImFnZ2l1bmdpIDxjb250cmFzc2Vnbm8+IGFsbCdhbGJlcm8gZGkgbGF2b3JvIHJvdHRvIChpbXBvc3RhemlvbmUgIgorInByZWRlZmluaXRhOiBcIi1icm9rZW5cIikiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NzYKIG1zZ2lkICItLWxvbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hYmJyZXY9MCIKIG1zZ3N0ciAiLS1sb25nIG5vbiDDqCBjb21wYXRpYmlsZSBjb24gLS1hYmJyZXY9MCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQ2MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjYwNQogbXNnaWQgIk5vIG5hbWVzIGZvdW5kLCBjYW5ub3QgZGVzY3JpYmUgYW55dGhpbmcuIgotbXNnc3RyICIiCittc2dzdHIgIk5lc3N1biBub21lIHRyb3ZhdG8sIG5vbiDDqCBwb3NzaWJpbGUgZGVzY3JpdmVyZSBudWxsYS4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0ODIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTYKIG1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICItLWRpcnR5IG5vbiDDqCBjb21wYXRpYmlsZSBjb24gbGUgZXNwcmVzc2lvbmkgY29tbWl0IgogCi0jOiBidWlsdGluL2RpZmYuYzo3NworIzogYnVpbHRpbi9kZXNjcmliZS5jOjY1OAorbXNnaWQgIi0tYnJva2VuIGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKK21zZ3N0ciAiLS1icm9rZW4gbm9uIMOoIGNvbXBhdGliaWxlIGNvbiBsZSBlc3ByZXNzaW9uaSBjb21taXQiCisKKyM6IGJ1aWx0aW4vZGlmZi5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IG5vdCBhIHJlZ3VsYXIgZmlsZSBvciBzeW1saW5rIgotbXNnc3RyICInJXMnOiBub24gw6ggdW4gZmlsZSByZWdvbGFyZSBvIHVuIGxpbmsgc2ltYm9saWNvIgorbXNnc3RyICInJXMnOiBub24gw6ggdW4gZmlsZSByZWdvbGFyZSBvIHVuIGNvbGxlZ2FtZW50byBzaW1ib2xpY28iCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjIyMAorIzogYnVpbHRpbi9kaWZmLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb3B0aW9uOiAlcyIKIG1zZ3N0ciAib3B6aW9uZSBub24gdmFsaWRhOiAlcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6Mjk3CisjOiBidWlsdGluL2RpZmYuYzozNTAKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiTm9uIMOoIHVuIHJlcG9zaXRvcnkgZ2l0IgorbXNnc3RyICJOb24gw6ggdW4gcmVwb3NpdG9yeSBHaXQiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjM0NworIzogYnVpbHRpbi9kaWZmLmM6Mzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb2JqZWN0ICclcycgZ2l2ZW4uIgotbXNnc3RyICJvZ2dldHRvIG5vbiB2YWxpZG8gJyVzJyBzcGVjaWZpY2F0by4iCittc2dzdHIgInNwZWNpZmljYXRvIG9nZ2V0dG8gbm9uIHZhbGlkbyAnJXMnLiIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzUyCi0jLCBjLWZvcm1hdAotbXNnaWQgIm1vcmUgdGhhbiAlZCB0cmVlcyBnaXZlbjogJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2RpZmYuYzozNjIKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gdHdvIGJsb2JzIGdpdmVuOiAnJXMnIgogbXNnc3RyICJwacO5IGRpIGR1ZSBibG9iIHNwZWNpZmljYXRpOiAnJXMnIgogCi0jOiBidWlsdGluL2RpZmYuYzozNzAKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmhhbmRsZWQgb2JqZWN0ICclcycgZ2l2ZW4uIgotbXNnc3RyICJvZ2dldHRvIG5vbiBnZXN0aXRvICclcycgc3BlY2lmaWNhdG8uIgorbXNnc3RyICJzcGVjaWZpY2F0byBvZ2dldHRvIG5vbiBnZXN0aXRvICclcycuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjAwCi1tc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCisjOiBidWlsdGluL2RpZmZ0b29sLmM6MzAKK21zZ2lkICJnaXQgZGlmZnRvb2wgWzxvcHRpb25zPl0gWzxjb21taXQ+IFs8Y29tbWl0Pl1dIFstLV0gWzxwYXRoPi4uLl0iCittc2dzdHIgImdpdCBkaWZmdG9vbCBbPG9wemlvbmk+XSBbPGNvbW1pdD4gWzxjb21taXQ+XV0gWy0tXSBbPHBlcmNvcnNvPi4uLl0iCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkOiAlZCIKK21zZ3N0ciAibm9uIHJpdXNjaXRvOiAlZCIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBzeW1saW5rICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGlsIGNvbGxlZ2FtZW50byBzaW1ib2xpY28gJXMiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgc3ltbGluayBmaWxlICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGlsIGZpbGUgY29sbGVnYW1lbnRvIHNpbWJvbGljbyAlcyIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBvYmplY3QgJXMgZm9yIHN5bWxpbmsgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgbCdvZ2dldHRvICVzIHBlciBpbCBjb2xsZWdhbWVudG8gc2ltYm9saWNvICVzIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NDEzCittc2dpZCAiIgorImNvbWJpbmVkIGRpZmYgZm9ybWF0cygnLWMnIGFuZCAnLS1jYycpIGFyZSBub3Qgc3VwcG9ydGVkIGluXG4iCisiZGlyZWN0b3J5IGRpZmYgbW9kZSgnLWQnIGFuZCAnLS1kaXItZGlmZicpLiIKIG1zZ3N0ciAiIgorImkgZm9ybWF0aSBkaWZmIGNvbWJpbmF0aSAoJy1jJyBlICctLWNjJykgbm9uIHNvbm8gc3VwcG9ydGF0aSBpblxuIgorIm1vZGFsaXTDoCBkaWZmIGRpcmVjdG9yeSAoJy1kJyBlICctLWRpci1kaWZmJykuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjUzCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgImJvdGggZmlsZXMgbW9kaWZpZWQ6ICclcycgYW5kICclcycuIgorbXNnc3RyICJlbnRyYW1iaSBpIGZpbGUgcmlzdWx0YW5vIG1vZGlmaWNhdGk6ICclcycgZSAnJXMnLiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNgorbXNnaWQgIndvcmtpbmcgdHJlZSBmaWxlIGhhcyBiZWVuIGxlZnQuIgorbXNnc3RyICJpbCBmaWxlIG5lbGwnYWxiZXJvIGRpIGxhdm9ybyDDqCBzdGF0byBtYW50ZW51dG8uIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInRlbXBvcmFyeSBmaWxlcyBleGlzdCBpbiAnJXMnLiIKK21zZ3N0ciAiZXNpc3Rvbm8gZmlsZSB0ZW1wb3JhbmVpIGluICclcycuIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjQ4Cittc2dpZCAieW91IG1heSB3YW50IHRvIGNsZWFudXAgb3IgcmVjb3ZlciB0aGVzZS4iCittc2dzdHIgInBvdHJlc3RpIHZvbGVyIHJpcHVsaXJsaSBvIHJpcHJpc3RpbmFybGkuIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6Njk3Cittc2dpZCAidXNlIGBkaWZmLmd1aXRvb2xgIGluc3RlYWQgb2YgYGRpZmYudG9vbGAiCittc2dzdHIgInVzYSBgZGlmZi5ndWl0b29sYCBhbnppY2jDqSBgZGlmZi50b29sYCIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5OQorbXNnaWQgInBlcmZvcm0gYSBmdWxsLWRpcmVjdG9yeSBkaWZmIgorbXNnc3RyICJlc2VndWkgdW4gZGlmZiBkaXJlY3RvcnkgY29tcGxldG8iCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDEKK21zZ2lkICJkbyBub3QgcHJvbXB0IGJlZm9yZSBsYXVuY2hpbmcgYSBkaWZmIHRvb2wiCittc2dzdHIgIm5vbiBjaGllZGVyZSBjb25mZXJtYSBwcmltYSBkaSBsYW5jaWFyZSB1biB0b29sIGRpZmYiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDYKK21zZ2lkICJ1c2Ugc3ltbGlua3MgaW4gZGlyLWRpZmYgbW9kZSIKK21zZ3N0ciAidXNhIGNvbGxlZ2FtZW50aSBzaW1ib2xpY2kgaW4gbW9kYWxpdMOgIGRpZmYgZGlyZWN0b3J5IgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA3Cittc2dpZCAidG9vbCIKK21zZ3N0ciAic3RydW1lbnRvIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA4Cittc2dpZCAidXNlIHRoZSBzcGVjaWZpZWQgZGlmZiB0b29sIgorbXNnc3RyICJ1c2EgbG8gc3RydW1lbnRvIGRpZmYgc3BlY2lmaWNhdG8iCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTAKK21zZ2lkICJwcmludCBhIGxpc3Qgb2YgZGlmZiB0b29scyB0aGF0IG1heSBiZSB1c2VkIHdpdGggYC0tdG9vbGAiCittc2dzdHIgIiIKKyJzdGFtcGEgdW4gZWxlbmNvIGRpIHN0cnVtZW50aSBkaWZmIGNoZSBwb3Nzb25vIGVzc2VyZSB1c2F0aSBjb24gYC0tdG9vbGAiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTMKK21zZ2lkICIiCisibWFrZSAnZ2l0LWRpZmZ0b29sJyBleGl0IHdoZW4gYW4gaW52b2tlZCBkaWZmIHRvb2wgcmV0dXJucyBhIG5vbiAtIHplcm8gZXhpdCAiCisiY29kZSIKK21zZ3N0ciAiIgorImZhaSBzw6wgY2hlICdnaXQtZGlmZnRvb2wnIGVzY2EgcXVhbmRvIHVubyBzdHJ1bWVudG8gZGlmZiBpbnZvY2F0byAiCisicmVzdGl0dWlzY2UgdW4gY29kaWNlIGQndXNjaXRhIGRpdmVyc28gZGEgemVybyIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxNgorbXNnaWQgInNwZWNpZnkgYSBjdXN0b20gY29tbWFuZCBmb3Igdmlld2luZyBkaWZmcyIKK21zZ3N0ciAic3BlY2lmaWNhIHVuIGNvbWFuZG8gcGVyc29uYWxpenphdG8gcGVyIHZpc3VhbGl6emFyZSBpIGRpZmYiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTcKK21zZ2lkICJwYXNzZWQgdG8gYGRpZmZgIgorbXNnc3RyICJmb3JuaXRvIGEgYGRpZmZgIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzMyCittc2dpZCAiZGlmZnRvb2wgcmVxdWlyZXMgd29ya3RyZWUgb3IgLS1uby1pbmRleCIKK21zZ3N0ciAiZGlmZnRvb2wgcmljaGllZGUgdW4gYWxiZXJvIGRpIGxhdm9ybyBvIC0tbm8taW5kZXgiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MzkKK21zZ2lkICItLWRpci1kaWZmIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbm8taW5kZXgiCittc2dzdHIgIi0tZGlyLWRpZmYgbm9uIMOoIGNvbXBhdGliaWxlIGNvbiAtLW5vLWluZGV4IgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzQyCittc2dpZCAiLS1ndWksIC0tdG9vbCBhbmQgLS1leHRjbWQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAibGUgb3B6aW9uaSAtLWd1aSwgLS10b29sIGVkIC0tZXh0Y21kIHNvbm8gbXV0dWFsbWVudGUgZXNjbHVzaXZlIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzUwCittc2dpZCAibm8gPHRvb2w+IGdpdmVuIGZvciAtLXRvb2w9PHRvb2w+IgorbXNnc3RyICJuZXNzdW5vIDxzdHJ1bWVudG8+IHNwZWNpZmljYXRvIHBlciAtLXRvb2w9PHN0cnVtZW50bz4iCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3NTcKK21zZ2lkICJubyA8Y21kPiBnaXZlbiBmb3IgLS1leHRjbWQ9PGNtZD4iCittc2dzdHIgIm5lc3N1biA8Y29tYW5kbz4gc3BlY2lmaWNhdG8gcGVyIC0tZXh0Y21kPTxjb21hbmRvPiIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjYKK21zZ2lkICJnaXQgZW52LS1oZWxwZXIgLS10eXBlPVtib29sfHVsb25nXSA8b3B0aW9ucz4gPGVudi12YXI+IgorbXNnc3RyICJnaXQgZW52LS1oZWxwZXIgLS10eXBlPVtib29sfHVsb25nXSA8b3B6aW9uaT4gPHZhcmlhYmlsZSBkJ2FtYmllbnRlPiIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjM3IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorbXNnaWQgInR5cGUiCittc2dzdHIgInRpcG8iCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo0MQorbXNnaWQgImRlZmF1bHQgZm9yIGdpdF9lbnZfKiguLi4pIHRvIGZhbGwgYmFjayBvbiIKK21zZ3N0ciAiIgorImltcG9zdGF6aW9uZSBwcmVkZWZpbml0YSBzdSBjdWkgcmlwaWVnaGVyYW5ubyBsZSBjaGlhbWF0ZSBnaXRfZW52XyooLi4uKSIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjQzCittc2dpZCAiYmUgcXVpZXQgb25seSB1c2UgZ2l0X2Vudl8qKCkgdmFsdWUgYXMgZXhpdCBjb2RlIgorbXNnc3RyICIiCisibm9uIHZpc3VhbGl6emFyZSBtZXNzYWdnaSwgdXNhIHNvbG8gaWwgdmFsb3JlIGRpIGdpdF9lbnZfKigpIGNvbWUgY29kaWNlICIKKyJkJ3VzY2l0YSIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgLS1kZWZhdWx0JyBleHBlY3RzIGEgYm9vbGVhbiB2YWx1ZSB3aXRoIGAtLXR5cGU9Ym9vbGAsIG5vdCBgJXNgIgorbXNnc3RyICIiCisibCdvcHppb25lIGAtLWRlZmF1bHQnIHJpY2hpZWRlIHVuIHZhbG9yZSBib29sZWFubyBjb24gYC0tdHlwZT1ib29sYCwgbm9uIGAlc2AiCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisib3B0aW9uIGAtLWRlZmF1bHQnIGV4cGVjdHMgYW4gdW5zaWduZWQgbG9uZyB2YWx1ZSB3aXRoIGAtLXR5cGU9dWxvbmdgLCBub3QgYCIKKyIlc2AiCittc2dzdHIgIiIKKyJsJ29wemlvbmUgYC0tZGVmYXVsdCcgcmljaGllZGUgdW4gdmFsb3JlIHVuc2lnbmVkIGxvbmcgY29uIGAtLXR5cGU9dWxvbmdgLCAiCisibm9uIGAlc2AiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoyOQorbXNnaWQgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3Qtb3B0c10iCittc2dzdHIgImdpdCBmYXN0LWV4cG9ydCBbb3B6aW9uaS1lbGVuY28tcmV2XSIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjg1MgorbXNnaWQgIkVycm9yOiBDYW5ub3QgZXhwb3J0IG5lc3RlZCB0YWdzIHVubGVzcyAtLW1hcmstdGFncyBpcyBzcGVjaWZpZWQuIgorbXNnc3RyICIiCisiRXJyb3JlOiBJbXBvc3NpYmlsZSBlc3BvcnRhcmUgaSB0YWcgbmlkaWZpY2F0aSBhIG1lbm8gY2hlIG5vbiBzaWEgIgorInNwZWNpZmljYXRhIGwnb3B6aW9uZSAtLW1hcmstdGFncy4iCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTUyCittc2dpZCAic2hvdyBwcm9ncmVzcyBhZnRlciA8bj4gb2JqZWN0cyIKK21zZ3N0ciAidmlzdWFsaXp6YSBsJ2F2YW56YW1lbnRvIGRvcG8gPG4+IG9nZ2V0dGkiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTU0Cittc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHNpZ25lZCB0YWdzIgorbXNnc3RyICJzZWxlemlvbmEgbGEgZ2VzdGlvbmUgZGVpIHRhZyBmaXJtYXRpIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1NworbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiB0YWdzIHRoYXQgdGFnIGZpbHRlcmVkIG9iamVjdHMiCittc2dzdHIgInNlbGV6aW9uYSBsYSBnZXN0aW9uZSBkZWkgdGFnIGNoZSBjb250cmFzc2VnbmFubyBvZ2dldHRpIGZpbHRyYXRpIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2MAorbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBjb21taXQgbWVzc2FnZXMgaW4gYW4gYWx0ZXJuYXRlIGVuY29kaW5nIgorbXNnc3RyICIiCisic2VsZXppb25hIGxhIGdlc3Rpb25lIGRlaSBtZXNzYWdnaSBkaSBjb21taXQgaW4gdW5hIGNvZGlmaWNhIGFsdGVybmF0aXZhIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2MworbXNnaWQgIkR1bXAgbWFya3MgdG8gdGhpcyBmaWxlIgorbXNnc3RyICJFc2VndWkgaWwgZHVtcCBkZWkgY29udHJhc3NlZ25pIGluIHF1ZXN0byBmaWxlIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2NQorbXNnaWQgIkltcG9ydCBtYXJrcyBmcm9tIHRoaXMgZmlsZSIKK21zZ3N0ciAiSW1wb3J0YSBpIGNvbnRyYXNzZWduaSBkYSBxdWVzdG8gZmlsZSIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjkKK21zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUgaWYgaXQgZXhpc3RzIgorbXNnc3RyICJJbXBvcnRhIGkgY29udHJhc3NlZ25pIGRhIHF1ZXN0byBmaWxlIHNlIGVzaXN0ZSIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzEKK21zZ2lkICJGYWtlIGEgdGFnZ2VyIHdoZW4gdGFncyBsYWNrIG9uZSIKK21zZ3N0ciAiVXNhIHVuIHRhZ2dlciBmYWxzbyBzZSBpIHRhZyBub24gbmUgaGFubm8gdW5vIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3MworbXNnaWQgIk91dHB1dCBmdWxsIHRyZWUgZm9yIGVhY2ggY29tbWl0IgorbXNnc3RyICJWaXN1YWxpenphIGluIG91dHB1dCBsJ2FsYmVybyBjb21wbGV0byBwZXIgb2duaSBjb21taXQiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTc1Cittc2dpZCAiVXNlIHRoZSBkb25lIGZlYXR1cmUgdG8gdGVybWluYXRlIHRoZSBzdHJlYW0iCittc2dzdHIgIlVzYSBsYSBmdW56aW9uYWxpdMOgIFwiZmF0dG9cIiBwZXIgdGVybWluYXJlIGlsIGZsdXNzbyIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzYKK21zZ2lkICJTa2lwIG91dHB1dCBvZiBibG9iIGRhdGEiCittc2dzdHIgIk9tZXR0aSBsJ291dHB1dCBkZWkgZGF0aSBkZWkgYmxvYiIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzcgYnVpbHRpbi9sb2cuYzoxNzA1Cittc2dpZCAicmVmc3BlYyIKK21zZ3N0ciAic3BlY2lmaWNhdG9yZSByaWZlcmltZW50byIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzgKK21zZ2lkICJBcHBseSByZWZzcGVjIHRvIGV4cG9ydGVkIHJlZnMiCittc2dzdHIgIkFwcGxpY2EgbG8gc3BlY2lmaWNhdG9yZSByaWZlcmltZW50byBhaSByaWZlcmltZW50aSBlc3BvcnRhdGkiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTc5Cittc2dpZCAiYW5vbnltaXplIG91dHB1dCIKK21zZ3N0ciAicmVuZGkgYW5vbmltbyBsJ291dHB1dCIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExODEKK21zZ2lkICJSZWZlcmVuY2UgcGFyZW50cyB3aGljaCBhcmUgbm90IGluIGZhc3QtZXhwb3J0IHN0cmVhbSBieSBvYmplY3QgaWQiCittc2dzdHIgIiIKKyJGYWkgcmlmZXJpbWVudG8gYWkgZ2VuaXRvcmkgbm9uIG5lbCBmbHVzc28gZmFzdC1leHBvcnQgdHJhbWl0ZSBsJ0lEIG9nZ2V0dG8iCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTgzCittc2dpZCAiU2hvdyBvcmlnaW5hbCBvYmplY3QgaWRzIG9mIGJsb2JzL2NvbW1pdHMiCittc2dzdHIgIlZpc3VhbGl6emEgZ2xpIElEIG9nZ2V0dG8gb3JpZ2luYXJpIGRlaSBibG9iL2NvbW1pdCIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExODUKK21zZ2lkICJMYWJlbCB0YWdzIHdpdGggbWFyayBpZHMiCittc2dzdHIgIkV0aWNoZXR0YSBpIHRhZyBjb24gSUQgY29udHJhc3NlZ25vIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTIyMAorbXNnaWQgIkNhbm5vdCBwYXNzIGJvdGggLS1pbXBvcnQtbWFya3MgYW5kIC0taW1wb3J0LW1hcmtzLWlmLWV4aXN0cyIKK21zZ3N0ciAiIgorIkltcG9zc2liaWxlIGZvcm5pcmUgZW50cmFtYmUgbGUgb3B6aW9uaSAtLWltcG9ydC1tYXJrcyBlIC0taW1wb3J0LW1hcmtzLWlmLSIKKyJleGlzdHMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNAorbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKK21zZ3N0ciAiZ2l0IGZldGNoIFs8b3B6aW9uaT5dIFs8cmVwb3NpdG9yeT4gWzxzcGVjaWZpY2F0b3JlIHJpZmVyaW1lbnRvPi4uLl1dIgorCisjOiBidWlsdGluL2ZldGNoLmM6MzUKK21zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gPGdyb3VwPiIKK21zZ3N0ciAiZ2l0IGZldGNoIFs8b3B6aW9uaT5dIDxncnVwcG8+IgorCisjOiBidWlsdGluL2ZldGNoLmM6MzYKK21zZ2lkICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPG9wdGlvbnM+XSBbKDxyZXBvc2l0b3J5PiB8IDxncm91cD4pLi4uXSIKK21zZ3N0ciAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzxvcHppb25pPl0gWyg8cmVwb3NpdG9yeT4gfCA8Z3J1cHBvPikuLi5dIgorCisjOiBidWlsdGluL2ZldGNoLmM6MzcKK21zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPG9wemlvbmk+XSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjExNgorbXNnaWQgImZldGNoLnBhcmFsbGVsIGNhbm5vdCBiZSBuZWdhdGl2ZSIKK21zZ3N0ciAiZmV0Y2gucGFyYWxsZWwgbm9uIHB1w7IgZXNzZXJlIG5lZ2F0aXZvIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTM5IGJ1aWx0aW4vcHVsbC5jOjIwNAorbXNnaWQgImZldGNoIGZyb20gYWxsIHJlbW90ZXMiCittc2dzdHIgImVzZWd1aSBpbCBmZXRjaCBkYSB0dXR0aSBpIHJlbW90aSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MSBidWlsdGluL3B1bGwuYzoyNDgKK21zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL2ZldGNoIgorbXNnc3RyICJpbXBvc3RhIGwndXBzdHJlYW0gcGVyIGdpdCBwdWxsL2ZldGNoIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQzIGJ1aWx0aW4vcHVsbC5jOjIwNworbXNnaWQgImFwcGVuZCB0byAuZ2l0L0ZFVENIX0hFQUQgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyIKK21zZ3N0ciAiYWdnaXVuZ2kgaSBkYXRpIGEgLmdpdC9GRVRDSF9IRUFEIGFuemljaMOpIHNvdnJhc2NyaXZlcmxpIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQ1IGJ1aWx0aW4vcHVsbC5jOjIxMAorbXNnaWQgInBhdGggdG8gdXBsb2FkIHBhY2sgb24gcmVtb3RlIGVuZCIKK21zZ3N0ciAicGVyY29yc28gaW4gY3VpIGNhcmljYXJlIGlsIHBhY2sgc3VsIHJlbW90byIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0NgorbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCByZWZlcmVuY2UiCittc2dzdHIgImZvcnphIGxhIHNvdnJhc2NyaXR0dXJhIGRlbCByaWZlcmltZW50byBsb2NhbGUiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDgKK21zZ2lkICJmZXRjaCBmcm9tIG11bHRpcGxlIHJlbW90ZXMiCittc2dzdHIgImVzZWd1aSBpbCBmZXRjaCBkYSBwacO5IHJlbW90aSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE1MCBidWlsdGluL3B1bGwuYzoyMTQKK21zZ2lkICJmZXRjaCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIgorbXNnc3RyICJlc2VndWkgaWwgZmV0Y2ggZGkgdHV0dGkgaSB0YWcgZSBkZWdsaSBvZ2dldHRpIGFzc29jaWF0aSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE1MgorbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKK21zZ3N0ciAibm9uIGVzZWd1aXJlIGlsIGZldGNoIGRpIGFsY3VuIHRhZyAoLS1uby10YWdzKSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE1NAorbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIGZldGNoZWQgaW4gcGFyYWxsZWwiCittc2dzdHIgIm51bWVybyBkaSBzb3R0b21vZHVsaSByZWN1cGVyYXRpIGluIHBhcmFsbGVsbyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE1NiBidWlsdGluL3B1bGwuYzoyMTcKK21zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKK21zZ3N0ciAiIgorImVsaW1pbmEgaSBicmFuY2ggY2hlIG5lIHRyYWNjaWFubyB1bm8gcmVtb3RvIG1hIG5vbiBwacO5IHByZXNlbnRpIHN1bCByZW1vdG8iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTgKK21zZ2lkICJwcnVuZSBsb2NhbCB0YWdzIG5vIGxvbmdlciBvbiByZW1vdGUgYW5kIGNsb2JiZXIgY2hhbmdlZCB0YWdzIgorbXNnc3RyICIiCisiZWxpbWluYSBpIHRhZyBsb2NhbGkgbm9uIHBpw7kgcHJlc2VudGkgc3VsIHJlbW90byBlIHNvdnJhc2NyaXZpIGkgdGFnICIKKyJtb2RpZmljYXRpIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTU5IGJ1aWx0aW4vZmV0Y2guYzoxODIgYnVpbHRpbi9wdWxsLmM6MTQxCittc2dpZCAib24tZGVtYW5kIgorbXNnc3RyICJhIHJpY2hpZXN0YSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE2MAorbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCittc2dzdHIgImNvbnRyb2xsYSBpbCByZWN1cGVybyByaWNvcnNpdm8gZGVpIHNvdHRvbW9kdWxpIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTY0IGJ1aWx0aW4vcHVsbC5jOjIyNQorbXNnaWQgImtlZXAgZG93bmxvYWRlZCBwYWNrIgorbXNnc3RyICJtYW50aWVuaSBpbCBwYWNrIHNjYXJpY2F0byIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE2NgorbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgorbXNnc3RyICJjb25zZW50aSBsJ2FnZ2lvcm5hbWVudG8gZGVsIHJpZmVyaW1lbnRvIEhFQUQiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjkgYnVpbHRpbi9mZXRjaC5jOjE3NSBidWlsdGluL3B1bGwuYzoyMjgKK21zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgorbXNnc3RyICJhdW1lbnRhIGxhIHByb2ZvbmRpdMOgIGRlbGxhIGNyb25vbG9naWEgZGkgdW4gY2xvbmUgc2hhbGxvdyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE3MQorbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgcmVwb3NpdG9yeSBiYXNlZCBvbiB0aW1lIgorbXNnc3RyICIiCisiYXVtZW50YSBsYSBwcm9mb25kaXTDoCBkZWxsYSBjcm9ub2xvZ2lhIGRpIHVuIGNsb25lIHNoYWxsb3cgaW4gYmFzZSBhbCB0ZW1wbyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE3NyBidWlsdGluL3B1bGwuYzoyMzEKK21zZ2lkICJjb252ZXJ0IHRvIGEgY29tcGxldGUgcmVwb3NpdG9yeSIKK21zZ3N0ciAiY29udmVydGkgaW4gdW4gcmVwb3NpdG9yeSBjb21wbGV0byIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE4MAorbXNnaWQgInByZXBlbmQgdGhpcyB0byBzdWJtb2R1bGUgcGF0aCBvdXRwdXQiCittc2dzdHIgImFudGVwb25pIHF1ZXN0byBwcmVmaXNzbyBhbGwnb3V0cHV0IGRlbCBwZXJjb3JzbyBkZWwgc290dG9tb2R1bG8iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODMKK21zZ2lkICIiCisiZGVmYXVsdCBmb3IgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMgKGxvd2VyIHByaW9yaXR5IHRoYW4gY29uZmlnICIKKyJmaWxlcykiCittc2dzdHIgIiIKKyJpbXBvc3RhemlvbmUgcHJlZGVmaW5pdGEgcGVyIGlsIHJlY3VwZXJvIHJpY29yc2l2byBkZWkgc290dG9tb2R1bGkgKGEgIgorInByaW9yaXTDoCBtaW5vcmUgcmlzcGV0dG8gYWkgZmlsZSBkaSBjb25maWd1cmF6aW9uZSkiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODcgYnVpbHRpbi9wdWxsLmM6MjM0Cittc2dpZCAiYWNjZXB0IHJlZnMgdGhhdCB1cGRhdGUgLmdpdC9zaGFsbG93IgorbXNnc3RyICJhY2NldHRhIGkgcmlmZXJpbWVudGkgY2hlIGFnZ2lvcm5hbm8gLmdpdC9zaGFsbG93IgorCisjOiBidWlsdGluL2ZldGNoLmM6MTg4IGJ1aWx0aW4vcHVsbC5jOjIzNgorbXNnaWQgInJlZm1hcCIKK21zZ3N0ciAibWFwcGEgcmlmZXJpbWVudGkiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODkgYnVpbHRpbi9wdWxsLmM6MjM3Cittc2dpZCAic3BlY2lmeSBmZXRjaCByZWZtYXAiCittc2dzdHIgInNwZWNpZmljYSBsYSBtYXBwYSBkZWkgcmlmZXJpbWVudGkgcGVyIGlsIGZldGNoIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTk2Cittc2dpZCAicmVwb3J0IHRoYXQgd2UgaGF2ZSBvbmx5IG9iamVjdHMgcmVhY2hhYmxlIGZyb20gdGhpcyBvYmplY3QiCittc2dzdHIgInNlZ25hbGEgY2hlIGFiYmlhbW8gc29sbyBvZ2dldHRpIHJhZ2dpdW5naWJpbGkgZGEgcXVlc3Qnb2dnZXR0byIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE5OQorbXNnaWQgInJ1biAnZ2MgLS1hdXRvJyBhZnRlciBmZXRjaGluZyIKK21zZ3N0ciAiZXNlZ3VpICdnYyAtLWF1dG8nIGRvcG8gaWwgZmV0Y2giCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMDEgYnVpbHRpbi9wdWxsLmM6MjQ2Cittc2dpZCAiY2hlY2sgZm9yIGZvcmNlZC11cGRhdGVzIG9uIGFsbCB1cGRhdGVkIGJyYW5jaGVzIgorbXNnc3RyICJjb250cm9sbGEgYWdnaW9ybmFtZW50aSBmb3J6YXRpIHN1IHR1dHRpIGkgYnJhbmNoIGFnZ2lvcm5hdGkiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMDMKK21zZ2lkICJ3cml0ZSB0aGUgY29tbWl0LWdyYXBoIGFmdGVyIGZldGNoaW5nIgorbXNnc3RyICJzY3JpdmkgaWwgZ3JhZm8gZGVpIGNvbW1pdCBkb3BvIGlsIGZldGNoIgorCisjOiBidWlsdGluL2ZldGNoLmM6NTEzCittc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCittc2dzdHIgIkltcG9zc2liaWxlIHRyb3ZhcmUgbCdIRUFEIGRlbCByaWZlcmltZW50byByZW1vdG8iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29uZmlndXJhdGlvbiBmZXRjaC5vdXRwdXQgY29udGFpbnMgaW52YWxpZCB2YWx1ZSAlcyIKK21zZ3N0ciAiaWwgdmFsb3JlIGRlbGwnb3B6aW9uZSBmZXRjaC5vdXRwdXQgY29udGllbmUgaWwgdmFsb3JlIG5vbiB2YWxpZG8gJXMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKIG1zZ3N0ciAib2dnZXR0byAlcyBub24gdHJvdmF0byIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI1OQorIzogYnVpbHRpbi9mZXRjaC5jOjc1NQogbXNnaWQgIlt1cCB0byBkYXRlXSIKIG1zZ3N0ciAiW2FnZ2lvcm5hdG9dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjczCi0jLCBjLWZvcm1hdAotbXNnaWQgIiEgJS0qcyAlLSpzIC0+ICVzICAoY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2gpIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzoyNzQgYnVpbHRpbi9mZXRjaC5jOjM2MAorIzogYnVpbHRpbi9mZXRjaC5jOjc2OCBidWlsdGluL2ZldGNoLmM6Nzg0IGJ1aWx0aW4vZmV0Y2guYzo4NTYKIG1zZ2lkICJbcmVqZWN0ZWRdIgotbXNnc3RyICJbcmVzcGludG9dIgorbXNnc3RyICJbcmlmaXV0YXRvXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI4NQorIzogYnVpbHRpbi9mZXRjaC5jOjc2OQorbXNnaWQgImNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBpbCBmZXRjaCBuZWwgYnJhbmNoIGNvcnJlbnRlIgorCisjOiBidWlsdGluL2ZldGNoLmM6Nzc5CiBtc2dpZCAiW3RhZyB1cGRhdGVdIgotbXNnc3RyICJbdGFnIGFnZ2lvcm5hdGFdIgorbXNnc3RyICJbdGFnIGFnZ2lvcm5hdG9dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Mjg3IGJ1aWx0aW4vZmV0Y2guYzozMjIgYnVpbHRpbi9mZXRjaC5jOjM0MAotbXNnaWQgIiAgKHVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmKSIKLW1zZ3N0ciAiICAoaW1wb3NzaWJpbGUgYWdnaW9ybmFyZSBpbCByZWYgbG9jYWxlKSIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3ODAgYnVpbHRpbi9mZXRjaC5jOjgxNyBidWlsdGluL2ZldGNoLmM6ODM5CisjOiBidWlsdGluL2ZldGNoLmM6ODUxCittc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYiCittc2dzdHIgImltcG9zc2liaWxlIGFnZ2lvcm5hcmUgaWwgcmlmZXJpbWVudG8gbG9jYWxlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzA1CisjOiBidWlsdGluL2ZldGNoLmM6Nzg0Cittc2dpZCAid291bGQgY2xvYmJlciBleGlzdGluZyB0YWciCittc2dzdHIgInNvdnJhc2NyaXZlcmViYmUgaWwgdGFnIGVzaXN0ZW50ZSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjgwNgogbXNnaWQgIltuZXcgdGFnXSIKLW1zZ3N0ciAiW251b3ZhIHRhZ10iCittc2dzdHIgIltudW92byB0YWddIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzA4CisjOiBidWlsdGluL2ZldGNoLmM6ODA5CiBtc2dpZCAiW25ldyBicmFuY2hdIgogbXNnc3RyICJbbnVvdm8gYnJhbmNoXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMxMQorIzogYnVpbHRpbi9mZXRjaC5jOjgxMgogbXNnaWQgIltuZXcgcmVmXSIKLW1zZ3N0ciAiW251b3ZvIHJlZl0iCittc2dzdHIgIltudW92byByaWZlcmltZW50b10iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozNTYKLW1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKLW1zZ3N0ciAiaW1wb3NzaWJpbGUgYWdnaW9ybmFyZSBpbCByZWYgbG9jYWxlIgotCi0jOiBidWlsdGluL2ZldGNoLmM6MzU2CisjOiBidWlsdGluL2ZldGNoLmM6ODUxCiBtc2dpZCAiZm9yY2VkIHVwZGF0ZSIKIG1zZ3N0ciAiYWdnaW9ybmFtZW50byBmb3J6YXRvIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzYyCi1tc2dpZCAiKG5vbi1mYXN0LWZvcndhcmQpIgorIzogYnVpbHRpbi9mZXRjaC5jOjg1NgorbXNnaWQgIm5vbi1mYXN0LWZvcndhcmQiCittc2dzdHIgIm5vbiBmYXN0IGZvcndhcmQiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NzcKK21zZ2lkICIiCisiRmV0Y2ggbm9ybWFsbHkgaW5kaWNhdGVzIHdoaWNoIGJyYW5jaGVzIGhhZCBhIGZvcmNlZCB1cGRhdGUsXG4iCisiYnV0IHRoYXQgY2hlY2sgaGFzIGJlZW4gZGlzYWJsZWQuIFRvIHJlLWVuYWJsZSwgdXNlICctLXNob3ctZm9yY2VkLXVwZGF0ZXMnXG4iCisiZmxhZyBvciBydW4gJ2dpdCBjb25maWcgZmV0Y2guc2hvd0ZvcmNlZFVwZGF0ZXMgdHJ1ZScuIgogbXNnc3RyICIiCisiSWwgZmV0Y2ggbm9ybWFsbWVudGUgaW5kaWNhIHF1YWxpIGJyYW5jaCBzaWFubyBzdGF0aSBzb3R0b3Bvc3RpIGFkXG4iCisiYWdnaW9ybmFtZW50byBmb3J6YXRvLCBtYSB0YWxlIGNvbnRyb2xsbyDDqCBzdGF0byBkaXNhYmlsaXRhdG8uIFBlclxuIgorInJpYWJpbGl0YXJsbywgdXNhIGwnb3B6aW9uZSAnLS1zaG93LWZvcmNlZC11cGRhdGVzJyBvIGVzZWd1aSAnZ2l0IGNvbmZpZ1xuIgorImZldGNoLnNob3dGb3JjZWRVcGRhdGVzIHRydWUnLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjM5MyBidWlsdGluL2ZldGNoLmM6Njg1CisjOiBidWlsdGluL2ZldGNoLmM6ODgxCiAjLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlc1xuIgotbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXM6ICVzXG4iCittc2dpZCAiIgorIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGNoZWNrIGZvcmNlZCB1cGRhdGVzLiBZb3UgY2FuIHVzZVxuIgorIictLW5vLXNob3ctZm9yY2VkLXVwZGF0ZXMnIG9yIHJ1biAnZ2l0IGNvbmZpZyBmZXRjaC5zaG93Rm9yY2VkVXBkYXRlcyAiCisiZmFsc2UnXG4iCisiIHRvIGF2b2lkIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyJTb25vIHN0YXRpIHJpY2hpZXN0aSAlLjJmIHNlY29uZGkgcGVyIGNvbnRyb2xsYXJlIGxhIHByZXNlbnphIGRpIGV2ZW50dWFsaVxuIgorImFnZ2lvcm5hbWVudGkgZm9yemF0aS4gUHVvaSB1c2FyZSAnLS1uby1zaG93LWZvcmNlZC11cGRhdGVzJyBvIGVzZWd1aXJlXG4iCisiJ2dpdCBjb25maWcgZmV0Y2guc2hvd0ZvcmNlZFVwZGF0ZXMgZmFsc2UnIHBlciBvbWV0dGVyZSBxdWVzdG8gY29udHJvbGxvLlxuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDAyCisjOiBidWlsdGluL2ZldGNoLmM6OTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKIG1zZ3N0ciAiJXMgbm9uIGhhIGludmlhdG8gdHV0dGkgZ2xpIG9nZ2V0dGkgbmVjZXNzYXJpXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0ODgKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVqZWN0ICVzIGJlY2F1c2Ugc2hhbGxvdyByb290cyBhcmUgbm90IGFsbG93ZWQgdG8gYmUgdXBkYXRlZCIKK21zZ3N0ciAiJXMgcmlmaXV0YXRvIHBlcmNow6kgbm9uIMOoIGNvbnNlbnRpdG8gYWdnaW9ybmFyZSByYWRpY2kgc2hhbGxvdyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEwMTcgYnVpbHRpbi9mZXRjaC5jOjExNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRnJvbSAlLipzXG4iCiBtc2dzdHIgIkRhICUuKnNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ5OQorIzogYnVpbHRpbi9mZXRjaC5jOjEwMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInNvbWUgbG9jYWwgcmVmcyBjb3VsZCBub3QgYmUgdXBkYXRlZDsgdHJ5IHJ1bm5pbmdcbiIKICIgJ2dpdCByZW1vdGUgcHJ1bmUgJXMnIHRvIHJlbW92ZSBhbnkgb2xkLCBjb25mbGljdGluZyBicmFuY2hlcyIKIG1zZ3N0ciAiIgotIm5vbiDDqCBzdGF0byBwb3NzaWJpbGUgYWdnaW9ybmFyZSBhbGN1bmkgcmVmIGxvY2FsaTsgcHJvdmEgY29uXG4iCi0iICdnaXQgcmVtb3RlIHBydW5lICVzJyBwZXIgcmltdW92ZXJlIG9nbmkgYnJhbmNoIGNoZSB2YWRhIGluIGNvbmZsaXR0byIKKyJub24gw6ggc3RhdG8gcG9zc2liaWxlIGFnZ2lvcm5hcmUgYWxjdW5pIHJpZmVyaW1lbnRpIGxvY2FsaTsgcHJvdmEgYWQgIgorImVzZWd1aXJlXG4iCisiICdnaXQgcmVtb3RlIHBydW5lICVzJyBwZXIgcmltdW92ZXJlIG9nbmkgYnJhbmNoIHZlY2NoaW8gaW4gY29uZmxpdHRvIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTQ5CisjOiBidWlsdGluL2ZldGNoLmM6MTEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmcpIgotbXNnc3RyICIiCittc2dzdHIgIiAgICglcyBkaXZlbnRlcsOgIHBlbmRlbnRlKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjU1MAorIzogYnVpbHRpbi9mZXRjaC5jOjExMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIgotbXNnc3RyICIiCittc2dzdHIgIiAgICglcyDDqCBkaXZlbnRhdG8gcGVuZGVudGUpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTU3CisjOiBidWlsdGluL2ZldGNoLmM6MTE1OAogbXNnaWQgIltkZWxldGVkXSIKIG1zZ3N0ciAiW2VsaW1pbmF0b10iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo1NTggYnVpbHRpbi9yZW1vdGUuYzoxMDU1CisjOiBidWlsdGluL2ZldGNoLmM6MTE1OSBidWlsdGluL3JlbW90ZS5jOjEwMzUKIG1zZ2lkICIobm9uZSkiCiBtc2dzdHIgIihuZXNzdW5vKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY3NQorIzogYnVpbHRpbi9mZXRjaC5jOjExODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gZmV0Y2ggaW50byBjdXJyZW50IGJyYW5jaCAlcyBvZiBub24tYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICIiCisiTWkgcmlmaXV0byBkaSBlc2VndWlyZSBpbCBmZXRjaCBuZWwgYnJhbmNoIGNvcnJlbnRlICVzIGRpIHVuIHJlcG9zaXRvcnkgbm9uICIKKyJiYXJlIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzA5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGZldGNoIGZyb20gJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjc4NgorIzogYnVpbHRpbi9mZXRjaC5jOjEyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJMJ29wemlvbmUgXCIlc1wiIGNvbiBpbCB2YWxvcmUgXCIlc1wiIG5vbiDDqCB2YWxpZGEgcGVyICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6Nzg5CisjOiBidWlsdGluL2ZldGNoLmM6MTIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIGlzIGlnbm9yZWQgZm9yICVzXG4iCiBtc2dzdHIgIkwnb3B6aW9uZSBcIiVzXCIgw6ggaWdub3JhdGEgcGVyICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4ODgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDEyCittc2dpZCAibXVsdGlwbGUgYnJhbmNoZXMgZGV0ZWN0ZWQsIGluY29tcGF0aWJsZSB3aXRoIC0tc2V0LXVwc3RyZWFtIgorbXNnc3RyICJyaWxldmF0aSBicmFuY2ggbXVsdGlwbGksIHN0YXRvIGluY29tcGF0aWJpbGUgY29uIC0tc2V0LXVwc3RyZWFtIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQyNworbXNnaWQgIm5vdCBzZXR0aW5nIHVwc3RyZWFtIGZvciBhIHJlbW90ZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgorbXNnc3RyICJub24gaW1wb3N0byBsJ3Vwc3RyZWFtIHBlciB1biBicmFuY2ggcmVtb3RvIGNoZSBuZSB0cmFjY2lhIHVubyByZW1vdG8iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDI5Cittc2dpZCAibm90IHNldHRpbmcgdXBzdHJlYW0gZm9yIGEgcmVtb3RlIHRhZyIKK21zZ3N0ciAibm9uIGltcG9zdG8gbCd1cHN0cmVhbSBwZXIgdW4gdGFnIHJlbW90byIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MzEKK21zZ2lkICJ1bmtub3duIGJyYW5jaCB0eXBlIgorbXNnc3RyICJ0aXBvIGJyYW5jaCBzY29ub3NjaXV0byIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MzMKK21zZ2lkICIiCisibm8gc291cmNlIGJyYW5jaCBmb3VuZC5cbiIKKyJ5b3UgbmVlZCB0byBzcGVjaWZ5IGV4YWN0bHkgb25lIGJyYW5jaCB3aXRoIHRoZSAtLXNldC11cHN0cmVhbSBvcHRpb24uIgorbXNnc3RyICIiCisibmVzc3VuIGJyYW5jaCBzb3JnZW50ZSB0cm92YXRvLlxuIgorImRldmkgc3BlY2lmaWNhcmUgZXNhdHRhbWVudGUgdW4gYnJhbmNoIGNvbiBsJ29wemlvbmUgLS1zZXQtdXBzdHJlYW0uIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTU1OSBidWlsdGluL2ZldGNoLmM6MTYyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyAlc1xuIgotbXNnc3RyICIiCittc2dzdHIgIlJlY3VwZXJvIGRpICVzIGluIGNvcnNvXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4OTAgYnVpbHRpbi9yZW1vdGUuYzoxMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTY5IGJ1aWx0aW4vZmV0Y2guYzoxNjI0IGJ1aWx0aW4vcmVtb3RlLmM6MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmZXRjaCAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmlsZSByZWN1cGVyYXJlICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTA3CisjOiBidWlsdGluL2ZldGNoLmM6MTU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZmV0Y2ggJyVzJyAoZXhpdCBjb2RlOiAlZClcbiIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmVjdXBlcmFyZSAnJXMnIChjb2RpY2UgZGkgdXNjaXRhOiAlZClcbiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE2ODQKIG1zZ2lkICIiCiAiTm8gcmVtb3RlIHJlcG9zaXRvcnkgc3BlY2lmaWVkLiAgUGxlYXNlLCBzcGVjaWZ5IGVpdGhlciBhIFVSTCBvciBhXG4iCiAicmVtb3RlIG5hbWUgZnJvbSB3aGljaCBuZXcgcmV2aXNpb25zIHNob3VsZCBiZSBmZXRjaGVkLiIKIG1zZ3N0ciAiIgotIk5lc3N1biByZXBvc2l0b3J5IHJlbW90byBzcGVjaWZpY2F0by4gUGVyIGZhdm9yZSwgc3BlY2lmaWNhIHVuIFVSTCBvXG4iCi0iaWwgbm9tZSBkaSB1biByZW1vdGUgZGEgY3VpIHByZWxldmFyZSBudW92ZSByZXZpc2lvbmkuIgorIk5vbiDDqCBzdGF0byBzcGVjaWZpY2F0byBhbGN1biByZXBvc2l0b3J5IHJlbW90by4gU3BlY2lmaWNhIHVuIFVSTCBvIGlsXG4iCisibm9tZSBkaSB1biByZW1vdG8gZGEgY3VpIGRvdnJhbm5vIGVzc2VyZSByZWN1cGVyYXRlIGxlIG51b3ZlIHJldmlzaW9uaS4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5MjcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzIxCiBtc2dpZCAiWW91IG5lZWQgdG8gc3BlY2lmeSBhIHRhZyBuYW1lLiIKIG1zZ3N0ciAiRGV2aSBzcGVjaWZpY2FyZSBpbCBub21lIGRpIHVuIHRhZy4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NzkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzcxCittc2dpZCAiTmVnYXRpdmUgZGVwdGggaW4gLS1kZWVwZW4gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiTGUgcHJvZm9uZGl0w6AgbmVnYXRpdmUgaW4gLS1kZWVwZW4gbm9uIHNvbm8gc3VwcG9ydGF0ZSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE3NzMKK21zZ2lkICItLWRlZXBlbiBhbmQgLS1kZXB0aCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJsZSBvcHppb25pIC0tZGVlcGVuIGUgLS1kZXB0aCBzb25vIG11dHVhbG1lbnRlIGVzY2x1c2l2ZSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE3NzgKK21zZ2lkICItLWRlcHRoIGFuZCAtLXVuc2hhbGxvdyBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKK21zZ3N0ciAiLS1kZXB0aCBlIC0tdW5zaGFsbG93IG5vbiBwb3Nzb25vIGVzc2VyZSB1c2F0aSBpbnNpZW1lLiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE3ODAKK21zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiLS11bnNoYWxsb3cgc3UgdW4gcmVwb3NpdG9yeSBjb21wbGV0byBub24gaGEgc2Vuc28iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzk2CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgdGFrZSBhIHJlcG9zaXRvcnkgYXJndW1lbnQiCi1tc2dzdHIgImZldGNoIC0tYWxsIG5vbiByaWNoaWVkZSBpbCByZXBvc2l0b3J5IGNvbWUgYXJnb21lbnRvIgorbXNnc3RyICJmZXRjaCAtLWFsbCBub24gcmljaGllZGUgdW4gcmVwb3NpdG9yeSBjb21lIGFyZ29tZW50byIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjk4MQorIzogYnVpbHRpbi9mZXRjaC5jOjE3OTgKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZmV0Y2ggLS1hbGwgbm9uIGhhIHNlbnNvIGNvbiBkZWdsaSBzcGVjaWZpY2F0b3JpIHJpZmVyaW1lbnRvIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTkyCisjOiBidWlsdGluL2ZldGNoLmM6MTgwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgotbXNnc3RyICIiCittc2dzdHIgIlJlbW90byBvIGdydXBwbyByZW1vdGkgbm9uIGVzaXN0ZW50ZTogJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDAwCisjOiBidWlsdGluL2ZldGNoLmM6MTgxNAogbXNnaWQgIkZldGNoaW5nIGEgZ3JvdXAgYW5kIHNwZWNpZnlpbmcgcmVmc3BlY3MgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiIgorIlJlY3VwZXJhcmUgdW4gZ3J1cHBvIGUgc3BlY2lmaWNhcmUgZ2xpIHNwZWNpZmljYXRvcmkgcmlmZXJpbWVudG8gbm9uIGhhIHNlbnNvIgogCi0jOiBidWlsdGluL2djLmM6NjMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODMyCittc2dpZCAiIgorIi0tZmlsdGVyIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB0aGUgcmVtb3RlIGNvbmZpZ3VyZWQgaW4gZXh0ZW5zaW9ucy4iCisicGFydGlhbGNsb25lIgorbXNnc3RyICIiCisiLS1maWx0ZXIgcHXDsiBlc3NlcmUgdXNhdG8gc29sbyBjb24gaWwgcmVtb3RvIGNvbmZpZ3VyYXRvIG5lbGxlIGVzdGVuc2lvbmkuIgorInBhcnRpYWxjbG9uZSIKKworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6MTgKK21zZ2lkICIiCisiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZXNzYWdlPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKK21zZ3N0ciAiIgorImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8bWVzc2FnZ2lvPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKKworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc0Cittc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgorbXNnc3RyICJwb3BvbGEgaWwgcmVnaXN0cm8gY29uIGFsIHBpw7kgPG4+IHZvY2kgZGVsIHJlZ2lzdHJvIGJyZXZlIgorCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzcKK21zZ2lkICJhbGlhcyBmb3IgLS1sb2cgKGRlcHJlY2F0ZWQpIgorbXNnc3RyICJhbGlhcyBkaSAtLWxvZyAoZGVwcmVjYXRvKSIKKworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjgwCittc2dpZCAidGV4dCIKK21zZ3N0ciAidGVzdG8iCisKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY4MQorbXNnaWQgInVzZSA8dGV4dD4gYXMgc3RhcnQgb2YgbWVzc2FnZSIKK21zZ3N0ciAidXNhIDx0ZXN0bz4gY29tZSBzdHJpbmdhIGluaXppYWxlIGRlbCBtZXNzYWdnaW8iCisKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY4MgorbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgorbXNnc3RyICJmaWxlIGRhIGN1aSBsZWdnZXJlIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEwCittc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbPG9wdGlvbnM+XSBbPHBhdHRlcm4+XSIKK21zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbPG9wemlvbmk+XSBbPHBhdHRlcm4+XSIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMQorbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tcG9pbnRzLWF0IDxvYmplY3Q+XSIKK21zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbLS1wb2ludHMtYXQgPG9nZ2V0dG8+XSIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMgorbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWygtLW1lcmdlZCB8IC0tbm8tbWVyZ2VkKSBbPGNvbW1pdD5dXSIKK21zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbKC0tbWVyZ2VkIHwgLS1uby1tZXJnZWQpIFs8Y29tbWl0Pl1dIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjEzCittc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbLS1jb250YWlucyBbPGNvbW1pdD5dXSBbLS1uby1jb250YWlucyBbPGNvbW1pdD5dXSIKK21zZ3N0ciAiZ2l0IGZvci1lYWNoLXJlZiBbLS1jb250YWlucyBbPGNvbW1pdD5dXSBbLS1uby1jb250YWlucyBbPGNvbW1pdD5dXSIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoyOAorbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3Igc2hlbGxzIgorbXNnc3RyICIiCisicmFjY2hpdWRpIGkgc2VnbmFwb3N0byBmcmEgdmlyZ29sZXR0ZSBpbiBtb2RvIGRhIHBvdGVybGkgdXNhcmUgaW4gdW5hIHNoZWxsIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjMwCittc2dpZCAicXVvdGUgcGxhY2Vob2xkZXJzIHN1aXRhYmx5IGZvciBwZXJsIgorbXNnc3RyICIiCisicmFjY2hpdWRpIGkgc2VnbmFwb3N0byBmcmEgdmlyZ29sZXR0ZSBpbiBtb2RvIGRhIHBvdGVybGkgdXNhcmUgY29uIFBlcmwiCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzIKK21zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHB5dGhvbiIKK21zZ3N0ciAiIgorInJhY2NoaXVkaSBpIHNlZ25hcG9zdG8gZnJhIHZpcmdvbGV0dGUgaW4gbW9kbyBkYSBwb3RlcmxpIHVzYXJlIGNvbiBQeXRob24iCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzQKK21zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIFRjbCIKK21zZ3N0ciAicmFjY2hpdWRpIGkgc2VnbmFwb3N0byBmcmEgdmlyZ29sZXR0ZSBpbiBtb2RvIGRhIHBvdGVybGkgdXNhcmUgY29uIFRjbCIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNworbXNnaWQgInNob3cgb25seSA8bj4gbWF0Y2hlZCByZWZzIgorbXNnc3RyICJ2aXN1YWxpenphIHNvbG8gPG4+IHJpZmVyaW1lbnRpIGNvcnJpc3BvbmRlbnRpIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM5IGJ1aWx0aW4vdGFnLmM6NDM5Cittc2dpZCAicmVzcGVjdCBmb3JtYXQgY29sb3JzIgorbXNnc3RyICJyaXNwZXR0YSBsZSBzdHJpbmdoZSBkaSBmb3JtYXRvIHBlciBpIGNvbG9yaSIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MgorbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBwb2ludHMgYXQgdGhlIGdpdmVuIG9iamVjdCIKK21zZ3N0ciAic3RhbXBhIHNvbG8gaSByaWZlcmltZW50aSBjaGUgcHVudGFubyBhbGwnb2dnZXR0byBkYXRvIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ0Cittc2dpZCAicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG1lcmdlZCIKK21zZ3N0ciAic3RhbXBhIHNvbG8gaSByaWZlcmltZW50aSBzb3R0b3Bvc3RpIGEgbWVyZ2UiCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKK21zZ2lkICJwcmludCBvbmx5IHJlZnMgdGhhdCBhcmUgbm90IG1lcmdlZCIKK21zZ3N0ciAic3RhbXBhIHNvbG8gaSByaWZlcmltZW50aSBub24gc290dG9wb3N0aSBhIG1lcmdlIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2Cittc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAic3RhbXBhIHNvbG8gaSByaWZlcmltZW50aSBjb250ZW5lbnRpIGlsIGNvbW1pdCIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NworbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCittc2dzdHIgInN0YW1wYSBzb2xvIGkgcmlmZXJpbWVudGkgY2hlIG5vbiBjb250ZW5nb25vIGlsIGNvbW1pdCIKKworIzogYnVpbHRpbi9mc2NrLmM6NjggYnVpbHRpbi9mc2NrLmM6MTQ3IGJ1aWx0aW4vZnNjay5jOjE0OAorbXNnaWQgInVua25vd24iCittc2dzdHIgInNjb25vc2NpdXRvIgorCisjLiBUUkFOU0xBVE9SUzogZS5nLiBlcnJvciBpbiB0cmVlIDAxYmZkYTogPG1vcmUgZXhwbGFuYXRpb24+CisjOiBidWlsdGluL2ZzY2suYzoxMDAgYnVpbHRpbi9mc2NrLmM6MTIwCiAjLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgJXM6ICclcyciCi1tc2dzdHIgIiVzIG5vbiB2YWxpZG86ICclcyciCittc2dpZCAiZXJyb3IgaW4gJXMgJXM6ICVzIgorbXNnc3RyICJlcnJvcmUgaW4gJXMgJXM6ICVzIgorCisjLiBUUkFOU0xBVE9SUzogZS5nLiB3YXJuaW5nIGluIHRyZWUgMDFiZmRhOiA8bW9yZSBleHBsYW5hdGlvbj4KKyM6IGJ1aWx0aW4vZnNjay5jOjExNAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nIGluICVzICVzOiAlcyIKK21zZ3N0ciAiYXZ2aXNvIGluICVzICVzOiAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6MTQzIGJ1aWx0aW4vZnNjay5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJicm9rZW4gbGluayBmcm9tICU3cyAlcyIKK21zZ3N0ciAiY29sbGVnYW1lbnRvIHJvdHRvIGRhICU3cyAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6MTU1Cittc2dpZCAid3Jvbmcgb2JqZWN0IHR5cGUgaW4gbGluayIKK21zZ3N0ciAidGlwbyBvZ2dldHRvIGVycmF0byBuZWwgY29sbGVnYW1lbnRvIgorCisjOiBidWlsdGluL2ZzY2suYzoxNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImJyb2tlbiBsaW5rIGZyb20gJTdzICVzXG4iCisiICAgICAgICAgICAgICB0byAlN3MgJXMiCittc2dzdHIgIiIKKyJjb2xsZWdhbWVudG8gcm90dG8gZGEgJTdzICVzXG4iCisiICAgICAgICAgICAgICAgICAgIGEgJTdzICVzIgorCisjOiBidWlsdGluL2ZzY2suYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyAlcyAlcyIKK21zZ3N0ciAiJXMgbWFuY2FudGUgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSAlcyAlcyIKK21zZ3N0ciAiJXMgbm9uIHJhZ2dpdW5naWJpbGUgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJkYW5nbGluZyAlcyAlcyIKK21zZ3N0ciAiJXMgcGVuZGVudGUgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjMzOQorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbG9zdC1mb3VuZCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY3JlYXJlIGxvc3QtZm91bmQiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjM1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZmluaXNoICclcyciCittc2dzdHIgImltcG9zc2liaWxlIHRlcm1pbmFyZSAnJXMnIgorCisjOiBidWlsdGluL2ZzY2suYzozNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgJXMiCittc2dzdHIgIkNvbnRyb2xsbyBkaSAlcyBpbiBjb3JzbyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSAoJWQgb2JqZWN0cykiCittc2dzdHIgIkNvbnRyb2xsbyBjb25uZXNzaW9uZSBpbiBjb3JzbyAoJWQgb2dnZXR0aSkiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyAlcyAlcyIKK21zZ3N0ciAiQ29udHJvbGxvIGRpICVzIGluIGNvcnNvICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo0MjkKK21zZ2lkICJicm9rZW4gbGlua3MiCittc2dzdHIgImNvbGxlZ2FtZW50aSByb3R0aSIKKworIzogYnVpbHRpbi9mc2NrLmM6NDM4CisjLCBjLWZvcm1hdAorbXNnaWQgInJvb3QgJXMiCittc2dzdHIgInJhZGljZSAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInRhZ2dlZCAlcyAlcyAoJXMpIGluICVzIgorbXNnc3RyICJlc2VndWl0byB0YWcgZGkgJXMgJXMgKCVzKSBpbiAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgY29ycnVwdCBvciBtaXNzaW5nIgorbXNnc3RyICIlczogb2dnZXR0byBjb3Jyb3R0byBvIG1hbmNhbnRlIgorCisjOiBidWlsdGluL2ZzY2suYzo1MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgcmVmbG9nIGVudHJ5ICVzIgorbXNnc3RyICIlczogdm9jZSByZWdpc3RybyByaWZlcmltZW50aSBub24gdmFsaWRhOiAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nIHJlZmxvZyAlcy0+JXMiCittc2dzdHIgIkNvbnRyb2xsbyByZWdpc3RybyByaWZlcmltZW50aSAlcy0+JXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBzaGExIHBvaW50ZXIgJXMiCittc2dzdHIgIiVzOiBwdW50YXRvcmUgU0hBMSBub24gdmFsaWRvOiAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBjb21taXQiCittc2dzdHIgIiVzOiBub24gw6ggdW4gY29tbWl0IgorCisjOiBidWlsdGluL2ZzY2suYzo2MDkKK21zZ2lkICJub3RpY2U6IE5vIGRlZmF1bHQgcmVmZXJlbmNlcyIKK21zZ3N0ciAiYXZ2aXNvOiBuZXNzdW4gcmlmZXJpbWVudG8gcHJlZGVmaW5pdG8iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZzogJXMiCittc2dzdHIgIiVzOiBvZ2dldHRvIGNvcnJvdHRvIG8gbWFuY2FudGU6ICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo2MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBjb3VsZCBub3QgYmUgcGFyc2VkOiAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFuYWxpenphcmUgbCdvZ2dldHRvOiAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzaGExIGZpbGU6ICVzIgorbXNnc3RyICJmaWxlIFNIQTEgbm9uIHZhbGlkbzogJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY3MgorbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcnkiCittc2dzdHIgIkNvbnRyb2xsbyBkaXJlY3Rvcnkgb2dnZXR0aSBpbiBjb3JzbyIKKworIzogYnVpbHRpbi9mc2NrLmM6Njc1Cittc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yaWVzIgorbXNnc3RyICJDb250cm9sbG8gZGlyZWN0b3J5IG9nZ2V0dGkgaW4gY29yc28iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY5MAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyAlcyBsaW5rIgorbXNnc3RyICJDb250cm9sbG8gY29sbGVnYW1lbnRvICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo2OTUgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgJXMiCittc2dzdHIgIiVzIG5vbiB2YWxpZG8iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjcwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBwb2ludHMgdG8gc29tZXRoaW5nIHN0cmFuZ2UgKCVzKSIKK21zZ3N0ciAiJXMgcHVudGEgYSBxdWFsY29zYSBkaSBzdHJhbm8gKCVzKSIKKworIzogYnVpbHRpbi9mc2NrLmM6NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2hlZCBIRUFEIHBvaW50cyBhdCBub3RoaW5nIgorbXNnc3RyICIlczogbCdIRUFEIHNjb2xsZWdhdG8gbm9uIHB1bnRhIGEgbmllbnRlIgorCisjOiBidWlsdGluL2ZzY2suYzo3MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90aWNlOiAlcyBwb2ludHMgdG8gYW4gdW5ib3JuIGJyYW5jaCAoJXMpIgorbXNnc3RyICJhdnZpc286ICVzIHB1bnRhIGEgdW4gYnJhbmNoIG5vbiBuYXRvICglcykiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjcyNAorbXNnaWQgIkNoZWNraW5nIGNhY2hlIHRyZWUiCittc2dzdHIgIkNvbnRyb2xsbyBjYWNoZSBhbGJlcm8gaW4gY29yc28iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjcyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBzaGExIHBvaW50ZXIgaW4gY2FjaGUtdHJlZSIKK21zZ3N0ciAiJXM6IHB1bnRhdG9yZSBTSEExIG5vbiB2YWxpZG8gbmVsbGEgY2FjaGUgYWxiZXJpIgorCisjOiBidWlsdGluL2ZzY2suYzo3MzgKK21zZ2lkICJub24tdHJlZSBpbiBjYWNoZS10cmVlIgorbXNnc3RyICJvZ2dldHRvIG5vbiBhbGJlcm8gbmVsbGEgY2FjaGUgYWxiZXJpIgorCisjOiBidWlsdGluL2ZzY2suYzo3NjkKK21zZ2lkICJnaXQgZnNjayBbPG9wdGlvbnM+XSBbPG9iamVjdD4uLi5dIgorbXNnc3RyICJnaXQgZnNjayBbPG9wemlvbmk+XSBbPG9nZ2V0dG8+Li4uXSIKKworIzogYnVpbHRpbi9mc2NrLmM6Nzc1Cittc2dpZCAic2hvdyB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICJ2aXN1YWxpenphIG9nZ2V0dGkgbm9uIHJhZ2dpdW5naWJpbGkiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjc3NgorbXNnaWQgInNob3cgZGFuZ2xpbmcgb2JqZWN0cyIKK21zZ3N0ciAidmlzdWFsaXp6YSBvZ2dldHRpIHBlbmRlbnRpIgorCisjOiBidWlsdGluL2ZzY2suYzo3NzcKK21zZ2lkICJyZXBvcnQgdGFncyIKK21zZ3N0ciAic2VnbmFsYSBpIHRhZyIKKworIzogYnVpbHRpbi9mc2NrLmM6Nzc4Cittc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCittc2dzdHIgInNlZ25hbGEgaSBub2RpIHJhZGljZSIKKworIzogYnVpbHRpbi9mc2NrLmM6Nzc5Cittc2dpZCAibWFrZSBpbmRleCBvYmplY3RzIGhlYWQgbm9kZXMiCittc2dzdHIgInJlbmRpIGdsaSBvZ2dldHRpIGluZGljZSBub2RpIGhlYWQiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjc4MAorbXNnaWQgIm1ha2UgcmVmbG9ncyBoZWFkIG5vZGVzIChkZWZhdWx0KSIKK21zZ3N0ciAicmVuZGkgaSByZWdpc3RyaSBkZWkgcmlmZXJpbWVudGkgbm9kaSBoZWFkIChpbXBvc3RhemlvbmUgcHJlZGVmaW5pdGEpIgorCisjOiBidWlsdGluL2ZzY2suYzo3ODEKK21zZ2lkICJhbHNvIGNvbnNpZGVyIHBhY2tzIGFuZCBhbHRlcm5hdGUgb2JqZWN0cyIKK21zZ3N0ciAiY29uc2lkZXJhIGFuY2hlIGkgcGFjayBlIGdsaSBvZ2dldHRpIGFsdGVybmF0aXZpIgorCisjOiBidWlsdGluL2ZzY2suYzo3ODIKK21zZ2lkICJjaGVjayBvbmx5IGNvbm5lY3Rpdml0eSIKK21zZ3N0ciAiY29udHJvbGxhIHNvbG8gbGEgY29ubmVzc2lvbmUiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjc4MworbXNnaWQgImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIKK21zZ3N0ciAiYWJpbGl0YSBjb250cm9sbGkgcGnDuSByZXN0cml0dGl2aSIKKworIzogYnVpbHRpbi9mc2NrLmM6Nzg1Cittc2dpZCAid3JpdGUgZGFuZ2xpbmcgb2JqZWN0cyBpbiAuZ2l0L2xvc3QtZm91bmQiCittc2dzdHIgInNjcml2aSBvZ2dldHRpIHBlbmRlbnRpIGluIC5naXQvbG9zdC1mb3VuZCIKKworIzogYnVpbHRpbi9mc2NrLmM6Nzg2IGJ1aWx0aW4vcHJ1bmUuYzoxMzIKK21zZ2lkICJzaG93IHByb2dyZXNzIgorbXNnc3RyICJ2aXN1YWxpenphIGwnYXZhbnphbWVudG8iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NworbXNnaWQgInNob3cgdmVyYm9zZSBuYW1lcyBmb3IgcmVhY2hhYmxlIG9iamVjdHMiCittc2dzdHIgInZpc3VhbGl6emEgbm9taSBkZXR0YWdsaWF0aSBwZXIgZ2xpIG9nZ2V0dGkgcmFnZ2l1bmdpYmlsaSIKKworIzogYnVpbHRpbi9mc2NrLmM6ODQ2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNQorbXNnaWQgIkNoZWNraW5nIG9iamVjdHMiCittc2dzdHIgIkNvbnRyb2xsbyBvZ2dldHRpIGluIGNvcnNvIgorCisjOiBidWlsdGluL2ZzY2suYzo4NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBtaXNzaW5nIgorbXNnc3RyICIlczogb2dnZXR0byBtYW5jYW50ZSIKKworIzogYnVpbHRpbi9mc2NrLmM6ODg1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcGFyYW1ldGVyOiBleHBlY3RlZCBzaGExLCBnb3QgJyVzJyIKK21zZ3N0ciAicGFyYW1ldHJvIG5vbiB2YWxpZG86IGF0dGVzbyBTSEExLCBwcmVzZW50ZSAnJXMnIgorCisjOiBidWlsdGluL2djLmM6MzUKK21zZ2lkICJnaXQgZ2MgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCBnYyBbPG9wemlvbmk+XSIKIAogIzogYnVpbHRpbi9nYy5jOjkwCiAjLCBjLWZvcm1hdAotbXNnaWQgImluc2FuZWx5IGxvbmcgb2JqZWN0IGRpcmVjdG9yeSAlLipzIgotbXNnc3RyICIiCittc2dpZCAiRmFpbGVkIHRvIGZzdGF0ICVzOiAlcyIKK21zZ3N0ciAiZnN0YXQgZGkgJXMgbm9uIHJpdXNjaXRvOiAlcyIKIAotIzogYnVpbHRpbi9nYy5jOjIyMQorIzogYnVpbHRpbi9nYy5jOjEyNgogIywgYy1mb3JtYXQKLW1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCi1tc2dzdHIgIiIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJyVzJyB2YWx1ZSAnJXMnIgorbXNnc3RyICJhbmFsaXNpIGRlbGwnb3B6aW9uZSAnJXMnIGNvbiB2YWxvcmUgJyVzJyBub24gcml1c2NpdGEiCiAKLSM6IGJ1aWx0aW4vZ2MuYzoyMjQKKyM6IGJ1aWx0aW4vZ2MuYzo0NzUgYnVpbHRpbi9pbml0LWRiLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgbG8gc3RhdCBkaSAnJXMnIgorCisjOiBidWlsdGluL2djLmM6NDg0IGJ1aWx0aW4vbm90ZXMuYzoyNDAgYnVpbHRpbi90YWcuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSAnJXMnIgorCisjOiBidWlsdGluL2djLmM6NDkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuIFlvdSBtYXkgYWxzb1xuIgotInJ1biBcImdpdCBnY1wiIG1hbnVhbGx5LiBTZWUgXCJnaXQgaGVscCBnY1wiIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIlRoZSBsYXN0IGdjIHJ1biByZXBvcnRlZCB0aGUgZm9sbG93aW5nLiBQbGVhc2UgY29ycmVjdCB0aGUgcm9vdCBjYXVzZVxuIgorImFuZCByZW1vdmUgJXMuXG4iCisiQXV0b21hdGljIGNsZWFudXAgd2lsbCBub3QgYmUgcGVyZm9ybWVkIHVudGlsIHRoZSBmaWxlIGlzIHJlbW92ZWQuXG4iCisiXG4iCisiJXMiCiBtc2dzdHIgIiIKKyJMJ3VsdGltYSBlc2VjdXppb25lIGRpIGdjIGhhIHNlZ25hbGF0byBxdWFudG8gc2VndWUuIENvcnJlZ2dpIGxhIGNhdXNhXG4iCisiYWxsYSByYWRpY2UgZWQgZWxpbWluYSAlcy5cbiIKKyJMJ29wZXJhemlvbmUgZGkgcHVsaXppYSBhdXRvbWF0aWNhIG5vbiBzYXLDoCBlc2VndWl0YSBmaW5vIGFsbCdlbGltaW5hemlvbmVcbiIKKyJkZWwgZmlsZS5cbiIKKyJcbiIKKyIlcyIKIAotIzogYnVpbHRpbi9nYy5jOjI1MQorIzogYnVpbHRpbi9nYy5jOjUzOQorbXNnaWQgInBydW5lIHVucmVmZXJlbmNlZCBvYmplY3RzIgorbXNnc3RyICJlbGltaW5hIG9nZ2V0dGkgbm9uIHJlZmVyZW56aWF0aSIKKworIzogYnVpbHRpbi9nYy5jOjU0MQorbXNnaWQgImJlIG1vcmUgdGhvcm91Z2ggKGluY3JlYXNlZCBydW50aW1lKSIKK21zZ3N0ciAic2lpIHBpw7kgYWNjdXJhdG8gKHRlbXBpIGRpIGVzZWN1emlvbmUgbWFnZ2lvcmkpIgorCisjOiBidWlsdGluL2djLmM6NTQyCittc2dpZCAiZW5hYmxlIGF1dG8tZ2MgbW9kZSIKK21zZ3N0ciAiYWJpbGl0YSBtb2RhbGl0w6AgZ2FyYmFnZSBjb2xsZWN0b3IgYXV0b21hdGljYSIKKworIzogYnVpbHRpbi9nYy5jOjU0NQorbXNnaWQgImZvcmNlIHJ1bm5pbmcgZ2MgZXZlbiBpZiB0aGVyZSBtYXkgYmUgYW5vdGhlciBnYyBydW5uaW5nIgorbXNnc3RyICIiCisiZm9yemEgbCdlc2VjdXppb25lIGRlbCBnYXJiYWdlIGNvbGxlY3RvciBhbmNoZSBuZWwgY2FzbyBpbiBjdWkgdmUgbmUgIgorInBvdHJlYmJlIGVzc2VyZSB1biBhbHRybyBpbiBlc2VjdXppb25lIgorCisjOiBidWlsdGluL2djLmM6NTQ4Cittc2dpZCAicmVwYWNrIGFsbCBvdGhlciBwYWNrcyBleGNlcHQgdGhlIGxhcmdlc3QgcGFjayIKK21zZ3N0ciAiIgorImVzZWd1aSBpbCByZXBhY2sgZGkgdHV0dGkgZ2xpIGFsdHJpIHBhY2sgYWQgZWNjZXppb25lIGRpIHF1ZWxsbyBwacO5IGdyYW5kZSIKKworIzogYnVpbHRpbi9nYy5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2MubG9nZXhwaXJ5IHZhbHVlICVzIgorbXNnc3RyICJhbmFsaXNpIGRlbCB2YWxvcmUgJXMgZGkgZ2MubG9nZXhwaXJ5IG5vbiByaXVzY2l0YSIKKworIzogYnVpbHRpbi9nYy5jOjU3NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJ1bmUgZXhwaXJ5IHZhbHVlICVzIgorbXNnc3RyICJhbmFsaXNpIGRlbCB2YWxvcmUgJXMgcGVyIGxhIHNjYWRlbnphIGRlbGxlIGVsaW1pbmF6aW9uaSBub24gcml1c2NpdGEiCisKKyM6IGJ1aWx0aW4vZ2MuYzo1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXV0byBwYWNraW5nIHRoZSByZXBvc2l0b3J5IGluIGJhY2tncm91bmQgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCittc2dzdHIgIiIKKyJDb21wcmltbyBpbCByZXBvc2l0b3J5IGluIGJhY2tncm91bmQgcGVyIG90dGVuZXJlIGxlIG1pZ2xpb3JpIHByZXN0YXppb25pLlxuIgorCisjOiBidWlsdGluL2djLmM6NTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKK21zZ3N0ciAiQ29tcHJpbW8gaWwgcmVwb3NpdG9yeSBwZXIgb3R0ZW5lcmUgbGUgbWlnbGlvcmkgcHJlc3RhemlvbmkuXG4iCisKKyM6IGJ1aWx0aW4vZ2MuYzo1OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VlIFwiZ2l0IGhlbHAgZ2NcIiBmb3IgbWFudWFsIGhvdXNla2VlcGluZy5cbiIKK21zZ3N0ciAiVmVkaSBcImdpdCBoZWxwIGdjXCIgcGVyIGxlIG9wZXJhemlvbmkgZGkgbWFudXRlbnppb25lIG1hbnVhbGkuXG4iCisKKyM6IGJ1aWx0aW4vZ2MuYzo2MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImdjIGlzIGFscmVhZHkgcnVubmluZyBvbiBtYWNoaW5lICclcycgcGlkICU8UFJJdU1BWD4gKHVzZSAtLWZvcmNlIGlmIG5vdCkiCittc2dzdHIgIiIKKyJnYyDDqCBnacOgIGluIGVzZWN1emlvbmUgc3VsIGNvbXB1dGVyICclcycgY29uIFBJRCAlPFBSSXVNQVg+ICh1c2EgLS1mb3JjZSBzZSAiCisibm9uIGxvIMOoKSIKKworIzogYnVpbHRpbi9nYy5jOjY5NAogbXNnaWQgIiIKICJUaGVyZSBhcmUgdG9vIG1hbnkgdW5yZWFjaGFibGUgbG9vc2Ugb2JqZWN0czsgcnVuICdnaXQgcHJ1bmUnIHRvIHJlbW92ZSB0aGVtLiIKIG1zZ3N0ciAiIgorIkNpIHNvbm8gdHJvcHBpIG9nZ2V0dGkgc3BhcnNpIG5vbiByYWdnaXVuZ2liaWxpOyBlc2VndWkgJ2dpdCBwcnVuZScgcGVyICIKKyJlbGltaW5hcmxpLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjE2CisjOiBidWlsdGluL2dyZXAuYzoyOQorbXNnaWQgImdpdCBncmVwIFs8b3B0aW9ucz5dIFstZV0gPHBhdHRlcm4+IFs8cmV2Pi4uLl0gW1stLV0gPHBhdGg+Li4uXSIKK21zZ3N0ciAiIgorImdpdCBncmVwIFs8b3B6aW9uaT5dIFstZV0gPHBhdHRlcm4+IFs8cmV2aXNpb25lPi4uLl0gW1stLV0gPHBlcmNvcnNvPi4uLl0iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJncmVwOiBmYWlsZWQgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgImdyZXA6IGNyZWF6aW9uZSBkZWwgdGhyZWFkIG5vbiByaXVzY2l0YTogJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQwMgorIzogYnVpbHRpbi9ncmVwLmM6Mjc5CiAjLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byBjaGRpcjogJXMiCi1tc2dzdHIgIiIKK21zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIGZvciAlcyIKK21zZ3N0ciAic3BlY2lmaWNhdG8gbnVtZXJvIG5vbiB2YWxpZG8gZGkgdGhyZWFkICglZCkgcGVyICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo0NzggYnVpbHRpbi9ncmVwLmM6NTEyCisjLiBUUkFOU0xBVE9SUzogJXMgaXMgdGhlIGNvbmZpZ3VyYXRpb24KKyMuIHZhcmlhYmxlIGZvciB0d2Vha2luZyB0aHJlYWRzLCBjdXJyZW50bHkKKyMuIGdyZXAudGhyZWFkcworIy4KKyM6IGJ1aWx0aW4vZ3JlcC5jOjI4NyBidWlsdGluL2luZGV4LXBhY2suYzoxNTM0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcwOAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgorbXNnc3RyICJub24gdmkgw6ggc3VwcG9ydG8gcGVyIGkgdGhyZWFkLCBpZ25vcm8gJXMiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjQ2NyBidWlsdGluL2dyZXAuYzo1OTIgYnVpbHRpbi9ncmVwLmM6NjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKIG1zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSBpbCB0cmVlICglcykiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjUyNgorIzogYnVpbHRpbi9ncmVwLmM6NjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBncmVwIGZyb20gb2JqZWN0IG9mIHR5cGUgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgZ3JlcCBzdSB1biBvZ2dldHRvIGRpIHRpcG8gJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjU4NAorIzogYnVpbHRpbi9ncmVwLmM6NzE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN3aXRjaCBgJWMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCiBtc2dzdHIgInN3aXRjaCAnJWMnIHJpY2hpZWRlIHVuIHZhbG9yZSBudW1lcmljbyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjAxCisjOiBidWlsdGluL2dyZXAuYzo4MTUKK21zZ2lkICJzZWFyY2ggaW4gaW5kZXggaW5zdGVhZCBvZiBpbiB0aGUgd29yayB0cmVlIgorbXNnc3RyICJjZXJjYSBuZWxsJ2luZGV4IGFuemljaMOpIG5lbGwnYWxiZXJvIGRpIGxhdm9ybyIKKworIzogYnVpbHRpbi9ncmVwLmM6ODE3Cittc2dpZCAiZmluZCBpbiBjb250ZW50cyBub3QgbWFuYWdlZCBieSBnaXQiCittc2dzdHIgImxhIHJpY2VyY2EgbmVpIGNvbnRlbnV0aSBub24gw6ggZ2VzdGl0YSBkYSBHaXQiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxOQorbXNnaWQgInNlYXJjaCBpbiBib3RoIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKK21zZ3N0ciAiY2VyY2Egc2lhIG5laSBmaWxlIHRyYWNjaWF0aSBzaWEgaW4gcXVlbGxpIG5vbiB0cmFjY2lhdGkiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyMQorbXNnaWQgImlnbm9yZSBmaWxlcyBzcGVjaWZpZWQgdmlhICcuZ2l0aWdub3JlJyIKK21zZ3N0ciAiaWdub3JhIGkgZmlsZSBzcGVjaWZpY2F0aSBpbiAnLmdpdGlnbm9yZSciCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyMworbXNnaWQgInJlY3Vyc2l2ZWx5IHNlYXJjaCBpbiBlYWNoIHN1Ym1vZHVsZSIKK21zZ3N0ciAiY2VyY2Egcmljb3JzaXZhbWVudGUgaW4gb2duaSBzb3R0b21vZHVsbyIKKworIzogYnVpbHRpbi9ncmVwLmM6ODI2Cittc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgbGluZXMiCittc2dzdHIgInZpc3VhbGl6emEgbGUgcmlnaGUgbm9uIGNvcnJpc3BvbmRlbnRpIgorCisjOiBidWlsdGluL2dyZXAuYzo4MjgKK21zZ2lkICJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIgorbXNnc3RyICJyaWNlcmNhIGNvcnJpc3BvbmRlbnplIHNlbnphIGRpZmZlcmVuemUgbWFpdXNjb2xlL21pbnVzY29sZSIKKworIzogYnVpbHRpbi9ncmVwLmM6ODMwCittc2dpZCAibWF0Y2ggcGF0dGVybnMgb25seSBhdCB3b3JkIGJvdW5kYXJpZXMiCittc2dzdHIgImNlcmNhIGNvcnJpc3BvbmRlbnplIGFpIHBhdHRlcm4gc29sbyBhIGluaXppby9maW5lIHBhcm9sYSIKKworIzogYnVpbHRpbi9ncmVwLmM6ODMyCittc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgYXMgdGV4dCIKK21zZ3N0ciAiZWxhYm9yYSBpIGZpbGUgYmluYXJpIGNvbWUgdGVzdHVhbGkiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzNAorbXNnaWQgImRvbid0IG1hdGNoIHBhdHRlcm5zIGluIGJpbmFyeSBmaWxlcyIKK21zZ3N0ciAibm9uIGNlcmNhcmUgY29ycmlzcG9uZGVuemUgYWkgcGF0dGVybiBuZWkgZmlsZSBiaW5hcmkiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzNworbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKK21zZ3N0ciAiZWxhYm9yYSBpIGZpbGUgYmluYXJpIGNvbiBmaWx0cmkgZGkgY29udmVyc2lvbmUgaW4gdGVzdG8iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzOQorbXNnaWQgInNlYXJjaCBpbiBzdWJkaXJlY3RvcmllcyAoZGVmYXVsdCkiCittc2dzdHIgImNlcmNhIG5lbGxlIHNvdHRvZGlyZWN0b3J5IChpbXBvc3RhemlvbmUgcHJlZGVmaW5pdGEpIgorCisjOiBidWlsdGluL2dyZXAuYzo4NDEKK21zZ2lkICJkZXNjZW5kIGF0IG1vc3QgPGRlcHRoPiBsZXZlbHMiCittc2dzdHIgInNjZW5kaSBhbCBwacO5IGRpIDxwcm9mb25kaXTDoD4gbGl2ZWxsaSIKKworIzogYnVpbHRpbi9ncmVwLmM6ODQ1Cittc2dpZCAidXNlIGV4dGVuZGVkIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCittc2dzdHIgInVzYSBlc3ByZXNzaW9uaSByZWdvbGFyaSBQT1NJWCBlc3Rlc2UiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0OAorbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKK21zZ3N0ciAidXNhIGVzcHJlc3Npb25pIHJlZ29sYXJpIFBPU0lYIGRpIGJhc2UgKGltcG9zdGF6aW9uZSBwcmVkZWZpbml0YSkiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1MQorbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgorbXNnc3RyICJpbnRlcnByZXRhIGkgcGF0dGVybiBjb21lIHN0cmluZ2hlIGZpc3NlIgorCisjOiBidWlsdGluL2dyZXAuYzo4NTQKK21zZ2lkICJ1c2UgUGVybC1jb21wYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCittc2dzdHIgInVzYSBlc3ByZXNzaW9uaSByZWdvbGFyaSBjb21wYXRpYmlsaSBjb24gUGVybCIKKworIzogYnVpbHRpbi9ncmVwLmM6ODU3Cittc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCittc2dzdHIgInZpc3VhbGl6emEgbnVtZXJpIGRpIHJpZ2EiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1OAorbXNnaWQgInNob3cgY29sdW1uIG51bWJlciBvZiBmaXJzdCBtYXRjaCIKK21zZ3N0ciAidmlzdWFsaXp6YSBpbCBudW1lcm8gZGkgY29sb25uYSBkZWxsYSBwcmltYSBjb3JyaXNwb25kZW56YSIKKworIzogYnVpbHRpbi9ncmVwLmM6ODU5Cittc2dpZCAiZG9uJ3Qgc2hvdyBmaWxlbmFtZXMiCittc2dzdHIgIm5vbiB2aXN1YWxpenphcmUgaSBub21pIGZpbGUiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2MAorbXNnaWQgInNob3cgZmlsZW5hbWVzIgorbXNnc3RyICJ2aXN1YWxpenphIGkgbm9taSBmaWxlIgorCisjOiBidWlsdGluL2dyZXAuYzo4NjIKK21zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgorbXNnc3RyICJ2aXN1YWxpenphIGkgbm9taSBmaWxlIHJlbGF0aXZpIGFsbGEgZGlyZWN0b3J5IGRpIHByaW1vIGxpdmVsbG8iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2NAorbXNnaWQgInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKK21zZ3N0ciAidmlzdWFsaXp6YSBzb2xvIGkgbm9taSBmaWxlIGFuemljaMOpIGxlIHJpZ2hlIGNvcnJpc3BvbmRlbnRpIgorCisjOiBidWlsdGluL2dyZXAuYzo4NjYKK21zZ2lkICJzeW5vbnltIGZvciAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKK21zZ3N0ciAic2lub25pbW8gZGkgLS1maWxlcy13aXRoLW1hdGNoZXMiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2OQorbXNnaWQgInNob3cgb25seSB0aGUgbmFtZXMgb2YgZmlsZXMgd2l0aG91dCBtYXRjaCIKK21zZ3N0ciAidmlzdWFsaXp6YSBzb2xvIGkgbm9taSBkZWkgZmlsZSBub24gY29ycmlzcG9uZGVudGkiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3MQorbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCittc2dzdHIgInN0YW1wYSBOVUwgZG9wbyBpIG5vbWkgZmlsZSIKKworIzogYnVpbHRpbi9ncmVwLmM6ODc0Cittc2dpZCAic2hvdyBvbmx5IG1hdGNoaW5nIHBhcnRzIG9mIGEgbGluZSIKK21zZ3N0ciAidmlzdWFsaXp6YSBzb2xvIGxlIHBhcnRpIGNvcnJpc3BvbmRlbnRpIGRpIHVuYSByaWdhIgorCisjOiBidWlsdGluL2dyZXAuYzo4NzYKK21zZ2lkICJzaG93IHRoZSBudW1iZXIgb2YgbWF0Y2hlcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgorbXNnc3RyICJ2aXN1YWxpenphIGlsIG51bWVybyBkaSBjb3JyaXNwb25kZW56ZSBhbnppY2jDqSBsZSByaWdoZSBjb3JyaXNwb25kZW50aSIKKworIzogYnVpbHRpbi9ncmVwLmM6ODc3Cittc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCittc2dzdHIgImV2aWRlbnppYSBjb3JyaXNwb25kZW56ZSIKKworIzogYnVpbHRpbi9ncmVwLmM6ODc5Cittc2dpZCAicHJpbnQgZW1wdHkgbGluZSBiZXR3ZWVuIG1hdGNoZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMiCittc2dzdHIgInN0YW1wYSB1bmEgcmlnYSB2dW90YSBmcmEgbGUgY29ycmlzcG9uZGVuemUgaW4gZmlsZSBkaWZmZXJlbnRpIgorCisjOiBidWlsdGluL2dyZXAuYzo4ODEKK21zZ2lkICJzaG93IGZpbGVuYW1lIG9ubHkgb25jZSBhYm92ZSBtYXRjaGVzIGZyb20gc2FtZSBmaWxlIgorbXNnc3RyICIiCisidmlzdWFsaXp6YSBpbCBub21lIGZpbGUgc29sbyB1bmEgdm9sdGEgcHJpbWEgZGVsbGUgY29ycmlzcG9uZGVuemUgbmVsbG8gIgorInN0ZXNzbyBmaWxlIgorCisjOiBidWlsdGluL2dyZXAuYzo4ODQKK21zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBhbmQgYWZ0ZXIgbWF0Y2hlcyIKK21zZ3N0ciAidmlzdWFsaXp6YSA8bj4gcmlnaGUgZGkgY29udGVzdG8gcHJpbWEgZSBkb3BvIGxlIGNvcnJpc3BvbmRlbnplIgorCisjOiBidWlsdGluL2dyZXAuYzo4ODcKK21zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgorbXNnc3RyICJ2aXN1YWxpenphIDxuPiByaWdoZSBkaSBjb250ZXN0byBwcmltYSBkZWxsZSBjb3JyaXNwb25kZW56ZSIKKworIzogYnVpbHRpbi9ncmVwLmM6ODg5Cittc2dpZCAic2hvdyA8bj4gY29udGV4dCBsaW5lcyBhZnRlciBtYXRjaGVzIgorbXNnc3RyICJ2aXN1YWxpenphIDxuPiByaWdoZSBkaSBjb250ZXN0byBkb3BvIGxlIGNvcnJpc3BvbmRlbnplIgorCisjOiBidWlsdGluL2dyZXAuYzo4OTEKK21zZ2lkICJ1c2UgPG4+IHdvcmtlciB0aHJlYWRzIgorbXNnc3RyICJ1c2EgPG4+IHRocmVhZCBkaSBsYXZvcm8iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5MgorbXNnaWQgInNob3J0Y3V0IGZvciAtQyBOVU0iCittc2dzdHIgInNjb3JjaWF0b2lhIHBlciAtQyBOVU0iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5NQorbXNnaWQgInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiCittc2dzdHIgInZpc3VhbGl6emEgdW5hIHJpZ2EgY29uIGlsIG5vbWUgZnVuemlvbmUgcHJpbWEgZGVsbGUgY29ycmlzcG9uZGVuemUiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5NworbXNnaWQgInNob3cgdGhlIHN1cnJvdW5kaW5nIGZ1bmN0aW9uIgorbXNnc3RyICJ2aXN1YWxpenphIGxhIGZ1bnppb25lIGNpcmNvc3RhbnRlIgorCisjOiBidWlsdGluL2dyZXAuYzo5MDAKK21zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKK21zZ3N0ciAibGVnZ2kgbGUgY29ycmlzcG9uZGVuemUgZGEgdW4gZmlsZSIKKworIzogYnVpbHRpbi9ncmVwLmM6OTAyCittc2dpZCAibWF0Y2ggPHBhdHRlcm4+IgorbXNnc3RyICJjZXJjYSBjb3JyaXNwb25kZW56ZSBjb24gPHBhdHRlcm4+IgorCisjOiBidWlsdGluL2dyZXAuYzo5MDQKK21zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgorbXNnc3RyICJjb21iaW5hIGkgcGF0dGVybiBzcGVjaWZpY2F0aSBjb24gLWUiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxNgorbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgorbXNnc3RyICIiCisic2VnbmFsYSB1bmEgY29ycmlzcG9uZGVuemEgY29uIGlsIGNvZGljZSBkaSB1c2NpdGEgc2VuemEgZW1ldHRlcmUgb3V0cHV0IgorCisjOiBidWlsdGluL2dyZXAuYzo5MTgKK21zZ2lkICJzaG93IG9ubHkgbWF0Y2hlcyBmcm9tIGZpbGVzIHRoYXQgbWF0Y2ggYWxsIHBhdHRlcm5zIgorbXNnc3RyICIiCisidmlzdWFsaXp6YSBzb2xvIGxlIGNvcnJpc3BvbmRlbnplIG5laSBmaWxlIGluIGN1aSB2aSBzb25vIGNvcnJpc3BvbmRlbnplIHBlciAiCisidHV0dGkgaSBwYXR0ZXJuIgorCisjOiBidWlsdGluL2dyZXAuYzo5MjAKK21zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKK21zZ3N0ciAidmlzdWFsaXp6YSBsJ2FsYmVybyBkaSBhbmFsaXNpIHBlciBsJ2VzcHJlc3Npb25lIGdyZXAiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkyNAorbXNnaWQgInBhZ2VyIgorbXNnc3RyICJwYWdlciIKKworIzogYnVpbHRpbi9ncmVwLmM6OTI0Cittc2dpZCAic2hvdyBtYXRjaGluZyBmaWxlcyBpbiB0aGUgcGFnZXIiCittc2dzdHIgInZpc3VhbGl6emEgaSBmaWxlIGNvcnJpc3BvbmRlbnRpIG5lbCBwYWdlciIKKworIzogYnVpbHRpbi9ncmVwLmM6OTI4Cittc2dpZCAiYWxsb3cgY2FsbGluZyBvZiBncmVwKDEpIChpZ25vcmVkIGJ5IHRoaXMgYnVpbGQpIgorbXNnc3RyICJjb25zZW50aSIKKworIzogYnVpbHRpbi9ncmVwLmM6OTkyCittc2dpZCAibm8gcGF0dGVybiBnaXZlbiIKK21zZ3N0ciAibmVzc3VuIHBhdHRlcm4gc3BlY2lmaWNhdG8iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjgKK21zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cyIKK21zZ3N0ciAiLS1uby1pbmRleCBvIC0tdW50cmFja2VkIG5vbiBwb3Nzb25vIGVzc2VyZSB1c2F0ZSBjb24gbGUgcmV2aXNpb25pIgorCisjOiBidWlsdGluL2dyZXAuYzoxMDM2CiAjLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBvcGVuICclcyciCi1tc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAnJXMnIgorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlIHJldmlzaW9uOiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmlzb2x2ZXJlIGxhIHJldmlzaW9uZSAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg1Ci1tc2dpZCAibm8gcGF0dGVybiBnaXZlbi4iCi1tc2dzdHIgIm5lc3N1biBtb2RlbGxvIHNwZWNpZmljYXRvLiIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNjcKK21zZ2lkICJpbnZhbGlkIG9wdGlvbiBjb21iaW5hdGlvbiwgaWdub3JpbmcgLS10aHJlYWRzIgorbXNnc3RyICJjb21iaW5hemlvbmUgZGkgb3B6aW9uaSBub24gdmFsaWRhLCBpZ25vcm8gLS10aHJlYWRzIgogCi0jOiBidWlsdGluL2dyZXAuYzo4OTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDAwCittc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAtLXRocmVhZHMiCittc2dzdHIgIm5vbiB2aSDDqCBzdXBwb3J0byBwZXIgaSB0aHJlYWQsIGlnbm9ybyAtLXRocmVhZHMiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUzMSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MDUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiYmFkIG9iamVjdCAlcyIKLW1zZ3N0ciAib2dnZXR0byAlcyBlcnJhdG8iCittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIKK21zZ3N0ciAic3BlY2lmaWNhdG8gbnVtZXJvIG5vbiB2YWxpZG8gZGkgdGhyZWFkICglZCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk0MAorIzogYnVpbHRpbi9ncmVwLmM6MTA5NgogbXNnaWQgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBvbmx5IHdvcmtzIG9uIHRoZSB3b3JrdHJlZSIKK21zZ3N0ciAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIGZ1bnppb25hIHNvbG8gc3VsbCdhbGJlcm8gZGkgbGF2b3JvIgorCisjOiBidWlsdGluL2dyZXAuYzoxMTE5Cittc2dpZCAib3B0aW9uIG5vdCBzdXBwb3J0ZWQgd2l0aCAtLXJlY3Vyc2Utc3VibW9kdWxlcyIKK21zZ3N0ciAib3B6aW9uZSBub24gc3VwcG9ydGF0YSBjb24gLS1yZWN1cnNlLXN1Ym1vZHVsZXMiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMjUKK21zZ2lkICItLWNhY2hlZCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tbm8taW5kZXgiCittc2dzdHIgIi0tY2FjaGVkIG8gLS11bnRyYWNrZWQgbm9uIHBvc3Nvbm8gZXNzZXJlIHVzYXRlIGNvbiAtLW5vLWluZGV4IgorCisjOiBidWlsdGluL2dyZXAuYzoxMTMxCittc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMiCittc2dzdHIgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIG5vbiBwdcOyIGVzc2VyZSB1c2F0YSBwZXIgaSBjb250ZW51dGkgdHJhY2NpYXRpIgorCisjOiBidWlsdGluL2dyZXAuYzoxMTM5Cittc2dpZCAiYm90aCAtLWNhY2hlZCBhbmQgdHJlZXMgYXJlIGdpdmVuIgorbXNnc3RyICJzb25vIHNwZWNpZmljYXRpIHNpYSAtLWNhY2hlZCBzaWEgZGVnbGkgYWxiZXJpIgorCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODUKK21zZ2lkICIiCisiZ2l0IGhhc2gtb2JqZWN0IFstdCA8dHlwZT5dIFstd10gWy0tcGF0aD08ZmlsZT4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCisiWy0tXSA8ZmlsZT4uLi4iCiBtc2dzdHIgIiIKKyJnaXQgaGFzaC1vYmplY3QgWy10IDx0aXBvPl0gWy13XSBbLS1wYXRoPTxmaWxlPiB8IC0tbm8tZmlsdGVyc10gWy0tc3RkaW5dICIKKyJbLS1dIDxmaWxlPi4uLiIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTYzCi1tc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4LiIKLW1zZ3N0ciAiLS1jYWNoZWQgbyAtLXVudHJhY2tlZCBub24gcHXDsiBlc3NlcmUgdXNhdG8gY29uIC0tbm8taW5kZXguIgorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjg2Cittc2dpZCAiZ2l0IGhhc2gtb2JqZWN0ICAtLXN0ZGluLXBhdGhzIgorbXNnc3RyICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk2OAotbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzLiIKLW1zZ3N0ciAiLS1uby1pbmRleCBvIC0tdW50cmFja2VkIG5vbiBwb3Nzb25vIGVzc2VyZSB1c2F0ZSBjb24gbGUgcmV2aXNpb25pLiIKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorbXNnaWQgIm9iamVjdCB0eXBlIgorbXNnc3RyICJ0aXBvIG9nZ2V0dG8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk3MQotbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzLiIKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OQorbXNnaWQgIndyaXRlIHRoZSBvYmplY3QgaW50byB0aGUgb2JqZWN0IGRhdGFiYXNlIgorbXNnc3RyICJzY3JpdmkgbCdvZ2dldHRvIG5lbCBkYXRhYmFzZSBvZ2dldHRpIgorCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCittc2dpZCAicmVhZCB0aGUgb2JqZWN0IGZyb20gc3RkaW4iCittc2dzdHIgImxlZ2dpIGwnb2dnZXR0byBkYWxsbyBzdGFuZGFyZCBpbnB1dCIKKworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMworbXNnaWQgInN0b3JlIGZpbGUgYXMgaXMgd2l0aG91dCBmaWx0ZXJzIgorbXNnc3RyICJzYWx2YSBpbCBmaWxlIGNvc8OsIGNvbSfDqCBzZW56YSBmaWx0cmkiCisKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDQKK21zZ2lkICIiCisianVzdCBoYXNoIGFueSByYW5kb20gZ2FyYmFnZSB0byBjcmVhdGUgY29ycnVwdCBvYmplY3RzIGZvciBkZWJ1Z2dpbmcgR2l0IgogbXNnc3RyICIiCisiZXNlZ3VpIHNlbXBsaWNlbWVudGUgbCdoYXNoIGRpIGRhdGkgaW51dGlsaSBwZXIgY3JlYXJlIG9nZ2V0dGkgY29ycm90dGkgYWwgIgorImZpbmUgZGkgZXNlZ3VpcmUgaWwgZGVidWcgZGkgR2l0IgogCi0jOiBidWlsdGluL2dyZXAuYzo5NzkKLW1zZ2lkICJib3RoIC0tY2FjaGVkIGFuZCB0cmVlcyBhcmUgZ2l2ZW4uIgotbXNnc3RyICIiCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA1Cittc2dpZCAicHJvY2VzcyBmaWxlIGFzIGl0IHdlcmUgZnJvbSB0aGlzIHBhdGgiCittc2dzdHIgImVsYWJvcmEgaSBmaWxlIGNvbWUgc2UgZm9zc2VybyBpbiBxdWVzdG8gcGVyY29yc28iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjU5CisjOiBidWlsdGluL2hlbHAuYzo0NgorbXNnaWQgInByaW50IGFsbCBhdmFpbGFibGUgY29tbWFuZHMiCittc2dzdHIgInN0YW1wYSB0dXR0aSBpIGNvbWFuZGkgZGlzcG9uaWJpbGkiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQ3Cittc2dpZCAiZXhjbHVkZSBndWlkZXMiCittc2dzdHIgImVzY2x1ZGkgbGUgZ3VpZGUiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQ4Cittc2dpZCAicHJpbnQgbGlzdCBvZiB1c2VmdWwgZ3VpZGVzIgorbXNnc3RyICJzdGFtcGEgdW4gZWxlbmNvIGRpIGd1aWRlIHV0aWxpIgorCisjOiBidWlsdGluL2hlbHAuYzo0OQorbXNnaWQgInByaW50IGFsbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIG5hbWVzIgorbXNnc3RyICJzdGFtcGEgaSBub21pIGRpIHR1dHRlIGxlIHZhcmlhYmlsaSBkaSBjb25maWd1cmF6aW9uZSIKKworIzogYnVpbHRpbi9oZWxwLmM6NTEKK21zZ2lkICJzaG93IG1hbiBwYWdlIgorbXNnc3RyICJ2aXN1YWxpenphIGxhIHBhZ2luYSBtYW4iCisKKyM6IGJ1aWx0aW4vaGVscC5jOjUyCittc2dpZCAic2hvdyBtYW51YWwgaW4gd2ViIGJyb3dzZXIiCittc2dzdHIgInZpc3VhbGl6emEgaWwgbWFudWFsZSBuZWwgYnJvd3NlciBXZWIiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjU0Cittc2dpZCAic2hvdyBpbmZvIHBhZ2UiCittc2dzdHIgInZpc3VhbGl6emEgbGEgcGFnaW5hIGluZm8iCisKKyM6IGJ1aWx0aW4vaGVscC5jOjU2Cittc2dpZCAicHJpbnQgY29tbWFuZCBkZXNjcmlwdGlvbiIKK21zZ3N0ciAic3RhbXBhIGxhIGRlc2NyaXppb25lIGRlbCBjb21hbmRvIgorCisjOiBidWlsdGluL2hlbHAuYzo2MQorbXNnaWQgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW4gfCAtLXdlYiB8IC0taW5mb10gWzxjb21tYW5kPl0iCittc2dzdHIgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW4gfCAtLXdlYiB8IC0taW5mb10gWzxjb21hbmRvPl0iCisKKyM6IGJ1aWx0aW4vaGVscC5jOjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWxwIGZvcm1hdCAnJXMnIgogbXNnc3RyICJmb3JtYXRvIGRpIGFpdXRvICclcycgbm9uIHJpY29ub3NjaXV0byIKIAotIzogYnVpbHRpbi9oZWxwLmM6ODcKKyM6IGJ1aWx0aW4vaGVscC5jOjEwNAogbXNnaWQgIkZhaWxlZCB0byBzdGFydCBlbWFjc2NsaWVudC4iCiBtc2dzdHIgIkVzZWN1emlvbmUgZGkgZW1hY3NjbGllbnQgbm9uIHJpdXNjaXRhLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTAwCisjOiBidWlsdGluL2hlbHAuYzoxMTcKIG1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW1hY3NjbGllbnQgdmVyc2lvbi4iCiBtc2dzdHIgIlZlcmlmaWNhIGRlbGxhIHZlcnNpb25lIGRpIGVtYWNzY2xpZW50IG5vbiByaXVzY2l0YS4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEwOAorIzogYnVpbHRpbi9oZWxwLmM6MTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImVtYWNzY2xpZW50IHZlcnNpb24gJyVkJyB0b28gb2xkICg8IDIyKS4iCiBtc2dzdHIgImxhIHZlcnNpb25lICclZCcgZGkgZW1hY3NjbGllbnQgw6ggdHJvcHBvIHZlY2NoaWEgKDwyMikuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMjYgYnVpbHRpbi9oZWxwLmM6MTU0IGJ1aWx0aW4vaGVscC5jOjE2MyBidWlsdGluL2hlbHAuYzoxNzEKKyM6IGJ1aWx0aW4vaGVscC5jOjE0MyBidWlsdGluL2hlbHAuYzoxNjUgYnVpbHRpbi9oZWxwLmM6MTc1IGJ1aWx0aW4vaGVscC5jOjE4MwogIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnOiAlcyIKLW1zZ3N0ciAiZXNlY3V6aW9uZSBkaSAnJXMnIG5vbiByaXVzY2l0YTogJXMiCittc2dpZCAiZmFpbGVkIHRvIGV4ZWMgJyVzJyIKK21zZ3N0ciAiZXNlY3V6aW9uZSBkaSAnJXMnIG5vbiByaXVzY2l0YSIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjExCisjOiBidWlsdGluL2hlbHAuYzoyMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IHBhdGggZm9yIHVuc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCkBAIC0yNzg2LDcgKzE0Njg5LDcgQEAKICInJXMnOiBwYXRoIGFkIHVuIHZpc3VhbGl6emF0b3JlIG1hbiBwYWdlcyBub24gc3VwcG9ydGF0by5cbiIKICJVc2EgaW52ZWNlICdtYW4uPHRvb2w+LmNtZCcuIgogCi0jOiBidWlsdGluL2hlbHAuYzoyMjMKKyM6IGJ1aWx0aW4vaGVscC5jOjIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogY21kIGZvciBzdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKQEAgLTI3OTUsMzk2ICsxNDY5OCw0MjIgQEAKICInJXMnOiBjb21hbmRvIHBlciB2aXN1YWxpenphdG9yZSBtYW4gcGFnZXMgc3VwcG9ydGF0by5cbiIKICJQZXIgZmF2b3JlIHVzYSAnbWFuLjx0b29sPi5wYXRoJyBpbnZlY2UuIgogCi0jOiBidWlsdGluL2hlbHAuYzoyODcKLW1zZ2lkICJUaGUgbW9zdCBjb21tb25seSB1c2VkIGdpdCBjb21tYW5kcyBhcmU6IgotbXNnc3RyICJJIGNvbWFuZGkgZ2l0IHVzYXRpIHBpw7kgZGkgZnJlcXVlbnRlIHNvbm86IgotCi0jOiBidWlsdGluL2hlbHAuYzozNTUKKyM6IGJ1aWx0aW4vaGVscC5jOjM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmtub3duIG1hbiB2aWV3ZXIuIgogbXNnc3RyICInJXMnOiB2aXN1YWxpenphdG9yZSBtYW4gc2Nvbm9zY2l1dG8uIgogCi0jOiBidWlsdGluL2hlbHAuYzozNzIKKyM6IGJ1aWx0aW4vaGVscC5jOjM2NwogbXNnaWQgIm5vIG1hbiB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAibmVzc3VuIHZpc3VhbGl6emF0b3JlIG1hbiBoYSBnZXN0aXRvIGxhIHJpY2hpZXN0YSIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzgwCisjOiBidWlsdGluL2hlbHAuYzozNzUKIG1zZ2lkICJubyBpbmZvIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICJuZXNzdW4gdmlzdWFsaXp6YXRvcmUgaW5mbyBoYSBnZXN0aXRvIGxhIHJpY2hpZXN0YSIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzkxCisjOiBidWlsdGluL2hlbHAuYzo0MzQgYnVpbHRpbi9oZWxwLmM6NDQ1IGdpdC5jOjMzNgogIywgYy1mb3JtYXQKLW1zZ2lkICInJXMnOiBub3QgYSBkb2N1bWVudGF0aW9uIGRpcmVjdG9yeS4iCi1tc2dzdHIgIiclcyc6IG5vbiDDqCB1bmEgZGlyZWN0b3J5IGRlbGxhIGRvY3VtZW50YXppb25lLiIKK21zZ2lkICInJXMnIGlzIGFsaWFzZWQgdG8gJyVzJyIKK21zZ3N0ciAiJyVzJyDDqCB1biBhbGlhcyBkaSAnJXMnIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MzIgYnVpbHRpbi9oZWxwLmM6NDM5CisjOiBidWlsdGluL2hlbHAuYzo0NDggZ2l0LmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBhbGlhcy4lcyBzdHJpbmc6ICVzIgorbXNnc3RyICJzdHJpbmdhIGFsaWFzLiVzIG5vbiB2YWxpZGE6ICVzIgorCisjOiBidWlsdGluL2hlbHAuYzo0NzcgYnVpbHRpbi9oZWxwLmM6NTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyVzIgogbXNnc3RyICJ1c286ICVzJXMiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ1MwotIywgYy1mb3JtYXQKLW1zZ2lkICJgZ2l0ICVzJyBpcyBhbGlhc2VkIHRvIGAlcyciCi1tc2dzdHIgIidnaXQgJXMgw6ggdW4gYWxpYXMgZGkgJyVzJyIKKyM6IGJ1aWx0aW4vaGVscC5jOjQ5MQorbXNnaWQgIidnaXQgaGVscCBjb25maWcnIGZvciBtb3JlIGluZm9ybWF0aW9uIgorbXNnc3RyICJWZWRpICdnaXQgaGVscCBjb25maWcnIHBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCB0eXBlIG1pc21hdGNoIGF0ICVzIgotbXNnc3RyICIiCittc2dzdHIgInRpcG8gb2dnZXR0byBub24gY29ycmlzcG9uZGVudGUgaW4gJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4OQotbXNnaWQgIm9iamVjdCBvZiB1bmV4cGVjdGVkIHR5cGUiCi1tc2dzdHIgIiIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICJkaWQgbm90IHJlY2VpdmUgZXhwZWN0ZWQgb2JqZWN0ICVzIgorbXNnc3RyICJub24gc2kgw6ggcmljZXZ1dG8gbCdvZ2dldHRvIGF0dGVzbyAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0ICVzOiBleHBlY3RlZCB0eXBlICVzLCBmb3VuZCAlcyIKK21zZ3N0ciAib2dnZXR0byAlczogYXR0ZXNvIHRpcG8gJXMsIHRyb3ZhdG8gJXMiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmlsbCAlZCBieXRlIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgZmlsbCAlZCBieXRlcyIKLW1zZ3N0clswXSAiIgotbXNnc3RyWzFdICIiCittc2dzdHJbMF0gImltcG9zc2liaWxlIHJpZW1waXJlICVkIGJ5dGUiCittc2dzdHJbMV0gImltcG9zc2liaWxlIHJpZW1waXJlICVkIGJ5dGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIzNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjY4CiBtc2dpZCAiZWFybHkgRU9GIgogbXNnc3RyICJFT0YgcHJlbWF0dXJvIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OQogbXNnaWQgInJlYWQgZXJyb3Igb24gaW5wdXQiCiBtc2dzdHIgImVycm9yZSBkaSBsZXR0dXJhIGluIGlucHV0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MQogbXNnaWQgInVzZWQgbW9yZSBieXRlcyB0aGFuIHdlcmUgYXZhaWxhYmxlIgogbXNnc3RyICJ1c2F0aSBwacO5IGJ5dGUgZGkgcXVlbGxpIGRpc3BvbmliaWxpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4OCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjYwNAogbXNnaWQgInBhY2sgdG9vIGxhcmdlIGZvciBjdXJyZW50IGRlZmluaXRpb24gb2Ygb2ZmX3QiCiBtc2dzdHIgInBhY2sgdHJvcHBvIGxhcmdvIHBlciBsYSBkZWZpbml6aW9uZSBjb3JyZW50ZSBkaSBvZmZfdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjcyCi0jLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKLW1zZ3N0ciAiaW1wb3NzaWJpbGUgY3JlYXJlICclcyciCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTEgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjk1Cittc2dpZCAicGFjayBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBzaXplIgorbXNnc3RyICJpbCBwYWNrIHN1cGVyYSBsYSBkaW1lbnNpb25lIG1hc3NpbWEgY29uc2VudGl0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gcGFja2ZpbGUgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlIGlsIGZpbGUgcGFjayAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyNgogbXNnaWQgInBhY2sgc2lnbmF0dXJlIG1pc21hdGNoIgogbXNnc3RyICJsYSBmaXJtYSBkZWwgcGFjayBub24gY29pbmNpZGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxMQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI4CiAjLCBjLWZvcm1hdAotbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICVsdTogJXMiCi1tc2dzdHIgIiIKK21zZ2lkICJwYWNrIHZlcnNpb24gJTxQUkl1MzI+IHVuc3VwcG9ydGVkIgorbXNnc3RyICJ2ZXJzaW9uZSBwYWNrICU8UFJJdTMyPiBub24gc3VwcG9ydGF0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDA1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozNDYKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaW5mbGF0ZSByZXR1cm5lZCAlZCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo0NTAKLW1zZ2lkICJvZmZzZXQgdmFsdWUgb3ZlcmZsb3cgZm9yIGRlbHRhIGJhc2Ugb2JqZWN0IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ1OAotbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IGlzIG91dCBvZiBib3VuZCIKLW1zZ3N0ciAiIgorbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICU8UFJJdU1BWD46ICVzIgorbXNnc3RyICJpbCBwYWNrIGhhIHVuIG9nZ2V0dG8gZGFubmVnZ2lhdG8gYWxsJ29mZnNldCAlPFBSSXVNQVg+OiAlcyIKIAogIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDY2CiAjLCBjLWZvcm1hdAorbXNnaWQgImluZmxhdGUgcmV0dXJuZWQgJWQiCittc2dzdHIgImluZmxhdGUgaGEgcmVzdGl0dWl0byBpbCBjb2RpY2UgJWQiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUxNQorbXNnaWQgIm9mZnNldCB2YWx1ZSBvdmVyZmxvdyBmb3IgZGVsdGEgYmFzZSBvYmplY3QiCittc2dzdHIgIm92ZXJmbG93IGRlbCB2YWxvcmUgZGVsbCdvZmZzZXQgYmFzZSBkZWwgZGVsdGEiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyMworbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IGlzIG91dCBvZiBib3VuZCIKK21zZ3N0ciAibCdvZmZzZXQgYmFzZSBkZWwgZGVsdGEgw6ggZnVvcmkgZGFsbCdpbnRlcnZhbGxvIGNvbnNlbnRpdG8iCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzMQorIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9iamVjdCB0eXBlICVkIgotbXNnc3RyICJ0aXBvIGRpIG9nZ2V0dG8gJWQgc2Nvbm9zY2l1dG8iCittc2dzdHIgInRpcG8gb2dnZXR0byAlZCBzY29ub3NjaXV0byIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDk1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NjIKIG1zZ2lkICJjYW5ub3QgcHJlYWQgcGFjayBmaWxlIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIHByZWFkIHN1bCBmaWxlIHBhY2siCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ5NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTY0CiAjLCBjLWZvcm1hdAotbXNnaWQgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlbHUgYnl0ZSBtaXNzaW5nIgotbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJWx1IGJ5dGVzIG1pc3NpbmciCi1tc2dzdHJbMF0gIiIKLW1zZ3N0clsxXSAiIgorbXNnaWQgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGUgbWlzc2luZyIKK21zZ2lkX3BsdXJhbCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZXMgbWlzc2luZyIKK21zZ3N0clswXSAiZmluZSBkZWwgZmlsZSBwYWNrIHByZW1hdHVyYSwgJTxQUkl1TUFYPiBieXRlIG1hbmNhbnRlIgorbXNnc3RyWzFdICJmaW5lIGRlbCBmaWxlIHBhY2sgcHJlbWF0dXJhLCAlPFBSSXVNQVg+IGJ5dGUgbWFuY2FudGkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUxMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTkwCiBtc2dpZCAic2VyaW91cyBpbmZsYXRlIGluY29uc2lzdGVuY3kiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW5jb25zaXN0ZW56YSBncmF2ZSBkaSBpbmZsYXRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1ODMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0ICVzIgotbXNnc3RyICJub24gw6ggcG9zc2liaWxlIGxlZ2dlcmUgbCdvZ2dldHRvICVzIGVzaXN0ZW50ZSIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTg2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3MzUgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQxIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc2NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODAzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJTSEExIENPTExJU0lPTiBGT1VORCBXSVRIICVzICEiCiBtc2dzdHIgIlRST1ZBVEEgQ09MTElTSU9ORSBTSEExIENPTiAlcyAhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1OTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjczOCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE1NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgJXMiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgaW5mbyAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSBsZSBpbmZvcm1hemlvbmkgc3VsbCdvZ2dldHRvIGVzaXN0ZW50ZTogJXMiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwOQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgJXMiCittc2dzdHIgIm5vbiDDqCBwb3NzaWJpbGUgbGVnZ2VyZSBsJ29nZ2V0dG8gJXMgZXNpc3RlbnRlIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBibG9iIG9iamVjdCAlcyIKIG1zZ3N0ciAib2dnZXR0byBibG9iICVzIG5vbiB2YWxpZG8iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjYxMAotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkICVzIgotbXNnc3RyICIlcyBub24gdmFsaWRvIgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODI2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0NQorbXNnaWQgImZzY2sgZXJyb3IgaW4gcGFja2VkIG9iamVjdCIKK21zZ3N0ciAiZXJyb3JlIGZzY2sgbmVsbCdvZ2dldHRvIHNvdHRvcG9zdG8gYSBwYWNrIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo2MTIKLW1zZ2lkICJFcnJvciBpbiBvYmplY3QiCi1tc2dzdHIgIkVycm9yZSBuZWxsJ29nZ2V0dG8iCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjYxNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhbGwgY2hpbGQgb2JqZWN0cyBvZiAlcyBhcmUgcmVhY2hhYmxlIgogbXNnc3RyICJOb24gdHV0dGkgZ2xpIG9nZ2V0dGkgZmlnbGlvIGRpICVzIHNvbm8gcmFnZ2l1bmdpYmlsaSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Njg3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjcxMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTE5IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk1MAogbXNnaWQgImZhaWxlZCB0byBhcHBseSBkZWx0YSIKIG1zZ3N0ciAiYXBwbGljYXppb25lIGRlbCBkZWx0YSBub24gcml1c2NpdGEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTExOAogbXNnaWQgIlJlY2VpdmluZyBvYmplY3RzIgogbXNnc3RyICJSaWNlemlvbmUgZGVnbGkgb2dnZXR0aSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODUwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiSW5kaWNpenphemlvbmUgZGVnbGkgb2dnZXR0aSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODcyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTUyCiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgogbXNnc3RyICJpbCBwYWNrIMOoIGNvcnJvdHRvIChTSEExIG5vbiBjb3JyaXNwb25kZSkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg3NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NwogbXNnaWQgImNhbm5vdCBmc3RhdCBwYWNrZmlsZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBmc3RhdCBzdWwgZmlsZSBwYWNrIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4ODAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjAKIG1zZ2lkICJwYWNrIGhhcyBqdW5rIGF0IHRoZSBlbmQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaWwgcGFjayBoYSBkYXRpIGludXRpbGkgYWxsYSBmaW5lIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo5MDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzIKK21zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IGluIHBhcnNlX3BhY2tfb2JqZWN0cygpIgorbXNnc3RyICJjb25mdXNpb25lIG9sdHJlIG9nbmkgZm9sbGlhIGluIHBhcnNlX3BhY2tfb2JqZWN0cygpIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk1CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKIG1zZ3N0ciAiUmlzb2x1emlvbmUgZGVpIGRlbHRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo5NTQKLW1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgotbXNnc3RyICJjb25mdXNpb25lIGFsIGRpIGzDoCBkZWxsYSBmb2xsaWEiCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjA1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRocmVhZDogJXMiCittc2dzdHIgImltcG9zc2liaWxlIGNyZWFyZSBpbCB0aHJlYWQ6ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo5NzMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNDYKK21zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgorbXNnc3RyICJjb25mdXNpb25lIG9sdHJlIG9nbmkgZm9sbGlhIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdCIKK21zZ2lkX3BsdXJhbCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0cyIKK21zZ3N0clswXSAiY29tcGxldGF0byBjb24gJWQgb2dnZXR0byBsb2NhbGUiCittc2dzdHJbMV0gImNvbXBsZXRhdG8gY29uICVkIG9nZ2V0dGkgbG9jYWxpIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgorbXNnc3RyICJDaGVja3N1bSBpbiBjb2RhIGluYXR0ZXNvIHBlciAlcyAoZGlzY28gY29ycm90dG8/KSIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKIG1zZ3N0clswXSAicGFjayBoYSAlZCBkZWx0YSBpcnJpc29sdG8iCiBtc2dzdHJbMV0gInBhY2sgaGEgJWQgZGVsdGEgaXJyaXNvbHRpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo5OTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgYXBwZW5kZWQgb2JqZWN0ICglZCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgZGVmbGF0ZSBzdWxsJ29nZ2V0dG8gYWdnaXVudG8gYWxsYSBmaW5lICglZCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEwNzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzODgKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9jYWwgb2JqZWN0ICVzIGlzIGNvcnJ1cHQiCiBtc2dzdHIgImwnb2dnZXR0byBsb2NhbGUgJXMgw6ggY29ycm90dG8iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMDEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFja2ZpbGUgbmFtZSAnJXMnIGRvZXMgbm90IGVuZCB3aXRoICcucGFjayciCittc2dzdHIgImlsIG5vbWUgZGVsIGZpbGUgcGFjayAnJXMnIG5vbiB0ZXJtaW5hIGNvbiAnLnBhY2snIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSAlcyBmaWxlICclcyciCittc2dzdHIgImltcG9zc2liaWxlIHNjcml2ZXJlIGlsIGZpbGUgJXMgJyVzJyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiAlcyBmaWxlICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGNoaXVkZXJlIGlsIGZpbGUgJXMgc2NyaXR0byAnJXMnIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDU5CiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCiBtc2dzdHIgImVycm9yZSBuZWxsYSBjaGl1c3VyYSBkZWwgZmlsZSBwYWNrIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCB3cml0ZSBrZWVwIGZpbGUgJyVzJyIKLW1zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgaWwgZmlsZSBrZWVwICclcyciCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IGNsb3NlIHdyaXR0ZW4ga2VlcCBmaWxlICclcyciCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3MwogbXNnaWQgImNhbm5vdCBzdG9yZSBwYWNrIGZpbGUiCiBtc2dzdHIgImltcG9zc2liaWxlIGFyY2hpdmlhcmUgaWwgZmlsZSBwYWNrIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQ2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDgxCiBtc2dpZCAiY2Fubm90IHN0b3JlIGluZGV4IGZpbGUiCiBtc2dzdHIgImltcG9zc2liaWxlIGFyY2hpdmlhcmUgaW5kZXggZmlsZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI0NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUyNSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPiIKK21zZ3N0ciAicGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IG5vbiB2YWxpZGEiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCiBtc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSBpbCBmaWxlIHBhY2sgJyVzJyBlc2lzdGVudGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBpZHggZmlsZSBmb3IgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZSBwYWNrIGlkeCBlc2lzdGVudGUgcGVyICclcyciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKIG1zZ3N0clswXSAibm9uIGRlbHRhOiAlZCBvZ2dldHRvIgogbXNnc3RyWzFdICJub24gZGVsdGE6ICVkIG9nZ2V0dGkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzMDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKIG1zZ3N0clswXSAibHVuZ2hlenphIGRlbGxhIGNhdGVuYSA9ICVkOiAlbHUgb2dnZXR0byIKIG1zZ3N0clsxXSAibHVuZ2hlenphIGRlbGxhIGNhdGVuYSA9ICVkOiAlbHUgb2dnZXR0aSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMzMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY4OQogbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2liaWxlIHRvcm5hcmUgYWxsYSBkaXJlY3RvcnkgZGkgbGF2b3JvIGNvcnJlbnRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzc0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNzcKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzODkgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM5MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczOCBidWlsdGluL2luZGV4LXBhY2suYzoxNzQxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzU3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkICVzIgogbXNnc3RyICIlcyBlcnJhdG8iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NzcKIG1zZ2lkICItLWZpeC10aGluIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgLS1zdGRpbiIKIG1zZ3N0ciAiLS1maXgtdGhpbiBub24gcHXDsiBlc3NlcmUgdXNhdG8gc2VuemEgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxMSBidWlsdGluL2luZGV4LXBhY2suYzoxNDIxCi0jLCBjLWZvcm1hdAotbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgotbXNnc3RyICJpbCBub21lIGRlbCBmaWxlIHBhY2sgJyVzJyBub24gdGVybWluYSBjb24gJy5wYWNrJyIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NzkKK21zZ2lkICItLXN0ZGluIHJlcXVpcmVzIGEgZ2l0IHJlcG9zaXRvcnkiCittc2dzdHIgIi0tc3RkaW4gcmljaGllZGUgdW4gcmVwb3NpdG9yeSBHaXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MzAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3ODUKIG1zZ2lkICItLXZlcmlmeSB3aXRoIG5vIHBhY2tmaWxlIG5hbWUgZ2l2ZW4iCiBtc2dzdHIgIi0tdmVyaWZ5IHNlbnphIHVuIG5vbWUgZGVsIGZpbGUgcGFjayBzcGVjaWZpY2F0byIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IG1ha2UgJXMgd3JpdGFibGUgYnkgZ3JvdXAiCi1tc2dzdHIgIk5vbiDDqCBzdGF0byBwb3NzaWJsZSByZW5kZXJlICVzIHNjcml2aWJpbGUgZGFsIGdydXBwbyIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4MzMgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjU4MQorbXNnaWQgImZzY2sgZXJyb3IgaW4gcGFjayBvYmplY3RzIgorbXNnc3RyICJlcnJvcmUgZnNjayBuZWdsaSBvZ2dldHRpIHNvdHRvcG9zdGkgYSBwYWNrIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo2MgotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnNhbmVseSBsb25nIHRlbXBsYXRlIG5hbWUgJXMiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6NjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHN0YXQgJyVzJyIKLW1zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgbG8gc3RhdCBkaSAnJXMnIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzo3MworIzogYnVpbHRpbi9pbml0LWRiLmM6NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgdGVtcGxhdGUgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBzdGF0IHN1bCBtb2RlbGxvICclcyciCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuZGlyICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSBsYSBkaXJlY3RvcnkgJyVzJyIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWRsaW5rICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgaWwgbGluayAnJXMnIgogCiAjOiBidWlsdGluL2luaXQtZGIuYzo4MAogIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3Qgb3BlbmRpciAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjk3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkbGluayAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjk5Ci0jLCBjLWZvcm1hdAotbXNnaWQgImluc2FuZWx5IGxvbmcgc3ltbGluayAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMDIKLSMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN5bWxpbmsgJyVzJyAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2liaWxlIGNyZWFyZSBpbCBjb2xsZWdhbWVudG8gc2ltYm9saWNvIGRhICclcycgYSAnJXMnIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxMDYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjb3B5ICclcycgdG8gJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbXBvc3NpYmlsZSBjb3BpYXJlICclcycgaW4gJyVzJyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MTEwCisjOiBidWlsdGluL2luaXQtZGIuYzo5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyB0ZW1wbGF0ZSAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJpZ25vcm8gaWwgbW9kZWxsbyAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MTMzCisjOiBidWlsdGluL2luaXQtZGIuYzoxMjEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaW5zYW5lbHkgbG9uZyB0ZW1wbGF0ZSBwYXRoICVzIgotbXNnc3RyICIiCittc2dpZCAidGVtcGxhdGVzIG5vdCBmb3VuZCBpbiAlcyIKK21zZ3N0ciAibW9kZWxsaSBub24gdHJvdmF0aSBpbiAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MTQxCisjOiBidWlsdGluL2luaXQtZGIuYzoxMzYKICMsIGMtZm9ybWF0Ci1tc2dpZCAidGVtcGxhdGVzIG5vdCBmb3VuZCAlcyIKLW1zZ3N0ciAiIgorbXNnaWQgIm5vdCBjb3B5aW5nIHRlbXBsYXRlcyBmcm9tICclcyc6ICVzIgorbXNnc3RyICJub24gY29waW8gaSBtb2RlbGxpIGRhICclcyc6ICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzoxNTQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibm90IGNvcHlpbmcgdGVtcGxhdGVzIG9mIGEgd3JvbmcgZm9ybWF0IHZlcnNpb24gJWQgZnJvbSAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjE5MgotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnNhbmUgZ2l0IGRpcmVjdG9yeSAlcyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2luaXQtZGIuYzozMjIgYnVpbHRpbi9pbml0LWRiLmM6MzI1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzIGFscmVhZHkgZXhpc3RzIgotbXNnc3RyICIlcyBlc2lzdGUgZ2nDoCIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6MzU0CisjOiBidWlsdGluL2luaXQtZGIuYzozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGhhbmRsZSBmaWxlIHR5cGUgJWQiCiBtc2dzdHIgImltcG9zc2liaWxlIGdlc3RpcmUgaWwgdGlwbyBkaSBmaWxlICVkIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNTcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbW92ZSAlcyB0byAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJpbGUgc3Bvc3RhcmUgJXMgaW4gJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM2MgorIzogYnVpbHRpbi9pbml0LWRiLmM6MzU0IGJ1aWx0aW4vaW5pdC1kYi5jOjM1NwogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGdpdCBsaW5rICVzIgotbXNnc3RyICJOb24gw6ggc3RhdG8gcG9zc2liaWxlIGNyZWFyZSBpbCBsaW5rIGdpdCAlcyIKK21zZ2lkICIlcyBhbHJlYWR5IGV4aXN0cyIKK21zZ3N0ciAiJXMgZXNpc3RlIGdpw6AiCiAKLSMuCi0jLiAqIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJyVzJyBpcyBlaXRoZXIgIlJlaW5pdGlhbGl6ZWQKLSMuICogZXhpc3RpbmciIG9yICJJbml0aWFsaXplZCBlbXB0eSIsIHRoZSBzZWNvbmQgIiBzaGFyZWQiIG9yCi0jLiAqICIiLCBhbmQgdGhlIGxhc3QgJyVzJXMnIGlzIHRoZSB2ZXJiYXRpbSBkaXJlY3RvcnkgbmFtZS4KLSMuCisjOiBidWlsdGluL2luaXQtZGIuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICJSZWluaXppYWxpenphdG8gcmVwb3NpdG9yeSBHaXQgY29uZGl2aXNvIGVzaXN0ZW50ZSBpbiAlcyVzXG4iCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKK21zZ3N0ciAiUmVpbml6aWFsaXp6YXRvIHJlcG9zaXRvcnkgR2l0IGVzaXN0ZW50ZSBpbiAlcyVzXG4iCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICJJbml6aWFsaXp6YXRvIHJlcG9zaXRvcnkgR2l0IGNvbmRpdmlzbyB2dW90byBpbiAlcyVzXG4iCisKICM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxOQogIywgYy1mb3JtYXQKLW1zZ2lkICIlcyVzIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKLW1zZ3N0ciAiJXMlcyByZXBvc2l0b3J5IEdpdCBpbiAlcyVzXG4iCittc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICJJbml6aWFsaXp6YXRvIHJlcG9zaXRvcnkgR2l0IHZ1b3RvIGluICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDIwCi1tc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyIKLW1zZ3N0ciAiUmVpbml6aWFsaXp6YXRvIHVuIGVzaXN0ZW50ZSIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6NDIwCi1tc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkiCi1tc2dzdHIgIkluaXppYWxpenphdG8gdW4iCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQyMQotbXNnaWQgIiBzaGFyZWQiCi1tc2dzdHIgIiBjb25kaXZpc28iCi0KLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ0MAotbXNnaWQgImNhbm5vdCB0ZWxsIGN3ZCIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ2OAorbXNnaWQgIiIKKyJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGVtcGxhdGUtZGlyZWN0b3J5Pl0gWy0tIgorInNoYXJlZFs9PHBlcm1pc3Npb25zPl1dIFs8ZGlyZWN0b3J5Pl0iCiBtc2dzdHIgIiIKKyJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08ZGlyZWN0b3J5LW1vZGVsbG8+XSBbLS0iCisic2hhcmVkWz08cGVybWVzc2k+XV0gWzxkaXJlY3Rvcnk+XSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTIxIGJ1aWx0aW4vaW5pdC1kYi5jOjUyOAorIzogYnVpbHRpbi9pbml0LWRiLmM6NDkxCittc2dpZCAicGVybWlzc2lvbnMiCittc2dzdHIgInBlcm1lc3NpIgorCisjOiBidWlsdGluL2luaXQtZGIuYzo0OTIKK21zZ2lkICJzcGVjaWZ5IHRoYXQgdGhlIGdpdCByZXBvc2l0b3J5IGlzIHRvIGJlIHNoYXJlZCBhbW9uZ3N0IHNldmVyYWwgdXNlcnMiCittc2dzdHIgInNwZWNpZmljYSBjaGUgaWwgcmVwb3NpdG9yeSBHaXQgZGV2ZSBlc3NlcmUgY29uZGl2aXNvIGNvbiBwacO5IHV0ZW50aSIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NTI5IGJ1aWx0aW4vaW5pdC1kYi5jOjUzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY3JlYXJlIGxhIGRpcmVjdG9yeSAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTMyCisjOiBidWlsdGluL2luaXQtZGIuYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZGlyIHRvICVzIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2liaWxlIG1vZGlmaWNhcmUgbGEgZGlyZWN0b3J5IGNvcnJlbnRlIGluICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NTQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXMgKG9yIC0td29yay10cmVlPTxkaXJlY3Rvcnk+KSBub3QgYWxsb3dlZCB3aXRob3V0IHNwZWNpZnlpbmcgJXMgKG9yIC0tZ2l0LSIKQEAgLTMxOTMsNjI1ICsxNTEyMiwyNDU0IEBACiAiJXMgKG8gLS13b3JrLXRyZWU9PGRpcmVjdG9yeT4pIG5vbiBjb25zZW50aXRvIHNlbnphIHNwZWNpZmljYXJlICVzIChvIC0tZ2l0LSIKICJkaXI9PGRpcmVjdG9yeT4pIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NzgKLW1zZ2lkICJDYW5ub3QgYWNjZXNzIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCi1tc2dzdHIgIkltcG9zc2liaWxlIGFjY2VkZXJlIGFsbGEgZGlyZWN0b3J5IGRpIGxhdm9ybyBjb3JyZW50ZSIKLQotIzogYnVpbHRpbi9pbml0LWRiLmM6NTg1CisjOiBidWlsdGluL2luaXQtZGIuYzo1ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGFjY2VzcyB3b3JrIHRyZWUgJyVzJyIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhY2NlZGVyZSBhbGwnYWxiZXJvIGRpIGxhdm9ybyAnJXMnIgogCi0jOiBidWlsdGluL2xvZy5jOjE4OAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxNgorbXNnaWQgIiIKKyJnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIFstLWluLXBsYWNlXSBbLS10cmltLWVtcHR5XSBbKC0tdHJhaWxlciAiCisiPHRva2VuPlsoPXw6KTx2YWx1ZT5dKS4uLl0gWzxmaWxlPi4uLl0iCittc2dzdHIgIiIKKyJnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIFstLWluLXBsYWNlXSBbLS10cmltLWVtcHR5XSBbKC0tdHJhaWxlciAiCisiPHRva2VuPlsoPXw6KTx2YWxvcmU+XSkuLi5dIFs8ZmlsZT4uLi5dIgorCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk1Cittc2dpZCAiZWRpdCBmaWxlcyBpbiBwbGFjZSIKK21zZ3N0ciAibW9kaWZpY2EgaSBmaWxlIHN1bCBwb3N0byIKKworIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NgorbXNnaWQgInRyaW0gZW1wdHkgdHJhaWxlcnMiCittc2dzdHIgInJpbXVvdmkgc3BhemkgZGFsbGUgc3RyaW5naGUgZmluYWxpIHZ1b3RlIgorCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk5Cittc2dpZCAid2hlcmUgdG8gcGxhY2UgdGhlIG5ldyB0cmFpbGVyIgorbXNnc3RyICJkb3ZlIGNvbGxvY2FyZSBsYSBudW92YSBzdHJpbmdhIGZpbmFsZSIKKworIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDEKK21zZ2lkICJhY3Rpb24gaWYgdHJhaWxlciBhbHJlYWR5IGV4aXN0cyIKK21zZ3N0ciAiYXppb25lIGRhIGVzZWd1aXJlIHNlIGxhIHN0cmluZ2EgZmluYWxlIGVzaXN0ZSBnacOgIgorCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMworbXNnaWQgImFjdGlvbiBpZiB0cmFpbGVyIGlzIG1pc3NpbmciCittc2dzdHIgImF6aW9uZSBkYSBlc2VndWlyZSBzZSBsYSBzdHJpbmdhIGZpbmFsZSDDqCBtYW5jYW50ZSIKKworIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDUKK21zZ2lkICJvdXRwdXQgb25seSB0aGUgdHJhaWxlcnMiCittc2dzdHIgImVtZXR0aSBpbiBvdXRwdXQgc29sbyBsZSBzdHJpbmdoZSBmaW5hbGkiCisKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA2Cittc2dpZCAiZG8gbm90IGFwcGx5IGNvbmZpZyBydWxlcyIKK21zZ3N0ciAibm9uIGFwcGxpY2FyZSBsZSByZWdvbGUgZGkgY29uZmlndXJhemlvbmUiCisKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA3Cittc2dpZCAiam9pbiB3aGl0ZXNwYWNlLWNvbnRpbnVlZCB2YWx1ZXMiCittc2dzdHIgInVuaXNjaSBpIHZhbG9yaSByZXNpIGNvbnRpZ3VpIGRhZ2xpIHNwYXppIGJpYW5jaGkiCisKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA4Cittc2dpZCAic2V0IHBhcnNpbmcgb3B0aW9ucyIKK21zZ3N0ciAiaW1wb3N0YSBsZSBvcHppb25pIGRpIGFuYWxpc2kiCisKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTEwCittc2dpZCAiZG8gbm90IHRyZWF0IC0tLSBzcGVjaWFsbHkiCittc2dzdHIgIm5vbiB0cmF0dGFyZSBsYSBzZXF1ZW56YSAtLS0gaW4gbW9kbyBzcGVjaWFsZSIKKworIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMTEKK21zZ2lkICJ0cmFpbGVyIgorbXNnc3RyICJzdHJpbmdhIGZpbmFsZSIKKworIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMTIKK21zZ2lkICJ0cmFpbGVyKHMpIHRvIGFkZCIKK21zZ3N0ciAic3RyaW5nYS9lIGZpbmFsZS9pIGRhIGFnZ2l1bmdlcmUiCisKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTIzCittc2dpZCAiLS10cmFpbGVyIHdpdGggLS1vbmx5LWlucHV0IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIi0tdHJhaWxlciBjb24gLS1vbmx5LWlucHV0IG5vbiBoYSBzZW5zbyIKKworIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMzMKK21zZ2lkICJubyBpbnB1dCBmaWxlIGdpdmVuIGZvciBpbi1wbGFjZSBlZGl0aW5nIgorbXNnc3RyICJuZXNzdW4gZmlsZSBkaSBpbnB1dCBzcGVjaWZpY2F0byBwZXIgbGEgbW9kaWZpY2Egc3VsIHBvc3RvIgorCisjOiBidWlsdGluL2xvZy5jOjU2Cittc2dpZCAiZ2l0IGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKK21zZ3N0ciAiZ2l0IGxvZyBbPG9wemlvbmk+XSBbPGludGVydmFsbG8tcmV2aXNpb25pPl0gW1stLV0gPHBlcmNvcnNvPi4uLl0iCisKKyM6IGJ1aWx0aW4vbG9nLmM6NTcKK21zZ2lkICJnaXQgc2hvdyBbPG9wdGlvbnM+XSA8b2JqZWN0Pi4uLiIKK21zZ3N0ciAiZ2l0IHNob3cgWzxvcHppb25pPl0gPG9nZ2V0dG8+Li4uIgorCisjOiBidWlsdGluL2xvZy5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIC0tZGVjb3JhdGUgb3B0aW9uOiAlcyIKK21zZ3N0ciAib3B6aW9uZSAtLWRlY29yYXRlIG5vbiB2YWxpZGE6ICVzIgorCisjOiBidWlsdGluL2xvZy5jOjE3NAorbXNnaWQgInNob3cgc291cmNlIgorbXNnc3RyICJ2aXN1YWxpenphIHNvcmdlbnRlIgorCisjOiBidWlsdGluL2xvZy5jOjE3NQorbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgorbXNnc3RyICJVc2EgaWwgZmlsZSBtYXBwYXR1cmEgZS1tYWlsIgorCisjOiBidWlsdGluL2xvZy5jOjE3NworbXNnaWQgIm9ubHkgZGVjb3JhdGUgcmVmcyB0aGF0IG1hdGNoIDxwYXR0ZXJuPiIKK21zZ3N0ciAiZGVjb3JhIHNvbG8gaSByaWZlcmltZW50aSBjb3JyaXNwb25kZW50aSBhIDxwYXR0ZXJuPiIKKworIzogYnVpbHRpbi9sb2cuYzoxNzkKK21zZ2lkICJkbyBub3QgZGVjb3JhdGUgcmVmcyB0aGF0IG1hdGNoIDxwYXR0ZXJuPiIKK21zZ3N0ciAibm9uIGRlY29yYXJlIGkgcmlmZXJpbWVudGkgY29ycmlzcG9uZGVudGkgYSA8cGF0dGVybj4iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTgwCittc2dpZCAiZGVjb3JhdGUgb3B0aW9ucyIKK21zZ3N0ciAib3B6aW9uaSBkZWNvcmF6aW9uZSIKKworIzogYnVpbHRpbi9sb2cuYzoxODMKK21zZ2lkICJQcm9jZXNzIGxpbmUgcmFuZ2UgbixtIGluIGZpbGUsIGNvdW50aW5nIGZyb20gMSIKK21zZ3N0ciAiRWxhYm9yYSBsJ2ludGVydmFsbG8gcmlnaGUgbixtIG5lbCBmaWxlLCBjb250YW5kb2xlIGRhIDEiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpbmFsIG91dHB1dDogJWQgJXNcbiIKIG1zZ3N0ciAiT3V0cHV0IGZpbmFsZTogJWQgJXNcbiIKIAotIzogYnVpbHRpbi9sb2cuYzo0MDEgYnVpbHRpbi9sb2cuYzo0ODkKKyM6IGJ1aWx0aW4vbG9nLmM6NTM1CiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKLW1zZ3N0ciAiTm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBsZWdnZXJlIGwnb2dnZXR0byAlcyIKK21zZ2lkICJnaXQgc2hvdyAlczogYmFkIGZpbGUiCittc2dzdHIgImdpdCBzaG93ICVzOiBmaWxlIG5vbiB2YWxpZG8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTEzCisjOiBidWlsdGluL2xvZy5jOjU1MCBidWlsdGluL2xvZy5jOjY0NQogIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIHR5cGU6ICVkIgotbXNnc3RyICJUaXBvIHNjb25vc2NpdXRvOiAlZCIKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgbCdvZ2dldHRvICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjYwMgorIzogYnVpbHRpbi9sb2cuYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0eXBlOiAlZCIKK21zZ3N0ciAidGlwbyBzY29ub3NjaXV0bzogJWQiCisKKyM6IGJ1aWx0aW4vbG9nLmM6ODE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNvdmVyIGZyb20gZGVzY3JpcHRpb24gbW9kZSIKK21zZ3N0ciAiJXM6IG1vZG8gbGV0dGVyYSBkYSBkZXNjcml6aW9uZSBub24gdmFsaWRvIgorCisjOiBidWlsdGluL2xvZy5jOjgyMQogbXNnaWQgImZvcm1hdC5oZWFkZXJzIHdpdGhvdXQgdmFsdWUiCiBtc2dzdHIgImZvcm1hdC5oZWFkZXJzIG5vbiBoYSBhbGN1biB2YWxvcmUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6Njc2CisjOiBidWlsdGluL2xvZy5jOjkzNgogbXNnaWQgIm5hbWUgb2Ygb3V0cHV0IGRpcmVjdG9yeSBpcyB0b28gbG9uZyIKIG1zZ3N0ciAiaWwgbm9tZSBkZWxsYSBkaXJlY3RvcnkgZGkgb3V0cHV0IMOoIHRyb3BwbyBsdW5nbyIKIAotIzogYnVpbHRpbi9sb2cuYzo2ODcKKyM6IGJ1aWx0aW4vbG9nLmM6OTUyCiAjLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBvcGVuIHBhdGNoIGZpbGUgJXMiCi1tc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSBpbCBmaWxlIHBhdGNoICVzIgorbXNnaWQgImNhbm5vdCBvcGVuIHBhdGNoIGZpbGUgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSBpbCBmaWxlIHBhdGNoICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjcwMQotbXNnaWQgIk5lZWQgZXhhY3RseSBvbmUgcmFuZ2UuIgotbXNnc3RyICIiCisjOiBidWlsdGluL2xvZy5jOjk2OQorbXNnaWQgIm5lZWQgZXhhY3RseSBvbmUgcmFuZ2UiCittc2dzdHIgIsOoIG5lY2Vzc2FyaW8gc3BlY2lmaWNhcmUgZXNhdHRhbWVudGUgdW4gaW50ZXJ2YWxsbyIKIAotIzogYnVpbHRpbi9sb2cuYzo3MDkKLW1zZ2lkICJOb3QgYSByYW5nZS4iCi1tc2dzdHIgIiIKKyM6IGJ1aWx0aW4vbG9nLmM6OTc5Cittc2dpZCAibm90IGEgcmFuZ2UiCittc2dzdHIgImlsIHZhbG9yZSBub24gw6ggdW4gaW50ZXJ2YWxsbyIKIAotIzogYnVpbHRpbi9sb2cuYzo3ODYKLW1zZ2lkICJDb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgotbXNnc3RyICIiCisjOiBidWlsdGluL2xvZy5jOjExNDMKK21zZ2lkICJjb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgorbXNnc3RyICJsYSBsZXR0ZXJhIGRpIGFjY29tcGFnbmFtZW50byBkZXYnZXNzZXJlIGluIGZvcm1hdG8gZS1tYWlsIgogCi0jOiBidWlsdGluL2xvZy5jOjg1OQorIzogYnVpbHRpbi9sb2cuYzoxMTQ5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBjb3Zlci1sZXR0ZXIgZmlsZSIKK21zZ3N0ciAiY3JlYXppb25lIGRlbCBmaWxlIGxldHRlcmEgZGkgYWNjb21wYWduYW1lbnRvIG5vbiByaXVzY2l0YSIKKworIzogYnVpbHRpbi9sb2cuYzoxMjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAidmFsb3JlIGluLXJlcGx5LXRvIGZvbGxlOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzo5MzIKLW1zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKLW1zZ3N0ciAiRHVlIGRpcmVjdG9yeSBkaSBvdXRwdXQ/IgorIzogYnVpbHRpbi9sb2cuYzoxMjU1Cittc2dpZCAiZ2l0IGZvcm1hdC1wYXRjaCBbPG9wdGlvbnM+XSBbPHNpbmNlPiB8IDxyZXZpc2lvbi1yYW5nZT5dIgorbXNnc3RyICJnaXQgZm9ybWF0LXBhdGNoIFs8b3B6aW9uaT5dIFs8ZGE+IHwgPGludGVydmFsbG8gcmV2aXNpb25pPl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE1MworIzogYnVpbHRpbi9sb2cuYzoxMzEzCittc2dpZCAidHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iCittc2dzdHIgImR1ZSBkaXJlY3RvcnkgZGkgb3V0cHV0PyIKKworIzogYnVpbHRpbi9sb2cuYzoxNDI0IGJ1aWx0aW4vbG9nLmM6MjE5NyBidWlsdGluL2xvZy5jOjIxOTkgYnVpbHRpbi9sb2cuYzoyMjExCiAjLCBjLWZvcm1hdAotbXNnaWQgImJvZ3VzIGNvbW1pdHRlciBpbmZvICVzIgotbXNnc3RyICIiCittc2dpZCAidW5rbm93biBjb21taXQgJXMiCittc2dzdHIgImNvbW1pdCAlcyBzY29ub3NjaXV0byIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTk4Ci1tc2dpZCAiLW4gYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgotbXNnc3RyICIiCisjOiBidWlsdGluL2xvZy5jOjE0MzQgYnVpbHRpbi9yZXBsYWNlLmM6NTggYnVpbHRpbi9yZXBsYWNlLmM6MjA3CisjOiBidWlsdGluL3JlcGxhY2UuYzoyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZiIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmlzb2x2ZXJlICclcycgY29tZSByaWZlcmltZW50byB2YWxpZG8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIwMAotbXNnaWQgIi0tc3ViamVjdC1wcmVmaXggYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgotbXNnc3RyICIiCisjOiBidWlsdGluL2xvZy5jOjE0MzkKK21zZ2lkICJjb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlIgorbXNnc3RyICJpbXBvc3NpYmlsZSB0cm92YXJlIGVzYXR0YW1lbnRlIGxhIGJhc2UgZGVsIG1lcmdlIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMDgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MworbXNnaWQgIiIKKyJmYWlsZWQgdG8gZ2V0IHVwc3RyZWFtLCBpZiB5b3Ugd2FudCB0byByZWNvcmQgYmFzZSBjb21taXQgYXV0b21hdGljYWxseSxcbiIKKyJwbGVhc2UgdXNlIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gdG8gdHJhY2sgYSByZW1vdGUgYnJhbmNoLlxuIgorIk9yIHlvdSBjb3VsZCBzcGVjaWZ5IGJhc2UgY29tbWl0IGJ5IC0tYmFzZT08YmFzZS1jb21taXQtaWQ+IG1hbnVhbGx5IgorbXNnc3RyICIiCisiaW1wb3NzaWJpbGUgcmVjdXBlcmFyZSBsJ3Vwc3RyZWFtLCBzZSB2dW9pIHJlZ2lzdHJhcmUgYXV0b21hdGljYW1lbnRlXG4iCisiaWwgY29tbWl0IGRpIGJhc2UgdXNhIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gcGVyIHRyYWNjaWFyZSB1biBicmFuY2hcbiIKKyJyZW1vdG8uXG4iCisiSW4gYWx0ZXJuYXRpdmEgcHVvaSBzcGVjaWZpY2FyZSBtYW51YWxtZW50ZSBpbCBjb21taXQgZGkgYmFzZSBjb25cbiIKKyItLWJhc2U9PElEIGNvbW1pdCBkaSBiYXNlPiIKKworIzogYnVpbHRpbi9sb2cuYzoxNDYzCittc2dpZCAiZmFpbGVkIHRvIGZpbmQgZXhhY3QgbWVyZ2UgYmFzZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgdHJvdmFyZSBlc2F0dGFtZW50ZSBsYSBiYXNlIGRlbCBtZXJnZSIKKworIzogYnVpbHRpbi9sb2cuYzoxNDc0Cittc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkIGJlIHRoZSBhbmNlc3RvciBvZiByZXZpc2lvbiBsaXN0IgorbXNnc3RyICJpbCBjb21taXQgZGkgYmFzZSBkb3ZyZWJiZSBlc3NlcmUgbCdhbnRlbmF0byBkZWxsJ2VsZW5jbyByZXZpc2lvbmkiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3OAorbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZG4ndCBiZSBpbiByZXZpc2lvbiBsaXN0IgorbXNnc3RyICJpbCBjb21taXQgZGkgYmFzZSBub24gZG92cmViYmUgZXNzZXJlIG5lbGwnZWxlbmNvIHJldmlzaW9uaSIKKworIzogYnVpbHRpbi9sb2cuYzoxNTMxCittc2dpZCAiY2Fubm90IGdldCBwYXRjaCBpZCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgb3R0ZW5lcmUgbCdJRCBkZWxsYSBwYXRjaCIKKworIzogYnVpbHRpbi9sb2cuYzoxNTgzCittc2dpZCAiZmFpbGVkIHRvIGluZmVyIHJhbmdlLWRpZmYgcmFuZ2VzIgorbXNnc3RyICJpbmZlcmVuemEgZGVnbGkgaW50ZXJ2YWxsaSByYW5nZS1kaWZmIG5vbiByaXVzY2l0YSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjI5Cittc2dpZCAidXNlIFtQQVRDSCBuL21dIGV2ZW4gd2l0aCBhIHNpbmdsZSBwYXRjaCIKK21zZ3N0ciAidXNhIFtQQVRDSCBuL21dIGFuY2hlIGNvbiB1bmEgc2luZ29sYSBwYXRjaCIKKworIzogYnVpbHRpbi9sb2cuYzoxNjMyCittc2dpZCAidXNlIFtQQVRDSF0gZXZlbiB3aXRoIG11bHRpcGxlIHBhdGNoZXMiCittc2dzdHIgInVzYSBbUEFUQ0hdIGFuY2hlIGNvbiBwacO5IHBhdGNoIgorCisjOiBidWlsdGluL2xvZy5jOjE2MzYKK21zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKK21zZ3N0ciAic3RhbXBhIGxlIHBhdGNoIHN1bGxvIHN0YW5kYXJkIG91dHB1dCIKKworIzogYnVpbHRpbi9sb2cuYzoxNjM4Cittc2dpZCAiZ2VuZXJhdGUgYSBjb3ZlciBsZXR0ZXIiCittc2dzdHIgImdlbmVyYSB1bmEgbGV0dGVyYSBkaSBhY2NvbXBhZ25hbWVudG8iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY0MAorbXNnaWQgInVzZSBzaW1wbGUgbnVtYmVyIHNlcXVlbmNlIGZvciBvdXRwdXQgZmlsZSBuYW1lcyIKK21zZ3N0ciAidXNhIHVuYSBzZXF1ZW56YSBudW1lcmljYSBzZW1wbGljZSBwZXIgaSBub21pIGZpbGUgZGkgb3V0cHV0IgorCisjOiBidWlsdGluL2xvZy5jOjE2NDEKK21zZ2lkICJzZngiCittc2dzdHIgInN1ZmYiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY0MgorbXNnaWQgInVzZSA8c2Z4PiBpbnN0ZWFkIG9mICcucGF0Y2gnIgorbXNnc3RyICJ1c2EgPHN1ZmY+IGFuemljaMOpICcucGF0Y2gnIgorCisjOiBidWlsdGluL2xvZy5jOjE2NDQKK21zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgorbXNnc3RyICJpbml6aWEgYSBudW1lcmFyZSBsZSBwYXRjaCBkYSA8bj4gYW56aWNow6kgZGEgMSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjQ2Cittc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgorbXNnc3RyICJjb250cmFzc2VnbmEgbGEgc2VyaWUgY29tZSBsJ24tZXNpbWEgdmVyc2lvbmUgcmV2aXNpb25hdGEiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY0OAorbXNnaWQgIlVzZSBbUkZDIFBBVENIXSBpbnN0ZWFkIG9mIFtQQVRDSF0iCittc2dzdHIgIlVzYSBbUkZDIFBBVENIXSBhbnppY2jDqSBbUEFUQ0hdIgorCisjOiBidWlsdGluL2xvZy5jOjE2NTEKK21zZ2lkICJjb3Zlci1mcm9tLWRlc2NyaXB0aW9uLW1vZGUiCittc2dzdHIgIm1vZG8tbGV0dGVyYS1kYS1kZXNjcml6aW9uZSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjUyCittc2dpZCAiZ2VuZXJhdGUgcGFydHMgb2YgYSBjb3ZlciBsZXR0ZXIgYmFzZWQgb24gYSBicmFuY2gncyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiIgorImdlbmVyYSBwYXJ0aSBkaSB1bmEgbGV0dGVyYSBkJ2FjY29tcGFnbmFtZW50byBiYXNhbmRvc2kgc3VsbGEgZGVzY3JpemlvbmUgZGkiCisiIHVuIGJyYW5jaCIKKworIzogYnVpbHRpbi9sb2cuYzoxNjU0Cittc2dpZCAiVXNlIFs8cHJlZml4Pl0gaW5zdGVhZCBvZiBbUEFUQ0hdIgorbXNnc3RyICJVc2EgWzxwcmVmaXNzbz5dIGFuemljaMOpIFtQQVRDSF0iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY1NworbXNnaWQgInN0b3JlIHJlc3VsdGluZyBmaWxlcyBpbiA8ZGlyPiIKK21zZ3N0ciAic2FsdmEgaSBmaWxlIHJpc3VsdGFudGkgaW4gPGRpcj4iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY2MAorbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgorbXNnc3RyICJub24gZWxpbWluYXJlL2FnZ2l1bmdlcmUgW1BBVENIXSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjYzCittc2dpZCAiZG9uJ3Qgb3V0cHV0IGJpbmFyeSBkaWZmcyIKK21zZ3N0ciAibm9uIG1hbmRhcmUgaW4gb3V0cHV0IGRpZmYgYmluYXJpIgorCisjOiBidWlsdGluL2xvZy5jOjE2NjUKK21zZ2lkICJvdXRwdXQgYWxsLXplcm8gaGFzaCBpbiBGcm9tIGhlYWRlciIKK21zZ3N0ciAibWFuZGEgaW4gb3V0cHV0IHVuIGhhc2ggY29zdGl0dWl0byBkYSBzb2xpIHplcmkgbmVsbCdpbnRlc3RhemlvbmUgRnJvbSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjY3Cittc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgorbXNnc3RyICJub24gaW5jbHVkZXJlIHVuYSBwYXRjaCBjb3JyaXNwb25kZW50ZSBhIHVuIGNvbW1pdCB1cHN0cmVhbSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjY5Cittc2dpZCAic2hvdyBwYXRjaCBmb3JtYXQgaW5zdGVhZCBvZiBkZWZhdWx0IChwYXRjaCArIHN0YXQpIgorbXNnc3RyICIiCisidmlzdWFsaXp6YSBpbCBmb3JtYXRvIGRlbGxhIHBhdGNoIGFuemljaMOpIGwnaW1wb3N0YXppb25lIHByZWRlZmluaXRhIChwYXRjaCAiCisiKyBzdGF0KSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjcxCittc2dpZCAiTWVzc2FnaW5nIgorbXNnc3RyICJNZXNzYWdnaXN0aWNhIgorCisjOiBidWlsdGluL2xvZy5jOjE2NzIKK21zZ2lkICJoZWFkZXIiCittc2dzdHIgImludGVzdGF6aW9uZSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjczCittc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKK21zZ3N0ciAiYWdnaXVuZ2kgaW50ZXN0YXppb25lIGUtbWFpbCIKKworIzogYnVpbHRpbi9sb2cuYzoxNjc0IGJ1aWx0aW4vbG9nLmM6MTY3NgorbXNnaWQgImVtYWlsIgorbXNnc3RyICJlLW1haWwiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3NAorbXNnaWQgImFkZCBUbzogaGVhZGVyIgorbXNnc3RyICJhZ2dpdW5naSBpbnRlc3RhemlvbmUgQToiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3NgorbXNnaWQgImFkZCBDYzogaGVhZGVyIgorbXNnc3RyICJhZ2dpdW5naSBpbnRlc3RhemlvbmUgQ2M6IgorCisjOiBidWlsdGluL2xvZy5jOjE2NzgKK21zZ2lkICJpZGVudCIKK21zZ3N0ciAiaWRlbnRpdMOgIgorCisjOiBidWlsdGluL2xvZy5jOjE2NzkKK21zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgorbXNnc3RyICIiCisiaW1wb3N0YSBsJ2luZGlyaXp6byBEYSBhIDxpZGVudGl0w6A+IChvIGFsbCdpZGVudGl0w6AgZGkgY2hpIGhhIGNyZWF0byBpbCAiCisiY29tbWl0IHNlIGFzc2VudGUpIgorCisjOiBidWlsdGluL2xvZy5jOjE2ODEKK21zZ2lkICJtZXNzYWdlLWlkIgorbXNnc3RyICJJRCBtZXNzYWdnaW8iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY4MgorbXNnaWQgIm1ha2UgZmlyc3QgbWFpbCBhIHJlcGx5IHRvIDxtZXNzYWdlLWlkPiIKK21zZ3N0ciAicmVuZGkgbGEgcHJpbWEgZS1tYWlsIHVuYSByaXNwb3N0YSBhIDxJRCBtZXNzYWdnaW8+IgorCisjOiBidWlsdGluL2xvZy5jOjE2ODMgYnVpbHRpbi9sb2cuYzoxNjg2Cittc2dpZCAiYm91bmRhcnkiCittc2dzdHIgImRlbGltaXRhdG9yZSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjg0Cittc2dpZCAiYXR0YWNoIHRoZSBwYXRjaCIKK21zZ3N0ciAiYWxsZWdhIGxhIHBhdGNoIgorCisjOiBidWlsdGluL2xvZy5jOjE2ODcKK21zZ2lkICJpbmxpbmUgdGhlIHBhdGNoIgorbXNnc3RyICJpbmNsdWRpIGxhIHBhdGNoIG5lbCBtZXNzYWdnaW8iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5MQorbXNnaWQgImVuYWJsZSBtZXNzYWdlIHRocmVhZGluZywgc3R5bGVzOiBzaGFsbG93LCBkZWVwIgorbXNnc3RyICIiCisiYWJpbGl0YSBpbCByYWdncnVwcGFtZW50byBtZXNzYWdnaSBwZXIgY29udmVyc2F6aW9uZSwgc3RpbGk6IHN1cGVyZmljaWFsZSwgIgorInByb2ZvbmRvIgorCisjOiBidWlsdGluL2xvZy5jOjE2OTMKK21zZ2lkICJzaWduYXR1cmUiCittc2dzdHIgImZpcm1hIgorCisjOiBidWlsdGluL2xvZy5jOjE2OTQKK21zZ2lkICJhZGQgYSBzaWduYXR1cmUiCittc2dzdHIgImFnZ2l1bmdpIHVuYSBmaXJtYSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjk1Cittc2dpZCAiYmFzZS1jb21taXQiCittc2dzdHIgImNvbW1pdCBkaSBiYXNlIgorCisjOiBidWlsdGluL2xvZy5jOjE2OTYKK21zZ2lkICJhZGQgcHJlcmVxdWlzaXRlIHRyZWUgaW5mbyB0byB0aGUgcGF0Y2ggc2VyaWVzIgorbXNnc3RyICIiCisiYWdnaXVuZ2kgbGUgaW5mb3JtYXppb25pIHByZXJlcXVpc2l0byBwZXIgbCdhbGJlcm8gYWxsYSBzZXJpZSBkZWxsZSBwYXRjaCIKKworIzogYnVpbHRpbi9sb2cuYzoxNjk4Cittc2dpZCAiYWRkIGEgc2lnbmF0dXJlIGZyb20gYSBmaWxlIgorbXNnc3RyICJhZ2dpdW5naSB1bmEgZmlybWEgZGEgZmlsZSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjk5Cittc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKK21zZ3N0ciAibm9uIHN0YW1wYXJlIGkgbm9taSBmaWxlIGRlbGxlIHBhdGNoIgorCisjOiBidWlsdGluL2xvZy5jOjE3MDEKK21zZ2lkICJzaG93IHByb2dyZXNzIHdoaWxlIGdlbmVyYXRpbmcgcGF0Y2hlcyIKK21zZ3N0ciAidmlzdWFsaXp6YSBsJ2F2YW56YW1lbnRvIGRlbGwnb3BlcmF6aW9uZSBkaSBnZW5lcmF6aW9uZSBwYXRjaCIKKworIzogYnVpbHRpbi9sb2cuYzoxNzAzCittc2dpZCAic2hvdyBjaGFuZ2VzIGFnYWluc3QgPHJldj4gaW4gY292ZXIgbGV0dGVyIG9yIHNpbmdsZSBwYXRjaCIKK21zZ3N0ciAiIgorInZpc3VhbGl6emEgbGUgbW9kaWZpY2hlIHJpc3BldHRvIGEgPHJldmlzaW9uZT4gbmVsbGEgbGV0dGVyYSBkaSAiCisiYWNjb21wYWduYW1lbnRvIG8gaW4gdW5hIHBhdGNoIHNpbmdvbGEiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTcwNgorbXNnaWQgInNob3cgY2hhbmdlcyBhZ2FpbnN0IDxyZWZzcGVjPiBpbiBjb3ZlciBsZXR0ZXIgb3Igc2luZ2xlIHBhdGNoIgorbXNnc3RyICIiCisidmlzdWFsaXp6YSBsZSBtb2RpZmljaGUgcmlzcGV0dG8gYSA8c3BlY2lmaWNhdG9yZSByZXZpc2lvbmU+IG5lbGxhIGxldHRlcmEgIgorImRpIGFjY29tcGFnbmFtZW50byBvIGluIHVuYSBwYXRjaCBzaW5nb2xhIgorCisjOiBidWlsdGluL2xvZy5jOjE3MDgKK21zZ2lkICJwZXJjZW50YWdlIGJ5IHdoaWNoIGNyZWF0aW9uIGlzIHdlaWdodGVkIgorbXNnc3RyICJwZXJjZW50dWFsZSBpbiBiYXNlIGEgY3VpIHZpZW5lIHBlc2F0YSBsYSBjcmVhemlvbmUiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTc5MgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIgorbXNnc3RyICJyaWdhIGlkZW50IG5vbiB2YWxpZGE6ICVzIgorCisjOiBidWlsdGluL2xvZy5jOjE4MDcKK21zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAibGUgb3B6aW9uaSAtbiBlIC1rIHNvbm8gbXV0dWFtZW50ZSBlc2NsdXNpdmUiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTgwOQorbXNnaWQgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgImxlIG9wemlvbmkgLS1zdWJqZWN0LXByZWZpeC8tLXJmYyBlIC1rIHNvbm8gbXV0dWFtZW50ZSBlc2NsdXNpdmUiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTgxNwogbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1vbmx5IG5vbiBoYSBzZW5zbyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjEwCisjOiBidWlsdGluL2xvZy5jOjE4MTkKIG1zZ2lkICItLW5hbWUtc3RhdHVzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1zdGF0dXMgbm9uIGhhIHNlbnNvIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTgyMQogbXNnaWQgIi0tY2hlY2sgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1jaGVjayBub24gaGEgc2Vuc28iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTIzNQorIzogYnVpbHRpbi9sb2cuYzoxODU0CiBtc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCiBtc2dzdHIgInN0YW5kYXJkIG91dHB1dCwgbyBkaXJlY3RvcnksIHF1YWxlIGRlaSBkdWU/IgogCi0jOiBidWlsdGluL2xvZy5jOjEyMzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTk1OAorbXNnaWQgIi0taW50ZXJkaWZmIHJlcXVpcmVzIC0tY292ZXItbGV0dGVyIG9yIHNpbmdsZSBwYXRjaCIKK21zZ3N0ciAiLS1pbnRlcmRpZmYgcmljaGllZGUgLS1jb3Zlci1sZXR0ZXIgbyB1bmEgc2luZ29sYSBwYXRjaCIKKworIzogYnVpbHRpbi9sb2cuYzoxOTYyCittc2dpZCAiSW50ZXJkaWZmOiIKK21zZ3N0ciAiSW50ZXJkaWZmOiIKKworIzogYnVpbHRpbi9sb2cuYzoxOTYzCiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCi1tc2dzdHIgIk5vbiDDqCBzdGF0byBwb3NzaWJpbGUgY3JlYXJlIGxhIGRpcmVjdG9yeSAnJXMnIgorbXNnaWQgIkludGVyZGlmZiBhZ2FpbnN0IHYlZDoiCittc2dzdHIgIkludGVyZGlmZiByaXNwZXR0byBhbGxhIHZlcnNpb25lICVkOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzkwCi1tc2dpZCAiRmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCi1tc2dzdHIgIkNyZWF6aW9uZSBkZWkgZmlsZSBkaSBvdXRwdXQgbm9uIHJpdXNjaXRhIgorIzogYnVpbHRpbi9sb2cuYzoxOTY5Cittc2dpZCAiLS1jcmVhdGlvbi1mYWN0b3IgcmVxdWlyZXMgLS1yYW5nZS1kaWZmIgorbXNnc3RyICItLWNyZWF0aW9uLWZhY3RvciByaWNoaWVkZSAtLXJhbmdlLWRpZmYiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ5NAorIzogYnVpbHRpbi9sb2cuYzoxOTczCittc2dpZCAiLS1yYW5nZS1kaWZmIHJlcXVpcmVzIC0tY292ZXItbGV0dGVyIG9yIHNpbmdsZSBwYXRjaCIKK21zZ3N0ciAiLS1yYW5nZS1kaWZmIHJpY2hpZWRlIC0tY292ZXItbGV0dGVyIG8gdW5hIHNpbmdvbGEgcGF0Y2giCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTk4MQorbXNnaWQgIlJhbmdlLWRpZmY6IgorbXNnc3RyICJSYW5nZS1kaWZmOiIKKworIzogYnVpbHRpbi9sb2cuYzoxOTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJhbmdlLWRpZmYgYWdhaW5zdCB2JWQ6IgorbXNnc3RyICJSYW5nZS1kaWZmIHJpc3BldHRvIGFsbGEgdmVyc2lvbmUgJWQ6IgorCisjOiBidWlsdGluL2xvZy5jOjE5OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgc2lnbmF0dXJlIGZpbGUgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSBpbCBmaWxlIGZpcm1hICclcyciCisKKyM6IGJ1aWx0aW4vbG9nLmM6MjAyOQorbXNnaWQgIkdlbmVyYXRpbmcgcGF0Y2hlcyIKK21zZ3N0ciAiR2VuZXJhemlvbmUgZGVsbGUgcGF0Y2ggaW4gY29yc28iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MjA3MworbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgorbXNnc3RyICJjcmVhemlvbmUgZGVpIGZpbGUgZGkgb3V0cHV0IG5vbiByaXVzY2l0YSIKKworIzogYnVpbHRpbi9sb2cuYzoyMTMyCittc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCittc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPHVwc3RyZWFtPiBbPGhlYWQ+IFs8bGltaXRlPl1dXSIKKworIzogYnVpbHRpbi9sb2cuYzoyMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgZmluZCBhIHRyYWNrZWQgcmVtb3RlIGJyYW5jaCwgcGxlYXNlIHNwZWNpZnkgPHVwc3RyZWFtPiBtYW51YWxseS5cbiIKIG1zZ3N0ciAiIgorIkltcG9zc2liaWxlIHRyb3ZhcmUgdW4gYnJhbmNoIHJlbW90byB0cmFjY2lhdG8sIHNwZWNpZmljYSA8dXBzdHJlYW0+ICIKKyJtYW51YWxtZW50ZS5cbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTEwIGJ1aWx0aW4vbG9nLmM6MTUxMiBidWlsdGluL2xvZy5jOjE1MjQKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo0NzAKK21zZ2lkICJnaXQgbHMtZmlsZXMgWzxvcHRpb25zPl0gWzxmaWxlPi4uLl0iCittc2dzdHIgImdpdCBscy1maWxlcyBbPG9wemlvbmk+XSBbPGZpbGU+Li4uXSIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNgorbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCittc2dzdHIgImlkZW50aWZpY2EgbG8gc3RhdG8gZGVsIGZpbGUgY29uIGkgdGFnIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI4Cittc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCittc2dzdHIgInVzYSBsZXR0ZXJlIG1pbnVzY29sZSBwZXIgaSBmaWxlIGNoZSBzaSAnYXNzdW1vbm8gbm9uIG1vZGlmaWNhdGknIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTMwCittc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnZnNtb25pdG9yIGNsZWFuJyBmaWxlcyIKK21zZ3N0ciAidXNhIGxldHRlcmUgbWludXNjb2xlIHBlciBpIGZpbGUgJ2ZzbW9uaXRvciBjbGVhbiciCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzIKK21zZ2lkICJzaG93IGNhY2hlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IChkZWZhdWx0KSIKK21zZ3N0ciAidmlzdWFsaXp6YSBmaWxlIGluIGNhY2hlIG5lbGwnb3V0cHV0IChpbXBvc3RhemlvbmUgcHJlZGVmaW5pdGEpIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM0Cittc2dpZCAic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCittc2dzdHIgInZpc3VhbGl6emEgZmlsZSBlbGltaW5hdGkgbmVsbCdvdXRwdXQiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzYKK21zZ2lkICJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCittc2dzdHIgInZpc3VhbGl6emEgZmlsZSBtb2RpZmljYXRpIG5lbGwnb3V0cHV0IgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM4Cittc2dpZCAic2hvdyBvdGhlciBmaWxlcyBpbiB0aGUgb3V0cHV0IgorbXNnc3RyICJ2aXN1YWxpenphIGFsdHJpIGZpbGUgbmVsbCdvdXRwdXQiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDAKK21zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKK21zZ3N0ciAidmlzdWFsaXp6YSBmaWxlIGlnbm9yYXRpIG5lbGwnb3V0cHV0IgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQzCittc2dpZCAic2hvdyBzdGFnZWQgY29udGVudHMnIG9iamVjdCBuYW1lIGluIHRoZSBvdXRwdXQiCittc2dzdHIgIiIKKyJ2aXN1YWxpenphIGlsIG5vbWUgZGVsbCdvZ2dldHRvIFwiY29udGVudXRpIG5lbGwnYXJlYSBkaSBzdGFnaW5nXCIgIgorIm5lbGwnb3V0cHV0IgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ1Cittc2dpZCAic2hvdyBmaWxlcyBvbiB0aGUgZmlsZXN5c3RlbSB0aGF0IG5lZWQgdG8gYmUgcmVtb3ZlZCIKK21zZ3N0ciAidmlzdWFsaXp6YSBpIGZpbGUgbmVsIGZpbGVzeXN0ZW0gY2hlIGRldm9ubyBlc3NlcmUgcmltb3NzaSIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NworbXNnaWQgInNob3cgJ290aGVyJyBkaXJlY3RvcmllcycgbmFtZXMgb25seSIKK21zZ3N0ciAidmlzdWFsaXp6YSBzb2xvIGkgbm9taSBkZWxsZSBkaXJlY3RvcnkgJ2FsdHJvJyIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OQorbXNnaWQgInNob3cgbGluZSBlbmRpbmdzIG9mIGZpbGVzIgorbXNnc3RyICJ2aXN1YWxpenphIGkgZmluZSByaWdhIGRlaSBmaWxlIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUxCittc2dpZCAiZG9uJ3Qgc2hvdyBlbXB0eSBkaXJlY3RvcmllcyIKK21zZ3N0ciAibm9uIHZpc3VhbGl6emFyZSBsZSBkaXJlY3RvcnkgdnVvdGUiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTQKK21zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCittc2dzdHIgInZpc3VhbGl6emEgZmlsZSBub24gc290dG9wb3N0aSBhIG1lcmdlIG5lbGwnb3V0cHV0IgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU2Cittc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCittc2dzdHIgInZpc3VhbGl6emEgaW5mb3JtYXppb25pIHJlc29sdmUtdW5kbyIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1OAorbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKK21zZ3N0ciAic2FsdGEgaSBmaWxlIGNvcnJpc3BvbmRlbnRpIGEgXCJlc3ByZXNzaW9uZSByZWdvbGFyZVwiIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTYxCittc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKK21zZ3N0ciAibGUgZXNwcmVzc2lvbmkgcmVnb2xhcmkgZGkgZXNjbHVzaW9uZSBzb25vIGxldHRlIGRhIDxmaWxlPiIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NAorbXNnaWQgInJlYWQgYWRkaXRpb25hbCBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgcGF0dGVybnMgaW4gPGZpbGU+IgorbXNnc3RyICIiCisibGVnZ2kgZXNwcmVzc2lvbmkgcmVnb2xhcmkgZGkgZXNjbHVzaW9uZSBhZ2dpdW50aXZlIHNwZWNpZmljaGUgcGVyIGRpcmVjdG9yeSAiCisiZGEgPGZpbGU+IgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY2Cittc2dpZCAiYWRkIHRoZSBzdGFuZGFyZCBnaXQgZXhjbHVzaW9ucyIKK21zZ3N0ciAiYWdnaXVuZ2kgbGUgZXNjbHVzaW9uaSBzdGFuZGFyZCBkaSBHaXQiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzAKK21zZ2lkICJtYWtlIHRoZSBvdXRwdXQgcmVsYXRpdmUgdG8gdGhlIHByb2plY3QgdG9wIGRpcmVjdG9yeSIKK21zZ3N0ciAicmVuZGkgbCdvdXRwdXQgcmVsYXRpdm8gYWxsYSBkaXJlY3RvcnkgcmFkaWNlIGRlbCBwcm9nZXR0byIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU3MworbXNnaWQgInJlY3Vyc2UgdGhyb3VnaCBzdWJtb2R1bGVzIgorbXNnc3RyICJlc2VndWkgcmljb3JzaXZhbWVudGUgc3VpIHNvdHRvbW9kdWxpIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc1Cittc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgorbXNnc3RyICJzZSBkZWkgPGZpbGU+IG5vbiBzb25vIG5lbGwnaW5kaWNlLCBjb25zaWRlcmFsbyB1biBlcnJvcmUiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzYKK21zZ2lkICJ0cmVlLWlzaCIKK21zZ3N0ciAiZXNwcmVzc2lvbmUgYWxiZXJvIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc3Cittc2dpZCAicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIKK21zZ3N0ciAiIgorImZpbmdpIGNoZSBpIHBlcmNvcnNpIHJpbW9zc2kgZGEgPGVzcHJlc3Npb25lIGFsYmVybz4gaW4gcG9pIHNpYW5vIGFuY29yYSAiCisicHJlc2VudGkiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzkKK21zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgorbXNnc3RyICJ2aXN1YWxpenphIGluZm9ybWF6aW9uaSBkaSBkZWJ1ZyIKKworIzogYnVpbHRpbi9scy1yZW1vdGUuYzo5Cittc2dpZCAiIgorImdpdCBscy1yZW1vdGUgWy0taGVhZHNdIFstLXRhZ3NdIFstLXJlZnNdIFstLXVwbG9hZC1wYWNrPTxleGVjPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICBbLXEgfCAtLXF1aWV0XSBbLS1leGl0LWNvZGVdIFstLWdldC11cmxdXG4iCisiICAgICAgICAgICAgICAgICAgICAgWy0tc3ltcmVmXSBbPHJlcG9zaXRvcnk+IFs8cmVmcz4uLi5dXSIKK21zZ3N0ciAiIgorImdpdCBscy1yZW1vdGUgWy0taGVhZHNdIFstLXRhZ3NdIFstLXJlZnNdIFstLXVwbG9hZC1wYWNrPTxlc2VndWliaWxlPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICBbLXEgfCAtLXF1aWV0XSBbLS1leGl0LWNvZGVdIFstLWdldC11cmxdXG4iCisiICAgICAgICAgICAgICAgICAgICAgWy0tc3ltcmVmXSBbPHJlcG9zaXRvcnk+IFs8cmlmZXJpbWVudGk+Li4uXV0iCisKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NTkKK21zZ2lkICJkbyBub3QgcHJpbnQgcmVtb3RlIFVSTCIKK21zZ3N0ciAibm9uIHN0YW1wYXJlIGwnVVJMIGRlbCByZW1vdG8iCisKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjAgYnVpbHRpbi9scy1yZW1vdGUuYzo2MiBidWlsdGluL3JlYmFzZS5jOjE1MTgKK21zZ2lkICJleGVjIgorbXNnc3RyICJlc2VndWliaWxlIgorCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjYxIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjMKK21zZ2lkICJwYXRoIG9mIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIGhvc3QiCittc2dzdHIgInBlcmNvcnNvIGRpIGdpdC11cGxvYWQtcGFjayBzdWxsJ2hvc3QgcmVtb3RvIgorCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjY1Cittc2dpZCAibGltaXQgdG8gdGFncyIKK21zZ3N0ciAibGltaXRhdGkgYWkgdGFnIgorCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjY2Cittc2dpZCAibGltaXQgdG8gaGVhZHMiCittc2dzdHIgImxpbWl0YXRpIGFsbGUgaGVhZCIKKworIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2NworbXNnaWQgImRvIG5vdCBzaG93IHBlZWxlZCB0YWdzIgorbXNnc3RyICJub24gdmlzdWFsaXp6YXJlIGkgdGFnIHJpbW9zc2kiCisKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjkKK21zZ2lkICJ0YWtlIHVybC48YmFzZT4uaW5zdGVhZE9mIGludG8gYWNjb3VudCIKK21zZ3N0ciAidGllbmkgaW4gY29uc2lkZXJhemlvbmUgdXJsLjxiYXNlPi5pbnN0ZWFkT2YiCisKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzIKK21zZ2lkICJleGl0IHdpdGggZXhpdCBjb2RlIDIgaWYgbm8gbWF0Y2hpbmcgcmVmcyBhcmUgZm91bmQiCittc2dzdHIgIiIKKyJlc2NpIGNvbiBjb2RpY2UgZCd1c2NpdGEgMiBzZSBub24gc29ubyBzdGF0aSB0cm92YXRpIHJpZmVyaW1lbnRpICIKKyJjb3JyaXNwb25kZW50aSIKKworIzogYnVpbHRpbi9scy1yZW1vdGUuYzo3NQorbXNnaWQgInNob3cgdW5kZXJseWluZyByZWYgaW4gYWRkaXRpb24gdG8gdGhlIG9iamVjdCBwb2ludGVkIGJ5IGl0IgorbXNnc3RyICJ2aXN1YWxpenphIHJpZmVyaW1lbnRvIHNvdHRvc3RhbnRlIG9sdHJlIGFsbCdvZ2dldHRvIGEgY3VpIHB1bnRhIgorCisjOiBidWlsdGluL2xzLXRyZWUuYzozMAorbXNnaWQgImdpdCBscy10cmVlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCittc2dzdHIgImdpdCBscy10cmVlIFs8b3B6aW9uaT5dIDxlc3ByZXNzaW9uZSBhbGJlcm8+IFs8cGVyY29yc28+Li4uXSIKKworIzogYnVpbHRpbi9scy10cmVlLmM6MTI4Cittc2dpZCAib25seSBzaG93IHRyZWVzIgorbXNnc3RyICJ2aXN1YWxpenphIHNvbG8gYWxiZXJpIgorCisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzAKK21zZ2lkICJyZWN1cnNlIGludG8gc3VidHJlZXMiCittc2dzdHIgImVzZWd1aSByaWNvcnNpdmFtZW50ZSBuZWkgc290dG9hbGJlcmkiCisKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMgorbXNnaWQgInNob3cgdHJlZXMgd2hlbiByZWN1cnNpbmciCittc2dzdHIgInZpc3VhbGl6emEgZ2xpIGFsYmVyaSBkdXJhbnRlIGxhIHJpY29yc2lvbmUiCisKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNQorbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIGJ5dGUiCittc2dzdHIgInRlcm1pbmEgbGUgdm9jaSBjb24gdW4gYnl0ZSBOVUwiCisKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNgorbXNnaWQgImluY2x1ZGUgb2JqZWN0IHNpemUiCittc2dzdHIgImluY2x1ZGkgZGltZW5zaW9uaSBvZ2dldHRvIgorCisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzggYnVpbHRpbi9scy10cmVlLmM6MTQwCittc2dpZCAibGlzdCBvbmx5IGZpbGVuYW1lcyIKK21zZ3N0ciAiZWxlbmNhIHNvbG8gaSBub21pIGZpbGUiCisKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MworbXNnaWQgInVzZSBmdWxsIHBhdGggbmFtZXMiCittc2dzdHIgInVzYSBub21pIHBlcmNvcnNvIGNvbXBsZXRpIgorCisjOiBidWlsdGluL2xzLXRyZWUuYzoxNDUKK21zZ2lkICJsaXN0IGVudGlyZSB0cmVlOyBub3QganVzdCBjdXJyZW50IGRpcmVjdG9yeSAoaW1wbGllcyAtLWZ1bGwtbmFtZSkiCittc2dzdHIgIiIKKyJlbGVuY2EgbCdpbnRlcm8gYWxiZXJvOyBub24gc29sbyBsYSBkaXJlY3RvcnkgY29ycmVudGUgKGltcGxpY2EgLS1mdWxsLW5hbWUpIgorCisjOiBidWlsdGluL21haWxzcGxpdC5jOjI0MQogIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKLW1zZ3N0ciAiQ29tbWl0ICVzIHNjb25vc2NpdXRvIgorbXNnaWQgImVtcHR5IG1ib3g6ICclcyciCittc2dzdHIgIm1ib3ggdnVvdGE6ICclcyciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MAorIzogYnVpbHRpbi9tZXJnZS5jOjU1Cittc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIFs8Y29tbWl0Pi4uLl0iCittc2dzdHIgImdpdCBtZXJnZSBbPG9wemlvbmk+XSBbPGNvbW1pdD4uLi5dIgorCisjOiBidWlsdGluL21lcmdlLmM6NTYKK21zZ2lkICJnaXQgbWVyZ2UgLS1hYm9ydCIKK21zZ3N0ciAiZ2l0IG1lcmdlIC0tYWJvcnQiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1NworbXNnaWQgImdpdCBtZXJnZSAtLWNvbnRpbnVlIgorbXNnc3RyICJnaXQgbWVyZ2UgLS1jb250aW51ZSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjExOAogbXNnaWQgInN3aXRjaCBgbScgcmVxdWlyZXMgYSB2YWx1ZSIKIG1zZ3N0ciAibG8gc3dpdGNoICdtJyByaWNoaWVkZSB1biB2YWxvcmUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgcmVxdWlyZXMgYSB2YWx1ZSIKK21zZ3N0ciAibCdvcHppb25lIGAlcycgcmljaGllZGUgdW4gdmFsb3JlIgorCisjOiBidWlsdGluL21lcmdlLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIG1lcmdlIHN0cmF0ZWd5ICclcycuXG4iCiBtc2dzdHIgIk5vbiDDqCBzdGF0byBwb3NzaWJpbGUgdHJvdmFyZSBsYSBzdHJhdGVnaWEgZGkgbWVyZ2UgJyVzJy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyOAorIzogYnVpbHRpbi9tZXJnZS5jOjE4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdmFpbGFibGUgc3RyYXRlZ2llcyBhcmU6IgogbXNnc3RyICJMZSBzdHJhdGVnaWUgZGlzcG9uaWJpbGkgc29ubzoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIkxlIHN0cmF0ZWdpZSBwZXJzb25hbGl6emF0ZSBkaXNwb25pYmlsaSBzb25vOiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI0MAorIzogYnVpbHRpbi9tZXJnZS5jOjI0NCBidWlsdGluL3B1bGwuYzoxNTIKK21zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgorbXNnc3RyICJub24gdmlzdWFsaXp6YXJlIHVuIGRpZmZzdGF0IGFsIHRlcm1pbmUgZGVsIG1lcmdlIgorCisjOiBidWlsdGluL21lcmdlLmM6MjQ3IGJ1aWx0aW4vcHVsbC5jOjE1NQorbXNnaWQgInNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKK21zZ3N0ciAidmlzdWFsaXp6YSB1biBkaWZmc3RhdCBhbCB0ZXJtaW5lIGRlbCBtZXJnZSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI0OCBidWlsdGluL3B1bGwuYzoxNTgKK21zZ2lkICIoc3lub255bSB0byAtLXN0YXQpIgorbXNnc3RyICIoc2lub25pbW8gZGkgLS1zdGF0KSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI1MCBidWlsdGluL3B1bGwuYzoxNjEKK21zZ2lkICJhZGQgKGF0IG1vc3QgPG4+KSBlbnRyaWVzIGZyb20gc2hvcnRsb2cgdG8gbWVyZ2UgY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgIiIKKyJhZ2dpdW5naSAoYWwgcGnDuSA8bj4pIHZvY2kgZGFsIHJlZ2lzdHJvIGJyZXZlIGFsIG1lc3NhZ2dpbyBkaSBjb21taXQgZGVsICIKKyJtZXJnZSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI1MyBidWlsdGluL3B1bGwuYzoxNjcKK21zZ2lkICJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIKK21zZ3N0ciAiY3JlYSB1biBzaW5nb2xvIGNvbW1pdCBhbnppY2jDqSBlc2VndWlyZSB1biBtZXJnZSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI1NSBidWlsdGluL3B1bGwuYzoxNzAKK21zZ2lkICJwZXJmb3JtIGEgY29tbWl0IGlmIHRoZSBtZXJnZSBzdWNjZWVkcyAoZGVmYXVsdCkiCittc2dzdHIgImVzZWd1aSB1biBjb21taXQgc2UgaWwgbWVyZ2UgaGEgc3VjY2Vzc28gKGltcG9zdGF6aW9uZSBwcmVkZWZpbml0YSkiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTcgYnVpbHRpbi9wdWxsLmM6MTczCittc2dpZCAiZWRpdCBtZXNzYWdlIGJlZm9yZSBjb21taXR0aW5nIgorbXNnc3RyICJtb2RpZmljYSBpbCBtZXNzYWdnaW8gcHJpbWEgZGkgZXNlZ3VpcmUgaWwgY29tbWl0IgorCisjOiBidWlsdGluL21lcmdlLmM6MjU5Cittc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIKK21zZ3N0ciAiY29uc2VudGkgZmFzdCBmb3J3YXJkIChpbXBvc3RhemlvbmUgcHJlZGVmaW5pdGEpIgorCisjOiBidWlsdGluL21lcmdlLmM6MjYxIGJ1aWx0aW4vcHVsbC5jOjE4MAorbXNnaWQgImFib3J0IGlmIGZhc3QtZm9yd2FyZCBpcyBub3QgcG9zc2libGUiCittc2dzdHIgImludGVycm9tcGkgc2UgaWwgZmFzdCBmb3J3YXJkIG5vbiDDqCBwb3NzaWJpbGUiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjUgYnVpbHRpbi9wdWxsLmM6MTgzCittc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgorbXNnc3RyICJ2ZXJpZmljYSBjaGUgaWwgY29tbWl0IHNwZWNpZmljYXRvIGFiYmlhIHVuYSBmaXJtYSBHUEcgdmFsaWRhIgorCisjOiBidWlsdGluL21lcmdlLmM6MjY2IGJ1aWx0aW4vbm90ZXMuYzo3ODcgYnVpbHRpbi9wdWxsLmM6MTg3CisjOiBidWlsdGluL3JlYmFzZS5jOjUxMiBidWlsdGluL3JlYmFzZS5jOjE1MzEgYnVpbHRpbi9yZXZlcnQuYzoxMTQKK21zZ2lkICJzdHJhdGVneSIKK21zZ3N0ciAic3RyYXRlZ2lhIgorCisjOiBidWlsdGluL21lcmdlLmM6MjY3IGJ1aWx0aW4vcHVsbC5jOjE4OAorbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIKK21zZ3N0ciAic3RyYXRlZ2lhIGRpIG1lcmdlIGRhIHVzYXJlIgorCisjOiBidWlsdGluL21lcmdlLmM6MjY4IGJ1aWx0aW4vcHVsbC5jOjE5MQorbXNnaWQgIm9wdGlvbj12YWx1ZSIKK21zZ3N0ciAib3B6aW9uZT12YWxvcmUiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjkgYnVpbHRpbi9wdWxsLmM6MTkyCittc2dpZCAib3B0aW9uIGZvciBzZWxlY3RlZCBtZXJnZSBzdHJhdGVneSIKK21zZ3N0ciAib3B6aW9uZSBwZXIgbGEgc3RyYXRlZ2lhIGRpIG1lcmdlIHNlbGV6aW9uYXRhIgorCisjOiBidWlsdGluL21lcmdlLmM6MjcxCittc2dpZCAibWVyZ2UgY29tbWl0IG1lc3NhZ2UgKGZvciBhIG5vbi1mYXN0LWZvcndhcmQgbWVyZ2UpIgorbXNnc3RyICJtZXNzYWdnaW8gZGkgY29tbWl0IGRlbCBtZXJnZSAocGVyIHVuIG1lcmdlIG5vbiBmYXN0IGZvcndhcmQpIgorCisjOiBidWlsdGluL21lcmdlLmM6Mjc4Cittc2dpZCAiYWJvcnQgdGhlIGN1cnJlbnQgaW4tcHJvZ3Jlc3MgbWVyZ2UiCittc2dzdHIgImludGVycm9tcGkgaWwgbWVyZ2UgYXR0dWFsbWVudGUgaW4gY29yc28iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODAKK21zZ2lkICItLWFib3J0IGJ1dCBsZWF2ZSBpbmRleCBhbmQgd29ya2luZyB0cmVlIGFsb25lIgorbXNnc3RyICJlc2VndWkgLS1hYm9ydCBtYSBtYW50aWVuaSBpbW11dGF0aSBsJ2luZGljZSBlIGwnYWxiZXJvIGRpIGxhdm9ybyIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI4MgorbXNnaWQgImNvbnRpbnVlIHRoZSBjdXJyZW50IGluLXByb2dyZXNzIG1lcmdlIgorbXNnc3RyICJjb250aW51YSBpbCBtZXJnZSBhdHR1YWxtZW50ZSBpbiBjb3JzbyIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI4NCBidWlsdGluL3B1bGwuYzoxOTkKK21zZ2lkICJhbGxvdyBtZXJnaW5nIHVucmVsYXRlZCBoaXN0b3JpZXMiCittc2dzdHIgImNvbnNlbnRpIGRpIHVuaXJlIGNyb25vbG9naWUgbm9uIGNvcnJlbGF0ZSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI5MAorbXNnaWQgImJ5cGFzcyBwcmUtbWVyZ2UtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIgorbXNnc3RyICJpZ25vcmEgZ2xpIGhvb2sgcHJlLW1lcmdlLWNvbW1pdCBlIGNvbW1pdC1tc2ciCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMDcKIG1zZ2lkICJjb3VsZCBub3QgcnVuIHN0YXNoLiIKIG1zZ3N0ciAibm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBlc2VndWlyZSBzdGFzaC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMTIKIG1zZ2lkICJzdGFzaCBmYWlsZWQiCiBtc2dzdHIgImVzZWN1emlvbmUgZGkgc3Rhc2ggbm9uIHJpdXNjaXRhIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjUwCisjOiBidWlsdGluL21lcmdlLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdDogJXMiCiBtc2dzdHIgIm5vbiDDqCB1biBvZ2dldHRvIHZhbGlkbzogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjkgYnVpbHRpbi9tZXJnZS5jOjI4NgorIzogYnVpbHRpbi9tZXJnZS5jOjMzOSBidWlsdGluL21lcmdlLmM6MzU2CiBtc2dpZCAicmVhZC10cmVlIGZhaWxlZCIKIG1zZ3N0ciAicmVhZC10cmVlIG5vbiByaXVzY2l0byIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjMxNgorIzogYnVpbHRpbi9tZXJnZS5jOjM4NgogbXNnaWQgIiAobm90aGluZyB0byBzcXVhc2gpIgotbXNnc3RyICIiCittc2dzdHIgIiAobnVsbGEgZGkgY3VpIGVzZWd1aXJlIGxvIHNxdWFzaCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozMjkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgotbXNnc3RyICIiCittc2dzdHIgIkNvbW1pdCBkaSBzcXVhc2ggLS0gbm9uIGFnZ2lvcm5vIEhFQURcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM2MQotbXNnaWQgIldyaXRpbmcgU1FVQVNIX01TRyIKLW1zZ3N0ciAiU2NyaXR0dXJhIGRpIFNRVUFTSF9NU0ciCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNjMKLW1zZ2lkICJGaW5pc2hpbmcgU1FVQVNIX01TRyIKLW1zZ3N0ciAiQ29tcGxldGFtZW50byBkaSBTUVVBU0hfTVNHIgotCi0jOiBidWlsdGluL21lcmdlLmM6Mzg2CisjOiBidWlsdGluL21lcmdlLmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIG1lc3NhZ2UgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKIG1zZ3N0ciAiTmVzc3VuIG1lc3NhZ2dpbyBkaSBtZXJnZSAtLSBIRUFEIG5vbiB2aWVuZSBhZ2dpb3JuYXRvXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo0MzcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGNvbW1pdCIKIG1zZ3N0ciAiJyVzJyBub24gcHVudGEgYWQgdW4gY29tbWl0IgogCi0jOiBidWlsdGluL21lcmdlLmM6NTM2CisjOiBidWlsdGluL21lcmdlLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBicmFuY2guJXMubWVyZ2VvcHRpb25zIHN0cmluZzogJXMiCiBtc2dzdHIgIlN0cmluZ2EgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyBlcnJhdGE6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NjI5Ci1tc2dpZCAiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL21lcmdlLmM6Njc5Ci1tc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGNhY2hlIgotbXNnc3RyICJsZXR0dXJhIGRlbGxhIGNhY2hlIG5vbiByaXVzY2l0YSIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjY5NwotbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCi1tc2dzdHIgIkltcG9zc2liaWxlIHNjcml2ZXJlIGluZGV4LiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjcxMAorIzogYnVpbHRpbi9tZXJnZS5jOjcwNQogbXNnaWQgIk5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiTm9uIGdlc3Rpc2NvIG51bGxhIGNoZSBub24gc2lhIGlsIG1lcmdlIGRpIGR1ZSBoZWFkLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjcyNAorIzogYnVpbHRpbi9tZXJnZS5jOjcxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIG9wdGlvbiBmb3IgbWVyZ2UtcmVjdXJzaXZlOiAtWCVzIgotbXNnc3RyICJPcHppb25lIHBlciBtZXJnZS1yZWN1cnNpdmUgc2Nvbm9zY2l1dGE6IC1YJXMiCittc2dzdHIgIk9wemlvbmUgc2Nvbm9zY2l1dGEgcGVyIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjczOAorIzogYnVpbHRpbi9tZXJnZS5jOjczNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCi1tc2dzdHIgIm5vbiDDqCBwb3NzaWJpbGUgc2NyaXZlcmUgJXMiCittc2dzdHIgImltcG9zc2liaWxlIHNjcml2ZXJlICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODc3CisjOiBidWlsdGluL21lcmdlLmM6Nzg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIGZyb20gJyVzJyIKIG1zZ3N0ciAiTm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBsZWdnZXJlIGRhICclcyciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4ODYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGNvbW1pdHRpbmcgbWVyZ2U7IHVzZSAnZ2l0IGNvbW1pdCcgdG8gY29tcGxldGUgdGhlIG1lcmdlLlxuIgogbXNnc3RyICIiCisiTm9uIGVzZWd1byBpbCBjb21taXQgZGVsIG1lcmdlOyB1c2EgJ2dpdCBjb21taXQnIHBlciBjb21wbGV0YXJlIGlsIG1lcmdlLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODkyCisjOiBidWlsdGluL21lcmdlLmM6ODAxCiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciBhIGNvbW1pdCBtZXNzYWdlIHRvIGV4cGxhaW4gd2h5IHRoaXMgbWVyZ2UgaXMgbmVjZXNzYXJ5LFxuIgogImVzcGVjaWFsbHkgaWYgaXQgbWVyZ2VzIGFuIHVwZGF0ZWQgdXBzdHJlYW0gaW50byBhIHRvcGljIGJyYW5jaC5cbiIKICJcbiIKLSJMaW5lcyBzdGFydGluZyB3aXRoICcjJyB3aWxsIGJlIGlnbm9yZWQsIGFuZCBhbiBlbXB0eSBtZXNzYWdlIGFib3J0c1xuIgorbXNnc3RyICIiCisiSW5zZXJpc2NpIHVuIG1lc3NhZ2dpbyBkaSBjb21taXQgcGVyIHNwaWVnYXJlIHBlcmNow6kgw6ggbmVjZXNzYXJpb1xuIgorInF1ZXN0byBtZXJnZSwgaW4gcGFydGljb2xhcmUgc2Ugc2kgZXNlZ3VlIGlsIG1lcmdlIGRpIHVuIHVwc3RyZWFtXG4iCisiYWdnaW9ybmF0byBpbiB1biB0b3BpYyBicmFuY2guXG4iCisiXG4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDYKK21zZ2lkICJBbiBlbXB0eSBtZXNzYWdlIGFib3J0cyB0aGUgY29tbWl0LlxuIgorbXNnc3RyICJVbiBtZXNzYWdnaW8gdnVvdG8gaW50ZXJyb21wZXLDoCBpbCBjb21taXQuXG4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQsIGFuZCBhbiBlbXB0eSBtZXNzYWdlIGFib3J0c1xuIgogInRoZSBjb21taXQuXG4iCiBtc2dzdHIgIiIKKyJMZSByaWdoZSBjaGUgaW5pemlhbm8gY29uICclYycgc2FyYW5ubyBpZ25vcmF0ZSBlIHVuIG1lc3NhZ2dpbyB2dW90b1xuIgorImludGVycm9tcGVyw6AgaWwgY29tbWl0LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTE2CisjOiBidWlsdGluL21lcmdlLmM6ODYyCiBtc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgogbXNnc3RyICJNZXNzYWdnaW8gZGkgY29tbWl0IHZ1b3RvLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkyOAorIzogYnVpbHRpbi9tZXJnZS5jOjg3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJXb25kZXJmdWwuXG4iCiBtc2dzdHIgIlNwbGVuZGlkby5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk5MworIzogYnVpbHRpbi9tZXJnZS5jOjkzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2UgZmFpbGVkOyBmaXggY29uZmxpY3RzIGFuZCB0aGVuIGNvbW1pdCB0aGUgcmVzdWx0LlxuIgogbXNnc3RyICIiCi0iTWVyZ2UgYXV0b21hdGljbyBmYWxsaXRvOyByaXNvbHZpIGkgY29uZmxpdHRpIGVkIGVzZWd1aXJlIGlsIGNvbW1pdFxuIgorIk1lcmdlIGF1dG9tYXRpY28gZmFsbGl0bzsgcmlzb2x2aSBpIGNvbmZsaXR0aSBlZCBlc2VndWkgaWwgY29tbWl0XG4iCiAiZGVsIHJpc3VsdGF0by5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwMDkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQiCi1tc2dzdHIgIiclcycgbm9uIMOoIHVuIGNvbW1pdCIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEwNTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzcKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIk5lc3N1biBicmFuY2ggY29ycmVudGUuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTA1MgorIzogYnVpbHRpbi9tZXJnZS5jOjk3OQogbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiTmVzc3VuIHJlbW90ZSBwZXIgaWwgYnJhbmNoIGNvcnJlbnRlLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEwNTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5ODEKIG1zZ2lkICJObyBkZWZhdWx0IHVwc3RyZWFtIGRlZmluZWQgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIk5lc3N1biB1cHN0cmVhbSBkaSBkZWZhdWx0IGRlZmluaXRvIHBlciBpbCBicmFuY2ggY29ycmVudGUuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTA1OQorIzogYnVpbHRpbi9tZXJnZS5jOjk4NgogIywgYy1mb3JtYXQKLW1zZ2lkICJObyByZW1vdGUgdHJhY2tpbmcgYnJhbmNoIGZvciAlcyBmcm9tICVzIgotbXNnc3RyICIiCittc2dpZCAiTm8gcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBmb3IgJXMgZnJvbSAlcyIKK21zZ3N0ciAiTmVzc3VuIGJyYW5jaCBjaGUgdHJhY2NpIHVuIHJlbW90byBwZXIgJXMgZGEgJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTQ2IGJ1aWx0aW4vbWVyZ2UuYzoxMzAzCisjOiBidWlsdGluL21lcmdlLmM6MTA0MworIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgdmFsdWUgJyVzJyBpbiBlbnZpcm9ubWVudCAnJXMnIgorbXNnc3RyICJWYWxvcmUgZXJyYXRvICclcycgbmVsbCdhbWJpZW50ZSAnJXMnIgorCisjOiBidWlsdGluL21lcmdlLmM6MTE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCittc2dzdHIgIm5vbiDDqCBxdWFsY29zYSBkaSBjdWkgcG9zc2lhbW8gZXNlZ3VpcmUgaWwgbWVyZ2UgaW4gJXM6ICVzIgorCisjOiBidWlsdGluL21lcmdlLmM6MTE4MAorbXNnaWQgIm5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgorbXNnc3RyICJub24gw6ggcXVhbGNvc2EgZGkgY3VpIHBvc3NpYW1vIGVzZWd1aXJlIGlsIG1lcmdlIgorCisjOiBidWlsdGluL21lcmdlLmM6MTI4MworbXNnaWQgIi0tYWJvcnQgZXhwZWN0cyBubyBhcmd1bWVudHMiCittc2dzdHIgIi0tYWJvcnQgbm9uIHJpY2hpZWRlIGFyZ29tZW50aSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEyODcKK21zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSB0byBhYm9ydCAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCittc2dzdHIgIk5vbiBjJ8OoIG5lc3N1biBtZXJnZSBkYSBpbnRlcnJvbXBlcmUgKE1FUkdFX0hFQUQgbWFuY2FudGUpLiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEyOTYKK21zZ2lkICItLXF1aXQgZXhwZWN0cyBubyBhcmd1bWVudHMiCittc2dzdHIgIi0tcXVpdCBub24gcmljaGllZGUgYXJnb21lbnRpIgorCisjOiBidWlsdGluL21lcmdlLmM6MTMwOQorbXNnaWQgIi0tY29udGludWUgZXhwZWN0cyBubyBhcmd1bWVudHMiCittc2dzdHIgIi0tY29udGludWUgbm9uIHJpY2hpZWRlIGFyZ29tZW50aSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEzMTMKK21zZ2lkICJUaGVyZSBpcyBubyBtZXJnZSBpbiBwcm9ncmVzcyAoTUVSR0VfSEVBRCBtaXNzaW5nKS4iCittc2dzdHIgIk5vbiBjJ8OoIG5lc3N1biBtZXJnZSBpbiBjb3JzbyAoTUVSR0VfSEVBRCBtYW5jYW50ZSkuIgorCisjOiBidWlsdGluL21lcmdlLmM6MTMyOQorbXNnaWQgIiIKKyJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbWVyZ2UgKE1FUkdFX0hFQUQgZXhpc3RzKS5cbiIKKyJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCittc2dzdHIgIiIKKyJOb24gaGFpIGNvbmNsdXNvIGlsIG1lcmdlIChNRVJHRV9IRUFEIGVzaXN0ZSkuXG4iCisiRXNlZ3VpIGlsIGNvbW1pdCBkZWxsZSBtb2RpZmljaGUgcHJpbWEgZGkgZXNlZ3VpcmUgaWwgbWVyZ2UuIgorCisjOiBidWlsdGluL21lcmdlLmM6MTMzNgorbXNnaWQgIiIKKyJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS5cbiIKKyJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCittc2dzdHIgIiIKKyJOb24gaGFpIGNvbmNsdXNvIGlsIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGVzaXN0ZSkuXG4iCisiRXNlZ3VpIGlsIGNvbW1pdCBkZWxsZSBtb2RpZmljaGUgcHJpbWEgZGkgZXNlZ3VpcmUgaWwgbWVyZ2UuIgorCisjOiBidWlsdGluL21lcmdlLmM6MTMzOQorbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLiIKK21zZ3N0ciAiSWwgY2hlcnJ5LXBpY2sgbm9uIMOoIHN0YXRvIGNvbmNsdXNvIChDSEVSUllfUElDS19IRUFEIGVzaXN0ZSkuIgorCisjOiBidWlsdGluL21lcmdlLmM6MTM1MworbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tbm8tZmYuIgorbXNnc3RyICJOb24gw6ggcG9zc2liaWxlIGNvbWJpbmFyZSAtLXNxdWFzaCBjb24gLS1uby1mZi4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzU1Cittc2dpZCAiWW91IGNhbm5vdCBjb21iaW5lIC0tc3F1YXNoIHdpdGggLS1jb21taXQuIgorbXNnc3RyICJOb24gw6ggcG9zc2liaWxlIGNvbWJpbmFyZSAtLXNxdWFzaCBjb24gLS1jb21taXQuIgorCisjOiBidWlsdGluL21lcmdlLmM6MTM3MQorbXNnaWQgIk5vIGNvbW1pdCBzcGVjaWZpZWQgYW5kIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIG5vdCBzZXQuIgorbXNnc3RyICJOZXNzdW4gY29tbWl0IHNwZWNpZmljYXRvIGUgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm9uIGltcG9zdGF0by4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzg4Cittc2dpZCAiU3F1YXNoIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQgbm90IHN1cHBvcnRlZCB5ZXQiCittc2dzdHIgIkxvIHNxdWFzaCBkaSB1biBjb21taXQgaW4gdW4naGVhZCB2dW90YSBub24gw6ggYW5jb3JhIHN1cHBvcnRhdG8iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzkwCittc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCittc2dzdHIgIlVuIGNvbW1pdCBub24gZmFzdCBmb3J3YXJkIG5vbiBoYSBzZW5zbyBpbiB1bidoZWFkIHZ1b3RhIgorCisjOiBidWlsdGluL21lcmdlLmM6MTM5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICIlcyAtIG5vbiDDqCBxdWFsY29zYSBwZXIgY3VpIHBvc3NpYW1vIGVzZWd1aXJlIGlsIG1lcmdlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTIxNAotbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIHRvIGFib3J0IChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKLW1zZ3N0ciAiTm9uIGMnw6ggbmVzc3VuIG1lcmdlIGRhIGludGVycm9tcGVyZSAobWFuY2EgTUVSR0VfSEVBRCkiCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjMwIGdpdC1wdWxsLnNoOjMxCi1tc2dpZCAiIgotIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLlxuIgotIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IGNhbiBtZXJnZS4iCi1tc2dzdHIgIiIKLSJJbCBtZXJnZSBub24gw6ggc3RhdG8gY29uY2x1c28gKGVzaXN0ZSBNRVJHRV9IRUFEKS5cbiIKLSJQZXIgZmF2b3JlLCBlc2VndWkgaWwgY29tbWl0IGRlbGxlIG1vZGlmaWNoZSBwcmltYSBkZWwgbWVyZ2UuIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTIzMyBnaXQtcHVsbC5zaDozNAotbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLiIKLW1zZ3N0ciAiSWwgbWVyZ2Ugbm9uIMOoIHN0YXRvIGNvbmNsdXNvIChlc2lzdGUgTUVSR0VfSEVBRCkuIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTIzNwotbXNnaWQgIiIKLSJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS5cbiIKLSJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBjYW4gbWVyZ2UuIgotbXNnc3RyICIiCi0iSWwgY2hlcnJ5LXBpY2sgbm9uIMOoIHN0YXRvIGNvbmNsdXNvIChlc2lzdGUgQ0hFUlJZX1BJQ0tfSEVBRCkuXG4iCi0iUGVyIGZhdm9yZSwgZXNlZ3VpIGlsIGNvbW1pdCBkZWxsZSBtb2RpZmljaGUgcHJpbWEgZGVsIG1lcmdlLiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDAKLW1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCi1tc2dzdHIgIklsIHR1byBjaGVycnktcGljayBub24gw6ggc3RhdG8gY29uY2x1c28gKENIRVJSWV9QSUNLX0hFQUQgZXNpc3RlKS4iCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjQ5Ci1tc2dpZCAiWW91IGNhbm5vdCBjb21iaW5lIC0tc3F1YXNoIHdpdGggLS1uby1mZi4iCi1tc2dzdHIgIkltcG9zc2liaWxlIGNvbWJpbmFyZSAtLXNxdWFzaCBjb24gLS1uby1vZmYuIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTI1NAotbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLW5vLWZmIHdpdGggLS1mZi1vbmx5LiIKLW1zZ3N0ciAiSW1wb3NzaWJpbGUgY29tYmluYXJlIC0tbm8tZmYgY29uIC0tZmYtb25seS4iCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjYxCi1tc2dpZCAiTm8gY29tbWl0IHNwZWNpZmllZCBhbmQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm90IHNldC4iCi1tc2dzdHIgIk5lc3N1biBjb21taXQgc3BlY2lmaWNhdG8gZSBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBub24gZGVmaW5pdG8uIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTI5MworIzogYnVpbHRpbi9tZXJnZS5jOjEzOTcKIG1zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgotbXNnc3RyICIiCittc2dzdHIgIlNpIHB1w7IgZXNlZ3VpcmUgc29sbyBpbCBtZXJnZSBkaSB1bm8gZSB1biBzb2xvIGNvbW1pdCBpbiB1bidoZWFkIHZ1b3RhIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI5NgotbXNnaWQgIlNxdWFzaCBjb21taXQgaW50byBlbXB0eSBoZWFkIG5vdCBzdXBwb3J0ZWQgeWV0IgotbXNnc3RyICIiCisjOiBidWlsdGluL21lcmdlLmM6MTQ3NgorbXNnaWQgInJlZnVzaW5nIHRvIG1lcmdlIHVucmVsYXRlZCBoaXN0b3JpZXMiCittc2dzdHIgIm1pIHJpZml1dG8gZGkgZXNlZ3VpcmUgaWwgbWVyZ2UgZGkgY3Jvbm9sb2dpZSBub24gY29ycmVsYXRlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI5OAotbXNnaWQgIk5vbi1mYXN0LWZvcndhcmQgY29tbWl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW50byBhbiBlbXB0eSBoZWFkIgotbXNnc3RyICIiCisjOiBidWlsdGluL21lcmdlLmM6MTQ4NQorbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZS4iCittc2dzdHIgIkdpw6AgYWdnaW9ybmF0by4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDEzCisjOiBidWlsdGluL21lcmdlLmM6MTQ5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGluZyAlcy4uJXNcbiIKIG1zZ3N0ciAiQWdnaW9ybmFtZW50byBkaSAlcy4uJXNcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgotbXNnc3RyICIiCittc2dzdHIgIlByb3ZvIGNvbiB1biBtZXJnZSB2ZXJhbWVudGUgYmFuYWxlIGRlbnRybyBsJ2luZGljZS4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ1OAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm9wZS5cbiIKIG1zZ3N0ciAiTm8uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDkwCi1tc2dpZCAiTm90IHBvc3NpYmxlIHRvIGZhc3QtZm9yd2FyZCwgYWJvcnRpbmcuIgotbXNnc3RyICJGYXN0LWZvcndhcmQgbm9uIHBvc3NpYmlsZSwgc3RvcC4iCisjOiBidWlsdGluL21lcmdlLmM6MTU2OQorbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZS4gWWVlYWghIgorbXNnc3RyICJHacOgIGFnZ2lvcm5hdG8uIE9oIHPDrCEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTEzIGJ1aWx0aW4vbWVyZ2UuYzoxNTkyCisjOiBidWlsdGluL21lcmdlLmM6MTU3NQorbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKK21zZ3N0ciAiRmFzdCBmb3J3YXJkIG5vbiBwb3NzaWJpbGUsIGludGVycm9tcG8gbCdvcGVyYXppb25lLiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE1OTggYnVpbHRpbi9tZXJnZS5jOjE2NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiUmlwcmlzdGlubyBsJ2FsYmVybyBpbiB1bm8gc3RhdG8gcHVsaXRvLi4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTE3CisjOiBidWlsdGluL21lcmdlLmM6MTYwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgbWVyZ2Ugc3RyYXRlZ3kgJXMuLi5cbiIKIG1zZ3N0ciAiVGVudGF0aXZvIGNvbiBsYSBzdHJhdGVnaWEgZGkgbWVyZ2UgJXMuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1ODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIHN0cmF0ZWd5IGhhbmRsZWQgdGhlIG1lcmdlLlxuIgogbXNnc3RyICJOZXNzdW5hIHN0cmF0ZWdpYSBkaSBtZXJnZSBoYSBnZXN0aXRvIGlsIG1lcmdlLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU4NQorIzogYnVpbHRpbi9tZXJnZS5jOjE2NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2Ugd2l0aCBzdHJhdGVneSAlcyBmYWlsZWQuXG4iCiBtc2dzdHIgIk1lcmdlIGNvbiBsYSBzdHJhdGVnaWEgJXMgZmFsbGl0by5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1OTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzaW5nIHRoZSAlcyB0byBwcmVwYXJlIHJlc29sdmluZyBieSBoYW5kLlxuIgotbXNnc3RyICIiCittc2dzdHIgIlVzbyAlcyBwZXIgcHJlcGFyYXJlIHVuYSByaXNvbHV6aW9uZSBtYW51YWxlLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYwNgorIzogYnVpbHRpbi9tZXJnZS5jOjE2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIHdlbnQgd2VsbDsgc3RvcHBlZCBiZWZvcmUgY29tbWl0dGluZyBhcyByZXF1ZXN0ZWRcbiIKIG1zZ3N0ciAiIgogIklsIG1lcmdlIGF1dG9tYXRpY28gw6ggYW5kYXRvIGEgYnVvbiBmaW5lOyBmZXJtYXRvIHByaW1hIGRlbCBjb21taXQgY29tZSAiCiAicmljaGllc3RvXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMDgKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMyCittc2dpZCAiZ2l0IG1lcmdlLWJhc2UgWy1hIHwgLS1hbGxdIDxjb21taXQ+IDxjb21taXQ+Li4uIgorbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSBbLWEgfCAtLWFsbF0gPGNvbW1pdD4gPGNvbW1pdD4uLi4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMzCittc2dpZCAiZ2l0IG1lcmdlLWJhc2UgWy1hIHwgLS1hbGxdIC0tb2N0b3B1cyA8Y29tbWl0Pi4uLiIKK21zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgWy1hIHwgLS1hbGxdIC0tb2N0b3B1cyA8Y29tbWl0Pi4uLiIKKworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzQKK21zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWluZGVwZW5kZW50IDxjb21taXQ+Li4uIgorbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWluZGVwZW5kZW50IDxjb21taXQ+Li4uIgorCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozNQorbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPGNvbW1pdD4gPGNvbW1pdD4iCittc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPGNvbW1pdD4gPGNvbW1pdD4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjM2Cittc2dpZCAiZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IDxyZWY+IFs8Y29tbWl0Pl0iCittc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmlmZXJpbWVudG8+IFs8Y29tbWl0Pl0iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjE1MworbXNnaWQgIm91dHB1dCBhbGwgY29tbW9uIGFuY2VzdG9ycyIKK21zZ3N0ciAibWFuZGEgaW4gb3V0cHV0IHR1dHRpIGdsaSBhbnRlbmF0aSBjb211bmkiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjE1NQorbXNnaWQgImZpbmQgYW5jZXN0b3JzIGZvciBhIHNpbmdsZSBuLXdheSBtZXJnZSIKK21zZ3N0ciAidHJvdmEgZ2xpIGFudGVuYXRpIHBlciB1biBzaW5nb2xvIG1lcmdlIGEgbiB2aWUiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjE1NworbXNnaWQgImxpc3QgcmV2cyBub3QgcmVhY2hhYmxlIGZyb20gb3RoZXJzIgorbXNnc3RyICJlbGVuY2EgbGUgcmV2aXNpb25pIG5vbiByYWdnaXVuZ2liaWxpIGRhbGxlIGFsdHJlIgorCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoxNTkKK21zZ2lkICJpcyB0aGUgZmlyc3Qgb25lIGFuY2VzdG9yIG9mIHRoZSBvdGhlcj8iCittc2dzdHIgImlsIHByaW1vIGFyZ29tZW50byDDqCBhbnRlbmF0byBkZWxsJ2FsdHJvPyIKKworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MTYxCittc2dpZCAiZmluZCB3aGVyZSA8Y29tbWl0PiBmb3JrZWQgZnJvbSByZWZsb2cgb2YgPHJlZj4iCittc2dzdHIgIiIKKyJ0cm92YSBpbCBwdW50byBkaSBmb3JrIGRpIDxjb21taXQ+IGRhbCByZWdpc3RybyBkZWkgcmlmZXJpbWVudGkgZGkgIgorIjxyaWZlcmltZW50bz4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjkKK21zZ2lkICIiCisiZ2l0IG1lcmdlLWZpbGUgWzxvcHRpb25zPl0gWy1MIDxuYW1lMT4gWy1MIDxvcmlnPiBbLUwgPG5hbWUyPl1dXSA8ZmlsZTE+ICIKKyI8b3JpZy1maWxlPiA8ZmlsZTI+IgorbXNnc3RyICIiCisiZ2l0IG1lcmdlLWZpbGUgWzxvcHppb25pPl0gWy1MIDxub21lMT4gWy1MIDxvcmlnaW5hbGU+IFstTCA8bm9tZTI+XV1dICIKKyI8ZmlsZTE+IDxmaWxlIG9yaWdpbmFsZT4gPGZpbGUyPiIKKworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6MzUKK21zZ2lkICJzZW5kIHJlc3VsdHMgdG8gc3RhbmRhcmQgb3V0cHV0IgorbXNnc3RyICJpbnZpYSBpIHJpc3VsdGF0aSBhbGxvIHN0YW5kYXJkIG91dHB1dCIKKworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6MzYKK21zZ2lkICJ1c2UgYSBkaWZmMyBiYXNlZCBtZXJnZSIKK21zZ3N0ciAidXNhIHVuIG1lcmdlIGJhc2F0byBzdSBkaWZmMyIKKworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6MzcKK21zZ2lkICJmb3IgY29uZmxpY3RzLCB1c2Ugb3VyIHZlcnNpb24iCittc2dzdHIgInBlciBpIGNvbmZsaXR0aSwgdXNhIGxhIG5vc3RyYSB2ZXJzaW9uZSIKKworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6MzkKK21zZ2lkICJmb3IgY29uZmxpY3RzLCB1c2UgdGhlaXIgdmVyc2lvbiIKK21zZ3N0ciAicGVyIGkgY29uZmxpdHRpLCB1c2EgbGEgbG9ybyB2ZXJzaW9uZSIKKworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6NDEKK21zZ2lkICJmb3IgY29uZmxpY3RzLCB1c2UgYSB1bmlvbiB2ZXJzaW9uIgorbXNnc3RyICJwZXIgaSBjb25mbGl0dGksIHVzYSB1bmEgdmVyc2lvbmUgdW5pdGEiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0Cittc2dpZCAiZm9yIGNvbmZsaWN0cywgdXNlIHRoaXMgbWFya2VyIHNpemUiCittc2dzdHIgInBlciBpIGNvbmZsaXR0aSwgdXNhIHF1ZXN0YSBkaW1lbnNpb25lIGRlaSBjb250cmFzc2VnbmkiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ1Cittc2dpZCAiZG8gbm90IHdhcm4gYWJvdXQgY29uZmxpY3RzIgorbXNnc3RyICJub24gZW1ldHRlcmUgYXZ2aXNpIGluIGNhc28gZGkgY29uZmxpdHRpIgorCisjOiBidWlsdGluL21lcmdlLWZpbGUuYzo0NworbXNnaWQgInNldCBsYWJlbHMgZm9yIGZpbGUxL29yaWctZmlsZS9maWxlMiIKK21zZ3N0ciAiaW1wb3N0YSBldGljaGV0dGUgcGVyIGZpbGUxL2ZpbGUgb3JpZ2luYWxlL2ZpbGUyIgorCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uICVzIgorbXNnc3RyICJvcHppb25lIHNjb25vc2NpdXRhICVzIgorCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSBsJ29nZ2V0dG8gJyVzJyIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCBiYXNlLiBJZ25vcmluZyAlcy4iCittc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2VzLiBJZ25vcmluZyAlcy4iCittc2dzdHJbMF0gImltcG9zc2liaWxlIGdlc3RpcmUgcGnDuSBkaSAlZCBiYXNlLiBJZ25vcm8gJXMuIgorbXNnc3RyWzFdICJpbXBvc3NpYmlsZSBnZXN0aXJlIHBpw7kgZGkgJWQgYmFzaS4gSWdub3JvICVzLiIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2NQorbXNnaWQgIm5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCittc2dzdHIgIm5vbiBnZXN0aXNjbyBudWxsYSBjaGUgbm9uIHNpYSBpbCBtZXJnZSBkaSBkdWUgaGVhZC4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzQgYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSByZWYgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmlzb2x2ZXJlIGlsIHJpZmVyaW1lbnRvICclcyciCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVyZ2luZyAlcyB3aXRoICVzXG4iCittc2dzdHIgIk1lcmdlIGRpICVzIGNvbiAlcyBpbiBjb3Jzb1xuIgorCisjOiBidWlsdGluL21rdHJlZS5jOjY2Cittc2dpZCAiZ2l0IG1rdHJlZSBbLXpdIFstLW1pc3NpbmddIFstLWJhdGNoXSIKK21zZ3N0ciAiZ2l0IG1rdHJlZSBbLXpdIFstLW1pc3NpbmddIFstLWJhdGNoXSIKKworIzogYnVpbHRpbi9ta3RyZWUuYzoxNTQKK21zZ2lkICJpbnB1dCBpcyBOVUwgdGVybWluYXRlZCIKK21zZ3N0ciAibCdpbnB1dCDDqCB0ZXJtaW5hdG8gZGEgTlVMIgorCisjOiBidWlsdGluL21rdHJlZS5jOjE1NSBidWlsdGluL3dyaXRlLXRyZWUuYzoyNgorbXNnaWQgImFsbG93IG1pc3Npbmcgb2JqZWN0cyIKK21zZ3N0ciAiY29uc2VudGkgb2dnZXR0aSBtYW5jYW50aSIKKworIzogYnVpbHRpbi9ta3RyZWUuYzoxNTYKK21zZ2lkICJhbGxvdyBjcmVhdGlvbiBvZiBtb3JlIHRoYW4gb25lIHRyZWUiCittc2dzdHIgImNvbnNlbnRpIGxhIGNyZWF6aW9uZSBkaSBwacO5IGRpIHVuIGFsYmVybyIKKworIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6OQorbXNnaWQgIiIKKyJnaXQgbXVsdGktcGFjay1pbmRleCBbPG9wdGlvbnM+XSAod3JpdGV8dmVyaWZ5fGV4cGlyZXxyZXBhY2sgLS1iYXRjaC0iCisic2l6ZT08c2l6ZT4pIgorbXNnc3RyICIiCisiZ2l0IG11bHRpLXBhY2staW5kZXggWzxvcHppb25pPl0gKHdyaXRlfHZlcmlmeXxleHBpcmV8cmVwYWNrIC0tYmF0Y2gtc2l6ZT08IgorImRpbWVuc2lvbmU+KSIKKworIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MjYKK21zZ2lkICJvYmplY3QgZGlyZWN0b3J5IGNvbnRhaW5pbmcgc2V0IG9mIHBhY2tmaWxlIGFuZCBwYWNrLWluZGV4IHBhaXJzIgorbXNnc3RyICIiCisiZGlyZWN0b3J5IG9nZ2V0dGkgY29udGVuZW50ZSB1biBpbnNpZW1lIGRpIGNvcHBpZSBwYWNrZmlsZSBlIHBhY2staW5kZXgiCisKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjI5Cittc2dpZCAiIgorImR1cmluZyByZXBhY2ssIGNvbGxlY3QgcGFjay1maWxlcyBvZiBzbWFsbGVyIHNpemUgaW50byBhIGJhdGNoIHRoYXQgaXMgIgorImxhcmdlciB0aGFuIHRoaXMgc2l6ZSIKK21zZ3N0ciAiIgorImR1cmFudGUgaWwgcmVwYWNrLCByYWNjb2dsaSBpIGZpbGUgcGFjayBkaSBkaW1lbnNpb25pIHBpw7kgcGljY29sZSBpbiB1biAiCisiZ3J1cHBvIHBpw7kgZ3JhbmRlIGRpIHF1ZXN0ZSBkaW1lbnNpb25pIgorCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo1MCBidWlsdGluL3BydW5lLXBhY2tlZC5jOjY3Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICJ0cm9wcGkgYXJnb21lbnRpIgorCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo2MAorbXNnaWQgIi0tYmF0Y2gtc2l6ZSBvcHRpb24gaXMgb25seSBmb3IgJ3JlcGFjaycgc3ViY29tbWFuZCIKK21zZ3N0ciAibCdvcHppb25lIC0tYmF0Y2gtc2l6ZSDDqCBjb25zZW50aXRhIHNvbG8gcGVyIGlsIHNvdHRvY29tYW5kbyAncmVwYWNrJyIKKworIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1YmNvbW1hbmQ6ICVzIgorbXNnc3RyICJzb3R0b2NvbWFuZG8gc2Nvbm9zY2l1dG86ICVzIgorCisjOiBidWlsdGluL212LmM6MTgKK21zZ2lkICJnaXQgbXYgWzxvcHRpb25zPl0gPHNvdXJjZT4uLi4gPGRlc3RpbmF0aW9uPiIKK21zZ3N0ciAiZ2l0IG12IFs8b3B6aW9uaT5dIDxzb3JnZW50ZT4uLi4gPGRlc3RpbmF6aW9uZT4iCisKKyM6IGJ1aWx0aW4vbXYuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCittc2dzdHIgIkxhIGRpcmVjdG9yeSAlcyDDqCBuZWxsJ2luZGljZSBlIG5vbiDDqCBzcGVjaWZpY2F0byB1biBzb3R0b21vZHVsbz8iCisKKyM6IGJ1aWx0aW4vbXYuYzo4NQorbXNnaWQgIlBsZWFzZSBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgorbXNnc3RyICIiCisiRXNlZ3VpIGxvIHN0YWdlIGRlbGxlIG1vZGlmaWNoZSBhIC5naXRtb2R1bGVzIG8gZXNlZ3VpbmUgbG8gc3Rhc2ggcGVyICIKKyJwcm9jZWRlcmUiCisKKyM6IGJ1aWx0aW4vbXYuYzoxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS4qcyBpcyBpbiBpbmRleCIKK21zZ3N0ciAiJS4qcyDDqCBuZWxsJ2luZGljZSIKKworIzogYnVpbHRpbi9tdi5jOjEyNQorbXNnaWQgImZvcmNlIG1vdmUvcmVuYW1lIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKK21zZ3N0ciAiZm9yemEgc3Bvc3RhbWVudG8vcmlkZW5vbWluYXppb25lIGFuY2hlIHNlIGxhIGRlc3RpbmF6aW9uZSBlc2lzdGUiCisKKyM6IGJ1aWx0aW4vbXYuYzoxMjcKK21zZ2lkICJza2lwIG1vdmUvcmVuYW1lIGVycm9ycyIKK21zZ3N0ciAic2FsdGEgZXJyb3JpIHNwb3N0YW1lbnRvL3JpZGVub21pbmF6aW9uZSIKKworIzogYnVpbHRpbi9tdi5jOjE2OQorIywgYy1mb3JtYXQKK21zZ2lkICJkZXN0aW5hdGlvbiAnJXMnIGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAibGEgZGVzdGluYXppb25lICclcycgbm9uIMOoIHVuYSBkaXJlY3RvcnkiCisKKyM6IGJ1aWx0aW4vbXYuYzoxODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcmVuYW1lIG9mICclcycgdG8gJyVzJ1xuIgotbXNnc3RyICIiCittc2dzdHIgIkNvbnRyb2xsbyBsYSByaWRlbm9taW5hemlvbmUgZGkgJyVzJyBpbiAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTIKKyM6IGJ1aWx0aW4vbXYuYzoxODQKIG1zZ2lkICJiYWQgc291cmNlIgotbXNnc3RyICIiCittc2dzdHIgInNvdXJnZW50ZSBlcnJhdGEiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMTUKKyM6IGJ1aWx0aW4vbXYuYzoxODcKIG1zZ2lkICJjYW4gbm90IG1vdmUgZGlyZWN0b3J5IGludG8gaXRzZWxmIgogbXNnc3RyICJub24gw6ggcG9zc2liaWxlIHNwb3N0YXJlIGxhIGRpcmVjdG9yeSBpbiBzw6kgc3Rlc3NhIgogCi0jOiBidWlsdGluL212LmM6MTE4CisjOiBidWlsdGluL212LmM6MTkwCiBtc2dpZCAiY2Fubm90IG1vdmUgZGlyZWN0b3J5IG92ZXIgZmlsZSIKIG1zZ3N0ciAibm9uIMOoIHBvc3NpYmlsZSBzcG9zdGFyZSBsYSBkaXJlY3Rvcnkgc3UgdW4gZmlsZSIKIAotIzogYnVpbHRpbi9tdi5jOjEyOAotIywgYy1mb3JtYXQKLW1zZ2lkICJIdWg/ICUuKnMgaXMgaW4gaW5kZXg/IgotbXNnc3RyICJFaD8gJS4qcyBzaSB0cm92YSBpbiBpbmRleD8iCi0KLSM6IGJ1aWx0aW4vbXYuYzoxNDAKKyM6IGJ1aWx0aW4vbXYuYzoxOTkKIG1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgogbXNnc3RyICJsYSBkaXJlY3Rvcnkgc29yZ2VudGUgw6ggdnVvdGEiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNzEKKyM6IGJ1aWx0aW4vbXYuYzoyMjQKIG1zZ2lkICJub3QgdW5kZXIgdmVyc2lvbiBjb250cm9sIgogbXNnc3RyICJub24gw6ggc290dG8gY29udHJvbGxvIGRpIHZlcnNpb25lIgogCi0jOiBidWlsdGluL212LmM6MTczCisjOiBidWlsdGluL212LmM6MjI3CiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICJsYSBkZXN0aW5hemlvbmUgZXNpc3RlIgogCi0jOiBidWlsdGluL212LmM6MTgxCisjOiBidWlsdGluL212LmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm92ZXJ3cml0aW5nICclcyciCiBtc2dzdHIgInNvdnJhc2NyaXR0dXJhIGRpICVzIGluIGNvcnNvIgogCi0jOiBidWlsdGluL212LmM6MTg0CisjOiBidWlsdGluL212LmM6MjM4CiBtc2dpZCAiQ2Fubm90IG92ZXJ3cml0ZSIKIG1zZ3N0ciAiSW1wb3NzaWJpbGUgc292cmFzY3JpdmVyZSIKIAotIzogYnVpbHRpbi9tdi5jOjE4NworIzogYnVpbHRpbi9tdi5jOjI0MQogbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKIG1zZ3N0ciAiZm9udGkgbXVsdGlwbGUgcGVyIGxhIHN0ZXNzYSBkZXN0aW5hemlvbmUiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMDIKKyM6IGJ1aWx0aW4vbXYuYzoyNDMKK21zZ2lkICJkZXN0aW5hdGlvbiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImxhIGRpcmVjdG9yeSBkaSBkZXN0aW5hemlvbmUgbm9uIGVzaXN0ZSIKKworIzogYnVpbHRpbi9tdi5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKIG1zZ3N0ciAiJXMsIHNvcmdlbnRlPSVzLCBkZXN0aW5hemlvbmU9JXMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMTIKKyM6IGJ1aWx0aW4vbXYuYzoyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKIG1zZ3N0ciAiUmlub21pbmF6aW9uZSBkaSAlcyBpbiAlcyBpbiBjb3Jzb1xuIgogCi0jOiBidWlsdGluL212LmM6MjE1IGJ1aWx0aW4vcmVtb3RlLmM6NzMxCisjOiBidWlsdGluL212LmM6Mjc3IGJ1aWx0aW4vcmVtb3RlLmM6NzE2IGJ1aWx0aW4vcmVwYWNrLmM6NTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbmFtaW5nICclcycgZmFpbGVkIgogbXNnc3RyICJyaW5vbWluYSBkaSAnJXMnIG5vbiByaXVzY2l0YSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjEzOQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwMworbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSA8Y29tbWl0Pi4uLiIKK21zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8b3B6aW9uaT5dIDxjb21taXQ+Li4uIgorCisjOiBidWlsdGluL25hbWUtcmV2LmM6NDA0Cittc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tYWxsIgorbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxvcHppb25pPl0gLS1hbGwiCisKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDUKK21zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gLS1zdGRpbiIKK21zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8b3B6aW9uaT5dIC0tc3RkaW4iCisKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjIKK21zZ2lkICJwcmludCBvbmx5IG5hbWVzIChubyBTSEEtMSkiCittc2dzdHIgInN0YW1wYSBzb2xvIGkgbm9taSAobm9uIGxvIFNIQS0xKSIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2MworbXNnaWQgIm9ubHkgdXNlIHRhZ3MgdG8gbmFtZSB0aGUgY29tbWl0cyIKK21zZ3N0ciAidXNhIHNvbG8gdGFnIHBlciBkZW5vbWluYXJlIGkgY29tbWl0IgorCisjOiBidWlsdGluL25hbWUtcmV2LmM6NDY1Cittc2dpZCAib25seSB1c2UgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgInVzYSBzb2xvIGkgcmlmZXJpbWVudGkgY29ycmlzcG9uZGVudGkgYSA8cGF0dGVybj4iCisKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjcKK21zZ2lkICJpZ25vcmUgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgImlnbm9yYSBpIHJpZmVyaW1lbnRpIGNvcnJpc3BvbmRlbnRpIGEgPHBhdHRlcm4+IgorCisjOiBidWlsdGluL25hbWUtcmV2LmM6NDY5Cittc2dpZCAibGlzdCBhbGwgY29tbWl0cyByZWFjaGFibGUgZnJvbSBhbGwgcmVmcyIKK21zZ3N0ciAiZWxlbmNhIHR1dHRpIGkgY29tbWl0IHJhZ2dpdW5naWJpbGkgZGEgdHV0dGkgaSByaWZlcmltZW50aSIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ3MAorbXNnaWQgInJlYWQgZnJvbSBzdGRpbiIKK21zZ3N0ciAibGVnZ2kgZGFsbG8gc3RhbmRhcmQgaW5wdXQiCisKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzEKK21zZ2lkICJhbGxvdyB0byBwcmludCBgdW5kZWZpbmVkYCBuYW1lcyAoZGVmYXVsdCkiCittc2dzdHIgImNvbnNlbnRpIGRpIHN0YW1wYXJlIG5vbWkgYG5vbiBkZWZpbml0b2AgKGltcG9zdGF6aW9uZSBwcmVkZWZpbml0YSkiCisKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzcKK21zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKK21zZ3N0ciAiZGVyZWZlcmVuemlhIHRhZyBuZWxsJ2lucHV0ICh1c28gaW50ZXJubykiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyOAorbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIFtsaXN0IFs8b2JqZWN0Pl1dIgorbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDxyaWZlcmltZW50byBub3RlPl0gW2xpc3QgWzxvZ2dldHRvPl1dIgorCisjOiBidWlsdGluL25vdGVzLmM6MjkKK21zZ2lkICIiCisiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gYWRkIFstZl0gWy0tYWxsb3ctZW1wdHldIFstbSA8bXNnPiB8IC1GIDxmaWxlPiAiCisifCAoLWMgfCAtQykgPG9iamVjdD5dIFs8b2JqZWN0Pl0iCittc2dzdHIgIiIKKyJnaXQgbm90ZXMgWy0tcmVmIDxyaWZlcmltZW50byBub3RlPl0gYWRkIFstZl0gWy0tYWxsb3ctZW1wdHldIFstbSAiCisiPG1lc3NhZ2dpbz4gfCAtRiA8ZmlsZT4gfCAoLWMgfCAtQykgPG9nZ2V0dG8+XSBbPG9nZ2V0dG8+XSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjMwCittc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gY29weSBbLWZdIDxmcm9tLW9iamVjdD4gPHRvLW9iamVjdD4iCittc2dzdHIgIiIKKyJnaXQgbm90ZXMgWy0tcmVmIDxyaWZlcmltZW50byBub3RlPl0gY29weSBbLWZdIDxvZ2dldHRvIHNvcmdlbnRlPiA8b2dnZXR0byAiCisiZGVzdGluYXppb25lPiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjMxCittc2dpZCAiIgorImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGFwcGVuZCBbLS1hbGxvdy1lbXB0eV0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+IHwgIgorIigtYyB8IC1DKSA8b2JqZWN0Pl0gWzxvYmplY3Q+XSIKK21zZ3N0ciAiIgorImdpdCBub3RlcyBbLS1yZWYgPHJpZmVyaW1lbnRvIG5vdGU+XSBhcHBlbmQgWy0tYWxsb3ctZW1wdHldIFstbSA8bWVzc2FnZ2lvPiAiCisifCAtRiA8ZmlsZT4gfCAoLWMgfCAtQykgPG9nZ2V0dG8+XSBbPG9nZ2V0dG8+XSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjMyCittc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gZWRpdCBbLS1hbGxvdy1lbXB0eV0gWzxvYmplY3Q+XSIKK21zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA8cmlmZXJpbWVudG8gbm90ZT5dIGVkaXQgWy0tYWxsb3ctZW1wdHldIFs8b2dnZXR0bz5dIgorCisjOiBidWlsdGluL25vdGVzLmM6MzMKK21zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBzaG93IFs8b2JqZWN0Pl0iCittc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPHJpZmVyaW1lbnRvIG5vdGU+XSBzaG93IFs8b2dnZXR0bz5dIgorCisjOiBidWlsdGluL25vdGVzLmM6MzQKK21zZ2lkICIiCisiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gbWVyZ2UgWy12IHwgLXFdIFstcyA8c3RyYXRlZ3k+XSA8bm90ZXMtcmVmPiIKK21zZ3N0ciAiIgorImdpdCBub3RlcyBbLS1yZWYgPHJpZmVyaW1lbnRvIG5vdGU+XSBtZXJnZSBbLXYgfCAtcV0gWy1zIDxzdHJhdGVnaWE+XSAiCisiPHJpZmVyaW1lbnRvIG5vdGU+IgorCisjOiBidWlsdGluL25vdGVzLmM6MzUKK21zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWy12IHwgLXFdIgorbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWy12IHwgLXFdIgorCisjOiBidWlsdGluL25vdGVzLmM6MzYKK21zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbLXYgfCAtcV0iCittc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFstdiB8IC1xXSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjM3Cittc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gcmVtb3ZlIFs8b2JqZWN0Pi4uLl0iCittc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPHJpZmVyaW1lbnRvIG5vdGU+XSByZW1vdmUgWzxvZ2dldHRvPi4uLl0iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozOAorbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIHBydW5lIFstbl0gWy12XSIKK21zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA8cmlmZXJpbWVudG8gbm90ZT5dIHBydW5lIFstbl0gWy12XSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjM5Cittc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gZ2V0LXJlZiIKK21zZ3N0ciAiZ2l0IG5vdGVzIFstLXJlZiA8cmlmZXJpbWVudG8gbm90ZT5dIGdldC1yZWYiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NAorbXNnaWQgImdpdCBub3RlcyBbbGlzdCBbPG9iamVjdD5dXSIKK21zZ3N0ciAiZ2l0IG5vdGVzIFtsaXN0IFs8b2dnZXR0bz5dXSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjQ5Cittc2dpZCAiZ2l0IG5vdGVzIGFkZCBbPG9wdGlvbnM+XSBbPG9iamVjdD5dIgorbXNnc3RyICJnaXQgbm90ZXMgYWRkIFs8b3B6aW9uaT5dIFs8b2dnZXR0bz5dIgorCisjOiBidWlsdGluL25vdGVzLmM6NTQKK21zZ2lkICJnaXQgbm90ZXMgY29weSBbPG9wdGlvbnM+XSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgorbXNnc3RyICJnaXQgbm90ZXMgY29weSBbPG9nZ2V0dG8+XSA8b2dnZXR0byBzb3JnZW50ZT4gPG9nZ2V0dG8gZGVzdGluYXppb25lPiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjU1Cittc2dpZCAiZ2l0IG5vdGVzIGNvcHkgLS1zdGRpbiBbPGZyb20tb2JqZWN0PiA8dG8tb2JqZWN0Pl0uLi4iCittc2dzdHIgImdpdCBub3RlcyBjb3B5IC0tc3RkaW4gWzxvZ2dldHRvIHNvcmdlbnRlPiA8b2dnZXR0byBkZXN0aW5hemlvbmU+XS4uLiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjYwCittc2dpZCAiZ2l0IG5vdGVzIGFwcGVuZCBbPG9wdGlvbnM+XSBbPG9iamVjdD5dIgorbXNnc3RyICJnaXQgbm90ZXMgYXBwZW5kIFs8b3B6aW9uaT5dIFs8b2dnZXR0bz5dIgorCisjOiBidWlsdGluL25vdGVzLmM6NjUKK21zZ2lkICJnaXQgbm90ZXMgZWRpdCBbPG9iamVjdD5dIgorbXNnc3RyICJnaXQgbm90ZXMgZWRpdCBbPG9nZ2V0dG8+XSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcwCittc2dpZCAiZ2l0IG5vdGVzIHNob3cgWzxvYmplY3Q+XSIKK21zZ3N0ciAiZ2l0IG5vdGVzIHNob3cgWzxvZ2dldHRvPl0iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NQorbXNnaWQgImdpdCBub3RlcyBtZXJnZSBbPG9wdGlvbnM+XSA8bm90ZXMtcmVmPiIKK21zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIFs8b3B6aW9uaT5dIDxyaWZlcmltZW50byBub3RlPiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc2Cittc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWzxvcHppb25pPl0iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NworbXNnaWQgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbPG9wemlvbmk+XSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjgyCittc2dpZCAiZ2l0IG5vdGVzIHJlbW92ZSBbPG9iamVjdD5dIgorbXNnc3RyICJnaXQgbm90ZXMgcmVtb3ZlIFs8b2dnZXR0bz5dIgorCisjOiBidWlsdGluL25vdGVzLmM6ODcKK21zZ2lkICJnaXQgbm90ZXMgcHJ1bmUgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCBub3RlcyBwcnVuZSBbPG9wemlvbmk+XSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjkyCittc2dpZCAiZ2l0IG5vdGVzIGdldC1yZWYiCittc2dzdHIgImdpdCBub3RlcyBnZXQtcmVmIgorCisjOiBidWlsdGluL25vdGVzLmM6OTcKK21zZ2lkICJXcml0ZS9lZGl0IHRoZSBub3RlcyBmb3IgdGhlIGZvbGxvd2luZyBvYmplY3Q6IgorbXNnc3RyICJTY3JpdmkvbW9kaWZpY2EgbGUgbm90ZSBwZXIgbCdvZ2dldHRvIHNlZ3VlbnRlOiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjE1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhcnQgJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiaW1wb3NzaWJpbGUgYXZ2aWFyZSAnc2hvdycgcGVyIGwnb2dnZXR0byAnJXMnIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTQ1Ci1tc2dpZCAiY2FuJ3QgZmRvcGVuICdzaG93JyBvdXRwdXQgZmQiCi1tc2dzdHIgIiIKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxNTQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCAnc2hvdycgb3V0cHV0IgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGwnb3V0cHV0IGRpICdzaG93JyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE1NQotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gY2xvc2UgcGlwZSB0byAnc2hvdycgZm9yIG9iamVjdCAnJXMnIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzoxNTgKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZpbmlzaCAnc2hvdycgZm9yIG9iamVjdCAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2liaWxlIHRlcm1pbmFyZSAnc2hvdycgcGVyIGwnb2dnZXR0byAnJXMnIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTc1IGJ1aWx0aW4vdGFnLmM6MzQ3Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgotbXNnc3RyICJub24gw6ggc3RhdG8gcG9zc2liaWxlIGNyZWFyZSBpbCBmaWxlICclcyciCisjOiBidWlsdGluL25vdGVzLmM6MTk3Cittc2dpZCAicGxlYXNlIHN1cHBseSB0aGUgbm90ZSBjb250ZW50cyB1c2luZyBlaXRoZXIgLW0gb3IgLUYgb3B0aW9uIgorbXNnc3RyICJmb3JuaXNjaSBpIGNvbnRlbnV0aSBkZWxsZSBub3RlIHVzYW5kbyBsJ29wemlvbmUgLW0gbyAtRiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjE4OQotbXNnaWQgIlBsZWFzZSBzdXBwbHkgdGhlIG5vdGUgY29udGVudHMgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbiIKLW1zZ3N0ciAiUGVyIGZhdm9yZSBzcGVjaWZpY2EgaWwgY29udGVudXRvIGRlbGxlIG5vdGUgdXNhbmRvIGxlIG9wemlvbmkgLW0gbyAtRiIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjIxMCBidWlsdGluL25vdGVzLmM6OTczCi0jLCBjLWZvcm1hdAotbXNnaWQgIlJlbW92aW5nIG5vdGUgZm9yIG9iamVjdCAlc1xuIgotbXNnc3RyICJSaW1vemlvbmUgZGVsbGEgbm90YSBwZXIgbCdvZ2dldHRvICVzXG4iCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzoyMTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDYKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbm90ZSBvYmplY3QiCiBtc2dzdHIgImltcG9zc2liaWxlIHNjcml2ZXJlIGwnb2dnZXR0byBub3RhIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjE3CisjOiBidWlsdGluL25vdGVzLmM6MjA4CiAjLCBjLWZvcm1hdAotbXNnaWQgIlRoZSBub3RlIGNvbnRlbnRzIGhhcyBiZWVuIGxlZnQgaW4gJXMiCi1tc2dzdHIgIklsIGNvbnRlbnV0byBkZWxsYSBub3RhIMOoIHN0YXRvIGxhc2NpYXRvIGluICVzIgorbXNnaWQgInRoZSBub3RlIGNvbnRlbnRzIGhhdmUgYmVlbiBsZWZ0IGluICVzIgorbXNnc3RyICJpIGNvbnRlbnV0aSBkZWxsYSBub3RhIHNvbm8gc3RhdGkgbGFzY2lhdGkgaW4gJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNTEgYnVpbHRpbi90YWcuYzo1NDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKLW1zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSAnJXMnIgotCi0jOiBidWlsdGluL25vdGVzLmM6MjUzIGJ1aWx0aW4vdGFnLmM6NTQ1CisjOiBidWlsdGluL25vdGVzLmM6MjQyIGJ1aWx0aW4vdGFnLmM6NTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIG9yIHJlYWQgJyVzJyIKIG1zZ3N0ciAibm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBhcHJpcmUgbyBsZWdnZXJlICclcyciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNzIgYnVpbHRpbi9ub3Rlcy5jOjQ0NSBidWlsdGluL25vdGVzLmM6NDQ3Ci0jOiBidWlsdGluL25vdGVzLmM6NTA3IGJ1aWx0aW4vbm90ZXMuYzo1NjEgYnVpbHRpbi9ub3Rlcy5jOjY0NAotIzogYnVpbHRpbi9ub3Rlcy5jOjY0OSBidWlsdGluL25vdGVzLmM6NzI0IGJ1aWx0aW4vbm90ZXMuYzo3NjYKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NjggYnVpbHRpbi9yZXNldC5jOjI5MyBidWlsdGluL3RhZy5jOjU1OAorIzogYnVpbHRpbi9ub3Rlcy5jOjI2MyBidWlsdGluL25vdGVzLmM6MzEzIGJ1aWx0aW4vbm90ZXMuYzozMTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzozODMgYnVpbHRpbi9ub3Rlcy5jOjQzOCBidWlsdGluL25vdGVzLmM6NTI2CisjOiBidWlsdGluL25vdGVzLmM6NTMxIGJ1aWx0aW4vbm90ZXMuYzo2MTAgYnVpbHRpbi9ub3Rlcy5jOjY3MgogIywgYy1mb3JtYXQKLW1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmlzb2x2ZXJlICclcycgY29tZSByaWZlcmltZW50byB2YWxpZG8uIgorCisjOiBidWlsdGluL25vdGVzLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIG9iamVjdCAnJXMnLiIKK21zZ3N0ciAibGV0dHVyYSBkZWxsJ29nZ2V0dG8gJyVzJyBub24gcml1c2NpdGEuIgorCisjOiBidWlsdGluL25vdGVzLmM6MjY4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkIG5vdGUgZGF0YSBmcm9tIG5vbi1ibG9iIG9iamVjdCAnJXMnLiIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSBpIGRhdGkgZGVsbGEgbm90YSBkYWxsJ29nZ2V0dG8gbm9uIGJsb2IgJyVzJy4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgorbXNnc3RyICJyaWdhIGRpIGlucHV0IG1hbGZvcm1hdGE6ICclcycuIgorCisjOiBidWlsdGluL25vdGVzLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgorbXNnc3RyICJjb3BpYSBkZWxsZSBub3RlIGRhICclcycgYSAnJXMnIG5vbiByaXVzY2l0YSIKKworIy4gVFJBTlNMQVRPUlM6IHRoZSBmaXJzdCAlcyB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEgZ2l0CisjLiBub3RlcyBjb21tYW5kOiAnYWRkJywgJ21lcmdlJywgJ3JlbW92ZScsIGV0Yy4KKyMuCisjOiBidWlsdGluL25vdGVzLmM6MzU2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZnVzaW5nIHRvICVzIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKIG1zZ3N0ciAiIgorIm1pIHJpZml1dG8gZGkgZXNlZ3VpcmUgJXMgZGVsbGUgbm90ZSBpbiAlcyAoYWwgZGkgZnVvcmkgZGkgcmVmcy9ub3Rlcy8pIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mjc1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byByZWFkIG9iamVjdCAnJXMnLiIKLW1zZ3N0ciAiTGV0dHVyYSBkZWxsJ29nZ2V0dG8gJyVzJyBub24gcml1c2NpdGEuIgotCi0jOiBidWlsdGluL25vdGVzLmM6Mjk5Ci1tc2dpZCAiQ2Fubm90IGNvbW1pdCB1bmluaXRpYWxpemVkL3VucmVmZXJlbmNlZCBub3RlcyB0cmVlIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzozNDAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQmFkIG5vdGVzLnJld3JpdGVNb2RlIHZhbHVlOiAnJXMnIgotbXNnc3RyICJWYWxvcmUgZGkgbm90ZXMucmV3cml0ZU1vZGUgZXJyYXRvOiAnJXMnIgotCi0jOiBidWlsdGluL25vdGVzLmM6MzUwCi0jLCBjLWZvcm1hdAotbXNnaWQgIlJlZnVzaW5nIHRvIHJld3JpdGUgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgotbXNnc3RyICJJbXBvc3NpYmlsZSByaXNjcml2ZXJlIGxlIG5vdGUgaW4gJXMgKGFsIGRpIGZ1b3JpIGRpIHJlZnMvbm90ZXMvKSIKLQotIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyB0aGUgbmFtZSBvZiB0aGUKLSMuIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgc2Vjb25kICVzIGlzIGl0cyB2YWx1ZQotIzogYnVpbHRpbi9ub3Rlcy5jOjM3NwotIywgYy1mb3JtYXQKLW1zZ2lkICJCYWQgJXMgdmFsdWU6ICclcyciCi1tc2dzdHIgIlZhbG9yZSBkaSAlcyBlcnJhdG86ICclcyciCi0KLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiTWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgotbXNnc3RyICJSaWdhIGRpIGlucHV0IG1hbGZvcm1hdGE6ICclcycuIgotCi0jOiBidWlsdGluL25vdGVzLmM6NDU2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgotbXNnc3RyICJDb3BpYSBkZWxsZSBub3RlIGRhICclcycgYSAnJXMnIG5vbiByaXVzY2l0YSIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjUwMCBidWlsdGluL25vdGVzLmM6NTU0IGJ1aWx0aW4vbm90ZXMuYzo2MjcKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MzkgYnVpbHRpbi9ub3Rlcy5jOjcxMiBidWlsdGluL25vdGVzLmM6NzU5Ci0jOiBidWlsdGluL25vdGVzLmM6MTAzMworIzogYnVpbHRpbi9ub3Rlcy5jOjM3NiBidWlsdGluL25vdGVzLmM6NDMxIGJ1aWx0aW4vbm90ZXMuYzo1MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjEgYnVpbHRpbi9ub3Rlcy5jOjU5OCBidWlsdGluL25vdGVzLmM6NjY1CisjOiBidWlsdGluL25vdGVzLmM6ODE1IGJ1aWx0aW4vbm90ZXMuYzo5NjMgYnVpbHRpbi9ub3Rlcy5jOjk4NQogbXNnaWQgInRvbyBtYW55IHBhcmFtZXRlcnMiCiBtc2dzdHIgInRyb3BwaSBwYXJhbWV0cmkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTMgYnVpbHRpbi9ub3Rlcy5jOjc3MgorIzogYnVpbHRpbi9ub3Rlcy5jOjM4OSBidWlsdGluL25vdGVzLmM6Njc4CiAjLCBjLWZvcm1hdAotbXNnaWQgIk5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCi1tc2dzdHIgIk5lc3N1bmEgbm90YSB0cm92YXRhIHBlciBsJ29nZ2V0dG8gJXMuIgorbXNnaWQgIm5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCittc2dzdHIgIm5lc3N1bmEgbm90YSB0cm92YXRhIHBlciBsJ29nZ2V0dG8gJXMuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTgwCisjOiBidWlsdGluL25vdGVzLmM6NDEwIGJ1aWx0aW4vbm90ZXMuYzo1NzYKK21zZ2lkICJub3RlIGNvbnRlbnRzIGFzIGEgc3RyaW5nIgorbXNnc3RyICJjb250ZW51dGkgZGVsbGEgbm90YSBjb21lIHN0cmluZ2EiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTMgYnVpbHRpbi9ub3Rlcy5jOjU3OQorbXNnaWQgIm5vdGUgY29udGVudHMgaW4gYSBmaWxlIgorbXNnc3RyICJjb250ZW51dGkgZGVsbGEgbm90YSBpbiB1biBmaWxlIgorCisjOiBidWlsdGluL25vdGVzLmM6NDE2IGJ1aWx0aW4vbm90ZXMuYzo1ODIKK21zZ2lkICJyZXVzZSBhbmQgZWRpdCBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCittc2dzdHIgInJpdXNhIGwnb2dnZXR0byBub3RhIHNwZWNpZmljYXRvIHBlciBwb2kgbW9kaWZpY2FybG8iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTkgYnVpbHRpbi9ub3Rlcy5jOjU4NQorbXNnaWQgInJldXNlIHNwZWNpZmllZCBub3RlIG9iamVjdCIKK21zZ3N0ciAicml1c2EgbCdvZ2dldHRvIG5vdGEgc3BlY2lmaWNhdG8iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MjIgYnVpbHRpbi9ub3Rlcy5jOjU4OAorbXNnaWQgImFsbG93IHN0b3JpbmcgZW1wdHkgbm90ZSIKK21zZ3N0ciAiY29uc2VudGkgaWwgc2FsdmF0YWdnaW8gZGkgdW5hIG5vdGEgdnVvdGEiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MjMgYnVpbHRpbi9ub3Rlcy5jOjQ5NgorbXNnaWQgInJlcGxhY2UgZXhpc3Rpbmcgbm90ZXMiCittc2dzdHIgInNvc3RpdHVpc2NpIGxlIG5vdGUgZXNpc3RlbnRpIgorCisjOiBidWlsdGluL25vdGVzLmM6NDQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgYWRkIG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgogImV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICIiCisiSW1wb3NzaWJpbGUgYWdnaXVuZ2VyZSBub3RlLiBUcm92YXRlIG5vdGUgZXNpc3RlbnRpIHBlciBsJ29nZ2V0dG8gJXMuIFVzYSAnLSIKKyJmJyBwZXIgc292cmFzY3JpdmVyZSBsZSBub3RlIGVzaXN0ZW50aSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjU4NSBidWlsdGluL25vdGVzLmM6NjYyCisjOiBidWlsdGluL25vdGVzLmM6NDYzIGJ1aWx0aW4vbm90ZXMuYzo1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICJTb3ZyYXNjcml0dHVyYSBkZWxsZSBub3RlIGVzaXN0ZW50aSBwZXIgbCdvZ2dldHRvICVzXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MzUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NzUgYnVpbHRpbi9ub3Rlcy5jOjYzNyBidWlsdGluL25vdGVzLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbW92aW5nIG5vdGUgZm9yIG9iamVjdCAlc1xuIgorbXNnc3RyICJSaW1vemlvbmUgZGVsbGEgbm90YSBwZXIgbCdvZ2dldHRvICVzXG4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0OTcKK21zZ2lkICJyZWFkIG9iamVjdHMgZnJvbSBzdGRpbiIKK21zZ3N0ciAibGVnZ2kgb2dnZXR0aSBkYWxsbyBzdGFuZGFyZCBpbnB1dCIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjQ5OQorbXNnaWQgImxvYWQgcmV3cml0aW5nIGNvbmZpZyBmb3IgPGNvbW1hbmQ+IChpbXBsaWVzIC0tc3RkaW4pIgorbXNnc3RyICIiCisiY2FyaWNhIGxhIGNvbmZpZ3VyYXppb25lIGRpIHJpc2NyaXR0dXJhIHBlciA8Y29tYW5kbz4gKGltcGxpY2EgLS1zdGRpbikiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MTcKIG1zZ2lkICJ0b28gZmV3IHBhcmFtZXRlcnMiCiBtc2dzdHIgInRyb3BwaSBwb2NoaSBwYXJhbWV0cmkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2NTYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgogImV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICIiCi0iSW1wb3NzaWJpbGUgY29waWFyZSBsZSBub3RlLiBUcm92YXRlIG5vdGUgZXNpc3RlbnRpIHBlciBsJ29nZ2V0dG8gJXMuIFVzYSAiCi0iJy1mJyBwZXIgc292cmFzY3JpdmVyZSBsZSBub3RlIGVzaXN0ZW50aSIKKyJJbXBvc3NpYmlsZSBjb3BpYXJlIGxlIG5vdGUuIFRyb3ZhdGUgbm90ZSBlc2lzdGVudGkgcGVyIGwnb2dnZXR0byAlcy4gVXNhICctIgorImYnIHBlciBzb3ZyYXNjcml2ZXJlIGxlIG5vdGUgZXNpc3RlbnRpIgogCi0jOiBidWlsdGluL25vdGVzLmM6NjY4CisjOiBidWlsdGluL25vdGVzLmM6NTUwCiAjLCBjLWZvcm1hdAotbXNnaWQgIk1pc3Npbmcgbm90ZXMgb24gc291cmNlIG9iamVjdCAlcy4gQ2Fubm90IGNvcHkuIgotbXNnc3RyICJOb3RlIG1hbmNhbnRpIHBlciBsJ29nZ2V0dG8gc29yZ2VudGUgJXMuIEltcG9zc2liaWxlIGNvcGlhcmUuIgorbXNnaWQgIm1pc3Npbmcgbm90ZXMgb24gc291cmNlIG9iamVjdCAlcy4gQ2Fubm90IGNvcHkuIgorbXNnc3RyICJub3RlIG1hbmNhbnRpIHBlciBsJ29nZ2V0dG8gc29yZ2VudGUgJXMuIEltcG9zc2liaWxlIGNvcGlhcmUuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzE3CisjOiBidWlsdGluL25vdGVzLmM6NjAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgLW0vLUYvLWMvLUMgb3B0aW9ucyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlICdlZGl0JyBzdWJjb21tYW5kLlxuIgogIlBsZWFzZSB1c2UgJ2dpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUMnIGluc3RlYWQuXG4iCiBtc2dzdHIgIiIKICJMZSBvcHppb25pIC1tLy1GLy1jLy1DIHBlciBpbCBzb3R0b2NvbWFuZG8gJ2VkaXQnIHNvbm8gZGVwcmVjYXRlLlxuIgotIlBlciBmYXZvcmUgdXNhICdnaXQgbm90ZXMgYWRkIC1mIC1tLy1GLy1jLy1DJyBpbnZlY2UuXG4iCisiVXNhICdnaXQgbm90ZXMgYWRkIC1mIC1tLy1GLy1jLy1DJyBhbCBsb3JvIHBvc3RvLlxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTcxCisjOiBidWlsdGluL25vdGVzLmM6Njk4Cittc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKK21zZ3N0ciAiZWxpbWluYXppb25lIGRlbCByaWZlcmltZW50byBOT1RFU19NRVJHRV9QQVJUSUFMIG5vbiByaXVzY2l0YSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcwMAorbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1JFRiIKK21zZ3N0ciAiZWxpbWluYXppb25lIGRlbCByaWZlcmltZW50byBOT1RFU19NRVJHRV9SRUYgbm9uIHJpdXNjaXRhIgorCisjOiBidWlsdGluL25vdGVzLmM6NzAyCittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnZ2l0IG5vdGVzIG1lcmdlJyB3b3JrdHJlZSIKK21zZ3N0ciAicmltb3ppb25lIGRlbGwnYWxiZXJvIGRpIGxhdm9ybyBkaSAnZ2l0IG5vdGVzIG1lcmdlJyBub24gcml1c2NpdGEiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjIKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCByZWYgTk9URVNfTUVSR0VfUEFSVElBTCIKK21zZ3N0ciAibGV0dHVyYSBkZWwgcmlmZXJpbWVudG8gTk9URVNfTUVSR0VfUEFSVElBTCBub24gcml1c2NpdGEiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjQKK21zZ2lkICJjb3VsZCBub3QgZmluZCBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgdHJvdmFyZSBpbCBjb21taXQgZGEgTk9URVNfTUVSR0VfUEFSVElBTC4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjYKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCittc2dzdHIgImltcG9zc2liaWxlIGFuYWxpenphcmUgaWwgY29tbWl0IGRhIE5PVEVTX01FUkdFX1BBUlRJQUwuIgorCisjOiBidWlsdGluL25vdGVzLmM6NzM5Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgTk9URVNfTUVSR0VfUkVGIgorbXNnc3RyICJyaXNvbHV6aW9uZSBkaSBOT1RFU19NRVJHRV9SRUYgbm9uIHJpdXNjaXRhIgorCisjOiBidWlsdGluL25vdGVzLmM6NzQyCittc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplIG5vdGVzIG1lcmdlIgorbXNnc3RyICJmaW5hbGl6emF6aW9uZSBkZWwgbWVyZ2UgZGVsbGUgbm90ZSBub24gcml1c2NpdGEiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBub3RlcyBtZXJnZSBzdHJhdGVneSAlcyIKK21zZ3N0ciAic3RyYXRlZ2lhIGRpIG1lcmdlIGRlbGxlIG5vdGUgJXMgc2Nvbm9zY2l1dGEiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODQKK21zZ2lkICJHZW5lcmFsIG9wdGlvbnMiCittc2dzdHIgIk9wemlvbmkgZ2VuZXJhbGkiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODYKK21zZ2lkICJNZXJnZSBvcHRpb25zIgorbXNnc3RyICJPcHppb25pIG1lcmdlIgorCisjOiBidWlsdGluL25vdGVzLmM6Nzg4Cittc2dpZCAiIgorInJlc29sdmUgbm90ZXMgY29uZmxpY3RzIHVzaW5nIHRoZSBnaXZlbiBzdHJhdGVneSAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uLyIKKyJjYXRfc29ydF91bmlxKSIKK21zZ3N0ciAiIgorInJpc29sdmkgaSBjb25mbGl0dGkgZGVsbGUgbm90ZSB1c2FuZG8gbGEgc3RyYXRlZ2lhIGRhdGEgKG1hbnVhbC9vdXJzL3RoZWlycy8iCisidW5pb24vY2F0X3NvcnRfdW5pcSkiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTAKK21zZ2lkICJDb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgorbXNnc3RyICJDb21taXQgZGVsbGUgbm90ZSBub24gc290dG9wb3N0ZSBhIG1lcmdlIgorCisjOiBidWlsdGluL25vdGVzLmM6NzkyCittc2dpZCAiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKK21zZ3N0ciAiIgorImZpbmFsaXp6YSBpbCBtZXJnZSBkZWxsZSBub3RlIGVzZWd1ZW5kbyBpbCBjb21taXQgZGVsbGUgbm90ZSBub24gc290dG9wb3N0ZSAiCisiYSBtZXJnZSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc5NAorbXNnaWQgIkFib3J0aW5nIG5vdGVzIG1lcmdlIHJlc29sdXRpb24iCittc2dzdHIgIkludGVycnV6aW9uZSBkZWxsYSByaXNvbHV6aW9uZSBkZWwgbWVyZ2UgZGVsbGUgbm90ZSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc5NgorbXNnaWQgImFib3J0IG5vdGVzIG1lcmdlIgorbXNnc3RyICJpbnRlcnJvbXBpIGlsIG1lcmdlIGRlbGxlIG5vdGUiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDcKK21zZ2lkICJjYW5ub3QgbWl4IC0tY29tbWl0LCAtLWFib3J0IG9yIC1zLy0tc3RyYXRlZ3kiCittc2dzdHIgImltcG9zc2liaWxlIHVzYXJlIGNvbnRlbXBvcmFuZWFtZW50ZSAtLWNvbW1pdCwgLS1hYm9ydCBvIC1zLy0tc3RyYXRlZ3kiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MTIKK21zZ2lkICJtdXN0IHNwZWNpZnkgYSBub3RlcyByZWYgdG8gbWVyZ2UiCittc2dzdHIgImRldmkgc3BlY2lmaWNhcmUgdW4gcmlmZXJpbWVudG8gbm90ZSBkYSBzb3R0b3BvcnJlIGEgbWVyZ2UiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biAtcy8tLXN0cmF0ZWd5OiAlcyIKK21zZ3N0ciAiLXMvLS1zdHJhdGVneSBzY29ub3NjaXV0YTogJXMiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSBub3RlcyBtZXJnZSBpbnRvICVzIGlzIGFscmVhZHkgaW4tcHJvZ3Jlc3MgYXQgJXMiCittc2dzdHIgIsOoIGdpw6AgaW4gY29yc28gdW4nb3BlcmF6aW9uZSBkaSBtZXJnZSBkZWxsZSBub3RlIGluICVzIGFsIHBlcmNvcnNvICVzIgorCisjOiBidWlsdGluL25vdGVzLmM6ODc2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzdG9yZSBsaW5rIHRvIGN1cnJlbnQgbm90ZXMgcmVmICglcykiCittc2dzdHIgIiIKKyJzYWx2YXRhZ2dpbyBkZWwgY29sbGVnYW1lbnRvIGFsIHJpZmVyaW1lbnRvIGNvcnJlbnRlIGRlbGxlIG5vdGUgKCVzKSBub24gIgorInJpdXNjaXRvIgorCisjOiBidWlsdGluL25vdGVzLmM6ODc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJBdXRvbWF0aWMgbm90ZXMgbWVyZ2UgZmFpbGVkLiBGaXggY29uZmxpY3RzIGluICVzIGFuZCBjb21taXQgdGhlIHJlc3VsdCB3aXRoICIKKyInZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0Jywgb3IgYWJvcnQgdGhlIG1lcmdlIHdpdGggJ2dpdCBub3RlcyBtZXJnZSAtLSIKKyJhYm9ydCcuXG4iCittc2dzdHIgIiIKKyJNZXJnZSBhdXRvbWF0aWNvIGRlbGxlIG5vdGUgbm9uIHJpdXNjaXRvLiBSaXNvbHZpIGkgY29uZmxpdHRpIGluICVzIGVkICIKKyJlc2VndWkgaWwgY29tbWl0IGRlbCByaXN1bHRhdG8gY29uICdnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnIG8gaW50ZXJyb21waSAiCisiaWwgbWVyZ2UgY29uICdnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCcuXG4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4OTcgYnVpbHRpbi90YWcuYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCittc2dzdHIgIlJpc29sdXppb25lIGRpICclcycgY29tZSByaWZlcmltZW50byB2YWxpZG8gbm9uIHJpdXNjaXRhLiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjkwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJPYmplY3QgJXMgaGFzIG5vIG5vdGVcbiIKIG1zZ3N0ciAiTCdvZ2dldHRvICVzIG5vbiBoYSBub3RlLlxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MTEwMyBidWlsdGluL3JlbW90ZS5jOjE1OTgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKLW1zZ3N0ciAiU290dG9jb21hbmRvIHNjb25vc2NpdXRvOiAlcyIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MTIKK21zZ2lkICJhdHRlbXB0IHRvIHJlbW92ZSBub24tZXhpc3RlbnQgbm90ZSBpcyBub3QgYW4gZXJyb3IiCittc2dzdHIgImlsIHRlbnRhdGl2byBkaSByaW11b3ZlcmUgdW5hIG5vdGEgaW5lc2lzdGVudGUgbm9uIMOoIHVuIGVycm9yZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzM3CisjOiBidWlsdGluL25vdGVzLmM6OTE1Cittc2dpZCAicmVhZCBvYmplY3QgbmFtZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCittc2dzdHIgImxlZ2dpIGkgbm9taSBkZWdsaSBvZ2dldHRpIGRhbGxvIHN0YW5kYXJkIGlucHV0IgorCisjOiBidWlsdGluL25vdGVzLmM6OTU0IGJ1aWx0aW4vcHJ1bmUuYzoxMzAgYnVpbHRpbi93b3JrdHJlZS5jOjE2NAorbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKK21zZ3N0ciAibm9uIHJpbXVvdmVyZSwgbGltaXRhdGkgYSB2aXN1YWxpenphcmUiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NTUKK21zZ2lkICJyZXBvcnQgcHJ1bmVkIG5vdGVzIgorbXNnc3RyICJzZWduYWxhIGxlIG5vdGUgZWxpbWluYXRlIgorCisjOiBidWlsdGluL25vdGVzLmM6OTk4Cittc2dpZCAibm90ZXMtcmVmIgorbXNnc3RyICJyaWZlcmltZW50byBub3RlIgorCisjOiBidWlsdGluL25vdGVzLmM6OTk5Cittc2dpZCAidXNlIG5vdGVzIGZyb20gPG5vdGVzLXJlZj4iCittc2dzdHIgInVzYSBsZSBub3RlIGluIDxyaWZlcmltZW50byBub3RlPiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjEwMzQgYnVpbHRpbi9zdGFzaC5jOjE2MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzdWJjb21tYW5kOiAlcyIKK21zZ3N0ciAic290dG9jb21hbmRvIHNjb25vc2NpdXRvOiAlcyIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1MgorbXNnaWQgIiIKKyJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8b3B0aW9ucz4uLi5dIFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgorbXNnc3RyICIiCisiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPG9wemlvbmk+Li4uXSBbPCA8ZWxlbmNvIHJpZmVyaW1lbnRpPiB8IDwgPGVsZW5jbyAiCisib2dnZXR0aT5dIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjUzCittc2dpZCAiIgorImdpdCBwYWNrLW9iamVjdHMgWzxvcHRpb25zPi4uLl0gPGJhc2UtbmFtZT4gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCittc2dzdHIgIiIKKyJnaXQgcGFjay1vYmplY3RzIFs8b3B6aW9uaT4uLi5dIDxub21lIGJhc2U+IFs8IDxlbGVuY28gcmlmZXJpbWVudGk+IHwgPCAiCisiPGVsZW5jbyBvZ2dldHRpPl0iCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBwYWNrZWQgb2JqZWN0IENSQyBmb3IgJXMiCittc2dzdHIgIkNSQyBvZ2dldHRvIHNvdHRvcG9zdG8gYSBwYWNrICVzIGVycmF0byIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29ycnVwdCBwYWNrZWQgb2JqZWN0IGZvciAlcyIKK21zZ3N0ciAib2dnZXR0byBzb3R0b3Bvc3RvIGEgcGFjayAlcyBjb3Jyb3R0byIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjdXJzaXZlIGRlbHRhIGRldGVjdGVkIGZvciBvYmplY3QgJXMiCittc2dzdHIgInJpbGV2YXRvIGRlbHRhIHJpY29yc2l2byBwZXIgbCdvZ2dldHRvICVzIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc4MQorIywgYy1mb3JtYXQKK21zZ2lkICJvcmRlcmVkICV1IG9iamVjdHMsIGV4cGVjdGVkICU8UFJJdTMyPiIKK21zZ3N0ciAiJXUgb2dnZXR0aSBvcmRpbmF0aSwgYXR0ZXNpICU8UFJJdTMyPiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFja2ZpbGUgaXMgaW52YWxpZDogJXMiCittc2dzdHIgInBhY2tmaWxlIG5vbiB2YWxpZG86ICVzIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiBwYWNrZmlsZSBmb3IgcmV1c2U6ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgaWwgcGFja2ZpbGUgcGVyIGlsIHN1byByaXVzbzogJXMiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODAyCittc2dpZCAidW5hYmxlIHRvIHNlZWsgaW4gcmV1c2VkIHBhY2tmaWxlIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBzZWVrIG5lbCBwYWNrZmlsZSByaXVzYXRvIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgxMworbXNnaWQgInVuYWJsZSB0byByZWFkIGZyb20gcmV1c2VkIHBhY2tmaWxlIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGRhbCBwYWNrZmlsZSByaXVzYXRvIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjg0MQorbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgcGFja3MgYXJlIHNwbGl0IGR1ZSB0byBwYWNrLnBhY2tTaXplTGltaXQiCittc2dzdHIgIiIKKyJkaXNhYmlsaXRvIGxhIHNjcml0dHVyYSBkZWxsZSBiaXRtYXAsIGkgcGFjayBzb25vIGRpdmlzaSBhIGNhdXNhICIKKyJkZWxsJ2ltcG9zdGF6aW9uZSBwYWNrLnBhY2tTaXplTGltaXQiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODU0Cittc2dpZCAiV3JpdGluZyBvYmplY3RzIgorbXNnc3RyICJTY3JpdHR1cmEgZGVnbGkgb2dnZXR0aSBpbiBjb3JzbyIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5MTcgYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc3RhdCAlcyIKK21zZ3N0ciAic3RhdCBkaSAlcyBub24gcml1c2NpdG8iCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIndyb3RlICU8UFJJdTMyPiBvYmplY3RzIHdoaWxlIGV4cGVjdGluZyAlPFBSSXUzMj4iCittc2dzdHIgInNjcml0dGkgJTxQUkl1MzI+IG9nZ2V0dGkgcXVhbmRvIG1lIG5lIGF0dGVuZGV2byAlPFBSSXUzMj4iCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTE2NAorbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgYXMgc29tZSBvYmplY3RzIGFyZSBub3QgYmVpbmcgcGFja2VkIgorbXNnc3RyICIiCisiZGlzYWJpbGl0byBsYSBzY3JpdHR1cmEgZGVsbGUgYml0bWFwIHBlcmNow6kgYWxjdW5pIG9nZ2V0dGkgbm9uIHNhcmFubm8gIgorInNvdHRvcG9zdGkgYSBwYWNrIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgb3ZlcmZsb3cgaW4gcGFjayBmb3IgJXMiCittc2dzdHIgIm92ZXJmbG93IGRlbGwnb2Zmc2V0IGJhc2UgZGVsIGRlbHRhIG5lbCBwYWNrIHBlciAlcyIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjAxCisjLCBjLWZvcm1hdAorbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IG91dCBvZiBib3VuZCBmb3IgJXMiCittc2dzdHIgIm9mZnNldCBiYXNlIGRlbCBkZWx0YSBmdW9yaSBkYWxsJ2ludGVydmFsbG8gY29uc2VudGl0byBwZXIgJXMiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg3MAorbXNnaWQgIkNvdW50aW5nIG9iamVjdHMiCittc2dzdHIgIkNvbnRlZ2dpbyBkZWdsaSBvZ2dldHRpIGluIGNvcnNvIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGdldCBzaXplIG9mICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSByZWN1cGVyYXJlIGxlIGRpbWVuc2lvbmkgZGkgJXMiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjAxNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2Ugb2JqZWN0IGhlYWRlciBvZiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSBsJ2ludGVzdGF6aW9uZSBvZ2dldHRvIGRpICVzIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwODUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0ICVzIGNhbm5vdCBiZSByZWFkIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGwnb2dnZXR0byAlcyIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDg4IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjExNQorIywgYy1mb3JtYXQKK21zZ2lkICJvYmplY3QgJXMgaW5jb25zaXN0ZW50IG9iamVjdCBsZW5ndGggKCU8UFJJdU1BWD4gdnMgJTxQUkl1TUFYPikiCittc2dzdHIgIiIKKyJvZ2dldHRvICVzOiBsdW5naGV6emEgb2dnZXR0byBpbmNvbnNpc3RlbnRlICglPFBSSXVNQVg+IGNvbnRybyAlPFBSSXVNQVg+KSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTI1Cittc2dpZCAic3Vib3B0aW1hbCBwYWNrIC0gb3V0IG9mIG1lbW9yeSIKK21zZ3N0ciAicGFjayBzdWJvdHRpbW8gLSBtZW1vcmlhIGVzYXVyaXRhIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGVsdGEgY29tcHJlc3Npb24gdXNpbmcgdXAgdG8gJWQgdGhyZWFkcyIKK21zZ3N0ciAiQ29tcHJlc3Npb25lIGRlbHRhIGluIGNvcnNvLCB1c28gZmlubyBhICVkIHRocmVhZCIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTcyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYWNrIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gdGFnICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBpbCBwYWNrIGRlZ2xpIG9nZ2V0dGkgcmFnZ2l1bmdpYmlsaSBkYWwgdGFnICVzIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTkKK21zZ2lkICJDb21wcmVzc2luZyBvYmplY3RzIgorbXNnc3RyICJDb21wcmVzc2lvbmUgb2dnZXR0aSBpbiBjb3JzbyIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjY1Cittc2dpZCAiaW5jb25zaXN0ZW5jeSB3aXRoIGRlbHRhIGNvdW50IgorbXNnc3RyICJpbmNvbnNpc3RlbnphIGNvbiBpbCBudW1lcm8gZGVpIGRlbHRhIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImV4cGVjdGVkIGVkZ2Ugb2JqZWN0IElELCBnb3QgZ2FyYmFnZTpcbiIKKyIgJXMiCittc2dzdHIgIiIKKyJhdHRlc28gSUQgb2dnZXR0byBhcmNvLCByaWNldnV0aSBkYXRpIGVycmF0aTpcbiIKKyIgJXMiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiZXhwZWN0ZWQgb2JqZWN0IElELCBnb3QgZ2FyYmFnZTpcbiIKKyIgJXMiCittc2dzdHIgIiIKKyJhdHRlc28gSUQgb2dnZXR0bywgcmljZXZ1dGkgZGF0aSBlcnJhdGk6XG4iCisiICVzIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDYKK21zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAtLW1pc3NpbmciCittc2dzdHIgInZhbG9yZSBub24gdmFsaWRvIHBlciAtLW1pc3NpbmciCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkwNSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwMTMKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYWNrIGluZGV4IgorbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgbCdpbmRpY2UgcGFjayIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTM2CisjLCBjLWZvcm1hdAorbXNnaWQgImxvb3NlIG9iamVjdCBhdCAlcyBjb3VsZCBub3QgYmUgZXhhbWluZWQiCittc2dzdHIgImltcG9zc2liaWxlIGVzYW1pbmFyZSBsJ29nZ2V0dG8gc2Npb2x0byAlcyIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDIxCittc2dpZCAidW5hYmxlIHRvIGZvcmNlIGxvb3NlIG9iamVjdCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZm9yemFyZSBsJ29nZ2V0dG8gc2Npb2x0byIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHJldiAnJXMnIgorbXNnc3RyICInJXMnIG5vbiDDqCB1bmEgcmV2aXNpb25lIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJldmlzaW9uICclcyciCittc2dzdHIgInJldmlzaW9uZSAnJXMnIGVycmF0YSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTQxCittc2dpZCAidW5hYmxlIHRvIGFkZCByZWNlbnQgb2JqZWN0cyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYWdnaXVuZ2VyZSBnbGkgb2dnZXR0aSByZWNlbnRpIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgaW5kZXggdmVyc2lvbiAlcyIKIG1zZ3N0ciAidmVyc2lvbmUgJXMgZGkgaW5kZXggbm9uIHN1cHBvcnRhdGEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjM0MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICclcyciCiBtc2dzdHIgInZlcnNpb25lICclcycgZGkgaW5kZXggZXJyYXRhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzNjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAib3B0aW9uICVzIGRvZXMgbm90IGFjY2VwdCBuZWdhdGl2ZSBmb3JtIgotbXNnc3RyICJsJ29wemlvbmUgJXMgbm9uIGFjY2V0dGEgZm9ybWUgbmVnYXRpdmUiCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzYKK21zZ2lkICI8dmVyc2lvbj5bLDxvZmZzZXQ+XSIKK21zZ3N0ciAiPHZlcnNpb25lPlssPG9mZnNldD5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzNjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHBhcnNlIHZhbHVlICclcycgZm9yIG9wdGlvbiAlcyIKLW1zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSBpbCB2YWxvcmUgJyVzJyBwZXIgbCdvcHppb25lICVzIgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM3Cittc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKK21zZ3N0ciAic2NyaXZpIGlsIGZpbGUgaW5kaWNlIHBhY2sgdXNhbmRvIGxhIHZlcnNpb25lIGZvcm1hdG8gaWR4IHNwZWNpZmljYXRhIgogCi0jOiBidWlsdGluL3B1c2guYzo0NQotbXNnaWQgInRhZyBzaG9ydGhhbmQgd2l0aG91dCA8dGFnPiIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0MAorbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIG91dHB1dCBwYWNrIGZpbGUiCittc2dzdHIgImRpbWVuc2lvbmUgbWFzc2ltYSBkaSBvZ25pIGZpbGUgcGFjayBpbiBvdXRwdXQiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0MgorbXNnaWQgImlnbm9yZSBib3Jyb3dlZCBvYmplY3RzIGZyb20gYWx0ZXJuYXRlIG9iamVjdCBzdG9yZSIKK21zZ3N0ciAiaWdub3JhIGdsaSBvZ2dldHRpIHByZXNpIGluIHByZXN0aXRvIGRhbGxvIHN0b3JlIG9nZ2V0dGkgYWx0ZXJuYXRpdm8iCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NAorbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKK21zZ3N0ciAiaWdub3JhIGdsaSBvZ2dldHRpIHNvdHRvcG9zdGkgYSBwYWNrIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDYKK21zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBvYmplY3RzIgorbXNnc3RyICJsaW1pdGEgbGEgZmluZXN0cmEgZGkgcGFjayBhbCBudW1lcm8gZGkgb2dnZXR0aSBzcGVjaWZpY2F0byIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQ4Cittc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgbWVtb3J5IGluIGFkZGl0aW9uIHRvIG9iamVjdCBsaW1pdCIKIG1zZ3N0ciAiIgorImxpbWl0YSBsYSBmaW5lc3RyYSBkaSBwYWNrIGFsbGEgbWVtb3JpYSBzcGVjaWZpY2F0YSBpbiBhZ2dpdW50YSBhbCBsaW1pdGUgIgorInN1Z2xpIG9nZ2V0dGkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjY0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTAKK21zZ2lkICJtYXhpbXVtIGxlbmd0aCBvZiBkZWx0YSBjaGFpbiBhbGxvd2VkIGluIHRoZSByZXN1bHRpbmcgcGFjayIKK21zZ3N0ciAibHVuZ2hlenphIG1hc3NpbWEgZGVsbGEgY2F0ZW5hIGRpIGRlbHRhIGNvbnNlbnRpdGEgbmVsIHBhY2sgcmlzdWx0YW50ZSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjUyCittc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgorbXNnc3RyICJyaXVzYSBpIGRlbHRhIGVzaXN0ZW50aSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU0Cittc2dpZCAicmV1c2UgZXhpc3Rpbmcgb2JqZWN0cyIKK21zZ3N0ciAicml1c2EgZ2xpIG9nZ2V0dGkgZXNpc3RlbnRpIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTYKK21zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCittc2dzdHIgInVzYSBvZ2dldHRpIE9GU19ERUxUQSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU4Cittc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKK21zZ3N0ciAiIgorInVzYSBwacO5IHRocmVhZCBkdXJhbnRlIGxhIHJpY2VyY2EgZGVsbGUgbWlnbGlvcmkgY29ycmlzcG9uZGVuemUgcGVyIGkgZGVsdGEiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2MAorbXNnaWQgImRvIG5vdCBjcmVhdGUgYW4gZW1wdHkgcGFjayBvdXRwdXQiCittc2dzdHIgIm5vbiBjcmVhcmUgdW4gb3V0cHV0IHBhY2sgdnVvdG8iCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2MgorbXNnaWQgInJlYWQgcmV2aXNpb24gYXJndW1lbnRzIGZyb20gc3RhbmRhcmQgaW5wdXQiCittc2dzdHIgImxlZ2dpIGdsaSBhcmdvbWVudGkgcmV2aXNpb25lIGRhbGxvIHN0YW5kYXJkIGlucHV0IgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjQKK21zZ2lkICJsaW1pdCB0aGUgb2JqZWN0cyB0byB0aG9zZSB0aGF0IGFyZSBub3QgeWV0IHBhY2tlZCIKK21zZ3N0ciAibGltaXRhIGdsaSBvZ2dldHRpIGEgcXVlbGxpIG5vbiBhbmNvcmEgc290dG9wb3N0aSBhIHBhY2siCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NworbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgorbXNnc3RyICJpbmNsdWRpIGdsaSBvZ2dldHRpIHJhZ2dpdW5naWJpbGkgZGEgcXVhbHVucXVlIHJpZmVyaW1lbnRvIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzAKK21zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgYnkgcmVmbG9nIGVudHJpZXMiCittc2dzdHIgImluY2x1ZGkgZ2xpIG9nZ2V0dGkgcmVmZXJlbnppYXRpIGRhIHZvY2kgZGVsIGxvZyByaWZlcmltZW50aSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjczCittc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIHRvIGJ5IHRoZSBpbmRleCIKK21zZ3N0ciAiaW5jbHVkaSBnbGkgb2dnZXR0aSByZWZlcmVuemlhdGkgZGFsbCdpbmRpY2UiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3NgorbXNnaWQgIm91dHB1dCBwYWNrIHRvIHN0ZG91dCIKK21zZ3N0ciAiaW52aWEgaWwgcGFjayBpbiBvdXRwdXQgc3VsbG8gc3RhbmRhcmQgb3V0cHV0IgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzgKK21zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCittc2dzdHIgIiIKKyJpbmNsdWRpIGdsaSBvZ2dldHRpIHRhZyBjaGUgZmFubm8gcmlmZXJpbWVudG8gYWdsaSBvZ2dldHRpIGRhIHNvdHRvcG9ycmUgYSAiCisicGFjayIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgwCittc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICJtYW50aWVuaSBnbGkgb2dnZXR0aSBub24gcmFnZ2l1bmdpYmlsaSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgyCittc2dpZCAicGFjayBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICJlc2VndWkgaWwgcGFjayBkZWdsaSBvZ2dldHRpIG5vbiByYWdnaXVuZ2liaWxpIHNjaW9sdGkiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4NAorbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgorbXNnc3RyICJkZWNvbXByaW1pIGdsaSBvZ2dldHRpIG5vbiByYWdnaXVuZ2liaWxpIHBpw7kgcmVjZW50aSBkaSA8dGVtcG8+IgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODcKK21zZ2lkICJ1c2UgdGhlIHNwYXJzZSByZWFjaGFiaWxpdHkgYWxnb3JpdGhtIgorbXNnc3RyICJ1c2EgbCdhbGdvcml0bW8gZGkgcmFnZ2l1bmdpYmlsaXTDoCBzcGFyc2UiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4OQorbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgorbXNnc3RyICJjcmVhIHBhY2sgdGhpbiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjkxCittc2dpZCAiY3JlYXRlIHBhY2tzIHN1aXRhYmxlIGZvciBzaGFsbG93IGZldGNoZXMiCittc2dzdHIgImNyZWEgcGFjayBhZGF0dGkgcGVyIGZldGNoIHNoYWxsb3ciCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MworbXNnaWQgImlnbm9yZSBwYWNrcyB0aGF0IGhhdmUgY29tcGFuaW9uIC5rZWVwIGZpbGUiCittc2dzdHIgImlnbm9yYSBpIHBhY2sgY2hlIGhhbm5vIHVuIGZpbGUgLmtlZXAgY2hlIGxpIGFjY29tcGFnbmEiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5NQorbXNnaWQgImlnbm9yZSB0aGlzIHBhY2siCittc2dzdHIgImlnbm9yYSBxdWVzdG8gcGFjayIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk3Cittc2dpZCAicGFjayBjb21wcmVzc2lvbiBsZXZlbCIKK21zZ3N0ciAibGl2ZWxsbyBjb21wcmVzc2lvbmUgcGFjayIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk5Cittc2dpZCAiZG8gbm90IGhpZGUgY29tbWl0cyBieSBncmFmdHMiCittc2dzdHIgIm5vbiBuYXNjb25kZXJlIGkgY29tbWl0IGlubmVzdGF0aSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzAxCittc2dpZCAidXNlIGEgYml0bWFwIGluZGV4IGlmIGF2YWlsYWJsZSB0byBzcGVlZCB1cCBjb3VudGluZyBvYmplY3RzIgorbXNnc3RyICIiCisidXNhIHVuIGluZGljZSBiaXRtYXAgc2UgZGlzcG9uaWJpbGUgcGVyIHZlbG9jaXp6YXJlIGlsIGNvbnRlZ2dpbyBkZWdsaSAiCisib2dnZXR0aSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzAzCittc2dpZCAid3JpdGUgYSBiaXRtYXAgaW5kZXggdG9nZXRoZXIgd2l0aCB0aGUgcGFjayBpbmRleCIKK21zZ3N0ciAic2NyaXZpIHVuIGluZGljZSBiaXRtYXAgaW5zaWVtZSBhbGwnaW5kaWNlIHBhY2siCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwNworbXNnaWQgIndyaXRlIGEgYml0bWFwIGluZGV4IGlmIHBvc3NpYmxlIgorbXNnc3RyICJzY3JpdmkgdW4gaW5kaWNlIGJpdG1hcCBzZSBwb3NzaWJpbGUiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxMQorbXNnaWQgImhhbmRsaW5nIGZvciBtaXNzaW5nIG9iamVjdHMiCittc2dzdHIgImF6aW9uZSBkYSBlc2VndWlyZSBzdWdsaSBvZ2dldHRpIG1hbmNhbnRpIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTQKK21zZ2lkICJkbyBub3QgcGFjayBvYmplY3RzIGluIHByb21pc29yIHBhY2tmaWxlcyIKK21zZ3N0ciAibm9uIGVzZWd1aXJlIGlsIHBhY2sgZGVnbGkgb2dnZXR0aSBuZWkgZmlsZSBwYWNrIHByb21ldHRlbnRpIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTYKK21zZ2lkICJyZXNwZWN0IGlzbGFuZHMgZHVyaW5nIGRlbHRhIGNvbXByZXNzaW9uIgorbXNnc3RyICJyaXNwZXR0YSBsZSBpc29sZSBkdXJhbnRlIGxhIGNvbXByZXNzaW9uZSBkZWx0YSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImRlbHRhIGNoYWluIGRlcHRoICVkIGlzIHRvbyBkZWVwLCBmb3JjaW5nICVkIgorbXNnc3RyICJsYSBwcm9mb25kaXTDoCBkZWxsYSBjYXRlbmEgZGVpIGRlbHRhICglZCkgw6ggdHJvcHBvIGVsZXZhdGEsIGZvcnpvICVkIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFjay5kZWx0YUNhY2hlTGltaXQgaXMgdG9vIGhpZ2gsIGZvcmNpbmcgJWQiCittc2dzdHIgImlsIHZhbG9yZSBwYWNrLmRlbHRhQ2FjaGVMaW1pdCDDqCB0cm9wcG8gZWxldmF0bywgZm9yem8gJWQiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwNAorbXNnaWQgIi0tbWF4LXBhY2stc2l6ZSBjYW5ub3QgYmUgdXNlZCB0byBidWlsZCBhIHBhY2sgZm9yIHRyYW5zZmVyIgorbXNnc3RyICIiCisiLS1tYXgtcGFjay1zaXplIG5vbiBwdcOyIGVzc2VyZSB1c2F0byBwZXIgZ2VuZXJhcmUgdW4gcGFjayBkYSB0cmFzZmVyaXJlIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDYKK21zZ2lkICJtaW5pbXVtIHBhY2sgc2l6ZSBsaW1pdCBpcyAxIE1pQiIKK21zZ3N0ciAiaWwgbGltaXRlIG1pbmltbyBkZWxsZSBkaW1lbnNpb25pIGRlaSBwYWNrIMOoIDEgTWlCIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTEKK21zZ2lkICItLXRoaW4gY2Fubm90IGJlIHVzZWQgdG8gYnVpbGQgYW4gaW5kZXhhYmxlIHBhY2siCittc2dzdHIgIi0tdGhpbiBub24gcHXDsiBlc3NlcmUgdXNhdG8gcGVyIGdlbmVyYXJlIHVuIHBhY2sgaW5kaWNpenphYmlsZSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDE0Cittc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtLXVucGFjay11bnJlYWNoYWJsZSBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICItLWtlZXAtdW5yZWFjaGFibGUgZSAtLXVucGFjay11bnJlYWNoYWJsZSBub24gc29ubyBjb21wYXRpYmlsaSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDIwCittc2dpZCAiY2Fubm90IHVzZSAtLWZpbHRlciB3aXRob3V0IC0tc3Rkb3V0IgorbXNnc3RyICJpbXBvc3NpYmlsZSB1c2FyZSAtLWZpbHRlciBzZW56YSAtLXN0ZG91dCIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDgxCittc2dpZCAiRW51bWVyYXRpbmcgb2JqZWN0cyIKK21zZ3N0ciAiRW51bWVyYXppb25lIGRlZ2xpIG9nZ2V0dGkgaW4gY29yc28iCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCAlPFBSSXUzMj4gKGRlbHRhICU8UFJJdTMyPiksIHJldXNlZCAlPFBSSXUzMj4gKGRlbHRhICU8UFJJdTMyPikiCittc2dzdHIgIiIKKyIlPFBSSXUzMj4gb2dnZXR0aSB0b3RhbGkgKCU8UFJJdTMyPiBkZWx0YSksICU8UFJJdTMyPiByaXV0aWxpenphdGkgIgorIiglPFBSSXUzMj4gZGVsdGEpIgorCisjOiBidWlsdGluL3BhY2stcmVmcy5jOjgKK21zZ2lkICJnaXQgcGFjay1yZWZzIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgcGFjay1yZWZzIFs8b3B6aW9uaT5dIgorCisjOiBidWlsdGluL3BhY2stcmVmcy5jOjE2Cittc2dpZCAicGFjayBldmVyeXRoaW5nIgorbXNnc3RyICJlc2VndWkgaWwgcGFjayBkaSB0dXR0byIKKworIzogYnVpbHRpbi9wYWNrLXJlZnMuYzoxNworbXNnaWQgInBydW5lIGxvb3NlIHJlZnMgKGRlZmF1bHQpIgorbXNnc3RyICJlbGltaW5hIGkgcmlmZXJpbWVudGkgc2Npb2x0aSAoaW1wb3N0YXppb25lIHByZWRlZmluaXRhKSIKKworIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo5Cittc2dpZCAiZ2l0IHBydW5lLXBhY2tlZCBbLW4gfCAtLWRyeS1ydW5dIFstcSB8IC0tcXVpZXRdIgorbXNnc3RyICJnaXQgcHJ1bmUtcGFja2VkIFstbiB8IC0tZHJ5LXJ1bl0gWy1xIHwgLS1xdWlldF0iCisKKyM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NDIKK21zZ2lkICJSZW1vdmluZyBkdXBsaWNhdGUgb2JqZWN0cyIKK21zZ3N0ciAiUmltb3ppb25lIG9nZ2V0dGkgZHVwbGljYXRpIGluIGNvcnNvIgorCisjOiBidWlsdGluL3BydW5lLmM6MTIKK21zZ2lkICJnaXQgcHJ1bmUgWy1uXSBbLXZdIFstLXByb2dyZXNzXSBbLS1leHBpcmUgPHRpbWU+XSBbLS1dIFs8aGVhZD4uLi5dIgorbXNnc3RyICJnaXQgcHJ1bmUgWy1uXSBbLXZdIFstLXByb2dyZXNzXSBbLS1leHBpcmUgPHRlbXBvPl0gWy0tXSBbPGhlYWQ+Li4uXSIKKworIzogYnVpbHRpbi9wcnVuZS5jOjEzMQorbXNnaWQgInJlcG9ydCBwcnVuZWQgb2JqZWN0cyIKK21zZ3N0ciAic2VnbmFsYSBnbGkgb2dnZXR0aSByaXB1bGl0aSIKKworIzogYnVpbHRpbi9wcnVuZS5jOjEzNAorbXNnaWQgImV4cGlyZSBvYmplY3RzIG9sZGVyIHRoYW4gPHRpbWU+IgorbXNnc3RyICJmYWkgc2NhZGVyZSBvZ2dldHRpIHBpw7kgdmVjY2hpIGRpIDx0ZW1wbz4iCisKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzYKK21zZ2lkICJsaW1pdCB0cmF2ZXJzYWwgdG8gb2JqZWN0cyBvdXRzaWRlIHByb21pc29yIHBhY2tmaWxlcyIKK21zZ3N0ciAibGltaXRhIGxhIHZpc2l0YSBhZ2xpIG9nZ2V0dGkgYWwgZGkgZnVvcmkgZGVpIGZpbGUgcGFjayBwcm9tZXR0ZW50aSIKKworIzogYnVpbHRpbi9wcnVuZS5jOjE1MAorbXNnaWQgImNhbm5vdCBwcnVuZSBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKK21zZ3N0ciAiIgorImltcG9zc2liaWxlIGVzZWd1aXJlIGwnZWxpbWluYXppb25lIGluIHVuIHJlcG9zaXRvcnkgJ29nZ2V0dGkgcHJlemlvc2knIgorCisjOiBidWlsdGluL3B1bGwuYzo2NiBidWlsdGluL3B1bGwuYzo2OAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCittc2dzdHIgIlZhbG9yZSBub24gdmFsaWRvIHBlciAlczogJXMiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjg4Cittc2dpZCAiZ2l0IHB1bGwgWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCittc2dzdHIgImdpdCBwdWxsIFs8b3B6aW9uaT5dIFs8cmVwb3NpdG9yeT4gWzxzcGVjaWZpY2F0b3JlIHJpZmVyaW1lbnRvPi4uLl1dIgorCisjOiBidWlsdGluL3B1bGwuYzoxNDIKK21zZ2lkICJjb250cm9sIGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIKK21zZ3N0ciAiY29udHJvbGxhIGlsIHJlY3VwZXJvIHJpY29yc2l2byBkZWkgc290dG9tb2R1bGkiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjE0NgorbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBtZXJnaW5nIgorbXNnc3RyICJPcHppb25pIHJlbGF0aXZlIGFsIG1lcmdlIgorCisjOiBidWlsdGluL3B1bGwuYzoxNDkKK21zZ2lkICJpbmNvcnBvcmF0ZSBjaGFuZ2VzIGJ5IHJlYmFzaW5nIHJhdGhlciB0aGFuIG1lcmdpbmciCittc2dzdHIgImluY29ycG9yYSBsZSBtb2RpZmljaGUgZXNlZ3VlbmRvIHVuIHJlYmFzZSBhbnppY2jDqSB1biBtZXJnZSIKKworIzogYnVpbHRpbi9wdWxsLmM6MTc3IGJ1aWx0aW4vcmViYXNlLmM6NDY3IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI2Cittc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIgorbXNnc3RyICJjb25zZW50aSBmYXN0IGZvcndhcmQiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjE4NgorbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIgcmViYXNlIgorbXNnc3RyICJlc2VndWkgc3Rhc2gvc3Rhc2ggcG9wIGF1dG9tYXRpY2FtZW50ZSBwcmltYSBlIGRvcG8gaWwgcmViYXNlIgorCisjOiBidWlsdGluL3B1bGwuYzoyMDIKK21zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gZmV0Y2hpbmciCittc2dzdHIgIk9wemlvbmkgcmVsYXRpdmUgYWwgZmV0Y2giCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjIxMgorbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCittc2dzdHIgImZvcnphIGxhIHNvdnJhc2NyaXR0dXJhIGRlbCBicmFuY2ggbG9jYWxlIgorCisjOiBidWlsdGluL3B1bGwuYzoyMjAKK21zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBwdWxsZWQgaW4gcGFyYWxsZWwiCittc2dzdHIgIm51bWVybyBkaSBzb3R0b21vZHVsaSByZWN1cGVyYXRpIGluIHBhcmFsbGVsbyIKKworIzogYnVpbHRpbi9wdWxsLmM6MzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIHB1bGwuZmY6ICVzIgorbXNnc3RyICJWYWxvcmUgbm9uIHZhbGlkbyBwZXIgcHVsbC5mZjogJXMiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzNworbXNnaWQgIiIKKyJUaGVyZSBpcyBubyBjYW5kaWRhdGUgZm9yIHJlYmFzaW5nIGFnYWluc3QgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCAiCisiZmV0Y2hlZC4iCittc2dzdHIgIiIKKyJOb24gY2kgc29ubyBjYW5kaWRhdGkgaW4gYmFzZSBhaSBxdWFsaSBlc2VndWlyZSBpbCByZWJhc2UgZnJhIGkgcmlmZXJpbWVudGkgIgorImFwcGVuYSByZWN1cGVyYXRpLiIKKworIzogYnVpbHRpbi9wdWxsLmM6NDM5Cittc2dpZCAiIgorIlRoZXJlIGFyZSBubyBjYW5kaWRhdGVzIGZvciBtZXJnaW5nIGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgZmV0Y2hlZC4iCittc2dzdHIgIiIKKyJOb24gY2kgc29ubyBjYW5kaWRhdGkgaW4gYmFzZSBhaSBxdWFsaSBlc2VndWlyZSBpbCBtZXJnZSBmcmEgaSByaWZlcmltZW50aSAiCisiYXBwZW5hIHJlY3VwZXJhdGkuIgorCisjOiBidWlsdGluL3B1bGwuYzo0NDAKK21zZ2lkICIiCisiR2VuZXJhbGx5IHRoaXMgbWVhbnMgdGhhdCB5b3UgcHJvdmlkZWQgYSB3aWxkY2FyZCByZWZzcGVjIHdoaWNoIGhhZCBub1xuIgorIm1hdGNoZXMgb24gdGhlIHJlbW90ZSBlbmQuIgorbXNnc3RyICIiCisiSW4gZ2VuZXJhbGUsIHF1ZXN0byBzaWduaWZpY2EgY2hlIGhhaSBmb3JuaXRvIHVubyBzcGVjaWZpY2F0b3JlXG4iCisicmlmZXJpbWVudG8gY2hlIG5vbiBhdmV2YSBjb3JyaXNwb25kZW56ZSBuZWwgcmVtb3RvLiIKKworIzogYnVpbHRpbi9wdWxsLmM6NDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgYXNrZWQgdG8gcHVsbCBmcm9tIHRoZSByZW1vdGUgJyVzJywgYnV0IGRpZCBub3Qgc3BlY2lmeVxuIgorImEgYnJhbmNoLiBCZWNhdXNlIHRoaXMgaXMgbm90IHRoZSBkZWZhdWx0IGNvbmZpZ3VyZWQgcmVtb3RlXG4iCisiZm9yIHlvdXIgY3VycmVudCBicmFuY2gsIHlvdSBtdXN0IHNwZWNpZnkgYSBicmFuY2ggb24gdGhlIGNvbW1hbmQgbGluZS4iCittc2dzdHIgIiIKKyJIYWkgY2hpZXN0byBkaSBlc2VndWlyZSB1biBwdWxsIGRhbCByZW1vdG8gJyVzJyBtYSBub24gaGFpXG4iCisic3BlY2lmaWNhdG8gdW4gYnJhbmNoLiBEYWwgbW9tZW50byBjaGUgcXVlc3RvIG5vbiDDqCBpbCByZW1vdG9cbiIKKyJjb25maWd1cmF0byBjb21lIHByZWRlZmluaXRvIHBlciBpbCBicmFuY2ggY29ycmVudGUsIGRldmlcbiIKKyJzcGVjaWZpY2FyZSB1biBicmFuY2ggc3VsbGEgcmlnYSBkaSBjb21hbmRvLiIKKworIzogYnVpbHRpbi9wdWxsLmM6NDQ4IGJ1aWx0aW4vcmViYXNlLmM6MTM3NSBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCittc2dpZCAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLiIKK21zZ3N0ciAiQXR0dWFsbWVudGUgbm9uIHNlaSBzdSB1biBicmFuY2guIgorCisjOiBidWlsdGluL3B1bGwuYzo0NTAgYnVpbHRpbi9wdWxsLmM6NDY1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKK21zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gcmViYXNlIGFnYWluc3QuIgorbXNnc3RyICJTcGVjaWZpY2EgaWwgYnJhbmNoIGluIGJhc2UgYSBjdWkgdnVvaSBlZmZldHR1YXJlIGlsIHJlYmFzZS4iCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1MiBidWlsdGluL3B1bGwuYzo0NjcgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgorbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byBtZXJnZSB3aXRoLiIKK21zZ3N0ciAiU3BlY2lmaWNhIGlsIGJyYW5jaCBpbiBiYXNlIGEgY3VpIHZ1b2kgZWZmZXR0dWFyZSBpbCBtZXJnZS4iCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1MyBidWlsdGluL3B1bGwuYzo0NjgKK21zZ2lkICJTZWUgZ2l0LXB1bGwoMSkgZm9yIGRldGFpbHMuIgorbXNnc3RyICJWZWRpIGdpdC1wdWxsKDEpIHBlciB1bHRlcmlvcmkgZGV0dGFnbGkuIgorCisjOiBidWlsdGluL3B1bGwuYzo0NTUgYnVpbHRpbi9wdWxsLmM6NDYxIGJ1aWx0aW4vcHVsbC5jOjQ3MAorIzogYnVpbHRpbi9yZWJhc2UuYzoxMzgxIGdpdC1wYXJzZS1yZW1vdGUuc2g6NjQKK21zZ2lkICI8cmVtb3RlPiIKK21zZ3N0ciAiPHJlbW90bz4iCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1NSBidWlsdGluL3B1bGwuYzo0NzAgYnVpbHRpbi9wdWxsLmM6NDc1CisjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1Cittc2dpZCAiPGJyYW5jaD4iCittc2dzdHIgIjxicmFuY2g+IgorCisjOiBidWlsdGluL3B1bGwuYzo0NjMgYnVpbHRpbi9yZWJhc2UuYzoxMzczIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKK21zZ2lkICJUaGVyZSBpcyBubyB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKK21zZ3N0ciAiTm9uIGNpIHNvbm8gaW5mb3JtYXppb25pIGRpIHRyYWNjaWFtZW50byBwZXIgaWwgYnJhbmNoIGNvcnJlbnRlLiIKKworIzogYnVpbHRpbi9wdWxsLmM6NDcyIGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKK21zZ2lkICIiCisiSWYgeW91IHdpc2ggdG8gc2V0IHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGlzIGJyYW5jaCB5b3UgY2FuIGRvIHNvIHdpdGg6IgorbXNnc3RyICIiCisiU2UgdnVvaSBpbXBvc3RhcmUgbGUgaW5mb3JtYXppb25pIGRpIHRyYWNjaWFtZW50byBwZXIgcXVlc3RvIGJyYW5jaCBwdW9pICIKKyJmYXJsbyBjb246IgorCisjOiBidWlsdGluL3B1bGwuYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdXIgY29uZmlndXJhdGlvbiBzcGVjaWZpZXMgdG8gbWVyZ2Ugd2l0aCB0aGUgcmVmICclcydcbiIKKyJmcm9tIHRoZSByZW1vdGUsIGJ1dCBubyBzdWNoIHJlZiB3YXMgZmV0Y2hlZC4iCittc2dzdHIgIiIKKyJMYSB0dWEgY29uZmlndXJhemlvbmUgc3BlY2lmaWNhIGNoZSBkZXZlIGVzc2VyZSBlc2VndWl0b1xuIgorImlsIG1lcmdlIGNvbiBpbCByaWZlcmltZW50byAnJXMnIGRlbCByZW1vdG8sIG1hIHVuIHRhbGVcbiIKKyJyaWZlcmltZW50byBub24gw6ggc3RhdG8gcmVjdXBlcmF0by4iCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYWNjZXNzIGNvbW1pdCAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYWNjZWRlcmUgYWwgY29tbWl0ICVzIgorCisjOiBidWlsdGluL3B1bGwuYzo4NjcKK21zZ2lkICJpZ25vcmluZyAtLXZlcmlmeS1zaWduYXR1cmVzIGZvciByZWJhc2UiCittc2dzdHIgImlnbm9ybyAtLXZlcmlmeS1zaWduYXR1cmUgcGVyIGlsIHJlYmFzZSIKKworIzogYnVpbHRpbi9wdWxsLmM6OTIyCittc2dpZCAiLS1bbm8tXWF1dG9zdGFzaCBvcHRpb24gaXMgb25seSB2YWxpZCB3aXRoIC0tcmViYXNlLiIKK21zZ3N0ciAibCdvcHppb25lIC0tW25vLV1hdXRvc3Rhc2ggb3B0aW9uIMOoIHZhbGlkYSBzb2xvIGNvbiAtLXJlYmFzZS4iCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjkzMAorbXNnaWQgIlVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleC4iCittc2dzdHIgIkFnZ2lvcm5vIHVuIGJyYW5jaCBub24gbmF0byBjb24gbGUgbW9kaWZpY2hlIGFnZ2l1bnRlIGFsbCdpbmRpY2UuIgorCisjOiBidWlsdGluL3B1bGwuYzo5MzQKK21zZ2lkICJwdWxsIHdpdGggcmViYXNlIgorbXNnc3RyICJwdWxsIGNvbiByZWJhc2UiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjkzNQorbXNnaWQgInBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCittc2dzdHIgImVzZWd1aW5lIGlsIGNvbW1pdCBvIGxvIHN0YXNoLiIKKworIzogYnVpbHRpbi9wdWxsLmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJmZXRjaCB1cGRhdGVkIHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkLlxuIgorImZhc3QtZm9yd2FyZGluZyB5b3VyIHdvcmtpbmcgdHJlZSBmcm9tXG4iCisiY29tbWl0ICVzLiIKK21zZ3N0ciAiIgorImlsIGZldGNoIGhhIGFnZ2lvcm5hdG8gbCdoZWFkIGRlbFxuIgorImJyYW5jaCBjb3JyZW50ZS5cbiIKKyJFc2VndW8gaWwgZmFzdCBmb3J3YXJkIGRlbGwnYWxiZXJvXG4iCisiZGkgbGF2b3JvIGRhbCBjb21taXQgJXMuIgorCisjOiBidWlsdGluL3B1bGwuYzo5NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNhbm5vdCBmYXN0LWZvcndhcmQgeW91ciB3b3JraW5nIHRyZWUuXG4iCisiQWZ0ZXIgbWFraW5nIHN1cmUgdGhhdCB5b3Ugc2F2ZWQgYW55dGhpbmcgcHJlY2lvdXMgZnJvbVxuIgorIiQgZ2l0IGRpZmYgJXNcbiIKKyJvdXRwdXQsIHJ1blxuIgorIiQgZ2l0IHJlc2V0IC0taGFyZFxuIgorInRvIHJlY292ZXIuIgorbXNnc3RyICIiCisiSW1wb3NzaWJpbGUgZXNlZ3VpcmUgaWwgZmFzdCBmb3J3YXJkIGRlbGwnYWxiZXJvXG4iCisiZGkgbGF2b3JvLlxuIgorIkRvcG8gZXNzZXJ0aSBhc3NpY3VyYXRvIGRpIGF2ZXIgc2FsdmF0byB0dXR0byBjacOyXG4iCisiY2hlIMOoIGltcG9ydGFudGUgZGFsbCdvdXRwdXQgZGlcbiIKKyIkIGdpdCBkaWZmICVzXG4iCisiZXNlZ3VpXG4iCisiJCBnaXQgcmVzZXQgLS1oYXJkXG4iCisicGVyIGVzZWd1aXJlIGlsIHJpcHJpc3Rpbm8uIgorCisjOiBidWlsdGluL3B1bGwuYzo5ODEKK21zZ2lkICJDYW5ub3QgbWVyZ2UgbXVsdGlwbGUgYnJhbmNoZXMgaW50byBlbXB0eSBoZWFkLiIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgZXNlZ3VpcmUgaWwgbWVyZ2UgZGkgcGnDuSBicmFuY2ggaW4gdW4gaGVhZCB2dW90by4iCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjk4NQorbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcy4iCittc2dzdHIgIkltcG9zc2liaWxlIGVzZWd1aXJlIGlsIHJlYmFzZSBzdSBwacO5IGJyYW5jaC4iCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjk5MgorbXNnaWQgImNhbm5vdCByZWJhc2Ugd2l0aCBsb2NhbGx5IHJlY29yZGVkIHN1Ym1vZHVsZSBtb2RpZmljYXRpb25zIgorbXNnc3RyICIiCisiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgaWwgcmViYXNlIHNlIGNpIHNvbm8gZGVsbGUgbW9kaWZpY2hlIHJlZ2lzdHJhdGUgIgorImxvY2FsbWVudGUgYWkgc290dG9tb2R1bGkiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjE5Cittc2dpZCAiZ2l0IHB1c2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCittc2dzdHIgImdpdCBwdXNoIFs8b3B6aW9uaT5dIFs8cmVwb3NpdG9yeT4gWzxzcGVjaWZpY2F0b3JlIHJpZmVyaW1lbnRvPi4uLl1dIgorCisjOiBidWlsdGluL3B1c2guYzoxMTIKK21zZ2lkICJ0YWcgc2hvcnRoYW5kIHdpdGhvdXQgPHRhZz4iCittc2dzdHIgImVzZWd1aSBpbCB0YWcgZGVsbGEgZm9ybWEgYnJldmUgc2VuemEgPHRhZz4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjEyMgogbXNnaWQgIi0tZGVsZXRlIG9ubHkgYWNjZXB0cyBwbGFpbiB0YXJnZXQgcmVmIG5hbWVzIgogbXNnc3RyICItLWRlbGV0ZSBhY2NldHRhIHNvbG8gbm9taSBkZWkgcmVmIGRpIGRlc3RpbmF6aW9uZSBpbiBjaGlhcm8iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjk5CisjOiBidWlsdGluL3B1c2guYzoxNjgKIG1zZ2lkICIiCiAiXG4iCiAiVG8gY2hvb3NlIGVpdGhlciBvcHRpb24gcGVybWFuZW50bHksIHNlZSBwdXNoLmRlZmF1bHQgaW4gJ2dpdCBoZWxwIGNvbmZpZycuIgogbXNnc3RyICIiCisiXG4iCisiUGVyIHNjZWdsaWVyZSBwZXJtYW5lbnRlbWVudGUgdW5hIGRlbGxlIGR1ZSBvcHppb25pLCB2ZWRpIHB1c2guZGVmYXVsdCBpbiAiCisiJ2dpdCBoZWxwIGNvbmZpZycuIgogCi0jOiBidWlsdGluL3B1c2guYzoxMDIKKyM6IGJ1aWx0aW4vcHVzaC5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHVwc3RyZWFtIGJyYW5jaCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGRvZXMgbm90IG1hdGNoXG4iCkBAIC0zODIyLDExICsxNzU4MCwyMSBAQAogIlxuIgogIlRvIHB1c2ggdG8gdGhlIGJyYW5jaCBvZiB0aGUgc2FtZSBuYW1lIG9uIHRoZSByZW1vdGUsIHVzZVxuIgogIlxuIgotIiAgICBnaXQgcHVzaCAlcyAlc1xuIgorIiAgICBnaXQgcHVzaCAlcyBIRUFEXG4iCiAiJXMiCiBtc2dzdHIgIiIKKyJJbCBicmFuY2ggdXBzdHJlYW0gZGVsIGJyYW5jaCBhdHR1YWxlIG5vbiBjb3JyaXNwb25kZSBhbFxuIgorIm5vbWUgZGVsIGJyYW5jaCBhdHR1YWxlLiBQZXIgZXNlZ3VpcmUgaWwgcHVzaCBhbCBicmFuY2ggdXBzdHJlYW1cbiIKKyJkZWwgcmVtb3RvLCB1c2FcbiIKKyJcbiIKKyIgICAgZ2l0IHB1c2ggJXMgSEVBRDolc1xuIgorIlxuIgorIlBlciBlc2VndWlyZSBpbCBwdXNoIGFsIGJyYW5jaCBjb24gbG8gc3Rlc3NvIG5vbWUgZGVsIHJlbW90bywgdXNhXG4iCisiXG4iCisiICAgIGdpdCBwdXNoICVzIEhFQURcbiIKKyIlcyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTIxCisjOiBidWlsdGluL3B1c2guYzoxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC5cbiIKQEAgLTM4MzUsOCArMTc2MDMsMTMgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggJXMgSEVBRDo8bmFtZS1vZi1yZW1vdGUtYnJhbmNoPlxuIgogbXNnc3RyICIiCisiQXR0dWFsbWVudGUgbm9uIHNlaSBzdSB1biBicmFuY2guXG4iCisiUGVyIGVzZWd1aXJlIG9yYSBpbCBwdXNoIGRlbGxhIGNyb25vbG9naWEgY2hlIGhhIGNvbmRvdHRvXG4iCisiYWxsbyBzdGF0byBjb3JyZW50ZSAoSEVBRCBzY29sbGVnYXRvKSwgdXNhXG4iCisiXG4iCisiICAgIGdpdCBwdXNoICVzIEhFQUQ6PG5vbWUgZGVsIGJyYW5jaCByZW1vdG8+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEyOAorIzogYnVpbHRpbi9wdXNoLmM6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG5vIHVwc3RyZWFtIGJyYW5jaC5cbiIKQEAgLTM4NDUsNjkgKzE3NjE4LDE5MCBAQAogIiAgICBnaXQgcHVzaCAtLXNldC11cHN0cmVhbSAlcyAlc1xuIgogbXNnc3RyICIiCiAiSWwgYnJhbmNoIGNvcnJlbnRlICVzIG5vbiBoYSBhbGN1biBicmFuY2ggdXBzdHJlYW0uXG4iCi0iUGVyIGVzZWd1aXJlIGlsIHB1c2ggZGVsIGJyYW5jaCBjb3JyZW50ZSBlZCBpbXBvc3RhcmUgcmVtb3RlIGNvbWUgdXBzdHJlYW0sIHVzYVxuIgorIlBlciBlc2VndWlyZSBpbCBwdXNoIGRlbCBicmFuY2ggY29ycmVudGUgZWQgaW1wb3N0YXJlIGlsIHJlbW90byBjb21lICIKKyJ1cHN0cmVhbSwgdXNhXG4iCiAiXG4iCiAiICAgIGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEzNgorIzogYnVpbHRpbi9wdXNoLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbXVsdGlwbGUgdXBzdHJlYW0gYnJhbmNoZXMsIHJlZnVzaW5nIHRvIHB1c2guIgotbXNnc3RyICJJbCBicmFuY2ggY29ycmVudGUgJXMgaGEgYnJhbmNoIG11bHRpcGxpIGluIHVwc3RyZWFtOyBwdXNoIG5vbiBlc2VndWl0by4iCittc2dzdHIgIiIKKyJJbCBicmFuY2ggY29ycmVudGUgJXMgaGEgcGnDuSBicmFuY2ggdXBzdHJlYW0sIG1pIHJpZml1dG8gZGkgZXNlZ3VpcmUgaWwgcHVzaC4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjEzOQorIzogYnVpbHRpbi9wdXNoLmM6MjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIHB1c2hpbmcgdG8gcmVtb3RlICclcycsIHdoaWNoIGlzIG5vdCB0aGUgdXBzdHJlYW0gb2ZcbiIKICJ5b3VyIGN1cnJlbnQgYnJhbmNoICclcycsIHdpdGhvdXQgdGVsbGluZyBtZSB3aGF0IHRvIHB1c2hcbiIKICJ0byB1cGRhdGUgd2hpY2ggcmVtb3RlIGJyYW5jaC4iCiBtc2dzdHIgIiIKKyJTdGFpIGVzZWd1ZW5kbyBpbCBwdXNoIGFsIHJlbW90byAnJXMnLCBjaGUgbm9uIMOoIGwndXBzdHJlYW0gZGVsXG4iCisiYnJhbmNoIGNvcnJlbnRlICclcycsIHNlbnphIGRpcm1pIGRpIGNvc2EgZGV2byBlc2VndWlyZSBpbCBwdXNoXG4iCisicGVyIGFnZ2lvcm5hcmUgcXVhbGUgYnJhbmNoIHJlbW90by4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE3NAorIzogYnVpbHRpbi9wdXNoLmM6MjcwCiBtc2dpZCAiIgogIllvdSBkaWRuJ3Qgc3BlY2lmeSBhbnkgcmVmc3BlY3MgdG8gcHVzaCwgYW5kIHB1c2guZGVmYXVsdCBpcyBcIm5vdGhpbmdcIi4iCiBtc2dzdHIgIiIKLSJOb24gw6ggc3RhdG8gc3BlY2lmaWNhdG8gYWxjdW4gcmVmc3BlYyBwZXIgaWwgcHVzaCwgZSBwdXNoLmRlZmF1bHQgw6ggXCJub3RoaW5nXCIuIgorIk5vbiDDqCBzdGF0byBzcGVjaWZpY2F0byBhbGN1biByZWZzcGVjIHBlciBpbCBwdXNoLCBlIHB1c2guZGVmYXVsdCDDqCBcIm5vdGhpbmciCisiXCIuIgogCi0jOiBidWlsdGluL3B1c2guYzoxODEKKyM6IGJ1aWx0aW4vcHVzaC5jOjI3NwogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGlwIG9mIHlvdXIgY3VycmVudCBicmFuY2ggaXMgYmVoaW5kXG4iCi0iaXRzIHJlbW90ZSBjb3VudGVycGFydC4gTWVyZ2UgdGhlIHJlbW90ZSBjaGFuZ2VzIChlLmcuICdnaXQgcHVsbCcpXG4iCi0iYmVmb3JlIHB1c2hpbmcgYWdhaW4uXG4iCisiaXRzIHJlbW90ZSBjb3VudGVycGFydC4gSW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlcyAoZS5nLlxuIgorIidnaXQgcHVsbCAuLi4nKSBiZWZvcmUgcHVzaGluZyBhZ2Fpbi5cbiIKICJTZWUgdGhlICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGluICdnaXQgcHVzaCAtLWhlbHAnIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAiIgorIkdsaSBhZ2dpb3JuYW1lbnRpIHNvbm8gc3RhdGkgcmlmaXV0YXRpIHBlcmNow6kgbCd1bHRpbW8gY29tbWl0IGRlbCBicmFuY2hcbiIKKyJhdHR1YWxlIMOoIHJpbWFzdG8gaW5kaWV0cm8gcmlzcGV0dG8gYWxsYSBzdWEgY29udHJvcGFydGUgcmVtb3RhLlxuIgorIkludGVncmEgbGUgbW9kaWZpY2hlIHJlbW90ZSAoYWQgZXMuIGNvbiAnZ2l0IHB1bGwgLi4uJykgcHJpbWEgZGlcbiIKKyJlc2VndWlyZSBudW92YW1lbnRlIGlsIHB1c2guXG4iCisiVmVkaSBsYSAnTm90YSBzdWkgZmFzdCBmb3J3YXJkJyBpbiAnZ2l0IHB1c2ggLS1oZWxwJyBwZXIgdWx0ZXJpb3JpXG4iCisiZGV0dGFnbGkuIgogCi0jOiBidWlsdGluL3B1c2guYzoxODcKKyM6IGJ1aWx0aW4vcHVzaC5jOjI4MwogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCi0iY291bnRlcnBhcnQuIElmIHlvdSBkaWQgbm90IGludGVuZCB0byBwdXNoIHRoYXQgYnJhbmNoLCB5b3UgbWF5IHdhbnQgdG9cbiIKLSJzcGVjaWZ5IGJyYW5jaGVzIHRvIHB1c2ggb3Igc2V0IHRoZSAncHVzaC5kZWZhdWx0JyBjb25maWd1cmF0aW9uXG4iCi0idmFyaWFibGUgdG8gJ2N1cnJlbnQnIG9yICd1cHN0cmVhbScgdG8gcHVzaCBvbmx5IHRoZSBjdXJyZW50IGJyYW5jaC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbi9wdXNoLmM6MTkzCi1tc2dpZCAiIgotIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIGEgcHVzaGVkIGJyYW5jaCB0aXAgaXMgYmVoaW5kIGl0cyByZW1vdGVcbiIKLSJjb3VudGVycGFydC4gQ2hlY2sgb3V0IHRoaXMgYnJhbmNoIGFuZCBtZXJnZSB0aGUgcmVtb3RlIGNoYW5nZXNcbiIKLSIoZS5nLiAnZ2l0IHB1bGwnKSBiZWZvcmUgcHVzaGluZyBhZ2Fpbi5cbiIKKyJjb3VudGVycGFydC4gQ2hlY2sgb3V0IHRoaXMgYnJhbmNoIGFuZCBpbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzXG4iCisiKGUuZy4gJ2dpdCBwdWxsIC4uLicpIGJlZm9yZSBwdXNoaW5nIGFnYWluLlxuIgogIlNlZSB0aGUgJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCcgZm9yIGRldGFpbHMuIgogbXNnc3RyICIiCisiR2xpIGFnZ2lvcm5hbWVudGkgc29ubyBzdGF0aSByaWZpdXRhdGkgcGVyY2jDqSBsJ3VsdGltbyBjb21taXQgZGkgdW5cbiIKKyJicmFuY2ggZGkgY3VpIMOoIHN0YXRvIGVzZWd1aXRvIGlsIHB1c2ggw6ggcmltYXN0byBpbmRpZXRybyByaXNwZXR0b1xuIgorImFsbGEgc3VhIGNvbnRyb3BhcnRlIHJlbW90YS4gRXNlZ3VpIGlsIGNoZWNrb3V0IGRpIHF1ZXN0byBicmFuY2ggZVxuIgorImludGVncmEgbGUgbW9kaWZpY2hlIHJlbW90ZSAoYWQgZXMuIGNvbiAnZ2l0IHB1bGwgLi4uJykgcHJpbWEgZGlcbiIKKyJlc2VndWlyZSBudW92YW1lbnRlIGlsIHB1c2guXG4iCisiVmVkaSBsYSAnTm90YSBzdWkgZmFzdCBmb3J3YXJkJyBpbiAnZ2l0IHB1c2ggLS1oZWxwJyBwZXIgdWx0ZXJpb3JpXG4iCisiZGV0dGFnbGkuIgogCi0jOiBidWlsdGluL3B1c2guYzoyMzMKKyM6IGJ1aWx0aW4vcHVzaC5jOjI4OQorbXNnaWQgIiIKKyJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcmVtb3RlIGNvbnRhaW5zIHdvcmsgdGhhdCB5b3UgZG9cbiIKKyJub3QgaGF2ZSBsb2NhbGx5LiBUaGlzIGlzIHVzdWFsbHkgY2F1c2VkIGJ5IGFub3RoZXIgcmVwb3NpdG9yeSBwdXNoaW5nXG4iCisidG8gdGhlIHNhbWUgcmVmLiBZb3UgbWF5IHdhbnQgdG8gZmlyc3QgaW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlc1xuIgorIihlLmcuLCAnZ2l0IHB1bGwgLi4uJykgYmVmb3JlIHB1c2hpbmcgYWdhaW4uXG4iCisiU2VlIHRoZSAnTm90ZSBhYm91dCBmYXN0LWZvcndhcmRzJyBpbiAnZ2l0IHB1c2ggLS1oZWxwJyBmb3IgZGV0YWlscy4iCittc2dzdHIgIiIKKyJHbGkgYWdnaW9ybmFtZW50aSBzb25vIHN0YXRpIHJpZml1dGF0aSBwZXJjaMOpIGlsIHJlbW90byBjb250aWVuZSBkZWxsZVxuIgorIm1vZGlmaWNoZSBjaGUgbm9uIGhhaSBsb2NhbG1lbnRlLiBDacOyIHNvbGl0YW1lbnRlIMOoIGNhdXNhdG8gZGEgdW4gcHVzaFxuIgorImRhIHVuIGFsdHJvIHJlcG9zaXRvcnkgYWxsbyBzdGVzc28gcmlmZXJpbWVudG8uIFBvdHJlc3RpIHZvbGVyIGludGVncmFyZVxuIgorImxlIG1vZGlmaWNoZSByZW1vdGUgKGFkIGVzLiBjb24gJ2dpdCBwdWxsIC4uLicpIHByaW1hIGRpIGVzZWd1aXJlXG4iCisibnVvdmFtZW50ZSBpbCBwdXNoLlxuIgorIlZlZGkgbGEgJ05vdGEgc3VpIGZhc3QgZm9yd2FyZCcgaW4gJ2dpdCBwdXNoIC0taGVscCcgcGVyIHVsdGVyaW9yaVxuIgorImRldHRhZ2xpLiIKKworIzogYnVpbHRpbi9wdXNoLmM6Mjk2Cittc2dpZCAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRhZyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgcmVtb3RlLiIKK21zZ3N0ciAiIgorIkdsaSBhZ2dpb3JuYW1lbnRpIHNvbm8gc3RhdGkgcmlmaXV0YXRpIHBlcmNow6kgaWwgdGFnIGVzaXN0ZSBnacOgIG5lbCByZW1vdG8uIgorCisjOiBidWlsdGluL3B1c2guYzoyOTkKK21zZ2lkICIiCisiWW91IGNhbm5vdCB1cGRhdGUgYSByZW1vdGUgcmVmIHRoYXQgcG9pbnRzIGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCisib3IgdXBkYXRlIGEgcmVtb3RlIHJlZiB0byBtYWtlIGl0IHBvaW50IGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCisid2l0aG91dCB1c2luZyB0aGUgJy0tZm9yY2UnIG9wdGlvbi5cbiIKK21zZ3N0ciAiIgorIk5vbiBwdW9pIGFnZ2lvcm5hcmUgdW4gcmlmZXJpbWVudG8gcmVtb3RvIGNoZSBwdW50YSBhIHVuIG9nZ2V0dG9cbiIKKyJkaXZlcnNvIGRhIHVuIGNvbW1pdCBvIGFnZ2lvcm5hcmUgdW4gcmlmZXJpbWVudG8gcmVtb3RvIHBlciBmYXJsb1xuIgorInB1bnRhcmUgYSB1biBvZ2dldHRvIGRpdmVyc28gZGEgdW4gY29tbWl0IHNlbnphIHVzYXJlIGwnb3B6aW9uZVxuIgorIictLWZvcmNlJy5cbiIKKworIzogYnVpbHRpbi9wdXNoLmM6MzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlB1c2hpbmcgdG8gJXNcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJQdXNoIHN1ICVzIGluIGNvcnNvXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIzNworIzogYnVpbHRpbi9wdXNoLmM6MzY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwdXNoIHNvbWUgcmVmcyB0byAnJXMnIgotbXNnc3RyICIiCittc2dzdHIgInB1c2ggZGkgYWxjdW5pIHJpZmVyaW1lbnRpIHN1ICclcycgbm9uIHJpdXNjaXRvIgogCi0jOiBidWlsdGluL3B1c2guYzoyNjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MgorbXNnaWQgInJlcG9zaXRvcnkiCittc2dzdHIgInJlcG9zaXRvcnkiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MyBidWlsdGluL3NlbmQtcGFjay5jOjE2NAorbXNnaWQgInB1c2ggYWxsIHJlZnMiCittc2dzdHIgImVzZWd1aSBpbCBwdXNoIGRpIHR1dHRpIGkgcmlmZXJpbWVudGkiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NCBidWlsdGluL3NlbmQtcGFjay5jOjE2NgorbXNnaWQgIm1pcnJvciBhbGwgcmVmcyIKK21zZ3N0ciAiZXNlZ3VpIGlsIG1pcnJvciBkaSB0dXR0aSBpIHJpZmVyaW1lbnRpIgorCisjOiBidWlsdGluL3B1c2guYzo1NDYKK21zZ2lkICJkZWxldGUgcmVmcyIKK21zZ3N0ciAiZWxpbWluYSByaWZlcmltZW50aSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ3Cittc2dpZCAicHVzaCB0YWdzIChjYW4ndCBiZSB1c2VkIHdpdGggLS1hbGwgb3IgLS1taXJyb3IpIgorbXNnc3RyICJlc2VndWkgaWwgcHVzaCBkZWkgdGFnIChub24gcHXDsiBlc3NlcmUgdXNhdG8gY29uIC0tYWxsIG8gLS1taXJyb3IpIgorCisjOiBidWlsdGluL3B1c2guYzo1NTAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjcKK21zZ2lkICJmb3JjZSB1cGRhdGVzIgorbXNnc3RyICJmb3J6YSBnbGkgYWdnaW9ybmFtZW50aSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTUyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgxCittc2dpZCAiPHJlZm5hbWU+OjxleHBlY3Q+IgorbXNnc3RyICI8bm9tZSByaWZlcmltZW50bz46PHZhbG9yZSBhdHRlc28+IgorCisjOiBidWlsdGluL3B1c2guYzo1NTMgYnVpbHRpbi9zZW5kLXBhY2suYzoxODIKK21zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKK21zZ3N0ciAiIgorInJpY2hpZWRpIGNoZSBpbCB2ZWNjaGlvIHZhbG9yZSBkZWwgcmlmZXJpbWVudG8gY29ycmlzcG9uZGEgYSBxdWVzdG8gdmFsb3JlIgorCisjOiBidWlsdGluL3B1c2guYzo1NTYKK21zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCittc2dzdHIgImNvbnRyb2xsYSBpbCBwdXNoIHJpY29yc2l2byBkZWkgc290dG9tb2R1bGkiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1OCBidWlsdGluL3NlbmQtcGFjay5jOjE3NQorbXNnaWQgInVzZSB0aGluIHBhY2siCittc2dzdHIgInVzYSB1biB0aGluIHBhY2siCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1OSBidWlsdGluL3B1c2guYzo1NjAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCittc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCittc2dzdHIgInByb2dyYW1tYSByaWNlemlvbmUgcGFjayIKKworIzogYnVpbHRpbi9wdXNoLmM6NTYxCittc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCittc2dzdHIgImltcG9zdGEgbCd1cHN0cmVhbSBwZXIgZ2l0IHB1bGwvc3RhdHVzIgorCisjOiBidWlsdGluL3B1c2guYzo1NjQKK21zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKK21zZ3N0ciAiZWxpbWluYSBpIHJpZmVyaW1lbnRpIHJpbW9zc2kgbG9jYWxtZW50ZSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTY2Cittc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCittc2dzdHIgImlnbm9yYSBsJ2hvb2sgcHJlLXB1c2giCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2NworbXNnaWQgInB1c2ggbWlzc2luZyBidXQgcmVsZXZhbnQgdGFncyIKK21zZ3N0ciAiZXNlZ3VpIGlsIHB1c2ggZGVpIHRhZyBtYW5jYW50aSBtYSByaWxldmFudGkiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MCBidWlsdGluL3NlbmQtcGFjay5jOjE2OQorbXNnaWQgIkdQRyBzaWduIHRoZSBwdXNoIgorbXNnc3RyICJmaXJtYSBpbCBwdXNoIGNvbiBHUEciCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MiBidWlsdGluL3NlbmQtcGFjay5jOjE3NgorbXNnaWQgInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIgorbXNnc3RyICJyaWNoaWVkaSBsJ2F0b21pY2l0w6AgZGVsbGEgdHJhbnNhemlvbmUgYWwgcmVtb3RvIgorCisjOiBidWlsdGluL3B1c2guYzo1OTAKK21zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKK21zZ3N0ciAiLS1kZWxldGUgbm9uIMOoIGNvbXBhdGliaWxlIGNvbiAtLWFsbCwgLS1taXJyb3IgZSAtLXRhZ3MiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU5MgorbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgorbXNnc3RyICItLWRlbGV0ZSBub24gaGEgc2Vuc28gc2VuemEgYWxjdW4gcmVmIgorCisjOiBidWlsdGluL3B1c2guYzo2MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKIG1zZ3N0ciAicmVwb3NpdG9yeSAnJXMnIGVycmF0byIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjcwCisjOiBidWlsdGluL3B1c2guYzo2MTMKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgogIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSAiCkBAIC0zOTI5LDMzICsxNzgyMywxMDQwIEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIDxub21lPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzoyODUKKyM6IGJ1aWx0aW4vcHVzaC5jOjYyOAogbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwgZSAtLXRhZ3Mgbm9uIHNvbm8gY29tcGF0aWJpbGkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI4NgorIzogYnVpbHRpbi9wdXNoLmM6NjMwCiBtc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKLW1zZ3N0ciAiIgorbXNnc3RyICItLWFsbCBub24gcHXDsiBlc3NlcmUgY29tYmluYXRvIGNvbiBkZWdsaSBzcGVjaWZpY2F0b3JpIHJpZmVyaW1lbnRvIgogCi0jOiBidWlsdGluL3B1c2guYzoyOTEKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzNAogbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1taXJyb3IgZSAtLXRhZ3Mgbm9uIHNvbm8gY29tcGF0aWJpbGkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI5MgorIzogYnVpbHRpbi9wdXNoLmM6NjM2CiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKLW1zZ3N0ciAiIgorbXNnc3RyICItLW1pcnJvciBub24gcHXDsiBlc3NlcmUgY29tYmluYXRvIGNvbiBkZWdsaSBzcGVjaWZpY2F0b3JpIHJpZmVyaW1lbnRvIgogCi0jOiBidWlsdGluL3B1c2guYzoyOTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzOQogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCBlIC0tbWlycm9yIG5vbiBzb25vIGNvbXBhdGliaWxpIgogCi0jOiBidWlsdGluL3B1c2guYzozODUKLW1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKLW1zZ3N0ciAiLS1kZWxldGUgbm9uIMOoIGNvbXBhdGliaWxlIGNvbiAtLWFsbCwgLS1taXJyb3IgZSAtLXRhZ3MiCisjOiBidWlsdGluL3B1c2guYzo2NDMKK21zZ2lkICJwdXNoIG9wdGlvbnMgbXVzdCBub3QgaGF2ZSBuZXcgbGluZSBjaGFyYWN0ZXJzIgorbXNnc3RyICJsZSBvcHppb25pIHB1c2ggbm9uIGRldm9ubyBhdmVyZSBjYXJhdHRlcmkgZGkgZmluZSByaWdhIgogCi0jOiBidWlsdGluL3B1c2guYzozODcKLW1zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKLW1zZ3N0ciAiLS1kZWxldGUgbm9uIGhhIHNlbnNvIHNlbnphIGFsY3VuIHJlZiIKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjgKK21zZ2lkICJnaXQgcmFuZ2UtZGlmZiBbPG9wdGlvbnM+XSA8b2xkLWJhc2U+Li48b2xkLXRpcD4gPG5ldy1iYXNlPi4uPG5ldy10aXA+IgorbXNnc3RyICIiCisiZ2l0IHJhbmdlLWRpZmYgWzxvcHppb25pPl0gPHZlY2NoaWEgYmFzZT4uLjx2ZWNjaGlvIHVsdGltbyBjb21taXQ+IDxudW92YSAiCisiYmFzZT4uLjxudW92byB1bHRpbW8gY29tbWl0PiIKKworIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6OQorbXNnaWQgImdpdCByYW5nZS1kaWZmIFs8b3B0aW9ucz5dIDxvbGQtdGlwPi4uLjxuZXctdGlwPiIKK21zZ3N0ciAiIgorImdpdCByYW5nZS1kaWZmIFs8b3B6aW9uaT5dIDx2ZWNjaGlvIHVsdGltbyBjb21taXQ+Li4uPG51b3ZvIHVsdGltbyBjb21taXQ+IgorCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoxMAorbXNnaWQgImdpdCByYW5nZS1kaWZmIFs8b3B0aW9ucz5dIDxiYXNlPiA8b2xkLXRpcD4gPG5ldy10aXA+IgorbXNnc3RyICIiCisiZ2l0IHJhbmdlLWRpZmYgWzxvcHppb25pPl0gPGJhc2U+IDx2ZWNjaGlvIHVsdGltbyBjb21taXQ+IDxudW92byB1bHRpbW8gIgorImNvbW1pdD4iCisKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjIyCittc2dpZCAiUGVyY2VudGFnZSBieSB3aGljaCBjcmVhdGlvbiBpcyB3ZWlnaHRlZCIKK21zZ3N0ciAiUGVyY2VudHVhbGUgaW4gYmFzZSBhIGN1aSB2aWVuZSBwZXNhdGEgbGEgY3JlYXppb25lIgorCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyNAorbXNnaWQgInVzZSBzaW1wbGUgZGlmZiBjb2xvcnMiCittc2dzdHIgInVzYSBjb2xvcmkgc2VtcGxpY2kgcGVyIGlsIGRpZmYiCisKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjI2Cittc2dpZCAibm90ZXMiCittc2dzdHIgIm5vdGUiCisKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjI2Cittc2dpZCAicGFzc2VkIHRvICdnaXQgbG9nJyIKK21zZ3N0ciAicGFzc2F0byBhICdnaXQgbG9nJyIKKworIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NTAgYnVpbHRpbi9yYW5nZS1kaWZmLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gLi4gaW4gcmFuZ2U6ICclcyciCittc2dzdHIgIm5lc3N1biAuLiBuZWxsJ2ludGVydmFsbG86ICclcyciCisKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjY0Cittc2dpZCAic2luZ2xlIGFyZyBmb3JtYXQgbXVzdCBiZSBzeW1tZXRyaWMgcmFuZ2UiCittc2dzdHIgImlsIGZvcm1hdG8gZGVsbCd1bmljbyBhcmdvbWVudG8gZGV2J2Vzc2VyZSB1biBpbnRlcnZhbGxvIHNpbW1ldHJpY28iCisKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjc5Cittc2dpZCAibmVlZCB0d28gY29tbWl0IHJhbmdlcyIKK21zZ3N0ciAiZGV2b25vIGVzc2VyZSBzcGVjaWZpY2F0aSBkdWUgaW50ZXJ2YWxsaSBjb21taXQiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDEKK21zZ2lkICIiCisiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxwcmVmaXg+KSAiCisiWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLXNwYXJzZS1jaGVja291dF0gWy0tIgorImluZGV4LW91dHB1dD08ZmlsZT5dICgtLWVtcHR5IHwgPHRyZWUtaXNoMT4gWzx0cmVlLWlzaDI+IFs8dHJlZS1pc2gzPl1dKSIKK21zZ3N0ciAiIgorImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLSIKKyJwcmVmaXg9PHByZWZpc3NvPikgWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLSIKKyJzcGFyc2UtY2hlY2tvdXRdIFstLWluZGV4LW91dHB1dD08ZmlsZT5dICgtLWVtcHR5IHwgPGVzcHJlc3Npb25lIGFsYmVybyAxPiAiCisiWzxlc3ByZXNzaW9uZSBhbGJlcm8gMj4gWzxlc3ByZXNzaW9uZSBhbGJlcm8gMz5dXSkiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI0Cittc2dpZCAid3JpdGUgcmVzdWx0aW5nIGluZGV4IHRvIDxmaWxlPiIKK21zZ3N0ciAic2NyaXZpIGwnaW5kaWNlIHJpc3VsdGFudGUgaW4gPGZpbGU+IgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNworbXNnaWQgIm9ubHkgZW1wdHkgdGhlIGluZGV4IgorbXNnc3RyICJzdnVvdGEgc29sbyBsJ2luZGljZSIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjkKK21zZ2lkICJNZXJnaW5nIgorbXNnc3RyICJNZXJnZSIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzEKK21zZ2lkICJwZXJmb3JtIGEgbWVyZ2UgaW4gYWRkaXRpb24gdG8gYSByZWFkIgorbXNnc3RyICJlc2VndWkgaWwgbWVyZ2Ugb2x0cmUgYSB1bmEgbGV0dHVyYSIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzMKK21zZ2lkICIzLXdheSBtZXJnZSBpZiBubyBmaWxlIGxldmVsIG1lcmdpbmcgcmVxdWlyZWQiCittc2dzdHIgIm1lcmdlIGEgdHJlIHZpZSBzZSBub24gc29ubyByaWNoaWVzdGkgbWVyZ2UgYSBsaXZlbGxvIGRpIGZpbGUiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM1Cittc2dpZCAiMy13YXkgbWVyZ2UgaW4gcHJlc2VuY2Ugb2YgYWRkcyBhbmQgcmVtb3ZlcyIKK21zZ3N0ciAibWVyZ2UgYSB0cmUgdmllIHNlIHNvbm8gcHJlc2VudGkgYWdnaXVudGUgZWQgZWxpbWluYXppb25pIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNworbXNnaWQgInNhbWUgYXMgLW0sIGJ1dCBkaXNjYXJkIHVubWVyZ2VkIGVudHJpZXMiCittc2dzdHIgImNvbWUgLW0sIG1hIHNjYXJ0YSBsZSB2b2NpIG5vbiBzb3R0b3Bvc3RlIGEgbWVyZ2UiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM4Cittc2dpZCAiPHN1YmRpcmVjdG9yeT4vIgorbXNnc3RyICI8c290dG9kaXJlY3Rvcnk+LyIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKK21zZ2lkICJyZWFkIHRoZSB0cmVlIGludG8gdGhlIGluZGV4IHVuZGVyIDxzdWJkaXJlY3Rvcnk+LyIKK21zZ3N0ciAibGVnZ2kgbCdhbGJlcm8gbmVsbCdpbmRpY2UgaW4gPHNvdHRvZGlyZWN0b3J5Pi8iCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQyCittc2dpZCAidXBkYXRlIHdvcmtpbmcgdHJlZSB3aXRoIG1lcmdlIHJlc3VsdCIKK21zZ3N0ciAiYWdnaW9ybmEgbCdhbGJlcm8gZGkgbGF2b3JvIGNvbiBpbCByaXN1bHRhdG8gZGVsIG1lcmdlIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NAorbXNnaWQgImdpdGlnbm9yZSIKK21zZ3N0ciAiZ2l0aWdub3JlIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NQorbXNnaWQgImFsbG93IGV4cGxpY2l0bHkgaWdub3JlZCBmaWxlcyB0byBiZSBvdmVyd3JpdHRlbiIKK21zZ3N0ciAiY29uc2VudGkgbGEgc292cmFzY3JpdHR1cmEgZGVpIGZpbGUgaWdub3JhdGkgZXNwbGljaXRhbWVudGUiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ4Cittc2dpZCAiZG9uJ3QgY2hlY2sgdGhlIHdvcmtpbmcgdHJlZSBhZnRlciBtZXJnaW5nIgorbXNnc3RyICJub24gY29udHJvbGxhcmUgbCdhbGJlcm8gZGkgbGF2b3JvIGRvcG8gaWwgbWVyZ2UiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ5Cittc2dpZCAiZG9uJ3QgdXBkYXRlIHRoZSBpbmRleCBvciB0aGUgd29yayB0cmVlIgorbXNnc3RyICJub24gYWdnaW9ybmFyZSBsJ2luZGljZSBvIGwnYWxiZXJvIGRpIGxhdm9ybyIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTEKK21zZ2lkICJza2lwIGFwcGx5aW5nIHNwYXJzZSBjaGVja291dCBmaWx0ZXIiCittc2dzdHIgInNhbHRhIGwnYXBwbGljYXppb25lIGRlbCBmaWx0cm8gY2hlY2tvdXQgc3BhcnNlIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1MworbXNnaWQgImRlYnVnIHVucGFjay10cmVlcyIKK21zZ3N0ciAiZXNlZ3VpIGlsIGRlYnVnIGRpIHVucGFjay10cmVlcyIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTcKK21zZ2lkICJzdXBwcmVzcyBmZWVkYmFjayBtZXNzYWdlcyIKK21zZ3N0ciAibm9uIHZpc3VhbGl6emFyZSBpIG1lc3NhZ2dpIGRpIGZlZWRiYWNrIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE4OAorbXNnaWQgIllvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgorbXNnc3RyICJQcmltYSBkZXZpIHJpc29sdmVyZSBsJ2luZGljZSBjb3JyZW50ZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzozMgorbXNnaWQgIiIKKyJnaXQgcmViYXNlIFstaV0gW29wdGlvbnNdIFstLWV4ZWMgPGNtZD5dIFstLW9udG8gPG5ld2Jhc2U+IHwgLS1rZWVwLWJhc2VdICIKKyJbPHVwc3RyZWFtPiBbPGJyYW5jaD5dXSIKK21zZ3N0ciAiIgorImdpdCByZWJhc2UgWy1pXSBbb3B6aW9uaV0gWy0tZXhlYyA8Y29tYW5kbz5dIFstLW9udG8gPG51b3ZhIGJhc2U+IHwgLS1rZWVwLSIKKyJiYXNlXSBbPHVwc3RyZWFtPiBbPGJyYW5jaD5dXSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzozNAorbXNnaWQgIiIKKyJnaXQgcmViYXNlIFstaV0gW29wdGlvbnNdIFstLWV4ZWMgPGNtZD5dIFstLW9udG8gPG5ld2Jhc2U+XSAtLXJvb3QgWzxicmFuY2g+XSIKK21zZ3N0ciAiIgorImdpdCByZWJhc2UgWy1pXSBbb3B0aW9uc10gWy0tZXhlYyA8Y29tYW5kbz5dIFstLW9udG8gPG51b3ZhIGJhc2U+XSAtLXJvb3QgIgorIls8YnJhbmNoPl0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzYKK21zZ2lkICJnaXQgcmViYXNlIC0tY29udGludWUgfCAtLWFib3J0IHwgLS1za2lwIHwgLS1lZGl0LXRvZG8iCittc2dzdHIgImdpdCByZWJhc2UgLS1jb250aW51ZSB8IC0tYWJvcnQgfCAtLXNraXAgfCAtLWVkaXQtdG9kbyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNzcgYnVpbHRpbi9yZWJhc2UuYzoyMDEgYnVpbHRpbi9yZWJhc2UuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW51c2FibGUgdG9kbyBsaXN0OiAnJXMnIgorbXNnc3RyICJlbGVuY28gdG9kbyBpbnV0aWxpenphYmlsZTogJyVzJyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxODYgYnVpbHRpbi9yZWJhc2UuYzoyMTIgYnVpbHRpbi9yZWJhc2UuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlICclcycuIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSAnJXMnLiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyNzEKK21zZ2lkICJubyBIRUFEPyIKK21zZ3N0ciAibmVzc3VuJ0hFQUQ/IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY3JlYXJlIHVuICVzIHRlbXBvcmFuZW8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzA0Cittc2dpZCAiY291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCittc2dzdHIgImltcG9zc2liaWxlIGNvbnRyYXNzZWduYXJlIGNvbWUgaW50ZXJhdHRpdm8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzYyCittc2dpZCAiY291bGQgbm90IGdlbmVyYXRlIHRvZG8gbGlzdCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZ2VuZXJhcmUgbCdlbGVuY28gdG9kbyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0MDIKK21zZ2lkICJhIGJhc2UgY29tbWl0IG11c3QgYmUgcHJvdmlkZWQgd2l0aCAtLXVwc3RyZWFtIG9yIC0tb250byIKK21zZ3N0ciAiIgorImxlIG9wemlvbmkgLS11cHN0cmVhbSBvIC0tb250byByaWNoaWVkb25vIGNoZSBzaWEgZm9ybml0byB1biBjb21taXQgZGkgYmFzZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NTcKK21zZ2lkICJnaXQgcmViYXNlLS1pbnRlcmFjdGl2ZSBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHJlYmFzZSAtLWludGVyYWN0aXZlIFs8b3B6aW9uaT5dIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ2OQorbXNnaWQgImtlZXAgZW1wdHkgY29tbWl0cyIKK21zZ3N0ciAibWFudGllbmkgaSBjb21taXQgdnVvdGkiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDcxIGJ1aWx0aW4vcmV2ZXJ0LmM6MTI4Cittc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgorbXNnc3RyICJjb25zZW50aSBjb21taXQgY29uIG1lc3NhZ2dpIHZ1b3RpIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3MgorbXNnaWQgInJlYmFzZSBtZXJnZSBjb21taXRzIgorbXNnc3RyICJlc2VndWkgaWwgcmViYXNlIGRlaSBjb21taXQgZGkgbWVyZ2UiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDc0Cittc2dpZCAia2VlcCBvcmlnaW5hbCBicmFuY2ggcG9pbnRzIG9mIGNvdXNpbnMiCittc2dzdHIgIm1hbnRpZW5pIGkgcHVudGkgZGkgYnJhbmNoIG9yaWdpbmFsaSBkZWkgY3VnaW5pIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3NgorbXNnaWQgIm1vdmUgY29tbWl0cyB0aGF0IGJlZ2luIHdpdGggc3F1YXNoIS9maXh1cCEiCittc2dzdHIgInNwb3N0YSBpIGNvbW1pdCBjaGUgaW5pemlhbm8gY29uIHNxdWFzaCEvZml4dXAhIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3NworbXNnaWQgInNpZ24gY29tbWl0cyIKK21zZ3N0ciAiZmlybWEgaSBjb21taXQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDc5IGJ1aWx0aW4vcmViYXNlLmM6MTQ1NQorbXNnaWQgImRpc3BsYXkgYSBkaWZmc3RhdCBvZiB3aGF0IGNoYW5nZWQgdXBzdHJlYW0iCittc2dzdHIgInZpc3VhbGl6emEgdW4gZGlmZnN0YXQgZGVsbGUgbW9kaWZpY2hlIHVwc3RyZWFtIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4MQorbXNnaWQgImNvbnRpbnVlIHJlYmFzZSIKK21zZ3N0ciAiY29udGludWEgaWwgcmViYXNlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4MworbXNnaWQgInNraXAgY29tbWl0IgorbXNnc3RyICJzYWx0YSBpbCBjb21taXQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDg0Cittc2dpZCAiZWRpdCB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICJtb2RpZmljYSBsJ2VsZW5jbyB0b2RvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4NgorbXNnaWQgInNob3cgdGhlIGN1cnJlbnQgcGF0Y2giCittc2dzdHIgInZpc3VhbGl6emEgbGEgcGF0Y2ggY29ycmVudGUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDg5Cittc2dpZCAic2hvcnRlbiBjb21taXQgaWRzIGluIHRoZSB0b2RvIGxpc3QiCittc2dzdHIgImFiYnJldmlhIGdsaSBJRCBkZWkgY29tbWl0IG5lbGwnZWxlbmNvIHRvZG8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDkxCittc2dpZCAiZXhwYW5kIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKK21zZ3N0ciAiZXNwYW5kaSBnbGkgSUQgZGVpIGNvbW1pdCBuZWxsJ2VsZW5jbyB0b2RvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ5MworbXNnaWQgImNoZWNrIHRoZSB0b2RvIGxpc3QiCittc2dzdHIgImNvbnRyb2xsYSBsJ2VsZW5jbyB0b2RvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ5NQorbXNnaWQgInJlYXJyYW5nZSBmaXh1cC9zcXVhc2ggbGluZXMiCittc2dzdHIgInJpZGlzcG9uaSBsZSByaWdoZSBmaXh1cC9zcXVhc2giCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDk3Cittc2dpZCAiaW5zZXJ0IGV4ZWMgY29tbWFuZHMgaW4gdG9kbyBsaXN0IgorbXNnc3RyICJpbnNlcmlzY2kgaSBjb21hbmRpIGV4ZWMgbmVsbCdlbGVuY28gdG9kbyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTgKK21zZ2lkICJvbnRvIgorbXNnc3RyICJzdSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDEKK21zZ2lkICJyZXN0cmljdC1yZXZpc2lvbiIKK21zZ3N0ciAicmV2aXNpb25pLWxpbWl0ZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDEKK21zZ2lkICJyZXN0cmljdCByZXZpc2lvbiIKK21zZ3N0ciAibGltaXRhIGxhIHJldmlzaW9uZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDMKK21zZ2lkICJzcXVhc2gtb250byIKK21zZ3N0ciAic3F1YXNoLXN1IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwNAorbXNnaWQgInNxdWFzaCBvbnRvIgorbXNnc3RyICJlc2VndWkgbG8gc3F1YXNoIHN1IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwNgorbXNnaWQgInRoZSB1cHN0cmVhbSBjb21taXQiCittc2dzdHIgImlsIGNvbW1pdCB1cHN0cmVhbSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDgKK21zZ2lkICJoZWFkLW5hbWUiCittc2dzdHIgIm5vbWUgaGVhZCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDgKK21zZ2lkICJoZWFkIG5hbWUiCittc2dzdHIgIm5vbWUgaGVhZCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTMKK21zZ2lkICJyZWJhc2Ugc3RyYXRlZ3kiCittc2dzdHIgInN0cmF0ZWdpYSBkaSByZWJhc2UiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE0Cittc2dpZCAic3RyYXRlZ3ktb3B0cyIKK21zZ3N0ciAib3B6aW9uaSBzdHJhdGVnaWEiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE1Cittc2dpZCAic3RyYXRlZ3kgb3B0aW9ucyIKK21zZ3N0ciAib3B6aW9uaSBzdHJhdGVnaWEiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE2Cittc2dpZCAic3dpdGNoLXRvIgorbXNnc3RyICJwYXNzYSBhIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxNworbXNnaWQgInRoZSBicmFuY2ggb3IgY29tbWl0IHRvIGNoZWNrb3V0IgorbXNnc3RyICJpbCBicmFuY2ggbyBpbCBjb21taXQgZGkgY3VpIGVzZWd1aXJlIGlsIGNoZWNrb3V0IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOAorbXNnaWQgIm9udG8tbmFtZSIKK21zZ3N0ciAibm9tZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTgKK21zZ2lkICJvbnRvIG5hbWUiCittc2dzdHIgInN1bCBub21lIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOQorbXNnaWQgImNtZCIKK21zZ3N0ciAiY29tYW5kbyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTkKK21zZ2lkICJ0aGUgY29tbWFuZCB0byBydW4iCittc2dzdHIgImlsIGNvbWFuZG8gZGEgZXNlZ3VpcmUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTIyIGJ1aWx0aW4vcmViYXNlLmM6MTU0MAorbXNnaWQgImF1dG9tYXRpY2FsbHkgcmUtc2NoZWR1bGUgYW55IGBleGVjYCB0aGF0IGZhaWxzIgorbXNnc3RyICJzY2hlZHVsYSBudW92YW1lbnRlIGxlIG9wZXJhemlvbmkgYGV4ZWNgIG5vbiByaXVzY2l0ZSBhdXRvbWF0aWNhbWVudGUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTQwCittc2dpZCAiLS1bbm8tXXJlYmFzZS1jb3VzaW5zIGhhcyBubyBlZmZlY3Qgd2l0aG91dCAtLXJlYmFzZS1tZXJnZXMiCittc2dzdHIgIi0tW25vLV1yZWJhc2UtY291c2lucyBub24gaGEgZWZmZXR0byBzZW56YSAtLXJlYmFzZS1tZXJnZXMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGludGVyYWN0aXZlIHJlYmFzZSIKK21zZ3N0ciAiJXMgcmljaGllZGUgdW4gcmViYXNlIGludGVyYXR0aXZvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZ2V0ICdvbnRvJzogJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgb3R0ZW5lcmUgJ29udG8nOiAnJXMnIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjYyMworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG9yaWctaGVhZDogJyVzJyIKK21zZ3N0ciAib3JpZy1oZWFkIG5vbiB2YWxpZGE6ICclcyciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIGludmFsaWQgYWxsb3dfcmVyZXJlX2F1dG91cGRhdGU6ICclcyciCittc2dzdHIgImlnbm9ybyBpbCB2YWxvcmUgbm9uIHZhbGlkbyBwZXIgYWxsb3dfcmVyZXJlX2F1dG91cGRhdGU6ICclcyciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCByZWFkICclcyciCittc2dzdHIgIkltcG9zc2liaWxlIGxlZ2dlcmUgJyVzJyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHN0b3JlICVzIgorbXNnc3RyICJJbXBvc3NpYmlsZSBtZW1vcml6emFyZSAlcyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo4NDkKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIEhFQUQgcmV2aXNpb24iCittc2dzdHIgImltcG9zc2liaWxlIGRldGVybWluYXJlIGxhIHJldmlzaW9uZSBIRUFEIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjk3MiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODEKK21zZ2lkICIiCisiUmVzb2x2ZSBhbGwgY29uZmxpY3RzIG1hbnVhbGx5LCBtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgd2l0aFxuIgorIlwiZ2l0IGFkZC9ybSA8Y29uZmxpY3RlZF9maWxlcz5cIiwgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKKyJZb3UgY2FuIGluc3RlYWQgc2tpcCB0aGlzIGNvbW1pdDogcnVuIFwiZ2l0IHJlYmFzZSAtLXNraXBcIi5cbiIKKyJUbyBhYm9ydCBhbmQgZ2V0IGJhY2sgdG8gdGhlIHN0YXRlIGJlZm9yZSBcImdpdCByZWJhc2VcIiwgcnVuIFwiZ2l0IHJlYmFzZSAtLSIKKyJhYm9ydFwiLiIKK21zZ3N0ciAiIgorIlJpc29sdmkgbWFudWFsbWVudGUgdHV0dGkgaSBjb25mbGl0dGksIGNvbnRyYXNzZWduYWxpIGNvbWVcbiIKKyJyaXNvbHRpIGNvbiBcImdpdCBhZGQvcm0gPGZpbGUgaW4gY29uZmxpdHRvPlwiLCBxdWluZGkgZXNlZ3VpXG4iCisiXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKKyJJbiBhbHRlcm5hdGl2YSwgcHVvaSBzYWx0YXJlIHF1ZXN0byBjb21taXQ6IGVzZWd1aSBcImdpdCByZWJhc2VcbiIKKyItLXNraXBcIi5cbiIKKyJQZXIgaW50ZXJyb21wZXJlIGwnb3BlcmF6aW9uZSBlIHRvcm5hcmUgYWxsbyBzdGF0byBwcmVjZWRlbnRlXG4iCisiaWwgXCJnaXQgcmViYXNlXCIsIGVzZWd1aSBcImdpdCByZWJhc2UgLS1hYm9ydFwiLiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJnaXQgZW5jb3VudGVyZWQgYW4gZXJyb3Igd2hpbGUgcHJlcGFyaW5nIHRoZSBwYXRjaGVzIHRvIHJlcGxheVxuIgorInRoZXNlIHJldmlzaW9uczpcbiIKKyJcbiIKKyIgICAgJXNcbiIKKyJcbiIKKyJBcyBhIHJlc3VsdCwgZ2l0IGNhbm5vdCByZWJhc2UgdGhlbS4iCittc2dzdHIgIiIKKyJcbiIKKyJHaXQgaGEgcmlzY29udHJhdG8gdW4gZXJyb3JlIGR1cmFudGUgbGEgcHJlcGFyYXppb25lIGRlbGxlIHBhdGNoXG4iCisicGVyIGFwcGxpY2FyZSBudW92YW1lbnRlIHF1ZXN0ZSByZXZpc2lvbmk6XG4iCisiXG4iCisiICAgICVzXG4iCisiXG4iCisiRGkgY29uc2VndWVuemEsIEdpdCBub24gcHXDsiBlc2VndWlybmUgaWwgcmViYXNlLiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlc1xuIgorIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byByZWJhc2UgYWdhaW5zdC5cbiIKKyJTZWUgZ2l0LXJlYmFzZSgxKSBmb3IgZGV0YWlscy5cbiIKKyJcbiIKKyIgICAgZ2l0IHJlYmFzZSAnPGJyYW5jaD4nXG4iCisiXG4iCittc2dzdHIgIiIKKyIlc1xuIgorIlNwZWNpZmljYSBpbCBicmFuY2ggc3UgY3VpIGVmZmV0dHVhcmUgaWwgcmViYXNlLlxuIgorIlZlZGkgZ2l0LXJlYmFzZSgxKSBwZXIgaSBkZXR0YWdsaS5cbiIKKyJcbiIKKyIgICAgZ2l0IHJlYmFzZSAnPGJyYW5jaD4nXG4iCisiXG4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTM4MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSWYgeW91IHdpc2ggdG8gc2V0IHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGlzIGJyYW5jaCB5b3UgY2FuIGRvIHNvIHdpdGg6XG4iCisiXG4iCisiICAgIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG89JXMvPGJyYW5jaD4gJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlNlIHZ1b2kgaW1wb3N0YXJlIGxlIGluZm9ybWF6aW9uaSBkaSB0cmFjY2lhbWVudG8gcGVyIHF1ZXN0byBicmFuY2ggcHVvaSAiCisiZmFybG8gY29uOlxuIgorIlxuIgorIiAgICBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvPSVzLzxicmFuY2g+ICVzXG4iCisiXG4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQxMworbXNnaWQgImV4ZWMgY29tbWFuZHMgY2Fubm90IGNvbnRhaW4gbmV3bGluZXMiCittc2dzdHIgImkgY29tYW5kaSBleGVjIG5vbiBwb3Nzb25vIGNvbnRlbmVyZSBjYXJhdHRlcmkgZGkgZmluZSByaWdhIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0MTcKK21zZ2lkICJlbXB0eSBleGVjIGNvbW1hbmQiCittc2dzdHIgImNvbWFuZG8gZXhlYyB2dW90byIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDQ2Cittc2dpZCAicmViYXNlIG9udG8gZ2l2ZW4gYnJhbmNoIGluc3RlYWQgb2YgdXBzdHJlYW0iCittc2dzdHIgImVzZWd1aSBpbCByZWJhc2Ugc3VsIGJyYW5jaCBzcGVjaWZpY2F0byBhbnppY2jDqSBzdSBxdWVsbG8gdXBzdHJlYW0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ0OAorbXNnaWQgInVzZSB0aGUgbWVyZ2UtYmFzZSBvZiB1cHN0cmVhbSBhbmQgYnJhbmNoIGFzIHRoZSBjdXJyZW50IGJhc2UiCittc2dzdHIgInVzYSBsYSBiYXNlIGRlbCBtZXJnZSBkZWxsJ3Vwc3RyZWFtIGUgZGVsIGJyYW5jaCBjb21lIGJhc2UgY29ycmVudGUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1MAorbXNnaWQgImFsbG93IHByZS1yZWJhc2UgaG9vayB0byBydW4iCittc2dzdHIgImNvbnNlbnRpIGwnZXNlY3V6aW9uZSBkZWxsJ2hvb2sgcHJlLXJlYmFzZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDUyCittc2dpZCAiYmUgcXVpZXQuIGltcGxpZXMgLS1uby1zdGF0IgorbXNnc3RyICJzaWkgc2lsZW56aW9zby4gaW1wbGljYSAtLW5vLXN0YXQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1OAorbXNnaWQgImRvIG5vdCBzaG93IGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbSIKK21zZ3N0ciAibm9uIHZpc3VhbGl6emFyZSB1biBkaWZmc3RhdCBkZWxsZSBtb2RpZmljaGUgdXBzdHJlYW0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ2MQorbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnk6IGxpbmUgdG8gZWFjaCBjb21taXQiCittc2dzdHIgImFnZ2l1bmdpIHVuYSByaWdhIFNpZ25lZC1vZmYtYnk6IGEgb2duaSBjb21taXQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ2NAorbXNnaWQgIm1ha2UgY29tbWl0dGVyIGRhdGUgbWF0Y2ggYXV0aG9yIGRhdGUiCittc2dzdHIgIiIKKyJmYWkgY29ycmlzcG9uZGVyZSBsYSBkYXRhIGRlbGxhIHBlcnNvbmEgY2hlIGhhIGVzZWd1aXRvIGlsIGNvbW1pdCBhbGxhIGRhdGEiCisiIGF1dG9yZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDY2Cittc2dpZCAiaWdub3JlIGF1dGhvciBkYXRlIGFuZCB1c2UgY3VycmVudCBkYXRlIgorbXNnc3RyICJpZ25vcmEgbGEgZGF0YSBhdXRvcmUgZSB1c2EgbGEgZGF0YSBjb3JyZW50ZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDY4Cittc2dpZCAic3lub255bSBvZiAtLXJlc2V0LWF1dGhvci1kYXRlIgorbXNnc3RyICJzaW5vbmltbyBkaSAtLXJlc2V0LWF1dGhvci1kYXRlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NzAgYnVpbHRpbi9yZWJhc2UuYzoxNDc0Cittc2dpZCAicGFzc2VkIHRvICdnaXQgYXBwbHknIgorbXNnc3RyICJwYXNzYXRvIGEgJ2dpdCBhcHBseSciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3MgorbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2UiCittc2dzdHIgImlnbm9yYSBtb2RpZmljaGUgYWdsaSBzcGF6aSBiaWFuY2hpIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NzYgYnVpbHRpbi9yZWJhc2UuYzoxNDc5Cittc2dpZCAiY2hlcnJ5LXBpY2sgYWxsIGNvbW1pdHMsIGV2ZW4gaWYgdW5jaGFuZ2VkIgorbXNnc3RyICJlc2VndWkgaWwgY2hlcnJ5LXBpY2sgZGkgdHV0dGkgaSBjb21taXQsIGFuY2hlIHNlIG5vbiBtb2RpZmljYXRpIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODEKK21zZ2lkICJjb250aW51ZSIKK21zZ3N0ciAiY29udGludWEiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ4NAorbXNnaWQgInNraXAgY3VycmVudCBwYXRjaCBhbmQgY29udGludWUiCittc2dzdHIgInNhbHRhIGxhIHBhdGNoIGNvcnJlbnRlIGUgY29udGludWEiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ4NgorbXNnaWQgImFib3J0IGFuZCBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCIKK21zZ3N0ciAiaW50ZXJyb21waSBlZCBlc2VndWkgaWwgY2hlY2tvdXQgZGVsIGJyYW5jaCBvcmlnaW5hcmlvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODkKK21zZ2lkICJhYm9ydCBidXQga2VlcCBIRUFEIHdoZXJlIGl0IGlzIgorbXNnc3RyICJpbnRlcnJvbXBpIG1hIG1hbnRpZW5pIGwnSEVBRCBkb3Ynw6giCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ5MAorbXNnaWQgImVkaXQgdGhlIHRvZG8gbGlzdCBkdXJpbmcgYW4gaW50ZXJhY3RpdmUgcmViYXNlIgorbXNnc3RyICJtb2RpZmljYSBsJ2VsZW5jbyB0b2RvIGR1cmFudGUgdW4gcmViYXNlIGludGVyYXR0aXZvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0OTMKK21zZ2lkICJzaG93IHRoZSBwYXRjaCBmaWxlIGJlaW5nIGFwcGxpZWQgb3IgbWVyZ2VkIgorbXNnc3RyICIiCisidmlzdWFsaXp6YSBpbCBmaWxlIHBhdGNoIGNoZSBzdGEgcGVyIGVzc2VyZSBhcHBsaWNhdG8gbyBzb3R0b3Bvc3RvIGEgbWVyZ2UiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ5NgorbXNnaWQgInVzZSBtZXJnaW5nIHN0cmF0ZWdpZXMgdG8gcmViYXNlIgorbXNnc3RyICJ1c2EgbGUgc3RyYXRlZ2llIGRpIG1lcmdlIHBlciBlc2VndWlyZSBpbCByZWJhc2UiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwMAorbXNnaWQgImxldCB0aGUgdXNlciBlZGl0IHRoZSBsaXN0IG9mIGNvbW1pdHMgdG8gcmViYXNlIgorbXNnc3RyICIiCisiY29uc2VudGkgYWxsJ3V0ZW50ZSBkaSBtb2RpZmljYXJlIGwnZWxlbmNvIGRlaSBjb21taXQgZGkgY3VpIGVzZWd1aXJlIGlsICIKKyJyZWJhc2UiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwNAorbXNnaWQgIihERVBSRUNBVEVEKSB0cnkgdG8gcmVjcmVhdGUgbWVyZ2VzIGluc3RlYWQgb2YgaWdub3JpbmcgdGhlbSIKK21zZ3N0ciAiKERFUFJFQ0FUTykgcHJvdmEgYSByaWNyZWFyZSBpIG1lcmdlIGFuemljaMOpIGlnbm9yYXJsaSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTA5Cittc2dpZCAicHJlc2VydmUgZW1wdHkgY29tbWl0cyBkdXJpbmcgcmViYXNlIgorbXNnc3RyICJtYW50aWVuaSBpIGNvbW1pdCB2dW90aSBkdXJhbnRlIGlsIHJlYmFzZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTExCittc2dpZCAibW92ZSBjb21taXRzIHRoYXQgYmVnaW4gd2l0aCBzcXVhc2ghL2ZpeHVwISB1bmRlciAtaSIKK21zZ3N0ciAic3Bvc3RhIGkgY29tbWl0IGNoZSBpbml6aWFubyBjb24gc3F1YXNoIS9maXh1cCEgaW4gLWkiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxNworbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIiCittc2dzdHIgImVzZWd1aSBzdGFzaC9zdGFzaCBwb3AgYXV0b21hdGljYW1lbnRlIHByaW1hIGUgZG9wbyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTE5Cittc2dpZCAiYWRkIGV4ZWMgbGluZXMgYWZ0ZXIgZWFjaCBjb21taXQgb2YgdGhlIGVkaXRhYmxlIGxpc3QiCittc2dzdHIgImFnZ2l1bmdpIHJpZ2hlIGV4ZWMgZG9wbyBvZ25pIGNvbW1pdCBkZWxsYSBsaXN0YSBtb2RpZmljYWJpbGUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyMworbXNnaWQgImFsbG93IHJlYmFzaW5nIGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKK21zZ3N0ciAiY29uc2VudGkgaWwgcmViYXNlIGRpIGNvbW1pdCBjb24gbWVzc2FnZ2kgdnVvdGkiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyNgorbXNnaWQgInRyeSB0byByZWJhc2UgbWVyZ2VzIGluc3RlYWQgb2Ygc2tpcHBpbmcgdGhlbSIKK21zZ3N0ciAicHJvdmEgYWQgZXNlZ3VpcmUgaWwgcmViYXNlIGRlaSBtZXJnZSBhbnppY2jDqSBzYWx0YXJsaSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTI5Cittc2dpZCAidXNlICdtZXJnZS1iYXNlIC0tZm9yay1wb2ludCcgdG8gcmVmaW5lIHVwc3RyZWFtIgorbXNnc3RyICIiCisidXNhICdtZXJnZS1iYXNlIC0tZm9yay1wb2ludCcgcGVyIHJpZGVmaW5pcmUgcGnDuSBwcmVjaXNhbWVudGUgbCd1cHN0cmVhbSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTMxCittc2dpZCAidXNlIHRoZSBnaXZlbiBtZXJnZSBzdHJhdGVneSIKK21zZ3N0ciAidXNhIGxhIHN0cmF0ZWdpYSBkaSBtZXJnZSBzcGVjaWZpY2F0YSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTMzIGJ1aWx0aW4vcmV2ZXJ0LmM6MTE1Cittc2dpZCAib3B0aW9uIgorbXNnc3RyICJvcHppb25lIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MzQKK21zZ2lkICJwYXNzIHRoZSBhcmd1bWVudCB0aHJvdWdoIHRvIHRoZSBtZXJnZSBzdHJhdGVneSIKK21zZ3N0ciAicGFzc2EgbCdhcmdvbWVudG8gYWxsYSBzdHJhdGVnaWEgZGkgbWVyZ2UiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzNworbXNnaWQgInJlYmFzZSBhbGwgcmVhY2hhYmxlIGNvbW1pdHMgdXAgdG8gdGhlIHJvb3QocykiCittc2dzdHIgImVzZWd1aSBpbCByZWJhc2UgZGkgdHV0dGkgaSBjb21taXQgcmFnZ2l1bmdpYmlsaSBmaW5vIGEgcXVlbGxpIHJhZGljZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTU0Cittc2dpZCAiIgorInRoZSByZWJhc2UudXNlQnVpbHRpbiBzdXBwb3J0IGhhcyBiZWVuIHJlbW92ZWQhXG4iCisiU2VlIGl0cyBlbnRyeSBpbiAnZ2l0IGhlbHAgY29uZmlnJyBmb3IgZGV0YWlscy4iCittc2dzdHIgIiIKKyJpbCBzdXBwb3J0byBwZXIgcmViYXNlLnVzZUJ1aWx0aW4gw6ggc3RhdG8gcmltb3NzbyFcbiIKKyJWZWRpIGxhIHZvY2UgcmVsYXRpdmEgaW4gJ2dpdCBoZWxwIGNvbmZpZycgcGVyIGkgZGV0dGFnbGkuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE1NjAKK21zZ2lkICJJdCBsb29rcyBsaWtlICdnaXQgYW0nIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKK21zZ3N0ciAiU2VtYnJhIGNoZSAnZ2l0IGFtJyBzaWEgaW4gY29yc28uIEltcG9zc2liaWxlIGVzZWd1aXJlIGlsIHJlYmFzZS4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYwMQorbXNnaWQgIiIKKyJnaXQgcmViYXNlIC0tcHJlc2VydmUtbWVyZ2VzIGlzIGRlcHJlY2F0ZWQuIFVzZSAtLXJlYmFzZS1tZXJnZXMgaW5zdGVhZC4iCittc2dzdHIgImdpdCByZWJhc2UgLS1wcmVzZXJ2ZS1tZXJnZXMgw6ggZGVwcmVjYXRvLiBVc2EgLS1yZWJhc2UtbWVyZ2VzLiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjA2Cittc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0ta2VlcC1iYXNlJyB3aXRoICctLW9udG8nIgorbXNnc3RyICJpbXBvc3NpYmlsZSBjb21iaW5hcmUgJy0ta2VlcC1iYXNlJyBjb24gJy0tb250byciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYwOAorbXNnaWQgImNhbm5vdCBjb21iaW5lICctLWtlZXAtYmFzZScgd2l0aCAnLS1yb290JyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY29tYmluYXJlICctLWtlZXAtYmFzZScgY29uICctLXJvb3QnIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2MTIKK21zZ2lkICJObyByZWJhc2UgaW4gcHJvZ3Jlc3M/IgorbXNnc3RyICJOZXNzdW4gcmViYXNlIGluIGNvcnNvPyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjE2Cittc2dpZCAiVGhlIC0tZWRpdC10b2RvIGFjdGlvbiBjYW4gb25seSBiZSB1c2VkIGR1cmluZyBpbnRlcmFjdGl2ZSByZWJhc2UuIgorbXNnc3RyICIiCisiTCdhemlvbmUgLS1lZGl0LXRvZG8gcHXDsiBlc3NlcmUgdXNhdGEgc29sbyBkdXJhbnRlIHVuIHJlYmFzZSBpbnRlcmF0dGl2by4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYzOQorbXNnaWQgIkNhbm5vdCByZWFkIEhFQUQiCittc2dzdHIgIkltcG9zc2liaWxlIGxlZ2dlcmUgbCdIRUFEIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2NTEKK21zZ2lkICIiCisiWW91IG11c3QgZWRpdCBhbGwgbWVyZ2UgY29uZmxpY3RzIGFuZCB0aGVuXG4iCisibWFyayB0aGVtIGFzIHJlc29sdmVkIHVzaW5nIGdpdCBhZGQiCittc2dzdHIgIiIKKyJEZXZpIG1vZGlmaWNhcmUgdHV0dGkgaSBjb25mbGl0dGkgZGkgbWVyZ2UgZVxuIgorInF1aW5kaSBjb250cmFzc2VnbmFybGkgY29tZSByaXNvbHRpIHVzYW5kb1xuIgorImdpdCBhZGQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTY3MAorbXNnaWQgImNvdWxkIG5vdCBkaXNjYXJkIHdvcmt0cmVlIGNoYW5nZXMiCittc2dzdHIgImltcG9zc2liaWxlIHNjYXJ0YXJlIGxlIG1vZGlmaWNoZSBhbGwnYWxiZXJvIGRpIGxhdm9ybyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjg5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJXMiCittc2dzdHIgImltcG9zc2liaWxlIHJpdG9ybmFyZSBhICVzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICVzIGRpcmVjdG9yeSwgYW5kXG4iCisiSSB3b25kZXIgaWYgeW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgcmViYXNlLiAgSWYgdGhhdCBpcyB0aGVcbiIKKyJjYXNlLCBwbGVhc2UgdHJ5XG4iCisiXHQlc1xuIgorIklmIHRoYXQgaXMgbm90IHRoZSBjYXNlLCBwbGVhc2VcbiIKKyJcdCVzXG4iCisiYW5kIHJ1biBtZSBhZ2Fpbi4gIEkgYW0gc3RvcHBpbmcgaW4gY2FzZSB5b3Ugc3RpbGwgaGF2ZSBzb21ldGhpbmdcbiIKKyJ2YWx1YWJsZSB0aGVyZS5cbiIKK21zZ3N0ciAiIgorIlNlbWJyYSBjaGUgZXNpc3RhIGdpw6AgdW5hIGRpcmVjdG9yeSAlcyBlIG1pIGRvbWFuZG9cbiIKKyJzZSB0dSBzaWEgZ2nDoCBuZWwgYmVsIG1lenpvIGRpIHVuIGFsdHJvIHJlYmFzZS4gU2UgcXVlc3RvIMOoIGlsIGNhc28sXG4iCisicHJvdmEgY29uIGlsIGNvbWFuZG9cbiIKKyJcdCVzXG4iCisiU2UgcXVlc3RvIG5vbiDDqCBpbCBjYXNvLCBlc2VndWlcbiIKKyJcdCVzXG4iCisiZWQgZXNlZ3VpbWkgZGkgbnVvdm8uIE1pIGZlcm1vIG5lbCBjYXNvIGluIGN1aSB0dSBhYmJpYSBhbmNvcmFcbiIKKyJzYWx2YXRvIHF1YWxjb3NhIGRpIGltcG9ydGFudGUgbMOsLlxuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE3NTcKK21zZ2lkICJzd2l0Y2ggYEMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCittc2dzdHIgImwnb3B6aW9uZSBgQ2AgcmljaGllZGUgdW4gdmFsb3JlIG51bWVyaWNvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE3OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBtb2RlOiAlcyIKK21zZ3N0ciAiTW9kbyBzY29ub3NjaXV0bzogJXMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTgyMAorbXNnaWQgIi0tc3RyYXRlZ3kgcmVxdWlyZXMgLS1tZXJnZSBvciAtLWludGVyYWN0aXZlIgorbXNnc3RyICItLXN0cmF0ZWd5IHJpY2hpZWRlIC0tbWVyZ2UgbyAtLWludGVyYWN0aXZlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4NjAKK21zZ2lkICItLXJlc2NoZWR1bGUtZmFpbGVkLWV4ZWMgcmVxdWlyZXMgLS1leGVjIG9yIC0taW50ZXJhY3RpdmUiCittc2dzdHIgIi0tcmVzY2hlZHVsZS1mYWlsZWQtZXhlYyByaWNoaWVkZSAtLWV4ZWMgbyAtLWludGVyYWN0aXZlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4NzIKK21zZ2lkICJjYW5ub3QgY29tYmluZSBhbSBvcHRpb25zIHdpdGggZWl0aGVyIGludGVyYWN0aXZlIG9yIG1lcmdlIG9wdGlvbnMiCittc2dzdHIgIm5vbiDDqCBwb3NzaWJpbGUgY29tYmluYXJlIGxlIG9wemlvbmkgYW0gY29uIHF1ZWxsZSBpbnRlcmFjdGl2ZSBvIG1lcmdlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4OTEKK21zZ2lkICJjYW5ub3QgY29tYmluZSAnLS1wcmVzZXJ2ZS1tZXJnZXMnIHdpdGggJy0tcmViYXNlLW1lcmdlcyciCittc2dzdHIgImltcG9zc2liaWxlIGNvbWJpbmFyZSAnLS1wcmVzZXJ2ZS1tZXJnZXMnIGNvbiAnLS1yZWJhc2UtbWVyZ2VzJyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxODk1Cittc2dpZCAiIgorImVycm9yOiBjYW5ub3QgY29tYmluZSAnLS1wcmVzZXJ2ZS1tZXJnZXMnIHdpdGggJy0tcmVzY2hlZHVsZS1mYWlsZWQtZXhlYyciCittc2dzdHIgIiIKKyJlcnJvcmU6IGltcG9zc2liaWxlIGNvbWJpbmFyZSAnLS1wcmVzZXJ2ZS1tZXJnZXMnIGNvbiAnLS1yZXNjaGVkdWxlLWZhaWxlZC0iCisiZXhlYyciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTkxOQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICclcyciCittc2dzdHIgInVwc3RyZWFtIG5vbiB2YWxpZG86ICclcyciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTkyNQorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgbmV3IHJvb3QgY29tbWl0IgorbXNnc3RyICJJbXBvc3NpYmlsZSBjcmVhcmUgaWwgbnVvdm8gY29tbWl0IHJhZGljZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxOTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcyc6IG5lZWQgZXhhY3RseSBvbmUgbWVyZ2UgYmFzZSB3aXRoIGJyYW5jaCIKK21zZ3N0ciAiIgorIiclcyc6IMOoIG5lY2Vzc2FyaW8gc3BlY2lmaWNhcmUgZXNhdHRhbWVudGUgdW5hIGJhc2UgcGVyIGlsIG1lcmdlIGNvbiBpbCAiCisiYnJhbmNoIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE5NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJzogbmVlZCBleGFjdGx5IG9uZSBtZXJnZSBiYXNlIgorbXNnc3RyICInJXMnOiDDqCBuZWNlc3NhcmlvIHNwZWNpZmljYXJlIGVzYXR0YW1lbnRlIHVuYSBiYXNlIHBlciBpbCBtZXJnZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxOTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0ICclcyciCittc2dzdHIgIiclcycgbm9uIHB1bnRhIGEgdW4gY29tbWl0IHZhbGlkbyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxOTg3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaC9jb21taXQgJyVzJyIKK21zZ3N0ciAiZXJyb3JlIGZhdGFsZTogYnJhbmNoL2NvbW1pdCAnJXMnIGluZXNpc3RlbnRlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE5OTUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk2MQorIywgYy1mb3JtYXQKK21zZ2lkICJObyBzdWNoIHJlZjogJXMiCittc2dzdHIgIlJpZmVyaW1lbnRvIG5vbiBlc2lzdGVudGU6ICVzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjIwMDYKK21zZ2lkICJDb3VsZCBub3QgcmVzb2x2ZSBIRUFEIHRvIGEgcmV2aXNpb24iCittc2dzdHIgIkltcG9zc2liaWxlIHJpc29sdmVyZSBIRUFEIGNvbWUgcmV2aXNpb25lIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjIwNDQKK21zZ2lkICJDYW5ub3QgYXV0b3N0YXNoIgorbXNnc3RyICJJbXBvc3NpYmlsZSBlc2VndWlyZSBsbyBzdGFzaCBhdXRvbWF0aWNvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjIwNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCBzdGFzaCByZXNwb25zZTogJyVzJyIKK21zZ3N0ciAiUmlzcG9zdGEgc3Rhc2ggbm9uIGF0dGVzYTogJyVzJyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMDUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IGZvciAnJXMnIgorbXNnc3RyICJJbXBvc3NpYmlsZSBjcmVhcmUgbGEgZGlyZWN0b3J5ICclcyciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJXNcbiIKK21zZ3N0ciAiU3Rhc2ggYXV0b21hdGljbyBjcmVhdG86ICVzXG4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA1OQorbXNnaWQgImNvdWxkIG5vdCByZXNldCAtLWhhcmQiCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIHJlc2V0IC0taGFyZCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMDY4Cittc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKK21zZ3N0ciAiRXNlZ3VpbmUgaWwgY29tbWl0IG8gbG8gc3Rhc2guIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjIwOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGFuYWxpenphcmUgJyVzJyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMTA4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzd2l0Y2ggdG8gJXMiCittc2dzdHIgImltcG9zc2liaWxlIHBhc3NhcmUgYSAlcyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMTE5Cittc2dpZCAiSEVBRCBpcyB1cCB0byBkYXRlLiIKK21zZ3N0ciAiSEVBRCDDqCBhZ2dpb3JuYXRvLiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIkN1cnJlbnQgYnJhbmNoICVzIGlzIHVwIHRvIGRhdGUuXG4iCittc2dzdHIgIklsIGJyYW5jaCBjb3JyZW50ZSAlcyDDqCBhZ2dpb3JuYXRvLlxuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjIxMjkKK21zZ2lkICJIRUFEIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIgorbXNnc3RyICJIRUFEIMOoIGFnZ2lvcm5hdG8sIGZvcnpvIGlsIHJlYmFzZS4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJDdXJyZW50IGJyYW5jaCAlcyBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLlxuIgorbXNnc3RyICJJbCBicmFuY2ggY29ycmVudGUgJXMgw6ggYWdnaW9ybmF0bywgZm9yem8gaWwgcmViYXNlLlxuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjIxMzkKK21zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKK21zZ3N0ciAiTCdob29rIHByZS1yZWJhc2UgaGEgcmlmaXV0YXRvIGRpIGNvbnNlbnRpcmUgaWwgcmViYXNlLiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZXMgdG8gJXM6XG4iCittc2dzdHIgIk1vZGlmaWNoZSBhICVzOlxuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjIxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlcyBmcm9tICVzIHRvICVzOlxuIgorbXNnc3RyICJNb2RpZmljaGUgZGEgJXMgYSAlczpcbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLlxuIgorbXNnc3RyICIiCisiUGVyIHByaW1hIGNvc2EsIHJpcHJpc3Rpbm8gbCdoZWFkIHBlciByaWFwcGxpY2FyZSBsZSB0dWUgbW9kaWZpY2hlIHN1IGRpICIKKyJlc3NvLi4uXG4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE4MworbXNnaWQgIkNvdWxkIG5vdCBkZXRhY2ggSEVBRCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgc2NvbGxlZ2FyZSBsJ0hFQUQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJGYXN0LWZvcndhcmRlZCAlcyB0byAlcy5cbiIKK21zZ3N0ciAiRmFzdCBmb3J3YXJkIGRhICVzIGEgJXMgZXNlZ3VpdG8uXG4iCisKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MzIKK21zZ2lkICJnaXQgcmVjZWl2ZS1wYWNrIDxnaXQtZGlyPiIKK21zZ3N0ciAiZ2l0IHJlY2VpdmUtcGFjayA8ZGlyZWN0b3J5IEdpdD4iCisKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODMwCittc2dpZCAiIgorIkJ5IGRlZmF1bHQsIHVwZGF0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpbiBhIG5vbi1iYXJlIHJlcG9zaXRvcnlcbiIKKyJpcyBkZW5pZWQsIGJlY2F1c2UgaXQgd2lsbCBtYWtlIHRoZSBpbmRleCBhbmQgd29yayB0cmVlIGluY29uc2lzdGVudFxuIgorIndpdGggd2hhdCB5b3UgcHVzaGVkLCBhbmQgd2lsbCByZXF1aXJlICdnaXQgcmVzZXQgLS1oYXJkJyB0byBtYXRjaFxuIgorInRoZSB3b3JrIHRyZWUgdG8gSEVBRC5cbiIKKyJcbiIKKyJZb3UgY2FuIHNldCB0aGUgJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVcbiIKKyJ0byAnaWdub3JlJyBvciAnd2FybicgaW4gdGhlIHJlbW90ZSByZXBvc2l0b3J5IHRvIGFsbG93IHB1c2hpbmcgaW50b1xuIgorIml0cyBjdXJyZW50IGJyYW5jaDsgaG93ZXZlciwgdGhpcyBpcyBub3QgcmVjb21tZW5kZWQgdW5sZXNzIHlvdVxuIgorImFycmFuZ2VkIHRvIHVwZGF0ZSBpdHMgd29yayB0cmVlIHRvIG1hdGNoIHdoYXQgeW91IHB1c2hlZCBpbiBzb21lXG4iCisib3RoZXIgd2F5LlxuIgorIlxuIgorIlRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlIGFuZCBzdGlsbCBrZWVwIHRoZSBkZWZhdWx0IGJlaGF2aW91ciwgc2V0XG4iCisiJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG8gJ3JlZnVzZScuIgorbXNnc3RyICIiCisiUGVyIGltcG9zdGF6aW9uZSBwcmVkZWZpbml0YSwgbCdhZ2dpb3JuYW1lbnRvIGRlbCBicmFuY2ggY29ycmVudGVcbiIKKyJpbiB1biByZXBvc2l0b3J5IG5vbiBzcG9nbGlvIMOoIG5lZ2F0bywgcGVyY2jDqSByZW5kZXJlYmJlIGwnaW5kaWNlXG4iCisiZSBsJ2FsYmVybyBkaSBsYXZvcm8gaW5jb25zaXN0ZW50aSBjb24gaSBkYXRpIGRpIGN1aSBzaSDDqCBlc2VndWl0b1xuIgorImlsIHB1c2ggZSByaWNoaWVkZXJlYmJlICdnaXQgcmVzZXQgLS1oYXJkJyBwZXIgcmlwcmlzdGluYXJlIGxhXG4iCisiY29ycmlzcG9uZGVuemEgZGVsbCdhbGJlcm8gZGkgbGF2b3JvIGNvbiBIRUFELlxuIgorIlxuIgorIlB1b2kgaW1wb3N0YXJlIGxhIHZhcmlhYmlsZSBkaSBjb25maWd1cmF6aW9uZVxuIgorIidyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJyBhICdpZ25vcmUnIG8gJ3dhcm4nIG5lbCByZXBvc2l0b3J5XG4iCisicmVtb3RvIHBlciBjb25zZW50aXJlIGlsIHB1c2ggbmVsIGJyYW5jaCBjb3JyZW50ZTsgY2nDsiBub25vc3RhbnRlLFxuIgorInF1ZXN0byBub24gw6ggcmFjY29tYW5kYXRvIGEgbWVubyBjaGUgdHUgbm9uIHByb3Z2ZWRhIGFkIGFnZ2lvcm5hcmVcbiIKKyJpbCBzdW8gYWxiZXJvIGRpIGxhdm9ybyBpbiBtb2RvIGNoZSBjb3JyaXNwb25kYSBhIGNpw7IgZGkgY3VpIGhhaVxuIgorImVzZWd1aXRvIGlsIHB1c2ggaW4gcXVhbGNoZSBhbHRybyBtb2RvLlxuIgorIlxuIgorIlBlciBub24gdmlzdWFsaXp6YXJlIHBpw7kgcXVlc3RvIG1lc3NhZ2dpbyBlIG1hbnRlbmVyZSBjb211bnF1ZVxuIgorImlsIGNvbXBvcnRhbWVudG8gcHJlZGVmaW5pdG8sIGltcG9zdGEgbGEgdmFyaWFiaWxlIGRpXG4iCisiY29uZmlndXJhemlvbmUgJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIGEgJ3JlZnVzZScuIgorCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjg1MAorbXNnaWQgIiIKKyJCeSBkZWZhdWx0LCBkZWxldGluZyB0aGUgY3VycmVudCBicmFuY2ggaXMgZGVuaWVkLCBiZWNhdXNlIHRoZSBuZXh0XG4iCisiJ2dpdCBjbG9uZScgd29uJ3QgcmVzdWx0IGluIGFueSBmaWxlIGNoZWNrZWQgb3V0LCBjYXVzaW5nIGNvbmZ1c2lvbi5cbiIKKyJcbiIKKyJZb3UgY2FuIHNldCAncmVjZWl2ZS5kZW55RGVsZXRlQ3VycmVudCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0b1xuIgorIid3YXJuJyBvciAnaWdub3JlJyBpbiB0aGUgcmVtb3RlIHJlcG9zaXRvcnkgdG8gYWxsb3cgZGVsZXRpbmcgdGhlXG4iCisiY3VycmVudCBicmFuY2gsIHdpdGggb3Igd2l0aG91dCBhIHdhcm5pbmcgbWVzc2FnZS5cbiIKKyJcbiIKKyJUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZSwgeW91IGNhbiBzZXQgaXQgdG8gJ3JlZnVzZScuIgorbXNnc3RyICIiCisiUGVyIGltcG9zdGF6aW9uZSBwcmVkZWZpbml0YSwgbCdlbGltaW5hemlvbmUgZGVsIGJyYW5jaCBjb3JyZW50ZVxuIgorIsOoIG5lZ2F0YSwgcGVyY2jDqSBpbCBwcm9zc2ltbyAnZ2l0IGNsb25lJyBmYXJlYmJlIHPDrCBjaGUgbm9uIHZlbmdhXG4iCisiZXNlZ3VpdG8gaWwgY2hlY2tvdXQgZGkgbmVzc3VuIGZpbGUsIGNhdXNhbmRvIGNvbmZ1c2lvbmUuXG4iCisiXG4iCisiUHVvaSBpbXBvc3RhcmUgbGEgdmFyaWFiaWxlIGRpIGNvbmZpZ3VyYXppb25lXG4iCisiJ3JlY2VpdmUuZGVueURlbGV0ZUN1cnJlbnQnIGEgJ3dhcm4nIG8gJ2lnbm9yZScgbmVsIHJlcG9zaXRvcnlcbiIKKyJyZW1vdG8gcGVyIGNvbnNlbnRpcmUgbCdlbGltaW5hemlvbmUgZGVsIGJyYW5jaCBjb3JyZW50ZSwgY29uIG9cbiIKKyJzZW56YSB1biBtZXNzYWdnaW8gZCdhdnZpc28uXG4iCisiXG4iCisiUGVyIG5vbiB2aXN1YWxpenphcmUgcGnDuSBxdWVzdG8gbWVzc2FnZ2lvLCBwdW9pIGltcG9zdGFybGEgYVxuIgorIidyZWZ1c2UnLiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTM2Cittc2dpZCAicXVpZXQiCittc2dzdHIgIm5vbiB2aXN1YWxpenphcmUgbWVzc2FnZ2kiCisKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk1MAorbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSBkaXJlY3RvcnkuIgorbXNnc3RyICJEZXZpIHNwZWNpZmljYXJlIHVuYSBkaXJlY3RvcnkuIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjE3Cittc2dpZCAiIgorImdpdCByZWZsb2cgZXhwaXJlIFstLWV4cGlyZT08dGltZT5dIFstLWV4cGlyZS11bnJlYWNoYWJsZT08dGltZT5dIFstLSIKKyJyZXdyaXRlXSBbLS11cGRhdGVyZWZdIFstLXN0YWxlLWZpeF0gWy0tZHJ5LXJ1biB8IC1uXSBbLS12ZXJib3NlXSBbLS1hbGxdICIKKyI8cmVmcz4uLi4iCittc2dzdHIgIiIKKyJnaXQgcmVmbG9nIGV4cGlyZSBbLS1leHBpcmU9PHRlbXBvPl0gWy0tZXhwaXJlLXVucmVhY2hhYmxlPTx0ZW1wbz5dIFstLSIKKyJyZXdyaXRlXSBbLS11cGRhdGVyZWZdIFstLXN0YWxlLWZpeF0gWy0tZHJ5LXJ1biB8IC1uXSBbLS12ZXJib3NlXSBbLS1hbGxdICIKKyI8cmlmZXJpbWVudGk+Li4uIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjIyCittc2dpZCAiIgorImdpdCByZWZsb2cgZGVsZXRlIFstLXJld3JpdGVdIFstLXVwZGF0ZXJlZl0gWy0tZHJ5LXJ1biB8IC1uXSBbLS12ZXJib3NlXSAiCisiPHJlZnM+Li4uIgorbXNnc3RyICIiCisiZ2l0IHJlZmxvZyBkZWxldGUgWy0tcmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1kcnktcnVuIHwgLW5dIFstLXZlcmJvc2VdICIKKyI8cmlmZXJpbWVudGk+Li4uIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjI1Cittc2dpZCAiZ2l0IHJlZmxvZyBleGlzdHMgPHJlZj4iCittc2dzdHIgImdpdCByZWZsb2cgZXhpc3RzIDxyaWZlcmltZW50bz4iCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NTY3IGJ1aWx0aW4vcmVmbG9nLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgorbXNnc3RyICInJXMnIG5vbiDDqCB1biB0aW1lc3RhbXAgdmFsaWRvIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjYwNQorIywgYy1mb3JtYXQKK21zZ2lkICJNYXJraW5nIHJlYWNoYWJsZSBvYmplY3RzLi4uIgorbXNnc3RyICJDb250cmFzc2Vnbm8gZ2xpIG9nZ2V0dGkgcmFnZ2l1bmdpYmlsaS4uLiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo2NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcG9pbnRzIG5vd2hlcmUhIgorbXNnc3RyICIlcyBub24gcHVudGEgYSBuaWVudGUhIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjY5NQorbXNnaWQgIm5vIHJlZmxvZyBzcGVjaWZpZWQgdG8gZGVsZXRlIgorbXNnc3RyICJuZXNzdW4gcmVnaXN0cm8gcmlmZXJpbWVudGkgZGEgZWxpbWluYXJlIHNwZWNpZmljYXRvIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjcwNAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSByZWZsb2c6ICVzIgorbXNnc3RyICJub24gw6ggdW4gcmVnaXN0cm8gcmlmZXJpbWVudGk6ICVzIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjcwOQorIywgYy1mb3JtYXQKK21zZ2lkICJubyByZWZsb2cgZm9yICclcyciCittc2dzdHIgImxvZyByaWZlcmltZW50aSBub24gZXNpc3RlbnRlIHBlciAnJXMnIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHJlZiBmb3JtYXQ6ICVzIgorbXNnc3RyICJmb3JtYXRvIHJpZmVyaW1lbnRvIG5vbiB2YWxpZG86ICVzIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjc2NAorbXNnaWQgImdpdCByZWZsb2cgWyBzaG93IHwgZXhwaXJlIHwgZGVsZXRlIHwgZXhpc3RzIF0iCittc2dzdHIgImdpdCByZWZsb2cgWyBzaG93IHwgZXhwaXJlIHwgZGVsZXRlIHwgZXhpc3RzIF0iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYKK21zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCittc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNworbXNnaWQgIiIKKyJnaXQgcmVtb3RlIGFkZCBbLXQgPGJyYW5jaD5dIFstbSA8bWFzdGVyPl0gWy1mXSBbLS10YWdzIHwgLS1uby10YWdzXSBbLS0iCisibWlycm9yPTxmZXRjaHxwdXNoPl0gPG5hbWU+IDx1cmw+IgorbXNnc3RyICIiCisiZ2l0IHJlbW90ZSBhZGQgWy10IDxicmFuY2g+XSBbLW0gPG1hc3Rlcj5dIFstZl0gWy0tdGFncyB8IC0tbm8tdGFnc10gWy0tIgorIm1pcnJvcj08ZmV0Y2h8cHVzaD5dIDxub21lPiA8VVJMPiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxOCBidWlsdGluL3JlbW90ZS5jOjM4Cittc2dpZCAiZ2l0IHJlbW90ZSByZW5hbWUgPG9sZD4gPG5ldz4iCittc2dzdHIgImdpdCByZW1vdGUgcmVuYW1lIDx2ZWNjaGlvPiA8bnVvdm8+IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE5IGJ1aWx0aW4vcmVtb3RlLmM6NDMKK21zZ2lkICJnaXQgcmVtb3RlIHJlbW92ZSA8bmFtZT4iCittc2dzdHIgImdpdCByZW1vdGUgcmVtb3ZlIDxub21lPiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoyMCBidWlsdGluL3JlbW90ZS5jOjQ4Cittc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxicmFuY2g+KSIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bm9tZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxicmFuY2g+KSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoyMQorbXNnaWQgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSBzaG93IFstbl0gPG5hbWU+IgorbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDxub21lPiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoyMgorbXNnaWQgImdpdCByZW1vdGUgcHJ1bmUgWy1uIHwgLS1kcnktcnVuXSA8bmFtZT4iCittc2dzdHIgImdpdCByZW1vdGUgcHJ1bmUgWy1uIHwgLS1kcnktcnVuXSA8bm9tZT4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjMKK21zZ2lkICIiCisiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDxncm91cD4gfCA8cmVtb3RlPikuLi5dIgorbXNnc3RyICIiCisiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDxncnVwcG8+IHwgPHJlbW90bz4pLi4uXSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoyNAorbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIFstLWFkZF0gPG5hbWU+IDxicmFuY2g+Li4uIgorbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyBbLS1hZGRdIDxub21lPiA8YnJhbmNoPi4uLiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoyNSBidWlsdGluL3JlbW90ZS5jOjc0Cittc2dpZCAiZ2l0IHJlbW90ZSBnZXQtdXJsIFstLXB1c2hdIFstLWFsbF0gPG5hbWU+IgorbXNnc3RyICJnaXQgcmVtb3RlIGdldC11cmwgWy0tcHVzaF0gWy0tYWxsXSA8bm9tZT4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjYgYnVpbHRpbi9yZW1vdGUuYzo3OQorbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCBbLS1wdXNoXSA8bmFtZT4gPG5ld3VybD4gWzxvbGR1cmw+XSIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtdXJsIFstLXB1c2hdIDxub21lPiA8bnVvdm8gVVJMPiBbPHZlY2NoaW8gVVJMPl0iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjcgYnVpbHRpbi9yZW1vdGUuYzo4MAorbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWFkZCA8bmFtZT4gPG5ld3VybD4iCittc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCAtLWFkZCA8bm9tZT4gPG51b3ZvIFVSTD4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjggYnVpbHRpbi9yZW1vdGUuYzo4MQorbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA8bmFtZT4gPHVybD4iCittc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA8bm9tZT4gPFVSTD4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MzMKK21zZ2lkICJnaXQgcmVtb3RlIGFkZCBbPG9wdGlvbnM+XSA8bmFtZT4gPHVybD4iCittc2dzdHIgImdpdCByZW1vdGUgYWRkIFs8b3B6aW9uaT5dIDxub21lPiA8VVJMPiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo1MworbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIDxuYW1lPiA8YnJhbmNoPi4uLiIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPG5vbWU+IDxicmFuY2g+Li4uIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjU0Cittc2dpZCAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgLS1hZGQgPG5hbWU+IDxicmFuY2g+Li4uIgorbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyAtLWFkZCA8bm9tZT4gPGJyYW5jaD4uLi4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTkKK21zZ2lkICJnaXQgcmVtb3RlIHNob3cgWzxvcHRpb25zPl0gPG5hbWU+IgorbXNnc3RyICJnaXQgcmVtb3RlIHNob3cgWzxvcHppb25pPl0gPG5vbWU+IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjY0Cittc2dpZCAiZ2l0IHJlbW90ZSBwcnVuZSBbPG9wdGlvbnM+XSA8bmFtZT4iCittc2dzdHIgImdpdCByZW1vdGUgcHJ1bmUgWzxvcHppb25pPl0gPG5vbWU+IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjY5Cittc2dpZCAiZ2l0IHJlbW90ZSB1cGRhdGUgWzxvcHRpb25zPl0gWzxncm91cD4gfCA8cmVtb3RlPl0uLi4iCittc2dzdHIgImdpdCByZW1vdGUgdXBkYXRlIFs8b3B6aW9uaT5dIFs8Z3J1cHBvPiB8IDxyZW1vdG8+XS4uLiIKIAogIzogYnVpbHRpbi9yZW1vdGUuYzo5OAogIywgYy1mb3JtYXQKQEAgLTM5NzUsNiArMTg4NzYsMzEgQEAKIG1zZ2lkICJ1bmtub3duIG1pcnJvciBhcmd1bWVudDogJXMiCiBtc2dzdHIgImFyZ29tZW50byBkaSBtaXJyb3Igc2Nvbm9zY2l1dG86ICVzIgogCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MworbXNnaWQgImZldGNoIHRoZSByZW1vdGUgYnJhbmNoZXMiCittc2dzdHIgInJlY3VwZXJhIGkgYnJhbmNoIHJlbW90aSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjUKK21zZ2lkICJpbXBvcnQgYWxsIHRhZ3MgYW5kIGFzc29jaWF0ZWQgb2JqZWN0cyB3aGVuIGZldGNoaW5nIgorbXNnc3RyICJpbXBvcnRhIHR1dHRpIGkgdGFnIGUgZ2xpIG9nZ2V0dGkgYXNzb2NpYXRpIGR1cmFudGUgaWwgcmVjdXBlcm8iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY4Cittc2dpZCAib3IgZG8gbm90IGZldGNoIGFueSB0YWcgYXQgYWxsICgtLW5vLXRhZ3MpIgorbXNnc3RyICJvIG5vbiByZWN1cGVyYXJlIGFsY3VuIHRhZyAoLS1uby10YWdzKSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNzAKK21zZ2lkICJicmFuY2goZXMpIHRvIHRyYWNrIgorbXNnc3RyICJicmFuY2ggZGEgdHJhY2NpYXJlIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE3MQorbXNnaWQgIm1hc3RlciBicmFuY2giCittc2dzdHIgImJyYW5jaCBtYXN0ZXIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTczCittc2dpZCAic2V0IHVwIHJlbW90ZSBhcyBhIG1pcnJvciB0byBwdXNoIHRvIG9yIGZldGNoIGZyb20iCittc2dzdHIgIiIKKyJpbXBvc3RhIGlsIHJlbW90byBjb21lIG1pcnJvciBzdSBjdWkgZXNlZ3VpcmUgcHVzaCBvIGRhIGN1aSByZWN1cGVyYXJlIGRhdGkiCisKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg1CiBtc2dpZCAic3BlY2lmeWluZyBhIG1hc3RlciBicmFuY2ggbWFrZXMgbm8gc2Vuc2Ugd2l0aCAtLW1pcnJvciIKIG1zZ3N0ciAic3BlY2lmaWNhcmUgdW4gYnJhbmNoIG1hc3RlciBjb24gLS1taXJyb3Igbm9uIGhhIHNlbnNvIgpAQCAtMzk4Miw5NCArMTg5MDgsNzIgQEAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg3CiBtc2dpZCAic3BlY2lmeWluZyBicmFuY2hlcyB0byB0cmFjayBtYWtlcyBzZW5zZSBvbmx5IHdpdGggZmV0Y2ggbWlycm9ycyIKIG1zZ3N0ciAiIgorInNwZWNpZmljYXJlIGkgYnJhbmNoIGRhIHRyYWNjaWFyZSBoYSBzZW5zbyBzb2xvIGNvbiBpIG1pcnJvciBkYSBjdWkgIgorInJlY3VwZXJhcmUgZGF0aSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxOTUgYnVpbHRpbi9yZW1vdGUuYzo2NDYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk0IGJ1aWx0aW4vcmVtb3RlLmM6NjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW90ZSAlcyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgImlsIHJlbW90byAlcyBlc2lzdGUgZ2nDoC4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk5IGJ1aWx0aW4vcmVtb3RlLmM6NjUwCisjOiBidWlsdGluL3JlbW90ZS5jOjE5OCBidWlsdGluL3JlbW90ZS5jOjY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlbW90ZSBuYW1lIgogbXNnc3RyICInJXMnIG5vbiDDqCB1biBub21lIGRpIHJlbW90byB2YWxpZG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjQzCisjOiBidWlsdGluL3JlbW90ZS5jOjIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0dXAgbWFzdGVyICclcyciCi1tc2dzdHIgIk5vbiDDqCBzdGF0byBwb3NzaWJpbGUgY29uZmlndXJhcmUgaWwgbWFzdGVyICclcyciCittc2dzdHIgIkltcG9zc2liaWxlIGNvbmZpZ3VyYXJlIGlsIG1hc3RlciAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjI5OQotIywgYy1mb3JtYXQKLW1zZ2lkICJtb3JlIHRoYW4gb25lICVzIgotbXNnc3RyICJwacO5IGRpIHVuICVzIgotCi0jOiBidWlsdGluL3JlbW90ZS5jOjMzOQorIzogYnVpbHRpbi9yZW1vdGUuYzozNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGdldCBmZXRjaCBtYXAgZm9yIHJlZnNwZWMgJXMiCiBtc2dzdHIgIiIKKyJJbXBvc3NpYmlsZSBvdHRlbmVyZSBsYSBtYXBwYSBkaSByZWN1cGVybyBwZXIgbG8gc3BlY2lmaWNhdG9yZSByaWZlcmltZW50byAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0NDAgYnVpbHRpbi9yZW1vdGUuYzo0NDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDQzIGJ1aWx0aW4vcmVtb3RlLmM6NDUxCiBtc2dpZCAiKG1hdGNoaW5nKSIKIG1zZ3N0ciAiKGNvcnJpc3BvbmRlbnRlKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo0NTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NDU1CiBtc2dpZCAiKGRlbGV0ZSkiCiBtc2dzdHIgIihlbGltaW5hKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo1OTUgYnVpbHRpbi9yZW1vdGUuYzo2MDEgYnVpbHRpbi9yZW1vdGUuYzo2MDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjI5IGJ1aWx0aW4vcmVtb3RlLmM6NzY0IGJ1aWx0aW4vcmVtb3RlLmM6ODYzCiAjLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBhcHBlbmQgJyVzJyB0byAnJXMnIgotbXNnc3RyICJOb24gw6ggc3RhdG8gcG9zc2liaWxlIGFnZ2l1bmdlcmUgJyVzJyBhICclcyciCittc2dpZCAiTm8gc3VjaCByZW1vdGU6ICclcyciCittc2dzdHIgIlJlbW90byBub24gZXNpc3RlbnRlOiAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYzOSBidWlsdGluL3JlbW90ZS5jOjc5MiBidWlsdGluL3JlbW90ZS5jOjg5MAotIywgYy1mb3JtYXQKLW1zZ2lkICJObyBzdWNoIHJlbW90ZTogJXMiCi1tc2dzdHIgIlJlbW90ZSBub24gZXNpc3RlbnRlOiAlcyIKLQotIzogYnVpbHRpbi9yZW1vdGUuYzo2NTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW5hbWUgY29uZmlnIHNlY3Rpb24gJyVzJyB0byAnJXMnIgotbXNnc3RyICJOb24gw6ggc3RhdG8gcG9zc2liaWxlIHJpbm9taW5hcmUgbGEgc2V6aW9uZSBkaSBjb25maWd1cmF6aW9uZSBkYSAnJXMnIGluICclcyciCittc2dzdHIgIiIKKyJOb24gw6ggc3RhdG8gcG9zc2liaWxlIHJpZGVub21pbmFyZSBsYSBzZXppb25lIGRpIGNvbmZpZ3VyYXppb25lIGRhICclcycgaW4gIgorIiclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjYyIGJ1aWx0aW4vcmVtb3RlLmM6Nzk5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgY29uZmlnIHNlY3Rpb24gJyVzJyIKLW1zZ3N0ciAiTm9uIMOoIHN0YXRvIHBvc3NpYmlsZSByaW11b3ZlcmUgbGEgc2V6aW9uZSBkaSBjb25maWd1cmF6aW9uZSAnJXMnIgotCi0jOiBidWlsdGluL3JlbW90ZS5jOjY3NworIzogYnVpbHRpbi9yZW1vdGUuYzo2NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vdCB1cGRhdGluZyBub24tZGVmYXVsdCBmZXRjaCByZWZzcGVjXG4iCiAiXHQlc1xuIgogIlx0UGxlYXNlIHVwZGF0ZSB0aGUgY29uZmlndXJhdGlvbiBtYW51YWxseSBpZiBuZWNlc3NhcnkuIgogbXNnc3RyICIiCisiTm9uIGFnZ2lvcm5vIGxvIHNwZWNpZmljYXRvcmUgcmlmZXJpbWVudG8gZGkgcmVjdXBlcm8gbm9uIHByZWRlZmluaXRvXG4iCisiXHQlc1xuIgorIlx0QWdnaW9ybmEgbGEgY29uZmlndXJhemlvbmUgbWFudWFsbWVudGUgc2UgbmVjZXNzYXJpby4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjgzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBhcHBlbmQgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3JlbW90ZS5jOjY5NAotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3Qgc2V0ICclcyciCi1tc2dzdHIgIk5vbiDDqCBzdGF0byBwb3NzaWJpbGUgaW1wb3N0YXJlICclcyciCi0KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzE2CisjOiBidWlsdGluL3JlbW90ZS5jOjcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiZWxpbWluYXppb25lIGRpICclcycgbm9uIHJpdXNjaXRhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjc1MAorIzogYnVpbHRpbi9yZW1vdGUuYzo3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3JlYXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgImNyZWF6aW9uZSBkaSAnJXMnIG5vbiByaXVzY2l0YSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3NjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHJlbW92ZSBicmFuY2ggJXMiCi1tc2dzdHIgIk5vbiDDqCBzdGF0byBwb3NzaWJpbGUgcmltdW92ZXJlIGlsIGJyYW5jaCAlcyIKLQotIzogYnVpbHRpbi9yZW1vdGUuYzo4MzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6ODAxCiBtc2dpZCAiIgogIk5vdGU6IEEgYnJhbmNoIG91dHNpZGUgdGhlIHJlZnMvcmVtb3Rlcy8gaGllcmFyY2h5IHdhcyBub3QgcmVtb3ZlZDtcbiIKICJ0byBkZWxldGUgaXQsIHVzZToiCkBAIC00MDc5LDEyODQgKzE4OTgzLDYxMzYgQEAKIG1zZ3N0clswXSAiIgogIk5vdGE6IHVuIGJyYW5jaCBhbCBkaSBmdW9yaSBkZWxsYSBnZXJhcmNoaWEgcmVmcy9yZW1vdGVzLyBub24gw6ggc3RhdG8gIgogImVsaW1pbmF0bztcbiIKLSJwZXIgZWxpbWluYXJsbywgdXNhcmU6IgorInBlciBlbGltaW5hcmxvLCB1c2E6IgogbXNnc3RyWzFdICIiCiAiTm90YTogYWxjdW5pIGJyYW5jaCBhbCBkaSBmdW9yaSBkZWxsYSBnZXJhcmNoaWEgcmVmcy9yZW1vdGVzLyBub24gc29ubyBzdGF0aSAiCiAiZWxpbWluYXRpO1xuIgotInBlciBlbGltaW5hcmxpLCB1c2FyZToiCisicGVyIGVsaW1pbmFybGksIHVzYToiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTQzCisjOiBidWlsdGluL3JlbW90ZS5jOjgxNQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIGNvbmZpZyBzZWN0aW9uICclcyciCittc2dzdHIgIkltcG9zc2liaWxlIHJpbXVvdmVyZSBsYSBzZXppb25lIGRpIGNvbmZpZ3VyYXppb25lICclcyciCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBuZXcgKG5leHQgZmV0Y2ggd2lsbCBzdG9yZSBpbiByZW1vdGVzLyVzKSIKLW1zZ3N0ciAiIgorbXNnc3RyICIgbnVvdm8gKGlsIHByb3NzaW1vIGZldGNoIGxvIHNhbHZlcsOgIGluIHJlbW90ZXMvJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk0NgorIzogYnVpbHRpbi9yZW1vdGUuYzo5MTkKIG1zZ2lkICIgdHJhY2tlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICIgdHJhY2NpYXRvIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk0OAorIzogYnVpbHRpbi9yZW1vdGUuYzo5MjEKIG1zZ2lkICIgc3RhbGUgKHVzZSAnZ2l0IHJlbW90ZSBwcnVuZScgdG8gcmVtb3ZlKSIKLW1zZ3N0ciAiIHZlY2NoaW8gKHVzYXJlICdnaXQgcmVtb3RlIHBydW5lJyBwZXIgcmltdW92ZXJsbykiCittc2dzdHIgIiB2ZWNjaGlvICh1c2EgJ2dpdCByZW1vdGUgcHJ1bmUnIHBlciByaW11b3ZlcmxvKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTIzCiBtc2dpZCAiID8/PyIKLW1zZ3N0ciAiPz8/IgorbXNnc3RyICIgPz8/IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk5MQorIzogYnVpbHRpbi9yZW1vdGUuYzo5NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBicmFuY2guJXMubWVyZ2U7IGNhbm5vdCByZWJhc2Ugb250byA+IDEgYnJhbmNoIgogbXNnc3RyICIiCi0iYnJhbmNoLiVzLm1lcmdlIG5vbiB2YWxpZG87IGltcG9zc2liaWxlIGVzZWd1aXJlIGlsIHJlYmFzZSBzdSA+IDEgYnJhbmNoIgorInZhbG9yZSBicmFuY2guJXMubWVyZ2Ugbm9uIHZhbGlkbzsgaW1wb3NzaWJpbGUgZXNlZ3VpcmUgaWwgcmViYXNlIHN1IHBpw7kgZGkgIgorInVuIGJyYW5jaCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5OTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTczCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSBvbnRvIHJlbW90ZSAlcyIKK21zZ3N0ciAicmViYXNlIGludGVyYXR0aXZvIHN1bCByZW1vdG8gJXMiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSAod2l0aCBtZXJnZXMpIG9udG8gcmVtb3RlICVzIgorbXNnc3RyICJyZWJhc2UgaW50ZXJhdHRpdm8gKGNvbiBtZXJnZSkgc3VsIHJlbW90byAlcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo5NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBvbnRvIHJlbW90ZSAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZWJhc2Ugc3VsIHJlbW90byAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDAxCisjOiBidWlsdGluL3JlbW90ZS5jOjk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgbWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICIgbWVyZ2UgY29uIGlsIHJlbW90ZSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDAyCi1tc2dpZCAiICAgIGFuZCB3aXRoIHJlbW90ZSIKLW1zZ3N0ciAiICAgIGUgY29uIGlsIHJlbW90ZSIKLQotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDA0CisjOiBidWlsdGluL3JlbW90ZS5jOjk4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgIm1lcmdlIGNvbiBpbCByZW1vdGUgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAwNQotbXNnaWQgIiAgIGFuZCB3aXRoIHJlbW90ZSIKLW1zZ3N0ciAiIgorIzogYnVpbHRpbi9yZW1vdGUuYzo5ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0qcyAgICBhbmQgd2l0aCByZW1vdGUgJXNcbiIKK21zZ3N0ciAiJS0qcyAgICBlIGNvbiBpbCByZW1vdG8gJXNcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzEKIG1zZ2lkICJjcmVhdGUiCiBtc2dzdHIgImNyZWEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM0CiBtc2dpZCAiZGVsZXRlIgogbXNnc3RyICJlbGltaW5hIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzOAogbXNnaWQgInVwIHRvIGRhdGUiCiBtc2dzdHIgImFnZ2lvcm5hdG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQxCiBtc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJmYXN0IGZvcndhcmQgcG9zc2liaWxlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NAogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICJsb2NhbGUgbm9uIGFnZ2lvcm5hdG8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA3MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlLSpzICglcykiCi1tc2dzdHIgIiIKK21zZ3N0ciAiICAgICUtKnMgZXNlZ3VlIHVuIGFnZ2lvcm5hbWVudG8gZm9yemF0byBzdSAlLSpzICglcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA3NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlLSpzICglcykiCi1tc2dzdHIgIiIKK21zZ3N0ciAiICAgICUtKnMgZXNlZ3VlIGlsIHB1c2ggc3UgJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiICAgICUtKnMgZXNlZ3VlIHVuIGFnZ2lvcm5hbWVudG8gZm9yemF0byBzdSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyBlc2VndWUgaWwgcHVzaCBzdSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE4CisjOiBidWlsdGluL3JlbW90ZS5jOjExMjkKK21zZ2lkICJkbyBub3QgcXVlcnkgcmVtb3RlcyIKK21zZ3N0ciAibm9uIGludGVycm9nYXJlIGkgcmVtb3RpIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjExNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiByZW1vdGUgJXMiCi1tc2dzdHIgIiogcmVtb3RlICVzIgorbXNnc3RyICIqIHJlbW90byAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTE5CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGZXRjaCBVUkw6ICVzIgotbXNnc3RyICIiCittc2dzdHIgIiAgVVJMIHJlY3VwZXJvOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTIwIGJ1aWx0aW4vcmVtb3RlLmM6MTI4NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NCBidWlsdGluL3JlbW90ZS5jOjEzMTMKIG1zZ2lkICIobm8gVVJMKSIKIG1zZ3N0ciAiKG5lc3N1biBVUkwpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMjkgYnVpbHRpbi9yZW1vdGUuYzoxMTMxCisjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uICc6JyBzaG91bGQgYWxpZ24KKyMuIHdpdGggdGhlIG9uZSBpbiAiIEZldGNoIFVSTDogJXMiCisjLiB0cmFuc2xhdGlvbi4KKyMuCisjOiBidWlsdGluL3JlbW90ZS5jOjExNzIgYnVpbHRpbi9yZW1vdGUuYzoxMTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUHVzaCAgVVJMOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICIgICAgICBVUkwgcHVzaDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEzMyBidWlsdGluL3JlbW90ZS5jOjExMzUgYnVpbHRpbi9yZW1vdGUuYzoxMTM3CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzYgYnVpbHRpbi9yZW1vdGUuYzoxMTc4IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEhFQUQgYnJhbmNoOiAlcyIKIG1zZ3N0ciAiICBicmFuY2ggSEVBRDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEzOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2Cittc2dpZCAiKG5vdCBxdWVyaWVkKSIKK21zZ3N0ciAiKG5vbiBpbnRlcnJvZ2F0bykiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiKHNjb25vc2NpdXRvKSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIgIEhFQUQgYnJhbmNoIChyZW1vdGUgSEVBRCBpcyBhbWJpZ3VvdXMsIG1heSBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyk6XG4iCiBtc2dzdHIgIiIKICIgIGJyYW5jaCBIRUFEIChsJ0hFQUQgcmVtb3RvIMOoIGFtYmlndW8sIHBvdHJlYmJlIGVzc2VyZSB1bm8gZGVpIHNlZ3VlbnRpKTpcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTUxCisjOiBidWlsdGluL3JlbW90ZS5jOjExOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBSZW1vdGUgYnJhbmNoOiVzIgogbXNnaWRfcGx1cmFsICIgIFJlbW90ZSBicmFuY2hlczolcyIKIG1zZ3N0clswXSAiICBCcmFuY2ggcmVtb3RvOiVzIgogbXNnc3RyWzFdICIgIEJyYW5jaCByZW1vdGk6JXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NCBidWlsdGluL3JlbW90ZS5jOjExODEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NyBidWlsdGluL3JlbW90ZS5jOjEyMjMKIG1zZ2lkICIgKHN0YXR1cyBub3QgcXVlcmllZCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiIChzdGF0byBub24gcmljaGllc3RvKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTYzCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDYKIG1zZ2lkICIgIExvY2FsIGJyYW5jaCBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCBicmFuY2hlcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ3N0clswXSAiICBCcmFuY2ggbG9jYWxlIGNvbmZpZ3VyYXRvIHBlciAnZ2l0IHB1bGwnOiIKIG1zZ3N0clsxXSAiICBCcmFuY2ggbG9jYWxpIGNvbmZpZ3VyYXRpIHBlciAnZ2l0IHB1bGwnOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTcxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMTQKIG1zZ2lkICIgIExvY2FsIHJlZnMgd2lsbCBiZSBtaXJyb3JlZCBieSAnZ2l0IHB1c2gnIgotbXNnc3RyICIiCittc2dzdHIgIiAgSSByaWZlcmltZW50aSBsb2NhbGkgc2FyYW5ubyBjb3BpYXRpIGRhICdnaXQgcHVzaCciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTG9jYWwgcmVmIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgcmVmcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgogbXNnc3RyWzBdICIgIFJlZiBsb2NhbGUgY29uZmlndXJhdG8gcGVyICdnaXQgcHVzaCclczoiCiBtc2dzdHJbMV0gIiAgUmVmIGxvY2FsaSBjb25maWd1cmF0aSBwZXIgJ2dpdCBwdXNoJyVzOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjE2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDEKK21zZ2lkICJzZXQgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIGFjY29yZGluZyB0byByZW1vdGUiCittc2dzdHIgImltcG9zdGEgcmVmcy9yZW1vdGVzLzxub21lPi9IRUFEIGluIGJhc2UgYWwgcmVtb3RvIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDMKK21zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgorbXNnc3RyICJlbGltaW5hIHJlZnMvcmVtb3Rlcy88bm9tZT4vSEVBRCIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjU4CiBtc2dpZCAiQ2Fubm90IGRldGVybWluZSByZW1vdGUgSEVBRCIKIG1zZ3N0ciAiSW1wb3NzaWJpbGUgZGV0ZXJtaW5hcmUgbCdIRUFEIHJlbW90byIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjE4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNjAKIG1zZ2lkICJNdWx0aXBsZSByZW1vdGUgSEVBRCBicmFuY2hlcy4gUGxlYXNlIGNob29zZSBvbmUgZXhwbGljaXRseSB3aXRoOiIKLW1zZ3N0ciAiIgorbXNnc3RyICJCcmFuY2ggSEVBRCByZW1vdGkgbXVsdGlwbGkuIFNjZWdsaW5lIHVubyBlc3BsaWNpdGFtZW50ZSBjb246IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMjgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZGVsZXRlICVzIgogbXNnc3RyICJOb24gw6ggc3RhdG8gcG9zc2liaWxlIGVsaW1pbmFyZSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjM2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgcmVmOiAlcyIKIG1zZ3N0ciAiTm9uIMOoIHVuIHJlZiB2YWxpZG86ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0dXAgJXMiCiBtc2dzdHIgIk5vbiDDqCBzdGF0byBwb3NzaWJpbGUgY29uZmlndXJhcmUgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyB3aWxsIGJlY29tZSBkYW5nbGluZyEiCi1tc2dzdHIgIiIKK21zZ3N0ciAiICVzIGRpdmVudGVyw6AgcGVuZGVudGUhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgaGFzIGJlY29tZSBkYW5nbGluZyEiCi1tc2dzdHIgIiIKK21zZ3N0ciAiICVzIMOoIGRpdmVudGF0byBwZW5kZW50ZSEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBydW5pbmcgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiRWxpbWluYXppb25lIGRpICVzIGluIGNvcnNvIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyODIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJVUkw6ICVzIgogbXNnc3RyICJVUkw6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyOTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbd291bGQgcHJ1bmVdICVzIgotbXNnc3RyICIiCittc2dzdHIgIiAqIFtzYXJlYmJlIGVsaW1pbmF0b10gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFtwcnVuZWRdICVzIgotbXNnc3RyICIiCittc2dzdHIgIiAqIFtlbGltaW5hdG9dICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzODcgYnVpbHRpbi9yZW1vdGUuYzoxNDYxCisjOiBidWlsdGluL3JlbW90ZS5jOjEzNzQKK21zZ2lkICJwcnVuZSByZW1vdGVzIGFmdGVyIGZldGNoaW5nIgorbXNnc3RyICJlbGltaW5hIHJlbW90aSBkb3BvIGlsIGZldGNoIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE0MzcgYnVpbHRpbi9yZW1vdGUuYzoxNDkxIGJ1aWx0aW4vcmVtb3RlLmM6MTU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSAnJXMnIgogbXNnc3RyICJSZW1vdGUgJyVzJyBub24gZXNpc3RlbnRlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0MTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ1MworbXNnaWQgImFkZCBicmFuY2giCittc2dzdHIgImFnZ2l1bmdpIGJyYW5jaCIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYwCiBtc2dpZCAibm8gcmVtb3RlIHNwZWNpZmllZCIKIG1zZ3N0ciAibmVzc3VuIHJlbW90ZSBzcGVjaWZpY2F0byIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDQ3CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NzcKK21zZ2lkICJxdWVyeSBwdXNoIFVSTHMgcmF0aGVyIHRoYW4gZmV0Y2ggVVJMcyIKK21zZ3N0ciAiaW50ZXJyb2dhIGdsaSBVUkwgcGVyIGlsIHB1c2ggYW56aWNow6kgZ2xpIFVSTCBwZXIgaWwgZmV0Y2giCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3OQorbXNnaWQgInJldHVybiBhbGwgVVJMcyIKK21zZ3N0ciAicmVzdGl0dWlzY2kgdHV0dGkgZ2xpIFVSTCIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCittc2dzdHIgIm5lc3N1biBVUkwgY29uZmlndXJhdG8gcGVyIGlsIHJlbW90byAnJXMnIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzMKK21zZ2lkICJtYW5pcHVsYXRlIHB1c2ggVVJMcyIKK21zZ3N0ciAibWFuaXBvbGEgZ2xpIFVSTCBwZXIgaWwgcHVzaCIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM1Cittc2dpZCAiYWRkIFVSTCIKK21zZ3N0ciAiYWdnaXVuZ2kgVVJMIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzcKK21zZ2lkICJkZWxldGUgVVJMcyIKK21zZ3N0ciAiZWxpbWluYSBVUkwiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU0NAogbXNnaWQgIi0tYWRkIC0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1hZGQgLS1kZWxldGUgbm9uIGhhIHNlbnNvIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0ODcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG9sZCBVUkwgcGF0dGVybjogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiUGF0dGVybiBVUkwgdmVjY2hpbyBub24gdmFsaWRvOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDk1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgogbXNnc3RyICJOZXNzdW5hIFVSTCB0cm92YXRhOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDk3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1OTMKIG1zZ2lkICJXaWxsIG5vdCBkZWxldGUgYWxsIG5vbi1wdXNoIFVSTHMiCittc2dzdHIgIk5vbiBlbGltaW5lcsOyIHR1dHRpIGdsaSBVUkwgbm9uIHB1c2giCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjMKK21zZ2lkICJnaXQgcmVwYWNrIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgcmVwYWNrIFs8b3B6aW9uaT5dIgorCisjOiBidWlsdGluL3JlcGFjay5jOjI4Cittc2dpZCAiIgorIkluY3JlbWVudGFsIHJlcGFja3MgYXJlIGluY29tcGF0aWJsZSB3aXRoIGJpdG1hcCBpbmRleGVzLiAgVXNlXG4iCisiLS1uby13cml0ZS1iaXRtYXAtaW5kZXggb3IgZGlzYWJsZSB0aGUgcGFjay53cml0ZWJpdG1hcHMgY29uZmlndXJhdGlvbi4iCiBtc2dzdHIgIiIKKyJJIHJlcGFjayBpbmNyZW1lbnRhbGkgbm9uIHNvbm8gY29tcGF0aWJpbGkgY29uIGdsaSBpbmRpY2kgYml0bWFwLlxuIgorIlVzYSAtLW5vLXdyaXRlLWJpdG1hcC1pbmRleCBvIGRpc2FiaWxpdGEgbCdvcHppb25lIGRpIGNvbmZpZ3VyYXppb25lXG4iCisicGFjay53cml0ZWJpdG1hcHMuIgorCisjOiBidWlsdGluL3JlcGFjay5jOjE5MQorbXNnaWQgImNvdWxkIG5vdCBzdGFydCBwYWNrLW9iamVjdHMgdG8gcmVwYWNrIHByb21pc29yIG9iamVjdHMiCittc2dzdHIgIiIKKyJpbXBvc3NpYmlsZSBhdnZpYXJlIHBhY2stb2JqZWN0cyBwZXIgZXNlZ3VpcmUgaWwgcmVwYWNrIGRlZ2xpIG9nZ2V0dGkgIgorInByb21ldHRlbnRpIgorCisjOiBidWlsdGluL3JlcGFjay5jOjIzMCBidWlsdGluL3JlcGFjay5jOjQxNgorbXNnaWQgInJlcGFjazogRXhwZWN0aW5nIGZ1bGwgaGV4IG9iamVjdCBJRCBsaW5lcyBvbmx5IGZyb20gcGFjay1vYmplY3RzLiIKK21zZ3N0ciAiIgorInJlcGFjazogRGEgcGFjay1vYmplY3RzIG1pIGF0dGVuZGV2byBzb2xvIHJpZ2hlIGNvbiBnbGkgSUQgY29tcGxldGkgIgorImVzYWRlY2ltYWxpIGRlZ2xpIG9nZ2V0dGkuIgorCisjOiBidWlsdGluL3JlcGFjay5jOjI1NAorbXNnaWQgImNvdWxkIG5vdCBmaW5pc2ggcGFjay1vYmplY3RzIHRvIHJlcGFjayBwcm9taXNvciBvYmplY3RzIgorbXNnc3RyICIiCisiaW1wb3NzaWJpbGUgcG9ydGFyZSBhIHRlcm1pbmUgcGFjay1vYmplY3RzIHBlciBlc2VndWlyZSBpbCByZXBhY2sgZGVnbGkgIgorIm9nZ2V0dGkgcHJvbWV0dGVudGkiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjkyCittc2dpZCAicGFjayBldmVyeXRoaW5nIGluIGEgc2luZ2xlIHBhY2siCittc2dzdHIgImVzZWd1aSBpbCBwYWNrIGRpIHR1dHRvIGluIHVuIHNpbmdvbG8gcGFjayIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyOTQKK21zZ2lkICJzYW1lIGFzIC1hLCBhbmQgdHVybiB1bnJlYWNoYWJsZSBvYmplY3RzIGxvb3NlIgorbXNnc3RyICJjb21lIC1hIGUgcmVuZGkgc2Npb2x0aSBnbGkgb2dnZXR0aSBub24gcmFnZ2l1bmdpYmlsaSIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyOTcKK21zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCittc2dzdHIgInJpbXVvdmkgaSBwYWNrIHJpZG9uZGFudGkgZWQgZXNlZ3VpIGdpdC1wcnVuZS1wYWNrZWQiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk5Cittc2dpZCAicGFzcyAtLW5vLXJldXNlLWRlbHRhIHRvIGdpdC1wYWNrLW9iamVjdHMiCittc2dzdHIgImZvcm5pc2NpIGwnb3B6aW9uZSAtLW5vLXJldXNlLWRlbHRhIGEgZ2l0LXBhY2stb2JqZWN0cyIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMDEKK21zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCittc2dzdHIgImZvcm5pc2NpIGwnb3B6aW9uZSAtLW5vLXJldXNlLW9iamVjdCBhIGdpdC1wYWNrLW9iamVjdHMiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzAzCittc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgorbXNnc3RyICJub24gZXNlZ3VpcmUgZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMDYKK21zZ2lkICJwYXNzIC0tbG9jYWwgdG8gZ2l0LXBhY2stb2JqZWN0cyIKK21zZ3N0ciAiZm9ybmlzY2kgbCdvcHppb25lIC0tbG9jYWwgYSBnaXQtcGFjay1vYmplY3RzIgorCisjOiBidWlsdGluL3JlcGFjay5jOjMwOAorbXNnaWQgIndyaXRlIGJpdG1hcCBpbmRleCIKK21zZ3N0ciAic2NyaXZpIGwnaW5kaWNlIGJpdG1hcCIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMTAKK21zZ2lkICJwYXNzIC0tZGVsdGEtaXNsYW5kcyB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICJmb3JuaXNjaSBsJ29wemlvbmUgLS1kZWx0YS1pc2xhbmRzIGEgZ2l0LXBhY2stb2JqZWN0cyIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMTEKK21zZ2lkICJhcHByb3hpZGF0ZSIKK21zZ3N0ciAiZGF0YSBhcHByb3NzaW1hdGl2YSIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMTIKK21zZ2lkICJ3aXRoIC1BLCBkbyBub3QgbG9vc2VuIG9iamVjdHMgb2xkZXIgdGhhbiB0aGlzIgorbXNnc3RyICJjb24gLUEsIG5vbiByZW5kZXJlIHNjaW9sdGkgZ2xpIG9nZ2V0dGkgbWVubyByZWNlbnRpIGRpIHF1ZXN0YSBkYXRhIgorCisjOiBidWlsdGluL3JlcGFjay5jOjMxNAorbXNnaWQgIndpdGggLWEsIHJlcGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICJjb24gLWEsIGVzZWd1aSBpbCByZXBhY2sgZGVnbGkgb2dnZXR0aSBub24gcmFnZ2l1bmdpYmlsaSIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMTYKK21zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCittc2dzdHIgImRpbWVuc2lvbmUgZGVsbGEgZmluZXN0cmEgdXNhdGEgcGVyIGxhIGNvbXByZXNzaW9uZSBkZWx0YSIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMTcgYnVpbHRpbi9yZXBhY2suYzozMjMKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAiYnl0ZSIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMTgKK21zZ2lkICJzYW1lIGFzIHRoZSBhYm92ZSwgYnV0IGxpbWl0IG1lbW9yeSBzaXplIGluc3RlYWQgb2YgZW50cmllcyBjb3VudCIKK21zZ3N0ciAiIgorImNvbWUgc29wcmEsIG1hIGxpbWl0YSBsZSBkaW1lbnNpb25pIGRlbGxhIG1lbW9yaWEgaW52ZWNlIGRlbCBudW1lcm8gZGkgdm9jaSIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMjAKK21zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gZGVsdGEgZGVwdGgiCittc2dzdHIgImxpbWl0YSBsYSBwcm9mb25kaXTDoCBtYXNzaW1hIGRlaSBkZWx0YSIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMjIKK21zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHRocmVhZHMiCittc2dzdHIgImxpbWl0YSBpbCBudW1lcm8gbWFzc2ltbyBkaSB0aHJlYWQiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI0Cittc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggcGFja2ZpbGUiCittc2dzdHIgImRpbWVuc2lvbmUgbWFzc2ltYSBkaSBvZ25pIGZpbGUgcGFjayIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMjYKK21zZ2lkICJyZXBhY2sgb2JqZWN0cyBpbiBwYWNrcyBtYXJrZWQgd2l0aCAua2VlcCIKK21zZ3N0ciAiZXNlZ3VpIGlsIHJlcGFjayBkZWdsaSBvZ2dldHRpIG5laSBwYWNrIGNvbnRyYXNzZWduYXRpIGNvbiAua2VlcCIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMjgKK21zZ2lkICJkbyBub3QgcmVwYWNrIHRoaXMgcGFjayIKK21zZ3N0ciAibm9uIGVzZWd1aXJlIGlsIHJlcGFjayBkaSBxdWVzdG8gcGFjayIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMzgKK21zZ2lkICJjYW5ub3QgZGVsZXRlIHBhY2tzIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlbGltaW5hcmUgaSBwYWNrIGluIHVuIHJlcG9zaXRvcnkgJ29nZ2V0dGkgcHJlemlvc2knIgorCisjOiBidWlsdGluL3JlcGFjay5jOjM0MgorbXNnaWQgIi0ta2VlcC11bnJlYWNoYWJsZSBhbmQgLUEgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiLS1rZWVwLXVucmVhY2hhYmxlIGUgLUEgbm9uIHNvbm8gY29tcGF0aWJpbGkiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6NDI1Cittc2dpZCAiTm90aGluZyBuZXcgdG8gcGFjay4iCittc2dzdHIgIk5vbiBjaSBzb25vIG9nZ2V0dGkgbnVvdmkgZGkgY3VpIGVzZWd1aXJlIGlsIHBhY2suIgorCisjOiBidWlsdGluL3JlcGFjay5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogU29tZSBwYWNrcyBpbiB1c2UgaGF2ZSBiZWVuIHJlbmFtZWQgYnlcbiIKKyJXQVJOSU5HOiBwcmVmaXhpbmcgb2xkLSB0byB0aGVpciBuYW1lLCBpbiBvcmRlciB0b1xuIgorIldBUk5JTkc6IHJlcGxhY2UgdGhlbSB3aXRoIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGVcbiIKKyJXQVJOSU5HOiBmaWxlLiAgQnV0IHRoZSBvcGVyYXRpb24gZmFpbGVkLCBhbmQgdGhlXG4iCisiV0FSTklORzogYXR0ZW1wdCB0byByZW5hbWUgdGhlbSBiYWNrIHRvIHRoZWlyXG4iCisiV0FSTklORzogb3JpZ2luYWwgbmFtZXMgYWxzbyBmYWlsZWQuXG4iCisiV0FSTklORzogUGxlYXNlIHJlbmFtZSB0aGVtIGluICVzIG1hbnVhbGx5OlxuIgorbXNnc3RyICIiCisiQVZWSVNPOiBBbGN1bmkgcGFjayBpbiB1c28gc29ubyBzdGF0aSByaWRlbm9taW5hdGlcbiIKKyJBVlZJU086IGFnZ2l1bmdlbmRvIGlsIHByZWZpc3NvIG9sZC0gYWwgbG9ybyBub21lXG4iCisiQVZWSVNPOiBwZXIgY29uc2VudGlybmUgbGEgc29zdGl0dXppb25lIGNvbiBsYVxuIgorIkFWVklTTzogbnVvdmEgdmVyc2lvbmUgZGVsIGZpbGUuIE1hIGwnb3BlcmF6aW9uZVxuIgorIkFWVklTTzogbm9uIMOoIHJpdXNjaXRhIGUgYW5jaGUgaWwgdGVudGF0aXZvIGRpXG4iCisiQVZWSVNPOiByaWRlbm9taW5hcmxpIGNvbiBpbCBsb3JvIG5vbWUgb3JpZ2luYWxlXG4iCisiQVZWSVNPOiBub24gw6ggcml1c2NpdG8uIFJpZGVub21pbmFsaSBtYW51YWxtZW50ZVxuIgorIkFWVklTTzogZW50cm8gJXM6XG4iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6NTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJyVzJyIKK21zZ3N0ciAiZWxpbWluYXppb25lIGRpICclcycgbm9uIHJpdXNjaXRhIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoyMgorbXNnaWQgImdpdCByZXBsYWNlIFstZl0gPG9iamVjdD4gPHJlcGxhY2VtZW50PiIKK21zZ3N0ciAiZ2l0IHJlcGxhY2UgWy1mXSA8b2dnZXR0bz4gPG9nZ2V0dG8gc29zdGl0dXRpdm8+IgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoyMworbXNnaWQgImdpdCByZXBsYWNlIFstZl0gLS1lZGl0IDxvYmplY3Q+IgorbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIC0tZWRpdCA8b2dnZXR0bz4iCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI0Cittc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSAtLWdyYWZ0IDxjb21taXQ+IFs8cGFyZW50Pi4uLl0iCittc2dzdHIgImdpdCByZXBsYWNlIFstZl0gLS1ncmFmdCA8Y29tbWl0PiBbPGdlbml0b3JlPi4uLl0iCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI1Cittc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSAtLWNvbnZlcnQtZ3JhZnQtZmlsZSIKK21zZ3N0ciAiZ2l0IHJlcGxhY2UgWy1mXSAtLWNvbnZlcnQtZ3JhZnQtZmlsZSIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MjYKK21zZ2lkICJnaXQgcmVwbGFjZSAtZCA8b2JqZWN0Pi4uLiIKK21zZ3N0ciAiZ2l0IHJlcGxhY2UgLWQgPG9nZ2V0dG8+Li4uIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoyNworbXNnaWQgImdpdCByZXBsYWNlIFstLWZvcm1hdD08Zm9ybWF0Pl0gWy1sIFs8cGF0dGVybj5dXSIKK21zZ3N0ciAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PTxmb3JtYXRvPl0gWy1sIFs8cGF0dGVybj5dXSIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImludmFsaWQgcmVwbGFjZSBmb3JtYXQgJyVzJ1xuIgorInZhbGlkIGZvcm1hdHMgYXJlICdzaG9ydCcsICdtZWRpdW0nIGFuZCAnbG9uZyciCittc2dzdHIgIiIKKyJmb3JtYXRvIHNvc3RpdHV6aW9uZSBub24gdmFsaWRvOiAnJXMnXG4iCisiaSBmb3JtYXRpIHZhbGlkaSBzb25vICdzaG9ydCcsICdtZWRpdW0nIGUgJ2xvbmcnIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVwbGFjZSByZWYgJyVzJyBub3QgZm91bmQiCittc2dzdHIgInJpZmVyaW1lbnRvIHNvc3RpdHV0aXZvICclcycgbm9uIHRyb3ZhdG8iCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE0MQorIywgYy1mb3JtYXQKK21zZ2lkICJEZWxldGVkIHJlcGxhY2UgcmVmICclcyciCittc2dzdHIgIkVsaW1pbmF0byByaWZlcmltZW50byBzb3N0aXR1dGl2byAnJXMnIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZWYgbmFtZSIKK21zZ3N0ciAiJyVzJyBub24gw6ggdW4gbm9tZSByaWZlcmltZW50byB2YWxpZG8iCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICJyZXBsYWNlIHJlZiAnJXMnIGFscmVhZHkgZXhpc3RzIgorbXNnc3RyICJpbCByaWZlcmltZW50byBzb3N0aXR1dGl2byAnJXMnIGVzaXN0ZSBnacOgIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoxNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9iamVjdHMgbXVzdCBiZSBvZiB0aGUgc2FtZSB0eXBlLlxuIgorIiclcycgcG9pbnRzIHRvIGEgcmVwbGFjZWQgb2JqZWN0IG9mIHR5cGUgJyVzJ1xuIgorIndoaWxlICclcycgcG9pbnRzIHRvIGEgcmVwbGFjZW1lbnQgb2JqZWN0IG9mIHR5cGUgJyVzJy4iCittc2dzdHIgIiIKKyJHbGkgb2dnZXR0aSBkZXZvbm8gZXNzZXJlIGRlbGxvIHN0ZXNzbyB0aXBvLlxuIgorIiclcycgcHVudGEgYSB1biBvZ2dldHRvIHNvc3RpdHVpdG8gZGkgdGlwbyAnJXMnXG4iCisibWVudHJlICclcycgcHVudGEgYSB1biBvZ2dldHRvIHNvc3RpdHV0aXZvIGRpIHRpcG8gJyVzJy4iCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyBmb3Igd3JpdGluZyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICclcycgaW4gc2NyaXR0dXJhIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoyNDIKK21zZ2lkICJjYXQtZmlsZSByZXBvcnRlZCBmYWlsdXJlIgorbXNnc3RyICJjYXQtZmlsZSBoYSBzZWduYWxhdG8gdW4gZXJyb3JlIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmciCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyBpbiBsZXR0dXJhIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoyNzIKK21zZ2lkICJ1bmFibGUgdG8gc3Bhd24gbWt0cmVlIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsYW5jaWFyZSBta3RyZWUiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI3NgorbXNnaWQgInVuYWJsZSB0byByZWFkIGZyb20gbWt0cmVlIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGRhIG1rdHJlZSIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjg1Cittc2dpZCAibWt0cmVlIHJlcG9ydGVkIGZhaWx1cmUiCittc2dzdHIgIm1rdHJlZSBoYSBzZWduYWxhdG8gdW4gZXJyb3JlIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoyODkKK21zZ2lkICJta3RyZWUgZGlkIG5vdCByZXR1cm4gYW4gb2JqZWN0IG5hbWUiCittc2dzdHIgIm1rdHJlZSBub24gaGEgcmVzdGl0dWl0byB1biBub21lIG9nZ2V0dG8iCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZnN0YXQgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIGZzdGF0IHN1ICVzIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzozMDMKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgb2JqZWN0IHRvIGRhdGFiYXNlIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBsJ29nZ2V0dG8gbmVsIGRhdGFiYXNlIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzozMjIgYnVpbHRpbi9yZXBsYWNlLmM6Mzc4IGJ1aWx0aW4vcmVwbGFjZS5jOjQyMworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnIgorbXNnc3RyICJub21lIG9nZ2V0dG8gbm9uIHZhbGlkbzogJyVzJyIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MzI2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBnZXQgb2JqZWN0IHR5cGUgZm9yICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSByZWN1cGVyYXJlIGlsIHRpcG8gZGVsbCdvZ2dldHRvICVzIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzozNDIKK21zZ2lkICJlZGl0aW5nIG9iamVjdCBmaWxlIGZhaWxlZCIKK21zZ3N0ciAibW9kaWZpY2EgZGVsIGZpbGUgb2dnZXR0byBub24gcml1c2NpdGEiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM1MQorIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgb2JqZWN0IGlzIHRoZSBzYW1lIGFzIHRoZSBvbGQgb25lOiAnJXMnIgorbXNnc3RyICJpbCBudW92byBvZ2dldHRvIMOoIGxvIHN0ZXNzbyBkaSBxdWVsbG8gdmVjY2hpbzogJyVzJyIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyBhcyBhIGNvbW1pdCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYW5hbGl6emFyZSAlcyBjb21lIGNvbW1pdCIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBtZXJnZXRhZyBpbiBjb21taXQgJyVzJyIKK21zZ3N0ciAidGFnIG1lcmdlIG5vbiB2YWxpZG8gbmVsIGNvbW1pdCAnJXMnIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsZm9ybWVkIG1lcmdldGFnIGluIGNvbW1pdCAnJXMnIgorbXNnc3RyICJ0YWcgbWVyZ2UgbWFsZm9ybWF0byBuZWwgY29tbWl0ICclcyciCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisib3JpZ2luYWwgY29tbWl0ICclcycgY29udGFpbnMgbWVyZ2V0YWcgJyVzJyB0aGF0IGlzIGRpc2NhcmRlZDsgdXNlIC0tZWRpdCAiCisiaW5zdGVhZCBvZiAtLWdyYWZ0IgorbXNnc3RyICIiCisiaWwgY29tbWl0IG9yaWdpbmFyaW8gJyVzJyBjb250aWVuZSBpbCB0YWcgbWVyZ2UgJyVzJyBjaGUgw6ggc3RhdG8gc2NhcnRhdG87ICIKKyJ1c2EgLS1lZGl0IGFuemljaMOpIC0tZ3JhZnQiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3JpZ2luYWwgY29tbWl0ICclcycgaGFzIGEgZ3BnIHNpZ25hdHVyZSIKK21zZ3N0ciAiaWwgY29tbWl0IG9yaWdpbmFyaW8gJyVzJyBoYSB1bmEgZmlybWEgR1BHIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo0NjkKK21zZ2lkICJ0aGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgcmVwbGFjZW1lbnQgY29tbWl0ISIKK21zZ3N0ciAibGEgZmlybWEgc2Fyw6Agcmltb3NzYSBuZWwgY29tbWl0IHNvc3RpdHV0aXZvISIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDc5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSByZXBsYWNlbWVudCBjb21taXQgZm9yOiAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBpbCBjb21taXQgc29zdGl0dXRpdm8gcGVyICclcyciCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJncmFmdCBmb3IgJyVzJyB1bm5lY2Vzc2FyeSIKK21zZ3N0ciAiZ3JhZnQgcGVyICclcycgbm9uIG5lY2Vzc2FyaW8iCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ5MQorIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgY29tbWl0IGlzIHRoZSBzYW1lIGFzIHRoZSBvbGQgb25lOiAnJXMnIgorbXNnc3RyICJpbCBudW92byBjb21taXQgw6ggbG8gc3Rlc3NvIGRpIHF1ZWxsbyB2ZWNjaGlvOiAnJXMnIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvdWxkIG5vdCBjb252ZXJ0IHRoZSBmb2xsb3dpbmcgZ3JhZnQocyk6XG4iCisiJXMiCittc2dzdHIgIiIKKyJpbXBvc3NpYmlsZSBjb252ZXJ0aXJlIGkgc2VndWVudGkgZ3JhZnQ6XG4iCisiJXMiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0NworbXNnaWQgImxpc3QgcmVwbGFjZSByZWZzIgorbXNnc3RyICJlbGVuY2EgaSByaWZlcmltZW50aSBzb3N0aXR1dGl2aSIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQ4Cittc2dpZCAiZGVsZXRlIHJlcGxhY2UgcmVmcyIKK21zZ3N0ciAiZWxpbWluYSBpIHJpZmVyaW1lbnRpIHNvc3RpdHV0aXZpIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDkKK21zZ2lkICJlZGl0IGV4aXN0aW5nIG9iamVjdCIKK21zZ3N0ciAibW9kaWZpY2EgbCdvZ2dldHRvIGVzaXN0ZW50ZSIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTUwCittc2dpZCAiY2hhbmdlIGEgY29tbWl0J3MgcGFyZW50cyIKK21zZ3N0ciAiY2FtYmlhIGkgZ2VuaXRvcmkgZGkgdW4gY29tbWl0IgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo1NTEKK21zZ2lkICJjb252ZXJ0IGV4aXN0aW5nIGdyYWZ0IGZpbGUiCittc2dzdHIgImNvbnZlcnRpIHVuIGZpbGUgZ3JhZnQgZXNpc3RlbnRlIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo1NTIKK21zZ2lkICJyZXBsYWNlIHRoZSByZWYgaWYgaXQgZXhpc3RzIgorbXNnc3RyICJzb3N0aXR1aXNjaSBpbCByaWZlcmltZW50byBzZSBlc2lzdGUiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1NAorbXNnaWQgImRvIG5vdCBwcmV0dHktcHJpbnQgY29udGVudHMgZm9yIC0tZWRpdCIKK21zZ3N0ciAibm9uIHN0YW1wYXJlIGkgY29udGVudXRpIGluIHVuIGZvcm1hdG8gbGVnZ2liaWxlIChwZXIgLS1lZGl0KSIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU1Cittc2dpZCAidXNlIHRoaXMgZm9ybWF0IgorbXNnc3RyICJ1c2EgcXVlc3RvIGZvcm1hdG8iCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU2OAorbXNnaWQgIi0tZm9ybWF0IGNhbm5vdCBiZSB1c2VkIHdoZW4gbm90IGxpc3RpbmciCittc2dzdHIgIi0tZm9ybWF0IG5vbiBwdcOyIGVzc2VyZSB1c2F0byBxdWFuZG8gbm9uIHNpIGVsZW5jYW5vIHZvY2kiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU3NgorbXNnaWQgIi1mIG9ubHkgbWFrZXMgc2Vuc2Ugd2hlbiB3cml0aW5nIGEgcmVwbGFjZW1lbnQiCittc2dzdHIgIi1mIGhhIHNlbnNvIHNvbG8gc2Ugc2kgc3RhIHNjcml2ZW5kbyB1biBvZ2dldHRvIHNvc3RpdHV0aXZvIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo1ODAKK21zZ2lkICItLXJhdyBvbmx5IG1ha2VzIHNlbnNlIHdpdGggLS1lZGl0IgorbXNnc3RyICItLXJhdyBoYSBzZW5zbyBzb2xvIGNvbiAtLWVkaXQiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU4NgorbXNnaWQgIi1kIG5lZWRzIGF0IGxlYXN0IG9uZSBhcmd1bWVudCIKK21zZ3N0ciAiLWQgcmljaGllZGUgYWxtZW5vIHVuIGFyZ29tZW50byIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTkyCittc2dpZCAiYmFkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgIm51bWVybyBkaSBhcmdvbWVudGkgZXJyYXRvIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo1OTgKK21zZ2lkICItZSBuZWVkcyBleGFjdGx5IG9uZSBhcmd1bWVudCIKK21zZ3N0ciAiLWUgcmljaGllZGUgZXNhdHRhbWVudGUgdW4gYXJnb21lbnRvIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo2MDQKK21zZ2lkICItZyBuZWVkcyBhdCBsZWFzdCBvbmUgYXJndW1lbnQiCittc2dzdHIgIi1nIHJpY2hpZWRlIGFsbWVubyB1biBhcmdvbWVudG8iCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYxMAorbXNnaWQgIi0tY29udmVydC1ncmFmdC1maWxlIHRha2VzIG5vIGFyZ3VtZW50IgorbXNnc3RyICItLWNvbnZlcnQtZ3JhZnQtZmlsZSBub24gcmljaGllZGUgYXJnb21lbnRpIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo2MTYKK21zZ2lkICJvbmx5IG9uZSBwYXR0ZXJuIGNhbiBiZSBnaXZlbiB3aXRoIC1sIgorbXNnc3RyICJjb24gLWwgcHXDsiBlc3NlcmUgc3BlY2lmaWNhdG8gc29sbyB1biBwYXR0ZXJuIgorCisjOiBidWlsdGluL3JlcmVyZS5jOjEzCittc2dpZCAiZ2l0IHJlcmVyZSBbY2xlYXIgfCBmb3JnZXQgPHBhdGg+Li4uIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKK21zZ3N0ciAiIgorImdpdCByZXJlcmUgW2NsZWFyIHwgZm9yZ2V0IDxwZXJjb3Jzbz4uLi4gfCBzdGF0dXMgfCByZW1haW5pbmcgfCBkaWZmIHwgZ2NdIgorCisjOiBidWlsdGluL3JlcmVyZS5jOjYwCittc2dpZCAicmVnaXN0ZXIgY2xlYW4gcmVzb2x1dGlvbnMgaW4gaW5kZXgiCittc2dzdHIgInJlZ2lzdHJhIGxlIHJpc29sdXppb25pIHB1bGl0ZSBuZWxsJ2luZGljZSIKKworIzogYnVpbHRpbi9yZXJlcmUuYzo3OQorbXNnaWQgIidnaXQgcmVyZXJlIGZvcmdldCcgd2l0aG91dCBwYXRocyBpcyBkZXByZWNhdGVkIgorbXNnc3RyICInZ2l0IHJlcmVyZSBmb3JnZXQnIHNlbnphIHBlcmNvcnNpIMOoIGRlcHJlY2F0byIKKworIzogYnVpbHRpbi9yZXJlcmUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGdlbmVyYXRlIGRpZmYgZm9yICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGdlbmVyYXJlIGlsIGRpZmYgcGVyICclcyciCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMgorbXNnaWQgIiIKKyJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCittc2dzdHIgIiIKKyJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCiAKICM6IGJ1aWx0aW4vcmVzZXQuYzozMworbXNnaWQgImdpdCByZXNldCBbLXFdIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCittc2dzdHIgImdpdCByZXNldCBbLXFdIFs8ZXNwcmVzc2lvbmUgYWxiZXJvPl0gWy0tXSA8c3BlY2lmaWNhdG9yZSBwZXJjb3Jzbz4uLi4iCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNAorbXNnaWQgIiIKKyJnaXQgcmVzZXQgWy1xXSBbLS1wYXRoc3BlYy1mcm9tLWZpbGUgWy0tcGF0aHNwZWMtZmlsZS1udWxdXSBbPHRyZWUtaXNoPl0iCittc2dzdHIgIiIKKyJnaXQgcmVzZXQgWy1xXSBbLS1wYXRoc3BlYy1mcm9tLWZpbGUgWy0tcGF0aHNwZWMtZmlsZS1udWxdXSBbPGVzcHJlc3Npb25lIgorIiBhbGJlcm8+XSIKKworIzogYnVpbHRpbi9yZXNldC5jOjM1Cittc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRoc3BlYz4uLi5dIgorbXNnc3RyICIiCisiZ2l0IHJlc2V0IC0tcGF0Y2ggWzxlc3ByZXNzaW9uZSBhbGJlcm8+XSBbLS1dIFs8c3BlY2lmaWNhdG9yZSBwZXJjb3Jzbz4uLi5dIgorCisjOiBidWlsdGluL3Jlc2V0LmM6NDEKIG1zZ2lkICJtaXhlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJtaXN0byIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMzCisjOiBidWlsdGluL3Jlc2V0LmM6NDEKIG1zZ2lkICJzb2Z0IgotbXNnc3RyICIiCittc2dzdHIgInNvZnQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMworIzogYnVpbHRpbi9yZXNldC5jOjQxCiBtc2dpZCAiaGFyZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJoYXJkIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgIm1lcmdlIgotbXNnc3RyICIiCittc2dzdHIgIm1lcmdlIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgImtlZXAiCi1tc2dzdHIgIiIKK21zZ3N0ciAia2VlcCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjc3CisjOiBidWlsdGluL3Jlc2V0LmM6ODIKIG1zZ2lkICJZb3UgZG8gbm90IGhhdmUgYSB2YWxpZCBIRUFELiIKLW1zZ3N0ciAiIgorbXNnc3RyICJOb24gaGFpIHVuIEhFQUQgdmFsaWRvLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjc5CisjOiBidWlsdGluL3Jlc2V0LmM6ODQKIG1zZ2lkICJGYWlsZWQgdG8gZmluZCB0cmVlIG9mIEhFQUQuIgotbXNnc3RyICIiCittc2dzdHIgIkltcG9zc2liaWxlIHRyb3ZhcmUgbCdhbGJlcm8gZGkgSEVBRC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo4NQorIzogYnVpbHRpbi9yZXNldC5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMuIgotbXNnc3RyICIiCittc2dzdHIgIkltcG9zc2liaWxlIHRyb3ZhcmUgbCdhbGJlcm8gZGkgJXMuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6OTYKLW1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgbmV3IGluZGV4IGZpbGUuIgotbXNnc3RyICJOb24gw6ggc3RhdG8gcG9zc2liaWxlIHNjcml2ZXJlIGlsIG51b3ZvIGluZGV4IGZpbGUuIgotCi0jOiBidWlsdGluL3Jlc2V0LmM6MTA2CisjOiBidWlsdGluL3Jlc2V0LmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgaXMgbm93IGF0ICVzIgogbXNnc3RyICJIRUFEIG9yYSBzaSB0cm92YSBhICVzIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MTMwCi1tc2dpZCAiQ291bGQgbm90IHJlYWQgaW5kZXgiCi1tc2dzdHIgIk5vbiDDqCBzdGF0byBwb3NzaWJpbGUgbGVnZ2VyZSBpbmRleCIKLQotIzogYnVpbHRpbi9yZXNldC5jOjEzMwotbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVzZXQuYzoyMjMKKyM6IGJ1aWx0aW4vcmVzZXQuYzoxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRvIGEgJXMgcmVzZXQgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlLiIKIG1zZ3N0ciAiSW1wb3NzaWJpbGUgZXNlZ3VpcmUgdW4gJXMgcmVzZXQgbmVsIGNvcnNvIGRpIHVuIG1lcmdlLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5NwotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgotbXNnc3RyICJOb24gw6ggc3RhdG8gcG9zc2liaWxlIGFuYWxpenphcmUgbCdvZ2dldHRvICclcycuIgorIzogYnVpbHRpbi9yZXNldC5jOjI5NCBidWlsdGluL3N0YXNoLmM6NTE5IGJ1aWx0aW4vc3Rhc2guYzo1OTQKKyM6IGJ1aWx0aW4vc3Rhc2guYzo2MTgKK21zZ2lkICJiZSBxdWlldCwgb25seSByZXBvcnQgZXJyb3JzIgorbXNnc3RyICJub24gdmlzdWFsaXp6YXJlIG1lc3NhZ2dpLCBzZWduYWxhIHNvbG8gZ2xpIGVycm9yaSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMwMgorIzogYnVpbHRpbi9yZXNldC5jOjI5NgorbXNnaWQgInJlc2V0IEhFQUQgYW5kIGluZGV4IgorbXNnc3RyICJyZWltcG9zdGEgbCdIRUFEIGUgbCdpbmRpY2UiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTcKK21zZ2lkICJyZXNldCBvbmx5IEhFQUQiCittc2dzdHIgInJlaW1wb3N0YSBzb2xvIGwnSEVBRCIKKworIzogYnVpbHRpbi9yZXNldC5jOjI5OSBidWlsdGluL3Jlc2V0LmM6MzAxCittc2dpZCAicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAicmVpbXBvc3RhIGwnSEVBRCwgbCdpbmRpY2UgZSBsJ2FsYmVybyBkaSBsYXZvcm8iCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDMKK21zZ2lkICJyZXNldCBIRUFEIGJ1dCBrZWVwIGxvY2FsIGNoYW5nZXMiCittc2dzdHIgInJlaW1wb3N0YSBsJ0hFQUQgbWEgbWFudGllbmkgbGUgbW9kaWZpY2hlIGxvY2FsaSIKKworIzogYnVpbHRpbi9yZXNldC5jOjMwOQorbXNnaWQgInJlY29yZCBvbmx5IHRoZSBmYWN0IHRoYXQgcmVtb3ZlZCBwYXRocyB3aWxsIGJlIGFkZGVkIGxhdGVyIgorbXNnc3RyICIiCisic2FsdmEgc29sbyBpbCBmYXR0byBjaGUgaSBwZXJjb3JzaSByaW1vc3NpIHNhcmFubm8gYWdnaXVudGkgc3VjY2Vzc2l2YW1lbnRlIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZXZpc2lvbi4iCittc2dzdHIgIlJpc29sdXppb25lIGRpICclcycgY29tZSByZXZpc2lvbmUgdmFsaWRhIG5vbiByaXVzY2l0YS4iCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHRyZWUuIgorbXNnc3RyICJSaXNvbHV6aW9uZSBkaSAnJXMnIGNvbWUgYWxiZXJvIHZhbGlkbyBub24gcml1c2NpdGEuIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzYwCiBtc2dpZCAiLS1wYXRjaCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLXtoYXJkLG1peGVkLHNvZnR9IgogbXNnc3RyICItLXBhdGNoIG5vbiDDqCBjb21wYXRpYmlsZSBjb24gLS17aGFyZCxtaXhlZCxzb2Z0fSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMxMQorIzogYnVpbHRpbi9yZXNldC5jOjM3MAogbXNnaWQgIi0tbWl4ZWQgd2l0aCBwYXRocyBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCByZXNldCAtLSA8cGF0aHM+JyBpbnN0ZWFkLiIKIG1zZ3N0ciAiLS1taXhlZCBjb24gaSBwYXRoIMOoIGRlcHJlY2F0YTsgdXNhIGludmVjZSAnZ2l0IHJlc2V0IC0tIDxwYXRoPicuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzEzCisjOiBidWlsdGluL3Jlc2V0LmM6MzcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyAlcyByZXNldCB3aXRoIHBhdGhzLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmlsZSBlc2VndWlyZSB1biAlcyByZXNldCBjb24gZGVpIHBlcmNvcnNpLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMyNQorIzogYnVpbHRpbi9yZXNldC5jOjM4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyByZXNldCBpcyBub3QgYWxsb3dlZCBpbiBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiJXMgcmVzZXQgbm9uIMOoIGNvbnNlbnRpdG8gaW4gdW4gcmVwb3NpdG9yeSBzcG9nbGlvIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzQxCisjOiBidWlsdGluL3Jlc2V0LmM6MzkxCittc2dpZCAiLU4gY2FuIG9ubHkgYmUgdXNlZCB3aXRoIC0tbWl4ZWQiCittc2dzdHIgIi1OIHB1w7IgZXNzZXJlIHVzYXRvIHNvbG8gY29uIC0tbWl4ZWQiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MTIKK21zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKK21zZ3N0ciAiTW9kaWZpY2hlIG5vbiBuZWxsJ2FyZWEgZGkgc3RhZ2luZyBkb3BvIGlsIHJlc2V0OiIKKworIzogYnVpbHRpbi9yZXNldC5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gZW51bWVyYXRlIHVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQuICBZb3UgY2FuXG4iCisidXNlICctLXF1aWV0JyB0byBhdm9pZCB0aGlzLiAgU2V0IHRoZSBjb25maWcgc2V0dGluZyByZXNldC5xdWlldCB0byB0cnVlXG4iCisidG8gbWFrZSB0aGlzIHRoZSBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisiQ2kgc29ubyB2b2x1dGkgJS4yZiBzZWNvbmRpIHBlciBlbGVuY2FyZSBsZSBtb2RpZmljaGUgbm9uIG5lbGwnYXJlYSBkaVxuIgorInN0YWdpbmcgZG9wbyBpbCByZXNldC4gUHVvaSB1c2FyZSAnLS1xdWlldCcgcGVyIG5vbiB2aXN1YWxpenphcmUgcXVlc3RvXG4iCisibWVzc2FnZ2lvLiBJbXBvc3RhIGwnb3B6aW9uZSBkaSBjb25maWd1cmF6aW9uZSByZXNldC5xdWlldCBhIHRydWUgcGVyXG4iCisicmVuZGVyZSB0YWxlIGNvbXBvcnRhbWVudG8gcXVlbGxvIHByZWRlZmluaXRvLlxuIgorCisjOiBidWlsdGluL3Jlc2V0LmM6NDI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIgotbXNnc3RyICIiCi0iTm9uIMOoIHN0YXRvIHBvc3NpYmlsZSByaXByaXN0aW5hcmUgaW5kZXggZmlsZSAiCi0iYWxsYSByZXZpc2lvbmUgJyVzJy4iCittc2dzdHIgIkltcG9zc2liaWxlIHJpcHJpc3RpbmFyZSBpbCBmaWxlIGluZGljZSBhbGxhIHJldmlzaW9uZSAnJXMnLiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo3MCBidWlsdGluL3JldmVydC5jOjkyCisjOiBidWlsdGluL3Jlc2V0LmM6NDI5Cittc2dpZCAiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgc2NyaXZlcmUgaWwgbnVvdm8gZmlsZSBpbmRpY2UuIgorCisjOiBidWlsdGluL3Jldi1saXN0LmM6NDExCittc2dpZCAiY2Fubm90IGNvbWJpbmUgLS1leGNsdWRlLXByb21pc29yLW9iamVjdHMgYW5kIC0tbWlzc2luZyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY29tYmluYXJlIC0tZXhjbHVkZS1wcm9taXNvci1vYmplY3RzIGUgLS1taXNzaW5nIgorCisjOiBidWlsdGluL3Jldi1saXN0LmM6NDcyCittc2dpZCAib2JqZWN0IGZpbHRlcmluZyByZXF1aXJlcyAtLW9iamVjdHMiCittc2dzdHIgImlsIGZpbHRyYWdnaW8gb2dnZXR0aSByaWNoaWVkZSAtLW9iamVjdHMiCisKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo1MjIKK21zZ2lkICJyZXYtbGlzdCBkb2VzIG5vdCBzdXBwb3J0IGRpc3BsYXkgb2Ygbm90ZXMiCittc2dzdHIgInJldi1saXN0IG5vbiBzdXBwb3J0YSBsYSB2aXN1YWxpenphemlvbmUgZGVsbGUgbm90ZSIKKworIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUyNQorbXNnaWQgImNhbm5vdCBjb21iaW5lIC0tdXNlLWJpdG1hcC1pbmRleCB3aXRoIG9iamVjdCBmaWx0ZXJpbmciCittc2dzdHIgImltcG9zc2liaWxlIGNvbWJpbmFyZSAtLXVzZS1iaXRtYXAtaW5kZXggY29uIGlsIGZpbHRyYWdnaW8gb2dnZXR0aSIKKworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDgKK21zZ2lkICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl0iCittc2dzdHIgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wemlvbmk+XSAtLSBbPGFyZ29tZW50aT4uLi5dIgorCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxMworbXNnaWQgImtlZXAgdGhlIGAtLWAgcGFzc2VkIGFzIGFuIGFyZyIKK21zZ3N0ciAibWFudGllbmkgbGEgc3RyaW5nYSBwYXNzYXRhIGAtLWAgY29tZSBhcmdvbWVudG8iCisKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDE1Cittc2dpZCAic3RvcCBwYXJzaW5nIGFmdGVyIHRoZSBmaXJzdCBub24tb3B0aW9uIGFyZ3VtZW50IgorbXNnc3RyICIiCisidGVybWluYSBsJ2FuYWxpc2kgZG9wbyBpbCBwcmltbyBhcmdvbWVudG8gbm9uIGNvcnJpc3BvbmRlbnRlIGEgdW4nb3B6aW9uZSIKKworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTgKK21zZ2lkICJvdXRwdXQgaW4gc3R1Y2sgbG9uZyBmb3JtIgorbXNnc3RyICJlbWV0dGkgbCdvdXRwdXQgaW4gZm9ybWEgXCJzdHVjayBsb25nXCIiCisKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTUxCittc2dpZCAiIgorImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXVxuIgorIiAgIG9yOiBnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgWzxhcmc+Li4uXVxuIgorIiAgIG9yOiBnaXQgcmV2LXBhcnNlIFs8b3B0aW9ucz5dIFs8YXJnPi4uLl1cbiIKKyJcbiIKKyJSdW4gXCJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgLWhcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgZmlyc3QgdXNhZ2UuIgorbXNnc3RyICIiCisiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B6aW9uaT5dIC0tIFs8YXJnb21lbnRpPi4uLl1cbiIKKyIgICBvOiBnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgWzxhcmdvbWVudG8+Li4uXVxuIgorIiAgIG86IGdpdCByZXYtcGFyc2UgWzxvcHppb25pPl0gWzxhcmdvbWVudG8+Li4uXVxuIgorIlxuIgorIkVzZWd1aSBcImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCAtaFwiIHBlciB1bHRlcmlvcmkgaW5mb3JtYXppb25pIHN1bGxhICIKKyJwcmltYVxuIgorIm1vZGFsaXTDoCBkJ3Vzby4iCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjQKK21zZ2lkICJnaXQgcmV2ZXJ0IFs8b3B0aW9ucz5dIDxjb21taXQtaXNoPi4uLiIKK21zZ3N0ciAiZ2l0IHJldmVydCBbPG9wemlvbmk+XSA8ZXNwcmVzc2lvbmUgY29tbWl0Pi4uLiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoyNQorbXNnaWQgImdpdCByZXZlcnQgPHN1YmNvbW1hbmQ+IgorbXNnc3RyICJnaXQgcmV2ZXJ0IDxzb3R0b2NvbWFuZG8+IgorCisjOiBidWlsdGluL3JldmVydC5jOjMwCittc2dpZCAiZ2l0IGNoZXJyeS1waWNrIFs8b3B0aW9ucz5dIDxjb21taXQtaXNoPi4uLiIKK21zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIFs8b3B6aW9uaT5dIDxlc3ByZXNzaW9uZSBjb21taXQ+Li4uIgorCisjOiBidWlsdGluL3JldmVydC5jOjMxCittc2dpZCAiZ2l0IGNoZXJyeS1waWNrIDxzdWJjb21tYW5kPiIKK21zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIDxzb3R0b2NvbWFuZG8+IgorCisjOiBidWlsdGluL3JldmVydC5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgYSBudW1iZXIgZ3JlYXRlciB0aGFuIHplcm8iCittc2dzdHIgImwnb3B6aW9uZSBgJXMnIHJpY2hpZWRlIHVuIG51bWVybyBtYWdnaW9yZSBkaSB6ZXJvIgorCisjOiBidWlsdGluL3JldmVydC5jOjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICIlczogJXMgbm9uIHB1w7IgZXNzZXJlIHVzYXRhIGNvbiAlcyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMzEKLW1zZ2lkICJwcm9ncmFtIGVycm9yIgotbXNnc3RyICJlcnJvcmUgZGVsIHByb2dyYW1tYSIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCittc2dpZCAiZW5kIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKK21zZ3N0ciAidGVybWluYSBsYSBzZXF1ZW56YSByZXZlcnQgbyBjaGVycnktcGljayIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMjEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCittc2dpZCAicmVzdW1lIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKK21zZ3N0ciAicmlwcmVuZGkgbGEgc2VxdWVuemEgcmV2ZXJ0IG8gY2hlcnJ5LXBpY2siCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0Cittc2dpZCAiY2FuY2VsIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKK21zZ3N0ciAiYW5udWxsYSBsYSBzZXF1ZW56YSByZXZlcnQgbyBjaGVycnktcGljayIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDUKK21zZ2lkICJza2lwIGN1cnJlbnQgY29tbWl0IGFuZCBjb250aW51ZSIKK21zZ3N0ciAic2FsdGEgaWwgY29tbWl0IGNvcnJlbnRlIGUgY29udGludWEiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3Cittc2dpZCAiZG9uJ3QgYXV0b21hdGljYWxseSBjb21taXQiCittc2dzdHIgIm5vbiBlc2VndWlyZSBpbCBjb21taXQgYXV0b21hdGljYW1lbnRlIgorCisjOiBidWlsdGluL3JldmVydC5jOjEwOAorbXNnaWQgImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIgorbXNnc3RyICJtb2RpZmljYSBpbCBtZXNzYWdnaW8gZGkgY29tbWl0IgorCisjOiBidWlsdGluL3JldmVydC5jOjExMQorbXNnaWQgInBhcmVudC1udW1iZXIiCittc2dzdHIgIm51bWVyby1nZW5pdG9yZSIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMTIKK21zZ2lkICJzZWxlY3QgbWFpbmxpbmUgcGFyZW50IgorbXNnc3RyICJzZWxlemlvbmEgaWwgZ2VuaXRvcmUgbWFpbmxpbmUiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE0Cittc2dpZCAibWVyZ2Ugc3RyYXRlZ3kiCittc2dzdHIgInN0cmF0ZWdpYSBkaSBtZXJnZSIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMTYKK21zZ2lkICJvcHRpb24gZm9yIG1lcmdlIHN0cmF0ZWd5IgorbXNnc3RyICJvcHppb25lIHBlciBsYSBzdHJhdGVnaWEgZGkgbWVyZ2UiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI1Cittc2dpZCAiYXBwZW5kIGNvbW1pdCBuYW1lIgorbXNnc3RyICJhZ2dpdW5naSBpbCBub21lIGRlbCBjb21taXQgYWxsYSBmaW5lIgorCisjOiBidWlsdGluL3JldmVydC5jOjEyNworbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgorbXNnc3RyICJtYW50aWVuaSBpIGNvbW1pdCBpbml6aWFsbWVudGUgdnVvdGkiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI5Cittc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCittc2dzdHIgIm1hbnRpZW5pIGkgY29tbWl0IHJpZG9uZGFudGkgZSB2dW90aSIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoyMzIKIG1zZ2lkICJyZXZlcnQgZmFpbGVkIgogbXNnc3RyICJyZXZlcnQgbm9uIHJpdXNjaXRvIgogCi0jOiBidWlsdGluL3JldmVydC5jOjIzNgorIzogYnVpbHRpbi9yZXZlcnQuYzoyNDUKIG1zZ2lkICJjaGVycnktcGljayBmYWlsZWQiCiBtc2dzdHIgImNoZXJyeS1waWNrIG5vbiByaXVzY2l0byIKIAotIzogYnVpbHRpbi9ybS5jOjEwOQotIywgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vcm0uYzoxOQorbXNnaWQgImdpdCBybSBbPG9wdGlvbnM+XSBbLS1dIDxmaWxlPi4uLiIKK21zZ3N0ciAiZ2l0IHJtIFs8b3B6aW9uaT5dIFstLV0gPGZpbGU+Li4uIgorCisjOiBidWlsdGluL3JtLmM6MjA3CiBtc2dpZCAiIgotIiclcycgaGFzIHN0YWdlZCBjb250ZW50IGRpZmZlcmVudCBmcm9tIGJvdGggdGhlIGZpbGUgYW5kIHRoZSBIRUFEXG4iCisidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBzdGFnZWQgY29udGVudCBkaWZmZXJlbnQgZnJvbSBib3RoIHRoZVxuIgorImZpbGUgYW5kIHRoZSBIRUFEOiIKK21zZ2lkX3BsdXJhbCAiIgorInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBzdGFnZWQgY29udGVudCBkaWZmZXJlbnQgZnJvbSBib3RoIHRoZVxuIgorImZpbGUgYW5kIHRoZSBIRUFEOiIKK21zZ3N0clswXSAiIgorImlsIHNlZ3VlbnRlIGZpbGUgaGEgY29udGVudXRpIG5lbGwnYXJlYSBkaSBzdGFnaW5nIGNoZVxuIgorImRpZmZlcmlzY29ubyBzaWEgcmlzcGV0dG8gYSBxdWVsbGkgZGVsIGZpbGUgc2lhIHJpc3BldHRvIGEgSEVBRDoiCittc2dzdHJbMV0gIiIKKyJpIHNlZ3VlbnRpIGZpbGUgaGFubm8gY29udGVudXRpIG5lbGwnYXJlYSBkaSBzdGFnaW5nIGNoZVxuIgorImRpZmZlcmlzY29ubyBzaWEgcmlzcGV0dG8gYSBxdWVsbGkgZGVsIGZpbGUgc2lhIHJpc3BldHRvIGEgSEVBRDoiCisKKyM6IGJ1aWx0aW4vcm0uYzoyMTIKK21zZ2lkICIiCisiXG4iCiAiKHVzZSAtZiB0byBmb3JjZSByZW1vdmFsKSIKIG1zZ3N0ciAiIgorIlxuIgorIih1c2EgLWYgcGVyIGZvcnphcm5lIGxhIHJpbW96aW9uZSkiCiAKLSM6IGJ1aWx0aW4vcm0uYzoxMTUKLSMsIGMtZm9ybWF0CisjOiBidWlsdGluL3JtLmM6MjE2Cittc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgorbXNnaWRfcGx1cmFsICJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKK21zZ3N0clswXSAiaWwgc2VndWVudGUgZmlsZSBoYSBkZWxsZSBtb2RpZmljaGUgaW4gc3RhZ2luZyBuZWxsJ2luZGljZToiCittc2dzdHJbMV0gImkgc2VndWVudGkgZmlsZSBoYW5ubyBkZWxsZSBtb2RpZmljaGUgaW4gc3RhZ2luZyBuZWxsJ2luZGljZToiCisKKyM6IGJ1aWx0aW4vcm0uYzoyMjAgYnVpbHRpbi9ybS5jOjIyOQogbXNnaWQgIiIKLSInJXMnIGhhcyBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXhcbiIKKyJcbiIKICIodXNlIC0tY2FjaGVkIHRvIGtlZXAgdGhlIGZpbGUsIG9yIC1mIHRvIGZvcmNlIHJlbW92YWwpIgogbXNnc3RyICIiCisiXG4iCisiKHVzYSAtLWNhY2hlZCBwZXIgbWFudGVuZXJlIGlsIGZpbGUgbyAtZiBwZXIgZm9yemFybmUgbGEgcmltb3ppb25lKSIKIAotIzogYnVpbHRpbi9ybS5jOjExOQotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iJyVzJyBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uc1xuIgotIih1c2UgLS1jYWNoZWQgdG8ga2VlcCB0aGUgZmlsZSwgb3IgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCisjOiBidWlsdGluL3JtLmM6MjI2Cittc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBsb2NhbCBtb2RpZmljYXRpb25zOiIKK21zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGxvY2FsIG1vZGlmaWNhdGlvbnM6IgorbXNnc3RyWzBdICJpbCBzZWd1ZW50ZSBmaWxlIGhhIGRlbGxlIG1vZGlmaWNoZSBsb2NhbGk6IgorbXNnc3RyWzFdICJpIHNlZ3VlbnRpIGZpbGUgaGFubm8gZGVsbGUgbW9kaWZpY2hlIGxvY2FsaToiCisKKyM6IGJ1aWx0aW4vcm0uYzoyNDIKK21zZ2lkICJkbyBub3QgbGlzdCByZW1vdmVkIGZpbGVzIgorbXNnc3RyICJub24gZWxlbmNhcmUgaSBmaWxlIHJpbW9zc2kiCisKKyM6IGJ1aWx0aW4vcm0uYzoyNDMKK21zZ2lkICJvbmx5IHJlbW92ZSBmcm9tIHRoZSBpbmRleCIKK21zZ3N0ciAicmltdW92aSBzb2xvIGRhbGwnaW5kaWNlIgorCisjOiBidWlsdGluL3JtLmM6MjQ0Cittc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCittc2dzdHIgImlnbm9yYSBpbCBjb250cm9sbG8gc3VsbG8gc3RhdG8gZGkgYWdnaW9ybmFtZW50byIKKworIzogYnVpbHRpbi9ybS5jOjI0NQorbXNnaWQgImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIgorbXNnc3RyICJjb25zZW50aSByaW1vemlvbmkgcmljb3JzaXZlIgorCisjOiBidWlsdGluL3JtLmM6MjQ3Cittc2dpZCAiZXhpdCB3aXRoIGEgemVybyBzdGF0dXMgZXZlbiBpZiBub3RoaW5nIG1hdGNoZWQiCiBtc2dzdHIgIiIKLSInJXMnIGNvbnRpZW5lIGRlbGxlIG1vZGlmaWNoZSBsb2NhbGlcbiIKLSIodXNhIC0tY2FjaGVkIHBlciBtYW50ZW5lcmUgaWwgZmlsZSwgbyAtZiBwZXIgZm9yemFyZSBsYSByaW1vemlvbmUpIgorImVzY2kgY29uIGNvZGljZSBkJ3VzY2l0YSB6ZXJvIGFuY2hlIG5lbCBjYXNvIGluIGN1aSBub24gdmkgc2lhbm8gIgorImNvcnJpc3BvbmRlbnplIgogCi0jOiBidWlsdGluL3JtLmM6MTk0CisjOiBidWlsdGluL3JtLmM6Mjg5Cittc2dpZCAicGxlYXNlIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCittc2dzdHIgIiIKKyJlc2VndWkgbG8gc3RhZ2UgZGVsbGUgbW9kaWZpY2hlIGEgLmdpdG1vZHVsZXMgbyBlc2VndWluZSBsbyBzdGFzaCBwZXIgIgorInByb2NlZGVyZSIKKworIzogYnVpbHRpbi9ybS5jOjMwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgcmVtb3ZpbmcgJyVzJyByZWN1cnNpdmVseSB3aXRob3V0IC1yIgotbXNnc3RyICIiCittc2dzdHIgIm5vbiByaW11b3ZvICclcycgcmljb3JzaXZhbWVudGUgc2VuemEgLXIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMzAKKyM6IGJ1aWx0aW4vcm0uYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHJtOiB1bmFibGUgdG8gcmVtb3ZlICVzIgogbXNnc3RyICJnaXQgcm06IG5vbiDDqCBwb3NzaWJpbGUgZWxpbWluYXJlICVzIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6MTU3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIk1pc3NpbmcgYXV0aG9yOiAlcyIKLW1zZ3N0ciAiQXV0b3JlIG1hbmNhbnRlOiAlcyIKLQotIzogYnVpbHRpbi90YWcuYzo2MAotIywgYy1mb3JtYXQKLW1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IGF0ICclcyciCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjIwCittc2dpZCAiIgorImdpdCBzZW5kLXBhY2sgWy0tYWxsIHwgLS1taXJyb3JdIFstLWRyeS1ydW5dIFstLWZvcmNlXSBbLS1yZWNlaXZlLXBhY2s9PGdpdC0iCisicmVjZWl2ZS1wYWNrPl0gWy0tdmVyYm9zZV0gWy0tdGhpbl0gWy0tYXRvbWljXSBbPGhvc3Q+Ol08ZGlyZWN0b3J5PiAiCisiWzxyZWY+Li4uXVxuIgorIiAgLS1hbGwgYW5kIGV4cGxpY2l0IDxyZWY+IHNwZWNpZmljYXRpb24gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCiBtc2dzdHIgIiIKKyJnaXQgc2VuZC1wYWNrIFstLWFsbCB8IC0tbWlycm9yXSBbLS1kcnktcnVuXSBbLS1mb3JjZV0gWy0tcmVjZWl2ZS1wYWNrPTxnaXQtIgorInJlY2VpdmUtcGFjaz5dIFstLXZlcmJvc2VdIFstLXRoaW5dIFstLWF0b21pY10gWzxob3N0PjpdPGRpcmVjdG9yeT4gIgorIls8cmlmZXJpbWVudG8+Li4uXVxuIgorIiAgLS1hbGwgZSB1bm8gc3BlY2lmaWNhdG9yZSA8cmlmZXJpbWVudG8+IHNvbm8gbXV0dWFsbWVudGUgZXNjbHVzaXZpLiIKIAotIzogYnVpbHRpbi90YWcuYzoyMDcKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCittc2dpZCAicmVtb3RlIG5hbWUiCittc2dzdHIgIm5vbWUgcmVtb3RvIgorCisjOiBidWlsdGluL3NlbmQtcGFjay5jOjE3NworbXNnaWQgInVzZSBzdGF0ZWxlc3MgUlBDIHByb3RvY29sIgorbXNnc3RyICJ1c2EgcHJvdG9jb2xsbyBSUEMgc2VuemEgc3RhdG8iCisKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc4Cittc2dpZCAicmVhZCByZWZzIGZyb20gc3RkaW4iCittc2dzdHIgImxlZ2dpIGkgcmlmZXJpbWVudG8gZGFsbG8gc3RhbmRhcmQgaW5wdXQiCisKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc5Cittc2dpZCAicHJpbnQgc3RhdHVzIGZyb20gcmVtb3RlIGhlbHBlciIKK21zZ3N0ciAic3RhbXBhIGxvIHN0YXRvIGRlbGwnaGVscGVyIHJlbW90byIKKworIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE0Cittc2dpZCAiZ2l0IHNob3J0bG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSA8cGF0aD4uLi5dIgorbXNnc3RyICJnaXQgc2hvcnRsb2cgWzxvcHppb25pPl0gWzxpbnRlcnZhbGxvIHJldmlzaW9uaT5dIFtbLS1dIDxwZXJjb3Jzbz4uLi5dIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MTUKK21zZ2lkICJnaXQgbG9nIC0tcHJldHR5PXNob3J0IHwgZ2l0IHNob3J0bG9nIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgbG9nIC0tcHJldHR5PXNob3J0IHwgZ2l0IHNob3J0bG9nIFs8b3B6aW9uaT5dIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjY0Cittc2dpZCAiR3JvdXAgYnkgY29tbWl0dGVyIHJhdGhlciB0aGFuIGF1dGhvciIKK21zZ3N0ciAiUmFnZ3J1cHBhIHBlciBwZXJzb25hIGNoZSBoYSBlc2VndWl0byBpbCBjb21taXQgYW56aWNow6kgcGVyIGF1dG9yZSIKKworIzogYnVpbHRpbi9zaG9ydGxvZy5jOjI2NgorbXNnaWQgInNvcnQgb3V0cHV0IGFjY29yZGluZyB0byB0aGUgbnVtYmVyIG9mIGNvbW1pdHMgcGVyIGF1dGhvciIKK21zZ3N0ciAib3JkaW5hIGwnb3V0cHV0IGluIGJhc2UgYWwgbnVtZXJvIGRpIGNvbW1pdCBwZXIgYXV0b3JlIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjY4Cittc2dpZCAiU3VwcHJlc3MgY29tbWl0IGRlc2NyaXB0aW9ucywgb25seSBwcm92aWRlcyBjb21taXQgY291bnQiCittc2dzdHIgIk9tZXR0aSBsZSBkZXNjcml6aW9uaSBkZWkgY29tbWl0LCBmb3JuaXNjaSBzb2xvIGlsIG51bWVybyBkZWkgY29tbWl0IgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjcwCittc2dpZCAiU2hvdyB0aGUgZW1haWwgYWRkcmVzcyBvZiBlYWNoIGF1dGhvciIKK21zZ3N0ciAiVmlzdWFsaXp6YSBsJ2luZGlyaXp6byBlLW1haWwgZGkgb2duaSBhdXRvcmUiCisKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzEKK21zZ2lkICI8dz5bLDxpMT5bLDxpMj5dXSIKK21zZ3N0ciAiPHc+Wyw8aTE+Wyw8aTI+XV0iCisKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNzIKK21zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCittc2dzdHIgIk91dHB1dCBhIGNhcG8gYXV0b21hdGljbyIKKworIzogYnVpbHRpbi9zaG9ydGxvZy5jOjMwMQorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyBnaXZlbiBvdXRzaWRlIHJlcG9zaXRvcnkiCittc2dzdHIgInRyb3BwaSBhcmdvbWVudGkgZm9ybml0aSBvbHRyZSBhbCByZXBvc2l0b3J5IgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6MTMKK21zZ2lkICIiCisiZ2l0IHNob3ctYnJhbmNoIFstYSB8IC0tYWxsXSBbLXIgfCAtLXJlbW90ZXNdIFstLXRvcG8tb3JkZXIgfCAtLWRhdGUtb3JkZXJdXG4iCisiXHRcdFstLWN1cnJlbnRdIFstLWNvbG9yWz08d2hlbj5dIHwgLS1uby1jb2xvcl0gWy0tc3BhcnNlXVxuIgorIlx0XHRbLS1tb3JlPTxuPiB8IC0tbGlzdCB8IC0taW5kZXBlbmRlbnQgfCAtLW1lcmdlLWJhc2VdXG4iCisiXHRcdFstLW5vLW5hbWUgfCAtLXNoYTEtbmFtZV0gWy0tdG9waWNzXSBbKDxyZXY+IHwgPGdsb2I+KS4uLl0iCittc2dzdHIgIiIKKyJnaXQgc2hvdy1icmFuY2ggWy1hIHwgLS1hbGxdIFstciB8IC0tcmVtb3Rlc10gWy0tdG9wby1vcmRlciB8IC0tZGF0ZS1vcmRlcl1cbiIKKyJcdFx0Wy0tY3VycmVudF0gWy0tY29sb3JbPTxxdWFuZG8+XSB8IC0tbm8tY29sb3JdIFstLXNwYXJzZV1cbiIKKyJcdFx0Wy0tbW9yZT08bj4gfCAtLWxpc3QgfCAtLWluZGVwZW5kZW50IHwgLS1tZXJnZS1iYXNlXVxuIgorIlx0XHRbLS1uby1uYW1lIHwgLS1zaGExLW5hbWVdIFstLXRvcGljc10gWyg8cmV2aXNpb25lPiB8IDxnbG9iPikuLi5dIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6MTcKK21zZ2lkICJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8cmVmPl0iCittc2dzdHIgIiIKKyJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDxiYXNlPl1dIFstLWxpc3RdIFs8cmlmZXJpbWVudG8+XSIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjM5NQogIywgYy1mb3JtYXQKLW1zZ2lkICJ0YWcgbmFtZSB0b28gbG9uZzogJS4qcy4uLiIKLW1zZ3N0ciAibm9tZSB0YWcgdHJvcHBvIGx1bmdvOiAlLipzLi4uIgorbXNnaWQgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWYiCittc2dpZF9wbHVyYWwgImlnbm9yaW5nICVzOyBjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZWZzIgorbXNnc3RyWzBdICJpZ25vcm8gJXM7IG5vbiBwb3NzbyBnZXN0aXJlIHBpw7kgZGkgJWQgcmlmZXJpbWVudG8iCittc2dzdHJbMV0gImlnbm9ybyAlczsgbm9uIHBvc3NvIGdlc3RpcmUgcGnDuSBkaSAlZCByaWZlcmltZW50aSIKIAotIzogYnVpbHRpbi90YWcuYzoyMTIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWF0Y2hpbmcgcmVmcyB3aXRoICVzIgorbXNnc3RyICJuZXNzdW4gcmlmZXJpbWVudG8gY29ycmlzcG9uZGVudGUgYSAlcyIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NQorbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKK21zZ3N0ciAidmlzdWFsaXp6YSBpIGJyYW5jaCBjaGUgbmUgdHJhY2NpYW5vIHVubyByZW1vdG8gZSBxdWVsbGkgbG9jYWxpIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ3Cittc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCittc2dzdHIgInZpc3VhbGl6emEgaSBicmFuY2ggY2hlIG5lIHRyYWNjaWFubyB1bm8gcmVtb3RvIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ5Cittc2dpZCAiY29sb3IgJyohKy0nIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGJyYW5jaCIKK21zZ3N0ciAiY29sb3JlICcqISstJyBjb3JyaXNwb25kZW50ZSBhbCBicmFuY2giCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTEKK21zZ2lkICJzaG93IDxuPiBtb3JlIGNvbW1pdHMgYWZ0ZXIgdGhlIGNvbW1vbiBhbmNlc3RvciIKK21zZ3N0ciAidmlzdWFsaXp6YSA8bj4gY29tbWl0IHVsdGVyaW9yaSByaXNwZXR0byBhbGwnYW50ZW5hdG8gY29tdW5lIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUzCittc2dpZCAic3lub255bSB0byBtb3JlPS0xIgorbXNnc3RyICJzaW5vbmltbyBkaSBtb3JlPS0xIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0Cittc2dpZCAic3VwcHJlc3MgbmFtaW5nIHN0cmluZ3MiCittc2dzdHIgIm5vbiB2aXN1YWxpenphcmUgbGUgc3RyaW5naGUgZGkgZGVub21pbmF6aW9uZSIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NgorbXNnaWQgImluY2x1ZGUgdGhlIGN1cnJlbnQgYnJhbmNoIgorbXNnc3RyICJpbmNsdWRpIGlsIGJyYW5jaCBjb3JyZW50ZSIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OAorbXNnaWQgIm5hbWUgY29tbWl0cyB3aXRoIHRoZWlyIG9iamVjdCBuYW1lcyIKK21zZ3N0ciAiZGVub21pbmEgaSBjb21taXQgY29uIGkgbG9ybyBub21pIG9nZ2V0dG8iCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjAKK21zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgorbXNnc3RyICJ2aXN1YWxpenphIGxlIGJhc2kgbWVyZ2UgcG9zc2liaWxpIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYyCittc2dpZCAic2hvdyByZWZzIHVucmVhY2hhYmxlIGZyb20gYW55IG90aGVyIHJlZiIKK21zZ3N0ciAidmlzdWFsaXp6YSBpIHJpZmVyaW1lbnRpIG5vbiByYWdnaXVuZ2liaWxpIGRhIG5lc3N1biBhbHRybyIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NAorbXNnaWQgInNob3cgY29tbWl0cyBpbiB0b3BvbG9naWNhbCBvcmRlciIKK21zZ3N0ciAidmlzdWFsaXp6YSBpIGNvbW1pdCBpbiBvcmRpbmUgdG9wb2xvZ2ljbyIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NworbXNnaWQgInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIgorbXNnc3RyICJ2aXN1YWxpenphIHNvbG8gaSBjb21taXQgbm9uIHN1bCBwcmltbyBicmFuY2giCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjkKK21zZ2lkICJzaG93IG1lcmdlcyByZWFjaGFibGUgZnJvbSBvbmx5IG9uZSB0aXAiCittc2dzdHIgInZpc3VhbGl6emEgaSBtZXJnZSByYWdnaXVuZ2liaWxpIHNvbG8gZGFsbCd1bHRpbW8gY29tbWl0IGRpIHVuIGJyYW5jaCIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MQorbXNnaWQgInRvcG9sb2dpY2FsbHkgc29ydCwgbWFpbnRhaW5pbmcgZGF0ZSBvcmRlciB3aGVyZSBwb3NzaWJsZSIKK21zZ3N0ciAiIgorImVzZWd1aSB1biBvcmRpbmFtZW50byB0b3BvbG9naWNvIG1hbnRlbmVuZG8gbCdvcmRpbmUgZGVsbGUgZGF0ZSBvdmUgcG9zc2liaWxlIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc0Cittc2dpZCAiPG4+Wyw8YmFzZT5dIgorbXNnc3RyICI8bj5bLDxiYXNlPl0iCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzUKK21zZ2lkICJzaG93IDxuPiBtb3N0IHJlY2VudCByZWYtbG9nIGVudHJpZXMgc3RhcnRpbmcgYXQgYmFzZSIKK21zZ3N0ciAiIgorInZpc3VhbGl6emEgbGUgPG4+IHZvY2kgcGnDuSByZWNlbnRpIGRlbCBsb2cgZGVpIHJpZmVyaW1lbnRpIHBhcnRlbmRvIGRhIGJhc2UiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MTEKK21zZ2lkICIiCisiLS1yZWZsb2cgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tcmVtb3RlcywgLS1pbmRlcGVuZGVudCBvciAtLW1lcmdlLWJhc2UiCittc2dzdHIgIiIKKyItLXJlZmxvZyBub24gw6ggY29tcGF0aWJpbGUgY29uIC0tYWxsLCAtLXJlbW90ZXMsIC0taW5kZXBlbmRlbnQgbyAtLW1lcmdlLWJhc2UiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzUKK21zZ2lkICJubyBicmFuY2hlcyBnaXZlbiwgYW5kIEhFQUQgaXMgbm90IHZhbGlkIgorbXNnc3RyICJuZXNzdW4gYnJhbmNoIGZvcm5pdG8gZSBsJ0hFQUQgbm9uIMOoIHZhbGlkbyIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczOAorbXNnaWQgIi0tcmVmbG9nIG9wdGlvbiBuZWVkcyBvbmUgYnJhbmNoIG5hbWUiCittc2dzdHIgImwnb3B6aW9uZSAtLXJlZmxvZyByaWNoaWVkZSBpbCBub21lIGRpIHVuIGJyYW5jaCIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjc0MQorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5ICVkIGVudHJ5IGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCittc2dpZF9wbHVyYWwgIm9ubHkgJWQgZW50cmllcyBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgorbXNnc3RyWzBdICJwdcOyIGVzc2VyZSB2aXN1YWxpenphdGEgc29sbyAlZCB2b2NlIHBlciB2b2x0YS4iCittc2dzdHJbMV0gInBvc3Nvbm8gZXNzZXJlIHZpc3VhbGl6emF0ZSBzb2xvICVkIHZvY2kgcGVyIHZvbHRhLiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlZiAlcyIKK21zZ3N0ciAicmlmZXJpbWVudG8gbm9uIGVzaXN0ZW50ZTogJXMiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2LiIKK21zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2cy4iCittc2dzdHJbMF0gImltcG9zc2liaWxlIGdlc3RpcmUgcGnDuSBkaSAlZCByZXZpc2lvbmUuIgorbXNnc3RyWzFdICJpbXBvc3NpYmlsZSBnZXN0aXJlIHBpw7kgZGkgJWQgcmV2aXNpb25pLiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlZi4iCittc2dzdHIgIiclcycgbm9uIMOoIHVuIHJpZmVyaW1lbnRvIHZhbGlkby4iCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgY29tbWl0ICVzICglcykiCittc2dzdHIgImltcG9zc2liaWxlIHRyb3ZhcmUgaWwgY29tbWl0ICVzICglcykiCisKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMgorbXNnaWQgIiIKKyJnaXQgc2hvdy1yZWYgWy1xIHwgLS1xdWlldF0gWy0tdmVyaWZ5XSBbLS1oZWFkXSBbLWQgfCAtLWRlcmVmZXJlbmNlXSBbLXMgfCAtLSIKKyJoYXNoWz08bj5dXSBbLS1hYmJyZXZbPTxuPl1dIFstLXRhZ3NdIFstLWhlYWRzXSBbLS1dIFs8cGF0dGVybj4uLi5dIgorbXNnc3RyICIiCisiZ2l0IHNob3ctcmVmIFstcSB8IC0tcXVpZXRdIFstLXZlcmlmeV0gWy0taGVhZF0gWy1kIHwgLS1kZXJlZmVyZW5jZV0gWy1zIHwgLS0iCisiaGFzaFs9PG4+XV0gWy0tYWJicmV2Wz08bj5dXSBbLS10YWdzXSBbLS1oZWFkc10gWy0tXSBbPHBhdHRlcm4+Li4uXSIKKworIzogYnVpbHRpbi9zaG93LXJlZi5jOjEzCittc2dpZCAiZ2l0IHNob3ctcmVmIC0tZXhjbHVkZS1leGlzdGluZ1s9PHBhdHRlcm4+XSIKK21zZ3N0ciAiZ2l0IHNob3ctcmVmIC0tZXhjbHVkZS1leGlzdGluZ1s9PHBhdHRlcm4+XSIKKworIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2MgorbXNnaWQgIm9ubHkgc2hvdyB0YWdzIChjYW4gYmUgY29tYmluZWQgd2l0aCBoZWFkcykiCittc2dzdHIgInZpc3VhbGl6emEgc29sbyBpIHRhZyAobCdvcHppb25lIHB1w7IgZXNzZXJlIGNvbWJpbmF0YSBjb24gaGVhZHMpIgorCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTYzCittc2dpZCAib25seSBzaG93IGhlYWRzIChjYW4gYmUgY29tYmluZWQgd2l0aCB0YWdzKSIKK21zZ3N0ciAidmlzdWFsaXp6YSBzb2xvIGxlIGhlYWQgKGwnb3B6aW9uZSBwdcOyIGVzc2VyZSBjb21iaW5hdGEgY29uIHRhZ3MpIgorCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTY0Cittc2dpZCAic3RyaWN0ZXIgcmVmZXJlbmNlIGNoZWNraW5nLCByZXF1aXJlcyBleGFjdCByZWYgcGF0aCIKK21zZ3N0ciAiIgorImNvbnRyb2xsbyBwacO5IHN0cmluZ2VudGUgZGVpIHJpZmVyaW1lbnRpLCByaWNoaWVkZSB1biBwZXJjb3JzbyBlc2F0dG8gYWwgIgorInJpZmVyaW1lbnRvIgorCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTY3IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjkKK21zZ2lkICJzaG93IHRoZSBIRUFEIHJlZmVyZW5jZSwgZXZlbiBpZiBpdCB3b3VsZCBiZSBmaWx0ZXJlZCBvdXQiCittc2dzdHIgInZpc3VhbGl6emEgaWwgcmlmZXJpbWVudG8gSEVBRCBhbmNoZSBzZSBmaWx0cmF0byIKKworIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MQorbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW50byBvYmplY3QgSURzIgorbXNnc3RyICJkZXJlZmVyZW56aWEgaSB0YWcgaW4gSUQgb2dnZXR0byIKKworIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MworbXNnaWQgIm9ubHkgc2hvdyBTSEExIGhhc2ggdXNpbmcgPG4+IGRpZ2l0cyIKK21zZ3N0ciAidmlzdWFsaXp6YSBsJ2hhc2ggU0hBMSB1c2FuZG8gc29sbyA8bj4gY2FyYXR0ZXJpIgorCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc3Cittc2dpZCAiZG8gbm90IHByaW50IHJlc3VsdHMgdG8gc3Rkb3V0ICh1c2VmdWwgd2l0aCAtLXZlcmlmeSkiCittc2dzdHIgIm5vbiBzdGFtcGFyZSBpIHJpc3VsdGF0aSBzdWxsbyBzdGFuZGFyZCBvdXRwdXQgKHV0aWxlIGNvbiAtLXZlcmlmeSkiCisKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzkKK21zZ2lkICJzaG93IHJlZnMgZnJvbSBzdGRpbiB0aGF0IGFyZW4ndCBpbiBsb2NhbCByZXBvc2l0b3J5IgorbXNnc3RyICIiCisidmlzdWFsaXp6YSBpIHJpZmVyaW1lbnRpIGRhdGkgc3VsbG8gc3RhbmRhcmQgaW5wdXQgY2hlIG5vbiBzb25vIG5lbCAiCisicmVwb3NpdG9yeSBsb2NhbGUiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MjAKK21zZ2lkICJnaXQgc3BhcnNlLWNoZWNrb3V0IChpbml0fGxpc3R8c2V0fGRpc2FibGUpIDxvcHRpb25zPiIKK21zZ3N0ciAiZ2l0IHNwYXJzZS1jaGVja291dCAoaW5pdHxsaXN0fHNldHxkaXNhYmxlKSA8b3B6aW9uaT4iCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6NjEKK21zZ2lkICJ0aGlzIHdvcmt0cmVlIGlzIG5vdCBzcGFyc2UgKHNwYXJzZS1jaGVja291dCBmaWxlIG1heSBub3QgZXhpc3QpIgorbXNnc3RyICIiCisicXVlc3RvIGFsYmVybyBkaSBsYXZvcm8gbm9uIMOoIHNwYXJzZSAoaWwgZmlsZSBzcGFyc2UtY2hlY2tvdXQgcG90cmViYmUgbm9uIgorIiBlc2lzdGVyZSkiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MjIwCittc2dpZCAiZmFpbGVkIHRvIHNldCBleHRlbnNpb25zLndvcmt0cmVlQ29uZmlnIHNldHRpbmciCittc2dzdHIgImltcG9zdGF6aW9uZSBkZWxsJ29wemlvbmUgZXh0ZW5zaW9ucy53b3JrdHJlZUNvbmZpZyBub24gcml1c2NpdGEiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MjM3Cittc2dpZCAiZ2l0IHNwYXJzZS1jaGVja291dCBpbml0IFstLWNvbmVdIgorbXNnc3RyICJnaXQgc3BhcnNlLWNoZWNrb3V0IGluaXQgWy0tY29uZV0iCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MjU2Cittc2dpZCAiaW5pdGlhbGl6ZSB0aGUgc3BhcnNlLWNoZWNrb3V0IGluIGNvbmUgbW9kZSIKK21zZ3N0ciAiaW5pemlhbGl6emEgaWwgY2hlY2tvdXQgc3BhcnNlIGluIG1vZGFsaXTDoCBjb25lIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI2MgorbXNnaWQgImluaXRpYWxpemUgc3BhcnNlLWNoZWNrb3V0IgorbXNnc3RyICJpbml6aWFsaXp6YSBzcGFyc2UtY2hlY2tvdXQiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCittc2dzdHIgImFwZXJ0dXJhIGRpICclcycgbm9uIHJpdXNjaXRhIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjM2MQorbXNnaWQgImdpdCBzcGFyc2UtY2hlY2tvdXQgc2V0ICgtLXN0ZGluIHwgPHBhdHRlcm5zPikiCittc2dzdHIgImdpdCBzcGFyc2UtY2hlY2tvdXQgc2V0ICgtLXN0ZGluIHwgPHBhdHRlcm4+KSIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzozNzgKK21zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gc3RhbmRhcmQgaW4iCittc2dzdHIgImxlZ2dpIGkgcGF0dGVybiBkYWxsbyBzdGFuZGFyZCBpbnB1dCIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzozODQKK21zZ2lkICJzZXQgc3BhcnNlLWNoZWNrb3V0IHBhdHRlcm5zIgorbXNnc3RyICJpbXBvc3RhIGkgcGF0dGVybiBzcGFyc2UtY2hlY2tvdXQiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6NDQ3Cittc2dpZCAiZGlzYWJsZSBzcGFyc2UtY2hlY2tvdXQiCittc2dzdHIgImRpc2FiaWxpdGEgc3BhcnNlLWNoZWNrb3V0IgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjQ1OQorbXNnaWQgImVycm9yIHdoaWxlIHJlZnJlc2hpbmcgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgImVycm9yZSBkdXJhbnRlIGwnYWdnaW9ybmFtZW50byBkZWxsYSBkaXJlY3RvcnkgZGkgbGF2b3JvIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjIgYnVpbHRpbi9zdGFzaC5jOjM3Cittc2dpZCAiZ2l0IHN0YXNoIGxpc3QgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCBzdGFzaCBsaXN0IFs8b3B6aW9uaT5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjMgYnVpbHRpbi9zdGFzaC5jOjQyCittc2dpZCAiZ2l0IHN0YXNoIHNob3cgWzxvcHRpb25zPl0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggc2hvdyBbPG9wemlvbmk+XSBbPHN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNCBidWlsdGluL3N0YXNoLmM6NDcKK21zZ2lkICJnaXQgc3Rhc2ggZHJvcCBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggZHJvcCBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjUKK21zZ2lkICJnaXQgc3Rhc2ggKCBwb3AgfCBhcHBseSApIFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggKCBwb3AgfCBhcHBseSApIFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjYgYnVpbHRpbi9zdGFzaC5jOjYyCittc2dpZCAiZ2l0IHN0YXNoIGJyYW5jaCA8YnJhbmNobmFtZT4gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggYnJhbmNoIDxub21lIGJyYW5jaD4gWzxzdGFzaD5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjcgYnVpbHRpbi9zdGFzaC5jOjY3Cittc2dpZCAiZ2l0IHN0YXNoIGNsZWFyIgorbXNnc3RyICJnaXQgc3Rhc2ggY2xlYXIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyOCBidWlsdGluL3N0YXNoLmM6NzcKK21zZ2lkICIiCisiZ2l0IHN0YXNoIFtwdXNoIFstcHwtLXBhdGNoXSBbLWt8LS1bbm8tXWtlZXAtaW5kZXhdIFstcXwtLXF1aWV0XVxuIgorIiAgICAgICAgICBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbLW18LS1tZXNzYWdlIDxtZXNzYWdlPl1cbiIKKyIgICAgICAgICAgWy0tXSBbPHBhdGhzcGVjPi4uLl1dIgorbXNnc3RyICIiCisiZ2l0IHN0YXNoIFtwdXNoIFstcHwtLXBhdGNoXSBbLWt8LS1bbm8tXWtlZXAtaW5kZXhdIFstcXwtLXF1aWV0XVxuIgorIiAgICAgICAgICBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbLW18LS1tZXNzYWdlIDxtZXNzYWdnaW8+XVxuIgorIiAgICAgICAgICBbLS1dIFs8c3BlY2lmaWNhdG9yZSBwZXJjb3Jzbz4uLi5dXSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjMxIGJ1aWx0aW4vc3Rhc2guYzo4NAorbXNnaWQgIiIKKyJnaXQgc3Rhc2ggc2F2ZSBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKyIgICAgICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gWzxtZXNzYWdlPl0iCittc2dzdHIgIiIKKyJnaXQgc3Rhc2ggc2F2ZSBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKyIgICAgICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gWzxtZXNzYWdnaW8+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjUyCittc2dpZCAiZ2l0IHN0YXNoIHBvcCBbLS1pbmRleF0gWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIKK21zZ3N0ciAiZ2l0IHN0YXNoIHBvcCBbLS1pbmRleF0gWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU3Cittc2dpZCAiZ2l0IHN0YXNoIGFwcGx5IFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggYXBwbHkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo3MgorbXNnaWQgImdpdCBzdGFzaCBzdG9yZSBbLW18LS1tZXNzYWdlIDxtZXNzYWdlPl0gWy1xfC0tcXVpZXRdIDxjb21taXQ+IgorbXNnc3RyICJnaXQgc3Rhc2ggc3RvcmUgWy1tfC0tbWVzc2FnZSA8bWVzc2FnZ2lvPl0gWy1xfC0tcXVpZXRdIDxjb21taXQ+IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCittc2dzdHIgIiclcycgbm9uIMOoIHVuIGNvbW1pdCBzaW1pbGUgYSB1bm8gc3Rhc2giCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG9vIG1hbnkgcmV2aXNpb25zIHNwZWNpZmllZDolcyIKK21zZ3N0ciAiVHJvcHBlIHJldmlzaW9uaSBzcGVjaWZpY2F0ZTolcyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE2MSBnaXQtbGVnYWN5LXN0YXNoLnNoOjU0OQorbXNnaWQgIk5vIHN0YXNoIGVudHJpZXMgZm91bmQuIgorbXNnc3RyICJOZXNzdW5hIHZvY2UgZGkgc3Rhc2ggdHJvdmF0YS4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgorbXNnc3RyICIlcyBub24gw6ggdW4gcmlmZXJpbWVudG8gdmFsaWRvIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjI0IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzUKK21zZ2lkICJnaXQgc3Rhc2ggY2xlYXIgd2l0aCBwYXJhbWV0ZXJzIGlzIHVuaW1wbGVtZW50ZWQiCittc2dzdHIgImdpdCBzdGFzaCBjbGVhciBjb24gcGFyYW1ldHJpIG5vbiDDqCBpbXBsZW1lbnRhdG8iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MDMKK21zZ2lkICJjYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCittc2dzdHIgImltcG9zc2liaWxlIGFwcGxpY2FyZSB1bm8gc3Rhc2ggbmVsIG1lenpvIGRpIHVuIG1lcmdlIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBnZW5lcmF0ZSBkaWZmICVzXiEuIgorbXNnc3RyICJpbXBvc3NpYmlsZSBnZW5lcmFyZSBpbCBkaWZmICVzXiEiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MjEKK21zZ2lkICJjb25mbGljdHMgaW4gaW5kZXguVHJ5IHdpdGhvdXQgLS1pbmRleC4iCittc2dzdHIgImNpIHNvbm8gY29uZmxpdHRpIG5lbGwnaW5kaWNlLiBQcm92YSBzZW56YSAtLWluZGV4LiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQyNworbXNnaWQgImNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCittc2dzdHIgImltcG9zc2liaWxlIHNhbHZhcmUgbCdhbGJlcm8gaW5kaWNlIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDM2Cittc2dpZCAiY291bGQgbm90IHJlc3RvcmUgdW50cmFja2VkIGZpbGVzIGZyb20gc3Rhc2giCittc2dzdHIgIm5vbiDDqCBzdGF0byBwb3NzaWJpbGUgcmlwcmlzdGluYXJlIGkgZmlsZSBub24gdHJhY2NpYXRpIGRhbGxvIHN0YXNoIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lcmdpbmcgJXMgd2l0aCAlcyIKK21zZ3N0ciAiTWVyZ2UgZGkgJXMgY29uICVzIGluIGNvcnNvIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDYwIGdpdC1sZWdhY3ktc3Rhc2guc2g6NjgxCittc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgorbXNnc3RyICJMJ2luZGljZSBub24gw6ggc3RhdG8gcmltb3NzbyBkYWxsbyBzdGFzaC4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1MjEgYnVpbHRpbi9zdGFzaC5jOjYyMAorbXNnaWQgImF0dGVtcHQgdG8gcmVjcmVhdGUgdGhlIGluZGV4IgorbXNnc3RyICJ0ZW50YSBkaSByaWNyZWFyZSBsJ2luZGljZSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICJEcm9wcGVkICVzICglcykiCittc2dzdHIgIkhvIHNjYXJ0YXRvICVzICglcykiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgorbXNnc3RyICIlczogSW1wb3NzaWJpbGUgc2NhcnRhcmUgbGEgdm9jZSBkaSBzdGFzaCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKK21zZ3N0ciAiJyVzJyBub24gw6ggdW4gcmlmZXJpbWVudG8gc3Rhc2giCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo2MzIgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2OTUKK21zZ2lkICJUaGUgc3Rhc2ggZW50cnkgaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIKK21zZ3N0ciAiIgorIkxhIHZvY2UgZGkgc3Rhc2ggw6ggbWFudGVudXRhIG5lbCBjYXNvIGluIGN1aSB0dSBuZSBhYmJpYSBudW92YW1lbnRlIGJpc29nbm8uIgorCisjOiBidWlsdGluL3N0YXNoLmM6NjU1IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzEzCittc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICJOb21lIGRlbCBicmFuY2ggbm9uIHNwZWNpZmljYXRvIgorCisjOiBidWlsdGluL3N0YXNoLmM6Nzk1IGJ1aWx0aW4vc3Rhc2guYzo4MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHVwZGF0ZSAlcyB3aXRoICVzIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhZ2dpb3JuYXJlICVzIGNvbiAlcyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjgxMyBidWlsdGluL3N0YXNoLmM6MTQ3MCBidWlsdGluL3N0YXNoLmM6MTUwNgorbXNnaWQgInN0YXNoIG1lc3NhZ2UiCittc2dzdHIgIm1lc3NhZ2dpbyBkaSBzdGFzaCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjgyMworbXNnaWQgIlwiZ2l0IHN0YXNoIHN0b3JlXCIgcmVxdWlyZXMgb25lIDxjb21taXQ+IGFyZ3VtZW50IgorbXNnc3RyICJcImdpdCBzdGFzaCBzdG9yZVwiIHJpY2hpZWRlIHVuIGFyZ29tZW50byA8Y29tbWl0PiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEwNDUgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMTgKK21zZ2lkICJObyBjaGFuZ2VzIHNlbGVjdGVkIgorbXNnc3RyICJOZXNzdW5hIG1vZGlmaWNhIHNlbGV6aW9uYXRhIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTE0NSBnaXQtbGVnYWN5LXN0YXNoLnNoOjE1MAorbXNnaWQgIllvdSBkbyBub3QgaGF2ZSB0aGUgaW5pdGlhbCBjb21taXQgeWV0IgorbXNnc3RyICJOb24gaGFpIGFuY29yYSB1biBjb21taXQgaW5pemlhbGUiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTcyIGdpdC1sZWdhY3ktc3Rhc2guc2g6MTY1Cittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCittc2dzdHIgIkltcG9zc2liaWxlIHNhbHZhcmUgbG8gc3RhdG8gY29ycmVudGUgZGkgaW5kZXgiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTgxIGdpdC1sZWdhY3ktc3Rhc2guc2g6MTgwCittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgc2FsdmFyZSBpIGZpbGUgbm9uIHRyYWNjaWF0aSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExOTIgYnVpbHRpbi9zdGFzaC5jOjEyMDEgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMDEKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjE0Cittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCittc2dzdHIgIkltcG9zc2liaWxlIHNhbHZhcmUgbG8gc3RhdG8gY29ycmVudGUgZGVsbCdhbGJlcm8gZGkgbGF2b3JvIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTIyOSBnaXQtbGVnYWN5LXN0YXNoLnNoOjIzNAorbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgorbXNnc3RyICJJbXBvc3NpYmlsZSByZWdpc3RyYXJlIGxvIHN0YXRvIGRlbGwnYWxiZXJvIGRpIGxhdm9ybyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyNzggZ2l0LWxlZ2FjeS1zdGFzaC5zaDozMzgKK21zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgorbXNnc3RyICIiCisiSW1wb3NzaWJpbGUgdXNhcmUgLS1wYXRjaCBlIC0taW5jbHVkZS11bnRyYWNrZWQgbyAtLWFsbCBhbGxvIHN0ZXNzbyB0ZW1wbyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyOTQKK21zZ2lkICJEaWQgeW91IGZvcmdldCB0byAnZ2l0IGFkZCc/IgorbXNnc3RyICJUaSBzZWkgc2NvcmRhdG8gZGkgZXNlZ3VpcmUgJ2dpdCBhZGQnPyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEzMDkgZ2l0LWxlZ2FjeS1zdGFzaC5zaDozNDYKK21zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCittc2dzdHIgIk5lc3N1bmEgbW9kaWZpY2EgbG9jYWxlIGRhIHNhbHZhcmUiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzE2IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzUxCittc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCittc2dzdHIgIkltcG9zc2liaWxlIGluaXppYWxpenphcmUgc3Rhc2giCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzMxIGdpdC1sZWdhY3ktc3Rhc2guc2g6MzU1Cittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgorbXNnc3RyICJJbXBvc3NpYmlsZSBzYWx2YXJlIGxvIHN0YXRvIGF0dHVhbGUiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBpbmRleCBzdGF0ZSAlcyIKK21zZ3N0ciAiRGlyZWN0b3J5IGRpIGxhdm9ybyBlIHN0YXRvIGluZGljZSBzYWx2YXRpOiAlcyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0MjYgZ2l0LWxlZ2FjeS1zdGFzaC5zaDozODUKK21zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCittc2dzdHIgIkltcG9zc2liaWxlIHJpbXVvdmVyZSBsZSBtb2RpZmljaGUgYWxsJ2FsYmVybyBkaSBsYXZvcm8iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDYxIGJ1aWx0aW4vc3Rhc2guYzoxNDk3Cittc2dpZCAia2VlcCBpbmRleCIKK21zZ3N0ciAibWFudGllbmkgbCdpbmRpY2UiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDYzIGJ1aWx0aW4vc3Rhc2guYzoxNDk5Cittc2dpZCAic3Rhc2ggaW4gcGF0Y2ggbW9kZSIKK21zZ3N0ciAiZXNlZ3VpIGxvIHN0YXNoIGluIG1vZGFsaXTDoCBwYXRjaCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjQgYnVpbHRpbi9zdGFzaC5jOjE1MDAKK21zZ2lkICJxdWlldCBtb2RlIgorbXNnc3RyICJtb2RhbGl0w6Agc2lsZW56aW9zYSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjYgYnVpbHRpbi9zdGFzaC5jOjE1MDIKK21zZ2lkICJpbmNsdWRlIHVudHJhY2tlZCBmaWxlcyBpbiBzdGFzaCIKK21zZ3N0ciAiaW5jbHVkaSBpIGZpbGUgbm9uIHRyYWNjaWF0aSBuZWxsbyBzdGFzaCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjggYnVpbHRpbi9zdGFzaC5jOjE1MDQKK21zZ2lkICJpbmNsdWRlIGlnbm9yZSBmaWxlcyIKK21zZ3N0ciAiaW5jbHVkaSBpIGZpbGUgaWdub3JhdGkiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNTY0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBleGVjICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSAlcyIKKworIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTgKK21zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLXMgfCAtLXN0cmlwLWNvbW1lbnRzXSIKK21zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1zIHwgLS1zdHJpcC1jb21tZW50c10iCisKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE5Cittc2dpZCAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKK21zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKKworIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzcKK21zZ2lkICJza2lwIGFuZCByZW1vdmUgYWxsIGxpbmVzIHN0YXJ0aW5nIHdpdGggY29tbWVudCBjaGFyYWN0ZXIiCittc2dzdHIgInNhbHRhIGUgcmltdW92aSB0dXR0ZSBsZSByaWdoZSBjaGUgaW5pemlhbm8gY29uIHVuIGNhcmF0dGVyZSBjb21tZW50byIKKworIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6NDAKK21zZ2lkICJwcmVwZW5kIGNvbW1lbnQgY2hhcmFjdGVyIGFuZCBzcGFjZSB0byBlYWNoIGxpbmUiCittc2dzdHIgImFudGVwb25pIGlsIGNhcmF0dGVyZSBjb21tZW50byBlIHVubyBzcGF6aW8gYSBvZ25pIHJpZ2EiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk3MAorIywgYy1mb3JtYXQKK21zZ2lkICJFeHBlY3RpbmcgYSBmdWxsIHJlZiBuYW1lLCBnb3QgJXMiCittc2dzdHIgIkF0dGVzbyBub21lIHJpZmVyaW1lbnRvIGNvbXBsZXRvLCByaWNldnV0byAlcyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0Cittc2dpZCAic3VibW9kdWxlLS1oZWxwZXIgcHJpbnQtZGVmYXVsdC1yZW1vdGUgdGFrZXMgbm8gYXJndW1lbnRzIgorbXNnc3RyICJzdWJtb2R1bGUtLWhlbHBlciBwcmludC1kZWZhdWx0LXJlbW90ZSBub24gcmljaGllZGUgYXJnb21lbnRpIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzdHJpcCBvbmUgY29tcG9uZW50IG9mZiB1cmwgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmltdW92ZXJlIHVuIGNvbXBvbmVudGUgZGFsbCdVUkwgJyVzJyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4MAorbXNnaWQgImFsdGVybmF0aXZlIGFuY2hvciBmb3IgcmVsYXRpdmUgcGF0aHMiCittc2dzdHIgImFuY29yYWdnaW8gYWx0ZXJuYXRpdm8gcGVyIGkgcGVyY29yc2kgcmVsYXRpdmkiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTUKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTxwZXJjb3Jzbz5dIFs8cGVyY29yc28+Li4uXSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ3MiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjMwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVybCBmb3VuZCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyBpbiAuZ2l0bW9kdWxlcyIKK21zZ3N0ciAiTmVzc3VuIFVSTCB0cm92YXRvIGluIC5naXRtb2R1bGVzIHBlciBpbCBwZXJjb3JzbyBkZWwgc290dG9tb2R1bG8gJyVzJyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJFbnRlcmluZyAnJXMnXG4iCittc2dzdHIgIkVudHJvIGluICclcydcbiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisicnVuX2NvbW1hbmQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIGZvciAlc1xuIgorIi4iCittc2dzdHIgIiIKKyJydW5fY29tbWFuZCBoYSByZXN0aXR1aXRvIHVuIGNvZGljZSBkaXZlcnNvIGRhIHplcm8gcGVyICVzXG4iCisiLiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisicnVuX2NvbW1hbmQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIHdoaWxlIHJlY3Vyc2luZyBpbiB0aGUgbmVzdGVkICIKKyJzdWJtb2R1bGVzIG9mICVzXG4iCisiLiIKK21zZ3N0ciAiIgorInJ1bl9jb21tYW5kIGhhIHJlc3RpdHVpdG8gdW4gY29kaWNlIGRpdmVyc28gZGEgemVybyBkdXJhbnRlIGxhIHJpY29yc2lvbmUgIgorIm5laSBzb3R0b21vZHVsaSBpbm5lc3RhdGkgZGkgJXNcbiIKKyIuIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTY1Cittc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IG9mIGVudGVyaW5nIGVhY2ggc3VibW9kdWxlIGNvbW1hbmQiCittc2dzdHIgIk5vbiB2aXN1YWxpenphcmUgbCdvdXRwdXQgZGVpIGNvbWFuZGkgZXNlZ3VpdGkgaW4gb2duaSBzb3R0b21vZHVsbyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1MworbXNnaWQgIlJlY3Vyc2UgaW50byBuZXN0ZWQgc3VibW9kdWxlcyIKK21zZ3N0ciAiRXNlZ3VpIHJpY29yc2l2YW1lbnRlIHN1aSBzb3R0b21vZHVsaSBpbm5lc3RhdGkiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NzIKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZm9yZWFjaCBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSBbLS1dIDxjb21tYW5kPiIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGZvcmVhY2ggWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWy0tXSA8Y29tYW5kbz4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvdWxkIG5vdCBsb29rIHVwIGNvbmZpZ3VyYXRpb24gJyVzJy4gQXNzdW1pbmcgdGhpcyByZXBvc2l0b3J5IGlzIGl0cyBvd24gIgorImF1dGhvcml0YXRpdmUgdXBzdHJlYW0uIgorbXNnc3RyICIiCisiaW1wb3NzaWJpbGUgdHJvdmFyZSBsYSBjb25maWd1cmF6aW9uZSAnJXMnLiBBc3N1bW8gY2hlIHF1ZXN0byByZXBvc2l0b3J5IHNpYSAiCisiaWwgcHJvcHJpbyByZXBvc2l0b3J5IGF1dG9yaXRhdGl2byB1cHN0cmVhbS4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKK21zZ3N0ciAiUmVnaXN0cmF6aW9uZSBkZWxsJ1VSTCBwZXIgaWwgcGVyY29yc28gc290dG9tb2R1bG8gJyVzJyBub24gcml1c2NpdGEiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VibW9kdWxlICclcycgKCVzKSByZWdpc3RlcmVkIGZvciBwYXRoICclcydcbiIKK21zZ3N0ciAiU290dG9tb2R1bG8gJyVzJyAoJXMpIHJlZ2lzdHJhdG8gcGVyIGlsIHBlcmNvcnNvICclcydcbiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4MQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjb21tYW5kIHVwZGF0ZSBtb2RlIHN1Z2dlc3RlZCBmb3Igc3VibW9kdWxlICclcydcbiIKK21zZ3N0ciAiIgorImF2dmlzbzogc3VnZ2VyaXRhIG1vZGFsaXTDoCBjb21hbmRvIGFnZ2lvcm5hbWVudG8gcGVyIGlsIHNvdHRvbW9kdWxvICclcydcbiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4OAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXBkYXRlIG1vZGUgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCittc2dzdHIgIiIKKyJSZWdpc3RyYXppb25lIGRlbGxhIG1vZGFsaXTDoCBhZ2dpb3JuYW1lbnRvIHBlciBpbCBwZXJjb3JzbyBzb3R0b21vZHVsbyAnJXMnIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzEwCittc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IGZvciBpbml0aWFsaXppbmcgYSBzdWJtb2R1bGUiCittc2dzdHIgIk5vbiB2aXN1YWxpenphcmUgbCdvdXRwdXQgZGVsbCdpbml6aWFsaXp6YXppb25lIGRlbCBzb3R0b21vZHVsbyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcxNQorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8b3B0aW9ucz5dIFs8cGF0aD5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPG9wemlvbmk+XSBbPHBlcmNvcnNvPl0iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkxNAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWJtb2R1bGUgbWFwcGluZyBmb3VuZCBpbiAuZ2l0bW9kdWxlcyBmb3IgcGF0aCAnJXMnIgorbXNnc3RyICJtYXBwaW5nIHNvdHRvbW9kdWxvIHBlciBpbCBwZXJjb3JzbyAnJXMnIG5vbiB0cm92YXRvIGluIC5naXRtb2R1bGVzIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODI3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgcmVmIGluc2lkZSB0aGUgc3VibW9kdWxlICclcyciCittc2dzdHIgImltcG9zc2liaWxlIHJpc29sdmVyZSBpbCByaWZlcmltZW50byBIRUFEIG5lbCBzb3R0b21vZHVsbyAnJXMnIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODU0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlICclcyciCittc2dzdHIgInJpY29yc2lvbmUgbmVsIHNvdHRvbW9kdWxvICclcycgbm9uIHJpdXNjaXRhIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTg5Cittc2dpZCAiU3VwcHJlc3Mgc3VibW9kdWxlIHN0YXR1cyBvdXRwdXQiCittc2dzdHIgIk5vbiB2aXN1YWxpenphcmUgbCdvdXRwdXQgZGVsbG8gc3RhdG8gZGVsIHNvdHRvbW9kdWxvIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc5Cittc2dpZCAiIgorIlVzZSBjb21taXQgc3RvcmVkIGluIHRoZSBpbmRleCBpbnN0ZWFkIG9mIHRoZSBvbmUgc3RvcmVkIGluIHRoZSBzdWJtb2R1bGUgIgorIkhFQUQiCittc2dzdHIgIiIKKyJVc2EgaWwgY29tbWl0IHNhbHZhdG8gbmVsbCdpbmRpY2UgYW56aWNow6kgcXVlbGxvIHNhbHZhdG8gbmVsbCdIRUFEIGRlbCAiCisic290dG9tb2R1bG8iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4ODAKK21zZ2lkICJyZWN1cnNlIGludG8gbmVzdGVkIHN1Ym1vZHVsZXMiCittc2dzdHIgImVzZWd1aSByaWNvcnNpdmFtZW50ZSBzdWkgc290dG9tb2R1bGkgaW5uZXN0YXRpIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODg1Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZSBzdGF0dXMgWy0tcXVpZXRdIFstLWNhY2hlZF0gWy0tcmVjdXJzaXZlXSBbPHBhdGg+Li4uXSIKK21zZ3N0ciAiIgorImdpdCBzdWJtb2R1bGUgc3RhdHVzIFstLXF1aWV0XSBbLS1jYWNoZWRdIFstLXJlY3Vyc2l2ZV0gWzxwZXJjb3Jzbz4uLi5dIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA5Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPHBhdGg+IgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8cGVyY29yc28+IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTczCisjLCBjLWZvcm1hdAorbXNnaWQgIlN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCBmb3IgJyVzJ1xuIgorbXNnc3RyICJTaW5jcm9uaXp6YXppb25lIFVSTCBzb3R0b21vZHVsbyBwZXIgJyVzJyBpbiBjb3Jzb1xuIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWdpc3RlciB1cmwgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCittc2dzdHIgInJlZ2lzdHJhemlvbmUgZGVsbCdVUkwgcGVyIGlsIHBlcmNvcnNvIHNvdHRvbW9kdWxvICclcycgbm9uIHJpdXNjaXRhIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlIGRlZmF1bHQgcmVtb3RlIGZvciBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAicmVjdXBlcm8gZGVsIHJlbW90byBwcmVkZWZpbml0byBwZXIgaWwgc290dG9tb2R1bG8gJyVzJyBub24gcml1c2NpdG8iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDA0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1cGRhdGUgcmVtb3RlIGZvciBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAiYWdnaW9ybmFtZW50byBkZWwgcmVtb3RvIHBlciBpbCBzb3R0b21vZHVsbyAnJXMnIG5vbiByaXVzY2l0byIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTEKK21zZ2lkICJTdXBwcmVzcyBvdXRwdXQgb2Ygc3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIgorbXNnc3RyICIiCisiTm9uIHZpc3VhbGl6emFyZSBsJ291dHB1dCBkZWxsYSBzaW5jcm9uaXp6YXppb25lIGRlbGwnVVJMIGRlbCBzb3R0b21vZHVsbyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTgKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgc3luYyBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSBbPHBhdGg+XSIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHN5bmMgWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWzxwZXJjb3Jzbz5dIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTExMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiU3VibW9kdWxlIHdvcmsgdHJlZSAnJXMnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnkgKHVzZSAncm0gLXJmJyBpZiB5b3UgIgorInJlYWxseSB3YW50IHRvIHJlbW92ZSBpdCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBoaXN0b3J5KSIKK21zZ3N0ciAiIgorIkwnYWxiZXJvIGRpIGxhdm9ybyBkZWwgc290dG9tb2R1bG8gKCclcycpIGNvbnRpZW5lIHVuYSBkaXJlY3RvcnkgLmdpdCAodXNhICIKKyIncm0gLXJmJyBzZSB2dW9pIHZlcmFtZW50ZSByaW11b3ZlcmxhLCBpbmNsdXNhIGwnaW50ZXJhIHN1YSBjcm9ub2xvZ2lhKSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyVzJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byBkaXNjYXJkICIKKyJ0aGVtIgorbXNnc3RyICIiCisiTCdhbGJlcm8gZGkgbGF2b3JvIGRlbCBzb3R0b21vZHVsbyAoJyVzJykgY29udGllbmUgbW9kaWZpY2hlIGxvY2FsaTsgdXNhICctIgorImYnIHBlciBzY2FydGFybGUiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNsZWFyZWQgZGlyZWN0b3J5ICclcydcbiIKK21zZ3N0ciAiRGlyZWN0b3J5ICclcycgcmlwdWxpdGFcbiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHJlbW92ZSBzdWJtb2R1bGUgd29yayB0cmVlICclcydcbiIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgcmltdW92ZXJlIGwnYWxiZXJvIGRpIGxhdm9ybyBkZWwgc290dG9tb2R1bG8gJyVzJ1xuIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE0NQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGVtcHR5IHN1Ym1vZHVsZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGNyZWFyZSBsYSBkaXJlY3RvcnkgdnVvdGEgZGVsIHNvdHRvbW9kdWxvICVzIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdWJtb2R1bGUgJyVzJyAoJXMpIHVucmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCittc2dzdHIgIlJpbW9zc2EgcmVnaXN0cmF6aW9uZSBzb3R0b21vZHVsbyAnJXMnICglcykgcGVyIGlsIHBlcmNvcnNvICclcydcbiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExOTAKK21zZ2lkICJSZW1vdmUgc3VibW9kdWxlIHdvcmtpbmcgdHJlZXMgZXZlbiBpZiB0aGV5IGNvbnRhaW4gbG9jYWwgY2hhbmdlcyIKK21zZ3N0ciAiIgorIlJpbXVvdmkgZ2xpIGFsYmVyaSBkaSBsYXZvcm8gZGVpIHNvdHRvbW9kdWxpIGFuY2hlIHNlIGNvbnRlbmdvbm8gbW9kaWZpY2hlICIKKyJsb2NhbGkiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTkxCittc2dpZCAiVW5yZWdpc3RlciBhbGwgc3VibW9kdWxlcyIKK21zZ3N0ciAiQW5udWxsYSBsYSByZWdpc3RyYXppb25lIGRpIHR1dHRpIGkgc290dG9tb2R1bGkiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTk2Cittc2dpZCAiIgorImdpdCBzdWJtb2R1bGUgZGVpbml0IFstLXF1aWV0XSBbLWYgfCAtLWZvcmNlXSBbLS1hbGwgfCBbLS1dIFs8cGF0aD4uLi5dXSIKK21zZ3N0ciAiIgorImdpdCBzdWJtb2R1bGUgZGVpbml0IFstLXF1aWV0XSBbLWYgfCAtLWZvcmNlXSBbLS1hbGwgfCBbLS1dIFs8cGVyY29yc28+Li4uXV0iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjEwCittc2dpZCAiVXNlICctLWFsbCcgaWYgeW91IHJlYWxseSB3YW50IHRvIGRlaW5pdGlhbGl6ZSBhbGwgc3VibW9kdWxlcyIKK21zZ3N0ciAiVXNhICctLWFsbCcgc2UgdnVvaSB2ZXJhbWVudGUgZGVpbml6aWFsaXp6YXJlIHR1dHRpIGkgc290dG9tb2R1bGkiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjc1Cittc2dpZCAiIgorIkFuIGFsdGVybmF0ZSBjb21wdXRlZCBmcm9tIGEgc3VwZXJwcm9qZWN0J3MgYWx0ZXJuYXRlIGlzIGludmFsaWQuXG4iCisiVG8gYWxsb3cgR2l0IHRvIGNsb25lIHdpdGhvdXQgYW4gYWx0ZXJuYXRlIGluIHN1Y2ggYSBjYXNlLCBzZXRcbiIKKyJzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSB0byAnaW5mbycgb3IsIGVxdWl2YWxlbnRseSwgY2xvbmUgd2l0aFxuIgorIictLXJlZmVyZW5jZS1pZi1hYmxlJyBpbnN0ZWFkIG9mICctLXJlZmVyZW5jZScuIgorbXNnc3RyICIiCisiVW4gYWx0ZXJuYXRvIGNhbGNvbGF0byBhIHBhcnRpcmUgZGFsbCdhbHRlcm5hdG8gZGkgdW4gcHJvZ2V0dG8gZGkgbGl2ZWxsb1xuIgorInN1cGVyaW9yZSBub24gw6ggdmFsaWRvLlxuIgorIlBlciBjb25zZW50aXJlIGEgR2l0IGRpIGVzZWd1aXJlIGlsIGNsb25lIHNlbnphIGFsdGVybmF0aSBpbiB0YWwgY2FzbywiCisiIGltcG9zdGFcbiIKKyJzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSBhICdpbmZvJyBvLCBlcXVpdmFsZW50ZW1lbnRlLCBlc2VndWkgaWwiCisiIGNsb25lXG4iCisiY29uIGwnb3B6aW9uZSAnLS1yZWZlcmVuY2UtaWYtYWJsZScgYW56aWNow6kgJy0tcmVmZXJlbmNlJy4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzE0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzE3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGNhbm5vdCBhZGQgYWx0ZXJuYXRlOiAlcyIKK21zZ3N0ciAibm9uIMOoIHBvc3NpYmlsZSBhZ2dpdW5nZXJlIHVuIGFsdGVybmF0byBwZXIgaWwgc290dG9tb2R1bG8gJyVzJzogJXMiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IGlzIG5vdCByZWNvZ25pemVkIgorbXNnc3RyICJWYWxvcmUgJyVzJyBwZXIgc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgbm9uIHJpY29ub3NjaXV0byIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIGlzIG5vdCByZWNvZ25pemVkIgorbXNnc3RyICJWYWxvcmUgJyVzJyBwZXIgc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIG5vbiByaWNvbm9zY2l1dG8iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzgzCittc2dpZCAid2hlcmUgdGhlIG5ldyBzdWJtb2R1bGUgd2lsbCBiZSBjbG9uZWQgdG8iCittc2dzdHIgInBlcmNvcnNvIGluIGN1aSBzYXLDoCBjbG9uYXRvIGlsIG51b3ZvIHNvdHRvbW9kdWxvIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4NgorbXNnaWQgIm5hbWUgb2YgdGhlIG5ldyBzdWJtb2R1bGUiCittc2dzdHIgIm5vbWUgZGVsIG51b3ZvIHNvdHRvbW9kdWxvIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4OQorbXNnaWQgInVybCB3aGVyZSB0byBjbG9uZSB0aGUgc3VibW9kdWxlIGZyb20iCittc2dzdHIgIlVSTCBkYSBjdWkgY2xvbmFyZSBpbCBzb3R0b21vZHVsbyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTcKK21zZ2lkICJkZXB0aCBmb3Igc2hhbGxvdyBjbG9uZXMiCittc2dzdHIgInByb2ZvbmRpdMOgIHBlciBpIGNsb25pIHNoYWxsb3ciCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDAwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODk3Cittc2dpZCAiZm9yY2UgY2xvbmluZyBwcm9ncmVzcyIKK21zZ3N0ciAiZm9yemEgbCdpbmRpY2F6aW9uZSBkJ2F2YW56YW1lbnRvIGRlbGxhIGNsb25hemlvbmUiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDAyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODk5Cittc2dpZCAiZGlzYWxsb3cgY2xvbmluZyBpbnRvIG5vbi1lbXB0eSBkaXJlY3RvcnkiCittc2dzdHIgImRpc2FiaWxpdGEgaWwgY2xvbmUgaW4gdW5hIGRpcmVjdG9yeSBub24gdnVvdGEiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDA3Cittc2dpZCAiIgorImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKKyI8cmVwb3NpdG9yeT5dIFstLW5hbWUgPG5hbWU+XSBbLS1kZXB0aCA8ZGVwdGg+XSAtLXVybCA8dXJsPiAtLXBhdGggPHBhdGg+IgorbXNnc3RyICIiCisiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD08cGVyY29yc28+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKKyI8cmVwb3NpdG9yeT5dIFstLW5hbWUgPG5vbWU+XSBbLS1kZXB0aCA8cHJvZm9uZGl0w6A+XSAtLXVybCA8VVJMPiAtLXBhdGggIgorIjxwZXJjb3Jzbz4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDMxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZnVzaW5nIHRvIGNyZWF0ZS91c2UgJyVzJyBpbiBhbm90aGVyIHN1Ym1vZHVsZSdzIGdpdCBkaXIiCittc2dzdHIgIiIKKyJtaSByaWZpdXRvIGRpIGNyZWFyZS91c2FyZSAnJXMnIG5lbGxhIGRpcmVjdG9yeSBHaXQgZGkgdW4gYWx0cm8gc290dG9tb2R1bG8iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDQyCisjLCBjLWZvcm1hdAorbXNnaWQgImNsb25lIG9mICclcycgaW50byBzdWJtb2R1bGUgcGF0aCAnJXMnIGZhaWxlZCIKK21zZ3N0ciAiY2xvbmUgZGkgJyVzJyBuZWwgcGVyY29yc28gZGVsIHNvdHRvbW9kdWxvICgnJXMnKSBub24gcml1c2NpdG8iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBub3QgZW1wdHk6ICclcyciCittc2dzdHIgImRpcmVjdG9yeSBub24gdnVvdGE6ICclcyciCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDU4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBnZXQgc3VibW9kdWxlIGRpcmVjdG9yeSBmb3IgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmVjdXBlcmFyZSBsYSBkaXJlY3RvcnkgZGVsIHNvdHRvbW9kdWxvIHBlciAnJXMnIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ5NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVwZGF0ZSBtb2RlICclcycgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCittc2dzdHIgIiIKKyJNb2RhbGl0w6AgYWdnaW9ybmFtZW50byAnJXMnIG5vbiB2YWxpZGEgcGVyIGlsIHBlcmNvcnNvIGRlbCBzb3R0b21vZHVsbyAoJyVzJykiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXBkYXRlIG1vZGUgJyVzJyBjb25maWd1cmVkIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgorbXNnc3RyICIiCisiw4ggc3RhdGEgY29uZmlndXJhdGEgdW5hIG1vZGFsaXTDoCBhZ2dpb3JuYW1lbnRvICclcycgbm9uIHZhbGlkYSBwZXIgaWwgIgorInBlcmNvcnNvIGRlbCBzb3R0b21vZHVsbyAoJyVzJykiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICclcycgbm90IGluaXRpYWxpemVkIgorbXNnc3RyICJQZXJjb3JzbyBkZWwgc290dG9tb2R1bG8gKCclcycpIG5vbiBpbml6aWFsaXp6YXRvIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTU5OAorbXNnaWQgIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgorbXNnc3RyICJQb3RyZXN0aSB2b2xlciB1c2FyZSAndXBkYXRlIC0taW5pdCcuIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyB1bm1lcmdlZCBzdWJtb2R1bGUgJXMiCittc2dzdHIgIklnbm9ybyBpbCBzb3R0b21vZHVsbyAlcyBub24gc290dG9wb3N0byBhIG1lcmdlIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTY1NworIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAiSWdub3JvIGlsIHNvdHRvbW9kdWxvICclcyciCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnLiBSZXRyeSBzY2hlZHVsZWQiCittc2dzdHIgIkNsb25lIGRpICclcycgbm9uIHJpdXNjaXRvLiBOdW92byB0ZW50YXRpdm8gcHJvZ3JhbW1hdG8iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODE0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnIGEgc2Vjb25kIHRpbWUsIGFib3J0aW5nIgorbXNnc3RyICIiCisiQ2xvbmUgZGkgJyVzJyBub24gcml1c2NpdG8gcGVyIGxhIHNlY29uZGEgdm9sdGEsIGludGVycm9tcG8gbCdvcGVyYXppb25lIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg3NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjEyMAorbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICJwZXJjb3JzbyBuZWxsJ2FsYmVybyBkaSBsYXZvcm8iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc5Cittc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUsIGFjcm9zcyBuZXN0ZWQgc3VibW9kdWxlIGJvdW5kYXJpZXMiCittc2dzdHIgIiIKKyJwZXJjb3JzbyBuZWxsJ2FsYmVybyBkaSBsYXZvcm8gYXR0cmF2ZXJzbyBpIGNvbmZpbmkgZGVpIHNvdHRvbW9kdWxpIGlubmVzdGF0aSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODMKK21zZ2lkICJyZWJhc2UsIG1lcmdlLCBjaGVja291dCBvciBub25lIgorbXNnc3RyICJyZWJhc2UsIG1lcmdlLCBjaGVja291dCBvIG5vbmUiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODg5Cittc2dpZCAiQ3JlYXRlIGEgc2hhbGxvdyBjbG9uZSB0cnVuY2F0ZWQgdG8gdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgcmV2aXNpb25zIgorbXNnc3RyICJDcmVhIHVuIGNsb25lIHNoYWxsb3cgbGltaXRhdG8gYWwgbnVtZXJvIGRpIHJldmlzaW9uaSBzcGVjaWZpY2F0byIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTIKK21zZ2lkICJwYXJhbGxlbCBqb2JzIgorbXNnc3RyICJwcm9jZXNzaSBkYSBlc2VndWlyZSBpbiBwYXJhbGxlbG8iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODk0Cittc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgorbXNnc3RyICJkZXRlcm1pbmEgc2UgaWwgY2xvbmUgaW5pemlhbGUgc2Fyw6Agc2hhbGxvdyBjb21lIHJhY2NvbWFuZGF0byIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTUKK21zZ2lkICJkb24ndCBwcmludCBjbG9uaW5nIHByb2dyZXNzIgorbXNnc3RyICJub24gc3RhbXBhcmUgbCdpbmRpY2F6aW9uZSBkaSBhdmFuemFtZW50byBkZWxsYSBjbG9uYXppb25lIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkwNAorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGUtY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCittc2dzdHIgIiIKKyJnaXQgc3VibW9kdWxlLS1oZWxwZXIgdXBkYXRlLWNsb25lIFstLXByZWZpeD08cGVyY29yc28+XSBbPHBlcmNvcnNvPi4uLl0iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTE3Cittc2dpZCAiYmFkIHZhbHVlIGZvciB1cGRhdGUgcGFyYW1ldGVyIgorbXNnc3RyICJ2YWxvcmUgcGFyYW1ldHJvIGFnZ2lvcm5hbWVudG8gZXJyYXRvIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiU3VibW9kdWxlICglcykgYnJhbmNoIGNvbmZpZ3VyZWQgdG8gaW5oZXJpdCBicmFuY2ggZnJvbSBzdXBlcnByb2plY3QsIGJ1dCAiCisidGhlIHN1cGVycHJvamVjdCBpcyBub3Qgb24gYW55IGJyYW5jaCIKK21zZ3N0ciAiIgorIklsIGJyYW5jaCBkZWwgc290dG9tb2R1bG8gKCVzKSDDqCBjb25maWd1cmF0byBpbiBtb2RvIGRhIGVyZWRpdGFyZSBpbCBicmFuY2ggIgorImRhbCBwcm9nZXR0byBhbCBsaXZlbGxvIHN1cGVyaW9yZSwgbWEgcXVlc3RvIG5vbiDDqCBzdSBhbGN1biBicmFuY2giCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDg4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBnZXQgYSByZXBvc2l0b3J5IGhhbmRsZSBmb3Igc3VibW9kdWxlICclcyciCittc2dzdHIgImltcG9zc2liaWxlIHJlY3VwZXJhcmUgdW4gaGFuZGxlIHJlcG9zaXRvcnkgcGVyIGlsIHNvdHRvbW9kdWxvICclcyciCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTIxCittc2dpZCAicmVjdXJzZSBpbnRvIHN1Ym1vZHVsZXMiCittc2dzdHIgImVzZWd1aSByaWNvcnNpdmFtZW50ZSBzdWkgc290dG9tb2R1bGkiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTI3Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGFic29yYi1naXQtZGlycyBbPG9wdGlvbnM+XSBbPHBhdGg+Li4uXSIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGFic29yYi1naXQtZGlycyBbPG9wemlvbmk+XSBbPHBlcmNvcnNvPi4uLl0iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTgzCittc2dpZCAiY2hlY2sgaWYgaXQgaXMgc2FmZSB0byB3cml0ZSB0byB0aGUgLmdpdG1vZHVsZXMgZmlsZSIKK21zZ3N0ciAiY29udHJvbGxhIHNlIMOoIHNpY3VybyBzY3JpdmVyZSBzdWwgZmlsZSAuZ2l0bW9kdWxlcyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxODYKK21zZ2lkICJ1bnNldCB0aGUgY29uZmlnIGluIHRoZSAuZ2l0bW9kdWxlcyBmaWxlIgorbXNnc3RyICJyaW11b3ZpIGxhIGNvbmZpZ3VyYXppb25lIG5lbCBmaWxlIC5naXRtb2R1bGVzIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE5MQorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgPG5hbWU+IFs8dmFsdWU+XSIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyA8bm9tZT4gWzx2YWxvcmU+XSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxOTIKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tdW5zZXQgPG5hbWU+IgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tdW5zZXQgPG5vbWU+IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE5MworbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgLS1jaGVjay13cml0ZWFibGUiCittc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgLS1jaGVjay13cml0ZWFibGUiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjEyIGdpdC1zdWJtb2R1bGUuc2g6MTczCisjLCBzaC1mb3JtYXQKK21zZ2lkICJwbGVhc2UgbWFrZSBzdXJlIHRoYXQgdGhlIC5naXRtb2R1bGVzIGZpbGUgaXMgaW4gdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiYXNzaWN1cmF0aSBjaGUgaWwgZmlsZSAuZ2l0bW9kdWxlcyBzaWEgbmVsbCdhbGJlcm8gZGkgbGF2b3JvIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjI2MiBnaXQuYzo0MzMgZ2l0LmM6Njg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXNuJ3Qgc3VwcG9ydCAtLXN1cGVyLXByZWZpeCIKK21zZ3N0ciAiJXMgbm9uIHN1cHBvcnRhIC0tc3VwZXItcHJlZml4IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjI2OAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQiCittc2dzdHIgIiclcycgbm9uIMOoIHVuIHNvdHRvY29tYW5kbyBzdWJtb2R1bGUtLWhlbHBlciB2YWxpZG8iCisKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6OAorbXNnaWQgImdpdCBzeW1ib2xpYy1yZWYgWzxvcHRpb25zPl0gPG5hbWU+IFs8cmVmPl0iCittc2dzdHIgImdpdCBzeW1ib2xpYy1yZWYgWzxvcHppb25pPl0gPG5vbWU+IFs8cmlmZXJpbWVudG8+XSIKKworIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo5Cittc2dpZCAiZ2l0IHN5bWJvbGljLXJlZiAtZCBbLXFdIDxuYW1lPiIKK21zZ3N0ciAiZ2l0IHN5bWJvbGljLXJlZiAtZCBbLXFdIDxub21lPiIKKworIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MAorbXNnaWQgInN1cHByZXNzIGVycm9yIG1lc3NhZ2UgZm9yIG5vbi1zeW1ib2xpYyAoZGV0YWNoZWQpIHJlZnMiCittc2dzdHIgIiIKKyJub24gdmlzdWFsaXp6YXJlIG1lc3NhZ2dpIGQnZXJyb3JlIHNlIGNpIHNvbm8gcmlmZXJpbWVudGkgbm9uIHNpbWJvbGljaSAiCisiKHNjb2xsZWdhdGkpIgorCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQxCittc2dpZCAiZGVsZXRlIHN5bWJvbGljIHJlZiIKK21zZ3N0ciAiZWxpbWluYSByaWZlcmltZW50byBzaW1ib2xpY28iCisKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDIKK21zZ2lkICJzaG9ydGVuIHJlZiBvdXRwdXQiCittc2dzdHIgImFiYnJldmlhIGlsIHJpZmVyaW1lbnRvIG5lbGwnb3V0cHV0IgorCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MworbXNnaWQgInJlYXNvbiIKK21zZ3N0ciAibW90aXZvIgorCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjQzIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2MworbXNnaWQgInJlYXNvbiBvZiB0aGUgdXBkYXRlIgorbXNnc3RyICJtb3Rpdm8gZGVsbCdhZ2dpb3JuYW1lbnRvIgorCisjOiBidWlsdGluL3RhZy5jOjI1Cittc2dpZCAiIgorImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT5dXG4iCisiXHRcdDx0YWduYW1lPiBbPGhlYWQ+XSIKK21zZ3N0ciAiIgorImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8SUQgY2hpYXZlPl0gWy1mXSBbLW0gPG1lc3NhZ2dpbz4gfCAtRiA8ZmlsZT5dXG4iCisiXHRcdDxub21lIHRhZz4gWzxoZWFkPl0iCisKKyM6IGJ1aWx0aW4vdGFnLmM6MjcKK21zZ2lkICJnaXQgdGFnIC1kIDx0YWduYW1lPi4uLiIKK21zZ3N0ciAiZ2l0IHRhZyAtZCA8bm9tZSB0YWc+Li4uIgorCisjOiBidWlsdGluL3RhZy5jOjI4Cittc2dpZCAiIgorImdpdCB0YWcgLWwgWy1uWzxudW0+XV0gWy0tY29udGFpbnMgPGNvbW1pdD5dIFstLW5vLWNvbnRhaW5zIDxjb21taXQ+XSBbLS0iCisicG9pbnRzLWF0IDxvYmplY3Q+XVxuIgorIlx0XHRbLS1mb3JtYXQ9PGZvcm1hdD5dIFstLVtuby1dbWVyZ2VkIFs8Y29tbWl0Pl1dIFs8cGF0dGVybj4uLi5dIgorbXNnc3RyICIiCisiZ2l0IHRhZyAtbCBbLW5bPG51bWVybz5dXSBbLS1jb250YWlucyA8Y29tbWl0Pl0gWy0tbm8tY29udGFpbnMgPGNvbW1pdD5dIFstLSIKKyJwb2ludHMtYXQgPG9nZ2V0dG8+XVxuIgorIlx0XHRbLS1mb3JtYXQ9PGZvcm1hdG8+XSBbLS1bbm8tXW1lcmdlZCBbPGNvbW1pdD5dXSBbPHBhdHRlcm4+Li4uXSIKKworIzogYnVpbHRpbi90YWcuYzozMAorbXNnaWQgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnbmFtZT4uLi4iCittc2dzdHIgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTxmb3JtYXRvPl0gPG5vbWUgdGFnPi4uLiIKKworIzogYnVpbHRpbi90YWcuYzo4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICJ0YWcgJyVzJyBub24gdHJvdmF0by4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjI3CisjOiBidWlsdGluL3RhZy5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgIlRhZyAnJXMnIGVsaW1pbmF0byAoZXJhICVzKVxuIgogCi0jOiBidWlsdGluL3RhZy5jOjIzOQorIzogYnVpbHRpbi90YWcuYzoxMzUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHZlcmlmeSB0aGUgdGFnICclcyciCi1tc2dzdHIgIm5vbiDDqCBzdGF0byBwb3NzaWJpbGUgdmVyaWZpY2FyZSBpbCB0YWcgJyVzJyIKLQotIzogYnVpbHRpbi90YWcuYzoyNDkKIG1zZ2lkICIiCiAiXG4iCi0iI1xuIgotIiMgV3JpdGUgYSB0YWcgbWVzc2FnZVxuIgotIiMgTGluZXMgc3RhcnRpbmcgd2l0aCAnIycgd2lsbCBiZSBpZ25vcmVkLlxuIgotIiNcbiIKKyJXcml0ZSBhIG1lc3NhZ2UgZm9yIHRhZzpcbiIKKyIgICVzXG4iCisiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUgaWdub3JlZC5cbiIKIG1zZ3N0ciAiIgogIlxuIgotIiNcbiIKLSIjIFNjcml2ZXJlIHVuIG1lc3NhZ2dpbyBhc3NvY2lhdG8gYWwgdGFnXG4iCi0iIyBMZSByaWdoZSBjaGUgaW5pemlhbm8gY29uICcjJyB2ZXJyYW5ubyBpZ25vcmF0ZS5cbiIKLSIjXG4iCisiU2NyaXZpIHVuIG1lc3NhZ2dpbyBwZXIgaWwgdGFnOlxuIgorIiAgJXNcbiIKKyJMZSByaWdoZSBjaGUgaW5pemlhbm8gY29uICclYycgc2FyYW5ubyBpZ25vcmF0ZS5cbiIKIAotIzogYnVpbHRpbi90YWcuYzoyNTYKKyM6IGJ1aWx0aW4vdGFnLmM6MTM5CisjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKLSIjXG4iCi0iIyBXcml0ZSBhIHRhZyBtZXNzYWdlXG4iCi0iIyBMaW5lcyBzdGFydGluZyB3aXRoICcjJyB3aWxsIGJlIGtlcHQ7IHlvdSBtYXkgcmVtb3ZlIHRoZW0geW91cnNlbGYgaWYgeW91ICIKKyJXcml0ZSBhIG1lc3NhZ2UgZm9yIHRhZzpcbiIKKyIgICVzXG4iCisiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUga2VwdDsgeW91IG1heSByZW1vdmUgdGhlbSB5b3Vyc2VsZiBpZiB5b3UgIgogIndhbnQgdG8uXG4iCi0iI1xuIgogbXNnc3RyICIiCiAiXG4iCi0iI1xuIgotIiMgU2NyaXZlcmUgdW4gbWVzc2FnZ2lvIGFzc29jaWF0byBhbCB0YWdcbiIKLSIjIExlIHJpZ2hlIGNoZSBpbml6aWFubyBjb24gJyMnIHZlcnJhbm5vIG1hbnRlbnV0ZTsgcG9zc29ubyBlc3NlcmUgY29tdW5xdWUgIgotInJpbW9zc2UgbWFudWFsbWVudGUuXG4iCi0iI1xuIgorIlNjcml2aSB1biBtZXNzYWdnaW8gcGVyIGlsIHRhZzpcbiIKKyIgICVzXG4iCisiTGUgcmlnaGUgY2hlIGluaXppYW5vIGNvbiAnJWMnIHNhcmFubm8gbWFudGVudXRlOyBwdW9pIHJpbXVvdmVybGUgIgorImF1dG9ub21hbWVudGUgc2UgbG8gZGVzaWRlcmkuXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mjk4CisjOiBidWlsdGluL3RhZy5jOjE5OAogbXNnaWQgInVuYWJsZSB0byBzaWduIHRoZSB0YWciCiBtc2dzdHIgImltcG9zc2liaWxlIGZpcm1hcmUgaWwgdGFnIgogCi0jOiBidWlsdGluL3RhZy5jOjMwMAorIzogYnVpbHRpbi90YWcuYzoyMDAKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGFnIGZpbGUiCi1tc2dzdHIgImltcG9zc2liaWxlIHNjcml2ZXJlIGlsIGZpbGUgZGkgdGFnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBpbCBmaWxlIHRhZyIKIAotIzogYnVpbHRpbi90YWcuYzozMjUKKyM6IGJ1aWx0aW4vdGFnLmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBjcmVhdGVkIGEgbmVzdGVkIHRhZy4gVGhlIG9iamVjdCByZWZlcnJlZCB0byBieSB5b3VyIG5ldyB0YWcgaXNcbiIKKyJhbHJlYWR5IGEgdGFnLiBJZiB5b3UgbWVhbnQgdG8gdGFnIHRoZSBvYmplY3QgdGhhdCBpdCBwb2ludHMgdG8sIHVzZTpcbiIKKyJcbiIKKyJcdGdpdCB0YWcgLWYgJXMgJXNee30iCittc2dzdHIgIiIKKyJIYWkgY3JlYXRvIHVuIHRhZyBpbm5lc3RhdG8uIEwnb2dnZXR0byBhIGN1aSBzaSByaWZlcmlzY2UgaWwgdHVvIG51b3ZvXG4iCisidGFnIMOoIGdpw6AgdW4gdGFnLiBTZSBpbnRlbmRldmkgYWdnaXVuZ2VyZSB1biB0YWcgYWxsJ29nZ2V0dG8gYSBjdWlcbiIKKyJwdW50YSwgdXNhOlxuIgorIlxuIgorIlx0Z2l0IHRhZyAtZiAlcyAlc157fSIKKworIzogYnVpbHRpbi90YWcuYzoyMzIKIG1zZ2lkICJiYWQgb2JqZWN0IHR5cGUuIgotbXNnc3RyICJ0aXBvIGRpIG9nZ2V0dG8gZXJyYXRvLiIKK21zZ3N0ciAidGlwbyBvZ2dldHRvIGVycmF0by4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzM4Ci1tc2dpZCAidGFnIGhlYWRlciB0b28gYmlnLiIKLW1zZ3N0ciAiaW50ZXN0YXppb25lIGRlbCB0YWcgdHJvcHBvIGdyYW5kZS4iCi0KLSM6IGJ1aWx0aW4vdGFnLmM6MzcwCisjOiBidWlsdGluL3RhZy5jOjI4NAogbXNnaWQgIm5vIHRhZyBtZXNzYWdlPyIKIG1zZ3N0ciAibmVzc3VuIG1lc3NhZ2dpbyBwZXIgaWwgdGFnPyIKIAotIzogYnVpbHRpbi90YWcuYzozNzYKKyM6IGJ1aWx0aW4vdGFnLmM6MjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSB0YWcgbWVzc2FnZSBoYXMgYmVlbiBsZWZ0IGluICVzXG4iCiBtc2dzdHIgIklsIG1lc3NhZ2dpbyBkZWwgdGFnIMOoIHN0YXRvIGxhc2NpYXRvIGluICVzXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDI1Ci1tc2dpZCAic3dpdGNoICdwb2ludHMtYXQnIHJlcXVpcmVzIGFuIG9iamVjdCIKLW1zZ3N0ciAibG8gc3dpdGNoICdwb2ludHMtYXQnIHJpY2hpZWRlIHVuIG9nZ2V0dG8iCisjOiBidWlsdGluL3RhZy5jOjQwMgorbXNnaWQgImxpc3QgdGFnIG5hbWVzIgorbXNnc3RyICJlbGVuY2EgaSBub21pIGRlaSB0YWciCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDI3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAnJXMnIgotbXNnc3RyICJub21lIG9nZ2V0dG8gJyVzJyBtYWxmb3JtYXRvIgorIzogYnVpbHRpbi90YWcuYzo0MDQKK21zZ2lkICJwcmludCA8bj4gbGluZXMgb2YgZWFjaCB0YWcgbWVzc2FnZSIKK21zZ3N0ciAic3RhbXBhIGxlIHByaW1lIDxuPiByaWdoZSBkaSBvZ25pIG1lc3NhZ2dpbyB0YWciCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTA2CisjOiBidWlsdGluL3RhZy5jOjQwNgorbXNnaWQgImRlbGV0ZSB0YWdzIgorbXNnc3RyICJlbGltaW5hIHRhZyIKKworIzogYnVpbHRpbi90YWcuYzo0MDcKK21zZ2lkICJ2ZXJpZnkgdGFncyIKK21zZ3N0ciAidmVyaWZpY2EgdGFnIgorCisjOiBidWlsdGluL3RhZy5jOjQwOQorbXNnaWQgIlRhZyBjcmVhdGlvbiBvcHRpb25zIgorbXNnc3RyICJPcHppb25pIGNyZWF6aW9uZSB0YWciCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDExCittc2dpZCAiYW5ub3RhdGVkIHRhZywgbmVlZHMgYSBtZXNzYWdlIgorbXNnc3RyICJ0YWcgYW5ub3RhdG8sIHJpY2hpZWRlIHVuIG1lc3NhZ2dpbyIKKworIzogYnVpbHRpbi90YWcuYzo0MTMKK21zZ2lkICJ0YWcgbWVzc2FnZSIKK21zZ3N0ciAibWVzc2FnZ2lvIHRhZyIKKworIzogYnVpbHRpbi90YWcuYzo0MTUKK21zZ2lkICJmb3JjZSBlZGl0IG9mIHRhZyBtZXNzYWdlIgorbXNnc3RyICJmb3J6YSBtb2RpZmljYSBkZWwgbWVzc2FnZ2lvIHRhZyIKKworIzogYnVpbHRpbi90YWcuYzo0MTYKK21zZ2lkICJhbm5vdGF0ZWQgYW5kIEdQRy1zaWduZWQgdGFnIgorbXNnc3RyICJ0YWcgYW5ub3RhdG8gZSBmaXJtYXRvIGNvbiBHUEciCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDE5Cittc2dpZCAidXNlIGFub3RoZXIga2V5IHRvIHNpZ24gdGhlIHRhZyIKK21zZ3N0ciAidXNhIHVuJ2FsdHJhIGNoaWF2ZSBwZXIgZmlybWFyZSBpbCB0YWciCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDIwCittc2dpZCAicmVwbGFjZSB0aGUgdGFnIGlmIGV4aXN0cyIKK21zZ3N0ciAic29zdGl0dWlzY2kgaWwgdGFnIHNlIGVzaXN0ZSIKKworIzogYnVpbHRpbi90YWcuYzo0MjEgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY5Cittc2dpZCAiY3JlYXRlIGEgcmVmbG9nIgorbXNnc3RyICJjcmVhIHVuIHJlZ2lzdHJvIHJpZmVyaW1lbnRpIgorCisjOiBidWlsdGluL3RhZy5jOjQyMworbXNnaWQgIlRhZyBsaXN0aW5nIG9wdGlvbnMiCittc2dzdHIgIk9wemlvbmkgZWxlbmNvIHRhZyIKKworIzogYnVpbHRpbi90YWcuYzo0MjQKK21zZ2lkICJzaG93IHRhZyBsaXN0IGluIGNvbHVtbnMiCittc2dzdHIgInZpc3VhbGl6emEgbCdlbGVuY28gZGVpIHRhZyBpbiBjb2xvbm5lIgorCisjOiBidWlsdGluL3RhZy5jOjQyNSBidWlsdGluL3RhZy5jOjQyNworbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAic3RhbXBhIHNvbG8gaSB0YWcgY2hlIGNvbnRlbmdvbm8gaWwgY29tbWl0IgorCisjOiBidWlsdGluL3RhZy5jOjQyNiBidWlsdGluL3RhZy5jOjQyOAorbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAic3RhbXBhIHNvbG8gaSB0YWcgY2hlIG5vbiBjb250ZW5nb25vIGkgY29tbWl0IgorCisjOiBidWlsdGluL3RhZy5jOjQyOQorbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGFyZSBtZXJnZWQiCittc2dzdHIgInN0YW1wYSBzb2xvIGkgdGFnIHNvdHRvcG9zdGkgYSBtZXJnZSIKKworIzogYnVpbHRpbi90YWcuYzo0MzAKK21zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbm90IG1lcmdlZCIKK21zZ3N0ciAic3RhbXBhIHNvbG8gaSB0YWcgbm9uIHNvdHRvcG9zdGkgYSBtZXJnZSIKKworIzogYnVpbHRpbi90YWcuYzo0MzQKK21zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKK21zZ3N0ciAic3RhbXBhIHNvbG8gaSB0YWcgZGVsbCdvZ2dldHRvIgorCisjOiBidWlsdGluL3RhZy5jOjQ4MgogbXNnaWQgIi0tY29sdW1uIGFuZCAtbiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWNvbHVtbiBlIC1uIG5vbiBzb25vIGNvbXBhdGliaWxpIgogCisjOiBidWlsdGluL3RhZy5jOjUwNAorbXNnaWQgIi1uIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICJsJ29wemlvbmUgLW4gw6ggY29uc2VudGl0YSBzb2xvIGluIG1vZGFsaXTDoCBlbGVuY28iCisKKyM6IGJ1aWx0aW4vdGFnLmM6NTA2Cittc2dpZCAiLS1jb250YWlucyBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAibCdvcHppb25lIC0tY29udGFpbnMgw6ggY29uc2VudGl0YSBzb2xvIGluIG1vZGFsaXTDoCBlbGVuY28iCisKKyM6IGJ1aWx0aW4vdGFnLmM6NTA4Cittc2dpZCAiLS1uby1jb250YWlucyBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAibCdvcHppb25lIC0tbm8tY29udGFpbnMgw6ggY29uc2VudGl0YSBzb2xvIGluIG1vZGFsaXTDoCBlbGVuY28iCisKKyM6IGJ1aWx0aW4vdGFnLmM6NTEwCittc2dpZCAiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgImwnb3B6aW9uZSAtLXBvaW50cy1hdCDDqCBjb25zZW50aXRhIHNvbG8gaW4gbW9kYWxpdMOgIGVsZW5jbyIKKworIzogYnVpbHRpbi90YWcuYzo1MTIKK21zZ2lkICItLW1lcmdlZCBhbmQgLS1uby1tZXJnZWQgb3B0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAiIgorImxlIG9wemlvbmkgLS1tZXJnZWQgZSAtLW5vLW1lcmdlZCBzb25vIGNvbnNlbnRpdGUgc29sbyBpbiBtb2RhbGl0w6AgZWxlbmNvIgorCiAjOiBidWlsdGluL3RhZy5jOjUyMwotbXNnaWQgIi1uIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCi1tc2dzdHIgImwnb3B6aW9uZSAtbiDDqCBjb25zZW50aXRhIHNvbG8gY29uIC1sLiIKLQotIzogYnVpbHRpbi90YWcuYzo1MjUKLW1zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCi1tc2dzdHIgImwnb3B6aW9uZSAtLWNvbnRhaW5zIMOoIGNvbnNlbnRpdGEgc29sbyBjb24gLWwuIgotCi0jOiBidWlsdGluL3RhZy5jOjUyNwotbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2l0aCAtbC4iCi1tc2dzdHIgImwnb3B6aW9uZSAtLXBvaW50cy1hdCDDqCBjb25zZW50aXRhIHNvbG8gY29uIC1sLiIKLQotIzogYnVpbHRpbi90YWcuYzo1MzUKIG1zZ2lkICJvbmx5IG9uZSAtRiBvciAtbSBvcHRpb24gaXMgYWxsb3dlZC4iCiBtc2dzdHIgIsOoIGNvbnNlbnRpdGEgdW5hIHNvbGEgb3B6aW9uZSB0cmEgLUYgZSAtbS4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTU1CisjOiBidWlsdGluL3RhZy5jOjU0MgogbXNnaWQgInRvbyBtYW55IHBhcmFtcyIKIG1zZ3N0ciAidHJvcHBpIHBhcmFtZXRyaSIKIAotIzogYnVpbHRpbi90YWcuYzo1NjEKKyM6IGJ1aWx0aW4vdGFnLmM6NTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGFnIG5hbWUuIgogbXNnc3RyICInJXMnIG5vbiDDqCB1biBub21lIHRhZyB2YWxpZG8uIgogCi0jOiBidWlsdGluL3RhZy5jOjU2NgorIzogYnVpbHRpbi90YWcuYzo1NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgImlsIHRhZyAnJXMnIGVzaXN0ZSBnacOgIgogCiAjOiBidWlsdGluL3RhZy5jOjU4NAogIywgYy1mb3JtYXQKLW1zZ2lkICIlczogY2Fubm90IGxvY2sgdGhlIHJlZiIKLW1zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHJpc2VydmFyZSBpbCByZWYiCi0KLSM6IGJ1aWx0aW4vdGFnLmM6NTg2Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiBjYW5ub3QgdXBkYXRlIHRoZSByZWYiCi1tc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhZ2dpb3JuYXJlIGlsIHJlZiIKLQotIzogYnVpbHRpbi90YWcuYzo1ODgKLSMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICJUYWcgJyVzJyBhZ2dpb3JuYXRvIChlcmEgJXMpXG4iCiAKLSM6IGdpdC5jOjE2Ci1tc2dpZCAiU2VlICdnaXQgaGVscCA8Y29tbWFuZD4nIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGEgc3BlY2lmaWMgY29tbWFuZC4iCisjOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTAxCittc2dpZCAiVW5wYWNraW5nIG9iamVjdHMiCittc2dzdHIgIkRlY29tcHJlc3Npb25lIGRlZ2xpIG9nZ2V0dGkgaW4gY29yc28iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgImNyZWF6aW9uZSBkZWxsYSBkaXJlY3RvcnkgJXMgbm9uIHJpdXNjaXRhIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGZpbGUgJXMiCittc2dzdHIgImNyZWF6aW9uZSBkZWwgZmlsZSAlcyBub24gcml1c2NpdGEiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZmlsZSAlcyIKK21zZ3N0ciAiZWxpbWluYXppb25lIGRlbCBmaWxlICVzIG5vbiByaXVzY2l0YSIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTUgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgImVsaW1pbmF6aW9uZSBkZWxsYSBkaXJlY3RvcnkgJXMgbm9uIHJpdXNjaXRhIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJUZXN0aW5nIG10aW1lIGluICclcycgIgorbXNnc3RyICJUZXN0IGRpIG10aW1lIGluICclcycgaW4gY29yc28gIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1NAorbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGFkZGluZyBhIG5ldyBmaWxlIgogbXNnc3RyICIiCi0iVmVkaSAnZ2l0IGhlbHAgPGNvbWFuZG8+IHBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgc3UgdW4gY29tYW5kbyAiCi0ic3BlY2lmaWNvLiIKKyJsZSBpbmZvcm1hemlvbmkgc3RhdCBkZWxsYSBkaXJlY3Rvcnkgbm9uIGNhbWJpYW5vIGRvcG8gbCdhZ2dpdW50YSBkaSB1biAiCisibnVvdm8gZmlsZSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjEzMyBwYXJzZS1vcHRpb25zLmg6MjM1Ci1tc2dpZCAibiIKLW1zZ3N0ciAibiIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTY3Cittc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgYWRkaW5nIGEgbmV3IGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorImxlIGluZm9ybWF6aW9uaSBzdGF0IGRlbGxhIGRpcmVjdG9yeSBub24gY2FtYmlhbm8gZG9wbyBsJ2FnZ2l1bnRhIGRpIHVuYSAiCisibnVvdmEgZGlyZWN0b3J5IgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MTQxCi1tc2dpZCAidGltZSIKLW1zZ3N0ciAidGVtcG8iCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE4MAorbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciB1cGRhdGluZyBhIGZpbGUiCittc2dzdHIgIiIKKyJsZSBpbmZvcm1hemlvbmkgc3RhdCBkZWxsYSBkaXJlY3RvcnkgY2FtYmlhbm8gZG9wbyBsJ2FnZ2lvcm5hbWVudG8gZGkgdW4gZmlsZSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjE0OQotbXNnaWQgImZpbGUiCi1tc2dzdHIgImZpbGUiCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE5MQorbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciBhZGRpbmcgYSBmaWxlIGluc2lkZSBzdWJkaXJlY3RvcnkiCittc2dzdHIgIiIKKyJsZSBpbmZvcm1hemlvbmkgc3RhdCBkZWxsYSBkaXJlY3RvcnkgY2FtYmlhbm8gZG9wbyBsJ2FnZ2l1bnRhIGRpIHVuIGZpbGUgaW4gIgorInVuYSBzb3R0b2RpcmVjdG9yeSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjE1MQotbXNnaWQgIndoZW4iCi1tc2dzdHIgInF1YW5kbyIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjAyCittc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBmaWxlIgorbXNnc3RyICIiCisibGUgaW5mb3JtYXppb25pIHN0YXQgZGVsbGEgZGlyZWN0b3J5IG5vbiBjYW1iaWFubyBkb3BvIGwnZWxpbWluYXppb25lIGRpIHVuICIKKyJmaWxlIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MTU2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxNQorbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGRlbGV0aW5nIGEgZGlyZWN0b3J5IgorbXNnc3RyICIiCisibGUgaW5mb3JtYXppb25pIHN0YXQgZGVsbGEgZGlyZWN0b3J5IG5vbiBjYW1iaWFubyBkb3BvIGwnZWxpbWluYXppb25lIGRpIHVuYSAiCisiZGlyZWN0b3J5IgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIyMgorbXNnaWQgIiBPSyIKK21zZ3N0ciAiIE9LIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU5MQorbXNnaWQgImdpdCB1cGRhdGUtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpbGU+Li4uXSIKK21zZ3N0ciAiZ2l0IHVwZGF0ZS1pbmRleCBbPG9wemlvbmk+XSBbLS1dIFs8ZmlsZT4uLi5dIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NAorbXNnaWQgImNvbnRpbnVlIHJlZnJlc2ggZXZlbiB3aGVuIGluZGV4IG5lZWRzIHVwZGF0ZSIKK21zZ3N0ciAiIgorImNvbnRpbnVhIGwnYWdnaW9ybmFtZW50byBhbmNoZSBuZWwgY2FzbyBpbiBjdWkgbCdpbmRpY2UgcmljaGllZGEgZGkgZXNzZXJlICIKKyJhZ2dpb3JuYXRvIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NworbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgorbXNnc3RyICJhZ2dpb3JuYW1lbnRvOiBpZ25vcmEgaSBzb3R0b21vZHVsaSIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODAKK21zZ2lkICJkbyBub3QgaWdub3JlIG5ldyBmaWxlcyIKK21zZ3N0ciAibm9uIGlnbm9yYXJlIGkgbnVvdmkgZmlsZSIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODIKK21zZ2lkICJsZXQgZmlsZXMgcmVwbGFjZSBkaXJlY3RvcmllcyBhbmQgdmljZS12ZXJzYSIKK21zZ3N0ciAiY29uc2VudGkgY2hlIGRlaSBmaWxlIHNvc3RpdHVpc2Nhbm8gZGVsbGUgZGlyZWN0b3J5IGUgdmljZXZlcnNhIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NAorbXNnaWQgIm5vdGljZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCittc2dzdHIgIm5vdGEgc2UgZGVpIGZpbGUgbWFuY2FubyBkYWxsJ2FsYmVybyBkaSBsYXZvcm8iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg2Cittc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCittc2dzdHIgIiIKKyJlc2VndWkgbCdhZ2dpb3JuYW1lbnRvIGFuY2hlIHNlIGwnaW5kaWNlIGNvbnRpZW5lIGRlbGxlIHZvY2kgbm9uIHNvdHRvcG9zdGUgIgorImEgbWVyZ2UiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg5Cittc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgorbXNnc3RyICJhZ2dpb3JuYSBsZSBpbmZvcm1hemlvbmkgc3RhdCIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTMKK21zZ2lkICJsaWtlIC0tcmVmcmVzaCwgYnV0IGlnbm9yZSBhc3N1bWUtdW5jaGFuZ2VkIHNldHRpbmciCittc2dzdHIgImNvbWUgLS1yZWZyZXNoLCBtYSBpZ25vcmEgbCdpbXBvc3RhemlvbmUgYXNzdW1lLXVuY2hhbmdlZCIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKK21zZ2lkICI8bW9kZT4sPG9iamVjdD4sPHBhdGg+IgorbXNnc3RyICI8bW9kbz4sPG9nZ2V0dG8+LDxwZXJjb3Jzbz4iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk4Cittc2dpZCAiYWRkIHRoZSBzcGVjaWZpZWQgZW50cnkgdG8gdGhlIGluZGV4IgorbXNnc3RyICJhZ2dpdW5nZSBsYSB2b2NlIHNwZWNpZmljYXRhIGFsbCdpbmRpY2UiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwOAorbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJub3QgY2hhbmdpbmdcIiIKK21zZ3N0ciAiY29udHJhc3NlZ25hIGkgZmlsZSBjb21lIFwibm9uIHNhcmFubm8gbW9kaWZpY2F0aVwiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTEKK21zZ2lkICJjbGVhciBhc3N1bWVkLXVuY2hhbmdlZCBiaXQiCittc2dzdHIgInJlaW1wb3N0YSBhIHplcm8gaWwgYml0IFwibm9uIHNhcmFubm8gbW9kaWZpY2F0aVwiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTQKK21zZ2lkICJtYXJrIGZpbGVzIGFzIFwiaW5kZXgtb25seVwiIgorbXNnc3RyICJjb250cmFzc2VnbmEgaSBmaWxlIGNvbWUgXCJzb2xhbWVudGUgZGEgaW5kaWNpenphcmVcIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE3Cittc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCittc2dzdHIgInJlaW1wb3N0YSBhIHplcm8gaWwgYml0IFwic29sYW1lbnRlIGRhIGluZGljaXp6YXJlXCIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyMAorbXNnaWQgImRvIG5vdCB0b3VjaCBpbmRleC1vbmx5IGVudHJpZXMiCittc2dzdHIgIm5vbiBlc2VndWlyZSBpbCB0b3VjaCBkaSB2b2NpIHByZXNlbnRpIHNvbG8gbmVsbCdpbmRpY2UiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyMgorbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgorbXNnc3RyICIiCisiYWdnaXVuZ2kgc29sbyBhbGwnaW5kaWNlOyBub24gYWdnaXVuZ2VyZSBpbCBjb250ZW51dG8gYWwgZGF0YWJhc2Ugb2dnZXR0aSIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI0Cittc2dpZCAicmVtb3ZlIG5hbWVkIHBhdGhzIGV2ZW4gaWYgcHJlc2VudCBpbiB3b3JrdHJlZSIKK21zZ3N0ciAicmltdW92aSBpIHBlcmNvcnNpIHNwZWNpZmljYXRpIGFuY2hlIHNlIHByZXNlbnRpIG5lbGwnYWxiZXJvIGRpIGxhdm9ybyIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI2Cittc2dpZCAid2l0aCAtLXN0ZGluOiBpbnB1dCBsaW5lcyBhcmUgdGVybWluYXRlZCBieSBudWxsIGJ5dGVzIgorbXNnc3RyICJjb24gLS1zdGRpbjogbGUgcmlnaGUgZGkgaW5wdXQgc29ubyB0ZXJtaW5hdGUgZGEgYnl0ZSBOVUxMIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjgKK21zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgdG8gYmUgdXBkYXRlZCBmcm9tIHN0YW5kYXJkIGlucHV0IgorbXNnc3RyICJsZWdnaSBsJ2VsZW5jbyBkZWkgcGVyY29yc2kgZGEgYWdnaW9ybmFyZSBkYWxsbyBzdGFuZGFyZCBpbnB1dCIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDMyCittc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCittc2dzdHIgImFnZ2l1bmdpIGxlIHZvY2kgc3BlY2lmaWNhdGUgc3VsbG8gc3RhbmRhcmQgaW5wdXQgYWxsJ2luZGljZSIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDM2Cittc2dpZCAicmVwb3B1bGF0ZSBzdGFnZXMgIzIgYW5kICMzIGZvciB0aGUgbGlzdGVkIHBhdGhzIgorbXNnc3RyICJyaXBvcG9sYSBsZSBmYXNpIDIgZSAzIHBlciBpIHBlcmNvcnNpIGVsZW5jYXRpIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDAKK21zZ2lkICJvbmx5IHVwZGF0ZSBlbnRyaWVzIHRoYXQgZGlmZmVyIGZyb20gSEVBRCIKK21zZ3N0ciAiYWdnaW9ybmEgc29sbyBsZSB2b2NpIGRpZmZlcmVudGkgcmlzcGV0dG8gYWxsJ0hFQUQiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0NAorbXNnaWQgImlnbm9yZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCittc2dzdHIgImlnbm9yYSBpIGZpbGUgbWFuY2FudGkgbmVsbCdhbGJlcm8gZGkgbGF2b3JvIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDcKK21zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCittc2dzdHIgInN0YW1wYSBsZSBhemlvbmkgc3VsbG8gc3RhbmRhcmQgb3V0cHV0IgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDkKK21zZ2lkICIoZm9yIHBvcmNlbGFpbnMpIGZvcmdldCBzYXZlZCB1bnJlc29sdmVkIGNvbmZsaWN0cyIKK21zZ3N0ciAiIgorIihwZXIgaSBjb21hbmRpIGFkIGFsdG8gbGl2ZWxsbykgZGltZW50aWNhIGkgY29uZmxpdHRpIG5vbiByaXNvbHRpIHNhbHZhdGkiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1MworbXNnaWQgIndyaXRlIGluZGV4IGluIHRoaXMgZm9ybWF0IgorbXNnc3RyICJzY3JpdmkgbCdpbmRpY2UgaW4gcXVlc3RvIGZvcm1hdG8iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1NQorbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIHNwbGl0IGluZGV4IgorbXNnc3RyICJhYmlsaXRhIG8gZGlzYWJpbGl0YSBsJ2luZGljZSBzdWRkaXZpc28iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1NworbXNnaWQgImVuYWJsZS9kaXNhYmxlIHVudHJhY2tlZCBjYWNoZSIKK21zZ3N0ciAiYWJpbGl0YS9kaXNhYmlsaXRhIGxhIGNhY2hlIG5vbiB0cmFjY2lhdGEiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1OQorbXNnaWQgInRlc3QgaWYgdGhlIGZpbGVzeXN0ZW0gc3VwcG9ydHMgdW50cmFja2VkIGNhY2hlIgorbXNnc3RyICJ2ZXJpZmljYSBzZSBpbCBmaWxlc3lzdGVtIHN1cHBvcnRhIGxhIGNhY2hlIG5vbiB0cmFjY2lhdGEiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2MQorbXNnaWQgImVuYWJsZSB1bnRyYWNrZWQgY2FjaGUgd2l0aG91dCB0ZXN0aW5nIHRoZSBmaWxlc3lzdGVtIgorbXNnc3RyICJhYmlsaXRhIGxhIGNhY2hlIG5vbiB0cmFjY2lhdGEgc2VuemEgdGVzdGFyZSBpbCBmaWxlc3lzdGVtIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNjMKK21zZ2lkICJ3cml0ZSBvdXQgdGhlIGluZGV4IGV2ZW4gaWYgaXMgbm90IGZsYWdnZWQgYXMgY2hhbmdlZCIKK21zZ3N0ciAic2NyaXZpIGwnaW5kaWNlIGFuY2hlIHNlIG5vbiDDqCBzdGF0byBjb250cmFzc2VnbmF0byBjb21lIG1vZGlmaWNhdG8iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2NQorbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIGZpbGUgc3lzdGVtIG1vbml0b3IiCittc2dzdHIgImFiaWxpdGEgbyBkaXNhYmlsaXRhIGlsIG1vbml0b3IgZGVsIGZpbGVzeXN0ZW0iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2NworbXNnaWQgIm1hcmsgZmlsZXMgYXMgZnNtb25pdG9yIHZhbGlkIgorbXNnc3RyICJjb250cmFzc2VnbmEgaSBmaWxlIGNvbWUgdmFsaWRpIHJpc3BldHRvIGFsIG1vbml0b3IgZGVsIGZpbGVzeXN0ZW0iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA3MAorbXNnaWQgImNsZWFyIGZzbW9uaXRvciB2YWxpZCBiaXQiCittc2dzdHIgIiIKKyJyZWltcG9zdGEgYSB6ZXJvIGlsIGJpdCBcImZpbGUgdmFsaWRpIHJpc3BldHRvIGFsIG1vbml0b3IgZGVsIGZpbGVzeXN0ZW1cIiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTczCittc2dpZCAiIgorImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gZmFsc2U7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCisiZW5hYmxlIHNwbGl0IGluZGV4IgorbXNnc3RyICIiCisiY29yZS5zcGxpdEluZGV4IMOoIGltcG9zdGF0byBhIGZhbHNlOyByaW11b3ZpbG8gbyBtb2RpZmljYWxvIHNlIHZ1b2kgIgorInZlcmFtZW50ZSBhYmlsaXRhcmUgbCdpbmRpY2Ugc3VkZGl2aXNvIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExODIKK21zZ2lkICIiCisiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgorImRpc2FibGUgc3BsaXQgaW5kZXgiCittc2dzdHIgIiIKKyJjb3JlLnNwbGl0SW5kZXggw6ggaW1wb3N0YXRvIGEgdHJ1ZTsgcmltdW92aWxvIG8gbW9kaWZpY2FsbyBzZSB2dW9pIHZlcmFtZW50ZSAiCisiZGlzYWJpbGl0YXJlIGwnaW5kaWNlIHN1ZGRpdmlzbyIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTk0Cittc2dpZCAiIgorImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCAiCisidG8gZGlzYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgorbXNnc3RyICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSDDqCBpbXBvc3RhdG8gYSB0cnVlOyByaW11b3ZpbG8gbyBtb2RpZmljYWxvIHNlIHZ1b2kgIgorInZlcmFtZW50ZSBkaXNhYmlsaXRhcmUgbGEgY2FjaGUgbm9uIHRyYWNjaWF0YSIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTk4Cittc2dpZCAiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIgorbXNnc3RyICJDYWNoZSBub24gdHJhY2NpYXRhIGRpc2FiaWxpdGF0YSIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjA2Cittc2dpZCAiIgorImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgorInRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgorbXNnc3RyICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSDDqCBpbXBvc3RhdG8gYSBmYWxzZTsgcmltdW92aWxvIG8gbW9kaWZpY2FsbyBzZSB2dW9pICIKKyJ2ZXJhbWVudGUgYWJpbGl0YXJlIGxhIGNhY2hlIG5vbiB0cmFjY2lhdGEiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIxMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZW5hYmxlZCBmb3IgJyVzJyIKK21zZ3N0ciAiQ2FjaGUgbm9uIHRyYWNjaWF0YSBhYmlsaXRhdGEgcGVyICclcyciCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIxOAorbXNnaWQgImNvcmUuZnNtb25pdG9yIGlzIHVuc2V0OyBzZXQgaXQgaWYgeW91IHJlYWxseSB3YW50IHRvIGVuYWJsZSBmc21vbml0b3IiCittc2dzdHIgIiIKKyJjb3JlLmZzbW9uaXRvciBub24gw6ggaW1wb3N0YXRvOyBpbXBvc3RhbG8gc2UgdnVvaSB2ZXJhbWVudGUgYWJpbGl0YXJlIGlsICIKKyJtb25pdG9yIGRlbCBmaWxlc3lzdGVtIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMjIKK21zZ2lkICJmc21vbml0b3IgZW5hYmxlZCIKK21zZ3N0ciAibW9uaXRvciBmaWxlc3lzdGVtIGFiaWxpdGF0byIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjI1Cittc2dpZCAiIgorImNvcmUuZnNtb25pdG9yIGlzIHNldDsgcmVtb3ZlIGl0IGlmIHlvdSByZWFsbHkgd2FudCB0byBkaXNhYmxlIGZzbW9uaXRvciIKK21zZ3N0ciAiIgorImNvcmUuZnNtb25pdG9yIMOoIGltcG9zdGF0bzsgcmltdW92aSB0YWxlIGltcG9zdGF6aW9uZSBzZSB2dW9pIHZlcmFtZW50ZSAiCisiZGlzYWJpbGl0YXJlIGlsIG1vbml0b3IgZGVsIGZpbGVzeXN0ZW0iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIyOQorbXNnaWQgImZzbW9uaXRvciBkaXNhYmxlZCIKK21zZ3N0ciAibW9uaXRvciBmaWxlc3lzdGVtIGRpc2FiaWxpdGF0byIKKworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTAKK21zZ2lkICJnaXQgdXBkYXRlLXJlZiBbPG9wdGlvbnM+XSAtZCA8cmVmbmFtZT4gWzxvbGQtdmFsPl0iCittc2dzdHIgImdpdCB1cGRhdGUtcmVmIFs8b3B6aW9uaT5dIC1kIDxub21lIHJpZmVyaW1lbnRvPiBbPHZlY2NoaW8gdmFsb3JlPl0iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjExCittc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gICAgPHJlZm5hbWU+IDxuZXctdmFsPiBbPG9sZC12YWw+XSIKK21zZ3N0ciAiIgorImdpdCB1cGRhdGUtcmVmIFs8b3B6aW9uaT5dICAgIDxub21lIHJpZmVyaW1lbnRvPiA8bnVvdm8gdmFsb3JlPiBbPHZlY2NoaW8gIgorInZhbG9yZT5dIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMgorbXNnaWQgImdpdCB1cGRhdGUtcmVmIFs8b3B0aW9ucz5dIC0tc3RkaW4gWy16XSIKK21zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHppb25pPl0gLS1zdGRpbiBbLXpdIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjQKK21zZ2lkICJkZWxldGUgdGhlIHJlZmVyZW5jZSIKK21zZ3N0ciAiZWxpbWluYSBpbCByaWZlcmltZW50byIKKworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY2Cittc2dpZCAidXBkYXRlIDxyZWZuYW1lPiBub3QgdGhlIG9uZSBpdCBwb2ludHMgdG8iCittc2dzdHIgImFnZ2lvcm5hIDxub21lIHJpZmVyaW1lbnRvPiwgbm9uIGNpw7IgYSBjdWkgcHVudGEiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NworbXNnaWQgInN0ZGluIGhhcyBOVUwtdGVybWluYXRlZCBhcmd1bWVudHMiCittc2dzdHIgImxvIHN0YW5kYXJkIGlucHV0IGhhIGFyZ29tZW50aSB0ZXJtaW5hdGkgZGEgTlVMIgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjgKK21zZ2lkICJyZWFkIHVwZGF0ZXMgZnJvbSBzdGRpbiIKK21zZ3N0ciAibGVnZ2kgYWdnaW9ybmFtZW50aSBkYWxsbyBzdGFuZGFyZCBpbnB1dCIKKworIzogYnVpbHRpbi91cGRhdGUtc2VydmVyLWluZm8uYzo3Cittc2dpZCAiZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyBbLS1mb3JjZV0iCittc2dzdHIgImdpdCB1cGRhdGUtc2VydmVyLWluZm8gWy0tZm9yY2VdIgorCisjOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjE1Cittc2dpZCAidXBkYXRlIHRoZSBpbmZvIGZpbGVzIGZyb20gc2NyYXRjaCIKK21zZ3N0ciAiYWdnaW9ybmEgaSBmaWxlIGluZm9ybWF6aW9uaSBwYXJ0ZW5kbyBkYSB6ZXJvIgorCisjOiBidWlsdGluL3VwbG9hZC1wYWNrLmM6MTEKK21zZ2lkICJnaXQgdXBsb2FkLXBhY2sgWzxvcHRpb25zPl0gPGRpcj4iCittc2dzdHIgImdpdCB1cGxvYWQtcGFjayBbPG9wemlvbmk+XSA8ZGlyZWN0b3J5PiIKKworIzogYnVpbHRpbi91cGxvYWQtcGFjay5jOjIzIHQvaGVscGVyL3Rlc3Qtc2VydmUtdjIuYzoxNworbXNnaWQgInF1aXQgYWZ0ZXIgYSBzaW5nbGUgcmVxdWVzdC9yZXNwb25zZSBleGNoYW5nZSIKK21zZ3N0ciAiZXNjaSBkb3BvIHVuIHNvbG8gc2NhbWJpbyByaWNoaWVzdGEvcmlzcG9zdGEiCisKKyM6IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyNQorbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgaW5pdGlhbCByZWYgYWR2ZXJ0aXNlbWVudCIKK21zZ3N0ciAiZXNjaSBzdWJpdG8gZG9wbyBsJ2FubnVuY2lvIGluaXppYWxlIGRlbCByaWZlcmltZW50byIKKworIzogYnVpbHRpbi91cGxvYWQtcGFjay5jOjI3Cittc2dpZCAiZG8gbm90IHRyeSA8ZGlyZWN0b3J5Pi8uZ2l0LyBpZiA8ZGlyZWN0b3J5PiBpcyBubyBHaXQgZGlyZWN0b3J5IgorbXNnc3RyICIiCisibm9uIHByb3ZhcmUgYSB1dGlsaXp6YXJlIDxkaXJlY3Rvcnk+Ly5naXQvIHNlIDxkaXJlY3Rvcnk+IG5vbiDDqCB1bmEgIgorImRpcmVjdG9yeSBHaXQiCisKKyM6IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyOQorbXNnaWQgImludGVycnVwdCB0cmFuc2ZlciBhZnRlciA8bj4gc2Vjb25kcyBvZiBpbmFjdGl2aXR5IgorbXNnc3RyICJpbnRlcnJvbXBpIGlsIHRyYXNmZXJpbWVudG8gZG9wbyA8bj4gc2Vjb25kaSBkaSBpbmF0dGl2aXTDoCIKKworIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6MTkKK21zZ2lkICJnaXQgdmVyaWZ5LWNvbW1pdCBbLXYgfCAtLXZlcmJvc2VdIDxjb21taXQ+Li4uIgorbXNnc3RyICJnaXQgdmVyaWZ5LWNvbW1pdCBbLXYgfCAtLXZlcmJvc2VdIDxjb21taXQ+Li4uIgorCisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo2OAorbXNnaWQgInByaW50IGNvbW1pdCBjb250ZW50cyIKK21zZ3N0ciAic3RhbXBhIGkgY29udGVudXRpIGRlbCBjb21taXQiCisKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjY5IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM3Cittc2dpZCAicHJpbnQgcmF3IGdwZyBzdGF0dXMgb3V0cHV0IgorbXNnc3RyICJzdGFtcGEgbCdvdXRwdXQgZ3JlenpvIGRlbGxvIHN0YXRvIGRpIEdQRyIKKworIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjU1Cittc2dpZCAiZ2l0IHZlcmlmeS1wYWNrIFstdiB8IC0tdmVyYm9zZV0gWy1zIHwgLS1zdGF0LW9ubHldIDxwYWNrPi4uLiIKK21zZ3N0ciAiZ2l0IHZlcmlmeS1wYWNrIFstdiB8IC0tdmVyYm9zZV0gWy1zIHwgLS1zdGF0LW9ubHldIDxwYWNrPi4uLiIKKworIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjY1Cittc2dpZCAidmVyYm9zZSIKK21zZ3N0ciAiZGV0dGFnbGlhdG8iCisKKyM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo2NworbXNnaWQgInNob3cgc3RhdGlzdGljcyBvbmx5IgorbXNnc3RyICJ2aXN1YWxpenphIHNvbG8gbGUgc3RhdGlzdGljaGUiCisKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjE4Cittc2dpZCAiZ2l0IHZlcmlmeS10YWcgWy12IHwgLS12ZXJib3NlXSBbLS1mb3JtYXQ9PGZvcm1hdD5dIDx0YWc+Li4uIgorbXNnc3RyICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIFstLWZvcm1hdD08Zm9ybWF0bz5dIDx0YWc+Li4uIgorCisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzozNgorbXNnaWQgInByaW50IHRhZyBjb250ZW50cyIKK21zZ3N0ciAic3RhbXBhIGkgY29udGVudXRpIGRlbCB0YWciCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNworbXNnaWQgImdpdCB3b3JrdHJlZSBhZGQgWzxvcHRpb25zPl0gPHBhdGg+IFs8Y29tbWl0LWlzaD5dIgorbXNnc3RyICJnaXQgd29ya3RyZWUgYWRkIFs8b3B6aW9uaT5dIDxwZXJjb3Jzbz4gWzxlc3ByZXNzaW9uZSBjb21taXQ+XSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjE4Cittc2dpZCAiZ2l0IHdvcmt0cmVlIGxpc3QgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCB3b3JrdHJlZSBsaXN0IFs8b3B6aW9uaT5dIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTkKK21zZ2lkICJnaXQgd29ya3RyZWUgbG9jayBbPG9wdGlvbnM+XSA8cGF0aD4iCittc2dzdHIgImdpdCB3b3JrdHJlZSBsb2NrIFs8b3B6aW9uaT5dIDxwZXJjb3Jzbz4iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMAorbXNnaWQgImdpdCB3b3JrdHJlZSBtb3ZlIDx3b3JrdHJlZT4gPG5ldy1wYXRoPiIKK21zZ3N0ciAiZ2l0IHdvcmt0cmVlIG1vdmUgPGFsYmVybyBkaSBsYXZvcm8+IDxudW92byBwZXJjb3Jzbz4iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMQorbXNnaWQgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHdvcmt0cmVlIHBydW5lIFs8b3B6aW9uaT5dIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjIKK21zZ2lkICJnaXQgd29ya3RyZWUgcmVtb3ZlIFs8b3B0aW9ucz5dIDx3b3JrdHJlZT4iCittc2dzdHIgImdpdCB3b3JrdHJlZSByZW1vdmUgWzxvcHppb25pPl0gPGFsYmVybyBkaSBsYXZvcm8+IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjMKK21zZ2lkICJnaXQgd29ya3RyZWUgdW5sb2NrIDxwYXRoPiIKK21zZ3N0ciAiZ2l0IHdvcmt0cmVlIHVubG9jayA8cGVyY29yc28+IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NjAgYnVpbHRpbi93b3JrdHJlZS5jOjg5OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGVsZXRlICclcyciCittc2dzdHIgImVsaW1pbmF6aW9uZSBkaSAnJXMnIG5vbiByaXVzY2l0YSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogbm90IGEgdmFsaWQgZGlyZWN0b3J5IgorbXNnc3RyICJSaW11b3ZvIHdvcmt0cmVlcy8lczogbm9uIMOoIHVuYSBkaXJlY3RvcnkgdmFsaWRhIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiUmltdW92byB3b3JrdHJlZXMvJXM6IGlsIGZpbGUgZ2l0ZGlyIG5vbiBlc2lzdGUiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MCBidWlsdGluL3dvcmt0cmVlLmM6OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiB1bmFibGUgdG8gcmVhZCBnaXRkaXIgZmlsZSAoJXMpIgorbXNnc3RyICJSaW11b3ZvIHdvcmt0cmVlcy8lczogaW1wb3NzaWJpbGUgbGVnZ2VyZSBpbCBmaWxlIGdpdGRpciAoJXMpIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IHNob3J0IHJlYWQgKGV4cGVjdGVkICU8UFJJdU1BWD4gYnl0ZXMsIHJlYWQgIgorIiU8UFJJdU1BWD4pIgorbXNnc3RyICIiCisiUmltdW92byB3b3JrdHJlZXMvJXM6IGxldHRpIG1lbm8gZGF0aSBkZWwgcHJldmlzdG8gKGF0dGVzaSAlPFBSSXVNQVg+Ynl0ZSwgIgorIiU8UFJJdU1BWD4gbGV0dGkpIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogaW52YWxpZCBnaXRkaXIgZmlsZSIKK21zZ3N0ciAiUmltdW92byB3b3JrdHJlZXMvJXM6IGZpbGUgZ2l0ZGlyIG5vbiB2YWxpZG8iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBwb2ludHMgdG8gbm9uLWV4aXN0ZW50IGxvY2F0aW9uIgorbXNnc3RyICJSaW11b3ZvIHdvcmt0cmVlcy8lczogaWwgZmlsZSBnaXRkaXIgcHVudGEgYSB1biBwZXJjb3JzbyBub24gZXNpc3RlbnRlIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTY1Cittc2dpZCAicmVwb3J0IHBydW5lZCB3b3JraW5nIHRyZWVzIgorbXNnc3RyICJzZWduYWxhIGdsaSBhbGJlcmkgZGkgbGF2b3JvIGVsaW1pbmF0aSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjE2NworbXNnaWQgImV4cGlyZSB3b3JraW5nIHRyZWVzIG9sZGVyIHRoYW4gPHRpbWU+IgorbXNnc3RyICJmYWkgc2NhZGVyZSBnbGkgYWxiZXJpIGRpIGxhdm9ybyBwacO5IHZlY2NoaSBkaSA8dGVtcG8+IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgYWxyZWFkeSBleGlzdHMiCittc2dzdHIgIiclcycgZXNpc3RlIGdpw6AiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlLWFkZCB3b3JrdHJlZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhZ2dpdW5nZXJlIG51b3ZhbWVudGUgbCdhbGJlcm8gZGkgbGF2b3JvICclcyciCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiclcycgaXMgYSBtaXNzaW5nIGJ1dCBsb2NrZWQgd29ya3RyZWU7XG4iCisidXNlICdhZGQgLWYgLWYnIHRvIG92ZXJyaWRlLCBvciAndW5sb2NrJyBhbmQgJ3BydW5lJyBvciAncmVtb3ZlJyB0byBjbGVhciIKK21zZ3N0ciAiIgorIiclcycgw6ggdW4gYWxiZXJvIGRpIGxhdm9ybyBtYW5jYW50ZSBtYSBibG9jY2F0bztcbiIKKyJ1c2EgJ2FkZCAtZiAtZicgcGVyIGVzZWd1aXJlIGwnb3ZlcnJpZGUsIG8gJ3VubG9jaycgZSAncHJ1bmUnIG8gJ3JlbW92ZScgcGVyICIKKyJyaW11b3ZlcmxvIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyInJXMnIGlzIGEgbWlzc2luZyBidXQgYWxyZWFkeSByZWdpc3RlcmVkIHdvcmt0cmVlO1xuIgorInVzZSAnYWRkIC1mJyB0byBvdmVycmlkZSwgb3IgJ3BydW5lJyBvciAncmVtb3ZlJyB0byBjbGVhciIKK21zZ3N0ciAiIgorIiclcycgw6ggdW4gYWxiZXJvIGRpIGxhdm9ybyBtYW5jYW50ZSBtYSBnacOgIHJlZ2lzdHJhdG87XG4iCisidXNhICdhZGQgLWYnIHBlciBlc2VndWlyZSBsJ292ZXJyaWRlLCBvICdwcnVuZScgbyAncmVtb3ZlJyBwZXIgcmltdW92ZXJsbyIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSBvZiAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBjcmVhcmUgbGEgZGlyZWN0b3J5IGRpICclcyciCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzkgYnVpbHRpbi93b3JrdHJlZS5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKG5ldyBicmFuY2ggJyVzJykiCittc2dzdHIgIlByZXBhcmF6aW9uZSBkZWxsJ2FsYmVybyBkaSBsYXZvcm8gaW4gY29yc28gKG51b3ZvIGJyYW5jaCAnJXMnKSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKHJlc2V0dGluZyBicmFuY2ggJyVzJzsgd2FzIGF0ICVzKSIKK21zZ3N0ciAiIgorIlByZXBhcmF6aW9uZSBkZWxsJ2FsYmVybyBkaSBsYXZvcm8gaW4gY29yc28gKHJlaW1wb3N0byBpbCBicmFuY2ggJyVzJzsgZXJhIGEgIgorIiVzKSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKGNoZWNraW5nIG91dCAnJXMnKSIKK21zZ3N0ciAiUHJlcGFyYXppb25lIGRlbGwnYWxiZXJvIGRpIGxhdm9ybyBpbiBjb3JzbyAoY2hlY2tvdXQgZGkgJyVzJykiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChkZXRhY2hlZCBIRUFEICVzKSIKK21zZ3N0ciAiUHJlcGFyYXppb25lIGRlbGwnYWxiZXJvIGRpIGxhdm9ybyBpbiBjb3JzbyAoSEVBRCBzY29sbGVnYXRvICVzKSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5NworbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGV2ZW4gaWYgYWxyZWFkeSBjaGVja2VkIG91dCBpbiBvdGhlciB3b3JrdHJlZSIKK21zZ3N0ciAiIgorImVzZWd1aSBpbCBjaGVja291dCBkaSA8YnJhbmNoPiBhbmNoZSBzZSB0YWxlIG9wZXJhemlvbmUgw6ggc3RhdGEgZXNlZ3VpdGEgaW4gIgorInVuIGFsdHJvIGFsYmVybyBkaSBsYXZvcm8iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDAKK21zZ2lkICJjcmVhdGUgYSBuZXcgYnJhbmNoIgorbXNnc3RyICJjcmVhIHVuIG51b3ZvIGJyYW5jaCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwMgorbXNnaWQgImNyZWF0ZSBvciByZXNldCBhIGJyYW5jaCIKK21zZ3N0ciAiY3JlYSBvIHJlaW1wb3N0YSB1biBicmFuY2giCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDQKK21zZ2lkICJwb3B1bGF0ZSB0aGUgbmV3IHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAicG9wb2xhIGlsIG51b3ZvIGFsYmVybyBkaSBsYXZvcm8iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDUKK21zZ2lkICJrZWVwIHRoZSBuZXcgd29ya2luZyB0cmVlIGxvY2tlZCIKK21zZ3N0ciAibWFudGllbmkgYmxvY2NhdG8gaWwgbnVvdm8gYWxiZXJvIGRpIGxhdm9ybyIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwOAorbXNnaWQgInNldCB1cCB0cmFja2luZyBtb2RlIChzZWUgZ2l0LWJyYW5jaCgxKSkiCittc2dzdHIgImltcG9zdGEgbGEgbW9kYWxpdMOgIHRyYWNraW5nICh2ZWRpIGdpdC1icmFuY2goMSkpIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTExCittc2dpZCAidHJ5IHRvIG1hdGNoIHRoZSBuZXcgYnJhbmNoIG5hbWUgd2l0aCBhIHJlbW90ZS10cmFja2luZyBicmFuY2giCittc2dzdHIgIiIKKyJ0ZW50YSBkaSBjZXJjYXJlIHVuYSBjb3JyaXNwb25kZW56YSBmcmEgaWwgbm9tZSBkZWwgbnVvdm8gYnJhbmNoIGUgdW4gYnJhbmNoICIKKyJyZW1vdG8gZGEgdHJhY2NpYXJlIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTE5Cittc2dpZCAiLWIsIC1CLCBhbmQgLS1kZXRhY2ggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAibGUgb3B6aW9uaSAtYiwgLUIgZSAtLWRldGFjaCBzb25vIG11dHVhbG1lbnRlIGVzY2x1c2l2ZSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjU4MAorbXNnaWQgIi0tW25vLV10cmFjayBjYW4gb25seSBiZSB1c2VkIGlmIGEgbmV3IGJyYW5jaCBpcyBjcmVhdGVkIgorbXNnc3RyICIiCisibCdvcHppb25lIC0tW25vLV10cmFjayBwdcOyIGVzc2VyZSB1c2F0YSBzb2xvIHNlIHZpZW5lIGNyZWF0byB1biBudW92byBicmFuY2giCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODAKK21zZ2lkICJyZWFzb24gZm9yIGxvY2tpbmciCittc2dzdHIgIm1vdGl2byBkaSBibG9jY28iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2OTIgYnVpbHRpbi93b3JrdHJlZS5jOjcyNSBidWlsdGluL3dvcmt0cmVlLmM6Nzk5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgd29ya2luZyB0cmVlIgorbXNnc3RyICInJXMnIG5vbiDDqCB1biBhbGJlcm8gZGkgbGF2b3JvIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6Njk0IGJ1aWx0aW4vd29ya3RyZWUuYzo3MjcKK21zZ2lkICJUaGUgbWFpbiB3b3JraW5nIHRyZWUgY2Fubm90IGJlIGxvY2tlZCBvciB1bmxvY2tlZCIKK21zZ3N0ciAiTm9uIMOoIHBvc3NpYmlsZSBibG9jY2FyZSBvIHNibG9jY2FyZSBsJ2FsYmVybyBkaSBsYXZvcm8gcHJpbmNpcGFsZSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkLCByZWFzb246ICVzIgorbXNnc3RyICInJXMnIMOoIGdpw6AgYmxvY2NhdG8gcGVyIHF1ZXN0byBtb3Rpdm86ICVzIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQiCittc2dzdHIgIiclcycgw6ggZ2nDoCBibG9jY2F0byIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjcyOQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBsb2NrZWQiCittc2dzdHIgIiclcycgbm9uIMOoIGJsb2NjYXRvIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NzcwCittc2dpZCAid29ya2luZyB0cmVlcyBjb250YWluaW5nIHN1Ym1vZHVsZXMgY2Fubm90IGJlIG1vdmVkIG9yIHJlbW92ZWQiCittc2dzdHIgIiIKKyJnbGkgYWxiZXJpIGRpIGxhdm9ybyBjb250ZW5lbnRpIHNvdHRvbW9kdWxpIG5vbiBwb3Nzb25vIGVzc2VyZSBzcG9zdGF0aSBvICIKKyJyaW1vc3NpIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6Nzc4Cittc2dpZCAiZm9yY2UgbW92ZSBldmVuIGlmIHdvcmt0cmVlIGlzIGRpcnR5IG9yIGxvY2tlZCIKK21zZ3N0ciAiZm9yemEgbG8gc3Bvc3RhbWVudG8gYW5jaGUgc2UgbCdhbGJlcm8gZGkgbGF2b3JvIMOoIHNwb3JjbyBvIGJsb2NjYXRvIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODAxIGJ1aWx0aW4vd29ya3RyZWUuYzo5MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBhIG1haW4gd29ya2luZyB0cmVlIgorbXNnc3RyICInJXMnIMOoIHVuIGFsYmVybyBkaSBsYXZvcm8gcHJpbmNpcGFsZSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZmlndXJlIG91dCBkZXN0aW5hdGlvbiBuYW1lIGZyb20gJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZGV0ZXJtaW5hcmUgaWwgbm9tZSBkZXN0aW5hemlvbmUgZGEgJyVzJyIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJ0YXJnZXQgJyVzJyBhbHJlYWR5IGV4aXN0cyIKK21zZ3N0ciAibGEgZGVzdGluYXppb25lICclcycgZXNpc3RlIGdpw6AiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZSwgbG9jayByZWFzb246ICVzXG4iCisidXNlICdtb3ZlIC1mIC1mJyB0byBvdmVycmlkZSBvciB1bmxvY2sgZmlyc3QiCittc2dzdHIgIiIKKyJpbXBvc3NpYmlsZSBzcG9zdGFyZSB1biBhbGJlcm8gZGkgbGF2b3JvIGJsb2NjYXRvLCBtb3RpdmF6aW9uZSBibG9jY286ICVzXG4iCisidXNhICdtb3ZlIC1mIC1mJyBwZXIgZXNlZ3Vpcm5lIGwnb3ZlcnJpZGUgbyBzYmxvY2NhbG8gcHJpbWEgZGkgZXNlZ3VpcmUgIgorImwnb3BlcmF6aW9uZSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjgyMgorbXNnaWQgIiIKKyJjYW5ub3QgbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWU7XG4iCisidXNlICdtb3ZlIC1mIC1mJyB0byBvdmVycmlkZSBvciB1bmxvY2sgZmlyc3QiCittc2dzdHIgIiIKKyJpbXBvc3NpYmlsZSBzcG9zdGFyZSB1biBhbGJlcm8gZGkgbGF2b3JvIGJsb2NjYXRvO1xuIgorInVzYSAnbW92ZSAtZiAtZicgcGVyIGVzZWd1aXJuZSBsJ292ZXJyaWRlIG8gc2Jsb2NjYWxvIHByaW1hIGRpIGVzZWd1aXJlICIKKyJsJ29wZXJhemlvbmUiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidmFsaWRhdGlvbiBmYWlsZWQsIGNhbm5vdCBtb3ZlIHdvcmtpbmcgdHJlZTogJXMiCittc2dzdHIgInZhbGlkYXppb25lIG5vbiByaXVzY2l0YSwgaW1wb3NzaWJpbGUgc3Bvc3RhcmUgbCdhbGJlcm8gZGkgbGF2b3JvOiAlcyIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjgzMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW92ZSAnJXMnIHRvICclcyciCittc2dzdHIgInNwb3N0YW1lbnRvIGRpICclcycgaW4gJyVzJyBub24gcml1c2NpdG8iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJ1biAnZ2l0IHN0YXR1cycgb24gJyVzJyIKK21zZ3N0ciAiZXNlY3V6aW9uZSBkaSAnZ2l0IHN0YXR1cycgc3UgJyVzJyBub24gcml1c2NpdGEiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBjb250YWlucyBtb2RpZmllZCBvciB1bnRyYWNrZWQgZmlsZXMsIHVzZSAtLWZvcmNlIHRvIGRlbGV0ZSBpdCIKK21zZ3N0ciAiIgorIiclcycgY29udGllbmUgZmlsZSBtb2RpZmljYXRpIG8gbm9uIHRyYWNjaWF0aSwgdXNhIC0tZm9yY2UgcGVyIGVsaW1pbmFybG8iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJ1biAnZ2l0IHN0YXR1cycgb24gJyVzJywgY29kZSAlZCIKK21zZ3N0ciAiZXNlY3V6aW9uZSBkaSAnZ2l0IHN0YXR1cycgc3UgJyVzJyBub24gcml1c2NpdGEsIGNvZGljZSAlZCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjkxMAorbXNnaWQgImZvcmNlIHJlbW92YWwgZXZlbiBpZiB3b3JrdHJlZSBpcyBkaXJ0eSBvciBsb2NrZWQiCittc2dzdHIgImZvcnphIGxhIHJpbW96aW9uZSBhbmNoZSBzZSBsJ2FsYmVybyBkaSBsYXZvcm8gw6ggc3BvcmNvIG8gYmxvY2NhdG8iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCByZW1vdmUgYSBsb2NrZWQgd29ya2luZyB0cmVlLCBsb2NrIHJlYXNvbjogJXNcbiIKKyJ1c2UgJ3JlbW92ZSAtZiAtZicgdG8gb3ZlcnJpZGUgb3IgdW5sb2NrIGZpcnN0IgorbXNnc3RyICIiCisiaW1wb3NzaWJpbGUgcmltdW92ZXJlIHVuIGFsYmVybyBkaSBsYXZvcm8gYmxvY2NhdG8sIG1vdGl2YXppb25lIGJsb2NjbzogJXNcbiIKKyJ1c2EgJ3JlbW92ZSAtZiAtZicgcGVyIGVzZWd1aXJuZSBsJ292ZXJyaWRlIG8gc2Jsb2NjYWxvIHByaW1hIGRpIGVzZWd1aXJlICIKKyJsJ29wZXJhemlvbmUiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MzUKK21zZ2lkICIiCisiY2Fubm90IHJlbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWU7XG4iCisidXNlICdyZW1vdmUgLWYgLWYnIHRvIG92ZXJyaWRlIG9yIHVubG9jayBmaXJzdCIKK21zZ3N0ciAiIgorImltcG9zc2liaWxlIHJpbXVvdmVyZSB1biBhbGJlcm8gZGkgbGF2b3JvIGJsb2NjYXRvO1xuIgorInVzYSAncmVtb3ZlIC1mIC1mJyBwZXIgZXNlZ3Vpcm5lIGwnb3ZlcnJpZGUgbyBzYmxvY2NhbG8gcHJpbWEgZGkgZXNlZ3VpcmUgIgorImwnb3BlcmF6aW9uZSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjkzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ2YWxpZGF0aW9uIGZhaWxlZCwgY2Fubm90IHJlbW92ZSB3b3JraW5nIHRyZWU6ICVzIgorbXNnc3RyICJ2YWxpZGF6aW9uZSBub24gcml1c2NpdGEsIGltcG9zc2liaWxlIHJpbXVvdmVyZSBsJ2FsYmVybyBkaSBsYXZvcm86ICVzIgorCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoxNQorbXNnaWQgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08cHJlZml4Pi9dIgorbXNnc3RyICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PHByZWZpc3NvPi9dIgorCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOAorbXNnaWQgIjxwcmVmaXg+LyIKK21zZ3N0ciAiPHByZWZpc3NvPi8iCisKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI5Cittc2dpZCAid3JpdGUgdHJlZSBvYmplY3QgZm9yIGEgc3ViZGlyZWN0b3J5IDxwcmVmaXg+IgorbXNnc3RyICJzY3JpdmkgbCdvZ2dldHRvIGFsYmVybyBwZXIgdW5hIHNvdHRvZGlyZWN0b3J5IDxwcmVmaXNzbz4iCisKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjMxCittc2dpZCAib25seSB1c2VmdWwgZm9yIGRlYnVnZ2luZyIKK21zZ3N0ciAidXRpbGUgc29sbyBwZXIgaWwgZGVidWciCisKKyM6IGZhc3QtaW1wb3J0LmM6MzEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJFeHBlY3RlZCAnbWFyaycgY29tbWFuZCwgZ290ICVzIgorbXNnc3RyICJBdHRlc28gY29tYW5kbyAnbWFyaycsIHJpY2V2dXRvICVzIgorCisjOiBmYXN0LWltcG9ydC5jOjMxMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhwZWN0ZWQgJ3RvJyBjb21tYW5kLCBnb3QgJXMiCittc2dzdHIgIkF0dGVzbyBjb21hbmRvICd0bycsIHJpY2V2dXRvICVzIgorCisjOiBmYXN0LWltcG9ydC5jOjMyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmVhdHVyZSAnJXMnIGZvcmJpZGRlbiBpbiBpbnB1dCB3aXRob3V0IC0tYWxsb3ctdW5zYWZlLWZlYXR1cmVzIgorbXNnc3RyICJmdW56aW9uYWxpdMOgICclcycgdmlldGF0YSBuZWxsJ2lucHV0IHNlbnphIC0tYWxsb3ctdW5zYWZlLWZlYXR1cmVzIgorCisjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBwZXJtaXNzaW9ucyBvbiB5b3VyIHNvY2tldCBkaXJlY3RvcnkgYXJlIHRvbyBsb29zZTsgb3RoZXJcbiIKKyJ1c2VycyBtYXkgYmUgYWJsZSB0byByZWFkIHlvdXIgY2FjaGVkIGNyZWRlbnRpYWxzLiBDb25zaWRlciBydW5uaW5nOlxuIgorIlxuIgorIlx0Y2htb2QgMDcwMCAlcyIKK21zZ3N0ciAiIgorIkkgcGVybWVzc2kgc3VsbGEgZGlyZWN0b3J5IGRlbCBzb2NrZXQgc29ubyB0cm9wcG8gbGFzY2hpOyBhbHRyaVxuIgorInV0ZW50aSBwb3RyZWJiZXJvIGVzc2VyZSBpbiBncmFkbyBkaSBsZWdnZXJlIGxlIGNyZWRlbnppYWxpIG5lbGxhXG4iCisiY2FjaGUuIFZhbHV0YSBkaSBlc2VndWlyZTpcbiIKKyJcbiIKKyJcdGNobW9kIDA3MDAgJXMiCisKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjI3MgorbXNnaWQgInByaW50IGRlYnVnZ2luZyBtZXNzYWdlcyB0byBzdGRlcnIiCittc2dzdHIgInN0YW1wYSBpIG1lc3NhZ2dpIGRpIGRlYnVnIHN1bGxvIHN0YW5kYXJkIGVycm9yIgorCisjOiB0L2hlbHBlci90ZXN0LXJlYWNoLmM6MTUyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdCAlcyBpcyBub3QgbWFya2VkIHJlYWNoYWJsZSIKK21zZ3N0ciAiaWwgY29tbWl0ICVzIG5vbiDDqCBjb250cmFzc2VnbmF0byBjb21lIHJhZ2dpdW5naWJpbGUiCisKKyM6IHQvaGVscGVyL3Rlc3QtcmVhY2guYzoxNjIKK21zZ2lkICJ0b28gbWFueSBjb21taXRzIG1hcmtlZCByZWFjaGFibGUiCittc2dzdHIgInRyb3BwaSBjb21taXQgY29udHJhc3NlZ25hdGkgY29tZSByYWdnaXVuZ2liaWxpIgorCisjOiB0L2hlbHBlci90ZXN0LXNlcnZlLXYyLmM6NworbXNnaWQgInRlc3QtdG9vbCBzZXJ2ZS12MiBbPG9wdGlvbnM+XSIKK21zZ3N0ciAidGVzdC10b29sIHNlcnZlLXYyIFs8b3B6aW9uaT5dIgorCisjOiB0L2hlbHBlci90ZXN0LXNlcnZlLXYyLmM6MTkKK21zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGFkdmVydGlzaW5nIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiZXNjaSBzdWJpdG8gZG9wbyBhdmVyIGFubnVuY2lhdG8gbGUgZnVuemlvbmFsaXTDoCIKKworIzogZ2l0LmM6MjcKK21zZ2lkICIiCisiZ2l0IFstLXZlcnNpb25dIFstLWhlbHBdIFstQyA8cGF0aD5dIFstYyA8bmFtZT49PHZhbHVlPl1cbiIKKyIgICAgICAgICAgIFstLWV4ZWMtcGF0aFs9PHBhdGg+XV0gWy0taHRtbC1wYXRoXSBbLS1tYW4tcGF0aF0gWy0taW5mby1wYXRoXVxuIgorIiAgICAgICAgICAgWy1wIHwgLS1wYWdpbmF0ZSB8IC1QIHwgLS1uby1wYWdlcl0gWy0tbm8tcmVwbGFjZS1vYmplY3RzXSBbLS0iCisiYmFyZV1cbiIKKyIgICAgICAgICAgIFstLWdpdC1kaXI9PHBhdGg+XSBbLS13b3JrLXRyZWU9PHBhdGg+XSBbLS1uYW1lc3BhY2U9PG5hbWU+XVxuIgorIiAgICAgICAgICAgPGNvbW1hbmQ+IFs8YXJncz5dIgorbXNnc3RyICIiCisiZ2l0IFstLXZlcnNpb25dIFstLWhlbHBdIFstQyA8cGVyY29yc28+XSBbLWMgPG5vbWU+PTx2YWxvcmU+XVxuIgorIiAgICAgICAgICAgWy0tZXhlYy1wYXRoWz08cGVyY29yc28+XV0gWy0taHRtbC1wYXRoXSBbLS1tYW4tcGF0aF0gWy0taW5mby0iCisicGF0aF1cbiIKKyIgICAgICAgICAgIFstcCB8IC0tcGFnaW5hdGUgfCAtUCB8IC0tbm8tcGFnZXJdIFstLW5vLXJlcGxhY2Utb2JqZWN0c10gWy0tIgorImJhcmVdXG4iCisiICAgICAgICAgICBbLS1naXQtZGlyPTxwZXJjb3Jzbz5dIFstLXdvcmstdHJlZT08cGVyY29yc28+XSBbLS0iCisibmFtZXNwYWNlPTxub21lPl1cbiIKKyIgICAgICAgICAgIDxjb21hbmRvPiBbPGFyZ29tZW50aT5dIgorCisjOiBnaXQuYzozNAorbXNnaWQgIiIKKyInZ2l0IGhlbHAgLWEnIGFuZCAnZ2l0IGhlbHAgLWcnIGxpc3QgYXZhaWxhYmxlIHN1YmNvbW1hbmRzIGFuZCBzb21lXG4iCisiY29uY2VwdCBndWlkZXMuIFNlZSAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyBvciAnZ2l0IGhlbHAgPGNvbmNlcHQ+J1xuIgorInRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIG9yIGNvbmNlcHQuXG4iCisiU2VlICdnaXQgaGVscCBnaXQnIGZvciBhbiBvdmVydmlldyBvZiB0aGUgc3lzdGVtLiIKK21zZ3N0ciAiIgorIidnaXQgaGVscCAtYScgZSAnZ2l0IGhlbHAgLWcnIGVsZW5jYW5vIGkgc290dG9jb21hbmRpIGRpc3BvbmliaWxpIGVcbiIKKyJhbGN1bmUgZ3VpZGUgY29uY2V0dHVhbGkuIFZlZGkgJ2dpdCBoZWxwIDxjb21hbmRvPicgbyAnZ2l0IGhlbHAgPGNvbmNldHRvPidcbiIKKyJwZXIgbGVnZ2VyZSB1bHRlcmlvcmkgaW5mb3JtYXppb25pIHN1IHVuIHNvdHRvY29tYW5kbyBvIHN1IHVuIGNvbmNldHRvXG4iCisic3BlY2lmaWNpLlxuIgorIlZlZGkgJ2dpdCBoZWxwIGdpdCcgcGVyIHVuYSBwYW5vcmFtaWNhIGRlbCBzaXN0ZW1hLiIKKworIzogZ2l0LmM6MTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLS1naXQtZGlyXG4iCittc2dzdHIgIm5lc3N1bmEgZGlyZWN0b3J5IHNwZWNpZmljYXRhIHBlciAtLWdpdC1kaXJcbiIKKworIzogZ2l0LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG5hbWVzcGFjZSBnaXZlbiBmb3IgLS1uYW1lc3BhY2VcbiIKK21zZ3N0ciAibmVzc3VubyBzcGF6aW8gZGVpIG5vbWkgc3BlY2lmaWNhdG8gcGVyIC0tbmFtZXNwYWNlXG4iCisKKyM6IGdpdC5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBkaXJlY3RvcnkgZ2l2ZW4gZm9yIC0td29yay10cmVlXG4iCittc2dzdHIgIm5lc3N1bmEgZGlyZWN0b3J5IHNwZWNpZmljYXRhIHBlciAtLXdvcmstdHJlZVxuIgorCisjOiBnaXQuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gcHJlZml4IGdpdmVuIGZvciAtLXN1cGVyLXByZWZpeFxuIgorbXNnc3RyICJuZXNzdW4gcHJlZmlzc28gc3BlY2lmaWNhdG8gcGVyIC0tc3VwZXItcHJlZml4XG4iCisKKyM6IGdpdC5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICItYyBleHBlY3RzIGEgY29uZmlndXJhdGlvbiBzdHJpbmdcbiIKK21zZ3N0ciAiLWM6IGF0dGVzYSBzdHJpbmdhIGRpIGNvbmZpZ3VyYXppb25lXG4iCisKKyM6IGdpdC5jOjI4OAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBkaXJlY3RvcnkgZ2l2ZW4gZm9yIC1DXG4iCittc2dzdHIgIm5lc3N1bmEgZGlyZWN0b3J5IHNwZWNpZmljYXRhIHBlciAtQ1xuIgorCisjOiBnaXQuYzozMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb246ICVzXG4iCittc2dzdHIgIm9wemlvbmUgc2Nvbm9zY2l1dGE6ICVzXG4iCisKKyM6IGdpdC5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ3aGlsZSBleHBhbmRpbmcgYWxpYXMgJyVzJzogJyVzJyIKK21zZ3N0ciAiZHVyYW50ZSBsJ2VzcGFuc2lvbmUgZGVsbCdhbGlhcyAnJXMnOiAnJXMnIgorCisjOiBnaXQuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImFsaWFzICclcycgY2hhbmdlcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4iCisiWW91IGNhbiB1c2UgJyFnaXQnIGluIHRoZSBhbGlhcyB0byBkbyB0aGlzIgorbXNnc3RyICIiCisibCdhbGlhcyAnJXMnIG1vZGlmaWNhIGxlIHZhcmlhYmlsaSBkJ2FtYmllbnRlLlxuIgorIlB1b2kgdXNhcmUgJyFnaXQnIG5lbGwnYWxpYXMgcGVyIGZhcmxvIgorCisjOiBnaXQuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1wdHkgYWxpYXMgZm9yICVzIgorbXNnc3RyICJhbGlhcyB2dW90byBwZXIgJXMiCisKKyM6IGdpdC5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWN1cnNpdmUgYWxpYXM6ICVzIgorbXNnc3RyICJhbGlhcyByaWNvcnNpdm86ICVzIgorCisjOiBnaXQuYzo0NTkKK21zZ2lkICJ3cml0ZSBmYWlsdXJlIG9uIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAiZXJyb3JlIGRpIHNjcml0dHVyYSBzdWxsbyBzdGFuZGFyZCBvdXRwdXQiCisKKyM6IGdpdC5jOjQ2MQorbXNnaWQgInVua25vd24gd3JpdGUgZmFpbHVyZSBvbiBzdGFuZGFyZCBvdXRwdXQiCittc2dzdHIgImVycm9yZSBkaSBzY3JpdHR1cmEgc2Nvbm9zY2l1dG8gc3VsbG8gc3RhbmRhcmQgb3V0cHV0IgorCisjOiBnaXQuYzo0NjMKK21zZ2lkICJjbG9zZSBmYWlsZWQgb24gc3RhbmRhcmQgb3V0cHV0IgorbXNnc3RyICJjaGl1c3VyYSBkZWxsbyBzdGFuZGFyZCBvdXRwdXQgbm9uIHJpdXNjaXRhIgorCisjOiBnaXQuYzo3OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxpYXMgbG9vcCBkZXRlY3RlZDogZXhwYW5zaW9uIG9mICclcycgZG9lcyBub3QgdGVybWluYXRlOiVzIgorbXNnc3RyICJyaWxldmF0byBjaWNsbyBhbGlhczogbCdlc3BhbnNpb25lIGRpICclcycgbm9uIHRlcm1pbmE6JXMiCisKKyM6IGdpdC5jOjg0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgaGFuZGxlICVzIGFzIGEgYnVpbHRpbiIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZ2VzdGlyZSAlcyBjb21lIGNvbWFuZG8gaW5jb3Jwb3JhdG8iCisKKyM6IGdpdC5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzXG4iCisiXG4iCittc2dzdHIgIiIKKyJ1c286ICVzXG4iCisiXG4iCisKKyM6IGdpdC5jOjg3NgorIywgYy1mb3JtYXQKK21zZ2lkICJleHBhbnNpb24gb2YgYWxpYXMgJyVzJyBmYWlsZWQ7ICclcycgaXMgbm90IGEgZ2l0IGNvbW1hbmRcbiIKK21zZ3N0ciAiZXNwYW5zaW9uZSBkZWxsJ2FsaWFzICclcycgbm9uIHJpdXNjaXRhOyAnJXMnIG5vbiDDqCB1biBjb21hbmRvIEdpdFxuIgorCisjOiBnaXQuYzo4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJ1biBjb21tYW5kICclcyc6ICVzXG4iCittc2dzdHIgImVzZWN1emlvbmUgZGVsIGNvbWFuZG8gJyVzJyBub24gcml1c2NpdGE6ICVzXG4iCisKKyM6IGh0dHAuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVnYXRpdmUgdmFsdWUgZm9yIGh0dHAucG9zdGJ1ZmZlcjsgZGVmYXVsdGluZyB0byAlZCIKK21zZ3N0ciAidmFsb3JlIG5lZ2F0aXZvIHBlciBodHRwLnBvc3RidWZmZXI7IHVzbyBsJ2ltcG9zdGF6aW9uZSBwcmVkZWZpbml0YSAlZCIKKworIzogaHR0cC5jOjM5OQorbXNnaWQgIkRlbGVnYXRpb24gY29udHJvbCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuMjIuMCIKK21zZ3N0ciAiSWwgY29udHJvbGxvIGRlbGVnYXppb25lIG5vbiDDqCBzdXBwb3J0YXRvIGNvbiBjVVJMIDwgNy4yMi4wIgorCisjOiBodHRwLmM6NDA4Cittc2dpZCAiUHVibGljIGtleSBwaW5uaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgorbXNnc3RyICJJbCBwaW5uaW5nIGRlbGxlIGNoaWF2aSBwdWJibGljaGUgbm9uIMOoIHN1cHBvcnRhdG8gY29uIGNVUkwgPCA3LjQ0LjAiCisKKyM6IGh0dHAuYzo4NzYKK21zZ2lkICJDVVJMU1NMT1BUX05PX1JFVk9LRSBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuNDQuMCIKK21zZ3N0ciAiQ1VSTFNTTE9QVF9OT19SRVZPS0Ugbm9uIMOoIHN1cHBvcnRhdG8gY29uIGNVUkwgPCA3LjQ0LjAiCisKKyM6IGh0dHAuYzo5NDkKK21zZ2lkICJQcm90b2NvbCByZXN0cmljdGlvbnMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjE5LjQiCittc2dzdHIgIkxlIHJlc3RyaXppb25pIHByb3RvY29sbG8gbm9uIHNvbm8gc3VwcG9ydGF0ZSBjb24gY1VSTCA8IDcuMTkuNCIKKworIzogaHR0cC5jOjEwODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5zdXBwb3J0ZWQgU1NMIGJhY2tlbmQgJyVzJy4gU3VwcG9ydGVkIFNTTCBiYWNrZW5kczoiCittc2dzdHIgIkJhY2tlbmQgU1NMICclcycgbm9uIHN1cHBvcnRhdG8uIEJhY2tlbmQgU1NMIHN1cHBvcnRhdGk6IgorCisjOiBodHRwLmM6MTA5MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgc2V0IFNTTCBiYWNrZW5kIHRvICclcyc6IGNVUkwgd2FzIGJ1aWx0IHdpdGhvdXQgU1NMIGJhY2tlbmRzIgorbXNnc3RyICIiCisiSW1wb3NzaWJpbGUgaW1wb3N0YXJlIGlsIGJhY2tlbmQgU1NMIGEgJyVzJzogY1VSTCDDqCBzdGF0byBjb21waWxhdG8gc2VuemEgIgorImJhY2tlbmQgU1NMIgorCisjOiBodHRwLmM6MTA5NworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgc2V0IFNTTCBiYWNrZW5kIHRvICclcyc6IGFscmVhZHkgc2V0IgorbXNnc3RyICJJbXBvc3NpYmlsZSBpbXBvc3RhcmUgaWwgYmFja2VuZCBTU0wgYSAnJXMnOiBnacOgIGltcG9zdGF0byIKKworIzogaHR0cC5jOjE5NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVuYWJsZSB0byB1cGRhdGUgdXJsIGJhc2UgZnJvbSByZWRpcmVjdGlvbjpcbiIKKyIgIGFza2VkIGZvcjogJXNcbiIKKyIgICByZWRpcmVjdDogJXMiCittc2dzdHIgIiIKKyJpbXBvc3NpYmlsZSBhZ2dpb3JuYXJlIGwnVVJMIGRpIGJhc2UgZGFsbGEgcmVkaXJlemlvbmU6XG4iCisiICByaWNoaWVzdGE6ICVzXG4iCisiICAgcmVkaXJlY3Q6ICVzIgorCisjOiByZW1vdGUtY3VybC5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHF1b3RpbmcgaW4gcHVzaC1vcHRpb24gdmFsdWU6ICclcyciCittc2dzdHIgInZpcmdvbGV0dGUgbm9uIHZhbGlkZSBuZWwgdmFsb3JlIHB1c2gtb3B0aW9uOiAnJXMnIgorCisjOiByZW1vdGUtY3VybC5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICIlc2luZm8vcmVmcyBub3QgdmFsaWQ6IGlzIHRoaXMgYSBnaXQgcmVwb3NpdG9yeT8iCittc2dzdHIgIiVzaW5mby9yZWZzIG5vbiB2YWxpZG86IMOoIHVuIHJlcG9zaXRvcnkgR2l0PyIKKworIzogcmVtb3RlLWN1cmwuYzozNjQKK21zZ2lkICJpbnZhbGlkIHNlcnZlciByZXNwb25zZTsgZXhwZWN0ZWQgc2VydmljZSwgZ290IGZsdXNoIHBhY2tldCIKK21zZ3N0ciAiIgorInJpc3Bvc3RhIGRlbCBzZXJ2ZXIgbm9uIHZhbGlkYTsgYXR0ZXNvIHNlcnZpemlvLCByaWNldnV0byBwYWNjaGV0dG8gZmx1c2giCisKKyM6IHJlbW90ZS1jdXJsLmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2VydmVyIHJlc3BvbnNlOyBnb3QgJyVzJyIKK21zZ3N0ciAicmlzcG9zdGEgZGVsIHNlcnZlciBub24gdmFsaWRhOyByaWNldnV0byAnJXMnIgorCisjOiByZW1vdGUtY3VybC5jOjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZXBvc2l0b3J5ICclcycgbm90IGZvdW5kIgorbXNnc3RyICJyZXBvc2l0b3J5ICclcycgbm9uIHRyb3ZhdG8iCisKKyM6IHJlbW90ZS1jdXJsLmM6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIkF1dGhlbnRpY2F0aW9uIGZhaWxlZCBmb3IgJyVzJyIKK21zZ3N0ciAiQXV0ZW50aWNhemlvbmUgbm9uIHJpdXNjaXRhIHBlciAnJXMnIgorCisjOiByZW1vdGUtY3VybC5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyc6ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhY2NlZGVyZSBhICclcyc6ICVzIgorCisjOiByZW1vdGUtY3VybC5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWRpcmVjdGluZyB0byAlcyIKK21zZ3N0ciAicmVkaXJlemlvbmUgYSAlcyBpbiBjb3JzbyIKKworIzogcmVtb3RlLWN1cmwuYzo1OTMKK21zZ2lkICJzaG91bGRuJ3QgaGF2ZSBFT0Ygd2hlbiBub3QgZ2VudGxlIG9uIEVPRiIKK21zZ3N0ciAiIgorIm5vbiBkb3ZyZWJiZSBlc3NlcmNpIHVuIHBhY2NoZXR0byBmaW5lIGZpbGUgc2Ugbm9uIHNpIMOoIGFjY29tb2RhbnRpIGNvbiAiCisicXVlc3RpIHVsdGltaSIKKworIzogcmVtb3RlLWN1cmwuYzo2NzMKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHJwYyBwb3N0IGRhdGEgLSB0cnkgaW5jcmVhc2luZyBodHRwLnBvc3RCdWZmZXIiCittc2dzdHIgIiIKKyJpbXBvc3NpYmlsZSByaXRvcm5hcmUgYSB1biBwdW50byBwcmVjZWRlbnRlIGRlaSBkYXRpIFBPU1QgUlBDIC0gcHJvdmEgYWQgIgorImF1bWVudGFyZSBpbCB2YWxvcmUgZGkgaHR0cC5wb3N0QnVmZmVyIgorCisjOiByZW1vdGUtY3VybC5jOjczMworIywgYy1mb3JtYXQKK21zZ2lkICJSUEMgZmFpbGVkOyAlcyIKK21zZ3N0ciAiUlBDIG5vbiByaXVzY2l0YTsgJXMiCisKKyM6IHJlbW90ZS1jdXJsLmM6NzczCittc2dpZCAiY2Fubm90IGhhbmRsZSBwdXNoZXMgdGhpcyBiaWciCittc2dzdHIgImltcG9zc2liaWxlIGdlc3RpcmUgcHVzaCBjb3PDrCBncmFuZGkiCisKKyM6IHJlbW90ZS1jdXJsLmM6ODg4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZWZsYXRlIHJlcXVlc3Q7IHpsaWIgZGVmbGF0ZSBlcnJvciAlZCIKK21zZ3N0ciAiIgorImltcG9zc2liaWxlIGVzZWd1aXJlIGlsIGRlZmxhdGUgZGVsbGEgcmljaGllc3RhOyBlcnJvcmUgZGVmbGF0ZSB6bGliICVkIgorCisjOiByZW1vdGUtY3VybC5jOjg5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGVmbGF0ZSByZXF1ZXN0OyB6bGliIGVuZCBlcnJvciAlZCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgaWwgZGVmbGF0ZSBkZWxsYSByaWNoaWVzdGE7IGVycm9yZSBmaW5lIHpsaWIgJWQiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTAyMworbXNnaWQgImR1bWIgaHR0cCB0cmFuc3BvcnQgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiaWwgdHJhc3BvcnRvIGh0dHAgc3R1cGlkbyBub24gc3VwcG9ydGEgbGUgZnVuemlvbmFsaXTDoCBzaGFsbG93IgorCisjOiByZW1vdGUtY3VybC5jOjEwMzcKK21zZ2lkICJmZXRjaCBmYWlsZWQuIgorbXNnc3RyICJyZWN1cGVybyBub24gcml1c2NpdG8uIgorCisjOiByZW1vdGUtY3VybC5jOjEwODUKK21zZ2lkICJjYW5ub3QgZmV0Y2ggYnkgc2hhMSBvdmVyIHNtYXJ0IGh0dHAiCittc2dzdHIgIiIKKyJpbXBvc3NpYmlsZSByZWN1cGVyYXJlIGkgZGF0aSBpbiBiYXNlIGFsbG8gU0hBMSBjb24gaWwgdHJhc3BvcnRvIEhUVFAgIgorImludGVsbGlnZW50ZSIKKworIzogcmVtb3RlLWN1cmwuYzoxMTI5IHJlbW90ZS1jdXJsLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICJwcm90b2NvbCBlcnJvcjogZXhwZWN0ZWQgc2hhL3JlZiwgZ290ICclcyciCittc2dzdHIgImVycm9yZSBwcm90b2NvbGxvOiBhdHRlc28gU0hBL3JpZmVyaW1lbnRvLCByaWNldnV0byAnJXMnIgorCisjOiByZW1vdGUtY3VybC5jOjExNDcgcmVtb3RlLWN1cmwuYzoxMjYxCisjLCBjLWZvcm1hdAorbXNnaWQgImh0dHAgdHJhbnNwb3J0IGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgImlsIHRyYXNwb3J0byBIVFRQIG5vbiBzdXBwb3J0YSAlcyIKKworIzogcmVtb3RlLWN1cmwuYzoxMTgzCittc2dpZCAiZ2l0LWh0dHAtcHVzaCBmYWlsZWQiCittc2dzdHIgImdpdC1odHRwLXB1c2ggbm9uIHJpdXNjaXRvIgorCisjOiByZW1vdGUtY3VybC5jOjEzNjcKK21zZ2lkICJyZW1vdGUtY3VybDogdXNhZ2U6IGdpdCByZW1vdGUtY3VybCA8cmVtb3RlPiBbPHVybD5dIgorbXNnc3RyICJyZW1vdGUtY3VybDogdXNvOiBnaXQgcmVtb3RlLWN1cmwgPHJlbW90bz4gWzxVUkw+XSIKKworIzogcmVtb3RlLWN1cmwuYzoxMzk5Cittc2dpZCAicmVtb3RlLWN1cmw6IGVycm9yIHJlYWRpbmcgY29tbWFuZCBzdHJlYW0gZnJvbSBnaXQiCittc2dzdHIgInJlbW90ZS1jdXJsOiBlcnJvcmUgZHVyYW50ZSBsYSBsZXR0dXJhIGRlbCBmbHVzc28gZGVpIGNvbWFuZGkgZGEgR2l0IgorCisjOiByZW1vdGUtY3VybC5jOjE0MDYKK21zZ2lkICJyZW1vdGUtY3VybDogZmV0Y2ggYXR0ZW1wdGVkIHdpdGhvdXQgYSBsb2NhbCByZXBvIgorbXNnc3RyICJyZW1vdGUtY3VybDogdGVudGF0byB1biBmZXRjaCBzZW56YSB1biByZXBvc2l0b3J5IGxvY2FsZSIKKworIzogcmVtb3RlLWN1cmwuYzoxNDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW90ZS1jdXJsOiB1bmtub3duIGNvbW1hbmQgJyVzJyBmcm9tIGdpdCIKK21zZ3N0ciAicmVtb3RlLWN1cmw6IHJpY2V2dXRvIGNvbWFuZG8gc2Nvbm9zY2l1dG8gJyVzJyBkYSBHaXQiCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oOjg1Cittc2dpZCAiYXJncyIKK21zZ3N0ciAiYXJnb21lbnRpIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaDo4NgorbXNnaWQgIm9iamVjdCBmaWx0ZXJpbmciCittc2dzdHIgImZpbHRyYWdnaW8gb2dnZXR0aSIKKworIzogcGFyc2Utb3B0aW9ucy5oOjE4MworbXNnaWQgImV4cGlyeS1kYXRlIgorbXNnc3RyICJkYXRhLXNjYWRlbnphIgorCisjOiBwYXJzZS1vcHRpb25zLmg6MTk3CiBtc2dpZCAibm8tb3AgKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpIgotbXNnc3RyICIiCittc2dzdHIgIm5vLW9wIChyZXRyb2NvbXBhdGliaWxpdMOgKSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjIyOAorIzogcGFyc2Utb3B0aW9ucy5oOjMwOQogbXNnaWQgImJlIG1vcmUgdmVyYm9zZSIKLW1zZ3N0ciAicGnDuSBkZXR0YWdsaWF0byIKK21zZ3N0ciAidmlzdWFsaXp6YSBwacO5IGRldHRhZ2xpIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjMwCisjOiBwYXJzZS1vcHRpb25zLmg6MzExCiBtc2dpZCAiYmUgbW9yZSBxdWlldCIKLW1zZ3N0ciAibWVubyBkZXR0YWdsaWF0byIKK21zZ3N0ciAidmlzdWFsaXp6YSBtZW5vIGRldHRhZ2xpIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjM2CisjOiBwYXJzZS1vcHRpb25zLmg6MzE3CiBtc2dpZCAidXNlIDxuPiBkaWdpdHMgdG8gZGlzcGxheSBTSEEtMXMiCi1tc2dzdHIgInVzYXJlIDxuPiBjaWZyZSBwZXIgbW9zdHJhcmUgZ2xpIGhhc2ggU0hBLTEiCittc2dzdHIgInVzYSA8bj4gY2lmcmUgcGVyIG1vc3RyYXJlIGdsaSBoYXNoIFNIQS0xIgogCi0jOiBjb21tb24tY21kcy5oOjgKKyM6IHBhcnNlLW9wdGlvbnMuaDozMzYKK21zZ2lkICJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIgorbXNnc3RyICJjb21lIHJpbXVvdmVyZSBnbGkgc3BhemkgZSBpICNjb21tZW50aSBkYWwgbWVzc2FnZ2lvIgorCisjOiBwYXJzZS1vcHRpb25zLmg6MzM3Cittc2dpZCAicmVhZCBwYXRoc3BlYyBmcm9tIGZpbGUiCittc2dzdHIgImxlZ2dpIGdsaSBzcGVjaWZpY2F0b3JpIHBlcmNvcnNvIGRhIHVuIGZpbGUiCisKKyM6IHBhcnNlLW9wdGlvbnMuaDozMzgKK21zZ2lkICIiCisid2l0aCAtLXBhdGhzcGVjLWZyb20tZmlsZSwgcGF0aHNwZWMgZWxlbWVudHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgIiIKKyJjb24gLS1wYXRoc3BlYy1mcm9tLWZpbGUgZ2xpIGVsZW1lbnRpIHNwZWNpZmljYXRvcmkgcGVyY29yc28gc29ubyBzZXBhcmF0aSBkYSIKKyIgdW4gY2FyYXR0ZXJlIE5VTCIKKworIzogcmVmLWZpbHRlci5oOjEwMQorbXNnaWQgImtleSIKK21zZ3N0ciAiY2hpYXZlIgorCisjOiByZWYtZmlsdGVyLmg6MTAxCittc2dpZCAiZmllbGQgbmFtZSB0byBzb3J0IG9uIgorbXNnc3RyICJub21lIGNhbXBvIGluIGJhc2UgYSBjdWkgb3JkaW5hcmUiCisKKyM6IHJlcmVyZS5oOjQ0Cittc2dpZCAidXBkYXRlIHRoZSBpbmRleCB3aXRoIHJldXNlZCBjb25mbGljdCByZXNvbHV0aW9uIGlmIHBvc3NpYmxlIgorbXNnc3RyICIiCisiYWdnaW9ybmEgbCdpbmRpY2UgY29uIGxhIHRlY25pY2EgZGkgcmlzb2x1emlvbmUgY29uZmxpdHRpIHJpdXRpbGl6emF0YSBzZSAiCisicG9zc2liaWxlIgorCisjOiB3dC1zdGF0dXMuaDo2NworbXNnaWQgIkhFQUQgZGV0YWNoZWQgYXQgIgorbXNnc3RyICJIRUFEIHNjb2xsZWdhdG8gc3UgIgorCisjOiB3dC1zdGF0dXMuaDo2OAorbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCittc2dzdHIgIkhFQUQgc2NvbGxlZ2F0byBkYSAiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjUwCiBtc2dpZCAiQWRkIGZpbGUgY29udGVudHMgdG8gdGhlIGluZGV4IgotbXNnc3RyICJBZ2dpdW5nZSBpbCBjb250ZW51dG8gZGVsIGZpbGUgYSBpbmRleCIKK21zZ3N0ciAiQWdnaXVuZ2UgaSBjb250ZW51dGkgZGVsIGZpbGUgYWxsJ2luZGljZSIKIAotIzogY29tbW9uLWNtZHMuaDo5Ci1tc2dpZCAiRmluZCBieSBiaW5hcnkgc2VhcmNoIHRoZSBjaGFuZ2UgdGhhdCBpbnRyb2R1Y2VkIGEgYnVnIgotbXNnc3RyICJDZXJjYSBtZWRpYW50ZSByaWNlcmNhIGJpbmFyaWEgbGEgbW9kaWZpY2EgY2hlIGhhIGludHJvZG90dG8gdW4gYnVnIgorIzogY29tbWFuZC1saXN0Lmg6NTEKK21zZ2lkICJBcHBseSBhIHNlcmllcyBvZiBwYXRjaGVzIGZyb20gYSBtYWlsYm94IgorbXNnc3RyICJBcHBsaWNhIHVuYSBzZXJpZSBkaSBwYXRjaCBkYSB1bmEgY2FzZWxsYSBkaSBwb3N0YSIKIAotIzogY29tbW9uLWNtZHMuaDoxMAorIzogY29tbWFuZC1saXN0Lmg6NTIKK21zZ2lkICJBbm5vdGF0ZSBmaWxlIGxpbmVzIHdpdGggY29tbWl0IGluZm9ybWF0aW9uIgorbXNnc3RyICJBbm5vdGEgbGUgcmlnaGUgZGVpIGZpbGUgY29uIGxlIGluZm9ybWF6aW9uaSBzdWkgY29tbWl0IgorCisjOiBjb21tYW5kLWxpc3QuaDo1MworbXNnaWQgIkFwcGx5IGEgcGF0Y2ggdG8gZmlsZXMgYW5kL29yIHRvIHRoZSBpbmRleCIKK21zZ3N0ciAiQXBwbGljYSB1bmEgcGF0Y2ggYWkgZmlsZSBlL28gYWxsJ2luZGljZSIKKworIzogY29tbWFuZC1saXN0Lmg6NTQKK21zZ2lkICJJbXBvcnQgYSBHTlUgQXJjaCByZXBvc2l0b3J5IGludG8gR2l0IgorbXNnc3RyICJJbXBvcnRhIHVuIHJlcG9zaXRvcnkgR05VIEFyY2ggaW4gR2l0IgorCisjOiBjb21tYW5kLWxpc3QuaDo1NQorbXNnaWQgIkNyZWF0ZSBhbiBhcmNoaXZlIG9mIGZpbGVzIGZyb20gYSBuYW1lZCB0cmVlIgorbXNnc3RyICJDcmVhIHVuIGFyY2hpdmlvIGRpIGZpbGUgZGEgdW4gYWxiZXJvIGNvbiBub21lIgorCisjOiBjb21tYW5kLWxpc3QuaDo1NgorbXNnaWQgIlVzZSBiaW5hcnkgc2VhcmNoIHRvIGZpbmQgdGhlIGNvbW1pdCB0aGF0IGludHJvZHVjZWQgYSBidWciCittc2dzdHIgIlVzYSBsYSByaWNlcmNhIGJpbmFyaWEgcGVyIHRyb3ZhcmUgaWwgY29tbWl0IGNoZSBoYSBpbnRyb2RvdHRvIHVuIGJ1ZyIKKworIzogY29tbWFuZC1saXN0Lmg6NTcKK21zZ2lkICJTaG93IHdoYXQgcmV2aXNpb24gYW5kIGF1dGhvciBsYXN0IG1vZGlmaWVkIGVhY2ggbGluZSBvZiBhIGZpbGUiCittc2dzdHIgIiIKKyJWaXN1YWxpenphIHF1YWxpIHJldmlzaW9uZSBlIGF1dG9yZSBoYW5ubyBtb2RpZmljYXRvIG9nbmkgc2luZ29sYSByaWdhIGRpIHVuICIKKyJmaWxlIHBlciB1bHRpbWkiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjU4CiBtc2dpZCAiTGlzdCwgY3JlYXRlLCBvciBkZWxldGUgYnJhbmNoZXMiCiBtc2dzdHIgIkVsZW5jYSwgY3JlYSBvIGVsaW1pbmEgYnJhbmNoIgogCi0jOiBjb21tb24tY21kcy5oOjExCi1tc2dpZCAiQ2hlY2tvdXQgYSBicmFuY2ggb3IgcGF0aHMgdG8gdGhlIHdvcmtpbmcgdHJlZSIKLW1zZ3N0ciAiIgorIzogY29tbWFuZC1saXN0Lmg6NTkKK21zZ2lkICJNb3ZlIG9iamVjdHMgYW5kIHJlZnMgYnkgYXJjaGl2ZSIKK21zZ3N0ciAiU3Bvc3RhIG9nZ2V0dGkgZSByaWZlcmltZW50aSBpbiBiYXNlIGEgdW4gYXJjaGl2aW8iCiAKLSM6IGNvbW1vbi1jbWRzLmg6MTIKKyM6IGNvbW1hbmQtbGlzdC5oOjYwCittc2dpZCAiUHJvdmlkZSBjb250ZW50IG9yIHR5cGUgYW5kIHNpemUgaW5mb3JtYXRpb24gZm9yIHJlcG9zaXRvcnkgb2JqZWN0cyIKK21zZ3N0ciAiIgorIkZvcm5pc2NpIGluZm9ybWF6aW9uaSBzdWwgY29udGVudXRvIG8gc3VsIHRpcG8gZSBzdWxsZSBkaW1lbnNpb25pIHBlciBnbGkgIgorIm9nZ2V0dGkgZGkgdW4gcmVwb3NpdG9yeSIKKworIzogY29tbWFuZC1saXN0Lmg6NjEKK21zZ2lkICJEaXNwbGF5IGdpdGF0dHJpYnV0ZXMgaW5mb3JtYXRpb24iCittc2dzdHIgIlZpc3VhbGl6emEgbGUgaW5mb3JtYXppb25pIHN1Z2xpIGF0dHJpYnV0aSBHaXQiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjYyCittc2dpZCAiRGVidWcgZ2l0aWdub3JlIC8gZXhjbHVkZSBmaWxlcyIKK21zZ3N0ciAiRXNlZ3VpIGlsIGRlYnVnIGRlaSBmaWxlIGdpdGlnbm9yZS9lc2NsdWRpIGZpbGUiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjYzCittc2dpZCAiU2hvdyBjYW5vbmljYWwgbmFtZXMgYW5kIGVtYWlsIGFkZHJlc3NlcyBvZiBjb250YWN0cyIKK21zZ3N0ciAiVmlzdWFsaXp6YSBpIG5vbWkgY2Fub25pY2kgZSBnbGkgaW5kaXJpenppIGUtbWFpbCBkZWkgY29udGF0dGkiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjY0Cittc2dpZCAiU3dpdGNoIGJyYW5jaGVzIG9yIHJlc3RvcmUgd29ya2luZyB0cmVlIGZpbGVzIgorbXNnc3RyICIiCisiUGFzc2EgZGEgdW4gYnJhbmNoIGEgdW4gYWx0cm8gbyByaXByaXN0aW5hIGkgZmlsZSBuZWxsJ2FsYmVybyBkaSBsYXZvcm8iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjY1Cittc2dpZCAiQ29weSBmaWxlcyBmcm9tIHRoZSBpbmRleCB0byB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICJDb3BpYSBkZWkgZmlsZSBkYWxsJ2luZGljZSBhbGwnYWxiZXJvIGRpIGxhdm9ybyIKKworIzogY29tbWFuZC1saXN0Lmg6NjYKK21zZ2lkICJFbnN1cmVzIHRoYXQgYSByZWZlcmVuY2UgbmFtZSBpcyB3ZWxsIGZvcm1lZCIKK21zZ3N0ciAiU2kgYXNzaWN1cmEgY2hlIHVuIG5vbWUgcmlmZXJpbWVudG8gc2lhIGJlbiBmb3JtYXRvIgorCisjOiBjb21tYW5kLWxpc3QuaDo2NworbXNnaWQgIkZpbmQgY29tbWl0cyB5ZXQgdG8gYmUgYXBwbGllZCB0byB1cHN0cmVhbSIKK21zZ3N0ciAiVHJvdmEgY29tbWl0IGNoZSBkZXZvbm8gZXNzZXJlIGFuY29yYSBhcHBsaWNhdGkgdXBzdHJlYW0iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjY4Cittc2dpZCAiQXBwbHkgdGhlIGNoYW5nZXMgaW50cm9kdWNlZCBieSBzb21lIGV4aXN0aW5nIGNvbW1pdHMiCittc2dzdHIgIkFwcGxpY2EgbGUgbW9kaWZpY2hlIGludHJvZG90dGUgZGEgYWxjdW5pIGNvbW1pdCBlc2lzdGVudGkiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjY5Cittc2dpZCAiR3JhcGhpY2FsIGFsdGVybmF0aXZlIHRvIGdpdC1jb21taXQiCittc2dzdHIgIkFsdGVybmF0aXZhIGdyYWZpY2EgYSBnaXQtY29tbWl0IgorCisjOiBjb21tYW5kLWxpc3QuaDo3MAorbXNnaWQgIlJlbW92ZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICJSaW11b3ZlIGkgZmlsZSBub24gdHJhY2NpYXRpIGRhbGwnYWxiZXJvIGRpIGxhdm9ybyIKKworIzogY29tbWFuZC1saXN0Lmg6NzEKIG1zZ2lkICJDbG9uZSBhIHJlcG9zaXRvcnkgaW50byBhIG5ldyBkaXJlY3RvcnkiCiBtc2dzdHIgIkNsb25hIHVuIHJlcG9zaXRvcnkgaW4gdW5hIG51b3ZhIGRpcmVjdG9yeSIKIAotIzogY29tbW9uLWNtZHMuaDoxMwotbXNnaWQgIlJlY29yZCBjaGFuZ2VzIHRvIHRoZSByZXBvc2l0b3J5IgotbXNnc3RyICJSZWdpc3RyYSBtb2RpZmljaGUgbmVsIHJlcG9zaXRvcnkiCisjOiBjb21tYW5kLWxpc3QuaDo3MgorbXNnaWQgIkRpc3BsYXkgZGF0YSBpbiBjb2x1bW5zIgorbXNnc3RyICJWaXN1YWxpenphIGkgZGF0aSBpbiBjb2xvbm5lIgogCi0jOiBjb21tb24tY21kcy5oOjE0CisjOiBjb21tYW5kLWxpc3QuaDo3MworbXNnaWQgIlJlY29yZCBjaGFuZ2VzIHRvIHRoZSByZXBvc2l0b3J5IgorbXNnc3RyICJSZWdpc3RyYSBtb2RpZmljaGUgYWwgcmVwb3NpdG9yeSIKKworIzogY29tbWFuZC1saXN0Lmg6NzQKK21zZ2lkICJXcml0ZSBhbmQgdmVyaWZ5IEdpdCBjb21taXQtZ3JhcGggZmlsZXMiCittc2dzdHIgIlNjcml2ZSBlIHZlcmlmaWNhIGkgZmlsZSBncmFmbyBkZWkgY29tbWl0IGRpIEdpdCIKKworIzogY29tbWFuZC1saXN0Lmg6NzUKK21zZ2lkICJDcmVhdGUgYSBuZXcgY29tbWl0IG9iamVjdCIKK21zZ3N0ciAiQ3JlYSB1biBudW92byBvZ2dldHRvIGNvbW1pdCIKKworIzogY29tbWFuZC1saXN0Lmg6NzYKK21zZ2lkICJHZXQgYW5kIHNldCByZXBvc2l0b3J5IG9yIGdsb2JhbCBvcHRpb25zIgorbXNnc3RyICJPdHRpZW5lIGUgaW1wb3N0YSBsZSBvcHppb25pIGEgbGl2ZWxsbyBkaSByZXBvc2l0b3J5IG8gZ2xvYmFsaSIKKworIzogY29tbWFuZC1saXN0Lmg6NzcKK21zZ2lkICJDb3VudCB1bnBhY2tlZCBudW1iZXIgb2Ygb2JqZWN0cyBhbmQgdGhlaXIgZGlzayBjb25zdW1wdGlvbiIKK21zZ3N0ciAiIgorIkNvbnRhIGlsIG51bWVybyBkaSBvZ2dldHRpIG5vbiBpbiB1biBwYWNrIGUgbGEgbG9ybyBvY2N1cGF6aW9uZSBkaSBzcGF6aW8gc3UgIgorImRpc2NvIgorCisjOiBjb21tYW5kLWxpc3QuaDo3OAorbXNnaWQgIlJldHJpZXZlIGFuZCBzdG9yZSB1c2VyIGNyZWRlbnRpYWxzIgorbXNnc3RyICJSZWN1cGVyYSBlIHNhbHZhIGNyZWRlbnppYWxpIHV0ZW50ZSIKKworIzogY29tbWFuZC1saXN0Lmg6NzkKK21zZ2lkICJIZWxwZXIgdG8gdGVtcG9yYXJpbHkgc3RvcmUgcGFzc3dvcmRzIGluIG1lbW9yeSIKK21zZ3N0ciAiSGVscGVyIHBlciBzYWx2YXJlIHRlbXBvcmFuZWFtZW50ZSBwYXNzd29yZCBpbiBtZW1vcmlhIgorCisjOiBjb21tYW5kLWxpc3QuaDo4MAorbXNnaWQgIkhlbHBlciB0byBzdG9yZSBjcmVkZW50aWFscyBvbiBkaXNrIgorbXNnc3RyICJIZWxwZXIgcGVyIHNhbHZhcmUgY3JlZGVuemlhbGkgc3UgZGlzY28iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjgxCittc2dpZCAiRXhwb3J0IGEgc2luZ2xlIGNvbW1pdCB0byBhIENWUyBjaGVja291dCIKK21zZ3N0ciAiRXNwb3J0YSB1biBzaW5nb2xvIGNvbW1pdCBpbiB1biBjaGVja291dCBDVlMiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjgyCittc2dpZCAiU2FsdmFnZSB5b3VyIGRhdGEgb3V0IG9mIGFub3RoZXIgU0NNIHBlb3BsZSBsb3ZlIHRvIGhhdGUiCittc2dzdHIgIiIKKyJSZWN1cGVyYSBpIGRhdGkgZGEgdW4gc2lzdGVtYSBkaSBjb250cm9sbG8gZGkgdmVyc2lvbmUgY2hlIGxlIHBlcnNvbmUgIgorImFkb3Jhbm8gb2RpYXJlIgorCisjOiBjb21tYW5kLWxpc3QuaDo4MworbXNnaWQgIkEgQ1ZTIHNlcnZlciBlbXVsYXRvciBmb3IgR2l0IgorbXNnc3RyICJVbiBlbXVsYXRvcmUgZGkgc2VydmVyIENWUyBwZXIgR2l0IgorCisjOiBjb21tYW5kLWxpc3QuaDo4NAorbXNnaWQgIkEgcmVhbGx5IHNpbXBsZSBzZXJ2ZXIgZm9yIEdpdCByZXBvc2l0b3JpZXMiCittc2dzdHIgIlVuIHNlcnZlciB2ZXJhbWVudGUgc2VtcGxpY2UgcGVyIHJlcG9zaXRvcnkgR2l0IgorCisjOiBjb21tYW5kLWxpc3QuaDo4NQorbXNnaWQgIkdpdmUgYW4gb2JqZWN0IGEgaHVtYW4gcmVhZGFibGUgbmFtZSBiYXNlZCBvbiBhbiBhdmFpbGFibGUgcmVmIgorbXNnc3RyICIiCisiQXR0cmlidWlzY2UgdW4gbm9tZSBsZWdnaWJpbGUgYSB1biBvZ2dldHRvIGJhc2FuZG9zaSBzdSB1biByaWZlcmltZW50byAiCisiZGlzcG9uaWJpbGUiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjg2CiBtc2dpZCAiU2hvdyBjaGFuZ2VzIGJldHdlZW4gY29tbWl0cywgY29tbWl0IGFuZCB3b3JraW5nIHRyZWUsIGV0YyIKIG1zZ3N0ciAiIgorIlZpc3VhbGl6emEgbGUgbW9kaWZpY2hlIGZyYSBjb21taXQsIHVuIGNvbW1pdCBlIGwnYWxiZXJvIGRpIGxhdm9ybywgZWNjLiIKIAotIzogY29tbW9uLWNtZHMuaDoxNQorIzogY29tbWFuZC1saXN0Lmg6ODcKK21zZ2lkICJDb21wYXJlcyBmaWxlcyBpbiB0aGUgd29ya2luZyB0cmVlIGFuZCB0aGUgaW5kZXgiCittc2dzdHIgIkNvbmZyb250YSBmaWxlIG5lbGwnYWxiZXJvIGRpIGxhdm9ybyBlIG5lbGwnaW5kaWNlIgorCisjOiBjb21tYW5kLWxpc3QuaDo4OAorbXNnaWQgIkNvbXBhcmUgYSB0cmVlIHRvIHRoZSB3b3JraW5nIHRyZWUgb3IgaW5kZXgiCittc2dzdHIgIkNvbmZyb250YSB1biBhbGJlcm8gY29uIGwnYWxiZXJvIGRpIGxhdm9ybyBvIGwnaW5kaWNlIgorCisjOiBjb21tYW5kLWxpc3QuaDo4OQorbXNnaWQgIkNvbXBhcmVzIHRoZSBjb250ZW50IGFuZCBtb2RlIG9mIGJsb2JzIGZvdW5kIHZpYSB0d28gdHJlZSBvYmplY3RzIgorbXNnc3RyICIiCisiQ29uZnJvbnRhIGlsIGNvbnRlbnV0byBlIGkgbW9kZSBkZWkgYmxvYiB0cm92YXRpIHRyYW1pdGUgZHVlIG9nZ2V0dGkgYWxiZXJvIgorCisjOiBjb21tYW5kLWxpc3QuaDo5MAorbXNnaWQgIlNob3cgY2hhbmdlcyB1c2luZyBjb21tb24gZGlmZiB0b29scyIKK21zZ3N0ciAiIgorIlZpc3VhbGl6emEgbGUgbW9kaWZpY2hlIHVzYW5kbyB0b29sIGNvbXVuaSBwZXIgbGEgdmlzdWFsaXp6YXppb25lIGRlaSBkaWZmIgorCisjOiBjb21tYW5kLWxpc3QuaDo5MQorbXNnaWQgIkdpdCBkYXRhIGV4cG9ydGVyIgorbXNnc3RyICJFc3BvcnRhdG9yZSBkaSBkYXRpIEdpdCIKKworIzogY29tbWFuZC1saXN0Lmg6OTIKK21zZ2lkICJCYWNrZW5kIGZvciBmYXN0IEdpdCBkYXRhIGltcG9ydGVycyIKK21zZ3N0ciAiQmFja2VuZCBwZXIgaW1wb3J0YXRvcmkgZGkgZGF0aSBHaXQgdmVsb2NpIgorCisjOiBjb21tYW5kLWxpc3QuaDo5MwogbXNnaWQgIkRvd25sb2FkIG9iamVjdHMgYW5kIHJlZnMgZnJvbSBhbm90aGVyIHJlcG9zaXRvcnkiCi1tc2dzdHIgIlNjYXJpY2Egb2dnZXR0aSBlIHJlZiBkYSB1biBhbHRybyByZXBvc2l0b3J5IgorbXNnc3RyICJTY2FyaWNhIG9nZ2V0dGkgZSByaWZlcmltZW50aSBkYSB1biBhbHRybyByZXBvc2l0b3J5IgogCi0jOiBjb21tb24tY21kcy5oOjE2CisjOiBjb21tYW5kLWxpc3QuaDo5NAorbXNnaWQgIlJlY2VpdmUgbWlzc2luZyBvYmplY3RzIGZyb20gYW5vdGhlciByZXBvc2l0b3J5IgorbXNnc3RyICJSaWNldmUgb2dnZXR0aSBtYW5jYW50aSBkYSB1biBhbHRybyByZXBvc2l0b3J5IgorCisjOiBjb21tYW5kLWxpc3QuaDo5NQorbXNnaWQgIlJld3JpdGUgYnJhbmNoZXMiCittc2dzdHIgIlJpc2NyaXZlIGJyYW5jaCIKKworIzogY29tbWFuZC1saXN0Lmg6OTYKK21zZ2lkICJQcm9kdWNlIGEgbWVyZ2UgY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgIkdlbmVyYSB1biBtZXNzYWdnaW8gZGkgY29tbWl0IGRlbCBtZXJnZSIKKworIzogY29tbWFuZC1saXN0Lmg6OTcKK21zZ2lkICJPdXRwdXQgaW5mb3JtYXRpb24gb24gZWFjaCByZWYiCittc2dzdHIgIlZpc3VhbGl6emEgaW4gb3V0cHV0IGxlIGluZm9ybWF6aW9uaSBzdSBvZ25pIHJpZmVyaW1lbnRvIgorCisjOiBjb21tYW5kLWxpc3QuaDo5OAorbXNnaWQgIlByZXBhcmUgcGF0Y2hlcyBmb3IgZS1tYWlsIHN1Ym1pc3Npb24iCittc2dzdHIgIlByZXBhcmEgcGF0Y2ggcGVyIGlsIGxvcm8gaW52aW8gdHJhbWl0ZSBlLW1haWwiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjk5Cittc2dpZCAiVmVyaWZpZXMgdGhlIGNvbm5lY3Rpdml0eSBhbmQgdmFsaWRpdHkgb2YgdGhlIG9iamVjdHMgaW4gdGhlIGRhdGFiYXNlIgorbXNnc3RyICJWZXJpZmljYSBsYSBjb25uZXNzaW9uZSBlIGxhIHZhbGlkaXTDoCBkZWdsaSBvZ2dldHRpIG5lbCBkYXRhYmFzZSIKKworIzogY29tbWFuZC1saXN0Lmg6MTAwCittc2dpZCAiQ2xlYW51cCB1bm5lY2Vzc2FyeSBmaWxlcyBhbmQgb3B0aW1pemUgdGhlIGxvY2FsIHJlcG9zaXRvcnkiCittc2dzdHIgIlJpcHVsaXNjZSBmaWxlIG5vbiBuZWNlc3NhcmkgZSBvdHRpbWl6emEgaWwgcmVwb3NpdG9yeSBsb2NhbGUiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEwMQorbXNnaWQgIkV4dHJhY3QgY29tbWl0IElEIGZyb20gYW4gYXJjaGl2ZSBjcmVhdGVkIHVzaW5nIGdpdC1hcmNoaXZlIgorbXNnc3RyICJFc3RyYWUgbCdJRCBkZWwgY29tbWl0IGRhIHVuIGFyY2hpdmlvIGNyZWF0byB1c2FuZG8gZ2l0LWFyY2hpdmUiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEwMgogbXNnaWQgIlByaW50IGxpbmVzIG1hdGNoaW5nIGEgcGF0dGVybiIKLW1zZ3N0ciAiU3RhbXBhIGxlIHJpZ2hlIGNvcnJpc3BvbmRlbnRpIGFkIHVuIG1vZGVsbG8iCittc2dzdHIgIlN0YW1wYSBsZSByaWdoZSBjb3JyaXNwb25kZW50aSBhIHVuJ2VzcHJlc3Npb25lIHJlZ29sYXJlIgogCi0jOiBjb21tb24tY21kcy5oOjE3Ci1tc2dpZCAiQ3JlYXRlIGFuIGVtcHR5IGdpdCByZXBvc2l0b3J5IG9yIHJlaW5pdGlhbGl6ZSBhbiBleGlzdGluZyBvbmUiCi1tc2dzdHIgIkNyZWEgdW4gcmVwb3NpdG9yeSBnaXQgdnVvdG8gbyByZWluaXppYWxpenphIHVubyBlc2lzdGVudGUiCisjOiBjb21tYW5kLWxpc3QuaDoxMDMKK21zZ2lkICJBIHBvcnRhYmxlIGdyYXBoaWNhbCBpbnRlcmZhY2UgdG8gR2l0IgorbXNnc3RyICJVbidpbnRlcmZhY2NpYSBncmFmaWNhIHBvcnRhYmlsZSBwZXIgR2l0IgogCi0jOiBjb21tb24tY21kcy5oOjE4CisjOiBjb21tYW5kLWxpc3QuaDoxMDQKK21zZ2lkICJDb21wdXRlIG9iamVjdCBJRCBhbmQgb3B0aW9uYWxseSBjcmVhdGVzIGEgYmxvYiBmcm9tIGEgZmlsZSIKK21zZ3N0ciAiQ2FsY29sYSBsJ0lEIG9nZ2V0dG8gZSBjcmVhIGZhY29sdGF0aXZhbWVudGUgdW4gYmxvYiBkYSB1biBmaWxlIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMDUKK21zZ2lkICJEaXNwbGF5IGhlbHAgaW5mb3JtYXRpb24gYWJvdXQgR2l0IgorbXNnc3RyICJWaXN1YWxpenphIHVuYSBndWlkYSBhIEdpdCIKKworIzogY29tbWFuZC1saXN0Lmg6MTA2Cittc2dpZCAiU2VydmVyIHNpZGUgaW1wbGVtZW50YXRpb24gb2YgR2l0IG92ZXIgSFRUUCIKK21zZ3N0ciAiSW1wbGVtZW50YXppb25lIGxhdG8gc2VydmVyIGRpIEdpdCBzdSBIVFRQIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMDcKK21zZ2lkICJEb3dubG9hZCBmcm9tIGEgcmVtb3RlIEdpdCByZXBvc2l0b3J5IHZpYSBIVFRQIgorbXNnc3RyICJTY2FyaWNhIGRhdGkgZGEgdW4gcmVwb3NpdG9yeSBHaXQgcmVtb3RvIHRyYW1pdGUgSFRUUCIKKworIzogY29tbWFuZC1saXN0Lmg6MTA4Cittc2dpZCAiUHVzaCBvYmplY3RzIG92ZXIgSFRUUC9EQVYgdG8gYW5vdGhlciByZXBvc2l0b3J5IgorbXNnc3RyICJFc2VndWUgaWwgcHVzaCBkaSBvZ2dldHRpIHN1IHVuIGFsdHJvIHJlcG9zaXRvcnkgdHJhbWl0ZSBIVFRQL0RBViIKKworIzogY29tbWFuZC1saXN0Lmg6MTA5Cittc2dpZCAiU2VuZCBhIGNvbGxlY3Rpb24gb2YgcGF0Y2hlcyBmcm9tIHN0ZGluIHRvIGFuIElNQVAgZm9sZGVyIgorbXNnc3RyICJJbnZpYSB1biBpbnNpZW1lIGRpIHBhdGNoIGRhbGxvIHN0YW5kYXJkIGlucHV0IGEgdW5hIGNhcnRlbGxhIElNQVAiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjExMAorbXNnaWQgIkJ1aWxkIHBhY2sgaW5kZXggZmlsZSBmb3IgYW4gZXhpc3RpbmcgcGFja2VkIGFyY2hpdmUiCittc2dzdHIgIkdlbmVyYSBpbCBmaWxlIGluZGljZSBwYWNrIHBlciB1biBhcmNoaXZpbyBlc2lzdGVudGUgc290dG9wb3N0byBhIHBhY2siCisKKyM6IGNvbW1hbmQtbGlzdC5oOjExMQorbXNnaWQgIkNyZWF0ZSBhbiBlbXB0eSBHaXQgcmVwb3NpdG9yeSBvciByZWluaXRpYWxpemUgYW4gZXhpc3Rpbmcgb25lIgorbXNnc3RyICJDcmVhIHVuIHJlcG9zaXRvcnkgR2l0IHZ1b3RvIG8gbmUgcmVpbml6aWFsaXp6YSB1bm8gZXNpc3RlbnRlIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMTIKK21zZ2lkICJJbnN0YW50bHkgYnJvd3NlIHlvdXIgd29ya2luZyByZXBvc2l0b3J5IGluIGdpdHdlYiIKK21zZ3N0ciAiU2ZvZ2xpYSBpc3RhbnRhbmVhbWVudGUgaWwgdHVvIHJlcG9zaXRvcnkgZGkgbGF2b3JvIHN1IGdpdHdlYiIKKworIzogY29tbWFuZC1saXN0Lmg6MTEzCittc2dpZCAiQWRkIG9yIHBhcnNlIHN0cnVjdHVyZWQgaW5mb3JtYXRpb24gaW4gY29tbWl0IG1lc3NhZ2VzIgorbXNnc3RyICJBZ2dpdW5nZSBvIGFuYWxpenphIGluZm9ybWF6aW9uaSBzdHJ1dHR1cmF0ZSBuZWkgbWVzc2FnZ2kgZGkgY29tbWl0IgorCisjOiBjb21tYW5kLWxpc3QuaDoxMTQKK21zZ2lkICJUaGUgR2l0IHJlcG9zaXRvcnkgYnJvd3NlciIKK21zZ3N0ciAiSWwgYnJvd3NlciBwZXIgaSByZXBvc2l0b3J5IEdpdCIKKworIzogY29tbWFuZC1saXN0Lmg6MTE1CiBtc2dpZCAiU2hvdyBjb21taXQgbG9ncyIKLW1zZ3N0ciAiTW9zdHJhIGxvZyBkZWwgY29tbWl0IgorbXNnc3RyICJWaXN1YWxpenphIGkgbG9nIGRlaSBjb21taXQiCiAKLSM6IGNvbW1vbi1jbWRzLmg6MTkKKyM6IGNvbW1hbmQtbGlzdC5oOjExNgorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gYWJvdXQgZmlsZXMgaW4gdGhlIGluZGV4IGFuZCB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICJWaXN1YWxpenphIGluZm9ybWF6aW9uaSBzdWkgZmlsZSBuZWxsJ2luZGljZSBlIG5lbGwnYWxiZXJvIGRpIGxhdm9ybyIKKworIzogY29tbWFuZC1saXN0Lmg6MTE3Cittc2dpZCAiTGlzdCByZWZlcmVuY2VzIGluIGEgcmVtb3RlIHJlcG9zaXRvcnkiCittc2dzdHIgIkVsZW5jYSBpIHJpZmVyaW1lbnRpIGluIHVuIHJlcG9zaXRvcnkgcmVtb3RvIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMTgKK21zZ2lkICJMaXN0IHRoZSBjb250ZW50cyBvZiBhIHRyZWUgb2JqZWN0IgorbXNnc3RyICJFbGVuY2EgaSBjb250ZW51dGkgZGkgdW4gb2dnZXR0byBhbGJlcm8iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjExOQorbXNnaWQgIkV4dHJhY3RzIHBhdGNoIGFuZCBhdXRob3JzaGlwIGZyb20gYSBzaW5nbGUgZS1tYWlsIG1lc3NhZ2UiCittc2dzdHIgIiIKKyJFc3RyYWUgbGEgcGF0Y2ggZSBsZSBpbmZvcm1hemlvbmkgc3VsbCdhdXRvcmUgZGEgdW4gc2luZ29sbyBtZXNzYWdnaW8gZS1tYWlsIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMjAKK21zZ2lkICJTaW1wbGUgVU5JWCBtYm94IHNwbGl0dGVyIHByb2dyYW0iCittc2dzdHIgIlVuIHNlbXBsaWNlIHByb2dyYW1tYSBwZXIgc3VkZGl2aWRlcmUgaSBmaWxlIFVOSVggbWJveCIKKworIzogY29tbWFuZC1saXN0Lmg6MTIxCiBtc2dpZCAiSm9pbiB0d28gb3IgbW9yZSBkZXZlbG9wbWVudCBoaXN0b3JpZXMgdG9nZXRoZXIiCiBtc2dzdHIgIlVuaXNjZSBkdWUgbyBwacO5IGNyb25vbG9naWUgZGkgc3ZpbHVwcG8iCiAKLSM6IGNvbW1vbi1jbWRzLmg6MjAKLW1zZ2lkICJNb3ZlIG9yIHJlbmFtZSBhIGZpbGUsIGEgZGlyZWN0b3J5LCBvciBhIHN5bWxpbmsiCi1tc2dzdHIgIlNwb3N0YSBvIHJpbm9taW5hIHVuIGZpbGUsIHVuYSBkaXJlY3RvcnkgbyB1biBsaW5rIHNpbWJvbGljbyIKKyM6IGNvbW1hbmQtbGlzdC5oOjEyMgorbXNnaWQgIkZpbmQgYXMgZ29vZCBjb21tb24gYW5jZXN0b3JzIGFzIHBvc3NpYmxlIGZvciBhIG1lcmdlIgorbXNnc3RyICJUcm92YSBpbCBtYWdnaW9yIG51bWVybyBwb3NzaWJpbGUgZGkgYW50ZW5hdGkgY29tdW5pIHBlciB1biBtZXJnZSIKIAotIzogY29tbW9uLWNtZHMuaDoyMQotbXNnaWQgIkZldGNoIGZyb20gYW5kIG1lcmdlIHdpdGggYW5vdGhlciByZXBvc2l0b3J5IG9yIGEgbG9jYWwgYnJhbmNoIgotbXNnc3RyICJDb21iaW5hIGZldGNoZSArIG1lcmdlIGRhIHVuIGFsdHJvIHJlcG9zaXRvcnkgbyB1biBicmFuY2ggbG9jYWxlIgorIzogY29tbWFuZC1saXN0Lmg6MTIzCittc2dpZCAiUnVuIGEgdGhyZWUtd2F5IGZpbGUgbWVyZ2UiCittc2dzdHIgIkVzZWd1ZSB1biBtZXJnZSBhIHRyZSB2aWUgc3UgZmlsZSIKIAotIzogY29tbW9uLWNtZHMuaDoyMgotbXNnaWQgIlVwZGF0ZSByZW1vdGUgcmVmcyBhbG9uZyB3aXRoIGFzc29jaWF0ZWQgb2JqZWN0cyIKLW1zZ3N0ciAiQWdnaW9ybmEgaSByZWYgcmVtb3RpIGluc2llbWUgYWdsaSBvZ2dldHRpIGFzc29jaWF0aSIKKyM6IGNvbW1hbmQtbGlzdC5oOjEyNAorbXNnaWQgIlJ1biBhIG1lcmdlIGZvciBmaWxlcyBuZWVkaW5nIG1lcmdpbmciCittc2dzdHIgIkVzZWd1ZSB1biBtZXJnZSBwZXIgaSBmaWxlIGNoZSBsbyByaWNoaWVkb25vIgogCi0jOiBjb21tb24tY21kcy5oOjIzCi1tc2dpZCAiRm9yd2FyZC1wb3J0IGxvY2FsIGNvbW1pdHMgdG8gdGhlIHVwZGF0ZWQgdXBzdHJlYW0gaGVhZCIKKyM6IGNvbW1hbmQtbGlzdC5oOjEyNQorbXNnaWQgIlRoZSBzdGFuZGFyZCBoZWxwZXIgcHJvZ3JhbSB0byB1c2Ugd2l0aCBnaXQtbWVyZ2UtaW5kZXgiCittc2dzdHIgIklsIHByb2dyYW1tYSBoZWxwZXIgc3RhbmRhcmQgZGEgdXNhcmUgY29uIGdpdC1tZXJnZS1pbmRleCIKKworIzogY29tbWFuZC1saXN0Lmg6MTI2Cittc2dpZCAiUnVuIG1lcmdlIGNvbmZsaWN0IHJlc29sdXRpb24gdG9vbHMgdG8gcmVzb2x2ZSBtZXJnZSBjb25mbGljdHMiCiBtc2dzdHIgIiIKKyJFc2VndWUgZ2xpIHN0cnVtZW50aSBkaSByaXNvbHV6aW9uZSBjb25mbGl0dGkgZGkgbWVyZ2UgcGVyIHJpc29sdmVyZSBpICIKKyJjb25mbGl0dGkgZGkgbWVyZ2UiCiAKLSM6IGNvbW1vbi1jbWRzLmg6MjQKKyM6IGNvbW1hbmQtbGlzdC5oOjEyNworbXNnaWQgIlNob3cgdGhyZWUtd2F5IG1lcmdlIHdpdGhvdXQgdG91Y2hpbmcgaW5kZXgiCittc2dzdHIgIlZpc3VhbGl6emEgdW4gbWVyZ2UgYSB0cmUgdmllIHNlbnphIG1vZGlmaWNhcmUgbCdpbmRpY2UiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEyOAorbXNnaWQgIldyaXRlIGFuZCB2ZXJpZnkgbXVsdGktcGFjay1pbmRleGVzIgorbXNnc3RyICJTY3JpdmUgZSB2ZXJpZmljYSBpbmRpY2kgbXVsdGktcGFjayIKKworIzogY29tbWFuZC1saXN0Lmg6MTI5Cittc2dpZCAiQ3JlYXRlcyBhIHRhZyBvYmplY3QiCittc2dzdHIgIkNyZWEgdW4gb2dnZXR0byB0YWciCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEzMAorbXNnaWQgIkJ1aWxkIGEgdHJlZS1vYmplY3QgZnJvbSBscy10cmVlIGZvcm1hdHRlZCB0ZXh0IgorbXNnc3RyICJHZW5lcmEgdW4gb2dnZXR0byBhbGJlcm8gZGEgdGVzdG8gaW4gZm9ybWF0byBscy10cmVlIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMzEKK21zZ2lkICJNb3ZlIG9yIHJlbmFtZSBhIGZpbGUsIGEgZGlyZWN0b3J5LCBvciBhIHN5bWxpbmsiCittc2dzdHIgIlNwb3N0YSBvIHJpbm9taW5hIHVuIGZpbGUsIHVuYSBkaXJlY3RvcnkgbyB1biBjb2xsZWdhbWVudG8gc2ltYm9saWNvIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMzIKK21zZ2lkICJGaW5kIHN5bWJvbGljIG5hbWVzIGZvciBnaXZlbiByZXZzIgorbXNnc3RyICJUcm92YSBpIG5vbWkgc2ltYm9saWNpIHBlciBsZSByZXZpc2lvbmkgZGF0ZSIKKworIzogY29tbWFuZC1saXN0Lmg6MTMzCittc2dpZCAiQWRkIG9yIGluc3BlY3Qgb2JqZWN0IG5vdGVzIgorbXNnc3RyICJBZ2dpdW5nZSBvIGVzYW1pbmEgbGUgbm90ZSBhZ2xpIG9nZ2V0dGkiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEzNAorbXNnaWQgIkltcG9ydCBmcm9tIGFuZCBzdWJtaXQgdG8gUGVyZm9yY2UgcmVwb3NpdG9yaWVzIgorbXNnc3RyICJJbXBvcnRhIGRhdGkgZGEsIG8gaW52aWEgZGF0aSBhLCByZXBvc2l0b3J5IFBlcmZvcmNlIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMzUKK21zZ2lkICJDcmVhdGUgYSBwYWNrZWQgYXJjaGl2ZSBvZiBvYmplY3RzIgorbXNnc3RyICJDcmVhIHVuIGFyY2hpdmlvIGRpIG9nZ2V0dGkgc290dG9wb3N0byBhIHBhY2siCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEzNgorbXNnaWQgIkZpbmQgcmVkdW5kYW50IHBhY2sgZmlsZXMiCittc2dzdHIgIlRyb3ZhIGZpbGUgcGFjayByaWRvbmRhbnRpIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMzcKK21zZ2lkICJQYWNrIGhlYWRzIGFuZCB0YWdzIGZvciBlZmZpY2llbnQgcmVwb3NpdG9yeSBhY2Nlc3MiCittc2dzdHIgIkVzZWd1ZSBpbCBwYWNrIGRpIGhlYWQgZSB0YWcgcGVyIHVuIGFjY2Vzc28gZWZmaWNpZW50ZSBhbCByZXBvc2l0b3J5IgorCisjOiBjb21tYW5kLWxpc3QuaDoxMzgKK21zZ2lkICJSb3V0aW5lcyB0byBoZWxwIHBhcnNpbmcgcmVtb3RlIHJlcG9zaXRvcnkgYWNjZXNzIHBhcmFtZXRlcnMiCittc2dzdHIgIiIKKyJSb3V0aW5lIGNoZSBhaXV0YW5vIGFkIGFuYWxpenphcmUgaSBwYXJhbWV0cmkgZGkgYWNjZXNzbyBhaSByZXBvc2l0b3J5IHJlbW90aSIKKworIzogY29tbWFuZC1saXN0Lmg6MTM5Cittc2dpZCAiQ29tcHV0ZSB1bmlxdWUgSUQgZm9yIGEgcGF0Y2giCittc2dzdHIgIkNhbGNvbGEgbCdJRCB1bml2b2NvIHBlciB1bmEgcGF0Y2giCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE0MAorbXNnaWQgIlBydW5lIGFsbCB1bnJlYWNoYWJsZSBvYmplY3RzIGZyb20gdGhlIG9iamVjdCBkYXRhYmFzZSIKK21zZ3N0ciAiRWxpbWluYSB0dXR0aSBnbGkgb2dnZXR0aSBub24gcmFnZ2l1bmdpYmlsaSBkYWwgZGF0YWJhc2Ugb2dnZXR0aSIKKworIzogY29tbWFuZC1saXN0Lmg6MTQxCittc2dpZCAiUmVtb3ZlIGV4dHJhIG9iamVjdHMgdGhhdCBhcmUgYWxyZWFkeSBpbiBwYWNrIGZpbGVzIgorbXNnc3RyICJSaW11b3ZlIGdsaSBvZ2dldHRpIGFnZ2l1bnRpdmkgZ2nDoCBwcmVzZW50aSBuZWkgZmlsZSBwYWNrIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNDIKK21zZ2lkICJGZXRjaCBmcm9tIGFuZCBpbnRlZ3JhdGUgd2l0aCBhbm90aGVyIHJlcG9zaXRvcnkgb3IgYSBsb2NhbCBicmFuY2giCittc2dzdHIgIiIKKyJFc2VndWUgaWwgZmV0Y2ggZSBsJ2ludGVncmF6aW9uZSBjb24gdW4gYWx0cm8gcmVwb3NpdG9yeSBvIHVuIGJyYW5jaCBsb2NhbGUiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE0MworbXNnaWQgIlVwZGF0ZSByZW1vdGUgcmVmcyBhbG9uZyB3aXRoIGFzc29jaWF0ZWQgb2JqZWN0cyIKK21zZ3N0ciAiQWdnaW9ybmEgaSByaWZlcmltZW50aSByZW1vdGkgaW5zaWVtZSBhZ2xpIG9nZ2V0dGkgYXNzb2NpYXRpIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNDQKK21zZ2lkICJBcHBsaWVzIGEgcXVpbHQgcGF0Y2hzZXQgb250byB0aGUgY3VycmVudCBicmFuY2giCittc2dzdHIgIkFwcGxpY2EgdW4gaW5zaWVtZSBkaSBwYXRjaCBxdWlsdCBzdWwgYnJhbmNoIGNvcnJlbnRlIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNDUKK21zZ2lkICJDb21wYXJlIHR3byBjb21taXQgcmFuZ2VzIChlLmcuIHR3byB2ZXJzaW9ucyBvZiBhIGJyYW5jaCkiCittc2dzdHIgIkNvbXBhcmEgZHVlIGludGVydmFsbGkgZGkgY29tbWl0IChhZCBlcy4gZHVlIHZlcnNpb25pIGRpIHVuIGJyYW5jaCkiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE0NgorbXNnaWQgIlJlYWRzIHRyZWUgaW5mb3JtYXRpb24gaW50byB0aGUgaW5kZXgiCittc2dzdHIgIkxlZ2dlIGxlIGluZm9ybWF6aW9uaSBzdSB1biBhbGJlcm8gZGFsbCdpbmRpY2UiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE0NworbXNnaWQgIlJlYXBwbHkgY29tbWl0cyBvbiB0b3Agb2YgYW5vdGhlciBiYXNlIHRpcCIKK21zZ3N0ciAiUmlhcHBsaWNhIGRlaSBjb21taXQgZG9wbyBsJ3VsdGltbyBjb21taXQgZGkgdW4gYnJhbmNoIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNDgKK21zZ2lkICJSZWNlaXZlIHdoYXQgaXMgcHVzaGVkIGludG8gdGhlIHJlcG9zaXRvcnkiCittc2dzdHIgIlJpY2V2ZSBxdWFudG8gc290dG9wb3N0byBhIHB1c2ggbmVsIHJlcG9zaXRvcnkiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE0OQorbXNnaWQgIk1hbmFnZSByZWZsb2cgaW5mb3JtYXRpb24iCittc2dzdHIgIkdlc3Rpc2NlIGxlIGluZm9ybWF6aW9uaSBkZWwgcmVnaXN0cm8gZGVpIHJpZmVyaW1lbnRpIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNTAKK21zZ2lkICJNYW5hZ2Ugc2V0IG9mIHRyYWNrZWQgcmVwb3NpdG9yaWVzIgorbXNnc3RyICJHZXN0aXNjZSBsJ2luc2llbWUgZGVpIHJlcG9zaXRvcnkgdHJhY2NpYXRpIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNTEKK21zZ2lkICJQYWNrIHVucGFja2VkIG9iamVjdHMgaW4gYSByZXBvc2l0b3J5IgorbXNnc3RyICJFc2VndWUgaWwgcGFjayBkZWdsaSBvZ2dldHRpIG5vbiBzb3R0b3Bvc3RpIGEgcGFjayBpbiB1biByZXBvc2l0b3J5IgorCisjOiBjb21tYW5kLWxpc3QuaDoxNTIKK21zZ2lkICJDcmVhdGUsIGxpc3QsIGRlbGV0ZSByZWZzIHRvIHJlcGxhY2Ugb2JqZWN0cyIKK21zZ3N0ciAiQ3JlYSwgZWxlbmNhLCBlbGltaW5hIGkgcmlmZXJpbWVudGkgcGVyIHNvc3RpdHVpcmUgb2dnZXR0aSIKKworIzogY29tbWFuZC1saXN0Lmg6MTUzCittc2dpZCAiR2VuZXJhdGVzIGEgc3VtbWFyeSBvZiBwZW5kaW5nIGNoYW5nZXMiCittc2dzdHIgIkdlbmVyYSB1biByaWFzc3VudG8gZGVsbGUgbW9kaWZpY2hlIGluIHNvc3Blc28iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE1NAorbXNnaWQgIlJldXNlIHJlY29yZGVkIHJlc29sdXRpb24gb2YgY29uZmxpY3RlZCBtZXJnZXMiCittc2dzdHIgIlJpdXNhIGxhIHJpc29sdXppb25lIHJlZ2lzdHJhdGEgZGVpIG1lcmdlIGNoZSBoYW5ubyBnZW5lcmF0byBjb25mbGl0dGkiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE1NQogbXNnaWQgIlJlc2V0IGN1cnJlbnQgSEVBRCB0byB0aGUgc3BlY2lmaWVkIHN0YXRlIgogbXNnc3RyICJSaXByaXN0aW5hIGwnSEVBRCBjb3JyZW50ZSBhbGxvIHN0YXRvIHNwZWNpZmljYXRvIgogCi0jOiBjb21tb24tY21kcy5oOjI1CisjOiBjb21tYW5kLWxpc3QuaDoxNTYKK21zZ2lkICJSZXN0b3JlIHdvcmtpbmcgdHJlZSBmaWxlcyIKK21zZ3N0ciAiUmlwcmlzdGluYSBpIGZpbGUgbmVsbCdhbGJlcm8gZGkgbGF2b3JvIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNTcKK21zZ2lkICJSZXZlcnQgc29tZSBleGlzdGluZyBjb21taXRzIgorbXNnc3RyICJFc2VndWUgaWwgcmV2ZXJ0IGRpIGFsY3VuaSBjb21taXQgZXNpc3RlbnRpIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNTgKK21zZ2lkICJMaXN0cyBjb21taXQgb2JqZWN0cyBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIiCittc2dzdHIgIkVsZW5jYSBnbGkgb2dnZXR0aSBjb21taXQgaW4gb3JkaW5lIGNyb25vbG9naWNvIGludmVyc28iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE1OQorbXNnaWQgIlBpY2sgb3V0IGFuZCBtYXNzYWdlIHBhcmFtZXRlcnMiCittc2dzdHIgIlNjZWdsaWUgZSBhbHRlcmEgaSBwYXJhbWV0cmkiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE2MAogbXNnaWQgIlJlbW92ZSBmaWxlcyBmcm9tIHRoZSB3b3JraW5nIHRyZWUgYW5kIGZyb20gdGhlIGluZGV4IgotbXNnc3RyICIiCittc2dzdHIgIlJpbXVvdmUgZmlsZSBkYWxsJ2FsYmVybyBkaSBsYXZvcm8gZSBkYWxsJ2luZGljZSIKIAotIzogY29tbW9uLWNtZHMuaDoyNgorIzogY29tbWFuZC1saXN0Lmg6MTYxCittc2dpZCAiU2VuZCBhIGNvbGxlY3Rpb24gb2YgcGF0Y2hlcyBhcyBlbWFpbHMiCittc2dzdHIgIkludmlhIHVuIGluc2llbWUgZGkgcGF0Y2ggY29tZSBlLW1haWwiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE2MgorbXNnaWQgIlB1c2ggb2JqZWN0cyBvdmVyIEdpdCBwcm90b2NvbCB0byBhbm90aGVyIHJlcG9zaXRvcnkiCittc2dzdHIgIiIKKyJFc2VndWUgaWwgcHVzaCBkaSBvZ2dldHRpIHN1IHVuIGFsdHJvIHJlcG9zaXRvcnkgdHJhbWl0ZSBpbCBwcm90b2NvbGxvIEdpdCIKKworIzogY29tbWFuZC1saXN0Lmg6MTYzCittc2dpZCAiUmVzdHJpY3RlZCBsb2dpbiBzaGVsbCBmb3IgR2l0LW9ubHkgU1NIIGFjY2VzcyIKK21zZ3N0ciAiU2hlbGwgZGkgbG9naW4gbGltaXRhdGEgcGVyIGNvbmNlZGVyZSBhY2Nlc3NvIFNTSCBzb2xvIHBlciBHaXQiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NAorbXNnaWQgIlN1bW1hcml6ZSAnZ2l0IGxvZycgb3V0cHV0IgorbXNnc3RyICJSaWFzc3VtZSBsJ291dHB1dCBkaSAnZ2l0IGxvZyciCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NQogbXNnaWQgIlNob3cgdmFyaW91cyB0eXBlcyBvZiBvYmplY3RzIgotbXNnc3RyICJNb3N0cmEgdmFyaSB0aXBpIGRpIG9nZ2V0dGkiCittc2dzdHIgIlZpc3VhbGl6emEgdmFyaSB0aXBpIGRpIG9nZ2V0dGkiCiAKLSM6IGNvbW1vbi1jbWRzLmg6MjcKLW1zZ2lkICJTaG93IHRoZSB3b3JraW5nIHRyZWUgc3RhdHVzIgorIzogY29tbWFuZC1saXN0Lmg6MTY2Cittc2dpZCAiU2hvdyBicmFuY2hlcyBhbmQgdGhlaXIgY29tbWl0cyIKK21zZ3N0ciAiVmlzdWFsaXp6YSBpIGJyYW5jaCBlIGkgbG9ybyBjb21taXQiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NworbXNnaWQgIlNob3cgcGFja2VkIGFyY2hpdmUgaW5kZXgiCittc2dzdHIgIlZpc3VhbGl6emEgbCdpbmRpY2UgZGkgdW4gYXJjaGl2aW8gc290dG9wb3N0byBhIHBhY2siCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE2OAorbXNnaWQgIkxpc3QgcmVmZXJlbmNlcyBpbiBhIGxvY2FsIHJlcG9zaXRvcnkiCittc2dzdHIgIkVsZW5jYSBpIHJpZmVyaW1lbnRpIGluIHVuIHJlcG9zaXRvcnkgbG9jYWxlIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNjkKK21zZ2lkICJHaXQncyBpMThuIHNldHVwIGNvZGUgZm9yIHNoZWxsIHNjcmlwdHMiCiBtc2dzdHIgIiIKKyJDb2RpY2UgZGkgaW5pemlhbGl6emF6aW9uZSBkZWxsJ2ludGVybmF6aW9uYWxpenphemlvbmUgZGkgR2l0IHBlciBnbGkgc2NyaXB0ICIKKyJzaGVsbCIKIAotIzogY29tbW9uLWNtZHMuaDoyOAorIzogY29tbWFuZC1saXN0Lmg6MTcwCittc2dpZCAiQ29tbW9uIEdpdCBzaGVsbCBzY3JpcHQgc2V0dXAgY29kZSIKK21zZ3N0ciAiQ29kaWNlIGNvbXVuZSBkaSBpbml6aWFsaXp6YXppb25lIGRpIEdpdCBwZXIgZ2xpIHNjcmlwdCBzaGVsbCIKKworIzogY29tbWFuZC1saXN0Lmg6MTcxCittc2dpZCAiSW5pdGlhbGl6ZSBhbmQgbW9kaWZ5IHRoZSBzcGFyc2UtY2hlY2tvdXQiCittc2dzdHIgIkluaXppYWxpenphIGUgbW9kaWZpY2Egc3BhcnNlLWNoZWNrb3V0IgorCisjOiBjb21tYW5kLWxpc3QuaDoxNzIKK21zZ2lkICJTdGFzaCB0aGUgY2hhbmdlcyBpbiBhIGRpcnR5IHdvcmtpbmcgZGlyZWN0b3J5IGF3YXkiCittc2dzdHIgIk1ldHRlIGRhIHBhcnRlIGxlIG1vZGlmaWNoZSBpbiB1bmEgZGlyZWN0b3J5IGRpIGxhdm9ybyBzcG9yY2EiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MworbXNnaWQgIkFkZCBmaWxlIGNvbnRlbnRzIHRvIHRoZSBzdGFnaW5nIGFyZWEiCittc2dzdHIgIkFnZ2l1bmdlIGkgY29udGVudXRpIGRlaSBmaWxlIGFsbCdhcmVhIGRpIHN0YWdpbmciCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3NAorbXNnaWQgIlNob3cgdGhlIHdvcmtpbmcgdHJlZSBzdGF0dXMiCittc2dzdHIgIlZpc3VhbGl6emEgbG8gc3RhdG8gZGVsbCdhbGJlcm8gZGkgbGF2b3JvIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNzUKK21zZ2lkICJSZW1vdmUgdW5uZWNlc3Nhcnkgd2hpdGVzcGFjZSIKK21zZ3N0ciAiUmltdW92ZSBzcGF6aSBiaWFuY2hpIG5vbiBuZWNlc3NhcmkiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3NgorbXNnaWQgIkluaXRpYWxpemUsIHVwZGF0ZSBvciBpbnNwZWN0IHN1Ym1vZHVsZXMiCittc2dzdHIgIkluaXppYWxpenphLCBhZ2dpb3JuYSBvIGVzYW1pbmEgc290dG9tb2R1bGkiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3NworbXNnaWQgIkJpZGlyZWN0aW9uYWwgb3BlcmF0aW9uIGJldHdlZW4gYSBTdWJ2ZXJzaW9uIHJlcG9zaXRvcnkgYW5kIEdpdCIKK21zZ3N0ciAiT3BlcmF0aXZpdMOgIGJpZGlyZXppb25hbGUgdHJhIHVuIHJlcG9zaXRvcnkgU3VidmVyc2lvbiBlIEdpdCIKKworIzogY29tbWFuZC1saXN0Lmg6MTc4Cittc2dpZCAiU3dpdGNoIGJyYW5jaGVzIgorbXNnc3RyICJQYXNzYSBkYSB1biBicmFuY2ggYSB1biBhbHRybyIKKworIzogY29tbWFuZC1saXN0Lmg6MTc5Cittc2dpZCAiUmVhZCwgbW9kaWZ5IGFuZCBkZWxldGUgc3ltYm9saWMgcmVmcyIKK21zZ3N0ciAiTGVnZ2UsIG1vZGlmaWNhIGVkIGVsaW1pbmEgcmlmZXJpbWVudGkgc2ltYm9saWNpIgorCisjOiBjb21tYW5kLWxpc3QuaDoxODAKIG1zZ2lkICJDcmVhdGUsIGxpc3QsIGRlbGV0ZSBvciB2ZXJpZnkgYSB0YWcgb2JqZWN0IHNpZ25lZCB3aXRoIEdQRyIKIG1zZ3N0ciAiQ3JlYSwgZWxlbmNhLCBlbGltaW5hIG8gdmVyaWZpY2EgdW4gb2dnZXR0byB0YWcgZmlybWF0byBjb24gR1BHIgogCi0jOiBnaXQtYW0uc2g6NTAKLW1zZ2lkICJZb3UgbmVlZCB0byBzZXQgeW91ciBjb21taXR0ZXIgaW5mbyBmaXJzdCIKLW1zZ3N0ciAiw4ggbmVjZXNzYXJpbyBpbXBvc3RhcmUgbGUgaW5mb3JtYXppb25pIHN1bCBjb21taXR0ZXIiCisjOiBjb21tYW5kLWxpc3QuaDoxODEKK21zZ2lkICJDcmVhdGVzIGEgdGVtcG9yYXJ5IGZpbGUgd2l0aCBhIGJsb2IncyBjb250ZW50cyIKK21zZ3N0ciAiQ3JlYSB1biBmaWxlIHRlbXBvcmFuZW8gY29uIGkgY29udGVudXRpIGRpIHVuIGJsb2IiCiAKLSM6IGdpdC1hbS5zaDo5NQotbXNnaWQgIiIKLSJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQgc2luY2UgdGhlIGxhc3QgJ2FtJyBmYWlsdXJlLlxuIgotIk5vdCByZXdpbmRpbmcgdG8gT1JJR19IRUFEIgorIzogY29tbWFuZC1saXN0Lmg6MTgyCittc2dpZCAiVW5wYWNrIG9iamVjdHMgZnJvbSBhIHBhY2tlZCBhcmNoaXZlIgorbXNnc3RyICJEZWNvbXByaW1lIGdsaSBvZ2dldHRpIGRhIHVuIGFyY2hpdmlvIHNvdHRvcG9zdG8gYSBwYWNrIgorCisjOiBjb21tYW5kLWxpc3QuaDoxODMKK21zZ2lkICJSZWdpc3RlciBmaWxlIGNvbnRlbnRzIGluIHRoZSB3b3JraW5nIHRyZWUgdG8gdGhlIGluZGV4IgorbXNnc3RyICJSZWdpc3RyYSBpIGNvbnRlbnV0aSBkZWkgZmlsZSBkZWxsJ2FsYmVybyBkaSBsYXZvcm8gbmVsbCdpbmRpY2UiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE4NAorbXNnaWQgIlVwZGF0ZSB0aGUgb2JqZWN0IG5hbWUgc3RvcmVkIGluIGEgcmVmIHNhZmVseSIKK21zZ3N0ciAiQWdnaW9ybmEgaW4gbW9kbyBzaWN1cm8gaWwgbm9tZSBvZ2dldHRvIHNhbHZhdG8gaW4gdW4gcmlmZXJpbWVudG8iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE4NQorbXNnaWQgIlVwZGF0ZSBhdXhpbGlhcnkgaW5mbyBmaWxlIHRvIGhlbHAgZHVtYiBzZXJ2ZXJzIgorbXNnc3RyICJBZ2dpb3JuYSBpbCBmaWxlIGluZm9ybWF6aW9uaSBhZ2dpdW50aXZlIHBlciBhaXV0YXJlIGkgc2VydmVyIHN0dXBpZGkiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE4NgorbXNnaWQgIlNlbmQgYXJjaGl2ZSBiYWNrIHRvIGdpdC1hcmNoaXZlIgorbXNnc3RyICJSZWludmlhIGwnYXJjaGl2aW8gYSBnaXQtYXJjaGl2ZSIKKworIzogY29tbWFuZC1saXN0Lmg6MTg3Cittc2dpZCAiU2VuZCBvYmplY3RzIHBhY2tlZCBiYWNrIHRvIGdpdC1mZXRjaC1wYWNrIgorbXNnc3RyICJSZWludmlhIGdsaSBvZ2dldHRpIHNvdHRvcG9zdGkgYSBwYWNrIGEgZ2l0LWZldGNoLXBhY2siCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE4OAorbXNnaWQgIlNob3cgYSBHaXQgbG9naWNhbCB2YXJpYWJsZSIKK21zZ3N0ciAiVmlzdWFsaXp6YSB1bmEgdmFyaWFiaWxlIGxvZ2ljYSBkaSBHaXQiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE4OQorbXNnaWQgIkNoZWNrIHRoZSBHUEcgc2lnbmF0dXJlIG9mIGNvbW1pdHMiCittc2dzdHIgIlZlcmlmaWNhIGxhIGZpcm1hIEdQRyBkZWkgY29tbWl0IgorCisjOiBjb21tYW5kLWxpc3QuaDoxOTAKK21zZ2lkICJWYWxpZGF0ZSBwYWNrZWQgR2l0IGFyY2hpdmUgZmlsZXMiCittc2dzdHIgIkNvbnZhbGlkYSBpIGZpbGUgYXJjaGl2aW8gc290dG9wb3N0aSBhIHBhY2sgZGkgR2l0IgorCisjOiBjb21tYW5kLWxpc3QuaDoxOTEKK21zZ2lkICJDaGVjayB0aGUgR1BHIHNpZ25hdHVyZSBvZiB0YWdzIgorbXNnc3RyICJWZXJpZmljYSBsYSBmaXJtYSBHUEcgZGVpIHRhZyIKKworIzogY29tbWFuZC1saXN0Lmg6MTkyCittc2dpZCAiR2l0IHdlYiBpbnRlcmZhY2UgKHdlYiBmcm9udGVuZCB0byBHaXQgcmVwb3NpdG9yaWVzKSIKK21zZ3N0ciAiSW50ZXJmYWNjaWEgV2ViIHBlciBHaXQgKGZyb250ZW5kIFdlYiBhaSByZXBvc2l0b3J5IEdpdCkiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE5MworbXNnaWQgIlNob3cgbG9ncyB3aXRoIGRpZmZlcmVuY2UgZWFjaCBjb21taXQgaW50cm9kdWNlcyIKIG1zZ3N0ciAiIgorIlZpc3VhbGl6emEgaSByZWdpc3RyaSBpbnNpZW1lIGFsbGUgZGlmZmVyZW56ZSBpbnRyb2RvdHRlIGRhIGNpYXNjdW4gY29tbWl0IgogCi0jOiBnaXQtYW0uc2g6MTA1Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0gcnVuIFwiJGNtZGxpbmUgLS1yZXNvbHZlZFwiLlxuIgotIklmIHlvdSB3b3VsZCBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBpbnN0ZWFkIHJ1biBcIiRjbWRsaW5lIC0tc2tpcFwiLlxuIgotIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZyBydW4gXCIkY21kbGluZSAtLWFib3J0XCIuIgotbXNnc3RyICIiCi0iUXVhbmRvIGhhaSByaXNvbHRvIGlsIHByb2JsZW1hIGVzZWd1aSBcIiRjbWRsaW5lIC0tcmVzb2x2ZWRcIi5cbiIKLSJTZSB2dW9pIHNhbHRhcmUgcXVlc3RhIHBhdGNoLCBlc2VndWkgaW52ZWNlIFwiJGNtZGxpbmUgLS1za2lwXCIuXG4iCi0iUGVyIHJpcHJpc3RpbmFyZSBpbCBicmFuY2ggb3JpZ2luYWxlIGUgaW50ZXJyb21wZXJlIGwnYXBwbGljYXppb25lIGRlbGxlICIKLSJwYXRjaCBlc2VndWkgXCIkY21kbGluZSAtLWFib3J0XCIuIgorIzogY29tbWFuZC1saXN0Lmg6MTk0Cittc2dpZCAiTWFuYWdlIG11bHRpcGxlIHdvcmtpbmcgdHJlZXMiCittc2dzdHIgIkdlc3Rpc2NlIGFsYmVyaSBkaSBsYXZvcm8gbXVsdGlwbGkiCiAKLSM6IGdpdC1hbS5zaDoxMjEKLW1zZ2lkICJDYW5ub3QgZmFsbCBiYWNrIHRvIHRocmVlLXdheSBtZXJnZS4iCi1tc2dzdHIgIiIKKyM6IGNvbW1hbmQtbGlzdC5oOjE5NQorbXNnaWQgIkNyZWF0ZSBhIHRyZWUgb2JqZWN0IGZyb20gdGhlIGN1cnJlbnQgaW5kZXgiCittc2dzdHIgIkNyZWEgdW4gb2dnZXR0byBhbGJlcm8gZGFsbCdpbmRpY2UgY29ycmVudGUiCiAKLSM6IGdpdC1hbS5zaDoxMzcKLW1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIG5lY2Vzc2FyeSBibG9icyB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIgotbXNnc3RyICIiCisjOiBjb21tYW5kLWxpc3QuaDoxOTYKK21zZ2lkICJEZWZpbmluZyBhdHRyaWJ1dGVzIHBlciBwYXRoIgorbXNnc3RyICJEZWZpbml6aW9uZSBkaSBhdHRyaWJ1dGkgcGVyIHBlcmNvcnNvIgogCi0jOiBnaXQtYW0uc2g6MTU0Ci1tc2dpZCAiIgotIkRpZCB5b3UgaGFuZCBlZGl0IHlvdXIgcGF0Y2g/XG4iCi0iSXQgZG9lcyBub3QgYXBwbHkgdG8gYmxvYnMgcmVjb3JkZWQgaW4gaXRzIGluZGV4LiIKLW1zZ3N0ciAiIgotIkxhIHR1YSBwYXRjaCDDqCBzdGF0YSBtb2RpZmljYXRhIG1hbnVhbG1lbnRlP1xuIgotIk5vbiBwdcOyIGVzc2VyZSBhcHBsaWNhdGEgYWkgYmxvYiByZWdpc3RyYXRpIG5lbCBwcm9wcmlvIGluZGV4LiIKKyM6IGNvbW1hbmQtbGlzdC5oOjE5NworbXNnaWQgIkdpdCBjb21tYW5kLWxpbmUgaW50ZXJmYWNlIGFuZCBjb252ZW50aW9ucyIKK21zZ3N0ciAiSW50ZXJmYWNjaWEgYSByaWdhIGRpIGNvbWFuZG8gZGkgR2l0IGUgY29udmVuemlvbmkiCiAKLSM6IGdpdC1hbS5zaDoxNjMKLW1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gcGF0Y2hpbmcgYmFzZSBhbmQgMy13YXkgbWVyZ2UuLi4iCi1tc2dzdHIgIiIKKyM6IGNvbW1hbmQtbGlzdC5oOjE5OAorbXNnaWQgIkEgR2l0IGNvcmUgdHV0b3JpYWwgZm9yIGRldmVsb3BlcnMiCittc2dzdHIgIlVuIHR1dG9yaWFsIEdpdCBkaSBiYXNlIHBlciBnbGkgc3ZpbHVwcGF0b3JpIgogCi0jOiBnaXQtYW0uc2g6Mjc1Ci1tc2dpZCAiT25seSBvbmUgU3RHSVQgcGF0Y2ggc2VyaWVzIGNhbiBiZSBhcHBsaWVkIGF0IG9uY2UiCi1tc2dzdHIgIlB1w7IgZXNzZXJlIGFwcGxpY2F0YSBzb2xvIHVuYSBzZXJpZSBkaSBwYXRjaCBTdEdJVCBwZXIgdm9sdGEiCisjOiBjb21tYW5kLWxpc3QuaDoxOTkKK21zZ2lkICJHaXQgZm9yIENWUyB1c2VycyIKK21zZ3N0ciAiR2l0IHBlciB1dGVudGkgQ1ZTIgogCi0jOiBnaXQtYW0uc2g6MzYyCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJQYXRjaCBmb3JtYXQgJHBhdGNoX2Zvcm1hdCBpcyBub3Qgc3VwcG9ydGVkLiIKLW1zZ3N0ciAiSWwgZm9ybWF0byBwYXRjaCAkcGF0Y2hfZm9ybWF0IG5vbiDDqCBzdXBwb3J0YXRvLiIKKyM6IGNvbW1hbmQtbGlzdC5oOjIwMAorbXNnaWQgIlR3ZWFraW5nIGRpZmYgb3V0cHV0IgorbXNnc3RyICJNZXNzYSBhIHB1bnRvIGRlbGwnb3V0cHV0IGRpIGRpZmYiCiAKLSM6IGdpdC1hbS5zaDozNjQKLW1zZ2lkICJQYXRjaCBmb3JtYXQgZGV0ZWN0aW9uIGZhaWxlZC4iCi1tc2dzdHIgIlJpbGV2YW1lbnRvIGRlbCBmb3JtYXRvIGRlbGxhIHBhdGNoIG5vbiByaXVzY2l0by4iCisjOiBjb21tYW5kLWxpc3QuaDoyMDEKK21zZ2lkICJBIHVzZWZ1bCBtaW5pbXVtIHNldCBvZiBjb21tYW5kcyBmb3IgRXZlcnlkYXkgR2l0IgorbXNnc3RyICJVbiBpbnNpZW1lIGRpIGNvbWFuZGkgdXRpbGUgZSBtaW5pbWFsZSBwZXIgbCd1c28gcXVvdGlkaWFubyBkaSBHaXQiCiAKLSM6IGdpdC1hbS5zaDo0MTgKLW1zZ2lkICItZCBvcHRpb24gaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gIERvIG5vdCB1c2UuIgotbXNnc3RyICJsJ29wemlvbmUgLWQgbm9uIMOoIHBpw7kgc3VwcG9ydGF0YS4gIE5vbiB1dGlsaXp6YXJsYS4iCisjOiBjb21tYW5kLWxpc3QuaDoyMDIKK21zZ2lkICJBIEdpdCBHbG9zc2FyeSIKK21zZ3N0ciAiVW4gZ2xvc3NhcmlvIGRpIEdpdCIKIAotIzogZ2l0LWFtLnNoOjQ4MQotIywgc2gtZm9ybWF0Ci1tc2dpZCAicHJldmlvdXMgcmViYXNlIGRpcmVjdG9yeSAkZG90ZXN0IHN0aWxsIGV4aXN0cyBidXQgbWJveCBnaXZlbi4iCi1tc2dzdHIgIiIKKyM6IGNvbW1hbmQtbGlzdC5oOjIwMworbXNnaWQgIkhvb2tzIHVzZWQgYnkgR2l0IgorbXNnc3RyICJIb29rIHVzYXRpIGRhIEdpdCIKIAotIzogZ2l0LWFtLnNoOjQ4NgotbXNnaWQgIlBsZWFzZSBtYWtlIHVwIHlvdXIgbWluZC4gLS1za2lwIG9yIC0tYWJvcnQ/IgotbXNnc3RyICJQZXIgZmF2b3JlLCBkZWNpZGl0aS4gLS1za2lwIG8gLS1hYm9ydD8iCisjOiBjb21tYW5kLWxpc3QuaDoyMDQKK21zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgorbXNnc3RyICJTcGVjaWZpY2EgaSBmaWxlIGludGVuemlvbmFsbWVudGUgbm9uIHRyYWNjaWF0aSBkYSBpZ25vcmFyZSIKIAotIzogZ2l0LWFtLnNoOjUxMwotbXNnaWQgIlJlc29sdmUgb3BlcmF0aW9uIG5vdCBpbiBwcm9ncmVzcywgd2UgYXJlIG5vdCByZXN1bWluZy4iCi1tc2dzdHIgIiIKKyM6IGNvbW1hbmQtbGlzdC5oOjIwNQorbXNnaWQgIkRlZmluaW5nIHN1Ym1vZHVsZSBwcm9wZXJ0aWVzIgorbXNnc3RyICJEZWZpbml6aW9uZSBwcm9wcmlldMOgIHNvdHRvbW9kdWxvIgogCi0jOiBnaXQtYW0uc2g6NTc5Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJEaXJ0eSBpbmRleDogY2Fubm90IGFwcGx5IHBhdGNoZXMgKGRpcnR5OiAkZmlsZXMpIgotbXNnc3RyICIiCisjOiBjb21tYW5kLWxpc3QuaDoyMDYKK21zZ2lkICJHaXQgbmFtZXNwYWNlcyIKK21zZ3N0ciAiU3BhemkgZGVpIG5vbWkgR2l0IgogCi0jOiBnaXQtYW0uc2g6NjcxCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iUGF0Y2ggaXMgZW1wdHkuICBXYXMgaXQgc3BsaXQgd3Jvbmc/XG4iCi0iSWYgeW91IHdvdWxkIHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIGluc3RlYWQgcnVuIFwiJGNtZGxpbmUgLS1za2lwXCIuXG4iCi0iVG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBzdG9wIHBhdGNoaW5nIHJ1biBcIiRjbWRsaW5lIC0tYWJvcnRcIi4iCi1tc2dzdHIgIiIKKyM6IGNvbW1hbmQtbGlzdC5oOjIwNworbXNnaWQgIkdpdCBSZXBvc2l0b3J5IExheW91dCIKK21zZ3N0ciAiU3RydXR0dXJhIHJlcG9zaXRvcnkgR2l0IgogCi0jOiBnaXQtYW0uc2g6NzA4Ci1tc2dpZCAiUGF0Y2ggZG9lcyBub3QgaGF2ZSBhIHZhbGlkIGUtbWFpbCBhZGRyZXNzLiIKLW1zZ3N0ciAiTGEgcGF0Y2ggbm9uIGNvbnRpZW5lIHVuIGluZGlyaXp6byBlbWFpbCB2YWxpZG8uIgorIzogY29tbWFuZC1saXN0Lmg6MjA4Cittc2dpZCAiU3BlY2lmeWluZyByZXZpc2lvbnMgYW5kIHJhbmdlcyBmb3IgR2l0IgorbXNnc3RyICJDb21lIHNwZWNpZmljYXJlIHJldmlzaW9uaSBlIGludGVydmFsbGkgaW4gR2l0IgogCi0jOiBnaXQtYW0uc2g6NzU1Ci1tc2dpZCAiY2Fubm90IGJlIGludGVyYWN0aXZlIHdpdGhvdXQgc3RkaW4gY29ubmVjdGVkIHRvIGEgdGVybWluYWwuIgotbXNnc3RyICIiCisjOiBjb21tYW5kLWxpc3QuaDoyMDkKK21zZ2lkICJNb3VudGluZyBvbmUgcmVwb3NpdG9yeSBpbnNpZGUgYW5vdGhlciIKK21zZ3N0ciAiTW9udG8gdW4gcmVwb3NpdG9yeSBkZW50cm8gdW4gYWx0cm8iCiAKLSM6IGdpdC1hbS5zaDo3NTkKLW1zZ2lkICJDb21taXQgQm9keSBpczoiCi1tc2dzdHIgIiIKKyM6IGNvbW1hbmQtbGlzdC5oOjIxMAorbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdDogcGFydCB0d28iCittc2dzdHIgIlVuIHR1dG9yaWFsIGludHJvZHV0dGl2byBwZXIgR2l0OiBzZWNvbmRhIHBhcnRlIgogCi0jLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3ldLCBbbl0sIFtlXSwgW3ZdIGFuZCBbYV0KLSMuIGluIHlvdXIgdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaAotIy4gaW5wdXQgYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1hbS5zaDo3NjYKLW1zZ2lkICJBcHBseT8gW3ldZXMvW25dby9bZV1kaXQvW3ZdaWV3IHBhdGNoL1thXWNjZXB0IGFsbCAiCi1tc2dzdHIgIkFwcGxpY2FyZT8gc8OsW3ldL25vW25dL21vZGlmaWNhW2VdL3Zpc3VhbGl6emEgcGF0Y2hbdl0vYWNjZXR0YSB0dXR0b1thXSAiCisjOiBjb21tYW5kLWxpc3QuaDoyMTEKK21zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQiCittc2dzdHIgIlVuIHR1dG9yaWFsIGludHJvZHV0dGl2byBwZXIgR2l0IgogCi0jOiBnaXQtYW0uc2g6ODAyCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJBcHBseWluZzogJEZJUlNUTElORSIKLW1zZ3N0ciAiIgorIzogY29tbWFuZC1saXN0Lmg6MjEyCittc2dpZCAiQW4gb3ZlcnZpZXcgb2YgcmVjb21tZW5kZWQgd29ya2Zsb3dzIHdpdGggR2l0IgorbXNnc3RyICJVbmEgcGFub3JhbWljYSBkZWkgZmx1c3NpIGRpIGxhdm9ybyByYWNjb21hbmRhdGkgaW4gR2l0IgogCi0jOiBnaXQtYW0uc2g6ODIzCi1tc2dpZCAiIgotIk5vIGNoYW5nZXMgLSBkaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnP1xuIgotIklmIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCB0byBzdGFnZSwgY2hhbmNlcyBhcmUgdGhhdCBzb21ldGhpbmcgZWxzZVxuIgotImFscmVhZHkgaW50cm9kdWNlZCB0aGUgc2FtZSBjaGFuZ2VzOyB5b3UgbWlnaHQgd2FudCB0byBza2lwIHRoaXMgcGF0Y2guIgotbXNnc3RyICIiCi0KLSM6IGdpdC1hbS5zaDo4MzEKLW1zZ2lkICIiCi0iWW91IHN0aWxsIGhhdmUgdW5tZXJnZWQgcGF0aHMgaW4geW91ciBpbmRleFxuIgotImRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/IgotbXNnc3RyICIiCi0KLSM6IGdpdC1hbS5zaDo4NDcKLW1zZ2lkICJObyBjaGFuZ2VzIC0tIFBhdGNoIGFscmVhZHkgYXBwbGllZC4iCi1tc2dzdHIgIk5lc3N1bmEgbW9kaWZpY2EgLS0gcGF0Y2ggZ2nDoCBhcHBsaWNhdGEuIgotCi0jOiBnaXQtYW0uc2g6ODU3Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJQYXRjaCBmYWlsZWQgYXQgJG1zZ251bSAkRklSU1RMSU5FIgotbXNnc3RyICJQYXRjaCBub24gcml1c2NpdGEgYSAkbXNnbnVtICRGSVJTVExJTkUiCi0KLSM6IGdpdC1hbS5zaDo4NzMKLW1zZ2lkICJhcHBseWluZyB0byBhbiBlbXB0eSBoaXN0b3J5IgotbXNnc3RyICIiCi0KLSM6IGdpdC1iaXNlY3Quc2g6NDgKKyM6IGdpdC1iaXNlY3Quc2g6NTQKIG1zZ2lkICJZb3UgbmVlZCB0byBzdGFydCBieSBcImdpdCBiaXNlY3Qgc3RhcnRcIiIKIG1zZ3N0ciAiRGV2aSBpbml6aWFyZSBjb24gXCJnaXQgYmlzZWN0IHN0YXJ0XCIiCiAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbWV0gYW5kIFtuXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LWJpc2VjdC5zaDo1NAorIzogZ2l0LWJpc2VjdC5zaDo2MAogbXNnaWQgIkRvIHlvdSB3YW50IG1lIHRvIGRvIGl0IGZvciB5b3UgW1kvbl0/ICIKIG1zZ3N0ciAiVnVvaSBjaGUgbWUgbmUgb2NjdXBpIGlvIFtZL25dPyAiCiAKLSM6IGdpdC1iaXNlY3Quc2g6OTUKKyM6IGdpdC1iaXNlY3Quc2g6MTAxCiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbmlzZWQgb3B0aW9uOiAnJGFyZyciCi1tc2dzdHIgIm9wemlvbmUgbm9uIHJpY29ub3NjaXV0YTogJyRhcmcnIgorbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRhcmciCittc2dzdHIgIlJldmlzaW9uZSBmb3JuaXRhIG5vbiB2YWxpZGE6ICRhcmciCiAKLSM6IGdpdC1iaXNlY3Quc2g6OTkKKyM6IGdpdC1iaXNlY3Quc2g6MTIxCiAjLCBzaC1mb3JtYXQKLW1zZ2lkICInJGFyZycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgdmFsaWQgcmV2aXNpb24iCi1tc2dzdHIgIickYXJnJyBub24gc2VtYnJhIGVzc2VyZSB1bmEgcmV2aXNpb25lIHZhbGlkYSIKLQotIzogZ2l0LWJpc2VjdC5zaDoxMTcKLW1zZ2lkICJCYWQgSEVBRCAtIEkgbmVlZCBhIEhFQUQiCi1tc2dzdHIgIiIKK21zZ2lkICJCYWQgcmV2IGlucHV0OiAkYmlzZWN0ZWRfaGVhZCIKK21zZ3N0ciAiUmV2aXNpb25lIGZvcm5pdGEgbm9uIHZhbGlkYTogJGJpc2VjdGVkX2hlYWQiCiAKICM6IGdpdC1iaXNlY3Quc2g6MTMwCiAjLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iQ2hlY2tpbmcgb3V0ICckc3RhcnRfaGVhZCcgZmFpbGVkLiBUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPHZhbGlkYnJhbmNoPicuIgotbXNnc3RyICIiCi0iQ2hlY2tvdXQgZGkgJyRzdGFydF9oZWFkJyBub24gcml1c2NpdG8uIFByb3ZhICdnaXQgYmlzZWN0IHJlc2V0ICIKLSI8YnJhbmNoLXZhbGlkbz4nLiIKLQotIzogZ2l0LWJpc2VjdC5zaDoxNDAKLW1zZ2lkICJ3b24ndCBiaXNlY3Qgb24gc2Vla2VkIHRyZWUiCi1tc2dzdHIgIiIKLQotIzogZ2l0LWJpc2VjdC5zaDoxNDQKLW1zZ2lkICJCYWQgSEVBRCAtIHN0cmFuZ2Ugc3ltYm9saWMgcmVmIgotbXNnc3RyICJIRUFEIGVycmF0byAtIHN0cmFubyByZWYgc2ltYm9saWNvIgotCi0jOiBnaXQtYmlzZWN0LnNoOjE4OQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQmFkIGJpc2VjdF93cml0ZSBhcmd1bWVudDogJHN0YXRlIgotbXNnc3RyICJBcmdvbWVudG8gYmlzZWN0X3dyaXRlIGVycmF0bzogJHN0YXRlIgotCi0jOiBnaXQtYmlzZWN0LnNoOjIxOAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQmFkIHJldiBpbnB1dDogJGFyZyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjIzMgotbXNnaWQgIlBsZWFzZSBjYWxsICdiaXNlY3Rfc3RhdGUnIHdpdGggYXQgbGVhc3Qgb25lIGFyZ3VtZW50LiIKLW1zZ3N0ciAiUGVyIGZhdm9yZSwgY2hpYW1hICdiaXNlY3Rfc3RhdGUnIGNvbiBhbG1lbm8gdW4gYXJnb21lbnRvLiIKLQotIzogZ2l0LWJpc2VjdC5zaDoyNDQKLSMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRyZXYiCi1tc2dzdHIgIiIKK21zZ3N0ciAiUmV2aXNpb25lIGZvcm5pdGEgbm9uIHZhbGlkYTogJHJldiIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNTAKLW1zZ2lkICInZ2l0IGJpc2VjdCBiYWQnIGNhbiB0YWtlIG9ubHkgb25lIGFyZ3VtZW50LiIKLW1zZ3N0ciAiJ2dpdCBiaXNlY3QgYmFkJyBwdcOyIHByZW5kZXJlIHVuIHNvbG8gYXJnb21lbnRvLiIKLQotIy4gaGF2ZSBiYWQgYnV0IG5vdCBnb29kLiAgd2UgY291bGQgYmlzZWN0IGFsdGhvdWdoCi0jLiB0aGlzIGlzIGxlc3Mgb3B0aW11bS4KLSM6IGdpdC1iaXNlY3Quc2g6MjczCi1tc2dpZCAiV2FybmluZzogYmlzZWN0aW5nIG9ubHkgd2l0aCBhIGJhZCBjb21taXQuIgotbXNnc3RyICIiCi0KLSMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbWV0gYW5kIFtuXSBpbiB5b3VyCi0jLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0Ci0jLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LWJpc2VjdC5zaDoyNzkKLW1zZ2lkICJBcmUgeW91IHN1cmUgW1kvbl0/ICIKLW1zZ3N0ciAiU2VpIHNpY3Vybz8gW1kvbl0gIgotCi0jOiBnaXQtYmlzZWN0LnNoOjI4OQotbXNnaWQgIiIKLSJZb3UgbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSBnb29kIGFuZCBvbmUgYmFkIHJldmlzaW9ucy5cbiIKLSIoWW91IGNhbiB1c2UgXCJnaXQgYmlzZWN0IGJhZFwiIGFuZCBcImdpdCBiaXNlY3QgZ29vZFwiIGZvciB0aGF0LikiCi1tc2dzdHIgIiIKLSJEZXZpIHNwZWNpZmljYXJlIGFsbWVubyB1bmEgcmV2aXNpb25lIGNvcnJldHRhIGVkIHVuYSBlcnJhdGEuXG4iCi0iKFB1b2kgdXNhcmUgXCJnaXQgYmlzZWN0IGJhZFwiIGUgXCJnaXQgYmlzZWN0IGdvb2RcIiBwZXIgcXVlc3RvIHNjb3BvLikiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MjkyCi1tc2dpZCAiIgotIllvdSBuZWVkIHRvIHN0YXJ0IGJ5IFwiZ2l0IGJpc2VjdCBzdGFydFwiLlxuIgotIllvdSB0aGVuIG5lZWQgdG8gZ2l2ZSBtZSBhdCBsZWFzdCBvbmUgZ29vZCBhbmQgb25lIGJhZCByZXZpc2lvbnMuXG4iCi0iKFlvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCBiYWRcIiBhbmQgXCJnaXQgYmlzZWN0IGdvb2RcIiBmb3IgdGhhdC4pIgotbXNnc3RyICIiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MzQ3IGdpdC1iaXNlY3Quc2g6NDc0Ci1tc2dpZCAiV2UgYXJlIG5vdCBiaXNlY3RpbmcuIgotbXNnc3RyICJOb24gc3RpYW1vIGVzZWd1ZW5kbyB1biBiaXNlY3QuIgotCi0jOiBnaXQtYmlzZWN0LnNoOjM1NAorIzogZ2l0LWJpc2VjdC5zaDoxMzkKICMsIHNoLWZvcm1hdAotbXNnaWQgIickaW52YWxpZCcgaXMgbm90IGEgdmFsaWQgY29tbWl0IgotbXNnc3RyICInJGludmFsaWQnIG5vbiDDqCB1biBjb21taXQgdmFsaWRvIgorbXNnaWQgIidnaXQgYmlzZWN0ICRURVJNX0JBRCcgY2FuIHRha2Ugb25seSBvbmUgYXJndW1lbnQuIgorbXNnc3RyICInZ2l0IGJpc2VjdCAkVEVSTV9CQUQnIHJpY2hpZWRlIHVuIHNvbG8gYXJnb21lbnRvLiIKIAotIzogZ2l0LWJpc2VjdC5zaDozNjMKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJDb3VsZCBub3QgY2hlY2sgb3V0IG9yaWdpbmFsIEhFQUQgJyRicmFuY2gnLlxuIgotIlRyeSAnZ2l0IGJpc2VjdCByZXNldCA8Y29tbWl0PicuIgotbXNnc3RyICIiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MzkwCisjOiBnaXQtYmlzZWN0LnNoOjIwOQogbXNnaWQgIk5vIGxvZ2ZpbGUgZ2l2ZW4iCiBtc2dzdHIgIk5lc3N1biBmaWxlIGRpIGxvZyBzcGVjaWZpY2F0byIKIAotIzogZ2l0LWJpc2VjdC5zaDozOTEKKyM6IGdpdC1iaXNlY3Quc2g6MjEwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAkZmlsZSBmb3IgcmVwbGF5aW5nIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgJGZpbGUgcGVyIHJpZXNlZ3VpcmUgaSBjb21hbmRpIGNvbnRlbnV0aSIKIAotIzogZ2l0LWJpc2VjdC5zaDo0MDgKKyM6IGdpdC1iaXNlY3Quc2g6MjMyCiBtc2dpZCAiPz8gd2hhdCBhcmUgeW91IHRhbGtpbmcgYWJvdXQ/IgotbXNnc3RyICI/PyBkaSBjb3NhIHNpIHN0YSBwYXJsYW5kbz8iCittc2dzdHIgIj8/IGRpIGNvc2Egc3RhaSBwYXJsYW5kbz8iCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDIwCisjOiBnaXQtYmlzZWN0LnNoOjI0MQorbXNnaWQgImJpc2VjdCBydW4gZmFpbGVkOiBubyBjb21tYW5kIHByb3ZpZGVkLiIKK21zZ3N0ciAiZXNlY3V6aW9uZSBkaSBiaXNlY3Qgbm9uIHJpdXNjaXRhOiBuZXNzdW4gY29tYW5kbyBmb3JuaXRvLiIKKworIzogZ2l0LWJpc2VjdC5zaDoyNDYKICMsIHNoLWZvcm1hdAogbXNnaWQgInJ1bm5pbmcgJGNvbW1hbmQiCi1tc2dzdHIgInN0byBlc2VndWVuZG8gJGNvbW1hbmQiCittc2dzdHIgImVzZWN1emlvbmUgZGkgJGNvbW1hbmQgaW4gY29yc28iCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDI3CisjOiBnaXQtYmlzZWN0LnNoOjI1MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImJpc2VjdCBydW4gZmFpbGVkOlxuIgogImV4aXQgY29kZSAkcmVzIGZyb20gJyRjb21tYW5kJyBpcyA8IDAgb3IgPj0gMTI4IgogbXNnc3RyICIiCi0iYmlzZWN0IHJ1biBub24gcml1c2NpdG86XG4iCisiZXNlY3V6aW9uZSBkaSBiaXNlY3Qgbm9uIHJpdXNjaXRhOlxuIgogImlsIGNvZGljZSBkaSB1c2NpdGEgJHJlcyBkYSAnJGNvbW1hbmQnIMOoIDwgMCBvcHB1cmUgPj0gMTI4IgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ1MworIzogZ2l0LWJpc2VjdC5zaDoyNzkKIG1zZ2lkICJiaXNlY3QgcnVuIGNhbm5vdCBjb250aW51ZSBhbnkgbW9yZSIKLW1zZ3N0ciAiYmlzZWN0IHJ1biBub24gcHXDsiBwacO5IHByb3NlZ3VpcmUiCittc2dzdHIgImwnZXNlY3V6aW9uZSBkaSBiaXNlY3Qgbm9uIHB1w7IgcGnDuSBwcm9zZWd1aXJlIgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ1OQorIzogZ2l0LWJpc2VjdC5zaDoyODUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJiaXNlY3QgcnVuIGZhaWxlZDpcbiIKICInYmlzZWN0X3N0YXRlICRzdGF0ZScgZXhpdGVkIHdpdGggZXJyb3IgY29kZSAkcmVzIgogbXNnc3RyICIiCi0iYmlzZWN0IHJ1biBub24gcml1c2NpdG86XG4iCi0iYmlzZWN0X3N0YXRlICRzdGF0ZSDDqCB1c2NpdG8gY29uIGlsIGNvZGljZSBkaSBlcnJvcmUgJHJlcyIKKyJlc2VjdXppb25lIGRpIGJpc2VjdCBub24gcml1c2NpdGE6XG4iCisiJ2Jpc2VjdF9zdGF0ZSAkc3RhdGUnIMOoIHVzY2l0byBjb24gaWwgY29kaWNlIGRpIGVycm9yZSAkcmVzIgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ2NgorIzogZ2l0LWJpc2VjdC5zaDoyOTIKIG1zZ2lkICJiaXNlY3QgcnVuIHN1Y2Nlc3MiCi1tc2dzdHIgImJpc2VjdCBydW4gZXNlZ3VpdG8gY29uIHN1Y2Nlc3NvIgorbXNnc3RyICJlc2VjdXppb25lIGRpIGJpc2VjdCBjb21wbGV0YXRhIGNvbiBzdWNjZXNzbyIKIAotIzogZ2l0LXB1bGwuc2g6MjEKKyM6IGdpdC1iaXNlY3Quc2g6MzAwCittc2dpZCAiV2UgYXJlIG5vdCBiaXNlY3RpbmcuIgorbXNnc3RyICJOb24gc3RpYW1vIGVzZWd1ZW5kbyB1bmEgYmlzZXppb25lLiIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NDYKIG1zZ2lkICIiCi0iUHVsbCBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy5cbiIKLSJQbGVhc2UsIGZpeCB0aGVtIHVwIGluIHRoZSB3b3JrIHRyZWUsIGFuZCB0aGVuIHVzZSAnZ2l0IGFkZC9ybSA8ZmlsZT4nXG4iCi0iYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uLCBvciB1c2UgJ2dpdCBjb21taXQgLWEnLiIKKyJFcnJvcjogWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgorIm1lcmdlIgogbXNnc3RyICIiCisiRXJyb3JlOiBsZSB0dWUgbW9kaWZpY2hlIGxvY2FsaSBhaSBzZWd1ZW50aSBmaWxlIHNhcmViYmVybyBzb3ZyYXNjcml0dGUgZGFsICIKKyJtZXJnZSIKIAotIzogZ2l0LXB1bGwuc2g6MjUKLW1zZ2lkICJQdWxsIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKLW1zZ3N0ciAiIgotIklsIHB1bGwgbm9uIMOoIHBvc3NpYmlsZSBwZXJjaMOpIGNpIHNvbm8gZmlsZSBkaSBjdWkgbm9uIMOoIHN0YXRvIGVzZWd1aXRvIGlsICIKLSJtZXJnZS4iCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo2MQorbXNnaWQgIkF1dG9tYXRlZCBtZXJnZSBkaWQgbm90IHdvcmsuIgorbXNnc3RyICJJbCBtZXJnZSBhdXRvbWF0aWNvIG5vbiBoYSBmdW56aW9uYXRvLiIKIAotIzogZ2l0LXB1bGwuc2g6MTk3Ci1tc2dpZCAidXBkYXRpbmcgYW4gdW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4IgotbXNnc3RyICIiCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo2MgorbXNnaWQgIlNob3VsZCBub3QgYmUgZG9pbmcgYW4gb2N0b3B1cy4iCittc2dzdHIgIk5vbiBkb3ZyZWJiZSBlc3NlcmUgZXNlZ3VpdG8gdW4gbWVyZ2Ugb2N0b3B1cy4iCiAKLSMuIFRoZSBmZXRjaCBpbnZvbHZlZCB1cGRhdGluZyB0aGUgY3VycmVudCBicmFuY2guCi0jLiBUaGUgd29ya2luZyB0cmVlIGFuZCB0aGUgaW5kZXggZmlsZSBpcyBzdGlsbCBiYXNlZCBvbiB0aGUKLSMuICRvcmlnX2hlYWQgY29tbWl0LCBidXQgd2UgYXJlIG1lcmdpbmcgaW50byAkY3Vycl9oZWFkLgotIy4gRmlyc3QgdXBkYXRlIHRoZSB3b3JraW5nIHRyZWUgdG8gbWF0Y2ggJGN1cnJfaGVhZC4KLSM6IGdpdC1wdWxsLnNoOjIyOAorIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NzMKICMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJXYXJuaW5nOiBmZXRjaCB1cGRhdGVkIHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkLlxuIgotIldhcm5pbmc6IGZhc3QtZm9yd2FyZGluZyB5b3VyIHdvcmtpbmcgdHJlZSBmcm9tXG4iCi0iV2FybmluZzogY29tbWl0ICRvcmlnX2hlYWQuIgotbXNnc3RyICIiCittc2dpZCAiVW5hYmxlIHRvIGZpbmQgY29tbW9uIGNvbW1pdCB3aXRoICRwcmV0dHlfbmFtZSIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgdHJvdmFyZSB1biBjb21taXQgY29tdW5lIGNvbiAkcHJldHR5X25hbWUiCiAKLSM6IGdpdC1wdWxsLnNoOjI1MwotbXNnaWQgIkNhbm5vdCBtZXJnZSBtdWx0aXBsZSBicmFuY2hlcyBpbnRvIGVtcHR5IGhlYWQiCi1tc2dzdHIgIkltcG9zc2liaWxlIGVzZWd1aXJlIGlsIG1lcmdlIGRpIGJyYW5jaCBtdWx0aXBsaSBpbiB1biBoZWFkIHZ1b3RvIgorIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NzcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZSB3aXRoICRwcmV0dHlfbmFtZSIKK21zZ3N0ciAiR2nDoCBhZ2dpb3JuYXRvIHJpc3BldHRvIGEgJHByZXR0eV9uYW1lIgogCi0jOiBnaXQtcHVsbC5zaDoyNTcKLW1zZ2lkICJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMiCi1tc2dzdHIgIkltcG9zc2liaWxlIGVzZWd1aXJlIGlsIHJlYmFzZSBzdSBicmFuY2ggbXVsdGlwbGkiCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo4OQorIywgc2gtZm9ybWF0Cittc2dpZCAiRmFzdC1mb3J3YXJkaW5nIHRvOiAkcHJldHR5X25hbWUiCittc2dzdHIgIkVzZWd1byBpbCBmYXN0IGZvcndhcmQgYTogJHByZXR0eV9uYW1lIgogCi0jOiBnaXQtc3Rhc2guc2g6NTEKLW1zZ2lkICJnaXQgc3Rhc2ggY2xlYXIgd2l0aCBwYXJhbWV0ZXJzIGlzIHVuaW1wbGVtZW50ZWQiCi1tc2dzdHIgImdpdCBzdGFzaCBjbGVhciBjb24gcGFyYW1ldHJpIG5vbiDDqCBpbXBsZW1lbnRhdG8iCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo5NworIywgc2gtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHNpbXBsZSBtZXJnZSB3aXRoICRwcmV0dHlfbmFtZSIKK21zZ3N0ciAiUHJvdm8gdW4gbWVyZ2Ugc2VtcGxpY2UgY29uICRwcmV0dHlfbmFtZSIKIAotIzogZ2l0LXN0YXNoLnNoOjc0Ci1tc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCi1tc2dzdHIgIk5vbiBoYWkgYW5jb3JhIHVuIGNvbW1pdCBpbml6aWFsZSIKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjEwMgorbXNnaWQgIlNpbXBsZSBtZXJnZSBkaWQgbm90IHdvcmssIHRyeWluZyBhdXRvbWF0aWMgbWVyZ2UuIgorbXNnc3RyICJJbCBtZXJnZSBzZW1wbGljZSBub24gaGEgZnVuemlvbmF0bywgcHJvdm8gaWwgbWVyZ2UgYXV0b21hdGljby4iCiAKLSM6IGdpdC1zdGFzaC5zaDo4OQotbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IGluZGV4IHN0YXRlIgotbXNnc3RyICJJbXBvc3NpYmlsZSBzYWx2YXJlIGxvIHN0YXRvIGNvcnJlbnRlIGRpIGluZGV4IgotCi0jOiBnaXQtc3Rhc2guc2g6MTIzIGdpdC1zdGFzaC5zaDoxMzYKLW1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCB3b3JrdHJlZSBzdGF0ZSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6MTQwCi1tc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKLW1zZ3N0ciAiTmVzc3VuYSBtb2RpZmljYSBzZWxlemlvbmF0YSIKLQotIzogZ2l0LXN0YXNoLnNoOjE0MworIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMjEKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHRlbXBvcmFyeSBpbmRleCAoY2FuJ3QgaGFwcGVuKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbXBvc3NpYmlsZSByaW11b3ZlcmUgbCdpbmRpY2UgdGVtcG9yYW5lbyAobm9uIHB1w7Igc3VjY2VkZXJlKSIKIAotIzogZ2l0LXN0YXNoLnNoOjE1NgotbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgotbXNnc3RyICIiCi0KLSMuIFRSQU5TTEFUT1JTOiAkb3B0aW9uIGlzIGFuIGludmFsaWQgb3B0aW9uLCBsaWtlCi0jLiBgLS1ibGFoLWJsYWgnLiBUaGUgNyBzcGFjZXMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUKLSMuIHNlY29uZCBsaW5lIGNvcnJlc3BvbmQgdG8gImVycm9yOiAiLiBTbyB5b3Ugc2hvdWxkIGxpbmUKLSMuIHVwIHRoZSBzZWNvbmQgbGluZSB3aXRoIGhvd2V2ZXIgbWFueSBjaGFyYWN0ZXJzIHRoZQotIy4gdHJhbnNsYXRpb24gb2YgImVycm9yOiAiIHRha2VzIGluIHlvdXIgbGFuZ3VhZ2UuIEUuZy4gaW4KLSMuIEVuZ2xpc2ggdGhpcyBpczoKLSMuCi0jLiAkIGdpdCBzdGFzaCBzYXZlIC0tYmxhaC1ibGFoIDI+JjEgfCBoZWFkIC1uIDIKLSMuIGVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAtLWJsYWgtYmxhaAotIy4gVG8gcHJvdmlkZSBhIG1lc3NhZ2UsIHVzZSBnaXQgc3Rhc2ggc2F2ZSAtLSAnLS1ibGFoLWJsYWgnCi0jOiBnaXQtc3Rhc2guc2g6MjAyCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjI3MgogIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotImVycm9yOiB1bmtub3duIG9wdGlvbiBmb3IgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCi0iICAgICAgIFRvIHByb3ZpZGUgYSBtZXNzYWdlLCB1c2UgZ2l0IHN0YXNoIHNhdmUgLS0gJyRvcHRpb24nIgotbXNnc3RyICIiCi0iZXJyb3JlOiBvcHppb25lIHNjb25vc2NpdXRhIHBlciAnc3Rhc2ggc2F2ZSc6ICRvcHRpb25cbiIKLSIgICAgICAgIFBlciBhZ2dpdW5nZXJlIHVuIG1lc3NhZ2dpbywgdXNhcmUgZ2l0IHN0YXNoIHNhdmUgLS0gJyRvcHRpb24nIgorbXNnaWQgIkNhbm5vdCB1cGRhdGUgJHJlZl9zdGFzaCB3aXRoICR3X2NvbW1pdCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWdnaW9ybmFyZSAkcmVmX3N0YXNoIGNvbiAkd19jb21taXQiCiAKLSM6IGdpdC1zdGFzaC5zaDoyMjMKLW1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCi1tc2dzdHIgIk5lc3N1bmEgbW9kaWZpY2EgbG9jYWxlIGRhIHNhbHZhcmUiCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjMyNAorIywgc2gtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggcHVzaCc6ICRvcHRpb24iCittc2dzdHIgImVycm9yZTogb3B6aW9uZSBzY29ub3NjaXV0YSBwZXIgJ3N0YXNoIHB1c2gnOiAkb3B0aW9uIgogCi0jOiBnaXQtc3Rhc2guc2g6MjI3Ci1tc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCi1tc2dzdHIgIkltcG9zc2liaWxlIGluaXppYWxpenphcmUgc3Rhc2giCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjM1NgorIywgc2gtZm9ybWF0Cittc2dpZCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlICRzdGFzaF9tc2ciCittc2dzdHIgIkRpcmVjdG9yeSBkaSBsYXZvcm8gZSBzdGF0byBpbmRpY2Ugc2FsdmF0aTogJHN0YXNoX21zZyIKIAotIzogZ2l0LXN0YXNoLnNoOjIzNQotbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHN0YXR1cyIKLW1zZ3N0ciAiSW1wb3NzaWJpbGUgc2FsdmFyZSBsbyBzdGF0byBhdHR1YWxlIgorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1MzYKKyMsIHNoLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uOiAkb3B0IgorbXNnc3RyICJvcHppb25lIHNjb25vc2NpdXRhOiAkb3B0IgogCi0jOiBnaXQtc3Rhc2guc2g6MjUzCi1tc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdGFzaC5zaDozNTIKLW1zZ2lkICJObyBzdGFzaCBmb3VuZC4iCi1tc2dzdHIgIk5lc3N1bm8gc3Rhc2ggdHJvdmF0by4iCi0KLSM6IGdpdC1zdGFzaC5zaDozNTkKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NTU2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICJUcm9wcGUgcmV2aXNpb25pIHNwZWNpZmljYXRlOiAkUkVWIgogCi0jOiBnaXQtc3Rhc2guc2g6MzY1CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjU3MQogIywgc2gtZm9ybWF0Ci1tc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgdmFsaWQgcmVmZXJlbmNlIgorbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNlIG5vbiDDqCB1biByaWZlcmltZW50byB2YWxpZG8iCiAKLSM6IGdpdC1zdGFzaC5zaDozOTMKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NTk5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoLWxpa2UgY29tbWl0IgogbXNnc3RyICInJGFyZ3MnIG5vbiDDqCB1biBjb21taXQgZGkgdGlwbyBzdGFzaCIKIAotIzogZ2l0LXN0YXNoLnNoOjQwNAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2MTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2ggcmVmZXJlbmNlIgotbXNnc3RyICInJGFyZ3MnIG5vbiDDqCB1biByZWZlcmltZW50byBhIHVubyBzdGFzaCIKK21zZ3N0ciAiJyRhcmdzJyBub24gw6ggdW4gcmlmZXJpbWVudG8gYSB1bm8gc3Rhc2giCiAKLSM6IGdpdC1zdGFzaC5zaDo0MTIKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjE4CiBtc2dpZCAidW5hYmxlIHRvIHJlZnJlc2ggaW5kZXgiCi1tc2dzdHIgImltcG9zc2liaWxlIGFnZ2lvcm5hcmUgaW5kZXgiCittc2dzdHIgImltcG9zc2liaWxlIGFnZ2lvcm5hcmUgbCdpbmRpY2UiCiAKLSM6IGdpdC1zdGFzaC5zaDo0MTYKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjIyCiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgogbXNnc3RyICJJbXBvc3NpYmlsZSBhcHBsaWNhcmUgdW5vIHN0YXNoIG5lbCBtZXp6byBkaSB1biBtZXJnZSIKIAotIzogZ2l0LXN0YXNoLnNoOjQyNAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2MzAKIG1zZ2lkICJDb25mbGljdHMgaW4gaW5kZXguIFRyeSB3aXRob3V0IC0taW5kZXguIgogbXNnc3RyICJDaSBzb25vIGNvbmZsaXR0aSBpbiBpbmRleC4gUHJvdmEgc2VuemEgLS1pbmRleC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo0MjYKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjMyCiBtc2dpZCAiQ291bGQgbm90IHNhdmUgaW5kZXggdHJlZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJOb24gw6ggc3RhdG8gcG9zc2liaWxlIHNhbHZhcmUgbCdhbGJlcm8gaW5kaWNlIgogCi0jOiBnaXQtc3Rhc2guc2g6NDYwCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjY0MQorbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIGVudHJ5IgorbXNnc3RyICIiCisiTm9uIMOoIHN0YXRvIHBvc3NpYmlsZSByaXByaXN0aW5hcmUgaSBmaWxlIG5vbiB0cmFjY2lhdGkgZGFsbGEgdm9jZSBzdGFzaCIKKworIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2NjYKIG1zZ2lkICJDYW5ub3QgdW5zdGFnZSBtb2RpZmllZCBmaWxlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJOb24gw6ggc3RhdG8gcG9zc2liaWxlIHJpbXVvdmVyZSBpIGZpbGUgbW9kaWZpY2F0aSBkYWxsJ2FyZWEgZGkgc3RhZ2luZyIKIAotIzogZ2l0LXN0YXNoLnNoOjQ3NAotbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3Rhc2guc2g6NDkxCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjcwNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiRHJvcHBlZCAke1JFVn0gKCRzKSIKIG1zZ3N0ciAiJHtSRVZ9IGVsaW1pbmF0YSAoJHMpIgogCi0jOiBnaXQtc3Rhc2guc2g6NDkyCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjcwNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiJHtSRVZ9OiBub24gw6ggc3RhdG8gcG9zc2liaWxlIHJpbXVvdmVyZSBsYSB2b2NlIGRpIHN0YXNoIgogCi0jOiBnaXQtc3Rhc2guc2g6NDk5Ci1tc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgotbXNnc3RyICJOb21lIGRlbCBicmFuY2ggbm9uIHNwZWNpZmljYXRvIgotCi0jOiBnaXQtc3Rhc2guc2g6NTcwCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjc5MgogbXNnaWQgIihUbyByZXN0b3JlIHRoZW0gdHlwZSBcImdpdCBzdGFzaCBhcHBseVwiKSIKIG1zZ3N0ciAiKFBlciByaXByaXN0aW5hcmxpIGRpZ2l0YSBcImdpdCBzdGFzaCBhcHBseVwiKSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHN0cmlwIG9uZSBjb21wb25lbnQgb2ZmIHVybCAnJHJlbW90ZXVybCciCisjOiBnaXQtc3VibW9kdWxlLnNoOjIwMgorbXNnaWQgIlJlbGF0aXZlIHBhdGggY2FuIG9ubHkgYmUgdXNlZCBmcm9tIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICIiCisiSWwgcGVyY29yc28gcmVsYXRpdm8gcHXDsiBlc3NlcmUgdXNhdG8gc29sbyBkYWwgcHJpbW8gbGl2ZWxsbyBkZWxsJ2FsYmVybyBkaSAiCisibGF2b3JvIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjEwOQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiTm8gc3VibW9kdWxlIG1hcHBpbmcgZm91bmQgaW4gLmdpdG1vZHVsZXMgZm9yIHBhdGggJyRzbV9wYXRoJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjE1MAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ2xvbmUgb2YgJyR1cmwnIGludG8gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyBmYWlsZWQiCi1tc2dzdHIgIiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDoxNjAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkdpdGRpciAnJGEnIGlzIHBhcnQgb2YgdGhlIHN1Ym1vZHVsZSBwYXRoICckYicgb3IgdmljZSB2ZXJzYSIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI0OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTIKICMsIHNoLWZvcm1hdAogbXNnaWQgInJlcG8gVVJMOiAnJHJlcG8nIG11c3QgYmUgYWJzb2x1dGUgb3IgYmVnaW4gd2l0aCAuL3wuLi8iCi1tc2dzdHIgInJlcG8gVVJMOiAnJHJlcG8nIGRldmUgZXNzZXJlIGFzc29sdXRvIG8gaW5pemlhcmUgY29uIC4vfC4uLyIKK21zZ3N0ciAiVVJMIHJlcG9zaXRvcnk6OiAnJHJlcG8nIGRldmUgZXNzZXJlIGFzc29sdXRvIG8gaW5pemlhcmUgY29uIC4vfC4uLyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjMxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCIKLW1zZ3N0ciAiJyRzbV9wYXRoJyBlc2lzdGUgZ2nDoCBpbiBpbmRleCIKK21zZ3N0ciAiJyRzbV9wYXRoJyBlc2lzdGUgZ2nDoCBuZWxsJ2luZGljZSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjM0CisjLCBzaC1mb3JtYXQKK21zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCBhbmQgaXMgbm90IGEgc3VibW9kdWxlIgorbXNnc3RyICInJHNtX3BhdGgnIGVzaXN0ZSBnacOgIG5lbGwnaW5kaWNlIGUgbm9uIMOoIHVuIHNvdHRvbW9kdWxvIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjI0MQorIywgc2gtZm9ybWF0Cittc2dpZCAiJyRzbV9wYXRoJyBkb2VzIG5vdCBoYXZlIGEgY29tbWl0IGNoZWNrZWQgb3V0IgorbXNnc3RyICInJHNtX3BhdGgnIG5vbiBoYSB1biBjb21taXQgZGkgY3VpIMOoIHN0YXRvIGVzZWd1aXRvIGlsIGNoZWNrb3V0IgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjI0NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgcGF0aCBpcyBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCiAiJHNtX3BhdGhcbiIKICJVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCBpdC4iCiBtc2dzdHIgIiIKLSJJbCBzZWd1ZW50ZSBwYXRoIMOoIGlnbm9yYXRvIGRhIHVubyBkZWkgdHVvaSBmaWxlIC5naXRpZ25vcmU6XG4iCisiSWwgc2VndWVudGUgcGVyY29yc28gw6ggaWdub3JhdG8gZGEgdW5vIGRlaSB0dW9pIGZpbGUgLmdpdGlnbm9yZTpcbiIKICIkc21fcGF0aFxuIgogIlVzYSAtZiBzZSB2dW9pIGRhdnZlcm8gYWdnaXVuZ2VybG8uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgotbXNnc3RyICIiCittc2dzdHIgIkFnZ2l1bnRhIGRlbCByZXBvc2l0b3J5IGVzaXN0ZW50ZSBpbiAnJHNtX3BhdGgnIGFsbCdpbmRpY2UiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjgzCisjOiBnaXQtc3VibW9kdWxlLnNoOjI3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IGEgdmFsaWQgZ2l0IHJlcG8iCi1tc2dzdHIgIickc21fcGF0aCcgZXNpc3RlIGdpw6AgZSBub24gw6ggdW4gcmVwb3NpdG9yeSBnaXQgdmFsaWRvIgorbXNnc3RyICInJHNtX3BhdGgnIGVzaXN0ZSBnacOgIGUgbm9uIMOoIHVuIHJlcG9zaXRvcnkgR2l0IHZhbGlkbyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyOTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjgwCiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCittc2dpZCAiQSBnaXQgZGlyZWN0b3J5IGZvciAnJHNtX25hbWUnIGlzIGZvdW5kIGxvY2FsbHkgd2l0aCByZW1vdGUocyk6IgogbXNnc3RyICIiCisiw4ggc3RhdGEgdHJvdmF0YSBsb2NhbG1lbnRlIHVuYSBkaXJlY3RvcnkgR2l0IHBlciAnJHNtX25hbWUnIGNvbiBpIHNlZ3VlbnRpICIKKyJyZW1vdGk6IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMwMgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIGFkZCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMwNwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6MzQ5Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJFbnRlcmluZyAnJHByZWZpeCRzbV9wYXRoJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjM2MwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiU3RvcHBpbmcgYXQgJyRzbV9wYXRoJzsgc2NyaXB0IHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cy4iCi1tc2dzdHIgIiIKLSJJbnRlcnJ1emlvbmUgYSAnJHNtX3BhdGgnOyBsbyBzY3JpcHQgaGEgcmVzdGl0dWl0byB1bm8gc3RhdG8gZGl2ZXJzbyBkYSB6ZXJvLiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo0MDYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIk5vIHVybCBmb3VuZCBmb3Igc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyBpbiAuZ2l0bW9kdWxlcyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQxNQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQxNwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiU3VibW9kdWxlICckbmFtZScgKCR1cmwpIHJlZ2lzdGVyZWQgZm9yIHBhdGggJyRzbV9wYXRoJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjQyNQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTI0CisjOiBnaXQtc3VibW9kdWxlLnNoOjI4MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgotIlN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCcgbm90IGluaXRpYWxpemVkXG4iCi0iTWF5YmUgeW91IHdhbnQgdG8gdXNlICd1cGRhdGUgLS1pbml0Jz8iCisiSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tXG4iCisiICAkcmVhbHJlcG9cbiIKKyJ1c2UgdGhlICctLWZvcmNlJyBvcHRpb24uIElmIHRoZSBsb2NhbCBnaXQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgY29ycmVjdCAiCisicmVwb1xuIgorIm9yIHlvdSBhcmUgdW5zdXJlIHdoYXQgdGhpcyBtZWFucyBjaG9vc2UgYW5vdGhlciBuYW1lIHdpdGggdGhlICctLW5hbWUnICIKKyJvcHRpb24uIgogbXNnc3RyICIiCisiU2UgdnVvaSByaXVzYXJlIHF1ZXN0YSBkaXJlY3RvcnkgR2l0IGxvY2FsZSBhbnppY2jDqSBjbG9uYXJsYSBudW92YW1lbnRlIGRhXG4iCisiICAkcmVhbHJlcG9cbiIKKyJ1c2EgbCdvcHppb25lICctLWZvcmNlJy4gU2UgbGEgZGlyZWN0b3J5IEdpdCBsb2NhbGUgbm9uIMOoIGlsIHJlcG9zaXRvcnlcbiIKKyJjb3JyZXR0bywgbyBzZSBub24gc2VpIHNpY3VybyBkaSBjacOyIGNoZSBxdWVzdG8gdm9nbGlhIGRpcmUsIHNjZWdsaSB1biAiCisiYWx0cm9cbiIKKyJub21lIGNvbiBsJ29wemlvbmUgJy0tbmFtZScuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjUzNworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODgKICMsIHNoLWZvcm1hdAotbXNnaWQgIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKLW1zZ3N0ciAiIgorbXNnaWQgIlJlYWN0aXZhdGluZyBsb2NhbCBnaXQgZGlyZWN0b3J5IGZvciBzdWJtb2R1bGUgJyRzbV9uYW1lJy4iCittc2dzdHIgIlJpYXR0aXZvIGxhIGRpcmVjdG9yeSBHaXQgbG9jYWxlIHBlciBpbCBzb3R0b21vZHVsbyAnJHNtX25hbWUnLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NTYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzAwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCittc2dzdHIgIkltcG9zc2liaWxlIGVzZWd1aXJlIGlsIGNoZWNrb3V0IGRlbCBzb3R0b21vZHVsbyAnJHNtX3BhdGgnIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjMwNQorIywgc2gtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKK21zZ3N0ciAiQWdnaXVudGEgZGVsIHNvdHRvbW9kdWxvICckc21fcGF0aCcgbm9uIHJpdXNjaXRhIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjMxNAorIywgc2gtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgorbXNnc3RyICJSZWdpc3RyYXppb25lIGRlbCBzb3R0b21vZHVsbyAnJHNtX3BhdGgnIG5vbiByaXVzY2l0YSIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo1ODAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIiIKKyJJbXBvc3NpYmlsZSB0cm92YXJlIGxhIHJldmlzaW9uZSBjb3JyZW50ZSBuZWwgcGVyY29yc28gZGVsIHNvdHRvbW9kdWxvICIKKyInJGRpc3BsYXlwYXRoJyIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo1OTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnIgotbXNnc3RyICIiCittc2dzdHIgIkltcG9zc2liaWxlIGVzZWd1aXJlIGlsIGZldGNoIG5lbCBwZXJjb3JzbyBkZWwgc290dG9tb2R1bG8gJyRzbV9wYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NzAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTk1CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gcmViYXNlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKK21zZ2lkICIiCisiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgorIickc21fcGF0aCciCiBtc2dzdHIgIiIKKyJJbXBvc3NpYmlsZSB0cm92YXJlIGxhIHJldmlzaW9uZSBjb3JyZW50ZSBwZXIgJHtyZW1vdGVfbmFtZX0vJHticmFuY2h9IG5lbCAiCisicGVyY29yc28gZGVsIHNvdHRvbW9kdWxvICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTcxCisjOiBnaXQtc3VibW9kdWxlLnNoOjYxMwogIywgc2gtZm9ybWF0Ci1tc2dpZCAiU3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCittc2dpZCAiIgorIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzsgdHJ5aW5nIHRvIGRpcmVjdGx5IGZldGNoICIKKyIkc2hhMToiCiBtc2dzdHIgIiIKKyJJbXBvc3NpYmlsZSBlc2VndWlyZSBpbCBmZXRjaCBuZWwgcGVyY29yc28gZGVsIHNvdHRvbW9kdWxvICckZGlzcGxheXBhdGgnOyAiCisicHJvdm8gYSByZWN1cGVyYXJlIGRpcmV0dGFtZW50ZSAkc2hhMToiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTc2CisjOiBnaXQtc3VibW9kdWxlLnNoOjYxOQogIywgc2gtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKK21zZ2lkICIiCisiRmV0Y2hlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJywgYnV0IGl0IGRpZCBub3QgY29udGFpbiAkc2hhMS4gIgorIkRpcmVjdCBmZXRjaGluZyBvZiB0aGF0IGNvbW1pdCBmYWlsZWQuIgogbXNnc3RyICIiCisiRmV0Y2ggZXNlZ3VpdG8gbmVsIHBlcmNvcnNvIGRlbCBzb3R0b21vZHVsbyAnJGRpc3BsYXlwYXRoJywgbWEgbm9uIGNvbnRlbmV2YSAiCisiJHNoYTEuIEZldGNoIGRpcmV0dG8gZGkgdGFsZSBjb21taXQgbm9uIHJpdXNjaXRvLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjI2CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJHNtX3BhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKK21zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgorIkltcG9zc2liaWxlIGVzZWd1aXJlIGlsIGNoZWNrb3V0IGRpICckc2hhMScgbmVsIHBlcmNvcnNvIGRlbCBzb3R0b21vZHVsbyAiCisiJyRkaXNwbGF5cGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTgyCisjOiBnaXQtc3VibW9kdWxlLnNoOjYyNwogIywgc2gtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0ICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKLW1zZ3N0ciAiIgorbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBjaGVja2VkIG91dCAnJHNoYTEnIgorbXNnc3RyICJQZXJjb3JzbyBkZWwgc290dG9tb2R1bG8gJyRkaXNwbGF5cGF0aCc6IGVzZWd1aXRvIGNoZWNrb3V0IGRpICckc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTgzCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzMQogIywgc2gtZm9ybWF0Ci1tc2dpZCAiU3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJzogY2hlY2tlZCBvdXQgJyRzaGExJyIKK21zZ2lkICJVbmFibGUgdG8gcmViYXNlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKKyJJbXBvc3NpYmlsZSBlc2VndWlyZSBpbCByZWJhc2UgZGkgJyRzaGExJyBuZWwgcGVyY29yc28gZGVsIHNvdHRvbW9kdWxvICIKKyInJGRpc3BsYXlwYXRoJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MDUgZ2l0LXN1Ym1vZHVsZS5zaDo5MjgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjMyCiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCittc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IHJlYmFzZWQgaW50byAnJHNoYTEnIgorbXNnc3RyICJQZXJjb3JzbyBkZWwgc290dG9tb2R1bG8gJyRkaXNwbGF5cGF0aCc6IGVzZWd1aXRvIHJlYmFzZSBzdSAnJHNoYTEnIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzNworIywgc2gtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKKyJJbXBvc3NpYmlsZSBlc2VndWlyZSBpbCBtZXJnZSBkaSAnJHNoYTEnIG5lbCBwZXJjb3JzbyBkZWwgc290dG9tb2R1bG8gIgorIickZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjcxMwotbXNnaWQgIi0tY2FjaGVkIGNhbm5vdCBiZSB1c2VkIHdpdGggLS1maWxlcyIKLW1zZ3N0ciAiLS1jYWNoZWQgbm9uIHB1w7IgZXNzZXJlIHVzYXRhIGNvbiAtLWZpbGVzIgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKK21zZ3N0ciAiUGVyY29yc28gZGVsIHNvdHRvbW9kdWxvICckZGlzcGxheXBhdGgnOiBlc2VndWl0byBtZXJnZSBpbiAnJHNoYTEnIgogCi0jLiB1bmV4cGVjdGVkIHR5cGUKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzUzCisjOiBnaXQtc3VibW9kdWxlLnNoOjY0MworIywgc2gtZm9ybWF0Cittc2dpZCAiRXhlY3V0aW9uIG9mICckY29tbWFuZCAkc2hhMScgZmFpbGVkIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgorbXNnc3RyICIiCisiRXNlY3V6aW9uZSBkaSAnJGNvbW1hbmQgJHNoYTEnIG5vbiByaXVzY2l0YSBuZWwgcGVyY29yc28gZGVsIHNvdHRvbW9kdWxvICIKKyInJGRpc3BsYXlwYXRoJyIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NDQKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgorbXNnc3RyICJQZXJjb3JzbyBkZWwgc290dG9tb2R1bG8gJyRkaXNwbGF5cGF0aCc6ICckY29tbWFuZCAkc2hhMSciCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Njc1CisjLCBzaC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgorbXNnc3RyICJSaWNvcnNpb25lIG5lbCBwZXJjb3JzbyBkZWwgc290dG9tb2R1bG8gJyRkaXNwbGF5cGF0aCcgbm9uIHJpdXNjaXRhIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjg4NgorbXNnaWQgIlRoZSAtLWNhY2hlZCBvcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgLS1maWxlcyBvcHRpb24iCittc2dzdHIgIkwnb3B6aW9uZSAtLWNhY2hlZCBub24gcHXDsiBlc3NlcmUgdXNhdGEgY29uIGwnb3B6aW9uZSAtLWZpbGVzIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjkzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBtb2RlICRtb2RfZHN0IgogbXNnc3RyICJtb2RhbGl0w6AgJG1vZF9kc3QgaW5hdHRlc2EiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzcxCisjOiBnaXQtc3VibW9kdWxlLnNoOjk1OAogIywgc2gtZm9ybWF0Ci1tc2dpZCAiICBXYXJuOiAkbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX3NyYyIKLW1zZ3N0ciAiICBBdHRlbnppb25lOiAkbmFtZSBub24gY29udGllbmUgY29tbWl0ICRzaGExX3NyYyIKK21zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCittc2dzdHIgIiAgQXR0ZW56aW9uZTogJGRpc3BsYXlfbmFtZSBub24gY29udGllbmUgaWwgY29tbWl0ICRzaGExX3NyYyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3NzQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTYxCiAjLCBzaC1mb3JtYXQKLW1zZ2lkICIgIFdhcm46ICRuYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfZHN0IgotbXNnc3RyICIgIEF0dGVuemlvbmU6ICRuYW1lIG5vbiBjb250aWVuZSBjb21taXQgJHNoYTFfZHN0IgorbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKK21zZ3N0ciAiICBBdHRlbnppb25lOiAkZGlzcGxheV9uYW1lIG5vbiBjb250aWVuZSBpbCBjb21taXQgJHNoYTFfZHN0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjc3NworIzogZ2l0LXN1Ym1vZHVsZS5zaDo5NjQKICMsIHNoLWZvcm1hdAotbXNnaWQgIiAgV2FybjogJG5hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCi1tc2dzdHIgIiAgQXR0ZW56aW9uZTogJG5hbWUgbm9uIGNvbnRpZW5lIGNvbW1pdCAkc2hhMV9zcmMgZSAkc2hhMV9kc3QiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODAyCi1tc2dpZCAiYmxvYiIKLW1zZ3N0ciAiYmxvYiIKLQotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MDMKLW1zZ2lkICJzdWJtb2R1bGUiCi1tc2dzdHIgInNvdHRvbW9kdWxvIgotCi0jOiBnaXQtc3VibW9kdWxlLnNoOjg0MAotbXNnaWQgIiMgU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiCittc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXRzICRzaGExX3NyYyBhbmQgJHNoYTFfZHN0IgogbXNnc3RyICIiCisiICBBdHRlbnppb25lOiAkZGlzcGxheV9uYW1lIG5vbiBjb250aWVuZSBpIGNvbW1pdCAkc2hhMV9zcmMgZSAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODQyCi1tc2dpZCAiIyBTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgotbXNnc3RyICIiCi0KLSM6IGdpdC1zdWJtb2R1bGUuc2g6OTc0CisjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjg5CiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICckbmFtZSciCittc2dpZCAiU2VlIGdpdC0ke2NtZH0oMSkgZm9yIGRldGFpbHMuIgorbXNnc3RyICJWZWRpIGdpdC0ke2NtZH0oMSkgcGVyIHVsdGVyaW9yaSBkZXR0YWdsaS4iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMDkKK21zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC4iCittc2dzdHIgIlN0YXNoIGF1dG9tYXRpY28gYXBwbGljYXRvLiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjExMgorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgorbXNnc3RyICJJbXBvc3NpYmlsZSBtZW1vcml6emFyZSAkc3Rhc2hfc2hhMSIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjE5MQorIywgc2gtZm9ybWF0Cittc2dpZCAiUmViYXNpbmcgKCRuZXdfY291bnQvJHRvdGFsKSIKK21zZ3N0ciAiUmViYXNlIGluIGNvcnNvICgkbmV3X2NvdW50LyR0b3RhbCkiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMDcKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCisicCwgcGljayA8Y29tbWl0PiA9IHVzZSBjb21taXRcbiIKKyJyLCByZXdvcmQgPGNvbW1pdD4gPSB1c2UgY29tbWl0LCBidXQgZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2VcbiIKKyJlLCBlZGl0IDxjb21taXQ+ID0gdXNlIGNvbW1pdCwgYnV0IHN0b3AgZm9yIGFtZW5kaW5nXG4iCisicywgc3F1YXNoIDxjb21taXQ+ID0gdXNlIGNvbW1pdCwgYnV0IG1lbGQgaW50byBwcmV2aW91cyBjb21taXRcbiIKKyJmLCBmaXh1cCA8Y29tbWl0PiA9IGxpa2UgXCJzcXVhc2hcIiwgYnV0IGRpc2NhcmQgdGhpcyBjb21taXQncyBsb2cgbWVzc2FnZVxuIgorIngsIGV4ZWMgPGNvbW1pdD4gPSBydW4gY29tbWFuZCAodGhlIHJlc3Qgb2YgdGhlIGxpbmUpIHVzaW5nIHNoZWxsXG4iCisiZCwgZHJvcCA8Y29tbWl0PiA9IHJlbW92ZSBjb21taXRcbiIKKyJsLCBsYWJlbCA8bGFiZWw+ID0gbGFiZWwgY3VycmVudCBIRUFEIHdpdGggYSBuYW1lXG4iCisidCwgcmVzZXQgPGxhYmVsPiA9IHJlc2V0IEhFQUQgdG8gYSBsYWJlbFxuIgorIm0sIG1lcmdlIFstQyA8Y29tbWl0PiB8IC1jIDxjb21taXQ+XSA8bGFiZWw+IFsjIDxvbmVsaW5lPl1cbiIKKyIuICAgICAgIGNyZWF0ZSBhIG1lcmdlIGNvbW1pdCB1c2luZyB0aGUgb3JpZ2luYWwgbWVyZ2UgY29tbWl0J3NcbiIKKyIuICAgICAgIG1lc3NhZ2UgKG9yIHRoZSBvbmVsaW5lLCBpZiBubyBvcmlnaW5hbCBtZXJnZSBjb21taXQgd2FzXG4iCisiLiAgICAgICBzcGVjaWZpZWQpLiBVc2UgLWMgPGNvbW1pdD4gdG8gcmV3b3JkIHRoZSBjb21taXQgbWVzc2FnZS5cbiIKKyJcbiIKKyJUaGVzZSBsaW5lcyBjYW4gYmUgcmUtb3JkZXJlZDsgdGhleSBhcmUgZXhlY3V0ZWQgZnJvbSB0b3AgdG8gYm90dG9tLlxuIgogbXNnc3RyICIiCisiXG4iCisiQ29tYW5kaTpcbiIKKyJwLCBwaWNrIDxjb21taXQ+ID0gdXNhIGlsIGNvbW1pdFxuIgorInIsIHJld29yZCA8Y29tbWl0PiA9IHVzYSBpbCBjb21taXQsIG1hIG1vZGlmaWNhIGlsIG1lc3NhZ2dpbyBkaSBjb21taXRcbiIKKyJlLCBlZGl0IDxjb21taXQ+ID0gdXNhIGlsIGNvbW1pdCwgbWEgZmVybWF0aSBwZXIgbW9kaWZpY2FybG9cbiIKKyJzLCBzcXVhc2ggPGNvbW1pdD4gPSB1c2EgaWwgY29tbWl0LCBtYSBmb25kaWxvIGNvbiBpbCBjb21taXQgcHJlY2VkZW50ZVxuIgorImYsIGZpeHVwIDxjb21taXQ+ID0gY29tZSBcInNxdWFzaFwiLCBtYSBzY2FydGEgaWwgbWVzc2FnZ2lvIGRpIGxvZyBkaSAiCisicXVlc3RvXG4iCisiICAgICAgICAgICAgICAgICAgICBjb21taXRcbiIKKyJ4LCBleGVjIDxjb21hbmRvPiA9IGVzZWd1aSBpbCBjb21hbmRvIChpbCByZXN0byBkZWxsYSByaWdhKSB1c2FuZG8gbGEgc2hlbGxcbiIKKyJkLCBkcm9wIDxjb21taXQ+ID0gZWxpbWluYSBpbCBjb21taXRcbiIKKyJsLCBsYWJlbCA8ZXRpY2hldHRhPiA9IGV0aWNoZXR0YSBsJ0hFQUQgY29ycmVudGUgY29uIHVuIG5vbWVcbiIKKyJ0LCByZXNldCA8ZXRpY2hldHRhPiA9IHJlaW1wb3N0YSBIRUFEIGEgdW4nZXRpY2hldHRhXG4iCisibSwgbWVyZ2UgWy1DIDxjb21taXQ+IHwgLWMgPGNvbW1pdD5dIDxldGljaGV0dGE+IFsjIDxvbmVsaW5lPl1cbiIKKyIuICAgICAgIGNyZWEgdW4gY29tbWl0IGRpIG1lcmdlIHVzYW5kbyBpbCBtZXNzYWdnaW8gZGVsIGNvbW1pdCBkaSBtZXJnZVxuIgorIi4gICAgICAgb3JpZ2luYWxlIChvIGxhIG9uZWxpbmUgc2Ugbm9uIMOoIHN0YXRvIHNwZWNpZmljYXRvIHVuIGNvbW1pdCBkaSAiCisibWVyZ2VcbiIKKyIuICAgICAgIG9yaWdpbmFsZSkuIFVzYSAtYyA8Y29tbWl0PiBwZXIgcmlmb3JtdWxhcmUgaWwgbWVzc2FnZ2lvIGRpIGNvbW1pdC5cbiIKKyJcbiIKKyJRdWVzdGUgcmlnaGUgcG9zc29ubyBlc3NlcmUgcmlvcmRpbmF0ZTsgc2FyYW5ubyBlc2VndWl0ZSBkYWxsYSBwcmltYSAiCisiYWxsJ3VsdGltYS5cbiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjI3MAorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIllvdSBjYW4gYW1lbmQgdGhlIGNvbW1pdCBub3csIHdpdGhcbiIKKyJcbiIKKyJcdGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIk9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMsIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICIiCisiw4ggcG9zc2liaWxlIG1vZGlmaWNhcmUgaWwgY29tbWl0IG9yYSBjb25cbiIKKyJcbiIKKyJcdGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIlF1YW5kbyBzZWkgc29kZGlzZmF0dG8gZGVsbGUgbW9kaWZpY2hlLCBlc2VndWlcbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjI5NQorIywgc2gtZm9ybWF0Cittc2dpZCAiJHNoYTE6IG5vdCBhIGNvbW1pdCB0aGF0IGNhbiBiZSBwaWNrZWQiCittc2dzdHIgIiRzaGExOiBub24gw6ggdW4gY29tbWl0IGNoZSBwb3NzYSBlc3NlcmUgc2NlbHRvIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzM0CisjLCBzaC1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGNvbW1pdCBuYW1lOiAkc2hhMSIKK21zZ3N0ciAiTm9tZSBjb21taXQgbm9uIHZhbGlkbzogJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozNjQKK21zZ2lkICJDYW5ub3Qgd3JpdGUgY3VycmVudCBjb21taXQncyByZXBsYWNlbWVudCBzaGExIgorbXNnc3RyICIiCisiSW1wb3NzaWJpbGUgc2NyaXZlcmUgbG8gU0hBMSBkZWwgY29tbWl0IGNoZSBkb3ZyZWJiZSBzb3N0aXR1aXJlIHF1ZWxsbyAiCisiY29ycmVudGUiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTUKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkZhc3QtZm9yd2FyZCB0byAkc2hhMSIKK21zZ3N0ciAiRmFzdCBmb3J3YXJkIGEgJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBmYXN0LWZvcndhcmQgdG8gJHNoYTEiCittc2dzdHIgIkltcG9zc2liaWxlIGVzZWd1aXJlIGlsIGZhc3QgZm9yd2FyZCBhICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDI2CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbW92ZSBIRUFEIHRvICRmaXJzdF9wYXJlbnQiCittc2dzdHIgIkltcG9zc2liaWxlIHNwb3N0YXJlIGwnSEVBRCBhICRmaXJzdF9wYXJlbnQiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MzEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlJlZnVzaW5nIHRvIHNxdWFzaCBhIG1lcmdlOiAkc2hhMSIKK21zZ3N0ciAiTWkgcmlmaXV0byBkaSBlc2VndWlyZSBsbyBzcXVhc2ggZGkgdW4gbWVyZ2U6ICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDQ5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJFcnJvciByZWRvaW5nIG1lcmdlICRzaGExIgorbXNnc3RyICJFcnJvcmUgZHVyYW50ZSBsYSByaWVzZWN1emlvbmUgZGVsIG1lcmdlIGRpICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDU4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcGljayAkc2hhMSIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgc2NlZ2xpZXJlICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDY3CisjLCBzaC1mb3JtYXQKK21zZ2lkICJUaGlzIGlzIHRoZSBjb21taXQgbWVzc2FnZSAjJHtufToiCittc2dzdHIgIlF1ZXN0byDDqCBpbCBtZXNzYWdnaW8gZGkgY29tbWl0IG51bWVybyAke259OiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ3MgorIywgc2gtZm9ybWF0Cittc2dpZCAiVGhlIGNvbW1pdCBtZXNzYWdlICMke259IHdpbGwgYmUgc2tpcHBlZDoiCittc2dzdHIgIklsIG1lc3NhZ2dpbyBkaSBjb21taXQgbnVtZXJvICR7bn0gc2Fyw6Agc2FsdGF0bzoiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0ODMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0LiIKK21zZ2lkX3BsdXJhbCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICRjb3VudCBjb21taXRzLiIKK21zZ3N0clswXSAiUXVlc3RhIMOoIHVuYSBjb21iaW5hemlvbmUgZGkgJGNvdW50IGNvbW1pdC4iCittc2dzdHJbMV0gIlF1ZXN0YSDDqCB1bmEgY29tYmluYXppb25lIGRpICRjb3VudCBjb21taXQuIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDkyCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgd3JpdGUgJGZpeHVwX21zZyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgc2NyaXZlcmUgJGZpeHVwX21zZyIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ5NQorbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAyIGNvbW1pdHMuIgorbXNnc3RyICJRdWVzdGEgw6ggdW5hIGNvbWJpbmF6aW9uZSBkaSAyIGNvbW1pdC4iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MzYgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU3OQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU4MgorIywgc2gtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGFwcGx5ICRzaGExLi4uICRyZXN0IgorbXNnc3RyICJJbXBvc3NpYmlsZSBhcHBsaWNhcmUgJHNoYTEuLi4gJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2MTEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJDb3VsZCBub3QgYW1lbmQgY29tbWl0IGFmdGVyIHN1Y2Nlc3NmdWxseSBwaWNraW5nICRzaGExLi4uICRyZXN0XG4iCisiVGhpcyBpcyBtb3N0IGxpa2VseSBkdWUgdG8gYW4gZW1wdHkgY29tbWl0IG1lc3NhZ2UsIG9yIHRoZSBwcmUtY29tbWl0IGhvb2tcbiIKKyJmYWlsZWQuIElmIHRoZSBwcmUtY29tbWl0IGhvb2sgZmFpbGVkLCB5b3UgbWF5IG5lZWQgdG8gcmVzb2x2ZSB0aGUgaXNzdWUgIgorImJlZm9yZVxuIgorInlvdSBhcmUgYWJsZSB0byByZXdvcmQgdGhlIGNvbW1pdC4iCittc2dzdHIgIiIKKyJJbXBvc3NpYmlsZSBtb2RpZmljYXJlIGlsIGNvbW1pdCBkb3BvIGxhIHNjZWx0YSBkaSAkc2hhMS4uLiAkcmVzdFxuIgorIk1vbHRvIHByb2JhYmlsbWVudGUgcXVlc3RvIMOoIGRvdnV0byBhIHVuIG1lc3NhZ2dpbyBkaSBjb21taXQgdnVvdG8sIG9wcHVyZVxuIgorImwnZXNlY3V6aW9uZSBkZWxsJ2hvb2sgZGkgcHJlLWNvbW1pdCBub24gw6ggcml1c2NpdGEuIEluIHF1ZXN0J3VsdGltbyBjYXNvLFxuIgorInBvdHJlYmJlIGVzc2VyZSBuZWNlc3NhcmlvIHJpc29sdmVyZSBpbCBwcm9ibGVtYSBldmlkZW56aWF0byBwZXIgZXNzZXJlIGluXG4iCisiZ3JhZG8gZGkgbW9kaWZpY2FyZSBpbCBtZXNzYWdnaW8gZGkgY29tbWl0LiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYyNgorIywgc2gtZm9ybWF0Cittc2dpZCAiU3RvcHBlZCBhdCAkc2hhMV9hYmJyZXYuLi4gJHJlc3QiCittc2dzdHIgIkZlcm1hdG8gYSAkc2hhMV9hYmJyZXYuLi4gJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NDEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAnJHNxdWFzaF9zdHlsZScgd2l0aG91dCBhIHByZXZpb3VzIGNvbW1pdCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgZXNlZ3VpcmUgJyRzcXVhc2hfc3R5bGUnIHNlbnphIHVuIGNvbW1pdCBwcmVjZWRlbnRlIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjgzCisjLCBzaC1mb3JtYXQKK21zZ2lkICJFeGVjdXRpbmc6ICRyZXN0IgorbXNnc3RyICJFc2VndW8gJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2OTEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGlvbiBmYWlsZWQ6ICRyZXN0IgorbXNnc3RyICJFc2VjdXppb25lIG5vbiByaXVzY2l0YTogJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2OTMKK21zZ2lkICJhbmQgbWFkZSBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAiZSBzb25vIHN0YXRlIGFwcG9ydGF0ZSBtb2RpZmljaGUgYWxsJ2luZGljZSBlL28gYWxsJ2FsYmVybyBkaSBsYXZvcm8iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2OTUKK21zZ2lkICIiCisiWW91IGNhbiBmaXggdGhlIHByb2JsZW0sIGFuZCB0aGVuIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICIiCisiUHVvaSBjb3JyZWdnZXJlIGlsIHByb2JsZW1hIGUgcXVpbmRpIGVzZWd1aXJlXG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCisKKyMuIFRSQU5TTEFUT1JTOiBhZnRlciB0aGVzZSBsaW5lcyBpcyBhIGNvbW1hbmQgdG8gYmUgaXNzdWVkIGJ5IHRoZSB1c2VyCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzA4CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiRXhlY3V0aW9uIHN1Y2NlZWRlZDogJHJlc3RcbiIKKyJidXQgbGVmdCBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgorIkNvbW1pdCBvciBzdGFzaCB5b3VyIGNoYW5nZXMsIGFuZCB0aGVuIHJ1blxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorbXNnc3RyICIiCisiRXNlY3V6aW9uZSByaXVzY2l0YTogJHJlc3RcbiIKKyJtYSBzb25vIHN0YXRlIG1hbnRlbnV0ZSBtb2RpZmljaGUgYWxsJ2luZGljZSBlL28gYWxsJ2FsYmVybyBkaSBsYXZvcm9cbiIKKyJFc2VndWkgaWwgY29tbWl0IG8gbG8gc3Rhc2ggZGVsbGUgbW9kaWZpY2hlLCBxdWluZGkgZXNlZ3VpXG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MTkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJGNvbW1hbmQgJHNoYTEgJHJlc3QiCittc2dzdHIgIkNvbWFuZG8gc2Nvbm9zY2l1dG86ICRjb21tYW5kICRzaGExICRyZXN0IgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzIwCittc2dpZCAiUGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCittc2dzdHIgIkNvcnJlZ2dpIGxhIHNpdHVhemlvbmUgdXNhbmRvICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3NTUKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSByZWJhc2VkIGFuZCB1cGRhdGVkICRoZWFkX25hbWUuIgorbXNnc3RyICJSZWJhc2UgZSBhZ2dpb3JuYW1lbnRvIGRpICRoZWFkX25hbWUgZXNlZ3VpdGkgY29uIHN1Y2Nlc3NvLiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgxMgorbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmltdW92ZXJlIENIRVJSWV9QSUNLX0hFQUQiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MTcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKKyJJZiB0aGVzZSBjaGFuZ2VzIGFyZSBtZWFudCB0byBiZVxuIgorInNxdWFzaGVkIGludG8gdGhlIHByZXZpb3VzIGNvbW1pdCwgcnVuOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisiSWYgdGhleSBhcmUgbWVhbnQgdG8gZ28gaW50byBhIG5ldyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJJbiBib3RoIGNhc2VzLCBvbmNlIHlvdSdyZSBkb25lLCBjb250aW51ZSB3aXRoOlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCittc2dzdHIgIiIKKyJIYWkgbW9kaWZpY2hlIGluIHN0YWdpbmcgbmVsbCdhbGJlcm8gZGkgbGF2b3JvLlxuIgorIlNlIHF1ZXN0ZSBtb2RpZmljaGUgZGV2b25vIGVzc2VyZSBzb3R0b3Bvc3RlIGEgc3F1YXNoIG5lbCBjb21taXRcbiIKKyJwcmVjZWRlbnRlLCBlc2VndWk6XG4iCisiXG4iCisiICBnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyJTZSBkZXZvbm8gZXNzZXJlIGluY2x1c2UgaW4gdW4gbnVvdm8gY29tbWl0LCBlc2VndWk6XG4iCisiXG4iCisiICBnaXQgY29tbWl0ICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisiSW4gZW50cmFtYmkgaSBjYXNpLCB1bmEgdm9sdGEgZmluaXRvLCBjb250aW51YSBjb246XG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgzNAorbXNnaWQgIkVycm9yIHRyeWluZyB0byBmaW5kIHRoZSBhdXRob3IgaWRlbnRpdHkgdG8gYW1lbmQgY29tbWl0IgorbXNnc3RyICIiCisiRXJyb3JlIGR1cmFudGUgbGEgcmljZXJjYSBkZWxsJ2lkZW50aXTDoCBkZWxsJ2F1dG9yZSBwZXIgbGEgbW9kaWZpY2EgZGVsICIKKyJjb21taXQiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MzkKK21zZ2lkICIiCisiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlIGNvbW1pdCB0aGVtXG4iCisiZmlyc3QgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnIGFnYWluLiIKK21zZ3N0ciAiIgorIkNpIHNvbm8gbW9kaWZpY2hlIGRpIGN1aSBub24gw6ggc3RhdG8gZXNlZ3VpdG8gaWwgY29tbWl0IG5lbCB0dW8gYWxiZXJvXG4iCisiZGkgbGF2b3JvLiBFc2VndWluZSBwcmltYSBpbCBjb21taXQgZSBxdWluZGkgZXNlZ3VpIG51b3ZhbWVudGUgJ2dpdCByZWJhc2VcbiIKKyItLWNvbnRpbnVlJy4iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NDQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg0OAorbXNnaWQgIkNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICJJbXBvc3NpYmlsZSBlc2VndWlyZSBpbCBjb21taXQgZGVsbGUgbW9kaWZpY2hlIGluIHN0YWdpbmcuIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODc5IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NjUKK21zZ2lkICJDb3VsZCBub3QgZXhlY3V0ZSBlZGl0b3IiCittc2dzdHIgIkltcG9zc2liaWxlIGVzZWd1aXJlIGwnZWRpdG9yIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTAwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY2hlY2tvdXQgJHN3aXRjaF90byIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgZXNlZ3VpcmUgaWwgY2hlY2tvdXQgZGkgJHN3aXRjaF90byIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkwNworbXNnaWQgIk5vIEhFQUQ/IgorbXNnc3RyICJOZXNzdW4nSEVBRD8iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MDgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICRzdGF0ZV9kaXIiCittc2dzdHIgIkltcG9zc2liaWxlIGNyZWFyZSBsYSBkaXJlY3RvcnkgdGVtcG9yYW5lYSAkc3RhdGVfZGlyIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTExCittc2dpZCAiQ291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCittc2dzdHIgIkltcG9zc2liaWxlIGNvbnRyYXNzZWduYXJlIGNvbWUgaW50ZXJhdHRpdm8iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NDMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmQpIgorbXNnaWRfcGx1cmFsICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kcykiCittc2dzdHJbMF0gIlJlYmFzZSBkaSAkc2hvcnRyZXZpc2lvbnMgc3UgJHNob3J0b250byAoJHRvZG9jb3VudCBjb21hbmRvKSIKK21zZ3N0clsxXSAiUmViYXNlIGRpICRzaG9ydHJldmlzaW9ucyBzdSAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbWFuZGkpIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTk3IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMDAyCittc2dpZCAiQ291bGQgbm90IGluaXQgcmV3cml0dGVuIGNvbW1pdHMiCittc2dzdHIgIkltcG9zc2liaWxlIGluaXppYWxpenphcmUgaSBjb21taXQgcmlzY3JpdHRpIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6ODkgZ2l0LXNoLXNldHVwLnNoOjk0CisjLCBzaC1mb3JtYXQKK21zZ2lkICJ1c2FnZTogJGRhc2hsZXNzICRVU0FHRSIKK21zZ3N0ciAidXNvOiAkZGFzaGxlc3MgJFVTQUdFIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MTkxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgY2hkaXIgdG8gJGNkdXAsIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlIgorbXNnc3RyICIiCisiSW1wb3NzaWJpbGUgbW9kaWZpY2FyZSBsYSBkaXJlY3RvcnkgY29ycmVudGUgaW4gJGNkdXAsIGlsIHByaW1vIGxpdmVsbG8gIgorImRlbGwnYWxiZXJvIGRpIGxhdm9ybyIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIwMCBnaXQtc2gtc2V0dXAuc2g6MjA3CisjLCBzaC1mb3JtYXQKK21zZ2lkICJmYXRhbDogJHByb2dyYW1fbmFtZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGEgd29ya2luZyB0cmVlLiIKK21zZ3N0ciAiIgorImVycm9yZSBmYXRhbGU6ICRwcm9ncmFtX25hbWUgbm9uIHB1w7IgZXNzZXJlIHVzYXRvIHNlbnphIHVuIGFsYmVybyBkaSBsYXZvcm8uIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjIxCittc2dpZCAiQ2Fubm90IHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKyJJbXBvc3NpYmlsZSBlc2VndWlyZSBpbCByZWJhc2U6IGNpIHNvbm8gZGVsbGUgbW9kaWZpY2hlIG5vbiBpbiBzdGFnaW5nLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyNAorbXNnaWQgIkNhbm5vdCByZXdyaXRlIGJyYW5jaGVzOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorIkltcG9zc2liaWxlIHJpc2NyaXZlcmUgaSBicmFuY2g6IGNpIHNvbm8gZGVsbGUgbW9kaWZpY2hlIG5vbiBpbiBzdGFnaW5nLiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyNworbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorIkltcG9zc2liaWxlIGVzZWd1aXJlIHVuIHB1bGwgc2VndWl0byBkYSB1biByZWJhc2U6IGNpIHNvbm8gZGVsbGUgbW9kaWZpY2hlICIKKyJub24gaW4gc3RhZ2luZy4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMzAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCAkYWN0aW9uOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgZXNlZ3VpcmUgJGFjdGlvbjogY2kgc29ubyBkZWxsZSBtb2RpZmljaGUgbm9uIGluIHN0YWdpbmcuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjQzCittc2dpZCAiQ2Fubm90IHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorIkltcG9zc2liaWxlIGVzZWd1aXJlIHVuIHJlYmFzZTo6IGwnaW5kaWNlIGNvbnRpZW5lIG1vZGlmaWNoZSBkaSBjdWkgbm9uIMOoICIKKyJzdGF0byBlc2VndWl0byBpbCBjb21taXQuIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjQ2Cittc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKyJJbXBvc3NpYmlsZSBlc2VndWlyZSB1biBwdWxsIHNlZ3VpdG8gZGEgdW4gcmViYXNlOiBsJ2luZGljZSBjb250aWVuZSAiCisibW9kaWZpY2hlIGRpIGN1aSBub24gw6ggc3RhdG8gZXNlZ3VpdG8gaWwgY29tbWl0LiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI0OQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90ICRhY3Rpb246IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIiIKKyJJbXBvc3NpYmlsZSBlc2VndWlyZSAkYWN0aW9uOiBsJ2luZGljZSBjb250aWVuZSBtb2RpZmljaGUgZGkgY3VpIG5vbiDDqCBzdGF0byAiCisiZXNlZ3VpdG8gaWwgY29tbWl0LiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI1MworbXNnaWQgIkFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAiIgorIklub2x0cmUsIGwnaW5kaWNlIGNvbnRpZW5lIG1vZGlmaWNoZSBkaSBjdWkgbm9uIMOoIHN0YXRvIGVzZWd1aXRvIGlsIGNvbW1pdC4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzMKK21zZ2lkICJZb3UgbmVlZCB0byBydW4gdGhpcyBjb21tYW5kIGZyb20gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUuIgorbXNnc3RyICJEZXZpIGVzZWd1aXJlIHF1ZXN0byBjb21hbmRvIGRhbCBwcmltbyBsaXZlbGxvIGRlbGwnYWxiZXJvIGRpIGxhdm9yby4iCisKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzgKK21zZ2lkICJVbmFibGUgdG8gZGV0ZXJtaW5lIGFic29sdXRlIHBhdGggb2YgZ2l0IGRpcmVjdG9yeSIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgZGV0ZXJtaW5hcmUgaWwgcGVyY29yc28gYXNzb2x1dG8gZGVsbGEgZGlyZWN0b3J5IEdpdCIKKworIy4gVFJBTlNMQVRPUlM6IHlvdSBjYW4gYWRqdXN0IHRoaXMgdG8gYWxpZ24gImdpdCBhZGQgLWkiIHN0YXR1cyBtZW51CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMgorIywgcGVybC1mb3JtYXQKK21zZ2lkICIlMTJzICUxMnMgJXMiCittc2dzdHIgIiUyMHMgJTMycyAlcyIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzQKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAidG91Y2hlZCAlZCBwYXRoXG4iCittc2dpZF9wbHVyYWwgInRvdWNoZWQgJWQgcGF0aHNcbiIKK21zZ3N0clswXSAiZXNlZ3VpdG8gdG91Y2ggc3UgJWQgcGVyY29yc29cbiIKK21zZ3N0clsxXSAiZXNlZ3VpdG8gdG91Y2ggc3UgJWQgcGVyY29yc2lcbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDUzCittc2dpZCAiIgorIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCisibWFya2VkIGZvciBzdGFnaW5nLiIKK21zZ3N0ciAiIgorIlNlIGxhIHBhdGNoIHZpZW5lIGFwcGxpY2F0YSBzZW56YSBwcm9ibGVtaSwgbCdodW5rIG1vZGlmaWNhdG8gc2Fyw6BcbiIKKyJjb250cmFzc2VnbmF0byBpbW1lZGlhdGFtZW50ZSBwZXIgbCdhZ2dpdW50YSBhbGwnYXJlYSBkaSBzdGFnaW5nLiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDU2Cittc2dpZCAiIgorIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCisibWFya2VkIGZvciBzdGFzaGluZy4iCittc2dzdHIgIiIKKyJTZSBsYSBwYXRjaCB2aWVuZSBhcHBsaWNhdGEgc2VuemEgcHJvYmxlbWksIGwnaHVuayBtb2RpZmljYXRvIHNhcsOgXG4iCisiY29udHJhc3NlZ25hdG8gaW1tZWRpYXRhbWVudGUgcGVyIGxvIHN0YXNoLiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDU5Cittc2dpZCAiIgorIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCisibWFya2VkIGZvciB1bnN0YWdpbmcuIgorbXNnc3RyICIiCisiU2UgbGEgcGF0Y2ggdmllbmUgYXBwbGljYXRhIHNlbnphIHByb2JsZW1pLCBsJ2h1bmsgbW9kaWZpY2F0byBzYXLDoFxuIgorImNvbnRyYXNzZWduYXRvIGltbWVkaWF0YW1lbnRlIHBlciBsYSByaW1vemlvbmUgZGFsbCdhcmVhIGRpIHN0YWdpbmcuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDcxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNzcKK21zZ2lkICIiCisiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKKyJtYXJrZWQgZm9yIGFwcGx5aW5nLiIKK21zZ3N0ciAiIgorIlNlIGxhIHBhdGNoIHZpZW5lIGFwcGxpY2F0YSBzZW56YSBwcm9ibGVtaSwgbCdodW5rIG1vZGlmaWNhdG8gc2Fyw6BcbiIKKyJjb250cmFzc2VnbmF0byBpbW1lZGlhdGFtZW50ZSBwZXIgbCdhcHBsaWNhemlvbmUuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNzQKK21zZ2lkICIiCisiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKKyJtYXJrZWQgZm9yIGRpc2NhcmRpbmcuIgorbXNnc3RyICIiCisiU2UgbGEgcGF0Y2ggdmllbmUgYXBwbGljYXRhIHNlbnphIHByb2JsZW1pLCBsJ2h1bmsgbW9kaWZpY2F0byBzYXLDoFxuIgorImNvbnRyYXNzZWduYXRvIGltbWVkaWF0YW1lbnRlIHBlciBsYSByaW1vemlvbmUuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTEKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHdyaXRpbmc6ICVzIgorbXNnc3RyICJhcGVydHVyYSBkZWwgZmlsZSBkaSBtb2RpZmljYSBodW5rIGluIHNjcml0dHVyYSBub24gcml1c2NpdGE6ICVzIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiIgorIi0tLVxuIgorIlRvIHJlbW92ZSAnJXMnIGxpbmVzLCBtYWtlIHRoZW0gJyAnIGxpbmVzIChjb250ZXh0KS5cbiIKKyJUbyByZW1vdmUgJyVzJyBsaW5lcywgZGVsZXRlIHRoZW0uXG4iCisiTGluZXMgc3RhcnRpbmcgd2l0aCAlcyB3aWxsIGJlIHJlbW92ZWQuXG4iCittc2dzdHIgIiIKKyItLS1cbiIKKyJQZXIgcmltdW92ZXJlICclcycgcmlnaGUsIHJlbmRpbGUgcmlnaGUgJyAnIChjb250ZXN0bykuXG4iCisiUGVyIHJpbXVvdmVyZSAnJXMnIHJpZ2hlLCBlbGltaW5hbGUuXG4iCisiTGUgcmlnaGUgY2hlIGluaXppYW5vIGNvbiAlcyBzYXJhbm5vIHJpbW9zc2UuXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE0MAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBodW5rIGVkaXQgZmlsZSBmb3IgcmVhZGluZzogJXMiCittc2dzdHIgImFwZXJ0dXJhIGRlbCBmaWxlIGRpIG1vZGlmaWNhIGh1bmsgaW4gbGV0dHVyYSBub24gcml1c2NpdGE6ICVzIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDgKK21zZ2lkICIiCisieSAtIHN0YWdlIHRoaXMgaHVua1xuIgorIm4gLSBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rXG4iCisicSAtIHF1aXQ7IGRvIG5vdCBzdGFnZSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSBzdGFnZSB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorImQgLSBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCittc2dzdHIgIiIKKyJ5IC0gYWdnaXVuZ2kgcXVlc3QnaHVuayBhbGwnYXJlYSBkaSBzdGFnaW5nXG4iCisibiAtIG5vbiBhZ2dpdW5nZXJlIHF1ZXN0J2h1bmsgYWxsJ2FyZWEgZGkgc3RhZ2luZ1xuIgorInEgLSBlc2NpOyBub24gYWdnaXVuZ2VyZSBuw6kgcXVlc3QnaHVuayBuw6kgcXVlbGxpIHJpbWFuZW50aSBhbGwnYXJlYSBkaSAiCisic3RhZ2luZ1xuIgorImEgLSBhZ2dpdW5naSBxdWVzdCdodW5rIGUgdHV0dGkgcXVlbGxpIHN1Y2Nlc3NpdmkgbmVsIGZpbGUgYWxsJ2FyZWEgZGkgIgorInN0YWdpbmdcbiIKKyJkIC0gbm9uIGFnZ2l1bmdlcmUgbsOpIHF1ZXN0J2h1bmsgbsOpIHF1ZWxsaSBzdWNjZXNzaXZpIG5lbCBmaWxlIGFsbCdhcmVhIGRpICIKKyJzdGFnaW5nIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNTQKK21zZ2lkICIiCisieSAtIHN0YXNoIHRoaXMgaHVua1xuIgorIm4gLSBkbyBub3Qgc3Rhc2ggdGhpcyBodW5rXG4iCisicSAtIHF1aXQ7IGRvIG5vdCBzdGFzaCB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSBzdGFzaCB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorImQgLSBkbyBub3Qgc3Rhc2ggdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCittc2dzdHIgIiIKKyJ5IC0gZXNlZ3VpIGxvIHN0YXNoIGRpIHF1ZXN0J2h1bmtcbiIKKyJuIC0gbm9uIGVzZWd1aXJlIGxvIHN0YXNoIGRpIHF1ZXN0J2h1bmtcbiIKKyJxIC0gZXNjaTsgbm9uIGVzZWd1aXJlIGxvIHN0YXNoIGRpIHF1ZXN0J2h1bmsgbsOpIGRpIHF1ZWxsaSByaW1hbmVudGlcbiIKKyJhIC0gZXNlZ3VpIGxvIHN0YXNoIGRpIHF1ZXN0J2h1bmsgZSBkaSB0dXR0aSBxdWVsbGkgc3VjY2Vzc2l2aSBuZWwgZmlsZVxuIgorImQgLSBub24gZXNlZ3VpcmUgbG8gc3Rhc2ggbsOpIGRpIHF1ZXN0J2h1bmsgbsOpIGRpIHF1ZWxsaSBzdWNjZXNzaXZpIG5lbCBmaWxlIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNjAKK21zZ2lkICIiCisieSAtIHVuc3RhZ2UgdGhpcyBodW5rXG4iCisibiAtIGRvIG5vdCB1bnN0YWdlIHRoaXMgaHVua1xuIgorInEgLSBxdWl0OyBkbyBub3QgdW5zdGFnZSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSB1bnN0YWdlIHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisiZCAtIGRvIG5vdCB1bnN0YWdlIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgorbXNnc3RyICIiCisieSAtIHJpbXVvdmkgcXVlc3QnaHVuayBkYWxsJ2FyZWEgZGkgc3RhZ2luZ1xuIgorIm4gLSBub24gcmltdW92ZXJlIHF1ZXN0J2h1bmsgZGFsbCdhcmVhIGRpIHN0YWdpbmdcbiIKKyJxIC0gZXNjaTsgbm9uIHJpbXVvdmVyZSBuw6kgcXVlc3QnaHVuayBuw6kgcXVlbGxpIHJpbWFuZW50aSBkYWxsJ2FyZWEgZGkgIgorInN0YWdpbmdcbiIKKyJhIC0gcmltdW92aSBxdWVzdCdodW5rIGUgdHV0dGkgcXVlbGxpIHN1Y2Nlc3NpdmkgbmVsIGZpbGUgZGFsbCdhcmVhIGRpICIKKyJzdGFnaW5nXG4iCisiZCAtIG5vbiByaW11b3ZlcmUgbsOpIHF1ZXN0J2h1bmsgbsOpIHF1ZWxsaSBzdWNjZXNzaXZpIG5lbCBmaWxlIGRhbGwnYXJlYSBkaSAiCisic3RhZ2luZyIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjY2Cittc2dpZCAiIgorInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXhcbiIKKyJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgorInEgLSBxdWl0OyBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gYXBwbHkgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKKyJkIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgorbXNnc3RyICIiCisieSAtIGFwcGxpY2EgcXVlc3QnaHVuayBhbGwnaW5kaWNlXG4iCisibiAtIG5vbiBhcHBsaWNhcmUgcXVlc3QnaHVuayBhbGwnaW5kaWNlXG4iCisicSAtIGVzY2k7IG5vbiBhcHBsaWNhcmUgbsOpIHF1ZXN0J2h1bmsgbsOpIHF1ZWxsaSByaW1hbmVudGlcbiIKKyJhIC0gYXBwbGljYSBxdWVzdCdodW5rIGUgdHV0dGkgcXVlbGxpIHN1Y2Nlc3NpdmkgbmVsIGZpbGVcbiIKKyJkIC0gbm9uIGFwcGxpY2FyZSBuw6kgcXVlc3QnaHVuayBuw6kgcXVlbGxpIHN1Y2Nlc3NpdmkgbmVsIGZpbGUiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyOTAKK21zZ2lkICIiCisieSAtIGRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWVcbiIKKyJuIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWVcbiIKKyJxIC0gcXVpdDsgZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gZGlzY2FyZCB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorImQgLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAiIgorInkgLSByaW11b3ZpIHF1ZXN0J2h1bmsgZGFsbCdhbGJlcm8gZGkgbGF2b3JvXG4iCisibiAtIG5vbiByaW11b3ZlcmUgcXVlc3QnaHVuayBkYWxsJ2FsYmVybyBkaSBsYXZvcm9cbiIKKyJxIC0gZXNjaTsgbm9uIHJpbXVvdmVyZSBuw6kgcXVlc3QnaHVuayBuw6kgcXVlbGxpIHJpbWFuZW50aVxuIgorImEgLSByaW11b3ZpIHF1ZXN0J2h1bmsgZSB0dXR0aSBxdWVsbGkgc3VjY2Vzc2l2aSBuZWwgZmlsZVxuIgorImQgLSBub24gcmltdW92ZXJlIG7DqSBxdWVzdCdodW5rIG7DqSBxdWVsbGkgc3VjY2Vzc2l2aSBuZWwgZmlsZSIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjc4Cittc2dpZCAiIgorInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgorIm4gLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWVcbiIKKyJxIC0gcXVpdDsgZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gZGlzY2FyZCB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorImQgLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAiIgorInkgLSByaW11b3ZpIHF1ZXN0J2h1bmsgZGFsbCdpbmRpY2UgZSBkYWxsJ2FsYmVybyBkaSBsYXZvcm9cbiIKKyJuIC0gbm9uIHJpbXVvdmVyZSBxdWVzdCdodW5rIGRhbGwnaW5kaWNlIGUgZGFsbCdhbGJlcm8gZGkgbGF2b3JvXG4iCisicSAtIGVzY2k7IG5vbiByaW11b3ZlcmUgbsOpIHF1ZXN0J2h1bmsgbsOpIHF1ZWxsaSByaW1hbmVudGlcbiIKKyJhIC0gcmltdW92aSBxdWVzdCdodW5rIGUgdHV0dGkgcXVlbGxpIHN1Y2Nlc3NpdmkgbmVsIGZpbGVcbiIKKyJkIC0gbm9uIHJpbXVvdmVyZSBuw6kgcXVlc3QnaHVuayBuw6kgcXVlbGxpIHN1Y2Nlc3NpdmkgbmVsIGZpbGUiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI4NAorbXNnaWQgIiIKKyJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgorIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgorInEgLSBxdWl0OyBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gYXBwbHkgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKKyJkIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgorbXNnc3RyICIiCisieSAtIGFwcGxpY2EgcXVlc3QnaHVuayBhbGwnaW5kaWNlIGUgYWxsJ2FsYmVybyBkaSBsYXZvcm9cbiIKKyJuIC0gbm9uIGFwcGxpY2FyZSBxdWVzdCdodW5rIGFsbCdpbmRpY2UgZSBhbGwnYWxiZXJvIGRpIGxhdm9yb1xuIgorInEgLSBlc2NpOyBub24gYXBwbGljYXJlIG7DqSBxdWVzdCdodW5rIG7DqSBxdWVsbGkgcmltYW5lbnRpXG4iCisiYSAtIGFwcGxpY2EgcXVlc3QnaHVuayBlIHR1dHRpIHF1ZWxsaSBzdWNjZXNzaXZpIG5lbCBmaWxlXG4iCisiZCAtIG5vbiBhcHBsaWNhcmUgbsOpIHF1ZXN0J2h1bmsgbsOpIHF1ZWxsaSBzdWNjZXNzaXZpIG5lbCBmaWxlIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyOTYKK21zZ2lkICIiCisieSAtIGFwcGx5IHRoaXMgaHVuayB0byB3b3JrdHJlZVxuIgorIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIHdvcmt0cmVlXG4iCisicSAtIHF1aXQ7IGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSBhcHBseSB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorImQgLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCittc2dzdHIgIiIKKyJ5IC0gYXBwbGljYSBxdWVzdCdodW5rIGFsbCdhbGJlcm8gZGkgbGF2b3JvXG4iCisibiAtIG5vbiBhcHBsaWNhcmUgcXVlc3QnaHVuayBhbGwnYWxiZXJvIGRpIGxhdm9yb1xuIgorInEgLSBlc2NpOyBub24gYXBwbGljYXJlIG7DqSBxdWVzdCdodW5rIG7DqSBxdWVsbGkgcmltYW5lbnRpXG4iCisiYSAtIGFwcGxpY2EgcXVlc3QnaHVuayBlIHR1dHRpIHF1ZWxsaSBzdWNjZXNzaXZpIG5lbCBmaWxlXG4iCisiZCAtIG5vbiBhcHBsaWNhcmUgbsOpIHF1ZXN0J2h1bmsgbsOpIHF1ZWxsaSBzdWNjZXNzaXZpIG5lbCBmaWxlIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTEKK21zZ2lkICIiCisiZyAtIHNlbGVjdCBhIGh1bmsgdG8gZ28gdG9cbiIKKyIvIC0gc2VhcmNoIGZvciBhIGh1bmsgbWF0Y2hpbmcgdGhlIGdpdmVuIHJlZ2V4XG4iCisiaiAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBuZXh0IHVuZGVjaWRlZCBodW5rXG4iCisiSiAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBuZXh0IGh1bmtcbiIKKyJrIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIHByZXZpb3VzIHVuZGVjaWRlZCBodW5rXG4iCisiSyAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBwcmV2aW91cyBodW5rXG4iCisicyAtIHNwbGl0IHRoZSBjdXJyZW50IGh1bmsgaW50byBzbWFsbGVyIGh1bmtzXG4iCisiZSAtIG1hbnVhbGx5IGVkaXQgdGhlIGN1cnJlbnQgaHVua1xuIgorIj8gLSBwcmludCBoZWxwXG4iCittc2dzdHIgIiIKKyJnIC0gc2VsZXppb25hIHVuIGh1bmsgYSBjdWkgYW5kYXJlXG4iCisiLyAtIGNlcmNhIHVuIGh1bmsgY29ycmlzcG9uZGVudGUgYWxsJ2VzcHJlc3Npb25lIHJlZ29sYXJlIGRhdGFcbiIKKyJqIC0gbm9uIGRlY2lkZXJlIGluIG1lcml0byBhIHF1ZXN0J2h1bmssIHZhaSBhbCBzdWNjZXNzaXZvIGh1bmsgcGVyIGN1aSBub24gIgorIsOoIHN0YXRhIHByZXNhIHVuYSBkZWNpc2lvbmVcbiIKKyJKIC0gbm9uIGRlY2lkZXJlIGluIG1lcml0byBhIHF1ZXN0J2h1bmssIHZhaSBhbGwnaHVuayBzdWNjZXNzaXZvXG4iCisiayAtIG5vbiBkZWNpZGVyZSBpbiBtZXJpdG8gYSBxdWVzdCdodW5rLCB2YWkgYWwgcHJlY2VkZW50ZSBodW5rIHBlciBjdWkgbm9uICIKKyLDqCBzdGF0YSBwcmVzYSB1bmEgZGVjaXNpb25lXG4iCisiSyAtIG5vbiBkZWNpZGVyZSBpbiBtZXJpdG8gYSBxdWVzdCdodW5rLCB2YWkgYWxsJ2h1bmsgcHJlY2VkZW50ZVxuIgorInMgLSBzdWRkaXZpZGkgbCdodW5rIGNvcnJlbnRlIGluIGh1bmsgcGnDuSBwaWNjb2xpXG4iCisiZSAtIG1vZGlmaWNhIG1hbnVhbG1lbnRlIGwnaHVuayBjb3JyZW50ZVxuIgorIj8gLSBzdGFtcGEgdW5hIGd1aWRhXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM0MgorbXNnaWQgIlRoZSBzZWxlY3RlZCBodW5rcyBkbyBub3QgYXBwbHkgdG8gdGhlIGluZGV4IVxuIgorbXNnc3RyICJHbGkgaHVuayBzZWxlemlvbmF0aSBub24gc2kgYXBwbGljYW5vIHNlbnphIHByb2JsZW1pIGFsbCdpbmRpY2UhXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM0MworbXNnaWQgIkFwcGx5IHRoZW0gdG8gdGhlIHdvcmt0cmVlIGFueXdheT8gIgorbXNnc3RyICJWdW9pIGNvbXVucXVlIGFwcGxpY2FybGkgYWxsJ2FsYmVybyBkaSBsYXZvcm8/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzQ2Cittc2dpZCAiTm90aGluZyB3YXMgYXBwbGllZC5cbiIKK21zZ3N0ciAiTm9uIMOoIHN0YXRvIGFwcGxpY2F0byBudWxsYS5cbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzU3CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVubWVyZ2VkOiAlc1xuIgorbXNnc3RyICJpZ25vcm8gY2nDsiBjaGUgbm9uIMOoIHN0YXRvIHNvdHRvcG9zdG8gYSBtZXJnZTogJXNcbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDI4CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlN0YWdlIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICJNb2RpZmljYSBtb2RvIHN0YWdlIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MjkKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU3RhZ2UgZGVsZXRpb24gW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIkVsaW1pbmF6aW9uZSBzdGFnZSBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDMwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiRXNlZ3VpcmUgbG8gc3RhZ2UgZGkgcXVlc3QnaHVuayBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDMzCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlN0YXNoIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICJNb2RpZmljYSBtb2RvIHN0YXNoIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzQKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU3Rhc2ggZGVsZXRpb24gW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIkVsaW1pbmF6aW9uZSBzdGFzaCBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDM1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlN0YXNoIHRoaXMgaHVuayBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiRXNlZ3VpcmUgbG8gc3Rhc2ggZGkgcXVlc3QnaHVuayBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDM4CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlVuc3RhZ2UgbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIlJpbW96aW9uZSBtb2RpZmljYSBtb2RvIGRhbGwnYXJlYSBkaSBzdGFnaW5nIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzkKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiVW5zdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiUmltb3ppb25lIGVsaW1pbmF6aW9uZSBkYWxsJ2FyZWEgZGkgc3RhZ2luZyBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlVuc3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICJSaW11b3ZlcmUgcXVlc3QnaHVuayBkYWxsJ2FyZWEgZGkgc3RhZ2luZyBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQzCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIGluZGV4IFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICJBcHBsaWNhcmUgbGEgbW9kaWZpY2EgbW9kbyBhbGwnaW5kaWNlIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDQKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgZGVsZXRpb24gdG8gaW5kZXggW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIkFwcGxpY2FyZSBsJ2VsaW1pbmF6aW9uZSBhbGwnaW5kaWNlIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDUKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICJBcHBsaWNhcmUgcXVlc3QnaHVuayBhbGwnaW5kaWNlIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDYzCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkRpc2NhcmQgbW9kZSBjaGFuZ2UgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiU2NhcnRhcmUgbGUgbW9kaWZpY2hlIG1vZG8gZGFsbCdhbGJlcm8gZGkgbGF2b3JvIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY0CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiU2NhcnRhcmUgbCdlbGltaW5hemlvbmUgZGFsbCdhbGJlcm8gZGkgbGF2b3JvIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIlNjYXJ0YXJlIHF1ZXN0J2h1bmsgZGFsbCdhbGJlcm8gZGkgbGF2b3JvIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTMKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiRGlzY2FyZCBtb2RlIGNoYW5nZSBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiIgorIlNjYXJ0YXJlIGxhIG1vZGlmaWNhIG1vZG8gZGFsbCdpbmRpY2UgZSBkYWxsJ2FsYmVybyBkaSBsYXZvcm8gW3ksbixxLGEsZCIKKyIlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTQKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiRGlzY2FyZCBkZWxldGlvbiBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiIgorIlNjYXJ0YXJlIGwnZWxpbWluYXppb25lIGRhbGwnaW5kaWNlIGUgZGFsbCdhbGJlcm8gZGkgbGF2b3JvIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTUKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIiIKKyJTY2FydGFyZSBxdWVzdCdodW5rIGRhbGwnaW5kaWNlIGUgZGFsbCdhbGJlcm8gZGkgbGF2b3JvIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICIiCisiQXBwbGljYXJlIGxhIG1vZGlmaWNhIG1vZG8gYWxsJ2luZGljZSBlIGFsbCdhbGJlcm8gZGkgbGF2b3JvIFt5LG4scSxhLGQiCisiJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU5CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiIgorIkFwcGxpY2FyZSBsJ2VsaW1pbmF6aW9uZSBhbGwnaW5kaWNlIGUgYWxsJ2FsYmVybyBkaSBsYXZvcm8gW3ksbixxLGEsZCVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2MAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICIiCisiQXBwbGljYXJlIHF1ZXN0J2h1bmsgYWxsJ2luZGljZSBlIGFsbCdhbGJlcm8gZGkgbGF2b3JvIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIkFwcGxpY2FyZSBsYSBtb2RpZmljYSBtb2RvIGFsbCdhbGJlcm8gZGkgbGF2b3JvIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjkKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgZGVsZXRpb24gdG8gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIkFwcGxpY2FyZSBsJ2VsaW1pbmF6aW9uZSBhbGwnYWxiZXJvIGRpIGxhdm9ybyBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDcwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiQXBwbGljYXJlIHF1ZXN0J2h1bmsgYWxsJ2FsYmVybyBkaSBsYXZvcm8gW3ksbixxLGEsZCVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3MAorbXNnaWQgIk5vIG90aGVyIGh1bmtzIHRvIGdvdG9cbiIKK21zZ3N0ciAiTmVzc3VuIGFsdHJvIGh1bmsgYSBjdWkgYW5kYXJlXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU4OAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG51bWJlcjogJyVzJ1xuIgorbXNnc3RyICJOdW1lcm8gbm9uIHZhbGlkbzogJyVzJ1xuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1OTMKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU29ycnksIG9ubHkgJWQgaHVuayBhdmFpbGFibGUuXG4iCittc2dpZF9wbHVyYWwgIlNvcnJ5LCBvbmx5ICVkIGh1bmtzIGF2YWlsYWJsZS5cbiIKK21zZ3N0clswXSAiTWkgZGlzcGlhY2UsIMOoIGRpc3BvbmliaWxlIHNvbG8gJWQgaHVuay5cbiIKK21zZ3N0clsxXSAiTWkgZGlzcGlhY2UsIHNvbm8gZGlzcG9uaWJpbGkgc29sbyAlZCBodW5rLlxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTkKK21zZ2lkICJObyBvdGhlciBodW5rcyB0byBzZWFyY2hcbiIKK21zZ3N0ciAiTmVzc3VuIGFsdHJvIGh1bmsgaW4gY3VpIHJpY2VyY2FyZVxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MzYKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzXG4iCittc2dzdHIgIkVzcHJlc3Npb25lIHJlZ29sYXJlIGRpIHJpY2VyY2EgJXMgbWFsZm9ybWF0YTogJXNcbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQ2Cittc2dpZCAiTm8gaHVuayBtYXRjaGVzIHRoZSBnaXZlbiBwYXR0ZXJuXG4iCittc2dzdHIgIk5lc3N1biBodW5rIGNvcnJpc3BvbmRlIGFsIHBhdHRlcm4gZm9ybml0b1xuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjgwCittc2dpZCAiTm8gcHJldmlvdXMgaHVua1xuIgorbXNnc3RyICJOZXNzdW4gaHVuayBwcmVjZWRlbnRlXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2ODYKK21zZ2lkICJObyBuZXh0IGh1bmtcbiIKK21zZ3N0ciAiTmVzc3VuIGh1bmsgc3VjY2Vzc2l2b1xuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTIKK21zZ2lkICJTb3JyeSwgY2Fubm90IHNwbGl0IHRoaXMgaHVua1xuIgorbXNnc3RyICJNaSBkaXNwaWFjZSwgbm9uIHBvc3NvIHN1ZGRpdmlkZXJlIHF1ZXN0J2h1bmtcbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjk4CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlNwbGl0IGludG8gJWQgaHVuay5cbiIKK21zZ2lkX3BsdXJhbCAiU3BsaXQgaW50byAlZCBodW5rcy5cbiIKK21zZ3N0clswXSAiU3VkZGl2aXNvIGluICVkIGh1bmsuXG4iCittc2dzdHJbMV0gIlN1ZGRpdmlzbyBpbiAlZCBodW5rLlxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDgKK21zZ2lkICJTb3JyeSwgY2Fubm90IGVkaXQgdGhpcyBodW5rXG4iCittc2dzdHIgIk1pIGRpc3BpYWNlLCBub24gcG9zc28gbW9kaWZpY2FyZSBxdWVzdCdodW5rXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBwbGVhc2UgZG8gbm90IHRyYW5zbGF0ZSB0aGUgY29tbWFuZCBuYW1lcworIy4gJ3N0YXR1cycsICd1cGRhdGUnLCAncmV2ZXJ0JywgZXRjLgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzczCittc2dpZCAiIgorInN0YXR1cyAgICAgICAgLSBzaG93IHBhdGhzIHdpdGggY2hhbmdlc1xuIgorInVwZGF0ZSAgICAgICAgLSBhZGQgd29ya2luZyB0cmVlIHN0YXRlIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXNcbiIKKyJyZXZlcnQgICAgICAgIC0gcmV2ZXJ0IHN0YWdlZCBzZXQgb2YgY2hhbmdlcyBiYWNrIHRvIHRoZSBIRUFEIHZlcnNpb25cbiIKKyJwYXRjaCAgICAgICAgIC0gcGljayBodW5rcyBhbmQgdXBkYXRlIHNlbGVjdGl2ZWx5XG4iCisiZGlmZiAgICAgICAgICAtIHZpZXcgZGlmZiBiZXR3ZWVuIEhFQUQgYW5kIGluZGV4XG4iCisiYWRkIHVudHJhY2tlZCAtIGFkZCBjb250ZW50cyBvZiB1bnRyYWNrZWQgZmlsZXMgdG8gdGhlIHN0YWdlZCBzZXQgb2YgIgorImNoYW5nZXNcbiIKK21zZ3N0ciAiIgorInN0YXR1cyAgICAgICAgLSB2aXN1YWxpenphIGkgcGVyY29yc2kgY29uIG1vZGlmaWNoZVxuIgorInVwZGF0ZSAgICAgICAgLSBhZ2dpdW5nZSBsbyBzdGF0byBkZWxsJ2FsYmVybyBkaSBsYXZvcm8gYWxsJ2luc2llbWUgZGVsbGVcbiIKKyIgICAgICAgICAgICAgICAgbW9kaWZpY2hlIG5lbGwnYXJlYSBkaSBzdGFnaW5nXG4iCisicmV2ZXJ0ICAgICAgICAtIHJpcHJpc3RpbmEgbCdpbnNpZW1lIGRlbGxlIG1vZGlmaWNoZSBuZWxsJ2FyZWEgZGkgc3RhZ2luZ1xuIgorIiAgICAgICAgICAgICAgICBhbGxhIHZlcnNpb25lIEhFQURcbiIKKyJwYXRjaCAgICAgICAgIC0gc2VsZXppb25hIGUgYWdnaW9ybmEgZ2xpIGh1bmsgaW4gbW9kbyBzZWxldHRpdm9cbiIKKyJkaWZmICAgICAgICAgIC0gdmlzdWFsaXp6YSBsZSBkaWZmZXJlbnplIGZyYSBIRUFEIGUgbCdpbmRpY2VcbiIKKyJhZGQgdW50cmFja2VkIC0gYWdnaXVuZ2UgaSBjb250ZW51dGkgZGVpIGZpbGUgbm9uIHRyYWNjaWF0aSBhbGwnaW5zaWVtZSBkaVxuIgorIiAgICAgICAgICAgICAgICBtb2RpZmljaGUgbmVsbCdhcmVhIGRpIHN0YWdpbmdcbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzkwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc5NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzk4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgwNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODA4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgxNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODE5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyNQorbXNnaWQgIm1pc3NpbmcgLS0iCittc2dzdHIgIi0tIG1hbmNhbnRlIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MjEKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAidW5rbm93biAtLXBhdGNoIG1vZGU6ICVzIgorbXNnc3RyICJtb2RhbGl0w6AgLS1wYXRjaCBzY29ub3NjaXV0YTogJXMiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyNyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MzMKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAlcywgZXhwZWN0aW5nIC0tIgorbXNnc3RyICJhcmdvbWVudG8gJXMgbm9uIHZhbGlkbywgYXR0ZXNvIC0tIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzOAorbXNnaWQgImxvY2FsIHpvbmUgZGlmZmVycyBmcm9tIEdNVCBieSBhIG5vbi1taW51dGUgaW50ZXJ2YWxcbiIKK21zZ3N0ciAiIgorImlsIGZ1c28gb3JhcmlvIGxvY2FsZSBkaWZmZXJpc2NlIGRhIEdNVCBkaSB1biBpbnRlcnZhbGxvIG5vbiBtdWx0aXBsbyBkaSB1biAiCisibWludXRvXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUxCittc2dpZCAibG9jYWwgdGltZSBvZmZzZXQgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDI0IGhvdXJzXG4iCittc2dzdHIgImwnb2Zmc2V0IGRlbCBmdXNvIG9yYXJpbyBsb2NhbGUgw6ggbWFnZ2lvcmUgbyB1Z3VhbGUgYSAyNCBvcmVcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoyMjMgZ2l0LXNlbmQtZW1haWwucGVybDoyMjkKK21zZ2lkICJ0aGUgZWRpdG9yIGV4aXRlZCB1bmNsZWFubHksIGFib3J0aW5nIGV2ZXJ5dGhpbmciCittc2dzdHIgImwnZWRpdG9yIG5vbiDDqCB0ZXJtaW5hdG8gcmVnb2xhcm1lbnRlLCBpbnRlcnJvbXBvIHR1dHRlIGxlIG9wZXJhemlvbmkiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzEwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIiIKKyInJXMnIGNvbnRhaW5zIGFuIGludGVybWVkaWF0ZSB2ZXJzaW9uIG9mIHRoZSBlbWFpbCB5b3Ugd2VyZSBjb21wb3NpbmcuXG4iCittc2dzdHIgIiIKKyInJXMnIGNvbnRpZW5lIHVuYSB2ZXJzaW9uZSBpbnRlcm1lZGlhIGRlbGwnZS1tYWlsIGNoZSBzdGF2aSBjb21wb25lbmRvLlxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMxNQorIywgcGVybC1mb3JtYXQKK21zZ2lkICInJXMuZmluYWwnIGNvbnRhaW5zIHRoZSBjb21wb3NlZCBlbWFpbC5cbiIKK21zZ3N0ciAiJyVzLmZpbmFsJyBjb250aWVuZSBsJ2UtbWFpbCBjb21wb3N0YS5cbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo0MDgKK21zZ2lkICItLWR1bXAtYWxpYXNlcyBpbmNvbXBhdGlibGUgd2l0aCBvdGhlciBvcHRpb25zXG4iCittc2dzdHIgIi0tZHVtcC1hbGlhc2VzIG5vbiDDqCBjb21wYXRpYmlsZSBjb24gYWx0cmUgb3B6aW9uaVxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ4MSBnaXQtc2VuZC1lbWFpbC5wZXJsOjY4MworbXNnaWQgIkNhbm5vdCBydW4gZ2l0IGZvcm1hdC1wYXRjaCBmcm9tIG91dHNpZGUgYSByZXBvc2l0b3J5XG4iCittc2dzdHIgIkltcG9zc2liaWxlIGVzZWd1aXJlIGdpdCBmb3JtYXQtcGF0Y2ggYWwgZGkgZnVvcmkgZGkgdW4gcmVwb3NpdG9yeVxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ4NAorbXNnaWQgIiIKKyJgYmF0Y2gtc2l6ZWAgYW5kIGByZWxvZ2luYCBtdXN0IGJlIHNwZWNpZmllZCB0b2dldGhlciAodmlhIGNvbW1hbmQtbGluZSBvciAiCisiY29uZmlndXJhdGlvbiBvcHRpb24pXG4iCittc2dzdHIgIiIKKyJgYmF0Y2gtc2l6ZWAgZSBgcmVsb2dpbmAgZGV2b25vIGVzc2VyZSBzcGVjaWZpY2F0aSBpbnNpZW1lIChzdWxsYSByaWdhIGRpICIKKyJjb21hbmRvIG8gdHJhbWl0ZSB1bidvcHppb25lIGRpIGNvbmZpZ3VyYXppb25lKVxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ5NworIywgcGVybC1mb3JtYXQKK21zZ2lkICJVbmtub3duIC0tc3VwcHJlc3MtY2MgZmllbGQ6ICclcydcbiIKK21zZ3N0ciAiQ2FtcG8gLS1zdXBwcmVzcy1jYyBzY29ub3NjaXV0bzogJyVzJ1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUyOAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJVbmtub3duIC0tY29uZmlybSBzZXR0aW5nOiAnJXMnXG4iCittc2dzdHIgIkltcG9zdGF6aW9uZSAtLWNvbmZpcm0gc2Nvbm9zY2l1dGE6ICclcydcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1NTYKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAid2FybmluZzogc2VuZG1haWwgYWxpYXMgd2l0aCBxdW90ZXMgaXMgbm90IHN1cHBvcnRlZDogJXNcbiIKK21zZ3N0ciAiYXR0ZW56aW9uZTogbm9uIHNvbm8gc3VwcG9ydGF0aSBhbGlhcyBzZW5kbWFpbCBjb24gdmlyZ29sZXR0ZTogJXNcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1NTgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAid2FybmluZzogYDppbmNsdWRlOmAgbm90IHN1cHBvcnRlZDogJXNcbiIKK21zZ3N0ciAiYXR0ZW56aW9uZTogYDppbmNsdWRlOmAgbm9uIHN1cHBvcnRhdG86ICVzXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTYwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGAvZmlsZWAgb3IgYHxwaXBlYCByZWRpcmVjdGlvbiBub3Qgc3VwcG9ydGVkOiAlc1xuIgorbXNnc3RyICJhdHRlbnppb25lOiByZWRpcmV6aW9uaSBgL2ZpbGVgIG8gYHxwaXBlYCBub24gc3VwcG9ydGF0ZTogJXNcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1NjUKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAid2FybmluZzogc2VuZG1haWwgbGluZSBpcyBub3QgcmVjb2duaXplZDogJXNcbiIKK21zZ3N0ciAiYXR0ZW56aW9uZTogcmlnYSBzZW5kbWFpbCBub24gcmljb25vc2NpdXRhOiAlc1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY0OQorIywgcGVybC1mb3JtYXQKK21zZ2lkICIiCisiRmlsZSAnJXMnIGV4aXN0cyBidXQgaXQgY291bGQgYWxzbyBiZSB0aGUgcmFuZ2Ugb2YgY29tbWl0c1xuIgorInRvIHByb2R1Y2UgcGF0Y2hlcyBmb3IuICBQbGVhc2UgZGlzYW1iaWd1YXRlIGJ5Li4uXG4iCisiXG4iCisiICAgICogU2F5aW5nIFwiLi8lc1wiIGlmIHlvdSBtZWFuIGEgZmlsZTsgb3JcbiIKKyIgICAgKiBHaXZpbmcgLS1mb3JtYXQtcGF0Y2ggb3B0aW9uIGlmIHlvdSBtZWFuIGEgcmFuZ2UuXG4iCittc2dzdHIgIiIKKyJJbCBmaWxlICclcycgZXNpc3RlIG1hIHRhbGUgc3RyaW5nYSBwb3RyZWJiZSBjb3JyaXNwb25kZXJlXG4iCisiYW5jaGUgYWxsJ2ludGVydmFsbG8gZGkgY29tbWl0IHBlciBjdWkgZ2VuZXJhcmUgZGVsbGUgcGF0Y2guXG4iCisiU3BlY2lmaWNhIHF1YWwgw6ggaWwgY2FzbyBjb3JyZXR0by4uLlxuIgorIlxuIgorIiAgICAqIC4uLnVzYW5kbyBcIi4vJXNcIiBzZSBpbnRlbmRpIHJpZmVyaXJ0aSBhbCBmaWxlLCBvLi4uXG4iCisiICAgICogLi4uZm9ybmVuZG8gbCdvcHppb25lIC0tZm9ybWF0LXBhdGNoIHNlIHRpIHJpZmVyaXNjaVxuIgorIiAgICAgIGEgdW4gaW50ZXJ2YWxsby5cbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NzAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW5kaXIgJXM6ICVzIgorbXNnc3RyICJvcGVuZGlyIGRpICVzIG5vbiByaXVzY2l0YTogJXMiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njk0CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIiIKKyJmYXRhbDogJXM6ICVzXG4iCisid2FybmluZzogbm8gcGF0Y2hlcyB3ZXJlIHNlbnRcbiIKK21zZ3N0ciAiIgorImVycm9yZSBmYXRhbGU6ICVzOiAlc1xuIgorImF0dGVuemlvbmU6IG5vbiDDqCBzdGF0YSBpbnZpYXRhIGFsY3VuYSBwYXRjaFxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcwNQorbXNnaWQgIiIKKyJcbiIKKyJObyBwYXRjaCBmaWxlcyBzcGVjaWZpZWQhXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJOZXNzdW4gZmlsZSBwYXRjaCBzcGVjaWZpY2F0byFcbiIKKyJcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MTgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiTm8gc3ViamVjdCBsaW5lIGluICVzPyIKK21zZ3N0ciAiUmlnYSBvZ2dldHRvIGFzc2VudGUgaW4gJXM/IgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcyOAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gb3BlbiBmb3Igd3JpdGluZyAlczogJXMiCittc2dzdHIgIkFwZXJ0dXJhIGRpICVzIGluIHNjcml0dHVyYSBub24gcml1c2NpdGE6ICVzIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjczOQorbXNnaWQgIiIKKyJMaW5lcyBiZWdpbm5pbmcgaW4gXCJHSVQ6XCIgd2lsbCBiZSByZW1vdmVkLlxuIgorIkNvbnNpZGVyIGluY2x1ZGluZyBhbiBvdmVyYWxsIGRpZmZzdGF0IG9yIHRhYmxlIG9mIGNvbnRlbnRzXG4iCisiZm9yIHRoZSBwYXRjaCB5b3UgYXJlIHdyaXRpbmcuXG4iCisiXG4iCisiQ2xlYXIgdGhlIGJvZHkgY29udGVudCBpZiB5b3UgZG9uJ3Qgd2lzaCB0byBzZW5kIGEgc3VtbWFyeS5cbiIKK21zZ3N0ciAiIgorIkxlIHJpZ2hlIGNoZSBpbml6aWFubyBjb24gXCJHSVQ6XCIgc2FyYW5ubyByaW1vc3NlLlxuIgorIlZhbHV0YSBkaSBpbmNsdWRlcmUgdW4gZGlmZnN0YXQgZ2xvYmFsZSBvIHVuIHNvbW1hcmlvIHBlclxuIgorImxhIHBhdGNoIGNoZSBzdGFpIHNjcml2ZW5kby5cbiIKKyJcbiIKKyJSaW11b3ZpIGlsIGNvcnBvIHNlIG5vbiB2dW9pIGludmlhcmUgdW4gc29tbWFyaW8uXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzYzCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzOiAlcyIKK21zZ3N0ciAiQXBlcnR1cmEgZGkgJXMgbm9uIHJpdXNjaXRhOiAlcyIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo3ODAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMuZmluYWw6ICVzIgorbXNnc3RyICJBcGVydHVyYSBkaSAlcy5maW5hbCBub24gcml1c2NpdGE6ICVzIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgyMworbXNnaWQgIlN1bW1hcnkgZW1haWwgaXMgZW1wdHksIHNraXBwaW5nIGl0XG4iCittc2dzdHIgIkUtbWFpbCByaWFzc3VudGl2YSB2dW90YSwgbGEgb21ldHRvXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBwbGVhc2Uga2VlcCBbeS9OXSBhcyBpcy4KKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODU4CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB1c2UgPCVzPiBbeS9OXT8gIgorbXNnc3RyICJVc2FyZSA8JXM+IFt5L05dPyAiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTEzCittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgZmlsZXMgYXJlIDhiaXQsIGJ1dCBkbyBub3QgZGVjbGFyZSBhIENvbnRlbnQtVHJhbnNmZXItIgorIkVuY29kaW5nLlxuIgorbXNnc3RyICIiCisiSSBzZWd1ZW50aSBmaWxlIHNvbm8gY29kaWZpY2F0aSBhIDggYml0IG1hIG5vbiBkaWNoaWFyYW5vIHVuIENvbnRlbnQtIgorIlRyYW5zZmVyLUVuY29kaW5nLlxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkxOAorbXNnaWQgIldoaWNoIDhiaXQgZW5jb2Rpbmcgc2hvdWxkIEkgZGVjbGFyZSBbVVRGLThdPyAiCittc2dzdHIgIkNoZSBjb2RpZmljYSBhIDggYml0IGRldm8gZGljaGlhcmFyZSBbVVRGLThdPyAiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTI2CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIiIKKyJSZWZ1c2luZyB0byBzZW5kIGJlY2F1c2UgdGhlIHBhdGNoXG4iCisiXHQlc1xuIgorImhhcyB0aGUgdGVtcGxhdGUgc3ViamVjdCAnKioqIFNVQkpFQ1QgSEVSRSAqKionLiBQYXNzIC0tZm9yY2UgaWYgeW91IHJlYWxseSAiCisid2FudCB0byBzZW5kLlxuIgorbXNnc3RyICIiCisiTWkgcmlmaXV0byBkaSBlc2VndWlyZSBsJ2ludmlvIHBlcmNow6kgbGEgcGF0Y2hcbiIKKyJcdCVzXG4iCisiaGEgY29tZSBvZ2dldHRvIG5lbCBtb2RlbGxvICcqKiogU1VCSkVDVCBIRVJFICoqKicuIEZvcm5pc2NpIGwnb3B6aW9uZSAtLSIKKyJmb3JjZSBzZSB2dW9pIHZlcmFtZW50ZSBwcm9jZWRlcmUgY29uIGwnaW52aW8uXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTQ1Cittc2dpZCAiVG8gd2hvbSBzaG91bGQgdGhlIGVtYWlscyBiZSBzZW50IChpZiBhbnlvbmUpPyIKK21zZ3N0ciAiIgorIkEgY2hpIGRvdnJhbm5vIGVzc2VyZSBpbnZpYXRlIGxlIGUtbWFpbCAoc2UgZGV2b25vIGVzc2VyZSBpbnZpYXRlIGEgIgorInF1YWxjdW5vKT8iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTYzCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgImZhdGFsOiBhbGlhcyAnJXMnIGV4cGFuZHMgdG8gaXRzZWxmXG4iCittc2dzdHIgImVycm9yZSBmYXRhbGU6IGwnYWxpYXMgJyVzJyBzaSBlc3BhbmRlIGluIHNlIHN0ZXNzb1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjk3NQorbXNnaWQgIk1lc3NhZ2UtSUQgdG8gYmUgdXNlZCBhcyBJbi1SZXBseS1UbyBmb3IgdGhlIGZpcnN0IGVtYWlsIChpZiBhbnkpPyAiCittc2dzdHIgIiIKKyJNZXNzYWdlLUlEIGRhIHVzYXJlIG5lbGwnaW50ZXN0YXppb25lIEluLVJlcGx5LVRvIHBlciBsYSBwcmltYSBlLW1haWwgKHNlICIKKyJkZXYnZXNzZXJlIHVzYXRvKT8gIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwMzMgZ2l0LXNlbmQtZW1haWwucGVybDoxMDQxCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgImVycm9yOiB1bmFibGUgdG8gZXh0cmFjdCBhIHZhbGlkIGFkZHJlc3MgZnJvbTogJXNcbiIKK21zZ3N0ciAiZXJyb3JlOiBpbXBvc3NpYmlsZSBlc3RyYXJyZSB1biBpbmRpcml6em8gdmFsaWRvIGRhICVzXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbcV0gW2RdIFtlXSBpbiB5b3VyCisjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CisjLiBhdCB0aGlzIHBvaW50LgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDQ1Cittc2dpZCAiV2hhdCB0byBkbyB3aXRoIHRoaXMgYWRkcmVzcz8gKFtxXXVpdHxbZF1yb3B8W2VdZGl0KTogIgorbXNnc3RyICIiCisiQ29zYSBkZXZvIGZhcmUgY29uIHF1ZXN0J2luZGlyaXp6bz8gKEVzY2kgW3FdfHNjYXJ0YSBbZF18bW9kaWZpY2EgW2VdKTogIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzNjIKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQ0EgcGF0aCBcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIklsIHBlcmNvcnNvIENBIFwiJXNcIiBub24gZXNpc3RlIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NDUKK21zZ2lkICIiCisiICAgIFRoZSBDYyBsaXN0IGFib3ZlIGhhcyBiZWVuIGV4cGFuZGVkIGJ5IGFkZGl0aW9uYWxcbiIKKyIgICAgYWRkcmVzc2VzIGZvdW5kIGluIHRoZSBwYXRjaCBjb21taXQgbWVzc2FnZS4gQnkgZGVmYXVsdFxuIgorIiAgICBzZW5kLWVtYWlsIHByb21wdHMgYmVmb3JlIHNlbmRpbmcgd2hlbmV2ZXIgdGhpcyBvY2N1cnMuXG4iCisiICAgIFRoaXMgYmVoYXZpb3IgaXMgY29udHJvbGxlZCBieSB0aGUgc2VuZGVtYWlsLmNvbmZpcm1cbiIKKyIgICAgY29uZmlndXJhdGlvbiBzZXR0aW5nLlxuIgorIlxuIgorIiAgICBGb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiwgcnVuICdnaXQgc2VuZC1lbWFpbCAtLWhlbHAnLlxuIgorIiAgICBUbyByZXRhaW4gdGhlIGN1cnJlbnQgYmVoYXZpb3IsIGJ1dCBzcXVlbGNoIHRoaXMgbWVzc2FnZSxcbiIKKyIgICAgcnVuICdnaXQgY29uZmlnIC0tZ2xvYmFsIHNlbmRlbWFpbC5jb25maXJtIGF1dG8nLlxuIgorIlxuIgorbXNnc3RyICIiCisiICAgIEwnZWxlbmNvIENjIGRpIGN1aSBzb3ByYSDDqCBzdGF0byBlc3BhbnNvIGFnZ2l1bmdlbmRvXG4iCisiICAgIGluZGlyaXp6aSBhZ2dpdW50aXZpIHRyb3ZhdGkgbmVsIG1lc3NhZ2dpbyBkaSBjb21taXQgZGVsbGFcbiIKKyIgICAgcGF0Y2guIFBlciBpbXBvc3RhemlvbmUgcHJlZGVmaW5pdGEgc2VuZC1lbWFpbCByaWNoaWVkZVxuIgorIiAgICBjb21lIHByb2NlZGVyZSBwcmltYSBkZWxsJ2ludmlvIG9nbmlxdWFsdm9sdGEgc2kgdmVyaWZpY2hpXG4iCisiICAgIHRhbGUgZXZlbmllbnphLiBRdWVzdG8gY29tcG9ydGFtZW50byDDqCBjb250cm9sbGF0b1xuIgorIiAgICBkYWxsJ2ltcG9zdGF6aW9uZSBkaSBjb25maWd1cmF6aW9uZSBzZW5kZW1haWwuY29uZmlybS5cbiIKKyJcbiIKKyIgICAgUGVyIHVsdGVyaW9yaSBpbmZvcm1hemlvbmksIGVzZWd1aSAnZ2l0IHNlbmQtZW1haWwgLS1oZWxwJy5cbiIKKyIgICAgUGVyIG1hbnRlbmVyZSBpbCBjb21wb3J0YW1lbnRvIGNvcnJlbnRlLCBtYSBub25cbiIKKyIgICAgdmlzdWFsaXp6YXJlIHBpw7kgcXVlc3RvIG1lc3NhZ2dpbywgZXNlZ3VpICdnaXQgY29uZmlnXG4iCisiICAgIC0tZ2xvYmFsIHNlbmRlbWFpbC5jb25maXJtIGF1dG8nLlxuIgorIlxuIgorCisjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3ldIFtuXSBbZV0gW3FdIFthXSBpbiB5b3VyCisjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CisjLiBhdCB0aGlzIHBvaW50LgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDYwCittc2dpZCAiU2VuZCB0aGlzIGVtYWlsPyAoW3ldZXN8W25db3xbZV1kaXR8W3FddWl0fFthXWxsKTogIgorbXNnc3RyICIiCisiSW52aWFyZSBxdWVzdCdlLW1haWw/IChTw6wgW3ldfFtuXW98bW9kaWZpY2EgW2VdfGVzY2kgW3FdfGludmlhIHR1dHRlIFthXSk6ICIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDYzCittc2dpZCAiU2VuZCB0aGlzIGVtYWlsIHJlcGx5IHJlcXVpcmVkIgorbXNnc3RyICLDiCByaWNoaWVzdGEgdW5hIHJpc3Bvc3RhIGFsbGEgcmljaGllc3RhIGRpIGludmlvIGUtbWFpbCIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDkxCittc2dpZCAiVGhlIHJlcXVpcmVkIFNNVFAgc2VydmVyIGlzIG5vdCBwcm9wZXJseSBkZWZpbmVkLiIKK21zZ3N0ciAiSWwgc2VydmVyIFNNVFAgcmljaGllc3RvIG5vbiDDqCBkZWZpbml0byBpbiBtb2RvIGFkZWd1YXRvLiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTM4CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IFNUQVJUVExTISAlcyIKK21zZ3N0ciAiSWwgc2VydmVyIG5vbiBzdXBwb3J0YSBTVEFSVFRMUyEgJXMiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU0MyBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDcKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU1RBUlRUTFMgZmFpbGVkISAlcyIKK21zZ3N0ciAiU1RBUlRUTFMgbm9uIHJpdXNjaXRvISAlcyIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTU2Cittc2dpZCAiVW5hYmxlIHRvIGluaXRpYWxpemUgU01UUCBwcm9wZXJseS4gQ2hlY2sgY29uZmlnIGFuZCB1c2UgLS1zbXRwLWRlYnVnLiIKK21zZ3N0ciAiIgorIkltcG9zc2liaWxlIGluaXppYWxpenphcmUgU01UUCBpbiBtb2RvIGFkZWd1YXRvLiBDb250cm9sbGEgbGEgY29uZmlndXJhemlvbmUgIgorImUgdXNhIC0tc210cC1kZWJ1Zy4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3NAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2VuZCAlc1xuIgorbXNnc3RyICJJbnZpbyBkaSAlcyBub24gcml1c2NpdG9cbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc3CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkRyeS1TZW50ICVzXG4iCittc2dzdHIgIlRlc3QgaW52aW8gJXMgcml1c2NpdG9cbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc3CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlNlbnQgJXNcbiIKK21zZ3N0ciAiJXMgaW52aWF0b1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzkKK21zZ2lkICJEcnktT0suIExvZyBzYXlzOlxuIgorbXNnc3RyICJFc2VjdXppb25lIGRpIHByb3ZhIHJpdXNjaXRhLiBJbCByZWdpc3RybyDDqCBpbCBzZWd1ZW50ZTpcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc5Cittc2dpZCAiT0suIExvZyBzYXlzOlxuIgorbXNnc3RyICJPcGVyYXppb25lIHJpdXNjaXRhLiBJbCByZWdpc3RybyDDqCBpbCBzZWd1ZW50ZTpcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTkxCittc2dpZCAiUmVzdWx0OiAiCittc2dzdHIgIlJpc3VsdGF0bzogIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1OTQKK21zZ2lkICJSZXN1bHQ6IE9LXG4iCittc2dzdHIgIlJpc3VsdGF0bzogT0tcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjEyCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgImNhbid0IG9wZW4gZmlsZSAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlIGlsIGZpbGUgJXMiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY1OSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NzkKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiKG1ib3gpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKK21zZ3N0ciAiKG1ib3gpIEFnZ2l1bmdvIGNjOiAlcyBkYWxsYSByaWdhICclcydcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjY1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIihtYm94KSBBZGRpbmcgdG86ICVzIGZyb20gbGluZSAnJXMnXG4iCittc2dzdHIgIihtYm94KSBBZ2dpdW5nbyB0bzogJXMgZGFsbGEgcmlnYSAnJXMnXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcxOAorIywgcGVybC1mb3JtYXQKK21zZ2lkICIobm9uLW1ib3gpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKK21zZ3N0ciAiKG5vbiBtYm94KSBBZ2dpdW5nbyBjYzogJXMgZGFsbGEgcmlnYSAnJXMnXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc1MworIywgcGVybC1mb3JtYXQKK21zZ2lkICIoYm9keSkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgorbXNnc3RyICIoY29ycG8pIEFnZ2l1bmdvIGNjOiAlcyBkYWxsYSByaWdhICclcydcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODY0CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIiglcykgQ291bGQgbm90IGV4ZWN1dGUgJyVzJyIKK21zZ3N0ciAiKCVzKSBJbXBvc3NpYmlsZSBlc2VndWlyZSAnJXMnIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NzEKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiKCVzKSBBZGRpbmcgJXM6ICVzIGZyb206ICclcydcbiIKK21zZ3N0ciAiKCVzKSBBZ2dpdW5nbyAlczogJXMgZGE6ICclcydcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODc1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIiglcykgZmFpbGVkIHRvIGNsb3NlIHBpcGUgdG8gJyVzJyIKK21zZ3N0ciAiKCVzKSBjaGl1c3VyYSBkZWxsYSBwaXBlIGEgJyVzJyBub24gcml1c2NpdGEiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTkwNQorbXNnaWQgImNhbm5vdCBzZW5kIG1lc3NhZ2UgYXMgN2JpdCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgaW52aWFyZSBpbCBtZXNzYWdnaW8gY29uIGNvZGlmaWNhIGEgNyBiaXQiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTkxMworbXNnaWQgImludmFsaWQgdHJhbnNmZXIgZW5jb2RpbmciCittc2dzdHIgImNvZGlmaWNhIGRpIHRyYXNmZXJpbWVudG8gbm9uIHZhbGlkYSIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTU0IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjAwNiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwMTYKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIG9wZW4gJXM6ICVzXG4iCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlczogJXNcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTU3CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIiVzOiBwYXRjaCBjb250YWlucyBhIGxpbmUgbG9uZ2VyIHRoYW4gOTk4IGNoYXJhY3RlcnMiCittc2dzdHIgIiVzOiBsYSBwYXRjaCBjb250aWVuZSB1bmEgcmlnYSBwacO5IGx1bmdhIGRpIDk5OCBjYXJhdHRlcmkiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk3NAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyAlcyB3aXRoIGJhY2t1cCBzdWZmaXggJyVzJy5cbiIKK21zZ3N0ciAiU2FsdG8gJXMgY29uIGlsIHN1ZmZpc3NvIGRpIGJhY2t1cCAnJXMnLlxuIgorCisjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGtlZXAgIlt5fE5dIiBhcyBpcy4KKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk3OAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gc2VuZCAlcz8gW3l8Tl06ICIKK21zZ3N0ciAiSW52aWFyZSAlcz8gW3l8Tl06ICIKKworIywgYy1mb3JtYXQKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZ2V0IHRyZWUgZm9yICVzIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSByZWN1cGVyYXJlIGwnYWxiZXJvIHBlciAlcyIKKworI34gbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiCisjfiBtc2dzdHIgIlVzYSB1bidldXJpc3RpY2Egc3BlcmltZW50YWxlIHBlciBtaWdsaW9yYXJlIGkgZGlmZiIKKworI34gbXNnaWQgImdpdCBjb21taXQtZ3JhcGggWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCisjfiBtc2dzdHIgImdpdCBjb21taXQtZ3JhcGggWy0tb2JqZWN0LWRpciA8ZGlyZWN0b3J5IG9nZ2V0dGk+XSIKKworI34gbXNnaWQgImdpdCBjb21taXQtZ3JhcGggcmVhZCBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKKyN+IG1zZ3N0ciAiZ2l0IGNvbW1pdC1ncmFwaCByZWFkIFstLW9iamVjdC1kaXIgPGRpcmVjdG9yeSBvZ2dldHRpPl0iCisKKyMsIGMtZm9ybWF0CisjfiBtc2dpZCAidW5rbm93biBjb3JlLnVudHJhY2tlZENhY2hlIHZhbHVlICclcyc7IHVzaW5nICdrZWVwJyBkZWZhdWx0IHZhbHVlIgorI34gbXNnc3RyICIiCisjfiAidmFsb3JlIGNvcmUudW50cmFja2VkQ2FjaGUgJyVzJyBub24gdmFsaWRvOyB1dGlsaXp6ZXLDsiBpbCB2YWxvcmUgIgorI34gInByZWRlZmluaXRvICdrZWVwJyIKKworI34gbXNnaWQgImNhbm5vdCBjaGFuZ2UgcGFydGlhbCBjbG9uZSBwcm9taXNvciByZW1vdGUiCisjfiBtc2dzdHIgImltcG9zc2liaWxlIG1vZGlmaWNhcmUgaWwgcmVtb3RvIHByb21ldHRlbnRlIGRlbCBjbG9uZSBwYXJ6aWFsZSIKKworI34gbXNnaWQgImVycm9yIGJ1aWxkaW5nIHRyZWVzIgorI34gbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBsYSBjb3N0cnV6aW9uZSBkZWdsaSBhbGJlcmkiCisKKyMsIGMtZm9ybWF0CisjfiBtc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdCAnJXMnIGluICclcyciCisjfiBtc2dzdHIgImZvcm1hdG8gZGF0YSAnJXMnIG5vbiB2YWxpZG8gaW4gJyVzJyIKKworI34gbXNnaWQgIndyaXRpbmcgcm9vdCBjb21taXQiCisjfiBtc2dzdHIgInNjcml0dHVyYSBjb21taXQgcmFkaWNlIGluIGNvcnNvIgorCisjLCBjLWZvcm1hdAorI34gbXNnaWQgInN0YWdlZCBjaGFuZ2VzIGluIHRoZSBmb2xsb3dpbmcgZmlsZXMgbWF5IGJlIGxvc3Q6ICVzIgorI34gbXNnc3RyICIiCisjfiAibGUgbW9kaWZpY2hlIGluIHN0YWdlIG5laSBzZWd1ZW50aSBmaWxlIHBvdHJlYmJlcm8gYW5kYXJlIHBlcmR1dGU6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIi0tZmlsdGVyIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB0aGUgcmVtb3RlIGNvbmZpZ3VyZWQgaW4gZXh0ZW5zaW9ucy4iCisjfiAicGFydGlhbENsb25lIgorI34gbXNnc3RyICIiCisjfiAiLS1maWx0ZXIgcHXDsiBlc3NlcmUgdXNhdG8gc29sbyBjb24gaWwgcmVtb3RvIGNvbmZpZ3VyYXRvIG5lbGxlIGVzdGVuc2lvbmkuIgorI34gInBhcnRpYWxDbG9uZSIKKworI34gbXNnaWQgInZlcmlmeSBjb21taXQtbXNnIGhvb2siCisjfiBtc2dzdHIgInZlcmlmaWNhIGhvb2sgY29tbWl0LW1zZyIKKworI34gbXNnaWQgImNhbm5vdCBjb21iaW5lICctLXJlYmFzZS1tZXJnZXMnIHdpdGggJy0tc3RyYXRlZ3ktb3B0aW9uJyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgY29tYmluYXJlICctLXJlYmFzZS1tZXJnZXMnIGNvbiAnLS1zdHJhdGVneS1vcHRpb24nIgorCisjLCBjLWZvcm1hdAorI34gbXNnaWQgImludmFsaWQgc3BhcnNlIHZhbHVlICclcyciCisjfiBtc2dzdHIgInZhbG9yZSBzcGFyc2Ugbm9uIHZhbGlkbzogJyVzJyIKKworI34gbXNnaWQgIiIKKyN+ICJGZXRjaCBub3JtYWxseSBpbmRpY2F0ZXMgd2hpY2ggYnJhbmNoZXMgaGFkIGEgZm9yY2VkIHVwZGF0ZSwgYnV0IHRoYXQgIgorI34gImNoZWNrIGhhcyBiZWVuIGRpc2FibGVkLiIKKyN+IG1zZ3N0ciAiIgorI34gIklsIGZldGNoIG5vcm1hbG1lbnRlIGluZGljYSBxdWFsaSBicmFuY2ggc2lhbm8gc3RhdGkgc290dG9wb3N0aSBhZCAiCisjfiAiYWdnaW9ybmFtZW50byBmb3J6YXRvLCBtYSB0YWxlIGNvbnRyb2xsbyDDqCBzdGF0byBkaXNhYmlsaXRhdG8uIgorCisjfiBtc2dpZCAiIgorI34gIm9yIHJ1biAnZ2l0IGNvbmZpZyBmZXRjaC5zaG93Rm9yY2VkVXBkYXRlcyBmYWxzZScgdG8gYXZvaWQgdGhpcyBjaGVjay5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIm8gZXNlZ3VpcmUgJ2dpdCBjb25maWcgZmV0Y2guc2hvd0ZvcmNlZFVwZGF0ZXMgZmFsc2UnIHBlciBvbWV0dGVyZSAiCisjfiAicXVlc3RvXG4iCisjfiAiY29udHJvbGxvLlxuIgorCisjfiBtc2dpZCAiIgorI34gImxvZy5tYWlsbWFwIGlzIG5vdCBzZXQ7IGl0cyBpbXBsaWNpdCB2YWx1ZSB3aWxsIGNoYW5nZSBpbiBhblxuIgorI34gInVwY29taW5nIHJlbGVhc2UuIFRvIHNxdWVsY2ggdGhpcyBtZXNzYWdlIGFuZCBwcmVzZXJ2ZSBjdXJyZW50XG4iCisjfiAiYmVoYXZpb3VyLCBzZXQgdGhlIGxvZy5tYWlsbWFwIGNvbmZpZ3VyYXRpb24gdmFsdWUgdG8gZmFsc2UuXG4iCisjfiAiXG4iCisjfiAiVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2UgYW5kIGFkb3B0IHRoZSBuZXcgYmVoYXZpb3VyIG5vdywgc2V0IHRoZVxuIgorI34gImxvZy5tYWlsbWFwIGNvbmZpZ3VyYXRpb24gdmFsdWUgdG8gdHJ1ZS5cbiIKKyN+ICJcbiIKKyN+ICJTZWUgJ2dpdCBoZWxwIGNvbmZpZycgYW5kIHNlYXJjaCBmb3IgJ2xvZy5tYWlsbWFwJyBmb3IgZnVydGhlciAiCisjfiAiaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICIiCisjfiAibG9nLm1haWxtYXAgbm9uIMOoIGltcG9zdGF0bzsgaWwgc3VvIHZhbG9yZSBpbXBsaWNpdG8gc2Fyw6AgbW9kaWZpY2F0b1xuIgorI34gImluIHVuYSBwcm9zc2ltYSB2ZXJzaW9uZS4gUGVyIGVsaW1pbmFyZSBxdWVzdG8gbWVzc2FnZ2lvIGUgbWFudGVuZXJlXG4iCisjfiAiaWwgY29tcG9ydGFtZW50byBhdHR1YWxlLCBpbXBvc3RhIGlsIHZhbG9yZSBkaSBjb25maWd1cmF6aW9uZVxuIgorI34gImxvZy5tYWlsbWFwIGEgZmFsc2UuXG4iCisjfiAiXG4iCisjfiAiUGVyIGVsaW1pbmFyZSBxdWVzdG8gbWVzc2FnZ2lvIGUgYWRvdHRhcmUgaWwgbnVvdm8gY29tcG9ydGFtZW50byBvcmEsXG4iCisjfiAiaW1wb3N0YSBpbCB2YWxvcmUgZGkgY29uZmlndXJhemlvbmUgbG9nLm1haWxtYXAgYSB0cnVlLlxuIgorI34gIlxuIgorI34gIlZlZGkgJ2dpdCBoZWxwIGNvbmZpZycgZSBjZXJjYSAnbG9nLm1haWxtYXAnIHBlciB1bHRlcmlvcmkgaW5mb3JtYXppb25pLiIKKworI34gbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2tfZGV0YWlsZWQiCisjfiBtc2dzdHIgIklsIHNlcnZlciBzdXBwb3J0YSBtdWx0aV9hY2tfZGV0YWlsZXMiCisKKyN+IG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbm8tZG9uZSIKKyN+IG1zZ3N0ciAiSWwgc2VydmVyIHN1cHBvcnRhIG5vLWRvbmUiCisKKyN+IG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrIgorI34gbXNnc3RyICJJbCBzZXJ2ZXIgc3VwcG9ydGEgbXVsdGlfYWNrIgorCisjfiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZC02NGsiCisjfiBtc2dzdHIgIklsIHNlcnZlciBzdXBwb3J0YSBzaWRlLWJhbmQtNjRrIgorCisjfiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZCIKKyN+IG1zZ3N0ciAiSWwgc2VydmVyIHN1cHBvcnRhIHNpZGUtYmFuZCIKKworI34gbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy10aXAtc2hhMS1pbi13YW50IgorI34gbXNnc3RyICJJbCBzZXJ2ZXIgc3VwcG9ydGEgYWxsb3ctdGlwLXNoYTEtaW4td2FudCIKKworI34gbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgorI34gbXNnc3RyICJJbCBzZXJ2ZXIgc3VwcG9ydGEgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKKworI34gbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBvZnMtZGVsdGEiCisjfiBtc2dzdHIgIklsIHNlcnZlciBzdXBwb3J0YSBvZnMtZGVsdGEiCisKKyN+IG1zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCisjfiBtc2dzdHIgIihIRUFEIHNjb2xsZWdhdG8gc3UgJXMpIgorCisjfiBtc2dpZCAiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiCisjfiBtc2dzdHIgIihIRUFEIHNjb2xsZWdhdG8gZGEgJXMpIgorCisjfiBtc2dpZCAiQ2hlY2tpbmcgb3V0IGZpbGVzIgorI34gbXNnc3RyICJDaGVja291dCBkZWkgZmlsZSBpbiBjb3JzbyIKKworI34gbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKKyN+IG1zZ3N0ciAiIgorI34gImltcG9zc2liaWxlIGVzZWd1aXJlIGwnYXR0aXZpdMOgIGluIG1vZGFsaXTDoCBpbnRlcmF0dGl2YSBjb24gbG8gc3RhbmRhcmQgIgorI34gImlucHV0IG5vbiBjb2xsZWdhdG8gYSB1biB0ZXJtaW5hbGUuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXNcbiIKKyN+IG1zZ3N0ciAic3RhdCBkaSAlcyBub24gcml1c2NpdG9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJJZiB5b3Ugd2lzaCB0byBza2lwIHRoaXMgY29tbWl0LCB1c2U6XG4iCisjfiAiXG4iCisjfiAiICAgIGdpdCByZXNldFxuIgorI34gIlxuIgorI34gIlRoZW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHdpbGwgcmVzdW1lIGNoZXJyeS1waWNraW5nXG4iCisjfiAidGhlIHJlbWFpbmluZyBjb21taXRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiU2UgdnVvaSBpZ25vcmFyZSBxdWVzdG8gY29tbWl0LCB1c2E6XG4iCisjfiAiXG4iCisjfiAiICAgIGdpdCByZXNldFxuIgorI34gIlxuIgorI34gIlF1aW5kaSBpbCBjb21hbmRvIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiBmYXLDoCByaXByZW5kZXJlXG4iCisjfiAiaWwgY2hlcnJ5IHBpY2tpbmcgcGVyIGkgY29tbWl0IHJpbWFuZW50aS5cbiIKKworI34gbXNnaWQgInVucmVjb2duaXplZCB2ZXJiOiAlcyIKKyN+IG1zZ3N0ciAidmVyYm8gbm9uIHJpY29ub3NjaXV0bzogJXMiCisKKyN+IG1zZ2lkICJoYXNoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKKyN+IG1zZ3N0ciAibGEgdmVyc2lvbmUgZGVsbCdoYXNoICVYIG5vbiBjb3JyaXNwb25kZSBhbGxhIHZlcnNpb25lICVYIgorCisjfiBtc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYSB2YWx1ZSIKKyN+IG1zZ3N0ciAibCdvcHppb25lICclcycgcmljaGllZGUgdW4gdmFsb3JlIgorCisjfiBtc2dpZCAiY291bGQgbm90IHRyYW5zZm9ybSB0aGUgdG9kbyBsaXN0IgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSB0cmFzZm9ybWFyZSBsJ2VsZW5jbyB0b2RvIgorCisjfiBtc2dpZCAiZGVmYXVsdCIKKyN+IG1zZ3N0ciAiaW1wb3N0YXppb25lIHByZWRlZmluaXRhIgorCisjfiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKKyN+IG1zZ3N0ciAiTm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBjcmVhcmUgbGEgZGlyZWN0b3J5ICclcyciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY291bGQgbm90IG9wZW4gJXMiCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAnJXMnIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKKyN+IG1zZ3N0ciAiTm9uIMOoIHN0YXRvIHBvc3NpYmlsZSByaW11b3ZlcmUgaWwgYnJhbmNoICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhdGFsOiBjYW5ub3QgY29tYmluZSAnLS1zaWdub2ZmJyB3aXRoICctLXByZXNlcnZlLW1lcmdlcyciCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGNvbWJpbmFyZSAtLW5vLWZmIGNvbiAtLWZmLW9ubHkuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhdGFsOiBjYW5ub3QgY29tYmluZSAnLS1wcmVzZXJ2ZS1tZXJnZXMnIHdpdGggJy0tcmViYXNlLW1lcmdlcyciCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGNvbWJpbmFyZSAtLW5vLWZmIGNvbiAtLWZmLW9ubHkuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhdGFsOiBjYW5ub3QgY29tYmluZSAnLS1yZWJhc2UtbWVyZ2VzJyB3aXRoICctLXN0cmF0ZWd5LW9wdGlvbiciCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGNvbWJpbmFyZSAtLW5vLWZmIGNvbiAtLWZmLW9ubHkuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhdGFsOiBjYW5ub3QgY29tYmluZSAnLS1yZWJhc2UtbWVyZ2VzJyB3aXRoICctLXN0cmF0ZWd5JyIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgY29tYmluYXJlIC0tbm8tZmYgY29uIC0tZmYtb25seS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQ6ICRvbnRvX25hbWUiCisjfiBtc2dzdHIgIiclcycgbm9uIHB1bnRhIGFkIHVuIGNvbW1pdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDaGFuZ2VzIHRvICRvbnRvOiIKKyN+IG1zZ3N0ciAiTW9kaWZpY2hlIGRpIGN1aSB2ZXJyw6AgZXNlZ3VpdG8gaWwgY29tbWl0OiIKKworI34gbXNnaWQgImlnbm9yaW5nIHVua25vd24gY29sb3ItbW92ZWQtd3MgbW9kZSAnJXMnIgorI34gbXNnc3RyICJtb2RhbGl0w6AgY29sb3ItbW92ZWQtd3Mgc2Nvbm9zY2l1dGEgJyVzJyBpZ25vcmF0YSIKKworI34gbXNnaWQgIm9ubHkgJ3RyZWU6MCcgaXMgc3VwcG9ydGVkIgorI34gbXNnc3RyICLDqCBzdXBwb3J0YXRvIHNvbG8gJ3RyZWU6MCciCisKKyN+IG1zZ2lkICJSZW5hbWluZyAlcyB0byAlcyBhbmQgJXMgdG8gJXMgaW5zdGVhZCIKKyN+IG1zZ3N0ciAiUmlkZW5vbWlubyAlcyBpbiAlcyBlICVzIGluICVzIgorCisjfiBtc2dpZCAiQWRkaW5nIG1lcmdlZCAlcyIKKyN+IG1zZ3N0ciAiQWdnaXVudGEgZWxlbWVudG8gc290dG9wb3N0byBhIG1lcmdlICVzIgorCisjfiBtc2dpZCAiSW50ZXJuYWwgZXJyb3IiCisjfiBtc2dzdHIgIkVycm9yZSBpbnRlcm5vIgorCisjfiBtc2dpZCAibWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKKyN+IG1zZ3N0ciAiw6ggc3RhdG8gc3BlY2lmaWNhdG8gbWFpbmxpbmUgbWEgaWwgY29tbWl0ICVzIG5vbiDDqCB1biBtZXJnZS4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc2hhMSBmaWxlbmFtZSAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgaWwgZmlsZSBzaGExIGNvbiBub21lICVzIgorCisjfiBtc2dpZCAiY2Fubm90IHJlYWQgc2hhMV9maWxlIGZvciAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSBpbCBmaWxlIHNoYTEgcGVyICVzIgorCisjfiBtc2dpZCAidW5yZWNvZ25pc2VkIG9wdGlvbjogJyRhcmcnIgorI34gbXNnc3RyICJvcHppb25lIG5vbiByaWNvbm9zY2l1dGE6ICckYXJnJyIKKworI34gbXNnaWQgIickaW52YWxpZCcgaXMgbm90IGEgdmFsaWQgY29tbWl0IgorI34gbXNnc3RyICInJGludmFsaWQnIG5vbiDDqCB1biBjb21taXQgdmFsaWRvIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAnJXMnIChsb29raW5nIGZvciAnJXMnKSIKKyN+IG1zZ3N0ciAibm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBsZWdnZXJlIGlsIGZpbGUgZGkgbG9nICclcyciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2FuJ3Qgc3RhdCAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgbG8gc3RhdCBkaSAnJXMnIgorCisjfiBtc2dpZCAiTm8gc3VjaCByZW1vdGU6ICVzIgorI34gbXNnc3RyICJSZW1vdGUgbm9uIGVzaXN0ZW50ZTogJXMiCisKKyN+IG1zZ2lkICIgJWQgZmlsZSBjaGFuZ2VkIgorI34gbXNnaWRfcGx1cmFsICIgJWQgZmlsZXMgY2hhbmdlZCIKKyN+IG1zZ3N0clswXSAiICVkIGZpbGUgbW9kaWZpY2F0byIKKyN+IG1zZ3N0clsxXSAiICVkIGZpbGUgbW9kaWZpY2F0aSIKKworI34gbXNnaWQgIiwgJWQgaW5zZXJ0aW9uKCspIgorI34gbXNnaWRfcGx1cmFsICIsICVkIGluc2VydGlvbnMoKykiCisjfiBtc2dzdHJbMF0gIiwgJWQgaW5zZXJ6aW9uZSgrKSIKKyN+IG1zZ3N0clsxXSAiLCAlZCBpbnNlcnppb25pKCspIgorCisjfiBtc2dpZCAiLCAlZCBkZWxldGlvbigtKSIKKyN+IG1zZ2lkX3BsdXJhbCAiLCAlZCBkZWxldGlvbnMoLSkiCisjfiBtc2dzdHJbMF0gIi4gJWQgcmltb3ppb25lKC0pIgorI34gbXNnc3RyWzFdICIsICVkIHJpbW96aW9uaSgtKSIKKworI34gbXNnaWQgImNvdWxkIG5vdCBydW4gZ3BnLiIKKyN+IG1zZ3N0ciAibm9uIMOoIHN0YXRvIHBvc3NpYmlsZSBlc2VndWlyZSBncGcuIgorCisjfiBtc2dpZCAiZ3BnIGRpZCBub3QgYWNjZXB0IHRoZSBkYXRhIgorI34gbXNnc3RyICJncGcgbm9uIGhhIGFjY2V0dGF0byBpIGRhdGkiCisKKyN+IG1zZ2lkICInJXMnOiAlcyIKKyN+IG1zZ3N0ciAiJyVzJzogJXMiCisKKyN+IG1zZ2lkICJpbiAlMC4xZiBzZWNvbmRzIGF1dG9tYXRpY2FsbHkuLi4iCisjfiBtc2dzdHIgImF1dG9tYXRpY2FtZW50ZSB0cmEgJTAuMWYgc2Vjb25kaS4uLiIKKworI34gbXNnaWQgIllvdSBkbyBub3QgaGF2ZSBhIHZhbGlkIEhFQUQiCisjfiBtc2dzdHIgIk5vbiBoYWkgdW4gSEVBRCB2YWxpZG8iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gbG9vayB1cCBjdXJyZW50IHVzZXIgaW4gdGhlIHBhc3N3ZCBmaWxlOiAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgdHJvdmFyZSBsJ3V0ZW50ZSBjb3JyZW50ZSBuZWwgZmlsZSBwYXNzd2Q6ICVzIgorCisjfiBtc2dpZCAibm8gc3VjaCB1c2VyIgorI34gbXNnc3RyICJ1dGVudGUgbm9uIGVzaXN0ZW50ZSIKKworI34gbXNnaWQgImJ1ZyIKKyN+IG1zZ3N0ciAiYnVnIgorCisjfiBtc2dpZCAiY29waWVkOiAgICAgJXMgLT4gJXMiCisjfiBtc2dzdHIgImNvcGlhdG86ICAgICAlcyAtPiAlcyIKKworI34gbXNnaWQgImRlbGV0ZWQ6ICAgICVzIgorI34gbXNnc3RyICJlbGltaW5hdG86ICAgICVzIgorCisjfiBtc2dpZCAibW9kaWZpZWQ6ICAgJXMiCisjfiBtc2dzdHIgIm1vZGlmaWNhdG86ICAgJXMiCisKKyN+IG1zZ2lkICJyZW5hbWVkOiAgICAlcyAtPiAlcyIKKyN+IG1zZ3N0ciAicmlub21pbmF0bzogICAgJXMgLT4gJXMiCisKKyN+IG1zZ2lkICIsIGJlaGluZCAiCisjfiBtc2dzdHIgIiwgaW5kaWV0cm8gIgorCisjfiBtc2dpZCAibm8gZmlsZXMgYWRkZWQiCisjfiBtc2dzdHIgIm5lc3N1biBmaWxlIGFnZ2l1bnRvIgorCisjfiBtc2dpZCAib29wcyIKKyN+IG1zZ3N0ciAib29wcyIKKworI34gbXNnaWQgIiVzOiBoYXMgYmVlbiBkZWxldGVkL3JlbmFtZWQiCisjfiBtc2dzdHIgIiVzOiDDqCBzdGF0YSBlbGltaW5hdGEvcmlub21pbmF0YSIKKworI34gbXNnaWQgIlslczogYWhlYWQgJWRdIgorI34gbXNnc3RyICJbJXM6IGF2YW50aSAlZF0iCisKKyN+IG1zZ2lkICJkaWZmX3NldHVwX2RvbmUgZmFpbGVkIgorI34gbXNnc3RyICJkaWZmX3NldHVwX2RvbmUgbm9uIHJpdXNjaXRvIgorCisjfiBtc2dpZCAiLS1kZXRhY2ggY2Fubm90IGJlIHVzZWQgd2l0aCAtYi8tQi8tLW9ycGhhbiIKKyN+IG1zZ3N0ciAiLS1kZXRhY2ggbm9uIHB1w7IgZXNzZXJlIHVzYXRhIGNvbiAtYi8tQi8tLW9ycGhhbiIKKworI34gbXNnaWQgIi0tZGV0YWNoIGNhbm5vdCBiZSB1c2VkIHdpdGggLXQiCisjfiBtc2dzdHIgIi0tZGV0YWNoIG5vbiBwdcOyIGVzc2VyZSB1c2F0YSBjb24gLXQiCisKKyN+IG1zZ2lkICItLW9ycGhhbiBjYW5ub3QgYmUgdXNlZCB3aXRoIC10IgorI34gbXNnc3RyICItLW9ycGhhbiBub24gcHXDsiBlc3NlcmUgdXNhdGEgY29uIC10IgorCisjfiBtc2dpZCAiZ2l0IGNoZWNrb3V0OiAtZiBhbmQgLW0gYXJlIGluY29tcGF0aWJsZSIKKyN+IG1zZ3N0ciAiZ2l0IGNoZWNrb3V0OiAtZiBlIC1tIG5vbiBzb25vIGNvbXBhdGliaWxpIgorCisjfiBtc2dpZCAiTm8gZXhpc3RpbmcgYXV0aG9yIGZvdW5kIHdpdGggJyVzJyIKKyN+IG1zZ3N0ciAiTmVzc3VuIGF1dG9yZSBlc2lzdGVudGUgdHJvdmF0byBjb24gJyVzJyIKKworI34gbXNnaWQgIiclcyc6IG5vdCBhIGRvY3VtZW50YXRpb24gZGlyZWN0b3J5LiIKKyN+IG1zZ3N0ciAiJyVzJzogbm9uIMOoIHVuYSBkaXJlY3RvcnkgZGVsbGEgZG9jdW1lbnRhemlvbmUuIgorCisjfiBtc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyIKKyN+IG1zZ3N0ciAiUmVpbml6aWFsaXp6YXRvIHVuIGVzaXN0ZW50ZSIKKworI34gbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IgorI34gbXNnc3RyICJJbml6aWFsaXp6YXRvIHVuIgorCisjfiBtc2dpZCAiIHNoYXJlZCIKKyN+IG1zZ3N0ciAiIGNvbmRpdmlzbyIKKworI34gbXNnaWQgIldyaXRpbmcgU1FVQVNIX01TRyIKKyN+IG1zZ3N0ciAiU2NyaXR0dXJhIGRpIFNRVUFTSF9NU0ciCisKKyN+IG1zZ2lkICJGaW5pc2hpbmcgU1FVQVNIX01TRyIKKyN+IG1zZ3N0ciAiQ29tcGxldGFtZW50byBkaSBTUVVBU0hfTVNHIgorCisjfiBtc2dpZCAidGFnIG5hbWUgdG9vIGxvbmc6ICUuKnMuLi4iCisjfiBtc2dzdHIgIm5vbWUgdGFnIHRyb3BwbyBsdW5nbzogJS4qcy4uLiIKKworI34gbXNnaWQgInRhZyBoZWFkZXIgdG9vIGJpZy4iCisjfiBtc2dzdHIgImludGVzdGF6aW9uZSBkZWwgdGFnIHRyb3BwbyBncmFuZGUuIgorCisjfiBtc2dpZCAiWW91IG5lZWQgdG8gc2V0IHlvdXIgY29tbWl0dGVyIGluZm8gZmlyc3QiCisjfiBtc2dzdHIgIsOIIG5lY2Vzc2FyaW8gaW1wb3N0YXJlIGxlIGluZm9ybWF6aW9uaSBzdWwgY29tbWl0dGVyIgorCisjfiBtc2dpZCAiIgorI34gIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtIHJ1biBcIiRjbWRsaW5lIC0tcmVzb2x2ZWRcIi5cbiIKKyN+ICJJZiB5b3Ugd291bGQgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgaW5zdGVhZCBydW4gXCIkY21kbGluZSAtLXNraXBcIi5cbiIKKyN+ICJUbyByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIHN0b3AgcGF0Y2hpbmcgcnVuIFwiJGNtZGxpbmUgLS1hYm9ydFwiLiIKKyN+IG1zZ3N0ciAiIgorI34gIlF1YW5kbyBoYWkgcmlzb2x0byBpbCBwcm9ibGVtYSBlc2VndWkgXCIkY21kbGluZSAtLXJlc29sdmVkXCIuXG4iCisjfiAiU2UgdnVvaSBzYWx0YXJlIHF1ZXN0YSBwYXRjaCwgZXNlZ3VpIGludmVjZSBcIiRjbWRsaW5lIC0tc2tpcFwiLlxuIgorI34gIlBlciByaXByaXN0aW5hcmUgaWwgYnJhbmNoIG9yaWdpbmFsZSBlIGludGVycm9tcGVyZSBsJ2FwcGxpY2F6aW9uZSBkZWxsZSAiCisjfiAicGF0Y2ggZXNlZ3VpIFwiJGNtZGxpbmUgLS1hYm9ydFwiLiIKKworI34gbXNnaWQgIlBhdGNoIGZvcm1hdCAkcGF0Y2hfZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQuIgorI34gbXNnc3RyICJJbCBmb3JtYXRvIHBhdGNoICRwYXRjaF9mb3JtYXQgbm9uIMOoIHN1cHBvcnRhdG8uIgorCisjfiBtc2dpZCAiUGxlYXNlIG1ha2UgdXAgeW91ciBtaW5kLiAtLXNraXAgb3IgLS1hYm9ydD8iCisjfiBtc2dzdHIgIlBlciBmYXZvcmUsIGRlY2lkaXRpLiAtLXNraXAgbyAtLWFib3J0PyIKKworI34gbXNnaWQgIlBhdGNoIGRvZXMgbm90IGhhdmUgYSB2YWxpZCBlLW1haWwgYWRkcmVzcy4iCisjfiBtc2dzdHIgIkxhIHBhdGNoIG5vbiBjb250aWVuZSB1biBpbmRpcml6em8gZW1haWwgdmFsaWRvLiIKKworI34gbXNnaWQgIlBhdGNoIGZhaWxlZCBhdCAkbXNnbnVtICRGSVJTVExJTkUiCisjfiBtc2dzdHIgIlBhdGNoIG5vbiByaXVzY2l0YSBhICRtc2dudW0gJEZJUlNUTElORSIKKworI34gbXNnaWQgIlBsZWFzZSBjYWxsICdiaXNlY3Rfc3RhdGUnIHdpdGggYXQgbGVhc3Qgb25lIGFyZ3VtZW50LiIKKyN+IG1zZ3N0ciAiUGVyIGZhdm9yZSwgY2hpYW1hICdiaXNlY3Rfc3RhdGUnIGNvbiBhbG1lbm8gdW4gYXJnb21lbnRvLiIKKworI34gbXNnaWQgIiIKKyN+ICJlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBzYXZlJzogJG9wdGlvblxuIgorI34gIiAgICAgICBUbyBwcm92aWRlIGEgbWVzc2FnZSwgdXNlIGdpdCBzdGFzaCBzYXZlIC0tICckb3B0aW9uJyIKKyN+IG1zZ3N0ciAiIgorI34gImVycm9yZTogb3B6aW9uZSBzY29ub3NjaXV0YSBwZXIgJ3N0YXNoIHNhdmUnOiAkb3B0aW9uXG4iCisjfiAiICAgICAgICBQZXIgYWdnaXVuZ2VyZSB1biBtZXNzYWdnaW8sIHVzYXJlIGdpdCBzdGFzaCBzYXZlIC0tICckb3B0aW9uJyIKKworI34gbXNnaWQgIlN0b3BwaW5nIGF0ICckc21fcGF0aCc7IHNjcmlwdCByZXR1cm5lZCBub24temVybyBzdGF0dXMuIgorI34gbXNnc3RyICIiCisjfiAiSW50ZXJydXppb25lIGEgJyRzbV9wYXRoJzsgbG8gc2NyaXB0IGhhIHJlc3RpdHVpdG8gdW5vIHN0YXRvIGRpdmVyc28gZGEgIgorI34gInplcm8uIgogCiAjfiBtc2dpZCAiLS0iCiAjfiBtc2dzdHIgIi0tIgpkaWZmIC0tZ2l0IGEvcG8vcnUucG8gYi9wby9ydS5wbwppbmRleCA2NTM2MjhmLi5hNzdiNDYyIDEwMDY0NAotLS0gYS9wby9ydS5wbworKysgYi9wby9ydS5wbwpAQCAtMywxNSArMywxNiBAQAogIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgUEFDS0FHRSBwYWNrYWdlLgogIyAKICMgVHJhbnNsYXRvcnM6Ci0jIERpbWl0cml5IFJ5YXphbnRjZXYgPERKbTAwbkBtYWlsLnJ1PiwgMjAxNC0yMDE4CisjIERpbWl0cml5IFJ5YXphbnRjZXYgPERKbTAwbkBtYWlsLnJ1PiwgMjAxNC0yMDE5CiAjIGluc29sb3IsIDIwMTQKICMgaW5zb2xvciwgMjAxNAorIyDQp9GD0Log0KLQsNCx0LvQuNGG0L7QvNC10L3QtNC10LvQtdC10LIgPGF1cnVtNDQ0YW5AZ21haWwuY29tPiwgMjAxOQogbXNnaWQgIiIKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogR2l0IFJ1c3NpYW4gTG9jYWxpemF0aW9uIFByb2plY3RcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogR2l0IE1haWxpbmcgTGlzdCA8Z2l0QHZnZXIua2VybmVsLm9yZz5cbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOC0wOC0yMSAwODoyOCswODAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxOC0wOC0yOCAxNTo1NyswMDAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTktMDYtMDQgMDg6MjQrMDgwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTktMDYtMjEgMTc6MjgrMDAwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogRGltaXRyaXkgUnlhemFudGNldiA8REptMDBuQG1haWwucnU+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogUnVzc2lhbiAoaHR0cDovL3d3dy50cmFuc2lmZXguY29tL2RqbTAwbi9naXQtcG8tcnUvbGFuZ3VhZ2UvcnUvKVxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCkBAIC0yMCw1OSArMjEsNTkgQEAKICJMYW5ndWFnZTogcnVcbiIKICJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTQ7IHBsdXJhbD0obiUxMD09MSAmJiBuJTEwMCE9MTEgPyAwIDogbiUxMD49MiAmJiBuJTEwPD00ICYmIChuJTEwMDwxMiB8fCBuJTEwMD4xNCkgPyAxIDogbiUxMD09MCB8fCAobiUxMD49NSAmJiBuJTEwPD05KSB8fCAobiUxMDA+PTExICYmIG4lMTAwPD0xNCk/IDIgOiAzKTtcbiIKIAotIzogYWR2aWNlLmM6OTcKKyM6IGFkdmljZS5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlc2hpbnQ6ICUuKnMlc1xuIgogbXNnc3RyICIlc9C/0L7QtNGB0LrQsNC30LrQsDogJS4qcyVzXG4iCiAKLSM6IGFkdmljZS5jOjE1MAorIzogYWR2aWNlLmM6MTU2CiBtc2dpZCAiQ2hlcnJ5LXBpY2tpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstGL0L/QvtC70L3QuNGC0Ywg0LrQvtC/0LjRgNC+0LLQsNC90LjQtSDQutC+0LzQvNC40YLQsCDQsiDRgtC10LrRg9GJ0YPRjiDQstC10YLQutGDLCDRgtCw0Log0LrQsNC6INGDINCy0LDRgSDQuNC80LXRjtGC0YHRjyDQvdC1INGB0LvQuNGC0YvQtSDRhNCw0LnQu9GLLiIKIAotIzogYWR2aWNlLmM6MTUyCisjOiBhZHZpY2UuYzoxNTgKIG1zZ2lkICJDb21taXR0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LfQsNC60L7QvNC80LjRgtC40YLRjCwg0YLQsNC6INC60LDQuiDRgyDQstCw0YEg0LjQvNC10Y7RgtGB0Y8g0L3QtSDRgdC70LjRgtGL0LUg0YTQsNC50LvRiy4iCiAKLSM6IGFkdmljZS5jOjE1NAorIzogYWR2aWNlLmM6MTYwCiBtc2dpZCAiTWVyZ2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INCy0YvQv9C+0LvQvdC40YLRjCDRgdC70LjRj9C90LjQtSwg0YLQsNC6INC60LDQuiDRgyDQstCw0YEg0LjQvNC10Y7RgtGB0Y8g0L3QtSDRgdC70LjRgtGL0LUg0YTQsNC50LvRiy4iCiAKLSM6IGFkdmljZS5jOjE1NgorIzogYWR2aWNlLmM6MTYyCiBtc2dpZCAiUHVsbGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INCy0YvQv9C+0LvQvdC40YLRjCDQv9C+0LvRg9GH0LXQvdC40LUsINGC0LDQuiDQutCw0Log0YMg0LLQsNGBINC40LzQtdGO0YLRgdGPINC90LUg0YHQu9C40YLRi9C1INGE0LDQudC70YsuIgogCi0jOiBhZHZpY2UuYzoxNTgKKyM6IGFkdmljZS5jOjE2NAogbXNnaWQgIlJldmVydGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC+0LHRgNCw0YLQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPLCDRgtCw0Log0LrQsNC6INGDINCy0LDRgSDQuNC80LXRjtGC0YHRjyDQvdC1INGB0LvQuNGC0YvQtSDRhNCw0LnQu9GLLiIKIAotIzogYWR2aWNlLmM6MTYwCisjOiBhZHZpY2UuYzoxNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSXQgaXMgbm90IHBvc3NpYmxlIHRvICVzIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstGL0L/QvtC70L3QuNGC0YwgJXMsINGC0LDQuiDQutCw0Log0YMg0LLQsNGBINC40LzQtdGO0YLRgdGPINC90LUg0YHQu9C40YLRi9C1INGE0LDQudC70YsuIgogCi0jOiBhZHZpY2UuYzoxNjgKKyM6IGFkdmljZS5jOjE3NAogbXNnaWQgIiIKICJGaXggdGhlbSB1cCBpbiB0aGUgd29yayB0cmVlLCBhbmQgdGhlbiB1c2UgJ2dpdCBhZGQvcm0gPGZpbGU+J1xuIgogImFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbiBhbmQgbWFrZSBhIGNvbW1pdC4iCiBtc2dzdHIgItCY0YHQv9GA0LDQstGM0YLQtSDQuNGFINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUsINC30LDRgtC10Lwg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IGFkZC9ybSA80YTQsNC50Ls+wrssXG7Rh9GC0L7QsdGLINC/0L7QvNC10YLQuNGC0Ywg0LjRgdC/0YDQsNCy0LvQtdC90LjQtSDQuCDRgdC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgi4iCiAKLSM6IGFkdmljZS5jOjE3NgorIzogYWR2aWNlLmM6MTgyCiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIGFuIHVucmVzb2x2ZWQgY29uZmxpY3QuIgogbXNnc3RyICLQktGL0YXQvtC0INC40Lct0LfQsCDQvdC10YDQsNC30YDQtdGI0LXQvdC90L7Qs9C+INC60L7QvdGE0LvQuNC60YLQsC4iCiAKLSM6IGFkdmljZS5jOjE4MSBidWlsdGluL21lcmdlLmM6MTI4NgorIzogYWR2aWNlLmM6MTg3IGJ1aWx0aW4vbWVyZ2UuYzoxMzIwCiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuIgogbXNnc3RyICLQktGLINC90LUg0LfQsNCy0LXRgNGI0LjQu9C4INGB0LvQuNGP0L3QuNC1ICjQv9GA0LjRgdGD0YLRgdGC0LLRg9C10YIg0YTQsNC50LsgTUVSR0VfSEVBRCkuIgogCi0jOiBhZHZpY2UuYzoxODMKKyM6IGFkdmljZS5jOjE4OQogbXNnaWQgIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgbWVyZ2luZy4iCiBtc2dzdHIgItCf0LXRgNC10LQg0YHQu9C40Y/QvdC40LXQvCwg0LLRi9C/0L7Qu9C90LjRgtC1INC60L7QvNC80LjRgiDQstCw0YjQuNGFINC40LfQvNC10L3QtdC90LjQuS4iCiAKLSM6IGFkdmljZS5jOjE4NAorIzogYWR2aWNlLmM6MTkwCiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIHVuZmluaXNoZWQgbWVyZ2UuIgogbXNnc3RyICLQktGL0YXQvtC0INC40Lct0LfQsCDQvdC10LfQsNCy0LXRgNGI0LXQvdC90L7Qs9C+INGB0LvQuNGP0L3QuNGPLiIKIAotIzogYWR2aWNlLmM6MTkwCisjOiBhZHZpY2UuYzoxOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vdGU6IGNoZWNraW5nIG91dCAnJXMnLlxuIgpAQCAtODgsOTIgKzg5LDEwMCBAQAogIlxuIgogbXNnc3RyICLQn9GA0LjQvNC10YfQsNC90LjQtTog0L/QtdGA0LXRhdC+0LQg0L3QsCDCqyVzwrsuXG5cbtCS0Ysg0YHQtdC50YfQsNGBINCyINGB0L7RgdGC0L7Rj9C90LjQuCDCq9C+0YLQtNC10LvRkdC90L3QvtCz0L4gSEVBRMK7LiDQktGLINC80L7QttC10YLQtSDQvtGB0LzQvtGC0YDQtdGC0YzRgdGPLCDRgdC00LXQu9Cw0YLRjFxu0Y3QutGB0L/QtdGA0LjQvNC10L3RgtCw0LvRjNC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0Lgg0LfQsNC60L7QvNC80LjRgtC40YLRjCDQuNGFLCDRgtCw0LrQttC1INCy0Ysg0LzQvtC20LXRgtC1INC+0YLQvNC10L3QuNGC0YxcbtC40LfQvNC10L3QtdC90LjRjyDQu9GO0LHRi9GFINC60L7QvNC80LjRgtC+0LIg0LIg0Y3RgtC+0Lwg0YHQvtGB0YLQvtGP0L3QuNC4INC90LUg0LfQsNGC0YDQsNCz0LjQstCw0Y8g0LvRjtCx0YvQtSDQstC10YLQutC4INC4XG7QvdC1INC/0LXRgNC10YXQvtC00Y8g0L3QsCDQvdC40YUuXG5cbtCV0YHQu9C4INCy0Ysg0YXQvtGC0LjRgtC1INGB0L7Qt9C00LDRgtGMINC90L7QstGD0Y4g0LLQtdGC0LrRgyDQuCDRgdC+0YXRgNCw0L3QuNGC0Ywg0YHQstC+0Lgg0LrQvtC80LzQuNGC0YssINGC0L4g0LLRi1xu0LzQvtC20LXRgtC1INGB0LTQtdC70LDRgtGMINGN0YLQviAo0YHQtdC50YfQsNGBINC40LvQuCDQv9C+0LfQttC1KSDQstGL0LfQstCw0LIg0LrQvtC80LDQvdC00YMgY2hlY2tvdXQg0YHQvdC+0LLQsCxcbtC90L4g0YEg0L/QsNGA0LDQvNC10YLRgNC+0LwgLWIuINCd0LDQv9GA0LjQvNC10YA6XG5cbiAgZ2l0IGNoZWNrb3V0IC1iIDzQuNC80Y8t0L3QvtCy0L7QuS3QstC10YLQutC4PlxuXG4iCiAKLSM6IGFwcGx5LmM6NTkKKyM6IGFsaWFzLmM6NTAKK21zZ2lkICJjbWRsaW5lIGVuZHMgd2l0aCBcXCIKK21zZ3N0ciAi0LrQvtC80LDQvdC00L3QsNGPINGB0YLRgNC+0LrQsCDQt9Cw0LrQsNC90YfQuNCy0LDQtdGC0YHRjyDRgdC40LzQstC+0LvQvtC8IFxcIgorCisjOiBhbGlhcy5jOjUxCittc2dpZCAidW5jbG9zZWQgcXVvdGUiCittc2dzdHIgItC/0YDQvtC/0YPRidC10L3QsCDQt9Cw0LrRgNGL0LLQsNGO0YnQsNGPINC60LDQstGL0YfQutCwIgorCisjOiBhcHBseS5jOjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgogbXNnc3RyICLQvdC10L7Qv9C+0LfQvdCw0L3QvdCw0Y8g0L7Qv9GG0LjRjyDQtNC70Y8g0L/RgNC+0LHQtdC70L7QsiDCqyVzwrsiCiAKLSM6IGFwcGx5LmM6NzUKKyM6IGFwcGx5LmM6NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2UgaWdub3JlIG9wdGlvbiAnJXMnIgogbXNnc3RyICLQvdC10L7Qv9C+0LfQvdCw0L3QvdCw0Y8g0L7Qv9GG0LjRjyDQtNC70Y8g0LjQs9C90L7RgNC40YDQvtCy0LDQvdC40Y8g0L/RgNC+0LHQtdC70L7QsiDCqyVzwrsiCiAKLSM6IGFwcGx5LmM6MTI1CisjOiBhcHBseS5jOjEyOQogbXNnaWQgIi0tcmVqZWN0IGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgogbXNnc3RyICItLXJlamVjdCDQuCAtLTN3YXkg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4uIgogCi0jOiBhcHBseS5jOjEyNworIzogYXBwbHkuYzoxMzEKIG1zZ2lkICItLWNhY2hlZCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKIG1zZ3N0ciAiLS1jYWNoZWQg0LggLS0zd2F5INC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LiIKIAotIzogYXBwbHkuYzoxMzAKKyM6IGFwcGx5LmM6MTM0CiBtc2dpZCAiLS0zd2F5IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLTN3YXkg0LLQvdC1INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8iCiAKLSM6IGFwcGx5LmM6MTQxCisjOiBhcHBseS5jOjE0NQogbXNnaWQgIi0taW5kZXggb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0taW5kZXgg0LLQvdC1INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8iCiAKLSM6IGFwcGx5LmM6MTQ0CisjOiBhcHBseS5jOjE0OAogbXNnaWQgIi0tY2FjaGVkIG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLWNhY2hlZCDQstC90LUg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyIKIAotIzogYXBwbHkuYzo4MjYKKyM6IGFwcGx5LmM6ODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBwcmVwYXJlIHRpbWVzdGFtcCByZWdleHAgJXMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC00LPQvtGC0L7QstC40YLRjCDRgNC10LPRg9C70Y/RgNC90L7QtSDQstGL0YDQsNC20LXQvdC40LUg0LTQu9GPINC80LXRgtC60Lgg0LLRgNC10LzQtdC90LggJXMiCiAKLSM6IGFwcGx5LmM6ODM1CisjOiBhcHBseS5jOjgzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCiBtc2dzdHIgInJlZ2V4ZWMg0LLQvtC30LLRgNCw0YLQuNC7ICVkINC00LvRjyDQstCy0L7QtNCwOiAlcyIKIAotIzogYXBwbHkuYzo5MDkKKyM6IGFwcGx5LmM6OTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDQuNC80Y8g0YTQsNC50LvQsCDQsiDRgdGC0YDQvtC60LUg0L/QsNGC0YfQsCAlZCIKIAotIzogYXBwbHkuYzo5NDcKKyM6IGFwcGx5LmM6OTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsLCBnb3QgJXMgb24gbGluZSAlZCIKIG1zZ3N0ciAiZ2l0IGFwcGx5OiDQv9C70L7RhdC+0LkgZ2l0LWRpZmYg4oCUINC+0LbQuNC00LDQu9C+0YHRjCAvZGV2L251bGwsINC/0L7Qu9GD0YfQtdC90L4gJXMg0L3QsCDRgdGC0YDQvtC60LUgJWQiCiAKLSM6IGFwcGx5LmM6OTUzCisjOiBhcHBseS5jOjk1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKIG1zZ3N0ciAiZ2l0IGFwcGx5OiDQv9C70L7RhdC+0LkgZ2l0LWRpZmYg4oCUINC90LUg0YHQvtCz0LvQsNGB0YPRjtGJ0LXQtdGB0Y8g0L3QvtCy0L7QtSDQuNC80Y8g0YTQsNC50LvQsCDQvdCwINGB0YLRgNC+0LrQtSAlZCIKIAotIzogYXBwbHkuYzo5NTQKKyM6IGFwcGx5LmM6OTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIgogbXNnc3RyICJnaXQgYXBwbHk6INC/0LvQvtGF0L7QuSBnaXQtZGlmZiDigJQg0L3QtSDRgdC+0LPQu9Cw0YHRg9GO0YnQtdC10YHRjyDRgdGC0LDRgNC+0LUg0LjQvNGPINGE0LDQudC70LAg0L3QsCDRgdGC0YDQvtC60LUgJWQiCiAKLSM6IGFwcGx5LmM6OTU5CisjOiBhcHBseS5jOjk2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCBvbiBsaW5lICVkIgogbXNnc3RyICJnaXQgYXBwbHk6INC/0LvQvtGF0L7QuSBnaXQtZGlmZiAg4oCUINC+0LbQuNC00LDQu9C+0YHRjCAvZGV2L251bGwg0L3QsCDRgdGC0YDQvtC60LUgJWQiCiAKLSM6IGFwcGx5LmM6OTg4CisjOiBhcHBseS5jOjk5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG1vZGUgb24gbGluZSAlZDogJXMiCiBtc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDRgNC10LbQuNC8ICVkOiAlcyIKIAotIzogYXBwbHkuYzoxMzA2CisjOiBhcHBseS5jOjEzMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5jb25zaXN0ZW50IGhlYWRlciBsaW5lcyAlZCBhbmQgJWQiCiBtc2dzdHIgItC/0YDQvtGC0LjQstC+0YDQtdGH0LjQstGL0LUg0YHRgtGA0L7QutC4INC30LDQs9C+0LvQvtCy0LrQsCAlZCDQuCAlZCIKIAotIzogYXBwbHkuYzoxNDc4CisjOiBhcHBseS5jOjE0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgogbXNnc3RyICJyZWNvdW50OiDQvdC1INC+0LbQuNC00LDQtdC80LDRjyDRgdGC0YDQvtC60LA6ICUuKnMiCiAKLSM6IGFwcGx5LmM6MTU0NworIzogYXBwbHkuYzoxNTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgItGE0YDQsNCz0LzQtdC90YIg0LjQt9C80LXQvdC10L3QuNC5INCx0LXQtyDQt9Cw0LPQvtC70L7QstC60LAg0L3QsCDRgdGC0YDQvtC60LUgJWQ6ICUuKnMiCiAKLSM6IGFwcGx5LmM6MTU2NworIzogYXBwbHkuYzoxNTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lIgpAQCAtMTg2LDcwICsxOTUsNzAgQEAKIG1zZ3N0clsyXSAi0LfQsNCz0L7Qu9C+0LLQvtC6IGdpdCBkaWZmINC90LUg0L3QsNGI0LXQuyDQuNC90YTQvtGA0LzQsNGG0LjRjiDQvtCxINC40LzQtdC90Lgg0YTQsNC50LvQsCDQv9GA0Lgg0YPQtNCw0LvQtdC90LjQuCAlZCDQstC10LTRg9GJ0LjRhSDQutC+0LzQv9C+0L3QtdC90YIg0L/Rg9GC0Lgg0Log0YTQsNC50LvRgyAo0YHRgtGA0L7QutCwICVkKSIKIG1zZ3N0clszXSAi0LfQsNCz0L7Qu9C+0LLQvtC6IGdpdCBkaWZmINC90LUg0L3QsNGI0LXQuyDQuNC90YTQvtGA0LzQsNGG0LjRjiDQvtCxINC40LzQtdC90Lgg0YTQsNC50LvQsCDQv9GA0Lgg0YPQtNCw0LvQtdC90LjQuCAlZCDQstC10LTRg9GJ0LjRhSDQutC+0LzQv9C+0L3QtdC90YIg0L/Rg9GC0Lgg0Log0YTQsNC50LvRgyAo0YHRgtGA0L7QutCwICVkKSIKIAotIzogYXBwbHkuYzoxNTgwCisjOiBhcHBseS5jOjE1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIChsaW5lICVkKSIKIG1zZ3N0ciAi0LfQsNCz0L7Qu9C+0LLQvtC6IGdpdCBkaWZmINC90LUg0YHQvtC00LXRgNC20LjRgiDQuNC90YTQvtGA0LzQsNGG0LjQuCDQvtCxINC40LzQtdC90Lgg0YTQsNC50LvQsCAo0YHRgtGA0L7QutCwICVkKSIKIAotIzogYXBwbHkuYzoxNzY4CisjOiBhcHBseS5jOjE3NzIKIG1zZ2lkICJuZXcgZmlsZSBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKIG1zZ3N0ciAi0L3QvtCy0YvQuSDRhNCw0LnQuyDQt9Cw0LLQuNGB0LjRgiDQvtGCINGB0YLQsNGA0L7Qs9C+INGB0L7QtNC10YDQttC40LzQvtCz0L4iCiAKLSM6IGFwcGx5LmM6MTc3MAorIzogYXBwbHkuYzoxNzc0CiBtc2dpZCAiZGVsZXRlZCBmaWxlIHN0aWxsIGhhcyBjb250ZW50cyIKIG1zZ3N0ciAi0YPQtNCw0LvQtdC90L3Ri9C5INGE0LDQudC7INCy0YHQtSDQtdGJ0LUg0LjQvNC10LXRgiDRgdC+0LTQtdGA0LbQuNC80L7QtSIKIAotIzogYXBwbHkuYzoxODA0CisjOiBhcHBseS5jOjE4MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICLQv9Cw0YLRhyDQv9C+0LLRgNC10LbQtNC10L0g0L3QsCDRgdGC0YDQvtC60LUgJWQiCiAKLSM6IGFwcGx5LmM6MTg0MQorIzogYXBwbHkuYzoxODQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBmaWxlICVzIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgogbXNnc3RyICLQvdC+0LLRi9C5INGE0LDQudC7ICVzINC30LDQstC40YHQuNGCINC+0YIg0YHRgtCw0YDQvtCz0L4g0YHQvtC00LXRgNC20LjQvNC+0LPQviIKIAotIzogYXBwbHkuYzoxODQzCisjOiBhcHBseS5jOjE4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRlZCBmaWxlICVzIHN0aWxsIGhhcyBjb250ZW50cyIKIG1zZ3N0ciAi0YPQtNCw0LvQtdC90L3Ri9C5INGE0LDQudC7ICVzINCy0YHQtSDQtdGJ0LUg0LjQvNC10LXRgiDRgdC+0LTQtdGA0LbQuNC80L7QtSIKIAotIzogYXBwbHkuYzoxODQ2CisjOiBhcHBseS5jOjE4NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiogd2FybmluZzogZmlsZSAlcyBiZWNvbWVzIGVtcHR5IGJ1dCBpcyBub3QgZGVsZXRlZCIKIG1zZ3N0ciAiKiog0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0YTQsNC50LsgJXMg0YHRgtCw0L3QvtCy0LjRgtGB0Y8g0L/Rg9GB0YLRi9C8LCDQvdC+INC90LUg0YPQtNCw0LvRj9C10YLRgdGPIgogCi0jOiBhcHBseS5jOjE5OTMKKyM6IGFwcGx5LmM6MTk5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkOiAlLipzIgogbXNnc3RyICLQv9C+0LLRgNC10LbQtNC10L3QvdGL0Lkg0LTQstC+0LjRh9C90YvQuSDQv9Cw0YLRhyDQvdCwINGB0YLRgNC+0LrQtSAlZDogJS4qcyIKIAotIzogYXBwbHkuYzoyMDMwCisjOiBhcHBseS5jOjIwMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGJpbmFyeSBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICLQvdC10L7Qv9C+0LfQvdCw0L3QvdGL0Lkg0LTQstC+0LjRh9C90YvQuSDQv9Cw0YLRhyDQvdCwINGB0YLRgNC+0LrQtSAlZCIKIAotIzogYXBwbHkuYzoyMTkwCisjOiBhcHBseS5jOjIxOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0Y2ggd2l0aCBvbmx5IGdhcmJhZ2UgYXQgbGluZSAlZCIKIG1zZ3N0ciAi0L/QsNGC0Ycg0YEg0LzRg9GB0L7RgNC+0Lwg0L3QsCDRgdGC0YDQvtC60LUgJWQiCiAKLSM6IGFwcGx5LmM6MjI3NgorIzogYXBwbHkuYzoyMjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHN5bWxpbmsgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINGB0LjQvNCy0L7Qu9GM0L3Rg9GOINGB0YHRi9C70LrRgyAlcyIKIAotIzogYXBwbHkuYzoyMjgwCisjOiBhcHBseS5jOjIyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDQuNC70Lgg0L/RgNC+0YfQtdGB0YLRjCAlcyIKIAotIzogYXBwbHkuYzoyOTM5CisjOiBhcHBseS5jOjI5NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0L3QsNGH0LDQu9C+INGB0YLRgNC+0LrQuDogwqslY8K7IgogCi0jOiBhcHBseS5jOjMwNjAKKyM6IGFwcGx5LmM6MzA2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCiBtc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCkBAIC0yNTgsMjU3ICsyNjcsMjU4IEBACiBtc2dzdHJbMl0gItCn0LDRgdGC0YwgIyVkINGD0YHQv9C10YjQvdC+INC/0YDQuNC80LXQvdC10L3QsCDQvdCwICVkICjRgdC+INGB0LTQstC40LPQvtC8INCyICVkINGB0YLRgNC+0LopLiIKIG1zZ3N0clszXSAi0KfQsNGB0YLRjCAjJWQg0YPRgdC/0LXRiNC90L4g0L/RgNC40LzQtdC90LXQvdCwINC90LAgJWQgKNGB0L4g0YHQtNCy0LjQs9C+0Lwg0LIgJWQg0YHRgtGA0L7QuikuIgogCi0jOiBhcHBseS5jOjMwNzIKKyM6IGFwcGx5LmM6MzA3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb250ZXh0IHJlZHVjZWQgdG8gKCVsZC8lbGQpIHRvIGFwcGx5IGZyYWdtZW50IGF0ICVkIgogbXNnc3RyICLQmtC+0L3RgtC10LrRgdGCINGB0YPQttC10L0g0LTQviAoJWxkLyVsZCksINGH0YLQvtCx0Ysg0L/RgNC40LzQtdC90LjRgtGMINGE0YDQsNCz0LzQtdC90YIg0L3QsCAlZCDRgdGC0YDQvtC60LUiCiAKLSM6IGFwcGx5LmM6MzA3OAorIzogYXBwbHkuYzozMDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ3aGlsZSBzZWFyY2hpbmcgZm9yOlxuIgogIiUuKnMiCiBtc2dzdHIgItC/0YDQuCDQv9C+0LjRgdC60LU6XG4lLipzIgogCi0jOiBhcHBseS5jOjMxMDAKKyM6IGFwcGx5LmM6MzEwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIGJpbmFyeSBwYXRjaCBkYXRhIGZvciAnJXMnIgogbXNnc3RyICLQv9GA0L7Qv9GD0YnQtdC90Ysg0LTQsNC90L3Ri9C1INC00LLQvtC40YfQvdC+0LPQviDQv9Cw0YLRh9CwINC00LvRjyDCqyVzwrsiCiAKLSM6IGFwcGx5LmM6MzEwOAorIzogYXBwbHkuYzozMTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXZlcnNlLWFwcGx5IGEgYmluYXJ5IHBhdGNoIHdpdGhvdXQgdGhlIHJldmVyc2UgaHVuayB0byAnJXMnIgogbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQstGL0L/QvtC70L3QuNGC0YwgcmV2ZXJzZS1hcHBseSDQtNC70Y8g0LTQstC+0LjRh9C90L7Qs9C+INC/0LDRgtGH0LAsINCx0LXQtyDQvtCx0YDQsNGJ0LXQvdC40Y8g0LjQt9C80LXQvdC10L3QuNC5INCx0LvQvtC60LAgwqslc8K7IgogCi0jOiBhcHBseS5jOjMxNTQKKyM6IGFwcGx5LmM6MzE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgYXBwbHkgYmluYXJ5IHBhdGNoIHRvICclcycgd2l0aG91dCBmdWxsIGluZGV4IGxpbmUiCiBtc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC/0YDQuNC80LXQvdC40YLRjCDQtNCy0L7QuNGH0L3Ri9C5INC/0LDRgtGHIMKrJXPCuyDQsdC10Lcg0YHRgtGA0L7QutC4INGBINGD0LrQsNC30LDQvdC90L7QuSDQv9C+0LvQvdC+0Lkg0LLQtdGA0YHQuNC10Lkg0LjQvdC00LXQutGB0LAiCiAKLSM6IGFwcGx5LmM6MzE2NAorIzogYXBwbHkuYzozMTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ0aGUgcGF0Y2ggYXBwbGllcyB0byAnJXMnICglcyksIHdoaWNoIGRvZXMgbm90IG1hdGNoIHRoZSBjdXJyZW50IGNvbnRlbnRzLiIKIG1zZ3N0ciAi0L/QsNGC0Ycg0L/RgNC40LzQtdC90Y/RgtGB0Y8g0Log0YTQsNC50LvRgyDCqyVzwrsgKCVzKSwg0L3QviDQtdCz0L4g0YLQtdC60YPRidC10LUg0YHQvtC00LXRgNC20LjQvNC+0LUg0L3QtSDRgdC+0L7RgtCy0LXRgdGC0LLRg9C10YIg0L7QttC40LTQsNC10LzQvtC80YMuIgogCi0jOiBhcHBseS5jOjMxNzIKKyM6IGFwcGx5LmM6MzE3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgcGF0Y2ggYXBwbGllcyB0byBhbiBlbXB0eSAnJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiCiBtc2dzdHIgItC/0LDRgtGHINC/0YDQuNC80LXQvdGP0LXRgtGB0Y8g0Log0L/Rg9GB0YLQvtC80YMg0YTQsNC50LvRgyDCqyVzwrssINC90L4g0YTQsNC50Lsg0L3QtSDQv9GD0YHRgtC+0LkiCiAKLSM6IGFwcGx5LmM6MzE5MAorIzogYXBwbHkuYzozMTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBuZWNlc3NhcnkgcG9zdGltYWdlICVzIGZvciAnJXMnIGNhbm5vdCBiZSByZWFkIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQvdC10L7QsdGF0L7QtNC40LzRg9GOINC/0L7RgdGL0LvQutGDICVzINC00LvRjyDCqyVzwrsiCiAKLSM6IGFwcGx5LmM6MzIwMworIzogYXBwbHkuYzozMjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJpbmFyeSBwYXRjaCBkb2VzIG5vdCBhcHBseSB0byAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQuNC80LXQvdC40YLRjCDQtNCy0L7QuNGH0L3Ri9C5INC/0LDRgtGHINC6IMKrJXPCuyIKIAotIzogYXBwbHkuYzozMjA5CisjOiBhcHBseS5jOjMyMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmluYXJ5IHBhdGNoIHRvICclcycgY3JlYXRlcyBpbmNvcnJlY3QgcmVzdWx0IChleHBlY3RpbmcgJXMsIGdvdCAlcykiCiBtc2dzdHIgItC/0L7RgdC70LUg0L/RgNC40LzQtdC90LXQvdC40Y8g0LTQstC+0LjRh9C90L7Qs9C+INC/0LDRgtGH0LAg0LTQu9GPIMKrJXPCuyDQsdGL0Lsg0L/QvtC70YPRh9C10L0g0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INGA0LXQt9GD0LvRjNGC0LDRgiAo0L7QttC40LTQsNC70L7RgdGMICVzLCDQv9C+0LvRg9GH0LXQvdC+ICVzKSIKIAotIzogYXBwbHkuYzozMjMwCisjOiBhcHBseS5jOjMyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0Y2ggZmFpbGVkOiAlczolbGQiCiBtc2dzdHIgItC+0YjQuNCx0LrQsCDQv9GA0LjQvNC10L3QtdC90LjRjyDQuNC30LzQtdC90LXQvdC40Lk6ICVzOiVsZCIKIAotIzogYXBwbHkuYzozMzUyCisjOiBhcHBseS5jOjMzNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZWNrb3V0ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LrQu9GO0YfQuNGC0Ywg0YHQvtGB0YLQvtGP0L3QuNC1INC90LAgJXMiCiAKLSM6IGFwcGx5LmM6MzQwNCBhcHBseS5jOjM0MTUgYXBwbHkuYzozNDYxIHNldHVwLmM6Mjc4CisjOiBhcHBseS5jOjM0MTIgYXBwbHkuYzozNDIzIGFwcGx5LmM6MzQ2OSBtaWR4LmM6NTkgc2V0dXAuYzoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMICVzIgogCi0jOiBhcHBseS5jOjM0MTIKKyM6IGFwcGx5LmM6MzQyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICLRh9GC0LXQvdC40LUg0LjQtyDCqyVzwrsg0LfQsCDRgdC40LzQstC+0LvQuNGH0LXRgdC60L7QuSDRgdGB0YvQu9C60L7QuSIKIAotIzogYXBwbHkuYzozNDQxIGFwcGx5LmM6MzY4MQorIzogYXBwbHkuYzozNDQ5IGFwcGx5LmM6MzY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKIG1zZ3N0ciAi0L/Rg9GC0YwgJXMg0LHRi9C7INC/0LXRgNC10LjQvNC10L3QvtCy0LDQvS/Rg9C00LDQu9C10L0iCiAKLSM6IGFwcGx5LmM6MzUyNCBhcHBseS5jOjM2OTYKKyM6IGFwcGx5LmM6MzUzNSBhcHBseS5jOjM3MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4IgogbXNnc3RyICIlczog0L3QtdGCINCyINC40L3QtNC10LrRgdC1IgogCi0jOiBhcHBseS5jOjM1MzMgYXBwbHkuYzozNzA0CisjOiBhcHBseS5jOjM1NDQgYXBwbHkuYzozNzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKIG1zZ3N0ciAiJXM6INC90LUg0YHQvtCy0L/QsNC00LDQtdGCINGBINC40L3QtNC10LrRgdC+0LwiCiAKLSM6IGFwcGx5LmM6MzU2OAorIzogYXBwbHkuYzozNTc5CiBtc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAi0LIg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCINC90LXQvtCx0YXQvtC00LjQvNGL0Lkg0LTQstC+0LjRh9C90YvQuSDQvtCx0YrQtdC60YIg0LTQu9GPINC+0YLQutCw0YLQsCDQuiDRgtGA0ZHRhdGF0L7QtNC+0LLQvtC80YMg0YHQu9C40Y/QvdC40Y4uIgogCi0jOiBhcHBseS5jOjM1NzEKKyM6IGFwcGx5LmM6MzU4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCiBtc2dzdHIgItCe0YLQutCw0YIg0Log0YLRgNGR0YXRhdC+0LTQvtCy0L7QvNGDINGB0LvQuNGP0L3QuNGO4oCmXG4iCiAKLSM6IGFwcGx5LmM6MzU4NyBhcHBseS5jOjM1OTEKKyM6IGFwcGx5LmM6MzU5OCBhcHBseS5jOjM2MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YLQtdC60YPRidC10LUg0YHQvtC00LXRgNC20LjQvNC+0LUgwqslc8K7IgogCi0jOiBhcHBseS5jOjM2MDMKKyM6IGFwcGx5LmM6MzYxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gZmFsbCBiYWNrIG9uIHRocmVlLXdheSBtZXJnZS4uLlxuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0YLQutCw0YLQuNGC0YzRgdGPINC6INGC0YDRkdGF0YXQvtC00L7QstC+0LzRgyDRgdC70LjRj9C90LjRjuKAplxuIgogCi0jOiBhcHBseS5jOjM2MTcKKyM6IGFwcGx5LmM6MzYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgd2l0aCBjb25mbGljdHMuXG4iCiBtc2dzdHIgItCf0LDRgtGHINC/0YDQuNC80LXQvdC10L0g0Logwqslc8K7INGBINC60L7QvdGE0LvQuNC60YLQsNC80LguXG4iCiAKLSM6IGFwcGx5LmM6MzYyMgorIzogYXBwbHkuYzozNjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggdG8gJyVzJyBjbGVhbmx5LlxuIgogbXNnc3RyICLQn9Cw0YLRhyDQv9GA0LjQvNC10L3QtdC9INC6IMKrJXPCuyDQsdC10Lcg0L7RiNC40LHQvtC6LlxuIgogCi0jOiBhcHBseS5jOjM2NDgKKyM6IGFwcGx5LmM6MzY1OQogbXNnaWQgInJlbW92YWwgcGF0Y2ggbGVhdmVzIGZpbGUgY29udGVudHMiCiBtc2dzdHIgItC/0LDRgtGHINGD0LTQsNC70LXQvdC40Y8g0L3QtSDRg9C00LDQu9C40Lsg0YHQvtC00LXRgNC20LjQvNC+0LUg0YTQsNC50LvQsCIKIAotIzogYXBwbHkuYzozNzIxCisjOiBhcHBseS5jOjM3MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHdyb25nIHR5cGUiCiBtc2dzdHIgIiVzOiDQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0YLQuNC/IgogCi0jOiBhcHBseS5jOjM3MjMKKyM6IGFwcGx5LmM6MzczNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgdHlwZSAlbywgZXhwZWN0ZWQgJW8iCiBtc2dzdHIgIiVzINC40LzQtdC10YIg0YLQuNC/ICVvLCDQsCDQvtC20LjQtNCw0LvRgdGPICVvIgogCi0jOiBhcHBseS5jOjM4NzQgYXBwbHkuYzozODc2CisjOiBhcHBseS5jOjM4ODUgYXBwbHkuYzozODg3IHJlYWQtY2FjaGUuYzo4MzAgcmVhZC1jYWNoZS5jOjg1NgorIzogcmVhZC1jYWNoZS5jOjEzMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBwYXRoICclcyciCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90YvQuSDQv9GD0YLRjCDCqyVzwrsiCiAKLSM6IGFwcGx5LmM6MzkzMgorIzogYXBwbHkuYzozOTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIKIG1zZ3N0ciAiJXM6INGD0LbQtSDRgdC+0LTQtdGA0LbQuNGC0YHRjyDQsiDQuNC90LTQtdC60YHQtSIKIAotIzogYXBwbHkuYzozOTM1CisjOiBhcHBseS5jOjM5NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICIlczog0YPQttC1INGB0L7QtNC10YDQttC40YLRgdGPINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUiCiAKLSM6IGFwcGx5LmM6Mzk1NQorIzogYXBwbHkuYzozOTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSIKIG1zZ3N0ciAi0L3QvtCy0YvQuSDRgNC10LbQuNC8INC00L7RgdGC0YPQv9CwICglbykg0LTQu9GPICVzINC90LUg0YHQvtC+0YLQstC10YLRgdGC0LLRg9C10YIg0YHRgtCw0YDQvtC80YMg0YDQtdC20LjQvNGDINC00L7RgdGC0YPQv9CwICglbykiCiAKLSM6IGFwcGx5LmM6Mzk2MAorIzogYXBwbHkuYzozOTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKIG1zZ3N0ciAi0L3QvtCy0YvQuSDRgNC10LbQuNC8INC00L7RgdGC0YPQv9CwICglbykg0LTQu9GPICVzINC90LUg0YHQvtC+0YLQstC10YLRgdGC0LLRg9C10YIg0YHRgtCw0YDQvtC80YMg0YDQtdC20LjQvNGDINC00L7RgdGC0YPQv9CwICglbykg0LTQu9GPICVzIgogCi0jOiBhcHBseS5jOjM5ODAKKyM6IGFwcGx5LmM6Mzk5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAi0LfQsNGC0YDQvtC90YPRgtGL0Lkg0YTQsNC50Lsgwqslc8K7INC90LDRhdC+0LTQuNGC0YHRjyDQt9CwINGB0LjQvNCy0L7Qu9C40YfQtdGB0LrQvtC5INGB0YHRi9C70LrQvtC5IgogCi0jOiBhcHBseS5jOjM5ODQKKyM6IGFwcGx5LmM6Mzk5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQuNC80LXQvdC40YLRjCDQv9Cw0YLRhyIKIAotIzogYXBwbHkuYzozOTk5CisjOiBhcHBseS5jOjQwMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hlY2tpbmcgcGF0Y2ggJXMuLi4iCiBtc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0L/QsNGC0YfQsCAlc+KApiIKIAotIzogYXBwbHkuYzo0MDkxCisjOiBhcHBseS5jOjQxMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAi0LjQvdGE0L7RgNC80LDRhtC40Y8g0L7QsSBzaGExINC+0YLRgdGD0YLRgdGC0LLRg9C10YIg0LjQu9C4INCx0LXRgdC/0L7Qu9C10LfQvdCwINC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8gJXMiCiAKLSM6IGFwcGx5LmM6NDA5OAorIzogYXBwbHkuYzo0MTA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vZGUgY2hhbmdlIGZvciAlcywgd2hpY2ggaXMgbm90IGluIGN1cnJlbnQgSEVBRCIKIG1zZ3N0ciAi0LjQt9C80LXQvdC10L0g0YDQtdC20LjQvCDQtNC70Y8gJXMsINC60L7RgtC+0YDRi9C5INC90LUg0L3QsNGF0L7QtNC40YLRgdGPINCyINGC0LXQutGD0YnQtdC8IEhFQUQiCiAKLSM6IGFwcGx5LmM6NDEwMQorIzogYXBwbHkuYzo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzICglcykuIgogbXNnc3RyICLQuNC90YTQvtGA0LzQsNGG0LjRjyDQvtCxIHNoYTEg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiDQuNC70Lgg0LHQtdGB0L/QvtC70LXQt9C90LAgKCVzKS4iCiAKLSM6IGFwcGx5LmM6NDEwNiBidWlsdGluL2NoZWNrb3V0LmM6MjM3IGJ1aWx0aW4vcmVzZXQuYzoxNDAKKyM6IGFwcGx5LmM6NDExNyBidWlsdGluL2NoZWNrb3V0LmM6MjU3IGJ1aWx0aW4vcmVzZXQuYzoxNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAi0YHQsdC+0LkgbWFrZV9jYWNoZV9lbnRyeSDQtNC70Y8g0L/Rg9GC0Lggwqslc8K7IgogCi0jOiBhcHBseS5jOjQxMTAKKyM6IGFwcGx5LmM6NDEyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYWRkICVzIHRvIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQtNC+0LHQsNCy0LjRgtGMICVzINCy0L4g0LLRgNC10LzQtdC90L3Ri9C5INC40L3QtNC10LrRgSIKIAotIzogYXBwbHkuYzo0MTIwCisjOiBhcHBseS5jOjQxMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHRlbXBvcmFyeSBpbmRleCB0byAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINCy0YDQtdC80LXQvdC90YvQuSDQuNC90LTQutC10LrRgSDQsiAlcyIKIAotIzogYXBwbHkuYzo0MjU4CisjOiBhcHBseS5jOjQyNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMICVzINC40Lcg0LjQvdC00LXQutGB0LAiCiAKLSM6IGFwcGx5LmM6NDI5MgorIzogYXBwbHkuYzo0MzAzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAi0L/QvtCy0YDQtdC20LTQtdC90L3Ri9C5INC/0LDRgtGHINC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8gJXMiCiAKLSM6IGFwcGx5LmM6NDI5OAorIzogYXBwbHkuYzo0MzA5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBzdGF0IG5ld2x5IGNyZWF0ZWQgZmlsZSAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCBzdGF0INC00LvRjyDRgdC+0LfQtNCw0L3QvdC+0LPQviDRhNCw0LnQu9CwIMKrJXPCuyIKIAotIzogYXBwbHkuYzo0MzA2CisjOiBhcHBseS5jOjQzMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciBuZXdseSBjcmVhdGVkIGZpbGUgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LLRgdC/0L7QvNC+0LPQsNGC0LXQu9GM0L3Ri9C5INGE0LDQudC7INC00LvRjyDRgdC+0LfQtNCw0L3QvdC+0LPQviDRhNCw0LnQu9CwICVzIgogCi0jOiBhcHBseS5jOjQzMTIgYXBwbHkuYzo0NDU3CisjOiBhcHBseS5jOjQzMjMgYXBwbHkuYzo0NDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhZGQgY2FjaGUgZW50cnkgZm9yICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINC30LDQv9C40YHRjCDQsiDQutGN0YjQtSDQtNC70Y8gJXMiCiAKLSM6IGFwcGx5LmM6NDM1NQorIzogYXBwbHkuYzo0MzY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB3cml0ZSB0byAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0LIgwqslc8K7IgogCi0jOiBhcHBseS5jOjQzNTkKKyM6IGFwcGx5LmM6NDM3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKIG1zZ3N0ciAi0LfQsNC60YDRi9GC0LjQtSDRhNCw0LnQu9CwIMKrJXPCuyIKIAotIzogYXBwbHkuYzo0NDI5CisjOiBhcHBseS5jOjQ0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJyVzJyBtb2RlICVvIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0YTQsNC50Lsgwqslc8K7INGBINGA0LXQttC40LzQvtC8INC00L7RgdGC0YPQv9CwICVvIgogCi0jOiBhcHBseS5jOjQ1MjcKKyM6IGFwcGx5LmM6NDUzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoICVzIGNsZWFubHkuIgogbXNnc3RyICLQn9Cw0YLRhyAlcyDQv9GA0LjQvNC10L3QtdC9INCx0LXQtyDQvtGI0LjQsdC+0LouIgogCi0jOiBhcHBseS5jOjQ1MzUKKyM6IGFwcGx5LmM6NDU0NgogbXNnaWQgImludGVybmFsIGVycm9yIgogbXNnc3RyICLQstC90YPRgtGA0LXQvdC90Y/RjyDQvtGI0LjQsdC60LAiCiAKLSM6IGFwcGx5LmM6NDUzOAorIzogYXBwbHkuYzo0NTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdC4uLiIKIG1zZ2lkX3BsdXJhbCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0cy4uLiIKQEAgLTUxNyw0NSArNTI3LDQ1IEBACiBtc2dzdHJbMl0gItCf0YDQuNC80LXQvdC10L3QuNC1INC/0LDRgtGH0LAgJSVzINGBICVkINC+0YLQutCw0LfQsNC80LjigKYiCiBtc2dzdHJbM10gItCf0YDQuNC80LXQvdC10L3QuNC1INC/0LDRgtGH0LAgJSVzINGBICVkINC+0YLQutCw0LfQsNC80LjigKYiCiAKLSM6IGFwcGx5LmM6NDU0OQorIzogYXBwbHkuYzo0NTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIKIG1zZ3N0ciAi0YPRgdC10YfQtdC90LjQtSDQuNC80LXQvdC4IC5yZWog0YTQsNC50LvQsCDQtNC+ICUuKnMucmVqIgogCi0jOiBhcHBseS5jOjQ1NTcgYnVpbHRpbi9mZXRjaC5jOjc4MCBidWlsdGluL2ZldGNoLmM6MTA0OAorIzogYXBwbHkuYzo0NTY4IGJ1aWx0aW4vZmV0Y2guYzo4MzcgYnVpbHRpbi9mZXRjaC5jOjExMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0YwgJXMiCiAKLSM6IGFwcGx5LmM6NDU3MQorIzogYXBwbHkuYzo0NTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkh1bmsgIyVkIGFwcGxpZWQgY2xlYW5seS4iCiBtc2dzdHIgItCR0LvQvtC6IOKEliVkINC/0YDQuNC80LXQvdC10L0g0LHQtdC3INC+0YjQuNCx0L7Qui4iCiAKLSM6IGFwcGx5LmM6NDU3NQorIzogYXBwbHkuYzo0NTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlamVjdGVkIGh1bmsgIyVkLiIKIG1zZ3N0ciAi0JHQu9C+0Log4oSWJWQg0L7RgtC60LvQvtC90LXQvS4iCiAKLSM6IGFwcGx5LmM6NDY4NQorIzogYXBwbHkuYzo0Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgcGF0Y2ggJyVzJy4iCiBtc2dzdHIgItCf0LDRgtGHIMKrJXPCuyDQv9GA0L7Qv9GD0YnQtdC9LiIKIAotIzogYXBwbHkuYzo0NjkzCisjOiBhcHBseS5jOjQ3MDQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQiCiBtc2dzdHIgItC90LUg0YDQsNGB0L/QvtC30L3QsNC90L3Ri9C5INCy0LLQvtC0IgogCi0jOiBhcHBseS5jOjQ3MTIKKyM6IGFwcGx5LmM6NDcyNAogbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINGE0LDQudC7INC40L3QtNC10LrRgdCwIgogCi0jOiBhcHBseS5jOjQ4NDkKKyM6IGFwcGx5LmM6NDg3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW4ndCBvcGVuIHBhdGNoICclcyc6ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMINC/0LDRgtGHIMKrJXPCuzogJXMiCiAKLSM6IGFwcGx5LmM6NDg3NgorIzogYXBwbHkuYzo0OTA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9yIgogbXNnaWRfcGx1cmFsICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvcnMiCkBAIC01NjQsNyArNTc0LDcgQEAKIG1zZ3N0clsyXSAi0L/RgNC+0L/Rg9GJ0LXQvdC+ICVkINC+0YjQuNCx0L7QuiDQsiDQv9GA0L7QsdC10LvRjNC90YvRhSDRgdC40LzQstC+0LvQsNGFIgogbXNnc3RyWzNdICLQv9GA0L7Qv9GD0YnQtdC90L4gJWQg0L7RiNC40LHQvtC6INCyINC/0YDQvtCx0LXQu9GM0L3Ri9GFINGB0LjQvNCy0L7Qu9Cw0YUiCiAKLSM6IGFwcGx5LmM6NDg4MiBhcHBseS5jOjQ4OTcKKyM6IGFwcGx5LmM6NDkxMiBhcHBseS5jOjQ5MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQgbGluZSBhZGRzIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYWRkIHdoaXRlc3BhY2UgZXJyb3JzLiIKQEAgLTU3Myw3ICs1ODMsNyBAQAogbXNnc3RyWzJdICIlZCDRgdGC0YDQvtC6INC00L7QsdCw0LLQuNC70Lgg0L7RiNC40LHQutC4INCyINC/0YDQvtCx0LXQu9GM0L3Ri9GFINGB0LjQvNCy0L7Qu9Cw0YUuIgogbXNnc3RyWzNdICIlZCDRgdGC0YDQvtC6INC00L7QsdCw0LLQuNC70Lgg0L7RiNC40LHQutC4INCyINC/0YDQvtCx0LXQu9GM0L3Ri9GFINGB0LjQvNCy0L7Qu9Cw0YUuIgogCi0jOiBhcHBseS5jOjQ4OTAKKyM6IGFwcGx5LmM6NDkyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ2lkX3BsdXJhbCAiJWQgbGluZXMgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgpAQCAtNTgyLDE0MCArNTkyLDE0MCBAQAogbXNnc3RyWzJdICIlZCDRgdGC0YDQvtC6INC00L7QsdCw0LLQu9C10L3QviDQv9C+0YHQu9C1INC40YHQv9GA0LDQstC70LXQvdC40Y8g0L7RiNC40LHQvtC6INCyINC/0YDQvtCx0LXQu9Cw0YUuIgogbXNnc3RyWzNdICIlZCDRgdGC0YDQvtC60Lgg0LTQvtCx0LDQstC70LXQvdC+INC/0L7RgdC70LUg0LjRgdC/0YDQsNCy0LvQtdC90LjRjyDQvtGI0LjQsdC+0Log0LIg0L/RgNC+0LHQtdC70LDRhS4iCiAKLSM6IGFwcGx5LmM6NDkwNiBidWlsdGluL2FkZC5jOjUzOSBidWlsdGluL212LmM6MzAwIGJ1aWx0aW4vcm0uYzozODkKKyM6IGFwcGx5LmM6NDkzNiBidWlsdGluL2FkZC5jOjU0MCBidWlsdGluL212LmM6MzAxIGJ1aWx0aW4vcm0uYzozOTAKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDQvdC+0LLRi9C5INGE0LDQudC7INC40L3QtNC10LrRgdCwIgogCi0jOiBhcHBseS5jOjQ5MzMgYXBwbHkuYzo0OTM2IGJ1aWx0aW4vYW0uYzoyMjU0IGJ1aWx0aW4vYW0uYzoyMjU3Ci0jOiBidWlsdGluL2Nsb25lLmM6MTIxIGJ1aWx0aW4vZmV0Y2guYzoxMTUgYnVpbHRpbi9tZXJnZS5jOjI2MAotIzogYnVpbHRpbi9wdWxsLmM6MTk4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDYKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzU1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzU4Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTcyOSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTczMgotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5NTIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKKyM6IGFwcGx5LmM6NDk2MyBhcHBseS5jOjQ5NjYgYnVpbHRpbi9hbS5jOjIyMTAgYnVpbHRpbi9hbS5jOjIyMTMKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjAgYnVpbHRpbi9mZXRjaC5jOjExOCBidWlsdGluL21lcmdlLmM6MjcxCisjOiBidWlsdGluL3B1bGwuYzoyMDcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwNworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODQ5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODUyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjA5MSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NwogbXNnaWQgInBhdGgiCiBtc2dzdHIgItC/0YPRgtGMIgogCi0jOiBhcHBseS5jOjQ5MzQKKyM6IGFwcGx5LmM6NDk2NAogbXNnaWQgImRvbid0IGFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgItC90LUg0L/RgNC40LzQtdC90Y/RgtGMINC40LfQvNC10L3QtdC90LjRjyDQv9C+INGD0LrQsNC30LDQvdC90L7QvNGDINC/0YPRgtC4IgogCi0jOiBhcHBseS5jOjQ5MzcKKyM6IGFwcGx5LmM6NDk2NwogbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgItC/0YDQuNC80LXQvdGP0YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0L/QviDRg9C60LDQt9Cw0L3QvdC+0LzRgyDQv9GD0YLQuCIKIAotIzogYXBwbHkuYzo0OTM5IGJ1aWx0aW4vYW0uYzoyMjYzCisjOiBhcHBseS5jOjQ5NjkgYnVpbHRpbi9hbS5jOjIyMTkKIG1zZ2lkICJudW0iCiBtc2dzdHIgItC60L7Qu9C40YfQtdGB0YLQstC+IgogCi0jOiBhcHBseS5jOjQ5NDAKKyM6IGFwcGx5LmM6NDk3MAogbXNnaWQgInJlbW92ZSA8bnVtPiBsZWFkaW5nIHNsYXNoZXMgZnJvbSB0cmFkaXRpb25hbCBkaWZmIHBhdGhzIgogbXNnc3RyICLRg9C00LDQu9C40YLRjCA80LrQvtC70LjRh9C10YHRgtCy0L4+INCy0LXQtNGD0YnQuNGFINC60L7RgdGL0YUg0YfQtdGA0YIg0LjQtyDRgtGA0LDQtNC40YbQuNC+0L3QvdGL0YUg0L/Rg9GC0LXQuSDRgdC/0LjRgdC60LAg0LjQt9C80LXQvdC10L3QuNC5IgogCi0jOiBhcHBseS5jOjQ5NDMKKyM6IGFwcGx5LmM6NDk3MwogbXNnaWQgImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDQtNC+0LHQsNCy0LvQtdC90LjRjywg0YHQtNC10LvQsNC90L3Ri9C1INGN0YLQuNC8INC/0LDRgtGH0LXQvCIKIAotIzogYXBwbHkuYzo0OTQ1CisjOiBhcHBseS5jOjQ5NzUKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGRpZmZzdGF0IGZvciB0aGUgaW5wdXQiCiBtc2dzdHIgItCy0LzQtdGB0YLQviDQv9GA0LjQvNC10L3QtdC90LjRjyDQv9Cw0YLRh9CwINCy0YvQstC10YHRgtC4INGB0YLQsNGC0LjRgdGC0LjQutGDINC00L7QsdCw0LLQu9C10L3QuNC5INC4INGD0LTQsNC70LXQvdC40Lkg0LTQu9GPINCy0LLQvtC00LAiCiAKLSM6IGFwcGx5LmM6NDk0OQorIzogYXBwbHkuYzo0OTc5CiBtc2dpZCAic2hvdyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQgbGluZXMgaW4gZGVjaW1hbCBub3RhdGlvbiIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQutC+0LvQuNGH0LXRgdGC0LLQviDQtNC+0LHQsNCy0LvQtdC90L3Ri9GFINC4INGD0LTQsNC70LXQvdC90YvRhSDRgdGC0YDQvtC6INCyINC00LXRgdGP0YLQuNGH0L3QvtC8INC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNC4IgogCi0jOiBhcHBseS5jOjQ5NTEKKyM6IGFwcGx5LmM6NDk4MQogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgYSBzdW1tYXJ5IGZvciB0aGUgaW5wdXQiCi1tc2dzdHIgItCy0LzQtdGB0YLQviDQv9GA0LjQvNC10L3QtdC90LjRjyDQv9Cw0YLRh9CwINCy0YvQstC10YHRgtC4INGB0YLQsNGC0LjRgdGC0LjQutGDINC40LfQvNC10L3QtdC90LjQuSDQtNC70Y8g0LLQstC+0LTQsCIKK21zZ3N0ciAi0LLQvNC10YHRgtC+INC/0YDQuNC80LXQvdC10L3QuNGPINC/0LDRgtGH0LAg0LLRi9Cy0LXRgdGC0Lgg0YHQstC+0LTQutGDINC40LfQvNC10L3QtdC90LjQuSDQtNC70Y8g0LLQstC+0LTQsCIKIAotIzogYXBwbHkuYzo0OTUzCisjOiBhcHBseS5jOjQ5ODMKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgc2VlIGlmIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIgogbXNnc3RyICLQstC80LXRgdGC0L4g0L/RgNC40LzQtdC90LXQvdC40Y8g0L/QsNGC0YfQsCDQv9GA0L7QstC10YDQuNGC0Ywg0L/QvtC00YXQvtC00LjRgiDQu9C4INC+0L0iCiAKLSM6IGFwcGx5LmM6NDk1NQorIzogYXBwbHkuYzo0OTg1CiBtc2dpZCAibWFrZSBzdXJlIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIHRvIHRoZSBjdXJyZW50IGluZGV4IgogbXNnc3RyICLQv9GA0L7QstC10YDQuNGC0YwsINGH0YLQviDQv9Cw0YLRhyDQv9GA0LjQvNC10L3Rj9C10YLRgdGPINC6INGC0LXQutGD0YnQtdC80YMg0LjQvdC00LXQutGB0YMiCiAKLSM6IGFwcGx5LmM6NDk1NworIzogYXBwbHkuYzo0OTg3CiBtc2dpZCAibWFyayBuZXcgZmlsZXMgd2l0aCBgZ2l0IGFkZCAtLWludGVudC10by1hZGRgIgotbXNnc3RyICIiCittc2dzdHIgItC/0L7QvNC10YfQsNGC0Ywg0L3QvtCy0YvQtSDRhNCw0LnQu9GLINGBIMKrZ2l0IGFkZCAtLWludGVudC10by1hZGTCuyIKIAotIzogYXBwbHkuYzo0OTU5CisjOiBhcHBseS5jOjQ5ODkKIG1zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi0L/RgNC40LzQtdC90LjRgtGMINC/0LDRgtGHLCDQvdC1INC40LfQvNC10L3Rj9GPINGA0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzIgogCi0jOiBhcHBseS5jOjQ5NjEKKyM6IGFwcGx5LmM6NDk5MQogbXNnaWQgImFjY2VwdCBhIHBhdGNoIHRoYXQgdG91Y2hlcyBvdXRzaWRlIHRoZSB3b3JraW5nIGFyZWEiCiBtc2dzdHIgItC/0YDQuNC90Y/RgtGMINC/0LDRgtGHLCDQutC+0YLQvtGA0YvQuSDQt9Cw0YLRgNCw0LPQuNCy0LDQtdGCINGE0LDQudC70Ysg0LfQsCDRgNCw0LHQvtGH0LjQvCDQutCw0YLQsNC70L7Qs9C+0LwiCiAKLSM6IGFwcGx5LmM6NDk2NAorIzogYXBwbHkuYzo0OTk0CiBtc2dpZCAiYWxzbyBhcHBseSB0aGUgcGF0Y2ggKHVzZSB3aXRoIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCiBtc2dzdHIgItCwINGC0LDQutC20LUg0L/RgNC40LzQtdC90LjRgtGMINC/0LDRgtGHICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1INGBIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCiAKLSM6IGFwcGx5LmM6NDk2NgorIzogYXBwbHkuYzo0OTk2CiBtc2dpZCAiYXR0ZW1wdCB0aHJlZS13YXkgbWVyZ2UgaWYgYSBwYXRjaCBkb2VzIG5vdCBhcHBseSIKIG1zZ3N0ciAi0L/QvtC/0YvRgtCw0YLRjNGB0Y8g0YHQtNC10LvQsNGC0Ywg0YLRgNC10YXRhdC+0LTQvtCy0L7QtSDRgdC70LjRj9C90LjQtSwg0LXRgdC70Lgg0L/QsNGC0Ycg0L3QtSDQv9GA0LjQvNC10L3Rj9C10YLRgdGPIgogCi0jOiBhcHBseS5jOjQ5NjgKKyM6IGFwcGx5LmM6NDk5OAogbXNnaWQgImJ1aWxkIGEgdGVtcG9yYXJ5IGluZGV4IGJhc2VkIG9uIGVtYmVkZGVkIGluZGV4IGluZm9ybWF0aW9uIgogbXNnc3RyICLQv9C+0YHRgtGA0L7QuNGC0Ywg0LLRgNC10LzQtdC90L3Ri9C5INC40L3QtNC10LrRgSwg0L7RgdC90L7QstCw0L3QvdGL0Lkg0L3QsCDQstGB0YLRgNC+0LXQvdC90L7QuSDQuNC90YTQvtGA0LzQsNGG0LjQuCDQvtCxINC40L3QtNC10LrRgdC1IgogCi0jOiBhcHBseS5jOjQ5NzEgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OCBidWlsdGluL2xzLWZpbGVzLmM6NTE2CisjOiBhcHBseS5jOjUwMDEgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MyBidWlsdGluL2xzLWZpbGVzLmM6NTI0CiBtc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgItC/0YPRgtC4LCDQvtGC0LTQtdC70ZHQvdC90YvQtSDQndCj0JvQldCS0KvQnCDRgdC40LzQstC+0LvQvtC8IgogCi0jOiBhcHBseS5jOjQ5NzMKKyM6IGFwcGx5LmM6NTAwMwogbXNnaWQgImVuc3VyZSBhdCBsZWFzdCA8bj4gbGluZXMgb2YgY29udGV4dCBtYXRjaCIKIG1zZ3N0ciAi0YPQtNC+0YHRgtC+0LLQtdGA0LjRgtGM0YHRjywg0YfRgtC+INC/0L4g0LrRgNCw0LnQvdC10Lkg0LzQtdGA0LUgPG4+INGB0YLRgNC+0Log0LrQvtC90YLQtdC60YHRgtCwINGB0L7QstC/0LDQtNCw0Y7RgiIKIAotIzogYXBwbHkuYzo0OTc0IGJ1aWx0aW4vYW0uYzoyMjQyIGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTUKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTcgYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5OQotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjA1CisjOiBhcHBseS5jOjUwMDQgYnVpbHRpbi9hbS5jOjIxOTggYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NworIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5OSBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzE3IGJ1aWx0aW4vcmViYXNlLmM6MTQxNQogbXNnaWQgImFjdGlvbiIKIG1zZ3N0ciAi0LTQtdC50YHRgtCy0LjQtSIKIAotIzogYXBwbHkuYzo0OTc1CisjOiBhcHBseS5jOjUwMDUKIG1zZ2lkICJkZXRlY3QgbmV3IG9yIG1vZGlmaWVkIGxpbmVzIHRoYXQgaGF2ZSB3aGl0ZXNwYWNlIGVycm9ycyIKIG1zZ3N0ciAi0L7Qv9GA0LXQtNC10LvRj9GC0Ywg0L3QvtCy0YvQtSDQuNC70Lgg0LzQvtC00LjRhNC40YbQuNGA0L7QstCw0L3QvdGL0LUg0YHRgtGA0L7QutC4LCDRgyDQutC+0YLQvtGA0YvRhSDQtdGB0YLRjCDQvtGI0LjQsdC60Lgg0LIg0L/RgNC+0LHQtdC70YzQvdGL0YUg0YHQuNC80LLQvtC70LDRhSIKIAotIzogYXBwbHkuYzo0OTc4IGFwcGx5LmM6NDk4MQorIzogYXBwbHkuYzo1MDA4IGFwcGx5LmM6NTAxMQogbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2Ugd2hlbiBmaW5kaW5nIGNvbnRleHQiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0LIg0L/RgNC+0LHQtdC70YzQvdGL0YUg0YHQuNC80LLQvtC70LDRhSDQv9GA0Lgg0L/QvtC40YHQutC1INC60L7QvdGC0LXQutGB0YLQsCIKIAotIzogYXBwbHkuYzo0OTg0CisjOiBhcHBseS5jOjUwMTQKIG1zZ2lkICJhcHBseSB0aGUgcGF0Y2ggaW4gcmV2ZXJzZSIKIG1zZ3N0ciAi0L/RgNC40LzQtdC90LjRgtGMINC/0LDRgtGHINGBINC+0LHRgNCw0YnQtdC90LjQtdC8INC40LfQvNC10L3QtdC90LjQuSIKIAotIzogYXBwbHkuYzo0OTg2CisjOiBhcHBseS5jOjUwMTYKIG1zZ2lkICJkb24ndCBleHBlY3QgYXQgbGVhc3Qgb25lIGxpbmUgb2YgY29udGV4dCIKIG1zZ3N0ciAi0L3QtSDQvtC20LjQtNCw0YLRjCDQutCw0Log0LzQuNC90LjQvNGD0Lwg0L7QtNC90L7QuSDRgdGC0YDQvtC60Lgg0LrQvtC90YLQtdC60YHRgtCwIgogCi0jOiBhcHBseS5jOjQ5ODgKKyM6IGFwcGx5LmM6NTAxOAogbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgogbXNnc3RyICLQvtGB0YLQsNCy0LjRgtGMINC+0YLQutC70L7QvdC10L3QvdGL0LUg0LHQu9C+0LrQuCDQuNC30LzQtdC90LXQvdC40Lkg0LIg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNGFICoucmVqINGE0LDQudC70LDRhSIKIAotIzogYXBwbHkuYzo0OTkwCisjOiBhcHBseS5jOjUwMjAKIG1zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINC/0LXRgNC10LrRgNGL0LLQsNGO0YnQuNC10YHRjyDQsdC70L7QutC4INC40LfQvNC10L3QtdC90LjQuSIKIAotIzogYXBwbHkuYzo0OTkxIGJ1aWx0aW4vYWRkLmM6MjkwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjEKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMwMSBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5OCBidWlsdGluL2ZzY2suYzo2NzEKLSM6IGJ1aWx0aW4vbG9nLmM6MTkxNCBidWlsdGluL212LmM6MTIyIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI0CisjOiBhcHBseS5jOjUwMjEgYnVpbHRpbi9hZGQuYzoyOTEgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMgorIzogYnVpbHRpbi9jb21taXQuYzoxMzE3IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk4IGJ1aWx0aW4vZnNjay5jOjc4NgorIzogYnVpbHRpbi9sb2cuYzoyMDQ1IGJ1aWx0aW4vbXYuYzoxMjMgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjgKIG1zZ2lkICJiZSB2ZXJib3NlIgogbXNnc3RyICLQsdGL0YLRjCDQvNC90L7Qs9C+0YHQu9C+0LLQvdC10LUiCiAKLSM6IGFwcGx5LmM6NDk5MworIzogYXBwbHkuYzo1MDIzCiBtc2dpZCAidG9sZXJhdGUgaW5jb3JyZWN0bHkgZGV0ZWN0ZWQgbWlzc2luZyBuZXctbGluZSBhdCB0aGUgZW5kIG9mIGZpbGUiCiBtc2dzdHIgItGA0LDQt9GA0LXRiNC40YLRjCDQvdC10LrQvtGA0YDQtdC60YLQvdC+INC+0L/RgNC10LTQtdC70LXQvdC90YvQtSDQv9GA0L7Qv9GD0YnQtdC90L3Ri9C1INC/0YPRgdGC0YvQtSDRgdGC0YDQvtC60Lgg0LIg0LrQvtC90YbQtSDRhNCw0LnQu9CwIgogCi0jOiBhcHBseS5jOjQ5OTYKKyM6IGFwcGx5LmM6NTAyNgogbXNnaWQgImRvIG5vdCB0cnVzdCB0aGUgbGluZSBjb3VudHMgaW4gdGhlIGh1bmsgaGVhZGVycyIKIG1zZ3N0ciAi0L3QtSDQtNC+0LLQtdGA0Y/RgtGMINC60L7Qu9C40YfQtdGB0YLQstGDINGB0YLRgNC+0Log0LjQtyDQt9Cw0LPQvtC70L7QstC60LAg0LHQu9C+0LrQsCDQuNC30LzQtdC90LXQvdC40LkiCiAKLSM6IGFwcGx5LmM6NDk5OCBidWlsdGluL2FtLmM6MjI1MQorIzogYXBwbHkuYzo1MDI4IGJ1aWx0aW4vYW0uYzoyMjA3CiBtc2dpZCAicm9vdCIKIG1zZ3N0ciAi0LrQvtGA0LXQvdGMIgogCi0jOiBhcHBseS5jOjQ5OTkKKyM6IGFwcGx5LmM6NTAyOQogbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0YwgPNC60L7RgNC10L3RjD4g0YHQv9C10YDQtdC00Lgg0LrQviDQstGB0LXQvCDQuNC80LXQvdCw0Lwg0YTQsNC50LvQvtCyIgogCkBAIC03MzcsMjAwICs3NDcsMjI0IEBACiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPNGA0LXQv9C+0LfQuNGC0L7RgNC40Lk+IFstLWV4ZWMgPNC60L7QvNCw0L3QtNCwPl0gLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MzYzIGJ1aWx0aW4vYWRkLmM6MTc2IGJ1aWx0aW4vYWRkLmM6NTE1IGJ1aWx0aW4vcm0uYzoyOTgKKyM6IGFyY2hpdmUuYzozNzIgYnVpbHRpbi9hZGQuYzoxNzcgYnVpbHRpbi9hZGQuYzo1MTYgYnVpbHRpbi9ybS5jOjI5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgogbXNnc3RyICLRgdC/0LXRhtC40YTQuNC60LDRgtC+0YAg0L/Rg9GC0Lggwqslc8K7INC90LUg0YHQvtC+0YLQstC10YLRgdGC0LLRg9C10YIg0L3QuCDQvtC00L3QvtC80YMg0YTQsNC50LvRgyIKIAotIzogYXJjaGl2ZS5jOjQ0NgorIzogYXJjaGl2ZS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlZjogJS4qcyIKK21zZ3N0ciAi0L3QtdGCINGC0LDQutC+0Lkg0YHRgdGL0LvQutC4OiAlLipzIgorCisjOiBhcmNoaXZlLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAlcyIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzQvtC1INC40LzRjyDQvtCx0YrQtdC60YLQsDogJXMiCisKKyM6IGFyY2hpdmUuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgdHJlZSBvYmplY3Q6ICVzIgorbXNnc3RyICLQvdC10LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQuSDQvtCx0YrQtdC60YIg0LTQtdGA0LXQstCwOiAlcyIKKworIzogYXJjaGl2ZS5jOjQyNAorbXNnaWQgImN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgaXMgdW50cmFja2VkIgorbXNnc3RyICLRgtC10LrRg9GJ0LjQuSDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyDQvdC1INC+0YLRgdC70LXQttC40LLQsNC10YLRgdGPIgorCisjOiBhcmNoaXZlLmM6NDU1CiBtc2dpZCAiZm10IgogbXNnc3RyICLRhNC+0YDQvNCw0YIiCiAKLSM6IGFyY2hpdmUuYzo0NDYKKyM6IGFyY2hpdmUuYzo0NTUKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAi0YTQvtGA0LzQsNGCINCw0YDRhdC40LLQsCIKIAotIzogYXJjaGl2ZS5jOjQ0NyBidWlsdGluL2xvZy5jOjE0NzMKKyM6IGFyY2hpdmUuYzo0NTYgYnVpbHRpbi9sb2cuYzoxNTU3CiBtc2dpZCAicHJlZml4IgogbXNnc3RyICLQv9GA0LXRhNC40LrRgSIKIAotIzogYXJjaGl2ZS5jOjQ0OAorIzogYXJjaGl2ZS5jOjQ1NwogbXNnaWQgInByZXBlbmQgcHJlZml4IHRvIGVhY2ggcGF0aG5hbWUgaW4gdGhlIGFyY2hpdmUiCiBtc2dzdHIgItC00L7QsdCw0LLQu9GP0YLRjCDQv9GA0LXRhNC40LrRgSDQv9C10YDQtdC0INC60LDQttC00YvQvCDQv9GD0YLQtdC8INGE0LDQudC70LAg0LIg0LDRgNGF0LjQstC1IgogCi0jOiBhcmNoaXZlLmM6NDQ5IGJ1aWx0aW4vYmxhbWUuYzo4MTYgYnVpbHRpbi9ibGFtZS5jOjgxNyBidWlsdGluL2NvbmZpZy5jOjEyNgotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTMgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTUgYnVpbHRpbi9ncmVwLmM6ODczCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA0IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTIgYnVpbHRpbi9scy1maWxlcy5jOjU1NQotIzogYnVpbHRpbi9ub3Rlcy5jOjQwNyBidWlsdGluL25vdGVzLmM6NTcwIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTE5Ci0jOiBwYXJzZS1vcHRpb25zLmg6MTY1CisjOiBhcmNoaXZlLmM6NDU4IGJ1aWx0aW4vYmxhbWUuYzo4MjEgYnVpbHRpbi9ibGFtZS5jOjgyMgorIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExNyBidWlsdGluL2NvbmZpZy5jOjEyOSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTA5MQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwOTMgYnVpbHRpbi9ncmVwLmM6ODk1IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjAgYnVpbHRpbi9scy1maWxlcy5jOjU2MyBidWlsdGluL25vdGVzLmM6NDEyCisjOiBidWlsdGluL25vdGVzLmM6NTc4IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIzIHBhcnNlLW9wdGlvbnMuaDoxNzcKIG1zZ2lkICJmaWxlIgogbXNnc3RyICLRhNCw0LnQuyIKIAotIzogYXJjaGl2ZS5jOjQ1MCBidWlsdGluL2FyY2hpdmUuYzo4OQorIzogYXJjaGl2ZS5jOjQ1OSBidWlsdGluL2FyY2hpdmUuYzo5MAogbXNnaWQgIndyaXRlIHRoZSBhcmNoaXZlIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAi0LfQsNC/0LjRgdGMINCw0YDRhdC40LLQsCDQsiDRjdGC0L7RgiDRhNCw0LnQuyIKIAotIzogYXJjaGl2ZS5jOjQ1MgorIzogYXJjaGl2ZS5jOjQ2MQogbXNnaWQgInJlYWQgLmdpdGF0dHJpYnV0ZXMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgItGH0LjRgtCw0YLRjCAuZ2l0YXR0cmlidXRlcyDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1IgogCi0jOiBhcmNoaXZlLmM6NDUzCisjOiBhcmNoaXZlLmM6NDYyCiBtc2dpZCAicmVwb3J0IGFyY2hpdmVkIGZpbGVzIG9uIHN0ZGVyciIKIG1zZ3N0ciAi0L7RgtGH0LXRgiDQvtCxINCw0YDRhdC40LLQuNGA0L7QstCw0L3QvdGL0YUg0YTQsNC50LvQsNGFINCyIHN0ZGVyciIKIAotIzogYXJjaGl2ZS5jOjQ1NAorIzogYXJjaGl2ZS5jOjQ2MwogbXNnaWQgInN0b3JlIG9ubHkiCiBtc2dzdHIgItGC0L7Qu9GM0LrQviDRhdGA0LDQvdC10L3QuNC1IgogCi0jOiBhcmNoaXZlLmM6NDU1CisjOiBhcmNoaXZlLmM6NDY0CiBtc2dpZCAiY29tcHJlc3MgZmFzdGVyIgogbXNnc3RyICLRgdC20LjQvNCw0YLRjCDQsdGL0YHRgtGA0LXQtSIKIAotIzogYXJjaGl2ZS5jOjQ2MworIzogYXJjaGl2ZS5jOjQ3MgogbXNnaWQgImNvbXByZXNzIGJldHRlciIKIG1zZ3N0ciAi0YHQttC40LzQsNGC0Ywg0LvRg9GH0YjQtSIKIAotIzogYXJjaGl2ZS5jOjQ2NgorIzogYXJjaGl2ZS5jOjQ3NQogbXNnaWQgImxpc3Qgc3VwcG9ydGVkIGFyY2hpdmUgZm9ybWF0cyIKIG1zZ3N0ciAi0L/QtdGA0LXRh9C40YHQu9C40YLRjCDQv9C+0LTQtNC10YDQttC40LLQsNC10LzRi9C1INGE0L7RgNC80LDRgtGLINCw0YDRhdC40LLQvtCyIgogCi0jOiBhcmNoaXZlLmM6NDY4IGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9jbG9uZS5jOjExNAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE3MzgKKyM6IGFyY2hpdmUuYzo0NzcgYnVpbHRpbi9hcmNoaXZlLmM6OTEgYnVpbHRpbi9jbG9uZS5jOjExMCBidWlsdGluL2Nsb25lLmM6MTEzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1OAogbXNnaWQgInJlcG8iCiBtc2dzdHIgItGA0LXQv9C+0LfQuNGC0L7RgNC40LkiCiAKLSM6IGFyY2hpdmUuYzo0NjkgYnVpbHRpbi9hcmNoaXZlLmM6OTEKKyM6IGFyY2hpdmUuYzo0NzggYnVpbHRpbi9hcmNoaXZlLmM6OTIKIG1zZ2lkICJyZXRyaWV2ZSB0aGUgYXJjaGl2ZSBmcm9tIHJlbW90ZSByZXBvc2l0b3J5IDxyZXBvPiIKIG1zZ3N0ciAi0L/QvtC70YPRh9C40YLRjCDQsNGA0YXQuNCyINC40Lcg0LLQvdC10YjQvdC10LPQviA80YDQtdC/0L7Qt9C40YLQvtGA0LjRjz4iCiAKLSM6IGFyY2hpdmUuYzo0NzAgYnVpbHRpbi9hcmNoaXZlLmM6OTIgYnVpbHRpbi9kaWZmdG9vbC5jOjcxNAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ5MQorIzogYXJjaGl2ZS5jOjQ3OSBidWlsdGluL2FyY2hpdmUuYzo5MyBidWlsdGluL2RpZmZ0b29sLmM6NzA3CisjOiBidWlsdGluL25vdGVzLmM6NDk4CiBtc2dpZCAiY29tbWFuZCIKIG1zZ3N0ciAi0LrQvtC80LDQvdC00LAiCiAKLSM6IGFyY2hpdmUuYzo0NzEgYnVpbHRpbi9hcmNoaXZlLmM6OTMKKyM6IGFyY2hpdmUuYzo0ODAgYnVpbHRpbi9hcmNoaXZlLmM6OTQKIG1zZ2lkICJwYXRoIHRvIHRoZSByZW1vdGUgZ2l0LXVwbG9hZC1hcmNoaXZlIGNvbW1hbmQiCiBtc2dzdHIgItC/0YPRgtGMINC6INC60L7QvNCw0L3QtNC1IGdpdC11cGxvYWQtYXJjaGl2ZSDQvdCwINC80LDRiNC40L3QtSDRgSDQstC90LXRiNC90LjQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC10LwiCiAKLSM6IGFyY2hpdmUuYzo0NzgKKyM6IGFyY2hpdmUuYzo0ODcKIG1zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLXJlbW90ZSIKIG1zZ3N0ciAi0J3QtdC+0LbQuNC00LDQvdC90LDRjyDQvtC/0YbQuNGPIC0tcmVtb3RlIgogCi0jOiBhcmNoaXZlLmM6NDgwCisjOiBhcmNoaXZlLmM6NDg5CiBtc2dpZCAiT3B0aW9uIC0tZXhlYyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1yZW1vdGUiCiBtc2dzdHIgItCe0L/RhtC40Y8gLS1leGVjINC80L7QttC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGM0YHRjyDRgtC+0LvRjNC60L4g0LLQvNC10YHRgtC1INGBIC0tcmVtb3RlIgogCi0jOiBhcmNoaXZlLmM6NDgyCisjOiBhcmNoaXZlLmM6NDkxCiBtc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1vdXRwdXQiCiBtc2dzdHIgItCd0LXQvtC20LjQtNCw0L3QvdCw0Y8g0L7Qv9GG0LjRjyAtLW91dHB1dCIKIAotIzogYXJjaGl2ZS5jOjUwNAorIzogYXJjaGl2ZS5jOjUxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGFyY2hpdmUgZm9ybWF0ICclcyciCiBtc2dzdHIgItCd0LXQuNC30LLQtdGB0YLQvdGL0Lkg0YTQvtGA0LzQsNGCINCw0YDRhdC40LLQsCDCqyVzwrsiCiAKLSM6IGFyY2hpdmUuYzo1MTEKKyM6IGFyY2hpdmUuYzo1MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXJndW1lbnQgbm90IHN1cHBvcnRlZCBmb3IgZm9ybWF0ICclcyc6IC0lZCIKIG1zZ3N0ciAi0JDRgNCz0YPQvNC10L3RgiDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8g0LTQu9GPINGE0L7RgNC80LDRgtCwIMKrJXPCuzogLSVkIgogCi0jOiBhcmNoaXZlLXRhci5jOjEyNSBhcmNoaXZlLXppcC5jOjM0NAorIzogYXJjaGl2ZS10YXIuYzoxMjUgYXJjaGl2ZS16aXAuYzozNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0cmVhbSBibG9iICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINC/0L7RgtC+0Log0LTQstC+0LjRh9C90L7Qs9C+INC+0LHRitC10LrRgtCwICVzIgogCi0jOiBhcmNoaXZlLXRhci5jOjI2MCBhcmNoaXZlLXppcC5jOjM2MQorIzogYXJjaGl2ZS10YXIuYzoyNjAgYXJjaGl2ZS16aXAuYzozNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgZmlsZSBtb2RlOiAwJW8gKFNIQTE6ICVzKSIKIG1zZ3N0ciAi0L3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNGL0Lkg0YDQtdC20LjQvCDQtNC+0YHRgtGD0L/QsCDQuiDRhNCw0LnQu9GDOiAwJW8gKFNIQTE6ICVzKSIKIAotIzogYXJjaGl2ZS10YXIuYzoyODcgYXJjaGl2ZS16aXAuYzozNTIKKyM6IGFyY2hpdmUtdGFyLmM6Mjg3IGFyY2hpdmUtemlwLmM6MzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCAlcyIKIAotIzogYXJjaGl2ZS10YXIuYzo0NTgKKyM6IGFyY2hpdmUtdGFyLmM6NDU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBzdGFydCAnJXMnIGZpbHRlciIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0YTQuNC70YzRgtGAIMKrJXPCuyIKIAotIzogYXJjaGl2ZS10YXIuYzo0NjEKKyM6IGFyY2hpdmUtdGFyLmM6NDYyCiBtc2dpZCAidW5hYmxlIHRvIHJlZGlyZWN0IGRlc2NyaXB0b3IiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQvdCw0L/RgNCw0LLQuNGC0Ywg0LTQtdGB0LrRgNC40L/RgtC+0YAiCiAKLSM6IGFyY2hpdmUtdGFyLmM6NDY4CisjOiBhcmNoaXZlLXRhci5jOjQ2OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGZpbHRlciByZXBvcnRlZCBlcnJvciIKIG1zZ3N0ciAi0YTQuNC70YzRgtGAIMKrJXPCuyDRgdC+0L7QsdGJ0LjQuyDQvtCxINC+0YjQuNCx0LrQtSIKIAotIzogYXJjaGl2ZS16aXAuYzozMTMKKyM6IGFyY2hpdmUtemlwLmM6MzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggaXMgbm90IHZhbGlkIFVURi04OiAlcyIKIG1zZ3N0ciAi0L/Rg9GC0Ywg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC00LXQudGB0YLQstC40YLQtdC70YzQvdGL0LwgVVRGLTg6ICVzIgogCi0jOiBhcmNoaXZlLXppcC5jOjMxNworIzogYXJjaGl2ZS16aXAuYzozMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCB0b28gbG9uZyAoJWQgY2hhcnMsIFNIQTE6ICVzKTogJXMiCiBtc2dzdHIgItC/0YPRgtGMINGB0LvQuNGI0LrQvtC8INC00LvQuNC90L3Ri9C5ICglZCDRgdC40LzQstC+0LvQvtCyLCBTSEExOiAlcyk6ICVzIgogCi0jOiBhcmNoaXZlLXppcC5jOjQ3MCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxNiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxOQorIzogYXJjaGl2ZS16aXAuYzo0NzQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMjYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICLQvtGI0LjQsdC60LAg0YHQttCw0YLQuNGPICglZCkiCiAKLSM6IGFyY2hpdmUtemlwLmM6NjA1CisjOiBhcmNoaXZlLXppcC5jOjYwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aW1lc3RhbXAgdG9vIGxhcmdlIGZvciB0aGlzIHN5c3RlbTogJTxQUkl1TUFYPiIKIG1zZ3N0ciAi0L7RgtC80LXRgtC60LAg0LLRgNC10LzQtdC90Lgg0YHQu9C40YjQutC+0Lwg0LHQvtC70YzRiNCw0Y8g0LTQu9GPINGN0YLQvtC5INGB0LjRgdGC0LXQvNGLOiAlPFBSSXVNQVg+IgogCi0jOiBhdHRyLmM6MjE4CisjOiBhdHRyLmM6MjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiUuKnMgaXMgbm90IGEgdmFsaWQgYXR0cmlidXRlIG5hbWUiCiBtc2dzdHIgIiUuKnMg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC00L7Qv9GD0YHRgtC40LzRi9C8INC40LzQtdC90LXQvCDQsNGC0YDQuNCx0YPRgtCwIgogCi0jOiBhdHRyLmM6NDE1CisjOiBhdHRyLmM6MzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbGxvd2VkOiAlczolZCIKK21zZ3N0ciAiJXMg0L3QtSDRgNCw0LfRgNC10YjQtdC90L46ICVzOiVkIgorCisjOiBhdHRyLmM6NDA4CiBtc2dpZCAiIgogIk5lZ2F0aXZlIHBhdHRlcm5zIGFyZSBpZ25vcmVkIGluIGdpdCBhdHRyaWJ1dGVzXG4iCiAiVXNlICdcXCEnIGZvciBsaXRlcmFsIGxlYWRpbmcgZXhjbGFtYXRpb24uIgogbXNnc3RyICLQntGC0YDQuNGG0LDRjtGJ0LjQtSDRiNCw0LHQu9C+0L3RiyDQsiDQsNGC0YDQuNCx0YPRgtCw0YUgZ2l0INC40LPQvdC+0YDQuNGA0YPRjtGC0YHRjy5cbtCY0YHQv9C+0LvRjNC30YPQudGC0LUgwqtcXCHCuyDQtNC70Y8g0LHRg9C60LLQsNC70YzQvdC+0LPQviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyDRgdC40LzQstC+0LvQsCDQsiDQt9C90LDRh9C10L3QuNC4IMKr0LLQvtGB0LrQu9C40YbQsNGC0LXQu9GM0L3Ri9C5INC30L3QsNC6wrsuIgogCi0jOiBiaXNlY3QuYzo0NjcKKyM6IGJpc2VjdC5jOjQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWRseSBxdW90ZWQgY29udGVudCBpbiBmaWxlICclcyc6ICVzIgogbXNnc3RyICLQn9C70L7RhdC+0LUg0YHQvtC00LXRgNC20LjQvNC+0LUg0YTQsNC50LvQsCDCqyVzwrs6ICVzIgogCi0jOiBiaXNlY3QuYzo2NzUKKyM6IGJpc2VjdC5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJXZSBjYW5ub3QgYmlzZWN0IG1vcmUhXG4iCiBtc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC/0YDQvtC00L7Qu9C20LjRgtGMINCx0LjQvdCw0YDQvdGL0Lkg0L/QvtC40YHQuiFcbiIKIAotIzogYmlzZWN0LmM6NzI5CisjOiBiaXNlY3QuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgY29tbWl0IG5hbWUgJXMiCiBtc2dzdHIgItCd0LXQtNC+0L/Rg9GB0YLQuNC80L7QtSDQuNC80Y8g0LrQvtC80LzQuNGC0LAgJXMiCiAKLSM6IGJpc2VjdC5jOjc1MworIzogYmlzZWN0LmM6NzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbWVyZ2UgYmFzZSAlcyBpcyBiYWQuXG4iCiAiVGhpcyBtZWFucyB0aGUgYnVnIGhhcyBiZWVuIGZpeGVkIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCiBtc2dzdHIgItCR0LDQt9CwINGB0LvQuNGP0L3QuNGPICVzINGP0LLQu9GP0LXRgtGB0Y8g0L/Qu9C+0YXQuNC8INC60L7QvNC80LjRgtC+0LwuXG7QrdGC0L4g0LfQvdCw0YfQuNGCLCDRh9GC0L4g0L7RiNC40LHQutCwINCx0YvQu9CwINC40YHQv9GA0LDQstC70LXQvdCwINCz0LTQtS3RgtC+INC80LXQttC00YMgJXMg0LggWyVzXS5cbiIKIAotIzogYmlzZWN0LmM6NzU4CisjOiBiaXNlY3QuYzo3NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBtZXJnZSBiYXNlICVzIGlzIG5ldy5cbiIKICJUaGUgcHJvcGVydHkgaGFzIGNoYW5nZWQgYmV0d2VlbiAlcyBhbmQgWyVzXS5cbiIKIG1zZ3N0ciAi0JHQsNC30LAg0YHQu9C40Y/QvdC40Y8gJXMg0Y/QstC70Y/QtdGC0YHRjyDQvdC+0LLQvtC5Llxu0KHQstC+0LnRgdGC0LLQviDQsdGL0LvQviDQuNC30LzQtdC90LXQvdC+INCz0LTQtS3RgtC+INC80LXQttC00YMgJXMg0LggWyVzXS5cbiIKIAotIzogYmlzZWN0LmM6NzYzCisjOiBiaXNlY3QuYzo3NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBtZXJnZSBiYXNlICVzIGlzICVzLlxuIgogIlRoaXMgbWVhbnMgdGhlIGZpcnN0ICclcycgY29tbWl0IGlzIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCiBtc2dzdHIgItCR0LDQt9CwINGB0LvQuNGP0L3QuNGPICVzINGP0LLQu9GP0LXRgtGB0Y8gJXMuXG7QrdGC0L4g0LfQvdCw0YfQuNGCLCDRh9GC0L4gwqslc8K7INC60L7QvNC80LjRgiDQvdCw0YXQvtC00LjRgtGB0Y8g0LPQtNC1LdGC0L4g0LzQtdC20LTRgyAlcyDQuCBbJXNdLlxuIgogCi0jOiBiaXNlY3QuYzo3NzEKKyM6IGJpc2VjdC5jOjc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU29tZSAlcyByZXZzIGFyZSBub3QgYW5jZXN0b3JzIG9mIHRoZSAlcyByZXYuXG4iCkBAIC05MzgsNyArOTcyLDcgQEAKICJNYXliZSB5b3UgbWlzdG9vayAlcyBhbmQgJXMgcmV2cz9cbiIKIG1zZ3N0ciAi0J3QtdGB0LrQvtC70YzQutC+ICVzINC60L7QvNC80LjRgtC+0LIg0L3QtSDRj9Cy0LvRj9GO0YLRgdGPINC/0YDQtdC00LrQsNC80LggJXMg0LrQvtC80LzQuNGC0LAuXG7QkiDRjdGC0L7QvCDRgdC70YPRh9Cw0LUgZ2l0IGJpc2VjdCDQvdC1INC80L7QttC10YIg0YDQsNCx0L7RgtCw0YLRjCDQv9GA0LDQstC40LvRjNC90L4uXG7QktC+0LfQvNC+0LbQvdC+LCDQstGLINC/0LXRgNC10L/Rg9GC0LDQu9C4INGA0LXQtNCw0LrRhtC40LggJXMg0LggJXMg0LzQtdGB0YLQsNC80Lg/XG4iCiAKLSM6IGJpc2VjdC5jOjc4NAorIzogYmlzZWN0LmM6Nzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ0aGUgbWVyZ2UgYmFzZSBiZXR3ZWVuICVzIGFuZCBbJXNdIG11c3QgYmUgc2tpcHBlZC5cbiIKQEAgLTk0Niw0MyArOTgwLDQzIEBACiAiV2UgY29udGludWUgYW55d2F5LiIKIG1zZ3N0ciAi0JHQsNC30LAg0YHQu9C40Y/QvdC40Y8g0LzQtdC20LTRgyAlcyDQuCBbJXNdINC00L7Qu9C20L3QviDQsdGL0YLRjCDQv9GA0L7Qv9GD0YnQtdC90LAuXG7Qn9C+0Y3RgtC+0LzRgyDQvNGLINC90LUg0LzQvtC20LXQvCDQsdGL0YLRjCDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INC/0LXRgNCy0YvQuSAlcyDQutC+0LzQvNC40YIg0L3QsNGF0L7QtNC40YLRgdGPINC80LXQttC00YMgJXMg0LggJXMuXG7QndC+INCy0YHQtSDQttC1INC/0YDQvtC00L7Qu9C20LDQtdC8INC/0L7QuNGB0LouIgogCi0jOiBiaXNlY3QuYzo4MTcKKyM6IGJpc2VjdC5jOjgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJCaXNlY3Rpbmc6IGEgbWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZFxuIgogbXNnc3RyICLQkdC40L3QsNGA0L3Ri9C5INC/0L7QuNGB0Lo6INCx0LDQt9CwINGB0LvQuNGP0L3QuNGPINC00L7Qu9C20L3QsCDQsdGL0YLRjCDQv9GA0L7QstC10YDQtdC90LBcbiIKIAotIzogYmlzZWN0LmM6ODU3CisjOiBiaXNlY3QuYzo4NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCiBtc2dzdHIgItC90YPQttC90L4g0YPQutCw0LfQsNGC0YwgJXMg0YDQtdC00LDQutGG0LjRjiIKIAotIzogYmlzZWN0LmM6ODc2IGJ1aWx0aW4vbm90ZXMuYzoxNzcgYnVpbHRpbi90YWcuYzoyMzcKKyM6IGJpc2VjdC5jOjg4NCBidWlsdGluL25vdGVzLmM6MTc3IGJ1aWx0aW4vdGFnLmM6MjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZmlsZSAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINGE0LDQudC7IMKrJXPCuyIKIAotIzogYmlzZWN0LmM6OTI3IGJ1aWx0aW4vbWVyZ2UuYzoxMzcKKyM6IGJpc2VjdC5jOjkyOCBidWlsdGluL21lcmdlLmM6MTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGZpbGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YTQsNC50Lsgwqslc8K7IgogCi0jOiBiaXNlY3QuYzo5NTcKKyM6IGJpc2VjdC5jOjk1OAogbXNnaWQgInJlYWRpbmcgYmlzZWN0IHJlZnMgZmFpbGVkIgogbXNnc3RyICLRgdCx0L7QuSDQv9GA0Lgg0YfRgtC10L3QuNC4INGB0YHRi9C70L7QuiDQtNCy0L7QuNGH0L3QvtCz0L4g0L/QvtC40YHQutCwIgogCi0jOiBiaXNlY3QuYzo5NzYKKyM6IGJpc2VjdC5jOjk3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB3YXMgYm90aCAlcyBhbmQgJXNcbiIKIG1zZ3N0ciAiJXMg0LHRi9C70LAg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INC4ICVzINC4ICVzXG4iCiAKLSM6IGJpc2VjdC5jOjk4NAorIzogYmlzZWN0LmM6OTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyB0ZXN0YWJsZSBjb21taXQgZm91bmQuXG4iCiAiTWF5YmUgeW91IHN0YXJ0ZWQgd2l0aCBiYWQgcGF0aCBwYXJhbWV0ZXJzP1xuIgogbXNnc3RyICLQotC10YHRgtC40YDRg9C10LzRi9C5INC60L7QvNC80LjRgiDQvdC1INC90LDQudC00LXQvS5cbtCS0L7Qt9C80L7QttC90L4sINCy0Ysg0L3QsNGH0LDQu9C4INC/0L7QuNGB0Log0YEg0YPQutCw0LfQsNC90LjQtdC8INC90LXQv9GA0LDQstC40LvRjNC90L7Qs9C+INC/0LDRgNCw0LzQtdGC0YDQsCDQv9GD0YLQuD9cbiIKIAotIzogYmlzZWN0LmM6MTAwMworIzogYmlzZWN0LmM6MTAwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIocm91Z2hseSAlZCBzdGVwKSIKIG1zZ2lkX3BsdXJhbCAiKHJvdWdobHkgJWQgc3RlcHMpIgpAQCAtOTkzLDcgKzEwMjcsNyBAQAogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGxhc3QgJXMgd2lsbCBiZSByZXBsYWNlZCB3aXRoICIocm91Z2hseSAlZAogIy4gc3RlcHMpIiB0cmFuc2xhdGlvbi4KLSM6IGJpc2VjdC5jOjEwMDkKKyM6IGJpc2VjdC5jOjEwMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbiBsZWZ0IHRvIHRlc3QgYWZ0ZXIgdGhpcyAlc1xuIgogbXNnaWRfcGx1cmFsICJCaXNlY3Rpbmc6ICVkIHJldmlzaW9ucyBsZWZ0IHRvIHRlc3QgYWZ0ZXIgdGhpcyAlc1xuIgpAQCAtMTAwMiw0MiArMTAzNiw0MiBAQAogbXNnc3RyWzJdICLQkdC40L3QsNGA0L3Ri9C5INC/0L7QuNGB0Lo6ICVkINGA0LXQtNCw0LrRhtC40Lkg0L7RgdGC0LDQu9C+0YHRjCDQv9GA0L7QstC10YDQuNGC0Ywg0L/QvtGB0LvQtSDRjdGC0L7QuSAlc1xuIgogbXNnc3RyWzNdICLQkdC40L3QsNGA0L3Ri9C5INC/0L7QuNGB0Lo6ICVkINGA0LXQtNCw0LrRhtC40Lkg0L7RgdGC0LDQu9C+0YHRjCDQv9GA0L7QstC10YDQuNGC0Ywg0L/QvtGB0LvQtSDRjdGC0L7QuSAlc1xuIgogCi0jOiBibGFtZS5jOjE3ODYKKyM6IGJsYW1lLmM6MTc5NAogbXNnaWQgIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iCiBtc2dzdHIgIi0tY29udGVudHMg0LggLS1yZXZlcnNlINC90LUg0L7Rh9C10L3RjCDRgdC+0YfQtdGC0LDRjtGC0YHRjy4iCiAKLSM6IGJsYW1lLmM6MTgwMAorIzogYmxhbWUuYzoxODA4CiBtc2dpZCAiY2Fubm90IHVzZSAtLWNvbnRlbnRzIHdpdGggZmluYWwgY29tbWl0IG9iamVjdCBuYW1lIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMIC0tY29udGVudHMg0YEg0YPQutCw0LfQsNC90LjQtdC8INGE0LjQvdCw0LvRjNC90L7Qs9C+INC40LzQtdC90Lgg0L7QsdGK0LXQutGC0LAiCiAKLSM6IGJsYW1lLmM6MTgyMQorIzogYmxhbWUuYzoxODI5CiBtc2dpZCAiLS1yZXZlcnNlIGFuZCAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHNwZWNpZmllZCBsYXRlc3QgY29tbWl0IgogbXNnc3RyICLQv9GA0LggLS1yZXZlcnNlINC4IC0tZmlyc3QtcGFyZW50INCy0LzQtdGB0YLQtSDQvdGD0LbQvdC+INGD0LrQsNC30YvQstCw0YLRjCDQutC+0L3QutGA0LXRgtC90YvQuSDQv9C+0YHQu9C10LTQvdC40Lkg0LrQvtC80LzQuNGCIgogCi0jOiBibGFtZS5jOjE4MzAgYnVuZGxlLmM6MTYyIHJlZi1maWx0ZXIuYzoyMTU0IHNlcXVlbmNlci5jOjE4NzQKLSM6IHNlcXVlbmNlci5jOjM3NzIgYnVpbHRpbi9jb21taXQuYzo5OTQgYnVpbHRpbi9sb2cuYzozNzIgYnVpbHRpbi9sb2cuYzo5MjYKLSM6IGJ1aWx0aW4vbG9nLmM6MTM4MSBidWlsdGluL2xvZy5jOjE3MTMgYnVpbHRpbi9sb2cuYzoxOTYzCi0jOiBidWlsdGluL21lcmdlLmM6NDA0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAzMiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwNDcKKyM6IGJsYW1lLmM6MTgzOCBidW5kbGUuYzoxNjQgcmVmLWZpbHRlci5jOjIwNzcgcmVtb3RlLmM6MTkzOCBzZXF1ZW5jZXIuYzoyMDMwCisjOiBzZXF1ZW5jZXIuYzo0MjI0IGJ1aWx0aW4vY29tbWl0LmM6MTAxNyBidWlsdGluL2xvZy5jOjM4MiBidWlsdGluL2xvZy5jOjk0MAorIzogYnVpbHRpbi9sb2cuYzoxNDI4IGJ1aWx0aW4vbG9nLmM6MTgwNCBidWlsdGluL2xvZy5jOjIwOTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0MTUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTQwIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE1NQogIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE5MgogbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgogbXNnc3RyICLRgdCx0L7QuSDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjQuCDQv9GA0L7RhdC+0LTQsCDQv9C+INGA0LXQtNCw0LrRhtC40Y/QvCIKIAotIzogYmxhbWUuYzoxODQ4CisjOiBibGFtZS5jOjE4NTYKIG1zZ2lkICIiCiAiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIgogbXNnc3RyICLQv9GA0Lgg0YPQutCw0LfQsNC90LjQuCAtLXJldmVyc2Ug0LggLS1maXJzdC1wYXJlbnQg0LLQvNC10YHRgtC1LCDRgtGA0LXQsdGD0LXRgtGB0Y8g0YLQsNC60LbQtSDRg9C60LDQt9Cw0YLRjCDQtNC40LDQv9Cw0LfQvtC9INC/0L4g0YbQtdC/0L7Rh9C60LUg0L/QtdGA0LLQvtCz0L4g0YDQvtC00LjRgtC10LvRjyIKIAotIzogYmxhbWUuYzoxODU5CisjOiBibGFtZS5jOjE4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBwYXRoICVzIGluICVzIgogbXNnc3RyICLQvdC10YIg0YLQsNC60L7Qs9C+INC/0YPRgtC4ICVzINCyICVzIgogCi0jOiBibGFtZS5jOjE4NzAKKyM6IGJsYW1lLmM6MTg3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgogbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQv9GA0L7Rh9C40YLQsNGC0Ywg0L7QsdGK0LXQutGCICVzINC00LvRjyDQv9GD0YLQuCAlcyIKIAotIzogYnJhbmNoLmM6NTQKKyM6IGJyYW5jaC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTEwNDYsODYgKzEwODAsODYgQEAKICJcImdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG89JXMlcyVzXCIuIgogbXNnc3RyICJcbtCf0L7RgdC70LUg0LjRgdC/0YDQsNCy0LvQtdC90LjRjyDQv9GA0LjRh9C40L3RiyDQvtGI0LjQsdC60LgsXG7QstGLINC80L7QttC10YLQtSDQuNGB0L/RgNCw0LLQuNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L7QsSDQvtGC0YHQu9C10LbQuNCy0LDQtdC80L7QuVxu0LLQvdC10YjQvdC10Lkg0LLQtdGC0LrQtSwg0YEg0L/QvtC80L7RidGM0Y4g0LrQvtC80LDQvdC00YtcbsKrZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10bz0lcyVzJXPCuy4iCiAKLSM6IGJyYW5jaC5jOjY4CisjOiBicmFuY2guYzo2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3Qgc2V0dGluZyBicmFuY2ggJXMgYXMgaXRzIG93biB1cHN0cmVhbS4iCiBtc2dzdHIgItCd0LUg0YPRgdGC0LDQvdCw0LLQu9C40LLQsNGOINCy0LXRgtC60YMgJXMsINGC0LDQuiDRgtCw0Log0L7QvdCwINC/0YDQuNC90LDQtNC70LXQttC40YIg0LLRi9GI0LXRgdGC0L7Rj9GJ0LXQvNGDINGA0LXQv9C+0LfQuNGC0L7RgNC40Y4uIgogCi0jOiBicmFuY2guYzo5NAorIzogYnJhbmNoLmM6OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJyVzJyBmcm9tICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICLQktC10YLQutCwIMKrJXPCuyDQvtGC0YHQu9C10LbQuNCy0LDQtdGCINCy0L3QtdGI0L3RjtGOINCy0LXRgtC60YMgwqslc8K7INC40Lcgwqslc8K7INC/0LXRgNC10LzQtdGJ0LXQvdC40LXQvC4iCiAKLSM6IGJyYW5jaC5jOjk1CisjOiBicmFuY2guYzo5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgcmVtb3RlIGJyYW5jaCAnJXMnIGZyb20gJyVzJy4iCiBtc2dzdHIgItCS0LXRgtC60LAgwqslc8K7INC+0YLRgdC70LXQttC40LLQsNC10YIg0LLQvdC10YjQvdGO0Y4g0LLQtdGC0LrRgyDCqyVzwrsg0LjQtyDCqyVzwrsuIgogCi0jOiBicmFuY2guYzo5OQorIzogYnJhbmNoLmM6OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIGJyYW5jaCAnJXMnIGJ5IHJlYmFzaW5nLiIKIG1zZ3N0ciAi0JLQtdGC0LrQsCDCqyVzwrsg0L7RgtGB0LvQtdC20LjQstCw0LXRgiDQu9C+0LrQsNC70YzQvdGD0Y4g0LLQtdGC0LrRgyDCqyVzwrsg0L/QtdGA0LXQvNC10YnQtdC90LjQtdC8LiIKIAotIzogYnJhbmNoLmM6MTAwCisjOiBicmFuY2guYzo5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgYnJhbmNoICclcycuIgogbXNnc3RyICLQktC10YLQutCwIMKrJXPCuyDQvtGC0YHQu9C10LbQuNCy0LDQtdGCINC70L7QutCw0LvRjNC90YPRjiDQstC10YLQutGDIMKrJXPCuy4iCiAKLSM6IGJyYW5jaC5jOjEwNQorIzogYnJhbmNoLmM6MTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgcmVmICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICLQktC10YLQutCwIMKrJXPCuyDQvtGC0YHQu9C10LbQuNCy0LDQtdGCINCy0L3QtdGI0L3RjtGOINGB0YHRi9C70LrRgyDCqyVzwrsg0L/QtdGA0LXQvNC10YnQtdC90LjQtdC8LiIKIAotIzogYnJhbmNoLmM6MTA2CisjOiBicmFuY2guYzoxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSByZWYgJyVzJy4iCiBtc2dzdHIgItCS0LXRgtC60LAgwqslc8K7INC+0YLRgdC70LXQttC40LLQsNC10YIg0LLQvdC10YjQvdGO0Y4g0YHRgdGL0LvQutGDIMKrJXPCuy4iCiAKLSM6IGJyYW5jaC5jOjExMAorIzogYnJhbmNoLmM6MTA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayBsb2NhbCByZWYgJyVzJyBieSByZWJhc2luZy4iCiBtc2dzdHIgItCS0LXRgtC60LAgwqslc8K7INC+0YLRgdC70LXQttC40LLQsNC10YIg0LvQvtC60LDQu9GM0L3Rg9GOINGB0YHRi9C70LrRgyDCqyVzwrsg0L/QtdGA0LXQvNC10YnQtdC90LjQtdC8LiIKIAotIzogYnJhbmNoLmM6MTExCisjOiBicmFuY2guYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIHJlZiAnJXMnLiIKIG1zZ3N0ciAi0JLQtdGC0LrQsCDCqyVzwrsg0L7RgtGB0LvQtdC20LjQstCw0LXRgiDQu9C+0LrQsNC70YzQvdGD0Y4g0YHRgdGL0LvQutGDIMKrJXPCuy4iCiAKLSM6IGJyYW5jaC5jOjEyMAorIzogYnJhbmNoLmM6MTE5CiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHVwc3RyZWFtIGJyYW5jaCBjb25maWd1cmF0aW9uIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0L3QsNGB0YLRgNC+0LnQutC4INCy0YvRiNC10YHRgtC+0Y/RidC10Lkg0LLQtdGC0LrQuCIKIAotIzogYnJhbmNoLmM6MTU3CisjOiBicmFuY2guYzoxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IHRyYWNraW5nOiBhbWJpZ3VvdXMgaW5mb3JtYXRpb24gZm9yIHJlZiAlcyIKIG1zZ3N0ciAi0J3QtSDQvtGC0YHQu9C10LbQuNCy0LDQtdGC0YHRjzog0L3QtdC+0LTQvdC+0LfQvdCw0YfQvdCw0Y8g0LjQvdGE0L7RgNC80LDRhtC40Y8g0LTQu9GPINGB0YHRi9C70LrQuCAlcyIKIAotIzogYnJhbmNoLmM6MTkwCisjOiBicmFuY2guYzoxODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCBicmFuY2ggbmFtZS4iCiBtc2dzdHIgIsKrJXPCuyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQvCDQuNC80LXQvdC10Lwg0LLQtdGC0LrQuC4iCiAKLSM6IGJyYW5jaC5jOjIwOQorIzogYnJhbmNoLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkEgYnJhbmNoIG5hbWVkICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICLQktC10YLQutCwINGBINC40LzQtdC90LXQvCDCqyVzwrsg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCLiIKIAotIzogYnJhbmNoLmM6MjE0CisjOiBicmFuY2guYzoyMTMKIG1zZ2lkICJDYW5ub3QgZm9yY2UgdXBkYXRlIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L4g0L7QsdC90L7QstC40YLRjCDRgtC10LrRg9GJ0YPRjiDQstC10YLQutGDLiIKIAotIzogYnJhbmNoLmM6MjM0CisjOiBicmFuY2guYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBzZXR1cCB0cmFja2luZyBpbmZvcm1hdGlvbjsgc3RhcnRpbmcgcG9pbnQgJyVzJyBpcyBub3QgYSBicmFuY2guIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC90LDRgdGC0YDQvtC40YLRjCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQvtGC0YHQu9C10LbQuNCy0LDQvdC40Y87INGB0YLQsNGA0YLQvtCy0LDRjyDRgtC+0YfQutCwIMKrJXPCuyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LLQtdGC0LrQvtC5LiIKIAotIzogYnJhbmNoLmM6MjM2CisjOiBicmFuY2guYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHJlcXVlc3RlZCB1cHN0cmVhbSBicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi0LfQsNC/0YDQvtGI0LXQvdC90LDRjyDQstC10YLQutCwINCy0YvRiNC10YHRgtC+0Y/RidC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPIMKrJXPCuyDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCIgogCi0jOiBicmFuY2guYzoyMzgKKyM6IGJyYW5jaC5jOjIzNwogbXNnaWQgIiIKICJcbiIKICJJZiB5b3UgYXJlIHBsYW5uaW5nIG9uIGJhc2luZyB5b3VyIHdvcmsgb24gYW4gdXBzdHJlYW1cbiIKQEAgLTExNTIsMTIgKzExODYsMTIgQEAKIG1zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgogbXNnc3RyICLQndC10LTQvtC/0YPRgdGC0LjQvNCw0Y8g0YLQvtGH0LrQsCDQstC10YLQutC4OiDCqyVzwrsuIgogCi0jOiBicmFuY2guYzozNjAKKyM6IGJyYW5jaC5jOjM1OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiwqslc8K7INGD0LbQtSDQvdCw0YXQvtC00LjRgtGB0Y8g0L3QsCDCqyVzwrsiCiAKLSM6IGJyYW5jaC5jOjM4MworIzogYnJhbmNoLmM6MzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgb2Ygd29ya2luZyB0cmVlICVzIGlzIG5vdCB1cGRhdGVkIgogbXNnc3RyICJIRUFEINGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCAlcyDQvdC1INC+0LHQvdC+0LLQu9GR0L0iCkBAIC0xMTcyLDE2ICsxMjA2LDE3IEBACiBtc2dpZCAidW5yZWNvZ25pemVkIGhlYWRlcjogJXMlcyAoJWQpIgogbXNnc3RyICLQvdC10L7Qv9C+0LfQvdCw0L3QvdGL0Lkg0LfQsNCz0L7Qu9C+0LLQvtC6OiAlcyVzICglZCkiCiAKLSM6IGJ1bmRsZS5jOjkwIHNlcXVlbmNlci5jOjIwOTIgc2VxdWVuY2VyLmM6MjU3OCBidWlsdGluL2NvbW1pdC5jOjc2OAorIzogYnVuZGxlLmM6OTAgcmVyZXJlLmM6NDgwIHJlcmVyZS5jOjY5MCBzZXF1ZW5jZXIuYzoyMjgxIHNlcXVlbmNlci5jOjI5MTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Nzg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywgwqslc8K7IgogCi0jOiBidW5kbGUuYzoxNDEKKyM6IGJ1bmRsZS5jOjE0MwogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgdGhlc2UgcHJlcmVxdWlzaXRlIGNvbW1pdHM6IgogbXNnc3RyICLQkiDRgNC10L/QvtC30LjRgtC+0YDQuNC4INC+0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L3QtdC+0LHRhdC+0LTQuNC80YvQtSDQutC+0LzQvNC40YLRizoiCiAKLSM6IGJ1bmRsZS5jOjE5MgorIzogYnVuZGxlLmM6MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBidW5kbGUgY29udGFpbnMgdGhpcyByZWY6IgogbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoZXNlICVkIHJlZnM6IgpAQCAtMTE5MCwxMSArMTIyNSwxMSBAQAogbXNnc3RyWzJdICLQn9Cw0LrQtdGCINGB0L7QtNC10YDQttC40YIg0Y3RgtC4ICVkINGB0YHRi9C70L7QujoiCiBtc2dzdHJbM10gItCf0LDQutC10YIg0YHQvtC00LXRgNC20LjRgiDRjdGC0LggJWQg0YHRgdGL0LvQvtC6OiIKIAotIzogYnVuZGxlLmM6MTk5CisjOiBidW5kbGUuYzoyMDEKIG1zZ2lkICJUaGUgYnVuZGxlIHJlY29yZHMgYSBjb21wbGV0ZSBoaXN0b3J5LiIKIG1zZ3N0ciAi0J/QsNC60LXRgiDRgdC+0LTQtdGA0LbQuNGCINC/0L7Qu9C90YPRjiDQuNGB0YLQvtGA0LjRji4iCiAKLSM6IGJ1bmRsZS5jOjIwMQorIzogYnVuZGxlLmM6MjAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhpcyByZWY6IgogbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoZXNlICVkIHJlZnM6IgpAQCAtMTIwMywzOCArMTIzOCw0MiBAQAogbXNnc3RyWzJdICLQn9Cw0LrQtdGCINGC0YDQtdCx0YPQtdGCINGN0YLQuCAlZCDRgdGB0YvQu9C+0Lo6IgogbXNnc3RyWzNdICLQn9Cw0LrQtdGCINGC0YDQtdCx0YPQtdGCINGN0YLQuCAlZCDRgdGB0YvQu9C+0Lo6IgogCi0jOiBidW5kbGUuYzoyNjAKKyM6IGJ1bmRsZS5jOjI2OQorbXNnaWQgInVuYWJsZSB0byBkdXAgYnVuZGxlIGRlc2NyaXB0b3IiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LTRg9Cx0LvQuNGA0L7QstCw0YLRjCDQtNC10YHQutGA0LjQv9GC0L7RgCDQv9Cw0LrQtdGC0LAiCisKKyM6IGJ1bmRsZS5jOjI3NgogbXNnaWQgIkNvdWxkIG5vdCBzcGF3biBwYWNrLW9iamVjdHMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0L7QsdGK0LXQutGC0Ysg0L/QsNC60LXRgtCwIgogCi0jOiBidW5kbGUuYzoyNzEKKyM6IGJ1bmRsZS5jOjI4NwogbXNnaWQgInBhY2stb2JqZWN0cyBkaWVkIgogbXNnc3RyICLQutGA0LjRgtC40YfQtdGB0LrQsNGPINC+0YjQuNCx0LrQsCBwYWNrLW9iamVjdHMiCiAKLSM6IGJ1bmRsZS5jOjMxMworIzogYnVuZGxlLmM6MzI5CiBtc2dpZCAicmV2LWxpc3QgZGllZCIKIG1zZ3N0ciAi0LrRgNC40YLQuNGH0LXRgdC60LDRjyDQvtGI0LjQsdC60LAgcmV2LWxpc3QiCiAKLSM6IGJ1bmRsZS5jOjM2MgorIzogYnVuZGxlLmM6Mzc4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZiAnJXMnIGlzIGV4Y2x1ZGVkIGJ5IHRoZSByZXYtbGlzdCBvcHRpb25zIgogbXNnc3RyICLRgdGB0YvQu9C60LAgwqslc8K7INC40YHQutC70Y7Rh9C10L3QsCDQsiDRgdC+0L7RgtCy0LXRgtGB0YLQstC40Lgg0YEg0L7Qv9GG0LjRj9C80LggcmV2LWxpc3QiCiAKLSM6IGJ1bmRsZS5jOjQ1MyBidWlsdGluL2xvZy5jOjE4NyBidWlsdGluL2xvZy5jOjE2MTggYnVpbHRpbi9zaG9ydGxvZy5jOjMwNAorIzogYnVuZGxlLmM6NDU3IGJ1aWx0aW4vbG9nLmM6MTk3IGJ1aWx0aW4vbG9nLmM6MTcwOSBidWlsdGluL3Nob3J0bG9nLmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgItC90LXQvtC/0L7Qt9C90LDQvdC90YvQuSDQsNGA0LPRg9C80LXQvdGCOiAlcyIKIAotIzogYnVuZGxlLmM6NDYxCisjOiBidW5kbGUuYzo0NjUKIG1zZ2lkICJSZWZ1c2luZyB0byBjcmVhdGUgZW1wdHkgYnVuZGxlLiIKIG1zZ3N0ciAi0J7RgtC60LvQvtC90LXQvdC40LUg0YHQvtC30LTQsNC90LjRjyDQv9GD0YHRgtC+0LPQviDQv9Cw0LrQtdGC0LAuIgogCi0jOiBidW5kbGUuYzo0NzMKKyM6IGJ1bmRsZS5jOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywgwqslc8K7IgogCi0jOiBidW5kbGUuYzo1MDEKKyM6IGJ1bmRsZS5jOjUwMAogbXNnaWQgImluZGV4LXBhY2sgZGllZCIKIG1zZ3N0ciAi0LrRgNC40YLQuNGH0LXRgdC60LDRjyDQvtGI0LjQsdC60LAgaW5kZXgtcGFjayIKIApAQCAtMTI0MywxOSArMTI4MiwxOCBAQAogbXNnaWQgImludmFsaWQgY29sb3IgdmFsdWU6ICUuKnMiCiBtc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80L7QtSDQt9C90LDRh9C10L3QuNC1INGG0LLQtdGC0LA6ICUuKnMiCiAKLSM6IGNvbW1pdC5jOjQ4IHNlcXVlbmNlci5jOjIzODQgYnVpbHRpbi9hbS5jOjQyMiBidWlsdGluL2FtLmM6NDY2Ci0jOiBidWlsdGluL2FtLmM6MTQzOCBidWlsdGluL2FtLmM6MjA3MiBidWlsdGluL3JlcGxhY2UuYzozNzYKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0OAorIzogY29tbWl0LmM6NTAgc2VxdWVuY2VyLmM6MjY5NyBidWlsdGluL2FtLmM6MzU1IGJ1aWx0aW4vYW0uYzozOTkKKyM6IGJ1aWx0aW4vYW0uYzoxMzc3IGJ1aWx0aW4vYW0uYzoyMDIyIGJ1aWx0aW4vcmVwbGFjZS5jOjQ1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMICVzIgogCi0jOiBjb21taXQuYzo1MAorIzogY29tbWl0LmM6NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiJXMgJXMg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC60L7QvNC80LjRgtC+0LwhIgogCi0jOiBjb21taXQuYzoxOTEKKyM6IGNvbW1pdC5jOjE5MwogbXNnaWQgIiIKICJTdXBwb3J0IGZvciA8R0lUX0RJUj4vaW5mby9ncmFmdHMgaXMgZGVwcmVjYXRlZFxuIgogImFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgR2l0IHZlcnNpb24uXG4iCkBAIC0xMjY3LDgyICsxMzA1LDIyOCBAQAogIlwiZ2l0IGNvbmZpZyBhZHZpY2UuZ3JhZnRGaWxlRGVwcmVjYXRlZCBmYWxzZVwiIgogbXNnc3RyICLQn9C+0LTQtNC10YDQttC60LAgPEdJVF9ESVI+L2luZm8vZ3JhZnRzINGD0YHRgtCw0YDQtdC70LAg0Lgg0LHRg9C00LXRgiDRg9C00LDQu9C10L3QsCDQsiDRgdC70LXQtNGD0Y7RidC40YUg0LLQtdGA0YHQuNGP0YUgR2l0LlxuXG7QmNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHJlcGxhY2UgLS1jb252ZXJ0LWdyYWZ0LWZpbGXCuyDQtNC70Y8gINC60L7QvdCy0LXRgNGC0LDRhtC40Lgg0YHRgNCw0YnQtdC90LjQuSAoZ3JhZnRzKSDQvdCwINGB0YHRi9C70LrQuCDQt9Cw0LzQtdC90YsuXG5cbtCn0YLQvtCx0Ysg0YHQutGA0YvRgtGMINGN0YLQviDRgdC+0L7QsdGJ0LXQvdC40LUg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IGNvbmZpZyBhZHZpY2UuZ3JhZnRGaWxlRGVwcmVjYXRlZCBmYWxzZcK7IgogCi0jOiBjb21taXQuYzoxNjI5CisjOiBjb21taXQuYzoxMTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbW1pdCAlcyBoYXMgYW4gdW50cnVzdGVkIEdQRyBzaWduYXR1cmUsIGFsbGVnZWRseSBieSAlcy4iCittc2dzdHIgItCa0L7QvNC80LjRgiAlcyDRgdC+0LTQtdGA0LbQuNGCINC90LUg0LTQvtCy0LXRgNC10L3QvdGD0Y4gR1BHINC/0L7QtNC/0LjRgdGMLCDQv9GA0LXQtNC/0L7Qu9C+0LbQuNGC0LXQu9GM0L3QviDQvtGCICVzLiIKKworIzogY29tbWl0LmM6MTEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJDb21taXQgJXMgaGFzIGEgYmFkIEdQRyBzaWduYXR1cmUgYWxsZWdlZGx5IGJ5ICVzLiIKK21zZ3N0ciAi0JrQvtC80LzQuNGCICVzINGB0L7QtNC10YDQttC40YIg0L/Qu9C+0YXRg9GOIEdQRyDQv9C+0LTQv9C40YHRjCwg0L/RgNC10LTQv9C+0LvQvtC20LjRgtC10LvRjNC90L4g0L7RgiAlcy4iCisKKyM6IGNvbW1pdC5jOjExMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29tbWl0ICVzIGRvZXMgbm90IGhhdmUgYSBHUEcgc2lnbmF0dXJlLiIKK21zZ3N0ciAi0JrQvtC80LzQuNGCICVzINC90LUg0YHQvtC00LXRgNC20LjRgiBHUEcg0L/QvtC00L/QuNGB0YwuIgorCisjOiBjb21taXQuYzoxMTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBnb29kIEdQRyBzaWduYXR1cmUgYnkgJXNcbiIKK21zZ3N0ciAi0JrQvtC80LzQuNGCICVzINGB0L7QtNC10YDQttC40YIg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YPRjiBHUEcg0L/QvtC00L/QuNGB0YwsINC+0YIgJXMuXG4iCisKKyM6IGNvbW1pdC5jOjEzOTEKIG1zZ2lkICIiCiAiV2FybmluZzogY29tbWl0IG1lc3NhZ2UgZGlkIG5vdCBjb25mb3JtIHRvIFVURi04LlxuIgogIllvdSBtYXkgd2FudCB0byBhbWVuZCBpdCBhZnRlciBmaXhpbmcgdGhlIG1lc3NhZ2UsIG9yIHNldCB0aGUgY29uZmlnXG4iCiAidmFyaWFibGUgaTE4bi5jb21taXRlbmNvZGluZyB0byB0aGUgZW5jb2RpbmcgeW91ciBwcm9qZWN0IHVzZXMuXG4iCiBtc2dzdHIgItCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INGB0L7QvtCx0YnQtdC90LjQtSDQutC+0LzQvNC40YLQsCDQvdC1INGB0L7QvtGC0LLQtdGC0YHRgtCy0YPQtdGCIFVURi04Llxu0JLQvtC30LzQvtC20L3Qviwg0LLRiyDQt9Cw0YXQvtGC0LjRgtC1INC40YHQv9GA0LDQstC40YLRjCDQtdCz0L4g0L/QvtGB0LvQtSDQuNGB0L/RgNCw0LLQu9C10L3QuNGPINGB0L7QvtCx0YnQtdC90LjRj1xu0LjQu9C4INC90LDRgdGC0YDQvtC40YLRjCDQvtC/0YbQuNGOIGkxOG4uY29tbWl0ZW5jb2Rpbmcg0Lgg0YPQutCw0LfQsNGC0Ywg0LrQvtC00LjRgNC+0LLQutGDXG7RgdC+0L7QsdGJ0LXQvdC40LksINC60L7RgtC+0YDRg9GOINC40YHQv9C+0LvRjNC30YPQtdGCINCy0LDRiCDQv9GA0L7QtdC60YIuXG4iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjgzCi0jLCBjLWZvcm1hdAotbXNnaWQgImdyYXBoIGZpbGUgJXMgaXMgdG9vIHNtYWxsIgotbXNnc3RyICIiCisjOiBjb21taXQtZ3JhcGguYzoxMDUKK21zZ2lkICJjb21taXQtZ3JhcGggZmlsZSBpcyB0b28gc21hbGwiCittc2dzdHIgItGE0LDQudC7IGNvbW1pdC1ncmFwaCDRgdC70LjRiNC60L7QvCDQvNCw0LvQtdC90YzQutC40LkiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjkwCisjOiBjb21taXQtZ3JhcGguYzoxNzAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZ3JhcGggc2lnbmF0dXJlICVYIGRvZXMgbm90IG1hdGNoIHNpZ25hdHVyZSAlWCIKLW1zZ3N0ciAiIgorbXNnaWQgImNvbW1pdC1ncmFwaCBzaWduYXR1cmUgJVggZG9lcyBub3QgbWF0Y2ggc2lnbmF0dXJlICVYIgorbXNnc3RyICLQv9C+0LTQv9C40YHRjCBjb21taXQtZ3JhcGgg0YTQsNC50LvQsCAlWCDQvdC1INGB0L7QvtGC0LLQtdGB0YLQstGD0LXRgiDQv9C+0LTQv9C40YHQuCAlWCIKIAotIzogY29tbWl0LWdyYXBoLmM6OTcKKyM6IGNvbW1pdC1ncmFwaC5jOjE3NwogIywgYy1mb3JtYXQKLW1zZ2lkICJncmFwaCB2ZXJzaW9uICVYIGRvZXMgbm90IG1hdGNoIHZlcnNpb24gJVgiCi1tc2dzdHIgIiIKK21zZ2lkICJjb21taXQtZ3JhcGggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIgorbXNnc3RyICLQstC10YDRgdC40Y8gY29tbWl0LWdyYXBoINGE0LDQudC70LAgJVgg0L3QtSDRgdC+0L7RgtCy0LXRgdGC0LLRg9C10YIg0LLQtdGA0YHQuNC4ICVYIgogCi0jOiBjb21taXQtZ3JhcGguYzoxMDQKKyM6IGNvbW1pdC1ncmFwaC5jOjE4NAogIywgYy1mb3JtYXQKLW1zZ2lkICJoYXNoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKLW1zZ3N0ciAiIgorbXNnaWQgImNvbW1pdC1ncmFwaCBoYXNoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKK21zZ3N0ciAi0LLQtdGA0YHQuNGPINGF0LXRiC3RgdGD0LzQvNGLIGNvbW1pdC1ncmFwaCDRhNCw0LnQu9CwICVYINC90LUg0YHQvtC+0YLQstC10YLRgdGC0LLRg9C10YIg0LLQtdGA0YHQuNC4ICVYIgogCi0jOiBjb21taXQtZ3JhcGguYzoxMjgKKyM6IGNvbW1pdC1ncmFwaC5jOjIwNworbXNnaWQgImNvbW1pdC1ncmFwaCBjaHVuayBsb29rdXAgdGFibGUgZW50cnkgbWlzc2luZzsgZmlsZSBtYXkgYmUgaW5jb21wbGV0ZSIKK21zZ3N0ciAi0L3QtSDQvdCw0LnQtNC10L3QsCDRgtCw0LHQu9C40YbQsCDRgNCw0YHQv9C+0LvQvtC20LXQvdC40Y8g0YfQsNGB0YLQtdC5INCyINGE0LDQudC70LUgY29tbWl0LWdyYXBoOyDQstC+0LfQvNC+0LbQvdC+INGE0LDQudC7INC/0L7QstGA0LXQttC00ZHQvSIKKworIzogY29tbWl0LWdyYXBoLmM6MjE4CiAjLCBjLWZvcm1hdAotbXNnaWQgImltcHJvcGVyIGNodW5rIG9mZnNldCAlMDh4JTA4eCIKLW1zZ3N0ciAiIgorbXNnaWQgImNvbW1pdC1ncmFwaCBpbXByb3BlciBjaHVuayBvZmZzZXQgJTA4eCUwOHgiCittc2dzdHIgItC90LXQutC+0YDRgNC10LrRgtC90L7QtSDRgdC80LXRidC10L3QuNC1INGH0LDRgdGC0Lgg0LIgY29tbWl0LWdyYXBoINGE0LDQudC70LUgJTA4eCUwOHgiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjE2NAorIzogY29tbWl0LWdyYXBoLmM6MjU1CiAjLCBjLWZvcm1hdAotbXNnaWQgImNodW5rIGlkICUwOHggYXBwZWFycyBtdWx0aXBsZSB0aW1lcyIKLW1zZ3N0ciAiIgorbXNnaWQgImNvbW1pdC1ncmFwaCBjaHVuayBpZCAlMDh4IGFwcGVhcnMgbXVsdGlwbGUgdGltZXMiCittc2dzdHIgItGH0LDRgdGC0Ywg0YTQsNC50LvQsCBjb21taXQtZ3JhcGgg0YEg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQvtC8ICUwOHgg0L/QvtGP0LLQu9GP0LXRgtGB0Y8g0L3QtdGB0LrQvtC70YzQutC+INGA0LDQtyIKIAotIzogY29tbWl0LWdyYXBoLmM6MjYxCisjOiBjb21taXQtZ3JhcGguYzozOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGZpbmQgY29tbWl0ICVzIgotbXNnc3RyICIiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDQutC+0LzQvNC40YIgJXMiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjU2NSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1NzEKKyM6IGNvbW1pdC1ncmFwaC5jOjczMiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdldCB0eXBlIG9mIG9iamVjdCAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0YLQuNC/INC+0LHRitC10LrRgtCwICVzIgogCi0jOiBjb21taXQtZ3JhcGguYzo3MzAKKyM6IGNvbW1pdC1ncmFwaC5jOjc2NQorbXNnaWQgIkxvYWRpbmcga25vd24gY29tbWl0cyBpbiBjb21taXQgZ3JhcGgiCittc2dzdHIgItCX0LDQs9GA0YPQt9C60LAg0LjQt9Cy0LXRgdGC0L3Ri9GFINC60L7QvNC80LjRgtC+0LIg0L3QsCDQs9GA0LDRhCDQutC+0LzQvNC40YLQvtCyIgorCisjOiBjb21taXQtZ3JhcGguYzo3ODEKK21zZ2lkICJFeHBhbmRpbmcgcmVhY2hhYmxlIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICLQoNCw0YHRiNC40YDQtdC90LjQtSDQtNC+0YHRgtC40LbQuNC80YvRhSDQutC+0LzQvNC40YLQvtCyINC90LAg0LPRgNCw0YQg0LrQvtC80LzQuNGC0L7QsiIKKworIzogY29tbWl0LWdyYXBoLmM6NzkzCittc2dpZCAiQ2xlYXJpbmcgY29tbWl0IG1hcmtzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAi0J7Rh9C40YHRgtC60LAg0L/QvtC80LXRgtC+0Log0LrQvtC80LzQuNGC0L7QsiDQvdCwINCz0YDQsNGE0LUg0LrQvtC80LzQuNGC0L7QsiIKKworIzogY29tbWl0LWdyYXBoLmM6ODEzCittc2dpZCAiQ29tcHV0aW5nIGNvbW1pdCBncmFwaCBnZW5lcmF0aW9uIG51bWJlcnMiCittc2dzdHIgItCS0YvRh9C40YHQu9C10L3QuNC1INC90L7QvNC10YDQvtCyINC/0L7QutC+0LvQtdC90LjQuSDQvdCwINCz0YDQsNGE0LUg0LrQvtC80LzQuNGC0L7QsiIKKworIzogY29tbWl0LWdyYXBoLmM6OTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGluICVkIHBhY2siCittc2dpZF9wbHVyYWwgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGluICVkIHBhY2tzIgorbXNnc3RyWzBdICLQn9C+0LjRgdC6INC60L7QvNC80LjRgtC+0LIg0LTQu9GPINCz0YDQsNGE0LAg0LrQvtC80LzQuNGC0L7QsiDQsiAlZCDQv9Cw0LrQtdGC0LUiCittc2dzdHJbMV0gItCf0L7QuNGB0Log0LrQvtC80LzQuNGC0L7QsiDQtNC70Y8g0LPRgNCw0YTQsCDQutC+0LzQvNC40YLQvtCyINCyICVkINC/0LDQutC10YLQsNGFIgorbXNnc3RyWzJdICLQn9C+0LjRgdC6INC60L7QvNC80LjRgtC+0LIg0LTQu9GPINCz0YDQsNGE0LAg0LrQvtC80LzQuNGC0L7QsiDQsiAlZCDQv9Cw0LrQtdGC0LDRhSIKK21zZ3N0clszXSAi0J/QvtC40YHQuiDQutC+0LzQvNC40YLQvtCyINC00LvRjyDQs9GA0LDRhNCwINC60L7QvNC80LjRgtC+0LIg0LIgJWQg0L/QsNC60LXRgtCw0YUiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjk0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBhZGRpbmcgcGFjayAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0LTQvtCx0LDQstC70LXQvdC40Y8g0L/QsNC60LXRgtCwICVzIgogCi0jOiBjb21taXQtZ3JhcGguYzo3MzIKKyM6IGNvbW1pdC1ncmFwaC5jOjk0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBvcGVuaW5nIGluZGV4IGZvciAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0L7RgtC60YDRi9GC0LjRjyDQuNC90LTQtdC60YHQsCDQtNC70Y8gJXMiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjc3MworIzogY29tbWl0LWdyYXBoLmM6OTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGZyb20gJWQgcmVmIgorbXNnaWRfcGx1cmFsICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBmcm9tICVkIHJlZnMiCittc2dzdHJbMF0gItCf0L7QuNGB0Log0LrQvtC80LzQuNGC0L7QsiDQtNC70Y8g0LPRgNCw0YTQsCDQutC+0LzQvNC40YLQvtCyINC/0L4gJWQg0YHRgdGL0LvQutC1IgorbXNnc3RyWzFdICLQn9C+0LjRgdC6INC60L7QvNC80LjRgtC+0LIg0LTQu9GPINCz0YDQsNGE0LAg0LrQvtC80LzQuNGC0L7QsiDQv9C+ICVkINGB0YHRi9C70LrQsNC8IgorbXNnc3RyWzJdICLQn9C+0LjRgdC6INC60L7QvNC80LjRgtC+0LIg0LTQu9GPINCz0YDQsNGE0LAg0LrQvtC80LzQuNGC0L7QsiDQv9C+ICVkINGB0YHRi9C70LrQsNC8IgorbXNnc3RyWzNdICLQn9C+0LjRgdC6INC60L7QvNC80LjRgtC+0LIg0LTQu9GPINCz0YDQsNGE0LAg0LrQvtC80LzQuNGC0L7QsiDQv9C+ICVkINGB0YHRi9C70LrQsNC8IgorCisjOiBjb21taXQtZ3JhcGguYzo5OTEKK21zZ2lkICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBhbW9uZyBwYWNrZWQgb2JqZWN0cyIKK21zZ3N0ciAi0J/QvtC40YHQuiDQutC+0LzQvNC40YLQvtCyINC00LvRjyDQs9GA0LDRhNCwINC60L7QvNC80LjRgtC+0LIg0YHRgNC10LTQuCDRg9C/0LDQutC+0LLQsNC90L3Ri9GFINC+0LHRitC10LrRgtC+0LIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEwMDQKK21zZ2lkICJDb3VudGluZyBkaXN0aW5jdCBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAi0JLRi9GH0LjRgdC70LXQvdC40LUg0LrQvtC70LjRh9C10YHRgtCy0LAg0L7RgtC00LXQu9GM0L3Ri9GFINC60L7QvNC80LjRgtC+0LIg0L3QsCDQs9GA0LDRhNC1INC60L7QvNC80LjRgtC+0LIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEwMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIGNvbW1pdCBncmFwaCBmb3JtYXQgY2Fubm90IHdyaXRlICVkIGNvbW1pdHMiCiBtc2dzdHIgItC/0YDQvtCz0YDQsNC80LzQtSDRhNC+0YDQvNCw0YLQuNGA0L7QstCw0L3QuNGPINCz0YDQsNGE0LAg0LrQvtC80LzQuNGC0L7QsiDQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0YwgJWQg0LrQvtC80LzQuNGC0L7QsiIKIAotIzogY29tbWl0LWdyYXBoLmM6ODAwCisjOiBjb21taXQtZ3JhcGguYzoxMDI2Cittc2dpZCAiRmluZGluZyBleHRyYSBlZGdlcyBpbiBjb21taXQgZ3JhcGgiCittc2dzdHIgItCf0L7QuNGB0Log0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvRhSDRgNC10LHQtdGAINC90LAg0LPRgNCw0YTQtSDQutC+0LzQvNC40YLQvtCyIgorCisjOiBjb21taXQtZ3JhcGguYzoxMDUwCiBtc2dpZCAidG9vIG1hbnkgY29tbWl0cyB0byB3cml0ZSBncmFwaCIKIG1zZ3N0ciAi0YHQu9C40YjQutC+0Lwg0LzQvdC+0LPQviDQutC+0LzQvNC40YLQvtCyINC00LvRjyDQt9Cw0L/QuNGB0Lgg0LPRgNCw0YTQsCIKIAotIzogY29tbWl0LWdyYXBoLmM6ODA2CisjOiBjb21taXQtZ3JhcGguYzoxMDU3IG1pZHguYzo4MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINGA0L7QtNC40YLQtdC70YzRgdC60LjQtSDQutCw0YLQsNC70L7Qs9C4INC00LvRjyAlcyIKIAotIzogY29tbWl0LWdyYXBoLmM6OTA0Ci1tc2dpZCAidGhlIGNvbW1pdC1ncmFwaCBmaWxlIGhhcyBpbmNvcnJlY3QgY2hlY2tzdW0gYW5kIGlzIGxpa2VseSBjb3JydXB0IgotbXNnc3RyICIiCisjOiBjb21taXQtZ3JhcGguYzoxMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRpbmcgb3V0IGNvbW1pdCBncmFwaCBpbiAlZCBwYXNzIgorbXNnaWRfcGx1cmFsICJXcml0aW5nIG91dCBjb21taXQgZ3JhcGggaW4gJWQgcGFzc2VzIgorbXNnc3RyWzBdICLQl9Cw0L/QuNGB0Ywg0LPRgNCw0YTQsCDQutC+0LzQvNC40YLQvtCyINCyICVkINC/0YDQvtGF0L7QtCIKK21zZ3N0clsxXSAi0JfQsNC/0LjRgdGMINCz0YDQsNGE0LAg0LrQvtC80LzQuNGC0L7QsiDQsiAlZCDQv9GA0L7RhdC+0LTQsCIKK21zZ3N0clsyXSAi0JfQsNC/0LjRgdGMINCz0YDQsNGE0LAg0LrQvtC80LzQuNGC0L7QsiDQsiAlZCDQv9GA0L7RhdC+0LTQvtCyIgorbXNnc3RyWzNdICLQl9Cw0L/QuNGB0Ywg0LPRgNCw0YTQsCDQutC+0LzQvNC40YLQvtCyINCyICVkINC/0YDQvtGF0L7QtNCwIgogCi0jOiBjb21wYXQvb2JzdGFjay5jOjQwNSBjb21wYXQvb2JzdGFjay5jOjQwNworIzogY29tbWl0LWdyYXBoLmM6MTE2MgorbXNnaWQgInRoZSBjb21taXQtZ3JhcGggZmlsZSBoYXMgaW5jb3JyZWN0IGNoZWNrc3VtIGFuZCBpcyBsaWtlbHkgY29ycnVwdCIKK21zZ3N0ciAi0YTQsNC50LsgY29tbWl0LWdyYXBoINGB0L7QtNC10YDQttC40YIg0L3QtdC/0YDQsNCy0LjQu9GM0L3Rg9GOINC60L7QvdGC0YDQvtC70YzQvdGD0Y4g0YHRg9C80LzRgyDQuCDRgdC60L7RgNC10LUg0LLRgdC10LPQviDQv9C+0LLRgNC10LbQtNC10L0iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjExNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIGhhcyBpbmNvcnJlY3QgT0lEIG9yZGVyOiAlcyB0aGVuICVzIgorbXNnc3RyICLRhNCw0LnQuyBjb21taXQtZ3JhcGgg0YHQvtC00LXRgNC20LjRgiDQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0L/QvtGA0Y/QtNC+0LogT0lEOiAlcywg0LAg0LfQsNGC0LXQvCAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTE4MiBjb21taXQtZ3JhcGguYzoxMTk3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBoYXMgaW5jb3JyZWN0IGZhbm91dCB2YWx1ZTogZmFub3V0WyVkXSA9ICV1ICE9ICV1IgorbXNnc3RyICLRhNCw0LnQuyBjb21taXQtZ3JhcGgg0YHQvtC00LXRgNC20LjRgiDQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSBmYW5vdXQ6IGZhbm91dFslZF0gPSAldSAhPSAldSIKKworIzogY29tbWl0LWdyYXBoLmM6MTE4OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29tbWl0ICVzIGZyb20gY29tbWl0LWdyYXBoIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDQutC+0LzQvNC40YIgJXMg0LjQtyDRhNCw0LnQu9CwIGNvbW1pdC1ncmFwaCIKKworIzogY29tbWl0LWdyYXBoLmM6MTIwNgorbXNnaWQgIlZlcmlmeWluZyBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDQutC+0LzQvNC40YLQvtCyINC90LAg0LPRgNCw0YTQtSDQutC+0LzQvNC40YLQvtCyIgorCisjOiBjb21taXQtZ3JhcGguYzoxMjE5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb21taXQgJXMgZnJvbSBvYmplY3QgZGF0YWJhc2UgZm9yIGNvbW1pdC1ncmFwaCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywg0LrQvtC80LzQuNGCICVzINC40Lcg0LHQsNC30Ysg0L7QsdGK0LXQutGC0L7QsiDRhNCw0LnQu9CwIGNvbW1pdC1ncmFwaCIKKworIzogY29tbWl0LWdyYXBoLmM6MTIyNgorIywgYy1mb3JtYXQKK21zZ2lkICJyb290IHRyZWUgT0lEIGZvciBjb21taXQgJXMgaW4gY29tbWl0LWdyYXBoIGlzICVzICE9ICVzIgorbXNnc3RyICIg0LIg0YTQsNC50LvQtSBjb21taXQtZ3JhcGggT0lEINC60L7RgNC90Y8g0LTQtdGA0LXQstCwINC00LvRjyDQutC+0LzQvNC40YLQsCAlcyDRj9Cy0LvRj9C10YLRgdGPICVzICE9ICVzIgorCisjOiBjb21taXQtZ3JhcGguYzoxMjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBwYXJlbnQgbGlzdCBmb3IgY29tbWl0ICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICLRgdC70LjRiNC60L7QvCDQsdC+0LvRjNGI0L7QuSDRgdC/0LjRgdC+0Log0YDQvtC00LjRgtC10LvQtdC5INGE0LDQudC70LUgY29tbWl0LWdyYXBoINC00LvRjyDQutC+0LzQvNC40YLQsCAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggcGFyZW50IGZvciAlcyBpcyAlcyAhPSAlcyIKK21zZ3N0ciAi0LIg0YTQsNC50LvQtSBjb21taXQtZ3JhcGgg0YDQvtC00LjRgtC10LvRjCDQtNC70Y8gJXMg0Y/QstC70Y/QtdGC0YHRjyAlcyAhPSAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTI1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggcGFyZW50IGxpc3QgZm9yIGNvbW1pdCAlcyB0ZXJtaW5hdGVzIGVhcmx5IgorbXNnc3RyICLQsiDRhNCw0LnQu9C1IGNvbW1pdC1ncmFwaCDRgdC/0LjRgdC+0Log0YDQvtC00LjRgtC10LvQtdC5INC00LvRjyDQutC+0LzQvNC40YLQsCAlcyDQt9Cw0LrQvtC90YfQuNC70YHRjyDRgdC70LjRiNC60L7QvCDRgNCw0L3QviIKKworIzogY29tbWl0LWdyYXBoLmM6MTI2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY29tbWl0LWdyYXBoIGhhcyBnZW5lcmF0aW9uIG51bWJlciB6ZXJvIGZvciBjb21taXQgJXMsIGJ1dCBub24temVybyAiCisiZWxzZXdoZXJlIgorbXNnc3RyICLQsiDRhNCw0LnQu9C1IGNvbW1pdC1ncmFwaCDRgdC+0LTQtdGA0LbQuNGC0YHRjyDQvdGD0LvQtdCy0L7QuSDQvdC+0LzQtdGAINC/0L7QutC+0LvQtdC90LjRjyDQtNC70Y8g0LrQvtC80LzQuNGC0LAgJXMsINC90L4g0L3QtdC90YPQu9C10LLQvtC5INCyINC+0YHRgtCw0LvRjNC90YvRhSDRgdC70YPRh9Cw0Y/RhSIKKworIzogY29tbWl0LWdyYXBoLmM6MTI2NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY29tbWl0LWdyYXBoIGhhcyBub24temVybyBnZW5lcmF0aW9uIG51bWJlciBmb3IgY29tbWl0ICVzLCBidXQgemVybyAiCisiZWxzZXdoZXJlIgorbXNnc3RyICLQsiDRhNCw0LnQu9C1IGNvbW1pdC1ncmFwaCDRgdC+0LTQtdGA0LbQuNGC0YHRjyDQvdC10L3Rg9C70LXQstC+0Lkg0L3QvtC80LXRgCDQv9C+0LrQvtC70LXQvdC40Y8g0LTQu9GPINC60L7QvNC80LjRgtCwICVzLCDQvdC+INC90YPQu9C10LLQvtC5INCyINC+0YHRgtCw0LvRjNC90YvRhSDRgdC70YPRh9Cw0Y/RhSIKKworIzogY29tbWl0LWdyYXBoLmM6MTI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggZ2VuZXJhdGlvbiBmb3IgY29tbWl0ICVzIGlzICV1ICE9ICV1IgorbXNnc3RyICLQsiDRhNCw0LnQu9C1IGNvbW1pdC1ncmFwaCDQvdC+0LzQtdGAINC/0L7QutC+0LvQtdC90LjRjyDQtNC70Y8g0LrQvtC80LzQuNGC0LAgJXMg0Y/QstC70Y/QtdGC0YHRjyAldSAhPSAldSIKKworIzogY29tbWl0LWdyYXBoLmM6MTI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQgZGF0ZSBmb3IgY29tbWl0ICVzIGluIGNvbW1pdC1ncmFwaCBpcyAlPFBSSXVNQVg+ICE9ICU8UFJJdU1BWD4iCittc2dzdHIgItCyINGE0LDQudC70LUgY29tbWl0LWdyYXBoINC00LDRgtCwINC60L7QvNC80LjRgtCwICVzINGP0LLQu9GP0LXRgtGB0Y8gJTxQUkl1TUFYPiAhPSAlPFBSSXVNQVg+IgorCisjOiBjb21wYXQvb2JzdGFjay5jOjQwNiBjb21wYXQvb2JzdGFjay5jOjQwOAogbXNnaWQgIm1lbW9yeSBleGhhdXN0ZWQiCiBtc2dzdHIgItC/0LDQvNGP0YLRjCDQuNGB0YfQtdGA0L/QsNC90LAiCiAKQEAgLTEzNTMsNyArMTUzNyw3IEBACiAiXHQlc1xuIgogImZyb21cbiIKICJcdCVzXG4iCi0iRG8geW91IGhhdmUgY2lyY3VsYXIgaW5jbHVkZXM/IgorIlRoaXMgbWlnaHQgYmUgZHVlIHRvIGNpcmN1bGFyIGluY2x1ZGVzLiIKIG1zZ3N0ciAiIgogCiAjOiBjb25maWcuYzoxMzkKQEAgLTEzNzksNyArMTU2Myw3IEBACiBtc2dpZCAia2V5IGRvZXMgbm90IGNvbnRhaW4gdmFyaWFibGUgbmFtZTogJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6Mzc4IHNlcXVlbmNlci5jOjIyMDYKKyM6IGNvbmZpZy5jOjM3OCBzZXF1ZW5jZXIuYzoyNDU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQga2V5OiAlcyIKIG1zZ3N0ciAi0L3QtdC00LXQudGB0YLQstC40YLQtdC70YzQvdGL0Lkg0LrQu9GO0Yc6ICVzIgpAQCAtMTUwMSwxNDkgKzE2ODUsMTQ5IEBACiBtc2dpZCAiaW52YWxpZCBtb2RlIGZvciBvYmplY3QgY3JlYXRpb246ICVzIgogbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0YDQtdC20LjQvCDRgdC+0LfQtNCw0L3QuNGPINC+0LHRitC10LrRgtCwOiAlcyIKIAotIzogY29uZmlnLmM6MTQwMworIzogY29uZmlnLmM6MTM5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgdmFsdWUgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjE0MjkKKyM6IGNvbmZpZy5jOjE0MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MTQzMAorIzogY29uZmlnLmM6MTQyMgogbXNnaWQgIm11c3QgYmUgb25lIG9mIG5vdGhpbmcsIG1hdGNoaW5nLCBzaW1wbGUsIHVwc3RyZWFtIG9yIGN1cnJlbnQiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MTQ4OSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODIKKyM6IGNvbmZpZy5jOjE0ODMgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrIGNvbXByZXNzaW9uIGxldmVsICVkIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0YPRgNC+0LLQtdC90Ywg0YHQttCw0YLQuNGPINC/0LDQutC10YLQsCAlZCIKIAotIzogY29uZmlnLmM6MTYxMAorIzogY29uZmlnLmM6MTYwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbG9hZCBjb25maWcgYmxvYiBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoxNjEzCisjOiBjb25maWcuYzoxNjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSAnJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgYmxvYiIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoxNjMwCisjOiBjb25maWcuYzoxNjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZXNvbHZlIGNvbmZpZyBibG9iICclcyciCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MTY2MAorIzogY29uZmlnLmM6MTY1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MTcwMAorIzogY29uZmlnLmM6MTcxMAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDQutC+0L3RhNC40LPRg9GA0LDRhtC40Y4g0LjQtyDQutC+0LzQsNC90LTQvdC+0Lkg0YHRgtGA0L7QutC4IgogCi0jOiBjb25maWcuYzoyMDMyCisjOiBjb25maWcuYzoyMDU5CiBtc2dpZCAidW5rbm93biBlcnJvciBvY2N1cnJlZCB3aGlsZSByZWFkaW5nIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIgogbXNnc3RyICLQv9GA0L7QuNC30L7RiNC70LAg0L3QtdC40LfQstC10YHRgtC90LDRjyDQvtGI0LjQsdC60LAg0L/RgNC4INGH0YLQtdC90LjQuCDRhNCw0LnQu9C+0LIg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IgogCi0jOiBjb25maWcuYzoyMjAyCisjOiBjb25maWcuYzoyMjI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgJXM6ICclcyciCiBtc2dzdHIgItCd0LXQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3Ri9C5ICVzOiDCqyVzwrsiCiAKLSM6IGNvbmZpZy5jOjIyNDUKKyM6IGNvbmZpZy5jOjIyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBjb3JlLnVudHJhY2tlZENhY2hlIHZhbHVlICclcyc7IHVzaW5nICdrZWVwJyBkZWZhdWx0IHZhbHVlIgogbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3QvtC1INC30L3QsNGH0LXQvdC40LUgwqslc8K7INC00LvRjyBjb3JlLnVudHJhY2tlZENhY2hlOyDQuNGB0L/QvtC70YzQt9GD0Y4g0YHRgtCw0L3QtNCw0YDRgtC90L7QtSDQt9C90LDRh9C10L3QuNC1IMKra2VlcMK7IgogCi0jOiBjb25maWcuYzoyMjcxCisjOiBjb25maWcuYzoyMjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSB2YWx1ZSAnJWQnIHNob3VsZCBiZSBiZXR3ZWVuIDAgYW5kIDEwMCIKIG1zZ3N0ciAi0LfQvdCw0YfQtdC90LjQtSDCqyVkwrsg0LTQu9GPIHNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSDQtNC+0LvQttC90L4g0LHRi9GC0Ywg0L7RgiAwINC00L4gMTAwIgogCi0jOiBjb25maWcuYzoyMjk2CisjOiBjb25maWcuYzoyMzQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAnJXMnIGZyb20gY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywgwqslc8K7INCyINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCDQuNC3INC60L7QvNCw0L3QtNC90L7QuSDRgdGC0YDQvtC60LgiCiAKLSM6IGNvbmZpZy5jOjIyOTgKKyM6IGNvbmZpZy5jOjIzNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyB2YXJpYWJsZSAnJXMnIGluIGZpbGUgJyVzJyBhdCBsaW5lICVkIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdCw0Y8g0L/QtdGA0LXQvNC10L3QvdCw0Y8g0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IMKrJXPCuyDQsiDRhNCw0LnQu9C1IMKrJXPCuyDQvdCwINGB0YLRgNC+0LrQtSAlZCIKIAotIzogY29uZmlnLmM6MjM3OQorIzogY29uZmlnLmM6MjQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNlY3Rpb24gbmFtZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjI0MTEKKyM6IGNvbmZpZy5jOjI0NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIG11bHRpcGxlIHZhbHVlcyIKIG1zZ3N0ciAiJXMg0LjQvNC10LXRgiDQvdC10YHQutC+0LvRjNC60L4g0LfQvdCw0YfQtdC90LjQuSIKIAotIzogY29uZmlnLmM6MjQ0MAorIzogY29uZmlnLmM6MjQ4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgbmV3IGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoyNjkxIGNvbmZpZy5jOjMwMTUKKyM6IGNvbmZpZy5jOjI3NDAgY29uZmlnLmM6MzA2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9jayBjb25maWcgZmlsZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoyNzAyCisjOiBjb25maWcuYzoyNzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9wZW5pbmcgJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MjczNyBidWlsdGluL2NvbmZpZy5jOjMyNAorIzogY29uZmlnLmM6Mjc4NiBidWlsdGluL2NvbmZpZy5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHBhdHRlcm46ICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjI3NjIKKyM6IGNvbmZpZy5jOjI4MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb25maWcgZmlsZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoyNzc1IGNvbmZpZy5jOjMwMjgKKyM6IGNvbmZpZy5jOjI4MjQgY29uZmlnLmM6MzA3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmc3RhdCBvbiAlcyBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INC/0YDQuCDQstGL0L/QvtC70L3QtdC90LjQuCBmc3RhdCDQvdCwINGE0LDQudC70LUgJXMiCiAKLSM6IGNvbmZpZy5jOjI3ODYKKyM6IGNvbmZpZy5jOjI4MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1tYXAgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBjb25maWcuYzoyNzk1IGNvbmZpZy5jOjMwMzMKKyM6IGNvbmZpZy5jOjI4NDQgY29uZmlnLmM6MzA4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjaG1vZCBvbiAlcyBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6Mjg4MCBjb25maWcuYzozMTMwCisjOiBjb25maWcuYzoyOTI5IGNvbmZpZy5jOjMxNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbmZpZyBmaWxlICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbmZpZy5jOjI5MTQKKyM6IGNvbmZpZy5jOjI5NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCAnJXMnIHRvICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPRgdGC0LDQvdC+0LLQuNGC0Ywgwqslc8K7INCyIMKrJXPCuyIKIAotIzogY29uZmlnLmM6MjkxNiBidWlsdGluL3JlbW90ZS5jOjc4MQorIzogY29uZmlnLmM6Mjk2NSBidWlsdGluL3JlbW90ZS5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdCx0YDQvtGB0LjRgtGMINC30L3QsNGH0LXQvdC40LUg0LTQu9GPIMKrJXPCuyIKIAotIzogY29uZmlnLmM6MzAwNgorIzogY29uZmlnLmM6MzA1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNlY3Rpb24gbmFtZTogJXMiCiBtc2dzdHIgIiIKIAotIzogY29uZmlnLmM6MzE3MworIzogY29uZmlnLmM6MzIyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIHZhbHVlIGZvciAnJXMnIgogbXNnc3RyICIiCkBAIC0xNjkyLDU3ICsxODc2LDUyIEBACiBtc2dpZCAicmVwb3NpdG9yeSBvbiB0aGUgb3RoZXIgZW5kIGNhbm5vdCBiZSBzaGFsbG93IgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzozMTAgZmV0Y2gtcGFjay5jOjE4MyBidWlsdGluL2FyY2hpdmUuYzo2MwotIywgYy1mb3JtYXQKLW1zZ2lkICJyZW1vdGUgZXJyb3I6ICVzIgotbXNnc3RyICLQvtGI0LjQsdC60LAg0LLQvdC10YjQvdC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPOiAlcyIKLQotIzogY29ubmVjdC5jOjMxNgorIzogY29ubmVjdC5jOjMxMwogbXNnaWQgImludmFsaWQgcGFja2V0IgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzozMzYKKyM6IGNvbm5lY3QuYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJvdG9jb2wgZXJyb3I6IHVuZXhwZWN0ZWQgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0LmM6NDQ0CisjOiBjb25uZWN0LmM6NDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbHMtcmVmcyByZXNwb25zZTogJXMiCiBtc2dzdHIgIiIKIAotIzogY29ubmVjdC5jOjQ0OAorIzogY29ubmVjdC5jOjQ0NQogbXNnaWQgImV4cGVjdGVkIGZsdXNoIGFmdGVyIHJlZiBsaXN0aW5nIgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzo1NDcKKyM6IGNvbm5lY3QuYzo1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJvdG9jb2wgJyVzJyBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzo1OTgKKyM6IGNvbm5lY3QuYzo1OTUKIG1zZ2lkICJ1bmFibGUgdG8gc2V0IFNPX0tFRVBBTElWRSBvbiBzb2NrZXQiCiBtc2dzdHIgIiIKIAotIzogY29ubmVjdC5jOjYzOCBjb25uZWN0LmM6NzAxCisjOiBjb25uZWN0LmM6NjM1IGNvbm5lY3QuYzo2OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiTG9va2luZyB1cCAlcyAuLi4gIgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzo2NDIKKyM6IGNvbm5lY3QuYzo2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGxvb2sgdXAgJXMgKHBvcnQgJXMpICglcykiCiBtc2dzdHIgIiIKIAogIy4gVFJBTlNMQVRPUlM6IHRoaXMgaXMgdGhlIGVuZCBvZiAiTG9va2luZyB1cCAlcyAuLi4gIgotIzogY29ubmVjdC5jOjY0NiBjb25uZWN0LmM6NzE3CisjOiBjb25uZWN0LmM6NjQzIGNvbm5lY3QuYzo3MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImRvbmUuXG4iCiAiQ29ubmVjdGluZyB0byAlcyAocG9ydCAlcykgLi4uICIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0LmM6NjY4IGNvbm5lY3QuYzo3NDUKKyM6IGNvbm5lY3QuYzo2NjUgY29ubmVjdC5jOjc0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidW5hYmxlIHRvIGNvbm5lY3QgdG8gJXM6XG4iCkBAIC0xNzUwLDUyICsxOTI5LDUyIEBACiBtc2dzdHIgIiIKIAogIy4gVFJBTlNMQVRPUlM6IHRoaXMgaXMgdGhlIGVuZCBvZiAiQ29ubmVjdGluZyB0byAlcyAocG9ydCAlcykgLi4uICIKLSM6IGNvbm5lY3QuYzo2NzQgY29ubmVjdC5jOjc1MQorIzogY29ubmVjdC5jOjY3MSBjb25uZWN0LmM6NzQ4CiBtc2dpZCAiZG9uZS4iCiBtc2dzdHIgIiIKIAotIzogY29ubmVjdC5jOjcwNQorIzogY29ubmVjdC5jOjcwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbG9vayB1cCAlcyAoJXMpIgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzo3MTEKKyM6IGNvbm5lY3QuYzo3MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBwb3J0ICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzo4NDggY29ubmVjdC5jOjExNzQKKyM6IGNvbm5lY3QuYzo4NDUgY29ubmVjdC5jOjExNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RyYW5nZSBob3N0bmFtZSAnJXMnIGJsb2NrZWQiCiBtc2dzdHIgIiIKIAotIzogY29ubmVjdC5jOjg1MAorIzogY29ubmVjdC5jOjg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzdHJhbmdlIHBvcnQgJyVzJyBibG9ja2VkIgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzo4NjAKKyM6IGNvbm5lY3QuYzo4NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXJ0IHByb3h5ICVzIgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzo5MjcKKyM6IGNvbm5lY3QuYzo5MjQKIG1zZ2lkICJubyBwYXRoIHNwZWNpZmllZDsgc2VlICdnaXQgaGVscCBwdWxsJyBmb3IgdmFsaWQgdXJsIHN5bnRheCIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0LmM6MTEyMgorIzogY29ubmVjdC5jOjExMTkKIG1zZ2lkICJzc2ggdmFyaWFudCAnc2ltcGxlJyBkb2VzIG5vdCBzdXBwb3J0IC00IgogbXNnc3RyICIiCiAKLSM6IGNvbm5lY3QuYzoxMTM0CisjOiBjb25uZWN0LmM6MTEzMQogbXNnaWQgInNzaCB2YXJpYW50ICdzaW1wbGUnIGRvZXMgbm90IHN1cHBvcnQgLTYiCiBtc2dzdHIgIiIKIAotIzogY29ubmVjdC5jOjExNTEKKyM6IGNvbm5lY3QuYzoxMTQ4CiBtc2dpZCAic3NoIHZhcmlhbnQgJ3NpbXBsZScgZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHBvcnQiCiBtc2dzdHIgIiIKIAotIzogY29ubmVjdC5jOjEyNjIKKyM6IGNvbm5lY3QuYzoxMjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInN0cmFuZ2UgcGF0aG5hbWUgJyVzJyBibG9ja2VkIgogbXNnc3RyICIiCkBAIC0xODA0LDEwNiArMTk4MywxMDYgQEAKIG1zZ2lkICJ1bmFibGUgdG8gZm9yayIKIG1zZ3N0ciAiIgogCi0jOiBjb25uZWN0ZWQuYzo2OCBidWlsdGluL2ZzY2suYzoyMDMgYnVpbHRpbi9wcnVuZS5jOjE0NgorIzogY29ubmVjdGVkLmM6ODUgYnVpbHRpbi9mc2NrLmM6MjIxIGJ1aWx0aW4vcHJ1bmUuYzo0MwogbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSIKIG1zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDRgdC+0LXQtNC40L3QtdC90LjRjyIKIAotIzogY29ubmVjdGVkLmM6ODAKKyM6IGNvbm5lY3RlZC5jOjk3CiBtc2dpZCAiQ291bGQgbm90IHJ1biAnZ2l0IHJldi1saXN0JyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/Rg9GB0YLQuNGC0YwgwqtnaXQgcmV2LWxpc3TCuyIKIAotIzogY29ubmVjdGVkLmM6MTAwCisjOiBjb25uZWN0ZWQuYzoxMTcKIG1zZ2lkICJmYWlsZWQgd3JpdGUgdG8gcmV2LWxpc3QiCiBtc2dzdHIgItGB0LHQvtC5INC30LDQv9C40YHQuCDQsiByZXYtbGlzdCIKIAotIzogY29ubmVjdGVkLmM6MTA3CisjOiBjb25uZWN0ZWQuYzoxMjQKIG1zZ2lkICJmYWlsZWQgdG8gY2xvc2UgcmV2LWxpc3QncyBzdGRpbiIKIG1zZ3N0ciAi0YHQsdC+0Lkg0LfQsNC60YDRi9GC0LjRjyDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTQsCDRgyByZXYtbGlzdCIKIAotIzogY29udmVydC5jOjE5NAorIzogY29udmVydC5jOjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbGxlZ2FsIGNybGZfYWN0aW9uICVkIgogbXNnc3RyICIiCiAKLSM6IGNvbnZlcnQuYzoyMDcKKyM6IGNvbnZlcnQuYzoyMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ1JMRiB3b3VsZCBiZSByZXBsYWNlZCBieSBMRiBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6MjA5CisjOiBjb252ZXJ0LmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDUkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuXG4iCiAiVGhlIGZpbGUgd2lsbCBoYXZlIGl0cyBvcmlnaW5hbCBsaW5lIGVuZGluZ3MgaW4geW91ciB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6MjE3CisjOiBjb252ZXJ0LmM6MjE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMiCiBtc2dzdHIgIkxGINCx0YPQtNC10YIg0LfQsNC80LXQvdC10L0g0L3QsCBDUkxGINCyICVzIgogCi0jOiBjb252ZXJ0LmM6MjE5CisjOiBjb252ZXJ0LmM6MjE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJMRiB3aWxsIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMuXG4iCiAiVGhlIGZpbGUgd2lsbCBoYXZlIGl0cyBvcmlnaW5hbCBsaW5lIGVuZGluZ3MgaW4geW91ciB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6MjgwCisjOiBjb252ZXJ0LmM6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJPTSBpcyBwcm9oaWJpdGVkIGluICclcycgaWYgZW5jb2RlZCBhcyAlcyIKIG1zZ3N0ciAiQk9NINC30LDQv9GA0LXRidC10L0g0LIgwqslc8K7LCDQtdGB0LvQuCDQutC+0LTQuNGA0YPQtdGC0YHRjyDQutCw0LogJXMiCiAKLSM6IGNvbnZlcnQuYzoyODcKKyM6IGNvbnZlcnQuYzoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmaWxlICclcycgY29udGFpbnMgYSBieXRlIG9yZGVyIG1hcmsgKEJPTSkuIFBsZWFzZSB1c2UgVVRGLSVzIGFzICIKICJ3b3JraW5nLXRyZWUtZW5jb2RpbmcuIgogbXNnc3RyICLQpNCw0LnQuyDCqyVzwrsg0YHQvtC00LXRgNC20LjRgiDQvNCw0YDQutC10YAg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtC4INCx0LDQudGC0L7QsiAoQk9NKS4g0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSBVVEYtJXMg0LrQsNC6INC60L7QtNC40YDQvtCy0LrRgyDRgNCw0LHQvtGH0LXQs9C+INC60LDRgtCw0LvQvtCz0LAuIgogCi0jOiBjb252ZXJ0LmM6MzA1CisjOiBjb252ZXJ0LmM6MzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJPTSBpcyByZXF1aXJlZCBpbiAnJXMnIGlmIGVuY29kZWQgYXMgJXMiCiBtc2dzdHIgIkJPTSDRgtGA0LXQsdGD0LXRgtGB0Y8g0LIgwqslc8K7LCDQtdGB0LvQuCDQutC+0LTQuNGA0YPQtdGC0YHRjyDQutCw0LogJXMiCiAKLSM6IGNvbnZlcnQuYzozMDcKKyM6IGNvbnZlcnQuYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmaWxlICclcycgaXMgbWlzc2luZyBhIGJ5dGUgb3JkZXIgbWFyayAoQk9NKS4gUGxlYXNlIHVzZSBVVEYtJXNCRSBvciAiCiAiVVRGLSVzTEUgKGRlcGVuZGluZyBvbiB0aGUgYnl0ZSBvcmRlcikgYXMgd29ya2luZy10cmVlLWVuY29kaW5nLiIKIG1zZ3N0ciAi0KTQsNC50Lsgwqslc8K7INC90LUg0YHQvtC00LXRgNC20LjRgiDQvNCw0YDQutC10YAg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtC4INCx0LDQudGC0L7QsiAoQk9NKS4gINCY0YHQv9C+0LvRjNC30YPQudGC0LUgVVRGLSVzQkUg0LjQu9C4IFVURi0lc0xFICjQsiDQt9Cw0LLQuNGB0LjQvNC+0YHRgtC4INC+0YIg0L/QvtGA0Y/QtNC60LAg0LHQsNC50YLQvtCyKSDQutCw0Log0LrQvtC00LjRgNC+0LLQutGDINGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsC4iCiAKLSM6IGNvbnZlcnQuYzo0MjUgY29udmVydC5jOjQ5NgorIzogY29udmVydC5jOjQyNCBjb252ZXJ0LmM6NDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBlbmNvZGUgJyVzJyBmcm9tICVzIHRvICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LrQvtC00LjRgNC+0LLQsNGC0Ywgwqslc8K7INC40LcgJXMg0LIgJXMiCiAKLSM6IGNvbnZlcnQuYzo0NjgKKyM6IGNvbnZlcnQuYzo0NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW5jb2RpbmcgJyVzJyBmcm9tICVzIHRvICVzIGFuZCBiYWNrIGlzIG5vdCB0aGUgc2FtZSIKIG1zZ3N0ciAi0L/QtdGA0LXQutC+0LTQuNGA0L7QstCw0L3QuNC1IMKrJXPCuyDQuNC3ICVzINCyICVzINC4INC+0LHRgNCw0YLQvdC+INC90LUg0L7QtNC90L4g0Lgg0YLQviDQttC1IgogCi0jOiBjb252ZXJ0LmM6Njc0CisjOiBjb252ZXJ0LmM6NjczCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmb3JrIHRvIHJ1biBleHRlcm5hbCBmaWx0ZXIgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6Njk0CisjOiBjb252ZXJ0LmM6NjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmZWVkIHRoZSBpbnB1dCB0byBleHRlcm5hbCBmaWx0ZXIgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6NzAxCisjOiBjb252ZXJ0LmM6NzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6NzM2IGNvbnZlcnQuYzo3MzkKKyM6IGNvbnZlcnQuYzo3MzUgY29udmVydC5jOjczOAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGZyb20gZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGNvbnZlcnQuYzo3NDIgY29udmVydC5jOjc5NgorIzogY29udmVydC5jOjc0MSBjb252ZXJ0LmM6Nzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiIgpAQCAtMTkyNywyMSArMjEwNiwyMSBAQAogbXNnaWQgInRydWUvZmFsc2UgYXJlIG5vIHZhbGlkIHdvcmtpbmctdHJlZS1lbmNvZGluZ3MiCiBtc2dzdHIgInRydWUvZmFsc2Ug0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC00L7Qv9GD0YHRgtC40LzRi9C8INC30L3QsNGH0LXQvdC40LXQvCDQtNC70Y8gd29ya2luZy10cmVlLWVuY29kaW5nIgogCi0jOiBjb252ZXJ0LmM6MTQwMiBjb252ZXJ0LmM6MTQzNgorIzogY29udmVydC5jOjEzOTggY29udmVydC5jOjE0MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNsZWFuIGZpbHRlciAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBjb252ZXJ0LmM6MTQ4MAorIzogY29udmVydC5jOjE0NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHNtdWRnZSBmaWx0ZXIgJXMgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGRhdGUuYzoxMTYKKyM6IGRhdGUuYzoxMzcKIG1zZ2lkICJpbiB0aGUgZnV0dXJlIgogbXNnc3RyICLQsiDQsdGD0LTRg9GJ0LXQvCIKIAotIzogZGF0ZS5jOjEyMgorIzogZGF0ZS5jOjE0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHNlY29uZCBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gc2Vjb25kcyBhZ28iCkBAIC0xOTUwLDcgKzIxMjksNyBAQAogbXNnc3RyWzJdICIlPFBSSXVNQVg+INGB0LXQutGD0L3QtCDQvdCw0LfQsNC0IgogbXNnc3RyWzNdICIlPFBSSXVNQVg+INGB0LXQutGD0L3QtNGLINC90LDQt9Cw0LQiCiAKLSM6IGRhdGUuYzoxMjkKKyM6IGRhdGUuYzoxNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBtaW51dGUgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1pbnV0ZXMgYWdvIgpAQCAtMTk1OSw3ICsyMTM4LDcgQEAKIG1zZ3N0clsyXSAiJTxQUkl1TUFYPiDQvNC40L3Rg9GCINC90LDQt9Cw0LQiCiBtc2dzdHJbM10gIiU8UFJJdU1BWD4g0LzQuNC90YPRgtGLINC90LDQt9Cw0LQiCiAKLSM6IGRhdGUuYzoxMzYKKyM6IGRhdGUuYzoxNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBob3VyIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBob3VycyBhZ28iCkBAIC0xOTY4LDcgKzIxNDcsNyBAQAogbXNnc3RyWzJdICIlPFBSSXVNQVg+INGH0LDRgdC+0LIg0L3QsNC30LDQtCIKIG1zZ3N0clszXSAiJTxQUkl1TUFYPiDRh9Cw0YHQsCDQvdCw0LfQsNC0IgogCi0jOiBkYXRlLmM6MTQzCisjOiBkYXRlLmM6MTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiU8UFJJdU1BWD4gZGF5IGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBkYXlzIGFnbyIKQEAgLTE5NzcsNyArMjE1Niw3IEBACiBtc2dzdHJbMl0gIiU8UFJJdU1BWD4g0LTQvdC10Lkg0L3QsNC30LDQtCIKIG1zZ3N0clszXSAiJTxQUkl1TUFYPiDQtNC90Y8g0L3QsNC30LDQtCIKIAotIzogZGF0ZS5jOjE0OQorIzogZGF0ZS5jOjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHdlZWsgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHdlZWtzIGFnbyIKQEAgLTE5ODYsNyArMjE2NSw3IEBACiBtc2dzdHJbMl0gIiU8UFJJdU1BWD4g0L3QtdC00LXQu9GMINC90LDQt9Cw0LQiCiBtc2dzdHJbM10gIiU8UFJJdU1BWD4g0L3QtdC00LXQu9C4INC90LDQt9Cw0LQiCiAKLSM6IGRhdGUuYzoxNTYKKyM6IGRhdGUuYzoxNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBtb250aCBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gbW9udGhzIGFnbyIKQEAgLTE5OTUsNyArMjE3NCw3IEBACiBtc2dzdHJbMl0gIiU8UFJJdU1BWD4g0LzQtdGB0Y/RhtC10LIg0L3QsNC30LDQtCIKIG1zZ3N0clszXSAiJTxQUkl1TUFYPiDQvNC10YHRj9GG0LAg0L3QsNC30LDQtCIKIAotIzogZGF0ZS5jOjE2NworIzogZGF0ZS5jOjE4OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHllYXIiCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4geWVhcnMiCkBAIC0yMDA1LDcgKzIxODQsNyBAQAogbXNnc3RyWzNdICIlPFBSSXVNQVg+INCz0L7QtNCwIgogCiAjLiBUUkFOU0xBVE9SUzogIiVzIiBpcyAiPG4+IHllYXJzIgotIzogZGF0ZS5jOjE3MAorIzogZGF0ZS5jOjE5MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgJTxQUkl1TUFYPiBtb250aCBhZ28iCiBtc2dpZF9wbHVyYWwgIiVzLCAlPFBSSXVNQVg+IG1vbnRocyBhZ28iCkBAIC0yMDE0LDcgKzIxOTMsNyBAQAogbXNnc3RyWzJdICIlcywgJTxQUkl1TUFYPiDQvNC10YHRj9GG0LXQsiDQvdCw0LfQsNC0IgogbXNnc3RyWzNdICIlcywgJTxQUkl1TUFYPiDQvNC10YHRj9GG0LAg0L3QsNC30LDQtCIKIAotIzogZGF0ZS5jOjE3NSBkYXRlLmM6MTgwCisjOiBkYXRlLmM6MTk2IGRhdGUuYzoyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB5ZWFycyBhZ28iCkBAIC0yMDIzLDE0MSArMjIwMiw2NDkgQEAKIG1zZ3N0clsyXSAiJTxQUkl1TUFYPiDQu9C10YIg0L3QsNC30LDQtCIKIG1zZ3N0clszXSAiJTxQUkl1TUFYPiDQs9C+0LTQsCDQvdCw0LfQsNC0IgogCisjOiBkZWx0YS1pc2xhbmRzLmM6MjcyCittc2dpZCAiUHJvcGFnYXRpbmcgaXNsYW5kIG1hcmtzIgorbXNnc3RyICIiCisKKyM6IGRlbHRhLWlzbGFuZHMuYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHRyZWUgb2JqZWN0ICVzIgorbXNnc3RyICIiCisKKyM6IGRlbHRhLWlzbGFuZHMuYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGxvYWQgaXNsYW5kIHJlZ2V4IGZvciAnJXMnOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkZWx0YS1pc2xhbmRzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgImlzbGFuZCByZWdleCBmcm9tIGNvbmZpZyBoYXMgdG9vIG1hbnkgY2FwdHVyZSBncm91cHMgKG1heD0lZCkiCittc2dzdHIgIiIKKworIzogZGVsdGEtaXNsYW5kcy5jOjQ2NgorIywgYy1mb3JtYXQKK21zZ2lkICJNYXJrZWQgJWQgaXNsYW5kcywgZG9uZS5cbiIKK21zZ3N0ciAiIgorCiAjOiBkaWZmY29yZS1vcmRlci5jOjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkIG9yZGVyZmlsZSAnJXMnIgogbXNnc3RyICLRgdCx0L7QuSDRh9GC0LXQvdC40Y8gb3JkZXJmaWxlIMKrJXPCuyIKIAotIzogZGlmZmNvcmUtcmVuYW1lLmM6NTM2CisjOiBkaWZmY29yZS1yZW5hbWUuYzo1NDQKIG1zZ2lkICJQZXJmb3JtaW5nIGluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiIKIG1zZ3N0ciAi0JLRi9C/0L7Qu9C90Y/QtdGC0YHRjyDQvdC10YLQvtGH0L3QvtC1INC+0L/RgNC10LTQtdC70LXQvdC40LUg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjRjyIKIAotIzogZGlmZi5jOjEwOAotIywgYy1mb3JtYXQKLW1zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhIHZhbHVlIgotbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAIMKrJXPCuyDRgtGA0LXQsdGD0LXRgiDRg9C60LDQt9Cw0L3QuNGPINC30L3QsNGH0LXQvdC40Y8iCisjOiBkaWZmLW5vLWluZGV4LmM6MjM4Cittc2dpZCAiZ2l0IGRpZmYgLS1uby1pbmRleCBbPG9wdGlvbnM+XSA8cGF0aD4gPHBhdGg+IgorbXNnc3RyICIiCiAKLSM6IGRpZmYuYzoxNTgKKyM6IGRpZmYtbm8taW5kZXguYzoyNjMKK21zZ2lkICIiCisiTm90IGEgZ2l0IHJlcG9zaXRvcnkuIFVzZSAtLW5vLWluZGV4IHRvIGNvbXBhcmUgdHdvIHBhdGhzIG91dHNpZGUgYSB3b3JraW5nICIKKyJ0cmVlIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGYWlsZWQgdG8gcGFyc2UgZGlyc3RhdCBjdXQtb2ZmIHBlcmNlbnRhZ2UgJyVzJ1xuIgogbXNnc3RyICIgINCh0LHQvtC5INGA0LDQt9Cx0L7RgNCwINCy0LXQu9C40YfQuNC90Ysg0YHRgNC10LfQsCAoY3V0LW9mZikg0YMgZGlyc3RhdCDCqyVzwrtcbiIKIAotIzogZGlmZi5jOjE2MworIzogZGlmZi5jOjE2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFVua25vd24gZGlyc3RhdCBwYXJhbWV0ZXIgJyVzJ1xuIgogbXNnc3RyICLQndC10LjQt9Cy0LXRgdGC0L3Ri9C5INC/0LDRgNCw0LzQtdGC0YAgZGlyc3RhdDogwqslc8K7XG4iCiAKLSM6IGRpZmYuYzoyOTEKKyM6IGRpZmYuYzoyOTYKIG1zZ2lkICIiCiAiY29sb3IgbW92ZWQgc2V0dGluZyBtdXN0IGJlIG9uZSBvZiAnbm8nLCAnZGVmYXVsdCcsICdibG9ja3MnLCAnemVicmEnLCAiCiAiJ2RpbW1lZC16ZWJyYScsICdwbGFpbiciCiBtc2dzdHIgIiIKIAotIzogZGlmZi5jOjMxNgorIzogZGlmZi5jOjMyNAogIywgYy1mb3JtYXQKLW1zZ2lkICJpZ25vcmluZyB1bmtub3duIGNvbG9yLW1vdmVkLXdzIG1vZGUgJyVzJyIKLW1zZ3N0ciAiIgotCi0jOiBkaWZmLmM6MzIzCiBtc2dpZCAiIgotImNvbG9yLW1vdmVkLXdzOiBhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgd2hpdGUiCi0iIHNwYWNlIG1vZGVzIgorInVua25vd24gY29sb3ItbW92ZWQtd3MgbW9kZSAnJXMnLCBwb3NzaWJsZSB2YWx1ZXMgYXJlICdpZ25vcmUtc3BhY2UtY2hhbmdlJywiCisiICdpZ25vcmUtc3BhY2UtYXQtZW9sJywgJ2lnbm9yZS1hbGwtc3BhY2UnLCAnYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlJyIKIG1zZ3N0ciAiIgogCi0jOiBkaWZmLmM6Mzk0CisjOiBkaWZmLmM6MzMyCittc2dpZCAiIgorImNvbG9yLW1vdmVkLXdzOiBhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgIgorIndoaXRlc3BhY2UgbW9kZXMiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHZhbHVlIGZvciAnZGlmZi5zdWJtb2R1bGUnIGNvbmZpZyB2YXJpYWJsZTogJyVzJyIKIG1zZ3N0ciAi0J3QtdC40LfQstC10YHRgtC90L7QtSDQt9C90LDRh9C10L3QuNGPINC00LvRjyDQv9C10YDQtdC80LXQvdC90L7QuSDCq2RpZmYuc3VibW9kdWxlwrs6IMKrJXPCuyIKIAotIzogZGlmZi5jOjQ1NAorIzogZGlmZi5jOjQ2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRm91bmQgZXJyb3JzIGluICdkaWZmLmRpcnN0YXQnIGNvbmZpZyB2YXJpYWJsZTpcbiIKICIlcyIKIG1zZ3N0ciAi0J3QsNC50LTQtdC90Ysg0L7RiNC40LHQutC4INCyINC/0LXRgNC10LzQtdC90L3QvtC5IMKrZGlmZi5kaXJzdGF0wrs6XG4lcyIKIAotIzogZGlmZi5jOjQwOTYKKyM6IGRpZmYuYzo0MjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGRpZmYgZGllZCwgc3RvcHBpbmcgYXQgJXMiCiBtc2dzdHIgItC60YDQuNGC0LjRh9C10YHQutCw0Y8g0L7RiNC40LHQutCwINC/0YDQuCDQstC90LXRiNC90LXQvCDRgdGA0LDQstC90LXQvdC40LgsINC+0YHRgtCw0L3QvtCyINC90LAgJXMiCiAKLSM6IGRpZmYuYzo0NDI3CisjOiBkaWZmLmM6NDU1NQogbXNnaWQgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjayDQuCAtcyDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviIKIAotIzogZGlmZi5jOjQ0MzAKKyM6IGRpZmYuYzo0NTU4CiBtc2dpZCAiLUcsIC1TIGFuZCAtLWZpbmQtb2JqZWN0IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1HLCAtUyDQuCAtLWZpbmQtb2JqZWN0INC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IgogCi0jOiBkaWZmLmM6NDUwOAorIzogZGlmZi5jOjQ2MzYKIG1zZ2lkICItLWZvbGxvdyByZXF1aXJlcyBleGFjdGx5IG9uZSBwYXRoc3BlYyIKIG1zZ3N0ciAiLS1mb2xsb3cg0YLRgNC10LHRg9C10YIg0YDQvtCy0L3QviDQvtC00L3QvtCz0L4g0YHQv9C10YbQuNGE0LjQutCw0YLQvtGA0LAg0L/Rg9GC0LgiCiAKLSM6IGRpZmYuYzo0Njc0CisjOiBkaWZmLmM6NDY4NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIC0tc3RhdCB2YWx1ZTogJXMiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjQ2ODkgZGlmZi5jOjQ2OTQgZGlmZi5jOjQ2OTkgZGlmZi5jOjQ3MDQgZGlmZi5jOjUyMTcKKyM6IHBhcnNlLW9wdGlvbnMuYzoxOTkgcGFyc2Utb3B0aW9ucy5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo0NzIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCiAiJXMiCiBtc2dzdHIgItCh0LHQvtC5INGA0LDQt9Cx0L7RgNCwINC/0LDRgNCw0LzQtdGC0YDQsCDQvtC/0YbQuNC4IC0tZGlyc3RhdC8tWCA6XG4lcyIKIAotIzogZGlmZi5jOjQ2ODgKKyM6IGRpZmYuYzo0ODA2CiAjLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgotbXNnc3RyICLQodCx0L7QuSDRgNCw0LfQsdC+0YDQsCDQv9Cw0YDQsNC80LXRgtGA0LAg0L7Qv9GG0LjQuCAtLXN1Ym1vZHVsZTogwqslc8K7IgorbXNnaWQgInVua25vd24gY2hhbmdlIGNsYXNzICclYycgaW4gLS1kaWZmLWZpbHRlcj0lcyIKK21zZ3N0ciAiIgogCi0jOiBkaWZmLmM6NTc2NgorIzogZGlmZi5jOjQ4MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB2YWx1ZSBhZnRlciB3cy1lcnJvci1oaWdobGlnaHQ9JS4qcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NDg0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo0ODk0IGRpZmYuYzo0OTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGV4cGVjdHMgPG4+LzxtPiBmb3JtIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo0OTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGV4cGVjdHMgYSBjaGFyYWN0ZXIsIGdvdCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo0OTMzCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCAtLWNvbG9yLW1vdmVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NDk1MgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG1vZGUgJyVzJyBpbiAtLWNvbG9yLW1vdmVkLXdzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo0OTkyCittc2dpZCAib3B0aW9uIGRpZmYtYWxnb3JpdGhtIGFjY2VwdHMgXCJteWVyc1wiLCBcIm1pbmltYWxcIiwgXCJwYXRpZW5jZVwiIGFuZCBcImhpc3RvZ3JhbVwiIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MDI4IGRpZmYuYzo1MDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gJXMiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIC0td29yZC1kaWZmIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTI2NQorbXNnaWQgIkRpZmYgb3V0cHV0IGZvcm1hdCBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MjY3IGRpZmYuYzo1MjczCittc2dpZCAiZ2VuZXJhdGUgcGF0Y2giCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUyNzAgYnVpbHRpbi9sb2cuYzoxNjcKK21zZ2lkICJzdXBwcmVzcyBkaWZmIG91dHB1dCIKK21zZ3N0ciAi0L3QtSDQstGL0LLQvtC00LjRgtGMINGB0L/QuNGB0L7QuiDQuNC30LzQtdC90LXQvdC40LkiCisKKyM6IGRpZmYuYzo1Mjc1IGRpZmYuYzo1Mzg5IGRpZmYuYzo1Mzk2Cittc2dpZCAiPG4+IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1Mjc2IGRpZmYuYzo1Mjc5Cittc2dpZCAiZ2VuZXJhdGUgZGlmZnMgd2l0aCA8bj4gbGluZXMgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTI4MQorbXNnaWQgImdlbmVyYXRlIHRoZSBkaWZmIGluIHJhdyBmb3JtYXQiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUyODQKK21zZ2lkICJzeW5vbnltIGZvciAnLXAgLS1yYXcnIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1Mjg4Cittc2dpZCAic3lub255bSBmb3IgJy1wIC0tc3RhdCciCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUyOTIKK21zZ2lkICJtYWNoaW5lIGZyaWVuZGx5IC0tc3RhdCIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTI5NQorbXNnaWQgIm91dHB1dCBvbmx5IHRoZSBsYXN0IGxpbmUgb2YgLS1zdGF0IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1Mjk3IGRpZmYuYzo1MzA1Cittc2dpZCAiPHBhcmFtMSxwYXJhbTI+Li4uIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1Mjk4Cittc2dpZCAiIgorIm91dHB1dCB0aGUgZGlzdHJpYnV0aW9uIG9mIHJlbGF0aXZlIGFtb3VudCBvZiBjaGFuZ2VzIGZvciBlYWNoIHN1Yi1kaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzMDIKK21zZ2lkICJzeW5vbnltIGZvciAtLWRpcnN0YXQ9Y3VtdWxhdGl2ZSIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTMwNgorbXNnaWQgInN5bm9ueW0gZm9yIC0tZGlyc3RhdD1maWxlcyxwYXJhbTEscGFyYW0yLi4uIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzEwCittc2dpZCAid2FybiBpZiBjaGFuZ2VzIGludHJvZHVjZSBjb25mbGljdCBtYXJrZXJzIG9yIHdoaXRlc3BhY2UgZXJyb3JzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzEzCittc2dpZCAiY29uZGVuc2VkIHN1bW1hcnkgc3VjaCBhcyBjcmVhdGlvbnMsIHJlbmFtZXMgYW5kIG1vZGUgY2hhbmdlcyIKK21zZ3N0ciAi0LrRgNCw0YLQutCw0Y8g0YHQstC+0LTQutCwINC40LfQvNC10L3QtdC90LjQuSwg0LLRgNC+0LTQtSDRgdC+0LfQtNCw0L3QuNC5LCDQv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNC5INC40LvQuCDQuNC30LzQtdC90LXQvdC40Lkg0YDQtdC20LjQvNCwINC00L7RgdGC0YPQv9CwIgorCisjOiBkaWZmLmM6NTMxNgorbXNnaWQgInNob3cgb25seSBuYW1lcyBvZiBjaGFuZ2VkIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzE5Cittc2dpZCAic2hvdyBvbmx5IG5hbWVzIGFuZCBzdGF0dXMgb2YgY2hhbmdlZCBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTMyMQorbXNnaWQgIjx3aWR0aD5bLDxuYW1lLXdpZHRoPlssPGNvdW50Pl1dIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzIyCittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzMjQgZGlmZi5jOjUzMjcgZGlmZi5jOjUzMzAKK21zZ2lkICI8d2lkdGg+IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzI1Cittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBhIGdpdmVuIHdpZHRoIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzI4Cittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBhIGdpdmVuIG5hbWUgd2lkdGgiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzMzEKK21zZ2lkICJnZW5lcmF0ZSBkaWZmc3RhdCB3aXRoIGEgZ2l2ZW4gZ3JhcGggd2lkdGgiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzMzMKK21zZ2lkICI8Y291bnQ+IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzM0Cittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBsaW1pdGVkIGxpbmVzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzM3Cittc2dpZCAiZ2VuZXJhdGUgY29tcGFjdCBzdW1tYXJ5IGluIGRpZmZzdGF0IgorbXNnc3RyICLQs9C10L3QtdGA0LDRhtC40Y8g0LrQvtC80L/QsNC60YLQvdC+0Lkg0YHQstC+0LTQutC4INC40LfQvNC10L3QtdC90LjQuSDQsiBkaWZmc3RhdCIKKworIzogZGlmZi5jOjUzNDAKK21zZ2lkICJvdXRwdXQgYSBiaW5hcnkgZGlmZiB0aGF0IGNhbiBiZSBhcHBsaWVkIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzQzCittc2dpZCAic2hvdyBmdWxsIHByZS0gYW5kIHBvc3QtaW1hZ2Ugb2JqZWN0IG5hbWVzIG9uIHRoZSBcImluZGV4XCIgbGluZXMiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzNDUKK21zZ2lkICJzaG93IGNvbG9yZWQgZGlmZiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM0NgorbXNnaWQgIjxraW5kPiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM0NworbXNnaWQgIiIKKyJoaWdobGlnaHQgd2hpdGVzcGFjZSBlcnJvcnMgaW4gdGhlICdjb250ZXh0JywgJ29sZCcgb3IgJ25ldycgbGluZXMgaW4gdGhlICIKKyJkaWZmIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzUwCittc2dpZCAiIgorImRvIG5vdCBtdW5nZSBwYXRobmFtZXMgYW5kIHVzZSBOVUxzIGFzIG91dHB1dCBmaWVsZCB0ZXJtaW5hdG9ycyBpbiAtLXJhdyBvciAiCisiLS1udW1zdGF0IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzUzIGRpZmYuYzo1MzU2IGRpZmYuYzo1MzU5IGRpZmYuYzo1NDY1Cittc2dpZCAiPHByZWZpeD4iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzNTQKK21zZ2lkICJzaG93IHRoZSBnaXZlbiBzb3VyY2UgcHJlZml4IGluc3RlYWQgb2YgXCJhL1wiIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzU3Cittc2dpZCAic2hvdyB0aGUgZ2l2ZW4gZGVzdGluYXRpb24gcHJlZml4IGluc3RlYWQgb2YgXCJiL1wiIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzYwCittc2dpZCAicHJlcGVuZCBhbiBhZGRpdGlvbmFsIHByZWZpeCB0byBldmVyeSBsaW5lIG9mIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM2MworbXNnaWQgImRvIG5vdCBzaG93IGFueSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gcHJlZml4IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzY2Cittc2dpZCAic2hvdyBjb250ZXh0IGJldHdlZW4gZGlmZiBodW5rcyB1cCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBsaW5lcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM3MCBkaWZmLmM6NTM3NSBkaWZmLmM6NTM4MAorbXNnaWQgIjxjaGFyPiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM3MQorbXNnaWQgInNwZWNpZnkgdGhlIGNoYXJhY3RlciB0byBpbmRpY2F0ZSBhIG5ldyBsaW5lIGluc3RlYWQgb2YgJysnIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1Mzc2Cittc2dpZCAic3BlY2lmeSB0aGUgY2hhcmFjdGVyIHRvIGluZGljYXRlIGFuIG9sZCBsaW5lIGluc3RlYWQgb2YgJy0nIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1MzgxCittc2dpZCAic3BlY2lmeSB0aGUgY2hhcmFjdGVyIHRvIGluZGljYXRlIGEgY29udGV4dCBpbnN0ZWFkIG9mICcgJyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM4NAorbXNnaWQgIkRpZmYgcmVuYW1lIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzODUKK21zZ2lkICI8bj5bLzxtPl0iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzODYKK21zZ2lkICJicmVhayBjb21wbGV0ZSByZXdyaXRlIGNoYW5nZXMgaW50byBwYWlycyBvZiBkZWxldGUgYW5kIGNyZWF0ZSIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTM5MAorbXNnaWQgImRldGVjdCByZW5hbWVzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1Mzk0Cittc2dpZCAib21pdCB0aGUgcHJlaW1hZ2UgZm9yIGRlbGV0ZXMiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjUzOTcKK21zZ2lkICJkZXRlY3QgY29waWVzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDAxCittc2dpZCAidXNlIHVubW9kaWZpZWQgZmlsZXMgYXMgc291cmNlIHRvIGZpbmQgY29waWVzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDAzCittc2dpZCAiZGlzYWJsZSByZW5hbWUgZGV0ZWN0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDA2Cittc2dpZCAidXNlIGVtcHR5IGJsb2JzIGFzIHJlbmFtZSBzb3VyY2UiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0MDgKK21zZ2lkICJjb250aW51ZSBsaXN0aW5nIHRoZSBoaXN0b3J5IG9mIGEgZmlsZSBiZXlvbmQgcmVuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQxMQorbXNnaWQgIiIKKyJwcmV2ZW50IHJlbmFtZS9jb3B5IGRldGVjdGlvbiBpZiB0aGUgbnVtYmVyIG9mIHJlbmFtZS9jb3B5IHRhcmdldHMgZXhjZWVkcyAiCisiZ2l2ZW4gbGltaXQiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0MTMKK21zZ2lkICJEaWZmIGFsZ29yaXRobSBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDE1Cittc2dpZCAicHJvZHVjZSB0aGUgc21hbGxlc3QgcG9zc2libGUgZGlmZiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQxOAorbXNnaWQgImlnbm9yZSB3aGl0ZXNwYWNlIHdoZW4gY29tcGFyaW5nIGxpbmVzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDIxCittc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gYW1vdW50IG9mIHdoaXRlc3BhY2UiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0MjQKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIGF0IEVPTCIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQyNworbXNnaWQgImlnbm9yZSBjYXJyaWVyLXJldHVybiBhdCB0aGUgZW5kIG9mIGxpbmUiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0MzAKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyB3aG9zZSBsaW5lcyBhcmUgYWxsIGJsYW5rIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDMzCittc2dpZCAiaGV1cmlzdGljIHRvIHNoaWZ0IGRpZmYgaHVuayBib3VuZGFyaWVzIGZvciBlYXN5IHJlYWRpbmciCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0MzYKK21zZ2lkICJnZW5lcmF0ZSBkaWZmIHVzaW5nIHRoZSBcInBhdGllbmNlIGRpZmZcIiBhbGdvcml0aG0iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0NDAKK21zZ2lkICJnZW5lcmF0ZSBkaWZmIHVzaW5nIHRoZSBcImhpc3RvZ3JhbSBkaWZmXCIgYWxnb3JpdGhtIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDQyCittc2dpZCAiPGFsZ29yaXRobT4iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0NDMKK21zZ2lkICJjaG9vc2UgYSBkaWZmIGFsZ29yaXRobSIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ0NQorbXNnaWQgIjx0ZXh0PiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ0NgorbXNnaWQgImdlbmVyYXRlIGRpZmYgdXNpbmcgdGhlIFwiYW5jaG9yZWQgZGlmZlwiIGFsZ29yaXRobSIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ0OCBkaWZmLmM6NTQ1NyBkaWZmLmM6NTQ2MAorbXNnaWQgIjxtb2RlPiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ0OQorbXNnaWQgInNob3cgd29yZCBkaWZmLCB1c2luZyA8bW9kZT4gdG8gZGVsaW1pdCBjaGFuZ2VkIHdvcmRzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDUxIGRpZmYuYzo1NDU0IGRpZmYuYzo1NDk5Cittc2dpZCAiPHJlZ2V4PiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ1MgorbXNnaWQgInVzZSA8cmVnZXg+IHRvIGRlY2lkZSB3aGF0IGEgd29yZCBpcyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ1NQorbXNnaWQgImVxdWl2YWxlbnQgdG8gLS13b3JkLWRpZmY9Y29sb3IgLS13b3JkLWRpZmYtcmVnZXg9PHJlZ2V4PiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ1OAorbXNnaWQgIm1vdmVkIGxpbmVzIG9mIGNvZGUgYXJlIGNvbG9yZWQgZGlmZmVyZW50bHkiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0NjEKK21zZ2lkICJob3cgd2hpdGUgc3BhY2VzIGFyZSBpZ25vcmVkIGluIC0tY29sb3ItbW92ZWQiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0NjQKK21zZ2lkICJPdGhlciBkaWZmIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0NjYKK21zZ2lkICJ3aGVuIHJ1biBmcm9tIHN1YmRpciwgZXhjbHVkZSBjaGFuZ2VzIG91dHNpZGUgYW5kIHNob3cgcmVsYXRpdmUgcGF0aHMiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0NzAKK21zZ2lkICJ0cmVhdCBhbGwgZmlsZXMgYXMgdGV4dCIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ3MgorbXNnaWQgInN3YXAgdHdvIGlucHV0cywgcmV2ZXJzZSB0aGUgZGlmZiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ3NAorbXNnaWQgImV4aXQgd2l0aCAxIGlmIHRoZXJlIHdlcmUgZGlmZmVyZW5jZXMsIDAgb3RoZXJ3aXNlIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDc2Cittc2dpZCAiZGlzYWJsZSBhbGwgb3V0cHV0IG9mIHRoZSBwcm9ncmFtIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDc4Cittc2dpZCAiYWxsb3cgYW4gZXh0ZXJuYWwgZGlmZiBoZWxwZXIgdG8gYmUgZXhlY3V0ZWQiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0ODAKK21zZ2lkICJydW4gZXh0ZXJuYWwgdGV4dCBjb252ZXJzaW9uIGZpbHRlcnMgd2hlbiBjb21wYXJpbmcgYmluYXJ5IGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDgyCittc2dpZCAiPHdoZW4+IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDgzCittc2dpZCAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcyBpbiB0aGUgZGlmZiBnZW5lcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDg2Cittc2dpZCAiPGZvcm1hdD4iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0ODcKK21zZ2lkICJzcGVjaWZ5IGhvdyBkaWZmZXJlbmNlcyBpbiBzdWJtb2R1bGVzIGFyZSBzaG93biIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ5MQorbXNnaWQgImhpZGUgJ2dpdCBhZGQgLU4nIGVudHJpZXMgZnJvbSB0aGUgaW5kZXgiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU0OTQKK21zZ2lkICJ0cmVhdCAnZ2l0IGFkZCAtTicgZW50cmllcyBhcyByZWFsIGluIHRoZSBpbmRleCIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTQ5NgorbXNnaWQgIjxzdHJpbmc+IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NDk3Cittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisic3RyaW5nIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NTAwCittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisicmVnZXgiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU1MDMKK21zZ2lkICJzaG93IGFsbCBjaGFuZ2VzIGluIHRoZSBjaGFuZ2VzZXQgd2l0aCAtUyBvciAtRyIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTUwNgorbXNnaWQgInRyZWF0IDxzdHJpbmc+IGluIC1TIGFzIGV4dGVuZGVkIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NTUwOQorbXNnaWQgImNvbnRyb2wgdGhlIG9yZGVyIGluIHdoaWNoIGZpbGVzIGFwcGVhciBpbiB0aGUgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NTEwCittc2dpZCAiPG9iamVjdC1pZD4iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU1MTEKK21zZ2lkICIiCisibG9vayBmb3IgZGlmZmVyZW5jZXMgdGhhdCBjaGFuZ2UgdGhlIG51bWJlciBvZiBvY2N1cnJlbmNlcyBvZiB0aGUgc3BlY2lmaWVkICIKKyJvYmplY3QiCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU1MTMKK21zZ2lkICJbKEF8Q3xEfE18UnxUfFV8WHxCKS4uLlsqXV0iCittc2dzdHIgIiIKKworIzogZGlmZi5jOjU1MTQKK21zZ2lkICJzZWxlY3QgZmlsZXMgYnkgZGlmZiB0eXBlIgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NTE2Cittc2dpZCAiPGZpbGU+IgorbXNnc3RyICIiCisKKyM6IGRpZmYuYzo1NTE3Cittc2dpZCAiT3V0cHV0IHRvIGEgc3BlY2lmaWMgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaWZmLmM6NjE1MAogbXNnaWQgImluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiB3YXMgc2tpcHBlZCBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgogbXNnc3RyICLQvdC10YLQvtGH0L3QvtC1INC+0L/RgNC10LTQtdC70LXQvdC40LUg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjRjyDQsdGL0LvQviDQv9GA0L7Qv9GD0YnQtdC90L4g0LjQty3Qt9CwINGB0LvQuNGI0LrQvtC8INCx0L7Qu9GM0YjQvtCz0L4g0LrQvtC70LjRh9C10YHRgtCy0LAg0YTQsNC50LvQvtCyLiIKIAotIzogZGlmZi5jOjU3NjkKKyM6IGRpZmYuYzo2MTUzCiBtc2dpZCAib25seSBmb3VuZCBjb3BpZXMgZnJvbSBtb2RpZmllZCBwYXRocyBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgogbXNnc3RyICLQvdCw0LnQtNC10L3RiyDRgtC+0LvRjNC60L4g0LrQvtC/0LjQuCDQuNC3INC40LfQvNC10L3QtdC90L3Ri9GFINC/0YPRgtC10Lkg0LjQty3Qt9CwINGB0LvQuNGI0LrQvtC8INCx0L7Qu9GM0YjQvtCz0L4g0LrQvtC70LjRh9C10YHRgtCy0LAg0YTQsNC50LvQvtCyLiIKIAotIzogZGlmZi5jOjU3NzIKKyM6IGRpZmYuYzo2MTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ5b3UgbWF5IHdhbnQgdG8gc2V0IHlvdXIgJXMgdmFyaWFibGUgdG8gYXQgbGVhc3QgJWQgYW5kIHJldHJ5IHRoZSBjb21tYW5kLiIKIG1zZ3N0ciAi0LLQvtC30LzQvtC20L3QviDQstGLINC30LDRhdC+0YLQuNGC0LUg0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0L/QtdGA0LXQvNC10L3QvdGD0Y4gJXMg0LIg0LrQsNC6INC80LjQvdC40LzRg9C8INC30L3QsNGH0LXQvdC40LUgJWQg0Lgg0L/QvtCy0YLQvtGA0LjRgtGMINCy0YvQt9C+0LIg0LrQvtC80LDQvdC00YsuIgogCi0jOiBkaXIuYzo1NjkKKyM6IGRpci5jOjUzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGUocykga25vd24gdG8gZ2l0IgogbXNnc3RyICIiCiAKLSM6IGRpci5jOjk1OAorIzogZGlyLmM6OTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB1c2UgJXMgYXMgYW4gZXhjbHVkZSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGRpci5jOjE4NzMKKyM6IGRpci5jOjE4NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywg0LrQsNGC0LDQu9C+0LMgwqslc8K7IgogCi0jOiBkaXIuYzoyMTE1CisjOiBkaXIuYzoyMDg1CiBtc2dpZCAiZmFpbGVkIHRvIGdldCBrZXJuZWwgbmFtZSBhbmQgaW5mb3JtYXRpb24iCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDQuNC80Y8g0Y/QtNGA0LAg0Lgg0LjQvdGE0L7RgNC80LDRhtC40Y4iCiAKLSM6IGRpci5jOjIyMzkKKyM6IGRpci5jOjIyMDkKIG1zZ2lkICJ1bnRyYWNrZWQgY2FjaGUgaXMgZGlzYWJsZWQgb24gdGhpcyBzeXN0ZW0gb3IgbG9jYXRpb24iCiBtc2dzdHIgIiIKIAotIzogZGlyLmM6MzAzNworIzogZGlyLmM6MzAxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQgaW4gcmVwbyAlcyIKIG1zZ3N0ciAiIgogCi0jOiBkaXIuYzozMDgyIGRpci5jOjMwODcKKyM6IGRpci5jOjMwNTggZGlyLmM6MzA2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yaWVzIGZvciAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQutCw0YLQsNC70L7Qs9C4INC00LvRjyAlcyIKIAotIzogZGlyLmM6MzExNgorIzogZGlyLmM6MzA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbWlncmF0ZSBnaXQgZGlyZWN0b3J5IGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LzQtdGB0YLQuNGC0Ywg0LrQsNGC0LDQu9C+0LMgZ2l0INGBIMKrJXPCuyDQsiDCqyVzwrsiCiAKLSM6IGVkaXRvci5jOjYxCisjOiBlZGl0b3IuYzo3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJoaW50OiBXYWl0aW5nIGZvciB5b3VyIGVkaXRvciB0byBjbG9zZSB0aGUgZmlsZS4uLiVjIgogbXNnc3RyICLQv9C+0LTRgdC60LDQt9C60LA6INCe0LbQuNC00LDQvdC40LUsINC/0L7QutCwINCy0Ysg0LfQsNC60YDQvtC10YLQtSDRgNC10LTQsNC60YLQvtGAINGBINGE0LDQudC70L7QvOKApiVjIgpAQCAtMjE2Niw3ICsyODUzLDcgQEAKIG1zZ2lkICJGaWx0ZXJpbmcgY29udGVudCIKIG1zZ3N0ciAi0KTQuNC70YzRgtGA0YPQtdGC0YHRjyDRgdC+0LTQtdGA0LbQuNC80L7QtSIKIAotIzogZW50cnkuYzo0MzcKKyM6IGVudHJ5LmM6NDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGF0IGZpbGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywgc3RhdCDQtNC70Y8g0YTQsNC50LvQsCDCqyVzwrsiCkBAIC0yMTgxLDcgKzI4NjgsNyBAQAogbXNnaWQgImNvdWxkIG5vdCBzZXQgR0lUX0RJUiB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGV4ZWMtY21kLmM6MzYxCisjOiBleGVjLWNtZC5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0b28gbWFueSBhcmdzIHRvIHJ1biAlcyIKIG1zZ3N0ciAiIgpAQCAtMjE5MCwyNDQgKzI4NzcsMjY0IEBACiBtc2dpZCAiUmVtb3RlIHdpdGggbm8gVVJMIgogbXNnc3RyICLQktC90LXRiNC90LjQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5INCx0LXQtyBVUkwiCiAKLSM6IGZldGNoLXBhY2suYzoxNTIKKyM6IGZldGNoLXBhY2suYzoxNTEKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgc2hhbGxvdyBsaXN0IgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazog0L7QttC40LTQsNC10YLRgdGPINC/0LXRgNC10LTQsNGH0LAg0YHQv9C40YHQutCwINC00LvRjyDQv9C+0LvRg9GH0LXQvdC40LUg0YfQsNGB0YLQuCIKIAotIzogZmV0Y2gtcGFjay5jOjE2NAorIzogZmV0Y2gtcGFjay5jOjE1NAorbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBhIGZsdXNoIHBhY2tldCBhZnRlciBzaGFsbG93IGxpc3QiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjE2NQogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgYSBmbHVzaCBwYWNrZXQiCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrOiDQvtC20LjQtNCw0LXRgtGB0Y8gQUNLL05BSywg0LAg0L/QvtC70YPRh9C10L0g0L/Rg9GB0YLQvtC5INC/0LDQutC10YIiCiAKLSM6IGZldGNoLXBhY2suYzoxODQKKyM6IGZldGNoLXBhY2suYzoxODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCAnJXMnIgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazog0L7QttC40LTQsNC10YLRgdGPIEFDSy9OQUssINCwINC/0L7Qu9GD0YfQtdC90L4gwqslc8K7IgogCi0jOiBmZXRjaC1wYWNrLmM6MjU0CisjOiBmZXRjaC1wYWNrLmM6MTk2Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRvIHJlbW90ZSIKK21zZ3N0ciAiIgorCisjOiBmZXRjaC1wYWNrLmM6MjU4CiBtc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKIG1zZ3N0ciAiLS1zdGF0ZWxlc3MtcnBjINGC0YDQtdCx0YPQtdGCIG11bHRpX2Fja19kZXRhaWxlZCIKIAotIzogZmV0Y2gtcGFjay5jOjM0MiBmZXRjaC1wYWNrLmM6MTI1NworIzogZmV0Y2gtcGFjay5jOjM2MCBmZXRjaC1wYWNrLmM6MTI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNoYWxsb3cgbGluZTogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LDRjyDRgdGC0YDQvtC60LAg0YfQsNGB0YLQuNGH0L3QvtCz0L4g0L/QvtC70YPRh9C10L3QuNGPOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM0OCBmZXRjaC1wYWNrLmM6MTI2MworIzogZmV0Y2gtcGFjay5jOjM2NiBmZXRjaC1wYWNrLmM6MTI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVuc2hhbGxvdyBsaW5lOiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QsNGPINGB0YLRgNC+0LrQsCDQv9C+0LvQvdC+0LPQviDQv9C+0LvRg9GH0LXQvdC40Y86ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzUwIGZldGNoLXBhY2suYzoxMjY1CisjOiBmZXRjaC1wYWNrLmM6MzY4IGZldGNoLXBhY2suYzoxMjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBub3QgZm91bmQ6ICVzIgogbXNnc3RyICLQvtCx0YrQtdC60YIg0L3QtSDQvdCw0LnQtNC10L06ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzUzIGZldGNoLXBhY2suYzoxMjY4CisjOiBmZXRjaC1wYWNrLmM6MzcxIGZldGNoLXBhY2suYzoxMjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGluIG9iamVjdDogJXMiCiBtc2dzdHIgItC+0YjQuNCx0LrQsCDQsiDQvtCx0YrQtdC60YLQtTogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozNTUgZmV0Y2gtcGFjay5jOjEyNzAKKyM6IGZldGNoLXBhY2suYzozNzMgZmV0Y2gtcGFjay5jOjEyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc2hhbGxvdyBmb3VuZDogJXMiCiBtc2dzdHIgItGH0LDRgdGC0LjRh9C90YvQuSDQutC70L7QvSDQvdC1INC90LDQudC00LXQvTogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozNTggZmV0Y2gtcGFjay5jOjEyNzMKKyM6IGZldGNoLXBhY2suYzozNzYgZmV0Y2gtcGFjay5jOjEyODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgc2hhbGxvdy91bnNoYWxsb3csIGdvdCAlcyIKIG1zZ3N0ciAi0L7QttC40LTQsNC70L7RgdGMIHNoYWxsb3cvdW5zaGFsbG93LCDQsCDQv9C+0LvRg9GH0LXQvdC+ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6Mzk5CisjOiBmZXRjaC1wYWNrLmM6NDE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdvdCAlcyAlZCAlcyIKIG1zZ3N0ciAi0L/QvtC70YPRh9C10L3QviAlcyAlZCAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjQxNgorIzogZmV0Y2gtcGFjay5jOjQzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbW1pdCAlcyIKIG1zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INC60L7QvNC80LjRgiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjQ0NworIzogZmV0Y2gtcGFjay5jOjQ2NQogbXNnaWQgImdpdmluZyB1cCIKIG1zZ3N0ciAi0L7RgdGC0LDQvdCw0LLQu9C40LLQsNGOINC00LDQu9GM0L3QtdC50YjQuNC1INC/0L7Qv9GL0YLQutC4IgogCi0jOiBmZXRjaC1wYWNrLmM6NDU5IHByb2dyZXNzLmM6MjI5CisjOiBmZXRjaC1wYWNrLmM6NDc3IHByb2dyZXNzLmM6Mjg0CiBtc2dpZCAiZG9uZSIKIG1zZ3N0ciAi0LPQvtGC0L7QstC+IgogCi0jOiBmZXRjaC1wYWNrLmM6NDcxCisjOiBmZXRjaC1wYWNrLmM6NDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImdvdCAlcyAoJWQpICVzIgogbXNnc3RyICLQv9C+0LvRg9GH0LXQvdC+ICVzICglZCkgJXMiCiAKLSM6IGZldGNoLXBhY2suYzo1MTcKKyM6IGZldGNoLXBhY2suYzo1MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFya2luZyAlcyBhcyBjb21wbGV0ZSIKIG1zZ3N0ciAi0J/QvtC80LXRh9Cw0Y4gJXMg0LrQsNC6INC30LDQstC10YDRiNC10L3QvdGL0LkiCiAKLSM6IGZldGNoLXBhY2suYzo3NjQKKyM6IGZldGNoLXBhY2suYzo3NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWxyZWFkeSBoYXZlICVzICglcykiCiBtc2dzdHIgItGD0LbQtSDQtdGB0YLRjCAlcyAoJXMpIgogCi0jOiBmZXRjaC1wYWNrLmM6ODAzCisjOiBmZXRjaC1wYWNrLmM6NzgzCiBtc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCiBtc2dzdHIgImZldGNoLXBhY2s6INC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0YPRgdGC0LjRgtGMINC/0YDQvtCz0YDQsNC80LzRgyDRgNCw0LfQsdC+0YDQsCDQtNCw0L3QvdGL0YUiCiAKLSM6IGZldGNoLXBhY2suYzo4MTEKKyM6IGZldGNoLXBhY2suYzo3OTEKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIHBhY2sgaGVhZGVyIgogbXNnc3RyICLQvtGI0LjQsdC60LAg0L/RgNC+0YLQvtC60L7Qu9CwOiDQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0LfQsNCz0L7Qu9C+0LLQvtC6INC/0L7RgtC+0LrQsCIKIAotIzogZmV0Y2gtcGFjay5jOjg3OQorIzogZmV0Y2gtcGFjay5jOjg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgJXMiCiBtc2dzdHIgImZldGNoLXBhY2s6INC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0YPRgdGC0LjRgtGMINC/0YDQvtCz0YDQsNC80LzRgyAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjg5NQorIzogZmV0Y2gtcGFjay5jOjg3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBmYWlsZWQiCiBtc2dzdHIgIiVzINC30LDQstC10YDRiNC10L0g0YEg0L7RiNC40LHQutC+0LkiCiAKLSM6IGZldGNoLXBhY2suYzo4OTcKKyM6IGZldGNoLXBhY2suYzo4NzcKIG1zZ2lkICJlcnJvciBpbiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgogbXNnc3RyICLQv9GA0L7QuNC30L7RiNC70LAgINC+0YjQuNCx0LrQsCDQsiAg0L/RgNC+0LPRgNCw0LzQvNC1INGA0LDQt9Cx0L7RgNCwINC00LDQvdC90YvRhSIKIAotIzogZmV0Y2gtcGFjay5jOjkyNgorIzogZmV0Y2gtcGFjay5jOjkwNgogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgY2xpZW50cyIKIG1zZ3N0ciAi0KHQtdGA0LLQtdGAINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCINC60LvQuNC10L3RgtC+0LIg0YEg0YfQsNGB0YLQuNGH0L3Ri9C8INC60LvQvtC90LjRgNC+0LLQsNC90LjQtdC8IgogCi0jOiBmZXRjaC1wYWNrLmM6OTMwCisjOiBmZXRjaC1wYWNrLmM6OTEwCiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2Fja19kZXRhaWxlZCIKIG1zZ3N0ciAi0KHQtdGA0LLQtdGAINC/0L7QtNC00LXRgNC20LjQstCw0LXRgiBtdWx0aV9hY2tfZGV0YWlsZWQiCiAKLSM6IGZldGNoLXBhY2suYzo5MzMKKyM6IGZldGNoLXBhY2suYzo5MTMKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbm8tZG9uZSIKIG1zZ3N0ciAi0KHQtdGA0LLQtdGAINC/0L7QtNC00LXRgNC20LjQstCw0LXRgiBuby1kb25lIgogCi0jOiBmZXRjaC1wYWNrLmM6OTM5CisjOiBmZXRjaC1wYWNrLmM6OTE5CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2FjayIKIG1zZ3N0ciAi0KHQtdGA0LLQtdGAINC/0L7QtNC00LXRgNC20LjQstCw0LXRgiBtdWx0aV9hY2siCiAKLSM6IGZldGNoLXBhY2suYzo5NDMKKyM6IGZldGNoLXBhY2suYzo5MjMKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kLTY0ayIKIG1zZ3N0ciAi0KHQtdGA0LLQtdGAINC/0L7QtNC00LXRgNC20LjQstCw0LXRgiBzaWRlLWJhbmQtNjRrIgogCi0jOiBmZXRjaC1wYWNrLmM6OTQ3CisjOiBmZXRjaC1wYWNrLmM6OTI3CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZCIKIG1zZ3N0ciAi0KHQtdGA0LLQtdGAINC/0L7QtNC00LXRgNC20LjQstCw0LXRgiBzaWRlLWJhbmQiCiAKLSM6IGZldGNoLXBhY2suYzo5NTEKKyM6IGZldGNoLXBhY2suYzo5MzEKIG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctdGlwLXNoYTEtaW4td2FudCIKIG1zZ3N0ciAi0KHQtdGA0LLQtdGAINC/0L7QtNC00LXRgNC20LjQstCw0LXRgiBhbGxvdy10aXAtc2hhMS1pbi13YW50IgogCi0jOiBmZXRjaC1wYWNrLmM6OTU1CisjOiBmZXRjaC1wYWNrLmM6OTM1CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCiBtc2dzdHIgItCh0LXRgNCy0LXRgCDQv9C+0LTQtNC10YDQttC40LLQsNC10YIgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKIAotIzogZmV0Y2gtcGFjay5jOjk2NQorIzogZmV0Y2gtcGFjay5jOjk0NQogbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBvZnMtZGVsdGEiCiBtc2dzdHIgItCh0LXRgNCy0LXRgCDQv9C+0LTQtNC10YDQttC40LLQsNC10YIgb2ZzLWRlbHRhIgogCi0jOiBmZXRjaC1wYWNrLmM6OTcxIGZldGNoLXBhY2suYzoxMTUwCisjOiBmZXRjaC1wYWNrLmM6OTUxIGZldGNoLXBhY2suYzoxMTQ0CiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIGZpbHRlciIKIG1zZ3N0ciAi0KHQtdGA0LLQtdGAINC/0L7QtNC00LXRgNC20LjQstCw0LXRgiDRhNC40LvRjNGC0YDQsNGG0LjRjiIKIAotIzogZmV0Y2gtcGFjay5jOjk3OQorIzogZmV0Y2gtcGFjay5jOjk1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgdmVyc2lvbiBpcyAlLipzIgogbXNnc3RyICLQktC10YDRgdC40Y8g0YHQtdGA0LLQtdGA0LAgJS4qcyIKIAotIzogZmV0Y2gtcGFjay5jOjk4NQorIzogZmV0Y2gtcGFjay5jOjk2NQogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1zaW5jZSIKIG1zZ3N0ciAi0KHQtdGA0LLQtdGAINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIC0tc2hhbGxvdy1zaW5jZSIKIAotIzogZmV0Y2gtcGFjay5jOjk4OQorIzogZmV0Y2gtcGFjay5jOjk2OQogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1leGNsdWRlIgogbXNnc3RyICLQodC10YDQstC10YAg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YIgLS1zaGFsbG93LWV4Y2x1ZGUiCiAKLSM6IGZldGNoLXBhY2suYzo5OTEKKyM6IGZldGNoLXBhY2suYzo5NzEKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLWRlZXBlbiIKIG1zZ3N0ciAi0KHQtdGA0LLQtdGAINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIC0tZGVlcGVuIgogCi0jOiBmZXRjaC1wYWNrLmM6MTAwNAorIzogZmV0Y2gtcGFjay5jOjk4OAogbXNnaWQgIm5vIGNvbW1vbiBjb21taXRzIgogbXNnc3RyICLQvdC1INC+0LHRidC40YUg0LrQvtC80LzQuNGC0L7QsiIKIAotIzogZmV0Y2gtcGFjay5jOjEwMTYgZmV0Y2gtcGFjay5jOjEzOTMKKyM6IGZldGNoLXBhY2suYzoxMDAwIGZldGNoLXBhY2suYzoxNDQ5CiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGZldGNoIGZhaWxlZC4iCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrOiDQvtGI0LjQsdC60LAg0L/RgNC4INC/0L7Qu9GD0YfQtdC90LjQuCDQtNCw0L3QvdGL0YUuIgogCi0jOiBmZXRjaC1wYWNrLmM6MTE0NQorIzogZmV0Y2gtcGFjay5jOjExMzgKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IHJlcXVlc3RzIgogbXNnc3RyICLQodC10YDQstC10YAg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0YfQsNGB0YLQuNGH0L3Ri9C1INC30LDQv9GA0L7RgdGLIgogCi0jOiBmZXRjaC1wYWNrLmM6MTE5MQorIzogZmV0Y2gtcGFjay5jOjExNzEKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcmVxdWVzdCB0byByZW1vdGUiCittc2dzdHIgIiIKKworIzogZmV0Y2gtcGFjay5jOjExODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcmVhZGluZyBzZWN0aW9uIGhlYWRlciAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzoxMTk3CisjOiBmZXRjaC1wYWNrLmM6MTE5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCAnJXMnLCByZWNlaXZlZCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGZldGNoLXBhY2suYzoxMjM2CisjOiBmZXRjaC1wYWNrLmM6MTIzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFja25vd2xlZGdtZW50IGxpbmU6ICclcyciCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjEyNDEKKyM6IGZldGNoLXBhY2suYzoxMjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHByb2Nlc3NpbmcgYWNrczogJWQiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjEyNzgKKyM6IGZldGNoLXBhY2suYzoxMjQ5Cittc2dpZCAiZXhwZWN0ZWQgcGFja2ZpbGUgdG8gYmUgc2VudCBhZnRlciAncmVhZHknIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzoxMjUxCittc2dpZCAiZXhwZWN0ZWQgbm8gb3RoZXIgc2VjdGlvbnMgdG8gYmUgc2VudCBhZnRlciBubyAncmVhZHknIgorbXNnc3RyICIiCisKKyM6IGZldGNoLXBhY2suYzoxMjkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHByb2Nlc3Npbmcgc2hhbGxvdyBpbmZvOiAlZCIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6MTI5NAorIzogZmV0Y2gtcGFjay5jOjEzNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgd2FudGVkLXJlZiwgZ290ICclcyciCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjEzMDQKKyM6IGZldGNoLXBhY2suYzoxMzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgd2FudGVkLXJlZjogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBmZXRjaC1wYWNrLmM6MTMwOAorIzogZmV0Y2gtcGFjay5jOjEzNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcHJvY2Vzc2luZyB3YW50ZWQgcmVmczogJWQiCiBtc2dzdHIgIiIKIAotIzogZmV0Y2gtcGFjay5jOjE2MDMKKyM6IGZldGNoLXBhY2suYzoxNjc2CiBtc2dpZCAibm8gbWF0Y2hpbmcgcmVtb3RlIGhlYWQiCiBtc2dzdHIgItC90LXRgiDRgdC+0L7RgtCy0LXRgdGC0LLRg9GO0YnQtdCz0L4g0LLQvdC10YjQvdC10LPQviDRg9C60LDQt9Cw0YLQtdC70Y8g0L3QsCDQstC10YLQutGDIgogCi0jOiBmZXRjaC1wYWNrLmM6MTYyMSBidWlsdGluL2Nsb25lLmM6NjY0CisjOiBmZXRjaC1wYWNrLmM6MTY5OSBidWlsdGluL2Nsb25lLmM6NjczCiBtc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCiBtc2dzdHIgItCy0L3QtdGI0L3QuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0L/RgNC40YHQu9Cw0Lsg0L3QtSDQstGB0LUg0L3QtdC+0LHRhdC+0LTQuNC80YvQtSDQvtCx0YrQtdC60YLRiyIKIAotIzogZmV0Y2gtcGFjay5jOjE2NDcKKyM6IGZldGNoLXBhY2suYzoxNzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcmVtb3RlIHJlZiAlcyIKIG1zZ3N0ciAi0L3QtdGCINGC0LDQutC+0Lkg0LLQvdC10YjQvdC10Lkg0YHRgdGL0LvQutC4ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MTY1MAorIzogZmV0Y2gtcGFjay5jOjE3MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IGFsbG93IHJlcXVlc3QgZm9yIHVuYWR2ZXJ0aXNlZCBvYmplY3QgJXMiCiBtc2dzdHIgItCh0LXRgNCy0LXRgCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgiDQt9Cw0L/RgNC+0YEg0L3QtdC+0LHRitGP0LLQu9C10L3QvdC+0LPQviDQvtCx0YrQtdC60YLQsCAlcyIKIAotIzogZ3BnLWludGVyZmFjZS5jOjI1MworIzogZ3BnLWludGVyZmFjZS5jOjMxOAogbXNnaWQgImdwZyBmYWlsZWQgdG8gc2lnbiB0aGUgZGF0YSIKIG1zZ3N0ciAiZ3BnINC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC00L/QuNGB0LDRgtGMINC00LDQvdC90YvQtSIKIAotIzogZ3BnLWludGVyZmFjZS5jOjI3OQorIzogZ3BnLWludGVyZmFjZS5jOjM0NAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LLRgNC10LzQtdC90L3Ri9C5INGE0LDQudC7IgogCi0jOiBncGctaW50ZXJmYWNlLmM6MjgyCisjOiBncGctaW50ZXJmYWNlLmM6MzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIgogbXNnc3RyICLRgdCx0L7QuSDQt9Cw0L/QuNGB0Lgg0L7RgtGB0L7QtdC00LjQvdC10L3QvdC+0Lkg0L/QvtC00L/QuNGB0Lgg0LIgwqslc8K7IgpAQCAtMjQzNywxOCArMzE0NCwxOCBAQAogbXNnaWQgImlnbm9yZSBpbnZhbGlkIGNvbG9yICclLipzJyBpbiBsb2cuZ3JhcGhDb2xvcnMiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0YPRjiDQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0YbQstC10YIgwqslLipzwrsg0LIgbG9nLmdyYXBoQ29sb3JzIgogCi0jOiBncmVwLmM6MjExNQorIzogZ3JlcC5jOjIxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIsKrJXPCuzog0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C10YHRgtGMICVzIgogCi0jOiBncmVwLmM6MjEzMiBzZXR1cC5jOjE2NCBidWlsdGluL2Nsb25lLmM6NDEwIGJ1aWx0aW4vZGlmZi5jOjgxCi0jOiBidWlsdGluL3JtLmM6MTM0CisjOiBncmVwLmM6MjEzMCBzZXR1cC5jOjE2NCBidWlsdGluL2Nsb25lLmM6NDExIGJ1aWx0aW4vZGlmZi5jOjgyCisjOiBidWlsdGluL3JtLmM6MTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIHN0YXQgwqslc8K7IgogCi0jOiBncmVwLmM6MjE0MworIzogZ3JlcC5jOjIxNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogc2hvcnQgcmVhZCIKIG1zZ3N0ciAiwqslc8K7OiDRgdC70LjRiNC60L7QvCDQvNCw0LvQviDQtNCw0L3QvdGL0YUg0L/RgNC+0YfQuNGC0LDQvdC+IgpAQCAtMjUwNSw2MCArMzIxMiw3MiBAQAogbXNnaWQgIkxvdy1sZXZlbCBDb21tYW5kcyAvIEludGVybmFsIEhlbHBlcnMiCiBtc2dzdHIgItCd0LjQt9C60L7Rg9GA0L7QstC90LXQstGL0LUg0LrQvtC80LDQvdC00YsgLyDQktC90YPRgtGA0LXQvdC90LjQtSDQstGB0L/QvtC80L7Qs9Cw0YLQtdC70YzQvdGL0LUiCiAKLSM6IGhlbHAuYzoyOTMKKyM6IGhlbHAuYzoyOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYXZhaWxhYmxlIGdpdCBjb21tYW5kcyBpbiAnJXMnIgogbXNnc3RyICLQtNC+0YHRgtGD0L/QvdGL0LUg0LrQvtC80LDQvdC00YsgZ2l0INCyIMKrJXPCuyIKIAotIzogaGVscC5jOjMwMAorIzogaGVscC5jOjMwNQogbXNnaWQgImdpdCBjb21tYW5kcyBhdmFpbGFibGUgZnJvbSBlbHNld2hlcmUgb24geW91ciAkUEFUSCIKIG1zZ3N0ciAi0LrQvtC80LDQvdC00YsgZ2l0LCDQtNC+0YHRgtGD0L/QvdGL0LUg0LIg0LTRgNGD0LPQuNGFINC80LXRgdGC0LDRhSDQstCw0YjQtdCz0L4gJFBBVEgiCiAKLSM6IGhlbHAuYzozMDkKKyM6IGhlbHAuYzozMTQKIG1zZ2lkICJUaGVzZSBhcmUgY29tbW9uIEdpdCBjb21tYW5kcyB1c2VkIGluIHZhcmlvdXMgc2l0dWF0aW9uczoiCiBtc2dzdHIgItCh0YLQsNC90LTQsNGA0YLQvdGL0LUg0LrQvtC80LDQvdC00YsgR2l0INC40YHQv9C+0LvRjNC30YPQtdC80YvQtSDQsiDRgNCw0LfQu9C40YfQvdGL0YUg0YHQuNGC0YPQsNGG0LjRj9GFOiIKIAotIzogaGVscC5jOjM1OCBnaXQuYzo5MAorIzogaGVscC5jOjM2MyBnaXQuYzo5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIGxpc3RpbmcgdHlwZSAnJXMnIgogbXNnc3RyICLQvdC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80YvQuSDRgtC40L8g0YHQv9C40YHQutCwINC60L7QvNCw0L3QtCDCqyVzwrsiCiAKLSM6IGhlbHAuYzo0MDUKKyM6IGhlbHAuYzo0MDMKIG1zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOiIKIG1zZ3N0ciAi0J7RgdC90L7QstC90YvQtSDRgNGD0LrQvtCy0L7QtNGB0YLQstCwIEdpdDoiCiAKLSM6IGhlbHAuYzo1NTIKKyM6IGhlbHAuYzo1MTIKK21zZ2lkICJTZWUgJ2dpdCBoZWxwIDxjb21tYW5kPicgdG8gcmVhZCBhYm91dCBhIHNwZWNpZmljIHN1YmNvbW1hbmQiCittc2dzdHIgItCX0LDQv9GD0YHRgtC40YLQtSDCq2dpdCBoZWxwIDzQutC+0LzQsNC90LTQsD7Cuywg0YfRgtC+0LHRiyDQv9GA0L7Rh9C10YHRgtGMINC+INC60L7QvdC60YDQtdGC0L3QvtC5INC/0L7QtNC60L7QvNCw0L3QtNC1IgorCisjOiBoZWxwLmM6NTE3Cittc2dpZCAiRXh0ZXJuYWwgY29tbWFuZHMiCittc2dzdHIgIiIKKworIzogaGVscC5jOjUzMgorbXNnaWQgIkNvbW1hbmQgYWxpYXNlcyIKK21zZ3N0ciAiIgorCisjOiBoZWxwLmM6NTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnIGFwcGVhcnMgdG8gYmUgYSBnaXQgY29tbWFuZCwgYnV0IHdlIHdlcmUgbm90XG4iCiAiYWJsZSB0byBleGVjdXRlIGl0LiBNYXliZSBnaXQtJXMgaXMgYnJva2VuPyIKIG1zZ3N0ciAiwqslc8K7INC/0L7RhdC+0LbQtSDQvdCwINC60L7QvNCw0L3QtNGDIGdpdCwg0L3QviDQvdCw0Lwg0L3QtSDRg9C00LDQu9C+0YHRjCDQtdC1INC30LDQv9GD0YHRgtC40YLRjC4g0JLQvtC30LzQvtC20L3QviwgZ2l0LSVzICDQvdC1INGA0LDQsdC+0YLQsNC10YI/IgogCi0jOiBoZWxwLmM6NjExCisjOiBoZWxwLmM6NjU1CiBtc2dpZCAiVWggb2guIFlvdXIgc3lzdGVtIHJlcG9ydHMgbm8gR2l0IGNvbW1hbmRzIGF0IGFsbC4iCiBtc2dzdHIgItCe0Lkt0ZHQuSEg0JLQsNGI0LAg0YHQuNGB0YLQtdC80LAg0L3QtSDRgdC+0L7QsdGJ0LDQtdGCINC90Lgg0L4g0LrQsNC60LjRhSDQutC+0LzQsNC90LTQsNGFIEdpdCDQstC+0L7QsdGJ0LUuIgogCi0jOiBoZWxwLmM6NjMzCisjOiBoZWxwLmM6Njc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IFlvdSBjYWxsZWQgYSBHaXQgY29tbWFuZCBuYW1lZCAnJXMnLCB3aGljaCBkb2VzIG5vdCBleGlzdC4iCiBtc2dzdHIgItCS0L3QuNC80LDQvdC40LU6INCS0Ysg0LfQsNC/0YPRgdGC0LjQu9C4INC90LUg0YHRg9GJ0LXRgdGC0LLRg9GO0YnRg9GOINC60L7QvNCw0L3QtNGDIEdpdCDCqyVzwrsuIgogCi0jOiBoZWxwLmM6NjM4CisjOiBoZWxwLmM6NjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbnRpbnVpbmcgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCB5b3UgbWVhbnQgJyVzJy4iCiBtc2dzdHIgItCf0YDQvtC00L7Qu9C20LDRjiwg0L/RgNC10LTQv9C+0LvQsNCz0LDRjywg0YfRgtC+INCy0Ysg0LjQvNC10LvQuCDQsiDQstC40LTRgyDCqyVzwrsuIgogCi0jOiBoZWxwLmM6NjQzCisjOiBoZWxwLmM6Njg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbnRpbnVpbmcgaW4gJTAuMWYgc2Vjb25kcywgYXNzdW1pbmcgdGhhdCB5b3UgbWVhbnQgJyVzJy4iCiBtc2dzdHIgItCf0YDQvtC00L7Qu9C20YMg0YfQtdGA0LXQtyAlMC4xZiDRgdC10LrRg9C90LQsINC/0YDQtdC00L/QvtC70LDQs9Cw0Y8sINGH0YLQviDQstGLINC40LzQtdC70Lgg0LIg0LLQuNC00YMgwqslc8K7LiIKIAotIzogaGVscC5jOjY1MQorIzogaGVscC5jOjY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQ6ICclcycgaXMgbm90IGEgZ2l0IGNvbW1hbmQuIFNlZSAnZ2l0IC0taGVscCcuIgogbXNnc3RyICJnaXQ6IMKrJXPCuyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LrQvtC80LDQvdC00L7QuSBnaXQuINCh0LzQvtGC0YDQuNGC0LUgwqtnaXQgLS1oZWxwwrsuIgogCi0jOiBoZWxwLmM6NjU1CisjOiBoZWxwLmM6Njk5CiBtc2dpZCAiIgogIlxuIgogIlRoZSBtb3N0IHNpbWlsYXIgY29tbWFuZCBpcyIKQEAgLTI1NzAsMTYgKzMyODksMTYgQEAKIG1zZ3N0clsyXSAiXG7QodCw0LzRi9C1INC/0L7RhdC+0LbQuNC1INC60L7QvNCw0L3QtNGLOiIKIG1zZ3N0clszXSAiXG7QodCw0LzRi9C1INC/0L7RhdC+0LbQuNC1INC60L7QvNCw0L3QtNGLOiIKIAotIzogaGVscC5jOjY3MAorIzogaGVscC5jOjcxNAogbXNnaWQgImdpdCB2ZXJzaW9uIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgdmVyc2lvbiBbPG9wdGlvbnM+XSIKIAotIzogaGVscC5jOjczOAorIzogaGVscC5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXMgLSAlcyIKIG1zZ3N0ciAiJXM6ICVzIOKAlCAlcyIKIAotIzogaGVscC5jOjc0MgorIzogaGVscC5jOjc4NgogbXNnaWQgIiIKICJcbiIKICJEaWQgeW91IG1lYW4gdGhpcz8iCkBAIC0yNTkxLDcgKzMzMTAsNyBAQAogbXNnc3RyWzJdICJcbtCS0L7Qt9C80L7QttC90L4sINCy0Ysg0LjQvNC10LvQuCDQsiDQstC40LTRgyDRh9GC0L4t0YLQviDQuNC3INGN0YLQvtCz0L4/IgogbXNnc3RyWzNdICJcbtCS0L7Qt9C80L7QttC90L4sINCy0Ysg0LjQvNC10LvQuCDQsiDQstC40LTRgyDRh9GC0L4t0YLQviDQuNC3INGN0YLQvtCz0L4/IgogCi0jOiBpZGVudC5jOjM0MgorIzogaWRlbnQuYzozNDkKIG1zZ2lkICIiCiAiXG4iCiAiKioqIFBsZWFzZSB0ZWxsIG1lIHdobyB5b3UgYXJlLlxuIgpAQCAtMjYwNiw0NCArMzMyNSw2NyBAQAogIlxuIgogbXNnc3RyICJcbioqKiDQn9C+0LbQsNC70YPQudGB0YLQsCwg0YHQutCw0LbQuNGC0LUg0LzQvdC1INC60YLQviDQstGLINC10YHRgtGMLlxuXG7Ql9Cw0L/Rg9GB0YLQuNGC0LVcblxuICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgXCJ5b3VAZXhhbXBsZS5jb21cIlxuICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSBcItCS0LDRiNC1INCY0LzRj1wiXG5cbtC00LvRjyDRg9C60LDQt9Cw0L3QuNGPINC40LTQtdC90YLQuNGE0LjQutCw0YbQuNC+0L3QvdGL0YUg0LTQsNC90L3Ri9GFINCw0LrQutCw0YPQvdGC0LAg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4uXG7Qn9GA0L7Qv9GD0YHRgtC40YLQtSDQv9Cw0YDQsNC80LXRgtGAIC0tZ2xvYmFsINC00LvRjyDRg9C60LDQt9Cw0L3QuNGPINC00LDQvdC90YvRhSDRgtC+0LvRjNC60L4g0LTQu9GPINGN0YLQvtCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjy5cblxuIgogCi0jOiBpZGVudC5jOjM2NgorIzogaWRlbnQuYzozNzkKIG1zZ2lkICJubyBlbWFpbCB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgogbXNnc3RyICLQsNC00YDQtdGBINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRiyDQvdC1INGD0LrQsNC30LDQvSDQuCDQsNCy0YLQvtC+0L/RgNC10LTQtdC70LXQvdC40LUg0L7RgtC60LvRjtGH0LXQvdC+IgogCi0jOiBpZGVudC5jOjM3MQorIzogaWRlbnQuYzozODQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGF1dG8tZGV0ZWN0IGVtYWlsIGFkZHJlc3MgKGdvdCAnJXMnKSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywg0LDQstGC0L7QvtC/0YDQtdC00LXQu9C10L3QuNC1INCw0LTRgNC10YHQsCDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0YsgKNC/0L7Qu9GD0YfQtdC90L4gwqslc8K7KSIKIAotIzogaWRlbnQuYzozODEKKyM6IGlkZW50LmM6NDAxCiBtc2dpZCAibm8gbmFtZSB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgogbXNnc3RyICLQuNC80Y8g0L3QtSDRg9C60LDQt9Cw0L3QviDQuCDQsNCy0YLQvtC+0L/RgNC10LTQtdC70LXQvdC40LUg0L7RgtC60LvRjtGH0LXQvdC+IgogCi0jOiBpZGVudC5jOjM4NworIzogaWRlbnQuYzo0MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGF1dG8tZGV0ZWN0IG5hbWUgKGdvdCAnJXMnKSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywg0LDQstGC0L7QvtC/0YDQtdC00LXQu9C10L3QuNC1INC40LzQtdC90LggKNC/0L7Qu9GD0YfQtdC90L4gwqslc8K7KSIKIAotIzogaWRlbnQuYzozOTUKKyM6IGlkZW50LmM6NDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImVtcHR5IGlkZW50IG5hbWUgKGZvciA8JXM+KSBub3QgYWxsb3dlZCIKIG1zZ3N0ciAi0L/Rg9GB0YLQvtC1INC40LzRjyDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNCwICjQtNC70Y8gPCVzPikg0L3QtSDRgNCw0LfRgNC10YjQtdC90L4iCiAKLSM6IGlkZW50LmM6NDAxCisjOiBpZGVudC5jOjQyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJuYW1lIGNvbnNpc3RzIG9ubHkgb2YgZGlzYWxsb3dlZCBjaGFyYWN0ZXJzOiAlcyIKIG1zZ3N0ciAi0LjQvNGPINGB0L7RgdGC0L7QuNGCINGC0L7Qu9GM0LrQviDQuNC3INC90LXRgNCw0LfRgNC10YjQtdC90L3Ri9GFINGB0LjQvNC+0LLQvtC70L7QsjogJXMiCiAKLSM6IGlkZW50LmM6NDE2IGJ1aWx0aW4vY29tbWl0LmM6NjAwCisjOiBpZGVudC5jOjQzNiBidWlsdGluL2NvbW1pdC5jOjYwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0OiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INGE0L7RgNC80LDRgiDQtNCw0YLRizogJXMiCiAKKyM6IGxpc3Qtb2JqZWN0cy5jOjEyOQorIywgYy1mb3JtYXQKK21zZ2lkICJlbnRyeSAnJXMnIGluIHRyZWUgJXMgaGFzIHRyZWUgbW9kZSwgYnV0IGlzIG5vdCBhIHRyZWUiCittc2dzdHIgIiIKKworIzogbGlzdC1vYmplY3RzLmM6MTQyCisjLCBjLWZvcm1hdAorbXNnaWQgImVudHJ5ICclcycgaW4gdHJlZSAlcyBoYXMgYmxvYiBtb2RlLCBidXQgaXMgbm90IGEgYmxvYiIKK21zZ3N0ciAiIgorCisjOiBsaXN0LW9iamVjdHMuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGxvYWQgcm9vdCB0cmVlIGZvciBjb21taXQgJXMiCittc2dzdHIgIiIKKwogIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MzYKIG1zZ2lkICJtdWx0aXBsZSBmaWx0ZXItc3BlY3MgY2Fubm90IGJlIGNvbWJpbmVkIgogbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQvtCx0YrQtdC00LjQvdGP0YLRjCDRhNC40LvRjNGC0YDQsNGG0LjRjiDRgSDQv9C+0LzQvtGJ0YzRjiDQvdC10YHQutC+0LvRjNC60LjRhSDRgdC/0LXRhtC40YTQuNC60LDRhtC40LkiCiAKLSM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjEyNgorIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6NTgKK21zZ2lkICJleHBlY3RlZCAndHJlZTo8ZGVwdGg+JyIKK21zZ3N0ciAiIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzo4NAorbXNnaWQgInNwYXJzZTpwYXRoIGZpbHRlcnMgc3VwcG9ydCBoYXMgYmVlbiBkcm9wcGVkIgorbXNnc3RyICIiCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjE1OAogbXNnaWQgImNhbm5vdCBjaGFuZ2UgcGFydGlhbCBjbG9uZSBwcm9taXNvciByZW1vdGUiCiBtc2dzdHIgItC90LXQu9GM0LfRjyDQuNC30LzQtdC90LjRgtGMINCy0L3QtdGI0L3QuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0L/RgNC4INGH0LDRgdGC0LjRh9C90L7QvCDQutC70L7QvdC40YDQvtCy0LDQvdC40LgiCiAKQEAgLTI2NjQsMTE3ICszNDA2LDExOCBAQAogbXNnaWQgIlVuYWJsZSB0byBjcmVhdGUgJyVzLmxvY2snOiAlcyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDCqyVzLmxvY2vCuzogJXMiCiAKLSM6IG1lcmdlLmM6NDAKKyM6IG1lcmdlLmM6NDEKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgItGB0LHQvtC5INGH0YLQtdC90LjRjyDQutGN0YjQsCIKIAotIzogbWVyZ2UuYzoxMDUgYnVpbHRpbi9hbS5jOjE5NDYgYnVpbHRpbi9hbS5jOjE5ODAgYnVpbHRpbi9jaGVja291dC5jOjM4MAotIzogYnVpbHRpbi9jaGVja291dC5jOjYwOCBidWlsdGluL2Nsb25lLmM6NzYzCisjOiBtZXJnZS5jOjEwNyByZXJlcmUuYzo3MjAgYnVpbHRpbi9hbS5jOjE4ODcgYnVpbHRpbi9hbS5jOjE5MjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NjEgYnVpbHRpbi9jaGVja291dC5jOjgxMSBidWlsdGluL2Nsb25lLmM6NzczCisjOiBidWlsdGluL3N0YXNoLmM6MjY0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0L3QvtCy0YvQuSDRhNCw0LnQuyDQuNC90LTQtdC60YHQsCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMjIKIG1zZ2lkICIoYmFkIGNvbW1pdClcbiIKIG1zZ3N0ciAiKNC/0LvQvtGF0L7QuSDQutC+0LzQvNC40YIpXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9jYWNoZWluZm8gZmFpbGVkIGZvciBwYXRoICclcyc7IG1lcmdlIGFib3J0aW5nLiIKIG1zZ3N0ciAi0YHQsdC+0LkgYWRkX2NhY2hlaW5mbyDQtNC70Y8g0L/Rg9GC0Lggwqslc8K7OyDQvtGC0LzQtdC90LAg0YHQu9C40Y/QvdC40Y8uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMzMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfY2FjaGVpbmZvIGZhaWxlZCB0byByZWZyZXNoIGZvciBwYXRoICclcyc7IG1lcmdlIGFib3J0aW5nLiIKIG1zZ3N0ciAi0YHQsdC+0Lkg0L7QsdC90L7QstC70LXQvdC40Y8gYWRkX2NhY2hlaW5mbyDQtNC70Y8g0L/Rg9GC0Lggwqslc8K7OyDQvtGC0LzQtdC90LAg0YHQu9C40Y/QvdC40Y8uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo0MTUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjQzNwogbXNnaWQgImVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICLQvtGI0LjQsdC60LAg0L/RgNC4INC/0L7RgdGC0YDQvtC10L3QuNC4INC00LXRgNC10LLRjNC10LIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg4NgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODYxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcGF0aCAnJXMnJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0L/Rg9GC0Ywgwqslc8K7JXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg5NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIHRvIG1ha2Ugcm9vbSBmb3Igc3ViZGlyZWN0b3J5XG4iCiBtc2dzdHIgItCj0LTQsNC70LXQvdC40LUgJXMsINGH0YLQvtCx0Ysg0L7RgdCy0L7QsdC+0LTQuNGC0Ywg0LzQtdGB0YLQviDQtNC70Y8g0L/QvtC00LrQsNGC0LDQu9C+0LPQvtCyXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxMSBtZXJnZS1yZWN1cnNpdmUuYzo5MzAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg4NiBtZXJnZS1yZWN1cnNpdmUuYzo5MDUKIG1zZ2lkICI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IgogbXNnc3RyICI6INCy0L7Qt9C80L7QttC90L4sINC60L7QvdGE0LvQuNC60YIg0LrQsNGC0LDQu9C+0LPQvtCyL9GE0LDQudC70L7Qsj8iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkyMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODk1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJyVzJyIKIG1zZ3N0ciAi0L7RgtC60LDQtyDQv9C+0YLQtdGA0Lgg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzQvtCz0L4g0YTQsNC50LvQsCDQsiDCqyVzwrsiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk2MiBidWlsdGluL2NhdC1maWxlLmM6MzkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkzNiBidWlsdGluL2NhdC1maWxlLmM6NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzICclcyciCiBtc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC/0YDQvtGH0LjRgtCw0YLRjCDQvtCx0YrQtdC60YIgJXMgwqslc8K7IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5NjQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgogbXNnc3RyICLQvtC20LjQtNCw0LXRgtGB0Y8g0LTQstC+0LjRh9C90YvQuSDQvtCx0YrQtdC60YIg0LTQu9GPICVzIMKrJXPCuyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTg4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJzogJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywgwqslc8K7OiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTk5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJzogJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0YHQuNC80LLQvtC70YzQvdGD0Y4g0YHRgdGL0LvQutGDIMKrJXPCuzogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwMDQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJkbyBub3Qga25vdyB3aGF0IHRvIGRvIHdpdGggJTA2byAlcyAnJXMnIgogbXNnc3RyICLQvdC1INC/0L7QvdGP0YLQvdC+LCDRh9GC0L4g0LTQtdC70LDRgtGMINGBICUwNm8gJXMgwqslc8K7IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTkxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG5vdCBjaGVja2VkIG91dCkiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YHQu9C40YLRjCDQv9C+0LTQvNC+0LTRg9C70YwgJXMgKNGB0L7RgdGC0L7Rj9C90LjQtSDQvdC1INC30LDQsdGA0LDQvdC+KSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE5OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChjb21taXRzIG5vdCBwcmVzZW50KSIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC70LjRgtGMINC/0L7QtNC80L7QtNGD0LvRjCAlcyAo0L3QtdGCINC60L7QvNC80LjRgtC+0LIpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjA1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKGNvbW1pdHMgZG9uJ3QgZm9sbG93IG1lcmdlLWJhc2UpIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0LvQuNGC0Ywg0L/QvtC00LzQvtC00YPQu9GMICVzICjRgyDQutC+0LzQvNC40YLQvtCyINC00YDRg9Cz0LDRjyDQsdCw0LfQsCDRgdC70LjRj9C90LjRjykiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMTMgbWVyZ2UtcmVjdXJzaXZlLmM6MTIyNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE5NyBtZXJnZS1yZWN1cnNpdmUuYzoxMjA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGluZyBzdWJtb2R1bGUgJXMgdG8gdGhlIGZvbGxvd2luZyBjb21taXQ6IgogbXNnc3RyICLQn9C10YDQtdC80L7RgtC60LAg0LLQv9C10YDQtdC0INC/0L7QtNC80L7QtNGD0LvRjyAlcyDQtNC+INGD0LrQsNC30LDQvdC90L7Qs9C+INC60L7QvNC80LjRgtCwOiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIxNiBtZXJnZS1yZWN1cnNpdmUuYzoxMjI4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjAwIG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkaW5nIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAi0J/QtdGA0LXQvNC+0YLQutCwINCy0L/QtdGA0LXQtCDQv9C+0LTQvNC+0LTRg9C70Y8gJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobWVyZ2UgZm9sbG93aW5nIGNvbW1pdHMgbm90IGZvdW5kKSIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC70LjRgtGMINC/0L7QtNC80L7QtNGD0LvRjCAlcyAo0L3QtdGCINGD0LrQsNC30LDQvdC90YvRhSDQutC+0LzQvNC40YLQvtCyINC00LvRjyDRgdC70LjRj9C90LjRjykiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobm90IGZhc3QtZm9yd2FyZCkiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YHQu9C40YLRjCDQv9C+0LTQvNC+0LTRg9C70YwgJXMgKNC90LXQu9GM0LfRjyDRgdC00LXQu9Cw0YLRjCDQv9C10YDQtdC80L7RgtC60YMg0LLQv9C10YDQtdC0KSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI1NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI0MAogbXNnaWQgIkZvdW5kIGEgcG9zc2libGUgbWVyZ2UgcmVzb2x1dGlvbiBmb3IgdGhlIHN1Ym1vZHVsZTpcbiIKIG1zZ3N0ciAi0J3QsNC50LTQtdC90L4g0LLQvtC30LzQvtC20L3QvtC1INGA0LDQt9GA0LXRiNC10L3QuNC1INGB0LvQuNGP0YLQuNGPINC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y86XG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIklmIHRoaXMgaXMgY29ycmVjdCBzaW1wbHkgYWRkIGl0IHRvIHRoZSBpbmRleCBmb3IgZXhhbXBsZVxuIgpAQCAtMjc4NSwxMDkgKzM1MjgsMTA4IEBACiAid2hpY2ggd2lsbCBhY2NlcHQgdGhpcyBzdWdnZXN0aW9uLlxuIgogbXNnc3RyICLQldGB0LvQuCDQvtC90L4g0LLQtdGA0L3QvtC1LCDRgtC+INC/0YDQvtGB0YLQviDQtNC+0LHQsNCy0YzRgtC1INC10LPQviDQsiDQuNC90LTQtdC60YEsINC90LDQv9GA0LjQvNC10YAg0YLQsNC6OlxuXG4gIGdpdCB1cGRhdGUtaW5kZXggLS1jYWNoZWluZm8gMTYwMDAwICVzIFwiJXNcIlxuXG7RgtC10Lwg0YHQsNC80YvQvCDQv9GA0LjQvdC40LzQsNGPINGN0YLQviDQv9GA0LXQtNC/0L7Qu9C+0LbQtdC90LjQtS5cbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI2NworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChtdWx0aXBsZSBtZXJnZXMgZm91bmQpIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0LvQuNGC0Ywg0L/QvtC00LzQvtC00YPQu9GMICVzICjQvdCw0LnQtNC10L3QviDQvdC10YHQutC+0LvRjNC60L4g0YHQu9C40Y/QvdC40LkpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzI2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzI1CiBtc2dpZCAiRmFpbGVkIHRvIGV4ZWN1dGUgaW50ZXJuYWwgbWVyZ2UiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0YPRgdGC0LjRgtGMINCy0L3Rg9GC0YDQtdC90L3QtdC1INGB0LvQuNGP0L3QuNC1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzMxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgJXMgdG8gZGF0YWJhc2UiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LTQvtCx0LDQstC40YLRjCAlcyDQsiDQsdCw0LfRgyDQtNCw0L3QvdGL0YUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzNjMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0by1tZXJnaW5nICVzIgogbXNnc3RyICLQkNCy0YLQvtGB0LvQuNGP0L3QuNC1ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDM0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yOiBSZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICVzOyB3cml0aW5nIHRvICVzIGluc3RlYWQuIgogbXNnc3RyICLQntGI0LjQsdC60LA6INCe0YLQutCw0Lcg0L/QvtGC0LXRgNC4INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80L7Qs9C+INGE0LDQudC70LAgJXM7INC30LDQv9C40YHRjCDQsiAlcyDQstC30LDQvNC10L0uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTAxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCiAiaW4gdHJlZS4iCiBtc2dzdHIgItCa0J7QndCk0JvQmNCa0KIgKCVzL9GD0LTQsNC70LXQvdC40LUpOiAlcyDRg9C00LDQu9C10L3QviDQsiAlcyDQuCAlcyDQsiAlcy4g0JLQtdGA0YHQuNGPICVzINC40LcgJXMg0L7RgdGC0LDQstC70LXQvdCwINCyINC00LXRgNC10LLQtS4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCiAibGVmdCBpbiB0cmVlLiIKIG1zZ3N0ciAi0JrQntCd0KTQm9CY0JrQoiAoJXMv0YPQtNCw0LvQtdC90LjQtSk6ICVzINGD0LTQsNC70LXQvdC+INCyICVzINC4INC+0YIgJXMg0LTQviAlcyDQsiAlcy4g0JLQtdGA0YHQuNGPICVzINC40LcgJXMg0L7RgdGC0LDQstC70LXQvdCwINCyINC00LXRgNC10LLQtS4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MTMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKICJpbiB0cmVlIGF0ICVzLiIKIG1zZ3N0ciAi0JrQntCd0KTQm9CY0JrQoiAoJXMv0YPQtNCw0LvQtdC90LjQtSk6ICVzINGD0LTQsNC70LXQvdC+INCyICVzINC4ICVzINCyICVzLiDQktC10YDRgdC40Y8gJXMg0LjQtyAlcyDQvtGB0YLQsNCy0LvQtdC90LAg0LIg0LTQtdGA0LXQstC1INC90LAgJXMuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTE4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgdG8gJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgIgogImxlZnQgaW4gdHJlZSBhdCAlcy4iCiBtc2dzdHIgItCa0J7QndCk0JvQmNCa0KIgKCVzL9GD0LTQsNC70LXQvdC40LUpOiAlcyDRg9C00LDQu9C10L3QviDQsiAlcyDQuCDQvtGCICVzINC00L4gJXMg0LIgJXMuINCS0LXRgNGB0LjRjyAlcyDQuNC3ICVzINC+0YHRgtCw0LLQu9C10L3QsCDQsiDQtNC10YDQtdCy0LUg0L3QsCAlcy4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MDkKIG1zZ2lkICJyZW5hbWUiCiBtc2dzdHIgItC/0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40LUiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1NTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MDkKIG1zZ2lkICJyZW5hbWVkIgogbXNnc3RyICLQv9C10YDQtdC40LzQtdC90L7QstCw0L3QviIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYwNiBtZXJnZS1yZWN1cnNpdmUuYzoxNzYyIG1lcmdlLXJlY3Vyc2l2ZS5jOjIzOTQKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxMjkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1ODkgbWVyZ2UtcmVjdXJzaXZlLmM6MjQ0NSBtZXJnZS1yZWN1cnNpdmUuYzozMDg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGxvc2UgZGlydHkgZmlsZSBhdCAlcyIKLW1zZ3N0ciAi0J7RgtC60LDQtyDQv9C+0YLQtdGA0Lgg0LjQt9C80LXQvdC10L3QvdC+0LPQviDRhNCw0LnQu9CwICVzIgorbXNnc3RyICLQntGC0LrQsNC3INC/0L7RgtC10YDQuCDQuNC30LzQtdC90ZHQvdC90L7Qs9C+INGE0LDQudC70LAgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MjAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlcywgZXZlbiB0aG91Z2ggaXQncyBpbiB0aGUgd2F5LiIKK21zZ3N0ciAi0J7RgtC60LDQtyDQv9C+0YLQtdGA0Lgg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzQvtCz0L4g0YTQsNC50LvQsCAlcywg0LTQsNC20LUg0YEg0YPRh9C10YLQvtC8INC10LPQviDQvdCw0LvQuNGH0LjRjy4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAgQWRkZWQgJXMgaW4gJXMiCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBhIGRpcmVjdG9yeSBpbiAlcyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiJXMg4oCUINGN0YLQviDQutCw0YLQsNC70L7QsyDQsiAlcywg0LTQvtCx0LDQstC70Y/QtdC8INC60LDQuiAlcyDQstC80LXRgdGC0L4g0Y3RgtC+0LPQviIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYyNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICVzOyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAi0J7RgtC60LDQtyDQv9C+0YLQtdGA0Lgg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzQvtCz0L4g0YTQsNC50LvQsCAlczsg0LTQvtCx0LDQstC70LXQvdC40LUg0LrQsNC6ICVzINCy0LfQsNC80LXQvS4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2NTEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIFwiJXNcIi0+XCIlc1wiIGluIGJyYW5jaCBcIiVzXCIgcmVuYW1lICIKICJcIiVzXCItPlwiJXNcIiBpbiBcIiVzXCIlcyIKIG1zZ3N0ciAi0JrQntCd0KTQm9CY0JrQoiAo0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtS/Qv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNC1KTog0J/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtSDCqyVzwrvihpLCqyVzwrsg0LIg0LLQtdGC0LrQtSDCqyVzwrsg0Lgg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtSDCqyVzwrvihpLCqyVzwrsg0LIg0LLQtdGC0LrQtSDCqyVzwrslcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY1NgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcxNgogbXNnaWQgIiAobGVmdCB1bnJlc29sdmVkKSIKIG1zZ3N0ciAiICjQvtGB0YLQsNCy0LvQtdC90L4g0L3QtdGA0LDQt9GA0LXRiNC10L3QvdGL0LwpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzIwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gUmVuYW1lICVzLT4lcyBpbiAlcyIKIG1zZ3N0ciAi0JrQntCd0KTQm9CY0JrQoiAo0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtS/Qv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNC1KTog0J/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtSDCqyVzwrvihpLCqyVzwrsg0LIg0LLQtdGC0LrQtSDCqyVzwrsg0Lgg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtSDCqyVzwrvihpLCqyVzwrsg0LIg0LLQtdGC0LrQtSDCqyVzwrsiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXMgYW5kICVzIHRvICVzIGluc3RlYWQiCi1tc2dzdHIgItCf0LXRgNC10LjQvNC10L3QvtCy0YvQstCw0Y4gJXMg0LIgJXMg0LggJXMg0LIgJXMg0LLQvNC10YHRgtC+INGN0YLQvtCz0L4iCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NzEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlcywgZXZlbiB0aG91Z2ggaXQncyBpbiB0aGUgd2F5LiIKLW1zZ3N0ciAi0J7RgtC60LDQtyDQv9C+0YLQtdGA0Lgg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzQvtCz0L4g0YTQsNC50LvQsCAlcywg0LTQsNC20LUg0YEg0YPRh9C10YLQvtC8INC10LPQviDQvdCw0LvQuNGH0LjRjy4iCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5NzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChkaXJlY3RvcnkgcmVuYW1lIHNwbGl0KTogVW5jbGVhciB3aGVyZSB0byBwbGFjZSAlcyBiZWNhdXNlICIKQEAgLTI4OTUsMTM0ICszNjM3LDE1NyBAQAogImdldHRpbmcgYSBtYWpvcml0eSBvZiB0aGUgZmlsZXMuIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMDkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChpbXBsaWNpdCBkaXIgcmVuYW1lKTogRXhpc3RpbmcgZmlsZS9kaXIgYXQgJXMgaW4gdGhlIHdheSBvZiAiCiAiaW1wbGljaXQgZGlyZWN0b3J5IHJlbmFtZShzKSBwdXR0aW5nIHRoZSBmb2xsb3dpbmcgcGF0aChzKSB0aGVyZTogJXMuIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwMTkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChpbXBsaWNpdCBkaXIgcmVuYW1lKTogQ2Fubm90IG1hcCBtb3JlIHRoYW4gb25lIHBhdGggdG8gJXM7ICIKICJpbXBsaWNpdCBkaXJlY3RvcnkgcmVuYW1lcyB0cmllZCB0byBwdXQgdGhlc2UgcGF0aHMgdGhlcmU6ICVzIgogbXNnc3RyICIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMTEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIGRpcmVjdG9yeSAlcy0+JXMgaW4gJXMuIFJlbmFtZSBkaXJlY3RvcnkgIgogIiVzLT4lcyBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMzU2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyNDA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXQVJOSU5HOiBBdm9pZGluZyBhcHBseWluZyAlcyAtPiAlcyByZW5hbWUgdG8gJXMsIGJlY2F1c2UgJXMgaXRzZWxmIHdhcyAiCiAicmVuYW1lZC4iCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6Mjc2MgotIywgYy1mb3JtYXQKLW1zZ2lkICJDT05GTElDVCAocmVuYW1lL2FkZCk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuICVzIGFkZGVkIGluICVzIgotbXNnc3RyICLQmtCe0J3QpNCb0JjQmtCiICjQv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNC1L9C00L7QsdCw0LLQu9C10L3QuNC1KTog0J/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjQtSDCqyVzwrvihpLCqyVzwrsg0LIg0LLQtdGC0LrQtSDCqyVzwrsg0Lgg0LTQvtCx0LDQstC70LXQvdC40LUgwqslc8K7INCyINCy0LXRgtC60LUgwqslc8K7IgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzc3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkFkZGluZyBtZXJnZWQgJXMiCi1tc2dzdHIgItCU0L7QsdCw0LLQu9C10L3QuNC1INGB0LvQuNGC0L7Qs9C+ICVzIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzg0IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxMzIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQWRkaW5nIGFzICVzIGluc3RlYWQiCi1tc2dzdHIgItCU0L7QsdCw0LLQu9C10L3QuNC1INCy0LzQtdGB0YLQviDRjdGC0L7Qs9C+INC60LDQuiAlcyIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6Mjk0MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjkyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC/0YDQvtGH0LjRgtCw0YLRjCDQvtCx0YrQtdC60YIgwqslc8K7IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyOTQ0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyOTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpcyBub3QgYSBibG9iIgogbXNnc3RyICLQvtCx0YrQtdC60YIgJXMg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC00LLQvtC40YfQvdGL0Lwg0L7QsdGK0LXQutGC0L7QvCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAxMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6Mjk5NgogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDEzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyOTk2CiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgItC40LfQvNC10L3QtdC90L4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMjQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMDgKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICLRgdC+0LTQtdGA0LbQuNC80L7QtSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAzMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAxMgogbXNnaWQgImFkZC9hZGQiCiBtc2dzdHIgItC00L7QsdCw0LLQu9C10L3QuNC1L9C00L7QsdCw0LLQu9C10L3QuNC1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDc2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgJXMgKG1lcmdlZCBzYW1lIGFzIGV4aXN0aW5nKSIKIG1zZ3N0ciAi0J/RgNC+0L/Rg9GB0LogJXMgKNGB0LvQuNGC0Ysg0L7QtNC40L3QsNC60L7QstGL0LUg0LjQt9C80LXQvdC10L3QuNGPINC60LDQuiDRgdGD0YnQtdGB0YLQstGD0Y7RidC40LUpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDk4IGdpdC1zdWJtb2R1bGUuc2g6ODY1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDU3IGdpdC1zdWJtb2R1bGUuc2g6OTM3CiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICLQv9C+0LTQvNC+0LTRg9C70YwiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwOTkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCiBtc2dzdHIgItCa0J7QndCk0JvQmNCa0KIgKCVzKTog0JrQvtC90YTQu9C40LrRgiDRgdC70LjRj9C90LjRjyDQsiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzIyMQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA4OAorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKK21zZ3N0ciAi0JTQvtCx0LDQstC70LXQvdC40LUg0LLQvNC10YHRgtC+INGN0YLQvtCz0L4g0LrQsNC6ICVzIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQYXRoIHVwZGF0ZWQ6ICVzIGFkZGVkIGluICVzIGluc2lkZSBhIGRpcmVjdG9yeSB0aGF0IHdhcyByZW5hbWVkIGluICVzOyAiCisibW92aW5nIGl0IHRvICVzLiIKK21zZ3N0ciAiIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoZmlsZSBsb2NhdGlvbik6ICVzIGFkZGVkIGluICVzIGluc2lkZSBhIGRpcmVjdG9yeSB0aGF0IHdhcyByZW5hbWVkIgorIiBpbiAlcywgc3VnZ2VzdGluZyBpdCBzaG91bGQgcGVyaGFwcyBiZSBtb3ZlZCB0byAlcy4iCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGF0aCB1cGRhdGVkOiAlcyByZW5hbWVkIHRvICVzIGluICVzLCBpbnNpZGUgYSBkaXJlY3RvcnkgdGhhdCB3YXMgcmVuYW1lZCBpbiIKKyIgJXM7IG1vdmluZyBpdCB0byAlcy4iCittc2dzdHIgIiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKGZpbGUgbG9jYXRpb24pOiAlcyByZW5hbWVkIHRvICVzIGluICVzLCBpbnNpZGUgYSBkaXJlY3RvcnkgdGhhdCAiCisid2FzIHJlbmFtZWQgaW4gJXMsIHN1Z2dlc3RpbmcgaXQgc2hvdWxkIHBlcmhhcHMgYmUgbW92ZWQgdG8gJXMuIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMiCiBtc2dzdHIgItCj0LTQsNC70LXQvdC40LUgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNDcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMzMTcKIG1zZ2lkICJmaWxlL2RpcmVjdG9yeSIKIG1zZ3N0ciAi0YTQsNC50Lsv0LrQsNGC0LDQu9C+0LMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNTMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMzMjIKIG1zZ2lkICJkaXJlY3RvcnkvZmlsZSIKIG1zZ3N0ciAi0LrQsNGC0LDQu9C+0LMv0YTQsNC50LsiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNjAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMzMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgogbXNnc3RyICLQmtCe0J3QpNCb0JjQmtCiICglcyk6INCj0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgiDQutCw0YLQsNC70L7QsyDRgSDQuNC80LXQvdC10Lwgwqslc8K7INCyIMKrJXPCuy4g0JTQvtCx0LDQstC70LXQvdC40LUgwqslc8K7INC60LDQuiDCqyVzwrsiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNjkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMzMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nICVzIgogbXNnc3RyICLQlNC+0LHQsNCy0LvQtdC90LjQtSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzMwMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzM0NworIywgYy1mb3JtYXQKK21zZ2lkICJDT05GTElDVCAoYWRkL2FkZCk6IE1lcmdlIGNvbmZsaWN0IGluICVzIgorbXNnc3RyICIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMzODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgogIiAgJXMiCiBtc2dzdHIgIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzMxNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzM5NgogbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZSEiCiBtc2dzdHIgItCj0LbQtSDQvtCx0L3QvtCy0LvQtdC90L4hIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMzIzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdpbmcgb2YgdHJlZXMgJXMgYW5kICVzIGZhaWxlZCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0YHQu9C40Y/QvdC40Y8g0LTQtdGA0LXQstGM0LXQsiDCqyVzwrsg0Lggwqslc8K7IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNDIyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNTA0CiBtc2dpZCAiTWVyZ2luZzoiCiBtc2dzdHIgItCh0LvQuNGP0L3QuNC1OiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQzNQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzUxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3I6IgogbXNnaWRfcGx1cmFsICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3JzOiIKQEAgLTMwMzEsNDEgKzM3OTYsMTgwIEBACiBtc2dzdHJbMl0gItC90LDQudC00LXQvdC+ICV1INC+0LHRidC40YUg0L/RgNC10LTQutC+0LI6IgogbXNnc3RyWzNdICLQvdCw0LnQtNC10L3QviAldSDQvtCx0YnQuNGFINC/0YDQtdC00LrQvtCyOiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQ3NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzU1NgogbXNnaWQgIm1lcmdlIHJldHVybmVkIG5vIGNvbW1pdCIKIG1zZ3N0ciAi0YHQu9C40Y/QvdC40LUg0L3QtSDQstC10YDQvdGD0LvQviDQutC+0LzQvNC40YIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM1NDAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDQvtCx0YrQtdC60YIgwqslc8K7IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNTU2IGJ1aWx0aW4vbWVyZ2UuYzo2ODkgYnVpbHRpbi9tZXJnZS5jOjg0NgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzYzOCBidWlsdGluL21lcmdlLmM6NzAyIGJ1aWx0aW4vbWVyZ2UuYzo4NzMKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5kZXguIgogbXNnc3RyICLQndC1INGD0LTQsNC10YLRgdGPINC30LDQv9C40YHQsNGC0Ywg0LjQvdC00LXQutGBLiIKIAotIzogbm90ZXMtbWVyZ2UuYzoyNzQKKyM6IG1pZHguYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICJtdWx0aS1wYWNrLWluZGV4IGZpbGUgJXMgaXMgdG9vIHNtYWxsIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHNpZ25hdHVyZSAweCUwOHggZG9lcyBub3QgbWF0Y2ggc2lnbmF0dXJlIDB4JTA4eCIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVsdGktcGFjay1pbmRleCB2ZXJzaW9uICVkIG5vdCByZWNvZ25pemVkIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJoYXNoIHZlcnNpb24gJXUgZG9lcyBub3QgbWF0Y2giCittc2dzdHIgItCy0LXRgNGB0LjRjyDRhdC10Ygt0YHRg9C80LzRiyAldSDQvdC1INGB0L7QvtGC0LLQtdGC0YHQstGD0LXRgiIKKworIzogbWlkeC5jOjEwNgorbXNnaWQgImludmFsaWQgY2h1bmsgb2Zmc2V0ICh0b28gbGFyZ2UpIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzoxMzAKK21zZ2lkICJ0ZXJtaW5hdGluZyBtdWx0aS1wYWNrLWluZGV4IGNodW5rIGlkIGFwcGVhcnMgZWFybGllciB0aGFuIGV4cGVjdGVkIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzoxNDMKK21zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgcGFjay1uYW1lIGNodW5rIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzoxNDUKK21zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgT0lEIGZhbm91dCBjaHVuayIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6MTQ3Cittc2dpZCAibXVsdGktcGFjay1pbmRleCBtaXNzaW5nIHJlcXVpcmVkIE9JRCBsb29rdXAgY2h1bmsiCittc2dzdHIgIiIKKworIzogbWlkeC5jOjE0OQorbXNnaWQgIm11bHRpLXBhY2staW5kZXggbWlzc2luZyByZXF1aXJlZCBvYmplY3Qgb2Zmc2V0cyBjaHVuayIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm11bHRpLXBhY2staW5kZXggcGFjayBuYW1lcyBvdXQgb2Ygb3JkZXI6ICclcycgYmVmb3JlICclcyciCittc2dzdHIgIiIKKworIzogbWlkeC5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcGFjay1pbnQtaWQ6ICV1ICgldSB0b3RhbCBwYWNrcykiCittc2dzdHIgIiIKKworIzogbWlkeC5jOjI1OAorbXNnaWQgIm11bHRpLXBhY2staW5kZXggc3RvcmVzIGEgNjQtYml0IG9mZnNldCwgYnV0IG9mZl90IGlzIHRvbyBzbWFsbCIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6Mjg2Cittc2dpZCAiZXJyb3IgcHJlcGFyaW5nIHBhY2tmaWxlIGZyb20gbXVsdGktcGFjay1pbmRleCIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhZGQgcGFja2ZpbGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuIHBhY2staW5kZXggJyVzJyIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6NTU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBsb2NhdGUgb2JqZWN0ICVkIGluIHBhY2tmaWxlIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzo5OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNsZWFyIG11bHRpLXBhY2staW5kZXggYXQgJXMiCittc2dzdHIgIiIKKworIzogbWlkeC5jOjEwNDgKK21zZ2lkICJMb29raW5nIGZvciByZWZlcmVuY2VkIHBhY2tmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6MTA2MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisib2lkIGZhbm91dCBvdXQgb2Ygb3JkZXI6IGZhbm91dFslZF0gPSAlPFBSSXgzMj4gPiAlPFBSSXgzMj4gPSBmYW5vdXRbJWRdIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzoxMDY3Cittc2dpZCAiVmVyaWZ5aW5nIE9JRCBvcmRlciBpbiBNSURYIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzoxMDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIm9pZCBsb29rdXAgb3V0IG9mIG9yZGVyOiBvaWRbJWRdID0gJXMgPj0gJXMgPSBvaWRbJWRdIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzoxMDk1Cittc2dpZCAiU29ydGluZyBvYmplY3RzIGJ5IHBhY2tmaWxlIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzoxMTAxCittc2dpZCAiVmVyaWZ5aW5nIG9iamVjdCBvZmZzZXRzIgorbXNnc3RyICIiCisKKyM6IG1pZHguYzoxMTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBsb2FkIHBhY2sgZW50cnkgZm9yIG9pZFslZF0gPSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6MTEyMworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbG9hZCBwYWNrLWluZGV4IGZvciBwYWNrZmlsZSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaWR4LmM6MTEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJpbmNvcnJlY3Qgb2JqZWN0IG9mZnNldCBmb3Igb2lkWyVkXSA9ICVzOiAlPFBSSXg2ND4gIT0gJTxQUkl4NjQ+IgorbXNnc3RyICIiCisKKyM6IG5hbWUtaGFzaC5jOjUzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxhenlfZGlyIHRocmVhZDogJXMiCittc2dzdHIgIiIKKworIzogbmFtZS1oYXNoLmM6NTUzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbGF6eV9uYW1lIHRocmVhZDogJXMiCittc2dzdHIgIiIKKworIzogbmFtZS1oYXNoLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBqb2luIGxhenlfbmFtZSB0aHJlYWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IG5vdGVzLW1lcmdlLmM6Mjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgcHJldmlvdXMgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuXG4iCiAiUGxlYXNlLCB1c2UgJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcgb3IgJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0JyB0byBjb21taXQvYWJvcnQgdGhlIHByZXZpb3VzIG1lcmdlIGJlZm9yZSB5b3Ugc3RhcnQgYSBuZXcgbm90ZXMgbWVyZ2UuIgogbXNnc3RyICLQktGLINC90LUg0LfQsNC60L7QvdGH0LjQu9C4INC/0YDQtdC00YvQtNGD0YnQtdC1INGB0LvQuNGP0L3QuNC1INC30LDQvNC10YLQvtC6ICglcyDRgdGD0YnQtdGB0YLQstGD0LXRgikuXG7Ql9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXTCuyDQuNC70LggwqtnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydMK7INC00LvRjyDQutC+0LzQvNC40YLQsCDQuNC70Lgg0L7RgtC80LXQvdGLINC/0YDQtdC00YvQtNGD0YnQtdCz0L4g0YHQu9C40Y/QvdC40Y8g0Lgg0LfQsNC/0YPRgdC60LAg0L3QvtCy0L7Qs9C+INGB0LvQuNGP0L3QuNGPINC30LDQvNC10YLQvtC6LiIKIAotIzogbm90ZXMtbWVyZ2UuYzoyODEKKyM6IG5vdGVzLW1lcmdlLmM6Mjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBub3RlcyBtZXJnZSAoJXMgZXhpc3RzKS4iCiBtc2dzdHIgItCS0Ysg0L3QtSDQt9Cw0LrQvtC90YfQuNC70Lgg0L/RgNC10LTRi9C00YPRidC10LUg0YHQu9C40Y/QvdC40LUg0LfQsNC80LXRgtC+0LogKCVzINGB0YPRidC10YHRgtCy0YPQtdGCKS4iCiAKLSM6IG5vdGVzLXV0aWxzLmM6NDUKKyM6IG5vdGVzLXV0aWxzLmM6NDYKIG1zZ2lkICJDYW5ub3QgY29tbWl0IHVuaW5pdGlhbGl6ZWQvdW5yZWZlcmVuY2VkIG5vdGVzIHRyZWUiCiBtc2dzdHIgItCd0LXQu9GM0LfRjyDQt9Cw0LrQvtC80LzQuNGC0LjRgtGMINC90LXQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0L3QvdC+0LUg0LjQu9C4INC90LUg0LjQvNC10Y7RidC10LUg0YHRgdGL0LvQvtC6INC00LXRgNC10LLQviDQt9Cw0LzQtdGC0L7QuiIKIAotIzogbm90ZXMtdXRpbHMuYzoxMDQKKyM6IG5vdGVzLXV0aWxzLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBub3Rlcy5yZXdyaXRlTW9kZSB2YWx1ZTogJyVzJyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUgbm90ZXMucmV3cml0ZU1vZGU6IMKrJXPCuyIKIAotIzogbm90ZXMtdXRpbHMuYzoxMTQKKyM6IG5vdGVzLXV0aWxzLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIHJld3JpdGUgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgogbXNnc3RyICLQntGC0LrQsNC3INCyINC/0LXRgNC10LfQsNC/0LjRgdC4INC30LDQvNC10YLQvtC6INCyICVzICjQt9CwINC/0YDQtdC00LXQu9Cw0LzQuCByZWZzL25vdGVzLykiCkBAIC0zMDczLDcgKzM5NzcsNyBAQAogIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyB0aGUgbmFtZSBvZgogIy4gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgc2Vjb25kICVzIGlzCiAjLiBpdHMgdmFsdWUuCi0jOiBub3Rlcy11dGlscy5jOjE0NAorIzogbm90ZXMtdXRpbHMuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkICVzIHZhbHVlOiAnJXMnIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDQv9C10YDQtdC80LXQvdC90L7QuSAlczogwqslc8K7IgpAQCAtMzA4MywzNTggKzM5ODcsNzA2IEBACiBtc2dpZCAiaW52YWxpZCBvYmplY3QgdHlwZSBcIiVzXCIiCiBtc2dzdHIgIiIKIAotIzogb2JqZWN0LmM6MTczCisjOiBvYmplY3QuYzoxNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIGlzIGEgJXMsIG5vdCBhICVzIgogbXNnc3RyICIiCiAKLSM6IG9iamVjdC5jOjIzMworIzogb2JqZWN0LmM6MjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBoYXMgdW5rbm93biB0eXBlIGlkICVkIgogbXNnc3RyICIiCiAKLSM6IG9iamVjdC5jOjI0NgorIzogb2JqZWN0LmM6MjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBvYmplY3Q6ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDQvtCx0YrQtdC60YI6ICVzIgogCi0jOiBvYmplY3QuYzoyNjYgb2JqZWN0LmM6Mjc3CisjOiBvYmplY3QuYzoyNjcgb2JqZWN0LmM6Mjc4CiAjLCBjLWZvcm1hdAotbXNnaWQgInNoYTEgbWlzbWF0Y2ggJXMiCi1tc2dzdHIgIiIKK21zZ2lkICJoYXNoIG1pc21hdGNoICVzIgorbXNnc3RyICLQvdC10YHQvtC+0YLQstC10YLRgdGC0LLQuNC1INGF0LXRiC3RgdGD0LzQvNGLICVzIgogCi0jOiBwYWNrZmlsZS5jOjU2MworIzogcGFja2ZpbGUuYzo2MTcKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIGVuZCBvZiBwYWNrZmlsZSAoYnJva2VuIC5pZHg/KSIKIG1zZ3N0ciAi0YHQtNCy0LjQsyDQtNC+INC60L7QvdGG0LAg0YTQsNC50LvQsCDQv9Cw0LrQtdGC0LAgKNCy0L7Qt9C80L7QttC90L4sINC/0L7QstGA0LXQttC00ZHQvSDRhNCw0LnQuyAuaWR4PykiCiAKLSM6IHBhY2tmaWxlLmM6MTc0NQorIzogcGFja2ZpbGUuYzoxODY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZWZvcmUgc3RhcnQgb2YgcGFjayBpbmRleCBmb3IgJXMgKGNvcnJ1cHQgaW5kZXg/KSIKIG1zZ3N0ciAi0YHQtNCy0LjQsyDQtNC+INC90LDRh9Cw0LvQsCDQuNC90LTQtdC60YHQsCDQv9Cw0LrQtdGC0LAg0LTQu9GPICVzICjQv9C+0LLRgNC10LbQtNGR0L0g0LjQvdC00LXQutGBPykiCiAKLSM6IHBhY2tmaWxlLmM6MTc0OQorIzogcGFja2ZpbGUuYzoxODcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZXlvbmQgZW5kIG9mIHBhY2sgaW5kZXggZm9yICVzICh0cnVuY2F0ZWQgaW5kZXg/KSIKIG1zZ3N0ciAi0YHQtNCy0LjQsyDQt9CwINC/0YDQtdC00LXQu9Cw0LzQuCDQuNC90LTQtdC60YHQsCDQv9Cw0LrQtdGC0LAg0LTQu9GPICVzICjQvtCx0YDQtdC30LDQvSDQuNC90LTQtdC60YE/KSIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjY3MgorIzogcGFyc2Utb3B0aW9ucy5jOjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGEgdmFsdWUiCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGluY29tcGF0aWJsZSB3aXRoICVzIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyA6IGluY29tcGF0aWJsZSB3aXRoIHNvbWV0aGluZyBlbHNlIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo5MiBwYXJzZS1vcHRpb25zLmM6OTYgcGFyc2Utb3B0aW9ucy5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0YWtlcyBubyB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBwYXJzZS1vcHRpb25zLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXNuJ3QgYXZhaWxhYmxlIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhwZWN0cyBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIHZhbHVlIHdpdGggYW4gb3B0aW9uYWwgay9tL2cgc3VmZml4IgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYW1iaWd1b3VzIG9wdGlvbjogJXMgKGNvdWxkIGJlIC0tJXMlcyBvciAtLSVzJXMpIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo0MjMgcGFyc2Utb3B0aW9ucy5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJkaWQgeW91IG1lYW4gYC0tJXNgICh3aXRoIHR3byBkYXNoZXMgPykiCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiBgJXMnIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzd2l0Y2ggYCVjJyIKK21zZ3N0ciAiIgorCisjOiBwYXJzZS1vcHRpb25zLmM6ODYzCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbm9uLWFzY2lpIG9wdGlvbiBpbiBzdHJpbmc6IGAlcyciCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg4NwogbXNnaWQgIi4uLiIKIG1zZ3N0ciAi4oCmIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NjkxCisjOiBwYXJzZS1vcHRpb25zLmM6OTA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uIGhlcmUgc2hvdWxkIGFsaWduIHdpdGggdGhlCiAjLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24uCi0jOiBwYXJzZS1vcHRpb25zLmM6Njk3CisjOiBwYXJzZS1vcHRpb25zLmM6OTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgIG9yOiAlcyIKIG1zZ3N0ciAiICAgICAgICAgINC40LvQuDogJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo3MDAKKyM6IHBhcnNlLW9wdGlvbnMuYzo5MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICVzIgogbXNnc3RyICIgICAgICAgICAgICAlcyIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjczOQorIzogcGFyc2Utb3B0aW9ucy5jOjk1NAogbXNnaWQgIi1OVU0iCiBtc2dzdHIgIi3QmtCe0JvQmNCn0JXQodCi0JLQniIKIAotIzogcGFyc2Utb3B0aW9ucy1jYi5jOjQ0CisjOiBwYXJzZS1vcHRpb25zLmM6OTY4CisjLCBjLWZvcm1hdAorbXNnaWQgImFsaWFzIG9mIC0tJXMiCittc2dzdHIgIiIKKworIzogcGFyc2Utb3B0aW9ucy1jYi5jOjIwIHBhcnNlLW9wdGlvbnMtY2IuYzoyNAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgorbXNnc3RyICIiCisKKyM6IHBhcnNlLW9wdGlvbnMtY2IuYzo0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZXhwaXJhdGlvbiBkYXRlICclcyciCiBtc2dzdHIgIiIKIAotIzogcGFyc2Utb3B0aW9ucy1jYi5jOjExMgorIzogcGFyc2Utb3B0aW9ucy1jYi5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgXCJhbHdheXNcIiwgXCJhdXRvXCIsIG9yIFwibmV2ZXJcIiIKK21zZ3N0ciAiIgorCisjOiBwYXJzZS1vcHRpb25zLWNiLmM6MTMwIHBhcnNlLW9wdGlvbnMtY2IuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCiBtc2dzdHIgItCd0LXQv9GA0LDQstC40LvRjNC90L7QtSDQuNC80Y8g0L7QsdGK0LXQutGC0LAgwqslc8K7IgogCi0jOiBwYXRoLmM6ODkyCisjOiBwYXRoLmM6ODk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtYWtlICVzIHdyaXRhYmxlIGJ5IGdyb3VwIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQtdC00L7RgdGC0LDQstC40YLRjCDQtNC+0YHRgtGD0L8g0LogJXMg0L3QsCDQt9Cw0L/QuNGB0YwiCiAKLSM6IHBhdGhzcGVjLmM6MTI5CisjOiBwYXRoc3BlYy5jOjEyOAogbXNnaWQgIkVzY2FwZSBjaGFyYWN0ZXIgJ1xcJyBub3QgYWxsb3dlZCBhcyBsYXN0IGNoYXJhY3RlciBpbiBhdHRyIHZhbHVlIgogbXNnc3RyICLQo9C/0YDQsNCy0LvRj9GO0YnQuNC5INGB0LjQvNCy0L7QuyDCq1xcwrsg0L3QtSDRgNCw0LfRgNC10YjQtdC9INC60LDQuiDQv9C+0YHQu9C10LTQvdC40Lkg0YHQuNC80LLQvtC7INCyINC30L3QsNGH0LXQvdC40LggYXR0ciIKIAotIzogcGF0aHNwZWMuYzoxNDcKKyM6IHBhdGhzcGVjLmM6MTQ2CiBtc2dpZCAiT25seSBvbmUgJ2F0dHI6JyBzcGVjaWZpY2F0aW9uIGlzIGFsbG93ZWQuIgogbXNnc3RyICLQoNCw0LfRgNC10YjQtdC9INGC0L7Qu9GM0LrQviDQvtC00LjQvSDRgdC/0LXRhtC40YTQuNC60LDRgtC+0YAgwqthdHRyOsK7LiIKIAotIzogcGF0aHNwZWMuYzoxNTAKKyM6IHBhdGhzcGVjLmM6MTQ5CiBtc2dpZCAiYXR0ciBzcGVjIG11c3Qgbm90IGJlIGVtcHR5IgogbXNnc3RyICLRgdC/0LXRhtC40YTQuNC60LDRgtC+0YAgYXR0ciDQvdC1INC00L7Qu9C20LXQvSDQsdGL0YLRjCDQv9GD0YHRgtC+0LkiCiAKLSM6IHBhdGhzcGVjLmM6MTkzCisjOiBwYXRoc3BlYy5jOjE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGF0dHJpYnV0ZSBuYW1lICVzIgogbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNC+0LUg0LjQvNGPINCw0YLRgNC40LHRg9GC0LAgJXMiCiAKLSM6IHBhdGhzcGVjLmM6MjU4CisjOiBwYXRoc3BlYy5jOjI1NwogbXNnaWQgImdsb2JhbCAnZ2xvYicgYW5kICdub2dsb2InIHBhdGhzcGVjIHNldHRpbmdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgItCz0LvQvtCx0LDQu9GM0L3Ri9C1INC+0L/RhtC40Lgg0YHQv9C10YbQuNGE0LjQutCw0YLQvtGA0L7QsiDQv9GD0YLQuCDCq2dsb2LCuyDQuCDCq25vZ2xvYsK7INC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IgogCi0jOiBwYXRoc3BlYy5jOjI2NQorIzogcGF0aHNwZWMuYzoyNjQKIG1zZ2lkICIiCiAiZ2xvYmFsICdsaXRlcmFsJyBwYXRoc3BlYyBzZXR0aW5nIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBnbG9iYWwgIgogInBhdGhzcGVjIHNldHRpbmdzIgogbXNnc3RyICLQs9C70L7QsdCw0LvRjNC90LDRjyDQvtC/0YbQuNGPINGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgNCwINC/0YPRgtC4IMKrbGl0ZXJhbMK7INC90LUg0YHQvtCy0LzQtdGB0YLQuNC80LAg0YEg0LTRgNGD0LPQuNC80Lgg0LPQu9C+0LHQsNC70YzQvdGL0LzQuCDRgdC/0LXRhtC40YTQuNC60LDRgtC+0YDQsNC80Lgg0LTQvtGB0YLRg9C/0LAiCiAKLSM6IHBhdGhzcGVjLmM6MzA1CisjOiBwYXRoc3BlYy5jOjMwNAogbXNnaWQgImludmFsaWQgcGFyYW1ldGVyIGZvciBwYXRoc3BlYyBtYWdpYyAncHJlZml4JyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INC/0LDRgNCw0LzQtdGC0YAg0LTQu9GPINC80LDQs9C40YfQtdGB0LrQvtCz0L4g0YHQu9C+0LLQsCDCq3ByZWZpeMK7INCyINGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgNC1INC/0YPRgtC4ICIKIAotIzogcGF0aHNwZWMuYzozMjYKKyM6IHBhdGhzcGVjLmM6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgcGF0aHNwZWMgbWFnaWMgJyUuKnMnIGluICclcyciCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDQvNCw0LPQuNGH0LXRgdC60L7QtSDRgdC70L7QstC+IMKrJS4qc8K7INCyINGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgNC1INC/0YPRgtC4IMKrJXPCuyIKIAotIzogcGF0aHNwZWMuYzozMzEKKyM6IHBhdGhzcGVjLmM6MzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1pc3NpbmcgJyknIGF0IHRoZSBlbmQgb2YgcGF0aHNwZWMgbWFnaWMgaW4gJyVzJyIKIG1zZ3N0ciAi0J/RgNC+0L/Rg9GJ0LXQvdC+IMKrKcK7INCyINC60L7QvdGG0LUg0LzQsNCz0LjRh9C10YHQutC+0LPQviDRgdC70L7QstCwINGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgNCwINC/0YPRgtC4IMKrJXPCuyIKIAotIzogcGF0aHNwZWMuYzozNjkKKyM6IHBhdGhzcGVjLmM6MzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuaW1wbGVtZW50ZWQgcGF0aHNwZWMgbWFnaWMgJyVjJyBpbiAnJXMnIgogbXNnc3RyICLQndC10YDQtdCw0LvQuNC30L7QstCw0L3QvdC+0LUg0LzQsNCz0LjRh9C10YHQutC+0LUg0YHQu9C+0LLQviDCqyVjwrsg0YHQv9C10YbQuNGE0LjQutCw0YLQvtGA0LAg0L/Rg9GC0Lggwqslc8K7IgogCi0jOiBwYXRoc3BlYy5jOjQyOAorIzogcGF0aHNwZWMuYzo0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICdsaXRlcmFsJyBhbmQgJ2dsb2InIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiVzOiDCq2xpdGVyYWzCuyDQuCDCq2dsb2LCuyDQvdC1INGB0L7QstC80LXRgdGC0LjQvNGLIgogCi0jOiBwYXRoc3BlYy5jOjQ0MQorIzogcGF0aHNwZWMuYzo0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IgogbXNnc3RyICIlczogwqslc8K7INCy0L3QtSDRgNC10L/QvtC30LjRgtC+0YDQuNGPIgogCi0jOiBwYXRoc3BlYy5jOjUxNQorIzogcGF0aHNwZWMuYzo1MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyAobW5lbW9uaWM6ICclYycpIgogbXNnc3RyICLCqyVzwrsgKNC80L3QtdC80L7QvdC40LrQsDogwqslY8K7KSIKIAotIzogcGF0aHNwZWMuYzo1MjUKKyM6IHBhdGhzcGVjLmM6NTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXRoc3BlYyBtYWdpYyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29tbWFuZDogJXMiCiBtc2dzdHIgIiVzOiDQvNCw0LPQuNGH0LXRgdC60LjQtSDRgdC70L7QstCwINCyINGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgNC1INC/0YPRgtC4INC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDRjtGC0YHRjyDQutC+0LzQsNC90LTQvtC5OiAlcyIKIAotIzogcGF0aHNwZWMuYzo1OTIKKyM6IHBhdGhzcGVjLmM6NTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAi0YHQv9C10YbQuNGE0LjQutCw0YLQvtGAINC/0YPRgtC4IMKrJXPCuyDQvdCw0YXQvtC00LjRgtGB0Y8g0LfQsCDRgdC40LzQstC+0LvQuNGH0LXRgdC60L7QuSDRgdGB0YvQu9C60L7QuSIKIAotIzogcGt0LWxpbmUuYzoxMDQKKyM6IHBrdC1saW5lLmM6OTIKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmx1c2ggcGFja2V0IgorbXNnc3RyICIiCisKKyM6IHBrdC1saW5lLmM6OTkKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZGVsaW0gcGFja2V0IgorbXNnc3RyICIiCisKKyM6IHBrdC1saW5lLmM6MTA2CiBtc2dpZCAiZmx1c2ggcGFja2V0IHdyaXRlIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBwa3QtbGluZS5jOjE0MiBwa3QtbGluZS5jOjIyOAorIzogcGt0LWxpbmUuYzoxNDYgcGt0LWxpbmUuYzoyMzIKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogaW1wb3NzaWJseSBsb25nIGxpbmUiCiBtc2dzdHIgIiIKIAotIzogcGt0LWxpbmUuYzoxNTggcGt0LWxpbmUuYzoxNjAKKyM6IHBrdC1saW5lLmM6MTYyIHBrdC1saW5lLmM6MTY0CiBtc2dpZCAicGFja2V0IHdyaXRlIHdpdGggZm9ybWF0IGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBwa3QtbGluZS5jOjE5MgorIzogcGt0LWxpbmUuYzoxOTYKIG1zZ2lkICJwYWNrZXQgd3JpdGUgZmFpbGVkIC0gZGF0YSBleGNlZWRzIG1heCBwYWNrZXQgc2l6ZSIKIG1zZ3N0ciAiIgogCi0jOiBwa3QtbGluZS5jOjE5OSBwa3QtbGluZS5jOjIwNgorIzogcGt0LWxpbmUuYzoyMDMgcGt0LWxpbmUuYzoyMTAKIG1zZ2lkICJwYWNrZXQgd3JpdGUgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IHBrdC1saW5lLmM6MjkxCisjOiBwa3QtbGluZS5jOjI5NQogbXNnaWQgInJlYWQgZXJyb3IiCiBtc2dzdHIgIiIKIAotIzogcGt0LWxpbmUuYzoyOTkKKyM6IHBrdC1saW5lLmM6MzAzCiBtc2dpZCAidGhlIHJlbW90ZSBlbmQgaHVuZyB1cCB1bmV4cGVjdGVkbHkiCiBtc2dzdHIgIiIKIAotIzogcGt0LWxpbmUuYzozMjcKKyM6IHBrdC1saW5lLmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgbGluZSBsZW5ndGggY2hhcmFjdGVyOiAlLjRzIgogbXNnc3RyICIiCiAKLSM6IHBrdC1saW5lLmM6MzM3IHBrdC1saW5lLmM6MzQyCisjOiBwa3QtbGluZS5jOjM0MSBwa3QtbGluZS5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIGxpbmUgbGVuZ3RoICVkIgogbXNnc3RyICIiCiAKLSM6IHByZXR0eS5jOjk2MgorIzogcGt0LWxpbmUuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlIGVycm9yOiAlcyIKK21zZ3N0ciAi0L7RiNC40LHQutCwINCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjzogJXMiCisKKyM6IHByZWxvYWQtaW5kZXguYzoxMTkKK21zZ2lkICJSZWZyZXNoaW5nIGluZGV4IgorbXNnc3RyICIiCisKKyM6IHByZWxvYWQtaW5kZXguYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWRlZCBsc3RhdDogJXMiCittc2dzdHIgIiIKKworIzogcHJldHR5LmM6OTY2CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIC0tcHJldHR5IGZvcm1hdCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywg0YTQvtGA0LzQsNGCINC00LvRjyAtLXByZXR0eSIKIAotIzogcmFuZ2UtZGlmZi5jOjQ4CisjOiByYW5nZS1kaWZmLmM6NTYKIG1zZ2lkICJjb3VsZCBub3Qgc3RhcnQgYGxvZ2AiCiBtc2dzdHIgIiIKIAotIzogcmFuZ2UtZGlmZi5jOjUxCisjOiByYW5nZS1kaWZmLmM6NTkKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBgbG9nYCBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogcmFuZ2UtZGlmZi5jOjY2IHNlcXVlbmNlci5jOjQ1NDAKKyM6IHJhbmdlLWRpZmYuYzo3NCBzZXF1ZW5jZXIuYzo0ODk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywg0LrQvtC80LzQuNGCIMKrJXPCuyIKIAotIzogcmFuZ2UtZGlmZi5jOjE5NgorIzogcmFuZ2UtZGlmZi5jOjIyNAogbXNnaWQgImZhaWxlZCB0byBnZW5lcmF0ZSBkaWZmIgogbXNnc3RyICIiCiAKLSM6IHJhbmdlLWRpZmYuYzo0MjEgcmFuZ2UtZGlmZi5jOjQyMworIzogcmFuZ2UtZGlmZi5jOjQ1NSByYW5nZS1kaWZmLmM6NDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBsb2cgZm9yICclcyciCiBtc2dzdHIgIiIKIAotIzogcmVhZC1jYWNoZS5jOjE1NzkKKyM6IHJlYWQtY2FjaGUuYzo2ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgYWRkIGZpbGUgYWxpYXMgJyVzJyAoJyVzJyBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCkiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjY5NgorbXNnaWQgImNhbm5vdCBjcmVhdGUgYW4gZW1wdHkgYmxvYiBpbiB0aGUgb2JqZWN0IGRhdGFiYXNlIgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzo3MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbiBvbmx5IGFkZCByZWd1bGFyIGZpbGVzLCBzeW1ib2xpYyBsaW5rcyBvciBnaXQtZGlyZWN0b3JpZXMiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjcyMworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGRvZXMgbm90IGhhdmUgYSBjb21taXQgY2hlY2tlZCBvdXQiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gaW5kZXggZmlsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzo3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFkZCAnJXMnIHRvIGluZGV4IgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzo4MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHN0YXQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MTMxNAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGFwcGVhcnMgYXMgYm90aCBhIGZpbGUgYW5kIGFzIGEgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzoxNDk5Cittc2dpZCAiUmVmcmVzaCBpbmRleCIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MTYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiaW5kZXgudmVyc2lvbiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKICJVc2luZyB2ZXJzaW9uICVpIgogbXNnc3RyICJpbmRleC52ZXJzaW9uINGD0LrQsNC30LDQvSwg0L3QviDQt9C90LDRh9C10L3QuNC1INC90LXQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QvtC1Llxu0JjRgdC/0L7Qu9GM0LfRg9GOINCy0LXRgNGB0LjRjiAlaSIKIAotIzogcmVhZC1jYWNoZS5jOjE1ODkKKyM6IHJlYWQtY2FjaGUuYzoxNjIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJHSVRfSU5ERVhfVkVSU0lPTiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKICJVc2luZyB2ZXJzaW9uICVpIgogbXNnc3RyICJHSVRfSU5ERVhfVkVSU0lPTiDRg9C60LDQt9Cw0L0sINC90L4g0LfQvdCw0YfQtdC90LjQtSDQvdC10LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L7QtS5cbtCY0YHQv9C+0LvRjNC30YPRjiDQstC10YDRgdC40Y4gJWkiCiAKLSM6IHJlYWQtY2FjaGUuYzoyNTgwIHNlcXVlbmNlci5jOjQ1MDMgd3JhcHBlci5jOjY1OCBidWlsdGluL21lcmdlLmM6MTA4MworIzogcmVhZC1jYWNoZS5jOjE2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNpZ25hdHVyZSAweCUwOHgiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJWQiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE2OTEKK21zZ2lkICJiYWQgaW5kZXggZmlsZSBzaGExIHNpZ25hdHVyZSIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MTcyMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbmRleCB1c2VzICUuNHMgZXh0ZW5zaW9uLCB3aGljaCB3ZSBkbyBub3QgdW5kZXJzdGFuZCIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MTcyMworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyAlLjRzIGV4dGVuc2lvbiIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MTc2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGluZGV4IGVudHJ5IGZvcm1hdCAweCUwOHgiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE3NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsZm9ybWVkIG5hbWUgZmllbGQgaW4gdGhlIGluZGV4LCBuZWFyIHBhdGggJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MTgzMworbXNnaWQgInVub3JkZXJlZCBzdGFnZSBlbnRyaWVzIGluIGluZGV4IgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzoxODM2CisjLCBjLWZvcm1hdAorbXNnaWQgIm11bHRpcGxlIHN0YWdlIGVudHJpZXMgZm9yIG1lcmdlZCBmaWxlICclcyciCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE4MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5vcmRlcmVkIHN0YWdlIGVudHJpZXMgZm9yICclcyciCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjE5NDYgcmVhZC1jYWNoZS5jOjIyMzQgcmVyZXJlLmM6NTY1IHJlcmVyZS5jOjU5OSByZXJlcmUuYzoxMTExCisjOiBidWlsdGluL2FkZC5jOjQ2MCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3OCBidWlsdGluL2NoZWNrb3V0LmM6MzU4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjcyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDYwIGJ1aWx0aW4vY2xlYW4uYzo5NTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzQ0IGJ1aWx0aW4vZGlmZi10cmVlLmM6MTIwIGJ1aWx0aW4vZ3JlcC5jOjQ5OAorIzogYnVpbHRpbi9tdi5jOjE0NSBidWlsdGluL3Jlc2V0LmM6MjQ1IGJ1aWx0aW4vcm0uYzoyNzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMzAKK21zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQiCittc2dzdHIgItGE0LDQudC7INC40L3QtNC10LrRgdCwINC/0L7QstGA0LXQttC00LXQvSIKKworIzogcmVhZC1jYWNoZS5jOjIwODcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsb2FkX2NhY2hlX2VudHJpZXMgdGhyZWFkOiAlcyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gam9pbiBsb2FkX2NhY2hlX2VudHJpZXMgdGhyZWFkOiAlcyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MjEzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5kZXggZmlsZSBvcGVuIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MjEzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHN0YXQgdGhlIG9wZW4gaW5kZXgiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjIxNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluZGV4IGZpbGUgc21hbGxlciB0aGFuIGV4cGVjdGVkIgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzoyMTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gbWFwIGluZGV4IGZpbGUiCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjIxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsb2FkX2luZGV4X2V4dGVuc2lvbnMgdGhyZWFkOiAlcyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gam9pbiBsb2FkX2luZGV4X2V4dGVuc2lvbnMgdGhyZWFkOiAlcyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZnJlc2hlbiBzaGFyZWQgaW5kZXggJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZWFkLWNhY2hlLmM6MjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJicm9rZW4gaW5kZXgsIGV4cGVjdCAlcyBpbiAlcywgZ290ICVzIgorbXNnc3RyICIiCisKKyM6IHJlYWQtY2FjaGUuYzoyOTg5IHdyYXBwZXIuYzo2NTggYnVpbHRpbi9tZXJnZS5jOjExMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNsb3NlICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC60YDRi9GC0Ywgwqslc8K7IgogCi0jOiByZWFkLWNhY2hlLmM6MjY1MyBzZXF1ZW5jZXIuYzoyMTEzIHNlcXVlbmNlci5jOjMzNzQKKyM6IHJlYWQtY2FjaGUuYzozMDkyIHNlcXVlbmNlci5jOjIzNTQgc2VxdWVuY2VyLmM6MzgwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCBzdGF0INC00LvRjyDCqyVzwrsiCiAKLSM6IHJlYWQtY2FjaGUuYzoyNjY2CisjOiByZWFkLWNhY2hlLmM6MzEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiBnaXQgZGlyOiAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDQutCw0YLQsNC70L7QsyBnaXQ6ICVzIgogCi0jOiByZWFkLWNhY2hlLmM6MjY3OAorIzogcmVhZC1jYWNoZS5jOjMxMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVubGluazogJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtGB0L7QtdC00LjQvdC40YLRjDogJXMiCiAKKyM6IHJlYWQtY2FjaGUuYzozMTQyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaXggcGVybWlzc2lvbiBiaXRzIG9uICclcyciCittc2dzdHIgIiIKKworIzogcmVhZC1jYWNoZS5jOjMyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkcm9wIHRvIHN0YWdlICMwIgorbXNnc3RyICIiCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1bnJlY29nbml6ZWQgc2V0dGluZyAlcyBmb3Igb3B0aW9uIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiBJZ25vcmluZy4iCittc2dzdHIgItC90LXRgNCw0YHQv9C+0LfQvdCw0L3QvdCw0Y8g0L3QsNGB0YLRgNC+0LnQutCwICVzINC00LvRjyDQvtC/0YbQuNC4IHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiDQmNCz0L3QvtGA0LjRgNGD0Y4uIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzozNQorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKKyJwLCBwaWNrIDxjb21taXQ+ID0gdXNlIGNvbW1pdFxuIgorInIsIHJld29yZCA8Y29tbWl0PiA9IHVzZSBjb21taXQsIGJ1dCBlZGl0IHRoZSBjb21taXQgbWVzc2FnZVxuIgorImUsIGVkaXQgPGNvbW1pdD4gPSB1c2UgY29tbWl0LCBidXQgc3RvcCBmb3IgYW1lbmRpbmdcbiIKKyJzLCBzcXVhc2ggPGNvbW1pdD4gPSB1c2UgY29tbWl0LCBidXQgbWVsZCBpbnRvIHByZXZpb3VzIGNvbW1pdFxuIgorImYsIGZpeHVwIDxjb21taXQ+ID0gbGlrZSBcInNxdWFzaFwiLCBidXQgZGlzY2FyZCB0aGlzIGNvbW1pdCdzIGxvZyBtZXNzYWdlXG4iCisieCwgZXhlYyA8Y29tbWFuZD4gPSBydW4gY29tbWFuZCAodGhlIHJlc3Qgb2YgdGhlIGxpbmUpIHVzaW5nIHNoZWxsXG4iCisiYiwgYnJlYWsgPSBzdG9wIGhlcmUgKGNvbnRpbnVlIHJlYmFzZSBsYXRlciB3aXRoICdnaXQgcmViYXNlIC0tY29udGludWUnKVxuIgorImQsIGRyb3AgPGNvbW1pdD4gPSByZW1vdmUgY29tbWl0XG4iCisibCwgbGFiZWwgPGxhYmVsPiA9IGxhYmVsIGN1cnJlbnQgSEVBRCB3aXRoIGEgbmFtZVxuIgorInQsIHJlc2V0IDxsYWJlbD4gPSByZXNldCBIRUFEIHRvIGEgbGFiZWxcbiIKKyJtLCBtZXJnZSBbLUMgPGNvbW1pdD4gfCAtYyA8Y29tbWl0Pl0gPGxhYmVsPiBbIyA8b25lbGluZT5dXG4iCisiLiAgICAgICBjcmVhdGUgYSBtZXJnZSBjb21taXQgdXNpbmcgdGhlIG9yaWdpbmFsIG1lcmdlIGNvbW1pdCdzXG4iCisiLiAgICAgICBtZXNzYWdlIChvciB0aGUgb25lbGluZSwgaWYgbm8gb3JpZ2luYWwgbWVyZ2UgY29tbWl0IHdhc1xuIgorIi4gICAgICAgc3BlY2lmaWVkKS4gVXNlIC1jIDxjb21taXQ+IHRvIHJld29yZCB0aGUgY29tbWl0IG1lc3NhZ2UuXG4iCisiXG4iCisiVGhlc2UgbGluZXMgY2FuIGJlIHJlLW9yZGVyZWQ7IHRoZXkgYXJlIGV4ZWN1dGVkIGZyb20gdG9wIHRvIGJvdHRvbS5cbiIKK21zZ3N0ciAiXG7QmtC+0LzQsNC90LTRizpcbnAsIHBpY2sgPNC60L7QvNC80LjRgj4gPSDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LrQvtC80LzQuNGCXG5yLCByZXdvcmQgPNC60L7QvNC80LjRgj4gPSDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LrQvtC80LzQuNGCLCDQvdC+INC40LfQvNC10L3QuNGC0Ywg0YHQvtC+0LHRidC10L3QuNC1INC60L7QvNC80LjRgtCwXG5lLCBlZGl0IDzQutC+0LzQvNC40YI+ID0g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC60L7QvNC80LjRgiwg0L3QviDQvtGB0YLQsNC90L7QstC40YLRjNGB0Y8g0LTQu9GPINC40YHQv9GA0LDQstC70LXQvdC40Y9cbnMsIHNxdWFzaCA80LrQvtC80LzQuNGCPiA9INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQutC+0LzQvNC40YIsINC90L4g0L7QsdGK0LXQtNC40L3QuNGC0Ywg0YEg0L/RgNC10LTRi9C00YPRidC40Lwg0LrQvtC80LzQuNGC0L7QvFxuZiwgZml4dXAgPNC60L7QvNC80LjRgj4gPSDQutCw0LogwqtzcXVhc2jCuywg0L3QviDQv9GA0L7Qv9GD0YHRgtC40YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LBcbngsIGV4ZWMgPNC60L7QvNCw0L3QtNCwPiA9INCy0YvQv9C+0LvQvdC40YLRjCDQutC+0LzQsNC90LTRgyAo0L7RgdGC0LDRgtC+0Log0YHRgtGA0L7QutC4KSDRgSDQv9C+0LzQvtGJ0YzRjiDQutC+0LzQsNC90LTQvdC+0Lkg0L7QsdC+0LvQvtGH0LrQuFxuYiwgYnJlYWsgPSDQvtGB0YLQsNC90L7QstC40YLRjNGB0Y8g0LfQtNC10YHRjCAo0L/RgNC+0LTQvtC70LbQuNGC0Ywg0YEg0L/QvtC80L7RidGM0Y4gwqtnaXQgcmViYXNlIC0tY29udGludWXCuylcbmQsIGRyb3AgPNC60L7QvNC80LjRgj4gPSDRg9C00LDQu9C40YLRjCDQutC+0LzQvNC40YJcbmwsIGxhYmVsIDzQvNC10YLQutCwPiA9INC00LDRgtGMINC40LzRjyDRgtC10LrRg9GJ0LXQvNGDIEhFQURcbnQsIHJlc2V0IDzQvNC10YLQutCwPiA9INGB0LHRgNC+0YHQuNGC0YwgSEVBRCDQuiDRg9C60LDQt9Cw0L3QvdC+0Lkg0LzQtdGC0LrQtVxubSwgbWVyZ2UgWy1DIDzQutC+0LzQvNC40YI+IHwgLWMgPNC60L7QvNC80LjRgj5dIDzQvNC10YLQutCwPiBbIyA80YHRgtGA0L7QutCwPl1cbi4g0YHQvtC30LTQsNGC0Ywg0YHQu9C40Y/QvdC40LUg0LjRgdC/0L7Qu9GM0LfRg9GPINGB0L7QvtCx0YnQtdC90LjQtSDQutC+0LzQvNC40YLQsCDQvtGA0LjQs9C40L3QsNC70YzQvdC+0LPQvlxuLiDRgdC70LjRj9C90LjRjyAo0LjQu9C4INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRg9C60LDQt9Cw0L3QvdGD0Y4g0YHRgtGA0L7QutGDLCDQtdGB0LvQuCDQvtGA0LjQs9C40L3QsNC70YzQvdC+0LVcbi4g0YHQu9C40Y/QvdC40LUg0L3QtSDRg9C60LDQt9Cw0L3QvikuINCY0YHQv9C+0LvRjNC30YPQudGC0LUgLWMgPNC60L7QvNC80LjRgj4g0YfRgtC+0LHRiyDQuNC30LzQtdC90LjRgtGMXG4uINGB0L7QvtCx0YnQtdC90LjQtSDQutC+0LzQvNC40YLQsC5cblxu0K3RgtC4INGB0YLRgNC+0LrQuCDQvNC+0LbQvdC+INC/0LXRgNC10LzQtdGJ0LDRgtGMOyDQvtC90Lgg0LHRg9C00YPRgiDQstGL0L/QvtC70L3QtdC90Ysg0YHQstC10YDRhdGDINCy0L3QuNC3LlxuIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo1NgorIywgYy1mb3JtYXQKK21zZ2lkICJSZWJhc2UgJXMgb250byAlcyAoJWQgY29tbWFuZCkiCittc2dpZF9wbHVyYWwgIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kcykiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorbXNnc3RyWzJdICIiCittc2dzdHJbM10gIiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6NjUgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjE3MworbXNnaWQgIiIKKyJcbiIKKyJEbyBub3QgcmVtb3ZlIGFueSBsaW5lLiBVc2UgJ2Ryb3AnIGV4cGxpY2l0bHkgdG8gcmVtb3ZlIGEgY29tbWl0LlxuIgorbXNnc3RyICJcbtCd0LUg0YPQtNCw0LvRj9C50YLQtSDRgdGC0YDQvtC60LguINCY0YHQv9C+0LvRjNC30YPQudGC0LUgwqtkcm9wwrssINGH0YLQvtCx0Ysg0Y/QstC90L4g0YPQtNCw0LvQuNGC0Ywg0LrQvtC80LzQuNGCLlxuIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo2OCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTc3Cittc2dpZCAiIgorIlxuIgorIklmIHlvdSByZW1vdmUgYSBsaW5lIGhlcmUgVEhBVCBDT01NSVQgV0lMTCBCRSBMT1NULlxuIgorbXNnc3RyICJcbtCV0YHQu9C4INCy0Ysg0YPQtNCw0LvQuNGC0LUg0YHRgtGA0L7QutGDINC30LTQtdGB0YwsINGC0L4g0KPQmtCQ0JfQkNCd0J3Qq9CZINCa0J7QnNCc0JjQoiDQkdCj0JTQldCiINCj0KLQldCg0K/QnS5cbiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6NzQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgxNgorbXNnaWQgIiIKKyJcbiIKKyJZb3UgYXJlIGVkaXRpbmcgdGhlIHRvZG8gZmlsZSBvZiBhbiBvbmdvaW5nIGludGVyYWN0aXZlIHJlYmFzZS5cbiIKKyJUbyBjb250aW51ZSByZWJhc2UgYWZ0ZXIgZWRpdGluZywgcnVuOlxuIgorIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKyJcbiIKK21zZ3N0ciAiXG7QktGLINGB0LXQudGH0LDRgSDRgNC10LTQsNC60YLQuNGA0YPQtdGC0LUg0YTQsNC50Lsg0YHQviDRgdC/0LjRgdC60L7QvCDQtNC10Lsg0LTQu9GPINC40L3RgtC10YDQsNC60YLQuNCy0L3QvtCz0L4g0L/QtdGA0LXQvNC10YnQtdC90LjRjy5cbtCU0LvRjyDQv9GA0L7QtNC+0LvQttC10L3QuNGPINC/0LXRgNC10LzQtdGJ0LXQvdC40Y8sINC/0L7RgdC70LUg0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjRjyDRhNCw0LnQu9CwINC30LDQv9GD0YHRgtC40YLQtTpcbiAgICBnaXQgcmViYXNlIC0tY29udGludWVcblxuIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo3OSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODkzCittc2dpZCAiIgorIlxuIgorIkhvd2V2ZXIsIGlmIHlvdSByZW1vdmUgZXZlcnl0aGluZywgdGhlIHJlYmFzZSB3aWxsIGJlIGFib3J0ZWQuXG4iCisiXG4iCittc2dzdHIgIlxu0J3QviDQtdGB0LvQuCDQstGLINGD0LTQsNC70LjRgtC1INCy0YHQtSwg0YLQviDQv9GA0L7RhtC10YHRgSDQv9C10YDQtdC80LXRidC10L3QuNGPINCx0YPQtNC10YIg0LHRg9C00LXRgiDQv9GA0LXRgNCy0LDQvS5cblxuIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo4NSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTAwCittc2dpZCAiTm90ZSB0aGF0IGVtcHR5IGNvbW1pdHMgYXJlIGNvbW1lbnRlZCBvdXQiCittc2dzdHIgItCX0LDQvNC10YLRjNGC0LUsINGH0YLQviDQv9GD0YHRgtGL0LUg0LrQvtC80LzQuNGC0Ysg0LfQsNC60L7QvNC80LXQvdGC0LjRgNC+0LLQsNC90L3RiyIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTA1IHJlcmVyZS5jOjQ4NSByZXJlcmUuYzo2OTIgc2VxdWVuY2VyLmM6MzMzOQorIzogc2VxdWVuY2VyLmM6MzM2NSBzZXF1ZW5jZXIuYzo0OTk2IGJ1aWx0aW4vZnNjay5jOjM1NiBidWlsdGluL3JlYmFzZS5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMIMKrJXPCuyIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjb3B5ICclcycgdG8gJyVzJy4iCittc2dzdHIgIiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS5cbiIKKyJEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKTpcbiIKK21zZ3N0ciAi0JLQvdC40LzQsNC90LjQtTog0L3QtdC60L7RgtC+0YDRi9C1INC60L7QvNC80LjRgtGLINC80L7Qs9C70Lgg0LHRi9GC0Ywg0L7RgtCx0YDQvtGI0LXQvdGLINC/0L4g0L7RiNC40LHQutC1Llxu0J7RgtCx0YDQvtGI0LXQvdC90YvQtSDQutC+0LzQvNC40YLRiyAo0L7RgiDQvdC+0LLRi9GFINC6INGB0YLQsNGA0YvQvCk6XG4iCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjE4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgXCJkcm9wXCIgdG8gZXhwbGljaXRseSByZW1vdmUgYSBjb21taXQuXG4iCisiXG4iCisiVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mIHdhcm5pbmdzLlxuIgorIlRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci5cbiIKKyJcbiIKK21zZ3N0ciAi0KfRgtC+0LHRiyDQuNC30LHQtdC20LDRgtGMINGN0YLQvtCz0L4g0YHQvtC+0LHRidC10L3QuNGPLCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZHJvcMK7INGH0YLQvtCx0Ysg0Y/QstC90L4g0YPQtNCw0LvQuNGC0Ywg0LrQvtC80LzQuNGCLlxuXG7QmNGB0L/QvtC70YzQt9GD0LnRgtC1INC+0L/RhtC40Y4gwqtnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrwrsg0LTQu9GPINC40LfQvNC10L3QtdC90LjRjyDQutC+0LvQuNGH0LXRgdGC0LLQsCDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC5Llxu0JLQvtC30LzQvtC20L3Ri9C1INC30L3QsNGH0LXQvdC40Y86IGlnbm9yZSwgd2FybiwgZXJyb3IuXG5cbiIKKwogIzogcmVmcy5jOjE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIG9iamVjdCEiCiBtc2dzdHIgIiIKIAotIzogcmVmcy5jOjU3OQorIzogcmVmcy5jOjU5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBkYW5nbGluZyBzeW1yZWYgJXMiCiBtc2dzdHIgIiIKIAotIzogcmVmcy5jOjU4MSByZWYtZmlsdGVyLmM6MjA2NworIzogcmVmcy5jOjU5OSByZWYtZmlsdGVyLmM6MTk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBicm9rZW4gcmVmICVzIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNGD0Y4g0L3QtdC/0YDQsNCy0LjQu9GM0L3Rg9GOINGB0YHRi9C70LrRgyAlcyIKIAotIzogcmVmcy5jOjY4NQorIzogcmVmcy5jOjczNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nOiAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDCqyVzwrsg0LTQu9GPINC30LDQv9C40YHQuDogJXMiCiAKLSM6IHJlZnMuYzo2OTUgcmVmcy5jOjc0NgorIzogcmVmcy5jOjc0NCByZWZzLmM6Nzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIHJlZiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHJlZnMuYzo3MDEKKyM6IHJlZnMuYzo3NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIiIKIAotIzogcmVmcy5jOjcwNgorIzogcmVmcy5jOjc1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG9iamVjdCBJRCB3aGVuIHdyaXRpbmcgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiByZWZzLmM6NzE0IHNlcXVlbmNlci5jOjM4NSBzZXF1ZW5jZXIuYzoyMzY2IHNlcXVlbmNlci5jOjI0OTIKLSM6IHNlcXVlbmNlci5jOjI1MDYgc2VxdWVuY2VyLmM6MjczMyBzZXF1ZW5jZXIuYzo0NTAxIHNlcXVlbmNlci5jOjQ1NjQKLSM6IHdyYXBwZXIuYzo2NTYKKyM6IHJlZnMuYzo3NjMgc2VxdWVuY2VyLmM6NDAwIHNlcXVlbmNlci5jOjI2Nzkgc2VxdWVuY2VyLmM6MjgwNQorIzogc2VxdWVuY2VyLmM6MjgxOSBzZXF1ZW5jZXIuYzozMDc2IHNlcXVlbmNlci5jOjQ5MTMgd3JhcHBlci5jOjY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINCyIMKrJXPCuyIKIAotIzogcmVmcy5jOjc0MSBzZXF1ZW5jZXIuYzo0NDk5IHNlcXVlbmNlci5jOjQ1NTggd3JhcHBlci5jOjIyNSB3cmFwcGVyLmM6Mzk1Ci0jOiBidWlsdGluL2FtLmM6NzgwCisjOiByZWZzLmM6NzkwIHdyYXBwZXIuYzoyMjUgd3JhcHBlci5jOjM5NSBidWlsdGluL2FtLmM6NzE1CisjOiBidWlsdGluL3JlYmFzZS5jOjk5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMIMKrJXPCuyDQtNC70Y8g0LfQsNC/0LjRgdC4IgogCi0jOiByZWZzLmM6NzQ4CisjOiByZWZzLmM6Nzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgb2JqZWN0IElEIHdoZW4gZGVsZXRpbmcgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiByZWZzLmM6ODc5CisjOiByZWZzLmM6OTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvZyBmb3IgcmVmICVzIGhhcyBnYXAgYWZ0ZXIgJXMiCiBtc2dzdHIgIiIKIAotIzogcmVmcy5jOjg4NQorIzogcmVmcy5jOjkzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2cgZm9yIHJlZiAlcyB1bmV4cGVjdGVkbHkgZW5kZWQgb24gJXMiCiBtc2dzdHIgIiIKIAotIzogcmVmcy5jOjk0MworIzogcmVmcy5jOjk5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2cgZm9yICVzIGlzIGVtcHR5IgogbXNnc3RyICIiCiAKLSM6IHJlZnMuYzoxMDM1CisjOiByZWZzLmM6MTA4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZ1c2luZyB0byB1cGRhdGUgcmVmIHdpdGggYmFkIG5hbWUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiByZWZzLmM6MTExMQorIzogcmVmcy5jOjExNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAidXBkYXRlX3JlZiBmYWlsZWQgZm9yIHJlZiAnJXMnOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWZzLmM6MTg1MworIzogcmVmcy5jOjE5NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAibXVsdGlwbGUgdXBkYXRlcyBmb3IgcmVmICclcycgbm90IGFsbG93ZWQiCiBtc2dzdHIgIiIKIAotIzogcmVmcy5jOjE4ODUKKyM6IHJlZnMuYzoxOTc0CiBtc2dpZCAicmVmIHVwZGF0ZXMgZm9yYmlkZGVuIGluc2lkZSBxdWFyYW50aW5lIGVudmlyb25tZW50IgogbXNnc3RyICLQvtCx0L3QvtCy0LvQtdC90LjQtSDRgdGB0YvQu9C+0Log0LfQsNC/0YDQtdGJ0LXQvdC+INCyINC40LfQvtC70LjRgNC+0LLQsNC90L3QvtC8INC+0LrRgNGD0LbQtdC90LjQuCIKIAotIzogcmVmcy5jOjE5ODEgcmVmcy5jOjIwMTEKKyM6IHJlZnMuYzoyMDcwIHJlZnMuYzoyMTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICclcyciCiBtc2dzdHIgIiIKIAotIzogcmVmcy5jOjE5ODcgcmVmcy5jOjIwMjIKKyM6IHJlZnMuYzoyMDc2IHJlZnMuYzoyMTExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBwcm9jZXNzICclcycgYW5kICclcycgYXQgdGhlIHNhbWUgdGltZSIKIG1zZ3N0ciAiIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxMTkxCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxMjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgcmVmZXJlbmNlICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMINGB0YHRi9C70LrQuCAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTIwNSByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTUzMgorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTI0OCByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTUzMgogIzogcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2UgJXM6ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMINGB0YHRi9C70LrRgyAlczogJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyMDggcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDUKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyNTEgcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2VzOiAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCDRgdGB0YvQu9C60Lg6ICVzIgpAQCAtMzQ0NCwzMjkgKzQ2OTYsNDYzIEBACiBtc2dpZCAiaW52YWxpZCByZWZzcGVjICclcyciCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjM4IHd0LXN0YXR1cy5jOjE4NTAKKyM6IHJlZi1maWx0ZXIuYzozOSB3dC1zdGF0dXMuYzoxOTA5CiBtc2dpZCAiZ29uZSIKIG1zZ3N0ciAi0LjRgdGH0LXQtyIKIAotIzogcmVmLWZpbHRlci5jOjM5CisjOiByZWYtZmlsdGVyLmM6NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWhlYWQgJWQiCiBtc2dzdHIgItCy0L/QtdGA0LXQtNC4ICVkIgogCi0jOiByZWYtZmlsdGVyLmM6NDAKKyM6IHJlZi1maWx0ZXIuYzo0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiZWhpbmQgJWQiCiBtc2dzdHIgItC/0L7Qt9Cw0LTQuCAlZCIKIAotIzogcmVmLWZpbHRlci5jOjQxCisjOiByZWYtZmlsdGVyLmM6NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWhlYWQgJWQsIGJlaGluZCAlZCIKIG1zZ3N0ciAi0LLQv9C10YDQtdC00LggJWQsINC/0L7Qt9Cw0LTQuCAlZCIKIAotIzogcmVmLWZpbHRlci5jOjEzNworIzogcmVmLWZpbHRlci5jOjEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGNvbG9yOjxjb2xvcj4pIgogbXNnc3RyICLQvtC20LjQtNCw0LXQvNGL0Lkg0YTQvtGA0LzQsNGCOiAlJShjb2xvcjo8Y29sb3I+KSIKIAotIzogcmVmLWZpbHRlci5jOjEzOQorIzogcmVmLWZpbHRlci5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgY29sb3I6ICUlKGNvbG9yOiVzKSIKIG1zZ3N0ciAi0L3QtdC+0L/QvtC30L3QsNC90L3Ri9C5INGG0LLQtdGCOiAlJShjb2xvcjolcykiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjEKKyM6IHJlZi1maWx0ZXIuYzoxNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW50ZWdlciB2YWx1ZSBleHBlY3RlZCByZWZuYW1lOmxzdHJpcD0lcyIKIG1zZ3N0ciAi0J7QttC40LTQsNC10YLRgdGPINGG0LXQu9C+0YfQuNGB0LvQtdC90L3QvtC1INC30L3QsNGH0LXQvdC40LUgcmVmbmFtZTpsc3RyaXA9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjUKKyM6IHJlZi1maWx0ZXIuYzoxNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW50ZWdlciB2YWx1ZSBleHBlY3RlZCByZWZuYW1lOnJzdHJpcD0lcyIKIG1zZ3N0ciAi0J7QttC40LTQsNC10YLRgdGPINGG0LXQu9C+0YfQuNGB0LvQtdC90L3QvtC1INC30L3QsNGH0LXQvdC40LUgcmVmbmFtZTpyc3RyaXA9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjcKKyM6IHJlZi1maWx0ZXIuYzoxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKCVzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgItC90LXQvtC/0L7Qt9C90LDQvdC90YvQuSDQsNGA0LPRg9C80LXQvdGCICUlKCVzKTogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoyMjIKKyM6IHJlZi1maWx0ZXIuYzoyMjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUob2JqZWN0dHlwZSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiIKIAotIzogcmVmLWZpbHRlci5jOjIzNAorIzogcmVmLWZpbHRlci5jOjI0NQogIywgYy1mb3JtYXQKLW1zZ2lkICIlJShvYmplY3RzaXplKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUob2JqZWN0c2l6ZSkgYXJndW1lbnQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IHJlZi1maWx0ZXIuYzoyNDYKKyM6IHJlZi1maWx0ZXIuYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSUoZGVsdGFiYXNlKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiByZWYtZmlsdGVyLmM6MjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiUlKGJvZHkpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgogbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAICUlKGJvZHkpINC90LUg0L/RgNC40L3QuNC80LDQtdGCINCw0YDQs9GD0LzQtdC90YLRiyIKIAotIzogcmVmLWZpbHRlci5jOjI1NQorIzogcmVmLWZpbHRlci5jOjI3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlJShzdWJqZWN0KSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKIG1zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCAlJShzdWJqZWN0KSDQvdC1INC/0YDQuNC90LjQvNCw0LXRgiDQsNGA0LPRg9C80LXQvdGC0YsiCiAKLSM6IHJlZi1maWx0ZXIuYzoyNzUKKyM6IHJlZi1maWx0ZXIuYzoyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biAlJSh0cmFpbGVycykgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INCw0YDQs9GD0LzQtdC90YIg0LTQu9GPICUlKHRyYWlsZXJzKTogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozMDQKKyM6IHJlZi1maWx0ZXIuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgY29udGVudHM6bGluZXM9JXMiCiBtc2dzdHIgItC/0L7Qu9C+0LbQuNGC0LXQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0L7QttC40LTQsNC10YIgY29udGVudHM6bGluZXM9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozMDYKKyM6IHJlZi1maWx0ZXIuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGNvbnRlbnRzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgItC90LXQvtC/0L7Qt9C90LDQvdC90YvQuSDQsNGA0LPRg9C80LXQvdGCICUlKGNvbnRlbnRzKTogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozMjEKKyM6IHJlZi1maWx0ZXIuYzozNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgb2JqZWN0bmFtZTpzaG9ydD0lcyIKIG1zZ3N0ciAi0L7QttC40LTQsNC10YLRgdGPINC/0L7Qu9C+0LbQuNGC0LXQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUgb2JqZWN0bmFtZTpzaG9ydD0lcyIKIAotIzogcmVmLWZpbHRlci5jOjMyNQorIzogcmVmLWZpbHRlci5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUob2JqZWN0bmFtZSkgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLQvdC10L7Qv9C+0LfQvdCw0L3QvdGL0Lkg0LDRgNCz0YPQvNC10L3RgiAlJShvYmplY3RuYW1lKTogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozNTUKKyM6IHJlZi1maWx0ZXIuYzozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgZm9ybWF0OiAlJShhbGlnbjo8d2lkdGg+LDxwb3NpdGlvbj4pIgogbXNnc3RyICLQvtC20LjQtNCw0LXQvNGL0Lkg0YTQvtGA0LzQsNGCOiAlJShhbGlnbjo8d2lkdGg+LDxwb3NpdGlvbj4pIgogCi0jOiByZWYtZmlsdGVyLmM6MzY3CisjOiByZWYtZmlsdGVyLmM6Mzg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBwb3NpdGlvbjolcyIKIG1zZ3N0ciAi0L3QtdC+0L/QvtC30L3QsNC90L3QsNGPINC/0L7Qt9C40YbQuNGPOiVzIgogCi0jOiByZWYtZmlsdGVyLmM6Mzc0CisjOiByZWYtZmlsdGVyLmM6Mzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aWR0aDolcyIKIG1zZ3N0ciAi0L3QtdC+0L/QvtC30L3QsNC90L3QsNGPINGI0LjRgNC40L3QsDolcyIKIAotIzogcmVmLWZpbHRlci5jOjM4MworIzogcmVmLWZpbHRlci5jOjQwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoYWxpZ24pIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAi0L3QtdC+0L/QvtC30L3QsNC90L3Ri9C5INCw0YDQs9GD0LzQtdC90YIgJSUoYWxpZ24pOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjM5MQorIzogcmVmLWZpbHRlci5jOjQxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwb3NpdGl2ZSB3aWR0aCBleHBlY3RlZCB3aXRoIHRoZSAlJShhbGlnbikgYXRvbSIKIG1zZ3N0ciAi0L7QttC40LTQsNC10YLRgdGPINC/0L7Qu9C+0LbQuNGC0LXQu9GM0L3QsNGPINGI0LjRgNC40L3QsCDRgSDRg9C60LDQt9Cw0L3QuNC10Lwg0YfQsNGB0YLQuNGG0YsgJSUoYWxpZ24pIgogCi0jOiByZWYtZmlsdGVyLmM6NDA5CisjOiByZWYtZmlsdGVyLmM6NDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShpZikgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLQvdC10L7Qv9C+0LfQvdCw0L3QvdGL0Lkg0LDRgNCz0YPQvNC10L3RgiAlJShpZik6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6NTA1CisjOiByZWYtZmlsdGVyLmM6NTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBmaWVsZCBuYW1lOiAlLipzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LjQvNGPINC/0L7Qu9GPOiAlLipzIgogCi0jOiByZWYtZmlsdGVyLmM6NTMyCisjOiByZWYtZmlsdGVyLmM6NTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90L7QtSDQuNC80Y8g0L/QvtC70Y86ICUuKnMiCiAKLSM6IHJlZi1maWx0ZXIuYzo2NTYKKyM6IHJlZi1maWx0ZXIuYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5vdCBhIGdpdCByZXBvc2l0b3J5LCBidXQgdGhlIGZpZWxkICclLipzJyByZXF1aXJlcyBhY2Nlc3MgdG8gb2JqZWN0IGRhdGEiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjY4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGlmKSBhdG9tIHVzZWQgd2l0aG91dCBhICUlKHRoZW4pIGF0b20iCiBtc2dzdHIgItGE0L7RgNC80LDRgjog0YfQsNGB0YLQuNGG0LAgJSUoaWYpINC40YHQv9C+0LvRjNC30L7QstCw0L3QsCDQsdC10Lcg0YfQsNGB0YLQuNGG0YsgJSUodGhlbikiCiAKLSM6IHJlZi1maWx0ZXIuYzo3MTkKKyM6IHJlZi1maWx0ZXIuYzo3NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKIG1zZ3N0ciAi0YTQvtGA0LzQsNGCOiDRh9Cw0YHRgtC40YbQsCAlJSh0aGVuKSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LAg0LHQtdC3INGH0LDRgdGC0LjRhtGLICUlKGlmKSIKIAotIzogcmVmLWZpbHRlci5jOjcyMQorIzogcmVmLWZpbHRlci5jOjc1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKIG1zZ3N0ciAi0YTQvtGA0LzQsNGCOiDRh9Cw0YHRgtC40YbQsCAlJSh0aGVuKSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LAg0LHQvtC70LXQtSDQvtC00L3QvtCz0L4g0YDQsNC30LAiCiAKLSM6IHJlZi1maWx0ZXIuYzo3MjMKKyM6IHJlZi1maWx0ZXIuYzo3NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgYWZ0ZXIgJSUoZWxzZSkiCiBtc2dzdHIgItGE0L7RgNC80LDRgjog0YfQsNGB0YLQuNGG0LAgJSUodGhlbikg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdCwINC/0L7RgdC70LUgJSUoZWxzZSkiCiAKLSM6IHJlZi1maWx0ZXIuYzo3NTEKKyM6IHJlZi1maWx0ZXIuYzo3ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKIG1zZ3N0ciAi0YTQvtGA0LzQsNGCOiDRh9Cw0YHRgtC40YbQsCAlJShlbHNlKSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LAg0LHQtdC3INGH0LDRgdGC0LjRhtGLICUlKGlmKSIKIAotIzogcmVmLWZpbHRlci5jOjc1MworIzogcmVmLWZpbHRlci5jOjc4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCB3aXRob3V0IGEgJSUodGhlbikgYXRvbSIKIG1zZ3N0ciAi0YTQvtGA0LzQsNGCOiDRh9Cw0YHRgtC40YbQsCAlJShlbHNlKSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LAg0LHQtdC3INGH0LDRgdGC0LjRhtGLICUlKHRoZW4pIgogCi0jOiByZWYtZmlsdGVyLmM6NzU1CisjOiByZWYtZmlsdGVyLmM6Nzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIG1vcmUgdGhhbiBvbmNlIgogbXNnc3RyICLRhNC+0YDQvNCw0YI6INGH0LDRgdGC0LjRhtCwICUlKGVsc2UpINC40YHQv9C+0LvRjNC30L7QstCw0L3QsCDQsdC+0LvQtdC1INC+0LTQvdC+0LPQviDRgNCw0LfQsCIKIAotIzogcmVmLWZpbHRlci5jOjc3MAorIzogcmVmLWZpbHRlci5jOjgwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSB1c2VkIHdpdGhvdXQgY29ycmVzcG9uZGluZyBhdG9tIgogbXNnc3RyICLRhNC+0YDQvNCw0YI6INGH0LDRgdGC0LjRhtCwICUlKGVuZCkg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdCwINCx0LXQtyDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidC10Lkg0YfQsNGB0YLQuNGG0YsiCiAKLSM6IHJlZi1maWx0ZXIuYzo4MjcKKyM6IHJlZi1maWx0ZXIuYzo4NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGZvcm1hdCBzdHJpbmcgJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LDRjyDRgdGC0YDQvtC60LAg0YTQvtGA0LzQsNGC0LAgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDE2CisjOiByZWYtZmlsdGVyLmM6MTQ1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyAlcykiCiBtc2dzdHIgIijQvdC10YIg0LLQtdGC0LrQuCwg0L/QtdGA0LXQvNC10YnQtdC90LjQtSAlcykiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDE5CisjOiByZWYtZmlsdGVyLmM6MTQ1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyBkZXRhY2hlZCBIRUFEICVzKSIKIG1zZ3N0ciAiKNC90LXRgiDQstC10YLQutC4INC/0LXRgNC10LzQtdGJ0LXQvdC40LUg0L7RgtC00LXQu9GR0L3QvdC+0LPQviBIRUFEICVzKSIKIAotIzogcmVmLWZpbHRlci5jOjE0MjIKKyM6IHJlZi1maWx0ZXIuYzoxNDU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKIG1zZ3N0ciAiKNC90LXRgiDQstC10YLQutC4LCDQtNCy0L7QuNGH0L3Ri9C5INC/0L7QuNGB0Log0L3QsNGH0LDRgiDQvdCwICVzKSIKIAogIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMgIkhFQUQKICMuIGRldGFjaGVkIGF0ICIgaW4gd3Qtc3RhdHVzLmMKLSM6IHJlZi1maWx0ZXIuYzoxNDMwCisjOiByZWYtZmlsdGVyLmM6MTQ2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIoSEVBRCBkZXRhY2hlZCBhdCAlcykiCiBtc2dzdHIgIihIRUFEINC+0YLQtNC10LvRkdC9INC90LAgJXMpIgogCiAjLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcyAiSEVBRAogIy4gZGV0YWNoZWQgZnJvbSAiIGluIHd0LXN0YXR1cy5jCi0jOiByZWYtZmlsdGVyLmM6MTQzNworIzogcmVmLWZpbHRlci5jOjE0NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiCiBtc2dzdHIgIihIRUFEINC+0YLQtNC10LvRkdC9INC90LDRh9C40L3QsNGPINGBICVzKSIKIAotIzogcmVmLWZpbHRlci5jOjE0NDEKKyM6IHJlZi1maWx0ZXIuYzoxNDc4CiBtc2dpZCAiKG5vIGJyYW5jaCkiCiBtc2dzdHIgIijQvdC10YIg0LLQtdGC0LrQuCkiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDc1IHJlZi1maWx0ZXIuYzoxNjIzCisjOiByZWYtZmlsdGVyLmM6MTUxMiByZWYtZmlsdGVyLmM6MTY2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIG9iamVjdCAlcyBmb3IgJXMiCiBtc2dzdHIgItC90LUg0L3QsNC50LTQtdC9INC+0LHRitC10LrRgiAlcyDQtNC70Y8gJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDgzCisjOiByZWYtZmlsdGVyLmM6MTUyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXJzZV9vYmplY3RfYnVmZmVyIGZhaWxlZCBvbiAlcyBmb3IgJXMiCiBtc2dzdHIgItGB0LHQvtC5INC/0YDQuCDQstGL0L/QvtC70L3QtdC90LjQuCBwYXJzZV9vYmplY3RfYnVmZmVyINC90LAgJXMg0LTQu9GPICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTk4MAorIzogcmVmLWZpbHRlci5jOjE4ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBhdCAnJXMnIgogbXNnc3RyICLQn9C+0LLRgNC10LbQtNGR0L3QvdGL0Lkg0L7QsdGK0LXQutGCIMKrJXPCuyIKIAotIzogcmVmLWZpbHRlci5jOjIwNjIKKyM6IHJlZi1maWx0ZXIuYzoxOTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHJlZiB3aXRoIGJyb2tlbiBuYW1lICVzIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNGD0Y4g0YHRgdGL0LvQutGDINGBINC90LXQv9GA0LDQstC40LvRjNC90YvQvCDQuNC80LXQvdC10LwgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoyMzQwCisjOiByZWYtZmlsdGVyLmM6MjI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgogbXNnc3RyICJmb3JtYXQ6INC/0YDQvtC/0YPRidC10L3QsCDRh9Cw0YHRgtC40YbQsCAlJShlbmQpIgogCi0jOiByZWYtZmlsdGVyLmM6MjQ0NAorIzogcmVmLWZpbHRlci5jOjIzNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1tZXJnZWQiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjIzNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1uby1tZXJnZWQiCittc2dzdHIgIiIKKworIzogcmVmLWZpbHRlci5jOjIzNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LjQvNGPINC+0LHRitC10LrRgtCwICVzIgogCi0jOiByZW1vdGUuYzo2MDYKKyM6IHJlZi1maWx0ZXIuYzoyMzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIG11c3QgcG9pbnQgdG8gYSBjb21taXQiCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbmZpZyByZW1vdGUgc2hvcnRoYW5kIGNhbm5vdCBiZWdpbiB3aXRoICcvJzogJXMiCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6NDEwCittc2dpZCAibW9yZSB0aGFuIG9uZSByZWNlaXZlcGFjayBnaXZlbiwgdXNpbmcgdGhlIGZpcnN0IgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjQxOAorbXNnaWQgIm1vcmUgdGhhbiBvbmUgdXBsb2FkcGFjayBnaXZlbiwgdXNpbmcgdGhlIGZpcnN0IgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjYwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZmV0Y2ggYm90aCAlcyBhbmQgJXMgdG8gJXMiCiBtc2dzdHIgItCd0LXQu9GM0LfRjyDQuNC30LLQu9C10YfRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4gJXMg0LggJXMg0LIgJXMiCiAKLSM6IHJlbW90ZS5jOjYxMAorIzogcmVtb3RlLmM6NjEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHVzdWFsbHkgdHJhY2tzICVzLCBub3QgJXMiCiBtc2dzdHIgIiVzINC+0LHRi9GH0L3QviDQvtGC0YHQu9C10LbQuNCy0LDQtdGCICVzLCDQsCDQvdC1ICVzIgogCi0jOiByZW1vdGUuYzo2MTQKKyM6IHJlbW90ZS5jOjYxNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyB0cmFja3MgYm90aCAlcyBhbmQgJXMiCiBtc2dzdHIgIiVzINC+0YLRgdC70LXQttC40LLQsNC10YIg0LggJXMg0LggJXMiCiAKLSM6IHJlbW90ZS5jOjYyMgotbXNnaWQgIkludGVybmFsIGVycm9yIgotbXNnc3RyICLQktC90YPRgtGA0LXQvdC90Y/RjyDQvtGI0LjQsdC60LAiCisjOiByZW1vdGUuYzo2ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAia2V5ICclcycgb2YgcGF0dGVybiBoYWQgbm8gJyonIgorbXNnc3RyICIiCiAKLSM6IHJlbW90ZS5jOjE1MzYgcmVtb3RlLmM6MTYzNworIzogcmVtb3RlLmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgInZhbHVlICclcycgb2YgcGF0dGVybiBoYXMgbm8gJyonIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3JjIHJlZnNwZWMgJXMgZG9lcyBub3QgbWF0Y2ggYW55IgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3JjIHJlZnNwZWMgJXMgbWF0Y2hlcyBtb3JlIHRoYW4gb25lIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiAibWF0Y2hlcyAnJXMnJSIgaXMgdGhlIDxkc3Q+IHBhcnQgb2YgImdpdCBwdXNoCisjLiA8cmVtb3RlPiA8c3JjPjo8ZHN0PiIgcHVzaCwgYW5kICJiZWluZyBwdXNoZWQgKCclcycpIiBpcworIy4gdGhlIDxzcmM+LgorIzogcmVtb3RlLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlc3RpbmF0aW9uIHlvdSBwcm92aWRlZCBpcyBub3QgYSBmdWxsIHJlZm5hbWUgKGkuZS4sXG4iCisic3RhcnRpbmcgd2l0aCBcInJlZnMvXCIpLiBXZSB0cmllZCB0byBndWVzcyB3aGF0IHlvdSBtZWFudCBieTpcbiIKKyJcbiIKKyItIExvb2tpbmcgZm9yIGEgcmVmIHRoYXQgbWF0Y2hlcyAnJXMnIG9uIHRoZSByZW1vdGUgc2lkZS5cbiIKKyItIENoZWNraW5nIGlmIHRoZSA8c3JjPiBiZWluZyBwdXNoZWQgKCclcycpXG4iCisiICBpcyBhIHJlZiBpbiBcInJlZnMve2hlYWRzLHRhZ3N9L1wiLiBJZiBzbyB3ZSBhZGQgYSBjb3JyZXNwb25kaW5nXG4iCisiICByZWZzL3toZWFkcyx0YWdzfS8gcHJlZml4IG9uIHRoZSByZW1vdGUgc2lkZS5cbiIKKyJcbiIKKyJOZWl0aGVyIHdvcmtlZCwgc28gd2UgZ2F2ZSB1cC4gWW91IG11c3QgZnVsbHkgcXVhbGlmeSB0aGUgcmVmLiIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUuYzoxMDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIGNvbW1pdCBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL2hlYWRzLyVzJz8iCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6MTA0NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSB0YWcgb2JqZWN0LlxuIgorIkRpZCB5b3UgbWVhbiB0byBjcmVhdGUgYSBuZXcgdGFnIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy90YWdzLyVzJz8iCittc2dzdHIgIiIKKworIzogcmVtb3RlLmM6MTA1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSB0cmVlIG9iamVjdC5cbiIKKyJEaWQgeW91IG1lYW4gdG8gdGFnIGEgbmV3IHRyZWUgYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL3RhZ3MvJXMnPyIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUuYzoxMDU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIGJsb2Igb2JqZWN0LlxuIgorIkRpZCB5b3UgbWVhbiB0byB0YWcgYSBuZXcgYmxvYiBieSBwdXNoaW5nIHRvXG4iCisiJyVzOnJlZnMvdGFncy8lcyc/IgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS5jOjEwOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2Fubm90IGJlIHJlc29sdmVkIHRvIGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUuYzoxMTAyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBkZWxldGUgJyVzJzogcmVtb3RlIHJlZiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUuYzoxMTE0CisjLCBjLWZvcm1hdAorbXNnaWQgImRzdCByZWZzcGVjICVzIG1hdGNoZXMgbW9yZSB0aGFuIG9uZSIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUuYzoxMTIxCisjLCBjLWZvcm1hdAorbXNnaWQgImRzdCByZWYgJXMgcmVjZWl2ZXMgZnJvbSBtb3JlIHRoYW4gb25lIHNyYyIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUuYzoxNjI0IHJlbW90ZS5jOjE3MjUKIG1zZ2lkICJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIgogbXNnc3RyICJIRUFEINC90LUg0YPQutCw0LfRi9Cy0LDQtdGCINC90LAg0LLQtdGC0LrRgyIKIAotIzogcmVtb3RlLmM6MTU0NQorIzogcmVtb3RlLmM6MTYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaDogJyVzJyIKIG1zZ3N0ciAi0L3QtdGCINGC0LDQutC+0Lkg0LLQtdGC0LrQuDogwqslc8K7IgogCi0jOiByZW1vdGUuYzoxNTQ4CisjOiByZW1vdGUuYzoxNjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHVwc3RyZWFtIGNvbmZpZ3VyZWQgZm9yIGJyYW5jaCAnJXMnIgogbXNnc3RyICLQstGL0YjQtdGB0YLQvtGP0YnQsNGPINCy0LXRgtC60LAg0L3QtSDQvdCw0YHRgtGA0L7QtdC90LAg0LTQu9GPINCy0LXRgtC60Lggwqslc8K7IgogCi0jOiByZW1vdGUuYzoxNTU0CisjOiByZW1vdGUuYzoxNjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICLQstGL0YjQtdGB0YLQvtGP0YnQsNGPINCy0LXRgtC60LAgwqslc8K7INC90LUg0YHQvtGF0YDQsNC90LXQvdCwINC60LDQuiDQvtGC0YHQu9C10LbQuNCy0LDQtdC80LDRjyDQstC10YLQutCwIgogCi0jOiByZW1vdGUuYzoxNTY5CisjOiByZW1vdGUuYzoxNjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgInB1c2ggZGVzdGluYXRpb24gJyVzJyBvbiByZW1vdGUgJyVzJyBoYXMgbm8gbG9jYWwgdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICLQvdCw0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8g0L7RgtC/0YDQsNCy0LrQuCDCqyVzwrsg0L3QsCDQstC90LXRiNC90LXQvCDRgdC10YDQstC10YDQtSDCqyVzwrsg0L3QtSDQuNC80LXQtdGCINC70L7QutCw0LvRjNC90L7QuSDQvtGC0YHQu9C10LbQuNCy0LDQtdC80L7QuSDQstC10YLQutC4IgogCi0jOiByZW1vdGUuYzoxNTgxCisjOiByZW1vdGUuYzoxNjY5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGhhcyBubyByZW1vdGUgZm9yIHB1c2hpbmciCiBtc2dzdHIgItCy0LXRgtC60LAgwqslc8K7INC90LUg0LjQvNC10LXRgiDQstC90LXRiNC90LXQs9C+INGB0LXRgNCy0LXRgNCwINC00LvRjyDQvtGC0L/RgNCw0LLQutC4IgogCi0jOiByZW1vdGUuYzoxNTkxCisjOiByZW1vdGUuYzoxNjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgInB1c2ggcmVmc3BlY3MgZm9yICclcycgZG8gbm90IGluY2x1ZGUgJyVzJyIKIG1zZ3N0ciAi0YHQv9C10YbQuNGE0LjQutCw0YLQvtGA0Ysg0L/Rg9GC0Lgg0LTQu9GPINC+0YLQv9GA0LDQstC60Lggwqslc8K7INC90LUg0LLQutC70Y7Rh9Cw0Y7RgiDQsiDRgdC10LHRjyDCqyVzwrsiCiAKLSM6IHJlbW90ZS5jOjE2MDQKKyM6IHJlbW90ZS5jOjE2OTIKIG1zZ2lkICJwdXNoIGhhcyBubyBkZXN0aW5hdGlvbiAocHVzaC5kZWZhdWx0IGlzICdub3RoaW5nJykiCiBtc2dzdHIgItC+0YLQv9GA0LDQstC60LAg0L3QtSDQuNC80LXQtdGCINGC0L7Rh9C60Lgg0L3QsNC30L3QsNGH0LXQvdC40Y8gKHB1c2guZGVmYXVsdCDQstGL0YHRgtCw0LLQu9C10L0g0LIgwqtub3RoaW5nwrspIgogCi0jOiByZW1vdGUuYzoxNjI2CisjOiByZW1vdGUuYzoxNzE0CiBtc2dpZCAiY2Fubm90IHJlc29sdmUgJ3NpbXBsZScgcHVzaCB0byBhIHNpbmdsZSBkZXN0aW5hdGlvbiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0YwgwqtzaW1wbGXCuyDQvtGC0L/RgNCw0LLQutGDINCyINC10LTQuNC90YHRgtCy0LXQvdC90YPRjiDRgtC+0YfQutGDINC90LDQt9C90LDRh9C10L3QuNGPIgogCi0jOiByZW1vdGUuYzoxOTUxCisjOiByZW1vdGUuYzoxODQwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiAlcyIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUuYzoxODUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiogSWdub3JpbmcgZnVubnkgcmVmICclcycgbG9jYWxseSIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUuYzoyMDE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJhc2VkIG9uICclcycsIGJ1dCB0aGUgdXBzdHJlYW0gaXMgZ29uZS5cbiIKIG1zZ3N0ciAi0JLQsNGI0LAg0LLQtdGC0LrQsCDQsdCw0LfQuNGA0YPQtdGC0YHRjyDQvdCwIMKrJXPCuywg0L3QviDQstGL0YjQtdGB0YLQvtGP0YnQuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0LjRgdGH0LXQty5cbiIKIAotIzogcmVtb3RlLmM6MTk1NQorIzogcmVtb3RlLmM6MjAyMAogbXNnaWQgIiAgKHVzZSBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIHRvIGZpeHVwKVxuIgogbXNnc3RyICIo0LTQu9GPINC40YHQv9GA0LDQstC70LXQvdC40Y8g0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtwrspXG4iCiAKLSM6IHJlbW90ZS5jOjE5NTgKKyM6IHJlbW90ZS5jOjIwMjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgdXAgdG8gZGF0ZSB3aXRoICclcycuXG4iCiBtc2dzdHIgItCS0LDRiNCwINCy0LXRgtC60LAg0L7QsdC90L7QstC70LXQvdCwINCyINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjQuCDRgSDCqyVzwrsuXG4iCiAKLSM6IHJlbW90ZS5jOjE5NjIKKyM6IHJlbW90ZS5jOjIwMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggYW5kICclcycgcmVmZXIgdG8gZGlmZmVyZW50IGNvbW1pdHMuXG4iCiBtc2dzdHIgItCS0LDRiNCwINCy0LXRgtC60LAg0Lggwqslc8K7INGD0LrQsNC30YvQstCw0Y7RgiDQvdCwINGA0LDQt9C90YvQtSDQutC+0LzQvNC40YLRiy5cbiIKIAotIzogcmVtb3RlLmM6MTk2NQorIzogcmVtb3RlLmM6MjAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCIlc1wiIGZvciBkZXRhaWxzKVxuIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrJXPCuyDQtNC70Y8g0L/RgNC+0YHQvNC+0YLRgNCwINC+0L/QuNGB0LDQvdC40Y8pXG4iCiAKLSM6IHJlbW90ZS5jOjE5NjkKKyM6IHJlbW90ZS5jOjIwMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKQEAgLTM3NzUsMTEgKzUxNjEsMTEgQEAKIG1zZ3N0clsyXSAi0JLQsNGI0LAg0LLQtdGC0LrQsCDQvtC/0LXRgNC10LbQsNC10YIgwqslc8K7INC90LAgJWQg0LrQvtC80LzQuNGC0L7Qsi5cbiIKIG1zZ3N0clszXSAi0JLQsNGI0LAg0LLQtdGC0LrQsCDQvtC/0LXRgNC10LbQsNC10YIgwqslc8K7INC90LAgJWQg0LrQvtC80LzQuNGC0L7Qsi5cbiIKIAotIzogcmVtb3RlLmM6MTk3NQorIzogcmVtb3RlLmM6MjA0MAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdXNoXCIgdG8gcHVibGlzaCB5b3VyIGxvY2FsIGNvbW1pdHMpXG4iCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgcHVzaMK7LCDRh9GC0L7QsdGLINC+0L/Rg9Cx0LvQuNC60L7QstCw0YLRjCDQstCw0YjQuCDQu9C+0LrQsNC70YzQvdGL0LUg0LrQvtC80LzQuNGC0YspXG4iCiAKLSM6IHJlbW90ZS5jOjE5NzgKKyM6IHJlbW90ZS5jOjIwNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCkBAIC0zNzg5LDExICs1MTc1LDExIEBACiBtc2dzdHJbMl0gItCS0LDRiNCwINCy0LXRgtC60LAg0L7RgtGB0YLQsNC10YIg0L7RgiDCqyVzwrsg0L3QsCAlZCDQutC+0LzQvNC40YLQvtCyINC4INC80L7QttC10YIg0LHRi9GC0Ywg0L/QtdGA0LXQvNC+0YLQsNC90LAg0LLQv9C10YDQtdC0LlxuIgogbXNnc3RyWzNdICLQktCw0YjQsCDQstC10YLQutCwINC+0YLRgdGC0LDQtdGCINC+0YIgwqslc8K7INC90LAgJWQg0LrQvtC80LzQuNGC0L7QsiDQuCDQvNC+0LbQtdGCINCx0YvRgtGMINC/0LXRgNC10LzQvtGC0LDQvdCwINCy0L/QtdGA0LXQtC5cbiIKIAotIzogcmVtb3RlLmM6MTk4NgorIzogcmVtb3RlLmM6MjA1MQogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHB1bGzCuywg0YfRgtC+0LHRiyDQvtCx0L3QvtCy0LjRgtGMINCy0LDRiNGDINC70L7QutCw0LvRjNC90YPRjiDQstC10YLQutGDKVxuIgogCi0jOiByZW1vdGUuYzoxOTg5CisjOiByZW1vdGUuYzoyMDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgpAQCAtMzgwNiwxOTggKzUxOTIsMzQwIEBACiBtc2dzdHJbMl0gItCS0LDRiNCwINCy0LXRgtC60LAg0Lggwqslc8K7INGA0LDQt9C00LXQu9C40LvQuNGB0YxcbtC4INGC0LXQv9C10YDRjCDQuNC80LXRjtGCICVkINC4ICVkINGA0LDQt9C90YvRhSDQutC+0LzQvNC40YLQvtCyINCyINC60LDQttC00L7QuSDRgdC+0L7RgtCy0LXRgtGB0YLQstC10L3QvdC+LlxuIgogbXNnc3RyWzNdICLQktCw0YjQsCDQstC10YLQutCwINC4IMKrJXPCuyDRgNCw0LfQtNC10LvQuNC70LjRgdGMXG7QuCDRgtC10L/QtdGA0Ywg0LjQvNC10Y7RgiAlZCDQuCAlZCDRgNCw0LfQvdGL0YUg0LrQvtC80LzQuNGC0L7QsiDQsiDQutCw0LbQtNC+0Lkg0YHQvtC+0YLQstC10YLRgdGC0LLQtdC90L3Qvi5cbiIKIAotIzogcmVtb3RlLmM6MTk5OQorIzogcmVtb3RlLmM6MjA2NAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycylcbiIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBwdWxswrssINGH0YLQvtCx0Ysg0YHQu9C40YLRjCDQstC90LXRiNC90Y7RjiDQstC10YLQutGDINCyINCy0LDRiNGDKVxuIgogCi0jOiByZXBsYWNlLW9iamVjdC5jOjIwCisjOiByZW1vdGUuYzoyMjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBwYXJzZSBleHBlY3RlZCBvYmplY3QgbmFtZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHJlcGxhY2Utb2JqZWN0LmM6MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJlcGxhY2UgcmVmIG5hbWU6ICVzIgogbXNnc3RyICIiCiAKLSM6IHJlcGxhY2Utb2JqZWN0LmM6MjkKKyM6IHJlcGxhY2Utb2JqZWN0LmM6MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZHVwbGljYXRlIHJlcGxhY2UgcmVmOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZXBsYWNlLW9iamVjdC5jOjcyCisjOiByZXBsYWNlLW9iamVjdC5jOjczCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcGxhY2UgZGVwdGggdG9vIGhpZ2ggZm9yIG9iamVjdCAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZXZpc2lvbi5jOjIzMDUKKyM6IHJlcmVyZS5jOjIxNyByZXJlcmUuYzoyMjYgcmVyZXJlLmM6MjI5Cittc2dpZCAiY29ycnVwdCBNRVJHRV9SUiIKK21zZ3N0ciAiIgorCisjOiByZXJlcmUuYzoyNjQgcmVyZXJlLmM6MjY5Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHJlcmVyZSByZWNvcmQiCittc2dzdHIgIiIKKworIzogcmVyZXJlLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZXJlIHdlcmUgZXJyb3JzIHdoaWxlIHdyaXRpbmcgJyVzJyAoJXMpIgorbXNnc3RyICIiCisKKyM6IHJlcmVyZS5jOjQ5OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZmx1c2ggJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZXJlcmUuYzo1MDMgcmVyZXJlLmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29uZmxpY3QgaHVua3MgaW4gJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZXJlcmUuYzo2ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHV0aW1lKCkgb24gJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZXJlcmUuYzo2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGluZyAnJXMnIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiByZXJlcmUuYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhZ2VkICclcycgdXNpbmcgcHJldmlvdXMgcmVzb2x1dGlvbi4iCittc2dzdHIgIiIKKworIzogcmVyZXJlLmM6NzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlY29yZGVkIHJlc29sdXRpb24gZm9yICclcycuIgorbXNnc3RyICIiCisKKyM6IHJlcmVyZS5jOjc4OAorIywgYy1mb3JtYXQKK21zZ2lkICJSZXNvbHZlZCAnJXMnIHVzaW5nIHByZXZpb3VzIHJlc29sdXRpb24uIgorbXNnc3RyICIiCisKKyM6IHJlcmVyZS5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdW5saW5rIHN0cmF5ICclcyciCittc2dzdHIgIiIKKworIzogcmVyZXJlLmM6ODA3CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlY29yZGVkIHByZWltYWdlIGZvciAnJXMnIgorbXNnc3RyICIiCisKKyM6IHJlcmVyZS5jOjg4MSBzdWJtb2R1bGUuYzoyMDI0IGJ1aWx0aW4vbG9nLmM6MTc1MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MTcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQutCw0YLQsNC70L7QsyDCqyVzwrsiCisKKyM6IHJlcmVyZS5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVwZGF0ZSBjb25mbGljdGVkIHN0YXRlIGluICclcyciCittc2dzdHIgIiIKKworIzogcmVyZXJlLmM6MTA2OCByZXJlcmUuYzoxMDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHJlbWVtYmVyZWQgcmVzb2x1dGlvbiBmb3IgJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZXJlcmUuYzoxMDc3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB1bmxpbmsgJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZXJlcmUuYzoxMDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVwZGF0ZWQgcHJlaW1hZ2UgZm9yICclcyciCittc2dzdHIgIiIKKworIzogcmVyZXJlLmM6MTA5NgorIywgYy1mb3JtYXQKK21zZ2lkICJGb3Jnb3QgcmVzb2x1dGlvbiBmb3IgJyVzJ1xuIgorbXNnc3RyICIiCisKKyM6IHJlcmVyZS5jOjExOTkKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiByci1jYWNoZSBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogcmV2aXNpb24uYzoyNDc2CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCBhcHBlYXJzIHRvIGJlIGJyb2tlbiIKIG1zZ3N0ciAi0L/QvtGF0L7QttC1LCDQstCw0YjQsCDRgtC10LrRg9GJ0LDRjyDQstC10YLQutCwINC/0L7QstGA0LXQttC00LXQvdCwIgogCi0jOiByZXZpc2lvbi5jOjIzMDgKKyM6IHJldmlzaW9uLmM6MjQ3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoICclcycgZG9lcyBub3QgaGF2ZSBhbnkgY29tbWl0cyB5ZXQiCiBtc2dzdHIgItCy0LDRiNCwINGC0LXQutGD0YnQsNGPINCy0LXRgtC60LAgwqslc8K7INC10YnQtSDQvdC1INGB0L7QtNC10YDQttC40YIg0L3QuCDQvtC00L3QvtCz0L4g0LrQvtC80LzQuNGC0LAiCiAKLSM6IHJldmlzaW9uLmM6MjUwNQorIzogcmV2aXNpb24uYzoyNjc5CiBtc2dpZCAiLS1maXJzdC1wYXJlbnQgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1iaXNlY3QiCiBtc2dzdHIgItC+0L/RhtC40Y4gLS1maXJzdC1wYXJlbnQg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0YEgLS1iaXNlY3QiCiAKLSM6IHJ1bi1jb21tYW5kLmM6NzI4CisjOiByZXZpc2lvbi5jOjI2ODMKK21zZ2lkICItTCBkb2VzIG5vdCB5ZXQgc3VwcG9ydCBkaWZmIGZvcm1hdHMgYmVzaWRlcyAtcCBhbmQgLXMiCittc2dzdHIgIiIKKworIzogcnVuLWNvbW1hbmQuYzo3NjMKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INC+0YLQutGA0YvRgtC40Y8gL2Rldi9udWxsIgogCi0jOiBydW4tY29tbWFuZC5jOjEyNzEKKyM6IHJ1bi1jb21tYW5kLmM6MTI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGFzeW5jIHRocmVhZDogJXMiCittc2dzdHIgIiIKKworIzogcnVuLWNvbW1hbmQuYzoxMzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgJyVzJyBob29rIHdhcyBpZ25vcmVkIGJlY2F1c2UgaXQncyBub3Qgc2V0IGFzIGV4ZWN1dGFibGUuXG4iCiAiWW91IGNhbiBkaXNhYmxlIHRoaXMgd2FybmluZyB3aXRoIGBnaXQgY29uZmlnIGFkdmljZS5pZ25vcmVkSG9vayBmYWxzZWAuIgogbXNnc3RyICLQn9C10YDQtdGF0LLQsNGC0YfQuNC6IMKrJXPCuyDQsdGL0Lsg0L/RgNC+0LjQs9C90L7RgNC40YDQvtCy0LDQvSwg0YLQsNC6INC60LDQuiDQvtC9INC90LUg0YPRgdGC0LDQvdC+0LLQu9C10L0g0LrQsNC6INC40YHQv9C+0LvQvdGP0LXQvNGL0LkuXG7QktGLINC80L7QttC10YLQtSDQvtGC0LrQu9GO0YfQuNGC0Ywg0Y3RgtC+INC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LUg0YEg0L/QvtC80L7RidGM0Y4g0LrQvtC80LDQvdC00YsgwqtnaXQgY29uZmlnIGFkdmljZS5pZ25vcmVkSG9vayBmYWxzZcK7LiIKIAotIzogc2VuZC1wYWNrLmM6MTQyCisjOiBzZW5kLXBhY2suYzoxNDEKIG1zZ2lkICJ1bmV4cGVjdGVkIGZsdXNoIHBhY2tldCB3aGlsZSByZWFkaW5nIHJlbW90ZSB1bnBhY2sgc3RhdHVzIgogbXNnc3RyICLQvdC10L7QttC40LTQsNC90L3Ri9C5INC/0YPRgdGC0L7QuSDQv9Cw0LrQtdGCINC/0YDQuCDRh9GC0LXQvdC40Lgg0YHRgtCw0YLRg9GB0LAg0LLQvdC10YjQvdC10Lkg0YDQsNGB0L/QsNC60L7QstC60LgiCiAKLSM6IHNlbmQtcGFjay5jOjE0NAorIzogc2VuZC1wYWNrLmM6MTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSByZW1vdGUgdW5wYWNrIHN0YXR1czogJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINGB0YLQsNGC0YPRgSDQstC90LXRiNC90LXQuSDRgNCw0YHQv9Cw0LrQvtCy0LrQuDogJXMiCiAKLSM6IHNlbmQtcGFjay5jOjE0NgorIzogc2VuZC1wYWNrLmM6MTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW90ZSB1bnBhY2sgZmFpbGVkOiAlcyIKIG1zZ3N0ciAi0YHQsdC+0Lkg0L/RgNC4INCy0L3QtdGI0L3QtdC5INGA0LDRgdC/0LDQutC+0LLQutC1ICVzIgogCi0jOiBzZW5kLXBhY2suYzozMDkKKyM6IHNlbmQtcGFjay5jOjMwNgogbXNnaWQgImZhaWxlZCB0byBzaWduIHRoZSBwdXNoIGNlcnRpZmljYXRlIgogbXNnc3RyICLRgdCx0L7QuSDQv9C+0LTQv9C40YHQsNC90LjRjyDRgdC10YDRgtC40YTQuNC60LDRgtCwINC+0YLQv9GA0LDQstC60LgiCiAKLSM6IHNlbmQtcGFjay5jOjQyMgorIzogc2VuZC1wYWNrLmM6NDIwCiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLXNpZ25lZCBwdXNoIgogbXNnc3RyICLQv9GA0LjQvdC40LzQsNGO0YnQsNGPINGB0YLQvtGA0L7QvdCwINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCINC+0YLQv9GA0LDQstC60YMg0YEg0L7Qv9GG0LjQtdC5IC0tc2lnbmVkIgogCi0jOiBzZW5kLXBhY2suYzo0MjQKKyM6IHNlbmQtcGFjay5jOjQyMgogbXNnaWQgIiIKICJub3Qgc2VuZGluZyBhIHB1c2ggY2VydGlmaWNhdGUgc2luY2UgdGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAiCiAiLS1zaWduZWQgcHVzaCIKIG1zZ3N0ciAi0L3QtSDQvtGC0L/RgNCw0LLQu9GP0LXQvCDRgdC10YDRgtC40YTQuNC60LDRgiDQtNC70Y8g0L7RgtC/0YDQsNCy0LrQuCwg0YLQsNC6INC60LDQuiDQv9GA0LjQvdC40LzQsNGO0YnQsNGPINGB0YLQvtGA0L7QvdCwINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCINC+0YLQv9GA0LDQstC60YMg0YEg0L7Qv9GG0LjQtdC5IC0tc2lnbmVkIgogCi0jOiBzZW5kLXBhY2suYzo0MzYKKyM6IHNlbmQtcGFjay5jOjQzNAogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1hdG9taWMgcHVzaCIKIG1zZ3N0ciAi0L/RgNC40L3QuNC80LDRjtGJ0LDRjyDRgdGC0L7RgNC+0L3QsCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgiDQvtGC0L/RgNCw0LLQutGDINGBINC+0L/RhtC40LXQuSAtLWF0b21pYyIKIAotIzogc2VuZC1wYWNrLmM6NDQxCisjOiBzZW5kLXBhY2suYzo0MzkKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IHB1c2ggb3B0aW9ucyIKIG1zZ3N0ciAi0L/RgNC40L3QuNC80LDRjtGJ0LDRjyDRgdGC0L7RgNC+0L3QsCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgiDQvtGC0L/RgNCw0LLQutGDINGBINC+0L/RhtC40Y/QvNC4IgogCi0jOiBzZXF1ZW5jZXIuYzoxNzcKKyM6IHNlcXVlbmNlci5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbW1pdCBtZXNzYWdlIGNsZWFudXAgbW9kZSAnJXMnIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0YDQtdC20LjQvCDQvtGH0LjRgdGC0LrQuCDRgdC+0L7QsdGJ0LXQvdC40Y8g0LrQvtC80LzQuNGC0LAgwqslc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzoyNzgKKyM6IHNlcXVlbmNlci5jOjI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywgwqslc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzozMDQKKyM6IHNlcXVlbmNlci5jOjMxOAogbXNnaWQgInJldmVydCIKIG1zZ3N0ciAi0L7QsdGA0LDRgtC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8iCiAKLSM6IHNlcXVlbmNlci5jOjMwNgorIzogc2VxdWVuY2VyLmM6MzIwCiBtc2dpZCAiY2hlcnJ5LXBpY2siCiBtc2dzdHIgItC60L7Qv9C40YDQvtCy0LDRgtGMINC60L7QvNC80LjRgiIKIAotIzogc2VxdWVuY2VyLmM6MzA4CisjOiBzZXF1ZW5jZXIuYzozMjIKIG1zZ2lkICJyZWJhc2UgLWkiCiBtc2dzdHIgInJlYmFzZSAtaSIKIAotIzogc2VxdWVuY2VyLmM6MzEwCisjOiBzZXF1ZW5jZXIuYzozMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBhY3Rpb246ICVkIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjM2NworIzogc2VxdWVuY2VyLmM6MzgyCiBtc2dpZCAiIgogImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKICJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPiciCiBtc2dzdHIgItC/0L7RgdC70LUg0YDQsNC30YDQtdGI0LXQvdC40Y8g0LrQvtC90YTQu9C40LrRgtC+0LIsINC/0L7QvNC10YLRjNGC0LUg0LjRgdC/0YDQsNCy0LvQtdC90L3Ri9C1INC/0YPRgtC4XG7RgSDQv9C+0LzQvtGJ0YzRjiDCq2dpdCBhZGQgPNC/0YPRgtC4PsK7INC40LvQuCDCq2dpdCBybSA80L/Rg9GC0Lg+wrsiCiAKLSM6IHNlcXVlbmNlci5jOjM3MAorIzogc2VxdWVuY2VyLmM6Mzg1CiBtc2dpZCAiIgogImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKICJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPidcbiIKICJhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCAnZ2l0IGNvbW1pdCciCiBtc2dzdHIgItC/0L7RgdC70LUg0YDQsNC30YDQtdGI0LXQvdC40Y8g0LrQvtC90YTQu9C40LrRgtC+0LIsINC/0L7QvNC10YLRjNGC0LUg0LjRgdC/0YDQsNCy0LvQtdC90L3Ri9C1INC/0YPRgtC4XG7RgSDQv9C+0LzQvtGJ0YzRjiDCq2dpdCBhZGQgPNC/0YPRgtC4PsK7INC40LvQuCDCq2dpdCBybSA80L/Rg9GC0Lg+wrtcbtC4INGB0LTQtdC70LDQudGC0LUg0LrQvtC80LzQuNGCINGBINC/0L7QvNC+0YnRjNGOIMKrZ2l0IGNvbW1pdMK7IgogCi0jOiBzZXF1ZW5jZXIuYzozODMgc2VxdWVuY2VyLmM6MjQ4OAorIzogc2VxdWVuY2VyLmM6Mzk4IHNlcXVlbmNlci5jOjI4MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvY2sgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LHQu9C+0LrQuNGA0L7QstCw0YLRjCDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjM5MAorIzogc2VxdWVuY2VyLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBlb2wgdG8gJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMIGVvbCDQsiDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjM5NSBzZXF1ZW5jZXIuYzoyMzcxIHNlcXVlbmNlci5jOjI0OTQgc2VxdWVuY2VyLmM6MjUwOAotIzogc2VxdWVuY2VyLmM6Mjc0MQorIzogc2VxdWVuY2VyLmM6NDEwIHNlcXVlbmNlci5jOjI2ODQgc2VxdWVuY2VyLmM6MjgwNyBzZXF1ZW5jZXIuYzoyODIxCisjOiBzZXF1ZW5jZXIuYzozMDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBmaW5hbGl6ZSAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQstC10YDRiNC40YLRjCDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjQxOCBzZXF1ZW5jZXIuYzo4MTYgc2VxdWVuY2VyLmM6MTUwNSBzZXF1ZW5jZXIuYzoyMzkxCi0jOiBzZXF1ZW5jZXIuYzoyNzIzIHNlcXVlbmNlci5jOjI4MjcgYnVpbHRpbi9hbS5jOjI2MCBidWlsdGluL2NvbW1pdC5jOjc0MAotIzogYnVpbHRpbi9tZXJnZS5jOjEwODEKKyM6IHNlcXVlbmNlci5jOjQzMyBzZXF1ZW5jZXIuYzo5Nzggc2VxdWVuY2VyLmM6MTY1MiBzZXF1ZW5jZXIuYzoyNzA0CisjOiBzZXF1ZW5jZXIuYzozMDY2IHNlcXVlbmNlci5jOjMxNzUgYnVpbHRpbi9hbS5jOjI0NSBidWlsdGluL2NvbW1pdC5jOjc2MAorIzogYnVpbHRpbi9tZXJnZS5jOjExMTUgYnVpbHRpbi9yZWJhc2UuYzo1NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywgwqslc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzo0NDQKKyM6IHNlcXVlbmNlci5jOjQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXMuIgogbXNnc3RyICLQstCw0YjQuCDQu9C+0LrQsNC70YzQvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPINCx0YPQtNGD0YIg0L/QtdGA0LXQt9Cw0L/QuNGB0LDQvdGLICVzLiIKIAotIzogc2VxdWVuY2VyLmM6NDQ4CisjOiBzZXF1ZW5jZXIuYzo0NjMKIG1zZ2lkICJjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCiBtc2dzdHIgItC00LvRjyDQv9GA0L7QtNC+0LvQttC10L3QuNGPINC30LDQutC+0LzQvNC40YLRjNGC0LUg0LLQsNGI0Lgg0LjQt9C80LXQvdC10L3QuNGPINC40LvQuCDRgdC/0YDRj9GH0YzRgtC1INC40YUuIgogCi0jOiBzZXF1ZW5jZXIuYzo0NzcKKyM6IHNlcXVlbmNlci5jOjQ5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmFzdC1mb3J3YXJkIgogbXNnc3RyICIlczog0L/QtdGA0LXQvNC+0YLQutCwINCy0L/QtdGA0LXQtCIKIAorIzogc2VxdWVuY2VyLmM6NTM0IGJ1aWx0aW4vdGFnLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgorbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDRgNC10LbQuNC80LAg0L7Rh9C40YHRgtC60LggJXMiCisKICMuIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiLCAiY2hlcnJ5LXBpY2siIG9yCiAjLiAicmViYXNlIC1pIi4KLSM6IHNlcXVlbmNlci5jOjU2NgorIzogc2VxdWVuY2VyLmM6NjI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIiVzOiDQndC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0YTQsNC50Lsg0LjQvdC00LXQutGB0LAiCiAKLSM6IHNlcXVlbmNlci5jOjU4MgorIzogc2VxdWVuY2VyLmM6NjQ2CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0LHQvdC+0LLQuNGC0Ywg0LTQtdGA0LXQstC+INC60Y3RiNCwIgogCi0jOiBzZXF1ZW5jZXIuYzo1OTUKKyM6IHNlcXVlbmNlci5jOjY2MAogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0IgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDRgdC/0L7Qt9C90LDRgtGMIEhFQUQg0LrQvtC80LzQuNGCIgogCi0jOiBzZXF1ZW5jZXIuYzo3MjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHBhcnNlICclcycgKGxvb2tpbmcgZm9yICclcyciCi1tc2dzdHIgIiIKLQotIzogc2VxdWVuY2VyLmM6NzMxCi0jLCBjLWZvcm1hdAotbXNnaWQgImJhZCBxdW90aW5nIG9uICVzIHZhbHVlIGluICclcyciCi1tc2dzdHIgIiIKLQogIzogc2VxdWVuY2VyLmM6NzQwCiAjLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAnJXMnIChsb29raW5nIGZvciAnJXMnKSIKK21zZ2lkICJubyBrZXkgcHJlc2VudCBpbiAnJS4qcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NzQ3CisjOiBzZXF1ZW5jZXIuYzo3NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGRlcXVvdGUgdmFsdWUgb2YgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo3ODggd3JhcHBlci5jOjIyNyB3cmFwcGVyLmM6Mzk3IGJ1aWx0aW4vYW0uYzo3MDYKKyM6IGJ1aWx0aW4vYW0uYzo3OTggYnVpbHRpbi9tZXJnZS5jOjExMTIgYnVpbHRpbi9yZWJhc2UuYzoxMDM1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywgwqslc8K7INC00LvRjyDRh9GC0LXQvdC40Y8iCisKKyM6IHNlcXVlbmNlci5jOjc5OAorbXNnaWQgIidHSVRfQVVUSE9SX05BTUUnIGFscmVhZHkgZ2l2ZW4iCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6ODAzCittc2dpZCAiJ0dJVF9BVVRIT1JfRU1BSUwnIGFscmVhZHkgZ2l2ZW4iCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6ODA4Cittc2dpZCAiJ0dJVF9BVVRIT1JfREFURScgYWxyZWFkeSBnaXZlbiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB2YXJpYWJsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjgxNworbXNnaWQgIm1pc3NpbmcgJ0dJVF9BVVRIT1JfTkFNRSciCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6ODE5Cittc2dpZCAibWlzc2luZyAnR0lUX0FVVEhPUl9FTUFJTCciCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6ODIxCittc2dpZCAibWlzc2luZyAnR0lUX0FVVEhPUl9EQVRFJyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzo4ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdCAnJXMnIGluICclcyciCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6NzYxCisjOiBzZXF1ZW5jZXIuYzo4OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInlvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlXG4iCkBAIC00MDE0LDE1ICs1NTQyLDE1IEBACiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIG1zZ3N0ciAi0YMg0LLQsNGBINC40LzQtdGO0YLRgdGPINC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtS4g0JXRgdC70Lgg0Y3RgtC4INC40LfQvNC10L3QtdC90LjRjyDQtNC+0LvQttC90Ysg0LHRi9GC0Ywg0L7QsdGK0LXQtNC10L3QtdC90Ysg0YEg0L/RgNC10LTRi9C00YPRidC40Lwg0LrQvtC80LzQuNGC0L7QvCwg0YLQviDQt9Cw0L/Rg9GB0YLQuNGC0LU6XG5cbiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG5cbtCV0YHQu9C4INC20LUg0L7QvdC4INC00L7Qu9C20L3RiyDQsdGL0YLRjCDQv9C+0LzQtdGJ0LXQvdGLINCyINC90L7QstGL0Lkg0LrQvtC80LzQuNGCLCDRgtC+INC30LDQv9GD0YHRgtC40YLQtTpcblxuICBnaXQgY29tbWl0ICVzXG5cbtCSINC70Y7QsdC+0Lwg0YHQu9GD0YfQsNC1LCDQv9C+0YHQu9C1INGC0L7Qs9C+INC60LDQuiDQstGLINC30LDQutC+0L3Rh9C40YLQtSwg0L/RgNC+0LTQvtC70LbQuNGC0Ywg0L/QtdGA0LXQvNC10YnQtdC90LjQtSDQvNC+0LbQvdC+INCy0YvQv9C+0LvQvdC40LI6XG5cbiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IHNlcXVlbmNlci5jOjgzMAorIzogc2VxdWVuY2VyLmM6OTkyCiBtc2dpZCAid3JpdGluZyByb290IGNvbW1pdCIKIG1zZ3N0ciAi0LfQsNC/0LjRgdGMINC60L7QvdC10LLQvtCz0L4g0LrQvtC80LzQuNGC0LAiCiAKLSM6IHNlcXVlbmNlci5jOjEwNTUKKyM6IHNlcXVlbmNlci5jOjEyMTMKIG1zZ2lkICIncHJlcGFyZS1jb21taXQtbXNnJyBob29rIGZhaWxlZCIKIG1zZ3N0ciAi0L7RiNC40LHQutCwINC/0YDQuCDQstGL0LfQvtCy0LUg0L/QtdGA0LXRhdCy0LDRgtGH0LjQutCwIMKrcHJlcGFyZS1jb21taXQtbXNnwrsiCiAKLSM6IHNlcXVlbmNlci5jOjEwNjIKKyM6IHNlcXVlbmNlci5jOjEyMjAKIG1zZ2lkICIiCiAiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCiAib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgpAQCAtNDAzNyw3ICs1NTY1LDcgQEAKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiBtc2dzdHIgItCS0LDRiNC1INC40LzRjyDQuNC70Lgg0Y3Qu9C10LrRgtGA0L7QvdC90LDRjyDQv9C+0YfRgtCwINC90LDRgdGC0YDQvtC10L3RiyDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCDQvdCwINC+0YHQvdC+0LLQsNC90LjQuCDQstCw0YjQtdCz0L5cbtC40LzQtdC90Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC4INC40LzQtdC90Lgg0LzQsNGI0LjQvdGLLiDQn9C+0LbQsNC70YPQudGB0YLQsCwg0L/RgNC+0LLQtdGA0YzRgtC1LCDRh9GC0L4g0L7QvdC4IFxu0L7Qv9GA0LXQtNC10LvQtdC90Ysg0L/RgNCw0LLQuNC70YzQvdC+Llxu0JLRiyDQvNC+0LbQtdGC0LUg0L7RgtC60LvRjtGH0LjRgtGMINGN0YLQviDRg9Cy0LXQtNC+0LzQu9C10L3QuNC1INGD0YHRgtCw0L3QvtCy0LjQsiDQuNGFINC90LDQv9GA0Y/QvNGD0Y4uINCX0LDQv9GD0YHRgtC40YLQtSDRgdC70LXQtNGD0Y7RidGD0Y5cbtC60L7QvNCw0L3QtNGDINC4INGB0LvQtdC00YPQudGC0LUg0LjQvdGB0YLRgNGD0LrRhtC40Y/QvCDQstCw0YjQtdCz0L4g0YLQtdC60YHRgtC+0LLQvtCz0L4g0YDQtdC00LDQutGC0L7RgNCwLCDQtNC70Y9cbtGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40Y8g0LLQsNGI0LXQs9C+INGE0LDQudC70LAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4OlxuXG4gICAgZ2l0IGNvbmZpZyAtLWdsb2JhbCAtLWVkaXRcblxu0J/QvtGB0LvQtSDRjdGC0L7Qs9C+LCDQuNC30LzQtdC90LjRgtGMINCw0LLRgtC+0YDRgdGC0LLQviDRjdGC0L7QuSDQutC+0LzQvNC40YLQsCDQvNC+0LbQvdC+INCx0YPQtNC10YIg0YEg0L/QvtC80L7RidGM0Y4g0LrQvtC80LDQvdC00Ys6XG5cbiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogc2VxdWVuY2VyLmM6MTA3NQorIzogc2VxdWVuY2VyLmM6MTIzMwogbXNnaWQgIiIKICJZb3VyIG5hbWUgYW5kIGVtYWlsIGFkZHJlc3Mgd2VyZSBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkgYmFzZWRcbiIKICJvbiB5b3VyIHVzZXJuYW1lIGFuZCBob3N0bmFtZS4gUGxlYXNlIGNoZWNrIHRoYXQgdGhleSBhcmUgYWNjdXJhdGUuXG4iCkBAIC00MDUxLDMwNCArNTU3OSwzMDUgQEAKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiBtc2dzdHIgItCS0LDRiNC1INC40LzRjyDQuNC70Lgg0Y3Qu9C10LrRgtGA0L7QvdC90LDRjyDQv9C+0YfRgtCwINC90LDRgdGC0YDQvtC10L3RiyDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCDQvdCwINC+0YHQvdC+0LLQsNC90LjQuCDQstCw0YjQtdCz0L5cbtC40LzQtdC90Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC4INC40LzQtdC90Lgg0LzQsNGI0LjQvdGLLiDQn9C+0LbQsNC70YPQudGB0YLQsCwg0L/RgNC+0LLQtdGA0YzRgtC1LCDRh9GC0L4g0L7QvdC4IFxu0L7Qv9GA0LXQtNC10LvQtdC90Ysg0L/RgNCw0LLQuNC70YzQvdC+Llxu0JLRiyDQvNC+0LbQtdGC0LUg0L7RgtC60LvRjtGH0LjRgtGMINGN0YLQviDRg9Cy0LXQtNC+0LzQu9C10L3QuNC1INGD0YHRgtCw0L3QvtCy0LjQsiDQuNGFINC90LDQv9GA0Y/QvNGD0Y46XG5cbiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSBcItCS0LDRiNC1INCY0LzRj1wiXG4gICAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIHlvdUBleGFtcGxlLmNvbVxuXG7Qn9C+0YHQu9C1INGN0YLQvtCz0L4sINC40LfQvNC10L3QuNGC0Ywg0LDQstGC0L7RgNGB0YLQstC+INGN0YLQvtC5INC60L7QvNC80LjRgtCwINC80L7QttC90L4g0LHRg9C00LXRgiDRgSDQv9C+0LzQvtGJ0YzRjiDQutC+0LzQsNC90LTRizpcblxuICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTE1CisjOiBzZXF1ZW5jZXIuYzoxMjc1CiBtc2dpZCAiY291bGRuJ3QgbG9vayB1cCBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC30LDQv9GA0L7RgdC40YLRjCDQvdC+0LLQvtGB0L7Qt9C00LDQvdC90YvQuSDQutC+0LzQvNC40YIiCiAKLSM6IHNlcXVlbmNlci5jOjExMTcKKyM6IHNlcXVlbmNlci5jOjEyNzcKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgItC90LXQu9GM0LfRjyDRgNCw0LfQvtCx0YDQsNGC0Ywg0L3QvtCy0L7RgdC+0LfQtNCw0L3QvdGL0Lkg0LrQvtC80LzQuNGCIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTYzCisjOiBzZXF1ZW5jZXIuYzoxMzIzCiBtc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgSEVBRCBhZnRlciBjcmVhdGluZyBjb21taXQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCBIRUFEINC/0L7RgdC70LUg0YHQvtC30LTQsNC90LjRjyDQutC+0LzQvNC40YLQsCIKIAotIzogc2VxdWVuY2VyLmM6MTE2NQorIzogc2VxdWVuY2VyLmM6MTMyNQogbXNnaWQgImRldGFjaGVkIEhFQUQiCiBtc2dzdHIgItC+0YLQtNC10LvRkdC90L3Ri9C5IEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjExNjkKKyM6IHNlcXVlbmNlci5jOjEzMjkKIG1zZ2lkICIgKHJvb3QtY29tbWl0KSIKIG1zZ3N0ciAiICjQutC+0YDQvdC10LLQvtC5INC60L7QvNC80LjRgikiCiAKLSM6IHNlcXVlbmNlci5jOjExOTAKKyM6IHNlcXVlbmNlci5jOjEzNTAKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0YwgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MTE5MgorIzogc2VxdWVuY2VyLmM6MTM1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJIRUFEICVzIGlzIG5vdCBhIGNvbW1pdCEiCiBtc2dzdHIgIkhFQUQgJXMg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC60L7QvNC80LjRgtC+0LwhIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTk2IGJ1aWx0aW4vY29tbWl0LmM6MTUyOAorIzogc2VxdWVuY2VyLmM6MTM1NiBidWlsdGluL2NvbW1pdC5jOjE1NTEKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCBjb21taXQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMIEhFQUQg0LrQvtC80LzQuNGCIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjQ3IHNlcXVlbmNlci5jOjE4NDUKKyM6IHNlcXVlbmNlci5jOjE0MDggc2VxdWVuY2VyLmM6MjAwMQogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgYXV0aG9yIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDQsNCy0YLQvtGA0LAg0LrQvtC80LzQuNGC0LAiCiAKLSM6IHNlcXVlbmNlci5jOjEyNTcgYnVpbHRpbi9hbS5jOjE2MzIgYnVpbHRpbi9tZXJnZS5jOjY3NQorIzogc2VxdWVuY2VyLmM6MTQxOCBidWlsdGluL2FtLmM6MTU3MiBidWlsdGluL21lcmdlLmM6Njg4CiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIKIG1zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUg0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINC00LXRgNC10LLQviIKIAotIzogc2VxdWVuY2VyLmM6MTI3NCBzZXF1ZW5jZXIuYzoxMzI5CisjOiBzZXF1ZW5jZXIuYzoxNDM1IHNlcXVlbmNlci5jOjE0OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgY29tbWl0IG1lc3NhZ2UgZnJvbSAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAg0LjQtyDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjEyOTYgYnVpbHRpbi9hbS5jOjE2NTMgYnVpbHRpbi9jb21taXQuYzoxNjMxCi0jOiBidWlsdGluL21lcmdlLmM6ODU1IGJ1aWx0aW4vbWVyZ2UuYzo4ODAKKyM6IHNlcXVlbmNlci5jOjE0NjIgYnVpbHRpbi9hbS5jOjE1OTQgYnVpbHRpbi9jb21taXQuYzoxNjUwCisjOiBidWlsdGluL21lcmdlLmM6ODgyIGJ1aWx0aW4vbWVyZ2UuYzo5MDYKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0LfQsNC/0LjRgdC4INC+0LHRitC10LrRgtCwINC60L7QvNC80LjRgtCwIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzU2CisjOiBzZXF1ZW5jZXIuYzoxNTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINC60L7QvNC80LjRgiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTM2MQorIzogc2VxdWVuY2VyLmM6MTUyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywg0YDQvtC00LjRgtC10LvRjNGB0LrQuNC5INC60L7QvNC80LjRgiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTQ1NyBzZXF1ZW5jZXIuYzoxNTY1CisjOiBzZXF1ZW5jZXIuYzoxNjAyIHNlcXVlbmNlci5jOjE3MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBjb21tYW5kOiAlZCIKIG1zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90LDRjyDQutC+0LzQsNC90LTQsDogJWQiCiAKLSM6IHNlcXVlbmNlci5jOjE1MTIgc2VxdWVuY2VyLmM6MTUzNworIzogc2VxdWVuY2VyLmM6MTY1OSBzZXF1ZW5jZXIuYzoxNjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAlZCBjb21taXRzLiIKIG1zZ3N0ciAi0K3RgtC+INC+0LHRitC10LTQuNC90LXQvdC40LUgJWQg0LrQvtC80LzQuNGC0L7Qsi4iCiAKLSM6IHNlcXVlbmNlci5jOjE1MjIgc2VxdWVuY2VyLmM6NDUyMAorIzogc2VxdWVuY2VyLmM6MTY2OQogbXNnaWQgIm5lZWQgYSBIRUFEIHRvIGZpeHVwIgogbXNnc3RyICLQvdGD0LbQtdC9IEhFQUQg0LTQu9GPINC40YHQv9GA0LDQstC70LXQvdC40Y8iCiAKLSM6IHNlcXVlbmNlci5jOjE1MjQgc2VxdWVuY2VyLmM6Mjc2OAorIzogc2VxdWVuY2VyLmM6MTY3MSBzZXF1ZW5jZXIuYzozMTExCiBtc2dpZCAiY291bGQgbm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0YwgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MTUyNgorIzogc2VxdWVuY2VyLmM6MTY3MwogbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQncyBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YHQvtC+0LHRidC10L3QuNC1INC60L7QvNC80LjRgtCwINGC0LXQutGD0YnQtdCz0L4gSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MTUzMgorIzogc2VxdWVuY2VyLmM6MTY3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMIMKrJXPCuyIKIAotIzogc2VxdWVuY2VyLmM6MTUzOSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDQxCisjOiBzZXF1ZW5jZXIuYzoxNjg2IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NDEKIG1zZ2lkICJUaGlzIGlzIHRoZSAxc3QgY29tbWl0IG1lc3NhZ2U6IgogbXNnc3RyICLQrdGC0L4gMS3QtSDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LA6IgogCi0jOiBzZXF1ZW5jZXIuYzoxNTQ3CisjOiBzZXF1ZW5jZXIuYzoxNjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlIG9mICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAg0LTQu9GPICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTU0CisjOiBzZXF1ZW5jZXIuYzoxNzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgdGhlIGNvbW1pdCBtZXNzYWdlICMlZDoiCiBtc2dzdHIgItCt0YLQviDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAg0L3QvtC80LXRgCAjJWQ6IgogCi0jOiBzZXF1ZW5jZXIuYzoxNTYwCisjOiBzZXF1ZW5jZXIuYzoxNzA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJWQgd2lsbCBiZSBza2lwcGVkOiIKIG1zZ3N0ciAi0KHQvtC+0LHRidC10L3QuNC1INC60L7QvNC80LjRgtCwINC90L7QvNC10YAgIyVkINCx0YPQtNC10YIg0L/RgNC+0L/Rg9GJ0LXQvdC+OiIKIAotIzogc2VxdWVuY2VyLmM6MTY0MworIzogc2VxdWVuY2VyLmM6MTc5NQogbXNnaWQgInlvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCiBtc2dzdHIgItCy0LDRiCDQuNC90LTQtdC60YEg0L3QtSDRgdC70LjRgi4iCiAKLSM6IHNlcXVlbmNlci5jOjE2NTAKKyM6IHNlcXVlbmNlci5jOjE4MDIKIG1zZ2lkICJjYW5ub3QgZml4dXAgcm9vdCBjb21taXQiCiBtc2dzdHIgItC90LXQu9GM0LfRjyDQuNGB0L/RgNCw0LLQuNGC0Ywg0LrQvtGA0L3QtdCy0L7QuSDQutC+0LzQvNC40YIiCiAKLSM6IHNlcXVlbmNlci5jOjE2NjkKKyM6IHNlcXVlbmNlci5jOjE4MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgogbXNnc3RyICLQutC+0LzQvNC40YIgJXMg4oCUINGN0YLQviDQutC+0LzQvNC40YIt0YHQu9C40Y/QvdC40LUsINC90L4g0L7Qv9GG0LjRjyAtbSDQvdC1INGD0LrQsNC30LDQvdCwLiIKIAotIzogc2VxdWVuY2VyLmM6MTY3NworIzogc2VxdWVuY2VyLmM6MTgyOSBzZXF1ZW5jZXIuYzoxODM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKIG1zZ3N0ciAi0YMg0LrQvtC80LzQuNGC0LAgJXMg0L3QtdGCINC/0YDQtdC00LrQsCAlZCIKIAotIzogc2VxdWVuY2VyLmM6MTY4MQotIywgYy1mb3JtYXQKLW1zZ2lkICJtYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgotbXNnc3RyICLQvtGB0L3QvtCy0L3QsNGPINCy0LXRgtC60LAg0YPQutCw0LfQsNC90LAsINC90L4g0LrQvtC80LzQuNGCICVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDRgdC70LjRj9C90LjQtdC8LiIKLQotIzogc2VxdWVuY2VyLmM6MTY4NworIzogc2VxdWVuY2VyLmM6MTg0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIGZvciAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINGB0L7QvtCx0YnQtdC90LjQtSDQutC+0LzQvNC40YLQsCDQtNC70Y8gJXMiCiAKICMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSBhICJ0b2RvIiBjb21tYW5kIGxpa2UKICMuICJyZXZlcnQiIG9yICJwaWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEuCi0jOiBzZXF1ZW5jZXIuYzoxNzA2CisjOiBzZXF1ZW5jZXIuYzoxODYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINGA0L7QtNC40YLQtdC70YzRgdC60LjQuSDQutC+0LzQvNC40YIg0LTQu9GPICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzcxCisjOiBzZXF1ZW5jZXIuYzoxOTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgJyVzJyB0byAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LjQvNC10L3QvtCy0LDRgtGMIMKrJXPCuyDQsiDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjE4MjYKKyM6IHNlcXVlbmNlci5jOjE5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJldmVydCAlcy4uLiAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0YDQsNGC0LjRgtGMINC40LfQvNC10L3QtdC90LjRjyDQutC+0LzQvNC40YLQsCAlc+KApiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTgyNworIzogc2VxdWVuY2VyLmM6MTk4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC40LzQtdC90LjRgtGMINC60L7QvNC80LjRgiAlc+KApiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTg4NQorIzogc2VxdWVuY2VyLmM6MjA0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzOiDRgdCx0L7QuSDRh9GC0LXQvdC40Y8g0LjQvdC00LXQutGB0LAiCiAKLSM6IHNlcXVlbmNlci5jOjE4OTIKKyM6IHNlcXVlbmNlci5jOjIwNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczog0YHQsdC+0Lkg0L7QsdC90L7QstC70LXQvdC40Y8g0LjQvdC00LXQutGB0LAiCiAKLSM6IHNlcXVlbmNlci5jOjE5NzIKKyM6IHNlcXVlbmNlci5jOjIxMTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZG9lcyBub3QgYWNjZXB0IGFyZ3VtZW50czogJyVzJyIKIG1zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCAlcyDQvdC1INC/0YDQuNC90LjQvNCw0LXRgiDQsNGA0LPRg9C80LXQvdGC0Ys6IMKrJXPCuyIKIAotIzogc2VxdWVuY2VyLmM6MTk4MQorIzogc2VxdWVuY2VyLmM6MjEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIGFyZ3VtZW50cyBmb3IgJXMiCiBtc2dzdHIgItC/0YDQvtC/0YPRidC10L3RiyDQsNGA0LPRg9C80LXQvdGC0Ysg0LTQu9GPICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDQwCisjOiBzZXF1ZW5jZXIuYzoyMTY0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAnJS4qcyciCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MjIyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LDRjyDRgdGC0YDQvtC60LAgJWQ6ICUuKnMiCiAKLSM6IHNlcXVlbmNlci5jOjIwNDgKKyM6IHNlcXVlbmNlci5jOjIyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICclcycgd2l0aG91dCBhIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINCy0YvQv9C+0LvQvdC40YLRjCDCqyVzwrsg0LHQtdC3INGD0LrQsNC30LDQvdC40Y8g0L/RgNC10LTRi9C00YPRidC10LPQviDQutC+0LzQvNC40YLQsCIKIAotIzogc2VxdWVuY2VyLmM6MjA5NiBzZXF1ZW5jZXIuYzo0Mjc3IHNlcXVlbmNlci5jOjQzMzMKKyM6IHNlcXVlbmNlci5jOjIyODUgYnVpbHRpbi9yZWJhc2UuYzoxNTMgYnVpbHRpbi9yZWJhc2UuYzoxNzgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA0IGJ1aWx0aW4vcmViYXNlLmM6MjI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDCqyVzwrsuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTE5CisjOiBzZXF1ZW5jZXIuYzoyMzYwCiBtc2dpZCAicGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCiBtc2dzdHIgItC/0L7QttCw0LvRg9C50YHRgtCwINC40YHQv9GA0LDQstGM0YLQtSDRjdGC0L4g0YEg0L/QvtC80L7RidGM0Y4gwqtnaXQgcmViYXNlIC0tZWRpdC10b2RvwrsuIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTIxCisjOiBzZXF1ZW5jZXIuYzoyMzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAnJXMnIgogbXNnc3RyICLQvdC10L/RgNC40LPQvtC00L3QsNGPINC00LvRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyDQutCw0YDRgtCwINGBINC40L3RgdGC0YDRg9C60YbQuNGP0LzQuDogwqslc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzoyMTI2CisjOiBzZXF1ZW5jZXIuYzoyMzY3CiBtc2dpZCAibm8gY29tbWl0cyBwYXJzZWQuIgogbXNnc3RyICLQutC+0LzQvNC40YLRiyDQvdC1INGA0LDQt9C+0LHRgNCw0L3Riy4iCiAKLSM6IHNlcXVlbmNlci5jOjIxMzcKKyM6IHNlcXVlbmNlci5jOjIzNzgKIG1zZ2lkICJjYW5ub3QgY2hlcnJ5LXBpY2sgZHVyaW5nIGEgcmV2ZXJ0LiIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINGB0LrQvtC/0LjRgNC+0LLQsNGC0Ywg0LrQvtC80LzQuNGCINCy0L4g0LLRgNC10LzRjyDQv9GA0L7RhtC10YHRgdCwINC+0LHRgNCw0YnQtdC90LjRjyDQutC+0LzQvNC40YLQsC4iCiAKLSM6IHNlcXVlbmNlci5jOjIxMzkKKyM6IHNlcXVlbmNlci5jOjIzODAKIG1zZ2lkICJjYW5ub3QgcmV2ZXJ0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC+0LHRgNCw0YLQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINC60L7QvNC80LjRgtCwINCy0L4g0LLRgNC10LzRjyDQutC+0L/QuNGA0L7QstCw0L3QuNGPINC60L7QvNC80LjRgtCwLiIKIAotIzogc2VxdWVuY2VyLmM6MjIwOQorIzogc2VxdWVuY2VyLmM6MjQ2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1ICVzOiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MjI4NQorIzogc2VxdWVuY2VyLmM6MjU0OQogbXNnaWQgInVudXNhYmxlIHNxdWFzaC1vbnRvIgogbXNnc3RyICLQvdC10L/RgNC40LPQvtC00L3Ri9C5INC00LvRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyDRg9C/0LvQvtGC0L3QuNGC0Ywt0L3QsNC0IgogCi0jOiBzZXF1ZW5jZXIuYzoyMzAxCisjOiBzZXF1ZW5jZXIuYzoyNTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAnJXMnIgogbXNnc3RyICLQuNGB0L/QvtGA0YfQtdC90L3QsNGPINC60LDRgNGC0LAg0YEg0L7Qv9GG0LjRj9C80Lg6IMKrJXPCuyIKIAotIzogc2VxdWVuY2VyLmM6MjMzNSBzZXF1ZW5jZXIuYzozNzc1CisjOiBzZXF1ZW5jZXIuYzoyNjQ4IHNlcXVlbmNlci5jOjQyMjcKIG1zZ2lkICJlbXB0eSBjb21taXQgc2V0IHBhc3NlZCIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0L0g0L/Rg9GB0YLQvtC5INC90LDQsdC+0YAg0LrQvtC80LzQuNGC0L7QsiIKIAotIzogc2VxdWVuY2VyLmM6MjM0MworIzogc2VxdWVuY2VyLmM6MjY1NgogbXNnaWQgImEgY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgItC60L7Qv9C40YDQvtCy0LDQvdC40LUg0LjQu9C4INC+0LHRgNCw0YnQtdC90LjQtSDQuNC30LzQtdC90LXQvdC40Lkg0LrQvtC80LzQuNGC0LAg0YPQttC1INCy0YvQv9C+0LvQvdGP0Y7RgtGB0Y8iCiAKLSM6IHNlcXVlbmNlci5jOjIzNDQKKyM6IHNlcXVlbmNlci5jOjI2NTcKIG1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgogbXNnc3RyICLQv9C+0L/RgNC+0LHRg9C50YLQtSDCq2dpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpwrsiCiAKLSM6IHNlcXVlbmNlci5jOjIzNDcKKyM6IHNlcXVlbmNlci5jOjI2NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LrQsNGC0LDQu9C+0LMg0LTQu9GPINGD0LrQsNC30LDRgtC10LvRjyDRgdC70LXQtNC+0LLQsNC90LjRjyDQutC+0LzQvNC40YLQvtCyIMKrJXPCuyIKIAotIzogc2VxdWVuY2VyLmM6MjM2MQorIzogc2VxdWVuY2VyLmM6MjY3NAogbXNnaWQgImNvdWxkIG5vdCBsb2NrIEhFQUQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNCx0LvQvtC60LjRgNC+0LLQsNGC0YwgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MjQxNiBzZXF1ZW5jZXIuYzozNTQzCisjOiBzZXF1ZW5jZXIuYzoyNzI5IHNlcXVlbmNlci5jOjM5NzkKIG1zZ2lkICJubyBjaGVycnktcGljayBvciByZXZlcnQgaW4gcHJvZ3Jlc3MiCiBtc2dzdHIgItC60L7Qv9C40YDQvtCy0LDQvdC40LUg0LjQu9C4INC+0LHRgNCw0YnQtdC90LjQtSDQuNC30LzQtdC90LXQvdC40Lkg0LrQvtC80LzQuNGC0LAg0YPQttC1INCy0YvQv9C+0LvQvdGP0Y7RgtGB0Y8iCiAKLSM6IHNlcXVlbmNlci5jOjI0MTgKKyM6IHNlcXVlbmNlci5jOjI3MzEKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjI0MjAgc2VxdWVuY2VyLmM6MjQ1NQorIzogc2VxdWVuY2VyLmM6MjczMyBzZXF1ZW5jZXIuYzoyNzY4CiBtc2dpZCAiY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgItC90LXQu9GM0LfRjyDQvtGC0LzQtdC90LjRgtGMINC40LfQvNC10L3QtdC90LjRjyDRgSDQstC10YLQutC4LCDQutC+0YLQvtGA0LDRjyDQtdGJ0LUg0L3QtSDRgdC+0LfQtNCw0L3QsCIKIAotIzogc2VxdWVuY2VyLmM6MjQ0MSBidWlsdGluL2dyZXAuYzo3MjEKKyM6IHNlcXVlbmNlci5jOjI3NTQgYnVpbHRpbi9ncmVwLmM6NzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywgwqslc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzoyNDQzCisjOiBzZXF1ZW5jZXIuYzoyNzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyc6ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDCqyVzwrs6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDQ0CisjOiBzZXF1ZW5jZXIuYzoyNzU3CiBtc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAi0L3QtdC+0LbQuNC00LDQvdC90YvQuSDQutC+0L3QtdGGINGE0LDQudC70LAiCiAKLSM6IHNlcXVlbmNlci5jOjI0NTAKKyM6IHNlcXVlbmNlci5jOjI3NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RvcmVkIHByZS1jaGVycnktcGljayBIRUFEIGZpbGUgJyVzJyBpcyBjb3JydXB0IgogbXNnc3RyICLRgdC+0YXRgNCw0L3QtdC90L3Ri9C5INGE0LDQudC7INGBIEhFQUQg0L/QtdGA0LXQtCDQutC+0L/QuNGA0L7QstCw0L3QuNC10Lwg0LrQvtC80LzQuNGC0LAgwqslc8K7INC/0L7QstGA0LXQttC00LXQvSIKIAotIzogc2VxdWVuY2VyLmM6MjQ2MQorIzogc2VxdWVuY2VyLmM6Mjc3NAogbXNnaWQgIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRC4gTm90IHJld2luZGluZywgY2hlY2sgeW91ciBIRUFEISIKIG1zZ3N0ciAi0J/QvtGF0L7QttC1LCDRh9GC0L4g0LLRiyDQv9C10YDQtdC80LXRgdGC0LjQu9C4IEhFQUQuINCf0LXRgNC10LzQvtGC0LrQsCDQvdC1INCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8sINC/0YDQvtCy0LXRgNGM0YLQtSDRgdCy0L7QuSDRg9C60LDQt9Cw0YLQtdC70YwgSEVBRCEiCiAKLSM6IHNlcXVlbmNlci5jOjI1NjUgc2VxdWVuY2VyLmM6MzQ2MQorIzogc2VxdWVuY2VyLmM6MjkwMyBzZXF1ZW5jZXIuYzozODk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCAlcyIKIAotIzogc2VxdWVuY2VyLmM6MjYwMyBzZXF1ZW5jZXIuYzozNDQxCisjOiBzZXF1ZW5jZXIuYzoyOTQxIHNlcXVlbmNlci5jOjM4NzQKIG1zZ2lkICJjYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoyNjE4CisjOiBzZXF1ZW5jZXIuYzoyOTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjb3B5ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyNjI2CisjOiBzZXF1ZW5jZXIuYzoyOTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgY2FuIGFtZW5kIHRoZSBjb21taXQgbm93LCB3aXRoXG4iCkBAIC00MzYwLDI2ICs1ODg5LDI3IEBACiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyNjM2CisjOiBzZXF1ZW5jZXIuYzoyOTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAlcy4uLiAlLipzIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjI2NDMKKyM6IHNlcXVlbmNlci5jOjI5ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1lcmdlICUuKnMiCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MjY1NCBzZXF1ZW5jZXIuYzoyNjU4IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDAKKyM6IHNlcXVlbmNlci5jOjI5OTcgc2VxdWVuY2VyLmM6MzAwMSBidWlsdGluL2RpZmZ0b29sLmM6NjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjb3B5ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC60L7Qv9C40YDQvtCy0LDRgtGMIMKrJXPCuyDQsiDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjI2ODAgc2VxdWVuY2VyLmM6MzA5NQorIzogc2VxdWVuY2VyLmM6MzAyMyBzZXF1ZW5jZXIuYzozNDQ2IGJ1aWx0aW4vcmViYXNlLmM6ODM5CisjOiBidWlsdGluL3JlYmFzZS5jOjE1ODAgYnVpbHRpbi9yZWJhc2UuYzoxOTQwIGJ1aWx0aW4vcmViYXNlLmM6MTk5NQogbXNnaWQgImNvdWxkIG5vdCByZWFkIGluZGV4IgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQuNC90LTQtdC60YEiCiAKLSM6IHNlcXVlbmNlci5jOjI2ODUKKyM6IHNlcXVlbmNlci5jOjMwMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4ZWN1dGlvbiBmYWlsZWQ6ICVzXG4iCkBAIC00Mzg5LDExICs1OTE5LDExIEBACiAiXG4iCiBtc2dzdHIgItC+0YjQuNCx0LrQsCDQstGL0L/QvtC70L3QtdC90LjRjzogJXNcbiVz0JLRiyDQvNC+0LbQtdGC0LUg0LjRgdC/0YDQsNCy0LjRgtGMINC+0YjQuNCx0LrRgywg0LAg0LfQsNGC0LXQvCDQt9Cw0L/Rg9GB0YLQuNGC0YxcblxuICBnaXQgcmViYXNlIC0tY29udGludWVcblxuIgogCi0jOiBzZXF1ZW5jZXIuYzoyNjkxCisjOiBzZXF1ZW5jZXIuYzozMDM0CiBtc2dpZCAiYW5kIG1hZGUgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWVcbiIKIG1zZ3N0ciAi0Lgg0LHRi9C70Lgg0YHQtNC10LvQsNC90Ysg0LjQt9C80LXQvdC10L3QuNGPINCyINC40L3QtNC10LrRgdC1INC4L9C40LvQuCDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1XG4iCiAKLSM6IHNlcXVlbmNlci5jOjI2OTcKKyM6IHNlcXVlbmNlci5jOjMwNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4ZWN1dGlvbiBzdWNjZWVkZWQ6ICVzXG4iCkBAIC00NDA0LDgxICs1OTM0LDc2IEBACiAiXG4iCiBtc2dzdHIgItGD0YHQv9C10YjQvdC+0LUg0LLRi9C/0L7Qu9C90LXQvdC40LU6ICVzXG7QvdC+INC+0YHRgtCw0LvQuNGB0Ywg0LjQt9C80LXQvdC10L3QuNGPINCyINC40L3QtNC10LrRgdC1INC4L9C40LvQuCDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1XG7QodC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiDQuNC70Lgg0YHQv9GA0Y/Rh9GM0YLQtSDQstCw0YjQuCDQuNC30LzQtdC90LXQvdC40Y8sINCwINC30LDRgtC10Lwg0LLRi9C/0L7Qu9C90LjRgtC1XG5cbiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG5cbiIKIAotIzogc2VxdWVuY2VyLmM6Mjc1OAorIzogc2VxdWVuY2VyLmM6MzEwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbGxlZ2FsIGxhYmVsIG5hbWU6ICclLipzJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyODEwCisjOiBzZXF1ZW5jZXIuYzozMTU1CiBtc2dpZCAid3JpdGluZyBmYWtlIHJvb3QgY29tbWl0IgogbXNnc3RyICLQt9Cw0L/QuNGB0Ywg0L/QvtC00LTQtdC70YzQvdC+0LPQviDQutC+0YDQvdC10LLQvtCz0L4g0LrQvtC80LzQuNGC0LAiCiAKLSM6IHNlcXVlbmNlci5jOjI4MTUKKyM6IHNlcXVlbmNlci5jOjMxNjAKIG1zZ2lkICJ3cml0aW5nIHNxdWFzaC1vbnRvIgogbXNnc3RyICLQt9Cw0L/QuNGC0Ywg0YPQv9C70L7RgtC90LjRgtGMLdC90LDQtCIKIAotIzogc2VxdWVuY2VyLmM6Mjg1MAorIzogc2VxdWVuY2VyLmM6MzE5OCBidWlsdGluL3JlYmFzZS5jOjg0NCBidWlsdGluL3JlYmFzZS5jOjg1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZmluZCB0cmVlIG9mICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0LTQtdGA0LXQstC+INC00LvRjyAlcyIKIAotIzogc2VxdWVuY2VyLmM6Mjg2OAorIzogc2VxdWVuY2VyLmM6MzIxNiBidWlsdGluL3JlYmFzZS5jOjg2MwogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBpbmRleCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINC40L3QtNC10LrRgSIKIAotIzogc2VxdWVuY2VyLmM6Mjg5NQorIzogc2VxdWVuY2VyLmM6MzI0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDRgdC/0L7Qt9C90LDRgtGMIMKrJXPCuyIKIAotIzogc2VxdWVuY2VyLmM6MjkyMQorIzogc2VxdWVuY2VyLmM6MzI3MQogbXNnaWQgImNhbm5vdCBtZXJnZSB3aXRob3V0IGEgY3VycmVudCByZXZpc2lvbiIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINGB0LvQuNGC0Ywg0LHQtdC3INGC0LXQutGD0YnQtdC5INGA0LXQtNCw0LrRhtC40LgiCiAKLSM6IHNlcXVlbmNlci5jOjI5NDMKKyM6IHNlcXVlbmNlci5jOjMyOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICclLipzJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTUyCisjOiBzZXF1ZW5jZXIuYzozMzAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gbWVyZ2U6ICclLipzJyIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTY0CisjOiBzZXF1ZW5jZXIuYzozMzE0CiBtc2dpZCAib2N0b3B1cyBtZXJnZSBjYW5ub3QgYmUgZXhlY3V0ZWQgb24gdG9wIG9mIGEgW25ldyByb290XSIKIG1zZ3N0ciAiIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTc5CisjOiBzZXF1ZW5jZXIuYzozMzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgY29tbWl0IG1lc3NhZ2Ugb2YgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINGB0L7QvtCx0YnQtdC90LjQtSDQutC+0LzQvNC40YLQsCDQtNC70Y8gwqslc8K7IgogCi0jOiBzZXF1ZW5jZXIuYzoyOTg5IHNlcXVlbmNlci5jOjMwMTUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHdyaXRlICclcyciCi1tc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDCqyVzwrsiCi0KLSM6IHNlcXVlbmNlci5jOjMxMjcKKyM6IHNlcXVlbmNlci5jOjM0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGV2ZW4gYXR0ZW1wdCB0byBtZXJnZSAnJS4qcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LTQsNC20LUg0L/QvtC/0YvRgtCw0YLRjNGB0Y8g0YHQu9C40YLRjCDCqyUuKnPCuyIKIAotIzogc2VxdWVuY2VyLmM6MzE0MworIzogc2VxdWVuY2VyLmM6MzQ5NAogbXNnaWQgIm1lcmdlOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgItGB0LvQuNGP0L3QuNC1OiDQndC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0YTQsNC50Lsg0LjQvdC00LXQutGB0LAiCiAKLSM6IHNlcXVlbmNlci5jOjMyMTEKKyM6IHNlcXVlbmNlci5jOjM1NjIgYnVpbHRpbi9yZWJhc2UuYzo3MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guXG4iCiBtc2dzdHIgItCf0YDQuNC80LXQvdC10L3RiyDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCDRgdC/0YDRj9GC0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8uXG4iCiAKLSM6IHNlcXVlbmNlci5jOjMyMjMKKyM6IHNlcXVlbmNlci5jOjM1NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0b3JlICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7RhdGA0LDQvdC40YLRjCAlcyIKIAotIzogc2VxdWVuY2VyLmM6MzIyNiBnaXQtcmViYXNlLnNoOjE4OAorIzogc2VxdWVuY2VyLmM6MzU3NyBidWlsdGluL3JlYmFzZS5jOjcyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy5cbiIKQEAgLTQ0ODYsNyArNjAxMSwzMSBAQAogIllvdSBjYW4gcnVuIFwiZ2l0IHN0YXNoIHBvcFwiIG9yIFwiZ2l0IHN0YXNoIGRyb3BcIiBhdCBhbnkgdGltZS5cbiIKIG1zZ3N0ciAi0J/RgNC40LzQtdC90LXQvdC40LUg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60Lgg0YHQv9GA0Y/RgtCw0L3QvdGL0YUg0LjQt9C80LXQvdC10L3QuNC5INCy0YvQt9Cy0LDQu9C+INC60L7QvdGE0LvQuNC60YLRiy5cbtCS0LDRiNC4INC40LfQvNC10L3QtdC90LjRjyDRgdC/0YDRj9GC0LDQvdGLINC4INCyINCx0LXQt9C+0L/QsNGB0L3QvtGB0YLQuC5cbtCS0Ysg0LzQvtC20LXRgtC1INCy0YvQv9C+0LvQvdC40YLRjCDCq2dpdCBzdGFzaCBwb3DCuyDQuNC70LggwqtnaXQgc3Rhc2ggZHJvcMK7INCyINC70Y7QsdC+0Lkg0LzQvtC80LXQvdGCLlxuIgogCi0jOiBzZXF1ZW5jZXIuYzozMjU3CisjOiBzZXF1ZW5jZXIuYzozNjM4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjaGVja291dCAlcyIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozNjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSB2YWxpZCBPSUQiCittc2dzdHIgIiIKKworIzogc2VxdWVuY2VyLmM6MzY1NyBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzI0Cittc2dpZCAiY291bGQgbm90IGRldGFjaCBIRUFEIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQtNC10LvQuNGC0YwgSEVBRCIKKworIzogc2VxdWVuY2VyLmM6MzY3MgorIywgYy1mb3JtYXQKK21zZ2lkICJTdG9wcGVkIGF0IEhFQURcbiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozNjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0b3BwZWQgYXQgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzozNjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgZXhlY3V0ZSB0aGUgdG9kbyBjb21tYW5kXG4iCkBAIC00NDk5LDEyNSArNjA0OCwxMDQgQEAKICIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiBtc2dzdHIgIiIKIAotIzogc2VxdWVuY2VyLmM6MzMyNQorIzogc2VxdWVuY2VyLmM6Mzc1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkIGF0ICVzLi4uICAlLipzXG4iCiBtc2dzdHIgItCe0YHRgtCw0L3QvtCy0LvQtdC90L4g0L3QsCAlcyDigKYgICUuKnNcbiIKIAotIzogc2VxdWVuY2VyLmM6MzQwNAorIzogc2VxdWVuY2VyLmM6MzgzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQgJWQiCiBtc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdCw0Y8g0LrQvtC80LDQvdC00LAgJWQiCiAKLSM6IHNlcXVlbmNlci5jOjM0NDkKKyM6IHNlcXVlbmNlci5jOjM4ODIKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBvcmlnLWhlYWQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMIG9yaWctaGVhZCIKIAotIzogc2VxdWVuY2VyLmM6MzQ1NCBzZXF1ZW5jZXIuYzo0NTE3CisjOiBzZXF1ZW5jZXIuYzozODg3CiBtc2dpZCAiY291bGQgbm90IHJlYWQgJ29udG8nIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDCq29udG/CuyIKIAotIzogc2VxdWVuY2VyLmM6MzQ2OAorIzogc2VxdWVuY2VyLmM6MzkwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdXBkYXRlIEhFQUQgdG8gJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCBIRUFEINC90LAgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjM1NTQKKyM6IHNlcXVlbmNlci5jOjM5OTEKIG1zZ2lkICJjYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywg0L/QtdGA0LXQvNC10YnQtdC90LjQtSDQutC+0LzQvNC40YLQvtCyOiDQoyDQstCw0YEg0LXRgdGC0Ywg0L3QtdC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8uIgogCi0jOiBzZXF1ZW5jZXIuYzozNTYzCisjOiBzZXF1ZW5jZXIuYzo0MDAwCiBtc2dpZCAiY2Fubm90IGFtZW5kIG5vbi1leGlzdGluZyBjb21taXQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LjRgdC/0YDQsNCy0LjRgtGMINC90LXRgdGD0YnQtdGB0YLQstGD0Y7RidC40Lkg0LrQvtC80LzQuNGCIgogCi0jOiBzZXF1ZW5jZXIuYzozNTY1CisjOiBzZXF1ZW5jZXIuYzo0MDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgZmlsZTogJyVzJyIKIG1zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INGE0LDQudC7OiDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjM1NjcKKyM6IHNlcXVlbmNlci5jOjQwMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb250ZW50czogJyVzJyIKIG1zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzQvtC1INGB0L7QtNC10YDQttC40LzQvtC1OiDCqyVzwrsiCiAKLSM6IHNlcXVlbmNlci5jOjM1NzAKKyM6IHNlcXVlbmNlci5jOjQwMDcKIG1zZ2lkICIiCiAiXG4iCiAiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlLCBjb21taXQgdGhlbVxuIgogImZpcnN0IGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBhZ2Fpbi4iCiBtc2dzdHIgIlxu0KMg0LLQsNGBINC40LzQtdGO0YLRgdGPINC90LXQt9Cw0LrQvtC80LzQuNGH0LXQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtS4g0KHQtNC10LvQsNC50YLQtSDQutC+0LzQvNC40YIsINCwINC30LDRgtC10Lwg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IHJlYmFzZSAtLWNvbnRpbnVlwrsg0YHQvdC+0LLQsC4iCiAKLSM6IHNlcXVlbmNlci5jOjM1OTUgc2VxdWVuY2VyLmM6MzYzMworIzogc2VxdWVuY2VyLmM6NDA0MyBzZXF1ZW5jZXIuYzo0MDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBmaWxlOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNlcXVlbmNlci5jOjM2NDgKKyM6IHNlcXVlbmNlci5jOjQwOTYKIG1zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIENIRVJSWV9QSUNLX0hFQUQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0YwgQ0hFUlJZX1BJQ0tfSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MzY1NQorIzogc2VxdWVuY2VyLmM6NDEwMwogbXNnaWQgImNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQutC+0LzQvNC40YLQuNGC0Ywg0L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjy4iCiAKLSM6IHNlcXVlbmNlci5jOjM3NTIKKyM6IHNlcXVlbmNlci5jOjQyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCiBtc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINGB0LrQvtC/0LjRgNC+0LLQsNGC0Ywg0LrQvtC80LzQuNGCICVzIgogCi0jOiBzZXF1ZW5jZXIuYzozNzU2CisjOiBzZXF1ZW5jZXIuYzo0MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgcmV2aXNpb24iCiBtc2dzdHIgIiVzOiDQv9C70L7RhdCw0Y8g0YDQtdC00LDQutGG0LjRjyIKIAotIzogc2VxdWVuY2VyLmM6Mzc5MQorIzogc2VxdWVuY2VyLmM6NDI0MwogbXNnaWQgImNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINCy0L7Qt9Cy0YDQsNGC0LjRgtGMINC40LfQvdCw0YfQsNC70YzQvdGL0Lkg0LrQvtC80LzQuNGCIgogCi0jOiBzZXF1ZW5jZXIuYzo0MjM4CisjOiBzZXF1ZW5jZXIuYzo0Njg2CiBtc2dpZCAibWFrZV9zY3JpcHQ6IHVuaGFuZGxlZCBvcHRpb25zIgogbXNnc3RyICJtYWtlX3NjcmlwdDog0L3QtSDQvtCx0YDQsNCx0L7RgtCw0L3QvdGL0LUg0L7Qv9GG0LjQuCIKIAotIzogc2VxdWVuY2VyLmM6NDI0MQorIzogc2VxdWVuY2VyLmM6NDY4OQogbXNnaWQgIm1ha2Vfc2NyaXB0OiBlcnJvciBwcmVwYXJpbmcgcmV2aXNpb25zIgogbXNnc3RyICJtYWtlX3NjcmlwdDog0L7RiNC40LHQutCwINC/0YDQuCDQvtCx0L3QvtCy0LvQtdC90LjQuCDRgNC10LTQsNC60YbQuNC5IgogCi0jOiBzZXF1ZW5jZXIuYzo0MjgxIHNlcXVlbmNlci5jOjQzMzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW51c2FibGUgdG9kbyBsaXN0OiAnJXMnIgotbXNnc3RyICLQvdC10L/RgNC40LPQvtC00L3Ri9C5INC00LvRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyDRgdC/0LjRgdC+0Log0LTQtdC7OiDCqyVzwrsiCi0KLSM6IHNlcXVlbmNlci5jOjQzOTYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotInVucmVjb2duaXplZCBzZXR0aW5nICVzIGZvciBvcHRpb24gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suIElnbm9yaW5nLiIKLW1zZ3N0ciAi0L3QtdGA0LDRgdC/0L7Qt9C90LDQvdC90LDRjyDQvdCw0YHRgtGA0L7QudC60LAgJXMg0LTQu9GPINC+0L/RhtC40LggcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suINCY0LPQvdC+0YDQuNGA0YPRji4iCi0KLSM6IHNlcXVlbmNlci5jOjQ0NjYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIldhcm5pbmc6IHNvbWUgY29tbWl0cyBtYXkgaGF2ZSBiZWVuIGRyb3BwZWQgYWNjaWRlbnRhbGx5LlxuIgotIkRyb3BwZWQgY29tbWl0cyAobmV3ZXIgdG8gb2xkZXIpOlxuIgotbXNnc3RyICLQktC90LjQvNCw0L3QuNC1OiDQvdC10LrQvtGC0L7RgNGL0LUg0LrQvtC80LzQuNGC0Ysg0LzQvtCz0LvQuCDQsdGL0YLRjCDQvtGC0LHRgNC+0YjQtdC90Ysg0L/QviDQvtGI0LjQsdC60LUuXG7QntGC0LHRgNC+0YjQtdC90L3Ri9C1INC60L7QvNC80LjRgtGLICjQvtGCINC90L7QstGL0YUg0Log0YHRgtCw0YDRi9C8KTpcbiIKLQotIzogc2VxdWVuY2VyLmM6NDQ3MwotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgXCJkcm9wXCIgdG8gZXhwbGljaXRseSByZW1vdmUgYSBjb21taXQuXG4iCi0iXG4iCi0iVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mIHdhcm5pbmdzLlxuIgotIlRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci5cbiIKLSJcbiIKLW1zZ3N0ciAi0JTQu9GPINC40LfQsdC10LbQsNC90LjRjyDRjdGC0L7Qs9C+INGB0L7QvtCx0YnQtdC90LjRjywg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2Ryb3DCuyDRh9GC0L7QsdGLINGP0LLQvdC+INGD0LTQsNC70LjRgtGMINC60L7QvNC80LjRgi5cblxu0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQvtC/0YbQuNGOIMKrZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVja8K7INC00LvRjyDQuNC30LzQtdC90LXQvdC40Y8g0LrQvtC70LjRh9C10YHRgtCy0LAg0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQuS5cbtCS0L7Qt9C80L7QttC90YvQtSDQt9C90LDRh9C10L3QuNGPOiBpZ25vcmUsIHdhcm4sIGVycm9yLlxuXG4iCi0KLSM6IHNlcXVlbmNlci5jOjQ0ODYKLSMsIGMtZm9ybWF0CisjOiBzZXF1ZW5jZXIuYzo0ODQ3CiBtc2dpZCAiIgogIllvdSBjYW4gZml4IHRoaXMgd2l0aCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnLlxuIgogIk9yIHlvdSBjYW4gYWJvcnQgdGhlIHJlYmFzZSB3aXRoICdnaXQgcmViYXNlIC0tYWJvcnQnLlxuIgogbXNnc3RyICLQktGLINC80L7QttC10YLQtSDQuNGB0L/RgNCw0LLQuNGC0Ywg0Y3RgtC+INGBINC/0L7QvNC+0YnRjNGOIMKrZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb8K7LCDQsCDQv9C+0YLQvtC8INC30LDQv9GD0YHRgtC40LIgwqtnaXQgcmViYXNlIC0tY29udGludWXCuy5cbtCY0LvQuCDQstGLINC80L7QttC10YLQtSDQv9GA0LXRgNCy0LDRgtGMINC/0YDQvtGG0LXRgdGBINC/0LXRgNC10LzQtdGJ0LXQvdC40Y8sINCy0YvQv9C+0LvQvdC40LIgwqtnaXQgcmViYXNlIC0tYWJvcnTCu1xuIgogCi0jOiBzZXF1ZW5jZXIuYzo0NjYwCisjOiBzZXF1ZW5jZXIuYzo0OTU5IHNlcXVlbmNlci5jOjQ5NzYKK21zZ2lkICJub3RoaW5nIHRvIGRvIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjQ5OTAKK21zZ2lkICJjb3VsZCBub3Qgc2tpcCB1bm5lY2Vzc2FyeSBwaWNrIGNvbW1hbmRzIgorbXNnc3RyICIiCisKKyM6IHNlcXVlbmNlci5jOjUwNzMKIG1zZ2lkICJ0aGUgc2NyaXB0IHdhcyBhbHJlYWR5IHJlYXJyYW5nZWQuIgogbXNnc3RyICLRgdGG0LXQvdCw0YDQuNC5INGD0LbQtSDQsdGL0Lsg0L/QtdGA0LXRgdGC0YDQvtC10L0uIgogCkBAIC00NjI2LDE0ICs2MTU0LDE0IEBACiBtc2dpZCAiJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIsKrJXPCuyDQstC90LUg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyIKIAotIzogc2V0dXAuYzoxNzIKKyM6IHNldHVwLmM6MTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlczogbm8gc3VjaCBwYXRoIGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCiAiVXNlICdnaXQgPGNvbW1hbmQ+IC0tIDxwYXRoPi4uLicgdG8gc3BlY2lmeSBwYXRocyB0aGF0IGRvIG5vdCBleGlzdCBsb2NhbGx5LiIKIG1zZ3N0ciAiJXM6INC90LXRgiDRgtCw0LrQvtCz0L4g0L/Rg9GC0Lgg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtS5cbtCY0YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgPNC60L7QvNCw0L3QtNCwPiAtLSA80L/Rg9GC0Yw+4oCmwrsg0LTQu9GPINGD0LrQsNC30LDQvdC40Y8g0L/Rg9GC0LXQuSwg0LrQvtGC0L7RgNGL0LUg0L3QtSDRgdGD0YnQtdGB0YLQstGD0Y7RgiDQu9C+0LrQsNC70YzQvdC+LiIKIAotIzogc2V0dXAuYzoxODUKKyM6IHNldHVwLmM6MTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogdW5rbm93biByZXZpc2lvbiBvciBwYXRoIG5vdCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgpAQCAtNDY0MSwxMiArNjE2OSwxMiBAQAogIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciCiBtc2dzdHIgItC90LXQvtC00L3QvtC30L3QsNGH0L3Ri9C5INCw0YDQs9GD0LzQtdC90YIgwqslc8K7OiDQvdC10LjQt9Cy0LXRgdGC0L3QsNGPINGA0LXQtNCw0LrRhtC40Y8g0LjQu9C4INC90LUg0L/Rg9GC0Ywg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtS5cbtCY0YHQv9C+0LvRjNC30YPQudGC0LUgwqstLcK7INC00LvRjyDQvtGC0LTQtdC70LXQvdC40Y8g0L/Rg9GC0LXQuSDQvtGCINGA0LXQtNCw0LrRhtC40LksINCy0L7RgiDRgtCw0Lo6XG7Cq2dpdCA80LrQvtC80LDQvdC00LA+IFs80YDQtdC00LDQutGG0LjRjz7igKZdIC0tIFs80YTQsNC50Ls+4oCmXcK7IgogCi0jOiBzZXR1cC5jOjIzNAorIzogc2V0dXAuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAib3B0aW9uICclcycgbXVzdCBjb21lIGJlZm9yZSBub24tb3B0aW9uIGFyZ3VtZW50cyIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjI1MworIzogc2V0dXAuYzoyNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiBib3RoIHJldmlzaW9uIGFuZCBmaWxlbmFtZVxuIgpAQCAtNDY1NCwzNzYgKzYxODIsMzc2IEBACiAiJ2dpdCA8Y29tbWFuZD4gWzxyZXZpc2lvbj4uLi5dIC0tIFs8ZmlsZT4uLi5dJyIKIG1zZ3N0ciAi0L3QtdC+0LTQvdC+0LfQvdCw0YfQvdGL0Lkg0LDRgNCz0YPQvNC10L3RgiDCqyVzwrs6INGP0LLQu9GP0LXRgtGB0Y8g0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INC4INGA0LXQtNCw0LrRhtC40LXQuSDQuCDQuNC80LXQvdC10Lwg0YTQsNC50LvQsC5cbtCY0YHQv9C+0LvRjNC30YPQudGC0LUgwqstLcK7INC00LvRjyDQvtGC0LTQtdC70LXQvdC40Y8g0L/Rg9GC0LXQuSDQvtGCINGA0LXQtNCw0LrRhtC40LksINCy0L7RgiDRgtCw0Lo6XG7Cq2dpdCA80LrQvtC80LDQvdC00LA+IFs80YDQtdC00LDQutGG0LjRjz7igKZdIC0tIFs80YTQsNC50Ls+4oCmXcK7IgogCi0jOiBzZXR1cC5jOjM4OQorIzogc2V0dXAuYzozOTAKIG1zZ2lkICJ1bmFibGUgdG8gc2V0IHVwIHdvcmsgdHJlZSB1c2luZyBpbnZhbGlkIGNvbmZpZyIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjM5MworIzogc2V0dXAuYzozOTQKIG1zZ2lkICJ0aGlzIG9wZXJhdGlvbiBtdXN0IGJlIHJ1biBpbiBhIHdvcmsgdHJlZSIKIG1zZ3N0ciAiIgogCi0jOiBzZXR1cC5jOjUwMworIzogc2V0dXAuYzo1NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0ZWQgZ2l0IHJlcG8gdmVyc2lvbiA8PSAlZCwgZm91bmQgJWQiCiBtc2dzdHIgItCe0LbQuNC00LDQtdC80LDRjyDQstC10YDRgdC40Y8gZ2l0INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8gPD0gJWQsINCwINC+0LHQvdCw0YDRg9C20LXQvdCwICVkIgogCi0jOiBzZXR1cC5jOjUxMQorIzogc2V0dXAuYzo1NDgKIG1zZ2lkICJ1bmtub3duIHJlcG9zaXRvcnkgZXh0ZW5zaW9ucyBmb3VuZDoiCiBtc2dzdHIgItC+0LHQvdCw0YDRg9C20LXQvdGLINC90LXQuNC30LLQtdGB0YLQvdGL0LUg0YDQsNGB0YjQuNGA0LXQvdC40Y8g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjzoiCiAKLSM6IHNldHVwLmM6NTMwCisjOiBzZXR1cC5jOjU2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBvcGVuaW5nICclcyciCiBtc2dzdHIgItC+0YjQuNCx0LrQsCDQvtGC0LrRgNGL0YLQuNGPIMKrJXPCuyIKIAotIzogc2V0dXAuYzo1MzIKKyM6IHNldHVwLmM6NTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInRvbyBsYXJnZSB0byBiZSBhIC5naXQgZmlsZTogJyVzJyIKIG1zZ3N0ciAi0YTQsNC50Lsg0YHQu9C40YjQutC+0Lwg0LHQvtC70YzRiNC+0Lkg0LrQsNC6INC00LvRjyAuZ2l0INGE0LDQudC70LA6IMKrJXPCuyIKIAotIzogc2V0dXAuYzo1MzQKKyM6IHNldHVwLmM6NTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHJlYWRpbmcgJXMiCiBtc2dzdHIgItC+0YjQuNCx0LrQsCDRh9GC0LXQvdC40Y8gJXMiCiAKLSM6IHNldHVwLmM6NTM2CisjOiBzZXR1cC5jOjU3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGdpdGZpbGUgZm9ybWF0OiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INGE0L7RgNC80LDRgiDRhNCw0LnQu9CwIGdpdGZpbGU6ICVzIgogCi0jOiBzZXR1cC5jOjUzOAorIzogc2V0dXAuYzo1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gcGF0aCBpbiBnaXRmaWxlOiAlcyIKIG1zZ3N0ciAi0L3QtdGCINC/0YPRgtC4INCyIGdpdGZpbGU6ICVzIgogCi0jOiBzZXR1cC5jOjU0MAorIzogc2V0dXAuYzo1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgZ2l0IHJlcG9zaXRvcnk6ICVzIgogbXNnc3RyICLQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0YDQtdC/0L7Qt9C40YLQvtGA0LjQtdC8IGdpdDogJXMiCiAKLSM6IHNldHVwLmM6NjM5CisjOiBzZXR1cC5jOjY3NgogIywgYy1mb3JtYXQKIG1zZ2lkICInJCVzJyB0b28gYmlnIgogbXNnc3RyICLCqyQlc8K7INGB0LvQuNGI0LrQvtC8INCx0L7Qu9GM0YjQvtC5IgogCi0jOiBzZXR1cC5jOjY1MworIzogc2V0dXAuYzo2OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgZ2l0IHJlcG9zaXRvcnk6ICclcyciCiBtc2dzdHIgItC90LUg0Y/QstC70Y/QtdGC0YHRjyDRgNC10L/QvtC30LjRgtC+0YDQuNC10LwgZ2l0OiDCqyVzwrsiCiAKLSM6IHNldHVwLmM6NjgyIHNldHVwLmM6Njg0IHNldHVwLmM6NzE1CisjOiBzZXR1cC5jOjcxOSBzZXR1cC5jOjcyMSBzZXR1cC5jOjc1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0YwgY2hkaXIg0LIgwqslc8K7IgogCi0jOiBzZXR1cC5jOjY4NyBzZXR1cC5jOjc0MyBzZXR1cC5jOjc1MyBzZXR1cC5jOjc5MiBzZXR1cC5jOjgwMCBzZXR1cC5jOjgxNQorIzogc2V0dXAuYzo3MjQgc2V0dXAuYzo3ODAgc2V0dXAuYzo3OTAgc2V0dXAuYzo4Mjkgc2V0dXAuYzo4MzcKIG1zZ2lkICJjYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstC10YDQvdGD0YLRjNGB0Y8g0LIgY3dkIgogCi0jOiBzZXR1cC5jOjgxMwotIywgYy1mb3JtYXQKLW1zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIKLW1zZ3N0ciAi0L3QtSDQvdCw0LnQtNC10L0gZ2l0INGA0LXQv9C+0LfQuNGC0L7RgNC40LkgKNC40LvQuCDQvtC00LjQvSDQuNC3INGA0L7QtNC40YLQtdC70YzRgdC60LjRhSDQutCw0YLQsNC70L7Qs9C+0LIpOiAlcyIKLQotIzogc2V0dXAuYzo4MjQKKyM6IHNldHVwLmM6ODUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclKnMlcyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywgc3RhdCDQtNC70Y8gwqslKnMlcyVzwrsiCiAKLSM6IHNldHVwLmM6MTA1NAorIzogc2V0dXAuYzoxMDgzCiBtc2dpZCAiVW5hYmxlIHRvIHJlYWQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YLQtdC60YPRidC40Lkg0YDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMiCiAKLSM6IHNldHVwLmM6MTA2NiBzZXR1cC5jOjEwNzIKKyM6IHNldHVwLmM6MTA5MiBzZXR1cC5jOjEwOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoYW5nZSB0byAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC40LfQvNC10L3QuNGC0Ywg0L3QsCDCqyVzwrsiCiAKLSM6IHNldHVwLmM6MTA4NQorIzogc2V0dXAuYzoxMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgb2YgdGhlIHBhcmVudCBkaXJlY3Rvcmllcyk6ICVzIgorbXNnc3RyICLQvdC1INC90LDQudC00LXQvSBnaXQg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSAo0LjQu9C4INC+0LTQuNC9INC40Lcg0YDQvtC00LjRgtC10LvRjNGB0LrQuNGFINC60LDRgtCw0LvQvtCz0L7Qsik6ICVzIgorCisjOiBzZXR1cC5jOjExMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgcGFyZW50IHVwIHRvIG1vdW50IHBvaW50ICVzKVxuIgogIlN0b3BwaW5nIGF0IGZpbGVzeXN0ZW0gYm91bmRhcnkgKEdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU0gbm90IHNldCkuIgogbXNnc3RyICLQvdC1INC90LDQudC00LXQvSBnaXQg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSAo0LjQu9C4INC+0LTQuNC9INC40Lcg0LXQs9C+INC60LDRgtCw0LvQvtCz0L7QsiDQstC/0LvQvtGC0Ywg0LTQviDRgtC+0YfQutC4INC80L7QvdGC0LjRgNC+0LLQsNC90LjRjyAlcylcbtCe0YHRgtCw0L3QsNCy0LvQuNCy0LDRjiDQv9C+0LjRgdC6INC90LAg0LPRgNCw0L3QuNGG0LUg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyAo0YLQsNC6INC60LDQuiBHSVRfRElTQ09WRVJZX0FDUk9TU19GSUxFU1lTVEVNINC90LUg0YPRgdGC0LDQvdC+0LLQu9C10L0pLiIKIAotIzogc2V0dXAuYzoxMTY4CisjOiBzZXR1cC5jOjEyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInByb2JsZW0gd2l0aCBjb3JlLnNoYXJlZFJlcG9zaXRvcnkgZmlsZW1vZGUgdmFsdWUgKDAlLjNvKS5cbiIKICJUaGUgb3duZXIgb2YgZmlsZXMgbXVzdCBhbHdheXMgaGF2ZSByZWFkIGFuZCB3cml0ZSBwZXJtaXNzaW9ucy4iCiBtc2dzdHIgIiIKIAotIzogc2V0dXAuYzoxMjExCisjOiBzZXR1cC5jOjEyNjQKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBvciBkdXAgZmFpbGVkIgogbXNnc3RyICLRgdCx0L7QuSDQvtGC0LrRgNGL0YLQuNGPIC9kZXYvbnVsbCDQuNC70Lgg0LTRg9Cx0LvQuNGA0L7QstCw0L3QuNGPINC00LXRgdC60YDQuNC/0YLQvtGA0LAiCiAKLSM6IHNldHVwLmM6MTIyNgorIzogc2V0dXAuYzoxMjc5CiBtc2dpZCAiZm9yayBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INC/0YDQuCDQstGL0L/QvtC70L3QtdC90LjQuCBmb3JrIgogCi0jOiBzZXR1cC5jOjEyMzEKKyM6IHNldHVwLmM6MTI4NAogbXNnaWQgInNldHNpZCBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INC/0YDQuCDQstGL0L/QvtC70L3QtdC90LjQuCBzZXRzaWQiCiAKLSM6IHNoYTEtZmlsZS5jOjM4MQorIzogc2hhMS1maWxlLmM6NDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBkaXJlY3RvcnkgJXMgZG9lcyBub3QgZXhpc3Q7IGNoZWNrIC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6NDMyCisjOiBzaGExLWZpbGUuYzo1MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG5vcm1hbGl6ZSBhbHRlcm5hdGUgb2JqZWN0IHBhdGg6ICVzIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjUwMworIzogc2hhMS1maWxlLmM6NTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpZ25vcmluZyBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlcywgbmVzdGluZyB0b28gZGVlcCIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzo1MTAKKyM6IHNoYTEtZmlsZS5jOjU4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbm9ybWFsaXplIG9iamVjdCBkaXJlY3Rvcnk6ICVzIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjU2NQorIzogc2hhMS1maWxlLmM6NjI2CiBtc2dpZCAidW5hYmxlIHRvIGZkb3BlbiBhbHRlcm5hdGVzIGxvY2tmaWxlIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjU4MworIzogc2hhMS1maWxlLmM6NjQ0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgYWx0ZXJuYXRlcyBmaWxlIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjU5MAorIzogc2hhMS1maWxlLmM6NjUxCiBtc2dpZCAidW5hYmxlIHRvIG1vdmUgbmV3IGFsdGVybmF0ZXMgZmlsZSBpbnRvIHBsYWNlIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjYyNQorIzogc2hhMS1maWxlLmM6Njg2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi0L/Rg9GC0Ywgwqslc8K7INC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCiAKLSM6IHNoYTEtZmlsZS5jOjY1MQorIzogc2hhMS1maWxlLmM6NzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgYXMgYSBsaW5rZWQgY2hlY2tvdXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuIgogbXNnc3RyICLRgdGB0YvQu9Cw0LXQvNGL0Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDCqyVzwrsg0LrQsNC6INGB0LLRj9C30LDQvdC90L7QtSDRgdC+0YHRgtC+0Y/QvdC40LUsINC/0L7QutCwINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjy4iCiAKLSM6IHNoYTEtZmlsZS5jOjY1NworIzogc2hhMS1maWxlLmM6NzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgbm90IGEgbG9jYWwgcmVwb3NpdG9yeS4iCiBtc2dzdHIgItGB0YHRi9C70LDQtdC80YvQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5IMKrJXPCuyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LvQvtC60LDQu9GM0L3Ri9C8LiIKIAotIzogc2hhMS1maWxlLmM6NjYzCisjOiBzaGExLWZpbGUuYzo3MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IgogbXNnc3RyICLRgdGB0YvQu9Cw0LXQvNGL0Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDCqyVzwrsg0Y/QstC70Y/QtdGC0YHRjyDRh9Cw0YHRgtC40YfQvdGL0LwiCiAKLSM6IHNoYTEtZmlsZS5jOjY3MQorIzogc2hhMS1maWxlLmM6NzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKIG1zZ3N0ciAi0YHRgdGL0LvQsNC10LzRi9C5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkgwqslc8K7INGP0LLQu9GP0LXRgtGB0Y8g0YHRgNCw0YnQtdC90L3Ri9C8IgogCi0jOiBzaGExLWZpbGUuYzo3ODEKKyM6IHNoYTEtZmlsZS5jOjg0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJhdHRlbXB0aW5nIHRvIG1tYXAgJTxQUkl1TUFYPiBvdmVyIGxpbWl0ICU8UFJJdU1BWD4iCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6ODA2CisjOiBzaGExLWZpbGUuYzo4NzEKIG1zZ2lkICJtbWFwIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzo5NzMKKyM6IHNoYTEtZmlsZS5jOjEwMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IGZpbGUgJXMgaXMgZW1wdHkiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTA5MyBzaGExLWZpbGUuYzoyMjA2CisjOiBzaGExLWZpbGUuYzoxMTU5IHNoYTEtZmlsZS5jOjIyOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBsb29zZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzoxMDk1IHNoYTEtZmlsZS5jOjIyMTAKKyM6IHNoYTEtZmlsZS5jOjExNjEgc2hhMS1maWxlLmM6MjMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJnYXJiYWdlIGF0IGVuZCBvZiBsb29zZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzoxMTM3CisjOiBzaGExLWZpbGUuYzoxMjAzCiBtc2dpZCAiaW52YWxpZCBvYmplY3QgdHlwZSIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzoxMjE5CisjOiBzaGExLWZpbGUuYzoxMjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1bnBhY2sgJXMgaGVhZGVyIHdpdGggLS1hbGxvdy11bmtub3duLXR5cGUiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTIyMgorIzogc2hhMS1maWxlLmM6MTI5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdW5wYWNrICVzIGhlYWRlciIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzoxMjI4CisjOiBzaGExLWZpbGUuYzoxMjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAlcyBoZWFkZXIgd2l0aCAtLWFsbG93LXVua25vd24tdHlwZSIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzoxMjMxCisjOiBzaGExLWZpbGUuYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAlcyBoZWFkZXIiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTQyMgorIzogc2hhMS1maWxlLmM6MTQ5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTQyNgorIzogc2hhMS1maWxlLmM6MTQ5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBsYWNlbWVudCAlcyBub3QgZm91bmQgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjE0MzAKKyM6IHNoYTEtZmlsZS5jOjE0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9vc2Ugb2JqZWN0ICVzIChzdG9yZWQgaW4gJXMpIGlzIGNvcnJ1cHQiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTQzNAorIzogc2hhMS1maWxlLmM6MTUwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZWQgb2JqZWN0ICVzIChzdG9yZWQgaW4gJXMpIGlzIGNvcnJ1cHQiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTUzNgorIzogc2hhMS1maWxlLmM6MTYwNAogIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc2hhMSBmaWxlbmFtZSAlcyIKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzoxNTQzCisjOiBzaGExLWZpbGUuYzoxNjExCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBzZXQgcGVybWlzc2lvbiB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjE1NTAKKyM6IHNoYTEtZmlsZS5jOjE2MTgKIG1zZ2lkICJmaWxlIHdyaXRlIGVycm9yIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjE1NjkKLW1zZ2lkICJlcnJvciB3aGVuIGNsb3Npbmcgc2hhMSBmaWxlIgorIzogc2hhMS1maWxlLmM6MTYzNworbXNnaWQgImVycm9yIHdoZW4gY2xvc2luZyBsb29zZSBvYmplY3QgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzoxNjM1CisjOiBzaGExLWZpbGUuYzoxNzAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImluc3VmZmljaWVudCBwZXJtaXNzaW9uIGZvciBhZGRpbmcgYW4gb2JqZWN0IHRvIHJlcG9zaXRvcnkgZGF0YWJhc2UgJXMiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTYzNworIzogc2hhMS1maWxlLmM6MTcwNAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTY2MQotbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzaGExIGZpbGUiCisjOiBzaGExLWZpbGUuYzoxNzI4Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGxvb3NlIG9iamVjdCBmaWxlIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjE2NjcKKyM6IHNoYTEtZmlsZS5jOjE3MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgbmV3IG9iamVjdCAlcyAoJWQpIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjE2NzEKKyM6IHNoYTEtZmlsZS5jOjE3MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZUVuZCBvbiBvYmplY3QgJXMgZmFpbGVkICglZCkiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTY3NQorIzogc2hhMS1maWxlLmM6MTc0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb25mdXNlZCBieSB1bnN0YWJsZSBvYmplY3Qgc291cmNlIGRhdGEgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjE2ODUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4OTkKKyM6IHNoYTEtZmlsZS5jOjE3NTIgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHV0aW1lKCkgb24gJXMiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTc2MAorIzogc2hhMS1maWxlLmM6MTgyNwogIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgcmVhZCBzaGExX2ZpbGUgZm9yICVzIgorbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTgwNQorIzogc2hhMS1maWxlLmM6MTg2NwogbXNnaWQgImNvcnJ1cHQgY29tbWl0IgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjE4MTMKKyM6IHNoYTEtZmlsZS5jOjE4NzUKIG1zZ2lkICJjb3JydXB0IHRhZyIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLWZpbGUuYzoxOTA2CisjOiBzaGExLWZpbGUuYzoxOTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZXJyb3Igd2hpbGUgaW5kZXhpbmcgJXMiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTkwOQorIzogc2hhMS1maWxlLmM6MTk3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzaG9ydCByZWFkIHdoaWxlIGluZGV4aW5nICVzIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjE5ODAgc2hhMS1maWxlLmM6MTk4OQorIzogc2hhMS1maWxlLmM6MjA1MCBzaGExLWZpbGUuYzoyMDU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5zZXJ0IGludG8gZGF0YWJhc2UiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MTk5NQorIzogc2hhMS1maWxlLmM6MjA2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5zdXBwb3J0ZWQgZmlsZSB0eXBlIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjIwMTkKKyM6IHNoYTEtZmlsZS5jOjIwODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgb2JqZWN0IgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjIwMjEKKyM6IHNoYTEtZmlsZS5jOjIwOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgJyVzJyBvYmplY3QiCiBtc2dzdHIgIiVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3Ri9C8INC+0LHRitC10LrRgtC+0Lwgwqslc8K7IgogCi0jOiBzaGExLWZpbGUuYzoyMDQ4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OAorIzogc2hhMS1maWxlLmM6MjExOCBidWlsdGluL2luZGV4LXBhY2suYzoxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0YwgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjIyMTcgc2hhMS1maWxlLmM6MjI2OQorIzogc2hhMS1maWxlLmM6MjMwOCBzaGExLWZpbGUuYzoyMzYwCiAjLCBjLWZvcm1hdAotbXNnaWQgInNoYTEgbWlzbWF0Y2ggZm9yICVzIChleHBlY3RlZCAlcykiCi1tc2dzdHIgIiIKK21zZ2lkICJoYXNoIG1pc21hdGNoIGZvciAlcyAoZXhwZWN0ZWQgJXMpIgorbXNnc3RyICLQvdC10YHQvtC+0YLQstC10YLRgdGC0LLQuNC1INGF0LXRiC3RgdGD0LzQvNGLICVzICjQvtC20LjQtNCw0LXRgtGB0Y8gJXMpIgogCi0jOiBzaGExLWZpbGUuYzoyMjQxCisjOiBzaGExLWZpbGUuYzoyMzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBtbWFwICVzIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjIyNDYKKyM6IHNoYTEtZmlsZS5jOjIzMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayBoZWFkZXIgb2YgJXMiCiBtc2dzdHIgIiIKIAotIzogc2hhMS1maWxlLmM6MjI1MgorIzogc2hhMS1maWxlLmM6MjM0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgaGVhZGVyIG9mICVzIgogbXNnc3RyICIiCiAKLSM6IHNoYTEtZmlsZS5jOjIyNjMKKyM6IHNoYTEtZmlsZS5jOjIzNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayBjb250ZW50cyBvZiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzaGExLW5hbWUuYzo0NDQKKyM6IHNoYTEtbmFtZS5jOjQ5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJzaG9ydCBTSEExICVzIGlzIGFtYmlndW91cyIKIG1zZ3N0ciAi0YHQvtC60YDQsNGJ0ZHQvdC90YvQuSBTSEExINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAICVzINC90LXQvtC00L3QvtC30L3QsNGH0LXQvSIKIAotIzogc2hhMS1uYW1lLmM6NDU1CisjOiBzaGExLW5hbWUuYzo1MDEKIG1zZ2lkICJUaGUgY2FuZGlkYXRlcyBhcmU6IgogbXNnc3RyICLQktC+0LfQvNC+0LbQvdC+LCDQstGLINC40LzQtdC70Lgg0LIg0LLQuNC00YM6IgogCi0jOiBzaGExLW5hbWUuYzo2OTkKKyM6IHNoYTEtbmFtZS5jOjgwMAogbXNnaWQgIiIKICJHaXQgbm9ybWFsbHkgbmV2ZXIgY3JlYXRlcyBhIHJlZiB0aGF0IGVuZHMgd2l0aCA0MCBoZXggY2hhcmFjdGVyc1xuIgogImJlY2F1c2UgaXQgd2lsbCBiZSBpZ25vcmVkIHdoZW4geW91IGp1c3Qgc3BlY2lmeSA0MC1oZXguIFRoZXNlIHJlZnNcbiIKQEAgLTUwMzYsOTYgKzY1NjQsOTAgQEAKICJydW5uaW5nIFwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIiIKIG1zZ3N0ciAi0J7QsdGL0YfQvdC+IEdpdCDQvdC1INGB0L7Qt9C00LDQtdGCINGB0YHRi9C70LrQuCwg0L7QutCw0L3Rh9C40LLQsNGO0YnQuNC10YHRjyDQvdCwIDQwINGI0LXRgdGC0L3QsNC00YbQsNGC0LXRgNC40YfQvdGL0YVcbtGB0LjQvNCy0L7Qu9C+0LIsINC/0L7RgtC+0LzRgywg0YfRgtC+INC+0L3QuCDQsdGD0LTRg9GCINC40LPQvdC+0YDQuNGA0L7QstCw0YLRjNGB0Y8sINC60L7Qs9C00LAg0LLRiyDQv9GA0L7RgdGC0L5cbtGD0LrQsNC20LXRgtC1INGN0YLQviA0MC3RgdC40LzQstC+0LvRjNC90L7QtSDRiNC10YHRgtC90LDQtNGG0LDRgtC10YDQuNGH0L3QvtC1INGH0LjRgdC70L4uINCi0LDQutC40LUg0YHRgdGL0LvQutC4XG7QvNC+0LPQu9C4INCx0YvRgtGMINGB0L7Qt9C00LDQvdGLINC/0L4g0L7RiNC40LHQutC1LiDQndCw0L/RgNC40LzQtdGALCDRgSDQv9C+0LzQvtGJ0YzRjjpcblxuICBnaXQgY2hlY2tvdXQgLWIgJGJyICQoZ2l0IHJldi1wYXJzZSDigKYpXG5cbiwg0LXRgdC70LggwqskYnLCuyDQvtC60LDQt9Cw0LvRgdGPINC/0YPRgdGC0YvQvCwg0YLQviDRgdGB0YvQu9C60LAg0YEgNDAt0YHQuNC80LLQvtC70YzQvdGL0LxcbtGI0LXRgdGC0L3QsNC00YbQsNGC0LXRgNC40YfQvdGL0Lwg0YfQuNGB0LvQvtC8INCx0YPQtNC10YIg0YHQvtC30LTQsNC90LAuINCf0L7QttCw0LvRg9C50YHRgtCwLCDQv9GA0L7RgdC80L7RgtGA0LjRgtC1INGN0YLQuFxu0YHRgdGL0LvQutC4INC4LCDQstC+0LfQvNC+0LbQvdC+LCDRg9C00LDQu9C40YLQtSDQuNGFLiDQktGLINC80L7QttC10YLQtSDQvtGC0LrQu9GO0YfQuNGC0Ywg0Y3RgtC+INGB0L7QvtCx0YnQtdC90LjQtVxu0LfQsNC/0YPRgdGC0LjQsiDCq2dpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNlwrsiCiAKLSM6IHN1Ym1vZHVsZS5jOjk3IHN1Ym1vZHVsZS5jOjEzMQorIzogc3VibW9kdWxlLmM6MTE0IHN1Ym1vZHVsZS5jOjE0MwogbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC40LfQvNC10L3QuNGC0Ywg0L3QtSDRgdC70LjRgtGL0LkgLmdpdG1vZHVsZXMsINGB0L3QsNGH0LDQu9CwINGA0LDQt9GA0LXRiNC40YLQtSDQutC+0L3RhNC70LjQutGC0YsiCiAKLSM6IHN1Ym1vZHVsZS5jOjEwMSBzdWJtb2R1bGUuYzoxMzUKKyM6IHN1Ym1vZHVsZS5jOjExOCBzdWJtb2R1bGUuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgc2VjdGlvbiBpbiAuZ2l0bW9kdWxlcyB3aGVyZSBwYXRoPSVzIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0YDQsNC30LTQtdC7INCyIC5naXRtb2R1bGVzLCDQs9C00LUg0L/Rg9GC0Ywg0YDQsNCy0LXQvSAlcyIKIAotIzogc3VibW9kdWxlLmM6MTA5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgLmdpdG1vZHVsZXMgZW50cnkgJXMiCi1tc2dzdHIgIiDQndC1INGD0LTQsNC70L7RgdGMINC+0LHQvdC+0LLQuNGC0YwgLmdpdG1vZHVsZXMg0LfQsNC/0LjRgdGMICVzIgotCi0jOiBzdWJtb2R1bGUuYzoxNDIKKyM6IHN1Ym1vZHVsZS5jOjE1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIC5naXRtb2R1bGVzIGVudHJ5IGZvciAlcyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCDQt9Cw0L/QuNGB0Ywg0LIgLmdpdG1vZHVsZXMg0LTQu9GPICVzIgogCi0jOiBzdWJtb2R1bGUuYzoxNTMKKyM6IHN1Ym1vZHVsZS5jOjE2NQogbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC40Y8g0L7QsdC90L7QstC70LXQvdC90L7Qs9C+IC5naXRtb2R1bGVzIgogCi0jOiBzdWJtb2R1bGUuYzozMTUKKyM6IHN1Ym1vZHVsZS5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbiB1bnBvcHVsYXRlZCBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAi0LIg0L/Rg9GB0YLQvtC8INC/0L7QtNC80L7QtNGD0LvQtSDCqyVzwrsiCiAKLSM6IHN1Ym1vZHVsZS5jOjM0NgorIzogc3VibW9kdWxlLmM6MzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhdGhzcGVjICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKIG1zZ3N0ciAi0KHQv9C10YbQuNGE0LjQutCw0YLQvtGAINC/0YPRgtC4IMKrJXPCuyDQsiDQv9C+0LTQvNC+0LTRg9C70LUgwqslLipzwrsiCiAKLSM6IHN1Ym1vZHVsZS5jOjgzOQorIzogc3VibW9kdWxlLmM6OTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgInN1Ym1vZHVsZSBlbnRyeSAnJXMnICglcykgaXMgYSAlcywgbm90IGEgY29tbWl0IgogbXNnc3RyICLQt9Cw0L/QuNGB0Ywg0L/QvtC00LzQvtC00YPQu9GPIMKrJXPCuyAoJXMpINGP0LLQu9GP0LXRgtGB0Y8gJXMsINCwINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQutC+0LzQvNC40YLQvtC8IgogCi0jOiBzdWJtb2R1bGUuYzoxMDcxIGJ1aWx0aW4vYnJhbmNoLmM6NjYyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODg4CisjOiBzdWJtb2R1bGUuYzoxMTQ3IGJ1aWx0aW4vYnJhbmNoLmM6NjcyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTg4CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgSEVBRCBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0YwgSEVBRCDQutCw0Log0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YPRjiDRgdGB0YvQu9C60YMuIgogCi0jOiBzdWJtb2R1bGUuYzoxMzc3CisjOiBzdWJtb2R1bGUuYzoxNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBhY2Nlc3Mgc3VibW9kdWxlICclcyciCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLmM6MTY1MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIG5vdCByZWNvZ25pemVkIGFzIGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIsKrJXPCuyDQvdC1INGA0LDRgdC/0L7Qt9C90LDQvSDQutCw0Log0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSBnaXQiCiAKLSM6IHN1Ym1vZHVsZS5jOjE1MTUKKyM6IHN1Ym1vZHVsZS5jOjE3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXJ0ICdnaXQgc3RhdHVzJyBpbiBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/Rg9GB0YLQuNGC0YwgwqtnaXQgc3RhdHVzwrsg0LIg0L/QvtC00LzQvtC00YPQu9C1IMKrJXPCuyIKIAotIzogc3VibW9kdWxlLmM6MTUyOAorIzogc3VibW9kdWxlLmM6MTgwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcnVuICdnaXQgc3RhdHVzJyBpbiBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/Rg9GB0YLQuNGC0YwgwqtnaXQgc3RhdHVzwrsg0LIg0L/QvtC00LzQvtC00YPQu9C1IMKrJXPCuyIKIAotIzogc3VibW9kdWxlLmM6MTU0MworIzogc3VibW9kdWxlLmM6MTgxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgdW5zZXQgY29yZS53b3JrdHJlZSBzZXR0aW5nIGluIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHN1Ym1vZHVsZS5jOjE2MzMKKyM6IHN1Ym1vZHVsZS5jOjE5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3VibW9kdWxlICclcycgaGFzIGRpcnR5IGluZGV4IgogbXNnc3RyICLQv9C+0LTQvNC+0LTRg9C70Ywgwqslc8K7INC40LzQtdC10YIg0LjQt9C80LXQvdGR0L3QvdGL0Lkg0LjQvdC00LXQutGBIgogCi0jOiBzdWJtb2R1bGUuYzoxNjg1CisjOiBzdWJtb2R1bGUuYzoxOTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJXMnIGNvdWxkIG5vdCBiZSB1cGRhdGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBzdWJtb2R1bGUuYzoxNzM0CisjOiBzdWJtb2R1bGUuYzoyMDA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJyZWxvY2F0ZV9naXRkaXIgZm9yIHN1Ym1vZHVsZSAnJXMnIHdpdGggbW9yZSB0aGFuIG9uZSB3b3JrdHJlZSBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJyZWxvY2F0ZV9naXRkaXIg0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDCqyVzwrsg0YEg0YPQutCw0LfQsNC90LjQtdC8INCx0L7Qu9C10LUg0L7QtNC90L7Qs9C+INGA0LDQsdC+0YfQtdCz0L4g0LTQtdGA0LXQstCwINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjyIKIAotIzogc3VibW9kdWxlLmM6MTc0NiBzdWJtb2R1bGUuYzoxODAyCisjOiBzdWJtb2R1bGUuYzoyMDIwIHN1Ym1vZHVsZS5jOjIwNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBuYW1lIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/RgNC+0YHQuNGC0Ywg0LjQvNGPINC/0L7QtNC80L7QtNGD0LvRjyDCqyVzwrsiCiAKLSM6IHN1Ym1vZHVsZS5jOjE3NTAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MDYKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDE2Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCi1tc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LrQsNGC0LDQu9C+0LMgwqslc8K7IgotCi0jOiBzdWJtb2R1bGUuYzoxNzUzCisjOiBzdWJtb2R1bGUuYzoyMDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJNaWdyYXRpbmcgZ2l0IGRpcmVjdG9yeSBvZiAnJXMlcycgZnJvbVxuIgpAQCAtNTEzMywzNCArNjY1NSw0NCBAQAogIiclcydcbiIKIG1zZ3N0ciAi0J/QtdGA0LXQvNC10YnQtdC90LjQtSDQutCw0YLQsNC70L7Qs9CwIGdpdCDQtNC70Y8gwqslcyVzwrsg0LjQt1xuwqslc8K7INCyXG7CqyVzwrtcbiIKIAotIzogc3VibW9kdWxlLmM6MTgzNworIzogc3VibW9kdWxlLmM6MjExMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LXQutGD0YDRgdC40LLQvdC+INC30LDQudGC0Lgg0LIg0L/QvtC00LzQvtC00YPQu9GMIMKrJXPCuyIKIAotIzogc3VibW9kdWxlLmM6MTg4MQorIzogc3VibW9kdWxlLmM6MjE1NQogbXNnaWQgImNvdWxkIG5vdCBzdGFydCBscy1maWxlcyBpbiAuLiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywgc3RhdCBscy1maWxlcyDQsiAuLiIKIAotIzogc3VibW9kdWxlLmM6MTkyMAorIzogc3VibW9kdWxlLmM6MjE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJscy10cmVlIHJldHVybmVkIHVuZXhwZWN0ZWQgcmV0dXJuIGNvZGUgJWQiCiBtc2dzdHIgImxzLXRyZWUg0LLQtdGA0L3Rg9C7INC90LXQvtC20LjQtNCw0L3QvdGL0Lkg0LrQvtC0ICVkIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6MjMxCisjOiBzdWJtb2R1bGUtY29uZmlnLmM6MjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHN1c3BpY2lvdXMgc3VibW9kdWxlIG5hbWU6ICVzIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNGD0Y4g0L/QvtC00L7Qt9GA0LjRgtC10LvRjNC90YvQuSDQv9C+0LTQvNC+0LTRg9C70Ywg0YEg0LjQvNC10L3QtdC8OiAlcyIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjI5NQorIzogc3VibW9kdWxlLWNvbmZpZy5jOjI5OQogbXNnaWQgIm5lZ2F0aXZlIHZhbHVlcyBub3QgYWxsb3dlZCBmb3Igc3VibW9kdWxlLmZldGNoam9icyIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtGC0YDQuNGG0LDRgtC10LvRjNC90YvQtSDQt9C90LDRh9C10L3QuNGPINC00LvRjyBzdWJtb2R1bGUuZmV0Y2hqb2JzIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6NDY4CisjOiBzdWJtb2R1bGUtY29uZmlnLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nICclcycgd2hpY2ggbWF5IGJlIGludGVycHJldGVkIGFzIGEgY29tbWFuZC1saW5lIG9wdGlvbjogJXMiCittc2dzdHIgIiIKKworIzogc3VibW9kdWxlLWNvbmZpZy5jOjQ4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUgJXMiCiAKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIKK21zZ3N0ciAiINCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCAuZ2l0bW9kdWxlcyDQt9Cw0L/QuNGB0YwgJXMiCisKICM6IHRyYWlsZXIuYzoyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVubmluZyB0cmFpbGVyIGNvbW1hbmQgJyVzJyBmYWlsZWQiCkBAIC01MTcyLDcgKzY3MDQsNyBAQAogbXNnaWQgInVua25vd24gdmFsdWUgJyVzJyBmb3Iga2V5ICclcyciCiBtc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDCqyVzwrsg0LTQu9GPINC60LvRjtGH0LAgwqslc8K7IgogCi0jOiB0cmFpbGVyLmM6NTM5IHRyYWlsZXIuYzo1NDQgYnVpbHRpbi9yZW1vdGUuYzoyOTQKKyM6IHRyYWlsZXIuYzo1MzkgdHJhaWxlci5jOjU0NCBidWlsdGluL3JlbW90ZS5jOjI5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtb3JlIHRoYW4gb25lICVzIgogbXNnc3RyICLQsdC+0LvRjNGI0LUg0L7QtNC90L7Qs9C+ICVzIgpAQCAtNTE5MSwyNiArNjcyMywyNiBAQAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINC40Lcg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LAiCiAKLSM6IHRyYWlsZXIuYzoxMDA4IGJ1aWx0aW4vYW0uYzo0NworIzogdHJhaWxlci5jOjEwMTEgd3JhcHBlci5jOjcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywgc3RhdCDQtNC70Y8gJXMiCiAKLSM6IHRyYWlsZXIuYzoxMDEwCisjOiB0cmFpbGVyLmM6MTAxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGlzIG5vdCBhIHJlZ3VsYXIgZmlsZSIKIG1zZ3N0ciAi0YTQsNC50LsgJXMg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC+0LHRi9GH0L3Ri9C8INGE0LDQudC70L7QvCIKIAotIzogdHJhaWxlci5jOjEwMTIKKyM6IHRyYWlsZXIuYzoxMDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaXMgbm90IHdyaXRhYmxlIGJ5IHVzZXIiCiBtc2dzdHIgItGE0LDQudC7ICVzINC90LUg0LTQvtGB0YLRg9C/0LXQvSDQvdCwINC30LDQv9C40YHRjCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y4iCiAKLSM6IHRyYWlsZXIuYzoxMDI0CisjOiB0cmFpbGVyLmM6MTAyNwogbXNnaWQgImNvdWxkIG5vdCBvcGVuIHRlbXBvcmFyeSBmaWxlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINCy0YDQtdC80LXQvdC90YvQuSDRhNCw0LnQuyIKIAotIzogdHJhaWxlci5jOjEwNjQKKyM6IHRyYWlsZXIuYzoxMDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgdGVtcG9yYXJ5IGZpbGUgdG8gJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0Ywg0LLRgNC10LzQtdC90L3Ri9C5INGE0LDQudC7INCyICVzIgpAQCAtNTIzMCwzNiArNjc2Miw0NCBAQAogbXNnaWQgInRyYW5zcG9ydDogaW52YWxpZCBkZXB0aCBvcHRpb24gJyVzJyIKIG1zZ3N0ciAi0YLRgNCw0L3RgdC/0L7RgNGCOiDQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0L/QsNGA0LDQvNC10YLRgCDQs9C70YPQsdC40L3RiyDCqyVzwrsiCiAKLSM6IHRyYW5zcG9ydC5jOjU4NgorIzogdHJhbnNwb3J0LmM6MjU5Cittc2dpZCAic2VlIHByb3RvY29sLnZlcnNpb24gaW4gJ2dpdCBoZWxwIGNvbmZpZycgZm9yIG1vcmUgZGV0YWlscyIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQuYzoyNjAKK21zZ2lkICJzZXJ2ZXIgb3B0aW9ucyByZXF1aXJlIHByb3RvY29sIHZlcnNpb24gMiBvciBsYXRlciIKK21zZ3N0ciAiIgorCisjOiB0cmFuc3BvcnQuYzo2MjUKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgdHJhbnNwb3J0LmNvbG9yLiogY29uZmlnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDQvtC/0YbQuNGOIHRyYW5zcG9ydC5jb2xvci4qIgogCi0jOiB0cmFuc3BvcnQuYzo2NTkKKyM6IHRyYW5zcG9ydC5jOjY5OAogbXNnaWQgInN1cHBvcnQgZm9yIHByb3RvY29sIHYyIG5vdCBpbXBsZW1lbnRlZCB5ZXQiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LmM6Nzg1CisjOiB0cmFuc3BvcnQuYzo4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biB2YWx1ZSBmb3IgY29uZmlnICclcyc6ICVzIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC5jOjg1MQorIzogdHJhbnNwb3J0LmM6ODkxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYW5zcG9ydCAnJXMnIG5vdCBhbGxvd2VkIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC5jOjkwMworIzogdHJhbnNwb3J0LmM6OTQ1CiBtc2dpZCAiZ2l0LW92ZXItcnN5bmMgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQuYzo5OTgKKyM6IHRyYW5zcG9ydC5jOjEwNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIHBhdGhzIGNvbnRhaW4gY2hhbmdlcyB0aGF0IGNhblxuIgogIm5vdCBiZSBmb3VuZCBvbiBhbnkgcmVtb3RlOlxuIgogbXNnc3RyICLQn9C+0LTQvNC+0LTRg9C70Lgg0L/QviDRg9C60LDQt9Cw0L3QvdGL0Lwg0L/Rg9GC0Y/QvCDRgdC+0LTQtdGA0LbQsNGCINC40LfQvNC10L3QtdC90LjRjywg0LrQvtGC0L7RgNGL0LUg0L3QtSDQvdCw0LnQtNC10L3RiyDQvdC4INC90LAg0L7QtNC90L7QvCDQuNC3INCy0L3QtdGI0L3QuNGFINGA0LXQv9C+0LfQuNGC0L7RgNC40LXQsjpcbiIKIAotIzogdHJhbnNwb3J0LmM6MTAwMgorIzogdHJhbnNwb3J0LmM6MTA0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC01Mjc1LDE5ICs2ODE1LDE5IEBACiAiXG4iCiBtc2dzdHIgIlxu0J/QvtC/0YDQvtCx0YPQudGC0LUg0LLRi9C/0L7Qu9C90LjRgtGMXG5cblx0Z2l0IHB1c2ggLS1yZWN1cnNlLXN1Ym1vZHVsZXM9b24tZGVtYW5kXG5cbtC40LvQuCDQv9C10YDQtdC50YLQuCDQsiDQutCw0YLQsNC70L7QsyDRgSDQv9C+0LzQvtGJ0YzRjiDQutC+0LzQsNC90LTRiyBjZCDQuCDQstGL0L/QvtC70L3QuNGC0YxcblxuXHRnaXQgcHVzaFxuXG7QtNC70Y8g0LjRhSDQvtGC0L/RgNCw0LLQutC4INC90LAg0LLQvdC10YjQvdC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuS5cbiIKIAotIzogdHJhbnNwb3J0LmM6MTAxMAorIzogdHJhbnNwb3J0LmM6MTA1MgogbXNnaWQgIkFib3J0aW5nLiIKIG1zZ3N0ciAi0J/RgNC10YDRi9Cy0LDRji4iCiAKLSM6IHRyYW5zcG9ydC5jOjExNDgKKyM6IHRyYW5zcG9ydC5jOjExOTMKIG1zZ2lkICJmYWlsZWQgdG8gcHVzaCBhbGwgbmVlZGVkIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LmM6MTI3MCB0cmFuc3BvcnQtaGVscGVyLmM6NjQzCisjOiB0cmFuc3BvcnQuYzoxMzI2IHRyYW5zcG9ydC1oZWxwZXIuYzo2NDUKIG1zZ2lkICJvcGVyYXRpb24gbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQuYzoxMzUyCisjOiB0cmFuc3BvcnQuYzoxNDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbGluZSB3aGlsZSBwYXJzaW5nIGFsdGVybmF0ZSByZWZzOiAlcyIKIG1zZ3N0ciAiIgpAQCAtNTI5NiwxNjIgKzY4MzYsMTYyIEBACiBtc2dpZCAiZnVsbCB3cml0ZSB0byByZW1vdGUgaGVscGVyIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTMyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBmaW5kIHJlbW90ZSBoZWxwZXIgZm9yICclcyciCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjE0OCB0cmFuc3BvcnQtaGVscGVyLmM6NTU3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTUwIHRyYW5zcG9ydC1oZWxwZXIuYzo1NTkKIG1zZ2lkICJjYW4ndCBkdXAgaGVscGVyIG91dHB1dCBmZCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTk5CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ1bmtub3duIG1hbmRhdG9yeSBjYXBhYmlsaXR5ICVzOyB0aGlzIHJlbW90ZSBoZWxwZXIgcHJvYmFibHkgbmVlZHMgbmV3ZXIgIgogInZlcnNpb24gb2YgR2l0IgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoyMDUKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoyMDcKIG1zZ2lkICJ0aGlzIHJlbW90ZSBoZWxwZXIgc2hvdWxkIGltcGxlbWVudCByZWZzcGVjIGNhcGFiaWxpdHkiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjI3MiB0cmFuc3BvcnQtaGVscGVyLmM6NDEyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6Mjc0IHRyYW5zcG9ydC1oZWxwZXIuYzo0MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdW5leHBlY3RlZGx5IHNhaWQ6ICclcyciCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjQwMQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjQwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBhbHNvIGxvY2tlZCAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NDc5CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NDgxCiBtc2dpZCAiY291bGRuJ3QgcnVuIGZhc3QtaW1wb3J0IgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MDIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MDQKIG1zZ2lkICJlcnJvciB3aGlsZSBydW5uaW5nIGZhc3QtaW1wb3J0IgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MzEgdHJhbnNwb3J0LWhlbHBlci5jOjEwOTEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MzMgdHJhbnNwb3J0LWhlbHBlci5jOjEwOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgcmVmICVzIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1NzYKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biByZXNwb25zZSB0byBjb25uZWN0OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NTk4CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjAwCiBtc2dpZCAic2V0dGluZyByZW1vdGUgc2VydmljZSBwYXRoIG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjYwMAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjYwMgogbXNnaWQgImludmFsaWQgcmVtb3RlIHNlcnZpY2UgcGF0aCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NjQ2CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IGNvbm5lY3QgdG8gc3Vic2VydmljZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NzEzCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIG9rL2Vycm9yLCBoZWxwZXIgc2FpZCAnJXMnIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo3NjYKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo3NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyIHJlcG9ydGVkIHVuZXhwZWN0ZWQgc3RhdHVzIG9mICVzIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4MjcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgZHJ5LXJ1biIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6ODMwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4MzMKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQ9aWYtYXNrZWQiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjg0MAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAncHVzaC1vcHRpb24nIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5MzIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5MzkKIG1zZ2lkICJyZW1vdGUtaGVscGVyIGRvZXNuJ3Qgc3VwcG9ydCBwdXNoOyByZWZzcGVjIG5lZWRlZCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6OTM3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6OTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0ICdmb3JjZSciCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjk4NAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjk5MQogbXNnaWQgImNvdWxkbid0IHJ1biBmYXN0LWV4cG9ydCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6OTg5CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6OTk2CiBtc2dpZCAiZXJyb3Igd2hpbGUgcnVubmluZyBmYXN0LWV4cG9ydCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTAxNAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIHJlZnMgaW4gY29tbW9uIGFuZCBub25lIHNwZWNpZmllZDsgZG9pbmcgbm90aGluZy5cbiIKICJQZXJoYXBzIHlvdSBzaG91bGQgc3BlY2lmeSBhIGJyYW5jaCBzdWNoIGFzICdtYXN0ZXInLlxuIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDc3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTA4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgcmVzcG9uc2UgaW4gcmVmIGxpc3Q6ICVzIgogbXNnc3RyICIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMjMwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkKCVzKSBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEyNTcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndyaXRlKCVzKSBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMDYKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHRocmVhZCBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMTAKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHRocmVhZCBmYWlsZWQgdG8gam9pbjogJXMiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMjkgdHJhbnNwb3J0LWhlbHBlci5jOjEzMzMKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzM3IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IHN0YXJ0IHRocmVhZCBmb3IgY29weWluZyBkYXRhOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM3MAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcHJvY2VzcyBmYWlsZWQgdG8gd2FpdCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM3NAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcHJvY2VzcyBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzOTIgdHJhbnNwb3J0LWhlbHBlci5jOjE0MDEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDAwIHRyYW5zcG9ydC1oZWxwZXIuYzoxNDA5CiBtc2dpZCAiY2FuJ3Qgc3RhcnQgdGhyZWFkIGZvciBjb3B5aW5nIGRhdGEiCiBtc2dzdHIgIiIKIApAQCAtNTQ2NywxODUgKzcwMDcsMTkyIEBACiBtc2dpZCAiZW1wdHkgZmlsZW5hbWUgaW4gdHJlZSBlbnRyeSIKIG1zZ3N0ciAi0L/Rg9GB0YLQvtC1INC40LzRjyDRhNCw0LnQu9CwINCyINC30LDQv9C40YHQuCDQtNC10YDQtdCy0LAiCiAKLSM6IHRyZWUtd2Fsay5jOjExNQorIzogdHJlZS13YWxrLmM6MTE2CiBtc2dpZCAidG9vLXNob3J0IHRyZWUgZmlsZSIKIG1zZ3N0ciAi0YHQu9C40YjQutC+0LwgINC60L7RgNC+0YLQutC40Lkg0YTQsNC50Lsg0LTQtdGA0LXQstCwIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTIKKyM6IHVucGFjay10cmVlcy5jOjExMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCiAiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCiBtc2dzdHIgItCS0LDRiNC4INC70L7QutCw0LvRjNC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0LIg0YPQutCw0LfQsNC90L3Ri9GFINGE0LDQudC70LDRhSDQsdGD0LTRg9GCINC/0LXRgNC10LfQsNC/0LjRgdCw0L3RiyDQv9GA0Lgg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC4INC90LAg0YHQvtGB0YLQvtGP0L3QuNC1OlxuJSVz0KHQtNC10LvQsNC50YLQtSDQutC+0LzQvNC40YIg0LjQu9C4INGB0L/RgNGP0YfRjNGC0LUg0LLQsNGI0Lgg0LjQt9C80LXQvdC10L3QuNGPINC/0LXRgNC10LQg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC10Lwg0LLQtdGC0L7Qui4iCiAKLSM6IHVucGFjay10cmVlcy5jOjExNAorIzogdW5wYWNrLXRyZWVzLmM6MTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKICIlJXMiCiBtc2dzdHIgItCS0LDRiNC4INC70L7QutCw0LvRjNC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0LIg0YPQutCw0LfQsNC90L3Ri9GFINGE0LDQudC70LDRhSDQsdGD0LTRg9GCINC/0LXRgNC10LfQsNC/0LjRgdCw0L3RiyDQv9GA0Lgg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC4INC90LAg0YHQvtGB0YLQvtGP0L3QuNC1OlxuJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTcKKyM6IHVucGFjay10cmVlcy5jOjExNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCiAiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKIG1zZ3N0ciAi0JLQsNGI0Lgg0LvQvtC60LDQu9GM0L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQsiDRg9C60LDQt9Cw0L3QvdGL0YUg0YTQsNC50LvQsNGFINCx0YPQtNGD0YIg0L/QtdGA0LXQt9Cw0L/QuNGB0LDQvdGLINC/0YDQuCDRgdC70LjRj9C90LjQuDpcbiUlc9Ch0LTQtdC70LDQudGC0LUg0LrQvtC80LzQuNGCINC40LvQuCDRgdC/0YDRj9GH0YzRgtC1INCy0LDRiNC4INC40LfQvNC10L3QtdC90LjRjyDQv9C10YDQtdC0INGB0LvQuNGP0L3QuNC10Lwg0LLQtdGC0L7Qui4iCiAKLSM6IHVucGFjay10cmVlcy5jOjExOQorIzogdW5wYWNrLXRyZWVzLmM6MTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKICIlJXMiCiBtc2dzdHIgItCS0LDRiNC4INC70L7QutCw0LvRjNC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0LIg0YPQutCw0LfQsNC90L3Ri9GFINGE0LDQudC70LDRhSDQsdGD0LTRg9GCINC/0LXRgNC10LfQsNC/0LjRgdCw0L3RiyDQv9GA0Lgg0YHQu9C40Y/QvdC40Lg6XG4lJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEyMgorIzogdW5wYWNrLXRyZWVzLmM6MTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKICIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3UgJXMuIgogbXNnc3RyICLQktCw0YjQuCDQu9C+0LrQsNC70YzQvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPINCyINGD0LrQsNC30LDQvdC90YvRhSDRhNCw0LnQu9Cw0YUg0LHRg9C00YPRgiDQv9C10YDQtdC30LDQv9C40YHQsNC90Ysg0L/RgNC4ICVzOlxuJSVz0KHQtNC10LvQsNC50YLQtSDQutC+0LzQvNC40YIg0LjQu9C4INGB0L/RgNGP0YfRjNGC0LUg0LLQsNGI0Lgg0LjQt9C80LXQvdC10L3QuNGPINC/0LXRgNC10LQgJXMuIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjQKKyM6IHVucGFjay10cmVlcy5jOjEyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCiAiJSVzIgogbXNnc3RyICLQktCw0YjQuCDQu9C+0LrQsNC70YzQvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPINCyINGD0LrQsNC30LDQvdC90YvRhSDRhNCw0LnQu9Cw0YUg0LHRg9C00YPRgiDQv9C10YDQtdC30LDQv9C40YHQsNC90Ysg0L/RgNC4ICVzOlxuJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjkKKyM6IHVucGFjay10cmVlcy5jOjEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXBkYXRpbmcgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyB3b3VsZCBsb3NlIHVudHJhY2tlZCBmaWxlcyBpbiB0aGVtOlxuIgogIiVzIgogbXNnc3RyICLQntCx0L3QvtCy0LvQtdC90LjQtSDRg9C60LDQt9Cw0L3QvdGL0YUg0LrQsNGC0LDQu9C+0LPQvtCyINC/0YDQuNCy0LXQtNC10YIg0Log0L/QvtGC0LXRgNC1INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDRhNCw0LnQu9C+0LIg0LIg0L3QuNGFOlxuJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzMworIzogdW5wYWNrLXRyZWVzLmM6MTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKICIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCiBtc2dzdHIgItCj0LrQsNC30LDQvdC90YvQtSDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1INCx0YPQtNGD0YIg0YPQtNCw0LvQtdC90Ysg0L/RgNC4INC/0LXRgNC10LrQu9GO0YfQtdC90LjQuCDQvdCwINGB0L7RgdGC0L7Rj9C90LjQtTpcbiUlc9Cf0LXRgNC10LzQtdGB0YLQuNGC0LUg0Y3RgtC4INGE0LDQudC70Ysg0LjQu9C4INGD0LTQsNC70LjRgtC1INC40YUg0L/QtdGA0LXQtCDQv9C10YDQtdC60LvRjtGH0LXQvdC40LXQvCDQstC10YLQvtC6LiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTM1CisjOiB1bnBhY2stdHJlZXMuYzoxMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgogIiUlcyIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90L3Ri9C1INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUg0LHRg9C00YPRgiDRg9C00LDQu9C10L3RiyDQv9GA0Lgg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC4INC90LAg0YHQvtGB0YLQvtGP0L3QuNC1OlxuJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzgKKyM6IHVucGFjay10cmVlcy5jOjEzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4iCiAiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgItCj0LrQsNC30LDQvdC90YvQtSDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1INCx0YPQtNGD0YIg0YPQtNCw0LvQtdC90Ysg0L/RgNC4INGB0LvQuNGP0L3QuNC4OlxuJSVz0J/QtdGA0LXQvNC10YHRgtC40YLQtSDRjdGC0Lgg0YTQsNC50LvRiyDQuNC70Lgg0YPQtNCw0LvQuNGC0LUg0LjRhSDQv9C10YDQtdC0INC/0LXRgNC10LrQu9GO0YfQtdC90LjQtdC8INCy0LXRgtC+0LouIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDAKKyM6IHVucGFjay10cmVlcy5jOjEzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgbWVyZ2U6XG4iCiAiJSVzIgogbXNnc3RyICLQo9C60LDQt9Cw0L3QvdGL0LUg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INGE0LDQudC70Ysg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSDQsdGD0LTRg9GCINGD0LTQsNC70LXQvdGLINC/0YDQuCDRgdC70LjRj9C90LjQuDpcbiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQzCisjOiB1bnBhY2stdHJlZXMuYzoxNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgogIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3UgJXMuIgogbXNnc3RyICLQo9C60LDQt9Cw0L3QvdGL0LUg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INGE0LDQudC70Ysg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSDQsdGD0LTRg9GCINGD0LTQsNC70LXQvdGLINC/0YDQuCAlczpcbiUlc9Cf0LXRgNC10LzQtdGB0YLQuNGC0LUg0Y3RgtC4INGE0LDQudC70Ysg0LjQu9C4INGD0LTQsNC70LjRgtC1INC40YUg0L/QtdGA0LXQtCAlcy4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE0NQorIzogdW5wYWNrLXRyZWVzLmM6MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKICIlJXMiCiBtc2dzdHIgItCj0LrQsNC30LDQvdC90YvQtSDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1INCx0YPQtNGD0YIg0YPQtNCw0LvQtdC90Ysg0L/RgNC4ICVzOlxuJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNTEKKyM6IHVucGFjay10cmVlcy5jOjE1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgogIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90L3Ri9C1INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUg0LHRg9C00YPRgiDQv9C10YDQtdC30LDQv9C40YHQsNC90Ysg0L/RgNC4INC/0LXRgNC10LrQu9GO0YfQtdC90LjQuCDQvdCwINGB0L7RgdGC0L7Rj9C90LjQtTpcbiUlc9Cf0LXRgNC10LzQtdGB0YLQuNGC0LUg0Y3RgtC4INGE0LDQudC70Ysg0LjQu9C4INGD0LTQsNC70LjRgtC1INC40YUg0L/QtdGA0LXQtCDQv9C10YDQtdC60LvRjtGH0LXQvdC40LXQvCDQstC10YLQvtC6LiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTUzCisjOiB1bnBhY2stdHJlZXMuYzoxNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKICIlJXMiCiBtc2dzdHIgItCj0LrQsNC30LDQvdC90YvQtSDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1INCx0YPQtNGD0YIg0L/QtdGA0LXQt9Cw0L/QuNGB0LDQvdGLINC/0YDQuCDQv9C10YDQtdC60LvRjtGH0LXQvdC40Lgg0L3QsCDRgdC+0YHRgtC+0Y/QvdC40LU6XG4lJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE1NgorIzogdW5wYWNrLXRyZWVzLmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCiAiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBtZXJnZS4iCiBtc2dzdHIgItCj0LrQsNC30LDQvdC90YvQtSDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1INCx0YPQtNGD0YIg0L/QtdGA0LXQt9Cw0L/QuNGB0LDQvdGLINC/0YDQuCDRgdC70LjRj9C90LjQuDpcbiUlc9Cf0LXRgNC10LzQtdGB0YLQuNGC0LUg0Y3RgtC4INGE0LDQudC70Ysg0LjQu9C4INGD0LTQsNC70LjRgtC1INC40YUg0L/QtdGA0LXQtCDQv9C10YDQtdC60LvRjtGH0LXQvdC40LXQvCDQstC10YLQvtC6LiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTU4CisjOiB1bnBhY2stdHJlZXMuYzoxNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKICIlJXMiCiBtc2dzdHIgItCj0LrQsNC30LDQvdC90YvQtSDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1INCx0YPQtNGD0YIg0L/QtdGA0LXQt9Cw0L/QuNGB0LDQvdGLINC/0YDQuCDRgdC70LjRj9C90LjQuDpcbiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTYxCisjOiB1bnBhY2stdHJlZXMuYzoxNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKICIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91ICVzLiIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90L3Ri9C1INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUg0LHRg9C00YPRgiDQv9C10YDQtdC30LDQv9C40YHQsNC90Ysg0L/RgNC4ICVzOlxuJSVz0J/QtdGA0LXQvNC10YHRgtC40YLQtSDRjdGC0Lgg0YTQsNC50LvRiyDQuNC70Lgg0YPQtNCw0LvQuNGC0LUg0LjRhSDQv9C10YDQtdC0ICVzLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTYzCisjOiB1bnBhY2stdHJlZXMuYzoxNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKICIlJXMiCiBtc2dzdHIgItCj0LrQsNC30LDQvdC90YvQtSDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1INCx0YPQtNGD0YIg0L/QtdGA0LXQt9Cw0L/QuNGB0LDQvdGLINC/0YDQuCAlczpcbiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTcxCisjOiB1bnBhY2stdHJlZXMuYzoxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRW50cnkgJyVzJyBvdmVybGFwcyB3aXRoICclcycuICBDYW5ub3QgYmluZC4iCiBtc2dzdHIgItCX0LDQv9C40YHRjCDCqyVzwrsg0YfQsNGB0YLQuNGH0L3QviDRgdC+0LLQv9Cw0LTQsNC10YIg0YEgwqslc8K7LiAg0J3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0LfQvdCw0YfQuNGC0Ywg0YHQvtC+0YLQstC10YLRgdGC0LLQuNC1LiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTc0CisjOiB1bnBhY2stdHJlZXMuYzoxNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgc3BhcnNlIGNoZWNrb3V0OiB0aGUgZm9sbG93aW5nIGVudHJpZXMgYXJlIG5vdCB1cCB0byBkYXRlOlxuIgogIiVzIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0LHQvdC+0LLQuNGC0Ywg0YfQsNGB0YLQuNGH0L3QvtC1INGB0L7RgdGC0L7Rj9C90LjQtTog0YHQu9C10LTRg9GO0YnQuNC1INGN0LvQtdC80LXQvdGC0Ysg0L3QtSDQv9C+0YHQu9C10LTQvdC10Lkg0LLQtdGA0YHQuNC4OlxuJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE3NgorIzogdW5wYWNrLXRyZWVzLmM6MTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgdXBkYXRlOlxuIgogIiVzIgogbXNnc3RyICLQo9C60LDQt9Cw0L3QvdGL0LUg0YTQsNC50LvRiyDQuNC3INGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCDQsdGD0LTRg9GCINC/0LXRgNC10LfQsNC/0LjRgdCw0L3RiyDQv9GA0Lgg0L7QsdC90L7QstC70LXQvdC40Lgg0YfQsNGB0YLQuNGH0L3QvtCz0L4g0YHQvtGB0YLQvtGP0L3QuNGPOlxuJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE3OAorIzogdW5wYWNrLXRyZWVzLmM6MTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCB1cGRhdGU6XG4iCiAiJXMiCiBtc2dzdHIgItCj0LrQsNC30LDQvdC90YvQtSDRhNCw0LnQu9GLINC40Lcg0YDQsNCx0L7Rh9C10LPQviDQutCw0YLQsNC70L7Qs9CwINCx0YPQtNGD0YIg0YPQtNCw0LvQtdC90Ysg0L/RgNC4INC+0LHQvdC+0LLQu9C10L3QuNC4INGH0LDRgdGC0LjRh9C90L7Qs9C+INGB0L7RgdGC0L7Rj9C90LjRjzpcbiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxODAKKyM6IHVucGFjay10cmVlcy5jOjE3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBzdWJtb2R1bGU6XG4iCiAiJXMiCiBtc2dzdHIgItCd0LUg0YPQtNC+0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCDQv9C+0LTQvNC+0LTRg9C70Yw6XG4lcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MjU0CisjOiB1bnBhY2stdHJlZXMuYzoyNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmdcbiIKIG1zZ3N0ciAi0J/RgNC10YDRi9Cy0LDRjlxuIgogCi0jOiB1bnBhY2stdHJlZXMuYzozMzYKKyM6IHVucGFjay10cmVlcy5jOjMxOAogbXNnaWQgIkNoZWNraW5nIG91dCBmaWxlcyIKIG1zZ3N0ciAi0KDQsNGB0L/QsNC60L7QstC60LAg0YTQsNC50LvQvtCyIgogCisjOiB1bnBhY2stdHJlZXMuYzozNTAKK21zZ2lkICIiCisidGhlIGZvbGxvd2luZyBwYXRocyBoYXZlIGNvbGxpZGVkIChlLmcuIGNhc2Utc2Vuc2l0aXZlIHBhdGhzXG4iCisib24gYSBjYXNlLWluc2Vuc2l0aXZlIGZpbGVzeXN0ZW0pIGFuZCBvbmx5IG9uZSBmcm9tIHRoZSBzYW1lXG4iCisiY29sbGlkaW5nIGdyb3VwIGlzIGluIHRoZSB3b3JraW5nIHRyZWU6XG4iCittc2dzdHIgIiIKKwogIzogdXJsbWF0Y2guYzoxNjMKIG1zZ2lkICJpbnZhbGlkIFVSTCBzY2hlbWUgbmFtZSBvciBtaXNzaW5nICc6Ly8nIHN1ZmZpeCIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9GM0L3QsNGPINC40LzRjyBVUkwg0YHRhdC10LzRiyDQuNC70Lgg0L/RgNC+0L/Rg9GJ0LXQvSDRgdGD0YTRhNC40LrRgSDCqzovL8K7IgpAQCAtNTY3NSwzMiArNzIyMiwzMiBAQAogbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LDRjyDRh9Cw0YHRgtGMINC/0YPRgtC4IMKrLi7CuyIKIAotIzogd29ya3RyZWUuYzoyNDUgYnVpbHRpbi9hbS5jOjIxNDcKKyM6IHdvcmt0cmVlLmM6MjU1IGJ1aWx0aW4vYW0uYzoyMDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMIMKrJXPCuyIKIAotIzogd29ya3RyZWUuYzoyOTEKKyM6IHdvcmt0cmVlLmM6MzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgYXQgbWFpbiB3b3JraW5nIHRyZWUgaXMgbm90IHRoZSByZXBvc2l0b3J5IGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiB3b3JrdHJlZS5jOjMwMgorIzogd29ya3RyZWUuYzozMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBmaWxlIGRvZXMgbm90IGNvbnRhaW4gYWJzb2x1dGUgcGF0aCB0byB0aGUgd29ya2luZyB0cmVlIGxvY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IHdvcmt0cmVlLmM6MzE0CisjOiB3b3JrdHJlZS5jOjMyNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICLCqyVzwrsg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgiIKIAotIzogd29ya3RyZWUuYzozMjAKKyM6IHdvcmt0cmVlLmM6MzMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgLmdpdCBmaWxlLCBlcnJvciBjb2RlICVkIgogbXNnc3RyICIiCiAKLSM6IHdvcmt0cmVlLmM6MzI4CisjOiB3b3JrdHJlZS5jOjMzOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IHBvaW50IGJhY2sgdG8gJyVzJyIKIG1zZ3N0ciAiIgpAQCAtNTcxMCwxMiArNzI1Nyw2IEBACiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDCqyVzwrsg0LTQu9GPINGH0YLQtdC90LjRjyDQuCDQt9Cw0L/QuNGB0LgiCiAKLSM6IHdyYXBwZXIuYzoyMjcgd3JhcHBlci5jOjM5NyBidWlsdGluL2FtLmM6MzIxIGJ1aWx0aW4vYW0uYzo3NzEKLSM6IGJ1aWx0aW4vYW0uYzo4NjMgYnVpbHRpbi9tZXJnZS5jOjEwNzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDCqyVzwrsg0LTQu9GPINGH0YLQtdC90LjRjyIKLQogIzogd3JhcHBlci5jOjQyNCB3cmFwcGVyLmM6NjI0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJyIKQEAgLTU3MjUsMTM1ICs3MjY2LDEzNSBAQAogbXNnaWQgInVuYWJsZSB0byBnZXQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINGC0LXQutGD0YnQuNC5INGA0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQKKyM6IHd0LXN0YXR1cy5jOjE1NgogbXNnaWQgIlVubWVyZ2VkIHBhdGhzOiIKIG1zZ3N0ciAi0J3QtSDRgdC70LjRgtGL0LUg0L/Rg9GC0Lg6IgogCi0jOiB3dC1zdGF0dXMuYzoxODEgd3Qtc3RhdHVzLmM6MjA4CisjOiB3dC1zdGF0dXMuYzoxODMgd3Qtc3RhdHVzLmM6MjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCByZXNldCAlcyA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCByZXNldCAlcyA80YTQsNC50Ls+4oCmwrssINGH0YLQvtCx0Ysg0YPQsdGA0LDRgtGMINC40Lcg0LjQvdC00LXQutGB0LApIgogCi0jOiB3dC1zdGF0dXMuYzoxODMgd3Qtc3RhdHVzLmM6MjEwCisjOiB3dC1zdGF0dXMuYzoxODUgd3Qtc3RhdHVzLmM6MjEyCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHJtIC0tY2FjaGVkIDzRhNCw0LnQuz7igKbCuywg0YfRgtC+0LHRiyDRg9Cx0YDQsNGC0Ywg0LjQtyDQuNC90LTQtdC60YHQsCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NworIzogd3Qtc3RhdHVzLmM6MTg5CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IGFkZCA80YTQsNC50Ls+4oCmwrssINGH0YLQvtCx0Ysg0L/QvtC80LXRgtC40YLRjCDRgNCw0LfRgNC10YjQtdC90LjQtSDQutC+0L3RhNC70LjQutGC0LApIgogCi0jOiB3dC1zdGF0dXMuYzoxODkgd3Qtc3RhdHVzLmM6MTkzCisjOiB3dC1zdGF0dXMuYzoxOTEgd3Qtc3RhdHVzLmM6MTk1CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IGFkZC9ybSA80YTQsNC50Ls+4oCmwrssINGH0YLQvtCx0Ysg0L/QvtC80LXRgtC40YLRjCDQstGL0LHRgNCw0L3QvdC+0LUg0YDQsNC30YDQtdGI0LXQvdC40LUg0LrQvtC90YTQu9C40LrRgtCwKSIKIAotIzogd3Qtc3RhdHVzLmM6MTkxCisjOiB3dC1zdGF0dXMuYzoxOTMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBybSA80YTQsNC50Ls+4oCmwrssINGH0YLQvtCx0Ysg0L/QvtC80LXRgtC40YLRjCDRgNCw0LfRgNC10YjQtdC90LjQtSDQutC+0L3RhNC70LjQutGC0LApIgogCi0jOiB3dC1zdGF0dXMuYzoyMDIgd3Qtc3RhdHVzLmM6MTAxNQorIzogd3Qtc3RhdHVzLmM6MjA0IHd0LXN0YXR1cy5jOjEwNjQKIG1zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgItCY0LfQvNC10L3QtdC90LjRjywg0LrQvtGC0L7RgNGL0LUg0LHRg9C00YPRgiDQstC60LvRjtGH0LXQvdGLINCyINC60L7QvNC80LjRgjoiCiAKLSM6IHd0LXN0YXR1cy5jOjIyMCB3dC1zdGF0dXMuYzoxMDI0CisjOiB3dC1zdGF0dXMuYzoyMjIgd3Qtc3RhdHVzLmM6MTA3MwogbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKIG1zZ3N0ciAi0JjQt9C80LXQvdC10L3QuNGPLCDQutC+0YLQvtGA0YvQtSDQvdC1INCyINC40L3QtNC10LrRgdC1INC00LvRjyDQutC+0LzQvNC40YLQsDoiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNAorIzogd3Qtc3RhdHVzLmM6MjI2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgYWRkIDzRhNCw0LnQuz7igKbCuywg0YfRgtC+0LHRiyDQtNC+0LHQsNCy0LjRgtGMINGE0LDQudC7INCyINC40L3QtNC10LrRgSkiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNgorIzogd3Qtc3RhdHVzLmM6MjI4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgYWRkL3JtIDzRhNCw0LnQuz7igKbCuywg0YfRgtC+0LHRiyDQtNC+0LHQsNCy0LjRgtGMINC40LvQuCDRg9C00LDQu9C40YLRjCDRhNCw0LnQuyDQuNC3INC40L3QtNC10LrRgdCwKSIKIAotIzogd3Qtc3RhdHVzLmM6MjI3CisjOiB3dC1zdGF0dXMuYzoyMjkKIG1zZ2lkICIiCiAiICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nICIKICJkaXJlY3RvcnkpIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IGNoZWNrb3V0IC0tIDzRhNCw0LnQuz7igKbCuywg0YfRgtC+0LHRiyDQvtGC0LzQtdC90LjRgtGMINC40LfQvNC10L3QtdC90LjRj1xuICAg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSkiCiAKLSM6IHd0LXN0YXR1cy5jOjIyOQorIzogd3Qtc3RhdHVzLmM6MjMxCiBtc2dpZCAiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIgogbXNnc3RyICIgICjRgdC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiDQuNC70Lgg0L7RgtC80LXQvdC40YLQtSDQuNC30LzQtdC90LXQvdC40Y8g0LIg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzQvtC8INC40LvQuCDQuNC30LzQtdC90LXQvdC90L7QvCDRgdC+0LTQtdGA0LbQuNC80L7QvCDQsiDQv9C+0LTQvNC+0LTRg9C70Y/RhSkiCiAKLSM6IHd0LXN0YXR1cy5jOjI0MQorIzogd3Qtc3RhdHVzLmM6MjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0ICVzIDzRhNCw0LnQuz7igKbCuywg0YfRgtC+0LHRiyDQtNC+0LHQsNCy0LjRgtGMINCyINGC0L4sINGH0YLQviDQsdGD0LTQtdGCINCy0LrQu9GO0YfQtdC90L4g0LIg0LrQvtC80LzQuNGCKSIKIAotIzogd3Qtc3RhdHVzLmM6MjU2CisjOiB3dC1zdGF0dXMuYzoyNTgKIG1zZ2lkICJib3RoIGRlbGV0ZWQ6IgogbXNnc3RyICLQvtCx0LAg0YPQtNCw0LvQtdC90Ys6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTgKKyM6IHd0LXN0YXR1cy5jOjI2MAogbXNnaWQgImFkZGVkIGJ5IHVzOiIKIG1zZ3N0ciAi0LTQvtCx0LDQstC70LXQvdC+INC90LDQvNC4OiIKIAotIzogd3Qtc3RhdHVzLmM6MjYwCisjOiB3dC1zdGF0dXMuYzoyNjIKIG1zZ2lkICJkZWxldGVkIGJ5IHRoZW06IgogbXNnc3RyICLRg9C00LDQu9C10L3QviDQuNC80Lg6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjIKKyM6IHd0LXN0YXR1cy5jOjI2NAogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICLQtNC+0LHQsNCy0LvQtdC90L4g0LjQvNC4OiIKIAotIzogd3Qtc3RhdHVzLmM6MjY0CisjOiB3dC1zdGF0dXMuYzoyNjYKIG1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKIG1zZ3N0ciAi0YPQtNCw0LvQtdC90L4g0L3QsNC80Lg6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjYKKyM6IHd0LXN0YXR1cy5jOjI2OAogbXNnaWQgImJvdGggYWRkZWQ6IgogbXNnc3RyICLQvtCx0LAg0LTQvtCx0LDQstC70LXQvdGLOiIKIAotIzogd3Qtc3RhdHVzLmM6MjY4CisjOiB3dC1zdGF0dXMuYzoyNzAKIG1zZ2lkICJib3RoIG1vZGlmaWVkOiIKIG1zZ3N0ciAi0L7QsdCwINC40LfQvNC10L3QtdC90Ys6IgogCi0jOiB3dC1zdGF0dXMuYzoyNzgKKyM6IHd0LXN0YXR1cy5jOjI4MAogbXNnaWQgIm5ldyBmaWxlOiIKIG1zZ3N0ciAi0L3QvtCy0YvQuSDRhNCw0LnQuzoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MAorIzogd3Qtc3RhdHVzLmM6MjgyCiBtc2dpZCAiY29waWVkOiIKIG1zZ3N0ciAi0YHQutC+0L/QuNGA0L7QstCw0L3QvjoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MgorIzogd3Qtc3RhdHVzLmM6Mjg0CiBtc2dpZCAiZGVsZXRlZDoiCiBtc2dzdHIgItGD0LTQsNC70LXQvdC+OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg0CisjOiB3dC1zdGF0dXMuYzoyODYKIG1zZ2lkICJtb2RpZmllZDoiCiBtc2dzdHIgItC40LfQvNC10L3QtdC90L46IgogCi0jOiB3dC1zdGF0dXMuYzoyODYKKyM6IHd0LXN0YXR1cy5jOjI4OAogbXNnaWQgInJlbmFtZWQ6IgogbXNnc3RyICLQv9C10YDQtdC40LzQtdC90L7QstCw0L3QvjoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4OAorIzogd3Qtc3RhdHVzLmM6MjkwCiBtc2dpZCAidHlwZWNoYW5nZToiCiBtc2dzdHIgItC40LfQvNC10L3QtdC9INGC0LjQvzoiCiAKLSM6IHd0LXN0YXR1cy5jOjI5MAorIzogd3Qtc3RhdHVzLmM6MjkyCiBtc2dpZCAidW5rbm93bjoiCiBtc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdC+OiIKIAotIzogd3Qtc3RhdHVzLmM6MjkyCisjOiB3dC1zdGF0dXMuYzoyOTQKIG1zZ2lkICJ1bm1lcmdlZDoiCiBtc2dzdHIgItC90LUg0YHQu9C40YLRi9C1OiIKIAotIzogd3Qtc3RhdHVzLmM6MzcyCisjOiB3dC1zdGF0dXMuYzozNzQKIG1zZ2lkICJuZXcgY29tbWl0cywgIgogbXNnc3RyICLQvdC+0LLRi9C1INC60L7QvNC80LjRgtGLLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM3NAorIzogd3Qtc3RhdHVzLmM6Mzc2CiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICLQuNC30LzQtdC90LXQvdC+INGB0L7QtNC10YDQttC40LzQvtC1LCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM3NgorIzogd3Qtc3RhdHVzLmM6Mzc4CiBtc2dpZCAidW50cmFja2VkIGNvbnRlbnQsICIKIG1zZ3N0ciAi0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzQvtC1INGB0L7QtNC10YDQttC40LzQvtC1LCAiCiAKLSM6IHd0LXN0YXR1cy5jOjg1MworIzogd3Qtc3RhdHVzLmM6ODk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgc3Rhc2ggY3VycmVudGx5IGhhcyAlZCBlbnRyeSIKIG1zZ2lkX3BsdXJhbCAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJpZXMiCkBAIC01ODYyLDY5ICs3NDAzLDY5IEBACiBtc2dzdHJbMl0gItCjINCy0LDRgSDRgdC10LnRh9Cw0YEg0YHQv9GA0Y/RgtCw0L3QviAlZCDQt9Cw0L/QuNGB0LXQuSIKIG1zZ3N0clszXSAi0KMg0LLQsNGBINGB0LXQudGH0LDRgSDRgdC/0YDRj9GC0LDQvdGLICVkINC30LDQv9C40YHQuCIKIAotIzogd3Qtc3RhdHVzLmM6ODg1CisjOiB3dC1zdGF0dXMuYzo5MjgKIG1zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKIG1zZ3N0ciAi0JjQt9C80LXQvdC10L3QvdGL0LUsINC90L4g0L3QtSDQvtCx0L3QvtCy0LvQtdC90L3Ri9C1INC/0L7QtNC80L7QtNGD0LvQuDoiCiAKLSM6IHd0LXN0YXR1cy5jOjg4NworIzogd3Qtc3RhdHVzLmM6OTMwCiBtc2dpZCAiU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAi0JjQt9C80LXQvdC10L3QuNGPINCyINC/0L7QtNC80L7QtNGD0LvRj9GFLCDQutC+0YLQvtGA0YvQtSDQsdGD0LTRg9GCINC30LDQutC+0LzQvNC40YfQtdC90Ys6IgogCi0jOiB3dC1zdGF0dXMuYzo5NjkKKyM6IHd0LXN0YXR1cy5jOjEwMTIKIG1zZ2lkICIiCiAiRG8gbm90IG1vZGlmeSBvciByZW1vdmUgdGhlIGxpbmUgYWJvdmUuXG4iCiAiRXZlcnl0aGluZyBiZWxvdyBpdCB3aWxsIGJlIGlnbm9yZWQuIgogbXNnc3RyICLQndC1INC40LfQvNC10L3Rj9C50YLQtSDQuNC70Lgg0YPQtNCw0LvRj9C50YLQtSDRgdGC0YDQvtC60YMg0LLRi9GI0LUg0Y3RgtC+0LkuXG7QktGB0ZEsINGH0YLQviDQvdC40LbQtSDigJQg0LHRg9C00LXRgiDQv9GA0L7QuNCz0L3QvtGA0LjRgNC+0LLQsNC90L4uIgogCi0jOiB3dC1zdGF0dXMuYzoxMDg0CisjOiB3dC1zdGF0dXMuYzoxMTE5CiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICLQoyDQstCw0YEg0LXRgdGC0Ywg0L3QtSDRgdC70LjRgtGL0LUg0L/Rg9GC0LguIgogCi0jOiB3dC1zdGF0dXMuYzoxMDg3CisjOiB3dC1zdGF0dXMuYzoxMTIyCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIKIG1zZ3N0ciAiICAo0YDQsNC30YDQtdGI0LjRgtC1INC60L7QvdGE0LvQuNC60YLRiywg0LfQsNGC0LXQvCDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgY29tbWl0wrspIgogCi0jOiB3dC1zdGF0dXMuYzoxMDg5CisjOiB3dC1zdGF0dXMuYzoxMTI0CiBtc2dpZCAiICAodXNlIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiB0byBhYm9ydCB0aGUgbWVyZ2UpIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IG1lcmdlIC0tYWJvcnTCuywg0YfRgtC+0LHRiyDQvtGB0YLQsNC90L7QstC40YLRjCDQvtC/0LXRgNCw0YbQuNGOINGB0LvQuNGP0L3QuNGPKSIKIAotIzogd3Qtc3RhdHVzLmM6MTA5NAorIzogd3Qtc3RhdHVzLmM6MTEyOAogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgItCS0YHQtSDQutC+0L3RhNC70LjQutGC0Ysg0LjRgdC/0YDQsNCy0LvQtdC90YssINC90L4g0LLRiyDQstGB0LUg0LXRidC1INCyINC/0YDQvtGG0LXRgdGB0LUg0YHQu9C40Y/QvdC40Y8uIgogCi0jOiB3dC1zdGF0dXMuYzoxMDk3CisjOiB3dC1zdGF0dXMuYzoxMTMxCiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBjb21taXTCuywg0YfRgtC+0LHRiyDQt9Cw0LLQtdGA0YjQuNGC0Ywg0YHQu9C40Y/QvdC40LUpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTA3CisjOiB3dC1zdGF0dXMuYzoxMTQwCiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICLQktGLINCyINC/0YDQvtGG0LXRgdGB0LUg0YHQtdGB0YHQuNC4IGFtLiIKIAotIzogd3Qtc3RhdHVzLmM6MTExMAorIzogd3Qtc3RhdHVzLmM6MTE0MwogbXNnaWQgIlRoZSBjdXJyZW50IHBhdGNoIGlzIGVtcHR5LiIKIG1zZ3N0ciAi0KLQtdC60YPRidC40Lkg0L/QsNGC0Ycg0L/Rg9GB0YLQvtC5LiIKIAotIzogd3Qtc3RhdHVzLmM6MTExNAorIzogd3Qtc3RhdHVzLmM6MTE0NwogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKNGA0LDQt9GA0LXRiNC40YLQtSDQutC+0L3RhNC70LjQutGC0YssINC30LDRgtC10Lwg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IGFtIC0tY29udGludWXCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjExMTYKKyM6IHd0LXN0YXR1cy5jOjExNDkKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBhbSAtLXNraXDCuywg0YfRgtC+0LHRiyDQv9GA0L7Qv9GD0YHRgtC40YLRjCDRjdGC0L7RgiDQv9Cw0YLRhykiCiAKLSM6IHd0LXN0YXR1cy5jOjExMTgKKyM6IHd0LXN0YXR1cy5jOjExNTEKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgYW0gLS1hYm9ydMK7LCDRh9GC0L7QsdGLINCy0L7RgdGB0YLQsNC90L7QstC40YLRjCDQvtGA0LjQs9C40L3QsNC70YzQvdGD0Y4g0LLQtdGC0LrRgykiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTAKKyM6IHd0LXN0YXR1cy5jOjEyODQKIG1zZ2lkICJnaXQtcmViYXNlLXRvZG8gaXMgbWlzc2luZy4iCiBtc2dzdHIgImdpdC1yZWJhc2UtdG9kbyDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI1MgorIzogd3Qtc3RhdHVzLmM6MTI4NgogbXNnaWQgIk5vIGNvbW1hbmRzIGRvbmUuIgogbXNnc3RyICLQmtC+0LzQsNC90LTRiyDQvdC1INCy0YvQv9C+0LvQvdC10L3Riy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNTUKKyM6IHd0LXN0YXR1cy5jOjEyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTGFzdCBjb21tYW5kIGRvbmUgKCVkIGNvbW1hbmQgZG9uZSk6IgogbXNnaWRfcGx1cmFsICJMYXN0IGNvbW1hbmRzIGRvbmUgKCVkIGNvbW1hbmRzIGRvbmUpOiIKQEAgLTU5MzMsMTYgKzc0NzQsMTYgQEAKIG1zZ3N0clsyXSAi0J/QvtGB0LvQtdC00L3Rj9GPINC60L7QvNCw0L3QtNCwINCy0YvQv9C+0LvQvdC10L3QsCAoJWQg0LrQvtC80LDQvdC0INCy0YvQv9C+0LvQvdC10L3Qvik6IgogbXNnc3RyWzNdICLQn9C+0YHQu9C10LTQvdGP0Y8g0LrQvtC80LDQvdC00LAg0LLRi9C/0L7Qu9C90LXQvdCwICglZCDQutC+0LzQsNC90LQg0LLRi9C/0L7Qu9C90LXQvdC+KToiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjYKKyM6IHd0LXN0YXR1cy5jOjEzMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAoc2VlIG1vcmUgaW4gZmlsZSAlcykiCiBtc2dzdHIgIiAgKNGB0LzQvtGC0YDQuNGC0LUg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L4g0LIg0YTQsNC50LvQtSAlcykiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNzEKKyM6IHd0LXN0YXR1cy5jOjEzMDUKIG1zZ2lkICJObyBjb21tYW5kcyByZW1haW5pbmcuIgogbXNnc3RyICLQmtC+0LzQsNC90LQg0LHQvtC70YzRiNC1INC90LUg0L7RgdGC0LDQu9C+0YHRjC4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNzQKKyM6IHd0LXN0YXR1cy5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiTmV4dCBjb21tYW5kIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZCk6IgogbXNnaWRfcGx1cmFsICJOZXh0IGNvbW1hbmRzIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZHMpOiIKQEAgLTU5NTEsMTU0ICs3NDkyLDE3MCBAQAogbXNnc3RyWzJdICLQodC70LXQtNGD0Y7RidCw0Y8g0LrQvtC80LDQvdC00LAg0LTQu9GPINCy0YvQv9C+0LvQvdC10L3QuNGPICglZCDQutC+0LzQsNC90LQg0L7RgdGC0LDQu9C+0YHRjCk6IgogbXNnc3RyWzNdICLQodC70LXQtNGD0Y7RidCw0Y8g0LrQvtC80LDQvdC00LAg0LTQu9GPINCy0YvQv9C+0LvQvdC10L3QuNGPICglZCDQutC+0LzQsNC90LQg0L7RgdGC0LDQu9C+0YHRjCk6IgogCi0jOiB3dC1zdGF0dXMuYzoxMjgyCisjOiB3dC1zdGF0dXMuYzoxMzE2CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHRvIHZpZXcgYW5kIGVkaXQpIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb8K7LCDRh9GC0L7QsdGLINC/0YDQvtGB0LzQvtGC0YDQtdGC0Ywg0Lgg0LjQt9C80LXQvdC40YLRjCkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyOTUKKyM6IHd0LXN0YXR1cy5jOjEzMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgItCS0Ysg0YHQtdC50YfQsNGBINC/0LXRgNC10LzQtdGJ0LDQtdGC0LUg0LLQtdGC0LrRgyDCqyVzwrsg0L3QsNC0IMKrJXPCuy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzMDAKKyM6IHd0LXN0YXR1cy5jOjEzMzMKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZy4iCiBtc2dzdHIgItCS0Ysg0YHQtdC50YfQsNGBINC/0LXRgNC10LzQtdGJ0LDQtdGC0LUg0LLQtdGC0LrRgy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzMTQKKyM6IHd0LXN0YXR1cy5jOjEzNDYKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAo0YDQsNC30YDQtdGI0LjRgtC1INC60L7QvdGE0LvQuNC60YLRiywg0LfQsNGC0LXQvCDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgcmViYXNlIC0tY29udGludWXCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMTYKKyM6IHd0LXN0YXR1cy5jOjEzNDgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgcmViYXNlIC0tc2tpcMK7LCDRh9GC0L7QsdGLINC/0YDQvtC/0YPRgdGC0LjRgtGMINGN0YLQvtGCINC/0LDRgtGHKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMxOAorIzogd3Qtc3RhdHVzLmM6MTM1MAogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHRvIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCByZWJhc2UgLS1hYm9ydMK7LCDRh9GC0L7QsdGLINC/0LXRgNC10LnRgtC4INC90LAg0L7RgNC40LPQuNC90LDQu9GM0L3Rg9GOINCy0LXRgtC60YMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzI0CisjOiB3dC1zdGF0dXMuYzoxMzU3CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgICjQstGB0LUg0LrQvtC90YTQu9C40LrRgtGLINGA0LDQt9GA0LXRiNC10L3Rizog0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IHJlYmFzZSAtLWNvbnRpbnVlwrspIgogCi0jOiB3dC1zdGF0dXMuYzoxMzI4CisjOiB3dC1zdGF0dXMuYzoxMzYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgItCS0Ysg0YHQtdC50YfQsNGBINGA0LDQt9C00LXQu9GP0LXRgtC1INC60L7QvNC80LjRgiDQv9GA0Lgg0L/QtdGA0LXQvNC10YnQtdC90LjQuCDQstC10YLQutC4ICDCqyVzwrsg0L3QsNC0IMKrJXPCuy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzMzMKKyM6IHd0LXN0YXR1cy5jOjEzNjYKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAi0JLRiyDRgdC10LnRh9Cw0YEg0YDQsNC30LTQtdC70Y/QtdGC0LUg0LrQvtC80LzQuNGCINC/0YDQuCDQv9C10YDQtdC80LXRidC10L3QuNC4INCy0LXRgtC60LguIgogCi0jOiB3dC1zdGF0dXMuYzoxMzM2CisjOiB3dC1zdGF0dXMuYzoxMzY5CiBtc2dpZCAiICAoT25jZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuLCBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIijQmtCw0Log0YLQvtC70YzQutC+INCy0LDRiCDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyDQsdGD0LTQtdGCINGH0LjRgdGC0YvQuSwg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IHJlYmFzZSAtLWNvbnRpbnVlwrspIgogCi0jOiB3dC1zdGF0dXMuYzoxMzQwCisjOiB3dC1zdGF0dXMuYzoxMzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGVkaXRpbmcgYSBjb21taXQgd2hpbGUgcmViYXNpbmcgYnJhbmNoICclcycgb24gJyVzJy4iCiBtc2dzdHIgItCS0Ysg0YHQtdC50YfQsNGBINGA0LXQtNCw0LrRgtC40YDRg9C10YLQtSDQutC+0LzQvNC40YIg0L/RgNC4INC/0LXRgNC10LzQtdGJ0LXQvdC40Lgg0LLQtdGC0LrQuCAgwqslc8K7INC90LDQtCDCqyVzwrsuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzQ1CisjOiB3dC1zdGF0dXMuYzoxMzc4CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICLQktGLINGB0LXQudGH0LDRgSDRgNC10LTQsNC60YLQuNGA0YPQtdGC0LUg0LrQvtC80LzQuNGCINC/0YDQuCDQv9C10YDQtdC80LXRidC10L3QuNC4INCy0LXRgtC60LguIgogCi0jOiB3dC1zdGF0dXMuYzoxMzQ4CisjOiB3dC1zdGF0dXMuYzoxMzgxCiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKIG1zZ3N0ciAiICAo0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDCq2dpdCBjb21taXQgLS1hbWVuZMK7LCDRh9GC0L7QsdGLINC40YHQv9GA0LDQstC40YLRjCDRgtC10LrRg9GJ0LjQuSDQutC+0LzQvNC40YIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzUwCisjOiB3dC1zdGF0dXMuYzoxMzgzCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgb25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcykiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgcmViYXNlIC0tY29udGludWXCuywg0LrQvtCz0LTQsCDQsdGD0LTQtdGC0LUg0LTQvtCy0L7Qu9GM0L3RiyDQuNC30LzQtdC90LXQvdC40Y/QvNC4KSIKIAotIzogd3Qtc3RhdHVzLmM6MTM2MAorIzogd3Qtc3RhdHVzLmM6MTM5NAorbXNnaWQgIkNoZXJyeS1waWNrIGN1cnJlbnRseSBpbiBwcm9ncmVzcy4iCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgogbXNnc3RyICLQktGLINC60L7Qv9C40YDRg9C10YLQtSDQutC+0LzQvNC40YIgJXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzY1CisjOiB3dC1zdGF0dXMuYzoxNDA0CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKNGA0LDQt9GA0LXRiNC40YLQtSDQutC+0L3RhNC70LjQutGC0YssINC30LDRgtC10Lwg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWXCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNjgKKyM6IHd0LXN0YXR1cy5jOjE0MDcKK21zZ2lkICIgIChydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHRvIGNvbnRpbnVlKSIKK21zZ3N0ciAiIgorCisjOiB3dC1zdGF0dXMuYzoxNDEwCiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKNCy0YHQtSDQutC+0L3RhNC70LjQutGC0Ysg0YDQsNC30YDQtdGI0LXQvdGLOiDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZcK7KSIKIAotIzogd3Qtc3RhdHVzLmM6MTM3MAorIzogd3Qtc3RhdHVzLmM6MTQxMgogbXNnaWQgIiAgKHVzZSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSBjaGVycnktcGljayBvcGVyYXRpb24pIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnTCuywg0YfRgtC+0LHRiyDQvtGC0LzQtdC90LjRgtGMINC60L7Qv9C40YDQvtCy0LDQvdC40Y8g0LrQvtC80LzQuNGC0LApIgogCi0jOiB3dC1zdGF0dXMuYzoxMzc5CisjOiB3dC1zdGF0dXMuYzoxNDIyCittc2dpZCAiUmV2ZXJ0IGN1cnJlbnRseSBpbiBwcm9ncmVzcy4iCittc2dzdHIgIiIKKworIzogd3Qtc3RhdHVzLmM6MTQyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZXZlcnRpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAi0JLRiyDRgdC10LnRh9Cw0YEg0L7QsdGA0LDRidCw0LXRgtC1INC40LfQvNC10L3QtdC90LjRjyDQutC+0LzQvNC40YLQsCAlcy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzODQKKyM6IHd0LXN0YXR1cy5jOjE0MzEKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKNGA0LDQt9GA0LXRiNC40YLQtSDQutC+0L3RhNC70LjQutGC0YssINC30LDRgtC10Lwg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IHJldmVydCAtLWNvbnRpbnVlwrspIgogCi0jOiB3dC1zdGF0dXMuYzoxMzg3CisjOiB3dC1zdGF0dXMuYzoxNDM0Cittc2dpZCAiICAocnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIgdG8gY29udGludWUpIgorbXNnc3RyICIiCisKKyM6IHd0LXN0YXR1cy5jOjE0MzcKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKNCy0YHQtSDQutC+0L3RhNC70LjQutGC0Ysg0YDQsNC30YDQtdGI0LXQvdGLOiDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqtnaXQgcmV2ZXJ0IC0tY29udGludWXCuykiCiAKLSM6IHd0LXN0YXR1cy5jOjEzODkKKyM6IHd0LXN0YXR1cy5jOjE0MzkKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIgICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHJldmVydCAtLWFib3J0wrssINGH0YLQvtCx0Ysg0L7RgtC80LXQvdC40YLRjCDQvtC/0LXRgNCw0YbQuNGOINC+0LHRgNCw0YnQtdC90LjRjyDQuNC30LzQtdC90LXQvdC40Lkg0LrQvtC80LzQuNGC0LApIgogCi0jOiB3dC1zdGF0dXMuYzoxNDAwCisjOiB3dC1zdGF0dXMuYzoxNDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZywgc3RhcnRlZCBmcm9tIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAi0JLRiyDRgdC10LnRh9Cw0YEg0LIg0L/RgNC+0YbQtdGB0YHQtSDQtNCy0L7QuNGH0L3QvtCz0L4g0L/QvtC40YHQutCwLCDQvdCw0YfQsNGC0L7Qs9C+INGBINCy0LXRgtC60Lggwqslc8K7LiIKIAotIzogd3Qtc3RhdHVzLmM6MTQwNAorIzogd3Qtc3RhdHVzLmM6MTQ1MwogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCiBtc2dzdHIgItCS0Ysg0YHQtdC50YfQsNGBINCyINC/0YDQvtGG0LXRgdGB0LUg0LTQstC+0LjRh9C90L7Qs9C+INC/0L7QuNGB0LrQsC4iCiAKLSM6IHd0LXN0YXR1cy5jOjE0MDcKKyM6IHd0LXN0YXR1cy5jOjE0NTYKIG1zZ2lkICIgICh1c2UgXCJnaXQgYmlzZWN0IHJlc2V0XCIgdG8gZ2V0IGJhY2sgdG8gdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgYmlzZWN0IHJlc2V0wrssINGH0YLQvtCx0Ysg0LLQtdGA0L3Rg9GC0YzRgdGPINC90LAg0LjRgdGF0L7QtNC90YPRjiDQstC10YLQutGDKSIKIAotIzogd3Qtc3RhdHVzLmM6MTYwNAorIzogd3Qtc3RhdHVzLmM6MTY2NQogbXNnaWQgIk9uIGJyYW5jaCAiCiBtc2dzdHIgItCd0LAg0LLQtdGC0LrQtSAiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTAKKyM6IHd0LXN0YXR1cy5jOjE2NzIKIG1zZ2lkICJpbnRlcmFjdGl2ZSByZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICLQuNC90YLQtdGA0LDQutGC0LjQstC90L7QtSDQv9C10YDQtdC80LXRidC10L3QuNC1INCyINC/0YDQvtGG0LXRgdGB0LU7INC90LDQtCAiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTIKKyM6IHd0LXN0YXR1cy5jOjE2NzQKIG1zZ2lkICJyZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gIgogbXNnc3RyICLQv9C10YDQtdC80LXRidC10L3QuNC1INCyINC/0YDQvtGG0LXRgdGB0LU7INC90LDQtCAiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTcKKyM6IHd0LXN0YXR1cy5jOjE2NzkKIG1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKIG1zZ3N0ciAiSEVBRCDQvtGC0LTQtdC70ZHQvSDQvdCwICIKIAotIzogd3Qtc3RhdHVzLmM6MTYxOQorIzogd3Qtc3RhdHVzLmM6MTY4MQogbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCiBtc2dzdHIgIkhFQUQg0L7RgtC00LXQu9GR0L0g0L3QsNGH0LjQvdCw0Y8g0YEgIgogCi0jOiB3dC1zdGF0dXMuYzoxNjIyCisjOiB3dC1zdGF0dXMuYzoxNjg0CiBtc2dpZCAiTm90IGN1cnJlbnRseSBvbiBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAi0KHQtdC50YfQsNGBINC90Lgg0L3QsCDQvtC00L3QvtC5INC40Lcg0LLQtdGC0L7QuiIKIAotIzogd3Qtc3RhdHVzLmM6MTY0MgorIzogd3Qtc3RhdHVzLmM6MTcwMQogbXNnaWQgIkluaXRpYWwgY29tbWl0IgogbXNnc3RyICLQndCw0YfQsNC70YzQvdGL0Lkg0LrQvtC80LzQuNGCIgogCi0jOiB3dC1zdGF0dXMuYzoxNjQzCisjOiB3dC1zdGF0dXMuYzoxNzAyCiBtc2dpZCAiTm8gY29tbWl0cyB5ZXQiCiBtc2dzdHIgItCV0YnQtSDQvdC10YIg0LrQvtC80LzQuNGC0L7QsiIKIAotIzogd3Qtc3RhdHVzLmM6MTY1NworIzogd3Qtc3RhdHVzLmM6MTcxNgogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi0J3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INGE0LDQudC70YsiCiAKLSM6IHd0LXN0YXR1cy5jOjE2NTkKKyM6IHd0LXN0YXR1cy5jOjE3MTgKIG1zZ2lkICJJZ25vcmVkIGZpbGVzIgogbXNnc3RyICLQmNCz0L3QvtGA0LjRgNGD0LXQvNGL0LUg0YTQsNC50LvRiyIKIAotIzogd3Qtc3RhdHVzLmM6MTY2MworIzogd3Qtc3RhdHVzLmM6MTcyMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gZW51bWVyYXRlIHVudHJhY2tlZCBmaWxlcy4gJ3N0YXR1cyAtdW5vJ1xuIgpAQCAtNjEwNiwyMjEgKzc2NjMsMjE2IEBACiAibmV3IGZpbGVzIHlvdXJzZWxmIChzZWUgJ2dpdCBoZWxwIHN0YXR1cycpLiIKIG1zZ3N0ciAiJS4yZiDRgdC10LrRg9C90LTRiyDQt9Cw0L3Rj9C7INCy0YvQstC+0LQg0YHQv9C40YHQutCwINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDRhNCw0LnQu9C+0LIuIMKrc3RhdHVzIC11bm/CuyDQstC+0LfQvNC+0LbQvdC+INC80L7QttC10YIg0YPRgdC60L7RgNC40YLRjCDRjdGC0L4sINC90L4g0LHRg9C00YzRgtC1INCy0L3QuNC80LDRgtC10LvRjNC90YssINC4INC90LUg0LfQsNCx0YPQtNGM0YLQtSDQtNC+0LHQsNCy0LjRgtGMINC90L7QstGL0LUg0YTQsNC50LvRiyDQstGA0YPRh9C90YPRjiAo0YHQvNC+0YLRgNC40YLQtSDCq2dpdCBoZWxwIHN0YXR1c8K7INC00LvRjyDQv9C+0LTRgNC+0LHQvdC+0YHRgtC10LkpLiIKIAotIzogd3Qtc3RhdHVzLmM6MTY2OQorIzogd3Qtc3RhdHVzLmM6MTcyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCVzIgogbXNnc3RyICLQndC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyDQvdC1INC/0L7QutCw0LfQsNC90YslcyIKIAotIzogd3Qtc3RhdHVzLmM6MTY3MQorIzogd3Qtc3RhdHVzLmM6MTczMAogbXNnaWQgIiAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykiCiBtc2dzdHIgIijQuNGB0L/QvtC70YzQt9GD0LnRgtC1INC+0L/RhtC40Y4gwqstdcK7LCDRh9GC0L7QsdGLINC/0L7QutCw0LfQsNGC0Ywg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INGE0LDQudC70YspIgogCi0jOiB3dC1zdGF0dXMuYzoxNjc3CisjOiB3dC1zdGF0dXMuYzoxNzM2CiBtc2dpZCAiTm8gY2hhbmdlcyIKIG1zZ3N0ciAi0J3QtdGCINC40LfQvNC10L3QtdC90LjQuSIKIAotIzogd3Qtc3RhdHVzLmM6MTY4MgorIzogd3Qtc3RhdHVzLmM6MTc0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKIG1zZ3N0ciAi0L3QtdGCINC40LfQvNC10L3QtdC90LjQuSDQtNC+0LHQsNCy0LvQtdC90L3Ri9GFINC00LvRjyDQutC+0LzQvNC40YLQsFxuKNC40YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgYWRkwrsg0Lgv0LjQu9C4IMKrZ2l0IGNvbW1pdCAtYcK7KVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjg1CisjOiB3dC1zdGF0dXMuYzoxNzQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCiBtc2dzdHIgItC90LXRgiDQuNC30LzQtdC90LXQvdC40Lkg0LTQvtCx0LDQstC70LXQvdC90YvRhSDQtNC70Y8g0LrQvtC80LzQuNGC0LBcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTY4OAorIzogd3Qtc3RhdHVzLmM6MTc0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgogInRyYWNrKVxuIgogbXNnc3RyICLQvdC40YfQtdCz0L4g0L3QtSDQtNC+0LHQsNCy0LvQtdC90L4g0LIg0LrQvtC80LzQuNGCLCDQvdC+INC10YHRgtGMINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IGFkZMK7LCDRh9GC0L7QsdGLINC+0YLRgdC70LXQttC40LLQsNGC0Ywg0LjRhSlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTY5MQorIzogd3Qtc3RhdHVzLmM6MTc1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnRcbiIKIG1zZ3N0ciAi0L3QuNGH0LXQs9C+INC90LUg0LTQvtCx0LDQstC70LXQvdC+INCyINC60L7QvNC80LjRgiwg0L3QviDQtdGB0YLRjCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRi1xuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjk0CisjOiB3dC1zdGF0dXMuYzoxNzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0IChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKVxuIgogbXNnc3RyICLQvdC10YfQtdCz0L4g0LrQvtC80LzQuNGC0LjRgtGMICjRgdC+0LfQtNCw0LnRgtC1L9GB0LrQvtC/0LjRgNGD0LnRgtC1INGE0LDQudC70YssINC30LDRgtC10Lwg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IGFkZMK7LCDRh9GC0L7QsdGLINC+0YLRgdC70LXQttC40LLQsNGC0Ywg0LjRhSlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTY5NyB3dC1zdGF0dXMuYzoxNzAyCisjOiB3dC1zdGF0dXMuYzoxNzU2IHd0LXN0YXR1cy5jOjE3NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXRcbiIKIG1zZ3N0ciAi0L3QtdGH0LXQs9C+INC60L7QvNC80LjRgtC40YLRjFxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNzAwCisjOiB3dC1zdGF0dXMuYzoxNzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpXG4iCiBtc2dzdHIgItC90LXRh9C10LPQviDQutC+0LzQvNC40YLQuNGC0YwgKNC40YHQv9C+0LvRjNC30YPQudGC0LUg0L7Qv9GG0LjRjiDCqy11wrssINGH0YLQvtCx0Ysg0L/QvtC60LDQt9Cw0YLRjCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiylcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTcwNAorIzogd3Qtc3RhdHVzLmM6MTc2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyB0cmVlIGNsZWFuXG4iCiBtc2dzdHIgItC90LXRh9C10LPQviDQutC+0LzQvNC40YLQuNGC0YwsINC90LXRgiDQuNC30LzQtdC90LXQvdC40Lkg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxODE3CisjOiB3dC1zdGF0dXMuYzoxODc2CiBtc2dpZCAiTm8gY29tbWl0cyB5ZXQgb24gIgogbXNnc3RyICLQldGJ0LUg0L3QtdGCINC60L7QvNC80LjRgtC+0LIg0LIiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MjEKKyM6IHd0LXN0YXR1cy5jOjE4ODAKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICJIRUFEICjQvdC10YIg0LLQtdGC0LrQuCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NTIKKyM6IHd0LXN0YXR1cy5jOjE5MTEKIG1zZ2lkICJkaWZmZXJlbnQiCiBtc2dzdHIgItC+0YLQu9C40YfQsNC10YLRgdGPIgogCi0jOiB3dC1zdGF0dXMuYzoxODU0IHd0LXN0YXR1cy5jOjE4NjIKKyM6IHd0LXN0YXR1cy5jOjE5MTMgd3Qtc3RhdHVzLmM6MTkyMQogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgItC/0L7Qt9Cw0LTQuCIKIAotIzogd3Qtc3RhdHVzLmM6MTg1NyB3dC1zdGF0dXMuYzoxODYwCisjOiB3dC1zdGF0dXMuYzoxOTE2IHd0LXN0YXR1cy5jOjE5MTkKIG1zZ2lkICJhaGVhZCAiCiBtc2dzdHIgItCy0L/QtdGA0LXQtNC4ICIKIAogIy4gVFJBTlNMQVRPUlM6IHRoZSBhY3Rpb24gaXMgZS5nLiAicHVsbCB3aXRoIHJlYmFzZSIKLSM6IHd0LXN0YXR1cy5jOjIzNzYKKyM6IHd0LXN0YXR1cy5jOjI0NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICVzOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0YwgJXM6INCjINCy0LDRgSDQtdGB0YLRjCDQvdC10L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjy4iCiAKLSM6IHd0LXN0YXR1cy5jOjIzODIKKyM6IHd0LXN0YXR1cy5jOjI0NDkKIG1zZ2lkICJhZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgItC6INGC0L7QvNGDINC20LUsINCyINCy0LDRiNC10Lwg0LjQvdC00LXQutGB0LUg0LXRgdGC0Ywg0L3QtdC30LDQutC+0LzQvNC40YfQtdC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjy4iCiAKLSM6IHd0LXN0YXR1cy5jOjIzODQKKyM6IHd0LXN0YXR1cy5jOjI0NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICVzOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCAlczog0JIg0LLQsNGI0LXQvCDQuNC90LTQtdC60YHQtSDQtdGB0YLRjCDQvdC10LfQsNC60L7QvNC80LjRh9C10L3QvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPLiIKIAotIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU4IGJ1aWx0aW4vY2xvbmUuYzo0NDMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHVubGluayAnJXMnIgotbXNnc3RyICLRgdCx0L7QuSDQvtGC0YHQvtC10LTQuNC90LXQvdC40Y8gwqslc8K7IgotCi0jOiBidWlsdGluL2FkZC5jOjI0CisjOiBidWlsdGluL2FkZC5jOjI1CiBtc2dpZCAiZ2l0IGFkZCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBhZGQgWzzQvtC/0YbQuNC4Pl0gWy0tXSA80YHQv9C10YbQuNGE0LjQutCw0YLQvtGALdC/0YPRgtC4PuKApiIKIAotIzogYnVpbHRpbi9hZGQuYzo4MworIzogYnVpbHRpbi9hZGQuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGRpZmYgc3RhdHVzICVjIgotbXNnc3RyICLQvdC10L7QttC40LTQsNC90L3Ri9C5INGB0YLQsNGC0YPRgSDRgNCw0LfQu9C40YfQuNC5ICVjIgorbXNnc3RyICLQvdC10L7QttC40LTQsNC90L3Ri9C5INGB0YLQsNGC0YPRgSDRg9GC0LjQu9C40YLRiyDRgdGA0LDQstC90LXQvdC40Y8gJWMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6ODggYnVpbHRpbi9jb21taXQuYzoyNzkKKyM6IGJ1aWx0aW4vYWRkLmM6ODkgYnVpbHRpbi9jb21taXQuYzoyODUKIG1zZ2lkICJ1cGRhdGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INC/0YDQuCDQvtCx0L3QvtCy0LvQtdC90LjQuCDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6OTgKKyM6IGJ1aWx0aW4vYWRkLmM6OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3ZlICclcydcbiIKIG1zZ3N0ciAi0YPQtNCw0LvQuNGC0Ywgwqslc8K7XG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MTczCisjOiBidWlsdGluL2FkZC5jOjE3NAogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVmcmVzaGluZyB0aGUgaW5kZXg6IgogbXNnc3RyICLQndC10L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQv9C+0YHQu9C1INC+0LHQvdC+0LLQu9C10L3QuNGPINC40L3QtNC10LrRgdCwOiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzMgYnVpbHRpbi9yZXYtcGFyc2UuYzo4OTMKKyM6IGJ1aWx0aW4vYWRkLmM6MjM0IGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODk2CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQuNC90LTQtdC60YEiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQ0CisjOiBidWlsdGluL2FkZC5jOjI0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDCqyVzwrsg0LTQu9GPINC30LDQv9C40YHQuC4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQ4CisjOiBidWlsdGluL2FkZC5jOjI0OQogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINC/0LDRgtGHIgogCi0jOiBidWlsdGluL2FkZC5jOjI1MQorIzogYnVpbHRpbi9hZGQuYzoyNTIKIG1zZ2lkICJlZGl0aW5nIHBhdGNoIGZhaWxlZCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0L/RgNC4INGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40Lgg0L/QsNGC0YfQsCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTQKKyM6IGJ1aWx0aW4vYWRkLmM6MjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIHN0YXQg0LTQu9GPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYKKyM6IGJ1aWx0aW4vYWRkLmM6MjU3CiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICLQn9GD0YHRgtC+0Lkg0L/QsNGC0YcuINCe0L/QtdGA0LDRhtC40Y8g0L/RgNC10YDQstCw0L3QsC4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjYxCisjOiBidWlsdGluL2FkZC5jOjI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJyVzJyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0LjQvNC10L3QuNGC0Ywgwqslc8K7IgogCi0jOiBidWlsdGluL2FkZC5jOjI2OQorIzogYnVpbHRpbi9hZGQuYzoyNzAKIG1zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCiBtc2dzdHIgItCh0LvQtdC00YPRjtGJ0LjQtSDQv9GD0YLQuCDQuNCz0L3QvtGA0LjRgNGD0Y7RgtGB0Y8g0L7QtNC90LjQvCDQuNC3INCy0LDRiNC40YUg0YTQsNC50LvQvtCyIC5naXRpZ25vcmU6XG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjg5IGJ1aWx0aW4vY2xlYW4uYzo5MDYgYnVpbHRpbi9mZXRjaC5jOjEzNCBidWlsdGluL212LmM6MTIzCi0jOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU2IGJ1aWx0aW4vcHVsbC5jOjIxMiBidWlsdGluL3B1c2guYzo1NTcKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM0NCBidWlsdGluL3JtLmM6MjQwIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY1CisjOiBidWlsdGluL2FkZC5jOjI5MCBidWlsdGluL2NsZWFuLmM6OTA4IGJ1aWx0aW4vZmV0Y2guYzoxMzcgYnVpbHRpbi9tdi5jOjEyNAorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NiBidWlsdGluL3B1bGwuYzoyMjEgYnVpbHRpbi9wdXNoLmM6NTYwCisjOiBidWlsdGluL3JlbW90ZS5jOjEzNDUgYnVpbHRpbi9ybS5jOjI0MSBidWlsdGluL3NlbmQtcGFjay5jOjE2NQogbXNnaWQgImRyeSBydW4iCiBtc2dzdHIgItC/0YDQvtCx0L3Ri9C5INC30LDQv9GD0YHQuiIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTIKKyM6IGJ1aWx0aW4vYWRkLmM6MjkzCiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAi0LjQvdGC0LXRgNCw0LrRgtC40LLQvdGL0Lkg0LLRi9Cx0L7RgCIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTMgYnVpbHRpbi9jaGVja291dC5jOjExNDQgYnVpbHRpbi9yZXNldC5jOjMwMgorIzogYnVpbHRpbi9hZGQuYzoyOTQgYnVpbHRpbi9jaGVja291dC5jOjEzNzkgYnVpbHRpbi9yZXNldC5jOjMwNgogbXNnaWQgInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICLQuNC90YLQtdGA0LDQutGC0LjQstC90YvQuSDQstGL0LHQvtGAINCx0LvQvtC60L7QsiIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTQKLW1zZ2lkICJlZGl0IGN1cnJlbnQgZGlmZiBhbmQgYXBwbHkiCi1tc2dzdHIgItC+0YLRgNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDRgtC10LrRg9GJ0LjQuSDRhNCw0LnQuyDRgNCw0LfQu9C40YfQuNC5INC4INC/0YDQuNC80LXQvdC40YLRjCDQtdCz0L4iCi0KICM6IGJ1aWx0aW4vYWRkLmM6Mjk1Cittc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgorbXNnc3RyICLQvtGC0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0YLQtdC60YPRidC40Lkg0YTQsNC50Lsg0YHQv9C40YHQutCwINC40LfQvNC10L3QtdC90LjQuSDQuCDQv9GA0LjQvNC10L3QuNGC0Ywg0LXQs9C+IgorCisjOiBidWlsdGluL2FkZC5jOjI5NgogbXNnaWQgImFsbG93IGFkZGluZyBvdGhlcndpc2UgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINC00L7QsdCw0LLQu9C10L3QuNC1INC40LPQvdC+0YDQuNGA0YPQtdC80YvRhSDQuNC90LDRh9C1INGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTYKKyM6IGJ1aWx0aW4vYWRkLmM6Mjk3CiBtc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgItC+0LHQvdC+0LLQuNGC0Ywg0L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTcKKyM6IGJ1aWx0aW4vYWRkLmM6Mjk4CiBtc2dpZCAicmVub3JtYWxpemUgRU9MIG9mIHRyYWNrZWQgZmlsZXMgKGltcGxpZXMgLXUpIgogbXNnc3RyICLQv9C10YDQtdC90L7RgNC80LDQu9C40LfQuNGA0L7QstCw0YLRjCDQutC+0L3RhtGLINGB0YLRgNC+0LogKEVPTCkg0L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUg0YTQsNC50LvQvtCyICjQv9C+0LTRgNCw0LfRg9C80LXQstCw0LXRgiAtdSkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk4CisjOiBidWlsdGluL2FkZC5jOjI5OQogbXNnaWQgInJlY29yZCBvbmx5IHRoZSBmYWN0IHRoYXQgdGhlIHBhdGggd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAi0LfQsNC/0LjRgdCw0YLRjCDRgtC+0LvRjNC60L4g0YTQsNC60YIsINGH0YLQviDQv9GD0YLRjCDQsdGD0LTQtdGCINC00L7QsdCw0LLQu9C10L0g0L/QvtC30LbQtSIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTkKKyM6IGJ1aWx0aW4vYWRkLmM6MzAwCiBtc2dpZCAiYWRkIGNoYW5nZXMgZnJvbSBhbGwgdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMINC40LfQvNC10L3QtdC90LjRjyDQuNC3INCy0YHQtdGFINC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINC4INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzAyCisjOiBidWlsdGluL2FkZC5jOjMwMwogbXNnaWQgImlnbm9yZSBwYXRocyByZW1vdmVkIGluIHRoZSB3b3JraW5nIHRyZWUgKHNhbWUgYXMgLS1uby1hbGwpIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0L/Rg9GC0Lgg0YPQtNCw0LvQtdC90L3Ri9C1INC40Lcg0YDQsNCx0L7Rh9C10LPQviDQutCw0YLQsNC70L7Qs9CwICjRgtC+0LbQtSwg0YfRgtC+INC4IC0tbm8tYWxsKSIKIAotIzogYnVpbHRpbi9hZGQuYzozMDQKKyM6IGJ1aWx0aW4vYWRkLmM6MzA1CiBtc2dpZCAiZG9uJ3QgYWRkLCBvbmx5IHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICLQvdC1INC00L7QsdCw0LLQu9GP0YLRjCwg0YLQvtC70YzQutC+INC+0LHQvdC+0LLQuNGC0Ywg0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL2FkZC5jOjMwNQorIzogYnVpbHRpbi9hZGQuYzozMDYKIG1zZ2lkICJqdXN0IHNraXAgZmlsZXMgd2hpY2ggY2Fubm90IGJlIGFkZGVkIGJlY2F1c2Ugb2YgZXJyb3JzIgogbXNnc3RyICLQv9GA0L7Qv9GD0YHQutCw0YLRjCDRhNCw0LnQu9GLLCDQutC+0YLQvtGA0YvQtSDQvdC1INC80L7Qs9GD0YIg0LHRi9GC0Ywg0LTQvtCx0LDQstC70LXQvdGLINC40Lct0LfQsCDQvtGI0LjQsdC+0LoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA2CisjOiBidWlsdGluL2FkZC5jOjMwNwogbXNnaWQgImNoZWNrIGlmIC0gZXZlbiBtaXNzaW5nIC0gZmlsZXMgYXJlIGlnbm9yZWQgaW4gZHJ5IHJ1biIKIG1zZ3N0ciAi0YPQtNC+0YHRgtC+0LLQtdGA0LjRgtGM0YHRjywg0YfRgtC+INC00LDQttC1INC90LXQtNC+0YHRgtCw0Y7RidC40LUg0YTQsNC50LvRiyDQsdGD0LTRg9GCINC/0YDQvtC40LPQvdC+0YDQuNGA0L7QstCw0L3RiyDQv9GA0LggINC/0YDQvtCx0L3QvtC8INC30LDQv9GD0YHQutC1IgogCi0jOiBidWlsdGluL2FkZC5jOjMwOCBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MworIzogYnVpbHRpbi9hZGQuYzozMDkgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAxCiBtc2dpZCAib3ZlcnJpZGUgdGhlIGV4ZWN1dGFibGUgYml0IG9mIHRoZSBsaXN0ZWQgZmlsZXMiCiBtc2dzdHIgItC/0LXRgNC10L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LHQuNGCINCy0YvQv9C+0LvQvdC10L3QuNGPINC90LAg0YPQutCw0LfQsNC90L3Ri9GFINGE0LDQudC70LDRhSIKIAotIzogYnVpbHRpbi9hZGQuYzozMTAKKyM6IGJ1aWx0aW4vYWRkLmM6MzExCiBtc2dpZCAid2FybiB3aGVuIGFkZGluZyBhbiBlbWJlZGRlZCByZXBvc2l0b3J5IgogbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNCw0YLRjCDQv9GA0Lgg0LTQvtCx0LDQstC70LXQvdC40Lgg0LLRgdGC0YDQvtC10L3QvdC+0LPQviBnaXQg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyIKIAotIzogYnVpbHRpbi9hZGQuYzozMjUKKyM6IGJ1aWx0aW4vYWRkLmM6MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UndmUgYWRkZWQgYW5vdGhlciBnaXQgcmVwb3NpdG9yeSBpbnNpZGUgeW91ciBjdXJyZW50IHJlcG9zaXRvcnkuXG4iCkBAIC02MzM4LDEyICs3ODkwLDEyIEBACiAiU2VlIFwiZ2l0IGhlbHAgc3VibW9kdWxlXCIgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgogbXNnc3RyICLQktGLINC00L7QsdCw0LLQuNC70Lgg0LTRgNGD0LPQvtC5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkgZ2l0INCy0L3Rg9GC0YDQuCDRgtC10LrRg9GJ0LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y9cbtCa0LvQvtC90Ysg0LLQvdC10YjQvdC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPINC90LUg0LHRg9C00YPRgiDRgdC+0LTQtdGA0LbQsNGC0Ywg0LLQvdGD0YLRgNC10L3QvdC40LlcbtGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0Lgg0L3QtSDQsdGD0LTRg9GCINC30L3QsNGC0Ywg0LrQsNC6INC10LPQviDQv9C+0LvRg9GH0LjRgtGMLlxu0JXRgdC70Lgg0LLRiyDRhdC+0YLQtdC70Lgg0LTQvtCx0LDQstC40YLRjCDQv9C+0LTQvNC+0LTRg9C70YwsINGC0L4g0LfQsNC/0YPRgdGC0LjRgtC1OlxuXG5cdGdpdCBzdWJtb2R1bGUgYWRkIDx1cmw+ICVzXG5cbtCV0YHQu9C4INCx0Ysg0LTQvtCx0LDQstC40LvQuCDRjdGC0L7RgiDQv9GD0YLRjCDQv9C+INC+0YjQuNCx0LrQtSwg0YLQviDQstGLINC80L7QttC10YLQtSDRg9C00LDQu9C40YLRjCDQtdCz0L5cbtC40Lcg0LjQvdC00LXQutGB0LAg0YEg0L/QvtC80L7RidGM0Y46XG5cblx0Z2l0IHJtIC0tY2FjaGVkICVzXG5cbtCU0LvRjyDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QvtC5INC40L3RhNC+0YDQvNCw0YbQuNC4INGB0LzQvtGC0YDQuNGC0LUgwqtnaXQgaGVscCBzdWJtb2R1bGXCuy4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUzCisjOiBidWlsdGluL2FkZC5jOjM1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRpbmcgZW1iZWRkZWQgZ2l0IHJlcG9zaXRvcnk6ICVzIgogbXNnc3RyICLQtNC+0LHQsNCy0LvQtdC90LjQtSDQstGB0YLRgNC+0LXQvdC90L7Qs9C+IGdpdCDRgNC10L/QvtC30LjRgtC+0YDQuNGPOiAlcyIKIAotIzogYnVpbHRpbi9hZGQuYzozNzEKKyM6IGJ1aWx0aW4vYWRkLmM6MzcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIHRoZW0uXG4iCiBtc2dzdHIgItCY0YHQv9C+0LvRjNC30YPQudGC0LUgLWYsINC10YHQu9C4INCy0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INC00L7QsdCw0LLQuNGC0Ywg0LjRhS5cbiIKQEAgLTYzNTIsMzgzICs3OTA0LDM4MiBAQAogbXNnaWQgImFkZGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgItC+0YjQuNCx0LrQsCDQv9GA0Lgg0LTQvtCx0LDQstC70LXQvdC40Lgg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL2FkZC5jOjQxNworIzogYnVpbHRpbi9hZGQuYzo0MTkKIG1zZ2lkICItQSBhbmQgLXUgYXJlIG11dHVhbGx5IGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLUEg0LggLXUg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDI0CisjOiBidWlsdGluL2FkZC5jOjQyNgogbXNnaWQgIk9wdGlvbiAtLWlnbm9yZS1taXNzaW5nIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWRyeS1ydW4iCiBtc2dzdHIgItCe0L/RhtC40Y8gLS1pZ25vcmUtbWlzc2luZyDQvNC+0LbQtdGCINC40YHQv9C+0LvRjNC30L7QstCw0YLRjNGB0Y8g0YLQvtC70YzQutC+INCy0LzQtdGB0YLQtSDRgSAtLWRyeS1ydW4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDI4CisjOiBidWlsdGluL2FkZC5jOjQzMAogIywgYy1mb3JtYXQKIG1zZ2lkICItLWNobW9kIHBhcmFtICclcycgbXVzdCBiZSBlaXRoZXIgLXggb3IgK3giCiBtc2dzdHIgItC/0LDRgNCw0LzQtdGC0YAgLS1jaG1vZCDCqyVzwrsg0LTQvtC70LbQtdC9INCx0YvRgtGMIC14INC40LvQuCAreCIKIAotIzogYnVpbHRpbi9hZGQuYzo0NDMKKyM6IGJ1aWx0aW4vYWRkLmM6NDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdGhpbmcgc3BlY2lmaWVkLCBub3RoaW5nIGFkZGVkLlxuIgogbXNnc3RyICLQndC40YfQtdCz0L4g0L3QtSDRg9C60LDQt9Cw0L3Qviwg0L3QuNGH0LXQs9C+INC90LUg0LTQvtCx0LDQstC70LXQvdC+LlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjQ0NAorIzogYnVpbHRpbi9hZGQuYzo0NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWF5YmUgeW91IHdhbnRlZCB0byBzYXkgJ2dpdCBhZGQgLic/XG4iCiBtc2dzdHIgItCS0L7Qt9C80L7QttC90L4sINCy0Ysg0LjQvNC10LvQuCDQsiDQstC40LTRgyDCq2dpdCBhZGQgLsK7P1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjQ0OSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3NyBidWlsdGluL2NoZWNrb3V0LmM6MjgyCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NDg1IGJ1aWx0aW4vY2xlYW4uYzo5NTMgYnVpbHRpbi9jb21taXQuYzozMzgKLSM6IGJ1aWx0aW4vZGlmZi10cmVlLmM6MTE1IGJ1aWx0aW4vZ3JlcC5jOjQ5MiBidWlsdGluL212LmM6MTQ0Ci0jOiBidWlsdGluL3Jlc2V0LmM6MjQxIGJ1aWx0aW4vcm0uYzoyNzAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMyOQotbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCIKLW1zZ3N0ciAi0YTQsNC50Lsg0LjQvdC00LXQutGB0LAg0L/QvtCy0YDQtdC20LTQtdC9IgotCi0jOiBidWlsdGluL2FtLmM6NDE1CisjOiBidWlsdGluL2FtLmM6MzQ4CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGF1dGhvciBzY3JpcHQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINGB0YbQtdC90LDRgNC40Lkg0LDQstGC0L7RgNGB0YLQstCwIgogCi0jOiBidWlsdGluL2FtLmM6NDk5CisjOiBidWlsdGluL2FtLmM6NDMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgd2FzIGRlbGV0ZWQgYnkgdGhlIGFwcGx5cGF0Y2gtbXNnIGhvb2siCiBtc2dzdHIgIsKrJXPCuyDQsdGL0Lsg0YPQtNCw0LvQtdC9INC/0LXRgNC10YXQstCw0YLRh9C40LrQvtC8IGFwcGx5cGF0Y2gtbXNnIgogCi0jOiBidWlsdGluL2FtLmM6NTQwCisjOiBidWlsdGluL2FtLmM6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9GM0L3QsNGPINGB0YLRgNC+0LrQsCDQstCy0L7QtNCwOiDCqyVzwrsuIgogCi0jOiBidWlsdGluL2FtLmM6NTc3CisjOiBidWlsdGluL2FtLmM6NTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0LrQvtC/0LjRgNC+0LLQsNGC0Ywg0LfQsNC80LXRgtC60YMg0LjQtyDCqyVzwrsg0LIgwqslc8K7IgogCi0jOiBidWlsdGluL2FtLmM6NjAzCisjOiBidWlsdGluL2FtLmM6NTM4CiBtc2dpZCAiZnNlZWsgZmFpbGVkIgogbXNnc3RyICLRgdCx0L7QuSDQv9GA0Lgg0LLRi9C/0L7Qu9C90LXQvdC40LggZnNlZWsiCiAKLSM6IGJ1aWx0aW4vYW0uYzo3OTEKKyM6IGJ1aWx0aW4vYW0uYzo3MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHBhdGNoICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINC/0LDRgtGHIMKrJXPCuyIKIAotIzogYnVpbHRpbi9hbS5jOjg1NgorIzogYnVpbHRpbi9hbS5jOjc5MQogbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgogbXNnc3RyICLQotC+0LvRjNC60L4g0YHQtdGA0LjRjyDQv9Cw0YLRh9C10LkgU3RHSVQg0LzQvtC20LXRgiDQsdGL0YLRjCDQv9GA0LjQvNC10L3QtdC90LAg0LfQsCDRgNCw0LciCiAKLSM6IGJ1aWx0aW4vYW0uYzo5MDQKKyM6IGJ1aWx0aW4vYW0uYzo4MzkKIG1zZ2lkICJpbnZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzQsNGPINC80LXRgtC60LAg0LTQsNGC0Ysv0LLRgNC10LzQtdC90LgiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5MDkgYnVpbHRpbi9hbS5jOjkyMQorIzogYnVpbHRpbi9hbS5jOjg0NCBidWlsdGluL2FtLmM6ODU2CiBtc2dpZCAiaW52YWxpZCBEYXRlIGxpbmUiCiBtc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80LDRjyDRgdGC0YDQvtC60LAg0LTQsNGC0YsiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5MTYKKyM6IGJ1aWx0aW4vYW0uYzo4NTEKIG1zZ2lkICJpbnZhbGlkIHRpbWV6b25lIG9mZnNldCIKIG1zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzQvtC1INGB0LzQtdGJ0LXQvdC40LUg0YfQsNGB0L7QstC+0LPQviDQv9C+0Y/RgdCwIgogCi0jOiBidWlsdGluL2FtLmM6MTAwOQorIzogYnVpbHRpbi9hbS5jOjk0NAogbXNnaWQgIlBhdGNoIGZvcm1hdCBkZXRlY3Rpb24gZmFpbGVkLiIKIG1zZ3N0ciAi0KHQsdC+0Lkg0L7Qv9GA0LXQtNC10LvQtdC90LjRjyDRhNC+0YDQvNCw0YLQsCDQv9Cw0YLRh9CwLiIKIAotIzogYnVpbHRpbi9hbS5jOjEwMTQgYnVpbHRpbi9jbG9uZS5jOjQwOAorIzogYnVpbHRpbi9hbS5jOjk0OSBidWlsdGluL2Nsb25lLmM6NDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LrQsNGC0LDQu9C+0LMgwqslc8K7IgogCi0jOiBidWlsdGluL2FtLmM6MTAxOQorIzogYnVpbHRpbi9hbS5jOjk1NAogbXNnaWQgIkZhaWxlZCB0byBzcGxpdCBwYXRjaGVzLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQtNC10LvQuNGC0Ywg0L/QsNGC0YfQuCDQvdCwINGH0LDRgdGC0LguIgogCi0jOiBidWlsdGluL2FtLmM6MTE0OSBidWlsdGluL2NvbW1pdC5jOjM2NAorIzogYnVpbHRpbi9hbS5jOjEwODQgYnVpbHRpbi9jb21taXQuYzozNzEKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgaW5kZXggZmlsZSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINC40L3QtNC10LrRgSIKIAotIzogYnVpbHRpbi9hbS5jOjExNjMKKyM6IGJ1aWx0aW4vYW0uYzoxMDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCIlcyAtLWNvbnRpbnVlXCIuIgogbXNnc3RyICLQmtC+0LPQtNCwINCy0Ysg0YPRgdGC0YDQsNC90LjRgtC1INGN0YLRgyDQv9GA0L7QsdC70LXQvNGDLCDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqslcyAtLWNvbnRpbnVlwrsuIgogCi0jOiBidWlsdGluL2FtLmM6MTE2NAorIzogYnVpbHRpbi9hbS5jOjEwOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcIiVzIC0tc2tpcFwiIGluc3RlYWQuIgogbXNnc3RyICLQldGB0LvQuCDQstGLINGF0L7RgtC40YLQtSDQv9GA0L7Qv9GD0YHRgtC40YLRjCDRjdGC0L7RgiDQv9Cw0YLRhywg0YLQviDQt9Cw0L/Rg9GB0YLQuNGC0LUgwqslcyAtLXNraXDCuy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTY1CisjOiBidWlsdGluL2FtLmM6MTEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJUbyByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIHN0b3AgcGF0Y2hpbmcsIHJ1biBcIiVzIC0tYWJvcnRcIi4iCiBtc2dzdHIgItCn0YLQvtCx0Ysg0LLQtdGA0L3Rg9GC0YzRgdGPINC90LAg0L/RgNC10LTRi9C00YPRidGD0Y4g0LLQtdGC0LrRgyDQuCDQvtGB0YLQsNC90L7QstC40YLRjCDQv9GA0LjQvNC10L3QtdC90LjQtSDQuNC30LzQtdC90LXQvdC40LksINC30LDQv9GD0YHRgtC40YLQtSDCqyVzIC0tYWJvcnTCuy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMjcyCisjOiBidWlsdGluL2FtLmM6MTE4MworbXNnaWQgIiIKKyJQYXRjaCBzZW50IHdpdGggZm9ybWF0PWZsb3dlZDsgc3BhY2UgYXQgdGhlIGVuZCBvZiBsaW5lcyBtaWdodCBiZSBsb3N0LiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2FtLmM6MTIxMQogbXNnaWQgIlBhdGNoIGlzIGVtcHR5LiIKIG1zZ3N0ciAi0J/QsNGC0Ycg0L/Rg9GB0YLQvtC5LiIKIAotIzogYnVpbHRpbi9hbS5jOjEzMzgKKyM6IGJ1aWx0aW4vYW0uYzoxMjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJS4qcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QsNGPINGB0YLRgNC+0LrQsCDQuNC00LXQvdGC0LjRhNC40LrQsNGG0LjQuDogJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjEzNjAKKyM6IGJ1aWx0aW4vYW0uYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21taXQgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINC60L7QvNC80LjRgiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjE1NTYKKyM6IGJ1aWx0aW4vYW0uYzoxNDk1CiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyBuZWNlc3NhcnkgYmxvYnMgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAi0JIg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCDQvtGC0YHRg9GC0YHRgtCy0YPRjtGCINC00LLQvtC40YfQvdGL0LUg0L7QsdGK0LXQutGC0YssINC90LXQvtCx0YXQvtC00LjQvNGL0LUg0LTQu9GPINC+0YLQutCw0YLQsCDQuiDRgtGA0LXRhdGF0L7QtNC+0LLQvtC80YMg0YHQu9C40Y/QvdC40Y4uIgogCi0jOiBidWlsdGluL2FtLmM6MTU1OAorIzogYnVpbHRpbi9hbS5jOjE0OTcKIG1zZ2lkICJVc2luZyBpbmRleCBpbmZvIHRvIHJlY29uc3RydWN0IGEgYmFzZSB0cmVlLi4uIgogbXNnc3RyICLQmNGB0L/QvtC70YzQt9GD0Y4g0LjQvdC00LXQutGBINC00LvRjyDRgNC10LrQvtC90YHRgtGA0YPQutGG0LjQuCDQsdCw0LfQvtCy0L7Qs9C+INC00LXRgNC10LLQsOKApiIKIAotIzogYnVpbHRpbi9hbS5jOjE1NzcKKyM6IGJ1aWx0aW4vYW0uYzoxNTE2CiBtc2dpZCAiIgogIkRpZCB5b3UgaGFuZCBlZGl0IHlvdXIgcGF0Y2g/XG4iCiAiSXQgZG9lcyBub3QgYXBwbHkgdG8gYmxvYnMgcmVjb3JkZWQgaW4gaXRzIGluZGV4LiIKIG1zZ3N0ciAi0JLRiyDQstGA0YPRh9C90YPRjiDQuNC30LzQtdC90Y/Qu9C4INC/0LDRgtGHP1xu0J7QvSDQvdC1INC90LDQutC70LDQtNGL0LLQsNC10YLRgdGPINCx0LXQtyDQvtGI0LjQsdC+0Log0L3QsCDQtNCy0L7QuNGH0L3Ri9C1INC+0LHRitC10LrRgtGLLCDQt9Cw0L/QuNGB0LDQvdC90YvQtSDQsiDQtdCz0L4g0LfQsNCz0L7Qu9C+0LLQutC1LiIKIAotIzogYnVpbHRpbi9hbS5jOjE1ODMKKyM6IGJ1aWx0aW4vYW0uYzoxNTIyCiBtc2dpZCAiRmFsbGluZyBiYWNrIHRvIHBhdGNoaW5nIGJhc2UgYW5kIDMtd2F5IG1lcmdlLi4uIgogbXNnc3RyICLQntGC0LrQsNGCINC6INC/0YDQuNC80LXQvdC10L3QuNGOINC40LfQvNC10L3QtdC90LjQuSDQuiDQsdCw0LfQvtCy0L7QvNGDINC60L7QvNC80LjRgtGDINGBINC/0L7QvNC+0YnRjNGOINGC0YDQtdGF0YXQvtC00L7QstC+0LPQviDRgdC70LjRj9C90LjRj+KApiIKIAotIzogYnVpbHRpbi9hbS5jOjE2MDgKKyM6IGJ1aWx0aW4vYW0uYzoxNTQ4CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIGluIHRoZSBjaGFuZ2VzLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC70LjRgtGMINC40LfQvNC10L3QtdC90LjRjy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjQwCisjOiBidWlsdGluL2FtLmM6MTU4MAogbXNnaWQgImFwcGx5aW5nIHRvIGFuIGVtcHR5IGhpc3RvcnkiCiBtc2dzdHIgItC/0YDQuNC80LXQvdC10L3QuNC1INC6INC/0YPRgdGC0L7QuSDQuNGB0YLQvtGA0LjQuCIKIAotIzogYnVpbHRpbi9hbS5jOjE2ODYgYnVpbHRpbi9hbS5jOjE2OTAKKyM6IGJ1aWx0aW4vYW0uYzoxNjI3IGJ1aWx0aW4vYW0uYzoxNjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXN1bWU6ICVzIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC/0YDQvtC00L7Qu9C20L3QuNGC0Yw6ICVzINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIgIgogCi0jOiBidWlsdGluL2FtLmM6MTcwNgorIzogYnVpbHRpbi9hbS5jOjE2NDcKIG1zZ2lkICJjYW5ub3QgYmUgaW50ZXJhY3RpdmUgd2l0aG91dCBzdGRpbiBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4iCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC40L3RgtC10YDQsNC60YLQuNCy0L3QvtC1INC/0L7QstC10LTQtdC90LjQtSwg0LHQtdC3IHN0ZGluINC/0L7QtNC60LvRjtGH0LXQvdC90L7Qs9C+INC6INGC0LXRgNC80LjQvdCw0LvRgy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzExCisjOiBidWlsdGluL2FtLmM6MTY1MgogbXNnaWQgIkNvbW1pdCBCb2R5IGlzOiIKIG1zZ3N0ciAi0KLQtdC70L4g0LrQvtC80LzQuNGC0LA6IgogCiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3ldLCBbbl0sIFtlXSwgW3ZdIGFuZCBbYV0KICMuIGluIHlvdXIgdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaAogIy4gaW5wdXQgYXQgdGhpcyBwb2ludC4KLSM6IGJ1aWx0aW4vYW0uYzoxNzIxCisjOiBidWlsdGluL2FtLmM6MTY2MgogbXNnaWQgIkFwcGx5PyBbeV1lcy9bbl1vL1tlXWRpdC9bdl1pZXcgcGF0Y2gvW2FdY2NlcHQgYWxsOiAiCiBtc2dzdHIgItCf0YDQuNC80LXQvdC40YLRjD8gW3ldIC0g0LTQsC9bbl0gLSDQvdC10YIvW2VdIC0g0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0YwvW3ZdIC0g0L/RgNC+0YHQvNC+0YLRgNC10YLRjCDQv9Cw0YLRhy9bYV0gLSDQv9GA0LjQvNC10L3QuNGC0Ywg0LLRgdGROiAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzcxCisjOiBidWlsdGluL2FtLmM6MTcxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJ0eSBpbmRleDogY2Fubm90IGFwcGx5IHBhdGNoZXMgKGRpcnR5OiAlcykiCi1tc2dzdHIgItCY0L3QtNC10LrRgSDQvdC1INC/0YPRgdGC0L7QuTog0L3QtdC70YzQt9GPINC/0YDQuNC80LXQvdGP0YLRjCDQv9Cw0YLRh9C4ICjQsiDQuNC90LTQtdC60YHQtTogJXMpIgorbXNnc3RyICLQmNC90LTQtdC60YEg0LjQt9C80LXQvdGR0L06INC90LXQu9GM0LfRjyDQv9GA0LjQvNC10L3Rj9GC0Ywg0L/QsNGC0YfQuCAo0LjQt9C80LXQvdC10L3QvjogJXMpIgogCi0jOiBidWlsdGluL2FtLmM6MTgxMSBidWlsdGluL2FtLmM6MTg3OQorIzogYnVpbHRpbi9hbS5jOjE3NTIgYnVpbHRpbi9hbS5jOjE4MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmc6ICUuKnMiCiBtc2dzdHIgItCf0YDQuNC80LXQvdC10L3QuNC1OiAlLipzIgogCi0jOiBidWlsdGluL2FtLmM6MTgyOAorIzogYnVpbHRpbi9hbS5jOjE3NjkKIG1zZ2lkICJObyBjaGFuZ2VzIC0tIFBhdGNoIGFscmVhZHkgYXBwbGllZC4iCiBtc2dzdHIgItCd0LXRgiDQuNC30LzQtdC90LXQvdC40Lkg4oCUINCf0LDRgtGHINGD0LbQtSDQv9GA0LjQvNC10L3QtdC9LiIKIAotIzogYnVpbHRpbi9hbS5jOjE4MzQKKyM6IGJ1aWx0aW4vYW0uYzoxNzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhdGNoIGZhaWxlZCBhdCAlcyAlLipzIgogbXNnc3RyICLQntGI0LjQsdC60LAg0L/RgNC40LzQtdC90LXQvdC40Y8g0LjQt9C80LXQvdC10L3QuNC5INC90LAgJXMgJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE4MzgKKyM6IGJ1aWx0aW4vYW0uYzoxNzc5CiBtc2dpZCAiVXNlICdnaXQgYW0gLS1zaG93LWN1cnJlbnQtcGF0Y2gnIHRvIHNlZSB0aGUgZmFpbGVkIHBhdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODgyCisjOiBidWlsdGluL2FtLmM6MTgyMwogbXNnaWQgIiIKICJObyBjaGFuZ2VzIC0gZGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz9cbiIKICJJZiB0aGVyZSBpcyBub3RoaW5nIGxlZnQgdG8gc3RhZ2UsIGNoYW5jZXMgYXJlIHRoYXQgc29tZXRoaW5nIGVsc2VcbiIKICJhbHJlYWR5IGludHJvZHVjZWQgdGhlIHNhbWUgY2hhbmdlczsgeW91IG1pZ2h0IHdhbnQgdG8gc2tpcCB0aGlzIHBhdGNoLiIKIG1zZ3N0ciAi0J3QtdGCINC40LfQvNC10L3QtdC90LjQuSDigJQg0LLQvtC30LzQvtC20L3Qviwg0LLRiyDQt9Cw0LHRi9C70Lgg0LLRi9C30LLQsNGC0YwgwqtnaXQgYWRkwrs/XG7QldGB0LvQuCDQvdC40YfQtdCz0L4g0L3QtSDQvtGB0YLQsNC70L7RgdGMINC00LvRjyDQuNC90LTQtdC60YHQsNGG0LjQuCwg0YLQviwg0YHQutC+0YDQtdC1INCy0YHQtdCz0L4sINGH0YLQvi3RgtC+INC00YDRg9Cz0L7QtSDRg9C20LUg0YHQtNC10LvQsNC70L4g0YLQtSDQttC1INC40LfQvNC10L3QtdC90LjRjzsg0LLQvtC30LzQvtC20L3Qviwg0LLQsNC8INGB0LvQtdC00YPQtdGCINC/0YDQvtC/0YPRgdGC0LjRgtGMINGN0YLQvtGCINC/0LDRgtGHLiIKIAotIzogYnVpbHRpbi9hbS5jOjE4ODkKKyM6IGJ1aWx0aW4vYW0uYzoxODMwCiBtc2dpZCAiIgogIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCiAiWW91IHNob3VsZCAnZ2l0IGFkZCcgZWFjaCBmaWxlIHdpdGggcmVzb2x2ZWQgY29uZmxpY3RzIHRvIG1hcmsgdGhlbSBhcyBzdWNoLlxuIgogIllvdSBtaWdodCBydW4gYGdpdCBybWAgb24gYSBmaWxlIHRvIGFjY2VwdCBcImRlbGV0ZWQgYnkgdGhlbVwiIGZvciBpdC4iCiBtc2dzdHIgItCjINCy0LDRgSDQtdGB0YLRjCDQvdC1INGB0LvQuNGC0YvQtSDQv9GD0YLQuCDQsiDQuNC90LTQtdC60YHQtS5cbtCS0Ysg0LTQvtC70LbQvdGLINCy0YvQv9C+0LvQvdC40YLRjCDCq2dpdCBhZGTCuyDQtNC70Y8g0LrQsNC20LTQvtCz0L4g0YTQsNC50LvQsCDRgSDRgNCw0LfRgNC10YjQtdC90L3Ri9C80Lgg0LrQvtC90YTQu9C40LrRgtCw0LzQuCwg0YfRgtC+0LHRiyDQv9C+0LzQtdGC0LjRgtGMINC40YUg0YLQsNC60L7QstGL0LzQuC5cbtCS0Ysg0LzQvtC20LXRgtC1INC30LDQv9GD0YHRgtC40YLRjCDCq2dpdCBybcK7INGBINC40LzQtdC90LXQvCDRhNCw0LnQu9CwLCDRh9GC0L7QsdGLINC/0L7QvNC10YLQuNGC0Ywg0LXQs9C+INC60LDQuiDCq9GD0LTQsNC70LXQvdC+INC40LzQuMK7LiIKIAotIzogYnVpbHRpbi9hbS5jOjE5OTYgYnVpbHRpbi9hbS5jOjIwMDAgYnVpbHRpbi9hbS5jOjIwMTIgYnVpbHRpbi9yZXNldC5jOjMyNAotIzogYnVpbHRpbi9yZXNldC5jOjMzMgorIzogYnVpbHRpbi9hbS5jOjE5MzcgYnVpbHRpbi9hbS5jOjE5NDEgYnVpbHRpbi9hbS5jOjE5NTMgYnVpbHRpbi9yZXNldC5jOjMyOQorIzogYnVpbHRpbi9yZXNldC5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDQvtCx0YrQtdC60YIgwqslc8K7LiIKIAotIzogYnVpbHRpbi9hbS5jOjIwNDgKKyM6IGJ1aWx0aW4vYW0uYzoxOTg5CiBtc2dpZCAiZmFpbGVkIHRvIGNsZWFuIGluZGV4IgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YfQuNGB0YLQuNGC0Ywg0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL2FtLmM6MjA4MworIzogYnVpbHRpbi9hbS5jOjIwMzMKIG1zZ2lkICIiCiAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFEIHNpbmNlIHRoZSBsYXN0ICdhbScgZmFpbHVyZS5cbiIKICJOb3QgcmV3aW5kaW5nIHRvIE9SSUdfSEVBRCIKIG1zZ3N0ciAi0J/QvtGF0L7QttC1LCDRh9GC0L4g0LLRiyDQv9C10YDQtdC80LXRgdGC0LjQu9C4IEhFQUQg0YEg0LzQvtC80LXQvdGC0LAg0L/QvtGB0LvQtdC00L3QtdC5INC+0YjQuNCx0LrQuCDQstGL0L/QvtC70L3QtdC90LjRjyDCq2FtwrsuXG7Qn9C10YDQtdC80L7RgtC60LAg0L3QsCBPUklHX0hFQUQg0L3QtSDQstGL0L/QvtC70L3Rj9C10YLRgdGPIgogCi0jOiBidWlsdGluL2FtLmM6MjE3NAorIzogYnVpbHRpbi9hbS5jOjIxMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgLS1wYXRjaC1mb3JtYXQ6ICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8gLS1wYXRjaC1mb3JtYXQ6ICVzIgogCi0jOiBidWlsdGluL2FtLmM6MjIxMAorIzogYnVpbHRpbi9hbS5jOjIxNjYKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKIG1zZ3N0ciAiZ2l0IGFtIFs80L7Qv9GG0LjQuD5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KeKApl0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjExCisjOiBidWlsdGluL2FtLmM6MjE2NwogbXNnaWQgImdpdCBhbSBbPG9wdGlvbnM+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgogbXNnc3RyICJnaXQgYW0gWzzQvtC/0YbQuNC4Pl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIAotIzogYnVpbHRpbi9hbS5jOjIyMTcKKyM6IGJ1aWx0aW4vYW0uYzoyMTczCiBtc2dpZCAicnVuIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgItC30LDQv9GD0YHRgtC40YLRjCDQsiDQuNC90YLQtdGA0LDQutGC0LjQstC90L7QvCDRgNC10LbQuNC80LUiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjE5CisjOiBidWlsdGluL2FtLmM6MjE3NQogbXNnaWQgImhpc3RvcmljYWwgb3B0aW9uIC0tIG5vLW9wIgogbXNnc3RyICLQuNGB0YLQvtGA0LjRh9C10YHQutCw0Y8g0L7Qv9GG0LjRjyDigJQg0L3QuNGH0LXQs9C+INC90LUg0LTQtdC70LDQtdGCIgogCi0jOiBidWlsdGluL2FtLmM6MjIyMQorIzogYnVpbHRpbi9hbS5jOjIxNzcKIG1zZ2lkICJhbGxvdyBmYWxsIGJhY2sgb24gM3dheSBtZXJnaW5nIGlmIG5lZWRlZCIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINC+0YLQutCw0YLQuNGC0YzRgdGPINC6INGC0YDQtdGF0YXQvtC00L7QstC+0LzRgyDRgdC70LjRj9C90LjRjiwg0LXRgdC70Lgg0L3Rg9C20L3QviIKIAotIzogYnVpbHRpbi9hbS5jOjIyMjIgYnVpbHRpbi9pbml0LWRiLmM6NDg1IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTgKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk5CisjOiBidWlsdGluL2FtLmM6MjE3OCBidWlsdGluL2luaXQtZGIuYzo0OTQgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1OAorIzogYnVpbHRpbi9yZXBhY2suYzozMDYgYnVpbHRpbi9zdGFzaC5jOjgwNQogbXNnaWQgImJlIHF1aWV0IgogbXNnc3RyICLRgtC40YXQuNC5INGA0LXQttC40LwiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjI0CisjOiBidWlsdGluL2FtLmM6MjE4MAogbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnkgbGluZSB0byB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0YHRgtGA0L7QutGDIFNpZ25lZC1vZmYtYnkg0Log0YHQvtC+0LHRidC10L3QuNGOINC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL2FtLmM6MjIyNworIzogYnVpbHRpbi9hbS5jOjIxODMKIG1zZ2lkICJyZWNvZGUgaW50byB1dGY4IChkZWZhdWx0KSIKIG1zZ3N0ciAi0L/QtdGA0LXQutC+0LTQuNGA0L7QstCw0YLRjCDQsiB1dGY4ICjQv9C+INGD0LzQvtC70YfQsNC90LjRjikiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjI5CisjOiBidWlsdGluL2FtLmM6MjE4NQogbXNnaWQgInBhc3MgLWsgZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgItC/0LXRgNC10LTQsNGC0Ywg0YTQu9Cw0LMgLWsg0LIgZ2l0LW1haWxpbmZvIgogCi0jOiBidWlsdGluL2FtLmM6MjIzMQorIzogYnVpbHRpbi9hbS5jOjIxODcKIG1zZ2lkICJwYXNzIC1iIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICLQv9C10YDQtdC00LDRgtGMINGE0LvQsNCzIC1iINCyIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzMKKyM6IGJ1aWx0aW4vYW0uYzoyMTg5CiBtc2dpZCAicGFzcyAtbSBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0YLRjCDRhNC70LDQsyAtbSDQsiBnaXQtbWFpbGluZm8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM1CisjOiBidWlsdGluL2FtLmM6MjE5MQogbXNnaWQgInBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBmb3IgbWJveCBmb3JtYXQiCiBtc2dzdHIgItC/0LXRgNC10LTQsNGC0Ywg0YTQu9Cw0LMgLS1rZWVwLWNyINCyIGdpdC1tYWlsc3BsaXQg0LTQu9GPINGE0L7RgNC80LDRgtCwIG1ib3giCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjM4CisjOiBidWlsdGluL2FtLmM6MjE5NAogbXNnaWQgImRvIG5vdCBwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgaW5kZXBlbmRlbnQgb2YgYW0ua2VlcGNyIgogbXNnc3RyICLQvdC1INC/0LXRgNC10LTQsNCy0LDRgtGMIC0ta2VlcC1jciDRhNC70LDQsyDQsiBnaXQtbWFpbHNwbGl0INCy0L3QtSDQt9Cw0LLQuNGB0LjQvNC+0YHRgtC4INC+0YIgYW0ua2VlcGNyIgogCi0jOiBidWlsdGluL2FtLmM6MjI0MQorIzogYnVpbHRpbi9hbS5jOjIxOTcKIG1zZ2lkICJzdHJpcCBldmVyeXRoaW5nIGJlZm9yZSBhIHNjaXNzb3JzIGxpbmUiCiBtc2dzdHIgItC+0LHRgNC10LfQsNGC0Ywg0LLRgdC1INC00L4g0YHRgtGA0L7QutC4INC+0LHRgNC10LfQutC4IgogCi0jOiBidWlsdGluL2FtLmM6MjI0MyBidWlsdGluL2FtLmM6MjI0NiBidWlsdGluL2FtLmM6MjI0OSBidWlsdGluL2FtLmM6MjI1MgotIzogYnVpbHRpbi9hbS5jOjIyNTUgYnVpbHRpbi9hbS5jOjIyNTggYnVpbHRpbi9hbS5jOjIyNjEgYnVpbHRpbi9hbS5jOjIyNjQKLSM6IGJ1aWx0aW4vYW0uYzoyMjcwCisjOiBidWlsdGluL2FtLmM6MjE5OSBidWlsdGluL2FtLmM6MjIwMiBidWlsdGluL2FtLmM6MjIwNSBidWlsdGluL2FtLmM6MjIwOAorIzogYnVpbHRpbi9hbS5jOjIyMTEgYnVpbHRpbi9hbS5jOjIyMTQgYnVpbHRpbi9hbS5jOjIyMTcgYnVpbHRpbi9hbS5jOjIyMjAKKyM6IGJ1aWx0aW4vYW0uYzoyMjI2CiBtc2dpZCAicGFzcyBpdCB0aHJvdWdoIGdpdC1hcHBseSIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0YLRjCDQtdCz0L4g0LIgZ2l0LWFwcGx5IgogCi0jOiBidWlsdGluL2FtLmM6MjI2MCBidWlsdGluL2NvbW1pdC5jOjEzMzIgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcwCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzMgYnVpbHRpbi9ncmVwLmM6ODU3IGJ1aWx0aW4vbWVyZ2UuYzoyMzcKLSM6IGJ1aWx0aW4vcHVsbC5jOjE1MCBidWlsdGluL3B1bGwuYzoyMDggYnVpbHRpbi9yZXBhY2suYzozMDgKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEyIGJ1aWx0aW4vcmVwYWNrLmM6MzE0IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzAgYnVpbHRpbi90YWcuYzozODQgcGFyc2Utb3B0aW9ucy5oOjE0NAotIzogcGFyc2Utb3B0aW9ucy5oOjE0NiBwYXJzZS1vcHRpb25zLmg6MjU4CisjOiBidWlsdGluL2FtLmM6MjIxNiBidWlsdGluL2NvbW1pdC5jOjEzNDggYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzQgYnVpbHRpbi9ncmVwLmM6ODc5IGJ1aWx0aW4vbWVyZ2UuYzoyNDcKKyM6IGJ1aWx0aW4vcHVsbC5jOjE1OCBidWlsdGluL3B1bGwuYzoyMTcgYnVpbHRpbi9yZWJhc2UuYzoxNDEyCisjOiBidWlsdGluL3JlcGFjay5jOjMxNyBidWlsdGluL3JlcGFjay5jOjMyMSBidWlsdGluL3JlcGFjay5jOjMyMworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MSBidWlsdGluL3Nob3ctcmVmLmM6MTcyIGJ1aWx0aW4vdGFnLmM6Mzk3CisjOiBwYXJzZS1vcHRpb25zLmg6MTQxIHBhcnNlLW9wdGlvbnMuaDoxNjIgcGFyc2Utb3B0aW9ucy5oOjMxMQogbXNnaWQgIm4iCiBtc2dzdHIgIm4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjY2IGJ1aWx0aW4vYnJhbmNoLmM6NjQzIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzgKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0MyBidWlsdGluL3RhZy5jOjQyMCBidWlsdGluL3ZlcmlmeS10YWcuYzozOQorIzogYnVpbHRpbi9hbS5jOjIyMjIgYnVpbHRpbi9icmFuY2guYzo2NTMgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU0IGJ1aWx0aW4vdGFnLmM6NDMxIGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM5CiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICLRhNC+0YDQvNCw0YIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjY3CisjOiBidWlsdGluL2FtLmM6MjIyMwogbXNnaWQgImZvcm1hdCB0aGUgcGF0Y2goZXMpIGFyZSBpbiIKIG1zZ3N0ciAi0YTQvtGA0LzQsNGCLCDQsiDQutC+0YLQvtGA0L7QvCDQvdCw0YXQvtC00Y/RgtGB0Y8g0L/QsNGC0YfQuCIKIAotIzogYnVpbHRpbi9hbS5jOjIyNzMKKyM6IGJ1aWx0aW4vYW0uYzoyMjI5CiBtc2dpZCAib3ZlcnJpZGUgZXJyb3IgbWVzc2FnZSB3aGVuIHBhdGNoIGZhaWx1cmUgb2NjdXJzIgogbXNnc3RyICLQv9C10YDQtdC+0L/RgNC10LTQtdC70LjRgtGMINGB0L7QvtCx0YnQtdC90LjQtSDQvtCxINC+0YjQuNCx0LrQtSwg0LXRgdC70Lgg0L3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0LvQvtC20LjRgtGMINC40LfQvNC10L3QtdC90LjRjyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNzUKKyM6IGJ1aWx0aW4vYW0uYzoyMjMxCiBtc2dpZCAiY29udGludWUgYXBwbHlpbmcgcGF0Y2hlcyBhZnRlciByZXNvbHZpbmcgYSBjb25mbGljdCIKIG1zZ3N0ciAi0L/RgNC+0LTQvtC70LbQuNGC0Ywg0L/RgNC40LzQtdC90LXQvdC40LUg0LjQt9C80LXQvdC10L3QuNC5INC/0L7RgdC70LUg0YDQsNC30YDQtdGI0LXQvdC40Y8g0LrQvtC90YTQuNC70LjQutGC0LAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjc4CisjOiBidWlsdGluL2FtLmM6MjIzNAogbXNnaWQgInN5bm9ueW1zIGZvciAtLWNvbnRpbnVlIgogbXNnc3RyICLRgdC40L3QvtC90LjQvCDQtNC70Y8gLS1jb250aW51ZSIKIAotIzogYnVpbHRpbi9hbS5jOjIyODEKKyM6IGJ1aWx0aW4vYW0uYzoyMjM3CiBtc2dpZCAic2tpcCB0aGUgY3VycmVudCBwYXRjaCIKIG1zZ3N0ciAi0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0YLQtdC60YPRidC40Lkg0L/QsNGC0YciCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjg0CisjOiBidWlsdGluL2FtLmM6MjI0MAogbXNnaWQgInJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgYWJvcnQgdGhlIHBhdGNoaW5nIG9wZXJhdGlvbi4iCiBtc2dzdHIgItCy0L7RgdGB0YLQsNC90L7QstC40YLRjCDQvtGA0LjQs9C40L3QsNC70YzQvdGD0Y4g0LLQtdGC0LrRgyDQuCDQvtGC0LzQtdC90LjRgtGMINC+0L/QtdGA0LDRhtC40Y4g0L/RgNC40LzQtdC90LXQvdC40Y8g0LjQt9C80LXQvdC10L3QuNC5LiIKIAotIzogYnVpbHRpbi9hbS5jOjIyODcKKyM6IGJ1aWx0aW4vYW0uYzoyMjQzCiBtc2dpZCAiYWJvcnQgdGhlIHBhdGNoaW5nIG9wZXJhdGlvbiBidXQga2VlcCBIRUFEIHdoZXJlIGl0IGlzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI5MAorIzogYnVpbHRpbi9hbS5jOjIyNDYKIG1zZ2lkICJzaG93IHRoZSBwYXRjaCBiZWluZyBhcHBsaWVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2FtLmM6MjI5NAorIzogYnVpbHRpbi9hbS5jOjIyNTAKIG1zZ2lkICJsaWUgYWJvdXQgY29tbWl0dGVyIGRhdGUiCiBtc2dzdHIgItGB0L7QstGA0LDRgtGMINC+INC00LDRgtC1INC60L7QvNC80LjRgtC10YDQsCIKIAotIzogYnVpbHRpbi9hbS5jOjIyOTYKKyM6IGJ1aWx0aW4vYW0uYzoyMjUyCiBtc2dpZCAidXNlIGN1cnJlbnQgdGltZXN0YW1wIGZvciBhdXRob3IgZGF0ZSIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0LXQutGD0YnQtdC1INCy0YDQtdC80Y8g0LrQsNC6INCy0YDQtdC80Y8g0LDQstGC0L7RgNGB0YLQstCwIgogCi0jOiBidWlsdGluL2FtLmM6MjI5OCBidWlsdGluL2NvbW1pdC5jOjE0NjggYnVpbHRpbi9tZXJnZS5jOjI3MQotIzogYnVpbHRpbi9wdWxsLmM6MTgzIGJ1aWx0aW4vcmV2ZXJ0LmM6MTEzIGJ1aWx0aW4vdGFnLmM6NDAwCisjOiBidWlsdGluL2FtLmM6MjI1NCBidWlsdGluL2NvbW1pdC10cmVlLmM6MTIwIGJ1aWx0aW4vY29tbWl0LmM6MTQ5MQorIzogYnVpbHRpbi9tZXJnZS5jOjI4MiBidWlsdGluL3B1bGwuYzoxOTIgYnVpbHRpbi9yZWJhc2UuYzo0ODkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1MyBidWlsdGluL3JldmVydC5jOjExNiBidWlsdGluL3RhZy5jOjQxMgogbXNnaWQgImtleS1pZCIKIG1zZ3N0ciAia2V5LWlkIgogCi0jOiBidWlsdGluL2FtLmM6MjI5OQorIzogYnVpbHRpbi9hbS5jOjIyNTUgYnVpbHRpbi9yZWJhc2UuYzo0OTAgYnVpbHRpbi9yZWJhc2UuYzoxNDU0CiBtc2dpZCAiR1BHLXNpZ24gY29tbWl0cyIKIG1zZ3N0ciAi0L/QvtC00L/QuNGB0LDRgtGMINC60L7QvNC80LjRgtGLINGBINC/0L7QvNC+0YnRjNGOIEdQRyIKIAotIzogYnVpbHRpbi9hbS5jOjIzMDIKKyM6IGJ1aWx0aW4vYW0uYzoyMjU4CiBtc2dpZCAiKGludGVybmFsIHVzZSBmb3IgZ2l0LXJlYmFzZSkiCiBtc2dzdHIgIijQstC90YPRgtGA0LXQvdC90LXQtSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtSDQtNC70Y8gZ2l0LXJlYmFzZSkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzIwCisjOiBidWlsdGluL2FtLmM6MjI3NgogbXNnaWQgIiIKICJUaGUgLWIvLS1iaW5hcnkgb3B0aW9uIGhhcyBiZWVuIGEgbm8tb3AgZm9yIGxvbmcgdGltZSwgYW5kXG4iCiAiaXQgd2lsbCBiZSByZW1vdmVkLiBQbGVhc2UgZG8gbm90IHVzZSBpdCBhbnltb3JlLiIKIG1zZ3N0ciAi0J7Qv9GG0LjRjyAtYi8tLWJpbmFyeSDRg9C20LUg0LTQvtC70LPQvtC1INCy0YDQtdC80Y8g0L3QuNGH0LXQs9C+INC90LUg0LTQtdC70LDQtdGCINC4INCx0YPQtNC10YIg0YPQtNCw0LvQtdC90LAg0YEg0YHQu9C10LTRg9GO0YnQuNGFINCy0LXRgNGB0LjRj9GFIEdpdC4g0J/QvtC20LDQu9GD0LnRgdGC0LAsINC90LUg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQtdC1LiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMjcKKyM6IGJ1aWx0aW4vYW0uYzoyMjgzCiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICLRgdCx0L7QuSDRh9GC0LXQvdC40Y8g0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzQyCisjOiBidWlsdGluL2FtLmM6MjI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmV2aW91cyByZWJhc2UgZGlyZWN0b3J5ICVzIHN0aWxsIGV4aXN0cyBidXQgbWJveCBnaXZlbi4iCiBtc2dzdHIgItC/0YDQtdC00YvQtNGD0YnQuNC5INC60LDRgtCw0LvQvtCzINC/0LXRgNC10LzQtdGJ0LXQvdC40Y8gJXMg0LXRidC1INGB0YPRidC10YHRgtCy0YPQtdGCLCDQvdC+INC/0LXRgNC10LTQsNC9IG1ib3guIgogCi0jOiBidWlsdGluL2FtLmM6MjM2NgorIzogYnVpbHRpbi9hbS5jOjIzMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN0cmF5ICVzIGRpcmVjdG9yeSBmb3VuZC5cbiIKICJVc2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlbW92ZSBpdC4iCiBtc2dzdHIgItCd0LDQudC00LXQvSDQt9Cw0LHRi9GC0YvQuSDQutCw0YLQsNC70L7QsyAlcy5cbtCY0YHQv9C+0LvRjNC30YPQudGC0LUgwqtnaXQgYW0gLS1hYm9ydMK7LCDRh9GC0L7QsdGLINGD0LTQsNC70LjRgtGMINC10LPQvi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzcyCisjOiBidWlsdGluL2FtLmM6MjMyOAogbXNnaWQgIlJlc29sdmUgb3BlcmF0aW9uIG5vdCBpbiBwcm9ncmVzcywgd2UgYXJlIG5vdCByZXN1bWluZy4iCiBtc2dzdHIgItCe0L/QtdGA0LDRhtC40Y8g0YDQsNC30YDQtdGI0LXQvdC40Y8g0LrQvtC90YTQu9C40LrRgtC+0LIg0L3QtSDQsiDQv9GA0L7RhtC10YHRgdC1INCy0YvQv9C+0LvQvdC10L3QuNGPLCDQvdC1INC/0YDQvtC00L7Qu9C20LDQtdC8LiIKIApAQCAtNjc0OSwyMjEgKzgzMDAsNDEwIEBACiBtc2dpZCAiZ2l0IGFyY2hpdmU6IFJlbW90ZSB3aXRoIG5vIFVSTCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmU6INCy0L3QtdGI0L3QuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0LHQtdC3IFVSTCIKIAotIzogYnVpbHRpbi9hcmNoaXZlLmM6NTgKKyM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjYxCiBtc2dpZCAiZ2l0IGFyY2hpdmU6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBhIGZsdXNoIHBhY2tldCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmU6INC+0LbQuNC00LDQtdGC0YHRjyBBQ0svTkFLLCDQv9C+0LvRg9GH0LXQvSDQv9Cw0LrQtdGCINGB0LHRgNC+0YHQsCDQsdGD0YTQtdGA0LAiCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjYxCisjOiBidWlsdGluL2FyY2hpdmUuYzo2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXJjaGl2ZTogTkFDSyAlcyIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmU6IE5BQ0sgJXMiCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY0CisjOiBidWlsdGluL2FyY2hpdmUuYzo2NQogbXNnaWQgImdpdCBhcmNoaXZlOiBwcm90b2NvbCBlcnJvciIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmU6INC+0YjQuNCx0LrQsCDQv9GA0L7RgtC+0LrQvtC70LAiCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY4CisjOiBidWlsdGluL2FyY2hpdmUuYzo2OQogbXNnaWQgImdpdCBhcmNoaXZlOiBleHBlY3RlZCBhIGZsdXNoIgogbXNnc3RyICJnaXQgYXJjaGl2ZTog0L7QttC40LTQsNC70YHRjyDRgdCx0YDQvtGBINCx0YPRhNC10YDQsCIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjIKIG1zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1uZXh0LWFsbCBbLS1uby1jaGVja291dF0iCiBtc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLW5leHQtYWxsIFstLW5vLWNoZWNrb3V0XSIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEzCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjMKIG1zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS13cml0ZS10ZXJtcyA8YmFkX3Rlcm0+IDxnb29kX3Rlcm0+IgogbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS13cml0ZS10ZXJtcyA80L/Qu9C+0YXQvtC1LdC+0L/RgNC10LTQtdC70LXQvdC40LU+IDzRhdC+0YDQvtGI0LXQtS3QvtC/0YDQtdC00LXQu9C10L3QuNC1PiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE0CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjQKIG1zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2xlYW4tc3RhdGUiCiBtc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1jbGVhbi1zdGF0ZSIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjQ2CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjUKK21zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtcmVzZXQgWzxjb21taXQ+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjYKK21zZ2lkICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXdyaXRlIFstLW5vLWxvZ10gPHN0YXRlPiA8cmV2aXNpb24+IDxnb29kX3Rlcm0+ICIKKyI8YmFkX3Rlcm0+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNworbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2hlY2stYW5kLXNldC10ZXJtcyA8Y29tbWFuZD4gPGdvb2RfdGVybT4gIgorIjxiYWRfdGVybT4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI4Cittc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LW5leHQtY2hlY2sgPGdvb2RfdGVybT4gPGJhZF90ZXJtPiBbPHRlcm0+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjkKK21zZ2lkICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXRlcm1zIFstLXRlcm0tZ29vZCB8IC0tdGVybS1vbGQgfCAtLXRlcm0tYmFkIHwgIgorIi0tdGVybS1uZXddIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozMAorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtc3RhcnQgWy0tdGVybS17b2xkLGdvb2R9PTx0ZXJtPiAiCisiLS10ZXJtLXtuZXcsYmFkfT08dGVybT5dWy0tbm8tY2hlY2tvdXRdIFs8YmFkPiBbPGdvb2Q+Li4uXV0gWy0tXSAiCisiWzxwYXRocz4uLi5dIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo4NgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRlcm0iCiBtc2dzdHIgIsKrJXPCuyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LTQvtC/0YPRgdGC0LjQvNGL0Lwg0L7Qv9GA0LXQtNC10LvQtdC90LjQtdC8IgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTAKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW4ndCB1c2UgdGhlIGJ1aWx0aW4gY29tbWFuZCAnJXMnIGFzIGEgdGVybSIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQstGB0YLRgNC+0LXQvdC90YPRjiDQutC+0LzQsNC90LTRgyDCqyVzwrsg0LrQsNC6INC+0L/RgNC10LTQtdC70LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2MAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW4ndCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIHRlcm0gJyVzJyIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC40LfQvNC10L3QuNGC0Ywg0LfQvdCw0YfQtdC90LjQtSDQvtC/0YDQtdC00LXQu9C10L3QuNGPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjcxCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTExCiBtc2dpZCAicGxlYXNlIHVzZSB0d28gZGlmZmVyZW50IHRlcm1zIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9GD0LnRgtC1INC00LLQsCDRgNCw0LfQvdGL0YUg0L7Qv9GA0LXQtNC10LvQtdC90LjRjyIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjc4CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTE4CiBtc2dpZCAiY291bGQgbm90IG9wZW4gdGhlIGZpbGUgQklTRUNUX1RFUk1TIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMINGE0LDQudC7IEJJU0VDVF9URVJNUyIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyMAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJXZSBhcmUgbm90IGJpc2VjdGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvdWxkIG5vdCBjaGVjayBvdXQgb3JpZ2luYWwgSEVBRCAnJXMnLiBUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPGNvbW1pdD4nLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCBiaXNlY3Rfd3JpdGUgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZ2V0IHRoZSBvaWQgb2YgdGhlIHJldiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qgb3BlbiB0aGUgZmlsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjb21tYW5kOiB5b3UncmUgY3VycmVudGx5IGluIGEgJXMvJXMgYmlzZWN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICVzIGFuZCAlcyByZXZpc2lvbi5cbiIKKyJZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJXNcIiBhbmQgXCJnaXQgYmlzZWN0ICVzXCIgZm9yIHRoYXQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBuZWVkIHRvIHN0YXJ0IGJ5IFwiZ2l0IGJpc2VjdCBzdGFydFwiLlxuIgorIllvdSB0aGVuIG5lZWQgdG8gZ2l2ZSBtZSBhdCBsZWFzdCBvbmUgJXMgYW5kICVzIHJldmlzaW9uLlxuIgorIllvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCAlc1wiIGFuZCBcImdpdCBiaXNlY3QgJXNcIiBmb3IgdGhhdC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICJiaXNlY3Rpbmcgb25seSB3aXRoIGEgJXMgY29tbWl0IgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbWV0gYW5kIFtuXSBpbiB5b3VyCisjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CisjLiBhdCB0aGlzIHBvaW50LgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjMyOQorbXNnaWQgIkFyZSB5b3Ugc3VyZSBbWS9uXT8gIgorbXNnc3RyICLQktGLINGD0LLQtdGA0LXQvdGLIFtZIC0g0LTQsC9uIC0g0L3QtdGCXT8gIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Mzc2Cittc2dpZCAibm8gdGVybXMgZGVmaW5lZCIKK21zZ3N0ciAi0L7Qv9GA0LXQtNC10LvQtdC90LjRjyDQvdC1INC30LDQtNCw0L3RiyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBjdXJyZW50IHRlcm1zIGFyZSAlcyBmb3IgdGhlIG9sZCBzdGF0ZVxuIgorImFuZCAlcyBmb3IgdGhlIG5ldyBzdGF0ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJpbnZhbGlkIGFyZ3VtZW50ICVzIGZvciAnZ2l0IGJpc2VjdCB0ZXJtcycuXG4iCisiU3VwcG9ydGVkIG9wdGlvbnMgYXJlOiAtLXRlcm0tZ29vZHwtLXRlcm0tb2xkIGFuZCAtLXRlcm0tYmFkfC0tdGVybS1uZXcuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbjogJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NDc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgdmFsaWQgcmV2aXNpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjUxMQorbXNnaWQgImJhZCBIRUFEIC0gSSBuZWVkIGEgSEVBRCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNraW5nIG91dCAnJXMnIGZhaWxlZC4gVHJ5ICdnaXQgYmlzZWN0IHN0YXJ0IDx2YWxpZC1icmFuY2g+Jy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjU0NworbXNnaWQgIndvbid0IGJpc2VjdCBvbiBjZy1zZWVrJ2VkIHRyZWUiCittc2dzdHIgItC90LXQu9GM0LfRjyDQstGL0L/QvtC70L3QuNGC0Ywg0LTQstC+0LjRh9C90YvQuSDQv9C+0LjRgdC6INC90LAg0LTQtdGA0LXQstC1INC/0L7RgdC70LUgY2ctc2VlayIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjU1MAorbXNnaWQgImJhZCBIRUFEIC0gc3RyYW5nZSBzeW1ib2xpYyByZWYiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYyNwogbXNnaWQgInBlcmZvcm0gJ2dpdCBiaXNlY3QgbmV4dCciCiBtc2dzdHIgItCy0YvQv9C+0LvQvdC40YLRjCDCq2dpdCBiaXNlY3QgbmV4dMK7IgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTIyCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjI5CiBtc2dpZCAid3JpdGUgdGhlIHRlcm1zIHRvIC5naXQvQklTRUNUX1RFUk1TIgogbXNnc3RyICLQt9Cw0L/QuNGB0LDRgtGMINC+0L/RgNC10LTQtdC70LXQvdC40Y8g0LIgLmdpdC9CSVNFQ1RfVEVSTVMiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMjQKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2MzEKIG1zZ2lkICJjbGVhbnVwIHRoZSBiaXNlY3Rpb24gc3RhdGUiCiBtc2dzdHIgItC+0YfQuNGB0YLQuNGC0Ywg0YHQvtGB0YLQvtGP0L3QuNC1INC00LLQvtC40YfQvdC+0LPQviDQv9C+0LjRgdC60LAiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMjYKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2MzMKIG1zZ2lkICJjaGVjayBmb3IgZXhwZWN0ZWQgcmV2cyIKIG1zZ3N0ciAi0L/RgNC+0LLQtdGA0LjRgtGMINC+0LbQuNC00LDQtdC80YvQtSDRgNC10LTQsNC60YbQuNC4IgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTI4CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM1Cittc2dpZCAicmVzZXQgdGhlIGJpc2VjdGlvbiBzdGF0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM3Cittc2dpZCAid3JpdGUgb3V0IHRoZSBiaXNlY3Rpb24gc3RhdGUgaW4gQklTRUNUX0xPRyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM5Cittc2dpZCAiY2hlY2sgYW5kIHNldCB0ZXJtcyBpbiBhIGJpc2VjdGlvbiBzdGF0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQxCittc2dpZCAiY2hlY2sgd2hldGhlciBiYWQgb3IgZ29vZCB0ZXJtcyBleGlzdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQzCittc2dpZCAicHJpbnQgb3V0IHRoZSBiaXNlY3QgdGVybXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0NQorbXNnaWQgInN0YXJ0IHRoZSBiaXNlY3Qgc2Vzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQ3CiBtc2dpZCAidXBkYXRlIEJJU0VDVF9IRUFEIGluc3RlYWQgb2YgY2hlY2tpbmcgb3V0IHRoZSBjdXJyZW50IGNvbW1pdCIKIG1zZ3N0ciAi0L7QsdC90L7QstC40YLRjCBCSVNFQ1RfSEVBRCDQstC80LXRgdGC0L4g0L/QtdGA0LXRhdC+0LTQsCDQvdCwINGC0LXQutGD0YnQuNC5INC60L7QvNC80LjRgiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE0MworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0OQorbXNnaWQgIm5vIGxvZyBmb3IgQklTRUNUX1dSSVRFIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NjYKIG1zZ2lkICItLXdyaXRlLXRlcm1zIHJlcXVpcmVzIHR3byBhcmd1bWVudHMiCiBtc2dzdHIgIi0td3JpdGUtdGVybXMg0YLRgNC10LHRg9C10YIg0YPQutCw0LfQsNC90LjRjyDQtNCy0YPRhSDQv9Cw0YDQsNC80LXRgtGA0L7QsiIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE0NworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY3MAogbXNnaWQgIi0tYmlzZWN0LWNsZWFuLXN0YXRlIHJlcXVpcmVzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiLS1iaXNlY3QtY2xlYW4tc3RhdGUg0L3QtSDRgtGA0LXQsdGD0LXRgiDRg9C60LDQt9Cw0L3QuNGPINC/0LDRgNCw0LzQtdGC0YDQvtCyIgogCi0jOiBidWlsdGluL2JsYW1lLmM6MzEKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NzcKK21zZ2lkICItLWJpc2VjdC1yZXNldCByZXF1aXJlcyBlaXRoZXIgbm8gYXJndW1lbnQgb3IgYSBjb21taXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY4MQorbXNnaWQgIi0tYmlzZWN0LXdyaXRlIHJlcXVpcmVzIGVpdGhlciA0IG9yIDUgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2ODcKK21zZ2lkICItLWNoZWNrLWFuZC1zZXQtdGVybXMgcmVxdWlyZXMgMyBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY5MworbXNnaWQgIi0tYmlzZWN0LW5leHQtY2hlY2sgcmVxdWlyZXMgMiBvciAzIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Njk5Cittc2dpZCAiLS1iaXNlY3QtdGVybXMgcmVxdWlyZXMgMCBvciAxIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzozMgogbXNnaWQgImdpdCBibGFtZSBbPG9wdGlvbnM+XSBbPHJldi1vcHRzPl0gWzxyZXY+XSBbLS1dIDxmaWxlPiIKIG1zZ3N0ciAiZ2l0IGJsYW1lIFs80L7Qv9GG0LjQuD5dIFs80L7Qv9GG0LjQuC3RgNC10LTQsNC60YbQuNC4Pl0gWzzRgNC10LTQsNC60YbQuNGPPl0gWy0tXSA80YTQsNC50Ls+IgogCi0jOiBidWlsdGluL2JsYW1lLmM6MzYKKyM6IGJ1aWx0aW4vYmxhbWUuYzozNwogbXNnaWQgIjxyZXYtb3B0cz4gYXJlIGRvY3VtZW50ZWQgaW4gZ2l0LXJldi1saXN0KDEpIgogbXNnc3RyICI80L7Qv9GG0LjQuC1yZXYtbGlzdD4g0LTQvtC60YPQvNC10L3RgtC40YDQvtCy0LDQvdGLINCyIGdpdC1yZXYtbGlzdCgxKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjQwNgorIzogYnVpbHRpbi9ibGFtZS5jOjQwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RpbmcgYSBjb2xvcjogJXMiCiBtc2dzdHIgItC+0LbQuNC00LDQtdGC0YHRjyDRhtCy0LXRgjogJXMiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo0MTMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo0MTQKIG1zZ2lkICJtdXN0IGVuZCB3aXRoIGEgY29sb3IiCiBtc2dzdHIgItC00L7Qu9C20L3QviDQt9Cw0LrQsNC90YfQuNCy0LDRgtGM0YHRjyDQvdCwINGG0LLQtdGCIgogCi0jOiBidWlsdGluL2JsYW1lLmM6NzAwCisjOiBidWlsdGluL2JsYW1lLmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29sb3IgJyVzJyBpbiBjb2xvci5ibGFtZS5yZXBlYXRlZExpbmVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3MTgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo3MTkKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciBibGFtZS5jb2xvcmluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Nzg5CisjOiBidWlsdGluL2JsYW1lLmM6Nzk0CiBtc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKIG1zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDQt9Cw0L/QuNGB0Lgg0LDQstGC0L7RgNGB0YLQstCwINC/0L7RgdGC0LXQv9C10L3QvdC+LCDQsiDQv9GA0L7RhtC10YHRgdC1INC90LDRhdC+0LbQtNC10L3QuNGPIgogCi0jOiBidWlsdGluL2JsYW1lLmM6NzkwCisjOiBidWlsdGluL2JsYW1lLmM6Nzk1CiBtc2dpZCAiU2hvdyBibGFuayBTSEEtMSBmb3IgYm91bmRhcnkgY29tbWl0cyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi0J3QtSDQv9C+0LrQsNC30YvQstCw0YLRjCBTSEEtMSDQtNC70Y8g0LrQvtC80LzQuNGC0L7Qsiwg0L3QtSDQstGF0L7QtNGP0YnQuNGFINCyINCz0YDQsNC90LjRhtGLINC30LDQv9GA0L7RgdCwICjQn9C+INGD0LzQvtC70YfQsNC90LjRjjog0L7RgtC60LvRjtGH0LXQvdC+KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5MQorIzogYnVpbHRpbi9ibGFtZS5jOjc5NgogbXNnaWQgIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi0J3QtSDQstC+0YHQv9GA0LjQvdC40LzQsNGC0Ywg0LrQvtGA0L3QtdCy0YvQtSDQutC+0LzQvNC40YLRiyDQutCw0Log0LPRgNCw0L3QuNGH0L3Ri9C1ICjQn9C+INGD0LzQvtC70YfQsNC90LjRjjog0L7RgtC60LvRjtGH0LXQvdC+KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5MgorIzogYnVpbHRpbi9ibGFtZS5jOjc5NwogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgItCf0L7QutCw0LfQsNGC0Ywg0YHRgtCw0YLQuNGB0YLQuNC60YMg0YDQsNGB0YXQvtC00L7QsiDQvdCwINCy0YvQv9C+0LvQvdC10L3QuNC1INC30LDQv9GA0L7RgdCwIgogCi0jOiBidWlsdGluL2JsYW1lLmM6NzkzCisjOiBidWlsdGluL2JsYW1lLmM6Nzk4CiBtc2dpZCAiRm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICLQn9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QviDQstGL0LLQvtC00LjRgtGMINC/0YDQvtCz0YDQtdGB0YEg0LLRi9C/0L7Qu9C90LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo3OTkKIG1zZ2lkICJTaG93IG91dHB1dCBzY29yZSBmb3IgYmxhbWUgZW50cmllcyIKIG1zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDQvtGG0LXQvdC60YMg0LTQu9GPINC30LDQv9C40YHQtdC5INCw0LLRgtC+0YDRgdGC0LLQsCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5NQorIzogYnVpbHRpbi9ibGFtZS5jOjgwMAogbXNnaWQgIlNob3cgb3JpZ2luYWwgZmlsZW5hbWUgKERlZmF1bHQ6IGF1dG8pIgogbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINC+0YDQuNCz0LjQvdCw0LvRjNC90L7QtSDQuNC80Y8g0YTQsNC50LvQsCAo0J/QviDRg9C80L7Qu9GH0LDQvdC40Y46INCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5NgorIzogYnVpbHRpbi9ibGFtZS5jOjgwMQogbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDQvtGA0LjQs9C40L3QsNC70YzQvdGL0LUg0L3QvtC80LXRgNCwINGB0YLRgNC+0LogKNCf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOOiDQvtGC0LrQu9GO0YfQtdC90L4pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Nzk3CisjOiBidWlsdGluL2JsYW1lLmM6ODAyCiBtc2dpZCAiU2hvdyBpbiBhIGZvcm1hdCBkZXNpZ25lZCBmb3IgbWFjaGluZSBjb25zdW1wdGlvbiIKIG1zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDQsiDRhNC+0YDQvNCw0YLQtSDQtNC70Y8g0L/RgNC+0LPRgNCw0LzQvNC90L7Qs9C+INGA0LDQt9Cx0L7RgNCwIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Nzk4CisjOiBidWlsdGluL2JsYW1lLmM6ODAzCiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINCyINC80LDRiNC40L3QvtGH0LjRgtCw0LXQvNC+0Lwg0YTQvtGA0LzQsNGC0LUsINGBINC/0L7RgdGC0YDQvtGH0L3QvtC5INC40L3RhNC+0YDQvNCw0YbQuNC10Lkg0L4g0LrQvtC80LzQuNGC0LUiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4MDQKIG1zZ2lkICJVc2UgdGhlIHNhbWUgb3V0cHV0IG1vZGUgYXMgZ2l0LWFubm90YXRlIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQsNC60L7QuSDQttC1INGE0L7RgNC80LDRgiDQstGL0LLQvtC00LAsINC60LDQuiDQuCBnaXQtYW5ub3RhdGUgKNCf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOOiDQvtGC0LrQu9GO0YfQtdC90L4pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODAwCisjOiBidWlsdGluL2JsYW1lLmM6ODA1CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINC90LXQvtCx0YDQsNCx0L7RgtCw0L3QvdGL0LUg0LLRgNC10LzQtdC90L3Ri9C1INC80LXRgtC60LggKNCf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOOiDQvtGC0LrQu9GO0YfQtdC90L4pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODAxCisjOiBidWlsdGluL2JsYW1lLmM6ODA2CiBtc2dpZCAiU2hvdyBsb25nIGNvbW1pdCBTSEExIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINC00LvQuNC90L3Ri9C5IFNIQTEg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQvtC80LzQuNGC0LAgKNCf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOOiDQvtGC0LrQu9GO0YfQtdC90L4pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODAyCisjOiBidWlsdGluL2JsYW1lLmM6ODA3CiBtc2dpZCAiU3VwcHJlc3MgYXV0aG9yIG5hbWUgYW5kIHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi0J3QtSDQv9C+0LrQsNC30YvQstCw0YLRjCDQuNC80Y8g0LDQstGC0L7RgNCwINC4INCy0YDQtdC80LXQvdC90YvQtSDQvNC10YLQutC4ICjQn9C+INGD0LzQvtC70YfQsNC90LjRjjog0L7RgtC60LvRjtGH0LXQvdC+KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwMworIzogYnVpbHRpbi9ibGFtZS5jOjgwOAogbXNnaWQgIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDQv9C+0YfRgtGDINCw0LLRgtC+0YDQsCDQstC80LXRgdGC0L4g0LjQvNC10L3QuCAo0J/QviDRg9C80L7Qu9GH0LDQvdC40Y46INC+0YLQutC70Y7Rh9C10L3QvikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4MDkKIG1zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKIG1zZ3N0ciAi0JjQs9C90L7RgNC40YDQvtCy0LDRgtGMINGA0LDQt9C70LjRh9C40Y8g0LIg0L/RgNC+0LHQtdC70LDRhSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwNQorIzogYnVpbHRpbi9ibGFtZS5jOjgxMAogbXNnaWQgImNvbG9yIHJlZHVuZGFudCBtZXRhZGF0YSBmcm9tIHByZXZpb3VzIGxpbmUgZGlmZmVyZW50bHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwNgorIzogYnVpbHRpbi9ibGFtZS5jOjgxMQogbXNnaWQgImNvbG9yIGxpbmVzIGJ5IGFnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODEzCisjOiBidWlsdGluL2JsYW1lLmM6ODE4CiBtc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKLW1zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGN0LrRgdC/0LXRgNC10LzQtdC90YLQsNC70YzQvdGD0Y4g0Y3QstGA0LjRgdGC0LjQutGDLCDRh9GC0L7QsdGLINGD0LvRg9GH0YjQuNGC0Ywg0YTQsNC50LvRiyDRgNCw0LfQu9C40YfQuNC5IgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0Y3QutGB0L/QtdGA0LXQvNC10L3RgtCw0LvRjNC90YPRjiDRjdCy0YDQuNGB0YLQuNC60YMsINGH0YLQvtCx0Ysg0YPQu9GD0YfRiNC40YLRjCDRhNCw0LnQu9GLINGB0L/QuNGB0LrQsCDQuNC30LzQtdC90LXQvdC40LkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MTUKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4MjAKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgItCf0L7RgtGA0LDRgtC40YLRjCDQsdC+0LvRjNGI0LUg0LLRgNC10LzQtdC90LgsINC00LvRjyDQvdCw0YXQvtC20LTQtdC90LjRjyDQu9GD0YfRiNC40YUg0YHQvtCy0L/QsNC00LXQvdC40LkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MTYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4MjEKIG1zZ2lkICJVc2UgcmV2aXNpb25zIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgY2FsbGluZyBnaXQtcmV2LWxpc3QiCiBtc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgNC10LTQsNC60YbQuNC4INC40LcgPNGE0LDQudC70LA+INCy0LzQtdGB0YLQviDQstGL0LfQvtCy0LAgZ2l0LXJldi1saXN0IgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODE3CisjOiBidWlsdGluL2JsYW1lLmM6ODIyCiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGB0L7QtNC10YDQttC40LzQvtC1IDzRhNCw0LnQu9CwPiDQutCw0Log0YTQuNC90LDQu9GM0L3Ri9C5INGB0L3QuNC80L7QuiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgxOCBidWlsdGluL2JsYW1lLmM6ODE5CisjOiBidWlsdGluL2JsYW1lLmM6ODIzIGJ1aWx0aW4vYmxhbWUuYzo4MjQKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAi0LzQuNC9LdC00LvQuNC90LAiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MTgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4MjMKIG1zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICLQndCw0LnRgtC4INC60L7Qv9C40YDQvtCy0LDQvdC40LUg0YHRgtGA0L7QuiDQsiDQv9GA0LXQtNC10LvQsNGFINC4INC80LXQttC00YMg0YTQsNC50LvQsNC80LgiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MTkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4MjQKIG1zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICLQndCw0LnRgtC4INC/0LXRgNC10LzQtdGJ0LXQvdC40Y8g0YHRgtGA0L7QuiDQsiDQv9GA0LXQtNC10LvQsNGFINC4INC80LXQttC00YMg0YTQsNC50LvQsNC80LgiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4MjUKIG1zZ2lkICJuLG0iCiBtc2dzdHIgItC90LDRh9Cw0LvQvizQutC+0L3QtdGGIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODIwCisjOiBidWlsdGluL2JsYW1lLmM6ODI1CiBtc2dpZCAiUHJvY2VzcyBvbmx5IGxpbmUgcmFuZ2UgbixtLCBjb3VudGluZyBmcm9tIDEiCiBtc2dzdHIgItCe0LHRgNCw0LHQvtGC0LDRgtGMINGC0L7Qu9GM0LrQviDRgdGC0YDQvtC60Lgg0LIg0LTQuNCw0L/QsNC30L7QvdC1INC90LDRh9Cw0LvQvizQutC+0L3QtdGGLCDQvdCw0YfQuNC90LDRjyDRgSAxIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODY5CisjOiBidWlsdGluL2JsYW1lLmM6ODc2CiBtc2dpZCAiLS1wcm9ncmVzcyBjYW4ndCBiZSB1c2VkIHdpdGggLS1pbmNyZW1lbnRhbCBvciBwb3JjZWxhaW4gZm9ybWF0cyIKIG1zZ3N0ciAiLS1wcm9ncmVzcyDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviDRgSAtLWluY3JlbWVudGFsINC40LvQuCDQvNCw0YjQuNC90L7Rh9C40YLQsNC10LzRi9C8IChwb3JjZWxhaW4pINGE0L7RgNC80LDRgtC+0LwiCiAKQEAgLTY5NzQsMTEgKzg3MTQsMTEgQEAKICMuIGFtb25nIHZhcmlvdXMgZm9ybXMgb2YgcmVsYXRpdmUgdGltZXN0YW1wcywgYnV0CiAjLiB5b3VyIGxhbmd1YWdlIG1heSBuZWVkIG1vcmUgb3IgZmV3ZXIgZGlzcGxheQogIy4gY29sdW1ucy4KLSM6IGJ1aWx0aW4vYmxhbWUuYzo5MjAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo5MjcKIG1zZ2lkICI0IHllYXJzLCAxMSBtb250aHMgYWdvIgogbXNnc3RyICI0INCz0L7QtNCwINC4IDExINC80LXRgdGP0YbQtdCyINC90LDQt9Cw0LQiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoxMDA3CisjOiBidWlsdGluL2JsYW1lLmM6MTAzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lIgogbXNnaWRfcGx1cmFsICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lcyIKQEAgLTY5ODcsMTcwICs4NzI3LDE3OSBAQAogbXNnc3RyWzJdICLRhNCw0LnQuyAlcyDRgdC+0LTQtdGA0LbQuNGCINGC0L7Qu9GM0LrQviAlbHUg0YHRgtGA0L7QuiIKIG1zZ3N0clszXSAi0YTQsNC50LsgJXMg0YHQvtC00LXRgNC20LjRgiDRgtC+0LvRjNC60L4gJWx1INGB0YLRgNC+0LrQuCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjEwNTMKKyM6IGJ1aWx0aW4vYmxhbWUuYzoxMDc3CiBtc2dpZCAiQmxhbWluZyBsaW5lcyIKIG1zZ3N0ciAi0J/RgNC+0YHQvNC+0YLRgCDQsNCy0YLQvtGA0L7QsiDRgdGC0YDQvtC6IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI4CisjOiBidWlsdGluL2JyYW5jaC5jOjI5CiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tbWVyZ2VkIHwgLS1uby1tZXJnZWRdIgogbXNnc3RyICJnaXQgYnJhbmNoIFs80L7Qv9GG0LjQuD5dIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzAKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstbF0gWy1mXSA8YnJhbmNoLW5hbWU+IFs8c3RhcnQtcG9pbnQ+XSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPNC+0L/RhtC40Lg+XSBbLWxdIFstZl0gPNC40LzRjy3QstC10YLQutC4PiBbPNGC0L7Rh9C60LAt0L3QsNGH0LDQu9CwPl0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzEKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstcl0gKC1kIHwgLUQpIDxicmFuY2gtbmFtZT4uLi4iCiBtc2dzdHIgImdpdCBicmFuY2ggWzzQvtC/0YbQuNC4Pl0gWy1yXSAoLWQgfCAtRCkgPNC40LzRjy3QstC10YLQutC4PuKApiIKIAotIzogYnVpbHRpbi9icmFuY2guYzozMQorIzogYnVpbHRpbi9icmFuY2guYzozMgogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gKC1tIHwgLU0pIFs8b2xkLWJyYW5jaD5dIDxuZXctYnJhbmNoPiIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPNC+0L/RhtC40Lg+XSAoLW0gfCAtTSkgWzzRgdGC0LDRgNCw0Y8t0LLQtdGC0LrQsD5dIDzQvdC+0LLQsNGPLdCy0LXRgtC60LA+IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjMyCisjOiBidWlsdGluL2JyYW5jaC5jOjMzCiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSAoLWMgfCAtQykgWzxvbGQtYnJhbmNoPl0gPG5ldy1icmFuY2g+IgogbXNnc3RyICJnaXQgYnJhbmNoIFs80L7Qv9GG0LjQuD5dICgtYyB8IC1DKSBbPNGB0YLQsNGA0LDRjy3QstC10YLQutCwPl0gPNC90L7QstCw0Y8t0LLQtdGC0LrQsD4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MzMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzQKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1wb2ludHMtYXRdIgogbXNnc3RyICJnaXQgYnJhbmNoIFs80L7Qv9GG0LjQuD5dIFstciB8IC1hXSBbLS1wb2ludHMtYXRdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjM0CisjOiBidWlsdGluL2JyYW5jaC5jOjM1CiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tZm9ybWF0XSIKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPNC+0L/RhtC40Lg+XSBbLXIgfCAtYV0gWy0tZm9ybWF0XSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGhhcyBiZWVuIG1lcmdlZCB0b1xuIgogIiAgICAgICAgICclcycsIGJ1dCBub3QgeWV0IG1lcmdlZCB0byBIRUFELiIKIG1zZ3N0ciAi0YPQtNCw0LvQtdC90LjQtSDQstC10YLQutC4IMKrJXPCuywg0LrQvtGC0L7RgNCw0Y8g0LHRi9C70LAg0YHQu9C40YLQsCDRgVxuICAgICAgICAgwqslc8K7LCDQvdC+INC90LUg0YHQu9C40YLQsCDRgSBIRUFELiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNDcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBpcyBub3QgeWV0IG1lcmdlZCB0b1xuIgogIiAgICAgICAgICclcycsIGV2ZW4gdGhvdWdoIGl0IGlzIG1lcmdlZCB0byBIRUFELiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C10L3QuNC1INCy0LXRgtC60Lggwqslc8K7LCDQutC+0YLQvtGA0LDRjyDQtdGJ0LUg0L3QtSDRgdC70LjRgtCwINGBXG4gICAgICAgICDCqyVzwrssINGF0L7RgtGPINGD0LbQtSDRgdC70LjRgtCwINGBIEhFQUQuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE2MQorIzogYnVpbHRpbi9icmFuY2guYzoxNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciAnJXMnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0L7QsdGK0LXQutGCINC60L7QvNC80LjRgtCwINC00LvRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTY1CisjOiBidWlsdGluL2JyYW5jaC5jOjE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGJyYW5jaCAnJXMnIGlzIG5vdCBmdWxseSBtZXJnZWQuXG4iCiAiSWYgeW91IGFyZSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBpdCwgcnVuICdnaXQgYnJhbmNoIC1EICVzJy4iCiBtc2dzdHIgItCS0LXRgtC60LAgwqslc8K7INC90LUg0YHQu9C40YLQsCDQv9C+0LvQvdC+0YHRgtGM0Y4uXG7QldGB0LvQuCDQstGLINGD0LLQtdGA0LXQvdGLLCDRh9GC0L4g0YXQvtGC0LjRgtC1INC10LUg0YPQtNCw0LvQuNGC0YwsINC30LDQv9GD0YHRgtC40YLQtSDCq2dpdCBicmFuY2ggLUQgJXPCuy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTc4CisjOiBidWlsdGluL2JyYW5jaC5jOjE4NgogbXNnaWQgIlVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCDRhNCw0LnQuyDQutC+0L3RhNC40LPRg9GA0LDRhtC40LgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjA5CisjOiBidWlsdGluL2JyYW5jaC5jOjIxNwogbXNnaWQgImNhbm5vdCB1c2UgLWEgd2l0aCAtZCIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0LrQu9GO0YfQuCAtYSDQuCAtZCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjIzCiBtc2dpZCAiQ291bGRuJ3QgbG9vayB1cCBjb21taXQgb2JqZWN0IGZvciBIRUFEIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0L7QsdGK0LXQutGCINC60L7QvNC80LjRgtCwINC00LvRjyBIRUFEIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIyOQorIzogYnVpbHRpbi9icmFuY2guYzoyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBicmFuY2ggJyVzJyBjaGVja2VkIG91dCBhdCAnJXMnIgogbXNnc3RyICLQndC10LvRjNC30Y8g0YPQtNCw0LvQuNGC0Ywg0LLQtdGC0LrRgyDCqyVzwrsg0YIu0LouINC+0L3QsCDQsNC60YLQuNCy0L3QsCDQvdCwIMKrJXPCuyIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNDQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW90ZS10cmFja2luZyBicmFuY2ggJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICLQstC90LXRiNC90Y/RjyDQvtGC0YHQu9C10LbQuNCy0LDQtdC80LDRjyDQstC10YLQutCwIMKrJXPCuyDQvdC1INC90LDQudC00LXQvdCwLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNDUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIG5vdCBmb3VuZC4iCiBtc2dzdHIgItCy0LXRgtC60LAgwqslc8K7INC90LUg0L3QsNC50LTQtdC90LAuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI2MAorIzogYnVpbHRpbi9icmFuY2guYzoyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIgogbXNnc3RyICLQntGI0LjQsdC60LAg0YPQtNCw0LvQtdC90LjRjyDQstC90LXRiNC90LXQuSDQvtGC0YHQu9C10LbQuNCy0LDQtdC80L7QuSDQstC10YLQutC4IMKrJXPCuyIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIGRlbGV0aW5nIGJyYW5jaCAnJXMnIgogbXNnc3RyICLQntGI0LjQsdC60LAg0YPQtNCw0LvQtdC90LjRjyDQstC10YLQutC4IMKrJXPCuyIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Mjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAi0JLQvdC10YjQvdGP0Y8g0L7RgtGB0LvQtdC20LjQstCw0LXQvNCw0Y8g0LLQtdGC0LrQsCAlcyDRg9C00LDQu9C10L3QsCAo0LHRi9C70LAgJXMpLlxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI2OQorIzogYnVpbHRpbi9icmFuY2guYzoyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRlZCBicmFuY2ggJXMgKHdhcyAlcykuXG4iCiBtc2dzdHIgItCS0LXRgtC60LAgJXMg0YPQtNCw0LvQtdC90LAgKNCx0YvQu9CwICVzKS5cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0MTMgYnVpbHRpbi90YWcuYzo1OQorIzogYnVpbHRpbi9icmFuY2guYzo0MjEgYnVpbHRpbi90YWcuYzo2MAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBmb3JtYXQgc3RyaW5nIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDRgdGC0YDQvtC60YMg0YTQvtGA0LzQsNGC0LAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDUwCisjOiBidWlsdGluL2JyYW5jaC5jOjQ1MgorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSEVBRCAoJXMpIHBvaW50cyBvdXRzaWRlIG9mIHJlZnMvaGVhZHMvIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyByZWJhc2VkIGF0ICVzIgogbXNnc3RyICLQn9GA0L7QuNC30LLQvtC00LjRgtGB0Y8g0L/QtdGA0LXQvNC10YnQtdC90LjQtSDQstC10YLQutC4ICVzINC90LAgJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU0CisjOiBidWlsdGluL2JyYW5jaC5jOjQ3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgaXMgYmVpbmcgYmlzZWN0ZWQgYXQgJXMiCiBtc2dzdHIgItCf0YDQvtC40LfQstC+0LTQuNGC0YHRjyDQtNCy0L7QuNGH0L3Ri9C5INC/0L7QuNGB0Log0LIg0LLQtdGC0LrQtSAlcyDQvdCwICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ3MQorIzogYnVpbHRpbi9icmFuY2guYzo0OTQKIG1zZ2lkICJjYW5ub3QgY29weSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INGB0LrQvtC/0LjRgNC+0LLQsNGC0Ywg0YLQtdC60YPRidGD0Y4g0LLQtdGC0LrRgywg0LXRgdC70Lgg0LLRiyDQvdC1INC90LDRhdC+0LTQuNGC0LXRgdGMINC90Lgg0L3QsCDQvtC00L3QvtC5INC40Lcg0LLQtdGC0L7Qui4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDczCisjOiBidWlsdGluL2JyYW5jaC5jOjQ5NgogbXNnaWQgImNhbm5vdCByZW5hbWUgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgogbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQv9C10YDQtdC40LzQtdC90L7QstCw0YLRjCDRgtC10LrRg9GJ0YPRjiDQstC10YLQutGDLCDQtdGB0LvQuCDQstGLINC90LUg0L3QsNGF0L7QtNC40YLQtdGB0Ywg0L3QuCDQvdCwINC+0LTQvdC+0Lkg0LjQtyDQvdC40YUuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ4NAorIzogYnVpbHRpbi9icmFuY2guYzo1MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBicmFuY2ggbmFtZTogJyVzJyIKIG1zZ3N0ciAi0J3QtdC00LXQudGB0YLQstC40YLQtdC70YzQvdC+0LUg0LjQvNGPINCy0LXRgtC60Lg6IMKrJXPCuyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1MTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTM0CiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCiBtc2dzdHIgItCh0LHQvtC5INC/0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40Y8g0LLQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1MTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTM2CiBtc2dpZCAiQnJhbmNoIGNvcHkgZmFpbGVkIgogbXNnc3RyICLQodCx0L7QuSDQutC+0L/QuNGA0L7QstCw0L3QuNGPINCy0LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTE3CisjOiBidWlsdGluL2JyYW5jaC5jOjU0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGEgY29weSBvZiBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIgogbXNnc3RyICLQodC+0LfQtNCw0L3QsCDQutC+0L/QuNGPINC90LXQv9GA0LDQstC40LvRjNC90L4g0L3QsNC30LLQsNC90L3QvtC5INCy0LXRgtC60Lggwqslc8K7IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUyMAorIzogYnVpbHRpbi9icmFuY2guYzo1NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1lZCBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIGF3YXkiCiBtc2dzdHIgItCf0LXRgNC10LjQvNC10L3QvtCy0LDQvdCwINC90LXQv9GA0LDQstC40LvRjNC90L4g0L3QsNC30LLQsNC90L3QsNGPINCy0LXRgtC60LAgwqslc8K7IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUyNgorIzogYnVpbHRpbi9icmFuY2guYzo1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoIHJlbmFtZWQgdG8gJXMsIGJ1dCBIRUFEIGlzIG5vdCB1cGRhdGVkISIKIG1zZ3N0ciAi0JLQtdGC0LrQsCDQv9C10YDQtdC40LzQtdC90L7QstCw0L3QsCDQsiAlcywg0L3QviBIRUFEINC90LUg0L7QsdC90L7QstC70LXQvSEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTM1CisjOiBidWlsdGluL2JyYW5jaC5jOjU1OAogbXNnaWQgIkJyYW5jaCBpcyByZW5hbWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKIG1zZ3N0ciAi0JLQtdGC0LrQsCDQv9C10YDQtdC40LzQtdC90L7QstCw0L3QsCwg0L3QviDQv9GA0L7QuNC30L7RiNC10Lsg0YHQsdC+0Lkg0L7QsdC90L7QstC70LXQvdC40Y8g0YTQsNC50LvQsCDQutC+0L3RhNC40LPRg9GA0LDRhtC40LgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTM3CisjOiBidWlsdGluL2JyYW5jaC5jOjU2MAogbXNnaWQgIkJyYW5jaCBpcyBjb3BpZWQsIGJ1dCB1cGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICLQktC10YLQutCwINGB0LrQvtC/0LjRgNC+0LLQsNC90LAsINC90L4g0L/RgNC+0LjQt9C+0YjQtdC7INGB0LHQvtC5INC+0LHQvdC+0LLQu9C10L3QuNGPINGE0LDQudC70LAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU1MworIzogYnVpbHRpbi9icmFuY2guYzo1NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaFxuIgpAQCAtNzE1OCwyMjMgKzg5MDcsMjEzIEBACiAiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUgc3RyaXBwZWQuXG4iCiBtc2dzdHIgItCY0LfQvNC10L3QuNGC0LUg0L7Qv9C40YHQsNC90LjQtSDQtNC70Y8g0LLQtdGC0LrQuDpcbiAgJXNcbtCh0YLRgNC+0LrQuCwg0L3QsNGH0LjQvdCw0Y7RidC40LXRgdGPINGBIMKrJWPCuyDQsdGD0LTRg9GCINCy0YvRgNC10LfQsNC90YsuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CisjOiBidWlsdGluL2JyYW5jaC5jOjYxMAogbXNnaWQgIkdlbmVyaWMgb3B0aW9ucyIKIG1zZ3N0ciAi0J7QsdGJ0LjQtSDQv9Cw0YDQsNC80LXRgtGA0YsiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk2CisjOiBidWlsdGluL2JyYW5jaC5jOjYxMgogbXNnaWQgInNob3cgaGFzaCBhbmQgc3ViamVjdCwgZ2l2ZSB0d2ljZSBmb3IgdXBzdHJlYW0gYnJhbmNoIgotbXNnc3RyICLQv9C+0LrQsNC30YvQstCw0YLRjCDRhdGN0Ygt0YHRg9C80LzRgyDQuCDRgtC10LzRgywg0YPQutCw0LbQuNGC0LUg0LTQstCw0LbQtNGLINC00LvRjyDQstGL0YjQtdGB0YLQvtGP0YnQtdC5INCy0LXRgtC60LgiCittc2dzdHIgItC/0L7QutCw0LfRi9Cy0LDRgtGMINGF0LXRiC3RgdGD0LzQvNGDINC4INGC0LXQvNGDLCDRg9C60LDQttC40YLQtSDQtNCy0LDQttC00Ysg0LTQu9GPINCy0YvRiNC10YHRgtC+0Y/RidC10Lkg0LLQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjEzCiBtc2dpZCAic3VwcHJlc3MgaW5mb3JtYXRpb25hbCBtZXNzYWdlcyIKIG1zZ3N0ciAi0L3QtSDQstGL0LLQvtC00LjRgtGMINC40L3RhNC+0YDQvNCw0YbQuNC+0L3QvdGL0LUg0YHQvtC+0LHRidC10L3QuNGPIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5OAorIzogYnVpbHRpbi9icmFuY2guYzo2MTQKIG1zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1wdWxsKDEpKSIKIG1zZ3N0ciAi0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0YDQtdC20LjQvCDQvtGC0YHQu9C10LbQuNCy0LDQvdC40Y8g0LLRi9GI0LXRgdGC0L7Rj9GJ0LXQuSDQstC10YLQutC4ICjRgdC8LiBnaXQtcHVsbCgxKSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAwCisjOiBidWlsdGluL2JyYW5jaC5jOjYxNgogbXNnaWQgImRvIG5vdCB1c2UiCiBtc2dzdHIgItC90LUg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE4IGJ1aWx0aW4vcmViYXNlLmM6NDg1CiBtc2dpZCAidXBzdHJlYW0iCiBtc2dzdHIgItCy0YvRiNC10YHRgtC+0Y/RidCw0Y8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAyCisjOiBidWlsdGluL2JyYW5jaC5jOjYxOAogbXNnaWQgImNoYW5nZSB0aGUgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAi0LjQt9C80LXQvdC40YLRjCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDQstGL0YjQtdGB0YLQvtGP0YnQtdC5INCy0LXRgtC60LUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAzCisjOiBidWlsdGluL2JyYW5jaC5jOjYxOQogbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICLQo9Cx0YDQsNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0LLRi9GI0LXRgdGC0L7Rj9GJ0LXQuSDQstC10YLQutC1IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwNAorIzogYnVpbHRpbi9icmFuY2guYzo2MjAKIG1zZ2lkICJ1c2UgY29sb3JlZCBvdXRwdXQiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRhtCy0LXRgtC90L7QuSDQstGL0LLQvtC0IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwNQorIzogYnVpbHRpbi9icmFuY2guYzo2MjEKIG1zZ2lkICJhY3Qgb24gcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICLQstGL0L/QvtC70L3QuNGC0Ywg0LTQtdC50YHRgtCy0LjRjyDQvdCwINC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINCy0L3QtdGI0L3QuNGFINCy0LXRgtC60LDRhSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDcgYnVpbHRpbi9icmFuY2guYzo2MDkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIzIGJ1aWx0aW4vYnJhbmNoLmM6NjI1CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAi0LLRi9Cy0L7QtCDRgtC+0LvRjNC60L4g0LLQtdGC0L7Quiwg0LrQvtGC0L7RgNGL0LUg0YHQvtC00LXRgNC20LDRgiDQutC+0LzQvNC40YIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjA4IGJ1aWx0aW4vYnJhbmNoLmM6NjEwCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNCBidWlsdGluL2JyYW5jaC5jOjYyNgogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgItCy0YvQstC+0LQg0YLQvtC70YzQutC+INCy0LXRgtC+0LosINC60L7RgtC+0YDRi9C1INC90LUg0YHQvtC00LXRgNC20LDRgiDQutC+0LzQvNC40YIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjEzCisjOiBidWlsdGluL2JyYW5jaC5jOjYyOQogbXNnaWQgIlNwZWNpZmljIGdpdC1icmFuY2ggYWN0aW9uczoiCiBtc2dzdHIgItCh0L/QtdGG0LjRhNC40YfQvdGL0LUg0LTQu9GPIGdpdC1icmFuY2gg0LTQtdC50YHRgtCy0LjRjzoiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE0CisjOiBidWlsdGluL2JyYW5jaC5jOjYzMAogbXNnaWQgImxpc3QgYm90aCByZW1vdGUtdHJhY2tpbmcgYW5kIGxvY2FsIGJyYW5jaGVzIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINGB0L/QuNGB0L7QuiDQuCDQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDQuCDQu9C+0LrQsNC70YzQvdGL0YUg0LLQtdGC0L7QuiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMyCiBtc2dpZCAiZGVsZXRlIGZ1bGx5IG1lcmdlZCBicmFuY2giCiBtc2dzdHIgItGD0LTQsNC70LjRgtGMINC/0L7Qu9C90L7RgdGC0YzRjiDRgdC70LjRgtGD0Y4g0LLQtdGC0LrRgyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMzCiBtc2dpZCAiZGVsZXRlIGJyYW5jaCAoZXZlbiBpZiBub3QgbWVyZ2VkKSIKIG1zZ3N0ciAi0YPQtNCw0LvQuNGC0Ywg0LLQtdGC0LrRgyAo0LTQsNC20LUg0L3QuNC60YPQtNCwINC90LUg0YHQu9C40YLRg9GOKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM0CiBtc2dpZCAibW92ZS9yZW5hbWUgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCiBtc2dzdHIgItC/0LXRgNC10LzQtdGB0YLQuNGC0Ywv0L/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0Ywg0LLQtdGC0LrQuCDQuCDQtdC1INC20YPRgNC90LDQuyDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE5CisjOiBidWlsdGluL2JyYW5jaC5jOjYzNQogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgItC/0LXRgNC10LzQtdGB0YLQuNGC0Ywv0L/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0Ywg0LLQtdGC0LrRgywg0LTQsNC20LUg0LXRgdC70Lgg0YbQtdC70LXQstC+0LUg0LjQvNGPINGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM2CiBtc2dpZCAiY29weSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKIG1zZ3N0ciAi0YHQutC+0L/QuNGA0L7QstCw0YLRjCDQstC10YLQutGDINC4INC10ZEg0LbRg9GA0L3QsNC7INGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM3CiBtc2dpZCAiY29weSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICLRgdC60L7Qv9C40YDQvtCy0LDRgtGMINCy0LXRgtC60YMsINC00LDQttC1INC10YHQu9C4INGG0LXQu9C10LLQvtC1INC40LzRjyDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIyCisjOiBidWlsdGluL2JyYW5jaC5jOjYzOAogbXNnaWQgImxpc3QgYnJhbmNoIG5hbWVzIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINGB0L/QuNGB0L7QuiDQuNC80LXQvSDQstC10YLQvtC6IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMworIzogYnVpbHRpbi9icmFuY2guYzo2MzkKK21zZ2lkICJzaG93IGN1cnJlbnQgYnJhbmNoIG5hbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NDAKIG1zZ2lkICJjcmVhdGUgdGhlIGJyYW5jaCdzIHJlZmxvZyIKIG1zZ3N0ciAi0YHQvtC30LTQsNGC0Ywg0LbRg9GA0L3QsNC7INGB0YHRi9C70L7QuiDQstC10YLQutC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyNgotbXNnaWQgImRlcHJlY2F0ZWQgc3lub255bSBmb3IgLS1jcmVhdGUtcmVmbG9nIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMxCisjOiBidWlsdGluL2JyYW5jaC5jOjY0MgogbXNnaWQgImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIgogbXNnc3RyICLQuNC30LzQtdC90LjRgtGMINC+0L/QuNGB0LDQvdC40LUg0LLQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQzCiBtc2dpZCAiZm9yY2UgY3JlYXRpb24sIG1vdmUvcmVuYW1lLCBkZWxldGlvbiIKIG1zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L7QtSDRgdC+0LfQtNCw0L3QuNC1LCDQv9C10YDQtdC80LXRidC10L3QuNC1INC40LvQuCDRg9C00LDQu9C10L3QuNC1INCy0LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMzCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBhcmUgbWVyZ2VkIgogbXNnc3RyICLQstGL0LLQvtC0INGC0L7Qu9GM0LrQviDRgdC70LjRgtGL0YUg0LLQtdGC0L7QuiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ1CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICLQstGL0LLQvtC0INGC0L7Qu9GM0LrQviDQvdC1INGB0LvQuNGC0YvRhSDQstC10YLQvtC6IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzNQorIzogYnVpbHRpbi9icmFuY2guYzo2NDYKIG1zZ2lkICJsaXN0IGJyYW5jaGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0YHQv9C40YHQvtC6INCy0LXRgtC+0Log0L/QviDRgdGC0L7Qu9Cx0YbQsNC8IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzNiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzAKLSM6IGJ1aWx0aW4vdGFnLmM6NDEzCi1tc2dpZCAia2V5IgotbXNnc3RyICLQutC70Y7RhyIKLQotIzogYnVpbHRpbi9icmFuY2guYzo2MzcgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MSBidWlsdGluL2xzLXJlbW90ZS5jOjcxCi0jOiBidWlsdGluL3RhZy5jOjQxNAotbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKLW1zZ3N0ciAi0LjQvNGPINC/0L7Qu9GPLCDQv9C+INC60L7RgtC+0YDQvtC80YMg0LLRi9C/0L7Qu9C90LjRgtGMINGB0L7RgNGC0LjRgNC+0LLQutGDIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzOSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQzIGJ1aWx0aW4vbm90ZXMuYzo0MTAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTMgYnVpbHRpbi9ub3Rlcy5jOjU3MyBidWlsdGluL25vdGVzLmM6NTc2Ci0jOiBidWlsdGluL3RhZy5jOjQxNgorIzogYnVpbHRpbi9icmFuY2guYzo2NDkgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MiBidWlsdGluL25vdGVzLmM6NDE1CisjOiBidWlsdGluL25vdGVzLmM6NDE4IGJ1aWx0aW4vbm90ZXMuYzo1ODEgYnVpbHRpbi9ub3Rlcy5jOjU4NAorIzogYnVpbHRpbi90YWcuYzo0MjcKIG1zZ2lkICJvYmplY3QiCiBtc2dzdHIgItC+0LHRitC10LrRgiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NDAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUwCiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICLQstGL0LLQvtC0INGC0L7Qu9GM0LrQviDQstC10YLQvtC6LCDQvtC/0YDQtdC00LXQu9C10L3QvdC+0LPQviDQvtCx0YrQtdC60YLQsCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2NDIgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0OSBidWlsdGluL3RhZy5jOjQyMworIzogYnVpbHRpbi9icmFuY2guYzo2NTIgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0OCBidWlsdGluL3RhZy5jOjQzNAogbXNnaWQgInNvcnRpbmcgYW5kIGZpbHRlcmluZyBhcmUgY2FzZSBpbnNlbnNpdGl2ZSIKIG1zZ3N0ciAi0YHQvtGA0YLQuNGA0L7QstC60LAg0Lgg0YTQuNC70YzRgtGA0LDRhtC40Y8g0L3QtSDQt9Cw0LLQuNGB0Y/RgiDQvtGCINGA0LXQs9C40YHRgtGA0LAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQzIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzggYnVpbHRpbi90YWcuYzo0MjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUzIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzggYnVpbHRpbi90YWcuYzo0MzIKICM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM5CiBtc2dpZCAiZm9ybWF0IHRvIHVzZSBmb3IgdGhlIG91dHB1dCIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGE0L7RgNC80LDRgiDQtNC70Y8g0LLRi9Cy0L7QtNCwIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2NiBidWlsdGluL2Nsb25lLmM6NzM5CisjOiBidWlsdGluL2JyYW5jaC5jOjY3NiBidWlsdGluL2Nsb25lLmM6NzQ4CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIkhFQUQg0L3QtSDQvdCw0LnQtNC10L0g0LIgcmVmcy9oZWFkcyEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Njg5CisjOiBidWlsdGluL2JyYW5jaC5jOjcwMAogbXNnaWQgIi0tY29sdW1uIGFuZCAtLXZlcmJvc2UgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4g0LggLS12ZXJib3NlINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcwOSBidWlsdGluL2JyYW5jaC5jOjc2MSBidWlsdGluL2JyYW5jaC5jOjc3MAorIzogYnVpbHRpbi9icmFuY2guYzo3MTUgYnVpbHRpbi9icmFuY2guYzo3NjkgYnVpbHRpbi9icmFuY2guYzo3NzgKIG1zZ2lkICJicmFuY2ggbmFtZSByZXF1aXJlZCIKIG1zZ3N0ciAi0YLRgNC10LHRg9C10YLRgdGPINC40LzRjyDQstC10YLQutC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjczNworIzogYnVpbHRpbi9icmFuY2guYzo3NDUKIG1zZ2lkICJDYW5ub3QgZ2l2ZSBkZXNjcmlwdGlvbiB0byBkZXRhY2hlZCBIRUFEIgogbXNnc3RyICLQndC10LvRjNC30Y8g0LTQsNGC0Ywg0L7Qv9C40YHQsNC90LjQtSDQvtGC0LTQtdC70ZHQvdC90L7QvNGDIEhFQUQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzQyCisjOiBidWlsdGluL2JyYW5jaC5jOjc1MAogbXNnaWQgImNhbm5vdCBlZGl0IGRlc2NyaXB0aW9uIG9mIG1vcmUgdGhhbiBvbmUgYnJhbmNoIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0LjQt9C80LXQvdC40YLRjCDQvtC/0LjRgdCw0L3QuNC1INCx0L7Qu9C10LUg0L7QtNC90L7QuSDQstC10YLQutC4INC30LAg0YDQsNC3IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc0OQorIzogYnVpbHRpbi9icmFuY2guYzo3NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gY29tbWl0IG9uIGJyYW5jaCAnJXMnIHlldC4iCiBtc2dzdHIgItCV0YnQtSDQvdC10YIg0LrQvtC80LzQuNGC0LAg0L3QsCDQstC10YLQutC1IMKrJXPCuy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzUyCisjOiBidWlsdGluL2JyYW5jaC5jOjc2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBicmFuY2ggbmFtZWQgJyVzJy4iCiBtc2dzdHIgItCd0LXRgiDQstC10YLQutC4INGBINC40LzQtdC90LXQvCDCqyVzwrsuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc2NworIzogYnVpbHRpbi9icmFuY2guYzo3NzUKIG1zZ2lkICJ0b28gbWFueSBicmFuY2hlcyBmb3IgYSBjb3B5IG9wZXJhdGlvbiIKIG1zZ3N0ciAi0YHQu9C40YjQutC+0Lwg0LzQvdC+0LPQviDQstC10YLQvtC6INC00LvRjyDQvtC/0LXRgNCw0YbQuNC4INC60L7Qv9C40YDQvtCy0LDQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzc2CisjOiBidWlsdGluL2JyYW5jaC5jOjc4NAogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyBmb3IgYSByZW5hbWUgb3BlcmF0aW9uIgogbXNnc3RyICLRgdC70LjRiNC60L7QvCDQvNC90L7Qs9C+INCw0YDQs9GD0LzQtdC90YLQvtCyINC00LvRjyDQvtC/0LXRgNCw0YbQuNC4INC/0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzgxCisjOiBidWlsdGluL2JyYW5jaC5jOjc4OQogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyB0byBzZXQgbmV3IHVwc3RyZWFtIgogbXNnc3RyICLRgdC70LjRiNC60L7QvCDQvNC90L7Qs9C+INCw0YDQs9GD0LzQtdC90YLQvtCyINC00LvRjyDRg9C60LDQt9Cw0L3QuNGPINC90L7QstC+0Lkg0LLRi9GI0LXRgdGC0L7Rj9GJ0LXQuSDQstC10YLQutC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc4NQorIzogYnVpbHRpbi9icmFuY2guYzo3OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBzZXQgdXBzdHJlYW0gb2YgSEVBRCB0byAlcyB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgogbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDRg9GB0YLQsNC90L7QstC40YLRjCDQstGL0YjQtdGB0YLQvtGP0YnQuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0LTQu9GPIEhFQUQg0L3QsCAlcywg0YLQsNC6INC60LDQuiDQvtC9INC90LUg0YPQutCw0LfRi9Cy0LDQtdGCINC90Lgg0L3QsCDQvtC00L3RgyDQstC10YLQutGDLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3ODggYnVpbHRpbi9icmFuY2guYzo4MTAgYnVpbHRpbi9icmFuY2guYzo4MjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk2IGJ1aWx0aW4vYnJhbmNoLmM6ODE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoICclcyciCiBtc2dzdHIgItC90LXRgiDRgtCw0LrQvtC5INCy0LXRgtC60Lggwqslc8K7IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5MgorIzogYnVpbHRpbi9icmFuY2guYzo4MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgItCy0LXRgtC60LAgwqslc8K7INC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA0CisjOiBidWlsdGluL2JyYW5jaC5jOjgxMwogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyB0byB1bnNldCB1cHN0cmVhbSIKIG1zZ3N0ciAi0YHQu9C40YjQutC+0Lwg0LzQvdC+0LPQviDQsNGA0LPRg9C80LXQvdGC0L7QsiDQtNC70Y8g0YHQsdGA0L7RgdCwINGD0LrQsNC30LDQvdC40Y8g0LLRi9GI0LXRgdGC0L7Rj9GJ0LXQuSDQstC10YLQutC4IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwOAorIzogYnVpbHRpbi9icmFuY2guYzo4MTcKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgdXBzdHJlYW0gb2YgSEVBRCB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgogbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDRg9Cx0YDQsNGC0Ywg0LLRi9GI0LXRgdGC0L7Rj9GJ0LjQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5INC00LvRjyBIRUFELCDRgtCw0Log0LrQsNC6INC+0L0g0L3QtSDRg9C60LDQt9GL0LLQsNC10YIg0L3QuCDQvdCwINC+0LTQvdGDINCy0LXRgtC60YMuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgxNAorIzogYnVpbHRpbi9icmFuY2guYzo4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgaGFzIG5vIHVwc3RyZWFtIGluZm9ybWF0aW9uIgogbXNnc3RyICLQktC10YLQutCwIMKrJXPCuyDQvdC1INC40LzQtdC10YIg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLRi9GI0LXRgdGC0L7Rj9GJ0LXQuSDQstC10YLQutC1IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgyOQorIzogYnVpbHRpbi9icmFuY2guYzo4MzMKIG1zZ2lkICItYSBhbmQgLXIgb3B0aW9ucyB0byAnZ2l0IGJyYW5jaCcgZG8gbm90IG1ha2Ugc2Vuc2Ugd2l0aCBhIGJyYW5jaCBuYW1lIgogbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGA0YsgLWEg0LggLXIg0LTQu9GPIMKrZ2l0IGJyYW5jaMK7INC90LUg0LjQvNC10Y7RgiDRgdC80YvRgdC70LAg0YEg0YPQutCw0LfQsNC90LjQtdC8INC40LzQtdC90Lgg0LLQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MzIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODM2CiBtc2dpZCAiIgogInRoZSAnLS1zZXQtdXBzdHJlYW0nIG9wdGlvbiBpcyBubyBsb25nZXIgc3VwcG9ydGVkLiBQbGVhc2UgdXNlICctLXRyYWNrJyBvciAiCiAiJy0tc2V0LXVwc3RyZWFtLXRvJyBpbnN0ZWFkLiIKQEAgLTczOTMsMTM5ICs5MTMyLDE0NCBAQAogbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIHVuYnVuZGxlLiIKIG1zZ3N0ciAi0KLRgNC10LHRg9C10YLRgdGPINGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0LTQu9GPINGA0LDRgdC/0LDQutC+0LLQutC4LiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU3NworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU5MwogbXNnaWQgIiIKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAiCiAiLXAgfCA8dHlwZT4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxwYXRoPl0gPG9iamVjdD4iCiBtc2dzdHIgImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC1wIHwgPNGC0LjQvz4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTzQv9GD0YLRjD5dIDzQvtCx0YrQtdC60YI+IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NTc4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NTk0CiBtc2dpZCAiIgogImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAiCiAiLS1maWx0ZXJzXSIKIG1zZ3N0ciAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tZmlsdGVyc10iCiAKICM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MTUKK21zZ2lkICJvbmx5IG9uZSBiYXRjaCBvcHRpb24gbWF5IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjMzCiBtc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogbXNnc3RyICI80YLQuNC/PiDQvNC+0LbQtdGCINCx0YvRgtGMINC+0LTQvdC40Lwg0LjQtzogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MTYKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzQKIG1zZ2lkICJzaG93IG9iamVjdCB0eXBlIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINGC0LjQvyDQvtCx0YrQtdC60YLQsCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYxNworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNQogbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0YDQsNC30LzQtdGAINC+0LHRitC10LrRgtCwIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjE5CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM3CiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICLQstGL0LnRgtC4INGBINC90YPQu9C10LLRi9C8INC60L7QtNC+0Lwg0LLQvtC30LLRgNCw0YLQsCwg0LXRgdC70Lgg0L3QtdGCINC+0YjQuNCx0LrQuCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYyMAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzOAogbXNnaWQgInByZXR0eS1wcmludCBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICLRgdGC0YDRg9C60YLRg9GA0LjRgNC+0LLQsNC90L3Ri9C5INCy0YvQstC+0LQg0YHQvtC00LXRgNC20LjQvNC+0LPQviDQvtCx0YrQtdC60YLQsCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYyMgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0MAogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biB0ZXh0Y29udiBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICLQt9Cw0L/Rg9GB0YLQuNGC0YwgdGV4Y29udiDQvdCwINGB0L7QtNC10YDQttC40LzQvtC8INC00LLQvtC40YfQvdGL0YUg0L7QsdGK0LXQutGC0L7QsiAiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MjQKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDIKIG1zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gZmlsdGVycyBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICLQt9Cw0L/Rg9GB0Log0YTQuNC70YzRgtGA0L7QsiDQvdCwINGB0L7QtNC10YDQttC40LzQvtC8INC00LLQvtC40YfQvdGL0YUg0L7QsdGK0LXQutGC0L7QsiAiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MjUgZ2l0LXN1Ym1vZHVsZS5zaDo4NjQKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDMgZ2l0LXN1Ym1vZHVsZS5zaDo5MzYKIG1zZ2lkICJibG9iIgogbXNnc3RyICLQtNCy0L7QuNGH0L3Ri9C5INC+0LHRitC10LrRgiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYyNgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NAogbXNnaWQgInVzZSBhIHNwZWNpZmljIHBhdGggZm9yIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7Qv9GA0LXQtNC10LvQtdC90L3Ri9C5INC/0YPRgtGMINC00LvRjyAtLXRleHRjb252Ly0tZmlsdGVycyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYyOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NgogbXNnaWQgImFsbG93IC1zIGFuZCAtdCB0byB3b3JrIHdpdGggYnJva2VuL2NvcnJ1cHQgb2JqZWN0cyIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMIC1zINC4IC10INGA0LDQsdC+0YLQsNGC0Ywg0YEg0L/QvtCy0YDQtdC20LTRkdC90L3Ri9C80Lgg0L7QsdGK0LXQutGC0LDQvNC4IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjI5CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQ3CiBtc2dpZCAiYnVmZmVyIC0tYmF0Y2ggb3V0cHV0IgogbXNnc3RyICLQsdGD0YTRhNC10YDQuNGA0L7QstCw0YLRjCDQstGL0LLQvtC0IC0tYmF0Y2giCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDkKIG1zZ2lkICJzaG93IGluZm8gYW5kIGNvbnRlbnQgb2Ygb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Y4g0Lgg0YHQvtC00LXRgNC20LjQvNC+0LUg0L7QsdGK0LXQutGC0L7Qsiwg0L/QtdGA0LXQtNCw0L3QvdGL0YUg0LjQtyDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTQsCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1MwogbXNnaWQgInNob3cgaW5mbyBhYm91dCBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQvtCxINC+0LHRitC10LrRgtCw0YUsINC/0LXRgNC10LTQsNC90L3Ri9GFINC40Lcg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LAiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTcKIG1zZ2lkICJmb2xsb3cgaW4tdHJlZSBzeW1saW5rcyAodXNlZCB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjaykiCiBtc2dzdHIgItC/0LXRgNC10YXQvtC00LjRgtGMINC/0L4g0YHQuNC80LLQvtC70YzQvdGL0Lwg0YHRgdGL0LvQutCw0Lwg0LLQvdGD0YLRgNC4INC00LXRgNC10LLQsCAo0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINGBINC+0L/RhtC40Y/QvNC4IC0tYmF0Y2gg0LggLS1iYXRjaC1jaGVjaykiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzkKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTkKIG1zZ2lkICJzaG93IGFsbCBvYmplY3RzIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINCy0YHQtSDQvtCx0YrQtdC60YLRiyDRgSDQvtC/0YbQuNGP0LzQuCAtLWJhdGNoINC40LvQuCAtLWJhdGNoLWNoZWNrIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjQxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjYxCiBtc2dpZCAiZG8gbm90IG9yZGVyIC0tYmF0Y2gtYWxsLW9iamVjdHMgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEyCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMwogbXNnaWQgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSBbLS1dIDxwYXRobmFtZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPNCw0YLRgNC40LHRg9GCPuKApl0gWy0tXSA80L/Rg9GC0Yw+4oCmIgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMworIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTQKIG1zZ2lkICJnaXQgY2hlY2stYXR0ciAtLXN0ZGluIFstel0gWy1hIHwgLS1hbGwgfCA8YXR0cj4uLi5dIgogbXNnc3RyICJnaXQgY2hlY2stYXR0ciAtLXN0ZGluIFstel0gWy1hIHwgLS1hbGwgfCA80LDRgtGA0LjQsdGD0YI+4oCmXSIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjAKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxCiBtc2dpZCAicmVwb3J0IGFsbCBhdHRyaWJ1dGVzIHNldCBvbiBmaWxlIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQstGB0LUg0LDRgtGA0LjQsdGD0YLRiyDRg9GB0YLQsNC90L7QstC70LXQvdC90YvQtSDQtNC70Y8g0YTQsNC50LvQsCIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjEKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIyCiBtc2dpZCAidXNlIC5naXRhdHRyaWJ1dGVzIG9ubHkgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0LvRjNC60L4gLmdpdGF0dHJpYnV0ZXMg0LjQtyDQuNC90LTQtdC60YHQsCIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjIgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNCBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI1IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIKIG1zZ2lkICJyZWFkIGZpbGUgbmFtZXMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAi0L/RgNC+0YfQuNGC0LDRgtGMINC40LzQtdC90LAg0YTQsNC50LvQvtCyINC40Lcg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LAiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjI0IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjYKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjI1IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjcKIG1zZ2lkICJ0ZXJtaW5hdGUgaW5wdXQgYW5kIG91dHB1dCByZWNvcmRzIGJ5IGEgTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAi0L7QutC+0L3Rh9Cw0L3QuNC1INCy0LLQvtC00LAg0Lgg0LLRi9Cy0L7QtNCwINC30LDQv9C40YHQtdC5INC/0L4g0J3Qo9Cb0JXQktCe0JzQoyDRgdC40LzQstC+0LvRgyIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMCBidWlsdGluL2NoZWNrb3V0LmM6MTEyMCBidWlsdGluL2djLmM6NTAzCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzU1IGJ1aWx0aW4vZ2MuYzo1MzgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTkKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgItC90LUg0LLRi9Cy0L7QtNC40YLRjCDQv9GA0L7Qs9GA0LXRgdGBINCy0YvQv9C+0LvQvdC10L3QuNGPIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI4CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI5CiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0L3QtSDRgdC+0LLQv9Cw0LTQsNGO0YnQuNC1INCy0LLQtdC00LXQvdC90YvQtSDQv9GD0YLQuCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzozMAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzozMQogbXNnaWQgImlnbm9yZSBpbmRleCB3aGVuIGNoZWNraW5nIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0LjQvdC00LXQutGBINC/0YDQuCDQv9GA0L7QstC10YDQutC1IgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1OQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjAKIG1zZ2lkICJjYW5ub3Qgc3BlY2lmeSBwYXRobmFtZXMgd2l0aCAtLXN0ZGluIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0YPQutCw0LfRi9Cy0LDRgtGMINC/0YPRgtC4INCy0LzQtdGB0YLQtSDRgSDQv9Cw0YDQsNC80LXRgtGA0L7QvCAtLXN0ZGluIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MgorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjMKIG1zZ2lkICIteiBvbmx5IG1ha2VzIHNlbnNlIHdpdGggLS1zdGRpbiIKIG1zZ3N0ciAiLXog0LjQvNC10LXRgiDRgdC80YvRgdC7INGC0L7Qu9GM0LrQviDQstC80LXRgdGC0LUg0YEg0L/QsNGA0LDQvNC10YLRgNC+0LwgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjQKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY1CiBtc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQiCiBtc2dzdHIgItC90LUg0YPQutCw0LfQsNC9INC/0YPRgtGMIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2OAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjkKIG1zZ2lkICItLXF1aWV0IGlzIG9ubHkgdmFsaWQgd2l0aCBhIHNpbmdsZSBwYXRobmFtZSIKIG1zZ3N0ciAiLS1xdWlldCDQvNC+0LbQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0LvRjNC60L4g0L/RgNC4INGD0LrQsNC30LDQvdC40Lgg0L7QtNC90L7Qs9C+INC/0YPRgtC4IgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzEKIG1zZ2lkICJjYW5ub3QgaGF2ZSBib3RoIC0tcXVpZXQgYW5kIC0tdmVyYm9zZSIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4gLS1xdWlldCDQuCAtLXZlcmJvc2UiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTczCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3NAogbXNnaWQgIi0tbm9uLW1hdGNoaW5nIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXZlcmJvc2UiCiBtc2dzdHIgIi0tbm9uLW1hdGNoaW5nINC80L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviDQstC80LXRgdGC0LUg0YEgLS12ZXJib3NlIgogCkBAIC03NTQ2LDE2NCArOTI5MCwyMDMgQEAKIG1zZ2lkICJubyBjb250YWN0cyBzcGVjaWZpZWQiCiBtc2dzdHIgItC90LUg0YPQutCw0LfQsNC90Ysg0LrQvtC90YLQsNC60YLRiyIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyOAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEzMQogbXNnaWQgImdpdCBjaGVja291dC1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgY2hlY2tvdXQtaW5kZXggWzzQvtC/0YbQuNC4Pl0gWy0tXSBbPNGE0LDQudC7PuKApl0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNDMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNDgKIG1zZ2lkICJzdGFnZSBzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCAzIG9yIGFsbCIKIG1zZ3N0ciAi0LjQvdC00LXQutGBINC00L7Qu9C20LXQvSDQsdGL0YLRjCDQvNC10LbQtNGDIDEg0LggMyDQuNC70LggYWxsIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTU5CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY0CiBtc2dpZCAiY2hlY2sgb3V0IGFsbCBmaWxlcyBpbiB0aGUgaW5kZXgiCiBtc2dzdHIgItC/0LXRgNC10LrQu9GO0YfQuNGC0YzRgdGPINC90LAg0YHQvtGB0YLQvtGP0L3QuNC1INCy0YHQtdGFINGE0LDQudC70L7QsiDQuNC3INC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYwCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY1CiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGV4aXN0aW5nIGZpbGVzIgogbXNnc3RyICLQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QsNGPINC/0LXRgNC10LfQsNC/0LjRgdGMINGB0YPRidC10YHRgtCy0YPRjtGJ0LjRhSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjcKIG1zZ2lkICJubyB3YXJuaW5nIGZvciBleGlzdGluZyBmaWxlcyBhbmQgZmlsZXMgbm90IGluIGluZGV4IgogbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjRjyDQtNC70Y8g0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNGFINC4INC90LXQv9GA0L7QuNC90LTQtdC60YHQuNGA0L7QstCw0L3QvdGL0YUg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY0CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY5CiBtc2dpZCAiZG9uJ3QgY2hlY2tvdXQgbmV3IGZpbGVzIgogbXNnc3RyICLQvdC1INGB0L7Qt9C00LDQstCw0YLRjCDQvdC+0LLRi9C1INGE0LDQudC70YsiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzEKIG1zZ2lkICJ1cGRhdGUgc3RhdCBpbmZvcm1hdGlvbiBpbiB0aGUgaW5kZXggZmlsZSIKIG1zZ3N0ciAi0L7QsdC90L7QstC40YLRjCDRgdGC0LDRgtC40YHRgtC40LrRgyDQtNC+0YHRgtGD0L/QsCDQsiDRhNCw0LnQu9C1INC40L3QtNC10LrRgdCwIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcwCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc1CiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLQv9GA0L7Rh9C40YLQsNGC0Ywg0YHQv9C40YHQvtC6INC/0YPRgtC10Lkg0LjQtyDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTQsCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MgorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NwogbXNnaWQgIndyaXRlIHRoZSBjb250ZW50IHRvIHRlbXBvcmFyeSBmaWxlcyIKIG1zZ3N0ciAi0LfQsNC/0LjRgdCw0YLRjCDRgdC+0LTQtdGA0LbQuNC80L7QtSDQstC+INCy0YDQtdC80LXQvdC90YvQtSDRhNCw0LnQu9GLIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTczIGJ1aWx0aW4vY29sdW1uLmM6MzEKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzYxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzY0Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3MiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTczNgotIzogYnVpbHRpbi93b3JrdHJlZS5jOjYxMAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OCBidWlsdGluL2NvbHVtbi5jOjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3MiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NzIKIG1zZ2lkICJzdHJpbmciCiBtc2dzdHIgItGB0YLRgNC+0LrQsCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OQogbXNnaWQgIndoZW4gY3JlYXRpbmcgZmlsZXMsIHByZXBlbmQgPHN0cmluZz4iCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0YHQv9C10YDQtdC00LggPNGB0YLRgNC+0LrRgz4g0L/RgNC4INGB0L7Qt9C00LDQvdC40Lgg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc2CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTgxCiBtc2dpZCAiY29weSBvdXQgdGhlIGZpbGVzIGZyb20gbmFtZWQgc3RhZ2UiCiBtc2dzdHIgItC60L7Qv9C40YDQvtCy0LDRgtGMINGE0LDQudC70Ysg0LjQtyDRg9C60LDQt9Cw0L3QvdC+0LPQviDQuNC90LTQtdC60YHQsCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzIKIG1zZ2lkICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gPGJyYW5jaD4iCiBtc2dzdHIgImdpdCBjaGVja291dCBbPNC+0L/RhtC40Lg+XSA80LLQtdGC0LrQsD4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMAorIzogYnVpbHRpbi9jaGVja291dC5jOjMzCiBtc2dpZCAiZ2l0IGNoZWNrb3V0IFs8b3B0aW9ucz5dIFs8YnJhbmNoPl0gLS0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgY2hlY2tvdXQgWzzQvtC/0YbQuNC4Pl0gWzzQstC10YLQutCwPl0gLS0gPNGE0LDQudC7PuKApiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzOCBidWlsdGluL2NoZWNrb3V0LmM6MTcxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTUxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgb3VyIHZlcnNpb24iCiBtc2dzdHIgItC/0YPRgtGMIMKrJXPCuyDQvdC1INC40LzQtdC10YIg0L3QsNGI0LXQuSDQstC10YDRgdC40LgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDAgYnVpbHRpbi9jaGVja291dC5jOjE3MworIzogYnVpbHRpbi9jaGVja291dC5jOjE1MyBidWlsdGluL2NoZWNrb3V0LmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIHRoZWlyIHZlcnNpb24iCiBtc2dzdHIgItC/0YPRgtGMIMKrJXPCuyDQvdC1INC40LzQtdC10YIg0LjRhSDQstC10YDRgdC40LgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgYWxsIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAi0L/Rg9GC0Ywgwqslc8K7INC90LUg0LjQvNC10LXRgiDQstGB0LXRhSDQvdC10L7QsdGF0L7QtNC40LzRi9GFINCy0LXRgNGB0LjQuSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjIwMAorIzogYnVpbHRpbi9jaGVja291dC5jOjIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBuZWNlc3NhcnkgdmVyc2lvbnMiCiBtc2dzdHIgItC/0YPRgtGMIMKrJXPCuyDQvdC1INC40LzQtdC10YIg0L3QtdC+0LHRhdC+0LTQuNC80YvRhSDQstC10YDRgdC40LkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnOiBjYW5ub3QgbWVyZ2UiCiBtc2dzdHIgItC/0YPRgtGMIMKrJXPCuzog0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC70LjRgtGMIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjMzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgbWVyZ2UgcmVzdWx0IGZvciAnJXMnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC00L7QsdCw0LLQuNGC0Ywg0YDQtdC30YPQu9GM0YLQsNGCINGB0LvQuNGP0L3QuNGPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI1NSBidWlsdGluL2NoZWNrb3V0LmM6MjU4IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjEKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMzEgYnVpbHRpbi9jaGVja291dC5jOjMzNCBidWlsdGluL2NoZWNrb3V0LmM6MzM3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKIG1zZ3N0ciAiwqslc8K7INC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L/RgNC4INC+0LHQvdC+0LLQu9C10L3QuNC4INC/0YPRgtC10LkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjcgYnVpbHRpbi9jaGVja291dC5jOjI3MAorIzogYnVpbHRpbi9jaGVja291dC5jOjM0MyBidWlsdGluL2NoZWNrb3V0LmM6MzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKIG1zZ3N0ciAiwqslc8K7INC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INGBICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjczCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgcGF0aHMgYW5kIHN3aXRjaCB0byBicmFuY2ggJyVzJyBhdCB0aGUgc2FtZSB0aW1lLiIKIG1zZ3N0ciAi0J3QtdC70YzQt9GPINC+0LHQvdC+0LLQu9GP0YLRjCDQv9GD0YLQuCDQuCDQv9C10YDQtdC60LvRjtGH0LDRgtGM0YHRjyDQvdCwINCy0LXRgtC60YMgwqslc8K7INC+0LTQvdC+0LLRgNC10LzQtdC90L3Qvi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozNDIgYnVpbHRpbi9jaGVja291dC5jOjM0OQorIzogYnVpbHRpbi9jaGVja291dC5jOjM5NiBidWlsdGluL2NoZWNrb3V0LmM6NDAzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBpcyB1bm1lcmdlZCIKIG1zZ3N0ciAi0L/Rg9GC0Ywgwqslc8K7INC90LUg0YHQu9C40YIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1MDgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVjcmVhdGVkICVkIG1lcmdlIGNvbmZsaWN0IgorbXNnaWRfcGx1cmFsICJSZWNyZWF0ZWQgJWQgbWVyZ2UgY29uZmxpY3RzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorbXNnc3RyWzNdICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXBkYXRlZCAlZCBwYXRoIGZyb20gJXMiCittc2dpZF9wbHVyYWwgIlVwZGF0ZWQgJWQgcGF0aHMgZnJvbSAlcyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKK21zZ3N0clszXSAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVwZGF0ZWQgJWQgcGF0aCBmcm9tIHRoZSBpbmRleCIKK21zZ2lkX3BsdXJhbCAiVXBkYXRlZCAlZCBwYXRocyBmcm9tIHRoZSBpbmRleCIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKK21zZ3N0clszXSAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Njk1CiBtc2dpZCAieW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCiBtc2dzdHIgItGB0L3QsNGH0LDQu9CwINC90YPQttC90L4g0YDQsNC30YDQtdGI0LjRgtGMINC60L7QvdGE0LvQuNC60YLRiyDQsiDQstCw0YjQtdC8INGC0LXQutGD0YnQtdC8INC40L3QtNC10LrRgdC1IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NjQ1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjYW5ub3QgY29udGludWUgd2l0aCBzdGFnZWQgY2hhbmdlcyBpbiB0aGUgZm9sbG93aW5nIGZpbGVzOlxuIgorIiVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RhZ2VkIGNoYW5nZXMgaW4gdGhlIGZvbGxvd2luZyBmaWxlcyBtYXkgYmUgbG9zdDogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjg0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4gbm90IGRvIHJlZmxvZyBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQttGD0YDQvdCw0Lsg0YHRgdGL0LvQvtC6INC00LvRjyDCqyVzwrs6ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4OTAKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCIKIG1zZ3N0ciAiSEVBRCDRgdC10LnRh9Cw0YEg0L3QsCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY5MCBidWlsdGluL2Nsb25lLmM6NjkyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODk0IGJ1aWx0aW4vY2xvbmUuYzo3MDEKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIEhFQUQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCBIRUFEIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Njk0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgItCh0LHRgNC+0YEg0LLQtdGC0LrQuCDCqyVzwrtcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjY5NworIzogYnVpbHRpbi9jaGVja291dC5jOjkwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJBbHJlYWR5IG9uICclcydcbiIKIG1zZ3N0ciAi0KPQttC1INC90LAgwqslc8K7XG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MDEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYW5kIHJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgItCf0LXRgNC10LrQu9GO0YfQtdC90LjQtSDQuCDRgdCx0YDQvtGBINCy0LXRgtC60Lggwqslc8K7XG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MDMgYnVpbHRpbi9jaGVja291dC5jOjEwNTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5MDcgYnVpbHRpbi9jaGVja291dC5jOjEyODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYSBuZXcgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAi0J/QtdGA0LXQutC70Y7Rh9C10L3QviDQvdCwINC90L7QstGD0Y4g0LLQtdGC0LrRgyDCqyVzwrtcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjcwNQorIzogYnVpbHRpbi9jaGVja291dC5jOjkwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLQn9C10YDQtdC60LvRjtGH0LXQvdC+INC90LAg0LLQtdGC0LrRgyDCqyVzwrtcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc1NgorIzogYnVpbHRpbi9jaGVja291dC5jOjk2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgLi4uIGFuZCAlZCBtb3JlLlxuIgogbXNnc3RyICIg4oCmINC4INC10YnQtSAlZC5cbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV2FybmluZzogeW91IGFyZSBsZWF2aW5nICVkIGNvbW1pdCBiZWhpbmQsIG5vdCBjb25uZWN0ZWQgdG9cbiIKQEAgLTc3MjAsNyArOTUwMyw3IEBACiBtc2dzdHJbMl0gItCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INCy0Ysg0L7RgdGC0LDQstC70Y/QtdGC0LUg0L/QvtC30LDQtNC4ICVkINC60L7QvNC80LjRgtC+0LIg0L3QtSDRgdC+0LXQtNC40L3QtdC90L3Ri9C1INC90Lgg0YEg0L7QtNC90L7QuSDQuNC3INCy0LDRiNC40YUg0LLQtdGC0L7QujpcblxuJXNcbiIKIG1zZ3N0clszXSAi0J/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0LLRiyDQvtGB0YLQsNCy0LvRj9C10YLQtSDQv9C+0LfQsNC00LggJWQg0LrQvtC80LzQuNGC0L7QsiDQvdC1INGB0L7QtdC00LjQvdC10L3QvdGL0LUg0L3QuCDRgSDQvtC00L3QvtC5INC40Lcg0LLQsNGI0LjRhSDQstC10YLQvtC6OlxuXG4lc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzgxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIGl0IGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTc3MzksMTY2ICs5NTIyLDE4MSBAQAogbXNnc3RyWzJdICLQldGB0LvQuCDQstGLINGF0L7RgtC40YLQtSDRgdC+0YXRgNCw0L3QuNGC0Ywg0LjRhSDRgSDQv9C+0LzQvtGJ0YzRjiDRgdC+0LfQtNCw0L3QuNGPINC90L7QstC+0Lkg0LLQtdGC0LrQuCwg0YLQviDRgdC10LnRh9Cw0YEg0YHQsNC80L7QtSDQstGA0LXQvNGPXG7RgdC00LXQu9Cw0YLRjCDRjdGC0L4g0YEg0L/QvtC80L7RidGM0Y46XG5cbiBnaXQgYnJhbmNoIDzQuNC80Y8t0L3QvtCy0L7QuS3QstC10YLQutC4PiAlc1xuIgogbXNnc3RyWzNdICLQldGB0LvQuCDQstGLINGF0L7RgtC40YLQtSDRgdC+0YXRgNCw0L3QuNGC0Ywg0LjRhSDRgSDQv9C+0LzQvtGJ0YzRjiDRgdC+0LfQtNCw0L3QuNGPINC90L7QstC+0Lkg0LLQtdGC0LrQuCwg0YLQviDRgdC10LnRh9Cw0YEg0YHQsNC80L7QtSDQstGA0LXQvNGPXG7RgdC00LXQu9Cw0YLRjCDRjdGC0L4g0YEg0L/QvtC80L7RidGM0Y46XG5cbiBnaXQgYnJhbmNoIDzQuNC80Y8t0L3QvtCy0L7QuS3QstC10YLQutC4PiAlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODEzCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxNwogbXNnaWQgImludGVybmFsIGVycm9yIGluIHJldmlzaW9uIHdhbGsiCiBtc2dzdHIgItCy0L3Rg9GC0YDQtdC90L3Rj9GPINC+0YjQuNCx0LrQsCDQv9GA0Lgg0YXQvtC20LTQtdC90LjQuCDQv9C+INGA0LXQtNCw0LrRhtC40Y/QvCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgxNworIzogYnVpbHRpbi9jaGVja291dC5jOjEwMjEKIG1zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKIG1zZ3N0ciAi0J/RgNC10LTRi9C00YPRidCw0Y8g0L/QvtC30LjRhtC40Y8gSEVBRCDQsdGL0LvQsCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjg0NSBidWlsdGluL2NoZWNrb3V0LmM6MTA0NworIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTIgYnVpbHRpbi9jaGVja291dC5jOjEyNzgKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICLQktGLINC90LDRhdC+0LTQuNGC0LXRgdGMINC90LAg0LXRidC1INC90LUg0YHQvtC30LTQsNC90L3QvtC5INCy0LXRgtC60LUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCwgJWQgZ2l2ZW4uIgogbXNnc3RyICLQvtC20LjQtNCw0LXRgtGB0Y8g0YLQvtC70YzQutC+INC+0LTQvdCwINGB0YHRi9C70LrQsCwg0LAg0L/QtdGA0LXQtNCw0L3QviAlZC4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5OTMgYnVpbHRpbi93b3JrdHJlZS5jOjI0MCBidWlsdGluL3dvcmt0cmVlLmM6Mzg5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJyVzJyBjb3VsZCBiZSBib3RoIGEgbG9jYWwgZmlsZSBhbmQgYSB0cmFja2luZyBicmFuY2guXG4iCisiUGxlYXNlIHVzZSAtLSAoYW5kIG9wdGlvbmFsbHkgLS1uby1ndWVzcykgdG8gZGlzYW1iaWd1YXRlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjIyIGJ1aWx0aW4vd29ya3RyZWUuYzoyOTAgYnVpbHRpbi93b3JrdHJlZS5jOjQ0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZTogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LDRjyDRgdGB0YvQu9C60LA6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTAyMgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgogbXNnc3RyICLQsiDQtNC10YDQtdCy0LUg0L3QtdGCINGC0LDQutC+0Lkg0YHRgdGL0LvQutC4OiAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjkyCiBtc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgItC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L/Rg9GC0Lgg0L/RgNC4INC/0LXRgNC10LrQu9GO0YfQtdC90LjQuCDQstC10YLQvtC6IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NCBidWlsdGluL2NoZWNrb3V0LmM6MTA2OAorIzogYnVpbHRpbi9jaGVja291dC5jOjEyOTUgYnVpbHRpbi9jaGVja291dC5jOjEyOTkgYnVpbHRpbi9jaGVja291dC5jOjEzMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDCqyVzwrsg0L/RgNC4INC/0LXRgNC10LrQu9GO0YfQtdC90LjQuCDQstC10YLQvtC6IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA3MiBidWlsdGluL2NoZWNrb3V0LmM6MTA3NSBidWlsdGluL2NoZWNrb3V0LmM6MTA4MAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwODMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzA3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzEwIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzE1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMxOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJyVzJyIKIG1zZ3N0ciAiwqslc8K7INC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INGBIMKrJXPCuyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEwODgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzd2l0Y2ggYnJhbmNoIHRvIGEgbm9uLWNvbW1pdCAnJXMnIgogbXNnc3RyICLQndC10LvRjNC30Y8g0L/QtdGA0LXQutC70Y7Rh9C40YLRjCDQstC10YLQutGDINC90LAg0L3QtSDQutC+0LzQvNC40YIgwqslc8K7IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEyMSBidWlsdGluL2NoZWNrb3V0LmM6MTEyMyBidWlsdGluL2Nsb25lLmM6MTE5Ci0jOiBidWlsdGluL3JlbW90ZS5jOjE2OCBidWlsdGluL3JlbW90ZS5jOjE3MCBidWlsdGluL3dvcmt0cmVlLmM6NDMzCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDM1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1NiBidWlsdGluL2NoZWNrb3V0LmM6MTM1OCBidWlsdGluL2Nsb25lLmM6MTE4CisjOiBidWlsdGluL3JlbW90ZS5jOjE2OSBidWlsdGluL3JlbW90ZS5jOjE3MSBidWlsdGluL3dvcmt0cmVlLmM6NDkyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDk0CiBtc2dpZCAiYnJhbmNoIgogbXNnc3RyICLQstC10YLQutCwIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEyMgorIzogYnVpbHRpbi9jaGVja291dC5jOjEzNTcKIG1zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi0YHQvtC30LTQsNGC0Ywg0Lgg0L/QtdGA0LXQutC70Y7Rh9C40YLRjNGB0Y8g0L3QsCDQvdC+0LLRg9GOINCy0LXRgtC60YMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTI0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1OQogbXNnaWQgImNyZWF0ZS9yZXNldCBhbmQgY2hlY2tvdXQgYSBicmFuY2giCiBtc2dzdHIgItGB0L7Qt9C00LDRgtGML9GB0LHRgNC+0YHQuNGC0Ywg0Lgg0L/QtdGA0LrQu9GO0YfQuNGC0YzRgdGPINC90LAg0L3QvtCy0YPRjiDQstC10YLQutGDIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEyNQorIzogYnVpbHRpbi9jaGVja291dC5jOjEzNjAKIG1zZ2lkICJjcmVhdGUgcmVmbG9nIGZvciBuZXcgYnJhbmNoIgogbXNnc3RyICLRgdC+0LfQtNCw0YLRjCDQttGD0YDQvdCw0Lsg0YHRgdGL0LvQvtC6INC00LvRjyDQvdC+0LLQvtC5INCy0LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTI2IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzYxIGJ1aWx0aW4vd29ya3RyZWUuYzo0OTYKIG1zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCiBtc2dzdHIgItC+0YLRgdC+0LXQtNC40L3QuNGC0YwgSEVBRCDQvdCwINGD0LrQsNC30LDQvdC90L7QvCDQutC+0LzQvNC40YLQtSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzYyCiBtc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCiBtc2dzdHIgItGD0YHRgtCw0L3QvtCy0LjRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INCy0YvRiNC10YHRgtC+0Y/RidC10Lkg0LLQtdGC0LrQtSDQtNC70Y8g0L3QvtCy0L7QuSDQstC10YLQutC4IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEyOQorIzogYnVpbHRpbi9jaGVja291dC5jOjEzNjQKIG1zZ2lkICJuZXctYnJhbmNoIgogbXNnc3RyICLQvdC+0LLQsNGPLdCy0LXRgtC60LAiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTI5CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM2NAogbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKIG1zZ3N0ciAi0L3QvtCy0LDRjyDQstC10YLQutCwINCx0LXQtyDRgNC+0LTQuNGC0LXQu9C10LkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTMxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM2NgogbXNnaWQgImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKIG1zZ3N0ciAi0L/QtdGA0LXQutC70Y7Rh9C40YLRjNGB0Y8g0L3QsCDQvdCw0YjRgyDQstC10YDRgdC40Y4g0LTQu9GPINC90LUg0YHQu9C40YLRi9GFINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMzQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzY5CiBtc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCiBtc2dzdHIgItC/0LXRgNC10LrQu9GO0YfQuNGC0YzRgdGPINC90LAg0LjRhSDQstC10YDRgdC40Y4g0LTQu9GPINC90LUg0YHQu9C40YLRi9GFINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMzYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzcxCiBtc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCiBtc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+0LUg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC1INC90LAg0YHQvtGB0YLQvtGP0L3QuNC1ICjQvtGC0LHRgNCw0YHRi9Cy0LDQtdGCINCy0YHQtSDQu9C+0LrQsNC70YzQvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMzgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzczCiBtc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCiBtc2dzdHIgItCy0YvQv9C+0LvQvdC40YLRjCDRgtGA0LXRhdGF0L7QtNC+0LLQvtC1INGB0LvQuNGP0L3QuNC1INGBINC90L7QstC+0Lkg0LLQtdGC0LrQvtC5IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MCBidWlsdGluL21lcmdlLmM6MjczCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM3NSBidWlsdGluL21lcmdlLmM6Mjg0CiBtc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgogbXNnc3RyICLQvtCx0L3QvtCy0LjRgtGMINC40LPQvdC+0YDQuNGA0YPQtdC80YvQtSDRhNCw0LnQu9GLICjQv9C+INGD0LzQvtC70YfQsNC90LjRjikiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTQyIGJ1aWx0aW4vbG9nLmM6MTUxMCBwYXJzZS1vcHRpb25zLmg6MjY0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM3NyBidWlsdGluL2xvZy5jOjE1OTQgcGFyc2Utb3B0aW9ucy5oOjMxNwogbXNnaWQgInN0eWxlIgogbXNnc3RyICLRgdGC0LjQu9GMIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0MworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNzgKIG1zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgogbXNnc3RyICLRgdGC0LjQu9GMINC60L7QvdGE0LvQuNC60YLQvtCyINGB0LvQuNGP0L3QuNGPIChtZXJnZSDQuNC70LggZGlmZjMpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0NgorIzogYnVpbHRpbi9jaGVja291dC5jOjEzODEKIG1zZ2lkICJkbyBub3QgbGltaXQgcGF0aHNwZWNzIHRvIHNwYXJzZSBlbnRyaWVzIG9ubHkiCiBtc2dzdHIgItC90LUg0L7Qs9GA0LDQvdC40YfQuNCy0LDRgtGMINGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgNGLINC/0YPRgtC4INGC0L7Qu9GM0LrQviDRh9Cw0YHRgtC40YfQvdGL0LzQuCDQt9Cw0L/QuNGB0Y/QvNC4IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE0OAotbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IDxuby1zdWNoLWJyYW5jaD4nIgotbXNnc3RyICLQv9C10YDQtdGB0LzQvtGC0YAgwqtnaXQgY2hlY2tvdXQgPNC90LXRgi3RgtCw0LrQvtC5LdCy0LXRgtC60Lg+wrsiCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM4MworbXNnaWQgImRvIG5vdCBzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKK21zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1MAorIzogYnVpbHRpbi9jaGVja291dC5jOjEzODUKIG1zZ2lkICJkbyBub3QgY2hlY2sgaWYgYW5vdGhlciB3b3JrdHJlZSBpcyBob2xkaW5nIHRoZSBnaXZlbiByZWYiCiBtc2dzdHIgItC90LUg0L/RgNC+0LLQtdGA0Y/RgtGMLCDRh9GC0L4g0LTRgNGD0LPQvtC1INC00LXRgNC10LLQviDRg9C20LUg0YHQvtC00LXRgNC20LjRgiDRg9C60LDQt9Cw0L3QvdGD0Y4g0YHRgdGL0LvQutGDIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE1NCBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9mZXRjaC5jOjEzOAotIzogYnVpbHRpbi9tZXJnZS5jOjI3MCBidWlsdGluL3B1bGwuYzoxMjggYnVpbHRpbi9wdXNoLmM6NTcyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM4OSBidWlsdGluL2Nsb25lLmM6ODggYnVpbHRpbi9mZXRjaC5jOjE0MQorIzogYnVpbHRpbi9tZXJnZS5jOjI4MSBidWlsdGluL3B1bGwuYzoxMzYgYnVpbHRpbi9wdXNoLmM6NTc1CiAjOiBidWlsdGluL3NlbmQtcGFjay5jOjE3NAogbXNnaWQgImZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L4g0LLRi9Cy0L7QtNC40YLRjCDQv9GA0L7Qs9GA0LXRgdGBIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE4NAorIzogYnVpbHRpbi9jaGVja291dC5jOjEzOTAKK21zZ2lkICJ1c2Ugb3ZlcmxheSBtb2RlIChkZWZhdWx0KSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQyMgogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLWIsIC1CINC4IC0tb3JwaGFuINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIwMQorIzogYnVpbHRpbi9jaGVja291dC5jOjE0MjUKK21zZ2lkICItcCBhbmQgLS1vdmVybGF5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NDIKIG1zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIi0tdHJhY2sg0YLRgNC10LHRg9C10YIg0LjQvNGPINCy0LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjA2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ0NwogbXNnaWQgIm1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAi0L/RgNC+0L/Rg9GJ0LXQvdC+INC40LzRjyDQstC10YLQutC4OyDQv9C+0L/RgNC+0LHRg9C50YLQtSAtYiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDg0CiBtc2dpZCAiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDRgdC/0LXRhtC40YTQuNC60LDRgtC+0YAg0L/Rg9GC0LgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjUwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ5MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIGNvbW1pdCBhbmQgYSBicmFuY2ggJyVzJyBjYW5ub3QgYmUgY3JlYXRlZCBmcm9tIGl0IgogbXNnc3RyICLCqyVzwrsg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC60L7QvNC80LjRgtC+0LwsINC/0L7RjdGC0L7QvNGDINC90LXQstC+0LfQvNC+0LbQvdC+INGB0L7Qt9C00LDRgtGMINC40Lcg0L3QtdCz0L4g0LLQtdGC0LrRgyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50ICclcyciCiBtc2dzdHIgImdpdCBjaGVja291dDogLS1kZXRhY2gg0L3QtSDQv9GA0LjQvdC40LzQsNC10YIg0L/Rg9GC0Ywgwqslc8K7INC60LDQuiDQsNGA0LPRg9C80LXQvdGCIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1OAorIzogYnVpbHRpbi9jaGVja291dC5jOjE0OTkKIG1zZ2lkICIiCiAiZ2l0IGNoZWNrb3V0OiAtLW91cnMvLS10aGVpcnMsIC0tZm9yY2UgYW5kIC0tbWVyZ2UgYXJlIGluY29tcGF0aWJsZSB3aGVuXG4iCiAiY2hlY2tpbmcgb3V0IG9mIHRoZSBpbmRleC4iCiBtc2dzdHIgImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INC/0YDQuCDQv9GA0LjQvNC10L3QtdC90LjQuCDRgdC+0YHRgtC+0Y/QvdC40Y8g0LjQvdC00LXQutGB0LAuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI3OAorIzogYnVpbHRpbi9jaGVja291dC5jOjE1MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgbWF0Y2hlZCBtb3JlIHRoYW4gb25lIHJlbW90ZSB0cmFja2luZyBicmFuY2guXG4iCkBAIC03OTE1LDM3ICs5NzEzLDM3IEBACiAiY2hlY2tvdXQuZGVmYXVsdFJlbW90ZT1vcmlnaW4gaW4geW91ciBjb25maWcuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyNworIzogYnVpbHRpbi9jbGVhbi5jOjI4CiBtc2dpZCAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxwYXR0ZXJuPl0gWy14IHwgLVhdIFstLV0gPHBhdGhzPi4uLiIKIG1zZ3N0ciAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPNGI0LDQsdC70L7QvT5dIFsteCB8IC1YXSBbLS1dIDzQv9GD0YLQuD7igKYiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMQorIzogYnVpbHRpbi9jbGVhbi5jOjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzXG4iCiBtc2dzdHIgItCj0LTQsNC70LXQvdC40LUgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMyCisjOiBidWlsdGluL2NsZWFuLmM6MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgcmVtb3ZlICVzXG4iCiBtc2dzdHIgItCR0YPQtNC10YIg0YPQtNCw0LvQtdC90L4gJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMzCisjOiBidWlsdGluL2NsZWFuLmM6MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICLQn9GA0L7Qv9GD0YHQuiDRgNC10L/QvtC30LjRgtC+0YDQuNGPICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozNAorIzogYnVpbHRpbi9jbGVhbi5jOjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHNraXAgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICLQkdGD0LTQtdGCINC/0YDQvtC/0YPRidC10L0g0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzUKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICVzIgogbXNnc3RyICLRgdCx0L7QuSDRg9C00LDQu9C10L3QuNGPICVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Mjk3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTc5CisjOiBidWlsdGluL2NsZWFuLmM6Mjk5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQcm9tcHQgaGVscDpcbiIKQEAgLTc5NTQsNyArOTc1Miw3IEBACiAiICAgICAgICAgICAtIChlbXB0eSkgc2VsZWN0IG5vdGhpbmdcbiIKIG1zZ3N0ciAi0KHQv9GA0LDQstC60LAg0L/QviDQstGL0LTQtdC70LXQvdC40Y46XG4xICAgICAgICAgIC0g0LLRi9Cx0YDQsNGC0Ywg0YPQutCw0LfQsNC90L3Ri9C5INGN0LvQtdC80LXQvdGCXG5mb28gICAgICAgIC0g0LLRi9Cx0YDQsNGC0Ywg0Y3Qu9C10LzQtdC90YIg0YEg0YPQutCw0LfQsNC90L3Ri9C8INC/0YDQtdGE0LjQutGB0L7QvFxuICAgICAgICAgICAtICjQv9GD0YHRgtC+KSDQvdC1INCy0YvQsdC40YDQsNGC0Ywg0L3QuNGH0LXQs9C+XG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMDEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1ODgKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMDMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgpAQCAtNzk2NywzOCArOTc2NSwzOCBAQAogIiAgICAgICAgICAgLSAoZW1wdHkpIGZpbmlzaCBzZWxlY3RpbmdcbiIKIG1zZ3N0ciAi0KHQv9GA0LDQstC60LAg0L/QviDQstGL0LTQtdC70LXQvdC40Y46XG4xICAgICAgICAgIC0g0LLRi9Cx0YDQsNGC0Ywg0L7QtNC40L0g0Y3Qu9C10LzQtdC90YJcbjMtNSAgICAgICAgLSDQstGL0LHRgNCw0YLRjCDQtNC40LDQv9Cw0LfQvtC9INGN0LvQtdC80LXQvdGC0L7QslxuMi0zLDYtOSAgICAtINCy0YvQsdGA0LDRgtGMINC90LXRgdC60L7Qu9GM0LrQviDQtNC40LDQv9Cw0LfQvtC90L7QslxuZm9vICAgICAgICAtINCy0YvQsdGA0LDRgtGMINGN0LvQtdC80LXQvdGCINGBINGD0LrQsNC30LDQvdC90YvQvCDQv9GA0LXRhNC40LrRgdC+0Lxcbi3igKYgICAgICAgLSDRg9Cx0YDQsNGC0Ywg0LLRi9C00LXQu9C10L3QuNC1INGBINGD0LrQsNC30LDQvdC90YvRhSDRjdC70LXQvNC10L3RgtC+0LJcbiogICAgICAgICAgLSDQstGL0LHRgNCw0YLRjCDQstGB0LUg0Y3Qu9C10LzQtdC90YLRi1xuICAgICAgICAgICAtICjQv9GD0YHRgtC+KSDQt9Cw0LLQtdGA0YjQuNGC0Ywg0LLRi9C00LXQu9C10L3QuNC1XG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo1MTcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NTQKKyM6IGJ1aWx0aW4vY2xlYW4uYzo1MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NTQKICM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTU5CiAjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKIG1zZ2lkICJIdWggKCVzKT9cbiIKIG1zZ3N0ciAi0KXQvCAoJXMpP1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NjU5CisjOiBidWlsdGluL2NsZWFuLmM6NjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIklucHV0IGlnbm9yZSBwYXR0ZXJucz4+ICIKIG1zZ3N0ciAi0KjQsNCx0LvQvtC90Ysg0LjQs9C90L7RgNC40YDQvtCy0LDQvdC40Y8g0LLQstC+0LTQsD4+ICIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY5NgorIzogYnVpbHRpbi9jbGVhbi5jOjY5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJXQVJOSU5HOiBDYW5ub3QgZmluZCBpdGVtcyBtYXRjaGVkIGJ5OiAlcyIKIG1zZ3N0ciAi0J/QoNCV0JTQo9Cf0KDQldCW0JTQldCd0JjQlTog0J3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0LnRgtC4INGN0LvQtdC80LXQvdGC0Ysg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNC1OiAlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjcxNworIzogYnVpbHRpbi9jbGVhbi5jOjcxOQogbXNnaWQgIlNlbGVjdCBpdGVtcyB0byBkZWxldGUiCiBtc2dzdHIgItCj0LrQsNC20LjRgtC1INGN0LvQtdC80LXQvdGC0Ysg0LTQu9GPINGD0LTQsNC70LXQvdC40Y8iCiAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8ga2VlcCBbeS9OXSBhcyBpcwotIzogYnVpbHRpbi9jbGVhbi5jOjc1OAorIzogYnVpbHRpbi9jbGVhbi5jOjc2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmUgJXMgW3kvTl0/ICIKIG1zZ3N0ciAi0KPQtNCw0LvQuNGC0YwgJXMgW3kgLSDQtNCwL04gLSDQvdC10YJdPyAiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzE3CisjOiBidWlsdGluL2NsZWFuLmM6Nzg1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJCeWUuXG4iCiBtc2dzdHIgItCU0L4g0YHQstC40LTQsNC90LjRjy5cbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjc5MQorIzogYnVpbHRpbi9jbGVhbi5jOjc5MwogbXNnaWQgIiIKICJjbGVhbiAgICAgICAgICAgICAgIC0gc3RhcnQgY2xlYW5pbmdcbiIKICJmaWx0ZXIgYnkgcGF0dGVybiAgIC0gZXhjbHVkZSBpdGVtcyBmcm9tIGRlbGV0aW9uXG4iCkBAIC04MDA5LDE1ICs5ODA3LDE1IEBACiAiPyAgICAgICAgICAgICAgICAgICAtIGhlbHAgZm9yIHByb21wdCBzZWxlY3Rpb24iCiBtc2dzdHIgImNsZWFuICAgICAgICAgICAgICAgLSDQvdCw0YfQsNGC0Ywg0L7Rh9C40YHRgtC60YNcbmZpbHRlciBieSBwYXR0ZXJuICAgLSDQuNGB0LrQu9GO0YfQuNGC0Ywg0YPQtNCw0LvQtdC90LjQtSDRjdC70LXQvNC10L3RgtC+0LJcbnNlbGVjdCBieSBudW1iZXJzICAgLSDQuNGB0LrQu9GO0YfQuNGC0Ywg0YPQtNCw0LvQtdC90LjQtSDRjdC70LXQvNC10L3RgtC+0LIg0L/QviDQvdC+0LzQtdGA0LDQvFxuYXNrIGVhY2ggICAgICAgICAgICAtINC30LDQv9GA0LDRiNC40LLQsNGC0Ywg0L/QvtC00YLQstC10YDQttC00LXQvdC40LUg0L3QsCDRg9C00LDQu9C10L3QuNC1INC60LDQttC00L7Qs9C+INGN0LvQtdC80LXQvdGC0LAgKNC60LDQuiDCq3JtIC1pwrspXG5xdWl0ICAgICAgICAgICAgICAgIC0g0L/RgNC10LrRgNCw0YLQuNGC0Ywg0L7Rh9C40YHRgtC60YNcbmhlbHAgICAgICAgICAgICAgICAgLSDRjdGC0L7RgiDRjdC60YDQsNC9XG4/ICAgICAgICAgICAgICAgICAgIC0g0YHQv9GA0LDQstC60LAg0L/QviDQstGL0LTQtdC70LXQvdC40Y4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzkzCisjOiBidWlsdGluL2NsZWFuLmM6ODIwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc5MwogbXNnaWQgIioqKiBDb21tYW5kcyAqKioiCiBtc2dzdHIgIioqKiDQmtC+0LzQsNC90LTRiyAqKioiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzkwCisjOiBidWlsdGluL2NsZWFuLmM6ODIxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc5MAogbXNnaWQgIldoYXQgbm93IgogbXNnc3RyICLQp9GC0L4g0YLQtdC/0LXRgNGMIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODI3CisjOiBidWlsdGluL2NsZWFuLmM6ODI5CiBtc2dpZCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbToiCiBtc2dpZF9wbHVyYWwgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW1zOiIKIG1zZ3N0clswXSAi0KPQtNCw0LvQuNGC0Ywg0YHQu9C10LTRg9GO0YnQuNC1INGN0LvQtdC80LXQvdGC0Ys6IgpAQCAtODAyNSwzNzIgKzk4MjMsMzg3IEBACiBtc2dzdHJbMl0gItCj0LTQsNC70LjRgtGMINGB0LvQtdC00YPRjtGJ0LjQtSDRjdC70LXQvNC10L3RgtGLOiIKIG1zZ3N0clszXSAi0KPQtNCw0LvQuNGC0Ywg0YHQu9C10LTRg9GO0YnQuNC1INGN0LvQtdC80LXQvdGC0Ys6IgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODQzCisjOiBidWlsdGluL2NsZWFuLmM6ODQ1CiBtc2dpZCAiTm8gbW9yZSBmaWxlcyB0byBjbGVhbiwgZXhpdGluZy4iCiBtc2dzdHIgItCR0L7Qu9GM0YjQtSDQvdC10YIg0YTQsNC50LvQvtCyINC00LvRjyDQvtGH0LjRgdGC0LrQuCwg0LLRi9GF0L7QtNC40LwuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTA1CisjOiBidWlsdGluL2NsZWFuLmM6OTA3CiBtc2dpZCAiZG8gbm90IHByaW50IG5hbWVzIG9mIGZpbGVzIHJlbW92ZWQiCiBtc2dzdHIgItC90LUg0LLRi9Cy0L7QtNC40YLRjCDQuNC80LXQvdCwINGD0LTQsNC70Y/QtdC80YvRhSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDcKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MDkKIG1zZ2lkICJmb3JjZSIKIG1zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTAKIG1zZ2lkICJpbnRlcmFjdGl2ZSBjbGVhbmluZyIKIG1zZ3N0ciAi0LjQvdGC0LXRgNCw0LrRgtC40LLQvdCw0Y8g0L7Rh9C40YHRgtC60LAiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTAKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTIKIG1zZ2lkICJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiCiBtc2dzdHIgItGD0LTQsNC70LjRgtGMINC60LDRgtCw0LvQvtCz0Lgg0L/QvtC70L3QvtGB0YLRjNGOIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTExIGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDUgYnVpbHRpbi9kZXNjcmliZS5jOjU0NwotIzogYnVpbHRpbi9ncmVwLmM6ODc1IGJ1aWx0aW4vbG9nLmM6MTYxIGJ1aWx0aW4vbG9nLmM6MTYzCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ5IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTUgYnVpbHRpbi9uYW1lLXJldi5jOjQxNwotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NworIzogYnVpbHRpbi9jbGVhbi5jOjkxMyBidWlsdGluL2Rlc2NyaWJlLmM6NTQ2IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5NyBidWlsdGluL2xvZy5jOjE3MSBidWlsdGluL2xvZy5jOjE3MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NyBidWlsdGluL25hbWUtcmV2LmM6NDE3IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTkKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzkKIG1zZ2lkICJwYXR0ZXJuIgogbXNnc3RyICLRiNCw0LHQu9C+0L0iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTQKIG1zZ2lkICJhZGQgPHBhdHRlcm4+IHRvIGlnbm9yZSBydWxlcyIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCA80YjQsNCx0LvQvtC9PiDQsiDQv9GA0LDQstC40LvQsCDQuNCz0L3QvtGA0LjRgNC+0LLQsNC90LjRjyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkxMworIzogYnVpbHRpbi9jbGVhbi5jOjkxNQogbXNnaWQgInJlbW92ZSBpZ25vcmVkIGZpbGVzLCB0b28iCiBtc2dzdHIgItGC0LDQutC20LUg0YPQtNCw0LvQuNGC0Ywg0LjQs9C90L7RgNC40YDRg9C10LzRi9C1INGE0LDQudC70YsiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTUKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTcKIG1zZ2lkICJyZW1vdmUgb25seSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICLRg9C00LDQu9C40YLRjCDRgtC+0LvRjNC60L4g0LjQs9C90L7RgNC40YDRg9C10LzRi9C1INGE0LDQudC70YsiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MzMKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MzUKIG1zZ2lkICIteCBhbmQgLVggY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgItC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IC14INC4IC1YIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTM3CisjOiBidWlsdGluL2NsZWFuLmM6OTM5CiBtc2dpZCAiIgogImNsZWFuLnJlcXVpcmVGb3JjZSBzZXQgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgcmVmdXNpbmcgdG8iCiAiIGNsZWFuIgogbXNnc3RyICJjbGVhbi5yZXF1aXJlRm9yY2Ug0YPRgdGC0LDQvdC+0LLQu9C10L0g0LrQsNC6IHRydWUg0Lgg0L3QuCDQvtC00L3QsCDQuNC3INC+0L/RhtC40LkgLWksIC1uINC40LvQuCAtZiDQvdC1INGD0LrQsNC30LDQvdCwOyDQvtGC0LrQsNC3INC+0YfQuNGB0YLQutC4IgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTQwCisjOiBidWlsdGluL2NsZWFuLmM6OTQyCiBtc2dpZCAiIgogImNsZWFuLnJlcXVpcmVGb3JjZSBkZWZhdWx0cyB0byB0cnVlIGFuZCBuZWl0aGVyIC1pLCAtbiwgbm9yIC1mIGdpdmVuOyAiCiAicmVmdXNpbmcgdG8gY2xlYW4iCiBtc2dzdHIgImNsZWFuLnJlcXVpcmVGb3JjZSDRg9GB0YLQsNC90L7QstC70LXQvSDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQutCw0LogdHJ1ZSDQuCDQvdC4INC+0LTQvdCwINC40Lcg0L7Qv9GG0LjQuSAtaSwgLW4g0LjQu9C4IC1mINC90LUg0YPQutCw0LfQsNC90LA7INC+0YLQutCw0Lcg0L7Rh9C40YHRgtC60LgiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MworIzogYnVpbHRpbi9jbG9uZS5jOjQ0CiBtc2dpZCAiZ2l0IGNsb25lIFs8b3B0aW9ucz5dIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgImdpdCBjbG9uZSBbPNC+0L/RhtC40Lg+XSBbLS1dIDzRgNC10L/QvtC30LjRgtC+0YDQuNC5PiBbPNC60LDRgtCw0LvQvtCzPl0iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OAorIzogYnVpbHRpbi9jbG9uZS5jOjkwCiBtc2dpZCAiZG9uJ3QgY3JlYXRlIGEgY2hlY2tvdXQiCiBtc2dzdHIgItC90LUg0L/QtdGA0LXQutC70Y7Rh9Cw0YLRjCDRgNCw0LHQvtGH0YPRjiDQutC+0L/QuNGOINC90LAgSEVBRCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg5IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2luaXQtZGIuYzo0ODAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2Nsb25lLmM6OTMgYnVpbHRpbi9pbml0LWRiLmM6NDg5CiBtc2dpZCAiY3JlYXRlIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICLRgdC+0LfQtNCw0YLRjCDQs9C+0LvRi9C5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MworIzogYnVpbHRpbi9jbG9uZS5jOjk1CiBtc2dpZCAiY3JlYXRlIGEgbWlycm9yIHJlcG9zaXRvcnkgKGltcGxpZXMgYmFyZSkiCiBtc2dzdHIgItGB0L7Qt9C00LDRgtGMINC30LXRgNC60LDQu9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8gKNCy0LrQu9GO0YfQsNC10YIg0LIg0YHQtdCx0Y8g0Lgg0L/QsNGA0LDQvNC10YLRgCBiYXJlKSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1CisjOiBidWlsdGluL2Nsb25lLmM6OTcKIG1zZ2lkICJ0byBjbG9uZSBmcm9tIGEgbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0LTQu9GPINC60LvQvtC90LjRgNC+0LLQsNC90LjRjyDQuNC3INC70L7QutCw0LvRjNC90L7Qs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NworIzogYnVpbHRpbi9jbG9uZS5jOjk5CiBtc2dpZCAiZG9uJ3QgdXNlIGxvY2FsIGhhcmRsaW5rcywgYWx3YXlzIGNvcHkiCiBtc2dzdHIgItC90LUg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC20LXRgdGC0LrQuNC1INGB0YHRi9C70LrQuCwg0LLRgdC10LPQtNCwINC60L7Qv9C40YDQvtCy0LDRgtGMINGE0LDQudC70YsiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OQorIzogYnVpbHRpbi9jbG9uZS5jOjEwMQogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICLQvdCw0YHRgtGA0L7QuNGC0Ywg0LrQsNC6INC+0LHRidC10LTQvtGB0YLRg9C/0L3Ri9C5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEgYnVpbHRpbi9jbG9uZS5jOjEwNQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNAogbXNnaWQgInBhdGhzcGVjIgogbXNnc3RyICLRgdC/0LXRhtC40YTQuNC60LDRgtC+0YAt0L/Rg9GC0LgiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEgYnVpbHRpbi9jbG9uZS5jOjEwNQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNAogbXNnaWQgImluaXRpYWxpemUgc3VibW9kdWxlcyBpbiB0aGUgY2xvbmUiCiBtc2dzdHIgItC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDRgtGMINC/0L7QtNC80L7QtNGD0LvQuCDQsiDQutC70L7QvdC1IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA4CisjOiBidWlsdGluL2Nsb25lLmM6MTA3CiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgY2xvbmVkIGluIHBhcmFsbGVsIgogbXNnc3RyICLQutC+0LvQuNGH0LXRgdGC0LLQviDQv9C+0LTQvNC+0LTRg9C70LXQuSwg0LrQvtGC0L7RgNGL0LUg0LHRg9C00YPRgiDQutC70L7QvdC40YDQvtCy0LDQvdGLINC/0LDRgNGA0LDQu9C10LvRjNC90L4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkgYnVpbHRpbi9pbml0LWRiLmM6NDc3CisjOiBidWlsdGluL2Nsb25lLmM6MTA4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NgogbXNnaWQgInRlbXBsYXRlLWRpcmVjdG9yeSIKIG1zZ3N0ciAi0LrQsNGC0LDQu9C+0LMt0YjQsNCx0LvQvtC90L7QsiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMCBidWlsdGluL2luaXQtZGIuYzo0NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDkgYnVpbHRpbi9pbml0LWRiLmM6NDg3CiBtc2dpZCAiZGlyZWN0b3J5IGZyb20gd2hpY2ggdGVtcGxhdGVzIHdpbGwgYmUgdXNlZCIKIG1zZ3N0ciAi0LrQsNGC0LDQu9C+0LMsINGI0LDQsdC70L7QvdGLINC40Lcg0LrQvtGC0L7RgNC+0LPQviDQsdGD0LTRg9GCINC40YHQv9C+0LvRjNC30L7QstCw0L3RiyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMiBidWlsdGluL2Nsb25lLmM6MTE0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzY4Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTczOQorIzogYnVpbHRpbi9jbG9uZS5jOjExMSBidWlsdGluL2Nsb25lLmM6MTEzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1OQogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5IgogbXNnc3RyICLRgdGB0YvQu9Cw0LXQvNGL0Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3MAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE3NDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODYxCiBtc2dpZCAidXNlIC0tcmVmZXJlbmNlIG9ubHkgd2hpbGUgY2xvbmluZyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSAtLXJlZmVyZW5jZSDRgtC+0LvRjNC60L4g0L/RgNC4INC60LvQvtC90LjRgNC+0LLQsNC90LjQuCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExNyBidWlsdGluL2NvbHVtbi5jOjI3IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ0Ci0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxOTQgYnVpbHRpbi9yZXBhY2suYzozMjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTYgYnVpbHRpbi9jb2x1bW4uYzoyNyBidWlsdGluL21lcmdlLWZpbGUuYzo0NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzA2IGJ1aWx0aW4vcmVwYWNrLmM6MzI5CiBtc2dpZCAibmFtZSIKIG1zZ3N0ciAi0LjQvNGPIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE4CisjOiBidWlsdGluL2Nsb25lLmM6MTE3CiBtc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgPNC40LzRjz4g0LLQvNC10YHRgtC+IMKrb3JpZ2luwrsg0LTQu9GPINC+0YLRgdC70LXQttC40LLQsNC90LjRjyDQstGL0YjQtdGB0YLQvtGP0YnQtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyMAorIzogYnVpbHRpbi9jbG9uZS5jOjExOQogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGluc3RlYWQgb2YgdGhlIHJlbW90ZSdzIEhFQUQiCiBtc2dzdHIgItC/0LXRgNC10LrQu9GO0YfQuNGC0YzRgdGPINC90LAgPNCy0LXRgtC60YM+LCDQstC80LXRgdGC0L4gSEVBRCDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjEKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICLQv9GD0YLRjCDQuiBnaXQtdXBsb2FkLXBhY2sg0L3QsCDQstC90LXRiNC90LXQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTIzIGJ1aWx0aW4vZmV0Y2guYzoxMzkgYnVpbHRpbi9ncmVwLmM6ODE0Ci0jOiBidWlsdGluL3B1bGwuYzoyMTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjIgYnVpbHRpbi9mZXRjaC5jOjE0MiBidWlsdGluL2dyZXAuYzo4MzYKKyM6IGJ1aWx0aW4vcHVsbC5jOjIyNQogbXNnaWQgImRlcHRoIgogbXNnc3RyICLQs9C70YPQsdC40L3QsCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyNAorIzogYnVpbHRpbi9jbG9uZS5jOjEyMwogbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgb2YgdGhhdCBkZXB0aCIKIG1zZ3N0ciAi0YHQtNC10LvQsNGC0Ywg0YfQsNGB0YLQuNGH0L3Ri9C5INC60LvQvtC9INGD0LrQsNC30LDQvdC90L7QuSDQs9C70YPQsdC40L3RiyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyNSBidWlsdGluL2ZldGNoLmM6MTQxIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE4NQotIzogcGFyc2Utb3B0aW9ucy5oOjE1NAorIzogYnVpbHRpbi9jbG9uZS5jOjEyNCBidWlsdGluL2ZldGNoLmM6MTQ0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5NQogbXNnaWQgInRpbWUiCiBtc2dzdHIgItCy0YDQtdC80Y8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjUKIG1zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIHNpbmNlIGEgc3BlY2lmaWMgdGltZSIKIG1zZ3N0ciAi0YHQtNC10LvQsNGC0Ywg0YfQsNGB0YLQuNGH0L3Ri9C5INC60LvQvtC9INC00L4g0L7Qv9GA0LXQtNC10LvQtdC90L3QvtCz0L4g0LLRgNC10LzQtdC90LgiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjcgYnVpbHRpbi9mZXRjaC5jOjE0MyBidWlsdGluL2ZldGNoLmM6MTY2CisjOiBidWlsdGluL2Nsb25lLmM6MTI2IGJ1aWx0aW4vZmV0Y2guYzoxNDYgYnVpbHRpbi9mZXRjaC5jOjE2OQorIzogYnVpbHRpbi9yZWJhc2UuYzoxMzg5CiBtc2dpZCAicmV2aXNpb24iCiBtc2dzdHIgItGA0LXQtNCw0LrRhtC40Y8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjggYnVpbHRpbi9mZXRjaC5jOjE0NAorIzogYnVpbHRpbi9jbG9uZS5jOjEyNyBidWlsdGluL2ZldGNoLmM6MTQ3CiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSwgZXhjbHVkaW5nIHJldiIKIG1zZ3N0ciAi0YPQs9C70YPQsdC40YLRjCDQuNGB0YLQvtGA0LjRjiDRh9Cw0YHRgtC40YfQvdC+0LPQviDQutC70L7QvdCwINC40YHQutC70Y7Rh9Cw0Y8g0YDQtdC00LDQutGG0LjRjiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzMAorIzogYnVpbHRpbi9jbG9uZS5jOjEyOQogbXNnaWQgImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIKIG1zZ3N0ciAi0LrQu9C+0L3QuNGA0L7QstCw0YLRjCDRgtC+0LvRjNC60L4g0L7QtNC90YMg0LLQtdGC0LrRgywgSEVBRCDQuNC70LggLS1icmFuY2giCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzEKIG1zZ2lkICJkb24ndCBjbG9uZSBhbnkgdGFncywgYW5kIG1ha2UgbGF0ZXIgZmV0Y2hlcyBub3QgdG8gZm9sbG93IHRoZW0iCiBtc2dzdHIgItC90LUg0LrQu9C+0L3QuNGA0L7QstCw0YLRjCDQvNC10YLQutC4LCDQsCDRgtCw0LrQttC1INC90LDRgdGC0YDQvtC40YLRjCwg0YfRgtC+0LHRiyDQvdC1INC60LvQvtC90LjRgNC+0LLQsNC70LjRgdGMINC4INCyINC00LDQu9GM0L3QtdC50YjQtdC8IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM0CisjOiBidWlsdGluL2Nsb25lLmM6MTMzCiBtc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgYmUgc2hhbGxvdyIKIG1zZ3N0ciAi0LLRgdC1INGB0LrQu9C+0L3QuNGA0L7QstCw0L3QvdGL0LUg0L/QvtC00LzQvtC00YPQu9C4INCx0YPQtNGD0YIg0YfQsNGB0YLQuNGH0L3Ri9C80Lgg0LrQu9C+0L3QsNC80LgiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzUgYnVpbHRpbi9pbml0LWRiLmM6NDg2CisjOiBidWlsdGluL2Nsb25lLmM6MTM0IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NQogbXNnaWQgImdpdGRpciIKIG1zZ3N0ciAi0LrQsNGC0LDQu9C+0LMtZ2l0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM2IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NworIzogYnVpbHRpbi9jbG9uZS5jOjEzNSBidWlsdGluL2luaXQtZGIuYzo0OTYKIG1zZ2lkICJzZXBhcmF0ZSBnaXQgZGlyIGZyb20gd29ya2luZyB0cmVlIgogbXNnc3RyICLRgNCw0LfQvNC10YHRgtC40YLRjCDQutCw0YLQsNC70L7QsyBnaXQg0L7RgtC00LXQu9GM0L3QviDQvtGCINGA0LDQsdC+0YfQtdC5INC60L7Qv9C40LgiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzYKIG1zZ2lkICJrZXk9dmFsdWUiCiBtc2dzdHIgItC60LvRjtGHPdC30L3QsNGH0LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzcKIG1zZ2lkICJzZXQgY29uZmlnIGluc2lkZSB0aGUgbmV3IHJlcG9zaXRvcnkiCiBtc2dzdHIgItGD0YHRgtCw0L3QvtCy0LjRgtGMINC/0LDRgNCw0LzQtdGC0YDRiyDQstC90YPRgtGA0Lgg0L3QvtCy0L7Qs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzkgYnVpbHRpbi9mZXRjaC5jOjE2MiBidWlsdGluL3B1bGwuYzoyMjkKLSM6IGJ1aWx0aW4vcHVzaC5jOjU4MworIzogYnVpbHRpbi9jbG9uZS5jOjEzOSBidWlsdGluL2ZldGNoLmM6MTY0IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU4NSBidWlsdGluL3NlbmQtcGFjay5jOjE3MgorbXNnaWQgInNlcnZlci1zcGVjaWZpYyIKK21zZ3N0ciAi0LfQsNCy0LjRgdC40YIt0L7Rgi3RgdC10YDQstC10YDQsCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEzOSBidWlsdGluL2ZldGNoLmM6MTY0IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU4NSBidWlsdGluL3NlbmQtcGFjay5jOjE3MworbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKK21zZ3N0ciAi0L/QtdGA0LXQtNCw0LLQsNC10LzRi9C1INC+0L/RhtC40LgiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDAgYnVpbHRpbi9mZXRjaC5jOjE2NSBidWlsdGluL3B1bGwuYzoyMzgKKyM6IGJ1aWx0aW4vcHVzaC5jOjU4NgogbXNnaWQgInVzZSBJUHY0IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+IElQdjQg0LDQtNGA0LXRgdCwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTQxIGJ1aWx0aW4vZmV0Y2guYzoxNjQgYnVpbHRpbi9wdWxsLmM6MjMyCi0jOiBidWlsdGluL3B1c2guYzo1ODUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDIgYnVpbHRpbi9mZXRjaC5jOjE2NyBidWlsdGluL3B1bGwuYzoyNDEKKyM6IGJ1aWx0aW4vcHVzaC5jOjU4OAogbXNnaWQgInVzZSBJUHY2IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+IElQdjYg0LDQtNGA0LXRgdCwIgogCi0jOiBidWlsdGluL2Nsb25lLmM6Mjc5CisjOiBidWlsdGluL2Nsb25lLmM6MjgwCiBtc2dpZCAiIgogIk5vIGRpcmVjdG9yeSBuYW1lIGNvdWxkIGJlIGd1ZXNzZWQuXG4iCiAiUGxlYXNlIHNwZWNpZnkgYSBkaXJlY3Rvcnkgb24gdGhlIGNvbW1hbmQgbGluZSIKIG1zZ3N0ciAi0JjQvNGPINC60LDRgtCw0LvQvtCz0LAg0L3QtSDQvNC+0LbQtdGCINCx0YvRgtGMINGD0LPQsNC00LDQvdC+Llxu0KPQutCw0LbQuNGC0LUg0LjQvNGPINC60LDRgtCw0LvQvtCz0LAg0YEg0L/QvtC80L7RidGM0Y4g0L/QsNGA0LDQvNC10YLRgNCwINC60L7QvNCw0L3QtNC90L7QuSDRgdGC0YDQvtC60LgiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbzogQ291bGQgbm90IGFkZCBhbHRlcm5hdGUgZm9yICclcyc6ICVzXG4iCiBtc2dzdHIgItC40L3RhNC+0YDQvNCw0YbQuNGPOiDQndC1INGD0LTQsNC70L7RgdGMINC00L7QsdCw0LLQuNGC0Ywg0LDQu9GM0YLQtdGA0L3QsNGC0LjQstGDINC00LvRjyDCqyVzwrs6ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MDQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzINGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgiDQuCDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LrQsNGC0LDQu9C+0LPQvtC8IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDI2CisjOiBidWlsdGluL2Nsb25lLmM6NDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIHN0YXQgJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ0OAorIzogYnVpbHRpbi9jbG9uZS5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCittc2dzdHIgItGB0LHQvtC5INC+0YLRgdC+0LXQtNC40L3QtdC90LjRjyDCqyVzwrsiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0YHRgdGL0LvQutGDIMKrJXPCuyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ1MgorIzogYnVpbHRpbi9jbG9uZS5jOjQ1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LrQvtC/0LjRgNC+0LLQsNGC0Ywg0YTQsNC50Lsg0LIgwqslc8K7IgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDc4CisjOiBidWlsdGluL2Nsb25lLmM6NDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvbmUuXG4iCiBtc2dzdHIgItCz0L7RgtC+0LLQvi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ5MgorIzogYnVpbHRpbi9jbG9uZS5jOjQ5MwogbXNnaWQgIiIKICJDbG9uZSBzdWNjZWVkZWQsIGJ1dCBjaGVja291dCBmYWlsZWQuXG4iCiAiWW91IGNhbiBpbnNwZWN0IHdoYXQgd2FzIGNoZWNrZWQgb3V0IHdpdGggJ2dpdCBzdGF0dXMnXG4iCiAiYW5kIHJldHJ5IHRoZSBjaGVja291dCB3aXRoICdnaXQgY2hlY2tvdXQgLWYgSEVBRCdcbiIKIG1zZ3N0ciAi0JrQu9C+0L3QuNGA0L7QstCw0L3QuNC1INC/0YDQvtGI0LvQviDRg9GB0L/QtdGI0L3Qviwg0L3QviDQstC+INCy0YDQtdC80Y8g0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINGB0L7RgdGC0L7Rj9C90LjRjyDQv9GA0L7QuNC30L7RiNC70LAg0L7RiNC40LHQutCwLlxu0KEg0L/QvtC80L7RidGMINC60L7QvNCw0L3QtNGLIMKrZ2l0IHN0YXR1c8K7INCy0Ysg0LzQvtC20LXRgtC1INC/0YDQvtGB0LzQvtGC0YDQtdGC0YwsINC60LDQutC40LUg0YTQsNC50LvRiyDQsdGL0LvQuCDQvtCx0L3QvtCy0LvQtdC90YssXG7QsCDRgSDQv9C+0LzQvtGJ0YzRjiDCq2dpdCBjaGVja291dCAtZiBIRUFEwrsg0LzQvtC20L3QviDQv9C+0LLRgtC+0YDQuNGC0Ywg0L/QvtC/0YvRgtC60YMg0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINC90LAg0LLQtdGC0LrRgyBcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjU2OQorIzogYnVpbHRpbi9jbG9uZS5jOjU3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCByZW1vdGUgYnJhbmNoICVzIHRvIGNsb25lLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0LnRgtC4INCy0L3QtdGI0L3RjtGOINCy0LXRgtC60YMgJXMg0LTQu9GPINC60LvQvtC90LjRgNC+0LLQsNC90LjRjy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2ODAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzMwCisjOiBidWlsdGluL2Nsb25lLmM6NzM5CiBtc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgogbXNnc3RyICLQstC90LXRiNC90LjQuSBIRUFEINGB0YHRi9C70LDQtdGC0YHRjyDQvdCwINC90LXRgdGD0YnQtdGB0YLQstGD0Y7RidGD0Y4g0YHRgdGL0LvQutGDLCDQvdC10LvRjNC30Y8g0L/QtdGA0LXQutC70Y7Rh9C40YLRjNGB0Y8g0L3QsCDRgtCw0LrRg9GOINCy0LXRgNGB0LjRji5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2MAorIzogYnVpbHRpbi9jbG9uZS5jOjc3MAogbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQutC70Y7Rh9C40YLRjNGB0Y8g0L3QsCDQstC10YDRgdC40Y4g0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgwNQorIzogYnVpbHRpbi9jbG9uZS5jOjgxNQogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBwYXJhbWV0ZXJzIHRvIGNvbmZpZyBmaWxlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0L/QsNGA0LDQvNC10YLRgNGLINCyINGE0LDQudC7INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2OAorIzogYnVpbHRpbi9jbG9uZS5jOjg3OAogbXNnaWQgImNhbm5vdCByZXBhY2sgdG8gY2xlYW4gdXAiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMINC/0LXRgNC10L/QsNC60L7QstC60YMg0LTQu9GPINC+0YfQuNGB0YLQutC4IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODcwCisjOiBidWlsdGluL2Nsb25lLmM6ODgwCiBtc2dpZCAiY2Fubm90IHVubGluayB0ZW1wb3JhcnkgYWx0ZXJuYXRlcyBmaWxlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLRgdC+0LXQtNC40L3QuNGC0Ywg0LLRgNC10LzQtdC90L3Ri9C1INCw0LvRjNGC0LXRgNC90LDRgtC40LLQvdGL0LUg0YTQsNC50LvRiyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxMCBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5MzUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MjAgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTUyCiBtc2dpZCAiVG9vIG1hbnkgYXJndW1lbnRzLiIKIG1zZ3N0ciAi0KHQu9C40YjQutC+0Lwg0LzQvdC+0LPQviDQsNGA0LPRg9C80LXQvdGC0L7Qsi4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MTQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MjQKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgcmVwb3NpdG9yeSB0byBjbG9uZS4iCiBtc2dzdHIgItCS0Ysg0LTQvtC70LbQvdGLINGD0LrQsNC30LDRgtGMINGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0LTQu9GPINC60LvQvtC90LjRgNC+0LLQsNC90LjRjy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MjcKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1iYXJlIGFuZCAtLW9yaWdpbiAlcyBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUuIgogbXNnc3RyICItLWJhcmUg0LggLS1vcmlnaW4gJXMg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTMwCisjOiBidWlsdGluL2Nsb25lLmM6OTQwCiBtc2dpZCAiLS1iYXJlIGFuZCAtLXNlcGFyYXRlLWdpdC1kaXIgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgIi0tYmFyZSDQuCAtLXNlcGFyYXRlLWdpdC1kaXIg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQzCisjOiBidWlsdGluL2Nsb25lLmM6OTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDCqyVzwrsg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk0OSBidWlsdGluL2ZldGNoLmM6MTUxMgorIzogYnVpbHRpbi9jbG9uZS5jOjk1OSBidWlsdGluL2ZldGNoLmM6MTYxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXB0aCAlcyBpcyBub3QgYSBwb3NpdGl2ZSBudW1iZXIiCiBtc2dzdHIgItCz0LvRg9Cx0LjQvdCwICVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQv9C+0LvQvtC20LjRgtC10LvRjNC90YvQvCDRh9C40YHQu9C+0LwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gcGF0aCAnJXMnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYW4gZW1wdHkgZGlyZWN0b3J5LiIKIG1zZ3N0ciAi0YbQtdC70LXQstC+0Lkg0L/Rg9GC0Ywgwqslc8K7INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgiDQuCDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0L/Rg9GB0YLRi9C8INC60LDRgtCw0LvQvtCz0L7QvC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAid29ya2luZyB0cmVlICclcycgYWxyZWFkeSBleGlzdHMuIgogbXNnc3RyICLRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyDCqyVzwrsg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4NCBidWlsdGluL2Nsb25lLmM6MTAwNSBidWlsdGluL2RpZmZ0b29sLmM6MjcxCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjQ2IGJ1aWx0aW4vd29ya3RyZWUuYzoyNzYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OTQgYnVpbHRpbi9jbG9uZS5jOjEwMTUgYnVpbHRpbi9kaWZmdG9vbC5jOjI2NAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjI5NiBidWlsdGluL3dvcmt0cmVlLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINGA0L7QtNC40YLQtdC70YzRgdC60LjQtSDQutCw0YLQsNC70L7Qs9C4INC00LvRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5ODkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0YDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMgwqslc8K7IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAwOQorIzogYnVpbHRpbi9jbG9uZS5jOjEwMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iCiBtc2dzdHIgItCa0LvQvtC90LjRgNC+0LLQsNC90LjQtSDQsiDQs9C+0LvRi9C5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkgwqslc8K74oCmXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDExCisjOiBidWlsdGluL2Nsb25lLmM6MTAyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgogbXNnc3RyICLQmtC70L7QvdC40YDQvtCy0LDQvdC40LUg0LIgwqslc8K74oCmXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDM1CisjOiBidWlsdGluL2Nsb25lLmM6MTA0NQogbXNnaWQgIiIKICJjbG9uZSAtLXJlY3Vyc2l2ZSBpcyBub3QgY29tcGF0aWJsZSB3aXRoIGJvdGggLS1yZWZlcmVuY2UgYW5kIC0tcmVmZXJlbmNlLSIKICJpZi1hYmxlIgogbXNnc3RyICLQutC70L7QvdC40YDQvtCy0LDQvdC40LUg0YEg0L/QsNGA0LDQvNC10YLRgNC+0LwgLS1yZWN1cnNpdmUg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0L3QuCDRgSAtLXJlZmVyZW5jZSwg0L3QuCDRgSAtLXJlZmVyZW5jZS1pZi1hYmxlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5NgorIzogYnVpbHRpbi9jbG9uZS5jOjExMDYKIG1zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiLS1kZXB0aCDQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y8g0L3QsCDQu9C+0LrQsNC70YzQvdGL0YUg0LrQu9C+0L3QsNGFOyDQstC80LXRgdGC0L4g0Y3RgtC+0LPQviDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IGZpbGU6Ly8uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5OAorIzogYnVpbHRpbi9jbG9uZS5jOjExMDgKIG1zZ2lkICItLXNoYWxsb3ctc2luY2UgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICItLXNoYWxsb3ctc2luY2Ug0LjQs9C90L7RgNC40YDRg9C10YLRgdGPINC90LAg0LvQvtC60LDQu9GM0L3Ri9GFINC60LvQvtC90LDRhTsg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSBmaWxlOi8vINCy0LzQtdGB0YLQviDRjdGC0L7Qs9C+LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMDAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTEwCiBtc2dpZCAiLS1zaGFsbG93LWV4Y2x1ZGUgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICItLXNoYWxsb3ctZXhjbHVkZSDQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y8g0L3QsCDQu9C+0LrQsNC70YzQvdGL0YUg0LrQu9C+0L3QsNGFOyDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IGZpbGU6Ly8g0LLQvNC10YHRgtC+INGN0YLQvtCz0L4uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEwMgorIzogYnVpbHRpbi9jbG9uZS5jOjExMTIKIG1zZ2lkICItLWZpbHRlciBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMDUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTE1CiBtc2dpZCAic291cmNlIHJlcG9zaXRvcnkgaXMgc2hhbGxvdywgaWdub3JpbmcgLS1sb2NhbCIKIG1zZ3N0ciAi0LjRgdGF0L7QtNC90YvQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5INGP0LLQu9GP0LXRgtGB0Y8g0YfQsNGB0YLQuNGH0L3Ri9C8LCAtLWxvY2FsINC40LPQvdC+0YDQuNGA0YPQtdGC0YHRjyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTIwCiBtc2dpZCAiLS1sb2NhbCBpcyBpZ25vcmVkIgogbXNnc3RyICItLWxvY2FsINC40LPQvdC+0YDQuNGA0YPQtdGC0YHRjyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExODAgYnVpbHRpbi9jbG9uZS5jOjExODgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTk3IGJ1aWx0aW4vY2xvbmUuYzoxMjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgogbXNnc3RyICLQktC90LXRiNC90Y/RjyDQstC10YLQutCwICVzINC90LUg0L3QsNC50LTQtdC90LAg0LIg0LLRi9GI0LXRgdGC0L7Rj9GJ0LXQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4ICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE5MQorIzogYnVpbHRpbi9jbG9uZS5jOjEyMDgKIG1zZ2lkICJZb3UgYXBwZWFyIHRvIGhhdmUgY2xvbmVkIGFuIGVtcHR5IHJlcG9zaXRvcnkuIgogbXNnc3RyICLQn9C+0YXQvtC20LUsINGH0YLQviDQstGLINC60LvQvtC90LjRgNC+0LLQsNC70Lgg0L/Rg9GB0YLQvtC5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkuIgogCkBAIC04NDI2LDIyICsxMDIzOSw4OCBAQAogbXNnaWQgIi0tY29tbWFuZCBtdXN0IGJlIHRoZSBmaXJzdCBhcmd1bWVudCIKIG1zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCAtLWNvbW1hbmQg0LTQvtC70LbQtdC9INCx0YvRgtGMINC/0LXRgNCy0YvQvCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozOAorIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjE4Cittc2dpZCAiIgorImdpdCBjb21taXQtdHJlZSBbKC1wIDxwYXJlbnQ+KS4uLl0gWy1TWzxrZXlpZD5dXSBbKC1tIDxtZXNzYWdlPikuLi5dIFsoLUYgIgorIjxmaWxlPikuLi5dIDx0cmVlPiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHVwbGljYXRlIHBhcmVudCAlcyBpZ25vcmVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzo1NiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTM2IGJ1aWx0aW4vbG9nLmM6NTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byBvcGVuICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIHJlYWQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gY2xvc2UgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTExCittc2dpZCAicGFyZW50IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTIKK21zZ2lkICJpZCBvZiBhIHBhcmVudCBjb21taXQgb2JqZWN0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTQgYnVpbHRpbi9jb21taXQuYzoxNDgwIGJ1aWx0aW4vbWVyZ2UuYzoyNjgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDkgYnVpbHRpbi9ub3Rlcy5jOjU3NSBidWlsdGluL3N0YXNoLmM6MTQ3MworIzogYnVpbHRpbi90YWcuYzo0MDYKK21zZ2lkICJtZXNzYWdlIgorbXNnc3RyICLRgdC+0L7QsdGJ0LXQvdC40LUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTUgYnVpbHRpbi9jb21taXQuYzoxNDgwCittc2dpZCAiY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgItGB0L7QvtCx0YnQtdC90LjQtSDQutC+0LzQvNC40YLQsCIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExOAorbXNnaWQgInJlYWQgY29tbWl0IGxvZyBtZXNzYWdlIGZyb20gZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTIxIGJ1aWx0aW4vY29tbWl0LmM6MTQ5MiBidWlsdGluL21lcmdlLmM6MjgzCisjOiBidWlsdGluL3B1bGwuYzoxOTMgYnVpbHRpbi9yZXZlcnQuYzoxMTcKK21zZ2lkICJHUEcgc2lnbiBjb21taXQiCittc2dzdHIgItC/0L7QtNC/0LjRgdCw0YLRjCDQutC+0LzQvNC40YIg0YEg0L/QvtC80L7RidGM0Y4gR1BHIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTMzCittc2dpZCAibXVzdCBnaXZlIGV4YWN0bHkgb25lIHRyZWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjE0MAorbXNnaWQgImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIHJlYWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb21taXQuYzo0MQogbXNnaWQgImdpdCBjb21taXQgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgY29tbWl0IFs80L7Qv9GG0LjQuD5dIFstLV0gPNGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgC3Qv9GD0YLQuD7igKYiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDYKIG1zZ2lkICJnaXQgc3RhdHVzIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IHN0YXR1cyBbPNC+0L/RhtC40Lg+XSBbLS1dIDzRgdC/0LXRhtC40YTQuNC60LDRgtC+0YAt0L/Rg9GC0Lg+4oCmIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ4CisjOiBidWlsdGluL2NvbW1pdC5jOjUxCiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBhbWVuZCB0aGUgbW9zdCByZWNlbnQgY29tbWl0LCBidXQgZG9pbmcgc28gd291bGQgbWFrZVxuIgogIml0IGVtcHR5LiBZb3UgY2FuIHJlcGVhdCB5b3VyIGNvbW1hbmQgd2l0aCAtLWFsbG93LWVtcHR5LCBvciB5b3UgY2FuXG4iCiAicmVtb3ZlIHRoZSBjb21taXQgZW50aXJlbHkgd2l0aCBcImdpdCByZXNldCBIRUFEXlwiLlxuIgogbXNnc3RyICLQktGLINC/0L7Qv9GA0L7RgdC40LvQuCDQuNGB0L/RgNCw0LLQuNGC0Ywg0L/QvtGB0LvQtdC00L3QuNC5INC60L7QvNC80LjRgiwg0L3QviDQtNC10LvQsNGPINGN0YLQviDQstGLINGB0LTQtdC70LDQtdGC0LVcbtC/0YPRgdGC0L7QuSDQutC+0LzQvNC40YIuINCS0Ysg0LzQvtC20LXRgtC1INC/0L7QstGC0L7RgNC40YLRjCDRjdGC0YMg0LrQvtC80LDQvdC00YMg0YEg0L7Qv9GG0LjQtdC5IC0tYWxsb3ctZW1wdHlcbtC40LvQuCDQstGLINC80L7QttC10YLQtSDRg9C00LDQu9C40YLRjCDQutC+0LzQvNC40YIg0L/QvtC70L3QvtGB0YLRjNGOINGBINC/0L7QvNC+0YnRjNGOINC60L7QvNCw0L3QtNGLIFxuwqtnaXQgcmVzZXQgSEVBRF7Cuy5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1MworIzogYnVpbHRpbi9jb21taXQuYzo1NgogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCkBAIC04NDUwLDExICsxMDMyOSwxMSBAQAogIlxuIgogbXNnc3RyICLQmtC+0L/QuNGA0YPQtdC80YvQuSDQutC+0LzQvNC40YIg0YLQtdC/0LXRgNGMINC/0YPRgdGCLCDQstC+0LfQvNC+0LbQvdC+INC/0L7RgdC70LUg0YDQsNC30YDQtdGI0LXQvdC40Y8g0LrQvtC90YTQu9C40LrRgtC+0LIuXG7QldGB0LvQuCDQstGLINCy0YHQtSDRgNCw0LLQvdC+INGF0L7RgtC40YLQtSDRgdC00LXQu9Cw0YLRjCDQv9GD0YHRgtC+0Lkg0LrQvtC80LzQuNGCLCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1OlxuXG4gICAgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5XG5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MAorIzogYnVpbHRpbi9jb21taXQuYzo2MwogbXNnaWQgIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgogbXNnc3RyICLQkiDQv9GA0L7RgtC40LLQvdC+0Lwg0YHQu9GD0YfQsNC1LCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHJlc2V0wrtcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MworIzogYnVpbHRpbi9jb21taXQuYzo2NgogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBza2lwIHRoaXMgY29tbWl0LCB1c2U6XG4iCiAiXG4iCkBAIC04NDY0LDk4ICsxMDM0Myw5OCBAQAogInRoZSByZW1haW5pbmcgY29tbWl0cy5cbiIKIG1zZ3N0ciAi0JXRgdC70Lgg0LLRiyDRhdC+0YLQuNGC0LUg0L/RgNC+0L/Rg9GB0YLQuNGCINGN0YLQvtGCINC60L7QvNC80LjRgiwg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQutC+0LzQsNC90LTRgzpcblxuICAgIGdpdCByZXNldFxuXG7Qn9C+0YHQu9C1INGN0YLQvtCz0L4gwqtnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZcK7INC/0YDQvtC00L7Qu9C20LjRgiDQutC+0L/QuNGA0L7QstCw0L3QuNC1INC+0YHRgtCw0LLRiNC40YXRgdGPINC60L7QvNC80LjRgtC+0LIuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzA2CisjOiBidWlsdGluL2NvbW1pdC5jOjMxMgogbXNnaWQgImZhaWxlZCB0byB1bnBhY2sgSEVBRCB0cmVlIG9iamVjdCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0YDQsNGB0L/QsNC60L7QstC60Lgg0L7QsdGK0LXQutGC0LAg0LTQtdGA0LXQstCwIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzQ3CisjOiBidWlsdGluL2NvbW1pdC5jOjM1MwogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINCy0YDQtdC80LXQvdC90YvQuSDQuNC90LTQtdC60YEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzUzCisjOiBidWlsdGluL2NvbW1pdC5jOjM1OQogbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INC40L3RgtC10YDQsNC60YLQuNCy0L3QvtCz0L4g0LTQvtCx0LDQstC70LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzY2CisjOiBidWlsdGluL2NvbW1pdC5jOjM3MwogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0LHQvdC+0LLQuNGC0Ywg0LLRgNC10LzQtdC90L3Ri9C5INC40L3QtNC10LrRgSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNjgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Mzc1CiBtc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBtYWluIGNhY2hlIHRyZWUiCiBtc2dzdHIgItCh0LHQvtC5INC/0YDQuCDQvtCx0L3QvtCy0LvQtdC90LjQuCDQvtGB0L3QvtCy0L3QvtCz0L4g0LrRjdGI0LAg0LTQtdGA0LXQstCwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM5MyBidWlsdGluL2NvbW1pdC5jOjQxNiBidWlsdGluL2NvbW1pdC5jOjQ2MgorIzogYnVpbHRpbi9jb21taXQuYzo0MDAgYnVpbHRpbi9jb21taXQuYzo0MjMgYnVpbHRpbi9jb21taXQuYzo0NjkKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3X2luZGV4IGZpbGUiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDRhNCw0LnQuyBuZXdfaW5kZXgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjQ1MgogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIG1lcmdlLiIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINGB0L7Qt9C00LDRgtGMINGH0LDRgdGC0LjRh9C90YvQuSDQutC+0LzQvNC40YIg0LLQviDQstGA0LXQvNGPINGB0LvQuNGP0L3QuNGPLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDU0CiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0YHQvtC30LTQsNGC0Ywg0YfQsNGB0YLQuNGH0L3Ri9C5INC60L7QvNC80LjRgiDQstC+INCy0YDQtdC80Y8g0LrQvtC/0LjRgNC+0LLQsNC90LjRjyDQutC+0LzQvNC40YLQsC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDU1CisjOiBidWlsdGluL2NvbW1pdC5jOjQ2MgogbXNnaWQgImNhbm5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ3NAorIzogYnVpbHRpbi9jb21taXQuYzo0ODEKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDQstGA0LXQvNC10L3QvdGL0Lkg0YTQsNC50Lsg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTcxCisjOiBidWlsdGluL2NvbW1pdC5jOjU3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJyVzJyBsYWNrcyBhdXRob3IgaGVhZGVyIgogbXNnc3RyICLRgyDQutC+0LzQvNC40YLQsCDCqyVzwrsg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiDQsNCy0YLQvtGAINCyINC30LDQs9C+0LvQvtCy0LrQtSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAnJXMnIGhhcyBtYWxmb3JtZWQgYXV0aG9yIGxpbmUiCiBtc2dzdHIgItGDINC60L7QvNC80LjRgtCwIMKrJXPCuyDRgdGC0YDQvtC60LAg0LDQstGC0L7RgNCwINCyINC90LXQv9GA0LDQstC40LvRjNC90L7QvCDRhNC+0YDQvNCw0YLQtSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1OTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjAwCiBtc2dpZCAibWFsZm9ybWVkIC0tYXV0aG9yIHBhcmFtZXRlciIKIG1zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCAtLWF1dGhvciDQsiDQvdC10L/RgNCw0LLQuNC70YzQvdC+0Lwg0YTQvtGA0LzQsNGC0LUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjQ0CisjOiBidWlsdGluL2NvbW1pdC5jOjY1MwogbXNnaWQgIiIKICJ1bmFibGUgdG8gc2VsZWN0IGEgY29tbWVudCBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgdXNlZFxuIgogImluIHRoZSBjdXJyZW50IGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0LLRi9Cx0YDQsNGC0Ywg0YHQuNC80LLQvtC7INC60L7QvNC80LXQvdGC0LDRgNC40Y8sINC60L7RgtC+0YDRi9C5XG7QvdC1INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQsiDRgtC10LrRg9GJ0LXQvCDRgdC+0L7QsdGJ0LXQvdC40Lgg0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjgxIGJ1aWx0aW4vY29tbWl0LmM6NzE0IGJ1aWx0aW4vY29tbWl0LmM6MTA0MgorIzogYnVpbHRpbi9jb21taXQuYzo2OTEgYnVpbHRpbi9jb21taXQuYzo3MjQgYnVpbHRpbi9jb21taXQuYzoxMDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb29rdXAgY29tbWl0ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9GA0L7RgdC40YLRjCDQutC+0LzQvNC40YIgJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjkzIGJ1aWx0aW4vc2hvcnRsb2cuYzozMTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzAzIGJ1aWx0aW4vc2hvcnRsb2cuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHJlYWRpbmcgbG9nIG1lc3NhZ2UgZnJvbSBzdGFuZGFyZCBpbnB1dClcbiIKIG1zZ3N0ciAiKNGH0YLQtdC90LjQtSDRhNCw0LnQu9CwINC20YPRgNC90LDQu9CwINC40Lcg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LApXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Njk1CisjOiBidWlsdGluL2NvbW1pdC5jOjcwNQogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRhNCw0LnQuyDQttGD0YDQvdCw0LvQsCDQuNC3INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNCwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5OQorIzogYnVpbHRpbi9jb21taXQuYzo3MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZpbGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YTQsNC50Lsg0LbRg9GA0L3QsNC70LAgwqslc8K7IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcyOCBidWlsdGluL2NvbW1pdC5jOjczNgorIzogYnVpbHRpbi9jb21taXQuYzo3NDAgYnVpbHRpbi9jb21taXQuYzo3NTYKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBTUVVBU0hfTVNHIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCBTUVVBU0hfTVNHIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczMworIzogYnVpbHRpbi9jb21taXQuYzo3NDcKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NU0ciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMIE1FUkdFX01TRyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODA3CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINGI0LDQsdC70L7QvSDQvtC/0LjRgdCw0L3QuNGPINC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgwNQorIzogYnVpbHRpbi9jb21taXQuYzo4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtODU2NSw3ICsxMDQ0NCw3IEBACiAiYW5kIHRyeSBhZ2Fpbi5cbiIKIG1zZ3N0ciAiXG7Qn9C+0YXQvtC20LUsINGH0YLQviDQstGLINC/0YvRgtCw0LXRgtC10YHRjCDQt9Cw0LrQvtC80LzQuNGC0LjRgtGMINGB0LvQuNGP0L3QuNC1Llxu0JXRgdC70Lgg0Y3RgtC+INC+0YjQuNCx0LrQsCwg0L/QvtC20LDQu9GD0LnRgdGC0LAg0YPQtNCw0LvQuNGC0LUg0YTQsNC50Ltcblx0JXNcbtC4INC/0L7Qv9GA0L7QsdGD0LnRgtC1INGB0L3QvtCy0LAuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODEwCisjOiBidWlsdGluL2NvbW1pdC5jOjgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC04NTc1LDE0ICsxMDQ1NCwxNCBAQAogImFuZCB0cnkgYWdhaW4uXG4iCiBtc2dzdHIgIlxu0J/QvtGF0L7QttC1LCDRh9GC0L4g0LLRiyDQv9GL0YLQsNC10YLQtdGB0Ywg0LfQsNC60L7QvNC80LjRgtC40YLRjCDQv9GA0Lgg0LrQvtC/0LjRgNC+0LLQsNC90LjQuCDQutC+0LzQvNC40YLQsC5cbtCV0YHQu9C4INGN0YLQviDQvdC1INGC0LDQuiwg0YLQviDRg9C00LDQu9C40YLQtSDRhNCw0LnQu1xuXHQlc1xu0Lgg0L/QvtC/0YDQvtCx0YPQudGC0LUg0YHQvdC+0LLQsC5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCiAid2l0aCAnJWMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCiBtc2dzdHIgItCf0L7QttCw0LvRg9C50YHRgtCwLCDQstCy0LXQtNC40YLQtSDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAg0LTQu9GPINCy0LDRiNC40YUg0LjQt9C80LXQvdC10L3QuNC5LiDQodGC0YDQvtC60LgsXG7QvdCw0YfQuNC90LDRjtGJ0LjQtdGB0Y8g0YEgwqslY8K7INCx0YPQtNGD0YIg0L/RgNC+0LjQs9C90L7RgNC40YDQvtCy0LDQvdGLLCDQsCDQv9GD0YHRgtC+0LUg0YHQvtC+0LHRidC10L3QuNC1XG7QvtGC0LzQtdC90Y/QtdGCINC/0YDQvtGG0LXRgdGBINC60L7QvNC80LjRgtCwLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgzMQorIzogYnVpbHRpbi9jb21taXQuYzo4NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTg1OTAsMzQ1ICsxMDQ2OSwzMjAgQEAKICJBbiBlbXB0eSBtZXNzYWdlIGFib3J0cyB0aGUgY29tbWl0LlxuIgogbXNnc3RyICLQn9C+0LbQsNC70YPQudGB0YLQsCwg0LLQstC10LTQuNGC0LUg0YHQvtC+0LHRidC10L3QuNC1INC60L7QvNC80LjRgtCwINC00LvRjyDQstCw0YjQuNGFINC40LfQvNC10L3QtdC90LjQuS4g0KHRgtGA0L7QutC4LFxu0L3QsNGH0LjQvdCw0Y7RidC40LXRgdGPINGBIMKrJWPCuyDQsdGD0LTRg9GCINC+0YHRgtCw0LLQu9C10L3Rizsg0LLRiyDQvNC+0LbQtdGC0LUg0YPQtNCw0LvQuNGC0Ywg0LjRhSDQstGA0YPRh9C90YPRjixcbtC10YHQu9C4INGF0L7RgtC40YLQtS4g0J/Rg9GB0YLQvtC1INGB0L7QvtCx0YnQtdC90LjQtSDQvtGC0LzQtdC90Y/QtdGCINC/0YDQvtGG0LXRgdGBINC60L7QvNC80LjRgtCwLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg0OAorIzogYnVpbHRpbi9jb21taXQuYzo4NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNBdXRob3I6ICAgICUuKnMgPCUuKnM+IgogbXNnc3RyICIlc9CQ0LLRgtC+0YA6ICAgICAlLipzIDwlLipzPiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzRGF0ZTogICAgICAlcyIKIG1zZ3N0ciAiJXPQlNCw0YLQsDogICAgICAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NjMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQ29tbWl0dGVyOiAlLipzIDwlLipzPiIKIG1zZ3N0ciAiJXPQmtC+0LzQvNC40YLQtdGAOiAgJS4qcyA8JS4qcz4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODgwCisjOiBidWlsdGluL2NvbW1pdC5jOjkwMgogbXNnaWQgIkNhbm5vdCByZWFkIGluZGV4IgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQuNC90LTQtdC60YEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTQ2CisjOiBidWlsdGluL2NvbW1pdC5jOjk2OQogbXNnaWQgIkVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICLQntGI0LjQsdC60LAg0L/RgNC4INC/0L7RgdGC0YDQvtC10L3QuNC4INC00LXRgNC10LLRjNC10LIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTYwIGJ1aWx0aW4vdGFnLmM6MjU4CisjOiBidWlsdGluL2NvbW1pdC5jOjk4MyBidWlsdGluL3RhZy5jOjI2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCiBtc2dzdHIgItCf0L7QttCw0LvRg9C50YHRgtCwLCDRg9C60LDQttC40YLQtSDRgdC+0L7QsdGJ0LXQvdC40LUsINC/0YDQuCDRg9C60LDQt9Cw0L3QuNC4INC+0L/RhtC40LkgLW0g0LjQu9C4IC1GLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMDQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTAyNwogIywgYy1mb3JtYXQKIG1zZ2lkICItLWF1dGhvciAnJXMnIGlzIG5vdCAnTmFtZSA8ZW1haWw+JyBhbmQgbWF0Y2hlcyBubyBleGlzdGluZyBhdXRob3IiCiBtc2dzdHIgIi0tYXV0aG9yIMKrJXPCuyDQvdC1INCyINGE0L7RgNC80LDRgtC1IMKr0JjQvNGPIDzQv9C+0YfRgtCwPsK7INC4INC90LUg0YHQvtCy0L/QsNC00LDQtdGCINGBINGB0YPRidC10YHRgtCy0YPRjtGJ0LjQvCDQsNCy0YLQvtGA0L7QvCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDE4CisjOiBidWlsdGluL2NvbW1pdC5jOjEwNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBpZ25vcmVkIG1vZGUgJyVzJyIKIG1zZ3N0ciAi0J3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INGA0LXQttC40Lwg0L/QvtC60LDQt9CwINC40LPQvdC+0YDQuNGA0YPQtdC80YvRhSDRhNCw0LnQu9C+0LIgwqslc8K7IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMzIgYnVpbHRpbi9jb21taXQuYzoxMjY5CisjOiBidWlsdGluL2NvbW1pdC5jOjEwNTkgYnVpbHRpbi9jb21taXQuYzoxMjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INGA0LXQttC40Lwg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINGE0LDQudC70L7QsiDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3MAorIzogYnVpbHRpbi9jb21taXQuYzoxMDk3CiBtc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWxvbmcg0LggLXog0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEwMworIzogYnVpbHRpbi9jb21taXQuYzoxMTMwCiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90LjQtSDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0L7Qv9GG0LjQuSAtLXJlc2V0LWF1dGhvciDQuCAtLWF1dGhvciDQvdC1INC40LzQtdC10YIg0YHQvNGL0YHQu9CwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEzOQogbXNnaWQgIllvdSBoYXZlIG5vdGhpbmcgdG8gYW1lbmQuIgogbXNnc3RyICLQndC10YfQtdCz0L4g0LjRgdC/0YDQsNCy0LvRj9GC0YwuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE0MgogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgItCS0Ysg0LIg0L/RgNC+0YbQtdGB0YHQtSDRgdC70LjRj9C90LjRjyDigJQgINGB0LXQudGH0LDRgSDQvdC10LvRjNC30Y8g0LjRgdC/0YDQsNCy0LvRj9GC0YwuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE0NAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIGNoZXJyeS1waWNrIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgItCS0Ysg0LIg0L/RgNC+0YbQtdGB0YHQtSDQutC+0L/QuNGA0L7QstCw0L3QuNGPINC60L7QvNC80LjRgtCwIOKAlCAg0YHQtdC50YfQsNGBINC90LXQu9GM0LfRjyDQuNGB0L/RgNCw0LLQu9GP0YLRjC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyMAorIzogYnVpbHRpbi9jb21taXQuYzoxMTQ3CiBtc2dpZCAiT3B0aW9ucyAtLXNxdWFzaCBhbmQgLS1maXh1cCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAi0J7Qv9GG0LjQuCAtLXNxdWFzaCDQuCAtLWZpeHVwINC90LUg0LzQvtCz0YPRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YzRgdGPINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTMwCisjOiBidWlsdGluL2NvbW1pdC5jOjExNTcKIG1zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAi0JzQvtC20LXRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YzRgdGPINGC0L7Qu9GM0LrQviDQvtC00L3QsCDQuNC3INC+0L/RhtC40LkgLWMvLUMvLUYvLS1maXh1cC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEzMgorIzogYnVpbHRpbi9jb21taXQuYzoxMTU5CiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NwogbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCiBtc2dzdHIgIi0tcmVzZXQtYXV0aG9yINC80L7QttC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGM0YHRjyDRgtC+0LvRjNC60L4g0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INGBINC+0L/RhtC40Y/QvNC4IC1DLCAtYyDQuNC70LggLS1hbWVuZC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1NworIzogYnVpbHRpbi9jb21taXQuYzoxMTg0CiBtc2dpZCAiT25seSBvbmUgb2YgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2ggY2FuIGJlIHVzZWQuIgogbXNnc3RyICLQnNC+0LbQtdGCINC40YHQv9C+0LvRjNC30L7QstCw0YLRjNGB0Y8g0YLQvtC70YzQutC+INC+0LTQvdCwINC40Lcg0L7Qv9GG0LjQuSAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE1OQorIzogYnVpbHRpbi9jb21taXQuYzoxMTg2CiBtc2dpZCAiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgogbXNnc3RyICLQo9C60LDQt9Cw0L3QuNC1INC/0YPRgtC10Lkg0LrQsNGC0LDQu9C+0LPQvtCyINGBINC+0L/RhtC40Y/QvNC4IC0taW5jbHVkZS8tLW9ubHkg0L3QtSDQuNC80LXQtdGCINGB0LzRi9GB0LvQsC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3MyBidWlsdGluL3RhZy5jOjU0NAorIzogYnVpbHRpbi9jb21taXQuYzoxMTkyCiAjLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgotbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDRgNC10LbQuNC80LAg0L7Rh9C40YHRgtC60LggJXMiCittc2dpZCAicGF0aHMgJyVzIC4uLicgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3OAotbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCi1tc2dzdHIgItChINC+0L/RhtC40LXQuSAtYSDRg9C60LDQt9Cw0L3QuNC1INC/0YPRgtC4INC90LUg0LjQvNC10LXRgiDRgdC80YvRgdC70LAuIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMDMgYnVpbHRpbi9jb21taXQuYzoxNDgwCisjOiBidWlsdGluL2NvbW1pdC5jOjEzMTkgYnVpbHRpbi9jb21taXQuYzoxNTAzCiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICLQutGA0LDRgtC60L4g0L/QvtC60LDQt9Cw0YLRjCDRgdGC0LDRgtGD0YEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMwNSBidWlsdGluL2NvbW1pdC5jOjE0ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyMSBidWlsdGluL2NvbW1pdC5jOjE1MDUKIG1zZ2lkICJzaG93IGJyYW5jaCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDQstC10YDRgdC40LgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMwNworIzogYnVpbHRpbi9jb21taXQuYzoxMzIzCiBtc2dpZCAic2hvdyBzdGFzaCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDRgdC/0YDRj9GC0LDQvdC90L7QvCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzA5IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NAorIzogYnVpbHRpbi9jb21taXQuYzoxMzI1IGJ1aWx0aW4vY29tbWl0LmM6MTUwNwogbXNnaWQgImNvbXB1dGUgZnVsbCBhaGVhZC9iZWhpbmQgdmFsdWVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxMQorIzogYnVpbHRpbi9jb21taXQuYzoxMzI3CiBtc2dpZCAidmVyc2lvbiIKIG1zZ3N0ciAi0LLQtdGA0YHQuNGPIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTEgYnVpbHRpbi9jb21taXQuYzoxNDg2IGJ1aWx0aW4vcHVzaC5jOjU1OAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjU4MQorIzogYnVpbHRpbi9jb21taXQuYzoxMzI3IGJ1aWx0aW4vY29tbWl0LmM6MTUwOSBidWlsdGluL3B1c2guYzo1NjEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NDMKIG1zZ2lkICJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIKIG1zZ3N0ciAi0LzQsNGI0LjQvdC+0YfQuNGC0LDQtdC80YvQuSDQstGL0LLQvtC0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTQgYnVpbHRpbi9jb21taXQuYzoxNDg4CisjOiBidWlsdGluL2NvbW1pdC5jOjEzMzAgYnVpbHRpbi9jb21taXQuYzoxNTExCiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINGB0YLQsNGC0YPRgSDQsiDQtNC70LjQvdC90L7QvCDRhNC+0YDQvNCw0YLQtSAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTcgYnVpbHRpbi9jb21taXQuYzoxNDkxCisjOiBidWlsdGluL2NvbW1pdC5jOjEzMzMgYnVpbHRpbi9jb21taXQuYzoxNTE0CiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiCiBtc2dzdHIgItC30LDQstC10YDRiNCw0YLRjCDQt9Cw0L/QuNGB0Lgg0J3Qo9Cb0JXQktCr0Jwg0LHQsNC50YLQvtC8IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTkgYnVpbHRpbi9jb21taXQuYzoxMzIzIGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDcgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTAgYnVpbHRpbi90YWcuYzozOTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNSBidWlsdGluL2NvbW1pdC5jOjEzMzkgYnVpbHRpbi9jb21taXQuYzoxNTE3CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTA4NSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTA4OCBidWlsdGluL3JlYmFzZS5jOjE0NjUKKyM6IHBhcnNlLW9wdGlvbnMuaDozMzEKIG1zZ2lkICJtb2RlIgogbXNnc3RyICLRgNC10LbQuNC8IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjAgYnVpbHRpbi9jb21taXQuYzoxNDk0CisjOiBidWlsdGluL2NvbW1pdC5jOjEzMzYgYnVpbHRpbi9jb21taXQuYzoxNTE3CiBtc2dpZCAic2hvdyB1bnRyYWNrZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiBhbGwsIG5vcm1hbCwgbm8uIChEZWZhdWx0OiBhbGwpIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLLCDQvtC/0YbQuNC+0L3QsNC70YzQvdGL0LUg0YDQtdC20LjQvNGLOiBhbGwgKNCy0YHQtSksIG5vcm1hbCAo0LrQsNC6INC+0LHRi9GH0L3QviksIG5vICjQvdC10YIpLiAo0J/QviDRg9C80L7Qu9GH0LDQvdC40Y46IGFsbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyNAorIzogYnVpbHRpbi9jb21taXQuYzoxMzQwCiBtc2dpZCAiIgogInNob3cgaWdub3JlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IHRyYWRpdGlvbmFsLCBtYXRjaGluZywgbm8uIChEZWZhdWx0OiAiCiAidHJhZGl0aW9uYWwpIgogbXNnc3RyICLQv9C+0LrQsNC30YvQstCw0YLRjCDQuNCz0L3QvtGA0LjRgNGD0LXQvNGL0LUg0YTQsNC50LvRiywg0YEg0L7Qv9GG0LjQvtC90LDQu9GM0L3Ri9C8INGA0LXQttC40LzQvtC8OiB0cmFkaXRpb25hbCAo0YLRgNCw0LTQuNGG0LjQvtC90L3Ri9C5KSwgbWF0Y2hpbmcgKNGC0L7Qu9GM0LrQviDRgdC+0LLQv9Cw0LTQsNGO0YnQuNC1KSwgbm8gKNC90LUg0L/QvtC60LDQt9GL0LLQsNGC0YwpLiAo0J/QviDRg9C80L7Qu9GH0LDQvdC40Y46IHRyYWRpdGlvbmFsKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzI2IHBhcnNlLW9wdGlvbnMuaDoxNjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0MiBwYXJzZS1vcHRpb25zLmg6MTc5CiBtc2dpZCAid2hlbiIKIG1zZ3N0ciAi0LrQvtCz0LTQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzI3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNDMKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCi1tc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0LIg0L/QvtC00LzQvtC00YPQu9GP0YUsINC+0L/RhtC40L7QvdCw0LvRjNC90L4g0LrQvtCz0LTQsDogYWxsICjQstGB0LXQs9C00LApLCBkaXJ0eSAo0LjQt9C80LXQvdC10L3QvdGL0LUpLCB1bnRyYWNrZWQgKNC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSkuICjQn9C+INGD0LzQvtC70YfQsNC90LjRjjogYWxsKSIKK21zZ3N0ciAi0LjQs9C90L7RgNC40YDQvtCy0LDRgtGMINC40LfQvNC10L3QtdC90LjRjyDQsiDQv9C+0LTQvNC+0LTRg9C70Y/RhSwg0L7Qv9GG0LjQvtC90LDQu9GM0L3QviDQutC+0LPQtNCwOiBhbGwgKNCy0YHQtdCz0LTQsCksIGRpcnR5ICjQuNC30LzQtdC90ZHQvdC90YvQtSksIHVudHJhY2tlZCAo0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1KS4gKNCf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NQogbXNnaWQgImxpc3QgdW50cmFja2VkIGZpbGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INGE0LDQudC70Ysg0L/QviDRgdGC0L7Qu9Cx0YbQsNC8IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0NgogbXNnaWQgImRvIG5vdCBkZXRlY3QgcmVuYW1lcyIKIG1zZ3N0ciAi0L3QtSDQvtC/0YDQtdC00LXQu9GP0YLRjCDQv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNGPIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM0OAogbXNnaWQgImRldGVjdCByZW5hbWVzLCBvcHRpb25hbGx5IHNldCBzaW1pbGFyaXR5IGluZGV4IgogbXNnc3RyICLQvtC/0YDQtdC00LXQu9GP0YLRjCDQv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNGPLCDQvtC/0YbQuNC+0L3QsNC70YzQvdC+INGD0YHRgtCw0L3QsNCy0LvQuNCy0LDRgtGMINGA0LXQudGC0LjQvdCzINGB0YXQvtC00YHRgtCy0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1MgorIzogYnVpbHRpbi9jb21taXQuYzoxMzY4CiBtc2dpZCAiVW5zdXBwb3J0ZWQgY29tYmluYXRpb24gb2YgaWdub3JlZCBhbmQgdW50cmFja2VkLWZpbGVzIGFyZ3VtZW50cyIKIG1zZ3N0ciAi0J3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNCw0Y8g0LrQvtC80LHQuNC90LDRhtC40Y8g0LDRgNCz0YPQvNC10L3RgtC+0LIg0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDQuNCz0L3QvtGA0LjRgNGD0LXQvNGL0YUg0Lgg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDUwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzMKIG1zZ2lkICJzdXBwcmVzcyBzdW1tYXJ5IGFmdGVyIHN1Y2Nlc3NmdWwgY29tbWl0IgotbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0YHQstC+0LTQutGDINC/0L7RgdC70LUg0YPRgdC/0LXRiNC90L7Qs9C+INC60L7QvNC80LjRgtCwIgorbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0YHQstC+0LTQutGDINC40LfQvNC10L3QtdC90LjQuSDQv9C+0YHQu9C1INGD0YHQv9C10YjQvdC+0LPQviDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDUxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzQKIG1zZ2lkICJzaG93IGRpZmYgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0YHQv9C40YHQvtC6INC40LfQvNC10L3QtdC90LjQuSDQsiDRiNCw0LHQu9C+0L0g0YHQvtC+0LHRidC10L3QuNGPINC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NgogbXNnaWQgIkNvbW1pdCBtZXNzYWdlIG9wdGlvbnMiCiBtc2dzdHIgItCe0L/RhtC40Lgg0YHQvtC+0LHRidC10L3QuNGPINC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTQgYnVpbHRpbi9tZXJnZS5jOjI2MSBidWlsdGluL3RhZy5jOjM5NQorIzogYnVpbHRpbi9jb21taXQuYzoxNDc3IGJ1aWx0aW4vbWVyZ2UuYzoyNzIgYnVpbHRpbi90YWcuYzo0MDgKIG1zZ2lkICJyZWFkIG1lc3NhZ2UgZnJvbSBmaWxlIgogbXNnc3RyICLQv9GA0L7Rh9C40YLQsNGC0Ywg0YHQvtC+0LHRidC10L3QuNC1INC40Lcg0YTQsNC50LvQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDU1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzgKIG1zZ2lkICJhdXRob3IiCiBtc2dzdHIgItCw0LLRgtC+0YAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NQorIzogYnVpbHRpbi9jb21taXQuYzoxNDc4CiBtc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCiBtc2dzdHIgItC/0L7QtNC80LXQvdC40YLRjCDQsNCy0YLQvtGA0LAg0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1NiBidWlsdGluL2djLmM6NTA0CisjOiBidWlsdGluL2NvbW1pdC5jOjE0NzkgYnVpbHRpbi9nYy5jOjUzOQogbXNnaWQgImRhdGUiCiBtc2dzdHIgItC00LDRgtCwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OQogbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKIG1zZ3N0ciAi0L/QvtC00LzQtdC90LjRgtGMINC00LDRgtGDINC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTcgYnVpbHRpbi9tZXJnZS5jOjI1NyBidWlsdGluL25vdGVzLmM6NDA0Ci0jOiBidWlsdGluL25vdGVzLmM6NTY3IGJ1aWx0aW4vdGFnLmM6MzkzCi1tc2dpZCAibWVzc2FnZSIKLW1zZ3N0ciAi0YHQvtC+0LHRidC10L3QuNC1IgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTcKLW1zZ2lkICJjb21taXQgbWVzc2FnZSIKLW1zZ3N0ciAi0YHQvtC+0LHRidC10L3QuNC1INC60L7QvNC80LjRgtCwIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NTggYnVpbHRpbi9jb21taXQuYzoxNDU5IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MAotIzogYnVpbHRpbi9jb21taXQuYzoxNDYxIHBhcnNlLW9wdGlvbnMuaDoyNzAgcmVmLWZpbHRlci5oOjkyCisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODEgYnVpbHRpbi9jb21taXQuYzoxNDgyIGJ1aWx0aW4vY29tbWl0LmM6MTQ4MworIzogYnVpbHRpbi9jb21taXQuYzoxNDg0IHBhcnNlLW9wdGlvbnMuaDozMjMgcmVmLWZpbHRlci5oOjkyCiBtc2dpZCAiY29tbWl0IgogbXNnc3RyICLQutC+0LzQvNC40YIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OAorIzogYnVpbHRpbi9jb21taXQuYzoxNDgxCiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQuCDQvtGC0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0YHQvtC+0LHRidC10L3QuNC1INC+0YIg0YPQutCw0LfQsNC90L3QvtCz0L4g0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ1OQorIzogYnVpbHRpbi9jb21taXQuYzoxNDgyCiBtc2dpZCAicmV1c2UgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0YPQutCw0LfQsNC90L3QvtCz0L4g0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDgzCiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gZml4dXAgc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGE0L7RgNC80LDRgtC40YDQvtCy0LDQvdC90L7QtSDRgdC+0L7QsdGJ0LXQvdC40LUg0LDQstGC0L7Rg9C/0LvQvtGC0L3QtdC90LjRjyDQtNC70Y8g0LjRgdC/0YDQsNCy0LvQtdC90LjRjyDRg9C60LDQt9Cw0L3QvdC+0LPQviDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDYxCisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODQKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBzcXVhc2ggc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGE0L7RgNC80LDRgtC40YDQvtCy0LDQvdC90L7QtSDRgdC+0L7QsdGJ0LXQvdC40LUg0LDQstGC0L7Rg9C/0LvQvtGC0L3QtdC90LjRjyDQtNC70Y8g0YPQv9C70L7RgtC90LXQvdC40Y8g0YPQutCw0LfQsNC90L3QvtCz0L4g0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MgorIzogYnVpbHRpbi9jb21taXQuYzoxNDg1CiBtc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKIG1zZ3N0ciAi0LrQvtC80LzQuNGCINGC0LXQv9C10YDRjCDQt9CwINC80L7QuNC8INCw0LLRgtC+0YDRgdGC0LLQvtC8ICjQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0YEgLUMvLWMvLS1hbWVuZCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2MyBidWlsdGluL2xvZy5jOjE0NTcgYnVpbHRpbi9tZXJnZS5jOjI3NAotIzogYnVpbHRpbi9wdWxsLmM6MTU0IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODYgYnVpbHRpbi9sb2cuYzoxNTQxIGJ1aWx0aW4vbWVyZ2UuYzoyODUKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2MiBidWlsdGluL3JldmVydC5jOjEwOQogbXNnaWQgImFkZCBTaWduZWQtb2ZmLWJ5OiIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCBTaWduZWQtb2ZmLWJ5OiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY0CisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODcKIG1zZ2lkICJ1c2Ugc3BlY2lmaWVkIHRlbXBsYXRlIGZpbGUiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRg9C60LDQt9Cw0L3QvdGL0Lkg0YTQsNC50Lsg0YjQsNCx0LvQvtC90LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNDg4CiBtc2dpZCAiZm9yY2UgZWRpdCBvZiBjb21taXQiCiBtc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+INGA0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINC60L7QvNC80LjRgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY2Ci1tc2dpZCAiZGVmYXVsdCIKLW1zZ3N0ciAi0L/Qvi3Rg9C80L7Qu9GH0LDQvdC40Y4iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NiBidWlsdGluL3RhZy5jOjM5OQotbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCi1tc2dzdHIgItC60LDQuiDRg9C00LDQu9GP0YLRjCDQv9GA0L7QsdC10LvRiyDQuCAj0LrQvtC80LzQtdC90YLQsNGA0LjQuCDQuNC3INGB0L7QvtCx0YnQtdC90LjRjyDQutC+0LzQvNC40YLQsCIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDY3CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTAKIG1zZ2lkICJpbmNsdWRlIHN0YXR1cyBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAi0LLQutC70Y7Rh9C40YLRjCDRgdGC0LDRgtGD0YEg0YTQsNC50LvQvtCyINCyINGI0LDQsdC70L7QvSDRgdC+0L7QsdGJ0LXQvdC40Y8g0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OSBidWlsdGluL21lcmdlLmM6MjcyIGJ1aWx0aW4vcHVsbC5jOjE4NAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTQKLW1zZ2lkICJHUEcgc2lnbiBjb21taXQiCi1tc2dzdHIgItC/0L7QtNC/0LjRgdCw0YLRjCDQutC+0LzQvNC40YIg0YEg0L/QvtC80L7RidGM0Y4gR1BHIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NQogbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgogbXNnc3RyICLQntC/0YbQuNC4INGB0L7QtNC10YDQttC40LzQvtCz0L4g0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MworIzogYnVpbHRpbi9jb21taXQuYzoxNDk2CiBtc2dpZCAiY29tbWl0IGFsbCBjaGFuZ2VkIGZpbGVzIgogbXNnc3RyICLQt9Cw0LrQvtC80LzQuNGC0LjRgtGMINCy0YHQtSDQuNC30LzQtdC90LXQvdC90YvQtSDRhNCw0LnQu9GLIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NwogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCDRg9C60LDQt9Cw0L3QvdGL0LUg0YTQsNC50LvRiyDQsiDQuNC90LTQtdC60YEg0LTQu9GPINC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OAogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIgogbXNnc3RyICLQuNC90YLQtdGA0LDQutGC0LjQstC90L7QtSDQtNC+0LHQsNCy0LvQtdC90LjQtSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NgorIzogYnVpbHRpbi9jb21taXQuYzoxNDk5CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAi0LjQvdGC0LXRgNCw0LrRgtC40LLQvdC+0LUg0LTQvtCx0LDQstC70LXQvdC40LUg0LjQt9C80LXQvdC10L3QuNC5IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMAogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAi0LfQsNC60L7QvNC80LjRgtC40YLRjCDRgtC+0LvRjNC60L4g0YPQutCw0LfQsNC90L3Ri9C1INGE0LDQudC70YsiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OAorIzogYnVpbHRpbi9jb21taXQuYzoxNTAxCiBtc2dpZCAiYnlwYXNzIHByZS1jb21taXQgYW5kIGNvbW1pdC1tc2cgaG9va3MiCiBtc2dzdHIgItC/0YDQvtC/0YPRgdGC0LjRgtGMINC/0LXRgNC10YXQstCw0YLRh9C40LogcHJlLWNvbW1pdCDQuCBjb21taXQtbXNnIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMgogbXNnaWQgInNob3cgd2hhdCB3b3VsZCBiZSBjb21taXR0ZWQiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0YwsINGH0YLQviDQsdGD0LTQtdGCINC30LDQutC+0LzQvNC40YfQtdC90L4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTE1CiBtc2dpZCAiYW1lbmQgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICLQuNGB0L/RgNCw0LLQuNGC0Ywg0L/RgNC10LTRi9C00YPRidC40Lkg0LrQvtC80LzQuNGCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNgogbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKIG1zZ3N0ciAi0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0L/QtdGA0LXRhdCy0LDRgtGH0LjQuiBwb3N0LXJld3JpdGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OAorIzogYnVpbHRpbi9jb21taXQuYzoxNTIxCiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINC30LDQv9C40YHRjCDQv9GD0YHRgtC+0LPQviDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTAwCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MjMKIG1zZ2lkICJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0LfQsNC/0LjRgdGMINC40LfQvNC10L3QtdC90LjQuSDRgSDQv9GD0YHRgtGL0Lwg0YHQvtC+0LHRidC10L3QuNC10LwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU3MworIzogYnVpbHRpbi9jb21taXQuYzoxNTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvcnJ1cHQgTUVSR0VfSEVBRCBmaWxlICglcykiCiBtc2dzdHIgItCk0LDQudC7IE1FUkdFX0hFQUQg0L/QvtCy0YDQtdC20LTQtdC9ICglcykiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4MAorIzogYnVpbHRpbi9jb21taXQuYzoxNjAzCiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTU9ERSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0YwgTUVSR0VfTU9ERSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk5CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2U6ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMINGB0L7QvtCx0YnQtdC90LjQtSDQutC+0LzQvNC40YLQsDogJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxMAorIzogYnVpbHRpbi9jb21taXQuYzoxNjI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdCBkdWUgdG8gZW1wdHkgY29tbWl0IG1lc3NhZ2UuXG4iCiBtc2dzdHIgItCe0YLQvNC10L3QsCDQutC+0LzQvNC40YLQsCDQuNC3LdC30LAg0L/Rg9GB0YLQvtCz0L4g0YHQvtC+0LHRidC10L3QuNGPINC60L7QvNC80LjRgtCwLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iCiBtc2dzdHIgItCe0YLQvNC10L3QsCDQutC+0LzQvNC40YLQsDsg0LLRiyDQvdC1INC40LfQvNC10L3QuNC70Lgg0YHQvtC+0LHRidC10L3QuNC1LlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2NTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2OAogbXNnaWQgIiIKICJyZXBvc2l0b3J5IGhhcyBiZWVuIHVwZGF0ZWQsIGJ1dCB1bmFibGUgdG8gd3JpdGVcbiIKICJuZXdfaW5kZXggZmlsZS4gQ2hlY2sgdGhhdCBkaXNrIGlzIG5vdCBmdWxsIGFuZCBxdW90YSBpc1xuIgpAQCAtODk1MywyMzYgKzEwODA3LDI0NSBAQAogInwtLXN0ZGluLXBhY2tzfC0tc3RkaW4tY29tbWl0c10iCiBtc2dzdHIgImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA80LrQsNGC0LDQu9C+0LMt0L7QsdGK0LXQutGC0L7Qsj5dIFstLWFwcGVuZF0gWy0tcmVhY2hhYmxlfC0tc3RkaW4tcGFja3N8LS1zdGRpbi1jb21taXRzXSIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo0OCBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjc3Ci0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzMSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE4NCBidWlsdGluL2ZldGNoLmM6MTUwCi0jOiBidWlsdGluL2xvZy5jOjE0NzcKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NTEgYnVpbHRpbi9jb21taXQtZ3JhcGguYzo4OQorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxNDcgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoyMDUgYnVpbHRpbi9mZXRjaC5jOjE1MworIzogYnVpbHRpbi9sb2cuYzoxNTYxCiBtc2dpZCAiZGlyIgogbXNnc3RyICLQutCw0YLQsNC70L7QsyIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo0OSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjc4Ci0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzMiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE4NQorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo1MiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjkwCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE0OCBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjIwNgogbXNnaWQgIlRoZSBvYmplY3QgZGlyZWN0b3J5IHRvIHN0b3JlIHRoZSBncmFwaCIKLW1zZ3N0ciAiIgorbXNnc3RyICLQmtCw0YLQsNC70L7QsyDQvtCx0YrQtdC60YLQvtCyINC00LvRjyDRgdC+0YXRgNCw0L3QtdC90LjRjyDQs9GA0LDRhNCwIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzNAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo2OCBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgb3BlbiBjb21taXQtZ3JhcGggJyVzJyIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDRhNCw0LnQuyBjb21taXQtZ3JhcGggwqslc8K7IgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE1MAogbXNnaWQgInN0YXJ0IHdhbGsgYXQgYWxsIHJlZnMiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0L3QsNGH0LDRgtGMINGB0L4g0LLRgdC10YUg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzNgorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxNTIKIG1zZ2lkICJzY2FuIHBhY2staW5kZXhlcyBsaXN0ZWQgYnkgc3RkaW4gZm9yIGNvbW1pdHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0LjRgdC60LDRgtGMINC60L7QvNC80LjRgtGLINCyIHBhY2staW5kZXhlcywg0L/QtdGA0LXRh9C40YHQu9C10L3QvdGL0YUg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3QvtC8INCy0LLQvtC00LUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTM4CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE1NAogbXNnaWQgInN0YXJ0IHdhbGsgYXQgY29tbWl0cyBsaXN0ZWQgYnkgc3RkaW4iCi1tc2dzdHIgIiIKK21zZ3N0ciAi0L3QsNGH0LDRgtGMINGBINC60L7QvNC80LjRgtC+0LIsINC/0LXRgNC10YfQuNGB0LvQtdC90L3Ri9GFINC90LAg0YHRgtCw0L3QtNCw0YDRgtC90L7QvCDQstCy0L7QtNC1IgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE0MAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxNTYKIG1zZ2lkICJpbmNsdWRlIGFsbCBjb21taXRzIGFscmVhZHkgaW4gdGhlIGNvbW1pdC1ncmFwaCBmaWxlIgotbXNnc3RyICIiCittc2dzdHIgItCy0LrQu9GO0YfQuNGC0Ywg0LLRgdC1INC60L7QvNC80LjRgtGLLCDQutC+0YLQvtGA0YvQtSDRg9C20LUg0LXRgdGC0Ywg0LIg0YTQsNC50LvQtSBjb21taXQtZ3JhcGgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTQ5CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE2NQogbXNnaWQgInVzZSBhdCBtb3N0IG9uZSBvZiAtLXJlYWNoYWJsZSwgLS1zdGRpbi1jb21taXRzLCBvciAtLXN0ZGluLXBhY2tzIgotbXNnc3RyICIiCittc2dzdHIgItC40YHQv9C+0LvRjNC30YPQudGC0LUg0YfRgtC+LdGC0L4g0L7QtNC90L4g0LjQtyAtLXJlYWNoYWJsZSwgLS1zdGRpbi1jb21taXRzINC4IC0tc3RkaW4tcGFja3MiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTEKIG1zZ2lkICJnaXQgY29uZmlnIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgY29uZmlnIFs80L7Qv9GG0LjQuD5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjEwMQorIzogYnVpbHRpbi9jb25maWcuYzoxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIC0tdHlwZSBhcmd1bWVudCwgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxMTMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTE1CiBtc2dpZCAib25seSBvbmUgdHlwZSBhdCBhIHRpbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxMjIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTI0CiBtc2dpZCAiQ29uZmlnIGZpbGUgbG9jYXRpb24iCiBtc2dzdHIgItCg0LDQt9C80LXRidC10L3QuNC1INGE0LDQudC70LAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjEyMworIzogYnVpbHRpbi9jb25maWcuYzoxMjUKIG1zZ2lkICJ1c2UgZ2xvYmFsIGNvbmZpZyBmaWxlIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LPQu9C+0LHQsNC70YzQvdGL0Lkg0YTQsNC50Lsg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjEyNAorIzogYnVpbHRpbi9jb25maWcuYzoxMjYKIG1zZ2lkICJ1c2Ugc3lzdGVtIGNvbmZpZyBmaWxlIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YHQuNGB0YLQtdC80L3Ri9C5INGE0LDQudC7INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxMjUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTI3CiBtc2dpZCAidXNlIHJlcG9zaXRvcnkgY29uZmlnIGZpbGUiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRhNCw0LnQuyDQutC+0L3RhNC40LPRg9GA0LDRhtC40Lgg0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxMjYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTI4Cittc2dpZCAidXNlIHBlci13b3JrdHJlZSBjb25maWcgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEyOQogbXNnaWQgInVzZSBnaXZlbiBjb25maWcgZmlsZSIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGD0LrQsNC30LDQvdC90YvQuSDRhNCw0LnQuyDQutC+0L3RhNC40LPRg9GA0LDRhtC40LgiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTI3CisjOiBidWlsdGluL2NvbmZpZy5jOjEzMAogbXNnaWQgImJsb2ItaWQiCiBtc2dzdHIgItC40LTQtdC90YIt0LTQstC+0LjRh9C9LdC+0LHRitC10LrRgtCwIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjEyNworIzogYnVpbHRpbi9jb25maWcuYzoxMzAKIG1zZ2lkICJyZWFkIGNvbmZpZyBmcm9tIGdpdmVuIGJsb2Igb2JqZWN0IgogbXNnc3RyICLQv9GA0L7Rh9C40YLQsNGC0Ywg0L3QsNGB0YLRgNC+0LnQutC4INC40Lcg0YPQutCw0LfQsNC90L3QvtCz0L4g0LTQstC+0LjRh9C90L7Qs9C+INC+0LHRitC10LrRgtCwIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjEyOAorIzogYnVpbHRpbi9jb25maWcuYzoxMzEKIG1zZ2lkICJBY3Rpb24iCiBtc2dzdHIgItCU0LXQudGB0YLQstC40LUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTI5CisjOiBidWlsdGluL2NvbmZpZy5jOjEzMgogbXNnaWQgImdldCB2YWx1ZTogbmFtZSBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICLQv9C+0LvRg9GH0LjRgtGMINC30L3QsNGH0LXQvdC40LU6INC40LzRjyBb0YjQsNCx0LvQvtC9LdC30L3QsNGH0LXQvdC40LldIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjEzMAorIzogYnVpbHRpbi9jb25maWcuYzoxMzMKIG1zZ2lkICJnZXQgYWxsIHZhbHVlczoga2V5IFt2YWx1ZS1yZWdleF0iCiBtc2dzdHIgItC/0L7Qu9GD0YfQuNGC0Ywg0LLRgdC1INC30L3QsNGH0LXQvdC40Y86INC60LvRjtGHIFvRiNCw0LHQu9C+0L0t0LfQvdCw0YfQtdC90LjQuV0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTMxCisjOiBidWlsdGluL2NvbmZpZy5jOjEzNAogbXNnaWQgImdldCB2YWx1ZXMgZm9yIHJlZ2V4cDogbmFtZS1yZWdleCBbdmFsdWUtcmVnZXhdIgogbXNnc3RyICLQv9C+0LvRg9GH0LjRgtGMINC30L3QsNGH0LXQvdC40Y8g0L/QviDRiNCw0LHQu9C+0L3Rgzog0YjQsNCx0LvQvtC9LdC40LzQtdC9IFvRiNCw0LHQu9C+0L0t0LfQvdCw0YfQtdC90LjQuV0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTMyCisjOiBidWlsdGluL2NvbmZpZy5jOjEzNQogbXNnaWQgImdldCB2YWx1ZSBzcGVjaWZpYyBmb3IgdGhlIFVSTDogc2VjdGlvblsudmFyXSBVUkwiCiBtc2dzdHIgItC/0L7Qu9GD0YfQuNGC0Ywg0LfQvdCw0YfQtdC90LjQtSwg0YHQv9C10YbQuNGE0LjRh9C90L7QtSDQtNC70Y8gVVJMOiDRgNCw0LfQtNC10LtbLtC/0LXRgNC10LzQtdC90L3QsNGPXSBVUkwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTMzCisjOiBidWlsdGluL2NvbmZpZy5jOjEzNgogbXNnaWQgInJlcGxhY2UgYWxsIG1hdGNoaW5nIHZhcmlhYmxlczogbmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgogbXNnc3RyICLQt9Cw0LzQtdC90LjRgtGMINCy0YHQtSDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidC40LUg0L/QtdGA0LXQvNC10L3QvdGL0LU6INC40LzRjyDQt9C90LDRh9C10L3QuNC1IFvRiNCw0LHQu9C+0L0t0LfQvdCw0YfQtdC90LjQuV0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTM0CisjOiBidWlsdGluL2NvbmZpZy5jOjEzNwogbXNnaWQgImFkZCBhIG5ldyB2YXJpYWJsZTogbmFtZSB2YWx1ZSIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCDQvdC+0LLRg9GOINC/0LXRgNC10LzQtdC90L3Rg9GOOiDQuNC80Y8g0LfQvdCw0YfQtdC90LjQtSIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxMzUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTM4CiBtc2dpZCAicmVtb3ZlIGEgdmFyaWFibGU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAi0YPQtNCw0LvQuNGC0Ywg0L/QtdGA0LXQvNC10L3QvdGD0Y46INC40LzRjyBb0YjQsNCx0LvQvtC9LdC30L3QsNGH0LXQvdC40LldIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjEzNgorIzogYnVpbHRpbi9jb25maWcuYzoxMzkKIG1zZ2lkICJyZW1vdmUgYWxsIG1hdGNoZXM6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKIG1zZ3N0ciAi0YPQtNCw0LvQuNGC0Ywg0LLRgdC1INGB0L7QstC/0LDQtNCw0Y7RidC40LU6INC40LzRjyBb0YjQsNCx0LvQvtC9LdC30L3QsNGH0LXQvdC40LldIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjEzNworIzogYnVpbHRpbi9jb25maWcuYzoxNDAKIG1zZ2lkICJyZW5hbWUgc2VjdGlvbjogb2xkLW5hbWUgbmV3LW5hbWUiCiBtc2dzdHIgItC/0LXRgNC10LjQvNC10L3QvtCy0LDRgtGMINGA0LDQt9C00LXQuzog0YHRgtCw0YDQvtC1LdC40LzRjyDQvdC+0LLQvtC1LdC40LzRjyIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxMzgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQxCiBtc2dpZCAicmVtb3ZlIGEgc2VjdGlvbjogbmFtZSIKIG1zZ3N0ciAi0YPQtNCw0LvQuNGC0Ywg0YDQsNC30LTQtdC7OiDQuNC80Y8iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTM5CisjOiBidWlsdGluL2NvbmZpZy5jOjE0MgogbXNnaWQgImxpc3QgYWxsIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINCy0LXRgdGMINGB0L/QuNGB0L7QuiIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxNDAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQzCiBtc2dpZCAib3BlbiBhbiBlZGl0b3IiCiBtc2dzdHIgItC+0YLQutGA0YvRgtGMINCyINGA0LXQtNCw0LrRgtC+0YDQtSIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxNDEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ0CiBtc2dpZCAiZmluZCB0aGUgY29sb3IgY29uZmlndXJlZDogc2xvdCBbZGVmYXVsdF0iCiBtc2dzdHIgItC90LDQudGC0Lgg0L3QsNGB0YLRgNC+0LXQvdC90YvQuSDRhtCy0LXRgjog0YDQsNC30LTQtdC7IFvQv9C+LdGD0LzQvtC70YfQsNC90LjRjl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTQyCisjOiBidWlsdGluL2NvbmZpZy5jOjE0NQogbXNnaWQgImZpbmQgdGhlIGNvbG9yIHNldHRpbmc6IHNsb3QgW3N0ZG91dC1pcy10dHldIgogbXNnc3RyICLQv9GA0L7QstC10YDQuNGC0YwsINGB0YPRidC10YHRgtCy0YPQtdGCINC70Lgg0L3QsNGB0YLRgNC+0LXQvdC90YvQuSDRhtCy0LXRgjog0YDQsNC30LTQtdC7IFtzdGRvdXQt0LXRgdGC0YwtdHR5XSIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxNDMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ2CiBtc2dpZCAiVHlwZSIKIG1zZ3N0ciAi0KLQuNC/IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE0NAorIzogYnVpbHRpbi9jb25maWcuYzoxNDcKIG1zZ2lkICJ2YWx1ZSBpcyBnaXZlbiB0aGlzIHR5cGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxNDUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ4CiBtc2dpZCAidmFsdWUgaXMgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiIgogbXNnc3RyICLQt9C90LDRh9C10L3QuNC1IOKAlCDRjdGC0L4gwqt0cnVlwrsgKNC/0YDQsNCy0LTQsCkg0LjQu9C4IMKrZmFsc2XCuyAo0LvQvtC20YwpIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE0NgorIzogYnVpbHRpbi9jb25maWcuYzoxNDkKIG1zZ2lkICJ2YWx1ZSBpcyBkZWNpbWFsIG51bWJlciIKIG1zZ3N0ciAi0LfQvdCw0YfQtdC90LjQtSDigJQg0Y3RgtC+INC00LXRgdGP0YLQuNGH0L3QvtC1INGH0LjRgdC70L4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ3CisjOiBidWlsdGluL2NvbmZpZy5jOjE1MAogbXNnaWQgInZhbHVlIGlzIC0tYm9vbCBvciAtLWludCIKIG1zZ3N0ciAi0LfQvdCw0YfQtdC90LjQtSDigJQg0Y3RgtC+IC0tYm9vbCDQuNC70LggLS1pbnQiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ4CisjOiBidWlsdGluL2NvbmZpZy5jOjE1MQogbXNnaWQgInZhbHVlIGlzIGEgcGF0aCAoZmlsZSBvciBkaXJlY3RvcnkgbmFtZSkiCiBtc2dzdHIgItC30L3QsNGH0LXQvdC40LUg4oCUINGN0YLQviDQv9GD0YLRjCAo0Log0YTQsNC50LvRgyDQuNC70Lgg0LrQsNGC0LDQu9C+0LPRgykiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ5CisjOiBidWlsdGluL2NvbmZpZy5jOjE1MgogbXNnaWQgInZhbHVlIGlzIGFuIGV4cGlyeSBkYXRlIgogbXNnc3RyICLQt9C90LDRh9C10L3QuNC1IC0g0Y3RgtC+INC00LDRgtCwINC+0LrQvtC90YfQsNC90LjRjyDRgdGA0L7QutCwINC00LXQudGB0YLQstC40Y8iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTUwCisjOiBidWlsdGluL2NvbmZpZy5jOjE1MwogbXNnaWQgIk90aGVyIgogbXNnc3RyICLQlNGA0YPQs9C+0LUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTUxCisjOiBidWlsdGluL2NvbmZpZy5jOjE1NAogbXNnaWQgInRlcm1pbmF0ZSB2YWx1ZXMgd2l0aCBOVUwgYnl0ZSIKIG1zZ3N0ciAi0LfQsNCy0LXRgNGI0LDRgtGMINC30L3QsNGH0LXQvdC40Y8g0J3Qo9Cb0JXQktCr0Jwg0LHQsNC50YLQvtC8IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE1MgorIzogYnVpbHRpbi9jb25maWcuYzoxNTUKIG1zZ2lkICJzaG93IHZhcmlhYmxlIG5hbWVzIG9ubHkiCiBtc2dzdHIgItC/0L7QutCw0LfRi9Cy0LDRgtGMINGC0L7Qu9GM0LrQviDQuNC80LXQvdCwINC/0LXRgNC10LzQtdC90L3Ri9GFIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE1MworIzogYnVpbHRpbi9jb25maWcuYzoxNTYKIG1zZ2lkICJyZXNwZWN0IGluY2x1ZGUgZGlyZWN0aXZlcyBvbiBsb29rdXAiCiBtc2dzdHIgItGD0YfQuNGC0YvQstCw0YLRjCDQtNC40YDQtdC60YLQuNCy0YsgaW5jbHVkZSAo0LLQutC70Y7Rh9C10L3QuNGPINGE0LDQudC70L7Qsikg0L/RgNC4INC30LDQv9GA0L7RgdC1IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE1NAorIzogYnVpbHRpbi9jb25maWcuYzoxNTcKIG1zZ2lkICJzaG93IG9yaWdpbiBvZiBjb25maWcgKGZpbGUsIHN0YW5kYXJkIGlucHV0LCBibG9iLCBjb21tYW5kIGxpbmUpIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC40YHRgtC+0YfQvdC40Log0L3QsNGB0YLRgNC+0LnQutC4ICjRhNCw0LnQuywg0YHRgtCw0L3QtNCw0YDRgtC90YvQuSDQstCy0L7QtCwg0LTQstC+0LjRh9C90YvQuSDQvtCx0YrQtdC60YIsINC60L7QvNCw0L3QtNC90LDRjyDRgdGC0YDQvtC60LApIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE1NQorIzogYnVpbHRpbi9jb25maWcuYzoxNTgKIG1zZ2lkICJ2YWx1ZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE1NQorIzogYnVpbHRpbi9jb25maWcuYzoxNTgKIG1zZ2lkICJ3aXRoIC0tZ2V0LCB1c2UgZGVmYXVsdCB2YWx1ZSB3aGVuIG1pc3NpbmcgZW50cnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxNjgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMsIHNob3VsZCBiZSAlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE3MAorIzogYnVpbHRpbi9jb25maWcuYzoxNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cywgc2hvdWxkIGJlIGZyb20gJWQgdG8gJWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzozMDQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQga2V5IHBhdHRlcm46ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MzQwCisjOiBidWlsdGluL2NvbmZpZy5jOjM0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZm9ybWF0IGRlZmF1bHQgY29uZmlnIHZhbHVlOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjM5NworIzogYnVpbHRpbi9jb25maWcuYzo0MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHBhcnNlIGNvbG9yICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0MzkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDQzCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGRlZmF1bHQgY29sb3IgdmFsdWUiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINC30L3QsNGH0LXQvdC40LUg0YbQstC10YLQsCDQv9C+INGD0LzQvtC70YfQsNC90LjRjiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0OTIgYnVpbHRpbi9jb25maWcuYzo3MjQKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDk2IGJ1aWx0aW4vY29uZmlnLmM6NzQyCiBtc2dpZCAibm90IGluIGEgZ2l0IGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjQ5NQorIzogYnVpbHRpbi9jb25maWcuYzo0OTkKIG1zZ2lkICJ3cml0aW5nIHRvIHN0ZGluIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0OTgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTAyCiBtc2dpZCAid3JpdGluZyBjb25maWcgYmxvYnMgaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU4MworIzogYnVpbHRpbi9jb25maWcuYzo1ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiMgVGhpcyBpcyBHaXQncyBwZXItdXNlciBjb25maWd1cmF0aW9uIGZpbGUuXG4iCkBAIC05MTkyLDc0ICsxMTA1NSw4MSBAQAogIiNcdGVtYWlsID0gJXNcbiIKIG1zZ3N0ciAiIyDQrdGC0L4g0YTQsNC50Lsg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyBHaXQuXG5bdXNlcl1cbiMg0J/QvtC20LDQu9GD0LnRgdGC0LAsINCw0LTQsNC/0YLQuNGA0YPQudGC0LUg0Lgg0YDQsNGB0LrQvtC80LzQtdC90YLQuNGA0YPQudGC0LUg0YHQu9C10LTRg9GO0YnQuNC1INGB0YLRgNC+0LrQuDpcbiNcdHVzZXIgPSAlc1xuI1x0ZW1haWwgPSAlc1xuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYwNgorIzogYnVpbHRpbi9jb25maWcuYzo2MTEKIG1zZ2lkICJvbmx5IG9uZSBjb25maWcgZmlsZSBhdCBhIHRpbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjE2CiBtc2dpZCAiLS1sb2NhbCBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICItLWxvY2FsINC80L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviDQstC90YPRgtGA0LggZ2l0INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjE0CisjOiBidWlsdGluL2NvbmZpZy5jOjYxOQogbXNnaWQgIi0tYmxvYiBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjMzCisjOiBidWlsdGluL2NvbmZpZy5jOjYzOAogbXNnaWQgIiRIT01FIG5vdCBzZXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NzAKLW1zZ2lkICItLWdldC1jb2xvciBhbmQgdmFyaWFibGUgdHlwZSBhcmUgaW5jb2hlcmVudCIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL2NvbmZpZy5jOjY3NQotbXNnaWQgIm9ubHkgb25lIGFjdGlvbiBhdCBhIHRpbWUiCisjOiBidWlsdGluL2NvbmZpZy5jOjY1OAorbXNnaWQgIiIKKyItLXdvcmt0cmVlIGNhbm5vdCBiZSB1c2VkIHdpdGggbXVsdGlwbGUgd29ya2luZyB0cmVlcyB1bmxlc3MgdGhlIGNvbmZpZ1xuIgorImV4dGVuc2lvbiB3b3JrdHJlZUNvbmZpZyBpcyBlbmFibGVkLiBQbGVhc2UgcmVhZCBcIkNPTkZJR1VSQVRJT04gRklMRVwiXG4iCisic2VjdGlvbiBpbiBcImdpdCBoZWxwIHdvcmt0cmVlXCIgZm9yIGRldGFpbHMiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbi9jb25maWcuYzo2ODgKK21zZ2lkICItLWdldC1jb2xvciBhbmQgdmFyaWFibGUgdHlwZSBhcmUgaW5jb2hlcmVudCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjY5MworbXNnaWQgIm9ubHkgb25lIGFjdGlvbiBhdCBhIHRpbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9jb25maWcuYzo3MDYKIG1zZ2lkICItLW5hbWUtb25seSBpcyBvbmx5IGFwcGxpY2FibGUgdG8gLS1saXN0IG9yIC0tZ2V0LXJlZ2V4cCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY5NAorIzogYnVpbHRpbi9jb25maWcuYzo3MTIKIG1zZ2lkICIiCiAiLS1zaG93LW9yaWdpbiBpcyBvbmx5IGFwcGxpY2FibGUgdG8gLS1nZXQsIC0tZ2V0LWFsbCwgLS1nZXQtcmVnZXhwLCBhbmQgIgogIi0tbGlzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcwMAorIzogYnVpbHRpbi9jb25maWcuYzo3MTgKIG1zZ2lkICItLWRlZmF1bHQgaXMgb25seSBhcHBsaWNhYmxlIHRvIC0tZ2V0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzEzCisjOiBidWlsdGluL2NvbmZpZy5jOjczMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBjb25maWcgZmlsZSAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzE2CisjOiBidWlsdGluL2NvbmZpZy5jOjczNAogbXNnaWQgImVycm9yIHByb2Nlc3NpbmcgY29uZmlnIGZpbGUocykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MjYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQ0CiBtc2dpZCAiZWRpdGluZyBzdGRpbiBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzI4CisjOiBidWlsdGluL2NvbmZpZy5jOjc0NgogbXNnaWQgImVkaXRpbmcgYmxvYnMgaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0MgorIzogYnVpbHRpbi9jb25maWcuYzo3NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBjb25maWd1cmF0aW9uIGZpbGUgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0YTQsNC50Lsg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4ICVzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc1NQorIzogYnVpbHRpbi9jb25maWcuYzo3NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNhbm5vdCBvdmVyd3JpdGUgbXVsdGlwbGUgdmFsdWVzIHdpdGggYSBzaW5nbGUgdmFsdWVcbiIKICIgICAgICAgVXNlIGEgcmVnZXhwLCAtLWFkZCBvciAtLXJlcGxhY2UtYWxsIHRvIGNoYW5nZSAlcy4iCiBtc2dzdHIgItC90LXQu9GM0LfRjyDQv9C10YDQtdC30LDQv9C40YHQsNGC0Ywg0L3QtdGB0LrQvtC70YzQutC+INC30L3QsNGH0LXQvdC40Lkg0L7QtNC90LjQvFxuICAgICAgINCY0YHQv9C+0LvRjNC30YPQudGC0LUg0YDQtdCz0YPQu9GP0YDQvdGL0LUg0LLRi9GA0LDQttC10L3QuNGPLCDQv9Cw0YDQsNC80LXRgtGA0YsgLS1hZGQg0LjQu9C4IC0tcmVwbGFjZS1hbGwsINGH0YLQvtCx0Ysg0LjQt9C80LXQvdC40YLRjCAlcy4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODI5IGJ1aWx0aW4vY29uZmlnLmM6ODQwCisjOiBidWlsdGluL2NvbmZpZy5jOjg0NyBidWlsdGluL2NvbmZpZy5jOjg1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIHNlY3Rpb246ICVzIgogbXNnc3RyICIiCkBAIC05MjcyLDE5NCArMTExNDIsMTk0IEBACiBtc2dpZCAicHJpbnQgc2l6ZXMgaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0IgogbXNnc3RyICLQstGL0LLQvtC0INGA0LDQt9C80LXRgNC+0LIg0LIg0YPQtNC+0LHQvtGH0LjRgtCw0LXQvNC+0Lwg0LTQu9GPINGH0LXQu9C+0LLQtdC60LAg0LLQuNC00LUiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3CiBtc2dpZCAiZ2l0IGRlc2NyaWJlIFs8b3B0aW9ucz5dIFs8Y29tbWl0LWlzaD4uLi5dIgogbXNnc3RyICJnaXQgZGVzY3JpYmUgWzzQvtC/0YbQuNC4Pl0gWzzRg9C60LDQt9Cw0YLQtdC70Ywt0LrQvtC80LzQuNGC0LA+4oCmXSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjgKIG1zZ2lkICJnaXQgZGVzY3JpYmUgWzxvcHRpb25zPl0gLS1kaXJ0eSIKIG1zZ3N0ciAiZ2l0IGRlc2NyaWJlIFs80L7Qv9GG0LjQuD5dIC0tZGlydHkiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjYzCiBtc2dpZCAiaGVhZCIKIG1zZ3N0ciAi0YPQutCw0LfQsNGC0LXQu9GMINC90LAg0LLQtdGC0LrRgyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjYyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NjMKIG1zZ2lkICJsaWdodHdlaWdodCIKIG1zZ3N0ciAi0LvQtdCz0LrQvtCy0LXRgdC90YvQuSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjYyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NjMKIG1zZ2lkICJhbm5vdGF0ZWQiCiBtc2dzdHIgItCw0L3QvdC+0YLQuNGA0L7QstCw0L3QvdGL0LkiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBub3QgYXZhaWxhYmxlIgogbXNnc3RyICLQsNC90L3QvtGC0LjRgNC+0LLQsNC90L3QsNGPINC80LXRgtC60LAgJXMg0L3QtSDQtNC+0YHRgtGD0L/QvdCwIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImFubm90YXRlZCB0YWcgJXMgaGFzIG5vIGVtYmVkZGVkIG5hbWUiCiBtc2dzdHIgItCw0L3QvdC+0YLQuNGA0L7QstCw0L3QvdCw0Y8g0LzQtdGC0LrQsCAlcyDQvdC1INGB0L7QtNC10YDQttC40YIg0LLRgdGC0YDQvtC10L3QvdC+0LPQviDQvdCw0LfQstCw0L3QuNGPIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGlzIHJlYWxseSAnJXMnIGhlcmUiCiBtc2dzdHIgItC80LXRgtC60LAgwqslc8K7INGD0LbQtSDQt9C00LXRgdGMIMKrJXPCuyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjMyMgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjMyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0YWcgZXhhY3RseSBtYXRjaGVzICclcyciCiBtc2dzdHIgItC90LXRgiDQvNC10YLQvtC6LCDRgtC+0YfQvdC+INGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjRhSDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMjQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gZXhhY3QgbWF0Y2ggb24gcmVmcyBvciB0YWdzLCBzZWFyY2hpbmcgdG8gZGVzY3JpYmVcbiIKIG1zZ3N0ciAi0J3QtdGCINGC0L7Rh9C90YvRhSDRgdC+0LLQv9Cw0LTQtdC90LjQuSDQv9C+INGB0YHRi9C70LrQsNC8INC40LvQuCDRgtC10LPQsNC8LCDQuNGJ0YMg0L7Qv9C40YHQsNC90LjRj1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzc4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mzc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbmlzaGVkIHNlYXJjaCBhdCAlc1xuIgogbXNnc3RyICLQv9C+0LjRgdC6INC+0LrQvtC90YfQtdC9INC90LAgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gYW5ub3RhdGVkIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCiAiSG93ZXZlciwgdGhlcmUgd2VyZSB1bmFubm90YXRlZCB0YWdzOiB0cnkgLS10YWdzLiIKIG1zZ3N0ciAi0J3QtdGCINCw0L3QvdC+0YLQuNGA0L7QstCw0L3QvdGL0YUg0LzQtdGC0L7Quiwg0LrQvtGC0L7RgNGL0LUg0LzQvtCz0YPRgiDQvtC/0LjRgdCw0YLRjCDCqyVzwrsuXG7QndC+INC40LzQtdGO0YLRgdGPINC90LXQsNC90L3QvtGC0LjRgNC+0LLQsNC90L3Ri9C1INC80LXRgtC60Lg6INC/0L7Qv9GA0L7QsdGD0LnRgtC1INC00L7QsdCw0LLQuNGC0Ywg0L/QsNGA0LDQvNC10YLRgCAtLXRhZ3MuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgogIlRyeSAtLWFsd2F5cywgb3IgY3JlYXRlIHNvbWUgdGFncy4iCiBtc2dzdHIgItCd0LXRgiDQvNC10YLQvtC6LCDQutC+0YLQvtGA0YvQtSDQvNC+0LPRg9GCINC+0L/QuNGB0LDRgtGMIMKrJXPigKYuXG7Qn9C+0L/RgNC+0LHRg9C50YLQtSDQtNC+0LHQsNCy0LjRgtGMINC/0LDRgNCw0LzQtdGC0YAgLS1hbHdheXMg0LjQu9C4INGB0L7Qt9C00LDRgtGMINC60LDQutC40LUt0L3QuNCx0YPQtNGMINC80LXRgtC60LguIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDM4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXZlcnNlZCAlbHUgY29tbWl0c1xuIgogbXNnc3RyICLQv9C+0YHQtdGJ0LXQvdC+ICVsdSDQutC+0LzQvNC40YLQvtCyXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDEKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm1vcmUgdGhhbiAlaSB0YWdzIGZvdW5kOyBsaXN0ZWQgJWkgbW9zdCByZWNlbnRcbiIKICJnYXZlIHVwIHNlYXJjaCBhdCAlc1xuIgogbXNnc3RyICLQsdC+0LvQtdC1ICVpINC80LXRgtC+0Log0L3QsNC50LTQtdC90L47INC/0L7QutCw0LfQsNC90L4g0L/QvtGB0LvQtdC00L3QuNC1ICVpXG7QvtGB0YLQsNC90L7QstC70LXQvSDQv9C+0LjRgdC6INC/0L7RgdC70LUgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUwOQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXNjcmliZSAlc1xuIgogbXNnc3RyICLQvtC/0LjRgdCw0YLRjCAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTEyIGJ1aWx0aW4vbG9nLmM6NTA4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICLQndC10LTQvtC/0YPRgdGC0LjQvNC+0LUg0LjQvNGPINC+0LHRitC10LrRgtCwICVzIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTIwCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG5laXRoZXIgYSBjb21taXQgbm9yIGJsb2IiCiBtc2dzdHIgIiVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQutC+0LzQvNC40YLQvtC8INC40LvQuCDQtNCy0L7QuNGH0L3Ri9C8INC+0LHRitC10LrRgtC+0LwiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzUKIG1zZ2lkICJmaW5kIHRoZSB0YWcgdGhhdCBjb21lcyBhZnRlciB0aGUgY29tbWl0IgogbXNnc3RyICLQv9C+0LjRgdC6INC80LXRgtC60LgsINC60L7RgtC+0YDQsNGPINC40LTQtdGCINC/0L7RgdC70LUg0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzUKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzYKIG1zZ2lkICJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIgogbXNnc3RyICLQstGL0LLQvtC0INC+0YLQu9Cw0LTQvtGH0L3QvtC5INC40L3RhNC+0YDQvNCw0YbQuNC4INGB0YLRgNCw0YLQtdCz0LjQuCDQv9C+0LjRgdC60LAg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3Ri9C5INCy0YvQstC+0LQiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzcKIG1zZ2lkICJ1c2UgYW55IHJlZiIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC70Y7QsdGD0Y4g0YHRgdGL0LvQutGDIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM4CiBtc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQu9GO0LHRg9GOINC80LXRgtC60YMsINC00LDQttC1INC90LXQsNC90L3QvtGC0LjRgNC+0LLQsNC90L3Rg9GOIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM5CiBtc2dpZCAiYWx3YXlzIHVzZSBsb25nIGZvcm1hdCIKIG1zZ3N0ciAi0LLRgdC10LPQtNCwINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQtNC70LjQvdC90YvQuSDRhNC+0YDQvNCw0YIg0LLRi9Cy0L7QtNCwIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQwCiBtc2dpZCAib25seSBmb2xsb3cgZmlyc3QgcGFyZW50IgogbXNnc3RyICLRgdC70LXQtNC+0LLQsNGC0Ywg0YLQvtC70YzQutC+INC30LAg0L/QtdGA0LLRi9C8INGA0L7QtNC40YLQtdC70LXQvCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MwogbXNnaWQgIm9ubHkgb3V0cHV0IGV4YWN0IG1hdGNoZXMiCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0YLQvtC70YzQutC+INGC0L7Rh9C90YvQtSDRgdC+0LLQv9Cw0LTQtdC90LjRjyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0NAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0NQogbXNnaWQgImNvbnNpZGVyIDxuPiBtb3N0IHJlY2VudCB0YWdzIChkZWZhdWx0OiAxMCkiCiBtc2dzdHIgItGA0LDRgdGB0LzQsNGC0YDQuNCy0LDRgtGMINC/0L7RgdC70LXQtNC90LjQtSA8bj4g0LzQtdGC0L7QuiAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y46IDEwKSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0NwogbXNnaWQgIm9ubHkgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgItGA0LDRgdGB0LzQsNGC0YDQuNCy0LDRgtGMINGC0L7Qu9GM0LrQviDQvNC10YLQutC4INC/0L4gPNGI0LDQsdC70L7QvdGDPiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0OAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0OQogbXNnaWQgImRvIG5vdCBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAi0L3QtSDRg9GH0LjRgtGL0LLQsNGC0Ywg0LzQtdGC0LrQuCwg0LrQvtGC0L7RgNGL0LUg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YIgPNGI0LDQsdC70L7QvdGDPiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MCBidWlsdGluL25hbWUtcmV2LmM6NDI0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUxIGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjYKIG1zZ2lkICJzaG93IGFiYnJldmlhdGVkIGNvbW1pdCBvYmplY3QgYXMgZmFsbGJhY2siCiBtc2dzdHIgItC10YHQu9C4INC90LUg0L3QsNC50LTQtdC90L4sINC/0L7QutCw0LfQsNGC0Ywg0YHQvtC60YDQsNGJ0LXQvdC90YvQuSDQvdC+0LzQtdGAINGA0LXQtNCw0LrRhtC40Lgg0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTEgYnVpbHRpbi9kZXNjcmliZS5jOjU1NAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MiBidWlsdGluL2Rlc2NyaWJlLmM6NTU1CiBtc2dpZCAibWFyayIKIG1zZ3N0ciAi0L/QvtC80LXRgtC60LAiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTMKIG1zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGRpcnR5IHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItZGlydHlcIikiCi1tc2dzdHIgItC00L7QsdCw0LLQuNGC0YwgPNC/0L7QvNC10YLQutGDPiDQv9GA0Lgg0LjQt9C80LXQvdC10L3QvdC+0Lwg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y46IMKrLWRpcnR5wrspIgorbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMIDzQv9C+0LzQtdGC0LrRgz4g0L/RgNC4INC40LfQvNC10L3RkdC90L3QvtC8INGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUgKNC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOOiDCqy1kaXJ0ecK7KSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1NQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1NgogbXNnaWQgImFwcGVuZCA8bWFyaz4gb24gYnJva2VuIHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItYnJva2VuXCIpIgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMIDzQv9C+0LzQtdGC0LrRgz4g0L3QsCDQv9C+0LLRgNC10LbQtNGR0L3QvdC+0LUg0YDQsNCx0L7Rh9C10LUg0LTQtdGA0LXQstC+ICjQv9C+INGD0LzQvtC70YfQsNC90LjRjjogwqstYnJva2VuwrspIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTczCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTc0CiBtc2dpZCAiLS1sb25nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWJicmV2PTAiCiBtc2dzdHIgIi0tbG9uZyDQvdC10YHQvtCy0LzQtdGB0YLQuNC80L4g0YEgLS1hYmJyZXY9MCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjYwMgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjYwMwogbXNnaWQgIk5vIG5hbWVzIGZvdW5kLCBjYW5ub3QgZGVzY3JpYmUgYW55dGhpbmcuIgogbXNnc3RyICLQmNC80LXQvdCwINC90LUg0L3QsNC50LTQtdC90YssINC90LUg0LzQvtCz0YMg0L3QuNGH0LXQs9C+INC+0L/QuNGB0LDRgtGMLiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjY1MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjY1NAogbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgogbXNnc3RyICItLWRpcnR5INC90LXRgdC+0LLQvNC10YHRgtC40LzQviDRgSDRg9C60LDQt9Cw0L3QuNC10Lwg0YPQutCw0LfQsNGC0LXQu9C10Lkg0LrQvtC80LzQuNGC0L7QsiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjY1NAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjY1NgogbXNnaWQgIi0tYnJva2VuIGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiLS1icm9rZW4g0L3QtdGB0L7QstC80LXRgdGC0LjQvNC+INGBINGD0LrQsNC30LDQvdC40LXQvCDRg9C60LDQt9Cw0YLQtdC70LXQuSDQutC+0LzQvNC40YLQvtCyIgogCi0jOiBidWlsdGluL2RpZmYuYzo4MworIzogYnVpbHRpbi9kaWZmLmM6ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogbm90IGEgcmVndWxhciBmaWxlIG9yIHN5bWxpbmsiCiBtc2dzdHIgIsKrJXPCuzog0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC+0LHRi9GH0L3Ri9C8INGE0LDQudC70L7QvCDQuNC70Lgg0YHQuNC80LLQvtC70YzQvdC+0Lkg0YHRgdGL0LvQutC+0LkiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjIzNAorIzogYnVpbHRpbi9kaWZmLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb3B0aW9uOiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INC/0LDRgNCw0LzQtdGC0YA6ICVzIgogCi0jOiBidWlsdGluL2RpZmYuYzozNjMKKyM6IGJ1aWx0aW4vZGlmZi5jOjM1MAogbXNnaWQgIk5vdCBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICLQndC1INC90LDQudC00LXQvSBnaXQg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDA3CisjOiBidWlsdGluL2RpZmYuYzozOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgItC/0LXRgNC10LTQsNC9INC90LXQv9GA0LDQstC40LvRjNC90YvQuSDQvtCx0YrQtdC60YIgwqslc8K7LiIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDE2CisjOiBidWlsdGluL2RpZmYuYzo0MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIHR3byBibG9icyBnaXZlbjogJyVzJyIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0L3QviDQsdC+0LvRjNGI0LUg0LTQstGD0YUg0LTQstC+0LjRh9C90YvRhSDQvtCx0YrQtdC60YLQvtCyOiDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQyMQorIzogYnVpbHRpbi9kaWZmLmM6NDA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgItC/0LXRgNC10LTQsNC9INC90LXQvtCx0YDQsNCx0L7RgtCw0L3QvdGL0Lkg0L7QsdGK0LXQutGCIMKrJXPCuy4iCkBAIC05NDY4LDkzICsxMTMzOCwxMDkgQEAKIG1zZ2lkICJnaXQgZGlmZnRvb2wgWzxvcHRpb25zPl0gWzxjb21taXQ+IFs8Y29tbWl0Pl1dIFstLV0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBkaWZmdG9vbCBbPNC+0L/RhtC40Lg+XSBbPNC60L7QvNC80LjRgj4gWzzQutC+0LzQvNC40YI+XV0gWy0tXSBbPNC/0YPRgtGMPuKApl0iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNjAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkOiAlZCIKIG1zZ3N0ciAi0YHQsdC+0Lk6ICVkIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6MzAyCisjOiBidWlsdGluL2RpZmZ0b29sLmM6Mjk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIHN5bWxpbmsgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINGB0LjQvNCy0L7Qu9GM0L3Rg9GOINGB0YHRi9C70LrRgyAlcyIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjMwNAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBzeW1saW5rIGZpbGUgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINGE0LDQudC7INGB0LjQvNCy0L7Qu9GM0L3QvtC5INGB0YHRi9C70LrQuCAlcyIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjMxMgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjMwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBvYmplY3QgJXMgZm9yIHN5bWxpbmsgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINC+0LHRitC10LrRgiAlcyDQtNC70Y8g0YHQuNC80LLQvtC70YzQvdC+0Lkg0YHRgdGL0LvQutC4ICVzIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NDEzCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NDA2CiBtc2dpZCAiIgogImNvbWJpbmVkIGRpZmYgZm9ybWF0cygnLWMnIGFuZCAnLS1jYycpIGFyZSBub3Qgc3VwcG9ydGVkIGluXG4iCiAiZGlyZWN0b3J5IGRpZmYgbW9kZSgnLWQnIGFuZCAnLS1kaXItZGlmZicpLiIKLW1zZ3N0ciAi0LrQvtC80LHQuNC90LjRgNC+0LLQsNC90L3Ri9C1INGE0L7RgNC80LDRgtGLINGA0LDQt9C70LjRh9C40Lkg0YTQsNC50LvQvtCyKMKrLWPCuyDQuCDCqy0tY2PCuykg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNGO0YLRgdGPINCyINGA0LXQttC40LzQtSDRgdGA0LDQstC90LXQvdC40Y8g0LrQsNGC0LDQu9C+0LPQvtCyKMKrLWTCuyDQuCDCqy0tZGlyLWRpZmbCuykuIgorbXNnc3RyICLQutC+0LzQsdC40L3QuNGA0L7QstCw0L3QvdGL0LUg0YTQvtGA0LzQsNGC0Ysg0YTQsNC50LvQvtCyINGB0L/QuNGB0LrQsCDQuNC30LzQtdC90LXQvdC40LkowqstY8K7INC4IMKrLS1jY8K7KSDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0Y7RgtGB0Y8g0LIg0YDQtdC20LjQvNC1INGB0YDQsNCy0L3QtdC90LjRjyDQutCw0YLQsNC70L7Qs9C+0LIowqstZMK7INC4IMKrLS1kaXItZGlmZsK7KS4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzMKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYm90aCBmaWxlcyBtb2RpZmllZDogJyVzJyBhbmQgJyVzJy4iCiBtc2dzdHIgItC+0LHQsCDRhNCw0LnQu9CwINC40LfQvNC10L3QtdC90Ys6IMKrJXPCuyDQuCDCqyVzwrsuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjM1CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjI4CiBtc2dpZCAid29ya2luZyB0cmVlIGZpbGUgaGFzIGJlZW4gbGVmdC4iCiBtc2dzdHIgItGA0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzINCx0YvQuyDQv9C+0LrQuNC90YPRgi4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAidGVtcG9yYXJ5IGZpbGVzIGV4aXN0IGluICclcycuIgogbXNnc3RyICLQstGA0LXQvNC10L3QvdGL0LUg0YTQsNC50LvRiyDRg9C20LUg0L3QsNGF0L7QtNGP0YLRgdGPINCyIMKrJXPCuy4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDcKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDAKIG1zZ2lkICJ5b3UgbWF5IHdhbnQgdG8gY2xlYW51cCBvciByZWNvdmVyIHRoZXNlLiIKIG1zZ3N0ciAi0LLQvtC30LzQvtC20L3QviDQstGLINGF0L7RgtC40YLQtSDQuNGFINGD0LTQsNC70LjRgtGMINC40LvQuCDQstC+0YHRgdGC0LDQvdC+0LLQuNGC0YwuIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6Njk2CisjOiBidWlsdGluL2RpZmZ0b29sLmM6Njg5CiBtc2dpZCAidXNlIGBkaWZmLmd1aXRvb2xgIGluc3RlYWQgb2YgYGRpZmYudG9vbGAiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDCq2RpZmYuZ3VpdG9vbMK7INCy0LzQtdGB0YLQviDCq2RpZmYudG9vbMK7IgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6Njk4CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjkxCiBtc2dpZCAicGVyZm9ybSBhIGZ1bGwtZGlyZWN0b3J5IGRpZmYiCiBtc2dzdHIgItCy0YvQv9C+0LvQvdC40YLRjCDQv9C+0YTQsNC50LvQvtCy0L7QtSDRgdGA0LDQstC90LXQvdC40LUg0LLRgdC10LPQviDQutCw0YLQsNC70L7Qs9CwIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzAwCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjkzCiBtc2dpZCAiZG8gbm90IHByb21wdCBiZWZvcmUgbGF1bmNoaW5nIGEgZGlmZiB0b29sIgogbXNnc3RyICLQvdC1INGB0L/RgNCw0YjQuNCy0LDRgtGMINC/0LXRgNC10LQg0LfQsNC/0YPRgdC60L7QvCDRg9GC0LjQu9C40YLRiyDRgdGA0LDQstC90LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDUKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTgKIG1zZ2lkICJ1c2Ugc3ltbGlua3MgaW4gZGlyLWRpZmYgbW9kZSIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGB0LjQvNCy0L7Qu9GM0L3Ri9C1INGB0YHRi9C70LrQuCDQsiDRgNC10LbQuNC80LUg0YHRgNCw0LLQvdC10L3QuNGPINC60LDRgtCw0LvQvtCz0LAiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTkKIG1zZ2lkICJ0b29sIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDcKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDAKIG1zZ2lkICJ1c2UgdGhlIHNwZWNpZmllZCBkaWZmIHRvb2wiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRg9C60LDQt9Cw0L3QvdGD0Y4g0YPRgtC40LvQuNGC0YMg0YHRgNCw0LLQvdC10L3QuNGPIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzA5CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzAyCiBtc2dpZCAicHJpbnQgYSBsaXN0IG9mIGRpZmYgdG9vbHMgdGhhdCBtYXkgYmUgdXNlZCB3aXRoIGAtLXRvb2xgIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0YPRgtC40LvQuNGCLCDQutC+0YLQvtGA0YvQtSDQvNC+0LbQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgSDQv9Cw0YDQsNC80LXRgtGA0L7QvCDCqy0tdG9vbMK7IgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzEyCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA1CiBtc2dpZCAiIgogIm1ha2UgJ2dpdC1kaWZmdG9vbCcgZXhpdCB3aGVuIGFuIGludm9rZWQgZGlmZiB0b29sIHJldHVybnMgYSBub24gLSB6ZXJvIGV4aXQiCiAiIGNvZGUiCiBtc2dzdHIgItCy0YvRhdC+0LTQuNGC0Ywg0LjQtyDCq2dpdC1kaWZmdG9vbMK7LCDQtdGB0LvQuCDQstGL0LfQstCw0L3QvdCw0Y8g0YPRgtC40LvQuNGC0LAg0YHRgNCw0LLQvdC10L3QuNGPINCy0LXRgNC90YPQu9CwINC90LUg0L3Rg9C70LXQstC+0Lkg0LrQvtC0INCy0L7Qt9Cy0YDQsNGC0LAiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTUKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDgKIG1zZ2lkICJzcGVjaWZ5IGEgY3VzdG9tIGNvbW1hbmQgZm9yIHZpZXdpbmcgZGlmZnMiCi1tc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtGB0L7QsdGD0Y4g0LrQvtC80LDQvdC00YMg0LTQu9GPINC/0YDQvtGB0LzQvtGC0YDQsCDRgNCw0LfQu9C40YfQuNC5IgorbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7RgdC+0LHRg9GOINC60L7QvNCw0L3QtNGDINC00LvRjyDQv9GA0L7RgdC80L7RgtGA0LAg0LjQt9C80LXQvdC10L3QuNC5IgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzM5CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA5Cittc2dpZCAicGFzc2VkIHRvIGBkaWZmYCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzI0Cittc2dpZCAiZGlmZnRvb2wgcmVxdWlyZXMgd29ya3RyZWUgb3IgLS1uby1pbmRleCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzMxCittc2dpZCAiLS1kaXItZGlmZiBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW5vLWluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MzQKK21zZ2lkICItLWd1aSwgLS10b29sIGFuZCAtLWV4dGNtZCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3NDIKIG1zZ2lkICJubyA8dG9vbD4gZ2l2ZW4gZm9yIC0tdG9vbD08dG9vbD4iCiBtc2dzdHIgItC90LUg0L/QtdGA0LXQtNCw0L3QsCA80YPRgtC40LvQuNGC0LA+INC00LvRjyAtLXRvb2w9PNGD0YLQuNC70LjRgtCwPiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc0NgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc0OQogbXNnaWQgIm5vIDxjbWQ+IGdpdmVuIGZvciAtLWV4dGNtZD08Y21kPiIKIG1zZ3N0ciAi0L3QtSDQv9C10YDQtdC00LDQvdCwIDzQutC+0LzQsNC90LTQsD4g0LTQu9GPIC0tZXh0Y21kPTzQutC+0LzQsNC90LTQsD4iCiAKQEAgLTk1NjIsMzY0ICsxMTQ0OCwzNzMgQEAKIG1zZ2lkICJnaXQgZmFzdC1leHBvcnQgW3Jldi1saXN0LW9wdHNdIgogbXNnc3RyICJnaXQgZmFzdC1leHBvcnQgW9C+0L/RhtC40LgtcmV2LWxpc3RdIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwNgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwODQKIG1zZ2lkICJzaG93IHByb2dyZXNzIGFmdGVyIDxuPiBvYmplY3RzIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC/0YDQvtCz0YDQtdGB0YEg0L/QvtGB0LvQtSA8bj4g0L7QsdGK0LXQutGC0L7QsiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDg2CiBtc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHNpZ25lZCB0YWdzIgogbXNnc3RyICLQstGL0LHQvtGAINC+0LHRgNCw0LHQvtGC0LrQuCDQv9C+0LTQv9C40YHQsNC90L3Ri9GFINC80LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDExCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTA4OQogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiB0YWdzIHRoYXQgdGFnIGZpbHRlcmVkIG9iamVjdHMiCiBtc2dzdHIgItCy0YvQsdC+0YAg0L7QsdGA0LDQsdC+0YLQutC4INC80LXRgtC+0LosINC60L7RgtC+0YDRi9C80Lgg0L/QvtC80LXRh9C10L3RiyDQvtGC0YTQuNC70YzRgtGA0L7QstCw0L3QvdGL0LUg0L7QsdGK0LXQutGC0YsiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDE0CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTA5MgogbXNnaWQgIkR1bXAgbWFya3MgdG8gdGhpcyBmaWxlIgogbXNnc3RyICLQl9Cw0L/QuNGB0LDRgtGMINC/0L7QvNC10YLQutC4INCyINGN0YLQvtGCINGE0LDQudC7IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxNgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwOTQKIG1zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUiCiBtc2dzdHIgItCY0LzQv9C+0YDRgtC40YDQvtCy0LDRgtGMINC/0L7QvNC10YLQutC4INC40Lcg0Y3RgtC+0LPQviDRhNCw0LnQu9CwIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxOAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwOTYKIG1zZ2lkICJGYWtlIGEgdGFnZ2VyIHdoZW4gdGFncyBsYWNrIG9uZSIKIG1zZ3N0ciAi0J/QvtC00LTQtdC70LDRgtGMINCw0LLRgtC+0YDQsCDQvNC10YLQutC4LCDQtdGB0LvQuCDRgyDQvNC10YLQutC4INC+0L0g0L7RgtGB0YPRgtGB0YLQstGD0LXRgiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMjAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDk4CiBtc2dpZCAiT3V0cHV0IGZ1bGwgdHJlZSBmb3IgZWFjaCBjb21taXQiCiBtc2dzdHIgItCS0YvQstC10YHRgtC4INC/0L7Qu9C90L7QtSDQtNC10YDQtdCy0L4g0LTQu9GPINC60LDQttC00L7Qs9C+INC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAyMgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExMDAKIG1zZ2lkICJVc2UgdGhlIGRvbmUgZmVhdHVyZSB0byB0ZXJtaW5hdGUgdGhlIHN0cmVhbSIKIG1zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC/0L7QvNC10YLQutGDINC30LDQstC10YDRiNC10L3QuNGPINCyINC60L7QvdGG0LUg0L/QvtGC0L7QutCwIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAyMworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExMDEKIG1zZ2lkICJTa2lwIG91dHB1dCBvZiBibG9iIGRhdGEiCiBtc2dzdHIgItCf0YDQvtC/0YPRgdGC0LjRgtGMINCy0YvQstC+0LQg0LTQsNC90L3Ri9GFINC00LLQvtC40YfQvdGL0YUg0L7QsdGK0LXQutGC0L7QsiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMjQKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTAyIGJ1aWx0aW4vbG9nLmM6MTYwOQogbXNnaWQgInJlZnNwZWMiCiBtc2dzdHIgItGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgCDRgdGB0YvQu9C60LgiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDI1CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTEwMwogbXNnaWQgIkFwcGx5IHJlZnNwZWMgdG8gZXhwb3J0ZWQgcmVmcyIKIG1zZ3N0ciAi0J/RgNC40LzQtdC90LjRgtGMINGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgCDRgdGB0YvQu9C60Lgg0Log0Y3QutGB0L/QvtGA0YLQuNGA0YPQtdC80YvQvCDRgdGB0YvQu9C60LDQvCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMjYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTA0CiBtc2dpZCAiYW5vbnltaXplIG91dHB1dCIKIG1zZ3N0ciAi0YHQtNC10LvQsNGC0Ywg0LLRi9Cy0L7QtCDQsNC90L7QvdC40LzQvdGL0LwiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyNworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExMDYKK21zZ2lkICJSZWZlcmVuY2UgcGFyZW50cyB3aGljaCBhcmUgbm90IGluIGZhc3QtZXhwb3J0IHN0cmVhbSBieSBvYmplY3QgaWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExMDgKK21zZ2lkICJTaG93IG9yaWdpbmFsIG9iamVjdCBpZHMgb2YgYmxvYnMvY29tbWl0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6MjgKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgImdpdCBmZXRjaCBbPNC+0L/RhtC40Lg+XSBbPNGA0LXQv9C+0LfQuNGC0L7RgNC40Lk+IFs80YHQv9C10YbQuNGE0LjQutCw0YLQvtGALdGB0YHRi9C70LrQuD7igKZdXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI4CisjOiBidWlsdGluL2ZldGNoLmM6MjkKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gPGdyb3VwPiIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs80L7Qv9GG0LjQuD5dIDzQs9GA0YPQv9C/0LA+IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzozMAogbXNnaWQgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPHJlcG9zaXRvcnk+IHwgPGdyb3VwPikuLi5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPNC+0L/RhtC40Lg+XSBbKDzRgNC10L/QvtC30LjRgtC+0YDQuNC5PiB8IDzQs9GA0YPQv9C/0LA+KeKApl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMAorIzogYnVpbHRpbi9mZXRjaC5jOjMxCiBtc2dpZCAiZ2l0IGZldGNoIC0tYWxsIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgZmV0Y2ggLS1hbGwgWzzQvtC/0YbQuNC4Pl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTIgYnVpbHRpbi9wdWxsLmM6MTkzCisjOiBidWlsdGluL2ZldGNoLmM6MTE1IGJ1aWx0aW4vcHVsbC5jOjIwMgogbXNnaWQgImZldGNoIGZyb20gYWxsIHJlbW90ZXMiCiBtc2dzdHIgItC40LfQstC70LXRh9GMINGB0L4g0LLRgdC10YUg0LLQvdC10YjQvdC40YUg0YDQtdC/0L7Qt9C40YLQvtGA0LjQtdCyIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE0IGJ1aWx0aW4vcHVsbC5jOjE5NgorIzogYnVpbHRpbi9mZXRjaC5jOjExNyBidWlsdGluL3B1bGwuYzoyMDUKIG1zZ2lkICJhcHBlbmQgdG8gLmdpdC9GRVRDSF9IRUFEIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmciCiBtc2dzdHIgItC00L7Qv9C40YHQsNGC0Ywg0LogLmdpdC9GRVRDSF9IRUFEINCy0LzQtdGB0YLQviDQv9C10YDQtdC30LDQv9C40YHQuCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNiBidWlsdGluL3B1bGwuYzoxOTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTkgYnVpbHRpbi9wdWxsLmM6MjA4CiBtc2dpZCAicGF0aCB0byB1cGxvYWQgcGFjayBvbiByZW1vdGUgZW5kIgogbXNnc3RyICLQv9GD0YLRjCDQuiDQv9GA0L7Qs9GA0LDQvNC80LUg0YPQv9Cw0LrQvtCy0LrQuCDQv9Cw0LrQtdGC0LAg0L3QsCDQvNCw0YjQuNC90LUg0YEg0LLQvdC10YjQvdC40Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQtdC8IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE3IGJ1aWx0aW4vcHVsbC5jOjIwMQotbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCi1tc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70YzQvdCw0Y8g0L/QtdGA0LXQt9Cw0L/QuNGB0Ywg0LvQvtC60LDQu9GM0L3QvtC5INCy0LXRgtC60LgiCisjOiBidWlsdGluL2ZldGNoLmM6MTIwCittc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIHJlZmVyZW5jZSIKK21zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE5CisjOiBidWlsdGluL2ZldGNoLmM6MTIyCiBtc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgogbXNnc3RyICLQuNC30LLQu9C10YfRjCDRgSDQvdC10YHQutC+0LvRjNC60LjRhSDQstC90LXRiNC90LjRhSDRgNC10L/QvtC30LjRgtC+0YDQuNC10LIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjEgYnVpbHRpbi9wdWxsLmM6MjAzCisjOiBidWlsdGluL2ZldGNoLmM6MTI0IGJ1aWx0aW4vcHVsbC5jOjIxMgogbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCiBtc2dzdHIgItC40LfQstC70LXRh9GMINCy0YHQtSDQvNC10YLQutC4INC4INGB0LLRj9C30LDQvdC90YvQtSDQvtCx0YrQtdC60YLRiyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMworIzogYnVpbHRpbi9mZXRjaC5jOjEyNgogbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKIG1zZ3N0ciAi0L3QtSDQuNC30LLQu9C10LrQsNGC0Ywg0LLRgdC1INC80LXRgtC60LggKC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjgKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBmZXRjaGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICLQutC+0LvQuNGH0LXRgdGC0LLQviDQv9C+0LTQvNC+0LTRg9C70LXQuSwg0LrQvtGC0L7RgNGL0LUg0LHRg9C00YPRgiDRgdC60LDRh9Cw0L3RiyDQv9Cw0YDRgNCw0LvQtdC70YzQvdC+IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI3IGJ1aWx0aW4vcHVsbC5jOjIwNgorIzogYnVpbHRpbi9mZXRjaC5jOjEzMCBidWlsdGluL3B1bGwuYzoyMTUKIG1zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKIG1zZ3N0ciAi0L/QvtGH0LjRgdGC0LjRgtGMINC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INCy0L3QtdGI0L3QuNC1INCy0LXRgtC60LgsINC60L7RgtC+0YDRi9GFINGD0LbQtSDQvdC10YIg0L3QsCDQstC90LXRiNC90LXQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI5CisjOiBidWlsdGluL2ZldGNoLmM6MTMyCiBtc2dpZCAicHJ1bmUgbG9jYWwgdGFncyBubyBsb25nZXIgb24gcmVtb3RlIGFuZCBjbG9iYmVyIGNoYW5nZWQgdGFncyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMwIGJ1aWx0aW4vZmV0Y2guYzoxNTMgYnVpbHRpbi9wdWxsLmM6MTMxCisjOiBidWlsdGluL2ZldGNoLmM6MTMzIGJ1aWx0aW4vZmV0Y2guYzoxNTYgYnVpbHRpbi9wdWxsLmM6MTM5CiBtc2dpZCAib24tZGVtYW5kIgogbXNnc3RyICLQv9C+INGC0YDQtdCx0L7QstCw0L3QuNGOIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMxCisjOiBidWlsdGluL2ZldGNoLmM6MTM0CiBtc2dpZCAiY29udHJvbCByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAi0YPQv9GA0LDQstC70LXQvdC40LUg0YDQtdC60YPRgNGB0LjQstC90YvQvCDQuNC30LLQu9C10YfQtdC90LjQtdC8INC/0L7QtNC80L7QtNGD0LvQtdC5IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM1IGJ1aWx0aW4vcHVsbC5jOjIxNAorIzogYnVpbHRpbi9mZXRjaC5jOjEzOCBidWlsdGluL3B1bGwuYzoyMjMKIG1zZ2lkICJrZWVwIGRvd25sb2FkZWQgcGFjayIKIG1zZ3N0ciAi0L7RgdGC0LDQstC40YLRjCDQt9Cw0LPRgNGD0LbQtdC90L3Ri9C5INC/0LDQutC10YIg0LTQsNC90L3Ri9GFIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTM3CisjOiBidWlsdGluL2ZldGNoLmM6MTQwCiBtc2dpZCAiYWxsb3cgdXBkYXRpbmcgb2YgSEVBRCByZWYiCiBtc2dzdHIgItGA0LDQt9GA0LXRiNC40YLRjCDQvtCx0L3QvtCy0LvQtdC90LjQtSDRgdGB0YvQu9C60LggSEVBRCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE0MCBidWlsdGluL2ZldGNoLmM6MTQ2IGJ1aWx0aW4vcHVsbC5jOjIxNworIzogYnVpbHRpbi9mZXRjaC5jOjE0MyBidWlsdGluL2ZldGNoLmM6MTQ5IGJ1aWx0aW4vcHVsbC5jOjIyNgogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCiBtc2dzdHIgItGD0LvRg9Cz0YPQsdC40YLRjCDQuNGB0YLQvtGA0LjRjiDRh9Cw0YHRgtC40YfQvdC+0LPQviDQutC70L7QvdCwIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQyCisjOiBidWlsdGluL2ZldGNoLmM6MTQ1CiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyByZXBvc2l0b3J5IGJhc2VkIG9uIHRpbWUiCiBtc2dzdHIgItGD0LPQu9GD0LHQuNGC0Ywg0LjRgdGC0L7RgNC40Y4g0YfQsNGB0YLQuNGH0L3QvtCz0L4g0LrQu9C+0L3QsCDQvtGB0L3QvtCy0YvQstCw0Y/RgdGMINC90LAg0LLRgNC10LzQtdC90LgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNDggYnVpbHRpbi9wdWxsLmM6MjIwCisjOiBidWlsdGluL2ZldGNoLmM6MTUxIGJ1aWx0aW4vcHVsbC5jOjIyOQogbXNnaWQgImNvbnZlcnQgdG8gYSBjb21wbGV0ZSByZXBvc2l0b3J5IgogbXNnc3RyICLQv9GA0LXQvtCx0YDQsNC30L7QstCw0YLRjCDQsiDQv9C+0LvQvdGL0Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1MQorIzogYnVpbHRpbi9mZXRjaC5jOjE1NAogbXNnaWQgInByZXBlbmQgdGhpcyB0byBzdWJtb2R1bGUgcGF0aCBvdXRwdXQiCiBtc2dzdHIgItC/0YDQuNGB0L7QtdC00LjQvdGP0YLRjCDRjdGC0L4g0YHQv9C10YDQtdC00Lgg0Log0LLRi9Cy0L7QtNGDINC/0YPRgtC10Lkg0L/QvtC00LzQvtC00YPQu9GPIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU0CisjOiBidWlsdGluL2ZldGNoLmM6MTU3CiBtc2dpZCAiIgogImRlZmF1bHQgZm9yIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIChsb3dlciBwcmlvcml0eSB0aGFuIGNvbmZpZyAiCiAiZmlsZXMpIgogbXNnc3RyICLQvdCw0YHRgtGA0L7QuNGC0Ywg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4g0YDQtdC60YPRgNGB0LjQstC90L7QtSDQuNC30LLQu9C10YfQtdC90LjQtSDQv9C+0LTQvNC+0LTRg9C70LXQuSAo0LHQvtC70LXQtSDQvdC40LfQutC40Lkg0L/RgNC40L7RgNC40YLQtdGCLCDRh9C10Lwg0YTQsNC50LvRiyDQutC+0L3RhNC40LPRg9GA0LDRhtC40LgpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU4IGJ1aWx0aW4vcHVsbC5jOjIyMworIzogYnVpbHRpbi9mZXRjaC5jOjE2MSBidWlsdGluL3B1bGwuYzoyMzIKIG1zZ2lkICJhY2NlcHQgcmVmcyB0aGF0IHVwZGF0ZSAuZ2l0L3NoYWxsb3ciCiBtc2dzdHIgItC/0YDQuNC90LjQvNCw0YLRjCDRgdGB0YvQu9C60LgsINC60L7RgtC+0YDRi9C1INC+0LHQvdC+0LLQu9GP0Y7RgiAuZ2l0L3NoYWxsb3ciCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTkgYnVpbHRpbi9wdWxsLmM6MjI1CisjOiBidWlsdGluL2ZldGNoLmM6MTYyIGJ1aWx0aW4vcHVsbC5jOjIzNAogbXNnaWQgInJlZm1hcCIKIG1zZ3N0ciAi0YHQvtC+0YLQstC10YLRgdGC0LLQuNC1LdGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MCBidWlsdGluL3B1bGwuYzoyMjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjMgYnVpbHRpbi9wdWxsLmM6MjM1CiBtc2dpZCAic3BlY2lmeSBmZXRjaCByZWZtYXAiCiBtc2dzdHIgItGD0LrQsNC30LDRgtGMINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjQtSDRgdGB0YvQu9C+0Log0L/RgNC4INC40LfQstC70LXRh9C10L3QuNC4IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYxIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzcgYnVpbHRpbi9wdXNoLmM6NTgyCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE3MgotbXNnaWQgInNlcnZlci1zcGVjaWZpYyIKLW1zZ3N0ciAi0LfQsNCy0LjRgdC40YIt0L7Rgi3RgdC10YDQstC10YDQsCIKLQotIzogYnVpbHRpbi9mZXRjaC5jOjE2MSBidWlsdGluL2xzLXJlbW90ZS5jOjc3IGJ1aWx0aW4vcHVzaC5jOjU4MgotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzMKLW1zZ2lkICJvcHRpb24gdG8gdHJhbnNtaXQiCi1tc2dzdHIgItC/0LXRgNC10LTQsNCy0LDQtdC80YvQtSDQvtC/0YbQuNC4IgotCi0jOiBidWlsdGluL2ZldGNoLmM6MTY3CisjOiBidWlsdGluL2ZldGNoLmM6MTcwCiBtc2dpZCAicmVwb3J0IHRoYXQgd2UgaGF2ZSBvbmx5IG9iamVjdHMgcmVhY2hhYmxlIGZyb20gdGhpcyBvYmplY3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQxOAorIzogYnVpbHRpbi9mZXRjaC5jOjQ2OQogbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0YHRgdGL0LvQutGDIEhFQUQg0L3QsCDQstC90LXRiNC90LXQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NTUyCisjOiBidWlsdGluL2ZldGNoLmM6NjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbmZpZ3VyYXRpb24gZmV0Y2gub3V0cHV0IGNvbnRhaW5zIGludmFsaWQgdmFsdWUgJXMiCiBtc2dzdHIgItC+0L/RhtC40Y8gZmV0Y2gub3V0cHV0INGB0L7QtNC10YDQttC40YIg0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0LTQu9GPICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjQ1CisjOiBidWlsdGluL2ZldGNoLmM6NzA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBub3QgZm91bmQiCiBtc2dzdHIgItC+0LHRitC10LrRgiAlcyDQvdC1INC90LDQudC00LXQvSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY0OQorIzogYnVpbHRpbi9mZXRjaC5jOjcwOQogbXNnaWQgIlt1cCB0byBkYXRlXSIKIG1zZ3N0ciAiW9Cw0LrRgtGD0LDQu9GM0L3Qvl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2NjIgYnVpbHRpbi9mZXRjaC5jOjc0NAorIzogYnVpbHRpbi9mZXRjaC5jOjcyMiBidWlsdGluL2ZldGNoLmM6NzM4IGJ1aWx0aW4vZmV0Y2guYzo4MDEKIG1zZ2lkICJbcmVqZWN0ZWRdIgogbXNnc3RyICJb0L7RgtC60LvQvtC90LXQvdC+XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY2MworIzogYnVpbHRpbi9mZXRjaC5jOjcyMwogbXNnaWQgImNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0LjQt9Cy0LvQtdGH0Ywg0YLQtdC60YPRidGD0Y4g0LLQtdGC0LrRgyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY3MgorIzogYnVpbHRpbi9mZXRjaC5jOjczMwogbXNnaWQgIlt0YWcgdXBkYXRlXSIKIG1zZ3N0ciAiW9C+0LHQvdC+0LLQu9C10L3QuNC1INC80LXRgtC60LhdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NjczIGJ1aWx0aW4vZmV0Y2guYzo3MDggYnVpbHRpbi9mZXRjaC5jOjcyNAotIzogYnVpbHRpbi9mZXRjaC5jOjczOQorIzogYnVpbHRpbi9mZXRjaC5jOjczNCBidWlsdGluL2ZldGNoLmM6NzcxIGJ1aWx0aW4vZmV0Y2guYzo3ODQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3OTYKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINC70L7QutCw0LvRjNC90YPRjiDRgdGB0YvQu9C60YMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2OTQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3MzgKK21zZ2lkICJ3b3VsZCBjbG9iYmVyIGV4aXN0aW5nIHRhZyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZldGNoLmM6NzYwCiBtc2dpZCAiW25ldyB0YWddIgogbXNnc3RyICJb0L3QvtCy0LDRjyDQvNC10YLQutCwXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjY5NworIzogYnVpbHRpbi9mZXRjaC5jOjc2MwogbXNnaWQgIltuZXcgYnJhbmNoXSIKIG1zZ3N0ciAiW9C90L7QstCw0Y8g0LLQtdGC0LrQsF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NjYKIG1zZ2lkICJbbmV3IHJlZl0iCiBtc2dzdHIgIlvQvdC+0LLQsNGPINGB0YHRi9C70LrQsF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MzkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3OTYKIG1zZ2lkICJmb3JjZWQgdXBkYXRlIgogbXNnc3RyICLQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QvtC1INC+0LHQvdC+0LLQu9C10L3QuNC1IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzQ0CisjOiBidWlsdGluL2ZldGNoLmM6ODAxCiBtc2dpZCAibm9uLWZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAi0LHQtdC3INC/0LXRgNC10LzQvtGC0LrQuCDQstC/0LXRgNC10LQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3OTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0c1xuIgogbXNnc3RyICIlcyDQvdC1INC+0YLQv9GA0LDQstC40Lsg0LLRgdC1INC90LXQvtCx0YXQvtC00LjQvNGL0LUg0L7QsdGK0LXQutGC0YtcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgxMQorIzogYnVpbHRpbi9mZXRjaC5jOjg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWplY3QgJXMgYmVjYXVzZSBzaGFsbG93IHJvb3RzIGFyZSBub3QgYWxsb3dlZCB0byBiZSB1cGRhdGVkIgogbXNnc3RyICIlcyDQvtGC0LrQu9C+0L3QtdC90L4g0LjQty3Qt9CwINGC0L7Qs9C+LCDRh9GC0L4g0YfQsNGB0YLQuNGH0L3Ri9C1INC60L7RgNC90Lgg0L3QtSDRgNCw0LfRgNC10YjQtdC90L4g0L7QsdC90L7QstC70Y/RgtGMIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTAwIGJ1aWx0aW4vZmV0Y2guYzoxMDExCisjOiBidWlsdGluL2ZldGNoLmM6OTU5IGJ1aWx0aW4vZmV0Y2guYzoxMDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICLQmNC3ICUuKnNcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjkxMQorIzogYnVpbHRpbi9mZXRjaC5jOjk3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAic29tZSBsb2NhbCByZWZzIGNvdWxkIG5vdCBiZSB1cGRhdGVkOyB0cnkgcnVubmluZ1xuIgogIiAnZ2l0IHJlbW90ZSBwcnVuZSAlcycgdG8gcmVtb3ZlIGFueSBvbGQsIGNvbmZsaWN0aW5nIGJyYW5jaGVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0LHQvdC+0LLQuNGC0Ywg0L3QtdC60L7RgtC+0YDRi9C1INC70L7QutCw0LvRjNC90YvQtSDRgdGB0YvQu9C60Lg7INC/0L7Qv9GA0L7QsdGD0LnRgtC1INC30LDQv9GD0YHRgtC40YLRjCDCq2dpdCByZW1vdGUgcHJ1bmUgJXPCuywg0YfRgtC+0LHRiyDQv9C+0YfQuNGB0YLQuNGC0Ywg0YHRgtCw0YDRi9C1LCDQutC+0L3RhNC70LjQutGC0YPRjtGJ0LjQtSDQstC10YLQutC4IgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTgxCisjOiBidWlsdGluL2ZldGNoLmM6MTA1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMg0LHRg9C00LXRgiDQstC40YHRj9GJ0LXQuSDQstC10YLQutC+0LkpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTgyCisjOiBidWlsdGluL2ZldGNoLmM6MTA1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgaGFzIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICglcyDRgdGC0LDQu9CwINCy0LjRgdGP0YnQtdC5INCy0LXRgtC60L7QuSkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE0CisjOiBidWlsdGluL2ZldGNoLmM6MTA4NAogbXNnaWQgIltkZWxldGVkXSIKIG1zZ3N0ciAiW9GD0LTQsNC70LXQvdC+XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwMTUgYnVpbHRpbi9yZW1vdGUuYzoxMDM1CisjOiBidWlsdGluL2ZldGNoLmM6MTA4NSBidWlsdGluL3JlbW90ZS5jOjEwMzYKIG1zZ2lkICIobm9uZSkiCiBtc2dzdHIgIijQvdC10YIpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTAzOAorIzogYnVpbHRpbi9mZXRjaC5jOjExMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gZmV0Y2ggaW50byBjdXJyZW50IGJyYW5jaCAlcyBvZiBub24tYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICLQntGC0LrQsNC3INC/0L7Qu9GD0YfQtdC90LjRjyDQsiDRgtC10LrRg9GJ0YPRjiDQstC10YLQutGDICVzINC90LUg0LPQvtC70L7Qs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDU3CisjOiBidWlsdGluL2ZldGNoLmM6MTEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIHZhbHVlIFwiJXNcIiBpcyBub3QgdmFsaWQgZm9yICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDCqyUyJHPCuyDQtNC70Y8g0L/QsNGA0LDQvNC10YLRgNCwIMKrJTEkc8K7INC00LvRjyAlMyRzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA2MAorIzogYnVpbHRpbi9mZXRjaC5jOjExMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICLQn9Cw0YDQsNC80LXRgtGAIMKrJXPCuyDQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y8g0LTQu9GPICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzM5CisjOiBidWlsdGluL2ZldGNoLmM6MTQzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJGZXRjaGluZyAlc1xuIgogbXNnc3RyICLQmNC30LLQu9C10YfQtdC90LjQtSDQuNC3ICVzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzQxIGJ1aWx0aW4vcmVtb3RlLmM6OTkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDM2IGJ1aWx0aW4vcmVtb3RlLmM6MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmZXRjaCAlcyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQuNC30LLQu9C10YfRjCAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzODcgYnVpbHRpbi9mZXRjaC5jOjE1NTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDgyCiBtc2dpZCAiIgotIi0tZmlsdGVyIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB0aGUgcmVtb3RlIGNvbmZpZ3VyZWQgaW4gY29yZS5wYXJ0aWFsQ2xvbmUiCisiLS1maWx0ZXIgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHRoZSByZW1vdGUgY29uZmlndXJlZCBpbiAiCisiZXh0ZW5zaW9ucy5wYXJ0aWFsQ2xvbmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE0MTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTA2CiBtc2dpZCAiIgogIk5vIHJlbW90ZSByZXBvc2l0b3J5IHNwZWNpZmllZC4gIFBsZWFzZSwgc3BlY2lmeSBlaXRoZXIgYSBVUkwgb3IgYVxuIgogInJlbW90ZSBuYW1lIGZyb20gd2hpY2ggbmV3IHJldmlzaW9ucyBzaG91bGQgYmUgZmV0Y2hlZC4iCiBtc2dzdHIgItCd0LUg0YPQutCw0LfQsNC9INCy0L3QtdGI0L3QuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40LkuINCj0LrQsNC20LjRgtC1IFVSTCDQuNC70Lgg0LjQvNGPINCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyDQuNC3INC60L7RgtC+0YDQvtCz0L4g0LTQvtC70LbQvdGLINC40LfQstC70LXQutCw0YLRjNGB0Y8g0L3QvtCy0YvQtSDRgNC10LTQsNC60YbQuNC4LiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE0NDcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTQzCiBtc2dpZCAiWW91IG5lZWQgdG8gc3BlY2lmeSBhIHRhZyBuYW1lLiIKIG1zZ3N0ciAi0JLQsNC8INC90YPQttC90L4g0YPQutCw0LfQsNGC0Ywg0LjQvNGPINC80LXRgtC60LguIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQ5NgorIzogYnVpbHRpbi9mZXRjaC5jOjE1OTQKIG1zZ2lkICJOZWdhdGl2ZSBkZXB0aCBpbiAtLWRlZXBlbiBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICLQntGC0YDQuNGG0LDRgtC10LvRjNC90LDRjyDQs9GA0YPQsdC40L3QsCDQtNC70Y8gLS1kZWVwZW4g0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQ5OAorIzogYnVpbHRpbi9mZXRjaC5jOjE1OTYKIG1zZ2lkICItLWRlZXBlbiBhbmQgLS1kZXB0aCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItLWRlZXBlbiDQuCAtLWRlcHRoINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTUwMworIzogYnVpbHRpbi9mZXRjaC5jOjE2MDEKIG1zZ2lkICItLWRlcHRoIGFuZCAtLXVuc2hhbGxvdyBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4gLS1kZXB0aCDQuCAtLXVuc2hhbGxvdyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1MDUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjAzCiBtc2dpZCAiLS11bnNoYWxsb3cgb24gYSBjb21wbGV0ZSByZXBvc2l0b3J5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tdW5zaGFsbG93INC90LUg0LjQvNC10LXRgiDRgdC80YvRgdC70LAg0L3QsCDQv9C+0LvQvdC+0Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1MjEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjE5CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgdGFrZSBhIHJlcG9zaXRvcnkgYXJndW1lbnQiCiBtc2dzdHIgImZldGNoIC0tYWxsINC90LUg0L/RgNC40L3QuNC80LDQtdGCINC40LzRjyDRgNC10L/QvtC30LjRgtC+0YDQuNGPINC60LDQuiDQsNGA0LPRg9C80LXQvdGCIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTUyMworIzogYnVpbHRpbi9mZXRjaC5jOjE2MjEKIG1zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgImZldGNoIC0tYWxsINC90LUg0LjQvNC10LXRgiDRgdC80YvRgdC70LAg0L/RgNC4INGD0LrQsNC30LDQvdC40Lgg0YHQv9C10YbQuNGE0LjQutCw0YLQvtGA0L7QsiDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTMyCisjOiBidWlsdGluL2ZldGNoLmM6MTYzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgogbXNnc3RyICLQndC10YIg0YLQsNC60L7Qs9C+INCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyDQuNC70Lgg0LPRgNGD0L/Qv9GLOiAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1MzkKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjM3CiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICLQn9C+0LvRg9GH0LXQvdC40LUg0LPRgNGD0L/Qv9GLINC4INGD0LrQsNC30LDQvdC40LUg0YHQv9C10YbQuNGE0LjQutCw0YbQuNC5INGB0YHRi9C70L7QuiDQvdC1INC40LzQtdC10YIg0YHQvNGL0YHQu9CwIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzoxNworIzogYnVpbHRpbi9mZXRjaC5jOjE2NTMKK21zZ2lkICIiCisiLS1maWx0ZXIgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHRoZSByZW1vdGUgY29uZmlndXJlZCBpbiAiCisiZXh0ZW5zaW9ucy5wYXJ0aWFsY2xvbmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6MTgKIG1zZ2lkICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZXNzYWdlPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKIG1zZ3N0ciAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDzRgdC+0L7QsdGJ0LXQvdC40LU+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSA80YTQsNC50Ls+XSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzIKIG1zZ2lkICJwb3B1bGF0ZSBsb2cgd2l0aCBhdCBtb3N0IDxuPiBlbnRyaWVzIGZyb20gc2hvcnRsb2ciCiBtc2dzdHIgItC+0YLQv9GA0LDQstC40YLRjCDQsiDQttGD0YDQvdCw0LsgPG4+INC30LDQv9C40YHQtdC5INC40Lcg0LrQvtGA0L7RgtC60L7Qs9C+INC20YPRgNC90LDQu9CwIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzQKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NQogbXNnaWQgImFsaWFzIGZvciAtLWxvZyAoZGVwcmVjYXRlZCkiCiBtc2dzdHIgItGB0L7QutGA0LDRidC10L3QuNC1INC00LvRjyAtLWxvZyAo0YPRgdGC0LDRgNC10LLRiNC10LUpIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzcKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3OAogbXNnaWQgInRleHQiCiBtc2dzdHIgItGC0LXQutGB0YIiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3OAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc5CiBtc2dpZCAidXNlIDx0ZXh0PiBhcyBzdGFydCBvZiBtZXNzYWdlIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgPNGC0LXQutGB0YI+INC60LDQuiDQvdCw0YfQsNC70YzQvdC+0LUg0YHQvtC+0LHRidC10L3QuNC1IgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzkKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY4MAogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgogbXNnc3RyICLRhNCw0LnQuyDQtNC70Y8g0YfRgtC10L3QuNGPIgogCkBAIC05OTU5LDkwICsxMTg1NCwyNzEgQEAKIG1zZ2lkICJzaG93IG9ubHkgPG4+IG1hdGNoZWQgcmVmcyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDRgtC+0LvRjNC60L4gPG4+INGB0L7QstC/0LDQtNCw0Y7RidC40YUg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM5IGJ1aWx0aW4vdGFnLmM6NDIyCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM5IGJ1aWx0aW4vdGFnLmM6NDMzCiBtc2dpZCAicmVzcGVjdCBmb3JtYXQgY29sb3JzIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YbQstC10YLQsCDQuNC3INGE0L7RgNC80LDRgtCwIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQzCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQyCiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIHBvaW50cyBhdCB0aGUgZ2l2ZW4gb2JqZWN0IgogbXNnc3RyICLQstGL0LLQvtC0INGC0L7Qu9GM0LrQviDRgdGB0YvQu9C+0LosINC60L7RgtC+0YDRi9C1INGD0LrQsNC30YvQstCw0Y7RgiDQvdCwINC/0LXRgNC10LTQsNC90L3Ri9C5INC+0LHRitC10LrRgiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NAogbXNnaWQgInByaW50IG9ubHkgcmVmcyB0aGF0IGFyZSBtZXJnZWQiCiBtc2dzdHIgItCy0YvQstC+0LQg0YLQvtC70YzQutC+INGB0LvQuNGC0YvRhSDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDYKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAi0LLRi9Cy0L7QtCDRgtC+0LvRjNC60L4g0L3QtSDRgdC70LjRgtGL0YUg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ3CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAi0LLRi9Cy0L7QtCDRgtC+0LvRjNC60L4g0YHRgdGL0LvQvtC6LCDQutC+0YLQvtGA0YvQtSDRgdC+0LTQtdGA0LbQsNGCINC60L7QvNC80LjRgiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0OAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NwogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgItCy0YvQstC+0LQg0YLQvtC70YzQutC+INGB0YHRi9C70L7Quiwg0LrQvtGC0L7RgNGL0LUg0L3QtSDRgdC+0LTQtdGA0LbQsNGCINC60L7QvNC80LjRgiIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTc0CisjOiBidWlsdGluL2ZzY2suYzo4OCBidWlsdGluL2ZzY2suYzoxNjAgYnVpbHRpbi9mc2NrLmM6MTYxCittc2dpZCAidW5rbm93biIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZS5nLiBlcnJvciBpbiB0cmVlIDAxYmZkYTogPG1vcmUgZXhwbGFuYXRpb24+CisjOiBidWlsdGluL2ZzY2suYzoxMjAgYnVpbHRpbi9mc2NrLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGluICVzICVzOiAlcyIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZS5nLiB3YXJuaW5nIGluIHRyZWUgMDFiZmRhOiA8bW9yZSBleHBsYW5hdGlvbj4KKyM6IGJ1aWx0aW4vZnNjay5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nIGluICVzICVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzoxNTcgYnVpbHRpbi9mc2NrLmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgImJyb2tlbiBsaW5rIGZyb20gJTdzICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjE2OAorbXNnaWQgIndyb25nIG9iamVjdCB0eXBlIGluIGxpbmsiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJicm9rZW4gbGluayBmcm9tICU3cyAlc1xuIgorIiAgICAgICAgICAgICAgdG8gJTdzICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nICVzICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSAlcyAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGFuZ2xpbmcgJXMgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6MzQ5Cittc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsb3N0LWZvdW5kIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZmluaXNoICclcyciCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC60L7QvdGH0LjRgtGMICclcyciCisKKyM6IGJ1aWx0aW4vZnNjay5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5ICglZCBvYmplY3RzKSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgJXMgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NDM4Cittc2dpZCAiYnJva2VuIGxpbmtzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICJyb290ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWdnZWQgJXMgJXMgKCVzKSBpbiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBjb3JydXB0IG9yIG1pc3NpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHJlZmxvZyBlbnRyeSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo1MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgcmVmbG9nICVzLT4lcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgc2hhMSBwb2ludGVyICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjU2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYxOQorbXNnaWQgIm5vdGljZTogTm8gZGVmYXVsdCByZWZlcmVuY2VzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZzogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgY291bGQgbm90IGJlIHBhcnNlZDogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NjY3CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzaGExIGZpbGU6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY4MgorbXNnaWQgIkNoZWNraW5nIG9iamVjdCBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6Njg1CiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yaWVzIgogbXNnc3RyICLQn9GA0L7QstC10YDQutCwINC60LDRgtCw0LvQvtCz0L7QsiDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL2ZzY2suYzo2NjYKKyM6IGJ1aWx0aW4vZnNjay5jOjcwMAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyAlcyBsaW5rIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjcwNSBidWlsdGluL2luZGV4LXBhY2suYzo4NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCAlcyIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5ICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo3MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcG9pbnRzIHRvIHNvbWV0aGluZyBzdHJhbmdlICglcykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2hlZCBIRUFEIHBvaW50cyBhdCBub3RoaW5nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjcyMgorIywgYy1mb3JtYXQKK21zZ2lkICJub3RpY2U6ICVzIHBvaW50cyB0byBhbiB1bmJvcm4gYnJhbmNoICglcykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NzM0Cittc2dpZCAiQ2hlY2tpbmcgY2FjaGUgdHJlZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgc2hhMSBwb2ludGVyIGluIGNhY2hlLXRyZWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6NzUwCittc2dpZCAibm9uLXRyZWUgaW4gY2FjaGUtdHJlZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ZzY2suYzo3ODEKIG1zZ2lkICJnaXQgZnNjayBbPG9wdGlvbnM+XSBbPG9iamVjdD4uLi5dIgogbXNnc3RyICJnaXQgZnNjayBbPNC+0L/RhtC40Lg+XSBbPNC+0LHRitC10LrRgj7igKZdIgogCi0jOiBidWlsdGluL2ZzY2suYzo2NzIKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NwogbXNnaWQgInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQvdC10LTQvtGB0YLRg9C/0L3Ri9C1INC+0LHRitC10LrRgtGLIgogCi0jOiBidWlsdGluL2ZzY2suYzo2NzMKKyM6IGJ1aWx0aW4vZnNjay5jOjc4OAogbXNnaWQgInNob3cgZGFuZ2xpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQvtCx0YrQtdC60YLRiywg0L3QsCDQutC+0YLQvtGA0YvQtSDQvdC10YIg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL2ZzY2suYzo2NzQKKyM6IGJ1aWx0aW4vZnNjay5jOjc4OQogbXNnaWQgInJlcG9ydCB0YWdzIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQvtGC0YfQtdGCINC/0L4g0LzQtdGC0LrQsNC8IgogCi0jOiBidWlsdGluL2ZzY2suYzo2NzUKKyM6IGJ1aWx0aW4vZnNjay5jOjc5MAogbXNnaWQgInJlcG9ydCByb290IG5vZGVzIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQvtGC0YfQtdGCINC/0L4g0LrQvtGA0L3QtdCy0YvQvCDRg9C30LvQsNC8IgogCi0jOiBidWlsdGluL2ZzY2suYzo2NzYKKyM6IGJ1aWx0aW4vZnNjay5jOjc5MQogbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgogbXNnc3RyICLQstC+0YHQv9GA0LjQvdC40LzQsNGC0Ywg0L7QsdGK0LXQutGC0Ysg0LIg0LjQvdC00LXQutGB0LUg0LrQsNC6INC60L7RgNC90LXQstGL0LUg0YPQt9C70YsiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjY3NworIzogYnVpbHRpbi9mc2NrLmM6NzkyCiBtc2dpZCAibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIgogbXNnc3RyICLRgdC+0LfQtNCw0YLRjCDQutC+0YDQvdC10LLRi9C1INGD0LfQu9GLINC20YPRgNC90LDQu9C+0LIg0YHRgdGL0LvQvtC6ICjQv9C+INGD0LzQvtC70YfQsNC90LjRjikiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjY3OAorIzogYnVpbHRpbi9mc2NrLmM6NzkzCiBtc2dpZCAiYWxzbyBjb25zaWRlciBwYWNrcyBhbmQgYWx0ZXJuYXRlIG9iamVjdHMiCiBtc2dzdHIgItGC0LDQutC20LUg0L/RgNC+0LLQtdGA0Y/RgtGMINC/0LDQutC10YLRiyDQuCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3Ri9C1INC+0LHRitC10LrRgtGLIgogCi0jOiBidWlsdGluL2ZzY2suYzo2NzkKKyM6IGJ1aWx0aW4vZnNjay5jOjc5NAogbXNnaWQgImNoZWNrIG9ubHkgY29ubmVjdGl2aXR5IgogbXNnc3RyICLRgtC+0LvRjNC60L4g0L/RgNC+0LLQtdGA0LjRgtGMINGB0L7QtdC00LjQvdC10L3QuNC1IgogCi0jOiBidWlsdGluL2ZzY2suYzo2ODAKKyM6IGJ1aWx0aW4vZnNjay5jOjc5NQogbXNnaWQgImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINCx0L7Qu9C10LUg0YHRgtGA0L7Qs9GD0Y4g0L/RgNC+0LLQtdGA0LrRgyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NjgyCisjOiBidWlsdGluL2ZzY2suYzo3OTcKIG1zZ2lkICJ3cml0ZSBkYW5nbGluZyBvYmplY3RzIGluIC5naXQvbG9zdC1mb3VuZCIKIG1zZ3N0ciAi0LfQsNC/0LjRgdCw0YLRjCDQvtCx0YrQtdC60YLRiyDQvdCwINC60L7RgtC+0YDRi9C1INC90LXRgiDRgdGB0YvQu9C+0Log0LIgLmdpdC9sb3N0LWZvdW5kIgogCi0jOiBidWlsdGluL2ZzY2suYzo2ODMgYnVpbHRpbi9wcnVuZS5jOjExMAorIzogYnVpbHRpbi9mc2NrLmM6Nzk4IGJ1aWx0aW4vcHJ1bmUuYzoxMzIKIG1zZ2lkICJzaG93IHByb2dyZXNzIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC/0YDQvtCz0YDQtdGB0YEg0LLRi9C/0L7Qu9C90LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjY4NAorIzogYnVpbHRpbi9mc2NrLmM6Nzk5CiBtc2dpZCAic2hvdyB2ZXJib3NlIG5hbWVzIGZvciByZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQv9C+0LTRgNC+0LHQvdGL0LUg0LjQvNC10L3QsCDQtNC70Y8g0L3QtdC00L7RgdGC0YPQv9C90YvRhSDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL2ZzY2suYzo3NTAKKyM6IGJ1aWx0aW4vZnNjay5jOjg1OSBidWlsdGluL2luZGV4LXBhY2suYzoyMjQKIG1zZ2lkICJDaGVja2luZyBvYmplY3RzIgogbXNnc3RyICLQn9GA0L7QstC10YDQutCwINC+0LHRitC10LrRgtC+0LIiCiAKKyM6IGJ1aWx0aW4vZnNjay5jOjg4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2JqZWN0IG1pc3NpbmciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9mc2NrLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcGFyYW1ldGVyOiBleHBlY3RlZCBzaGExLCBnb3QgJyVzJyIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGluL2djLmM6MzQKIG1zZ2lkICJnaXQgZ2MgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBnYyBbPNC+0L/RhtC40Lg+XSIKQEAgLTEwMDUyLDEyICsxMjEyOCwyMiBAQAogbXNnaWQgIkZhaWxlZCB0byBmc3RhdCAlczogJXMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIGZzdGF0ICVzOiAlcyIKIAotIzogYnVpbHRpbi9nYy5jOjQ1NQorIzogYnVpbHRpbi9nYy5jOjEyNgogIywgYy1mb3JtYXQKLW1zZ2lkICJDYW4ndCBzdGF0ICVzIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCBzdGF0INC00LvRjyAlcyIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJyVzJyB2YWx1ZSAnJXMnIgorbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0NjQKKyM6IGJ1aWx0aW4vZ2MuYzo0NzYgYnVpbHRpbi9pbml0LWRiLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywgc3RhdCDQtNC70Y8gwqslc8K7IgorCisjOiBidWlsdGluL2djLmM6NDg1IGJ1aWx0aW4vbm90ZXMuYzoyNDAgYnVpbHRpbi90YWcuYzo1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywgwqslc8K7IgorCisjOiBidWlsdGluL2djLmM6NDkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbGFzdCBnYyBydW4gcmVwb3J0ZWQgdGhlIGZvbGxvd2luZy4gUGxlYXNlIGNvcnJlY3QgdGhlIHJvb3QgY2F1c2VcbiIKQEAgLTEwMDY3LDczICsxMjE1Myw3MyBAQAogIiVzIgogbXNnc3RyICLQn9C+0YHQu9C10LTQvdC40Lkg0LfQsNC/0YPRgdC6IGdjINGB0L7QvtCx0YnQuNC7INGB0LvQtdC00YPRjtGJ0LXQtS4g0J/QvtC20LDQu9GD0LnRgdGC0LAsINC40YHQv9GA0LDQstGM0YLQtSDQvtGI0LjQsdC60YMg0Lgg0YPQtNCw0LvQuNGC0LUgJXMuXG7QkNCy0YLQvtC80LDRgtC40YfQtdGB0LrQsNGPINC+0YfQuNGB0YLQutCwINGA0LXQv9C+0LfQuNGC0L7RgNC40Y8g0L3QtSDQsdGD0LTQtdGCINC/0YDQvtC40LfQstC+0LTQuNGC0YzRgdGPLCDQv9C+0LrQsCDRjdGC0L7RgiDRhNCw0LnQuyDQvdC1INGD0LTQsNC70ZHQvS5cblxuJXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MDUKKyM6IGJ1aWx0aW4vZ2MuYzo1NDAKIG1zZ2lkICJwcnVuZSB1bnJlZmVyZW5jZWQgb2JqZWN0cyIKIG1zZ3N0ciAi0L/QvtGH0LjRgdGC0LjRgtGMINC+0LHRitC10LrRgtGLLCDQvdCwINC60L7RgtC+0YDRi9C1INC90LXRgiDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MDcKKyM6IGJ1aWx0aW4vZ2MuYzo1NDIKIG1zZ2lkICJiZSBtb3JlIHRob3JvdWdoIChpbmNyZWFzZWQgcnVudGltZSkiCiBtc2dzdHIgItC/0YDQvtCy0LXRgNGP0YLRjCDQsdC+0LvQtdC1INCy0L3QuNC80LDRgtC10LvRjNC90L4gKNC30LDQvdC40LzQsNC10YIg0LHQvtC70YzRiNC1INCy0YDQtdC80LXQvdC4KSIKIAotIzogYnVpbHRpbi9nYy5jOjUwOAorIzogYnVpbHRpbi9nYy5jOjU0MwogbXNnaWQgImVuYWJsZSBhdXRvLWdjIG1vZGUiCiBtc2dzdHIgItCy0LrQu9GO0YfQuNGC0Ywg0YDQtdC20LjQvCBhdXRvLWdjIgogCi0jOiBidWlsdGluL2djLmM6NTExCisjOiBidWlsdGluL2djLmM6NTQ2CiBtc2dpZCAiZm9yY2UgcnVubmluZyBnYyBldmVuIGlmIHRoZXJlIG1heSBiZSBhbm90aGVyIGdjIHJ1bm5pbmciCiBtc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+INC30LDQv9GD0YHRgtC40YLRjCBnYywg0LTQsNC20LUg0LXRgdGC0Ywg0LTRgNGD0LPQsNGPINC60L7Qv9C40Y8gZ2Mg0YPQttC1INC30LDQv9GD0YnQtdC90LAiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MTQKKyM6IGJ1aWx0aW4vZ2MuYzo1NDkKIG1zZ2lkICJyZXBhY2sgYWxsIG90aGVyIHBhY2tzIGV4Y2VwdCB0aGUgbGFyZ2VzdCBwYWNrIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MzEKKyM6IGJ1aWx0aW4vZ2MuYzo1NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdjLmxvZ2V4cGlyeSB2YWx1ZSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2djLmM6NTQyCisjOiBidWlsdGluL2djLmM6NTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwcnVuZSBleHBpcnkgdmFsdWUgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9nYy5jOjU2MgorIzogYnVpbHRpbi9nYy5jOjU5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgaW4gYmFja2dyb3VuZCBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKIG1zZ3N0ciAi0JDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LDRjyDRg9C/0LDQutC+0LLQutCwINGA0LXQv9C+0LfQuNGC0L7RgNC40Y8g0LIg0YTQvtC90LUsINC00LvRjyDQvtC/0YLQuNC80LDQu9GM0L3QvtC5INC/0YDQvtC40LfQstC+0LTQuNGC0LXQu9GM0L3QvtGB0YLQuC5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjU2NAorIzogYnVpbHRpbi9nYy5jOjU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCiBtc2dzdHIgItCQ0LLRgtC+0LzQsNGC0LjRh9C10YHQutCw0Y8g0YPQv9Cw0LrQvtCy0LrQsCDRgNC10L/QvtC30LjRgtC+0YDQuNGPLCDQtNC70Y8g0L7Qv9GC0LjQvNCw0LvRjNC90L7QuSDQv9GA0L7QuNC30LLQvtC00LjRgtC10LvRjNC90L7RgdGC0LguXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1NjUKKyM6IGJ1aWx0aW4vZ2MuYzo2MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VlIFwiZ2l0IGhlbHAgZ2NcIiBmb3IgbWFudWFsIGhvdXNla2VlcGluZy5cbiIKIG1zZ3N0ciAi0KHQvNC+0YLRgNC40YLQtSDCq2dpdCBoZWxwIGdjwrsg0YDRg9C60L7QstC+0LTRgdGC0LLQsCDQv9C+INGA0YPRh9C90L7QuSDQvtGH0LjRgdGC0LrQtS5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjYwMQorIzogYnVpbHRpbi9nYy5jOjY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZ2MgaXMgYWxyZWFkeSBydW5uaW5nIG9uIG1hY2hpbmUgJyVzJyBwaWQgJTxQUkl1TUFYPiAodXNlIC0tZm9yY2UgaWYgbm90KSIKIG1zZ3N0ciAiZ2Mg0YPQttC1INC30LDQv9GD0YnQtdC9INC90LAg0Y3RgtC+0Lwg0LrQvtC80L/RjNGO0YLQtdGA0LUgwqslc8K7IHBpZCAlPFBSSXVNQVg+ICjQtdGB0LvQuCDQvdC10YIsINC40YHQv9C+0LvRjNC30YPQudGC0LUgLS1mb3JjZSkiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo2NTIKKyM6IGJ1aWx0aW4vZ2MuYzo2OTMKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgIgogInRoZW0uIgogbXNnc3RyICLQmNC80LXQtdGC0YHRjyDRgdC70LjRiNC60L7QvCDQvNC90L7Qs9C+INC+0LHRitC10LrRgtC+0LIsINC90LAg0LrQvtGC0L7RgNGL0LUg0L3QtdGCINGB0YHRi9C70L7Qujsg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IHBydW5lwrsg0LTQu9GPINC40YUg0YPQtNCw0LvQtdC90LjRjy4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI4CisjOiBidWlsdGluL2dyZXAuYzoyOQogbXNnaWQgImdpdCBncmVwIFs8b3B0aW9ucz5dIFstZV0gPHBhdHRlcm4+IFs8cmV2Pi4uLl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGdyZXAgWzzQvtC/0YbQuNC4Pl0gWy1lXSA80YjQsNCx0LvQvtC9PiBbPNGA0LXQtNCw0LrRhtC40Y8+4oCmXSBbWy0tXSA80L/Rg9GC0Yw+4oCmXSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjI2CisjOiBidWlsdGluL2dyZXAuYzoyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ3JlcDogZmFpbGVkIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJncmVwOiDRgdCx0L7QuSDRgdC+0LfQtNCw0L3QuNGPINC/0L7RgtC+0LrQsDogJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI4NAorIzogYnVpbHRpbi9ncmVwLmM6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkgZm9yICVzIgogbXNnc3RyICLRg9C60LDQt9Cw0L3QviDQvdC10LTQvtC/0YPRgdGC0LjQvNC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0L/QvtGC0L7QutC+0LIgKCVkKSDQtNC70Y8gJXMiCkBAIC0xMDE0MSwyODkgKzEyMjI3LDI5NyBAQAogIy4gVFJBTlNMQVRPUlM6ICVzIGlzIHRoZSBjb25maWd1cmF0aW9uCiAjLiB2YXJpYWJsZSBmb3IgdHdlYWtpbmcgdGhyZWFkcywgY3VycmVudGx5CiAjLiBncmVwLnRocmVhZHMKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI5MyBidWlsdGluL2luZGV4LXBhY2suYzoxNTM2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MjgKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYzOQorIzogYnVpbHRpbi9ncmVwLmM6Mjg3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MTQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcwNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCiBtc2dzdHIgItC90LXRgiDQv9C+0LTQtNC10YDQttC60Lgg0L/QvtGC0L7QutC+0LIsINC40LPQvdC+0YDQuNGA0L7QstCw0L3QuNC1ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo0NjEgYnVpbHRpbi9ncmVwLmM6NTgyIGJ1aWx0aW4vZ3JlcC5jOjYyMworIzogYnVpbHRpbi9ncmVwLmM6NDY2IGJ1aWx0aW4vZ3JlcC5jOjU5MCBidWlsdGluL2dyZXAuYzo2MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgdHJlZSAoJXMpIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQtNC10YDQtdCy0L4gKCVzKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjM4CisjOiBidWlsdGluL2dyZXAuYzo2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0YwgZ3JlcCDQuNC3INC+0LHRitC10LrRgtCwINGC0LjQv9CwICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAIMKrJWPCuyDQvtC20LjQtNCw0LXRgiDRh9C40YHQu9C+0LLQvtC1INC30L3QsNGH0LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc5MQorIzogYnVpbHRpbi9ncmVwLmM6ODExCiBtc2dpZCAic2VhcmNoIGluIGluZGV4IGluc3RlYWQgb2YgaW4gdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAi0LjRgdC60LDRgtGMINCyINC40L3QtNC10LrRgdC1LCDQsCDQvdC1INCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjc5MworIzogYnVpbHRpbi9ncmVwLmM6ODEzCiBtc2dpZCAiZmluZCBpbiBjb250ZW50cyBub3QgbWFuYWdlZCBieSBnaXQiCiBtc2dzdHIgItC40YHQutCw0YLRjCDQsiDRgdC+0LTQtdGA0LbQuNC80L7QvCDQvdC1INGD0L/RgNCw0LLQu9GP0LXQvNGL0LwgZ2l0IgogCi0jOiBidWlsdGluL2dyZXAuYzo3OTUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxNQogbXNnaWQgInNlYXJjaCBpbiBib3RoIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi0LjRgdC60LDRgtGMINC4INCyINC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFLCDQuCDQsiDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUg0YTQsNC50LvQsNGFIgogCi0jOiBidWlsdGluL2dyZXAuYzo3OTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxNwogbXNnaWQgImlnbm9yZSBmaWxlcyBzcGVjaWZpZWQgdmlhICcuZ2l0aWdub3JlJyIKIG1zZ3N0ciAi0LjQs9C90L7RgNC40YDQvtCy0LDRgtGMINGE0LDQudC70Ysg0YPQutCw0LfQsNC90L3Ri9C1INCyIMKrLmdpdGlnbm9yZcK7IgogCi0jOiBidWlsdGluL2dyZXAuYzo3OTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxOQogbXNnaWQgInJlY3Vyc2l2ZWx5IHNlYXJjaCBpbiBlYWNoIHN1Ym1vZHVsZSIKIG1zZ3N0ciAi0YDQtdC60YPRgNGB0LjQstC90YvQuSDQv9C+0LjRgdC6INC/0L4g0LLRgdC10Lwg0L/QvtC00LzQvtC00YPQu9GP0LwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgwMgorIzogYnVpbHRpbi9ncmVwLmM6ODIyCiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgItC40YHQutCw0YLRjCDQsiDQvdC10YHQvtCy0L/QsNC00LDRjtGJ0LjRhSDRgdGC0YDQvtC60LDRhSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODA0CisjOiBidWlsdGluL2dyZXAuYzo4MjQKIG1zZ2lkICJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIgogbXNnc3RyICLQsdC10Lcg0YPRh9C10YLQsCDRgNC10LPQuNGB0YLRgNCwIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyNgogbXNnaWQgIm1hdGNoIHBhdHRlcm5zIG9ubHkgYXQgd29yZCBib3VuZGFyaWVzIgogbXNnc3RyICLQuNGB0LrQsNGC0Ywg0YHQvtCy0L/QsNC00LXQvdC40Y8g0YjQsNCx0LvQvtC90LAg0YLQvtC70YzQutC+INC90LAg0LPRgNCw0L3QuNGG0LDRhSDRgdC70L7QsiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODA4CisjOiBidWlsdGluL2dyZXAuYzo4MjgKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyB0ZXh0IgogbXNnc3RyICLQvtCx0YDQsNCx0L7RgtC60LAg0LTQstC+0LjRh9C90YvRhSDRhNCw0LnQu9C+0LIg0LrQsNC6INGC0LXQutGB0YLQsCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODEwCisjOiBidWlsdGluL2dyZXAuYzo4MzAKIG1zZ2lkICJkb24ndCBtYXRjaCBwYXR0ZXJucyBpbiBiaW5hcnkgZmlsZXMiCiBtc2dzdHIgItC90LUg0LjRgdC60LDRgtGMINGB0L7QstC/0LDQtNC10L3QuNGPINGI0LDQsdC70L7QvdCwINCyINC00LLQvtC40YfQvdGL0YUg0YTQsNC50LvQsNGFIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzMwogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKIG1zZ3N0ciAi0L7QsdGA0LDQsdCw0YLRi9Cy0LDRgtGM0YHRjyDQtNCy0L7QuNGH0L3Ri9C1INGE0LDQudC70Ysg0YEg0L/QvtC80L7RidGM0Y4g0YTQuNC70YzRgtGA0L7QsiB0ZXh0Y29udiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODE1CisjOiBidWlsdGluL2dyZXAuYzo4MzUKK21zZ2lkICJzZWFyY2ggaW4gc3ViZGlyZWN0b3JpZXMgKGRlZmF1bHQpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzNwogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAi0L3QsCDQs9C70YPQsdC40L3QtSDQvNCw0LrRgdC40LzRgyA80LPQu9GD0LHQuNC90LA+INGD0YDQvtCy0L3QtdC5IgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0MQogbXNnaWQgInVzZSBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YDQsNGB0YjQuNGA0LXQvdC90YvQtSDRgNC10LPRg9C70Y/RgNC90YvQtSDQstGL0YDQsNC20LXQvdC40Y8gUE9TSVgiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgyMgorIzogYnVpbHRpbi9ncmVwLmM6ODQ0CiBtc2dpZCAidXNlIGJhc2ljIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMgKGRlZmF1bHQpIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LHQsNC30L7QstGL0LUg0YDQtdCz0YPQu9GP0YDQvdGL0LUg0LLRi9GA0LDQttC10L3QuNGPIFBPU0lYICjQv9C+INGD0LzQvtC70YfQsNC90LjRjikiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgyNQorIzogYnVpbHRpbi9ncmVwLmM6ODQ3CiBtc2dpZCAiaW50ZXJwcmV0IHBhdHRlcm5zIGFzIGZpeGVkIHN0cmluZ3MiCiBtc2dzdHIgItC40L3RgtC10YDQv9GA0LXRgtC40YDQvtCy0LDRgtGMINGI0LDQsdC70L7QvdGLINC60LDQuiDRhNC40LrRgdC40YDQvtCy0LDQvdC90YvQtSDRgdGC0YDQvtC60LgiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgyOAorIzogYnVpbHRpbi9ncmVwLmM6ODUwCiBtc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgUGVybC3RgdC+0LLQvNC10YHRgtC40LzRi9C1INGA0LXQs9GD0LvRj9GA0L3Ri9C1INCy0YvRgNCw0LbQtdC90LjRjyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODMxCisjOiBidWlsdGluL2dyZXAuYzo4NTMKIG1zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0L3QvtC80LXRgNCwINGB0YLRgNC+0LoiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgzMgorIzogYnVpbHRpbi9ncmVwLmM6ODU0CiBtc2dpZCAic2hvdyBjb2x1bW4gbnVtYmVyIG9mIGZpcnN0IG1hdGNoIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgzMworIzogYnVpbHRpbi9ncmVwLmM6ODU1CiBtc2dpZCAiZG9uJ3Qgc2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgItC90LUg0LLRi9Cy0L7QtNC40YLRjCDQuNC80LXQvdCwINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODM0CisjOiBidWlsdGluL2dyZXAuYzo4NTYKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDQuNC80LXQvdCwINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODM2CisjOiBidWlsdGluL2dyZXAuYzo4NTgKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICLQstGL0LLQvtC00LjRgtGMINC40LzQtdC90LAg0YTQsNC50LvQvtCyINC+0YLQvdC+0YHQuNGC0LXQu9GM0L3QviDQutCw0YLQsNC70L7Qs9CwINGA0LXQv9C+0LfQuNGC0L7RgNC40Y8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgzOAorIzogYnVpbHRpbi9ncmVwLmM6ODYwCiBtc2dpZCAic2hvdyBvbmx5IGZpbGVuYW1lcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICLQstGL0LLQvtC00LjRgtGMINGC0L7Qu9GM0LrQviDQuNC80LXQvdCwINGE0LDQudC70L7Qsiwg0LAg0L3QtSDRgdC+0LLQv9Cw0LTQsNGO0YnQuNC1INGB0YLRgNC+0LrQuCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQwCisjOiBidWlsdGluL2dyZXAuYzo4NjIKIG1zZ2lkICJzeW5vbnltIGZvciAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIG1zZ3N0ciAi0YHQuNC90L7QvdC40Lwg0LTQu9GPIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2NQogbXNnaWQgInNob3cgb25seSB0aGUgbmFtZXMgb2YgZmlsZXMgd2l0aG91dCBtYXRjaCIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDRgtC+0LvRjNC60L4g0L3QtdGB0L7QstC/0LDQtNCw0Y7RidC40LUg0LjQvNC10L3QsCDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0NQorIzogYnVpbHRpbi9ncmVwLmM6ODY3CiBtc2dpZCAicHJpbnQgTlVMIGFmdGVyIGZpbGVuYW1lcyIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDQtNCy0L7QuNGH0L3Ri9C5INCd0J7Qm9CsINC/0L7RgdC70LUg0YHQv9C40YHQutCwINC40LzQtdC9INGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ4CisjOiBidWlsdGluL2dyZXAuYzo4NzAKIG1zZ2lkICJzaG93IG9ubHkgbWF0Y2hpbmcgcGFydHMgb2YgYSBsaW5lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg1MAorIzogYnVpbHRpbi9ncmVwLmM6ODcyCiBtc2dpZCAic2hvdyB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDQutC+0LvQuNGH0LXRgdGC0LLQviDRgdC+0LLQv9Cw0LTQtdC90LjQuSwg0LAg0L3QtSDRgdC+0LLQv9Cw0LTQsNGO0YnQuNC1INGB0YLRgNC+0LrQuCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODUxCisjOiBidWlsdGluL2dyZXAuYzo4NzMKIG1zZ2lkICJoaWdobGlnaHQgbWF0Y2hlcyIKIG1zZ3N0ciAi0L/QvtC00YHQstC10YfQuNCy0LDRgtGMINGB0L7QstC/0LDQtNC10L3QuNGPIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NQogbXNnaWQgInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIgogbXNnc3RyICLQstGL0LLQvtC00LjRgtGMINC/0YPRgdGC0YPRjiDRgdGC0YDQvtC60YMg0L/QvtGB0LvQtSDRgdC+0LLQv9Cw0LTQtdC90LjQuSDQuNC3INGA0LDQt9C90YvRhSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg1NQorIzogYnVpbHRpbi9ncmVwLmM6ODc3CiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDQuNC80Y8g0YTQsNC50LvQsCDRgtC+0LvRjNC60L4g0YDQsNC3INC90LAg0L3QtdGB0LrQvtC70YzQutC+INGB0L7QstC/0LDQtNC10L3QuNC5INCyINC+0LTQvdC+0Lwg0YTQsNC50LvQtSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODU4CisjOiBidWlsdGluL2dyZXAuYzo4ODAKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBhbmQgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCA8bj4g0YHRgtGA0L7QuiDQutC+0L3RgtC10LrRgdGC0LAg0L/QtdGA0LXQtCDQuCDQv9C+0YHQu9C1INGB0L7QstC/0LDQtNC10L3QuNGPIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg4MwogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0YwgPG4+INGB0YLRgNC+0Log0LrQvtC90YLQtdC60YHRgtCwINC/0LXRgNC10LQg0YHQvtCy0L/QsNC00LXQvdC40LXQvCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODYzCisjOiBidWlsdGluL2dyZXAuYzo4ODUKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0YwgPG4+INGB0YLRgNC+0Log0LrQvtC90YLQtdC60YHRgtCwINC/0L7RgdC70LUg0YHQvtCy0L/QsNC00LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2NQorIzogYnVpbHRpbi9ncmVwLmM6ODg3CiBtc2dpZCAidXNlIDxuPiB3b3JrZXIgdGhyZWFkcyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMIDzQutC+0Ls+INGA0LDQsdC+0YfQuNGFINC/0L7RgtC+0LrQvtCyIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg4OAogbXNnaWQgInNob3J0Y3V0IGZvciAtQyBOVU0iCiBtc2dzdHIgItGC0L7QttC1LCDRh9GC0L4g0LggLUMg0JrQntCb0JjQp9CV0KHQotCS0J4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2OQorIzogYnVpbHRpbi9ncmVwLmM6ODkxCiBtc2dpZCAic2hvdyBhIGxpbmUgd2l0aCB0aGUgZnVuY3Rpb24gbmFtZSBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDRgdGC0YDQvtC60YMg0YEg0LjQvNC10L3QtdC8INGE0YPQvdC60YbQuNC4INC/0LXRgNC10LQg0YHQvtCy0L/QsNC00LXQvdC40LXQvCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODcxCisjOiBidWlsdGluL2dyZXAuYzo4OTMKIG1zZ2lkICJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQvtC60YDRg9C20LDRjtGJ0YPRjiDRhNGD0L3QutGG0LjRjiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc0CisjOiBidWlsdGluL2dyZXAuYzo4OTYKIG1zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKIG1zZ3N0ciAi0L/RgNC+0YfQuNGC0LDRgtGMINGI0LDQsdC70L7QvdGLINC40Lcg0YTQsNC50LvQsCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc2CisjOiBidWlsdGluL2dyZXAuYzo4OTgKIG1zZ2lkICJtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgItC/0L7QuNGB0Log0YHQvtC+0YLQstC10YLRgdGC0LLQuNC5INGBIDzRiNCw0LHQu9C+0L3QvtC8PiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc4CisjOiBidWlsdGluL2dyZXAuYzo5MDAKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICLQvtCx0YrQtdC00LjQvdC40YLRjCDRiNCw0LHQu9C+0L3RiyDRg9C60LDQt9Cw0L3QvdGL0LUg0YEg0L/QvtC80L7RidGM0Y4gLWUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg5MAorIzogYnVpbHRpbi9ncmVwLmM6OTEyCiBtc2dpZCAiaW5kaWNhdGUgaGl0IHdpdGggZXhpdCBzdGF0dXMgd2l0aG91dCBvdXRwdXQiCiBtc2dzdHIgItC90LjRh9C10LPQviDQvdC1INCy0YvQstC+0LTQuNGC0YwsINGD0LrQsNC30LDRgtGMINC90LAg0YHQvtCy0L/QsNC00LXQvdC40LUg0YEg0L/QvtC80L7RidGM0Y4g0LrQvtC00LAg0LLRi9GF0L7QtNCwIgogCi0jOiBidWlsdGluL2dyZXAuYzo4OTIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxNAogbXNnaWQgInNob3cgb25seSBtYXRjaGVzIGZyb20gZmlsZXMgdGhhdCBtYXRjaCBhbGwgcGF0dGVybnMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0YLQvtC70YzQutC+INGB0L7QstC/0LDQtNC10L3QuNGPINC40Lcg0YTQsNC50LvQvtCyINCyINC60L7RgtC+0YDRi9GFINGB0L7QstC/0LDQtNCw0Y7RgiDQstGB0LUg0YjQsNCx0LvQvtC90YsiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg5NAorIzogYnVpbHRpbi9ncmVwLmM6OTE2CiBtc2dpZCAic2hvdyBwYXJzZSB0cmVlIGZvciBncmVwIGV4cHJlc3Npb24iCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0LTQtdGA0LXQstC+INGA0LDQt9Cx0L7RgNCwINC00LvRjyDQstGL0YDQsNC20LXQvdC40Y8g0L/QvtC40YHQutCwIgogCi0jOiBidWlsdGluL2dyZXAuYzo4OTgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkyMAogbXNnaWQgInBhZ2VyIgogbXNnc3RyICLQv9C10LnQtNC20LXRgCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODk4CisjOiBidWlsdGluL2dyZXAuYzo5MjAKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDRgdC+0LLQv9Cw0LTQsNGO0YnQuNC1INGE0LDQudC70Ysg0YEg0L/QvtC80L7RidGM0Y4g0L/RgNC+0LPRgNCw0LzQvNGLLdC/0LXQudC00LbQtdGA0LAiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwMgorIzogYnVpbHRpbi9ncmVwLmM6OTI0CiBtc2dpZCAiYWxsb3cgY2FsbGluZyBvZiBncmVwKDEpIChpZ25vcmVkIGJ5IHRoaXMgYnVpbGQpIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0LLRi9C30L7QsiBncmVwKDEpICjQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y8g0LIg0Y3RgtC+0Lkg0YHQsdC+0YDQutC1KSIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTY2CisjOiBidWlsdGluL2dyZXAuYzo5ODgKIG1zZ2lkICJubyBwYXR0ZXJuIGdpdmVuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjQKIG1zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cyIKIG1zZ3N0ciAiLS1uby1pbmRleCDQuNC70LggLS11bnRyYWNrZWQg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0YEg0YPQutCw0LfQsNC90LjQtdC8INGA0LXQstC40LfQuNC4IgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDA5CisjOiBidWlsdGluL2dyZXAuYzoxMDMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZXNvbHZlIHJldmlzaW9uOiAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDRgNC10LTQsNC60YbQuNGOOiAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA0NCBidWlsdGluL2luZGV4LXBhY2suYzoxNTMyIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjYzNQorIzogYnVpbHRpbi9ncmVwLmM6MTA2MworbXNnaWQgImludmFsaWQgb3B0aW9uIGNvbWJpbmF0aW9uLCBpZ25vcmluZyAtLXRocmVhZHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9ncmVwLmM6MTA2NiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDMKK21zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nIC0tdGhyZWFkcyIKK21zZ3N0ciAi0L3QtdGCINC/0L7QtNC00LXRgNC20LrQuCDQv9C+0YLQvtC60L7Qsiwg0LjQs9C90L7RgNC40YDQvtCy0LDQvdC40LUgLS10aHJlYWRzIgorCisjOiBidWlsdGluL2dyZXAuYzoxMDY5IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MTEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCiBtc2dzdHIgItGD0LrQsNC30LDQvdC+INC90LXQv9GA0LDQstC40LvRjNC90L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQv9C+0YLQvtC60L7QsiAoJWQpIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDQ5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4OQotbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgLS10aHJlYWRzIgotbXNnc3RyICLQvdC10YIg0L/QvtC00LTQtdGA0LbQutC4INC/0L7RgtC+0LrQvtCyLCDQuNCz0L3QvtGA0LjRgNC+0LLQsNC90LjQtSAtLXRocmVhZHMiCi0KLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwOTIKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIi0tb3Blbi1maWxlcy1pbi1wYWdlciDRgNCw0LHQvtGC0LDQtdGCINGC0L7Qu9GM0LrQviDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1IgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDk2CisjOiBidWlsdGluL2dyZXAuYzoxMTE1CiBtc2dpZCAib3B0aW9uIG5vdCBzdXBwb3J0ZWQgd2l0aCAtLXJlY3Vyc2Utc3VibW9kdWxlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMTAyCisjOiBidWlsdGluL2dyZXAuYzoxMTIxCiBtc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExMDgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMjcKIG1zZ2lkICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBjYW5ub3QgYmUgdXNlZCBmb3IgdHJhY2tlZCBjb250ZW50cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMTE2CisjOiBidWlsdGluL2dyZXAuYzoxMTM1CiBtc2dpZCAiYm90aCAtLWNhY2hlZCBhbmQgdHJlZXMgYXJlIGdpdmVuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4NAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjg1CiBtc2dpZCAiIgogImdpdCBoYXNoLW9iamVjdCBbLXQgPHR5cGU+XSBbLXddIFstLXBhdGg9PGZpbGU+IHwgLS1uby1maWx0ZXJzXSBbLS1zdGRpbl0gIgogIlstLV0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgaGFzaC1vYmplY3QgWy10IDzRgtC40L8+XSBbLXddIFstLXBhdGg9PNGE0LDQudC7PiB8IC0tbm8tZmlsdGVyc10gWy0tc3RkaW5dIFstLV0gPNGE0LDQudC7PuKApiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjg1CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODYKIG1zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiBtc2dzdHIgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk3CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKIG1zZ2lkICJ0eXBlIgogbXNnc3RyICLRgtC40L8iCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5NworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4CiBtc2dpZCAib2JqZWN0IHR5cGUiCiBtc2dzdHIgItGC0LjQvyDQvtCx0YrQtdC60YLQsCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTkKIG1zZ2lkICJ3cml0ZSB0aGUgb2JqZWN0IGludG8gdGhlIG9iamVjdCBkYXRhYmFzZSIKIG1zZ3N0ciAi0LfQsNC/0LjRgdGMINC+0LHRitC10LrRgtCwINCyINCx0LDQt9GDINC00LDQvdC90YvRhSDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCiBtc2dpZCAicmVhZCB0aGUgb2JqZWN0IGZyb20gc3RkaW4iCiBtc2dzdHIgItC/0YDQvtGH0LjRgtCw0YLRjCDQvtCx0YrQtdC60YIg0LjQtyDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTQsCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMgorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMwogbXNnaWQgInN0b3JlIGZpbGUgYXMgaXMgd2l0aG91dCBmaWx0ZXJzIgogbXNnc3RyICLRgdC+0YXRgNCw0L3QuNGC0Ywg0YTQsNC50Lsg0LHQtdC3INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPINGE0LjQu9GM0YLRgNC+0LIiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDMKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDQKIG1zZ2lkICIiCiAianVzdCBoYXNoIGFueSByYW5kb20gZ2FyYmFnZSB0byBjcmVhdGUgY29ycnVwdCBvYmplY3RzIGZvciBkZWJ1Z2dpbmcgR2l0IgotbXNnc3RyICLRhdGN0YjQuNGA0L7QstCw0YLRjCDQu9GO0LHQvtC5INC80YPRgdC+0YAg0Lgg0YHQvtC30LTQsNCy0LDRgtGMINC/0L7QstGA0LXQttC00LXQvdC90YvQtSDQvtCx0YrQtdC60YLRiyDQtNC70Y8g0L7RgtC70LDQtNC60LggR2l0IgorbXNnc3RyICLRhdC10YjQuNGA0L7QstCw0YLRjCDQu9GO0LHQvtC5INC80YPRgdC+0YAg0Lgg0YHQvtC30LTQsNCy0LDRgtGMINC/0L7QstGA0LXQttC00LXQvdC90YvQtSDQvtCx0YrQtdC60YLRiyDQtNC70Y8g0L7RgtC70LDQtNC60LggR2l0IgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA1CiBtc2dpZCAicHJvY2VzcyBmaWxlIGFzIGl0IHdlcmUgZnJvbSB0aGlzIHBhdGgiCiBtc2dzdHIgItC+0LHRgNCw0LHQvtGC0LDRgtGMINGE0LDQudC7INGC0LDQuiwg0LHRg9C00YLQviDQvtC9INC90LDRhdC+0LTQuNGC0YHRjyDQv9C+INGD0LrQsNC30LDQvdC90L7QvNGDINC/0YPRgtC4IgogCkBAIC0xMDQ2Myw4NiArMTI1NTcsOTEgQEAKIG1zZ2lkICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFs8Y29tbWFuZD5dIgogbXNnc3RyICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFs80LrQvtC80LDQvdC00LA+XSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NzMKKyM6IGJ1aWx0aW4vaGVscC5jOjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWxwIGZvcm1hdCAnJXMnIgogbXNnc3RyICLQvdC10L7Qv9C+0LfQvdCw0L3QvdGL0Lkg0YTQvtGA0LzQsNGCINGA0YPQutC+0LLQvtC00YHRgtCy0LAgwqslc8K7IgogCi0jOiBidWlsdGluL2hlbHAuYzoxMDAKKyM6IGJ1aWx0aW4vaGVscC5jOjEwNAogbXNnaWQgIkZhaWxlZCB0byBzdGFydCBlbWFjc2NsaWVudC4iCiBtc2dzdHIgItCh0LHQvtC5INC/0YDQuCDQt9Cw0L/Rg9GB0LrQtSBlbWFjc2NsaWVudC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjExMworIzogYnVpbHRpbi9oZWxwLmM6MTE3CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVtYWNzY2xpZW50IHZlcnNpb24uIgogbXNnc3RyICLQodCx0L7QuSDQv9GA0Lgg0L7Qv9GA0LXQtNC10LvQtdC90LjQuCDQstC10YDRgdC40LggZW1hY3NjbGllbnQuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMjEKKyM6IGJ1aWx0aW4vaGVscC5jOjEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJlbWFjc2NsaWVudCB2ZXJzaW9uICclZCcgdG9vIG9sZCAoPCAyMikuIgogbXNnc3RyICLQstC10YDRgdC40Y8gZW1hY3NjbGllbnQgwqslZMK7INGB0LvQuNGI0LrQvtC8INGB0YLQsNGA0LDRjyAoPCAyMikuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMzkgYnVpbHRpbi9oZWxwLmM6MTYxIGJ1aWx0aW4vaGVscC5jOjE3MSBidWlsdGluL2hlbHAuYzoxNzkKKyM6IGJ1aWx0aW4vaGVscC5jOjE0MyBidWlsdGluL2hlbHAuYzoxNjUgYnVpbHRpbi9oZWxwLmM6MTc1IGJ1aWx0aW4vaGVscC5jOjE4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnIgogbXNnc3RyICLRgdCx0L7QuSDQv9GA0Lgg0LfQsNC/0YPRgdC60LUgwqslc8K7IgogCi0jOiBidWlsdGluL2hlbHAuYzoyMTcKKyM6IGJ1aWx0aW4vaGVscC5jOjIyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJzogcGF0aCBmb3IgdW5zdXBwb3J0ZWQgbWFuIHZpZXdlci5cbiIKICJQbGVhc2UgY29uc2lkZXIgdXNpbmcgJ21hbi48dG9vbD4uY21kJyBpbnN0ZWFkLiIKIG1zZ3N0ciAiwqslc8K7OiDQv9GD0YLRjCDQtNC70Y8g0L3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNC+0Lkg0L/RgNC+0LPRgNCw0LzQvNGLINC/0YDQvtGB0LzQvtGC0YDQsCBtYW4uXG7QktC80LXRgdGC0L4g0Y3RgtC+0LPQviDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrbWFuLjzQv9GA0L7Qs9GA0LDQvNC80LA+LmNtZMK7LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjI5CisjOiBidWlsdGluL2hlbHAuYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IGNtZCBmb3Igc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCiAiUGxlYXNlIGNvbnNpZGVyIHVzaW5nICdtYW4uPHRvb2w+LnBhdGgnIGluc3RlYWQuIgogbXNnc3RyICLCqyVzwrs6INC60L7QvNCw0L3QtNCwINC00LvRjyDQvdC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80L7QuSDQv9GA0L7Qs9GA0LDQvNC80Ysg0L/RgNC+0YHQvNC+0YLRgNCwIG1hbi5cbtCS0LzQtdGB0YLQviDRjdGC0L7Qs9C+INC40YHQv9C+0LvRjNC30YPQudGC0LUgwqttYW4uPNC/0YDQvtCz0YDQsNC80LzQsD4ucGF0aMK7LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzQ2CisjOiBidWlsdGluL2hlbHAuYzozNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5rbm93biBtYW4gdmlld2VyLiIKIG1zZ3N0ciAiwqslc8K7OiDQvdC10LjQt9Cy0LXRgdGC0L3QsNGPINC/0YDQvtCz0YDQsNC80LzQsCDQv9GA0L7RgdC80L7RgtGA0LAgbWFuLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzYzCisjOiBidWlsdGluL2hlbHAuYzozNjcKIG1zZ2lkICJubyBtYW4gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgItC/0YDQvtCz0YDQsNC80LzQsCDQv9GA0L7RgdC80L7RgtGA0LAgbWFuINC90LUg0L7QsdGA0LDQsdC+0YLQsNC70LAg0LfQsNC/0YDQvtGBIgogCi0jOiBidWlsdGluL2hlbHAuYzozNzEKKyM6IGJ1aWx0aW4vaGVscC5jOjM3NQogbXNnaWQgIm5vIGluZm8gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgItC/0YDQvtCz0YDQsNC80LzQsCDQv9GA0L7RgdC80L7RgtGA0LAgaW5mbyDQvdC1INC+0LHRgNCw0LHQvtGC0LDQu9CwINC30LDQv9GA0L7RgSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDE4CisjOiBidWlsdGluL2hlbHAuYzo0MzQgYnVpbHRpbi9oZWxwLmM6NDQ1IGdpdC5jOjMzNQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFsaWFzZWQgdG8gJyVzJyIKIG1zZ3N0ciAiwqslc8K7IOKAlCDRjdGC0L4g0YHQvtC60YDQsNGJ0LXQvdC40LUg0LTQu9GPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDQ1IGJ1aWx0aW4vaGVscC5jOjQ3NQorIzogYnVpbHRpbi9oZWxwLmM6NDQ4IGdpdC5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgYWxpYXMuJXMgc3RyaW5nOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2hlbHAuYzo0NzcgYnVpbHRpbi9oZWxwLmM6NTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyVzIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMlcyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDU5CisjOiBidWlsdGluL2hlbHAuYzo0OTEKIG1zZ2lkICInZ2l0IGhlbHAgY29uZmlnJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgdHlwZSBtaXNtYXRjaCBhdCAlcyIKIG1zZ3N0ciAi0L3QtdGB0L7QvtGC0LLQtdGC0YHRgtCy0LjQtSDRgtC40L/QsCDQvtCx0YrQtdC60YLQsCDQvdCwICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMjgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJkaWQgbm90IHJlY2VpdmUgZXhwZWN0ZWQgb2JqZWN0ICVzIgogbXNnc3RyICLQvtC20LjQtNCw0LXQvNGL0Lkg0L7QsdGK0LXQutGCINC90LUg0L/QvtC70YPRh9C10L0g0L3QsCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjMxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzOiBleHBlY3RlZCB0eXBlICVzLCBmb3VuZCAlcyIKIG1zZ3N0ciAi0L7QsdGK0LXQutGCICVzOiDQvtC20LjQtNCw0LXQvNGL0Lkg0YLQuNC/ICVzLCDQv9C+0LvRg9GH0LXQvSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjczCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCkBAIC0xMDU1MSw3MyArMTI2NTAsNzMgQEAKIG1zZ3N0clsyXSAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QvtC70L3QuNGC0YwgJWQg0LHQsNC50YLQvtCyIgogbXNnc3RyWzNdICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C+0LvQvdC40YLRjCAlZCDQsdCw0LnRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjY3CiBtc2dpZCAiZWFybHkgRU9GIgogbXNnc3RyICLQvdC10L7QttC40LTQsNC90L3Ri9C5INC60L7QvdC10YYg0YTQsNC50LvQsCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjg0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjgKIG1zZ2lkICJyZWFkIGVycm9yIG9uIGlucHV0IgogbXNnc3RyICLQvtGI0LjQsdC60LAg0YfRgtC10L3QuNGPINCy0LLQvtC00LAiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgwCiBtc2dpZCAidXNlZCBtb3JlIGJ5dGVzIHRoYW4gd2VyZSBhdmFpbGFibGUiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0L3QviDQsdC+0LvRjNGI0LUg0LHQsNC50YIsINGH0LXQvCDQsdGL0LvQviDQtNC+0YHRgtGD0L/QvdC+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMDMgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1OTAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4NyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjYwMAogbXNnaWQgInBhY2sgdG9vIGxhcmdlIGZvciBjdXJyZW50IGRlZmluaXRpb24gb2Ygb2ZmX3QiCiBtc2dzdHIgItC/0LDQutC10YIg0YHQu9C40YjQutC+0Lwg0LHQvtC70YzRiNC+0Lkg0LTQu9GPINGC0LXQutGD0YnQtdCz0L4g0L7Qv9GA0LXQtNC10LvQtdC90LjRjyBvZmZfdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzA2IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkwIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5NAogbXNnaWQgInBhY2sgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgc2l6ZSIKIG1zZ3N0ciAi0YDQsNC30LzQtdGAINC/0LDQutC10YLQsCDQv9GA0LXQstGL0YjQsNC10YIg0LzQsNC60YHQuNC80LDQu9GM0L3Ri9C5INC00L7Qv9GD0YHRgtC40LzRi9C5IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMjEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwNSBidWlsdGluL3JlcGFjay5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywgwqslc8K7IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBwYWNrZmlsZSAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMINGE0LDQudC7INC/0LDQutC10YLQsCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM0MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI1CiBtc2dpZCAicGFjayBzaWduYXR1cmUgbWlzbWF0Y2giCiBtc2dzdHIgItC90LXRgdC+0L7RgtCy0LXRgtGB0YLQstC40LUg0L/QvtC00L/QuNGB0Lgg0L/QsNC60LXRgtCwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozNDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIHZlcnNpb24gJTxQUkl1MzI+IHVuc3VwcG9ydGVkIgogbXNnc3RyICLQstC10YDRgdC40Y8g0L/QsNC60LXRgtCwICU8UFJJdTMyPiDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM2MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICU8UFJJdU1BWD46ICVzIgogbXNnc3RyICLQv9Cw0LrQtdGCINGB0L7QtNC10YDQttC40YIg0L/Qu9C+0YXQvtC5INC+0LHRitC10LrRgiDQv9C+INGB0LzQtdGJ0LXQvdC40Y4gJTxQUkl1TUFYPjogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ4MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImluZmxhdGUgcmV0dXJuZWQgJWQiCiBtc2dzdHIgItC/0YDQvtCz0YDQsNC80LzQsCDRgdC20LDRgtC40Y8g0LLQtdGA0L3Rg9C70LAgJWQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzMQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTE0CiBtc2dpZCAib2Zmc2V0IHZhbHVlIG92ZXJmbG93IGZvciBkZWx0YSBiYXNlIG9iamVjdCIKIG1zZ3N0ciAi0L/QtdGA0LXQv9C+0LvQvdC10L3QuNC1INC30L3QsNGH0LXQvdC40Y8g0YHQvNC10YnQtdC90LjRjyDRgyDQsdCw0LfQvtCy0L7Qs9C+INC+0LHRitC10LrRgtCwINC00LXQu9GM0YLRiyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTM5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjIKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBpcyBvdXQgb2YgYm91bmQiCiBtc2dzdHIgItGB0LzQtdGJ0LXQvdC40LUg0LHQsNC30L7QstC+0Lkg0LTQtdC70YzRgtGLINCy0YvRiNC70L4g0LfQsCDQtNC+0L/Rg9GB0YLQuNC80YvQtSDQv9GA0LXQtNC10LvRiyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvYmplY3QgdHlwZSAlZCIKIG1zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90YvQuSDRgtC40L8g0L7QsdGK0LXQutGC0LAgJWQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU3OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTYxCiBtc2dpZCAiY2Fubm90IHByZWFkIHBhY2sgZmlsZSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0YwgcHJlYWQg0LTQu9GPINGE0LDQudC70LAg0L/QsNC60LXRgtCwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1ODAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlIG1pc3NpbmciCiBtc2dpZF9wbHVyYWwgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGVzIG1pc3NpbmciCkBAIC0xMDYyNiw5MyArMTI3MjUsODggQEAKIG1zZ3N0clsyXSAi0L/RgNC10LbQtNC10LLRgNC10LzQtdC90L3QvtC1INC+0LrQvtC90YfQsNC90LjQtSDRhNCw0LnQu9CwINC/0LDQutC10YLQsCwgJTxQUkl1TUFYPiDQsdCw0LnRgtC+0LIg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiIKIG1zZ3N0clszXSAi0L/RgNC10LbQtNC10LLRgNC10LzQtdC90L3QvtC1INC+0LrQvtC90YfQsNC90LjQtSDRhNCw0LnQu9CwINC/0LDQutC10YLQsCwgJTxQUkl1TUFYPiDQsdCw0LnRgtC+0LIg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NjA2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1ODkKIG1zZ2lkICJzZXJpb3VzIGluZmxhdGUgaW5jb25zaXN0ZW5jeSIKIG1zZ3N0ciAi0YHQtdGA0YzQtdC30L3QvtC1INC90LXRgdC+0L7RgtCy0LXRgtGB0YLQstC40LUg0L/RgNC4INGA0LDRgdC/0LDQutC+0LLQutC1IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3NTEgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzU3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc4MAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE5IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzM0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0MCBidWlsdGluL2luZGV4LXBhY2suYzo3NjMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwMiBidWlsdGluL2luZGV4LXBhY2suYzo4MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgogbXNnc3RyICLQndCQ0JnQlNCV0J3QkCDQmtCe0JvQm9CY0JfQmNCvIFNIQTEg0KEgJXMgISIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzU0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTQzCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwMyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzM3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTUzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0YwgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCBpbmZvICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQuNC90YTQvtGA0LzQsNGG0LjRjiDRgdGD0YnQtdGB0YLQstGD0Y7RidC10LPQviDQvtCx0YrQtdC60YLQsCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODI1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0ICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRgdGD0YnQtdGB0YLQstGD0Y7RidC40Lkg0L7QsdGK0LXQutGCICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJsb2Igb2JqZWN0ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0YTQsNC50Lsg0LTQstC+0LjRh9C90L7Qs9C+INC+0LHRitC10LrRgtCwICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4NDIgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODYxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MjUgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ0CiBtc2dpZCAiZnNjayBlcnJvciBpbiBwYWNrZWQgb2JqZWN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg1OAotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkICVzIgotbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0LkgJXMiCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg2MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhbGwgY2hpbGQgb2JqZWN0cyBvZiAlcyBhcmUgcmVhY2hhYmxlIgogbXNnc3RyICLQndC1INCy0YHQtSDQtNC+0YfQtdGA0L3QuNC1INC+0LHRitC10LrRgtGLICVzINC00L7RgdGC0LjQttC40LzRiyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTM1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk2NgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6OTE4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjk0OQogbXNnaWQgImZhaWxlZCB0byBhcHBseSBkZWx0YSIKIG1zZ3N0ciAi0YHQsdC+0Lkg0L/RgNC4INC/0YDQuNC80LXQvdC10L3QuNC4INC00LXQu9GM0YLRiyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTExNwogbXNnaWQgIlJlY2VpdmluZyBvYmplY3RzIgogbXNnc3RyICLQn9C+0LvRg9GH0LXQvdC40LUg0L7QsdGK0LXQutGC0L7QsiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEzNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTExNwogbXNnaWQgIkluZGV4aW5nIG9iamVjdHMiCiBtc2dzdHIgItCY0L3QtNC10LrRgdC40YDQvtCy0LDQvdC40LUg0L7QsdGK0LXQutGC0L7QsiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MQogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAi0L/QsNC60LXRgiDQv9C+0LLRgNC10LbQtNC10L0gKNC90LXRgdC+0L7RgtCy0LXRgtGB0YLQstC40LUgU0hBMSkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTYKIG1zZ2lkICJjYW5ub3QgZnN0YXQgcGFja2ZpbGUiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIGZzdGF0INC00LvRjyDRhNCw0LnQu9CwINC/0LDQutC10YLQsCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1OQogbXNnaWQgInBhY2sgaGFzIGp1bmsgYXQgdGhlIGVuZCIKIG1zZ3N0ciAi0YTQsNC50Lsg0L/QsNC60LXRgtCwINGB0L7QtNC10YDQttC40YIg0LzRg9GB0L7RgCDQsiDQutC+0L3RhtC1IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTkwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTcxCiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKIG1zZ3N0ciAi0LHQtdC30YPQvNC90LDRjyDQv9GD0YLQsNC90LjRhtCwINCyIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjEzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk0CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKIG1zZ3N0ciAi0J7Qv9GA0LXQtNC10LvQtdC90LjQtSDQuNC30LzQtdC90LXQvdC40LkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMjQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDEwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjA0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0L/QvtGC0L7QujogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNDUKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgogbXNnc3RyICLQsdC10LfRg9C80L3QsNGPINC/0YPRgtCw0L3QuNGG0LAiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNzIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3RzIgpAQCAtMTA3MjEsMTIgKzEyODE1LDEyIEBACiBtc2dzdHJbMl0gItC30LDQstC10YDRiNC10L3QviDRgSAlZCDQu9C+0LrQsNC70YzQvdGL0LzQuCDQvtCx0YrQtdC60YLQsNC80LgiCiBtc2dzdHJbM10gItC30LDQstC10YDRiNC10L3QviDRgSAlZCDQu9C+0LrQsNC70YzQvdGL0LzQuCDQvtCx0YrQtdC60YLQsNC80LgiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyODQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5leHBlY3RlZCB0YWlsIGNoZWNrc3VtIGZvciAlcyAoZGlzayBjb3JydXB0aW9uPykiCiBtc2dzdHIgItCd0LXQvtC20LjQtNCw0L3QvdCw0Y8g0LrQvtC90YLRgNC+0LvRjNC90LDRjyDRgdGD0LzQvNCwINCyINC60L7QvdGG0LUgJXMgKNC00LjRgdC6INC/0L7QstGA0LXQttC00LXQvT8pIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjg4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGEiCiBtc2dpZF9wbHVyYWwgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGFzIgpAQCAtMTA3MzUsNTkgKzEyODI5LDU5IEBACiBtc2dzdHJbMl0gItC/0LDQutC10YIg0YHQvtC00LXRgNC20LjRgiAlZCDQvdC10YDQsNC30YDQtdGI0LXQvdC90YvRhSDQtNC10LvRjNGCIgogbXNnc3RyWzNdICLQv9Cw0LrQtdGCINGB0L7QtNC10YDQttC40YIgJWQg0L3QtdGA0LDQt9GA0LXRiNC10L3QvdGL0YUg0LTQtdC70YzRgiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTMxMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINGB0LbQsNGC0Ywg0L/RgNC40YHQvtC10LTQuNC90LXQvdC90YvQuSDQvtCx0YrQtdC60YIgKCVkKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM4OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKIG1zZ3N0ciAi0LvQvtC60LDQu9GM0L3Ri9C5INC+0LHRitC10LrRgiAlcyDQv9C+0LLRgNC10LbQtNC10L0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFja2ZpbGUgbmFtZSAnJXMnIGRvZXMgbm90IGVuZCB3aXRoICcucGFjayciCiBtc2dzdHIgItC40LzRjyDQv9Cw0LrQtdGC0LAgwqslc8K7INC90LUg0L7QutCw0L3Rh9C40LLQsNC10YLRgdGPINC90LAgwqsucGFja8K7IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB3cml0ZSAlcyBmaWxlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiAlcyBmaWxlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ2MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzOQogbXNnaWQgImVycm9yIHdoaWxlIGNsb3NpbmcgcGFjayBmaWxlIgogbXNnc3RyICLQvtGI0LjQsdC60LAg0L/RgNC4INC30LDQutGA0YvRgtC40Lgg0YTQsNC50LvQsCDQv9Cw0LrQtdGC0LAiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NTMKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgcGFjayBmaWxlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7RhdGA0LDQvdC40YLRjCDRhNCw0LnQuyDQv9Cw0LrQtdGC0LAiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0ODIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NjEKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgaW5kZXggZmlsZSIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0YXRgNCw0L3QuNGC0Ywg0YTQsNC50Lsg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MjYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQ4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTA1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICLQv9C70L7RhdC+0LkgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgZmlsZSAnJXMnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMINGB0YPRidC10YHRgtCy0YPRjtGJ0LjQuSDRhNCw0LnQuyDQv9Cw0LrQtdGC0LAgwqslc8K7IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywg0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNC5INGE0LDQudC7INC40L3QtNC10LrRgdCwINC00LvRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKQEAgLTEwNzk2LDcgKzEyODkwLDcgQEAKIG1zZ3N0clsyXSAi0L3QtSDQtNC10LvRjNGC0Ys6ICVkINC+0LHRitC10LrRgtC+0LIiCiBtc2dzdHJbM10gItC90LUg0LTQtdC70YzRgtGLOiAlZCDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjUyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCkBAIC0xMDgwNSwzNyArMTI4OTksMzIgQEAKIG1zZ3N0clsyXSAi0LTQu9C40L3QsCDRhtC10L/QvtGH0LrQuCA9ICVkOiAlbHUg0L7QsdGK0LXQutGC0L7QsiIKIG1zZ3N0clszXSAi0LTQu9C40L3QsCDRhtC10L/QvtGH0LrQuCA9ICVkOiAlbHUg0L7QsdGK0LXQutGC0L7QsiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY4OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY2NwogbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0LXRgNC90YPRgtGM0YHRjyDQsiDRgtC10LrRg9GJ0LjQuSDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0MCBidWlsdGluL2luZGV4LXBhY2suYzoxNzQzCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzU5IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NjMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MTYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczNSBidWlsdGluL2luZGV4LXBhY2suYzoxNzM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCAlcyIKIG1zZ3N0ciAi0L/Qu9C+0YXQvtC5ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzc5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzU1CiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCiBtc2dzdHIgIi0tZml4LXRoaW4g0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQsdC10LcgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc4MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc1NwogbXNnaWQgIi0tc3RkaW4gcmVxdWlyZXMgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0L7Qv9GG0LjRjyAtLXN0ZGluINGC0YDQtdCx0YPQtdGCINC90LDQu9C40YfQuNGPINGA0LXQv9C+0LfQuNGC0L7RgNC40Y8gZ2l0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzg3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzYzCiBtc2dpZCAiLS12ZXJpZnkgd2l0aCBubyBwYWNrZmlsZSBuYW1lIGdpdmVuIgogbXNnc3RyICItLXZlcmlmeSDQsdC10Lcg0YPQutCw0LfQsNC90LjRjyDQuNC80LXQvdC4INGE0LDQudC70LAg0L/QsNC60LXRgtCwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxODM3IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo1ODAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4MTEgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjU4MAogbXNnaWQgImZzY2sgZXJyb3IgaW4gcGFjayBvYmplY3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBzdGF0ICclcyciCi1tc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIHN0YXQg0LTQu9GPIMKrJXPCuyIKLQogIzogYnVpbHRpbi9pbml0LWRiLmM6NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgdGVtcGxhdGUgJyVzJyIKQEAgLTEwODc2LDczICsxMjk2NSw3MyBAQAogbXNnaWQgIm5vdCBjb3B5aW5nIHRlbXBsYXRlcyBmcm9tICclcyc6ICVzIgogbXNnc3RyICLQvdC1INC60L7Qv9C40YDRg9GOINGI0LDQsdC70L7QvdGLINC40Lcgwqslc8K7OiAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzI5CisjOiBidWlsdGluL2luaXQtZGIuYzozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGhhbmRsZSBmaWxlIHR5cGUgJWQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LXRgtGB0Y8g0L7QsdGA0LDQsdC+0YLQsNGC0Ywg0YTQsNC50Lsg0YLQuNC/0LAgJWQiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzMgorIzogYnVpbHRpbi9pbml0LWRiLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBtb3ZlICVzIHRvICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC10YLRgdGPINC/0LXRgNC10LzQtdGB0YLQuNGC0Ywg0YTQsNC50LsgJXMg0LIgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0OSBidWlsdGluL2luaXQtZGIuYzozNTIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM1NCBidWlsdGluL2luaXQtZGIuYzozNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIiVzINGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA1CisjOiBidWlsdGluL2luaXQtZGIuYzo0MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICLQn9C10YDQtdC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDQvSDRgdGD0YnQtdGB0YLQstGD0Y7RidC40Lkg0L7QsdGJ0LjQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5IEdpdCDQsiAlcyVzXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNgorIzogYnVpbHRpbi9pbml0LWRiLmM6NDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmcgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICLQn9C10YDQtdC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDQvSDRgdGD0YnQtdGB0YLQstGD0Y7RidC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSBHaXQg0LIgJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MTAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICLQmNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0L0g0L/Rg9GB0YLQvtC5INC+0LHRidC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSBHaXQg0LIgJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MTEKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgItCY0L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDQvSDQv9GD0YHRgtC+0Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSBHaXQg0LIgJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NTkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ2OAogbXNnaWQgIiIKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGVtcGxhdGUtZGlyZWN0b3J5Pl0gIgogIlstLXNoYXJlZFs9PHBlcm1pc3Npb25zPl1dIFs8ZGlyZWN0b3J5Pl0iCiBtc2dzdHIgImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTzQutCw0YLQsNC70L7Qsy3RiNCw0LHQu9C+0L3QvtCyPl0gWy0tc2hhcmVkWz080L/RgNCw0LLQsC3QtNC+0YHRgtGD0L/QsD5dXSBbPNC60LDRgtCw0LvQvtCzPl0iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MgorIzogYnVpbHRpbi9pbml0LWRiLmM6NDkxCiBtc2dpZCAicGVybWlzc2lvbnMiCiBtc2dzdHIgItC/0YDQsNCy0LAt0LTQvtGB0YLRg9C/0LAiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MworIzogYnVpbHRpbi9pbml0LWRiLmM6NDkyCiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgogbXNnc3RyICLRg9C60LDQttC40YLQtSwg0LXRgdC70Lgg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSBnaXQg0LHRg9C00LXRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YzRgdGPINC90LXRgdC60L7Qu9GM0LrQuNC80Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GP0LzQuCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTE3IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMgorIzogYnVpbHRpbi9pbml0LWRiLmM6NTI2IGJ1aWx0aW4vaW5pdC1kYi5jOjUzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIG1rZGlyICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1MjYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIGNoZGlyINCyICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NDcKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXMgKG9yIC0td29yay10cmVlPTxkaXJlY3Rvcnk+KSBub3QgYWxsb3dlZCB3aXRob3V0IHNwZWNpZnlpbmcgJXMgKG9yIC0tZ2l0LSIKICJkaXI9PGRpcmVjdG9yeT4pIgogbXNnc3RyICIlcyAo0LjQu9C4IC0td29yay10cmVlPTzQutCw0YLQsNC70L7Qsz4pINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LHQtdC3INGD0LrQsNC30LDQvdC40Y8gJXMgKNC40LvQuCAtLWdpdC1kaXI9PNC60LDRgtCw0LvQvtCzPikiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU3NQorIzogYnVpbHRpbi9pbml0LWRiLmM6NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBhY2Nlc3Mgd29yayB0cmVlICclcyciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDQtNC+0YHRgtGD0L8g0Log0YDQsNCx0L7Rh9C10LzRgyDQutCw0YLQsNC70L7Qs9GDIMKrJXPCuyIKQEAgLTEwOTUzLDUwNSArMTMwNDIsNTU1IEBACiAiPHRva2VuPlsoPXw6KTx2YWx1ZT5dKS4uLl0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCBpbnRlcnByZXQtdHJhaWxlcnMgWy0taW4tcGxhY2VdIFstLXRyaW0tZW1wdHldIFsoLS10cmFpbGVyIDzQutC70Y7Rhz5bKD18Oik80LfQvdCw0YfQtdC90LjQtT5dKeKApl0gWzzRhNCw0LnQuz7igKZdIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjkyCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk0CiBtc2dpZCAiZWRpdCBmaWxlcyBpbiBwbGFjZSIKIG1zZ3N0ciAi0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0YTQsNC50LvRiyDQvdCwINC80LXRgdGC0LUiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTMKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTUKIG1zZ2lkICJ0cmltIGVtcHR5IHRyYWlsZXJzIgogbXNnc3RyICLRg9C00LDQu9GP0YLRjCDQv9GD0YHRgtGL0LUg0LfQsNCy0LXRgNGI0LjRgtC10LvQuCIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NgorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5OAogbXNnaWQgIndoZXJlIHRvIHBsYWNlIHRoZSBuZXcgdHJhaWxlciIKIG1zZ3N0ciAi0LPQtNC1INC/0L7QvNC10YHRgtC40YLRjCDQvdC+0LLRi9C5INC30LDQstC10YDRiNC40YLQtdC70YwiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTgKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAwCiBtc2dpZCAiYWN0aW9uIGlmIHRyYWlsZXIgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgItC00LXQudGB0YLQstC40LUsINC10YHQu9C4INC30LDQstC10YDRiNC40YLQtdC70Ywg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDIKIG1zZ2lkICJhY3Rpb24gaWYgdHJhaWxlciBpcyBtaXNzaW5nIgogbXNnc3RyICLQtNC10LnRgdGC0LLQuNC1LCDQtdGB0LvQuCDQt9Cw0LLQtdGA0YjQuNGC0LXQu9GMINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAyCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNAogbXNnaWQgIm91dHB1dCBvbmx5IHRoZSB0cmFpbGVycyIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YLQvtC70YzQutC+INC30LDQstC10YDRiNC40YLQtdC70LgiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAzCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNQogbXNnaWQgImRvIG5vdCBhcHBseSBjb25maWcgcnVsZXMiCiBtc2dzdHIgItC90LUg0L/RgNC40LzQtdC90Y/RgtGMINC/0YDQsNCy0LjQu9CwINC40Lcg0YTQsNC50LvQsCDQutC+0L3RhNC40LPRg9GA0LDRhtC40LgiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA0CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNgogbXNnaWQgImpvaW4gd2hpdGVzcGFjZS1jb250aW51ZWQgdmFsdWVzIgogbXNnc3RyICLQvtCx0YrQtdC00LjQvdC40YLRjCDQt9C90LDRh9C10L3QuNGPINGA0LDQt9C00LXQu9C10L3QvdGL0LUg0L/RgNC+0LHQtdC70L7QvCIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDUKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA3CiBtc2dpZCAic2V0IHBhcnNpbmcgb3B0aW9ucyIKIG1zZ3N0ciAi0YPQutCw0LfQsNC90LjQtSDQvtC/0YbQuNC5INGA0LDQt9Cx0L7RgNCwIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNworIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDkKK21zZ2lkICJkbyBub3QgdHJlYXQgLS0tIHNwZWNpYWxseSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMAogbXNnaWQgInRyYWlsZXIiCiBtc2dzdHIgItC30LDQstC10YDRiNC40YLQtdC70YwiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA4CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMQogbXNnaWQgInRyYWlsZXIocykgdG8gYWRkIgogbXNnc3RyICLQt9Cw0LLQtdGA0YjQuNGC0LXQu9C4INC00LvRjyDQtNC+0LHQsNCy0LvQtdC90LjRjyIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMTcKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTIwCiBtc2dpZCAiLS10cmFpbGVyIHdpdGggLS1vbmx5LWlucHV0IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tdHJhaWxlciDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0YEgLS1vbmx5LWlucHV0INC90LUg0LjQvNC10LXRgiDRgdC80YvRgdC70LAiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTI3CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEzMAogbXNnaWQgIm5vIGlucHV0IGZpbGUgZ2l2ZW4gZm9yIGluLXBsYWNlIGVkaXRpbmciCiBtc2dzdHIgItC90LjRh9C10LPQviDQvdC1INC/0LXRgNC10LTQsNC90L4sINC00LvRjyDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNGPINGE0LDQudC70L7QsiDQvdCwINC80LXRgdGC0LUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTEKKyM6IGJ1aWx0aW4vbG9nLmM6NTUKIG1zZ2lkICJnaXQgbG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgbG9nIFs80L7Qv9GG0LjQuD5dIFs80LTQuNCw0L/QsNC30L7QvS3RgNC10LTQsNC60YbQuNC5Pl0gW1stLV0gPNC/0YPRgtGMPuKApl0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTIKKyM6IGJ1aWx0aW4vbG9nLmM6NTYKIG1zZ2lkICJnaXQgc2hvdyBbPG9wdGlvbnM+XSA8b2JqZWN0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHNob3cgWzzQvtC/0YbQuNC4Pl0gPNC+0LHRitC10LrRgj7igKYiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTYKKyM6IGJ1aWx0aW4vbG9nLmM6MTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgLS1kZWNvcmF0ZSBvcHRpb246ICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0L/QsNGA0LDQvNC10YLRgCDQtNC70Y8gLS1kZWNvcmF0ZTogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3Ci1tc2dpZCAic3VwcHJlc3MgZGlmZiBvdXRwdXQiCi1tc2dzdHIgItC90LUg0LLRi9Cy0L7QtNC40YLRjCDRgNCw0LfQu9C40YfQuNGPIgotCi0jOiBidWlsdGluL2xvZy5jOjE1OAorIzogYnVpbHRpbi9sb2cuYzoxNjgKIG1zZ2lkICJzaG93IHNvdXJjZSIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQuNGB0YLQvtGH0L3QuNC6IgogCi0jOiBidWlsdGluL2xvZy5jOjE1OQorIzogYnVpbHRpbi9sb2cuYzoxNjkKIG1zZ2lkICJVc2UgbWFpbCBtYXAgZmlsZSIKIG1zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGE0LDQudC7INGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDQv9C+0YfRgtC+0LLRi9GFINCw0LTRgNC10YHQvtCyIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MQorIzogYnVpbHRpbi9sb2cuYzoxNzEKIG1zZ2lkICJvbmx5IGRlY29yYXRlIHJlZnMgdGhhdCBtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgItC00LXQutC+0YDQuNGA0L7QstCw0YLRjCDRgtC+0LvRjNC60L4g0YHRgdGL0LvQutC4INGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjQtSA80YjQsNCx0LvQvtC90YM+IgogCi0jOiBidWlsdGluL2xvZy5jOjE2MworIzogYnVpbHRpbi9sb2cuYzoxNzMKIG1zZ2lkICJkbyBub3QgZGVjb3JhdGUgcmVmcyB0aGF0IG1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAi0L3QtSDQtNC10LrQvtGA0LjRgNC+0LLQsNGC0Ywg0YHRgdGL0LvQutC4INGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjQtSA80YjQsNCx0LvQvtC90YM+IgogCi0jOiBidWlsdGluL2xvZy5jOjE2NAorIzogYnVpbHRpbi9sb2cuYzoxNzQKIG1zZ2lkICJkZWNvcmF0ZSBvcHRpb25zIgogbXNnc3RyICLQvtC/0YbQuNC4INGE0L7RgNC80LDRgtCwINCy0YvQstC+0LTQsCDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY3CisjOiBidWlsdGluL2xvZy5jOjE3NwogbXNnaWQgIlByb2Nlc3MgbGluZSByYW5nZSBuLG0gaW4gZmlsZSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICLQntCx0YDQsNCx0L7RgtCw0YLRjCDQtNC40LDQv9Cw0LfQvtC9INGB0YLRgNC+0LogbixtINC40Lcg0YTQsNC50LvQsCwg0L3QsNGH0LjQvdCw0Y8g0YEgMSIKIAotIzogYnVpbHRpbi9sb2cuYzoyNjUKKyM6IGJ1aWx0aW4vbG9nLmM6Mjc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpbmFsIG91dHB1dDogJWQgJXNcbiIKIG1zZ3N0ciAi0KTQuNC90LDQu9GM0L3Ri9C5INCy0YvQstC+0LQ6ICVkICVzXG4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTE2CisjOiBidWlsdGluL2xvZy5jOjUyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgc2hvdyAlczogYmFkIGZpbGUiCiBtc2dzdHIgImdpdCBzaG93ICVzOiDQv9C70L7RhdC+0Lkg0YTQsNC50LsiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTMxIGJ1aWx0aW4vbG9nLmM6NjI1CisjOiBidWlsdGluL2xvZy5jOjU0NCBidWlsdGluL2xvZy5jOjYzOAogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCi1tc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINC+0LHRitC10LrRgiAlcyIKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCittc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzo2NDkKKyM6IGJ1aWx0aW4vbG9nLmM6NjYzCiAjLCBjLWZvcm1hdAotbXNnaWQgIlVua25vd24gdHlwZTogJWQiCi1tc2dzdHIgItCd0LXQuNC30LLQtdGB0YLQvdGL0Lkg0YLQuNC/INC+0LHRitC10LrRgtCwOiAlZCIKK21zZ2lkICJ1bmtub3duIHR5cGU6ICVkIgorbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NzcwCisjOiBidWlsdGluL2xvZy5jOjc4NAogbXNnaWQgImZvcm1hdC5oZWFkZXJzIHdpdGhvdXQgdmFsdWUiCiBtc2dzdHIgItCyIGZvcm1hdC5oZWFkZXJzINC90LUg0YPQutCw0LfQsNC90L4g0LfQvdCw0YfQtdC90LjQtSIKIAotIzogYnVpbHRpbi9sb2cuYzo4NzEKKyM6IGJ1aWx0aW4vbG9nLmM6ODg1CiBtc2dpZCAibmFtZSBvZiBvdXRwdXQgZGlyZWN0b3J5IGlzIHRvbyBsb25nIgogbXNnc3RyICLRgdC70LjRiNC60L7QvCDQtNC70LjQvdC90L7QtSDQuNC80Y8g0LLRi9GF0L7QtNC90L7Qs9C+INC60LDRgtCw0LvQvtCz0LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODg3CisjOiBidWlsdGluL2xvZy5jOjkwMQogIywgYy1mb3JtYXQKLW1zZ2lkICJDYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgotbXNnc3RyICLQndGDINGD0LTQsNC70L7RgdGMINC+0YLQutGA0YvRgtGMINGE0LDQudC7INC40LfQvNC10L3QtdC90LjQuSAlcyIKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgorbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTA0Ci1tc2dpZCAiTmVlZCBleGFjdGx5IG9uZSByYW5nZS4iCi1tc2dzdHIgItCd0YPQttC10L0g0YLQvtC70YzQutC+INC+0LTQuNC9INC00LjQsNC/0LDQt9C+0L0uIgorIzogYnVpbHRpbi9sb2cuYzo5MTgKK21zZ2lkICJuZWVkIGV4YWN0bHkgb25lIHJhbmdlIgorbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTE0Ci1tc2dpZCAiTm90IGEgcmFuZ2UuIgotbXNnc3RyICLQndC1INGP0LLQu9GP0LXRgtGB0Y8g0LTQuNCw0L/QsNC30L7QvdC+0LwuIgorIzogYnVpbHRpbi9sb2cuYzo5MjgKK21zZ2lkICJub3QgYSByYW5nZSIKK21zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjEwMjAKLW1zZ2lkICJDb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgotbXNnc3RyICLQodC+0L/RgNC+0LLQvtC00LjRgtC10LvRjNC90L7QtSDQv9C40YHRjNC80L4g0LTQvtC70LbQvdC+INCx0YvRgtGMINCyINGE0L7RgNC80LDRgtC1INGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRiyIKKyM6IGJ1aWx0aW4vbG9nLmM6MTA1MQorbXNnaWQgImNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCittc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTAxCisjOiBidWlsdGluL2xvZy5jOjEwNTcKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGNvdmVyLWxldHRlciBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTEzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnNhbmUgaW4tcmVwbHktdG86ICVzIgogbXNnc3RyICLQvtGI0LjQsdC60LAg0LIg0L/QvtC70LUgaW4tcmVwbHktdG86ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjExMjgKKyM6IGJ1aWx0aW4vbG9nLmM6MTE2MwogbXNnaWQgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcHRpb25zPl0gWzxzaW5jZT4gfCA8cmV2aXNpb24tcmFuZ2U+XSIKIG1zZ3N0ciAiZ2l0IGZvcm1hdC1wYXRjaCBbPNC+0L/RhtC40Lg+XSBbPNC90LDRh9C40L3QsNGPLdGBPiB8IDzQtNC40LDQv9Cw0LfQvtC9LdGA0LXQtNCw0LrRhtC40Lk+XSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTc4Ci1tc2dpZCAiVHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iCi1tc2dzdHIgItCU0LLQsCDQstGL0YXQvtC00L3Ri9GFINC60LDRgtCw0LvQvtCz0LA/IgorIzogYnVpbHRpbi9sb2cuYzoxMjIxCittc2dpZCAidHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iCittc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjg1IGJ1aWx0aW4vbG9nLmM6MTk0NSBidWlsdGluL2xvZy5jOjE5NDcgYnVpbHRpbi9sb2cuYzoxOTU5CisjOiBidWlsdGluL2xvZy5jOjEzMzIgYnVpbHRpbi9sb2cuYzoyMDc2IGJ1aWx0aW4vbG9nLmM6MjA3OCBidWlsdGluL2xvZy5jOjIwOTAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biBjb21taXQgJXMiCi1tc2dzdHIgItCd0LXQuNC30LLQtdGB0YLQvdGL0Lkg0LrQvtC80LzQuNGCICVzIgorbXNnaWQgInVua25vd24gY29tbWl0ICVzIgorbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTI5NSBidWlsdGluL25vdGVzLmM6ODg5IGJ1aWx0aW4vdGFnLmM6NTI0CisjOiBidWlsdGluL2xvZy5jOjEzNDIgYnVpbHRpbi9yZXBsYWNlLmM6NTggYnVpbHRpbi9yZXBsYWNlLmM6MjA3CisjOiBidWlsdGluL3JlcGxhY2UuYzoyMTAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCi1tc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30YDQtdGI0LjRgtGMIMKrJXPCuyDQutCw0Log0YHRgdGL0LvQutGDLiIKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmIgorbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMwMAotbXNnaWQgIkNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UuIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0YLQvtGH0L3Rg9GOINCx0LDQt9GDINGB0LvQuNGP0L3QuNGPLiIKKyM6IGJ1aWx0aW4vbG9nLmM6MTM0NworbXNnaWQgImNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCittc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzA0CisjOiBidWlsdGluL2xvZy5jOjEzNTEKIG1zZ2lkICIiCi0iRmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCisiZmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCiAicGxlYXNlIHVzZSBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIHRvIHRyYWNrIGEgcmVtb3RlIGJyYW5jaC5cbiIKLSJPciB5b3UgY291bGQgc3BlY2lmeSBiYXNlIGNvbW1pdCBieSAtLWJhc2U9PGJhc2UtY29tbWl0LWlkPiBtYW51YWxseS4iCi1tc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDQstGL0YjQtdGB0YLQvtGP0YnRg9GOINCy0LXRgtC60YMuINCV0YHQu9C4INCy0Ysg0YXQvtGC0LjRgtC1INC30LDQv9C40YHQsNGC0Ywg0LHQsNC30L7QstGL0Lkg0LrQvtC80LzQuNGCINCw0LLRgtC+0LzQuNGC0LjRh9C10YHQutC4LCDRgtC+INC40YHQv9C+0LvRjNC30YPQudGC0LUgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byDQtNC70Y8g0L7RgtGB0LvQtdC20LjQstCw0L3QuNGPINCy0L3QtdGI0L3QtdC5INCy0LXRgtC60LguXG7QmNC70Lgg0LbQtSDQstGLINC80L7QttC10YLQtSDRg9C60LDQt9Cw0YLRjCDQsdCw0LfQvtCy0YvQuSDQutC+0LzQvNC40YIg0YPQutCw0LfQsNC90LjQtdC8IC0tYmFzZT080LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAt0LHQsNC30L7QstC+0LPQvi3QutC+0LzQvNC40YLQsD4g0LLRgNGD0YfQvdGD0Y4uIgorIk9yIHlvdSBjb3VsZCBzcGVjaWZ5IGJhc2UgY29tbWl0IGJ5IC0tYmFzZT08YmFzZS1jb21taXQtaWQ+IG1hbnVhbGx5IgorbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMyNAotbXNnaWQgIkZhaWxlZCB0byBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCi1tc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDRgtC+0YfQvdGD0Y4g0LHQsNC30YMg0YHQu9C40Y/QvdC40Y8iCisjOiBidWlsdGluL2xvZy5jOjEzNzEKK21zZ2lkICJmYWlsZWQgdG8gZmluZCBleGFjdCBtZXJnZSBiYXNlIgorbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMzNQorIzogYnVpbHRpbi9sb2cuYzoxMzgyCiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkIGJlIHRoZSBhbmNlc3RvciBvZiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICLQsdCw0LfQvtCy0YvQuSDQutC+0LzQvNC40YIg0LTQvtC70LbQtdC9INCx0YvRgtGMINC/0YDQtdC00LrQvtC8INGB0L/QuNGB0LrQsCDRgNC10LTQsNC60YbQuNC5IgogCi0jOiBidWlsdGluL2xvZy5jOjEzMzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTM4NgogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZG4ndCBiZSBpbiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICLQsdCw0LfQvtCy0YvQuSDQutC+0LzQvNC40YIg0L3QtSDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0LIg0YHQv9C40YHQutC1INGA0LXQtNCw0LrRhtC40LkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM5MgorIzogYnVpbHRpbi9sb2cuYzoxNDM5CiBtc2dpZCAiY2Fubm90IGdldCBwYXRjaCBpZCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC/0LDRgtGH0LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ1MgorIzogYnVpbHRpbi9sb2cuYzoxNDkxCittc2dpZCAiZmFpbGVkIHRvIGluZmVyIHJhbmdlLWRpZmYgcmFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTUzNgogbXNnaWQgInVzZSBbUEFUQ0ggbi9tXSBldmVuIHdpdGggYSBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0YwgW1BBVENIIG4vbV0g0LTQsNC20LUg0LrQvtCz0LTQsCDQvtC00LjQvSDQv9Cw0YLRhyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU1CisjOiBidWlsdGluL2xvZy5jOjE1MzkKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCBbUEFUQ0hdINC00LDQttC1INC60L7Qs9C00LAg0L3QtdGB0LrQvtC70YzQutC+INC/0LDRgtGH0LXQuSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDU5CisjOiBidWlsdGluL2xvZy5jOjE1NDMKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDQv9Cw0YLRh9C4INC90LAg0YHRgtCw0L3QtNCw0YDRgtC90YvQuSDQstGL0LLQvtC0IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NjEKKyM6IGJ1aWx0aW4vbG9nLmM6MTU0NQogbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgogbXNnc3RyICLRgdC+0LfQtNCw0YLRjCDRgdC+0L/RgNC+0LLQvtC00LjRgtC10LvRjNC90L7QtSDQv9C40YHRjNC80L4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ2MworIzogYnVpbHRpbi9sb2cuYzoxNTQ3CiBtc2dpZCAidXNlIHNpbXBsZSBudW1iZXIgc2VxdWVuY2UgZm9yIG91dHB1dCBmaWxlIG5hbWVzIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L/RgNC+0YHRgtGD0Y4g0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtGMINGH0LjRgdC10Lsg0LTQu9GPINC40LzQtdC9INCy0YvRhdC+0LTQvdGL0YUg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTU0OAogbXNnaWQgInNmeCIKIG1zZ3N0ciAi0YHRg9GE0YTQuNC60YEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ2NQorIzogYnVpbHRpbi9sb2cuYzoxNTQ5CiBtc2dpZCAidXNlIDxzZng+IGluc3RlYWQgb2YgJy5wYXRjaCciCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgdGD0YTRhNC40LrRgSA80YHRg9GE0YTQuNC60YE+INCy0LzQtdGB0YLQviDCqy5wYXRjaMK7IgogCi0jOiBidWlsdGluL2xvZy5jOjE0NjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTU1MQogbXNnaWQgInN0YXJ0IG51bWJlcmluZyBwYXRjaGVzIGF0IDxuPiBpbnN0ZWFkIG9mIDEiCiBtc2dzdHIgItC90LDRh9Cw0YLRjCDQvdGD0LzQtdGA0LDRhtC40Y4g0L/QsNGC0YfQtdC5INGBIDxuPiwg0LAg0L3QtSDRgSAxIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NjkKKyM6IGJ1aWx0aW4vbG9nLmM6MTU1MwogbXNnaWQgIm1hcmsgdGhlIHNlcmllcyBhcyBOdGggcmUtcm9sbCIKIG1zZ3N0ciAi0L/QvtC80LXRgtC40YLRjCDRgdC10YDQuNGOINC60LDQuiDRjdC90L3Rg9GOINC/0L7Qv9GL0YLQutGDIgogCi0jOiBidWlsdGluL2xvZy5jOjE0NzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTU1NQogbXNnaWQgIlVzZSBbUkZDIFBBVENIXSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0YLRjCBbUkZDIFBBVENIXSDQstC80LXRgdGC0L4gW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDc0CisjOiBidWlsdGluL2xvZy5jOjE1NTgKIG1zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0YLRjCBbPNC/0YDQtdGE0LjQutGBPl0g0LLQvNC10YHRgtC+IFtQQVRDSF0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3NworIzogYnVpbHRpbi9sb2cuYzoxNTYxCiBtc2dpZCAic3RvcmUgcmVzdWx0aW5nIGZpbGVzIGluIDxkaXI+IgogbXNnc3RyICLRgdC+0YXRgNCw0L3QuNGC0Ywg0YDQtdC30YPQu9GM0YLQuNGA0YPRjtGJ0LjQtSDRhNCw0LnQu9GLINCyIDzQutCw0YLQsNC70L7Qsz4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ4MAorIzogYnVpbHRpbi9sb2cuYzoxNTY0CiBtc2dpZCAiZG9uJ3Qgc3RyaXAvYWRkIFtQQVRDSF0iCiBtc2dzdHIgItC90LUg0L7QsdGA0LXQt9Cw0YLRjC/QtNC+0LHQsNCy0LvRj9GC0YwgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDgzCisjOiBidWlsdGluL2xvZy5jOjE1NjcKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgotbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0LTQstC+0LjRh9C90YvQtSDRgNCw0LfQu9C40YfQuNGPIgorbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0LTQstC+0LjRh9C90YvQtSDQuNC30LzQtdC90LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ4NQorIzogYnVpbHRpbi9sb2cuYzoxNTY5CiBtc2dpZCAib3V0cHV0IGFsbC16ZXJvIGhhc2ggaW4gRnJvbSBoZWFkZXIiCi1tc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0L3Rg9C70LXQstGD0Y4g0YXRjdGILdGB0YPQvNC80YMg0LIg0LfQsNCz0L7Qu9C+0LLQutC1IEZyb20iCittc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0L3Rg9C70LXQstGD0Y4g0YXQtdGILdGB0YPQvNC80YMg0LIg0LfQsNCz0L7Qu9C+0LLQutC1IEZyb20iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ4NworIzogYnVpbHRpbi9sb2cuYzoxNTcxCiBtc2dpZCAiZG9uJ3QgaW5jbHVkZSBhIHBhdGNoIG1hdGNoaW5nIGEgY29tbWl0IHVwc3RyZWFtIgogbXNnc3RyICLQvdC1INCy0LrQu9GO0YfQsNGC0Ywg0L/QsNGC0YcsINC10YHQu9C4INC60L7QvNC80LjRgiDRg9C20LUg0LXRgdGC0Ywg0LIg0LLRi9GI0LXRgdGC0L7Rj9GJ0LXQuSDQstC10YLQutC1IgogCi0jOiBidWlsdGluL2xvZy5jOjE0ODkKKyM6IGJ1aWx0aW4vbG9nLmM6MTU3MwogbXNnaWQgInNob3cgcGF0Y2ggZm9ybWF0IGluc3RlYWQgb2YgZGVmYXVsdCAocGF0Y2ggKyBzdGF0KSIKIG1zZ3N0ciAi0LLRi9Cy0L7QtNC40YLRjCDQsiDRhNC+0YDQvNCw0YLQtSDQv9Cw0YLRh9CwLCDQsCDQvdC1INCyINGB0YLQsNC90LTQsNGA0YLQvdC+0LwgKNC/0LDRgtGHICsg0YHRgtCw0YLQuNGB0YLQuNC60LApIgogCi0jOiBidWlsdGluL2xvZy5jOjE0OTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTU3NQogbXNnaWQgIk1lc3NhZ2luZyIKIG1zZ3N0ciAi0J/QtdGA0LXQtNCw0YfQsCDRgdC+0L7QsdGJ0LXQvdC40LkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ5MgorIzogYnVpbHRpbi9sb2cuYzoxNTc2CiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICLQt9Cw0LPQvtC70L7QstC+0LoiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ5MworIzogYnVpbHRpbi9sb2cuYzoxNTc3CiBtc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCDQt9Cw0LPQvtC70L7QstC+0Log0YHQvtC+0LHRidC10L3QuNGPIgogCi0jOiBidWlsdGluL2xvZy5jOjE0OTQgYnVpbHRpbi9sb2cuYzoxNDk2CisjOiBidWlsdGluL2xvZy5jOjE1NzggYnVpbHRpbi9sb2cuYzoxNTgwCiBtc2dpZCAiZW1haWwiCiBtc2dzdHIgItC/0L7Rh9GC0LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ5NAorIzogYnVpbHRpbi9sb2cuYzoxNTc4CiBtc2dpZCAiYWRkIFRvOiBoZWFkZXIiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0LfQsNCz0L7Qu9C+0LLQvtC6IFRvOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDk2CisjOiBidWlsdGluL2xvZy5jOjE1ODAKIG1zZ2lkICJhZGQgQ2M6IGhlYWRlciIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCDQt9Cw0LPQvtC70L7QstC+0LogQ2M6IgogCi0jOiBidWlsdGluL2xvZy5jOjE0OTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTU4MgogbXNnaWQgImlkZW50IgogbXNnc3RyICLQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDk5CisjOiBidWlsdGluL2xvZy5jOjE1ODMKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICLRg9GB0YLQsNC90L7QstC40YLRjCDQsNC00YDQtdGBINC+0YLQv9GA0LDQstC40YLQtdC70Y8g0L3QsCA80LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YA+ICjQuNC70Lgg0L3QsCDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutC+0LzQvNC40YLQtdGA0LAsINC10YHQu9C4INC+0YLRgdGD0YLRgdGC0LLRg9C10YIpIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MDEKKyM6IGJ1aWx0aW4vbG9nLmM6MTU4NQogbXNnaWQgIm1lc3NhZ2UtaWQiCiBtc2dzdHIgItC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGALdGB0L7QvtCx0YnQtdC90LjRjyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTAyCisjOiBidWlsdGluL2xvZy5jOjE1ODYKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgItGB0LTQtdC70LDRgtGMINC/0LXRgNCy0L7QtSDQv9C40YHRjNC80L4g0L7RgtCy0LXRgtC+0Lwg0L3QsCA80LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAt0YHQvtC+0LHRidC10L3QuNGPPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTAzIGJ1aWx0aW4vbG9nLmM6MTUwNgorIzogYnVpbHRpbi9sb2cuYzoxNTg3IGJ1aWx0aW4vbG9nLmM6MTU5MAogbXNnaWQgImJvdW5kYXJ5IgogbXNnc3RyICLQstC70L7QttC10L3QuNC1IgogCi0jOiBidWlsdGluL2xvZy5jOjE1MDQKKyM6IGJ1aWx0aW4vbG9nLmM6MTU4OAogbXNnaWQgImF0dGFjaCB0aGUgcGF0Y2giCiBtc2dzdHIgItC/0YDQuNC70L7QttC40YLRjCDQv9Cw0YLRhyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTA3CisjOiBidWlsdGluL2xvZy5jOjE1OTEKIG1zZ2lkICJpbmxpbmUgdGhlIHBhdGNoIgogbXNnc3RyICLQstC60LvRjtGH0LjRgtGMINC/0LDRgtGHINCyINGC0LXQutGB0YIg0L/QuNGB0YzQvNCwIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5NQogbXNnaWQgImVuYWJsZSBtZXNzYWdlIHRocmVhZGluZywgc3R5bGVzOiBzaGFsbG93LCBkZWVwIgogbXNnc3RyICLQstC60LvRjtGH0LjRgtGMINCyINC/0LjRgdGM0LzQsNGFINC40LXRgNCw0YDRhdC40YfQvdC+0YHRgtGMLCDRgdGC0LjQu9C4OiBzaGFsbG93ICjRh9Cw0YHRgtC40YfQvdGD0Y4pLCBkZWVwICjQs9C70YPQsdC+0LrRg9GOKSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTEzCisjOiBidWlsdGluL2xvZy5jOjE1OTcKIG1zZ2lkICJzaWduYXR1cmUiCiBtc2dzdHIgItC/0L7QtNC/0LjRgdGMIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTU5OAogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCDQv9C+0LTQv9C40YHRjCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTE1CisjOiBidWlsdGluL2xvZy5jOjE1OTkKIG1zZ2lkICJiYXNlLWNvbW1pdCIKIG1zZ3N0ciAi0LHQsNC30L7QstGL0Lkg0LrQvtC80LzQuNGCIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MTYKKyM6IGJ1aWx0aW4vbG9nLmM6MTYwMAogbXNnaWQgImFkZCBwcmVyZXF1aXNpdGUgdHJlZSBpbmZvIHRvIHRoZSBwYXRjaCBzZXJpZXMiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0YLRgNC10LHQvtCy0LDQvdC40Lgg0LTQtdGA0LXQstCwINC6INGB0LXRgNC40Lgg0L/QsNGC0YfQtdC5IgogCi0jOiBidWlsdGluL2xvZy5jOjE1MTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTYwMgogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSBmcm9tIGEgZmlsZSIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCDQv9C+0LTQv9C40YHRjCDQuNC3INGE0LDQudC70LAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUxOQorIzogYnVpbHRpbi9sb2cuYzoxNjAzCiBtc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKIG1zZ3N0ciAi0L3QtSDQstGL0LLQvtC00LjRgtGMINC40LzQtdC90LAg0YTQsNC50LvQvtCyINC/0LDRgtGH0LXQuSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTIxCisjOiBidWlsdGluL2xvZy5jOjE2MDUKIG1zZ2lkICJzaG93IHByb2dyZXNzIHdoaWxlIGdlbmVyYXRpbmcgcGF0Y2hlcyIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQv9GA0L7Qs9GA0LXRgdGBINCy0YvQv9C+0LvQvdC10L3QuNGPINCy0L4g0YHQvtC30LTQsNC90LjRjyDQv9Cw0YLRh9C10LkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU5NgorIzogYnVpbHRpbi9sb2cuYzoxNjA2Cittc2dpZCAicmV2IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTYwNworbXNnaWQgInNob3cgY2hhbmdlcyBhZ2FpbnN0IDxyZXY+IGluIGNvdmVyIGxldHRlciBvciBzaW5nbGUgcGF0Y2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNjEwCittc2dpZCAic2hvdyBjaGFuZ2VzIGFnYWluc3QgPHJlZnNwZWM+IGluIGNvdmVyIGxldHRlciBvciBzaW5nbGUgcGF0Y2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNjEyCittc2dpZCAicGVyY2VudGFnZSBieSB3aGljaCBjcmVhdGlvbiBpcyB3ZWlnaHRlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE2ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlcyIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QsNGPINGB0YLRgNC+0LrQsCDQuNC00LXQvdGC0LjRhNC40LrQsNGG0LjQuDogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTYxMQorIzogYnVpbHRpbi9sb2cuYzoxNzAyCiBtc2dpZCAiLW4gYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjEzCisjOiBidWlsdGluL2xvZy5jOjE3MDQKIG1zZ2lkICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTYyMQorIzogYnVpbHRpbi9sb2cuYzoxNzEyCiBtc2dpZCAiLS1uYW1lLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1uYW1lLW9ubHkg0L3QtSDQuNC80LXQtdGCINGB0LzRi9GB0LvQsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjIzCisjOiBidWlsdGluL2xvZy5jOjE3MTQKIG1zZ2lkICItLW5hbWUtc3RhdHVzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1zdGF0dXMg0L3QtSDQuNC80LXQtdGCINGB0LzRi9GB0LvQsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjI1CisjOiBidWlsdGluL2xvZy5jOjE3MTYKIG1zZ2lkICItLWNoZWNrIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tY2hlY2sg0L3QtSDQuNC80LXQtdGCINGB0LzRi9GB0LvQsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjU3CisjOiBidWlsdGluL2xvZy5jOjE3NDgKIG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKIG1zZ3N0ciAi0YHRgtCw0L3QtNCw0YDRgtC90YvQuSDQstGL0LLQvtC0INC40LvQuCDQutCw0YLQsNC70L7Qsz8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY1OQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINC60LDRgtCw0LvQvtCzIMKrJXPCuyIKKyM6IGJ1aWx0aW4vbG9nLmM6MTgzNworbXNnaWQgIi0taW50ZXJkaWZmIHJlcXVpcmVzIC0tY292ZXItbGV0dGVyIG9yIHNpbmdsZSBwYXRjaCIKK21zZ3N0ciAiIgogCi0jOiBidWlsdGluL2xvZy5jOjE3NTIKKyM6IGJ1aWx0aW4vbG9nLmM6MTg0MQorbXNnaWQgIkludGVyZGlmZjoiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxODQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVyZGlmZiBhZ2FpbnN0IHYlZDoiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxODQ4Cittc2dpZCAiLS1jcmVhdGlvbi1mYWN0b3IgcmVxdWlyZXMgLS1yYW5nZS1kaWZmIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTg1MgorbXNnaWQgIi0tcmFuZ2UtZGlmZiByZXF1aXJlcyAtLWNvdmVyLWxldHRlciBvciBzaW5nbGUgcGF0Y2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxODYwCittc2dpZCAiUmFuZ2UtZGlmZjoiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxODYxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJhbmdlLWRpZmYgYWdhaW5zdCB2JWQ6IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTg3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzaWduYXR1cmUgZmlsZSAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRhNCw0LnQuyDQv9C+0LTQv9C40YHQuCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTc4NQorIzogYnVpbHRpbi9sb2cuYzoxOTA4CiBtc2dpZCAiR2VuZXJhdGluZyBwYXRjaGVzIgogbXNnc3RyICLQodC+0LfQtNCw0L3QuNC1INC/0LDRgtGH0LXQuSIKIAotIzogYnVpbHRpbi9sb2cuYzoxODI5Ci1tc2dpZCAiRmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCi1tc2dzdHIgItCh0LHQvtC5INC/0YDQuCDRgdC+0LfQtNCw0L3QuNC4INCy0YvRhdC+0LTQvdGL0YUg0YTQsNC50LvQvtCyIgorIzogYnVpbHRpbi9sb2cuYzoxOTUyCittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCittc2dzdHIgIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODgwCisjOiBidWlsdGluL2xvZy5jOjIwMTEKIG1zZ2lkICJnaXQgY2hlcnJ5IFstdl0gWzx1cHN0cmVhbT4gWzxoZWFkPiBbPGxpbWl0Pl1dXSIKLW1zZ3N0ciAiZ2l0IGNoZXJyeSBbLXZdIFs80LLRi9GI0LXRgdGC0L7Rj9GJ0LDRjy3QstC10YLQutCwPiBbPNCz0L7Qu9C+0LLQsD4gWzzQvtCz0YDQsNC90LjRh9C10L3QuNC1Pl1dXSIKK21zZ3N0ciAiZ2l0IGNoZXJyeSBbLXZdIFs80LLRi9GI0LXRgdGC0L7Rj9GJ0LDRjy3QstC10YLQutCwPiBbPNGA0LXQtNCw0LrRhtC40Y8+IFs80L7Qs9GA0LDQvdC40YfQtdC90LjQtT5dXV0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTkzNAorIzogYnVpbHRpbi9sb2cuYzoyMDY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgZmluZCBhIHRyYWNrZWQgcmVtb3RlIGJyYW5jaCwgcGxlYXNlIHNwZWNpZnkgPHVwc3RyZWFtPiAiCiAibWFudWFsbHkuXG4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDQvtGC0YHQu9C10LbQuNCy0LDQtdC80YPRjiDQstC90LXRiNC90Y7RjiDQstC10YLQutGDLCDRg9C60LDQttC40YLQtSA80LLRi9GI0LXRgdGC0L7Rj9GJ0YPRji3QstC10YLQutGDPiDQstGA0YPRh9C90YPRji5cbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MAogbXNnaWQgImdpdCBscy1maWxlcyBbPG9wdGlvbnM+XSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IGxzLWZpbGVzIFs80L7Qv9GG0LjQuD5dIFs80YTQsNC50Ls+4oCmXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUxOAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNgogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0LjQvNC10L3QsCDRhNCw0LnQu9C+0LIg0YEg0LzQtdGC0LrQsNC80LgiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjgKIG1zZ2lkICJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdhc3N1bWUgdW5jaGFuZ2VkJyBmaWxlcyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGB0LjQvNCy0L7Qu9GLINCyINC90LjQttC90LXQvCDRgNC10LPQuNGB0YLRgNC1INC00LvRjyDCq9C/0YDQtdC00L/QvtC70L7QttC40YLQtdC70YzQvdC+INCx0LXQtyDQuNC30LzQtdC90LXQvdC40LnCuyDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzAKIG1zZ2lkICJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdmc21vbml0b3IgY2xlYW4nIGZpbGVzIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YHQuNC80LLQvtC70Ysg0L3QuNC20L3QtdCz0L4g0YDQtdCz0LjRgdGC0YDQsCDQtNC70Y8g0YTQsNC50LvQvtCyIMKrZnNtb25pdG9yIGNsZWFuwrsiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjQKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzIKIG1zZ2lkICJzaG93IGNhY2hlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IChkZWZhdWx0KSIKIG1zZ3N0ciAi0L/QvtC60LDQt9GL0LLQsNGC0Ywg0LrRjdGI0LjRgNC+0LLQsNC90L3Ri9C1INGE0LDQudC70Ysg0L/RgNC4INCy0YvQstC+0LTQtSAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM0CiBtc2dpZCAic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgItC/0L7QutCw0LfRi9Cy0LDRgtGMINGD0LTQsNC70LXQvdC90YvQtSDRhNCw0LnQu9GLINC/0YDQuCDQstGL0LLQvtC00LUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzYKIG1zZ2lkICJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgItC/0L7QutCw0LfRi9Cy0LDRgtGMINC40LfQvNC10L3QtdC90L3Ri9C1INGE0LDQudC70Ysg0L/RgNC4INCy0YvQstC+0LTQtSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMAorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOAogbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi0L/QvtC60LDQt9GL0LLQsNGC0Ywg0LTRgNGD0LPQuNC1INGE0LDQudC70Ysg0L/RgNC4INCy0YvQstC+0LTQtSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MAogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLQv9C+0LrQsNC30YvQstCw0YLRjCDQuNCz0L3QvtGA0LjRgNGD0LXQvNGL0LUg0YTQsNC50LvRiyDQv9GA0Lgg0LLRi9Cy0L7QtNC1IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQzCiBtc2dpZCAic2hvdyBzdGFnZWQgY29udGVudHMnIG9iamVjdCBuYW1lIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgItC/0L7QutCw0LfRi9Cy0LDRgtGMINC40LzRjyDQuNC90LTQtdC60YHQuNGA0L7QstCw0L3QvdC+0LPQviDQvtCx0YrQtdC60YLQsCDQvdCwINCy0YvQstC+0LTQtSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNworIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NQogbXNnaWQgInNob3cgZmlsZXMgb24gdGhlIGZpbGVzeXN0ZW0gdGhhdCBuZWVkIHRvIGJlIHJlbW92ZWQiCiBtc2dzdHIgItC/0L7QutCw0LfRi9Cy0LDRgtGMINGE0LDQudC70Ysg0LIg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzQtSwg0LrQvtGC0L7RgNGL0LUg0LTQvtC70LbQvdGLINCx0YvRgtGMINGD0LTQsNC70LXQvdGLIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ3CiBtc2dpZCAic2hvdyAnb3RoZXInIGRpcmVjdG9yaWVzJyBuYW1lcyBvbmx5IgogbXNnc3RyICLQv9C+0LrQsNC30YvQstCw0YLRjCDRgtC+0LvRjNC60L4g0LjQvNC10L3QsCDRgyDCq9C00YDRg9Cz0LjRhcK7INC60LDRgtCw0LvQvtCz0L7QsiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OQogbXNnaWQgInNob3cgbGluZSBlbmRpbmdzIG9mIGZpbGVzIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC60L7QvdGG0Ysg0YHRgtGA0L7QuiDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTEKIG1zZ2lkICJkb24ndCBzaG93IGVtcHR5IGRpcmVjdG9yaWVzIgogbXNnc3RyICLQvdC1INC/0L7QutCw0LfRi9Cy0LDRgtGMINC/0YPRgdGC0YvQtSDQutCw0YLQsNC70L7Qs9C4IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU0CiBtc2dpZCAic2hvdyB1bm1lcmdlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLQv9C+0LrQsNC30YvQstCw0YLRjCDQvdC1INGB0LvQuNGC0YvQtSDRhNCw0LnQu9GLINC90LAg0LLRi9Cy0L7QtNC1IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU2CiBtc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCiBtc2dzdHIgItC/0L7QutCw0LfRi9Cy0LDRgtGMINC40L3RhNC+0YDQvNCw0YbQuNC4INC+INGA0LDQt9GA0LXRiNC10L3QuNC4INC60L7QvdGE0LvQuNC60YLQvtCyINC4INC+0YLQvNC10L3QtSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1OAogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAi0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0YTQsNC50LvRiywg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNC1INGI0LDQsdC70L7QvdGDIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTUzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTYxCiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKIG1zZ3N0ciAi0L/RgNC+0YfQuNGC0LDRgtGMINGI0LDQsdC70L7QvdGLINC40YHQutC70Y7Rh9C10L3QuNGPINC40LcgPNGE0LDQudC7PiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NAogbXNnaWQgInJlYWQgYWRkaXRpb25hbCBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgcGF0dGVybnMgaW4gPGZpbGU+IgogbXNnc3RyICLQv9GA0L7Rh9C40YLQsNGC0Ywg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQtSDQv9C+0LrQsNGC0LDQu9C+0LbQvdGL0LUg0YjQsNCx0LvQvtC90Ysg0LjRgdC60LvRjtGH0LXQvdC40Y8g0LjQtyA80YTQsNC50Ls+IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY2CiBtc2dpZCAiYWRkIHRoZSBzdGFuZGFyZCBnaXQgZXhjbHVzaW9ucyIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCDRgdGC0LDQvdC00LDRgNGC0L3Ri9C1INC40YHQutC70Y7Rh9C10L3QuNGPIGdpdCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU3MAogbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICLQstGL0LLQvtC00LjRgtGMINC/0YPRgtC4INC+0YLQvdC+0YHQuNGC0LXQu9GM0L3QviDQutC+0YDQvdC10LLQvtCz0L4g0LrQsNGC0LDQu9C+0LPQsCDQv9GA0L7QtdC60YLQsCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU3MwogbXNnaWQgInJlY3Vyc2UgdGhyb3VnaCBzdWJtb2R1bGVzIgogbXNnc3RyICLRgNC10LrRg9GA0YHQuNCy0L3QviDQv9C+INC/0L7QtNC80L7QtNGD0LvRj9C8IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTY2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc1CiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICLQtdGB0LvQuCDQutCw0LrQvtC5LdC70LjQsdC+IDzRhNCw0LnQuz4g0L3QtSDQsiDQuNC90LTQtdC60YHQtSwg0YHRh9C40YLQsNGC0Ywg0Y3RgtC+INC+0YjQuNCx0LrQvtC5IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTY3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc2CiBtc2dpZCAidHJlZS1pc2giCiBtc2dzdHIgItGD0LrQsNC30LDRgtC10LvRjC3QtNC10YDQtdCy0LAiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzcKIG1zZ2lkICJwcmV0ZW5kIHRoYXQgcGF0aHMgcmVtb3ZlZCBzaW5jZSA8dHJlZS1pc2g+IGFyZSBzdGlsbCBwcmVzZW50IgogbXNnc3RyICLQv9GA0LjRgtCy0L7RgNC40YLRjNGB0Y8sINGH0YLQviDQv9GD0YLQuCDRg9C00LDQu9C10L3Riywg0YIu0LouIDzRg9C60LDQt9Cw0YLQtdC70Ywt0LTQtdGA0LXQstCwPiDQtdGJ0LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzkKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC+0YLQu9Cw0LTQvtGH0L3Rg9GOINC40L3RhNC+0YDQvNCw0YbQuNGOIgogCkBAIC0xMTQ2Niw3ICsxMzYwNSw3IEBACiBtc2dpZCAiZG8gbm90IHByaW50IHJlbW90ZSBVUkwiCiBtc2dzdHIgItC90LUg0LLRi9Cy0L7QtNC40YLRjCBVUkwg0LLQvdC10YjQvdC40YUg0YDQtdC/0L7Qt9C40YLQvtGA0LjQtdCyIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjYwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjAgYnVpbHRpbi9scy1yZW1vdGUuYzo2MiBidWlsdGluL3JlYmFzZS5jOjE0NTgKIG1zZ2lkICJleGVjIgogbXNnc3RyICLQt9Cw0L/Rg9GB0LoiCiAKQEAgLTExNDkwLDExICsxMzYyOSwxMSBAQAogbXNnaWQgInRha2UgdXJsLjxiYXNlPi5pbnN0ZWFkT2YgaW50byBhY2NvdW50IgogbXNnc3RyICLRg9GH0LjRgtGL0LLQsNGC0YwgdXJsLjzQsdCw0LfQsD4uaW5zdGVhZE9mIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjczCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjcyCiBtc2dpZCAiZXhpdCB3aXRoIGV4aXQgY29kZSAyIGlmIG5vIG1hdGNoaW5nIHJlZnMgYXJlIGZvdW5kIgogbXNnc3RyICLQstGL0YXQvtC00LjRgtGMINGBINC60L7QtNC+0LwgMiwg0LXRgdC70Lgg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNC1INGB0YHRi9C70LrQuCDQvdC1INC90LDQudC00LXQvdGLIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjc2CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjc1CiBtc2dpZCAic2hvdyB1bmRlcmx5aW5nIHJlZiBpbiBhZGRpdGlvbiB0byB0aGUgb2JqZWN0IHBvaW50ZWQgYnkgaXQiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0YLQsNC60LbQtSDQstC90YPRgtGA0LXQvdC90Y7RjiDRgdGB0YvQu9C60YMg0LIg0LTQvtC/0L7Qu9C90LXQvdC40LUg0Log0L7QsdGK0LXQutGC0YMsINC90LAg0LrQvtGC0L7RgNGL0Lkg0L7QvdCwINGD0LrQsNC30YvQstCw0LXRgiIKIApAQCAtMTE1MzksNDA5ICsxMzY3OCw0MDIgQEAKIG1zZ2lkICJlbXB0eSBtYm94OiAnJXMnIgogbXNnc3RyICLQv9GD0YHRgtC+0LkgbWJveDogwqslc8K7IgogCi0jOiBidWlsdGluL21lcmdlLmM6NTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1NAogbXNnaWQgImdpdCBtZXJnZSBbPG9wdGlvbnM+XSBbPGNvbW1pdD4uLi5dIgogbXNnc3RyICJnaXQgbWVyZ2UgWzzQvtC/0YbQuNC4Pl0gWzzQutC+0LzQvNC40YI+4oCmXSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjUyCisjOiBidWlsdGluL21lcmdlLmM6NTUKIG1zZ2lkICJnaXQgbWVyZ2UgLS1hYm9ydCIKIG1zZ3N0ciAiZ2l0IG1lcmdlIC0tYWJvcnQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1MworIzogYnVpbHRpbi9tZXJnZS5jOjU2CiBtc2dpZCAiZ2l0IG1lcmdlIC0tY29udGludWUiCiBtc2dzdHIgImdpdCBtZXJnZSAtLWNvbnRpbnVlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTEwCisjOiBidWlsdGluL21lcmdlLmM6MTE2CiBtc2dpZCAic3dpdGNoIGBtJyByZXF1aXJlcyBhIHZhbHVlIgogbXNnc3RyICLQv9GA0Lgg0YPQutCw0LfQsNC90LjQuCDQv9Cw0YDQsNC80LXRgtGA0LAgwqttwrsg0YLRgNC10LHRg9C10YLRgdGPINGD0LrQsNC30LDRgtGMINC30L3QsNGH0LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgcmVxdWlyZXMgYSB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL21lcmdlLmM6MTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIG1lcmdlIHN0cmF0ZWd5ICclcycuXG4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDRgdGC0YDQsNGC0LXQs9C40Y4g0YHQu9C40Y/QvdC40Y8gwqslc8K7LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTc3CisjOiBidWlsdGluL21lcmdlLmM6MTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF2YWlsYWJsZSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgItCU0L7RgdGC0YPQv9C90YvQtSDRgdGC0YDQsNGC0LXQs9C40Lg6IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTgyCisjOiBidWlsdGluL21lcmdlLmM6MTkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF2YWlsYWJsZSBjdXN0b20gc3RyYXRlZ2llcyBhcmU6IgogbXNnc3RyICLQlNC+0YHRgtGD0L/QvdGL0LUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GM0YHQutC40LUg0YHRgtGA0LDRgtC10LPQuNC4OiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzMiBidWlsdGluL3B1bGwuYzoxNDIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDIgYnVpbHRpbi9wdWxsLmM6MTUwCiBtc2dpZCAiZG8gbm90IHNob3cgYSBkaWZmc3RhdCBhdCB0aGUgZW5kIG9mIHRoZSBtZXJnZSIKIG1zZ3N0ciAi0L3QtSDQstGL0LLQvtC00LjRgtGMINGB0YLQsNGC0LjRgdGC0LjQutGDINC40LfQvNC10L3QtdC90LjQuSDQv9C+0YHQu9C1INC+0LrQvtC90YfQsNC90LjRjyDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzNSBidWlsdGluL3B1bGwuYzoxNDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDUgYnVpbHRpbi9wdWxsLmM6MTUzCiBtc2dpZCAic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDRgdGC0LDRgtC40YHRgtC40LrRgyDQuNC30LzQtdC90LXQvdC40Lkg0L/QvtGB0LvQtSDQvtC60L7QvdGH0LDQvdC40Y8g0YHQu9C40Y/QvdC40Y8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzYgYnVpbHRpbi9wdWxsLmM6MTQ4CisjOiBidWlsdGluL21lcmdlLmM6MjQ2IGJ1aWx0aW4vcHVsbC5jOjE1NgogbXNnaWQgIihzeW5vbnltIHRvIC0tc3RhdCkiCiBtc2dzdHIgIijRgdC40L3QvtC90LjQvCDQtNC70Y8gLS1zdGF0KSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzOCBidWlsdGluL3B1bGwuYzoxNTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDggYnVpbHRpbi9wdWxsLmM6MTU5CiBtc2dpZCAiYWRkIChhdCBtb3N0IDxuPikgZW50cmllcyBmcm9tIHNob3J0bG9nIHRvIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMICjQvNCw0LrRgdC40LzRg9C8IDxuPikg0LfQsNC/0LjRgdC10Lkg0LjQtyDQutC+0YDQvtGC0LrQvtCz0L4g0LbRg9GA0L3QsNC70LAg0LIg0YHQvtC+0LHRidC10L3QuNC1INC60L7QvNC80LjRgtCwINGDINGB0LvQuNGP0L3QuNGPIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQxIGJ1aWx0aW4vcHVsbC5jOjE1NworIzogYnVpbHRpbi9tZXJnZS5jOjI1MSBidWlsdGluL3B1bGwuYzoxNjUKIG1zZ2lkICJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIKIG1zZ3N0ciAi0YHQvtC30LTQsNGC0Ywg0L7QtNC40L0g0LrQvtC80LzQuNGCLCDQstC80LXRgdGC0L4g0LLRi9C/0L7Qu9C90LXQvdC40Y8g0YHQu9C40Y/QvdC40Y8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDMgYnVpbHRpbi9wdWxsLmM6MTYwCisjOiBidWlsdGluL21lcmdlLmM6MjUzIGJ1aWx0aW4vcHVsbC5jOjE2OAogbXNnaWQgInBlcmZvcm0gYSBjb21taXQgaWYgdGhlIG1lcmdlIHN1Y2NlZWRzIChkZWZhdWx0KSIKIG1zZ3N0ciAi0YHQtNC10LvQsNGC0Ywg0LrQvtC80LzQuNGCLCDQtdGB0LvQuCDRgdC70LjRj9C90LjQtSDQv9GA0L7RiNC70L4g0YPRgdC/0LXRiNC90L4gKNC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI0NSBidWlsdGluL3B1bGwuYzoxNjMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTUgYnVpbHRpbi9wdWxsLmM6MTcxCiBtc2dpZCAiZWRpdCBtZXNzYWdlIGJlZm9yZSBjb21taXR0aW5nIgogbXNnc3RyICLQvtGC0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0YHQvtC+0LHRidC10L3QuNC1INC/0LXRgNC10LQg0LLRi9C/0L7Qu9C90LXQvdC40LXQvCDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI0NgorIzogYnVpbHRpbi9tZXJnZS5jOjI1NwogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCAoZGVmYXVsdCkiCiBtc2dzdHIgItGA0LDQt9GA0LXRiNC40YLRjCDQv9C10YDQtdC80L7RgtC60YMg0LLQv9C10YDQtdC0ICjQv9C+INGD0LzQvtC70YfQsNC90LjRjikiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDggYnVpbHRpbi9wdWxsLmM6MTY5CisjOiBidWlsdGluL21lcmdlLmM6MjU5IGJ1aWx0aW4vcHVsbC5jOjE3OAogbXNnaWQgImFib3J0IGlmIGZhc3QtZm9yd2FyZCBpcyBub3QgcG9zc2libGUiCiBtc2dzdHIgItC+0YLQvNC10L3QuNGC0Ywg0LLRi9C/0L7Qu9C90LXQvdC40LUg0YHQu9C40Y/QvdC40Y8sINC10YHQu9C4INC/0LXRgNC10LzQvtGC0LrQsCDQstC/0LXRgNC10LQg0L3QtdCy0L7Qt9C80L7QttC90LAiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTIgYnVpbHRpbi9wdWxsLmM6MTcyCisjOiBidWlsdGluL21lcmdlLmM6MjYzIGJ1aWx0aW4vcHVsbC5jOjE4MQogbXNnaWQgInZlcmlmeSB0aGF0IHRoZSBuYW1lZCBjb21taXQgaGFzIGEgdmFsaWQgR1BHIHNpZ25hdHVyZSIKIG1zZ3N0ciAi0L/RgNC+0LLQtdGA0LjRgtGMLCDRh9GC0L4g0YPQutCw0LfQsNC90L3Ri9C5INC60L7QvNC80LjRgiDQuNC80LXQtdGCINCy0LXRgNC90YPRjiDRjdC70LXQutGC0YDQvtC90L3Rg9GOINC/0L7QtNC/0LjRgdGMIEdQRyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1MyBidWlsdGluL25vdGVzLmM6Nzc5IGJ1aWx0aW4vcHVsbC5jOjE3NgotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjQgYnVpbHRpbi9ub3Rlcy5jOjc4NyBidWlsdGluL3B1bGwuYzoxODUKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDkyIGJ1aWx0aW4vcmViYXNlLmM6MTQ3MSBidWlsdGluL3JldmVydC5jOjExMwogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICLRgdGC0YDQsNGC0LXQs9C40Y8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTQgYnVpbHRpbi9wdWxsLmM6MTc3CisjOiBidWlsdGluL21lcmdlLmM6MjY1IGJ1aWx0aW4vcHVsbC5jOjE4NgogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfRg9C10LzQsNGPINGB0YLRgNCw0YLQtdCz0LjRjyDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NSBidWlsdGluL3B1bGwuYzoxODAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjYgYnVpbHRpbi9wdWxsLmM6MTg5CiBtc2dpZCAib3B0aW9uPXZhbHVlIgogbXNnc3RyICLQvtC/0YbQuNGPPdC30L3QsNGH0LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTYgYnVpbHRpbi9wdWxsLmM6MTgxCisjOiBidWlsdGluL21lcmdlLmM6MjY3IGJ1aWx0aW4vcHVsbC5jOjE5MAogbXNnaWQgIm9wdGlvbiBmb3Igc2VsZWN0ZWQgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgItC+0L/RhtC40Lgg0LTQu9GPINCy0YvQsdGA0LDQvdC90L7QuSDRgdGC0YDQsNGC0LXQs9C40Lgg0YHQu9C40Y/QvdC40Y8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjkKIG1zZ2lkICJtZXJnZSBjb21taXQgbWVzc2FnZSAoZm9yIGEgbm9uLWZhc3QtZm9yd2FyZCBtZXJnZSkiCiBtc2dzdHIgItGB0L7QvtCx0YnQtdC90LjQtSDQutC+0LzQvNC40YLQsCDQtNC70Y8g0YHQu9C40Y/QvdC40Y8gKNC00LvRjyDRgdC70LjRj9C90LjRjyDQsdC10Lcg0L/QtdGA0LXQvNC+0YLQutC4INCy0L/QtdGA0LXQtCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzYKIG1zZ2lkICJhYm9ydCB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAi0L7RgtC80LXQvdC40YLRjCDQstGL0L/QvtC70L3QtdC90LjQtSDQv9GA0L7QuNGB0YXQvtC00Y/RidC10LPQviDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2NworIzogYnVpbHRpbi9tZXJnZS5jOjI3OAogbXNnaWQgImNvbnRpbnVlIHRoZSBjdXJyZW50IGluLXByb2dyZXNzIG1lcmdlIgogbXNnc3RyICLQv9GA0L7QtNC+0LvQttC40YLRjCDQstGL0L/QvtC70L3QtdC90LjQtSDQv9GA0L7QuNGB0YXQvtC00Y/RidC10LPQviDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2OSBidWlsdGluL3B1bGwuYzoxODgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODAgYnVpbHRpbi9wdWxsLmM6MTk3CiBtc2dpZCAiYWxsb3cgbWVyZ2luZyB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0YHQu9C40Y/QvdC40LUg0L3QtdGB0LLRj9C30LDQvdC90YvRhSDQuNGB0YLQvtGA0LjQuSDQuNC30LzQtdC90LXQvdC40LkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODYKIG1zZ2lkICJ2ZXJpZnkgY29tbWl0LW1zZyBob29rIgogbXNnc3RyICLQv9GA0L7QstC10YDQuNGC0Ywg0L/QtdGA0LXRhdCy0LDRgtGH0LjQuiBjb21taXQtbXNnIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzAwCisjOiBidWlsdGluL21lcmdlLmM6MzExCiBtc2dpZCAiY291bGQgbm90IHJ1biBzdGFzaC4iCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIHN0YXNoLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjMwNQorIzogYnVpbHRpbi9tZXJnZS5jOjMxNgogbXNnaWQgInN0YXNoIGZhaWxlZCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0L/RgNC4INCy0YvQv9C+0LvQvdC10L3QuNC4IHN0YXNoIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzEwCisjOiBidWlsdGluL21lcmdlLmM6MzIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdDogJXMiCiBtc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90YvQuSDQvtCx0YrQtdC60YI6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzMyIGJ1aWx0aW4vbWVyZ2UuYzozNDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozNDMgYnVpbHRpbi9tZXJnZS5jOjM2MAogbXNnaWQgInJlYWQtdHJlZSBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INC/0YDQuCDQstGL0L/QvtC70L3QtdC90LjQuCByZWFkLXRyZWUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozNzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozOTAKIG1zZ2lkICIgKG5vdGhpbmcgdG8gc3F1YXNoKSIKIG1zZ3N0ciAiICjQvdC10YfQtdCz0L4g0YPQv9C70L7RgtC90Y/RgtGMKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM5MAorIzogYnVpbHRpbi9tZXJnZS5jOjQwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJTcXVhc2ggY29tbWl0IC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgItCj0L/Qu9C+0YLQvdC10L3QuNC1INC60L7QvNC80LjRgtCwIOKAlCDQvdC1INC+0LHQvdC+0LLQu9GP0Y8gSEVBRFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDQwCisjOiBidWlsdGluL21lcmdlLmM6NDUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIG1lc3NhZ2UgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKIG1zZ3N0ciAi0J3QtdGCINGB0L7QvtCx0YnQtdC90LjRjyDRgdC70LjRj9C90LjRjyDigJQg0L3QtSDQvtCx0L3QvtCy0LvRj9C10LwgSEVBRFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDkxCisjOiBidWlsdGluL21lcmdlLmM6NTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCiBtc2dzdHIgIsKrJXPCuyDQvdC1INGD0LrQsNC30YvQstCw0LXRgiDQvdCwINC60L7QvNC80LjRgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjU3OAorIzogYnVpbHRpbi9tZXJnZS5jOjU4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucyBzdHJpbmc6ICVzIgogbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdCw0Y8g0YHRgtGA0L7QutCwIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnM6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6Njk5CisjOiBidWlsdGluL21lcmdlLmM6NzEyCiBtc2dpZCAiTm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKIG1zZ3N0ciAi0J3QtSDQvtCx0YDQsNCx0LDRgtGL0LLQsNGOINC90LjRh9C10LPQviwg0LrRgNC+0LzQtSDRgdC70LjRj9C90LjRjyDQtNCy0YPRhSDRg9C60LDQt9Cw0YLQtdC70LXQuSDQvdCwINCy0LXRgtC60LguIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzEzCisjOiBidWlsdGluL21lcmdlLmM6NzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gb3B0aW9uIGZvciBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiBtc2dzdHIgItCd0LXQuNC30LLQtdGB0YLQvdGL0Lkg0L/QsNGA0LDQvNC10YLRgCBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3MjgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0YwgJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3NzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgZnJvbSAnJXMnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LXRgdGC0Ywg0LjQtyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3ODgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGNvbW1pdHRpbmcgbWVyZ2U7IHVzZSAnZ2l0IGNvbW1pdCcgdG8gY29tcGxldGUgdGhlIG1lcmdlLlxuIgogbXNnc3RyICLQndC1INCy0YvQv9C+0LvQvdGP0Y4g0LrQvtC80LzQuNGCINGB0LvQuNGP0L3QuNGPOyDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IGNvbW1pdMK7INC00LvRjyDQt9Cw0LLQtdGA0YjQtdC90LjRjyDRgdC70LjRj9C90LjRjy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc5NAotIywgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDgKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIGEgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB3aHkgdGhpcyBtZXJnZSBpcyBuZWNlc3NhcnksXG4iCiAiZXNwZWNpYWxseSBpZiBpdCBtZXJnZXMgYW4gdXBkYXRlZCB1cHN0cmVhbSBpbnRvIGEgdG9waWMgYnJhbmNoLlxuIgogIlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MTMKK21zZ2lkICJBbiBlbXB0eSBtZXNzYWdlIGFib3J0cyB0aGUgY29tbWl0LlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgogIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQsIGFuZCBhbiBlbXB0eSBtZXNzYWdlIGFib3J0c1xuIgogInRoZSBjb21taXQuXG4iCi1tc2dzdHIgItCf0L7QttCw0LvRg9C50YHRgtCwLCDQstCy0LXQtNC40YLQtSDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAsINC00LvRjyDQvtCx0YrRj9GB0L3QtdC90LjRjywg0LfQsNGH0LXQvCDQvdGD0LbQvdC+XG7RjdGC0L4g0YHQu9C40Y/QvdC40LUsINC+0YHQvtCx0LXQvdC90L4sINC10YHQu9C4INGN0YLQviDRgdC70LjRj9C90LjQtSDQvtCx0L3QvtCy0LvQtdC90L3QvtC5INCy0YvRiNC10YHRgtC+0Y/RidC10LlcbtCy0LXRgtC60Lgg0LIg0YLQtdC80LDRgtC40YfQtdGB0LrRg9GOINCy0LXRgtC60YMuXG5cbtCh0YLRgNC+0LrQuCwg0L3QsNGH0LjQvdCw0Y7RidC40LXRgdGPINGBIMKrJWPCuyDQsdGD0LTRg9GCINC/0YDQvtC40LPQvdC+0YDQuNGA0L7QstCw0L3Riywg0LAg0L/Rg9GB0YLQvtC1XG7RgdC+0L7QsdGJ0LXQvdC40LUg0L7RgtC80LXQvdGP0LXRgiDQv9GA0L7RhtC10YHRgSDQutC+0LzQvNC40YLQsC5cbiIKK21zZ3N0ciAiIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODMwCisjOiBidWlsdGluL21lcmdlLmM6ODU3CiBtc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgogbXNnc3RyICLQn9GD0YHRgtC+0LUg0YHQvtC+0LHRidC10L3QuNC1INC60L7QvNC80LjRgtCwLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjg0OQorIzogYnVpbHRpbi9tZXJnZS5jOjg3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJXb25kZXJmdWwuXG4iCiBtc2dzdHIgItCf0YDQtdC60YDQsNGB0L3Qvi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjkwMgorIzogYnVpbHRpbi9tZXJnZS5jOjkzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvbWF0aWMgbWVyZ2UgZmFpbGVkOyBmaXggY29uZmxpY3RzIGFuZCB0aGVuIGNvbW1pdCB0aGUgcmVzdWx0LlxuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQvtCy0LXRgdGC0Lgg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60L7QtSDRgdC70LjRj9C90LjQtTsg0LjRgdC/0YDQsNCy0YzRgtC1INC60L7QvdGE0LvQuNC60YLRiyDQuCDRgdC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiDRgNC10LfRg9C70YzRgtCw0YLQsC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0MQorIzogYnVpbHRpbi9tZXJnZS5jOjk3NQogbXNnaWQgIk5vIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi0J3QtdGCINGC0LXQutGD0YnQtdC5INCy0LXRgtC60LguIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTQzCisjOiBidWlsdGluL21lcmdlLmM6OTc3CiBtc2dpZCAiTm8gcmVtb3RlIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICLQoyDRgtC10LrRg9GJ0LXQuSDQstC10YLQutC4INC90LXRgiDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8uIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTQ1CisjOiBidWlsdGluL21lcmdlLmM6OTc5CiBtc2dpZCAiTm8gZGVmYXVsdCB1cHN0cmVhbSBkZWZpbmVkIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICLQlNC70Y8g0YLQtdC60YPRidC10Lkg0LLQtdGC0LrQuCDQvdC1INGD0LrQsNC30LDQvdCwINCy0YvRiNC10YHRgtC+0Y/RidCw0Y8g0LLQtdGC0LrQsCDQv9C+INGD0LzQvtC70YfQsNC90LjRji4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBmb3IgJXMgZnJvbSAlcyIKIG1zZ3N0ciAi0J3QtSDRg9C60LDQt9Cw0L3QsCDQstC90LXRiNC90Y/RjyDQvtGC0YHQu9C10LbQuNCy0LDQtdC80LDRjyDQstC10YLQutCwINC00LvRjyAlcyDQvdCwICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTAwNworIzogYnVpbHRpbi9tZXJnZS5jOjEwNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIHZhbHVlICclcycgaW4gZW52aXJvbm1lbnQgJyVzJyIKIG1zZ3N0ciAi0J/Qu9C+0YXQvtC1INC30L3QsNGH0LXQvdC40LUgwqslc8K7INCyINC/0LXRgNC10LzQtdC90L3QvtC5INC+0LrRgNGD0LbQtdC90LjRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTEwCisjOiBidWlsdGluL21lcmdlLmM6MTE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCiBtc2dzdHIgItC90LUg0Y/QstC70Y/QtdGC0YHRjyDRgtC10LwsINGH0YLQviDQvNC+0LbQvdC+INGB0LvQuNGC0Ywg0LIgJXM6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjExNzgKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKIG1zZ3N0ciAi0L3QtSDRj9Cy0LvRj9C10YLRgdGPINGC0LXQvCwg0YfRgtC+INC80L7QttC90L4g0YHQu9C40YLRjCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjgxCiBtc2dpZCAiLS1hYm9ydCBleHBlY3RzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAi0L7Qv9GG0LjRjyAtLWFib3J0INC90LUg0L/RgNC40L3QuNC80LDQtdGCINCw0YDQs9GD0LzQtdC90YLRiyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjg1CiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgdG8gYWJvcnQgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICLQndC10YIg0YHQu9C40Y/QvdC40Y8sINC60L7RgtC+0YDQvtC1INC80L7QttC90L4g0L7RgtC80LXQvdC40YLRjCAo0L7RgtGB0YPRgtGB0YLQstGD0LXRgiDRhNCw0LnQuyBNRVJHRV9IRUFEKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjYzCisjOiBidWlsdGluL21lcmdlLmM6MTI5NwogbXNnaWQgIi0tY29udGludWUgZXhwZWN0cyBubyBhcmd1bWVudHMiCiBtc2dzdHIgItC+0L/RhtC40Y8gLS1jb250aW51ZSDQvdC1INC/0YDQuNC90LjQvNCw0LXRgiDQsNGA0LPRg9C80LXQvdGC0YsiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjY3CisjOiBidWlsdGluL21lcmdlLmM6MTMwMQogbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIGluIHByb2dyZXNzIChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKIG1zZ3N0ciAi0KHQtdC50YfQsNGBINC90LUg0L/RgNC+0LjRgdGF0L7QtNC40YIg0YHQu9C40Y/QvdC40LUgKNC+0YLRgdGD0YLRgdGC0LLRg9C10YIg0YTQsNC50LsgTUVSR0VfSEVBRCkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI4MworIzogYnVpbHRpbi9tZXJnZS5jOjEzMTcKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICLQktGLINC90LUg0LfQsNCy0LXRgNGI0LjQu9C4INGB0LvQuNGP0L3QuNC1ICjQv9GA0LjRgdGD0YLRgdGC0LLRg9C10YIg0YTQsNC50LsgTUVSR0VfSEVBRCkuXG7QktGL0L/QvtC70L3QuNGC0LUg0LrQvtC80LzQuNGCINCy0LDRiNC40YUg0LjQt9C80LXQvdC10L3QuNC5LCDQv9C10YDQtdC0INGB0LvQuNGP0L3QuNC10LwuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI5MAorIzogYnVpbHRpbi9tZXJnZS5jOjEzMjQKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgogbXNnc3RyICLQktGLINC90LUg0LfQsNCy0LXRgNGI0LjQu9C4INC60L7Qv9C40YDQvtCy0LDQvdC40LUg0LrQvtC80LzQuNGC0LAgKNC/0YDQuNGB0YPRgtGB0YLQstGD0LXRgiDRhNCw0LnQuyBDSEVSUllfUElDS19IRUFEKS5cbtCf0L7QttCw0LvRg9C50YHRgtCwLCDQt9Cw0LrQvtC80LzQuNGC0YzRgtC1INCy0LDRiNC4INC40LfQvNC10L3QtdC90LjRjywg0L/QtdGA0LXQtCDRgdC70LjRj9C90LjQtdC8LiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyOTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzI3CiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuIgogbXNnc3RyICLQktGLINC90LUg0LfQsNCy0LXRgNGI0LjQu9C4INC60L7Qv9C40YDQvtCy0LDQvdC40LUg0LrQvtC80LzQuNGC0LAgKNC/0YDQuNGB0YPRgtGB0YLQstGD0LXRgiDRhNCw0LnQuyBDSEVSUllfUElDS19IRUFEKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzAyCisjOiBidWlsdGluL21lcmdlLmM6MTM0MQogbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tbm8tZmYuIgogbXNnc3RyICLQndC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviAtLXNxdWFzaCDQuCAtLW5vLWZmLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzQ5CiBtc2dpZCAiTm8gY29tbWl0IHNwZWNpZmllZCBhbmQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm90IHNldC4iCiBtc2dzdHIgItCa0L7QvNC80LjRgiDQvdC1INGD0LrQsNC30LDQvSDQuCDQv9Cw0YDQsNC80LXRgtGAIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtINC90LUg0YPRgdGC0LDQvdC+0LLQu9C10L0uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMyNworIzogYnVpbHRpbi9tZXJnZS5jOjEzNjYKIG1zZ2lkICJTcXVhc2ggY29tbWl0IGludG8gZW1wdHkgaGVhZCBub3Qgc3VwcG9ydGVkIHlldCIKIG1zZ3N0ciAi0KPQv9C70L7RgtC90LXQvdC40LUg0LrQvtC80LzQuNGC0LAg0LIg0L/Rg9GB0YLRg9GOINCy0LXRgtC60YMg0LXRidC1INC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMjkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzY4CiBtc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCiBtc2dzdHIgItCa0L7QvNC80LjRgiwg0L3QtSDRj9Cy0LvRj9GO0YnQuNC50YHRjyDQv9C10YDQtdC80L7RgtC60L7QuSDQstC/0LXRgNC10LQsINC90LXRgiDRgdC80YvRgdC70LAg0LTQtdC70LDRgtGMINCyINC/0YPRgdGC0YPRjiDQstC10YLQutGDLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMzQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIC0gbm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIiVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDRgtC10LwsINGH0YLQviDQvNC+0LbQvdC+INGB0LvQuNGC0YwiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzM2CisjOiBidWlsdGluL21lcmdlLmM6MTM3NQogbXNnaWQgIkNhbiBtZXJnZSBvbmx5IGV4YWN0bHkgb25lIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgItCc0L7QttC90L4g0YLQvtC70YzQutC+INC+0LTQuNC9INC60L7QvNC80LjRgiDQsiDQv9GD0YHRgtGD0Y4g0LLQtdGC0LrRgy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzcwCi0jLCBjLWZvcm1hdAotbXNnaWQgIkNvbW1pdCAlcyBoYXMgYW4gdW50cnVzdGVkIEdQRyBzaWduYXR1cmUsIGFsbGVnZWRseSBieSAlcy4iCi1tc2dzdHIgItCa0L7QvNC80LjRgiAlcyDRgdC+0LTQtdGA0LbQuNGCINC90LUg0LTQvtCy0LXRgNC10L3QvdGD0Y4gR1BHINC/0L7QtNC/0LjRgdGMLCDQv9GA0LXQtNC/0L7Qu9C+0LbQuNGC0LXQu9GM0L3QviDQvtGCICVzLiIKLQotIzogYnVpbHRpbi9tZXJnZS5jOjEzNzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGJhZCBHUEcgc2lnbmF0dXJlIGFsbGVnZWRseSBieSAlcy4iCi1tc2dzdHIgItCa0L7QvNC80LjRgiAlcyDRgdC+0LTQtdGA0LbQuNGCINC/0LvQvtGF0YPRjiBHUEcg0L/QvtC00L/QuNGB0YwsINC/0YDQtdC00L/QvtC70L7QttC40YLQtdC70YzQvdC+INC+0YIgJXMuIgotCi0jOiBidWlsdGluL21lcmdlLmM6MTM3NgotIywgYy1mb3JtYXQKLW1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBhIEdQRyBzaWduYXR1cmUuIgotbXNnc3RyICLQmtC+0LzQvNC40YIgJXMg0L3QtSDRgdC+0LTQtdGA0LbQuNGCIEdQRyDQv9C+0LTQv9C40YHRjC4iCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzc5Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBnb29kIEdQRyBzaWduYXR1cmUgYnkgJXNcbiIKLW1zZ3N0ciAi0JrQvtC80LzQuNGCICVzINGB0L7QtNC10YDQttC40YIg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YPRjiBHUEcg0L/QvtC00L/QuNGB0YwsINC+0YIgJXMuXG4iCi0KLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDM4CisjOiBidWlsdGluL21lcmdlLmM6MTQ1NAogbXNnaWQgInJlZnVzaW5nIHRvIG1lcmdlIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgItC+0YLQutCw0Lcg0YHQu9C40Y/QvdC40Y8g0L3QtdGB0LLRj9C30LDQvdC90YvRhSDQuNGB0YLQvtGA0LjQuSDQuNC30LzQtdC90LXQvdC40LkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDQ3CisjOiBidWlsdGluL21lcmdlLmM6MTQ2MwogbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgItCj0LbQtSDQvtCx0L3QvtCy0LvQtdC90L4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ1NworIzogYnVpbHRpbi9tZXJnZS5jOjE0NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRpbmcgJXMuLiVzXG4iCiBtc2dzdHIgItCe0LHQvdC+0LLQu9C10L3QuNC1ICVzLi4lc1xuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ5OAorIzogYnVpbHRpbi9tZXJnZS5jOjE1MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIHJlYWxseSB0cml2aWFsIGluLWluZGV4IG1lcmdlLi4uXG4iCiBtc2dzdHIgItCf0L7Qv9GL0YLQutCwINGC0YDQuNCy0LjQsNC70YzQvdC+0LPQviDRgdC70LjRj9C90LjRjyDQsiDQuNC90LTQtdC60YHQteKAplxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUwNQorIzogYnVpbHRpbi9tZXJnZS5jOjE1MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm9wZS5cbiIKIG1zZ3N0ciAi0J3QtSDQstGL0YjQu9C+LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUzMAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NDcKIG1zZ2lkICJBbHJlYWR5IHVwIHRvIGRhdGUuIFllZWFoISIKIG1zZ3N0ciAi0KPQttC1INC+0LHQvdC+0LLQu9C10L3Qvi4g0JrRgNGD0YLQviEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTM2CisjOiBidWlsdGluL21lcmdlLmM6MTU1MwogbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKIG1zZ3N0ciAi0J/QtdGA0LXQvNC+0YLQutCwINCy0L/QtdGA0LXQtCDQvdC10LLQvtC30LzQvtC20L3QsCwg0L7RgtC80LXQvdCwLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NTkgYnVpbHRpbi9tZXJnZS5jOjE2MzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTc2IGJ1aWx0aW4vbWVyZ2UuYzoxNjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJld2luZGluZyB0aGUgdHJlZSB0byBwcmlzdGluZS4uLlxuIgogbXNnc3RyICLQn9C10YDQtdC80L7RgtC60LAg0LTQtdGA0LXQstCwINC6INC40YHRhdC+0LTQvdC+0LzRgyDRgdC+0YHRgtC+0Y/QvdC40Y7igKZcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NjMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgogbXNnc3RyICLQn9C+0L/Ri9GC0LrQsCDRgdC70LjRj9C90LjRjyDRgSDQv9C+0LzQvtGJ0YzRjiDRgdGC0YDQsNGC0LXQs9C40LggJXPigKZcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MjkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIHN0cmF0ZWd5IGhhbmRsZWQgdGhlIG1lcmdlLlxuIgogbXNnc3RyICLQndC4INC+0LTQvdCwINGB0YLRgNCw0YLQtdCz0LjRjyDRgdC70LjRj9C90LjRjyDQvdC1INC+0LHRgNCw0LHQvtGC0LDQu9CwINGB0LvQuNGP0L3QuNC1LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYzMQorIzogYnVpbHRpbi9tZXJnZS5jOjE2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2Ugd2l0aCBzdHJhdGVneSAlcyBmYWlsZWQuXG4iCiBtc2dzdHIgItCh0LHQvtC5INC/0YDQuCDRgdC70LjRj9C90LjQuCDRgSDQv9C+0LzQvtGJ0YzRjiDRgdGC0YDQsNGC0LXQs9C40LggJXMuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjQwCisjOiBidWlsdGluL21lcmdlLmM6MTY1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKIG1zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfRg9GOICVzINC00LvRjyDQv9C+0LTQs9C+0YLQvtCy0LrQuCDRgNGD0YfQvdC+0LPQviDRgNCw0LfRgNC10YjQtdC90LjRjyDQutC+0L3RhNC70LjQutGC0L7Qsi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2NTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSB3ZW50IHdlbGw7IHN0b3BwZWQgYmVmb3JlIGNvbW1pdHRpbmcgYXMgcmVxdWVzdGVkXG4iCiBtc2dzdHIgItCQ0LLRgtC+0LzQsNGC0LjRh9C10YHQutC+0LUg0YHQu9C40Y/QvdC40LUg0L/RgNC+0YjQu9C+INGD0YHQv9C10YjQvdC+OyDQutCw0Log0Lgg0LfQsNC/0YDQsNGI0LjQstCw0LvQuCwg0L7RgdGC0LDQvdC+0LLQu9C10L3QviDQv9C10YDQtdC0INCy0YvQv9C+0LvQvdC10L3QuNC10Lwg0LrQvtC80LzQuNGC0LBcbiIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzEKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMyCiBtc2dpZCAiZ2l0IG1lcmdlLWJhc2UgWy1hIHwgLS1hbGxdIDxjb21taXQ+IDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSBbLWEgfCAtLWFsbF0gPNC60L7QvNC80LjRgj4gPNC60L7QvNC80LjRgj7igKYiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMyCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozMwogbXNnaWQgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSAtLW9jdG9wdXMgPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSAtLW9jdG9wdXMgPNC60L7QvNC80LjRgj7igKYiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjMzCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozNAogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPGNvbW1pdD4uLi4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPNC60L7QvNC80LjRgj7igKYiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjM0CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozNQogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPGNvbW1pdD4gPGNvbW1pdD4iCiBtc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taXMtYW5jZXN0b3IgPNC60L7QvNC80LjRgj4gPNC60L7QvNC80LjRgj4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjM1CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozNgogbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0tZm9yay1wb2ludCA8cmVmPiBbPGNvbW1pdD5dIgogbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPNGB0YHRi9C70LrQsD4gWzzQutC+0LzQvNC40YI+XSIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjIxCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoxNTMKIG1zZ2lkICJvdXRwdXQgYWxsIGNvbW1vbiBhbmNlc3RvcnMiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INCy0YHQtdGFINC+0LHRidC40YUg0L/RgNC10LTQutC+0LIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjIyMworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MTU1CiBtc2dpZCAiZmluZCBhbmNlc3RvcnMgZm9yIGEgc2luZ2xlIG4td2F5IG1lcmdlIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQv9GA0LXQtNC60L7QsiDQtNC70Y8g0L7QtNC90L7Qs9C+INC80L3QvtCz0L7RhdC+0LTQvtCy0L7Qs9C+INGB0LvQuNGP0L3QuNGPIgogCi0jOiBidWlsdGluL21lcmdlLWJhc2UuYzoyMjUKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjE1NwogbXNnaWQgImxpc3QgcmV2cyBub3QgcmVhY2hhYmxlIGZyb20gb3RoZXJzIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0YDQtdC00LDRhtC40LksINC60L7RgtC+0YDRi9C1INC90LUg0LTQvtGB0YLQuNC20LjQvNGLINC40Lcg0LTRgNGD0LMg0LTRgNGD0LPQsCIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjI3CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoxNTkKIG1zZ2lkICJpcyB0aGUgZmlyc3Qgb25lIGFuY2VzdG9yIG9mIHRoZSBvdGhlcj8iCiBtc2dzdHIgItGP0LLQu9GP0LXRgtGB0Y8g0L/QtdGA0LLRi9C8INC/0YDQtdC00LrQvtC8INCy0YLQvtGA0L7Qs9C+INGD0LrQsNC30LDQvdC90L7Qs9C+INC60L7QvNC80LjRgtCwPyIKIAotIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MjI5CisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoxNjEKIG1zZ2lkICJmaW5kIHdoZXJlIDxjb21taXQ+IGZvcmtlZCBmcm9tIHJlZmxvZyBvZiA8cmVmPiIKIG1zZ3N0ciAi0L3QsNC50YLQuCDQttGD0YDQvdCw0LvQtSDRgdGB0YvQu9C+0LogPNGB0YHRi9C70LrQsD4g0LPQtNC1INC40LzQtdC90L3QviA80LrQvtC80LzQuNGCPiDRgNCw0LfQstC10YLQstC40LvRgdGPIgogCkBAIC0xMTk1MSw0OSArMTQwODMsNDkgQEAKICI8b3JpZy1maWxlPiA8ZmlsZTI+IgogbXNnc3RyICJnaXQgbWVyZ2UtZmlsZSBbPNC+0L/RhtC40Lg+XSBbLUwg0LjQvNGPMSBbLUwgb3JpZyBbLUwg0LjQvNGPMl1dXSA80YTQsNC50LsxPiA80L7RgNC40LMt0YTQsNC50Ls+IDzRhNCw0LnQuzI+IgogCi0jOiBidWlsdGluL21lcmdlLWZpbGUuYzozMworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6MzUKIG1zZ2lkICJzZW5kIHJlc3VsdHMgdG8gc3RhbmRhcmQgb3V0cHV0IgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDRgNC10LfRg9C70YzRgtCw0YIg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3Ri9C5INCy0YvQstC+0LQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjM0CisjOiBidWlsdGluL21lcmdlLWZpbGUuYzozNgogbXNnaWQgInVzZSBhIGRpZmYzIGJhc2VkIG1lcmdlIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgZGlmZjMg0YHQu9C40Y/QvdC40LUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjM1CisjOiBidWlsdGluL21lcmdlLWZpbGUuYzozNwogbXNnaWQgImZvciBjb25mbGljdHMsIHVzZSBvdXIgdmVyc2lvbiIKIG1zZ3N0ciAi0L/RgNC4INCy0L7Qt9C90LjQutC90L7QstC10L3QuNC4INC60L7QvdGE0LvQuNC60YLQvtCyLCDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L3QsNGI0YMg0LLQtdGA0YHQuNGOIgogCi0jOiBidWlsdGluL21lcmdlLWZpbGUuYzozNworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6MzkKIG1zZ2lkICJmb3IgY29uZmxpY3RzLCB1c2UgdGhlaXIgdmVyc2lvbiIKIG1zZ3N0ciAi0L/RgNC4INCy0L7Qt9C90LjQutC90L7QstC10L3QuNC4INC60L7QvdGE0LvQuNC60YLQvtCyLCDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LjRhSDQstC10YDRgdC40Y4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjM5CisjOiBidWlsdGluL21lcmdlLWZpbGUuYzo0MQogbXNnaWQgImZvciBjb25mbGljdHMsIHVzZSBhIHVuaW9uIHZlcnNpb24iCiBtc2dzdHIgItC/0YDQuCDQstC+0LfQvdC40LrQvdC+0LLQtdC90LjQuCDQutC+0L3RhNC70LjQutGC0L7Qsiwg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LHQtSDQstC10YDRgdC40LgiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQyCisjOiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAogbXNnaWQgImZvciBjb25mbGljdHMsIHVzZSB0aGlzIG1hcmtlciBzaXplIgogbXNnc3RyICLQv9GA0Lgg0LLQvtC30L3QuNC60L3QvtCy0LXQvdC40Lgg0LrQvtC90YTQu9C40LrRgtC+0LIsINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRjdGC0L7RgiDRgNCw0LfQvNC10YAg0LzQsNGA0LrQtdGA0LAiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQzCisjOiBidWlsdGluL21lcmdlLWZpbGUuYzo0NQogbXNnaWQgImRvIG5vdCB3YXJuIGFib3V0IGNvbmZsaWN0cyIKIG1zZ3N0ciAi0L3QtSDQv9GA0LXQtNGD0L/RgNC10LbQtNCw0YLRjCDQviDQutC+0L3RhNC70LjQutGC0LDRhSIKIAotIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6NDUKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ3CiBtc2dpZCAic2V0IGxhYmVscyBmb3IgZmlsZTEvb3JpZy1maWxlL2ZpbGUyIgogbXNnc3RyICLRg9GB0YLQsNC90L7QstC40YLRjCDQvNC10YLQutC4INC00LvRjyDRhNCw0LnQuzEv0L7RgNC40LMt0YTQsNC50Lsv0YTQsNC50LsyIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjQ1CisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gb3B0aW9uICVzIgogbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3QsNGPINC+0L/RhtC40Y8gJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTEKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDQvtCx0YrQtdC60YIgwqslc8K7IgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjU1CisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2UuIElnbm9yaW5nICVzLiIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgYmFzZXMuIElnbm9yaW5nICVzLiIKQEAgLTEyMDAyLDE2ICsxNDEzNCwxNiBAQAogbXNnc3RyWzJdICLQvdC10LLQvtC30LzQvtC20L3QviDQvtCx0YDQsNCx0L7RgtCw0YLRjCDQsdC+0LvRjNGI0LUgJWQg0LHQsNC3LiDQmNCz0L3QvtGA0LjRgNGD0Y4gJXMuIgogbXNnc3RyWzNdICLQvdC10LLQvtC30LzQvtC20L3QviDQvtCx0YDQsNCx0L7RgtCw0YLRjCDQsdC+0LvRjNGI0LUgJWQg0LHQsNC30YsuINCY0LPQvdC+0YDQuNGA0YPRjiAlcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjMKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjQKIG1zZ2lkICJub3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgogbXNnc3RyICLQvdC1INC+0LHRgNCw0LHQsNGC0YvQstCw0Y4g0L3QuNGH0LXQs9C+LCDQutGA0L7QvNC1INGB0LvQuNGP0L3QuNGPINC00LLRg9GFINGD0LrQsNC30LDRgtC10LvQtdC5INC90LAg0LLQtdGC0LrQuC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjkgYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3MQorIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3MCBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIHJlZiAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDRgdC/0L7Qt9C90LDRgtGMINGB0YHRi9C70LrRgyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzcKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2luZyAlcyB3aXRoICVzXG4iCiBtc2dzdHIgItCh0LvQuNGP0L3QuNC1ICVzINC4ICVzXG4iCkBAIC0xMjAyNCw3ICsxNDE1Niw3IEBACiBtc2dpZCAiaW5wdXQgaXMgTlVMIHRlcm1pbmF0ZWQiCiBtc2dzdHIgItCy0LLQvtC0INC+0YLQtNC10LvRkdC90L3Ri9C5INCd0KPQm9CV0JLQq9Cc0Jgg0YHQuNC80LLQvtC70LDQvNC4IgogCi0jOiBidWlsdGluL21rdHJlZS5jOjE1NSBidWlsdGluL3dyaXRlLXRyZWUuYzoyNQorIzogYnVpbHRpbi9ta3RyZWUuYzoxNTUgYnVpbHRpbi93cml0ZS10cmVlLmM6MjYKIG1zZ2lkICJhbGxvdyBtaXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgItC00L7Qv9GD0YHRgtC40YLRjCDQvtGC0YHRg9GC0YHRgtCy0LjQtSDQvtCx0YrQtdC60YLQvtCyIgogCkBAIC0xMjAzMiw5NCArMTQxNjQsMTExIEBACiBtc2dpZCAiYWxsb3cgY3JlYXRpb24gb2YgbW9yZSB0aGFuIG9uZSB0cmVlIgogbXNnc3RyICLQtNC+0L/Rg9GB0YLQuNGC0Ywg0YHQvtC30LTQsNC90LjQtSDQsdC+0LvQtdC1INC+0LTQvdC+0LPQviDQtNC10YDQtdCy0LAiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNworIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6OQorbXNnaWQgImdpdCBtdWx0aS1wYWNrLWluZGV4IFstLW9iamVjdC1kaXI9PGRpcj5dICh3cml0ZXx2ZXJpZnkpIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjIyCittc2dpZCAib2JqZWN0IGRpcmVjdG9yeSBjb250YWluaW5nIHNldCBvZiBwYWNrZmlsZSBhbmQgcGFjay1pbmRleCBwYWlycyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo0MCBidWlsdGluL3BydW5lLXBhY2tlZC5jOjY3Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCB2ZXJiOiAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL212LmM6MTgKIG1zZ2lkICJnaXQgbXYgWzxvcHRpb25zPl0gPHNvdXJjZT4uLi4gPGRlc3RpbmF0aW9uPiIKIG1zZ3N0ciAiZ2l0IG12IFs80L7Qv9GG0LjQuD5dIDzQuNGB0YLQvtGH0L3QuNC6PuKApiA80L3QsNC30L3QsNGH0LXQvdC40LU+IgogCi0jOiBidWlsdGluL212LmM6ODIKKyM6IGJ1aWx0aW4vbXYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCiBtc2dzdHIgItCa0LDRgtCw0LvQvtCzICVzINCyINC40L3QtNC10LrRgdC1INC4INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQv9C+0LTQvNC+0LTRg9C70LXQvD8iCiAKLSM6IGJ1aWx0aW4vbXYuYzo4NAorIzogYnVpbHRpbi9tdi5jOjg1CiBtc2dpZCAiUGxlYXNlIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCiBtc2dzdHIgItCn0YLQvtCx0Ysg0L/RgNC+0LTQvtC70LbQuNGC0YwsINC/0YDQvtC40L3QtNC10LrRgdC40YDRg9C50YLQtSDQuNC70Lgg0YHQv9GA0Y/Rh9GM0YLQtSDQstCw0YjQuCDQuNC30LzQtdC90LXQvdC40Y8g0LIg0YTQsNC50LvQtSAuZ2l0bW9kdWxlcyIKIAotIzogYnVpbHRpbi9tdi5jOjEwMgorIzogYnVpbHRpbi9tdi5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlLipzIGlzIGluIGluZGV4IgogbXNnc3RyICIlLipzINCyINC40L3QtNC10YHQtSIKIAotIzogYnVpbHRpbi9tdi5jOjEyNAorIzogYnVpbHRpbi9tdi5jOjEyNQogbXNnaWQgImZvcmNlIG1vdmUvcmVuYW1lIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAi0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L4g0L/QtdGA0LXQvNC10YnQsNGC0Ywv0L/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0YwsINC00LDQttC1INC10YHQu9C4INGG0LXQu9GMINGB0YPRidC10YHRgtCy0YPQtdGCIgogCi0jOiBidWlsdGluL212LmM6MTI2CisjOiBidWlsdGluL212LmM6MTI3CiBtc2dpZCAic2tpcCBtb3ZlL3JlbmFtZSBlcnJvcnMiCiBtc2dzdHIgItC/0YDQvtC/0YPRgdC60LDRgtGMINC+0YjQuNCx0LrQuCDQv9GA0Lgg0L/QtdGA0LXQvNC10YnQtdC90LjQuC/Qv9C10YDQtdC40LzQtdC90L7QstCw0L3QuNC4IgogCi0jOiBidWlsdGluL212LmM6MTY4CisjOiBidWlsdGluL212LmM6MTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uICclcycgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICLRhtC10LvQtdCy0L7QuSDQv9GD0YLRjCDCqyVzwrsg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC60LDRgtCw0LvQvtCz0L7QvCIKIAotIzogYnVpbHRpbi9tdi5jOjE3OQorIzogYnVpbHRpbi9tdi5jOjE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyByZW5hbWUgb2YgJyVzJyB0byAnJXMnXG4iCiBtc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNC90LjRjyDQuNC3IMKrJXPCuyDQsiDCqyVzwrtcbiIKIAotIzogYnVpbHRpbi9tdi5jOjE4MworIzogYnVpbHRpbi9tdi5jOjE4NAogbXNnaWQgImJhZCBzb3VyY2UiCiBtc2dzdHIgItC/0LvQvtGF0L7QuSDQuNGB0YLQvtGH0L3QuNC6IgogCi0jOiBidWlsdGluL212LmM6MTg2CisjOiBidWlsdGluL212LmM6MTg3CiBtc2dpZCAiY2FuIG5vdCBtb3ZlIGRpcmVjdG9yeSBpbnRvIGl0c2VsZiIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC/0LXRgNC10LzQtdGB0YLQuNGC0Ywg0LrQsNGC0LDQu9C+0LMg0LIg0YHQsNC80L7Qs9C+INGB0LXQsdGPIgogCi0jOiBidWlsdGluL212LmM6MTg5CisjOiBidWlsdGluL212LmM6MTkwCiBtc2dpZCAiY2Fubm90IG1vdmUgZGlyZWN0b3J5IG92ZXIgZmlsZSIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC/0LXRgNC10LzQtdGB0YLQuNGC0Ywg0LrQsNGC0LDQu9C+0LMg0LIg0YTQsNC50LsiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxOTgKKyM6IGJ1aWx0aW4vbXYuYzoxOTkKIG1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgogbXNnc3RyICLQuNGB0YXQvtC00L3Ri9C5INC60LDRgtCw0LvQvtCzINC/0YPRgdGCIgogCi0jOiBidWlsdGluL212LmM6MjIzCisjOiBidWlsdGluL212LmM6MjI0CiBtc2dpZCAibm90IHVuZGVyIHZlcnNpb24gY29udHJvbCIKIG1zZ3N0ciAi0L3QtSDQv9C+0LQg0LLQtdGA0YHQuNC+0L3QvdGL0Lwg0LrQvtC90YLRgNC+0LvQtdC8IgogCi0jOiBidWlsdGluL212LmM6MjI2CisjOiBidWlsdGluL212LmM6MjI3CiBtc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgogbXNnc3RyICLRhtC10LvQtdCy0L7QuSDQv9GD0YLRjCDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMzQKKyM6IGJ1aWx0aW4vbXYuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAib3ZlcndyaXRpbmcgJyVzJyIKIG1zZ3N0ciAi0L/QtdGA0LXQt9Cw0L/QuNGB0Ywgwqslc8K7IgogCi0jOiBidWlsdGluL212LmM6MjM3CisjOiBidWlsdGluL212LmM6MjM4CiBtc2dpZCAiQ2Fubm90IG92ZXJ3cml0ZSIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC30LDQv9C40YHQsNGC0YwiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNDAKKyM6IGJ1aWx0aW4vbXYuYzoyNDEKIG1zZ2lkICJtdWx0aXBsZSBzb3VyY2VzIGZvciB0aGUgc2FtZSB0YXJnZXQiCiBtc2dzdHIgItC90LXRgdC60L7Qu9GM0LrQviDQuNGB0YLQvtGH0L3QuNC60L7QsiDQtNC70Y8g0L7QtNC90L7Qs9C+INGG0LXQu9C10LLQvtCz0L4g0L/Rg9GC0LgiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNDIKKyM6IGJ1aWx0aW4vbXYuYzoyNDMKIG1zZ2lkICJkZXN0aW5hdGlvbiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgItGG0LXQu9C10LLQvtC5INC60LDRgtCw0LvQvtCzINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNDkKKyM6IGJ1aWx0aW4vbXYuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsIHNvdXJjZT0lcywgZGVzdGluYXRpb249JXMiCiBtc2dzdHIgIiVzLCDQvtGC0LrRg9C00LA9JXMsINC60YPQtNCwPSVzIgogCi0jOiBidWlsdGluL212LmM6MjcwCisjOiBidWlsdGluL212LmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzXG4iCiBtc2dzdHIgItCf0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40LUgJXMg0LIgJXNcbiIKIAotIzogYnVpbHRpbi9tdi5jOjI3NiBidWlsdGluL3JlbW90ZS5jOjcxNiBidWlsdGluL3JlcGFjay5jOjQ5NAorIzogYnVpbHRpbi9tdi5jOjI3NyBidWlsdGluL3JlbW90ZS5jOjcxNyBidWlsdGluL3JlcGFjay5jOjUxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW5hbWluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0L/RgNC4INC/0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40Lggwqslc8K7IgpAQCAtMTIxMzYsMzUgKzE0Mjg1LDM1IEBACiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tc3RkaW4iCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPNC+0L/RhtC40Lg+XSAtLXN0ZGluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDEzCisjOiBidWlsdGluL25hbWUtcmV2LmM6NDE1CiBtc2dpZCAicHJpbnQgb25seSBuYW1lcyAobm8gU0hBLTEpIgogbXNnc3RyICLQstGL0LLQvtC00LjRgtGMINGC0L7Qu9GM0LrQviDQuNC80LXQvdCwICjQsdC10LcgU0hBLTEpIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDE0CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDE2CiBtc2dpZCAib25seSB1c2UgdGFncyB0byBuYW1lIHRoZSBjb21taXRzIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+INC80LXRgtC60Lgg0LTQu9GPINC40LzQtdC90L7QstCw0L3QuNGPINC60L7QvNC80LjRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTgKIG1zZ2lkICJvbmx5IHVzZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviDRgdGB0YvQu9C60LgsINGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjQtSA80YjQsNCx0LvQvtC90YM+ICIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxOAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQyMAogbXNnaWQgImlnbm9yZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAi0LjQs9C90L7RgNC40YDQvtCy0LDRgtGMINGB0YHRi9C70LrQuCwg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNC1IDzRiNCw0LHQu9C+0L3Rgz4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjAKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjIKIG1zZ2lkICJsaXN0IGFsbCBjb21taXRzIHJlYWNoYWJsZSBmcm9tIGFsbCByZWZzIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0LLRgdC10YUg0LrQvtC80LzQuNGC0L7Qsiwg0LTQvtGB0YLQuNC20LjQvNGL0YUg0YHQviDQstGB0LXRhSDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjEKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjMKIG1zZ2lkICJyZWFkIGZyb20gc3RkaW4iCiBtc2dzdHIgItC/0YDQvtGH0LjRgtCw0YLRjCDQuNC3INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNCwIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDIyCisjOiBidWlsdGluL25hbWUtcmV2LmM6NDI0CiBtc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMgKGRlZmF1bHQpIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0LLRi9Cy0L7QtCDCq3VuZGVmaW5lZMK7LCDQtdGB0LvQuCDQvdC1INC90LDQudC00LXQvdC+ICjQv9C+INGD0LzQvtC70YfQsNC90LjRjikiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MzAKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKIG1zZ3N0ciAi0YDQsNC30YvQvNC10L3QvtCy0YvQstCw0YLRjCDQstCy0LXQtNC10L3QvdGL0LUg0LzQtdGC0LrQuCAo0LTQu9GPINCy0L3Rg9GC0YDQtdC90L3QtdCz0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8pIgogCkBAIC0xMjMwNCwyMjQgKzE0NDUzLDIxOSBAQAogbXNnaWQgInRoZSBub3RlIGNvbnRlbnRzIGhhdmUgYmVlbiBsZWZ0IGluICVzIgogbXNnc3RyICLRgdC+0LTQtdGA0LbQuNC80L7QtSDQt9Cw0LzQtdGC0LrQuCDQvtGB0YLQsNC70L7RgdGMINCyICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjM2IGJ1aWx0aW4vdGFnLmM6NTA4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkICclcyciCi1tc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMIMKrJXPCuyIKLQotIzogYnVpbHRpbi9ub3Rlcy5jOjIzOCBidWlsdGluL3RhZy5jOjUxMQorIzogYnVpbHRpbi9ub3Rlcy5jOjI0MiBidWlsdGluL3RhZy5jOjUyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywg0LjQu9C4INC/0YDQvtGH0LjRgtCw0YLRjCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNTcgYnVpbHRpbi9ub3Rlcy5jOjMwOCBidWlsdGluL25vdGVzLmM6MzEwCi0jOiBidWlsdGluL25vdGVzLmM6Mzc4IGJ1aWx0aW4vbm90ZXMuYzo0MzMgYnVpbHRpbi9ub3Rlcy5jOjUxOQotIzogYnVpbHRpbi9ub3Rlcy5jOjUyNCBidWlsdGluL25vdGVzLmM6NjAyIGJ1aWx0aW4vbm90ZXMuYzo2NjQKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNjMgYnVpbHRpbi9ub3Rlcy5jOjMxMyBidWlsdGluL25vdGVzLmM6MzE1CisjOiBidWlsdGluL25vdGVzLmM6MzgzIGJ1aWx0aW4vbm90ZXMuYzo0MzggYnVpbHRpbi9ub3Rlcy5jOjUyNgorIzogYnVpbHRpbi9ub3Rlcy5jOjUzMSBidWlsdGluL25vdGVzLmM6NjEwIGJ1aWx0aW4vbm90ZXMuYzo2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30YDQtdGI0LjRgtGMIMKrJXPCuyDQutCw0Log0YHRgdGL0LvQutGDLiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI2MAorIzogYnVpbHRpbi9ub3Rlcy5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBvYmplY3QgJyVzJy4iCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINC+0LHRitC10LrRgiDCqyVzwrsuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MjY0CisjOiBidWlsdGluL25vdGVzLmM6MjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIG5vdGUgZGF0YSBmcm9tIG5vbi1ibG9iIG9iamVjdCAnJXMnLiIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0LTQsNC90L3Ri9C1INC30LDQvNC10YLQutC4INC40Lcg0L3QtdC00LLQvtC40YfQvdC+0LPQviDQvtCx0YrQtdC60YLQsCDCqyVzwrsuIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzA0CisjOiBidWlsdGluL25vdGVzLmM6MzA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QsNGPINCy0LLQtdC00LXQvdC90LDRjyDRgdGC0YDQvtC60LA6IMKrJXPCuy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozMTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQutC+0L/QuNGA0L7QstCw0YLRjCDQt9Cw0LzQtdGC0LrRgyDQuNC3IMKrJXPCuyDQsiDCqyVzwrsiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGUgZmlyc3QgJXMgd2lsbCBiZSByZXBsYWNlZCBieSBhIGdpdAogIy4gbm90ZXMgY29tbWFuZDogJ2FkZCcsICdtZXJnZScsICdyZW1vdmUnLCBldGMuCi0jOiBidWlsdGluL25vdGVzLmM6MzUxCisjOiBidWlsdGluL25vdGVzLmM6MzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvICVzIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKIG1zZ3N0ciAi0L7RgtC60LDQtyDQsiDQv9C10YDQtdC30LDQv9C40YHQuCAlcyDQt9Cw0LzQtdGC0L7QuiDQsiAlcyAo0LfQsCDQv9GA0LXQtNC10LvQsNC80LggcmVmcy9ub3Rlcy8pIgogCi0jOiBidWlsdGluL25vdGVzLmM6MzcxIGJ1aWx0aW4vbm90ZXMuYzo0MjYgYnVpbHRpbi9ub3Rlcy5jOjUwMgotIzogYnVpbHRpbi9ub3Rlcy5jOjUxNCBidWlsdGluL25vdGVzLmM6NTkwIGJ1aWx0aW4vbm90ZXMuYzo2NTcKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MDcgYnVpbHRpbi9ub3Rlcy5jOjk1NCBidWlsdGluL25vdGVzLmM6OTc1CisjOiBidWlsdGluL25vdGVzLmM6Mzc2IGJ1aWx0aW4vbm90ZXMuYzo0MzEgYnVpbHRpbi9ub3Rlcy5jOjUwOQorIzogYnVpbHRpbi9ub3Rlcy5jOjUyMSBidWlsdGluL25vdGVzLmM6NTk4IGJ1aWx0aW4vbm90ZXMuYzo2NjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MTUgYnVpbHRpbi9ub3Rlcy5jOjk2MyBidWlsdGluL25vdGVzLmM6OTg1CiBtc2dpZCAidG9vIG1hbnkgcGFyYW1ldGVycyIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0L3QviDRgdC70LjRiNC60L7QvCDQvNC90L7Qs9C+INC/0LDRgNCw0LzQtdGC0YDQvtCyIgogCi0jOiBidWlsdGluL25vdGVzLmM6Mzg0IGJ1aWx0aW4vbm90ZXMuYzo2NzAKKyM6IGJ1aWx0aW4vbm90ZXMuYzozODkgYnVpbHRpbi9ub3Rlcy5jOjY3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgogbXNnc3RyICLQvdC1INC90LDQudC00LXQvdCwINC30LDQvNC10YLQutCwINC00LvRjyDQvtCx0YrQtdC60YLQsCAlcy4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MDUgYnVpbHRpbi9ub3Rlcy5jOjU2OAorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMCBidWlsdGluL25vdGVzLmM6NTc2CiBtc2dpZCAibm90ZSBjb250ZW50cyBhcyBhIHN0cmluZyIKIG1zZ3N0ciAi0YLQtdC60YHRgtC+0LLQvtC1INGB0L7QtNC10YDQttC40LzQvtC1INC30LDQvNC10YLQutC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6NDA4IGJ1aWx0aW4vbm90ZXMuYzo1NzEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTMgYnVpbHRpbi9ub3Rlcy5jOjU3OQogbXNnaWQgIm5vdGUgY29udGVudHMgaW4gYSBmaWxlIgogbXNnc3RyICLRgdC+0LTQtdGA0LbQuNC80L7QtSDQt9Cw0LzQtdGC0LrQuCDQsiDRhNCw0LnQu9C1IgogCi0jOiBidWlsdGluL25vdGVzLmM6NDExIGJ1aWx0aW4vbm90ZXMuYzo1NzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTYgYnVpbHRpbi9ub3Rlcy5jOjU4MgogbXNnaWQgInJldXNlIGFuZCBlZGl0IHNwZWNpZmllZCBub3RlIG9iamVjdCIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC4INC+0YLRgNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDRg9C60LDQt9Cw0L3QvdGL0Lkg0L7QsdGK0LXQutGCINC30LDQvNC10YLQutC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6NDE0IGJ1aWx0aW4vbm90ZXMuYzo1NzcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTkgYnVpbHRpbi9ub3Rlcy5jOjU4NQogbXNnaWQgInJldXNlIHNwZWNpZmllZCBub3RlIG9iamVjdCIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGD0LrQsNC30LDQvdC90YvQuSDQvtCx0YrQtdC60YIg0LfQsNC80LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTcgYnVpbHRpbi9ub3Rlcy5jOjU4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjQyMiBidWlsdGluL25vdGVzLmM6NTg4CiBtc2dpZCAiYWxsb3cgc3RvcmluZyBlbXB0eSBub3RlIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0YHQvtGF0YDQsNC90LXQvdC40LUg0L/Rg9GB0YLQvtC5INC30LDQvNC10YLQutC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6NDE4IGJ1aWx0aW4vbm90ZXMuYzo0ODkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MjMgYnVpbHRpbi9ub3Rlcy5jOjQ5NgogbXNnaWQgInJlcGxhY2UgZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgItC30LDQvNC10L3QuNGC0Ywg0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNC1INC30LDQvNC10YLQutC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6NDQzCisjOiBidWlsdGluL25vdGVzLmM6NDQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgYWRkIG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgogImV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC00L7QsdCw0LLQuNGC0Ywg0LfQsNC80LXRgtC60YMuINCd0LDQudC00LXQvdCwINGB0YPRidC10YHRgtCy0YPRjtGJ0LDRjyDQt9Cw0LzQtdGC0LrQsCDRgyDQvtCx0YrQtdC60YLQsCAlcy4g0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQv9Cw0YDQsNC80LXRgtGAIMKrLWbCuyDQtNC70Y8g0L/QtdGA0LXQt9Cw0L/QuNGB0Lgg0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNGFINC30LDQvNC10YLQvtC6LiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ1OCBidWlsdGluL25vdGVzLmM6NTM3CisjOiBidWlsdGluL25vdGVzLmM6NDYzIGJ1aWx0aW4vbm90ZXMuYzo1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICLQn9C10YDQtdC30LDQv9C40YHRjCDRgdGD0YnQtdGB0YLQstGD0Y7RidC40YUg0LfQsNC80LXRgtC+0Log0YMg0L7QsdGK0LXQutGC0LAgJXNcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ2OSBidWlsdGluL25vdGVzLmM6NjI5IGJ1aWx0aW4vbm90ZXMuYzo4OTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NzUgYnVpbHRpbi9ub3Rlcy5jOjYzNyBidWlsdGluL25vdGVzLmM6OTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIG5vdGUgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICLQo9C00LDQu9C10L3QuNC1INC30LDQvNC10YLQutC4INGDINC+0LHRitC10LrRgtCwICVzXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0OTAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0OTcKIG1zZ2lkICJyZWFkIG9iamVjdHMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAi0L/RgNC+0YfQuNGC0LDRgtGMINC+0LHRitC10LrRgtGLINC40Lcg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LAiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0OTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0OTkKIG1zZ2lkICJsb2FkIHJld3JpdGluZyBjb25maWcgZm9yIDxjb21tYW5kPiAoaW1wbGllcyAtLXN0ZGluKSIKIG1zZ3N0ciAi0LfQsNCz0YDRg9C30LjRgtGMINC90LDRgdGC0YDQvtC50LrQuCDQv9C10YDQtdC30LDQv9C40YHQuCDQtNC70Y8g0LrQvtC80LDQvdC00YsgPNC60L7QvNCw0L3QtNCwPiAo0LLQutC70Y7Rh9Cw0LXRgiDQsiDRgdC10LHRjyAtLXN0ZGluKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUxMAorIzogYnVpbHRpbi9ub3Rlcy5jOjUxNwogbXNnaWQgInRvbyBmZXcgcGFyYW1ldGVycyIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0L3QviDRgdC70LjRiNC60L7QvCDQvNCw0LvQviDQv9Cw0YDQsNC80LXRgtGA0L7QsiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUzMQorIzogYnVpbHRpbi9ub3Rlcy5jOjUzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGNvcHkgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSIKICIgZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YHQutC+0L/QuNGA0L7QstCw0YLRjCDQt9Cw0LzQtdGC0LrRgy4g0J3QsNC50LTQtdC90LAg0YHRg9GJ0LXRgdGC0LLRg9GO0YnQsNGPINC30LDQvNC10YLQutCwINGDINC+0LHRitC10LrRgtCwICVzLiDQmNGB0L/QvtC70YzQt9GD0LnRgtC1INC/0LDRgNCw0LzQtdGC0YAgwqstZsK7INC00LvRjyDQv9C10YDQtdC30LDQv9C40YHQuCDRgdGD0YnQtdGB0YLQstGD0Y7RidC40YUg0LfQsNC80LXRgtC+0LouIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTQzCisjOiBidWlsdGluL25vdGVzLmM6NTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3Npbmcgbm90ZXMgb24gc291cmNlIG9iamVjdCAlcy4gQ2Fubm90IGNvcHkuIgogbXNnc3RyICLQvdC10YIg0LfQsNC80LXRgtC+0Log0YMg0LjRgdGF0L7QtNC90L7Qs9C+INC+0LHRitC10LrRgtCwICVzLiDQndC10LvRjNC30Y8g0YHQutC+0L/QuNGA0L7QstCw0YLRjC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1OTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtbS8tRi8tYy8tQyBvcHRpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgJ2VkaXQnIHN1YmNvbW1hbmQuXG4iCiAiUGxlYXNlIHVzZSAnZ2l0IG5vdGVzIGFkZCAtZiAtbS8tRi8tYy8tQycgaW5zdGVhZC5cbiIKIG1zZ3N0ciAi0J7Qv9GG0LjQuCAtbS8tRi8tYy8tQyDQtNC70Y8g0L/QvtC00LrQvtC80LDQvdC00YsgwqtlZGl0wrsg0YPRgdGC0LDRgNC10LvQuC5cbtCY0YHQv9C+0LvRjNC30YPQudGC0LUg0LLQvNC10YHRgtC+INC90LjRhSDCq2dpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUPCuy5cbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY5MAorIzogYnVpbHRpbi9ub3Rlcy5jOjY5OAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YHRgdGL0LvQutGDIE5PVEVTX01FUkdFX1BBUlRJQUwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2OTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MDAKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9SRUYiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YHRgdGL0LvQutGDIE5PVEVTX01FUkdFX1JFRiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjcwMgogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJ2dpdCBub3RlcyBtZXJnZScgd29ya3RyZWUiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMgwqtnaXQgbm90ZXMgbWVyZ2XCuyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxNAorIzogYnVpbHRpbi9ub3Rlcy5jOjcyMgogbXNnaWQgImZhaWxlZCB0byByZWFkIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRgdGB0YvQu9C60YMgTk9URVNfTUVSR0VfUEFSVElBTCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxNgorIzogYnVpbHRpbi9ub3Rlcy5jOjcyNAogbXNnaWQgImNvdWxkIG5vdCBmaW5kIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0LrQvtC80LzQuNGCINC40LcgTk9URVNfTUVSR0VfUEFSVElBTC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MTgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjYKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINC60L7QvNC80LjRgiDQuNC3IE5PVEVTX01FUkdFX1BBUlRJQUwuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzMxCisjOiBidWlsdGluL25vdGVzLmM6NzM5CiBtc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgTk9URVNfTUVSR0VfUkVGIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9GA0LXRiNC40YLRjCBOT1RFU19NRVJHRV9SRUYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MzQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NDIKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgbm90ZXMgbWVyZ2UiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNCy0LXRgNGI0LjRgtGMINGB0LvQuNC90LjQtSDQt9Cw0LzQtdGC0L7QuiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc2MAorIzogYnVpbHRpbi9ub3Rlcy5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG5vdGVzIG1lcmdlIHN0cmF0ZWd5ICVzIgogbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3QsNGPINGB0YLRgNCw0YLQtdCz0LjRjyDRgdC70LjRj9C90LjRjyDQt9Cw0LzQtdGC0L7QuiAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc3NgorIzogYnVpbHRpbi9ub3Rlcy5jOjc4NAogbXNnaWQgIkdlbmVyYWwgb3B0aW9ucyIKIG1zZ3N0ciAi0J7QsdGJ0LjQtSDQvtC/0YbQuNC4IgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzc4CisjOiBidWlsdGluL25vdGVzLmM6Nzg2CiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAi0J7Qv9GG0LjQuCDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjc4OAogbXNnaWQgIiIKICJyZXNvbHZlIG5vdGVzIGNvbmZsaWN0cyB1c2luZyB0aGUgZ2l2ZW4gc3RyYXRlZ3kgIgogIihtYW51YWwvb3Vycy90aGVpcnMvdW5pb24vY2F0X3NvcnRfdW5pcSkiCiBtc2dzdHIgItGA0LDQt9GA0LXRiNC40YLRjCDQutC+0L3RhNC70LjQutGC0Ysg0LfQsNC80LXRgtC+0Log0YEg0L/QvtC80L7RidGM0Y4g0YPQutCw0LfQsNC90L3QvtC5INGB0YLRgNCw0YLQtdCz0LjQuCAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uL2NhdF9zb3J0X3VuaXEpIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgyCisjOiBidWlsdGluL25vdGVzLmM6NzkwCiBtc2dpZCAiQ29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAi0JrQvtC80LzQuNGCINC90LUg0YHQu9C40YLRi9GFINC30LDQvNC10YLQvtC6IgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzg0CisjOiBidWlsdGluL25vdGVzLmM6NzkyCiBtc2dpZCAiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAi0LfQsNCy0LXRgNGI0LjRgtGMINGB0LvQuNGP0L3QuNC1INC30LDQvNC10YLQvtC6INC60L7QvNC80LjRgtC+0Lwg0L3QtSDRgdC70LjRgtGL0YUg0LfQsNC80LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTQKIG1zZ2lkICJBYm9ydGluZyBub3RlcyBtZXJnZSByZXNvbHV0aW9uIgogbXNnc3RyICLQntGC0LzQtdC90LAg0YDQsNC30YDQtdGI0LXQvdC40Y8g0YHQu9C40Y/QvdC40Y8g0LfQsNC80LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTYKIG1zZ2lkICJhYm9ydCBub3RlcyBtZXJnZSIKIG1zZ3N0ciAi0L7RgtC80LXQvdC40YLRjCDRgdC70LjRj9C90LjQtSDQt9Cw0LzQtdGC0L7QuiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5OQorIzogYnVpbHRpbi9ub3Rlcy5jOjgwNwogbXNnaWQgImNhbm5vdCBtaXggLS1jb21taXQsIC0tYWJvcnQgb3IgLXMvLS1zdHJhdGVneSIKIG1zZ3N0ciAi0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4gLS1jb21taXQsIC0tYWJvcnQg0LggLXMvLS1zdHJhdGVneSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjgwNAorIzogYnVpbHRpbi9ub3Rlcy5jOjgxMgogbXNnaWQgIm11c3Qgc3BlY2lmeSBhIG5vdGVzIHJlZiB0byBtZXJnZSIKIG1zZ3N0ciAi0LLRiyDQtNC+0LvQttC90Ysg0YPQutCw0LfQsNGC0Ywg0YHRgdGL0LvQutGDINC30LDQvNC10YLQutC4INC00LvRjyDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjgyOAorIzogYnVpbHRpbi9ub3Rlcy5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIC1zLy0tc3RyYXRlZ3k6ICVzIgogbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INC/0LDRgNCw0LzQtdGC0YAg0LTQu9GPIC1zLy0tc3RyYXRlZ3k6ICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODY1CisjOiBidWlsdGluL25vdGVzLmM6ODczCiAjLCBjLWZvcm1hdAogbXNnaWQgImEgbm90ZXMgbWVyZ2UgaW50byAlcyBpcyBhbHJlYWR5IGluLXByb2dyZXNzIGF0ICVzIgogbXNnc3RyICLRgdC70LjRj9C90LjQtSDQt9Cw0LzQtdGC0L7QuiDQsiAlcyDRg9C20LUg0LLRi9C/0L7Qu9C90Y/QtdGC0YHRjyDQvdCwICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODY4CisjOiBidWlsdGluL25vdGVzLmM6ODc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdG9yZSBsaW5rIHRvIGN1cnJlbnQgbm90ZXMgcmVmICglcykiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtGF0YDQsNC90LjRgtGMINCw0LTRgNC10YEg0YLQtdC60YPRidC10Lkg0YHRgdGL0LvQutC4INC90LAg0LfQsNC80LXRgtC60YMgKCVzKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg3MAorIzogYnVpbHRpbi9ub3Rlcy5jOjg3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXV0b21hdGljIG5vdGVzIG1lcmdlIGZhaWxlZC4gRml4IGNvbmZsaWN0cyBpbiAlcyBhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCIKQEAgLTEyNTI5LDQxOCArMTQ2NzMsNDMxIEBACiAiLS1hYm9ydCcuXG4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60Lgg0YHQu9C40YLRjCDQt9Cw0LzQtdGC0LrQuC4g0JjRgdC/0YDQsNCy0YzRgtC1INC60L7QvdGE0LvQuNC60YLRiyDQsiAlcyDQuCDQt9Cw0LrQvtC80LzQuNGC0YzRgtC1INGA0LXQt9GD0LvRjNGC0LDRgiDRgSDQv9C+0LzQvtGJ0YzRjiDCq2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdMK7LCDQuNC70Lgg0L/RgNC10YDQstC40YLQtSDQv9GA0L7RhtC10YHRgSDRgdC70LjRj9C90LjRjyDRgSDQv9C+0LzQvtGJ0YzRjiDCq2dpdCBub3RlcyBtZXJnZSAtLWFib3J0wrsuXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4OTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4OTcgYnVpbHRpbi90YWcuYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30YDQtdGI0LjRgtGMIMKrJXPCuyDQutCw0Log0YHRgdGL0LvQutGDLiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjkwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJPYmplY3QgJXMgaGFzIG5vIG5vdGVcbiIKIG1zZ3N0ciAi0KMg0L7QsdGK0LXQutGC0LAgJXMg0L3QtdGCINC30LDQvNC10YLQutC4XG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5MDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MTIKIG1zZ2lkICJhdHRlbXB0IHRvIHJlbW92ZSBub24tZXhpc3RlbnQgbm90ZSBpcyBub3QgYW4gZXJyb3IiCiBtc2dzdHIgItC/0L7Qv9GL0YLQutCwINGD0LTQsNC70LXQvdC40Y8g0L3QtdGB0YPRidC10YHRgtCy0YPRjtGJ0LXQuSDQt9Cw0LzQtdGC0LrQuCDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0L7RiNC40LHQutC+0LkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5MDcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MTUKIG1zZ2lkICJyZWFkIG9iamVjdCBuYW1lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi0L/RgNC+0YfQuNGC0LDRgtGMINC40LzQtdC90LAg0L7QsdGK0LXQutGC0L7QsiDQuNC3INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNCwIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTQ1IGJ1aWx0aW4vcHJ1bmUuYzoxMDggYnVpbHRpbi93b3JrdHJlZS5jOjE1MQorIzogYnVpbHRpbi9ub3Rlcy5jOjk1NCBidWlsdGluL3BydW5lLmM6MTMwIGJ1aWx0aW4vd29ya3RyZWUuYzoxNjUKIG1zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvRj9GC0YwsINGC0L7Qu9GM0LrQviDQv9C+0LrQsNC30LDRgtGMINGB0L/QuNGB0L7QuiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk0NgorIzogYnVpbHRpbi9ub3Rlcy5jOjk1NQogbXNnaWQgInJlcG9ydCBwcnVuZWQgbm90ZXMiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INGB0L/QuNGB0L7QuiDRg9C00LDQu9C10L3QvdGL0YUg0LfQsNC80LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5ODgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5OTgKIG1zZ2lkICJub3Rlcy1yZWYiCiBtc2dzdHIgItGB0YHRi9C70LrQsC3QvdCwLdC30LDQvNC10YLQutGDIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTg5CisjOiBidWlsdGluL25vdGVzLmM6OTk5CiBtc2dpZCAidXNlIG5vdGVzIGZyb20gPG5vdGVzLXJlZj4iCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQt9Cw0LzQtdGC0LrRgyDQuNC3IDzRgdGB0YvQu9C60LAt0L3QsC3Qt9Cw0LzQtdGC0LrRgz4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoxMDI0CisjOiBidWlsdGluL25vdGVzLmM6MTAzNCBidWlsdGluL3N0YXNoLmM6MTYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHN1YmNvbW1hbmQ6ICVzIgogbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3QsNGPINC/0L7QtNC60L7QvNCw0L3QtNCwOiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1MgogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8b3B0aW9ucz4uLi5dIFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs80L7Qv9GG0LjQuD7igKZdIFs8IDzRgdC/0LjRgdC+0Lot0YHRgdGL0LvQvtC6PiB8IDwgPNGB0L/QuNGB0L7Qui3QvtCx0YrQtdC60YLQvtCyPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTMKIG1zZ2lkICIiCiAiZ2l0IHBhY2stb2JqZWN0cyBbPG9wdGlvbnM+Li4uXSA8YmFzZS1uYW1lPiBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKIG1zZ3N0ciAiZ2l0IHBhY2stb2JqZWN0cyBbPNC+0L/RhtC40Lg+4oCmXSA80LjQvNGPLdCx0LDQt9GLPiBbPCA80YHQv9C40YHQvtC6LdGB0YHRi9C70L7Quj4gfCA8IDzRgdC/0LjRgdC+0Lot0L7QsdGK0LXQutGC0L7Qsj5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjQxNAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2tlZCBvYmplY3QgQ1JDIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjQyNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBwYWNrZWQgb2JqZWN0IGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjU1NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVjdXJzaXZlIGRlbHRhIGRldGVjdGVkIGZvciBvYmplY3QgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9yZGVyZWQgJXUgb2JqZWN0cywgZXhwZWN0ZWQgJTxQUkl1MzI+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzY5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBpcyBpbnZhbGlkOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc3MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gcGFja2ZpbGUgZm9yIHJldXNlOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc3NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTgKIG1zZ2lkICJ1bmFibGUgdG8gc2VlayBpbiByZXVzZWQgcGFja2ZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3ODgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODA5CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgZnJvbSByZXVzZWQgcGFja2ZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4MTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODM3CiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBwYWNrcyBhcmUgc3BsaXQgZHVlIHRvIHBhY2sucGFja1NpemVMaW1pdCIKIG1zZ3N0ciAi0L7RgtC60LvRjtGH0LXQvdC40LUg0LfQsNC/0LjRgdC4INCx0LjRgtC+0LLRi9GFINC60LDRgNGCLCDRgtCw0Log0LrQsNC6INC60LDRgNGC0Ysg0LHRi9C70Lgg0YDQsNC30LHQuNGC0Ysg0L3QsCDRh9Cw0YHRgtC4INC40Lct0LfQsCBwYWNrLnBhY2tTaXplTGltaXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODI5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjg1MAogbXNnaWQgIldyaXRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi0JfQsNC/0LjRgdGMINC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODkxIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTEyIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIHN0YXQgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTQ0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjk2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3cm90ZSAlPFBSSXUzMj4gb2JqZWN0cyB3aGlsZSBleHBlY3RpbmcgJTxQUkl1MzI+IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTExMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMTYxCiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBhcyBzb21lIG9iamVjdHMgYXJlIG5vdCBiZWluZyBwYWNrZWQiCiBtc2dzdHIgItC+0YLQutC70Y7Rh9C10L3QuNC1INC30LDQv9C40YHQuCDQsdC40YLQvtCy0YvRhSDQutCw0YDRgiwg0YLQsNC6INC60LDQuiDQvdC10LrQvtGC0L7RgNGL0LUg0L7QsdGK0LXQutGC0Ysg0L3QtSDQsdGL0LvQuCDRg9C/0LDQutC+0LLQsNC90YsiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTQ4OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IG92ZXJmbG93IGluIHBhY2sgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTQ5OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IG91dCBvZiBib3VuZCBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNzcxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NjcKIG1zZ2lkICJDb3VudGluZyBvYmplY3RzIgogbXNnc3RyICLQn9C+0LTRgdGH0LXRgiDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE5MTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTk5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IHNpemUgb2YgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDRgNCw0LfQvNC10YAgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTkyOAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBvYmplY3QgaGVhZGVyIG9mICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGA0LDQt9C+0LHRgNCw0YLRjCDQt9Cw0LPQvtC70L7QstC+0Log0L7QsdGK0LXQutGC0LAgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTk5NSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwMTEKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjAyMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDgyIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA5OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBjYW5ub3QgYmUgcmVhZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE5OTggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDI1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwODUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTEyCiAjLCBjLWZvcm1hdAotbXNnaWQgIm9iamVjdCAlcyBpbmNvbnNpc3RlbnQgb2JqZWN0IGxlbmd0aCAoJWx1IHZzICVsdSkiCittc2dpZCAib2JqZWN0ICVzIGluY29uc2lzdGVudCBvYmplY3QgbGVuZ3RoICglPFBSSXVNQVg+IHZzICU8UFJJdU1BWD4pIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjAzNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTIyCiBtc2dpZCAic3Vib3B0aW1hbCBwYWNrIC0gb3V0IG9mIG1lbW9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIzNjkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWx0YSBjb21wcmVzc2lvbiB1c2luZyB1cCB0byAlZCB0aHJlYWRzIgogbXNnc3RyICLQn9GA0Lgg0YHQttCw0YLQuNC4INC40LfQvNC10L3QtdC90LjQuSDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LTQviAlZCDQv9C+0YLQvtC60L7QsiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTA1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhY2sgb2JqZWN0cyByZWFjaGFibGUgZnJvbSB0YWcgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTg5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjcKIG1zZ2lkICJDb21wcmVzc2luZyBvYmplY3RzIgogbXNnc3RyICLQodC20LDRgtC40LUg0L7QsdGK0LXQutGC0L7QsiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTk1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NzMKIG1zZ2lkICJpbmNvbnNpc3RlbmN5IHdpdGggZGVsdGEgY291bnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjc0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4cGVjdGVkIGVkZ2Ugb2JqZWN0IElELCBnb3QgZ2FyYmFnZTpcbiIKICIgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjgwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4cGVjdGVkIG9iamVjdCBJRCwgZ290IGdhcmJhZ2U6XG4iCiAiICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc2MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyODU4CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgLS1taXNzaW5nIgogbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNC+0LUg0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8gLS1taXNzaW5nIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4MTkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTI3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDI1CiBtc2dpZCAiY2Fubm90IG9wZW4gcGFjayBpbmRleCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJsb29zZSBvYmplY3QgYXQgJXMgY291bGQgbm90IGJlIGV4YW1pbmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkzNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDMzCiBtc2dpZCAidW5hYmxlIHRvIGZvcmNlIGxvb3NlIG9iamVjdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwMjIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSByZXYgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwMjUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmV2aXNpb24gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwNDUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE1MwogbXNnaWQgInVuYWJsZSB0byBhZGQgcmVjZW50IG9iamVjdHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDk1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgaW5kZXggdmVyc2lvbiAlcyIKIG1zZ3N0ciAi0L3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNCw0Y8g0LLQtdGA0YHQuNGPINC40L3QtNC10LrRgdCwICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwOTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgogbXNnc3RyICLQv9C70L7RhdCw0Y8g0LLQtdGA0YHQuNGPINC40L3QtNC10LrRgdCwIMKrJXPCuyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTMwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDAKIG1zZ2lkICJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAi0L3QtSDQstGL0LLQvtC00LjRgtGMINC/0YDQvtCz0YDQtdGB0YEg0LLRi9C/0L7Qu9C90LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzEzMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQyCiBtc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciIKIG1zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQv9GA0L7Qs9GA0LXRgdGBINCy0YvQv9C+0LvQvdC10L3QuNGPIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMzQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NAogbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIgZHVyaW5nIG9iamVjdCB3cml0aW5nIHBoYXNlIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC/0YDQvtCz0YDQtdGB0YEg0LLRi9C/0L7Qu9C90LXQvdC40Y8g0LLQviDQstGA0LXQvNGPINC30LDQv9C40YHQuCDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMzcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NwogbXNnaWQgInNpbWlsYXIgdG8gLS1hbGwtcHJvZ3Jlc3Mgd2hlbiBwcm9ncmVzcyBtZXRlciBpcyBzaG93biIKIG1zZ3N0ciAi0L/QvtGF0L7QttC1INC90LAgLS1hbGwtcHJvZ3Jlc3Mg0L/RgNC4INCy0LrQu9GO0YfQtdC90L3QvtC8INC/0YDQvtCz0YDQtdGB0YHQtSDQstGL0L/QvtC70L3QtdC90LjRjyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTM4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDgKIG1zZ2lkICI8dmVyc2lvbj5bLDxvZmZzZXQ+XSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMzkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0OQogbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCiBtc2dzdHIgItC30LDQv9C40YHQsNGC0Ywg0YTQsNC50Lsg0LjQvdC00LXQutGB0LAg0L/QsNC60LXRgtCwINCyINGD0LrQsNC30LDQvdC90L7QuSDQstC10YDRgdC40Lgg0YTQvtGA0LzQsNGC0LAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE0MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjUyCiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZSIKIG1zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCDQutCw0LbQtNC+0LPQviDQstGL0YXQvtC00L3QvtCz0L4g0YTQsNC50LvQsCDQv9Cw0LrQtdGC0LAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE0NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU0CiBtc2dpZCAiaWdub3JlIGJvcnJvd2VkIG9iamVjdHMgZnJvbSBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0YfRg9C20LjQtSDQvtCx0YrQtdC60YLRiywg0LLQt9GP0YLRi9C1INC40Lcg0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC90L7Qs9C+INGF0YDQsNC90LjQu9C40YnQsCDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxNDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1NgogbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAi0LjQs9C90L7RgNC40YDQvtCy0LDRgtGMINGD0L/QsNC60L7QstCw0L3QvdGL0LUg0L7QsdGK0LXQutGC0YsiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE0OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU4CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAi0L7Qs9GA0LDQvdC40YfQuNGC0Ywg0L7QutC90L4g0L/QsNC60LXRgtCwINC/0L4g0LrQvtC70LjRh9C10YHRgtCy0YMg0L7QsdGK0LXQutGC0L7QsiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTUwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjAKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBtZW1vcnkgaW4gYWRkaXRpb24gdG8gb2JqZWN0IGxpbWl0IgogbXNnc3RyICLQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QviDQuiDQutC+0LvQuNGH0LXRgdGC0LLRgyDQvtCx0YrQtdC60YLQvtCyINC+0LPRgNCw0L3QuNGH0LjRgtGMINC+0LrQvdC+INC/0LDQutC10YLQsCDQv9C+INC/0LDQvNGP0YLQuCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTUyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjIKIG1zZ2lkICJtYXhpbXVtIGxlbmd0aCBvZiBkZWx0YSBjaGFpbiBhbGxvd2VkIGluIHRoZSByZXN1bHRpbmcgcGFjayIKIG1zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QsNGPINGA0LDQt9GA0LXRiNC10L3QvdCw0Y8g0LTQu9C40L3QsCDRhtC10L/QvtGH0LrQuCDQtNC10LvRjNGCINCyINGA0LXQt9GD0LvRjNGC0LjRgNGD0Y7RidC10Lwg0L/QsNC60LXRgtC1IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxNTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NAogbXNnaWQgInJldXNlIGV4aXN0aW5nIGRlbHRhcyIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC/0L7QstGC0L7RgNC90L4g0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNC1INC00LXQu9GM0YLRiyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTU2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjYKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBvYmplY3RzIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L/QvtCy0YLQvtGA0L3QviDRgdGD0YnQtdGB0YLQstGD0Y7RidC40LUg0L7QsdGK0LXQutGC0YsiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE1OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjY4CiBtc2dpZCAidXNlIE9GU19ERUxUQSBvYmplY3RzIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QsdGK0LXQutGC0YsgT0ZTX0RFTFRBIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxNjAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3MAogbXNnaWQgInVzZSB0aHJlYWRzIHdoZW4gc2VhcmNoaW5nIGZvciBiZXN0IGRlbHRhIG1hdGNoZXMiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvNC90L7Qs9C+0L/QvtGC0L7Rh9C90L7RgdGC0Ywg0L/RgNC4INC/0L7QuNGB0LrQtSDQu9GD0YfRiNC40YUg0YHQvtCy0L/QsNC00LXQvdC40Lkg0LTQtdC70YzRgiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTYyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzIKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgogbXNnc3RyICLQvdC1INGB0L7Qt9C00LDQstCw0YLRjCDQv9GD0YHRgtGL0LUg0LLRi9GF0L7QtNC90YvQtSDQv9Cw0LrQtdGC0YsiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE2NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjc0CiBtc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi0L/RgNC+0YfQuNGC0LDRgtGMINCw0YDQs9GD0LzQtdC90YLRiyDRgNC10LTQsNC60YbQuNC5INC40Lcg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE2NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjc2CiBtc2dpZCAibGltaXQgdGhlIG9iamVjdHMgdG8gdGhvc2UgdGhhdCBhcmUgbm90IHlldCBwYWNrZWQiCiBtc2dzdHIgItC+0LPRgNCw0L3QuNGH0LjRgtGM0YHRjyDQvtCx0YrQtdC60YLQsNC80LgsINC60L7RgtC+0YDRi9C1INC10YnQtSDQvdC1INGD0L/QsNC60L7QstCw0L3RiyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTY5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzkKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gYW55IHJlZmVyZW5jZSIKIG1zZ3N0ciAi0LLQutC70Y7Rh9C40YLRjCDQvtCx0YrQtdC60YLRiywg0LrQvtGC0L7RgNGL0LUg0LTQvtGB0YLQuNC20LjQvNGLINC/0L4g0LvRjtCx0L7QuSDQuNC3INGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTcyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODIKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgYnkgcmVmbG9nIGVudHJpZXMiCiBtc2dzdHIgItCy0LrQu9GO0YfQuNGC0Ywg0L7QsdGK0LXQutGC0YssINC90LAg0LrQvtGC0L7RgNGL0LUg0YHRgdGL0LvQsNGO0YLRgdGPINC30LDQv9C40YHQuCDQttGD0YDQvdCw0LvQsCDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE3NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg1CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIHRvIGJ5IHRoZSBpbmRleCIKIG1zZ3N0ciAi0LLQutC70Y7Rh9C40YLRjCDQvtCx0YrQtdC60YLRiywg0L3QsCDQutC+0YLQvtGA0YvQtSDRgdGB0YvQu9Cw0LXRgtGB0Y8g0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxNzgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4OAogbXNnaWQgIm91dHB1dCBwYWNrIHRvIHN0ZG91dCIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0L/QsNC60LXRgiDQvdCwICDRgdGC0LDQvdC00LDRgNGC0L3Ri9C5INCy0YvQstC+0LQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE4MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjkwCiBtc2dpZCAiaW5jbHVkZSB0YWcgb2JqZWN0cyB0aGF0IHJlZmVyIHRvIG9iamVjdHMgdG8gYmUgcGFja2VkIgogbXNnc3RyICLQstC60LvRjtGH0LjRgtGMINC+0LHRitC10LrRgtGLINC80LXRgtC+0LosINC60L7RgtC+0YDRi9C1INGB0YHRi9C70LDRjtGC0YHRjyDQvdCwINGD0L/QsNC60L7QstGL0LLQsNC10LzRi9C1INC+0LHRitC10LrRgtGLIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxODIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MgogbXNnaWQgImtlZXAgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAi0YHQvtGF0YDQsNC90Y/RgtGMINGB0YHRi9C70LrQuCDQvdCwINC90LXQtNC+0YHRgtGD0L/QvdGL0LUg0L7QsdGK0LXQutGC0YsiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE4NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk0CiBtc2dpZCAicGFjayBsb29zZSB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICLQv9Cw0LrQvtCy0LDRgtGMINC90LXQtNC+0YHRgtC40LbQuNC80YvQtSDQvtCx0YrQtdC60YLRiyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTg2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTYKIG1zZ2lkICJ1bnBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyBuZXdlciB0aGFuIDx0aW1lPiIKIG1zZ3N0ciAi0YDQsNGB0L/QsNC60L7QstCw0YLRjCDQvdC10LTQvtGB0YLRg9C/0L3Ri9C1INC+0LHRitC10LrRgtGLLCDQutC+0YLQvtGA0YvQtSDQvdC+0LLQtdC1LCDRh9C10LwgPNCy0YDQtdC80Y8+IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxODkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5OQorbXNnaWQgInVzZSB0aGUgc3BhcnNlIHJlYWNoYWJpbGl0eSBhbGdvcml0aG0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzAxCiBtc2dpZCAiY3JlYXRlIHRoaW4gcGFja3MiCiBtc2dzdHIgItGB0L7Qt9C00LDQstCw0YLRjCDRgtC+0L3QutC40LUg0L/QsNC60LXRgtGLIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxOTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwMwogbXNnaWQgImNyZWF0ZSBwYWNrcyBzdWl0YWJsZSBmb3Igc2hhbGxvdyBmZXRjaGVzIgogbXNnc3RyICLRgdC+0LfQtNCw0LLQsNGC0Ywg0L/QsNC60LXRgtGLLCDQv9C+0LTRhdC+0LTRj9GJ0LjQtSDQtNC70Y8g0YfQsNGB0YLQuNGH0L3Ri9GFINC40LfQstC70LXRh9C10L3QuNC5IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxOTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwNQogbXNnaWQgImlnbm9yZSBwYWNrcyB0aGF0IGhhdmUgY29tcGFuaW9uIC5rZWVwIGZpbGUiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDQv9Cw0LrQtdGC0YssINGA0Y/QtNC+0Lwg0YEg0LrQvtGC0L7RgNGL0LzQuCDQu9C10LbQuNGCIC5rZWVwINGE0LDQudC7IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxOTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwNwogbXNnaWQgImlnbm9yZSB0aGlzIHBhY2siCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDRjdGC0L7RgiDQv9Cw0LrQtdGCIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxOTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwOQogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgItGD0YDQvtCy0LXQvdGMINGB0LbQsNGC0LjRjyDQv9Cw0LrQtdGC0LAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE5OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzExCiBtc2dpZCAiZG8gbm90IGhpZGUgY29tbWl0cyBieSBncmFmdHMiCiBtc2dzdHIgItC90LUg0YHQutGA0YvQstCw0YLRjCDQutC+0LzQvNC40YLRiyDRgdGA0LDRidC10L3QuNGP0LzQuCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTMKIG1zZ2lkICJ1c2UgYSBiaXRtYXAgaW5kZXggaWYgYXZhaWxhYmxlIHRvIHNwZWVkIHVwIGNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgItC/0L4g0LLQvtC30LzQvtC20L3QvtGB0YLQuCDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LjQvdC00LXQutGBINCyINCx0LjRgtC+0LLRi9GFINC60LDRgNGC0LDRhSwg0LTQu9GPINGD0YHQutC+0YDQtdC90LjRjyDQv9C+0LTRgdGH0LXRgtCwINC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIwMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzE1CiBtc2dpZCAid3JpdGUgYSBiaXRtYXAgaW5kZXggdG9nZXRoZXIgd2l0aCB0aGUgcGFjayBpbmRleCIKIG1zZ3N0ciAi0LfQsNC/0LjRgdGMINC40L3QtNC10LrRgdCwINCyINCx0LjRgtC+0LLRi9GFINC60LDRgNGC0LDRhSDQstC80LXRgdGC0LUg0YEg0LjQvdC00LXQutGB0L7QvCDQv9Cw0LrQtdGC0LAiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIwNgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzE4CiBtc2dpZCAiaGFuZGxpbmcgZm9yIG1pc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAi0L7QsdGA0LDQsdC+0YLQutCwINC+0YLRgdGD0YLRgdGC0LLRg9GO0YnQuNGFINC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIwOQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzIxCiBtc2dpZCAiZG8gbm90IHBhY2sgb2JqZWN0cyBpbiBwcm9taXNvciBwYWNrZmlsZXMiCiBtc2dzdHIgItC90LUg0YPQv9Cw0LrQvtCy0YvQstCw0YLRjCDQvtCx0YrQtdC60YLRiyDQsiBwcm9taXNvciDRhNCw0LnQu9GLINC/0LDQutC10YLQvtCyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMyMworbXNnaWQgInJlc3BlY3QgaXNsYW5kcyBkdXJpbmcgZGVsdGEgY29tcHJlc3Npb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbHRhIGNoYWluIGRlcHRoICVkIGlzIHRvbyBkZWVwLCBmb3JjaW5nICVkIgotbXNnc3RyICLQs9C70YPQsdC40L3QsCDRhtC10L/QvtGH0LrQuCDRgNCw0LfQu9C40YfQuNC5ICVkINGB0LvQuNGI0LrQvtC8INCx0L7Qu9GM0YjQsNGPLCDQuNGB0L/QvtC70YzQt9GD0Y4g0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L4gJWQiCittc2dzdHIgItCz0LvRg9Cx0LjQvdCwINGG0LXQv9C+0YfQutC4INC40LfQvNC10L3QtdC90LjQuSAlZCDRgdC70LjRiNC60L7QvCDQsdC+0LvRjNGI0LDRjywg0LjRgdC/0L7Qu9GM0LfRg9GOINC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+ICVkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrLmRlbHRhQ2FjaGVMaW1pdCBpcyB0b28gaGlnaCwgZm9yY2luZyAlZCIKIG1zZ3N0ciAi0LvQuNGB0LjRgiBwYWNrLmRlbHRhQ2FjaGVMaW1pdCDRgdC70LjRiNC60L7QvCDQstGL0YHQvtC60LjQuSwg0LjRgdC/0L7Qu9GM0LfRg9GOINC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+ICVkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwNwogbXNnaWQgIi0tbWF4LXBhY2stc2l6ZSBjYW5ub3QgYmUgdXNlZCB0byBidWlsZCBhIHBhY2sgZm9yIHRyYW5zZmVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDA5CiBtc2dpZCAibWluaW11bSBwYWNrIHNpemUgbGltaXQgaXMgMSBNaUIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTQKIG1zZ2lkICItLXRoaW4gY2Fubm90IGJlIHVzZWQgdG8gYnVpbGQgYW4gaW5kZXhhYmxlIHBhY2siCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzA0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTcKIG1zZ2lkICItLWtlZXAtdW5yZWFjaGFibGUgYW5kIC0tdW5wYWNrLXVucmVhY2hhYmxlIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzEwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MjMKIG1zZ2lkICJjYW5ub3QgdXNlIC0tZmlsdGVyIHdpdGhvdXQgLS1zdGRvdXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzY2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0ODQKIG1zZ2lkICJFbnVtZXJhdGluZyBvYmplY3RzIgogbXNnc3RyICLQn9C10YDQtdGH0LjRgdC70LXQvdC40LUg0L7QsdGK0LXQutGC0L7QsiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzg1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM1MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVG90YWwgJTxQUkl1MzI+IChkZWx0YSAlPFBSSXUzMj4pLCByZXVzZWQgJTxQUkl1MzI+IChkZWx0YSAlPFBSSXUzMj4pIgogbXNnc3RyICLQktGB0LXQs9C+ICU8UFJJdTMyPiAo0LjQt9C80LXQvdC10L3QuNGPICU8UFJJdTMyPiksINC/0L7QstGC0L7RgNC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC+ICU8UFJJdTMyPiAo0LjQt9C80LXQvdC10L3QuNGPICU8UFJJdTMyPikiCiAKLSM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6NworIzogYnVpbHRpbi9wYWNrLXJlZnMuYzo4CiBtc2dpZCAiZ2l0IHBhY2stcmVmcyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHBhY2stcmVmcyBbPNC+0L/RhtC40Lg+XSIKIAotIzogYnVpbHRpbi9wYWNrLXJlZnMuYzoxNQorIzogYnVpbHRpbi9wYWNrLXJlZnMuYzoxNgogbXNnaWQgInBhY2sgZXZlcnl0aGluZyIKIG1zZ3N0ciAi0L/QsNC60L7QstCw0YLRjCDQstGB0ZEiCiAKLSM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTYKKyM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTcKIG1zZ2lkICJwcnVuZSBsb29zZSByZWZzIChkZWZhdWx0KSIKIG1zZ3N0ciAi0L/QvtGH0LjRgdGC0LjRgtGMINGB0LvQsNCx0YvQtSDRgdGB0YvQu9C60LggKNC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOKSIKIApAQCAtMTI5NTQsODQgKzE1MTExLDg4IEBACiAKICM6IGJ1aWx0aW4vcHJ1bmUuYzoxMgogbXNnaWQgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tcHJvZ3Jlc3NdIFstLWV4cGlyZSA8dGltZT5dIFstLV0gWzxoZWFkPi4uLl0iCi1tc2dzdHIgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tcHJvZ3Jlc3NdIFstLWV4cGlyZSA80LLRgNC10LzRjz5dIFstLV0gWzzQstC10YLQutCwPuKApl0iCittc2dzdHIgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tcHJvZ3Jlc3NdIFstLWV4cGlyZSA80LLRgNC10LzRjz5dIFstLV0gWzzRgNC10LTQsNC60YbQuNGPPuKApl0iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDkKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzEKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIG9iamVjdHMiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INGB0L/QuNGB0L7QuiDRg9C00LDQu9C10L3QvdGL0YUg0L7QsdGK0LXQutGC0L7QsiIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjExMgorIzogYnVpbHRpbi9wcnVuZS5jOjEzNAogbXNnaWQgImV4cGlyZSBvYmplY3RzIG9sZGVyIHRoYW4gPHRpbWU+IgogbXNnc3RyICLRg9C00LDQu9C40YLRjCDQvtCx0YrQtdC60YLRiyDRgdGC0LDRgNC10LUg0YfQtdC8IDzQtNCw0YLQsC3QvtC60L7QvdGH0LDQvdC40Y8+IgogCi0jOiBidWlsdGluL3BydW5lLmM6MTE0CisjOiBidWlsdGluL3BydW5lLmM6MTM2CiBtc2dpZCAibGltaXQgdHJhdmVyc2FsIHRvIG9iamVjdHMgb3V0c2lkZSBwcm9taXNvciBwYWNrZmlsZXMiCiBtc2dzdHIgItC+0LPRgNCw0L3QuNGH0LjRgtGMINC+0LHRhdC+0LQg0L7QsdGK0LXQutGC0LDQvNC4INCy0L3QtSBwcm9taXNvciDRhNCw0LnQu9C+0LIg0L/QsNC60LXRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMjgKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxNTAKIG1zZ2lkICJjYW5ub3QgcHJ1bmUgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCiBtc2dzdHIgItC90LXQu9GM0LfRjyDQv9C+0YfQuNGB0YLQuNGC0Ywg0L3QtdC40YHQv9C+0LvRjNC30YPQtdC80YvQtSDQvtCx0YrQtdC60YLRiyDQsiBwcmVjaW91cy1vYmplY3RzINGA0LXQv9C+0LfQuNGC0L7RgNC40LgiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjU5IGJ1aWx0aW4vcHVsbC5jOjYxCisjOiBidWlsdGluL3B1bGwuYzo2NiBidWlsdGluL3B1bGwuYzo2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgItCd0LXQv9GA0LDQstC40LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1ICVzOiAlcyIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODEKKyM6IGJ1aWx0aW4vcHVsbC5jOjg4CiBtc2dpZCAiZ2l0IHB1bGwgWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCiBtc2dzdHIgImdpdCBwdWxsIFs80L7Qv9GG0LjQuD5dIFs80YDQtdC/0L7Qt9C40YLQvtGA0LjQuT4gWzzRgdC/0LXRhtC40YTQuNC60LDRgtC+0YAt0YHRgdGL0LvQutC4PuKApl1dIgogCi0jOiBidWlsdGluL3B1bGwuYzoxMzIKKyM6IGJ1aWx0aW4vcHVsbC5jOjE0MAogbXNnaWQgImNvbnRyb2wgZm9yIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgogbXNnc3RyICLRg9C/0YDQsNCy0LvQtdC90LjQtSDRgNC10LrRg9GA0YHQuNCy0L3Ri9C8INC40LfQstC70LXRh9C10L3QuNC10Lwg0L/QvtC00LzQvtC00YPQu9C10LkiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEzNgorIzogYnVpbHRpbi9wdWxsLmM6MTQ0CiBtc2dpZCAiT3B0aW9ucyByZWxhdGVkIHRvIG1lcmdpbmciCiBtc2dzdHIgItCe0L/RhtC40LgsINGB0LLRj9C30LDQvdC90YvQtSDRgdC+INGB0LvQuNGP0L3QuNC10LwiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEzOQorIzogYnVpbHRpbi9wdWxsLmM6MTQ3CiBtc2dpZCAiaW5jb3Jwb3JhdGUgY2hhbmdlcyBieSByZWJhc2luZyByYXRoZXIgdGhhbiBtZXJnaW5nIgogbXNnc3RyICLQt9Cw0LHRgNCw0YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0YEg0L/QvtC80L7RidGM0Y4g0L/QtdGA0LXQvNC10YnQtdC90LjRjywg0LAg0L3QtSDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTY2IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzoyMyBidWlsdGluL3JldmVydC5jOjEyMgorIzogYnVpbHRpbi9wdWxsLmM6MTc1IGJ1aWx0aW4vcmViYXNlLmM6NDQ3IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI1CiBtc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0L/QtdGA0LXQvNC+0YLQutGDINCy0L/QtdGA0LXQtCIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTc1CisjOiBidWlsdGluL3B1bGwuYzoxODQKIG1zZ2lkICJhdXRvbWF0aWNhbGx5IHN0YXNoL3N0YXNoIHBvcCBiZWZvcmUgYW5kIGFmdGVyIHJlYmFzZSIKIG1zZ3N0ciAi0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60Lgg0LLRi9C/0L7Qu9C90Y/RgtGMIHN0YXNoL3N0YXNoIHBvcCDQtNC+INC4INC/0L7RgdC70LUg0L/QtdGA0LXQvNC10YnQtdC90LjRjyIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTkxCisjOiBidWlsdGluL3B1bGwuYzoyMDAKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gZmV0Y2hpbmciCiBtc2dzdHIgItCe0L/RhtC40LgsINGB0LLRj9C30LDQvdC90YvQtSDRgSDQuNC30LLQu9C10YfQtdC90LjQtdC8INC40LfQvNC10L3QtdC90LjQuSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MjA5CisjOiBidWlsdGluL3B1bGwuYzoyMTAKK21zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgbG9jYWwgYnJhbmNoIgorbXNnc3RyICLQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QsNGPINC/0LXRgNC10LfQsNC/0LjRgdGMINC70L7QutCw0LvRjNC90L7QuSDQstC10YLQutC4IgorCisjOiBidWlsdGluL3B1bGwuYzoyMTgKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBwdWxsZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgItC60L7Qu9C40YfQtdGB0YLQstC+INC/0L7QtNC80L7QtNGD0LvQtdC5LCDQutC+0YLQvtGA0YvQtSDQsdGD0LTRg9GCINC/0L7Qu9GD0YfQtdC90Ysg0L/QsNGA0YDQsNC70LXQu9GM0L3QviIKIAotIzogYnVpbHRpbi9wdWxsLmM6MzA0CisjOiBidWlsdGluL3B1bGwuYzozMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgcHVsbC5mZjogJXMiCiBtc2dzdHIgItCd0LXQv9GA0LDQstC40LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1INC00LvRjyBwdWxsLmZmOiAlcyIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDIwCisjOiBidWlsdGluL3B1bGwuYzo0MzAKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm8gY2FuZGlkYXRlIGZvciByZWJhc2luZyBhZ2FpbnN0IGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgIgogImZldGNoZWQuIgogbXNnc3RyICLQndC10YIg0L/RgNC10YLQtdC90LTQtdC90YLQvtCyINC00LvRjyDQv9C10YDQtdC80LXRidC10L3QuNGPINGB0YDQtdC00Lgg0YHRgdGL0LvQvtC6LCDQutC+0YLQvtGA0YvQtSDQstGLINGC0L7Qu9GM0LrQviDRh9GC0L4g0L/QvtC70YPRh9C40LvQuC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyMgorIzogYnVpbHRpbi9wdWxsLmM6NDMyCiBtc2dpZCAiIgogIlRoZXJlIGFyZSBubyBjYW5kaWRhdGVzIGZvciBtZXJnaW5nIGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgZmV0Y2hlZC4iCiBtc2dzdHIgItCd0LXRgiDQv9GA0LXRgtC10L3QtNC10L3RgtC+0LIg0LTQu9GPINGB0LvQuNGP0L3QuNGPINGB0YDQtdC00Lgg0YHRgdGL0LvQvtC6LCDQutC+0YLQvtGA0YvQtSDQstGLINGC0L7Qu9GM0LrQviDRh9GC0L4g0L/QvtC70YPRh9C40LvQuC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyMworIzogYnVpbHRpbi9wdWxsLmM6NDMzCiBtc2dpZCAiIgogIkdlbmVyYWxseSB0aGlzIG1lYW5zIHRoYXQgeW91IHByb3ZpZGVkIGEgd2lsZGNhcmQgcmVmc3BlYyB3aGljaCBoYWQgbm9cbiIKICJtYXRjaGVzIG9uIHRoZSByZW1vdGUgZW5kLiIKIG1zZ3N0ciAi0J7QsdGL0YfQvdC+INGN0YLQviDQvtC30L3QsNGH0LDQtdGCLCDRh9GC0L4g0LLRiyDQv9C10YDQtdC00LDQu9C4INGB0L/QtdGG0LjRhNC40LrQsNGG0LjRjiDRgdGB0YvQu9C60Lgg0YEg0L/QvtC80L7RidGM0Y4g0YjQsNCx0LvQvtC90LAg0Lgg0Y3RgtC+0YIg0YjQsNCx0LvQvtC9INC90Lgg0YEg0YfQtdC8INC90LUg0YHQvtCy0L/QsNC7INC90LAg0LLQvdC10YjQvdC10Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyNgorIzogYnVpbHRpbi9wdWxsLmM6NDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gcHVsbCBmcm9tIHRoZSByZW1vdGUgJyVzJywgYnV0IGRpZCBub3Qgc3BlY2lmeVxuIgpAQCAtMTMwMzksNjkgKzE1MjAwLDc0IEBACiAiZm9yIHlvdXIgY3VycmVudCBicmFuY2gsIHlvdSBtdXN0IHNwZWNpZnkgYSBicmFuY2ggb24gdGhlIGNvbW1hbmQgbGluZS4iCiBtc2dzdHIgItCS0Ysg0L/QvtC/0YDQvtGB0LjQu9C4INC/0L7Qu9GD0YfQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINGB0L4g0LLQvdC10YjQvdC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPIMKrJXPCuywg0L3QviDQvdC1INGD0LrQsNC30LDQu9C4INCy0LXRgtC60YMuINCi0LDQuiDQutCw0Log0Y3RgtC+INC90LUg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQtNC70Y8gINCy0LDRiNC10Lkg0YLQtdC60YPRidC10Lkg0LLQtdGC0LrQuCwg0LLRiyDQtNC+0LvQttC90Ysg0YPQutCw0LfQsNGC0Ywg0LLQtdGC0LrRgyDQsiDQutC+0LzQsNC90LTQvdC+0Lkg0YHRgtGA0L7QutC1LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDMxIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ0MSBidWlsdGluL3JlYmFzZS5jOjEzMjEgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MwogbXNnaWQgIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC4iCiBtc2dzdHIgItCS0Ysg0YHQtdC50YfQsNGBINC90Lgg0L3QsCDQvtC00L3QvtC5INC40Lcg0LLQtdGC0L7Qui4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzMyBidWlsdGluL3B1bGwuYzo0NDggZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQorIzogYnVpbHRpbi9wdWxsLmM6NDQzIGJ1aWx0aW4vcHVsbC5jOjQ1OCBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIHJlYmFzZSBhZ2FpbnN0LiIKIG1zZ3N0ciAi0J/QvtC20LDQu9GD0LnRgdGC0LAsINGD0LrQsNC20LjRgtC1INC90LAg0LrQsNC60YPRjiDQstC10YLQutGDINCy0Ysg0YXQvtGC0LjRgtC1INC/0LXRgNC10LzQtdGB0YLQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM1IGJ1aWx0aW4vcHVsbC5jOjQ1MCBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCisjOiBidWlsdGluL3B1bGwuYzo0NDUgYnVpbHRpbi9wdWxsLmM6NDYwIGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gbWVyZ2Ugd2l0aC4iCiBtc2dzdHIgItCf0L7QttCw0LvRg9C50YHRgtCwLCDRg9C60LDQttC40YLQtSDRgSDQutCw0LrQvtC5INCy0LXRgtC60L7QuSDQstGLINGF0L7RgtC40YLQtSDRgdC70LjRgtGMINC40LfQvNC10L3QtdC90LjRjy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzNiBidWlsdGluL3B1bGwuYzo0NTEKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ0NiBidWlsdGluL3B1bGwuYzo0NjEKIG1zZ2lkICJTZWUgZ2l0LXB1bGwoMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICLQlNC70Y8g0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L7QuSDQuNC90YTQvtGA0LzQsNGG0LjQuCwg0YHQvNC+0YLRgNC40YLQtSBnaXQtcHVsbCgxKS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzOCBidWlsdGluL3B1bGwuYzo0NDQgYnVpbHRpbi9wdWxsLmM6NDUzCi0jOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY0CisjOiBidWlsdGluL3B1bGwuYzo0NDggYnVpbHRpbi9wdWxsLmM6NDU0IGJ1aWx0aW4vcHVsbC5jOjQ2MworIzogYnVpbHRpbi9yZWJhc2UuYzoxMzI3IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjQKIG1zZ2lkICI8cmVtb3RlPiIKIG1zZ3N0ciAiPNCy0L3QtdGI0L3QuNC5LdGA0LXQv9C+0LfQuNGC0L7RgNC40Lk+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzggYnVpbHRpbi9wdWxsLmM6NDUzIGJ1aWx0aW4vcHVsbC5jOjQ1OCBnaXQtcmViYXNlLnNoOjU3NgorIzogYnVpbHRpbi9wdWxsLmM6NDQ4IGJ1aWx0aW4vcHVsbC5jOjQ2MyBidWlsdGluL3B1bGwuYzo0NjgKICM6IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjUKIG1zZ2lkICI8YnJhbmNoPiIKIG1zZ3N0ciAiPNCy0LXRgtC60LA+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0NDYgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQorIzogYnVpbHRpbi9wdWxsLmM6NDU2IGJ1aWx0aW4vcmViYXNlLmM6MTMxOSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc1CiBtc2dpZCAiVGhlcmUgaXMgbm8gdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgItCjINGC0LXQutGD0YnQtdC5INCy0LXRgtC60Lgg0L3QtdGCINC40L3RhNC+0YDQvNCw0YbQuNC4INC+0LEg0L7RgtGB0LvQtdC20LjQstCw0L3QuNC4LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDU1IGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ2NSBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNldCB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhpcyBicmFuY2ggeW91IGNhbiBkbyBzbyB3aXRoOiIKIG1zZ3N0ciAi0JXRgdC70Lgg0LLRiyDRhdC+0YLQuNGC0LUg0YPQutCw0LfQsNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0L7RgtGB0LvQtdC20LjQstCw0LXQvNC+0Lkg0LLQtdGC0LrQtSwg0LLRi9C/0L7Qu9C90LjRgtC1OiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDYwCisjOiBidWlsdGluL3B1bGwuYzo0NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgY29uZmlndXJhdGlvbiBzcGVjaWZpZXMgdG8gbWVyZ2Ugd2l0aCB0aGUgcmVmICclcydcbiIKICJmcm9tIHRoZSByZW1vdGUsIGJ1dCBubyBzdWNoIHJlZiB3YXMgZmV0Y2hlZC4iCiBtc2dzdHIgItCS0LDRiNCwINC60L7QvdGE0LjQs9GD0YDQsNGG0LjRjyDRg9C60LDQt9GL0LLQsNC10YIsINGH0YLQviDQvdGD0LbQvdC+INGB0LvQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINGB0L4g0YHRgdGL0LvQutC+0LlcbsKrJXPCuyDQuNC3INCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjywg0L3QviDRgtCw0LrQsNGPINGB0YHRi9C70LrQsCDQvdC1INCx0YvQu9CwINC/0L7Qu9GD0YfQtdC90LAuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MjkKKyM6IGJ1aWx0aW4vcHVsbC5jOjU3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYWNjZXNzIGNvbW1pdCAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3B1bGwuYzo4NTQKIG1zZ2lkICJpZ25vcmluZyAtLXZlcmlmeS1zaWduYXR1cmVzIGZvciByZWJhc2UiCiBtc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0L3QuNC1IC0tdmVyaWZ5LXNpZ25hdHVyZXMg0L/RgNC4INC/0LXRgNC10LzQtdGJ0LXQvdC40LgiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg3NworIzogYnVpbHRpbi9wdWxsLmM6OTA5CiBtc2dpZCAiLS1bbm8tXWF1dG9zdGFzaCBvcHRpb24gaXMgb25seSB2YWxpZCB3aXRoIC0tcmViYXNlLiIKIG1zZ3N0ciAiLS1bbm8tXWF1dG9zdGFzaCDQvNC+0LbQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0LvRjNC60L4g0LLQvNC10YHRgtC1INGBIC0tcmViYXNlLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODg1CisjOiBidWlsdGluL3B1bGwuYzo5MTcKIG1zZ2lkICJVcGRhdGluZyBhbiB1bmJvcm4gYnJhbmNoIHdpdGggY2hhbmdlcyBhZGRlZCB0byB0aGUgaW5kZXguIgogbXNnc3RyICLQntCx0L3QvtCy0LvQtdC90LjQtSDQtdGJ0LUg0L3QtSDQvdCw0YfQsNCy0YjQtdC50YHRjyDQstC10YLQutC4INGBINC40LfQvNC10L3QtdC90LjRj9C80LgsINC00L7QsdCw0LLQu9C10L3QvdGL0LzQuCDQsiDQuNC90LTQtdC60YEuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4ODgKKyM6IGJ1aWx0aW4vcHVsbC5jOjkyMQogbXNnaWQgInB1bGwgd2l0aCByZWJhc2UiCiBtc2dzdHIgItC/0L7Qu9GD0YfQtdC90LjQtSDRgSDQv9C10YDQtdC80LXRidC10L3QuNC10LwiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg4OQorIzogYnVpbHRpbi9wdWxsLmM6OTIyCiBtc2dpZCAicGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAi0YHQtNC10LvQsNC50YLQtSDQutC+0LzQvNC40YIg0LjQu9C4INGB0L/RgNGP0YfRjNGC0LUg0LjRhS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkxNAorIzogYnVpbHRpbi9wdWxsLmM6OTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJmZXRjaCB1cGRhdGVkIHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkLlxuIgpAQCAtMTMxMDksNyArMTUyNzUsNyBAQAogImNvbW1pdCAlcy4iCiBtc2dzdHIgItC40LfQstC70LXRh9C10L3QuNC1INC+0LHQvdC+0LLQuNC70L4g0YPQutCw0LfQsNGC0LXQu9GMINC90LAg0LLQsNGI0YMg0YLQtdC60YPRidGD0Y4g0LLQtdGC0LrRgy5cbtC/0LXRgNC10LzQvtGC0LrQsCDQstCw0YjQtdCz0L4g0YDQsNCx0L7Rh9C10LPQviDQutCw0YLQsNC70L7Qs9CwXG7RgSDQutC+0LzQvNC40YLQsCAlcy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkxOQorIzogYnVpbHRpbi9wdWxsLmM6OTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgZmFzdC1mb3J3YXJkIHlvdXIgd29ya2luZyB0cmVlLlxuIgpAQCAtMTMxMjAsMTUgKzE1Mjg2LDE1IEBACiAidG8gcmVjb3Zlci4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQvNC+0YLQsNGC0Ywg0LLQv9C10YDRkdC0INC40LfQvNC10L3QtdC90LjRjyDQsiDQstCw0YjQtdC8INGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUuXG7Qn9C+0YHQu9C1INGC0L7Qs9C+LCDQutCw0Log0LLRiyDRg9Cx0LXQtNC40YLQtdGB0YwsINGH0YLQviDQstGLINGB0L7RhdGA0LDQvdC40LvQuCDQstGB0ZEg0L3QtdC+0LHRhdC+0LTQuNC80L7QtSDQuNC3INCy0YvQstC+0LTQsFxuJCBnaXQgZGlmZiAlc1xuLCDQt9Cw0L/Rg9GB0YLQuNGC0LVcbiQgZ2l0IHJlc2V0IC0taGFyZFxu0LTQu9GPINCy0L7RgdGB0YLQsNC90L7QstC70LXQvdC40Y8g0LjRgdGF0L7QtNC90L7Qs9C+INGB0L7RgdGC0L7Rj9C90LjRjy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkzNAorIzogYnVpbHRpbi9wdWxsLmM6OTY4CiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZC4iCiBtc2dzdHIgItCd0LXQu9GM0LfRjyDRgdC70LjRgtGMINC90LXRgdC60L7Qu9GM0LrQviDQstC10YLQvtC6INCyINC/0YPRgdGC0L7QuSDRg9C60LDQt9Cw0YLQtdC70Ywg0L3QsCDQstC10YLQutGDLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTM4CisjOiBidWlsdGluL3B1bGwuYzo5NzIKIG1zZ2lkICJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMuIgogbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9C10YDQtdC80LXRgdGC0LjRgtGMINC90LDQtCDQvdC10YHQutC+0LvRjNC60LjQvNC4INCy0LXRgtC60LDQvNC4LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTQ1CisjOiBidWlsdGluL3B1bGwuYzo5NzkKIG1zZ2lkICJjYW5ub3QgcmViYXNlIHdpdGggbG9jYWxseSByZWNvcmRlZCBzdWJtb2R1bGUgbW9kaWZpY2F0aW9ucyIKIG1zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C/0L7Qu9C90LjRgtGMINC/0LXRgNC10LzQtdGJ0LXQvdC40LUg0YEg0LfQsNC/0LjRgdCw0L3QvdGL0LzQuCDQu9C+0LrQsNC70YzQvdGL0LzQuCDQuNC30LzQtdC90LXQvdC40Y/QvNC4INCyINC/0L7QtNC80L7QtNGD0LvRj9GFIgogCkBAIC0xMzE0NCwxMyArMTUzMTAsMTMgQEAKIG1zZ2lkICItLWRlbGV0ZSBvbmx5IGFjY2VwdHMgcGxhaW4gdGFyZ2V0IHJlZiBuYW1lcyIKIG1zZ3N0ciAi0L7Qv9GG0LjRjyAtLWRlbGV0ZSDQv9GA0LjQvdC40LzQsNC10YIg0YLQvtC70YzQutC+INC/0YDQvtGB0YLRi9C1INGG0LXQu9C10LLRi9C1INC40LzQtdC90LAg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL3B1c2guYzoxNjUKKyM6IGJ1aWx0aW4vcHVzaC5jOjE2NwogbXNnaWQgIiIKICJcbiIKICJUbyBjaG9vc2UgZWl0aGVyIG9wdGlvbiBwZXJtYW5lbnRseSwgc2VlIHB1c2guZGVmYXVsdCBpbiAnZ2l0IGhlbHAgY29uZmlnJy4iCiBtc2dzdHIgIlxu0KfRgtC+0LHRiyDQstGL0LHRgNCw0YLRjCDQu9GO0LHRg9GOINC40Lcg0L7Qv9GG0LjQuSDQvdCwINC/0L7RgdGC0L7Rj9C90L3QvtC5INC+0YHQvdC+0LLQtSwg0YHQvNC+0YLRgNC40YLQtSBwdXNoLmRlZmF1bHQg0LIgwqtnaXQgaGVscCBjb25maWfCuy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE2OAorIzogYnVpbHRpbi9wdXNoLmM6MTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgdXBzdHJlYW0gYnJhbmNoIG9mIHlvdXIgY3VycmVudCBicmFuY2ggZG9lcyBub3QgbWF0Y2hcbiIKQEAgLTEzMTYxLDExICsxNTMyNywxMSBAQAogIlxuIgogIlRvIHB1c2ggdG8gdGhlIGJyYW5jaCBvZiB0aGUgc2FtZSBuYW1lIG9uIHRoZSByZW1vdGUsIHVzZVxuIgogIlxuIgotIiAgICBnaXQgcHVzaCAlcyAlc1xuIgorIiAgICBnaXQgcHVzaCAlcyBIRUFEXG4iCiAiJXMiCi1tc2dzdHIgItCY0LzRjyDQstGL0YjQtdGB0YLQvtGP0YnQtdC5INCy0LXRgtC60Lgg0Lgg0LLQsNGI0LXQuSDRgtC10LrRg9GJ0LXQuSDQstC10YLQutC4INGA0LDQt9C70LjRh9Cw0Y7RgtGB0Y8uINCn0YLQvtCx0Ysg0L7RgtC/0YDQsNCy0LjRgtGMINC40LfQvNC10L3QtdC90LjRjyDQsiDQstGL0YjQtdGB0YLQvtGP0YnRg9GOINCy0LXRgtC60YMg0L3QsCDQstC90LXRiNC90LXQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4LCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1OlxuXG4gICAgZ2l0IHB1c2ggJXMgSEVBRDolc1xuXG7Qp9GC0L7QsdGLINC+0YLQv9GA0LDQstC40YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0LIg0LLQtdGC0LrRgyDRgSDRgtCw0LrQuNC8INC20LUg0LjQvNC10L3QtdC8INC90LAg0LLQvdC10YjQvdC10Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCwg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtTpcblxuICAgIGdpdCBwdXNoICVzICVzXG4lcyIKK21zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzoxODMKKyM6IGJ1aWx0aW4vcHVzaC5jOjE4NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLlxuIgpAQCAtMTMxNzUsNyArMTUzNDEsNyBAQAogIiAgICBnaXQgcHVzaCAlcyBIRUFEOjxuYW1lLW9mLXJlbW90ZS1icmFuY2g+XG4iCiBtc2dzdHIgItCS0Ysg0YHQtdC50YfQsNGBINC90LUg0L3QsNGF0L7QtNC40YLQtdGB0Ywg0L3QuCDQvdCwINC+0LTQvdC+0Lkg0LjQtyDQstC10YLQvtC6Llxu0KfRgtC+0LHRiyDQvtGC0L/RgNCw0LLQuNGC0Ywg0LjRgdGC0L7RgNC40Y4sINCy0LXQtNGD0YnRg9GOINC6INGC0LXQutGD0YnQtdC80YMgKNC+0YLQtNC10LvRkdC90L3Ri9C5IEhFQUQpINGB0L7RgdGC0L7Rj9C90LjRjiwg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtVxuXG4gICAgZ2l0IHB1c2ggJXMgSEVBRDo80LjQvNGPLdCy0L3QtdGI0L3QtdC5LdCy0LXRgtC60Lg+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE5NworIzogYnVpbHRpbi9wdXNoLmM6MTk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG5vIHVwc3RyZWFtIGJyYW5jaC5cbiIKQEAgLTEzMTg0LDEzICsxNTM1MCwxMyBAQAogIiAgICBnaXQgcHVzaCAtLXNldC11cHN0cmVhbSAlcyAlc1xuIgogbXNnc3RyICLQotC10LrRg9GJ0LDRjyDQstC10YLQutCwICVzINC90LUg0LjQvNC10LXRgiDQstGL0YjQtdGB0YLQvtGP0YnQtdC5INCy0LXRgtC60LguXG7Qp9GC0L7QsdGLINC+0YLQv9GA0LDQstC40YLRjCDRgtC10LrRg9GJ0YPRjiDQstC10YLQutGDINC4INGD0YHRgtCw0L3QvtCy0LjRgtGMINCy0L3QtdGI0L3RjtGOINCy0LXRgtC60YMg0LrQsNC6INCy0YvRiNC10YHRgtC+0Y/RidGD0Y4g0LTQu9GPINGN0YLQvtC5INCy0LXRgtC60LgsINC40YHQv9C+0LvRjNC30YPQudGC0LVcblxuICAgIGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIwNQorIzogYnVpbHRpbi9wdXNoLmM6MjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG11bHRpcGxlIHVwc3RyZWFtIGJyYW5jaGVzLCByZWZ1c2luZyB0byBwdXNoLiIKIG1zZ3N0ciAi0JLQsNGI0LAg0YLQtdC60YPRidCw0Y8g0LLQtdGC0LrQsCAlcyDQuNC80LXQtdGCINC90LXRgdC60L7Qu9GM0LrQviDQstGL0YjQtdGB0YLQvtGP0YnQuNGFINCy0LXRgtC+0LosINC+0YLQutCw0Lcg0LIg0L7RgtC/0YDQsNCy0LrQtSDQuNC30LzQtdC90LXQvdC40LkuIgogCi0jOiBidWlsdGluL3B1c2guYzoyMDgKKyM6IGJ1aWx0aW4vcHVzaC5jOjIxMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBwdXNoaW5nIHRvIHJlbW90ZSAnJXMnLCB3aGljaCBpcyBub3QgdGhlIHVwc3RyZWFtIG9mXG4iCkBAIC0xMzE5OCwxMSArMTUzNjQsMTEgQEAKICJ0byB1cGRhdGUgd2hpY2ggcmVtb3RlIGJyYW5jaC4iCiBtc2dzdHIgItCS0Ysg0YHQtdC50YfQsNGBINC+0YLQv9GA0LDQstC70Y/QtdGC0LUg0LjQt9C80LXQvdC10L3QuNGPINC90LAg0LLQvdC10YjQvdC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDCqyVzwrssINC60L7RgtC+0YDRi9C5INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQstGL0YjQtdGB0YLQvtGP0YnQuNC8INC00LvRjyDQstCw0YjQtdC5INGC0LXQutGD0YnQtdC5INCy0LXRgtC60Lggwqslc8K7LCDQsdC10Lcg0YPQutCw0LfQsNC90LjRjyDRgtC+0LPQviwg0YfRgtC+INC+0YLQv9GA0LDQstC70Y/RgtGMINC4INCyINC60LDQutGD0Y4g0LLQvdC10YjQvdGO0Y4g0LLQtdGC0LrRgy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI2NworIzogYnVpbHRpbi9wdXNoLmM6MjY5CiBtc2dpZCAiWW91IGRpZG4ndCBzcGVjaWZ5IGFueSByZWZzcGVjcyB0byBwdXNoLCBhbmQgcHVzaC5kZWZhdWx0IGlzIFwibm90aGluZ1wiLiIKIG1zZ3N0ciAi0JLRiyDQvdC1INGD0LrQsNC30LDQu9C4INGB0L/QtdGG0LjRhNC40LrQsNGG0LjRjiDRgdGB0YvQu9C60Lgg0LTQu9GPINC+0YLQv9GA0LDQstC60LgsINCwIHB1c2guZGVmYXVsdCDRg9C60LDQt9Cw0L0g0LrQsNC6IMKrbm90aGluZ8K7LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mjc0CisjOiBidWlsdGluL3B1c2guYzoyNzYKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHRpcCBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoIGlzIGJlaGluZFxuIgogIml0cyByZW1vdGUgY291bnRlcnBhcnQuIEludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXMgKGUuZy5cbiIKQEAgLTEzMjEwLDcgKzE1Mzc2LDcgQEAKICJTZWUgdGhlICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGluICdnaXQgcHVzaCAtLWhlbHAnIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAi0J7QsdC90L7QstC70LXQvdC40Y8g0LHRi9C70Lgg0L7RgtC60LvQvtC90LXQvdGLLCDRgtCw0Log0LrQsNC6INCy0LXRgNGF0YPRiNC60LAg0LLQsNGI0LXQuSDRgtC10LrRg9GJ0LXQuSDQstC10YLQutC4XG7Qv9C+0LfQsNC00Lgg0LXQtSDQstC90LXRiNC90LXQuSDRh9Cw0YHRgtC4LiDQl9Cw0LHQtdGA0LjRgtC1INC4INGB0LvQtdC50YLQtSDQstC90LXRiNC90LjQtSDQuNC30LzQtdC90LXQvdC40Y8gXG4o0L3QsNC/0YDQuNC80LXRgCwg0YEg0L/QvtC80L7RidGM0Y4gwqtnaXQgcHVsbCDigKbCuykg0L/QtdGA0LXQtCDQv9C+0LLRgtC+0YDQvdC+0Lkg0L/QvtC/0YvRgtC60L7QuSDQvtGC0L/RgNCw0LLQutC4XG7QuNC30LzQtdC90LXQvdC40LkuXG7QlNC70Y8g0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L7QuSDQuNC90YTQvtGA0LzQsNGG0LjQuCwg0YHQvNC+0YLRgNC40YLQtSDCq05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkc8K7XG7QsiDCq2dpdCBwdXNoIC0taGVscMK7LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjgwCisjOiBidWlsdGluL3B1c2guYzoyODIKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgogImNvdW50ZXJwYXJ0LiBDaGVjayBvdXQgdGhpcyBicmFuY2ggYW5kIGludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXNcbiIKQEAgLTEzMjE4LDcgKzE1Mzg0LDcgQEAKICJTZWUgdGhlICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGluICdnaXQgcHVzaCAtLWhlbHAnIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAi0J7QsdC90L7QstC70LXQvdC40Y8g0LHRi9C70Lgg0L7RgtC60LvQvtC90LXQvdGLLCDRgtCw0Log0LrQsNC6INCy0LXRgNGF0YPRiNC60LAg0L7RgtC/0YDQsNCy0LvRj9C10LzQvtC5INCy0LXRgtC60LhcbtC/0L7Qt9Cw0LTQuCDQtdC1INCy0L3QtdGI0L3QtdC5INGH0LDRgdGC0LguINCf0LXRgNC10LrQu9GO0YfQuNGC0LXRgdGMINC90LAg0LLQtdGC0LrRgyDQuCDQt9Cw0LHQtdGA0LjRgtC1INCy0L3QtdGI0L3QuNC1XG7QuNC30LzQtdC90LXQvdC40Y8gKNC90LDQv9GA0LjQvNC10YAsINGBINC/0L7QvNC+0YnRjNGOIMKrZ2l0IHB1bGwg4oCmwrspINC/0LXRgNC10LQg0L/QvtCy0YLQvtGA0L3QvtC5XG7Qv9C+0L/Ri9GC0LrQvtC5INC+0YLQv9GA0LDQstC60Lgg0LjQt9C80LXQvdC10L3QuNC5Llxu0JTQu9GPINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40LgsINGB0LzQvtGC0YDQuNGC0LUgwqtOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHPCu1xu0LIgwqtnaXQgcHVzaCAtLWhlbHDCuy4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI4NgorIzogYnVpbHRpbi9wdXNoLmM6Mjg4CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgogIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKQEAgLTEzMjI3LDMzICsxNTM5MywzMyBAQAogIlNlZSB0aGUgJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCcgZm9yIGRldGFpbHMuIgogbXNnc3RyICLQntCx0L3QvtCy0LvQtdC90LjRjyDQsdGL0LvQuCDQvtGC0LrQu9C+0L3QtdC90YssINGC0LDQuiDQutCw0Log0LLQvdC10YjQvdC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDRgdC+0LTQtdGA0LbQuNGCXG7QuNC30LzQtdC90LXQvdC40Y8sINC60L7RgtC+0YDRi9GFINGDINCy0LDRgSDQvdC10YIg0LIg0LLQsNGI0LXQvCDQu9C+0LrQsNC70YzQvdC+0Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuC5cbtCe0LHRi9GH0L3Qviwg0Y3RgtC+INGB0LLRj9C30LDQvdC90L4g0YEg0YLQtdC8LCDRh9GC0L4g0LrRgtC+LdGC0L4g0YPQttC1INC+0YLQv9GA0LDQstC40Lsg0LjQt9C80LXQvdC10L3QuNGPINCyIFxu0YLQviDQttC1INC80LXRgdGC0L4uINCf0LXRgNC10LQg0L/QvtCy0YLQvtGA0L3QvtC5INC+0YLQv9GA0LDQstC60L7QuSDQstCw0YjQuNGFINC40LfQvNC10L3QtdC90LjQuSwg0LLQsNC8INC90YPQttC90L5cbtC30LDQsdGA0LDRgtGMINC4INGB0LvQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINC40Lcg0LLQvdC10YjQvdC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPINGB0LXQsdC1XG4o0L3QsNC/0YDQuNC80LXRgCwg0YEg0L/QvtC80L7RidGM0Y4gwqtnaXQgcHVsbCDigKbCuykuXG7QlNC70Y8g0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L7QuSDQuNC90YTQvtGA0LzQsNGG0LjQuCwg0YHQvNC+0YLRgNC40YLQtSDCq05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkc8K7XG7QsiDCq2dpdCBwdXNoIC0taGVscMK7LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjkzCisjOiBidWlsdGluL3B1c2guYzoyOTUKIG1zZ2lkICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGFnIGFscmVhZHkgZXhpc3RzIGluIHRoZSByZW1vdGUuIgogbXNnc3RyICLQntCx0L3QvtCy0LvQtdC90LjRjyDQsdGL0LvQuCDQvtGC0LrQu9C+0L3QtdC90YssINGC0LDQuiDQutCw0Log0LzQtdGC0LrQsCDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIg0LLQviDQstC90LXRiNC90LXQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mjk2CisjOiBidWlsdGluL3B1c2guYzoyOTgKIG1zZ2lkICIiCiAiWW91IGNhbm5vdCB1cGRhdGUgYSByZW1vdGUgcmVmIHRoYXQgcG9pbnRzIGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCiAib3IgdXBkYXRlIGEgcmVtb3RlIHJlZiB0byBtYWtlIGl0IHBvaW50IGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCiAid2l0aG91dCB1c2luZyB0aGUgJy0tZm9yY2UnIG9wdGlvbi5cbiIKIG1zZ3N0ciAi0JLRiyDQvdC1INC80L7QttC10YLQtSDQvtCx0L3QvtCy0LjRgtGMINCy0L3QtdGI0L3RjtGOINGB0YHRi9C70LrRgywg0LrQvtGC0L7RgNCw0Y8g0YPQutCw0LfRi9Cy0LDQtdGCINC90LAg0L7QsdGK0LXQutGCLCDQvdC1INGP0LLQu9GP0Y7RidC40LnRgdGPINC60L7QvNC80LjRgtC+0Lwg0LjQu9C4INC+0LHQvdC+0LLQuNGC0Ywg0LLQvdC10YjQvdGO0Y4g0YHRgdGL0LvQutGDINGC0LDQuiwg0YfRgtC+0LHRiyDQvtC90LAg0YPQutCw0LfRi9Cy0LDQu9CwINC90LAg0L7QsdGK0LXQutGCLCDQvdC1INGP0LLQu9GP0Y7RidC40LnRgdGPINC60L7QvNC80LjRgtC+0LwsINCx0LXQtyDRg9C60LDQt9Cw0L3QuNGPINC+0L/RhtC40LggwqstLWZvcmNlwrsuXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM1NworIzogYnVpbHRpbi9wdXNoLmM6MzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlB1c2hpbmcgdG8gJXNcbiIKIG1zZ3N0ciAi0J7RgtC/0YDQsNCy0LrQsCDQsiAlc1xuIgogCi0jOiBidWlsdGluL3B1c2guYzozNjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0L/RgNCw0LLQuNGC0Ywg0L3QtdC60L7RgtC+0YDRi9C1INGB0YHRi9C70LrQuCDQsiDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5NQorIzogYnVpbHRpbi9wdXNoLmM6Mzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCByZXBvc2l0b3J5ICclcyciCiBtc2dzdHIgItC/0LvQvtGF0L7QuSDRgNC10L/QvtC30LjRgtC+0YDQuNGPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzk2CisjOiBidWlsdGluL3B1c2guYzozOTkKIG1zZ2lkICIiCiAiTm8gY29uZmlndXJlZCBwdXNoIGRlc3RpbmF0aW9uLlxuIgogIkVpdGhlciBzcGVjaWZ5IHRoZSBVUkwgZnJvbSB0aGUgY29tbWFuZC1saW5lIG9yIGNvbmZpZ3VyZSBhIHJlbW90ZSByZXBvc2l0b3J5IHVzaW5nXG4iCkBAIC0xMzI2NSwxMDQgKzE1NDMxLDEwNCBAQAogIiAgICBnaXQgcHVzaCA8bmFtZT5cbiIKIG1zZ3N0ciAi0J3QtSDQvdCw0YHRgtGA0L7QtdC90LAg0YLQvtGH0LrQsCDQvdCw0LfQvdCw0YfQtdC90LjRjyDQtNC70Y8g0L7RgtC/0YDQsNCy0LrQuC5cbtCb0LjQsdC+INGD0LrQsNC20LjRgtC1IFVSTCDRgSDQv9C+0LzQvtGJ0YzRjiDQutC+0LzQsNC90LTQvdC+0Lkg0YHRgtGA0L7QutC4LCDQu9C40LHQviDQvdCw0YHRgtGA0L7QudGC0LUg0LLQvdC10YjQvdC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSDRgSDQv9C+0LzQvtGJ0YzRjlxuXG4gICAgZ2l0IHJlbW90ZSBhZGQgPNC40LzRjz4gPNCw0LTRgNC10YE+XG5cbtCwINC30LDRgtC10Lwg0L7RgtC/0YDQsNCy0YzRgtC1INC40LfQvNC10L3QtdC90LjRjyDRgSDQv9C+0LzQvtGJ0YzRjiDQuNC80LXQvdC4INCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRj1xuXG4gICAgZ2l0IHB1c2ggPNC40LzRjz5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTUxCisjOiBidWlsdGluL3B1c2guYzo1NTQKIG1zZ2lkICJyZXBvc2l0b3J5IgogbXNnc3RyICLRgNC10L/QvtC30LjRgtC+0YDQuNC5IgogCi0jOiBidWlsdGluL3B1c2guYzo1NTIgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1NSBidWlsdGluL3NlbmQtcGFjay5jOjE2NAogbXNnaWQgInB1c2ggYWxsIHJlZnMiCiBtc2dzdHIgItC+0YLQv9GA0LDQstC40YLRjCDQstGB0LUg0YHRgdGL0LvQutC4IgogCi0jOiBidWlsdGluL3B1c2guYzo1NTMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1NiBidWlsdGluL3NlbmQtcGFjay5jOjE2NgogbXNnaWQgIm1pcnJvciBhbGwgcmVmcyIKIG1zZ3N0ciAi0YHQtNC10LvQsNGC0Ywg0LfQtdGA0LrQsNC70L4g0LLRgdC10YUg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL3B1c2guYzo1NTUKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1OAogbXNnaWQgImRlbGV0ZSByZWZzIgogbXNnc3RyICLRg9C00LDQu9C40YLRjCDRgdGB0YvQu9C60LgiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU1NgorIzogYnVpbHRpbi9wdXNoLmM6NTU5CiBtc2dpZCAicHVzaCB0YWdzIChjYW4ndCBiZSB1c2VkIHdpdGggLS1hbGwgb3IgLS1taXJyb3IpIgogbXNnc3RyICLQvtGC0L/RgNCw0LLQuNGC0Ywg0LzQtdGC0LrQuCAo0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQstC80LXRgdGC0LUg0YEgLS1hbGwg0LjQu9C4IC0tbWlycm9yKSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTU5IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY3CisjOiBidWlsdGluL3B1c2guYzo1NjIgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjcKIG1zZ2lkICJmb3JjZSB1cGRhdGVzIgogbXNnc3RyICLQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QvtC1INC+0LHQvdC+0LLQu9C10L3QuNC1IgogCi0jOiBidWlsdGluL3B1c2guYzo1NjEgYnVpbHRpbi9zZW5kLXBhY2suYzoxODEKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2NCBidWlsdGluL3NlbmQtcGFjay5jOjE4MQogbXNnaWQgIjxyZWZuYW1lPjo8ZXhwZWN0PiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3B1c2guYzo1NjIgYnVpbHRpbi9zZW5kLXBhY2suYzoxODIKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2NSBidWlsdGluL3NlbmQtcGFjay5jOjE4MgogbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgogbXNnc3RyICLRgtGA0LXQsdC+0LLQsNGC0YwsINGH0YLQvtCx0Ysg0YHRgtCw0YDQvtC1INC30L3QsNGH0LXQvdC40LUg0YHRgdGL0LvQutC4INCx0YvQu9C+INC+0LbQuNC00LDQtdC80YvQvCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTY1CisjOiBidWlsdGluL3B1c2guYzo1NjgKIG1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgItGD0L/RgNCw0LLQu9C10L3QuNC1INGA0LXQutGD0YDRgdC40LLQvdC+0Lkg0L7RgtC/0YDQsNCy0LrQvtC5INC/0L7QtNC80L7QtNGD0LvQtdC5IgogCi0jOiBidWlsdGluL3B1c2guYzo1NjcgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzUKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MCBidWlsdGluL3NlbmQtcGFjay5jOjE3NQogbXNnaWQgInVzZSB0aGluIHBhY2siCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0L3QutC40LUg0L/QsNC60LXRgtGLIgogCi0jOiBidWlsdGluL3B1c2guYzo1NjggYnVpbHRpbi9wdXNoLmM6NTY5IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCisjOiBidWlsdGluL3B1c2guYzo1NzEgYnVpbHRpbi9wdXNoLmM6NTcyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYxCiAjOiBidWlsdGluL3NlbmQtcGFjay5jOjE2MgogbXNnaWQgInJlY2VpdmUgcGFjayBwcm9ncmFtIgogbXNnc3RyICLQv9GD0YLRjCDQuiDQv9GA0L7Qs9GA0LDQvNC80LUg0YPQv9Cw0LrQvtCy0LrQuCDQvdCwINGB0LXRgNCy0LXRgNC1IgogCi0jOiBidWlsdGluL3B1c2guYzo1NzAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MwogbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvc3RhdHVzIgogbXNnc3RyICLRg9GB0YLQsNC90L7QstC40YLRjCDQstGL0YjQtdGB0YLQvtGP0YnRg9GOINCy0LXRgtC60YMg0LTQu9GPIGdpdCBwdWxsL3N0YXR1cyIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTczCisjOiBidWlsdGluL3B1c2guYzo1NzYKIG1zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKIG1zZ3N0ciAi0L/QvtGH0LjRgdGC0LjRgtGMINC70L7QutCw0LvRjNC90L4g0YPQtNCw0LvQtdC90L3Ri9C1INGB0YHRi9C70LrQuCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTc1CisjOiBidWlsdGluL3B1c2guYzo1NzgKIG1zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKIG1zZ3N0ciAi0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0L/QtdGA0LXRhdCy0LDRgtGH0LjQuiBwcmUtcHVzaCIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTc2CisjOiBidWlsdGluL3B1c2guYzo1NzkKIG1zZ2lkICJwdXNoIG1pc3NpbmcgYnV0IHJlbGV2YW50IHRhZ3MiCiBtc2dzdHIgItC+0YLQv9GA0LDQstC40YLRjCDQv9GA0L7Qv9GD0YnQtdC90L3Ri9C1LCDQvdC+INC90YPQttC90YvQtSDQvNC10YLQutC4IgogCi0jOiBidWlsdGluL3B1c2guYzo1NzkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKKyM6IGJ1aWx0aW4vcHVzaC5jOjU4MiBidWlsdGluL3NlbmQtcGFjay5jOjE2OQogbXNnaWQgIkdQRyBzaWduIHRoZSBwdXNoIgogbXNnc3RyICLQv9C+0LTQv9C40YHQsNGC0Ywg0L7RgtC/0YDQsNCy0LrRgyDRgSDQv9C+0LzQvtGJ0YzRjiBHUEciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU4MSBidWlsdGluL3NlbmQtcGFjay5jOjE3NgorIzogYnVpbHRpbi9wdXNoLmM6NTg0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2CiBtc2dpZCAicmVxdWVzdCBhdG9taWMgdHJhbnNhY3Rpb24gb24gcmVtb3RlIHNpZGUiCiBtc2dzdHIgItC30LDQv9GA0L7RgdC40YLRjCDQstGL0L/QvtC70L3QtdC90LjQtSDQsNGC0L7QvNCw0YDQvdC+0Lkg0YLRgNCw0L3Qt9Cw0LrRhtC40Lgg0L3QsCDQstC90LXRiNC90LXQuSDRgdGC0L7RgNC+0L3QtSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NTk5CisjOiBidWlsdGluL3B1c2guYzo2MDIKIG1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKIG1zZ3N0ciAiLS1kZWxldGUg0L3QtdGB0L7QstC80LXRgdGC0LjQvNC+INGBICAtLWFsbCwgLS1taXJyb3Ig0LggLS10YWdzIgogCi0jOiBidWlsdGluL3B1c2guYzo2MDEKKyM6IGJ1aWx0aW4vcHVzaC5jOjYwNAogbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgogbXNnc3RyICItLWRlbGV0ZSDQvdC1INC40LzQtdC10YIg0YHQvNGL0YHQu9CwINCx0LXQtyDRg9C60LDQt9Cw0L3QuNGPINGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjA0CisjOiBidWlsdGluL3B1c2guYzo2MDcKIG1zZ2lkICItLWFsbCBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tYWxsINC4IC0tdGFncyDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjA2CisjOiBidWlsdGluL3B1c2guYzo2MDkKIG1zZ2lkICItLWFsbCBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICItLWFsbCDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINCy0LzQtdGB0YLQtSDRgdC+INGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgNCw0LzQuCDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjYxMAorIzogYnVpbHRpbi9wdXNoLmM6NjEzCiBtc2dpZCAiLS1taXJyb3IgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLW1pcnJvciDQuCAtLXRhZ3Mg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjYxMgorIzogYnVpbHRpbi9wdXNoLmM6NjE1CiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiLS1taXJyb3Ig0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQstC80LXRgdGC0LUg0YHQviDRgdC/0LXRhtC40YTQuNC60LDRgtC+0YDQsNC80Lgg0YHRgdGL0LvQvtC6IgogCi0jOiBidWlsdGluL3B1c2guYzo2MTUKKyM6IGJ1aWx0aW4vcHVzaC5jOjYxOAogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCDQuCAtLW1pcnJvciDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjM0CisjOiBidWlsdGluL3B1c2guYzo2MzcKIG1zZ2lkICJwdXNoIG9wdGlvbnMgbXVzdCBub3QgaGF2ZSBuZXcgbGluZSBjaGFyYWN0ZXJzIgogbXNnc3RyICLQvtC/0YbQuNC4INC00LvRjyDQvtGC0L/RgNCw0LLQutC4INC90LUg0LTQvtC70LbQvdGLINGB0L7QtNC10YDQttCw0YLRjCDRgdC40LzQstC+0LvRiyDQv9C10YDQtdCy0L7QtNCwINGB0YLRgNC+0LoiCiAKQEAgLTEzMzc4LDE2MyArMTU1NDQsNzA4IEBACiBtc2dpZCAiZ2l0IHJhbmdlLWRpZmYgWzxvcHRpb25zPl0gPGJhc2U+IDxvbGQtdGlwPiA8bmV3LXRpcD4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjYKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjIxCiBtc2dpZCAiUGVyY2VudGFnZSBieSB3aGljaCBjcmVhdGlvbiBpcyB3ZWlnaHRlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyOAotbXNnaWQgImNvbG9yIGJvdGggZGlmZiBhbmQgZGlmZi1iZXR3ZWVuLWRpZmZzIgorIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjMKK21zZ2lkICJ1c2Ugc2ltcGxlIGRpZmYgY29sb3JzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjc1IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjc5CisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzo0NiBidWlsdGluL3JhbmdlLWRpZmYuYzo1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyAuLiBpbiByYW5nZTogJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JhbmdlLWRpZmYuYzo4OQorIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NjAKIG1zZ2lkICJzaW5nbGUgYXJnIGZvcm1hdCBtdXN0IGJlIHN5bW1ldHJpYyByYW5nZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JhbmdlLWRpZmYuYzoxMDQKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjc1CiBtc2dpZCAibmVlZCB0d28gY29tbWl0IHJhbmdlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjQwCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjQxCiBtc2dpZCAiIgogImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD08cHJlZml4PikiCiAiIFstdSBbLS1leGNsdWRlLXBlci1kaXJlY3Rvcnk9PGdpdGlnbm9yZT5dIHwgLWldXSBbLS1uby1zcGFyc2UtY2hlY2tvdXRdICIKICJbLS1pbmRleC1vdXRwdXQ9PGZpbGU+XSAoLS1lbXB0eSB8IDx0cmVlLWlzaDE+IFs8dHJlZS1pc2gyPiBbPHRyZWUtaXNoMz5dXSkiCiBtc2dzdHIgImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD080L/RgNC10YTQuNC60YE+KSBbLXUgWy0tZXhjbHVkZS1wZXItZGlyZWN0b3J5PTxnaXRpZ25vcmU+XSB8IC1pXV0gWy0tbm8tc3BhcnNlLWNoZWNrb3V0XSBbLS1pbmRleC1vdXRwdXQ9PNGE0LDQudC7Pl0gKC0tZW1wdHkgfCA80YPQutCw0LfQsNGC0LXQu9GMLdC00LXRgNC10LLQsC0xPiBbPNGD0LrQsNC30LDRgtC10LvRjC3QtNC10YDQtdCy0LAtMj4gWzzRg9C60LDQt9Cw0YLQtdC70Ywt0LTQtdGA0LXQstCwLTM+XV0pIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjQKIG1zZ2lkICJ3cml0ZSByZXN1bHRpbmcgaW5kZXggdG8gPGZpbGU+IgogbXNnc3RyICLQt9Cw0L/QuNGB0LDRgtGMINGA0LXQt9GD0LvRjNGC0LjRgNGD0Y7RidC40Lkg0LjQvdC00LXQutGBINCyIDzRhNCw0LnQuz4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNwogbXNnaWQgIm9ubHkgZW1wdHkgdGhlIGluZGV4IgogbXNnc3RyICLQv9GA0L7RgdGC0L4g0L7Rh9C40YHRgtC40YLRjCDQuNC90LTQtdC60YEiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOQogbXNnaWQgIk1lcmdpbmciCiBtc2dzdHIgItCh0LvQuNGP0L3QuNC1IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzEKIG1zZ2lkICJwZXJmb3JtIGEgbWVyZ2UgaW4gYWRkaXRpb24gdG8gYSByZWFkIgogbXNnc3RyICLQstGL0L/QvtC70L3QuNGC0Ywg0YHQu9C40Y/QvdC40LUg0LIg0LTQvtC/0L7Qu9C90LXQvdC40LUg0Log0YfRgtC10L3QuNGOIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzMKIG1zZ2lkICIzLXdheSBtZXJnZSBpZiBubyBmaWxlIGxldmVsIG1lcmdpbmcgcmVxdWlyZWQiCiBtc2dzdHIgItGC0YDQtdGF0YXQvtC00L7QstC+0LUg0YHQu9C40Y/QvdC40LUsINC10YHQu9C4INC90LUg0YLRgNC10LHRg9C10YLRgdGPINGB0LvQuNGP0L3QuNC1INC90LAg0YPRgNC+0LLQvdC1INGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzEKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM1CiBtc2dpZCAiMy13YXkgbWVyZ2UgaW4gcHJlc2VuY2Ugb2YgYWRkcyBhbmQgcmVtb3ZlcyIKIG1zZ3N0ciAi0YLRgNC10YXRhdC+0LTQvtCy0L7QtSDRgdC70LjRj9C90LjQtSDQsiDRgdC70YPRh9Cw0LUg0L/RgNC40YHRg9GC0YHRgtCy0LjRjyDQtNC+0LHQsNCy0LvQtdC90LjQuSDQuNC70Lgg0YPQtNCw0LvQtdC90LjQuSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMzCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNwogbXNnaWQgInNhbWUgYXMgLW0sIGJ1dCBkaXNjYXJkIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgItGC0L7QttC1LCDRh9GC0L4g0LggLW0sINC90L4g0L7RgtC80LXQvdGP0LXRgiDQuNC30LzQtdC90LXQvdC40Y8g0L3QtSDRgdC70LjRgtGL0YUg0LfQsNC/0LjRgdC10LkiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM0CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOAogbXNnaWQgIjxzdWJkaXJlY3Rvcnk+LyIKIG1zZ3N0ciAiPNC/0L7QtNC60LDRgtCw0LvQvtCzPi8iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM1CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOQogbXNnaWQgInJlYWQgdGhlIHRyZWUgaW50byB0aGUgaW5kZXggdW5kZXIgPHN1YmRpcmVjdG9yeT4vIgogbXNnc3RyICLQv9GA0L7Rh9C40YLQsNGC0Ywg0LTQtdGA0LXQstC+INCyINC40L3QtNC10LrRgSDQsiA80L/QvtC00LrQsNGC0LDQu9C+0LM+LyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzgKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQyCiBtc2dpZCAidXBkYXRlIHdvcmtpbmcgdHJlZSB3aXRoIG1lcmdlIHJlc3VsdCIKIG1zZ3N0ciAi0L7QsdC90L7QstC40YLRjCDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyDRgNC10LfRg9C70YzRgtCw0YLQvtC8INGB0LvQuNGP0L3QuNGPIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0MAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDQKIG1zZ2lkICJnaXRpZ25vcmUiCiBtc2dzdHIgImdpdGlnbm9yZSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDEKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ1CiBtc2dpZCAiYWxsb3cgZXhwbGljaXRseSBpZ25vcmVkIGZpbGVzIHRvIGJlIG92ZXJ3cml0dGVuIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0L/QtdGA0LXQt9Cw0L/QuNGB0Ywg0Y/QstC90L4g0LjQs9C90L7RgNC40YDRg9C10LzRi9GFINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDQKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ4CiBtc2dpZCAiZG9uJ3QgY2hlY2sgdGhlIHdvcmtpbmcgdHJlZSBhZnRlciBtZXJnaW5nIgogbXNnc3RyICLQvdC1INC/0YDQvtCy0LXRgNGP0YLRjCDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyDQv9C+0YHQu9C1INGB0LvQuNGP0L3QuNGPIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDkKIG1zZ2lkICJkb24ndCB1cGRhdGUgdGhlIGluZGV4IG9yIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgItC90LUg0L7QsdC90L7QstC70Y/RgtGMINC40L3QtNC10LrRgSDQuNC70Lgg0YDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1MQogbXNnaWQgInNraXAgYXBwbHlpbmcgc3BhcnNlIGNoZWNrb3V0IGZpbHRlciIKIG1zZ3N0ciAi0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0L/RgNC40LzQtdC90LXQvdC40LUg0YTQuNC70YzRgtGA0LAg0YfQsNGB0YLQuNGH0L3QvtCz0L4g0L/QtdGA0LXQutC70Y7Rh9C10L3QuNGPINC90LAg0YHQvtGB0YLQvtGP0L3QuNC1IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0OQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTMKIG1zZ2lkICJkZWJ1ZyB1bnBhY2stdHJlZXMiCiBtc2dzdHIgItC+0YLQu9Cw0LTQutCwIHVucGFjay10cmVlcyIKIAotIzogYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjgKLW1zZ2lkICJnaXQgcmViYXNlLS1oZWxwZXIgWzxvcHRpb25zPl0iCi1tc2dzdHIgImdpdCByZWJhc2UtLWhlbHBlciBbPNC+0L/RhtC40Lg+XSIKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTU3Cittc2dpZCAic3VwcHJlc3MgZmVlZGJhY2sgbWVzc2FnZXMiCittc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjI0CisjOiBidWlsdGluL3JlYmFzZS5jOjMyCittc2dpZCAiIgorImdpdCByZWJhc2UgWy1pXSBbb3B0aW9uc10gWy0tZXhlYyA8Y21kPl0gWy0tb250byA8bmV3YmFzZT5dIFs8dXBzdHJlYW0+XSAiCisiWzxicmFuY2g+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjM0Cittc2dpZCAiIgorImdpdCByZWJhc2UgWy1pXSBbb3B0aW9uc10gWy0tZXhlYyA8Y21kPl0gWy0tb250byA8bmV3YmFzZT5dIC0tcm9vdCAiCisiWzxicmFuY2g+XSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjM2Cittc2dpZCAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIHwgLS1hYm9ydCB8IC0tc2tpcCB8IC0tZWRpdC10b2RvIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTU4IGJ1aWx0aW4vcmViYXNlLmM6MTgyIGJ1aWx0aW4vcmViYXNlLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInVudXNhYmxlIHRvZG8gbGlzdDogJyVzJyIKK21zZ3N0ciAi0L3QtdC/0YDQuNCz0L7QtNC90YvQuSDQtNC70Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8g0YHQv9C40YHQvtC6INC00LXQuzogwqslc8K7IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2NyBidWlsdGluL3JlYmFzZS5jOjE5MyBidWlsdGluL3JlYmFzZS5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgJyVzJy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyNTIKK21zZ2lkICJubyBIRUFEPyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjI4NQorbXNnaWQgImNvdWxkIG5vdCBtYXJrIGFzIGludGVyYWN0aXZlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzQzCittc2dpZCAiY291bGQgbm90IGdlbmVyYXRlIHRvZG8gbGlzdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjM4MgorbXNnaWQgImEgYmFzZSBjb21taXQgbXVzdCBiZSBwcm92aWRlZCB3aXRoIC0tdXBzdHJlYW0gb3IgLS1vbnRvIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDM3Cittc2dpZCAiZ2l0IHJlYmFzZS0taW50ZXJhY3RpdmUgWzxvcHRpb25zPl0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NDkKIG1zZ2lkICJrZWVwIGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgItC+0YHRgtCw0LLQuNGC0Ywg0L/Rg9GB0YLRi9C1INC60L7QvNC80LjRgtGLIgogCi0jOiBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6MjYgYnVpbHRpbi9yZXZlcnQuYzoxMjQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDUxIGJ1aWx0aW4vcmV2ZXJ0LmM6MTI3CiBtc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0LrQvtC80LzQuNGC0Ysg0YEg0L/Rg9GB0YLRi9C80Lgg0YHQvtC+0LHRidC10L3QuNGP0LzQuCIKIAotIzogYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjI3CisjOiBidWlsdGluL3JlYmFzZS5jOjQ1MgogbXNnaWQgInJlYmFzZSBtZXJnZSBjb21taXRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzoyOQorIzogYnVpbHRpbi9yZWJhc2UuYzo0NTQKIG1zZ2lkICJrZWVwIG9yaWdpbmFsIGJyYW5jaCBwb2ludHMgb2YgY291c2lucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6MzAKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDU2Cittc2dpZCAibW92ZSBjb21taXRzIHRoYXQgYmVnaW4gd2l0aCBzcXVhc2ghL2ZpeHVwISIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ1NworbXNnaWQgInNpZ24gY29tbWl0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ1OSBidWlsdGluL3JlYmFzZS5jOjEzOTcKK21zZ2lkICJkaXNwbGF5IGEgZGlmZnN0YXQgb2Ygd2hhdCBjaGFuZ2VkIHVwc3RyZWFtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDYxCiBtc2dpZCAiY29udGludWUgcmViYXNlIgogbXNnc3RyICLQv9GA0L7QtNC+0LvQttC40YLRjCDQv9C10YDQtdC80LXRidC10L3QuNC1IgogCi0jOiBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6MzIKLW1zZ2lkICJhYm9ydCByZWJhc2UiCi1tc2dzdHIgItC+0YHRgtCw0L3QvtCy0LjRgtGMINC/0LXRgNC10LzQtdGJ0LXQvdC40LUiCisjOiBidWlsdGluL3JlYmFzZS5jOjQ2MworbXNnaWQgInNraXAgY29tbWl0IgorbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzozNQotbXNnaWQgIm1ha2UgcmViYXNlIHNjcmlwdCIKLW1zZ3N0ciAi0YHQvtC30LTQsNGC0Ywg0YHRhtC10L3QsNGA0LjQuSDQv9C10YDQtdC80LXRidC10L3QuNGPIgorIzogYnVpbHRpbi9yZWJhc2UuYzo0NjQKK21zZ2lkICJlZGl0IHRoZSB0b2RvIGxpc3QiCittc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjM3CisjOiBidWlsdGluL3JlYmFzZS5jOjQ2NgorbXNnaWQgInNob3cgdGhlIGN1cnJlbnQgcGF0Y2giCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NjkKIG1zZ2lkICJzaG9ydGVuIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0LrQvtGA0L7RgtC60LjQtSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGLINC60L7QvNC80LjRgtC+0LIg0LIg0YHQv9C40YHQutC1INC00LXQudGB0YLQstC40LkiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzozOQorIzogYnVpbHRpbi9yZWJhc2UuYzo0NzEKIG1zZ2lkICJleHBhbmQgY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQv9C+0LvQvdGL0LUg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDRiyDQutC+0LzQvNC40YLQvtCyINCyINGB0L/QuNGB0LrQtSDQtNC10LnRgdGC0LLQuNC5IgogCi0jOiBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6NDEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDczCiBtc2dpZCAiY2hlY2sgdGhlIHRvZG8gbGlzdCIKIG1zZ3N0ciAi0L/RgNC+0LLQtdGA0LjRgtGMINGB0L/QuNGB0L7QuiDQtNC10LsiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLS1oZWxwZXIuYzo0MwotbXNnaWQgInNraXAgdW5uZWNlc3NhcnkgcGlja3MiCi1tc2dzdHIgItC/0YDQvtC/0YPRgdGC0LjRgtGMINC90LXQvdGD0LbQvdGL0LUg0LrQvtC80LDQvdC00YsgcGljayIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjQ1CisjOiBidWlsdGluL3JlYmFzZS5jOjQ3NQogbXNnaWQgInJlYXJyYW5nZSBmaXh1cC9zcXVhc2ggbGluZXMiCiBtc2dzdHIgItC/0LXRgNC10YHRgtCw0LLQuNGC0Ywg0YHRgtGA0L7QutC4IGZpeHVwL3NxdWFzaCIKIAotIzogYnVpbHRpbi9yZWJhc2UtLWhlbHBlci5jOjQ3CisjOiBidWlsdGluL3JlYmFzZS5jOjQ3NwogbXNnaWQgImluc2VydCBleGVjIGNvbW1hbmRzIGluIHRvZG8gbGlzdCIKIG1zZ3N0ciAi0LLRgdGC0LDQstC40YLRjCDQutC+0LzQsNC90LTRiyDQuNGB0L/QvtC70L3QtdC90LjRjyDQutC+0LzQvNC40YLQvtCyINCyINGB0L/QuNGB0LrQtSDQtNC10LnRgdGC0LLQuNC5IgogCi0jOiBidWlsdGluL3JlYmFzZS0taGVscGVyLmM6NjgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDc4Cittc2dpZCAib250byIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4MQorbXNnaWQgInJlc3RyaWN0LXJldmlzaW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDgxCittc2dpZCAicmVzdHJpY3QgcmV2aXNpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0ODMKK21zZ2lkICJzcXVhc2gtb250byIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4NAorbXNnaWQgInNxdWFzaCBvbnRvIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDg2Cittc2dpZCAidGhlIHVwc3RyZWFtIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4OAorbXNnaWQgImhlYWQtbmFtZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4OAorbXNnaWQgImhlYWQgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ5MworbXNnaWQgInJlYmFzZSBzdHJhdGVneSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ5NAorbXNnaWQgInN0cmF0ZWd5LW9wdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTUKK21zZ2lkICJzdHJhdGVneSBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDk2Cittc2dpZCAic3dpdGNoLXRvIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDk3Cittc2dpZCAidGhlIGJyYW5jaCBvciBjb21taXQgdG8gY2hlY2tvdXQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTgKK21zZ2lkICJvbnRvLW5hbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTgKK21zZ2lkICJvbnRvIG5hbWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTkKK21zZ2lkICJjbWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTkKK21zZ2lkICJ0aGUgY29tbWFuZCB0byBydW4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDIgYnVpbHRpbi9yZWJhc2UuYzoxNDgwCittc2dpZCAiYXV0b21hdGljYWxseSByZS1zY2hlZHVsZSBhbnkgYGV4ZWNgIHRoYXQgZmFpbHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTgKIG1zZ2lkICItLVtuby1dcmViYXNlLWNvdXNpbnMgaGFzIG5vIGVmZmVjdCB3aXRob3V0IC0tcmViYXNlLW1lcmdlcyIKIG1zZ3N0ciAiLS1bbm8tXXJlYmFzZS1jb3VzaW5zINC90LUg0LjQvNC10LXRgiDRgdC80YvRgdC70LAg0LHQtdC3INGD0LrQsNC30LDQvdC40Y8gLS1yZWJhc2UtbWVyZ2VzIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjMyCisjOiBidWlsdGluL3JlYmFzZS5jOjUzNCBidWlsdGluL3JlYmFzZS5jOjE3ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYW4gaW50ZXJhY3RpdmUgcmViYXNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBnZXQgJ29udG8nOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NjAxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgb3JpZy1oZWFkOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NjI2CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIGludmFsaWQgYWxsb3dfcmVyZXJlX2F1dG91cGRhdGU6ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo3MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHJlYWQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjcyMAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgc3RvcmUgJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo4MTcKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIEhFQUQgcmV2aXNpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo5NDAKK21zZ2lkICIiCisiUmVzb2x2ZSBhbGwgY29uZmxpY3RzIG1hbnVhbGx5LCBtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgd2l0aFxuIgorIlwiZ2l0IGFkZC9ybSA8Y29uZmxpY3RlZF9maWxlcz5cIiwgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKKyJZb3UgY2FuIGluc3RlYWQgc2tpcCB0aGlzIGNvbW1pdDogcnVuIFwiZ2l0IHJlYmFzZSAtLXNraXBcIi5cbiIKKyJUbyBhYm9ydCBhbmQgZ2V0IGJhY2sgdG8gdGhlIHN0YXRlIGJlZm9yZSBcImdpdCByZWJhc2VcIiwgcnVuIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIuIgorbXNnc3RyICLQoNCw0LfRgNC10YjQuNGC0LUg0LLRgdC1INC60L7QvdGE0LvQuNC60YLRiyDQstGA0YPRh9C90YPRjiwg0L/QvtC80LXRgtGM0YLQtSDQuNGFINGA0LDQt9GA0LXRiNGR0L3QvdGL0LzQuCDRgSDQv9C+0LzQvtGJ0YzRjiDCq2dpdCBhZGQvcm0gPNC60L7QvdGE0LvQuNC60YLRg9GO0YnQuNC1LdGE0LDQudC70Ys+wrssINCwINC30LDRgtC10Lwg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IHJlYmFzZSAtLWNvbnRpbnVlwrsuXG7QldGB0LvQuCDQstGLINGF0L7RgtC40YLQtSDQv9GA0L7Qv9GD0YHRgtC40YLRjCDRjdGC0L7RgiDQutC+0LzQvNC40YIsINGC0L4g0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IHJlYmFzZSAtLXNraXDCuy5cbtCn0YLQvtCx0Ysg0LLQtdGA0L3Rg9GC0YzRgdGPINC90LAg0YHQvtGB0YLQvtGP0L3QuNC1INC00L4gwqtnaXQgcmViYXNlwrssINC30LDQv9GD0YHRgtC40YLQtSDCq2dpdCByZWJhc2UgLS1hYm9ydMK7LiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMDIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJnaXQgZW5jb3VudGVyZWQgYW4gZXJyb3Igd2hpbGUgcHJlcGFyaW5nIHRoZSBwYXRjaGVzIHRvIHJlcGxheVxuIgorInRoZXNlIHJldmlzaW9uczpcbiIKKyJcbiIKKyIgICAgJXNcbiIKKyJcbiIKKyJBcyBhIHJlc3VsdCwgZ2l0IGNhbm5vdCByZWJhc2UgdGhlbS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlc1xuIgorIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byByZWJhc2UgYWdhaW5zdC5cbiIKKyJTZWUgZ2l0LXJlYmFzZSgxKSBmb3IgZGV0YWlscy5cbiIKKyJcbiIKKyIgICAgZ2l0IHJlYmFzZSAnPGJyYW5jaD4nXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDpcbiIKKyJcbiIKKyIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10bz0lcy88YnJhbmNoPiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTM1OQorbXNnaWQgImV4ZWMgY29tbWFuZHMgY2Fubm90IGNvbnRhaW4gbmV3bGluZXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMzYzCittc2dpZCAiZW1wdHkgZXhlYyBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTM5MAorbXNnaWQgInJlYmFzZSBvbnRvIGdpdmVuIGJyYW5jaCBpbnN0ZWFkIG9mIHVwc3RyZWFtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTM5MgorbXNnaWQgImFsbG93IHByZS1yZWJhc2UgaG9vayB0byBydW4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMzk0Cittc2dpZCAiYmUgcXVpZXQuIGltcGxpZXMgLS1uby1zdGF0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQwMAorbXNnaWQgImRvIG5vdCBzaG93IGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0MDMKK21zZ2lkICJhZGQgYSBTaWduZWQtb2ZmLWJ5OiBsaW5lIHRvIGVhY2ggY29tbWl0IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQwNSBidWlsdGluL3JlYmFzZS5jOjE0MDkgYnVpbHRpbi9yZWJhc2UuYzoxNDExCittc2dpZCAicGFzc2VkIHRvICdnaXQgYW0nIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQxMyBidWlsdGluL3JlYmFzZS5jOjE0MTUKK21zZ2lkICJwYXNzZWQgdG8gJ2dpdCBhcHBseSciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDE3IGJ1aWx0aW4vcmViYXNlLmM6MTQyMAorbXNnaWQgImNoZXJyeS1waWNrIGFsbCBjb21taXRzLCBldmVuIGlmIHVuY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0MjIKK21zZ2lkICJjb250aW51ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0MjUKK21zZ2lkICJza2lwIGN1cnJlbnQgcGF0Y2ggYW5kIGNvbnRpbnVlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQyNworbXNnaWQgImFib3J0IGFuZCBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0MzAKK21zZ2lkICJhYm9ydCBidXQga2VlcCBIRUFEIHdoZXJlIGl0IGlzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQzMQorbXNnaWQgImVkaXQgdGhlIHRvZG8gbGlzdCBkdXJpbmcgYW4gaW50ZXJhY3RpdmUgcmViYXNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQzNAorbXNnaWQgInNob3cgdGhlIHBhdGNoIGZpbGUgYmVpbmcgYXBwbGllZCBvciBtZXJnZWQiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDM3Cittc2dpZCAidXNlIG1lcmdpbmcgc3RyYXRlZ2llcyB0byByZWJhc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDQxCittc2dpZCAibGV0IHRoZSB1c2VyIGVkaXQgdGhlIGxpc3Qgb2YgY29tbWl0cyB0byByZWJhc2UiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDQ1Cittc2dpZCAiKERFUFJFQ0FURUQpIHRyeSB0byByZWNyZWF0ZSBtZXJnZXMgaW5zdGVhZCBvZiBpZ25vcmluZyB0aGVtIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ0OQorbXNnaWQgInByZXNlcnZlIGVtcHR5IGNvbW1pdHMgZHVyaW5nIHJlYmFzZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NTEKK21zZ2lkICJtb3ZlIGNvbW1pdHMgdGhhdCBiZWdpbiB3aXRoIHNxdWFzaCEvZml4dXAhIHVuZGVyIC1pIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1NworbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDU5Cittc2dpZCAiYWRkIGV4ZWMgbGluZXMgYWZ0ZXIgZWFjaCBjb21taXQgb2YgdGhlIGVkaXRhYmxlIGxpc3QiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDYzCittc2dpZCAiYWxsb3cgcmViYXNpbmcgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ2NgorbXNnaWQgInRyeSB0byByZWJhc2UgbWVyZ2VzIGluc3RlYWQgb2Ygc2tpcHBpbmcgdGhlbSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NjkKK21zZ2lkICJ1c2UgJ21lcmdlLWJhc2UgLS1mb3JrLXBvaW50JyB0byByZWZpbmUgdXBzdHJlYW0iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDcxCittc2dpZCAidXNlIHRoZSBnaXZlbiBtZXJnZSBzdHJhdGVneSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NzMgYnVpbHRpbi9yZXZlcnQuYzoxMTQKK21zZ2lkICJvcHRpb24iCittc2dzdHIgItC+0L/RhtC40Y8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3NAorbXNnaWQgInBhc3MgdGhlIGFyZ3VtZW50IHRocm91Z2ggdG8gdGhlIG1lcmdlIHN0cmF0ZWd5IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3NworbXNnaWQgInJlYmFzZSBhbGwgcmVhY2hhYmxlIGNvbW1pdHMgdXAgdG8gdGhlIHJvb3QocykiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDk4Cittc2dpZCAiIgorInRoZSByZWJhc2UudXNlQnVpbHRpbiBzdXBwb3J0IGhhcyBiZWVuIHJlbW92ZWQhXG4iCisiU2VlIGl0cyBlbnRyeSBpbiAnZ2l0IGhlbHAgY29uZmlnJyBmb3IgZGV0YWlscy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTA0Cittc2dpZCAiSXQgbG9va3MgbGlrZSAnZ2l0IGFtJyBpcyBpbiBwcm9ncmVzcy4gQ2Fubm90IHJlYmFzZS4iCittc2dzdHIgItCf0L7RhdC+0LbQtSwg0YfRgtC+INCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8gwqtnaXQgYW3Cuy4g0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C/0L7Qu9C90LjRgtGMINC/0LXRgNC10LzQtdGJ0LXQvdC40LUuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE1NDUKK21zZ2lkICIiCisiZ2l0IHJlYmFzZSAtLXByZXNlcnZlLW1lcmdlcyBpcyBkZXByZWNhdGVkLiBVc2UgLS1yZWJhc2UtbWVyZ2VzIGluc3RlYWQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTU0OQorbXNnaWQgIk5vIHJlYmFzZSBpbiBwcm9ncmVzcz8iCittc2dzdHIgItCd0LXRgiDQv9C10YDQtdC80LXRidC10L3QuNGPINCyINC/0YDQvtGG0LXRgdGB0LU/IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE1NTMKK21zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCittc2dzdHIgItCU0LXQudGB0YLQstC40LUgLS1lZGl0LXRvZG8g0LzQvtC20LXRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YzRgdGPINGC0L7Qu9GM0LrQviDQv9GA0Lgg0LjQvdGC0LXRgNCw0LrRgtC40LLQvdC+0Lwg0L/QtdGA0LXQvNC10YnQtdC90LjQuC4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTU3NgorbXNnaWQgIkNhbm5vdCByZWFkIEhFQUQiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMIEhFQUQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTU4OAorbXNnaWQgIiIKKyJZb3UgbXVzdCBlZGl0IGFsbCBtZXJnZSBjb25mbGljdHMgYW5kIHRoZW5cbiIKKyJtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgdXNpbmcgZ2l0IGFkZCIKK21zZ3N0ciAi0JLRiyDQtNC+0LvQttC90Ysg0L7RgtGA0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINCy0YHQtVxu0LrQvtC90YTQu9C40LrRgtGLINGB0LvQuNGP0L3QuNGPLCDQsCDQv9C+0YLQvtC8INC/0L7QvNC10YLQuNGC0YxcbtC40YUg0LrQsNC6INGA0LDQt9GA0LXRiNC10L3QvdGL0LUg0YEg0L/QvtC80L7RidGM0Y4gZ2l0IGFkZCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjA3Cittc2dpZCAiY291bGQgbm90IGRpc2NhcmQgd29ya3RyZWUgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IG1vdmUgYmFjayB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2MzcgYnVpbHRpbi9ybS5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVtb3ZlICclcyciCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywgwqslc8K7IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICVzIGRpcmVjdG9yeSwgYW5kXG4iCisiSSB3b25kZXIgaWYgeW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgcmViYXNlLiAgSWYgdGhhdCBpcyB0aGVcbiIKKyJjYXNlLCBwbGVhc2UgdHJ5XG4iCisiXHQlc1xuIgorIklmIHRoYXQgaXMgbm90IHRoZSBjYXNlLCBwbGVhc2VcbiIKKyJcdCVzXG4iCisiYW5kIHJ1biBtZSBhZ2Fpbi4gIEkgYW0gc3RvcHBpbmcgaW4gY2FzZSB5b3Ugc3RpbGwgaGF2ZSBzb21ldGhpbmdcbiIKKyJ2YWx1YWJsZSB0aGVyZS5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2ODQKK21zZ2lkICJzd2l0Y2ggYEMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gbW9kZTogJXMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNzQ3Cittc2dpZCAiLS1zdHJhdGVneSByZXF1aXJlcyAtLW1lcmdlIG9yIC0taW50ZXJhY3RpdmUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNzk2Cittc2dpZCAiY2Fubm90IGNvbWJpbmUgYW0gb3B0aW9ucyB3aXRoIGVpdGhlciBpbnRlcmFjdGl2ZSBvciBtZXJnZSBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTgxNQorbXNnaWQgImNhbm5vdCBjb21iaW5lICctLXByZXNlcnZlLW1lcmdlcycgd2l0aCAnLS1yZWJhc2UtbWVyZ2VzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4MTkKK21zZ2lkICIiCisiZXJyb3I6IGNhbm5vdCBjb21iaW5lICctLXByZXNlcnZlLW1lcmdlcycgd2l0aCAnLS1yZXNjaGVkdWxlLWZhaWxlZC1leGVjJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4MjUKK21zZ2lkICJjYW5ub3QgY29tYmluZSAnLS1yZWJhc2UtbWVyZ2VzJyB3aXRoICctLXN0cmF0ZWd5LW9wdGlvbiciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxODI4Cittc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneSciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxODUyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdXBzdHJlYW0gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4NTgKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIG5ldyByb290IGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJzogbmVlZCBleGFjdGx5IG9uZSBtZXJnZSBiYXNlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg4MworIywgYy1mb3JtYXQKK21zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTkwOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2gvY29tbWl0ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxOTE2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gc3VjaCByZWY6ICVzIgorbXNnc3RyICLQndC10YIg0YLQsNC60L7QuSDRgdGB0YvQu9C60Lg6ICVzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE5MjcKK21zZ2lkICJDb3VsZCBub3QgcmVzb2x2ZSBIRUFEIHRvIGEgcmV2aXNpb24iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxOTY4Cittc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCDRgdC/0YDRj9GC0LDRgtGMINC40LfQvNC10L3QtdC90LjRjyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxOTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgc3Rhc2ggcmVzcG9uc2U6ICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxOTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IGZvciAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTk4MAorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE5ODMKK21zZ2lkICJjb3VsZCBub3QgcmVzZXQgLS1oYXJkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTk4NCBidWlsdGluL3Jlc2V0LmM6MTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIkhFQUQgaXMgbm93IGF0ICVzIgorbXNnc3RyICJIRUFEINGB0LXQudGH0LDRgSDQvdCwICVzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjIwMDAKK21zZ2lkICJQbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgorbXNnc3RyICLQodC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiDQuNC70Lgg0YHQv9GA0Y/Rh9GM0YLQtSDQuNGFLiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMDI3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA0MAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3dpdGNoIHRvICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA1MQorbXNnaWQgIkhFQUQgaXMgdXAgdG8gZGF0ZS4iCittc2dzdHIgIkhFQUQg0YPQttC1INCyINCw0LrRgtGD0LDQu9GM0L3QvtC8INGB0L7RgdGC0L7Rj9C90LjQuC4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA1MworIywgYy1mb3JtYXQKK21zZ2lkICJDdXJyZW50IGJyYW5jaCAlcyBpcyB1cCB0byBkYXRlLlxuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA2MQorbXNnaWQgIkhFQUQgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCittc2dzdHIgIkhFQUQg0YPQttC1INCyINCw0LrRgtGD0LDQu9GM0L3QvtC8INGB0L7RgdGC0L7Rj9C90LjQuCwg0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L7QtSDQv9C10YDQtdC80LXRidC10L3QuNC1LiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkN1cnJlbnQgYnJhbmNoICVzIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMDcxCittc2dpZCAiVGhlIHByZS1yZWJhc2UgaG9vayByZWZ1c2VkIHRvIHJlYmFzZS4iCittc2dzdHIgItCf0LXRgNC10YXQstCw0YLRh9C40LogcHJlLXJlYmFzZSDQvtGC0LrQsNC30LDQuyDQsiDQv9C10YDQtdC80LXRidC10L3QuNC4LiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMDc4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZXMgdG8gJXM6XG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZXMgZnJvbSAlcyB0byAlczpcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjIxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uXG4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMTE1Cittc2dpZCAiQ291bGQgbm90IGRldGFjaCBIRUFEIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEyNAorIywgYy1mb3JtYXQKK21zZ2lkICJGYXN0LWZvcndhcmRlZCAlcyB0byAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjMzCiBtc2dpZCAiZ2l0IHJlY2VpdmUtcGFjayA8Z2l0LWRpcj4iCiBtc2dzdHIgImdpdCByZWNlaXZlLXBhY2sgPNC60LDRgtCw0LvQvtCzLWdpdD4iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODMwCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjgzMwogbXNnaWQgIiIKICJCeSBkZWZhdWx0LCB1cGRhdGluZyB0aGUgY3VycmVudCBicmFuY2ggaW4gYSBub24tYmFyZSByZXBvc2l0b3J5XG4iCiAiaXMgZGVuaWVkLCBiZWNhdXNlIGl0IHdpbGwgbWFrZSB0aGUgaW5kZXggYW5kIHdvcmsgdHJlZSBpbmNvbnNpc3RlbnRcbiIKQEAgLTEzNTUxLDcgKzE2MjYyLDcgQEAKICIncmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSB0byAncmVmdXNlJy4iCiBtc2dzdHIgItCf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOLCDQvtCx0L3QvtCy0LvRj9GC0Ywg0YLQtdC60YPRidGD0Y4g0LLQtdGC0LrRgyDQsiDRgNC10L/QvtC30LjRgtC+0YDQuNC4INGBINGA0LDQsdC+0YfQtdC5XG7QutC+0L/QuNC10LkgKNC90LUg0LPQvtC70L7QvCkg0LfQsNC/0YDQtdGJ0LXQvdC+LCDRgtCw0Log0LrQsNC6INGN0YLQviDRgdC00LXQu9Cw0LXRgiDRgdC+0YHRgtC+0Y/QvdC40LUg0LjQvdC00LXQutGB0LBcbtC4INGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCDQv9GA0L7RgtC40LLQvtGA0LXRh9C40LLRi9C8LCDQuCDQstCw0Lwg0L/RgNC40LnQtNC10YLRgdGPINCy0YvQv9C+0LvQvdC40YLRjFxuwqtnaXQgcmVzZXQgLS1oYXJkwrssINGH0YLQvtCx0Ysg0YHQvtGB0YLQvtGP0L3QuNC1INGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCDRgdC90L7QstCwXG7RgdC+0L7RgtCy0LXRgtGB0YLQstC+0LLQsNC70L4gSEVBRC5cblxu0JLRiyDQvNC+0LbQtdGC0LUg0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0LfQvdCw0YfQtdC90LjQtSDQvtC/0YbQuNC4IMKrcmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaMK7XG7QsiDCq2lnbm9yZcK7INC40LvQuCDCq3dhcm7CuyDQstC+INCy0L3QtdGI0L3QtdC8INGA0LXQv9C+0LfQuNGC0L7RgNC40LgsINGH0YLQvtCx0Ysg0YDQsNC30YDQtdGI0LjRgtGMXG7QvtGC0L/RgNCw0LLQutGDINCyINC10LPQviDRgtC10LrRg9GJ0YPRjiDQstC10YLQutGDOyDQvdC+INGN0YLQviDQvdC1INGA0LXQutC+0LzQtdC90LTRg9C10YLRgdGPLCDQtdGB0LvQuCDRgtC+0LvRjNC60L5cbtCy0Ysg0L3QtSDQvdCw0LzQtdGA0LXQvdGLINC+0LHQvdC+0LLQuNGC0Ywg0LXQs9C+INGA0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzINGB0L/QvtGB0L7QsdC+0Lwg0L/QvtC00L7QsdC90YvQvFxu0LLRi9GI0LXQvtC/0LjRgdCw0L3QvdC+0LzRgy5cblxu0KfRgtC+0LHRiyDQv9GA0L7Qv9GD0YHRgtC40YLRjCDRjdGC0L4g0YHQvtC+0LHRidC10L3QuNC1INC4INCy0YHQtSDRgNCw0LLQvdC+INC+0YHRgtCw0LLQuNGC0Ywg0L/QvtCy0LXQtNC10L3QuNC1XG7Qv9C+INGD0LzQvtC70YfQsNC90LjRjiwg0YPRgdGC0LDQvdC+0LLQuNGC0LUg0LfQvdCw0YfQtdC90LjQtSDQvtC/0YbQuNC4IMKrcmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaMK7XG7QsiDCq3JlZnVzZcK7LiIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4NTAKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6ODUzCiBtc2dpZCAiIgogIkJ5IGRlZmF1bHQsIGRlbGV0aW5nIHRoZSBjdXJyZW50IGJyYW5jaCBpcyBkZW5pZWQsIGJlY2F1c2UgdGhlIG5leHRcbiIKICInZ2l0IGNsb25lJyB3b24ndCByZXN1bHQgaW4gYW55IGZpbGUgY2hlY2tlZCBvdXQsIGNhdXNpbmcgY29uZnVzaW9uLlxuIgpAQCAtMTM1NjMsMTg5ICsxNjI3NCwyMzUgQEAKICJUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZSwgeW91IGNhbiBzZXQgaXQgdG8gJ3JlZnVzZScuIgogbXNnc3RyICLQn9C+INGD0LzQvtC70YfQsNC90LjRjiwg0YPQtNCw0LvQtdC90LjQtSDRgtC10LrRg9GJ0LXQuSDQstC10YLQutC4INC30LDQv9GA0LXRidC10L3Qviwg0YLQsNC6INC60LDQuiDQv9C+0YHQu9C10LTRg9GO0YnQuNC5XG7Cq2dpdCBjbG9uZcK7INC90LUg0YHQvNC+0LbQtdGCINC/0L7Qu9GD0YfQuNGC0Ywg0L3QuNC60LDQutC40YUg0YTQsNC50LvQvtCyLCDRh9GC0L4g0L/RgNC40LLQtdC00LXRgiDQuiDQv9GD0YLQsNC90LjRhtC1LlxuXG7QktGLINC80L7QttC10YLQtSDRg9GB0YLQsNC90L7QstC40YLRjCDQt9C90LDRh9C10L3QuNC1INC+0L/RhtC40LggwqtyZWNlaXZlLmRlbnlEZWxldGVDdXJyZW50wrtcbtCyIMKrd2FybsK7INC40LvQuCDCq2lnbm9yZcK7LCDQstC+INCy0L3QtdGI0L3QtdC8INGA0LXQv9C+0LfQuNGC0L7RgNC40LgsICDRh9GC0L7QsdGLINGA0LDQt9GA0LXRiNC40YLRjFxu0YPQtNCw0LvQtdC90LjQtSDRgtC10LrRg9GJ0LXQuSDQstC10YLQutC4INGBINC40LvQuCDQsdC10Lcg0L/RgNC10LTRg9C/0YDQtdC20LTQsNGO0YnQtdCz0L4g0YHQvtC+0LHRidC10L3QuNGPLlxuXG7Qp9GC0L7QsdGLINC/0YDQvtC/0YPRgdGC0LjRgtGMINGN0YLQviDRgdC+0L7QsdGJ0LXQvdC40LUsINCy0Ysg0LzQvtC20LXRgtC1INGD0YHRgtCw0L3QvtCy0LjRgtGMINC30L3QsNGH0LXQvdC40LUg0L7Qv9GG0LjQuFxu0LIgwqtyZWZ1c2XCuy4iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTkyMworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQwCiBtc2dpZCAicXVpZXQiCiBtc2dzdHIgItGC0LjRhdC40Lkg0YDQtdC20LjQvCIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTM3CisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NTQKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgZGlyZWN0b3J5LiIKIG1zZ3N0ciAi0JLRiyDQtNC+0LvQttC90Ysg0YPQutCw0LfQsNGC0Ywg0LrQsNGC0LDQu9C+0LMuIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjUzNiBidWlsdGluL3JlZmxvZy5jOjU0MQorIzogYnVpbHRpbi9yZWZsb2cuYzoxNworbXNnaWQgIiIKKyJnaXQgcmVmbG9nIGV4cGlyZSBbLS1leHBpcmU9PHRpbWU+XSBbLS1leHBpcmUtdW5yZWFjaGFibGU9PHRpbWU+XSAiCisiWy0tcmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1zdGFsZS1maXhdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gWy0tYWxsXSIKKyIgPHJlZnM+Li4uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6MjIKK21zZ2lkICIiCisiZ2l0IHJlZmxvZyBkZWxldGUgWy0tcmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1kcnktcnVuIHwgLW5dIFstLXZlcmJvc2VdICIKKyI8cmVmcz4uLi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzoyNQorbXNnaWQgImdpdCByZWZsb2cgZXhpc3RzIDxyZWY+IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NTY3IGJ1aWx0aW4vcmVmbG9nLmM6NTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICLCqyVzwrsg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC00L7Qv9GD0YHRgtC40LzQvtC5INC80LXRgtC60L7QuSDQtNCw0YLRiy/QstGA0LXQvNC10L3QuCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNQorIzogYnVpbHRpbi9yZWZsb2cuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWFya2luZyByZWFjaGFibGUgb2JqZWN0cy4uLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjY0MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBwb2ludHMgbm93aGVyZSEiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo2OTUKK21zZ2lkICJubyByZWZsb2cgc3BlY2lmaWVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjcwNAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSByZWZsb2c6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHJlZmxvZyBmb3IgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHJlZiBmb3JtYXQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NzY0Cittc2dpZCAiZ2l0IHJlZmxvZyBbIHNob3cgfCBleHBpcmUgfCBkZWxldGUgfCBleGlzdHMgXSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE2CiBtc2dpZCAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTcKIG1zZ2lkICIiCiAiZ2l0IHJlbW90ZSBhZGQgWy10IDxicmFuY2g+XSBbLW0gPG1hc3Rlcj5dIFstZl0gWy0tdGFncyB8IC0tbm8tdGFnc10gIgogIlstLW1pcnJvcj08ZmV0Y2h8cHVzaD5dIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBhZGQgWy10IDzQstC10YLQutCwPl0gWy1tIDzQvNCw0YHRgtC10YAt0LLQtdGC0LrQsD5dIFstZl0gWy0tdGFncyB8IC0tbm8tdGFnc10gWy0tbWlycm9yPTxmZXRjaHxwdXNoPl0gPNC40LzRjz4gPNCw0LTRgNC10YE+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE3IGJ1aWx0aW4vcmVtb3RlLmM6MzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTggYnVpbHRpbi9yZW1vdGUuYzozOAogbXNnaWQgImdpdCByZW1vdGUgcmVuYW1lIDxvbGQ+IDxuZXc+IgogbXNnc3RyICJnaXQgcmVtb3RlIHJlbmFtZSA80YHRgtCw0YDQvtC1LdC90LDQt9Cy0LDQvdC40LU+IDzQvdC+0LLQvtC1LdC90LDQt9Cy0LDQvdC40LU+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE4IGJ1aWx0aW4vcmVtb3RlLmM6NDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkgYnVpbHRpbi9yZW1vdGUuYzo0MwogbXNnaWQgImdpdCByZW1vdGUgcmVtb3ZlIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSByZW1vdmUgPNC40LzRjz4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkgYnVpbHRpbi9yZW1vdGUuYzo0NworIzogYnVpbHRpbi9yZW1vdGUuYzoyMCBidWlsdGluL3JlbW90ZS5jOjQ4CiBtc2dpZCAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA8bmFtZT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDxicmFuY2g+KSIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtaGVhZCA80LjQvNGPPiAoLWEgfCAtLWF1dG8gfCAtZCB8IC0tZGVsZXRlIHwgPNCy0LXRgtC60LA+KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyMAorIzogYnVpbHRpbi9yZW1vdGUuYzoyMQogbXNnaWQgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSBzaG93IFstbl0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDzQuNC80Y8+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIxCisjOiBidWlsdGluL3JlbW90ZS5jOjIyCiBtc2dpZCAiZ2l0IHJlbW90ZSBwcnVuZSBbLW4gfCAtLWRyeS1ydW5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBwcnVuZSBbLW4gfCAtLWRyeS1ydW5dIDzQuNC80Y8+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIyCisjOiBidWlsdGluL3JlbW90ZS5jOjIzCiBtc2dpZCAiIgogImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg8Z3JvdXA+IHwgPHJlbW90ZT4pLi4uXSIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDzQs9GA0YPQv9C/0LA+IHwgPNC40LzRjy3QstC90LXRiNC90LXQs9C+LdGA0LXQv9C+0LfQuNGC0L7RgNC40Y8+KeKApl0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjQKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyBbLS1hZGRdIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgWy0tYWRkXSA80LjQvNGPPiA80LLQtdGC0LrQsD7igKYiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MjQgYnVpbHRpbi9yZW1vdGUuYzo3MworIzogYnVpbHRpbi9yZW1vdGUuYzoyNSBidWlsdGluL3JlbW90ZS5jOjc0CiBtc2dpZCAiZ2l0IHJlbW90ZSBnZXQtdXJsIFstLXB1c2hdIFstLWFsbF0gPG5hbWU+IgogbXNnc3RyICJnaXQgcmVtb3RlIGdldC11cmwgWy0tcHVzaF0gWy0tYWxsXSA80LjQvNGPPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoyNSBidWlsdGluL3JlbW90ZS5jOjc4CisjOiBidWlsdGluL3JlbW90ZS5jOjI2IGJ1aWx0aW4vcmVtb3RlLmM6NzkKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC11cmwgWy0tcHVzaF0gPG5hbWU+IDxuZXd1cmw+IFs8b2xkdXJsPl0iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCBbLS1wdXNoXSA80LjQvNGPPiA80L3QvtCy0YvQuS11cmw+IFs80YHRgtCw0YDRi9C5LXVybD5dIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjI2IGJ1aWx0aW4vcmVtb3RlLmM6NzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjcgYnVpbHRpbi9yZW1vdGUuYzo4MAogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWFkZCA8bmFtZT4gPG5ld3VybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCAtLWFkZCA80LjQvNGPPiA80L3QvtCy0YvQuS11cmw+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjI3IGJ1aWx0aW4vcmVtb3RlLmM6ODAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjggYnVpbHRpbi9yZW1vdGUuYzo4MQogbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA8bmFtZT4gPHVybD4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA80LjQvNGPPiA8dXJsPiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzozMgorIzogYnVpbHRpbi9yZW1vdGUuYzozMwogbXNnaWQgImdpdCByZW1vdGUgYWRkIFs8b3B0aW9ucz5dIDxuYW1lPiA8dXJsPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBhZGQgWzzQvtC/0YbQuNC4Pl0gPNC40LzRjz4gPHVybD4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTMKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyA8bmFtZT4gPGJyYW5jaD4uLi4iCiBtc2dzdHIgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIDzQuNC80Y8+IDzQstC10YLQutCwPuKApiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo1MworIzogYnVpbHRpbi9yZW1vdGUuYzo1NAogbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIC0tYWRkIDxuYW1lPiA8YnJhbmNoPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgLS1hZGQgPNC40LzRjz4gPNCy0LXRgtC60LA+4oCmIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjU4CisjOiBidWlsdGluL3JlbW90ZS5jOjU5CiBtc2dpZCAiZ2l0IHJlbW90ZSBzaG93IFs8b3B0aW9ucz5dIDxuYW1lPiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSBzaG93IFs80L7Qv9GG0LjQuD5dIDzQuNC80Y8+IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYzCisjOiBidWlsdGluL3JlbW90ZS5jOjY0CiBtc2dpZCAiZ2l0IHJlbW90ZSBwcnVuZSBbPG9wdGlvbnM+XSA8bmFtZT4iCiBtc2dzdHIgImdpdCByZW1vdGUgcHJ1bmUgWzzQvtC/0YbQuNC4Pl0gPNC40LzRjz4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjkKIG1zZ2lkICJnaXQgcmVtb3RlIHVwZGF0ZSBbPG9wdGlvbnM+XSBbPGdyb3VwPiB8IDxyZW1vdGU+XS4uLiIKIG1zZ3N0ciAiZ2l0IHJlbW90ZSB1cGRhdGUgWzzQvtC/0YbQuNC4Pl0gWzzQs9GA0YPQv9C/0LA+IHwgPNC40LzRjy3QstC90LXRiNC90LXQs9C+LdGA0LXQv9C+0LfQuNGC0L7RgNC40Y8+XeKApiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NworIzogYnVpbHRpbi9yZW1vdGUuYzo5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJVcGRhdGluZyAlcyIKIG1zZ3N0ciAi0J7QsdC90L7QstC70LXQvdC40LUgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMAogbXNnaWQgIiIKICItLW1pcnJvciBpcyBkYW5nZXJvdXMgYW5kIGRlcHJlY2F0ZWQ7IHBsZWFzZVxuIgogIlx0IHVzZSAtLW1pcnJvcj1mZXRjaCBvciAtLW1pcnJvcj1wdXNoIGluc3RlYWQiCiBtc2dzdHIgItC60LvRjtGHIC0tbWlycm9yINC90LXQsdC10LfQvtC/0LDRgdC10L0g0Lgg0L3QtSDRgNC10LrQvtC80LXQvdC00YPQtdGC0YHRjyDQuiDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjjtcbtC40YHQv9C+0LvRjNC30YPQudGC0LUg0LLQvNC10YHRgtC+INC90LXQs9C+IC0tbWlycm9yPWZldGNoINC40LvQuCAtLW1pcnJvcj1wdXNoIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBtaXJyb3IgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INCw0YDQs9GD0LzQtdC90YIg0LTQu9GPIG1pcnJvcjogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYyCisjOiBidWlsdGluL3JlbW90ZS5jOjE2MwogbXNnaWQgImZldGNoIHRoZSByZW1vdGUgYnJhbmNoZXMiCiBtc2dzdHIgItC40LfQstC70LXRh9GMINCy0L3QtdGI0L3QuNC1INCy0LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY0CisjOiBidWlsdGluL3JlbW90ZS5jOjE2NQogbXNnaWQgImltcG9ydCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIHdoZW4gZmV0Y2hpbmciCiBtc2dzdHIgItC40LzQv9C+0YDRgtC40YDQvtCy0LDRgtGMINCy0YHQtSDQvNC10YLQutC4INC4INCw0YHRgdC+0YbQuNC40YDQvtCy0LDQvdC90YvQtSDQvtCx0YrQtdC60YLRiyDQv9GA0Lgg0LjQt9Cy0LvQtdGH0LXQvdC40LgiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY3CisjOiBidWlsdGluL3JlbW90ZS5jOjE2OAogbXNnaWQgIm9yIGRvIG5vdCBmZXRjaCBhbnkgdGFnIGF0IGFsbCAoLS1uby10YWdzKSIKIG1zZ3N0ciAi0LjQu9C4INC90LUg0LjQt9Cy0LvQtdC60LDRgtGMINC80LXRgtC60Lgg0LLQvtC+0LHRidC1ICgtLW5vLXRhZ3MpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNzAKIG1zZ2lkICJicmFuY2goZXMpIHRvIHRyYWNrIgogbXNnc3RyICLQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDQstC10YLQutC4IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE3MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNzEKIG1zZ2lkICJtYXN0ZXIgYnJhbmNoIgogbXNnc3RyICLQvNCw0YHRgtC10YAg0LLQtdGC0LrQsCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNzEKLW1zZ2lkICJwdXNofGZldGNoIgotbXNnc3RyICJwdXNofGZldGNoIgotCi0jOiBidWlsdGluL3JlbW90ZS5jOjE3MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNzMKIG1zZ2lkICJzZXQgdXAgcmVtb3RlIGFzIGEgbWlycm9yIHRvIHB1c2ggdG8gb3IgZmV0Y2ggZnJvbSIKIG1zZ3N0ciAi0L3QsNGB0YLRgNC+0LjRgtGMINCy0L3QtdGI0L3QuNC5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0LrQsNC6INC30LXRgNC60LDQu9C+INC00LvRjyDQvtGC0L/RgNCw0LLQutC4INC40LvQuCDQuNC30LLQu9C10YfQtdC90LjRjyDQuNC30LzQtdC90LXQvdC40LkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg0CisjOiBidWlsdGluL3JlbW90ZS5jOjE4NQogbXNnaWQgInNwZWNpZnlpbmcgYSBtYXN0ZXIgYnJhbmNoIG1ha2VzIG5vIHNlbnNlIHdpdGggLS1taXJyb3IiCiBtc2dzdHIgItGD0LrQsNC30LDQvdC40LUg0LzQsNGB0YLQtdGAINCy0LXRgtC60Lgg0L3QtSDQuNC80LXQtdGCINGB0LzRi9GB0LvQsCDRgSDQv9Cw0YDQsNC80LXRgtGA0L7QvCAtLW1pcnJvciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxODYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg3CiBtc2dpZCAic3BlY2lmeWluZyBicmFuY2hlcyB0byB0cmFjayBtYWtlcyBzZW5zZSBvbmx5IHdpdGggZmV0Y2ggbWlycm9ycyIKIG1zZ3N0ciAi0YPQutCw0LfQsNC90LjQtSDQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDQstC10YLQvtC6INC40LzQtdC10YIg0YHQvNGL0YHQuyDRgtC+0LvRjNC60L4g0L/RgNC4INC30LXRgNC60LDQu9GM0L3QvtC8INC40LfQstC70LXRh9C10L3QuNC4IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE5MyBidWlsdGluL3JlbW90ZS5jOjYzNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxOTQgYnVpbHRpbi9yZW1vdGUuYzo2MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlICVzIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAi0LLQvdC10YjQvdC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSAlcyDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTk3IGJ1aWx0aW4vcmVtb3RlLmM6NjM5CisjOiBidWlsdGluL3JlbW90ZS5jOjE5OCBidWlsdGluL3JlbW90ZS5jOjY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlbW90ZSBuYW1lIgogbXNnc3RyICLCqyVzwrsg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC00L7Qv9GD0YHRgtC40LzRi9C8INC40LzQtdC90LXQvCDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjIzNworIzogYnVpbHRpbi9yZW1vdGUuYzoyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwIG1hc3RlciAnJXMnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC90LDRgdGC0YDQvtC40YLRjCDQvNCw0YHRgtC10YAg0LLQtdGC0LrRgyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MzQzCisjOiBidWlsdGluL3JlbW90ZS5jOjM0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZ2V0IGZldGNoIG1hcCBmb3IgcmVmc3BlYyAlcyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQuNC30LLQu9C10YfRjCDQutCw0YDRgtGDINC00LvRjyDRgdC/0LXRhtC40YTQuNC60LDRgtC+0YDQsCDRgdGB0YvQu9C60LggJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NDQyIGJ1aWx0aW4vcmVtb3RlLmM6NDUwCisjOiBidWlsdGluL3JlbW90ZS5jOjQ0MyBidWlsdGluL3JlbW90ZS5jOjQ1MQogbXNnaWQgIihtYXRjaGluZykiCiBtc2dzdHIgIijRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidCw0Y8pIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjQ1NAorIzogYnVpbHRpbi9yZW1vdGUuYzo0NTUKIG1zZ2lkICIoZGVsZXRlKSIKIG1zZ3N0ciAiKNGD0LTQsNC70LXQvdC90LDRjykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjI4IGJ1aWx0aW4vcmVtb3RlLmM6NzY0IGJ1aWx0aW4vcmVtb3RlLmM6ODYzCisjOiBidWlsdGluL3JlbW90ZS5jOjYyOSBidWlsdGluL3JlbW90ZS5jOjc2NSBidWlsdGluL3JlbW90ZS5jOjg2NAogIywgYy1mb3JtYXQKLW1zZ2lkICJObyBzdWNoIHJlbW90ZTogJXMiCi1tc2dzdHIgItCd0LXRgiDRgtCw0LrQvtCz0L4g0LLQvdC10YjQvdC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPOiAlcyIKK21zZ2lkICJObyBzdWNoIHJlbW90ZTogJyVzJyIKK21zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjY0NQorIzogYnVpbHRpbi9yZW1vdGUuYzo2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbmFtZSBjb25maWcgc2VjdGlvbiAnJXMnIHRvICclcyciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0Ywg0YHQtdC60YbQuNGOINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCDRgSDCqyVzwrsg0L3QsCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjY1CisjOiBidWlsdGluL3JlbW90ZS5jOjY2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm90IHVwZGF0aW5nIG5vbi1kZWZhdWx0IGZldGNoIHJlZnNwZWNcbiIKQEAgLTEzNzUzLDE3ICsxNjUxMCwxNyBAQAogIlx0UGxlYXNlIHVwZGF0ZSB0aGUgY29uZmlndXJhdGlvbiBtYW51YWxseSBpZiBuZWNlc3NhcnkuIgogbXNnc3RyICLQndC1INC+0LHQvdC+0LLQu9GP0Y4g0L3QtdGB0YLQsNC90LTQsNGA0YLQvdGD0Y4g0YHQv9C10YbQuNGE0LjQutCw0YLQvtGAINGB0YHRi9C70LrQuCDQtNC70Y8g0LjQt9Cy0LvQtdGH0LXQvdC40Y9cblx0JXNcblx00J/QvtC20LDQu9GD0LnRgdGC0LAsINC10YHQu9C4INGC0YDQtdCx0YPQtdGC0YHRjywg0L7QsdC90L7QstC40YLQtSDQutC+0L3RhNC40LPRg9GA0LDRhtC40Y4g0LLRgNGD0YfQvdGD0Y4uIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjcwMQorIzogYnVpbHRpbi9yZW1vdGUuYzo3MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywgwqslc8K7IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjczNQorIzogYnVpbHRpbi9yZW1vdGUuYzo3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3JlYXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywgwqslc8K7IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjgwMQorIzogYnVpbHRpbi9yZW1vdGUuYzo4MDIKIG1zZ2lkICIiCiAiTm90ZTogQSBicmFuY2ggb3V0c2lkZSB0aGUgcmVmcy9yZW1vdGVzLyBoaWVyYXJjaHkgd2FzIG5vdCByZW1vdmVkO1xuIgogInRvIGRlbGV0ZSBpdCwgdXNlOiIKQEAgLTEzNzc1LDE0OCArMTY1MzIsMTQ4IEBACiBtc2dzdHJbMl0gItCf0YDQuNC80LXRh9Cw0L3QuNC1OiDQndC10LrQvtGC0L7RgNGL0LUg0LLQtdGC0LrQuCDQstC90LUg0LjQtdGA0LDRgNGF0LjQuCByZWZzL3JlbW90ZXMvINC90LUg0LHRg9C00YPRgiDRg9C00LDQu9C10L3RiztcbtGH0YLQvtCx0Ysg0YPQtNCw0LvQuNGC0Ywg0LjRhSwg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtToiCiBtc2dzdHJbM10gItCf0YDQuNC80LXRh9Cw0L3QuNC1OiDQndC10LrQvtGC0L7RgNGL0LUg0LLQtdGC0LrQuCDQstC90LUg0LjQtdGA0LDRgNGF0LjQuCByZWZzL3JlbW90ZXMvINC90LUg0LHRg9C00YPRgiDRg9C00LDQu9C10L3RiztcbtGH0YLQvtCx0Ysg0YPQtNCw0LvQuNGC0Ywg0LjRhSwg0LjRgdC/0L7Qu9GM0LfRg9C50YLQtToiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODE1CisjOiBidWlsdGluL3JlbW90ZS5jOjgxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIGNvbmZpZyBzZWN0aW9uICclcyciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YHQtdC60YbQuNGOINGE0LDQudC70LAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IMKrJXPCuyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBuZXcgKG5leHQgZmV0Y2ggd2lsbCBzdG9yZSBpbiByZW1vdGVzLyVzKSIKIG1zZ3N0ciAiINC90L7QstCw0Y8gKNGB0LvQtdC00YPRjtGJ0LXQtSDQuNC30LLQu9C10YfQtdC90LjQtSDRgdC+0YXRgNCw0L3QuNGCINC10LUg0LIgcmVtb3Rlcy8lcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE5CisjOiBidWlsdGluL3JlbW90ZS5jOjkyMAogbXNnaWQgIiB0cmFja2VkIgogbXNnc3RyICIg0L7RgtGB0LvQtdC20LjQstCw0LXRgtGB0Y8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTIxCisjOiBidWlsdGluL3JlbW90ZS5jOjkyMgogbXNnaWQgIiBzdGFsZSAodXNlICdnaXQgcmVtb3RlIHBydW5lJyB0byByZW1vdmUpIgogbXNnc3RyICIg0L3QtdC00LXQudGB0YLQstC40YLQtdC70YzQvdCwICjQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHJlbW90ZSBwcnVuZcK7LCDRh9GC0L7QsdGLINGD0LTQsNC70LjRgtGMKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTI0CiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiID8/PyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INC/0LDRgNCw0LzQtdGC0YAg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IGJyYW5jaC4lcy5tZXJnZTsg0L3QtdCy0L7Qt9C80L7QttC90L4g0L/QtdGA0LXQvNC10YHRgtC40YLRjCDQsdC+0LvQtdC1INGH0LXQvCDQvdCw0LQgMSDQstC10YLQutC+0LkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTczCisjOiBidWlsdGluL3JlbW90ZS5jOjk3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIGludGVyYWN0aXZlbHkgb250byByZW1vdGUgJXMiCiBtc2dzdHIgItC/0LXRgNC10LzQtdGJ0LDQtdGC0YHRjyDQuNC90YLQtdGA0LDQutGC0LjQstC90L4g0L3QsNC0INCy0L3QtdGI0L3QtdC5INCy0LXRgtC60L7QuSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSAod2l0aCBtZXJnZXMpIG9udG8gcmVtb3RlICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc4CisjOiBidWlsdGluL3JlbW90ZS5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIG9udG8gcmVtb3RlICVzIgogbXNnc3RyICLQv9C10YDQtdC80LXRidCw0LXRgtGB0Y8g0L3QsNC0INCy0L3QtdGI0L3QtdC5INCy0LXRgtC60L7QuSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5ODIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiBtZXJnZXMgd2l0aCByZW1vdGUgJXMiCiBtc2dzdHIgIiDQsdGD0LTQtdGCINGB0LvQuNGC0LAg0YEg0LLQvdC10YjQvdC10Lkg0LLQtdGC0LrQvtC5ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk4NQorIzogYnVpbHRpbi9yZW1vdGUuYzo5ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICLQsdGD0LTQtdGCINGB0LvQuNGC0LAg0YEg0LLQvdC10YjQvdC10Lkg0LLQtdGC0LrQvtC5ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk4OAorIzogYnVpbHRpbi9yZW1vdGUuYzo5ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJS0qcyAgICBhbmQgd2l0aCByZW1vdGUgJXNcbiIKIG1zZ3N0ciAiJS0qcyAgICDQuCDRgSDQstC90LXRiNC90LXQuSDQstC10YLQutC+0LkgJXNcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzIKIG1zZ2lkICJjcmVhdGUiCiBtc2dzdHIgItGB0L7Qt9C00LDQvdCwIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNQogbXNnaWQgImRlbGV0ZSIKIG1zZ3N0ciAi0YPQtNCw0LvQtdC90LAiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM5CiBtc2dpZCAidXAgdG8gZGF0ZSIKIG1zZ3N0ciAi0YPQttC1INCw0LrRgtGD0LDQu9GM0L3QsCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQxCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDIKIG1zZ2lkICJmYXN0LWZvcndhcmRhYmxlIgogbXNnc3RyICLQstC+0LfQvNC+0LbQvdCwINC/0LXRgNC10LzQvtGC0LrQsCDQstC/0LXRgNC10LQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ1CiBtc2dpZCAibG9jYWwgb3V0IG9mIGRhdGUiCiBtc2dzdHIgItC70L7QutCw0LvRjNC90LDRjyDQstC10YLQutCwINGD0YHRgtCw0YDQtdC70LAiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiAgICAlLSpzINCx0YPQtNC10YIg0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L4g0L7RgtC/0YDQsNCy0LvQtdC90LAg0LIgJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyDQsdGD0LTQtdGCINC+0YLQv9GA0LDQstC70LXQvdCwINCyICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU4CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyDQsdGD0LTQtdGCINC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+INC+0YLQv9GA0LDQstC70LXQvdCwINCyICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzINCx0YPQtNC10YIg0L7RgtC/0YDQsNCy0LvQtdC90LAg0LIgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEyOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTMwCiBtc2dpZCAiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiCiBtc2dzdHIgItC90LUg0L7Qv9GA0LDRiNC40LLQsNGC0Ywg0LLQvdC10YjQvdC40LUg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU2CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiByZW1vdGUgJXMiCiBtc2dzdHIgIiog0LLQvdC10YjQvdC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU3CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBGZXRjaCBVUkw6ICVzIgogbXNnc3RyICIgIFVSTCDQtNC70Y8g0LjQt9Cy0LvQtdGH0LXQvdC40Y86ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTggYnVpbHRpbi9yZW1vdGUuYzoxMTc0IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU5IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NSBidWlsdGluL3JlbW90ZS5jOjEzMTQKIG1zZ2lkICIobm8gVVJMKSIKIG1zZ3N0ciAiKNC90LXRgiBVUkwpIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uICc6JyBzaG91bGQgYWxpZ24KICMuIHdpdGggdGhlIG9uZSBpbiAiIEZldGNoIFVSTDogJXMiCiAjLiB0cmFuc2xhdGlvbi4KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MiBidWlsdGluL3JlbW90ZS5jOjExNzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MyBidWlsdGluL3JlbW90ZS5jOjExNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBQdXNoICBVUkw6ICVzIgogbXNnc3RyICIgICAgVVJMINC00LvRjyDQvtGC0L/RgNCw0LLQutC4OiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OCBidWlsdGluL3JlbW90ZS5jOjExODAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NyBidWlsdGluL3JlbW90ZS5jOjExNzkgYnVpbHRpbi9yZW1vdGUuYzoxMTgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgSEVBRCBicmFuY2g6ICVzIgogbXNnc3RyICIgIEhFQUQg0LLQtdGC0LrQsDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc3CiBtc2dpZCAiKG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiKNC90LUg0LfQsNC/0YDQsNGI0LjQstCw0LvRgdGPKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc4CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzkKIG1zZ2lkICIodW5rbm93bikiCiBtc2dzdHIgIijQvdC10LjQt9Cy0LXRgdGC0L3QvikiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgSEVBRCBicmFuY2ggKHJlbW90ZSBIRUFEIGlzIGFtYmlndW91cywgbWF5IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nKTpcbiIKIG1zZ3N0ciAiICBIRUFEINCy0LXRgtC60LAgKEhFQUQg0LLQvdC10YjQvdC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPINC90LXQvtC00L3QvtC30L3QsNGH0L3Ri9C5LCDQvNC+0LbQtdGCINCx0YvRgtGMINC+0LTQvdC40Lwg0LjQtyk6XG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgUmVtb3RlIGJyYW5jaDolcyIKIG1zZ2lkX3BsdXJhbCAiICBSZW1vdGUgYnJhbmNoZXM6JXMiCkBAIC0xMzkyNSwxMSArMTY2ODIsMTEgQEAKIG1zZ3N0clsyXSAiICDQktC90LXRiNC90LjQtSDQstC10YLQutC4OiVzIgogbXNnc3RyWzNdICIgINCS0L3QtdGI0L3QuNC1INCy0LXRgtC60Lg6JXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NyBidWlsdGluL3JlbW90ZS5jOjEyMjMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5OCBidWlsdGluL3JlbW90ZS5jOjEyMjQKIG1zZ2lkICIgKHN0YXR1cyBub3QgcXVlcmllZCkiCiBtc2dzdHIgIiAo0YHRgtCw0YLRg9GBINC90LUg0LfQsNC/0YDQsNGI0LjQstCw0LvRgdGPKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjA2CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMDcKIG1zZ2lkICIgIExvY2FsIGJyYW5jaCBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCBicmFuY2hlcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1bGwnOiIKIG1zZ3N0clswXSAiICDQm9C+0LrQsNC70YzQvdCw0Y8g0LLQtdGC0LrQsCwg0L3QsNGB0YLRgNC+0LXQvdC90LDRjyDQtNC70Y8gwqtnaXQgcHVsbMK7OiIKQEAgLTEzOTM3LDExICsxNjY5NCwxMSBAQAogbXNnc3RyWzJdICIgINCb0L7QutCw0LvRjNC90YvQtSDQstC10YLQutC4LCDQvdCw0YHRgtGA0L7QtdC90L3Ri9C1INC00LvRjyDCq2dpdCBwdWxswrs6IgogbXNnc3RyWzNdICIgINCb0L7QutCw0LvRjNC90YvQtSDQstC10YLQutC4LCDQvdCw0YHRgtGA0L7QtdC90L3Ri9C1INC00LvRjyDCq2dpdCBwdWxswrs6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIxNQogbXNnaWQgIiAgTG9jYWwgcmVmcyB3aWxsIGJlIG1pcnJvcmVkIGJ5ICdnaXQgcHVzaCciCiBtc2dzdHIgIiDQm9C+0LrQsNC70YzQvdGL0LUg0YHRgdGL0LvQutC4LCDQt9C10YDQutCw0LvQuNGA0YPQtdC80YvQtSDRgSDQv9C+0LzQvtGJ0YzRjiDCq2dpdCBwdXNowrsiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIyMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgTG9jYWwgcmVmIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgcmVmcyBjb25maWd1cmVkIGZvciAnZ2l0IHB1c2gnJXM6IgpAQCAtMTM5NTAsMjMxICsxNjcwNywyNjMgQEAKIG1zZ3N0clsyXSAiICDQm9C+0LrQsNC70YzQvdGL0LUg0YHRgdGL0LvQutC4LCDQvdCw0YHRgtGA0L7QtdC90L3Ri9C1INC00LvRjyDCq2dpdCBwdXNowrslczoiCiBtc2dzdHJbM10gIiAg0JvQvtC60LDQu9GM0L3Ri9C1INGB0YHRi9C70LrQuCwg0L3QsNGB0YLRgNC+0LXQvdC90YvQtSDQtNC70Y8gwqtnaXQgcHVzaMK7JXM6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MgogbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKIG1zZ3N0ciAi0YPRgdGC0LDQvdC+0LLQuNGC0YwgcmVmcy9yZW1vdGVzLzzQuNC80Y8+L0hFQUQg0LIg0LfQsNCy0LjRgdC40LzQvtGB0YLQuCDQvtGCINCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQzCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDQKIG1zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgogbXNnc3RyICLRg9C00LDQu9C40YLRjCByZWZzL3JlbW90ZXMvPNC40LzRjz4vSEVBRCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjU4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNTkKIG1zZ2lkICJDYW5ub3QgZGV0ZXJtaW5lIHJlbW90ZSBIRUFEIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINCy0L3QtdGI0L3QuNC5IEhFQUQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYxCiBtc2dpZCAiTXVsdGlwbGUgcmVtb3RlIEhFQUQgYnJhbmNoZXMuIFBsZWFzZSBjaG9vc2Ugb25lIGV4cGxpY2l0bHkgd2l0aDoiCiBtc2dzdHIgItCd0LXRgdC60L7Qu9GM0LrQviDQstC90LXRiNC90LjRhSBIRUFEINCy0LXRgtC+0LouINCj0LrQsNC20LjRgtC1INGP0LLQvdC+INC+0LTQvdGDINC40Lcg0L3QuNGFOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjcwCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGRlbGV0ZSAlcyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjc4CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgcmVmOiAlcyIKIG1zZ3N0ciAi0J3QtdC00L7Qv9GD0YHRgtC40LzQsNGPINGB0YHRi9C70LrQsDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCAlcyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0YHRgtGA0L7QuNGC0YwgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyB3aWxsIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyDQsdGD0LTQtdGCINCy0LjRgdGP0YnQtdC5INCy0LXRgtC60L7QuSEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyBoYXMgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVzINGB0YLQsNC70LAg0LLQuNGB0Y/RidC10Lkg0LLQtdGC0LrQvtC5ISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzA5CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJ1bmluZyAlcyIKIG1zZ3N0ciAi0J7Rh9C40YHRgtC60LAgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVSTDogJXMiCiBtc2dzdHIgIlVSTDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAqIFt3b3VsZCBwcnVuZV0gJXMiCiBtc2dzdHIgIiAqIFvQsdGD0LTQtdGCINGD0LTQsNC70LXQvdCwXSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI5CisjOiBidWlsdGluL3JlbW90ZS5jOjEzMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3BydW5lZF0gJXMiCiBtc2dzdHIgIiAqIFvRg9C00LDQu9C10L3QsF0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM3NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzc1CiBtc2dpZCAicHJ1bmUgcmVtb3RlcyBhZnRlciBmZXRjaGluZyIKIG1zZ3N0ciAi0L/QvtGH0LjRgdGC0LjRgtGMINCy0L3QtdGI0L3QuNC1INGA0LXQv9C+0LfQuNGC0L7RgNC40Lgg0L/QvtGB0LvQtSDQuNC30LLQu9C10YfQtdC90LjRjyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDM3IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5MSBidWlsdGluL3JlbW90ZS5jOjE1NTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzOCBidWlsdGluL3JlbW90ZS5jOjE0OTIgYnVpbHRpbi9yZW1vdGUuYzoxNTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlICclcyciCiBtc2dzdHIgItCd0LXRgiDRgtCw0LrQvtCz0L4g0LLQvdC10YjQvdC10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDUzCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NTQKIG1zZ2lkICJhZGQgYnJhbmNoIgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMINCy0LXRgtC60YMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYxCiBtc2dpZCAibm8gcmVtb3RlIHNwZWNpZmllZCIKIG1zZ3N0ciAi0L3QtSDRg9C60LDQt9Cw0L0g0LLQvdC10YjQvdC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDc3CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NzgKIG1zZ2lkICJxdWVyeSBwdXNoIFVSTHMgcmF0aGVyIHRoYW4gZmV0Y2ggVVJMcyIKIG1zZ3N0ciAi0LfQsNC/0YDQvtGB0LjRgtGMIFVSTCDQvtGC0L/RgNCw0LLQutC4LCDQstC80LXRgdGC0L4gVVJMINC40LfQstC70LXRh9C10L3QuNGPIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ4MAogbXNnaWQgInJldHVybiBhbGwgVVJMcyIKIG1zZ3N0ciAi0LLQtdGA0L3Rg9GC0Ywg0LLRgdC1IFVSTCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTA3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gVVJMcyBjb25maWd1cmVkIGZvciByZW1vdGUgJyVzJyIKIG1zZ3N0ciAiVVJMINC90LUg0L3QsNGB0YLRgNC+0LXQvdGLINC00LvRjyDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8gwqslc8K7IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MzMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzNAogbXNnaWQgIm1hbmlwdWxhdGUgcHVzaCBVUkxzIgogbXNnc3RyICLRg9C/0YDQsNCy0LvQtdC90LjQtSBVUkwg0L7RgtC/0YDQsNCy0LrQuCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzYKIG1zZ2lkICJhZGQgVVJMIgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMIFVSTCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM3CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzgKIG1zZ2lkICJkZWxldGUgVVJMcyIKIG1zZ3N0ciAi0YPQtNCw0LvQuNGC0YwgVVJMIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1NDQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU0NQogbXNnaWQgIi0tYWRkIC0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1hZGQg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0YEgLS1kZWxldGUiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgb2xkIFVSTCBwYXR0ZXJuOiAlcyIKIG1zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C5INGI0LDQsdC70L7QvSDRgdGC0LDRgNC+0LPQviBVUkw6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIFVSTCBmb3VuZDogJXMiCiBtc2dzdHIgItCd0LUg0L3QsNC50LTQtdC90Ysg0YHQvtCy0L/QsNC00LXQvdC40Y8gVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkzCisjOiBidWlsdGluL3JlbW90ZS5jOjE1OTQKIG1zZ2lkICJXaWxsIG5vdCBkZWxldGUgYWxsIG5vbi1wdXNoIFVSTHMiCiBtc2dzdHIgItCd0LXQu9GM0LfRjyDRg9C00LDQu9C40YLRjCDQstGB0LUgVVJMINC90LUt0L7RgtC/0YDQsNCy0LrQuCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjA5CisjOiBidWlsdGluL3JlbW90ZS5jOjE2MTAKIG1zZ2lkICJiZSB2ZXJib3NlOyBtdXN0IGJlIHBsYWNlZCBiZWZvcmUgYSBzdWJjb21tYW5kIgogbXNnc3RyICLQsdGL0YLRjCDQvNC90L7Qs9C+0YHQu9C+0LLQvdC10LU7INC00L7Qu9C20L3QviDRgdGC0L7Rj9GC0Ywg0L/QtdGA0LXQtCDQv9C+0LTQutC+0LzQsNC90LTQvtC5IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NDAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHN1YmNvbW1hbmQ6ICVzIgogbXNnc3RyICLQndC10LjQt9Cy0LXRgdGC0L3QsNGPINC/0L7QtNC60L7QvNCw0L3QtNCwOiAlcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyMAorIzogYnVpbHRpbi9yZXBhY2suYzoyMgogbXNnaWQgImdpdCByZXBhY2sgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCByZXBhY2sgWzzQvtC/0YbQuNC4Pl0iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjcKIG1zZ2lkICIiCiAiSW5jcmVtZW50YWwgcmVwYWNrcyBhcmUgaW5jb21wYXRpYmxlIHdpdGggYml0bWFwIGluZGV4ZXMuICBVc2VcbiIKICItLW5vLXdyaXRlLWJpdG1hcC1pbmRleCBvciBkaXNhYmxlIHRoZSBwYWNrLndyaXRlYml0bWFwcyBjb25maWd1cmF0aW9uLiIKIG1zZ3N0ciAi0JjQvdC60YDQtdC80LXQvdGC0LDQu9GM0L3Ri9C1INC/0LXRgNC10L/QsNC60L7QstC60Lgg0L3QtSDRgdC+0LLQvNC10YHRgtC40LzRiyDRgSDQuNC90LTQtdC60YHQsNC80Lgg0LIg0LHQuNGC0L7QstGL0YUg0LrQsNGA0YLQsNGFLiAg0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQvtC/0YbQuNGOIC0tbm8td3JpdGUtYml0bWFwLWluZGV4INC40LvQuCDQvtGC0LrQu9GO0YfQuNGC0LUg0L/QsNGA0LDQvNC10YLRgCDQutC+0L3RhNC40LPRg9GA0LDRhtC40LggcGFjay53cml0ZWJpdG1hcHMuIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjI4NworIzogYnVpbHRpbi9yZXBhY2suYzoyMDAKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgcGFjay1vYmplY3RzIHRvIHJlcGFjayBwcm9taXNvciBvYmplY3RzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjM5IGJ1aWx0aW4vcmVwYWNrLmM6NDE0Cittc2dpZCAicmVwYWNrOiBFeHBlY3RpbmcgZnVsbCBoZXggb2JqZWN0IElEIGxpbmVzIG9ubHkgZnJvbSBwYWNrLW9iamVjdHMuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjU2Cittc2dpZCAiY291bGQgbm90IGZpbmlzaCBwYWNrLW9iamVjdHMgdG8gcmVwYWNrIHByb21pc29yIG9iamVjdHMiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyOTQKIG1zZ2lkICJwYWNrIGV2ZXJ5dGhpbmcgaW4gYSBzaW5nbGUgcGFjayIKIG1zZ3N0ciAi0YPQv9Cw0LrQvtCy0LDRgtGMINCy0YHRkSDQsiDQvtC00LjQvSDQv9Cw0LrQtdGCIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjI4OQorIzogYnVpbHRpbi9yZXBhY2suYzoyOTYKIG1zZ2lkICJzYW1lIGFzIC1hLCBhbmQgdHVybiB1bnJlYWNoYWJsZSBvYmplY3RzIGxvb3NlIgogbXNnc3RyICLRgtC+0LbQtSwg0YfRgtC+INC4IC1hLCDQvdC+INC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+INC+0YLQsdGA0L7RgdC40YLRjCDQvdC10LTQvtGB0YLQuNC20LjQvNGL0LUg0L7QsdGK0LXQutGC0YsiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjkyCisjOiBidWlsdGluL3JlcGFjay5jOjI5OQogbXNnaWQgInJlbW92ZSByZWR1bmRhbnQgcGFja3MsIGFuZCBydW4gZ2l0LXBydW5lLXBhY2tlZCIKIG1zZ3N0ciAi0YPQtNCw0LvQuNGC0LUg0LvQuNGI0L3QuNC1INC/0LDQutC10YLRiyDQuCDQt9Cw0L/Rg9GB0YLQuNGC0LUgZ2l0LXBydW5lLXBhY2tlZCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyOTQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzAxCiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLWRlbHRhIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgItC/0LXRgNC10LTQsNGC0Ywg0L7Qv9GG0LjRjiAtLW5vLXJldXNlLWRlbHRhINCyIGdpdC1wYWNrLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk2CisjOiBidWlsdGluL3JlcGFjay5jOjMwMwogbXNnaWQgInBhc3MgLS1uby1yZXVzZS1vYmplY3QgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0YLRjCDQvtC/0YbQuNGOIC0tbm8tcmV1c2Utb2JqZWN0INCyIGdpdC1wYWNrLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk4CisjOiBidWlsdGluL3JlcGFjay5jOjMwNQogbXNnaWQgImRvIG5vdCBydW4gZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKIG1zZ3N0ciAi0L3QtSDQt9Cw0L/Rg9GB0LrQsNGC0YwgZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMDEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA4CiBtc2dpZCAicGFzcyAtLWxvY2FsIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgItC/0LXRgNC10LTQsNGC0Ywg0L7Qv9GG0LjRjiAtLWxvY2FsINCyIGdpdC1wYWNrLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzAzCisjOiBidWlsdGluL3JlcGFjay5jOjMxMAogbXNnaWQgIndyaXRlIGJpdG1hcCBpbmRleCIKIG1zZ3N0ciAi0LfQsNC/0LjRgdGMINC40L3QtNC10LrRgdCwINCyINCx0LjRgtC+0LLRi9GFINC60LDRgNGC0LDRhSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMDQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEyCittc2dpZCAicGFzcyAtLWRlbHRhLWlzbGFuZHMgdG8gZ2l0LXBhY2stb2JqZWN0cyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjMxMwogbXNnaWQgImFwcHJveGlkYXRlIgogbXNnc3RyICLQv9GA0LjQvNC10YDQvdCw0Y8t0LTQsNGC0LAiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA1CisjOiBidWlsdGluL3JlcGFjay5jOjMxNAogbXNnaWQgIndpdGggLUEsIGRvIG5vdCBsb29zZW4gb2JqZWN0cyBvbGRlciB0aGFuIHRoaXMiCiBtc2dzdHIgItGBINC+0L/RhtC40LXQuSAtQSwg0L3QtSDQvtGC0LHRgNCw0YHRi9Cy0LDRgtGMINC+0LHRitC10LrRgtGLINGB0YLQsNGA0LXQtSwg0YfQtdC8INGD0LrQsNC30LDQvdC+IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMwNworIzogYnVpbHRpbi9yZXBhY2suYzozMTYKIG1zZ2lkICJ3aXRoIC1hLCByZXBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAi0YEg0L/QsNGA0LDQvNC10YLRgNC+0LwgLWEsINC/0LXRgNC10L/QsNC60L7QstCw0YLRjCDQvdC10LTQvtGB0YLRg9C/0L3Ri9C1INC+0LHRitC10LrRgtGLIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMwOQorIzogYnVpbHRpbi9yZXBhY2suYzozMTgKIG1zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCiBtc2dzdHIgItGA0LDQt9C80LXRgCDQvtC60L3QsCwg0LjRgdC/0L7Qu9GM0LfRg9C10LzRi9C5INC00LvRjyDQutC+0LzQv9GA0LXRgdGB0LjQuCDQtNC10LvRjNGCIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMxMCBidWlsdGluL3JlcGFjay5jOjMxNgorIzogYnVpbHRpbi9yZXBhY2suYzozMTkgYnVpbHRpbi9yZXBhY2suYzozMjUKIG1zZ2lkICJieXRlcyIKIG1zZ3N0ciAi0LrQvtC70LjRh9C10YHRgtCy0L4t0LHQsNC50YIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzExCisjOiBidWlsdGluL3JlcGFjay5jOjMyMAogbXNnaWQgInNhbWUgYXMgdGhlIGFib3ZlLCBidXQgbGltaXQgbWVtb3J5IHNpemUgaW5zdGVhZCBvZiBlbnRyaWVzIGNvdW50IgogbXNnc3RyICLRgtC+0LbQtSwg0YfRgtC+INC4INCy0YvRiNC1LCDQvdC+INC+0LPRgNCw0L3QuNGH0LjRgtGMINGA0LDQt9C80LXRgCDQv9Cw0LzRj9GC0LgsINCwINC90LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0LfQsNC/0LjRgdC10LkiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEzCisjOiBidWlsdGluL3JlcGFjay5jOjMyMgogbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBkZWx0YSBkZXB0aCIKIG1zZ3N0ciAi0L7Qs9GA0LDQvdC40YfQtdC90LjQtSDQvdCwINC80LDQutGB0LjQvNCw0LvRjNC90YPRjiDQs9C70YPQsdC40L3RgyDQtNC10LvRjNGCIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMxNQorIzogYnVpbHRpbi9yZXBhY2suYzozMjQKIG1zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHRocmVhZHMiCiBtc2dzdHIgItC+0LPRgNCw0L3QuNGH0LXQvdC40LUg0L3QsCDQvNCw0LrRgdC40LzQsNC70YzQvdC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0L/QvtGC0L7QutC+0LIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE3CisjOiBidWlsdGluL3JlcGFjay5jOjMyNgogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgogbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINC60LDQttC00L7Qs9C+INC40Lcg0YTQsNC50LvQvtCyINC/0LDQutC10YLQsCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTkKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI4CiBtc2dpZCAicmVwYWNrIG9iamVjdHMgaW4gcGFja3MgbWFya2VkIHdpdGggLmtlZXAiCiBtc2dzdHIgItC/0LXRgNC10YPQv9Cw0LrQvtCy0LDRgtGMINC+0LHRitC10LrRgtGLINCyINC/0LDQutC10YLRiywg0L/QvtC80LXRh9C10L3QvdGL0LUg0YTQsNC50LvQvtC8IC5rZWVwIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMyMQorIzogYnVpbHRpbi9yZXBhY2suYzozMzAKIG1zZ2lkICJkbyBub3QgcmVwYWNrIHRoaXMgcGFjayIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMzMQorIzogYnVpbHRpbi9yZXBhY2suYzozNDAKIG1zZ2lkICJjYW5ub3QgZGVsZXRlIHBhY2tzIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICLQvdC10LvRjNC30Y8g0YPQtNCw0LvRj9GC0Ywg0L/QsNC60LXRgtGLINCyIHByZWNpb3VzLW9iamVjdHMg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMzUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzQ0CiBtc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWtlZXAtdW5yZWFjaGFibGUg0LggLUEg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6NTEwIGJ1aWx0aW4vd29ya3RyZWUuYzoxMzkKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6NDIzCittc2dpZCAiTm90aGluZyBuZXcgdG8gcGFjay4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9yZXBhY2suYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IFNvbWUgcGFja3MgaW4gdXNlIGhhdmUgYmVlbiByZW5hbWVkIGJ5XG4iCisiV0FSTklORzogcHJlZml4aW5nIG9sZC0gdG8gdGhlaXIgbmFtZSwgaW4gb3JkZXIgdG9cbiIKKyJXQVJOSU5HOiByZXBsYWNlIHRoZW0gd2l0aCB0aGUgbmV3IHZlcnNpb24gb2YgdGhlXG4iCisiV0FSTklORzogZmlsZS4gIEJ1dCB0aGUgb3BlcmF0aW9uIGZhaWxlZCwgYW5kIHRoZVxuIgorIldBUk5JTkc6IGF0dGVtcHQgdG8gcmVuYW1lIHRoZW0gYmFjayB0byB0aGVpclxuIgorIldBUk5JTkc6IG9yaWdpbmFsIG5hbWVzIGFsc28gZmFpbGVkLlxuIgorIldBUk5JTkc6IFBsZWFzZSByZW5hbWUgdGhlbSBpbiAlcyBtYW51YWxseTpcbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGFjay5jOjUzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICclcyciCiBtc2dzdHIgItGB0LHQvtC5INGD0LTQsNC70LXQvdC40Y8gwqslc8K7IgpAQCAtMTQyMDMsMzkgKzE2OTkyLDM0IEBACiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PTxmb3JtYXQ+XSBbLWwgWzxwYXR0ZXJuPl1dIgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PNGE0L7RgNC80LDRgj5dIFstbCBbPNGI0LDQsdC70L7QvT5dXSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTcgYnVpbHRpbi9yZXBsYWNlLmM6MjAzIGJ1aWx0aW4vcmVwbGFjZS5jOjIwNgotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjg2CisjOiBidWlsdGluL3JlcGxhY2UuYzo5MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiaW52YWxpZCByZXBsYWNlIGZvcm1hdCAnJXMnXG4iCiAidmFsaWQgZm9ybWF0cyBhcmUgJ3Nob3J0JywgJ21lZGl1bScgYW5kICdsb25nJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBsYWNlIHJlZiAnJXMnIG5vdCBmb3VuZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxMzcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHJlcGxhY2UgcmVmICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTQ5CisjOiBidWlsdGluL3JlcGxhY2UuYzoxNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZWYgbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxNTQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBsYWNlIHJlZiAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJPYmplY3RzIG11c3QgYmUgb2YgdGhlIHNhbWUgdHlwZS5cbiIKQEAgLTE0MjQzLDE3OCArMTcwMjcsMTgzIEBACiAid2hpbGUgJyVzJyBwb2ludHMgdG8gYSByZXBsYWNlbWVudCBvYmplY3Qgb2YgdHlwZSAnJXMnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMjUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyMzgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI0MgogbXNnaWQgImNhdC1maWxlIHJlcG9ydGVkIGZhaWx1cmUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjU0CisjOiBidWlsdGluL3JlcGxhY2UuYzoyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjY4CisjOiBidWlsdGluL3JlcGxhY2UuYzoyNzIKIG1zZ2lkICJ1bmFibGUgdG8gc3Bhd24gbWt0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI3MgorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjc2CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgZnJvbSBta3RyZWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjgxCisjOiBidWlsdGluL3JlcGxhY2UuYzoyODUKIG1zZ2lkICJta3RyZWUgcmVwb3J0ZWQgZmFpbHVyZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyODUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI4OQogbXNnaWQgIm1rdHJlZSBkaWQgbm90IHJldHVybiBhbiBvYmplY3QgbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyOTQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZnN0YXQgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjk5CisjOiBidWlsdGluL3JlcGxhY2UuYzozMDMKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgb2JqZWN0IHRvIGRhdGFiYXNlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMxOCBidWlsdGluL3JlcGxhY2UuYzozNzEgYnVpbHRpbi9yZXBsYWNlLmM6NDE1Ci0jOiBidWlsdGluL3JlcGxhY2UuYzo0NDUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMyMiBidWlsdGluL3JlcGxhY2UuYzozNzcgYnVpbHRpbi9yZXBsYWNlLmM6NDIyCisjOiBidWlsdGluL3JlcGxhY2UuYzo0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzIyCisjOiBidWlsdGluL3JlcGxhY2UuYzozMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdldCBvYmplY3QgdHlwZSBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzM4CisjOiBidWlsdGluL3JlcGxhY2UuYzozNDIKIG1zZ2lkICJlZGl0aW5nIG9iamVjdCBmaWxlIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNDcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgb2JqZWN0IGlzIHRoZSBzYW1lIGFzIHRoZSBvbGQgb25lOiAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwNworIzogYnVpbHRpbi9yZXBsYWNlLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyBhcyBhIGNvbW1pdCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG1lcmdldGFnIGluIGNvbW1pdCAnJXMnIgogbXNnc3RyICLQv9C70L7RhdCw0Y8g0LzQtdGC0LrQsCDRgdC70LjRj9C90LjRjyDQsiDQutC+0LzQvNC40YLQtSDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwOQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBtZXJnZXRhZyBpbiBjb21taXQgJyVzJyIKIG1zZ3N0ciAi0L/QvtCy0YDQtdC20LTRkdC90L3QsNGPINC80LXRgtC60LAg0YHQu9C40Y/QvdC40Y8g0LIg0LrQvtC80LzQuNGC0LUgwqslc8K7IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAib3JpZ2luYWwgY29tbWl0ICclcycgY29udGFpbnMgbWVyZ2V0YWcgJyVzJyB0aGF0IGlzIGRpc2NhcmRlZDsgdXNlIC0tZWRpdCAiCiAiaW5zdGVhZCBvZiAtLWdyYWZ0IgogbXNnc3RyICLQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lkg0LrQvtC80LzQuNGCIMKrJXPCuyDRgdC+0LTQtdGA0LbQuNGCINC80LXRgtC60YMg0YHQu9C40Y/QvdC40Y8gwqslc8K7LCDQutC+0YLQvtGA0LDRjyDQsdGL0LvQsCDQvtGC0LHRgNC+0YjQtdC90LA7INC40YHQv9C+0LvRjNC30YPQudGC0LUgLS1lZGl0INCy0LzQtdGB0YLQviAtLWdyYWZ0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0NjAKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgb3JpZ2luYWwgY29tbWl0ICclcycgaGFzIGEgZ3BnIHNpZ25hdHVyZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0NjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2OAogbXNnaWQgInRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGluIHRoZSByZXBsYWNlbWVudCBjb21taXQhIgogbXNnc3RyICLQv9C+0LTQv9C40YHRjCDQsdGD0LTQtdGCINGD0LTQsNC70LXQvdCwINCyINC30LDQvNC10L3QtdC90L3QvtC8INC60L7QvNC80LjRgtC1ISIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDcxCisjOiBidWlsdGluL3JlcGxhY2UuYzo0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHJlcGxhY2VtZW50IGNvbW1pdCBmb3I6ICclcyciCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDQt9Cw0LzQtdC90YMg0LTQu9GPINC60L7QvNC80LjRgtCwOiDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ3OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyYWZ0IGZvciAnJXMnIHVubmVjZXNzYXJ5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ4MgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBjb21taXQgaXMgdGhlIHNhbWUgYXMgdGhlIG9sZCBvbmU6ICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTE0CisjOiBidWlsdGluL3JlcGxhY2UuYzo1MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBjb252ZXJ0IHRoZSBmb2xsb3dpbmcgZ3JhZnQocyk6XG4iCiAiJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM1CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDYKIG1zZ2lkICJsaXN0IHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INC30LDQvNC10L3Rj9C10LzRi9GFINGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM2CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDcKIG1zZ2lkICJkZWxldGUgcmVwbGFjZSByZWZzIgogbXNnc3RyICLRg9C00LDQu9C10L3QuNC1INC30LDQvNC10L3Rj9C10LzRi9GFINGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM3CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDgKIG1zZ2lkICJlZGl0IGV4aXN0aW5nIG9iamVjdCIKIG1zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1INGB0YPRidC10YHRgtCy0YPRjtGJ0LXQs9C+INC+0LHRitC10LrRgtCwIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1MzgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0OQogbXNnaWQgImNoYW5nZSBhIGNvbW1pdCdzIHBhcmVudHMiCiBtc2dzdHIgItC40LfQvNC10L3QtdC90LjQtSDRgNC+0LTQuNGC0LXQu9GPINC60L7QvNC80LjRgtCwIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1MzkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1MAogbXNnaWQgImNvbnZlcnQgZXhpc3RpbmcgZ3JhZnQgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NDAKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1MQogbXNnaWQgInJlcGxhY2UgdGhlIHJlZiBpZiBpdCBleGlzdHMiCiBtc2dzdHIgItC30LDQvNC10L3QsCDRgdGB0YvQu9C60LgsINC10YHQu9C4INC+0L3QsCDRgdGD0YnQtdGB0YLQstGD0LXRgiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQyCisjOiBidWlsdGluL3JlcGxhY2UuYzo1NTMKIG1zZ2lkICJkbyBub3QgcHJldHR5LXByaW50IGNvbnRlbnRzIGZvciAtLWVkaXQiCiBtc2dzdHIgItC90LUg0LTQtdC70LDRgtGMINGB0YLRgNGD0LrRgtGD0YDQuNGA0L7QstCw0L3QvdGL0Lkg0LLRi9Cy0L7QtCDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+INC00LvRjyAtLWVkaXQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0MworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU0CiBtc2dpZCAidXNlIHRoaXMgZm9ybWF0IgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0Y3RgtC+0YIg0YTQvtGA0LzQsNGCIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NTYKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU2NwogbXNnaWQgIi0tZm9ybWF0IGNhbm5vdCBiZSB1c2VkIHdoZW4gbm90IGxpc3RpbmciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTY0CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NzUKIG1zZ2lkICItZiBvbmx5IG1ha2VzIHNlbnNlIHdoZW4gd3JpdGluZyBhIHJlcGxhY2VtZW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU2OAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTc5CiBtc2dpZCAiLS1yYXcgb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tZWRpdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NzQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU4NQogbXNnaWQgIi1kIG5lZWRzIGF0IGxlYXN0IG9uZSBhcmd1bWVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1ODAKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU5MQogbXNnaWQgImJhZCBudW1iZXIgb2YgYXJndW1lbnRzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU4NgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTk3CiBtc2dpZCAiLWUgbmVlZHMgZXhhY3RseSBvbmUgYXJndW1lbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTkyCisjOiBidWlsdGluL3JlcGxhY2UuYzo2MDMKIG1zZ2lkICItZyBuZWVkcyBhdCBsZWFzdCBvbmUgYXJndW1lbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTk4CisjOiBidWlsdGluL3JlcGxhY2UuYzo2MDkKIG1zZ2lkICItLWNvbnZlcnQtZ3JhZnQtZmlsZSB0YWtlcyBubyBhcmd1bWVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo2MDQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYxNQogbXNnaWQgIm9ubHkgb25lIHBhdHRlcm4gY2FuIGJlIGdpdmVuIHdpdGggLWwiCiBtc2dzdHIgIiIKIApAQCAtMTQ0MjIsMTczICsxNzIxMSwxODcgQEAKIG1zZ2lkICJnaXQgcmVyZXJlIFtjbGVhciB8IGZvcmdldCA8cGF0aD4uLi4gfCBzdGF0dXMgfCByZW1haW5pbmcgfCBkaWZmIHwgZ2NdIgogbXNnc3RyICJnaXQgcmVyZXJlIFtjbGVhciB8IGZvcmdldCA80L/Rg9GC0Yw+4oCmIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKIAotIzogYnVpbHRpbi9yZXJlcmUuYzo1OQorIzogYnVpbHRpbi9yZXJlcmUuYzo2MAogbXNnaWQgInJlZ2lzdGVyIGNsZWFuIHJlc29sdXRpb25zIGluIGluZGV4IgogbXNnc3RyICLQt9Cw0L/QuNGB0LDRgtGMINGH0LjRgdGC0YvQtSDRgNCw0LfRgNC10YjQtdC90LjRjyDQutC+0L3RhNC70LjQutGC0L7QsiDQsiDQuNC90LTQtdC60YEiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOQorIzogYnVpbHRpbi9yZXJlcmUuYzo3OQorbXNnaWQgIidnaXQgcmVyZXJlIGZvcmdldCcgd2l0aG91dCBwYXRocyBpcyBkZXByZWNhdGVkIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBnZW5lcmF0ZSBkaWZmIGZvciAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMgogbXNnaWQgIiIKICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs8Y29tbWl0Pl0iCiBtc2dzdHIgImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzzQutC+0LzQvNC40YI+XSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMwCisjOiBidWlsdGluL3Jlc2V0LmM6MzMKIG1zZ2lkICJnaXQgcmVzZXQgWy1xXSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHM+Li4uIgogbXNnc3RyICJnaXQgcmVzZXQgWy1xXSBbPNGD0LrQsNC30LDRgtC10LvRjC3QtNC10YDQtdCy0LA+XSBbLS1dIDzQv9GD0YLQuD7igKYiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMQorIzogYnVpbHRpbi9yZXNldC5jOjM0CiBtc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIgogbXNnc3RyICJnaXQgcmVzZXQgLS1wYXRjaCBbPNGD0LrQsNC30LDRgtC10LvRjC3QtNC10YDQtdCy0LA+XSBbLS1dIFs80L/Rg9GC0Lg+4oCmXSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM3CisjOiBidWlsdGluL3Jlc2V0LmM6NDAKIG1zZ2lkICJtaXhlZCIKIG1zZ3N0ciAi0YHQvNC10YjQsNC90L3Ri9C5IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzcKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MAogbXNnaWQgInNvZnQiCiBtc2dzdHIgItC80Y/Qs9C60LjQuSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM3CisjOiBidWlsdGluL3Jlc2V0LmM6NDAKIG1zZ2lkICJoYXJkIgogbXNnc3RyICLQttC10YHRgtC60LjQuSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM3CisjOiBidWlsdGluL3Jlc2V0LmM6NDAKIG1zZ2lkICJtZXJnZSIKIG1zZ3N0ciAi0YHQu9C40Y/QvdC40LXQvCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM3CisjOiBidWlsdGluL3Jlc2V0LmM6NDAKIG1zZ2lkICJrZWVwIgogbXNnc3RyICLQvtGB0YLQsNCy0LvQtdC90LjQtdC8IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NzgKKyM6IGJ1aWx0aW4vcmVzZXQuYzo4MQogbXNnaWQgIllvdSBkbyBub3QgaGF2ZSBhIHZhbGlkIEhFQUQuIgogbXNnc3RyICLQoyDQstCw0YEg0L3QtdGCINCy0LXRgNC90L7Qs9C+IEhFQUQuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6ODAKKyM6IGJ1aWx0aW4vcmVzZXQuYzo4MwogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgSEVBRC4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDQtNC10YDQtdCy0L4g0YMgSEVBRC4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo4NgorIzogYnVpbHRpbi9yZXNldC5jOjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0LTQtdGA0LXQstC+INGDICVzLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjExMQotIywgYy1mb3JtYXQKLW1zZ2lkICJIRUFEIGlzIG5vdyBhdCAlcyIKLW1zZ3N0ciAiSEVBRCDRgdC10LnRh9Cw0YEg0L3QsCAlcyIKLQotIzogYnVpbHRpbi9yZXNldC5jOjE4OQorIzogYnVpbHRpbi9yZXNldC5jOjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gYSAlcyByZXNldCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UuIgogbXNnc3RyICLQndC10LvRjNC30Y8g0LLRi9C/0L7Qu9C90LjRgtGMINGB0LHRgNC+0YEg0LIg0YDQtdC20LjQvNC1IMKrJXPCuyDQstC+INCy0YDQtdC80Y8g0YHQu9C40Y/QvdC40Y8uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjg5CisjOiBidWlsdGluL3Jlc2V0LmM6MjkzIGJ1aWx0aW4vc3Rhc2guYzo1MTQgYnVpbHRpbi9zdGFzaC5jOjU4OQorIzogYnVpbHRpbi9zdGFzaC5jOjYxMwogbXNnaWQgImJlIHF1aWV0LCBvbmx5IHJlcG9ydCBlcnJvcnMiCiBtc2dzdHIgItGC0LjRhdC40Lkg0YDQtdC20LjQvCwg0LLRi9Cy0L7QtNC40YLRjCDRgtC+0LvRjNC60L4g0L7RiNC40LHQutC4IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjkxCisjOiBidWlsdGluL3Jlc2V0LmM6Mjk1CiBtc2dpZCAicmVzZXQgSEVBRCBhbmQgaW5kZXgiCiBtc2dzdHIgItGB0LHRgNC+0YHQuNGC0YwgSEVBRCDQuCDQuNC90LTQtdC60YEiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTIKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTYKIG1zZ2lkICJyZXNldCBvbmx5IEhFQUQiCiBtc2dzdHIgItGB0LHRgNC+0YHQuNGC0Ywg0YLQvtC70YzQutC+IEhFQUQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTQgYnVpbHRpbi9yZXNldC5jOjI5NgorIzogYnVpbHRpbi9yZXNldC5jOjI5OCBidWlsdGluL3Jlc2V0LmM6MzAwCiBtc2dpZCAicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi0YHQsdGA0L7RgdC40YLRjCBIRUFELCDQuNC90LTQtdC60YEg0Lgg0YDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTgKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDIKIG1zZ2lkICJyZXNldCBIRUFEIGJ1dCBrZWVwIGxvY2FsIGNoYW5nZXMiCiBtc2dzdHIgItGB0LHRgNC+0YHQuNGC0YwgSEVBRCwg0L3QviDQvtGB0YLQsNCy0LjRgtGMINC70L7QutCw0LvRjNC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDgKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHJlbW92ZWQgcGF0aHMgd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAi0LfQsNC/0LjRgdCw0YLRjCDRgtC+0LvRjNC60L4g0YTQsNC60YIg0YLQvtCz0L4sINGH0YLQviDRg9C00LDQu9C10L3QvdGL0LUg0L/Rg9GC0Lgg0LHRg9C00YPRgiDQtNC+0LHQsNCy0LvQtdC90Ysg0L/QvtC30LbQtSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMyMQorIzogYnVpbHRpbi9yZXNldC5jOjMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmV2aXNpb24uIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGA0LDRgdC/0L7Qt9C90LDRgtGMIMKrJXPCuyDQutCw0Log0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YPRjiDRgNC10LTQsNC60YbQuNGOLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMyOQorIzogYnVpbHRpbi9yZXNldC5jOjMzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgdHJlZS4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNGB0L/QvtC30L3QsNGC0Ywgwqslc8K7INC60LDQuiDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QvtC1INC00LXRgNC10LLQvi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMzgKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNDMKIG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIC0te2hhcmQsbWl4ZWQsc29mdH0iCiBtc2dzdHIgIi0tcGF0Y2gg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0YEgLS17aGFyZCxtaXhlZCxzb2Z0fSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0NworIzogYnVpbHRpbi9yZXNldC5jOjM1MwogbXNnaWQgIi0tbWl4ZWQgd2l0aCBwYXRocyBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCByZXNldCAtLSA8cGF0aHM+JyBpbnN0ZWFkLiIKIG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LUg0L7Qv9GG0LjQuCAtLW1peGVkINGBINC/0YPRgtGP0LzQuCDRg9GB0YLQsNGA0LXQu9C+OyDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IMKrZ2l0IHJlc2V0IC0tIDzQv9GD0YLQuD7CuyBpbnN0ZWFkLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0OQorIzogYnVpbHRpbi9yZXNldC5jOjM1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gJXMgcmVzZXQgd2l0aCBwYXRocy4iCiBtc2dzdHIgItCd0LXQu9GM0LfRjyDQstGL0L/QvtC70L3QuNGC0Ywg0YHQsdGA0L7RgSDQsiDRgNC10LbQuNC80LUgwqslc8K7INCy0LzQtdGB0YLQtSDRgSDRg9C60LDQt9Cw0L3QuNC10Lwg0L/Rg9GC0LguIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzU5CisjOiBidWlsdGluL3Jlc2V0LmM6MzcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHJlc2V0IGlzIG5vdCBhbGxvd2VkIGluIGEgYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICLRgdCx0YDQvtGBIMKrJXPCuyDRgNCw0LfRgNC10YjQtdC9INGC0L7Qu9GM0LrQviDRgSDQs9C+0LvRi9C8INGA0LXQv9C+0LfQuNGC0L7RgNC40LXQvCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM2MworIzogYnVpbHRpbi9yZXNldC5jOjM3NAogbXNnaWQgIi1OIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCAtLW1peGVkIgogbXNnc3RyICItTiDQvNC+0LbQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQstC80LXRgdGC0LUg0YEgLS1taXhlZCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM4MAorIzogYnVpbHRpbi9yZXNldC5jOjM5NQogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IgogbXNnc3RyICLQndC10L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQv9C+0YHQu9C1INGB0LHRgNC+0YHQsDoiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozODYKKyM6IGJ1aWx0aW4vcmVzZXQuYzozOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGVudW1lcmF0ZSB1bnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0LiAgWW91IGNhblxuIgorInVzZSAnLS1xdWlldCcgdG8gYXZvaWQgdGhpcy4gIFNldCB0aGUgY29uZmlnIHNldHRpbmcgcmVzZXQucXVpZXQgdG8gdHJ1ZVxuIgorInRvIG1ha2UgdGhpcyB0aGUgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3Jlc2V0LmM6NDA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0LHRgNC+0YHQuNGC0Ywg0YTQsNC50Lsg0LjQvdC00LXQutGB0LAg0L3QsCDRgNC10LTQsNC60YbQuNGOIMKrJXPCuy4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOTAKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MTIKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgbmV3IGluZGV4IGZpbGUuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0L3QvtCy0YvQuSDRhNCw0LnQuyDQuNC90LTQtdC60YHQsC4iCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzozOTkKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0MDUKIG1zZ2lkICJjYW5ub3QgY29tYmluZSAtLWV4Y2x1ZGUtcHJvbWlzb3Itb2JqZWN0cyBhbmQgLS1taXNzaW5nIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0NTcKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0NjYKIG1zZ2lkICJvYmplY3QgZmlsdGVyaW5nIHJlcXVpcmVzIC0tb2JqZWN0cyIKIG1zZ3N0ciAi0YTQuNC70YzRgtGA0LDRhtC40Y8g0L7QsdGK0LXQutGC0L7QsiDRgtGA0LXQsdGD0LXRgiDRg9C60LDQt9Cw0L3QuNGPINC/0LDRgNCw0LzQtdGC0YDQsCAtLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0NjAKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzcGFyc2UgdmFsdWUgJyVzJyIKIG1zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzQvtC1INGH0LDRgdGC0LjRh9C90L7QtSDQt9C90LDRh9C10L3QuNC1IMKrJXPCuyIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUwMQorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUxMAogbXNnaWQgInJldi1saXN0IGRvZXMgbm90IHN1cHBvcnQgZGlzcGxheSBvZiBub3RlcyIKIG1zZ3N0ciAicmV2LWxpc3Qg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0L7RgtC+0LHRgNCw0LbQtdC90LjQtSDQt9Cw0LzQtdGC0L7QuiIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUwNAorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUxMwogbXNnaWQgImNhbm5vdCBjb21iaW5lIC0tdXNlLWJpdG1hcC1pbmRleCB3aXRoIG9iamVjdCBmaWx0ZXJpbmciCiBtc2dzdHIgItC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgLS11c2UtYml0bWFwLWluZGV4INC+0LTQvdC+0LLRgNC10LzQtdC90L3QviDRgSDRhNC40LvRjNGC0YDQsNGG0LjQtdC5INC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDA2CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQwOAogbXNnaWQgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXSIKIG1zZ3N0ciAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs80L7Qv9GG0LjQuD5dIC0tIFs80LDRgNCz0YPQvNC10L3RgtGLPuKApl0iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDExCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxMwogbXNnaWQgImtlZXAgdGhlIGAtLWAgcGFzc2VkIGFzIGFuIGFyZyIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0LLQsNGC0Ywg0LTQsNC70LXQtSDCqy0twrsg0LrQsNC6INCw0YDQs9GD0LzQtdC90YIiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDEzCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxNQogbXNnaWQgInN0b3AgcGFyc2luZyBhZnRlciB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCIKIG1zZ3N0ciAi0L7RgdGC0LDQvdC+0LLQuNGC0Ywg0YDQsNC30LHQvtGAINC/0L7RgdC70LUg0L/QtdGA0LLQvtCz0L4g0LDRgNCz0YPQvNC10L3RgtCwINC90LUg0Y/QstC70Y/RjtGJ0LXQs9C+0YHRjyDQvtC/0YbQuNC10LkiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDE2CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxOAogbXNnaWQgIm91dHB1dCBpbiBzdHVjayBsb25nIGZvcm0iCiBtc2dzdHIgItCy0YvQstC+0LTQuNGC0Ywg0LDRgNCz0YPQvNC10L3RgtGLINCyINC00LvQuNC90L3QvtC8INGE0L7RgNC80LDRgtC1IgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjU0OQorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1NTEKIG1zZ2lkICIiCiAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dXG4iCiAiICAgb3I6IGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPGFyZz4uLi5dXG4iCkBAIC0xNDYxMyw3NiArMTc0MTYsNzcgQEAKIG1zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgPHN1YmNvbW1hbmQ+IgogbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgPNC/0L7QtNC60L7QvNCw0L3QtNCwPiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo5MQorIzogYnVpbHRpbi9yZXZlcnQuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBleHBlY3RzIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiB6ZXJvIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiVzOiAlcyDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviDRgSAlcyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCiBtc2dpZCAiZW5kIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAi0LrQvtC90LXRhiDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L7RgdGC0Lgg0LrQvtC/0LjRgNC+0LLQsNC90LjRjyDQuNC70Lgg0L7QsdGA0LDRidC10L3QuNGPINC40LfQvNC10L3QtdC90LjQuSDQutC+0LzQvNC40YLQvtCyIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKIG1zZ2lkICJyZXN1bWUgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICLQv9GA0L7QtNC+0LvQttC40YLRjCDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L7RgdGC0Ywg0LrQvtC/0LjRgNC+0LLQsNC90LjRjyDQuNC70Lgg0L7QsdGA0LDRidC10L3QuNGPINC40LfQvNC10L3QtdC90LjQuSDQutC+0LzQvNC40YLQvtCyIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKIG1zZ2lkICJjYW5jZWwgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICLQvtGC0LzQtdC90LAg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtC4INC60L7Qv9C40YDQvtCy0LDQvdC40Y8g0LjQu9C4INC+0LHRgNCw0YnQtdC90LjRjyDQuNC30LzQtdC90LXQvdC40Lkg0LrQvtC80LzQuNGC0L7QsiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CiBtc2dpZCAiZG9uJ3QgYXV0b21hdGljYWxseSBjb21taXQiCiBtc2dzdHIgItC90LUg0LrQvtC80LzQuNGC0LjRgtGMINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDcKIG1zZ2lkICJlZGl0IHRoZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAi0LjQt9C80LXQvdC40YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3CisjOiBidWlsdGluL3JldmVydC5jOjExMAogbXNnaWQgInBhcmVudC1udW1iZXIiCiBtc2dzdHIgItC90L7QvNC10YAt0YDQvtC00LjRgtC10LvRjyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTExCiBtc2dpZCAic2VsZWN0IG1haW5saW5lIHBhcmVudCIKIG1zZ3N0ciAi0LLRi9Cx0L7RgCDQvtGB0L3QvtCy0L3QvtCz0L4g0YDQvtC00LjRgtC10LvRjyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEzCiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgItGB0YLRgNCw0YLQtdCz0LjRjyDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTEKLW1zZ2lkICJvcHRpb24iCi1tc2dzdHIgItC+0L/RhtC40Y8iCi0KLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyCisjOiBidWlsdGluL3JldmVydC5jOjExNQogbXNnaWQgIm9wdGlvbiBmb3IgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgItC+0L/RhtC40Y8g0LTQu9GPINGB0YLRgNCw0YLQtdCz0LjQuCDRgdC70LjRj9C90LjRjyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI0CiBtc2dpZCAiYXBwZW5kIGNvbW1pdCBuYW1lIgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMINC40LzRjyDQutC+0LzQvNC40YLQsCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjMKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI2CiBtc2dpZCAicHJlc2VydmUgaW5pdGlhbGx5IGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgItGB0L7RhdGA0LDQvdC40YLRjCDQuNC30L3QsNGH0LDQu9GM0L3QviDQv9GD0YHRgtGL0LUg0LrQvtC80LzQuNGC0YsiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI1CisjOiBidWlsdGluL3JldmVydC5jOjEyOAogbXNnaWQgImtlZXAgcmVkdW5kYW50LCBlbXB0eSBjb21taXRzIgogbXNnc3RyICLQvtGB0YLQsNCy0LjRgtGMINC40LfQsdGL0YLQvtGH0L3Ri9C1LCDQv9GD0YHRgtGL0LUg0LrQvtC80LzQuNGC0YsiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjE5CisjOiBidWlsdGluL3JldmVydC5jOjIyNwogbXNnaWQgInJldmVydCBmYWlsZWQiCiBtc2dzdHIgItGB0LHQvtC5INC+0LHRgNCw0YnQtdC90LjRjyDQuNC30LzQtdC90LXQvdC40Lkg0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMyCisjOiBidWlsdGluL3JldmVydC5jOjI0MAogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAi0YHQsdC+0Lkg0L/RgNC4INC60L7Qv9C40YDQvtCy0LDQvdC40Lgg0LrQvtC80LzQuNGC0LAiCiAKLSM6IGJ1aWx0aW4vcm0uYzoxOAorIzogYnVpbHRpbi9ybS5jOjE5CiBtc2dpZCAiZ2l0IHJtIFs8b3B0aW9ucz5dIFstLV0gPGZpbGU+Li4uIgogbXNnc3RyICJnaXQgcm0gWzzQvtC/0YbQuNC4Pl0gWy0tXSA80YTQsNC50Ls+4oCmIgogCi0jOiBidWlsdGluL3JtLmM6MjA2CisjOiBidWlsdGluL3JtLmM6MjA3CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKICJmaWxlIGFuZCB0aGUgSEVBRDoiCkBAIC0xNDY5NCwxMyArMTc0OTgsMTMgQEAKIG1zZ3N0clsyXSAi0YHQu9C10LTRg9GO0YnQuNC1INGE0LDQudC70Ysg0YHQvtC00LXRgNC20LDRgiDQv9GA0L7QuNC90LTQtdC60YHQuNGA0L7QstCw0L3QvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPINC+0YLQu9C40YfQsNGO0YnQuNC10YHRjyDQuCDQvtGCINGE0LDQudC70LAsINC4INC+0YIgSEVBRDoiCiBtc2dzdHJbM10gItGB0LvQtdC00YPRjtGJ0LjQtSDRhNCw0LnQu9GLINGB0L7QtNC10YDQttCw0YIg0L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQvtGC0LvQuNGH0LDRjtGJ0LjQtdGB0Y8g0Lgg0L7RgiDRhNCw0LnQu9CwLCDQuCDQvtGCIEhFQUQ6IgogCi0jOiBidWlsdGluL3JtLmM6MjExCisjOiBidWlsdGluL3JtLmM6MjEyCiBtc2dpZCAiIgogIlxuIgogIih1c2UgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCiBtc2dzdHIgIlxuKNC40YHQv9C+0LvRjNC30YPQudGC0LUg0L7Qv9GG0LjRjiDCqy1mwrsg0LTQu9GPINC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+0LPQviDRg9C00LDQu9C10L3QuNGPKSIKIAotIzogYnVpbHRpbi9ybS5jOjIxNQorIzogYnVpbHRpbi9ybS5jOjIxNgogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dzdHJbMF0gItGB0LvQtdC00YPRjtGJ0LjQtSDRhNCw0LnQu9GLINGB0L7QtNC10YDQttCw0YIg0L/RgNC+0LjQvdC00LXQutGB0LjRgNC+0LLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQsiDQuNC90LTQtdC60YHQtToiCkBAIC0xNDcwOCwxMyArMTc1MTIsMTMgQEAKIG1zZ3N0clsyXSAi0YHQu9C10LTRg9GO0YnQuNC1INGE0LDQudC70Ysg0YHQvtC00LXRgNC20LDRgiDQv9GA0L7QuNC90LTQtdC60YHQuNGA0L7QstCw0L3QvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPINCyINC40L3QtNC10LrRgdC1OiIKIG1zZ3N0clszXSAi0YHQu9C10LTRg9GO0YnQuNC1INGE0LDQudC70Ysg0YHQvtC00LXRgNC20LDRgiDQv9GA0L7QuNC90LTQtdC60YHQuNGA0L7QstCw0L3QvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPINCyINC40L3QtNC10LrRgdC1OiIKIAotIzogYnVpbHRpbi9ybS5jOjIxOSBidWlsdGluL3JtLmM6MjI4CisjOiBidWlsdGluL3JtLmM6MjIwIGJ1aWx0aW4vcm0uYzoyMjkKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtLWNhY2hlZCB0byBrZWVwIHRoZSBmaWxlLCBvciAtZiB0byBmb3JjZSByZW1vdmFsKSIKIG1zZ3N0ciAiXG4o0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQvtC/0YbQuNGOIMKrLS1jYWNoZWTCuyDQtNC70Y8g0L7RgdGC0LDQstC70LXQvdC40Y8g0YTQsNC50LvQsCwg0LjQu9C4IMKrLWbCuyDQtNC70Y8g0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L7Qs9C+INGD0LTQsNC70LXQvdC40Y8pIgogCi0jOiBidWlsdGluL3JtLmM6MjI1CisjOiBidWlsdGluL3JtLmM6MjI2CiBtc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGxvY2FsIG1vZGlmaWNhdGlvbnM6IgogbXNnc3RyWzBdICLRgdC70LXQtNGD0Y7RidC40LUg0YTQsNC50LvRiyDRgdC+0LTQtdGA0LbQsNGCINC70L7QutCw0LvRjNC90YvQtSDQuNC30LzQtdC90LXQvdC40Y86IgpAQCAtMTQ3MjIsNDUgKzE3NTI2LDQwIEBACiBtc2dzdHJbMl0gItGB0LvQtdC00YPRjtGJ0LjQtSDRhNCw0LnQu9GLINGB0L7QtNC10YDQttCw0YIg0LvQvtC60LDQu9GM0L3Ri9C1INC40LfQvNC10L3QtdC90LjRjzoiCiBtc2dzdHJbM10gItGB0LvQtdC00YPRjtGJ0LjQtSDRhNCw0LnQu9GLINGB0L7QtNC10YDQttCw0YIg0LvQvtC60LDQu9GM0L3Ri9C1INC40LfQvNC10L3QtdC90LjRjzoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDEKKyM6IGJ1aWx0aW4vcm0uYzoyNDIKIG1zZ2lkICJkbyBub3QgbGlzdCByZW1vdmVkIGZpbGVzIgogbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0YHQv9C40YHQvtC6INGD0LTQsNC70LXQvdC90YvRhSDRhNCw0LnQu9C+0LIiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDIKKyM6IGJ1aWx0aW4vcm0uYzoyNDMKIG1zZ2lkICJvbmx5IHJlbW92ZSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAi0YPQtNCw0LvQuNGC0Ywg0YLQvtC70YzQutC+INC40Lcg0LjQvdC00LXQutGB0LAiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDMKKyM6IGJ1aWx0aW4vcm0uYzoyNDQKIG1zZ2lkICJvdmVycmlkZSB0aGUgdXAtdG8tZGF0ZSBjaGVjayIKIG1zZ3N0ciAi0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0L/RgNC+0LLQtdGA0LrRgyDQsNC60YLRg9Cw0LvRjNC90L7RgdGC0LgiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDQKKyM6IGJ1aWx0aW4vcm0uYzoyNDUKIG1zZ2lkICJhbGxvdyByZWN1cnNpdmUgcmVtb3ZhbCIKIG1zZ3N0ciAi0YDQsNC30YDQtdGI0LjRgtGMINGA0LXQutGD0YDRgdC40LLQvdC+0LUg0YPQtNCw0LvQtdC90LjQtSIKIAotIzogYnVpbHRpbi9ybS5jOjI0NgorIzogYnVpbHRpbi9ybS5jOjI0NwogbXNnaWQgImV4aXQgd2l0aCBhIHplcm8gc3RhdHVzIGV2ZW4gaWYgbm90aGluZyBtYXRjaGVkIgogbXNnc3RyICLQstGL0YXQvtC0INGBINC90YPQu9C10LLRi9C8INC60L7QtNC+0Lwg0LLQvtC30LLRgNCw0YLQsCwg0LTQsNC20LUg0LXRgdC70Lgg0L3QuNGH0LXQs9C+INC90LUg0L3QsNC50LTQtdC90L4iCiAKLSM6IGJ1aWx0aW4vcm0uYzoyODgKKyM6IGJ1aWx0aW4vcm0uYzoyODkKIG1zZ2lkICJwbGVhc2Ugc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3JtLmM6MzA2CisjOiBidWlsdGluL3JtLmM6MzA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCByZW1vdmluZyAnJXMnIHJlY3Vyc2l2ZWx5IHdpdGhvdXQgLXIiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvRj9GOINGA0LXQutGD0YDRgdC40LLQvdC+IMKrJXPCuyDQsdC10Lcg0YPQutCw0LfQsNC90LjRjyDQvtC/0YbQuNC4IC1yIgogCi0jOiBidWlsdGluL3JtLmM6MzQ1CisjOiBidWlsdGluL3JtLmM6MzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBybTogdW5hYmxlIHRvIHJlbW92ZSAlcyIKIG1zZ3N0ciAiZ2l0IHJtOiDQvdC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMICVzIgogCi0jOiBidWlsdGluL3JtLmM6MzY4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgJyVzJyIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCDCqyVzwrsiCi0KICM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MjAKIG1zZ2lkICIiCiAiZ2l0IHNlbmQtcGFjayBbLS1hbGwgfCAtLW1pcnJvcl0gWy0tZHJ5LXJ1bl0gWy0tZm9yY2VdIFstLXJlY2VpdmUtcGFjaz08Z2l0LXJlY2VpdmUtcGFjaz5dIFstLXZlcmJvc2VdIFstLXRoaW5dIFstLWF0b21pY10gWzxob3N0PjpdPGRpcmVjdG9yeT4gWzxyZWY+Li4uXVxuIgpAQCAtMTQ3ODMsMTggKzE3NTgyLDYgQEAKIG1zZ2lkICJwcmludCBzdGF0dXMgZnJvbSByZW1vdGUgaGVscGVyIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDRgdGC0LDRgtGD0YEg0L7RgiDRgdC60YDQuNC/0YLQsCDQstC90LXRiNC90LXQs9C+INGB0LXRgNCy0LXRgNCwIgogCi0jOiBidWlsdGluL3NlcnZlLmM6NwotbXNnaWQgImdpdCBzZXJ2ZSBbPG9wdGlvbnM+XSIKLW1zZ3N0ciAiZ2l0IHNlcnZlIFs80L7Qv9GG0LjQuD5dIgotCi0jOiBidWlsdGluL3NlcnZlLmM6MTcgYnVpbHRpbi91cGxvYWQtcGFjay5jOjIzCi1tc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgotbXNnc3RyICLQstGL0YXQvtC0INC/0L7RgdC70LUg0L7QsdC80LXQvdCwINC+0LTQvdC40Lwg0LfQsNC/0YDQvtGB0L7QvC/QvtGC0LLQtdGC0L7QvCIKLQotIzogYnVpbHRpbi9zZXJ2ZS5jOjE5Ci1tc2dpZCAiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBhZHZlcnRpc2luZyBjYXBhYmlsaXRpZXMiCi1tc2dzdHIgIiIKLQogIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE0CiBtc2dpZCAiZ2l0IHNob3J0bG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc2hvcnRsb2cgWzzQvtC/0YbQuNC4Pl0gWzzQtNC40LDQv9Cw0LfQvtC9LdGA0LXQtNCw0LrRhtC40Lk+XSBbWy0tXSA80L/Rg9GC0Yw+4oCmXSIKQEAgLTE0ODI3LDcgKzE3NjE0LDcgQEAKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgItCf0LXRgNC10L3QvtGBINGB0YLRgNC+0Log0L3QsCDQstGL0LLQvtC00LUiCiAKLSM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyOTkKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzozMDEKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMgZ2l2ZW4gb3V0c2lkZSByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAKQEAgLTE0ODU3LDg1ICsxNzY0NCw4NSBAQAogbXNnaWQgIm5vIG1hdGNoaW5nIHJlZnMgd2l0aCAlcyIKIG1zZ3N0ciAi0L3QtdGCINGB0L7QstC/0LDQtNCw0Y7RidC40YUg0LfQsNC/0LjRgdC10Lkg0YEgJXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDYKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0YHQv9C40YHQvtC6INC4INC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINCy0L3QtdGI0L3QuNGFINC4INC70L7QutCw0LvRjNC90YvRhSDQstC10YLQvtC6IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ4CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0YHQv9C40YHQvtC6INC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINCy0L3QtdGI0L3QuNGFINCy0LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKIG1zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgogbXNnc3RyICLQvtC60YDQsNGI0LjQstCw0YLRjCDCqyohKy3CuyDQsiDRgdC+0L7RgtCy0LXRgtGB0YLQstC40Lgg0YEg0LLQtdGC0LrQvtC5IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUyCiBtc2dpZCAic2hvdyA8bj4gbW9yZSBjb21taXRzIGFmdGVyIHRoZSBjb21tb24gYW5jZXN0b3IiCiBtc2dzdHIgItC/0L7QutCw0LfQsNGC0YwgPG4+INC60L7QvNC80LjRgtC+0LIg0L/QvtGB0LvQtSDQvtCx0YnQtdCz0L4g0L/RgNC10LTQutCwIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0CiBtc2dpZCAic3lub255bSB0byBtb3JlPS0xIgogbXNnc3RyICLRgdC40L3QvtC90LjQvCDQtNC70Y8gbW9yZT0tMSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NQogbXNnaWQgInN1cHByZXNzIG5hbWluZyBzdHJpbmdzIgogbXNnc3RyICLQvdC1INCy0YvQstC+0LTQuNGC0Ywg0LjQvNC10L3QvtCy0LDQvdC90YvQtSDRgdGC0YDQvtC60LgiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTcKIG1zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAi0LLQutC70Y7Rh9C40YLRjCDQsiDQstGL0LLQvtC0INGC0LXQutGD0YnRg9GOINCy0LXRgtC60YMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTkKIG1zZ2lkICJuYW1lIGNvbW1pdHMgd2l0aCB0aGVpciBvYmplY3QgbmFtZXMiCiBtc2dzdHIgItC40LzQtdC90L7QstCw0YLRjCDQutC+0LzQvNC40YLRiyDQuNGFINC40LzQtdC90LDQvNC4INC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjEKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDQstC+0LfQvNC+0LbQvdGL0LUg0LHQsNC30Ysg0YHQu9C40Y/QvdC40Y8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjMKIG1zZ2lkICJzaG93IHJlZnMgdW5yZWFjaGFibGUgZnJvbSBhbnkgb3RoZXIgcmVmIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDRgdGB0YvQu9C60LgsINC90LXQtNC+0YHRgtGD0L/QvdGL0LUg0LjQtyDQu9GO0LHRi9GFINC00YDRg9Cz0LjRhSDRgdGB0YvQu9C+0LoiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjUKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INC60L7QvNC80LjRgtGLINCyINGC0L7Qv9C+0LvQvtCz0LjRh9C10YHQutC+0Lwg0L/QvtGA0Y/QtNC60LUiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjgKIG1zZ2lkICJzaG93IG9ubHkgY29tbWl0cyBub3Qgb24gdGhlIGZpcnN0IGJyYW5jaCIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YLQvtC70YzQutC+INC60L7QvNC80LjRgtGLLCDQvtGC0YHRg9GC0YHRgtCy0YPRjtGJ0LjQtSDQsiDQv9C10YDQstC+0Lkg0LLQtdGC0LrQtSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MAogbXNnaWQgInNob3cgbWVyZ2VzIHJlYWNoYWJsZSBmcm9tIG9ubHkgb25lIHRpcCIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHQu9C40Y/QvdC40Y8sINC00L7RgdGC0LjQttC40LzRi9C1INGC0L7Qu9GM0LrQviDQuNC3INC+0LTQvdC+0Lkg0LjQtyDQstC10YDRhdGD0YjQtdC6IgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjcxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjcyCiBtc2dpZCAidG9wb2xvZ2ljYWxseSBzb3J0LCBtYWludGFpbmluZyBkYXRlIG9yZGVyIHdoZXJlIHBvc3NpYmxlIgogbXNnc3RyICLRgtC+0L/QvtC70L7Qs9C40YfQtdGB0LrQsNGPINGB0L7RgNGC0LjRgNC+0LLQutCwLCDRgSDRgdC+0YXRgNCw0L3QtdC90LjQtdC8INC/0L7RgNGP0LTQutCwINC00LDRgiwg0LXRgdC70Lgg0LLQvtC30LzQvtC20L3QviIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NQogbXNnaWQgIjxuPlssPGJhc2U+XSIKIG1zZ3N0ciAiPG4+Wyw80LHQsNC30LA+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NgogbXNnaWQgInNob3cgPG4+IG1vc3QgcmVjZW50IHJlZi1sb2cgZW50cmllcyBzdGFydGluZyBhdCBiYXNlIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMIDxuPiDQv9C+0YHQu9C10LTQvdC40YUg0LfQsNC/0LjRgdC10Lkg0LIg0LbRg9GA0L3QsNC70LUg0YHRgdGL0LvQvtC6LCDQvdCw0YfQuNC90LDRjyDRgSDQsdCw0LfRiyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxMQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxMgogbXNnaWQgIiIKICItLXJlZmxvZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50IG9yIC0tbWVyZ2UtIgogImJhc2UiCiBtc2dzdHIgIi0tcmVmbG9nINC90LXRgdC+0LLQvNC10YHRgtC40LzQviDRgSAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50INC4IC0tbWVyZ2UtYmFzZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczNQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczNgogbXNnaWQgIm5vIGJyYW5jaGVzIGdpdmVuLCBhbmQgSEVBRCBpcyBub3QgdmFsaWQiCiBtc2dzdHIgItC90LUg0YPQutCw0LfQsNC90Ysg0LLQtdGC0LrQuCDQuCBIRUFEINC90LUg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQuSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczOAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczOQogbXNnaWQgIi0tcmVmbG9nIG9wdGlvbiBuZWVkcyBvbmUgYnJhbmNoIG5hbWUiCiBtc2dzdHIgItC/0LDRgNCw0LzQtdGC0YAgLS1yZWZsb2cg0YLRgNC10LHRg9C10YIg0YPQutCw0LfQsNC90LjRjyDQuNC80LXQvdC4INC+0LTQvdC+0Lkg0LLQtdGC0LrQuCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjc0MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjc0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJvbmx5ICVkIGVudHJ5IGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCiBtc2dpZF9wbHVyYWwgIm9ubHkgJWQgZW50cmllcyBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgpAQCAtMTQ5NDQsMTIgKzE3NzMxLDEyIEBACiBtc2dzdHJbMl0gItGC0L7Qu9GM0LrQviAlZCDQt9Cw0L/QuNGB0LXQuSDQvNC+0LPRg9GCINCx0YvRgtGMINC/0L7QutCw0LfQsNC90Ysg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LiIKIG1zZ3N0clszXSAi0YLQvtC70YzQutC+ICVkINC30LDQv9C40YHQuCDQvNC+0LPRg9GCINCx0YvRgtGMINC/0L7QutCw0LfQsNC90Ysg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjc0NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjc0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIHJlZiAlcyIKIG1zZ3N0ciAi0L3QtdGCINGC0LDQutC+0Lkg0YHRgdGL0LvQutC4ICVzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODI5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldi4iCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldnMuIgpAQCAtMTQ5NTgsNTggKzE3NzQ1LDI3OSBAQAogbXNnc3RyWzJdICLQvdC10LLQvtC30LzQvtC20L3QviDQvtCx0YDQsNCx0L7RgtCw0YLRjCDQsdC+0LvRjNGI0LUgJWQg0YDQtdC00LDQutGG0LjQuS4iCiBtc2dzdHJbM10gItC90LXQstC+0LfQvNC+0LbQvdC+INC+0LHRgNCw0LHQvtGC0LDRgtGMINCx0L7Qu9GM0YjQtSAlZCDRgNC10LTQsNC60YbQuNC4LiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzMworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIsKrJXPCuyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LTQvtC/0YPRgdGC0LjQvNC+0Lkg0YHRgdGL0LvQutC+0Lkg0L3QsCDQutC+0LzQvNC40YIuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmaW5kIGNvbW1pdCAlcyAoJXMpIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0LrQvtC80LzQuNGCICVzICglcykiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMQorIzogYnVpbHRpbi9zaG93LXJlZi5jOjEyCiBtc2dpZCAiIgogImdpdCBzaG93LXJlZiBbLXEgfCAtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZCB8IC0tZGVyZWZlcmVuY2VdIFstcyB8ICIKICItLWhhc2hbPTxuPl1dIFstLWFiYnJldls9PG4+XV0gWy0tdGFnc10gWy0taGVhZHNdIFstLV0gWzxwYXR0ZXJuPi4uLl0iCiBtc2dzdHIgImdpdCBzaG93LXJlZiBbLXEgfCAtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZCB8IC0tZGVyZWZlcmVuY2VdIFstcyB8IC0taGFzaFs9PG4+XV0gWy0tYWJicmV2Wz08bj5dXSBbLS10YWdzXSBbLS1oZWFkc10gWy0tXSBbPNGI0LDQsdC70L7QvT7igKZdIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTIKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMwogbXNnaWQgImdpdCBzaG93LXJlZiAtLWV4Y2x1ZGUtZXhpc3RpbmdbPTxwYXR0ZXJuPl0iCiBtc2dzdHIgImdpdCBzaG93LXJlZiAtLWV4Y2x1ZGUtZXhpc3RpbmdbPTzRiNCw0LHQu9C+0L0+XSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2MAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2MgogbXNnaWQgIm9ubHkgc2hvdyB0YWdzIChjYW4gYmUgY29tYmluZWQgd2l0aCBoZWFkcykiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INGC0L7Qu9GM0LrQviDQvNC10YLQutC4ICjQvNC+0LbQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0YEgLS1oZWFkcykiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjEKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjMKIG1zZ2lkICJvbmx5IHNob3cgaGVhZHMgKGNhbiBiZSBjb21iaW5lZCB3aXRoIHRhZ3MpIgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDRgtC+0LvRjNC60L4g0LPQvtC70L7QstGLICjQvNC+0LbQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4g0YEgLS10YWdzKSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2MgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2NAogbXNnaWQgInN0cmljdGVyIHJlZmVyZW5jZSBjaGVja2luZywgcmVxdWlyZXMgZXhhY3QgcmVmIHBhdGgiCiBtc2dzdHIgItCx0L7Qu9C10LUg0YHRgtGA0L7Qs9Cw0Y8g0L/RgNC+0LLQtdGA0LrQsCDRgdGB0YvQu9C+0LosINGC0YDQtdCx0YPQtdGCINGC0L7Rh9C90YvQuSDQv9GD0YLRjCDRgdGB0YvQu9C60LgiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjUgYnVpbHRpbi9zaG93LXJlZi5jOjE2NworIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2NyBidWlsdGluL3Nob3ctcmVmLmM6MTY5CiBtc2dpZCAic2hvdyB0aGUgSEVBRCByZWZlcmVuY2UsIGV2ZW4gaWYgaXQgd291bGQgYmUgZmlsdGVyZWQgb3V0IgogbXNnc3RyICLQstGL0LLQtdGB0YLQuCDRgdGB0YvQu9C60YMgSEVBRCwg0LTQsNC20LUg0LXRgdC70Lgg0L7QvdCwINCx0YPQtNC10YIg0L7RgtGE0LjQu9GM0YLRgNC+0LLQsNC90LAiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjkKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzEKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGludG8gb2JqZWN0IElEcyIKIG1zZ3N0ciAi0YDQsNC30YvQvNC10L3QvtCy0LDRgtGMINC80LXRgtC60Lgg0LIg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDRiyDQvtCx0YrQtdC60YLQvtCyIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTcxCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTczCiBtc2dpZCAib25seSBzaG93IFNIQTEgaGFzaCB1c2luZyA8bj4gZGlnaXRzIgotbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgPG4+INGG0LjRhNGAINC00LvRjyDQstGL0LLQvtC00LAgU0hBLTEiCittc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0YLRjCA8bj4g0YHQuNC80LLQvtC70L7QsiDQtNC70Y8g0LLRi9Cy0L7QtNCwIFNIQS0xINGF0LXRiC3RgdGD0LzQvNGLIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc1CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc3CiBtc2dpZCAiZG8gbm90IHByaW50IHJlc3VsdHMgdG8gc3Rkb3V0ICh1c2VmdWwgd2l0aCAtLXZlcmlmeSkiCiBtc2dzdHIgItC90LUg0L/QtdGH0LDRgtCw0YLRjCDRgNC10LfRg9C70YzRgtCw0YIg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3Ri9C5INCy0YvQstC+0LQgKNC/0L7Qu9C10LfQvdC+INGBINC+0L/RhtC40LXQuSDCqy0tdmVyaWZ5wrspIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc3CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc5CiBtc2dpZCAic2hvdyByZWZzIGZyb20gc3RkaW4gdGhhdCBhcmVuJ3QgaW4gbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHRgdGL0LvQutC4INGB0L4g0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LAsINC60L7RgtC+0YDRi9GFINC90LXRgiDQsiDQu9C+0LrQsNC70YzQvdC+0Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCIKIAorIzogYnVpbHRpbi9zdGFzaC5jOjIyIGJ1aWx0aW4vc3Rhc2guYzozNworbXNnaWQgImdpdCBzdGFzaCBsaXN0IFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgc3Rhc2ggbGlzdCBbPNC+0L/RhtC40Lg+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjIzIGJ1aWx0aW4vc3Rhc2guYzo0MgorbXNnaWQgImdpdCBzdGFzaCBzaG93IFs8b3B0aW9ucz5dIFs8c3Rhc2g+XSIKK21zZ3N0ciAiZ2l0IHN0YXNoIHNob3cgWzzQvtC/0YbQuNC40Lg+XSBbPNGB0L/RgNGP0YLQsNC90L3Ri9C1LdC40LfQvNC10L3QtdC90LjRjz5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjQgYnVpbHRpbi9zdGFzaC5jOjQ3Cittc2dpZCAiZ2l0IHN0YXNoIGRyb3AgWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIKK21zZ3N0ciAiZ2l0IHN0YXNoIGRyb3AgWy1xfC0tcXVpZXRdIFs80YHQv9GA0Y/RgtCw0L3QvdGL0LUt0LjQt9C80LXQvdC10L3QuNGPPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNQorbXNnaWQgImdpdCBzdGFzaCAoIHBvcCB8IGFwcGx5ICkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCAoIHBvcCB8IGFwcGx5ICkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPNGB0L/RgNGP0YLQsNC90L3Ri9C1LdC40LfQvNC10L3QtdC90LjRjz5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjYgYnVpbHRpbi9zdGFzaC5jOjYyCittc2dpZCAiZ2l0IHN0YXNoIGJyYW5jaCA8YnJhbmNobmFtZT4gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggYnJhbmNoIDzQuNC80Y8t0LLQtdGC0LrQuD4gWzzRgdC/0YDRj9GC0LDQvdC90YvQtS3QuNC30LzQtdC90LXQvdC40Y8+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjI3IGJ1aWx0aW4vc3Rhc2guYzo2NworbXNnaWQgImdpdCBzdGFzaCBjbGVhciIKK21zZ3N0ciAiZ2l0IHN0YXNoIGNsZWFyIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjggYnVpbHRpbi9zdGFzaC5jOjc3Cittc2dpZCAiIgorImdpdCBzdGFzaCBbcHVzaCBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKyIgICAgICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gWy1tfC0tbWVzc2FnZSA8bWVzc2FnZT5dXG4iCisiICAgICAgICAgIFstLV0gWzxwYXRoc3BlYz4uLi5dXSIKK21zZ3N0ciAiZ2l0IHN0YXNoIFtwdXNoIFstcHwtLXBhdGNoXSBbLWt8LS1bbm8tXWtlZXAtaW5kZXhdIFstcXwtLXF1aWV0XVxuICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFstbXwtLW1lc3NhZ2UgPNGB0L7QvtCx0YnQtdC90LjQtT5dXG4gICAgICAgICAgWy0tXSBbPNGB0L/QtdGG0LjRhNC40LrQsNGC0L7RgC3Qv9GD0YLQuD7igKZdXSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjMxIGJ1aWx0aW4vc3Rhc2guYzo4NAorbXNnaWQgIiIKKyJnaXQgc3Rhc2ggc2F2ZSBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKyIgICAgICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gWzxtZXNzYWdlPl0iCittc2dzdHIgImdpdCBzdGFzaCBzYXZlIFstcHwtLXBhdGNoXSBbLWt8LS1bbm8tXWtlZXAtaW5kZXhdIFstcXwtLXF1aWV0XVxuICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFs80YHQvtC+0LHRidC10L3QuNC1Pl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1MgorbXNnaWQgImdpdCBzdGFzaCBwb3AgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCBwb3AgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPNGB0L/RgNGP0YLQsNC90L3Ri9C1LdC40LfQvNC10L3QtdC90LjRjz5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6NTcKK21zZ2lkICJnaXQgc3Rhc2ggYXBwbHkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCBhcHBseSBbLS1pbmRleF0gWy1xfC0tcXVpZXRdIFs80YHQv9GA0Y/RgtCw0L3QvdGL0LUt0LjQt9C80LXQvdC10L3QuNGPPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo3MgorbXNnaWQgImdpdCBzdGFzaCBzdG9yZSBbLW18LS1tZXNzYWdlIDxtZXNzYWdlPl0gWy1xfC0tcXVpZXRdIDxjb21taXQ+IgorbXNnc3RyICJnaXQgc3Rhc2ggc3RvcmUgWy1tfC0tbWVzc2FnZSA80YHQvtC+0LHRidC10L3QuNC1Pl0gWy1xfC0tcXVpZXRdIDzQutC+0LzQvNC40YI+IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCittc2dzdHIgIsKrJXPCuyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LrQvtC80LzQuNGC0L7QvCDRgdC+INGB0L/RgNGP0YLQsNC90L3Ri9C80Lgg0LjQt9C80LXQvdC10L3QuNGP0LzQuCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiVzIgorbXNnc3RyICLQn9C10YDQtdC00LDQvdC+INGB0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0YDQtdC00LDQutGG0LjQuTolcyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE2MSBnaXQtbGVnYWN5LXN0YXNoLnNoOjU0OAorbXNnaWQgIk5vIHN0YXNoIGVudHJpZXMgZm91bmQuIgorbXNnc3RyICLQndC1INC90LDQudC00LXQvdGLINGB0L/RgNGP0YLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjy4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgorbXNnc3RyICIlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LTQvtC/0YPRgdGC0LjQvNC+0Lkg0YHRgdGL0LvQutC+0Lkg0L3QsCDQutC+0LzQvNC40YIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyMjQgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo3NQorbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKK21zZ3N0ciAiZ2l0IHN0YXNoINC+0YfQuNGB0YLQutCwINGBINC/0LDRgNCw0LzQtdGC0YDQsNC80Lgg0L3QtSDRgNC10LDQu9C40LfQvtCy0LDQvdCwIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDAzCittc2dpZCAiY2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgorbXNnc3RyICLQvdC10LvRjNC30Y8g0L/RgNC40LzQtdC90LjRgtGMINGB0L/RgNGP0YLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQstC+INCy0YDQtdC80Y8g0LLRi9C/0L7Qu9C90LXQvdC40Y8g0YHQu9C40Y/QvdC40Y8iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGdlbmVyYXRlIGRpZmYgJXNeIS4iCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQs9C10L3QtdGA0LjRgNC+0LLQsNGC0Ywg0YHQv9C40YHQvtC6INC40LfQvNC10L3QtdC90LjQuSAlc14hLiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQyMQorbXNnaWQgImNvbmZsaWN0cyBpbiBpbmRleC5Ucnkgd2l0aG91dCAtLWluZGV4LiIKK21zZ3N0ciAi0LrQvtC90YTQu9C40LrRgtGLINCyINC40L3QtNC10LrRgdC1LiDQn9C+0L/RgNC+0LHRg9C50YLQtSDQsdC10LcgLS1pbmRleC4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MjcKK21zZ2lkICJjb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7RhdGA0LDQvdC40YLRjCDQtNC10YDQtdCy0L4g0LjQvdC00LXQutGB0LAiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MzQKK21zZ2lkICJjb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0LLQvtGB0YHRgtCw0L3QvtCy0LjRgtGMINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvQtSDRhNCw0LnQu9GLINC40Lcg0YHQv9GA0Y/RgtCw0L3QvdGL0YUg0YTQsNC50LvQvtCyIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIk1lcmdpbmcgJXMgd2l0aCAlcyIKK21zZ3N0ciAi0KHQu9C40Y/QvdC40LUgJXMg0LggJXMiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0NTggZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2ODAKK21zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCittc2dzdHIgItCY0L3QtNC10LrRgSDQvdC1INCx0YvQuyDQuNC30LLQu9C10YfRkdC9INC40Lcg0YHQv9GA0Y/RgtCw0L3QvdGL0YUg0LjQt9C80LXQvdC10L3QuNC5LiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjUxNiBidWlsdGluL3N0YXNoLmM6NjE1Cittc2dpZCAiYXR0ZW1wdCB0byByZWNyZWF0ZSB0aGUgaW5kZXgiCittc2dzdHIgItC/0L7Qv9GL0YLQutCwINC/0LXRgNC10YHQvtC30LTQsNC90LjRjyDQuNC90LTQtdC60YHQsCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU0OQorIywgYy1mb3JtYXQKK21zZ2lkICJEcm9wcGVkICVzICglcykiCittc2dzdHIgItCe0YLQsdGA0L7RiNC10L3QviAlcyAoJXMpIgorCisjOiBidWlsdGluL3N0YXNoLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKK21zZ3N0ciAiJXM6INCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtCx0YDQvtGB0LjRgtGMINC30LDQv9C40YHRjCDQuNC3INGB0L/RgNGP0YLQsNC90L3Ri9GFINC40LfQvNC10L3QtdC90LjQuSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU3NworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKK21zZ3N0ciAiwqslc8K7INC90LUg0Y/QstC70Y/QtdGC0YHRjyDRgdGB0YvQu9C60L7QuSDQvdCwINGB0L/RgNGP0YLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjYyNyBnaXQtbGVnYWN5LXN0YXNoLnNoOjY5NAorbXNnaWQgIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgorbXNnc3RyICLQodC/0YDRj9GC0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGF0YDQsNC90LXQvdGLLCDQvdCwINGB0LvRg9GH0LDQuSDQtdGB0LvQuCDQvtC90Lgg0YHQvdC+0LLQsCDQstCw0Lwg0L/QvtC90LDQtNC+0LHRj9GC0YHRjy4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo2NTAgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo3MTIKK21zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgItCd0LUg0YPQutCw0LfQsNC90L4g0LjQvNGPINCy0LXRgtC60LgiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo3ODkgYnVpbHRpbi9zdGFzaC5jOjgyNgorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgdXBkYXRlICVzIHdpdGggJXMiCittc2dzdHIgItCd0LUg0YPQtNC+0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCAlcyDRgSAlcyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjgwNyBidWlsdGluL3N0YXNoLmM6MTQ3NCBidWlsdGluL3N0YXNoLmM6MTUxMAorbXNnaWQgInN0YXNoIG1lc3NhZ2UiCittc2dzdHIgItC+0L/QuNGB0LDQvdC40LUg0YHQv9GA0Y/RgtCw0L3QvdGL0YUg0LjQt9C80LXQvdC10L3QuNC5IgorCisjOiBidWlsdGluL3N0YXNoLmM6ODE3Cittc2dpZCAiXCJnaXQgc3Rhc2ggc3RvcmVcIiByZXF1aXJlcyBvbmUgPGNvbW1pdD4gYXJndW1lbnQiCittc2dzdHIgIsKrZ2l0IHN0YXNoIHN0b3Jlwrsg0YLRgNC10LHRg9C10YIg0YPQutCw0LfQsNC90LjRjyDQvtC00L3QvtCz0L4g0LDRgNCz0YPQvNC10L3RgtCwIDzQutC+0LzQvNC40YI+IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTAzOSBnaXQtbGVnYWN5LXN0YXNoLnNoOjIxNworbXNnaWQgIk5vIGNoYW5nZXMgc2VsZWN0ZWQiCittc2dzdHIgItCY0LfQvNC10L3QtdC90LjRjyDQvdC1INCy0YvQsdGA0LDQvdGLIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTEzNSBnaXQtbGVnYWN5LXN0YXNoLnNoOjE1MAorbXNnaWQgIllvdSBkbyBub3QgaGF2ZSB0aGUgaW5pdGlhbCBjb21taXQgeWV0IgorbXNnc3RyICLQoyDQstCw0YEg0LXRidC1INC90LXRgiDQvdCw0YfQsNC70YzQvdC+0LPQviDQutC+0LzQvNC40YLQsCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExNjIgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoxNjUKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0YXRgNCw0L3QuNGC0Ywg0YLQtdC60YPRidC10LUg0YHQvtGB0YLQvtGP0L3QuNC1INC40L3QtNC10LrRgdCwIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTE3MSBnaXQtbGVnYWN5LXN0YXNoLnNoOjE4MAorbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSB1bnRyYWNrZWQgZmlsZXMiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INGB0L7RhdGA0LDQvdC40YLRjCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0LUg0YTQsNC50LvRiyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExODIgYnVpbHRpbi9zdGFzaC5jOjExOTEgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMDAKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjEzCittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtGF0YDQsNC90LjRgtGMINGC0LXQutGD0YnQtdC1INGB0L7RgdGC0L7Rj9C90LjQtSDRgNCw0LHQvtGH0LXQs9C+INC60LDRgtCw0LvQvtCz0LAiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMjE5IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjMzCittc2dpZCAiQ2Fubm90IHJlY29yZCB3b3JraW5nIHRyZWUgc3RhdGUiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0LjRgdCw0YLRjCDRgdC+0YHRgtC+0Y/QvdC40LUg0YDQsNCx0L7Rh9C10LPQviDQutCw0YLQsNC70L7Qs9CwIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTI2OCBnaXQtbGVnYWN5LXN0YXNoLnNoOjMzNworbXNnaWQgIkNhbid0IHVzZSAtLXBhdGNoIGFuZCAtLWluY2x1ZGUtdW50cmFja2VkIG9yIC0tYWxsIGF0IHRoZSBzYW1lIHRpbWUiCittc2dzdHIgItCd0LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgLS1wYXRjaCDQuCAtLWluY2x1ZGUtdW50cmFja2VkINC40LvQuCAtLWFsbCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMjg0Cittc2dpZCAiRGlkIHlvdSBmb3JnZXQgdG8gJ2dpdCBhZGQnPyIKK21zZ3N0ciAi0JLQvtC30LzQvtC20L3Qviwg0LLRiyDQt9Cw0LHRi9C70Lgg0LLRi9C/0L7Qu9C90LjRgtGMIMKrZ2l0IGFkZMK7PyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyOTkgZ2l0LWxlZ2FjeS1zdGFzaC5zaDozNDUKK21zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCittc2dzdHIgItCd0LXRgiDQu9C+0LrQsNC70YzQvdGL0YUg0LjQt9C80LXQvdC10L3QuNC5INC00LvRjyDRgdC+0YXRgNCw0L3QtdC90LjRjyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEzMDYgZ2l0LWxlZ2FjeS1zdGFzaC5zaDozNTAKK21zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0YLRjCDRgdC/0YDRj9GC0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzIxIGdpdC1sZWdhY3ktc3Rhc2guc2g6MzU0Cittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0L7RhdGA0LDQvdC40YLRjCDRgtC10LrRg9GJ0LjQuSDRgdGC0LDRgtGD0YEiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBpbmRleCBzdGF0ZSAlcyIKK21zZ3N0ciAi0KDQsNCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMg0Lgg0YHQvtGB0YLQvtGP0L3QuNC1INC40L3QtNC10LrRgdCwINGB0L7RhdGA0LDQvdC10L3RiyAlcyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0MzAgZ2l0LWxlZ2FjeS1zdGFzaC5zaDozODQKK21zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjUgYnVpbHRpbi9zdGFzaC5jOjE1MDEKK21zZ2lkICJrZWVwIGluZGV4IgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDY3IGJ1aWx0aW4vc3Rhc2guYzoxNTAzCittc2dpZCAic3Rhc2ggaW4gcGF0Y2ggbW9kZSIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ2OCBidWlsdGluL3N0YXNoLmM6MTUwNAorbXNnaWQgInF1aWV0IG1vZGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NzAgYnVpbHRpbi9zdGFzaC5jOjE1MDYKK21zZ2lkICJpbmNsdWRlIHVudHJhY2tlZCBmaWxlcyBpbiBzdGFzaCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ3MiBidWlsdGluL3N0YXNoLmM6MTUwOAorbXNnaWQgImluY2x1ZGUgaWdub3JlIGZpbGVzIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNTY4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBleGVjICVzIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE4CiBtc2dpZCAiZ2l0IHN0cmlwc3BhY2UgWy1zIHwgLS1zdHJpcC1jb21tZW50c10iCiBtc2dzdHIgImdpdCBzdHJpcHNwYWNlIFstcyB8IC0tc3RyaXAtY29tbWVudHNdIgpAQCAtMTUwMTgsMzY2ICsxODAyNiw0MDEgQEAKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogbXNnc3RyICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzozNgorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzcKIG1zZ2lkICJza2lwIGFuZCByZW1vdmUgYWxsIGxpbmVzIHN0YXJ0aW5nIHdpdGggY29tbWVudCBjaGFyYWN0ZXIiCiBtc2dzdHIgItC/0YDQvtC/0YPRgdGC0LjRgtGMINC4INGD0LTQsNC70LjRgtGMINCy0YHQtSDRgdGC0YDQvtC60LgsINC90LDRh9C40L3QsNGO0YnQuNC10YHRjyDRgSDRgdC40LzQstC+0LvQsCDQutC+0LzQvNC10YLQsNGA0LjRjyIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzkKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjQwCiBtc2dpZCAicHJlcGVuZCBjb21tZW50IGNoYXJhY3RlciBhbmQgc3BhY2UgdG8gZWFjaCBsaW5lIgogbXNnc3RyICLQtNC+0LHQsNCy0LjRgtGMINC/0LXRgNC10LQg0LrQsNC20LTQvtC5INGB0YLRgNC+0LrQvtC5INGB0LjQvNCy0L7QuyDQutC+0LzQvNC10YLQsNGA0LjRjyDQuCDQv9GA0L7QsdC10LsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozNyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTgzMwotIywgYy1mb3JtYXQKLW1zZ2lkICJObyBzdWNoIHJlZjogJXMiCi1tc2dzdHIgItCd0LXRgiDRgtCw0LrQvtC5INGB0YHRi9C70LrQuDogJXMiCi0KLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg0MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGluZyBhIGZ1bGwgcmVmIG5hbWUsIGdvdCAlcyIKIG1zZ3N0ciAi0J7QttC40LTQsNC70L7RgdGMINC/0L7Qu9C90L7QtSDQuNC80Y8g0YHRgdGL0LvQutC4LCDQsCDQv9C+0LvRg9GH0LXQvdC+ICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MgogbXNnaWQgInN1Ym1vZHVsZS0taGVscGVyIHByaW50LWRlZmF1bHQtcmVtb3RlIHRha2VzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0cmlwIG9uZSBjb21wb25lbnQgb2ZmIHVybCAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0LHRgNC10LfQsNGC0Ywg0L7QtNC40L0g0LrQvtC80L/QvtC90LXQvdGCIHVybCDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNTYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjcKIG1zZ2lkICJhbHRlcm5hdGl2ZSBhbmNob3IgZm9yIHJlbGF0aXZlIHBhdGhzIgogbXNnc3RyICLQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3Ri9C5INGB0LjQvNCy0L7QuyDQtNC70Y8g0L7RgtC90L7RgdC40YLQtdC70YzQvdGL0YUg0L/Rg9GC0LXQuSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMwogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PNC/0YPRgtGMPl0gWzzQv9GD0YLRjD7igKZdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDY5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MDYKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NzAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYyNworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJObyB1cmwgZm91bmQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcycgaW4gLmdpdG1vZHVsZXMiCiBtc2dzdHIgIlVSTCDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPINC/0L4g0L/Rg9GC0Lggwqslc8K7INC90LUg0L3QsNC50LTQtdC9INCyIC5naXRtb2R1bGVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTIxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVudGVyaW5nICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fY29tbWFuZCByZXR1cm5lZCBub24temVybyBzdGF0dXMgZm9yICVzXG4iCiAiLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTQ1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJydW5fY29tbWFuZCByZXR1cm5lZCBub24temVybyBzdGF0dXMgd2hpbGVyZWN1cnNpbmcgaW4gdGhlIG5lc3RlZCBzdWJtb2R1bGVzIG9mICVzXG4iCisicnVuX2NvbW1hbmQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIHdoaWxlIHJlY3Vyc2luZyBpbiB0aGUgbmVzdGVkIHN1Ym1vZHVsZXMgb2YgJXNcbiIKICIuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjIKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgb2YgZW50ZXJpbmcgZWFjaCBzdWJtb2R1bGUgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTYzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDQwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTY0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDQ5CiBtc2dpZCAiUmVjdXJzZSBpbnRvIG5lc3RlZCBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjgKLW1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZm9yZWFjaCBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSA8Y29tbWFuZD4iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBmb3JlYWNoIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIDzQutC+0LzQsNC90LTQsD4iCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTY5Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGZvcmVhY2ggWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWy0tXSA8Y29tbWFuZD4iCittc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iY291bGQgbm90IGxvb2t1cCBjb25maWd1cmF0aW9uICclcycuIEFzc3VtaW5nIHRoaXMgcmVwb3NpdG9yeSBpcyBpdHMgb3duICIKKyJjb3VsZCBub3QgbG9vayB1cCBjb25maWd1cmF0aW9uICclcycuIEFzc3VtaW5nIHRoaXMgcmVwb3NpdG9yeSBpcyBpdHMgb3duICIKICJhdXRob3JpdGF0aXZlIHVwc3RyZWFtLiIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/RgNC+0YHQuNGC0Ywg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNGOIMKrJXPCuy4g0J/RgNC10LTQv9C+0LvQsNCz0LDRjiwg0YfRgtC+INGN0YLQvtGCINGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0LjQvNC10LXRgiDRgdCy0L7QuSDRgdC+0LHRgdGC0LLQtdC90L3Ri9C5INCy0YvRiNC10YHRgtC+0Y/RidC40Lkg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuS4iCittc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY1NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICLQodCx0L7QuSDRgNC10LPQuNGB0YLRgNCw0YbQuNC4INCw0LTRgNC10YHQsCDQtNC70Y8g0L/Rg9GC0Lgg0L/QvtC00LzQvtC00YPQu9GPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY1OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyVzJyAoJXMpIHJlZ2lzdGVyZWQgZm9yIHBhdGggJyVzJ1xuIgogbXNnc3RyICLQn9C+0LTQvNC+0LTRg9C70Ywgwqslc8K7ICglcykg0LfQsNGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNC9INC/0L4g0L/Rg9GC0Lggwqslc8K7XG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogY29tbWFuZCB1cGRhdGUgbW9kZSBzdWdnZXN0ZWQgZm9yIHN1Ym1vZHVsZSAnJXMnXG4iCiBtc2dzdHIgItCy0L3QuNC80LDQvdC40LU6INC/0YDQtdC00L/QvtC70LDQs9Cw0LXQvNGL0Lkg0YDQtdC20LjQvCDQvtCx0L3QvtCy0LvQtdC90LjRjyDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPIMKrJXPCu1xuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njc2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cGRhdGUgbW9kZSBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAi0KHQsdC+0Lkg0YDQtdCz0LjRgdGC0YDQsNGG0LjQuCDRgNC10LbQuNC80LAg0L7QsdC90L7QstC70LXQvdC40Y8g0LTQu9GPINC/0YPRgtC4INC/0L7QtNC80L7QtNGD0LvRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2OTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MDcKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgZm9yIGluaXRpYWxpemluZyBhIHN1Ym1vZHVsZSIKIG1zZ3N0ciAi0J3QtSDQstGL0LLQvtC00LjRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4INC/0L7QtNC80L7QtNGD0LvRjyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcwMwotbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8cGF0aD5dIgotbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPNC/0YPRgtGMPl0iCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzEyCittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzxvcHRpb25zPl0gWzxwYXRoPl0iCittc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc3NSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTAxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzg0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VibW9kdWxlIG1hcHBpbmcgZm91bmQgaW4gLmdpdG1vZHVsZXMgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAi0L3QtSDQvdCw0LnQtNC10L3QviDRgdC+0L7RgtCy0LXRgtGB0YLQstC40LUg0L/QvtC00LzQvtC00YPQu9C10Lkg0LIgLmdpdG1vZHVsZXMg0LTQu9GPINC/0YPRgtC4IMKrJXPCuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjgxNAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjgyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSBIRUFEIHJlZiBpbnNpZGUgdGhlIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0LggSEVBRCDRgdGB0YvQu9C60YMg0LLQvdGD0YLRgNC4INC/0L7QtNC80L7QtNGD0LvRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NDEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMTAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NTAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC50YLQuCDQstCz0LvRg9Cx0Ywg0L/QvtC00LzQvtC00YPQu9GPIMKrJXPCuyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg2NSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE3NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE4NQogbXNnaWQgIlN1cHByZXNzIHN1Ym1vZHVsZSBzdGF0dXMgb3V0cHV0IgogbXNnc3RyICLQndC1INCy0YvQstC+0LTQuNGC0Ywg0YHRgtCw0YLRg9GBINC/0L7QtNC80L7QtNGD0LvRjyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3NQogbXNnaWQgIiIKICJVc2UgY29tbWl0IHN0b3JlZCBpbiB0aGUgaW5kZXggaW5zdGVhZCBvZiB0aGUgb25lIHN0b3JlZCBpbiB0aGUgc3VibW9kdWxlICIKICJIRUFEIgogbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LrQvtC80LzQuNGCINGF0YDQsNC90Y/RidC40LnRgdGPINCyINC40L3QtNC10LrRgdC1INCy0LzQtdGB0YLQviDQutC+0LzQvNC40YLQsCDRhdGA0LDQvdGP0YnQtdCz0L7RgdGPINCyIEhFQUQg0L/QvtC00LzQvtC00YPQu9GPIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODY3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc2CiBtc2dpZCAicmVjdXJzZSBpbnRvIG5lc3RlZCBzdWJtb2R1bGVzIgogbXNnc3RyICLQv9GA0L7RhdC+0LTQuNGC0Ywg0LLQs9C70YPQsdGMINCy0LvQvtC20LXQvdC90YvRhSDQv9C+0LTQvNC+0LTRg9C70LXQuSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg4MQogbXNnaWQgImdpdCBzdWJtb2R1bGUgc3RhdHVzIFstLXF1aWV0XSBbLS1jYWNoZWRdIFstLXJlY3Vyc2l2ZV0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUgc3RhdHVzIFstLXF1aWV0XSBbLS1jYWNoZWRdIFstLXJlY3Vyc2l2ZV0gWzzQv9GD0YLRjD7igKZdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODk2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA1CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPHBhdGg+IgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA80L/Rg9GC0Yw+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTYwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCBmb3IgJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlIGRlZmF1bHQgcmVtb3RlIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdXBkYXRlIHJlbW90ZSBmb3Igc3VibW9kdWxlICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDQ3CiBtc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IG9mIHN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA0NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTQKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgc3luYyBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSBbPHBhdGg+XSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHN5bmMgWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWzzQv9GD0YLRjD5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA5OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyVzJyBjb250YWlucyBhIC5naXQgZGlyZWN0b3J5ICh1c2UgJ3JtIC1yZicgaWYgeW91ICIKICJyZWFsbHkgd2FudCB0byByZW1vdmUgaXQgaW5jbHVkaW5nIGFsbCBvZiBpdHMgaGlzdG9yeSkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMTEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICclcycgY29udGFpbnMgbG9jYWwgbW9kaWZpY2F0aW9uczsgdXNlICctZicgdG8gZGlzY2FyZCAiCiAidGhlbSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTExOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xlYXJlZCBkaXJlY3RvcnkgJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTIxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIHN1Ym1vZHVsZSB3b3JrIHRyZWUgJyVzJ1xuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTMyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGVtcHR5IHN1Ym1vZHVsZSBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNDgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJXMnICglcykgdW5yZWdpc3RlcmVkIGZvciBwYXRoICclcydcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE3NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODYKIG1zZ2lkICJSZW1vdmUgc3VibW9kdWxlIHdvcmtpbmcgdHJlZXMgZXZlbiBpZiB0aGV5IGNvbnRhaW4gbG9jYWwgY2hhbmdlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE3OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODcKIG1zZ2lkICJVbnJlZ2lzdGVyIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTgzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE5MgogbXNnaWQgIiIKICJnaXQgc3VibW9kdWxlIGRlaW5pdCBbLS1xdWlldF0gWy1mIHwgLS1mb3JjZV0gWy0tYWxsIHwgWy0tXSBbPHBhdGg+Li4uXV0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUgZGVpbml0IFstLXF1aWV0XSBbLWYgfCAtLWZvcmNlXSBbLS1hbGwgfCBbLS1dIFs80L/Rg9GC0Yw+4oCmXV0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTk3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTIwNgogbXNnaWQgIlVzZSAnLS1hbGwnIGlmIHlvdSByZWFsbHkgd2FudCB0byBkZWluaXRpYWxpemUgYWxsIHN1Ym1vZHVsZXMiCiBtc2dzdHIgItCY0YHQv9C+0LvRjNC30YPQudGC0LUgwqstLWFsbMK7LCDQtdGB0LvQuCDQstGLINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGF0L7RgtC40YLQtSDQtNC10LjQvdC40YbQuNCw0LvQuNC30LjRgNC+0LLQsNGC0Ywg0LLRgdC1INC/0L7QtNC80L7QtNGD0LvQuCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyOTAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyOTMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzAxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGNhbm5vdCBhZGQgYWx0ZXJuYXRlOiAlcyIKIG1zZ3N0ciAi0L/QvtC00LzQvtC00YPQu9GOIMKrJXPCuyDQvdC1INGD0LTQsNC70L7RgdGMINC00L7QsdCw0LLQuNGC0Ywg0LDQu9GM0YLQtdGA0L3QsNGC0LjQstGDOiAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzMjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IGlzIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICLQl9C90LDRh9C10L3QuNC1IMKrJXPCuyDQtNC70Y8g0L/QsNGA0LDQvNC10YLRgNCwIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5INC90LUg0YDQsNC/0L7Qt9C90LDQvdC+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTMzNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIGlzIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICLQl9C90LDRh9C10L3QuNC1IMKrJXPCuyDQtNC70Y8g0L/QsNGA0LDQvNC10YLRgNCwIHN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbiDQvdC1INGA0LDQv9C+0LfQvdCw0L3QviIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNTkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzcwCiBtc2dpZCAid2hlcmUgdGhlIG5ldyBzdWJtb2R1bGUgd2lsbCBiZSBjbG9uZWQgdG8iCiBtc2dzdHIgItC60YPQtNCwINC00L7Qu9C20LXQvSDQsdGL0YLRjCDRgdC60LvQvtC90LjRgNC+0LLQsNC9INC90L7QstGL0Lkg0L/QvtC00LzQvtC00YPQu9GMIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzMKIG1zZ2lkICJuYW1lIG9mIHRoZSBuZXcgc3VibW9kdWxlIgogbXNnc3RyICLQuNC80Y8g0L3QvtCy0L7Qs9C+INC/0L7QtNC80L7QtNGD0LvRjyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc2CiBtc2dpZCAidXJsIHdoZXJlIHRvIGNsb25lIHRoZSBzdWJtb2R1bGUgZnJvbSIKIG1zZ3N0ciAidXJsINC+0YLQutGD0LTQsCDQtNC+0LvQttC10L0g0LHRi9C7INGB0LrQu9C+0L3QuNGA0L7QstCw0L0g0L3QvtCy0YvQuSDQv9C+0LTQvNC+0LTRg9C70YwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzczCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4NAogbXNnaWQgImRlcHRoIGZvciBzaGFsbG93IGNsb25lcyIKIG1zZ3N0ciAi0LPQu9GD0LHQuNC90LAg0LTQu9GPINGH0LDRgdGC0LjRh9C90L7Qs9C+INC60LvQvtC90LAiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNzUxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg3MQogbXNnaWQgImZvcmNlIGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgItC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+INCy0YvQstC+0LTQuNGC0Ywg0L/RgNC+0LPRgNC10YHRgSDQutC70L7QvdC40YDQvtCy0LDQvdC40Y8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzgxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5MgogbXNnaWQgIiIKICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSAiCiAiPHJlcG9zaXRvcnk+XSBbLS1uYW1lIDxuYW1lPl0gWy0tZGVwdGggPGRlcHRoPl0gLS11cmwgPHVybD4gLS1wYXRoIDxwYXRoPiIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD080L/Rg9GC0Yw+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlIDzRgNC10L/QvtC30LjRgtC+0YDQuNC5Pl0gWy0tbmFtZSA80LjQvNGPPl0gWy0tZGVwdGggPNCz0LvRg9Cx0LjQvdCwPl0gLS11cmwgPHVybD4gLS1wYXRoIDzQv9GD0YLRjD4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDEyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJjbG9uZSBvZiAnJXMnIGludG8gc3VibW9kdWxlIHBhdGggJyVzJyBmYWlsZWQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LrQu9C+0L3QuNGA0L7QstCw0YLRjCDCqyVzwrsg0LIg0L/QvtC00LzQvtC00YPQu9GMINC/0L4g0L/Rg9GC0Lggwqslc8K7IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQyNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBzdWJtb2R1bGUgZGlyZWN0b3J5IGZvciAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0LrQsNGC0LDQu9C+0LMg0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDkyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVwZGF0ZSBtb2RlICclcycgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1cGRhdGUgbW9kZSAnJXMnIGNvbmZpZ3VyZWQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE1NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyVzJyBub3QgaW5pdGlhbGl6ZWQiCiBtc2dzdHIgItCf0L7QtNC80L7QtNGD0LvRjCDQv9C+INC/0YPRgtC4IMKrJXPCuyDQvdC1INC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDQvSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0OTYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTc0CiBtc2dpZCAiTWF5YmUgeW91IHdhbnQgdG8gdXNlICd1cGRhdGUgLS1pbml0Jz8iCiBtc2dzdHIgItCS0L7Qt9C80L7QttC90L4sINCy0Ysg0YXQvtGC0LXQu9C4INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDCq3VwZGF0ZSAtLWluaXTCuz8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTI1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTYwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyB1bm1lcmdlZCBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgItCf0YDQvtC/0YPRgdC6INC90LUg0YHQu9C40YLQvtCz0L4g0L/QvtC00LzQvtC00YPQu9GPICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTU1NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgc3VibW9kdWxlICclcyciCiBtc2dzdHIgItCf0YDQvtC/0YPRgdC6INC/0L7QtNC80L7QtNGD0LvRjyDCqyVzwrsiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjg5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTc3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJy4gUmV0cnkgc2NoZWR1bGVkIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC60LvQvtC90LjRgNC+0LLQsNGC0Ywgwqslc8K7LiDQl9Cw0L/Qu9Cw0L3QuNGA0L7QstCw0L3QsCDQv9C+0LLRgtC+0YDQvdCw0Y8g0L/QvtC/0YvRgtC60LAiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNzAwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTc4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJyBhIHNlY29uZCB0aW1lLCBhYm9ydGluZyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQutC70L7QvdC40YDQvtCy0LDRgtGMIMKrJXPCuyDRgdC+INCy0YLQvtGA0L7QuSDQv9C+0L/Ri9GC0LrQuCwg0L7RgtC80LXQvdCwIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTczMCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk1MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwOTIKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi0L/Rg9GC0Ywg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE3MzMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODUzCiBtc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUsIGFjcm9zcyBuZXN0ZWQgc3VibW9kdWxlIGJvdW5kYXJpZXMiCiBtc2dzdHIgItC/0YPRgtGMINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUsINCyINC/0YDQtdC00LXQu9Cw0YUg0LPRgNCw0L3QuNGGINC/0L7QtNC80L7QtNGD0LvRjyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE3MzcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODU3CiBtc2dpZCAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Igbm9uZSIKIG1zZ3N0ciAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQg0LjQu9C4IG5vbmUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNzQzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2MwogbXNnaWQgIkNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgdHJ1bmNhdGVkIHRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHJldmlzaW9ucyIKIG1zZ3N0ciAi0KHQvtC30LTQsNGC0Ywg0YfQsNGB0YLQuNGH0L3Ri9C5INC60LvQvtC9LCDQvtCz0YDQsNC90LjRh9C10L3QvdGL0Lkg0YPQutCw0LfQsNC90L3Ri9C8INC60L7Qu9C40YfQtdGB0YLQstC+0Lwg0YDQtdC00LDQutGG0LjQuSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE3NDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODY2CiBtc2dpZCAicGFyYWxsZWwgam9icyIKIG1zZ3N0ciAi0L/QsNGA0LDQu9C70LXQu9GM0L3Ri9C1INC30LDQtNCw0YfQuCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE3NDgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODY4CiBtc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgogbXNnc3RyICLQtNC+0LvQttC10L0g0LvQuCDQuNC30L3QsNGH0LDQu9GM0L3Ri9C5INC/0YDQvtGG0LXRgdGBINC60LvQvtC90LjRgNC+0LLQsNC90LjRjyDRgdC70LXQtNC+0LLQsNGC0Ywg0YDQtdC60L7QvNC10L3QtNCw0YbQuNC4INC+INGH0LDRgdGC0LjRh9C90L7RgdGC0LgiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNzQ5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2OQogbXNnaWQgImRvbid0IHByaW50IGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgItCy0Ysg0LLRi9Cy0L7QtNC40YLRjCDQv9GA0L7Qs9GA0LXRgdGBINC60LvQvtC90LjRgNC+0LLQsNC90LjRjyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE3NTYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc2CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZV9jbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZV9jbG9uZSBbLS1wcmVmaXg9PNC/0YPRgtGMPl0gWzzQv9GD0YLRjD7igKZdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTc2OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODkKIG1zZ2lkICJiYWQgdmFsdWUgZm9yIHVwZGF0ZSBwYXJhbWV0ZXIiCiBtc2dzdHIgItC/0LvQvtGF0L7QtSDQt9C90LDRh9C10L3QuNC1INC00LvRjyDQv9Cw0YDQsNC80LXRgtGA0LAgdXBkYXRlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTgzNworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSAoJXMpIGJyYW5jaCBjb25maWd1cmVkIHRvIGluaGVyaXQgYnJhbmNoIGZyb20gc3VwZXJwcm9qZWN0LCBidXQgIgogInRoZSBzdXBlcnByb2plY3QgaXMgbm90IG9uIGFueSBicmFuY2giCiBtc2dzdHIgItCS0LXRgtC60LAg0L/QvtC00LzQvtC00YPQu9GPICglcykg0L3QsNGB0YLRgNC+0LXQvdCwINC90LAg0L3QsNGB0LvQtdC00L7QstCw0L3QuNC1INCy0LXRgtC60Lgg0LjQtyDRgNC+0LTQuNGC0LXQu9GM0YHQutC+0LPQviDQv9GA0L7QtdC60YLQsCwg0L3QviDQvtC9INC90LUg0L3QsNGF0L7QtNC40YLRgdGPINC90Lgg0L3QsCDQvtC00L3QvtC5INCy0LXRgtC60LUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTU0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjA2MAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZ2V0IGEgcmVwb3NpdG9yeSBoYW5kbGUgZm9yIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDkzCiBtc2dpZCAicmVjdXJzZSBpbnRvIHN1Ym1vZHVsZXMiCiBtc2dzdHIgItGA0LXQutGD0YDRgdC40LLQvdC+INC/0L4g0L/QvtC00LzQvtC00YPQu9GP0LwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTYwCi1tc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGVtYmVkLWdpdC1kaXIgWzxwYXRoPi4uLl0iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBlbWJlZC1naXQtZGlyIFs80L/Rg9GC0Yw+4oCmXSIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDk5Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGFic29yYi1naXQtZGlycyBbPG9wdGlvbnM+XSBbPHBhdGg+Li4uXSIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGFic29yYi1naXQtZGlycyBbPNC+0L/RhtC40Lg+XSBbPNC/0YPRgtGMPuKApl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDcxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE1NgorbXNnaWQgImNoZWNrIGlmIGl0IGlzIHNhZmUgdG8gd3JpdGUgdG8gdGhlIC5naXRtb2R1bGVzIGZpbGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNTkKK21zZ2lkICJ1bnNldCB0aGUgY29uZmlnIGluIHRoZSAuZ2l0bW9kdWxlcyBmaWxlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTY0Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyA8bmFtZT4gWzx2YWx1ZT5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIDzQuNC80Y8+IFs80LfQvdCw0YfQtdC90LjQtT5dIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE2NQorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgLS11bnNldCA8bmFtZT4iCittc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgLS11bnNldCA80LjQvNGPPiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNjYKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tY2hlY2std3JpdGVhYmxlIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tY2hlY2std3JpdGVhYmxlIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE4NSBnaXQtc3VibW9kdWxlLnNoOjE3MQorIywgc2gtZm9ybWF0Cittc2dpZCAicGxlYXNlIG1ha2Ugc3VyZSB0aGF0IHRoZSAuZ2l0bW9kdWxlcyBmaWxlIGlzIGluIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyMzUgZ2l0LmM6NDMzIGdpdC5jOjY4NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkb2Vzbid0IHN1cHBvcnQgLS1zdXBlci1wcmVmaXgiCiBtc2dzdHIgIiVzINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCINC/0LDRgNCw0LzQtdGC0YAgLS1zdXBlci1wcmVmaXgiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDc3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjI0MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQiCiBtc2dzdHIgIsKrJXPCuyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0L/QvtC00LrQvtC80LDQvdC00L7QuSBzdWJtb2R1bGUtLWhlbHBlciIKQEAgLTE1NDEyLDM1ICsxODQ1NSwzNSBAQAogCiAjOiBidWlsdGluL3RhZy5jOjI1CiBtc2dpZCAiIgotImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT5dIDx0YWduYW1lPiAiCi0iWzxoZWFkPl0iCi1tc2dzdHIgImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA80LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAt0LrQu9GO0YfQsD5dIFstZl0gWy1tIDzRgdC+0L7QsdGJ0LXQvdC40LU+IHwgLUYgPNGE0LDQudC7Pl0gPNC40LzRjy3QvNC10YLQutC4PiBbPNGA0LXQtNCw0LrRhtC40Y8+XSIKKyJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGtleS1pZD5dIFstZl0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+XVxuIgorIlx0XHQ8dGFnbmFtZT4gWzxoZWFkPl0iCittc2dzdHIgImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPNGB0L7QvtCx0YnQtdC90LjQtT4gfCAtRiA80YTQsNC50Ls+XVxuXHRcdDzQuNC80Y8t0LzQtdGC0LrQsD4gWzzRgNC10LTQsNC60YbQuNGPPl0iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjYKKyM6IGJ1aWx0aW4vdGFnLmM6MjcKIG1zZ2lkICJnaXQgdGFnIC1kIDx0YWduYW1lPi4uLiIKIG1zZ3N0ciAiZ2l0IHRhZyAtZCA80LjQvNGPLdC80LXRgtC60Lg+4oCmIgogCi0jOiBidWlsdGluL3RhZy5jOjI3CisjOiBidWlsdGluL3RhZy5jOjI4CiBtc2dpZCAiIgogImdpdCB0YWcgLWwgWy1uWzxudW0+XV0gWy0tY29udGFpbnMgPGNvbW1pdD5dIFstLW5vLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1wb2ludHMtYXQgPG9iamVjdD5dXG4iCiAiXHRcdFstLWZvcm1hdD08Zm9ybWF0Pl0gWy0tW25vLV1tZXJnZWQgWzxjb21taXQ+XV0gWzxwYXR0ZXJuPi4uLl0iCiBtc2dzdHIgImdpdCB0YWcgLWwgWy1uWzzQutC+0LvQuNGH0LXRgdGC0LLQvj5dXSBbLS1jb250YWlucyA80LrQvtC80LzQuNGCPl0gWy0tbm8tY29udGFpbnMgPNC60L7QvNC80LjRgj5dIFstLXBvaW50cy1hdCA80L7QsdGK0LXQutGCPl1cblx0XHRbLS1mb3JtYXQ9PNGE0L7RgNC80LDRgj5dIFstLVtuby1dbWVyZ2VkIFs80LrQvtC80LzQuNGCPl1dIFs80YjQsNCx0LvQvtC9PuKApl0iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjkKKyM6IGJ1aWx0aW4vdGFnLmM6MzAKIG1zZ2lkICJnaXQgdGFnIC12IFstLWZvcm1hdD08Zm9ybWF0Pl0gPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC12IFstLWZvcm1hdD080YTQvtGA0LzQsNGCPl0gPNC40LzRjy3QvNC10YLQutC4PuKApiIKIAotIzogYnVpbHRpbi90YWcuYzo4NworIzogYnVpbHRpbi90YWcuYzo4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICLQvNC10YLQutCwICDCqyVzwrsg0L3QtSDQvdCw0LnQtNC10L3QsC4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTAzCisjOiBidWlsdGluL3RhZy5jOjEwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgItCc0LXRgtC60LAgwqslc8K7INGD0LTQsNC70LXQvdCwICjQsdGL0LvQsCAlcylcbiIKIAotIzogYnVpbHRpbi90YWcuYzoxMzMKKyM6IGJ1aWx0aW4vdGFnLmM6MTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTE1NDQ5LDcgKzE4NDkyLDcgQEAKICJMaW5lcyBzdGFydGluZyB3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLlxuIgogbXNnc3RyICJcbtCS0LLQtdC00LjRgtC1INGB0L7QvtCx0YnQtdC90LjQtSDQtNC70Y8g0LzQtdGC0LrQuDpcbiAgJXNcbtCh0YLRgNC+0LrQuCwg0L3QsNGH0LjQvdCw0Y7RidC40LXRgdGPINGBIMKrJWPCuyDQsdGD0LTRg9GCINC/0YDQvtC40LPQvdC+0YDQuNGA0L7QstCw0L3Riy5cbiIKIAotIzogYnVpbHRpbi90YWcuYzoxMzcKKyM6IGJ1aWx0aW4vdGFnLmM6MTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTE1NDU4LDE0NiArMTg1MDEsMTU1IEBACiAiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUga2VwdDsgeW91IG1heSByZW1vdmUgdGhlbSB5b3Vyc2VsZiBpZiB5b3Ugd2FudCB0by5cbiIKIG1zZ3N0ciAiXG7QktCy0LXQtNC40YLQtSDRgdC+0L7QsdGJ0LXQvdC40LUg0LTQu9GPINC80LXRgtC60Lg6XG4gICVzXG7QodGC0YDQvtC60LgsINC90LDRh9C40L3QsNGO0YnQuNC10YHRjyDRgSDCqyVjwrsg0LHRg9C00YPRgiDQvtGB0YLQsNCy0LvQtdC90Ys7INCy0Ysg0LzQvtC20LXRgtC1INGD0LTQsNC70LjRgtGMINC40YUg0LLRgNGD0YfQvdGD0Y4sINC10YHQu9C4INGF0L7RgtC40YLQtS5cbiIKIAotIzogYnVpbHRpbi90YWcuYzoxOTEKKyM6IGJ1aWx0aW4vdGFnLmM6MTkyCiBtc2dpZCAidW5hYmxlIHRvIHNpZ24gdGhlIHRhZyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LTQv9C40YHQsNGC0Ywg0LzQtdGC0LrRgyIKIAotIzogYnVpbHRpbi90YWcuYzoxOTMKKyM6IGJ1aWx0aW4vdGFnLmM6MTk0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRhZyBmaWxlIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0YTQsNC50Lsg0LzQtdGC0LrQuCIKIAotIzogYnVpbHRpbi90YWcuYzoyMTgKKyM6IGJ1aWx0aW4vdGFnLmM6MjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBjcmVhdGVkIGEgbmVzdGVkIHRhZy4gVGhlIG9iamVjdCByZWZlcnJlZCB0byBieSB5b3VyIG5ldyB0YWcgaXNcbiIKKyJhbHJlYWR5IGEgdGFnLiBJZiB5b3UgbWVhbnQgdG8gdGFnIHRoZSBvYmplY3QgdGhhdCBpdCBwb2ludHMgdG8sIHVzZTpcbiIKKyJcbiIKKyJcdGdpdCB0YWcgLWYgJXMgJXNee30iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi90YWcuYzoyMjYKIG1zZ2lkICJiYWQgb2JqZWN0IHR5cGUuIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdGL0Lkg0YLQuNC/INC+0LHRitC10LrRgtCwIgogCi0jOiBidWlsdGluL3RhZy5jOjI2NworIzogYnVpbHRpbi90YWcuYzoyNzgKIG1zZ2lkICJubyB0YWcgbWVzc2FnZT8iCiBtc2dzdHIgItC90LXRgiDQvtC/0LjRgdCw0L3QuNGPINC80LXRgtC60Lg/IgogCi0jOiBidWlsdGluL3RhZy5jOjI3NAorIzogYnVpbHRpbi90YWcuYzoyODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIHRhZyBtZXNzYWdlIGhhcyBiZWVuIGxlZnQgaW4gJXNcbiIKIG1zZ3N0ciAi0KHQvtC+0LHRidC10L3QuNC1INC80LXRgtC60Lgg0LHRi9C70L4g0L7RgdGC0LDQstC70LXQvdC+INCyICVzXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzgzCisjOiBidWlsdGluL3RhZy5jOjM5NgogbXNnaWQgImxpc3QgdGFnIG5hbWVzIgogbXNnc3RyICLRgdC/0LjRgdC+0Log0L3QsNC30LLQsNC90LjQuSDQvNC10YLQvtC6IgogCi0jOiBidWlsdGluL3RhZy5jOjM4NQorIzogYnVpbHRpbi90YWcuYzozOTgKIG1zZ2lkICJwcmludCA8bj4gbGluZXMgb2YgZWFjaCB0YWcgbWVzc2FnZSIKIG1zZ3N0ciAi0L/QtdGH0LDRgtCw0YLRjCA8bj4g0YHRgtGA0L7QuiDQvtC/0LjRgdCw0L3QuNGPINC+0YIg0LrQsNC20LTQvtC5INC80LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg3CisjOiBidWlsdGluL3RhZy5jOjQwMAogbXNnaWQgImRlbGV0ZSB0YWdzIgogbXNnc3RyICLRg9C00LDQu9C40YLRjCDQvNC10YLQutC4IgogCi0jOiBidWlsdGluL3RhZy5jOjM4OAorIzogYnVpbHRpbi90YWcuYzo0MDEKIG1zZ2lkICJ2ZXJpZnkgdGFncyIKIG1zZ3N0ciAi0L/RgNC+0LLQtdGA0LjRgtGMINC80LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzkwCisjOiBidWlsdGluL3RhZy5jOjQwMwogbXNnaWQgIlRhZyBjcmVhdGlvbiBvcHRpb25zIgogbXNnc3RyICLQndCw0YHRgtGA0L7QudC60Lgg0YHQvtC30LTQsNC90LjRjyDQvNC10YLQutC4IgogCi0jOiBidWlsdGluL3RhZy5jOjM5MgorIzogYnVpbHRpbi90YWcuYzo0MDUKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnLCBuZWVkcyBhIG1lc3NhZ2UiCiBtc2dzdHIgItC00LvRjyDQsNC90L3QvtGC0LjRgNC+0LLQsNC90L3QvtC5INC80LXRgtC60Lgg0L3Rg9C20L3QviDRgdC+0L7QsdGJ0LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzk0CisjOiBidWlsdGluL3RhZy5jOjQwNwogbXNnaWQgInRhZyBtZXNzYWdlIgogbXNnc3RyICLQvtC/0LjRgdCw0L3QuNC1INC80LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzk2CisjOiBidWlsdGluL3RhZy5jOjQwOQogbXNnaWQgImZvcmNlIGVkaXQgb2YgdGFnIG1lc3NhZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi90YWcuYzozOTcKKyM6IGJ1aWx0aW4vdGFnLmM6NDEwCiBtc2dpZCAiYW5ub3RhdGVkIGFuZCBHUEctc2lnbmVkIHRhZyIKIG1zZ3N0ciAi0LDQvdC90L7RgtC40YDQvtCy0LDQvdC90LDRjyDQuCDQv9C+0LTQv9C40YHQsNC90L3QsNGPINGBINC/0L7QvNC+0YnRjNGOIEdQRyDQvNC10YLQutCwIgogCi0jOiBidWlsdGluL3RhZy5jOjQwMQorIzogYnVpbHRpbi90YWcuYzo0MTMKIG1zZ2lkICJ1c2UgYW5vdGhlciBrZXkgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LTRgNGD0LPQvtC5INC60LvRjtGHINC00LvRjyDQv9C+0LTQv9C40YHQsNC90LjRjyDQvNC10YLQutC4IgogCi0jOiBidWlsdGluL3RhZy5jOjQwMgorIzogYnVpbHRpbi90YWcuYzo0MTQKIG1zZ2lkICJyZXBsYWNlIHRoZSB0YWcgaWYgZXhpc3RzIgogbXNnc3RyICLQt9Cw0LzQtdC90LAg0LzQtdGC0LrQuCwg0LXRgdC70Lgg0L7QvdCwINGB0YPRidC10YHRgtCy0YPQtdGCIgogCi0jOiBidWlsdGluL3RhZy5jOjQwMyBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjkKKyM6IGJ1aWx0aW4vdGFnLmM6NDE1IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OQogbXNnaWQgImNyZWF0ZSBhIHJlZmxvZyIKIG1zZ3N0ciAi0YHQvtC30LTQsNGC0Ywg0LbRg9GA0L3QsNC7INGB0YHRi9C70L7QuiIKIAotIzogYnVpbHRpbi90YWcuYzo0MDUKKyM6IGJ1aWx0aW4vdGFnLmM6NDE3CiBtc2dpZCAiVGFnIGxpc3Rpbmcgb3B0aW9ucyIKIG1zZ3N0ciAi0J3QsNGB0YLRgNC+0LnQutC4INCy0YvQstC+0LTQsCDRgdC/0LjRgdC60LAg0LzQtdGC0L7QuiIKIAotIzogYnVpbHRpbi90YWcuYzo0MDYKKyM6IGJ1aWx0aW4vdGFnLmM6NDE4CiBtc2dpZCAic2hvdyB0YWcgbGlzdCBpbiBjb2x1bW5zIgogbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINGB0L/QuNGB0L7QuiDQvNC10YLQvtC6INC/0L4g0YHRgtC+0LvQsdGG0LDQvCIKIAotIzogYnVpbHRpbi90YWcuYzo0MDcgYnVpbHRpbi90YWcuYzo0MDkKKyM6IGJ1aWx0aW4vdGFnLmM6NDE5IGJ1aWx0aW4vdGFnLmM6NDIxCiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICLQstGL0LLQvtC0INGC0L7Qu9GM0LrQviDQvNC10YLQvtC6LCDQutC+0YLQvtGA0YvQtSDRgdC+0LTQtdGA0LbQsNGCINC60L7QvNC80LjRgiIKIAotIzogYnVpbHRpbi90YWcuYzo0MDggYnVpbHRpbi90YWcuYzo0MTAKKyM6IGJ1aWx0aW4vdGFnLmM6NDIwIGJ1aWx0aW4vdGFnLmM6NDIyCiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICLQstGL0LLQvtC0INGC0L7Qu9GM0LrQviDQvNC10YLQvtC6LCDQutC+0YLQvtGA0YvQtSDQvdC1INGB0L7QtNC10YDQttCw0YIg0LrQvtC80LzQuNGCIgogCi0jOiBidWlsdGluL3RhZy5jOjQxMQorIzogYnVpbHRpbi90YWcuYzo0MjMKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbWVyZ2VkIgogbXNnc3RyICLQstGL0LLQvtC0INGC0L7Qu9GM0LrQviDRgdC70LjRgtGL0YUg0LzQtdGC0L7QuiIKIAotIzogYnVpbHRpbi90YWcuYzo0MTIKKyM6IGJ1aWx0aW4vdGFnLmM6NDI0CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgItCy0YvQstC+0LQg0YLQvtC70YzQutC+INC90LUg0YHQu9C40YLRi9GFINC80LXRgtC+0LoiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDE3CisjOiBidWlsdGluL3RhZy5jOjQyOAogbXNnaWQgInByaW50IG9ubHkgdGFncyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICLQstGL0LLQvtC0INGC0L7Qu9GM0LrQviDQvNC10YLQvtC6LCDQvtC/0YDQtdC00LXQu9C10L3QvdC+0LPQviDQvtCx0YrQtdC60YLQsCIKIAotIzogYnVpbHRpbi90YWcuYzo0NjEKKyM6IGJ1aWx0aW4vdGFnLmM6NDcyCiBtc2dpZCAiLS1jb2x1bW4gYW5kIC1uIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tY29sdW1uINC4IC1uINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+IgogCi0jOiBidWlsdGluL3RhZy5jOjQ4MworIzogYnVpbHRpbi90YWcuYzo0OTQKIG1zZ2lkICItbiBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKIG1zZ3N0ciAi0L7Qv9GG0LjRjiAtbiDQvNC+0LbQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0LvRjNC60L4g0LIg0YDQtdC20LjQvNC1INGB0L/QuNGB0LrQsCIKIAotIzogYnVpbHRpbi90YWcuYzo0ODUKKyM6IGJ1aWx0aW4vdGFnLmM6NDk2CiBtc2dpZCAiLS1jb250YWlucyBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKIG1zZ3N0ciAi0L7Qv9GG0LjRjiAtLWNvbnRhaW5zINC80L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviDQsiDRgNC10LbQuNC80LUg0YHQv9C40YHQutCwIgogCi0jOiBidWlsdGluL3RhZy5jOjQ4NworIzogYnVpbHRpbi90YWcuYzo0OTgKIG1zZ2lkICItLW5vLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICLQvtC/0YbQuNGOIC0tbm8tY29udGFpbnMg0LzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+INCyINGA0LXQttC40LzQtSDRgdC/0LjRgdC60LAiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDg5CisjOiBidWlsdGluL3RhZy5jOjUwMAogbXNnaWQgIi0tcG9pbnRzLWF0IG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICLQvtC/0YbQuNGOIC0tcG9pbnRzLWF0INC80L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviDQsiDRgNC10LbQuNC80LUg0YHQv9C40YHQutCwIgogCi0jOiBidWlsdGluL3RhZy5jOjQ5MQorIzogYnVpbHRpbi90YWcuYzo1MDIKIG1zZ2lkICItLW1lcmdlZCBhbmQgLS1uby1tZXJnZWQgb3B0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKIG1zZ3N0ciAi0L7Qv9GG0LjQuCAtLW1lcmdlZCDQuCAtLW5vLW1lcmdlZCDQvNC+0LbQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0LvRjNC60L4g0LIg0YDQtdC20LjQvNC1INGB0L/QuNGB0LrQsCIKIAotIzogYnVpbHRpbi90YWcuYzo1MDIKKyM6IGJ1aWx0aW4vdGFnLmM6NTEzCiBtc2dpZCAib25seSBvbmUgLUYgb3IgLW0gb3B0aW9uIGlzIGFsbG93ZWQuIgogbXNnc3RyICItRiDQuCAtbSDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3Qvi4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTIxCisjOiBidWlsdGluL3RhZy5jOjUzMgogbXNnaWQgInRvbyBtYW55IHBhcmFtcyIKIG1zZ3N0ciAi0L/QtdGA0LXQtNCw0L3QviDRgdC70LjRiNC60L7QvCDQvNC90L7Qs9C+INC/0LDRgNCw0LzQtdGC0YDQvtCyIgogCi0jOiBidWlsdGluL3RhZy5jOjUyNworIzogYnVpbHRpbi90YWcuYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0YWcgbmFtZS4iCiBtc2dzdHIgIsKrJXPCuyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LTQvtC/0YPRgdGC0LjQvNGL0Lwg0LjQvNC10L3QtdC8INC80LXRgtC60LguIgogCi0jOiBidWlsdGluL3RhZy5jOjUzMgorIzogYnVpbHRpbi90YWcuYzo1NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgItC80LXRgtC60LAgwqslc8K7INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgiIKIAotIzogYnVpbHRpbi90YWcuYzo1NjMKKyM6IGJ1aWx0aW4vdGFnLmM6NTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAi0JzQtdGC0LrQsCDCqyVzwrsg0L7QsdC90L7QstC70LXQvdCwICjQsdGL0LvQsCAlcylcbiIKQEAgLTE1NjA2LDI0MiArMTg2NTgsMjQyIEBACiBtc2dpZCAiVW5wYWNraW5nIG9iamVjdHMiCiBtc2dzdHIgItCg0LDRgdC/0LDQutC+0LLQutCwINC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LrQsNGC0LDQu9C+0LMgJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBmaWxlICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINGE0LDQudC7ICVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBmaWxlICVzIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMINGE0LDQudC7ICVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxOQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTQgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0LrQsNGC0LDQu9C+0LMgJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTM4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJUZXN0aW5nIG10aW1lIGluICclcycgIgogbXNnc3RyICLQn9GA0L7QstC10YDQutCwIG10aW1lINCyIMKrJXPCuyAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTUyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1MwogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGFkZGluZyBhIG5ldyBmaWxlIgogbXNnc3RyICLQuNC90YTQvtGA0LzQsNGG0LjRjyDRgdGC0LDRgtC40YHRgtC40LrQuCDQutCw0YLQsNC70L7Qs9CwINC90LUg0LjQt9C80LXQvdGP0LXRgtGB0Y8g0L/QvtGB0LvQtSDQtNC+0LHQsNCy0LvQtdC90LjRjyDQvdC+0LLQvtCz0L4g0YTQsNC50LvQsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNjUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTY2CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgYWRkaW5nIGEgbmV3IGRpcmVjdG9yeSIKIG1zZ3N0ciAi0LjQvdGE0L7RgNC80LDRhtC40Y8g0YHRgtCw0YLQuNGB0YLQuNC60Lgg0LrQsNGC0LDQu9C+0LPQsCDQvdC1INC40LfQvNC10L3Rj9C10YLRgdGPINC/0L7RgdC70LUg0LTQvtCx0LDQstC70LXQvdC40Y8g0L3QvtCy0L7Qs9C+INC60LDRgtCw0LvQvtCz0LAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTc4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE3OQogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciB1cGRhdGluZyBhIGZpbGUiCiBtc2dzdHIgItC40L3RhNC+0YDQvNCw0YbQuNGPINGB0YLQsNGC0LjRgdGC0LjQutC4INC60LDRgtCw0LvQvtCz0LAg0LjQt9C80LXQvdGP0LXRgtGB0Y8g0L/QvtGB0LvQtSDQtNC+0LHQsNCy0LvQtdC90LjRjyDQvdC+0LLQvtCz0L4g0YTQsNC50LvQsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxODkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTkwCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBjaGFuZ2VzIGFmdGVyIGFkZGluZyBhIGZpbGUgaW5zaWRlIHN1YmRpcmVjdG9yeSIKIG1zZ3N0ciAi0LjQvdGE0L7RgNC80LDRhtC40Y8g0YHRgtCw0YLQuNGB0YLQuNC60Lgg0LrQsNGC0LDQu9C+0LPQsCDQuNC30LzQtdC90Y/QtdGC0YHRjyDQv9C+0YHQu9C1INC00L7QsdCw0LLQu9C10L3QuNGPINC90L7QstC+0LPQviDRhNCw0LnQu9CwINCy0L3Rg9GC0YDQuCDQv9C+0LTQutCw0YLQsNC70L7Qs9CwIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIwMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMDEKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBkZWxldGluZyBhIGZpbGUiCiBtc2dzdHIgItC40L3RhNC+0YDQvNCw0YbQuNGPINGB0YLQsNGC0LjRgdGC0LjQutC4INC60LDRgtCw0LvQvtCz0LAg0L3QtSDQuNC30LzQtdC90Y/QtdGC0YHRjyDQv9C+0YHQu9C1INGD0LTQsNC70LXQvdC40Y8g0YTQsNC50LvQsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE0CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBkaXJlY3RvcnkiCiBtc2dzdHIgItC40L3RhNC+0YDQvNCw0YbQuNGPINGB0YLQsNGC0LjRgdGC0LjQutC4INC60LDRgtCw0LvQvtCz0LAg0L3QtSDQuNC30LzQtdC90Y/QtdGC0YHRjyDQv9C+0YHQu9C1INGD0LTQsNC70LXQvdC40Y8g0LrQsNGC0LDQu9C+0LPQsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMjAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjIxCiBtc2dpZCAiIE9LIgogbXNnc3RyICIgT0siCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NTg4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU4OQogbXNnaWQgImdpdCB1cGRhdGUtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1pbmRleCBbPNC+0L/RhtC40Lg+XSBbLS1dIFs80YTQsNC50Ls+4oCmXSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NDQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTcxCiBtc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgogbXNnc3RyICLQv9GA0L7QtNC+0LvQttC40YLRjCDQvtCx0L3QvtCy0LvQtdC90LjQtSwg0LTQsNC20LUg0LXRgdC70Lgg0LjQvdC00LXQutGBINGC0YDQtdCx0YPQtdGCINC+0LHQvdC+0LLQu9C10L3QuNGPIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk0NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzQKIG1zZ2lkICJyZWZyZXNoOiBpZ25vcmUgc3VibW9kdWxlcyIKIG1zZ3N0ciAi0L7QsdC90L7QstC70LXQvdC40LU6INC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDQv9C+0LTQvNC+0LTRg9C70LgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NwogbXNnaWQgImRvIG5vdCBpZ25vcmUgbmV3IGZpbGVzIgogbXNnc3RyICLQvdC1INC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDQvdC+0LLRi9C1INGE0LDQudC70YsiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTUyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3OQogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICLRgNCw0LfRgNC10YjQuNGC0Ywg0YTQsNC50LvQsNC8INC30LDQvNC10L3Rj9GC0Ywg0LrQsNGC0LDQu9C+0LPQuCDQuCDQvdCw0L7QsdC+0YDQvtGCIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk1NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODEKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICLQt9Cw0LzQtdGH0LDRgtGMINGE0LDQudC70Ysg0L7RgtGB0YPRgtGB0YLQstGD0Y7RidC40LUg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgzCiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgItC+0LHQvdC+0LLQuNGC0YwsINC00LDQttC1INC10YHQu9C4INCyINC40L3QtNC10LrRgdC1INC40LzQtdGO0YLRgdGPINC90LUg0YHQu9C40YLRi9C1INC30LDQv9C40YHQuCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NTkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg2CiBtc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgogbXNnc3RyICLQvtCx0L3QvtCy0LjRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INGB0YLQsNGC0YPRgdC1INGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkwCiBtc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgogbXNnc3RyICLQutCw0LogLS1yZWZyZXNoLCDQvdC+INC40LPQvdC+0YDQuNGA0L7QstCw0YLRjCDQvdCw0YHRgtGA0L7QudC60YMgYXNzdW1lLXVuY2hhbmdlZCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk0CiBtc2dpZCAiPG1vZGU+LDxvYmplY3Q+LDxwYXRoPiIKIG1zZ3N0ciAiPNGA0LXQttC40Lwg0LTQvtGB0YLRg9C/0LA+LDzQvtCx0YrQtdC60YI+LDzQv9GD0YLRjD4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NQogbXNnaWQgImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAi0LTQvtCx0LDQstC40YLRjCDRg9C60LDQt9Cw0L3QvdGD0Y4g0LfQsNC/0LjRgdGMINCyINC40L3QtNC10LrRgSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNQogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJub3QgY2hhbmdpbmdcIiIKIG1zZ3N0ciAi0L/QvtC80LXRgtC40YLRjCDRhNCw0LnQu9GLINC60LDQuiDCq9C90LUg0LjQt9C80LXQvdC10L3QvdGL0LXCuyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwOAogbXNnaWQgImNsZWFyIGFzc3VtZWQtdW5jaGFuZ2VkIGJpdCIKIG1zZ3N0ciAi0YPQsdGA0LDRgtGMINC/0L7QvNC10YLQutGDIGFzc3VtZWQtdW5jaGFuZ2VkIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDExCiBtc2dpZCAibWFyayBmaWxlcyBhcyBcImluZGV4LW9ubHlcIiIKIG1zZ3N0ciAi0L/QvtC80LXRgtC40YLRjCDRhNCw0LnQu9GLINC60LDQuiDCq9GC0L7Qu9GM0LrQviDQsiDQuNC90LTQtdC60YHQtcK7IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE0CiBtc2dpZCAiY2xlYXIgc2tpcC13b3JrdHJlZSBiaXQiCiBtc2dzdHIgItGD0LHRgNCw0YLRjCDQv9C+0LzQtdGC0LrRgyBza2lwLXdvcmt0cmVlIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE3CiBtc2dpZCAiYWRkIHRvIGluZGV4IG9ubHk7IGRvIG5vdCBhZGQgY29udGVudCB0byBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgItGC0L7Qu9GM0LrQviDQtNC+0LHQsNCy0LjRgtGMINCyINC40L3QtNC10LrRgTsg0L3QtSDQtNC+0LHQsNCy0LvRj9GC0Ywg0YHQvtC00LXRgNC20LjQvNC+0LUg0LIg0LHQsNC30YMg0LTQsNC90L3Ri9GFINC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTkKIG1zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgogbXNnc3RyICLRg9C00LDQu9C40YLRjCDRg9C60LDQt9Cw0L3QvdGL0LUg0L/Rg9GC0LgsINC00LDQttC1INC10YHQu9C4INC+0L3QuCDRgdGD0YnQtdGB0YLQstGD0Y7RgiDQsiDRgNCw0LHQvtGH0LXQvCDQutCw0YLQsNC70L7Qs9C1IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDIxCiBtc2dpZCAid2l0aCAtLXN0ZGluOiBpbnB1dCBsaW5lcyBhcmUgdGVybWluYXRlZCBieSBudWxsIGJ5dGVzIgogbXNnc3RyICLRgSDQvtC/0YbQuNC10LkgLS1zdGRpbjog0YHRgtGA0L7QutC4INC90LAg0LLQstC+0LTQtSDQvtGC0LTQtdC70Y/RjtGC0YHRjyDQndCj0JvQldCS0KvQnCDQsdCw0LnRgtC+0LwiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjMKIG1zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgdG8gYmUgdXBkYXRlZCBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLQv9GA0L7Rh9C40YLQsNGC0Ywg0YHQv9C40YHQvtC6INC+0LHQvdC+0LLQu9GP0LXQvNGL0YUg0L/Rg9GC0LXQuSDQuNC3INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNCwIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI3CiBtc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCiBtc2dzdHIgItC00L7QsdCw0LLQuNGC0Ywg0LfQsNC/0LjRgdC4INC40Lcg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LLQvtC00LAg0LIg0LjQvdC00LXQutGBIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzMQogbXNnaWQgInJlcG9wdWxhdGUgc3RhZ2VzICMyIGFuZCAjMyBmb3IgdGhlIGxpc3RlZCBwYXRocyIKIG1zZ3N0ciAi0LfQsNC90L7QstC+INC30LDQv9C+0LvQvdC40YLRjCDQuNC90LTQtdC60YEgIzIg0LggIzMg0LTQu9GPINGD0LrQsNC30LDQvdC90YvRhSDQv9GD0YLQtdC5IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzNQogbXNnaWQgIm9ubHkgdXBkYXRlIGVudHJpZXMgdGhhdCBkaWZmZXIgZnJvbSBIRUFEIgogbXNnc3RyICLQvtCx0L3QvtCy0LjRgtGMINGC0L7Qu9GM0LrQviDQt9Cw0L/QuNGB0LgsINC60L7RgtC+0YDRi9C1INC+0YLQu9C40YfQsNGO0YLRgdGPINC+0YIgSEVBRCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDExCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzkKIG1zZ2lkICJpZ25vcmUgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICLQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0YTQsNC50LvRiywg0L7RgtGB0YPRgtGB0YLQstGD0Y7RidC40LUg0LIg0YDQsNCx0L7Rh9C10Lwg0LrQsNGC0LDQu9C+0LPQtSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDIKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INCy0YvQv9C+0LvQvdGP0LXQvNGL0LUg0LTQtdC50YHRgtCy0LjRjyDQvdCwINGB0YLQsNC90LTQsNGA0YLQvdGL0Lkg0LLRi9Cy0L7QtCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDQKIG1zZ2lkICIoZm9yIHBvcmNlbGFpbnMpIGZvcmdldCBzYXZlZCB1bnJlc29sdmVkIGNvbmZsaWN0cyIKIG1zZ3N0ciAiKNC00LvRjyDQvNCw0YjQuNC90L3QvtC5INC+0LHRgNCw0LHQvtGC0LrQuCkg0LfQsNCx0YvRgtGMINGB0L7RhdGA0LDQvdC10L3QvdGL0LUg0L3QtdGA0LDQt9GA0LXRiNC10L3QvdGL0LUg0LrQvtC90YTQu9C40LrRgtGLIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0OAogbXNnaWQgIndyaXRlIGluZGV4IGluIHRoaXMgZm9ybWF0IgogbXNnc3RyICLQt9Cw0L/QuNGB0LDRgtGMINC40L3QtNC10LrRgSDQsiDRg9C60LDQt9Cw0L3QvdC+0Lwg0YTQvtGA0LzQsNGC0LUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyMgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDUwCiBtc2dpZCAiZW5hYmxlIG9yIGRpc2FibGUgc3BsaXQgaW5kZXgiCiBtc2dzdHIgItGA0LDQt9GA0LXRiNC40YLRjCDQuNC70Lgg0LfQsNC/0YDQtdGC0LjRgtGMINGA0LDQt9C00LXQu9GM0L3Ri9C5INC40L3QtNC10LrRgSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTIKIG1zZ2lkICJlbmFibGUvZGlzYWJsZSB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgItCy0LrQu9GO0YfQuNGC0Ywv0L7RgtC60LvRjtGH0LjRgtGMINC60Y3RiCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1NAogbXNnaWQgInRlc3QgaWYgdGhlIGZpbGVzeXN0ZW0gc3VwcG9ydHMgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICLQv9GA0L7QstC10YDQuNGC0YwsINGH0YLQviDRhNCw0LnQu9C+0LLQsNGPINGB0LjRgdGC0LXQvNCwINC/0L7QtNC00LXRgNC20LjQstCw0LXRgiDQutGN0Ygg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINGE0LDQudC70L7QsiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTYKIG1zZ2lkICJlbmFibGUgdW50cmFja2VkIGNhY2hlIHdpdGhvdXQgdGVzdGluZyB0aGUgZmlsZXN5c3RlbSIKIG1zZ3N0ciAi0LLQutC70Y7Rh9C40YLRjCDQutGN0Ygg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINGE0LDQudC70L7QsiDQsdC10Lcg0L/RgNC+0LLQtdGA0LrQuCDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1OAogbXNnaWQgIndyaXRlIG91dCB0aGUgaW5kZXggZXZlbiBpZiBpcyBub3QgZmxhZ2dlZCBhcyBjaGFuZ2VkIgogbXNnc3RyICLQt9Cw0L/QuNGB0LDRgtGMINC40L3QtNC10LrRgSwg0LTQsNC20LUg0LXRgdC70Lgg0L7QvSDQvdC1INC/0L7QvNC10YfQtdC9INC60LDQuiDQuNC30LzQtdC90LXQvdC90YvQuSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDMyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNjAKIG1zZ2lkICJlbmFibGUgb3IgZGlzYWJsZSBmaWxlIHN5c3RlbSBtb25pdG9yIgogbXNnc3RyICLQstC60LvRjtGH0LjRgtGMINC40LvQuCDQstGL0LrQu9GO0YfQuNGC0Ywg0LzQvtC90LjRgtC+0YDQuNC90LMg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDM0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNjIKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIGZzbW9uaXRvciB2YWxpZCIKIG1zZ3N0ciAi0L/QvtC80LXRgtC40YLRjCDRhNCw0LnQuyDQutCw0Log0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQuSDQsiDQvNC+0L3QuNGC0L7RgNC1INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzNworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDY1CiBtc2dpZCAiY2xlYXIgZnNtb25pdG9yIHZhbGlkIGJpdCIKIG1zZ3N0ciAi0YHQvdGP0YLRjCDQv9C+0LzQtdGC0LrRgyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QvtGB0YLQuCDQvNC+0L3QuNGC0L7RgNC1INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTY4CiBtc2dpZCAiIgogImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gZmFsc2U7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCiAiZW5hYmxlIHNwbGl0IGluZGV4IgogbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAICBjb3JlLnNwbGl0SW5kZXgg0YPRgdGC0LDQvdC+0LLQu9C10L0g0LIgZmFsc2U7INGD0LTQsNC70LjRgtC1INC40LvQuCDQuNC30LzQtdC90LjRgtC1INC10LPQviwg0LXRgdC70Lgg0LLRiyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRhdC+0YLQuNGC0LUg0LLQutC70Y7Rh9C40YLRjCDRgNCw0LfQtNC10LvQtdC90L3Ri9C5INC40L3QtNC10LrRgSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTQ1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNzcKIG1zZ2lkICIiCiAiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgogImRpc2FibGUgc3BsaXQgaW5kZXgiCiBtc2dzdHIgItC/0LDRgNCw0LzQtdGC0YAgIGNvcmUuc3BsaXRJbmRleCDRg9GB0YLQsNC90L7QstC70LXQvSDQsiB0cnVlOyDRg9C00LDQu9C40YLQtSDQuNC70Lgg0LjQt9C80LXQvdC40YLQtSDQtdCz0L4sINC10YHQu9C4INCy0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INC+0YLQutC70Y7Rh9C40YLRjCDRgNCw0LfQtNC10LvQtdC90L3Ri9C5INC40L3QtNC10LrRgSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTU2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExODgKIG1zZ2lkICIiCiAiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKICJ0byBkaXNhYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgItC/0LDRgNCw0LzQtdGC0YAgY29yZS51bnRyYWNrZWRDYWNoZSDRg9GB0YLQsNC90L7QstC70LXQvSB0cnVlOyDRg9C00LDQu9C40YLQtSDQuNC70Lgg0LjQt9C80LXQvdC40YLQtSDQtdCz0L4sINC10YHQu9C4INCy0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMINC60Y3RiCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNjAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE5MgogbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBkaXNhYmxlZCIKIG1zZ3N0ciAi0JrRjdGIINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDRhNCw0LnQu9C+0LIg0L7RgtC60LvRjtGH0LXQvSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTY4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMDAKIG1zZ2lkICIiCiAiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gZmFsc2U7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCIKICIgdG8gZW5hYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgItC/0LDRgNCw0LzQtdGC0YAgY29yZS51bnRyYWNrZWRDYWNoZSDRg9GB0YLQsNC90L7QstC70LXQvSBmYWxzZTsg0YPQtNCw0LvQuNGC0LUg0LjQu9C4INC40LfQvNC10L3QuNGC0LUg0LXQs9C+LCDQtdGB0LvQuCDQstGLINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGF0L7RgtC40YLQtSDQstC60LvRjtGH0LjRgtGMINC60Y3RiCDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUg0YTQsNC50LvQvtCyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNzIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZW5hYmxlZCBmb3IgJyVzJyIKIG1zZ3N0ciAi0JrRjdGIINC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDRhNCw0LnQu9C+0LIg0LLQutC70Y7Rh9C10L0g0LTQu9GPIMKrJXPCuyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTgwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMTIKIG1zZ2lkICJjb3JlLmZzbW9uaXRvciBpcyB1bnNldDsgc2V0IGl0IGlmIHlvdSByZWFsbHkgd2FudCB0byBlbmFibGUgZnNtb25pdG9yIgogbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAIGNvcmUuZnNtb25pdG9yINC90LUg0YPRgdGC0LDQvdC+0LLQu9C10L07INGD0YHRgtCw0L3QvtCy0LjRgtC1INC10LPQviDQtdGB0LvQuCDQstGLINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGF0L7RgtC40YLQtSDQstC60LvRjtGH0LjRgtGMINC80L7QvdC40YLQvtGA0LjQvdCzINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE4NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjE2CiBtc2dpZCAiZnNtb25pdG9yIGVuYWJsZWQiCiBtc2dzdHIgItC80L7QvdC40YLQvtGA0LjQvdCzINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80Ysg0LLQutC70Y7Rh9GR0L0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE4NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjE5CiBtc2dpZCAiIgogImNvcmUuZnNtb25pdG9yIGlzIHNldDsgcmVtb3ZlIGl0IGlmIHlvdSByZWFsbHkgd2FudCB0byBkaXNhYmxlIGZzbW9uaXRvciIKIG1zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCBjb3JlLmZzbW9uaXRvciDRg9GB0YLQsNC90L7QstC70LXQvTsg0YPQtNCw0LvQuNGC0LUg0LXQs9C+INC10YHQu9C4INCy0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INCy0YvQutC70Y7Rh9C40YLRjCDQvNC+0L3QuNGC0L7RgNC40L3QsyDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExOTEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIyMwogbXNnaWQgImZzbW9uaXRvciBkaXNhYmxlZCIKIG1zZ3N0ciAi0LzQvtC90LjRgtC+0YDQuNC90LMg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyDQstGL0LrQu9GO0YfRkdC9IgogCkBAIC0xNTg4NSw2ICsxODkzNywxMCBAQAogbXNnaWQgImdpdCB1cGxvYWQtcGFjayBbPG9wdGlvbnM+XSA8ZGlyPiIKIG1zZ3N0ciAiZ2l0IHVwbG9hZC1wYWNrIFs80L7Qv9GG0LjQuD5dIDzQutCw0YLQsNC70L7Qsz4iCiAKKyM6IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyMyB0L2hlbHBlci90ZXN0LXNlcnZlLXYyLmM6MTcKK21zZ2lkICJxdWl0IGFmdGVyIGEgc2luZ2xlIHJlcXVlc3QvcmVzcG9uc2UgZXhjaGFuZ2UiCittc2dzdHIgItCy0YvRhdC+0LQg0L/QvtGB0LvQtSDQvtCx0LzQtdC90LAg0L7QtNC90LjQvCDQt9Cw0L/RgNC+0YHQvtC8L9C+0YLQstC10YLQvtC8IgorCiAjOiBidWlsdGluL3VwbG9hZC1wYWNrLmM6MjUKIG1zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGluaXRpYWwgcmVmIGFkdmVydGlzZW1lbnQiCiBtc2dzdHIgItCy0YvRhdC+0LTQuNGC0Ywg0YHRgNCw0LfRgyDQv9C+0YHQu9C1INC90LDRh9Cw0LvRjNC90L7Qs9C+INC+0LHRitGP0LLQu9C10L3QuNGPINGB0L/QuNGB0LrQsCDRgdGB0YvQu9C+0LoiCkBAIC0xNTkyOSwyNjIgKzE4OTg1LDI5MyBAQAogbXNnaWQgInByaW50IHRhZyBjb250ZW50cyIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0YHQvtC00LXRgNC20LjQvNC+0LUg0LzQtdGC0LrQuCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjE3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTgKIG1zZ2lkICJnaXQgd29ya3RyZWUgYWRkIFs8b3B0aW9ucz5dIDxwYXRoPiBbPGNvbW1pdC1pc2g+XSIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIGFkZCBbPNC+0L/RhtC40Lg+XSA80L/Rg9GC0Yw+IFs80YPQutCw0LfQsNGC0LXQu9GMLdC60L7QvNC80LjRgtCwPl0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjE5CiBtc2dpZCAiZ2l0IHdvcmt0cmVlIGxpc3QgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSBsaXN0IFs80L7Qv9GG0LjQuD5dIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMAogbXNnaWQgImdpdCB3b3JrdHJlZSBsb2NrIFs8b3B0aW9ucz5dIDxwYXRoPiIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIGxvY2sgWzzQvtC/0YbQuNC4Pl0gPNC/0YPRgtGMPiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjEKIG1zZ2lkICJnaXQgd29ya3RyZWUgbW92ZSA8d29ya3RyZWU+IDxuZXctcGF0aD4iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSBtb3ZlIDzRgNCw0LHQvtGH0LjQuS3QutCw0YLQsNC70L7Qsz4gPNC90L7QstGL0Lkt0L/Rg9GC0Yw+IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMgogbXNnaWQgImdpdCB3b3JrdHJlZSBwcnVuZSBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIHBydW5lIFs80L7Qv9GG0LjQuD5dIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMwogbXNnaWQgImdpdCB3b3JrdHJlZSByZW1vdmUgWzxvcHRpb25zPl0gPHdvcmt0cmVlPiIKIG1zZ3N0ciAiZ2l0IHdvcmt0cmVlIHJlbW92ZSBbPNC+0L/RhtC40Lg+XSA80YDQsNCx0L7Rh9C40Lkt0LrQsNGC0LDQu9C+0LM+IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyNAogbXNnaWQgImdpdCB3b3JrdHJlZSB1bmxvY2sgPHBhdGg+IgogbXNnc3RyICJnaXQgd29ya3RyZWUgdW5sb2NrIDzQv9GD0YLRjD4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1OAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjYxIGJ1aWx0aW4vd29ya3RyZWUuYzo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSAnJXMnIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMIMKrJXPCuyIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogbm90IGEgdmFsaWQgZGlyZWN0b3J5IgogbXNnc3RyICLQo9C00LDQu9C10L3QuNC1INGA0LDQsdC+0YfQuNGFINC60LDRgtCw0LvQvtCz0L7Qsi8lczog0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC60LDRgtCw0LvQvtCz0L7QvCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3Zpbmcgd29ya3RyZWVzLyVzOiBnaXRkaXIgZmlsZSBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi0KPQtNCw0LvQtdC90LjQtSDRgNCw0LHQvtGH0LjRhSDQutCw0YLQsNC70L7Qs9C+0LIvJXM6INGE0LDQudC7IGdpdGRpciDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjkgYnVpbHRpbi93b3JrdHJlZS5jOjc4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTEgYnVpbHRpbi93b3JrdHJlZS5jOjEwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IHVuYWJsZSB0byByZWFkIGdpdGRpciBmaWxlICglcykiCiBtc2dzdHIgItCj0LTQsNC70LXQvdC40LUg0YDQsNCx0L7Rh9C40YUg0LrQsNGC0LDQu9C+0LPQvtCyLyVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRhNCw0LnQuyBnaXRkaXIgKCVzKSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjg4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IHNob3J0IHJlYWQgKGV4cGVjdGVkICU8UFJJdU1BWD4gYnl0ZXMsIHJlYWQgIgogIiU8UFJJdU1BWD4pIgogbXNnc3RyICLQo9C00LDQu9C10L3QuNC1INGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsC8lczog0L/RgNC+0YfQuNGC0LDQvdC+INC80LDQu9C+INC00LDQvdC90YvRhSAo0L7QttC40LTQsNC70L7RgdGMICU8UFJJdU1BWD4g0LHQsNC50YIsINC/0YDQvtGH0LjRgtCw0L3QviAlPFBSSXVNQVg+KSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjk2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogaW52YWxpZCBnaXRkaXIgZmlsZSIKIG1zZ3N0ciAi0KPQtNCw0LvQtdC90LjQtSDRgNCw0LHQvtGH0LjRhSDQutCw0YLQsNC70L7Qs9C+0LIvJXM6INC90LXQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3Ri9C5INGE0LDQudC7IGdpdGRpciIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjEwNQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIHBvaW50cyB0byBub24tZXhpc3RlbnQgbG9jYXRpb24iCiBtc2dzdHIgItCj0LTQsNC70LXQvdC40LUg0YDQsNCx0L7Rh9C40YUg0LrQsNGC0LDQu9C+0LPQvtCyLyVzOiBnaXRkaXIg0YPQutCw0LfRi9Cy0LDQtdGCINC90LAg0L3QtdGB0YPRidC10YHRgtCy0YPRjtGJ0LXQtSDRgNCw0YHQv9C+0LvQvtC20LXQvdC40LUiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNTIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNjYKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIHdvcmtpbmcgdHJlZXMiCiBtc2dzdHIgItCy0YvQstC10YHRgtC4INGB0L/QuNGB0L7QuiDRg9C00LDQu9C10L3QvdGL0YUg0YDQsNCx0L7Rh9C40YUg0LrQsNGC0LDQu9C+0LPQvtCyIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MTU0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTY4CiBtc2dpZCAiZXhwaXJlIHdvcmtpbmcgdHJlZXMgb2xkZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgItGD0LTQsNC70LjRgtGMINGA0LDQsdC+0YfQuNC1INC60LDRgtCw0LvQvtCz0Lgg0YHRgtCw0YDQtdC1INGH0LXQvCA80LTQsNGC0LAt0L7QutC+0L3Rh9Cw0L3QuNGPPiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjIyOQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICLCqyVzwrsg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MjYwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZS1hZGQgd29ya3RyZWUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyInJXMnIGlzIGEgbWlzc2luZyBidXQgbG9ja2VkIHdvcmt0cmVlO1xuIgorInVzZSAnYWRkIC1mIC1mJyB0byBvdmVycmlkZSwgb3IgJ3VubG9jaycgYW5kICdwcnVuZScgb3IgJ3JlbW92ZScgdG8gY2xlYXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJyVzJyBpcyBhIG1pc3NpbmcgYnV0IGFscmVhZHkgcmVnaXN0ZXJlZCB3b3JrdHJlZTtcbiIKKyJ1c2UgJ2FkZCAtZicgdG8gb3ZlcnJpZGUsIG9yICdwcnVuZScgb3IgJ3JlbW92ZScgdG8gY2xlYXIiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjMwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSBvZiAnJXMnIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINC60LDRgtCw0LvQvtCzIMKrJXPCuyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjM3MyBidWlsdGluL3dvcmt0cmVlLmM6Mzc5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDMyIGJ1aWx0aW4vd29ya3RyZWUuYzo0MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChuZXcgYnJhbmNoICclcycpIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzozNzUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChyZXNldHRpbmcgYnJhbmNoICclcyc7IHdhcyBhdCAlcykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjM4NAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKGNoZWNraW5nIG91dCAnJXMnKSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzkwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlByZXBhcmluZyB3b3JrdHJlZSAoZGV0YWNoZWQgSEVBRCAlcykiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQzMQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MAogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGV2ZW4gaWYgYWxyZWFkeSBjaGVja2VkIG91dCBpbiBvdGhlciB3b3JrdHJlZSIKIG1zZ3N0ciAi0L/QtdGA0LXQutC70Y7Rh9C40YLRjNGB0Y8g0L3QsCA80LLQtdGC0LrQsD4g0LTQsNC20LUg0LXRgdC70Lgg0L7QvdCwINGD0LbQtSDQsNC60YLQuNCy0L3QsCDQsiDQtNGA0YPQs9C+0Lwg0YDQsNCx0L7Rh9C10YHQvCDQutCw0YLQsNC70L7Qs9C1IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDM0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDkzCiBtc2dpZCAiY3JlYXRlIGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi0YHQvtC30LTQsNGC0Ywg0L3QvtCy0YPRjiDQstC10YLQutGDIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDM2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDk1CiBtc2dpZCAiY3JlYXRlIG9yIHJlc2V0IGEgYnJhbmNoIgogbXNnc3RyICLRgdC+0LfQtNCw0YLRjCDQuNC70Lgg0L/QtdGA0LXQudGC0Lgg0L3QsCDQstC10YLQutGDIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDM4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDk3CiBtc2dpZCAicG9wdWxhdGUgdGhlIG5ldyB3b3JraW5nIHRyZWUiCiBtc2dzdHIgItC90LDQv9C+0LvQvdC40YLRjCDQvdC+0LLRi9C5INGA0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDM5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDk4CiBtc2dpZCAia2VlcCB0aGUgbmV3IHdvcmtpbmcgdHJlZSBsb2NrZWQiCiBtc2dzdHIgItC00LXRgNC20LDRgtGMINGA0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzINC30LDQsdC70L7QutC40YDQvtCy0LDQvdC90YvQvCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwMQogbXNnaWQgInNldCB1cCB0cmFja2luZyBtb2RlIChzZWUgZ2l0LWJyYW5jaCgxKSkiCiBtc2dzdHIgItC90LDRgdGC0YDQvtC40YLRjCDRgNC10LbQuNC8INC+0YLRgdC70LXQttC40LLQsNC90LjRjyDQstC10YLQutC4ICjRgdC80L7RgtGA0LjRgtC1IGdpdC1icmFuY2goMSkpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDQ0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA0CiBtc2dpZCAidHJ5IHRvIG1hdGNoIHRoZSBuZXcgYnJhbmNoIG5hbWUgd2l0aCBhIHJlbW90ZS10cmFja2luZyBicmFuY2giCiBtc2dzdHIgItC/0YvRgtCw0YLRjNGB0Y8g0L3QsNC50YLQuCDRgdC+0L7RgtCy0LXRgtGB0YLQstC40LUg0LjQvNC10L3QuCDQvdC+0LLQvtC5INCy0LXRgtC60Lgg0YEg0LjQvNC10L3QtdC8INCy0L3QtdGI0L3QtdC5INCy0LXRgtC60LgiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NTIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTIKIG1zZ2lkICItYiwgLUIsIGFuZCAtLWRldGFjaCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItYiwgLUIg0LggLS1kZXRhY2gg0L3QtdC70YzQt9GPINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1NzMKIG1zZ2lkICItLVtuby1ddHJhY2sgY2FuIG9ubHkgYmUgdXNlZCBpZiBhIG5ldyBicmFuY2ggaXMgY3JlYXRlZCIKIG1zZ3N0ciAiLS1bbm8tXXRyYWNrINC80L7QttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviDQutC+0LPQtNCwINCy0Ysg0YHQvtC30LTQsNGR0YLQtSDQvdC+0LLRg9GOINCy0LXRgtC60YMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2MTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NzMKIG1zZ2lkICJyZWFzb24gZm9yIGxvY2tpbmciCiBtc2dzdHIgItC/0YDQuNGH0LjQvdCwINCx0LvQvtC60LjRgNC+0LLQutC4IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjIzIGJ1aWx0aW4vd29ya3RyZWUuYzo2NTYgYnVpbHRpbi93b3JrdHJlZS5jOjcxMAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjg1MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY4NSBidWlsdGluL3dvcmt0cmVlLmM6NzE4IGJ1aWx0aW4vd29ya3RyZWUuYzo3OTIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIsKrJXPCuyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0YDQsNCx0L7Rh9C40Lwg0LrQsNGC0LDQu9C+0LPQvtC8IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjI1IGJ1aWx0aW4vd29ya3RyZWUuYzo2NTgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODcgYnVpbHRpbi93b3JrdHJlZS5jOjcyMAogbXNnaWQgIlRoZSBtYWluIHdvcmtpbmcgdHJlZSBjYW5ub3QgYmUgbG9ja2VkIG9yIHVubG9ja2VkIgogbXNnc3RyICLQk9C70LDQstC90YvQuSDRgNCw0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyDQvdC1INC80L7QttC10YIg0LHRi9GC0Ywg0LfQsNCx0LvQvtC60LjRgNC+0LLQsNC9INC40LvQuCDRgNCw0LfQsdC70L7QutC40YDQvtCy0LDQvSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjYzMAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5MgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkLCByZWFzb246ICVzIgogbXNnc3RyICLCqyVzwrsg0YPQttC1INC30LDQsdC70L7QutC40YDQvtCy0LDQvSwg0L/RgNC40YfQuNC90LA6ICVzIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjMyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6Njk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQiCiBtc2dzdHIgIsKrJXPCuyDRg9C20LUg0LfQsNCx0LvQvtC60LjRgNC+0LLQsNC9IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjYwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGxvY2tlZCIKIG1zZ3N0ciAiwqslc8K7INC90LUg0LfQsNCx0LvQvtC60LjRgNC+0LLQsNC9IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Njg1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NzYzCiBtc2dpZCAid29ya2luZyB0cmVlcyBjb250YWluaW5nIHN1Ym1vZHVsZXMgY2Fubm90IGJlIG1vdmVkIG9yIHJlbW92ZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjcxMiBidWlsdGluL3dvcmt0cmVlLmM6ODUyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NzcxCittc2dpZCAiZm9yY2UgbW92ZSBldmVuIGlmIHdvcmt0cmVlIGlzIGRpcnR5IG9yIGxvY2tlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6Nzk0IGJ1aWx0aW4vd29ya3RyZWUuYzo5MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhIG1haW4gd29ya2luZyB0cmVlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3MTcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGZpZ3VyZSBvdXQgZGVzdGluYXRpb24gbmFtZSBmcm9tICclcyciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjcyMworIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YXJnZXQgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzMwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODEzCiAjLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCBtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZSwgbG9jayByZWFzb246ICVzIgorbXNnaWQgIiIKKyJjYW5ub3QgbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWUsIGxvY2sgcmVhc29uOiAlc1xuIgorInVzZSAnbW92ZSAtZiAtZicgdG8gb3ZlcnJpZGUgb3IgdW5sb2NrIGZpcnN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3MzIKLW1zZ2lkICJjYW5ub3QgbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWUiCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODE1Cittc2dpZCAiIgorImNhbm5vdCBtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZTtcbiIKKyJ1c2UgJ21vdmUgLWYgLWYnIHRvIG92ZXJyaWRlIG9yIHVubG9jayBmaXJzdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzM1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgInZhbGlkYXRpb24gZmFpbGVkLCBjYW5ub3QgbW92ZSB3b3JraW5nIHRyZWU6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3NDAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG1vdmUgJyVzJyB0byAnJXMnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3ODgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJ1biAnZ2l0IHN0YXR1cycgb24gJyVzJyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzkyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgZGlydHksIHVzZSAtLWZvcmNlIHRvIGRlbGV0ZSBpdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Nzk3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBydW4gJ2dpdCBzdGF0dXMnIG9uICclcycsIGNvZGUgJWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwOCBidWlsdGluL3dvcmt0cmVlLmM6ODIyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTAzCittc2dpZCAiZm9yY2UgcmVtb3ZhbCBldmVuIGlmIHdvcmt0cmVlIGlzIGRpcnR5IG9yIGxvY2tlZCIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTI2CiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBkZWxldGUgJyVzJyIKLW1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCDCqyVzwrsiCi0KLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MzQKLW1zZ2lkICJmb3JjZSByZW1vdmluZyBldmVuIGlmIHRoZSB3b3JrdHJlZSBpcyBkaXJ0eSIKK21zZ2lkICIiCisiY2Fubm90IHJlbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWUsIGxvY2sgcmVhc29uOiAlc1xuIgorInVzZSAncmVtb3ZlIC1mIC1mJyB0byBvdmVycmlkZSBvciB1bmxvY2sgZmlyc3QiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjg1NgotIywgYy1mb3JtYXQKLW1zZ2lkICJjYW5ub3QgcmVtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZSwgbG9jayByZWFzb246ICVzIgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjkyOAorbXNnaWQgIiIKKyJjYW5ub3QgcmVtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZTtcbiIKKyJ1c2UgJ3JlbW92ZSAtZiAtZicgdG8gb3ZlcnJpZGUgb3IgdW5sb2NrIGZpcnN0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NTgKLW1zZ2lkICJjYW5ub3QgcmVtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZSIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODYxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInZhbGlkYXRpb24gZmFpbGVkLCBjYW5ub3QgcmVtb3ZlIHdvcmtpbmcgdHJlZTogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MTQKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjE1CiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTxwcmVmaXg+L10iCiBtc2dzdHIgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD080L/RgNC10YTQuNC60YE+L10iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI3CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOAogbXNnaWQgIjxwcmVmaXg+LyIKIG1zZ3N0ciAiPNC/0YDQtdGE0LjQutGBPi8iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI4CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOQogbXNnaWQgIndyaXRlIHRyZWUgb2JqZWN0IGZvciBhIHN1YmRpcmVjdG9yeSA8cHJlZml4PiIKIG1zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0L7QsdGK0LXQutGCINC00LXRgNC10LLQsCDQtNC70Y8g0L/QvtC00LrQsNGC0LDQu9C+0LPQsCDRgSA80L/RgNC10YTQuNC60YE+IgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMAorIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MzEKIG1zZ2lkICJvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0YLQvtC70YzQutC+INC/0YDQuCDQvtGC0LvQsNC00LrQtSIKIAotIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjIyCisjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyMjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBwZXJtaXNzaW9ucyBvbiB5b3VyIHNvY2tldCBkaXJlY3RvcnkgYXJlIHRvbyBsb29zZTsgb3RoZXJcbiIKQEAgLTE2MTkzLDEwICsxOTI4MCwyNyBAQAogIlx0Y2htb2QgMDcwMCAlcyIKIG1zZ3N0ciAi0J/RgNCw0LLQsCDQtNC+0YHRgtGD0L/QsCDQuiDQstCw0YjQtdC80YMg0LrQsNGC0LDQu9C+0LPRgyDRgdC+0LrQtdGC0L7QsiDRgdC70LjRiNC60L7QvCDRgdCy0L7QsdC+0LTQvdGLOyDQtNGA0YPQs9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCDQvNC+0LPRg9C4INGH0LjRgtCw0YLRjCDQstCw0YjQuCDQt9Cw0LrRjdGI0LjRgNC+0LLQsNC90L3Ri9C1INC/0LDRgNC+0LvQuCDQtNC+0YHRgtGD0L/QsC4g0J7QsdC00YPQvNCw0LnRgtC1INC30LDQv9GD0YHQuiDQutC+0LzQsNC90LTRizpcblxuXHRjaG1vZCAwNzAwICVzIgogCi0jOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyNzEKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjI3MgogbXNnaWQgInByaW50IGRlYnVnZ2luZyBtZXNzYWdlcyB0byBzdGRlcnIiCiBtc2dzdHIgItCy0YvQstC+0LQg0L7RgtC70LDQtNC+0YfQvdGL0YUg0YHQvtC+0LHRidC10L3QuNC5INC90LAgc3RkZXJyIgogCisjOiB0L2hlbHBlci90ZXN0LXJlYWNoLmM6MTUyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdCAlcyBpcyBub3QgbWFya2VkIHJlYWNoYWJsZSIKK21zZ3N0ciAiIgorCisjOiB0L2hlbHBlci90ZXN0LXJlYWNoLmM6MTYyCittc2dpZCAidG9vIG1hbnkgY29tbWl0cyBtYXJrZWQgcmVhY2hhYmxlIgorbXNnc3RyICIiCisKKyM6IHQvaGVscGVyL3Rlc3Qtc2VydmUtdjIuYzo3Cittc2dpZCAidGVzdC10b29sIHNlcnZlLXYyIFs8b3B0aW9ucz5dIgorbXNnc3RyICIiCisKKyM6IHQvaGVscGVyL3Rlc3Qtc2VydmUtdjIuYzoxOQorbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgYWR2ZXJ0aXNpbmcgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKICM6IGdpdC5jOjI3CiBtc2dpZCAiIgogImdpdCBbLS12ZXJzaW9uXSBbLS1oZWxwXSBbLUMgPHBhdGg+XSBbLWMgPG5hbWU+PTx2YWx1ZT5dXG4iCkBAIC0xNjIxMyw2NSArMTkzMTcsMTM5IEBACiAidG8gcmVhZCBhYm91dCBhIHNwZWNpZmljIHN1YmNvbW1hbmQgb3IgY29uY2VwdC4iCiBtc2dzdHIgIsKrZ2l0IGhlbHAgLdCwwrsg0LggwqtnaXQgaGVscCAtZ8K7INCy0YvQstC+0LTQuNGCINGB0L/QuNGB0L7QuiDQtNC+0YHRgtGD0L/QvdGL0YUg0L/QvtC00LrQvtC80LDQvdC0INC4XG7QvdC10LrQvtGC0L7RgNGL0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQsCDQv9C+INGC0LXQvNCw0LwuINCX0LDQv9GD0YHRgtC40YLQtSDCq2dpdCBoZWxwIDzQutC+0LzQsNC90LTQsD7CuyDQuNC70LhcbsKrZ2l0IGhlbHAgPNGC0LXRgNC80LjQvT7Cuywg0YfRgtC+0LHRiyDQv9GA0L7Rh9C10YHRgtGMINC+INC60L7QvdC60YDQtdGC0L3Ri9GFINC/0L7QtNC60L7QvNCw0L3QtNC1INC40LvQuCDRgtC10LzQtS4iCiAKLSM6IGdpdC5jOjE3MworIzogZ2l0LmM6MTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLS1naXQtZGlyXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LmM6MTg3CisjOiBnaXQuYzoxOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbmFtZXNwYWNlIGdpdmVuIGZvciAtLW5hbWVzcGFjZVxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC5jOjIwMQorIzogZ2l0LmM6MjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLS13b3JrLXRyZWVcbiIKIG1zZ3N0ciAiIgogCi0jOiBnaXQuYzoyMTUKKyM6IGdpdC5jOjIyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBwcmVmaXggZ2l2ZW4gZm9yIC0tc3VwZXItcHJlZml4XG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LmM6MjM3CisjOiBnaXQuYzoyNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiLWMgZXhwZWN0cyBhIGNvbmZpZ3VyYXRpb24gc3RyaW5nXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LmM6Mjc1CisjOiBnaXQuYzoyODcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gZGlyZWN0b3J5IGdpdmVuIGZvciAtQ1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC5jOjMwMAorIzogZ2l0LmM6MzEzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gb3B0aW9uOiAlc1xuIgogbXNnc3RyICIiCiAKLSM6IGdpdC5jOjc3MAorIzogZ2l0LmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIndoaWxlIGV4cGFuZGluZyBhbGlhcyAnJXMnOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGdpdC5jOjM2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYWxpYXMgJyVzJyBjaGFuZ2VzIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiIKKyJZb3UgY2FuIHVzZSAnIWdpdCcgaW4gdGhlIGFsaWFzIHRvIGRvIHRoaXMiCittc2dzdHIgIiIKKworIzogZ2l0LmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgImVtcHR5IGFsaWFzIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBnaXQuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjdXJzaXZlIGFsaWFzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBnaXQuYzo0NTkKK21zZ2lkICJ3cml0ZSBmYWlsdXJlIG9uIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBnaXQuYzo0NjEKK21zZ2lkICJ1bmtub3duIHdyaXRlIGZhaWx1cmUgb24gc3RhbmRhcmQgb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGdpdC5jOjQ2MworbXNnaWQgImNsb3NlIGZhaWxlZCBvbiBzdGFuZGFyZCBvdXRwdXQiCittc2dzdHIgIiIKKworIzogZ2l0LmM6Nzk3CisjLCBjLWZvcm1hdAorbXNnaWQgImFsaWFzIGxvb3AgZGV0ZWN0ZWQ6IGV4cGFuc2lvbiBvZiAnJXMnIGRvZXMgbm90IHRlcm1pbmF0ZTolcyIKK21zZ3N0ciAiIgorCisjOiBnaXQuYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGhhbmRsZSAlcyBhcyBhIGJ1aWx0aW4iCittc2dzdHIgIiIKKworIzogZ2l0LmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBnaXQuYzo4ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwYW5zaW9uIG9mIGFsaWFzICclcycgZmFpbGVkOyAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kXG4iCiBtc2dzdHIgIiIKIAotIzogZ2l0LmM6NzgyCisjOiBnaXQuYzo4OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJ1biBjb21tYW5kICclcyc6ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogaHR0cC5jOjM0OAorIzogaHR0cC5jOjM3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJuZWdhdGl2ZSB2YWx1ZSBmb3IgaHR0cC5wb3N0YnVmZmVyOyBkZWZhdWx0aW5nIHRvICVkIgogbXNnc3RyICLQvtGC0YDQuNGG0LDRgtC10LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1IGh0dHAucG9zdGJ1ZmZlcjsg0LjRgdC/0L7Qu9GM0LfRg9GOINGB0YLQsNC90LTQsNGA0YLQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSAlZCIKIAotIzogaHR0cC5jOjM2OQorIzogaHR0cC5jOjM5OQogbXNnaWQgIkRlbGVnYXRpb24gY29udHJvbCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuMjIuMCIKIG1zZ3N0ciAi0JTQtdC70LXQs9Cw0YbQuNGPINC/0YDQvtCy0LXRgNC60Lgg0L/QvtC70L3QvtC80L7Rh9C40Lkg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPINGBIGNVUkwgPCA3LjIyLjAiCiAKLSM6IGh0dHAuYzozNzgKKyM6IGh0dHAuYzo0MDgKIG1zZ2lkICJQdWJsaWMga2V5IHBpbm5pbmcgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjQ0LjAiCiBtc2dzdHIgIlB1YmxpYyBrZXkgcGlubmluZyDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8g0YEgY1VSTCA8IDcuNDQuMCIKIAotIzogaHR0cC5jOjE4NTQKKyM6IGh0dHAuYzo4NzYKK21zZ2lkICJDVVJMU1NMT1BUX05PX1JFVk9LRSBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuNDQuMCIKK21zZ3N0ciAiIgorCisjOiBodHRwLmM6OTQ5Cittc2dpZCAiUHJvdG9jb2wgcmVzdHJpY3Rpb25zIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy4xOS40IgorbXNnc3RyICIiCisKKyM6IGh0dHAuYzoxMDg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuc3VwcG9ydGVkIFNTTCBiYWNrZW5kICclcycuIFN1cHBvcnRlZCBTU0wgYmFja2VuZHM6IgorbXNnc3RyICIiCisKKyM6IGh0dHAuYzoxMDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBzZXQgU1NMIGJhY2tlbmQgdG8gJyVzJzogY1VSTCB3YXMgYnVpbHQgd2l0aG91dCBTU0wgYmFja2VuZHMiCittc2dzdHIgIiIKKworIzogaHR0cC5jOjEwOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHNldCBTU0wgYmFja2VuZCB0byAnJXMnOiBhbHJlYWR5IHNldCIKK21zZ3N0ciAiIgorCisjOiBodHRwLmM6MTk2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidW5hYmxlIHRvIHVwZGF0ZSB1cmwgYmFzZSBmcm9tIHJlZGlyZWN0aW9uOlxuIgpAQCAtMTYyNzksOTQgKzE5NDU3LDIxNCBAQAogIiAgIHJlZGlyZWN0OiAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINCx0LDQt9C+0LLRi9C5IHVybCDQuNC3INC/0LXRgNC10LDQtNGA0LXRgdCw0YbQuNC4OlxuICDQt9Cw0L/RgNC+0YjQtdC90L46ICVzXG4gICDQv9C10YDQtdCw0LTRgNC10YHQvtCy0LDQvdC+OiAlcyIKIAotIzogcmVtb3RlLWN1cmwuYzo0MDEKKyM6IHJlbW90ZS1jdXJsLmM6MTU3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcXVvdGluZyBpbiBwdXNoLW9wdGlvbiB2YWx1ZTogJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUtY3VybC5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlc2luZm8vcmVmcyBub3QgdmFsaWQ6IGlzIHRoaXMgYSBnaXQgcmVwb3NpdG9yeT8iCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzozNTUKK21zZ2lkICJpbnZhbGlkIHNlcnZlciByZXNwb25zZTsgZXhwZWN0ZWQgc2VydmljZSwgZ290IGZsdXNoIHBhY2tldCIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUtY3VybC5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNlcnZlciByZXNwb25zZTsgZ290ICclcyciCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVwb3NpdG9yeSAnJXMnIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUtY3VybC5jOjQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJBdXRoZW50aWNhdGlvbiBmYWlsZWQgZm9yICclcyciCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnOiAlcyIKK21zZ3N0ciAiwqslc8K7INC90LXQtNC+0YHRgtGD0L/QvdC+OiAlcyIKKworIzogcmVtb3RlLWN1cmwuYzo0NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVkaXJlY3RpbmcgdG8gJXMiCiBtc2dzdHIgItC/0LXRgNC10LDQtNGA0LXRgdCw0YbQuNGPINC90LAgJXMiCiAKLSM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oOjU5CisjOiByZW1vdGUtY3VybC5jOjU4NAorbXNnaWQgInNob3VsZG4ndCBoYXZlIEVPRiB3aGVuIG5vdCBnZW50bGUgb24gRU9GIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6NjY0Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBycGMgcG9zdCBkYXRhIC0gdHJ5IGluY3JlYXNpbmcgaHR0cC5wb3N0QnVmZmVyIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlJQQyBmYWlsZWQ7ICVzIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6NzY0Cittc2dpZCAiY2Fubm90IGhhbmRsZSBwdXNoZXMgdGhpcyBiaWciCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRlZmxhdGUgcmVxdWVzdDsgemxpYiBkZWZsYXRlIGVycm9yICVkIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6ODgzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZWZsYXRlIHJlcXVlc3Q7IHpsaWIgZW5kIGVycm9yICVkIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTAxNAorbXNnaWQgImR1bWIgaHR0cCB0cmFuc3BvcnQgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUtY3VybC5jOjEwMjgKK21zZ2lkICJmZXRjaCBmYWlsZWQuIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTA3NgorbXNnaWQgImNhbm5vdCBmZXRjaCBieSBzaGExIG92ZXIgc21hcnQgaHR0cCIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUtY3VybC5jOjExMjAgcmVtb3RlLWN1cmwuYzoxMTI2CisjLCBjLWZvcm1hdAorbXNnaWQgInByb3RvY29sIGVycm9yOiBleHBlY3RlZCBzaGEvcmVmLCBnb3QgJyVzJyIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUtY3VybC5jOjExMzggcmVtb3RlLWN1cmwuYzoxMjUyCisjLCBjLWZvcm1hdAorbXNnaWQgImh0dHAgdHJhbnNwb3J0IGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzoxMTc0Cittc2dpZCAiZ2l0LWh0dHAtcHVzaCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogcmVtb3RlLWN1cmwuYzoxMzYwCittc2dpZCAicmVtb3RlLWN1cmw6IHVzYWdlOiBnaXQgcmVtb3RlLWN1cmwgPHJlbW90ZT4gWzx1cmw+XSIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUtY3VybC5jOjEzOTIKK21zZ2lkICJyZW1vdGUtY3VybDogZXJyb3IgcmVhZGluZyBjb21tYW5kIHN0cmVhbSBmcm9tIGdpdCIKK21zZ3N0ciAiIgorCisjOiByZW1vdGUtY3VybC5jOjEzOTkKK21zZ2lkICJyZW1vdGUtY3VybDogZmV0Y2ggYXR0ZW1wdGVkIHdpdGhvdXQgYSBsb2NhbCByZXBvIgorbXNnc3RyICIiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTQzOQorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUtY3VybDogdW5rbm93biBjb21tYW5kICclcycgZnJvbSBnaXQiCittc2dzdHIgIiIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmg6NjEKIG1zZ2lkICJhcmdzIgogbXNnc3RyICLQsNGA0LPRg9C80LXQvdGC0YsiCiAKLSM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oOjYwCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaDo2MgogbXNnaWQgIm9iamVjdCBmaWx0ZXJpbmciCiBtc2dzdHIgItGE0LjQu9GM0YLRgNCw0YbQuNGPINC+0LHRitC10LrRgtC+0LIiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNTcKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNzAKIG1zZ2lkICJleHBpcnktZGF0ZSIKIG1zZ3N0ciAi0LTQsNGC0LAt0L7QutC+0L3Rh9Cw0L3QuNGPIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MTcyCisjOiBwYXJzZS1vcHRpb25zLmg6MTg0CiBtc2dpZCAibm8tb3AgKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpIgogbXNnc3RyICLQvdC40YfQtdCz0L4g0L3QtSDQtNC10LvQsNC10YIgKNC+0YHRgtCw0LLQu9C10L3QviDQtNC70Y8g0L7QsdGA0LDRgtC90L7QuSDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCkiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNTEKKyM6IHBhcnNlLW9wdGlvbnMuaDozMDQKIG1zZ2lkICJiZSBtb3JlIHZlcmJvc2UiCiBtc2dzdHIgItCx0YvRgtGMINC80L3QvtCz0L7RgdC70L7QstC90LXQtSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjI1MworIzogcGFyc2Utb3B0aW9ucy5oOjMwNgogbXNnaWQgImJlIG1vcmUgcXVpZXQiCiBtc2dzdHIgItGC0LjRhdC40Lkg0YDQtdC20LjQvCIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjI1OQorIzogcGFyc2Utb3B0aW9ucy5oOjMxMgogbXNnaWQgInVzZSA8bj4gZGlnaXRzIHRvIGRpc3BsYXkgU0hBLTFzIgogbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgPG4+INGG0LjRhNGAINC00LvRjyDQstGL0LLQvtC00LAgU0hBLTEiCiAKKyM6IHBhcnNlLW9wdGlvbnMuaDozMzEKK21zZ2lkICJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIgorbXNnc3RyICLQutCw0Log0YPQtNCw0LvRj9GC0Ywg0L/RgNC+0LHQtdC70Ysg0LggI9C60L7QvNC80LXQvdGC0LDRgNC40Lgg0LjQtyDRgdC+0L7QsdGJ0LXQvdC40Y8g0LrQvtC80LzQuNGC0LAiCisKKyM6IHJlZi1maWx0ZXIuaDoxMDEKK21zZ2lkICJrZXkiCittc2dzdHIgItC60LvRjtGHIgorCisjOiByZWYtZmlsdGVyLmg6MTAxCittc2dpZCAiZmllbGQgbmFtZSB0byBzb3J0IG9uIgorbXNnc3RyICLQuNC80Y8g0L/QvtC70Y8sINC/0L4g0LrQvtGC0L7RgNC+0LzRgyDQstGL0L/QvtC70L3QuNGC0Ywg0YHQvtGA0YLQuNGA0L7QstC60YMiCisKKyM6IHJlcmVyZS5oOjQ0Cittc2dpZCAidXBkYXRlIHRoZSBpbmRleCB3aXRoIHJldXNlZCBjb25mbGljdCByZXNvbHV0aW9uIGlmIHBvc3NpYmxlIgorbXNnc3RyICLQvtCx0L3QvtCy0LjRgtGMINC40L3QtNC10LrRgSDRgSDQv9C+0LzQvtGJ0YzRjiDQv9C10YDQtdC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPINGA0LDQt9GA0LXRiNC10L3QuNGPINC60L7QvdGE0LvQuNC60YLQsCwg0LXRgdC70Lgg0LLQvtC30LzQvtC20L3QviIKKwogIzogY29tbWFuZC1saXN0Lmg6NTAKIG1zZ2lkICJBZGQgZmlsZSBjb250ZW50cyB0byB0aGUgaW5kZXgiCiBtc2dzdHIgItCU0L7QsdCw0LLQu9C10L3QuNC1INGB0L7QtNC10YDQttC40LzQvtCz0L4g0YTQsNC50LvQsCDQsiDQuNC90LTQtdC60YEiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjUxCiBtc2dpZCAiQXBwbHkgYSBzZXJpZXMgb2YgcGF0Y2hlcyBmcm9tIGEgbWFpbGJveCIKLW1zZ3N0ciAi0J/RgNC40LzQtdC90LjRgtGMINGB0LXRgNC40Y4g0L/QsNGC0YfQtdC5INC40Lcg0L/QvtGH0YLQvtCy0L7Qs9C+INGB0L7QvtCx0YnQtdC90LjRjyIKK21zZ3N0ciAi0J/RgNC40LzQtdC90LXQvdC40LUg0YHQtdGA0LjQuCDQv9Cw0YLRh9C10Lkg0LjQtyDQv9C+0YfRgtC+0LLQvtCz0L4g0YHQvtC+0LHRidC10L3QuNGPIgogCiAjOiBjb21tYW5kLWxpc3QuaDo1MgogbXNnaWQgIkFubm90YXRlIGZpbGUgbGluZXMgd2l0aCBjb21taXQgaW5mb3JtYXRpb24iCi1tc2dzdHIgItCQ0L3QvdC+0YLQuNGA0L7QstCw0YLRjCDRgdGC0YDQvtC60Lgg0YTQsNC50LvQsCDQuNC90YTQvtGA0LzQsNGG0LjQtdC5INC+INC60L7QvNC80LjRgtCw0YUiCittc2dzdHIgItCQ0L3QvdC+0YLQuNGA0L7QstCw0L3QuNC1INGB0YLRgNC+0Log0YTQsNC50LvQsCDQuNC90YTQvtGA0LzQsNGG0LjQtdC5INC+INC60L7QvNC80LjRgtCw0YUiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjUzCiBtc2dpZCAiQXBwbHkgYSBwYXRjaCB0byBmaWxlcyBhbmQvb3IgdG8gdGhlIGluZGV4IgotbXNnc3RyICLQn9GA0LjQvNC10L3QuNGC0Ywg0L/QsNGC0Ycg0Log0YTQsNC50LvQsNC8INC4L9C40LvQuCDQuNC90LTQtdC60YHRgyIKK21zZ3N0ciAi0J/RgNC40LzQtdC90LXQvdC40LUg0L/QsNGC0YfQsCDQuiDRhNCw0LnQu9Cw0Lwg0Lgv0LjQu9C4INC40L3QtNC10LrRgdGDIgogCiAjOiBjb21tYW5kLWxpc3QuaDo1NAotbXNnaWQgIkltcG9ydCBhbiBBcmNoIHJlcG9zaXRvcnkgaW50byBHaXQiCi1tc2dzdHIgItCY0LzQv9C+0YDRgtC40YDQvtCy0LDRgtGMINGA0LXQv9C+0LfQuNGC0L7RgNC40LkgQXJjaCDQsiBHaXQiCittc2dpZCAiSW1wb3J0IGEgR05VIEFyY2ggcmVwb3NpdG9yeSBpbnRvIEdpdCIKK21zZ3N0ciAi0JjQvNC/0L7RgNGC0LjRgNC+0LLQsNC90LjQtSBHTlUgQXJjaCDRgNC10L/QvtC30LjRgtC+0YDQuNGPINCyIEdpdCIKIAogIzogY29tbWFuZC1saXN0Lmg6NTUKIG1zZ2lkICJDcmVhdGUgYW4gYXJjaGl2ZSBvZiBmaWxlcyBmcm9tIGEgbmFtZWQgdHJlZSIKLW1zZ3N0ciAi0KHQtNC10LvQsNGC0Ywg0LDRgNGF0LjQsiDRhNCw0LnQu9C+0LIg0LjQtyDRg9C60LDQt9Cw0L3QvdC+0LPQviDQtNC10YDQtdCy0LAiCittc2dzdHIgItCh0L7Qt9C00LDQvdC40LUg0LDRgNGF0LjQstCwINGE0LDQudC70L7QsiDQuNC3INGD0LrQsNC30LDQvdC90L7Qs9C+INC00LXRgNC10LLQsCIKIAogIzogY29tbWFuZC1saXN0Lmg6NTYKIG1zZ2lkICJVc2UgYmluYXJ5IHNlYXJjaCB0byBmaW5kIHRoZSBjb21taXQgdGhhdCBpbnRyb2R1Y2VkIGEgYnVnIgotbXNnc3RyICLQktGL0L/QvtC70L3QuNGC0Ywg0LTQstC+0LjRh9C90YvQuSDQv9C+0LjRgdC6INC40LfQvNC10L3QtdC90LjRjywg0LrQvtGC0L7RgNC+0LUg0LLQvdC+0YHQuNGCINC+0YjQuNCx0LrRgyIKK21zZ3N0ciAi0JLRi9C/0L7Qu9C90LXQvdC40LUg0LTQstC+0LjRh9C90L7Qs9C+INC/0L7QuNGB0LrQsCDQutC+0LzQvNC40YLQsCwg0LrQvtGC0L7RgNGL0Lkg0LLQvdC+0YHQuNGCINC+0YjQuNCx0LrRgyIKIAogIzogY29tbWFuZC1saXN0Lmg6NTcKIG1zZ2lkICJTaG93IHdoYXQgcmV2aXNpb24gYW5kIGF1dGhvciBsYXN0IG1vZGlmaWVkIGVhY2ggbGluZSBvZiBhIGZpbGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0J/QvtC60LDQtyDRgNC10LTQsNC60YbQuNC4INC4INCw0LLRgtC+0YDQsCDQv9C+0YHQu9C10LTQvdC10LPQviDQuNC30LzQtdC90LjQstGI0LXQs9C+INC60LDQttC00YPRjiDRgdGC0YDQvtC60YMg0YTQsNC50LvQsCIKIAogIzogY29tbWFuZC1saXN0Lmg6NTgKIG1zZ2lkICJMaXN0LCBjcmVhdGUsIG9yIGRlbGV0ZSBicmFuY2hlcyIKLW1zZ3N0ciAi0JLRi9Cy0L7QtCDRgdC/0LjRgdC60LAg0LLQtdGC0L7QuiwgINC40YUg0YHQvtC30LTQsNC90LjQtSDQuNC70Lgg0YPQtNCw0LvQtdC90LjQtSIKK21zZ3N0ciAi0JLRi9Cy0L7QtCDRgdC/0LjRgdC60LAsINGB0L7Qt9C00LDQvdC40LUg0LjQu9C4INGD0LTQsNC70LXQvdC40LUg0LLQtdGC0L7QuiIKIAogIzogY29tbWFuZC1saXN0Lmg6NTkKIG1zZ2lkICJNb3ZlIG9iamVjdHMgYW5kIHJlZnMgYnkgYXJjaGl2ZSIKLW1zZ3N0ciAiIgorbXNnc3RyICLQn9C10YDQtdC80LXRidC10L3QuNC1INC+0LHRitC10LrRgtC+0LIg0Lgg0YHRgdGL0LvQvtC6INC/0L4g0LDRgNGF0LjQstGDIgogCiAjOiBjb21tYW5kLWxpc3QuaDo2MAogbXNnaWQgIlByb3ZpZGUgY29udGVudCBvciB0eXBlIGFuZCBzaXplIGluZm9ybWF0aW9uIGZvciByZXBvc2l0b3J5IG9iamVjdHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0JLRi9Cy0L7QtCDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+INC40LvQuCDRgtC40L/QsCDQuCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDRgNCw0LfQvNC10YDQtSDQtNC70Y8g0L7QsdGK0LXQutGC0L7QsiDRgNC10L/QvtC30LjRgtC+0YDQuNGPIgogCiAjOiBjb21tYW5kLWxpc3QuaDo2MQogbXNnaWQgIkRpc3BsYXkgZ2l0YXR0cmlidXRlcyBpbmZvcm1hdGlvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICLQktGL0LLQvtC0INC40L3RhNC+0YDQvNCw0YbQuNC4INC40LcgZ2l0YXR0cmlidXRlcyIKIAogIzogY29tbWFuZC1saXN0Lmg6NjIKIG1zZ2lkICJEZWJ1ZyBnaXRpZ25vcmUgLyBleGNsdWRlIGZpbGVzIgotbXNnc3RyICIiCittc2dzdHIgItCe0YLQu9Cw0LTQutCwINGE0LDQudC70L7QsiBnaXRpZ25vcmUgLyBleGNsdWRlIgogCiAjOiBjb21tYW5kLWxpc3QuaDo2MwogbXNnaWQgIlNob3cgY2Fub25pY2FsIG5hbWVzIGFuZCBlbWFpbCBhZGRyZXNzZXMgb2YgY29udGFjdHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0JLRi9Cy0L7QtCDQutCw0L3QvtC90LjRh9C90YvRhSDQuNC80ZHQvSDQuCDQsNC00YDQtdGB0L7QsiDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0Ysg0LrQvtC90YLQsNC60YLQvtCyIgogCiAjOiBjb21tYW5kLWxpc3QuaDo2NAogbXNnaWQgIlN3aXRjaCBicmFuY2hlcyBvciByZXN0b3JlIHdvcmtpbmcgdHJlZSBmaWxlcyIKQEAgLTE2Mzc0LDI3ICsxOTY3MiwyNyBAQAogCiAjOiBjb21tYW5kLWxpc3QuaDo2NQogbXNnaWQgIkNvcHkgZmlsZXMgZnJvbSB0aGUgaW5kZXggdG8gdGhlIHdvcmtpbmcgdHJlZSIKLW1zZ3N0ciAiIgorbXNnc3RyICLQmtC+0L/QuNGA0L7QstCw0L3QuNC1INGE0LDQudC70L7QsiDQuNC3INC40L3QtNC10LrRgdCwINCyINGA0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzIgogCiAjOiBjb21tYW5kLWxpc3QuaDo2NgogbXNnaWQgIkVuc3VyZXMgdGhhdCBhIHJlZmVyZW5jZSBuYW1lIGlzIHdlbGwgZm9ybWVkIgotbXNnc3RyICIiCittc2dzdHIgItCj0LTQvtGB0YLQvtCy0LXRgNC40YLRjNGB0Y8sINGH0YLQviDQuNC80Y8g0YHRgdGL0LvQutC4INC/0YDQsNCy0LjQu9GM0L3QviDRgdGE0L7RgNC80LjRgNC+0LLQsNC90L4iCiAKICM6IGNvbW1hbmQtbGlzdC5oOjY3CiBtc2dpZCAiRmluZCBjb21taXRzIHlldCB0byBiZSBhcHBsaWVkIHRvIHVwc3RyZWFtIgotbXNnc3RyICIiCittc2dzdHIgItCf0L7QuNGB0Log0LrQvtC80LzQuNGC0L7QsiDQutC+0YLQvtGA0YvQtSDQtdGJ0LUg0L3QtSDQv9GA0LjQvNC10L3QtdC90Ysg0LLRi9GI0LXRgdGC0L7Rj9GJ0LjQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC10LwiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjY4CiBtc2dpZCAiQXBwbHkgdGhlIGNoYW5nZXMgaW50cm9kdWNlZCBieSBzb21lIGV4aXN0aW5nIGNvbW1pdHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0J/RgNC40LzQtdC90LXQvdC40LUg0LjQt9C80LXQvdC10L3QuNC5LCDRgdC00LXQu9Cw0L3QvdGL0YUg0LIg0LrQsNC60L7QvC3RgtC+INGB0YPRidC10YHRgtCy0YPRjtGJ0LXQvCDQutC+0LzQvNC40YLQtSIKIAogIzogY29tbWFuZC1saXN0Lmg6NjkKIG1zZ2lkICJHcmFwaGljYWwgYWx0ZXJuYXRpdmUgdG8gZ2l0LWNvbW1pdCIKLW1zZ3N0ciAiIgorbXNnc3RyICLQk9GA0LDRhNC40YfQtdGB0LrQsNGPINCw0LvRjNGC0LXRgNC90LDRgtC40LLQsCDQtNC70Y8gZ2l0LWNvbW1pdCIKIAogIzogY29tbWFuZC1saXN0Lmg6NzAKIG1zZ2lkICJSZW1vdmUgdW50cmFja2VkIGZpbGVzIGZyb20gdGhlIHdvcmtpbmcgdHJlZSIKLW1zZ3N0ciAiIgorbXNnc3RyICLQo9C00LDQu9C10L3QuNC1INC90LXQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDRhNCw0LnQu9C+0LIg0LjQtyDRgNCw0LHQvtGH0LXQs9C+INC60LDRgtCw0LvQvtCz0LAiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjcxCiBtc2dpZCAiQ2xvbmUgYSByZXBvc2l0b3J5IGludG8gYSBuZXcgZGlyZWN0b3J5IgpAQCAtMTY0MDIsNTkgKzE5NzAwLDU5IEBACiAKICM6IGNvbW1hbmQtbGlzdC5oOjcyCiBtc2dpZCAiRGlzcGxheSBkYXRhIGluIGNvbHVtbnMiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0JLRi9Cy0L7QtCDQtNCw0L3QvdGL0YUg0L/QviDQutC+0LvQvtC90LrQsNC8IgogCiAjOiBjb21tYW5kLWxpc3QuaDo3MwogbXNnaWQgIlJlY29yZCBjaGFuZ2VzIHRvIHRoZSByZXBvc2l0b3J5IgogbXNnc3RyICLQl9Cw0L/QuNGB0Ywg0LjQt9C80LXQvdC10L3QuNC5INCyINGA0LXQv9C+0LfQuNGC0L7RgNC40LkiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjc0Ci1tc2dpZCAiV3JpdGUgYW5kIHZlcmlmeSBHaXQgY29tbWl0IGdyYXBoIGZpbGVzIgotbXNnc3RyICIiCittc2dpZCAiV3JpdGUgYW5kIHZlcmlmeSBHaXQgY29tbWl0LWdyYXBoIGZpbGVzIgorbXNnc3RyICLQl9Cw0L/QuNGB0Ywg0Lgg0L/RgNC+0LLQtdGA0LrQsCBjb21taXQtZ3JhcGgg0YTQsNC50LvQvtCyIEdpdCIKIAogIzogY29tbWFuZC1saXN0Lmg6NzUKIG1zZ2lkICJDcmVhdGUgYSBuZXcgY29tbWl0IG9iamVjdCIKLW1zZ3N0ciAiIgorbXNnc3RyICLQodC+0LfQtNCw0L3QuNC1INC90L7QstC+0LPQviDQvtCx0YrQtdC60YLQsCDQutC+0LzQvNC40YLQsCIKIAogIzogY29tbWFuZC1saXN0Lmg6NzYKIG1zZ2lkICJHZXQgYW5kIHNldCByZXBvc2l0b3J5IG9yIGdsb2JhbCBvcHRpb25zIgotbXNnc3RyICIiCittc2dzdHIgItCf0L7Qu9GD0YfQtdC90LjQtSDQuCDRg9GB0YLQsNC90L7QstC60LAg0LPQu9C+0LHQsNC70YzQvdGL0YUg0L7Qv9GG0LjQuSDQuNC70Lgg0L7Qv9GG0LjQuSDRgNC10L/QvtC30LjRgtC+0YDQuNGPIgogCiAjOiBjb21tYW5kLWxpc3QuaDo3NwogbXNnaWQgIkNvdW50IHVucGFja2VkIG51bWJlciBvZiBvYmplY3RzIGFuZCB0aGVpciBkaXNrIGNvbnN1bXB0aW9uIgotbXNnc3RyICIiCittc2dzdHIgItCf0L7QtNGB0YfQtdGCINC60L7Qu9C40YfQtdGB0YLQstCwINC90LXRg9C/0LDQutC+0LLQsNC90L3Ri9GFINC+0LHRitC10LrRgtC+0LIg0Lgg0LjRhSDQv9C+0YLRgNC10LHQu9C10L3QuNGPINC00LjRgdC60LAiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjc4CiBtc2dpZCAiUmV0cmlldmUgYW5kIHN0b3JlIHVzZXIgY3JlZGVudGlhbHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0J/QvtC70YPRh9C10L3QuNC1INC4INGB0L7RhdGA0LDQvdC10L3QuNC1INGD0YfQtdGC0L3Ri9GFINC30LDQv9C40YHQtdC5INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyIKIAogIzogY29tbWFuZC1saXN0Lmg6NzkKIG1zZ2lkICJIZWxwZXIgdG8gdGVtcG9yYXJpbHkgc3RvcmUgcGFzc3dvcmRzIGluIG1lbW9yeSIKLW1zZ3N0ciAiIgorbXNnc3RyICLQn9C+0LzQvtGJ0L3QuNC6INC00LvRjyDQstGA0LXQvNC10L3QvdC+0LPQviDRhdGA0LDQvdC10L3QuNGPINC/0LDRgNC+0LvQtdC5INCyINC/0LDQvNGP0YLQuCIKIAogIzogY29tbWFuZC1saXN0Lmg6ODAKIG1zZ2lkICJIZWxwZXIgdG8gc3RvcmUgY3JlZGVudGlhbHMgb24gZGlzayIKLW1zZ3N0ciAiIgorbXNnc3RyICLQn9C+0LzQvtGJ0L3QuNC6INC00LvRjyDRhdGA0LDQvdC10L3QuNGPINGD0YfQtdGC0L3Ri9GFINC30LDQv9C40YHQtdC5INC90LAg0LTQuNGB0LrQtSIKIAogIzogY29tbWFuZC1saXN0Lmg6ODEKIG1zZ2lkICJFeHBvcnQgYSBzaW5nbGUgY29tbWl0IHRvIGEgQ1ZTIGNoZWNrb3V0IgotbXNnc3RyICIiCittc2dzdHIgItCt0LrRgdC/0L7RgNGCINC10LTQuNC90YHRgtCy0LXQvdC90L7Qs9C+INC60L7QvNC80LjRgtCwINCyINCy0LjQtNC1INGA0LDQsdC+0YfQtdC5INC60L7Qv9C40LggQ1ZTIgogCiAjOiBjb21tYW5kLWxpc3QuaDo4MgogbXNnaWQgIlNhbHZhZ2UgeW91ciBkYXRhIG91dCBvZiBhbm90aGVyIFNDTSBwZW9wbGUgbG92ZSB0byBoYXRlIgotbXNnc3RyICIiCittc2dzdHIgItCh0L/QsNGB0LXQvdC40LUg0LLQsNGI0LjRhSDQtNCw0L3QvdGL0YUg0LjQtyDQtNGA0YPQs9C+0Lkg0KHQmtCSINC60L7RgtC+0YDRg9GOINC70Y7QtNC4INC70Y7QsdGP0YIg0L3QtdC90LDQstC40LTQtdGC0YwiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjgzCiBtc2dpZCAiQSBDVlMgc2VydmVyIGVtdWxhdG9yIGZvciBHaXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0K3QvNGD0LvRj9GC0L7RgCDRgdC10YDQstC10YDQsCBDVlMg0LTQu9GPIEdpdCIKIAogIzogY29tbWFuZC1saXN0Lmg6ODQKIG1zZ2lkICJBIHJlYWxseSBzaW1wbGUgc2VydmVyIGZvciBHaXQgcmVwb3NpdG9yaWVzIgotbXNnc3RyICIiCittc2dzdHIgItCe0YfQtdC90Ywg0L/RgNC+0YHRgtC+0Lkg0YHQtdGA0LLQtdGAINC00LvRjyBHaXQg0YDQtdC/0L7Qt9C40YLQvtGA0LjQtdCyIgogCiAjOiBjb21tYW5kLWxpc3QuaDo4NQogbXNnaWQgIkdpdmUgYW4gb2JqZWN0IGEgaHVtYW4gcmVhZGFibGUgbmFtZSBiYXNlZCBvbiBhbiBhdmFpbGFibGUgcmVmIgotbXNnc3RyICIiCittc2dzdHIgItCf0YDQuNGB0LLQvtC10L3QuNC1INC+0LHRitC10LrRgtGDINGD0LTQvtCx0L7Rh9C40YLQsNC10LzQvtC1INC40LzRjyDQvdCwINC+0YHQvdC+0LLQtSDQtNC+0YHRgtGD0L/QvdC+0Lkg0YHRgdGL0LvQutC4IgogCiAjOiBjb21tYW5kLWxpc3QuaDo4NgogbXNnaWQgIlNob3cgY2hhbmdlcyBiZXR3ZWVuIGNvbW1pdHMsIGNvbW1pdCBhbmQgd29ya2luZyB0cmVlLCBldGMiCkBAIC0xNjQ2MiwyNyArMTk3NjAsMjcgQEAKIAogIzogY29tbWFuZC1saXN0Lmg6ODcKIG1zZ2lkICJDb21wYXJlcyBmaWxlcyBpbiB0aGUgd29ya2luZyB0cmVlIGFuZCB0aGUgaW5kZXgiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0KHRgNCw0LLQvdC10L3QuNC1INGB0LXQtNC10YDQttC40LzQvtCz0L4g0YTQsNC50LvQvtCyINCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUg0YEg0YTQsNC50LvQsNC80Lgg0LIg0LjQvdC00LXQutGB0LUiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjg4CiBtc2dpZCAiQ29tcGFyZSBhIHRyZWUgdG8gdGhlIHdvcmtpbmcgdHJlZSBvciBpbmRleCIKLW1zZ3N0ciAiIgorbXNnc3RyICLQodGA0LDQstC90LXQvdC40LUg0LTQtdGA0LXQstCwINGE0LDQudC70L7QsiDRgSDRgNCw0LHQvtGH0LjQvCDQutCw0YLQsNC70L7Qs9C+0Lwg0LjQu9C4INC40L3QtNC10LrRgdC+0LwiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjg5CiBtc2dpZCAiQ29tcGFyZXMgdGhlIGNvbnRlbnQgYW5kIG1vZGUgb2YgYmxvYnMgZm91bmQgdmlhIHR3byB0cmVlIG9iamVjdHMiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0KHRgNCw0LLQvdC10L3QuNC1INGB0L7QtNC10YDQttC40LzQvtCz0L4g0Lgg0YDQtdC20LjQvNCwINC00LLQvtC40YfQvdGL0YUg0L7QsdGK0LXQutGC0L7Qsiwg0L3QsNC50LTQtdC90L3Ri9GFINC/0L4g0LTQstGD0Lwg0L7QsdGK0LXQutGC0LDQvCDQtNC10YDQtdCy0LAiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjkwCiBtc2dpZCAiU2hvdyBjaGFuZ2VzIHVzaW5nIGNvbW1vbiBkaWZmIHRvb2xzIgotbXNnc3RyICIiCittc2dzdHIgItCf0L7QutCw0Lcg0LjQt9C80LXQvdC10L3QuNC5INGBINC/0L7QvNC+0YnRjNGOINGA0LDRgdC/0YDQvtGB0YLRgNCw0L3QtdC90L3Ri9GFINGD0YLQuNC70LjRgiDRgdGA0LDQstC90LXQvdC40Y8iCiAKICM6IGNvbW1hbmQtbGlzdC5oOjkxCiBtc2dpZCAiR2l0IGRhdGEgZXhwb3J0ZXIiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0K3QutGB0L/QvtGA0YIg0LTQsNC90L3Ri9GFIEdpdCIKIAogIzogY29tbWFuZC1saXN0Lmg6OTIKIG1zZ2lkICJCYWNrZW5kIGZvciBmYXN0IEdpdCBkYXRhIGltcG9ydGVycyIKLW1zZ3N0ciAiIgorbXNnc3RyICLQktC90YPRgtGA0LXQvdC90LjQuSDQuNC90YLQtdGA0YTQtdC50YEg0LTQu9GPINCx0YvRgdGC0YDQvtCz0L4g0LjQvNC/0L7RgNGC0LAg0LTQsNC90L3Ri9GFIEdpdCIKIAogIzogY29tbWFuZC1saXN0Lmg6OTMKIG1zZ2lkICJEb3dubG9hZCBvYmplY3RzIGFuZCByZWZzIGZyb20gYW5vdGhlciByZXBvc2l0b3J5IgpAQCAtMTY0OTAsMzUgKzE5Nzg4LDM1IEBACiAKICM6IGNvbW1hbmQtbGlzdC5oOjk0CiBtc2dpZCAiUmVjZWl2ZSBtaXNzaW5nIG9iamVjdHMgZnJvbSBhbm90aGVyIHJlcG9zaXRvcnkiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0J/QvtC70YPRh9C10L3QuNC1INC90LXQtNC+0YHRgtCw0Y7RidC40YUg0L7QsdGK0LXQutGC0L7QsiDQuNC3INC00YDRg9Cz0L7Qs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8iCiAKICM6IGNvbW1hbmQtbGlzdC5oOjk1CiBtc2dpZCAiUmV3cml0ZSBicmFuY2hlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICLQn9C10YDQtdC30LDQv9C40YHRjCDQstC10YLQvtC6IgogCiAjOiBjb21tYW5kLWxpc3QuaDo5NgogbXNnaWQgIlByb2R1Y2UgYSBtZXJnZSBjb21taXQgbWVzc2FnZSIKLW1zZ3N0ciAiIgorbXNnc3RyICLQodC+0LfQtNCw0L3QuNC1INGB0L7QvtCx0YnQtdC90LjRjyDQutC+0LzQvNC40YLQsCDQtNC70Y8g0YHQu9C40Y/QvdC40Y8iCiAKICM6IGNvbW1hbmQtbGlzdC5oOjk3CiBtc2dpZCAiT3V0cHV0IGluZm9ybWF0aW9uIG9uIGVhY2ggcmVmIgotbXNnc3RyICIiCittc2dzdHIgItCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LrQsNC20LTQvtC5INGB0YHRi9C70LrQtSIKIAogIzogY29tbWFuZC1saXN0Lmg6OTgKIG1zZ2lkICJQcmVwYXJlIHBhdGNoZXMgZm9yIGUtbWFpbCBzdWJtaXNzaW9uIgotbXNnc3RyICIiCittc2dzdHIgItCf0L7QtNCz0L7RgtC+0LLQutCwINC/0LDRgtGH0LXQuSDQtNC70Y8g0L7RgtC/0YDQsNCy0LrQuCDQv9C+INGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLQtSIKIAogIzogY29tbWFuZC1saXN0Lmg6OTkKIG1zZ2lkICJWZXJpZmllcyB0aGUgY29ubmVjdGl2aXR5IGFuZCB2YWxpZGl0eSBvZiB0aGUgb2JqZWN0cyBpbiB0aGUgZGF0YWJhc2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDRgdCy0Y/Qt9C90L7RgdGC0Lgg0Lgg0LLQsNC70LjQtNC90L7RgdGC0Lgg0L7QsdGK0LXQutGC0L7QsiDQsiDQsdCw0LfQtSDQtNCw0L3QvdGL0YUiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjEwMAogbXNnaWQgIkNsZWFudXAgdW5uZWNlc3NhcnkgZmlsZXMgYW5kIG9wdGltaXplIHRoZSBsb2NhbCByZXBvc2l0b3J5IgotbXNnc3RyICIiCittc2dzdHIgItCe0YfQuNGB0YLQutCwINC90LXQvdGD0LbQvdGL0YUg0YTQsNC50LvQvtCyINC4INC+0L/RgtC40LzQuNC30LDRhtC40Y8g0LvQvtC60LDQu9GM0L3QvtCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyIKIAogIzogY29tbWFuZC1saXN0Lmg6MTAxCiBtc2dpZCAiRXh0cmFjdCBjb21taXQgSUQgZnJvbSBhbiBhcmNoaXZlIGNyZWF0ZWQgdXNpbmcgZ2l0LWFyY2hpdmUiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0JjQt9Cy0LvQtdGH0LXQvdC40LUg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQsCDQutC+0LzQvNC40YLQsCDQuNC3INCw0YDRhdC40LLQsCwg0YHQvtC30LTQsNC90L3QvtCz0L4g0YEg0L/QvtC80L7RidGM0Y4gZ2l0LWFyY2hpdmUiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjEwMgogbXNnaWQgIlByaW50IGxpbmVzIG1hdGNoaW5nIGEgcGF0dGVybiIKQEAgLTE2NTI2LDM1ICsxOTgyNCwzNSBAQAogCiAjOiBjb21tYW5kLWxpc3QuaDoxMDMKIG1zZ2lkICJBIHBvcnRhYmxlIGdyYXBoaWNhbCBpbnRlcmZhY2UgdG8gR2l0IgotbXNnc3RyICIiCittc2dzdHIgItCf0L7RgNGC0LDRgtC40LLQvdGL0Lkg0LPRgNCw0YTQuNGH0LXRgdC60LjQuSDQuNC90YLQtdGA0YTQtdC50YEg0LTQu9GPIEdpdCIKIAogIzogY29tbWFuZC1saXN0Lmg6MTA0CiBtc2dpZCAiQ29tcHV0ZSBvYmplY3QgSUQgYW5kIG9wdGlvbmFsbHkgY3JlYXRlcyBhIGJsb2IgZnJvbSBhIGZpbGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0JLRi9GH0LjRgdC70LXQvdC40LUg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQsCDQvtCx0YrQtdC60YLQsCDQuCDQstC+0LfQvNC+0LbQvdC+0LUg0YHQvtC30LTQsNC90LjQtSDQtNCy0L7QuNGH0L3QvtCz0L4g0L7QsdGK0LXQutGC0LAg0LjQtyDRhNCw0LnQu9CwIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMDUKIG1zZ2lkICJEaXNwbGF5IGhlbHAgaW5mb3JtYXRpb24gYWJvdXQgR2l0IgotbXNnc3RyICIiCittc2dzdHIgItCe0YLQvtCx0YDQsNC20LXQvdC40LUg0YHQv9GA0LDQstC+0YfQvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4gR2l0IgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMDYKIG1zZ2lkICJTZXJ2ZXIgc2lkZSBpbXBsZW1lbnRhdGlvbiBvZiBHaXQgb3ZlciBIVFRQIgotbXNnc3RyICIiCittc2dzdHIgItCh0LXRgNCy0LXRgNC90LDRjyDRgNC10LDQu9C40LfQsNGG0LjRjyDQv9GA0L7RgtC+0LrQvtC70LAgR2l0INC90LDQtCBIVFRQIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMDcKIG1zZ2lkICJEb3dubG9hZCBmcm9tIGEgcmVtb3RlIEdpdCByZXBvc2l0b3J5IHZpYSBIVFRQIgotbXNnc3RyICIiCittc2dzdHIgItCX0LDQs9GA0YPQt9C60LAg0LjQtyDQstC90LXRiNC90LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40Y8gR2l0INGBINC/0L7QvNC+0YnRjNGOIEhUVFAiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjEwOAogbXNnaWQgIlB1c2ggb2JqZWN0cyBvdmVyIEhUVFAvREFWIHRvIGFub3RoZXIgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiIgorbXNnc3RyICLQntGC0L/RgNCw0LLQutCwINC+0LHRitC10LrRgtC+0LIg0LIg0LTRgNGD0LPQvtC5INGA0LXQv9C+0LfQuNGC0L7RgNC40Lkg0YEg0L/QvtC80L7RidGM0Y4gSFRUUC9EQVYiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjEwOQogbXNnaWQgIlNlbmQgYSBjb2xsZWN0aW9uIG9mIHBhdGNoZXMgZnJvbSBzdGRpbiB0byBhbiBJTUFQIGZvbGRlciIKLW1zZ3N0ciAiIgorbXNnc3RyICLQntGC0L/RgNCw0LLQutCwINC60L7Qu9C70LXQutGG0LjQuCDQv9Cw0YLRh9C10Lkg0LjQtyDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTQsCDQsiDQv9Cw0L/QutGDIElNQVAiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjExMAogbXNnaWQgIkJ1aWxkIHBhY2sgaW5kZXggZmlsZSBmb3IgYW4gZXhpc3RpbmcgcGFja2VkIGFyY2hpdmUiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0J/QvtGB0YLRgNC+0LXQvdC40LUg0YTQsNC50LvQsCDQuNC90LTQtdC60YHQsCDQtNC70Y8g0YHRg9GJ0LXRgdGC0LLRg9GO0YnQtdCz0L4g0YPQv9Cw0LrQvtCy0LDQvdC90L7Qs9C+INCw0YDRhdC40LLQsCIKIAogIzogY29tbWFuZC1saXN0Lmg6MTExCiBtc2dpZCAiQ3JlYXRlIGFuIGVtcHR5IEdpdCByZXBvc2l0b3J5IG9yIHJlaW5pdGlhbGl6ZSBhbiBleGlzdGluZyBvbmUiCkBAIC0xNjU2MiwxNSArMTk4NjAsMTUgQEAKIAogIzogY29tbWFuZC1saXN0Lmg6MTEyCiBtc2dpZCAiSW5zdGFudGx5IGJyb3dzZSB5b3VyIHdvcmtpbmcgcmVwb3NpdG9yeSBpbiBnaXR3ZWIiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0JzQs9C90L7QstC10L3QvdGL0Lkg0L/RgNC+0YHQvNC+0YLRgCDQstCw0YjQtdCz0L4g0YDQsNCx0L7Rh9C10LPQviDRgNC10L/QvtC30LjRgtC+0YDQuNGPINCyIGdpdHdlYiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTEzCi1tc2dpZCAiYWRkIG9yIHBhcnNlIHN0cnVjdHVyZWQgaW5mb3JtYXRpb24gaW4gY29tbWl0IG1lc3NhZ2VzIgotbXNnc3RyICIiCittc2dpZCAiQWRkIG9yIHBhcnNlIHN0cnVjdHVyZWQgaW5mb3JtYXRpb24gaW4gY29tbWl0IG1lc3NhZ2VzIgorbXNnc3RyICLQlNC+0LHQsNCy0LvQtdC90LjQtSDQuNC70Lgg0YDQsNC30LHQvtGAINGB0YLRgNGD0LrRgtGD0YDQuNGA0L7QstCw0L3QvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40Lgg0LIg0YHQvtC+0LHRidC10L3QuNGP0YUg0LrQvtC80LzQuNGC0LAiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjExNAogbXNnaWQgIlRoZSBHaXQgcmVwb3NpdG9yeSBicm93c2VyIgotbXNnc3RyICIiCittc2dzdHIgItCR0YDQsNGD0LfQtdGAINGA0LXQv9C+0LfQuNGC0L7RgNC40Y8gR2l0IgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMTUKIG1zZ2lkICJTaG93IGNvbW1pdCBsb2dzIgpAQCAtMTY1NzgsMjMgKzE5ODc2LDIzIEBACiAKICM6IGNvbW1hbmQtbGlzdC5oOjExNgogbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gYWJvdXQgZmlsZXMgaW4gdGhlIGluZGV4IGFuZCB0aGUgd29ya2luZyB0cmVlIgotbXNnc3RyICIiCittc2dzdHIgItCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0YTQsNC50LvQsNGFINCyINC40L3QtNC10LrRgdC1INC4INCyINGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjExNwogbXNnaWQgIkxpc3QgcmVmZXJlbmNlcyBpbiBhIHJlbW90ZSByZXBvc2l0b3J5IgotbXNnc3RyICIiCittc2dzdHIgItCS0YvQstC+0LQg0YHQv9C40YHQutCwINGB0YHRi9C70L7QuiDQstC+INCy0L3QtdGI0L3QtdC8INGA0LXQv9C+0LfQuNGC0L7RgNC40LgiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjExOAogbXNnaWQgIkxpc3QgdGhlIGNvbnRlbnRzIG9mIGEgdHJlZSBvYmplY3QiCi1tc2dzdHIgIiIKK21zZ3N0ciAi0JLRi9Cy0L7QtCDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+INC+0LHRitC10LrRgtCwINC00LXRgNC10LLQsCIKIAogIzogY29tbWFuZC1saXN0Lmg6MTE5CiBtc2dpZCAiRXh0cmFjdHMgcGF0Y2ggYW5kIGF1dGhvcnNoaXAgZnJvbSBhIHNpbmdsZSBlLW1haWwgbWVzc2FnZSIKLW1zZ3N0ciAiIgorbXNnc3RyICLQmNC30LLQu9C10LrQsNC10YIg0L/QsNGC0Ycg0Lgg0LDQstGC0L7RgNGB0YLQstC+INC40Lcg0L7QtNC90L7Qs9C+INGB0L7QvtCx0YnQtdC90LjRjyDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0YsiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjEyMAogbXNnaWQgIlNpbXBsZSBVTklYIG1ib3ggc3BsaXR0ZXIgcHJvZ3JhbSIKLW1zZ3N0ciAiIgorbXNnc3RyICLQn9GA0L7RgdGC0LDRjyDQv9GA0L7Qs9GA0LDQvNC80LAgVU5JWCDQtNC70Y8g0YDQsNC30LHQvtGA0LAg0YTQsNC50LvQsCBtYm94IgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMjEKIG1zZ2lkICJKb2luIHR3byBvciBtb3JlIGRldmVsb3BtZW50IGhpc3RvcmllcyB0b2dldGhlciIKQEAgLTE2NjAyLDM1MiArMTk5MDAsMzUyIEBACiAKICM6IGNvbW1hbmQtbGlzdC5oOjEyMgogbXNnaWQgIkZpbmQgYXMgZ29vZCBjb21tb24gYW5jZXN0b3JzIGFzIHBvc3NpYmxlIGZvciBhIG1lcmdlIgotbXNnc3RyICIiCittc2dzdHIgItCf0L7QuNGB0Log0L/QvtC00YXQvtC00Y/RidC40YUg0L7QsdGJ0LjRhSDQv9GA0LXQtNC60L7QsiDQtNC70Y8g0LLQvtC30LzQvtC20L3QvtCz0L4g0YHQu9C40Y/QvdC40Y8iCiAKICM6IGNvbW1hbmQtbGlzdC5oOjEyMwogbXNnaWQgIlJ1biBhIHRocmVlLXdheSBmaWxlIG1lcmdlIgotbXNnc3RyICIiCittc2dzdHIgItCX0LDQv9GD0YHQuiDRgtGA0ZHRhdGF0L7QtNC+0LLQvtCz0L4g0YHQu9C40Y/QvdC40Y8g0YTQsNC50LvQvtCyIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMjQKIG1zZ2lkICJSdW4gYSBtZXJnZSBmb3IgZmlsZXMgbmVlZGluZyBtZXJnaW5nIgotbXNnc3RyICIiCittc2dzdHIgItCX0LDQv9GD0YHQuiDRgdC70LjRj9C90LjRjyDQtNC70Y8g0YTQsNC50LvQvtCyLCDQutC+0YLQvtGA0YvQtSDRgtGA0LXQsdGD0Y7RgiDRgdC70LjRj9C90LjRjyIKIAogIzogY29tbWFuZC1saXN0Lmg6MTI1CiBtc2dpZCAiVGhlIHN0YW5kYXJkIGhlbHBlciBwcm9ncmFtIHRvIHVzZSB3aXRoIGdpdC1tZXJnZS1pbmRleCIKLW1zZ3N0ciAiIgorbXNnc3RyICLQodGC0LDQvdC00LDRgNGC0L3QsNGPINC/0YDQvtCz0YDQsNC80LzQsC3Qv9C+0LzQvtGJ0L3QuNC6INC00LvRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyDRgdC+0LLQvNC10YHRgtC90L4g0YEgZ2l0LW1lcmdlLWluZGV4IgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMjYKIG1zZ2lkICJSdW4gbWVyZ2UgY29uZmxpY3QgcmVzb2x1dGlvbiB0b29scyB0byByZXNvbHZlIG1lcmdlIGNvbmZsaWN0cyIKLW1zZ3N0ciAiIgorbXNnc3RyICLQl9Cw0L/Rg9GB0Log0LjQvdGB0YLRgNGD0LzQtdC90YLQvtCyINGA0LDQt9GA0LXRiNC10L3QuNGPINC60L7QvdGE0LvQuNC60YLQvtCyINGB0LvQuNGP0L3QuNGPIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMjcKIG1zZ2lkICJTaG93IHRocmVlLXdheSBtZXJnZSB3aXRob3V0IHRvdWNoaW5nIGluZGV4IgotbXNnc3RyICIiCittc2dzdHIgItCS0YvQstC+0LQg0YLRgNGR0YXRhdC+0LTQvtCy0L7Qs9C+INGB0LvQuNGP0L3QuNC1INCx0LXQtyDQt9Cw0YLRgNCw0LPQuNCy0LDQvdC40Y8g0LjQvdC00LXQutGB0LAiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjEyOAotbXNnaWQgIkNyZWF0ZXMgYSB0YWcgb2JqZWN0IgotbXNnc3RyICIiCittc2dpZCAiV3JpdGUgYW5kIHZlcmlmeSBtdWx0aS1wYWNrLWluZGV4ZXMiCittc2dzdHIgItCX0LDQv9C40YHRjCDQuCDQv9GA0L7QstC10YDQutCwINGE0LDQudC70L7QsiBtdWx0aS1wYWNrLWluZGV4IgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMjkKLW1zZ2lkICJCdWlsZCBhIHRyZWUtb2JqZWN0IGZyb20gbHMtdHJlZSBmb3JtYXR0ZWQgdGV4dCIKLW1zZ3N0ciAiIgorbXNnaWQgIkNyZWF0ZXMgYSB0YWcgb2JqZWN0IgorbXNnc3RyICLQodC+0LfQtNCw0L3QuNC1INC+0LHRitC10LrRgtC+0LIg0LzQtdGC0L7QuiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTMwCittc2dpZCAiQnVpbGQgYSB0cmVlLW9iamVjdCBmcm9tIGxzLXRyZWUgZm9ybWF0dGVkIHRleHQiCittc2dzdHIgItCf0L7RgdGC0YDQvtC10L3QuNC1INC+0LHRitC10LrRgtCwINC00LXRgNC10LLQsCDQuNC3INGC0LXQutGB0YLQsCDRhNC+0YDQvNCw0YLQsCBscy10cmVlIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMzEKIG1zZ2lkICJNb3ZlIG9yIHJlbmFtZSBhIGZpbGUsIGEgZGlyZWN0b3J5LCBvciBhIHN5bWxpbmsiCiBtc2dzdHIgItCf0LXRgNC10LzQtdGJ0LXQvdC40LUg0LjQu9C4INC/0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40LUg0YTQsNC50LvQsCwg0LrQsNGC0LDQu9C+0LPQsCDQuNC70Lgg0YHQuNC80LLQvtC70YzQvdC+0Lkg0YHRgdGL0LvQutC4IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxMzEKLW1zZ2lkICJGaW5kIHN5bWJvbGljIG5hbWVzIGZvciBnaXZlbiByZXZzIgotbXNnc3RyICIiCi0KICM6IGNvbW1hbmQtbGlzdC5oOjEzMgotbXNnaWQgIkFkZCBvciBpbnNwZWN0IG9iamVjdCBub3RlcyIKLW1zZ3N0ciAiIgorbXNnaWQgIkZpbmQgc3ltYm9saWMgbmFtZXMgZm9yIGdpdmVuIHJldnMiCittc2dzdHIgItCf0L7QuNGB0Log0YHQuNC80LLQvtC70YzQvdGL0YUg0LjQvNGR0L0g0LTQu9GPINGD0LrQsNC30LDQvdC90YvRhSDRgNC10LTQsNC60YbQuNC5IgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMzMKLW1zZ2lkICJJbXBvcnQgZnJvbSBhbmQgc3VibWl0IHRvIFBlcmZvcmNlIHJlcG9zaXRvcmllcyIKLW1zZ3N0ciAiIgorbXNnaWQgIkFkZCBvciBpbnNwZWN0IG9iamVjdCBub3RlcyIKK21zZ3N0ciAi0JTQvtCx0LDQstC70LXQvdC40LUg0LjQu9C4INC/0YDQvtGB0LzQvtGC0YAg0LfQsNC80LXRgtC+0Log0L7QsdGK0LXQutGC0LAiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjEzNAotbXNnaWQgIkNyZWF0ZSBhIHBhY2tlZCBhcmNoaXZlIG9mIG9iamVjdHMiCi1tc2dzdHIgIiIKK21zZ2lkICJJbXBvcnQgZnJvbSBhbmQgc3VibWl0IHRvIFBlcmZvcmNlIHJlcG9zaXRvcmllcyIKK21zZ3N0ciAi0JjQvNC/0L7RgNGCINC4INC+0YLQv9GA0LDQstC60LAg0LIg0YDQtdC/0L7Qt9C40YLQvtGA0LjQuCBQZXJmb3JjZSIKIAogIzogY29tbWFuZC1saXN0Lmg6MTM1Ci1tc2dpZCAiRmluZCByZWR1bmRhbnQgcGFjayBmaWxlcyIKLW1zZ3N0ciAiIgorbXNnaWQgIkNyZWF0ZSBhIHBhY2tlZCBhcmNoaXZlIG9mIG9iamVjdHMiCittc2dzdHIgItCh0L7Qt9C00LDQvdC40LUg0YPQv9Cw0LrQvtCy0LDQvdC90L7Qs9C+INCw0YDRhdC40LLQsCDQvtCx0YrQtdC60YLQvtCyIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMzYKLW1zZ2lkICJQYWNrIGhlYWRzIGFuZCB0YWdzIGZvciBlZmZpY2llbnQgcmVwb3NpdG9yeSBhY2Nlc3MiCi1tc2dzdHIgIiIKK21zZ2lkICJGaW5kIHJlZHVuZGFudCBwYWNrIGZpbGVzIgorbXNnc3RyICLQn9C+0LjRgdC6INC40LfQsdGL0YLQvtGH0L3Ri9GFINGE0LDQudC70L7QsiDQv9Cw0LrQtdGC0L7QsiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTM3Ci1tc2dpZCAiUm91dGluZXMgdG8gaGVscCBwYXJzaW5nIHJlbW90ZSByZXBvc2l0b3J5IGFjY2VzcyBwYXJhbWV0ZXJzIgotbXNnc3RyICIiCittc2dpZCAiUGFjayBoZWFkcyBhbmQgdGFncyBmb3IgZWZmaWNpZW50IHJlcG9zaXRvcnkgYWNjZXNzIgorbXNnc3RyICLQo9C/0LDQutC+0LLQutCwINGD0LrQsNC30LDRgtC10LvQtdC5INC90LAg0LLQtdGC0LrQuCDQuCDQvNC10YLQvtC6INC00LvRjyDRjdGE0YTQtdC60YLQuNCy0L3QvtCz0L4g0LTQvtGB0YLRg9C/0LAg0Log0YDQtdC/0L7Qt9C40YLQvtGA0LjRjiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTM4Ci1tc2dpZCAiQ29tcHV0ZSB1bmlxdWUgSUQgZm9yIGEgcGF0Y2giCi1tc2dzdHIgIiIKK21zZ2lkICJSb3V0aW5lcyB0byBoZWxwIHBhcnNpbmcgcmVtb3RlIHJlcG9zaXRvcnkgYWNjZXNzIHBhcmFtZXRlcnMiCittc2dzdHIgItCf0L7QtNC/0YDQvtCz0YDQsNC80LzRiyDQtNC70Y8g0L/QvtC80L7RidC4INGA0LDQt9Cx0L7RgNCwINC/0LDRgNCw0LzQtdGC0YDQvtCyINC00L7RgdGC0YPQv9CwINCy0L3QtdGI0L3QtdCz0L4g0YDQtdC/0L7Qt9C40YLQvtGA0LjRjyIKIAogIzogY29tbWFuZC1saXN0Lmg6MTM5Ci1tc2dpZCAiUHJ1bmUgYWxsIHVucmVhY2hhYmxlIG9iamVjdHMgZnJvbSB0aGUgb2JqZWN0IGRhdGFiYXNlIgotbXNnc3RyICIiCittc2dpZCAiQ29tcHV0ZSB1bmlxdWUgSUQgZm9yIGEgcGF0Y2giCittc2dzdHIgItCS0YvRh9C40YHQu9C10L3QuNC1INGD0L3QuNC60LDQu9GM0L3QvtCz0L4g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQsCDQtNC70Y8g0L/QsNGC0YfQsCIKIAogIzogY29tbWFuZC1saXN0Lmg6MTQwCi1tc2dpZCAiUmVtb3ZlIGV4dHJhIG9iamVjdHMgdGhhdCBhcmUgYWxyZWFkeSBpbiBwYWNrIGZpbGVzIgotbXNnc3RyICIiCittc2dpZCAiUHJ1bmUgYWxsIHVucmVhY2hhYmxlIG9iamVjdHMgZnJvbSB0aGUgb2JqZWN0IGRhdGFiYXNlIgorbXNnc3RyICLQntGH0LjRgdGC0LrQsCDQstGB0LXRhSDQvdC10LTQvtGB0YLQuNC20LjQvNGL0YUg0L7QsdGK0LXQutGC0L7QsiDQuNC3INCx0LDQt9GLINC00LDQvdC90YvRhSDQvtCx0YrQtdC60YLQvtCyIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNDEKK21zZ2lkICJSZW1vdmUgZXh0cmEgb2JqZWN0cyB0aGF0IGFyZSBhbHJlYWR5IGluIHBhY2sgZmlsZXMiCittc2dzdHIgItCj0LTQsNC70LXQvdC40LUg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvRhSDQvtCx0YrQtdC60YLQvtCyLCDQutC+0YLQvtGA0YvQtSDRg9C20LUg0YHQvtC00LXRgNC20LDRgtGB0Y8g0LIg0YTQsNC50LvQsNGFINC/0LDQutC10YLQvtCyIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNDIKIG1zZ2lkICJGZXRjaCBmcm9tIGFuZCBpbnRlZ3JhdGUgd2l0aCBhbm90aGVyIHJlcG9zaXRvcnkgb3IgYSBsb2NhbCBicmFuY2giCiBtc2dzdHIgItCY0LfQstC70LXRh9C10L3QuNC1INC40LfQvNC10L3QtdC90LjQuSDQuCDQvtCx0YrQtdC00LjQvdC10L3QuNC1INGBINC00YDRg9Cz0LjQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC10Lwg0LjQu9C4INC70L7QutCw0LvRjNC90L7QuSDQstC10YLQutC+0LkiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE0MgorIzogY29tbWFuZC1saXN0Lmg6MTQzCiBtc2dpZCAiVXBkYXRlIHJlbW90ZSByZWZzIGFsb25nIHdpdGggYXNzb2NpYXRlZCBvYmplY3RzIgogbXNnc3RyICLQntCx0L3QvtCy0LvQtdC90LjQtSDQstC90LXRiNC90LjRhSDRgdGB0YvQu9C+0Log0Lgg0YHQstGP0LfQsNC90L3Ri9GFINC+0LHRitC10LrRgtC+0LIiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE0MwotbXNnaWQgIkFwcGxpZXMgYSBxdWlsdCBwYXRjaHNldCBvbnRvIHRoZSBjdXJyZW50IGJyYW5jaCIKLW1zZ3N0ciAiIgotCiAjOiBjb21tYW5kLWxpc3QuaDoxNDQKLW1zZ2lkICJDb21wYXJlIHR3byBjb21taXQgcmFuZ2VzIChlLmcuIHR3byB2ZXJzaW9ucyBvZiBhIGJyYW5jaCkiCi1tc2dzdHIgIiIKK21zZ2lkICJBcHBsaWVzIGEgcXVpbHQgcGF0Y2hzZXQgb250byB0aGUgY3VycmVudCBicmFuY2giCittc2dzdHIgItCf0YDQuNC80LXQvdC10L3QuNC1INGD0L/QvtGA0Y/QtNC+0YfQtdC90L3QvtCz0L4g0YHQv9C40YHQutCwINC/0LDRgtGH0LXQuSDQvdCw0LQg0YLQtdC60YPRidC10Lkg0LLQtdGC0LrQvtC5IgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNDUKLW1zZ2lkICJSZWFkcyB0cmVlIGluZm9ybWF0aW9uIGludG8gdGhlIGluZGV4IgotbXNnc3RyICIiCittc2dpZCAiQ29tcGFyZSB0d28gY29tbWl0IHJhbmdlcyAoZS5nLiB0d28gdmVyc2lvbnMgb2YgYSBicmFuY2gpIgorbXNnc3RyICLQodGA0LDQstC90LXQvdC40LUg0LTQstGD0YUg0LTQuNCw0L/QsNC30L7QvdC+0LIg0LrQvtC80LzQuNGC0L7QsiAo0L3QsNC/0YDQuNC80LXRgCDQtNCy0YPRhSDQstC10YDRgdC40Lkg0LLQtdGC0LrQuCkiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE0NgotbXNnaWQgIlJlYXBwbHkgY29tbWl0cyBvbiB0b3Agb2YgYW5vdGhlciBiYXNlIHRpcCIKLW1zZ3N0ciAi0J/QvtCy0YLQvtGA0L3QviDQv9GA0LjQvNC10L3QuNGC0Ywg0LrQvtC80LzQuNGC0Ysg0L3QsNC0INCy0LXRgNGF0YPRiNC60L7QuSDQtNGA0YPQs9C+0Lkg0LLQtdGC0LrQuCIKK21zZ2lkICJSZWFkcyB0cmVlIGluZm9ybWF0aW9uIGludG8gdGhlIGluZGV4IgorbXNnc3RyICLQp9GC0LXQvdC40LUg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LTQtdGA0LXQstC1INCyINC40L3QtNC10LrRgSIKIAogIzogY29tbWFuZC1saXN0Lmg6MTQ3Ci1tc2dpZCAiUmVjZWl2ZSB3aGF0IGlzIHB1c2hlZCBpbnRvIHRoZSByZXBvc2l0b3J5IgotbXNnc3RyICIiCittc2dpZCAiUmVhcHBseSBjb21taXRzIG9uIHRvcCBvZiBhbm90aGVyIGJhc2UgdGlwIgorbXNnc3RyICLQn9C+0LLRgtC+0YDQvdC+0LUg0L/RgNC40LzQtdC90LXQvdC40LUg0LrQvtC80LzQuNGC0L7QsiDQvdCw0LQg0LLQtdGA0YXRg9GI0LrQvtC5INC00YDRg9Cz0L7QuSDQstC10YLQutC4IgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNDgKLW1zZ2lkICJNYW5hZ2UgcmVmbG9nIGluZm9ybWF0aW9uIgotbXNnc3RyICIiCittc2dpZCAiUmVjZWl2ZSB3aGF0IGlzIHB1c2hlZCBpbnRvIHRoZSByZXBvc2l0b3J5IgorbXNnc3RyICLQn9C+0LvRg9GH0LXQvdC40LUg0YLQvtCz0L4sINGH0YLQviDQsdGL0LvQviDQvtGC0L/RgNCw0LLQu9C10L3QviDQsiDRgNC10L/QvtC30LjRgtC+0YDQuNC5IgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNDkKLW1zZ2lkICJNYW5hZ2Ugc2V0IG9mIHRyYWNrZWQgcmVwb3NpdG9yaWVzIgotbXNnc3RyICIiCittc2dpZCAiTWFuYWdlIHJlZmxvZyBpbmZvcm1hdGlvbiIKK21zZ3N0ciAi0KPQv9GA0LDQstC70LXQvdC40LUg0LjQvdGE0L7RgNC80LDRhtC40LXQuSDQttGD0YDQvdCw0LvQsCDRgdGB0YvQu9C+0LoiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE1MAotbXNnaWQgIlBhY2sgdW5wYWNrZWQgb2JqZWN0cyBpbiBhIHJlcG9zaXRvcnkiCi1tc2dzdHIgIiIKK21zZ2lkICJNYW5hZ2Ugc2V0IG9mIHRyYWNrZWQgcmVwb3NpdG9yaWVzIgorbXNnc3RyICLQo9C/0YDQsNCy0LvQtdC90LjQtSDQvdCw0LHQvtGA0L7QvCDQvtGC0YHQu9C10LbQuNCy0LDQtdC80YvRhSDRgNC10L/QvtC30LjRgtC+0YDQuNC10LIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE1MQotbXNnaWQgIkNyZWF0ZSwgbGlzdCwgZGVsZXRlIHJlZnMgdG8gcmVwbGFjZSBvYmplY3RzIgotbXNnc3RyICIiCittc2dpZCAiUGFjayB1bnBhY2tlZCBvYmplY3RzIGluIGEgcmVwb3NpdG9yeSIKK21zZ3N0ciAi0KPQv9Cw0LrQvtCy0LrQsCDQvdC10YPQv9Cw0LrQvtCy0LDQvdC90YvRhSDQvtCx0YrQtdC60YLQvtCyINCyINGA0LXQv9C+0LfQuNGC0L7RgNC40LgiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE1MgotbXNnaWQgIkdlbmVyYXRlcyBhIHN1bW1hcnkgb2YgcGVuZGluZyBjaGFuZ2VzIgotbXNnc3RyICIiCittc2dpZCAiQ3JlYXRlLCBsaXN0LCBkZWxldGUgcmVmcyB0byByZXBsYWNlIG9iamVjdHMiCittc2dzdHIgItCh0L7Qt9C00LDQvdC40LUsINCy0YvQstC+0LQg0YHQv9C40YHQutCwLCDRg9C00LDQu9C10L3QuNC1INGB0YHRi9C70L7QuiDQtNC70Y8g0LfQsNC80LXQvdGLINC+0LHRitC10LrRgtC+0LIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE1MwotbXNnaWQgIlJldXNlIHJlY29yZGVkIHJlc29sdXRpb24gb2YgY29uZmxpY3RlZCBtZXJnZXMiCi1tc2dzdHIgIiIKK21zZ2lkICJHZW5lcmF0ZXMgYSBzdW1tYXJ5IG9mIHBlbmRpbmcgY2hhbmdlcyIKK21zZ3N0ciAi0JPQtdC90LXRgNCw0YbQuNGPINGB0LLQvtC00LrQuCDQv9GA0LXQtNGB0YLQvtGP0YnQuNGFINC40LfQvNC10L3QtdC90LjQuSIKIAogIzogY29tbWFuZC1saXN0Lmg6MTU0Cittc2dpZCAiUmV1c2UgcmVjb3JkZWQgcmVzb2x1dGlvbiBvZiBjb25mbGljdGVkIG1lcmdlcyIKK21zZ3N0ciAi0J/QvtCy0YLQvtGA0L3QvtC1INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1INC30LDQv9C40YHQsNC90L3Ri9GFINGA0LDQt9GA0LXRiNC10L3QuNC5INC60L7QvdGE0LvQuNC60YLQvtCyINC/0YDQuCDRgdC70LjRj9C90LjRj9GFIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNTUKIG1zZ2lkICJSZXNldCBjdXJyZW50IEhFQUQgdG8gdGhlIHNwZWNpZmllZCBzdGF0ZSIKIG1zZ3N0ciAi0KHQsdGA0L7RgSDRgtC10LrRg9GJ0LXQs9C+INGB0L7RgdGC0L7Rj9C90LjRjyBIRUFEINC90LAg0YPQutCw0LfQsNC90L3QvtC1INGB0L7RgdGC0L7Rj9C90LjQtSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTU1Ci1tc2dpZCAiUmV2ZXJ0IHNvbWUgZXhpc3RpbmcgY29tbWl0cyIKLW1zZ3N0ciAiIgotCiAjOiBjb21tYW5kLWxpc3QuaDoxNTYKLW1zZ2lkICJMaXN0cyBjb21taXQgb2JqZWN0cyBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIiCi1tc2dzdHIgIiIKK21zZ2lkICJSZXZlcnQgc29tZSBleGlzdGluZyBjb21taXRzIgorbXNnc3RyICLQntCx0YDQsNGJ0LXQvdC40LUg0LjQt9C80LXQvdC10L3QuNC5INGB0YPRidC10YHRgtCy0YPRjtGJ0LjRhSDQutC+0LzQvNC40YLQvtCyIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNTcKLW1zZ2lkICJQaWNrIG91dCBhbmQgbWFzc2FnZSBwYXJhbWV0ZXJzIgotbXNnc3RyICIiCittc2dpZCAiTGlzdHMgY29tbWl0IG9iamVjdHMgaW4gcmV2ZXJzZSBjaHJvbm9sb2dpY2FsIG9yZGVyIgorbXNnc3RyICLQktGL0LLQvtC0INGB0L/QuNGB0LrQsCDQvtCx0YrQtdC60YLQvtCyINC60L7QvNC80LjRgtCwINCyINC+0LHRgNCw0YLQvdC+0Lwg0YXRgNC+0L3QvtC70L7Qs9C40YfQtdGB0LrQvtC8INC/0L7RgNGP0LTQutC1IgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNTgKK21zZ2lkICJQaWNrIG91dCBhbmQgbWFzc2FnZSBwYXJhbWV0ZXJzIgorbXNnc3RyICLQoNCw0LfQsdC+0YAg0Lgg0L7QsdGA0LDQsdC+0YLQutCwINC/0LDRgNCw0LzQtdGC0YDQvtCyIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNTkKIG1zZ2lkICJSZW1vdmUgZmlsZXMgZnJvbSB0aGUgd29ya2luZyB0cmVlIGFuZCBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAi0KPQtNCw0LvQtdC90LjQtSDRhNCw0LnQu9C+0LIg0LjQtyDRgNCw0LHQvtGH0LXQs9C+INC60LDRgtCw0LvQvtCz0LAg0Lgg0LjQvdC00LXQutGB0LAiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE1OQotbXNnaWQgIlNlbmQgYSBjb2xsZWN0aW9uIG9mIHBhdGNoZXMgYXMgZW1haWxzIgotbXNnc3RyICIiCi0KICM6IGNvbW1hbmQtbGlzdC5oOjE2MAotbXNnaWQgIlB1c2ggb2JqZWN0cyBvdmVyIEdpdCBwcm90b2NvbCB0byBhbm90aGVyIHJlcG9zaXRvcnkiCi1tc2dzdHIgIiIKK21zZ2lkICJTZW5kIGEgY29sbGVjdGlvbiBvZiBwYXRjaGVzIGFzIGVtYWlscyIKK21zZ3N0ciAi0J7RgtC/0YDQsNCy0LrQsCDQutC+0LvQu9C10LrRhtC40Lgg0L/QsNGC0YfQtdC5INC90LAg0Y3Qu9C10LrRgtGA0L7QvdC90YPRjiDQv9C+0YfRgtGDIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNjEKLW1zZ2lkICJSZXN0cmljdGVkIGxvZ2luIHNoZWxsIGZvciBHaXQtb25seSBTU0ggYWNjZXNzIgotbXNnc3RyICIiCittc2dpZCAiUHVzaCBvYmplY3RzIG92ZXIgR2l0IHByb3RvY29sIHRvIGFub3RoZXIgcmVwb3NpdG9yeSIKK21zZ3N0ciAi0J7RgtC/0YDQsNCy0LrQsCDQvtCx0YrQtdC60YLQvtCyINCyINC00YDRg9Cz0L7QuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5INGBINC/0L7QvNC+0YnRjNGOINC/0YDQvtGC0L7QutC+0LvQsCBHaXQiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE2MgotbXNnaWQgIlN1bW1hcml6ZSAnZ2l0IGxvZycgb3V0cHV0IgotbXNnc3RyICIiCittc2dpZCAiUmVzdHJpY3RlZCBsb2dpbiBzaGVsbCBmb3IgR2l0LW9ubHkgU1NIIGFjY2VzcyIKK21zZ3N0ciAi0J7Qs9GA0LDQvdC40YfQtdC90L3QsNGPINC+0LHQvtC70L7Rh9C60LAg0LLRhdC+0LTQsCDQsiDRgdC40YHRgtC10LzRgyDQtNC70Y8g0LTQvtGB0YLRg9C/0LAgR2l0INGH0LXRgNC10LcgU1NIIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNjMKK21zZ2lkICJTdW1tYXJpemUgJ2dpdCBsb2cnIG91dHB1dCIKK21zZ3N0ciAi0J7QsdC+0LHRidC10L3QuNC1INCy0YvQstC+0LTQsCDCq2dpdCBsb2fCuyIKKworIzogY29tbWFuZC1saXN0Lmg6MTY0CiBtc2dpZCAiU2hvdyB2YXJpb3VzIHR5cGVzIG9mIG9iamVjdHMiCiBtc2dzdHIgItCS0YvQstC+0LQg0YDQsNC30LvQuNGH0L3Ri9GFINGC0LjQv9C+0LIg0L7QsdGK0LXQutGC0L7QsiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTY0Ci1tc2dpZCAiU2hvdyBicmFuY2hlcyBhbmQgdGhlaXIgY29tbWl0cyIKLW1zZ3N0ciAiIgotCiAjOiBjb21tYW5kLWxpc3QuaDoxNjUKLW1zZ2lkICJTaG93IHBhY2tlZCBhcmNoaXZlIGluZGV4IgotbXNnc3RyICIiCittc2dpZCAiU2hvdyBicmFuY2hlcyBhbmQgdGhlaXIgY29tbWl0cyIKK21zZ3N0ciAi0JLRi9Cy0L7QtCDQstC10YLQvtC6INC4INC40YUg0LrQvtC80LzQuNGC0L7QsiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTY2Ci1tc2dpZCAiTGlzdCByZWZlcmVuY2VzIGluIGEgbG9jYWwgcmVwb3NpdG9yeSIKLW1zZ3N0ciAiIgorbXNnaWQgIlNob3cgcGFja2VkIGFyY2hpdmUgaW5kZXgiCittc2dzdHIgItCS0YvQstC+0LQg0LjQvdC00LXQutGB0LAg0YPQv9Cw0LrQvtCy0LDQvdC90L7Qs9C+INCw0YDRhdC40LLQsCIKIAogIzogY29tbWFuZC1saXN0Lmg6MTY3Ci1tc2dpZCAiR2l0J3MgaTE4biBzZXR1cCBjb2RlIGZvciBzaGVsbCBzY3JpcHRzIgotbXNnc3RyICIiCittc2dpZCAiTGlzdCByZWZlcmVuY2VzIGluIGEgbG9jYWwgcmVwb3NpdG9yeSIKK21zZ3N0ciAi0JLRi9Cy0L7QtCDRgdGB0YvQu9C+0Log0LIg0LvQvtC60LDQu9GM0L3QvtC8INGA0LXQv9C+0LfQuNGC0L7RgNC40LgiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE2OAotbXNnaWQgIkNvbW1vbiBHaXQgc2hlbGwgc2NyaXB0IHNldHVwIGNvZGUiCi1tc2dzdHIgIiIKK21zZ2lkICJHaXQncyBpMThuIHNldHVwIGNvZGUgZm9yIHNoZWxsIHNjcmlwdHMiCittc2dzdHIgItCa0L7QtCDQvdCw0YHRgtGA0L7QudC60Lgg0LjQvdGC0LXRgNC90LDRhtC40L7QvdCw0LvQuNC30LDRhtC40Lgg0LTQu9GPINGB0YbQtdC90LDRgNC40LXQsiDQvtCx0L7Qu9C+0YfQutC4IEdpdCIKIAogIzogY29tbWFuZC1saXN0Lmg6MTY5Ci1tc2dpZCAiU3Rhc2ggdGhlIGNoYW5nZXMgaW4gYSBkaXJ0eSB3b3JraW5nIGRpcmVjdG9yeSBhd2F5IgotbXNnc3RyICIiCittc2dpZCAiQ29tbW9uIEdpdCBzaGVsbCBzY3JpcHQgc2V0dXAgY29kZSIKK21zZ3N0ciAi0J7QsdGJ0LjQuSDQutC+0LQg0L3QsNGB0YLRgNC+0LnQutC4INC00LvRjyDRgdGG0LXQvdCw0YDQuNC10LIg0L7QsdC+0LvQvtGH0LrQuCBHaXQiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE3MAotbXNnaWQgIkFkZCBmaWxlIGNvbnRlbnRzIHRvIHRoZSBzdGFnaW5nIGFyZWEiCi1tc2dzdHIgIiIKK21zZ2lkICJTdGFzaCB0aGUgY2hhbmdlcyBpbiBhIGRpcnR5IHdvcmtpbmcgZGlyZWN0b3J5IGF3YXkiCittc2dzdHIgItCh0L/RgNGP0YLQsNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPINCyINC40LfQvNC10L3RkdC90L3QvtC8INGA0LDQsdC+0YfQtdC8INC60LDRgtCw0LvQvtCz0LUiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE3MQorbXNnaWQgIkFkZCBmaWxlIGNvbnRlbnRzIHRvIHRoZSBzdGFnaW5nIGFyZWEiCittc2dzdHIgItCU0L7QsdCw0LLQu9C10L3QuNC1INGB0L7QtNC10YDQttC40LzQvtCz0L4g0YTQsNC50LvQvtCyINCyINC40L3QtNC10LrRgSIKKworIzogY29tbWFuZC1saXN0Lmg6MTcyCiBtc2dpZCAiU2hvdyB0aGUgd29ya2luZyB0cmVlIHN0YXR1cyIKIG1zZ3N0ciAi0JLRi9Cy0L7QtCDRgdC+0YHRgtC+0Y/QvdC40Y8g0YDQsNCx0L7Rh9C10LPQviDQutCw0YLQsNC70L7Qs9CwIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzIKLW1zZ2lkICJSZW1vdmUgdW5uZWNlc3Nhcnkgd2hpdGVzcGFjZSIKLW1zZ3N0ciAiIgotCiAjOiBjb21tYW5kLWxpc3QuaDoxNzMKLW1zZ2lkICJJbml0aWFsaXplLCB1cGRhdGUgb3IgaW5zcGVjdCBzdWJtb2R1bGVzIgotbXNnc3RyICIiCittc2dpZCAiUmVtb3ZlIHVubmVjZXNzYXJ5IHdoaXRlc3BhY2UiCittc2dzdHIgItCj0LTQsNC70LXQvdC40LUg0L3QtdC90YPQttC90YvRhSDQv9GA0L7QsdC10LvQvtCyIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNzQKLW1zZ2lkICJCaWRpcmVjdGlvbmFsIG9wZXJhdGlvbiBiZXR3ZWVuIGEgU3VidmVyc2lvbiByZXBvc2l0b3J5IGFuZCBHaXQiCi1tc2dzdHIgIiIKK21zZ2lkICJJbml0aWFsaXplLCB1cGRhdGUgb3IgaW5zcGVjdCBzdWJtb2R1bGVzIgorbXNnc3RyICLQmNC90LjRhtC40LDQu9C40LfQsNGG0LjRjywg0L7QsdC90L7QstC70LXQvdC40LUg0LjQu9C4INC/0YDQvtGB0LzQvtGC0YAg0L/QvtC00LzQvtC00YPQu9C10LkiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE3NQotbXNnaWQgIlJlYWQsIG1vZGlmeSBhbmQgZGVsZXRlIHN5bWJvbGljIHJlZnMiCi1tc2dzdHIgIiIKK21zZ2lkICJCaWRpcmVjdGlvbmFsIG9wZXJhdGlvbiBiZXR3ZWVuIGEgU3VidmVyc2lvbiByZXBvc2l0b3J5IGFuZCBHaXQiCittc2dzdHIgItCU0LLRg9GF0YHRgtC+0YDQvtC90L3QuNC1INC+0L/QtdGA0LDRhtC40Lgg0LzQtdC20LTRgyDRgNC10L/QvtC30LjRgtC+0YDQuNGP0LzQuCBTdWJ2ZXJzaW9uINC4IEdpdCIKIAogIzogY29tbWFuZC1saXN0Lmg6MTc2Ci1tc2dpZCAiQ3JlYXRlLCBsaXN0LCBkZWxldGUgb3IgdmVyaWZ5IGEgdGFnIG9iamVjdCBzaWduZWQgd2l0aCBHUEciCi1tc2dzdHIgItCh0L7Qt9C00LDQvdC40LUg0LzQtdGC0LrQuCwg0LLRi9Cy0L7QtCDRgdC/0LjRgdC60LAsINGD0LTQsNC70LXQvdC40LUg0LjQu9C4INC/0YDQvtCy0LXRgNC60LAg0LzQtdGC0LrQuCwg0L/QvtC00L/QuNGB0LDQvdC90L7QuSDRgSDQv9C+0LzQvtGJ0YzRjiBHUEciCittc2dpZCAiUmVhZCwgbW9kaWZ5IGFuZCBkZWxldGUgc3ltYm9saWMgcmVmcyIKK21zZ3N0ciAi0KfRgtC10L3QuNC1LCDQuNC30LzQtdC90LXQvdC40LUg0Lgg0YPQtNCw0LvQtdC90LjQtSDRgdC40LzQstC+0LvQuNGH0LXRgdC60LjRhSDRgdGB0YvQu9C+0LoiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE3NwotbXNnaWQgIkNyZWF0ZXMgYSB0ZW1wb3JhcnkgZmlsZSB3aXRoIGEgYmxvYidzIGNvbnRlbnRzIgotbXNnc3RyICIiCittc2dpZCAiQ3JlYXRlLCBsaXN0LCBkZWxldGUgb3IgdmVyaWZ5IGEgdGFnIG9iamVjdCBzaWduZWQgd2l0aCBHUEciCittc2dzdHIgItCh0L7Qt9C00LDQvdC40LUsINCy0YvQstC+0LQg0YHQv9C40YHQutCwLCDRg9C00LDQu9C10L3QuNC1INC40LvQuCDQv9GA0L7QstC10YDQutCwINC80LXRgtC60LgsINC/0L7QtNC/0LjRgdCw0L3QvdC+0Lkg0YEg0L/QvtC80L7RidGM0Y4gR1BHIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNzgKLW1zZ2lkICJVbnBhY2sgb2JqZWN0cyBmcm9tIGEgcGFja2VkIGFyY2hpdmUiCi1tc2dzdHIgIiIKK21zZ2lkICJDcmVhdGVzIGEgdGVtcG9yYXJ5IGZpbGUgd2l0aCBhIGJsb2IncyBjb250ZW50cyIKK21zZ3N0ciAi0KHQvtC30LTQsNC90LjQtSDQstGA0LXQvNC10L3QvdC+0LPQviDRhNCw0LnQu9CwINGBINGB0L7QtNC10YDQttC40LzRi9C8INC00LLQvtC40YfQvdC+0LPQviDQvtCx0YrQtdC60YLQsCIKIAogIzogY29tbWFuZC1saXN0Lmg6MTc5Ci1tc2dpZCAiUmVnaXN0ZXIgZmlsZSBjb250ZW50cyBpbiB0aGUgd29ya2luZyB0cmVlIHRvIHRoZSBpbmRleCIKLW1zZ3N0ciAiIgorbXNnaWQgIlVucGFjayBvYmplY3RzIGZyb20gYSBwYWNrZWQgYXJjaGl2ZSIKK21zZ3N0ciAi0KDQsNGB0L/QsNC60L7QstC60LAg0L7QsdGK0LXQutGC0L7QsiDQuNC3INGD0L/QsNC60L7QstCw0L3QvdC+0LPQviDQsNGA0YXQuNCy0LAiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE4MAotbXNnaWQgIlVwZGF0ZSB0aGUgb2JqZWN0IG5hbWUgc3RvcmVkIGluIGEgcmVmIHNhZmVseSIKLW1zZ3N0ciAiIgorbXNnaWQgIlJlZ2lzdGVyIGZpbGUgY29udGVudHMgaW4gdGhlIHdvcmtpbmcgdHJlZSB0byB0aGUgaW5kZXgiCittc2dzdHIgItCg0LXQs9C40YHRgtGA0LDRhtC40Y8g0YHQvtC00LXRgNC20LjQvNC+0LPQviDRhNCw0LnQu9CwINC40Lcg0YDQsNCx0L7Rh9C10LPQviDQutCw0YLQsNC70L7Qs9CwINCyINC40L3QtNC10LrRgSIKIAogIzogY29tbWFuZC1saXN0Lmg6MTgxCi1tc2dpZCAiVXBkYXRlIGF1eGlsaWFyeSBpbmZvIGZpbGUgdG8gaGVscCBkdW1iIHNlcnZlcnMiCi1tc2dzdHIgIiIKK21zZ2lkICJVcGRhdGUgdGhlIG9iamVjdCBuYW1lIHN0b3JlZCBpbiBhIHJlZiBzYWZlbHkiCittc2dzdHIgItCR0LXQt9C+0L/QsNGB0L3QvtC1INC+0LHQvdC+0LLQu9C10L3QuNC1INC40LzQtdC90Lgg0L7QsdGK0LXQutGC0LAg0YXRgNCw0L3Rj9GJ0LXQs9C+0YHRjyDQsiDRgdGB0YvQu9C60LUiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE4MgotbXNnaWQgIlNlbmQgYXJjaGl2ZSBiYWNrIHRvIGdpdC1hcmNoaXZlIgotbXNnc3RyICIiCittc2dpZCAiVXBkYXRlIGF1eGlsaWFyeSBpbmZvIGZpbGUgdG8gaGVscCBkdW1iIHNlcnZlcnMiCittc2dzdHIgItCe0LHQvdC+0LLQu9C10L3QuNC1INGE0LDQudC70LAg0YHQviDQstGB0L/QvtC80L7Qs9Cw0YLQtdC70YzQvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40LXQuSDQtNC70Y8g0LPQu9GD0L/Ri9GFINGB0LXRgNCy0LXRgNC+0LIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE4MwotbXNnaWQgIlNlbmQgb2JqZWN0cyBwYWNrZWQgYmFjayB0byBnaXQtZmV0Y2gtcGFjayIKLW1zZ3N0ciAiIgorbXNnaWQgIlNlbmQgYXJjaGl2ZSBiYWNrIHRvIGdpdC1hcmNoaXZlIgorbXNnc3RyICLQntGC0L/RgNCw0LLQutCwINCw0YDRhdC40LLQsCDQvtCx0YDQsNGC0L3QviDQsiBnaXQtYXJjaGl2ZSIKIAogIzogY29tbWFuZC1saXN0Lmg6MTg0Ci1tc2dpZCAiU2hvdyBhIEdpdCBsb2dpY2FsIHZhcmlhYmxlIgotbXNnc3RyICIiCittc2dpZCAiU2VuZCBvYmplY3RzIHBhY2tlZCBiYWNrIHRvIGdpdC1mZXRjaC1wYWNrIgorbXNnc3RyICLQntGC0L/RgNCw0LLQutCwINGD0L/QsNC60L7QstCw0L3QvdGL0YUg0L7QsdGK0LXQutGC0L7QsiDQvtCx0YDQsNGC0L3QviDQsiBnaXQtZmV0Y2gtcGFjayIKIAogIzogY29tbWFuZC1saXN0Lmg6MTg1Ci1tc2dpZCAiQ2hlY2sgdGhlIEdQRyBzaWduYXR1cmUgb2YgY29tbWl0cyIKLW1zZ3N0ciAiIgorbXNnaWQgIlNob3cgYSBHaXQgbG9naWNhbCB2YXJpYWJsZSIKK21zZ3N0ciAi0JLRi9Cy0L7QtCDQu9C+0LPQuNGH0LXRgdC60L7QuSDQv9C10YDQtdC80LXQvdC90L7QuSBHaXQiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE4NgotbXNnaWQgIlZhbGlkYXRlIHBhY2tlZCBHaXQgYXJjaGl2ZSBmaWxlcyIKLW1zZ3N0ciAiIgorbXNnaWQgIkNoZWNrIHRoZSBHUEcgc2lnbmF0dXJlIG9mIGNvbW1pdHMiCittc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0L/QvtC00L/QuNGB0LggR1BHINC60L7QvNC80LjRgtC+0LIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE4NwotbXNnaWQgIkNoZWNrIHRoZSBHUEcgc2lnbmF0dXJlIG9mIHRhZ3MiCi1tc2dzdHIgIiIKK21zZ2lkICJWYWxpZGF0ZSBwYWNrZWQgR2l0IGFyY2hpdmUgZmlsZXMiCittc2dzdHIgItCf0YDQvtCy0LXRgNC60LAg0YTQsNC50LvQvtCyINGD0L/QsNC60L7QstCw0L3QvdGL0YUg0LDRgNGF0LjQstC+0LIgR2l0IgogCiAjOiBjb21tYW5kLWxpc3QuaDoxODgKLW1zZ2lkICJHaXQgd2ViIGludGVyZmFjZSAod2ViIGZyb250ZW5kIHRvIEdpdCByZXBvc2l0b3JpZXMpIgotbXNnc3RyICIiCittc2dpZCAiQ2hlY2sgdGhlIEdQRyBzaWduYXR1cmUgb2YgdGFncyIKK21zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDQv9C+0LTQv9C40YHQuCBHUEcg0LzQtdGC0L7QuiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTg5Ci1tc2dpZCAiU2hvdyBsb2dzIHdpdGggZGlmZmVyZW5jZSBlYWNoIGNvbW1pdCBpbnRyb2R1Y2VzIgotbXNnc3RyICIiCittc2dpZCAiR2l0IHdlYiBpbnRlcmZhY2UgKHdlYiBmcm9udGVuZCB0byBHaXQgcmVwb3NpdG9yaWVzKSIKK21zZ3N0ciAi0JLQtdCxINC40L3RgtC10YDRhNC10LnRgSBHaXQgKNCy0LXQsS3QuNC90YLQtdGA0YTQtdC50YEg0LTQu9GPIEdpdCDRgNC10L/QvtC30LjRgtC+0YDQuNC10LIpIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxOTAKLW1zZ2lkICJNYW5hZ2UgbXVsdGlwbGUgd29ya2luZyB0cmVlcyIKLW1zZ3N0ciAiIgorbXNnaWQgIlNob3cgbG9ncyB3aXRoIGRpZmZlcmVuY2UgZWFjaCBjb21taXQgaW50cm9kdWNlcyIKK21zZ3N0ciAi0JLRi9Cy0L7QtCDQttGD0YDQvdCw0LvQsCDRgSDQuNC30LzQtdC90LXQvdC40Y/QvNC4LCDQutC+0YLQvtGA0YvQtSDQstCy0L7QtNC40Lsg0LrQsNC20LTRi9C5INC40Lcg0LrQvtC80LzQuNGC0L7QsiIKIAogIzogY29tbWFuZC1saXN0Lmg6MTkxCi1tc2dpZCAiQ3JlYXRlIGEgdHJlZSBvYmplY3QgZnJvbSB0aGUgY3VycmVudCBpbmRleCIKLW1zZ3N0ciAiIgorbXNnaWQgIk1hbmFnZSBtdWx0aXBsZSB3b3JraW5nIHRyZWVzIgorbXNnc3RyICLQo9C/0YDQsNCy0LvQtdC90LjQtSDQvdC10YHQutC+0LvRjNC60LjQvNC4INGA0LDQsdC+0YfQuNC80Lgg0LrQsNGC0LDQu9C+0LPQsNC80LgiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE5MgorbXNnaWQgIkNyZWF0ZSBhIHRyZWUgb2JqZWN0IGZyb20gdGhlIGN1cnJlbnQgaW5kZXgiCittc2dzdHIgItCh0L7Qt9C00LDQvdC40LUg0L7QsdGK0LXQutGC0LAg0LTQtdGA0LXQstCwINC40Lcg0YLQtdC60YPRidC10LPQviDQuNC90LTQtdC60YHQsCIKKworIzogY29tbWFuZC1saXN0Lmg6MTkzCiBtc2dpZCAiRGVmaW5pbmcgYXR0cmlidXRlcyBwZXIgcGF0aCIKIG1zZ3N0ciAi0J7Qv9GA0LXQtNC10LvQtdC90LjQtSDQsNGC0YDQuNCx0YPRgtC+0LIg0LTQu9GPINC/0YPRgtC10Lkg0YTQsNC50LvQvtCyINC40LvQuCDQutCw0YLQsNC70L7Qs9C+0LIiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5MwotbXNnaWQgIkdpdCBjb21tYW5kLWxpbmUgaW50ZXJmYWNlIGFuZCBjb252ZW50aW9ucyIKLW1zZ3N0ciAiIgotCiAjOiBjb21tYW5kLWxpc3QuaDoxOTQKLW1zZ2lkICJBIEdpdCBjb3JlIHR1dG9yaWFsIGZvciBkZXZlbG9wZXJzIgotbXNnc3RyICIiCittc2dpZCAiR2l0IGNvbW1hbmQtbGluZSBpbnRlcmZhY2UgYW5kIGNvbnZlbnRpb25zIgorbXNnc3RyICLQmNC90YLQtdGA0YTQtdC50YEg0LrQvtC80LzQsNC90LTQvdC+0Lkg0YHRgtGA0L7QutC4IEdpdCDQuCDRgdC+0LPQu9Cw0YjQtdC90LjRjyIKIAogIzogY29tbWFuZC1saXN0Lmg6MTk1Ci1tc2dpZCAiR2l0IGZvciBDVlMgdXNlcnMiCi1tc2dzdHIgIiIKK21zZ2lkICJBIEdpdCBjb3JlIHR1dG9yaWFsIGZvciBkZXZlbG9wZXJzIgorbXNnc3RyICLQo9GH0LXQsdC90LjQuiDQv9C+INGP0LTRgNGDIEdpdCDQtNC70Y8g0YDQsNC30YDQsNCx0L7RgtGH0LjQutC+0LIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE5NgotbXNnaWQgIlR3ZWFraW5nIGRpZmYgb3V0cHV0IgotbXNnc3RyICIiCittc2dpZCAiR2l0IGZvciBDVlMgdXNlcnMiCittc2dzdHIgIkdpdCDQtNC70Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkgQ1ZTIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxOTcKLW1zZ2lkICJBIHVzZWZ1bCBtaW5pbXVtIHNldCBvZiBjb21tYW5kcyBmb3IgRXZlcnlkYXkgR2l0IgotbXNnc3RyICIiCittc2dpZCAiVHdlYWtpbmcgZGlmZiBvdXRwdXQiCittc2dzdHIgItCf0L7QtNGB0YLRgNC+0LnQutCwINCy0YvQstC+0LTQsCDRgdC/0LjRgdC60LAg0LjQt9C80LXQvdC10L3QuNC5IgogCiAjOiBjb21tYW5kLWxpc3QuaDoxOTgKLW1zZ2lkICJBIEdpdCBHbG9zc2FyeSIKLW1zZ3N0ciAiIgorbXNnaWQgIkEgdXNlZnVsIG1pbmltdW0gc2V0IG9mIGNvbW1hbmRzIGZvciBFdmVyeWRheSBHaXQiCittc2dzdHIgItCf0L7Qu9C10LfQvdGL0Lkg0LzQuNC90LjQvNGD0Lwg0LrQvtC80LDQvdC0INC00LvRjyDQutCw0LbQtNC+0LTQvdC10LLQvdC+0LPQviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyBHaXQiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE5OQotbXNnaWQgIkhvb2tzIHVzZWQgYnkgR2l0IgotbXNnc3RyICIiCittc2dpZCAiQSBHaXQgR2xvc3NhcnkiCittc2dzdHIgItCT0LvQvtGB0YHQsNGA0LjQuSBHaXQiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjIwMAorbXNnaWQgIkhvb2tzIHVzZWQgYnkgR2l0IgorbXNnc3RyICLQn9C10YDQtdGF0LLQsNGC0YfQuNC60Lgg0LjRgdC/0L7Qu9GM0LfRg9C10LzRi9C1IEdpdCIKKworIzogY29tbWFuZC1saXN0Lmg6MjAxCiBtc2dpZCAiU3BlY2lmaWVzIGludGVudGlvbmFsbHkgdW50cmFja2VkIGZpbGVzIHRvIGlnbm9yZSIKIG1zZ3N0ciAi0KPQutCw0LfQsNC90LjQtSDRgdC/0LXRhtC40LDQu9GM0L3QviDQuNCz0L3QvtGA0LjRgNGD0LXQvNGL0YUg0YTQsNC50LvQvtCyIgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDEKKyM6IGNvbW1hbmQtbGlzdC5oOjIwMgogbXNnaWQgIkRlZmluaW5nIHN1Ym1vZHVsZSBwcm9wZXJ0aWVzIgogbXNnc3RyICLQntC/0YDQtdC00LXQu9C10L3QuNC1INGB0LLQvtC50YHRgtCyINC/0L7QtNC80L7QtNGD0LvQtdC5IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDIKLW1zZ2lkICJHaXQgbmFtZXNwYWNlcyIKLW1zZ3N0ciAiIgotCiAjOiBjb21tYW5kLWxpc3QuaDoyMDMKLW1zZ2lkICJHaXQgUmVwb3NpdG9yeSBMYXlvdXQiCi1tc2dzdHIgIiIKK21zZ2lkICJHaXQgbmFtZXNwYWNlcyIKK21zZ3N0ciAi0J/RgNC+0YHRgtGA0LDQvdGB0YLQstCwINC40LzRkdC9IEdpdCIKIAogIzogY29tbWFuZC1saXN0Lmg6MjA0Cittc2dpZCAiR2l0IFJlcG9zaXRvcnkgTGF5b3V0IgorbXNnc3RyICLQodC+0LTQtdGA0LbQuNC80L7QtSDRgNC10L/QvtC30LjRgtC+0YDQuNGPIEdpdCIKKworIzogY29tbWFuZC1saXN0Lmg6MjA1CiBtc2dpZCAiU3BlY2lmeWluZyByZXZpc2lvbnMgYW5kIHJhbmdlcyBmb3IgR2l0IgogbXNnc3RyICLQo9C60LDQt9Cw0L3QuNC1INGA0LXQtNCw0LrRhtC40Lkg0Lgg0LTQuNCw0L/QsNC30L7QvdC+0LIg0LTQu9GPIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjA1Ci1tc2dpZCAiQSB0dXRvcmlhbCBpbnRyb2R1Y3Rpb24gdG8gR2l0OiBwYXJ0IHR3byIKLW1zZ3N0ciAiIgotCiAjOiBjb21tYW5kLWxpc3QuaDoyMDYKLW1zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQiCi1tc2dzdHIgIiIKK21zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQ6IHBhcnQgdHdvIgorbXNnc3RyICLQntCx0YPRh9Cw0Y7RidC10LUg0LLQstC10LTQtdC90LjQtSDQsiBHaXQ6INGH0LDRgdGC0Ywg0LLRgtC+0YDQsNGPIgogCiAjOiBjb21tYW5kLWxpc3QuaDoyMDcKK21zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQiCittc2dzdHIgItCe0LHRg9GH0LDRjtGJ0LXQtSDQstCy0LXQtNC10L3QuNC1INCyIEdpdCIKKworIzogY29tbWFuZC1saXN0Lmg6MjA4CiBtc2dpZCAiQW4gb3ZlcnZpZXcgb2YgcmVjb21tZW5kZWQgd29ya2Zsb3dzIHdpdGggR2l0IgogbXNnc3RyICLQntCx0LfQvtGAINGA0LXQutC+0LzQtdC90LTRg9C10LzRi9GFINC/0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3QvtGB0YLQtdC5INCy0YvQv9C+0LvQvdGP0LXQvNGL0YUg0LTQtdC50YHRgtCy0LjQuSDRgSBHaXQiCiAKLSM6IHJlcmVyZS5oOjQwCi1tc2dpZCAidXBkYXRlIHRoZSBpbmRleCB3aXRoIHJldXNlZCBjb25mbGljdCByZXNvbHV0aW9uIGlmIHBvc3NpYmxlIgotbXNnc3RyICLQvtCx0L3QvtCy0LjRgtGMINC40L3QtNC10LrRgSDRgSDQv9C+0LzQvtGJ0YzRjiDQv9C10YDQtdC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPINGA0LDQt9GA0LXRiNC10L3QuNGPINC60L7QvdGE0LvQuNC60YLQsCwg0LXRgdC70Lgg0LLQvtC30LzQvtC20L3QviIKLQogIzogZ2l0LWJpc2VjdC5zaDo1NAogbXNnaWQgIllvdSBuZWVkIHRvIHN0YXJ0IGJ5IFwiZ2l0IGJpc2VjdCBzdGFydFwiIgogbXNnc3RyICLQktCw0Lwg0L3Rg9C20L3QviDQvdCw0YfQsNGC0Ywg0YEg0L/QvtC80L7RidGM0Y4gwqtnaXQgYmlzZWN0IHN0YXJ0wrsiCkBAIC0xNjk1OSwxNjEgKzIwMjU3LDczIEBACiBtc2dpZCAiRG8geW91IHdhbnQgbWUgdG8gZG8gaXQgZm9yIHlvdSBbWS9uXT8gIgogbXNnc3RyICLQktGLINGD0LLQtdGA0LXQvdGLLCDRh9GC0L4g0YXQvtGC0LjRgtC1LCDRh9GC0L7QsdGLINGPINGB0LTQtdC70LDQuyDRjdGC0L4gW1kgLSDQtNCwL24gLSDQvdC10YJdPyAiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTIxCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbmlzZWQgb3B0aW9uOiAnJGFyZyciCi1tc2dzdHIgItC90LXQvtC/0L7Qt9C90LDQvdC90LDRjyDQvtC/0YbQuNGPOiDCqyRhcmfCuyIKLQotIzogZ2l0LWJpc2VjdC5zaDoxMjUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIickYXJnJyBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYSB2YWxpZCByZXZpc2lvbiIKLW1zZ3N0ciAiwqskYXJnwrsg0L3QtSDQv9C+0YXQvtC20LUg0L3QsCDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3Rg9GOINGA0LXQtNCw0LrRhtC40Y4iCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTU0Ci1tc2dpZCAiQmFkIEhFQUQgLSBJIG5lZWQgYSBIRUFEIgotbXNnc3RyICLQn9C70L7RhdC+0Lkg0YPQutCw0LfQsNGC0LXQu9GMIEhFQUQg4oCUINCd0LXQvtCx0YXQvtC00LjQvCDRg9C60LDQt9Cw0YLQtdC70YwgSEVBRCIKLQotIzogZ2l0LWJpc2VjdC5zaDoxNjcKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJDaGVja2luZyBvdXQgJyRzdGFydF9oZWFkJyBmYWlsZWQuIFRyeSAnZ2l0IGJpc2VjdCByZXNldCA8dmFsaWQtYnJhbmNoPicuIgotbXNnc3RyICLQodCx0L7QuSDQv9C10YDQtdGF0L7QtNCwINC90LAgwqskc3RhcnRfaGVhZMK7LiDQn9C+0L/RgNC+0LHRg9C50YLQtSDQstGL0L/QvtC70L3QuNGC0YwgwqtnaXQgYmlzZWN0IHJlc2V0IDzRgdGD0YnQtdGB0YLQstGD0Y7RidCw0Y8t0LLQtdGC0LrQsD7Cuy4iCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTc3Ci1tc2dpZCAid29uJ3QgYmlzZWN0IG9uIGNnLXNlZWsnZWQgdHJlZSIKLW1zZ3N0ciAi0L3QtdC70YzQt9GPINCy0YvQv9C+0LvQvdC40YLRjCDQtNCy0L7QuNGH0L3Ri9C5INC/0L7QuNGB0Log0L3QsCDQtNC10YDQtdCy0LUg0L/QvtGB0LvQtSBjZy1zZWVrIgotCi0jOiBnaXQtYmlzZWN0LnNoOjE4MQotbXNnaWQgIkJhZCBIRUFEIC0gc3RyYW5nZSBzeW1ib2xpYyByZWYiCi1tc2dzdHIgItCf0LvQvtGF0L7QuSDRg9C60LDQt9Cw0YLQtdC70YwgSEVBRCDigJQg0YHRgtGA0LDQvdC90LDRjyDRgdC40LzQstC+0LvRjNC90LDRjyDRgdGB0YvQu9C60LAiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MjMzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJCYWQgYmlzZWN0X3dyaXRlIGFyZ3VtZW50OiAkc3RhdGUiCi1tc2dzdHIgItCf0LvQvtGF0L7QuSDQsNGA0LPRg9C80LXQvdGCIGJpc2VjdF93cml0ZTogJHN0YXRlIgotCi0jOiBnaXQtYmlzZWN0LnNoOjI0NgorIzogZ2l0LWJpc2VjdC5zaDoxMDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRhcmciCiBtc2dzdHIgItCf0LvQvtGF0L7QuSDQstCy0L7QtCDQvdC+0LzQtdGA0LAg0YDQtdC00LDQutGG0LjQuDogJGFyZyIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNjUKKyM6IGdpdC1iaXNlY3Quc2g6MTIxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkYmlzZWN0ZWRfaGVhZCIKIG1zZ3N0ciAi0J/Qu9C+0YXQvtC5INCy0LLQvtC0INC90L7QvNC10YDQsCDRgNC10LTQsNC60YbQuNC4OiAkYmlzZWN0ZWRfaGVhZCIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNzQKKyM6IGdpdC1iaXNlY3Quc2g6MTMwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkcmV2IgogbXNnc3RyICLQn9C70L7RhdC+0Lkg0LLQstC+0LQg0L3QvtC80LXRgNCwINGA0LXQtNCw0LrRhtC40Lg6ICRyZXYiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MjgzCisjOiBnaXQtYmlzZWN0LnNoOjEzOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJ2dpdCBiaXNlY3QgJFRFUk1fQkFEJyBjYW4gdGFrZSBvbmx5IG9uZSBhcmd1bWVudC4iCiBtc2dzdHIgIsKrZ2l0IGJpc2VjdCAkVEVSTV9CQUTCuyDQvNC+0LbQtdGCINC/0YDQuNC90LjQvNCw0YLRjCDRgtC+0LvRjNC60L4g0L7QtNC40L0g0LDRgNCz0YPQvNC10L3Rgi4iCiAKLSM6IGdpdC1iaXNlY3Quc2g6MzA2Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJXYXJuaW5nOiBiaXNlY3Rpbmcgb25seSB3aXRoIGEgJFRFUk1fQkFEIGNvbW1pdC4iCi1tc2dzdHIgItCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INC/0L7Qv9GL0YLQutCwINC00LLQvtC40YfQvdC+0LPQviDQv9C+0LjRgdC60LAg0YEg0YPQutCw0LfQsNC90LjQtdC8INGC0L7Qu9GM0LrQviAkVEVSTV9CQUQg0LrQvtC80LzQuNGC0LAuIgotCi0jLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW1ldIGFuZCBbbl0gaW4geW91cgotIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAotIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1iaXNlY3Quc2g6MzEyCi1tc2dpZCAiQXJlIHlvdSBzdXJlIFtZL25dPyAiCi1tc2dzdHIgItCS0Ysg0YPQstC10YDQtdC90YsgW1kgLSDQtNCwL24gLSDQvdC10YJdPyAiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MzI0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iWW91IG5lZWQgdG8gZ2l2ZSBtZSBhdCBsZWFzdCBvbmUgJGJhZF9zeW4gYW5kIG9uZSAkZ29vZF9zeW4gcmV2aXNpb24uXG4iCi0iKFlvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCAkYmFkX3N5blwiIGFuZCBcImdpdCBiaXNlY3QgJGdvb2Rfc3luXCIgZm9yIHRoYXQuKSIKLW1zZ3N0ciAi0JLQsNC8INC90YPQttC90L4g0L/QtdGA0LXQtNCw0YLRjCDQvNC90LUg0LrQsNC6INC80LjQvdC40LzRg9C8INC+0LTQvdGDICRiYWRfc3luINC4INC+0LTQvdGDICRnb29kX3N5biDRgNC10LTQsNC60YbQuNGOLlxuKNCU0LvRjyDRjdGC0L7Qs9C+INCy0Ysg0LzQvtC20LXRgtC1INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQutC+0LzQsNC90LTRiyDCq2dpdCBiaXNlY3QgJGJhZF9zeW7CuyDQuCDCq2dpdCBiaXNlY3QgJGdvb2Rfc3luwrsuKSIKLQotIzogZ2l0LWJpc2VjdC5zaDozMjcKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJZb3UgbmVlZCB0byBzdGFydCBieSBcImdpdCBiaXNlY3Qgc3RhcnRcIi5cbiIKLSJZb3UgdGhlbiBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICRnb29kX3N5biBhbmQgb25lICRiYWRfc3luIHJldmlzaW9uLlxuIgotIihZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiBhbmQgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiIGZvciB0aGF0LikiCi1tc2dzdHIgItCU0LvRjyDQvdCw0YfQsNC70LAg0L3Rg9C20L3QviDQt9Cw0L/Rg9GB0YLQuNGC0YwgwqtnaXQgYmlzZWN0IHN0YXJ0wrsuXG7Qn9C+0YHQu9C1INGN0YLQvtCz0L4sINCy0LDQvCDQvdGD0LbQvdC+INC/0LXRgNC10LTQsNGC0Ywg0LzQvdC1INC60LDQuiDQvNC40L3QuNC80YPQvCDQvtC00L3RgyAkZ29vZF9zeW4g0Lgg0L7QtNC90YMgJGJhZF9zeW4g0YDQtdC00LDQutGG0LjRji5cbijQlNC70Y8g0Y3RgtC+0LPQviDQstGLINC80L7QttC10YLQtSDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LrQvtC80LDQvdC00YsgwqtnaXQgYmlzZWN0ICRnb29kX3N5bsK7INC4IMKrZ2l0IGJpc2VjdCAkZ29vZF9zeW7Cuy4pIgotCi0jOiBnaXQtYmlzZWN0LnNoOjM5OCBnaXQtYmlzZWN0LnNoOjUxMgotbXNnaWQgIldlIGFyZSBub3QgYmlzZWN0aW5nLiIKLW1zZ3N0ciAi0JLRiyDRgdC10LnRh9Cw0YEg0L3QtSDQsiDQv9GA0L7RhtC10YHRgdC1INCx0LjQvdCw0YDQvdC+0LPQviDQv9C+0LjRgdC60LAuIgotCi0jOiBnaXQtYmlzZWN0LnNoOjQwNQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiJyRpbnZhbGlkJyBpcyBub3QgYSB2YWxpZCBjb21taXQiCi1tc2dzdHIgIsKrJGludmFsaWTCuyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQvCDQutC+0LzQvNC40YLQvtC8IgotCi0jOiBnaXQtYmlzZWN0LnNoOjQxNAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIkNvdWxkIG5vdCBjaGVjayBvdXQgb3JpZ2luYWwgSEVBRCAnJGJyYW5jaCcuXG4iCi0iVHJ5ICdnaXQgYmlzZWN0IHJlc2V0IDxjb21taXQ+Jy4iCi1tc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQudGC0Lgg0L3QsCDQvtGA0LjQs9C40L3QsNC70YzQvdGD0Y4g0LLQtdGC0LrRgyBIRUFEIMKrJGJyYW5jaMK7Llxu0J/QvtC/0YDQvtCx0YPQudGC0LUg0LfQsNC/0YPRgdGC0LjRgtGMIMKrZ2l0IGJpc2VjdCByZXNldCA80LrQvtC80LzQuNGCPsK7LiIKLQotIzogZ2l0LWJpc2VjdC5zaDo0MjIKKyM6IGdpdC1iaXNlY3Quc2g6MjA5CiBtc2dpZCAiTm8gbG9nZmlsZSBnaXZlbiIKIG1zZ3N0ciAi0J3QtSDQv9C10YDQtdC00LDQvSDRhNCw0LnQuyDQttGD0YDQvdCw0LvQsCIKIAotIzogZ2l0LWJpc2VjdC5zaDo0MjMKKyM6IGdpdC1iaXNlY3Quc2g6MjEwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCAkZmlsZSBmb3IgcmVwbGF5aW5nIgogbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCAkZmlsZSDQtNC70Y8g0L/QvtCy0YLQvtGA0LAg0LjQt9C80LXQvdC10L3QuNC5IgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ0NAorIzogZ2l0LWJpc2VjdC5zaDoyMzIKIG1zZ2lkICI/PyB3aGF0IGFyZSB5b3UgdGFsa2luZyBhYm91dD8iCiBtc2dzdHIgIj8/INCy0Ysg0L4g0YfQtdC8PyIKIAotIzogZ2l0LWJpc2VjdC5zaDo0NTMKKyM6IGdpdC1iaXNlY3Quc2g6MjQxCiBtc2dpZCAiYmlzZWN0IHJ1biBmYWlsZWQ6IG5vIGNvbW1hbmQgcHJvdmlkZWQuIgogbXNnc3RyICLRgdCx0L7QuSDQv9GA0Lgg0LLRi9C/0L7Qu9C90LXQvdC40Lgg0LTQstC+0LjRh9C90L7Qs9C+INC/0L7QuNGB0LrQsDog0L3QtSDQv9C10YDQtdC00LDQvdCwINC60L7QvNCw0L3QtNCwLiIKIAotIzogZ2l0LWJpc2VjdC5zaDo0NTgKKyM6IGdpdC1iaXNlY3Quc2g6MjQ2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJydW5uaW5nICRjb21tYW5kIgogbXNnc3RyICLQt9Cw0L/Rg9GB0LrQsNGOICRjb21tYW5kIgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ2NQorIzogZ2l0LWJpc2VjdC5zaDoyNTMKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJiaXNlY3QgcnVuIGZhaWxlZDpcbiIKICJleGl0IGNvZGUgJHJlcyBmcm9tICckY29tbWFuZCcgaXMgPCAwIG9yID49IDEyOCIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywg0LTQstC+0LjRh9C90YvQuSDQv9C+0LjRgdC6Olxu0LrQvtC0INC30LDQstC10YDRiNC10L3QuNGPICRyZXMg0L7RgiDCqyRjb21tYW5kwrsg0L7QutCw0LfQsNC70YHRjyA8IDAg0LjQu9C4ID49IDEyOCIKIAotIzogZ2l0LWJpc2VjdC5zaDo0OTEKKyM6IGdpdC1iaXNlY3Quc2g6Mjc5CiBtc2dpZCAiYmlzZWN0IHJ1biBjYW5ub3QgY29udGludWUgYW55IG1vcmUiCiBtc2dzdHIgImJpc2VjdCBydW4g0LHQvtC70YzRiNC1INC90LUg0LzQvtC20LXRgiDQv9GA0L7QtNC+0LvQttCw0YLRjCIKIAotIzogZ2l0LWJpc2VjdC5zaDo0OTcKKyM6IGdpdC1iaXNlY3Quc2g6Mjg1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiYmlzZWN0IHJ1biBmYWlsZWQ6XG4iCiAiJ2Jpc2VjdF9zdGF0ZSAkc3RhdGUnIGV4aXRlZCB3aXRoIGVycm9yIGNvZGUgJHJlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywg0LTQstC+0LjRh9C90YvQuSDQv9C+0LjRgdC6OlxuwqtiaXNlY3Rfc3RhdGUgJHN0YXRlwrsg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0YEg0LrQvtC00L7QvCDQvtGI0LjQsdC60LggJHJlcyIKIAotIzogZ2l0LWJpc2VjdC5zaDo1MDQKKyM6IGdpdC1iaXNlY3Quc2g6MjkyCiBtc2dpZCAiYmlzZWN0IHJ1biBzdWNjZXNzIgogbXNnc3RyICJiaXNlY3QgcnVuINCy0YvQv9C+0LvQvdC10L0g0YPRgdC/0LXRiNC90L4iCiAKLSM6IGdpdC1iaXNlY3Quc2g6NTMzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIGNvbW1hbmQ6IHlvdSdyZSBjdXJyZW50bHkgaW4gYSAkVEVSTV9CQUQvJFRFUk1fR09PRCBiaXNlY3QuIgotbXNnc3RyICLQndC10LTQvtC/0YPRgdGC0LjQvNCw0Y8g0LrQvtC80LDQvdC00LA6INCy0Ysg0YHQtdC50YfQsNGBINC90LDRhdC+0LTQuNGC0LXRgdGMINC90LAgJFRFUk1fQkFELyRURVJNX0dPT0Qg0LTQstC+0LjRh9C90L7QvCDQv9C+0LjRgdC60LUuIgotCi0jOiBnaXQtYmlzZWN0LnNoOjU2NwotbXNnaWQgIm5vIHRlcm1zIGRlZmluZWQiCi1tc2dzdHIgItC+0L/RgNC10LTQtdC70LXQvdC40Y8g0L3QtSDQt9Cw0LTQsNC90YsiCi0KLSM6IGdpdC1iaXNlY3Quc2g6NTg0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iaW52YWxpZCBhcmd1bWVudCAkYXJnIGZvciAnZ2l0IGJpc2VjdCB0ZXJtcycuXG4iCi0iU3VwcG9ydGVkIG9wdGlvbnMgYXJlOiAtLXRlcm0tZ29vZHwtLXRlcm0tb2xkIGFuZCAtLXRlcm0tYmFkfC0tdGVybS1uZXcuIgotbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgiAkYXJnINC00LvRjyDCq2dpdCBiaXNlY3QgdGVybXPCuy5cbtCf0L7QtNC00LXRgNC20LjQstCw0LXQvNGL0LUg0L/QsNGA0LDQvNC10YLRgNGLOiAtLXRlcm0tZ29vZHwtLXRlcm0tb2xkINC4IC0tdGVybS1iYWR8LS10ZXJtLW5ldy4iCisjOiBnaXQtYmlzZWN0LnNoOjMwMAorbXNnaWQgIldlIGFyZSBub3QgYmlzZWN0aW5nLiIKK21zZ3N0ciAi0JLRiyDRgdC10LnRh9Cw0YEg0L3QtSDQsiDQv9GA0L7RhtC10YHRgdC1INCx0LjQvdCw0YDQvdC+0LPQviDQv9C+0LjRgdC60LAuIgogCiAjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo0NgogbXNnaWQgIiIKQEAgLTE3MTUzLDMyMSArMjAzNjMsMTEzIEBACiBtc2dpZCAiU2ltcGxlIG1lcmdlIGRpZCBub3Qgd29yaywgdHJ5aW5nIGF1dG9tYXRpYyBtZXJnZS4iCiBtc2dzdHIgItCf0YDQvtGB0YLQvtC1INGB0LvQuNGP0L3QuNC1INC90LUg0YPQtNCw0LvQvtGB0YwsINC/0L7Qv9GL0YLQutCwINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC+0LPQviDRgdC70LjRj9C90LjRjy4iCiAKLSM6IGdpdC1yZWJhc2Uuc2g6NjEKLW1zZ2lkICIiCi0iUmVzb2x2ZSBhbGwgY29uZmxpY3RzIG1hbnVhbGx5LCBtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgd2l0aFxuIgotIlwiZ2l0IGFkZC9ybSA8Y29uZmxpY3RlZF9maWxlcz5cIiwgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKLSJZb3UgY2FuIGluc3RlYWQgc2tpcCB0aGlzIGNvbW1pdDogcnVuIFwiZ2l0IHJlYmFzZSAtLXNraXBcIi5cbiIKLSJUbyBhYm9ydCBhbmQgZ2V0IGJhY2sgdG8gdGhlIHN0YXRlIGJlZm9yZSBcImdpdCByZWJhc2VcIiwgcnVuIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIuIgotbXNnc3RyICLQoNCw0LfRgNC10YjQuNGC0LUg0LLRgdC1INC60L7QvdGE0LvQuNC60YLRiyDQstGA0YPRh9C90YPRjiwg0L/QvtC80LXRgtGM0YLQtSDQuNGFINGA0LDQt9GA0LXRiNGR0L3QvdGL0LzQuCDRgSDQv9C+0LzQvtGJ0YzRjiDCq2dpdCBhZGQvcm0gPNC60L7QvdGE0LvQuNC60YLRg9GO0YnQuNC1LdGE0LDQudC70Ys+wrssINCwINC30LDRgtC10Lwg0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IHJlYmFzZSAtLWNvbnRpbnVlwrsuXG7QldGB0LvQuCDQstGLINGF0L7RgtC40YLQtSDQv9GA0L7Qv9GD0YHRgtC40YLRjCDRjdGC0L7RgiDQutC+0LzQvNC40YIsINGC0L4g0LfQsNC/0YPRgdGC0LjRgtC1IMKrZ2l0IHJlYmFzZSAtLXNraXDCuy5cbtCn0YLQvtCx0Ysg0LLQtdGA0L3Rg9GC0YzRgdGPINC90LAg0YHQvtGB0YLQvtGP0L3QuNC1INC00L4gwqtnaXQgcmViYXNlwrssINC30LDQv9GD0YHRgtC40YLQtSDCq2dpdCByZWJhc2UgLS1hYm9ydMK7LiIKLQotIzogZ2l0LXJlYmFzZS5zaDoxNzMgZ2l0LXJlYmFzZS5zaDo0NTQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC50YLQuCDQvdCw0LfQsNC0INC90LAgJGhlYWRfbmFtZSIKLQotIzogZ2l0LXJlYmFzZS5zaDoxODQKLW1zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC4iCi1tc2dzdHIgItCf0YDQuNC80LXQvdC10L3RiyDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCDRgdC/0YDRj9GC0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8uIgotCi0jOiBnaXQtcmViYXNlLnNoOjE4NwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IHN0b3JlICRzdGFzaF9zaGExIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0L7RhdGA0LDQvdC40YLRjCAkc3Rhc2hfc2hhMSIKLQotIzogZ2l0LXJlYmFzZS5zaDoyMzYKLW1zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKLW1zZ3N0ciAi0J/QtdGA0LXRhdCy0LDRgtGH0LjQuiBwcmUtcmViYXNlINC+0YLQutCw0LfQsNC7INCyINC/0LXRgNC10LzQtdGJ0LXQvdC40LguIgotCi0jOiBnaXQtcmViYXNlLnNoOjI0MQotbXNnaWQgIkl0IGxvb2tzIGxpa2UgJ2dpdCBhbScgaXMgaW4gcHJvZ3Jlc3MuIENhbm5vdCByZWJhc2UuIgotbXNnc3RyICLQn9C+0YXQvtC20LUsINGH0YLQviDQstGL0L/QvtC70L3Rj9C10YLRgdGPIMKrZ2l0IGFtwrsuINCd0LXQstC+0LfQvNC+0LbQvdC+INCy0YvQv9C+0LvQvdC40YLRjCDQv9C10YDQtdC80LXRidC10L3QuNC1LiIKLQotIzogZ2l0LXJlYmFzZS5zaDo0MTUKLW1zZ2lkICJObyByZWJhc2UgaW4gcHJvZ3Jlc3M/IgotbXNnc3RyICLQndC10YIg0L/QtdGA0LXQvNC10YnQtdC90LjRjyDQsiDQv9GA0L7RhtC10YHRgdC1PyIKLQotIzogZ2l0LXJlYmFzZS5zaDo0MjYKLW1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCi1tc2dzdHIgItCU0LXQudGB0YLQstC40LUgLS1lZGl0LXRvZG8g0LzQvtC20LXRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YzRgdGPINGC0L7Qu9GM0LrQviDQv9GA0Lgg0LjQvdGC0LXRgNCw0LrRgtC40LLQvdC+0Lwg0L/QtdGA0LXQvNC10YnQtdC90LjQuC4iCi0KLSM6IGdpdC1yZWJhc2Uuc2g6NDMzCi1tc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0YwgSEVBRCIKLQotIzogZ2l0LXJlYmFzZS5zaDo0MzYKLW1zZ2lkICIiCi0iWW91IG11c3QgZWRpdCBhbGwgbWVyZ2UgY29uZmxpY3RzIGFuZCB0aGVuXG4iCi0ibWFyayB0aGVtIGFzIHJlc29sdmVkIHVzaW5nIGdpdCBhZGQiCi1tc2dzdHIgItCS0Ysg0LTQvtC70LbQvdGLINC+0YLRgNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDQstGB0LVcbtC60L7QvdGE0LvQuNC60YLRiyDRgdC70LjRj9C90LjRjywg0LAg0L/QvtGC0L7QvCDQv9C+0LzQtdGC0LjRgtGMXG7QuNGFINC60LDQuiDRgNCw0LfRgNC10YjQtdC90L3Ri9C1INGBINC/0L7QvNC+0YnRjNGOIGdpdCBhZGQiCi0KLSM6IGdpdC1yZWJhc2Uuc2g6NDgwCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJHN0YXRlX2Rpcl9iYXNlIGRpcmVjdG9yeSwgYW5kXG4iCi0iSSB3b25kZXIgaWYgeW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgcmViYXNlLiAgSWYgdGhhdCBpcyB0aGVcbiIKLSJjYXNlLCBwbGVhc2UgdHJ5XG4iCi0iXHQkY21kX2xpdmVfcmViYXNlXG4iCi0iSWYgdGhhdCBpcyBub3QgdGhlIGNhc2UsIHBsZWFzZVxuIgotIlx0JGNtZF9jbGVhcl9zdGFsZV9yZWJhc2VcbiIKLSJhbmQgcnVuIG1lIGFnYWluLiAgSSBhbSBzdG9wcGluZyBpbiBjYXNlIHlvdSBzdGlsbCBoYXZlIHNvbWV0aGluZ1xuIgotInZhbHVhYmxlIHRoZXJlLiIKLW1zZ3N0ciAi0J/QvtGF0L7QttC1LCDQutCw0YLQsNC70L7QsyAkc3RhdGVfZGlyX2Jhc2Ug0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCINC4INGPINC/0YDQtdC00L/QvtC70LDQs9Cw0Y4sINGH0YLQviDQstGLINCyINC/0YDQvtGG0LXRgdGB0LUg0LTRgNGD0LPQvtCz0L4g0L/QtdGA0LXQvNC10YnQtdC90LjRjy4gINCV0YHQu9C4INGN0YLQviDRgtCw0LosINC/0L7Qv9GA0L7QsdGD0LnRgtC1XG5cdCRjbWRfbGl2ZV9yZWJhc2VcbtCV0YHQu9C4INC90LXRglxuXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxu0Lgg0LfQsNC/0YPRgdGC0LjRgtC1INC80LXQvdGPINGB0L3QvtCy0LAuICDQryDQvtGB0YLQsNC90LDQstC70LjQstCw0Y7RgdGMLCDRh9GC0L7QsdGLINCy0Ysg0L3QtSDQv9C+0YLQtdGA0Y/Qu9C4INGH0YLQvi3RgtC+INCy0LDQttC90L7QtS4iCi0KLSM6IGdpdC1yZWJhc2Uuc2g6NTQ1Ci1tc2dpZCAiZXJyb3I6IGNhbm5vdCBjb21iaW5lICctLXNpZ25vZmYnIHdpdGggJy0tcHJlc2VydmUtbWVyZ2VzJyIKLW1zZ3N0ciAiIgotCi0jOiBnaXQtcmViYXNlLnNoOjU1NgotbXNnaWQgImVycm9yOiBjYW5ub3QgY29tYmluZSAnLS1wcmVzZXJ2ZV9tZXJnZXMnIHdpdGggJy0tcmViYXNlLW1lcmdlcyciCi1tc2dzdHIgIiIKLQotIzogZ2l0LXJlYmFzZS5zaDo1NjIKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlX21lcmdlcycgd2l0aCAnLS1zdHJhdGVneS1vcHRpb24nIgotbXNnc3RyICIiCi0KLSM6IGdpdC1yZWJhc2Uuc2g6NTY0Ci1tc2dpZCAiZXJyb3I6IGNhbm5vdCBjb21iaW5lICctLXJlYmFzZV9tZXJnZXMnIHdpdGggJy0tc3RyYXRlZ3knIgotbXNnc3RyICIiCi0KLSM6IGdpdC1yZWJhc2Uuc2g6NTkwCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICckdXBzdHJlYW1fbmFtZSciCi1tc2dzdHIgItC90LXQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QsNGPINCy0YvRiNC10YHRgtC+0Y/RidCw0Y8g0LLQtdGC0LrQsCDCqyR1cHN0cmVhbV9uYW1lwrsiCi0KLSM6IGdpdC1yZWJhc2Uuc2g6NjE0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKLW1zZ3N0ciAiJG9udG9fbmFtZTog0LjQvNC10LXRgtGB0Y8g0LHQvtC70YzRiNC1INC+0LTQvdC+0Lkg0LHQsNC30Ysg0YHQu9C40Y/QvdC40Y8iCi0KLSM6IGdpdC1yZWJhc2Uuc2g6NjE3IGdpdC1yZWJhc2Uuc2g6NjIxCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIgotbXNnc3RyICIkb250b19uYW1lOiDQvdC10YIg0LHQsNC30Ysg0YHQu9C40Y/QvdC40Y8iCi0KLSM6IGdpdC1yZWJhc2Uuc2g6NjI2Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogJG9udG9fbmFtZSIKLW1zZ3N0ciAi0J3QtSDRg9C60LDQt9GL0LLQsNC10YIg0L3QsCDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3Ri9C5INC60L7QvNC80LjRgjogJG9udG9fbmFtZSIKLQotIzogZ2l0LXJlYmFzZS5zaDo2NTIKLSMsIHNoLWZvcm1hdAotbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaC9jb21taXQgJyRicmFuY2hfbmFtZSciCi1tc2dzdHIgItC60YDQuNGC0LjRh9C10YHQutCw0Y8g0L7RiNC40LHQutCwOiDQvdC10YIg0YLQsNC60L7QuSDQstC10YLQutC4L9C60L7QvNC80LjRgtCwIMKrJGJyYW5jaF9uYW1lwrsiCi0KLSM6IGdpdC1yZWJhc2Uuc2g6Njg1Ci1tc2dpZCAiQ2Fubm90IGF1dG9zdGFzaCIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCDRgdC/0YDRj9GC0LDRgtGMINC40LfQvNC10L3QtdC90LjRjyIKLQotIzogZ2l0LXJlYmFzZS5zaDo2OTAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgotbXNnc3RyICLQmNC30LzQtdC90LXQvdC40Y8g0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60Lgg0YHQv9GA0Y/RgtCw0L3RizogJHN0YXNoX2FiYnJldiIKLQotIzogZ2l0LXJlYmFzZS5zaDo2OTQKLW1zZ2lkICJQbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgotbXNnc3RyICLQodC00LXQu9Cw0LnRgtC1INC60L7QvNC80LjRgiDQuNC70Lgg0YHQv9GA0Y/Rh9GM0YLQtSDQuNGFLiIKLQotIzogZ2l0LXJlYmFzZS5zaDo3MTcKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkhFQUQgaXMgdXAgdG8gZGF0ZS4iCi1tc2dzdHIgIkhFQUQg0YPQttC1INCyINCw0LrRgtGD0LDQu9GM0L3QvtC8INGB0L7RgdGC0L7Rj9C90LjQuC4iCi0KLSM6IGdpdC1yZWJhc2Uuc2g6NzE5Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZS4iCi1tc2dzdHIgItCi0LXQutGD0YnQsNGPINCy0LXRgtC60LAgJGJyYW5jaF9uYW1lINGD0LbQtSDQsiDQsNC60YLRg9Cw0LvRjNC90L7QvCDRgdC+0YHRgtC+0Y/QvdC40LguIgotCi0jOiBnaXQtcmViYXNlLnNoOjcyNwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiSEVBRCBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKLW1zZ3N0ciAiSEVBRCDRg9C20LUg0LIg0LDQutGC0YPQsNC70YzQvdC+0Lwg0YHQvtGB0YLQvtGP0L3QuNC4LCDQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QvtC1INC/0LXRgNC10LzQtdGJ0LXQvdC40LUuIgotCi0jOiBnaXQtcmViYXNlLnNoOjcyOQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIgotbXNnc3RyICLQotC10LrRg9GJ0LDRjyDQstC10YLQutCwICRicmFuY2hfbmFtZSDRg9C20LUg0LIg0LDQutGC0YPQsNC70YzQvdC+0Lwg0YHQvtGB0YLQvtGP0L3QuNC4LCDQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QvtC1INC/0LXRgNC10LzQtdGJ0LXQvdC40LUuIgotCi0jOiBnaXQtcmViYXNlLnNoOjc0MQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ2hhbmdlcyBmcm9tICRtYiB0byAkb250bzoiCi1tc2dzdHIgItCY0LfQvNC10L3QtdC90LjRjyDQvtGCICRtYiDQtNC+ICRvbnRvOiIKLQotIzogZ2l0LXJlYmFzZS5zaDo3NTAKLW1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCi1tc2dzdHIgItCh0L3QsNGH0LDQu9CwINC/0LXRgNC10LzQsNGC0YvQstCw0LXQvCDRg9C60LDQt9Cw0YLQtdC70Ywg0YLQtdC60YPRidC10LPQviDQutC+0LzQvNC40YLQsCwg0YfRgtC+0LHRiyDQv9GA0LjQvNC10L3QuNGC0Ywg0LLQsNGI0Lgg0LjQt9C80LXQvdC10L3QuNGPINC/0L7QstC10YDRhSDQvdC10LPQvuKApiIKLQotIzogZ2l0LXJlYmFzZS5zaDo3NjAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkZhc3QtZm9yd2FyZGVkICRicmFuY2hfbmFtZSB0byAkb250b19uYW1lLiIKLW1zZ3N0ciAi0J/QtdGA0LXQvNC+0YLQsNC90LAg0LLQv9C10YDQtdC0ICRicmFuY2hfbmFtZSDQtNC+ICRvbnRvX25hbWUuIgotCi0jOiBnaXQtc3Rhc2guc2g6NjEKLW1zZ2lkICJnaXQgc3Rhc2ggY2xlYXIgd2l0aCBwYXJhbWV0ZXJzIGlzIHVuaW1wbGVtZW50ZWQiCi1tc2dzdHIgImdpdCBzdGFzaCDQvtGH0LjRgdGC0LrQsCDRgSDQv9Cw0YDQsNC80LXRgtGA0LDQvNC4INC90LUg0YDQtdCw0LvQuNC30L7QstCw0L3QsCIKLQotIzogZ2l0LXN0YXNoLnNoOjEwOAotbXNnaWQgIllvdSBkbyBub3QgaGF2ZSB0aGUgaW5pdGlhbCBjb21taXQgeWV0IgotbXNnc3RyICLQoyDQstCw0YEg0LXRidC1INC90LXRgiDQvdCw0YfQsNC70YzQvdC+0LPQviDQutC+0LzQvNC40YLQsCIKLQotIzogZ2l0LXN0YXNoLnNoOjEyMwotbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IGluZGV4IHN0YXRlIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0L7RhdGA0LDQvdC40YLRjCDRgtC10LrRg9GJ0LXQtSDRgdC+0YHRgtC+0Y/QvdC40LUg0LjQvdC00LXQutGB0LAiCi0KLSM6IGdpdC1zdGFzaC5zaDoxMzgKLW1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgdW50cmFja2VkIGZpbGVzIgotbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDRgdC+0YXRgNCw0L3QuNGC0Ywg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INGE0LDQudC70YsiCi0KLSM6IGdpdC1zdGFzaC5zaDoxNTggZ2l0LXN0YXNoLnNoOjE3MQotbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHdvcmt0cmVlIHN0YXRlIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0L7RhdGA0LDQvdC40YLRjCDRgtC10LrRg9GJ0LXQtSDRgdC+0YHRgtC+0Y/QvdC40LUg0YDQsNCx0L7Rh9C10LPQviDQutCw0YLQsNC70L7Qs9CwIgotCi0jOiBnaXQtc3Rhc2guc2g6MTc1Ci1tc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKLW1zZ3N0ciAi0JjQt9C80LXQvdC10L3QuNGPINC90LUg0LLRi9Cx0YDQsNC90YsiCi0KLSM6IGdpdC1zdGFzaC5zaDoxNzgKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjIwCiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB0ZW1wb3JhcnkgaW5kZXggKGNhbid0IGhhcHBlbikiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0LLRgNC10LzQtdC90L3Ri9C5INC40L3QtNC10LrRgSAo0L3QtSDQtNC+0LvQttC90L4g0YHQu9GD0YfQsNGC0YzRgdGPKSIKIAotIzogZ2l0LXN0YXNoLnNoOjE5MQotbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0YHQvtGB0YLQvtGP0L3QuNC1INGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCIKLQotIzogZ2l0LXN0YXNoLnNoOjIyOQorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyNzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB1cGRhdGUgJHJlZl9zdGFzaCB3aXRoICR3X2NvbW1pdCIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMICRyZWZfc3Rhc2gg0YEg0L/QvtC80L7RidGM0Y4gJHdfY29tbWl0IgogCi0jOiBnaXQtc3Rhc2guc2g6MjgxCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjMyMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggcHVzaCc6ICRvcHRpb24iCiBtc2dzdHIgItC+0YjQuNCx0LrQsDog0L3QtdC40LfQstC10YHRgtC90YvQuSDQv9Cw0YDQsNC80LXRgtGAINC00LvRjyDCq3N0YXNoIHB1c2jCuzogJG9wdGlvbiIKIAotIzogZ2l0LXN0YXNoLnNoOjI5NQotbXNnaWQgIkNhbid0IHVzZSAtLXBhdGNoIGFuZCAtLWluY2x1ZGUtdW50cmFja2VkIG9yIC0tYWxsIGF0IHRoZSBzYW1lIHRpbWUiCi1tc2dzdHIgItCd0LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgLS1wYXRjaCDQuCAtLWluY2x1ZGUtdW50cmFja2VkINC40LvQuCAtLWFsbCDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4iCi0KLSM6IGdpdC1zdGFzaC5zaDozMDMKLW1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCi1tc2dzdHIgItCd0LXRgiDQu9C+0LrQsNC70YzQvdGL0YUg0LjQt9C80LXQvdC10L3QuNC5INC00LvRjyDRgdC+0YXRgNCw0L3QtdC90LjRjyIKLQotIzogZ2l0LXN0YXNoLnNoOjMwOAotbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgotbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDRgtGMINGB0L/RgNGP0YLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyIKLQotIzogZ2l0LXN0YXNoLnNoOjMxMgotbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHN0YXR1cyIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0YXRgNCw0L3QuNGC0Ywg0YLQtdC60YPRidC40Lkg0YHRgtCw0YLRg9GBIgotCi0jOiBnaXQtc3Rhc2guc2g6MzEzCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjM1NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlICRzdGFzaF9tc2ciCiBtc2dzdHIgItCg0LDQsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzINC4INGB0L7RgdGC0L7Rj9C90LjQtSDQuNC90LTQtdC60YHQsCDRgdC+0YXRgNCw0L3QtdC90YsgJHN0YXNoX21zZyIKIAotIzogZ2l0LXN0YXNoLnNoOjM0MgotbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCDQuNC30LzQtdC90LXQvdC40Y8g0YDQsNCx0L7Rh9C10LPQviDQutCw0YLQsNC70L7Qs9CwIgotCi0jOiBnaXQtc3Rhc2guc2g6NDkwCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjUzNQogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICRvcHQiCiBtc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdCw0Y8g0L7Qv9GG0LjRjzogJG9wdCIKIAotIzogZ2l0LXN0YXNoLnNoOjUwMwotbXNnaWQgIk5vIHN0YXNoIGVudHJpZXMgZm91bmQuIgotbXNnc3RyICLQndC1INC90LDQudC00LXQvdGLINGB0L/RgNGP0YLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjy4iCi0KLSM6IGdpdC1zdGFzaC5zaDo1MTAKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NTU1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICLQn9C10YDQtdC00LDQvdC+INGB0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0YDQtdC00LDQutGG0LjQuTogJFJFViIKIAotIzogZ2l0LXN0YXNoLnNoOjUyNQorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1NzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNlINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QvtC5INGB0YHRi9C70LrQvtC5IgogCi0jOiBnaXQtc3Rhc2guc2g6NTUzCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjU5OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKIG1zZ3N0ciAiwqskYXJnc8K7INC90LUg0L/QvtGF0L7QttC1INC90LAg0LrQvtC80LzQuNGCINGB0L4g0YHQv9GA0Y/RgtCw0L3QvdGL0LzQuCDQuNC30LzQtdC90LXQvdC40Y/QvNC4IgogCi0jOiBnaXQtc3Rhc2guc2g6NTY0CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYwOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIsKrJGFyZ3PCuyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0YHRgdGL0LvQutC+0Lkg0L3QsCDRgdC/0YDRj9GC0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8iCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzIKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjE3CiBtc2dpZCAidW5hYmxlIHRvIHJlZnJlc2ggaW5kZXgiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCDQuNC90LTQtdC60YEiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzYKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjIxCiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgogbXNnc3RyICLQndC10LvRjNC30Y8g0L/RgNC40LzQtdC90LjRgtGMINGB0L/RgNGP0YLQsNC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjyDQstC+INCy0YDQtdC80Y8g0LLRi9C/0L7Qu9C90LXQvdC40Y8g0YHQu9C40Y/QvdC40Y8iCiAKLSM6IGdpdC1zdGFzaC5zaDo1ODQKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjI5CiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAi0JrQvtC90YTQu9C40LrRgtGLINCyINC40L3QtNC10LrRgdC1LiDQn9C+0L/RgNC+0LHRg9C50YLQtSDQsdC10LcgLS1pbmRleC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1ODYKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjMxCiBtc2dpZCAiQ291bGQgbm90IHNhdmUgaW5kZXggdHJlZSIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0YXRgNCw0L3QuNGC0Ywg0LTQtdGA0LXQstC+INC40L3QtNC10LrRgdCwIgogCi0jOiBnaXQtc3Rhc2guc2g6NTk1CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjY0MAogbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIGVudHJ5IgogbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstC+0YHRgdGC0LDQvdC+0LLQuNGC0Ywg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9C1INGE0LDQudC70Ysg0LjQtyDRgdC/0YDRj9GC0LDQvdC90YvRhSDQuNC30LzQtdC90LXQvdC40LkiCiAKLSM6IGdpdC1zdGFzaC5zaDo2MjAKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjY1CiBtc2dpZCAiQ2Fubm90IHVuc3RhZ2UgbW9kaWZpZWQgZmlsZXMiCiBtc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INGD0LHRgNCw0YLRjCDQuNC3INC40L3QtNC10LrRgdCwINC40LfQvNC10L3QtdC90L3Ri9C1INGE0LDQudC70YsiCiAKLSM6IGdpdC1zdGFzaC5zaDo2MzUKLW1zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCi1tc2dzdHIgItCY0L3QtNC10LrRgSDQvdC1INCx0YvQuyDQuNC30LLQu9C10YfRkdC9INC40Lcg0YHQv9GA0Y/RgtCw0L3QvdGL0YUg0LjQt9C80LXQvdC10L3QuNC5LiIKLQotIzogZ2l0LXN0YXNoLnNoOjY0OQotbXNnaWQgIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgotbXNnc3RyICLQodC/0YDRj9GC0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGF0YDQsNC90LXQvdGLLCDQvdCwINGB0LvRg9GH0LDQuSDQtdGB0LvQuCDQvtC90Lgg0YHQvdC+0LLQsCDQstCw0Lwg0L/QvtC90LDQtNC+0LHRj9GC0YHRjy4iCi0KLSM6IGdpdC1zdGFzaC5zaDo2NTgKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzAzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJEcm9wcGVkICR7UkVWfSAoJHMpIgogbXNnc3RyICLQntGC0LHRgNC+0YjQtdC90L4gJHtSRVZ9ICgkcykiCiAKLSM6IGdpdC1zdGFzaC5zaDo2NTkKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzA0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIke1JFVn06IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgogbXNnc3RyICIke1JFVn06INCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtCx0YDQvtGB0LjRgtGMINC30LDQv9C40YHRjCDQuNC3INGB0L/RgNGP0YLQsNC90L3Ri9GFINC40LfQvNC10L3QtdC90LjQuSIKIAotIzogZ2l0LXN0YXNoLnNoOjY2NwotbXNnaWQgIk5vIGJyYW5jaCBuYW1lIHNwZWNpZmllZCIKLW1zZ3N0ciAi0J3QtSDRg9C60LDQt9Cw0L3QviDQuNC80Y8g0LLQtdGC0LrQuCIKLQotIzogZ2l0LXN0YXNoLnNoOjc0NgorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo3OTEKIG1zZ2lkICIoVG8gcmVzdG9yZSB0aGVtIHR5cGUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiBtc2dzdHIgIijQp9GC0L7QsdGLINCy0L7RgdGB0YLQsNC90L7QstC40YLRjCDQuNGFLCDQvdCw0LHQtdGA0LjRgtC1IMKrZ2l0IHN0YXNoIGFwcGx5wrspIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjE4OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMDAKIG1zZ2lkICJSZWxhdGl2ZSBwYXRoIGNhbiBvbmx5IGJlIHVzZWQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi0J7RgtC90L7RgdC40YLQtdC70YzQvdGL0Lkg0L/Rg9GC0Ywg0LzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+INC90LDRhdC+0LTRj9GB0Ywg0L3QsCDQstC10YDRiNC40L3QtSDRgNCw0LHQvtGH0LXQs9C+INC60LDRgtCw0LvQvtCz0LAiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTk4CisjOiBnaXQtc3VibW9kdWxlLnNoOjIxMAogIywgc2gtZm9ybWF0CiBtc2dpZCAicmVwbyBVUkw6ICckcmVwbycgbXVzdCBiZSBhYnNvbHV0ZSBvciBiZWdpbiB3aXRoIC4vfC4uLyIKIG1zZ3N0ciAiVVJMINGA0LXQv9C+0LfQuNGC0L7RgNC40Y86IMKrJHJlcG/CuyDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0LDQsdGB0L7Qu9GO0YLQvdGL0Lwg0LjQu9C4INC90LDRh9C40L3QsNGC0YzRgdGPINGBIC4vfC4uLyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjI5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCIKIG1zZ3N0ciAiwqskc21fcGF0aMK7INGD0LbQtSDRgdC+0LTQtdGA0LbQuNGC0YHRjyDQsiDQuNC90LTQtdC60YHQtSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMjAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjMyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCBhbmQgaXMgbm90IGEgc3VibW9kdWxlIgogbXNnc3RyICLCqyRzbV9wYXRowrsg0YPQttC1INGB0L7QtNC10YDQttC40YLRgdGPINCyINC40L3QtNC10LrRgdC1INC4INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQv9C+0LTQvNC+0LTRg9C70LXQvCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjM5CisjLCBzaC1mb3JtYXQKK21zZ2lkICInJHNtX3BhdGgnIGRvZXMgbm90IGhhdmUgYSBjb21taXQgY2hlY2tlZCBvdXQiCittc2dzdHIgIiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHBhdGggaXMgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgpAQCAtMTc0NzUsMjIgKzIwNDc3LDIyIEBACiAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgaXQuIgogbXNnc3RyICLQodC70LXQtNGD0Y7RidC40LUg0L/Rg9GC0Lgg0LjQs9C90L7RgNC40YDRg9GO0YLRgdGPINC+0LTQvdC40Lwg0LjQtyDQstCw0YjQuNGFINGE0LDQudC70L7QsiAuZ2l0aWdub3JlOlxuJHNtX3BhdGhcbtCY0YHQv9C+0LvRjNC30YPQudGC0LUg0L7Qv9GG0LjRjiAtZiwg0LXRgdC70Lgg0LLRiyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRhdC+0YLQuNGC0LUg0LXQs9C+INC00L7QsdCw0LLQuNGC0YwuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI0OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgogbXNnc3RyICLQlNC+0LHQsNCy0LvRj9GOINGB0YPRidC10YHRgtCy0YPRjtGJ0LjQuSDRgNC10L/QvtC30LjRgtC+0YDQuNC5INC40Lcgwqskc21fcGF0aMK7INCyINC40L3QtNC10LrRgSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjcwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYSB2YWxpZCBnaXQgcmVwbyIKIG1zZ3N0ciAiwqskc21fcGF0aMK7INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgiDQuCDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQvCDRgNC10L/QvtC30LjRgtC+0YDQuNC10LwgZ2l0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI1OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkEgZ2l0IGRpcmVjdG9yeSBmb3IgJyRzbV9uYW1lJyBpcyBmb3VuZCBsb2NhbGx5IHdpdGggcmVtb3RlKHMpOiIKIG1zZ3N0ciAi0JrQsNGC0LDQu9C+0LMgZ2l0INC00LvRjyDCqyRzbV9uYW1lwrsg0L3QsNC50LTQtdC9INC70L7QutCw0LvRjNC90L4g0L3QsCDQstC90LXRiNC90LjRhSDRgNC10L/QvtC30LjRgtC+0YDQuNGP0YU6IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI2MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluIGZyb21cbiIKQEAgLTE3NDk5LDEyMCArMjA1MDEsMTIyIEBACiAib3IgeW91IGFyZSB1bnN1cmUgd2hhdCB0aGlzIG1lYW5zIGNob29zZSBhbm90aGVyIG5hbWUgd2l0aCB0aGUgJy0tbmFtZScgb3B0aW9uLiIKIG1zZ3N0ciAi0JXRgdC70Lgg0LLRiyDRhdC+0YLQuNGC0LUg0L/QvtCy0YLQvtGA0L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LvQvtC60LDQu9GM0L3Ri9C5INC60LDRgtCw0LvQvtCzIGdpdCDQstC80LXRgdGC0L4g0L/QvtCy0YLQvtGA0L3QvtCz0L4g0LrQu9C+0L3QuNGA0L7QstCw0L3QuNGPINC40LdcbiAgJHJlYWxyZXBvXG7RgtC+INC40YHQv9C+0LvRjNC30YPQudGC0LUg0L/QsNGA0LDQvNC10YLRgCDCqy0tZm9yY2XCuy4g0JXRgdC70Lgg0LbQtSDQu9C+0LrQsNC70YzQvdGL0Lkg0LrQsNGC0LDQu9C+0LMgZ2l0INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQvdGD0LbQvdGL0Lwg0YDQtdC/0L7Qt9C40YLQvtGA0LjQtdC8INC40LvQuCDQtdGB0LvQuCDQstGLINC90LUg0YPQstC10YDQtdC90YssINGH0YLQviDRjdGC0L4g0LfQvdCw0YfQuNGCLCDRgtC+INGD0LrQsNC20LjRgtC1INC00YDRg9Cz0L7QtSDQuNC80Y8g0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDRgSDQv9C+0LzQvtGJ0YzRjiDQv9Cw0YDQsNC80LXRgtGA0LAgwqstLW5hbWXCuy4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjY3CisjOiBnaXQtc3VibW9kdWxlLnNoOjI4NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVhY3RpdmF0aW5nIGxvY2FsIGdpdCBkaXJlY3RvcnkgZm9yIHN1Ym1vZHVsZSAnJHNtX25hbWUnLiIKIG1zZ3N0ciAi0JLQvtGB0YHRgtCw0L3QvtCy0LvQtdC90LjQtSDQu9C+0LrQsNC70YzQvdC+0LPQviDQutCw0YLQsNC70L7Qs9CwIGdpdCDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPIMKrJHNtX25hbWXCuy4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mjc5CisjOiBnaXQtc3VibW9kdWxlLnNoOjI5OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0IHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LrQu9GO0YfQuNGC0YzRgdGPINC90LAg0YHQvtGB0YLQvtGP0L3QuNC1INGDINC/0L7QtNC80L7QtNGD0LvRjyDCqyRzbV9wYXRowrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mjg0CisjOiBnaXQtc3VibW9kdWxlLnNoOjMwMwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGFkZCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAi0KHQsdC+0Lkg0LTQvtCx0LDQstC70LXQvdC40Y8g0L/QvtC00LzQvtC00YPQu9GPIMKrJHNtX3BhdGjCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyOTMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzEyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNGC0Ywg0L/QvtC00LzQvtC00YPQu9GMIMKrJHNtX3BhdGjCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NjUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTczCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC90LDQudGC0Lgg0YLQtdC60YPRidGD0Y4g0YDQtdC00LDQutGG0LjRjiDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPINC/0L4g0L/Rg9GC0LggwqskZGlzcGxheXBhdGjCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NzUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTgzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywg0LjQt9Cy0LvQtdGH0LXQvdC40LUg0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDQv9C+INC/0YPRgtC4IMKrJHNtX3BhdGjCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1ODAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTg4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgogIickc21fcGF0aCciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDRgtC10LrRg9GJ0YPRjiDRgNC10LTQsNC60YbQuNGOICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPINC/0L4g0L/Rg9GC0Lggwqskc21fcGF0aMK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYwMworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MDYKICMsIHNoLWZvcm1hdAotbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywg0LjQt9Cy0LvQtdGH0LXQvdC40LUg0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDQv9C+INC/0YPRgtC4IMKrJGRpc3BsYXlwYXRowrsiCittc2dpZCAiIgorIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzsgdHJ5aW5nIHRvIGRpcmVjdGx5IGZldGNoICIKKyIkc2hhMToiCittc2dzdHIgIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MDkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjEyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiRmV0Y2hlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJywgYnV0IGl0IGRpZCBub3QgY29udGFpbiAkc2hhMS4gIgogIkRpcmVjdCBmZXRjaGluZyBvZiB0aGF0IGNvbW1pdCBmYWlsZWQuIgogbXNnc3RyICLQn9C+0LvRg9GH0LXQvSDQv9C+INC/0YPRgtC4INC/0L7QtNC80L7QtNGD0LvRjyDCqyRkaXNwbGF5cGF0aMK7LCDQvdC+INC90LUg0YHQvtC00LXRgNC20LjRgiAkc2hhMS4g0KHQsdC+0Lkg0L/RgNC4INC/0YDRj9C80L7QvCDQv9C+0LvRg9GH0LXQvdC40Lgg0LrQvtC80LzQuNGC0LAuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYxNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LrQu9GO0YfQuNGC0YzRgdGPINC90LAg0YHQvtGB0YLQvtGP0L3QuNC1IMKrJHNoYTHCuyDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPINC/0L4g0L/Rg9GC0LggwqskZGlzcGxheXBhdGjCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjIwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogY2hlY2tlZCBvdXQgJyRzaGExJyIKIG1zZ3N0ciAi0J/QvtC00LzQvtC00YPQu9GMINC/0L4g0L/Rg9GC0LggwqskZGlzcGxheXBhdGjCuzog0LfQsNCx0YDQsNC90L4g0YHQvtGB0YLQvtGP0L3QuNC1IMKrJHNoYTHCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjI0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gcmViYXNlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQvNC10YHRgtC40YLRjCDCqyRzaGExwrsg0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDQv9C+INC/0YPRgtC4IMKrJGRpc3BsYXlwYXRowrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjIyCisjOiBnaXQtc3VibW9kdWxlLnNoOjYyNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IHJlYmFzZWQgaW50byAnJHNoYTEnIgogbXNnc3RyICLQn9C+0LTQvNC+0LTRg9C70Ywg0L/QviDQv9GD0YLQuCDCqyRkaXNwbGF5cGF0aMK7OiDQv9C10YDQtdC80LXRidC10L0g0L3QsNC0IMKrJHNoYTHCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjMwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gbWVyZ2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywg0YHQu9C40Y/QvdC40LUg0YEgwqskc2hhMcK7INC00LvRjyDQv9C+0LTQvNC+0LTRg9C70Y8g0L/QviDQv9GD0YLQuCDCqyRkaXNwbGF5cGF0aMK7IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYyOAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKIG1zZ3N0ciAi0J/QvtC00LzQvtC00YPQu9GMINC/0L4g0L/Rg9GC0LggwqskZGlzcGxheXBhdGjCuzog0YHQu9C40YLQviDRgSDCqyRzaGExwrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjMzCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiRXhlY3V0aW9uIG9mICckY29tbWFuZCAkc2hhMScgZmFpbGVkIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLQodCx0L7QuSDQstGL0L/QvtC70L3QtdC90LjRjyDCqyRjb21tYW5kICRzaGExwrsg0LTQu9GPINC/0L7QtNC80L7QtNGD0LvRjyDQv9C+INC/0YPRgtC4IMKrJGRpc3BsYXlwYXRowrsiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjM0CisjOiBnaXQtc3VibW9kdWxlLnNoOjYzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6ICckY29tbWFuZCAkc2hhMSciCiBtc2dzdHIgItCf0L7QtNC80L7QtNGD0LvRjCDQv9C+INC/0YPRgtC4IMKrJGRpc3BsYXlwYXRowrs6IMKrJGNvbW1hbmQgJHNoYTHCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NjUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjY4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCDRgNC10LrRg9GA0YHQuNCy0L3QviDQtNC70Y8g0L/QvtC00LzQvtC00YPQu9GPINC/0L4g0L/Rg9GC0LggwqskZGlzcGxheXBhdGjCuyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo3NjEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODMwCiBtc2dpZCAiVGhlIC0tY2FjaGVkIG9wdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoZSAtLWZpbGVzIG9wdGlvbiIKIG1zZ3N0ciAi0J7Qv9GG0LjRjiAtLWNhY2hlZCDQvdC10LvRjNC30Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0LTQvdC+0LLRgNC10LzQtdC90L3QviDRgSDQvtC/0YbQuNC10LkgLS1maWxlcyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MTMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6ODgyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG1vZGUgJG1vZF9kc3QiCiBtc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0YDQtdC20LjQvCAkbW9kX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MzMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTAyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCiBtc2dzdHIgIiAg0J/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTogJGRpc3BsYXlfbmFtZSDQvdC1INGB0L7QtNC10YDQttC40YIg0LrQvtC80LzQuNGCICRzaGExX3NyYyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MzYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTA1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAg0J/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTogJGRpc3BsYXlfbmFtZSDQvdC1INGB0L7QtNC10YDQttC40YIg0LrQvtC80LzQuNGCICRzaGExX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MzkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTA4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAg0J/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTogJGRpc3BsYXlfbmFtZSDQvdC1INGB0L7QtNC10YDQttC40YIg0LrQvtC80LzQuNGC0YsgJHNoYTFfc3JjINC4ICRzaGExX2RzdCIKQEAgLTE3NjIyLDEwMCArMjA2MjYsNiBAQAogbXNnaWQgIlNlZSBnaXQtJHtjbWR9KDEpIGZvciBkZXRhaWxzLiIKIG1zZ3N0ciAi0JTQu9GPINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40LgsINGB0LzQvtGC0YDQuNGC0LUgZ2l0LSR7Y21kfSgxKS4iCiAKLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjQzCi1tc2dpZCAiIgotIlxuIgotIkNvbW1hbmRzOlxuIgotInAsIHBpY2sgPGNvbW1pdD4gPSB1c2UgY29tbWl0XG4iCi0iciwgcmV3b3JkIDxjb21taXQ+ID0gdXNlIGNvbW1pdCwgYnV0IGVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlXG4iCi0iZSwgZWRpdCA8Y29tbWl0PiA9IHVzZSBjb21taXQsIGJ1dCBzdG9wIGZvciBhbWVuZGluZ1xuIgotInMsIHNxdWFzaCA8Y29tbWl0PiA9IHVzZSBjb21taXQsIGJ1dCBtZWxkIGludG8gcHJldmlvdXMgY29tbWl0XG4iCi0iZiwgZml4dXAgPGNvbW1pdD4gPSBsaWtlIFwic3F1YXNoXCIsIGJ1dCBkaXNjYXJkIHRoaXMgY29tbWl0J3MgbG9nIG1lc3NhZ2VcbiIKLSJ4LCBleGVjIDxjb21tYW5kPiA9IHJ1biBjb21tYW5kICh0aGUgcmVzdCBvZiB0aGUgbGluZSkgdXNpbmcgc2hlbGxcbiIKLSJkLCBkcm9wIDxjb21taXQ+ID0gcmVtb3ZlIGNvbW1pdFxuIgotImwsIGxhYmVsIDxsYWJlbD4gPSBsYWJlbCBjdXJyZW50IEhFQUQgd2l0aCBhIG5hbWVcbiIKLSJ0LCByZXNldCA8bGFiZWw+ID0gcmVzZXQgSEVBRCB0byBhIGxhYmVsXG4iCi0ibSwgbWVyZ2UgWy1DIDxjb21taXQ+IHwgLWMgPGNvbW1pdD5dIDxsYWJlbD4gWyMgPG9uZWxpbmU+XVxuIgotIi4gICAgICAgY3JlYXRlIGEgbWVyZ2UgY29tbWl0IHVzaW5nIHRoZSBvcmlnaW5hbCBtZXJnZSBjb21taXQnc1xuIgotIi4gICAgICAgbWVzc2FnZSAob3IgdGhlIG9uZWxpbmUsIGlmIG5vIG9yaWdpbmFsIG1lcmdlIGNvbW1pdCB3YXNcbiIKLSIuICAgICAgIHNwZWNpZmllZCkuIFVzZSAtYyA8Y29tbWl0PiB0byByZXdvcmQgdGhlIGNvbW1pdCBtZXNzYWdlLlxuIgotIlxuIgotIlRoZXNlIGxpbmVzIGNhbiBiZSByZS1vcmRlcmVkOyB0aGV5IGFyZSBleGVjdXRlZCBmcm9tIHRvcCB0byBib3R0b20uXG4iCi1tc2dzdHIgIiIKLQotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6NjQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjE3MwotbXNnaWQgIiIKLSJcbiIKLSJEbyBub3QgcmVtb3ZlIGFueSBsaW5lLiBVc2UgJ2Ryb3AnIGV4cGxpY2l0bHkgdG8gcmVtb3ZlIGEgY29tbWl0LlxuIgotbXNnc3RyICJcbtCd0LUg0YPQtNCw0LvRj9C50YLQtSDRgdGC0YDQvtC60LguINCY0YHQv9C+0LvRjNC30YPQudGC0LUgwqtkcm9wwrssINGH0YLQvtCx0Ysg0Y/QstC90L4g0YPQtNCw0LvQuNGC0Ywg0LrQvtC80LzQuNGCLlxuIgotCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDo2OCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTc3Ci1tc2dpZCAiIgotIlxuIgotIklmIHlvdSByZW1vdmUgYSBsaW5lIGhlcmUgVEhBVCBDT01NSVQgV0lMTCBCRSBMT1NULlxuIgotbXNnc3RyICJcbtCV0YHQu9C4INCy0Ysg0YPQtNCw0LvQuNGC0LUg0YHRgtGA0L7QutGDINC30LTQtdGB0YwsINGC0L4g0KPQmtCQ0JfQkNCd0J3Qq9CZINCa0J7QnNCc0JjQoiDQkdCj0JTQldCiINCj0KLQldCg0K/QnS5cbiIKLQotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTA4IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MjQKLW1zZ2lkICJjb3VsZCBub3QgZGV0YWNoIEhFQUQiCi1tc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC00LXQu9C40YLRjCBIRUFEIgotCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxNDcgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgxNgotbXNnaWQgIiIKLSJcbiIKLSJZb3UgYXJlIGVkaXRpbmcgdGhlIHRvZG8gZmlsZSBvZiBhbiBvbmdvaW5nIGludGVyYWN0aXZlIHJlYmFzZS5cbiIKLSJUbyBjb250aW51ZSByZWJhc2UgYWZ0ZXIgZWRpdGluZywgcnVuOlxuIgotIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKLSJcbiIKLW1zZ3N0ciAiXG7QktGLINGB0LXQudGH0LDRgSDRgNC10LTQsNC60YLQuNGA0YPQtdGC0LUg0YTQsNC50Lsg0YHQviDRgdC/0LjRgdC60L7QvCDQtNC10Lsg0LTQu9GPINC40L3RgtC10YDQsNC60YLQuNCy0L3QvtCz0L4g0L/QtdGA0LXQvNC10YnQtdC90LjRjy5cbtCU0LvRjyDQv9GA0L7QtNC+0LvQttC10L3QuNGPINC/0LXRgNC10LzQtdGJ0LXQvdC40Y8sINC/0L7RgdC70LUg0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjRjyDRhNCw0LnQu9CwINC30LDQv9GD0YHRgtC40YLQtTpcbiAgICBnaXQgcmViYXNlIC0tY29udGludWVcblxuIgotCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxNTUgZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MjQxCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODI0IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MTAKLW1zZ2lkICJDb3VsZCBub3QgZXhlY3V0ZSBlZGl0b3IiCi1tc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0YPRgdGC0LjRgtGMINGA0LXQtNCw0LrRgtC+0YAiCi0KLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjE3NiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODQ1Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgY2hlY2tvdXQgJHN3aXRjaF90byIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC50YLQuCDQvdCwINCy0LXRgNGB0LjRjiAkc3dpdGNoX3RvIgotCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxODMgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg1MgotbXNnaWQgIk5vIEhFQUQ/IgotbXNnc3RyICLQndC10YIg0YPQutCw0LfQsNGC0LXQu9GPIEhFQUQ/IgotCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoxODQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg1MwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJHN0YXRlX2RpciIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQstGA0LXQvNC10L3QvdGL0Lkg0LrQsNGC0LDQu9C+0LMgJHN0YXRlX2RpciIKLQotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MTg3IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NTYKLW1zZ2lkICJDb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LzQtdGC0LjRgtGMINC60LDQuiDQuNC90YLQtdGA0LDQutGC0LjQstC90YvQuSIKLQotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MjE5IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4ODgKLSMsIHNoLWZvcm1hdAotbXNnaWQgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmQpIgotbXNnaWRfcGx1cmFsICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kcykiCi1tc2dzdHJbMF0gItCf0LXRgNC10LzQtdGJ0LXQvdC40LUgJHNob3J0cmV2aXNpb25zINC90LDQtCAkc2hvcnRvbnRvICgkdG9kb2NvdW50INC60L7QvNCw0L3QtNCwKSIKLW1zZ3N0clsxXSAi0J/QtdGA0LXQvNC10YnQtdC90LjQtSAkc2hvcnRyZXZpc2lvbnMg0L3QsNC0ICRzaG9ydG9udG8gKCR0b2RvY291bnQg0LrQvtC80LDQvdC00YspIgotbXNnc3RyWzJdICLQn9C10YDQtdC80LXRidC10L3QuNC1ICRzaG9ydHJldmlzaW9ucyDQvdCw0LQgJHNob3J0b250byAoJHRvZG9jb3VudCDQutC+0LzQsNC90LQpIgotbXNnc3RyWzNdICLQn9C10YDQtdC80LXRidC10L3QuNC1ICRzaG9ydHJldmlzaW9ucyDQvdCw0LQgJHNob3J0b250byAoJHRvZG9jb3VudCDQutC+0LzQsNC90LQpIgotCi0jOiBnaXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaDoyMjQKLW1zZ2lkICIiCi0iXG4iCi0iXHRIb3dldmVyLCBpZiB5b3UgcmVtb3ZlIGV2ZXJ5dGhpbmcsIHRoZSByZWJhc2Ugd2lsbCBiZSBhYm9ydGVkLlxuIgotIlxuIgotIlx0IgotbXNnc3RyICIiCi0KLSM6IGdpdC1yZWJhc2UtLWludGVyYWN0aXZlLnNoOjIzMSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTAwCi1tc2dpZCAiTm90ZSB0aGF0IGVtcHR5IGNvbW1pdHMgYXJlIGNvbW1lbnRlZCBvdXQiCi1tc2dzdHIgItCX0LDQvNC10YLRjNGC0LUsINGH0YLQviDQv9GD0YHRgtGL0LUg0LrQvtC80LzQuNGC0Ysg0LfQsNC60L7QvNC80LXQvdGC0LjRgNC+0LLQsNC90L3RiyIKLQotIzogZ2l0LXJlYmFzZS0taW50ZXJhY3RpdmUuc2g6MjgwCi1tc2dpZCAiQ291bGQgbm90IGdlbmVyYXRlIHRvZG8gbGlzdCIKLW1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdCz0LXQvdC10YDQuNGA0L7QstCw0YLRjCDRgdC/0LjRgdC+0Log0LTQtdC7IgotCiAjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTM2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWJhc2luZyAoJG5ld19jb3VudC8kdG90YWwpIgpAQCAtMTc3NDAsNyArMjA2NTAsNyBAQAogIi4gICAgICAgc3BlY2lmaWVkKS4gVXNlIC1jIDxjb21taXQ+IHRvIHJld29yZCB0aGUgY29tbWl0IG1lc3NhZ2UuXG4iCiAiXG4iCiAiVGhlc2UgbGluZXMgY2FuIGJlIHJlLW9yZGVyZWQ7IHRoZXkgYXJlIGV4ZWN1dGVkIGZyb20gdG9wIHRvIGJvdHRvbS5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJcbtCa0L7QvNCw0L3QtNGLOlxucCwgcGljayA80LrQvtC80LzQuNGCPiA9INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQutC+0LzQvNC40YJcbnIsIHJld29yZCA80LrQvtC80LzQuNGCPiA9INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQutC+0LzQvNC40YIsINC90L4g0LjQt9C80LXQvdC40YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LBcbmUsIGVkaXQgPNC60L7QvNC80LjRgj4gPSDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LrQvtC80LzQuNGCLCDQvdC+INC+0YHRgtCw0L3QvtCy0LjRgtGM0YHRjyDQtNC70Y8g0LjRgdC/0YDQsNCy0LvQtdC90LjRj1xucywgc3F1YXNoIDzQutC+0LzQvNC40YI+ID0g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC60L7QvNC80LjRgiwg0L3QviDQvtCx0YrQtdC00LjQvdC40YLRjCDRgSDQv9GA0LXQtNGL0LTRg9GJ0LjQvCDQutC+0LzQvNC40YLQvtC8XG5mLCBmaXh1cCA80LrQvtC80LzQuNGCPiA9INC60LDQuiDCq3NxdWFzaMK7LCDQvdC+INC/0YDQvtC/0YPRgdGC0LjRgtGMINGB0L7QvtCx0YnQtdC90LjQtSDQutC+0LzQvNC40YLQsFxueCwgZXhlYyA80LrQvtC80LDQvdC00LA+ID0g0LLRi9C/0L7Qu9C90LjRgtGMINC60L7QvNCw0L3QtNGDICjQvtGB0YLQsNGC0L7QuiDRgdGC0YDQvtC60LgpINGBINC/0L7QvNC+0YnRjNGOINC60L7QvNCw0L3QtNC90L7QuSDQvtCx0L7Qu9C+0YfQutC4XG5kLCBkcm9wIDzQutC+0LzQvNC40YI+ID0g0YPQtNCw0LvQuNGC0Ywg0LrQvtC80LzQuNGCXG5sLCBsYWJlbCA80LzQtdGC0LrQsD4gPSDQtNCw0YLRjCDQuNC80Y8g0YLQtdC60YPRidC10LzRgyBIRUFEXG50LCByZXNldCA80LzQtdGC0LrQsD4gPSDRgdCx0YDQvtGB0LjRgtGMIEhFQUQg0Log0YPQutCw0LfQsNC90L3QvtC5INC80LXRgtC60LVcbm0sIG1lcmdlIFstQyA80LrQvtC80LzQuNGCPiB8IC1jIDzQutC+0LzQvNC40YI+XSA80LzQtdGC0LrQsD4gWyMgPNGB0YLRgNC+0LrQsD5dXG4uINGB0L7Qt9C00LDRgtGMINGB0LvQuNGP0L3QuNC1INC40YHQv9C+0LvRjNC30YPRjyDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAg0L7RgNC40LPQuNC90LDQu9GM0L3QvtCz0L5cbi4g0YHQu9C40Y/QvdC40Y8gKNC40LvQuCDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YPQutCw0LfQsNC90L3Rg9GOINGB0YLRgNC+0LrRgywg0LXRgdC70Lgg0L7RgNC40LPQuNC90LDQu9GM0L3QvtC1XG4uINGB0LvQuNGP0L3QuNC1INC90LUg0YPQutCw0LfQsNC90L4pLiDQmNGB0L/QvtC70YzQt9GD0LnRgtC1IC1jIDzQutC+0LzQvNC40YI+INGH0YLQvtCx0Ysg0LjQt9C80LXQvdC40YLRjFxuLiDRgdC+0L7QsdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0LAuXG5cbtCt0YLQuCDRgdGC0YDQvtC60Lgg0LzQvtC20L3QviDQv9C10YDQtdC80LXRidCw0YLRjDsg0L7QvdC4INCx0YPQtNGD0YIg0LLRi9C/0L7Qu9C90LXQvdGLINGB0LLQtdGA0YXRgyDQstC90LjQty5cbiIKIAogIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjIxNQogIywgc2gtZm9ybWF0CkBAIC0xNzgzOSw3ICsyMDc0OSw3IEBACiAiVGhpcyBpcyBtb3N0IGxpa2VseSBkdWUgdG8gYW4gZW1wdHkgY29tbWl0IG1lc3NhZ2UsIG9yIHRoZSBwcmUtY29tbWl0IGhvb2tcbiIKICJmYWlsZWQuIElmIHRoZSBwcmUtY29tbWl0IGhvb2sgZmFpbGVkLCB5b3UgbWF5IG5lZWQgdG8gcmVzb2x2ZSB0aGUgaXNzdWUgYmVmb3JlXG4iCiAieW91IGFyZSBhYmxlIHRvIHJld29yZCB0aGUgY29tbWl0LiIKLW1zZ3N0ciAi0J3QtSDRg9C00L7Qu9C+0YHRjCDQuNGB0L/RgNCw0LLQuNGC0Ywg0LrQvtC80LzQuNGCINC/0L7RgdC70LUg0YPRgdC/0LXRiNC90L7Qs9C+INC/0LXRgNC10YXQvtC00LAg0L3QsCAkc2hhMeKApiAkcmVzdFxu0K3RgtC+INC/0YDQvtC40LfQvtGI0LvQviwg0YHQutC+0YDQtdC1INCy0YHQtdCz0L4sINC40Lct0LfQsCDQv9GD0YHRgtC+0LPQviDRgdC+0L7QsdGJ0LXQvdC40Y8g0LrQvtC80LzQuNGC0LAg0LjQu9C4INC40Lct0LfQsCDQv9C10YDQtdGF0LLQsNGC0YfQuNC60LAg0L/QtdGA0LXQtCDQutC+0LzQvNC40YLQvtC8LiDQldGB0LvQuCDQttC1INGN0YLQviDQv9GA0L7QuNC30L7RiNC70L4g0LjQty3Qt9CwINC/0LXRgNC10YXQstCw0YLRh9C40LrQsCDQv9C10YDQtdC0INC60L7QvNC80LjRgtC+0LwsINGC0L4g0LLQsNC8INC90YPQttC90L4g0YDQtdGI0LjRgtGMINGBINC90LjQvCDQv9GA0L7QsdC70LXQvNGDINC4INC/0L7QstGC0L7RgNC40YLRjCDQv9C+0L/Ri9GC0LrRgyDRgdC90L7QstCwLiIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQuNGB0L/RgNCw0LLQuNGC0Ywg0LrQvtC80LzQuNGCINC/0L7RgdC70LUg0YPRgdC/0LXRiNC90L7Qs9C+INC/0LXRgNC10YXQvtC00LAg0L3QsCAkc2hhMeKApiAkcmVzdFxu0K3RgtC+INC/0YDQvtC40LfQvtGI0LvQviwg0YHQutC+0YDQtdC1INCy0YHQtdCz0L4sINC40Lct0LfQsCDQv9GD0YHRgtC+0LPQviDRgdC+0L7QsdGJ0LXQvdC40Y8g0LrQvtC80LzQuNGC0LAg0LjQu9C4INC40Lct0LfQsCDQv9C10YDQtdGF0LLQsNGC0YfQuNC60LAg0L/QtdGA0LXQtCDQutC+0LzQvNC40YLQvtC8LiDQldGB0LvQuCDQttC1INGN0YLQviDQv9GA0L7QuNC30L7RiNC70L4g0LjQty3Qt9CwINC/0LXRgNC10YXQstCw0YLRh9C40LrQsCDQv9C10YDQtdC0INC60L7QvNC80LjRgtC+0LwsINGC0L4g0LLQsNC8INC90YPQttC90L4g0YDQtdGI0LjRgtGMINGBINC90LjQvCDQv9GA0L7QsdC70LXQvNGDINC4INC/0L7QstGC0L7RgNC40YLRjCDQv9C+0L/Ri9GC0LrRgyDRgdC90L7QstCwLiIKIAogIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU3MQogIywgc2gtZm9ybWF0CkBAIC0xNzkzMywxMiArMjA4NDMsMzYgQEAKIG1zZ2lkICJDb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LrQvtC80LzQuNGC0LjRgtGMINC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8uIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODkzCi1tc2dpZCAiIgotIlxuIgotIkhvd2V2ZXIsIGlmIHlvdSByZW1vdmUgZXZlcnl0aGluZywgdGhlIHJlYmFzZSB3aWxsIGJlIGFib3J0ZWQuXG4iCi0iXG4iCi1tc2dzdHIgIlxu0J3QviDQtdGB0LvQuCDQstGLINGD0LTQsNC70LjRgtC1INCy0YHQtSwg0YLQviDQv9GA0L7RhtC10YHRgSDQv9C10YDQtdC80LXRidC10L3QuNGPINCx0YPQtNC10YIg0LHRg9C00LXRgiDQv9GA0LXRgNCy0LDQvS5cblxuIgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgyNCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTEwCittc2dpZCAiQ291bGQgbm90IGV4ZWN1dGUgZWRpdG9yIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC30LDQv9GD0YHRgtC40YLRjCDRgNC10LTQsNC60YLQvtGAIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODQ1CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY2hlY2tvdXQgJHN3aXRjaF90byIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC50YLQuCDQvdCwINCy0LXRgNGB0LjRjiAkc3dpdGNoX3RvIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODUyCittc2dpZCAiTm8gSEVBRD8iCittc2dzdHIgItCd0LXRgiDRg9C60LDQt9Cw0YLQtdC70Y8gSEVBRD8iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NTMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICRzdGF0ZV9kaXIiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LLRgNC10LzQtdC90L3Ri9C5INC60LDRgtCw0LvQvtCzICRzdGF0ZV9kaXIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NTYKK21zZ2lkICJDb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LzQtdGC0LjRgtGMINC60LDQuiDQuNC90YLQtdGA0LDQutGC0LjQstC90YvQuSIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg4OAorIywgc2gtZm9ybWF0Cittc2dpZCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZCkiCittc2dpZF9wbHVyYWwgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmRzKSIKK21zZ3N0clswXSAi0J/QtdGA0LXQvNC10YnQtdC90LjQtSAkc2hvcnRyZXZpc2lvbnMg0L3QsNC0ICRzaG9ydG9udG8gKCR0b2RvY291bnQg0LrQvtC80LDQvdC00LApIgorbXNnc3RyWzFdICLQn9C10YDQtdC80LXRidC10L3QuNC1ICRzaG9ydHJldmlzaW9ucyDQvdCw0LQgJHNob3J0b250byAoJHRvZG9jb3VudCDQutC+0LzQsNC90LTRiykiCittc2dzdHJbMl0gItCf0LXRgNC10LzQtdGJ0LXQvdC40LUgJHNob3J0cmV2aXNpb25zINC90LDQtCAkc2hvcnRvbnRvICgkdG9kb2NvdW50INC60L7QvNCw0L3QtCkiCittc2dzdHJbM10gItCf0LXRgNC10LzQtdGJ0LXQvdC40LUgJHNob3J0cmV2aXNpb25zINC90LDQtCAkc2hvcnRvbnRvICgkdG9kb2NvdW50INC60L7QvNCw0L3QtCkiCiAKICM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NDIgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk0NwogbXNnaWQgIkNvdWxkIG5vdCBpbml0IHJld3JpdHRlbiBjb21taXRzIgpAQCAtMTc5NDksNTUgKzIwODgzLDU1IEBACiBtc2dpZCAidXNhZ2U6ICRkYXNobGVzcyAkVVNBR0UiCiBtc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAkZGFzaGxlc3MgJFVTQUdFIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MTkwCisjOiBnaXQtc2gtc2V0dXAuc2g6MTkxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgY2hkaXIgdG8gJGNkdXAsIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCBjaGRpciDQsiAkY2R1cCwg0LLQtdGA0YjQuNC90YMg0YDQsNCx0L7Rh9C10LPQviDQutCw0YLQsNC70L7Qs9CwIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MTk5IGdpdC1zaC1zZXR1cC5zaDoyMDYKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMDAgZ2l0LXNoLXNldHVwLnNoOjIwNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiZmF0YWw6ICRwcm9ncmFtX25hbWUgY2Fubm90IGJlIHVzZWQgd2l0aG91dCBhIHdvcmtpbmcgdHJlZS4iCiBtc2dzdHIgItC60YDQuNGC0LjRh9C10YHQutCw0Y8g0L7RiNC40LHQutCwOiAkcHJvZ3JhbV9uYW1lINC90LXQu9GM0LfRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L3QtSDQuNC80LXRjyDRgNCw0LHQvtGH0LXQs9C+INC60LDRgtCw0LvQvtCz0LAuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjIwCisjOiBnaXQtc2gtc2V0dXAuc2g6MjIxCiBtc2dpZCAiQ2Fubm90IHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMINC/0LXRgNC10LzQtdGJ0LXQvdC40LUg0LrQvtC80LzQuNGC0L7Qsjog0KMg0LLQsNGBINC10YHRgtGMINC90LXQv9GA0L7QuNC90LTQtdC60YHQuNGA0L7QstCw0L3QvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjIyMworIzogZ2l0LXNoLXNldHVwLnNoOjIyNAogbXNnaWQgIkNhbm5vdCByZXdyaXRlIGJyYW5jaGVzOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywg0L/QtdGA0LXQt9Cw0L/QuNGB0Ywg0LLQtdGC0L7Qujog0KMg0LLQsNGBINC10YHRgtGMINC90LXQv9GA0L7QuNC90LTQtdC60YHQuNGA0L7QstCw0L3QvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjIyNgorIzogZ2l0LXNoLXNldHVwLnNoOjIyNwogbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINGBINC/0LXRgNC10LzQtdGJ0LXQvdC40LXQvDog0KMg0LLQsNGBINC10YHRgtGMINC90LXQv9GA0L7QuNC90LTQtdC60YHQuNGA0L7QstCw0L3QvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjIyOQorIzogZ2l0LXNoLXNldHVwLnNoOjIzMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90ICRhY3Rpb246IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCAkYWN0aW9uOiDQoyDQstCw0YEg0LXRgdGC0Ywg0L3QtdC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8uIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjQyCisjOiBnaXQtc2gtc2V0dXAuc2g6MjQzCiBtc2dpZCAiQ2Fubm90IHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywg0L/QtdGA0LXQvNC10YnQtdC90LjQtSDQutC+0LzQvNC40YLQvtCyOiDQkiDQstCw0YjQtdC8INC40L3QtNC10LrRgdC1INC10YHRgtGMINC90LXQt9Cw0LrQvtC80LzQuNGH0LXQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8uIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjQ1CisjOiBnaXQtc2gtc2V0dXAuc2g6MjQ2CiBtc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDRgSDQv9C10YDQtdC80LXRidC10L3QuNC10Lw6INCSINCy0LDRiNC10Lwg0LjQvdC00LXQutGB0LUg0LXRgdGC0Ywg0L3QtdC30LDQutC+0LzQvNC40YfQtdC90L3Ri9C1INC40LfQvNC10L3QtdC90LjRjy4iCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoyNDgKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCAkYWN0aW9uOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCAkYWN0aW9uOiDQkiDQstCw0YjQtdC8INC40L3QtNC10LrRgdC1INC10YHRgtGMINC90LXQt9Cw0LrQvtC80LzQuNGH0LXQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8uIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjUyCisjOiBnaXQtc2gtc2V0dXAuc2g6MjUzCiBtc2dpZCAiQWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICLQmiDRgtC+0LzRgyDQttC1LCDQsiDQstCw0YjQtdC8INC40L3QtNC10LrRgdC1INC10YHRgtGMINC90LXQt9Cw0LrQvtC80LzQuNGH0LXQvdC90YvQtSDQuNC30LzQtdC90LXQvdC40Y8uIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MzcyCisjOiBnaXQtc2gtc2V0dXAuc2g6MzczCiBtc2dpZCAiWW91IG5lZWQgdG8gcnVuIHRoaXMgY29tbWFuZCBmcm9tIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlLiIKIG1zZ3N0ciAi0JLQsNC8INC90YPQttC90L4g0LfQsNC/0YPRgdC60LDRgtGMINGN0YLRgyDQutC+0LzQsNC90LTRgyDQvdCw0YXQvtC00Y/RgdGMINC90LAg0LLQtdGA0YjQuNC90LUg0YDQsNCx0L7Rh9C10LPQviDQutCw0YLQsNC70L7Qs9CwLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjM3NworIzogZ2l0LXNoLXNldHVwLnNoOjM3OAogbXNnaWQgIlVuYWJsZSB0byBkZXRlcm1pbmUgYWJzb2x1dGUgcGF0aCBvZiBnaXQgZGlyZWN0b3J5IgogbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINCw0LHRgdC+0LvRjtGC0L3Ri9C5INC/0YPRgtGMINC6INC60LDRgtCw0LvQvtCz0YMgZ2l0IgogCkBAIC0xODQ0OSw3ICsyMTM4Myw3IEBACiAicGF0Y2ggICAgICAgICAtIHBpY2sgaHVua3MgYW5kIHVwZGF0ZSBzZWxlY3RpdmVseVxuIgogImRpZmYgICAgICAgICAgLSB2aWV3IGRpZmYgYmV0d2VlbiBIRUFEIGFuZCBpbmRleFxuIgogImFkZCB1bnRyYWNrZWQgLSBhZGQgY29udGVudHMgb2YgdW50cmFja2VkIGZpbGVzIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXNcbiIKLW1zZ3N0ciAic3RhdHVzICAgICAgICAtINC/0L7QutCw0LfQsNGC0Ywg0L/Rg9GC0Lgg0YEg0LjQt9C80LXQvdC10L3QuNGP0LzQuFxudXBkYXRlICAgICAgICAtINC00L7QsdCw0LLQuNGC0Ywg0YHQvtGB0YLQvtGP0L3QuNC1INGA0LDQsdC+0YfQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsCDQuNC90LTQtdC60YFcbnJldmVydCAgICAgICAgLSDQstC10YDQvdGD0YLRjCDQv9GA0L7QuNC90LTQtdC60YHQuNGA0L7QstCw0L3QvdGL0Lkg0L3QsNCx0L7RgCDQuNC30LzQtdC90LXQvdC40Lkg0LogSEVBRCDQstC10YDRgdC40LhcbnBhdGNoICAgICAgICAgLSDQstGL0LHRgNCw0YLRjCDQuCDQstGL0LHQvtGA0L7Rh9C90L4g0L7QsdC90L7QstC40YLRjCDQsdC70L7QutC4XG5kaWZmICAgICAgICAgIC0g0L/RgNC+0YHQvNC+0YLRgNC10YLRjCDRgNCw0LfQu9C40YfQuNGPINC80LXQttC00YMgSEVBRCDQuCDQuNC90LTQtdC60YHQvtC8XG5hZGQgdW50cmFja2VkIC0g0LTQvtCx0LDQstC40YLRjCDRgdC+0LTQtdGA0LbQuNC80L7QtSDQvdC10L7RgtGB0LvQtdC20LjQstCw0LXQvNGL0YUg0YTQsNC50LvQvtCyINCyINC40L3QtNC10LrRgVxuIgorbXNnc3RyICJzdGF0dXMgICAgICAgIC0g0L/QvtC60LDQt9Cw0YLRjCDQv9GD0YLQuCDRgSDQuNC30LzQtdC90LXQvdC40Y/QvNC4XG51cGRhdGUgICAgICAgIC0g0LTQvtCx0LDQstC40YLRjCDRgdC+0YHRgtC+0Y/QvdC40LUg0YDQsNCx0L7Rh9C10LPQviDQutCw0YLQsNC70L7Qs9CwINC40L3QtNC10LrRgVxucmV2ZXJ0ICAgICAgICAtINCy0LXRgNC90YPRgtGMINC/0YDQvtC40L3QtNC10LrRgdC40YDQvtCy0LDQvdC90YvQuSDQvdCw0LHQvtGAINC40LfQvNC10L3QtdC90LjQuSDQuiBIRUFEINCy0LXRgNGB0LjQuFxucGF0Y2ggICAgICAgICAtINCy0YvQsdGA0LDRgtGMINC4INCy0YvQsdC+0YDQvtGH0L3QviDQvtCx0L3QvtCy0LjRgtGMINCx0LvQvtC60LhcbmRpZmYgICAgICAgICAgLSDQv9GA0L7RgdC80L7RgtGA0LXRgtGMINC40LfQvNC10L3QtdC90LjRjyDQvNC10LbQtNGDIEhFQUQg0Lgg0LjQvdC00LXQutGB0L7QvFxuYWRkIHVudHJhY2tlZCAtINC00L7QsdCw0LLQuNGC0Ywg0YHQvtC00LXRgNC20LjQvNC+0LUg0L3QtdC+0YLRgdC70LXQttC40LLQsNC10LzRi9GFINGE0LDQudC70L7QsiDQsiDQuNC90LTQtdC60YFcbiIKIAogIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzQyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc0NwogIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzUwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc1NwpAQCAtMTg0NjcsNzMgKzIxNDAxLDczIEBACiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCAlcywgZXhwZWN0aW5nIC0tIgogbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgiAlcywg0L7QttC40LTQsNC10YLRgdGPIC0tIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzgKIG1zZ2lkICJsb2NhbCB6b25lIGRpZmZlcnMgZnJvbSBHTVQgYnkgYSBub24tbWludXRlIGludGVydmFsXG4iCiBtc2dzdHIgItC70L7QutCw0LvRjNC90YvQuSDRh9Cw0YHQvtCy0L7QuSDQv9C+0Y/RgSDQvtGC0LvQuNGH0LDQtdGC0YHRjyDQvtGCIEdNVCDQvdCwINC90LUg0LzQuNC90YPRgtC90YvQuSDQuNC90YLQtdGA0LLQsNC7XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM3IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MQogbXNnaWQgImxvY2FsIHRpbWUgb2Zmc2V0IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAyNCBob3Vyc1xuIgogbXNnc3RyICLQu9C+0LrQsNC70YzQvdGL0Lkg0YHQtNCy0LjQsyDQstGA0LXQvNC10L3QuCDQsdC+0LvRjNGI0LUg0LjQu9C4INGA0LDQstC10L0gMjQg0YfQsNGB0LBcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoyMTEgZ2l0LXNlbmQtZW1haWwucGVybDoyMTcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjE5IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjI1CiBtc2dpZCAidGhlIGVkaXRvciBleGl0ZWQgdW5jbGVhbmx5LCBhYm9ydGluZyBldmVyeXRoaW5nIgogbXNnc3RyICLRgNC10LTQsNC60YLQvtGAINCx0YvQuyDQt9Cw0LLQtdGA0YjQtdC9INGBINC+0YjQuNCx0LrQvtC5LCDQvtGC0LzQtdC90Y/RjiDQstGB0ZEiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mjk0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMwMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICInJXMnIGNvbnRhaW5zIGFuIGludGVybWVkaWF0ZSB2ZXJzaW9uIG9mIHRoZSBlbWFpbCB5b3Ugd2VyZSBjb21wb3NpbmcuXG4iCiBtc2dzdHIgIsKrJXPCuyDRgdC+0LTQtdGA0LbQuNGCINC/0YDQvtC80LXQttGD0YLQvtGH0L3Rg9GOINCy0LXRgNGB0LjRjiDQv9C40YHRjNC80LAsINC60L7RgtC+0YDQvtC1INCy0Ysg0LPQvtGC0L7QstC40YLQtS5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoyOTkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzA3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiclcy5maW5hbCcgY29udGFpbnMgdGhlIGNvbXBvc2VkIGVtYWlsLlxuIgogbXNnc3RyICLCqyVzLmZpbmFswrsg0YHQvtC00LXRgNC20LjRgiDQv9C+0LTQs9C+0YLQvtCy0LvQtdC90L3QvtC1INC/0LjRgdGM0LzQvi5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDozMTcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzI2CiBtc2dpZCAiLS1kdW1wLWFsaWFzZXMgaW5jb21wYXRpYmxlIHdpdGggb3RoZXIgb3B0aW9uc1xuIgogbXNnc3RyICItLWR1bXAtYWxpYXNlcyDQvdC1INGB0L7QstC80LXRgdGC0LjQvNC+INGBINC00YDRg9Cz0LjQvNC4INC+0L/RhtC40Y/QvNC4XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzgzIGdpdC1zZW5kLWVtYWlsLnBlcmw6NjM4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjM5NSBnaXQtc2VuZC1lbWFpbC5wZXJsOjY1NgogbXNnaWQgIkNhbm5vdCBydW4gZ2l0IGZvcm1hdC1wYXRjaCBmcm9tIG91dHNpZGUgYSByZXBvc2l0b3J5XG4iCiBtc2dzdHIgItCd0LXQu9GM0LfRjyDQt9Cw0L/Rg9GB0LrQsNGC0YwgZ2l0IGZvcm1hdC1wYXRjaCDQstC90LUg0YDQtdC/0L7Qt9C40YLQvtGA0LjRj1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjM4NgorIzogZ2l0LXNlbmQtZW1haWwucGVybDozOTgKIG1zZ2lkICIiCiAiYGJhdGNoLXNpemVgIGFuZCBgcmVsb2dpbmAgbXVzdCBiZSBzcGVjaWZpZWQgdG9nZXRoZXIgKHZpYSBjb21tYW5kLWxpbmUgb3IgIgogImNvbmZpZ3VyYXRpb24gb3B0aW9uKVxuIgogbXNnc3RyICIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDU2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ3MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbmtub3duIC0tc3VwcHJlc3MtY2MgZmllbGQ6ICclcydcbiIKIG1zZ3N0ciAi0J3QtdC40LfQstC10YHRgtC90L7QtSDQv9C+0LvQtSAtLXN1cHByZXNzLWNjOiDCqyVzwrtcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0ODUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTAxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVua25vd24gLS1jb25maXJtIHNldHRpbmc6ICclcydcbiIKIG1zZ3N0ciAi0J3QtdC40LfQstC10YHRgtC90YvQuSDQv9Cw0YDQsNC80LXRgtGAIC0tY29uZmlybTogwqslc8K7XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTEzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUyOQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBhbGlhcyB3aXRoIHF1b3RlcyBpcyBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDRgdC+0LrRgNCw0YnQtdC90LjQtSDQtNC70Y8gc2VuZG1haWwg0YEg0LrQsNCy0YvRh9C60LDQvNC4INC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjzogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MTUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTMxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGA6aW5jbHVkZTpgIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgItC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6IMKrOmluY2x1ZGU6wrsg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPOiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUxNworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MzMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogYC9maWxlYCBvciBgfHBpcGVgIHJlZGlyZWN0aW9uIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgItC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INC/0LXRgNC10L3QsNC/0YDQsNCy0LvQtdC90LjQtSDCqy9maWxlwrsg0LjQu9C4IMKrfHBpcGXCuyDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y86ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTIyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUzOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBsaW5lIGlzIG5vdCByZWNvZ25pemVkOiAlc1xuIgogbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDRgdGC0YDQvtC60LAgc2VuZG1haWwg0L3QtSDRgNCw0YHQv9C+0LfQvdCw0L3QsDogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2MDQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjIyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJGaWxlICclcycgZXhpc3RzIGJ1dCBpdCBjb3VsZCBhbHNvIGJlIHRoZSByYW5nZSBvZiBjb21taXRzXG4iCkBAIC0xODU0Myw3NSArMjE0NzcsNzUgQEAKICIgICAgKiBHaXZpbmcgLS1mb3JtYXQtcGF0Y2ggb3B0aW9uIGlmIHlvdSBtZWFuIGEgcmFuZ2UuXG4iCiBtc2dzdHIgItCk0LDQudC7IMKrJXPCuyDRgdGD0YnQtdGB0YLQstGD0LXRgiwg0L3QviDRjdGC0L4g0YLQsNC60LbQtSDQvNC+0LbQtdGCINCx0YvRgtGMINC4XG7QtNC40LDQv9Cw0LfQvtC90L7QvCDQutC+0LzQvNC40YLQvtCyINC00LvRjyDQutC+0YLQvtGA0YvRhSDQvdGD0LbQvdC+INGB0LTQtdC70LDRgtGMINC/0LDRgtGH0LguIFxu0KPRgdGC0YDQsNC90LjRgtC1INC90LXQvtC00L3QvtC30L3QsNGH0L3QvtGB0YLRjOKAplxuXG4gICAgKiDQo9C60LDQt9Cw0LIgXCIuLyVzXCIg0LXRgdC70Lgg0LLRiyDQuNC80LXQtdGC0LUg0LIg0LLQuNC00YMg0LjQvNGPINGE0LDQudC70LA7INC40LvQuFxuICAgICog0J/QtdGA0LXQtNCw0LIg0L7Qv9GG0LjRjiAtLWZvcm1hdC1wYXRjaCDQtdGB0LvQuCDQstGLINC40LzQtdC10YLQtSDQsiDQstC40LTRgyDQtNC40LDQv9Cw0LfQvtC9INC60L7QvNC80LjRgtC+0LIuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjI1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY0MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbmRpciAlczogJXMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIG9wZW5kaXIgJXM6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY0OQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NjcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogImZhdGFsOiAlczogJXNcbiIKICJ3YXJuaW5nOiBubyBwYXRjaGVzIHdlcmUgc2VudFxuIgogbXNnc3RyICLQutGA0LjRgtC40YfQtdGB0LrQsNGPINC+0YjQuNCx0LrQsDogJXM6ICVzXG7Qv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDQv9Cw0YLRh9C4INC90LUg0LHRi9C70Lgg0L7RgtC/0YDQsNCy0LvQtdC90YtcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NjAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njc4CiBtc2dpZCAiIgogIlxuIgogIk5vIHBhdGNoIGZpbGVzIHNwZWNpZmllZCFcbiIKICJcbiIKIG1zZ3N0ciAiXG7QpNCw0LnQuyDRgSDQv9Cw0YLRh9C10Lwg0L3QtSDRg9C60LDQt9Cw0L0hXG5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NzMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjkxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIk5vIHN1YmplY3QgbGluZSBpbiAlcz8iCiBtc2dzdHIgItCd0LXRgiDRgdGC0YDQvtC60Lgg0YEg0YLQtdC80L7QuSDQsiAlcz8iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjgzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcwMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiBmb3Igd3JpdGluZyAlczogJXMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywg0LTQu9GPINC30LDQv9C40YHQuCAlczogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njk0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcxMgogbXNnaWQgIiIKICJMaW5lcyBiZWdpbm5pbmcgaW4gXCJHSVQ6XCIgd2lsbCBiZSByZW1vdmVkLlxuIgogIkNvbnNpZGVyIGluY2x1ZGluZyBhbiBvdmVyYWxsIGRpZmZzdGF0IG9yIHRhYmxlIG9mIGNvbnRlbnRzXG4iCiAiZm9yIHRoZSBwYXRjaCB5b3UgYXJlIHdyaXRpbmcuXG4iCiAiXG4iCiAiQ2xlYXIgdGhlIGJvZHkgY29udGVudCBpZiB5b3UgZG9uJ3Qgd2lzaCB0byBzZW5kIGEgc3VtbWFyeS5cbiIKLW1zZ3N0ciAi0KHRgtGA0L7QutC4LCDQvdCw0YfQuNC90LDRjtGJ0LjQtdGB0Y8g0YEgwqtHSVQ6wrsg0LHRg9C00YPRgiDRg9C00LDQu9C10L3Riy5cbtCS0L7Qt9C80L7QttC90L4g0LHRg9C00LXRgiDQv9C+0LvQtdC30L3QviDQstC60LvRjtGH0LjRgtGMINGB0YLQsNGC0LjRgdGC0LjQutGDINC00L7QsdCw0LLQu9C10L3QuNC5XG7QuCDRg9C00LDQu9C10L3QuNC5INC40LvQuCDRgtCw0LHQu9C40YbRgyDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+INCyINC/0LDRgtGHLCDQutC+0YLQvtGA0YvQuSDQstGLINC/0LjRiNC10YLQtS5cblxu0J7Rh9C40YHRgtC40YLQtSDRgdC+0LTQtdGA0LbQuNC80L7QtSwg0LXRgdC70Lgg0LLRiyDQvdC1INGF0L7RgtC40YLQtSDQvtGC0L/RgNCw0LLQu9GP0YLRjCDQv9C40YHRjNC80L4g0YEg0LrRgNCw0YLQutC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40LXQuS5cbiIKK21zZ3N0ciAi0KHRgtGA0L7QutC4LCDQvdCw0YfQuNC90LDRjtGJ0LjQtdGB0Y8g0YEgwqtHSVQ6wrsg0LHRg9C00YPRgiDRg9C00LDQu9C10L3Riy5cbtCS0L7Qt9C80L7QttC90L4g0LHRg9C00LXRgiDQv9C+0LvQtdC30L3QviDQstC60LvRjtGH0LjRgtGMINGB0YLQsNGC0LjRgdGC0LjQutGDINC00L7QsdCw0LLQu9C10L3QuNC5XG7QuCDRg9C00LDQu9C10L3QuNC5INC40LvQuCDRgtCw0LHQu9C40YbRgyDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+INC6INGB0L7Qt9C00LDQstCw0LXQvNC+0LzRgyDQv9Cw0YLRh9GDLlxuXG7QntGH0LjRgdGC0LjRgtC1INGB0L7QtNC10YDQttC40LzQvtC1LCDQtdGB0LvQuCDQstGLINC90LUg0YXQvtGC0LjRgtC1INC+0YLQv9GA0LDQstC70Y/RgtGMINC/0LjRgdGM0LzQviDRgdC+INGB0LLQvtC00LrQvtC5INC40LfQvNC10L3QtdC90LjQuS5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MTgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzM2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzOiAlcyIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCAlczogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzM1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc1MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcy5maW5hbDogJXMiCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0YwgJXMuZmluYWw6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc3OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3OTYKIG1zZ2lkICJTdW1tYXJ5IGVtYWlsIGlzIGVtcHR5LCBza2lwcGluZyBpdFxuIgotbXNnc3RyICLQn9C40YHRjNC80L4g0YEg0LrRgNCw0YLQutC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40LXQuSDQv9GD0YHRgtC+0LUsINC/0L7Qv9GD0YHQutCw0Y4g0LXQs9C+XG4iCittc2dzdHIgItCf0LjRgdGM0LzQviDRgdC+INGB0LLQvtC00LrQvtC5INC40LfQvNC10L3QtdC90LjQuSDQv9GD0YHRgtC+0LUsINC/0L7Qv9GD0YHQutCw0Y4g0LXQs9C+XG4iCiAKICMuIFRSQU5TTEFUT1JTOiBwbGVhc2Uga2VlcCBbeS9OXSBhcyBpcy4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODEzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgzMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdXNlIDwlcz4gW3kvTl0/ICIKIG1zZ3N0ciAi0JLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgPCVzPiBbeS9OXT8gIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg2OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4ODYKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgOGJpdCwgYnV0IGRvIG5vdCBkZWNsYXJlIGEgQ29udGVudC1UcmFuc2Zlci0iCiAiRW5jb2RpbmcuXG4iCiBtc2dzdHIgItCh0LvQtdC00YPRjtGJ0LjQtSDRhNCw0LnQu9GLIDgg0LHQuNGC0L3Ri9C1LCDQvdC+INC90LUg0YHQvtC00LXRgNC20LDRgiBDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nLlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg3MworIzogZ2l0LXNlbmQtZW1haWwucGVybDo4OTEKIG1zZ2lkICJXaGljaCA4Yml0IGVuY29kaW5nIHNob3VsZCBJIGRlY2xhcmUgW1VURi04XT8gIgogbXNnc3RyICLQmtCw0LrRg9GOIDgg0LHQuNGC0L3Rg9GOINC60L7QtNC40YDQvtCy0LrRgyDQvdGD0LbQvdC+INGD0LrQsNC30LDRgtGMIFtVVEYtOF0/ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4ODEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODk5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJSZWZ1c2luZyB0byBzZW5kIGJlY2F1c2UgdGhlIHBhdGNoXG4iCkBAIC0xODYxOSwyMCArMjE1NTMsMjAgQEAKICJoYXMgdGhlIHRlbXBsYXRlIHN1YmplY3QgJyoqKiBTVUJKRUNUIEhFUkUgKioqJy4gUGFzcyAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byBzZW5kLlxuIgogbXNnc3RyICLQntGC0LrQsNC30YvQstCw0Y7RgdGMINC+0YLQv9GA0LDQstC40YLRjCwg0YIu0LouINC/0LDRgtGHXG5cdCVzXG7RgdC+0LTQtdGA0LbQuNGCINGI0LDQsdC70L7QvdC90YvQuSDQt9Cw0LPQvtC70L7QstC+0LogwqsqKiogU1VCSkVDVCBIRVJFICoqKsK7LiDQo9C60LDQttC40YLQtSDQv9Cw0YDQsNC80LXRgtGAIC0tZm9yY2UsINC10YHQu9C4INCy0YsgINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGF0L7RgtC40YLQtSDQvtGC0L/RgNCw0LLQuNGC0Ywg0LXQs9C+LlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkwMAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MTgKIG1zZ2lkICJUbyB3aG9tIHNob3VsZCB0aGUgZW1haWxzIGJlIHNlbnQgKGlmIGFueW9uZSk/IgogbXNnc3RyICLQmtC+0LzRgyDQtNC+0LvQttC90Ysg0LHRi9GC0Ywg0L7RgtC/0YDQsNCy0LvQtdC90Ysg0L/QuNGB0YzQvNCwICjQtdGB0LvQuCDQvdGD0LbQvdC+KT8iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTE4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkzNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogYWxpYXMgJyVzJyBleHBhbmRzIHRvIGl0c2VsZlxuIgogbXNnc3RyICLQutGA0LjRgtC40YfQtdGB0LrQsNGPINC+0YjQuNCx0LrQsDog0YHQvtC60YDQsNGJ0LXQvdC40LUgwqslc8K7INGA0LDRgdC60YDRi9Cy0LDQtdGC0YHRjyDRgdCw0LzQviDQsiDRgdC10LHRj1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkzMAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo5NDgKIG1zZ2lkICJNZXNzYWdlLUlEIHRvIGJlIHVzZWQgYXMgSW4tUmVwbHktVG8gZm9yIHRoZSBmaXJzdCBlbWFpbCAoaWYgYW55KT8gIgogbXNnc3RyICJNZXNzYWdlLUlEINC60L7RgtC+0YDRi9C5INC90YPQttC90L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINCyINC/0L7Qu9C1IEluLVJlcGx5LVRvINC00LvRjyDQv9C10YDQstC+0LPQviDQv9C40YHRjNC80LAgKNC10YHQu9C4INC90YPQttC90L4pPyAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTg4IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTk2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwMDYgZ2l0LXNlbmQtZW1haWwucGVybDoxMDE0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImVycm9yOiB1bmFibGUgdG8gZXh0cmFjdCBhIHZhbGlkIGFkZHJlc3MgZnJvbTogJXNcbiIKIG1zZ3N0ciAi0L7RiNC40LHQutCwOiDQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQtNC10LvQuNGC0Ywg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YvQuSDQsNC00YDQtdGBINC40Lc6ICVzXG4iCkBAIC0xODY0MCwxNiArMjE1NzQsMTYgQEAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbcV0gW2RdIFtlXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDAwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwMTgKIG1zZ2lkICJXaGF0IHRvIGRvIHdpdGggdGhpcyBhZGRyZXNzPyAoW3FddWl0fFtkXXJvcHxbZV1kaXQpOiAiCiBtc2dzdHIgItCn0YLQviDQvdGD0LbQvdC+INGB0LTQtdC70LDRgtGMINGBINGN0YLQuNC8INCw0LTRgNC10YHQvtC8PyAoW3FdIC0g0LLRi9GF0L7QtHxbZF0gLSDQvtGC0LHRgNC+0YHQuNGC0Yx8W2VdIC0g0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0YwpOiAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMxNworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzM1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkNBIHBhdGggXCIlc1wiIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICLQv9GD0YLRjCBDQSDCqyVzwrsg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDAwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MTgKIG1zZ2lkICIiCiAiICAgIFRoZSBDYyBsaXN0IGFib3ZlIGhhcyBiZWVuIGV4cGFuZGVkIGJ5IGFkZGl0aW9uYWxcbiIKICIgICAgYWRkcmVzc2VzIGZvdW5kIGluIHRoZSBwYXRjaCBjb21taXQgbWVzc2FnZS4gQnkgZGVmYXVsdFxuIgpAQCAtMTg2NjYsMTI4ICsyMTYwMCwxMjggQEAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbeV0gW25dIFtlXSBbcV0gW2FdIGluIHlvdXIKICMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKICMuIGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MTUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQzMwogbXNnaWQgIlNlbmQgdGhpcyBlbWFpbD8gKFt5XWVzfFtuXW98W2VdZGl0fFtxXXVpdHxbYV1sbCk6ICIKIG1zZ3N0ciAi0J7RgtC/0YDQsNCy0LjRgtGMINGN0YLQviDQv9C40YHRjNC80L4/IChbeV0gLSDQtNCwfFtuXSAtINC90LXRgnxbZV0gLSDQuNC30LzQtdC90LjRgtGMfFtxXSAtINCy0YvRhdC+0LR8W2FdIC0g0LLRgdC1KTogIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MTgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQzNgogbXNnaWQgIlNlbmQgdGhpcyBlbWFpbCByZXBseSByZXF1aXJlZCIKIG1zZ3N0ciAi0J7RgtC/0YDQsNCy0LrQsCDRjdGC0L7Qs9C+INC+0YLQstC10YLQsCDQvdCwINC/0LjRgdGM0LzQviDQvtCx0Y/Qt9Cw0YLQtdC70YzQvdCwIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NDYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ2NAogbXNnaWQgIlRoZSByZXF1aXJlZCBTTVRQIHNlcnZlciBpcyBub3QgcHJvcGVybHkgZGVmaW5lZC4iCiBtc2dzdHIgItCi0YDQtdCx0YPQtdC80YvQuSBTTVRQINGB0LXRgNCy0LXRgCDQvdC1INCx0YvQuyDQv9GA0LDQstC40LvRjNC90L4g0L7QsdGK0Y/QstC70LXQvS4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ5MworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTExCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IFNUQVJUVExTISAlcyIKIG1zZ3N0ciAi0KHQtdGA0LLQtdGAINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIFNUQVJUVExTISAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDk4IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUwMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTE2IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUyMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTVEFSVFRMUyBmYWlsZWQhICVzIgogbXNnc3RyICLQntGI0LjQsdC60LAgU1RBUlRUTFMhICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MTEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUyOQogbXNnaWQgIlVuYWJsZSB0byBpbml0aWFsaXplIFNNVFAgcHJvcGVybHkuIENoZWNrIGNvbmZpZyBhbmQgdXNlIC0tc210cC1kZWJ1Zy4iCiBtc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LjQvdC40YbQuNCw0LvQuNC30LjRgNC+0LLQsNGC0YwgU01UUC4g0J/RgNC+0LLQtdGA0YzRgtC1INCy0LDRiNC4INC90LDRgdGC0YDQvtC50LrQuCDQuCDQv9C+0L/RgNC+0LHRg9C50YLQtSDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0LIg0L/QsNGA0LDQvNC10YLRgNC+0LwgLS1zbXRwLWRlYnVnLiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTI5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHNlbmQgJXNcbiIKIG1zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0L/RgNCw0LLQuNGC0YwgJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTMyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NTAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRHJ5LVNlbnQgJXNcbiIKIG1zZ3N0ciAi0JjQvNC40YLQsNGG0LjRjyDQvtGC0L/RgNCw0LLQutC4ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUzMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTUwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNlbnQgJXNcbiIKIG1zZ3N0ciAi0J7RgtC/0YDQsNCy0LvQtdC90L4gJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTM0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NTIKIG1zZ2lkICJEcnktT0suIExvZyBzYXlzOlxuIgogbXNnc3RyICLQmNC80LjRgtCw0YbQuNGPIE9LLiDQltGD0YDQvdCw0Lsg0YHQvtC00LXRgNC20LjRgjpcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTM0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NTIKIG1zZ2lkICJPSy4gTG9nIHNheXM6XG4iCiBtc2dzdHIgIk9LLiDQltGD0YDQvdCw0Lsg0YHQvtC00LXRgNC20LjRgjpcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NjQKIG1zZ2lkICJSZXN1bHQ6ICIKIG1zZ3N0ciAi0KDQtdC30YPQu9GM0YLQsNGCOiAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU0OQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTY3CiBtc2dpZCAiUmVzdWx0OiBPS1xuIgogbXNnc3RyICLQoNC10LfRg9C70YzRgtCw0YI6IE9LXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU2NworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTg1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gZmlsZSAlcyIKIG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtGC0LrRgNGL0YLRjCDRhNCw0LnQuyAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjE0IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYzNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjMyIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY1MgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIobWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIobWJveCkg0JTQvtCx0LDQstC70LXQvdC40LUgY2M6ICVzINGB0L4g0YHRgtGA0L7QutC4IMKrJXPCu1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2MjAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYzOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIobWJveCkgQWRkaW5nIHRvOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIobWJveCkg0JTQvtCx0LDQstC70LXQvdC40LUgdG86ICVzINGB0L4g0YHRgtGA0L7QutC4IMKrJXPCu1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NzMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY5MQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIobm9uLW1ib3gpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiKG5vbi1tYm94KSDQlNC+0LHQsNCy0LvQtdC90LjQtSBjYzogJXMg0YHQviDRgdGC0YDQvtC60Lggwqslc8K7XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY5OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzI2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihib2R5KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihib2R5KSDQlNC+0LHQsNCy0LvQtdC90LjQtSBjYzogJXMg0YHQviDRgdGC0YDQvtC60Lggwqslc8K7XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgwOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODM3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiglcykgQ291bGQgbm90IGV4ZWN1dGUgJyVzJyIKIG1zZ3N0ciAiKCVzKSDQndC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCDCqyVzwrsiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgxNgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODQ0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiglcykgQWRkaW5nICVzOiAlcyBmcm9tOiAnJXMnXG4iCiBtc2dzdHIgIiglcykg0JTQvtCx0LDQstC70LXQvdC40LUgJXM6ICVzINC40Lc6IMKrJXPCu1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4MjAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg0OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoJXMpIGZhaWxlZCB0byBjbG9zZSBwaXBlIHRvICclcyciCiBtc2dzdHIgIiglcykg0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LrRgNGL0YLRjCDQv9C+0YLQvtC6INC6IMKrJXPCuyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODUwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NzgKIG1zZ2lkICJjYW5ub3Qgc2VuZCBtZXNzYWdlIGFzIDdiaXQiCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC/0YDQsNCy0LjRgtGMINGB0L7QvtCx0YnQtdC90LjQtSDQsiA3INCx0LjRgtC90L7QuSDQutC+0LTQuNGA0L7QstC60LUiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg1OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODg2CiBtc2dpZCAiaW52YWxpZCB0cmFuc2ZlciBlbmNvZGluZyIKIG1zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzQsNGPINC60L7QtNC40YDQvtCy0LrQsCDQv9C10YDQtdC00LDRh9C4IgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4OTkgZ2l0LXNlbmQtZW1haWwucGVybDoxOTUxIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk2MQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTI3IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk3OSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5ODkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXM6ICVzXG4iCiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0YwgJXM6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTkwMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTMwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiVzOiBwYXRjaCBjb250YWlucyBhIGxpbmUgbG9uZ2VyIHRoYW4gOTk4IGNoYXJhY3RlcnMiCiBtc2dzdHIgIiVzOiDQv9Cw0YLRhyDRgdC+0LTQtdGA0LbQuNGCINGB0YLRgNC+0LrRgyDQtNC70LjQvdC90LXQtSDRh9C10LwgOTk4INGB0LjQvNCy0L7Qu9C+0LIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTkxOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTQ3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nICVzIHdpdGggYmFja3VwIHN1ZmZpeCAnJXMnLlxuIgogbXNnc3RyICLQn9GA0L7Qv9GD0YHQutCw0Y4gJXMg0YEg0L7QutC+0L3Rh9Cw0L3QuNC10Lwg0YDQtdC30LXRgNCy0L3QvtC5INC60L7Qv9C40Lggwqslc8K7LlxuIgogCiAjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGtlZXAgIlt5fE5dIiBhcyBpcy4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTkyMworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTUxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBzZW5kICVzPyBbeXxOXTogIgogbXNnc3RyICLQktGLINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGF0L7RgtC40YLQtSDQvtGC0L/RgNCw0LLQuNGC0YwgJXM/IFt5IC0g0LTQsHxOIC0g0L3QtdGCXTogIgpkaWZmIC0tZ2l0IGEvcG8vc3YucG8gYi9wby9zdi5wbwppbmRleCA5ODI0NGMwLi5iYzA3MjQ4IDEwMDY0NAotLS0gYS9wby9zdi5wbworKysgYi9wby9zdi5wbwpAQCAtMSwxNCArMSwxNCBAQAogIyBTd2VkaXNoIHRyYW5zbGF0aW9ucyBmb3IgR2l0LgotIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxOCBQZXRlciBLcmVmdGluZyA8cGV0ZXJAc29mdHdvbHZlcy5wcC5zZT4KKyMgQ29weXJpZ2h0IChDKSAyMDEwLTIwMjAgUGV0ZXIgS3JlZnRpbmcgPHBldGVyQHNvZnR3b2x2ZXMucHAuc2U+CiAjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBHaXQgcGFja2FnZS4KLSMgUGV0ZXIgS3JlZnRpbmcgPHBldGVyQHNvZnR3b2x2ZXMucHAuc2U+LCAyMDEwLCAyMDExLCAyMDEyLCAyMDEzLCAyMDE0LCAyMDE1LCAyMDE2LCAyMDE3LCAyMDE4LgorIyBQZXRlciBLcmVmdGluZyA8cGV0ZXJAc29mdHdvbHZlcy5wcC5zZT4sIDIwMTAsIDIwMTEsIDIwMTIsIDIwMTMsIDIwMTQsIDIwMTUsIDIwMTYsIDIwMTcsIDIwMTgsIDIwMTksIDIwMjAuCiAjCiBtc2dpZCAiIgogbXNnc3RyICIiCi0iUHJvamVjdC1JZC1WZXJzaW9uOiBnaXQgMi4yMC4wXG4iCisiUHJvamVjdC1JZC1WZXJzaW9uOiBnaXQgMi4yNS4wXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEdpdCBNYWlsaW5nIExpc3QgPGdpdEB2Z2VyLmtlcm5lbC5vcmc+XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMTgtMTItMDIgMTA6NTUrMDgwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMTgtMTItMDIgMTU6NDErMDEwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE5LTEyLTMwIDA4OjQ4KzA4MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDIwLTAxLTA0IDE5OjUxKzAxMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IFBldGVyIEtyZWZ0aW5nIDxwZXRlckBzb2Z0d29sdmVzLnBwLnNlPlxuIgogIkxhbmd1YWdlLVRlYW06IFN3ZWRpc2ggPHRwLXN2QGxpc3Rvci50cC1zdi5zZT5cbiIKICJMYW5ndWFnZTogc3ZcbiIKQEAgLTE4LDQ3ICsxOCw0NzMgQEAKICJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKICJYLUdlbmVyYXRvcjogR3RyYW5zbGF0b3IgMi45MS43XG4iCiAKLSM6IGFkdmljZS5jOjk5CisjOiBhZGQtaW50ZXJhY3RpdmUuYzozNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVoICglcyk/IgorbXNnc3RyICJWYWTDpSAoJXMpPyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NTAwIGFkZC1pbnRlcmFjdGl2ZS5jOjgwMSBzZXF1ZW5jZXIuYzozMjE2CisjOiBzZXF1ZW5jZXIuYzozNjU2IGJ1aWx0aW4vcmViYXNlLmM6ODcxIGJ1aWx0aW4vcmViYXNlLmM6MTY0MworIzogYnVpbHRpbi9yZWJhc2UuYzoyMDE5IGJ1aWx0aW4vcmViYXNlLmM6MjA2MworbXNnaWQgImNvdWxkIG5vdCByZWFkIGluZGV4IgorbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIGluZGV4ZXQiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjU1NSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI2OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyOTQKK21zZ2lkICJiaW5hcnkiCittc2dzdHIgImJpbsOkciIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NjEzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Mjc4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMzMgorbXNnaWQgIm5vdGhpbmciCittc2dzdHIgImluZ2VudGluZyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NjE0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzE0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMyOQorbXNnaWQgInVuY2hhbmdlZCIKK21zZ3N0ciAib8OkbmRyYWQiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjY1MSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY0MworbXNnaWQgIlVwZGF0ZSIKK21zZ3N0ciAiVXBwZGF0ZXJhIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2NjggYWRkLWludGVyYWN0aXZlLmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGFnZSAnJXMnIgorbXNnc3RyICJrdW5kZSBpbnRlIGvDtmEgXCIlc1wiIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2NzQgYWRkLWludGVyYWN0aXZlLmM6ODYzIHNlcXVlbmNlci5jOjM0MDkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6ODk1Cittc2dpZCAiY291bGQgbm90IHdyaXRlIGluZGV4IgorbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSBpbmRleGV0IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2NzcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MjgKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgInVwZGF0ZWQgJWQgcGF0aFxuIgorbXNnaWRfcGx1cmFsICJ1cGRhdGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gInVwcGRhdGVyYWRlICVkIHPDtmt2w6RnXG4iCittc2dzdHJbMV0gInVwcGRhdGVyYWRlICVkIHPDtmt2w6RnYXJcbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6Njk1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Njc4CisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJub3RlOiAlcyBpcyB1bnRyYWNrZWQgbm93LlxuIgorbXNnc3RyICJvYnNlcnZlcmE6ICVzIHNww6VyYXMgaW50ZSBsw6RuZ3JlLlxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo3MDAgYXBwbHkuYzo0MTA4IGJ1aWx0aW4vY2hlY2tvdXQuYzoyODEKKyM6IGJ1aWx0aW4vcmVzZXQuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKK21zZ3N0ciAibWFrZV9jYWNoZV9lbnRyeSBtaXNzbHlja2FkZXMgZsO2ciBzw7ZrdsOkZ2VuIFwiJXNcIiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NzMwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjU1Cittc2dpZCAiUmV2ZXJ0IgorbXNnc3RyICLDhXRlcnN0w6RsbCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NzQ2Cittc2dpZCAiQ291bGQgbm90IHBhcnNlIEhFQURee3RyZWV9IgorbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIEhFQURee3RyZWV9IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo3ODQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzEKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgInJldmVydGVkICVkIHBhdGhcbiIKK21zZ2lkX3BsdXJhbCAicmV2ZXJ0ZWQgJWQgcGF0aHNcbiIKK21zZ3N0clswXSAiw6V0ZXJzdMOkbGxkZSAlZCBzw7ZrdsOkZ1xuIgorbXNnc3RyWzFdICLDpXRlcnN0w6RsbGRlICVkIHPDtmt2w6RnYXJcbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6ODM1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Njk1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVudHJhY2tlZCBmaWxlcy5cbiIKK21zZ3N0ciAiSW5nYSBvc3DDpXJhZGUgZmlsZXIuXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjgzOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY4OQorbXNnaWQgIkFkZCB1bnRyYWNrZWQiCittc2dzdHIgIkzDpGdnIHRpbGwgb3Nww6VyYWQiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjg2NiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYyNQorIywgYy1mb3JtYXQsIHBlcmwtZm9ybWF0Cittc2dpZCAiYWRkZWQgJWQgcGF0aFxuIgorbXNnaWRfcGx1cmFsICJhZGRlZCAlZCBwYXRoc1xuIgorbXNnc3RyWzBdICJsYWRlIHRpbGwgJWQgc8O2a3bDpGdcbiIKK21zZ3N0clsxXSAibGFkZSB0aWxsICVkIHPDtmt2w6RnYXJcbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6ODk2CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVubWVyZ2VkOiAlcyIKK21zZ3N0ciAiaWdub3JlcmFyIGVqIHNhbW1hbnNsYWdlbjogJXMiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjkwOCBhZGQtcGF0Y2guYzoxMzMxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJPbmx5IGJpbmFyeSBmaWxlcyBjaGFuZ2VkLlxuIgorbXNnc3RyICJFbmRhc3QgYmluw6RyYSBmaWxlciDDpG5kcmFkZS5cbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTEwIGFkZC1wYXRjaC5jOjEzMjkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIGNoYW5nZXMuXG4iCittc2dzdHIgIkluZ2Egw6RuZHJpbmdhci5cbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTE0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM3NgorbXNnaWQgIlBhdGNoIHVwZGF0ZSIKK21zZ3N0ciAiVXBwZGF0ZXJhIHBhdGNoIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5NTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzU0Cittc2dpZCAiUmV2aWV3IGRpZmYiCittc2dzdHIgIkdyYW5za2EgZGlmZiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTgxCittc2dpZCAic2hvdyBwYXRocyB3aXRoIGNoYW5nZXMiCittc2dzdHIgInZpc2Egc8O2a3bDpGdhciBtZWQgw6RuZHJpbmdhciIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTgzCittc2dpZCAiYWRkIHdvcmtpbmcgdHJlZSBzdGF0ZSB0byB0aGUgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzIgorbXNnc3RyICJsw6RnZyBhcmJldHNrYXRhbG9nZW5zIHRpbGxzdMOlbmQgdGlsbCBrw7ZhZGUgw6RuZHJpbmdhciIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTg1Cittc2dpZCAicmV2ZXJ0IHN0YWdlZCBzZXQgb2YgY2hhbmdlcyBiYWNrIHRvIHRoZSBIRUFEIHZlcnNpb24iCittc2dzdHIgIsOldGVyc3TDpGxsIGvDtmFkZSDDpG5kcmluZ2FyIHRpbGxiYWthIHRpbGwgSEVBRC12ZXJzaW9uZW4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4NworbXNnaWQgInBpY2sgaHVua3MgYW5kIHVwZGF0ZSBzZWxlY3RpdmVseSIKK21zZ3N0ciAidsOkbGogc3R5Y2tlbiBvY2ggdXBwZGF0ZXJhIHNlbGVrdGl2dCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTg5Cittc2dpZCAidmlldyBkaWZmIGJldHdlZW4gSEVBRCBhbmQgaW5kZXgiCittc2dzdHIgInZpc2Egc2tpbGxuYWQgbWVsbGFuIEhFQUQgb2NoIGluZGV4IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5OTEKK21zZ2lkICJhZGQgY29udGVudHMgb2YgdW50cmFja2VkIGZpbGVzIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXMiCittc2dzdHIgImzDpGdnIGlubmVow6VsbCBpIG9zcMOlcmFkZSBmaWxlciB0aWxsIGvDtmFkZSDDpG5kcmluZ2FyIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5OTkgYWRkLWludGVyYWN0aXZlLmM6MTA0OAorbXNnaWQgIlByb21wdCBoZWxwOiIKK21zZ3N0ciAiS29tbWFuZG9yYWRzaGrDpGxwOiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAwMQorbXNnaWQgInNlbGVjdCBhIHNpbmdsZSBpdGVtIgorbXNnc3RyICJtYXJrZXJhIGVuIHBvc3QiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDMKK21zZ2lkICJzZWxlY3QgYSByYW5nZSBvZiBpdGVtcyIKK21zZ3N0ciAibWFya2VyYSBpbnRlcnZhbGwgYXYgcG9zdGVyIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDA1Cittc2dpZCAic2VsZWN0IG11bHRpcGxlIHJhbmdlcyIKK21zZ3N0ciAibWFya2VyYSBmbGVyYSBpbnRlcnZhbGwiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDcgYWRkLWludGVyYWN0aXZlLmM6MTA1MgorbXNnaWQgInNlbGVjdCBpdGVtIGJhc2VkIG9uIHVuaXF1ZSBwcmVmaXgiCittc2dzdHIgIm1hcmtlcmEgcG9zdCBiYXNlcmFkIHDDpSB1bmlrdCBwcmVmaXgiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDkKK21zZ2lkICJ1bnNlbGVjdCBzcGVjaWZpZWQgaXRlbXMiCittc2dzdHIgImF2bWFya2VyYSBhbmdpdm5hIHBvc3RlciIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAxMQorbXNnaWQgImNob29zZSBhbGwgaXRlbXMiCittc2dzdHIgInbDpGxqIGFsbGEgcG9zdGVyIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDEzCittc2dpZCAiKGVtcHR5KSBmaW5pc2ggc2VsZWN0aW5nIgorbXNnc3RyICIodG9tdCkgYXZzbHV0YSBtYXJrZXJpbmciCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNTAKK21zZ2lkICJzZWxlY3QgYSBudW1iZXJlZCBpdGVtIgorbXNnc3RyICJtYXJrZXJhIGVuIG51bXJlcmFkIHBvc3QiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNTQKK21zZ2lkICIoZW1wdHkpIHNlbGVjdCBub3RoaW5nIgorbXNnc3RyICIodG9tdCkgbWFya2VyYSBpbmdlbnRpbmciCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNjIgYnVpbHRpbi9jbGVhbi5jOjgyMiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4NTEKK21zZ2lkICIqKiogQ29tbWFuZHMgKioqIgorbXNnc3RyICIqKiogS29tbWFuZG9uICoqKiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTA2MyBidWlsdGluL2NsZWFuLmM6ODIzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTg0OAorbXNnaWQgIldoYXQgbm93IgorbXNnc3RyICJWYWQgbnUiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjExMTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMTMKK21zZ2lkICJzdGFnZWQiCittc2dzdHIgImvDtmFkIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjEzCittc2dpZCAidW5zdGFnZWQiCittc2dzdHIgImVqIGvDtmFkIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGFwcGx5LmM6NDk2NSBhcHBseS5jOjQ5NjggYnVpbHRpbi9hbS5jOjIxOTcKKyM6IGJ1aWx0aW4vYW0uYzoyMjAwIGJ1aWx0aW4vY2xvbmUuYzoxMjMgYnVpbHRpbi9mZXRjaC5jOjE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjI3MyBidWlsdGluL3B1bGwuYzoyMDkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjExOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMworbXNnaWQgInBhdGgiCittc2dzdHIgInPDtmt2w6RnIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTIyCittc2dpZCAiY291bGQgbm90IHJlZnJlc2ggaW5kZXgiCittc2dzdHIgImt1bmRlIGludGUgdXBwZGF0ZXJhIGluZGV4ZXQiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjExMzYgYnVpbHRpbi9jbGVhbi5jOjc4NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnllLlxuIgorbXNnc3RyICJIZWogZMOlLlxuIgorCisjOiBhZGQtcGF0Y2guYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLGEscSxkJXMsP10/ICIKK21zZ3N0ciAiS8O2YSDDpG5kcmF0IGzDpGdlIFt5LG4sYSxxLGQlcyw/XT8gIgorCisjOiBhZGQtcGF0Y2guYzoxNgorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFnZSBkZWxldGlvbiBbeSxuLGEscSxkJXMsP10/ICIKK21zZ3N0ciAiS8O2YSBib3J0dGFnbmluZyBbeSxuLGEscSxkJXMsP10/ICIKKworIzogYWRkLXBhdGNoLmM6MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhZ2UgdGhpcyBodW5rIFt5LG4sYSxxLGQlcyw/XT8gIgorbXNnc3RyICJLw7ZhIHN0eWNrZXQgW3ksbixhLHEsZCVzLD9dPyAiCisKKyM6IGFkZC1wYXRjaC5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgaHVuayBoZWFkZXIgJyUuKnMnIgorbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIHN0eWNrZWh1dnVkZXQgXCIlLipzXCIiCisKKyM6IGFkZC1wYXRjaC5jOjEzMCBhZGQtcGF0Y2guYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbG9yZWQgaHVuayBoZWFkZXIgJyUuKnMnIgorbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIGbDpHJnYXQgc3R5Y2tlaHV2dWQgXCIlLipzXCIiCisKKyM6IGFkZC1wYXRjaC5jOjE3NgorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBkaWZmIgorbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIGRpZmYiCisKKyM6IGFkZC1wYXRjaC5jOjE5NAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb2xvcmVkIGRpZmYiCittc2dzdHIgImt1bmRlIGludGUgdG9sa2EgZsOkcmdhZCBkaWZmIgorCisjOiBhZGQtcGF0Y2guYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImV4cGVjdGVkIGNvbnRleHQgbGluZSAjJWQgaW5cbiIKKyIlLipzIgorbXNnc3RyICIiCisiZsO2cnbDpG50YWRlIHNhbW1hbmhhbmdzcmFkICVkIGlcbiIKKyIlLipzIgorCisjOiBhZGQtcGF0Y2guYzo1MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImh1bmtzIGRvIG5vdCBvdmVybGFwOlxuIgorIiUuKnNcbiIKKyJcdGRvZXMgbm90IGVuZCB3aXRoOlxuIgorIiUuKnMiCittc2dzdHIgIiIKKyJzdHlja2VuIMO2dmVybGFwcGFyIGludGU6XG4iCisiJS4qc1xuIgorIlx0YXZzbHV0YXMgaW50ZSBtZWQ6XG4iCisiJS4qcyIKKworIzogYWRkLXBhdGNoLmM6Nzk5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTExMgorbXNnaWQgIk1hbnVhbCBodW5rIGVkaXQgbW9kZSAtLSBzZWUgYm90dG9tIGZvciBhIHF1aWNrIGd1aWRlLlxuIgorbXNnc3RyICJNYW51ZWxsdCBzdHlja2VyZWRpZ2VyaW5nc2zDpGdlIC0tIHNlIG5lZGVyc3QgZsO2ciBzbmFiYmd1aWRlLlxuIgorCisjOiBhZGQtcGF0Y2guYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLVxuIgorIlRvIHJlbW92ZSAnJWMnIGxpbmVzLCBtYWtlIHRoZW0gJyAnIGxpbmVzIChjb250ZXh0KS5cbiIKKyJUbyByZW1vdmUgJyVjJyBsaW5lcywgZGVsZXRlIHRoZW0uXG4iCisiTGluZXMgc3RhcnRpbmcgd2l0aCAlYyB3aWxsIGJlIHJlbW92ZWQuXG4iCittc2dzdHIgIiIKKyItLS1cbiIKKyJUYSBib3J0IFwiJWNcIiByYWRlciBnZW5vbSBhdHQgZ8O2cmEgZGVtIFwiIFwiLXJhZGVyIChzYW1tYW5oYW5nKS5cbiIKKyJUYSBib3J0IFwiJWNcIiByYWRlciBnZW5vbSBhdHQgcmFkZXJhIGRlbS5cbiIKKyJSYWRlciBzb20gYsO2cmphciBtZWQgJWMga29tbWVyIGF0dCB0YXMgYm9ydC5cbiIKKworIzogYWRkLXBhdGNoLmM6ODEwCittc2dpZCAiIgorIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCisibWFya2VkIGZvciBzdGFnaW5nLlxuIgorbXNnc3RyICIiCisiT20gcGF0Y2hlbiBrYW4gYXBwbGljZXJhcyByZW50IGtvbW1lciBkZXQgcmVkaWdlcmFkZSBzdHlja2V0IGF0dFxuIgorImvDtmFzIG9tZWRlbGJhcnQuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiAnaXQnIHJlZmVycyB0byB0aGUgcGF0Y2ggbWVudGlvbmVkIGluIHRoZSBwcmV2aW91cyBtZXNzYWdlcy4KKyM6IGFkZC1wYXRjaC5jOjgxOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMjYKK21zZ2lkICIiCisiSWYgaXQgZG9lcyBub3QgYXBwbHkgY2xlYW5seSwgeW91IHdpbGwgYmUgZ2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG9cbiIKKyJlZGl0IGFnYWluLiAgSWYgYWxsIGxpbmVzIG9mIHRoZSBodW5rIGFyZSByZW1vdmVkLCB0aGVuIHRoZSBlZGl0IGlzXG4iCisiYWJvcnRlZCBhbmQgdGhlIGh1bmsgaXMgbGVmdCB1bmNoYW5nZWQuXG4iCittc2dzdHIgIiIKKyJPbSBwYXRjaGVuIGludGUga2FuIGFwcGxpY2VyYXMgcmVudCBrb21tZXIgZHUgZsOlIGVuIG3DtmpsaWdoZXQgYXR0XG4iCisicmVkaWdlcmEgZGVuIGlnZW4uIE9tIGFsbGEgcmFkZXIgaSBldHQgc3R5Y2tlIHRhcyBib3J0IGF2YnJ5dHNcbiIKKyJyZWRpZ2VyaW5nZW4gb2NoIHN0eWNrZXQgbMOkbW5hcyBvZsO2csOkbmRyYXQuXG4iCisKKyM6IGFkZC1wYXRjaC5jOjg1MQorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBodW5rIGhlYWRlciIKK21zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBzdHlja2VodXZ1ZCIKKworIzogYWRkLXBhdGNoLmM6ODk1IGFkZC1wYXRjaC5jOjEyOTQKK21zZ2lkICInZ2l0IGFwcGx5IC0tY2FjaGVkJyBmYWlsZWQiCittc2dzdHIgIlwiZ2l0IGFwcGx5IC0tY2FjaGVkXCIgbWlzc2x5Y2thZGVzIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSBbeS9uXQorIy4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCB0aGF0IGlucHV0IGF0IHRoaXMgcG9pbnQuCisjLiBDb25zaWRlciB0cmFuc2xhdGluZyAoc2F5aW5nICJubyIgZGlzY2FyZHMhKSBhcworIy4gKHNheWluZyAibiIgZm9yICJubyIgZGlzY2FyZHMhKSBpZiB0aGUgdHJhbnNsYXRpb24KKyMuIG9mIHRoZSB3b3JkICJubyIgZG9lcyBub3Qgc3RhcnQgd2l0aCBuLgorIy4KKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIFt5L25dCisjLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IHRoYXQgaW5wdXQKKyMuIGF0IHRoaXMgcG9pbnQuCisjLiBDb25zaWRlciB0cmFuc2xhdGluZyAoc2F5aW5nICJubyIgZGlzY2FyZHMhKSBhcworIy4gKHNheWluZyAibiIgZm9yICJubyIgZGlzY2FyZHMhKSBpZiB0aGUgdHJhbnNsYXRpb24KKyMuIG9mIHRoZSB3b3JkICJubyIgZG9lcyBub3Qgc3RhcnQgd2l0aCBuLgorIzogYWRkLXBhdGNoLmM6OTUyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIzOQorbXNnaWQgIiIKKyJZb3VyIGVkaXRlZCBodW5rIGRvZXMgbm90IGFwcGx5LiBFZGl0IGFnYWluIChzYXlpbmcgXCJub1wiIGRpc2NhcmRzISkgW3kvbl0/ICIKK21zZ3N0ciAiIgorIkRpdHQgcmVkaWdlcmFkZSBzdHlja2Uga2FuIGludGUgYXBwbGljZXJhcy4gUmVkaWdlcmEgaWdlbiAoXCJuZWpcIiBrYXN0YXIhKSAiCisiW3kvbl0/ICIKKworIzogYWRkLXBhdGNoLmM6MTAwOQorbXNnaWQgIiIKKyJ5IC0gc3RhZ2UgdGhpcyBodW5rXG4iCisibiAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmtcbiIKKyJxIC0gcXVpdDsgZG8gbm90IHN0YWdlIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIHN0YWdlIHRoaXMgYW5kIGFsbCB0aGUgcmVtYWluaW5nIGh1bmtzXG4iCisiZCAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmsgbm9yIGFueSBvZiB0aGUgcmVtYWluaW5nIGh1bmtzXG4iCittc2dzdHIgIiIKKyJ5IC0ga8O2YSBzdHlja2V0XG4iCisibiAtIGvDtmEgaW50ZSBzdHlja2V0XG4iCisicSAtIGF2c2x1dGE7IGvDtmEgaW50ZSBzdHlja2V0IGVsbGVyIG7DpWdvdCBhdiBkZSBmw7ZsamFuZGVcbiIKKyJhIC0ga8O2YSBkZXR0YSBvY2ggYWxsYSBmw7ZsamFuZGUgc3R5Y2tlblxuIgorImQgLSBrw7ZhIGludGUgc3R5Y2tldCBlbGxlciBuw6Vnb3QgYXYgZGUgc3R5Y2tlbiBzb20gZsO2bGplclxuIgorCisjOiBhZGQtcGF0Y2guYzoxMDE2Cittc2dpZCAiIgorImogLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgbmV4dCB1bmRlY2lkZWQgaHVua1xuIgorIkogLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgbmV4dCBodW5rXG4iCisiayAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBwcmV2aW91cyB1bmRlY2lkZWQgaHVua1xuIgorIksgLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgcHJldmlvdXMgaHVua1xuIgorImcgLSBzZWxlY3QgYSBodW5rIHRvIGdvIHRvXG4iCisiLyAtIHNlYXJjaCBmb3IgYSBodW5rIG1hdGNoaW5nIHRoZSBnaXZlbiByZWdleFxuIgorInMgLSBzcGxpdCB0aGUgY3VycmVudCBodW5rIGludG8gc21hbGxlciBodW5rc1xuIgorImUgLSBtYW51YWxseSBlZGl0IHRoZSBjdXJyZW50IGh1bmtcbiIKKyI/IC0gcHJpbnQgaGVscFxuIgorbXNnc3RyICIiCisiaiAtIGzDpG1uYSBzdHlja2V0IG9iZXN0w6RtdCwgc2UgbsOkc3RhIG9iZXN0w6RtZGEgc3R5Y2tlXG4iCisiSiAtIGzDpG1uYSBzdHlja2V0IG9iZXN0w6RtdCwgc2UgbsOkc3RhIHN0eWNrZVxuIgorImsgLSBsw6RtbmEgc3R5Y2tldCBvYmVzdMOkbXQsIHNlIGbDtnJlZ8OlZW5kZSBvYmVzdMOkbWRhIHN0eWNrZVxuIgorIksgLSBsw6RtbmEgc3R5Y2tldCBvYmVzdMOkbXQsIHNlIGbDtnJlZ8OlZW5kZSBzdHlja2VcbiIKKyJnIC0gdsOkbGogZXR0IHN0eWNrZSBhdHQgZ8OlIHRpbGxcbiIKKyIvIC0gc8O2ayBlZnRlciBzdHlja2Ugc29tIG1vdHN2YXJhciBhbmdpdmV0IHJlZ3VsasOkcnQgdXR0cnlja1xuIgorInMgLSBkZWxhIGFrdHVlbGx0IHN0eWNrZSBpIG1pbmRyZSBzdHlja2Vuc1xuIgorImUgLSByZWRpZ2VyYSBha3R1ZWxsdCBzdHlja2UgbWFudWVsbHRcbiIKKyI/IC0gdmlzYSBoasOkbHBcbiIKKworIzogYWRkLXBhdGNoLmM6MTEzNyBhZGQtcGF0Y2guYzoxMTQ3Cittc2dpZCAiTm8gcHJldmlvdXMgaHVuayIKK21zZ3N0ciAiSW5nZXQgZsO2cmVnw6VlbmRlIHN0eWNrZSIKKworIzogYWRkLXBhdGNoLmM6MTE0MiBhZGQtcGF0Y2guYzoxMTUyCittc2dpZCAiTm8gbmV4dCBodW5rIgorbXNnc3RyICJJbmdldCBmw7ZsamFuZGUgc3R5Y2tlIgorCisjOiBhZGQtcGF0Y2guYzoxMTU4Cittc2dpZCAiTm8gb3RoZXIgaHVua3MgdG8gZ290byIKK21zZ3N0ciAiSW5nYSBhbmRyYSBzdHlja2VuIGF0dCBnw6UgdGlsbCIKKworIzogYWRkLXBhdGNoLmM6MTE2OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzcKK21zZ2lkICJnbyB0byB3aGljaCBodW5rICg8cmV0PiB0byBzZWUgbW9yZSk/ICIKK21zZ3N0ciAiZ8OlIHRpbGwgdmlsa2V0IHN0eWNrZSAoPHJldD4gZsO2ciBhdHQgc2UgZmxlcik/ICIKKworIzogYWRkLXBhdGNoLmM6MTE3MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzkKK21zZ2lkICJnbyB0byB3aGljaCBodW5rPyAiCittc2dzdHIgImfDpSB0aWxsIHZpbGtldCBzdHlja2U/ICIKKworIzogYWRkLXBhdGNoLmM6MTE4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG51bWJlcjogJyVzJyIKK21zZ3N0ciAiT2dpbHRpZ3Qgc2lmZmVydsOkcmRlOiBcIiVzXCIiCisKKyM6IGFkZC1wYXRjaC5jOjExODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU29ycnksIG9ubHkgJWQgaHVuayBhdmFpbGFibGUuIgorbXNnaWRfcGx1cmFsICJTb3JyeSwgb25seSAlZCBodW5rcyBhdmFpbGFibGUuIgorbXNnc3RyWzBdICJCZWtsYWdhciwgZGV0IGZpbm5zIGJhcmEgJWQgc3R5Y2tlLiIKK21zZ3N0clsxXSAiQmVrbGFnYXIsIGRldCBmaW5ucyBiYXJhICVkIHN0eWNrZW4uIgorCisjOiBhZGQtcGF0Y2guYzoxMTk1Cittc2dpZCAiTm8gb3RoZXIgaHVua3MgdG8gc2VhcmNoIgorbXNnc3RyICJJbmdhIGFuZHJhIHN0eWNrZW4gYXR0IHPDtmthIGVmdGVyIgorCisjOiBhZGQtcGF0Y2guYzoxMjAxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYyMworbXNnaWQgInNlYXJjaCBmb3IgcmVnZXg/ICIKK21zZ3N0ciAic8O2ayBlZnRlciByZWd1bGrDpHJ0IHV0dHJ5Y2s/ICIKKworIzogYWRkLXBhdGNoLmM6MTIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJNYWxmb3JtZWQgc2VhcmNoIHJlZ2V4cCAlczogJXMiCittc2dzdHIgIkZlbGFrdGlndCBmb3JtYXQgcMOlIHJlZ3VsasOkcnQgc8O2a3V0dHJ5Y2sgJXM6ICVzIgorCisjOiBhZGQtcGF0Y2guYzoxMjMzCittc2dpZCAiTm8gaHVuayBtYXRjaGVzIHRoZSBnaXZlbiBwYXR0ZXJuIgorbXNnc3RyICJJbmdhIHN0eWNrZW4gbW90c3ZhcmFyIGdpdmV0IG3Dtm5zdGVyIgorCisjOiBhZGQtcGF0Y2guYzoxMjQwCittc2dpZCAiU29ycnksIGNhbm5vdCBzcGxpdCB0aGlzIGh1bmsiCittc2dzdHIgIkJla2xhZ2FyLCBrYW4gaW50ZSBkZWxhIHN0eWNrZXQiCisKKyM6IGFkZC1wYXRjaC5jOjEyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3BsaXQgaW50byAlZCBodW5rcy4iCittc2dzdHIgIkRlbGEgaSAlZCBzdHlja2VuLiIKKworIzogYWRkLXBhdGNoLmM6MTI0OAorbXNnaWQgIlNvcnJ5LCBjYW5ub3QgZWRpdCB0aGlzIGh1bmsiCittc2dzdHIgIkJla2xhZ2FyLCBrYW4gaW50ZSByZWRpZ2VyYSBzdHlja2V0IgorCisjOiBhZHZpY2UuYzoxMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNoaW50OiAlLipzJXNcbiIKIG1zZ3N0ciAiJXN0aXBzOiAlLipzJXNcbiIKIAotIzogYWR2aWNlLmM6MTUyCisjOiBhZHZpY2UuYzoxNjQKIG1zZ2lkICJDaGVycnktcGlja2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIiIKICJEdSBrYW4gaW50ZSB1dGbDtnJhIGVuIGNoZXJyeS1waWNrIGVmdGVyc29tIGR1IGhhciBmaWxlciBzb20gaW50ZSBzbGFnaXRzICIKICJzYW1tYW4uIgogCi0jOiBhZHZpY2UuYzoxNTQKKyM6IGFkdmljZS5jOjE2NgogbXNnaWQgIkNvbW1pdHRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICIiCiAiRHUga2FuIGludGUgdXRmw7ZyYSBlbiBpbmNoZWNrbmluZyBlZnRlcnNvbSBkdSBoYXIgZmlsZXIgc29tIGludGUgc2xhZ2l0cyAiCiAic2FtbWFuLiIKIAotIzogYWR2aWNlLmM6MTU2CisjOiBhZHZpY2UuYzoxNjgKIG1zZ2lkICJNZXJnaW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogIkR1IGthbiBpbnRlIHV0ZsO2cmEgZW4gc2FtbWFuc2xhZ25pbmcgZWZ0ZXJzb20gZHUgaGFyIGZpbGVyIHNvbSBpbnRlIHNsYWdpdHMgIgogInNhbW1hbi4iCiAKLSM6IGFkdmljZS5jOjE1OAorIzogYWR2aWNlLmM6MTcwCiBtc2dpZCAiUHVsbGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIiIKICJEdSBrYW4gaW50ZSB1dGbDtnJhIGVuIFwicHVsbFwiIGVmdGVyc29tIGR1IGhhciBmaWxlciBzb20gaW50ZSBzbGFnaXRzIHNhbW1hbi4iCiAKLSM6IGFkdmljZS5jOjE2MAorIzogYWR2aWNlLmM6MTcyCiBtc2dpZCAiUmV2ZXJ0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogIkR1IGthbiBpbnRlIHV0ZsO2cmEgZW4gXCJyZXZlcnRcIiBlZnRlcnNvbSBkdSBoYXIgZmlsZXIgc29tIGludGUgc2xhZ2l0cyAiCiAic2FtbWFuLiIKIAotIzogYWR2aWNlLmM6MTYyCisjOiBhZHZpY2UuYzoxNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiSXQgaXMgbm90IHBvc3NpYmxlIHRvICVzIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICIiCiAiRHUga2FuIGludGUgdXRmw7ZyYSBlbiBcIiVzXCIgZWZ0ZXJzb20gZHUgaGFyIGZpbGVyIHNvbSBpbnRlIHNsYWdpdHMgc2FtbWFuLiIKIAotIzogYWR2aWNlLmM6MTcwCisjOiBhZHZpY2UuYzoxODIKIG1zZ2lkICIiCiAiRml4IHRoZW0gdXAgaW4gdGhlIHdvcmsgdHJlZSwgYW5kIHRoZW4gdXNlICdnaXQgYWRkL3JtIDxmaWxlPidcbiIKICJhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24gYW5kIG1ha2UgYSBjb21taXQuIgpAQCAtNjYsMTM3ICs0OTIsMTQ5IEBACiAiUsOkdHRhIGRlbSBpIGRpbiBhcmJldHNrYXRhbG9nIG9jaCBhbnbDpG5kIHNlZGFuIFwiZ2l0IGFkZC9ybSA8ZmlsPlwiXG4iCiAic29tIGzDpG1wbGlndCBmw7ZyIGF0dCBhbmdlIGzDtnNuaW5nIG9jaCBjaGVja2EgaW4uIgogCi0jOiBhZHZpY2UuYzoxNzgKKyM6IGFkdmljZS5jOjE5MAogbXNnaWQgIkV4aXRpbmcgYmVjYXVzZSBvZiBhbiB1bnJlc29sdmVkIGNvbmZsaWN0LiIKIG1zZ3N0ciAiQXZzbHV0YXIgcMOlIGdydW5kIGF2IG9sw7ZzdCBrb25mbGlrZ3QuIgogCi0jOiBhZHZpY2UuYzoxODMgYnVpbHRpbi9tZXJnZS5jOjEyODkKKyM6IGFkdmljZS5jOjE5NSBidWlsdGluL21lcmdlLmM6MTMzMgogbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLiIKIG1zZ3N0ciAiRHUgaGFyIGludGUgYXZzbHV0YXQgc2FtbWFuc2xhZ25pbmdlbiAoTUVSR0VfSEVBRCBmaW5ucykuIgogCi0jOiBhZHZpY2UuYzoxODUKKyM6IGFkdmljZS5jOjE5NwogbXNnaWQgIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgbWVyZ2luZy4iCiBtc2dzdHIgIkNoZWNrYSBpbiBkaW5hIMOkbmRyaW5nYXIgaW5uYW4gZHUgdXRmw7ZyIHNhbW1hbnNsYWduaW5nZW4uIgogCi0jOiBhZHZpY2UuYzoxODYKKyM6IGFkdmljZS5jOjE5OAogbXNnaWQgIkV4aXRpbmcgYmVjYXVzZSBvZiB1bmZpbmlzaGVkIG1lcmdlLiIKIG1zZ3N0ciAiQXZzbHV0YXIgcMOlIGdydW5kIGF2IG9mdWxsYm9yZGFkIHNhbW1hbnNsYWduaW5nLiIKIAotIzogYWR2aWNlLmM6MTkyCisjOiBhZHZpY2UuYzoyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgotIk5vdGU6IGNoZWNraW5nIG91dCAnJXMnLlxuIgorIk5vdGU6IHN3aXRjaGluZyB0byAnJXMnLlxuIgogIlxuIgogIllvdSBhcmUgaW4gJ2RldGFjaGVkIEhFQUQnIHN0YXRlLiBZb3UgY2FuIGxvb2sgYXJvdW5kLCBtYWtlIGV4cGVyaW1lbnRhbFxuIgogImNoYW5nZXMgYW5kIGNvbW1pdCB0aGVtLCBhbmQgeW91IGNhbiBkaXNjYXJkIGFueSBjb21taXRzIHlvdSBtYWtlIGluIHRoaXNcbiIKLSJzdGF0ZSB3aXRob3V0IGltcGFjdGluZyBhbnkgYnJhbmNoZXMgYnkgcGVyZm9ybWluZyBhbm90aGVyIGNoZWNrb3V0LlxuIgorInN0YXRlIHdpdGhvdXQgaW1wYWN0aW5nIGFueSBicmFuY2hlcyBieSBzd2l0Y2hpbmcgYmFjayB0byBhIGJyYW5jaC5cbiIKICJcbiIKICJJZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBuZXcgYnJhbmNoIHRvIHJldGFpbiBjb21taXRzIHlvdSBjcmVhdGUsIHlvdSBtYXlcbiIKLSJkbyBzbyAobm93IG9yIGxhdGVyKSBieSB1c2luZyAtYiB3aXRoIHRoZSBjaGVja291dCBjb21tYW5kIGFnYWluLiBFeGFtcGxlOlxuIgorImRvIHNvIChub3cgb3IgbGF0ZXIpIGJ5IHVzaW5nIC1jIHdpdGggdGhlIHN3aXRjaCBjb21tYW5kLiBFeGFtcGxlOlxuIgogIlxuIgotIiAgZ2l0IGNoZWNrb3V0IC1iIDxuZXctYnJhbmNoLW5hbWU+XG4iCisiICBnaXQgc3dpdGNoIC1jIDxuZXctYnJhbmNoLW5hbWU+XG4iCisiXG4iCisiT3IgdW5kbyB0aGlzIG9wZXJhdGlvbiB3aXRoOlxuIgorIlxuIgorIiAgZ2l0IHN3aXRjaCAtXG4iCisiXG4iCisiVHVybiBvZmYgdGhpcyBhZHZpY2UgYnkgc2V0dGluZyBjb25maWcgdmFyaWFibGUgYWR2aWNlLmRldGFjaGVkSGVhZCB0byAiCisiZmFsc2VcbiIKICJcbiIKIG1zZ3N0ciAiIgogIk9ic2VydmVyYTogY2hlY2thciB1dCBcIiVzXCIuXG4iCiAiXG4iCiAiRHUgaGFyIG51IGV0dCBcImZyw6Vua29wcGxhdCBIRUFEXCIuIER1IGthbiBzZSBkaWcgb21rcmluZywgZXhwZXJpbWVudGVyYVxuIgogIm1lZCDDpG5kcmluZ2FyIG9jaCBjaGVja2EgaW4gZGVtLCBvY2ggZHUga2FuIGthc3RhIGluY2hlY2tuaW5nYXIgZHUgZ8O2clxuIgotImkgZGV0IGjDpHIgbMOkZ2V0IHV0YW4gYXR0IGRldCBww6V2ZXJrYXIgZ3JlbmFyIGdlbm9tIGF0dCBjaGVja2EgdXQgcMOlXG4iCi0ibnl0dC5cbiIKKyJpIGRldCBow6RyIGzDpGdldCB1dGFuIGF0dCBkZXQgcMOldmVya2FyIGdyZW5hciBnZW5vbSBhdHQgdsOkeGxhIHRpbGxiYWthXG4iCisidGlsbCBlbiBncmVuLlxuIgogIlxuIgogIk9tIGR1IHZpbGwgc2thcGEgZW4gbnkgZ3JlbiBmw7ZyIGF0dCBiZWjDpWxsYSDDpG5kcmluZ2FybmEgZHUgc2thcGFyLCBrYW5cbiIKLSJkdSBnw7ZyYSBkZXQgKG51IGVsbGVyIHNlbmFyZSkgZ2Vub20gYXR0IGFudsOkbmRhIGNoZWNrb3V0LWtvbW1hbmRvdCBpZ2VuXG4iCi0ibWVkIC1iLiBUaWxsIGV4ZW1wZWw6XG4iCisiZHUgZ8O2cmEgZGV0IChudSBlbGxlciBzZW5hcmUpIGdlbm9tIGF0dCBhbnbDpG5kYSBzd2l0Y2gta29tbWFuZG90IG1lZCAtYy5cbiIKKyJFeGVtcGVsOlxuIgogIlxuIgotIiAgZ2l0IGNoZWNrb3V0IC1iIDxuYW1uLXDDpS1ueS1ncmVuPlxuIgorIiAgZ2l0IHN3aXRjaCAtYyA8bmFtbi1ww6UtbnktZ3Jlbj5cbiIKKyJcbiIKKyJFbGxlciBnw7ZyIGRlbiBow6RyIMOkbmRyaW5nZW4gb2dqb3JkIG1lZDpcbiIKKyJcbiIKKyIgIGdpdCBzd2l0Y2ggLVxuIgorIlxuIgorIlN0w6RuZyBhdiBkZW4gaMOkciBoasOkbHB0ZXh0ZW4gZ2Vub20gYXR0IHPDpHR0YSBrb25maWd1cmF0aW9uc3ZhcmlhYmVsblxuIgorImFkdmljZS5kZXRhY2hlZEhlYWQgdGlsbCBmYWxzZVxuIgogIlxuIgogCi0jOiBhcHBseS5jOjU5CisjOiBhbGlhcy5jOjUwCittc2dpZCAiY21kbGluZSBlbmRzIHdpdGggXFwiCittc2dzdHIgImtvbW1hbmRvcmFkIGF2c2x1dGFzIG1lZCBcXCIKKworIzogYWxpYXMuYzo1MQorbXNnaWQgInVuY2xvc2VkIHF1b3RlIgorbXNnc3RyICJjaXRhdCBlaiBzdMOkbmd0IgorCisjOiBhcHBseS5jOjY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgogbXNnc3RyICJva8OkbnQgYWx0ZXJuYXRpdiBmw7ZyIHdoaXRlc3BhY2U6IFwiJXNcIiIKIAotIzogYXBwbHkuYzo3NQorIzogYXBwbHkuYzo4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCiBtc2dzdHIgIm9rw6RudCBhbHRlcm5hdGl2IGbDtnIgaWdub3JlLXdoaXRlc3BhY2U6IFwiJXNcIiIKIAotIzogYXBwbHkuYzoxMjUKKyM6IGFwcGx5LmM6MTM1CiBtc2dpZCAiLS1yZWplY3QgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iCiBtc2dzdHIgIi0tcmVqZWN0IG9jaCAtLTN3YXkga2FuIGludGUgYW52w6RuZGFzIHNhbXRpZGlndC4iCiAKLSM6IGFwcGx5LmM6MTI3CisjOiBhcHBseS5jOjEzNwogbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgogbXNnc3RyICItLWNhY2hlZCBvY2ggLS0zd2F5IGthbiBpbnRlIGFudsOkbmRhcyBzYW10aWRpZ3QuIgogCi0jOiBhcHBseS5jOjEzMAorIzogYXBwbHkuYzoxNDAKIG1zZ2lkICItLTN3YXkgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tM3dheSB1dGFuZsO2ciBhcmtpdiIKIAotIzogYXBwbHkuYzoxNDEKKyM6IGFwcGx5LmM6MTUxCiBtc2dpZCAiLS1pbmRleCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiLS1pbmRleCB1dGFuZsO2ciBhcmtpdiIKIAotIzogYXBwbHkuYzoxNDQKKyM6IGFwcGx5LmM6MTU0CiBtc2dpZCAiLS1jYWNoZWQgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tY2FjaGVkIHV0YW5mw7ZyIGFya2l2IgogCi0jOiBhcHBseS5jOjgyNgorIzogYXBwbHkuYzo4MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHByZXBhcmUgdGltZXN0YW1wIHJlZ2V4cCAlcyIKIG1zZ3N0ciAiS2FuIGludGUgZsO2cmJlcmVkYSByZWd1bGrDpHJ0IHV0dHJ5Y2sgZsO2ciB0aWRzc3TDpG1wZWxuICVzIgogCi0jOiBhcHBseS5jOjgzNQorIzogYXBwbHkuYzo4MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIgogbXNnc3RyICJyZWdleGVjIHJldHVybmVyYWRlICVkIGbDtnIgaW5kYXRhOiAlcyIKIAotIzogYXBwbHkuYzo5MDkKKyM6IGFwcGx5LmM6ODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgImthbiBpbnRlIGhpdHRhIGZpbG5hbW4gaSBwYXRjaGVuIHDDpSByYWQgJWQiCiAKLSM6IGFwcGx5LmM6OTQ3CisjOiBhcHBseS5jOjkyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCiBtc2dzdHIgImdpdCBhcHBseTogZMOlbGlnIGdpdC1kaWZmIC0gZsO2cnbDpG50YWRlIC9kZXYvbnVsbCwgZmljayAlcyBww6UgcmFkICVkIgogCi0jOiBhcHBseS5jOjk1MworIzogYXBwbHkuYzo5MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgbmV3IGZpbGVuYW1lIG9uIGxpbmUgJWQiCiBtc2dzdHIgImdpdCBhcHBseTogZMOlbGlnIGdpdC1kaWZmIC0gbW90c8OkZ2FuZGUgbnl0dCBmaWxuYW1uIHDDpSByYWQgJWQiCiAKLSM6IGFwcGx5LmM6OTU0CisjOiBhcHBseS5jOjkyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBvbGQgZmlsZW5hbWUgb24gbGluZSAlZCIKIG1zZ3N0ciAiZ2l0IGFwcGx5OiBkw6VsaWcgZ2l0LWRpZmYgLSBtb3Rzw6RnYW5kZSBnYW1tYWx0IGZpbG5hbW4gcMOlIHJhZCAlZCIKIAotIzogYXBwbHkuYzo5NTkKKyM6IGFwcGx5LmM6OTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCiBtc2dzdHIgImdpdCBhcHBseTogZMOlbGlnIGdpdC1kaWZmIC0gZsO2cnbDpG50YWRlIC9kZXYvbnVsbCBww6UgcmFkICVkIgogCi0jOiBhcHBseS5jOjk4OAorIzogYXBwbHkuYzo5NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBtb2RlIG9uIGxpbmUgJWQ6ICVzIgogbXNnc3RyICJvZ2lsdGlndCBsw6RnZSBww6UgcmFkICVkOiAlcyIKIAotIzogYXBwbHkuYzoxMzA3CisjOiBhcHBseS5jOjEyODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5jb25zaXN0ZW50IGhlYWRlciBsaW5lcyAlZCBhbmQgJWQiCiBtc2dzdHIgImh1dnVkZXQgw6RyIGlua29uc2VrdmVudCBtZWxsYW4gcmFkICVkIG9jaCAlZCIKIAotIzogYXBwbHkuYzoxNDc5Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKLW1zZ3N0ciAicmVjb3VudDogZsO2cnbDpG50YWRlIHJhZDogJS4qcyIKLQotIzogYXBwbHkuYzoxNTQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiCi1tc2dzdHIgInBhdGNoLWZyYWdtZW50IHV0YW4gaHV2dWQgcMOlIHJhZCAlZDogJS4qcyIKLQotIzogYXBwbHkuYzoxNTY4CisjOiBhcHBseS5jOjEzNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgpAQCAtMjEyLDgyICs2NTAsOTIgQEAKICJzw7ZrdsOkZ3Nrb21wb25lbnRlclxuIgogInRhcyBib3J0IChyYWQgJWQpIgogCi0jOiBhcHBseS5jOjE1ODEKKyM6IGFwcGx5LmM6MTM4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gKGxpbmUgJWQpIgogbXNnc3RyICJnaXQtZGlmZi1odXZ1ZGV0IHNha25hciBmaWxuYW1uc2luZm9ybWF0aW9uIChyYWQgJWQpIgogCi0jOiBhcHBseS5jOjE3NjkKKyM6IGFwcGx5LmM6MTQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvdW50OiB1bmV4cGVjdGVkIGxpbmU6ICUuKnMiCittc2dzdHIgInJlY291bnQ6IGbDtnJ2w6RudGFkZSByYWQ6ICUuKnMiCisKKyM6IGFwcGx5LmM6MTU1MAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgorbXNnc3RyICJwYXRjaC1mcmFnbWVudCB1dGFuIGh1dnVkIHDDpSByYWQgJWQ6ICUuKnMiCisKKyM6IGFwcGx5LmM6MTc1MwogbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgogbXNnc3RyICJueSBmaWwgYmVyb3IgcMOlIGdhbW1hbHQgaW5uZWjDpWxsIgogCi0jOiBhcHBseS5jOjE3NzEKKyM6IGFwcGx5LmM6MTc1NQogbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgImJvcnR0YWdlbiBmaWwgaGFyIGZvcnRmYXJhbmRlIGlubmVow6VsbCIKIAotIzogYXBwbHkuYzoxODA1CisjOiBhcHBseS5jOjE3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBwYXRjaCBhdCBsaW5lICVkIgogbXNnc3RyICJ0cmFzaWcgcGF0Y2ggcMOlIHJhZCAlZCIKIAotIzogYXBwbHkuYzoxODQyCisjOiBhcHBseS5jOjE4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCiBtc2dzdHIgIm55YSBmaWxlbiAlcyBiZXJvciBww6UgZ2FtbWFsdCBpbm5laMOlbGwiCiAKLSM6IGFwcGx5LmM6MTg0NAorIzogYXBwbHkuYzoxODI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgImJvcnR0YWduYSBmaWxlbiAlcyBoYXIgZm9ydGZhcmFuZGUgaW5uZWjDpWxsIgogCi0jOiBhcHBseS5jOjE4NDcKKyM6IGFwcGx5LmM6MTgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIqKiB3YXJuaW5nOiBmaWxlICVzIGJlY29tZXMgZW1wdHkgYnV0IGlzIG5vdCBkZWxldGVkIgogbXNnc3RyICIqKiB2YXJuaW5nOiBmaWxlbiAlcyBibGlyIHRvbSBtZW4gaGFyIGludGUgdGFnaXRzIGJvcnQiCiAKLSM6IGFwcGx5LmM6MTk5NAorIzogYXBwbHkuYzoxOTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgInRyYXNpZyBiaW7DpHJwYXRjaCBww6UgcmFkICVkOiAlLipzIgogCi0jOiBhcHBseS5jOjIwMzEKKyM6IGFwcGx5LmM6MjAxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgImJpbsOkcnBhdGNoZW4gcMOlIHJhZCAlZCBrw6RubnMgaW50ZSBpZ2VuIgogCi0jOiBhcHBseS5jOjIxOTMKKyM6IGFwcGx5LmM6MjE3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIgogbXNnc3RyICJwYXRjaCBtZWQgYmFyYSBza3LDpHAgcMOlIHJhZCAlZCIKIAotIzogYXBwbHkuYzoyMjc5CisjOiBhcHBseS5jOjIyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBzeW1ib2xpc2thIGzDpG5rZW4gJXMiCiAKLSM6IGFwcGx5LmM6MjI4MworIzogYXBwbHkuYzoyMjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIG9yIHJlYWQgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgw7ZwcG5hIGVsbGVyIGzDpHNhICVzIgogCi0jOiBhcHBseS5jOjI5NDIKKyM6IGFwcGx5LmM6MjkzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHN0YXJ0IG9mIGxpbmU6ICclYyciCiBtc2dzdHIgImZlbGFrdGlnIGlubGVkbmluZyBww6UgcmFkOiBcIiVjXCIiCiAKLSM6IGFwcGx5LmM6MzA2MworIzogYXBwbHkuYzozMDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmUpLiIKIG1zZ2lkX3BsdXJhbCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZXMpLiIKIG1zZ3N0clswXSAiU3R5Y2tlICVkIGx5Y2thZGVzIHDDpSAlZCAob2Zmc2V0ICVkIHJhZCkuIgogbXNnc3RyWzFdICJTdHlja2UgJWQgbHlja2FkZXMgcMOlICVkIChvZmZzZXQgJWQgcmFkZXIpLiIKIAotIzogYXBwbHkuYzozMDc1CisjOiBhcHBseS5jOjMwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29udGV4dCByZWR1Y2VkIHRvICglbGQvJWxkKSB0byBhcHBseSBmcmFnbWVudCBhdCAlZCIKIG1zZ3N0ciAiU2FtbWFuaGFuZyByZWR1Y2VyYXQgdGlsbCAoJWxkLyVsZCkgZsO2ciBhdHQgdGlsbMOkbXBhIGZyYWdtZW50IHZpZCAlZCIKIAotIzogYXBwbHkuYzozMDgxCisjOiBhcHBseS5jOjMwNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIndoaWxlIHNlYXJjaGluZyBmb3I6XG4iCkBAIC0yOTYsMjUgKzc0NCwyNSBAQAogInZpZCBzw7ZrbmluZyBlZnRlcjpcbiIKICIlLipzIgogCi0jOiBhcHBseS5jOjMxMDMKKyM6IGFwcGx5LmM6MzA5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIGJpbmFyeSBwYXRjaCBkYXRhIGZvciAnJXMnIgogbXNnc3RyICJzYWtuYXIgYmluw6RyYSBwYXRjaGRhdGEgZsO2ciBcIiVzXCIiCiAKLSM6IGFwcGx5LmM6MzExMQorIzogYXBwbHkuYzozMTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXZlcnNlLWFwcGx5IGEgYmluYXJ5IHBhdGNoIHdpdGhvdXQgdGhlIHJldmVyc2UgaHVuayB0byAnJXMnIgogbXNnc3RyICIiCiAia2FuIGludGUgYXBwbGljZXJhIGVuIGJpbsOkcnBhdGNoIGJha2zDpG5nZXMgdXRhbiBkZW4gb212w6RuZGEgcGF0Y2hlbiBmw7ZyIFwiJXMiCiAiXCIiCiAKLSM6IGFwcGx5LmM6MzE1OAorIzogYXBwbHkuYzozMTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhcHBseSBiaW5hcnkgcGF0Y2ggdG8gJyVzJyB3aXRob3V0IGZ1bGwgaW5kZXggbGluZSIKIG1zZ3N0ciAiIgogImthbiBpbnRlIGFwcGxpY2VyYSBiaW7DpHJwYXRjaCBww6UgXCIlc1wiIHV0YW4gZGVuIGZ1bGxzdMOkbmRpZ2EgaW5kZXhyYWRlbiIKIAotIzogYXBwbHkuYzozMTY4CisjOiBhcHBseS5jOjMxNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInRoZSBwYXRjaCBhcHBsaWVzIHRvICclcycgKCVzKSwgd2hpY2ggZG9lcyBub3QgbWF0Y2ggdGhlIGN1cnJlbnQgY29udGVudHMuIgpAQCAtMzIyLDQyNiArNzcwLDQxMiBAQAogInBhdGNoZW4gYXBwbGljZXJhcyBww6UgXCIlc1wiICglcyksIHNvbSBpbnRlIG1vdHN2YXJhciBkZXQgbnV2YXJhbmRlICIKICJpbm5laMOlbGxldC4iCiAKLSM6IGFwcGx5LmM6MzE3NgorIzogYXBwbHkuYzozMTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBwYXRjaCBhcHBsaWVzIHRvIGFuIGVtcHR5ICclcycgYnV0IGl0IGlzIG5vdCBlbXB0eSIKIG1zZ3N0ciAicGF0Y2hlbiBhcHBsaWNlcmFzIHDDpSBlbiB0b20gXCIlc1wiLCBtZW4gZGVuIMOkciBpbnRlIHRvbSIKIAotIzogYXBwbHkuYzozMTk0CisjOiBhcHBseS5jOjMxODgKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIG5lY2Vzc2FyeSBwb3N0aW1hZ2UgJXMgZm9yICclcycgY2Fubm90IGJlIHJlYWQiCiBtc2dzdHIgIm7DtmR2w6RuZGlnIGVmdGVyYmlsZCAlcyBmw7ZyIFwiJXNcIiBrYW4gaW50ZSBsw6RzYXMiCiAKLSM6IGFwcGx5LmM6MzIwNworIzogYXBwbHkuYzozMjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJpbmFyeSBwYXRjaCBkb2VzIG5vdCBhcHBseSB0byAnJXMnIgogbXNnc3RyICJiaW7DpHJwYXRjaGVuIGthbiBpbnRlIHRpbGzDpG1wYXMgcMOlIFwiJXNcIiIKIAotIzogYXBwbHkuYzozMjEzCisjOiBhcHBseS5jOjMyMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmluYXJ5IHBhdGNoIHRvICclcycgY3JlYXRlcyBpbmNvcnJlY3QgcmVzdWx0IChleHBlY3RpbmcgJXMsIGdvdCAlcykiCiBtc2dzdHIgImJpbsOkcnBhdGNoZW4gcMOlIFwiJXNcIiBnZXIgZmVsYWt0aWd0IHJlc3VsdGF0IChmw7ZydsOkbnRhZGUgJXMsIGZpY2sgJXMpIgogCi0jOiBhcHBseS5jOjMyMzQKKyM6IGFwcGx5LmM6MzIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCBmYWlsZWQ6ICVzOiVsZCIKIG1zZ3N0ciAicGF0Y2ggbWlzc2x5Y2thZGVzOiAlczolbGQiCiAKLSM6IGFwcGx5LmM6MzM1NgorIzogYXBwbHkuYzozMzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKIG1zZ3N0ciAia2FuIGludGUgY2hlY2thIHV0ICVzIgogCi0jOiBhcHBseS5jOjM0MDggYXBwbHkuYzozNDE5IGFwcGx5LmM6MzQ2NSBtaWR4LmM6NTggc2V0dXAuYzoyNzgKKyM6IGFwcGx5LmM6MzQwMyBhcHBseS5jOjM0MTQgYXBwbHkuYzozNDYwIG1pZHguYzo2MSBzZXR1cC5jOjI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGzDpHNhICVzIgogCi0jOiBhcHBseS5jOjM0MTYKKyM6IGFwcGx5LmM6MzQxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICJsw6RzZXIgZnLDpW4gXCIlc1wiIHNvbSDDpHIgcMOlIGFuZHJhIHNpZGFuIGF2IGVuIHN5bWJvbGlzayBsw6RuayIKIAotIzogYXBwbHkuYzozNDQ1IGFwcGx5LmM6MzY4OAorIzogYXBwbHkuYzozNDQwIGFwcGx5LmM6MzY4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKIG1zZ3N0ciAic8O2a3bDpGdlbiAlcyBoYXIgw6RuZHJhdCBuYW1uL3RhZ2l0cyBib3J0IgogCi0jOiBhcHBseS5jOjM1MzEgYXBwbHkuYzozNzAzCisjOiBhcHBseS5jOjM1MjYgYXBwbHkuYzozNjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKIG1zZ3N0ciAiJXM6IGZpbm5zIGludGUgaSBpbmRleGV0IgogCi0jOiBhcHBseS5jOjM1NDAgYXBwbHkuYzozNzExCisjOiBhcHBseS5jOjM1MzUgYXBwbHkuYzozNzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKIG1zZ3N0ciAiJXM6IG1vdHN2YXJhciBpbnRlIGluZGV4ZXQiCiAKLSM6IGFwcGx5LmM6MzU3NQorIzogYXBwbHkuYzozNTcwCiBtc2dpZCAicmVwb3NpdG9yeSBsYWNrcyB0aGUgbmVjZXNzYXJ5IGJsb2IgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAiIgogImFya2l2ZXQgc2FrbmFyIG9iamVrdCBzb20gYmVow7Z2cyBmw7ZyIGF0dCBmYWxsYSB0aWxsYmFrYSBww6UgMy0iCiAidsOkZ3NzYW1tYW5zbGFnbmluZy4iCiAKLSM6IGFwcGx5LmM6MzU3OAorIzogYXBwbHkuYzozNTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhbGxpbmcgYmFjayB0byB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKIG1zZ3N0ciAiRmFsbGVyIHRpbGxiYWthIHDDpSB0cmV2w6Rnc3NhbW1hbnNsYWduaW5nLi4uXG4iCiAKLSM6IGFwcGx5LmM6MzU5NCBhcHBseS5jOjM1OTgKKyM6IGFwcGx5LmM6MzU4OSBhcHBseS5jOjM1OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBha3R1ZWxsdCBpbm5laMOlbGwgaSBcIiVzXCIiCiAKLSM6IGFwcGx5LmM6MzYxMAorIzogYXBwbHkuYzozNjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmYWxsIGJhY2sgb24gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCiBtc2dzdHIgIk1pc3NseWNrYWRlcyBmYWxsYSB0aWxsYmFrYSBww6UgdHJldsOkZ3NzYW1tYW5zbGFnbmluZy4uLlxuIgogCi0jOiBhcHBseS5jOjM2MjQKKyM6IGFwcGx5LmM6MzYxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgd2l0aCBjb25mbGljdHMuXG4iCiBtc2dzdHIgIkFwcGxpY2VyYWRlIHBhdGNoZW4gcMOlIFwiJXNcIiBtZWQga29uZmxpa3Rlci5cbiIKIAotIzogYXBwbHkuYzozNjI5CisjOiBhcHBseS5jOjM2MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIGNsZWFubHkuXG4iCiBtc2dzdHIgIlRpbGzDpG1wYWRlIHBhdGNoZW4gcMOlICBcIiVzXCIgcmVudC5cbiIKIAotIzogYXBwbHkuYzozNjU1CisjOiBhcHBseS5jOjM2NTAKIG1zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgogbXNnc3RyICJwYXRjaCBmw7ZyIGJvcnR0YWduaW5nIGzDpG1uYXIga3ZhciBmaWxpbm5laMOlbGwiCiAKLSM6IGFwcGx5LmM6MzcyOAorIzogYXBwbHkuYzozNzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgogbXNnc3RyICIlczogZmVsIHR5cCIKIAotIzogYXBwbHkuYzozNzMwCisjOiBhcHBseS5jOjM3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIgogbXNnc3RyICIlcyBoYXIgdHlwZW4gJW8sIGbDtnJ2w6RudGFkZSAlbyIKIAotIzogYXBwbHkuYzozODgxIGFwcGx5LmM6Mzg4MworIzogYXBwbHkuYzozODc2IGFwcGx5LmM6Mzg3OCByZWFkLWNhY2hlLmM6ODMwIHJlYWQtY2FjaGUuYzo4NTYKKyM6IHJlYWQtY2FjaGUuYzoxMzIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcGF0aCAnJXMnIgotbXNnc3RyICJvZ2lsdGlnIHPDtmt2w6RnIOKAnSVz4oCdIgorbXNnc3RyICJvZ2lsdGlnIHPDtmt2w6RnIFwiJXNcIiIKIAotIzogYXBwbHkuYzozOTM5CisjOiBhcHBseS5jOjM5MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIGluZGV4IgogbXNnc3RyICIlczogZmlubnMgcmVkYW4gaSBpbmRleGV0IgogCi0jOiBhcHBseS5jOjM5NDIKKyM6IGFwcGx5LmM6MzkzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzOiBmaW5ucyByZWRhbiBpIGFyYmV0c2thdGFsb2dlbiIKIAotIzogYXBwbHkuYzozOTYyCisjOiBhcHBseS5jOjM5NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIgogbXNnc3RyICJueXR0IGzDpGdlICglbykgZsO2ciAlcyBtb3RzdmFyYXIgaW50ZSBnYW1tYWx0IGzDpGdlICglbykiCiAKLSM6IGFwcGx5LmM6Mzk2NworIzogYXBwbHkuYzozOTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKIG1zZ3N0ciAibnl0dCBsw6RnZSAoJW8pIGbDtnIgJXMgbW90c3ZhcmFyIGludGUgZ2FtbWFsdCBsw6RnZSAoJW8pIGbDtnIgJXMiCiAKLSM6IGFwcGx5LmM6Mzk4NworIzogYXBwbHkuYzozOTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImFmZmVjdGVkIGZpbGUgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICJkZW4gYmVyw7ZyZGEgZmlsZW4gXCIlc1wiIMOkciBww6UgYW5kcmEgc2lkYW4gYXYgZW4gc3ltYm9saXNrIGzDpG5rIgogCi0jOiBhcHBseS5jOjM5OTEKKyM6IGFwcGx5LmM6Mzk4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgIiVzOiBwYXRjaGVuIGthbiBpbnRlIHRpbGzDpG1wYXMiCiAKLSM6IGFwcGx5LmM6NDAwNgorIzogYXBwbHkuYzo0MDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgogbXNnc3RyICJLb250cm9sbGVyYXIgcGF0Y2hlbiAlcy4uLiIKIAotIzogYXBwbHkuYzo0MDk4CisjOiBhcHBseS5jOjQwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAic2hhMS1pbmZvcm1hdGlvbmVuIHNha25hcyBlbGxlciDDpHIgb2FudsOkbmRiYXIgZsO2ciB1bmRlcm1vZHVsZW4gJXMiCiAKLSM6IGFwcGx5LmM6NDEwNQorIzogYXBwbHkuYzo0MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vZGUgY2hhbmdlIGZvciAlcywgd2hpY2ggaXMgbm90IGluIGN1cnJlbnQgSEVBRCIKIG1zZ3N0ciAibnl0dCBsw6RnZSBmw7ZyICVzLCBzb20gaW50ZSBmaW5ucyBpIG51dmFyYW5kZSBIRUFEIgogCi0jOiBhcHBseS5jOjQxMDgKKyM6IGFwcGx5LmM6NDEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyAoJXMpLiIKIG1zZ3N0ciAic2hhMS1pbmZvcm1hdGlvbmVuIHNha25hcyBlbGxlciDDpHIgb2FudsOkbmRiYXIgKCVzKS4iCiAKLSM6IGFwcGx5LmM6NDExMyBidWlsdGluL2NoZWNrb3V0LmM6MjQ0IGJ1aWx0aW4vcmVzZXQuYzoxNDIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKLW1zZ3N0ciAibWFrZV9jYWNoZV9lbnRyeSBtaXNzbHlja2FkZXMgZsO2ciBzw7ZrdsOkZ2VuIFwiJXNcIiIKLQotIzogYXBwbHkuYzo0MTE3CisjOiBhcHBseS5jOjQxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGFkZCAlcyB0byB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgImt1bmRlIGludGUgbMOkZ2dhIHRpbGwgJXMgdGlsbCB0ZW1wb3LDpHJ0IGluZGV4IgogCi0jOiBhcHBseS5jOjQxMjcKKyM6IGFwcGx5LmM6NDEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdGVtcG9yYXJ5IGluZGV4IHRvICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSB0ZW1wb3LDpHJ0IGluZGV4IHRpbGwgJXMiCiAKLSM6IGFwcGx5LmM6NDI2NQorIzogYXBwbHkuYzo0MjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZW1vdmUgJXMgZnJvbSBpbmRleCIKIG1zZ3N0ciAia2FuIGludGUgdGEgYm9ydCAlcyBmcsOlbiBpbmRleGV0IgogCi0jOiBhcHBseS5jOjQyOTkKKyM6IGFwcGx5LmM6NDI5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IHBhdGNoIGZvciBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgInRyYXNpZyBwYXRjaCBmw7ZyIHVuZGVybW9kdWxlbiAlcyIKIAotIzogYXBwbHkuYzo0MzA1CisjOiBhcHBseS5jOjQzMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgbmV3bHkgY3JlYXRlZCBmaWxlICclcyciCiBtc2dzdHIgImthbiBpbnRlIHRhIHN0YXR1cyBww6UgbnlsaWdlbiBza2FwYWRlIGZpbGVuIFwiJXNcIiIKIAotIzogYXBwbHkuYzo0MzEzCisjOiBhcHBseS5jOjQzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciBuZXdseSBjcmVhdGVkIGZpbGUgJXMiCiBtc2dzdHIgImthbiBpbnRlIHNrYXBhIHPDpGtlcmhldHNtaW5uZSBmw7ZyIG55bGlnZW4gc2thcGFkZSBmaWxlbiAlcyIKIAotIzogYXBwbHkuYzo0MzE5IGFwcGx5LmM6NDQ2NAorIzogYXBwbHkuYzo0MzE0IGFwcGx5LmM6NDQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKIG1zZ3N0ciAia2FuIGludGUgbMOkZ2dhIHRpbGwgY2FjaGVwb3N0IGbDtnIgJXMiCiAKLSM6IGFwcGx5LmM6NDM2MgorIzogYXBwbHkuYzo0MzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB3cml0ZSB0byAnJXMnIgogbXNnc3RyICJtaXNzbHlja2FkZXMgc2tyaXZhIHRpbGwgXCIlc1wiIgogCi0jOiBhcHBseS5jOjQzNjYKKyM6IGFwcGx5LmM6NDM2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjbG9zaW5nIGZpbGUgJyVzJyIKIG1zZ3N0ciAic3TDpG5nZXIgZmlsZW4gXCIlc1wiIgogCi0jOiBhcHBseS5jOjQ0MzYKKyM6IGFwcGx5LmM6NDQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAnJXMnIG1vZGUgJW8iCiBtc2dzdHIgImthbiBpbnRlIHNrcml2YSBmaWxlbiBcIiVzXCIgbMOkZ2UgJW8iCiAKLSM6IGFwcGx5LmM6NDUzNAorIzogYXBwbHkuYzo0NTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgcGF0Y2ggJXMgY2xlYW5seS4iCiBtc2dzdHIgIlRpbGzDpG1wYWRlIHBhdGNoZW4gJXMgcmVudC4iCiAKLSM6IGFwcGx5LmM6NDU0MgorIzogYXBwbHkuYzo0NTM3CiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IiCiBtc2dzdHIgImludGVybnQgZmVsIgogCi0jOiBhcHBseS5jOjQ1NDUKKyM6IGFwcGx5LmM6NDU0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3QuLi4iCiBtc2dpZF9wbHVyYWwgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdHMuLi4iCiBtc2dzdHJbMF0gIlRpbGzDpG1wYWRlIHBhdGNoZW4gJSVzIG1lZCAlZCByZWZ1c2VyYWQuLi4iCiBtc2dzdHJbMV0gIlRpbGzDpG1wYWRlIHBhdGNoZW4gJSVzIG1lZCAlZCByZWZ1c2VyYWRlLi4uIgogCi0jOiBhcHBseS5jOjQ1NTYKKyM6IGFwcGx5LmM6NDU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cnVuY2F0aW5nIC5yZWogZmlsZW5hbWUgdG8gJS4qcy5yZWoiCiBtc2dzdHIgInRydW5rZXJhciAucmVqLWZpbG5hbW5ldCB0aWxsICUuKnMucmVqIgogCi0jOiBhcHBseS5jOjQ1NjQgYnVpbHRpbi9mZXRjaC5jOjg0MyBidWlsdGluL2ZldGNoLmM6MTEyMgorIzogYXBwbHkuYzo0NTU5IGJ1aWx0aW4vZmV0Y2guYzo5MDEgYnVpbHRpbi9mZXRjaC5jOjExOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXMiCiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSAlcyIKIAotIzogYXBwbHkuYzo0NTc4CisjOiBhcHBseS5jOjQ1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKIG1zZ3N0ciAiU3R5Y2tlICVkIHRpbGzDpG1wYWRlcyByZW50LiIKIAotIzogYXBwbHkuYzo0NTgyCisjOiBhcHBseS5jOjQ1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVqZWN0ZWQgaHVuayAjJWQuIgogbXNnc3RyICJSZWZ1c2VyYXIgc3R5Y2tlICVkLiIKIAotIzogYXBwbHkuYzo0NjkyCisjOiBhcHBseS5jOjQ2OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBlZCBwYXRjaCAnJXMnLiIKIG1zZ3N0ciAiSWdub3JlcmFyIHBhdGNoIFwiJXNcIi4iCiAKLSM6IGFwcGx5LmM6NDcwMAorIzogYXBwbHkuYzo0NzA0CiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0IgogbXNnc3RyICJpbmRhdGEga8Okbm5zIGludGUgaWdlbiIKIAotIzogYXBwbHkuYzo0NzE5CisjOiBhcHBseS5jOjQ3MjQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgogbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBpbmRleGZpbGVuIgogCi0jOiBhcHBseS5jOjQ4NzQKKyM6IGFwcGx5LmM6NDg4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW4ndCBvcGVuIHBhdGNoICclcyc6ICVzIgogbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgcGF0Y2hlbiBcIiVzXCI6ICVzIgogCi0jOiBhcHBseS5jOjQ5MDEKKyM6IGFwcGx5LmM6NDkwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJzcXVlbGNoZWQgJWQgd2hpdGVzcGFjZSBlcnJvciIKIG1zZ2lkX3BsdXJhbCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3JzIgogbXNnc3RyWzBdICJ1bmRlcnRyeWNrdGUgJWQgZmVsIGkgYmxhbmtzdGVnIgogbXNnc3RyWzFdICJ1bmRlcnRyeWNrdGUgJWQgZmVsIGkgYmxhbmtzdGVnIgogCi0jOiBhcHBseS5jOjQ5MDcgYXBwbHkuYzo0OTIyCisjOiBhcHBseS5jOjQ5MTQgYXBwbHkuYzo0OTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkIGxpbmUgYWRkcyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFkZCB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dzdHJbMF0gIiVkIHJhZCBsw6RnZ2VyIHRpbGwgZmVsIGkgYmxhbmtzdGVnLiIKIG1zZ3N0clsxXSAiJWQgcmFkZXIgbMOkZ2dlciB0aWxsIGZlbCBpIGJsYW5rc3RlZy4iCiAKLSM6IGFwcGx5LmM6NDkxNQorIzogYXBwbHkuYzo0OTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkIGxpbmUgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dzdHJbMF0gIiVkIHJhZCBhcHBsaWNlcmFkZSBlZnRlciBhdHQgaGEgcsOkdHRhdCBmZWwgaSBibGFua3N0ZWcuIgogbXNnc3RyWzFdICIlZCByYWRlciBhcHBsaWNlcmFkZSBlZnRlciBhdHQgaGEgcsOkdHRhdCBmZWwgaSBibGFua3N0ZWcuIgogCi0jOiBhcHBseS5jOjQ5MzEgYnVpbHRpbi9hZGQuYzo1MzggYnVpbHRpbi9tdi5jOjMwMCBidWlsdGluL3JtLmM6Mzg5CisjOiBhcHBseS5jOjQ5MzggYnVpbHRpbi9hZGQuYzo1NzkgYnVpbHRpbi9tdi5jOjMwMSBidWlsdGluL3JtLmM6MzkwCiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJLdW5kZSBpbnRlIHNrcml2YSBueSBpbmRleGZpbCIKIAotIzogYXBwbHkuYzo0OTU4IGFwcGx5LmM6NDk2MSBidWlsdGluL2FtLmM6MjIwOSBidWlsdGluL2FtLmM6MjIxMgotIzogYnVpbHRpbi9jbG9uZS5jOjEyMSBidWlsdGluL2ZldGNoLmM6MTE4IGJ1aWx0aW4vbWVyZ2UuYzoyNjIKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA2Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2MiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2NQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NDYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NDkKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDg4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk3Ci1tc2dpZCAicGF0aCIKLW1zZ3N0ciAic8O2a3bDpGciCi0KLSM6IGFwcGx5LmM6NDk1OQorIzogYXBwbHkuYzo0OTY2CiBtc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKIG1zZ3N0ciAidGlsbMOkbXBhIGludGUgw6RuZHJpbmdhciBzb20gbW90c3ZhcmFyIGdpdmVuIHPDtmt2w6RnIgogCi0jOiBhcHBseS5jOjQ5NjIKKyM6IGFwcGx5LmM6NDk2OQogbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgInRpbGzDpG1wYSDDpG5kcmluZ2FyIHNvbSBtb3RzdmFyYXIgZ2l2ZW4gc8O2a3bDpGciCiAKLSM6IGFwcGx5LmM6NDk2NCBidWlsdGluL2FtLmM6MjIxOAorIzogYXBwbHkuYzo0OTcxIGJ1aWx0aW4vYW0uYzoyMjA2CiBtc2dpZCAibnVtIgogbXNnc3RyICJhbnRhbCIKIAotIzogYXBwbHkuYzo0OTY1CisjOiBhcHBseS5jOjQ5NzIKIG1zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKIG1zZ3N0ciAidGEgYm9ydCA8YW50YWw+IGlubGVkYW5kZSBzbmVkc3RyZWNrIGZyw6VuIHRyYWRpdGlvbmVsbGEgZGlmZi1zw7ZrdsOkZ2FyIgogCi0jOiBhcHBseS5jOjQ5NjgKKyM6IGFwcGx5LmM6NDk3NQogbXNnaWQgImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giCiBtc2dzdHIgImlnbm9yZXJhIHRpbGzDpGdnIGdqb3JkYSBhdiBwYXRjaGVuIgogCi0jOiBhcHBseS5jOjQ5NzAKKyM6IGFwcGx5LmM6NDk3NwogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKIG1zZ3N0ciAiaXN0w6RsbGV0IGbDtnIgYXR0IHRpbGzDpG1wYSBwYXRjaGVuLCBza3JpdiB1dCBkaWZmc3RhdCBmw7ZyIGluZGF0YSIKIAotIzogYXBwbHkuYzo0OTc0CisjOiBhcHBseS5jOjQ5ODEKIG1zZ2lkICJzaG93IG51bWJlciBvZiBhZGRlZCBhbmQgZGVsZXRlZCBsaW5lcyBpbiBkZWNpbWFsIG5vdGF0aW9uIgogbXNnc3RyICJ2aXNhIGFudGFsIHRpbGxhZ2RhIG9jaCBib3J0dGFnbmEgcmFkZXIgZGVjaW1hbHQiCiAKLSM6IGFwcGx5LmM6NDk3NgorIzogYXBwbHkuYzo0OTgzCiBtc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBhIHN1bW1hcnkgZm9yIHRoZSBpbnB1dCIKIG1zZ3N0ciAiaXN0w6RsbGV0IGbDtnIgYXR0IHRpbGzDpG1wYSBwYXRjaGVuLCBza3JpdiB1dCBlbiBzdW1tZXJpbmcgYXYgaW5kYXRhIgogCi0jOiBhcHBseS5jOjQ5NzgKKyM6IGFwcGx5LmM6NDk4NQogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCiBtc2dzdHIgImlzdMOkbGxldCBmw7ZyIGF0dCB0aWxsw6RtcGEgcGF0Y2hlbiwgc2Ugb20gcGF0Y2hlbiBrYW4gdGlsbMOkbXBhcyIKIAotIzogYXBwbHkuYzo0OTgwCisjOiBhcHBseS5jOjQ5ODcKIG1zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCiBtc2dzdHIgInNlIHRpbGwgYXR0IHBhdGNoZW4ga2FuIHRpbGzDpG1wYXMgcMOlIGFrdHVlbGx0IGluZGV4IgogCi0jOiBhcHBseS5jOjQ5ODIKKyM6IGFwcGx5LmM6NDk4OQogbXNnaWQgIm1hcmsgbmV3IGZpbGVzIHdpdGggYGdpdCBhZGQgLS1pbnRlbnQtdG8tYWRkYCIKIG1zZ3N0ciAibWFya2VyYSBueWEgZmlsZXIgbWVkIFwiZ2l0IGFkZCAtLWludGVudC10by1hZGRcIiIKIAotIzogYXBwbHkuYzo0OTg0CisjOiBhcHBseS5jOjQ5OTEKIG1zZ2lkICJhcHBseSBhIHBhdGNoIHdpdGhvdXQgdG91Y2hpbmcgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAidGlsbMOkbXBhIGVuIHBhdGNoIHV0YW4gYXR0IHLDtnJhIGFyYmV0c2thdGFsb2dlbiIKIAotIzogYXBwbHkuYzo0OTg2CisjOiBhcHBseS5jOjQ5OTMKIG1zZ2lkICJhY2NlcHQgYSBwYXRjaCB0aGF0IHRvdWNoZXMgb3V0c2lkZSB0aGUgd29ya2luZyBhcmVhIgogbXNnc3RyICJnb2R0YSBlbiBwYXRjaCBzb20gcsO2ciBmaWxlciB1dGFuZsO2ciBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGFwcGx5LmM6NDk4OQorIzogYXBwbHkuYzo0OTk2CiBtc2dpZCAiYWxzbyBhcHBseSB0aGUgcGF0Y2ggKHVzZSB3aXRoIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCiBtc2dzdHIgInRpbGzDpG1wYSBvY2tzw6UgcGF0Y2hlbiAoYW52w6RuZCBtZWQgLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKIAotIzogYXBwbHkuYzo0OTkxCisjOiBhcHBseS5jOjQ5OTgKIG1zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgogbXNnc3RyICJmw7Zyc8O2ayBlbiB0cmV2w6Rnc3NhbW1hbnNsYWduaW5nIG9tIHBhdGNoZW4gaW50ZSBrYW4gdGlsbMOkbXBhcyIKIAotIzogYXBwbHkuYzo0OTkzCisjOiBhcHBseS5jOjUwMDAKIG1zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiYnlnZyBldHQgdGVtcG9yw6RydCBpbmRleCBiYXNlcmF0IHDDpSBpbmJ5Z2dkIGluZGV4aW5mb3JtYXRpb24iCiAKLSM6IGFwcGx5LmM6NDk5NiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcwIGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjMKKyM6IGFwcGx5LmM6NTAwMyBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTczIGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjQKIG1zZ2lkICJwYXRocyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAic8O2a3bDpGdhciBhdmRlbGFzIG1lZCBOVUwtdGVja2VuIgogCi0jOiBhcHBseS5jOjQ5OTgKKyM6IGFwcGx5LmM6NTAwNQogbXNnaWQgImVuc3VyZSBhdCBsZWFzdCA8bj4gbGluZXMgb2YgY29udGV4dCBtYXRjaCIKIG1zZ3N0ciAic2UgdGlsbCBhdHQgw6V0bWluc3RvbmUgPG4+IHJhZGVyIHNhbW1hbmhhbmcgw6RyIGxpa2EiCiAKLSM6IGFwcGx5LmM6NDk5OSBidWlsdGluL2FtLmM6MjE5NyBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk3Ci0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk5IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAxCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTIgYnVpbHRpbi9yZWJhc2UuYzo4NTcKKyM6IGFwcGx5LmM6NTAwNiBidWlsdGluL2FtLmM6MjE4NSBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk4CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMCBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzEwIGJ1aWx0aW4vcmViYXNlLmM6MTQ3NAogbXNnaWQgImFjdGlvbiIKIG1zZ3N0ciAiw6V0Z8OkcmQiCiAKLSM6IGFwcGx5LmM6NTAwMAorIzogYXBwbHkuYzo1MDA3CiBtc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCiBtc2dzdHIgImRldGVrdGVyYSBueWEgZWxsZXIgw6RuZHJhZGUgcmFkZXIgc29tIGhhciBmZWwgaSBibGFua3RlY2tlbiIKIAotIzogYXBwbHkuYzo1MDAzIGFwcGx5LmM6NTAwNgorIzogYXBwbHkuYzo1MDEwIGFwcGx5LmM6NTAxMwogbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2Ugd2hlbiBmaW5kaW5nIGNvbnRleHQiCiBtc2dzdHIgImlnbm9yZXJhIMOkbmRyaW5nYXIgaSBibGFua3RlY2tlbiBmw7ZyIHNhbW1hbmhhbmciCiAKLSM6IGFwcGx5LmM6NTAwOQorIzogYXBwbHkuYzo1MDE2CiBtc2dpZCAiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiCiBtc2dzdHIgInRpbGzDpG1wYSBwYXRjaGVuIGJha2zDpG5nZXMiCiAKLSM6IGFwcGx5LmM6NTAxMQorIzogYXBwbHkuYzo1MDE4CiBtc2dpZCAiZG9uJ3QgZXhwZWN0IGF0IGxlYXN0IG9uZSBsaW5lIG9mIGNvbnRleHQiCiBtc2dzdHIgImbDtnJ2w6RudGEgaW50ZSBtaW5zdCBlbiByYWQgc2FtbWFuaGFuZyIKIAotIzogYXBwbHkuYzo1MDEzCisjOiBhcHBseS5jOjUwMjAKIG1zZ2lkICJsZWF2ZSB0aGUgcmVqZWN0ZWQgaHVua3MgaW4gY29ycmVzcG9uZGluZyAqLnJlaiBmaWxlcyIKIG1zZ3N0ciAibMOkbW5hIHJlZnVzZXJhZGUgc3R5Y2tlbiBpIG1vdHN2YXJhbmRlICoucmVqLWZpbGVyIgogCi0jOiBhcHBseS5jOjUwMTUKKyM6IGFwcGx5LmM6NTAyMgogbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgogbXNnc3RyICJ0aWxsw6V0IMO2dmVybGFwcGFuZGUgc3R5Y2tlbiIKIAotIzogYXBwbHkuYzo1MDE2IGJ1aWx0aW4vYWRkLmM6MjkwIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjEKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMwOSBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5OCBidWlsdGluL2ZzY2suYzo2OTgKLSM6IGJ1aWx0aW4vbG9nLmM6MjAyMyBidWlsdGluL212LmM6MTIyIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI3Ci0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTcKKyM6IGFwcGx5LmM6NTAyMyBidWlsdGluL2FkZC5jOjMwOSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIyCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTUgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTggYnVpbHRpbi9mc2NrLmM6Nzc0CisjOiBidWlsdGluL2xvZy5jOjIxNjYgYnVpbHRpbi9tdi5jOjEyMyBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAogbXNnaWQgImJlIHZlcmJvc2UiCiBtc2dzdHIgInZhciBwcmF0c2FtIgogCi0jOiBhcHBseS5jOjUwMTgKKyM6IGFwcGx5LmM6NTAyNQogbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgogbXNnc3RyICJ0b2xlcmVyYSBmZWxha3RpZ3QgZGV0ZWt0ZXJhZGUgc2FrbmFkZSBueXJhZHN0ZWNrZW4gdmlkIGZpbHNsdXQiCiAKLSM6IGFwcGx5LmM6NTAyMQorIzogYXBwbHkuYzo1MDI4CiBtc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgogbXNnc3RyICJsaXRlIGludGUgcMOlIGFudGFsZXQgbGluamVyIGkgc3R5Y2tlaHV2dWRlbiIKIAotIzogYXBwbHkuYzo1MDIzIGJ1aWx0aW4vYW0uYzoyMjA2CisjOiBhcHBseS5jOjUwMzAgYnVpbHRpbi9hbS5jOjIxOTQKIG1zZ2lkICJyb290IgogbXNnc3RyICJyb3QiCiAKLSM6IGFwcGx5LmM6NTAyNAorIzogYXBwbHkuYzo1MDMxCiBtc2dpZCAicHJlcGVuZCA8cm9vdD4gdG8gYWxsIGZpbGVuYW1lcyIKIG1zZ3N0ciAibMOkZ2cgdGlsbCA8cm90PiBpIGFsbGEgZmlsbmFtbiIKIApAQCAtNzY0LDE0OCArMTE5OCwxNjggQEAKIG1zZ2lkICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8cmVwbz4gWy0tZXhlYyA8Y21kPl0gLS1saXN0IgogbXNnc3RyICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8YXJraXY+IFstLWV4ZWMgPGttZD5dIC0tbGlzdCIKIAotIzogYXJjaGl2ZS5jOjM3MCBidWlsdGluL2FkZC5jOjE3NiBidWlsdGluL2FkZC5jOjUxNCBidWlsdGluL3JtLmM6Mjk4CisjOiBhcmNoaXZlLmM6MzcyIGJ1aWx0aW4vYWRkLmM6MTgwIGJ1aWx0aW4vYWRkLmM6NTU1IGJ1aWx0aW4vcm0uYzoyOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKIG1zZ3N0ciAic8O2a3bDpGdzYW5naXZlbHNlbiBcIiVzXCIgbW90c3ZhcmFkZSBpbnRlIG7DpWdyYSBmaWxlciIKIAotIzogYXJjaGl2ZS5jOjQ1MworIzogYXJjaGl2ZS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlZjogJS4qcyIKK21zZ3N0ciAiaW5nZW4gc8OlZGFuIHJlZmVyZW5zOiAlLipzIgorCisjOiBhcmNoaXZlLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAlcyIKK21zZ3N0ciAib2JqZWt0bmFtbmV0IMOkciBpbnRlIGdpbHRpZ3Q6ICVzIgorCisjOiBhcmNoaXZlLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHRyZWUgb2JqZWN0OiAlcyIKK21zZ3N0ciAiaW50ZSBldHQgdHLDpGRvYmpla3Q6ICVzIgorCisjOiBhcmNoaXZlLmM6NDI2Cittc2dpZCAiY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBpcyB1bnRyYWNrZWQiCittc2dzdHIgImFrdHVlbGwgYXJiZXRza2F0YWxvZyDDpHIgaW50ZSBzcMOlcmFkIgorCisjOiBhcmNoaXZlLmM6NDU3CiBtc2dpZCAiZm10IgogbXNnc3RyICJmbXQiCiAKLSM6IGFyY2hpdmUuYzo0NTMKKyM6IGFyY2hpdmUuYzo0NTcKIG1zZ2lkICJhcmNoaXZlIGZvcm1hdCIKIG1zZ3N0ciAiYXJraXZmb3JtYXQiCiAKLSM6IGFyY2hpdmUuYzo0NTQgYnVpbHRpbi9sb2cuYzoxNTM2CisjOiBhcmNoaXZlLmM6NDU4IGJ1aWx0aW4vbG9nLmM6MTY1MwogbXNnaWQgInByZWZpeCIKIG1zZ3N0ciAicHJlZml4IgogCi0jOiBhcmNoaXZlLmM6NDU1CisjOiBhcmNoaXZlLmM6NDU5CiBtc2dpZCAicHJlcGVuZCBwcmVmaXggdG8gZWFjaCBwYXRobmFtZSBpbiB0aGUgYXJjaGl2ZSIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBwcmVmaXggdGlsbCB2YXJqZSBzw7ZrdsOkZyBpIGFya2l2ZXQiCiAKLSM6IGFyY2hpdmUuYzo0NTYgYnVpbHRpbi9ibGFtZS5jOjgyMCBidWlsdGluL2JsYW1lLmM6ODIxIGJ1aWx0aW4vY29uZmlnLmM6MTI5Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxMyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxNSBidWlsdGluL2dyZXAuYzo4ODQKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDQgYnVpbHRpbi9scy1maWxlcy5jOjU1OSBidWlsdGluL2xzLWZpbGVzLmM6NTYyCi0jOiBidWlsdGluL25vdGVzLmM6NDEyIGJ1aWx0aW4vbm90ZXMuYzo1NzUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjIKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNjIKKyM6IGFyY2hpdmUuYzo0NjAgYnVpbHRpbi9ibGFtZS5jOjg2MSBidWlsdGluL2JsYW1lLmM6ODY1IGJ1aWx0aW4vYmxhbWUuYzo4NjYKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTcgYnVpbHRpbi9jb25maWcuYzoxMjkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY0IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY4IGJ1aWx0aW4vZ3JlcC5jOjg5OQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwNSBidWlsdGluL2xzLWZpbGVzLmM6NTYwIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTIgYnVpbHRpbi9ub3Rlcy5jOjU3OCBidWlsdGluL3JlYWQtdHJlZS5jOjEyMworIzogcGFyc2Utb3B0aW9ucy5oOjE5MAogbXNnaWQgImZpbGUiCiBtc2dzdHIgImZpbCIKIAotIzogYXJjaGl2ZS5jOjQ1NyBidWlsdGluL2FyY2hpdmUuYzo4OQorIzogYXJjaGl2ZS5jOjQ2MSBidWlsdGluL2FyY2hpdmUuYzo5MAogbXNnaWQgIndyaXRlIHRoZSBhcmNoaXZlIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAic2tyaXYgYXJraXZldCB0aWxsIGZpbGVuIgogCi0jOiBhcmNoaXZlLmM6NDU5CisjOiBhcmNoaXZlLmM6NDYzCiBtc2dpZCAicmVhZCAuZ2l0YXR0cmlidXRlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAibMOkcyAuZ2l0YXR0cmlidXRlcyBpIGFyYmV0c2thdGFsb2dlbiIKIAotIzogYXJjaGl2ZS5jOjQ2MAorIzogYXJjaGl2ZS5jOjQ2NAogbXNnaWQgInJlcG9ydCBhcmNoaXZlZCBmaWxlcyBvbiBzdGRlcnIiCiBtc2dzdHIgInJhcHBvcnRlcmEgYXJraXZlcmFkZSBmaWxlciBww6Ugc3RhbmRhcmQgZmVsIgogCi0jOiBhcmNoaXZlLmM6NDYxCisjOiBhcmNoaXZlLmM6NDY1CiBtc2dpZCAic3RvcmUgb25seSIKIG1zZ3N0ciAiZW5kYXN0IHNwYXJhIgogCi0jOiBhcmNoaXZlLmM6NDYyCisjOiBhcmNoaXZlLmM6NDY2CiBtc2dpZCAiY29tcHJlc3MgZmFzdGVyIgogbXNnc3RyICJrb21wcmltZXJhIHNuYWJiYXJlIgogCi0jOiBhcmNoaXZlLmM6NDcwCisjOiBhcmNoaXZlLmM6NDc0CiBtc2dpZCAiY29tcHJlc3MgYmV0dGVyIgogbXNnc3RyICJrb21wcmltZXJhIGLDpHR0cmUiCiAKLSM6IGFyY2hpdmUuYzo0NzMKKyM6IGFyY2hpdmUuYzo0NzcKIG1zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCiBtc2dzdHIgInZpc2EgdW5kZXJzdMO2ZGRhIGFya2l2Zm9ybWF0IgogCi0jOiBhcmNoaXZlLmM6NDc1IGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9jbG9uZS5jOjExNAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTUKKyM6IGFyY2hpdmUuYzo0NzkgYnVpbHRpbi9hcmNoaXZlLmM6OTEgYnVpbHRpbi9jbG9uZS5jOjExMyBidWlsdGluL2Nsb25lLmM6MTE2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NAogbXNnaWQgInJlcG8iCiBtc2dzdHIgImFya2l2IgogCi0jOiBhcmNoaXZlLmM6NDc2IGJ1aWx0aW4vYXJjaGl2ZS5jOjkxCisjOiBhcmNoaXZlLmM6NDgwIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyCiBtc2dpZCAicmV0cmlldmUgdGhlIGFyY2hpdmUgZnJvbSByZW1vdGUgcmVwb3NpdG9yeSA8cmVwbz4iCiBtc2dzdHIgImjDpG10YSBhcmtpdmV0IGZyw6VuIGZqw6RycmFya2l2ZXQgPGFya2l2PiIKIAotIzogYXJjaGl2ZS5jOjQ3NyBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL2RpZmZ0b29sLmM6NzE0Ci0jOiBidWlsdGluL25vdGVzLmM6NDk2CisjOiBhcmNoaXZlLmM6NDgxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkzIGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0OTgKIG1zZ2lkICJjb21tYW5kIgogbXNnc3RyICJrb21tYW5kbyIKIAotIzogYXJjaGl2ZS5jOjQ3OCBidWlsdGluL2FyY2hpdmUuYzo5MworIzogYXJjaGl2ZS5jOjQ4MiBidWlsdGluL2FyY2hpdmUuYzo5NAogbXNnaWQgInBhdGggdG8gdGhlIHJlbW90ZSBnaXQtdXBsb2FkLWFyY2hpdmUgY29tbWFuZCIKIG1zZ3N0ciAic8O2a3bDpGcgdGlsbCBrb21tYW5kb3QgZ2l0LXVwbG9hZC1hcmNoaXZlIHDDpSBmasOkcnJlbiIKIAotIzogYXJjaGl2ZS5jOjQ4NQorIzogYXJjaGl2ZS5jOjQ4OQogbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tcmVtb3RlIgogbXNnc3RyICJPdsOkbnRhZCBmbGFnZ2EgLS1yZW1vdGUiCiAKLSM6IGFyY2hpdmUuYzo0ODcKKyM6IGFyY2hpdmUuYzo0OTEKIG1zZ2lkICJPcHRpb24gLS1leGVjIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLXJlbW90ZSIKIG1zZ3N0ciAiRmxhZ2dhbiAtLWV4ZWMga2FuIGVuZGFzdCBhbnbDpG5kYXMgdGlsbHNhbW1hbnMgbWVkIC0tcmVtb3RlIgogCi0jOiBhcmNoaXZlLmM6NDg5CisjOiBhcmNoaXZlLmM6NDkzCiBtc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1vdXRwdXQiCiBtc2dzdHIgIk92w6RudGFkIGZsYWdnYSAtLW91dHB1dCIKIAotIzogYXJjaGl2ZS5jOjUxMQorIzogYXJjaGl2ZS5jOjUxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIGFyY2hpdmUgZm9ybWF0ICclcyciCiBtc2dzdHIgIk9rw6RudCBhcmtpdmZvcm1hdCBcIiVzXCIiCiAKLSM6IGFyY2hpdmUuYzo1MTgKKyM6IGFyY2hpdmUuYzo1MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXJndW1lbnQgbm90IHN1cHBvcnRlZCBmb3IgZm9ybWF0ICclcyc6IC0lZCIKIG1zZ3N0ciAiQXJndW1lbnRldCBzdMO2ZCBpbnRlIGbDtnIgZm9ybWF0ZXQgXCIlc1wiOiAtJWQiCiAKLSM6IGFyY2hpdmUtdGFyLmM6MTI1IGFyY2hpdmUtemlwLmM6MzQ1CisjOiBhcmNoaXZlLXRhci5jOjEyNSBhcmNoaXZlLXppcC5jOjM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RyZWFtIGJsb2IgJXMiCiBtc2dzdHIgImthbiBpbnRlIHN0csO2bW1hIGJsb2I6ZW4gJXMiCiAKLSM6IGFyY2hpdmUtdGFyLmM6MjYwIGFyY2hpdmUtemlwLmM6MzYzCisjOiBhcmNoaXZlLXRhci5jOjI2NiBhcmNoaXZlLXppcC5jOjM2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlIG1vZGU6IDAlbyAoU0hBMTogJXMpIgogbXNnc3RyICJmaWxlbnMgbMOkZ2Ugc3TDtmRzIGVqOiAwJW8gKFNIQTE6ICVzKSIKIAotIzogYXJjaGl2ZS10YXIuYzoyODcgYXJjaGl2ZS16aXAuYzozNTMKKyM6IGFyY2hpdmUtdGFyLmM6MjkzIGFyY2hpdmUtemlwLmM6MzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICVzIgogbXNnc3RyICJrYW4gaW50ZSBsw6RzYSAlcyIKIAotIzogYXJjaGl2ZS10YXIuYzo0NTgKKyM6IGFyY2hpdmUtdGFyLmM6NDY1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBzdGFydCAnJXMnIGZpbHRlciIKIG1zZ3N0ciAia3VuZGUgaW50ZSBzdGFydGEgZmlsdHJldCBcIiVzXCIiCiAKLSM6IGFyY2hpdmUtdGFyLmM6NDYxCisjOiBhcmNoaXZlLXRhci5jOjQ2OAogbXNnaWQgInVuYWJsZSB0byByZWRpcmVjdCBkZXNjcmlwdG9yIgogbXNnc3RyICJrYW4gaW50ZSBvbWRpcmlnZXJhIGhhbmR0YWciCiAKLSM6IGFyY2hpdmUtdGFyLmM6NDY4CisjOiBhcmNoaXZlLXRhci5jOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGZpbHRlciByZXBvcnRlZCBlcnJvciIKIG1zZ3N0ciAiZmlsdHJldCBcIiVzXCIgcmFwcG9ydGVyYWRlIGZlbCIKIAotIzogYXJjaGl2ZS16aXAuYzozMTQKKyM6IGFyY2hpdmUtemlwLmM6MzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggaXMgbm90IHZhbGlkIFVURi04OiAlcyIKIG1zZ3N0ciAic8O2a3bDpGdlbiDDpHIgaW50ZSBnaWx0aWcgVVRGLTg6ICVzIgogCi0jOiBhcmNoaXZlLXppcC5jOjMxOAorIzogYXJjaGl2ZS16aXAuYzozMjMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCB0b28gbG9uZyAoJWQgY2hhcnMsIFNIQTE6ICVzKTogJXMiCiBtc2dzdHIgInPDtmt2w6RnZW4gZsO2ciBsw6VuZyAoJWQgdGVja2VuLCBTSEExOiAlcyk6ICVzIgogCi0jOiBhcmNoaXZlLXppcC5jOjQ3NCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIyNCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIyNworIzogYXJjaGl2ZS16aXAuYzo0NzkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZSBlcnJvciAoJWQpIgogbXNnc3RyICJmZWwgaSBkZWZsYXRlICglZCkiCiAKLSM6IGFyY2hpdmUtemlwLmM6NjA5CisjOiBhcmNoaXZlLXppcC5jOjYxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aW1lc3RhbXAgdG9vIGxhcmdlIGZvciB0aGlzIHN5c3RlbTogJTxQUkl1TUFYPiIKIG1zZ3N0ciAidGlkc3N0w6RtcGVsbiBmw7ZyIHN0b3IgZsO2ciBkZXR0YSBzeXN0ZW06ICU8UFJJdU1BWD4iCkBAIC05MTUsNiArMTM2OSwxMSBAQAogbXNnaWQgIiUuKnMgaXMgbm90IGEgdmFsaWQgYXR0cmlidXRlIG5hbWUiCiBtc2dzdHIgIiUtKnMgw6RyIGludGUgZXR0IGdpbHRpZ3QgbmFtbiBww6UgYXR0cmlidXQiCiAKKyM6IGF0dHIuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFsbG93ZWQ6ICVzOiVkIgorbXNnc3RyICIlcyBpbnRlIHRpbGzDpXRldDogJXM6JWQiCisKICM6IGF0dHIuYzo0MDkKIG1zZ2lkICIiCiAiTmVnYXRpdmUgcGF0dGVybnMgYXJlIGlnbm9yZWQgaW4gZ2l0IGF0dHJpYnV0ZXNcbiIKQEAgLTkyOCwxNyArMTM4NywxNyBAQAogbXNnaWQgIkJhZGx5IHF1b3RlZCBjb250ZW50IGluIGZpbGUgJyVzJzogJXMiCiBtc2dzdHIgIkZlbGFrdGlndCBjaXRlcmF0IGlubmVow6VsbCBpIGZpbGVuIFwiJXNcIjogJXMiCiAKLSM6IGJpc2VjdC5jOjY3NgorIzogYmlzZWN0LmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIldlIGNhbm5vdCBiaXNlY3QgbW9yZSFcbiIKIG1zZ3N0ciAiRGV0IGZpbm5zIGludGUgbWVyIGF0dCBnw7ZyYSBcImJpc2VjdFwiIHDDpSFcbiIKIAotIzogYmlzZWN0LmM6NzMwCisjOiBiaXNlY3QuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgY29tbWl0IG5hbWUgJXMiCiBtc2dzdHIgIk5hbW5ldCBww6UgaW5jaGVja25pbmdlbiDDpHIgaW50ZSBnaWx0aWd0OiAlcyIKIAotIzogYmlzZWN0LmM6NzU0CisjOiBiaXNlY3QuYzo3NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBtZXJnZSBiYXNlICVzIGlzIGJhZC5cbiIKQEAgLTk0Nyw3ICsxNDA2LDcgQEAKICJTYW1tYW5zbGFnbmluZ3NiYXNlbiAlcyDDpHIgdHJhc2lnLlxuIgogIkRldCBiZXR5ZGVyIGF0dCBmZWxldCBoYXIgcsOkdHRhdHMgbWVsbGFuICVzIG9jaCBbJXNdLlxuIgogCi0jOiBiaXNlY3QuYzo3NTkKKyM6IGJpc2VjdC5jOjc2MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIG1lcmdlIGJhc2UgJXMgaXMgbmV3LlxuIgpAQCAtOTU2LDcgKzE0MTUsNyBAQAogIlNhbW1hbnNsYWduaW5nc2Jhc2VuICVzIMOkciBueS5cbiIKICJFZ2Vuc2thcGVuIGhhciDDpG5kcmF0cyBtZWxsYW4gJXMgb2NoIFslc10uXG4iCiAKLSM6IGJpc2VjdC5jOjc2NAorIzogYmlzZWN0LmM6NzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbWVyZ2UgYmFzZSAlcyBpcyAlcy5cbiIKQEAgLTk2NSw3ICsxNDI0LDcgQEAKICJTYW1tYW5zbGFnbmluZ3NiYXNlbiAlcyDDpHIgJXMuXG4iCiAiRGV0IGJldHlkZXIgYXR0IGRlbiBmw7Zyc3RhIFwiJXNcIiBpbmNoZWNrbmluZ2VuIMOkciBtZWxsYW4gJXMgb2NoIFslc10uXG4iCiAKLSM6IGJpc2VjdC5jOjc3MgorIzogYmlzZWN0LmM6Nzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTb21lICVzIHJldnMgYXJlIG5vdCBhbmNlc3RvcnMgb2YgdGhlICVzIHJldi5cbiIKQEAgLTk3Niw3ICsxNDM1LDcgQEAKICJnaXQgYmlzZWN0IGthbiBpbnRlIGZ1bmdlcmEga29ycmVrdCBpIGRldHRhIGZhbGwuXG4iCiAiS2Fuc2tlIGR1IHNrcmV2IGZlbCAlcy0gb2NoICVzLXJldmlzaW9uZXI/XG4iCiAKLSM6IGJpc2VjdC5jOjc4NQorIzogYmlzZWN0LmM6Nzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ0aGUgbWVyZ2UgYmFzZSBiZXR3ZWVuICVzIGFuZCBbJXNdIG11c3QgYmUgc2tpcHBlZC5cbiIKQEAgLTk4OCwyMiArMTQ0NywyMiBAQAogIiVzLlxuIgogIlZpIGZvcnRzw6R0dGVyIMOkbmTDpS4iCiAKLSM6IGJpc2VjdC5jOjgxOAorIzogYmlzZWN0LmM6ODIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJpc2VjdGluZzogYSBtZXJnZSBiYXNlIG11c3QgYmUgdGVzdGVkXG4iCiBtc2dzdHIgIkJpc2VjdDogZW4gc2FtbWFuc2xhZ25pbmdzYmFzIG3DpXN0ZSB0ZXN0YXNcbiIKIAotIzogYmlzZWN0LmM6ODU4CisjOiBiaXNlY3QuYzo4NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCiBtc2dzdHIgImVuICVzLXJldmlzaW9uIGJlaMO2dnMiCiAKLSM6IGJpc2VjdC5jOjg3NyBidWlsdGluL25vdGVzLmM6MTc3IGJ1aWx0aW4vdGFnLmM6MjM3CisjOiBiaXNlY3QuYzo4ODQgYnVpbHRpbi9ub3Rlcy5jOjE3NyBidWlsdGluL3RhZy5jOjI1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSBmaWxlbiBcIiVzXCIiCiAKLSM6IGJpc2VjdC5jOjkyOCBidWlsdGluL21lcmdlLmM6MTM4CisjOiBiaXNlY3QuYzo5MjggYnVpbHRpbi9tZXJnZS5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBmaWxlICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgZmlsZW4gXCIlc1wiIgpAQCAtMTA0Myw0NiArMTUwMiw0NiBAQAogbXNnc3RyWzBdICJCaXNlY3Q6ICVkIHJldmlzaW9uIGt2YXIgYXR0IHRlc3RhIGVmdGVyIGRlbm5hICVzXG4iCiBtc2dzdHJbMV0gIkJpc2VjdDogJWQgcmV2aXNpb25lciBrdmFyIGF0dCB0ZXN0YSBlZnRlciBkZW5uYSAlc1xuIgogCi0jOiBibGFtZS5jOjE3ODcKKyM6IGJsYW1lLmM6MjcwMAogbXNnaWQgIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iCiBtc2dzdHIgIi0tY29udGVudHMgb2NoIC0tcmV2ZXJzZSBmdW5nZXJhciBpbnRlIHPDpSBicmEgdGlsbHNhbW1hbnMuIgogCi0jOiBibGFtZS5jOjE4MDEKKyM6IGJsYW1lLmM6MjcxNAogbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKIG1zZ3N0ciAia2FuIGludGUgYW52w6RuZGEgLS1jb250ZW50cyBtZWQgbmFtbiBww6Ugc2x1dGdpbHRpZ3QgaW5jaGVja25pbmdzb2JqZWt0IgogCi0jOiBibGFtZS5jOjE4MjIKKyM6IGJsYW1lLmM6MjczNQogbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKIG1zZ3N0ciAiIgogIi0tcmV2ZXJzZSBvY2ggLS1maXJzdC1wYXJlbnQgdGlsbHNhbW1hbnMga3LDpHZlciBhdHQgZHUgYW5nZXIgc2VuYXN0ZSAiCiAiaW5jaGVja25pbmdlbiIKIAotIzogYmxhbWUuYzoxODMxIGJ1bmRsZS5jOjE2MiByZWYtZmlsdGVyLmM6MjA0NiBzZXF1ZW5jZXIuYzoxOTYzCi0jOiBzZXF1ZW5jZXIuYzo0MDAyIGJ1aWx0aW4vY29tbWl0LmM6MTAwMSBidWlsdGluL2xvZy5jOjM3NyBidWlsdGluL2xvZy5jOjkzMgotIzogYnVpbHRpbi9sb2cuYzoxNDA3IGJ1aWx0aW4vbG9nLmM6MTc4MyBidWlsdGluL2xvZy5jOjIwNzIgYnVpbHRpbi9tZXJnZS5jOjQwNgotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTM3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE1MgorIzogYmxhbWUuYzoyNzQ0IGJ1bmRsZS5jOjE2NyByZWYtZmlsdGVyLmM6MjIwMyByZW1vdGUuYzoxOTQxIHNlcXVlbmNlci5jOjIwOTMKKyM6IHNlcXVlbmNlci5jOjQ0NjAgYnVpbHRpbi9jb21taXQuYzoxMDQwIGJ1aWx0aW4vbG9nLmM6Mzg4IGJ1aWx0aW4vbG9nLmM6OTkxCisjOiBidWlsdGluL2xvZy5jOjE1MjAgYnVpbHRpbi9sb2cuYzoxOTI1IGJ1aWx0aW4vbG9nLmM6MjIxNSBidWlsdGluL21lcmdlLmM6NDExCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMjggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTQzCiAjOiBidWlsdGluL3Nob3J0bG9nLmM6MTkyCiBtc2dpZCAicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBza2FwYSByZXZpc2lvbnN0cmF2ZXJzZXJpbmciCiAKLSM6IGJsYW1lLmM6MTg0OQorIzogYmxhbWUuYzoyNzYyCiBtc2dpZCAiIgogIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHJhbmdlIGFsb25nIGZpcnN0LXBhcmVudCBjaGFpbiIKIG1zZ3N0ciAiIgogIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCB0aWxsc2FtbWFucyBrcsOkdmVyIGV0dCBpbnRlcnZhbGwgcMOlIGbDtnJzdGEtZsO2csOkbGRlci0iCiAia2VkamFuIgogCi0jOiBibGFtZS5jOjE4NjAKKyM6IGJsYW1lLmM6Mjc3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIHBhdGggJXMgaW4gJXMiCiBtc2dzdHIgInPDtmt2w6RnZW4gJXMgaSAlcyBmaW5ucyBpbnRlIgogCi0jOiBibGFtZS5jOjE4NzEKKyM6IGJsYW1lLmM6Mjc4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgogbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBvYmpla3RldCAlcyBmw7ZyIHPDtmt2w6RnZW4gJXMiCiAKLSM6IGJyYW5jaC5jOjUyCisjOiBicmFuY2guYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xMDk1LDkyICsxNTU0LDkyIEBACiAiZmrDpHJyc3DDpXJuaW5nc2luZm9ybWF0aW9uZW4gZ2Vub20gYXR0IHV0ZsO2cmFcbiIKICJcImdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG89JXMlcyVzXCIuIgogCi0jOiBicmFuY2guYzo2NgorIzogYnJhbmNoLmM6NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IHNldHRpbmcgYnJhbmNoICVzIGFzIGl0cyBvd24gdXBzdHJlYW0uIgogbXNnc3RyICJTdMOkbGxlciBpbnRlIGluIGdyZW5lbiAlcyBzb20gc2luIGVnZW4gdXBwc3Ryw7Ztc2dyZW4uIgogCi0jOiBicmFuY2guYzo5MgorIzogYnJhbmNoLmM6OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJyVzJyBmcm9tICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICIiCiAiR3JlbmVuICVzIHN0w6RsbGRlcyBpbiBhdHQgc3DDpXJhIGZqw6RycmdyZW5lbiBcIiVzXCIgZnLDpW4gXCIlc1wiIGdlbm9tICIKICJvbWJhc2VyaW5nLiIKIAotIzogYnJhbmNoLmM6OTMKKyM6IGJyYW5jaC5jOjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgYnJhbmNoICclcycgZnJvbSAnJXMnLiIKIG1zZ3N0ciAiR3JlbmVuICVzIHN0w6RsbGRlcyBpbiBhdHQgc3DDpXJhIGZqw6RycmdyZW5lbiBcIiVzXCIgZnLDpW4gXCIlc1wiLiIKIAotIzogYnJhbmNoLmM6OTcKKyM6IGJyYW5jaC5jOjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayBsb2NhbCBicmFuY2ggJyVzJyBieSByZWJhc2luZy4iCiBtc2dzdHIgIiIKICJHcmVuZW4gXCIlc1wiIHN0w6RsbGRlcyBpbiBhdHQgc3DDpXJhIGRlbiBsb2thbGEgZ3JlbmVuIFwiJXNcIiAgZ2Vub20gIgogIm9tYmFzZXJpbmcuIgogCi0jOiBicmFuY2guYzo5OAorIzogYnJhbmNoLmM6OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAiR3JlbmVuIFwiJXNcIiBzdMOkbGxkZXMgaW4gYXR0IHNww6VyYSBkZW4gbG9rYWxhIGdyZW5lbiBcIiVzXCIuIgogCi0jOiBicmFuY2guYzoxMDMKKyM6IGJyYW5jaC5jOjEwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgcmVtb3RlIHJlZiAnJXMnIGJ5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiIgogIkdyZW5lbiBcIiVzXCIgc3TDpGxsZGVzIGluIGF0dCBzcMOlcmEgZmrDpHJyZWZlcmVuc2VuIFwiJXNcIiBnZW5vbSBvbWJhc2VyaW5nLiIKIAotIzogYnJhbmNoLmM6MTA0CisjOiBicmFuY2guYzoxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSByZWYgJyVzJy4iCiBtc2dzdHIgIkdyZW5lbiBcIiVzXCIgc3TDpGxsZGVzIGluIGF0dCBzcMOlcmEgZmrDpHJyZWZlcmVuc2VuIFwiJXNcIi4iCiAKLSM6IGJyYW5jaC5jOjEwOAorIzogYnJhbmNoLmM6MTA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayBsb2NhbCByZWYgJyVzJyBieSByZWJhc2luZy4iCiBtc2dzdHIgIiIKICJHcmVuZW4gXCIlc1wiIHN0w6RsbGRlcyBpbiBhdHQgc3DDpXJhIGRlbiBsb2thbGEgcmVmZXJlbnNlbiBcIiVzXCIgZ2Vub20gIgogIm9tYmFzZXJpbmcuIgogCi0jOiBicmFuY2guYzoxMDkKKyM6IGJyYW5jaC5jOjExMAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgcmVmICclcycuIgogbXNnc3RyICJHcmVuZW4gXCIlc1wiIHN0w6RsbGRlcyBpbiBhdHQgc3DDpXJhIGRlbiBsb2thbGEgcmVmZXJlbnNlbiBcIiVzXCIuIgogCi0jOiBicmFuY2guYzoxMTgKKyM6IGJyYW5jaC5jOjExOQogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB1cHN0cmVhbSBicmFuY2ggY29uZmlndXJhdGlvbiIKIG1zZ3N0ciAiS2FuIGludGUgc2tyaXZhIGluc3TDpGxsbmluZ2FyIGbDtnIgdXBwc3Ryw7Ztc2dyZW4iCiAKLSM6IGJyYW5jaC5jOjE1NQorIzogYnJhbmNoLmM6MTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCB0cmFja2luZzogYW1iaWd1b3VzIGluZm9ybWF0aW9uIGZvciByZWYgJXMiCiBtc2dzdHIgIlNww6VyYXIgaW50ZTogdHZldHlkaWcgaW5mb3JtYXRpb24gZsO2ciByZWZlcmVuc2VuICVzIgogCi0jOiBicmFuY2guYzoxODgKKyM6IGJyYW5jaC5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIGJyYW5jaCBuYW1lLiIKIG1zZ3N0ciAiXCIlc1wiIMOkciBpbnRlIGV0dCBnaWx0aWd0IGdyZW5uYW1uLiIKIAotIzogYnJhbmNoLmM6MjA3CisjOiBicmFuY2guYzoyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQSBicmFuY2ggbmFtZWQgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCi1tc2dzdHIgIkRldCBmaW5ucyByZWRhbiBlbiBncmVuIHNvbSBoZXRlciDigJ0lc+KAnS4iCittc2dzdHIgIkRldCBmaW5ucyByZWRhbiBlbiBncmVuIHNvbSBoZXRlciBcIiVzXCIuIgogCi0jOiBicmFuY2guYzoyMTIKKyM6IGJyYW5jaC5jOjIxMwogbXNnaWQgIkNhbm5vdCBmb3JjZSB1cGRhdGUgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiS2FuIGludGUgdHZpbmdhIHVwcGRhdGVyaW5nIGF2IGFrdHVlbGwgZ3Jlbi4iCiAKLSM6IGJyYW5jaC5jOjIzMgorIzogYnJhbmNoLmM6MjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBzZXR1cCB0cmFja2luZyBpbmZvcm1hdGlvbjsgc3RhcnRpbmcgcG9pbnQgJyVzJyBpcyBub3QgYSBicmFuY2guIgogbXNnc3RyICJLYW4gaW50ZSBzdMOkbGxhIGluIHNww6VybmluZzsgc3RhcnRwdW5rdGVuIFwiJXNcIiDDpHIgaW50ZSBlbiBncmVuLiIKIAotIzogYnJhbmNoLmM6MjM0CisjOiBicmFuY2guYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHJlcXVlc3RlZCB1cHN0cmVhbSBicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiZGVuIGVmdGVyZnLDpWdhZGUgdXBwc3Ryw7Ztc2dyZW5lbiBcIiVzXCIgZmlubnMgaW50ZSIKIAotIzogYnJhbmNoLmM6MjM2CisjOiBicmFuY2guYzoyMzcKIG1zZ2lkICIiCiAiXG4iCiAiSWYgeW91IGFyZSBwbGFubmluZyBvbiBiYXNpbmcgeW91ciB3b3JrIG9uIGFuIHVwc3RyZWFtXG4iCkBAIC0xMjAwLDI3ICsxNjU5LDI3IEBACiAic3DDpXJhIGRlc3MgZmrDpHJybW90c3ZhcmlnaGV0IGthbiBkdSBhbnbDpG5kYSBcImdpdCBwdXNoIC11XCJcbiIKICJmw7ZyIGF0dCBzdMOkbGxhIGluIHVwcHN0csO2bXNrb25maWd1cmF0aW9uZW4gbsOkciBkdSBzw6RuZGVyIGluLiIKIAotIzogYnJhbmNoLmM6Mjc5CisjOiBicmFuY2guYzoyODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICJPYmpla3RuYW1uZXQgw6RyIGludGUgZ2lsdGlndDogXCIlc1wiLiIKIAotIzogYnJhbmNoLmM6Mjk5CisjOiBicmFuY2guYzozMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQW1iaWd1b3VzIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAiT2JqZWt0bmFtbmV0IMOkciB0dmV0eWRpZ3Q6IFwiJXNcIi4iCiAKLSM6IGJyYW5jaC5jOjMwNAorIzogYnJhbmNoLmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIGJyYW5jaCBwb2ludDogJyVzJy4iCi1tc2dzdHIgIkF2Z3JlbmluZ3NwdW5rdGVuIMOkciBpbnRlIGdpbHRpZzog4oCdJXPigJ0uIgorbXNnc3RyICJBdmdyZW5pbmdzcHVua3RlbiDDpHIgaW50ZSBnaWx0aWc6IFwiJXNcIi4iCiAKLSM6IGJyYW5jaC5jOjM1OAorIzogYnJhbmNoLmM6MzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBjaGVja2VkIG91dCBhdCAnJXMnIgogbXNnc3RyICJcIiVzXCIgw6RyIHJlZGFuIHV0Y2hlY2thZCBww6UgXCIlc1wiIgogCi0jOiBicmFuY2guYzozODEKKyM6IGJyYW5jaC5jOjM4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJIRUFEIG9mIHdvcmtpbmcgdHJlZSAlcyBpcyBub3QgdXBkYXRlZCIKIG1zZ3N0ciAiSEVBRCBpIGFyYmV0c2thdGFsb2dlbiAlcyBoYXIgaW50ZSB1cHBkYXRlcmF0cyIKQEAgLTEyMzUsNzAgKzE2OTQsNzQgQEAKIG1zZ2lkICJ1bnJlY29nbml6ZWQgaGVhZGVyOiAlcyVzICglZCkiCiBtc2dzdHIgIm9rw6RudCBodXZ1ZDogJXMlcyAoJWQpIgogCi0jOiBidW5kbGUuYzo5MCByZXJlcmUuYzo0ODAgcmVyZXJlLmM6NjkwIHNlcXVlbmNlci5jOjIxODIgc2VxdWVuY2VyLmM6MjcyMgotIzogYnVpbHRpbi9jb21taXQuYzo3NzQKKyM6IGJ1bmRsZS5jOjkwIHJlcmVyZS5jOjQ4MCByZXJlcmUuYzo2OTAgc2VxdWVuY2VyLmM6MjM0NCBzZXF1ZW5jZXIuYzozMTA4CisjOiBidWlsdGluL2NvbW1pdC5jOjgxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIMO2cHBuYSBcIiVzXCIiCiAKLSM6IGJ1bmRsZS5jOjE0MQorIzogYnVuZGxlLmM6MTQzCiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyB0aGVzZSBwcmVyZXF1aXNpdGUgY29tbWl0czoiCiBtc2dzdHIgIkFya2l2ZXQgc2FrbmFyIGRlc3NhIG7DtmR2w6RuZGlnYSBpbmNoZWNrbmluZ2FyOiIKIAotIzogYnVuZGxlLmM6MTkyCisjOiBidW5kbGUuYzoxNDYKK21zZ2lkICJuZWVkIGEgcmVwb3NpdG9yeSB0byB2ZXJpZnkgYSBidW5kbGUiCittc2dzdHIgImJlaMO2dmVyIGV0dCBhcmtpdiBmw7ZyIGF0dCB2ZXJpZmllcmEgZXR0IHBha2V0IChidW5kbGUpLiIKKworIzogYnVuZGxlLmM6MTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBidW5kbGUgY29udGFpbnMgdGhpcyByZWY6IgogbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoZXNlICVkIHJlZnM6IgogbXNnc3RyWzBdICJQYWtldGV0IChidW5kbGVuKSBpbm5laMOlbGxlciBkZW5uYSByZWZlcmVuczoiCiBtc2dzdHJbMV0gIlBha2V0ZXQgKGJ1bmRsZW4pIGlubmVow6VsbGVyIGRlc3NhICVkIHJlZmVyZW5zZXI6IgogCi0jOiBidW5kbGUuYzoxOTkKKyM6IGJ1bmRsZS5jOjIwNAogbXNnaWQgIlRoZSBidW5kbGUgcmVjb3JkcyBhIGNvbXBsZXRlIGhpc3RvcnkuIgogbXNnc3RyICJQYWtldGV0IChidW5kbGVuKSBiZXNrcml2ZXIgZW4ga29tcGxldHQgaGlzdG9yaWsuIgogCi0jOiBidW5kbGUuYzoyMDEKKyM6IGJ1bmRsZS5jOjIwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoaXMgcmVmOiIKIG1zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGVzZSAlZCByZWZzOiIKIG1zZ3N0clswXSAiUGFrZXRldCAoYnVuZGxlbikga3LDpHZlciBkZW5uYSByZWZlcmVuczoiCiBtc2dzdHJbMV0gIlBha2V0ZXQgKGJ1bmRsZW4pIGtyw6R2ZXIgZGVzc2EgJWQgcmVmZXJlbnNlcjoiCiAKLSM6IGJ1bmRsZS5jOjI2NworIzogYnVuZGxlLmM6MjczCiBtc2dpZCAidW5hYmxlIHRvIGR1cCBidW5kbGUgZGVzY3JpcHRvciIKIG1zZ3N0ciAia2FuIGludGUgZHVwbGljZXJhIHBha2V0aGFuZHRhZyIKIAotIzogYnVuZGxlLmM6Mjc0CisjOiBidW5kbGUuYzoyODAKIG1zZ2lkICJDb3VsZCBub3Qgc3Bhd24gcGFjay1vYmplY3RzIgogbXNnc3RyICJLdW5kZSBpbnRlIHN0YXJ0YSBwYWNrLW9iamVjdHMiCiAKLSM6IGJ1bmRsZS5jOjI4NQorIzogYnVuZGxlLmM6MjkxCiBtc2dpZCAicGFjay1vYmplY3RzIGRpZWQiCiBtc2dzdHIgInBhY2stb2JqZWN0cyBtaXNzbHlja2FkZXMiCiAKLSM6IGJ1bmRsZS5jOjMyNworIzogYnVuZGxlLmM6MzMzCiBtc2dpZCAicmV2LWxpc3QgZGllZCIKIG1zZ3N0ciAicmV2LWxpc3QgZG9nIgogCi0jOiBidW5kbGUuYzozNzYKKyM6IGJ1bmRsZS5jOjM4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKIG1zZ3N0ciAicmVmZXJlbnNlbiBcIiVzXCIgZXhrbHVkZXJhcyBhdiBhcmd1bWVudGVuIHRpbGwgcmV2LWxpc3QiCiAKLSM6IGJ1bmRsZS5jOjQ1NiBidWlsdGluL2xvZy5jOjE5MiBidWlsdGluL2xvZy5jOjE2ODggYnVpbHRpbi9zaG9ydGxvZy5jOjMwNAorIzogYnVuZGxlLmM6NDYxIGJ1aWx0aW4vbG9nLmM6MjAzIGJ1aWx0aW4vbG9nLmM6MTgxNCBidWlsdGluL3Nob3J0bG9nLmM6MzA2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgIm9rw6RudCBhcmd1bWVudDogJXMiCiAKLSM6IGJ1bmRsZS5jOjQ2NAorIzogYnVuZGxlLmM6NDY5CiBtc2dpZCAiUmVmdXNpbmcgdG8gY3JlYXRlIGVtcHR5IGJ1bmRsZS4iCiBtc2dzdHIgIlbDpGdyYXIgc2thcGEgZXR0IHRvbXQgcGFrZXQgKGJ1bmRsZSkuIgogCi0jOiBidW5kbGUuYzo0NzQKKyM6IGJ1bmRsZS5jOjQ3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlICclcyciCiBtc2dzdHIgImthbiBpbnRlIHNrYXBhIFwiJXNcIiIKIAotIzogYnVuZGxlLmM6NDk4CisjOiBidW5kbGUuYzo1MDQKIG1zZ2lkICJpbmRleC1wYWNrIGRpZWQiCiBtc2dzdHIgImluZGV4LXBhY2sgZG9nIgogCkBAIC0xMzA3LDE0ICsxNzcwLDEzIEBACiBtc2dpZCAiaW52YWxpZCBjb2xvciB2YWx1ZTogJS4qcyIKIG1zZ3N0ciAiZmVsYWt0aWd0IGbDpHJndsOkcmRlOiAlLipzIgogCi0jOiBjb21taXQuYzo1MCBzZXF1ZW5jZXIuYzoyNTI4IGJ1aWx0aW4vYW0uYzozNzAgYnVpbHRpbi9hbS5jOjQxNAotIzogYnVpbHRpbi9hbS5jOjEzOTAgYnVpbHRpbi9hbS5jOjIwMjUgYnVpbHRpbi9yZXBsYWNlLmM6Mzc2Ci0jOiBidWlsdGluL3JlcGxhY2UuYzo0NDgKKyM6IGNvbW1pdC5jOjUxIHNlcXVlbmNlci5jOjI4MTEgYnVpbHRpbi9hbS5jOjM1NCBidWlsdGluL2FtLmM6Mzk4CisjOiBidWlsdGluL2FtLmM6MTM2NiBidWlsdGluL2FtLmM6MjAwOSBidWlsdGluL3JlcGxhY2UuYzo0NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthICVzIgogCi0jOiBjb21taXQuYzo1MgorIzogY29tbWl0LmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiJXMgJXMgw6RyIGludGUgZW4gaW5jaGVja25pbmchIgpAQCAtMTMzOSwyOSArMTgwMSwyOSBAQAogIlNsw6UgYXYgZGV0dGEgbWVkZGVsYW5kZSBnZW5vbSBhdHQgc2tyaXZhXG4iCiAiXCJnaXQgY29uZmlnIGFkdmljZS5ncmFmdEZpbGVEZXByZWNhdGVkIGZhbHNlXCIiCiAKLSM6IGNvbW1pdC5jOjExMTUKKyM6IGNvbW1pdC5jOjExNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSwgYWxsZWdlZGx5IGJ5ICVzLiIKIG1zZ3N0ciAiIgogIkluY2hlY2tuaW5nZW4gJXMgaGFyIGVuIG9iZXRyb2RkIEdQRy1zaWduYXR1ciBzb20gcMOlc3TDpXMgdmFyYSBnam9yZCBhdiAlcy4iCiAKLSM6IGNvbW1pdC5jOjExMTgKKyM6IGNvbW1pdC5jOjExNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGJhZCBHUEcgc2lnbmF0dXJlIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIiIKICJJbmNoZWNrbmluZ2VuICVzIGhhciBlbiBmZWxha3RpZyBHUEctc2lnbmF0dXIgc29tIHDDpXN0w6VzIHZhcmEgZ2pvcmQgYXYgJXMuIgogCi0jOiBjb21taXQuYzoxMTIxCisjOiBjb21taXQuYzoxMTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIGEgR1BHIHNpZ25hdHVyZS4iCiBtc2dzdHIgIkluY2hlY2tuaW5nICVzIGhhciBpbnRlIG7DpWdvbiBHUEctc2lnbmF0dXIuIgogCi0jOiBjb21taXQuYzoxMTI0CisjOiBjb21taXQuYzoxMTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBnb29kIEdQRyBzaWduYXR1cmUgYnkgJXNcbiIKIG1zZ3N0ciAiSW5jaGVja25pbmdlbiAlcyBoYXIgZW4ga29ycmVrdCBHUEctc2lnbmF0dXIgYXYgJXNcbiIKIAotIzogY29tbWl0LmM6MTM3OAorIzogY29tbWl0LmM6MTQxNQogbXNnaWQgIiIKICJXYXJuaW5nOiBjb21taXQgbWVzc2FnZSBkaWQgbm90IGNvbmZvcm0gdG8gVVRGLTguXG4iCiAiWW91IG1heSB3YW50IHRvIGFtZW5kIGl0IGFmdGVyIGZpeGluZyB0aGUgbWVzc2FnZSwgb3Igc2V0IHRoZSBjb25maWdcbiIKQEAgLTEzNzEsOTYgKzE4MzMsMjc0IEBACiAiVXBwZGF0ZXJhIGRldCBlZnRlciBhdHQgaGEgcsOkdHRhdCBtZWRkZWxhbmRldCwgZWxsZXIgw6RuZHJhIHZhcmlhYmVsblxuIgogImkxOG4uY29tbWl0ZW5jb2RpbmcgdGlsbCBkZW4gdGVja2Vua29kbmluZyBzb20gYW52w6RuZHMgaSBkaXR0IHByb2pla3QuXG4iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEwOAotIywgYy1mb3JtYXQKLW1zZ2lkICJncmFwaCBmaWxlICVzIGlzIHRvbyBzbWFsbCIKLW1zZ3N0ciAiZ3JhZmZpbGVuICVzIMOkciBmw7ZyIGxpdGVuIgorIzogY29tbWl0LWdyYXBoLmM6MTMwCittc2dpZCAiY29tbWl0LWdyYXBoIGZpbGUgaXMgdG9vIHNtYWxsIgorbXNnc3RyICJpbmNoZWNrbmluZ3NncmFmZmlsZW4gJXMgw6RyIGbDtnIgbGl0ZW4iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjExNQorIzogY29tbWl0LWdyYXBoLmM6MTk1CiAjLCBjLWZvcm1hdAotbXNnaWQgImdyYXBoIHNpZ25hdHVyZSAlWCBkb2VzIG5vdCBtYXRjaCBzaWduYXR1cmUgJVgiCi1tc2dzdHIgImdyYWZzaWduYXR1cmVuICVYIHN0w6RtbWVyIGludGUgbWVkIHNpZ25hdHVyZW4gJVgiCittc2dpZCAiY29tbWl0LWdyYXBoIHNpZ25hdHVyZSAlWCBkb2VzIG5vdCBtYXRjaCBzaWduYXR1cmUgJVgiCittc2dzdHIgImluY2hlY2tuaW5nc2dyYWZlbnMgc2lnbmF0dXIgJVggc3TDpG1tZXIgaW50ZSBtZWQgc2lnbmF0dXJlbiAlWCIKIAotIzogY29tbWl0LWdyYXBoLmM6MTIyCisjOiBjb21taXQtZ3JhcGguYzoyMDIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZ3JhcGggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIgotbXNnc3RyICJncmFmdmVyc2lvbmVuICVYIHN0w6RtbWVyIGludGUgbWVkIHZlcnNpb25lbiAlWCIKK21zZ2lkICJjb21taXQtZ3JhcGggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIgorbXNnc3RyICJpbmNoZWNrbmluZ3NncmFmZW5zIHZlcnNpb24gJVggc3TDpG1tZXIgaW50ZSBtZWQgdmVyc2lvbmVuICVYIgogCi0jOiBjb21taXQtZ3JhcGguYzoxMjkKKyM6IGNvbW1pdC1ncmFwaC5jOjIwOQogIywgYy1mb3JtYXQKLW1zZ2lkICJoYXNoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKLW1zZ3N0ciAiaGFzaC12ZXJzaW9uZW4gJVggc3TDpG1tZXIgaW50ZSBtZWQgdmVyc2lvbmVuICVYIgorbXNnaWQgImNvbW1pdC1ncmFwaCBoYXNoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKK21zZ3N0ciAiaW5jaGVja25pbmdzZ3JhZmVucyBoYXNodmVyc2lvbiAlWCBzdMOkbW1lciBpbnRlIG1lZCB2ZXJzaW9uZW4gJVgiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjE1MworIzogY29tbWl0LWdyYXBoLmM6MjMyCittc2dpZCAiY29tbWl0LWdyYXBoIGNodW5rIGxvb2t1cCB0YWJsZSBlbnRyeSBtaXNzaW5nOyBmaWxlIG1heSBiZSBpbmNvbXBsZXRlIgorbXNnc3RyICIiCisiaW5jaGVja25pbmdzZ3JhZmVuIHNha25hciBwb3N0IGkgc3R5Y2tldXBwc2xhZ25pbmdzdGFiZWxsOyBmaWxlbiBrYW4gdmFyYSAiCisib2Z1bGxzdMOkbmRpZyIKKworIzogY29tbWl0LWdyYXBoLmM6MjQzCiAjLCBjLWZvcm1hdAotbXNnaWQgImltcHJvcGVyIGNodW5rIG9mZnNldCAlMDh4JTA4eCIKLW1zZ3N0ciAiZmVsYWt0aWd0IG9mZnNldCBmw7ZyIHN0eWNrZSAlMDh4JTA4eCIKK21zZ2lkICJjb21taXQtZ3JhcGggaW1wcm9wZXIgY2h1bmsgb2Zmc2V0ICUwOHglMDh4IgorbXNnc3RyICJmZWxha3RpZ3Qgb2Zmc2V0IGbDtnIgc3R5Y2tlICUwOHglMDh4IGkgaW5jaGVja25pbmdzZ3JhZmZpbGVuIgogCi0jOiBjb21taXQtZ3JhcGguYzoxODkKKyM6IGNvbW1pdC1ncmFwaC5jOjI4NgogIywgYy1mb3JtYXQKLW1zZ2lkICJjaHVuayBpZCAlMDh4IGFwcGVhcnMgbXVsdGlwbGUgdGltZXMiCi1tc2dzdHIgInN0eWNrZS1pZCAlMDh4IGbDtnJla29tbWVyIGZsZXJhIGfDpW5nZXIiCittc2dpZCAiY29tbWl0LWdyYXBoIGNodW5rIGlkICUwOHggYXBwZWFycyBtdWx0aXBsZSB0aW1lcyIKK21zZ3N0ciAiaW5jaGVja25pbmdzZ3JhZmVucyBzdHlja2UtaWQgJTA4eCBmw7ZyZWtvbW1lciBmbGVyYSBnw6VuZ2VyIgogCi0jOiBjb21taXQtZ3JhcGguYzozMDgKKyM6IGNvbW1pdC1ncmFwaC5jOjM1MAorbXNnaWQgImNvbW1pdC1ncmFwaCBoYXMgbm8gYmFzZSBncmFwaHMgY2h1bmsiCittc2dzdHIgImluY2hlY2tuaW5nc2dyYWZlbiBoYXIgaW5nYSBiYXMtZ3JhZi1zdHlja2VuIgorCisjOiBjb21taXQtZ3JhcGguYzozNjAKK21zZ2lkICJjb21taXQtZ3JhcGggY2hhaW4gZG9lcyBub3QgbWF0Y2giCittc2dzdHIgImluY2hlY2tuaW5nc2dyYWZlbnMga2VkamEgc3TDpG1tZXIgaW50ZSIKKworIzogY29tbWl0LWdyYXBoLmM6NDA3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29tbWl0LWdyYXBoIGNoYWluOiBsaW5lICclcycgbm90IGEgaGFzaCIKK21zZ3N0ciAib2dpbHRpZyBpbmNoZWNraW5nc2dyYWZrZWRqYTogcmFkIFwiJXNcIiDDpHIgaW50ZSBldHQgaGFzaC12w6RyZGUiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjQzMworbXNnaWQgInVuYWJsZSB0byBmaW5kIGFsbCBjb21taXQtZ3JhcGggZmlsZXMiCittc2dzdHIgImthbiBpbnRlIGhpdHRhIGFsbGEgaW5jaGVja2luZ3NncmFmZmlsZXIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjU2NCBjb21taXQtZ3JhcGguYzo2MjQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdCBwb3NpdGlvbi4gY29tbWl0LWdyYXBoIGlzIGxpa2VseSBjb3JydXB0IgorbXNnc3RyICJvZ2lsdGlnIGluY2hlY2tuaW5nc3Bvc2l0aW9uLiBpbmNoZWNrbmluZ3NncmFmZW4gw6RyIHRyb2xpZ3R2aXMgdHJhc2lnIgorCisjOiBjb21taXQtZ3JhcGguYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGZpbmQgY29tbWl0ICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIGhpdHRhIGluY2hlY2tuaW5nZW4gJXMiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjYxNyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTIKKyM6IGNvbW1pdC1ncmFwaC5jOjg1OCBidWlsdGluL2FtLmM6MTI4NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0ICVzIgorbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIGluY2hlY2tuaW5nZW4gJXMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEwMTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBnZXQgdHlwZSBvZiBvYmplY3QgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgaMOkbXRhIHR5cCBmw7ZyIG9iamVrdGV0ICVzIgogCi0jOiBjb21taXQtZ3JhcGguYzo2NTEKLW1zZ2lkICJBbm5vdGF0aW5nIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgotbXNnc3RyICJEZWtvcmVyYXIgaW5jaGVja25pbmdhciBpIGluY2hlY2tuaW5nc2dyYWYiCisjOiBjb21taXQtZ3JhcGguYzoxMDQ5Cittc2dpZCAiTG9hZGluZyBrbm93biBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAiTMOkc2VyIGluIGvDpG5kYSBpbmNoZWNrbmluZ2FyIGkgaW5jaGVja25pbmdzZ3JhZiIKIAotIzogY29tbWl0LWdyYXBoLmM6NjkxCisjOiBjb21taXQtZ3JhcGguYzoxMDY2Cittc2dpZCAiRXhwYW5kaW5nIHJlYWNoYWJsZSBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAiRXhwYW5kZXJhciBuw6ViYXJhIGluY2hlY2tuaW5nYXIgaSBpbmNoZWNrbmluZ3NncmFmIgorCisjOiBjb21taXQtZ3JhcGguYzoxMDg1Cittc2dpZCAiQ2xlYXJpbmcgY29tbWl0IG1hcmtzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAiUmVuc2FyIGluY2hlY2tuaW5nc23DpHJrZW4gaSBpbmNoZWNrbmluZ3NncmFmIgorCisjOiBjb21taXQtZ3JhcGguYzoxMTA0CiBtc2dpZCAiQ29tcHV0aW5nIGNvbW1pdCBncmFwaCBnZW5lcmF0aW9uIG51bWJlcnMiCiBtc2dzdHIgIkJlcsOka25hciBnZW5lcmF0aW9uc3bDpHJkZW4gZsO2ciBpbmNoZWNrbmluZ3NncmFmIgogCi0jOiBjb21taXQtZ3JhcGguYzo4MDMgY29tbWl0LWdyYXBoLmM6ODI2IGNvbW1pdC1ncmFwaC5jOjg1MgotbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIgotbXNnc3RyICJTw7ZrZXIgaW5jaGVja25pbmdhciBmw7ZyIGluY2hlY2tpbmdzZ3JhZiIKKyM6IGNvbW1pdC1ncmFwaC5jOjExNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGggaW4gJWQgcGFjayIKK21zZ2lkX3BsdXJhbCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGggaW4gJWQgcGFja3MiCittc2dzdHJbMF0gIlPDtmtlciBpbmNoZWNrbmluZ2FyIGbDtnIgaW5jaGVja2luZ3NncmFmIGkgJWQgcGFrZXQiCittc2dzdHJbMV0gIlPDtmtlciBpbmNoZWNrbmluZ2FyIGbDtnIgaW5jaGVja2luZ3NncmFmIGkgJWQgcGFrZXQiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjgxMgorIzogY29tbWl0LWdyYXBoLmM6MTE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBhZGRpbmcgcGFjayAlcyIKIG1zZ3N0ciAiZmVsIHZpZCB0aWxsw6RnZyBhdiBwYWtldGV0ICVzIgogCi0jOiBjb21taXQtZ3JhcGguYzo4MTQKKyM6IGNvbW1pdC1ncmFwaC5jOjExOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3Igb3BlbmluZyBpbmRleCBmb3IgJXMiCiBtc2dzdHIgImZlbCB2aWQgw7ZwcG5pbmcgYXYgaW5kZXhldCBmw7ZyICVzIgogCi0jOiBjb21taXQtZ3JhcGguYzo4NjgKKyM6IGNvbW1pdC1ncmFwaC5jOjEyMjAKICMsIGMtZm9ybWF0Ci1tc2dpZCAidGhlIGNvbW1pdCBncmFwaCBmb3JtYXQgY2Fubm90IHdyaXRlICVkIGNvbW1pdHMiCi1tc2dzdHIgImZvcm1hdGV0IHDDpSBpbmNoZWNrbmluZ3NncmFmZW4ga2FuIGludGUgdmlzYSAlZCBpbmNoZWNrbmluZ2FyIgorbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGZyb20gJWQgcmVmIgorbXNnaWRfcGx1cmFsICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBmcm9tICVkIHJlZnMiCittc2dzdHJbMF0gIlPDtmtlciBpbmNoZWNrbmluZ2FyIGbDtnIgaW5jaGVja2luZ3NncmFmIGZyw6VuICVkIHJlZmVyZW5zIgorbXNnc3RyWzFdICJTw7ZrZXIgaW5jaGVja25pbmdhciBmw7ZyIGluY2hlY2tpbmdzZ3JhZiBmcsOlbiAlZCByZWZlcmVuc2VyIgogCi0jOiBjb21taXQtZ3JhcGguYzo4OTUKLW1zZ2lkICJ0b28gbWFueSBjb21taXRzIHRvIHdyaXRlIGdyYXBoIgotbXNnc3RyICJmw7ZyIG3DpW5nYSBpbmNoZWNrbmluZ2FyIGbDtnIgYXR0IHNrcml2YSBncmFmIgorIzogY29tbWl0LWdyYXBoLmM6MTI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdCBvYmplY3QgaWQ6ICVzIgorbXNnc3RyICJvZ2lsdGlndCBpbmNoZWNrbmluZ3Mtb2JqZWt0LWlkICVzIgogCi0jOiBjb21taXQtZ3JhcGguYzo5MDIgbWlkeC5jOjc2OQorIzogY29tbWl0LWdyYXBoLmM6MTI1NQorbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGFtb25nIHBhY2tlZCBvYmplY3RzIgorbXNnc3RyICJTw7ZrZXIgaW5jaGVja25pbmdhciBmw7ZyIGluY2hlY2tpbmdzZ3JhZiBpIHBhY2thZGUgb2JqZWt0IgorCisjOiBjb21taXQtZ3JhcGguYzoxMjcwCittc2dpZCAiQ291bnRpbmcgZGlzdGluY3QgY29tbWl0cyBpbiBjb21taXQgZ3JhcGgiCittc2dzdHIgIlLDpGtuYXIgb2xpa2EgaW5jaGVja25pbmdhciBpIGluY2hlY2tuaW5nc2dyYWYiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEzMDAKK21zZ2lkICJGaW5kaW5nIGV4dHJhIGVkZ2VzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAiU8O2a2VyIHl0dGVybGlnYXJlIGthbnRlciBpIGluY2hlY2tpbmdzZ3JhZiIKKworIzogY29tbWl0LWdyYXBoLmM6MTM0NgorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBjb3JyZWN0IG51bWJlciBvZiBiYXNlIGdyYXBoIGlkcyIKK21zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEga29ycmVrdCBhbnRhbCBiYXMtZ3JhZi1pZDpuIgorCisjOiBjb21taXQtZ3JhcGguYzoxMzc5IG1pZHguYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrYXBhIGlubGVkYW5kZSBrYXRhbG9nZXIgZsO2ciAlcyIKIAotIzogY29tbWl0LWdyYXBoLmM6MTAwMgorIzogY29tbWl0LWdyYXBoLmM6MTM5MSBidWlsdGluL2luZGV4LXBhY2suYzozMDYgYnVpbHRpbi9yZXBhY2suYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgorbXNnc3RyICJrdW5kZSBpbnRlIHNrYXBhIFwiJXNcIiIKKworIzogY29tbWl0LWdyYXBoLmM6MTQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0aW5nIG91dCBjb21taXQgZ3JhcGggaW4gJWQgcGFzcyIKK21zZ2lkX3BsdXJhbCAiV3JpdGluZyBvdXQgY29tbWl0IGdyYXBoIGluICVkIHBhc3NlcyIKK21zZ3N0clswXSAiU2tyaXZlciB1dCBpbmNoZWNrbmluZ3NncmFmIGkgJWQgcGFzcyIKK21zZ3N0clsxXSAiU2tyaXZlciB1dCBpbmNoZWNrbmluZ3NncmFmIGkgJWQgcGFzcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTQ5MgorbXNnaWQgInVuYWJsZSB0byBvcGVuIGNvbW1pdC1ncmFwaCBjaGFpbiBmaWxlIgorbXNnc3RyICJLdW5kZSBpbnRlIMO2cHBuYSBpbmNoZWNrbmluZ3NncmFma2VkamVmaWxlbiIKKworIzogY29tbWl0LWdyYXBoLmM6MTUwNAorbXNnaWQgImZhaWxlZCB0byByZW5hbWUgYmFzZSBjb21taXQtZ3JhcGggZmlsZSIKK21zZ3N0ciAia3VuZGUgaW50ZSBieXRhIG5hbW4gcMOlIGJhcy1pbmNoZWNraW5nc2dyYWZmaWxlbiIKKworIzogY29tbWl0LWdyYXBoLmM6MTUyNAorbXNnaWQgImZhaWxlZCB0byByZW5hbWUgdGVtcG9yYXJ5IGNvbW1pdC1ncmFwaCBmaWxlIgorbXNnc3RyICJrdW5kZSBpbnRlIGJ5dGEgbmFtbiBww6UgdGVtcG9yw6RyIGluY2hlY2tuaW5nc2dyYWZmaWwiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE2MzUKK21zZ2lkICJTY2FubmluZyBtZXJnZWQgY29tbWl0cyIKK21zZ3N0ciAiU8O2a2VyIHNhbW1hbnNsYWduYSBpbmNoZWNrbmluZ2FyIgorCisjOiBjb21taXQtZ3JhcGguYzoxNjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZHVwbGljYXRlIGNvbW1pdCBpZCAlcyIKK21zZ3N0ciAib3bDpG50YXQgZHVwbGljZXJhdCBpbmNoZWNrbmluZ3MtaWQgJXMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE2NzAKK21zZ2lkICJNZXJnaW5nIGNvbW1pdC1ncmFwaCIKK21zZ3N0ciAiU2zDpXIgaWhvcCBpbmNoZWNrbmluZ3NncmFmIgorCisjOiBjb21taXQtZ3JhcGguYzoxODYwCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBjb21taXQgZ3JhcGggZm9ybWF0IGNhbm5vdCB3cml0ZSAlZCBjb21taXRzIgorbXNnc3RyICJmb3JtYXRldCBww6UgaW5jaGVja25pbmdzZ3JhZmVuIGthbiBpbnRlIHZpc2EgJWQgaW5jaGVja25pbmdhciIKKworIzogY29tbWl0LWdyYXBoLmM6MTg3MQorbXNnaWQgInRvbyBtYW55IGNvbW1pdHMgdG8gd3JpdGUgZ3JhcGgiCittc2dzdHIgImbDtnIgbcOlbmdhIGluY2hlY2tuaW5nYXIgZsO2ciBhdHQgc2tyaXZhIGdyYWYiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE5NjEKIG1zZ2lkICJ0aGUgY29tbWl0LWdyYXBoIGZpbGUgaGFzIGluY29ycmVjdCBjaGVja3N1bSBhbmQgaXMgbGlrZWx5IGNvcnJ1cHQiCiBtc2dzdHIgIiIKICJmaWxlbiBtZWQgaW5jaGVja25pbmdzZ3JhZiBoYXIgZmVsYWt0aWcgY2hlY2tzdW1tYSBvY2ggw6RyIHRyb2xpZ3R2aXMgdHJhc2lnIgogCi0jOiBjb21taXQtZ3JhcGguYzoxMDQ2Ci1tc2dpZCAiVmVyaWZ5aW5nIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgotbXNnc3RyICJCZWtyw6RmdGFyIGluY2hlY2tuaW5nYXIgaSBpbmNoZWNrbmluZ3NncmFmIgorIzogY29tbWl0LWdyYXBoLmM6MTk3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggaGFzIGluY29ycmVjdCBPSUQgb3JkZXI6ICVzIHRoZW4gJXMiCittc2dzdHIgImluY2hlY2tuaW5nc2dyYWZlbiBoYXIgZmVsYWt0aWcgT0lELW9yZG5pbmc6ICVzIHPDpSAlcyIKIAotIzogY29tcGF0L29ic3RhY2suYzo0MDUgY29tcGF0L29ic3RhY2suYzo0MDcKKyM6IGNvbW1pdC1ncmFwaC5jOjE5ODEgY29tbWl0LWdyYXBoLmM6MTk5NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggaGFzIGluY29ycmVjdCBmYW5vdXQgdmFsdWU6IGZhbm91dFslZF0gPSAldSAhPSAldSIKK21zZ3N0ciAiIgorImluY2hlY2tuaW5nc2dyYWZlbiBoYXIgZmVsYWt0aWcgdXRicmVkbmluZ3N2w6RyZGU6IGZhbm91dFslZF0gPSAldSAhPSAldSIKKworIzogY29tbWl0LWdyYXBoLmM6MTk4OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29tbWl0ICVzIGZyb20gY29tbWl0LWdyYXBoIgorbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIGluY2hlY2tuaW5nICVzIGZyw6VuIGluY2hlY2tuaW5nc2dyYWYiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwMDYKK21zZ2lkICJWZXJpZnlpbmcgY29tbWl0cyBpbiBjb21taXQgZ3JhcGgiCittc2dzdHIgIkJla3LDpGZ0YXIgaW5jaGVja25pbmdhciBpIGluY2hlY2tuaW5nc2dyYWZlbiIKKworIzogY29tbWl0LWdyYXBoLmM6MjAyMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29tbWl0ICVzIGZyb20gb2JqZWN0IGRhdGFiYXNlIGZvciBjb21taXQtZ3JhcGgiCittc2dzdHIgIiIKKyJtaXNzbHlja2FkZXMgdG9sa2EgaW5jaGVja25pbmcgJXMgZnLDpW4gb2JqZWt0ZGF0YWJhc2VuIGbDtnIgaW5jaGVja25pbmdzZ3JhZiIKKworIzogY29tbWl0LWdyYXBoLmM6MjAyNworIywgYy1mb3JtYXQKK21zZ2lkICJyb290IHRyZWUgT0lEIGZvciBjb21taXQgJXMgaW4gY29tbWl0LWdyYXBoIGlzICVzICE9ICVzIgorbXNnc3RyICJyb3QtdHLDpGRldHMgT0lEIGbDtnIgaW5jaGVja25pbmdlbiAlcyBpIGluY2hlY2tuaW5nc2dyYWZlbiDDpHIgJXMgIT0gJXMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIHBhcmVudCBsaXN0IGZvciBjb21taXQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgImluY2hlY2tuaW5nc2dyYWZlbnMgZsO2csOkbGRyYWxpc3RhIGbDtnIgaW5jaGVja25pbmdlbiAlcyDDpHIgZsO2ciBsw6VuZyIKKworIzogY29tbWl0LWdyYXBoLmM6MjA0NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggcGFyZW50IGZvciAlcyBpcyAlcyAhPSAlcyIKK21zZ3N0ciAiaW5jaGVja25pbmdzZ3JhZmVucyBmw7Zyw6RsZGVyIGbDtnIgJXMgw6RyICVzICE9ICVzIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDU5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBwYXJlbnQgbGlzdCBmb3IgY29tbWl0ICVzIHRlcm1pbmF0ZXMgZWFybHkiCittc2dzdHIgIiIKKyJpbmNoZWNrbmluZ3NncmFmZW5zIGbDtnLDpGxkcmFsaXN0YSBmw7ZyIGluY2hlY2tuaW5nZW4gJXMgYXZzbHV0YXMgZsO2ciB0aWRpZ3QiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvbW1pdC1ncmFwaCBoYXMgZ2VuZXJhdGlvbiBudW1iZXIgemVybyBmb3IgY29tbWl0ICVzLCBidXQgbm9uLXplcm8gZWxzZXdoZXJlIgorbXNnc3RyICIiCisiaW5jaGVja25pbmdzZ3JhZmVuIGhhciBnZW5lcmF0aW9uc251bW1lciBub2xsIGbDtnIgaW5jaGVja25pbmdlbiAlcywgbWVuIGlja2UtIgorIm5vbGwgcMOlIGFubmFuIHBsYXRzIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb21taXQtZ3JhcGggaGFzIG5vbi16ZXJvIGdlbmVyYXRpb24gbnVtYmVyIGZvciBjb21taXQgJXMsIGJ1dCB6ZXJvIGVsc2V3aGVyZSIKK21zZ3N0ciAiIgorImluY2hlY2tuaW5nc2dyYWZlbiBoYXIgZ2VuZXJhdGlvbnNudW1tZXIgc2tpbHQgZnLDpW4gbm9sbCBmw7ZyIGluY2hlY2tuaW5nZW4gIgorIiVzLCBtZW4gbm9sbCBww6UgYW5uYW4gcGxhdHMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIGdlbmVyYXRpb24gZm9yIGNvbW1pdCAlcyBpcyAldSAhPSAldSIKK21zZ3N0ciAiaW5jaGVja25pbmdzZ3JhZmVucyBnZW5lcmF0aW9uIGbDtnIgaW5jaGVja25pbmdlbiAlcyDDpHIgJXUgIT0gJXUiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0IGRhdGUgZm9yIGNvbW1pdCAlcyBpbiBjb21taXQtZ3JhcGggaXMgJTxQUkl1TUFYPiAhPSAlPFBSSXVNQVg+IgorbXNnc3RyICIiCisiaW5jaGVja25pbmdzZGF0dW1ldCBmw7ZyIGluY2hlY2tuaW5nZW4gJXMgaSBpbmNoZWNrbmluZ3NncmFmZW4gw6RyICU8UFJJdU1BWD4gISIKKyI9ICU8UFJJdU1BWD4iCisKKyM6IGNvbXBhdC9vYnN0YWNrLmM6NDA2IGNvbXBhdC9vYnN0YWNrLmM6NDA4CiBtc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKIG1zZ3N0ciAibWlubmV0IHNsdXQiCiAKLSM6IGNvbmZpZy5jOjEyMworIzogY29uZmlnLmM6MTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleGNlZWRlZCBtYXhpbXVtIGluY2x1ZGUgZGVwdGggKCVkKSB3aGlsZSBpbmNsdWRpbmdcbiIKQEAgLTE0NzUsMzAyICsyMTE1LDI5NiBAQAogIlx0JXNcbiIKICJEZXQga2FuIGJlcm8gcMOlIGNpcmt1bMOkcmEgaW5rbHVkZXJpbmdhci4iCiAKLSM6IGNvbmZpZy5jOjEzOQorIzogY29uZmlnLmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBleHBhbmQgaW5jbHVkZSBwYXRoICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgZXhwYW5kZXJhIGlua2x1ZGVyaW5nc3PDtmt2w6RnIFwiJXNcIiIKIAotIzogY29uZmlnLmM6MTUwCisjOiBjb25maWcuYzoxNTEKIG1zZ2lkICJyZWxhdGl2ZSBjb25maWcgaW5jbHVkZXMgbXVzdCBjb21lIGZyb20gZmlsZXMiCiBtc2dzdHIgInJlbGF0aXZhIGtvbmZpZ3VyZXJpbmdzaW5rbHVkZXJpbmdhciBtw6VzdGUga29tbWEgZnLDpW4gZmlsZXIiCiAKLSM6IGNvbmZpZy5jOjE5MAorIzogY29uZmlnLmM6MTk3CiBtc2dpZCAicmVsYXRpdmUgY29uZmlnIGluY2x1ZGUgY29uZGl0aW9uYWxzIG11c3QgY29tZSBmcm9tIGZpbGVzIgogbXNnc3RyICJyZWxhdGl2YSBrb25maWd1cmVyaW5nc2lua2x1ZGVyaW5nc3ZpbGxrb3IgbcOlc3RlIGtvbW1hIGZyw6VuIGZpbGVyIgogCi0jOiBjb25maWcuYzozNDgKKyM6IGNvbmZpZy5jOjM3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJrZXkgZG9lcyBub3QgY29udGFpbiBhIHNlY3Rpb246ICVzIgogbXNnc3RyICJueWNrZWxuIGlubmVow6VsbGVyIGludGUgZXR0IHN0eWNrZTogJXMiCiAKLSM6IGNvbmZpZy5jOjM1NAorIzogY29uZmlnLmM6MzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImtleSBkb2VzIG5vdCBjb250YWluIHZhcmlhYmxlIG5hbWU6ICVzIgogbXNnc3RyICJueWNrZWxuIGlubmVow6VsbGVyIGludGUgdmFyaWFiZWxuYW1uOiAlcyIKIAotIzogY29uZmlnLmM6Mzc4IHNlcXVlbmNlci5jOjIyOTYKKyM6IGNvbmZpZy5jOjQwNiBzZXF1ZW5jZXIuYzoyNTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQga2V5OiAlcyIKIG1zZ3N0ciAiZmVsYWt0aWcgbnlja2VsOiAlcyIKIAotIzogY29uZmlnLmM6Mzg0CisjOiBjb25maWcuYzo0MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXkgKG5ld2xpbmUpOiAlcyIKIG1zZ3N0ciAib2dpbHRpZyBueWNrZWwgKG55cmFkc3RlY2tlbik6ICVzIgogCi0jOiBjb25maWcuYzo0MjAgY29uZmlnLmM6NDMyCisjOiBjb25maWcuYzo0NDggY29uZmlnLmM6NDYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJvZ3VzIGNvbmZpZyBwYXJhbWV0ZXI6ICVzIgogbXNnc3RyICJmYWxzayBrb25maWd1cmVyaW5nc3BhcmFtZXRlcjogJXMiCiAKLSM6IGNvbmZpZy5jOjQ2NworIzogY29uZmlnLmM6NDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJvZ3VzIGZvcm1hdCBpbiAlcyIKIG1zZ3N0ciAiZmVsYWt0aWd0IGZvcm1hdCBpICVzIgogCi0jOiBjb25maWcuYzo3OTMKKyM6IGNvbmZpZy5jOjgyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gYmxvYiAlcyIKIG1zZ3N0ciAiZmVsYWt0aWcga29uZmlndXJhdGlvbnNmaWwgcmFkICVkIGkgYmxvYjplbiAlcyIKIAotIzogY29uZmlnLmM6Nzk3CisjOiBjb25maWcuYzo4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGZpbGUgJXMiCiBtc2dzdHIgImZlbGFrdGlnIGtvbmZpZ3VyYXRpb25zZmlsIHJhZCAlZCBpIGZpbGVuICVzIgogCi0jOiBjb25maWcuYzo4MDEKKyM6IGNvbmZpZy5jOjgyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImZlbGFrdGlnIGtvbmZpZ3VyYXRpb25zZmlsIHJhZCAlZCBpIHN0YW5kYXJkIGluIgogCi0jOiBjb25maWcuYzo4MDUKKyM6IGNvbmZpZy5jOjgzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3VibW9kdWxlLWJsb2IgJXMiCiBtc2dzdHIgImZlbGFrdGlnIGtvbmZpZ3VyYXRpb25zZmlsIHJhZCAlZCBpIHVuZGVybW9kdWxzLWJsb2I6ZW4gJXMiCiAKLSM6IGNvbmZpZy5jOjgwOQorIzogY29uZmlnLmM6ODM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBjb21tYW5kIGxpbmUgJXMiCiBtc2dzdHIgImZlbGFrdGlnIGtvbmZpZ3VyYXRpb25zZmlsIHJhZCAlZCBpIGtvbW1hbmRvcmFkZW4gJXMiCiAKLSM6IGNvbmZpZy5jOjgxMworIzogY29uZmlnLmM6ODQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyIKIG1zZ3N0ciAiZmVsYWt0aWcga29uZmlndXJhdGlvbnNmaWwgcmFkICVkIGkgJXMiCiAKLSM6IGNvbmZpZy5jOjk1MgorIzogY29uZmlnLmM6OTc4CiBtc2dpZCAib3V0IG9mIHJhbmdlIgogbXNnc3RyICJ1dGFuZsO2ciBpbnRlcnZhbGxldCIKIAotIzogY29uZmlnLmM6OTUyCisjOiBjb25maWcuYzo5NzgKIG1zZ2lkICJpbnZhbGlkIHVuaXQiCiBtc2dzdHIgIm9naWx0aWcgZW5oZXQiCiAKLSM6IGNvbmZpZy5jOjk1OAorIzogY29uZmlnLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIKIG1zZ3N0ciAiZmVsYWt0aWd0IG51bWVyaXNrdCBrb25maWd1cmF0aW9uc3bDpHJkZSBcIiVzXCIgZsO2ciBcIiVzXCI6ICVzIgogCi0jOiBjb25maWcuYzo5NjMKKyM6IGNvbmZpZy5jOjk5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBibG9iICVzOiAlcyIKIG1zZ3N0ciAiIgogImZlbGFrdGlndCBudW1lcmlza3Qga29uZmlndXJhdGlvbnN2w6RyZGUgXCIlc1wiIGbDtnIgXCIlc1wiIGkgYmxvYjplbiAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjk2NgorIzogY29uZmlnLmM6MTAwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBmaWxlICVzOiAlcyIKIG1zZ3N0ciAiIgogImZlbGFrdGlndCBudW1lcmlza3Qga29uZmlndXJhdGlvbnN2w6RyZGUgXCIlc1wiIGbDtnIgXCIlc1wiIGkgZmlsZW4gJXM6ICVzIgogCi0jOiBjb25maWcuYzo5NjkKKyM6IGNvbmZpZy5jOjEwMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3RhbmRhcmQgaW5wdXQ6ICVzIgogbXNnc3RyICIiCiAiZmVsYWt0aWd0IG51bWVyaXNrdCBrb25maWd1cmF0aW9uc3bDpHJkZSBcIiVzXCIgZsO2ciBcIiVzXCIgaSBzdGFuZGFyZCBpbjogJXMiCiAKLSM6IGNvbmZpZy5jOjk3MgorIzogY29uZmlnLmM6MTAwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBzdWJtb2R1bGUtYmxvYiAlczogJXMiCiBtc2dzdHIgIiIKICJmZWxha3RpZ3QgbnVtZXJpc2t0IGtvbmZpZ3VyYXRpb25zdsOkcmRlIFwiJXNcIiBmw7ZyIFwiJXNcIiBpIHVuZGVybW9kdWwtYmxvYjoiCiAiZW4gJXM6ICVzIgogCi0jOiBjb25maWcuYzo5NzUKKyM6IGNvbmZpZy5jOjEwMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gY29tbWFuZCBsaW5lICVzOiAlcyIKIG1zZ3N0ciAiIgogImZlbGFrdGlndCBudW1lcmlza3Qga29uZmlndXJhdGlvbnN2w6RyZGUgXCIlc1wiIGbDtnIgXCIlc1wiIGkga29tbWFuZG9yYWRlbiAiCiAiJXM6ICVzIgogCi0jOiBjb25maWcuYzo5NzgKKyM6IGNvbmZpZy5jOjEwMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gJXM6ICVzIgogbXNnc3RyICJmZWxha3RpZ3QgbnVtZXJpc2t0IGtvbmZpZ3VyYXRpb25zdsOkcmRlIFwiJXNcIiBmw7ZyIFwiJXNcIiBpICVzOiAlcyIKIAotIzogY29uZmlnLmM6MTA3MworIzogY29uZmlnLmM6MTEwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhwYW5kIHVzZXIgZGlyIGluOiAnJXMnIgogbXNnc3RyICJtaXNzbHlja2FkZXMgZXhwYW5kZXJhIGFudsOkbmRhcmthdGFsb2cgaTogXCIlc1wiIgogCi0jOiBjb25maWcuYzoxMDgyCisjOiBjb25maWcuYzoxMTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZm9yICclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICJcIiVzXCIgZsO2ciBcIiVzXCIgw6RyIGludGUgZW4gZ2lsdGlnIHRpZHNzdMOkbXBlbCIKIAotIzogY29uZmlnLmM6MTE3MworIzogY29uZmlnLmM6MTIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJhYmJyZXYgbGVuZ3RoIG91dCBvZiByYW5nZTogJWQiCiBtc2dzdHIgImbDtnJrb3J0bmluZ3Nsw6RuZ2QgdXRhbmbDtnIgaW50ZXJ2YWxsZXQ6ICVkIgogCi0jOiBjb25maWcuYzoxMTg3IGNvbmZpZy5jOjExOTgKKyM6IGNvbmZpZy5jOjEyMjIgY29uZmlnLmM6MTIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgemxpYiBjb21wcmVzc2lvbiBsZXZlbCAlZCIKIG1zZ3N0ciAiZmVsYWt0aWd0IHpsaWIta29tcHJpbWVyaW5nc2dyYWQgJWQiCiAKLSM6IGNvbmZpZy5jOjEyOTAKKyM6IGNvbmZpZy5jOjEzMjUKIG1zZ2lkICJjb3JlLmNvbW1lbnRDaGFyIHNob3VsZCBvbmx5IGJlIG9uZSBjaGFyYWN0ZXIiCiBtc2dzdHIgImNvcmUuY29tbWVudENoYXIga2FuIGJhcmEgdmFyYSBldHQgdGVja2VuIgogCi0jOiBjb25maWcuYzoxMzIzCisjOiBjb25maWcuYzoxMzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbW9kZSBmb3Igb2JqZWN0IGNyZWF0aW9uOiAlcyIKIG1zZ3N0ciAiZmVsYWt0aWd0IGzDpGdlIGbDtnIgc2thcGFuZGUgYXYgb2JqZWt0OiAlcyIKIAotIzogY29uZmlnLmM6MTM5NQorIzogY29uZmlnLmM6MTQzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgdmFsdWUgZm9yICVzIgogbXNnc3RyICJmZWxmb3JtYXQgdsOkcmRlIGbDtnIgJXMiCiAKLSM6IGNvbmZpZy5jOjE0MjEKKyM6IGNvbmZpZy5jOjE0NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgImZlbGZvcm1hdCB2w6RyZGUgZsO2ciAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjE0MjIKKyM6IGNvbmZpZy5jOjE0NTcKIG1zZ2lkICJtdXN0IGJlIG9uZSBvZiBub3RoaW5nLCBtYXRjaGluZywgc2ltcGxlLCB1cHN0cmVhbSBvciBjdXJyZW50IgogbXNnc3RyICJtw6VzdGUgdmFyYSBlbiBhdiBub3RoaW5nLCBtYXRjaGluZywgc2ltcGxlLCB1cHN0cmVhbSBlbGxlciBjdXJyZW50IgogCi0jOiBjb25maWcuYzoxNDgxIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM5MQorIzogY29uZmlnLmM6MTUxOCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2sgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgImZlbGFrdGlnIHBha2V0a29tcHJpbWVyaW5nc2dyYWQgJWQiCiAKLSM6IGNvbmZpZy5jOjE2MDIKKyM6IGNvbmZpZy5jOjE2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGxvYWQgY29uZmlnIGJsb2Igb2JqZWN0ICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2Ega29uZmlndXJlcmluZ3MtYmxvYm9iamVrdGV0IFwiJXNcIiIKIAotIzogY29uZmlnLmM6MTYwNQorIzogY29uZmlnLmM6MTY0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGJsb2IiCiBtc2dzdHIgInJlZmVyZW5zZW4gXCIlc1wiIHBla2FyIGludGUgcMOlIGVuIGJsb2IiCiAKLSM6IGNvbmZpZy5jOjE2MjIKKyM6IGNvbmZpZy5jOjE2NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgY29uZmlnIGJsb2IgJyVzJyIKIG1zZ3N0ciAia2FuIGludGUgc2zDpSB1cHAga29uZmlndXJlcmluZ3MtYmxvYmVuIFwiJXNcIiIKIAotIzogY29uZmlnLmM6MTY1MgorIzogY29uZmlnLmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgdG9sa2EgJXMiCiAKLSM6IGNvbmZpZy5jOjE3MDUKKyM6IGNvbmZpZy5jOjE3NDUKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAia2FuIGludGUgdG9sa2Ega29tbWFuZG9yYWRza29uZmlndXJhdGlvbiIKIAotIzogY29uZmlnLmM6MjAzNworIzogY29uZmlnLmM6MjA5NgogbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKIG1zZ3N0ciAib2vDpG50IGZlbCB1cHBzdG9kIHZpZCBsw6RzbmluZyBhdiBrb25maWd1cmF0aW9uc2ZpbGVybmEiCiAKLSM6IGNvbmZpZy5jOjIyMDcKKyM6IGNvbmZpZy5jOjIyNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCAlczogJyVzJyIKIG1zZ3N0ciAiRmVsYWt0aWd0ICVzOiBcIiVzXCIiCiAKLSM6IGNvbmZpZy5jOjIyNTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5rbm93biBjb3JlLnVudHJhY2tlZENhY2hlIHZhbHVlICclcyc7IHVzaW5nICdrZWVwJyBkZWZhdWx0IHZhbHVlIgotbXNnc3RyICIiCi0ib2vDpG50IHbDpHJkZSBcIiVzXCIgZsO2ciBjb3JlLnVudHJhY2tlZENhY2hlOyBhbnbDpG5kZXIgc3RhbmRhcmR2w6RyZGV0IFwia2VlcFwiIgotCi0jOiBjb25maWcuYzoyMjc2CisjOiBjb25maWcuYzoyMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgInNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSB2YWx1ZSAnJWQnIHNob3VsZCBiZSBiZXR3ZWVuIDAgYW5kIDEwMCIKIG1zZ3N0ciAidsOkcmRldCBcIiVkXCIgZsO2ciBzcGxpdEluZGV4Lm1heFBlcmNlbnRhZ2UgYm9yZGUgdmFyYSBtZWxsYW4gMCBvY2ggMTAwIgogCi0jOiBjb25maWcuYzoyMzIyCisjOiBjb25maWcuYzoyMzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAnJXMnIGZyb20gY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSB2w6RyZGV0IFwiJXNcIiBmcsOlbiBrb21tYW5kb3JhZHNrb25maWd1cmF0aW9uIgogCi0jOiBjb25maWcuYzoyMzI0CisjOiBjb25maWcuYzoyMzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgdmFyaWFibGUgJyVzJyBpbiBmaWxlICclcycgYXQgbGluZSAlZCIKIG1zZ3N0ciAiZmVsYWt0aWcga29uZmlndXJhdGlvbnN2YXJpYWJlbCBcIiVzXCIgaSBmaWxlbiBcIiVzXCIgcMOlIHJhZCAlZCIKIAotIzogY29uZmlnLmM6MjQwNQorIzogY29uZmlnLmM6MjQ0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNlY3Rpb24gbmFtZSAnJXMnIgogbXNnc3RyICJmZWxha3RpZ3Qgc2VrdGlvbnNuYW1uIFwiJXNcIiIKIAotIzogY29uZmlnLmM6MjQzNworIzogY29uZmlnLmM6MjQ3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbXVsdGlwbGUgdmFsdWVzIgogbXNnc3RyICIlcyBoYXIgZmxlcmEgdsOkcmRlbiIKIAotIzogY29uZmlnLmM6MjQ2NgorIzogY29uZmlnLmM6MjUwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgbmV3IGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKIG1zZ3N0ciAia2FuIGludGUgc2tyaXZhIG55YSBrb25maWd1cmF0aW9uc2ZpbGVuIFwiJXNcIiIKIAotIzogY29uZmlnLmM6MjcxNyBjb25maWcuYzozMDQxCisjOiBjb25maWcuYzoyNzUzIGNvbmZpZy5jOjMwNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvY2sgY29uZmlnIGZpbGUgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgbMOlc2Ega29uZmlndXJhdGlvbnNmaWxlbiAlcyIKIAotIzogY29uZmlnLmM6MjcyOAorIzogY29uZmlnLmM6Mjc2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJvcGVuaW5nICVzIgogbXNnc3RyICLDtnBwbmFyICVzIgogCi0jOiBjb25maWcuYzoyNzYzIGJ1aWx0aW4vY29uZmlnLmM6MzI3CisjOiBjb25maWcuYzoyNzk5IGJ1aWx0aW4vY29uZmlnLmM6MzI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcGF0dGVybjogJXMiCiBtc2dzdHIgIm9naWx0aWd0IG3Dtm5zdGVyOiAlcyIKIAotIzogY29uZmlnLmM6Mjc4OAorIzogY29uZmlnLmM6MjgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbmZpZyBmaWxlICVzIgogbXNnc3RyICJvZ2lsdGlnIGtvbmZpZ3VyYXRpb25zZmlsOiBcIiVzXCIiCiAKLSM6IGNvbmZpZy5jOjI4MDEgY29uZmlnLmM6MzA1NAorIzogY29uZmlnLmM6MjgzNyBjb25maWcuYzozMDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZzdGF0IG9uICVzIGZhaWxlZCIKIG1zZ3N0ciAiZnN0YXQgbWlzc2x5Y2thZGVzIHDDpSAlcyIKIAotIzogY29uZmlnLmM6MjgxMgorIzogY29uZmlnLmM6Mjg0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbW1hcCAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIHV0ZsO2cmEgbW1hcCBww6UgXCIlc1wiIgogCi0jOiBjb25maWcuYzoyODIxIGNvbmZpZy5jOjMwNTkKKyM6IGNvbmZpZy5jOjI4NTcgY29uZmlnLmM6MzA5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjaG1vZCBvbiAlcyBmYWlsZWQiCiBtc2dzdHIgImNobW9kIG1pc3NseWNrYWRlcyBww6UgJXMiCiAKLSM6IGNvbmZpZy5jOjI5MDYgY29uZmlnLmM6MzE1NgorIzogY29uZmlnLmM6Mjk0MiBjb25maWcuYzozMTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBjb25maWcgZmlsZSAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEga29uZmlndXJhdGlvbnNmaWxlbiAlcyIKIAotIzogY29uZmlnLmM6Mjk0MAorIzogY29uZmlnLmM6Mjk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc2V0ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBzdMOkbGxhIGluIFwiJXNcIiB0aWxsIFwiJXNcIiIKIAotIzogY29uZmlnLmM6Mjk0MiBidWlsdGluL3JlbW90ZS5jOjc4MgorIzogY29uZmlnLmM6Mjk3OCBidWlsdGluL3JlbW90ZS5jOjc4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0YSBib3J0IGluc3TDpGxsbmluZyBmw7ZyIFwiJXNcIiIKIAotIzogY29uZmlnLmM6MzAzMgorIzogY29uZmlnLmM6MzA2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNlY3Rpb24gbmFtZTogJXMiCiBtc2dzdHIgImZlbGFrdGlndCBuYW1uIHDDpSBzdHlja2U6ICVzIgogCi0jOiBjb25maWcuYzozMTk5CisjOiBjb25maWcuYzozMjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3NpbmcgdmFsdWUgZm9yICclcyciCiBtc2dzdHIgInbDpHJkZSBzYWtuYXMgZsO2ciBcIiVzXCIiCkBAIC0xODIzLDUwICsyNDU3LDQ1IEBACiBtc2dpZCAicmVwb3NpdG9yeSBvbiB0aGUgb3RoZXIgZW5kIGNhbm5vdCBiZSBzaGFsbG93IgogbXNnc3RyICJhcmtpdmV0IHDDpSBhbmRyYSBzaWRhbiBrYW4gaW50ZSB2YXJhIGdydW50IgogCi0jOiBjb25uZWN0LmM6MzEwIGZldGNoLXBhY2suYzoxODIgYnVpbHRpbi9hcmNoaXZlLmM6NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicmVtb3RlIGVycm9yOiAlcyIKLW1zZ3N0ciAiZmrDpHJyZmVsOiAlcyIKLQotIzogY29ubmVjdC5jOjMxNgorIzogY29ubmVjdC5jOjMxMwogbXNnaWQgImludmFsaWQgcGFja2V0IgogbXNnc3RyICJvZ2lsdGlndCBwYWtldCIKIAotIzogY29ubmVjdC5jOjMzNgorIzogY29ubmVjdC5jOjMzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogdW5leHBlY3RlZCAnJXMnIgogbXNnc3RyICJwcm90b2tvbGxmZWw6IGbDtnJ2w6RudGFkZSBpbnRlIFwiJXNcIiIKIAotIzogY29ubmVjdC5jOjQ0NAorIzogY29ubmVjdC5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGxzLXJlZnMgcmVzcG9uc2U6ICVzIgogbXNnc3RyICJvZ2lsdGlndCBzdmFyIHDDpSBscy1yZWZzOiAlcyIKIAotIzogY29ubmVjdC5jOjQ0OAorIzogY29ubmVjdC5jOjQ0NQogbXNnaWQgImV4cGVjdGVkIGZsdXNoIGFmdGVyIHJlZiBsaXN0aW5nIgogbXNnc3RyICJvdsOkbnRhZCBcImZsdXNoXCIgZWZ0ZXIgcmVmLWxpc3RhbiIKIAotIzogY29ubmVjdC5jOjU0NworIzogY29ubmVjdC5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm90b2NvbCAnJXMnIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgInByb3Rva29sbGV0IFwiJXNcIiBzdMO2ZHMgaW50ZSIKIAotIzogY29ubmVjdC5jOjU5OAorIzogY29ubmVjdC5jOjU5NQogbXNnaWQgInVuYWJsZSB0byBzZXQgU09fS0VFUEFMSVZFIG9uIHNvY2tldCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBzw6R0dGEgU09fS0VFUEFMSVZFIHDDpSB1dHRhZ2V0IgogCi0jOiBjb25uZWN0LmM6NjM4IGNvbm5lY3QuYzo3MDEKKyM6IGNvbm5lY3QuYzo2MzUgY29ubmVjdC5jOjY5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJMb29raW5nIHVwICVzIC4uLiAiCiBtc2dzdHIgIlNsw6VyIHVwcCAlcy4uLiIKIAotIzogY29ubmVjdC5jOjY0MgorIzogY29ubmVjdC5jOjYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbG9vayB1cCAlcyAocG9ydCAlcykgKCVzKSIKIG1zZ3N0ciAia2FuIGludGUgc2zDpSB1cHAgJXMgKHBvcnQgJXMpICglcykiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGlzIGlzIHRoZSBlbmQgb2YgIkxvb2tpbmcgdXAgJXMgLi4uICIKLSM6IGNvbm5lY3QuYzo2NDYgY29ubmVjdC5jOjcxNworIzogY29ubmVjdC5jOjY0MyBjb25uZWN0LmM6NzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJkb25lLlxuIgpAQCAtMTg3NSw3ICsyNTA0LDcgQEAKICJrbGFydC5cbiIKICJBbnNsdXRlciB0aWxsICVzIChwb3J0ICVzKS4uLiIKIAotIzogY29ubmVjdC5jOjY2OCBjb25uZWN0LmM6NzQ1CisjOiBjb25uZWN0LmM6NjY1IGNvbm5lY3QuYzo3NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInVuYWJsZSB0byBjb25uZWN0IHRvICVzOlxuIgpAQCAtMTg4NSw3NSArMjUxNCw3NSBAQAogIiVzIgogCiAjLiBUUkFOU0xBVE9SUzogdGhpcyBpcyB0aGUgZW5kIG9mICJDb25uZWN0aW5nIHRvICVzIChwb3J0ICVzKSAuLi4gIgotIzogY29ubmVjdC5jOjY3NCBjb25uZWN0LmM6NzUxCisjOiBjb25uZWN0LmM6NjcxIGNvbm5lY3QuYzo3NDgKIG1zZ2lkICJkb25lLiIKIG1zZ3N0ciAia2xhcnQuIgogCi0jOiBjb25uZWN0LmM6NzA1CisjOiBjb25uZWN0LmM6NzAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBsb29rIHVwICVzICglcykiCiBtc2dzdHIgImt1bmRlIGludGUgc2zDpSB1cHAgJXMgKCVzKSIKIAotIzogY29ubmVjdC5jOjcxMQorIzogY29ubmVjdC5jOjcwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHBvcnQgJXMiCiBtc2dzdHIgIm9rw6RuZCBwb3J0ICVzIgogCi0jOiBjb25uZWN0LmM6ODQ4IGNvbm5lY3QuYzoxMTc0CisjOiBjb25uZWN0LmM6ODQ1IGNvbm5lY3QuYzoxMTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0cmFuZ2UgaG9zdG5hbWUgJyVzJyBibG9ja2VkIgogbXNnc3RyICJrb25zdGlndCB2w6RyZG5hbW4gXCIlc1wiIGJsb2NrZXJhdCIKIAotIzogY29ubmVjdC5jOjg1MAorIzogY29ubmVjdC5jOjg0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzdHJhbmdlIHBvcnQgJyVzJyBibG9ja2VkIgogbXNnc3RyICJrb25zdGlnIHBvcnQgXCIlc1wiIGJsb2NrZXJhZCIKIAotIzogY29ubmVjdC5jOjg2MAorIzogY29ubmVjdC5jOjg1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhcnQgcHJveHkgJXMiCiBtc2dzdHIgImthbiBpbnRlIHN0YXJ0YSBtZWxsYW5zZXJ2ZXIgKHByb3h5KSAlcyIKIAotIzogY29ubmVjdC5jOjkyNworIzogY29ubmVjdC5jOjkyOAogbXNnaWQgIm5vIHBhdGggc3BlY2lmaWVkOyBzZWUgJ2dpdCBoZWxwIHB1bGwnIGZvciB2YWxpZCB1cmwgc3ludGF4IgogbXNnc3RyICJpbmdlbiBzw7ZrdsOkZyBhbmdhdnM7IHNlIFwiZ2l0IGhlbHAgcHVsbFwiIGbDtnIgZ2lsdGlnIFVSTC1zeW50YXgiCiAKLSM6IGNvbm5lY3QuYzoxMTIyCisjOiBjb25uZWN0LmM6MTEyMwogbXNnaWQgInNzaCB2YXJpYW50ICdzaW1wbGUnIGRvZXMgbm90IHN1cHBvcnQgLTQiCiBtc2dzdHIgInNzaC12YXJpYW50ZW4gXCJzaW1wbGVcIiBzdMO2ZGVyIGludGUgLTQiCiAKLSM6IGNvbm5lY3QuYzoxMTM0CisjOiBjb25uZWN0LmM6MTEzNQogbXNnaWQgInNzaCB2YXJpYW50ICdzaW1wbGUnIGRvZXMgbm90IHN1cHBvcnQgLTYiCiBtc2dzdHIgInNzaC12YXJpYW50ZW4gXCJzaW1wbGVcIiBzdMO2ZGVyIGludGUgLTYiCiAKLSM6IGNvbm5lY3QuYzoxMTUxCisjOiBjb25uZWN0LmM6MTE1MgogbXNnaWQgInNzaCB2YXJpYW50ICdzaW1wbGUnIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyBwb3J0IgogbXNnc3RyICJzc2gtdmFyaWFudGVuIFwic2ltcGxlXCIgc3TDtmRlciBpbnRlIHZhbCBhdiBwb3J0IgogCi0jOiBjb25uZWN0LmM6MTI2MgorIzogY29ubmVjdC5jOjEyNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RyYW5nZSBwYXRobmFtZSAnJXMnIGJsb2NrZWQiCiBtc2dzdHIgImtvbnN0aWd0IHPDtmt2w6Rnc25hbW4gXCIlc1wiIGJsb2NrZXJhdCIKIAotIzogY29ubmVjdC5jOjEzMDcKKyM6IGNvbm5lY3QuYzoxMzExCiBtc2dpZCAidW5hYmxlIHRvIGZvcmsiCiBtc2dzdHIgImt1bmRlIGludGUgZ3JlbmEgKGZvcmspIgogCiAjIFZhZ3VlIG9yaWdpbmFsLCBub3QgbmV0d29ya2luZy1yZWxhdGVkLCBidXQgcmF0aGVyIHJlbGF0ZWQgdG8gdGhlIGFjdHVhbAogIyBvYmplY3RzIGluIHRoZSBkYXRhYmFzZS4KLSM6IGNvbm5lY3RlZC5jOjY4IGJ1aWx0aW4vZnNjay5jOjIwMiBidWlsdGluL3BydW5lLmM6MTQ3CisjOiBjb25uZWN0ZWQuYzo4OSBidWlsdGluL2ZzY2suYzoyMDggYnVpbHRpbi9wcnVuZS5jOjQzCiBtc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5IgogbXNnc3RyICJLb250cm9sbGVyYXIga29ubmVrdGl2aXRldCIKIAotIzogY29ubmVjdGVkLmM6ODAKKyM6IGNvbm5lY3RlZC5jOjEwMQogbXNnaWQgIkNvdWxkIG5vdCBydW4gJ2dpdCByZXYtbGlzdCciCiBtc2dzdHIgIkt1bmRlIGludGUga8O2cmEgXCJnaXQgcmV2LWxpc3RcIiIKIAotIzogY29ubmVjdGVkLmM6MTAwCisjOiBjb25uZWN0ZWQuYzoxMjEKIG1zZ2lkICJmYWlsZWQgd3JpdGUgdG8gcmV2LWxpc3QiCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIHRpbGwgcmV2LWxpc3QiCiAKLSM6IGNvbm5lY3RlZC5jOjEwNworIzogY29ubmVjdGVkLmM6MTI4CiBtc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW4iCiBtc2dzdHIgImt1bmRlIGludGUgc3TDpG5nYSByZXYtbGlzdDpzIHN0YW5kYXJkIGluIgogCkBAIC0xOTkwLDI2ICsyNjE5LDI2IEBACiAiTEYga29tbWVyIGF0dCBlcnPDpHR0YXMgYXYgQ1JMRiBpICVzLlxuIgogIkZpbGVuIGtvbW1lciBhdHQgaGEgc2luYSB1cnNwcnVuZ2xpZ2EgcmFkYnJ5dG5pbmdhciBpIGRpbiBhcmJldHNrYXRhbG9nIgogCi0jOiBjb252ZXJ0LmM6MjgwCisjOiBjb252ZXJ0LmM6Mjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJPTSBpcyBwcm9oaWJpdGVkIGluICclcycgaWYgZW5jb2RlZCBhcyAlcyIKIG1zZ3N0ciAiQk9NIMOkciBmw7ZyYmp1ZGV0IGkgXCIlc1wiIG9tIGtvZGF0IHNvbSAlcyIKIAotIzogY29udmVydC5jOjI4NworIzogY29udmVydC5jOjI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iVGhlIGZpbGUgJyVzJyBjb250YWlucyBhIGJ5dGUgb3JkZXIgbWFyayAoQk9NKS4gUGxlYXNlIHVzZSBVVEYtJXMgYXMgd29ya2luZy0iCi0idHJlZS1lbmNvZGluZy4iCisiVGhlIGZpbGUgJyVzJyBjb250YWlucyBhIGJ5dGUgb3JkZXIgbWFyayAoQk9NKS4gUGxlYXNlIHVzZSBVVEYtJS4qcyBhcyAiCisid29ya2luZy10cmVlLWVuY29kaW5nLiIKIG1zZ3N0ciAiIgotIkZpbGVuIFwiJXNcIiBpbm5laMOlbGxlciBieXRlIG9yZGVyIG1hcmsgKEJPTSkuIEFudsOkbmQgVVRGLSVzIHNvbSAiCisiRmlsZW4gXCIlc1wiIGlubmVow6VsbGVyIGJ5dGUgb3JkZXIgbWFyayAoQk9NKS4gQW52w6RuZCBVVEYtJS4qcyBzb20gIgogInRlY2tlbmtvZG5pbmcgaSBhcmJldHNrYXRhbG9nZW4uIgogCi0jOiBjb252ZXJ0LmM6MzA1CisjOiBjb252ZXJ0LmM6MzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJPTSBpcyByZXF1aXJlZCBpbiAnJXMnIGlmIGVuY29kZWQgYXMgJXMiCiBtc2dzdHIgIkJPTSBrcsOkdnMgb20gXCIlc1wiIGtvZGFzIHNvbSAlcyIKIAotIzogY29udmVydC5jOjMwNworIzogY29udmVydC5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZpbGUgJyVzJyBpcyBtaXNzaW5nIGEgYnl0ZSBvcmRlciBtYXJrIChCT00pLiBQbGVhc2UgdXNlIFVURi0lc0JFIG9yIFVURi0iCkBAIC0yMDE4LDUxICsyNjQ3LDUxIEBACiAiRmlsZW4gXCIlc1wiIHNha25hciBieXRlIG9yZGVyIG1hcmsgKEJPTSkuIEFudsOkbmQgVVRGLSVzQkUgZWxsZXIgVVRGLSVzTEUgIgogIihiZXJvZW5kZSBww6UgYnl0ZW9yZG5pbmcpIHNvbSB0ZWNrZW5rb2RuaW5nIGkgYXJiZXRza2F0YWxvZ2VuLiIKIAotIzogY29udmVydC5jOjQyNSBjb252ZXJ0LmM6NDk2CisjOiBjb252ZXJ0LmM6NDE5IGNvbnZlcnQuYzo0OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGVuY29kZSAnJXMnIGZyb20gJXMgdG8gJXMiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBvbWtvZGEgXCIlc1wiIGZyw6VuICVzIHRpbGwgJXMiCiAKLSM6IGNvbnZlcnQuYzo0NjgKKyM6IGNvbnZlcnQuYzo0NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW5jb2RpbmcgJyVzJyBmcm9tICVzIHRvICVzIGFuZCBiYWNrIGlzIG5vdCB0aGUgc2FtZSIKIG1zZ3N0ciAiIgogIm9ta29kbmluZyBhdiBcIiVzXCIgZnLDpW4gJXMgdGlsbCAlcyBvY2ggdGlsbGJha2EgZ2VyIGludGUgc2FtbWEgcmVzdWx0YXQiCiAKLSM6IGNvbnZlcnQuYzo2NzQKKyM6IGNvbnZlcnQuYzo2NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZvcmsgdG8gcnVuIGV4dGVybmFsIGZpbHRlciAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSBncmVuYSAoZm9yaykgZsO2ciBhdHQga8O2cmEgZXh0ZXJudCBmaWx0ZXIgXCIlc1wiIgogCi0jOiBjb252ZXJ0LmM6Njk0CisjOiBjb252ZXJ0LmM6Njg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmZWVkIHRoZSBpbnB1dCB0byBleHRlcm5hbCBmaWx0ZXIgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2lja2EgaW5kYXRhIHRpbGwgZXh0ZXJudCBmaWx0ZXIgXCIlc1wiIgogCi0jOiBjb252ZXJ0LmM6NzAxCisjOiBjb252ZXJ0LmM6Njk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCAlZCIKIG1zZ3N0ciAiZXh0ZXJudCBmaWx0ZXIgXCIlc1wiIG1pc3NseWNrYWRlcyAlZCIKIAotIzogY29udmVydC5jOjczNiBjb252ZXJ0LmM6NzM5CisjOiBjb252ZXJ0LmM6NzMwIGNvbnZlcnQuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCBmcm9tIGV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAibMOkc25pbmcgZnLDpW4gZXh0ZXJudCBmaWx0ZXIgXCIlc1wiIG1pc3NseWNrYWRlcyIKIAotIzogY29udmVydC5jOjc0MiBjb252ZXJ0LmM6Nzk2CisjOiBjb252ZXJ0LmM6NzM2IGNvbnZlcnQuYzo3OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkIgogbXNnc3RyICJleHRlcm50IGZpbHRlciBcIiVzXCIgbWlzc2x5Y2thZGVzIgogCi0jOiBjb252ZXJ0LmM6ODQ0CisjOiBjb252ZXJ0LmM6ODM5CiBtc2dpZCAidW5leHBlY3RlZCBmaWx0ZXIgdHlwZSIKIG1zZ3N0ciAib3bDpG50YWQgZmlsdGVydHlwIgogCi0jOiBjb252ZXJ0LmM6ODU1CisjOiBjb252ZXJ0LmM6ODUwCiBtc2dpZCAicGF0aCBuYW1lIHRvbyBsb25nIGZvciBleHRlcm5hbCBmaWx0ZXIiCiBtc2dzdHIgInPDtmt2w6RnZW4gZsO2ciBsw6VuZyBmw7ZyIGV4dGVybnQgZmlsdGVyIgogCi0jOiBjb252ZXJ0LmM6OTI5CisjOiBjb252ZXJ0LmM6OTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleHRlcm5hbCBmaWx0ZXIgJyVzJyBpcyBub3QgYXZhaWxhYmxlIGFueW1vcmUgYWx0aG91Z2ggbm90IGFsbCBwYXRocyBoYXZlICIKQEAgLTIwNzEsNjcgKzI3MDAsNjcgQEAKICJleHRlcm50IGZpbHRlciBcIiVzXCIgw6RyIGludGUgbMOkbmdyZSB0aWxsZ8OkbmdsaWd0IHRyb3RzIGF0dCBhbGxhIHPDtmt2w6RnYXIgIgogImludGUgaGFyIGZpbHRyZXJhdHMiCiAKLSM6IGNvbnZlcnQuYzoxMjI4CisjOiBjb252ZXJ0LmM6MTIyMwogbXNnaWQgInRydWUvZmFsc2UgYXJlIG5vIHZhbGlkIHdvcmtpbmctdHJlZS1lbmNvZGluZ3MiCiBtc2dzdHIgInRydWUvZmFsc2Ugw6RyIGludGUgZ2lsdGlnIHRlY2tlbmtvZG5pbmcgZsO2ciBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGNvbnZlcnQuYzoxMzk4IGNvbnZlcnQuYzoxNDMyCisjOiBjb252ZXJ0LmM6MTQxMSBjb252ZXJ0LmM6MTQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2xlYW4gZmlsdGVyICclcycgZmFpbGVkIgogbXNnc3RyICIlczogXCJjbGVhblwiLWZpbHRyZXQgXCIlc1wiIG1pc3NseWNrYWRlcyIKIAotIzogY29udmVydC5jOjE0NzYKKyM6IGNvbnZlcnQuYzoxNDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzbXVkZ2UgZmlsdGVyICVzIGZhaWxlZCIKIG1zZ3N0ciAiJXM6IFwic211ZGdlXCItZmlsdHJldCBcIiVzXCIgbWlzc2x5Y2thZGVzIgogCi0jOiBkYXRlLmM6MTE2CisjOiBkYXRlLmM6MTM4CiBtc2dpZCAiaW4gdGhlIGZ1dHVyZSIKIG1zZ3N0ciAiaSBmcmFtdGlkZW4iCiAKLSM6IGRhdGUuYzoxMjIKKyM6IGRhdGUuYzoxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBzZWNvbmQgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHNlY29uZHMgYWdvIgogbXNnc3RyWzBdICIlPFBSSXVNQVg+IHNla3VuZCBzZWRhbiIKIG1zZ3N0clsxXSAiJTxQUkl1TUFYPiBzZWt1bmRlciBzZWRhbiIKIAotIzogZGF0ZS5jOjEyOQorIzogZGF0ZS5jOjE1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IG1pbnV0ZSBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gbWludXRlcyBhZ28iCiBtc2dzdHJbMF0gIiU8UFJJdU1BWD4gbWludXQgc2VkYW4iCiBtc2dzdHJbMV0gIiU8UFJJdU1BWD4gbWludXRlciBzZWRhbiIKIAotIzogZGF0ZS5jOjEzNgorIzogZGF0ZS5jOjE1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IGhvdXIgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IGhvdXJzIGFnbyIKIG1zZ3N0clswXSAiJTxQUkl1TUFYPiB0aW1tZSBzZWRhbiIKIG1zZ3N0clsxXSAiJTxQUkl1TUFYPiB0aW1tYXIgc2VkYW4iCiAKLSM6IGRhdGUuYzoxNDMKKyM6IGRhdGUuYzoxNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBkYXkgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IGRheXMgYWdvIgogbXNnc3RyWzBdICIlPFBSSXVNQVg+IGRhZyBzZWRhbiIKIG1zZ3N0clsxXSAiJTxQUkl1TUFYPiBkYWdhciBzZWRhbiIKIAotIzogZGF0ZS5jOjE0OQorIzogZGF0ZS5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHdlZWsgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHdlZWtzIGFnbyIKIG1zZ3N0clswXSAiJTxQUkl1TUFYPiB2ZWNrYSBzZWRhbiIKIG1zZ3N0clsxXSAiJTxQUkl1TUFYPiB2ZWNrb3Igc2VkYW4iCiAKLSM6IGRhdGUuYzoxNTYKKyM6IGRhdGUuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBtb250aCBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gbW9udGhzIGFnbyIKIG1zZ3N0clswXSAiJTxQUkl1TUFYPiBtw6VuYWQgc2VkYW4iCiBtc2dzdHJbMV0gIiU8UFJJdU1BWD4gbcOlbmFkZXIgc2VkYW4iCiAKLSM6IGRhdGUuYzoxNjcKKyM6IGRhdGUuYzoxODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIgpAQCAtMjEzOSw0MCArMjc2OCw0MCBAQAogbXNnc3RyWzFdICIlPFBSSXVNQVg+IMOlciIKIAogIy4gVFJBTlNMQVRPUlM6ICIlcyIgaXMgIjxuPiB5ZWFycyIKLSM6IGRhdGUuYzoxNzAKKyM6IGRhdGUuYzoxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsICU8UFJJdU1BWD4gbW9udGggYWdvIgogbXNnaWRfcGx1cmFsICIlcywgJTxQUkl1TUFYPiBtb250aHMgYWdvIgogbXNnc3RyWzBdICIlcywgJTxQUkl1TUFYPiBtw6VuYWQgc2VkYW4iCiBtc2dzdHJbMV0gIiVzLCAlPFBSSXVNQVg+IG3DpW5hZGVyIHNlZGFuIgogCi0jOiBkYXRlLmM6MTc1IGRhdGUuYzoxODAKKyM6IGRhdGUuYzoxOTcgZGF0ZS5jOjIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHllYXIgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIGFnbyIKIG1zZ3N0clswXSAiJTxQUkl1TUFYPiDDpXIgc2VkYW4iCiBtc2dzdHJbMV0gIiU8UFJJdU1BWD4gw6VyIHNlZGFuIgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6MjY4CisjOiBkZWx0YS1pc2xhbmRzLmM6MjcyCiBtc2dpZCAiUHJvcGFnYXRpbmcgaXNsYW5kIG1hcmtzIgogbXNnc3RyICJTcHJpZGVyIMO2LW1hcmtlcmluZ2FyIgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6Mjg2CisjOiBkZWx0YS1pc2xhbmRzLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCB0cmVlIG9iamVjdCAlcyIKIG1zZ3N0ciAiZmVsYWt0aWd0IHRyw6Rkb2JqZWt0ZXQgJXMiCiAKLSM6IGRlbHRhLWlzbGFuZHMuYzozMzAKKyM6IGRlbHRhLWlzbGFuZHMuYzozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgaXNsYW5kIHJlZ2V4IGZvciAnJXMnOiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBow6RtdGEgw7YtcmVnZXggZsO2ciBcIiVzXCI6ICVzIgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6Mzg2CisjOiBkZWx0YS1pc2xhbmRzLmM6MzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImlzbGFuZCByZWdleCBmcm9tIGNvbmZpZyBoYXMgdG9vIG1hbnkgY2FwdHVyZSBncm91cHMgKG1heD0lZCkiCiBtc2dzdHIgIsO2LXJlZ2V4IGZyw6VuIGtvbmZpZ3VyYXRpb24gaGFyIGbDtnIgbcOlbmdhIGbDpW5nc3RncnVwcGVyIChtYXg9JWQpIgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6NDYyCisjOiBkZWx0YS1pc2xhbmRzLmM6NDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hcmtlZCAlZCBpc2xhbmRzLCBkb25lLlxuIgogbXNnc3RyICJNYXJrZXJhZGUgJWQgw7Zhciwga2xhci5cbiIKQEAgLTIxODIsMjYgKzI4MTEsMzMgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBvcmRlcmZpbGUgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBvcmRlcmZpbGVuIFwiJXNcIiIKIAotIzogZGlmZmNvcmUtcmVuYW1lLmM6NTQ0CisjOiBkaWZmY29yZS1yZW5hbWUuYzo1NDMKIG1zZ2lkICJQZXJmb3JtaW5nIGluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiIKIG1zZ3N0ciAiVXRmw7ZyIG9uw7ZqYWt0aWcgbmFtbmJ5dGVzZGV0ZWt0ZXJpbmciCiAKLSM6IGRpZmYuYzoxMDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYSB2YWx1ZSIKLW1zZ3N0ciAiZmxhZ2dhbiBcIiVzXCIgYmVow7Z2ZXIgZXR0IHbDpHJkZSIKKyM6IGRpZmYtbm8taW5kZXguYzoyMzgKK21zZ2lkICJnaXQgZGlmZiAtLW5vLWluZGV4IFs8b3B0aW9ucz5dIDxwYXRoPiA8cGF0aD4iCittc2dzdHIgImdpdCBkaWZmIC0tbm8taW5kZXggWzxmbGFnZ29yPl0gPHPDtmt2w6RnPiA8c8O2a3bDpGc+IgogCi0jOiBkaWZmLmM6MTU4CisjOiBkaWZmLW5vLWluZGV4LmM6MjYzCittc2dpZCAiIgorIk5vdCBhIGdpdCByZXBvc2l0b3J5LiBVc2UgLS1uby1pbmRleCB0byBjb21wYXJlIHR3byBwYXRocyBvdXRzaWRlIGEgd29ya2luZyAiCisidHJlZSIKK21zZ3N0ciAiIgorIkludGUgZXR0IGdpdC1hcmtpdi4gQW52w6RuZCAtLW5vLWluZGV4IGbDtnIgYXR0IGrDpG1mw7ZyYSB0dsOlIHPDtmt2w6RnYXIgdXRhbmbDtnIgIgorImVuIGFyYmV0c2thdGFsb2cuIgorCisjOiBkaWZmLmM6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmFpbGVkIHRvIHBhcnNlIGRpcnN0YXQgY3V0LW9mZiBwZXJjZW50YWdlICclcydcbiIKIG1zZ3N0ciAiICBNaXNzbHlja2FkZXMgdG9sa2EgZGlyc3RhdC1hdnNrw6RybmluZ3Nwcm9jZW50YW5kZWwgXCIlc1wiXG4iCiAKLSM6IGRpZmYuYzoxNjMKKyM6IGRpZmYuYzoxNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBVbmtub3duIGRpcnN0YXQgcGFyYW1ldGVyICclcydcbiIKIG1zZ3N0ciAiICBPa8OkbmQgZGlyc3RhdC1wYXJhbWV0ZXIgXCIlc1wiXG4iCiAKLSM6IGRpZmYuYzoyOTEKKyM6IGRpZmYuYzoyOTYKIG1zZ2lkICIiCiAiY29sb3IgbW92ZWQgc2V0dGluZyBtdXN0IGJlIG9uZSBvZiAnbm8nLCAnZGVmYXVsdCcsICdibG9ja3MnLCAnemVicmEnLCAiCiAiJ2RpbW1lZC16ZWJyYScsICdwbGFpbiciCkBAIC0yMjA5LDI1ICsyODQ1LDMwIEBACiAiZsOkcmdpbnN0w6RsbG5pbmdlbiBmw7ZyIGZseXR0YWRlIGJsb2NrIG3DpXN0ZSB2YXJhIGVuIGF2IFwibm9cIiwgXCJkZWZhdWx0XCIsICIKICJcImJsb2Nrc1wiLCBcInplYnJhXCIsIFwiZGltbWVkX3plYnJhXCIsIFwicGxhaW5cIiIKIAotIzogZGlmZi5jOjMxNgorIzogZGlmZi5jOjMyNAogIywgYy1mb3JtYXQKLW1zZ2lkICJpZ25vcmluZyB1bmtub3duIGNvbG9yLW1vdmVkLXdzIG1vZGUgJyVzJyIKLW1zZ3N0ciAiaWdub3JlcmFyIG9rw6RudCBsw6RnZSBmw7ZyIGNvbG9yLW1vZGUtd3MgXCIlc1wiIgotCi0jOiBkaWZmLmM6MzIzCiBtc2dpZCAiIgotImNvbG9yLW1vdmVkLXdzOiBhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgd2hpdGUgIgotInNwYWNlIG1vZGVzIgorInVua25vd24gY29sb3ItbW92ZWQtd3MgbW9kZSAnJXMnLCBwb3NzaWJsZSB2YWx1ZXMgYXJlICdpZ25vcmUtc3BhY2UtY2hhbmdlJywgIgorIidpZ25vcmUtc3BhY2UtYXQtZW9sJywgJ2lnbm9yZS1hbGwtc3BhY2UnLCAnYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlJyIKK21zZ3N0ciAiIgorIm9rw6RudCBsw6RnZSBcIiVzXCIgZsO2ciBjb2xvci1tb3ZlZC13cywgbcO2amxpZ2EgdsOkcmRlbiDDpHIgXCJpZ25vcmUtc3BhY2UtY2hhbmdlIgorIlwiLCBcImlnbm9yZS1zcGFjZS1hdC1lb2xcIiwgXCJpZ25vcmUtYWxsLXNwYWNlXCIsIFwiYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlIgorIlwiIgorCisjOiBkaWZmLmM6MzMyCittc2dpZCAiIgorImNvbG9yLW1vdmVkLXdzOiBhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgIgorIndoaXRlc3BhY2UgbW9kZXMiCiBtc2dzdHIgIiIKICJjb2xvci1tb3ZlZC13czogYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlIGthbiBpbnRlIGtvbWJpbmVyYXMgbWVkIGFuZHJhICIKICJibGFua3N0ZWdzbMOkZ2VuIgogCi0jOiBkaWZmLmM6Mzk0CisjOiBkaWZmLmM6NDA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gdmFsdWUgZm9yICdkaWZmLnN1Ym1vZHVsZScgY29uZmlnIHZhcmlhYmxlOiAnJXMnIgogbXNnc3RyICJPa8OkbnQgdsOkcmRlIGbDtnIga29uZmlndXJhdGlvbnN2YXJpYWJlbG4gXCJkaWZmLnN1Ym1vZHVsZVwiOiBcIiVzXCIiCiAKLSM6IGRpZmYuYzo0NTQKKyM6IGRpZmYuYzo0NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZvdW5kIGVycm9ycyBpbiAnZGlmZi5kaXJzdGF0JyBjb25maWcgdmFyaWFibGU6XG4iCkBAIC0yMjM2LDI0ICsyODc3LDM1IEBACiAiSGl0dGFkZSBmZWwgaSBrb25maWd1cmF0aW9uc3ZhcmlhYmVsbiBcImRpZmYuZGlyc3RhdFwiOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6NDE0MAorIzogZGlmZi5jOjQyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXh0ZXJuYWwgZGlmZiBkaWVkLCBzdG9wcGluZyBhdCAlcyIKIG1zZ3N0ciAiZXh0ZXJuIGRpZmYgZG9nLCBzdGFubmFyIHZpZCAlcyIKIAotIzogZGlmZi5jOjQ0ODIKKyM6IGRpZmYuYzo0NTQ3CiBtc2dpZCAiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtY2hlY2sgb2NoIC1zIMOkciDDtm1zZXNpZGlndCB1dGVzbHV0YW5kZSIKIAotIzogZGlmZi5jOjQ0ODUKKyM6IGRpZmYuYzo0NTUwCiBtc2dpZCAiLUcsIC1TIGFuZCAtLWZpbmQtb2JqZWN0IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1HLCAtUyBvY2ggLS1maW5kLW9iamVjdCDDpHIgw7Ztc2VzaWRpZ3QgdXRlc2x1dGFuZGUiCiAKLSM6IGRpZmYuYzo0NTYzCisjOiBkaWZmLmM6NDYyOAogbXNnaWQgIi0tZm9sbG93IHJlcXVpcmVzIGV4YWN0bHkgb25lIHBhdGhzcGVjIgogbXNnc3RyICItLWZvbGxvdyBrcsOkdmVyIGV4YWt0IGVuIHPDtmt2w6Rnc2FuZ2l2ZWxzZSIKIAotIzogZGlmZi5jOjQ3MjkKKyM6IGRpZmYuYzo0Njc2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgLS1zdGF0IHZhbHVlOiAlcyIKK21zZ3N0ciAib2dpbHRpZ3QgdsOkcmRlIGbDtnIgLS1zdGF0OiAlcyIKKworIzogZGlmZi5jOjQ2ODEgZGlmZi5jOjQ2ODYgZGlmZi5jOjQ2OTEgZGlmZi5jOjQ2OTYgZGlmZi5jOjUyMDkKKyM6IHBhcnNlLW9wdGlvbnMuYzoxOTkgcGFyc2Utb3B0aW9ucy5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgorbXNnc3RyICIlcyBmw7ZydsOkbnRhciBldHQgbnVtZXJpc2t0IHbDpHJkZSIKKworIzogZGlmZi5jOjQ3MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkZhaWxlZCB0byBwYXJzZSAtLWRpcnN0YXQvLVggb3B0aW9uIHBhcmFtZXRlcjpcbiIKQEAgLTIyNjIsNjEgKzI5MTQsNTY0IEBACiAiTWlzc2x5Y2thZGVzIHRvbGthIGFyZ3VtZW50IHRpbGwgZmxhZ2dhbiAtLWRpcnN0YXQvLVg7XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzo0NzQzCisjOiBkaWZmLmM6NDc5OAogIywgYy1mb3JtYXQKLW1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKLW1zZ3N0ciAiTWlzc2x5Y2thZGVzIHRvbGthIGFyZ3VtZW50IHRpbGwgZmxhZ2dhbiAtLXN1Ym1vZHVsZTogXCIlc1wiIgorbXNnaWQgInVua25vd24gY2hhbmdlIGNsYXNzICclYycgaW4gLS1kaWZmLWZpbHRlcj0lcyIKK21zZ3N0ciAib2vDpG5kIMOkbmRyaW5nc2tsYXNzIFwiJWNcIiBpIC0tZGlmZi1maWx0ZXI9JXMiCiAKLSM6IGRpZmYuYzo1ODIzCisjOiBkaWZmLmM6NDgyMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHZhbHVlIGFmdGVyIHdzLWVycm9yLWhpZ2hsaWdodD0lLipzIgorbXNnc3RyICJva8OkbnQgdsOkcmRlIGVmdGVyIHdzLWVycm9yLWhpZ2hsaWdodD0lLipzIgorCisjOiBkaWZmLmM6NDgzNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJrdW5kZSBpbnRlIHNsw6UgdXBwIFwiJXNcIiIKKworIzogZGlmZi5jOjQ4ODYgZGlmZi5jOjQ4OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhwZWN0cyA8bj4vPG0+IGZvcm0iCittc2dzdHIgIiVzIGbDtnJ2w6RudGFyIGZvcm1lbiA8bj4vPG0+IgorCisjOiBkaWZmLmM6NDkwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIGEgY2hhcmFjdGVyLCBnb3QgJyVzJyIKK21zZ3N0ciAiJXMgZsO2cnbDpG50YXIgZXR0IHRlY2tlbiwgZmljayBcIiVzXCIiCisKKyM6IGRpZmYuYzo0OTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCAtLWNvbG9yLW1vdmVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiZmVsYWt0aWd0IGFyZ3VtZW50IHRpbGwgLS1jb2xvci1tb3ZlZDogJXMiCisKKyM6IGRpZmYuYzo0OTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbW9kZSAnJXMnIGluIC0tY29sb3ItbW92ZWQtd3MiCittc2dzdHIgIm9naWx0aWd0IGzDpGdlICVzXCIgaSAtLWNvbG9yLW1vdmVkLXdzIgorCisjOiBkaWZmLmM6NDk4NAorbXNnaWQgIiIKKyJvcHRpb24gZGlmZi1hbGdvcml0aG0gYWNjZXB0cyBcIm15ZXJzXCIsIFwibWluaW1hbFwiLCBcInBhdGllbmNlXCIgYW5kICIKKyJcImhpc3RvZ3JhbVwiIgorbXNnc3RyICIiCisiZmxhZ2dhbiBkaWZmLWFsZ29yaXRobSBnb2R0YXJcIm15ZXJzXCIsIFwibWluaW1hbFwiLCBcInBhdGllbmNlXCIgb2NoICIKKyJcImhpc3RvZ3JhbVwiIgorCisjOiBkaWZmLmM6NTAyMCBkaWZmLmM6NTA0MAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvICVzIgorbXNnc3RyICJvZ2lsdGlndCBhcmd1bWVudCBmw7ZyICVzIgorCisjOiBkaWZmLmM6NTE3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIHRvbGthIGFyZ3VtZW50IHRpbGwgZmxhZ2dhbiAtLXN1Ym1vZHVsZTogXCIlc1wiIgorCisjOiBkaWZmLmM6NTIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgLS13b3JkLWRpZmYgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJmZWxha3RpZ3QgYXJndW1lbnQgLS13b3JkLWRpZmY6ICVzIgorCisjOiBkaWZmLmM6NTI1NworbXNnaWQgIkRpZmYgb3V0cHV0IGZvcm1hdCBvcHRpb25zIgorbXNnc3RyICJGb3JtYXRmbGFnZ29yIGbDtnIgZGlmZi11dGRhdGEiCisKKyM6IGRpZmYuYzo1MjU5IGRpZmYuYzo1MjY1Cittc2dpZCAiZ2VuZXJhdGUgcGF0Y2giCittc2dzdHIgInNrYXBhciBwYXRjaCIKKworIzogZGlmZi5jOjUyNjIgYnVpbHRpbi9sb2cuYzoxNzMKK21zZ2lkICJzdXBwcmVzcyBkaWZmIG91dHB1dCIKK21zZ3N0ciAidW5kZXJ0cnljayBkaWZmLXV0ZGF0YSIKKworIzogZGlmZi5jOjUyNjcgZGlmZi5jOjUzODEgZGlmZi5jOjUzODgKK21zZ2lkICI8bj4iCittc2dzdHIgIjxuPiIKKworIzogZGlmZi5jOjUyNjggZGlmZi5jOjUyNzEKK21zZ2lkICJnZW5lcmF0ZSBkaWZmcyB3aXRoIDxuPiBsaW5lcyBjb250ZXh0IgorbXNnc3RyICJza2FwYSBkaWZmYXIgbWVkIDxuPiByYWRlciBzYW1tYW5oYW5nIgorCisjOiBkaWZmLmM6NTI3MworbXNnaWQgImdlbmVyYXRlIHRoZSBkaWZmIGluIHJhdyBmb3JtYXQiCittc2dzdHIgImdlbmVyZXJhIGRpZmYgaSByw6Vmb3JtYXQiCisKKyM6IGRpZmYuYzo1Mjc2Cittc2dpZCAic3lub255bSBmb3IgJy1wIC0tcmF3JyIKK21zZ3N0ciAic3lub255bSB0aWxsIFwiLXAgLS1yYXdcIiIKKworIzogZGlmZi5jOjUyODAKK21zZ2lkICJzeW5vbnltIGZvciAnLXAgLS1zdGF0JyIKK21zZ3N0ciAic3lub255bSB0aWxsIFwiLXAgLS1zdGF0XCIiCisKKyM6IGRpZmYuYzo1Mjg0Cittc2dpZCAibWFjaGluZSBmcmllbmRseSAtLXN0YXQiCittc2dzdHIgIm1hc2tpbmzDpHNiYXIgLS1zdGF0IgorCisjOiBkaWZmLmM6NTI4NworbXNnaWQgIm91dHB1dCBvbmx5IHRoZSBsYXN0IGxpbmUgb2YgLS1zdGF0IgorbXNnc3RyICJza3JpdiBiYXJhIHV0IGRlbiBzaXN0YSByYWRlbiBmw7ZyIC0tc3RhdCIKKworIzogZGlmZi5jOjUyODkgZGlmZi5jOjUyOTcKK21zZ2lkICI8cGFyYW0xLHBhcmFtMj4uLi4iCittc2dzdHIgIjxwYXJhbTEscGFyYW0yPi4uLiIKKworIzogZGlmZi5jOjUyOTAKK21zZ2lkICIiCisib3V0cHV0IHRoZSBkaXN0cmlidXRpb24gb2YgcmVsYXRpdmUgYW1vdW50IG9mIGNoYW5nZXMgZm9yIGVhY2ggc3ViLWRpcmVjdG9yeSIKK21zZ3N0ciAiIgorInNrcml2IHV0IGRpc3RyaWJ1dGlvbmVuIGF2IHJlbGF0aXZhIG3DpG5nZGVyIMOkbmRyaW5nYXIgZsO2ciB2YXJqZSB1bmRlcmthdGFsb2ciCisKKyM6IGRpZmYuYzo1Mjk0Cittc2dpZCAic3lub255bSBmb3IgLS1kaXJzdGF0PWN1bXVsYXRpdmUiCittc2dzdHIgInN5bm9ueW0gZsO2ciAtLWRpcnN0YXQ9Y3VtdWxhdGl2ZSIKKworIzogZGlmZi5jOjUyOTgKK21zZ2lkICJzeW5vbnltIGZvciAtLWRpcnN0YXQ9ZmlsZXMscGFyYW0xLHBhcmFtMi4uLiIKK21zZ3N0ciAic3lub255bSBmw7ZyIC0tZGlyc3RhdD1maWxlcixwYXJhbTEscGFyYW0yLi4uIgorCisjOiBkaWZmLmM6NTMwMgorbXNnaWQgIndhcm4gaWYgY2hhbmdlcyBpbnRyb2R1Y2UgY29uZmxpY3QgbWFya2VycyBvciB3aGl0ZXNwYWNlIGVycm9ycyIKK21zZ3N0ciAidmFybmEgb20gw6RuZHJpbmdhciBpbnRyb2R1Y2VyYXIga29uZmxpa3RtYXJrw7ZyZXIgZWxsZXIgYmxhbmtzdGVnc2ZlbCIKKworIzogZGlmZi5jOjUzMDUKK21zZ2lkICJjb25kZW5zZWQgc3VtbWFyeSBzdWNoIGFzIGNyZWF0aW9ucywgcmVuYW1lcyBhbmQgbW9kZSBjaGFuZ2VzIgorbXNnc3RyICJrb3J0ZmF0dGFkIHN1bW1lcmluZyBzw6Vzb20gc2thcGFkZSwgbmFtbmJ5dGVuIG9jaCDDpG5kcmFkZSBsw6RnZW4iCisKKyM6IGRpZmYuYzo1MzA4Cittc2dpZCAic2hvdyBvbmx5IG5hbWVzIG9mIGNoYW5nZWQgZmlsZXMiCittc2dzdHIgInZpc2EgZW5kYXN0IG5hbW5lbiBww6Ugw6RuZHJhZGUgZmlsZXIiCisKKyM6IGRpZmYuYzo1MzExCittc2dpZCAic2hvdyBvbmx5IG5hbWVzIGFuZCBzdGF0dXMgb2YgY2hhbmdlZCBmaWxlcyIKK21zZ3N0ciAidmlzYSBlbmRhc3QgbmFtbiBvY2ggc3RhdHVzIGbDtnIgw6RuZHJhZGUgZmlsZXIiCisKKyM6IGRpZmYuYzo1MzEzCittc2dpZCAiPHdpZHRoPlssPG5hbWUtd2lkdGg+Wyw8Y291bnQ+XV0iCittc2dzdHIgIjxicmVkZD5bLDxuYW1uLWJyZWRkPlssPGFudGFsPl1dIgorCisjOiBkaWZmLmM6NTMxNAorbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IgorbXNnc3RyICJza2FwYSBkaWZmc3RhdCIKKworIzogZGlmZi5jOjUzMTYgZGlmZi5jOjUzMTkgZGlmZi5jOjUzMjIKK21zZ2lkICI8d2lkdGg+IgorbXNnc3RyICI8YnJlZGQ+IgorCisjOiBkaWZmLmM6NTMxNworbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggYSBnaXZlbiB3aWR0aCIKK21zZ3N0ciAiZ2VuZXJlcmEgZW4gZGlmZnN0YXQgbWVkIGdpdmVuIGJyZWRkIgorCisjOiBkaWZmLmM6NTMyMAorbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggYSBnaXZlbiBuYW1lIHdpZHRoIgorbXNnc3RyICJnZW5lcmVyYSBlbiBkaWZmc3RhdCBtZWQgZ2l2ZW4gbmFtbmJyZWRkIgorCisjOiBkaWZmLmM6NTMyMworbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggYSBnaXZlbiBncmFwaCB3aWR0aCIKK21zZ3N0ciAiZ2VuZXJlcmEgZW4gZGlmZnN0YXQgbWVkIGdpdmVuIGdyYWZicmVkZCIKKworIzogZGlmZi5jOjUzMjUKK21zZ2lkICI8Y291bnQ+IgorbXNnc3RyICI8YW50YWw+IgorCisjOiBkaWZmLmM6NTMyNgorbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggbGltaXRlZCBsaW5lcyIKK21zZ3N0ciAiZ2VuZXJlcmEgZGlmZnN0YXQgbWVkIGJlZ3LDpG5zYWRlIHJhZGVyIgorCisjOiBkaWZmLmM6NTMyOQorbXNnaWQgImdlbmVyYXRlIGNvbXBhY3Qgc3VtbWFyeSBpbiBkaWZmc3RhdCIKK21zZ3N0ciAic2thcGEga29tcGFrdCDDtnZlcnNpa3QgaSBkaWZmc3RhdCIKKworIzogZGlmZi5jOjUzMzIKK21zZ2lkICJvdXRwdXQgYSBiaW5hcnkgZGlmZiB0aGF0IGNhbiBiZSBhcHBsaWVkIgorbXNnc3RyICJza2FwYSBlbiBiaW7DpHJkaWZmIHNvbSBrYW4gYXBwbGljZXJhcyIKKworIzogZGlmZi5jOjUzMzUKK21zZ2lkICJzaG93IGZ1bGwgcHJlLSBhbmQgcG9zdC1pbWFnZSBvYmplY3QgbmFtZXMgb24gdGhlIFwiaW5kZXhcIiBsaW5lcyIKK21zZ3N0ciAiIgorInZpc2EgZnVsbHN0w6RuZGlnYSBvYmpla3RuYW1uIGkgXCJpbmRleFwiLXJhZGVyIGbDtnIgbMOkZ2V0IGLDpWRlIGbDtnJlIG9jaCBlZnRlciIKKworIzogZGlmZi5jOjUzMzcKK21zZ2lkICJzaG93IGNvbG9yZWQgZGlmZiIKK21zZ3N0ciAidmlzYSBmw6RyZ2FkIGRpZmYiCisKKyM6IGRpZmYuYzo1MzM4Cittc2dpZCAiPGtpbmQ+IgorbXNnc3RyICI8dHlwPiIKKworIzogZGlmZi5jOjUzMzkKK21zZ2lkICIiCisiaGlnaGxpZ2h0IHdoaXRlc3BhY2UgZXJyb3JzIGluIHRoZSAnY29udGV4dCcsICdvbGQnIG9yICduZXcnIGxpbmVzIGluIHRoZSAiCisiZGlmZiIKK21zZ3N0ciAiIgorImxqdXNtYXJrZXJhIGJsYW5rc3RlZ3NmZWwgaSBcImNvbnRleHRcIiAoc2FtbWFuaGFuZyksIFwib2xkXCIgKGdhbWxhKSBlbGxlciAiCisiXCJuZXdcIiAobnlhKSByYWRlciBpIGRpZmZlbiIKKworIzogZGlmZi5jOjUzNDIKK21zZ2lkICIiCisiZG8gbm90IG11bmdlIHBhdGhuYW1lcyBhbmQgdXNlIE5VTHMgYXMgb3V0cHV0IGZpZWxkIHRlcm1pbmF0b3JzIGluIC0tcmF3IG9yICIKKyItLW51bXN0YXQiCittc2dzdHIgIiIKKyJza3JpdiBpbnRlIG9tIHPDtmt2w6Rnc25hbW4gb2NoIGFudsOkbmQgTlVMLXRlY2tlbiBzb20gZsOkbHRzZXBhcmVyYXJlIGkgLS1yYXcgIgorImVsbGVyIC0tbnVtc3RhdCIKKworIzogZGlmZi5jOjUzNDUgZGlmZi5jOjUzNDggZGlmZi5jOjUzNTEgZGlmZi5jOjU0NTcKK21zZ2lkICI8cHJlZml4PiIKK21zZ3N0ciAiPHByZWZpeD4iCisKKyM6IGRpZmYuYzo1MzQ2Cittc2dpZCAic2hvdyB0aGUgZ2l2ZW4gc291cmNlIHByZWZpeCBpbnN0ZWFkIG9mIFwiYS9cIiIKK21zZ3N0ciAidmlzYSBnaXZldCBrw6RsbHByZWZpeCBpc3TDpGxsZXQgZsO2ciBcImEvXCIiCisKKyM6IGRpZmYuYzo1MzQ5Cittc2dpZCAic2hvdyB0aGUgZ2l2ZW4gZGVzdGluYXRpb24gcHJlZml4IGluc3RlYWQgb2YgXCJiL1wiIgorbXNnc3RyICJ2aXNhIGdpdmV0IG3DpWxwcmVmaXggaXN0w6RsbGV0IGbDtnIgXCJiL1wiIgorCisjOiBkaWZmLmM6NTM1MgorbXNnaWQgInByZXBlbmQgYW4gYWRkaXRpb25hbCBwcmVmaXggdG8gZXZlcnkgbGluZSBvZiBvdXRwdXQiCittc2dzdHIgImzDpGdnIHRpbGwgeXR0ZXJsaWdhcmUgcHJlZml4IHDDpSBhbGxhIHJhZGVyIGkgdXRkYXRhIgorCisjOiBkaWZmLmM6NTM1NQorbXNnaWQgImRvIG5vdCBzaG93IGFueSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gcHJlZml4IgorbXNnc3RyICJ2aXNhIGludGUga8OkbGwtIGVsbGVyIG3DpWxwcmVmaXgiCisKKyM6IGRpZmYuYzo1MzU4Cittc2dpZCAic2hvdyBjb250ZXh0IGJldHdlZW4gZGlmZiBodW5rcyB1cCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBsaW5lcyIKK21zZ3N0ciAidmlzYSBzYW1tbmhhbmcgbWVsbGFuIGRpZmYtc3R5Y2tlbiB1cHAgdGlsbCBhbmdpdmV0IGFudGFsIHJhZGVyIgorCisjOiBkaWZmLmM6NTM2MiBkaWZmLmM6NTM2NyBkaWZmLmM6NTM3MgorbXNnaWQgIjxjaGFyPiIKK21zZ3N0ciAiPHRlY2tlbj4iCisKKyM6IGRpZmYuYzo1MzYzCittc2dpZCAic3BlY2lmeSB0aGUgY2hhcmFjdGVyIHRvIGluZGljYXRlIGEgbmV3IGxpbmUgaW5zdGVhZCBvZiAnKyciCittc2dzdHIgImFuZ2UgdGVja2VuIGbDtnIgYXR0IGFuZ2UgbnkgcmFkIGlzdMOkbGxldCBmw7ZyIFwiK1wiIgorCisjOiBkaWZmLmM6NTM2OAorbXNnaWQgInNwZWNpZnkgdGhlIGNoYXJhY3RlciB0byBpbmRpY2F0ZSBhbiBvbGQgbGluZSBpbnN0ZWFkIG9mICctJyIKK21zZ3N0ciAiYW5nZSB0ZWNrZW4gZsO2ciBhdHQgYW5nZSBnYW1tYWwgcmFkIGlzdMOkbGxldCBmw7ZyIFwiLVwiIgorCisjOiBkaWZmLmM6NTM3MworbXNnaWQgInNwZWNpZnkgdGhlIGNoYXJhY3RlciB0byBpbmRpY2F0ZSBhIGNvbnRleHQgaW5zdGVhZCBvZiAnICciCittc2dzdHIgImFuZ2UgdGVja2VuIGbDtnIgYXR0IGFuZ2Ugc2FtbWFuaGFuZyBpc3TDpGxsZXQgZsO2ciBcIiBcIiIKKworIzogZGlmZi5jOjUzNzYKK21zZ2lkICJEaWZmIHJlbmFtZSBvcHRpb25zIgorbXNnc3RyICJEaWZmLW5hbW5ieXRlc2ZsYWdnb3IiCisKKyM6IGRpZmYuYzo1Mzc3Cittc2dpZCAiPG4+Wy88bT5dIgorbXNnc3RyICI8bj5bLzxtPl0iCisKKyM6IGRpZmYuYzo1Mzc4Cittc2dpZCAiYnJlYWsgY29tcGxldGUgcmV3cml0ZSBjaGFuZ2VzIGludG8gcGFpcnMgb2YgZGVsZXRlIGFuZCBjcmVhdGUiCittc2dzdHIgImRlbGEgdXBwIGtvbXBsZXR0YSBvbXNrcml2bmluZ2FyIHRpbGwgdGEgYm9ydCBvY2ggc2thcGEtcGFyIgorCisjOiBkaWZmLmM6NTM4MgorbXNnaWQgImRldGVjdCByZW5hbWVzIgorbXNnc3RyICJkZXRla3RlcmEgbmFtbsOkbmRyaW5nYXIiCisKKyM6IGRpZmYuYzo1Mzg2Cittc2dpZCAib21pdCB0aGUgcHJlaW1hZ2UgZm9yIGRlbGV0ZXMiCittc2dzdHIgInRhIGJvcnQgZsO2ci12ZXJzaW9uIGbDtnIgYm9ydHRhZ25pbmdhciIKKworIzogZGlmZi5jOjUzODkKK21zZ2lkICJkZXRlY3QgY29waWVzIgorbXNnc3RyICJkZXRla3RlcmEga29waW9yIgorCisjOiBkaWZmLmM6NTM5MworbXNnaWQgInVzZSB1bm1vZGlmaWVkIGZpbGVzIGFzIHNvdXJjZSB0byBmaW5kIGNvcGllcyIKK21zZ3N0ciAiYW52w6RuZCBvZsO2csOkbmRyYWRlIHNvbSBrw6RsbGEgZsO2ciBhdHQgaGl0dGEga29waW9yIgorCisjOiBkaWZmLmM6NTM5NQorbXNnaWQgImRpc2FibGUgcmVuYW1lIGRldGVjdGlvbiIKK21zZ3N0ciAiaW5ha3RpdmVyYSBkZXRla3RlcmluZyBhdiBuYW1uYnl0ZW4iCisKKyM6IGRpZmYuYzo1Mzk4Cittc2dpZCAidXNlIGVtcHR5IGJsb2JzIGFzIHJlbmFtZSBzb3VyY2UiCittc2dzdHIgImFudsOkbmQgdG9tbWEgYmxvYjphciBzb20gbmFtbsOkbmRyaW5nc2vDpGxsYSIKKworIzogZGlmZi5jOjU0MDAKK21zZ2lkICJjb250aW51ZSBsaXN0aW5nIHRoZSBoaXN0b3J5IG9mIGEgZmlsZSBiZXlvbmQgcmVuYW1lcyIKK21zZ3N0ciAiZm9ydHPDpHR0IGxpc3RhIGhpc3RvcmlrZW4gZsO2ciBlbiBmaWwgYm9ydG9tIG5hbW7DpG5kcmluZ2FyIgorCisjOiBkaWZmLmM6NTQwMworbXNnaWQgIiIKKyJwcmV2ZW50IHJlbmFtZS9jb3B5IGRldGVjdGlvbiBpZiB0aGUgbnVtYmVyIG9mIHJlbmFtZS9jb3B5IHRhcmdldHMgZXhjZWVkcyAiCisiZ2l2ZW4gbGltaXQiCittc2dzdHIgIiIKKyJmw7ZyaGluZHJhIG5hbW5ieXRlL2tvcGllLWRldGVrdGVyaW5nIG9tIGFudGFsZXQgbmFtbmJ5dGVuL2tvcGlvciDDtnZlcnNrcml2ZXIgIgorImdpdmVuIGdyw6RucyIKKworIzogZGlmZi5jOjU0MDUKK21zZ2lkICJEaWZmIGFsZ29yaXRobSBvcHRpb25zIgorbXNnc3RyICJBbHRlcm5hdGl2IGbDtnIgZGlmZi1hbGdvcml0bSIKKworIzogZGlmZi5jOjU0MDcKK21zZ2lkICJwcm9kdWNlIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBkaWZmIgorbXNnc3RyICJza2FwYSBtaW5zdGEgbcO2amxpZ2EgZGlmZiIKKworIzogZGlmZi5jOjU0MTAKK21zZ2lkICJpZ25vcmUgd2hpdGVzcGFjZSB3aGVuIGNvbXBhcmluZyBsaW5lcyIKK21zZ3N0ciAiaWdub3JlcmEgYmxhbmt0ZWNrZW4gdmlkIHJhZGrDpG1mw7ZyZWxzZSIKKworIzogZGlmZi5jOjU0MTMKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiBhbW91bnQgb2Ygd2hpdGVzcGFjZSIKK21zZ3N0ciAiaWdub3JlcmEgw6RuZHJpbmdhciBpIGFudGFsIGJsYW5rdGVja2VuIHZpZCByYWRqw6RtZsO2cmVsc2UiCisKKyM6IGRpZmYuYzo1NDE2Cittc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSBhdCBFT0wiCittc2dzdHIgImlnbm9yZXJhIGJsYW5rdGVja2VuIHZpZCByYWRzbHV0IgorCisjOiBkaWZmLmM6NTQxOQorbXNnaWQgImlnbm9yZSBjYXJyaWVyLXJldHVybiBhdCB0aGUgZW5kIG9mIGxpbmUiCittc2dzdHIgImlnbm9yZXJhIENSLXRlY2tlbiB2aWQgcmFkc2x1dCIKKworIzogZGlmZi5jOjU0MjIKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyB3aG9zZSBsaW5lcyBhcmUgYWxsIGJsYW5rIgorbXNnc3RyICJpZ25vcmVyYSDDpG5kcmluZ2FyIGkgcmFkZXIgc29tIMOkciBoZWx0IGJsYW5rYSIKKworIzogZGlmZi5jOjU0MjUKK21zZ2lkICJoZXVyaXN0aWMgdG8gc2hpZnQgZGlmZiBodW5rIGJvdW5kYXJpZXMgZm9yIGVhc3kgcmVhZGluZyIKK21zZ3N0ciAiaGV1cmlzdGlrIGbDtnIgYXR0IGZseXR0YSBkaWZmLWdyw6Ruc2VyIGbDtnIgbMOkdHRhcmUgbMOkc25pbmciCisKKyM6IGRpZmYuYzo1NDI4Cittc2dpZCAiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJwYXRpZW5jZSBkaWZmXCIgYWxnb3JpdGhtIgorbXNnc3RyICJza2FwYSBkaWZmYXIgbWVkIGFsZ29yaXRtZW4gXCJwYXRpZW5jZSBkaWZmXCIiCisKKyM6IGRpZmYuYzo1NDMyCittc2dpZCAiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJoaXN0b2dyYW0gZGlmZlwiIGFsZ29yaXRobSIKK21zZ3N0ciAic2thcGEgZGlmZmFyIG1lZCBhbGdvcml0bWVuIFwiaGlzdG9ncmFtIGRpZmZcIiIKKworIzogZGlmZi5jOjU0MzQKK21zZ2lkICI8YWxnb3JpdGhtPiIKK21zZ3N0ciAiPGFsZ29yaXRtPiIKKworIzogZGlmZi5jOjU0MzUKK21zZ2lkICJjaG9vc2UgYSBkaWZmIGFsZ29yaXRobSIKK21zZ3N0ciAidsOkbGogZW4gZGlmZi1hbGdvcml0bSIKKworIzogZGlmZi5jOjU0MzcKK21zZ2lkICI8dGV4dD4iCittc2dzdHIgIjx0ZXh0PiIKKworIzogZGlmZi5jOjU0MzgKK21zZ2lkICJnZW5lcmF0ZSBkaWZmIHVzaW5nIHRoZSBcImFuY2hvcmVkIGRpZmZcIiBhbGdvcml0aG0iCittc2dzdHIgInNrYXBhIGRpZmZhciBtZWQgYWxnb3JpdG1lbiBcImFuY2hvcmVkIGRpZmZcIiIKKworIzogZGlmZi5jOjU0NDAgZGlmZi5jOjU0NDkgZGlmZi5jOjU0NTIKK21zZ2lkICI8bW9kZT4iCittc2dzdHIgIjxsw6RnZT4iCisKKyM6IGRpZmYuYzo1NDQxCittc2dpZCAic2hvdyB3b3JkIGRpZmYsIHVzaW5nIDxtb2RlPiB0byBkZWxpbWl0IGNoYW5nZWQgd29yZHMiCittc2dzdHIgInZpc2Egb3JkZGlmZiwgZMOkciA8bMOkZ2U+IGF2Z3LDpG5zYXIgw6RuZHJhZGUgb3JkIgorCisjOiBkaWZmLmM6NTQ0MyBkaWZmLmM6NTQ0NiBkaWZmLmM6NTQ5MQorbXNnaWQgIjxyZWdleD4iCittc2dzdHIgIjxyZWd1dHRyPiIKKworIzogZGlmZi5jOjU0NDQKK21zZ2lkICJ1c2UgPHJlZ2V4PiB0byBkZWNpZGUgd2hhdCBhIHdvcmQgaXMiCittc2dzdHIgImFudsOkbmQgPHJlZ3V0dHI+IGbDtnIgYXR0IGJlc3TDpG1tYSB2YWQgc29tIMOkciBldHQgb3JkIgorCisjOiBkaWZmLmM6NTQ0NworbXNnaWQgImVxdWl2YWxlbnQgdG8gLS13b3JkLWRpZmY9Y29sb3IgLS13b3JkLWRpZmYtcmVnZXg9PHJlZ2V4PiIKK21zZ3N0ciAibW90c3ZhcmFyIC0td29yZC1kaWZmPWNvbG9yIC0td29yZC1kaWZmLXJlZ2V4PTxyZWd1dHRyPiIKKworIzogZGlmZi5jOjU0NTAKK21zZ2lkICJtb3ZlZCBsaW5lcyBvZiBjb2RlIGFyZSBjb2xvcmVkIGRpZmZlcmVudGx5IgorbXNnc3RyICJmbHl0dGFkZSBrb2RyYWRlciBmw6RyZ2FzIHDDpSBhbm5hdCBzw6R0dCIKKworIzogZGlmZi5jOjU0NTMKK21zZ2lkICJob3cgd2hpdGUgc3BhY2VzIGFyZSBpZ25vcmVkIGluIC0tY29sb3ItbW92ZWQiCittc2dzdHIgImh1ciBibGFua3RlY2tlbiBpZ25vcmVyYXMgaSAtLWNvbG9yLW1vdmVkIgorCisjOiBkaWZmLmM6NTQ1NgorbXNnaWQgIk90aGVyIGRpZmYgb3B0aW9ucyIKK21zZ3N0ciAiQW5kcmEgZGlmZi1mbGFnZ29yIgorCisjOiBkaWZmLmM6NTQ1OAorbXNnaWQgIndoZW4gcnVuIGZyb20gc3ViZGlyLCBleGNsdWRlIGNoYW5nZXMgb3V0c2lkZSBhbmQgc2hvdyByZWxhdGl2ZSBwYXRocyIKK21zZ3N0ciAiIgorInZpZCBzdGFydCBmcsOlbiB1bmRlcmthdGFsb2csIHV0ZXNsdXQgw6RuZHJpbmdhciB1dGFuZsO2ciBvY2ggdmlzYSByZWxhdGl2YSAiCisic8O2a3bDpGdhciIKKworIzogZGlmZi5jOjU0NjIKK21zZ2lkICJ0cmVhdCBhbGwgZmlsZXMgYXMgdGV4dCIKK21zZ3N0ciAiaGFudGVyYSBhbGxhIGZpbGVyIHNvbSB0ZXh0IgorCisjOiBkaWZmLmM6NTQ2NAorbXNnaWQgInN3YXAgdHdvIGlucHV0cywgcmV2ZXJzZSB0aGUgZGlmZiIKK21zZ3N0ciAidsOkeGxhIHR2w6UgaW5kYXRhZmlsZXIsIHbDpG5kIGRpZmZlbiIKKworIzogZGlmZi5jOjU0NjYKK21zZ2lkICJleGl0IHdpdGggMSBpZiB0aGVyZSB3ZXJlIGRpZmZlcmVuY2VzLCAwIG90aGVyd2lzZSIKK21zZ3N0ciAiYXZzbHV0YSBtZWQgMSB2aWQgw6RuZHJpbmdhciwgYW5uYXJzIDAiCisKKyM6IGRpZmYuYzo1NDY4Cittc2dpZCAiZGlzYWJsZSBhbGwgb3V0cHV0IG9mIHRoZSBwcm9ncmFtIgorbXNnc3RyICJzbMOlIGF2IGFsbGEgdXRkYXRhIGZyw6VuIHByb2dyYW1tZXQiCisKKyM6IGRpZmYuYzo1NDcwCittc2dpZCAiYWxsb3cgYW4gZXh0ZXJuYWwgZGlmZiBoZWxwZXIgdG8gYmUgZXhlY3V0ZWQiCittc2dzdHIgInRpbGzDpXQga8O2cmEgZW4gZXh0ZXJuIGRpZmYtaGrDpGxwYXJlIgorCisjOiBkaWZmLmM6NTQ3MgorbXNnaWQgInJ1biBleHRlcm5hbCB0ZXh0IGNvbnZlcnNpb24gZmlsdGVycyB3aGVuIGNvbXBhcmluZyBiaW5hcnkgZmlsZXMiCittc2dzdHIgImvDtnIgZXh0ZXJudCB0ZXh0a29udmVydGVyaW5nc2ZpbGVyIG7DpHIgYmluw6RyZmlsZXIgasOkbWbDtnJzIgorCisjOiBkaWZmLmM6NTQ3NAorbXNnaWQgIjx3aGVuPiIKK21zZ3N0ciAiPG7DpHI+IgorCisjOiBkaWZmLmM6NTQ3NQorbXNnaWQgImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMgaW4gdGhlIGRpZmYgZ2VuZXJhdGlvbiIKK21zZ3N0ciAiaWdub3JlcmEgw6RuZHJpbmdhciBpIHVuZGVybW9kdWxlciBuw6RyIGRpZmZlbiBza2FwYXMiCisKKyM6IGRpZmYuYzo1NDc4Cittc2dpZCAiPGZvcm1hdD4iCittc2dzdHIgIjxmb3JtYXQ+IgorCisjOiBkaWZmLmM6NTQ3OQorbXNnaWQgInNwZWNpZnkgaG93IGRpZmZlcmVuY2VzIGluIHN1Ym1vZHVsZXMgYXJlIHNob3duIgorbXNnc3RyICJhbmdlIGh1ciDDpG5kcmluZ2FyIGkgdW5kZXJtb2R1bGVyIHZpc2FzIgorCisjOiBkaWZmLmM6NTQ4MworbXNnaWQgImhpZGUgJ2dpdCBhZGQgLU4nIGVudHJpZXMgZnJvbSB0aGUgaW5kZXgiCittc2dzdHIgImTDtmxqIFwiZ2l0IGFkZCAtTlwiLXBvc3RlciBmcsOlbiBpbmRleGV0IgorCisjOiBkaWZmLmM6NTQ4NgorbXNnaWQgInRyZWF0ICdnaXQgYWRkIC1OJyBlbnRyaWVzIGFzIHJlYWwgaW4gdGhlIGluZGV4IgorbXNnc3RyICJ0b2xrYSBcImdpdCBhZGQgLU5cIi1wb3N0ZXIgc29tIMOka3RhIGkgaW5kZXhldCIKKworIzogZGlmZi5jOjU0ODgKK21zZ2lkICI8c3RyaW5nPiIKK21zZ3N0ciAiPHN0csOkbmc+IgorCisjOiBkaWZmLmM6NTQ4OQorbXNnaWQgIiIKKyJsb29rIGZvciBkaWZmZXJlbmNlcyB0aGF0IGNoYW5nZSB0aGUgbnVtYmVyIG9mIG9jY3VycmVuY2VzIG9mIHRoZSBzcGVjaWZpZWQgIgorInN0cmluZyIKK21zZ3N0ciAic2UgZWZ0ZXIgw6RuZHJpbmdhciBzb20gw6RuZHJhciBhbnRhbGV0IGbDtnJla29tc3RlciBhdiBhbmdpdmVuIHN0csOkbmciCisKKyM6IGRpZmYuYzo1NDkyCittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisicmVnZXgiCittc2dzdHIgIiIKKyJzZSBlZnRlciDDpG5kcmluZ2FyIHNvbSDDpG5kcmFyIGFudGFsZXQgZsO2cmVrb21zdGVyIGF2IGFuZ2l2ZXQgcmVndWxqw6RydCAiCisidXR0cnljayIKKworIzogZGlmZi5jOjU0OTUKK21zZ2lkICJzaG93IGFsbCBjaGFuZ2VzIGluIHRoZSBjaGFuZ2VzZXQgd2l0aCAtUyBvciAtRyIKK21zZ3N0ciAidmlzYSBhbGxhIMOkbmRyaW5nYXIgaSDDpG5kcmluZ3N1cHBzw6R0dG5pbmdlbiBtZWQgLVMgZWxsZXIgLUciCisKKyM6IGRpZmYuYzo1NDk4Cittc2dpZCAidHJlYXQgPHN0cmluZz4gaW4gLVMgYXMgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICJ0b2xrYSA8c3Ryw6RuZz4gaSAtUyBzb20gdXTDtmthZGUgUE9TSVgtcmVndWxqw6RyYSB1dHRyeWNrIgorCisjOiBkaWZmLmM6NTUwMQorbXNnaWQgImNvbnRyb2wgdGhlIG9yZGVyIGluIHdoaWNoIGZpbGVzIGFwcGVhciBpbiB0aGUgb3V0cHV0IgorbXNnc3RyICJzdHlyIG9yZG5pbmdlbiBpIHZpbGtlbiBmaWxlciB2aXNhcyBpIHV0ZGF0YSIKKworIzogZGlmZi5jOjU1MDIKK21zZ2lkICI8b2JqZWN0LWlkPiIKK21zZ3N0ciAiPG9iamVrdC1pZD4iCisKKyM6IGRpZmYuYzo1NTAzCittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisib2JqZWN0IgorbXNnc3RyICJzZSBlZnRlciDDpG5kcmluZ2FyIHNvbSDDpG5kcmFyIGFudGFsZXQgZsO2cmVrb21zdGVyIGF2IGFuZ2l2ZXQgb2JqZWt0IgorCisjOiBkaWZmLmM6NTUwNQorbXNnaWQgIlsoQXxDfER8TXxSfFR8VXxYfEIpLi4uWypdXSIKK21zZ3N0ciAiWyhBfEN8RHxNfFJ8VHxVfFh8QikuLi5bKl1dIgorCisjOiBkaWZmLmM6NTUwNgorbXNnaWQgInNlbGVjdCBmaWxlcyBieSBkaWZmIHR5cGUiCittc2dzdHIgInbDpGxqIGZpbHRlciBlZnRlciBkaWZmLXR5cCIKKworIzogZGlmZi5jOjU1MDgKK21zZ2lkICI8ZmlsZT4iCittc2dzdHIgIjxmaWw+IgorCisjOiBkaWZmLmM6NTUwOQorbXNnaWQgIk91dHB1dCB0byBhIHNwZWNpZmljIGZpbGUiCittc2dzdHIgIlNrcml2IHV0ZGF0YSB0aWxsIGVuIHNwZWNpZmlrIGZpbCIKKworIzogZGlmZi5jOjYxNjQKIG1zZ2lkICJpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24gd2FzIHNraXBwZWQgZHVlIHRvIHRvbyBtYW55IGZpbGVzLiIKIG1zZ3N0ciAiIgogIm9uw7ZqYWt0aWcgbmFtbmJ5dGVzZGV0ZWt0ZXJpbmcgdXRmw7ZyZGVzIGludGUgcMOlIGdydW5kIGF2IGbDtnIgbcOlbmdhIGZpbGVyLiIKIAotIzogZGlmZi5jOjU4MjYKKyM6IGRpZmYuYzo2MTY3CiBtc2dpZCAib25seSBmb3VuZCBjb3BpZXMgZnJvbSBtb2RpZmllZCBwYXRocyBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgogbXNnc3RyICJoaXR0YWRlIGJhcmEga29waW9yIGZyw6VuIMOkbmRyYWRlIHPDtmt2w6RnYXIgcMOlIGdydW5kIGF2IGbDtnIgbcOlbmdhIGZpbGVyLiIKIAotIzogZGlmZi5jOjU4MjkKKyM6IGRpZmYuYzo2MTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ5b3UgbWF5IHdhbnQgdG8gc2V0IHlvdXIgJXMgdmFyaWFibGUgdG8gYXQgbGVhc3QgJWQgYW5kIHJldHJ5IHRoZSBjb21tYW5kLiIKIG1zZ3N0ciAiIgogImR1IGthbiBzw6R0dGEgdmFyaWFiZWxuICVzIHRpbGwgw6V0bWluc3RvbmUgJWQgb2NoIGbDtnJzw7ZrYSBrb21tYW5kb3QgcMOlIG55dHQuIgogCi0jOiBkaXIuYzo1NzYKKyM6IGRpci5jOjU1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGUocykga25vd24gdG8gZ2l0IgogbXNnc3RyICJzw7ZrdsOkZ3NhbmdpdmVsc2VuIFwiJXNcIiBtb3RzdmFyYWRlIGludGUgbsOlZ3JhIGF2IGdpdCBrw6RuZGEgZmlsZXIiCiAKLSM6IGRpci5jOjk2NQorIzogZGlyLmM6NjY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBwYXR0ZXJuOiAnJXMnIgorbXNnc3RyICJva8OkbnQgbcO2bnN0ZXI6ICVzIgorCisjOiBkaXIuYzo2ODIgZGlyLmM6Njk2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBuZWdhdGl2ZSBwYXR0ZXJuOiAnJXMnIgorbXNnc3RyICJva8OkbnQgbmVnYXRpdnQgbcO2bnN0ZXI6ICVzIgorCisjOiBkaXIuYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBzcGFyc2UtY2hlY2tvdXQgZmlsZSBtYXkgaGF2ZSBpc3N1ZXM6IHBhdHRlcm4gJyVzJyBpcyByZXBlYXRlZCIKK21zZ3N0ciAiIgorImRpbiBcInNwYXJzZS1jaGVja291dFwiLWZpbCBrYW4gaGEgcHJvYmxlbTogbcO2bnN0cmV0IFwiJXNcIiBmw7ZyZWtvbW1lciBmbGVyYSAiCisiZ8OlbmdlciIKKworIzogZGlyLmM6NzI0Cittc2dpZCAiZGlzYWJsaW5nIGNvbmUgcGF0dGVybiBtYXRjaGluZyIKK21zZ3N0ciAiaW5ha3RpdmVyYXIga29ubcO2bnN0ZXJtYXRjaG5pbmciCisKKyM6IGRpci5jOjExMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHVzZSAlcyBhcyBhbiBleGNsdWRlIGZpbGUiCiBtc2dzdHIgImthbiBpbnRlIGFudsOkbmRhICVzIHNvbSBleGtsdWRlcmluZ3NmaWwiCiAKLSM6IGRpci5jOjE4ODAKKyM6IGRpci5jOjIwNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgw7ZwcG5hIGthdGFsb2dlbiBcIiVzXCIiCiAKLSM6IGRpci5jOjIxMjIKKyM6IGRpci5jOjI0MTUKIG1zZ2lkICJmYWlsZWQgdG8gZ2V0IGtlcm5lbCBuYW1lIGFuZCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGjDpG10YSBrw6RybmFucyBuYW1uIG9jaCBpbmZvcm1hdGlvbiIKIAotIzogZGlyLmM6MjI0NgorIzogZGlyLmM6MjUzOQogbXNnaWQgInVudHJhY2tlZCBjYWNoZSBpcyBkaXNhYmxlZCBvbiB0aGlzIHN5c3RlbSBvciBsb2NhdGlvbiIKIG1zZ3N0ciAib3Nww6VyYWQgY2FjaGUgw6RyIGluYWt0aXZlcmFkIHDDpSBzeXN0ZW1ldCBlbGxlciBwbGF0c2VuIgogCi0jOiBkaXIuYzozMDQ3CisjOiBkaXIuYzozMzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCBpbiByZXBvICVzIgogbXNnc3RyICJpbmRleGZpbGVuIHRyYXNpZyBpIGFya2l2ZXQgJXMiCiAKLSM6IGRpci5jOjMwOTIgZGlyLmM6MzA5NworIzogZGlyLmM6MzM4OCBkaXIuYzozMzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3JpZXMgZm9yICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrYXBhIGthdGFsb2dlciBmw7ZyICVzIgogCi0jOiBkaXIuYzozMTI2CisjOiBkaXIuYzozNDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBtaWdyYXRlIGdpdCBkaXJlY3RvcnkgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgbWlncmVyYSBnaXQta2F0YWxvZyBmcsOlbiBcIiVzXCIgdGlsbCBcIiVzXCIiCkBAIC0yMzMwLDI5OCArMzQ4NSwyOTAgQEAKIG1zZ2lkICJGaWx0ZXJpbmcgY29udGVudCIKIG1zZ3N0ciAiRmlsdHJlcmFyIGlubmVow6VsbCIKIAotIzogZW50cnkuYzo0NjUKKyM6IGVudHJ5LmM6NDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGF0IGZpbGUgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0YSBzdGF0dXMgcMOlIGZpbGVuIFwiJXNcIiIKIAotIzogZW52aXJvbm1lbnQuYzoxNTAKKyM6IGVudmlyb25tZW50LmM6MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBnaXQgbmFtZXNwYWNlIHBhdGggXCIlc1wiIgogbXNnc3RyICJmZWxha3RpZyBnaXQtbmFtbnJ5bWRzc8O2a3bDpGcgXCIlc1wiIgogCi0jOiBlbnZpcm9ubWVudC5jOjMzMgorIzogZW52aXJvbm1lbnQuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCBHSVRfRElSIHRvICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc3TDpGxsYSBpbiBHSVRfRElSIHRpbGwgXCIlc1wiIgogCi0jOiBleGVjLWNtZC5jOjM2MQorIzogZXhlYy1jbWQuYzozNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidG9vIG1hbnkgYXJncyB0byBydW4gJXMiCiBtc2dzdHIgImbDtnIgbcOlbmdhIGZsYWdnb3IgZsO2ciBhdHQga8O2cmEgJXMiCiAKLSM6IGZldGNoLW9iamVjdC5jOjE3Ci1tc2dpZCAiUmVtb3RlIHdpdGggbm8gVVJMIgotbXNnc3RyICJGasOkcnIgdXRhbiBVUkwiCi0KLSM6IGZldGNoLXBhY2suYzoxNTEKKyM6IGZldGNoLXBhY2suYzoxNTAKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgc2hhbGxvdyBsaXN0IgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogZsO2cnbDpG50YWRlIGdydW5kIGxpc3RhIgogCi0jOiBmZXRjaC1wYWNrLmM6MTYzCisjOiBmZXRjaC1wYWNrLmM6MTUzCittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIGEgZmx1c2ggcGFja2V0IGFmdGVyIHNoYWxsb3cgbGlzdCIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGbDtnJ2w6RudGFkZSBldHQgZmx1c2gtcGFrZXQgZWZ0ZXIgZ3J1bmQgbGlzdGEiCisKKyM6IGZldGNoLXBhY2suYzoxNjQKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290IGEgZmx1c2ggcGFja2V0IgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogZsO2cnbDpG50YWRlIEFDSy9OQUssIGZpY2sgZmx1c2gtcGFrZXQiCiAKLSM6IGZldGNoLXBhY2suYzoxODMKKyM6IGZldGNoLXBhY2suYzoxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCAnJXMnIgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogZsO2cnbDpG50YWRlIEFDSy9OQUssIGZpY2sgXCIlc1wiIgogCi0jOiBmZXRjaC1wYWNrLmM6MjUzCi1tc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKLW1zZ3N0ciAiLS1zdGF0ZWxlc3MtcnBjIGtyw6R2ZXIg4oCdbXVsdGlfYWNrX2RldGFpbGVk4oCdIgorIzogZmV0Y2gtcGFjay5jOjE5NQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0byByZW1vdGUiCittc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIHRpbGwgZmrDpHJyZW4iCiAKLSM6IGZldGNoLXBhY2suYzozNDcgZmV0Y2gtcGFjay5jOjEyNzcKKyM6IGZldGNoLXBhY2suYzoyNTcKK21zZ2lkICItLXN0YXRlbGVzcy1ycGMgcmVxdWlyZXMgbXVsdGlfYWNrX2RldGFpbGVkIgorbXNnc3RyICItLXN0YXRlbGVzcy1ycGMga3LDpHZlciBcIm11bHRpX2Fja19kZXRhaWxlZFwiIgorCisjOiBmZXRjaC1wYWNrLmM6MzU2IGZldGNoLXBhY2suYzoxMzQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIKIG1zZ3N0ciAib2dpbHRpZyBcInNoYWxsb3dcIi1yYWQ6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzUzIGZldGNoLXBhY2suYzoxMjgzCisjOiBmZXRjaC1wYWNrLmM6MzYyIGZldGNoLXBhY2suYzoxMzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdW5zaGFsbG93IGxpbmU6ICVzIgogbXNnc3RyICJvZ2lsdGlnIFwidW5zaGFsbG93XCItcmFkOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM1NSBmZXRjaC1wYWNrLmM6MTI4NQorIzogZmV0Y2gtcGFjay5jOjM2NCBmZXRjaC1wYWNrLmM6MTM0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3Qgbm90IGZvdW5kOiAlcyIKIG1zZ3N0ciAib2JqZWt0ZXQgaGl0dGFkZXMgaW50ZTogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozNTggZmV0Y2gtcGFjay5jOjEyODgKKyM6IGZldGNoLXBhY2suYzozNjcgZmV0Y2gtcGFjay5jOjEzNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW4gb2JqZWN0OiAlcyIKIG1zZ3N0ciAiZmVsIGkgb2JqZWt0OiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM2MCBmZXRjaC1wYWNrLmM6MTI5MAorIzogZmV0Y2gtcGFjay5jOjM2OSBmZXRjaC1wYWNrLmM6MTM1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzaGFsbG93IGZvdW5kOiAlcyIKIG1zZ3N0ciAiaW5nZW4gXCJzaGFsbG93XCIgaGl0dGFkZXM6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzYzIGZldGNoLXBhY2suYzoxMjkzCisjOiBmZXRjaC1wYWNrLmM6MzcyIGZldGNoLXBhY2suYzoxMzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiCiBtc2dzdHIgImbDtnJ2w6RudGFkZSBzaGFsbG93L3Vuc2hhbGxvdywgZmljayAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjQwNAorIzogZmV0Y2gtcGFjay5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJnb3QgJXMgJWQgJXMiCiBtc2dzdHIgImZpY2sgJXMgJWQgJXMiCiAKLSM6IGZldGNoLXBhY2suYzo0MjEKKyM6IGZldGNoLXBhY2suYzo0MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb21taXQgJXMiCiBtc2dzdHIgIm9naWx0aWcgaW5jaGVja25pbmcgJXMiCiAKLSM6IGZldGNoLXBhY2suYzo0NTIKKyM6IGZldGNoLXBhY2suYzo0NjIKIG1zZ2lkICJnaXZpbmcgdXAiCiBtc2dzdHIgImdlciB1cHAiCiAKLSM6IGZldGNoLXBhY2suYzo0NjQgcHJvZ3Jlc3MuYzoyMjkKKyM6IGZldGNoLXBhY2suYzo0NzUgcHJvZ3Jlc3MuYzozMjMKIG1zZ2lkICJkb25lIgogbXNnc3RyICJrbGFydCIKIAotIzogZmV0Y2gtcGFjay5jOjQ3NgorIzogZmV0Y2gtcGFjay5jOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJnb3QgJXMgKCVkKSAlcyIKIG1zZ3N0ciAiZmljayAlcyAoJWQpICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NTIyCisjOiBmZXRjaC1wYWNrLmM6NTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hcmtpbmcgJXMgYXMgY29tcGxldGUiCiBtc2dzdHIgIk1hcmtlcmFyICVzIHNvbSBrb21wbGV0dCIKIAotIzogZmV0Y2gtcGFjay5jOjc2NAorIzogZmV0Y2gtcGFjay5jOjc1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJhbHJlYWR5IGhhdmUgJXMgKCVzKSIKIG1zZ3N0ciAiaGFyIHJlZGFuICVzICglcykiCiAKLSM6IGZldGNoLXBhY2suYzo4MDMKKyM6IGZldGNoLXBhY2suYzo4MTgKIG1zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKIG1zZ3N0ciAiZmV0Y2gtcGF0Y2g6IGt1bmRlIGludGUgZ3JlbmEgYXYgc2lkYmFuZHNtdWx0aXBsZXhhcmUiCiAKLSM6IGZldGNoLXBhY2suYzo4MTEKKyM6IGZldGNoLXBhY2suYzo4MjYKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIHBhY2sgaGVhZGVyIgogbXNnc3RyICJwcm90b2tvbGxmZWw6IGZlbGFrdGlndCBwYWNraHV2dWQiCiAKLSM6IGZldGNoLXBhY2suYzo4NzkKKyM6IGZldGNoLXBhY2suYzo5MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmICVzIgogbXNnc3RyICJmZXRjaC1wYXRjaDoga3VuZGUgaW50ZSBncmVuYSBhdiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjg5NQorIzogZmV0Y2gtcGFjay5jOjkxNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBmYWlsZWQiCiBtc2dzdHIgIiVzIG1pc3NseWNrYWRlcyIKIAotIzogZmV0Y2gtcGFjay5jOjg5NworIzogZmV0Y2gtcGFjay5jOjkxOAogbXNnaWQgImVycm9yIGluIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCiBtc2dzdHIgImZlbCBpIHNpZGJhbmRzLWF2bXVsdGlwbGV4YXJlIgogCi0jOiBmZXRjaC1wYWNrLmM6OTI2Ci1tc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgotbXNnc3RyICJTZXJ2ZXJuIHN0w7ZkZXIgaW50ZSBrbGllbnRlciBtZWQgZ3J1bmRhIGFya2l2IgotCi0jOiBmZXRjaC1wYWNrLmM6OTMwCi1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2Fja19kZXRhaWxlZCIKLW1zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIFwibXVsdGlfYWNrX2RldGFpbGVkXCIiCi0KLSM6IGZldGNoLXBhY2suYzo5MzMKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbm8tZG9uZSIKLW1zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIFwibm8tZG9uZVwiIgotCi0jOiBmZXRjaC1wYWNrLmM6OTM5Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2FjayIKLW1zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIFwibXVsdGlfYWNrXCIiCi0KLSM6IGZldGNoLXBhY2suYzo5NDMKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kLTY0ayIKLW1zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIFwic2lkZS1iYW5kLTY0a1wiIgotCi0jOiBmZXRjaC1wYWNrLmM6OTQ3Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZCIKLW1zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIFwic2lkZS1iYW5kXCIiCi0KLSM6IGZldGNoLXBhY2suYzo5NTEKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgYWxsb3ctdGlwLXNoYTEtaW4td2FudCIKLW1zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIFwiYWxsb3ctdGlwLXNoYTEtaW4td2FudFwiIgotCi0jOiBmZXRjaC1wYWNrLmM6OTU1Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCi1tc2dzdHIgIlNlcnZlcm4gc3TDtmRlciBcImFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnRcIiIKLQogIzogZmV0Y2gtcGFjay5jOjk2NQotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBvZnMtZGVsdGEiCi1tc2dzdHIgIlNlcnZlcm4gc3TDtmRlciBcIm9mcy1kZWx0YVwiIgotCi0jOiBmZXRjaC1wYWNrLmM6OTcxIGZldGNoLXBhY2suYzoxMTU4Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIGZpbHRlciIKLW1zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIGZpbHRlciIKLQotIzogZmV0Y2gtcGFjay5jOjk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgdmVyc2lvbiBpcyAlLipzIgogbXNnc3RyICJTZXJ2ZXJ2ZXJzaW9uZW4gw6RyICUuKnMiCiAKLSM6IGZldGNoLXBhY2suYzo5ODUKKyM6IGZldGNoLXBhY2suYzo5NzAgZmV0Y2gtcGFjay5jOjk3NiBmZXRjaC1wYWNrLmM6OTc5IGZldGNoLXBhY2suYzo5ODUKKyM6IGZldGNoLXBhY2suYzo5ODkgZmV0Y2gtcGFjay5jOjk5MyBmZXRjaC1wYWNrLmM6OTk3IGZldGNoLXBhY2suYzoxMDAxCisjOiBmZXRjaC1wYWNrLmM6MTAwNSBmZXRjaC1wYWNrLmM6MTAwOSBmZXRjaC1wYWNrLmM6MTAxMyBmZXRjaC1wYWNrLmM6MTAxNworIzogZmV0Y2gtcGFjay5jOjEwMjMgZmV0Y2gtcGFjay5jOjEwMjkgZmV0Y2gtcGFjay5jOjEwMzQgZmV0Y2gtcGFjay5jOjEwMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzICVzIgorbXNnc3RyICJTZXJ2ZXJuIHN0w7ZkZXIgJXMiCisKKyM6IGZldGNoLXBhY2suYzo5NzIKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNsaWVudHMiCittc2dzdHIgIlNlcnZlcm4gc3TDtmRlciBpbnRlIGtsaWVudGVyIG1lZCBncnVuZGEgYXJraXYiCisKKyM6IGZldGNoLXBhY2suYzoxMDMyCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LXNpbmNlIgogbXNnc3RyICJTZXJ2ZXJuIHN0w7ZkZXIgaW50ZSAtLXNoYWxsb3ctc2luY2UiCiAKLSM6IGZldGNoLXBhY2suYzo5ODkKKyM6IGZldGNoLXBhY2suYzoxMDM3CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LWV4Y2x1ZGUiCiBtc2dzdHIgIlNlcnZlcm4gc3TDtmRlciBpbnRlIC0tc2hhbGxvdy1leGNsdWRlIgogCi0jOiBmZXRjaC1wYWNrLmM6OTkxCisjOiBmZXRjaC1wYWNrLmM6MTA0MQogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tZGVlcGVuIgogbXNnc3RyICJTZXJ2ZXJuIHN0w7ZkZXIgaW50ZSAtLWRlZXBlbiIKIAotIzogZmV0Y2gtcGFjay5jOjEwMDgKKyM6IGZldGNoLXBhY2suYzoxMDU4CiBtc2dpZCAibm8gY29tbW9uIGNvbW1pdHMiCiBtc2dzdHIgImluZ2EgZ2VtZW5zYW1tYSBpbmNoZWNrbmluZ2FyIgogCi0jOiBmZXRjaC1wYWNrLmM6MTAyMCBmZXRjaC1wYWNrLmM6MTQxOAorIzogZmV0Y2gtcGFjay5jOjEwNzAgZmV0Y2gtcGFjay5jOjE1MzYKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZmV0Y2ggZmFpbGVkLiIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhdGNoOiBow6RtdG5pbmcgbWlzc2x5Y2thZGVzLiIKIAotIzogZmV0Y2gtcGFjay5jOjExNTMKKyM6IGZldGNoLXBhY2suYzoxMjA5CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyByZXF1ZXN0cyIKIG1zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIGludGUgZ3J1bmRhIGbDtnJmcsOlZ25pbmdhciIKIAotIzogZmV0Y2gtcGFjay5jOjExOTkKKyM6IGZldGNoLXBhY2suYzoxMjE2Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzIGZpbHRlciIKK21zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIGZpbHRlciIKKworIzogZmV0Y2gtcGFjay5jOjEyMzkKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcmVxdWVzdCB0byByZW1vdGUiCittc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIGFucm9wIHRpbGwgZmrDpHJyZW4iCisKKyM6IGZldGNoLXBhY2suYzoxMjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHJlYWRpbmcgc2VjdGlvbiBoZWFkZXIgJyVzJyIKIG1zZ3N0ciAiZmVsIHZpZCBsw6RzbmluZyBhdiBzdHlja2VodXZ1ZGV0IFwiJXNcIiIKIAotIzogZmV0Y2gtcGFjay5jOjEyMDUKKyM6IGZldGNoLXBhY2suYzoxMjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkICclcycsIHJlY2VpdmVkICclcyciCiBtc2dzdHIgImbDtnJ2w6RudGFkZSBcIiVzXCIsIHRvZyBlbW90IFwiJXNcIiIKIAotIzogZmV0Y2gtcGFjay5jOjEyNDQKKyM6IGZldGNoLXBhY2suYzoxMzAzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYWNrbm93bGVkZ21lbnQgbGluZTogJyVzJyIKIG1zZ3N0ciAiZsO2cnbDpG50YWRlIGJla3LDpGZ0ZWxzZXJhZDogXCIlc1wiIgogCi0jOiBmZXRjaC1wYWNrLmM6MTI0OQorIzogZmV0Y2gtcGFjay5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcHJvY2Vzc2luZyBhY2tzOiAlZCIKIG1zZ3N0ciAiZmVsIHZpZCBoYW50ZXJpbmcgYXYgYmVrcsOkZnRlbHNlcjogJWQiCiAKLSM6IGZldGNoLXBhY2suYzoxMjU5CisjOiBmZXRjaC1wYWNrLmM6MTMxOAogbXNnaWQgImV4cGVjdGVkIHBhY2tmaWxlIHRvIGJlIHNlbnQgYWZ0ZXIgJ3JlYWR5JyIKIG1zZ3N0ciAidsOkbnRhZGUgYXR0IHBha2V0ZmlsIHNrdWxsZSBzw6RuZGFzIGVmdGVyIFwicmVhZHlcIiIKIAotIzogZmV0Y2gtcGFjay5jOjEyNjEKKyM6IGZldGNoLXBhY2suYzoxMzIwCiBtc2dpZCAiZXhwZWN0ZWQgbm8gb3RoZXIgc2VjdGlvbnMgdG8gYmUgc2VudCBhZnRlciBubyAncmVhZHknIgogbXNnc3RyICIiCiAidsOkbnRhZGUgaW50ZSBhdHQgbsOlZ3JhIHl0dGVybGlnYXJlIHNla3Rpb25lciBza3VsbGUgc8OkbmRhcyBlZnRlciBcInJlYWR5XCIiCiAKLSM6IGZldGNoLXBhY2suYzoxMjk4CisjOiBmZXRjaC1wYWNrLmM6MTM2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBwcm9jZXNzaW5nIHNoYWxsb3cgaW5mbzogJWQiCiBtc2dzdHIgImZlbCB2aWQgaGFudGVyaW5nIGF2IGdydW5kIChcInNoYWxsb3dcIikgaW5mbzogJWQiCiAKLSM6IGZldGNoLXBhY2suYzoxMzE0CisjOiBmZXRjaC1wYWNrLmM6MTQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCB3YW50ZWQtcmVmLCBnb3QgJyVzJyIKIG1zZ3N0ciAiZsO2cnbDpG50YWRlIHdhbnRlZC1yZWYsIGZpY2sgJXMiCiAKLSM6IGZldGNoLXBhY2suYzoxMzI0CisjOiBmZXRjaC1wYWNrLmM6MTQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHdhbnRlZC1yZWY6ICclcyciCiBtc2dzdHIgIm92w6RudGFkIHdhbnRlZC1yZWY6IFwiJXNcIiIKIAotIzogZmV0Y2gtcGFjay5jOjEzMjgKKyM6IGZldGNoLXBhY2suYzoxNDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHByb2Nlc3Npbmcgd2FudGVkIHJlZnM6ICVkIgogbXNnc3RyICJmZWwgdmlkIGhhbnRlcmluZyBhdiDDtm5za2FkZSByZWZlcmVuc2VyOiAlZCIKIAotIzogZmV0Y2gtcGFjay5jOjE2NDIKKyM6IGZldGNoLXBhY2suYzoxNzYyCiBtc2dpZCAibm8gbWF0Y2hpbmcgcmVtb3RlIGhlYWQiCiBtc2dzdHIgImluZ2V0IG1vdHN2YXJhbmRlIGZqw6Rycmh1dnVkIgogCi0jOiBmZXRjaC1wYWNrLmM6MTY2MCBidWlsdGluL2Nsb25lLmM6NjY0CisjOiBmZXRjaC1wYWNrLmM6MTc4NSBidWlsdGluL2Nsb25lLmM6Njg4CiBtc2dpZCAicmVtb3RlIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiCiBtc2dzdHIgImZqw6RycmVuIHPDpG5kZSBpbnRlIGFsbGEgbsO2ZHbDpG5kaWdhIG9iamVrdCIKIAotIzogZmV0Y2gtcGFjay5jOjE2ODYKKyM6IGZldGNoLXBhY2suYzoxODEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcmVtb3RlIHJlZiAlcyIKIG1zZ3N0ciAiaW5nZW4gc8OlZGFuIGZqw6RycmVmZXJlbnM6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MTY4OQorIzogZmV0Y2gtcGFjay5jOjE4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IGFsbG93IHJlcXVlc3QgZm9yIHVuYWR2ZXJ0aXNlZCBvYmplY3QgJXMiCiBtc2dzdHIgIlNlcnZlcm4gdGlsbMOldGVyIGludGUgZsO2cmZyw6VnYW4gb20gZWogdGlsbGvDpG5uYWdpdmV0IG9iamVrdCAlcyIKIAotIzogZ3BnLWludGVyZmFjZS5jOjMxOAotbXNnaWQgImdwZyBmYWlsZWQgdG8gc2lnbiB0aGUgZGF0YSIKLW1zZ3N0ciAiZ3BnIG1pc3NseWNrYWRlcyBzaWduZXJhIGRhdGEiCi0KLSM6IGdwZy1pbnRlcmZhY2UuYzozNDQKKyM6IGdwZy1pbnRlcmZhY2UuYzoyMjMKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrYXBhIHRlbXBvcsOkcmEgZmlsIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MzQ3CisjOiBncGctaW50ZXJmYWNlLmM6MjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIgogbXNnc3RyICJtaXNzbHlja2FkZXMgc2tyaXZhIGZyaXN0w6VlbmRlIHNpZ25hdHVyIHRpbGwgXCIlc1wiIgogCi0jOiBncmFwaC5jOjk3CisjOiBncGctaW50ZXJmYWNlLmM6MzkwCittc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgorbXNnc3RyICJncGcgbWlzc2x5Y2thZGVzIHNpZ25lcmEgZGF0YSIKKworIzogZ3JhcGguYzo5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmUgaW52YWxpZCBjb2xvciAnJS4qcycgaW4gbG9nLmdyYXBoQ29sb3JzIgogbXNnc3RyICJpZ25vcmVyYSBmZWxha3RpZyBmw6RyZyBcIiUuKnNcIiBpIGxvZy5ncmFwaENvbG9ycyIKIAotIzogZ3JlcC5jOjIxMTMKKyM6IGdyZXAuYzo2NjgKK21zZ2lkICIiCisiZ2l2ZW4gcGF0dGVybiBjb250YWlucyBOVUxMIGJ5dGUgKHZpYSAtZiA8ZmlsZT4pLiBUaGlzIGlzIG9ubHkgc3VwcG9ydGVkICIKKyJ3aXRoIC1QIHVuZGVyIFBDUkUgdjIiCittc2dzdHIgIiIKKyJhbmdpdmV0IG3Dtm5zdGVyIGlubmVow6VsbGVyIE5VTEwtYnl0ZSAodmlhIC1mIDxmaWw+KS4gRGV0dGEgc3TDtmRzIGVuZGFzdCBtZWQgLSIKKyJQIHVuZGVyIFBDUkUgdjIiCisKKyM6IGdyZXAuYzoyMTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICJcIiVzXCIga3VuZGUgaW50ZSBsw6RzYSAlcyIKIAotIzogZ3JlcC5jOjIxMzAgc2V0dXAuYzoxNjQgYnVpbHRpbi9jbG9uZS5jOjQxMCBidWlsdGluL2RpZmYuYzo4MQotIzogYnVpbHRpbi9ybS5jOjEzNAorIzogZ3JlcC5jOjIxNDEgc2V0dXAuYzoxNjUgYnVpbHRpbi9jbG9uZS5jOjQxMSBidWlsdGluL2RpZmYuYzo4MgorIzogYnVpbHRpbi9ybS5jOjEzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgc3RhdHVzIHDDpSBcIiVzXCIiCiAKLSM6IGdyZXAuYzoyMTQxCisjOiBncmVwLmM6MjE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBzaG9ydCByZWFkIgogbXNnc3RyICJcIiVzXCI6IGtvcnQgbMOkc25pbmciCkBAIC0yNjcxLDQ4ICszODE4LDQ4IEBACiBtc2dzdHIgIkzDpWduaXbDpWtvbW1hbmRvbiAvIGZyw6VnYXJlIgogCiAjOiBoZWxwLmM6MzcKLW1zZ2lkICJMb3ctbGV2ZWwgQ29tbWFuZHMgLyBTeW5jaGluZyBSZXBvc2l0b3JpZXMiCittc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gU3luY2luZyBSZXBvc2l0b3JpZXMiCiBtc2dzdHIgIkzDpWduaXbDpWtvbW1hbmRvbiAvIHN5bmthIGFya2l2IgogCiAjOiBoZWxwLmM6MzgKIG1zZ2lkICJMb3ctbGV2ZWwgQ29tbWFuZHMgLyBJbnRlcm5hbCBIZWxwZXJzIgogbXNnc3RyICJMw6Vnbml2w6Vrb21tYW5kb24gLyBpbnRlcm5hIGhqw6RscGFyZSIKIAotIzogaGVscC5jOjI5NgorIzogaGVscC5jOjI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJhdmFpbGFibGUgZ2l0IGNvbW1hbmRzIGluICclcyciCiBtc2dzdHIgImdpdC1rb21tYW5kb24gdGlsbGfDpG5nbGlnYSBpIFwiJXNcIiIKIAotIzogaGVscC5jOjMwMworIzogaGVscC5jOjMwNQogbXNnaWQgImdpdCBjb21tYW5kcyBhdmFpbGFibGUgZnJvbSBlbHNld2hlcmUgb24geW91ciAkUEFUSCIKIG1zZ3N0ciAiZ2l0LWtvbW1hbmRvbiBmcsOlbiBhbmRyYSBwbGF0c2VyIGkgZGluICRQQVRIIgogCi0jOiBoZWxwLmM6MzEyCisjOiBoZWxwLmM6MzE0CiBtc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgogbXNnc3RyICJEZXNzYSB2YW5saWdhIEdpdC1rb21tYW5kb24gYW52w6RuZHMgaSBvbGlrYSBzaXR1YXRpb25lcjoiCiAKLSM6IGhlbHAuYzozNjEgZ2l0LmM6OTAKKyM6IGhlbHAuYzozNjMgZ2l0LmM6OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCBsaXN0aW5nIHR5cGUgJyVzJyIKIG1zZ3N0ciAib2vDpG5kIGtvbW1hbmRvbGlzdHR5cCBcIiVzXCIiCiAKLSM6IGhlbHAuYzo0MDgKKyM6IGhlbHAuYzo0MDMKIG1zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOiIKIG1zZ3N0ciAiRGUgdmFubGlnYSBHaXQtdsOkZ2xlZG5pbmdhcm5hIMOkcjoiCiAKLSM6IGhlbHAuYzo1MTcKKyM6IGhlbHAuYzo1MTIKIG1zZ2lkICJTZWUgJ2dpdCBoZWxwIDxjb21tYW5kPicgdG8gcmVhZCBhYm91dCBhIHNwZWNpZmljIHN1YmNvbW1hbmQiCiBtc2dzdHIgIlNlIFwiZ2l0IGhlbHAgPGtvbW1hbmRvPlwiIGbDtnIgYXR0IGzDpHNhIG9tIGV0dCBzcGVjaWZpa3QgdW5kZXJrb21tYW5kbyIKIAotIzogaGVscC5jOjUyMgorIzogaGVscC5jOjUxNwogbXNnaWQgIkV4dGVybmFsIGNvbW1hbmRzIgogbXNnc3RyICJFeHRlcm5hIGtvbW1hbmRvbiIKIAotIzogaGVscC5jOjUzMAorIzogaGVscC5jOjUzMgogbXNnaWQgIkNvbW1hbmQgYWxpYXNlcyIKIG1zZ3N0ciAiS29tbWFkb2FsaWFzIgogCi0jOiBoZWxwLmM6NTk0CisjOiBoZWxwLmM6NTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnIGFwcGVhcnMgdG8gYmUgYSBnaXQgY29tbWFuZCwgYnV0IHdlIHdlcmUgbm90XG4iCkBAIC0yNzIxLDMyICszODY4LDMyIEBACiAiXCIlc1wiIHZlcmthciB2YXJhIGV0dCBnaXQta29tbWFuZG8sIG1lbiB2aSBrYW4gaW50ZVxuIgogImvDtnJhIGRldC4gS2Fuc2tlIGdpdC0lcyDDpHIgdHJhc2lndD8iCiAKLSM6IGhlbHAuYzo2NTMKKyM6IGhlbHAuYzo2NTUKIG1zZ2lkICJVaCBvaC4gWW91ciBzeXN0ZW0gcmVwb3J0cyBubyBHaXQgY29tbWFuZHMgYXQgYWxsLiIKIG1zZ3N0ciAiT2ogZMOlLiBEaXR0IHN5c3RlbSByYXBwb3J0ZXJhciBpbmdhIEdpdC1rb21tYW5kb24gYWxscy4iCiAKLSM6IGhlbHAuYzo2NzUKKyM6IGhlbHAuYzo2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiV0FSTklORzogWW91IGNhbGxlZCBhIEdpdCBjb21tYW5kIG5hbWVkICclcycsIHdoaWNoIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAiVkFSTklORzogRHUgYW5yb3BhZGUgZXR0IEdpdC1rb21tYW5kbyB2aWQgbmFtbiBcIiVzXCIsIHNvbSBpbnRlIGZpbm5zLiIKIAotIzogaGVscC5jOjY4MAorIzogaGVscC5jOjY4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb250aW51aW5nIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgeW91IG1lYW50ICclcycuIgotbXNnc3RyICJGb3J0c8OkdHRlciB1bmRlciBmw7ZydXRzw6R0dG5pbmdlbiBhdHQgZHUgbWVuYWRlIOKAnSVz4oCdLiIKK21zZ3N0ciAiRm9ydHPDpHR0ZXIgdW5kZXIgZsO2cnV0c8OkdHRuaW5nZW4gYXR0IGR1IG1lbmFkZSBcIiVzXCIuIgogCi0jOiBoZWxwLmM6Njg1CisjOiBoZWxwLmM6Njg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbnRpbnVpbmcgaW4gJTAuMWYgc2Vjb25kcywgYXNzdW1pbmcgdGhhdCB5b3UgbWVhbnQgJyVzJy4iCiBtc2dzdHIgIiIKLSJGb3J0c8OkdHRlciBvbSAlMC4xZiBzZWt1bmRlciwgdW5kZXIgZsO2cnV0c8OkdHRuaW5nZW4gYXR0IGR1IG1lbmFkZSDigJ0lc+KAnS4iCisiRm9ydHPDpHR0ZXIgb20gJTAuMWYgc2VrdW5kZXIsIHVuZGVyIGbDtnJ1dHPDpHR0bmluZ2VuIGF0dCBkdSBtZW5hZGUgXCIlc1wiLiIKIAotIzogaGVscC5jOjY5MworIzogaGVscC5jOjY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQ6ICclcycgaXMgbm90IGEgZ2l0IGNvbW1hbmQuIFNlZSAnZ2l0IC0taGVscCcuIgogbXNnc3RyICJnaXQ6IFwiJXNcIiDDpHIgaW50ZSBldHQgZ2l0LWtvbW1hbmRvLiBTZSBcImdpdCAtLWhlbHBcIi4iCiAKLSM6IGhlbHAuYzo2OTcKKyM6IGhlbHAuYzo2OTkKIG1zZ2lkICIiCiAiXG4iCiAiVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kIGlzIgpAQCAtMjc2MCwxNiArMzkwNywxNiBAQAogIlxuIgogIk1lc3QgbGlrYSBrb21tYW5kb24gw6RyIgogCi0jOiBoZWxwLmM6NzEyCisjOiBoZWxwLmM6NzE0CiBtc2dpZCAiZ2l0IHZlcnNpb24gWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCB2ZXJzaW9uIFs8ZmxhZ2dvcj5dIgogCi0jOiBoZWxwLmM6NzgwCisjOiBoZWxwLmM6NzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyAtICVzIgogbXNnc3RyICIlczogJXMgLSAlcyIKIAotIzogaGVscC5jOjc4NAorIzogaGVscC5jOjc4NwogbXNnaWQgIiIKICJcbiIKICJEaWQgeW91IG1lYW4gdGhpcz8iCkBAIC0yNzgzLDcgKzM5MzAsNyBAQAogIlxuIgogIk1lbmFkZSBkdSBldHQgYXYgZGVzc2E/IgogCi0jOiBpZGVudC5jOjM0NQorIzogaWRlbnQuYzozNDkKIG1zZ2lkICIiCiAiXG4iCiAiKioqIFBsZWFzZSB0ZWxsIG1lIHdobyB5b3UgYXJlLlxuIgpAQCAtMjgwOSw1MCArMzk1Niw4OSBAQAogIkvDtnIgdXRhbiAtLWdsb2JhbCBmw7ZyIGF0dCBlbmRhc3Qgw6RuZHJhIGkgYWt0dWVsbHQgYXJraXYuXG4iCiAiXG4iCiAKLSM6IGlkZW50LmM6MzY5CisjOiBpZGVudC5jOjM3OQogbXNnaWQgIm5vIGVtYWlsIHdhcyBnaXZlbiBhbmQgYXV0by1kZXRlY3Rpb24gaXMgZGlzYWJsZWQiCiBtc2dzdHIgImluZ2VuIGUtcG9zdCBhbmdhdnMgb2NoIGF1dG9kZXRla3RlcmluZyDDpHIgaW5ha3RpdmVyYWQiCiAKLSM6IGlkZW50LmM6Mzc0CisjOiBpZGVudC5jOjM4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYXV0by1kZXRlY3QgZW1haWwgYWRkcmVzcyAoZ290ICclcycpIgogbXNnc3RyICJrdW5kZSBpbnRlIGF1dG9kZXRla3RlcmEgZS1wb3N0YWRyZXNzIChmaWNrIFwiJXNcIikiCiAKLSM6IGlkZW50LmM6Mzg0CisjOiBpZGVudC5jOjQwMQogbXNnaWQgIm5vIG5hbWUgd2FzIGdpdmVuIGFuZCBhdXRvLWRldGVjdGlvbiBpcyBkaXNhYmxlZCIKIG1zZ3N0ciAiaW5nZXQgbmFtbiBhbmdhdnMgb2NoIGF1dG9kZXRla3RlcmluZyDDpHIgaW5ha3RpdmVyYWQiCiAKLSM6IGlkZW50LmM6MzkwCisjOiBpZGVudC5jOjQwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYXV0by1kZXRlY3QgbmFtZSAoZ290ICclcycpIgogbXNnc3RyICJrdW5kZSBpbnRlIGF1dG9kZXRla3RlcmEgbmFtbiAoZmljayBcIiVzXCIpIgogCi0jOiBpZGVudC5jOjM5OAorIzogaWRlbnQuYzo0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1wdHkgaWRlbnQgbmFtZSAoZm9yIDwlcz4pIG5vdCBhbGxvd2VkIgogbXNnc3RyICJ0b210IGlkZW50LW5hbW4gKGbDtnIgPCVzPikgZWogdGlsbMOldGV0IgogCi0jOiBpZGVudC5jOjQwNAorIzogaWRlbnQuYzo0MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAibmFtZSBjb25zaXN0cyBvbmx5IG9mIGRpc2FsbG93ZWQgY2hhcmFjdGVyczogJXMiCiBtc2dzdHIgIm5hbW5ldCBiZXN0w6VyIGVuYmFydCBhdiBlaiB0aWxsw6V0bmEgdGVja2VuOiAlcyIKIAotIzogaWRlbnQuYzo0MTkgYnVpbHRpbi9jb21taXQuYzo2MDYKKyM6IGlkZW50LmM6NDM2IGJ1aWx0aW4vY29tbWl0LmM6NjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgZGF0ZSBmb3JtYXQ6ICVzIgogbXNnc3RyICJmZWxha3RpZ3QgZGF0dW1mb3JtYXQ6ICVzIgogCi0jOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzozNQotbXNnaWQgIm11bHRpcGxlIGZpbHRlci1zcGVjcyBjYW5ub3QgYmUgY29tYmluZWQiCi1tc2dzdHIgImZsZXJhIGZpbHRlcnNwZWNpZmlrYXRpb25lciBrYW4gaW50ZSBrb21iaW5lcmFzIgorIzogbGlzdC1vYmplY3RzLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgImVudHJ5ICclcycgaW4gdHJlZSAlcyBoYXMgdHJlZSBtb2RlLCBidXQgaXMgbm90IGEgdHJlZSIKK21zZ3N0ciAicG9zdGVuIFwiJXNcIiBpIHRyw6RkZXQgJXMgaGFyIHRyw6RkLWzDpGdlLCBtZW4gw6RyIGludGUgZXR0IHRyw6RkIgorCisjOiBsaXN0LW9iamVjdHMuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW50cnkgJyVzJyBpbiB0cmVlICVzIGhhcyBibG9iIG1vZGUsIGJ1dCBpcyBub3QgYSBibG9iIgorbXNnc3RyICJwb3N0ZW4gXCIlc1wiIGkgdHLDpGRldCAlcyBoYXIgYmxvYi1sw6RnZSwgbWVuIMOkciBpbnRlIGVuIGJsb2IiCisKKyM6IGxpc3Qtb2JqZWN0cy5jOjM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gbG9hZCByb290IHRyZWUgZm9yIGNvbW1pdCAlcyIKK21zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBpbiByb3QtdHLDpGRldCBmw7ZyIGluY2hlY2tuaW5nZW4gJXMiCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXIuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFjY2VzcyBzcGFyc2UgYmxvYiBpbiAnJXMnIgorbXNnc3RyICJrdW5kZSBpbnRlIG7DpSBnbGVzIGJsb2IgcMOlIFwiJXNcIiIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2Ugc3BhcnNlIGZpbHRlciBkYXRhIGluICVzIgorbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIGdsZXMgZmlsdGVyZGF0YSBpICVzIgogCiAjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzo1OAotbXNnaWQgIm9ubHkgJ3RyZWU6MCcgaXMgc3VwcG9ydGVkIgotbXNnc3RyICJlbmRhc3QgXCJ0cmVlOjBcIiBzdMO2ZHMiCittc2dpZCAiZXhwZWN0ZWQgJ3RyZWU6PGRlcHRoPiciCittc2dzdHIgImbDtnJ2w6RudGFkZSBcInRyZWU6PGRqdXA+XCIiCiAKLSM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjEzNwotbXNnaWQgImNhbm5vdCBjaGFuZ2UgcGFydGlhbCBjbG9uZSBwcm9taXNvciByZW1vdGUiCi1tc2dzdHIgImthbiBpbnRlIMOkbmRyYSBrb250cmFrdHNmasOkcnIgZsO2ciBkZWx2aXMga2xvbmluZyIKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjczCittc2dpZCAic3BhcnNlOnBhdGggZmlsdGVycyBzdXBwb3J0IGhhcyBiZWVuIGRyb3BwZWQiCittc2dzdHIgInNwYXJzZTpzw7ZrdsOkZy1maWx0ZXIgc3TDtmRzIGludGUgbMOkbmdyZSIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBmaWx0ZXItc3BlYyAnJXMnIgorbXNnc3RyICJmZWxha3RpZyBmaWx0ZXJzcGVjaWZpa2F0aW9uOiBcIiVzXCIiCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGVzY2FwZSBjaGFyIGluIHN1Yi1maWx0ZXItc3BlYzogJyVjJyIKK21zZ3N0ciAibcOlc3RlIGFudsOkbmRhIHNwZWNpYWxzZWt2ZW5zIGkgZGVsZmlsdGVyLXNwZWM6IFwiJWNcIiIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MTQ0Cittc2dpZCAiZXhwZWN0ZWQgc29tZXRoaW5nIGFmdGVyIGNvbWJpbmU6IgorbXNnc3RyICJmw7ZydsOkbnRhZGUgbsOlZ29udGluZyBlZnRlciBjb21iaW5lOiIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MjI2Cittc2dpZCAibXVsdGlwbGUgZmlsdGVyLXNwZWNzIGNhbm5vdCBiZSBjb21iaW5lZCIKK21zZ3N0ciAiZmxlcmEgZmlsdGVyc3BlY2lmaWthdGlvbmVyIGthbiBpbnRlIGtvbWJpbmVyYXMiCiAKICM6IGxvY2tmaWxlLmM6MTUxCiAjLCBjLWZvcm1hdApAQCAtMjg4MywxMjAgKzQwNjksMTE3IEBACiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGhlIGNhY2hlIgogbXNnc3RyICJtaXNzbHlja2FkZXMgbMOkc2EgY2FjaGVuIgogCi0jOiBtZXJnZS5jOjEwNyByZXJlcmUuYzo3MjAgYnVpbHRpbi9hbS5jOjE4OTkgYnVpbHRpbi9hbS5jOjE5MzMKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozODcgYnVpbHRpbi9jaGVja291dC5jOjcwOCBidWlsdGluL2Nsb25lLmM6NzY0CisjOiBtZXJnZS5jOjEwNyByZXJlcmUuYzo3MjAgYnVpbHRpbi9hbS5jOjE4NzQgYnVpbHRpbi9hbS5jOjE5MDgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1MzkgYnVpbHRpbi9jaGVja291dC5jOjc5OCBidWlsdGluL2Nsb25lLmM6ODA5CisjOiBidWlsdGluL3N0YXNoLmM6MjY0CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSBueSBpbmRleGZpbCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzIzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNjcKIG1zZ2lkICIoYmFkIGNvbW1pdClcbiIKIG1zZ3N0ciAiKGZlbGFrdGlnIGluY2hlY2tuaW5nKVxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNDUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfY2FjaGVpbmZvIGZhaWxlZCBmb3IgcGF0aCAnJXMnOyBtZXJnZSBhYm9ydGluZy4iCiBtc2dzdHIgIiIKICJhZGRfY2FoY2VpbmZvIG1pc3NseWNrYWRlcyBmw7ZyIHPDtmt2w6RnZW4gXCIlc1wiOyBhdnNsdXRhciBzYW1tYW5zbGFnbmluZ2VuLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzUzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX2NhY2hlaW5mbyBmYWlsZWQgdG8gcmVmcmVzaCBmb3IgcGF0aCAnJXMnOyBtZXJnZSBhYm9ydGluZy4iCiBtc2dzdHIgIiIKICJhZGRfY2FjaGVpbmZvIG1pc3NseWNrYWRlcyB1cHBkYXRlcmEgZsO2ciBzw7ZrdsOkZ2VuIFwiJXNcIjsgYXZzbHV0YXIgIgogInNhbW1hbnNsYWduaW5nZW4uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo0MzUKLW1zZ2lkICJlcnJvciBidWlsZGluZyB0cmVlcyIKLW1zZ3N0ciAiZmVsIHZpZCBieWdnYW5kZSBhdiB0csOkZCIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTA2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwYXRoICclcyclcyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHNrYXBhIHPDtmt2w6RnZW4gXCIlc1wiJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIHRvIG1ha2Ugcm9vbSBmb3Igc3ViZGlyZWN0b3J5XG4iCiBtc2dzdHIgIlRhciBib3J0ICVzIGbDtnIgYXR0IGfDtnJhIHBsYXRzIGbDtnIgdW5kZXJrYXRhbG9nXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkzMSBtZXJnZS1yZWN1cnNpdmUuYzo5NTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxMCBtZXJnZS1yZWN1cnNpdmUuYzo5MjkKIG1zZ2lkICI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IgogbXNnc3RyICI6IGthbnNrZSBlbiBLL0Yta29uZmxpa3Q/IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5NDAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICclcyciCiBtc2dzdHIgInbDpGdyYXIgZsO2cmxvcmEgb3Nww6VyYWQgZmlsIHZpZCBcIiVzXCIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4MiBidWlsdGluL2NhdC1maWxlLmM6MzkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk2MCBidWlsdGluL2NhdC1maWxlLmM6NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzICclcyciCiBtc2dzdHIgImthbiBpbnRlIGzDpHNhIG9iamVrdGV0ICVzOiBcIiVzXCIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJsb2IgZXhwZWN0ZWQgZm9yICVzICclcyciCiBtc2dzdHIgImJsb2IgZsO2cnbDpG50YWRlcyBmw7ZyICVzIFwiJXNcIiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAwOAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyc6ICVzIgogbXNnc3RyICJtaXNzbHlja2FkZXMgw7ZwcG5hIFwiJXNcIjogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwMTkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJzogJXMiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBza2FwYSBzeW1ib2xpc2thIGzDpG5rZW4gXCIlc1wiOiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAyNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJkbyBub3Qga25vdyB3aGF0IHRvIGRvIHdpdGggJTA2byAlcyAnJXMnIgogbXNnc3RyICJ2ZXQgaW50ZSBodXIgJTA2byAlcyBcIiVzXCIgc2thbGwgaGFudGVyYXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobm90IGNoZWNrZWQgb3V0KSIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHNsw6UgaWhvcCB1bmRlcm1vZHVsZW4gJXMgKGVqIHV0Y2hlY2thZCkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMTkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAoY29tbWl0cyBub3QgcHJlc2VudCkiCiBtc2dzdHIgIk1pc3NseWNrYWRlcyBzbMOlIGlob3AgdW5kZXJtb2R1bGVuICVzIChpbmNoZWNrbmluZ2FyIHNha25hcykiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAoY29tbWl0cyBkb24ndCBmb2xsb3cgbWVyZ2UtYmFzZSkiCiBtc2dzdHIgIiIKICJNaXNzbHlja2FkZXMgc2zDpSBpaG9wIHVuZGVybW9kdWxlbiAlcyAoaW5jaGVja25pbmdhciBmw7ZsamVyIGludGUgIgogInNhbW1hbnNsYWduaW5nc2Jhc2VuKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzNCBtZXJnZS1yZWN1cnNpdmUuYzoxMjQ2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjIxIG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkaW5nIHN1Ym1vZHVsZSAlcyB0byB0aGUgZm9sbG93aW5nIGNvbW1pdDoiCiBtc2dzdHIgIlNuYWJic3BvbGFyIHVuZGVybW9kdWxlbiAlcyB0aWxsIGbDtmxqYW5kZSBpbmNoZWNrbmluZzoiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzcgbWVyZ2UtcmVjdXJzaXZlLmM6MTI0OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyNCBtZXJnZS1yZWN1cnNpdmUuYzoxMjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGluZyBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIlNuYWJic3BvbGFyIHVuZGVybW9kdWxlbiAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI3MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChtZXJnZSBmb2xsb3dpbmcgY29tbWl0cyBub3QgZm91bmQpIgogbXNnc3RyICIiCiAiTWlzc2x5Y2thZGVzIHNsw6UgaWhvcCB1bmRlcm1vZHVsZW4gJXMgKHNhbW1hbnNsYWduaW5nIGVmdGVyIGluY2hlY2tuaW5nYXIgIgogImhpdHRhZGVzIGludGUpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG5vdCBmYXN0LWZvcndhcmQpIgogbXNnc3RyICJNaXNzbHlja2FkZXMgc2zDpSBpaG9wIHVuZGVybW9kdWxlbiAlcyAoZWogc25hYmJzcG9sbmluZykiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNzYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNjQKIG1zZ2lkICJGb3VuZCBhIHBvc3NpYmxlIG1lcmdlIHJlc29sdXRpb24gZm9yIHRoZSBzdWJtb2R1bGU6XG4iCiBtc2dzdHIgIkhpdHRhZGUgZW4gbcO2amxpZyBsw7ZzbmluZyBhdiBzYW1tYW5zbGFnbmluZyBmw7ZyIHVuZGVybW9kdWxlbjpcbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI3OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgdGhpcyBpcyBjb3JyZWN0IHNpbXBseSBhZGQgaXQgdG8gdGhlIGluZGV4IGZvciBleGFtcGxlXG4iCkBAIC0zMDEzLDMyICs0MTk2LDMyIEBACiAiXG4iCiAidmlsa2V0IGdvZHRhciBsw7ZzbmluZ2VuLlxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjg4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG11bHRpcGxlIG1lcmdlcyBmb3VuZCkiCiBtc2dzdHIgIiIKICJNaXNzbHlja2FkZXMgc2zDpSBpaG9wIHVuZGVybW9kdWxlbiAlcyAoZmxlcmEgc2FtbWFuc2xhZ25pbmdhciBoaXR0YWRlcykiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzNTgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzNDkKIG1zZ2lkICJGYWlsZWQgdG8gZXhlY3V0ZSBpbnRlcm5hbCBtZXJnZSIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIGV4ZWt2ZXJhIGludGVybiBzYW1tYW5zbGFnbmluZyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM2MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkICVzIHRvIGRhdGFiYXNlIgogbXNnc3RyICJLdW5kZSBpbnRlIGzDpGdnYSB0aWxsICVzIHRpbGwgZGF0YWJhc2VuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzk1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8tbWVyZ2luZyAlcyIKIG1zZ3N0ciAiU2zDpXIgaWhvcCAlcyBhdXRvbWF0aXNrdCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQxNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvcjogUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlczsgd3JpdGluZyB0byAlcyBpbnN0ZWFkLiIKIG1zZ3N0ciAiRmVsOiBWw6RncmFyIGbDtnJsb3JhIG9zcMOlcmFkIGZpbCB2aWQgJXM7IHNrcml2ZXIgdGlsbCAlcyBpc3TDpGxsZXQuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDgzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCkBAIC0zMDQ3LDcgKzQyMzAsNyBAQAogIktPTkZMSUtUICglcy9yYWRlcmEpOiAlcyByYWRlcmFkIGkgJXMgb2NoICVzIGkgJXMuIFZlcnNpb25lbiAlcyBhdiAlcyBsw6RtbmFkICIKICJpIHRyw6RkZXQuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDg4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgdG8gJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgIgpAQCAtMzA1Niw3ICs0MjM5LDcgQEAKICJLT05GTElLVCAoJXMvcmFkZXJhKTogJXMgcmFkZXJhZCBpICVzIG9jaCAlcyB0aWxsICVzIGkgJXMuIFZlcnNpb25lbiAlcyBhdiAiCiAiJXMgbMOkbW5hZCBpIHRyw6RkZXQuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDk1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCkBAIC0zMDY1LDcgKzQyNDgsNyBAQAogIktPTkZMSUtUICglcy9yYWRlcmEpOiAlcyByYWRlcmFkIGkgJXMgb2NoICVzIGkgJXMuIFZlcnNpb25lbiAlcyBhdiAlcyBsw6RtbmFkICIKICJpIHRyw6RkZXQgdmlkICVzLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUwMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzICIKQEAgLTMwODIsMjMgKzQyNjUsMzIgQEAKIG1zZ2lkICJyZW5hbWVkIgogbXNnc3RyICJuYW1uYnl0dCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTU4OCBtZXJnZS1yZWN1cnNpdmUuYzoxNzM3IG1lcmdlLXJlY3Vyc2l2ZS5jOjIzNjkKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxMjQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MTQgbWVyZ2UtcmVjdXJzaXZlLmM6MjUzMCBtZXJnZS1yZWN1cnNpdmUuYzozMTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGxvc2UgZGlydHkgZmlsZSBhdCAlcyIKIG1zZ3N0ciAiVsOkZ3JhciBmw7ZybG9yYSBsb3J0aWcgZmlsIHZpZCBcIiVzXCIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MDIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlcywgZXZlbiB0aG91Z2ggaXQncyBpbiB0aGUgd2F5LiIKK21zZ3N0ciAiVsOkZ3JhciBmw7ZybG9yYSBvc3DDpXJhZCBmaWwgdmlkICVzLCB0cm90cyBhdHQgZGVuIMOkciBpIHbDpGdlbi4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAgQWRkZWQgJXMgaW4gJXMiCittc2dzdHIgIktPTkZMSUtUIChuYW1uYnl0ZS90aWxsw6RnZyk6IE5hbW5ieXRlICVzLT4lcyBpICVzLiBMYWRlIHRpbGwgJXMgaSAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBhIGRpcmVjdG9yeSBpbiAlcyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiJXMgw6RyIGVuIGthdGFsb2cgaSAlcyBsw6RnZ2VyIHRpbGwgc29tICVzIGlzdMOkbGxldCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYwNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICVzOyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAiVsOkZ3JhciBmw7ZybG9yYSBvc3DDpXJhZCBmaWwgdmlkICVzOyBsw6RnZ2VyIHRpbGwgc29tICVzIGlzdMOkbGxldCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYzMworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgXCIlc1wiLT5cIiVzXCIgaW4gYnJhbmNoIFwiJXNcIiByZW5hbWUgXCIlcyIKQEAgLTMxMDcsMjcgKzQyOTksMTcgQEAKICJLT05GTElLVCAobmFtbmJ5dGUvbmFtbmJ5dGUpOiBOYW1uYnl0ZSBcIiVzXCItPlwiJXNcIiBww6UgZ3JlbmVuIFwiJXNcIiAiCiAibmFtbmJ5dGUgXCIlc1wiLT5cIiVzXCIgaSBcIiVzXCIlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYzOAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0MgogbXNnaWQgIiAobGVmdCB1bnJlc29sdmVkKSIKIG1zZ3N0ciAiIChsw6RtbmFkIG9sw7ZzdCkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2OTkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE4NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgJXMtPiVzIGluICVzLiBSZW5hbWUgJXMtPiVzIGluICVzIgogbXNnc3RyICIiCiAiS09ORkxJS1QgKG5hbW5ieXRlL25hbW5ieXRlKTogTmFtbmJ5dGUgJXMtPiVzIGkgJXMuIE5hbW5ieXRlICVzLT4lcyBpICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM0Ci0jLCBjLWZvcm1hdAotbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzIGFuZCAlcyB0byAlcyBpbnN0ZWFkIgotbXNnc3RyICJCeXRlciBuYW1uIHDDpSAlcyB0aWxsICVzIG9jaCAlcyB0aWxsICVzIGlzdMOkbGxldCIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0NgotIywgYy1mb3JtYXQKLW1zZ2lkICJSZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICVzLCBldmVuIHRob3VnaCBpdCdzIGluIHRoZSB3YXkuIgotbXNnc3RyICJWw6RncmFyIGbDtnJsb3JhIG9zcMOlcmFkIGZpbCB2aWQgJXMsIHRyb3RzIGF0dCBkZW4gw6RyIGkgdsOkZ2VuLiIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTk1MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjExNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKGRpcmVjdG9yeSByZW5hbWUgc3BsaXQpOiBVbmNsZWFyIHdoZXJlIHRvIHBsYWNlICVzIGJlY2F1c2UgIgpAQCAtMzEzOCw3ICs0MzIwLDcgQEAKICJrYXRhbG9nZW4gJXMgYnl0dGUgbmFtbiB0aWxsIGZsZXJhIGFuZHJhIGthdGFsb2dlciwgdXRhbiBhdHQgbsOlZ29uICIKICJkZXN0aW5hdGlvbiBmaWNrIGVuIG1ham9yaXRldCBhdiBmaWxlcm5hLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTk4NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKGltcGxpY2l0IGRpciByZW5hbWUpOiBFeGlzdGluZyBmaWxlL2RpciBhdCAlcyBpbiB0aGUgd2F5IG9mICIKQEAgLTMxNDcsNyArNDMyOSw3IEBACiAiS09ORkxJS1QgKGltcGxpY2l0IG7DpG1uw6RuZHJhZCBrYXQpOiBCZWZpbnRsaWcgZmlsL2thdCB2aWQgJXMgw6RyIGkgdsOkZ2VuIGbDtnIgIgogImltcGxpY2l0IG5hbW7DpG5kcmFkKGUpIGthdGFsb2coZXIpIHNvbSBsw6RnZ2VyIGRpdCBmw7ZsamFuZGUgc8O2a3bDpGcoYXIpOiAlcy4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5OTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChpbXBsaWNpdCBkaXIgcmVuYW1lKTogQ2Fubm90IG1hcCBtb3JlIHRoYW4gb25lIHBhdGggdG8gJXM7ICIKQEAgLTMxNTYsNyArNDMzOCw3IEBACiAiS09ORkxJS1QgKGltcGxpY2l0IG5hbW7DpG5kcmFkIGthdCk6IEthbiBpbnRlIGtvcHBsYSBtZXIgw6RuIGVuIHPDtmt2w6RnIHRpbGwgIgogIiVzOyBpbXBsaWNpdGEga2F0YWxvZ25hbW7DpG5kcmluZ2FyIGbDtnJzw7ZrdGUgbMOkZ2dhIGbDtmxqYW5kZSBzw7ZrdsOkZ2FyIGTDpHI6ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMDg2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSBkaXJlY3RvcnkgJXMtPiVzIGluICVzLiBSZW5hbWUgZGlyZWN0b3J5ICVzLSIKQEAgLTMxNjUsNyArNDM0Nyw3IEBACiAiS09ORkxJS1QgKG5hbW5ieXRlL25hbW5ieXRlKTogTmFtbmJ5dHQga2F0YWxvZyAlcy0+JXMgaSAlcy4gTmFtbmJ5dHQga2F0YWxvZyAiCiAiJXMtPiVzIGkgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIzMzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI0OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldBUk5JTkc6IEF2b2lkaW5nIGFwcGx5aW5nICVzIC0+ICVzIHJlbmFtZSB0byAlcywgYmVjYXVzZSAlcyBpdHNlbGYgd2FzICIKQEAgLTMxNzQsODYgKzQzNTYsMTQxIEBACiAiVkFSTklORzogVW5kdmlrZXIgYXR0IGFwcGxpY2VyYSBuYW1uw6RuZHJpbmcgJXMgLT4gJXMgcMOlICVzLCBkw6UgJXMgc2rDpGx2IGhhciAiCiAiYnl0dCBuYW1uLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjczNwotIywgYy1mb3JtYXQKLW1zZ2lkICJDT05GTElDVCAocmVuYW1lL2FkZCk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuICVzIGFkZGVkIGluICVzIgotbXNnc3RyICJLT05GTElLVCAobmFtbmJ5dGUvdGlsbMOkZ2cpOiBOYW1uYnl0ZSAlcy0+JXMgaSAlcy4gJXMgdGlsbGFnZCBpICVzIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzYzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkFkZGluZyBtZXJnZWQgJXMiCi1tc2dzdHIgIkzDpGdnZXIgdGlsbCBzYW1tYW5zbGFnZW4gJXMiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI3NzAgbWVyZ2UtcmVjdXJzaXZlLmM6MzEyNwotIywgYy1mb3JtYXQKLW1zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKLW1zZ3N0ciAiTMOkZ2dlciB0aWxsIHNvbSAlcyBpc3TDpGxsZXQiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI5MzQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBvYmpla3RldCAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjkzNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgaXMgbm90IGEgYmxvYiIKIG1zZ3N0ciAib2JqZWt0ZXQgJXMgw6RyIGludGUgZW4gYmxvYiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAwNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA4NgogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAiw6RuZHJhIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDA2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDg2CiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgIsOkbmRyYWQiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwOTgKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICJpbm5laMOlbGwiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMjQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxMDIKIG1zZ2lkICJhZGQvYWRkIgogbXNnc3RyICJ0aWxsw6RnZy90aWxsw6RnZyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA3MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGVkICVzIChtZXJnZWQgc2FtZSBhcyBleGlzdGluZykiCiBtc2dzdHIgIkhvcHBhZGUgw7Z2ZXIgJXMgKHNhbW1hbnNsYWdlbiBzYW1tYSBzb20gYmVmaW50bGlnKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA5MyBnaXQtc3VibW9kdWxlLnNoOjg1OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE0NyBnaXQtc3VibW9kdWxlLnNoOjk5MwogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAidW5kZXJtb2R1bCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA5NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAoJXMpOiBNZXJnZSBjb25mbGljdCBpbiAlcyIKIG1zZ3N0ciAiS09ORkxJS1QgKCVzKTogU2FtbWFuc2xhZ25pbmdza29uZmxpa3QgaSAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzIxNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE3OAorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKK21zZ3N0ciAiTMOkZ2dlciB0aWxsIHNvbSAlcyBpc3TDpGxsZXQiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlBhdGggdXBkYXRlZDogJXMgYWRkZWQgaW4gJXMgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgd2FzIHJlbmFtZWQgaW4gJXM7ICIKKyJtb3ZpbmcgaXQgdG8gJXMuIgorbXNnc3RyICIiCisiVXBwZGF0ZXJhZCBzw7ZrdsOkZzogJXMgbGFkZSB0aWxsICVzIGludXRpIGVuIGthdGFsb2cgc29tIGJ5dHRlIG5hbW4gaSAlczsgIgorImZseXR0YXIgZGVuIHRpbGwgJXMuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMjY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoZmlsZSBsb2NhdGlvbik6ICVzIGFkZGVkIGluICVzIGluc2lkZSBhIGRpcmVjdG9yeSB0aGF0IHdhcyByZW5hbWVkICIKKyJpbiAlcywgc3VnZ2VzdGluZyBpdCBzaG91bGQgcGVyaGFwcyBiZSBtb3ZlZCB0byAlcy4iCittc2dzdHIgIiIKKyJLT05GTElLVCAoZmlscGxhY2VyaW5nKTogJXMgbGFkZSB0aWxsICVzIGludXRpIGVuIGthdGFsb2cgc29tIGJ5dHRlIG5hbW4gaSAiCisiJXMsIGbDtnJlc2zDpXIgYXR0IGRlbiBiw7ZyIGZseXR0YXMgdGlsbCVzLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGF0aCB1cGRhdGVkOiAlcyByZW5hbWVkIHRvICVzIGluICVzLCBpbnNpZGUgYSBkaXJlY3RvcnkgdGhhdCB3YXMgcmVuYW1lZCBpbiAiCisiJXM7IG1vdmluZyBpdCB0byAlcy4iCittc2dzdHIgIiIKKyJVcHBkYXRlcmFkIHPDtmt2w6RnOiAlcyBieXR0ZSBuYW1uIHRpbGwgJXMgaSAlcywgaW51dGkgZW4ga2F0YWxvZyBzb20gYnl0dGUgIgorIm5hbW4gaSAlczsgZmx5dHRhciBkZW4gdGlsbCAlcy4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUIChmaWxlIGxvY2F0aW9uKTogJXMgcmVuYW1lZCB0byAlcyBpbiAlcywgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgIgorIndhcyByZW5hbWVkIGluICVzLCBzdWdnZXN0aW5nIGl0IHNob3VsZCBwZXJoYXBzIGJlIG1vdmVkIHRvICVzLiIKK21zZ3N0ciAiIgorIktPTkZMSUtUIChmaWxwbGFjZXJpbmcpOiAlcyBieXR0ZSBuYW1uIHRpbGwgJXMgaSAlcywgaW51dGkgZW4ga2F0YWxvZyBzb20gIgorImJ5dHRlIG5hbW4gaSAlczsgZmx5dHRhciBkZW4gdGlsbCAlcy4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMzODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMiCiBtc2dzdHIgIlRhciBib3J0ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjQyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDA4CiBtc2dpZCAiZmlsZS9kaXJlY3RvcnkiCiBtc2dzdHIgImZpbC9rYXRhbG9nIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjQ4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDEzCiBtc2dpZCAiZGlyZWN0b3J5L2ZpbGUiCiBtc2dzdHIgImthdGFsb2cvZmlsIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjU1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgogbXNnc3RyICIiCiAiS09ORkxJS1QgKCVzKTogRGV0IGZpbm5zIGVuIGthdGFsb2cgbWVkIG5hbW5ldCAlcyBpICVzLiBMw6RnZ2VyIHRpbGwgJXMgc29tICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjY0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFkZGluZyAlcyIKIG1zZ3N0ciAiTMOkZ2dlciB0aWxsICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMzAwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNPTkZMSUNUIChhZGQvYWRkKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCittc2dzdHIgIktPTkZMSUtUICh0aWxsw6RnZy90aWxsw6RnZyk6IFNhbW1hbnNsYWduaW5nc2tvbmZsaWt0IGkgJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0ODIKK21zZ2lkICJBbHJlYWR5IHVwIHRvIGRhdGUhIgorbXNnc3RyICJSZWRhbiDDoCBqb3VyISIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQ5MQorIywgYy1mb3JtYXQKK21zZ2lkICJtZXJnaW5nIG9mIHRyZWVzICVzIGFuZCAlcyBmYWlsZWQiCittc2dzdHIgInNhbW1hbnNsYWduaW5nIGF2IHRyw6RkZW4gJXMgb2NoICVzIG1pc3NseWNrYWRlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzU5NQorbXNnaWQgIk1lcmdpbmc6IgorbXNnc3RyICJTbMOlciBpaG9wOiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3I6IgorbXNnaWRfcGx1cmFsICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3JzOiIKK21zZ3N0clswXSAiaGl0dGFkZSAldSBnZW1lbnNhbSBmw7ZyZmFkZXI6IgorbXNnc3RyWzFdICJoaXR0YWRlICV1IGdlbWVuc2FtbWEgZsO2cmbDpGRlcjoiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM2NTgKK21zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCittc2dzdHIgInNhbW1hbnNsYWduaW5nZW4gcmV0dXJuZXJhZGUgaW5nZW4gaW5jaGVja25pbmciCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM3MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzI2MywxNjggKzQ1MDAsMTg1IEBACiAic2FtbWFuc2xhZ25pbmc6XG4iCiAiICAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzMxMQotbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZSEiCi1tc2dzdHIgIlJlZGFuIMOgIGpvdXIhIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMzIwCi0jLCBjLWZvcm1hdAotbXNnaWQgIm1lcmdpbmcgb2YgdHJlZXMgJXMgYW5kICVzIGZhaWxlZCIKLW1zZ3N0ciAic2FtbWFuc2xhZ25pbmcgYXYgdHLDpGRlbiAlcyBvY2ggJXMgbWlzc2x5Y2thZGVzIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNDE5Ci1tc2dpZCAiTWVyZ2luZzoiCi1tc2dzdHIgIlNsw6VyIGlob3A6IgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNDMyCi0jLCBjLWZvcm1hdAotbXNnaWQgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcjoiCi1tc2dpZF9wbHVyYWwgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcnM6IgotbXNnc3RyWzBdICJoaXR0YWRlICV1IGdlbWVuc2FtIGbDtnJmYWRlcjoiCi1tc2dzdHJbMV0gImhpdHRhZGUgJXUgZ2VtZW5zYW1tYSBmw7ZyZsOkZGVyOiIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQ3MQotbXNnaWQgIm1lcmdlIHJldHVybmVkIG5vIGNvbW1pdCIKLW1zZ3N0ciAic2FtbWFuc2xhZ25pbmdlbiByZXR1cm5lcmFkZSBpbmdlbiBpbmNoZWNrbmluZyIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzUzNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgIkt1bmRlIGludGUgdG9sa2Egb2JqZWt0ZXQgXCIlc1wiIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNTUzIGJ1aWx0aW4vbWVyZ2UuYzo2OTEgYnVpbHRpbi9tZXJnZS5jOjg0OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzgzMiBidWlsdGluL21lcmdlLmM6Njk0IGJ1aWx0aW4vbWVyZ2UuYzo4NzQKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5kZXguIgogbXNnc3RyICJLdW5kZSBpbnRlIHNrcml2YSBpbmRleGV0LiIKIAotIzogbWlkeC5jOjY1CisjOiBtaWR4LmM6NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCBmaWxlICVzIGlzIHRvbyBzbWFsbCIKIG1zZ3N0ciAibXVsdGktcGFjay1pbmRleGZpbGVuICVzIMOkciBmw7ZyIGxpdGVuIgogCi0jOiBtaWR4LmM6ODEKKyM6IG1pZHguYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHNpZ25hdHVyZSAweCUwOHggZG9lcyBub3QgbWF0Y2ggc2lnbmF0dXJlIDB4JTA4eCIKIG1zZ3N0ciAibXVsdGktcGFjay1pbmRleHNpZ25hdHVyZW4gMHglMDh4IHN0w6RtbWVyIGludGUgbWVkIHNpZ25hdHVyZW4gMHglMDh4IgogCi0jOiBtaWR4LmM6ODYKKyM6IG1pZHguYzo4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHZlcnNpb24gJWQgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgIm11bHRpLXBhY2staW5kZXh2ZXJzaW9uZW4gJWQgc3TDtmRzIGludGUiCiAKLSM6IG1pZHguYzo5MQorIzogbWlkeC5jOjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImhhc2ggdmVyc2lvbiAldSBkb2VzIG5vdCBtYXRjaCIKIG1zZ3N0ciAiaGFzaC12ZXJzaW9uZW4gJXUgc3TDpG1tZXIgaW50ZSIKIAotIzogbWlkeC5jOjEwNQorIzogbWlkeC5jOjEwOAogbXNnaWQgImludmFsaWQgY2h1bmsgb2Zmc2V0ICh0b28gbGFyZ2UpIgogbXNnc3RyICJmZWxha3RpZ3Qgb2Zmc2V0IGbDtnIgc3R5Y2tlIChmw7ZyIHN0b3J0KSIKIAotIzogbWlkeC5jOjEyOQorIzogbWlkeC5jOjEzMgogbXNnaWQgInRlcm1pbmF0aW5nIG11bHRpLXBhY2staW5kZXggY2h1bmsgaWQgYXBwZWFycyBlYXJsaWVyIHRoYW4gZXhwZWN0ZWQiCi1tc2dzdHIgImF2c2x1dGFuZGUgbXVsdGktcGFjay1pbmRleC1zdHlja2UtSUQgZsO2cmVrb21tZXIgdGlkaWdhcmUgw6RuIGbDtnJ2w6RudGF0IgorbXNnc3RyICJhdnNsdXRhbmRlIG11bHRpLXBhY2staW5kZXgtc3R5Y2tlLWlkIGbDtnJla29tbWVyIHRpZGlnYXJlIMOkbiBmw7ZydsOkbnRhdCIKIAotIzogbWlkeC5jOjE0MgorIzogbWlkeC5jOjE0NQogbXNnaWQgIm11bHRpLXBhY2staW5kZXggbWlzc2luZyByZXF1aXJlZCBwYWNrLW5hbWUgY2h1bmsiCiBtc2dzdHIgIm11bHRpLXBhY2staW5kZXggc2FrbmFyIGtyw6R2ZCBwYWtldG5hbW4tc3R5Y2tlIgogCi0jOiBtaWR4LmM6MTQ0CisjOiBtaWR4LmM6MTQ3CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCBtaXNzaW5nIHJlcXVpcmVkIE9JRCBmYW5vdXQgY2h1bmsiCiBtc2dzdHIgIm11bHRpLXBhY2staW5kZXggc2FrbmFyIGtyw6R2dCBPSUQtdXRicmVkbmluZ3NzdHlja2UiCiAKLSM6IG1pZHguYzoxNDYKKyM6IG1pZHguYzoxNDkKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgT0lEIGxvb2t1cCBjaHVuayIKIG1zZ3N0ciAibXVsdGktcGFjay1pbmRleCBzYWtuYXIga3LDpHZ0IE9JRC11cHBzbGFnbmlnbnNzdHlja2UiCiAKLSM6IG1pZHguYzoxNDgKKyM6IG1pZHguYzoxNTEKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgb2JqZWN0IG9mZnNldHMgY2h1bmsiCiBtc2dzdHIgIm11bHRpLXBhY2staW5kZXggc2FrbmFyIGtyw6R2dCBvYmpla3Qtb2Zmc2V0c3R5Y2tlIgogCi0jOiBtaWR4LmM6MTYyCisjOiBtaWR4LmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm11bHRpLXBhY2staW5kZXggcGFjayBuYW1lcyBvdXQgb2Ygb3JkZXI6ICclcycgYmVmb3JlICclcyciCiBtc2dzdHIgIm11bHRpLXBhY2staW5kZXgtcGFrZXRuYW1uIGkgZmVsIG9yZG5pbmc6IFwiJXNcIiBmw7ZyZSBcIiVzXCIiCiAKLSM6IG1pZHguYzoyMDUKKyM6IG1pZHguYzoyMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2staW50LWlkOiAldSAoJXUgdG90YWwgcGFja3MpIgogbXNnc3RyICJiYWQgcGFjay1pbnQtaWQ6ICV1ICgldSBwYWtldCB0b3RhbHQpIgogCi0jOiBtaWR4LmM6MjQ2CisjOiBtaWR4LmM6MjYwCiBtc2dpZCAibXVsdGktcGFjay1pbmRleCBzdG9yZXMgYSA2NC1iaXQgb2Zmc2V0LCBidXQgb2ZmX3QgaXMgdG9vIHNtYWxsIgogbXNnc3RyICJtdWx0aS1wYWNrLWluZGV4IHNrcml2ZXIgNjQtYml0YXJzIG9mZnNldCwgbWVuIG9mZl90IMOkciBmw7ZyIGxpdGVuIgogCi0jOiBtaWR4LmM6MjcxCisjOiBtaWR4LmM6Mjg4CiBtc2dpZCAiZXJyb3IgcHJlcGFyaW5nIHBhY2tmaWxlIGZyb20gbXVsdGktcGFjay1pbmRleCIKIG1zZ3N0ciAiZmVsIG7DpHIgcGFrZXRmaWxlciBmcsOlbiBtdWx0aS1wYWNrLWluZGV4IHNrdWxsZSBmw7ZyYmVyZWRhcyIKIAotIzogbWlkeC5jOjQwNworIzogbWlkeC5jOjQ3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gYWRkIHBhY2tmaWxlICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBsw6RzYSBwYWtldGZpbGVuIFwiJXNcIiIKIAotIzogbWlkeC5jOjQxMworIzogbWlkeC5jOjQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBwYWNrLWluZGV4ICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyDDtnBwbmEgcGFrZXRpbmRleGV0IFwiJXNcIiIKIAotIzogbWlkeC5jOjUwNworIzogbWlkeC5jOjUzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9jYXRlIG9iamVjdCAlZCBpbiBwYWNrZmlsZSIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGhpdHRhIG9iamVrdCAlZCBpIHBha2V0ZmlsZW4iCiAKLSM6IG1pZHguYzo5NDMKKyM6IG1pZHguYzo4NDIKK21zZ2lkICJBZGRpbmcgcGFja2ZpbGVzIHRvIG11bHRpLXBhY2staW5kZXgiCittc2dzdHIgIkzDpGdnZXIgdGlsbCBwYWtldGZpbGVyIHRpbGwgbXVsdGktcGFjay1pbmRleCIKKworIzogbWlkeC5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJkaWQgbm90IHNlZSBwYWNrLWZpbGUgJXMgdG8gZHJvcCIKK21zZ3N0ciAic8OlZyBpbnRlIHBha2V0ZmlsZW4gJXMgc29tIHNrdWxsZSBrYXN0YXMiCisKKyM6IG1pZHguYzo5NzMKK21zZ2lkICJXcml0aW5nIGNodW5rcyB0byBtdWx0aS1wYWNrLWluZGV4IgorbXNnc3RyICJTa3JpdmVyIHN0eWNrZW4gdGlsbCBtdWx0aS1wYWNrLWluZGV4IgorCisjOiBtaWR4LmM6MTA1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY2xlYXIgbXVsdGktcGFjay1pbmRleCBhdCAlcyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHN0w6RkYSBtdWx0aS1wYWNrLWluZGV4IHDDpSAlcyIKIAotIzogbWlkeC5jOjk4MQorIzogbWlkeC5jOjExMDgKK21zZ2lkICJMb29raW5nIGZvciByZWZlcmVuY2VkIHBhY2tmaWxlcyIKK21zZ3N0ciAiU2VyIGVmdGVyIHJlZmVyZXJhZGUgcGFja2ZpbGVyIgorCisjOiBtaWR4LmM6MTEyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAib2lkIGZhbm91dCBvdXQgb2Ygb3JkZXI6IGZhbm91dFslZF0gPSAlPFBSSXgzMj4gPiAlPFBSSXgzMj4gPSBmYW5vdXRbJWRdIgogbXNnc3RyICIiCiAib2lkLXV0YnJlZG5pbmcgaSBmZWwgb3JkbmluZzogZmFub3V0WyVkXSA9ICU8UFJJeDMyPiA+ICU8UFJJeDMyPiA9IGZhbm91dFslZF0iCiAKLSM6IG1pZHguYzo5OTIKKyM6IG1pZHguYzoxMTI4Cittc2dpZCAiVmVyaWZ5aW5nIE9JRCBvcmRlciBpbiBtdWx0aS1wYWNrLWluZGV4IgorbXNnc3RyICJCZWtyw6RmdGFyIE9JRC1vcmRuaW5nIGkgbXVsdGktcGFjay1pbmRleCIKKworIzogbWlkeC5jOjExMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAib2lkIGxvb2t1cCBvdXQgb2Ygb3JkZXI6IG9pZFslZF0gPSAlcyA+PSAlcyA9IG9pZFslZF0iCiBtc2dzdHIgIm9pZC11cHBzbGFnbmluZyBpIGZlbCBvcmRuaW5nOiBvaWRbJWRdID0gJXMgPj0gJXMgPSBvaWRbJWRdIgogCi0jOiBtaWR4LmM6OTk2CisjOiBtaWR4LmM6MTE1NworbXNnaWQgIlNvcnRpbmcgb2JqZWN0cyBieSBwYWNrZmlsZSIKK21zZ3N0ciAiU29ydGVyYXIgb2JqZWt0IGVmdGVyIHBhY2tmaWwiCisKKyM6IG1pZHguYzoxMTY0CiBtc2dpZCAiVmVyaWZ5aW5nIG9iamVjdCBvZmZzZXRzIgogbXNnc3RyICJCZWtyw6RmdGFyIG9mZnNldCBmw7ZyIG9iamVrdCIKIAotIzogbWlkeC5jOjEwMDQKKyM6IG1pZHguYzoxMTgwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBsb2FkIHBhY2sgZW50cnkgZm9yIG9pZFslZF0gPSAlcyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGzDpHNhIHBha2V0cG9zdCBmw7ZyIG9pZFslZF0gPSAlcyIKIAotIzogbWlkeC5jOjEwMTAKKyM6IG1pZHguYzoxMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBsb2FkIHBhY2staW5kZXggZm9yIHBhY2tmaWxlICVzIgogbXNnc3RyICJtaXNzbHlja2FkZXMgbMOkc2EgcGFrZXRpbmRleCBmw7ZyIHBha2V0ZmlsICVzIgogCi0jOiBtaWR4LmM6MTAxOQorIzogbWlkeC5jOjExOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5jb3JyZWN0IG9iamVjdCBvZmZzZXQgZm9yIG9pZFslZF0gPSAlczogJTxQUkl4NjQ+ICE9ICU8UFJJeDY0PiIKIG1zZ3N0ciAiZmVsYWt0aWd0IG9iamVrdC1vZmZzZXQgZsO2ciBvaWRbJWRdID0gJXM6ICU8UFJJeDY0PiAhPSAlPFBSSXg2ND4iCiAKLSM6IG5hbWUtaGFzaC5jOjUzMgorIzogbWlkeC5jOjEyMjAKK21zZ2lkICJDb3VudGluZyByZWZlcmVuY2VkIG9iamVjdHMiCittc2dzdHIgIlLDpGtuYXIgcmVmZXJlcmFkZSBvYmpla3QiCisKKyM6IG1pZHguYzoxMjMwCittc2dpZCAiRmluZGluZyBhbmQgZGVsZXRpbmcgdW5yZWZlcmVuY2VkIHBhY2tmaWxlcyIKK21zZ3N0ciAiU2VyIGVmdGVyIG9jaCB0YXIgYm9ydCBvcmVmZXJlcmFkZSBwYWNrZmlsZXIiCisKKyM6IG1pZHguYzoxMzg4Cittc2dpZCAiY291bGQgbm90IHN0YXJ0IHBhY2stb2JqZWN0cyIKK21zZ3N0ciAia3VuZGUgaW50ZSBzdGFydGEgcGFjay1vYmplY3RzIgorCisjOiBtaWR4LmM6MTQwNworbXNnaWQgImNvdWxkIG5vdCBmaW5pc2ggcGFjay1vYmplY3RzIgorbXNnc3RyICJrdW5kZSBpbnRlIGF2c2x1dGEgcGFjay1vYmplY3RzIgorCisjOiBuYW1lLWhhc2guYzo1MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsYXp5X2RpciB0aHJlYWQ6ICVzIgogbXNnc3RyICJtaXNzbHlja2FkZXMgc2thcGEgbGF6eV9kaXItdHLDpWQ6ICVzIgogCi0jOiBuYW1lLWhhc2guYzo1NTQKKyM6IG5hbWUtaGFzaC5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxhenlfbmFtZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJtaXNzbHlja2FkZXMgc2thcGEgbGF6eV9uYW1lLXRyw6VkOiAlcyIKIAotIzogbmFtZS1oYXNoLmM6NTYwCisjOiBuYW1lLWhhc2guYzo1NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGpvaW4gbGF6eV9uYW1lIHRocmVhZDogJXMiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB1dGbDtnJhIGpvaW4gcMOlIGxhenlfbmFtZS10csOlZDogJXMiCiAKLSM6IG5vdGVzLW1lcmdlLmM6Mjc1CisjOiBub3Rlcy1tZXJnZS5jOjI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIHByZXZpb3VzIG5vdGVzIG1lcmdlICglcyBleGlzdHMpLlxuIgpAQCAtMzQzNiwyMSArNDY5MCwyMSBAQAogImF0dCBjaGVja2EgaW4gZWxsZXIgYXZicnl0YSBmw7ZyZWfDpWVuZGUgc2FtbWFuc2xhZ25pbmcgaW5uYW4gZHUgcMOlYsO2cmphciBlbiAiCiAibnkgYW50ZWNrbmluZ3Mtc2FtbWFuc2xhZ25pbmcuIgogCi0jOiBub3Rlcy1tZXJnZS5jOjI4MgorIzogbm90ZXMtbWVyZ2UuYzoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG5vdGVzIG1lcmdlICglcyBleGlzdHMpLiIKIG1zZ3N0ciAiRHUgaGFyIGludGUgYXZzbHV0YXQgYW50ZWNrbmluZ3Mtc2FtbWFuc2xhZ25pbmdlbiAoJXMgZmlubnMpLiIKIAotIzogbm90ZXMtdXRpbHMuYzo0NQorIzogbm90ZXMtdXRpbHMuYzo0NgogbXNnaWQgIkNhbm5vdCBjb21taXQgdW5pbml0aWFsaXplZC91bnJlZmVyZW5jZWQgbm90ZXMgdHJlZSIKIG1zZ3N0ciAiS2FuIGludGUgY2hlY2thIGluIG9pbml0aWVyYXQvb3JlZmVyZXJhdCBhbnRlY2tuaW5nc3Ryw6RkIgogCi0jOiBub3Rlcy11dGlscy5jOjEwNAorIzogbm90ZXMtdXRpbHMuYzoxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIG5vdGVzLnJld3JpdGVNb2RlIHZhbHVlOiAnJXMnIgogbXNnc3RyICJGZWxha3RpZ3QgdsOkcmRlIGbDtnIgbm90ZXMucmV3cml0ZU1vZGU6ICclcyciCiAKLSM6IG5vdGVzLXV0aWxzLmM6MTE0CisjOiBub3Rlcy11dGlscy5jOjExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byByZXdyaXRlIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKIG1zZ3N0ciAiVsOkZ3JhciBza3JpdmEgw7Z2ZXIgYW50ZWNrbmluZ2FyIGkgJXMgKHV0YW5mw7ZyIHJlZnMvbm90ZXMvKSIKQEAgLTM0NTksMTIgKzQ3MTMsMTIgQEAKICMuIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcwogIy4gaXRzIHZhbHVlLgogIy4KLSM6IG5vdGVzLXV0aWxzLmM6MTQ0CisjOiBub3Rlcy11dGlscy5jOjE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgJXMgdmFsdWU6ICclcyciCiBtc2dzdHIgIkZlbGFrdGlndCB2w6RyZGUgcMOlICVzOiBcIiVzXCIiCiAKLSM6IG9iamVjdC5jOjU0CisjOiBvYmplY3QuYzo1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCB0eXBlIFwiJXNcIiIKIG1zZ3N0ciAib2dpbHRpZyBvYmpla3R0eXAgXCIlc1wiIgpAQCAtMzQ4NiwyOCArNDc0MCw4MyBAQAogCiAjOiBvYmplY3QuYzoyNjYgb2JqZWN0LmM6Mjc3CiAjLCBjLWZvcm1hdAotbXNnaWQgInNoYTEgbWlzbWF0Y2ggJXMiCi1tc2dzdHIgInNoYTEgc3TDpG1tZXIgaW50ZSDDtnZlcmVucyAlcyIKK21zZ2lkICJoYXNoIG1pc21hdGNoICVzIgorbXNnc3RyICJoYXNodsOkcmRlIHN0w6RtbWVyIGludGUgw7Z2ZXJlbnMgJXMiCiAKLSM6IHBhY2tmaWxlLmM6NjA3CisjOiBwYWNrZmlsZS5jOjY0MQogbXNnaWQgIm9mZnNldCBiZWZvcmUgZW5kIG9mIHBhY2tmaWxlIChicm9rZW4gLmlkeD8pIgogbXNnc3RyICJvZmZzZXQgZsO2cmUgc2x1dGV0IGF2IHBhY2tmaWxlbiAodHJhc2lnIC5pZHg/KSIKIAotIzogcGFja2ZpbGUuYzoxODY0CisjOiBwYWNrZmlsZS5jOjE4ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAib2Zmc2V0IGJlZm9yZSBzdGFydCBvZiBwYWNrIGluZGV4IGZvciAlcyAoY29ycnVwdCBpbmRleD8pIgogbXNnc3RyICJvZmZzZXQgZsO2cmUgc2x1dGV0IGF2IHBhY2tpbmRleCBmw7ZyICVzICh0cmFzaWd0IGluZGV4PykiCiAKLSM6IHBhY2tmaWxlLmM6MTg2OAorIzogcGFja2ZpbGUuYzoxODkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZXlvbmQgZW5kIG9mIHBhY2sgaW5kZXggZm9yICVzICh0cnVuY2F0ZWQgaW5kZXg/KSIKIG1zZ3N0ciAib2Zmc2V0IGJvcnRvbiBzbHV0ZXQgYXYgcGFja2luZGV4IGbDtnIgJXMgKHRydW5rZXJhdCBpbmRleD8pIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NjcyCisjOiBwYXJzZS1vcHRpb25zLmM6MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYSB2YWx1ZSIKK21zZ3N0ciAiJXMgYmVow7Z2ZXIgZXR0IHbDpHJkZSIKKworIzogcGFyc2Utb3B0aW9ucy5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGluY29tcGF0aWJsZSB3aXRoICVzIgorbXNnc3RyICIlcyDDpHIgaW5rb21wYXRpYmVsIG1lZCAlcyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIDogaW5jb21wYXRpYmxlIHdpdGggc29tZXRoaW5nIGVsc2UiCittc2dzdHIgIiVzOiBpbmtvbXBhdGliZWx0IG1lZCBuw6Vnb3QgYW5uYXQiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo5MiBwYXJzZS1vcHRpb25zLmM6OTYgcGFyc2Utb3B0aW9ucy5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0YWtlcyBubyB2YWx1ZSIKK21zZ3N0ciAiJXMgdGFyIGluZ2V0IHbDpHJkZSIKKworIzogcGFyc2Utb3B0aW9ucy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzbid0IGF2YWlsYWJsZSIKK21zZ3N0ciAiJXMgw6RyIGludGUgdGlsbGfDpG5nbGlndCIKKworIzogcGFyc2Utb3B0aW9ucy5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIgdmFsdWUgd2l0aCBhbiBvcHRpb25hbCBrL20vZyBzdWZmaXgiCittc2dzdHIgIiVzIGbDtnJ2w6RudGFyIGV0dCBpY2tlLW5lZ2F0aXZ0IGhlbHRhbHN2w6RyZGUsIG1lZCB2YWxmcml0dCBrL20vZy1zdWZmaXgiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYW1iaWd1b3VzIG9wdGlvbjogJXMgKGNvdWxkIGJlIC0tJXMlcyBvciAtLSVzJXMpIgorbXNnc3RyICJ0dmV0eWRpZyBmbGFnZ2E6ICVzIChrYW4gdmFyYSAtLSVzJXMgZWxsZXIgLS0lcyVzKSIKKworIzogcGFyc2Utb3B0aW9ucy5jOjQyMyBwYXJzZS1vcHRpb25zLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgImRpZCB5b3UgbWVhbiBgLS0lc2AgKHdpdGggdHdvIGRhc2hlcyA/KSIKK21zZ3N0ciAibWVuYWRlIGR1IFwiLS0lc1wiIChtZWQgdHbDpSBiaW5kZXN0cmVjaz8pIgorCisjOiBwYXJzZS1vcHRpb25zLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIGAlcyciCittc2dzdHIgIm9rw6RuZCBmbGFnZ2EgXCIlc1wiIgorCisjOiBwYXJzZS1vcHRpb25zLmM6ODYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc3dpdGNoIGAlYyciCittc2dzdHIgIm9rw6RuZCBmbGFnZ2EgXCIlY1wiIgorCisjOiBwYXJzZS1vcHRpb25zLmM6ODY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbm9uLWFzY2lpIG9wdGlvbiBpbiBzdHJpbmc6IGAlcyciCittc2dzdHIgIm9rw6RuZCBpY2tlLWFzY2lpLWZsYWdnYSBpIHN0csOkbmdlbjogXCIlc1wiIgorCisjOiBwYXJzZS1vcHRpb25zLmM6ODg4CiBtc2dpZCAiLi4uIgogbXNnc3RyICIuLi4iCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo2OTEKKyM6IHBhcnNlLW9wdGlvbnMuYzo5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidXNhZ2U6ICVzIgogbXNnc3RyICJhbnbDpG5kbmluZzogJXMiCkBAIC0zNTE1LDU4ICs0ODI0LDc0IEBACiAjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uIGhlcmUgc2hvdWxkIGFsaWduIHdpdGggdGhlCiAjLiBvbmUgaW4gInVzYWdlOiAlcyIgdHJhbnNsYXRpb24uCiAjLgotIzogcGFyc2Utb3B0aW9ucy5jOjY5NworIzogcGFyc2Utb3B0aW9ucy5jOjkxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICBvcjogJXMiCiBtc2dzdHIgIiAgICAgZWxsZXI6ICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NzAwCisjOiBwYXJzZS1vcHRpb25zLmM6OTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlcyIKIG1zZ3N0ciAiICAgICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NzM5CisjOiBwYXJzZS1vcHRpb25zLmM6OTU1CiBtc2dpZCAiLU5VTSIKIG1zZ3N0ciAiLVRBTCIKIAotIzogcGFyc2Utb3B0aW9ucy1jYi5jOjM3CisjOiBwYXJzZS1vcHRpb25zLmM6OTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsaWFzIG9mIC0tJXMiCittc2dzdHIgImFsaWFzIGbDtnIgLS0lcyIKKworIzogcGFyc2Utb3B0aW9ucy1jYi5jOjIwIHBhcnNlLW9wdGlvbnMtY2IuYzoyNAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgorbXNnc3RyICJmbGFnZ2FuIFwiJXNcIiBhbnRhciBldHQgbnVtZXJpc2t0IHbDpHJkZSIKKworIzogcGFyc2Utb3B0aW9ucy1jYi5jOjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBleHBpcmF0aW9uIGRhdGUgJyVzJyIKLW1zZ3N0ciAidHJhc2lndCB1dGzDtnBzZGF0dW06IOKAnSVz4oCdIgorbXNnc3RyICJ0cmFzaWd0IHV0bMO2cHNkYXR1bTogXCIlc1wiIgogCi0jOiBwYXJzZS1vcHRpb25zLWNiLmM6MTA5CisjOiBwYXJzZS1vcHRpb25zLWNiLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgZXhwZWN0cyBcImFsd2F5c1wiLCBcImF1dG9cIiwgb3IgXCJuZXZlclwiIgorbXNnc3RyICIiCisiZmxhZ2dhbiBcIiVzXCIgYW50YXIgXCJhbHdheXNcIiAoYWxsdGlkKSwgXCJhdXRvXCIgZWxsZXIgXCJuZXZlclwiIChhbGRyaWcpIgorCisjOiBwYXJzZS1vcHRpb25zLWNiLmM6MTMwIHBhcnNlLW9wdGlvbnMtY2IuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCiBtc2dzdHIgImZlbGZvcm1hdCBvYmpla3RuYW1uIFwiJXNcIiIKIAotIzogcGF0aC5jOjg5NAorIzogcGF0aC5jOjkxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgbWFrZSAlcyB3cml0YWJsZSBieSBncm91cCIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBnw7ZyYSAlcyBza3JpdmJhciBmw7ZyIGdydXBwZW4iCiAKLSM6IHBhdGhzcGVjLmM6MTI5CisjOiBwYXRoc3BlYy5jOjEzMAogbXNnaWQgIkVzY2FwZSBjaGFyYWN0ZXIgJ1xcJyBub3QgYWxsb3dlZCBhcyBsYXN0IGNoYXJhY3RlciBpbiBhdHRyIHZhbHVlIgogbXNnc3RyICJTcGVjaWFsdGVja25ldCBcIlxcXCIgdGlsbMOldHMgaW50ZSBzb20gc2lzdGEgdGVja2VuIGkgYXR0cmlidXR2w6RyZGUiCiAKLSM6IHBhdGhzcGVjLmM6MTQ3CisjOiBwYXRoc3BlYy5jOjE0OAogbXNnaWQgIk9ubHkgb25lICdhdHRyOicgc3BlY2lmaWNhdGlvbiBpcyBhbGxvd2VkLiIKIG1zZ3N0ciAiRW5kYXN0IGVuIFwiYXR0cjpcIi1hbmdpdmVsc2UgdGlsbMOldGVuLiIKIAotIzogcGF0aHNwZWMuYzoxNTAKKyM6IHBhdGhzcGVjLmM6MTUxCiBtc2dpZCAiYXR0ciBzcGVjIG11c3Qgbm90IGJlIGVtcHR5IgogbXNnc3RyICJhdHRyLWFuZ2l2ZWxzZSBrYW4gaW50ZSB2YXJhIHRvbSIKIAotIzogcGF0aHNwZWMuYzoxOTMKKyM6IHBhdGhzcGVjLmM6MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYXR0cmlidXRlIG5hbWUgJXMiCiBtc2dzdHIgIm9naWx0aWd0IGF0dHJpYnV0bmFtbiAlcyIKIAotIzogcGF0aHNwZWMuYzoyNTgKKyM6IHBhdGhzcGVjLmM6MjU5CiBtc2dpZCAiZ2xvYmFsICdnbG9iJyBhbmQgJ25vZ2xvYicgcGF0aHNwZWMgc2V0dGluZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiIgogImRlIGdsb2JhbGEgc8O2a3bDpGdzaW5zdMOkbGxuaW5nYXJuYSBcImdsb2JcIiBvY2ggXCJub2dsb2JcIiDDpHIgaW5rb21wYXRpYmxhIgogCi0jOiBwYXRoc3BlYy5jOjI2NQorIzogcGF0aHNwZWMuYzoyNjYKIG1zZ2lkICIiCiAiZ2xvYmFsICdsaXRlcmFsJyBwYXRoc3BlYyBzZXR0aW5nIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBnbG9iYWwgIgogInBhdGhzcGVjIHNldHRpbmdzIgpAQCAtMzU3NCwxMjggKzQ4OTksMjAwIEBACiAiZGVuIGdsb2JhbGEgc8O2a3bDpGdzaW5zdMOkbGxuaW5nZW4gXCJsaXRlcmFsXCIgw6RyIGlua29tcGF0aWJlbCBtZWQgYWxsYSBhbmRyYSAiCiAiZ2xvYmFsYSBzw7ZrdsOkZ3NpbnN0w6RsbG5pbmdhciIKIAotIzogcGF0aHNwZWMuYzozMDUKKyM6IHBhdGhzcGVjLmM6MzA2CiBtc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXIgZm9yIHBhdGhzcGVjIG1hZ2ljICdwcmVmaXgnIgogbXNnc3RyICJvZ2lsdGlnIHBhcmFtZXRlciBmw7ZyIHPDtmt2w6Rnc3V0dHJ5Y2tldCBmw7ZyIFwicHJlZml4XCIiCiAKLSM6IHBhdGhzcGVjLmM6MzI2CisjOiBwYXRoc3BlYy5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHBhdGhzcGVjIG1hZ2ljICclLipzJyBpbiAnJXMnIgogbXNnc3RyICJGZWxha3RpZ3Qgc8O2a3bDpGdzdXR0cnljayBcIiUuKnNcIiBpIFwiJXNcIiIKIAotIzogcGF0aHNwZWMuYzozMzEKKyM6IHBhdGhzcGVjLmM6MzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1pc3NpbmcgJyknIGF0IHRoZSBlbmQgb2YgcGF0aHNwZWMgbWFnaWMgaW4gJyVzJyIKIG1zZ3N0ciAiXCIpXCIgc2FrbmFzIGkgc2x1dGV0IGF2IHPDtmt2w6Rnc3V0dHJ5Y2tldCBmw7ZyIFwiJXNcIiIKIAotIzogcGF0aHNwZWMuYzozNjkKKyM6IHBhdGhzcGVjLmM6MzcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuaW1wbGVtZW50ZWQgcGF0aHNwZWMgbWFnaWMgJyVjJyBpbiAnJXMnIgotbXNnc3RyICJFaiBpbXBsZW1lbnRlcmF0IHPDtmt2w6Rnc3V0dHJ5Y2ttYWdpIOKAnSVj4oCdIGkg4oCdJXPigJ0iCittc2dzdHIgIkVqIGltcGxlbWVudGVyYXQgc8O2a3bDpGdzdXR0cnlja21hZ2kgXCIlY1wiIGkgXCIlc1wiIgogCi0jOiBwYXRoc3BlYy5jOjQyOAorIzogcGF0aHNwZWMuYzo0MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICdsaXRlcmFsJyBhbmQgJ2dsb2InIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIiVzOiBcImxpdGVyYWxcIiBvY2ggXCJnbG9iXCIgw6RyIGlua29tcGF0aWJsYSIKIAotIzogcGF0aHNwZWMuYzo0NDEKKyM6IHBhdGhzcGVjLmM6NDQyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAnJXMnIGlzIG91dHNpZGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiJXM6IFwiJXNcIiDDpHIgdXRhbmbDtnIgYXJraXZldCIKIAotIzogcGF0aHNwZWMuYzo1MTUKKyM6IHBhdGhzcGVjLmM6NTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgKG1uZW1vbmljOiAnJWMnKSIKIG1zZ3N0ciAiXCIlc1wiIChtaW5uZXNzdMO2ZDogXCIlY1wiKSIKIAotIzogcGF0aHNwZWMuYzo1MjUKKyM6IHBhdGhzcGVjLmM6NTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXRoc3BlYyBtYWdpYyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29tbWFuZDogJXMiCiBtc2dzdHIgIiVzOiBzw7ZrdsOkZ3N1dHRyeWNrZXQgaGFudGVyYXMgaW50ZSBhdiBkZXQgaMOkciBrb21tYW5kb3Q6ICVzIgogCi0jOiBwYXRoc3BlYy5jOjU5MgorIzogcGF0aHNwZWMuYzo1OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBpcyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICJzw7ZrdsOkZ3NhbmdpdmVsc2VuIFwiJXNcIiDDpHIgcMOlIGFuZHJhIHNpZGFuIGF2IGVuIHN5bWJvbGlzayBsw6RuayIKIAotIzogcGt0LWxpbmUuYzoxMDQKKyM6IHBhdGhzcGVjLmM6NjM4CisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgaXMgYmFkbHkgcXVvdGVkOiAlcyIKK21zZ3N0ciAibGluamVuIGVyIGZlbGFrdGlndCBjaXRlcmFkOiAlcyIKKworIzogcGt0LWxpbmUuYzo5MgorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmbHVzaCBwYWNrZXQiCittc2dzdHIgImthbiBpbnRlIHNrcml2YSBmbHVzaC1wYWtldCIKKworIzogcGt0LWxpbmUuYzo5OQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBkZWxpbSBwYWNrZXQiCittc2dzdHIgImthbiBpbnRlIHNrcml2YSBkZWxpbS1wYWtldCIKKworIzogcGt0LWxpbmUuYzoxMDYKIG1zZ2lkICJmbHVzaCBwYWNrZXQgd3JpdGUgZmFpbGVkIgogbXNnc3RyICJmZWwgdmlkIHNrcml2bmluZyBhdiBcImZsdXNoXCItcGFrZXQiCiAKLSM6IHBrdC1saW5lLmM6MTQyIHBrdC1saW5lLmM6MjI4CisjOiBwa3QtbGluZS5jOjE0NiBwa3QtbGluZS5jOjIzMgogbXNnaWQgInByb3RvY29sIGVycm9yOiBpbXBvc3NpYmx5IGxvbmcgbGluZSIKIG1zZ3N0ciAicHJvdG9rb2xsZmVsOiBvbcO2amxpZ3QgbMOlbmcgcmFkIgogCi0jOiBwa3QtbGluZS5jOjE1OCBwa3QtbGluZS5jOjE2MAorIzogcGt0LWxpbmUuYzoxNjIgcGt0LWxpbmUuYzoxNjQKIG1zZ2lkICJwYWNrZXQgd3JpdGUgd2l0aCBmb3JtYXQgZmFpbGVkIgogbXNnc3RyICJwYWtldHNrcml2bmluZyBtZWQgZm9ybWF0IG1pc3NseWNrYWRlcyIKIAotIzogcGt0LWxpbmUuYzoxOTIKKyM6IHBrdC1saW5lLmM6MTk2CiBtc2dpZCAicGFja2V0IHdyaXRlIGZhaWxlZCAtIGRhdGEgZXhjZWVkcyBtYXggcGFja2V0IHNpemUiCiBtc2dzdHIgInBha2V0c2tyaXZuaW5nIG1pc3NseWNrYWRlcyAtIGRhdGEgw7Z2ZXJza3JpZGVyIG1heGltYWwgcGFrZXRzdG9ybGVrIgogCi0jOiBwa3QtbGluZS5jOjE5OSBwa3QtbGluZS5jOjIwNgorIzogcGt0LWxpbmUuYzoyMDMgcGt0LWxpbmUuYzoyMTAKIG1zZ2lkICJwYWNrZXQgd3JpdGUgZmFpbGVkIgogbXNnc3RyICJwYWtldHNrcml2bmluZyBtaXNzbHlja2FkZXMiCiAKLSM6IHBrdC1saW5lLmM6MjkxCisjOiBwa3QtbGluZS5jOjI5NQogbXNnaWQgInJlYWQgZXJyb3IiCiBtc2dzdHIgImzDpHNmZWwiCiAKLSM6IHBrdC1saW5lLmM6Mjk5CisjOiBwa3QtbGluZS5jOjMwMwogbXNnaWQgInRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdW5leHBlY3RlZGx5IgogbXNnc3RyICJmasOkcnJlbiBsYWRlIHDDpSBvdsOkbnRhdCIKIAotIzogcGt0LWxpbmUuYzozMjcKKyM6IHBrdC1saW5lLmM6MzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgbGluZSBsZW5ndGggY2hhcmFjdGVyOiAlLjRzIgogbXNnc3RyICJwcm90b2tvbGxmZWw6IGZlbGFrdGlnIHJhZGzDpG5nZHN0ZWNrZW46ICUuNHMiCiAKLSM6IHBrdC1saW5lLmM6MzM3IHBrdC1saW5lLmM6MzQyCisjOiBwa3QtbGluZS5jOjM0MSBwa3QtbGluZS5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIGxpbmUgbGVuZ3RoICVkIgogbXNnc3RyICJwcm90b2tvbGxmZWw6IGZlbGFrdGlnIHJhZGzDpG5nZDogJWQiCiAKLSM6IHByZWxvYWQtaW5kZXguYzoxMTgKKyM6IHBrdC1saW5lLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW90ZSBlcnJvcjogJXMiCittc2dzdHIgImZqw6RycmZlbDogJXMiCisKKyM6IHByZWxvYWQtaW5kZXguYzoxMTkKIG1zZ2lkICJSZWZyZXNoaW5nIGluZGV4IgogbXNnc3RyICJVcHBkYXRlcmFyIGluZGV4ZXQiCiAKLSM6IHByZWxvYWQtaW5kZXguYzoxMzcKKyM6IHByZWxvYWQtaW5kZXguYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWRlZCBsc3RhdDogJXMiCiBtc2dzdHIgImt1bmRlIGludGUgc2thcGEgdHLDpWRhZCBsc3RhdDogJXMiCiAKLSM6IHByZXR0eS5jOjk2MgorIzogcHJldHR5LmM6OTgxCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIC0tcHJldHR5IGZvcm1hdCIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBmb3JtYXQgZsO2ciAtLXByZXR0eSIKIAotIzogcmFuZ2UtZGlmZi5jOjU2CisjOiBwcm9taXNvci1yZW1vdGUuYzoyMworbXNnaWQgIlJlbW90ZSB3aXRoIG5vIFVSTCIKK21zZ3N0ciAiRmrDpHJyIHV0YW4gVVJMIgorCisjOiBwcm9taXNvci1yZW1vdGUuYzo1OAorIywgYy1mb3JtYXQKK21zZ2lkICJwcm9taXNvciByZW1vdGUgbmFtZSBjYW5ub3QgYmVnaW4gd2l0aCAnLyc6ICVzIgorbXNnc3RyICJrb250cmFrdHNmasOkcnIga2FuIGludGUgYsO2cmphIG1lZCBcIi9cIjogJXMiCisKKyM6IHJhbmdlLWRpZmYuYzo3NQogbXNnaWQgImNvdWxkIG5vdCBzdGFydCBgbG9nYCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBzdGFydGEgXCJsb2dcIiIKIAotIzogcmFuZ2UtZGlmZi5jOjU5CisjOiByYW5nZS1kaWZmLmM6NzcKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBgbG9nYCBvdXRwdXQiCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgdXRkYXRhIGZyw6VuIFwibG9nXCIiCiAKLSM6IHJhbmdlLWRpZmYuYzo3NCBzZXF1ZW5jZXIuYzo0NzY0CisjOiByYW5nZS1kaWZmLmM6OTYgc2VxdWVuY2VyLmM6NTE2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgdG9sa2EgaW5jaGVja25pbmdlbiBcIiVzXCIiCiAKLSM6IHJhbmdlLWRpZmYuYzoyMjQKKyM6IHJhbmdlLWRpZmYuYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGdpdCBoZWFkZXIgJyUuKnMnIgorbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIGdpdC1odXZ1ZGV0IFwiJS4qc1wiIgorCisjOiByYW5nZS1kaWZmLmM6Mjg1CiBtc2dpZCAiZmFpbGVkIHRvIGdlbmVyYXRlIGRpZmYiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBza2FwYSBkaWZmIgogCi0jOiByYW5nZS1kaWZmLmM6NDU1IHJhbmdlLWRpZmYuYzo0NTcKKyM6IHJhbmdlLWRpZmYuYzo1MTggcmFuZ2UtZGlmZi5jOjUyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgbG9nIGZvciAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIGxvZ2dlbiBmw7ZyIFwiJXNcIiIKIAotIzogcmVhZC1jYWNoZS5jOjE0OTAKKyM6IHJlYWQtY2FjaGUuYzo2ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgYWRkIGZpbGUgYWxpYXMgJyVzJyAoJyVzJyBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCkiCittc2dzdHIgImzDpGdnZXIgaW50ZSB0aWxsIGZpbGFsaWFzIFwiJXNcIiAoXCIlc1wiIGZpbm5zIHJlZGFuIGkgaW5kZXhldCkiCisKKyM6IHJlYWQtY2FjaGUuYzo2OTYKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGFuIGVtcHR5IGJsb2IgaW4gdGhlIG9iamVjdCBkYXRhYmFzZSIKK21zZ3N0ciAia2FuIGludGUgc2thcGEgdG9tIGJsb2IgaSBvYmpla3RkYXRhYmFzZW4iCisKKyM6IHJlYWQtY2FjaGUuYzo3MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbiBvbmx5IGFkZCByZWd1bGFyIGZpbGVzLCBzeW1ib2xpYyBsaW5rcyBvciBnaXQtZGlyZWN0b3JpZXMiCittc2dzdHIgIiIKKyIlczoga2FuIGJhcmEgbMOkZ2dhIHRpbGwgdmFubGlnYSBmaWxlciwgc3ltYm9saXNrYSBsw6Rua2FyIG9jaCBnaXQta2F0YWxvZ2VyIgorCisjOiByZWFkLWNhY2hlLmM6NzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZG9lcyBub3QgaGF2ZSBhIGNvbW1pdCBjaGVja2VkIG91dCIKK21zZ3N0ciAiXCIlc1wiIGhhciBpbnRlIG7DpWdvbiB1dGNoZWNrYWQgaW5jaGVja25pbmciCisKKyM6IHJlYWQtY2FjaGUuYzo3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGluZGV4IGZpbGUgJyVzJyIKK21zZ3N0ciAia2FuIGludGUgaW5kZXhlcmEgZmlsZW4gXCIlc1wiIgorCisjOiByZWFkLWNhY2hlLmM6Nzk0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhZGQgJyVzJyB0byBpbmRleCIKK21zZ3N0ciAia2FuIGludGUgbMOkZ2dhIHRpbGwgXCIlc1wiIHRpbGwgaW5kZXhldCIKKworIzogcmVhZC1jYWNoZS5jOjgwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gc3RhdCAnJXMnIgorbXNnc3RyICJrYW4gaW50ZSB0YSBzdGF0dXMgcMOlIFwiJXNcIiIKKworIzogcmVhZC1jYWNoZS5jOjEzMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBhcHBlYXJzIGFzIGJvdGggYSBmaWxlIGFuZCBhcyBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiXCIlc1wiIGZpbm5zIGLDpWRlIHNvbSBlbiBmaWwgb2NoIGVuIGthdGFsb2ciCisKKyM6IHJlYWQtY2FjaGUuYzoxNTMxCiBtc2dpZCAiUmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAiVXBwZGF0ZXJhIGluZGV4ZXQiCiAKLSM6IHJlYWQtY2FjaGUuYzoxNjA0CisjOiByZWFkLWNhY2hlLmM6MTY0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiaW5kZXgudmVyc2lvbiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKQEAgLTM3MDQsNyArNTEwMSw3IEBACiAiaW5kZXgudmVyc2lvbiBzYXR0LCBtZW4gdsOkcmRldCDDpHIgb2dpbHRpZ3QuXG4iCiAiQW52w6RuZGVyIHZlcnNpb24gJWkiCiAKLSM6IHJlYWQtY2FjaGUuYzoxNjE0CisjOiByZWFkLWNhY2hlLmM6MTY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiR0lUX0lOREVYX1ZFUlNJT04gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0zNzEzLDYwICs1MTEwLDE1MCBAQAogIkdJVF9JTkRFWF9WRVJTSU9OIHNhdHQsIG1lbiB2w6RyZGV0IMOkciBvZ2lsdGlndC5cbiIKICJBbnbDpG5kZXIgdmVyc2lvbiAlaSIKIAotIzogcmVhZC1jYWNoZS5jOjE3OTIKKyM6IHJlYWQtY2FjaGUuYzoxNzEyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzaWduYXR1cmUgMHglMDh4IgorbXNnc3RyICJmZWxha3RpZyBzaWduYXR1ciAweCUwOHgiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzE1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICVkIgorbXNnc3RyICJmZWxha3RpZyBpbmRleHZlcnNpb24gJWQiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzI0Cittc2dpZCAiYmFkIGluZGV4IGZpbGUgc2hhMSBzaWduYXR1cmUiCittc2dzdHIgImZlbGFrdGlnIHNoYTEtc2lnbmF0dXIgZsO2ciBpbmRleGZpbCIKKworIzogcmVhZC1jYWNoZS5jOjE3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5kZXggdXNlcyAlLjRzIGV4dGVuc2lvbiwgd2hpY2ggd2UgZG8gbm90IHVuZGVyc3RhbmQiCittc2dzdHIgImluZGV4IGFudsOkbmRlciBmaWx0aWxsw6RnZ2V0ICUuNHMsIHZpbGtldCB2aSBpbnRlIGbDtnJzdMOlciIKKworIzogcmVhZC1jYWNoZS5jOjE3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgJS40cyBleHRlbnNpb24iCittc2dzdHIgImlnbm9yZXJhciBmaWx0aWxsw6RnZ2V0ICUuNHMiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzkzCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gaW5kZXggZW50cnkgZm9ybWF0IDB4JTA4eCIKK21zZ3N0ciAib2vDpG50IGZvcm1hdCAweCUwOHggcMOlIGluZGV4cG9zdCIKKworIzogcmVhZC1jYWNoZS5jOjE4MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG5hbWUgZmllbGQgaW4gdGhlIGluZGV4LCBuZWFyIHBhdGggJyVzJyIKIG1zZ3N0ciAiZmVsZm9ybWF0IG5hbW5mw6RsdCBpIGluZGV4ZXQsIG7DpHJhIHPDtmt2w6RnZW4gXCIlc1wiIgogCi0jOiByZWFkLWNhY2hlLmM6MTk2MCByZXJlcmUuYzo1NjUgcmVyZXJlLmM6NTk5IHJlcmVyZS5jOjExMTEgYnVpbHRpbi9hZGQuYzo0NTgKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTc3IGJ1aWx0aW4vY2hlY2tvdXQuYzoyODkgYnVpbHRpbi9jaGVja291dC5jOjU4NQotIzogYnVpbHRpbi9jaGVja291dC5jOjk1MyBidWlsdGluL2NsZWFuLmM6OTU0IGJ1aWx0aW4vY29tbWl0LmM6MzQzCi0jOiBidWlsdGluL2RpZmYtdHJlZS5jOjExNSBidWlsdGluL2dyZXAuYzo0ODkgYnVpbHRpbi9tdi5jOjE0NAotIzogYnVpbHRpbi9yZXNldC5jOjI0NCBidWlsdGluL3JtLmM6MjcwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMjkKKyM6IHJlYWQtY2FjaGUuYzoxODY2Cittc2dpZCAidW5vcmRlcmVkIHN0YWdlIGVudHJpZXMgaW4gaW5kZXgiCittc2dzdHIgIm9zb3J0ZXJhZGUga8O2cG9zdGVyIGkgaW5kZXgiCisKKyM6IHJlYWQtY2FjaGUuYzoxODY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm11bHRpcGxlIHN0YWdlIGVudHJpZXMgZm9yIG1lcmdlZCBmaWxlICclcyciCittc2dzdHIgImZsZXJhIGvDtnBvc3RlciBmw7ZyIGRlbiBzYW1tYW5zbGFnbmEgZmlsZW4gXCIlc1wiIgorCisjOiByZWFkLWNhY2hlLmM6MTg3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm9yZGVyZWQgc3RhZ2UgZW50cmllcyBmb3IgJyVzJyIKK21zZ3N0ciAib3NvcnRlcmFkZSBrw7Zwb3N0ZXIgZsO2ciBcIiVzXCIiCisKKyM6IHJlYWQtY2FjaGUuYzoxOTc4IHJlYWQtY2FjaGUuYzoyMjY2IHJlcmVyZS5jOjU2NSByZXJlcmUuYzo1OTkgcmVyZXJlLmM6MTExMQorIzogYnVpbHRpbi9hZGQuYzo0OTkgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzggYnVpbHRpbi9jaGVja291dC5jOjQ3MAorIzogYnVpbHRpbi9jaGVja291dC5jOjY1NCBidWlsdGluL2NsZWFuLmM6OTY3IGJ1aWx0aW4vY29tbWl0LmM6MzY3CisjOiBidWlsdGluL2RpZmYtdHJlZS5jOjEyMCBidWlsdGluL2dyZXAuYzo0OTkgYnVpbHRpbi9tdi5jOjE0NQorIzogYnVpbHRpbi9yZXNldC5jOjI0NiBidWlsdGluL3JtLmM6MjcxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMzIKIG1zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQiCiBtc2dzdHIgImluZGV4ZmlsZW4gdHJhc2lnIgogCi0jOiByZWFkLWNhY2hlLmM6MjEwMQorIzogcmVhZC1jYWNoZS5jOjIxMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsb2FkX2NhY2hlX2VudHJpZXMgdGhyZWFkOiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBpbiBjYWNoZV9lbnRyaWVzLXRyw6VkZW46ICVzIgogCi0jOiByZWFkLWNhY2hlLmM6MjExNAorIzogcmVhZC1jYWNoZS5jOjIxMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGpvaW4gbG9hZF9jYWNoZV9lbnRyaWVzIHRocmVhZDogJXMiCiBtc2dzdHIgImt1bmRlIGludGUgdXRmw7ZyYSBqb2luIHDDpSBjYWNoZV9lbnRyaWVzLXRyw6VkZW46ICVzIgogCi0jOiByZWFkLWNhY2hlLmM6MjIwMQorIzogcmVhZC1jYWNoZS5jOjIxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluZGV4IGZpbGUgb3BlbiBmYWlsZWQiCittc2dzdHIgIiVzOiDDtnBwbmluZyBhdiBpbmRleGZpbGVuIG1pc3NseWNrYWRlcyIKKworIzogcmVhZC1jYWNoZS5jOjIxNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBzdGF0IHRoZSBvcGVuIGluZGV4IgorbXNnc3RyICIlczoga2FuIGludGUgdGEgc3RhcnR1cyBww6UgZGV0IMO2cHBuYSBpbmRleGV0IgorCisjOiByZWFkLWNhY2hlLmM6MjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5kZXggZmlsZSBzbWFsbGVyIHRoYW4gZXhwZWN0ZWQiCittc2dzdHIgIiVzOiBpbmRleGZpbGVuIG1pbmRyZSDDpG4gZsO2cnbDpG50YXQiCisKKyM6IHJlYWQtY2FjaGUuYzoyMTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gbWFwIGluZGV4IGZpbGUiCittc2dzdHIgIiVzOiBrYW4gaW50ZSBrb3BwbGEgaW5kZXhmaWxlbiIKKworIzogcmVhZC1jYWNoZS5jOjIyMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsb2FkX2luZGV4X2V4dGVuc2lvbnMgdGhyZWFkOiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSBsb2FkX2luZGV4X2V4dGVuc2lvbnMtdHLDpWRlbjogJXMiCiAKLSM6IHJlYWQtY2FjaGUuYzoyMjI4CisjOiByZWFkLWNhY2hlLmM6MjI0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gam9pbiBsb2FkX2luZGV4X2V4dGVuc2lvbnMgdGhyZWFkOiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB1dGbDtnJhIGpvaW4gcMOlIGxvYWRfaW5kZXhfZXh0ZW5zaW9ucy10csOlZGVuOiAlcyIKIAotIzogcmVhZC1jYWNoZS5jOjI5ODIgc2VxdWVuY2VyLmM6NDcyNyB3cmFwcGVyLmM6NjU4IGJ1aWx0aW4vbWVyZ2UuYzoxMDg2CisjOiByZWFkLWNhY2hlLmM6MjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZnJlc2hlbiBzaGFyZWQgaW5kZXggJyVzJyIKK21zZ3N0ciAia3VuZGUgaW50ZSB1cHBkYXRlcmEgZGVsYXQgaW5kZXggXCIlc1wiIgorCisjOiByZWFkLWNhY2hlLmM6MjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICJicm9rZW4gaW5kZXgsIGV4cGVjdCAlcyBpbiAlcywgZ290ICVzIgorbXNnc3RyICJ0cmFzaWd0IGluZGV4LCBmw7ZydsOkbnRhZGUgJXMgaSAlcywgZmljayAlcyIKKworIzogcmVhZC1jYWNoZS5jOjMwMjEgc3RyYnVmLmM6MTE0NSB3cmFwcGVyLmM6NjIyIGJ1aWx0aW4vbWVyZ2UuYzoxMTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIHN0w6RuZ2EgXCIlc1wiIgogCi0jOiByZWFkLWNhY2hlLmM6MzA1NSBzZXF1ZW5jZXIuYzoyMjAzIHNlcXVlbmNlci5jOjM1OTIKKyM6IHJlYWQtY2FjaGUuYzozMTI0IHNlcXVlbmNlci5jOjI0Mjkgc2VxdWVuY2VyLmM6NDA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIHRhIHN0YXR1cyBww6UgXCIlc1wiIgogCi0jOiByZWFkLWNhY2hlLmM6MzA2OAorIzogcmVhZC1jYWNoZS5jOjMxMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gZ2l0IGRpcjogJXMiCiBtc2dzdHIgImt1bmRlIGludGUgw7ZwcG5hIGdpdC1rYXRhbG9nOiAlcyIKIAotIzogcmVhZC1jYWNoZS5jOjMwODAKKyM6IHJlYWQtY2FjaGUuYzozMTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1bmxpbms6ICVzIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgYm9ydCBsw6Rua2VuOiAlcyIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTAKKyM6IHJlYWQtY2FjaGUuYzozMTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaXggcGVybWlzc2lvbiBiaXRzIG9uICclcyciCittc2dzdHIgImthbiBpbnRlIHLDpHR0YSBiZWjDtnJpZ2hldHNiaXRhciBww6UgXCIlc1wiIgorCisjOiByZWFkLWNhY2hlLmM6MzMyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRyb3AgdG8gc3RhZ2UgIzAiCittc2dzdHIgIiVzOiBrYW4gaW50ZSDDpXRlcmfDpSB0aWxsIGvDtiAwIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidW5yZWNvZ25pemVkIHNldHRpbmcgJXMgZm9yIG9wdGlvbiByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4gSWdub3JpbmcuIgorbXNnc3RyICIiCisib2vDpG5kIGluc3TDpGxsbmluZyAlcyBmw7ZyIGZsYWdnYW4gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suIElnbm9yZXJhci4iCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjM1CiBtc2dpZCAiIgogIlxuIgogIkNvbW1hbmRzOlxuIgpAQCAtMzgxMCw3ICs1Mjk3LDE0IEBACiAiXG4iCiAiRHUga2FuIGJ5dGEgb3JkbmluZyBww6UgcmFkZXJuYTsgZGUgdXRmw7ZycyB1cHBpZnLDpW4gb2NoIG5lZC5cbiIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6MzEgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjE3MworIzogcmViYXNlLWludGVyYWN0aXZlLmM6NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmViYXNlICVzIG9udG8gJXMgKCVkIGNvbW1hbmQpIgorbXNnaWRfcGx1cmFsICJSZWJhc2UgJXMgb250byAlcyAoJWQgY29tbWFuZHMpIgorbXNnc3RyWzBdICJPbWJhc2VyYSAlcyBww6UgJXMgKCVkIGtvbW1hbmRvKSIKK21zZ3N0clsxXSAiT21iYXNlcmEgJXMgcMOlICVzICglZCBrb21tYW5kb24pIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo2NSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjI4CiBtc2dpZCAiIgogIlxuIgogIkRvIG5vdCByZW1vdmUgYW55IGxpbmUuIFVzZSAnZHJvcCcgZXhwbGljaXRseSB0byByZW1vdmUgYSBjb21taXQuXG4iCkBAIC0zODE5LDcgKzUzMTMsNyBAQAogIlRhIGludGUgYm9ydCByYWRlci4gQW52w6RuZCBcImRyb3BcIiBmw7ZyIGF0dCBzcGVjaWZpa3QgZsO2cmthc3RhIGVuICIKICJpbmNoZWNrbmluZy5cbiIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6MzQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjE3NworIzogcmViYXNlLWludGVyYWN0aXZlLmM6NjggZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjIzMgogbXNnaWQgIiIKICJcbiIKICJJZiB5b3UgcmVtb3ZlIGEgbGluZSBoZXJlIFRIQVQgQ09NTUlUIFdJTEwgQkUgTE9TVC5cbiIKQEAgLTM4MjcsNyArNTMyMSw3IEBACiAiXG4iCiAiT20gZHUgdGFyIGJvcnQgZW4gcmFkIEtPTU1FUiBERU4gSU5DSEVDS05JTkdFTiBBVFQgRsOWUkxPUkFTLlxuIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo0MCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODE2CisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo3NCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODcxCiBtc2dpZCAiIgogIlxuIgogIllvdSBhcmUgZWRpdGluZyB0aGUgdG9kbyBmaWxlIG9mIGFuIG9uZ29pbmcgaW50ZXJhY3RpdmUgcmViYXNlLlxuIgpAQCAtMzg0MSw3ICs1MzM1LDcgQEAKICIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAiXG4iCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjQ1IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4OTMKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjc5IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NDgKIG1zZ2lkICIiCiAiXG4iCiAiSG93ZXZlciwgaWYgeW91IHJlbW92ZSBldmVyeXRoaW5nLCB0aGUgcmViYXNlIHdpbGwgYmUgYWJvcnRlZC5cbiIKQEAgLTM4NTEsMTI1ICs1MzQ1LDE1OSBAQAogIk9tYmFzZXJpbmdlbiBrb21tZXIgZG9jayBhdHQgYXZicnl0YXMgb20gZHUgdGFyIGJvcnQgYWxsdGluZy5cbiIKICJcbiIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6NTEgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkwMAorIzogcmViYXNlLWludGVyYWN0aXZlLmM6ODUgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk1NQogbXNnaWQgIk5vdGUgdGhhdCBlbXB0eSBjb21taXRzIGFyZSBjb21tZW50ZWQgb3V0IgogbXNnc3RyICJPYnNlcnZlcmEgYXR0IHRvbW1hIGluY2hlY2tuaW5nYXIgw6RyIHV0a29tbWVudGVyYWRlIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo2MiByZWJhc2UtaW50ZXJhY3RpdmUuYzo3NSBzZXF1ZW5jZXIuYzoyMTg2Ci0jOiBzZXF1ZW5jZXIuYzo0NTA1IHNlcXVlbmNlci5jOjQ1NjEgc2VxdWVuY2VyLmM6NDgzNgorIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTA1IHJlcmVyZS5jOjQ4NSByZXJlcmUuYzo2OTIgc2VxdWVuY2VyLmM6MzUzNgorIzogc2VxdWVuY2VyLmM6MzU2MiBzZXF1ZW5jZXIuYzo1MjYzIGJ1aWx0aW4vZnNjay5jOjM0NiBidWlsdGluL3JlYmFzZS5jOjI1NAogIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnLiIKLW1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBcIiVzXCIuIgorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSAnJXMnIgorbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSBcIiVzXCIiCiAKLSM6IHJlZnMuYzoxOTIKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY29weSAnJXMnIHRvICclcycuIgorbXNnc3RyICJrdW5kZSBpbnRlIGtvcGllcmEgXCIlc1wiIHRpbGwgXCIlc1wiLiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS5cbiIKKyJEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKTpcbiIKK21zZ3N0ciAiIgorIlZhcm5pbmc6IHZpc3NhIGluY2hlY2tuaW5nYXIga2FuIGF2IG1pc3N0YWcgaGEgdGFwcGF0cy5cbiIKKyJUYXBwYWRlIGluY2hlY2tuaW5nYXIgKG55YXN0ZSBmw7Zyc3QpOlxuIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRvIGF2b2lkIHRoaXMgbWVzc2FnZSwgdXNlIFwiZHJvcFwiIHRvIGV4cGxpY2l0bHkgcmVtb3ZlIGEgY29tbWl0LlxuIgorIlxuIgorIlVzZSAnZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjaycgdG8gY2hhbmdlIHRoZSBsZXZlbCBvZiAiCisid2FybmluZ3MuXG4iCisiVGhlIHBvc3NpYmxlIGJlaGF2aW91cnMgYXJlOiBpZ25vcmUsIHdhcm4sIGVycm9yLlxuIgorIlxuIgorbXNnc3RyICIiCisiRsO2ciBhdHQgdW5kdmlrYSBkZXQgaMOkciBtZWRkZWxhbmRldCBrYW4gZHUgYW52w6RuZGEgXCJkcm9wXCIgZsO2ciBhdHQgIgorImV4cGxpY2l0XG4iCisia2FzdGEgZW4gaW5jaGVja25pbmcuXG4iCisiXG4iCisiQW52w6RuZCBcImdpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2tcIiBmw7ZyIGF0dCDDpG5kcmEgIgorInZhcm5pbmdzbml2w6VuLlxuIgorIk3DtmpsaWdhIGJldHRlbmRlbiDDpHI6IFwiaWdub3JlXCIgKGlnbm9yZXJhKSwgXCJ3YXJuXCIgKHZhcm5hKSwgXCJlcnJvciIKKyJcIiAoZmVsKS5cbiIKKyJcbiIKKworIzogcmVmcy5jOjI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIG9iamVjdCEiCiBtc2dzdHIgIlwiJXNcIiBwZWthciBpbnRlIHDDpSBldHQgZ2lsdGlndCBvYmpla3QhIgogCi0jOiByZWZzLmM6NTgzCisjOiByZWZzLmM6NjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIGRhbmdsaW5nIHN5bXJlZiAlcyIKIG1zZ3N0ciAiaWdub3JlcmFyIGRpbmdsYW5kZSBzeW1ib2xpc2sgcmVmZXJlbnMgJXMiCiAKLSM6IHJlZnMuYzo1ODUgcmVmLWZpbHRlci5jOjE5NTEKKyM6IHJlZnMuYzo2NjkgcmVmLWZpbHRlci5jOjIwOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgYnJva2VuIHJlZiAlcyIKIG1zZ3N0ciAiaWdub3JlcmFyIHRyYXNpZyByZWZlcmVucyAlcyIKIAotIzogcmVmcy5jOjcxMQorIzogcmVmcy5jOjgwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nOiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSDDtnBwbmEgXCIlc1wiIGbDtnIgc2tyaXZuaW5nOiAlcyIKIAotIzogcmVmcy5jOjcyMSByZWZzLmM6NzcyCisjOiByZWZzLmM6ODE0IHJlZnMuYzo4NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgcmVmICclcyciCiBtc2dzdHIgIkt1bmRlIGludGUgbMOkc2EgcmVmZXJlbnNlbiBcIiVzXCIiCiAKLSM6IHJlZnMuYzo3MjcKKyM6IHJlZnMuYzo4MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgInJlZmVyZW5zZW4gXCIlc1wiIGZpbm5zIHJlZGFuIgogCi0jOiByZWZzLmM6NzMyCisjOiByZWZzLmM6ODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgb2JqZWN0IElEIHdoZW4gd3JpdGluZyAnJXMnIgogbXNnc3RyICJvdsOkbnRhdCBvYmpla3QtaWQgdmlkIHNrcml2bmluZyBcIiVzXCIiCiAKLSM6IHJlZnMuYzo3NDAgc2VxdWVuY2VyLmM6Mzk0IHNlcXVlbmNlci5jOjI1MTAgc2VxdWVuY2VyLmM6MjYzNgotIzogc2VxdWVuY2VyLmM6MjY1MCBzZXF1ZW5jZXIuYzoyODc3IHNlcXVlbmNlci5jOjQ3MjUgc2VxdWVuY2VyLmM6NDc4OAotIzogd3JhcHBlci5jOjY1NgorIzogcmVmcy5jOjgzMyBzZXF1ZW5jZXIuYzo0MDUgc2VxdWVuY2VyLmM6Mjc5MyBzZXF1ZW5jZXIuYzoyOTk3CisjOiBzZXF1ZW5jZXIuYzozMDExIHNlcXVlbmNlci5jOjMyNjkgc2VxdWVuY2VyLmM6NTE3OSBzdHJidWYuYzoxMTQyCisjOiB3cmFwcGVyLmM6NjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSB0aWxsIFwiJXNcIiIKIAotIzogcmVmcy5jOjc2NyBzZXF1ZW5jZXIuYzo0NzIzIHNlcXVlbmNlci5jOjQ3ODIgd3JhcHBlci5jOjIyNSB3cmFwcGVyLmM6Mzk1Ci0jOiBidWlsdGluL2FtLmM6NzI4CisjOiByZWZzLmM6ODYwIHN0cmJ1Zi5jOjExNDAgd3JhcHBlci5jOjE4OCB3cmFwcGVyLmM6MzU4IGJ1aWx0aW4vYW0uYzo3MTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTAzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgogbXNnc3RyICJrdW5kZSBpbnRlIMO2cHBuYSBcIiVzXCIgZsO2ciBza3Jpdm5pbmciCiAKLSM6IHJlZnMuYzo3NzQKKyM6IHJlZnMuYzo4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBvYmplY3QgSUQgd2hlbiBkZWxldGluZyAnJXMnIgogbXNnc3RyICJvdsOkbnRhdCBvYmpla3QtaWQgdmlkIGJvcnR0YWduaW5nIFwiJXNcIiIKIAotIzogcmVmcy5jOjkwNQorIzogcmVmcy5jOjk5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2cgZm9yIHJlZiAlcyBoYXMgZ2FwIGFmdGVyICVzIgogbXNnc3RyICJsb2dnZW4gZsO2ciByZWZlcmVuc2VuICVzIGhhciBsdWNrYSBlZnRlciAlcyIKIAotIzogcmVmcy5jOjkxMQorIzogcmVmcy5jOjEwMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9nIGZvciByZWYgJXMgdW5leHBlY3RlZGx5IGVuZGVkIG9uICVzIgogbXNnc3RyICJsb2dnZW4gZsO2ciByZWZlcmVuc2VuICVzIHNsdXRhZGUgb3bDpG50YXQgcMOlICVzIgogCi0jOiByZWZzLmM6OTY5CisjOiByZWZzLmM6MTA2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2cgZm9yICVzIGlzIGVtcHR5IgogbXNnc3RyICJsb2dnZW4gZsO2ciAlcyDDpHIgdG9tIgogCi0jOiByZWZzLmM6MTA2MQorIzogcmVmcy5jOjExNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmdXNpbmcgdG8gdXBkYXRlIHJlZiB3aXRoIGJhZCBuYW1lICclcyciCiBtc2dzdHIgInbDpGdyYXIgdXBwZGF0ZXJhIHJlZmVyZW5zIG1lZCB0cmFzaWd0IG5hbW4gXCIlc1wiIgogCi0jOiByZWZzLmM6MTEzNworIzogcmVmcy5jOjEyMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidXBkYXRlX3JlZiBmYWlsZWQgZm9yIHJlZiAnJXMnOiAlcyIKIG1zZ3N0ciAidXBkYXRlX3JlZiBtaXNzbHlja2FkZXMgZsO2ciByZWZlcmVuc2VuIFwiJXNcIjogJXMiCiAKLSM6IHJlZnMuYzoxOTExCisjOiByZWZzLmM6MjAyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aXBsZSB1cGRhdGVzIGZvciByZWYgJyVzJyBub3QgYWxsb3dlZCIKIG1zZ3N0ciAiZmxlcmEgdXBwZGF0ZXJpbmdhciBmw7ZyIHJlZmVyZW5zZW4gXCIlc1wiIHRpbGzDpXRzIGludGUiCiAKLSM6IHJlZnMuYzoxOTQzCisjOiByZWZzLmM6MjA1NQogbXNnaWQgInJlZiB1cGRhdGVzIGZvcmJpZGRlbiBpbnNpZGUgcXVhcmFudGluZSBlbnZpcm9ubWVudCIKIG1zZ3N0ciAicmVmZXJlbnN1cHBkYXRlcmluZ2FyIGbDtnJianVkbmEgaSBrYXJhbnTDpG5taWxqw7YiCiAKLSM6IHJlZnMuYzoyMDM5IHJlZnMuYzoyMDY5CisjOiByZWZzLmM6MjE1MSByZWZzLmM6MjE4MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGV4aXN0czsgY2Fubm90IGNyZWF0ZSAnJXMnIgogbXNnc3RyICJcIiVzXCIgZmlubnM7IGthbiBpbnRlIHNrYXBhIFwiJXNcIiIKIAotIzogcmVmcy5jOjIwNDUgcmVmcy5jOjIwODAKKyM6IHJlZnMuYzoyMTU3IHJlZnMuYzoyMTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBwcm9jZXNzICclcycgYW5kICclcycgYXQgdGhlIHNhbWUgdGltZSIKIG1zZ3N0ciAia2FuIGludGUgaGFudGVyYSBcIiVzXCIgb2NoIFwiJXNcIiBzYW10aWRpZ3QiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyMjgKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSByZWZlcmVuY2UgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgdGEgYm9ydCByZWZlcmVuc2VuICVzIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxMjQyIHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTMyCi0jOiByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTU0MgorIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTI0OCByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTU0MQorIzogcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2UgJXM6ICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHRhIGJvcnQgcmVmZXJlbnNlbiAlczogJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyNDUgcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDUKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyNTEgcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2VzOiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0YSBib3J0IHJlZmVyZW5zZXI6ICVzIgpAQCAtMzk3OSwzNDkgKzU1MDcsNDgzIEBACiBtc2dpZCAiaW52YWxpZCByZWZzcGVjICclcyciCiBtc2dzdHIgImZlbGFrdGlnIHJlZmVyZW5zc3BlY2lmaWthdGlvbjogXCIlc1wiIgogCi0jOiByZWYtZmlsdGVyLmM6Mzkgd3Qtc3RhdHVzLmM6MTg1NQorIzogcmVmLWZpbHRlci5jOjQyIHd0LXN0YXR1cy5jOjE5MzgKIG1zZ2lkICJnb25lIgogbXNnc3RyICJmw7Zyc3Z1bm5lbiIKIAotIzogcmVmLWZpbHRlci5jOjQwCisjOiByZWYtZmlsdGVyLmM6NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWhlYWQgJWQiCiBtc2dzdHIgImbDtnJlICVkIgogCi0jOiByZWYtZmlsdGVyLmM6NDEKKyM6IHJlZi1maWx0ZXIuYzo0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiZWhpbmQgJWQiCiBtc2dzdHIgImJha29tICVkIgogCi0jOiByZWYtZmlsdGVyLmM6NDIKKyM6IHJlZi1maWx0ZXIuYzo0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhaGVhZCAlZCwgYmVoaW5kICVkIgogbXNnc3RyICJmw7ZyZSAlZCwgYmFrb20gJWQiCiAKLSM6IHJlZi1maWx0ZXIuYzoxMzgKKyM6IHJlZi1maWx0ZXIuYzoxNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgZm9ybWF0OiAlJShjb2xvcjo8Y29sb3I+KSIKIG1zZ3N0ciAiZsO2cnbDpG50YXQgZm9ybWF0OiAlJShjb2xvcjo8Y29sb3I+KSIKIAotIzogcmVmLWZpbHRlci5jOjE0MAorIzogcmVmLWZpbHRlci5jOjE2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgY29sb3I6ICUlKGNvbG9yOiVzKSIKIG1zZ3N0ciAib2vDpG5kIGbDpHJnOiAlJShjb2xvcjolcykiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjIKKyM6IHJlZi1maWx0ZXIuYzoxODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW50ZWdlciB2YWx1ZSBleHBlY3RlZCByZWZuYW1lOmxzdHJpcD0lcyIKIG1zZ3N0ciAiSGVsdGFsc3bDpHJkZSBmw7ZydsOkbnRhZGVzIHJlZm5hbWU6bHN0cmlwPSVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTY2CisjOiByZWYtZmlsdGVyLmM6MTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludGVnZXIgdmFsdWUgZXhwZWN0ZWQgcmVmbmFtZTpyc3RyaXA9JXMiCiBtc2dzdHIgIkhlbHRhbHN2w6RyZGUgZsO2cnbDpG50YWRlcyByZWZuYW1lOnJzdHJpcD0lcyIKIAotIzogcmVmLWZpbHRlci5jOjE2OAorIzogcmVmLWZpbHRlci5jOjE5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoJXMpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAib2vDpG50ICUlKCVzKS1hcmd1bWVudDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoyMjMKKyM6IHJlZi1maWx0ZXIuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUob2JqZWN0dHlwZSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKG9iamVjdHR5cGUpIHRhciBpbnRlIGFyZ3VtZW50IgogCi0jOiByZWYtZmlsdGVyLmM6MjM1CisjOiByZWYtZmlsdGVyLmM6MjcyCiAjLCBjLWZvcm1hdAotbXNnaWQgIiUlKG9iamVjdHNpemUpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgotbXNnc3RyICIlJShvYmplY3RzaXplKSB0YXIgaW50ZSBhcmd1bWVudCIKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUob2JqZWN0c2l6ZSkgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJva8OkbnQgJSUob2JqZWN0c2l6ZSktYXJndW1lbnQ6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MjQ3CisjOiByZWYtZmlsdGVyLmM6MjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlKGRlbHRhYmFzZSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCittc2dzdHIgIiUlKGRlbHRhYmFzZSkgdGFyIGludGUgYXJndW1lbnQiCisKKyM6IHJlZi1maWx0ZXIuYzoyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUoYm9keSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKGJvZHkpIHRhciBpbnRlIGFyZ3VtZW50IgogCi0jOiByZWYtZmlsdGVyLmM6MjU2CisjOiByZWYtZmlsdGVyLmM6MzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiUlKHN1YmplY3QpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgogbXNnc3RyICIlJShzdWJqZWN0KSB0YXIgaW50ZSBhcmd1bWVudCIKIAotIzogcmVmLWZpbHRlci5jOjI3OAorIzogcmVmLWZpbHRlci5jOjMyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duICUlKHRyYWlsZXJzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIm9rw6RudCAlJSh0cmFpbGVycyktYXJndW1lbnQ6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MzA3CisjOiByZWYtZmlsdGVyLmM6MzUyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBvc2l0aXZlIHZhbHVlIGV4cGVjdGVkIGNvbnRlbnRzOmxpbmVzPSVzIgogbXNnc3RyICJwb3NpdGl2dCB2w6RyZGUgZsO2cnbDpG50YXQgY29udGVudHM6bGluZXM9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozMDkKKyM6IHJlZi1maWx0ZXIuYzozNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGNvbnRlbnRzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIm9rw6RudCAlJShjb250ZW50cyktYXJndW1lbnQ6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MzI0CisjOiByZWYtZmlsdGVyLmM6MzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBvc2l0aXZlIHZhbHVlIGV4cGVjdGVkIG9iamVjdG5hbWU6c2hvcnQ9JXMiCiBtc2dzdHIgInBvc2l0aXZ0IHbDpHJkZSBmw7ZydsOkbnRhdCBvYmplY3RuYW1lOnNob3J0PSVzIgogCi0jOiByZWYtZmlsdGVyLmM6MzI4CisjOiByZWYtZmlsdGVyLmM6MzczCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RuYW1lKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIm9rw6RudCAlJShvYmplY3RuYW1lKS1hcmd1bWVudDogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozNTgKKyM6IHJlZi1maWx0ZXIuYzo0MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgZm9ybWF0OiAlJShhbGlnbjo8d2lkdGg+LDxwb3NpdGlvbj4pIgogbXNnc3RyICJmw7ZydsOkbnRhdCBmb3JtYXQ6ICUlKGFsaWduOjxicmVkZD4sPHBvc2l0aW9uPikiCiAKLSM6IHJlZi1maWx0ZXIuYzozNzAKKyM6IHJlZi1maWx0ZXIuYzo0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHBvc2l0aW9uOiVzIgogbXNnc3RyICJva8OkbmQgcG9zaXRpb246JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozNzcKKyM6IHJlZi1maWx0ZXIuYzo0MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdpZHRoOiVzIgogbXNnc3RyICJva8OkbmQgYnJlZGQ6JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozODYKKyM6IHJlZi1maWx0ZXIuYzo0MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGFsaWduKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIm9rw6RudCAlJShhbGlnbiktYXJndW1lbnQ6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6Mzk0CisjOiByZWYtZmlsdGVyLmM6NDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBvc2l0aXZlIHdpZHRoIGV4cGVjdGVkIHdpdGggdGhlICUlKGFsaWduKSBhdG9tIgogbXNnc3RyICJwb3NpdGl2IGJyZWRkIGbDtnJ2w6RudGFkIG1lZCBhdG9tZW4gJSUoYWxpZ24pIgogCi0jOiByZWYtZmlsdGVyLmM6NDEyCisjOiByZWYtZmlsdGVyLmM6NDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShpZikgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJva8OkbnQgJSUoaWYpLWFyZ3VtZW50OiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjUwOAorIzogcmVmLWZpbHRlci5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAiZmVsZm9ybWF0IGbDpGx0bmFtbjogJS4qcyIKIAotIzogcmVmLWZpbHRlci5jOjUzNQorIzogcmVmLWZpbHRlci5jOjU4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGZpZWxkIG5hbWU6ICUuKnMiCiBtc2dzdHIgIm9rw6RudCBmw6RsdG5hbW46ICUuKnMiCiAKLSM6IHJlZi1maWx0ZXIuYzo1MzkKKyM6IHJlZi1maWx0ZXIuYzo1OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdCBhIGdpdCByZXBvc2l0b3J5LCBidXQgdGhlIGZpZWxkICclLipzJyByZXF1aXJlcyBhY2Nlc3MgdG8gb2JqZWN0IGRhdGEiCiBtc2dzdHIgIiIKICJpbnRlIGV0dCBnaXQtYXJraXYsIG1lbiBmw6RsdGV0IFwiJS4qc1wiIGtyw6R2ZXIgdGlsbGfDpW5nIHRpbGwgb2JqZWt0ZGF0YSIKIAotIzogcmVmLWZpbHRlci5jOjY2MworIzogcmVmLWZpbHRlci5jOjcxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGlmKSBhdG9tIHVzZWQgd2l0aG91dCBhICUlKHRoZW4pIGF0b20iCiBtc2dzdHIgImZvcm1hdDogYXRvbWVuICUlKGlmKSBhbnbDpG5kIHV0YW4gZW4gJSUodGhlbiktYXRvbSIKIAotIzogcmVmLWZpbHRlci5jOjcyNgorIzogcmVmLWZpbHRlci5jOjc3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCB3aXRob3V0IGFuICUlKGlmKSBhdG9tIgogbXNnc3RyICJmb3JtYXQ6IGF0b21lbiAlJSh0aGVuKSBhbnbDpG5kIHV0YW4gZW4gJSUoaWYpLWF0b20iCiAKLSM6IHJlZi1maWx0ZXIuYzo3MjgKKyM6IHJlZi1maWx0ZXIuYzo3NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiCiBtc2dzdHIgImZvcm1hdDogYXRvbWVuICUlKHRoZW4pIGFudsOkbmQgbWVyIMOkbiBlbiBnw6VuZyIKIAotIzogcmVmLWZpbHRlci5jOjczMAorIzogcmVmLWZpbHRlci5jOjc4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCBhZnRlciAlJShlbHNlKSIKIG1zZ3N0ciAiZm9ybWF0OiBhdG9tZW4gJSUodGhlbikgYW52w6RuZCBlZnRlciAlJShlbHNlKSIKIAotIzogcmVmLWZpbHRlci5jOjc1OAorIzogcmVmLWZpbHRlci5jOjgwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCB3aXRob3V0IGFuICUlKGlmKSBhdG9tIgogbXNnc3RyICJmb3JtYXQ6IGF0b21lbiAlJShlbHNlKSBhbnbDpG5kIHV0YW4gZW4gJSUoaWYpLWF0b20iCiAKLSM6IHJlZi1maWx0ZXIuYzo3NjAKKyM6IHJlZi1maWx0ZXIuYzo4MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgd2l0aG91dCBhICUlKHRoZW4pIGF0b20iCiBtc2dzdHIgImZvcm1hdDogYXRvbWVuICUlKGVsc2UpIGFudsOkbmQgdXRhbiBlbiAlJSh0aGVuKS1hdG9tIgogCi0jOiByZWYtZmlsdGVyLmM6NzYyCisjOiByZWYtZmlsdGVyLmM6ODEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIG1vcmUgdGhhbiBvbmNlIgogbXNnc3RyICJmb3JtYXQ6IGF0b21lbiAlJShlbHNlKSBhbnbDpG5kIG1lciDDpG4gZW4gZ8OlbmciCiAKLSM6IHJlZi1maWx0ZXIuYzo3NzcKKyM6IHJlZi1maWx0ZXIuYzo4MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbmQpIGF0b20gdXNlZCB3aXRob3V0IGNvcnJlc3BvbmRpbmcgYXRvbSIKIG1zZ3N0ciAiZm9ybWF0OiBhdG9tZW4gJSUoZW5kKSBhbnbDpG5kIHV0YW4gbW90c3ZhcmFuZGUgYXRvbSIKIAotIzogcmVmLWZpbHRlci5jOjgzNAorIzogcmVmLWZpbHRlci5jOjg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZm9ybWF0IHN0cmluZyAlcyIKIG1zZ3N0ciAiZmVsZm9ybWFkIGZvcm1hdHN0csOkbmcgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDI0CisjOiByZWYtZmlsdGVyLmM6MTQ4OAogIywgYy1mb3JtYXQKLW1zZ2lkICIobm8gYnJhbmNoLCByZWJhc2luZyAlcykiCi1tc2dzdHIgIihpbmdlbiBncmVuLCBvbWJhc2VyYXIgJXMpIgorbXNnaWQgIm5vIGJyYW5jaCwgcmViYXNpbmcgJXMiCittc2dzdHIgImluZ2VuIGdyZW4sIG9tYmFzZXJhciAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE0MjcKKyM6IHJlZi1maWx0ZXIuYzoxNDkxCiAjLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nIGRldGFjaGVkIEhFQUQgJXMpIgotbXNnc3RyICIoaW5nZW4gZ3Jlbiwgb21iYXNlcmFyIGZyw6Vua29wcGxhdCBIRUFEICVzKSIKK21zZ2lkICJubyBicmFuY2gsIHJlYmFzaW5nIGRldGFjaGVkIEhFQUQgJXMiCittc2dzdHIgImluZ2VuIGdyZW4sIG9tYmFzZXJhciBmcsOlbmtvcHBsYXQgSEVBRCAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE0MzAKKyM6IHJlZi1maWx0ZXIuYzoxNDk0CiAjLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzKSIKLW1zZ3N0ciAiKGluZ2VuIGdyZW4sIFwiYmlzZWN0XCIgc3RhcnRhZCBww6UgJXMpIgorbXNnaWQgIm5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgImluZ2VuIGdyZW4sIFwiYmlzZWN0XCIgc3RhcnRhZCBww6UgJXMiCiAKLSMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECi0jLiBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCi0jLgotIzogcmVmLWZpbHRlci5jOjE0MzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgotbXNnc3RyICIoSEVBRCBmcsOlbmtvcHBsYXQgdmlkICVzKSIKKyM6IHJlZi1maWx0ZXIuYzoxNTA0Cittc2dpZCAibm8gYnJhbmNoIgorbXNnc3RyICJpbmdlbiBncmVuIgogCi0jLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcyAiSEVBRAotIy4gZGV0YWNoZWQgZnJvbSAiIGluIHd0LXN0YXR1cy5jCi0jLgotIzogcmVmLWZpbHRlci5jOjE0NDUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiCi1tc2dzdHIgIihIRUFEIGZyw6Vua29wcGxhdCBmcsOlbiAlcykiCi0KLSM6IHJlZi1maWx0ZXIuYzoxNDQ5Ci1tc2dpZCAiKG5vIGJyYW5jaCkiCi1tc2dzdHIgIihpbmdlbiBncmVuKSIKLQotIzogcmVmLWZpbHRlci5jOjE0ODMgcmVmLWZpbHRlci5jOjE2MzgKKyM6IHJlZi1maWx0ZXIuYzoxNTQwIHJlZi1maWx0ZXIuYzoxNzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3Npbmcgb2JqZWN0ICVzIGZvciAlcyIKIG1zZ3N0ciAib2JqZWt0ZXQgJXMgc2FrbmFzIGbDtnIgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDkxCisjOiByZWYtZmlsdGVyLmM6MTU1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXJzZV9vYmplY3RfYnVmZmVyIGZhaWxlZCBvbiAlcyBmb3IgJXMiCiBtc2dzdHIgInBhcnNlX29iamVjdF9idWZmZXIgbWlzc2x5Y2thZGVzIHDDpSAlcyBmw7ZyICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTg1NworIzogcmVmLWZpbHRlci5jOjIwMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBhdCAnJXMnIgogbXNnc3RyICJmZWxmb3JtYXQgb2JqZWt0IHZpZCBcIiVzXCIiCiAKLSM6IHJlZi1maWx0ZXIuYzoxOTQ2CisjOiByZWYtZmlsdGVyLmM6MjA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyByZWYgd2l0aCBicm9rZW4gbmFtZSAlcyIKIG1zZ3N0ciAiaWdub3JlcmFyIHJlZmVyZW5zIG1lZCB0cmFzaWd0IG5hbW4gJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoyMjMyCisjOiByZWYtZmlsdGVyLmM6MjM4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgogbXNnc3RyICJmb3JtYXQ6IGF0b21lbiAlJShlbmQpIHNha25hcyIKIAotIzogcmVmLWZpbHRlci5jOjIzMzgKKyM6IHJlZi1maWx0ZXIuYzoyNDg5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbWVyZ2VkIgorbXNnc3RyICJmbGFnZ2FuIFwiJXNcIiDDpHIgaW5rb21wYXRpYmVsIG1lZCAtLW1lcmdlZCIKKworIzogcmVmLWZpbHRlci5jOjI0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1uby1tZXJnZWQiCittc2dzdHIgImZsYWdnYW4gXCIlc1wiIMOkciBpbmtvbXBhdGliZWwgbWVkIC0tbm8tbWVyZ2VkIgorCisjOiByZWYtZmlsdGVyLmM6MjUwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJXMiCiBtc2dzdHIgImZlbGZvcm1hdCBvYmpla3RuYW1uICVzIgogCi0jOiByZW1vdGUuYzo2MDcKKyM6IHJlZi1maWx0ZXIuYzoyNTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIG11c3QgcG9pbnQgdG8gYSBjb21taXQiCittc2dzdHIgImZsYWdnYW4gXCIlc1wiIG3DpXN0ZSBwZWthIHDDpSBlbiBpbmNoZWNrbmluZyIKKworIzogcmVtb3RlLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbmZpZyByZW1vdGUgc2hvcnRoYW5kIGNhbm5vdCBiZWdpbiB3aXRoICcvJzogJXMiCittc2dzdHIgImtvbmZpZ3VyZXJhZCBrb3J0Zm9ybSBmw7ZyIGZqw6RyciBrYW4gaW50ZSBiw7ZyamEgbWVkIFwiL1wiOiAlcyIKKworIzogcmVtb3RlLmM6NDEzCittc2dpZCAibW9yZSB0aGFuIG9uZSByZWNlaXZlcGFjayBnaXZlbiwgdXNpbmcgdGhlIGZpcnN0IgorbXNnc3RyICJtZXIgw6RuIGVuIHJlY2VpdmVwYWNrIGFuZ2F2cywgYW52w6RuZGVyIGRlbiBmw7Zyc3RhIgorCisjOiByZW1vdGUuYzo0MjEKK21zZ2lkICJtb3JlIHRoYW4gb25lIHVwbG9hZHBhY2sgZ2l2ZW4sIHVzaW5nIHRoZSBmaXJzdCIKK21zZ3N0ciAibWVyIMOkbiBlbiB1cGxvYWRwYWNrIGFuZ2F2cywgYW52w6RuZGVyIGRlbiBmw7Zyc3RhIgorCisjOiByZW1vdGUuYzo2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGZldGNoIGJvdGggJXMgYW5kICVzIHRvICVzIgogbXNnc3RyICJLYW4gaW50ZSBow6RtdGEgYsOlZGUgJXMgb2NoICVzIHRpbGwgJXMiCiAKLSM6IHJlbW90ZS5jOjYxMQorIzogcmVtb3RlLmM6NjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHVzdWFsbHkgdHJhY2tzICVzLCBub3QgJXMiCiBtc2dzdHIgIiVzIHNww6VyYXIgdmFubGlndHZpcyAlcywgaW50ZSAlcyIKIAotIzogcmVtb3RlLmM6NjE1CisjOiByZW1vdGUuYzo2MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdHJhY2tzIGJvdGggJXMgYW5kICVzIgogbXNnc3RyICIlcyBzcMOlcmFyIGLDpWRlICVzIG9jaCAlcyIKIAotIzogcmVtb3RlLmM6NjIzCi1tc2dpZCAiSW50ZXJuYWwgZXJyb3IiCi1tc2dzdHIgIkludGVybnQgZmVsIgorIzogcmVtb3RlLmM6Njg3CisjLCBjLWZvcm1hdAorbXNnaWQgImtleSAnJXMnIG9mIHBhdHRlcm4gaGFkIG5vICcqJyIKK21zZ3N0ciAibnlja2VsbiBcIiVzXCIgaSBtw7Zuc3RyZXQgaW5uZWjDpWxsZXIgaW5nZW4gXCIqXCIiCiAKLSM6IHJlbW90ZS5jOjE1NjkgcmVtb3RlLmM6MTY3MAorIzogcmVtb3RlLmM6Njk3CisjLCBjLWZvcm1hdAorbXNnaWQgInZhbHVlICclcycgb2YgcGF0dGVybiBoYXMgbm8gJyonIgorbXNnc3RyICJ2w6RyZGV0IFwiJXNcIiBpIG3Dtm5zdHJldCBpbm5laMOlbGxlciBpbmdlbiBcIipcIiIKKworIzogcmVtb3RlLmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICJzcmMgcmVmc3BlYyAlcyBkb2VzIG5vdCBtYXRjaCBhbnkiCittc2dzdHIgImvDpGxsLXJlZmVyZW5zc3BlY2lmaWthdGlvbmVuICVzIG1vdHN2YXJhciBpbmdlbiIKKworIzogcmVtb3RlLmM6MTAwOAorIywgYy1mb3JtYXQKK21zZ2lkICJzcmMgcmVmc3BlYyAlcyBtYXRjaGVzIG1vcmUgdGhhbiBvbmUiCittc2dzdHIgImvDpGxsLXJlZmVyZW5zc3BlY2lmaWthdGlvbmVuICVzIG1vdHN2YXJhciBtZXIgw6RuIGVuIgorCisjLiBUUkFOU0xBVE9SUzogIm1hdGNoZXMgJyVzJyUiIGlzIHRoZSA8ZHN0PiBwYXJ0IG9mICJnaXQgcHVzaAorIy4gPHJlbW90ZT4gPHNyYz46PGRzdD4iIHB1c2gsIGFuZCAiYmVpbmcgcHVzaGVkICgnJXMnKSIgaXMKKyMuIHRoZSA8c3JjPi4KKyMuCisjOiByZW1vdGUuYzoxMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVzdGluYXRpb24geW91IHByb3ZpZGVkIGlzIG5vdCBhIGZ1bGwgcmVmbmFtZSAoaS5lLixcbiIKKyJzdGFydGluZyB3aXRoIFwicmVmcy9cIikuIFdlIHRyaWVkIHRvIGd1ZXNzIHdoYXQgeW91IG1lYW50IGJ5OlxuIgorIlxuIgorIi0gTG9va2luZyBmb3IgYSByZWYgdGhhdCBtYXRjaGVzICclcycgb24gdGhlIHJlbW90ZSBzaWRlLlxuIgorIi0gQ2hlY2tpbmcgaWYgdGhlIDxzcmM+IGJlaW5nIHB1c2hlZCAoJyVzJylcbiIKKyIgIGlzIGEgcmVmIGluIFwicmVmcy97aGVhZHMsdGFnc30vXCIuIElmIHNvIHdlIGFkZCBhIGNvcnJlc3BvbmRpbmdcbiIKKyIgIHJlZnMve2hlYWRzLHRhZ3N9LyBwcmVmaXggb24gdGhlIHJlbW90ZSBzaWRlLlxuIgorIlxuIgorIk5laXRoZXIgd29ya2VkLCBzbyB3ZSBnYXZlIHVwLiBZb3UgbXVzdCBmdWxseSBxdWFsaWZ5IHRoZSByZWYuIgorbXNnc3RyICIiCisiTcOlbGV0IGR1IGFuZ2F2IMOkciBpbnRlIGV0dCBrb21wbGV0dCByZWZlcmVuc2FtbiAoZHZzLixcbiIKKyJzdGFydGFyIG1lZCBcInJlZnMvXCIpLiBWaSBmw7Zyc8O2a3RlIGdpc3NhIHZhZCBkdSBtZW5hZGUgZ2Vub20gYXR0OlxuIgorIlxuIgorIi0gU2UgZWZ0ZXIgZW4gcmVmZXJlbnMgc29tIG1vdHN2YXJhciBcIiVzXCIgcMOlIGZqw6RycnNpZGFuLlxuIgorIi0gU2Ugb20gPGvDpGxsYW4+IHNvbSBzw6RuZHMgKFwiJXNcIilcbiIKKyIgIMOkciBlbiByZWZlcmVucyBpIFwicmVmcy97aGVhZHMsdGFnc30vXCIuIE9tIHPDpSBsw6RnZ2VyIHZpIHRpbGxcbiIKKyIgIG1vdHN2YXJhbmRlIHJlZnMve2hlYWRzLHRhZ3N9Ly1wcmVmaXggcMOlIGZqw6RycnNpZGFuLlxuIgorIlxuIgorIkluZ2V0IGF2IGRlbSBmdW5nZXJhZGUsIHPDpSB2aSBnYXYgdXBwLiBBbmdlIGZ1bGxzdMOkbmRpZyByZWZlcmVucy4iCisKKyM6IHJlbW90ZS5jOjEwNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSA8c3JjPiBwYXJ0IG9mIHRoZSByZWZzcGVjIGlzIGEgY29tbWl0IG9iamVjdC5cbiIKKyJEaWQgeW91IG1lYW4gdG8gY3JlYXRlIGEgbmV3IGJyYW5jaCBieSBwdXNoaW5nIHRvXG4iCisiJyVzOnJlZnMvaGVhZHMvJXMnPyIKK21zZ3N0ciAiIgorIjxLw6RsbGE+LWRlbGVuIGF2IHJlZi5zcGVjLWVuIMOkciBldHQgaW5jaGVja25pbmdzb2JqZWt0LlxuIgorIlZhciBkZXQgbWVuaW5nZW4gYXR0IHNrYXBhIGVuIG55IGdyZW4gZ2Vub20gYXR0IHPDpG5kYVxuIgorInRpbGwgXCIlczpyZWZzL2hlYWRzLyVzXCI/IgorCisjOiByZW1vdGUuYzoxMDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIHRhZyBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIGNyZWF0ZSBhIG5ldyB0YWcgYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL3RhZ3MvJXMnPyIKK21zZ3N0ciAiIgorIjxLw6RsbGE+LWRlbGVuIGF2IHJlZi5zcGVjLWVuIMOkciBldHQgdGFnZ29iamVrdC5cbiIKKyJWYXIgZGV0IG1lbmluZ2VuIGF0dCBza2FwYSBlbiBueSB0YWdnIGdlbm9tIGF0dCBzw6RuZGFcbiIKKyJ0aWxsIFwiJXM6cmVmcy90YWdzLyVzXCI/IgorCisjOiByZW1vdGUuYzoxMDUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIHRyZWUgb2JqZWN0LlxuIgorIkRpZCB5b3UgbWVhbiB0byB0YWcgYSBuZXcgdHJlZSBieSBwdXNoaW5nIHRvXG4iCisiJyVzOnJlZnMvdGFncy8lcyc/IgorbXNnc3RyICIiCisiPEvDpGxsYT4tZGVsZW4gYXYgcmVmLnNwZWMtZW4gw6RyIGV0dCB0csOkZG9iamVrdC5cbiIKKyJWYXIgZGV0IG1lbmluZ2VuIGF0dCB0YWdnYSBldHQgbnl0dCB0csOkZCBnZW5vbSBhdHQgc8OkbmRhXG4iCisidGlsbCBcIiVzOnJlZnMvdGFncy8lc1wiPyIKKworIzogcmVtb3RlLmM6MTA1OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSBibG9iIG9iamVjdC5cbiIKKyJEaWQgeW91IG1lYW4gdG8gdGFnIGEgbmV3IGJsb2IgYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL3RhZ3MvJXMnPyIKK21zZ3N0ciAiIgorIjxLw6RsbGE+LWRlbGVuIGF2IHJlZi5zcGVjLWVuIMOkciBldHQgYmxvYm9iamVrdC5cbiIKKyJWYXIgZGV0IG1lbmluZ2VuIGF0dCB0YWdnYSBlbiBueSBibG9iIGdlbm9tIGF0dCBzw6RuZGFcbiIKKyJ0aWxsIFwiJXM6cmVmcy90YWdzLyVzXCI/IgorCisjOiByZW1vdGUuYzoxMDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhbm5vdCBiZSByZXNvbHZlZCB0byBicmFuY2giCittc2dzdHIgIiVzIGthbiBpbnRlIHNsw6VzIHVwcCB0aWxsIGVuIGdyZW4iCisKKyM6IHJlbW90ZS5jOjExMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGRlbGV0ZSAnJXMnOiByZW1vdGUgcmVmIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJrYW4gaW50ZSB0YSBib3J0IFwiJXNcIjogZmrDpHJyZWZlcmVuc2VuIGZpbm5zIGludGUiCisKKyM6IHJlbW90ZS5jOjExMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHN0IHJlZnNwZWMgJXMgbWF0Y2hlcyBtb3JlIHRoYW4gb25lIgorbXNnc3RyICJmasOkcnItcmVmZXJlbnNzcGVjaWZpa2F0aW9uZW4gXCIlc1wiIG1vdHN2YXJhciBtZXIgw6RuIGVuIgorCisjOiByZW1vdGUuYzoxMTI0CisjLCBjLWZvcm1hdAorbXNnaWQgImRzdCByZWYgJXMgcmVjZWl2ZXMgZnJvbSBtb3JlIHRoYW4gb25lIHNyYyIKK21zZ3N0ciAiZmrDpHJyLXJlZmVyZW5zZW4gXCIlc1wiIGjDpG10YXIgZnLDpW4gbWVyIMOkbiBlbiBrw6RsbGEiCisKKyM6IHJlbW90ZS5jOjE2MjcgcmVtb3RlLmM6MTcyOAogbXNnaWQgIkhFQUQgZG9lcyBub3QgcG9pbnQgdG8gYSBicmFuY2giCiBtc2dzdHIgIkhFQUQgcGVrYXIgaW50ZSBww6UgZW4gZ3JlbiIKIAotIzogcmVtb3RlLmM6MTU3OAorIzogcmVtb3RlLmM6MTYzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIGJyYW5jaDogJyVzJyIKIG1zZ3N0ciAib2vDpG5kIGdyZW46IFwiJXNcIiIKIAotIzogcmVtb3RlLmM6MTU4MQorIzogcmVtb3RlLmM6MTYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiaW5nZW4gc3RhbmRhcmR1cHBzdHLDtm0gYW5naXZlbiBmw7ZyIGdyZW5lbiBcIiVzXCIiCiAKLSM6IHJlbW90ZS5jOjE1ODcKKyM6IHJlbW90ZS5jOjE2NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAidXBzdHJlYW0gYnJhbmNoICclcycgbm90IHN0b3JlZCBhcyBhIHJlbW90ZS10cmFja2luZyBicmFuY2giCiBtc2dzdHIgInVwcHN0csO2bXNncmVuZW4gXCIlc1wiIMOkciBpbnRlIGxhZ3JhZCBzb20gZW4gZmrDpHJyc3DDpXJhbmRlIGdyZW4iCiAKLSM6IHJlbW90ZS5jOjE2MDIKKyM6IHJlbW90ZS5jOjE2NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCBkZXN0aW5hdGlvbiAnJXMnIG9uIHJlbW90ZSAnJXMnIGhhcyBubyBsb2NhbCB0cmFja2luZyBicmFuY2giCiBtc2dzdHIgInB1c2gtbcOlbGV0IFwiJXNcIiBww6UgZmrDpHJyZW4gXCIlc1wiIGhhciBpbmdlbiBsb2thbHQgc3DDpXJhbmRlIGdyZW4iCiAKLSM6IHJlbW90ZS5jOjE2MTQKKyM6IHJlbW90ZS5jOjE2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgaGFzIG5vIHJlbW90ZSBmb3IgcHVzaGluZyIKIG1zZ3N0ciAiZ3JlbmVuIFwiJXNcIiBoYXIgaW5nZW4gZmrDpHJyIGbDtnIgXCJwdXNoXCIiCiAKLSM6IHJlbW90ZS5jOjE2MjQKKyM6IHJlbW90ZS5jOjE2ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCByZWZzcGVjcyBmb3IgJyVzJyBkbyBub3QgaW5jbHVkZSAnJXMnIgogbXNnc3RyICJcInB1c2hcIi1yZWZlcmVuc3NwZWNpZmlrYXRpb24gZsO2ciBcIiVzXCIgaW5uZWjDpWxsZXIgaW50ZSBcIiVzXCIiCiAKLSM6IHJlbW90ZS5jOjE2MzcKKyM6IHJlbW90ZS5jOjE2OTUKIG1zZ2lkICJwdXNoIGhhcyBubyBkZXN0aW5hdGlvbiAocHVzaC5kZWZhdWx0IGlzICdub3RoaW5nJykiCiBtc2dzdHIgIlwicHVzaFwiIGhhciBpbmdldCBtw6VsIChwdXNoLmRlZmF1bHQgw6RyIFwiaW5nZW50aW5nXCIpIgogCi0jOiByZW1vdGUuYzoxNjU5CisjOiByZW1vdGUuYzoxNzE3CiBtc2dpZCAiY2Fubm90IHJlc29sdmUgJ3NpbXBsZScgcHVzaCB0byBhIHNpbmdsZSBkZXN0aW5hdGlvbiIKIG1zZ3N0ciAiXCJlbmtlbCBwdXNoXCIgbW90c3ZhcmFyIGZsZXJhIG9saWthIG3DpWwiCiAKLSM6IHJlbW90ZS5jOjE5MzUKKyM6IHJlbW90ZS5jOjE4NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCByZW1vdGUgcmVmICVzIgorbXNnc3RyICJLdW5kZSBpbnRlIGhpdHRhIGZqw6Ryci1yZWZlcmVuc2VuICVzIgorCisjOiByZW1vdGUuYzoxODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiogSWdub3JpbmcgZnVubnkgcmVmICclcycgbG9jYWxseSIKK21zZ3N0ciAiKiBJZ25vcmVyYXIgbcOkcmtsaWcgcmVmZXJlbnMgXCIlc1wiIGxva2FsdCIKKworIzogcmVtb3RlLmM6MjAxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyBiYXNlZCBvbiAnJXMnLCBidXQgdGhlIHVwc3RyZWFtIGlzIGdvbmUuXG4iCiBtc2dzdHIgIkRpbiBncmVuIMOkciBiYXNlcmFkIHDDpSBcIiVzXCIsIG1lbiBkZW4gaGFyIGbDtnJzdnVubml0IHVwcHN0csO2bXMuXG4iCiAKLSM6IHJlbW90ZS5jOjE5MzkKKyM6IHJlbW90ZS5jOjIwMjMKIG1zZ2lkICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBicmFuY2ggLS11bnNldC11cHN0cmVhbVwiIGbDtnIgYXR0IHLDpHR0YSlcbiIKIAotIzogcmVtb3RlLmM6MTk0MgorIzogcmVtb3RlLmM6MjAyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyB1cCB0byBkYXRlIHdpdGggJyVzJy5cbiIKIG1zZ3N0ciAiRGluIGdyZW4gw6RyIMOgIGpvdXIgbWVkIFwiJXNcIi5cbiIKIAotIzogcmVtb3RlLmM6MTk0NgorIzogcmVtb3RlLmM6MjAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBhbmQgJyVzJyByZWZlciB0byBkaWZmZXJlbnQgY29tbWl0cy5cbiIKIG1zZ3N0ciAiRGluIGdyZW4gb2NoIFwiJXNcIiBwZWthciBww6Ugb2xpa2EgaW5jaGVja25pbmdhci5cbiIKIAotIzogcmVtb3RlLmM6MTk0OQorIzogcmVtb3RlLmM6MjAzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCIlc1wiIGZvciBkZXRhaWxzKVxuIgogbXNnc3RyICIgIChhbnbDpG5kIFwiJXNcIiBmw7ZyIGRldGFsamVyKVxuIgogCi0jOiByZW1vdGUuYzoxOTUzCisjOiByZW1vdGUuYzoyMDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0LlxuIgogbXNnaWRfcGx1cmFsICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdHMuXG4iCiBtc2dzdHJbMF0gIkRpbiBncmVuIGxpZ2dlciBmw7ZyZSBcIiVzXCIgbWVkICVkIGluY2hlY2tuaW5nLlxuIgogbXNnc3RyWzFdICJEaW4gZ3JlbiBsaWdnZXIgZsO2cmUgXCIlc1wiIG1lZCAlZCBpbmNoZWNrbmluZ2FyLlxuIgogCi0jOiByZW1vdGUuYzoxOTU5CisjOiByZW1vdGUuYzoyMDQzCiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1c2hcIiB0byBwdWJsaXNoIHlvdXIgbG9jYWwgY29tbWl0cylcbiIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBwdXNoXCIgZsO2ciBhdHQgcHVibGljZXJhIGRpbmEgbG9rYWxhIGluY2hlY2tuaW5nYXIpXG4iCiAKLSM6IHJlbW90ZS5jOjE5NjIKKyM6IHJlbW90ZS5jOjIwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCkBAIC00MzMxLDExICs1OTkzLDExIEBACiBtc2dzdHJbMV0gIiIKICJEaW4gZ3JlbiBsaWdnZXIgZWZ0ZXIgXCIlc1wiIG1lZCAlZCBpbmNoZWNrbmluZ2FyLCBvY2gga2FuIHNuYWJic3BvbGFzLlxuIgogCi0jOiByZW1vdGUuYzoxOTcwCisjOiByZW1vdGUuYzoyMDU0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byB1cGRhdGUgeW91ciBsb2NhbCBicmFuY2gpXG4iCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcHVsbFwiIGbDtnIgYXR0IHVwcGRhdGVyYSBkaW4gbG9rYWxhIGdyZW4pXG4iCiAKLSM6IHJlbW90ZS5jOjE5NzMKKyM6IHJlbW90ZS5jOjIwNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgYnJhbmNoIGFuZCAnJXMnIGhhdmUgZGl2ZXJnZWQsXG4iCkBAIC00MzUwLDEwICs2MDEyLDE1IEBACiAiRGluIGdyZW4gb2NoIFwiJXNcIiBoYXIgZGl2ZXJnZXJhdCxcbiIKICJvY2ggaGFyICVkIHJlc3Bla3RpdmUgJWQgb2xpa2EgaW5jaGVja25pbmdhci5cbiIKIAotIzogcmVtb3RlLmM6MTk4MworIzogcmVtb3RlLmM6MjA2NwogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycylcbiIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBwdWxsXCIgZsO2ciBhdHQgc2zDpSBpaG9wIGZqw6RycmdyZW5lbiBtZWQgZGluIGVnZW4pXG4iCiAKKyM6IHJlbW90ZS5jOjIyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHBhcnNlIGV4cGVjdGVkIG9iamVjdCBuYW1lICclcyciCittc2dzdHIgImthbiBpbnRlIHRvbGthIGbDtnJ2w6RudGF0IG9iamVrdG5hbW4gXCIlc1wiIgorCiAjOiByZXBsYWNlLW9iamVjdC5jOjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCByZXBsYWNlIHJlZiBuYW1lOiAlcyIKQEAgLTQzNzcsMTEgKzYwNDQsNiBAQAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSByZXJlcmUgcmVjb3JkIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSByZXJlcmUtcG9zdCIKIAotIzogcmVyZXJlLmM6NDg1IHJlcmVyZS5jOjY5MiBzZXF1ZW5jZXIuYzozMTM2IHNlcXVlbmNlci5jOjMxNjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHdyaXRlICclcyciCi1tc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIFwiJXNcIiIKLQogIzogcmVyZXJlLmM6NDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZXJlIHdlcmUgZXJyb3JzIHdoaWxlIHdyaXRpbmcgJyVzJyAoJXMpIgpAQCAtNDQzMiw4ICs2MDk0LDggQEAKIG1zZ2lkICJSZWNvcmRlZCBwcmVpbWFnZSBmb3IgJyVzJyIKIG1zZ3N0ciAiU3BhcmFkZSBmw7ZyaGFuZHNiaWxkIGbDtnIgXCIlc1wiIgogCi0jOiByZXJlcmUuYzo4ODEgc3VibW9kdWxlLmM6MTc2MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQxMwotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MjMKKyM6IHJlcmVyZS5jOjg4MSBzdWJtb2R1bGUuYzoyMDY3IGJ1aWx0aW4vbG9nLmM6MTg3MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MzYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSBrYXRhbG9nZW4gXCIlc1wiIgpAQCAtNDQ2NywyOSArNjEyOSwzMyBAQAogbXNnaWQgInVuYWJsZSB0byBvcGVuIHJyLWNhY2hlIGRpcmVjdG9yeSIKIG1zZ3N0ciAia2FuIGludGUgdXBwZGF0ZXJhIGthdGFsb2dlbiByci1jYWNoZSIKIAotIzogcmV2aXNpb24uYzoyMzI0CisjOiByZXZpc2lvbi5jOjI0OTcKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoIGFwcGVhcnMgdG8gYmUgYnJva2VuIgogbXNnc3RyICJkaW4gbnV2YXJhbmRlIGdyZW4gdmVya2FyIHZhcmEgdHJhc2lnIgogCi0jOiByZXZpc2lvbi5jOjIzMjcKKyM6IHJldmlzaW9uLmM6MjUwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoICclcycgZG9lcyBub3QgaGF2ZSBhbnkgY29tbWl0cyB5ZXQiCiBtc2dzdHIgImRpbiBudXZhcmFuZGUgZ3JlbiBcIiVzXCIgaW5uZWjDpWxsZXIgw6RubnUgaW50ZSBuw6VncmEgaW5jaGVja25pbmdhciIKIAotIzogcmV2aXNpb24uYzoyNTIzCisjOiByZXZpc2lvbi5jOjI3MDgKIG1zZ2lkICItLWZpcnN0LXBhcmVudCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWJpc2VjdCIKIG1zZ3N0ciAiLS1maXJzdC1wYXJlbnQgw6RyIGlua29tcGF0aWJlbHQgbWVkIC0tYmlzZWN0IgogCi0jOiBydW4tY29tbWFuZC5jOjc0MAorIzogcmV2aXNpb24uYzoyNzEyCittc2dpZCAiLUwgZG9lcyBub3QgeWV0IHN1cHBvcnQgZGlmZiBmb3JtYXRzIGJlc2lkZXMgLXAgYW5kIC1zIgorbXNnc3RyICItTCBzdMO2ZGVyIMOkbm51IGludGUgYW5kcmEgZGlmZi1mb3JtYXQgw6RuIC1wIG9jaCAtcyIKKworIzogcnVuLWNvbW1hbmQuYzo3NjIKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyDDtnBwbmEgL2Rldi9udWxsIgogCi0jOiBydW4tY29tbWFuZC5jOjEyMjkKKyM6IHJ1bi1jb21tYW5kLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIGFzeW5jIHRocmVhZDogJXMiCiBtc2dzdHIgImthbiBpbnRlIHNrYXBhIGFzeW5rcm9uIHRyw6VkOiAlcyIKIAotIzogcnVuLWNvbW1hbmQuYzoxMjkzCisjOiBydW4tY29tbWFuZC5jOjEzMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAnJXMnIGhvb2sgd2FzIGlnbm9yZWQgYmVjYXVzZSBpdCdzIG5vdCBzZXQgYXMgZXhlY3V0YWJsZS5cbiIKQEAgLTQ0OTgsMjkgKzYxNjQsMjkgQEAKICJLcm9rZW4gXCIlc1wiIGlnbm9yZXJhZGVzIGVmdGVyc29tIGRlbiBpbnRlIMOkciBtYXJrZXJhZCBzb20ga8O2cmJhci5cbiIKICJEdSBrYW4gaW5ha3RpdmVyYSB2YXJuaW5nZW4gbWVkIFwiZ2l0IGNvbmZpZyBhZHZpY2UuaWdub3JlZEhvb2sgZmFsc2VcIi4iCiAKLSM6IHNlbmQtcGFjay5jOjE0MgorIzogc2VuZC1wYWNrLmM6MTQ0CiBtc2dpZCAidW5leHBlY3RlZCBmbHVzaCBwYWNrZXQgd2hpbGUgcmVhZGluZyByZW1vdGUgdW5wYWNrIHN0YXR1cyIKIG1zZ3N0ciAib3bDpG50YXQgZmx1c2gtcGFrZXQgdmlkIGzDpHNuaW5nIGF2IGZqw6RycnVwcGFja25pbmdzc3RhdHVzIgogCi0jOiBzZW5kLXBhY2suYzoxNDQKKyM6IHNlbmQtcGFjay5jOjE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgcmVtb3RlIHVucGFjayBzdGF0dXM6ICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIGZqw6RycnVwcGFja25pbmdzc3RhdHVzOiAlcyIKIAotIzogc2VuZC1wYWNrLmM6MTQ2CisjOiBzZW5kLXBhY2suYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlIHVucGFjayBmYWlsZWQ6ICVzIgogbXNnc3RyICJmasOkcnJ1cHBhY2tuaW5nIG1pc3NseWNrYWRlczogJXMiCiAKLSM6IHNlbmQtcGFjay5jOjMwOAorIzogc2VuZC1wYWNrLmM6MzA5CiBtc2dpZCAiZmFpbGVkIHRvIHNpZ24gdGhlIHB1c2ggY2VydGlmaWNhdGUiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB1bmRlcnRlY2tuYSBwdXNoLWNlcnRpZmlrYXRldCIKIAotIzogc2VuZC1wYWNrLmM6NDIxCisjOiBzZW5kLXBhY2suYzo0MjMKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIHB1c2giCiBtc2dzdHIgIm1vdHRhZ2Fyc2lkYW4gc3TDtmRlciBpbnRlIHB1c2ggbWVkIC0tc2lnbmVkIgogCi0jOiBzZW5kLXBhY2suYzo0MjMKKyM6IHNlbmQtcGFjay5jOjQyNQogbXNnaWQgIiIKICJub3Qgc2VuZGluZyBhIHB1c2ggY2VydGlmaWNhdGUgc2luY2UgdGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLSIKICJzaWduZWQgcHVzaCIKQEAgLTQ1MjgsNDIgKzYxOTQsNDcgQEAKICJzw6RuZGVyIGludGUgcHVzaC1jZXJ0aWZpa2F0IGVmdGVyc29tIG1vdHRhZ2Fyc2lkYW4gaW50ZSBzdGxkZXIgcHVzaCBtZWQgLS0iCiAic2lnbmVkIgogCi0jOiBzZW5kLXBhY2suYzo0MzUKKyM6IHNlbmQtcGFjay5jOjQzNwogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1hdG9taWMgcHVzaCIKIG1zZ3N0ciAibW90dGFnYXJzaWRhbiBzdMO2ZGVyIGludGUgcHVzaCBtZWQgLS1hdG9taWMiCiAKLSM6IHNlbmQtcGFjay5jOjQ0MAorIzogc2VuZC1wYWNrLmM6NDQyCiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCBwdXNoIG9wdGlvbnMiCiBtc2dzdHIgIm1vdHRhZ2Fyc2lkYW4gc3TDtmRlciBpbnRlIHB1c2gtZmxhZ2dvciIKIAotIzogc2VxdWVuY2VyLmM6MTgzCisjOiBzZXF1ZW5jZXIuYzoxODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb21taXQgbWVzc2FnZSBjbGVhbnVwIG1vZGUgJyVzJyIKIG1zZ3N0ciAiZmVsYWt0aWd0IGluY2hlY2tuaW5nc21lZGRlbGFuZGVzdMOkZG5pbmdzbMOkZ2UgXCIlc1wiIgogCi0jOiBzZXF1ZW5jZXIuYzoyODcKKyM6IHNlcXVlbmNlci5jOjI5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgdGEgYm9ydCBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjMxMworIzogc2VxdWVuY2VyLmM6MzEzIGJ1aWx0aW4vcmViYXNlLmM6NzgxIGJ1aWx0aW4vcmViYXNlLmM6MTcwNiBidWlsdGluL3JtLmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgJyVzJyIKK21zZ3N0ciAia3VuZGUgaW50ZSB0YSBib3J0IFwiJXNcIiIKKworIzogc2VxdWVuY2VyLmM6MzIzCiBtc2dpZCAicmV2ZXJ0IgogbXNnc3RyICJyZXZlcnQiCiAKLSM6IHNlcXVlbmNlci5jOjMxNQorIzogc2VxdWVuY2VyLmM6MzI1CiBtc2dpZCAiY2hlcnJ5LXBpY2siCiBtc2dzdHIgImNoZXJyeS1waWNrIgogCi0jOiBzZXF1ZW5jZXIuYzozMTcKKyM6IHNlcXVlbmNlci5jOjMyNwogbXNnaWQgInJlYmFzZSAtaSIKIG1zZ3N0ciAicmViYXNlIC1pIgogCi0jOiBzZXF1ZW5jZXIuYzozMTkKKyM6IHNlcXVlbmNlci5jOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGFjdGlvbjogJWQiCiBtc2dzdHIgIm9rw6RuZCBmdW5rdGlvbjogJWQiCiAKLSM6IHNlcXVlbmNlci5jOjM3NgorIzogc2VxdWVuY2VyLmM6Mzg3CiBtc2dpZCAiIgogImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKICJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPiciCkBAIC00NTcxLDcgKzYyNDIsNyBAQAogImVmdGVyIGF0dCBoYSBsw7ZzdCBrb25mbGlrdGVybmEsIG1hcmtlcmEgZGUgcsOkdHRhZGUgc8O2a3bDpGdhcm5hXG4iCiAibWVkIFwiZ2l0IGFkZCA8c8O2a3bDpGdhcj5cIiBlbGxlciBcImdpdCBybSA8c8O2a3bDpGdhcj5cIiIKIAotIzogc2VxdWVuY2VyLmM6Mzc5CisjOiBzZXF1ZW5jZXIuYzozOTAKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+J1xuIgpAQCAtNDU4MSwxMTAgKzYyNTIsMTE0IEBACiAibWVkIFwiZ2l0IGFkZCA8c8O2a3bDpGdhcj5cIiBlbGxlciBcImdpdCBybSA8c8O2a3bDpGdhcj5cIlxuIgogIm9jaCBjaGVja2EgaW4gcmVzdWx0YXRldCBtZWQgXCJnaXQgY29tbWl0XCIiCiAKLSM6IHNlcXVlbmNlci5jOjM5MiBzZXF1ZW5jZXIuYzoyNjMyCisjOiBzZXF1ZW5jZXIuYzo0MDMgc2VxdWVuY2VyLmM6Mjk5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9jayAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpXNhIFwiJXNcIiIKIAotIzogc2VxdWVuY2VyLmM6Mzk5CisjOiBzZXF1ZW5jZXIuYzo0MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGVvbCB0byAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSByYWRzbHV0IHRpbGwgXCIlc1wiIgogCi0jOiBzZXF1ZW5jZXIuYzo0MDQgc2VxdWVuY2VyLmM6MjUxNSBzZXF1ZW5jZXIuYzoyNjM4IHNlcXVlbmNlci5jOjI2NTIKLSM6IHNlcXVlbmNlci5jOjI4ODUKKyM6IHNlcXVlbmNlci5jOjQxNSBzZXF1ZW5jZXIuYzoyNzk4IHNlcXVlbmNlci5jOjI5OTkgc2VxdWVuY2VyLmM6MzAxMworIzogc2VxdWVuY2VyLmM6MzI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgJyVzJyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGbDpHJkaWdzdMOkbGxhIFwiJXNcIiIKIAotIzogc2VxdWVuY2VyLmM6NDI3IHNlcXVlbmNlci5jOjkyMSBzZXF1ZW5jZXIuYzoxNTk0IHNlcXVlbmNlci5jOjI1MzUKLSM6IHNlcXVlbmNlci5jOjI4Njcgc2VxdWVuY2VyLmM6Mjk3NCBidWlsdGluL2FtLmM6MjYwIGJ1aWx0aW4vY29tbWl0LmM6NzQ2Ci0jOiBidWlsdGluL21lcmdlLmM6MTA4NCBidWlsdGluL3JlYmFzZS5jOjE1MgorIzogc2VxdWVuY2VyLmM6NDM4IHNlcXVlbmNlci5jOjE3MDcgc2VxdWVuY2VyLmM6MjgxOCBzZXF1ZW5jZXIuYzozMjU5CisjOiBzZXF1ZW5jZXIuYzozMzY4IGJ1aWx0aW4vYW0uYzoyNDQgYnVpbHRpbi9jb21taXQuYzo3ODMgYnVpbHRpbi9tZXJnZS5jOjExMTcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgXCIlc1wiIgogCi0jOiBzZXF1ZW5jZXIuYzo0NTMKKyM6IHNlcXVlbmNlci5jOjQ2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXMuIgogbXNnc3RyICJkaW5hIGxva2FsYSDDpG5kcmluZ2FyIHNrdWxsZSBza3JpdmFzIMO2dmVyIGF2ICVzLiIKIAotIzogc2VxdWVuY2VyLmM6NDU3CisjOiBzZXF1ZW5jZXIuYzo0NjgKIG1zZ2lkICJjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCiBtc2dzdHIgImNoZWNrYSBpbiBkaW5hIMOkbmRyaW5nYXIgZWxsZXIgYW52w6RuZCBcInN0YXNoXCIgZsO2ciBhdHQgZm9ydHPDpHR0YS4iCiAKLSM6IHNlcXVlbmNlci5jOjQ4NgorIzogc2VxdWVuY2VyLmM6NTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmYXN0LWZvcndhcmQiCiBtc2dzdHIgIiVzOiBzbmFiYnNwb2xhIgogCisjOiBzZXF1ZW5jZXIuYzo1MzkgYnVpbHRpbi90YWcuYzo1NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCittc2dzdHIgIkZlbGFrdGlndCBzdMOkZG5pbmdzbMOkZ2UgJXMiCisKICMuIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiLCAiY2hlcnJ5LXBpY2siIG9yCiAjLiAicmViYXNlIC1pIi4KICMuCi0jOiBzZXF1ZW5jZXIuYzo1NzUKKyM6IHNlcXVlbmNlci5jOjYzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICIlczogS3VuZGUgaW50ZSBza3JpdmEgbnkgaW5kZXhmaWwiCiAKLSM6IHNlcXVlbmNlci5jOjU5MQorIzogc2VxdWVuY2VyLmM6NjUwCiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlIgogbXNnc3RyICJrYW4gaW50ZSB1cHBkYXRlcmEgY2FjaGV0csOkZCIKIAotIzogc2VxdWVuY2VyLmM6NjA0CisjOiBzZXF1ZW5jZXIuYzo2NjQKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSBIRUFEIGNvbW1pdCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBiZXN0w6RtbWEgSEVBRDpzIGluY2hlY2tuaW5nIgogCi0jOiBzZXF1ZW5jZXIuYzo2ODQKKyM6IHNlcXVlbmNlci5jOjc0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBrZXkgcHJlc2VudCBpbiAnJS4qcyciCiBtc2dzdHIgImluZ2VuIG55Y2tlbCBpICBcIiUuKnNcIiIKIAotIzogc2VxdWVuY2VyLmM6Njk1CisjOiBzZXF1ZW5jZXIuYzo3NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlcXVvdGUgdmFsdWUgb2YgJyVzJyIKIG1zZ3N0ciAia2FuIGludGUgdGEgYm9ydCBjaXRlcmluZyBhdiB2w6RyZGV0IFwiJXNcIiIKIAotIzogc2VxdWVuY2VyLmM6NzMyIHdyYXBwZXIuYzoyMjcgd3JhcHBlci5jOjM5NyBidWlsdGluL2FtLmM6NzE5Ci0jOiBidWlsdGluL2FtLmM6ODExIGJ1aWx0aW4vbWVyZ2UuYzoxMDgxCisjOiBzZXF1ZW5jZXIuYzo3OTIgd3JhcHBlci5jOjE5MCB3cmFwcGVyLmM6MzYwIGJ1aWx0aW4vYW0uYzo3MDUKKyM6IGJ1aWx0aW4vYW0uYzo3OTcgYnVpbHRpbi9tZXJnZS5jOjExMTQgYnVpbHRpbi9yZWJhc2UuYzoxMDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgImt1bmRlIGludGUgw7ZwcG5hIFwiJXNcIiBmw7ZyIGzDpHNuaW5nIgogCi0jOiBzZXF1ZW5jZXIuYzo3NDIKKyM6IHNlcXVlbmNlci5jOjgwMgogbXNnaWQgIidHSVRfQVVUSE9SX05BTUUnIGFscmVhZHkgZ2l2ZW4iCiBtc2dzdHIgIlwiR0lUX0FVVEhPUl9OQU1FXCIgaGFyIHJlZGFuIGFuZ2l2aXRzIgogCi0jOiBzZXF1ZW5jZXIuYzo3NDcKKyM6IHNlcXVlbmNlci5jOjgwNwogbXNnaWQgIidHSVRfQVVUSE9SX0VNQUlMJyBhbHJlYWR5IGdpdmVuIgogbXNnc3RyICJcIkdJVF9BVVRIT1JfRU1BSUxcIiBoYXIgcmVkYW4gYW5naXZpdHMiCiAKLSM6IHNlcXVlbmNlci5jOjc1MgorIzogc2VxdWVuY2VyLmM6ODEyCiBtc2dpZCAiJ0dJVF9BVVRIT1JfREFURScgYWxyZWFkeSBnaXZlbiIKIG1zZ3N0ciAiXCJHSVRfQVVUSE9SX0RBVEVcIiBoYXIgcmVkYW4gYW5naXZpdHMiCiAKLSM6IHNlcXVlbmNlci5jOjc1NgorIzogc2VxdWVuY2VyLmM6ODE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gdmFyaWFibGUgJyVzJyIKIG1zZ3N0ciAib2vDpG5kIHZhcmlhYmVsIFwiJXNcIiIKIAotIzogc2VxdWVuY2VyLmM6NzYxCisjOiBzZXF1ZW5jZXIuYzo4MjEKIG1zZ2lkICJtaXNzaW5nICdHSVRfQVVUSE9SX05BTUUnIgogbXNnc3RyICJcIkdJVF9BVVRIT1JfTkFNRVwiIHNha25hcyIKIAotIzogc2VxdWVuY2VyLmM6NzYzCisjOiBzZXF1ZW5jZXIuYzo4MjMKIG1zZ2lkICJtaXNzaW5nICdHSVRfQVVUSE9SX0VNQUlMJyIKIG1zZ3N0ciAiXCJHSVRfQVVUSE9SX0VNQUlMXCIgc2FrbmFzIgogCi0jOiBzZXF1ZW5jZXIuYzo3NjUKKyM6IHNlcXVlbmNlci5jOjgyNQogbXNnaWQgIm1pc3NpbmcgJ0dJVF9BVVRIT1JfREFURSciCiBtc2dzdHIgIlwiR0lUX0FVVEhPUl9EQVRFXCIgc2FrbmFzIgogCi0jOiBzZXF1ZW5jZXIuYzo4MjUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdCAnJXMnIGluICclcyciCi1tc2dzdHIgIm9naWx0aWd0IGRhdHVtZm9ybWF0IFwiJXNcIiBpIFwiJXNcIiIKKyM6IHNlcXVlbmNlci5jOjkwMiBzZXF1ZW5jZXIuYzoxNDI3Cittc2dpZCAibWFsZm9ybWVkIGlkZW50IGxpbmUiCittc2dzdHIgImZlbGFrdGlnIGlkZW50LXJhZCIKIAotIzogc2VxdWVuY2VyLmM6ODQyCisjOiBzZXF1ZW5jZXIuYzo5MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInlvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlXG4iCkBAIC00NzEzLDE1ICs2Mzg4LDExIEBACiAiXG4iCiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIAotIzogc2VxdWVuY2VyLmM6OTM1Ci1tc2dpZCAid3JpdGluZyByb290IGNvbW1pdCIKLW1zZ3N0ciAic2tyaXZlciByb3RpbmNoZWNrbmluZyIKLQotIzogc2VxdWVuY2VyLmM6MTE0MgorIzogc2VxdWVuY2VyLmM6MTIxOAogbXNnaWQgIidwcmVwYXJlLWNvbW1pdC1tc2cnIGhvb2sgZmFpbGVkIgogbXNnc3RyICJrcm9rZW4gXCJwcmVwYXJlLWNvbW1pdC1tc2dcIiBtaXNzbHlja2FkZXMiCiAKLSM6IHNlcXVlbmNlci5jOjExNDkKKyM6IHNlcXVlbmNlci5jOjEyMjQKIG1zZ2lkICIiCiAiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCiAib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgpAQCAtNDc0OCw3ICs2NDE5LDcgQEAKICJcbiIKICIgICAgZ2l0IGNvbW1pdCAtLWFtZW5kIC0tcmVzZXQtYXV0aG9yXG4iCiAKLSM6IHNlcXVlbmNlci5jOjExNjIKKyM6IHNlcXVlbmNlci5jOjEyMzcKIG1zZ2lkICIiCiAiWW91ciBuYW1lIGFuZCBlbWFpbCBhZGRyZXNzIHdlcmUgY29uZmlndXJlZCBhdXRvbWF0aWNhbGx5IGJhc2VkXG4iCiAib24geW91ciB1c2VybmFtZSBhbmQgaG9zdG5hbWUuIFBsZWFzZSBjaGVjayB0aGF0IHRoZXkgYXJlIGFjY3VyYXRlLlxuIgpAQCAtNDc3MywzMDEgKzY0NDQsMzU0IEBACiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjAyCisjOiBzZXF1ZW5jZXIuYzoxMjc5CiBtc2dpZCAiY291bGRuJ3QgbG9vayB1cCBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBzbMOlIHVwcCBlbiBwcmVjaXMgc2thcGFkIGluY2hlY2tuaW5nIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjA0CisjOiBzZXF1ZW5jZXIuYzoxMjgxCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG5ld2x5IGNyZWF0ZWQgY29tbWl0IgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIGVuIHByZWNpcyBza2FwYWQgaW5jaGVja25pbmciCiAKLSM6IHNlcXVlbmNlci5jOjEyNTAKKyM6IHNlcXVlbmNlci5jOjEzMjcKIG1zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSBIRUFEIGFmdGVyIGNyZWF0aW5nIGNvbW1pdCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBiZXN0w6RtbWEgSEVBRCBlZnRlciBhdHQgaGEgc2thcGF0IGluY2hlY2tuaW5nIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjUyCisjOiBzZXF1ZW5jZXIuYzoxMzI5CiBtc2dpZCAiZGV0YWNoZWQgSEVBRCIKIG1zZ3N0ciAiZnLDpW5rb3BwbGFkIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjEyNTYKKyM6IHNlcXVlbmNlci5jOjEzMzMKIG1zZ2lkICIgKHJvb3QtY29tbWl0KSIKIG1zZ3N0ciAiIChyb3RpbmNoZWNrbmluZykiCiAKLSM6IHNlcXVlbmNlci5jOjEyNzcKKyM6IHNlcXVlbmNlci5jOjEzNTQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjc5CisjOiBzZXF1ZW5jZXIuYzoxMzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiSEVBRCAlcyDDpHIgaW50ZSBlbiBpbmNoZWNrbmluZyEiCiAKLSM6IHNlcXVlbmNlci5jOjEyODMgYnVpbHRpbi9jb21taXQuYzoxNTQzCisjOiBzZXF1ZW5jZXIuYzoxMzYwIHNlcXVlbmNlci5jOjE0NTggYnVpbHRpbi9jb21taXQuYzoxNTY5CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQgY29tbWl0IgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIEhFQUQ6cyBpbmNoZWNrbmluZyIKIAotIzogc2VxdWVuY2VyLmM6MTMzNCBzZXF1ZW5jZXIuYzoxOTM0CisjOiBzZXF1ZW5jZXIuYzoxNDExIHNlcXVlbmNlci5jOjIwNTUKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0IGF1dGhvciIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBpbmNoZWNrbmluZ2VucyBmw7ZyZmF0dGFyZSIKIAotIzogc2VxdWVuY2VyLmM6MTM0NCBidWlsdGluL2FtLmM6MTU4NSBidWlsdGluL21lcmdlLmM6Njc3CisjOiBzZXF1ZW5jZXIuYzoxNDMxCittc2dpZCAiY29ycnVwdGVkIGF1dGhvciB3aXRob3V0IGRhdGUgaW5mb3JtYXRpb24iCittc2dzdHIgInRyYXNpZyBmw7ZyZmF0dGFyZSB1dGFuIGRhdHVtaW5mb3JtYXRpb24iCisKKyM6IHNlcXVlbmNlci5jOjE0NDcgYnVpbHRpbi9hbS5jOjE1NjEgYnVpbHRpbi9tZXJnZS5jOjY4NAogbXNnaWQgImdpdCB3cml0ZS10cmVlIGZhaWxlZCB0byB3cml0ZSBhIHRyZWUiCiBtc2dzdHIgImdpdCB3cml0ZS10cmVlIG1pc3NseWNrYWRlcyBza3JpdmEgZXR0IHRyw6RkIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzYxIHNlcXVlbmNlci5jOjE0MTYKKyM6IHNlcXVlbmNlci5jOjE0ODAgc2VxdWVuY2VyLmM6MTU1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBjb21taXQgbWVzc2FnZSBmcm9tICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgaW5jaGVja25pbmdzbWVkZGVsYW5kZSBmcsOlbiBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjEzODMgYnVpbHRpbi9hbS5jOjE2MDYgYnVpbHRpbi9jb21taXQuYzoxNjQ2IGJ1aWx0aW4vbWVyZ2UuYzo4NTgKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4ODMKKyM6IHNlcXVlbmNlci5jOjE1MTYgYnVpbHRpbi9hbS5jOjE1ODMgYnVpbHRpbi9jb21taXQuYzoxNjY4IGJ1aWx0aW4vbWVyZ2UuYzo4ODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDgKIG1zZ2lkICJmYWlsZWQgdG8gd3JpdGUgY29tbWl0IG9iamVjdCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgaW5jaGVja25pbmdzb2JqZWt0IgogCi0jOiBzZXF1ZW5jZXIuYzoxNDQzCisjOiBzZXF1ZW5jZXIuYzoxNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgdG9sa2EgaW5jaGVja25pbmdlbiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTQ0OAorIzogc2VxdWVuY2VyLmM6MTU4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBmw7Zyw6RsZHJhaW5jaGVja25pbmdlbiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTU0NiBzZXF1ZW5jZXIuYzoxNjU0CisjOiBzZXF1ZW5jZXIuYzoxNjU2IHNlcXVlbmNlci5jOjE3NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBjb21tYW5kOiAlZCIKIG1zZ3N0ciAib2vDpG50IGtvbW1hbmRvOiAlZCIKIAotIzogc2VxdWVuY2VyLmM6MTYwMSBzZXF1ZW5jZXIuYzoxNjI2CisjOiBzZXF1ZW5jZXIuYzoxNzE0IHNlcXVlbmNlci5jOjE3MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICVkIGNvbW1pdHMuIgogbXNnc3RyICJEZXQgaMOkciDDpHIgZW4ga29tYmluYXRpb24gYXYgJWQgaW5jaGVja25pbmdhci4iCiAKLSM6IHNlcXVlbmNlci5jOjE2MTEgc2VxdWVuY2VyLmM6NDc0NAorIzogc2VxdWVuY2VyLmM6MTcyNAogbXNnaWQgIm5lZWQgYSBIRUFEIHRvIGZpeHVwIgogbXNnc3RyICJiZWjDtnZlciBlbiBIRUFELWluY2hlY2tuaW5nIGF0dCByw6R0dGEiCiAKLSM6IHNlcXVlbmNlci5jOjE2MTMgc2VxdWVuY2VyLmM6MjkxMgorIzogc2VxdWVuY2VyLmM6MTcyNiBzZXF1ZW5jZXIuYzozMzA0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjE1CisjOiBzZXF1ZW5jZXIuYzoxNzI4CiBtc2dpZCAiY291bGQgbm90IHJlYWQgSEVBRCdzIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIEhFQUQ6cyBpbmNoZWNrbmluZ3NtZWRkZWxhbmRlIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjIxCisjOiBzZXF1ZW5jZXIuYzoxNzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB3cml0ZSAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSBza3JpdmEgXCIlc1wiIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjI4IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NDEKKyM6IHNlcXVlbmNlci5jOjE3NDEgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ5NgogbXNnaWQgIlRoaXMgaXMgdGhlIDFzdCBjb21taXQgbWVzc2FnZToiCiBtc2dzdHIgIkRldCBow6RyIMOkciAxOmEgaW5jaGVja25pbmdzbWVkZGVsYW5kZXQ6IgogCi0jOiBzZXF1ZW5jZXIuYzoxNjM2CisjOiBzZXF1ZW5jZXIuYzoxNzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlIG9mICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIGluY2hlY2tuaW5nc21lZGRlbGFuZGUgZsO2ciAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTY0MworIzogc2VxdWVuY2VyLmM6MTc1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIHRoZSBjb21taXQgbWVzc2FnZSAjJWQ6IgogbXNnc3RyICJEZXQgaMOkciDDpHIgaW5jaGVja25pbmdzbWVkZGVsYW5kZSAlZDoiCiAKLSM6IHNlcXVlbmNlci5jOjE2NDkKKyM6IHNlcXVlbmNlci5jOjE3NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGNvbW1pdCBtZXNzYWdlICMlZCB3aWxsIGJlIHNraXBwZWQ6IgogbXNnc3RyICJJbmNoZWNrbmluZ3NtZWRkZWxhbmRlICVkIGtvbW1lciBob3BwYXMgw7Z2ZXI6IgogCi0jOiBzZXF1ZW5jZXIuYzoxNzMyCisjOiBzZXF1ZW5jZXIuYzoxODUwCiBtc2dpZCAieW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKIG1zZ3N0ciAiZGluIGluZGV4ZmlsIGhhciBpbnRlIHNsYWdpdHMgaWhvcC4iCiAKLSM6IHNlcXVlbmNlci5jOjE3MzkKKyM6IHNlcXVlbmNlci5jOjE4NTcKIG1zZ2lkICJjYW5ub3QgZml4dXAgcm9vdCBjb21taXQiCiBtc2dzdHIgImthbiBpbnRlIGfDtnJhIFwiZml4dXBcIiBww6Ugcm90aW5jaGVja25pbmciCiAKLSM6IHNlcXVlbmNlci5jOjE3NTgKKyM6IHNlcXVlbmNlci5jOjE4NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgogbXNnc3RyICJpbmNoZWNrbmluZyAlcyDDpHIgZW4gc2FtbWFuc2xhZ25pbmcsIG1lbiBmbGFnZ2FuIC1tIGFuZ2F2cyBpbnRlLiIKIAotIzogc2VxdWVuY2VyLmM6MTc2NgorIzogc2VxdWVuY2VyLmM6MTg4NCBzZXF1ZW5jZXIuYzoxODkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKIG1zZ3N0ciAiaW5jaGVja25pbmcgJXMgaGFyIGludGUgZsO2csOkbGRlciAlZCIKIAotIzogc2VxdWVuY2VyLmM6MTc3MAotIywgYy1mb3JtYXQKLW1zZ2lkICJtYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgotbXNnc3RyICJodXZ1ZGxpbmplIGFuZ2F2cywgbWVuIGluY2hlY2tuaW5nZW4gJXMgw6RyIGludGUgZW4gc2FtbWFuc2xhZ25pbmcuIgotCi0jOiBzZXF1ZW5jZXIuYzoxNzc2CisjOiBzZXF1ZW5jZXIuYzoxODk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBnZXQgY29tbWl0IG1lc3NhZ2UgZm9yICVzIgogbXNnc3RyICJrYW4gaW50ZSBow6RtdGEgaW5jaGVja25pbmdzbWVkZGVsYW5kZSBmw7ZyICVzIgogCiAjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgYSAidG9kbyIgY29tbWFuZCBsaWtlCiAjLiAicmV2ZXJ0IiBvciAicGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExLgotIzogc2VxdWVuY2VyLmM6MTc5NQorIzogc2VxdWVuY2VyLmM6MTkxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCiBtc2dzdHIgIiVzOiBrYW4gaW50ZSB0b2xrYSBmw7Zyw6RsZHJhaW5jaGVja25pbmdlbiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTg2MAorIzogc2VxdWVuY2VyLmM6MTk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVuYW1lICclcycgdG8gJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBieXRhIG5hbW4gcMOlIFwiJXNcIiB0aWxsIFwiJXNcIiIKIAotIzogc2VxdWVuY2VyLmM6MTkxNQorIzogc2VxdWVuY2VyLmM6MjAzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmV2ZXJ0ICVzLi4uICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIMOlbmdyYSAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTkxNgorIzogc2VxdWVuY2VyLmM6MjAzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgImt1bmRlIGludGUgdGlsbMOkbXBhICVzLi4uICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTc0CisjOiBzZXF1ZW5jZXIuYzoyMTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6IG1pc3NseWNrYWRlcyBsw6RzYSBpbmRleGV0IgogCi0jOiBzZXF1ZW5jZXIuYzoxOTgxCisjOiBzZXF1ZW5jZXIuYzoyMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXM6IG1pc3NseWNrYWRlcyB1cHBkYXRlcmEgaW5kZXhldCIKIAotIzogc2VxdWVuY2VyLmM6MjA2MgorIzogc2VxdWVuY2VyLmM6MjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkb2VzIG5vdCBhY2NlcHQgYXJndW1lbnRzOiAnJXMnIgogbXNnc3RyICIlcyB0YXIgaW50ZSBhcmd1bWVudDogXCIlc1wiIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDcxCisjOiBzZXF1ZW5jZXIuYzoyMTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3NpbmcgYXJndW1lbnRzIGZvciAlcyIKIG1zZ3N0ciAiYXJndW1lbnQgc2FrbmFzIGbDtnIgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjIxMzAKKyM6IHNlcXVlbmNlci5jOjIyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlICclLipzJyIKK21zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBcIiUuKnNcIiIKKworIzogc2VxdWVuY2VyLmM6MjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgIm9naWx0aWcgcmFkICVkOiAlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzoyMTM4CisjOiBzZXF1ZW5jZXIuYzoyMzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAnJXMnIHdpdGhvdXQgYSBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgImthbiBpbnRlIHV0ZsO2cmEgXCIlc1wiIHV0YW4gZW4gZsO2cmVnw6VlbmRlIGluY2hlY2tuaW5nIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjA5CisjOiBzZXF1ZW5jZXIuYzoyMzQ4IGJ1aWx0aW4vcmViYXNlLmM6MTcyIGJ1aWx0aW4vcmViYXNlLmM6MTk3CisjOiBidWlsdGluL3JlYmFzZS5jOjIyMyBidWlsdGluL3JlYmFzZS5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnLiIKK21zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBcIiVzXCIuIgorCisjOiBzZXF1ZW5jZXIuYzoyMzg0Cittc2dpZCAiY2FuY2VsbGluZyBhIGNoZXJyeSBwaWNraW5nIGluIHByb2dyZXNzIgorbXNnc3RyICJhdmJyeXRlciBww6Vnw6VlbmRlIFwiY2hlcnJ5LXBpY2tcIiIKKworIzogc2VxdWVuY2VyLmM6MjM5MQorbXNnaWQgImNhbmNlbGxpbmcgYSByZXZlcnQgaW4gcHJvZ3Jlc3MiCittc2dzdHIgImF2YnJ5dGVyIHDDpWfDpWVuZGUgXCJyZXZlcnRcIiIKKworIzogc2VxdWVuY2VyLmM6MjQzNQogbXNnaWQgInBsZWFzZSBmaXggdGhpcyB1c2luZyAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuIgogbXNnc3RyICJyw6R0dGEgZGV0IG1lZCBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIi4iCiAKLSM6IHNlcXVlbmNlci5jOjIyMTEKKyM6IHNlcXVlbmNlci5jOjI0MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW51c2FibGUgaW5zdHJ1Y3Rpb24gc2hlZXQ6ICclcyciCi1tc2dzdHIgIm9hbnbDpG5kYmFydCBtYW51czog4oCdJXPigJ0iCittc2dzdHIgIm9hbnbDpG5kYmFydCBtYW51czogXCIlc1wiIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjE2CisjOiBzZXF1ZW5jZXIuYzoyNDQyCiBtc2dpZCAibm8gY29tbWl0cyBwYXJzZWQuIgogbXNnc3RyICJpbmdhIGluY2hlY2tuaW5nYXIgbMOkc3Rlcy4iCiAKLSM6IHNlcXVlbmNlci5jOjIyMjcKKyM6IHNlcXVlbmNlci5jOjI0NTMKIG1zZ2lkICJjYW5ub3QgY2hlcnJ5LXBpY2sgZHVyaW5nIGEgcmV2ZXJ0LiIKIG1zZ3N0ciAia2FuIGludGUgdXRmw7ZyYSBcImNoZXJyeS1waWNrXCIgdW5kZXIgZW4gXCJyZXZlcnRcIi4iCiAKLSM6IHNlcXVlbmNlci5jOjIyMjkKKyM6IHNlcXVlbmNlci5jOjI0NTUKIG1zZ2lkICJjYW5ub3QgcmV2ZXJ0IGR1cmluZyBhIGNoZXJyeS1waWNrLiIKIG1zZ3N0ciAia2FuIGludGUgdXRmw7ZyYSBcInJldmVydFwiIHVuZGVyIGVuIFwiY2hlcnJ5LXBpY2tcIi4iCiAKLSM6IHNlcXVlbmNlci5jOjIyOTkKKyM6IHNlcXVlbmNlci5jOjI1MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICJmZWxha3RpZ3QgdsOkcmRlIGbDtnIgJXM6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoyMzgwCisjOiBzZXF1ZW5jZXIuYzoyNjMwCiBtc2dpZCAidW51c2FibGUgc3F1YXNoLW9udG8iCiBtc2dzdHIgIm9hbnbDpG5kYmFyIHNxdWFzaC1vbnRvIgogCi0jOiBzZXF1ZW5jZXIuYzoyMzk2CisjOiBzZXF1ZW5jZXIuYzoyNjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvcHRpb25zIHNoZWV0OiAnJXMnIgotbXNnc3RyICJ0cmFzaWd0IG1hbnVzOiDigJ0lc+KAnSIKK21zZ3N0ciAidHJhc2lndCBtYW51czogXCIlc1wiIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDc5IHNlcXVlbmNlci5jOjQwMDUKKyM6IHNlcXVlbmNlci5jOjI3MzYgc2VxdWVuY2VyLmM6NDQ2MwogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgogbXNnc3RyICJkZW4gYW5naXZuYSB1cHBzw6R0dG5pbmdlbiBpbmNoZWNrbmluZ2FyIMOkciB0b20iCiAKLSM6IHNlcXVlbmNlci5jOjI0ODcKLW1zZ2lkICJhIGNoZXJyeS1waWNrIG9yIHJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgotbXNnc3RyICJlbiBcImNoZXJyeS1waWNrXCIgZWxsZXIgXCJyZXZlcnRcIiBww6Vnw6VyIHJlZGFuIgorIzogc2VxdWVuY2VyLmM6Mjc1MgorbXNnaWQgInJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgorbXNnc3RyICJlbiBcInJldmVydFwiIHDDpWfDpXIgcmVkYW4iCiAKLSM6IHNlcXVlbmNlci5jOjI0ODgKLW1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgotbXNnc3RyICJ0ZXN0YSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiCisjOiBzZXF1ZW5jZXIuYzoyNzU0CisjLCBjLWZvcm1hdAorbXNnaWQgInRyeSBcImdpdCByZXZlcnQgKC0tY29udGludWUgfCAlcy0tYWJvcnQgfCAtLXF1aXQpXCIiCittc2dzdHIgInRlc3RhIFwiZ2l0IHJldmVydCAoLS1jb250aW51ZSB8ICVzLS1hYm9ydCB8IC0tcXVpdClcIiIKIAotIzogc2VxdWVuY2VyLmM6MjQ5MQorIzogc2VxdWVuY2VyLmM6Mjc1NworbXNnaWQgImNoZXJyeS1waWNrIGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCittc2dzdHIgImVuIFwiY2hlcnJ5LXBpY2tcIiBww6Vnw6VyIHJlZGFuIgorCisjOiBzZXF1ZW5jZXIuYzoyNzU5CisjLCBjLWZvcm1hdAorbXNnaWQgInRyeSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8ICVzLS1hYm9ydCB8IC0tcXVpdClcIiIKK21zZ3N0ciAidGVzdGEgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAlcy0tYWJvcnQgfCAtLXF1aXQpXCIiCisKKyM6IHNlcXVlbmNlci5jOjI3NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBzZXF1ZW5jZXIgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc2thcGEgXCJzZXF1ZW5jZXJcIi1rYXRhbG9nZW4gXCIlc1wiIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTA1CisjOiBzZXF1ZW5jZXIuYzoyNzg4CiBtc2dpZCAiY291bGQgbm90IGxvY2sgSEVBRCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6VzYSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTYwIHNlcXVlbmNlci5jOjM3NjEKKyM6IHNlcXVlbmNlci5jOjI4NDggc2VxdWVuY2VyLmM6NDIwOQogbXNnaWQgIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAiaW5nZW4gXCJjaGVycnktcGlja1wiIGVsbGVyIFwicmV2ZXJ0XCIgcMOlZ8OlciIKIAotIzogc2VxdWVuY2VyLmM6MjU2MgorIzogc2VxdWVuY2VyLmM6Mjg1MCBzZXF1ZW5jZXIuYzoyODYxCiBtc2dpZCAiY2Fubm90IHJlc29sdmUgSEVBRCIKIG1zZ3N0ciAia2FuIGludGUgYmVzdMOkbW1hIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjI1NjQgc2VxdWVuY2VyLmM6MjU5OQorIzogc2VxdWVuY2VyLmM6Mjg1MiBzZXF1ZW5jZXIuYzoyODk2CiBtc2dpZCAiY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iCiBtc2dzdHIgImthbiBpbnRlIGF2YnJ5dGEgZnLDpW4gZW4gZ3JlbiBzb20gw6RubnUgaW50ZSDDpHIgZsO2ZGQiCiAKLSM6IHNlcXVlbmNlci5jOjI1ODUgYnVpbHRpbi9ncmVwLmM6NzIxCisjOiBzZXF1ZW5jZXIuYzoyODgyIGJ1aWx0aW4vZ3JlcC5jOjczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgXCIlc1wiIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTg3CisjOiBzZXF1ZW5jZXIuYzoyODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyc6ICVzIgogbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBcIiVzXCI6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTg4CisjOiBzZXF1ZW5jZXIuYzoyODg1CiBtc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAib3bDpG50YXQgZmlsc2x1dCIKIAotIzogc2VxdWVuY2VyLmM6MjU5NAorIzogc2VxdWVuY2VyLmM6Mjg5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJzdG9yZWQgcHJlLWNoZXJyeS1waWNrIEhFQUQgZmlsZSAnJXMnIGlzIGNvcnJ1cHQiCiBtc2dzdHIgInNwYXJhZCBIRUFELWZpbCBmcsOlbiBmw7ZyZSBcImNoZXJyeS1waWNrXCIsIFwiJXNcIiwgw6RyIHRyYXNpZyIKIAotIzogc2VxdWVuY2VyLmM6MjYwNQorIzogc2VxdWVuY2VyLmM6MjkwMgogbXNnaWQgIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRC4gTm90IHJld2luZGluZywgY2hlY2sgeW91ciBIRUFEISIKIG1zZ3N0ciAiIgogIkR1IHZlcmthciBoYSBmbHl0dGF0IEhFQUQuXG4iCiAiU3BvbGFyIGludGUgdGlsbGJha2EsIGtvbnRyb2xsZXJhIEhFQUQhIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzA5IHNlcXVlbmNlci5jOjM2NzkKKyM6IHNlcXVlbmNlci5jOjI5NDMKK21zZ2lkICJubyByZXZlcnQgaW4gcHJvZ3Jlc3MiCittc2dzdHIgImluZ2VuIFwicmV2ZXJzXCIgcMOlZ8OlciIKKworIzogc2VxdWVuY2VyLmM6Mjk1MQorbXNnaWQgIm5vIGNoZXJyeS1waWNrIGluIHByb2dyZXNzIgorbXNnc3RyICJpbmdlbiBcImNoZXJyeS1waWNrXCIgcMOlZ8OlciIKKworIzogc2VxdWVuY2VyLmM6Mjk2MQorbXNnaWQgImZhaWxlZCB0byBza2lwIHRoZSBjb21taXQiCittc2dzdHIgImt1bmRlIGludGUgaG9wcGEgw7Z2ZXIgaW5jaGVja25pbmdlbiIKKworIzogc2VxdWVuY2VyLmM6Mjk2OAorbXNnaWQgInRoZXJlIGlzIG5vdGhpbmcgdG8gc2tpcCIKK21zZ3N0ciAiaW5nZW50aW5nIGF0dCBob3BwYSDDtnZlciIKKworIzogc2VxdWVuY2VyLmM6Mjk3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiaGF2ZSB5b3UgY29tbWl0dGVkIGFscmVhZHk/XG4iCisidHJ5IFwiZ2l0ICVzIC0tY29udGludWVcIiIKK21zZ3N0ciAiIgorImhhciBkdSByZWRhbiBjaGVja2F0IGluP1xuIgorInRlc3RhIFwiZ2l0ICVzIC0tY29udGludWVcIiIKKworIzogc2VxdWVuY2VyLmM6MzA5NSBzZXF1ZW5jZXIuYzo0MTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgdXBwZGF0ZXJhICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzQ3IHNlcXVlbmNlci5jOjM2NTkKKyM6IHNlcXVlbmNlci5jOjMxMzQgc2VxdWVuY2VyLmM6NDEwMQogbXNnaWQgImNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgImthbiBpbnRlIGzDpHNhIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjI3NjIKKyM6IHNlcXVlbmNlci5jOjMxNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSBrb3BpZXJhIGluIFwiJXNcIiB0aWxsIFwiJXNcIiIKIAotIzogc2VxdWVuY2VyLmM6Mjc3MAorIzogc2VxdWVuY2VyLmM6MzE1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGNhbiBhbWVuZCB0aGUgY29tbWl0IG5vdywgd2l0aFxuIgpAQCAtNTA4NiwyNyArNjgxMCwyMiBAQAogIlxuIgogIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IHNlcXVlbmNlci5jOjI3ODAKKyM6IHNlcXVlbmNlci5jOjMxNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICVzLi4uICUuKnMiCiBtc2dzdHIgIkt1bmRlIGludGUgdGlsbMOkbXBhICVzLi4uICUuKnMiCiAKLSM6IHNlcXVlbmNlci5jOjI3ODcKKyM6IHNlcXVlbmNlci5jOjMxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1lcmdlICUuKnMiCiBtc2dzdHIgIkt1bmRlIGludGUgc2zDpSBpaG9wICUuKnMiCiAKLSM6IHNlcXVlbmNlci5jOjI3OTggc2VxdWVuY2VyLmM6MjgwMiBidWlsdGluL2RpZmZ0b29sLmM6NjQwCisjOiBzZXF1ZW5jZXIuYzozMTkwIHNlcXVlbmNlci5jOjMxOTQgYnVpbHRpbi9kaWZmdG9vbC5jOjY0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgImt1bmRlIGludGUga29waWVyYSBpbiBcIiVzXCIgdGlsbCBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjI4MjQgc2VxdWVuY2VyLmM6MzI0MiBidWlsdGluL3JlYmFzZS5jOjU4MCBidWlsdGluL3JlYmFzZS5jOjEwMTkKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM3MiBidWlsdGluL3JlYmFzZS5jOjE0MjYKLW1zZ2lkICJjb3VsZCBub3QgcmVhZCBpbmRleCIKLW1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBpbmRleGV0IgotCi0jOiBzZXF1ZW5jZXIuYzoyODI5CisjOiBzZXF1ZW5jZXIuYzozMjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleGVjdXRpb24gZmFpbGVkOiAlc1xuIgpAQCAtNTEyMSwxMSArNjg0MCwxMSBAQAogIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAiXG4iCiAKLSM6IHNlcXVlbmNlci5jOjI4MzUKKyM6IHNlcXVlbmNlci5jOjMyMjcKIG1zZ2lkICJhbmQgbWFkZSBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZVxuIgogbXNnc3RyICJvY2ggZ2pvcmRlIMOkbmRyaW5nYXIgdGlsbCBpbmRleGV0IG9jaC9lbGxlciBhcmJldHNrYXRhbG9nZW5cbiIKIAotIzogc2VxdWVuY2VyLmM6Mjg0MQorIzogc2VxdWVuY2VyLmM6MzIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhlY3V0aW9uIHN1Y2NlZWRlZDogJXNcbiIKQEAgLTUxNDIsNzYgKzY4NjEsNzIgQEAKICJcdGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTAyCisjOiBzZXF1ZW5jZXIuYzozMjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImlsbGVnYWwgbGFiZWwgbmFtZTogJyUuKnMnIgogbXNnc3RyICJvZ2lsdGlndCBldGlrZXR0bmFtbjogXCIlLipzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjI5NTQKKyM6IHNlcXVlbmNlci5jOjMzNDgKIG1zZ2lkICJ3cml0aW5nIGZha2Ugcm9vdCBjb21taXQiCiBtc2dzdHIgInNrcml2ZXIgZmVqa2FkIHJvdGluY2hlY2tuaW5nIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTU5CisjOiBzZXF1ZW5jZXIuYzozMzUzCiBtc2dpZCAid3JpdGluZyBzcXVhc2gtb250byIKIG1zZ3N0ciAic2tyaXZlciBzcXVhc2gtb250byIKIAotIzogc2VxdWVuY2VyLmM6Mjk5NyBidWlsdGluL3JlYmFzZS5jOjU4NSBidWlsdGluL3JlYmFzZS5jOjU5MQorIzogc2VxdWVuY2VyLmM6MzM5MSBidWlsdGluL3JlYmFzZS5jOjg3NiBidWlsdGluL3JlYmFzZS5jOjg4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZmluZCB0cmVlIG9mICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIGhpdHRhIHRyw6RkZXQgZsO2ciAlcy4iCiAKLSM6IHNlcXVlbmNlci5jOjMwMTUgYnVpbHRpbi9yZWJhc2UuYzo2MDQKLW1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgaW5kZXgiCi1tc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIGluZGV4ZXQiCi0KLSM6IHNlcXVlbmNlci5jOjMwNDIKKyM6IHNlcXVlbmNlci5jOjM0MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlc29sdmUgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB1cHBsw7ZzYSBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjMwNjgKKyM6IHNlcXVlbmNlci5jOjM0NjcKIG1zZ2lkICJjYW5ub3QgbWVyZ2Ugd2l0aG91dCBhIGN1cnJlbnQgcmV2aXNpb24iCiBtc2dzdHIgImthbiBpbnRlIHNsw6UgaWhvcCB1dGFuIGVuIGFrdHVlbGwgaW5jaGVja25pbmciCiAKLSM6IHNlcXVlbmNlci5jOjMwOTAKKyM6IHNlcXVlbmNlci5jOjM0ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICclLipzJyIKIG1zZ3N0ciAia2FuIGludGUgdG9sa2EgXCIlLipzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjMwOTkKKyM6IHNlcXVlbmNlci5jOjM0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBtZXJnZTogJyUuKnMnIgogbXNnc3RyICJpbmdldCBhdHQgc2zDpSBzYW1tYW46IFwiJS4qc1wiIgogCi0jOiBzZXF1ZW5jZXIuYzozMTExCisjOiBzZXF1ZW5jZXIuYzozNTEwCiBtc2dpZCAib2N0b3B1cyBtZXJnZSBjYW5ub3QgYmUgZXhlY3V0ZWQgb24gdG9wIG9mIGEgW25ldyByb290XSIKIG1zZ3N0ciAiXCJvY3RvcHVzXCItc2FtbWFuc2xhZ25pbmcga2FuIGludGUga8O2cmFzIG92YW5ww6UgZW4gW255IHJvdF0iCiAKLSM6IHNlcXVlbmNlci5jOjMxMjYKKyM6IHNlcXVlbmNlci5jOjM1MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBjb21taXQgbWVzc2FnZSBvZiAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIGluY2hlY2tuaW5nc21lZGRlbGFuZGUgZsO2ciBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjMyNzQKKyM6IHNlcXVlbmNlci5jOjM2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGV2ZW4gYXR0ZW1wdCB0byBtZXJnZSAnJS4qcyciCiBtc2dzdHIgImt1bmRlIGludGUgZW5zIGbDtnJzw7ZrYSBzbMOlIGlob3AgXCIlLipzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjMyOTAKKyM6IHNlcXVlbmNlci5jOjM3MDQKIG1zZ2lkICJtZXJnZTogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICJzYW1tYW5zbGFnbmluZzogS3VuZGUgaW50ZSBza3JpdmEgbnkgaW5kZXhmaWwiCiAKLSM6IHNlcXVlbmNlci5jOjMzNTggYnVpbHRpbi9yZWJhc2UuYzoyNjgKKyM6IHNlcXVlbmNlci5jOjM3NzMgYnVpbHRpbi9yZWJhc2UuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guXG4iCiBtc2dzdHIgIlRpbGzDpG1wYWRlIGF1dG9zdGFzaC5cbiIKIAotIzogc2VxdWVuY2VyLmM6MzM3MAorIzogc2VxdWVuY2VyLmM6Mzc4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgJXMiCiBtc2dzdHIgImthbiBpbnRlIHNwYXJhICVzIgogCi0jOiBzZXF1ZW5jZXIuYzozMzczIGJ1aWx0aW4vcmViYXNlLmM6Mjg0CisjOiBzZXF1ZW5jZXIuYzozNzg4IGJ1aWx0aW4vcmViYXNlLmM6NzQ5IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuXG4iCkBAIC01MjIyLDMxICs2OTM3LDMxIEBACiAiRGluYSDDpG5kcmluZ2FyIMOkciBzw6RrcmEgaSBzdGFzaGVuLlxuIgogIkR1IGthbiBuw6RyIHNvbSBoZWxzdCBhbnbDpG5kYSBcImdpdCBzdGFzaCBwb3BcIiBlbGxlciBcImdpdCBzdGFzaCBkcm9wXCIuXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM0MjcKKyM6IHNlcXVlbmNlci5jOjM4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNoZWNrb3V0ICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIGNoZWNrYSB1dCAlcyIKIAotIzogc2VxdWVuY2VyLmM6MzQ0MQorIzogc2VxdWVuY2VyLmM6Mzg2MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgdmFsaWQgT0lEIgogbXNnc3RyICIlczogaW50ZSBldHQgZ2lsdGlndCBPSUQiCiAKLSM6IHNlcXVlbmNlci5jOjM0NDYgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjcyNAorIzogc2VxdWVuY2VyLmM6Mzg2OCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Nzc5CiBtc2dpZCAiY291bGQgbm90IGRldGFjaCBIRUFEIgogbXNnc3RyICJrdW5kZSBpbnRlIGtvcHBsYSBmcsOlbiBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzozNDYxCisjOiBzZXF1ZW5jZXIuYzozODgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQgYXQgSEVBRFxuIgogbXNnc3RyICJTdG9wcGFkZSBww6UgSEVBRFxuIgogCi0jOiBzZXF1ZW5jZXIuYzozNDYzCisjOiBzZXF1ZW5jZXIuYzozODg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQgYXQgJXNcbiIKIG1zZ3N0ciAiU3RvcHBhZGUgcMOlICVzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM0NzEKKyM6IHNlcXVlbmNlci5jOjM4OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBleGVjdXRlIHRoZSB0b2RvIGNvbW1hbmRcbiIKQEAgLTUyNjcsNDggKzY5ODIsNDggQEAKICIgICAgZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1xuIgogIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIAotIzogc2VxdWVuY2VyLmM6MzU0MworIzogc2VxdWVuY2VyLmM6Mzk3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkIGF0ICVzLi4uICAlLipzXG4iCiBtc2dzdHIgIlN0b3BwYWRlIHDDpSAlcy4uLiAlLipzXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM2MjIKKyM6IHNlcXVlbmNlci5jOjQwNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBjb21tYW5kICVkIgogbXNnc3RyICJva8OkbnQga29tbWFuZG8gJWQiCiAKLSM6IHNlcXVlbmNlci5jOjM2NjcKKyM6IHNlcXVlbmNlci5jOjQxMDkKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBvcmlnLWhlYWQiCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2Egb3JpZy1oZWFkIgogCi0jOiBzZXF1ZW5jZXIuYzozNjcyIHNlcXVlbmNlci5jOjQ3NDEKKyM6IHNlcXVlbmNlci5jOjQxMTQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnb250byciCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgXCJvbnRvXCIiCiAKLSM6IHNlcXVlbmNlci5jOjM2ODYKKyM6IHNlcXVlbmNlci5jOjQxMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVwZGF0ZSBIRUFEIHRvICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHVwcGRhdGVyYSBIRUFEIHRpbGwgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjM3NzIKKyM6IHNlcXVlbmNlci5jOjQyMjEKIG1zZ2lkICJjYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAia2FuIGludGUgb21iYXNlcmE6IER1IGhhciBva8O2YWRlIMOkbmRyaW5nYXIuIgogCi0jOiBzZXF1ZW5jZXIuYzozNzgxCisjOiBzZXF1ZW5jZXIuYzo0MjMwCiBtc2dpZCAiY2Fubm90IGFtZW5kIG5vbi1leGlzdGluZyBjb21taXQiCiBtc2dzdHIgImthbiBpbnRlIGzDpGdnYSB0aWxsIGluY2hlY2tuaW5nIHNvbSBpbnRlIGZpbm5zIgogCi0jOiBzZXF1ZW5jZXIuYzozNzgzCisjOiBzZXF1ZW5jZXIuYzo0MjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgZmlsZTogJyVzJyIKIG1zZ3N0ciAib2dpbHRpZyBmaWw6IFwiJXNcIiIKIAotIzogc2VxdWVuY2VyLmM6Mzc4NQorIzogc2VxdWVuY2VyLmM6NDIzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbnRlbnRzOiAnJXMnIgogbXNnc3RyICJvZ2lsdGlndCBpbm5laMOlbGw6IFwiJXNcIiIKIAotIzogc2VxdWVuY2VyLmM6Mzc4OAorIzogc2VxdWVuY2VyLmM6NDIzNwogbXNnaWQgIiIKICJcbiIKICJZb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiBQbGVhc2UsIGNvbW1pdCB0aGVtXG4iCkBAIC01MzE2LDg2ICs3MDMxLDQ0IEBACiBtc2dzdHIgIiIKICJcbiIKICJEdSBoYXIgw6RuZHJpbmdhciBpIGFyYmV0c2thdGFsb2dlbiBzb20gaW50ZSBjaGVja2F0cyBpbi4gQ2hlY2thIGluIGRlbVxuIgotImbDtnJzdCBvY2gga8O2ciBzZWRhbiBcImdpdCByZWJhc2UgLS1jb250aW51dGVcIiBpZ2VuLiIKKyJmw7Zyc3Qgb2NoIGvDtnIgc2VkYW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBpZ2VuLiIKIAotIzogc2VxdWVuY2VyLmM6MzgyNCBzZXF1ZW5jZXIuYzozODYyCisjOiBzZXF1ZW5jZXIuYzo0MjczIHNlcXVlbmNlci5jOjQzMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGZpbGU6ICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIGZpbDogXCIlc1wiIgogCi0jOiBzZXF1ZW5jZXIuYzozODc3CisjOiBzZXF1ZW5jZXIuYzo0MzI3CiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSBDSEVSUllfUElDS19IRUFEIgogbXNnc3RyICJrdW5kZSBpbnRlIHRhIGJvcnQgQ0hFUlJZX1BJQ0tfSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6Mzg4NAorIzogc2VxdWVuY2VyLmM6NDMzNAogbXNnaWQgImNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJrdW5kZSBpbnRlIGNoZWNrYSBpbiBrw7ZhZGUgw6RuZHJpbmdhci4iCiAKLSM6IHNlcXVlbmNlci5jOjM5ODIKKyM6IHNlcXVlbmNlci5jOjQ0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbid0IGNoZXJyeS1waWNrIGEgJXMiCi1tc2dzdHIgIiVzOiBrYW4gaW50ZSBnw7ZyYSBcImNoZXJyeS1waWNrXCIgcMOlIHR5cGVuIOKAnSVz4oCdIgorbXNnc3RyICIlczoga2FuIGludGUgZ8O2cmEgXCJjaGVycnktcGlja1wiIHDDpSB0eXBlbiBcIiVzXCIiCiAKLSM6IHNlcXVlbmNlci5jOjM5ODYKKyM6IHNlcXVlbmNlci5jOjQ0NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCByZXZpc2lvbiIKIG1zZ3N0ciAiJXM6IGZlbGFrdGlnIHJldmlzaW9uIgogCi0jOiBzZXF1ZW5jZXIuYzo0MDIxCisjOiBzZXF1ZW5jZXIuYzo0NDc5CiBtc2dpZCAiY2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgogbXNnc3RyICJrYW4gaW50ZSDDpW5ncmEgc29tIGbDtnJzdGEgaW5jaGVja25pbmciCiAKLSM6IHNlcXVlbmNlci5jOjQ0NjYKKyM6IHNlcXVlbmNlci5jOjQ5NTIKIG1zZ2lkICJtYWtlX3NjcmlwdDogdW5oYW5kbGVkIG9wdGlvbnMiCiBtc2dzdHIgIm1ha2Vfc2NyaXB0OiBmbGFnZ29yIHNvbSBpbnRlIHN0w7ZkcyIKIAotIzogc2VxdWVuY2VyLmM6NDQ2OQorIzogc2VxdWVuY2VyLmM6NDk1NQogbXNnaWQgIm1ha2Vfc2NyaXB0OiBlcnJvciBwcmVwYXJpbmcgcmV2aXNpb25zIgogbXNnc3RyICJtYWtlX3NjcmlwdDogZmVsIG7DpHIgcmV2aXNpb25lciBza3VsbGUgZsO2cmJlcmVkYXMiCiAKLSM6IHNlcXVlbmNlci5jOjQ1MDkgc2VxdWVuY2VyLmM6NDU2NSBzZXF1ZW5jZXIuYzo0ODQwCi0jLCBjLWZvcm1hdAotbXNnaWQgInVudXNhYmxlIHRvZG8gbGlzdDogJyVzJyIKLW1zZ3N0ciAib2FudsOkbmRiYXIgdG9kby1saXN0YTogJXMiCi0KLSM6IHNlcXVlbmNlci5jOjQ2MjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotInVucmVjb2duaXplZCBzZXR0aW5nICVzIGZvciBvcHRpb24gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suIElnbm9yaW5nLiIKLW1zZ3N0ciAiIgotIm9rw6RuZCBpbnN0w6RsbG5pbmcgJXMgZsO2ciBmbGFnZ2FuIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiBJZ25vcmVyYXIuIgotCi0jOiBzZXF1ZW5jZXIuYzo0NjkwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS5cbiIKLSJEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKTpcbiIKLW1zZ3N0ciAiIgotIlZhcm5pbmc6IHZpc3NhIGluY2hlY2tuaW5nYXIga2FuIGF2IG1pc3N0YWcgaGEgdGFwcGF0cy5cbiIKLSJUYXBwYWRlIGluY2hlY2tuaW5nYXIgKG55YXN0ZSBmw7Zyc3QpOlxuIgotCi0jOiBzZXF1ZW5jZXIuYzo0Njk3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJUbyBhdm9pZCB0aGlzIG1lc3NhZ2UsIHVzZSBcImRyb3BcIiB0byBleHBsaWNpdGx5IHJlbW92ZSBhIGNvbW1pdC5cbiIKLSJcbiIKLSJVc2UgJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHRvIGNoYW5nZSB0aGUgbGV2ZWwgb2YgIgotIndhcm5pbmdzLlxuIgotIlRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci5cbiIKLSJcbiIKLW1zZ3N0ciAiIgotIkbDtnIgYXR0IHVuZHZpa2EgZGV0IGjDpHIgbWVkZGVsYW5kZXQga2FuIGR1IGFudsOkbmRhIFwiZHJvcFwiIGbDtnIgYXR0ICIKLSJleHBsaWNpdFxuIgotImthc3RhIGVuIGluY2hlY2tuaW5nLlxuIgotIlxuIgotIkFudsOkbmQgXCJnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrXCIgZsO2ciBhdHQgw6RuZHJhICIKLSJ2YXJuaW5nc25pdsOlbi5cbiIKLSJNw7ZqbGlnYSBiZXR0ZW5kZW4gw6RyOiBcImlnbm9yZVwiIChpZ25vcmVyYSksIFwid2FyblwiICh2YXJuYSksIFwiZXJyb3IiCi0iXCIgKGZlbCkuXG4iCi0iXG4iCi0KLSM6IHNlcXVlbmNlci5jOjQ3MTAKLSMsIGMtZm9ybWF0CisjOiBzZXF1ZW5jZXIuYzo1MTEzCiBtc2dpZCAiIgogIllvdSBjYW4gZml4IHRoaXMgd2l0aCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tIgogImNvbnRpbnVlJy5cbiIKQEAgLTU0MDUsNDAgKzcwNzgsMjQgQEAKICJjb250aW51ZVwiLlxuIgogIkF2YnJ5dCBvbWJhc2VyaW5nZW4gbWVkIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIuXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQ4NDggc2VxdWVuY2VyLmM6NDg4NgorIzogc2VxdWVuY2VyLmM6NTIyNiBzZXF1ZW5jZXIuYzo1MjQzCiBtc2dpZCAibm90aGluZyB0byBkbyIKIG1zZ3N0ciAiaW5nZXQgYXR0IGfDtnJhIgogCi0jOiBzZXF1ZW5jZXIuYzo0ODUyCi0jLCBjLWZvcm1hdAotbXNnaWQgIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kKSIKLW1zZ2lkX3BsdXJhbCAiUmViYXNlICVzIG9udG8gJXMgKCVkIGNvbW1hbmRzKSIKLW1zZ3N0clswXSAiT21iYXNlcmEgJXMgcMOlICVzICglZCBrb21tYW5kbykiCi1tc2dzdHJbMV0gIk9tYmFzZXJhICVzIHDDpSAlcyAoJWQga29tbWFuZG9uKSIKLQotIzogc2VxdWVuY2VyLmM6NDg2NAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgY29weSAnJXMnIHRvICclcycuIgotbXNnc3RyICJrdW5kZSBpbnRlIGtvcGllcmEgXCIlc1wiIHRpbGwgXCIlc1wiLiIKLQotIzogc2VxdWVuY2VyLmM6NDg2OCBzZXF1ZW5jZXIuYzo0ODk3Ci1tc2dpZCAiY291bGQgbm90IHRyYW5zZm9ybSB0aGUgdG9kbyBsaXN0IgotbXNnc3RyICJrdW5kZSBpbnRlIHRyYW5zZm9ybWVyYSBhdHQgZ8O2cmEtbGlzdGFuIgotCi0jOiBzZXF1ZW5jZXIuYzo0OTAwCisjOiBzZXF1ZW5jZXIuYzo1MjU3CiBtc2dpZCAiY291bGQgbm90IHNraXAgdW5uZWNlc3NhcnkgcGljayBjb21tYW5kcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBob3BwYSDDtnZlciBvbsO2ZGlnYSBcInBpY2tcIi1rb21tYW5kb24iCiAKLSM6IHNlcXVlbmNlci5jOjQ5ODMKKyM6IHNlcXVlbmNlci5jOjUzNTEKIG1zZ2lkICJ0aGUgc2NyaXB0IHdhcyBhbHJlYWR5IHJlYXJyYW5nZWQuIgogbXNnc3RyICJza3JpcHRldCBoYXIgcmVkYW4gb21vcmRuYXRzLiIKIAotIzogc2V0dXAuYzoxMjMKKyM6IHNldHVwLmM6MTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IgogbXNnc3RyICJcIiVzXCIgw6RyIHV0YW5mw7ZyIGFya2l2ZXQiCiAKLSM6IHNldHVwLmM6MTcyCisjOiBzZXR1cC5jOjE3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXM6IG5vIHN1Y2ggcGF0aCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgpAQCAtNTQ0OCw3ICs3MTA1LDcgQEAKICJBbnbDpG5kIFwiZ2l0IDxrb21tYW5kbz4gLS0gPHPDtmt2w6RnPi4uXCIgZsO2ciBhdHQgYW5nZSBzw7ZrdsOkZ2FyIHNvbSBpbnRlIGZpbm5zICIKICJsb2thbHQuIgogCi0jOiBzZXR1cC5jOjE4NQorIzogc2V0dXAuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiB1bmtub3duIHJldmlzaW9uIG9yIHBhdGggbm90IGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCkBAIC01NDYwLDEyICs3MTE3LDEyIEBACiAiQW52w6RuZCBcIi0tXCIgZsO2ciBhdHQgc2tpbGphIHPDtmt2w6RnYXIgZnLDpW4gcmV2aXNpb25lciwgc8OlIGjDpHI6XG4iCiAiXCJnaXQgPGtvbW1hbmRvPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWw+Li4uXVwiIgogCi0jOiBzZXR1cC5jOjIzNAorIzogc2V0dXAuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAib3B0aW9uICclcycgbXVzdCBjb21lIGJlZm9yZSBub24tb3B0aW9uIGFyZ3VtZW50cyIKIG1zZ3N0ciAiZmxhZ2dhbiBcIiVzXCIgbcOlc3RlIGFuZ2VzIGbDtnJlIGFyZ3VtZW50IHNvbSBpbnRlIMOkciBmbGFnZ29yIgogCi0jOiBzZXR1cC5jOjI1MworIzogc2V0dXAuYzoyNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiBib3RoIHJldmlzaW9uIGFuZCBmaWxlbmFtZVxuIgpAQCAtNTQ3Niw5MiArNzEzMyw5MiBAQAogIkFudsOkbmQgXCItLVwiIGbDtnIgYXR0IHNraWxqYSBzw7ZrdsOkZ2FyIGZyw6VuIHJldmlzaW9uZXIsIHPDpSBow6RyOlxuIgogIlwiZ2l0IDxrb21tYW5kbz4gWzxyZXZpc2lvbj4uLi5dIC0tIFs8ZmlsPi4uLl1cIiIKIAotIzogc2V0dXAuYzozODkKKyM6IHNldHVwLmM6MzkxCiBtc2dpZCAidW5hYmxlIHRvIHNldCB1cCB3b3JrIHRyZWUgdXNpbmcgaW52YWxpZCBjb25maWciCiBtc2dzdHIgImthbiBpbnRlIHNrYXBhIGFyYmV0c2thdGFsb2cgbWVkIGZlbGFrdGlnIGtvbmZpZ3VyYXRpb24iCiAKLSM6IHNldHVwLmM6MzkzCisjOiBzZXR1cC5jOjM5NQogbXNnaWQgInRoaXMgb3BlcmF0aW9uIG11c3QgYmUgcnVuIGluIGEgd29yayB0cmVlIgogbXNnc3RyICJmdW5rdGlvbmVuIG3DpXN0ZSBrw7ZyYXMgaSBlbiBhcmJldHNrYXRhbG9nIgogCi0jOiBzZXR1cC5jOjUyNworIzogc2V0dXAuYzo1NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhwZWN0ZWQgZ2l0IHJlcG8gdmVyc2lvbiA8PSAlZCwgZm91bmQgJWQiCiBtc2dzdHIgIkbDtnJ2w6RudGFkZSBnaXQtYXJraXZ2ZXJzaW9uIDw9ICVkLCBoaXR0YWRlICVkIgogCi0jOiBzZXR1cC5jOjUzNQorIzogc2V0dXAuYzo1NDkKIG1zZ2lkICJ1bmtub3duIHJlcG9zaXRvcnkgZXh0ZW5zaW9ucyBmb3VuZDoiCiBtc2dzdHIgIm9rw6RuZGEgYXJraXZ1dMO2a25pbmdhciBoaXR0YWRlczoiCiAKLSM6IHNldHVwLmM6NTU0CisjOiBzZXR1cC5jOjU2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBvcGVuaW5nICclcyciCiBtc2dzdHIgImZlbCB2aWQgw7ZwcG5pbmcgYXYgXCIlc1wiIgogCi0jOiBzZXR1cC5jOjU1NgorIzogc2V0dXAuYzo1NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidG9vIGxhcmdlIHRvIGJlIGEgLmdpdCBmaWxlOiAnJXMnIgogbXNnc3RyICJmw7ZyIHN0b3IgZsO2ciBhdHQgdmFyYSBlbiAuZ2l0LWZpbDogXCIlc1wiIgogCi0jOiBzZXR1cC5jOjU1OAorIzogc2V0dXAuYzo1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcmVhZGluZyAlcyIKIG1zZ3N0ciAiZmVsIHZpZCBsw6RzbmluZyBhdiAlcyIKIAotIzogc2V0dXAuYzo1NjAKKyM6IHNldHVwLmM6NTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgZ2l0ZmlsZSBmb3JtYXQ6ICVzIgogbXNnc3RyICJvZ2lsdGlndCBnaXRmaWxmb3JtYXQ6ICVzIgogCi0jOiBzZXR1cC5jOjU2MgorIzogc2V0dXAuYzo1NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gcGF0aCBpbiBnaXRmaWxlOiAlcyIKIG1zZ3N0ciAiaW5nZW4gc8O2a3bDpGcgaSBnaXRmaWw6ICVzIgogCi0jOiBzZXR1cC5jOjU2NAorIzogc2V0dXAuYzo1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgZ2l0IHJlcG9zaXRvcnk6ICVzIgogbXNnc3RyICJpbnRlIGV0dCBnaXQtYXJraXY6ICVzIgogCi0jOiBzZXR1cC5jOjY2MworIzogc2V0dXAuYzo2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyQlcycgdG9vIGJpZyIKIG1zZ3N0ciAiXCIkJXNcIiBmw7ZyIHN0b3IiCiAKLSM6IHNldHVwLmM6Njc3CisjOiBzZXR1cC5jOjY5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeTogJyVzJyIKIG1zZ3N0ciAiaW50ZSBldHQgZ2l0LWFya2l2OiBcIiVzXCIiCiAKLSM6IHNldHVwLmM6NzA2IHNldHVwLmM6NzA4IHNldHVwLmM6NzM5CisjOiBzZXR1cC5jOjcyMCBzZXR1cC5jOjcyMiBzZXR1cC5jOjc1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJyVzJyIKIG1zZ3N0ciAia2FuIGludGUgYnl0YSBrYXRhbG9nIChjaGRpcikgdGlsbCBcIiVzXCIiCiAKLSM6IHNldHVwLmM6NzExIHNldHVwLmM6NzY3IHNldHVwLmM6Nzc3IHNldHVwLmM6ODE2IHNldHVwLmM6ODI0IHNldHVwLmM6ODM5CisjOiBzZXR1cC5jOjcyNSBzZXR1cC5jOjc4MSBzZXR1cC5jOjc5MSBzZXR1cC5jOjgzMCBzZXR1cC5jOjgzOAogbXNnaWQgImNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgogbXNnc3RyICJrYW4gaW50ZSBnw6UgdGlsbGJha2EgdGlsbCBhcmJldHNrYXRhbG9nZW4gKGN3ZCkiCiAKLSM6IHNldHVwLmM6ODM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIm5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgb2YgdGhlIHBhcmVudCBkaXJlY3Rvcmllcyk6ICVzIgotbXNnc3RyICJpbnRlIGV0dCBnaXQtYXJraXYgKGVsbGVyIG7DpWdvbiBhdiBmw7Zyw6RsZHJha2F0YWxvZ2VybmEpOiAlcyIKLQotIzogc2V0dXAuYzo4NDgKKyM6IHNldHVwLmM6ODUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclKnMlcyVzJyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHRhIHN0YXR1cyBww6UgXCIlKnNzJXMlc1wiIgogCi0jOiBzZXR1cC5jOjEwNzgKKyM6IHNldHVwLmM6MTA5MAogbXNnaWQgIlVuYWJsZSB0byByZWFkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIkthbiBpbnRlIGzDpHNhIGFrdHVlbGwgYXJiZXRza2F0YWxvZyIKIAotIzogc2V0dXAuYzoxMDkwIHNldHVwLmM6MTA5NgorIzogc2V0dXAuYzoxMDk5IHNldHVwLmM6MTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hhbmdlIHRvICclcyciCiBtc2dzdHIgImthbiBpbnRlIGJ5dGEgdGlsbCBcIiVzXCIiCiAKLSM6IHNldHVwLmM6MTEwOQorIzogc2V0dXAuYzoxMTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgb2YgdGhlIHBhcmVudCBkaXJlY3Rvcmllcyk6ICVzIgorbXNnc3RyICJpbnRlIGV0dCBnaXQtYXJraXYgKGVsbGVyIG7DpWdvbiBhdiBmw7Zyw6RsZHJha2F0YWxvZ2VybmEpOiAlcyIKKworIzogc2V0dXAuYzoxMTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IHBhcmVudCB1cCB0byBtb3VudCBwb2ludCAlcylcbiIKQEAgLTU1NzEsNyArNzIyOCw3IEBACiAibW9udGVyaW5nc3B1bmt0ZW4gJXMpXG4iCiAiU3RvcHBhciB2aWQgZmlsc3lzdGVtc2dyw6RucyAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSDDpHIgaW50ZSBzYXR0KS4iCiAKLSM6IHNldHVwLmM6MTE5MgorIzogc2V0dXAuYzoxMjI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJwcm9ibGVtIHdpdGggY29yZS5zaGFyZWRSZXBvc2l0b3J5IGZpbGVtb2RlIHZhbHVlICgwJS4zbykuXG4iCkBAIC01NTgwLDI4NCArNzIzNywyODkgQEAKICJwcm9ibGVtIG1lZCBmaWxsw6RnZXMtdsOkcmRldCBpIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSAoMCUuM28pLlxuIgogIsOEZ2FyZW4gYXYgZmlsZXJuYSBtw6VzdGUgYWxsdGlkIGhhIGzDpHMtIG9jaCBza3JpdmJlaMO2cmlnaGV0LiIKIAotIzogc2V0dXAuYzoxMjM1CisjOiBzZXR1cC5jOjEyNzEKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBvciBkdXAgZmFpbGVkIgogbXNnc3RyICJtaXNzbHlja2FkZXMgw7ZwcG5hIC9kZXYvbnVsbCBlbGxlciBcImR1cFwiIgogCi0jOiBzZXR1cC5jOjEyNTAKKyM6IHNldHVwLmM6MTI4NgogbXNnaWQgImZvcmsgZmFpbGVkIgogbXNnc3RyICJcImZvcmtcIiBtaXNzbHlja2FkZXMiCiAKLSM6IHNldHVwLmM6MTI1NQorIzogc2V0dXAuYzoxMjkxCiBtc2dpZCAic2V0c2lkIGZhaWxlZCIKIG1zZ3N0ciAiXCJzZXRzaWRcIiBtaXNzbHlja2FkZXMiCiAKLSM6IHNoYTEtZmlsZS5jOjM4MQorIzogc2hhMS1maWxlLmM6NDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBkaXJlY3RvcnkgJXMgZG9lcyBub3QgZXhpc3Q7IGNoZWNrIC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMiCiBtc2dzdHIgIm9iamVrdGthdGFsb2dlbiAlcyBmaW5ucyBpbnRlOyBzZSAuZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzIgogCi0jOiBzaGExLWZpbGUuYzo0MzIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIG5vcm1hbGl6ZSBhbHRlcm5hdGUgb2JqZWN0IHBhdGg6ICVzIgotbXNnc3RyICJrdW5kZSBpbnRlIG5vcm1hbGlzZXJhIGFsdGVybmF0aXYgb2JqZWt0c8O2a3bDpGc6ICVzIgotCiAjOiBzaGExLWZpbGUuYzo1MDMKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6IGlnbm9yaW5nIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmVzLCBuZXN0aW5nIHRvbyBkZWVwIgotbXNnc3RyICIlczogaWdub3JlcmFyIGFsdGVybmF0aXZhIG9iamVrdGxhZ3JpbmdhciwgZsO2ciBkanVwIG7DpHN0bGluZyIKK21zZ2lkICJ1bmFibGUgdG8gbm9ybWFsaXplIGFsdGVybmF0ZSBvYmplY3QgcGF0aDogJXMiCittc2dzdHIgImt1bmRlIGludGUgbm9ybWFsaXNlcmEgc3VwcGxlcmFuZGUgb2JqZWt0c8O2a3bDpGc6ICVzIgogCi0jOiBzaGExLWZpbGUuYzo1MTAKKyM6IHNoYTEtZmlsZS5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgYWx0ZXJuYXRlIG9iamVjdCBzdG9yZXMsIG5lc3RpbmcgdG9vIGRlZXAiCittc2dzdHIgIiVzOiBpZ25vcmVyYXIgc3VwcGxlcmFuZGUgb2JqZWt0bGFnZXIsIGbDtnIgZGp1cCBuw6RzdGxpbmciCisKKyM6IHNoYTEtZmlsZS5jOjU4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbm9ybWFsaXplIG9iamVjdCBkaXJlY3Rvcnk6ICVzIgogbXNnc3RyICJrYW4gaW50ZSBub3JtYWxpc2VyYSBvYmpla3RrYXRhbG9nZW46ICVzIgogCi0jOiBzaGExLWZpbGUuYzo1NjUKKyM6IHNoYTEtZmlsZS5jOjYyNQogbXNnaWQgInVuYWJsZSB0byBmZG9wZW4gYWx0ZXJuYXRlcyBsb2NrZmlsZSIKLW1zZ3N0ciAia2FuIGludGUgdXRmw7ZyYSBcImZkb3BlblwiIHDDpSBsw6VzZmlsIGbDtnIgXCJhbHRlcm5hdGVzXCIiCittc2dzdHIgImthbiBpbnRlIHV0ZsO2cmEgXCJmZG9wZW5cIiBww6Ugc3VwcGxlYW50bMOlc2ZpbCIKIAotIzogc2hhMS1maWxlLmM6NTgzCisjOiBzaGExLWZpbGUuYzo2NDMKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBhbHRlcm5hdGVzIGZpbGUiCiBtc2dzdHIgImthbiBpbnRlIGzDpHNhIFwiYWx0ZXJuYXRlc1wiLWZpbGVuIgogCi0jOiBzaGExLWZpbGUuYzo1OTAKKyM6IHNoYTEtZmlsZS5jOjY1MAogbXNnaWQgInVuYWJsZSB0byBtb3ZlIG5ldyBhbHRlcm5hdGVzIGZpbGUgaW50byBwbGFjZSIKIG1zZ3N0ciAia2FuIGludGUgZmx5dHRhIG55IFwiYWx0ZXJuYXRlc1wiLWZpbCBww6UgcGxhdHMiCiAKLSM6IHNoYTEtZmlsZS5jOjYyNQorIzogc2hhMS1maWxlLmM6Njg1CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAic8O2a3bDpGdlbiBcIiVzXCIgZmlubnMgaW50ZSIKIAotIzogc2hhMS1maWxlLmM6NjUxCisjOiBzaGExLWZpbGUuYzo3MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBhcyBhIGxpbmtlZCBjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iCiBtc2dzdHIgInJlZmVyZW5zYXJraXZldCBcIiVzXCIgc29tIGVuIGzDpG5rYWQgdXRjaGVja25pbmcgc3TDtmRzIGludGUgw6RubnUuIgogCi0jOiBzaGExLWZpbGUuYzo2NTcKKyM6IHNoYTEtZmlsZS5jOjcxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgogbXNnc3RyICJyZWZlcmVuc2Fya2l2ZXQgXCIlc1wiIMOkciBpbnRlIGV0dCBsb2thbHQgYXJraXYuIgogCi0jOiBzaGExLWZpbGUuYzo2NjMKKyM6IHNoYTEtZmlsZS5jOjcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIHNoYWxsb3ciCiBtc2dzdHIgInJlZmVyZW5zYXJraXZldCBcIiVzXCIgw6RyIGdydW50IgogCi0jOiBzaGExLWZpbGUuYzo2NzEKKyM6IHNoYTEtZmlsZS5jOjczMQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIGdyYWZ0ZWQiCiBtc2dzdHIgInJlZmVyZW5zYXJraXZldCBcIiVzXCIgw6RyIHltcGF0IgogCi0jOiBzaGExLWZpbGUuYzo3ODEKKyM6IHNoYTEtZmlsZS5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGxpbmUgd2hpbGUgcGFyc2luZyBhbHRlcm5hdGUgcmVmczogJXMiCittc2dzdHIgImZlbGFrdGlnIHJhZCB2aWQgdG9sa25pbmcgYXYgc3VwcGxlcmFuZGUgcmVmZXJlbnNlcjogJXMiCisKKyM6IHNoYTEtZmlsZS5jOjk0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhdHRlbXB0aW5nIHRvIG1tYXAgJTxQUkl1TUFYPiBvdmVyIGxpbWl0ICU8UFJJdU1BWD4iCiBtc2dzdHIgImbDtnJzw7ZrIGF0dCB1dGbDtnJhIFwibW1hcFwiIHDDpSAlPFBSSXVNQVg+IMO2dmVyIGdyw6Ruc2VuICU8UFJJdU1BWD4iCiAKLSM6IHNoYTEtZmlsZS5jOjgwNgorIzogc2hhMS1maWxlLmM6OTY0CiBtc2dpZCAibW1hcCBmYWlsZWQiCiBtc2dzdHIgIm1tYXAgbWlzc2x5Y2thZGVzIgogCi0jOiBzaGExLWZpbGUuYzo5NzMKKyM6IHNoYTEtZmlsZS5jOjExMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IGZpbGUgJXMgaXMgZW1wdHkiCiBtc2dzdHIgIm9iamVrdGZpbGVuICVzIMOkciB0b20iCiAKLSM6IHNoYTEtZmlsZS5jOjEwOTMgc2hhMS1maWxlLmM6MjIxNQorIzogc2hhMS1maWxlLmM6MTI1MiBzaGExLWZpbGUuYzoyMzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgbG9vc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgInRyYXNpZ3QgbMO2c3Qgb2JqZWt0IFwiJXNcIiIKIAotIzogc2hhMS1maWxlLmM6MTA5NSBzaGExLWZpbGUuYzoyMjE5CisjOiBzaGExLWZpbGUuYzoxMjU0IHNoYTEtZmlsZS5jOjIzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2FyYmFnZSBhdCBlbmQgb2YgbG9vc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgInNrcsOkcCBpIHNsdXRldCBhdiBsw7ZzdCBvYmpla3QgXCIlc1wiIgogCi0jOiBzaGExLWZpbGUuYzoxMTM3CisjOiBzaGExLWZpbGUuYzoxMjk2CiBtc2dpZCAiaW52YWxpZCBvYmplY3QgdHlwZSIKIG1zZ3N0ciAiZmVsYWt0aWcgb2JqZWt0dHlwIgogCi0jOiBzaGExLWZpbGUuYzoxMjE5CisjOiBzaGExLWZpbGUuYzoxMzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1bnBhY2sgJXMgaGVhZGVyIHdpdGggLS1hbGxvdy11bmtub3duLXR5cGUiCiBtc2dzdHIgImthbiBpbnRlIHBhY2thIHVwcCAlcy1odXZ1ZCBtZWQgLS1hbGxvdy11bmtub3duLXR5cGUiCiAKLSM6IHNoYTEtZmlsZS5jOjEyMjIKKyM6IHNoYTEtZmlsZS5jOjEzODMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayAlcyBoZWFkZXIiCiBtc2dzdHIgImthbiBpbnRlIHBhY2thIHVwcCAlcy1odXZ1ZGV0IgogCi0jOiBzaGExLWZpbGUuYzoxMjI4CisjOiBzaGExLWZpbGUuYzoxMzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAlcyBoZWFkZXIgd2l0aCAtLWFsbG93LXVua25vd24tdHlwZSIKIG1zZ3N0ciAia2FuIGludGUgdG9sa2EgJXMtaHV2dWQgbWVkIC0tYWxsb3ctdW5rbm93bi10eXBlIgogCi0jOiBzaGExLWZpbGUuYzoxMjMxCisjOiBzaGExLWZpbGUuYzoxMzkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAlcyBoZWFkZXIiCiBtc2dzdHIgImthbiBpbnRlIHRvbGthICVzLWh1dnVkIgogCi0jOiBzaGExLWZpbGUuYzoxNDIyCisjOiBzaGExLWZpbGUuYzoxNTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGzDpHNhIG9iamVrdGV0ICVzIgogCi0jOiBzaGExLWZpbGUuYzoxNDI2CisjOiBzaGExLWZpbGUuYzoxNTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcGxhY2VtZW50ICVzIG5vdCBmb3VuZCBmb3IgJXMiCiBtc2dzdHIgImVyc8OkdHRuaW5nZW4gJXMgaGl0dGFkZXMgaW50ZSBmw7ZyICVzIgogCi0jOiBzaGExLWZpbGUuYzoxNDMwCisjOiBzaGExLWZpbGUuYzoxNTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImxvb3NlIG9iamVjdCAlcyAoc3RvcmVkIGluICVzKSBpcyBjb3JydXB0IgogbXNnc3RyICJsw7ZzdCBvYmpla3QgJXMgKGxhZ3JhdCBpICVzKSDDpHIgdHJhc2lndCIKIAotIzogc2hhMS1maWxlLmM6MTQzNAorIzogc2hhMS1maWxlLmM6MTU5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZWQgb2JqZWN0ICVzIChzdG9yZWQgaW4gJXMpIGlzIGNvcnJ1cHQiCiBtc2dzdHIgInBhY2thdCBvYmpla3QgJXMgKGxhZ3JhdCBpICVzKSDDpHIgdHJhc2lndCIKIAotIzogc2hhMS1maWxlLmM6MTUzNgorIzogc2hhMS1maWxlLmM6MTY5OQogIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc2hhMSBmaWxlbmFtZSAlcyIKLW1zZ3N0ciAia2FuIGludGUgc2tyaXZhIHNoYTEtZmlsbmFtbiAlcyIKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAlcyIKK21zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgZmlsZW4gJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjE1NDMKKyM6IHNoYTEtZmlsZS5jOjE3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHNldCBwZXJtaXNzaW9uIHRvICclcyciCiBtc2dzdHIgImthbiBpbnRlIHPDpHR0YSBiZWjDtnJpZ2hldGVuIHRpbGwgXCIlc1wiIgogCi0jOiBzaGExLWZpbGUuYzoxNTUwCisjOiBzaGExLWZpbGUuYzoxNzEzCiBtc2dpZCAiZmlsZSB3cml0ZSBlcnJvciIKIG1zZ3N0ciAiZmVsIHZpZCBza3Jpdm5pbmcgYXYgZmlsIgogCi0jOiBzaGExLWZpbGUuYzoxNTY5Ci1tc2dpZCAiZXJyb3Igd2hlbiBjbG9zaW5nIHNoYTEgZmlsZSIKLW1zZ3N0ciAiZmVsIHZpZCBzdMOkbmduaW5nIGF2IHNoYTEtZmlsIgorIzogc2hhMS1maWxlLmM6MTczMgorbXNnaWQgImVycm9yIHdoZW4gY2xvc2luZyBsb29zZSBvYmplY3QgZmlsZSIKK21zZ3N0ciAiZmVsIHZpZCBzdMOkbmduaW5nIGF2IGZpbCBmw7ZyIGzDtnN0IG9iamVrdCIKIAotIzogc2hhMS1maWxlLmM6MTYzNQorIzogc2hhMS1maWxlLmM6MTc5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnN1ZmZpY2llbnQgcGVybWlzc2lvbiBmb3IgYWRkaW5nIGFuIG9iamVjdCB0byByZXBvc2l0b3J5IGRhdGFiYXNlICVzIgogbXNnc3RyICIiCiAib3RpbGxyw6Rja2xpZyBiZWjDtnJpZ2hldCBmw7ZyIGF0dCBsw6RnZ2EgdGlsbCBvYmpla3QgdGlsbCBhcmtpdmRhdGFiYXNlbiAlcyIKIAotIzogc2hhMS1maWxlLmM6MTYzNworIzogc2hhMS1maWxlLmM6MTc5OQogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgImthbiBpbnRlIHNrYXBhIHRlbXBvcsOkciBmaWwiCiAKLSM6IHNoYTEtZmlsZS5jOjE2NjEKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc2hhMSBmaWxlIgotbXNnc3RyICJrYW4gaW50ZSBza3JpdmEgc2hhMS1maWxlbiIKKyM6IHNoYTEtZmlsZS5jOjE4MjMKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbG9vc2Ugb2JqZWN0IGZpbGUiCittc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIGZpbCBmw7ZyIGzDtnN0IG9iamVrdCIKIAotIzogc2hhMS1maWxlLmM6MTY2NworIzogc2hhMS1maWxlLmM6MTgyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBuZXcgb2JqZWN0ICVzICglZCkiCiBtc2dzdHIgImthbiBpbnRlIHV0ZsO2cmEgXCJkZWZsYXRlXCIgcMOlIG55dHQgb2JqZWt0ICVzICglZCkiCiAKLSM6IHNoYTEtZmlsZS5jOjE2NzEKKyM6IHNoYTEtZmlsZS5jOjE4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVmbGF0ZUVuZCBvbiBvYmplY3QgJXMgZmFpbGVkICglZCkiCiBtc2dzdHIgIlwiZGVmbGF0ZWVuZFwiIHDDpSBvYmpla3RldCAlcyBtaXNzbHlja2FkZXMgKCVkKSIKIAotIzogc2hhMS1maWxlLmM6MTY3NQorIzogc2hhMS1maWxlLmM6MTgzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb25mdXNlZCBieSB1bnN0YWJsZSBvYmplY3Qgc291cmNlIGRhdGEgZm9yICVzIgogbXNnc3RyICJmw7ZydmlycmFkIGF2IGluc3RhYmlsIG9iamVrdGvDpGxsZGF0YSBmw7ZyICVzIgogCi0jOiBzaGExLWZpbGUuYzoxNjg1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTE4CisjOiBzaGExLWZpbGUuYzoxODQ3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB1dGltZSgpIG9uICVzIgogbXNnc3RyICJcInV0aW1lKClcIiBtaXNzbHlja2FkZXMgcMOlICVzIgogCi0jOiBzaGExLWZpbGUuYzoxNzYwCisjOiBzaGExLWZpbGUuYzoxOTIyCiAjLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkIHNoYTFfZmlsZSBmb3IgJXMiCi1tc2dzdHIgImthbiBpbnRlIGzDpHNhIHNoYTFfZmlsZSBmw7ZyICVzIgorbXNnaWQgImNhbm5vdCByZWFkIG9iamVjdCBmb3IgJXMiCittc2dzdHIgImthbiBpbnRlIGzDpHNhIG9iamVrdCBmw7ZyICVzIgogCi0jOiBzaGExLWZpbGUuYzoxODA1CisjOiBzaGExLWZpbGUuYzoxOTYyCiBtc2dpZCAiY29ycnVwdCBjb21taXQiCiBtc2dzdHIgInRyYXNpayBpbmNoZWNrbmluZyIKIAotIzogc2hhMS1maWxlLmM6MTgxMworIzogc2hhMS1maWxlLmM6MTk3MAogbXNnaWQgImNvcnJ1cHQgdGFnIgogbXNnc3RyICJ0cmFzaWcgdGFnZyIKIAotIzogc2hhMS1maWxlLmM6MTkxMgorIzogc2hhMS1maWxlLmM6MjA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGVycm9yIHdoaWxlIGluZGV4aW5nICVzIgogbXNnc3RyICJsw6RzZmVsIHZpZCBpbmRleGVyaW5nIGF2ICVzIgogCi0jOiBzaGExLWZpbGUuYzoxOTE1CisjOiBzaGExLWZpbGUuYzoyMDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgInNob3J0IHJlYWQgd2hpbGUgaW5kZXhpbmcgJXMiCiBtc2dzdHIgImbDtnIgbGl0ZSBsw6RzdGVzIHZpZCBpbmRleGVyaW5nIGF2ICVzIgogCi0jOiBzaGExLWZpbGUuYzoxOTg4IHNoYTEtZmlsZS5jOjE5OTcKKyM6IHNoYTEtZmlsZS5jOjIxNDUgc2hhMS1maWxlLmM6MjE1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmFpbGVkIHRvIGluc2VydCBpbnRvIGRhdGFiYXNlIgogbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIGzDpGdnYSBpbiBpIGRhdGFiYXNlbiIKIAotIzogc2hhMS1maWxlLmM6MjAwMworIzogc2hhMS1maWxlLmM6MjE2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5zdXBwb3J0ZWQgZmlsZSB0eXBlIgogbXNnc3RyICIlczogZmlsdHlwZW4gc3TDtmRzIGVqIgogCi0jOiBzaGExLWZpbGUuYzoyMDI3CisjOiBzaGExLWZpbGUuYzoyMTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIG9iamVjdCIKIG1zZ3N0ciAiJXMgw6RyIGludGUgZXR0IGdpbHRpZ3Qgb2JqZWt0IgogCi0jOiBzaGExLWZpbGUuYzoyMDI5CisjOiBzaGExLWZpbGUuYzoyMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkICclcycgb2JqZWN0IgogbXNnc3RyICIlcyDDpHIgaW50ZSBldHQgZ2lsdGlndCBcIiVzXCItb2JqZWt0IgogCi0jOiBzaGExLWZpbGUuYzoyMDU2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NAorIzogc2hhMS1maWxlLmM6MjIxMyBidWlsdGluL2luZGV4LXBhY2suYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMiCiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSAlcyIKIAotIzogc2hhMS1maWxlLmM6MjIyNiBzaGExLWZpbGUuYzoyMjc4CisjOiBzaGExLWZpbGUuYzoyNDAzIHNoYTEtZmlsZS5jOjI0NTUKICMsIGMtZm9ybWF0Ci1tc2dpZCAic2hhMSBtaXNtYXRjaCBmb3IgJXMgKGV4cGVjdGVkICVzKSIKLW1zZ3N0ciAic2hhMSBzdMOkbW1lciBpbnRlIGbDtnIgJXMgKGbDtnJ2w6RudGFkZSAlcykiCittc2dpZCAiaGFzaCBtaXNtYXRjaCBmb3IgJXMgKGV4cGVjdGVkICVzKSIKK21zZ3N0ciAiaGFzaCBzdMOkbW1lciBpbnRlIGbDtnIgJXMgKGbDtnJ2w6RudGFkZSAlcykiCiAKLSM6IHNoYTEtZmlsZS5jOjIyNTAKKyM6IHNoYTEtZmlsZS5jOjI0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1tYXAgJXMiCiBtc2dzdHIgImthbiBpbnRlIHV0ZsO2cmEgXCJtbWFwXCIgZsO2ciAlcyIKIAotIzogc2hhMS1maWxlLmM6MjI1NQorIzogc2hhMS1maWxlLmM6MjQzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdW5wYWNrIGhlYWRlciBvZiAlcyIKIG1zZ3N0ciAia2FuIGludGUgcGFja2EgdXBwIGh1dnVkIGbDtnIgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjIyNjEKKyM6IHNoYTEtZmlsZS5jOjI0MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGhlYWRlciBvZiAlcyIKIG1zZ3N0ciAia2FuIGludGUgdG9sa2EgaHV2dWQgZsO2ciAlcyIKIAotIzogc2hhMS1maWxlLmM6MjI3MgorIzogc2hhMS1maWxlLmM6MjQ0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdW5wYWNrIGNvbnRlbnRzIG9mICVzIgogbXNnc3RyICJrYW4gaW50ZSB0b2xrYSBpbm5laMOlbGwgaSAlcyIKIAotIzogc2hhMS1uYW1lLmM6NDc2CisjOiBzaGExLW5hbWUuYzo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hvcnQgU0hBMSAlcyBpcyBhbWJpZ3VvdXMiCiBtc2dzdHIgImtvcnQgU0hBMSAlcyDDpHIgdHZldHlkaWciCiAKLSM6IHNoYTEtbmFtZS5jOjQ4NworIzogc2hhMS1uYW1lLmM6NDk4CiBtc2dpZCAiVGhlIGNhbmRpZGF0ZXMgYXJlOiIKIG1zZ3N0ciAiS2FuZGlkYXRlcm5hIMOkcjoiCiAKLSM6IHNoYTEtbmFtZS5jOjc3MAorIzogc2hhMS1uYW1lLmM6Nzk3CiBtc2dpZCAiIgogIkdpdCBub3JtYWxseSBuZXZlciBjcmVhdGVzIGEgcmVmIHRoYXQgZW5kcyB3aXRoIDQwIGhleCBjaGFyYWN0ZXJzXG4iCiAiYmVjYXVzZSBpdCB3aWxsIGJlIGlnbm9yZWQgd2hlbiB5b3UganVzdCBzcGVjaWZ5IDQwLWhleC4gVGhlc2UgcmVmc1xuIgogIm1heSBiZSBjcmVhdGVkIGJ5IG1pc3Rha2UuIEZvciBleGFtcGxlLFxuIgogIlxuIgotIiAgZ2l0IGNoZWNrb3V0IC1iICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgorIiAgZ2l0IHN3aXRjaCAtYyAkYnIgJChnaXQgcmV2LXBhcnNlIC4uLilcbiIKICJcbiIKICJ3aGVyZSBcIiRiclwiIGlzIHNvbWVob3cgZW1wdHkgYW5kIGEgNDAtaGV4IHJlZiBpcyBjcmVhdGVkLiBQbGVhc2VcbiIKICJleGFtaW5lIHRoZXNlIHJlZnMgYW5kIG1heWJlIGRlbGV0ZSB0aGVtLiBUdXJuIHRoaXMgbWVzc2FnZSBvZmYgYnlcbiIKQEAgLTU4NjcsNzcgKzc1MjksMTQ5IEBACiAidGVja2VuLCBkw6UgZGV0dGEgaWdub3JlcmFzIG7DpHIgZHUgYW5nZXIgNDAtaGV4IGVuYmFydC4gRGVzc2FcbiIKICJyZWZlcmVuc2VyIGthbiBza2FwYXMgYXYgbWlzc3RhZy4gVGlsbCBleGVtcGVsLCBmw7ZyXG4iCiAiXG4iCi0iICBnaXQgY2hlY2tvdXQgLWIgJGJyICQoZ2l0IHJldi1wYXJzZSAuLi4pXG4iCisiICBnaXQgc3dpdGNoIC1jICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgogIlxuIgogImTDpHIgXCIkYnJcIiBww6UgbsOlZ290IHPDpHR0IGJsaXZpdCB0b210IG9jaCBlbiA0MC1oZXgtcmVmZXJlbnMgc2thcGF0cy5cbiIKICJVbmRlcnPDtmsgcmVmZXJlbnNlcm5hIG9jaCB0YSBrYW5za2UgYm9ydCBkZW0uIFN0w6RuZyBhdiBtZWRkZWxhbmRldFxuIgogImdlbm9tIGF0dCBrw7ZyYSBcImdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNlXCIiCiAKLSM6IHN1Ym1vZHVsZS5jOjExNiBzdWJtb2R1bGUuYzoxNDUKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBnaWJpYnl0ZQorIzogc3RyYnVmLmM6ODIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IEdpQiIKK21zZ3N0ciAiJXUsJTIuMnUgR2lCIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggZ2liaWJ5dGUvc2Vjb25kCisjOiBzdHJidWYuYzo4MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgR2lCL3MiCittc2dzdHIgIiV1LCUyLjJ1IEdpQi9zIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggbWViaWJ5dGUKKyM6IHN0cmJ1Zi5jOjgzMgorIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBNaUIiCittc2dzdHIgIiV1LCUyLjJ1IE1pQiIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IG1lYmlieXRlL3NlY29uZAorIzogc3RyYnVmLmM6ODM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IE1pQi9zIgorbXNnc3RyICIldSwlMi4ydSBNaUIvcyIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IGtpYmlieXRlCisjOiBzdHJidWYuYzo4NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgS2lCIgorbXNnc3RyICIldSwlMi4ydSBLaUIiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBraWJpYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjg0MworIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBLaUIvcyIKK21zZ3N0ciAiJXUsJTIuMnUgS2lCL3MiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBieXRlCisjOiBzdHJidWYuYzo4NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUgYnl0ZSIKK21zZ2lkX3BsdXJhbCAiJXUgYnl0ZXMiCittc2dzdHJbMF0gIiV1IGJ5dGUiCittc2dzdHJbMV0gIiV1IGJ5dGVzIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjg1MQorIywgYy1mb3JtYXQKK21zZ2lkICIldSBieXRlL3MiCittc2dpZF9wbHVyYWwgIiV1IGJ5dGVzL3MiCittc2dzdHJbMF0gIiV1IGJ5dGUvcyIKK21zZ3N0clsxXSAiJXUgYnl0ZXMvcyIKKworIzogc3RyYnVmLmM6MTE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZWRpdCAnJXMnIgorbXNnc3RyICJrdW5kZSBpbnRlIHJlZGlnZXJhIFwiJXNcIiIKKworIzogc3VibW9kdWxlLmM6MTE0IHN1Ym1vZHVsZS5jOjE0MwogbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgogbXNnc3RyICIiCiAiS2FuIGludGUgw6RuZHJhIC5naXRtb2R1bGVzLWZpbCBzb20gaW50ZSBzbGFnaXRzIGlob3AsIGzDtnMgIgogInNhbW1hbnNsYWduaW5nc2tvbmZsaWt0ZXIgZsO2cnN0IgogCi0jOiBzdWJtb2R1bGUuYzoxMjAgc3VibW9kdWxlLmM6MTQ5CisjOiBzdWJtb2R1bGUuYzoxMTggc3VibW9kdWxlLmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIKIG1zZ3N0ciAiSGl0dGFkZSBpbnRlIG7DpWdvbiBzZWt0aW9uIGkgLmdpdG1vZHVsZXMgZMOkciBzw7ZrdsOkZz0lcyIKIAotIzogc3VibW9kdWxlLmM6MTU2CisjOiBzdWJtb2R1bGUuYzoxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSAuZ2l0bW9kdWxlcyBlbnRyeSBmb3IgJXMiCiBtc2dzdHIgIkt1bmRlIGludGUgdGEgYm9ydCAuZ2l0bW9kdWxlcy1wb3N0ZW4gZsO2ciAlcyIKIAotIzogc3VibW9kdWxlLmM6MTY3CisjOiBzdWJtb2R1bGUuYzoxNjUKIG1zZ2lkICJzdGFnaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgogbXNnc3RyICJtaXNzbHlja2FkZXMga8O2YSB1cHBkYXRlcmFkIC5naXRtb2R1bGVzIgogCi0jOiBzdWJtb2R1bGUuYzozMjkKKyM6IHN1Ym1vZHVsZS5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbiB1bnBvcHVsYXRlZCBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiaSBlaiB1dGNoZWNrYWQgdW5kZXJtb2R1bCBcIiVzXCIiCiAKLSM6IHN1Ym1vZHVsZS5jOjM2MAorIzogc3VibW9kdWxlLmM6MzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhdGhzcGVjICclcycgaXMgaW4gc3VibW9kdWxlICclLipzJyIKIG1zZ3N0ciAiU8O2a3bDpGdzYW5naXZlbHNlbiBcIiVzXCIgw6RyIGkgdW5kZXJtb2R1bGVuIFwiJS4qc1wiIgogCi0jOiBzdWJtb2R1bGUuYzo4NTcKKyM6IHN1Ym1vZHVsZS5jOjkxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJzdWJtb2R1bGUgZW50cnkgJyVzJyAoJXMpIGlzIGEgJXMsIG5vdCBhIGNvbW1pdCIKIG1zZ3N0ciAidW5kZXJtb2R1bHBvc3RlbiBcIiVzXCIgKCVzKSDDpHIgZW4gJXMsIGludGUgZW4gaW5jaGVja25pbmciCiAKLSM6IHN1Ym1vZHVsZS5jOjEwOTcgYnVpbHRpbi9icmFuY2guYzo2NTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5ODUKKyM6IHN1Ym1vZHVsZS5jOjExNDcgYnVpbHRpbi9icmFuY2guYzo2ODAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwMTYKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHNsw6UgdXBwIEhFQUQgc29tIGdpbHRpZyByZWZlcmVucy4iCiAKLSM6IHN1Ym1vZHVsZS5jOjE0MDQKKyM6IHN1Ym1vZHVsZS5jOjE0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGFjY2VzcyBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAia3VuZGUgaW50ZSBrb21tYSDDpXQgdW5kZXJtb2R1bGVuIFwiJXNcIiIKKworIzogc3VibW9kdWxlLmM6MTY1MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIG5vdCByZWNvZ25pemVkIGFzIGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIlwiJXNcIiBrw6RubnMgaW50ZSBpZ2VuIHNvbSBldHQgZ2l0LWFya2l2IgogCi0jOiBzdWJtb2R1bGUuYzoxNTQyCisjOiBzdWJtb2R1bGUuYzoxNzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGFydCAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc3RhcnRhIFwiZ2l0IHN0YXR1c1wiIGkgdW5kZXJtb2R1bGVuIFwiJXNcIiIKIAotIzogc3VibW9kdWxlLmM6MTU1NQorIzogc3VibW9kdWxlLmM6MTgwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcnVuICdnaXQgc3RhdHVzJyBpbiBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBrw7ZyYSBcImdpdCBzdGF0dXNcIiBpIHVuZGVybW9kdWxlbiBcIiVzXCIiCiAKLSM6IHN1Ym1vZHVsZS5jOjE2NDgKKyM6IHN1Ym1vZHVsZS5jOjE4MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVuc2V0IGNvcmUud29ya3RyZWUgc2V0dGluZyBpbiBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAiS3VuZGUgaW50ZSB0YSBib3J0IGluc3TDpGxsbmluZ2VuIGNvcmUud29ya3RyZWUgaSB1bmRlcm1vZHVsZW4gXCIlc1wiIgorCisjOiBzdWJtb2R1bGUuYzoxOTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGhhcyBkaXJ0eSBpbmRleCIKIG1zZ3N0ciAidW5kZXJtb2R1bGVuIFwiJXNcIiBoYXIgZXR0IHNtdXRzaWd0IGluZGV4IgogCi0jOiBzdWJtb2R1bGUuYzoxNzAwCisjOiBzdWJtb2R1bGUuYzoxOTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJXMnIGNvdWxkIG5vdCBiZSB1cGRhdGVkLiIKIG1zZ3N0ciAiVW5kZXJtb2R1bGVyIFwiJXNcIiBrdW5kZSBpbnRlIHVwcGRhdGVyYXMuIgogCi0jOiBzdWJtb2R1bGUuYzoxNzQ3CisjOiBzdWJtb2R1bGUuYzoyMDI3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSBnaXQgZGlyICclcycgaXMgaW5zaWRlIGdpdCBkaXIgJyUuKnMnIgorbXNnc3RyICJ1bmRlcm1vZHVsLWdpdGthdGFsb2dlbiBcIiVzXCIgw6RyIGludXRpIGdpdGthdGFsb2dlbiBcIiUuKnNcIiIKKworIzogc3VibW9kdWxlLmM6MjA0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicmVsb2NhdGVfZ2l0ZGlyIGZvciBzdWJtb2R1bGUgJyVzJyB3aXRoIG1vcmUgdGhhbiBvbmUgd29ya3RyZWUgbm90IHN1cHBvcnRlZCIKQEAgLTU5NDUsMTIgKzc2NzksMTcgQEAKICJyZWxvY2F0ZV9naXRkaXIgZsO2ciB1bmRlcm1vZHVsZW4gXCIlc1wiLCBzb20gaGFyIG1lciDDpG4gZW4gYXJiZXRza2F0YWxvZywgIgogInN0w7ZkcyBlaiIKIAotIzogc3VibW9kdWxlLmM6MTc1OSBzdWJtb2R1bGUuYzoxODE1CisjOiBzdWJtb2R1bGUuYzoyMDYwIHN1Ym1vZHVsZS5jOjIxMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBuYW1lIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBzbMOlIHVwcCBuYW1uZXQgZsO2ciB1bmRlcm1vZHVsZW4gXCIlc1wiIgogCi0jOiBzdWJtb2R1bGUuYzoxNzY2CisjOiBzdWJtb2R1bGUuYzoyMDY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZnVzaW5nIHRvIG1vdmUgJyVzJyBpbnRvIGFuIGV4aXN0aW5nIGdpdCBkaXIiCittc2dzdHIgInbDpGdyYXIgZmx5dHRhIFwiJXNcIiB0aWxsIGVuIGJlZmludGxpZyBnaXRrYXRhbG9nIgorCisjOiBzdWJtb2R1bGUuYzoyMDcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJNaWdyYXRpbmcgZ2l0IGRpcmVjdG9yeSBvZiAnJXMlcycgZnJvbVxuIgpAQCAtNTk2MSw0MCArNzcwMCw0MCBAQAogIlwiJXNcIiB0aWxsXG4iCiAiXCIlc1wiXG4iCiAKLSM6IHN1Ym1vZHVsZS5jOjE4NTAKKyM6IHN1Ym1vZHVsZS5jOjIxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSByZWt1cnNlcmEgaW4gaSB1bmRlcm1vZHVsZW4gXCIlc1wiIgogCi0jOiBzdWJtb2R1bGUuYzoxODk0CisjOiBzdWJtb2R1bGUuYzoyMTk4CiBtc2dpZCAiY291bGQgbm90IHN0YXJ0IGxzLWZpbGVzIGluIC4uIgogbXNnc3RyICJrdW5kZSBpbnRlIHN0YXJ0YSBscy1maWxlcyBpIC4uIgogCi0jOiBzdWJtb2R1bGUuYzoxOTMzCisjOiBzdWJtb2R1bGUuYzoyMjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImxzLXRyZWUgcmV0dXJuZWQgdW5leHBlY3RlZCByZXR1cm4gY29kZSAlZCIKIG1zZ3N0ciAibHMtdHJlZSByZXR1cm5lcmFkZSBlbiBvdsOkbnRhZCByZXR1cmtvZCAlZCIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjIzMgorIzogc3VibW9kdWxlLWNvbmZpZy5jOjIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBzdXNwaWNpb3VzIHN1Ym1vZHVsZSBuYW1lOiAlcyIKIG1zZ3N0ciAiaWdub3JlcmFyIG1pc3N0w6Rua3QgdW5kZXJtb2R1bG5hbW46ICVzIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6Mjk2CisjOiBzdWJtb2R1bGUtY29uZmlnLmM6MzAzCiBtc2dpZCAibmVnYXRpdmUgdmFsdWVzIG5vdCBhbGxvd2VkIGZvciBzdWJtb2R1bGUuZmV0Y2hqb2JzIgogbXNnc3RyICJuZWdhdGl2YSB2w6RyZGVuIMOkciBpbnRlIHRpbGzDpXRuYSBmw7ZyIHN1Ym1vZHVsZS5mZXRjaGpvYnMiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzozOTAKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo0MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgJyVzJyB3aGljaCBtYXkgYmUgaW50ZXJwcmV0ZWQgYXMgYSBjb21tYW5kLWxpbmUgb3B0aW9uOiAlcyIKIG1zZ3N0ciAiaWdub3JlcmFyIFwiJXNcIiBzb20ga2FuIHRvbGthcyBzb20gZW4ga29tbWFuZG9yYWRzZmxhZ2dhOiAlcyIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjQ3OQorIzogc3VibW9kdWxlLWNvbmZpZy5jOjQ5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlcyIKIG1zZ3N0ciAib2dpbHRpZ3QgdsOkcmRlIGbDtnIgJXMiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzo3NTQKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo3NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSB1cHBkYXRlcmEgLmdpdG1vZHVsZXMtcG9zdGVuICVzIgpAQCAtNjAyOSw3ICs3NzY4LDcgQEAKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBmcm9tIHN0ZGluIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIGZyw6VuIHN0YW5kYXJkIGluIgogCi0jOiB0cmFpbGVyLmM6MTAxMSBidWlsdGluL2FtLmM6NDcKKyM6IHRyYWlsZXIuYzoxMDExIHdyYXBwZXIuYzo2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXQgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgdGEgc3RhdHVzIHDDpSAlcyIKQEAgLTYwNTgsMzkgKzc3OTcsNDcgQEAKIG1zZ2lkICJXb3VsZCBzZXQgdXBzdHJlYW0gb2YgJyVzJyB0byAnJXMnIG9mICclcydcbiIKIG1zZ3N0ciAiU2t1bGxlIHPDpHR0YSB1cHBzdHLDtm1zIGbDtnIgXCIlc1wiIHRpbGwgXCIlc1wiIGZyw6VuIFwiJXNcIlxuIgogCi0jOiB0cmFuc3BvcnQuYzoxNDIKKyM6IHRyYW5zcG9ydC5jOjE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBidW5kbGUgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBwYWtldGV0IChidW5kbGVuKSBcIiVzXCIiCiAKLSM6IHRyYW5zcG9ydC5jOjIwOAorIzogdHJhbnNwb3J0LmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYW5zcG9ydDogaW52YWxpZCBkZXB0aCBvcHRpb24gJyVzJyIKLW1zZ3N0ciAidHJhbnNwb3J0OiBvZ2lsdGlnIGZsYWdnYSBmw7ZyIGRlcHRoOiDigJ0lc+KAnSIKK21zZ3N0ciAidHJhbnNwb3J0OiBvZ2lsdGlnIGZsYWdnYSBmw7ZyIGRlcHRoOiBcIiVzXCIiCiAKLSM6IHRyYW5zcG9ydC5jOjYxNgorIzogdHJhbnNwb3J0LmM6MjY2Cittc2dpZCAic2VlIHByb3RvY29sLnZlcnNpb24gaW4gJ2dpdCBoZWxwIGNvbmZpZycgZm9yIG1vcmUgZGV0YWlscyIKK21zZ3N0ciAic2UgcHJvdG9jb2wudmVyc2lvbiBpIFwiZ2l0IGhlbHAgY29uZmlnXCIgZsO2ciBtZXIgaW5mb3JtYXRpb24iCisKKyM6IHRyYW5zcG9ydC5jOjI2NworbXNnaWQgInNlcnZlciBvcHRpb25zIHJlcXVpcmUgcHJvdG9jb2wgdmVyc2lvbiAyIG9yIGxhdGVyIgorbXNnc3RyICJzZXJ2ZXJmbGFnZ29yIGtyw6R2ZXIgcHJvdG9rb2xsdmVyc2lvbiAyIGVsbGVyIHNlbmFyZSIKKworIzogdHJhbnNwb3J0LmM6NjMyCiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHRyYW5zcG9ydC5jb2xvci4qIGNvbmZpZyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBpbnN0w6RsbG5pbmdlbiBmw7ZyIHRyYW5zcG9ydC5jb2xvci4qIgogCi0jOiB0cmFuc3BvcnQuYzo2ODkKKyM6IHRyYW5zcG9ydC5jOjcwNQogbXNnaWQgInN1cHBvcnQgZm9yIHByb3RvY29sIHYyIG5vdCBpbXBsZW1lbnRlZCB5ZXQiCiBtc2dzdHIgInN0w7ZkIGbDtnIgcHJvdG9rb2xsIHYyIMOkbm51IGVqIGltcGxlbWVudGVyYXQiCiAKLSM6IHRyYW5zcG9ydC5jOjgxNgorIzogdHJhbnNwb3J0LmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gdmFsdWUgZm9yIGNvbmZpZyAnJXMnOiAlcyIKIG1zZ3N0ciAib2vDpG50IHbDpHJkZSBmw7ZyIGluc3TDpGxsbmluZ2VuIFwiJXNcIjogJXMiCiAKLSM6IHRyYW5zcG9ydC5jOjg4MgorIzogdHJhbnNwb3J0LmM6ODk3CiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYW5zcG9ydCAnJXMnIG5vdCBhbGxvd2VkIgogbXNnc3RyICJ0cmFuc3BvcnRlbiBcIiVzXCIgdGlsbMOldHMgaW50ZSIKIAotIzogdHJhbnNwb3J0LmM6OTM2CisjOiB0cmFuc3BvcnQuYzo5NDkKIG1zZ2lkICJnaXQtb3Zlci1yc3luYyBpcyBubyBsb25nZXIgc3VwcG9ydGVkIgogbXNnc3RyICJnaXQtb3Zlci1yc3luYyBzdMO2ZHMgaW50ZSBsw6RuZ3JlIgogCi0jOiB0cmFuc3BvcnQuYzoxMDMxCisjOiB0cmFuc3BvcnQuYzoxMDQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHN1Ym1vZHVsZSBwYXRocyBjb250YWluIGNoYW5nZXMgdGhhdCBjYW5cbiIKQEAgLTYwOTksNyArNzg0Niw3IEBACiAiRsO2bGphbmRlIHVuZGVybW9kdWxzw7ZrdsOkZ2FyIGlubmVow6VsbGVyIMOkbmRyaW5nYXIgc29tXG4iCiAiaW50ZSBrYW4gaGl0dGFzIGF2IGZqw6RycmFybmE6XG4iCiAKLSM6IHRyYW5zcG9ydC5jOjEwMzUKKyM6IHRyYW5zcG9ydC5jOjEwNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNjEyNiwzNyArNzg3MywzMiBAQAogImbDtnIgYXR0IHPDpG5kYSBkZW0gdGlsbCBmasOkcnJlbi5cbiIKICJcbiIKIAotIzogdHJhbnNwb3J0LmM6MTA0MworIzogdHJhbnNwb3J0LmM6MTA1NgogbXNnaWQgIkFib3J0aW5nLiIKIG1zZ3N0ciAiQXZicnl0ZXIuIgogCi0jOiB0cmFuc3BvcnQuYzoxMTgyCisjOiB0cmFuc3BvcnQuYzoxMjAxCiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggYWxsIG5lZWRlZCBzdWJtb2R1bGVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHPDpG5kYSBhbGxhIG7DtmR2w6RuZGlnYSB1bmRlcm1vZHVsZXIiCiAKLSM6IHRyYW5zcG9ydC5jOjEzMTUgdHJhbnNwb3J0LWhlbHBlci5jOjY0MworIzogdHJhbnNwb3J0LmM6MTM0NSB0cmFuc3BvcnQtaGVscGVyLmM6NjU2CiBtc2dpZCAib3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wiCiBtc2dzdHIgImZ1bmt0aW9uZW4gc3TDtmRzIGludGUgYXYgcHJvdG9rb2xsZXQiCiAKLSM6IHRyYW5zcG9ydC5jOjE0MTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBsaW5lIHdoaWxlIHBhcnNpbmcgYWx0ZXJuYXRlIHJlZnM6ICVzIgotbXNnc3RyICJmZWxha3RpZyByYWQgdmlkIHRvbGtuaW5nIGF2IGFsdGVybmF0aXZhIHJlZmVyZW5zZXI6ICVzIgotCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NTEgdHJhbnNwb3J0LWhlbHBlci5jOjgwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjEgdHJhbnNwb3J0LWhlbHBlci5jOjkwCiBtc2dpZCAiZnVsbCB3cml0ZSB0byByZW1vdGUgaGVscGVyIGZhaWxlZCIKIG1zZ3N0ciAia29tcGxldHQgc2tyaXZuaW5nIHRpbGwgZmrDpHJyaGrDpGxwYXJlIG1pc3NseWNrYWRlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZmluZCByZW1vdGUgaGVscGVyIGZvciAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSBoaXR0YSBmasOkcnJoasOkbHBhcmUgZsO2ciBcIiVzXCIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDggdHJhbnNwb3J0LWhlbHBlci5jOjU1NworIzogdHJhbnNwb3J0LWhlbHBlci5jOjE2MCB0cmFuc3BvcnQtaGVscGVyLmM6NTcwCiBtc2dpZCAiY2FuJ3QgZHVwIGhlbHBlciBvdXRwdXQgZmQiCiBtc2dzdHIgImt1bmRlIGludGUgZHVwbGljZXJhIHV0ZGF0YS1maWxoYW5kdGFnIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTk5CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ1bmtub3duIG1hbmRhdG9yeSBjYXBhYmlsaXR5ICVzOyB0aGlzIHJlbW90ZSBoZWxwZXIgcHJvYmFibHkgbmVlZHMgbmV3ZXIgIgpAQCAtNjE2NSwxMDEgKzc5MDcsMTA2IEBACiAib2vDpG5kIGtyw6R2ZCBmw7ZybcOlZ2EgKGNhcGFiaWxpdHkpICVzOyBmasOkcnJoasOkbHBhcmVuIGJlaMO2dmVyIGFudGFnbGlnZW4gZW4gIgogIm55YXJlIHZlcnNpb24gYXYgR2l0IgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MjA1CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MjE3CiBtc2dpZCAidGhpcyByZW1vdGUgaGVscGVyIHNob3VsZCBpbXBsZW1lbnQgcmVmc3BlYyBjYXBhYmlsaXR5IgogbXNnc3RyICIiCiAiZmrDpHJyaGrDpGxwYXJlbiBiZWjDtnZlciBpbXBsZW1lbnRlcmEgZsO2cm3DpWdhIGbDtnIgcmVmZXJlbnNzcGVjaWZpa2F0aW9uZXIgIgogIihyZWZzcGVjKSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjI3MiB0cmFuc3BvcnQtaGVscGVyLmM6NDEyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6Mjg0IHRyYW5zcG9ydC1oZWxwZXIuYzo0MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdW5leHBlY3RlZGx5IHNhaWQ6ICclcyciCiBtc2dzdHIgIiVzIHNhZGUgb3bDpG50YXQ6IFwiJXNcIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjQwMQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjQxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBhbHNvIGxvY2tlZCAlcyIKIG1zZ3N0ciAiJXMgbMOlc3RlIG9ja3PDpSAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjQ3OQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjQ5MgogbXNnaWQgImNvdWxkbid0IHJ1biBmYXN0LWltcG9ydCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBrw7ZyYSBmYXN0LWltcG9ydCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjUwMgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjUxNQogbXNnaWQgImVycm9yIHdoaWxlIHJ1bm5pbmcgZmFzdC1pbXBvcnQiCiBtc2dzdHIgImZlbCBuw6RyIGZhc3QtaW1wb3J0IGvDtnJkZXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MzEgdHJhbnNwb3J0LWhlbHBlci5jOjEwOTEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1NDQgdHJhbnNwb3J0LWhlbHBlci5jOjExMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgcmVmICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIHJlZmVyZW5zZW4gJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1NzYKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biByZXNwb25zZSB0byBjb25uZWN0OiAlcyIKIG1zZ3N0ciAib2vDpG50IHN2YXIgcMOlIGFuc2x1bnRuaW5nOiAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjU5OAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjYxMQogbXNnaWQgInNldHRpbmcgcmVtb3RlIHNlcnZpY2UgcGF0aCBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sIgogbXNnc3RyICJwcm90a29sbGV0IHN0w7ZkZXIgaW50ZSBhdHQgc8OkdHRhIHPDtmt2w6RnIHRpbGwgZmrDpHJydGrDpG5zdCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjYwMAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjYxMwogbXNnaWQgImludmFsaWQgcmVtb3RlIHNlcnZpY2UgcGF0aCIKIG1zZ3N0ciAiZmVsYWt0aWcgc8O2a3bDpGcgdGlsbCBmasOkcnJ0asOkbnN0IgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NjQ2CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IGNvbm5lY3QgdG8gc3Vic2VydmljZSAlcyIKIG1zZ3N0ciAia2FuIGludGUgYW5zbHV0YSB0aWxsIHVuZGVydGrDpG5zdGVuICVzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NzEzCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIG9rL2Vycm9yLCBoZWxwZXIgc2FpZCAnJXMnIgogbXNnc3RyICJmw7ZydsOkbnRhZGUgb2svZXJyb3IsIGhqw6RscHByb2dyYW1tZXQgc3ZhcmFkZSBcIiVzXCIiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo3NjYKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo3ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyIHJlcG9ydGVkIHVuZXhwZWN0ZWQgc3RhdHVzIG9mICVzIgogbXNnc3RyICJoasOkbHBhcmVuIHJldHVybmVyYWRlIG92w6RudGFkIHN0YXR1cyAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjgyNworIzogdHJhbnNwb3J0LWhlbHBlci5jOjg0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCBkcnktcnVuIgogbXNnc3RyICJoasOkbHBhcmVuICVzIHN0w7ZkZXIgaW50ZSBkcnktcnVuIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6ODMwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIgogbXNnc3RyICJoasOkbHBhcmVuICVzIHN0w7ZkZXIgaW50ZSAtLXNpZ25lZCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjgzMworIzogdHJhbnNwb3J0LWhlbHBlci5jOjg1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAtLXNpZ25lZD1pZi1hc2tlZCIKIG1zZ3N0ciAiaGrDpGxwYXJlbiAlcyBzdMO2ZGVyIGludGUgLS1zaWduZWQ9aWYtYXNrZWQiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NDAKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgLS1hdG9taWMiCittc2dzdHIgImhqw6RscGFyZW4gJXMgc3TDtmRlciBpbnRlIC0tYXRvbWljIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0ICdwdXNoLW9wdGlvbiciCiBtc2dzdHIgImhqw6RscGFyZW4gJXMgc3TDtmRlciBpbnRlIFwicHVzaC1vcHRpb25cIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjkzMgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjk2NAogbXNnaWQgInJlbW90ZS1oZWxwZXIgZG9lc24ndCBzdXBwb3J0IHB1c2g7IHJlZnNwZWMgbmVlZGVkIgogbXNnc3RyICJmasOkcnJoasOkbHBhcmVuIHN0w7ZkZXIgaW50ZSBwdXNoOyByZWZlcmVuc3NwZWNpZmlrYXRpb24ga3LDpHZzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6OTM3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6OTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0ICdmb3JjZSciCiBtc2dzdHIgImhqw6RscGFyZW4gJXMgc3TDtmRlciBpbnRlIFwiZm9yY2VcIiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjk4NAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwMTYKIG1zZ2lkICJjb3VsZG4ndCBydW4gZmFzdC1leHBvcnQiCiBtc2dzdHIgImt1bmRlIGludGUga8O2cmEgZmFzdC1leHBvcnQiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5ODkKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDIxCiBtc2dpZCAiZXJyb3Igd2hpbGUgcnVubmluZyBmYXN0LWV4cG9ydCIKIG1zZ3N0ciAiZmVsIHZpZCBrw7ZybmluZyBhdiBmYXN0LWV4cG9ydCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwMTQKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyByZWZzIGluIGNvbW1vbiBhbmQgbm9uZSBzcGVjaWZpZWQ7IGRvaW5nIG5vdGhpbmcuXG4iCkBAIC02MjY4LDQ3ICs4MDE1LDQ3IEBACiAiSW5nYSBnZW1lbnNhbW1hIHJlZmVyZW5zZXIgb2NoIGluZ2EgYW5nYXZzOyBnw7ZyIGluZ2V0LlxuIgogIkR1IGthbnNrZSBib3JkZSBhbmdlIGVuIGdyZW4gc8Olc29tIFwibWFzdGVyXCIuXG4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDc3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTExOQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgcmVzcG9uc2UgaW4gcmVmIGxpc3Q6ICVzIgogbXNnc3RyICJmZWxmb3JtYXQgc3ZhciBpIHJlZmVyZW5zbGlzdGFuOiAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEyMzEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQoJXMpIGZhaWxlZCIKIG1zZ3N0ciAibMOkcyglcykgbWlzc2x5Y2thZGVzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTI1OAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEyOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAid3JpdGUoJXMpIGZhaWxlZCIKIG1zZ3N0ciAic2tyaXYoJXMpIG1pc3NseWNrYWRlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMDcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHRocmVhZCBmYWlsZWQiCiBtc2dzdHIgIiVzLXRyw6VkZW4gbWlzc2x5Y2thZGVzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTMxMQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdGhyZWFkIGZhaWxlZCB0byBqb2luOiAlcyIKIG1zZ3N0ciAiJXMtdHLDpWRlbiBtaXNzbHlja2FkZXMgYW5zbHV0YTogJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzMwIHRyYW5zcG9ydC1oZWxwZXIuYzoxMzM0CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM3MCB0cmFuc3BvcnQtaGVscGVyLmM6MTM3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW4ndCBzdGFydCB0aHJlYWQgZm9yIGNvcHlpbmcgZGF0YTogJXMiCiBtc2dzdHIgImthbiBpbnRlIHN0YXJ0YSB0csOlZCBmw7ZyIGtvcGllcmluZyBhdiBkYXRhOiAlcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNzEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHByb2Nlc3MgZmFpbGVkIHRvIHdhaXQiCiBtc2dzdHIgInByb2Nlc3NlbiAlcyBtaXNzbHlja2FkZXMgdsOkbnRhIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM3NQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjE0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcHJvY2VzcyBmYWlsZWQiCiBtc2dzdHIgInByb2Nlc3NlbiAlcyBtaXNzbHlja2FkZXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzkzIHRyYW5zcG9ydC1oZWxwZXIuYzoxNDAyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTQzMyB0cmFuc3BvcnQtaGVscGVyLmM6MTQ0MgogbXNnaWQgImNhbid0IHN0YXJ0IHRocmVhZCBmb3IgY29weWluZyBkYXRhIgogbXNnc3RyICJrYW4gaW50ZSBza2FwYSB0csOlZCBmw7ZyIGtvcGllcmluZyBhdiBkYXRhIgogCkBAIC02MzI0LDExICs4MDcxLDE2IEBACiBtc2dpZCAiZW1wdHkgZmlsZW5hbWUgaW4gdHJlZSBlbnRyeSIKIG1zZ3N0ciAidG9tdCBmaWxuYW1uIGkgdHLDpGRwb3N0IgogCi0jOiB0cmVlLXdhbGsuYzoxMTUKKyM6IHRyZWUtd2Fsay5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVuYW1lIGluIHRyZWUgZW50cnkgY29udGFpbnMgYmFja3NsYXNoOiAnJXMnIgorbXNnc3RyICJmaWxuYW1uZXQgaSB0csOkZGV0IGlubmVow6VsbGVyIG9tdsOkbnQgc25lZHN0cmVjazogXCIlc1wiIgorCisjOiB0cmVlLXdhbGsuYzoxMjQKIG1zZ2lkICJ0b28tc2hvcnQgdHJlZSBmaWxlIgogbXNnc3RyICJ0csOkZGZpbCBmw7ZyIGtvcnQiCiAKLSM6IHVucGFjay10cmVlcy5jOjExMgorIzogdW5wYWNrLXRyZWVzLmM6MTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKQEAgLTYzMzcsNyArODA4OSw3IEBACiAiRGluYSBsb2thbGEgw6RuZHJpbmdhciBhdiBmw7ZsamFuZGUgZmlsZXIgc2t1bGxlIHNrcml2YXMgw7Z2ZXIgYXYgdXRjaGVja25pbmc6XG4iCiAiJSVzQ2hlY2thIGluIGRpbmEgw6RuZHJpbmdhciBlbGxlciBhbnbDpG5kIFwic3Rhc2hcIiBpbm5hbiBkdSBieXRlciBncmVuLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTE0CisjOiB1bnBhY2stdHJlZXMuYzoxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgpAQCAtNjM0Niw3ICs4MDk4LDcgQEAKICJEaW5hIGxva2FsYSDDpG5kcmluZ2FyIGF2IGbDtmxqYW5kZSBmaWxlciBza3VsbGUgc2tyaXZhcyDDtnZlciBhdiB1dGNoZWNrbmluZzpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjExNworIzogdW5wYWNrLXRyZWVzLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKQEAgLTYzNTYsNyArODEwOCw3IEBACiAic2FtbWFuc2xhZ25pbmc6XG4iCiAiJSVzQ2hlY2thIGluIGRpbmEgw6RuZHJpbmdhciBlbGxlciBhbnbDpG5kIFwic3Rhc2hcIiBpbm5hbiBkdSBieXRlciBncmVuLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTE5CisjOiB1bnBhY2stdHJlZXMuYzoxMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtNjM2Niw3ICs4MTE4LDcgQEAKICJzYW1tYW5zbGFnbmluZzpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEyMgorIzogdW5wYWNrLXRyZWVzLmM6MTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTYzNzUsNyArODEyNyw3IEBACiAiRGluYSBsb2thbGEgw6RuZHJpbmdhciBhdiBmw7ZsamFuZGUgZmlsZXIgc2t1bGxlIHNrcml2YXMgw7Z2ZXIgYXYgXCIlc1wiOlxuIgogIiUlc0NoZWNrYSBpbiBkaW5hIMOkbmRyaW5nYXIgZWxsZXIgYW52w6RuZCBcInN0YXNoXCIgaW5uYW4gZHUgXCIlc1wiLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTI0CisjOiB1bnBhY2stdHJlZXMuYzoxMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtNjM4NCw3ICs4MTM2LDcgQEAKICJEaW5hIGxva2FsYSDDpG5kcmluZ2FyIGF2IGbDtmxqYW5kZSBmaWxlciBza3VsbGUgc2tyaXZhcyDDtnZlciBhdiBcIiVzXCI6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjkKKyM6IHVucGFjay10cmVlcy5jOjEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXBkYXRpbmcgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyB3b3VsZCBsb3NlIHVudHJhY2tlZCBmaWxlcyBpbiB0aGVtOlxuIgpAQCAtNjM5NCw3ICs4MTQ2LDcgQEAKICJkZW06XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzMworIzogdW5wYWNrLXRyZWVzLmM6MTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKQEAgLTY0MDMsNyArODE1NSw3IEBACiAiRsO2bGphbmRlIG9zcMOlcmFkZSBmaWxlciBpIGFyYmV0c2thdGFsb2dlbiBza3VsbGUgdGFzIGJvcnQgYXYgdXRjaGVja25pbmdlbjpcbiIKICIlJXNGbHl0dGEgZWxsZXIgdGEgYm9ydCBkZW0gaW5uYW4gZHUgYnl0ZXIgZ3Jlbi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEzNQorIzogdW5wYWNrLXRyZWVzLmM6MTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKQEAgLTY0MTIsNyArODE2NCw3IEBACiAiRsO2bGphbmRlIG9zcMOlcmFkZSBmaWxlciBpIGFyYmV0c2thdGFsb2dlbiBza3VsbGUgdGFzIGJvcnQgYXYgdXRjaGVja25pbmdlbjpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzOAorIzogdW5wYWNrLXRyZWVzLmM6MTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKQEAgLTY0MjIsNyArODE3NCw3IEBACiAic2FtbWFuc2xhZ25pbmdlbjpcbiIKICIlJXNGbHl0dGEgZWxsZXIgdGEgYm9ydCBkZW0gaW5uYW4gZHUgc2zDpXIgc2FtbWFuLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQwCisjOiB1bnBhY2stdHJlZXMuYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgpAQCAtNjQzMiw3ICs4MTg0LDcgQEAKICJzYW1tYW5zbGFnbmluZ2VuOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQzCisjOiB1bnBhY2stdHJlZXMuYzoxNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgpAQCAtNjQ0MSw3ICs4MTkzLDcgQEAKICJGw7ZsamFuZGUgb3Nww6VyYWRlIGZpbGVyIGkgYXJiZXRza2F0YWxvZ2VuIHNrdWxsZSB0YXMgYm9ydCBhdiBcIiVzXCI6XG4iCiAiJSVzRmx5dHRhIGVsbGVyIHRhIGJvcnQgZGVtIGlubmFuIGR1IFwiJXNcIi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE0NQorIzogdW5wYWNrLXRyZWVzLmM6MTQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKQEAgLTY0NTAsNyArODIwMiw3IEBACiAiRsO2bGphbmRlIG9zcMOlcmFkZSBmaWxlciBpIGFyYmV0c2thdGFsb2dlbiBza3VsbGUgdGFzIGJvcnQgYXYgXCIlc1wiOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTUxCisjOiB1bnBhY2stdHJlZXMuYzoxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCkBAIC02NDYxLDcgKzgyMTMsNyBAQAogInV0Y2hlY2tuaW5nZW46XG4iCiAiJSVzRmx5dHRhIGVsbGVyIHRhIGJvcnQgZGVtIGlubmFuIGR1IGJ5dGVyIGdyZW4uIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNTMKKyM6IHVucGFjay10cmVlcy5jOjE1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKQEAgLTY0NzIsNyArODIyNCw3IEBACiAidXRjaGVja25pbmdlbjpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE1NgorIzogdW5wYWNrLXRyZWVzLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC02NDgyLDcgKzgyMzQsNyBAQAogInNhbW1hbnNsYWduaW5nZW46XG4iCiAiJSVzRmx5dHRhIGVsbGVyIHRhIGJvcnQgZGVtIGlubmFuIGR1IGJ5dGVyIGdyZW4uIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNTgKKyM6IHVucGFjay10cmVlcy5jOjE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtNjQ5Miw3ICs4MjQ0LDcgQEAKICJzYW1tYW5zbGFnbmluZ2VuOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTYxCisjOiB1bnBhY2stdHJlZXMuYzoxNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTY1MDEsNyArODI1Myw3IEBACiAiRsO2bGphbmRlIG9zcMOlcmFkZSBmaWxlciBpIGFyYmV0c2thdGFsb2dlbiBza3VsbGUgc2tyaXZhcyDDtnZlciBhdiBcIiVzXCI6XG4iCiAiJSVzRmx5dHRhIGVsbGVyIHRhIGJvcnQgZGVtIGlubmFuIGR1IFwiJXNcIi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE2MworIzogdW5wYWNrLXRyZWVzLmM6MTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCkBAIC02NTEwLDEyICs4MjYyLDEyIEBACiAiRsO2bGphbmRlIG9zcMOlcmFkZSBmaWxlciBpIGFyYmV0c2thdGFsb2dlbiBza3VsbGUgc2tyaXZhcyDDtnZlciBhdiBcIiVzXCI6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNzEKKyM6IHVucGFjay10cmVlcy5jOjE2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJFbnRyeSAnJXMnIG92ZXJsYXBzIHdpdGggJyVzJy4gIENhbm5vdCBiaW5kLiIKIG1zZ3N0ciAiUG9zdGVuIFwiJXNcIiDDtnZlcmxhcHBhciBcIiVzXCIuIEthbiBpbnRlIGJpbmRhLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTc0CisjOiB1bnBhY2stdHJlZXMuYzoxNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgc3BhcnNlIGNoZWNrb3V0OiB0aGUgZm9sbG93aW5nIGVudHJpZXMgYXJlIG5vdCB1cCB0byBkYXRlOlxuIgpAQCAtNjUyNCw3ICs4Mjc2LDcgQEAKICJLYW4gaW50ZSB1cHBkYXRlcmEgZ2xlcyB1dGNoZWNrbmluZzogZsO2bGphbmRlIHBvc3RlciDDpHIgaW50ZSDDoCBqb3VyOlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNzYKKyM6IHVucGFjay10cmVlcy5jOjE3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgc3BhcnNlIGNoZWNrb3V0ICIKQEAgLTY1MzUsNyArODI4Nyw3IEBACiAidXRjaGVja25pbmc6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE3OAorIzogdW5wYWNrLXRyZWVzLmM6MTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCAiCkBAIC02NTQ2LDcgKzgyOTgsNyBAQAogInV0Y2hlY2tuaW5nOlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxODAKKyM6IHVucGFjay10cmVlcy5jOjE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBzdWJtb2R1bGU6XG4iCkBAIC02NTU1LDE2ICs4MzA3LDE2IEBACiAiS2FuIGludGUgdXBwZGF0ZXJhIHVuZGVybW9kdWw6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjI1NAorIzogdW5wYWNrLXRyZWVzLmM6MjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nXG4iCiBtc2dzdHIgIkF2YnJ5dGVyXG4iCiAKLSM6IHVucGFjay10cmVlcy5jOjMzNgotbXNnaWQgIkNoZWNraW5nIG91dCBmaWxlcyIKLW1zZ3N0ciAiQ2hlY2thciB1dCBmaWxlciIKKyM6IHVucGFjay10cmVlcy5jOjMxNworbXNnaWQgIlVwZGF0aW5nIGZpbGVzIgorbXNnc3RyICJVcHBkYXRlcmFyIGZpbGVyIgogCi0jOiB1bnBhY2stdHJlZXMuYzozNjgKKyM6IHVucGFjay10cmVlcy5jOjM0OQogbXNnaWQgIiIKICJ0aGUgZm9sbG93aW5nIHBhdGhzIGhhdmUgY29sbGlkZWQgKGUuZy4gY2FzZS1zZW5zaXRpdmUgcGF0aHNcbiIKICJvbiBhIGNhc2UtaW5zZW5zaXRpdmUgZmlsZXN5c3RlbSkgYW5kIG9ubHkgb25lIGZyb20gdGhlIHNhbWVcbiIKQEAgLTY1NzQsNiArODMyNiwxMCBAQAogInPDtmt2w6RnYXIgcMOlIGV0dCBva8OkbnNsaWd0IGZpbHN5c3RlbSkgb2NoIGVuZGFzdCBlbiBmcsOlbiBzYW1tYVxuIgogImtvbGxpc2lvbnNncnVwcCBmaW5ucyBpIGFyYmV0c2thdGFsb2dlbjpcbiIKIAorIzogdW5wYWNrLXRyZWVzLmM6MTQ0MQorbXNnaWQgIlVwZGF0aW5nIGluZGV4IGZsYWdzIgorbXNnc3RyICJVcHBkYXRlcmFyIGluZGV4ZmxhZ2dvciIKKwogIzogdXJsbWF0Y2guYzoxNjMKIG1zZ2lkICJpbnZhbGlkIFVSTCBzY2hlbWUgbmFtZSBvciBtaXNzaW5nICc6Ly8nIHN1ZmZpeCIKIG1zZ3N0ciAib2dpbHRpZyBVUkwtc2NoZW1hbmFtbiBlbGxlciBzYWtuYXQgXCI6Ly9cIi1zdWZmaXgiCkBAIC02NjAzLDE5OSArODM1OSwyMDUgQEAKIG1zZ2lkICJpbnZhbGlkICcuLicgcGF0aCBzZWdtZW50IgogbXNnc3RyICJmZWxha3RpZ3QgXCIuLlwiLXPDtmt2w6Rnc3NlZ21lbnQiCiAKLSM6IHdvcmt0cmVlLmM6MjQ5IGJ1aWx0aW4vYW0uYzoyMTAwCisjOiB3b3JrdHJlZS5jOjI1OCBidWlsdGluL2FtLmM6MjA4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAnJXMnIgogbXNnc3RyICJtaXNzbHlja2FkZXMgbMOkc2EgXCIlc1wiIgogCi0jOiB3b3JrdHJlZS5jOjI5NQorIzogd29ya3RyZWUuYzozMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBhdCBtYWluIHdvcmtpbmcgdHJlZSBpcyBub3QgdGhlIHJlcG9zaXRvcnkgZGlyZWN0b3J5IgogbXNnc3RyICJcIiVzXCIgaSBodXZ1ZGFyYmV0c2thdGFsb2dlbiDDpHIgaW50ZSBhcmtpdmthdGFsb2dlbiIKIAotIzogd29ya3RyZWUuYzozMDYKKyM6IHdvcmt0cmVlLmM6MzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZmlsZSBkb2VzIG5vdCBjb250YWluIGFic29sdXRlIHBhdGggdG8gdGhlIHdvcmtpbmcgdHJlZSBsb2NhdGlvbiIKIG1zZ3N0ciAiZmlsZW4gXCIlc1wiIGlubmVow6VsbGVyIGludGUgYWJzb2x1dCBzw7ZrdsOkZyB0aWxsIGFyYmV0c2thdGFsb2dlbiIKIAotIzogd29ya3RyZWUuYzozMTgKKyM6IHdvcmt0cmVlLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIlwiJXNcIiBmaW5ucyBpbnRlIgogCi0jOiB3b3JrdHJlZS5jOjMyNAorIzogd29ya3RyZWUuYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSAuZ2l0IGZpbGUsIGVycm9yIGNvZGUgJWQiCiBtc2dzdHIgIlwiJXNcIiDDpHIgaW50ZSBlbiAuZ2l0LWZpbCwgZmVsa29kICVkIgogCi0jOiB3b3JrdHJlZS5jOjMzMgorIzogd29ya3RyZWUuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBwb2ludCBiYWNrIHRvICclcyciCiBtc2dzdHIgIlwiJXNcIiBwZWthciBpbnRlIHRpbGxiYWthIHRpbGwgXCIlc1wiIgogCi0jOiB3cmFwcGVyLmM6MjIzIHdyYXBwZXIuYzozOTMKKyM6IHdyYXBwZXIuYzoxODYgd3JhcHBlci5jOjM1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIGFuZCB3cml0aW5nIgogbXNnc3RyICJrdW5kZSBpbnRlIMO2cHBuYSBcIiVzXCIgZsO2ciBsw6RzbmluZyBvY2ggc2tyaXZuaW5nIgogCi0jOiB3cmFwcGVyLmM6NDI0IHdyYXBwZXIuYzo2MjQKKyM6IHdyYXBwZXIuYzozODcgd3JhcHBlci5jOjU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyciCiBtc2dzdHIgImthbiBpbnRlIGtvbW1hIMOldCBcIiVzXCIiCiAKLSM6IHdyYXBwZXIuYzo2MzIKKyM6IHdyYXBwZXIuYzo1OTYKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgImthbiBpbnRlIGjDpG10YSBha3R1ZWxsIGFyYmV0c2thdGFsb2ciCiAKLSM6IHd0LXN0YXR1cy5jOjE1NAorIzogd3Qtc3RhdHVzLmM6MTU4CiBtc2dpZCAiVW5tZXJnZWQgcGF0aHM6IgogbXNnc3RyICJFaiBzYW1tYW5zbGFnbmEgc8O2a3bDpGdhcjoiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MSB3dC1zdGF0dXMuYzoyMDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgotbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJlc2V0ICVzIDxmaWw+Li4uXCIgZsO2ciBhdHQgdGEgYm9ydCBmcsOlbiBrw7YpIgorIzogd3Qtc3RhdHVzLmM6MTg3IHd0LXN0YXR1cy5jOjIxOQorbXNnaWQgIiAgKHVzZSBcImdpdCByZXN0b3JlIC0tc3RhZ2VkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgorbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbD4uLi5cIiBmw7ZyIGF0dCB0YSBib3J0IGZyw6VuIGvDtikiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MyB3dC1zdGF0dXMuYzoyMTAKKyM6IHd0LXN0YXR1cy5jOjE5MCB3dC1zdGF0dXMuYzoyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAodXNlIFwiZ2l0IHJlc3RvcmUgLS1zb3VyY2U9JXMgLS1zdGFnZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCittc2dzdHIgIiIKKyIgIChhbnbDpG5kIFwiZ2l0IHJlc3RvcmUgLS1zb3VyY2U9JXMgLS1zdGFnZWQgPGZpbD4uLi5cIiBmw7ZyIGF0dCB0YSBib3J0IGZyw6VuICIKKyJrw7YpIgorCisjOiB3dC1zdGF0dXMuYzoxOTMgd3Qtc3RhdHVzLmM6MjI1CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWw+Li4uXCIgZsO2ciBhdHQgdGEgYm9ydCBmcsOlbiBrw7YpIgogCi0jOiB3dC1zdGF0dXMuYzoxODcKKyM6IHd0LXN0YXR1cy5jOjE5NwogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBhZGQgPGZpbD4uLi5cIiBmw7ZyIGF0dCBhbmdlIGzDtnNuaW5nKSIKIAotIzogd3Qtc3RhdHVzLmM6MTg5IHd0LXN0YXR1cy5jOjE5MworIzogd3Qtc3RhdHVzLmM6MTk5IHd0LXN0YXR1cy5jOjIwMwogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBhZGQvcm0gPGZpbD4uLi5cIiBzb20gbMOkbXBsaWd0IGbDtnIgYXR0IGFuZ2UgbMO2c25pbmcpIgogCi0jOiB3dC1zdGF0dXMuYzoxOTEKKyM6IHd0LXN0YXR1cy5jOjIwMQogbXNnaWQgIiAgKHVzZSBcImdpdCBybSA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJtIDxmaWw+Li4uXCIgZsO2ciBhdHQgYW5nZSBsw7ZzbmluZykiCiAKLSM6IHd0LXN0YXR1cy5jOjIwMiB3dC1zdGF0dXMuYzoxMDQyCisjOiB3dC1zdGF0dXMuYzoyMTEgd3Qtc3RhdHVzLmM6MTA3NAogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiw4RuZHJpbmdhciBhdHQgY2hlY2thIGluOiIKIAotIzogd3Qtc3RhdHVzLmM6MjIwIHd0LXN0YXR1cy5jOjEwNTEKKyM6IHd0LXN0YXR1cy5jOjIzNCB3dC1zdGF0dXMuYzoxMDgzCiBtc2dpZCAiQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6IgogbXNnc3RyICLDhG5kcmluZ2FyIGVqIGkgaW5jaGVja25pbmdza8O2bjoiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNAorIzogd3Qtc3RhdHVzLmM6MjM4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiIKICIgIChhbnbDpG5kIFwiZ2l0IGFkZCA8ZmlsPi4uLlwiIGbDtnIgYXR0IHVwcGRhdGVyYSB2YWQgc29tIHNrYWxsIGNoZWNrYXMgaW4pIgogCi0jOiB3dC1zdGF0dXMuYzoyMjYKKyM6IHd0LXN0YXR1cy5jOjI0MAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAoYW52w6RuZCBcImdpdCBhZGQvcm0gPGZpbD4uLi5cIiBmw7ZyIGF0dCB1cHBkYXRlcmEgdmFkIHNvbSBza2FsbCBjaGVja2FzIGluKSIKIAotIzogd3Qtc3RhdHVzLmM6MjI3CisjOiB3dC1zdGF0dXMuYzoyNDEKIG1zZ2lkICIiCi0iICAodXNlIFwiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCisiICAodXNlIFwiZ2l0IHJlc3RvcmUgPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKIG1zZ3N0ciAiIgotIiAgKGFudsOkbmQgXCJnaXQgY2hlY2tvdXQgLS0gPGZpbD4uLi5cIiBmw7ZyIGF0dCBmw7Zya2FzdGEgw6RuZHJpbmdhciBpICIKKyIgIChhbnbDpG5kIFwiZ2l0IHJlc3RvcmUgPGZpbD4uLi5cIiBmw7ZyIGF0dCBmw7Zya2FzdGEgw6RuZHJpbmdhciBpICIKICJhcmJldHNrYXRhbG9nZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoyMjkKKyM6IHd0LXN0YXR1cy5jOjI0MwogbXNnaWQgIiAgKGNvbW1pdCBvciBkaXNjYXJkIHRoZSB1bnRyYWNrZWQgb3IgbW9kaWZpZWQgY29udGVudCBpbiBzdWJtb2R1bGVzKSIKIG1zZ3N0ciAiIgogIiAgKGNoZWNrYSBpbiBlbGxlciBmw7Zya2FzdGEgb3Nww6VyYXQgZWxsZXIgw6RuZHJhdCBpbm5laMOlbGwgaSB1bmRlcm1vZHVsZXIpIgogCi0jOiB3dC1zdGF0dXMuYzoyNDEKKyM6IHd0LXN0YXR1cy5jOjI1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCJnaXQgJXMgPGZpbGU+Li4uXCIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiIgogIiAgKGFudsOkbmQgXCJnaXQgJXMgPGZpbD4uLi5cIiBmw7ZyIGF0dCB0YSBtZWQgaSBkZXQgc29tIHNrYWxsIGNoZWNrYXMgaW4pIgogCi0jOiB3dC1zdGF0dXMuYzoyNTYKKyM6IHd0LXN0YXR1cy5jOjI2OAogbXNnaWQgImJvdGggZGVsZXRlZDoiCiBtc2dzdHIgImJvcnR0YWdldCBhdiBiw6RnZ2U6IgogCi0jOiB3dC1zdGF0dXMuYzoyNTgKKyM6IHd0LXN0YXR1cy5jOjI3MAogbXNnaWQgImFkZGVkIGJ5IHVzOiIKIG1zZ3N0ciAidGlsbGFndCBhdiBvc3M6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjAKKyM6IHd0LXN0YXR1cy5jOjI3MgogbXNnaWQgImRlbGV0ZWQgYnkgdGhlbToiCiBtc2dzdHIgImJvcnR0YWdldCBhdiBkZW06IgogCi0jOiB3dC1zdGF0dXMuYzoyNjIKKyM6IHd0LXN0YXR1cy5jOjI3NAogbXNnaWQgImFkZGVkIGJ5IHRoZW06IgogbXNnc3RyICJ0aWxsYWd0IGF2IGRlbToiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NAorIzogd3Qtc3RhdHVzLmM6Mjc2CiBtc2dpZCAiZGVsZXRlZCBieSB1czoiCiBtc2dzdHIgImJvcnR0YWdldCBhdiBvc3M6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjYKKyM6IHd0LXN0YXR1cy5jOjI3OAogbXNnaWQgImJvdGggYWRkZWQ6IgogbXNnc3RyICJ0aWxsYWd0IGF2IGLDpGdnZToiCiAKLSM6IHd0LXN0YXR1cy5jOjI2OAorIzogd3Qtc3RhdHVzLmM6MjgwCiBtc2dpZCAiYm90aCBtb2RpZmllZDoiCiBtc2dzdHIgIsOkbmRyYXQgYXYgYsOkZ2dlOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc4CisjOiB3dC1zdGF0dXMuYzoyOTAKIG1zZ2lkICJuZXcgZmlsZToiCiBtc2dzdHIgIm55IGZpbDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MAorIzogd3Qtc3RhdHVzLmM6MjkyCiBtc2dpZCAiY29waWVkOiIKIG1zZ3N0ciAia29waWVyYWQ6IgogCi0jOiB3dC1zdGF0dXMuYzoyODIKKyM6IHd0LXN0YXR1cy5jOjI5NAogbXNnaWQgImRlbGV0ZWQ6IgogbXNnc3RyICJib3J0dGFnZW46IgogCi0jOiB3dC1zdGF0dXMuYzoyODQKKyM6IHd0LXN0YXR1cy5jOjI5NgogbXNnaWQgIm1vZGlmaWVkOiIKIG1zZ3N0ciAiw6RuZHJhZDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NgorIzogd3Qtc3RhdHVzLmM6Mjk4CiBtc2dpZCAicmVuYW1lZDoiCiBtc2dzdHIgIm5hbW5ieXR0OiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg4CisjOiB3dC1zdGF0dXMuYzozMDAKIG1zZ2lkICJ0eXBlY2hhbmdlOiIKIG1zZ3N0ciAidHlwYnl0ZToiCiAKLSM6IHd0LXN0YXR1cy5jOjI5MAorIzogd3Qtc3RhdHVzLmM6MzAyCiBtc2dpZCAidW5rbm93bjoiCiBtc2dzdHIgIm9rw6RuZDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI5MgorIzogd3Qtc3RhdHVzLmM6MzA0CiBtc2dpZCAidW5tZXJnZWQ6IgogbXNnc3RyICJvc2FtbWFuc2xhZ2VuOiIKIAotIzogd3Qtc3RhdHVzLmM6MzcyCisjOiB3dC1zdGF0dXMuYzozODQKIG1zZ2lkICJuZXcgY29tbWl0cywgIgogbXNnc3RyICJueWEgaW5jaGVja25pbmdhciwgIgogCi0jOiB3dC1zdGF0dXMuYzozNzQKKyM6IHd0LXN0YXR1cy5jOjM4NgogbXNnaWQgIm1vZGlmaWVkIGNvbnRlbnQsICIKIG1zZ3N0ciAiw6RuZHJhdCBpbm5laMOlbGwsICIKIAotIzogd3Qtc3RhdHVzLmM6Mzc2CisjOiB3dC1zdGF0dXMuYzozODgKIG1zZ2lkICJ1bnRyYWNrZWQgY29udGVudCwgIgogbXNnc3RyICJvc3DDpXJhdCBpbm5laMOlbGwsICIKIAotIzogd3Qtc3RhdHVzLmM6ODgwCisjOiB3dC1zdGF0dXMuYzo5MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJ5IgogbXNnaWRfcGx1cmFsICJZb3VyIHN0YXNoIGN1cnJlbnRseSBoYXMgJWQgZW50cmllcyIKIG1zZ3N0clswXSAiU3Rhc2hlbiBpbm5laMOlbGxlciBqdXN0IG51ICVkIHBvc3QiCiBtc2dzdHJbMV0gIlN0YXNoZW4gaW5uZWjDpWxsZXIganVzdCBudSAlZCBwb3N0ZXIiCiAKLSM6IHd0LXN0YXR1cy5jOjkxMgorIzogd3Qtc3RhdHVzLmM6OTM4CiBtc2dpZCAiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiCiBtc2dzdHIgIlVuZGVybW9kdWxlciDDpG5kcmFkZSBtZW4gaW50ZSB1cHBkYXRlcmFkZToiCiAKLSM6IHd0LXN0YXR1cy5jOjkxNAorIzogd3Qtc3RhdHVzLmM6OTQwCiBtc2dpZCAiU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiVW5kZXJtb2R1bGVycyDDpG5kcmluZ2FyIGF0dCBjaGVja2EgaW46IgogCi0jOiB3dC1zdGF0dXMuYzo5OTYKKyM6IHd0LXN0YXR1cy5jOjEwMjIKIG1zZ2lkICIiCiAiRG8gbm90IG1vZGlmeSBvciByZW1vdmUgdGhlIGxpbmUgYWJvdmUuXG4iCiAiRXZlcnl0aGluZyBiZWxvdyBpdCB3aWxsIGJlIGlnbm9yZWQuIgpAQCAtNjgwMywxMDcgKzg1NjUsMTE4IEBACiAiUmFkZW4gb3ZhbiBmw6VyIGludGUgw6RuZHJhcyBlbGxlciB0YXMgYm9ydC5cbiIKICJBbGx0IHVuZGVyIGRlbiBrb21tZXIgdGFzIGJvcnQuIgogCi0jOiB3dC1zdGF0dXMuYzoxMDk3CisjOiB3dC1zdGF0dXMuYzoxMTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBjb21wdXRlIHRoZSBicmFuY2ggYWhlYWQvYmVoaW5kIHZhbHVlcy5cbiIKKyJZb3UgY2FuIHVzZSAnLS1uby1haGVhZC1iZWhpbmQnIHRvIGF2b2lkIHRoaXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJEZXQgdG9nICUuMmYgc2VrdW5kZXIgYXR0IHLDpGtuYSBmw7ZyZS9iYWtvbS12w6RyZGVuLlxuIgorIkR1IGthbiBhbnbDpG5kYSBcIi0tbm8tYWhlYWQtYmVoaW5kXCIgZsO2ciB1bmR2aWthIGRldHRhLlxuIgorCisjOiB3dC1zdGF0dXMuYzoxMTQ0CiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICJEdSBoYXIgZWogc2FtbWFuc2xhZ25hIHPDtmt2w6RnYXIuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTAwCisjOiB3dC1zdGF0dXMuYzoxMTQ3CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIKIG1zZ3N0ciAiICAocsOkdHRhIGtvbmZsaWt0ZXIgb2NoIGvDtnIgXCJnaXQgY29tbWl0XCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTAyCisjOiB3dC1zdGF0dXMuYzoxMTQ5CiBtc2dpZCAiICAodXNlIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiB0byBhYm9ydCB0aGUgbWVyZ2UpIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiBmw7ZyIGF0dCBhdmJyeXRhIHNhbW1hbnNsYWduaW5nZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMTA2CisjOiB3dC1zdGF0dXMuYzoxMTUzCiBtc2dpZCAiQWxsIGNvbmZsaWN0cyBmaXhlZCBidXQgeW91IGFyZSBzdGlsbCBtZXJnaW5nLiIKIG1zZ3N0ciAiQWxsYSBrb25mbGlrdGVyIGhhciByw6R0dGF0cyBtZW4gZHUgw6RyIGZvcnRmYXJhbmRlIGkgZW4gc2FtbWFuc2xhZ25pbmcuIgogCi0jOiB3dC1zdGF0dXMuYzoxMTA5CisjOiB3dC1zdGF0dXMuYzoxMTU2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBjb21taXRcIiBmw7ZyIGF0dCBzbHV0ZsO2cmEgc2FtbWFuc2xhZ25pbmdlbikiCiAKLSM6IHd0LXN0YXR1cy5jOjExMTgKKyM6IHd0LXN0YXR1cy5jOjExNjUKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvbi4iCiBtc2dzdHIgIkR1IMOkciBpIG1pdHRlbiBhdiBlbiBrw7ZybmluZyBhdiBcImdpdCBhbVwiLiIKIAotIzogd3Qtc3RhdHVzLmM6MTEyMQorIzogd3Qtc3RhdHVzLmM6MTE2OAogbXNnaWQgIlRoZSBjdXJyZW50IHBhdGNoIGlzIGVtcHR5LiIKIG1zZ3N0ciAiQWt0dWVsbCBwYXRjaCDDpHIgdG9tLiIKIAotIzogd3Qtc3RhdHVzLmM6MTEyNQorIzogd3Qtc3RhdHVzLmM6MTE3MgogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKHLDpHR0YSBrb25mbGlrdGVyIG9jaCBrw7ZyIHNlZGFuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjExMjcKKyM6IHd0LXN0YXR1cy5jOjExNzQKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBhbSAtLXNraXBcIiBmw7ZyIGF0dCBob3BwYSDDtnZlciBwYXRjaGVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTEyOQorIzogd3Qtc3RhdHVzLmM6MTE3NgogbXNnaWQgIiAgKHVzZSBcImdpdCBhbSAtLWFib3J0XCIgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBhbSAtLWFib3J0XCIgZsO2ciBhdHQgw6V0ZXJzdMOkbGxhIHVyc3BydW5nc2dyZW5lbikiCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjAKKyM6IHd0LXN0YXR1cy5jOjEzMDkKIG1zZ2lkICJnaXQtcmViYXNlLXRvZG8gaXMgbWlzc2luZy4iCiBtc2dzdHIgImdpdC1yZWJhc2UtdG9kbyBzYWtuYXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYyCisjOiB3dC1zdGF0dXMuYzoxMzExCiBtc2dpZCAiTm8gY29tbWFuZHMgZG9uZS4iCiBtc2dzdHIgIkluZ2Ega29tbWFuZG9uIHV0ZsO2cmRhLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2NQorIzogd3Qtc3RhdHVzLmM6MTMxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJMYXN0IGNvbW1hbmQgZG9uZSAoJWQgY29tbWFuZCBkb25lKToiCiBtc2dpZF9wbHVyYWwgIkxhc3QgY29tbWFuZHMgZG9uZSAoJWQgY29tbWFuZHMgZG9uZSk6IgogbXNnc3RyWzBdICJTaXN0YSBrb21tYW5kb3QgdXRmw7ZydCAoJWQga29tbWFuZG8gdXRmw7ZydCk6IgogbXNnc3RyWzFdICJTaXN0YSBrb21tYW5kb3QgdXRmw7ZydCAoJWQga29tbWFuZG9uIHV0ZsO2cnQpOiIKIAotIzogd3Qtc3RhdHVzLmM6MTI3NgorIzogd3Qtc3RhdHVzLmM6MTMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIChzZWUgbW9yZSBpbiBmaWxlICVzKSIKIG1zZ3N0ciAiICAoc2UgZmxlciBpIGZpbGVuICVzKSIKIAotIzogd3Qtc3RhdHVzLmM6MTI4MQorIzogd3Qtc3RhdHVzLmM6MTMzMAogbXNnaWQgIk5vIGNvbW1hbmRzIHJlbWFpbmluZy4iCiBtc2dzdHIgIkluZ2Ega29tbWFuZG9uIMOldGVyc3TDpXIuIgogCi0jOiB3dC1zdGF0dXMuYzoxMjg0CisjOiB3dC1zdGF0dXMuYzoxMzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5leHQgY29tbWFuZCB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmQpOiIKIG1zZ2lkX3BsdXJhbCAiTmV4dCBjb21tYW5kcyB0byBkbyAoJWQgcmVtYWluaW5nIGNvbW1hbmRzKToiCiBtc2dzdHJbMF0gIk7DpHN0YSBrb21tYW5kbyBhdHQgdXRmw7ZyYSAoJWQga29tbWFuZG8gw6V0ZXJzdMOlcik6IgogbXNnc3RyWzFdICJGw7ZsamFuZGUga29tbWFuZG9uIGF0dCB1dGbDtnJhICglZCBrb21tYW5kb24gw6V0ZXJzdMOlcik6IgogCi0jOiB3dC1zdGF0dXMuYzoxMjkyCisjOiB3dC1zdGF0dXMuYzoxMzQxCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIHRvIHZpZXcgYW5kIGVkaXQpIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIGbDtnIgYXR0IHZpc2Egb2NoIHJlZGlnZXJhKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMwNAorIzogd3Qtc3RhdHVzLmM6MTM1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAiRHUgaMOlbGxlciBww6UgYXR0IG9tYmFzZXJhIGdyZW5lbiBcIiVzXCIgb3ZhbnDDpSBcIiVzXCIuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzA5CisjOiB3dC1zdGF0dXMuYzoxMzU4CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICJEdSBow6VsbGVyIHDDpSBtZWQgZW4gb21iYXNlcmluZy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzMjIKKyM6IHd0LXN0YXR1cy5jOjEzNzEKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAocsOkdHRhIGtvbmZsaWt0ZXIgb2NoIGvDtnIgc2VkYW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMjQKKyM6IHd0LXN0YXR1cy5jOjEzNzMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKGFudsOkbmQgXCJnaXQgcmViYXNlIC0tc2tpcFwiIGbDtnIgYXR0IGhvcHBhIMO2dmVyIHBhdGNoZW4pIgogCi0jOiB3dC1zdGF0dXMuYzoxMzI2CisjOiB3dC1zdGF0dXMuYzoxMzc1CiBtc2dpZCAiICAodXNlIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgdG8gY2hlY2sgb3V0IHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJlYmFzZSAtLWFib3J0XCIgZsO2ciBhdHQgY2hlY2thIHV0IHVyc3BydW5nc2dyZW5lbikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMzMKKyM6IHd0LXN0YXR1cy5jOjEzODIKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKGFsbGEga29uZmxpa3RlciByw6R0dGFkZToga8O2ciBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTMzNworIzogd3Qtc3RhdHVzLmM6MTM4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgpAQCAtNjkxMSwxMjYgKzg2ODQsMTQyIEBACiAiRHUgaMOlbGxlciBww6UgYXR0IGRlbGEgdXBwIGVuIGluY2hlY2tuaW5nIG1lZGFuIGR1IG9tYmFzZXJhciBncmVuZW4gXCIlc1wiICIKICJvdmFucMOlIFwiJXNcIi4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzNDIKKyM6IHd0LXN0YXR1cy5jOjEzOTEKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAiRHUgaMOlbGxlciBww6UgYXR0IGRlbGEgdXBwIGVuIGluY2hlY2tuaW5nIGkgZW4gb21iYXNlcmluZy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzNDUKKyM6IHd0LXN0YXR1cy5jOjEzOTQKIG1zZ2lkICIgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoU8OlIGZvcnQgZGluIGFyYmV0c2thdGFsb2cgw6RyIHJlbiwga8O2ciBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM0OQorIzogd3Qtc3RhdHVzLmM6MTM5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCiAiRHUgaMOlbGxlciBww6UgYXR0IHJlZGlnZXJhIGVuIGluY2hlY2tuaW5nIG1lZGFuIGR1IG9tYmFzZXJhciBncmVuZW4gXCIlc1wiICIKICJvdmFucMOlIFwiJXNcIi4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzNTQKKyM6IHd0LXN0YXR1cy5jOjE0MDMKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIkR1IGjDpWxsZXIgcMOlIGF0dCByZWRpZ2VyYSBlbiBpbmNoZWNrbmluZyB1bmRlciBlbiBvbWJhc2VyaW5nLiIKIAotIzogd3Qtc3RhdHVzLmM6MTM1NworIzogd3Qtc3RhdHVzLmM6MTQwNgogbXNnaWQgIiAgKHVzZSBcImdpdCBjb21taXQgLS1hbWVuZFwiIHRvIGFtZW5kIHRoZSBjdXJyZW50IGNvbW1pdCkiCiBtc2dzdHIgIiIKICIgIChhbnbDpG5kIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgZsO2ciBhdHQgbMOkZ2dhIHRpbGwgcMOlIGFrdHVlbGwgaW5jaGVja25pbmcpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzU5CisjOiB3dC1zdGF0dXMuYzoxNDA4CiBtc2dpZCAiIgogIiAgKHVzZSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQgd2l0aCB5b3VyIGNoYW5nZXMpIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIgbsOkciBkdSDDpHIgbsO2amQgbWVkIGRpbmEgw6RuZHJpbmdhcikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNjgKKyM6IHd0LXN0YXR1cy5jOjE0MTkKK21zZ2lkICJDaGVycnktcGljayBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MuIgorbXNnc3RyICJDaGVycnktcGljayBww6Vnw6VyLiIKKworIzogd3Qtc3RhdHVzLmM6MTQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgogbXNnc3RyICJEdSBow6VsbGVyIHDDpSBtZWQgZW4gXCJjaGVycnktcGlja1wiIGF2IGluY2hlY2tuaW5nZW4gJXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzczCisjOiB3dC1zdGF0dXMuYzoxNDI5CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKHLDpHR0YSBrb25mbGlrdGVyIG9jaCBrw7ZyIHNlZGFuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNzYKKyM6IHd0LXN0YXR1cy5jOjE0MzIKK21zZ2lkICIgIChydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHRvIGNvbnRpbnVlKSIKK21zZ3N0ciAiICAoa8O2ciBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgZsO2ciBhdHQgZm9ydHPDpHR0YSkiCisKKyM6IHd0LXN0YXR1cy5jOjE0MzUKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICAoYWxsYSBrb25mbGlrdGVyIHLDpHR0YWRlOiBrw7ZyIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNzgKKyM6IHd0LXN0YXR1cy5jOjE0MzcKK21zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKK21zZ3N0ciAiICAoYW52w6RuZCBcImdpdCBjaGVycnktcGljayAtLXNraXBcIiBmw7ZyIGF0dCBob3BwYSDDtnZlciBwYXRjaGVuKSIKKworIzogd3Qtc3RhdHVzLmM6MTQzOQogbXNnaWQgIiAgKHVzZSBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSBjaGVycnktcGljayBvcGVyYXRpb24pIgogbXNnc3RyICIiCiAiICAoYW52w6RuZCBcImdpdCBjaGVycnktcGljayAtLWFib3J0XCIgZsO2ciBhdHQgYXZicnl0YSBcImNoZXJyeS1waWNrXCItIgogIm9wZXJhdGlvbmVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM4NgorIzogd3Qtc3RhdHVzLmM6MTQ0OQorbXNnaWQgIlJldmVydCBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MuIgorbXNnc3RyICLDhW5ncmluZyBww6Vnw6VyLiIKKworIzogd3Qtc3RhdHVzLmM6MTQ1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZXZlcnRpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiRHUgaMOlbGxlciBww6UgbWVkIGF0dCDDpW5ncmEgaW5jaGVja25pbmdlbiAlcy4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzOTEKKyM6IHd0LXN0YXR1cy5jOjE0NTgKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKHLDpHR0YSBrb25mbGlrdGVyIG9jaCBrw7ZyIHNlZGFuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzk0CisjOiB3dC1zdGF0dXMuYzoxNDYxCittc2dpZCAiICAocnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIgdG8gY29udGludWUpIgorbXNnc3RyICIgIChrw7ZyIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIgZsO2ciBhdHQgZm9ydHPDpHR0YSkiCisKKyM6IHd0LXN0YXR1cy5jOjE0NjQKIG1zZ2lkICIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCiBtc2dzdHIgIiAgKGFsbGEga29uZmxpa3RlciByw6R0dGFkZToga8O2ciBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM5NgorIzogd3Qtc3RhdHVzLmM6MTQ2NgorbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKK21zZ3N0ciAiICAoYW52w6RuZCBcImdpdCByZXZlcnQgLS1za2lwXCIgZsO2ciBhdHQgaG9wcGEgw7Z2ZXIgcGF0Y2hlbikiCisKKyM6IHd0LXN0YXR1cy5jOjE0NjgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIgIChhbnbDpG5kIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgZsO2ciBhdHQgYXZicnl0YSDDpW5ncmFuZGV0KSIKIAotIzogd3Qtc3RhdHVzLmM6MTQwNgorIzogd3Qtc3RhdHVzLmM6MTQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcsIHN0YXJ0ZWQgZnJvbSBicmFuY2ggJyVzJy4iCiBtc2dzdHIgIkR1IGjDpWxsZXIgcMOlIG1lZCBlbiBcImJpc2VjdFwiLCBzdGFydGFkIGZyw6VuIGdyZW5lbiBcIiVzXCIuIgogCi0jOiB3dC1zdGF0dXMuYzoxNDEwCisjOiB3dC1zdGF0dXMuYzoxNDgyCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLiIKIG1zZ3N0ciAiRHUgaMOlbGxlciBww6UgbWVkIGVuIFwiYmlzZWN0XCIuIgogCi0jOiB3dC1zdGF0dXMuYzoxNDEzCisjOiB3dC1zdGF0dXMuYzoxNDg1CiBtc2dpZCAiICAodXNlIFwiZ2l0IGJpc2VjdCByZXNldFwiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIiCiAiICAoYW52w6RuZCBcImdpdCBiaXNlY3QgcmVzZXRcIiBmw7ZyIGF0dCBrb21tYSB0aWxsYmFrYSB0aWxsIHVyc3BydW5nc2dyZW5lbikiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTEKKyM6IHd0LXN0YXR1cy5jOjE2OTQKIG1zZ2lkICJPbiBicmFuY2ggIgogbXNnc3RyICJQw6UgZ3JlbmVuICIKIAotIzogd3Qtc3RhdHVzLmM6MTYxOAorIzogd3Qtc3RhdHVzLmM6MTcwMQogbXNnaWQgImludGVyYWN0aXZlIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgImludGVyYWt0aXYgb21iYXNlcmluZyBww6Vnw6VyOyBvdmFucMOlICIKIAotIzogd3Qtc3RhdHVzLmM6MTYyMAorIzogd3Qtc3RhdHVzLmM6MTcwMwogbXNnaWQgInJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgIm9tYmFzZXJpbmcgcMOlZ8Olcjsgb3ZhbnDDpSAiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MjUKLW1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKLW1zZ3N0ciAiSEVBRCBmcsOlbmtvcHBsYWQgdmlkICIKLQotIzogd3Qtc3RhdHVzLmM6MTYyNwotbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCi1tc2dzdHIgIkhFQUQgZnLDpW5rb3BwbGFkIGZyw6VuICIKLQotIzogd3Qtc3RhdHVzLmM6MTYzMAorIzogd3Qtc3RhdHVzLmM6MTcxMwogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIkludGUgcMOlIG7DpWdvbiBncmVuIGbDtnIgbsOkcnZhcmFuZGUuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjQ3CisjOiB3dC1zdGF0dXMuYzoxNzMwCiBtc2dpZCAiSW5pdGlhbCBjb21taXQiCiBtc2dzdHIgIkbDtnJzdGEgaW5jaGVja25pbmciCiAKLSM6IHd0LXN0YXR1cy5jOjE2NDgKKyM6IHd0LXN0YXR1cy5jOjE3MzEKIG1zZ2lkICJObyBjb21taXRzIHlldCIKIG1zZ3N0ciAiSW5nYSBpbmNoZWNrbmluZ2FyIMOkbm51IgogCi0jOiB3dC1zdGF0dXMuYzoxNjYyCisjOiB3dC1zdGF0dXMuYzoxNzQ1CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJPc3DDpXJhZGUgZmlsZXIiCiAKLSM6IHd0LXN0YXR1cy5jOjE2NjQKKyM6IHd0LXN0YXR1cy5jOjE3NDcKIG1zZ2lkICJJZ25vcmVkIGZpbGVzIgogbXNnc3RyICJJZ25vcmVyYWRlIGZpbGVyIgogCi0jOiB3dC1zdGF0dXMuYzoxNjY4CisjOiB3dC1zdGF0dXMuYzoxNzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCkBAIC03MDQyLDMyICs4ODMxLDMyIEBACiAibMOkZ2dhIHRpbGwgbnlhIGZpbGVyIHNqw6RsdiAoc2UgXCJnaXQgaGVscCBzdGF0dXNcIikuIgogCiAjICVzIMOkciBuw6RzdGEgc3Ryw6RuZyBlbGxlciB0b20uCi0jOiB3dC1zdGF0dXMuYzoxNjc0CisjOiB3dC1zdGF0dXMuYzoxNzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkJXMiCiBtc2dzdHIgIk9zcMOlcmFkZSBmaWxlciB2aXNhcyBlaiVzIgogCi0jOiB3dC1zdGF0dXMuYzoxNjc2CisjOiB3dC1zdGF0dXMuYzoxNzU5CiBtc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKIG1zZ3N0ciAiIChhbnbDpG5kIGZsYWdnYW4gLXUgZsO2ciBhdHQgdmlzYSBvc3DDpXJhZGUgZmlsZXIpIgogCi0jOiB3dC1zdGF0dXMuYzoxNjgyCisjOiB3dC1zdGF0dXMuYzoxNzY1CiBtc2dpZCAiTm8gY2hhbmdlcyIKIG1zZ3N0ciAiSW5nYSDDpG5kcmluZ2FyIgogCi0jOiB3dC1zdGF0dXMuYzoxNjg3CisjOiB3dC1zdGF0dXMuYzoxNzcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgXCJnaXQgYWRkXCIgYW5kL29yIFwiZ2l0IGNvbW1pdCAtYVwiKVxuIgogbXNnc3RyICIiCiAiaW5nYSDDpG5kcmluZ2FyIGF0dCBjaGVja2EgaW4gKGFudsOkbmQgXCJnaXQgYWRkXCIgb2NoL2VsbGVyIFwiZ2l0IGNvbW1pdCAtYSIKICJcIilcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTY5MAorIzogd3Qtc3RhdHVzLmM6MTc3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdFxuIgogbXNnc3RyICJpbmdhIMOkbmRyaW5nYXIgYXR0IGNoZWNrYSBpblxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjkzCisjOiB3dC1zdGF0dXMuYzoxNzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnQgKHVzZSBcImdpdCBhZGRcIiB0byAiCkBAIC03MDc2LDE4NiArODg2NSwxOTEgQEAKICJpbmdldCBrw7ZhdCBmw7ZyIGluY2hlY2tuaW5nLCBtZW4gb3Nww6VyYWRlIGZpbGVyIGZpbm5zIChzcMOlcmEgbWVkIFwiZ2l0IGFkZCIKICJcIilcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTY5NgorIzogd3Qtc3RhdHVzLmM6MTc3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnRcbiIKIG1zZ3N0ciAiaW5nZXQga8O2YXQgZsO2ciBpbmNoZWNrbmluZywgbWVuIG9zcMOlcmFkZSBmaWxlciBmaW5uc1xuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjk5CisjOiB3dC1zdGF0dXMuYzoxNzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0IChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKVxuIgogbXNnc3RyICJpbmdldCBhdHQgY2hlY2thIGluIChza2FwYS9rb3BpZXJhIGZpbGVyIG9jaCBzcMOlcmEgbWVkIFwiZ2l0IGFkZFwiKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNzAyIHd0LXN0YXR1cy5jOjE3MDcKKyM6IHd0LXN0YXR1cy5jOjE3ODUgd3Qtc3RhdHVzLmM6MTc5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgogbXNnc3RyICJpbmdldCBhdHQgY2hlY2thIGluXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE3MDUKKyM6IHd0LXN0YXR1cy5jOjE3ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAiaW5nZXQgYXR0IGNoZWNrYSBpbiAoYW52w6RuZCAtdSBmw7ZyIGF0dCB2aXNhIG9zcMOlcmFkZSBmaWxlcilcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTcwOQorIzogd3Qtc3RhdHVzLmM6MTc5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyB0cmVlIGNsZWFuXG4iCiBtc2dzdHIgImluZ2V0IGF0dCBjaGVja2EgaW4sIGFyYmV0c2thdGFsb2dlbiByZW5cbiIKIAotIzogd3Qtc3RhdHVzLmM6MTgyMgorIzogd3Qtc3RhdHVzLmM6MTkwNQogbXNnaWQgIk5vIGNvbW1pdHMgeWV0IG9uICIKIG1zZ3N0ciAiSW5nYSBpbmNoZWNrbmluZ2FyIMOkbm51IHDDpSAiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MjYKKyM6IHd0LXN0YXR1cy5jOjE5MDkKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICJIRUFEIChpbmdlbiBncmVuKSIKIAotIzogd3Qtc3RhdHVzLmM6MTg1NworIzogd3Qtc3RhdHVzLmM6MTk0MAogbXNnaWQgImRpZmZlcmVudCIKIG1zZ3N0ciAib2xpa2EiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NTkgd3Qtc3RhdHVzLmM6MTg2NworIzogd3Qtc3RhdHVzLmM6MTk0MiB3dC1zdGF0dXMuYzoxOTUwCiBtc2dpZCAiYmVoaW5kICIKIG1zZ3N0ciAiZWZ0ZXIgIgogCi0jOiB3dC1zdGF0dXMuYzoxODYyIHd0LXN0YXR1cy5jOjE4NjUKKyM6IHd0LXN0YXR1cy5jOjE5NDUgd3Qtc3RhdHVzLmM6MTk0OAogbXNnaWQgImFoZWFkICIKIG1zZ3N0ciAiZsO2cmUgIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGFjdGlvbiBpcyBlLmcuICJwdWxsIHdpdGggcmViYXNlIgotIzogd3Qtc3RhdHVzLmM6MjM3NAorIzogd3Qtc3RhdHVzLmM6MjQ3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgJXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJrYW4gaW50ZSAlczogRHUgaGFyIG9rw7ZhZGUgw6RuZHJpbmdhci4iCiAKLSM6IHd0LXN0YXR1cy5jOjIzODAKKyM6IHd0LXN0YXR1cy5jOjI0NzYKIG1zZ2lkICJhZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgImRlc3N1dG9tIGlubmVow6VsbGVyIGRpdCBpbmRleCDDpG5kcmluZ2FyIHNvbSBpbnRlIGhhciBjaGVja2F0cyBpbi4iCiAKLSM6IHd0LXN0YXR1cy5jOjIzODIKKyM6IHd0LXN0YXR1cy5jOjI0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICVzOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICJrYW4gaW50ZSAlczogRGl0dCBpbmRleCBpbm5laMOlbGxlciDDpG5kcmluZ2FyIHNvbSBpbnRlIGNoZWNrYXRzIGluLiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNAorIzogY29tcGF0L3ByZWNvbXBvc2VfdXRmOC5jOjU4IGJ1aWx0aW4vY2xvbmUuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAnJXMnIgorbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgYm9ydCBsw6Rua2VuIFwiJXNcIiIKKworIzogYnVpbHRpbi9hZGQuYzoyNgogbXNnaWQgImdpdCBhZGQgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgogbXNnc3RyICJnaXQgYWRkIFs8ZmxhZ2dvcj5dIFstLV0gPHPDtmt2w6RnPi4uLiIKIAotIzogYnVpbHRpbi9hZGQuYzo4MworIzogYnVpbHRpbi9hZGQuYzo4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGRpZmYgc3RhdHVzICVjIgogbXNnc3RyICJkaWZmLXN0YXR1cyAlYyBmw7ZydsOkbnRhZGVzIGludGUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6ODggYnVpbHRpbi9jb21taXQuYzoyODQKKyM6IGJ1aWx0aW4vYWRkLmM6OTIgYnVpbHRpbi9jb21taXQuYzoyODgKIG1zZ2lkICJ1cGRhdGluZyBmaWxlcyBmYWlsZWQiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB1cHBkYXRlcmEgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6OTgKKyM6IGJ1aWx0aW4vYWRkLmM6MTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgInRhIGJvcnQgXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MTczCisjOiBidWlsdGluL2FkZC5jOjE3NwogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVmcmVzaGluZyB0aGUgaW5kZXg6IgogbXNnc3RyICJPa8O2YWRlIMOkbmRyaW5nYXIgZWZ0ZXIgYXR0IGhhIHVwcGRhdGVyYXQgaW5kZXhldDoiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjMzIGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODk1CisjOiBidWlsdGluL2FkZC5jOjI1MiBidWlsdGluL3Jldi1wYXJzZS5jOjg5OQogbXNnaWQgIkNvdWxkIG5vdCByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBsw6RzYSBpbmRleGV0IgogCi0jOiBidWlsdGluL2FkZC5jOjI0NAorIzogYnVpbHRpbi9hZGQuYzoyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZy4iCiBtc2dzdHIgIkt1bmRlIGludGUgw7ZwcG5hIFwiJXNcIiBmw7ZyIHNrcml2bmluZy4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQ4CisjOiBidWlsdGluL2FkZC5jOjI2NwogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBwYXRjaCIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBza3JpdmEgcGF0Y2giCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjUxCisjOiBidWlsdGluL2FkZC5jOjI3MAogbXNnaWQgImVkaXRpbmcgcGF0Y2ggZmFpbGVkIgogbXNnc3RyICJyZWRpZ2VyaW5nIGF2IHBhdGNoIG1pc3NseWNrYWRlcyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTQKKyM6IGJ1aWx0aW4vYWRkLmM6MjczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzdGF0ICclcyciCiBtc2dzdHIgIkt1bmRlIGludGUgdGEgc3RhdHVzIHDDpSBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU2CisjOiBidWlsdGluL2FkZC5jOjI3NQogbXNnaWQgIkVtcHR5IHBhdGNoLiBBYm9ydGVkLiIKIG1zZ3N0ciAiVG9tIHBhdGNoLiBBdmJyeXRlci4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjYxCisjOiBidWlsdGluL2FkZC5jOjI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSB0aWxsw6RtcGEgXCIlc1wiIgogCi0jOiBidWlsdGluL2FkZC5jOjI2OQorIzogYnVpbHRpbi9hZGQuYzoyODgKIG1zZ2lkICJUaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6XG4iCiBtc2dzdHIgIkbDtmxqYW5kZSBzw7ZrdsOkZ2FyIGlnbm9yZXJhcyBhdiBlbiBhdiBkaW5hIC5naXRpZ25vcmUtZmlsZXI6XG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjg5IGJ1aWx0aW4vY2xlYW4uYzo5MDcgYnVpbHRpbi9mZXRjaC5jOjEzNyBidWlsdGluL212LmM6MTIzCi0jOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU2IGJ1aWx0aW4vcHVsbC5jOjIxMyBidWlsdGluL3B1c2guYzo1NTcKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM0NSBidWlsdGluL3JtLmM6MjQwIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY1CisjOiBidWlsdGluL2FkZC5jOjMwOCBidWlsdGluL2NsZWFuLmM6OTEwIGJ1aWx0aW4vZmV0Y2guYzoxNjMgYnVpbHRpbi9tdi5jOjEyNAorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NiBidWlsdGluL3B1bGwuYzoyMjMgYnVpbHRpbi9wdXNoLmM6NTQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjEzNDQgYnVpbHRpbi9ybS5jOjI0MSBidWlsdGluL3NlbmQtcGFjay5jOjE2NQogbXNnaWQgImRyeSBydW4iCiBtc2dzdHIgInRlc3Rrw7ZybmluZyIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTIKKyM6IGJ1aWx0aW4vYWRkLmM6MzExCiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAicGxvY2thIGludGVyYWt0aXZ0IgogCi0jOiBidWlsdGluL2FkZC5jOjI5MyBidWlsdGluL2NoZWNrb3V0LmM6MTI1OCBidWlsdGluL3Jlc2V0LmM6MzA1CisjOiBidWlsdGluL2FkZC5jOjMxMiBidWlsdGluL2NoZWNrb3V0LmM6MTQ4MiBidWlsdGluL3Jlc2V0LmM6MzA3CiBtc2dpZCAic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgInbDpGxqIHN0eWNrZW4gaW50ZXJha3RpdnQiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk0CisjOiBidWlsdGluL2FkZC5jOjMxMwogbXNnaWQgImVkaXQgY3VycmVudCBkaWZmIGFuZCBhcHBseSIKIG1zZ3N0ciAicmVkaWdlcmEgYWt0dWVsbCBkaWZmIG9jaCBhcHBsaWNlcmEiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk1CisjOiBidWlsdGluL2FkZC5jOjMxNAogbXNnaWQgImFsbG93IGFkZGluZyBvdGhlcndpc2UgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAidGlsbMOldCBsw6RnZ2EgdGlsbCBhbm5hcnMgaWdub3JlcmFkZSBmaWxlciIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTYKKyM6IGJ1aWx0aW4vYWRkLmM6MzE1CiBtc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgInVwcGRhdGVyYSBzcMOlcmFkZSBmaWxlciIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTcKKyM6IGJ1aWx0aW4vYWRkLmM6MzE2CiBtc2dpZCAicmVub3JtYWxpemUgRU9MIG9mIHRyYWNrZWQgZmlsZXMgKGltcGxpZXMgLXUpIgogbXNnc3RyICLDpXRlcm5vcm1hbGlzZXJhIHJhZHNsdXQgaSBzcMOlcmFkZSBmaWxlciAoaW1wbGljZXJhciAtdSkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk4CisjOiBidWlsdGluL2FkZC5jOjMxNwogbXNnaWQgInJlY29yZCBvbmx5IHRoZSBmYWN0IHRoYXQgdGhlIHBhdGggd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAicmVnaXN0cmVyYSBlbmRhc3QgYXR0IHPDtmt2w6RnZW4ga29tbWVyIGzDpGdnYXMgdGlsbCBzZW5hcmUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk5CisjOiBidWlsdGluL2FkZC5jOjMxOAogbXNnaWQgImFkZCBjaGFuZ2VzIGZyb20gYWxsIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAibMOkZ2cgdGlsbCDDpG5kcmluZ2FyIGZyw6VuIGFsbGEgc3DDpXJhZGUgb2NoIG9zcMOlcmFkZSBmaWxlciIKIAotIzogYnVpbHRpbi9hZGQuYzozMDIKKyM6IGJ1aWx0aW4vYWRkLmM6MzIxCiBtc2dpZCAiaWdub3JlIHBhdGhzIHJlbW92ZWQgaW4gdGhlIHdvcmtpbmcgdHJlZSAoc2FtZSBhcyAtLW5vLWFsbCkiCiBtc2dzdHIgImlnbm9yZXJhIHPDtmt2w6RnYXIgYm9ydHRhZ25hIGkgYXJiZXRza2F0YWxvZ2VuIChzYW1tYSBzb20gLS1uby1hbGwpIgogCi0jOiBidWlsdGluL2FkZC5jOjMwNAorIzogYnVpbHRpbi9hZGQuYzozMjMKIG1zZ2lkICJkb24ndCBhZGQsIG9ubHkgcmVmcmVzaCB0aGUgaW5kZXgiCiBtc2dzdHIgImzDpGdnIGludGUgdGlsbCwgdXBwZGF0ZXJhIGVuZGFzdCBpbmRleGV0IgogCi0jOiBidWlsdGluL2FkZC5jOjMwNQorIzogYnVpbHRpbi9hZGQuYzozMjQKIG1zZ2lkICJqdXN0IHNraXAgZmlsZXMgd2hpY2ggY2Fubm90IGJlIGFkZGVkIGJlY2F1c2Ugb2YgZXJyb3JzIgogbXNnc3RyICJob3BwYSBiYXJhIMO2dmVyIGZpbGVyIHNvbSBpbnRlIGthbiBsw6RnZ2FzIHRpbGwgcMOlIGdydW5kIGF2IGZlbCIKIAotIzogYnVpbHRpbi9hZGQuYzozMDYKKyM6IGJ1aWx0aW4vYWRkLmM6MzI1CiBtc2dpZCAiY2hlY2sgaWYgLSBldmVuIG1pc3NpbmcgLSBmaWxlcyBhcmUgaWdub3JlZCBpbiBkcnkgcnVuIgogbXNnc3RyICJzZSBvbSAtIMOkdmVuIHNha25hZGUgLSBmaWxlciBpZ25vcmVyYXMgaSB0ZXN0a8O2cm5pbmciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA4IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkwCisjOiBidWlsdGluL2FkZC5jOjMyNyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDQKIG1zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKIG1zZ3N0ciAiw7Z2ZXJzdHlyIGV4ZWt2ZXJpbmdzYml0ZW4gZsO2ciBhbmdpdm5hIGZpbGVyIgogCi0jOiBidWlsdGluL2FkZC5jOjMxMAorIzogYnVpbHRpbi9hZGQuYzozMjkKIG1zZ2lkICJ3YXJuIHdoZW4gYWRkaW5nIGFuIGVtYmVkZGVkIHJlcG9zaXRvcnkiCiBtc2dzdHIgInZhcm5hIG7DpHIgZXR0IGluYnlnZ3QgYXJraXYgbMOkZ2dzIHRpbGwiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzI1CisjOiBidWlsdGluL2FkZC5jOjM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91J3ZlIGFkZGVkIGFub3RoZXIgZ2l0IHJlcG9zaXRvcnkgaW5zaWRlIHlvdXIgY3VycmVudCByZXBvc2l0b3J5LlxuIgpAQCAtNzI4NCwxNTIgKzkwNzgsMTY2IEBACiAiXG4iCiAiXHRnaXQgcm0gLS1jYWNoZWQgJXNcbiIKICJcbiIKLSJTZSDigJ1naXQgaGVscCBzdWJtb2R1bGXigJ0gZsO2ciB5dHRlcmxpZ2FyZSBpbmZvcm1hdGlvbi4iCisiU2UgXCJnaXQgaGVscCBzdWJtb2R1bGVcIiBmw7ZyIHl0dGVybGlnYXJlIGluZm9ybWF0aW9uLiIKIAotIzogYnVpbHRpbi9hZGQuYzozNTMKKyM6IGJ1aWx0aW4vYWRkLmM6Mzc1CiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZGluZyBlbWJlZGRlZCBnaXQgcmVwb3NpdG9yeTogJXMiCiBtc2dzdHIgImzDpGdnZXIgdGlsbCBpbmLDpGRkYXQgZ2l0LWFya2l2OiAlcyIKIAotIzogYnVpbHRpbi9hZGQuYzozNzEKKyM6IGJ1aWx0aW4vYWRkLmM6MzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIHRoZW0uXG4iCiBtc2dzdHIgIkFudsOkbmQgLWYgb20gZHUgdmVya2xpZ2VuIHZpbGwgbMOkZ2dhIHRpbGwgZGVtLlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjM3OQorIzogYnVpbHRpbi9hZGQuYzo0MDAKIG1zZ2lkICJhZGRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICJtaXNzbHlja2FkZXMgbMOkZ2dhIHRpbGwgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDE3CisjOiBidWlsdGluL2FkZC5jOjQyOCBidWlsdGluL2NvbW1pdC5jOjM0OAorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0taW50ZXJhY3RpdmUvLS1wYXRjaCIKK21zZ3N0ciAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgw6RyIGlua29tcGF0aWJlbHQgbWVkIC0taW50ZXJhY3RpdmUvLS1wYXRjaCIKKworIzogYnVpbHRpbi9hZGQuYzo0MzQKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWVkaXQiCittc2dzdHIgIi0tcGF0aHNwZWMtZnJvbS1maWxlIMOkciBpbmtvbXBhdGliZWx0IG1lZCAtLWVkaXQiCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDQ2CiBtc2dpZCAiLUEgYW5kIC11IGFyZSBtdXR1YWxseSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi1BIG9jaCAtdSDDpHIgw7Ztc2VzaWRpZ3QgaW5rb21wYXRpYmxhIgogCi0jOiBidWlsdGluL2FkZC5jOjQyNAorIzogYnVpbHRpbi9hZGQuYzo0NDkKIG1zZ2lkICJPcHRpb24gLS1pZ25vcmUtbWlzc2luZyBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1kcnktcnVuIgogbXNnc3RyICJGbGFnZ2FuIC0taWdub3JlLW1pc3Npbmcga2FuIGVuZGFzdCBhbnbDpG5kYXMgdGlsbHNhbW1hbnMgbWVkIC0tZHJ5LXJ1biIKIAotIzogYnVpbHRpbi9hZGQuYzo0MjgKKyM6IGJ1aWx0aW4vYWRkLmM6NDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tY2htb2QgcGFyYW0gJyVzJyBtdXN0IGJlIGVpdGhlciAteCBvciAreCIKIG1zZ3N0ciAiLS1jaG1vZC1wYXJhbWV0ZXJuIFwiJXNcIiBtw6VzdGUgYW50aW5nZW4gdmFyYSAteCBlbGxlciAreCIKIAotIzogYnVpbHRpbi9hZGQuYzo0NDMKKyM6IGJ1aWx0aW4vYWRkLmM6NDcxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjQ4IGJ1aWx0aW4vY29tbWl0LmM6MzU0CisjOiBidWlsdGluL3Jlc2V0LmM6MzI3Cittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggcGF0aHNwZWMgYXJndW1lbnRzIgorbXNnc3RyICItLXBhdGhzcGVjLWZyb20tZmlsZSDDpHIgaW5rb21wYXRpYmVsdCBtZWQgc8O2a3bDpGdzYW5naXZlbHNlc3BhcmFtZXRyYXIiCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDc4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjYwIGJ1aWx0aW4vY29tbWl0LmM6MzYwCisjOiBidWlsdGluL3Jlc2V0LmM6MzMzCittc2dpZCAiLS1wYXRoc3BlYy1maWxlLW51bCByZXF1aXJlcyAtLXBhdGhzcGVjLWZyb20tZmlsZSIKK21zZ3N0ciAiLS1wYXRoc3BlYy1maWxlLW51bCBrcsOkdmVyIC0tcGF0aHNwZWMtZnJvbS1maWxlIgorCisjOiBidWlsdGluL2FkZC5jOjQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3RoaW5nIHNwZWNpZmllZCwgbm90aGluZyBhZGRlZC5cbiIKIG1zZ3N0ciAiSW5nZXQgYW5naXZldCwgaW5nZXQgdGlsbGFndC5cbiIKIAotIzogYnVpbHRpbi9hZGQuYzo0NDQKKyM6IGJ1aWx0aW4vYWRkLmM6NDgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgogbXNnc3RyICJLYW5za2UgbWVuYWRlIGR1IGF0dCBza3JpdmEgXCJnaXQgYWRkIC5cIj9cbiIKIAotIzogYnVpbHRpbi9hbS5jOjM2MworIzogYnVpbHRpbi9hbS5jOjM0NwogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBhdXRob3Igc2NyaXB0IgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIGbDtnJmYXR0YXJza3JpcHQiCiAKLSM6IGJ1aWx0aW4vYW0uYzo0NDcKKyM6IGJ1aWx0aW4vYW0uYzo0MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyB3YXMgZGVsZXRlZCBieSB0aGUgYXBwbHlwYXRjaC1tc2cgaG9vayIKIG1zZ3N0ciAiXCIlc1wiIHRvZ3MgYm9ydCBhdiBrcm9rZW4gYXBwbHlwYXRjaC1tc2ciCiAKLSM6IGJ1aWx0aW4vYW0uYzo0ODgKKyM6IGJ1aWx0aW4vYW0uYzo0NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgogbXNnc3RyICJGZWxha3RpZyBpbmRhdGFyYWQ6IFwiJXNcIi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo1MjUKKyM6IGJ1aWx0aW4vYW0uYzo1MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgIk1pc3NseWNrYWRlcyBrb3BpZXJhIGFudGVja25pbmdhciBmcsOlbiBcIiVzXCIgdGlsbCBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYW0uYzo1NTEKKyM6IGJ1aWx0aW4vYW0uYzo1MzcKIG1zZ2lkICJmc2VlayBmYWlsZWQiCiBtc2dzdHIgIlwiZnNlZWtcIiBtaXNzbHlja2FkZXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzo3MzkKKyM6IGJ1aWx0aW4vYW0uYzo3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHBhdGNoICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgdG9sa2EgcGF0Y2hlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYW0uYzo4MDQKKyM6IGJ1aWx0aW4vYW0uYzo3OTAKIG1zZ2lkICJPbmx5IG9uZSBTdEdJVCBwYXRjaCBzZXJpZXMgY2FuIGJlIGFwcGxpZWQgYXQgb25jZSIKIG1zZ3N0ciAiRW5kYXN0IGVuIFN0R0lULXBhdGNoc2VyaWUga2FuIHRpbGzDpG1wYXMgw6V0IGfDpW5nZW4iCiAKLSM6IGJ1aWx0aW4vYW0uYzo4NTIKKyM6IGJ1aWx0aW4vYW0uYzo4MzgKIG1zZ2lkICJpbnZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAib2dpbHRpZyB0aWRzc3TDpG1wZWwiCiAKLSM6IGJ1aWx0aW4vYW0uYzo4NTcgYnVpbHRpbi9hbS5jOjg2OQorIzogYnVpbHRpbi9hbS5jOjg0MyBidWlsdGluL2FtLmM6ODU1CiBtc2dpZCAiaW52YWxpZCBEYXRlIGxpbmUiCiBtc2dzdHIgIm9naWx0aWcgXCJEYXRlXCItcmFkIgogCi0jOiBidWlsdGluL2FtLmM6ODY0CisjOiBidWlsdGluL2FtLmM6ODUwCiBtc2dpZCAiaW52YWxpZCB0aW1lem9uZSBvZmZzZXQiCiBtc2dzdHIgIm9naWx0aWcgdGlkc3pvbnMtb2Zmc2V0IgogCi0jOiBidWlsdGluL2FtLmM6OTU3CisjOiBidWlsdGluL2FtLmM6OTQzCiBtc2dpZCAiUGF0Y2ggZm9ybWF0IGRldGVjdGlvbiBmYWlsZWQuIgogbXNnc3RyICJNaXNzbHlja2FkZXMgZGV0ZWt0ZXJhIHBhdGNoZm9ybWF0LiIKIAotIzogYnVpbHRpbi9hbS5jOjk2MiBidWlsdGluL2Nsb25lLmM6NDA4CisjOiBidWlsdGluL2FtLmM6OTQ4IGJ1aWx0aW4vY2xvbmUuYzo0MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHNrYXBhIGthdGFsb2dlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5NjcKKyM6IGJ1aWx0aW4vYW0uYzo5NTMKIG1zZ2lkICJGYWlsZWQgdG8gc3BsaXQgcGF0Y2hlcy4iCiBtc2dzdHIgIk1pc3NseWNrYWRlcyBkZWxhIHBhdGNoYXIuIgogCi0jOiBidWlsdGluL2FtLmM6MTA5NyBidWlsdGluL2NvbW1pdC5jOjM2OQotbXNnaWQgInVuYWJsZSB0byB3cml0ZSBpbmRleCBmaWxlIgotbXNnc3RyICJrYW4gaW50ZSBza3JpdmEgaW5kZXhmaWwiCi0KLSM6IGJ1aWx0aW4vYW0uYzoxMTExCisjOiBidWlsdGluL2FtLmM6MTA4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiJXMgLS1jb250aW51ZVwiLiIKIG1zZ3N0ciAiTsOkciBkdSBoYXIgbMO2c3QgcHJvYmxlbWV0LCBrw7ZyIFwiJXMgLS1jb250aW51ZVwiLiIKIAotIzogYnVpbHRpbi9hbS5jOjExMTIKKyM6IGJ1aWx0aW4vYW0uYzoxMDg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCIlcyAtLXNraXBcIiBpbnN0ZWFkLiIKIG1zZ3N0ciAiT20gZHUgaGVsbHJlIHZpbGwgaG9wcGEgw7Z2ZXIgcGF0Y2hlbiwga8O2ciBcIiVzIC0tc2tpcFwiIGkgc3TDpGxsZXQuIgogCi0jOiBidWlsdGluL2FtLmM6MTExMworIzogYnVpbHRpbi9hbS5jOjEwODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBzdG9wIHBhdGNoaW5nLCBydW4gXCIlcyAtLWFib3J0XCIuIgogbXNnc3RyICIiCiAiRsO2ciBhdHQgw6V0ZXJnw6UgdGlsbCB1cnNwcnVuZ2xpZyBncmVuIG9jaCBzbHV0YSBwYXRjaGEsIGvDtnIgXCIlcyAtLWFib3J0XCIuIgogCi0jOiBidWlsdGluL2FtLmM6MTE5NgorIzogYnVpbHRpbi9hbS5jOjExNjkKIG1zZ2lkICJQYXRjaCBzZW50IHdpdGggZm9ybWF0PWZsb3dlZDsgc3BhY2UgYXQgdGhlIGVuZCBvZiBsaW5lcyBtaWdodCBiZSBsb3N0LiIKIG1zZ3N0ciAiIgogIlBhdGNoIHPDpG5kIG1lZCBmb3JtYXQ9Zmxvd2VkOyBibGFua3N0ZWcgcMOlIHNsdXQgYXYgcmFkZXIga2FuIGhhIHRhcHBhdHMuIgogCi0jOiBidWlsdGluL2FtLmM6MTIyNAorIzogYnVpbHRpbi9hbS5jOjExOTcKIG1zZ2lkICJQYXRjaCBpcyBlbXB0eS4iCiBtc2dzdHIgIlBhdGNoZW4gw6RyIHRvbS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMjkwCisjOiBidWlsdGluL2FtLmM6MTI2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIGF1dGhvciBsaW5lIGluIGNvbW1pdCAlcyIKK21zZ3N0ciAic2FrbmFkIFwiYXV0aG9yXCItcmFkIGkgaW5jaGVja25pbmdlbiAlcyIKKworIzogYnVpbHRpbi9hbS5jOjEyNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlLipzIgogbXNnc3RyICJvZ2lsdGlnIGlkZW50LXJhZDogJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjEzMTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCAlcyIKLW1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBpbmNoZWNrbmluZ2VuICVzIgotCi0jOiBidWlsdGluL2FtLmM6MTUwOAorIzogYnVpbHRpbi9hbS5jOjE0ODQKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIG5lY2Vzc2FyeSBibG9icyB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIgogbXNnc3RyICIiCiAiQXJraXZldCBzYWtuYXIgb2JqZWt0IHNvbSBiZWjDtnZzIGbDtnIgYXR0IGZhbGxhIHRpbGxiYWthIHDDpSAzLSIKICJ2w6Rnc3NhbW1hbnNsYWduaW5nLiIKIAotIzogYnVpbHRpbi9hbS5jOjE1MTAKKyM6IGJ1aWx0aW4vYW0uYzoxNDg2CiBtc2dpZCAiVXNpbmcgaW5kZXggaW5mbyB0byByZWNvbnN0cnVjdCBhIGJhc2UgdHJlZS4uLiIKIG1zZ3N0ciAiQW52w6RuZGVyIGluZGV4aW5mbyBmw7ZyIGF0dCDDpXRlcnNrYXBhIGV0dCBiYXN0csOkZC4uLiIKIAotIzogYnVpbHRpbi9hbS5jOjE1MjkKKyM6IGJ1aWx0aW4vYW0uYzoxNTA1CiBtc2dpZCAiIgogIkRpZCB5b3UgaGFuZCBlZGl0IHlvdXIgcGF0Y2g/XG4iCiAiSXQgZG9lcyBub3QgYXBwbHkgdG8gYmxvYnMgcmVjb3JkZWQgaW4gaXRzIGluZGV4LiIKQEAgLTc0MzcsMzAgKzkyNDUsMjUgQEAKICJIYXIgZHUgaGFuZHJlZGlnZXJhdCBkaW4gcGF0Y2g/XG4iCiAiRGVuIGthbiBpbnRlIHRpbGzDpG1wYXMgcMOlIGJsb2JiYXIgc29tIGFudGVja25hdHMgaSBkZXNzIGluZGV4LiIKIAotIzogYnVpbHRpbi9hbS5jOjE1MzUKKyM6IGJ1aWx0aW4vYW0uYzoxNTExCiBtc2dpZCAiRmFsbGluZyBiYWNrIHRvIHBhdGNoaW5nIGJhc2UgYW5kIDMtd2F5IG1lcmdlLi4uIgogbXNnc3RyICIiCiAiRmFsbGVyIHRpbGxiYWthIHDDpSBhdHQgcGF0Y2hhIGdydW5kdmVyc2lvbmVuIG9jaCB0cmV2w6Rnc3NhbW1hbnNsYWduaW5nLi4uIgogCi0jOiBidWlsdGluL2FtLmM6MTU2MQorIzogYnVpbHRpbi9hbS5jOjE1MzcKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2UgaW4gdGhlIGNoYW5nZXMuIgogbXNnc3RyICJNaXNzbHlja2FkZXMgc2zDpSBpaG9wIMOkbmRyaW5nYXJuYS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNTkzCisjOiBidWlsdGluL2FtLmM6MTU2OQogbXNnaWQgImFwcGx5aW5nIHRvIGFuIGVtcHR5IGhpc3RvcnkiCiBtc2dzdHIgInRpbGzDpG1wYXIgcMOlIGVuIHRvbSBoaXN0b3JpayIKIAotIzogYnVpbHRpbi9hbS5jOjE2MzkgYnVpbHRpbi9hbS5jOjE2NDMKKyM6IGJ1aWx0aW4vYW0uYzoxNjE2IGJ1aWx0aW4vYW0uYzoxNjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXN1bWU6ICVzIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAia2FuIGludGUgw6V0ZXJ1cHB0YTogJXMgZmlubnMgaW50ZS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjU5Ci1tc2dpZCAiY2Fubm90IGJlIGludGVyYWN0aXZlIHdpdGhvdXQgc3RkaW4gY29ubmVjdGVkIHRvIGEgdGVybWluYWwuIgotbXNnc3RyICIiCi0ia2FuIGludGUgdmFyYSBpbnRlcmFrdGl2IG9tIHN0YW5kYXJkIGluIGludGUgw6RyIGFuc2x1dGVuIHRpbGwgZW4gdGVybWluYWwuIgotCi0jOiBidWlsdGluL2FtLmM6MTY2NAorIzogYnVpbHRpbi9hbS5jOjE2MzgKIG1zZ2lkICJDb21taXQgQm9keSBpczoiCiBtc2dzdHIgIkluY2hlY2tuaW5nc2tyb3BwZW4gw6RyOiIKIApAQCAtNzQ2OCw0NSArOTI3MSw1MCBAQAogIy4gaW4geW91ciB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoCiAjLiBpbnB1dCBhdCB0aGlzIHBvaW50LgogIy4KLSM6IGJ1aWx0aW4vYW0uYzoxNjc0CisjOiBidWlsdGluL2FtLmM6MTY0OAorIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseT8gW3ldZXMvW25dby9bZV1kaXQvW3ZdaWV3IHBhdGNoL1thXWNjZXB0IGFsbDogIgogbXNnc3RyICJUaWxsw6RtcGE/IFk9amEvTj1uZWovRT1yZWRpZ2VyYS9WPXZpc2EgcGF0Y2gvQT1nb2R0YSBhbGxhOiAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzI0CisjOiBidWlsdGluL2FtLmM6MTY5NSBidWlsdGluL2NvbW1pdC5jOjM5NAorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBpbmRleCBmaWxlIgorbXNnc3RyICJrYW4gaW50ZSBza3JpdmEgaW5kZXhmaWwiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRpcnR5IGluZGV4OiBjYW5ub3QgYXBwbHkgcGF0Y2hlcyAoZGlydHk6ICVzKSIKIG1zZ3N0ciAiU211dHNpZ3QgaW5kZXg6IGthbiBpbnRlIHRpbGzDpG1wYSBwYXRjaGFyIChzbXV0c2lnYTogJXMpIgogCi0jOiBidWlsdGluL2FtLmM6MTc2NCBidWlsdGluL2FtLmM6MTgzMgorIzogYnVpbHRpbi9hbS5jOjE3MzkgYnVpbHRpbi9hbS5jOjE4MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmc6ICUuKnMiCiBtc2dzdHIgIlRpbGzDpG1wYXI6ICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzgxCisjOiBidWlsdGluL2FtLmM6MTc1NgogbXNnaWQgIk5vIGNoYW5nZXMgLS0gUGF0Y2ggYWxyZWFkeSBhcHBsaWVkLiIKIG1zZ3N0ciAiSW5nYSDDpG5kcmluZ2FyIC0tIFBhdGNoZW4gaGFyIHJlZGFuIHRpbGzDpG1wYXRzLiIKIAotIzogYnVpbHRpbi9hbS5jOjE3ODcKKyM6IGJ1aWx0aW4vYW0uYzoxNzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhdGNoIGZhaWxlZCBhdCAlcyAlLipzIgogbXNnc3RyICJQYXRjaCBtaXNzbHlja2FkZXMgcMOlICVzICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzkxCisjOiBidWlsdGluL2FtLmM6MTc2NgogbXNnaWQgIlVzZSAnZ2l0IGFtIC0tc2hvdy1jdXJyZW50LXBhdGNoJyB0byBzZWUgdGhlIGZhaWxlZCBwYXRjaCIKIG1zZ3N0ciAiIgogIkFudsOkbmQgXCJnaXQgYW0gLS1zaG93LWN1cnJlbnQtcGF0Y2hcIiBmw7ZyIGF0dCBzZSBwYXRjaGVuIHNvbSBtaXNzbHlja2FkZXMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODM1CisjOiBidWlsdGluL2FtLmM6MTgxMAogbXNnaWQgIiIKICJObyBjaGFuZ2VzIC0gZGlkIHlvdSBmb3JnZXQgdG8gdXNlICdnaXQgYWRkJz9cbiIKICJJZiB0aGVyZSBpcyBub3RoaW5nIGxlZnQgdG8gc3RhZ2UsIGNoYW5jZXMgYXJlIHRoYXQgc29tZXRoaW5nIGVsc2VcbiIKICJhbHJlYWR5IGludHJvZHVjZWQgdGhlIHNhbWUgY2hhbmdlczsgeW91IG1pZ2h0IHdhbnQgdG8gc2tpcCB0aGlzIHBhdGNoLiIKIG1zZ3N0ciAiIgotIkluZ2Egw6RuZHJpbmdhciAtIGdsw7ZtZGUgZHUgYW52w6RuZGEgXCJnaXQgYWRkXCI/XG4iCisiSW5nYSDDpG5kcmluZ2FyIC0gZ2zDtm1kZSBkdSBhdHQgYW52w6RuZGEgXCJnaXQgYWRkXCI/XG4iCiAiT20gZGV0IGludGUgw6RyIG7DpWdvdCBrdmFyIGF0dCBrw7ZhIGthbiBkZXQgaMOkbmRhIGF0dCBuw6Vnb3QgYW5uYXQgcmVkYW5cbiIKICJpbnRyb2R1Y2VyYXQgc2FtbWEgw6RuZHJpbmdhcjsga2Fuc2tlIGR1IGLDtnIgaG9wcGEgw7Z2ZXIgcGF0Y2hlbi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxODQyCisjOiBidWlsdGluL2FtLmM6MTgxNwogbXNnaWQgIiIKICJZb3Ugc3RpbGwgaGF2ZSB1bm1lcmdlZCBwYXRocyBpbiB5b3VyIGluZGV4LlxuIgogIllvdSBzaG91bGQgJ2dpdCBhZGQnIGVhY2ggZmlsZSB3aXRoIHJlc29sdmVkIGNvbmZsaWN0cyB0byBtYXJrIHRoZW0gYXMgIgpAQCAtNzUxNCwyMSArOTMyMiwyMSBAQAogIllvdSBtaWdodCBydW4gYGdpdCBybWAgb24gYSBmaWxlIHRvIGFjY2VwdCBcImRlbGV0ZWQgYnkgdGhlbVwiIGZvciBpdC4iCiBtc2dzdHIgIiIKICJEdSBoYXIgZm9ydGZhcmFuZGUgZWogc2FtbWFuc2xhZ25hIHPDtmt2w6RnYXIgaSBpbmRleGV0LlxuIgotIkR1IGLDtnIga8O2cmEg4oCdZ2l0IGFkZOKAnSBww6UgZmlsZXIgbWVkIGzDtnN0YSBrb25mbGlrdGVyIGbDtnIgYXR0IGFuZ2UgZGVtIHNvbSAiCisiRHUgYsO2ciBrw7ZyYSBcImdpdCBhZGRcIiBww6UgZmlsZXIgbWVkIGzDtnN0YSBrb25mbGlrdGVyIGbDtnIgYXR0IGFuZ2UgZGVtIHNvbSAiCiAibMO2c3RhLlxuIgotIkR1IGthbiBrw7ZyYSDigJ1naXQgcm3igJ0gZsO2ciBhdHQgZ29kdGEg4oCdYm9ydHRhZ2VuIGF2IGRlbeKAnSBmw7ZyIGRlbi4iCisiRHUga2FuIGvDtnJhIFwiZ2l0IHJtXCIgZsO2ciBhdHQgZ29kdGEgXCJib3J0dGFnZW4gYXYgZGVtXCIgZsO2ciBkZW4uIgogCi0jOiBidWlsdGluL2FtLmM6MTk0OSBidWlsdGluL2FtLmM6MTk1MyBidWlsdGluL2FtLmM6MTk2NSBidWlsdGluL3Jlc2V0LmM6MzI4Ci0jOiBidWlsdGluL3Jlc2V0LmM6MzM2CisjOiBidWlsdGluL2FtLmM6MTkyNCBidWlsdGluL2FtLmM6MTkyOCBidWlsdGluL2FtLmM6MTk0MCBidWlsdGluL3Jlc2V0LmM6MzQ2CisjOiBidWlsdGluL3Jlc2V0LmM6MzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJy4iCi1tc2dzdHIgIkthbiBpbnRlIHRvbGthIG9iamVrdGV0IOKAnSVz4oCdLiIKK21zZ3N0ciAiS2FuIGludGUgdG9sa2Egb2JqZWt0ZXQgXCIlc1wiLiIKIAotIzogYnVpbHRpbi9hbS5jOjIwMDEKKyM6IGJ1aWx0aW4vYW0uYzoxOTc2CiBtc2dpZCAiZmFpbGVkIHRvIGNsZWFuIGluZGV4IgogbXNnc3RyICJtaXNzbHlja2FkZXMgc3TDpGRhIHVwcCBpbmRleGV0IgogCi0jOiBidWlsdGluL2FtLmM6MjAzNgorIzogYnVpbHRpbi9hbS5jOjIwMjAKIG1zZ2lkICIiCiAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFEIHNpbmNlIHRoZSBsYXN0ICdhbScgZmFpbHVyZS5cbiIKICJOb3QgcmV3aW5kaW5nIHRvIE9SSUdfSEVBRCIKQEAgLTc1MzYsMTQzICs5MzQ0LDE0MyBAQAogIkR1IHZlcmthciBoYSBmbHl0dGF0IEhFQUQgc2VkYW4gXCJhbVwiIHNpc3QgbWlzc2x5Y2thZGVzLlxuIgogIsOFdGVyc3TDpGxsZXIgaW50ZSB0aWxsIE9SSUdfSEVBRCIKIAotIzogYnVpbHRpbi9hbS5jOjIxMjkKKyM6IGJ1aWx0aW4vYW0uYzoyMTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIC0tcGF0Y2gtZm9ybWF0OiAlcyIKIG1zZ3N0ciAiRmVsYWt0aWd0IHbDpHJkZSBmw7ZyIC0tcGF0Y2gtZm9ybWF0OiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjIxNjUKKyM6IGJ1aWx0aW4vYW0uYzoyMTUzCiBtc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KS4uLl0iCiBtc2dzdHIgImdpdCBhbSBbPGZsYWdnb3I+XSBbKDxtYm94PiB8IDxNYWlsZGlyPikuLi5dIgogCi0jOiBidWlsdGluL2FtLmM6MjE2NgorIzogYnVpbHRpbi9hbS5jOjIxNTQKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKIG1zZ3N0ciAiZ2l0IGFtIFs8ZmxhZ2dvcj5dICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTcyCisjOiBidWlsdGluL2FtLmM6MjE2MAogbXNnaWQgInJ1biBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICJrw7ZyIGludGVyYWt0aXZ0IgogCi0jOiBidWlsdGluL2FtLmM6MjE3NAorIzogYnVpbHRpbi9hbS5jOjIxNjIKIG1zZ2lkICJoaXN0b3JpY2FsIG9wdGlvbiAtLSBuby1vcCIKIG1zZ3N0ciAiaGlzdG9yaXNrIGZsYWdnYSAtLSBuby1vcCIKIAotIzogYnVpbHRpbi9hbS5jOjIxNzYKKyM6IGJ1aWx0aW4vYW0uYzoyMTY0CiBtc2dpZCAiYWxsb3cgZmFsbCBiYWNrIG9uIDN3YXkgbWVyZ2luZyBpZiBuZWVkZWQiCiBtc2dzdHIgInRpbGzDpXQgZmFsbGEgdGlsbGJha2EgcMOlIHRyZXbDpGdzc2FtbWFuc2xhZ25pbmcgb20gbsO2ZHbDpG5kaWd0IgogCi0jOiBidWlsdGluL2FtLmM6MjE3NyBidWlsdGluL2luaXQtZGIuYzo0ODYgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1OAotIzogYnVpbHRpbi9yZXBhY2suYzozMDYKKyM6IGJ1aWx0aW4vYW0uYzoyMTY1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NCBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU4CisjOiBidWlsdGluL3JlcGFjay5jOjMwNCBidWlsdGluL3N0YXNoLmM6ODExCiBtc2dpZCAiYmUgcXVpZXQiCiBtc2dzdHIgInZhciB0eXN0IgogCi0jOiBidWlsdGluL2FtLmM6MjE3OQorIzogYnVpbHRpbi9hbS5jOjIxNjcKIG1zZ2lkICJhZGQgYSBTaWduZWQtb2ZmLWJ5IGxpbmUgdG8gdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJsw6RnZyB0aWxsIFwiU2lnbmVkLW9mZi1ieVwiLXJhZCBpIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0IgogCi0jOiBidWlsdGluL2FtLmM6MjE4MgorIzogYnVpbHRpbi9hbS5jOjIxNzAKIG1zZ2lkICJyZWNvZGUgaW50byB1dGY4IChkZWZhdWx0KSIKIG1zZ3N0ciAia29kYSBvbSB0aWxsIHV0ZjggKHN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9hbS5jOjIxODQKKyM6IGJ1aWx0aW4vYW0uYzoyMTcyCiBtc2dpZCAicGFzcyAtayBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAic8OkbmQgZmxhZ2dhbiAtayB0aWxsIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIxODYKKyM6IGJ1aWx0aW4vYW0uYzoyMTc0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAic8OkbmQgZmxhZ2dhbiAtYiB0aWxsIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIxODgKKyM6IGJ1aWx0aW4vYW0uYzoyMTc2CiBtc2dpZCAicGFzcyAtbSBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAic8OkbmQgZmxhZ2dhbiAtbSB0aWxsIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIxOTAKKyM6IGJ1aWx0aW4vYW0uYzoyMTc4CiBtc2dpZCAicGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGZvciBtYm94IGZvcm1hdCIKIG1zZ3N0ciAic8OkbmQgZmxhZ2dhbiAtLWtlZXAtY3IgdGlsbCBnaXQtbWFpbHNwbGl0IGbDtnIgbWJveC1mb3JtYXRldCIKIAotIzogYnVpbHRpbi9hbS5jOjIxOTMKKyM6IGJ1aWx0aW4vYW0uYzoyMTgxCiBtc2dpZCAiZG8gbm90IHBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBpbmRlcGVuZGVudCBvZiBhbS5rZWVwY3IiCiBtc2dzdHIgInPDpG5kIGludGUgZmxhZ2dhbiAtLWtlZXAtY3IgdGlsbCBnaXQtbWFpbHNwbGl0IG9iZXJvZW5kZSBhdiBhbS5rZWVwY3IiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTk2CisjOiBidWlsdGluL2FtLmM6MjE4NAogbXNnaWQgInN0cmlwIGV2ZXJ5dGhpbmcgYmVmb3JlIGEgc2Npc3NvcnMgbGluZSIKIG1zZ3N0ciAidGEgYm9ydCBhbGx0aW5nIGbDtnJlIGVuIHNheGxpbmplIgogCisjOiBidWlsdGluL2FtLmM6MjE4NiBidWlsdGluL2FtLmM6MjE4OSBidWlsdGluL2FtLmM6MjE5MiBidWlsdGluL2FtLmM6MjE5NQogIzogYnVpbHRpbi9hbS5jOjIxOTggYnVpbHRpbi9hbS5jOjIyMDEgYnVpbHRpbi9hbS5jOjIyMDQgYnVpbHRpbi9hbS5jOjIyMDcKLSM6IGJ1aWx0aW4vYW0uYzoyMjEwIGJ1aWx0aW4vYW0uYzoyMjEzIGJ1aWx0aW4vYW0uYzoyMjE2IGJ1aWx0aW4vYW0uYzoyMjE5Ci0jOiBidWlsdGluL2FtLmM6MjIyNQorIzogYnVpbHRpbi9hbS5jOjIyMTMKIG1zZ2lkICJwYXNzIGl0IHRocm91Z2ggZ2l0LWFwcGx5IgogbXNnc3RyICJzw6RuZCBkZXQgZ2Vub20gZ2l0LWFwcGx5IgogCi0jOiBidWlsdGluL2FtLmM6MjIxNSBidWlsdGluL2NvbW1pdC5jOjEzNDAgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcxCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzQgYnVpbHRpbi9ncmVwLmM6ODY4IGJ1aWx0aW4vbWVyZ2UuYzoyMzkKLSM6IGJ1aWx0aW4vcHVsbC5jOjE1MSBidWlsdGluL3B1bGwuYzoyMDkgYnVpbHRpbi9yZWJhc2UuYzo4NTQKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE3IGJ1aWx0aW4vcmVwYWNrLmM6MzIxIGJ1aWx0aW4vcmVwYWNrLmM6MzIzCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUxIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzEgYnVpbHRpbi90YWcuYzozODYKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNDQgcGFyc2Utb3B0aW9ucy5oOjE0NiBwYXJzZS1vcHRpb25zLmg6MjY4CisjOiBidWlsdGluL2FtLmM6MjIwMyBidWlsdGluL2NvbW1pdC5jOjEzODYgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjczCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzYgYnVpbHRpbi9ncmVwLmM6ODgzIGJ1aWx0aW4vbWVyZ2UuYzoyNDkKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2MCBidWlsdGluL3B1bGwuYzoyMTkgYnVpbHRpbi9yZWJhc2UuYzoxNDY5CisjOiBidWlsdGluL3JlcGFjay5jOjMxNSBidWlsdGluL3JlcGFjay5jOjMxOSBidWlsdGluL3JlcGFjay5jOjMyMQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MCBidWlsdGluL3Nob3ctcmVmLmM6MTcyIGJ1aWx0aW4vdGFnLmM6NDAzCisjOiBwYXJzZS1vcHRpb25zLmg6MTU0IHBhcnNlLW9wdGlvbnMuaDoxNzUgcGFyc2Utb3B0aW9ucy5oOjMxNgogbXNnaWQgIm4iCiBtc2dzdHIgIm4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjIxIGJ1aWx0aW4vYnJhbmNoLmM6NjM3IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzgKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0NCBidWlsdGluL3RhZy5jOjQyMiBidWlsdGluL3ZlcmlmeS10YWcuYzozOQorIzogYnVpbHRpbi9hbS5jOjIyMDkgYnVpbHRpbi9icmFuY2guYzo2NjEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU1IGJ1aWx0aW4vdGFnLmM6NDM3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CiBtc2dpZCAiZm9ybWF0IgogbXNnc3RyICJmb3JtYXQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjIyCisjOiBidWlsdGluL2FtLmM6MjIxMAogbXNnaWQgImZvcm1hdCB0aGUgcGF0Y2goZXMpIGFyZSBpbiIKIG1zZ3N0ciAiZm9ybWF0IGbDtnIgcGF0Y2goYXIpIgogCi0jOiBidWlsdGluL2FtLmM6MjIyOAorIzogYnVpbHRpbi9hbS5jOjIyMTYKIG1zZ2lkICJvdmVycmlkZSBlcnJvciBtZXNzYWdlIHdoZW4gcGF0Y2ggZmFpbHVyZSBvY2N1cnMiCiBtc2dzdHIgIsO2dmVyc3R5ciBmZWxtZWRkZWxhbmRlbiBuw6RyIHBhdGNoZmVsIHVwcHN0w6VyIgogCi0jOiBidWlsdGluL2FtLmM6MjIzMAorIzogYnVpbHRpbi9hbS5jOjIyMTgKIG1zZ2lkICJjb250aW51ZSBhcHBseWluZyBwYXRjaGVzIGFmdGVyIHJlc29sdmluZyBhIGNvbmZsaWN0IgogbXNnc3RyICJmb3J0c8OkdHQgYXBwbGljZXJhIHBhdGNoYXIgZWZ0ZXIgYXR0IGhhIGzDtnN0IGVuIGtvbmZsaWt0IgogCi0jOiBidWlsdGluL2FtLmM6MjIzMworIzogYnVpbHRpbi9hbS5jOjIyMjEKIG1zZ2lkICJzeW5vbnltcyBmb3IgLS1jb250aW51ZSIKIG1zZ3N0ciAic3lub255bWVyIHRpbGwgLS1jb250aW51ZSIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzYKKyM6IGJ1aWx0aW4vYW0uYzoyMjI0CiBtc2dpZCAic2tpcCB0aGUgY3VycmVudCBwYXRjaCIKIG1zZ3N0ciAiaG9wcGEgw7Z2ZXIgZGVuIGFrdHVlbGxhIGdyZW5lbiIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzkKKyM6IGJ1aWx0aW4vYW0uYzoyMjI3CiBtc2dpZCAicmVzdG9yZSB0aGUgb3JpZ2luYWwgYnJhbmNoIGFuZCBhYm9ydCB0aGUgcGF0Y2hpbmcgb3BlcmF0aW9uLiIKIG1zZ3N0ciAiw6V0ZXJzdMOkbGwgb3JpZ2luYWxncmVuZW4gb2NoIGF2YnJ5dCBwYXRjaG5pbmdlbi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQyCisjOiBidWlsdGluL2FtLmM6MjIzMAogbXNnaWQgImFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24gYnV0IGtlZXAgSEVBRCB3aGVyZSBpdCBpcy4iCiBtc2dzdHIgImF2YnJ5dCBwYXRjaG5pbmdlbiBtZW4gYmVow6VsbCBIRUFEIGTDpHIgZGV0IMOkci4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQ1CisjOiBidWlsdGluL2FtLmM6MjIzMwogbXNnaWQgInNob3cgdGhlIHBhdGNoIGJlaW5nIGFwcGxpZWQuIgogbXNnc3RyICJ2aXNhIHBhdGNoZW4gc29tIHRpbGzDpG1wYXMuIgogCi0jOiBidWlsdGluL2FtLmM6MjI0OQorIzogYnVpbHRpbi9hbS5jOjIyMzcKIG1zZ2lkICJsaWUgYWJvdXQgY29tbWl0dGVyIGRhdGUiCiBtc2dzdHIgImxqdWcgb20gaW5jaGVja25pbmdzZGF0dW0iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUxCisjOiBidWlsdGluL2FtLmM6MjIzOQogbXNnaWQgInVzZSBjdXJyZW50IHRpbWVzdGFtcCBmb3IgYXV0aG9yIGRhdGUiCiBtc2dzdHIgImFudsOkbmQgbnV2YXJhbmRlIHRpZHNzdMOkbXBlbCBmw7ZyIGbDtnJmYXR0YXJkYXR1bSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTMgYnVpbHRpbi9jb21taXQuYzoxNDgzIGJ1aWx0aW4vbWVyZ2UuYzoyNzMKLSM6IGJ1aWx0aW4vcHVsbC5jOjE4NCBidWlsdGluL3JlYmFzZS5jOjg5OCBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODMKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEzIGJ1aWx0aW4vdGFnLmM6NDAyCisjOiBidWlsdGluL2FtLmM6MjI0MSBidWlsdGluL2NvbW1pdC10cmVlLmM6MTIwIGJ1aWx0aW4vY29tbWl0LmM6MTUwNworIzogYnVpbHRpbi9tZXJnZS5jOjI4NiBidWlsdGluL3B1bGwuYzoxOTQgYnVpbHRpbi9yZWJhc2UuYzo1MDkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxMyBidWlsdGluL3JldmVydC5jOjExNyBidWlsdGluL3RhZy5jOjQxOAogbXNnaWQgImtleS1pZCIKIG1zZ3N0ciAibnlja2VsLWlkIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NCBidWlsdGluL3JlYmFzZS5jOjg5OSBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODQKKyM6IGJ1aWx0aW4vYW0uYzoyMjQyIGJ1aWx0aW4vcmViYXNlLmM6NTEwIGJ1aWx0aW4vcmViYXNlLmM6MTUxNAogbXNnaWQgIkdQRy1zaWduIGNvbW1pdHMiCiBtc2dzdHIgIkdQRy1zaWduZXJhIGluY2hlY2tuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjU3CisjOiBidWlsdGluL2FtLmM6MjI0NQogbXNnaWQgIihpbnRlcm5hbCB1c2UgZm9yIGdpdC1yZWJhc2UpIgogbXNnc3RyICIoYW52w6RuZHMgaW50ZXJudCBhdiBnaXQtcmViYXNlKSIKIAotIzogYnVpbHRpbi9hbS5jOjIyNzUKKyM6IGJ1aWx0aW4vYW0uYzoyMjYzCiBtc2dpZCAiIgogIlRoZSAtYi8tLWJpbmFyeSBvcHRpb24gaGFzIGJlZW4gYSBuby1vcCBmb3IgbG9uZyB0aW1lLCBhbmRcbiIKICJpdCB3aWxsIGJlIHJlbW92ZWQuIFBsZWFzZSBkbyBub3QgdXNlIGl0IGFueW1vcmUuIgpAQCAtNzY4MCwxNiArOTQ4OCwxNiBAQAogIkZsYWdnYW4gLWIvLS1iaW5hcnkgaGFyIHZhcml0IHV0YW4gZnVua3Rpb24gbMOkbmdlLCBvY2hcbiIKICJrb21tZXIgdGFzIGJvcnQuIFZpIGJlciBkaWcgYXR0IGludGUgYW52w6RuZGEgZGVuIGzDpG5ncmUuIgogCi0jOiBidWlsdGluL2FtLmM6MjI4MgorIzogYnVpbHRpbi9hbS5jOjIyNzAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBsw6RzYSBpbmRleGV0IgogCi0jOiBidWlsdGluL2FtLmM6MjI5NworIzogYnVpbHRpbi9hbS5jOjIyODUKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJldmlvdXMgcmViYXNlIGRpcmVjdG9yeSAlcyBzdGlsbCBleGlzdHMgYnV0IG1ib3ggZ2l2ZW4uIgogbXNnc3RyICJ0aWRpZ2FyZSByZWJhc2Uta2F0YWxvZyAlcyBmaW5ucyBmb3J0ZmFyYW5kZSwgbWVuIG1ib3ggYW5nYXZzLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMjEKKyM6IGJ1aWx0aW4vYW0uYzoyMzA5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdHJheSAlcyBkaXJlY3RvcnkgZm91bmQuXG4iCkBAIC03Njk4LDEwICs5NTA2LDE0IEBACiAiS3ZhcmJsaXZlbiBrYXRhbG9nICVzIGhpdHRhZGVzLlxuIgogIkFudsOkbmQgXCJnaXQgYW0gLS1hYm9ydFwiIGbDtnIgYXR0IHRhIGJvcnQgZGVuLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMjcKKyM6IGJ1aWx0aW4vYW0uYzoyMzE1CiBtc2dpZCAiUmVzb2x2ZSBvcGVyYXRpb24gbm90IGluIHByb2dyZXNzLCB3ZSBhcmUgbm90IHJlc3VtaW5nLiIKIG1zZ3N0ciAiTMO2c25pbmdzb3BlcmF0aW9uIHDDpWfDpXIgaW50ZSwgdmkgw6V0ZXJ1cHB0YXIgaW50ZS4iCiAKKyM6IGJ1aWx0aW4vYW0uYzoyMzI1Cittc2dpZCAiaW50ZXJhY3RpdmUgbW9kZSByZXF1aXJlcyBwYXRjaGVzIG9uIHRoZSBjb21tYW5kIGxpbmUiCittc2dzdHIgImludGVyYWt0aXZ0IGzDpGdlIGtyw6R2ZXIgcGF0Y2hhciBww6Uga29tbWFuZG9yYWRlbiIKKwogIzogYnVpbHRpbi9hcHBseS5jOjgKIG1zZ2lkICJnaXQgYXBwbHkgWzxvcHRpb25zPl0gWzxwYXRjaD4uLi5dIgogbXNnc3RyICJnaXQgYXBwbHkgWzxmbGFnZ29yPl0gWzxwYXRjaD4uLi5dIgpAQCAtNzcxOSw4NiArOTUzMSwzMDIgQEAKIG1zZ2lkICJnaXQgYXJjaGl2ZTogUmVtb3RlIHdpdGggbm8gVVJMIgogbXNnc3RyICJnaXQgYXJjaGl2ZTogRmrDpHJyIHV0YW4gVVJMIgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo1OAorIzogYnVpbHRpbi9hcmNoaXZlLmM6NjEKIG1zZ2lkICJnaXQgYXJjaGl2ZTogZXhwZWN0ZWQgQUNLL05BSywgZ290IGEgZmx1c2ggcGFja2V0IgogbXNnc3RyICJnaXQgYXJjaGl2ZTogZsO2cnbDpG50YWRlIEFDSy9OQUssIGZpY2sgZmx1c2gtcGFrZXQiCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjYxCisjOiBidWlsdGluL2FyY2hpdmUuYzo2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXJjaGl2ZTogTkFDSyAlcyIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmU6IE5BQ0sgJXMiCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY0CisjOiBidWlsdGluL2FyY2hpdmUuYzo2NQogbXNnaWQgImdpdCBhcmNoaXZlOiBwcm90b2NvbCBlcnJvciIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmU6IHByb3Rva29sbGZlbCIKIAotIzogYnVpbHRpbi9hcmNoaXZlLmM6NjgKKyM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY5CiBtc2dpZCAiZ2l0IGFyY2hpdmU6IGV4cGVjdGVkIGEgZmx1c2giCiBtc2dzdHIgImdpdCBhcmNoaXZlOiBmw7ZydsOkbnRhZGUgZW4gdMO2bW5pbmcgKGZsdXNoKSIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjIKIG1zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1uZXh0LWFsbCBbLS1uby1jaGVja291dF0iCiBtc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLW5leHQtYWxsIFstLW5vLWNoZWNrb3V0XSIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEzCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjMKIG1zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS13cml0ZS10ZXJtcyA8YmFkX3Rlcm0+IDxnb29kX3Rlcm0+IgogbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS13cml0ZS10ZXJtcyA8dGVybS1mw7ZyLWZlbD4gPHRlcm0tZsO2ci1yw6R0dD4iCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI0CiBtc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNsZWFuLXN0YXRlIgogbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2xlYW4tc3RhdGUiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo0NgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI1Cittc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXJlc2V0IFs8Y29tbWl0Pl0iCittc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1yZXNldCBbPGluY2hlY2tuaW5nPl0iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNgorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtd3JpdGUgWy0tbm8tbG9nXSA8c3RhdGU+IDxyZXZpc2lvbj4gPGdvb2RfdGVybT4gIgorIjxiYWRfdGVybT4iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtd3JpdGUgWy0tbm8tbG9nXSA8dGlsbHN0w6VuZD4gPHJldmlzaW9uPiA8dGVybS0iCisiZsO2ci1yw6R0dD4gPHRlcm0tZsO2ci1mZWw+IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjcKK21zZ2lkICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNoZWNrLWFuZC1zZXQtdGVybXMgPGNvbW1hbmQ+IDxnb29kX3Rlcm0+ICIKKyI8YmFkX3Rlcm0+IgorbXNnc3RyICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNoZWNrLWFuZC1zZXQtdGVybXMgPGtvbW1hZG5vPiA8dGVybS1mw7ZyLXLDpHR0PiAiCisiPHRlcm0tZsO2ci1mZWw+IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjgKK21zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtbmV4dC1jaGVjayA8Z29vZF90ZXJtPiA8YmFkX3Rlcm0+IFs8dGVybT5dIgorbXNnc3RyICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LW5leHQtY2hlY2sgPHRlcm0tZsO2ci1yw6R0dD4gPHRlcm0tZsO2ci1mZWw+IDxldGVybT4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyOQorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtdGVybXMgWy0tdGVybS1nb29kIHwgLS10ZXJtLW9sZCB8IC0tdGVybS1iYWQgfCAtLSIKKyJ0ZXJtLW5ld10iCittc2dzdHIgIiIKKyJnaXQtYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtdGVybXMgWy0tdGVybS1nb29kIHwgLS10ZXJtLW9sZCB8IC0tdGVybS1iYWQgfCAtLSIKKyJ0ZXJtLW5ld10iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozMAorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtc3RhcnQgWy0tdGVybS17b2xkLGdvb2R9PTx0ZXJtPiAtLXRlcm0te25ldyxiYWR9IgorIj08dGVybT5dWy0tbm8tY2hlY2tvdXRdIFs8YmFkPiBbPGdvb2Q+Li4uXV0gWy0tXSBbPHBhdGhzPi4uLl0iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtc3RhcnQgWy0tdGVybS17b2xkLGdvb2R9PTx0ZXJtPiAtLXRlcm0te25ldyxiYWR9IgorIj08dGVybT5dWy0tbm8tY2hlY2tvdXRdIFs8ZmVsPiBbPHLDpHR0Pi4uLl1dIFstLV0gWzxzw7ZrdsOkZ2FyPi4uLl0iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo4NgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRlcm0iCiBtc2dzdHIgIlwiJXNcIiDDpHIgaW50ZSBlbiBnaWx0aWcgdGVybSIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjUwCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3QgdXNlIHRoZSBidWlsdGluIGNvbW1hbmQgJyVzJyBhcyBhIHRlcm0iCiBtc2dzdHIgImthbiBpbnRlIGFudsOkbmRhIGRldCBpbmJ5Z2dkYSBrb21tYW5kb3QgXCIlc1wiIHNvbSB0ZXJtIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjAKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3QgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSB0ZXJtICclcyciCiBtc2dzdHIgImthbiBpbnRlIMOkbmRyYSBiZXR5ZGVsc2VuIGF2IHRlcm1lbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo3MQorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjExMQogbXNnaWQgInBsZWFzZSB1c2UgdHdvIGRpZmZlcmVudCB0ZXJtcyIKIG1zZ3N0ciAidGVybWVybmEgbcOlc3RlIHZhcmEgb2xpa2EiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo3OAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjExOAogbXNnaWQgImNvdWxkIG5vdCBvcGVuIHRoZSBmaWxlIEJJU0VDVF9URVJNUyIKIG1zZ3N0ciAia3VuZGUgaW50ZSDDtnBwbmEgZmlsZW4gQklTRUNUX1RFUk1TIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTIwCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIldlIGFyZSBub3QgYmlzZWN0aW5nLlxuIgorbXNnc3RyICJWaSB1dGbDtnIgaW5nZW4gYmlzZWN0IGbDtnIgdGlsbGbDpGxsZXQuXG4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCBjb21taXQiCittc2dzdHIgIlwiJXNcIiDDpHIgaW50ZSBlbiBnaWx0aWcgaW5jaGVja25pbmciCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvdWxkIG5vdCBjaGVjayBvdXQgb3JpZ2luYWwgSEVBRCAnJXMnLiBUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPGNvbW1pdD4nLiIKK21zZ3N0ciAiIgorIkt1bmRlIGludGUgY2hlY2thIHV0IG9yaWdpbmFsLUhFQUQgXCIlc1wiLiBGw7Zyc8O2ayBcImdpdCBiaXNlY3QgcmVzZXQgIgorIjxpbmNoZWNrbmluZz5cIi4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIGJpc2VjdF93cml0ZSBhcmd1bWVudDogJXMiCittc2dzdHIgIkZlbGFrdGlndCBhcmd1bWVudCB0aWxsIGJpc2VjdF93cml0ZTogJXMiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZ2V0IHRoZSBvaWQgb2YgdGhlIHJldiAnJXMnIgorbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBvaWQgZsO2ciByZWZlcmVuc2VuIFwiJXNcIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBvcGVuIHRoZSBmaWxlICclcyciCittc2dzdHIgImt1bmRlIGludGUgw7ZwcG5hIGZpbGVuIFwiJXNcIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGNvbW1hbmQ6IHlvdSdyZSBjdXJyZW50bHkgaW4gYSAlcy8lcyBiaXNlY3QiCittc2dzdHIgIk9naWx0aWd0IGtvbW1hbmRvOiBkdSB1dGbDtnIganVzdCBudSBlbiBcImJpc2VjdFwiIG1lZCAlcy8lcy4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICVzIGFuZCAlcyByZXZpc2lvbi5cbiIKKyJZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJXNcIiBhbmQgXCJnaXQgYmlzZWN0ICVzXCIgZm9yIHRoYXQuIgorbXNnc3RyICIiCisiRHUgbcOlc3RlIGFuZ2Ugw6V0bWluc3RvbmUgZW4gJXMgb2NoIGVuICVzIHZlcnNpb24uXG4iCisiKER1IGthbiBhbnbDpG5kYSBcImdpdCBiaXNlY3QgJXNcIiBvY2ggXCJnaXQgYmlzZWN0ICVzXCIgZsO2ciBkZXR0YS4pIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgbmVlZCB0byBzdGFydCBieSBcImdpdCBiaXNlY3Qgc3RhcnRcIi5cbiIKKyJZb3UgdGhlbiBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICVzIGFuZCAlcyByZXZpc2lvbi5cbiIKKyJZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJXNcIiBhbmQgXCJnaXQgYmlzZWN0ICVzXCIgZm9yIHRoYXQuIgorbXNnc3RyICIiCisiRHUgbcOlc3RlIHN0YXJ0YSBtZWQgXCJnaXQgYmlzZWN0IHN0YXJ0XCIuXG4iCisiRHUgbcOlc3RlIHNlZGFuIGFuZ2Ugw6V0bWluc3RvbmUgZW4gJXMgb2NoIGVuICVzIHZlcnNpb24uXG4iCisiKER1IGthbiBhbnbDpG5kYSBcImdpdCBiaXNlY3QgJXNcIiBvY2ggXCJnaXQgYmlzZWN0ICVzXCIgZsO2ciBkZXR0YS4pIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImJpc2VjdGluZyBvbmx5IHdpdGggYSAlcyBjb21taXQiCittc2dzdHIgInV0ZsO2ciBiaXNlY3QgbWVkIGVuZGFzdCBlbiAlcyBpbmNoZWNrbmluZyIKKworIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtZXSBhbmQgW25dIGluIHlvdXIKKyMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKKyMuIGF0IHRoaXMgcG9pbnQuCisjLgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjMzMAorbXNnaWQgIkFyZSB5b3Ugc3VyZSBbWS9uXT8gIgorbXNnc3RyICLDhHIgZHUgc8Oka2VyIFtZPWphL049bmVqXT8gIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Mzc3Cittc2dpZCAibm8gdGVybXMgZGVmaW5lZCIKK21zZ3N0ciAiaW5nYSB0ZXJtZXIgYW5naXZuYSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBjdXJyZW50IHRlcm1zIGFyZSAlcyBmb3IgdGhlIG9sZCBzdGF0ZVxuIgorImFuZCAlcyBmb3IgdGhlIG5ldyBzdGF0ZS5cbiIKK21zZ3N0ciAiIgorIkFrdHVlbGxhIHRlcm1lciDDpHIgJXMgZsO2ciBkZXQgZ2FtbGEgdGlsbHN0w6VuZGV0XG4iCisib2NoICVzIGbDtnIgZGV0IG55YSB0aWxsc3TDpW5kZXQuXG4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImludmFsaWQgYXJndW1lbnQgJXMgZm9yICdnaXQgYmlzZWN0IHRlcm1zJy5cbiIKKyJTdXBwb3J0ZWQgb3B0aW9ucyBhcmU6IC0tdGVybS1nb29kfC0tdGVybS1vbGQgYW5kIC0tdGVybS1iYWR8LS10ZXJtLW5ldy4iCittc2dzdHIgIiIKKyJvZ2lsdGlndCBhcmd1bWVudCAlcyBmw7ZyIFwiZ2l0IGJpc2VjdCB0ZXJtc1wiLlxuIgorIkZsYWdnb3Igc29tIHN0w7ZkcyDDpHI6IC0tdGVybS1nb29kfC0tdGVybS1vbGQgb2NoIC0tdGVybS1iYWR8LS10ZXJtLW5ldy4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo0NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbjogJyVzJyIKK21zZ3N0ciAib2vDpG5kIGZsYWdnYTogJXMiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYSB2YWxpZCByZXZpc2lvbiIKK21zZ3N0ciAiXCIlc1wiIHZlcmthciBpbnRlIHZhcmEgZW4gZ2lsdGlnIHJldmlzaW9uIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTEyCittc2dpZCAiYmFkIEhFQUQgLSBJIG5lZWQgYSBIRUFEIgorbXNnc3RyICJmZWxha3RpZ3QgSEVBRCAtIEphZyBiZWjDtnZlciBldHQgSEVBRCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVja2luZyBvdXQgJyVzJyBmYWlsZWQuIFRyeSAnZ2l0IGJpc2VjdCBzdGFydCA8dmFsaWQtYnJhbmNoPicuIgorbXNnc3RyICIiCisibWlzc2x5Y2thZGVzIGNoZWNrYSB1dCBcIiVzXCIuIEbDtnJzw7ZrIFwiZ2l0IGJpc2VjdCByZXNldCA8Z2lsdGlnX2dyZW4+XCIuIgorCisjIGNvZ2l0by1yZWxhdGVyYXQKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1NDgKK21zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgorbXNnc3RyICJrw7ZyIGludGUgXCJiaXNlY3RcIiBww6UgdHLDpGQgZMOkciBcImNnLXNlZWtcIiBhbnbDpG50cyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjU1MQorbXNnaWQgImJhZCBIRUFEIC0gc3RyYW5nZSBzeW1ib2xpYyByZWYiCittc2dzdHIgImZlbGFrdGlndCBIRUFEIC0ga29uc3RpZyBzeW1ib2xpc2sgcmVmZXJlbnMiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCByZWY6ICclcyciCittc2dzdHIgIm9naWx0aWcgcmVmZXJlbnM6IFwiJXNcIiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzMQogbXNnaWQgInBlcmZvcm0gJ2dpdCBiaXNlY3QgbmV4dCciCiBtc2dzdHIgInV0ZsO2ciAnZ2l0IGJpc2VjdCBuZXh0JyIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyMgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzMwogbXNnaWQgIndyaXRlIHRoZSB0ZXJtcyB0byAuZ2l0L0JJU0VDVF9URVJNUyIKIG1zZ3N0ciAic2tyaXYgdGVybWVybmEgaSAuZ2l0L0JJU0VDVF9URVJNUyIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyNAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzNQogbXNnaWQgImNsZWFudXAgdGhlIGJpc2VjdGlvbiBzdGF0ZSIKIG1zZ3N0ciAic3TDpGRhciB1cHAgYmlzZWN0LXRpbGxzdMOlbmQiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMjYKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2MzcKIG1zZ2lkICJjaGVjayBmb3IgZXhwZWN0ZWQgcmV2cyIKIG1zZ3N0ciAia29udHJvbGxlcmEgZsO2ciBmw7ZydsOkbnRhZGUgdmVyc2lvbmVyIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTI4CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM5Cittc2dpZCAicmVzZXQgdGhlIGJpc2VjdGlvbiBzdGF0ZSIKK21zZ3N0ciAiw6V0ZXJzdMOkbGwgYmlzZWN0LXRpbGxzdMOlbmQiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDEKK21zZ2lkICJ3cml0ZSBvdXQgdGhlIGJpc2VjdGlvbiBzdGF0ZSBpbiBCSVNFQ1RfTE9HIgorbXNnc3RyICJza3JpdmVyIGJpc2VjdC10aWxsc3TDpW5kZXQgaSBCSVNFQ1RfTE9HIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQzCittc2dpZCAiY2hlY2sgYW5kIHNldCB0ZXJtcyBpbiBhIGJpc2VjdGlvbiBzdGF0ZSIKK21zZ3N0ciAidmlzYSBvY2ggYW5nZSB0ZXJtZXIgZsO2ciBiaXNlY3QtdGlsbHN0w6VuZCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0NQorbXNnaWQgImNoZWNrIHdoZXRoZXIgYmFkIG9yIGdvb2QgdGVybXMgZXhpc3QiCittc2dzdHIgInNlIGVmdGVyIG9tIHRlcm1lciBmw7ZyIHLDpHR0IG9jaCBmZWwgZmlubnMiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDcKK21zZ2lkICJwcmludCBvdXQgdGhlIGJpc2VjdCB0ZXJtcyIKK21zZ3N0ciAic2tyaXYgdXQgdGVybWVyIGbDtnIgYmlzZWN0IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQ5Cittc2dpZCAic3RhcnQgdGhlIGJpc2VjdCBzZXNzaW9uIgorbXNnc3RyICJww6Viw7ZyamEgYmlzZWN0LWvDtnJuaW5nZW4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NTEKIG1zZ2lkICJ1cGRhdGUgQklTRUNUX0hFQUQgaW5zdGVhZCBvZiBjaGVja2luZyBvdXQgdGhlIGN1cnJlbnQgY29tbWl0IgogbXNnc3RyICJ1cHBkYXRlcmEgQklTRUNUX0hFQUQgaXN0w6RsbGV0IGbDtnIgYXR0IGNoZWNrYSB1dCBha3R1ZWxsIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTQzCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjUzCittc2dpZCAibm8gbG9nIGZvciBCSVNFQ1RfV1JJVEUiCittc2dzdHIgImluZ2VuIGxvZ2cgZsO2ciBCSVNFQ1RfV1JJVEUiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NzAKIG1zZ2lkICItLXdyaXRlLXRlcm1zIHJlcXVpcmVzIHR3byBhcmd1bWVudHMiCiBtc2dzdHIgIi0td3JpdGUtdGVybXMga3LDpHZlciB0dsOlIGFyZ3VtZW50IgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTQ3CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Njc0CiBtc2dpZCAiLS1iaXNlY3QtY2xlYW4tc3RhdGUgcmVxdWlyZXMgbm8gYXJndW1lbnRzIgogbXNnc3RyICItLWJpc2VjdC1jbGVhbi1zdGF0ZSB0YXIgaW5nYSBhcmd1bWVudCIKIAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY4MQorbXNnaWQgIi0tYmlzZWN0LXJlc2V0IHJlcXVpcmVzIGVpdGhlciBubyBhcmd1bWVudCBvciBhIGNvbW1pdCIKK21zZ3N0ciAiLS1iaXNlY3QtcmVzZXQga3LDpHZlciBhbnRpbmdlbiBpbmdldCBhcmd1bWVudCBlbGxlciBlbiBpbmNoZWNrbmluZyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY4NQorbXNnaWQgIi0tYmlzZWN0LXdyaXRlIHJlcXVpcmVzIGVpdGhlciA0IG9yIDUgYXJndW1lbnRzIgorbXNnc3RyICItLWJpc2VjdC13cml0ZSBrcsOkdmVyIGFudGluZ2VuIDQgZWxsZXIgNSBhcmd1bWVudCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY5MQorbXNnaWQgIi0tY2hlY2stYW5kLXNldC10ZXJtcyByZXF1aXJlcyAzIGFyZ3VtZW50cyIKK21zZ3N0ciAiLS1jaGVjay1hbmQtc2V0LXRlcm1zIGtyw6R2ZXIgdHJlIGFyZ3VtZW50IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Njk3Cittc2dpZCAiLS1iaXNlY3QtbmV4dC1jaGVjayByZXF1aXJlcyAyIG9yIDMgYXJndW1lbnRzIgorbXNnc3RyICItLWJpc2VjdC1uZXh0LWNoZWNrIGtyw6R2ZXIgMiBlbGxlciAzIGFyZ3VtZW50IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NzAzCittc2dpZCAiLS1iaXNlY3QtdGVybXMgcmVxdWlyZXMgMCBvciAxIGFyZ3VtZW50IgorbXNnc3RyICItLWJpc2VjdC10ZXJtcyBrcsOkdmVyIG5vbGwgZWxsZXIgZXR0IGFyZ3VtZW50IgorCiAjOiBidWlsdGluL2JsYW1lLmM6MzEKIG1zZ2lkICJnaXQgYmxhbWUgWzxvcHRpb25zPl0gWzxyZXYtb3B0cz5dIFs8cmV2Pl0gWy0tXSA8ZmlsZT4iCiBtc2dzdHIgImdpdCBibGFtZSBbPGZsYWdnb3I+XSBbPHJldi1mbGFnZ29yPl0gWzxyZXY+XSBbLS1dIDxmaWw+IgpAQCAtNzgwNywxMzMgKzk4MzUsMTQ2IEBACiBtc2dpZCAiPHJldi1vcHRzPiBhcmUgZG9jdW1lbnRlZCBpbiBnaXQtcmV2LWxpc3QoMSkiCiBtc2dzdHIgIjxyZXYtZmxhZ2dvcj4gZG9rdW1lbnRlcmFzIGkgZ2l0LXJldi1saXN0KDEpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6NDA2CisjOiBidWlsdGluL2JsYW1lLmM6NDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGluZyBhIGNvbG9yOiAlcyIKIG1zZ3N0ciAiZsO2cnbDpG50YWRlIGVuIGbDpHJnOiAlcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjQxMworIzogYnVpbHRpbi9ibGFtZS5jOjQxNgogbXNnaWQgIm11c3QgZW5kIHdpdGggYSBjb2xvciIKIG1zZ3N0ciAibcOlc3RlIHNsdXRhIG1lZCBlbiBmw6RyZyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjcwMAorIzogYnVpbHRpbi9ibGFtZS5jOjcyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbG9yICclcycgaW4gY29sb3IuYmxhbWUucmVwZWF0ZWRMaW5lcyIKIG1zZ3N0ciAiZmVsYWt0aWcgZsOkcmcgXCIlc1wiIGkgY29sb3IuYmxhbWUucmVwZWF0ZWRMaW5lcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjcxOAorIzogYnVpbHRpbi9ibGFtZS5jOjc0NwogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yIGJsYW1lLmNvbG9yaW5nIgogbXNnc3RyICJvZ2lsdGlndCB2w6RyZGUgZsO2ciBibGFtZS5jb2xvcmluZyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5MworIzogYnVpbHRpbi9ibGFtZS5jOjgyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCByZXZpc2lvbiAlcyB0byBpZ25vcmUiCittc2dzdHIgImthbiBpbnRlIGhpdHRhIHJldmlzaW9uICVzIGF0dCBpZ25vcmVyYSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg0NAogbXNnaWQgIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiCiBtc2dzdHIgIlZpc2Ega2xhbmRyaW5nc3Bvc3RlciBuw6RyIHZpIGhpdHRhciBkZW0sIGludGVyYWt0aXZ0IgogCi0jOiBidWlsdGluL2JsYW1lLmM6Nzk0CisjOiBidWlsdGluL2JsYW1lLmM6ODQ1CiBtc2dpZCAiU2hvdyBibGFuayBTSEEtMSBmb3IgYm91bmRhcnkgY29tbWl0cyAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiVmlzYSBibGFuayBTSEEtMSBmw7ZyIGdyw6Ruc2luY2hlY2tuaW5nYXIgKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTUKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDYKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkJlaGFuZGxhIGludGUgcm90aW5jaGVja25pbmdhciBzb20gZ3LDpG5zZXIgKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDcKIG1zZ2lkICJTaG93IHdvcmsgY29zdCBzdGF0aXN0aWNzIgogbXNnc3RyICJWaXNhIHN0YXRpc3RpayDDtnZlciBhcmJldHNrb3N0bmFkIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Nzk3CisjOiBidWlsdGluL2JsYW1lLmM6ODQ4CiBtc2dpZCAiRm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJUdmluZ2EgZsO2cmxvcHBzcmFwcG9ydGVyaW5nIgogCi0jOiBidWlsdGluL2JsYW1lLmM6Nzk4CisjOiBidWlsdGluL2JsYW1lLmM6ODQ5CiBtc2dpZCAiU2hvdyBvdXRwdXQgc2NvcmUgZm9yIGJsYW1lIGVudHJpZXMiCiBtc2dzdHIgIlZpc2EgdXRkYXRhcG/DpG5nIGbDtnIga2xhbmRyaW5nc3Bvc3RlciIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5OQorIzogYnVpbHRpbi9ibGFtZS5jOjg1MAogbXNnaWQgIlNob3cgb3JpZ2luYWwgZmlsZW5hbWUgKERlZmF1bHQ6IGF1dG8pIgogbXNnc3RyICJWaXNhIG9yaWdpbmFsZmlsbmFtbiAoU3RhbmRhcmQ6IGF1dG8pIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODAwCisjOiBidWlsdGluL2JsYW1lLmM6ODUxCiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBsaW5lbnVtYmVyIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJWaXNhIHVyc3BydW5nbGlndCByYWRudW1tZXIgKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTIKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICJWaXNhIGkgZXR0IGZvcm1hdCBhdnNldHQgZsO2ciBtYXNraW5rb25zdW10aW9uIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODAyCisjOiBidWlsdGluL2JsYW1lLmM6ODUzCiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICJWaXNhIHBvcnNsaW5zZm9ybWF0IG1lZCBwZXItcmFkLWluY2hlY2tuaW5nc2luZm9ybWF0aW9uIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODAzCisjOiBidWlsdGluL2JsYW1lLmM6ODU0CiBtc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiQW52w6RuZCBzYW1tYSB1dGRhdGFsw6RnZSBzb20gZ2l0LWFubm90YXRlIChTdGFuZGFyZDogYXYpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA0CisjOiBidWlsdGluL2JsYW1lLmM6ODU1CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJWaXNhIHLDpSB0aWRzc3TDpG1wZWwgKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDUKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTYKIG1zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlZpc2EgbMOlbmcgaW5jaGVja25pbmdzLVNIQTEgKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTcKIG1zZ2lkICJTdXBwcmVzcyBhdXRob3IgbmFtZSBhbmQgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICJVbmRlcnRyeWNrIGbDtnJmYXR0YXJuYW1uIG9jaCB0aWRzc3TDpG1wZWwgKFN0YW5kYXJkOiBhdikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTgKIG1zZ2lkICJTaG93IGF1dGhvciBlbWFpbCBpbnN0ZWFkIG9mIG5hbWUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIlZpc2EgZsO2cmZhdHRhcmVucyBlLXBvc3QgaXN0w6RsbGV0IGbDtnIgbmFtbiAoU3RhbmRhcmQ6IGF2KSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwOAorIzogYnVpbHRpbi9ibGFtZS5jOjg1OQogbXNnaWQgIklnbm9yZSB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzIgogbXNnc3RyICJJZ25vcmVyYSDDpG5kcmluZ2FyIGkgYmxhbmtzdGVnIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA5CisjOiBidWlsdGluL2JsYW1lLmM6ODYwIGJ1aWx0aW4vbG9nLmM6MTcwMgorbXNnaWQgInJldiIKK21zZ3N0ciAicmV2IgorCisjOiBidWlsdGluL2JsYW1lLmM6ODYwCittc2dpZCAiSWdub3JlIDxyZXY+IHdoZW4gYmxhbWluZyIKK21zZ3N0ciAiaWdub3JlcmEgPHJldj4gdmlkIGtsYW5kcmVuIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODYxCittc2dpZCAiSWdub3JlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiIKK21zZ3N0ciAiaWdub3JlcmEgcmV2aXNpb25lciBmcsOlbiA8ZmlsPiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg2MgogbXNnaWQgImNvbG9yIHJlZHVuZGFudCBtZXRhZGF0YSBmcm9tIHByZXZpb3VzIGxpbmUgZGlmZmVyZW50bHkiCiBtc2dzdHIgImbDpHJnbMOkZ2cgcmVkdW5kYW50IG1ldGFkYXRhIGZyw6VuIHRpZGlnYXJlIHJhZGVyIGFubm9ybHVuZGEiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MTAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjMKIG1zZ2lkICJjb2xvciBsaW5lcyBieSBhZ2UiCiBtc2dzdHIgImbDpHJnbMOkZ2cgcmFkZXIgZWZ0ZXIgw6VsZGVyIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODE3Ci1tc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKLW1zZ3N0ciAiQW52w6RuZCBlbiBleHBlcmltZW50ZWxsIGFsZ29yaXRtIGbDtnIgYXR0IGbDtnJiw6R0dHJhIGRpZmZhciIKLQotIzogYnVpbHRpbi9ibGFtZS5jOjgxOQorIzogYnVpbHRpbi9ibGFtZS5jOjg2NAogbXNnaWQgIlNwZW5kIGV4dHJhIGN5Y2xlcyB0byBmaW5kIGJldHRlciBtYXRjaCIKIG1zZ3N0ciAiU2zDtnNhIGV4dHJhIGN5a2xlciBtZWQgYXR0IGhpdHRhIGLDpHR0cmUgdHLDpGZmIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODIwCisjOiBidWlsdGluL2JsYW1lLmM6ODY1CiBtc2dpZCAiVXNlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIGNhbGxpbmcgZ2l0LXJldi1saXN0IgogbXNnc3RyICJBbnbDpG5kIHJldmlzaW9uZXIgZnLDpW4gPGZpbD4gaXN0w6RsbGV0IGbDtnIgYXR0IGFucm9wYSBnaXQtcmV2LWxpc3QiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjYKIG1zZ2lkICJVc2UgPGZpbGU+J3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlIgogbXNnc3RyICJBbnbDpG5kIDxmaWw+cyBpbm5laMOlbGwgc29tIHNsdXRnaWx0aWcgYmlsZCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyMiBidWlsdGluL2JsYW1lLmM6ODIzCisjOiBidWlsdGluL2JsYW1lLmM6ODY3IGJ1aWx0aW4vYmxhbWUuYzo4NjgKIG1zZ2lkICJzY29yZSIKIG1zZ3N0ciAicG/DpG5nIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODIyCisjOiBidWlsdGluL2JsYW1lLmM6ODY3CiBtc2dpZCAiRmluZCBsaW5lIGNvcGllcyB3aXRoaW4gYW5kIGFjcm9zcyBmaWxlcyIKIG1zZ3N0ciAiSGl0dGEga29waWVyYWRlIHJhZGVyIGludXRpIG9jaCBtZWxsYW4gZmlsZXIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjgKIG1zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICJIaXR0YSBmbHl0dGFkZSByYWRlciBpbnV0aSBvY2ggbWVsbGFuIGZpbGVyIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODI0CisjOiBidWlsdGluL2JsYW1lLmM6ODY5CiBtc2dpZCAibixtIgogbXNnc3RyICJuLG0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjkKIG1zZ2lkICJQcm9jZXNzIG9ubHkgbGluZSByYW5nZSBuLG0sIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAiQmVoYW5kbGEgZW5kYXN0IHJhZGludGVydmFsbGV0IG4sbSwgbWVkIGLDtnJqYW4gcMOlIDEiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4NzMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo5MjEKIG1zZ2lkICItLXByb2dyZXNzIGNhbid0IGJlIHVzZWQgd2l0aCAtLWluY3JlbWVudGFsIG9yIHBvcmNlbGFpbiBmb3JtYXRzIgogbXNnc3RyICItLXByb2dyZXNzIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgLS1pbmNyZW1lbnRhbCBlbGxlciBwb3JzbGluc2Zvcm1hdCIKIApAQCAtNzk0NSwxOCArOTk4NiwxOCBAQAogIy4geW91ciBsYW5ndWFnZSBtYXkgbmVlZCBtb3JlIG9yIGZld2VyIGRpc3BsYXkKICMuIGNvbHVtbnMuCiAjLgotIzogYnVpbHRpbi9ibGFtZS5jOjkyNAorIzogYnVpbHRpbi9ibGFtZS5jOjk3MgogbXNnaWQgIjQgeWVhcnMsIDExIG1vbnRocyBhZ28iCiBtc2dzdHIgIjQgw6VyLCAxMSBtw6VuYWRlciBzZWRhbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjEwMTEKKyM6IGJ1aWx0aW4vYmxhbWUuYzoxMDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmUiCiBtc2dpZF9wbHVyYWwgImZpbGUgJXMgaGFzIG9ubHkgJWx1IGxpbmVzIgogbXNnc3RyWzBdICJmaWxlbiAlcyBoYXIgYmFyYSAlbHUgcmFkIgogbXNnc3RyWzFdICJmaWxlbiAlcyBoYXIgYmFyYSAlbHUgcmFkZXIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoxMDU3CisjOiBidWlsdGluL2JsYW1lLmM6MTEyNQogbXNnaWQgIkJsYW1pbmcgbGluZXMiCiBtc2dzdHIgIktsYW5kcmEgcmFkZXIiCiAKQEAgLTc5ODgsNyArMTAwMjksNyBAQAogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yIHwgLWFdIFstLWZvcm1hdF0iCiBtc2dzdHIgImdpdCBicmFuY2ggWzxmbGFnZ29yPl0gWy1yIHwgLWFdIFstLWZvcm1hdF0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTUxCisjOiBidWlsdGluL2JyYW5jaC5jOjE1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZGVsZXRpbmcgYnJhbmNoICclcycgdGhhdCBoYXMgYmVlbiBtZXJnZWQgdG9cbiIKQEAgLTc5OTcsNyArMTAwMzgsNyBAQAogInRhciBib3J0IGdyZW5lbiBcIiVzXCIgc29tIGhhciBzbGFnaXRzIGlob3AgbWVkXG4iCiAiICAgICAgICAgXCIlc1wiLCBtZW4gw6RubnUgaW50ZSBzbGFnaXRzIGlob3AgbWVkIEhFQUQuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE1NQorIzogYnVpbHRpbi9icmFuY2guYzoxNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdCBkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGlzIG5vdCB5ZXQgbWVyZ2VkIHRvXG4iCkBAIC04MDA2LDEyICsxMDA0NywxMiBAQAogInRhciBpbnRlIGJvcnQgZ3JlbmVuIFwiJXNcIiBzb20gaW50ZSBoYXIgc2xhZ2l0cyBpaG9wIG1lZFxuIgogIiAgICAgICAgIFwiJXNcIiwgdHJvdHMgYXR0IGRlbiBoYXIgc2xhZ2l0cyBpaG9wIG1lZCBIRUFELiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBzbMOlIHVwcCBpbmNoZWNrbmluZ3NvYmpla3QgZsO2ciBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTczCisjOiBidWlsdGluL2JyYW5jaC5jOjE3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGJyYW5jaCAnJXMnIGlzIG5vdCBmdWxseSBtZXJnZWQuXG4iCkBAIC04MDIwLDExMyArMTAwNjEsMTIyIEBACiAiR3JlbmVuIFwiJXNcIiBoYXIgaW50ZSBzbGFnaXRzIHNhbW1hbiBpIHNpbiBoZWxoZXQuXG4iCiAiT20gZHUgw6RyIHPDpGtlciBww6UgYXR0IGR1IHZpbGwgdGEgYm9ydCBkZW4sIGvDtnIgXCJnaXQgYnJhbmNoIC1EICVzXCIuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE4NgorIzogYnVpbHRpbi9icmFuY2guYzoxODkKIG1zZ2lkICJVcGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICJNaXNzbHlja2FkZXMgdXBwZGF0ZXJhIGtvbmZpZ3VyYXRpb25zZmlsIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIxNworIzogYnVpbHRpbi9icmFuY2guYzoyMjAKIG1zZ2lkICJjYW5ub3QgdXNlIC1hIHdpdGggLWQiCiBtc2dzdHIgImthbiBpbnRlIGFuZ2UgLWEgbWVkIC1kIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIyMworIzogYnVpbHRpbi9icmFuY2guYzoyMjYKIG1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yIEhFQUQiCiBtc2dzdHIgIkt1bmRlIGludGUgc2zDpSB1cHAgaW5jaGVja25pbmdzb2JqZWt0IGbDtnIgSEVBRCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkZWxldGUgYnJhbmNoICclcycgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiS2FuIGludGUgdGEgYm9ydCBncmVuZW4gXCIlc1wiIHNvbSDDpHIgdXRjaGVja2FkIHDDpSBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjUyCisjOiBidWlsdGluL2JyYW5jaC5jOjI1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAiZmrDpHJyc3DDpXJhbmRlIGdyZW5lbiBcIiVzXCIgaGl0dGFkZXMgaW50ZS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjUzCisjOiBidWlsdGluL2JyYW5jaC5jOjI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICJncmVuZW4gXCIlc1wiIGhpdHRhZGVzIGludGUuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI2OAorIzogYnVpbHRpbi9icmFuY2guYzoyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIgogbXNnc3RyICJGZWwgdmlkIGJvcnR0YWduaW5nIGF2IGZqw6RycnNww6VyYW5kZSBncmVuZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI2OQorIzogYnVpbHRpbi9icmFuY2guYzoyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgYnJhbmNoICclcyciCiBtc2dzdHIgIkZlbCB2aWQgYm9ydHRhZ25pbmcgYXYgZ3JlbmVuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNzYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAiVG9nIGJvcnQgZmrDpHJyc3DDpXJhbmRlIGdyZW5lbiAlcyAodmFyICVzKS5cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICJUb2cgYm9ydCBncmVuZW4gJXMgKHZhciAlcykuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDIxIGJ1aWx0aW4vdGFnLmM6NTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDI5IGJ1aWx0aW4vdGFnLmM6NjEKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgZm9ybWF0IHN0cmluZyIKIG1zZ3N0ciAia2FuIGludGUgdG9sa2EgZm9ybWF0c3Ryw6RuZyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDYwCittc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCIKK21zZ3N0ciAia3VuZGUgaW50ZSBzbMOlIHVwcCBIRUFEIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ2NgorIywgYy1mb3JtYXQKK21zZ2lkICJIRUFEICglcykgcG9pbnRzIG91dHNpZGUgb2YgcmVmcy9oZWFkcy8iCittc2dzdHIgIkhFQUQgKCVzKSBwZWthciB1dGVuZsO2ciByZWZzL2hlYWRzLyIKKworIzogYnVpbHRpbi9icmFuY2guYzo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIHJlYmFzZWQgYXQgJXMiCiBtc2dzdHIgIkdyZW5lbiAlcyBvbWJhc2VyYXMgcMOlICVzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ2MgorIzogYnVpbHRpbi9icmFuY2guYzo0ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIGJpc2VjdGVkIGF0ICVzIgogbXNnc3RyICJHcmVuZW4gJXMgw6RyIGkgZW4gXCJiaXNlY3RcIiBww6UgJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDc5CisjOiBidWlsdGluL2JyYW5jaC5jOjUwMgogbXNnaWQgImNhbm5vdCBjb3B5IHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAia3VuZGUgaW50ZSBrb3BpZXJhIGFrdHVlbGwgZ3JlbiBuw6RyIGR1IGludGUgYmVmaW5uZXIgZGlnIHDDpSBuw6Vnb24uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ4MQorIzogYnVpbHRpbi9icmFuY2guYzo1MDQKIG1zZ2lkICJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAiIgogImt1bmRlIGludGUgYnl0YSBuYW1uIHDDpSBha3R1ZWxsIGdyZW4gbsOkciBkdSBpbnRlIGJlZmlubmVyIGRpZyBww6UgbsOlZ29uLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0OTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgYnJhbmNoIG5hbWU6ICclcyciCiBtc2dzdHIgIkZlbGFrdGlndCBuYW1uIHDDpSBncmVuOiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTE5CisjOiBidWlsdGluL2JyYW5jaC5jOjU0MgogbXNnaWQgIkJyYW5jaCByZW5hbWUgZmFpbGVkIgogbXNnc3RyICJNaXNzbHlja2FkZXMgYnl0YSBuYW1uIHDDpSBncmVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUyMQorIzogYnVpbHRpbi9icmFuY2guYzo1NDQKIG1zZ2lkICJCcmFuY2ggY29weSBmYWlsZWQiCiBtc2dzdHIgIk1pc3NseWNrYWRlcyBrb3BpZXJhIGdyZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTI1CisjOiBidWlsdGluL2JyYW5jaC5jOjU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGEgY29weSBvZiBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIgogbXNnc3RyICJTa2FwYWRlIGtvcGlhIGF2IGZlbGFrdGlndCBuYW1uZ2l2ZW4gZ3JlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTI4CisjOiBidWlsdGluL2JyYW5jaC5jOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWVkIGEgbWlzbmFtZWQgYnJhbmNoICclcycgYXdheSIKIG1zZ3N0ciAiQnl0dGUgYm9ydCBuYW1uIHDDpSBlbiBmZWxha3RpZ3QgbmFtbmdpdmVuIGdyZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUzNAorIzogYnVpbHRpbi9icmFuY2guYzo1NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoIHJlbmFtZWQgdG8gJXMsIGJ1dCBIRUFEIGlzIG5vdCB1cGRhdGVkISIKIG1zZ3N0ciAiR3JlbmVuIG5hbW5ieXR0IHRpbGwgJXMsIG1lbiBIRUFEIGhhciBpbnRlIHVwcGRhdGVyYXRzISIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NDMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY2CiBtc2dpZCAiQnJhbmNoIGlzIHJlbmFtZWQsIGJ1dCB1cGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICJHcmVuZW4gbmFtbmJ5dHQsIG1lbiBtaXNzbHlja2FkZXMgdXBwZGF0ZXJhIGtvbmZpZ3VyYXRpb25zZmlsZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQ1CisjOiBidWlsdGluL2JyYW5jaC5jOjU2OAogbXNnaWQgIkJyYW5jaCBpcyBjb3BpZWQsIGJ1dCB1cGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICJHcmVuZW4ga29waWVyYWRlcywgbWVuIG1pc3NseWNrYWRlcyB1cHBkYXRlcmEga29uZmlndXJhdGlvbnNmaWxlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2hcbiIKQEAgLTgxMzcsMjIzICsxMDE4NywyMTkgQEAKICIgICVzXG4iCiAiUmFkZXIgc29tIGlubGVkcyBtZWQgXCIlY1wiIGlnbm9yZXJhcy5cbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE4CiBtc2dpZCAiR2VuZXJpYyBvcHRpb25zIgogbXNnc3RyICJBbGxtw6RubmEgZmxhZ2dvciIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIwCiBtc2dpZCAic2hvdyBoYXNoIGFuZCBzdWJqZWN0LCBnaXZlIHR3aWNlIGZvciB1cHN0cmVhbSBicmFuY2giCiBtc2dzdHIgInZpc2EgaGFzaCBvY2ggw6RyZW5kZXJhZCwgYW5nZSB0dsOlIGfDpW5nZXIgZsO2ciB1cHBzdHLDtm1zZ3JlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIxCiBtc2dpZCAic3VwcHJlc3MgaW5mb3JtYXRpb25hbCBtZXNzYWdlcyIKIG1zZ3N0ciAidW5kZXJ0cnljayBpbmZvcm1hdGlvbnNtZWRkZWxhbmRlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIyCiBtc2dpZCAic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtcHVsbCgxKSkiCiBtc2dzdHIgInN0w6RsbCBpbiBzcMOlcm5pbmdzbMOkZ2UgKHNlIGdpdC1wdWxsKDEpKSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI0CiBtc2dpZCAiZG8gbm90IHVzZSIKIG1zZ3N0ciAiYW52w6RuZCBlaiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDIgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgwCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNiBidWlsdGluL3JlYmFzZS5jOjUwNQogbXNnaWQgInVwc3RyZWFtIgogbXNnc3RyICJ1cHBzdHLDtm1zIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwMgorIzogYnVpbHRpbi9icmFuY2guYzo2MjYKIG1zZ2lkICJjaGFuZ2UgdGhlIHVwc3RyZWFtIGluZm8iCiBtc2dzdHIgIsOkbmRyYSB1cHBzdHLDtm1zaW5mb3JtYXRpb25lbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDMKLW1zZ2lkICJVbnNldCB0aGUgdXBzdHJlYW0gaW5mbyIKLW1zZ3N0ciAiVGEgYm9ydCB1cHBzdHLDtm1zaW5mb3JtYXRpb25lbiIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI3Cittc2dpZCAidW5zZXQgdGhlIHVwc3RyZWFtIGluZm8iCittc2dzdHIgInRhIGJvcnQgdXBwc3Ryw7Ztc2luZm9ybWF0aW9uZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjA0CisjOiBidWlsdGluL2JyYW5jaC5jOjYyOAogbXNnaWQgInVzZSBjb2xvcmVkIG91dHB1dCIKIG1zZ3N0ciAiYW52w6RuZCBmw6RyZ2FkIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI5CiBtc2dpZCAiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAiYXJiZXRhIHDDpSBmasOkcnJzcMOlcmFuZGUgZ3JlbmFyIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwNyBidWlsdGluL2JyYW5jaC5jOjYwOQorIzogYnVpbHRpbi9icmFuY2guYzo2MzEgYnVpbHRpbi9icmFuY2guYzo2MzMKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJ2aXNhIGVuZGFzdCBncmVuYXIgc29tIGlubmVow6VsbGVyIGluY2hlY2tuaW5nZW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjA4IGJ1aWx0aW4vYnJhbmNoLmM6NjEwCisjOiBidWlsdGluL2JyYW5jaC5jOjYzMiBidWlsdGluL2JyYW5jaC5jOjYzNAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgInZpc2EgZW5kYXN0IGdyZW5hciBzb20gaW50ZSBpbm5laMOlbGxlciBpbmNoZWNrbmluZ2VuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxMworIzogYnVpbHRpbi9icmFuY2guYzo2MzcKIG1zZ2lkICJTcGVjaWZpYyBnaXQtYnJhbmNoIGFjdGlvbnM6IgogbXNnc3RyICJTcGVjaWZpa2EgZ2l0LWJyYW5jaC3DpXRnw6RyZGVyOiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM4CiBtc2dpZCAibGlzdCBib3RoIHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgInZpc2EgYsOlZGUgZmrDpHJyc3DDpXJhbmRlIG9jaCBsb2thbGEgZ3JlbmFyIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxNgorIzogYnVpbHRpbi9icmFuY2guYzo2NDAKIG1zZ2lkICJkZWxldGUgZnVsbHkgbWVyZ2VkIGJyYW5jaCIKIG1zZ3N0ciAidGEgYm9ydCBoZWx0IHNhbW1hbnNsYWdlbiBncmVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxNworIzogYnVpbHRpbi9icmFuY2guYzo2NDEKIG1zZ2lkICJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIgogbXNnc3RyICJ0YSBib3J0IGdyZW4gKMOkdmVuIG9tIGludGUgaGVsdCBzYW1tYW5zbGFnZW4pIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxOAorIzogYnVpbHRpbi9icmFuY2guYzo2NDIKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKIG1zZ3N0ciAiZmx5dHRhL3RhIGJvcnQgZW4gZ3JlbiBvY2ggZGVzcyByZWZsb2dnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxOQorIzogYnVpbHRpbi9icmFuY2guYzo2NDMKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICJmbHl0dGEvdGEgYm9ydCBlbiBncmVuLCDDpHZlbiBvbSBtw6VsZXQgZmlubnMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIwCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NAogbXNnaWQgImNvcHkgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCiBtc2dzdHIgImtvcGllcmEgZW4gZ3JlbiBvY2ggZGVzcyByZWZsb2dnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMQorIzogYnVpbHRpbi9icmFuY2guYzo2NDUKIG1zZ2lkICJjb3B5IGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgImtvcGllcmEgZW4gZ3Jlbiwgw6R2ZW4gb20gbcOlbGV0IGZpbm5zIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMgorIzogYnVpbHRpbi9icmFuY2guYzo2NDYKIG1zZ2lkICJsaXN0IGJyYW5jaCBuYW1lcyIKIG1zZ3N0ciAibGlzdGEgbmFtbiBww6UgZ3JlbmFyIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMworIzogYnVpbHRpbi9icmFuY2guYzo2NDcKK21zZ2lkICJzaG93IGN1cnJlbnQgYnJhbmNoIG5hbWUiCittc2dzdHIgInZpc2EgbmFtbiBww6UgYWt0dWVsbCBncmVuIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY0OAogbXNnaWQgImNyZWF0ZSB0aGUgYnJhbmNoJ3MgcmVmbG9nIgogbXNnc3RyICJza2FwYSBncmVuZW5zIHJlZmxvZ2ciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI1CisjOiBidWlsdGluL2JyYW5jaC5jOjY1MAogbXNnaWQgImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIgogbXNnc3RyICJyZWRpZ2VyYSBiZXNrcml2bmluZyBmw7ZyIGdyZW5lbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUxCiBtc2dpZCAiZm9yY2UgY3JlYXRpb24sIG1vdmUvcmVuYW1lLCBkZWxldGlvbiIKIG1zZ3N0ciAidHZpbmdhIHNrYXBhbmRlLCBmbHl0dC9uYW1uw6RuZHJpbmcsIGJvcnR0YWdhbmRlIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyNworIzogYnVpbHRpbi9icmFuY2guYzo2NTIKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAidmlzYSBlbmRhc3Qgc2FtbWFuc2xhZ25hIGdyZW5hciIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUzCiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgogbXNnc3RyICJ2aXNhIGVuZGFzdCBlaiBzYW1tYW5zbGFnbmEgZ3JlbmFyIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyOQorIzogYnVpbHRpbi9icmFuY2guYzo2NTQKIG1zZ2lkICJsaXN0IGJyYW5jaGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgInZpc2EgZ3JlbmFyIGkgc3BhbHRlciIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzAgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MCBidWlsdGluL2xzLXJlbW90ZS5jOjcwCi0jOiBidWlsdGluL3RhZy5jOjQxNQotbXNnaWQgImtleSIKLW1zZ3N0ciAibnlja2VsIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzMSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQxIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzEKLSM6IGJ1aWx0aW4vdGFnLmM6NDE2Ci1tc2dpZCAiZmllbGQgbmFtZSB0byBzb3J0IG9uIgotbXNnc3RyICJmw6RsdG5hbW4gYXR0IHNvcnRlcmEgcMOlIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzMyBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQzIGJ1aWx0aW4vbm90ZXMuYzo0MTUKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTggYnVpbHRpbi9ub3Rlcy5jOjU3OCBidWlsdGluL25vdGVzLmM6NTgxCi0jOiBidWlsdGluL3RhZy5jOjQxOAorIzogYnVpbHRpbi9icmFuY2guYzo2NTcgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MiBidWlsdGluL25vdGVzLmM6NDE1CisjOiBidWlsdGluL25vdGVzLmM6NDE4IGJ1aWx0aW4vbm90ZXMuYzo1ODEgYnVpbHRpbi9ub3Rlcy5jOjU4NAorIzogYnVpbHRpbi90YWcuYzo0MzMKIG1zZ2lkICJvYmplY3QiCiBtc2dzdHIgIm9iamVrdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU4CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICJ2aXNhIGVuZGFzdCBncmVuYXIgZsO2ciBvYmpla3RldCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzYgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0OSBidWlsdGluL3RhZy5jOjQyNQorIzogYnVpbHRpbi9icmFuY2guYzo2NjAgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0OCBidWlsdGluL3RhZy5jOjQ0MAogbXNnaWQgInNvcnRpbmcgYW5kIGZpbHRlcmluZyBhcmUgY2FzZSBpbnNlbnNpdGl2ZSIKIG1zZ3N0ciAic29ydGVyaW5nIG9jaCBmaWx0cmVyaW5nIHNraWxqZXIgZ2VtZW5lciBvY2ggVkVSU0FMRVIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM3IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzggYnVpbHRpbi90YWcuYzo0MjMKLSM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM5CisjOiBidWlsdGluL2JyYW5jaC5jOjY2MSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6NDM4CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzozOAogbXNnaWQgImZvcm1hdCB0byB1c2UgZm9yIHRoZSBvdXRwdXQiCiBtc2dzdHIgImZvcm1hdCBhdHQgYW52w6RuZGEgZsO2ciB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYwIGJ1aWx0aW4vY2xvbmUuYzo3MzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njg0IGJ1aWx0aW4vY2xvbmUuYzo3ODQKIG1zZ2lkICJIRUFEIG5vdCBmb3VuZCBiZWxvdyByZWZzL2hlYWRzISIKIG1zZ3N0ciAiSEVBRCBoaXR0YWRlcyBpbnRlIHVuZGVyIHJlZnMvaGVhZHMhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MworIzogYnVpbHRpbi9icmFuY2guYzo3MDgKIG1zZ2lkICItLWNvbHVtbiBhbmQgLS12ZXJib3NlIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tY29sdW1uIG9jaCAtLXZlcmJvc2Ugw6RyIGlua29tcGF0aWJsYSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2OTggYnVpbHRpbi9icmFuY2guYzo3NDkgYnVpbHRpbi9icmFuY2guYzo3NTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIzIGJ1aWx0aW4vYnJhbmNoLmM6Nzc3IGJ1aWx0aW4vYnJhbmNoLmM6Nzg2CiBtc2dpZCAiYnJhbmNoIG5hbWUgcmVxdWlyZWQiCiBtc2dzdHIgImdyZW5uYW1uIGtyw6R2cyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzUzCiBtc2dpZCAiQ2Fubm90IGdpdmUgZGVzY3JpcHRpb24gdG8gZGV0YWNoZWQgSEVBRCIKIG1zZ3N0ciAiS2FuIGludGUgYmVza3JpdmEgZnLDpW5rb3BwbGFkIEhFQUQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzMwCisjOiBidWlsdGluL2JyYW5jaC5jOjc1OAogbXNnaWQgImNhbm5vdCBlZGl0IGRlc2NyaXB0aW9uIG9mIG1vcmUgdGhhbiBvbmUgYnJhbmNoIgogbXNnc3RyICJrYW4gaW50ZSByZWRpZ2VyYSBiZXNrcml2bmluZyBmw7ZyIG1lciDDpG4gZW4gZ3JlbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGNvbW1pdCBvbiBicmFuY2ggJyVzJyB5ZXQuIgogbXNnc3RyICJJbmdhIGluY2hlY2tuaW5nYXIgcMOlIGdyZW5lbiBcIiVzXCIgw6RubnUuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc0MAorIzogYnVpbHRpbi9icmFuY2guYzo3NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gYnJhbmNoIG5hbWVkICclcycuIgogbXNnc3RyICJJbmdlbiBncmVuIHZpZCBuYW1uZXQgXCIlc1wiLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NTUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzgzCiBtc2dpZCAidG9vIG1hbnkgYnJhbmNoZXMgZm9yIGEgY29weSBvcGVyYXRpb24iCiBtc2dzdHIgImbDtnIgbcOlbmdhIGdyZW5hciBmw7ZyIGtvcGllcmluZyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NjQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzkyCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIGZvciBhIHJlbmFtZSBvcGVyYXRpb24iCiBtc2dzdHIgImbDtnIgbcOlbmdhIGZsYWdnb3IgZsO2ciBuYW1uYnl0ZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk3CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIHRvIHNldCBuZXcgdXBzdHJlYW0iCiBtc2dzdHIgImbDtnIgbcOlbmdhIGZsYWdnb3IgZsO2ciBhdHQgYnl0YSB1cHBzdHLDtm0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzczCisjOiBidWlsdGluL2JyYW5jaC5jOjgwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IHNldCB1cHN0cmVhbSBvZiBIRUFEIHRvICVzIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIiIKICJrdW5kZSBpbnRlIHPDpHR0YSB1cHBzdHLDtm0gZsO2ciBIRUFEIHRpbGwgJXMgbsOkciBkZXQgaW50ZSBwZWthciBtb3QgbsOlZ29uIGdyZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc3NiBidWlsdGluL2JyYW5jaC5jOjc5OAorIzogYnVpbHRpbi9icmFuY2guYzo4MDQgYnVpbHRpbi9icmFuY2guYzo4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2ggJyVzJyIKIG1zZ3N0ciAib2vDpG5kIGdyZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc4MAorIzogYnVpbHRpbi9icmFuY2guYzo4MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImdyZW5lbiBcIiVzXCIgZmlubnMgaW50ZSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIxCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIHRvIHVuc2V0IHVwc3RyZWFtIgogbXNnc3RyICJmw7ZyIG3DpW5nYSBmbGFnZ29yIGbDtnIgYXR0IHRhIGJvcnQgdXBwc3Ryw7ZtIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc5NgorIzogYnVpbHRpbi9icmFuY2guYzo4MjUKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgdXBzdHJlYW0gb2YgSEVBRCB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgogbXNnc3RyICIiCiAia3VuZGUgaW50ZSB0YSBib3J0IHVwcHN0csO2bSBmw7ZyIEhFQUQgbsOkciBkZXQgaW50ZSBwZWthciBtb3QgbsOlZ29uIGdyZW4uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgwMgorIzogYnVpbHRpbi9icmFuY2guYzo4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgaGFzIG5vIHVwc3RyZWFtIGluZm9ybWF0aW9uIgogbXNnc3RyICJHcmVuZW4gXCIlc1wiIGhhciBpbmdlbiB1cHBzdHLDtm1zaW5mb3JtYXRpb24iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODEyCi1tc2dpZCAiLWEgYW5kIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCBtYWtlIHNlbnNlIHdpdGggYSBicmFuY2ggbmFtZSIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQxCittc2dpZCAiIgorIlRoZSAtYSwgYW5kIC1yLCBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgdGFrZSBhIGJyYW5jaCBuYW1lLlxuIgorIkRpZCB5b3UgbWVhbiB0byB1c2U6IC1hfC1yIC0tbGlzdCA8cGF0dGVybj4/IgogbXNnc3RyICIiCi0iZmxhZ2dvcm5hIC1hIG9jaCAtciBww6UgXCJnaXQgYnJhbmNoXCIga2FuIGludGUgYW5nZXMgdGlsbHNhbW1hbnMgbWVkIGV0dCAiCi0iZ3Jlbm5hbW4iCisiRmxhZ2dvcm5hIC1hIG9jaCAtciBww6UgXCJnaXQgYnJhbmNoXCIgdGFyIGludGUgZXR0IG5hbW4gcMOlIGdyZW4uXG4iCisiTWVuYWRlIGR1IGF0dCBhbnbDpG5kYTogLWF8LXIgLS1saXN0IDxtw7Zuc3Rlcj4/IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgxNQorIzogYnVpbHRpbi9icmFuY2guYzo4NDUKIG1zZ2lkICIiCiAidGhlICctLXNldC11cHN0cmVhbScgb3B0aW9uIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuIFBsZWFzZSB1c2UgJy0tdHJhY2snIG9yICIKICInLS1zZXQtdXBzdHJlYW0tdG8nIGluc3RlYWQuIgpAQCAtODM2MSwyMCArMTA0MDcsNjUgQEAKICJGbGFnZ2FuIC0tc2V0LXVwc3RyZWFtIHJla29tbWVuZGVyYXMgZWogb2NoIGtvbW1lciB0YXMgYm9ydC4gQW52w6RuZCAtLXRyYWNrICIKICJlbGxlciAtLXNldC11cHN0cmVhbS10byBpc3TDpGxsZXQuIgogCi0jOiBidWlsdGluL2J1bmRsZS5jOjQ1CisjOiBidWlsdGluL2J1bmRsZS5jOjE1IGJ1aWx0aW4vYnVuZGxlLmM6MjMKK21zZ2lkICJnaXQgYnVuZGxlIGNyZWF0ZSBbPG9wdGlvbnM+XSA8ZmlsZT4gPGdpdC1yZXYtbGlzdCBhcmdzPiIKK21zZ3N0ciAiZ2l0IGJ1bmRsZSBjcmVhdGUgWzxmbGFnZ29yPl0gPGZpbD4gPGdpdC1yZXYtbGlzdC1mbGFnZ29yPiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxNiBidWlsdGluL2J1bmRsZS5jOjI4Cittc2dpZCAiZ2l0IGJ1bmRsZSB2ZXJpZnkgWzxvcHRpb25zPl0gPGZpbGU+IgorbXNnc3RyICJnaXQgYnVuZGxlIHZlcmlmeSBbPGZsYWdnb3I+XSA8ZmlsPiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxNyBidWlsdGluL2J1bmRsZS5jOjMzCittc2dpZCAiZ2l0IGJ1bmRsZSBsaXN0LWhlYWRzIDxmaWxlPiBbPHJlZm5hbWU+Li4uXSIKK21zZ3N0ciAiZ2l0IGJ1bmRsZSBsaXN0LWhlYWRzIDxmaWw+IFs8cmVmbmFtbj4uLi5dIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjE4IGJ1aWx0aW4vYnVuZGxlLmM6MzgKK21zZ2lkICJnaXQgYnVuZGxlIHVuYnVuZGxlIDxmaWxlPiBbPHJlZm5hbWU+Li4uXSIKK21zZ3N0ciAiZ2l0IGJ1bmRsZSB1bmJ1bmRsZSA8ZmlsPiBbPHJlZm5hbW4+Li4uXSIKKworIzogYnVpbHRpbi9idW5kbGUuYzo2NiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMjgKK21zZ2lkICJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIKK21zZ3N0ciAidmlzYSBpbnRlIGbDtnJsb3Bwc2luZGlrYXRvciIKKworIzogYnVpbHRpbi9idW5kbGUuYzo2OCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzAKK21zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgorbXNnc3RyICJ2aXNhIGbDtnJsb3Bwc2luZGlrYXRvciIKKworIzogYnVpbHRpbi9idW5kbGUuYzo3MCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzIKK21zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIGR1cmluZyBvYmplY3Qgd3JpdGluZyBwaGFzZSIKK21zZ3N0ciAidmlzYSBmw7ZybG9wcHNpbmRpa2F0b3IgdW5kZXIgb2JqZWt0c2tyaXZuaW5nc2Zhc2VuIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjczIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzNQorbXNnaWQgInNpbWlsYXIgdG8gLS1hbGwtcHJvZ3Jlc3Mgd2hlbiBwcm9ncmVzcyBtZXRlciBpcyBzaG93biIKK21zZ3N0ciAic29tIC0tYWxsLXByb2dyZXNzIG7DpHIgZsO2cmxvcHBzaW5kaWthdG9ybiB2aXNhcyIKKworIzogYnVpbHRpbi9idW5kbGUuYzo5MworbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIGNyZWF0ZSBhIGJ1bmRsZS4iCittc2dzdHIgIkJlaMO2dmVyIGV0dCBhcmtpdiBmw7ZyIGF0dCBza2FwYSBldHQgcGFrZXQgKGJ1bmRsZSkuIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjEwNAorbXNnaWQgImRvIG5vdCBzaG93IGJ1bmRsZSBkZXRhaWxzIgorbXNnc3RyICJ2aXNhIGludGUgcGFrZXRkZXRhbGplciIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgb2theVxuIgogbXNnc3RyICIlcyDDpHIgb2tlalxuIgogCi0jOiBidWlsdGluL2J1bmRsZS5jOjU4Ci1tc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gY3JlYXRlIGEgYnVuZGxlLiIKLW1zZ3N0ciAiQmVow7Z2ZXIgZXR0IGFya2l2IGbDtnIgYXR0IHNrYXBhIGV0dCBwYWtldCAoYnVuZGxlKS4iCi0KLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NjIKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTYwCiBtc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gdW5idW5kbGUuIgogbXNnc3RyICJCZWjDtnZlciBldHQgYXJraXYgZsO2ciBhdHQgcGFja2EgdXBwIGV0dCBwYWtldCAoYnVuZGxlKS4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1ODcKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTY4IGJ1aWx0aW4vcmVtb3RlLmM6MTYwOQorbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCittc2dzdHIgInZhciBwcmF0c2FtOyBtw6VzdGUgc2tyaXZhcyBmw7ZyZSBldHQgdW5kZXJrb21tYW5kbyIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzoxNjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCittc2dzdHIgIk9rw6RudCB1bmRlcmtvbW1hbmRvOiAlcyIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU5NQogbXNnaWQgIiIKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCA8dHlwZT4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxwYXRoPl0gPG9iamVjdD4iCkBAIC04MzgyLDcgKzEwNDczLDcgQEAKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCA8dHlwPiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9PHPDtmt2w6RnPl0gPG9iamVrdD4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1ODgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1OTYKIG1zZ2lkICIiCiAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgogImZpbHRlcnNdIgpAQCAtODM5MCwxMzMgKzEwNDgxLDEzMyBAQAogImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKICJmaWx0ZXJzXSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYwOQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYxNwogbXNnaWQgIm9ubHkgb25lIGJhdGNoIG9wdGlvbiBtYXkgYmUgc3BlY2lmaWVkIgogbXNnc3RyICJlbmRhc3QgZW4gYnVudGZsYWdnYSBrYW4gYW5nZXMiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MjcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzUKIG1zZ2lkICI8dHlwZT4gY2FuIGJlIG9uZSBvZjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiBtc2dzdHIgIjx0eXA+IGthbiB2YXJhIGVuIGF2OiBibG9iLCB0cmVlLCBjb21taXQsIHRhZyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYyOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNgogbXNnaWQgInNob3cgb2JqZWN0IHR5cGUiCiBtc2dzdHIgInZpc2Egb2JqZWt0dHlwIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjI5CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM3CiBtc2dpZCAic2hvdyBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAidmlzYSBvYmpla3RzdG9ybGVrIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjMxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM5CiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICJhdnNsdXRhIG1lZCBub2xsIG7DpHIgZGV0IGludGUgdXBwc3TDpXR0IG7DpWdvdCBmZWwiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDAKIG1zZ2lkICJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAidmlzYSBvYmpla3RldHMgaW5uZWjDpWxsIHNueWdndCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0MgogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biB0ZXh0Y29udiBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJmw7ZyIGJsb2Itb2JqZWt0LCBrw7ZyIGZpbHRlciBww6Ugb2JqZWt0ZXRzIGlubmVow6VsbCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NAogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biBmaWx0ZXJzIG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgImbDtnIgYmxvYi1vYmpla3QsIGvDtnIgZmlsZ2VyIHDDpSBvYmpla3RldHMgaW5uZWjDpWxsIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjM3IGdpdC1zdWJtb2R1bGUuc2g6ODU3CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQ1IGdpdC1zdWJtb2R1bGUuc2g6OTkyCiBtc2dpZCAiYmxvYiIKIG1zZ3N0ciAiYmxvYiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NgogbXNnaWQgInVzZSBhIHNwZWNpZmljIHBhdGggZm9yIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgogbXNnc3RyICJhbnbDpG5kIHNwZWNpZmlrIHPDtmt2w6RnIGbDtnIgLS10ZXh0Y29udi8tLWZpbHRlcnMiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDAKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDgKIG1zZ2lkICJhbGxvdyAtcyBhbmQgLXQgdG8gd29yayB3aXRoIGJyb2tlbi9jb3JydXB0IG9iamVjdHMiCiBtc2dzdHIgImzDpXRlciAtcyBvY2ggLXQgYXR0IGZ1bmdlcmEgbWVkIHRyYXNpZ2Evc8O2bmRlcnNrcml2bmEgb2JqZWt0IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjQxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQ5CiBtc2dpZCAiYnVmZmVyIC0tYmF0Y2ggb3V0cHV0IgogbXNnc3RyICJidWZmcmEgdXRkYXRhIGZyw6VuIC0tYmF0Y2giCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTEKIG1zZ2lkICJzaG93IGluZm8gYW5kIGNvbnRlbnQgb2Ygb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgInZpc2EgaW5mb3JtYXRpb24gb2NoIGlubmVow6VsbCBmw7ZyIG9iamVrdCBzb20gbGlzdGFzIHDDpSBzdGFuZGFyZCBpbiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1NQogbXNnaWQgInNob3cgaW5mbyBhYm91dCBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAidmlzYSBpbmZvcm1hdGlvbiBmw7ZyIG9iamVrdCBzb20gbGlzdGFzIHDDpSBzdGFuZGFyZCBpbiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1MQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1OQogbXNnaWQgImZvbGxvdyBpbi10cmVlIHN5bWxpbmtzICh1c2VkIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrKSIKIG1zZ3N0ciAiIgogImbDtmxqIHN5bWJvbGlza2EgbMOkbmthciBpIHRyw6RkZXQgKGFudsOkbmQgbWVkIC0tYmF0Y2ggZWxsZXIgLS1iYXRjaC1jaGVjaykiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTMKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NjEKIG1zZ2lkICJzaG93IGFsbCBvYmplY3RzIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrIgogbXNnc3RyICJ2aXNhIGFsbGEgb2JqZWt0IG1lZCAtLWJhdGNoIGVsbGVyIC0tYmF0Y2gtY2hlY2siCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTUKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NjMKIG1zZ2lkICJkbyBub3Qgb3JkZXIgLS1iYXRjaC1hbGwtb2JqZWN0cyBvdXRwdXQiCiBtc2dzdHIgIm9yZG5hIGludGUgLS1iYXRjaC1hbGwtb2JqZWN0cyBvdXRwdXQiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEyCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMwogbXNnaWQgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSBbLS1dIDxwYXRobmFtZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSBbLS1dIDxzw7ZrdsOkZz4uLi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEzCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxNAogbXNnaWQgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IDxhdHRyPi4uLl0iCiBtc2dzdHIgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IDxhdHRyPi4uLl0iCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIwCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMQogbXNnaWQgInJlcG9ydCBhbGwgYXR0cmlidXRlcyBzZXQgb24gZmlsZSIKIG1zZ3N0ciAidmlzYSBhbGxhIGF0dHJpYnV0IHNvbSBzYXR0cyBww6UgZmlsZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMgogbXNnaWQgInVzZSAuZ2l0YXR0cmlidXRlcyBvbmx5IGZyb20gdGhlIGluZGV4IgogbXNnc3RyICJhbnbDpG5kIC5naXRhdHRyaWJ1dGVzIGVuZGFzdCBmcsOlbiBpbmRleGV0IgogCi0jOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI0IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDEKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjUgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMgogbXNnaWQgInJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIgogbXNnc3RyICJsw6RzIGZpbG5hbW4gZnLDpW4gc3RhbmRhcmQgaW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjI0IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjYKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjI1IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjcKIG1zZ2lkICJ0ZXJtaW5hdGUgaW5wdXQgYW5kIG91dHB1dCByZWNvcmRzIGJ5IGEgTlVMIGNoYXJhY3RlciIKIG1zZ3N0ciAiYXZzbHV0YSBpbi0gb2NoIHV0ZGF0YXBvc3RlciBtZWQgTlVMLXRlY2tlbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMCBidWlsdGluL2NoZWNrb3V0LmM6MTIzNCBidWlsdGluL2djLmM6NTE3Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDk1CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDM1IGJ1aWx0aW4vZ2MuYzo1MzcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDYKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgInVuZGVydHJ5Y2sgZsO2cmxvcHBzcmFwcG9ydGVyaW5nIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI4CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI5CiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiCiBtc2dzdHIgInZpc2EgaW5kYXRhc8O2a3bDpGdhciBzb20gaW50ZSB0csOkZmZhcyIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzozMAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzozMQogbXNnaWQgImlnbm9yZSBpbmRleCB3aGVuIGNoZWNraW5nIgogbXNnc3RyICJpZ25vcmVyYSBpbmRleCB2aWQga29udHJvbGwiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTU5CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MAogbXNnaWQgImNhbm5vdCBzcGVjaWZ5IHBhdGhuYW1lcyB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgImthbiBpbnRlIGFuZ2Ugc8O2a3bDpGdzbmFtbiBtZWQgLS1zdGRpbiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjIKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYzCiBtc2dpZCAiLXogb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tc3RkaW4iCiBtc2dzdHIgIi16IGthbiBlbmRhc3QgYW52w6RuZGFzIHRpbGxzYW1tYW5zIG1lZCAtLXN0ZGluIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2NAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjUKIG1zZ2lkICJubyBwYXRoIHNwZWNpZmllZCIKIG1zZ3N0ciAiaW5nZW4gc8O2a3bDpGcgYW5nYXZzIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2OAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjkKIG1zZ2lkICItLXF1aWV0IGlzIG9ubHkgdmFsaWQgd2l0aCBhIHNpbmdsZSBwYXRobmFtZSIKIG1zZ3N0ciAiLS1xdWlldCBrYW4gZW5kYXN0IGFudsOkbmRhcyBtZWQgZXR0IGVua2VsdCBzw7ZrdsOkZ3NuYW1uIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzEKIG1zZ2lkICJjYW5ub3QgaGF2ZSBib3RoIC0tcXVpZXQgYW5kIC0tdmVyYm9zZSIKIG1zZ3N0ciAia2FuIGludGUgYW52w6RuZGEgYsOlZGUgLS1xdWlldCBvY2ggLS12ZXJib3NlIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzQKIG1zZ2lkICItLW5vbi1tYXRjaGluZyBpcyBvbmx5IHZhbGlkIHdpdGggLS12ZXJib3NlIgogbXNnc3RyICItLW5vbi1tYXRjaGluZyDDpHIgZW5kYXN0IGdpbHRpZyBtZWQgLS12ZXJib3NlIgogCkBAIC04NTM3LDU0ICsxMDYyOCw1NCBAQAogbXNnaWQgIm5vIGNvbnRhY3RzIHNwZWNpZmllZCIKIG1zZ3N0ciAiaW5nYSBrb250YWt0ZXIgYW5nYXZzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTI4CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTMxCiBtc2dpZCAiZ2l0IGNoZWNrb3V0LWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCBjaGVja291dC1pbmRleCBbPGZsYWdnb3I+XSBbLS1dIFs8ZmlsPi4uLl0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNDUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNDgKIG1zZ2lkICJzdGFnZSBzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCAzIG9yIGFsbCIKIG1zZ3N0ciAiZXRhcHAgbcOlc3RlIHZhcmEgbWVsbGFuIDEgb2NoIDMgZWxsZXIgXCJhbGxcIiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NAogbXNnaWQgImNoZWNrIG91dCBhbGwgZmlsZXMgaW4gdGhlIGluZGV4IgogbXNnc3RyICJjaGVja2EgdXQgYWxsYSBmaWxlciBpIGluZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjUKIG1zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgZXhpc3RpbmcgZmlsZXMiCiBtc2dzdHIgInR2aW5nYSDDtnZlcnNrcml2bmluZyBhdiBiZWZpbnRsaWdhIGZpbGVyIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY0CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY3CiBtc2dpZCAibm8gd2FybmluZyBmb3IgZXhpc3RpbmcgZmlsZXMgYW5kIGZpbGVzIG5vdCBpbiBpbmRleCIKIG1zZ3N0ciAiaW5nZW4gdmFybmluZyBmw7ZyIGV4aXN0ZXJhbmRlIGZpbGVyIG9jaCBmaWxlciBlaiBpIGluZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjkKIG1zZ2lkICJkb24ndCBjaGVja291dCBuZXcgZmlsZXMiCiBtc2dzdHIgImNoZWNrYSBpbnRlIHV0IG55YSBmaWxlciIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MQogbXNnaWQgInVwZGF0ZSBzdGF0IGluZm9ybWF0aW9uIGluIHRoZSBpbmRleCBmaWxlIgogbXNnc3RyICJ1cHBkYXRlcmEgc3RhdC1pbmZvcm1hdGlvbiBpIGluZGV4ZmlsZW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzUKIG1zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImzDpHMgbGlzdGFuIMO2dmVyIHPDtmt2w6RnYXIgZnLDpW4gc3RhbmRhcmQgaW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzcKIG1zZ2lkICJ3cml0ZSB0aGUgY29udGVudCB0byB0ZW1wb3JhcnkgZmlsZXMiCiBtc2dzdHIgInNrcml2IGlubmVow6VsbCB0aWxsIHRlbXBvcsOkcmEgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzUgYnVpbHRpbi9jb2x1bW4uYzozMQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzEKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODUzCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjY4CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc4IGJ1aWx0aW4vY29sdW1uLmM6MzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4MgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY3OQogbXNnaWQgInN0cmluZyIKIG1zZ3N0ciAic3Ryw6RuZyIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NgorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OQogbXNnaWQgIndoZW4gY3JlYXRpbmcgZmlsZXMsIHByZXBlbmQgPHN0cmluZz4iCiBtc2dzdHIgIm7DpHIgZmlsZXIgc2thcGFzLCBsw6RnZyB0aWxsIDxzdHLDpG5nPiBmw7Zyc3QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxODEKIG1zZ2lkICJjb3B5IG91dCB0aGUgZmlsZXMgZnJvbSBuYW1lZCBzdGFnZSIKIG1zZ3N0ciAia29waWVyYSB1dCBmaWxlciBmcsOlbiBuYW1uZ2l2ZW4gZXRhcHAiCiAKQEAgLTg1OTYsMTA1ICsxMDY4NywxNTggQEAKIG1zZ2lkICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gWzxicmFuY2g+XSAtLSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVja291dCBbPGZsYWdnb3I+XSBbPGdyZW4+XSAtLSA8ZmlsPi4uLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE0NCBidWlsdGluL2NoZWNrb3V0LmM6MTc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzcKK21zZ2lkICJnaXQgc3dpdGNoIFs8b3B0aW9ucz5dIFs8YnJhbmNoPl0iCittc2dzdHIgImdpdCBzd2l0Y2ggWzxmbGFnZ29yPl0gWzxncmVuPl0iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MgorbXNnaWQgImdpdCByZXN0b3JlIFs8b3B0aW9ucz5dIFstLXNvdXJjZT08YnJhbmNoPl0gPGZpbGU+Li4uIgorbXNnc3RyICJnaXQgcmVzdG9yZSBbPGZsYWdnb3I+XSBbLS1zb3VyY2U9PGdyZW4+XSA8ZmlsPi4uLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NSBidWlsdGluL2NoZWNrb3V0LmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG91ciB2ZXJzaW9uIgogbXNnc3RyICJzw7ZrdsOkZ2VuIFwiJXNcIiBoYXIgaW50ZSB2w6VyIHZlcnNpb24iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDYgYnVpbHRpbi9jaGVja291dC5jOjE3OQorIzogYnVpbHRpbi9jaGVja291dC5jOjE3NyBidWlsdGluL2NoZWNrb3V0LmM6MjE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIHRoZWlyIHZlcnNpb24iCiBtc2dzdHIgInPDtmt2w6RnZW4gXCIlc1wiIGhhciBpbnRlIGRlcmFzIHZlcnNpb24iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgYWxsIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKIG1zZ3N0ciAic8O2a3bDpGdlbiBcIiVzXCIgaW5uZWjDpWxsZXIgaW50ZSBhbGxhIG7DtmR2w6RuZGlnYSB2ZXJzaW9uZXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICJzw7ZrdsOkZ2VuIFwiJXNcIiBpbm5laMOlbGxlciBpbnRlIG7DtmR2w6RuZGlnYSB2ZXJzaW9uZXIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnOiBjYW5ub3QgbWVyZ2UiCiBtc2dzdHIgInPDtmt2w6RnIFwiJXNcIjoga2FuIGludGUgc2zDpSBpaG9wIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjQwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Mjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgbWVyZ2UgcmVzdWx0IGZvciAnJXMnIgogbXNnc3RyICJLdW5kZSBpbnRlIGzDpGdnYSB0aWxsIHNhbW1hbnNsYWduaW5nc3Jlc3VsdGF0IGbDtnIgXCIlc1wiIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjYyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjUgYnVpbHRpbi9jaGVja291dC5jOjI2OAotIzogYnVpbHRpbi9jaGVja291dC5jOjI3MQorIzogYnVpbHRpbi9jaGVja291dC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJSZWNyZWF0ZWQgJWQgbWVyZ2UgY29uZmxpY3QiCittc2dpZF9wbHVyYWwgIlJlY3JlYXRlZCAlZCBtZXJnZSBjb25mbGljdHMiCittc2dzdHJbMF0gIsOFdGVyc2thcGFkZSAlZCBzYW1tYW5zbGFnbmluZ3Nrb25mbGlrdCIKK21zZ3N0clsxXSAiw4V0ZXJza2FwYWRlICVkIHNhbW1hbnNsYWduaW5nc2tvbmZsaWt0ZXIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXBkYXRlZCAlZCBwYXRoIGZyb20gJXMiCittc2dpZF9wbHVyYWwgIlVwZGF0ZWQgJWQgcGF0aHMgZnJvbSAlcyIKK21zZ3N0clswXSAiVXBwZGF0ZXJhZGUgJWQgc8O2a3bDpGcgZnLDpW4gJXMiCittc2dzdHJbMV0gIlVwcGRhdGVyYWRlICVkIHPDtmt2w6RnYXIgZnLDpW4gJXMiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXBkYXRlZCAlZCBwYXRoIGZyb20gdGhlIGluZGV4IgorbXNnaWRfcGx1cmFsICJVcGRhdGVkICVkIHBhdGhzIGZyb20gdGhlIGluZGV4IgorbXNnc3RyWzBdICJVcHBkYXRlcmFkZSAlZCBzw7ZrdsOkZyBmcsOlbiBpbmRleGV0IgorbXNnc3RyWzFdICJVcHBkYXRlcmFkZSAlZCBzw7ZrdsOkZ2FyIGZyw6VuIGluZGV4ZXQiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MTIgYnVpbHRpbi9jaGVja291dC5jOjQxNSBidWlsdGluL2NoZWNrb3V0LmM6NDE4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKIG1zZ3N0ciAiXCIlc1wiIGthbiBpbnRlIGFudsOkbmRhcyB2aWQgdXBwZGF0ZXJpbmcgYXYgc8O2a3bDpGdhciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI3NCBidWlsdGluL2NoZWNrb3V0LmM6Mjc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDI1IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICJcIiVzXCIga2FuIGludGUgYW52w6RuZGFzIG1lZCAlcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI4MAorIzogYnVpbHRpbi9jaGVja291dC5jOjQzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS4iCiBtc2dzdHIgIkthbiBpbnRlIHVwcGRhdGVyYSBzw7ZrdsOkZ2FyIG9jaCB2w6R4bGEgdGlsbCBncmVuZW4gXCIlc1wiIHNhbXRpZGlndC4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozNDkgYnVpbHRpbi9jaGVja291dC5jOjM1NgorIzogYnVpbHRpbi9jaGVja291dC5jOjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyICclcycgb3IgJyVzJyBpcyBzcGVjaWZpZWQiCittc2dzdHIgInZhcmtlbiBcIiVzXCIgZWxsZXIgXCIlc1wiIGhhciBhbmdpdml0cyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIG11c3QgYmUgdXNlZCB3aGVuICclcycgaXMgbm90IHNwZWNpZmllZCIKK21zZ3N0ciAiXCIlc1wiIG3DpXN0ZSBhbnbDpG5kYXMgbsOkciBcIiVzXCIgaW50ZSBhbmdlcyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjQ0NSBidWlsdGluL2NoZWNrb3V0LmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgb3IgJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgorbXNnc3RyICJcIiVzXCIgZWxsZXIgXCIlc1wiIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgJXMiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1MDkgYnVpbHRpbi9jaGVja291dC5jOjUxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgInPDtmt2w6RnZW4gXCIlc1wiIGhhciBpbnRlIHNsYWdpdHMgaWhvcCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjYwOAorIzogYnVpbHRpbi9jaGVja291dC5jOjY4MiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjgyCiBtc2dpZCAieW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCiBtc2dzdHIgImR1IG3DpXN0ZSBsw7ZzYSBkaXR0IGJlZmludGxpZ2EgaW5kZXggZsO2cnN0IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzQ1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjYW5ub3QgY29udGludWUgd2l0aCBzdGFnZWQgY2hhbmdlcyBpbiB0aGUgZm9sbG93aW5nIGZpbGVzOlxuIgorIiVzIgorbXNnc3RyICIiCisia2FuIGludGUgZm9ydHPDpHR0YSBtZWQga8O2YWRlIMOkbmRyaW5nYXIgaSBmw7ZsamFuZGUgZmlsZXI6XG4iCisiJXMiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2FuIG5vdCBkbyByZWZsb2cgZm9yICclcyc6ICVzXG4iCiBtc2dzdHIgIkthbiBpbnRlIHNrYXBhIHJlZmVyZW5zbG9nZyBmw7ZyIFwiJXNcIjogJXNcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc4NgorIzogYnVpbHRpbi9jaGVja291dC5jOjg3NwogbXNnaWQgIkhFQUQgaXMgbm93IGF0IgogbXNnc3RyICJIRUFEIMOkciBudSBww6UiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTAgYnVpbHRpbi9jbG9uZS5jOjY5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjg4MSBidWlsdGluL2Nsb25lLmM6NzE2CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBIRUFEIgogbXNnc3RyICJrYW4gaW50ZSB1cHBkYXRlcmEgSEVBRCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5NAorIzogYnVpbHRpbi9jaGVja291dC5jOjg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZXNldCBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLDhXRlcnN0w6RsbCBncmVuIFwiJXNcIlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICJSZWRhbiBww6UgXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MDEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYW5kIHJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlbDpHhsYWRlIHRpbGwgb2NoIG5vbGxzdMOkbGxkZSBncmVuZW4gXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MDMgYnVpbHRpbi9jaGVja291dC5jOjExNjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4OTQgYnVpbHRpbi9jaGVja291dC5jOjEyOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYSBuZXcgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAiVsOkeGxhZGUgdGlsbCBlbiBueSBncmVuIFwiJXNcIlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODA1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIlbDpHhsYWRlIHRpbGwgZ3JlbmVuIFwiJXNcIlxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAuLi4gYW5kICVkIG1vcmUuXG4iCiBtc2dzdHIgIiAuLi4gb2NoICVkIHRpbGwuXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4NjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXQgYmVoaW5kLCBub3QgY29ubmVjdGVkIHRvXG4iCkBAIC04NzE3LDcgKzEwODYxLDcgQEAKICJcbiIKICIlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODgxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIGl0IGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTg3NDQsMTYxICsxMDg4OCwyNDQgQEAKICIgZ2l0IGJyYW5jaCA8bnl0dF9ncmVubmFtbj4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjkxMworIzogYnVpbHRpbi9jaGVja291dC5jOjEwMDcKIG1zZ2lkICJpbnRlcm5hbCBlcnJvciBpbiByZXZpc2lvbiB3YWxrIgogbXNnc3RyICJpbnRlcm50IGZlbCB2aWQgZ2Vub21nw6VuZyBhdiByZXZpc2lvbmVyIChyZXZpc2lvbiB3YWxrKSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjkxNworIzogYnVpbHRpbi9jaGVja291dC5jOjEwMTEKIG1zZ2lkICJQcmV2aW91cyBIRUFEIHBvc2l0aW9uIHdhcyIKIG1zZ3N0ciAiVGlkaWdhcmUgcG9zaXRpb24gZsO2ciBIRUFEIHZhciIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjk0NSBidWlsdGluL2NoZWNrb3V0LmM6MTE2MQorIzogYnVpbHRpbi9jaGVja291dC5jOjEwNTEgYnVpbHRpbi9jaGVja291dC5jOjEyODYKIG1zZ2lkICJZb3UgYXJlIG9uIGEgYnJhbmNoIHlldCB0byBiZSBib3JuIgogbXNnc3RyICJEdSDDpHIgcMOlIGVuIGdyZW4gc29tIMOkbm51IGludGUgw6RyIGbDtmRkIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNzgKK21zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQiCittc2dzdHIgImVuZGFzdCBlbiByZWZlcmVucyBmw7ZydsOkbnRhZGVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQsICVkIGdpdmVuLiIKIG1zZ3N0ciAiZW5kYXN0IGVuIHJlZmVyZW5zIGbDtnJ2w6RudGFkZXMsICVkIGdhdnMuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEwNyBidWlsdGluL3dvcmt0cmVlLmM6Mjg5IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyInJXMnIGNvdWxkIGJlIGJvdGggYSBsb2NhbCBmaWxlIGFuZCBhIHRyYWNraW5nIGJyYW5jaC5cbiIKKyJQbGVhc2UgdXNlIC0tIChhbmQgb3B0aW9uYWxseSAtLW5vLWd1ZXNzKSB0byBkaXNhbWJpZ3VhdGUiCittc2dzdHIgIiIKKyJcIiVzXCIga2FuIHZhcmEgYsOlZGUgZW4gbG9rYWwgZmlsIG9jaCBlbiBzcMOlcmFuZGUgZ3Jlbi5cbiIKKyJBbnbDpG5kIC0tIChvY2ggbcO2amxpZ2VuIC0tbm8tZ3Vlc3MpIGbDtnIgYXR0IGfDtnJhIG90dmV0eWRpZyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDUgYnVpbHRpbi93b3JrdHJlZS5jOjI5MCBidWlsdGluL3dvcmt0cmVlLmM6NDU1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKIG1zZ3N0ciAiZmVsYWt0aWcgcmVmZXJlbnM6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTggYnVpbHRpbi9jaGVja291dC5jOjE2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgogbXNnc3RyICJyZWZlcmVuc2VuIMOkciBpbnRlIGV0dCB0csOkZDogJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTc1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMwNQorIywgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IHRhZyAnJXMnIgorbXNnc3RyICJmw7ZydsOkbnRhZGUgZ3JlbiwgZmljayB0YWdnZW4gXCIlc1wiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMwNworIywgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IHJlbW90ZSBicmFuY2ggJyVzJyIKK21zZ3N0ciAiZsO2cnbDpG50YWRlIGdyZW4sIGZpY2sgZmrDpHJyZ3JlbmVuIFwiJXNcIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMDggYnVpbHRpbi9jaGVja291dC5jOjEzMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSBicmFuY2ggaXMgZXhwZWN0ZWQsIGdvdCAnJXMnIgorbXNnc3RyICJmw7ZydsOkbnRhZGUgZ3JlbiwgZmljayBcIiVzXCIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzExCisjLCBjLWZvcm1hdAorbXNnaWQgImEgYnJhbmNoIGlzIGV4cGVjdGVkLCBnb3QgY29tbWl0ICclcyciCittc2dzdHIgImbDtnJ2w6RudGFkZSBncmVuLCBmaWNrIGluY2hlY2tuaW5nZW4gXCIlc1wiIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMyNworbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCB3aGlsZSBtZXJnaW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgbWVyZ2UgLS1xdWl0XCIgb3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorbXNnc3RyICIiCisia2FuIGludGUgdsOkeGxhIGdyZW4gdmlkIHNhbW1hbnNsYWduaW5nXG4iCisiw5Z2ZXJ2w6RnIFwiZ2l0IG1lcmdlIC0tcXVpdFwiIGVsbGVyIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMzEKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uXG4iCisiQ29uc2lkZXIgXCJnaXQgYW0gLS1xdWl0XCIgb3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorbXNnc3RyICIiCisia2FuIGludGUgdsOkeGxhIGdyZW4gbWl0dCBpIGVuIFwiYW1cIi1rw7ZybmluZ1xuIgorIsOWdmVydsOkZyBcImdpdCBhbSAtLXF1aXRcIiBlbGxlciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzM1Cittc2dpZCAiIgorImNhbm5vdCBzd2l0Y2ggYnJhbmNoIHdoaWxlIHJlYmFzaW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgcmViYXNlIC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorImthbiBpbnRlIHbDpHhsYSBncmVuIHZpZCBvbWJhc2VyaW5nXG4iCisiw5Z2ZXJ2w6RnIFwiZ2l0IHJlYmFzZSAtLXF1aXRcIiBlbGxlciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzM5Cittc2dpZCAiIgorImNhbm5vdCBzd2l0Y2ggYnJhbmNoIHdoaWxlIGNoZXJyeS1waWNraW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgY2hlcnJ5LXBpY2sgLS1xdWl0XCIgb3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorbXNnc3RyICIiCisia2FuIGludGUgdsOkeGxhIGdyZW4gaSBlbiBcImNoZXJyeS1waWNrXCJcbiIKKyLDlnZlcnbDpGcgXCJnaXQgY2hlcnJ5LXBpY2sgLS1xdWl0XCIgZWxsZXIgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM0MworbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCB3aGlsZSByZXZlcnRpbmdcbiIKKyJDb25zaWRlciBcImdpdCByZXZlcnQgLS1xdWl0XCIgb3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorbXNnc3RyICIiCisia2FuIGludGUgdsOkeGxhIGdyZW4gaSBlbiBcInJldmVydFwiXG4iCisiw5Z2ZXJ2w6RnIFwiZ2l0IHJldmVydCAtLXF1aXRcIiBlbGxlciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzQ3Cittc2dpZCAieW91IGFyZSBzd2l0Y2hpbmcgYnJhbmNoIHdoaWxlIGJpc2VjdGluZyIKK21zZ3N0ciAiZMOlIHbDpHhsYXIgZ3JlbmFyIG1lZGFuIGR1IGfDtnIgZW4gXCJiaXNlY3RcIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNTQKIG1zZ2lkICJwYXRocyBjYW5ub3QgYmUgdXNlZCB3aXRoIHN3aXRjaGluZyBicmFuY2hlcyIKIG1zZ3N0ciAic8O2a3bDpGdhciBrYW4gaW50ZSBhbnbDpG5kYXMgdmlkIGJ5dGUgYXYgZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNzggYnVpbHRpbi9jaGVja291dC5jOjExODIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzU3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzYxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIlwiJXNcIiBrYW4gaW50ZSBhbnbDpG5kYXMgdmlkIGJ5dGUgYXYgZ3JlbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExODYgYnVpbHRpbi9jaGVja291dC5jOjExODkgYnVpbHRpbi9jaGVja291dC5jOjExOTQKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTk3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM2OSBidWlsdGluL2NoZWNrb3V0LmM6MTM3MiBidWlsdGluL2NoZWNrb3V0LmM6MTM3NQorIzogYnVpbHRpbi9jaGVja291dC5jOjEzODAgYnVpbHRpbi9jaGVja291dC5jOjEzODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciCiBtc2dzdHIgIlwiJXNcIiBrYW4gaW50ZSBhbnbDpG5kYXMgbWVkIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMDIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgY2Fubm90IHRha2UgPHN0YXJ0LXBvaW50PiIKK21zZ3N0ciAiXCIlc1wiIGthbiBpbnRlIHRhIDxzdGFydHB1bmt0PiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN3aXRjaCBicmFuY2ggdG8gYSBub24tY29tbWl0ICclcyciCiBtc2dzdHIgIkthbiBpbnRlIHbDpHhsYSBncmVuIHRpbGwgaWNrZS1pbmNoZWNrbmluZ2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMzUgYnVpbHRpbi9jaGVja291dC5jOjEyMzcgYnVpbHRpbi9jbG9uZS5jOjExOQotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjkgYnVpbHRpbi9yZW1vdGUuYzoxNzEgYnVpbHRpbi93b3JrdHJlZS5jOjQ4OAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MAotbXNnaWQgImJyYW5jaCIKLW1zZ3N0ciAiZ3JlbiIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzk3Cittc2dpZCAibWlzc2luZyBicmFuY2ggb3IgY29tbWl0IGFyZ3VtZW50IgorbXNnc3RyICJzYWtuYXIgZ3Jlbi0gZWxsZXIgaW5jaGVja2luZ3Nhcmd1bWVudCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMzYKLW1zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKLW1zZ3N0ciAic2thcGEgb2NoIGNoZWNrYSB1dCBlbiBueSBncmVuIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIzOAotbXNnaWQgImNyZWF0ZS9yZXNldCBhbmQgY2hlY2tvdXQgYSBicmFuY2giCi1tc2dzdHIgInNrYXBhL25vbGxzdMOkbGwgb2NoIGNoZWNrYSB1dCBlbiBncmVuIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIzOQotbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCi1tc2dzdHIgInNrYXBhIHJlZmxvZ2cgZsO2ciBueSBncmVuIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0MCBidWlsdGluL3dvcmt0cmVlLmM6NDkyCi1tc2dpZCAiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IgotbXNnc3RyICJrb3BwbGEgZnLDpW4gSEVBRCB2aWQgbmFtbmdpdmVuIGluY2hlY2tuaW5nIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0MQotbXNnaWQgInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIgotbXNnc3RyICJzw6R0dCB1cHBzdHLDtm1zaW5mb3JtYXRpb24gZsO2ciBueSBncmVuIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0MwotbXNnaWQgIm5ldy1icmFuY2giCi1tc2dzdHIgIm55LWdyZW4iCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQzCi1tc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgotbXNnc3RyICJueSBncmVuIHV0YW4gZsO2csOkbGRlciIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDUKLW1zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCi1tc2dzdHIgImNoZWNrYSB1dCB2w6VyIHZlcnNpb24gZsO2ciBlaiBzYW1tYW5zbGFnbmEgZmlsZXIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQ4Ci1tc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCi1tc2dzdHIgImNoZWNrYSB1dCBkZXJhcyB2ZXJzaW9uIGbDtnIgZWogc2FtbWFuc2xhZ25hIGZpbGVyIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1MAotbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgotbXNnc3RyICJ0dmluZ2EgdXRjaGVja25pbmcgKGthc3RhIGJvcnQgbG9rYWxhIMOkbmRyaW5nYXIpIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1MgotbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgotbXNnc3RyICJ1dGbDtnIgZW4gMy12w6Rnc3NhbW1hbnNsYWduaW5nIGbDtnIgZGVuIG55YSBncmVuZW4iCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU0IGJ1aWx0aW4vbWVyZ2UuYzoyNzUKLW1zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCi1tc2dzdHIgInVwcGRhdGVyYSBpZ25vcmVyYWRlIGZpbGVyIChzdGFuZGFyZCkiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU2IGJ1aWx0aW4vbG9nLmM6MTU3MyBwYXJzZS1vcHRpb25zLmg6Mjc0Ci1tc2dpZCAic3R5bGUiCi1tc2dzdHIgInN0aWwiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU3Ci1tc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKLW1zZ3N0ciAia29uZmxpa3RzdGlsIChtZXJnZSBlbGxlciBkaWZmMykiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjYwCi1tc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgotbXNnc3RyICJiZWdyw6Ruc2EgaW50ZSBzw7ZrdsOkZ2FyIHRpbGwgZW5kYXN0IGdsZXNhIHBvc3RlciIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjIKLW1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKLW1zZ3N0ciAiZsO2cnV0c3DDpSBcImdpdCBjaGVja291dCA8Z3Jlbi1zYWtuYXM+XCIiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY0Ci1tc2dpZCAiZG8gbm90IGNoZWNrIGlmIGFub3RoZXIgd29ya3RyZWUgaXMgaG9sZGluZyB0aGUgZ2l2ZW4gcmVmIgotbXNnc3RyICIiCi0ia29udHJvbGxlcmEgaW50ZSBvbSBlbiBhbm5hbiBhcmJldHNrYXRhbG9nIGjDpWxsZXIgZGVuIGFuZ2l2bmEgcmVmZXJlbnNlbiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjggYnVpbHRpbi9jbG9uZS5jOjg2IGJ1aWx0aW4vZmV0Y2guYzoxNDEKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzIgYnVpbHRpbi9wdWxsLmM6MTI5IGJ1aWx0aW4vcHVzaC5jOjU3MgorIzogYnVpbHRpbi9jaGVja291dC5jOjE0MzkgYnVpbHRpbi9jbG9uZS5jOjkxIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NTIKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTEzIGJ1aWx0aW4vZmV0Y2guYzoxNjcgYnVpbHRpbi9tZXJnZS5jOjI4NQorIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MjcgYnVpbHRpbi9wdWxsLmM6MTM4IGJ1aWx0aW4vcHVzaC5jOjU2MwogIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzQKIG1zZ2lkICJmb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgInR2aW5nYSBmw7ZybG9wcHNyYXBwb3J0ZXJpbmciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjk4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ0MAorbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgorbXNnc3RyICJ1dGbDtnIgZW4gMy12w6Rnc3NhbW1hbnNsYWduaW5nIGbDtnIgZGVuIG55YSBncmVuZW4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDQxIGJ1aWx0aW4vbG9nLmM6MTY5MCBwYXJzZS1vcHRpb25zLmg6MzIyCittc2dpZCAic3R5bGUiCittc2dzdHIgInN0aWwiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDQyCittc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKK21zZ3N0ciAia29uZmxpa3RzdGlsIChtZXJnZSBlbGxlciBkaWZmMykiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU0IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDMKK21zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCittc2dzdHIgImtvcHBsYSBmcsOlbiBIRUFEIHZpZCBuYW1uZ2l2ZW4gaW5jaGVja25pbmciCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU1Cittc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCittc2dzdHIgInPDpHR0IHVwcHN0csO2bXNpbmZvcm1hdGlvbiBmw7ZyIG55IGdyZW4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU3Cittc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCittc2dzdHIgInR2aW5nYSB1dGNoZWNrbmluZyAoa2FzdGEgYm9ydCBsb2thbGEgw6RuZHJpbmdhcikiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU5Cittc2dpZCAibmV3LWJyYW5jaCIKK21zZ3N0ciAibnktZ3JlbiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTkKK21zZ2lkICJuZXcgdW5wYXJlbnRlZCBicmFuY2giCittc2dzdHIgIm55IGdyZW4gdXRhbiBmw7Zyw6RsZGVyIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ2MSBidWlsdGluL21lcmdlLmM6Mjg4Cittc2dpZCAidXBkYXRlIGlnbm9yZWQgZmlsZXMgKGRlZmF1bHQpIgorbXNnc3RyICJ1cHBkYXRlcmEgaWdub3JlcmFkZSBmaWxlciAoc3RhbmRhcmQpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ2NAorbXNnaWQgImRvIG5vdCBjaGVjayBpZiBhbm90aGVyIHdvcmt0cmVlIGlzIGhvbGRpbmcgdGhlIGdpdmVuIHJlZiIKK21zZ3N0ciAiIgorImtvbnRyb2xsZXJhIGludGUgb20gZW4gYW5uYW4gYXJiZXRza2F0YWxvZyBow6VsbGVyIGRlbiBhbmdpdm5hIHJlZmVyZW5zZW4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDc3Cittc2dpZCAiY2hlY2tvdXQgb3VyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgorbXNnc3RyICJjaGVja2EgdXQgdsOlciB2ZXJzaW9uIGbDtnIgZWogc2FtbWFuc2xhZ25hIGZpbGVyIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ4MAorbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgorbXNnc3RyICJjaGVja2EgdXQgZGVyYXMgdmVyc2lvbiBmw7ZyIGVqIHNhbW1hbnNsYWduYSBmaWxlciIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0ODQKK21zZ2lkICJkbyBub3QgbGltaXQgcGF0aHNwZWNzIHRvIHNwYXJzZSBlbnRyaWVzIG9ubHkiCittc2dzdHIgImJlZ3LDpG5zYSBpbnRlIHPDtmt2w6RnYXIgdGlsbCBlbmRhc3QgZ2xlc2EgcG9zdGVyIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTUzNwogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLWIsIC1CIG9jaCAtLW9ycGhhbiDDpHIgw7Ztc2VzaWRpZ3QgdXRlc2x1dGFuZGUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzE1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTU0MAorbXNnaWQgIi1wIGFuZCAtLW92ZXJsYXkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLXAgb2NoIC0tb3ZlcmxheSDDpHIgw7Ztc2VzaWRpZ3QgdXRlc2x1dGFuZGUiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTc3CiBtc2dpZCAiLS10cmFjayBuZWVkcyBhIGJyYW5jaCBuYW1lIgogbXNnc3RyICItLXRyYWNrIGJlaMO2dmVyIGV0dCBuYW1uIHDDpSBlbiBncmVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTMyMAorIzogYnVpbHRpbi9jaGVja291dC5jOjE1ODIKIG1zZ2lkICJtaXNzaW5nIGJyYW5jaCBuYW1lOyB0cnkgLWIiCiBtc2dzdHIgImdyZW5uYW1uIHNha25hczsgZsO2cnPDtmsgbWVkIC1iIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1NworIzogYnVpbHRpbi9jaGVja291dC5jOjE2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlc29sdmUgJXMiCittc2dzdHIgImt1bmRlIGludGUgdXBwbMO2c2EgJXMiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjMxCiBtc2dpZCAiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgImZlbGFrdGlnIHPDtmt2w6Rnc2FuZ2l2ZWxzZSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgY29tbWl0IGFuZCBhIGJyYW5jaCAnJXMnIGNhbm5vdCBiZSBjcmVhdGVkIGZyb20gaXQiCi1tc2dzdHIgIuKAnSVz4oCdIMOkciBpbnRlIGVuIGluY2hlY2tuaW5nIG9jaCBncmVuZW4g4oCdJXPigJ0ga2FuIGludGUgc2thcGFzIGZyw6VuIGRlbiIKK21zZ3N0ciAiIgorIlwiJXNcIiDDpHIgaW50ZSBlbiBpbmNoZWNrbmluZyBvY2ggZ3JlbmVuIFwiJXNcIiBrYW4gaW50ZSBza2FwYXMgZnLDpW4gZGVuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM2OAorIzogYnVpbHRpbi9jaGVja291dC5jOjE2NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGNoZWNrb3V0OiAtLWRldGFjaCBkb2VzIG5vdCB0YWtlIGEgcGF0aCBhcmd1bWVudCAnJXMnIgogbXNnc3RyICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIHRhciBpbnRlIGVuIHPDtmt2w6RnIHNvbSBhcmd1bWVudCBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzcyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY1MQorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tZGV0YWNoIgorbXNnc3RyICItLXBhdGhzcGVjLWZyb20tZmlsZSDDpHIgaW5rb21wYXRpYmVsdCBtZWQgLS1kZXRhY2giCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjU0IGJ1aWx0aW4vcmVzZXQuYzozMjQKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLXBhdGNoIgorbXNnc3RyICItLXBhdGhzcGVjLWZyb20tZmlsZSDDpHIgaW5rb21wYXRpYmVsdCBtZWQgLS1wYXRjaCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE2NjUKIG1zZ2lkICIiCiAiZ2l0IGNoZWNrb3V0OiAtLW91cnMvLS10aGVpcnMsIC0tZm9yY2UgYW5kIC0tbWVyZ2UgYXJlIGluY29tcGF0aWJsZSB3aGVuXG4iCiAiY2hlY2tpbmcgb3V0IG9mIHRoZSBpbmRleC4iCkBAIC04OTA2LDcgKzExMTMzLDExIEBACiAiZ2l0IGNoZWNrb3V0OiAtLW91cnMvLS10aGVpcnMsIC0tZm9yY2Ugb2NoIC0tbWVyZ2Ugw6RyIGlua29tcGF0aWJsYSBuw6RyXG4iCiAiZHUgY2hlY2thciB1dCBmcsOlbiBpbmRleGV0LiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzOTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjcwCittc2dpZCAieW91IG11c3Qgc3BlY2lmeSBwYXRoKHMpIHRvIHJlc3RvcmUiCittc2dzdHIgImR1IG3DpXN0ZSBhbmdlIGthdGFsb2coZXIpIGF0dCDDpXRlcnN0w6RsbGEiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnIG1hdGNoZWQgbW9yZSB0aGFuIG9uZSByZW1vdGUgdHJhY2tpbmcgYnJhbmNoLlxuIgpAQCAtODkzNSwzOSArMTExNjYsMTA2IEBACiAiZsO2cmVkcmEgZW4gZmrDpHJyLCB0LmV4IGZqw6RycmVuIFwib3JpZ2luXCIga2FuIGR1IHN0w6RsbGEgaW5cbiIKICJjaGVja291dC5kZWZhdWx0UmVtb3RlPW9yaWdpbiBpIGRpbiBrb25maWd1cmF0aW9uLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjI3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcxNCBidWlsdGluL2NoZWNrb3V0LmM6MTcxNiBidWlsdGluL2NoZWNrb3V0LmM6MTc2NQorIzogYnVpbHRpbi9jaGVja291dC5jOjE3NjcgYnVpbHRpbi9jbG9uZS5jOjEyMSBidWlsdGluL3JlbW90ZS5jOjE2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNzEgYnVpbHRpbi93b3JrdHJlZS5jOjQ5OSBidWlsdGluL3dvcmt0cmVlLmM6NTAxCittc2dpZCAiYnJhbmNoIgorbXNnc3RyICJncmVuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcxNQorbXNnaWQgImNyZWF0ZSBhbmQgY2hlY2tvdXQgYSBuZXcgYnJhbmNoIgorbXNnc3RyICJza2FwYSBvY2ggY2hlY2thIHV0IGVuIG55IGdyZW4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE3Cittc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKK21zZ3N0ciAic2thcGEvbm9sbHN0w6RsbCBvY2ggY2hlY2thIHV0IGVuIGdyZW4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE4Cittc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKK21zZ3N0ciAic2thcGEgcmVmbG9nZyBmw7ZyIG55IGdyZW4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzIwCittc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgY2hlY2tvdXQgPG5vLXN1Y2gtYnJhbmNoPicgKGRlZmF1bHQpIgorbXNnc3RyICJmw7ZydXRzcMOlIFwiZ2l0IGNoZWNrb3V0IDxncmVuLXNha25hcz5cIiAoZsO2cnZhbCkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzIxCittc2dpZCAidXNlIG92ZXJsYXkgbW9kZSAoZGVmYXVsdCkiCittc2dzdHIgImFudsOkbmQgw7Z2ZXJsw6RnZ3Nsw6RnZSAoc3RhbmRhcmQpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc2NgorbXNnaWQgImNyZWF0ZSBhbmQgc3dpdGNoIHRvIGEgbmV3IGJyYW5jaCIKK21zZ3N0ciAic2thcGEgb2NoIHbDpHhsYSB0aWxsIGVuIG55IGdyZW4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY4Cittc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBzd2l0Y2ggdG8gYSBicmFuY2giCittc2dzdHIgInNrYXBhL25vbGxzdMOkbGwgb2NoIHbDpHhsYSB0aWxsIGVuIGdyZW4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzcwCittc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgc3dpdGNoIDxuby1zdWNoLWJyYW5jaD4nIgorbXNnc3RyICJmw7ZydXRzcMOlIFwiZ2l0IGNoZWNrb3V0IDxncmVuLXNha25hcz5cIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NzIKK21zZ2lkICJ0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMiCittc2dzdHIgImthc3RhIGJvcnQgbG9rYWxhIMOkbmRyaW5nYXIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODA0Cittc2dpZCAid2hpY2ggdHJlZS1pc2ggdG8gY2hlY2tvdXQgZnJvbSIKK21zZ3N0ciAidmlsa2VuIHRyw6RkLWlndCBhdHQgY2hlY2thIHV0IGZyw6VuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgwNgorbXNnaWQgInJlc3RvcmUgdGhlIGluZGV4IgorbXNnc3RyICLDpXRlcnN0w6RsbCBpbmRleGV0IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgwOAorbXNnaWQgInJlc3RvcmUgdGhlIHdvcmtpbmcgdHJlZSAoZGVmYXVsdCkiCittc2dzdHIgIsOldGVyc3TDpGxsIGFyYmV0c2thdGFsb2dlbiAoZsO2cnZhbCkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODEwCittc2dpZCAiaWdub3JlIHVubWVyZ2VkIGVudHJpZXMiCittc2dzdHIgImlnbm9yZXJhIGVqIHNhbW1hbnNsYWduYSBwb3N0ZXIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODExCittc2dpZCAidXNlIG92ZXJsYXkgbW9kZSIKK21zZ3N0ciAiYW52w6RuZCDDtnZlcmzDpGdnc2zDpGdlIgorCisjOiBidWlsdGluL2NsZWFuLmM6MjgKIG1zZ2lkICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPHBhdHRlcm4+XSBbLXggfCAtWF0gWy0tXSA8cGF0aHM+Li4uIgogbXNnc3RyICIiCiAiZ2l0IGNsZWFuIFstZF0gWy1mXSBbLWldIFstbl0gWy1xXSBbLWUgPG3Dtm5zdGVyPl0gWy14IHwgLVhdIFstLV0gIgogIjxzw7ZrdsOkZ2FyPi4uLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMxCisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXNcbiIKIG1zZ3N0ciAiVGFyIGJvcnQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMyCisjOiBidWlsdGluL2NsZWFuLmM6MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgcmVtb3ZlICVzXG4iCiBtc2dzdHIgIlNrdWxsZSB0YSBib3J0ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMworIzogYnVpbHRpbi9jbGVhbi5jOjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAiSG9wcGFyIMO2dmVyIGFya2l2ZXQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjM0CisjOiBidWlsdGluL2NsZWFuLmM6MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgc2tpcCByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIlNrdWxsZSBob3BwYSDDtnZlciBhcmtpdmV0ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozNQorIzogYnVpbHRpbi9jbGVhbi5jOjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJXMiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0YSBib3J0ICVzIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Mjk4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTc5CisjOiBidWlsdGluL2NsZWFuLmM6MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGxzdGF0ICVzXG4iCittc2dzdHIgImt1bmRlIGludGUgdGEgc3RhdHVzIChcImxzdGF0XCIpIHDDpSAlc1xuIgorCisjOiBidWlsdGluL2NsZWFuLmM6MzAxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQcm9tcHQgaGVscDpcbiIKQEAgLTg5ODAsNyArMTEyNzgsNyBAQAogImZvbyAgICAgICAgLSBtYXJrZXJhIHBvc3QgYmFzZXJhZCBww6UgdW5pa3QgcHJlZml4XG4iCiAiICAgICAgICAgICAtICh0b210KSBtYXJrZXJhIGluZ2VudGluZ1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzAyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTg4CisjOiBidWlsdGluL2NsZWFuLmM6MzA1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQcm9tcHQgaGVscDpcbiIKQEAgLTkwMDEsMzggKzExMjk5LDMzIEBACiAiKiAgICAgICAgICAtIHbDpGxqIGFsbGEgcG9zdGVyXG4iCiAiICAgICAgICAgICAtICh0b210KSBhdnNsdXRhIG1hcmtlcmluZ1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NTE4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTU0Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU1OQorIzogYnVpbHRpbi9jbGVhbi5jOjUyMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU3MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NzUKICMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAogbXNnaWQgIkh1aCAoJXMpP1xuIgogbXNnc3RyICJWYWTDpSAoJXMpP1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6NjYwCisjOiBidWlsdGluL2NsZWFuLmM6NjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIklucHV0IGlnbm9yZSBwYXR0ZXJucz4+ICIKIG1zZ3N0ciAiQW5nZSBpZ25vcmVyaW5nc23Dtm5zdGVyPj4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo2OTcKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiV0FSTklORzogQ2Fubm90IGZpbmQgaXRlbXMgbWF0Y2hlZCBieTogJXMiCiBtc2dzdHIgIlZBUk5JTkc6IEhpdHRhciBpbnRlIHBvc3RlciBzb20gbW90c3ZhcmFyOiAlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjcxOAorIzogYnVpbHRpbi9jbGVhbi5jOjcyMQogbXNnaWQgIlNlbGVjdCBpdGVtcyB0byBkZWxldGUiCiBtc2dzdHIgIlbDpGxqIHBvc3RlciBhdHQgdGEgYm9ydCIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBrZWVwIFt5L05dIGFzIGlzCi0jOiBidWlsdGluL2NsZWFuLmM6NzU5CisjOiBidWlsdGluL2NsZWFuLmM6NzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92ZSAlcyBbeS9OXT8gIgogbXNnc3RyICJUYSBib3J0ICVzIFtZPWphIC8gTj1uZWpdPyAiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzE3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkJ5ZS5cbiIKLW1zZ3N0ciAiSGVqIGTDpS5cbiIKLQotIzogYnVpbHRpbi9jbGVhbi5jOjc5MgorIzogYnVpbHRpbi9jbGVhbi5jOjc5NQogbXNnaWQgIiIKICJjbGVhbiAgICAgICAgICAgICAgIC0gc3RhcnQgY2xlYW5pbmdcbiIKICJmaWx0ZXIgYnkgcGF0dGVybiAgIC0gZXhjbHVkZSBpdGVtcyBmcm9tIGRlbGV0aW9uXG4iCkBAIC05MDUwLDY0ICsxMTM0Myw1NiBAQAogImhlbHAgICAgICAgICAgICAgICAgLSBkZW5uYSBza8Okcm1cbiIKICI/ICAgICAgICAgICAgICAgICAgIC0gaGrDpGxwIGbDtnIga29tbWFuZG92YWwiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzkzCi1tc2dpZCAiKioqIENvbW1hbmRzICoqKiIKLW1zZ3N0ciAiKioqIEtvbW1hbmRvbiAqKioiCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MjAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzkwCi1tc2dpZCAiV2hhdCBub3ciCi1tc2dzdHIgIlZhZCBudSIKLQotIzogYnVpbHRpbi9jbGVhbi5jOjgyOAorIzogYnVpbHRpbi9jbGVhbi5jOjgzMQogbXNnaWQgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW06IgogbXNnaWRfcGx1cmFsICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtczoiCiBtc2dzdHJbMF0gIlNrdWxsZSB0YSBib3J0IGbDtmxqYW5kZSBwb3N0OiIKIG1zZ3N0clsxXSAiU2t1bGxlIHRhIGJvcnQgZsO2bGphbmRlIHBvc3RlcjoiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NDQKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4NDcKIG1zZ2lkICJObyBtb3JlIGZpbGVzIHRvIGNsZWFuLCBleGl0aW5nLiIKIG1zZ3N0ciAiSW5nYSBmbGVyIGZpbGVyIGF0dCBzdMOkZGEsIGF2c2x1dGFyLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwNgorIzogYnVpbHRpbi9jbGVhbi5jOjkwOQogbXNnaWQgImRvIG5vdCBwcmludCBuYW1lcyBvZiBmaWxlcyByZW1vdmVkIgogbXNnc3RyICJza3JpdiBpbnRlIHV0IG5hbW4gcMOlIGJvcnR0YWduYSBmaWxlciIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwOAorIzogYnVpbHRpbi9jbGVhbi5jOjkxMQogbXNnaWQgImZvcmNlIgogbXNnc3RyICJ0dmluZ2EiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTIKIG1zZ2lkICJpbnRlcmFjdGl2ZSBjbGVhbmluZyIKIG1zZ3N0ciAic3TDpGRhIGludGVyYWt0aXZ0IgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTExCisjOiBidWlsdGluL2NsZWFuLmM6OTE0CiBtc2dpZCAicmVtb3ZlIHdob2xlIGRpcmVjdG9yaWVzIgogbXNnc3RyICJ0YSBib3J0IGhlbGEga2F0YWxvZ2VyIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTEyIGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDUgYnVpbHRpbi9kZXNjcmliZS5jOjU0NwotIzogYnVpbHRpbi9ncmVwLmM6ODg2IGJ1aWx0aW4vbG9nLmM6MTY2IGJ1aWx0aW4vbG9nLmM6MTY4Ci0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU2IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTUgYnVpbHRpbi9uYW1lLXJldi5jOjQxNwotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OAorIzogYnVpbHRpbi9jbGVhbi5jOjkxNSBidWlsdGluL2Rlc2NyaWJlLmM6NTQ4IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMSBidWlsdGluL2xvZy5jOjE3NyBidWlsdGluL2xvZy5jOjE3OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NyBidWlsdGluL25hbWUtcmV2LmM6NDY0IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjYKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzkKIG1zZ2lkICJwYXR0ZXJuIgogbXNnc3RyICJtw7Zuc3RlciIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkxMworIzogYnVpbHRpbi9jbGVhbi5jOjkxNgogbXNnaWQgImFkZCA8cGF0dGVybj4gdG8gaWdub3JlIHJ1bGVzIgogbXNnc3RyICJsw6RnZyB0aWxsIDxtw7Zuc3Rlcj4gdGlsbCBpZ25vcmVyaW5nc3JlZ2xlciIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkxNAorIzogYnVpbHRpbi9jbGVhbi5jOjkxNwogbXNnaWQgInJlbW92ZSBpZ25vcmVkIGZpbGVzLCB0b28iCiBtc2dzdHIgInRhIMOkdmVuIGJvcnQgaWdub3JlcmFkZSBmaWxlciIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkxNgorIzogYnVpbHRpbi9jbGVhbi5jOjkxOQogbXNnaWQgInJlbW92ZSBvbmx5IGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgInRhIGVuZGFzdCBib3J0IGlnbm9yZXJhZGUgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MzQKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MzcKIG1zZ2lkICIteCBhbmQgLVggY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi14IG9jaCAtWCBrYW4gaW50ZSBhbnbDpG5kYXMgc2FtdGlkaWd0IgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTM4CisjOiBidWlsdGluL2NsZWFuLmM6OTQxCiBtc2dpZCAiIgogImNsZWFuLnJlcXVpcmVGb3JjZSBzZXQgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgcmVmdXNpbmcgdG8gIgogImNsZWFuIgpAQCAtOTExNSw3ICsxMTQwMCw3IEBACiAiY2xlYW4ucmVxdWlyZUZvcmNlIHNhdHQgdGlsbCB0cnVlLCBtZW4gdmFya2VuIC1pLCAtbiBlbGxlciAtZiBhbmdhdnM7IHbDpGdyYXIgIgogInN0w6RkYSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjk0MQorIzogYnVpbHRpbi9jbGVhbi5jOjk0NAogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgIgogInJlZnVzaW5nIHRvIGNsZWFuIgpAQCAtOTEyMywxNDYgKzExNDA4LDE2NiBAQAogImNsZWFuLnJlcXVpcmVGb3JjZSBoYXIgc3RhbmRhcmR2w6RyZGV0IHRydWUgb2NoIHZhcmtlbiAtaSwgLW4gZWxsZXIgLWYgIgogImFuZ2F2czsgdsOkZ3JhciBzdMOkZGEiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MworIzogYnVpbHRpbi9jbG9uZS5jOjQ1CiBtc2dpZCAiZ2l0IGNsb25lIFs8b3B0aW9ucz5dIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgImdpdCBjbG9uZSBbPGZsYWdnb3I+XSBbLS1dIDxhcmtpdj4gWzxrYXQ+XSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4CisjOiBidWlsdGluL2Nsb25lLmM6OTMKIG1zZ2lkICJkb24ndCBjcmVhdGUgYSBjaGVja291dCIKIG1zZ3N0ciAic2thcGEgaW50ZSBuw6Vnb24gdXRjaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OSBidWlsdGluL2Nsb25lLmM6OTEgYnVpbHRpbi9pbml0LWRiLmM6NDgxCisjOiBidWlsdGluL2Nsb25lLmM6OTQgYnVpbHRpbi9jbG9uZS5jOjk2IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4OQogbXNnaWQgImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAic2thcGEgZXR0IG5ha2V0IChcImJhcmVcIikgYXJraXYiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MworIzogYnVpbHRpbi9jbG9uZS5jOjk4CiBtc2dpZCAiY3JlYXRlIGEgbWlycm9yIHJlcG9zaXRvcnkgKGltcGxpZXMgYmFyZSkiCiBtc2dzdHIgInNrYXBhIGV0dCBzcGVnZWxhcmtpdiAoaW1wbGljZXJhciBcImJhcmVcIikiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NQorIzogYnVpbHRpbi9jbG9uZS5jOjEwMAogbXNnaWQgInRvIGNsb25lIGZyb20gYSBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICJmw7ZyIGF0dCBrbG9uYSBmcsOlbiBldHQgbG9rYWx0IGFya2l2IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAic2thcGEgaW50ZSBsb2thbGEgaMOlcmRhIGzDpG5rYXIsIGtvcGllcmEgYWxsdGlkIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDQKIG1zZ2lkICJzZXR1cCBhcyBzaGFyZWQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAic2thcGEgc29tIGV0dCBkZWxhdCBhcmtpdiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMSBidWlsdGluL2Nsb25lLmM6MTA1CisjOiBidWlsdGluL2Nsb25lLmM6MTA3CiBtc2dpZCAicGF0aHNwZWMiCiBtc2dzdHIgInPDtmt2w6Rnc2FuZ2l2ZWxzZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMSBidWlsdGluL2Nsb25lLmM6MTA1CisjOiBidWlsdGluL2Nsb25lLmM6MTA3CiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAiaW5pdGllcmEgdW5kZXJtb2R1bGVyIGkga2xvbmVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA4CisjOiBidWlsdGluL2Nsb25lLmM6MTEwCiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgY2xvbmVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJhbnRhbCB1bmRlcm1vZHVsZXIgc29tIGtsb25hcyBwYXJhbGxlbGx0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OAorIzogYnVpbHRpbi9jbG9uZS5jOjExMSBidWlsdGluL2luaXQtZGIuYzo0ODYKIG1zZ2lkICJ0ZW1wbGF0ZS1kaXJlY3RvcnkiCiBtc2dzdHIgIm1hbGxrYXRhbG9nIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEwIGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OQorIzogYnVpbHRpbi9jbG9uZS5jOjExMiBidWlsdGluL2luaXQtZGIuYzo0ODcKIG1zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgogbXNnc3RyICJrYXRhbG9nIGF0dCBhbnbDpG5kYSBtYWxsYXIgZnLDpW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTIgYnVpbHRpbi9jbG9uZS5jOjExNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3NQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTQgYnVpbHRpbi9jbG9uZS5jOjExNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODUKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKIG1zZ3N0ciAicmVmZXJlbnNhcmtpdiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3NwotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODg3CiBtc2dpZCAidXNlIC0tcmVmZXJlbmNlIG9ubHkgd2hpbGUgY2xvbmluZyIKIG1zZ3N0ciAiYW52w6RuZCAtLXJlZmVyZW5jZSBlbmRhc3QgdW5kZXIga2xvbmluZ2VuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE3IGJ1aWx0aW4vY29sdW1uLmM6MjcgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDYKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwMSBidWlsdGluL3JlcGFjay5jOjMyOQorIzogYnVpbHRpbi9jbG9uZS5jOjExOSBidWlsdGluL2NvbHVtbi5jOjI3IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTQgYnVpbHRpbi9yZXBhY2suYzozMjcKIG1zZ2lkICJuYW1lIgogbXNnc3RyICJuYW1uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE4CisjOiBidWlsdGluL2Nsb25lLmM6MTIwCiBtc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgogbXNnc3RyICJhbnbDpG5kIDxuYW1uPiBpc3TDpGxsZXQgZsO2ciBcIm9yaWdpblwiIGbDtnIgYXR0IHNww6VyYSB1cHBzdHLDtm1zIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTIwCisjOiBidWlsdGluL2Nsb25lLmM6MTIyCiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gaW5zdGVhZCBvZiB0aGUgcmVtb3RlJ3MgSEVBRCIKIG1zZ3N0ciAiY2hlY2thIHV0IDxncmVuPiBpc3TDpGxsZXQgZsO2ciBmasOkcnJlbnMgSEVBRCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyMgorIzogYnVpbHRpbi9jbG9uZS5jOjEyNAogbXNnaWQgInBhdGggdG8gZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUiCiBtc2dzdHIgInPDtmt2w6RnIHRpbGwgZ2l0LXVwbG9hZC1wYWNrIHDDpSBmasOkcnJlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyMyBidWlsdGluL2ZldGNoLmM6MTQyIGJ1aWx0aW4vZ3JlcC5jOjgyNQotIzogYnVpbHRpbi9wdWxsLmM6MjE3CisjOiBidWlsdGluL2Nsb25lLmM6MTI1IGJ1aWx0aW4vZmV0Y2guYzoxNjggYnVpbHRpbi9ncmVwLmM6ODQwCisjOiBidWlsdGluL3B1bGwuYzoyMjcKIG1zZ2lkICJkZXB0aCIKIG1zZ3N0ciAiZGp1cCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyNAorIzogYnVpbHRpbi9jbG9uZS5jOjEyNgogbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgb2YgdGhhdCBkZXB0aCIKIG1zZ3N0ciAic2thcGEgZW4gZ3J1bmQga2xvbiBww6UgZGV0dGEgZGp1cCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyNSBidWlsdGluL2ZldGNoLmM6MTQ0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MgorIzogYnVpbHRpbi9jbG9uZS5jOjEyNyBidWlsdGluL2ZldGNoLmM6MTcwIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4MwogbXNnaWQgInRpbWUiCiBtc2dzdHIgInRpZCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyNgorIzogYnVpbHRpbi9jbG9uZS5jOjEyOAogbXNnaWQgImNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgc2luY2UgYSBzcGVjaWZpYyB0aW1lIgogbXNnc3RyICJza2FwYSBlbiBncnVuZCBrbG9uIGZyw6VuIGVuIGFuZ2l2ZW4gdGlkcHVua3QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjcgYnVpbHRpbi9mZXRjaC5jOjE0NiBidWlsdGluL2ZldGNoLmM6MTY5Ci0jOiBidWlsdGluL3JlYmFzZS5jOjgzMQorIzogYnVpbHRpbi9jbG9uZS5jOjEyOSBidWlsdGluL2ZldGNoLmM6MTcyIGJ1aWx0aW4vZmV0Y2guYzoxOTUKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ0NQogbXNnaWQgInJldmlzaW9uIgogbXNnc3RyICJyZXZpc2lvbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyOCBidWlsdGluL2ZldGNoLmM6MTQ3CisjOiBidWlsdGluL2Nsb25lLmM6MTMwIGJ1aWx0aW4vZmV0Y2guYzoxNzMKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lLCBleGNsdWRpbmcgcmV2IgogbXNnc3RyICJmw7ZyZGp1cGEgaGlzdG9yaWsgZsO2ciBncnVuZCBrbG9uLCBleGtsdWRlcmEgcmV2aXNpb25lbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzMAorIzogYnVpbHRpbi9jbG9uZS5jOjEzMgogbXNnaWQgImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIKIG1zZ3N0ciAia2xvbmEgZW5kYXN0IGVuIGdyZW4sIEhFQUQgZWxsZXIgLS1icmFuY2giCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzQKIG1zZ2lkICJkb24ndCBjbG9uZSBhbnkgdGFncywgYW5kIG1ha2UgbGF0ZXIgZmV0Y2hlcyBub3QgdG8gZm9sbG93IHRoZW0iCiBtc2dzdHIgImtsb25hIGluZ2EgdGFnZ2FyIG9jaCBnw7ZyIGF0dCBzZW5hcmUgaMOkbXRuaW5nYXIgaW50ZSBmw7ZsamVyIGRlbSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzNAorIzogYnVpbHRpbi9jbG9uZS5jOjEzNgogbXNnaWQgImFueSBjbG9uZWQgc3VibW9kdWxlcyB3aWxsIGJlIHNoYWxsb3ciCiBtc2dzdHIgImtsb25hZGUgdW5kZXJtb2R1bGVyIGtvbW1lciB2YXJhIGdydW5kYSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzNSBidWlsdGluL2luaXQtZGIuYzo0ODcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzcgYnVpbHRpbi9pbml0LWRiLmM6NDk1CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICJnaXRrYXQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzYgYnVpbHRpbi9pbml0LWRiLmM6NDg4CisjOiBidWlsdGluL2Nsb25lLmM6MTM4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NgogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgInNlcGFyZXJhIGdpdGthdGFsb2dlbiBmcsOlbiBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzkKIG1zZ2lkICJrZXk9dmFsdWUiCiBtc2dzdHIgIm55Y2tlbD12w6RyZGUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDAKIG1zZ2lkICJzZXQgY29uZmlnIGluc2lkZSB0aGUgbmV3IHJlcG9zaXRvcnkiCiBtc2dzdHIgInN0w6RsbCBpbiBrb25maWd1cmF0aW9uIGkgZGV0IG55YSBhcmtpdmV0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM5IGJ1aWx0aW4vZmV0Y2guYzoxNjUgYnVpbHRpbi9wdWxsLmM6MjMwCi0jOiBidWlsdGluL3B1c2guYzo1ODMKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDIgYnVpbHRpbi9mZXRjaC5jOjE5MCBidWlsdGluL2xzLXJlbW90ZS5jOjc2CisjOiBidWlsdGluL3B1c2guYzo1NzMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzIKK21zZ2lkICJzZXJ2ZXItc3BlY2lmaWMiCittc2dzdHIgInNlcnZlcnNwZWNpZmlrIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTQyIGJ1aWx0aW4vZmV0Y2guYzoxOTAgYnVpbHRpbi9scy1yZW1vdGUuYzo3NgorIzogYnVpbHRpbi9wdXNoLmM6NTczIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTczCittc2dpZCAib3B0aW9uIHRvIHRyYW5zbWl0IgorbXNnc3RyICIiCisiaW5nZXQgYXR0IGNoZWNrYSBpblxuIgorImZsYWdnYSBhdHQgc8OkbmRhIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTQzIGJ1aWx0aW4vZmV0Y2guYzoxOTEgYnVpbHRpbi9wdWxsLmM6MjQwCisjOiBidWlsdGluL3B1c2guYzo1NzQKIG1zZ2lkICJ1c2UgSVB2NCBhZGRyZXNzZXMgb25seSIKIG1zZ3N0ciAiYW52w6RuZCBlbmRhc3QgSVB2NC1hZHJlc3NlciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjE0MSBidWlsdGluL2ZldGNoLmM6MTY3IGJ1aWx0aW4vcHVsbC5jOjIzMwotIzogYnVpbHRpbi9wdXNoLmM6NTg1CisjOiBidWlsdGluL2Nsb25lLmM6MTQ1IGJ1aWx0aW4vZmV0Y2guYzoxOTMgYnVpbHRpbi9wdWxsLmM6MjQzCisjOiBidWlsdGluL3B1c2guYzo1NzYKIG1zZ2lkICJ1c2UgSVB2NiBhZGRyZXNzZXMgb25seSIKIG1zZ3N0ciAiYW52w6RuZCBlbmRhc3QgSVB2Ni1hZHJlc3NlciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjI3OQorIzogYnVpbHRpbi9jbG9uZS5jOjE0OQorbXNnaWQgImFueSBjbG9uZWQgc3VibW9kdWxlcyB3aWxsIHVzZSB0aGVpciByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgorbXNnc3RyICJrbG9uYWRlIHVuZGVybW9kdWxlciBrb21tZXIgYW52w6RuZGEgc2luIGZqw6RycnNww6VybmluZ3NncmVuIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTUxCittc2dpZCAiaW5pdGlhbGl6ZSBzcGFyc2UtY2hlY2tvdXQgZmlsZSB0byBpbmNsdWRlIG9ubHkgZmlsZXMgYXQgcm9vdCIKK21zZ3N0ciAiaW5pdGllcmEgc3BhcnNlLWNoZWNrb3V0LWZpbGVuIHRpbGwgYXR0IGJhcmEgaW5rbHVkZXJhIGZpbGVyIGkgcm90ZW4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyODcKIG1zZ2lkICIiCiAiTm8gZGlyZWN0b3J5IG5hbWUgY291bGQgYmUgZ3Vlc3NlZC5cbiIKICJQbGVhc2Ugc3BlY2lmeSBhIGRpcmVjdG9yeSBvbiB0aGUgY29tbWFuZCBsaW5lIgpAQCAtOTI3MCwxODMgKzExNTc1LDE4MiBAQAogIkt1bmRlIGludGUgZ2lzc2Ega2F0YWxvZ25hbW4uXG4iCiAiQW5nZSBlbiBrYXRhbG9nIHDDpSBrb21tYW5kb3JhZGVuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MzMyCisjOiBidWlsdGluL2Nsb25lLmM6MzQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImluZm86IENvdWxkIG5vdCBhZGQgYWx0ZXJuYXRlIGZvciAnJXMnOiAlc1xuIgotbXNnc3RyICJpbmZvOiBLYW4gaW50ZSBza2FwYSBhbHRlcm5hdGl2IGbDtnIgXCIlc1wiOiAlc1xuIgorbXNnc3RyICJpbmZvOiBLYW4gaW50ZSBza2FwYSBzdXBwbGVhbnQgZsO2ciBcIiVzXCI6ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MDQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJyIKLW1zZ3N0ciAibWlzc2x5Y2thZGVzIMO2cHBuYSBcIiVzXCIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzIGZpbm5zIG9jaCDDpHIgaW5nZW4ga2F0YWxvZyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQyNgorIzogYnVpbHRpbi9jbG9uZS5jOjQzMAogIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gc3RhdCAlc1xuIgotbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgc3RhdHVzIHDDpSAlc1xuIgorbXNnaWQgImZhaWxlZCB0byBzdGFydCBpdGVyYXRvciBvdmVyICclcyciCittc2dzdHIgIm1pc3NseWNrYWRlcyBzdGFydGEgaXRlcmF0b3Igw7Z2ZXIgXCIlc1wiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDQzCi0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKLW1zZ3N0ciAibWlzc2x5Y2thZGVzIHRhIGJvcnQgbMOkbmtlbiBcIiVzXCIiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBza2FwYSBsw6Rua2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ1MgorIzogYnVpbHRpbi9jbG9uZS5jOjQ2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBrb3BpZXJhIGZpbGVuIHRpbGwgXCIlc1wiIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDc4CisjOiBidWlsdGluL2Nsb25lLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpdGVyYXRlIG92ZXIgJyVzJyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIGl0ZXJlcmEgw7Z2ZXIgXCIlc1wiIgorCisjOiBidWlsdGluL2Nsb25lLmM6NDk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvbmUuXG4iCiBtc2dzdHIgImtsYXJ0LlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDkyCisjOiBidWlsdGluL2Nsb25lLmM6NTA4CiBtc2dpZCAiIgogIkNsb25lIHN1Y2NlZWRlZCwgYnV0IGNoZWNrb3V0IGZhaWxlZC5cbiIKICJZb3UgY2FuIGluc3BlY3Qgd2hhdCB3YXMgY2hlY2tlZCBvdXQgd2l0aCAnZ2l0IHN0YXR1cydcbiIKLSJhbmQgcmV0cnkgdGhlIGNoZWNrb3V0IHdpdGggJ2dpdCBjaGVja291dCAtZiBIRUFEJ1xuIgorImFuZCByZXRyeSB3aXRoICdnaXQgcmVzdG9yZSAtLXNvdXJjZT1IRUFEIDovJ1xuIgogbXNnc3RyICIiCiAiS2xvbmVuIGx5Y2thZGVzLCBtZW4gdXRjaGVja25pbmdlbiBtaXNzbHlja2FkZXMuXG4iCiAiRHUga2FuIGluc3Bla3RlcmEgZGV0IHNvbSBjaGVja2FkZXMgdXQgbWVkIFwiZ2l0IHN0YXR1c1wiXG4iCi0ib2NoIGbDtnJzw7ZrYSBjaGVja2EgdXQgaWdlbiBtZWQgXCJnaXQgY2hlY2tvdXQgLWYgSEVBRFwiXG4iCisib2NoIGbDtnJzw7ZrYSBtZWQgXCJnaXQgcmVzdG9yZSAtc291cmNlPUhFQUQgOi9cIlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTY5CisjOiBidWlsdGluL2Nsb25lLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbW90ZSBicmFuY2ggJXMgdG8gY2xvbmUuIgogbXNnc3RyICJLdW5kZSBpbnRlIGhpdHRhIGZqw6RycmdyZW5lbiAlcyBmw7ZyIGF0dCBrbG9uYS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2ODAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSAlcyIKIG1zZ3N0ciAia2FuIGludGUgdXBwZGF0ZXJhICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzMwCisjOiBidWlsdGluL2Nsb25lLmM6NzUyCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgc3BhcnNlLWNoZWNrb3V0IgorbXNnc3RyICJtaXNzbHlja2FkZXMgaW5pdGllcmEgc3BhcnNlLWNoZWNrb3V0IgorCisjOiBidWlsdGluL2Nsb25lLmM6Nzc1CiBtc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgogbXNnc3RyICIiCiAiSEVBRCBob3MgZmrDpHJyZW4gcGVrYXIgcMOlIGVuIG9iZWZpbnRsaWcgcmVmZXJlbnMsIGthbiBpbnRlIGNoZWNrYSB1dC5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2MQorIzogYnVpbHRpbi9jbG9uZS5jOjgwNgogbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImt1bmRlIGludGUgY2hlY2thIHV0IGFyYmV0c2thdGFsb2dlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjgwNgorIzogYnVpbHRpbi9jbG9uZS5jOjg1NgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBwYXJhbWV0ZXJzIHRvIGNvbmZpZyBmaWxlIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSBwYXJhbWV0cmFyIHRpbGwga29uZmlndXJhdGlvbnNmaWxlbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2OQorIzogYnVpbHRpbi9jbG9uZS5jOjkxOQogbXNnaWQgImNhbm5vdCByZXBhY2sgdG8gY2xlYW4gdXAiCiBtc2dzdHIgImthbiBpbnRlIHBhY2thIG9tIGbDtnIgYXR0IHN0w6RkYSB1cHAiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4NzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MjEKIG1zZ2lkICJjYW5ub3QgdW5saW5rIHRlbXBvcmFyeSBhbHRlcm5hdGVzIGZpbGUiCiBtc2dzdHIgImt1bmRlIGludGUgdGEgYm9ydCB0ZW1wb3LDpHIgXCJhbHRlcm5hdGVzXCItZmlsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTExIGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk0MQorIzogYnVpbHRpbi9jbG9uZS5jOjk1OSBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NDgKIG1zZ2lkICJUb28gbWFueSBhcmd1bWVudHMuIgogbXNnc3RyICJGw7ZyIG3DpW5nYSBhcmd1bWVudC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NjMKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgcmVwb3NpdG9yeSB0byBjbG9uZS4iCiBtc2dzdHIgIkR1IG3DpXN0ZSBhbmdlIGV0dCBhcmtpdiBhdHQga2xvbmEuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTI4CisjOiBidWlsdGluL2Nsb25lLmM6OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiZmxhZ2dvcm5hIC0tYmFyZSBvY2ggLS1vcmlnaW4gJXMgw6RyIGlua29tcGF0aWJsYS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NzkKIG1zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiZmxhZ2dvcm5hIC0tYmFyZSBvY2ggLS1zZXBhcmF0ZS1naXQtZGlyIMOkciBpbmtvbXBhdGlibGEuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQ0CisjOiBidWlsdGluL2Nsb25lLmM6OTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiYXJraXZldCBcIiVzXCIgZmlubnMgaW50ZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk1MCBidWlsdGluL2ZldGNoLmM6MTYwNgorIzogYnVpbHRpbi9jbG9uZS5jOjk5OCBidWlsdGluL2ZldGNoLmM6MTc4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXB0aCAlcyBpcyBub3QgYSBwb3NpdGl2ZSBudW1iZXIiCiBtc2dzdHIgImRqdXBldCAlcyDDpHIgaW50ZSBldHQgcG9zaXRpdnQgdGFsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTYwCisjOiBidWlsdGluL2Nsb25lLmM6MTAwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiBwYXRoICclcycgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhbiBlbXB0eSBkaXJlY3RvcnkuIgogbXNnc3RyICJkZXN0aW5hdGlvbnNzw7ZrdsOkZ2VuIFwiJXNcIiBmaW5ucyByZWRhbiBvY2ggw6RyIGludGUgZW4gdG9tIGthdGFsb2cuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTcwCisjOiBidWlsdGluL2Nsb25lLmM6MTAxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgImFyYmV0c3Ryw6RkZXQgXCIlc1wiIGZpbm5zIHJlZGFuLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4NSBidWlsdGluL2Nsb25lLmM6MTAwNiBidWlsdGluL2RpZmZ0b29sLmM6MjcxCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Mjk1IGJ1aWx0aW4vd29ya3RyZWUuYzozMjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDMzIGJ1aWx0aW4vY2xvbmUuYzoxMDU0IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTg2NiBidWlsdGluL3dvcmt0cmVlLmM6MzAyIGJ1aWx0aW4vd29ya3RyZWUuYzozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc2thcGEgaW5sZWRhbmRlIGthdGFsb2dlciBmw7ZyIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc2thcGEgYXJiZXRza2F0YWxvZ2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMTAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNsb25pbmcgaW50byBiYXJlIHJlcG9zaXRvcnkgJyVzJy4uLlxuIgogbXNnc3RyICJLbG9uYXIgdGlsbCBldHQgbmFrZXQgYXJraXYgXCIlc1wiLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEyCisjOiBidWlsdGluL2Nsb25lLmM6MTA2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgogbXNnc3RyICJLbG9uYXIgdGlsbCBcIiVzXCIuLi5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMzYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDg0CiBtc2dpZCAiIgogImNsb25lIC0tcmVjdXJzaXZlIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggYm90aCAtLXJlZmVyZW5jZSBhbmQgLS1yZWZlcmVuY2UtaWYtIgogImFibGUiCiBtc2dzdHIgIiIKICJjbG9uZSAtLXJlY3Vyc2l2ZSDDpHIgaW50ZSBrb21wYXRpYmVsIG1lZCAtLXJlZmVyZW5jZSBvY2ggLS1yZWZlcmVuY2UtaWYtYWJsZSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTQ4CiBtc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIi0tZGVwdGggaWdub3JlcmFzIGkgbG9rYWxhIGtsb25pbmdhcjsgYW52w6RuZCBmaWxlOi8vIGlzdMOkbGxldC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDk5CisjOiBidWlsdGluL2Nsb25lLmM6MTE1MAogbXNnaWQgIi0tc2hhbGxvdy1zaW5jZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIi0tc2hhbGxvdy1zaW5jZSBpZ25vcmVyYXMgaSBsb2thbGEga2xvbmluZ2FyOyBhbnbDpG5kIGZpbGU6Ly8gaXN0w6RsbGV0LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTUyCiBtc2dpZCAiLS1zaGFsbG93LWV4Y2x1ZGUgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICIiCiAiLS1zaGFsbG93LWV4Y2x1ZGUgaWdub3JlcmFzIGkgbG9rYWxhIGtsb25pbmdhcjsgYW52w6RuZCBmaWxlOi8vIGlzdMOkbGxldC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAzCisjOiBidWlsdGluL2Nsb25lLmM6MTE1NAogbXNnaWQgIi0tZmlsdGVyIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiLS1maWx0ZXIgaWdub3JlcmFzIGkgbG9rYWxhIGtsb25pbmdhcjsgYW52w6RuZCBmaWxlOi8vIGlzdMOkbGxldC4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTA2CisjOiBidWlsdGluL2Nsb25lLmM6MTE1NwogbXNnaWQgInNvdXJjZSByZXBvc2l0b3J5IGlzIHNoYWxsb3csIGlnbm9yaW5nIC0tbG9jYWwiCiBtc2dzdHIgImvDpGxsYXJraXZldCDDpHIgZ3J1bnQsIGlnbm9yZXJhciAtLWxvY2FsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTExMQorIzogYnVpbHRpbi9jbG9uZS5jOjExNjIKIG1zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCiBtc2dzdHIgIi0tbG9jYWwgaWdub3JlcmFzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE4MSBidWlsdGluL2Nsb25lLmM6MTE4OQorIzogYnVpbHRpbi9jbG9uZS5jOjEyMzcgYnVpbHRpbi9jbG9uZS5jOjEyNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIkZqw6RycmdyZW5lbiAlcyBoaXR0YWRlcyBpbnRlIGkgdXBwc3Ryw7Ztc2Fya2l2ZXQgJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTkyCisjOiBidWlsdGluL2Nsb25lLmM6MTI0OAogbXNnaWQgIllvdSBhcHBlYXIgdG8gaGF2ZSBjbG9uZWQgYW4gZW1wdHkgcmVwb3NpdG9yeS4iCiBtc2dzdHIgIkR1IHZlcmthciBoYSBrbG9uYXQgZXR0IHRvbXQgYXJraXYuIgogCkBAIC05NDgyLDE1ICsxMTc4Niw4MyBAQAogbXNnaWQgIi0tY29tbWFuZCBtdXN0IGJlIHRoZSBmaXJzdCBhcmd1bWVudCIKIG1zZ3N0ciAiLS1jb21tYW5kIG3DpXN0ZSB2YXJhIGbDtnJzdGEgYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDAKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxOAorbXNnaWQgIiIKKyJnaXQgY29tbWl0LXRyZWUgWygtcCA8cGFyZW50PikuLi5dIFstU1s8a2V5aWQ+XV0gWygtbSA8bWVzc2FnZT4pLi4uXSBbKC1GICIKKyI8ZmlsZT4pLi4uXSA8dHJlZT4iCittc2dzdHIgIiIKKyJnaXQgY29tbWl0LXRyZWUgWygtcCA8ZsO2csOkbGRyZXI+KS4uLl0gWy1TWzxueWNrZWxpZD5dXSBbKC1tICIKKyI8bWVkZGVsYW5kZT4pLi4uXSBbKC1GIDxmaWw+KS4uLl0gPHRyw6RkPiIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImR1cGxpY2F0ZSBwYXJlbnQgJXMgaWdub3JlZCIKK21zZ3N0ciAiZHVwbGljZXJhZCBmw7Zyw6RsZGVyICVzIGlnbm9yZXJhZGVzIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6NTYgYnVpbHRpbi9jb21taXQtdHJlZS5jOjEzNiBidWlsdGluL2xvZy5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKK21zZ3N0ciAib2JqZWt0bmFtbmV0IMOkciBpbnRlIGdpbHRpZ3Q6ICVzIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gb3BlbiAnJXMnIgorbXNnc3RyICJnaXQgY29tbWl0LXRyZWU6IG1pc3NseWNrYWRlcyDDtnBwbmEgXCIlc1wiIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gcmVhZCAnJXMnIgorbXNnc3RyICJnaXQgY29tbWl0LXRyZWU6IG1pc3NseWNrYWRlcyBsw6RzYSBcIiVzXCIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byBjbG9zZSAnJXMnIgorbXNnc3RyICJnaXQgY29tbWl0LXRyZWU6IG1pc3NseWNrYWRlcyBzdMOkbmdhIFwiJXNcIiIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExMQorbXNnaWQgInBhcmVudCIKK21zZ3N0ciAiZsO2csOkbGRlciIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExMgorbXNnaWQgImlkIG9mIGEgcGFyZW50IGNvbW1pdCBvYmplY3QiCittc2dzdHIgImlkIHDDpSBldHQgZsO2csOkbGRlcmluY2hlY2tuaW5nc29iamVrdCIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExNCBidWlsdGluL2NvbW1pdC5jOjE0OTYgYnVpbHRpbi9tZXJnZS5jOjI3MAorIzogYnVpbHRpbi9ub3Rlcy5jOjQwOSBidWlsdGluL25vdGVzLmM6NTc1IGJ1aWx0aW4vc3Rhc2guYzoxNDY5CisjOiBidWlsdGluL3RhZy5jOjQxMgorbXNnaWQgIm1lc3NhZ2UiCittc2dzdHIgIm1lZGRlbGFuZGUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTUgYnVpbHRpbi9jb21taXQuYzoxNDk2Cittc2dpZCAiY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgImluY2hlY2tuaW5nc21lZGRlbGFuZGUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTgKK21zZ2lkICJyZWFkIGNvbW1pdCBsb2cgbWVzc2FnZSBmcm9tIGZpbGUiCittc2dzdHIgImzDpHMgaW5jaGVja25pbmdzbG9nZ21lZGRlbGFuZGUgZnLDpW4gZmlsIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTIxIGJ1aWx0aW4vY29tbWl0LmM6MTUwOCBidWlsdGluL21lcmdlLmM6Mjg3CisjOiBidWlsdGluL3B1bGwuYzoxOTUgYnVpbHRpbi9yZXZlcnQuYzoxMTgKK21zZ2lkICJHUEcgc2lnbiBjb21taXQiCittc2dzdHIgIkdQRy1zaWduZXJhIGluY2hlY2tuaW5nIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTMzCittc2dpZCAibXVzdCBnaXZlIGV4YWN0bHkgb25lIHRyZWUiCittc2dzdHIgIm3DpXN0ZSBhbmdlIGV4YWt0IGV0dCB0csOkZCIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjE0MAorbXNnaWQgImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIHJlYWQiCittc2dzdHIgImdpdCBjb21taXQtdHJlZTogbWlzc2x5Y2thZGVzIGzDpHNhIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjQxCiBtc2dpZCAiZ2l0IGNvbW1pdCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBjb21taXQgWzxmbGFnZ29yPl0gWy0tXSA8c8O2a3bDpGc+Li4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjQ2CiBtc2dpZCAiZ2l0IHN0YXR1cyBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBzdGF0dXMgWzxmbGFnZ29yPl0gWy0tXSA8c8O2a3bDpGc+Li4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjUwCisjOiBidWlsdGluL2NvbW1pdC5jOjUxCiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBhbWVuZCB0aGUgbW9zdCByZWNlbnQgY29tbWl0LCBidXQgZG9pbmcgc28gd291bGQgbWFrZVxuIgogIml0IGVtcHR5LiBZb3UgY2FuIHJlcGVhdCB5b3VyIGNvbW1hbmQgd2l0aCAtLWFsbG93LWVtcHR5LCBvciB5b3UgY2FuXG4iCkBAIC05NTAwLDcgKzExODcyLDcgQEAKICJibGlyIGRlbiB0b20uIER1IGthbiBrw7ZyYSBrb21tYW5kb3QgcMOlIG55dHQgbWVkIC0tYWxsb3ctZW1wdHksIGVsbGVyXG4iCiAic8OlIGthbiBkdSB0YSBib3J0IGluY2hlY2tuaW5nZW4gaGVsdCBtZWQgXCJnaXQgcmVzZXQgSEVBRF5cIi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NQorIzogYnVpbHRpbi9jb21taXQuYzo1NgogbXNnaWQgIiIKICJUaGUgcHJldmlvdXMgY2hlcnJ5LXBpY2sgaXMgbm93IGVtcHR5LCBwb3NzaWJseSBkdWUgdG8gY29uZmxpY3QgcmVzb2x1dGlvbi5cbiIKICJJZiB5b3Ugd2lzaCB0byBjb21taXQgaXQgYW55d2F5LCB1c2U6XG4iCkBAIC05NTE0LDgxICsxMTg4Niw5NSBAQAogIiAgICBnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHlcbiIKICJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2MgotbXNnaWQgIk90aGVyd2lzZSwgcGxlYXNlIHVzZSAnZ2l0IHJlc2V0J1xuIgotbXNnc3RyICJBbnbDpG5kIGFubmFycyBcImdpdCByZXNldFwiXG4iCisjOiBidWlsdGluL2NvbW1pdC5jOjYzCittc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgY2hlcnJ5LXBpY2sgLS1za2lwJ1xuIgorbXNnc3RyICJBbnbDpG5kIGFubmFycyBcImdpdCBjaGVycnktcGljayAtLXNraXBcIlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY1CisjOiBidWlsdGluL2NvbW1pdC5jOjY2CiBtc2dpZCAiIgorImFuZCB0aGVuIHVzZTpcbiIKKyJcbiIKKyIgICAgZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcbiIKKyJcbiIKKyJ0byByZXN1bWUgY2hlcnJ5LXBpY2tpbmcgdGhlIHJlbWFpbmluZyBjb21taXRzLlxuIgogIklmIHlvdSB3aXNoIHRvIHNraXAgdGhpcyBjb21taXQsIHVzZTpcbiIKICJcbiIKLSIgICAgZ2l0IHJlc2V0XG4iCisiICAgIGdpdCBjaGVycnktcGljayAtLXNraXBcbiIKICJcbiIKLSJUaGVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiB3aWxsIHJlc3VtZSBjaGVycnktcGlja2luZ1xuIgotInRoZSByZW1haW5pbmcgY29tbWl0cy5cbiIKIG1zZ3N0ciAiIgotIk9tIGR1IHZpbGwgaG9wcGEgw7Z2ZXIgaW5jaGVja25pbmdlbiwgYW52w6RuZDpcbiIKKyJvY2ggc2VkYW46XG4iCiAiXG4iCi0iICAgIGdpdCByZXNldFxuIgorIiAgICBnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVxuIgogIlxuIgotIlwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiBrb21tZXIgZMOkcmVmdGVyIGF0dCDDpXRlcnVwcHRhXG4iCi0iY2hlcnJ5LXBpY2sgZsO2ciDDpXRlcnN0w6VlbmRlIGluY2hlY2tuaW5nYXIuXG4iCisiZsO2ciBhdHQgZm9ydHPDpHR0YSBcImNoZXJyeS1waWNrXCIgbWVkIHJlc3RlcmFuZGUgaW5jaGVja25pbmdhci5cbiIKKyJPbSBkdSB2aWxsIGhvcHBhIMO2dmVyIGRlbiBow6RyIGluY2hlY2tuaW5nZW4sIGFudsOkbmQ6XG4iCisiXG4iCisiICAgIGdpdCBjaGVycnktcGljayAtLXNraXBcbiIKKyJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzE1CiBtc2dpZCAiZmFpbGVkIHRvIHVucGFjayBIRUFEIHRyZWUgb2JqZWN0IgogbXNnc3RyICJtaXNzbHlja2FkZXMgcGFja2EgdXBwIEhFQUQ6cyB0csOkZG9iamVrdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzUxCittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICItLXBhdGhzcGVjLWZyb20tZmlsZSBtZWQgLWEgZ2VyIGluZ2VuIG1lbmluZyIKKworIzogYnVpbHRpbi9jb21taXQuYzozNjQKK21zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCittc2dzdHIgIkR1IG3DpXN0ZSBhbmdlIHPDtmt2w6RnYXIgdGlsbHNhbW1hbnMgbWVkIC0taW5jbHVkZS8tLW9ubHkuIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjM3NgogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICJrdW5kZSBpbnRlIHNrYXBhIHRlbXBvcsOkciBpbmRleGZpbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzgyCiBtc2dpZCAiaW50ZXJhY3RpdmUgYWRkIGZhaWxlZCIKIG1zZ3N0ciAiaW50ZXJha3RpdiB0aWxsw6RnZ25pbmcgbWlzc2x5Y2thZGVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM3MQorIzogYnVpbHRpbi9jb21taXQuYzozOTYKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAia2FuIGludGUgdXBwZGF0ZXJhIHRlbXBvcsOkcnQgaW5kZXgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzczCisjOiBidWlsdGluL2NvbW1pdC5jOjM5OAogbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgbWFpbiBjYWNoZSB0cmVlIgogbXNnc3RyICJNaXNzbHlja2FkZXMgdXBwZGF0ZXJhIGh1dnVkLWNhY2hldHLDpGRldCIKIAotIzogYnVpbHRpbi9jb21taXQuYzozOTggYnVpbHRpbi9jb21taXQuYzo0MjEgYnVpbHRpbi9jb21taXQuYzo0NjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDIzIGJ1aWx0aW4vY29tbWl0LmM6NDQ2IGJ1aWx0aW4vY29tbWl0LmM6NDkyCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIgogbXNnc3RyICJrdW5kZSBpbnRlIHNrcml2YSBmaWxlbiBuZXdfaW5kZXgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDUwCisjOiBidWlsdGluL2NvbW1pdC5jOjQ3NQogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIG1lcmdlLiIKIG1zZ3N0ciAia2FuIGludGUgdXRmw7ZyYSBlbiBkZWx2aXMgaW5jaGVja25pbmcgdW5kZXIgZW4gc2FtbWFuc2xhZ25pbmcuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1MgorIzogYnVpbHRpbi9jb21taXQuYzo0NzcKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgImthbiBpbnRlIHV0ZsO2cmEgZW4gZGVsdmlzIGluY2hlY2tuaW5nIHVuZGVyIGVuIGNoZXJyeS1waWNrLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDg1CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBpbmRleGV0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ3OQorIzogYnVpbHRpbi9jb21taXQuYzo1MDQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIHRlbXBvcsOkciBpbmRleGZpbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAnJXMnIGxhY2tzIGF1dGhvciBoZWFkZXIiCiBtc2dzdHIgImluY2hlY2tuaW5nZW4gXCIlc1wiIHNha25hciBmw7ZyZmF0dGFyaHV2dWQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTc5CisjOiBidWlsdGluL2NvbW1pdC5jOjYwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJyVzJyBoYXMgbWFsZm9ybWVkIGF1dGhvciBsaW5lIgogbXNnc3RyICJpbmNoZWNrbmluZ2VuIFwiJXNcIiBoYXIgZmVsZm9ybWF0ZXJhdCBmw7ZyZmF0dGFyaHV2dWQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTk4CisjOiBidWlsdGluL2NvbW1pdC5jOjYyMwogbXNnaWQgIm1hbGZvcm1lZCAtLWF1dGhvciBwYXJhbWV0ZXIiCiBtc2dzdHIgImZlbGZvcm1hZCBcIi0tYXV0aG9yXCItZmxhZ2dhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY1MAorIzogYnVpbHRpbi9jb21taXQuYzo2NzYKIG1zZ2lkICIiCiAidW5hYmxlIHRvIHNlbGVjdCBhIGNvbW1lbnQgY2hhcmFjdGVyIHRoYXQgaXMgbm90IHVzZWRcbiIKICJpbiB0aGUgY3VycmVudCBjb21taXQgbWVzc2FnZSIKQEAgLTk1OTYsMzggKzExOTgyLDM4IEBACiAia3VuZGUgaW50ZSB2w6RsamEgZXR0IGtvbW1lbnRhcnN0ZWNrZW4gc29tIGludGUgYW52w6RudHNcbiIKICJpIGRldCBiZWZpbnRsaWdhIGluY2hlY2tuaW5nc21lZGRlbGFuZGV0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY4NyBidWlsdGluL2NvbW1pdC5jOjcyMCBidWlsdGluL2NvbW1pdC5jOjEwNDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzE0IGJ1aWx0aW4vY29tbWl0LmM6NzQ3IGJ1aWx0aW4vY29tbWl0LmM6MTA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIGNvbW1pdCAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBzbMOlIHVwcCBpbmNoZWNrbmluZ2VuICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5OSBidWlsdGluL3Nob3J0bG9nLmM6MzE3CisjOiBidWlsdGluL2NvbW1pdC5jOjcyNiBidWlsdGluL3Nob3J0bG9nLmM6MzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIihyZWFkaW5nIGxvZyBtZXNzYWdlIGZyb20gc3RhbmRhcmQgaW5wdXQpXG4iCiBtc2dzdHIgIihsw6RzZXIgbG9nZ21lZGRlbGFuZGUgZnLDpW4gc3RhbmRhcmQgaW4pXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzAxCisjOiBidWlsdGluL2NvbW1pdC5jOjcyOAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIGxvZ2cgZnLDpW4gc3RhbmRhcmQgaW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzA1CisjOiBidWlsdGluL2NvbW1pdC5jOjczMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZmlsZSAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIGxvZ2dmaWxlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzM0IGJ1aWx0aW4vY29tbWl0LmM6NzQyCisjOiBidWlsdGluL2NvbW1pdC5jOjc2MyBidWlsdGluL2NvbW1pdC5jOjc3OQogbXNnaWQgImNvdWxkIG5vdCByZWFkIFNRVUFTSF9NU0ciCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgU1FVQVNIX01TRyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3MzkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzcwCiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTVNHIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIE1FUkdFX01TRyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo3OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODMwCiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza3JpdmEgaW5jaGVja25pbmdzbWFsbCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTk2NDIsNyArMTIwMjgsNyBAQAogIlx0JXNcbiIKICJvY2ggZsO2cnPDtmtlciBpZ2VuLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgxNgorIzogYnVpbHRpbi9jb21taXQuYzo4NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtOTY1Nyw3ICsxMjA0Myw3IEBACiAiXHQlc1xuIgogIm9jaCBmw7Zyc8O2a2VyIGlnZW4uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODI5CisjOiBidWlsdGluL2NvbW1pdC5jOjg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgpAQCAtOTY2Nyw3ICsxMjA1Myw3IEBACiAibWVkIFwiJWNcIiBrb21tZXIgaWdub3JlcmFzLCBvY2ggZXR0IHRvbXQgbWVkZGVsYW5kZSBhdmJyeXRlciAiCiAiaW5jaGVja25pbmdlbi5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC05Njc4LDE0OCArMTIwNjQsMTQwIEBACiAibWVkIFwiJWNcIiBrb21tZXIgYmVow6VsbGFzOyBkdSBrYW4gc2rDpGx2IHRhIGJvcnQgZGVtIG9tIGR1IHZpbGwuXG4iCiAiRXR0IHRvbXQgbWVkZGVsYW5kZSBhdmJyeXRlciBpbmNoZWNrbmluZ2VuLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg1NAorIzogYnVpbHRpbi9jb21taXQuYzo4OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNBdXRob3I6ICAgICUuKnMgPCUuKnM+IgogbXNnc3RyICIlc0bDtnJmYXR0YXJlOiAlLipzIDwlLipzPiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzRGF0ZTogICAgICAlcyIKIG1zZ3N0ciAiJXNEYXR1bTogICAgICAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4NjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQ29tbWl0dGVyOiAlLipzIDwlLipzPiIKIG1zZ3N0ciAiJXNJbmNoZWNrYXJlOiAlLipzIDwlLipzPiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTI1CiBtc2dpZCAiQ2Fubm90IHJlYWQgaW5kZXgiCiBtc2dzdHIgIkthbiBpbnRlIGzDpHNhIGluZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTUzCisjOiBidWlsdGluL2NvbW1pdC5jOjk5MgogbXNnaWQgIkVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICJGZWwgdmlkIGJ5Z2dhbmRlIGF2IHRyw6RkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk2NyBidWlsdGluL3RhZy5jOjI1OAorIzogYnVpbHRpbi9jb21taXQuYzoxMDA2IGJ1aWx0aW4vdGFnLmM6Mjc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBsZWFzZSBzdXBwbHkgdGhlIG1lc3NhZ2UgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbi5cbiIKIG1zZ3N0ciAiQW5nZSBtZWRkZWxhbmRldCBlbiBhdiBmbGFnZ29ybmEgLW0gZWxsZXIgLUYuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAxMQorIzogYnVpbHRpbi9jb21taXQuYzoxMDUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYXV0aG9yICclcycgaXMgbm90ICdOYW1lIDxlbWFpbD4nIGFuZCBtYXRjaGVzIG5vIGV4aXN0aW5nIGF1dGhvciIKIG1zZ3N0ciAiIgogIi0tYXV0aG9yICclcycgw6RyIGludGUgJ05hbW4gPGVwb3N0Picgb2NoIG1hdGNoYXIgaW5nZW4gYmVmaW50bGlnIGbDtnJmYXR0YXJlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGlnbm9yZWQgbW9kZSAnJXMnIgogbXNnc3RyICJPZ2lsdGlndCBpZ25vcmVyYXQgbMOkZ2UgXCIlc1wiIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMzkgYnVpbHRpbi9jb21taXQuYzoxMjc2CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODIgYnVpbHRpbi9jb21taXQuYzoxMzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAiT2dpbHRpZ3QgbMOkZ2UgZsO2ciBvc3DDpXJhZGUgZmlsZXI6IFwiJXNcIiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDc3CisjOiBidWlsdGluL2NvbW1pdC5jOjExMjIKIG1zZ2lkICItLWxvbmcgYW5kIC16IGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0tbG9uZyBvY2ggLXogw6RyIGlua29tcGF0aWJsYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTEwCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjYKIG1zZ2lkICJVc2luZyBib3RoIC0tcmVzZXQtYXV0aG9yIGFuZCAtLWF1dGhvciBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJLYW4gaW50ZSBhbnbDpG5kYSBiw6VkZSAtLXJlc2V0LWF1dGhvciBvY2ggLS1hdXRob3IiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExOQorIzogYnVpbHRpbi9jb21taXQuYzoxMTc1CiBtc2dpZCAiWW91IGhhdmUgbm90aGluZyB0byBhbWVuZC4iCiBtc2dzdHIgIkR1IGhhciBpbmdldCBhdHQgdXTDtmthLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTIyCisjOiBidWlsdGluL2NvbW1pdC5jOjExNzgKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICJEdSDDpHIgaSBtaXR0ZW4gYXYgZW4gc2FtbWFuc2xhZ25pbmcgLS0ga2FuIGludGUgdXTDtmthLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTI0CisjOiBidWlsdGluL2NvbW1pdC5jOjExODAKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICJEdSDDpHIgaSBtaXR0ZW4gYXYgZW4gY2hlcnJ5LXBpY2sgLS0ga2FuIGludGUgdXTDtmthLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTI3CisjOiBidWlsdGluL2NvbW1pdC5jOjExODMKIG1zZ2lkICJPcHRpb25zIC0tc3F1YXNoIGFuZCAtLWZpeHVwIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICJGbGFnZ29ybmEgLS1zcXVhc2ggb2NoIC0tZml4dXAga2FuIGludGUgYW52w6RuZGFzIHNhbXRpZGlndCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTM3CisjOiBidWlsdGluL2NvbW1pdC5jOjExOTMKIG1zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAiRW5kYXN0IGVuIGF2IC1jLy1DLy1GLy0tZml4dXAga2FuIGFudsOkbmRhcy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEzOQorIzogYnVpbHRpbi9jb21taXQuYzoxMTk1CiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLiIKIG1zZ3N0ciAiRmxhZ2dhbiAtbSBrYW4gaW50ZSBrb21iaW5lcmFzIG1lZCAtYy8tQy8tRi4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE0NworIzogYnVpbHRpbi9jb21taXQuYzoxMjAzCiBtc2dpZCAiLS1yZXNldC1hdXRob3IgY2FuIGJlIHVzZWQgb25seSB3aXRoIC1DLCAtYyBvciAtLWFtZW5kLiIKIG1zZ3N0ciAiLS1yZXNldC1hdXRob3Iga2FuIGVuZGFzdCBhbnbDpG5kYXMgbWVkIC1DLCAtYyBlbGxlciAtLWFtZW5kLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTY0CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMjAKIG1zZ2lkICJPbmx5IG9uZSBvZiAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIiIKICJFbmRhc3QgZW4gYXYgLS1pbmNsdWRlLy0tb25seS8tLWFsbC8tLWludGVyYWN0aXZlLy0tcGF0Y2gga2FuIGFudsOkbmRhcy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NgotbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKLW1zZ3N0ciAiRHUgbcOlc3RlIGFuZ2Ugc8O2a3bDpGdhciB0aWxsc2FtbWFucyBtZWQgLS1pbmNsdWRlLy0tb25seS4iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MCBidWlsdGluL3RhZy5jOjU0NgorIzogYnVpbHRpbi9jb21taXQuYzoxMjI2CiAjLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgotbXNnc3RyICJGZWxha3RpZ3Qgc3TDpGRuaW5nc2zDpGdlICVzIgorbXNnaWQgInBhdGhzICclcyAuLi4nIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAic8O2a3bDpGdhcm5hIFwiJXMgLi4uXCIgbWVkIC1hIGdlciBpbmdlbiBtZW5pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4NQotbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCi1tc2dzdHIgIkthbiBpbnRlIGFuZ2Ugc8O2a3bDpGdhciBtZWQgLWEuIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTEgYnVpbHRpbi9jb21taXQuYzoxNDk1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTcgYnVpbHRpbi9jb21taXQuYzoxNTE5CiBtc2dpZCAic2hvdyBzdGF0dXMgY29uY2lzZWx5IgogbXNnc3RyICJ2aXNhIGtvbmNpcyBzdGF0dXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxMyBidWlsdGluL2NvbW1pdC5jOjE0OTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1OSBidWlsdGluL2NvbW1pdC5jOjE1MjEKIG1zZ2lkICJzaG93IGJyYW5jaCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAidmlzYSBpbmZvcm1hdGlvbiBvbSBncmVuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MQogbXNnaWQgInNob3cgc3Rhc2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgInZpc2EgaW5mb3JtYXRpb24gb20gc3Rhc2giCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxNyBidWlsdGluL2NvbW1pdC5jOjE0OTkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MyBidWlsdGluL2NvbW1pdC5jOjE1MjMKIG1zZ2lkICJjb21wdXRlIGZ1bGwgYWhlYWQvYmVoaW5kIHZhbHVlcyIKIG1zZ3N0ciAiYmVyw6RrbmEgZnVsbHN0w6RuZGlnYSBmw7ZyZS0vZWZ0ZXItdsOkcmRlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzE5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjUKIG1zZ2lkICJ2ZXJzaW9uIgogbXNnc3RyICJ2ZXJzaW9uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTkgYnVpbHRpbi9jb21taXQuYzoxNTAxIGJ1aWx0aW4vcHVzaC5jOjU1OAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjYzOQorIzogYnVpbHRpbi9jb21taXQuYzoxMzY1IGJ1aWx0aW4vY29tbWl0LmM6MTUyNSBidWlsdGluL3B1c2guYzo1NDkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NTAKIG1zZ2lkICJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIKIG1zZ3N0ciAibWFza2lubMOkc2JhciB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyMiBidWlsdGluL2NvbW1pdC5jOjE1MDMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2OCBidWlsdGluL2NvbW1pdC5jOjE1MjcKIG1zZ2lkICJzaG93IHN0YXR1cyBpbiBsb25nIGZvcm1hdCAoZGVmYXVsdCkiCiBtc2dzdHIgInZpc2Egc3RhdHVzIGkgbMOlbmd0IGZvcm1hdCAoc3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjUgYnVpbHRpbi9jb21taXQuYzoxNTA2CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNzEgYnVpbHRpbi9jb21taXQuYzoxNTMwCiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiCiBtc2dzdHIgInRlcm1pbmVyYSBwb3N0ZXIgbWVkIE5VTCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzI3IGJ1aWx0aW4vY29tbWl0LmM6MTMzMSBidWlsdGluL2NvbW1pdC5jOjE1MDkKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDA3IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDEwIGJ1aWx0aW4vcmViYXNlLmM6OTEwCi0jOiBidWlsdGluL3RhZy5jOjQwMAorIzogYnVpbHRpbi9jb21taXQuYzoxMzczIGJ1aWx0aW4vY29tbWl0LmM6MTM3NyBidWlsdGluL2NvbW1pdC5jOjE1MzMKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTUzIGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTU2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1OSBidWlsdGluL3JlYmFzZS5jOjE1MjUgcGFyc2Utb3B0aW9ucy5oOjMzNgogbXNnaWQgIm1vZGUiCiBtc2dzdHIgImzDpGdlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjggYnVpbHRpbi9jb21taXQuYzoxNTA5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNzQgYnVpbHRpbi9jb21taXQuYzoxNTMzCiBtc2dpZCAic2hvdyB1bnRyYWNrZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiBhbGwsIG5vcm1hbCwgbm8uIChEZWZhdWx0OiBhbGwpIgogbXNnc3RyICJ2aXNhIG9zcMOlcmFkZSBmaWxlciwgdmFsZnJpYSBsw6RnZW46IGFsbCwgbm9ybWFsLCBuby4gKFN0YW5kYXJkOiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3OAogbXNnaWQgIiIKICJzaG93IGlnbm9yZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiB0cmFkaXRpb25hbCwgbWF0Y2hpbmcsIG5vLiAoRGVmYXVsdDogIgogInRyYWRpdGlvbmFsKSIKQEAgLTk4MjcsMTEgKzEyMjA1LDExIEBACiAidmlzYSBpZ25vcmVyYWRlIGZpbGVyLCB2YWxmcmlhIGzDpGdlbjogdHJhZGl0aW9uYWwsIG1hdGNoaW5nLCBubyAoU3RhbmRhcmQ6ICIKICJ0cmFkaXRpb25hbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNCBwYXJzZS1vcHRpb25zLmg6MTY0CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODAgcGFyc2Utb3B0aW9ucy5oOjE5MgogbXNnaWQgIndoZW4iCiBtc2dzdHIgIm7DpHIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNQorIzogYnVpbHRpbi9jb21taXQuYzoxMzgxCiBtc2dpZCAiIgogImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihEZWZhdWx0OiBhbGwpIgpAQCAtOTgzOSwyNTIgKzEyMjE3LDI0NSBAQAogImlnbm9yZXJhIMOkbmRyaW5nYXIgaSB1bmRlcm1vZHVsZXIsIHZhbGZyaXR0IG7DpHI6IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihEZWZhdWx0OiBhbGwpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4MwogbXNnaWQgImxpc3QgdW50cmFja2VkIGZpbGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgInZpc2Egb3Nww6VyYWRlIGZpbGVyIGkgc3BhbHRlciIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM4CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODQKIG1zZ2lkICJkbyBub3QgZGV0ZWN0IHJlbmFtZXMiCiBtc2dzdHIgImRldGVrdGVyYSBpbnRlIG5hbW7DpG5kcmluZ2FyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4NgogbXNnaWQgImRldGVjdCByZW5hbWVzLCBvcHRpb25hbGx5IHNldCBzaW1pbGFyaXR5IGluZGV4IgogbXNnc3RyICJkZXRla3RlcmEgbmFtbsOkbmRyaW5nYXIsIG3DtmpsaWdlbiBzw6R0dCBsaWtoZXRzaW5kZXgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDA2CiBtc2dpZCAiVW5zdXBwb3J0ZWQgY29tYmluYXRpb24gb2YgaWdub3JlZCBhbmQgdW50cmFja2VkLWZpbGVzIGFyZ3VtZW50cyIKIG1zZ3N0ciAiS29tYmluYXRpb25lbiBhdiBhcmd1bWVudCBmw7ZyIGlnbm9yZXJhZGUgb2NoIG9zcMOlcmFkZSBmaWxlciBzdMO2ZHMgZWoiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNDg5CiBtc2dpZCAic3VwcHJlc3Mgc3VtbWFyeSBhZnRlciBzdWNjZXNzZnVsIGNvbW1pdCIKIG1zZ3N0ciAidW5kZXJ0cnljayBzYW1tYW5mYXR0bmluZyBlZnRlciBmcmFtZ8OlbmdzcmlrIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MAogbXNnaWQgInNob3cgZGlmZiBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAidmlzYSBkaWZmIGkgbWFsbGVuIGbDtnIgaW5jaGVja25pbmdzbWVkZGVsYW5kZXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OAorIzogYnVpbHRpbi9jb21taXQuYzoxNDkyCiBtc2dpZCAiQ29tbWl0IG1lc3NhZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiQWx0ZXJuYXRpdiBmw7ZyIGluY2hlY2tuaW5nc21lZGRlbGFuZGUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OSBidWlsdGluL21lcmdlLmM6MjYzIGJ1aWx0aW4vdGFnLmM6Mzk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTMgYnVpbHRpbi9tZXJnZS5jOjI3NCBidWlsdGluL3RhZy5jOjQxNAogbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCiBtc2dzdHIgImzDpHMgbWVkZGVsYW5kZSBmcsOlbiBmaWwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDk0CiBtc2dpZCAiYXV0aG9yIgogbXNnc3RyICJmw7ZyZmF0dGFyZSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTQKIG1zZ2lkICJvdmVycmlkZSBhdXRob3IgZm9yIGNvbW1pdCIKIG1zZ3N0ciAiw7Z2ZXJzdHlyIGbDtnJmYXR0YXJlIGbDtnIgaW5jaGVja25pbmdlbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcxIGJ1aWx0aW4vZ2MuYzo1MTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NSBidWlsdGluL2djLmM6NTM4CiBtc2dpZCAiZGF0ZSIKIG1zZ3N0ciAiZGF0dW0iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDk1CiBtc2dpZCAib3ZlcnJpZGUgZGF0ZSBmb3IgY29tbWl0IgogbXNnc3RyICLDtnZlcnN0eXIgZGF0dW0gZsO2ciBpbmNoZWNrbmluZ2VuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzIgYnVpbHRpbi9tZXJnZS5jOjI1OSBidWlsdGluL25vdGVzLmM6NDA5Ci0jOiBidWlsdGluL25vdGVzLmM6NTcyIGJ1aWx0aW4vdGFnLmM6Mzk1Ci1tc2dpZCAibWVzc2FnZSIKLW1zZ3N0ciAibWVkZGVsYW5kZSIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDcyCi1tc2dpZCAiY29tbWl0IG1lc3NhZ2UiCi1tc2dzdHIgImluY2hlY2tuaW5nc21lZGRlbGFuZGUiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MyBidWlsdGluL2NvbW1pdC5jOjE0NzQgYnVpbHRpbi9jb21taXQuYzoxNDc1Ci0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzYgcmVmLWZpbHRlci5oOjkyIHBhcnNlLW9wdGlvbnMuaDoyODAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NyBidWlsdGluL2NvbW1pdC5jOjE0OTggYnVpbHRpbi9jb21taXQuYzoxNDk5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDAgcGFyc2Utb3B0aW9ucy5oOjMyOCByZWYtZmlsdGVyLmg6OTIKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgImluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NwogbXNnaWQgInJldXNlIGFuZCBlZGl0IG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICLDpXRlcmFudsOkbmQgb2NoIHJlZGlnZXJhIG1lZGRlbGFuZGUgZnLDpW4gYW5naXZlbiBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc0CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTgKIG1zZ2lkICJyZXVzZSBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiw6V0ZXJhbnbDpG5kIG1lZGRlbGFuZGUgZnLDpW4gYW5naXZlbiBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTkKIG1zZ2lkICJ1c2UgYXV0b3NxdWFzaCBmb3JtYXR0ZWQgbWVzc2FnZSB0byBmaXh1cCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICIiCiAiYW52w6RuZCBhdXRvc3F1YXNoLWZvcm1hdGVyYXQgbWVkZGVsYW5kZSBmw7ZyIGF0dCBmaXhhIGFuZ2l2ZW4gaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NgorIzogYnVpbHRpbi9jb21taXQuYzoxNTAwCiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gc3F1YXNoIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKICJhbnbDpG5kIGF1dG9zcXVhc2gtZm9ybWF0ZXJhdCBtZWRkZWxhbmRlIGbDtnIgYXR0IHNsw6UgaWhvcCBtZWQgYW5naXZlbiAiCiAiaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NworIzogYnVpbHRpbi9jb21taXQuYzoxNTAxCiBtc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKIG1zZ3N0ciAiamFnIMOkciBudSBmw7ZyZmF0dGFyZSBhdiBpbmNoZWNrbmluZ2VuIChhbnbDpG5kcyBtZWQgLUMvLWMvLS1hbWVuZCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OCBidWlsdGluL2xvZy5jOjE1MjAgYnVpbHRpbi9tZXJnZS5jOjI3NgotIzogYnVpbHRpbi9wdWxsLmM6MTU1IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA2CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDIgYnVpbHRpbi9sb2cuYzoxNjM0IGJ1aWx0aW4vbWVyZ2UuYzoyODkKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2NCBidWlsdGluL3JldmVydC5jOjExMAogbXNnaWQgImFkZCBTaWduZWQtb2ZmLWJ5OiIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBTaWduZWQtb2ZmLWJ5OiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDMKIG1zZ2lkICJ1c2Ugc3BlY2lmaWVkIHRlbXBsYXRlIGZpbGUiCiBtc2dzdHIgImFudsOkbmQgYW5naXZlbiBtYWxsZmlsIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwNAogbXNnaWQgImZvcmNlIGVkaXQgb2YgY29tbWl0IgogbXNnc3RyICJ0dmluZ2EgcmVkaWdlcmluZyBhdiBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDgxCi1tc2dpZCAiZGVmYXVsdCIKLW1zZ3N0ciAic3RhbmRhcmQiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MSBidWlsdGluL3RhZy5jOjQwMQotbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCi1tc2dzdHIgImh1ciBibGFua3N0ZWcgb2NoICNrb21tZW50YXJlciBza2FsbCB0YXMgYm9ydCBmcsOlbiBtZWRkZWxhbmRlIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwNgogbXNnaWQgImluY2x1ZGUgc3RhdHVzIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgogbXNnc3RyICJpbmtsdWRlcmEgc3RhdHVzIGkgbWFsbGVuIGbDtnIgaW5jaGVja25pbmdzbWVkZGVsYW5kZXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4NCBidWlsdGluL21lcmdlLmM6Mjc0IGJ1aWx0aW4vcHVsbC5jOjE4NQotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTQKLW1zZ2lkICJHUEcgc2lnbiBjb21taXQiCi1tc2dzdHIgIkdQRy1zaWduZXJhIGluY2hlY2tuaW5nIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMQogbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgogbXNnc3RyICJBbHRlcm5hdGl2IGbDtnIgaW5jaGVja25pbmdlbnMgaW5uZWjDpWxsIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMgogbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKIG1zZ3N0ciAiY2hlY2thIGluIGFsbGEgw6RuZHJhZGUgZmlsZXIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTEzCiBtc2dpZCAiYWRkIHNwZWNpZmllZCBmaWxlcyB0byBpbmRleCBmb3IgY29tbWl0IgogbXNnc3RyICJsw6RnZyB0aWxsIGFuZ2l2bmEgZmlsZXIgdGlsbCBpbmRleGV0IGbDtnIgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MAorIzogYnVpbHRpbi9jb21taXQuYzoxNTE0CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCiBtc2dzdHIgImzDpGdnIHRpbGwgZmlsZXIgaW50ZXJha3RpdnQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MQorIzogYnVpbHRpbi9jb21taXQuYzoxNTE1CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAibMOkZ2cgdGlsbCDDpG5kcmluZ2FyIGludGVyYWt0aXZ0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNgogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAiY2hlY2thIGVuZGFzdCBpbiBhbmdpdm5hIGZpbGVyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNwogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIgogbXNnc3RyICJmw7ZyYmlnw6UgcHJlLWNvbW1pdC0gb2NoIGNvbW1pdC1tc2cta3Jva2FyIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxOAogbXNnaWQgInNob3cgd2hhdCB3b3VsZCBiZSBjb21taXR0ZWQiCiBtc2dzdHIgInZpc2EgdmFkIHNvbSBza3VsbGUgY2hlY2thcyBpbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTA3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MzEKIG1zZ2lkICJhbWVuZCBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgImzDpGdnIHRpbGwgZsO2cmVnw6VlbmRlIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzMgogbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKIG1zZ3N0ciAiZsO2cmJpZ8OlIHBvc3QtcmV3cml0ZS1rcm9rIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzOQogbXNnaWQgIm9rIHRvIHJlY29yZCBhbiBlbXB0eSBjaGFuZ2UiCiBtc2dzdHIgIm9rIGF0dCByZWdpc3RyZXJhIGVuIHRvbSDDpG5kcmluZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTE1CisjOiBidWlsdGluL2NvbW1pdC5jOjE1NDEKIG1zZ2lkICJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIgogbXNnc3RyICJvayBhdHQgcmVnaXN0cmVyYSBlbiDDpG5kcmluZyBtZWQgdG9tdCBtZWRkZWxhbmRlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1ODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIgogbXNnc3RyICJUcmFzaWcgTUVSR0VfSEVBRC1maWwgKCVzKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MjEKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NT0RFIgogbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIE1FUkdFX01PREUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAorIzogYnVpbHRpbi9jb21taXQuYzoxNjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlOiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBpbmNoZWNrbmluZ3NtZWRkZWxhbmRlOiAlcyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjI1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0IGR1ZSB0byBlbXB0eSBjb21taXQgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiQXZicnl0ZXIgcMOlIGdydW5kIGF2IHRvbXQgaW5jaGVja25pbmdzbWVkZGVsYW5kZS5cbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNjMwCisjOiBidWlsdGluL2NvbW1pdC5jOjE2NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcgY29tbWl0OyB5b3UgZGlkIG5vdCBlZGl0IHRoZSBtZXNzYWdlLlxuIgogbXNnc3RyICJBdmJyeXRlciBpbmNoZWNrbmluZzsgbWVkZGVsYW5kZXQgaW50ZSByZWRpZ2VyYXQuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNjg2CiBtc2dpZCAiIgogInJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgYW5kIHF1b3RhIGlzXG4iCi0ibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXNldCBIRUFEXCIgdG8gcmVjb3Zlci4iCisibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXN0b3JlIC0tc3RhZ2VkIDovXCIgdG8gcmVjb3Zlci4iCiBtc2dzdHIgIiIKICJhcmtpdmV0IGhhciB1cHBkYXRlcmF0cywgbWVuIGt1bmRlIGludGUgc2tyaXZhIGZpbGVuXG4iCiAibmV3X2luZGV4LiBLb250cm9sbGVyYSBhdHQgZGlza2VuIGludGUgw6RyIGZ1bGwgb2NoXG4iCiAiYXR0IGt2b3RlbiBpbnRlIGhhciDDtnZlcnNrcmlkaXRzLCBvY2gga8O2ciBzZWRhblxuIgotIlwiZ2l0IHJlc2V0IEhFQURcIiBmw7ZyIGF0dCDDpXRlcnN0w6RsbGEuIgorIlwiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgOi9cIiBmw7ZyIGF0dCDDpXRlcnN0w6RsbGEuIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwCi1tc2dpZCAiZ2l0IGNvbW1pdC1ncmFwaCBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKLW1zZ3N0ciAiZ2l0IGNvbW1pdC1ncmFwaCBbLS1vYmplY3QtZGlyIDxvYmprYXQ+XSIKLQotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjIzCi1tc2dpZCAiZ2l0IGNvbW1pdC1ncmFwaCByZWFkIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgotbXNnc3RyICJnaXQgY29tbWl0LWdyYXBoIHJlYWQgWy0tb2JqZWN0LWRpciA8b2Jqa2F0Pl0iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTIgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxOAotbXNnaWQgImdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgotbXNnc3RyICJnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSBbLS1vYmplY3QtZGlyIDxvYmprYXQ+XSIKLQotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMyBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjI4CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTcKIG1zZ2lkICIiCi0iZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSBbLS1hcHBlbmRdIFstLXJlYWNoYWJsZXwtLSIKLSJzdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIgorImdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IFstLW9iamVjdC1kaXIgPG9iamRpcj5dIFstLXNoYWxsb3ddIFstLVtuby1dcHJvZ3Jlc3NdIgogbXNnc3RyICIiCi0iZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSBbLS1vYmplY3QtZGlyIDxvYmprYXQ+XSBbLS1hcHBlbmRdIFstLXJlYWNoYWJsZXwtLSIKLSJzdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIgorImdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IFstLW9iamVjdC1kaXIgPG9iamthdD5dIFstLXNoYWxsb3ddIFstLVtuby1dcHJvZ3Jlc3NdIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjQ4IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NzgKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTMyIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTkwIGJ1aWx0aW4vZmV0Y2guYzoxNTMKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjIyCittc2dpZCAiIgorImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0gWy0tYXBwZW5kfC0tc3BsaXRdIFstLSIKKyJyZWFjaGFibGV8LS1zdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIFstLVtuby1dcHJvZ3Jlc3NdIDxzcGxpdCBvcHRpb25zPiIKK21zZ3N0ciAiIgorImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA8b2Jqa2F0Pl0gWy0tYXBwZW5kfC0tc3BsaXRdIFstLSIKKyJyZWFjaGFibGV8LS1zdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIFstLVtuby1dcHJvZ3Jlc3NdIDxkZWxuaW5ncy1mbGFnZ29yPiIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo0OCBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwMworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxODcgYnVpbHRpbi9mZXRjaC5jOjE3OSBidWlsdGluL2xvZy5jOjE2NTcKIG1zZ2lkICJkaXIiCiBtc2dzdHIgImthdCIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo0OSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjc5Ci0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzMyBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE5MQorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo0OSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwNAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxODgKIG1zZ2lkICJUaGUgb2JqZWN0IGRpcmVjdG9yeSB0byBzdG9yZSB0aGUgZ3JhcGgiCiBtc2dzdHIgIk9iamVrdGthdGFsb2dlbiBkw6RyIGdyYWZlbiBza2FsbCBsYWdyYXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTM1CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjUxCittc2dpZCAiaWYgdGhlIGNvbW1pdC1ncmFwaCBpcyBzcGxpdCwgb25seSB2ZXJpZnkgdGhlIHRpcCBmaWxlIgorbXNnc3RyICJvbSBpbmNoZWNrbmlnbnNncmFmZW4gw6RyIGRlbGFkLCBrb250cm9sbGVyYSBiYXJhIHNwZXRzZmlsZW4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NzMgdC9oZWxwZXIvdGVzdC1yZWFkLWdyYXBoLmM6MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gY29tbWl0LWdyYXBoICclcyciCittc2dzdHIgIkt1bmRlIGludGUgw7ZwcG5hIGluY2hlY2tuaW5nc2dyYWZlbiBcIiVzXCIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTA2CiBtc2dpZCAic3RhcnQgd2FsayBhdCBhbGwgcmVmcyIKIG1zZ3N0ciAic3RhcnRhIHRyYXZlcnNlcmluZyB2aWQgYWxsYSByZWZlcmVuc2VyIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzNworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMDgKIG1zZ2lkICJzY2FuIHBhY2staW5kZXhlcyBsaXN0ZWQgYnkgc3RkaW4gZm9yIGNvbW1pdHMiCiBtc2dzdHIgInPDtmsgcGFrZXRpbmRleCBsaXN0YWRlIHDDpSBzdGFuZGFyZCBpbiBlZnRlciBpbmNoZWNrbmluZ2FyIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzOQorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMTAKIG1zZ2lkICJzdGFydCB3YWxrIGF0IGNvbW1pdHMgbGlzdGVkIGJ5IHN0ZGluIgogbXNnc3RyICJiw7ZyamEgZ8OlIGdlbm9tIGluY2hlY2tuaW5nYXIgbGlzdGFkZSBww6Ugc3RhbmRhcmQgaW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTQxCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExMgogbXNnaWQgImluY2x1ZGUgYWxsIGNvbW1pdHMgYWxyZWFkeSBpbiB0aGUgY29tbWl0LWdyYXBoIGZpbGUiCiBtc2dzdHIgInRhIG1lZCBhbGxhIGluY2hlY2tuaW5nYXIgcmVkYW4gaSBmaWxlbiBjb21taXQtZ3JhcGgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTUwCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExNQorbXNnaWQgImFsbG93IHdyaXRpbmcgYW4gaW5jcmVtZW50YWwgY29tbWl0LWdyYXBoIGZpbGUiCittc2dzdHIgInRpbGzDpXQgc2tyaXZhIGVuIGlua3JlbWVudGVsbCBpbmNoZWNrbmluZ3NncmFmZmlsIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExNyBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEyMQorbXNnaWQgIm1heGltdW0gbnVtYmVyIG9mIGNvbW1pdHMgaW4gYSBub24tYmFzZSBzcGxpdCBjb21taXQtZ3JhcGgiCittc2dzdHIgIiIKKyJtYXhpbWFsdCBhbnRhbCBpbmNoZWNrbmluZ2FyIGkgZW4gZGVsYWQgaW5jaGVja2luZ3NncmFmIHNvbSBpbnRlIMOkciBiYWQiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTE5Cittc2dpZCAibWF4aW11bSByYXRpbyBiZXR3ZWVuIHR3byBsZXZlbHMgb2YgYSBzcGxpdCBjb21taXQtZ3JhcGgiCittc2dzdHIgIm1heGltYWx0IGbDtnJow6VsbGFuZGUgbWVsbGFuIHR2w6Ugbml2w6VlciBhdiBlbiBkZWxhZCBpbmNoZWNrbmluZ3NncmFmIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzNwogbXNnaWQgInVzZSBhdCBtb3N0IG9uZSBvZiAtLXJlYWNoYWJsZSwgLS1zdGRpbi1jb21taXRzLCBvciAtLXN0ZGluLXBhY2tzIgogbXNnc3RyICJhbnbDpG5kIHNvbSBtZXN0IGVuIGF2IC0tcmVhY2hhYmxlLCAtLXN0ZGluLWNvbW1pdCBvY2ggLS1zdGRpbi1wYWNrcyIKIApAQCAtMTAwOTIsNyArMTI0NjMsNyBAQAogbXNnaWQgImdpdCBjb25maWcgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBjb25maWcgWzxmbGFnZ29yPl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTAzCisjOiBidWlsdGluL2NvbmZpZy5jOjEwMyBidWlsdGluL2Vudi0taGVscGVyLmM6MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIC0tdHlwZSBhcmd1bWVudCwgJXMiCiBtc2dzdHIgIm9rw6RudCBhcmd1bWVudCBmw7ZyIC0tdHlwZSwgJXMiCkBAIC0xMDE5Nyw3ICsxMjU2OCw3IEBACiBtc2dpZCAiVHlwZSIKIG1zZ3N0ciAiVHlwIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE0NworIzogYnVpbHRpbi9jb25maWcuYzoxNDcgYnVpbHRpbi9lbnYtLWhlbHBlci5jOjM4CiBtc2dpZCAidmFsdWUgaXMgZ2l2ZW4gdGhpcyB0eXBlIgogbXNnc3RyICJ2w6RyZGV0IGhhciBnaXZpdHMgZGVubmEgdHlwIgogCkBAIC0xMDI0MSw3ICsxMjYxMiw3IEBACiBtc2dpZCAic2hvdyBvcmlnaW4gb2YgY29uZmlnIChmaWxlLCBzdGFuZGFyZCBpbnB1dCwgYmxvYiwgY29tbWFuZCBsaW5lKSIKIG1zZ3N0ciAidmlzYSBrb25maWd1cmF0aW9uc2vDpGxsYSAoZmlsLCBzdGFuZGFyZCBpbiwgYmxvYiwga29tbWFuZG9yYWQpIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE1OAorIzogYnVpbHRpbi9jb25maWcuYzoxNTggYnVpbHRpbi9lbnYtLWhlbHBlci5jOjQwCiBtc2dpZCAidmFsdWUiCiBtc2dzdHIgInbDpHJkZSIKIApAQCAtMTAyNDksNDggKzEyNjIwLDQ4IEBACiBtc2dpZCAid2l0aCAtLWdldCwgdXNlIGRlZmF1bHQgdmFsdWUgd2hlbiBtaXNzaW5nIGVudHJ5IgogbXNnc3RyICJtZWQgLS1nZXQsIGFudsOkbmQgc3RhbmRhcmR2w6RyZGUgdmlkIHNha25hZCBwb3N0IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE3MQorIzogYnVpbHRpbi9jb25maWcuYzoxNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cywgc2hvdWxkIGJlICVkIgogbXNnc3RyICJmZWwgYW50YWwgYXJndW1lbnQsIHNrdWxsZSB2YXJhICVkIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE3MworIzogYnVpbHRpbi9jb25maWcuYzoxNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cywgc2hvdWxkIGJlIGZyb20gJWQgdG8gJWQiCiBtc2dzdHIgImZlbCBhbnRhbCBhcmd1bWVudCwgc2t1bGxlIHZhcmEgZnLDpW4gJWQgdGlsbCAlZCIKIAotIzogYnVpbHRpbi9jb25maWcuYzozMDcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQga2V5IHBhdHRlcm46ICVzIgogbXNnc3RyICJmZWxha3RpZ3Qgbnlja2VsbcO2bnN0ZXI6ICVzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjM0MworIzogYnVpbHRpbi9jb25maWcuYzozNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZvcm1hdCBkZWZhdWx0IGNvbmZpZyB2YWx1ZTogJXMiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBmb3JtYXRlcmEgc3RhbmRhcmRrb25maWd1cmF0aW9uc3bDpHJkZTogJXMiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NDAwCisjOiBidWlsdGluL2NvbmZpZy5jOjQwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcGFyc2UgY29sb3IgJyVzJyIKIG1zZ3N0ciAia2FuIGludGUgdG9sa2EgZsOkcmdlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NDQyCisjOiBidWlsdGluL2NvbmZpZy5jOjQ0MwogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBkZWZhdWx0IGNvbG9yIHZhbHVlIgogbXNnc3RyICJrYW4gaW50ZSB0b2xrYSBzdGFuZGFyZGbDpHJndsOkcmRlIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjQ5NSBidWlsdGluL2NvbmZpZy5jOjc0MQorIzogYnVpbHRpbi9jb25maWcuYzo0OTYgYnVpbHRpbi9jb25maWcuYzo3NDIKIG1zZ2lkICJub3QgaW4gYSBnaXQgZGlyZWN0b3J5IgogbXNnc3RyICJpbnRlIGkgZW4gZ2l0LWthdGFsb2ciCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NDk4CisjOiBidWlsdGluL2NvbmZpZy5jOjQ5OQogbXNnaWQgIndyaXRpbmcgdG8gc3RkaW4gaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAic2tyaXZhIHRpbGwgc3RhbmRhcmQgaW4gc3TDtmRzIGludGUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTAxCisjOiBidWlsdGluL2NvbmZpZy5jOjUwMgogbXNnaWQgIndyaXRpbmcgY29uZmlnIGJsb2JzIGlzIG5vdCBzdXBwb3J0ZWQiCi1tc2dzdHIgInNrcml2YSBrb25maWd1cmF0aW9ucy1ibG9iYXIgc3TDtmRzIGludGUiCittc2dzdHIgInNrcml2YSBrb25maWd1cmF0aW9ucy1ibG9iYmFyIHN0w7ZkcyBpbnRlIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU4NgorIzogYnVpbHRpbi9jb25maWcuYzo1ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiMgVGhpcyBpcyBHaXQncyBwZXItdXNlciBjb25maWd1cmF0aW9uIGZpbGUuXG4iCkBAIC0xMDMwNSwyMyArMTI2NzYsMjMgQEAKICIjXHRuYW1lID0gJXNcbiIKICIjXHRlbWFpbCA9ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEwCisjOiBidWlsdGluL2NvbmZpZy5jOjYxMQogbXNnaWQgIm9ubHkgb25lIGNvbmZpZyBmaWxlIGF0IGEgdGltZSIKIG1zZ3N0ciAiZW5kYXN0IGVuIGtvbmZpZ3VyYXRpb25zZmlsIMOldCBnw6VuZ2VuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxNQorIzogYnVpbHRpbi9jb25maWcuYzo2MTYKIG1zZ2lkICItLWxvY2FsIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tbG9jYWwga2FuIGJhcmEgYW52w6RuZGFzIGludXRpIGV0dCBnaXQtYXJraXYiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjE4CisjOiBidWlsdGluL2NvbmZpZy5jOjYxOQogbXNnaWQgIi0tYmxvYiBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICItLWJsb2Iga2FuIGJhcmEgYW52w6RuZGFzIGludXRpIGV0dCBnaXQtYXJraXYiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjM3CisjOiBidWlsdGluL2NvbmZpZy5jOjYzOAogbXNnaWQgIiRIT01FIG5vdCBzZXQiCiBtc2dzdHIgIiRIT01FIGludGUgc2F0dCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NTcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjU4CiBtc2dpZCAiIgogIi0td29ya3RyZWUgY2Fubm90IGJlIHVzZWQgd2l0aCBtdWx0aXBsZSB3b3JraW5nIHRyZWVzIHVubGVzcyB0aGUgY29uZmlnXG4iCiAiZXh0ZW5zaW9uIHdvcmt0cmVlQ29uZmlnIGlzIGVuYWJsZWQuIFBsZWFzZSByZWFkIFwiQ09ORklHVVJBVElPTiBGSUxFXCJcbiIKQEAgLTEwMzMxLDUyICsxMjcwMiw1MiBAQAogImtvbmZpZ3VyYXRpb25zdXTDtmtuaWduZW4gd29ya3RyZWVDb25maWcgaGFyIGFrdGl2ZXJhdHMuIEzDpHNhIHN0eWNrZXRcbiIKICJcIktPTkZJR1VSQVRJT05TRklMXCIgaSBcImdpdCBoZWxwIHdvcmt0cmVlXCIgZsO2ciBkZXRhbGplciIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2ODcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6Njg4CiBtc2dpZCAiLS1nZXQtY29sb3IgYW5kIHZhcmlhYmxlIHR5cGUgYXJlIGluY29oZXJlbnQiCiBtc2dzdHIgIi0tZ2V0LWNvbG9yIG9jaCB2YXJpYWJlbHR5cCBzdMOkbW1lciBpbnRlIMO2dmVyZW5zIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY5MgorIzogYnVpbHRpbi9jb25maWcuYzo2OTMKIG1zZ2lkICJvbmx5IG9uZSBhY3Rpb24gYXQgYSB0aW1lIgogbXNnc3RyICJlbmRhc3QgZW4gw6V0Z8OkcmQgw6V0IGfDpW5nZW4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzA1CisjOiBidWlsdGluL2NvbmZpZy5jOjcwNgogbXNnaWQgIi0tbmFtZS1vbmx5IGlzIG9ubHkgYXBwbGljYWJsZSB0byAtLWxpc3Qgb3IgLS1nZXQtcmVnZXhwIgogbXNnc3RyICItLW5hbWUtb25seSBnw6RsbGVyIGJhcmEgZsO2ciAtLWxpc3QgZWxsZXIgLS1nZXQtcmVnZXhwIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcxMQorIzogYnVpbHRpbi9jb25maWcuYzo3MTIKIG1zZ2lkICIiCiAiLS1zaG93LW9yaWdpbiBpcyBvbmx5IGFwcGxpY2FibGUgdG8gLS1nZXQsIC0tZ2V0LWFsbCwgLS1nZXQtcmVnZXhwLCBhbmQgLS0iCiAibGlzdCIKIG1zZ3N0ciAiIgogIi0tc2hvdy1vcmlnaW4gZ8OkbGxlciBiYXJhIGbDtnIgLS1nZXQsIC0tZ2V0LWFsbCwgLS1nZXQtcmVnZXhwIG9jaCAtLWxpc3QiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzE3CisjOiBidWlsdGluL2NvbmZpZy5jOjcxOAogbXNnaWQgIi0tZGVmYXVsdCBpcyBvbmx5IGFwcGxpY2FibGUgdG8gLS1nZXQiCiBtc2dzdHIgIi0tZGVmYXVsdCBnw6RsbGVyIGJhcmEgZsO2ciAtLWdldCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MzAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIGNvbmZpZyBmaWxlICclcyciCiBtc2dzdHIgImthbiBpbnRlIGtvbmZpZ3VyYXRpb25zZmlsIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MzMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzM0CiBtc2dpZCAiZXJyb3IgcHJvY2Vzc2luZyBjb25maWcgZmlsZShzKSIKIG1zZ3N0ciAiZmVsIHZpZCBoYW50ZXJpbmcgYXYga29uZmlndXJhdGlvbnNmaWwoZXIpIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0MworIzogYnVpbHRpbi9jb25maWcuYzo3NDQKIG1zZ2lkICJlZGl0aW5nIHN0ZGluIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgInJlZGlnZXJpbmcgYXYgc3RhbmRhcmQgaW4gc3TDtmRzIGVqIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc0NQorIzogYnVpbHRpbi9jb25maWcuYzo3NDYKIG1zZ2lkICJlZGl0aW5nIGJsb2JzIGlzIG5vdCBzdXBwb3J0ZWQiCi1tc2dzdHIgInJlZGlnZXJpbmcgYXYgYmxvYmFyIHN0w7ZkcyBlaiIKK21zZ3N0ciAicmVkaWdlcmluZyBhdiBibG9iYmFyIHN0w7ZkcyBlaiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NTkKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgY29uZmlndXJhdGlvbiBmaWxlICVzIgogbXNnc3RyICJrYW4gaW50ZSBza2FwYSBrb25maWd1cmF0aW9uc2ZpbGVuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjYW5ub3Qgb3ZlcndyaXRlIG11bHRpcGxlIHZhbHVlcyB3aXRoIGEgc2luZ2xlIHZhbHVlXG4iCkBAIC0xMDM4NSw3ICsxMjc1Niw3IEBACiAia2FuIGludGUgc2tyaXZhIMO2dmVyIGZsZXJhIHbDpHJkZW4gbWVkIGV0dCBlbnNhbXQgdsOkcmRlXG4iCiAiICAgICAgIEFudsOkbmQgZW4gcmVnZXhwLCAtLWFkZCBlbGxlciAtLXJlcGxhY2UtYWxsIGbDtnIgYXR0IMOkbmRyYSAlcy4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODQ2IGJ1aWx0aW4vY29uZmlnLmM6ODU3CisjOiBidWlsdGluL2NvbmZpZy5jOjg0NyBidWlsdGluL2NvbmZpZy5jOjg1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIHNlY3Rpb246ICVzIgogbXNnc3RyICJpbmdlbiBzw6VkYW4gc2VrdGlvbjogJXMiCkBAIC0xMDQxOCwzOCArMTI3ODksMzggQEAKIG1zZ2lkICJhbm5vdGF0ZWQiCiBtc2dzdHIgImFubm90ZXJhZCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIG5vdCBhdmFpbGFibGUiCiBtc2dzdHIgImRlbiBhbm5vdGVyYWRlIHRhZ2dlbiAlcyBpbnRlIHRpbGxnw6RuZ2xpZyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIGhhcyBubyBlbWJlZGRlZCBuYW1lIgogbXNnc3RyICJkZW4gYW5ub3RlcmFkZSB0YWdnZW4gJXMgaGFyIGluZ2V0IGluYsOkZGRhdCBuYW1uIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGlzIHJlYWxseSAnJXMnIGhlcmUiCiBtc2dzdHIgInRhZ2dlbiBcIiVzXCIgw6RyIGkgdmVya2xpZ2hldGVuIFwiJXNcIiBow6RyIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzIyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRhZyBleGFjdGx5IG1hdGNoZXMgJyVzJyIKIG1zZ3N0ciAiaW5nZW4gdGFnZyBtb3RzdmFyYXIgXCIlc1wiIGV4YWt0IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGV4YWN0IG1hdGNoIG9uIHJlZnMgb3IgdGFncywgc2VhcmNoaW5nIHRvIGRlc2NyaWJlXG4iCiBtc2dzdHIgIiIKICJJbmdlbiBleGFrdCB0csOkZmYgbW90IHJlZmVyZW5zZXIgZWxsZXIgdGFnZ2FyLCBzw7ZrZXIgZsO2ciBhdHQgYmVza3JpdmFcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM3OAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmaW5pc2hlZCBzZWFyY2ggYXQgJXNcbiIKIG1zZ3N0ciAiYXZzbHV0YWRlIHPDtmtuaW5nIHDDpSAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyBhbm5vdGF0ZWQgdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKQEAgLTEwNDU4LDcgKzEyODI5LDcgQEAKICJJbmdhIGFubm90ZXJhZGUgdGFnZ2FyIGthbiBiZXNrcml2YSBcIiVzXCIuXG4iCiAiRGV0IGZpbm5zIGRvY2sgb2Fubm90ZXJhZGUgdGFnZ2FyOiB0ZXN0YSAtLXRhZ3MuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDA4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgpAQCAtMTA0NjcsMTIgKzEyODM4LDEyIEBACiAiSW5nYSB0YWdnYXIga2FuIGJlc2tyaXZhIFwiJXNcIi5cbiIKICJUZXN0YSAtLWFsd2F5cywgZWxsZXIgc2thcGEgbsOlZ3JhIHRhZ2dhci4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MzgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhdmVyc2VkICVsdSBjb21taXRzXG4iCiBtc2dzdHIgInRyYXZlcnNlcmFkZSAlbHUgaW5jaGVja25pbmdhclxuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJtb3JlIHRoYW4gJWkgdGFncyBmb3VuZDsgbGlzdGVkICVpIG1vc3QgcmVjZW50XG4iCkBAIC0xMDQ4MSwxMTggKzEyODUyLDExOCBAQAogIm1lciDDpG4gJWkgdGFnZ2FyIGhpdHRhZGVzOyBsaXN0YXIgZGUgJWkgc2VuYXN0ZVxuIgogImdhdiB1cHAgc8O2a25pbmdlbiB2aWQgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUwOQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXNjcmliZSAlc1xuIgogbXNnc3RyICJiZXNrcml2YSAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTEyIGJ1aWx0aW4vbG9nLmM6NTEzCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICJPYmpla3RuYW1uZXQgw6RyIGludGUgZ2lsdGlndDogJXMiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MjAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbmVpdGhlciBhIGNvbW1pdCBub3IgYmxvYiIKIG1zZ3N0ciAiJXMgw6RyIHZhcmtlbiBpbmNoZWNrbmluZyBlbGxlciBibG9iIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM3CiBtc2dpZCAiZmluZCB0aGUgdGFnIHRoYXQgY29tZXMgYWZ0ZXIgdGhlIGNvbW1pdCIKIG1zZ3N0ciAiaGl0dGEgdGFnZ2VuIHNvbSBrb21tZXIgZWZ0ZXIgaW5jaGVja25pbmdlbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzNQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzOAogbXNnaWQgImRlYnVnIHNlYXJjaCBzdHJhdGVneSBvbiBzdGRlcnIiCiBtc2dzdHIgImZlbHPDtmsgc8O2a3N0cmF0ZWdpbiBww6Ugc3RhbmRhcmQgZmVsIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM5CiBtc2dpZCAidXNlIGFueSByZWYiCiBtc2dzdHIgImFudsOkbmQgYWxsYSByZWZlcmVuc2VyIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQwCiBtc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCiBtc2dzdHIgImFudsOkbmQgYWxsYSB0YWdnYXIsIMOkdmVuIG9hbm5vdGVyYWRlIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQxCiBtc2dpZCAiYWx3YXlzIHVzZSBsb25nIGZvcm1hdCIKIG1zZ3N0ciAiYW52w6RuZCBhbGx0aWQgbMOlbmd0IGZvcm1hdCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzOQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MgogbXNnaWQgIm9ubHkgZm9sbG93IGZpcnN0IHBhcmVudCIKIG1zZ3N0ciAiZsO2bGogZW5kYXN0IGbDtnJzdGEgZsO2csOkbGRlcm4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDUKIG1zZ2lkICJvbmx5IG91dHB1dCBleGFjdCBtYXRjaGVzIgogbXNnc3RyICJza3JpdiBlbmRhc3QgdXQgZXhha3RhIHRyw6RmZmFyIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ3CiBtc2dpZCAiY29uc2lkZXIgPG4+IG1vc3QgcmVjZW50IHRhZ3MgKGRlZmF1bHQ6IDEwKSIKIG1zZ3N0ciAiw7Z2ZXJ2w6RnIGRlIDxuPiBueWFzdGUgdGFnZ2FybmEgKHN0YW5kYXJkOiAxMCkiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDkKIG1zZ2lkICJvbmx5IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICLDtnZlcnbDpGcgZW5kYXN0IHRhZ2dhciBzb20gbW90c3ZhcmFyIDxtw7Zuc3Rlcj4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTEKIG1zZ2lkICJkbyBub3QgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgIsO2dmVydsOkZyBpbnRlIHRhZ2dhciBzb20gbW90c3ZhcmFyIDxtw7Zuc3Rlcj4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTAgYnVpbHRpbi9uYW1lLXJldi5jOjQyNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MyBidWlsdGluL25hbWUtcmV2LmM6NDczCiBtc2dpZCAic2hvdyBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrIgogbXNnc3RyICJ2aXNhIGbDtnJrb3J0YWRlIGluY2hlY2tuaW5nc29iamVrdCBzb20gc3RhbmRhcmQiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTEgYnVpbHRpbi9kZXNjcmliZS5jOjU1NAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1NCBidWlsdGluL2Rlc2NyaWJlLmM6NTU3CiBtc2dpZCAibWFyayIKIG1zZ3N0ciAibcOkcmtlIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTU1CiBtc2dpZCAiYXBwZW5kIDxtYXJrPiBvbiBkaXJ0eSB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWRpcnR5XCIpIgogbXNnc3RyICJsw6RnZyB0aWxsIDxtw6Rya2U+IHDDpSBsb3J0aWd0IGFyYmV0c3Ryw6RkIChzdGFuZGFyZDogXCItZGlydHlcIikiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTUKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTgKIG1zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGJyb2tlbiB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWJyb2tlblwiKSIKIG1zZ3N0ciAibMOkZ2cgdGlsbCA8bcOkcmtlPiBww6UgdHJhc2lndCBhcmJldHN0csOkZCAoc3RhbmRhcmQ6IFwiLWJyb2tlblwiKSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU3MworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU3NgogbXNnaWQgIi0tbG9uZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFiYnJldj0wIgogbXNnc3RyICItLWxvbmcgw6RyIGlua29tcGF0aWJlbCBtZWQgLS1hYmJyZXY9MCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjYwMgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjYwNQogbXNnaWQgIk5vIG5hbWVzIGZvdW5kLCBjYW5ub3QgZGVzY3JpYmUgYW55dGhpbmcuIgogbXNnc3RyICJJbmdhIG5hbW4gaGl0dGFkZXMsIGthbiBpbnRlIGJlc2tyaXZhIG7DpWdvdC4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTYKIG1zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiLS1kaXJ0eSDDpHIgaW5rb21wYXRpYmVsdCBtZWQgXCJjb21taXQtaXNoXCItdsOkcmRlbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjY1NAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjY1OAogbXNnaWQgIi0tYnJva2VuIGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiLS1icm9rZW4gw6RyIGlua29tcGF0aWJlbHQgbWVkIFwiY29tbWl0LWlzaFwiLXbDpHJkZW4iCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjgzCisjOiBidWlsdGluL2RpZmYuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBub3QgYSByZWd1bGFyIGZpbGUgb3Igc3ltbGluayIKIG1zZ3N0ciAiXCIlc1wiOiBpbnRlIGVuIG5vcm1hbCBmaWwgZWxsZXIgc3ltYm9saXNrIGzDpG5rIgogCi0jOiBidWlsdGluL2RpZmYuYzoyMzQKKyM6IGJ1aWx0aW4vZGlmZi5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9wdGlvbjogJXMiCiBtc2dzdHIgIm9naWx0aWcgZmxhZ2dhOiAlcyIKIAotIzogYnVpbHRpbi9kaWZmLmM6MzYzCisjOiBidWlsdGluL2RpZmYuYzozNTAKIG1zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiSW50ZSBldHQgZ2l0LWFya2l2IgogCi0jOiBidWlsdGluL2RpZmYuYzo0MDcKKyM6IGJ1aWx0aW4vZGlmZi5jOjM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAib2JqZWt0ZXQgXCIlc1wiIHNvbSBhbmdhdnMgw6RyIGZlbGFrdGlndC4iCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxNgorIzogYnVpbHRpbi9kaWZmLmM6NDAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vcmUgdGhhbiB0d28gYmxvYnMgZ2l2ZW46ICclcyciCiBtc2dzdHIgIm1lciDDpG4gdHbDpSBibG9iYmFyIGFuZ2F2czogXCIlc1wiIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MjEKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmhhbmRsZWQgb2JqZWN0ICclcycgZ2l2ZW4uIgogbXNnc3RyICJlaiBoYW50ZXJhdCBvYmpla3QgXCIlc1wiIGFuZ2F2cy4iCkBAIC0xMDYzMCw1MyArMTMwMDEsNTMgQEAKICJrb21iaW5lcmFkZSBkaWZmLWZvcm1hdCAoXCItY1wiIG9jaCBcIi0tY2NcIikgc3TDtmRzIGludGUgaVxuIgogImthdGFsb2dkaWZmbMOkZ2UgKFwiLWRcIiBvY2ggXCItLWRpci1kaWZmXCIpLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzMworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJib3RoIGZpbGVzIG1vZGlmaWVkOiAnJXMnIGFuZCAnJXMnLiIKIG1zZ3N0ciAiYsOkZ2dlIGZpbGVybmEgw6RuZHJhZGU6IFwiJXNcIiBvY2ggXCIlc1wiLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjYzNgogbXNnaWQgIndvcmtpbmcgdHJlZSBmaWxlIGhhcyBiZWVuIGxlZnQuIgogbXNnc3RyICJmaWxlbiBpIGFyYmV0c2thdGFsb2dlbiBsw6RtbmFkZXMga3Zhci4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidGVtcG9yYXJ5IGZpbGVzIGV4aXN0IGluICclcycuIgogbXNnc3RyICJ0ZW1wb3LDpHJhIGZpbGVyIGZpbm5zIGkgXCIlc1wiLiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0NworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0OAogbXNnaWQgInlvdSBtYXkgd2FudCB0byBjbGVhbnVwIG9yIHJlY292ZXIgdGhlc2UuIgogbXNnc3RyICJkdSBrYW5za2UgdmlsbCBzdMOkZGEgZWxsZXIgcsOkZGRhIGRlbS4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTcKIG1zZ2lkICJ1c2UgYGRpZmYuZ3VpdG9vbGAgaW5zdGVhZCBvZiBgZGlmZi50b29sYCIKIG1zZ3N0ciAiYW52w6RuZCBcImRpZmYuZ3VpdG9vbFwiIGlzdMOkbGxldCBmw7ZyIFwiZGlmZi50b29sXCIiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTgKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTkKIG1zZ2lkICJwZXJmb3JtIGEgZnVsbC1kaXJlY3RvcnkgZGlmZiIKIG1zZ3N0ciAidXRmw7ZyIGRpZmYgZsO2ciBoZWxhIGthdGFsb2dlbiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMQogbXNnaWQgImRvIG5vdCBwcm9tcHQgYmVmb3JlIGxhdW5jaGluZyBhIGRpZmYgdG9vbCIKIG1zZ3N0ciAiZnLDpWdhIGludGUgdmlkIHN0YXJ0IGF2IGRpZmYtdmVya3R5ZyIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNgogbXNnaWQgInVzZSBzeW1saW5rcyBpbiBkaXItZGlmZiBtb2RlIgogbXNnc3RyICJhbnbDpG5kIHN5bWJvbGlza2EgbMOkbmthciBpIGthdGFsb2dkaWZmbMOkZ2UiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDcKIG1zZ2lkICJ0b29sIgogbXNnc3RyICJ2ZXJrdHlnIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzA3CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA4CiBtc2dpZCAidXNlIHRoZSBzcGVjaWZpZWQgZGlmZiB0b29sIgogbXNnc3RyICJhbnbDpG5kIGFuZ2l2ZXQgZGlmZi12ZXJrdHlnIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzA5CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzEwCiBtc2dpZCAicHJpbnQgYSBsaXN0IG9mIGRpZmYgdG9vbHMgdGhhdCBtYXkgYmUgdXNlZCB3aXRoIGAtLXRvb2xgIgotbXNnc3RyICJ2aXNhIGVuIGxpc3RhIMO2dmVyIGRpZmYtdmVya3R5ZyBzb20ga2FuIGFudsOkbmRhcyBtZWQg4oCdLS10b29s4oCdIgorbXNnc3RyICJ2aXNhIGVuIGxpc3RhIMO2dmVyIGRpZmYtdmVya3R5ZyBzb20ga2FuIGFudsOkbmRhcyBtZWQgXCItLXRvb2xcIiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMwogbXNnaWQgIiIKICJtYWtlICdnaXQtZGlmZnRvb2wnIGV4aXQgd2hlbiBhbiBpbnZva2VkIGRpZmYgdG9vbCByZXR1cm5zIGEgbm9uIC0gemVybyBleGl0ICIKICJjb2RlIgpAQCAtMTA2ODQsMTYwICsxMzA1NSwyNDQgQEAKICJsw6V0IFwiZ2l0LWRpZmZ0b29sXCIgYXZicnl0YSBuw6RyIGV0dCBhbnJvcGF0IGRpZmYtdmVya3R5ZyBnZXIgcmV0dXJ2w6RyZGUgIgogInNraWx0IGZyw6VuIG5vbGwiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTUKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTYKIG1zZ2lkICJzcGVjaWZ5IGEgY3VzdG9tIGNvbW1hbmQgZm9yIHZpZXdpbmcgZGlmZnMiCiBtc2dzdHIgImFuZ2UgZWdldCBrb21tYW5kbyBmw7ZyIGF0dCB2aXNhIGRpZmZhciIKIAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxNworbXNnaWQgInBhc3NlZCB0byBgZGlmZmAiCittc2dzdHIgInPDpG5kZXMgdGlsbCBcImRpZmZcIiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjczMgorbXNnaWQgImRpZmZ0b29sIHJlcXVpcmVzIHdvcmt0cmVlIG9yIC0tbm8taW5kZXgiCittc2dzdHIgImRpZmZ0b29sIGtyw6R2ZXIgZW4gYXJiZXRza2F0YWxvZyBlbGxlciAtLW5vLWluZGV4IgorCiAjOiBidWlsdGluL2RpZmZ0b29sLmM6NzM5Cittc2dpZCAiLS1kaXItZGlmZiBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW5vLWluZGV4IgorbXNnc3RyICItLWRpci1kaWZmIMOkciBpbmtvbXBhdGliZWx0IG1lZCAtLW5vLWluZGV4IgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzQyCittc2dpZCAiLS1ndWksIC0tdG9vbCBhbmQgLS1leHRjbWQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1ndWksIC0tdG9vbCBvY2ggLS1leHRjbWQgw6RyIMO2bXNlc2lkaWd0IHV0ZXNsdXRhbmRlIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzUwCiBtc2dpZCAibm8gPHRvb2w+IGdpdmVuIGZvciAtLXRvb2w9PHRvb2w+IgogbXNnc3RyICJpbmdldCA8dmVya3R5Zz4gYW5nYXZzIGbDtnIgLS10b29sPTx2ZXJrdHlnPiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc0NgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc1NwogbXNnaWQgIm5vIDxjbWQ+IGdpdmVuIGZvciAtLWV4dGNtZD08Y21kPiIKIG1zZ3N0ciAiaW5nZXQgPGtvbW1hbmRvPiBhbmdhdnMgZsO2ciAtLWV4dGNtZD08a29tbWFuZG8+IgogCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6NgorbXNnaWQgImdpdCBlbnYtLWhlbHBlciAtLXR5cGU9W2Jvb2x8dWxvbmddIDxvcHRpb25zPiA8ZW52LXZhcj4iCittc2dzdHIgImdpdCBlbnYtLWhlbHBlciAtLXR5cGU9W2Jvb2x8dWxvbmddIDxmbGFnZ29yPiA8bWlsasO2dmFyaWFiZWw+IgorCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6MzcgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4Cittc2dpZCAidHlwZSIKK21zZ3N0ciAidHlwIgorCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6NDEKK21zZ2lkICJkZWZhdWx0IGZvciBnaXRfZW52XyooLi4uKSB0byBmYWxsIGJhY2sgb24iCittc2dzdHIgInN0YW5kYXJkIGbDtnIgZ2l0X2Vudl8qKC4uLikgYXR0IGZhbGxhIHRpbGxiYWthIHDDpSIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjQzCittc2dpZCAiYmUgcXVpZXQgb25seSB1c2UgZ2l0X2Vudl8qKCkgdmFsdWUgYXMgZXhpdCBjb2RlIgorbXNnc3RyICJ2YXIgdHlzdCwgYW52w6RuZCBiYXJhIGdpdF9lbnZfKigpIHNvbSByZXN1bHRhdHbDpHJkZSIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgLS1kZWZhdWx0JyBleHBlY3RzIGEgYm9vbGVhbiB2YWx1ZSB3aXRoIGAtLXR5cGU9Ym9vbGAsIG5vdCBgJXNgIgorbXNnc3RyICIiCisiZmxhZ2dhbiBcIi0tZGVmYXVsdFwiIGbDtnJ2w6RudGFyIGV0dCBzYW5uaW5nc3bDpHJkZSBtZWQgXCItLXR5cGU9Ym9vbFwiLCBpbnRlICIKKyJcIiVzXCIiCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisib3B0aW9uIGAtLWRlZmF1bHQnIGV4cGVjdHMgYW4gdW5zaWduZWQgbG9uZyB2YWx1ZSB3aXRoIGAtLXR5cGU9dWxvbmdgLCBub3QgYCIKKyIlc2AiCittc2dzdHIgIiIKKyJmbGFnZ2FuIFwiLS1kZWZhdWx0XCIgZsO2cnbDpG50YXIgZXR0IHRlY2tlbmzDtnN0IGzDpW5ndCB2w6RyZGUgbWVkIFwiLS10eXBlPXVsb25nIgorIlwiLCBpbnRlIFwiJXNcIiIKKwogIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjI5CiBtc2dpZCAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1vcHRzXSIKIG1zZ3N0ciAiZ2l0IGZhc3QtZXhwb3J0IFtyZXYtbGlzdC1mbGFnZ29yXSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDYKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo4NTIKK21zZ2lkICJFcnJvcjogQ2Fubm90IGV4cG9ydCBuZXN0ZWQgdGFncyB1bmxlc3MgLS1tYXJrLXRhZ3MgaXMgc3BlY2lmaWVkLiIKK21zZ3N0ciAiRmVsOiBLYW4gaW50ZSBleHBvcnRlcmEgbsOkc3RsYWRlIHRhZ2dhciBzw6V2aWRhIGludGUgLS1tYXJrLXRhZ3MgYW5nZXMuIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1MgogbXNnaWQgInNob3cgcHJvZ3Jlc3MgYWZ0ZXIgPG4+IG9iamVjdHMiCiBtc2dzdHIgInZpc2EgZsO2cmxvcHAgZWZ0ZXIgPG4+IG9iamVrdCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTU0CiBtc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHNpZ25lZCB0YWdzIgogbXNnc3RyICJ2w6RsaiBoYW50ZXJpbmcgYXYgc2lnbmVyYWRlIHRhZ2dhciIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTEKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTU3CiBtc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHRhZ3MgdGhhdCB0YWcgZmlsdGVyZWQgb2JqZWN0cyIKIG1zZ3N0ciAidsOkbGogaGFudGVyaW5nIGF2IHRhZ2dhciBzb20gaGFyIHRhZ2dmaWx0cmVyYWRlIG9iamVrdCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTQKLW1zZ2lkICJEdW1wIG1hcmtzIHRvIHRoaXMgZmlsZSIKLW1zZ3N0ciAiRHVtcCBtw6Rya2VuIHRpbGwgZmlsZW4iCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2MAorbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBjb21taXQgbWVzc2FnZXMgaW4gYW4gYWx0ZXJuYXRlIGVuY29kaW5nIgorbXNnc3RyICJ2w6RsaiBoYW50ZXJpbmcgYXYgaW5jaGVja25pbmdzbWVkZGVsYW5kZW4gaSBhbHRlcm5hdGl2IHRlY2tlbmtvZG5pbmciCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDE2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2MworbXNnaWQgIkR1bXAgbWFya3MgdG8gdGhpcyBmaWxlIgorbXNnc3RyICJEdW1wYSBtw6Rya2VuIHRpbGwgZmlsZW4iCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY1CiBtc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIgogbXNnc3RyICJJbXBvcnRlcmEgbcOkcmtlbiBmcsOlbiBmaWxlbiIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY5Cittc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIGlmIGl0IGV4aXN0cyIKK21zZ3N0ciAiSW1wb3J0ZXJhIG3DpHJrZW4gZnLDpW4gZmlsZW4sIG9tIGRlbiBmaW5ucyIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzEKIG1zZ2lkICJGYWtlIGEgdGFnZ2VyIHdoZW4gdGFncyBsYWNrIG9uZSIKIG1zZ3N0ciAiRmVqa2EgdGFnZ2FyZSBuw6RyIHRhZ2dlbiBzYWtuYXIgZW4iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDIwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3MwogbXNnaWQgIk91dHB1dCBmdWxsIHRyZWUgZm9yIGVhY2ggY29tbWl0IgogbXNnc3RyICJTa3JpdiB1dCBoZWxhIHRyw6RkZXQgZsO2ciB2YXJqZSBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMjIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTc1CiBtc2dpZCAiVXNlIHRoZSBkb25lIGZlYXR1cmUgdG8gdGVybWluYXRlIHRoZSBzdHJlYW0iCiBtc2dzdHIgIkFudsOkbmQgZG9uZS1mdW5rdGlvbmVuIGbDtnIgYXR0IGF2c2x1dGEgc3Ryw7ZtbWVuIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAyMworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzYKIG1zZ2lkICJTa2lwIG91dHB1dCBvZiBibG9iIGRhdGEiCiBtc2dzdHIgIkhvcHBhIMO2dmVyIHNrcml2bmluZyBhdiBibG9iLWRhdGEiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDI0IGJ1aWx0aW4vbG9nLmM6MTU4OAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzcgYnVpbHRpbi9sb2cuYzoxNzA1CiBtc2dpZCAicmVmc3BlYyIKIG1zZ3N0ciAicmVmZXJlbnNzcGVjaWZpa2F0aW9uIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAyNQorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzgKIG1zZ2lkICJBcHBseSByZWZzcGVjIHRvIGV4cG9ydGVkIHJlZnMiCiBtc2dzdHIgIkFwcGxpY2VyYSByZWZlcmVuc3NwZWNpZmlrYXRpb24gcMOlIGV4cG9ydGVyYWRlIHJlZmVyZW5zZXIiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDI2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3OQogbXNnaWQgImFub255bWl6ZSBvdXRwdXQiCiBtc2dzdHIgImFub255bWlzZXJhIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE4MQorbXNnaWQgIlJlZmVyZW5jZSBwYXJlbnRzIHdoaWNoIGFyZSBub3QgaW4gZmFzdC1leHBvcnQgc3RyZWFtIGJ5IG9iamVjdCBpZCIKK21zZ3N0ciAiUmVmZXJlcmEgZsO2csOkbGRyYXIgc29tIGludGUgZmlubnMgaSBmYXN0LWV4cG9ydC1zdHLDtm0gbWVkIG9iamVrdC1pZCIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExODMKK21zZ2lkICJTaG93IG9yaWdpbmFsIG9iamVjdCBpZHMgb2YgYmxvYnMvY29tbWl0cyIKK21zZ3N0ciAiVmlzYSB1cnNwcnVuZ2xpZ2Egb2JqZWt0LWlkIGbDtnIgYmxvYmJhci9pbmNoZWNrbmluZ2FyIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE4NQorbXNnaWQgIkxhYmVsIHRhZ3Mgd2l0aCBtYXJrIGlkcyIKK21zZ3N0ciAiTcOkcmsgdGFnZ2FyIG1lZCBtw6Rya2UtaWQiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMjIwCittc2dpZCAiQ2Fubm90IHBhc3MgYm90aCAtLWltcG9ydC1tYXJrcyBhbmQgLS1pbXBvcnQtbWFya3MtaWYtZXhpc3RzIgorbXNnc3RyICJLYW4gaW50ZSBhbmdlIGLDpWRlIC0taW1wb3J0LW1hcmtzIG9jaCAtLWltcG9ydC1tYXJrcy1pZi1leGlzdHMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNAogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs8ZmxhZ2dvcj5dIFs8YXJraXY+IFs8cmVmc3BlYz4uLi5dXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI5CisjOiBidWlsdGluL2ZldGNoLmM6MzUKIG1zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gPGdyb3VwPiIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs8ZmxhZ2dvcj5dIDxncnVwcD4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzozMAorIzogYnVpbHRpbi9mZXRjaC5jOjM2CiBtc2dpZCAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzxvcHRpb25zPl0gWyg8cmVwb3NpdG9yeT4gfCA8Z3JvdXA+KS4uLl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8ZmxhZ2dvcj5dIFsoPGFya2l2PiB8IDxncnVwcD4pLi4uXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMxCisjOiBidWlsdGluL2ZldGNoLmM6MzcKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPGZsYWdnb3I+XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNSBidWlsdGluL3B1bGwuYzoxOTQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTYKK21zZ2lkICJmZXRjaC5wYXJhbGxlbCBjYW5ub3QgYmUgbmVnYXRpdmUiCittc2dzdHIgImZldGNoLnBhcmFsbGVsIGthbiBpbnRlIHZhcmEgbmVnYXRpdnQiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzkgYnVpbHRpbi9wdWxsLmM6MjA0CiBtc2dpZCAiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIKIG1zZ3N0ciAiaMOkbXRhIGZyw6VuIGFsbGEgZmrDpHJyYXIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTcgYnVpbHRpbi9wdWxsLmM6MTk3CisjOiBidWlsdGluL2ZldGNoLmM6MTQxIGJ1aWx0aW4vcHVsbC5jOjI0OAorbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvZmV0Y2giCittc2dzdHIgInN0w6RsbCBpbiB1cHBzdHLDtm0gZsO2ciBnaXQgcHVsbC9mZXRjaCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MyBidWlsdGluL3B1bGwuYzoyMDcKIG1zZ2lkICJhcHBlbmQgdG8gLmdpdC9GRVRDSF9IRUFEIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmciCiBtc2dzdHIgImzDpGdnIHRpbGwgaSAuZ2l0L0ZFVENIX0hFQUQgaXN0w6RsbGV0IGbDtnIgYXR0IHNrcml2YSDDtnZlciIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExOSBidWlsdGluL3B1bGwuYzoyMDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDUgYnVpbHRpbi9wdWxsLmM6MjEwCiBtc2dpZCAicGF0aCB0byB1cGxvYWQgcGFjayBvbiByZW1vdGUgZW5kIgogbXNnc3RyICJzw7ZrdsOkZyB0aWxsIHVwbG9hZCBwYWNrIHDDpSBmasOkcnJlbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMAorIzogYnVpbHRpbi9mZXRjaC5jOjE0NgogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCByZWZlcmVuY2UiCiBtc2dzdHIgInR2aW5nYSDDtnZlcnNrcml2bmluZyBhdiBsb2thbCByZWZlcmVucyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMgorIzogYnVpbHRpbi9mZXRjaC5jOjE0OAogbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKIG1zZ3N0ciAiaMOkbXRhIGZyw6VuIGZsZXJhIGZqw6RycmFyIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI0IGJ1aWx0aW4vcHVsbC5jOjIwNAorIzogYnVpbHRpbi9mZXRjaC5jOjE1MCBidWlsdGluL3B1bGwuYzoyMTQKIG1zZ2lkICJmZXRjaCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIgogbXNnc3RyICJow6RtdGEgYWxsYSB0YWdnYXIgb2NoIGFzc29jaWVyYWRlIG9iamVrdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyNgorIzogYnVpbHRpbi9mZXRjaC5jOjE1MgogbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKIG1zZ3N0ciAiaMOkbXRhIGludGUgYWxsYSB0YWdnYXIgKC0tbm8tdGFncykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTQKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBmZXRjaGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJhbnRhbCB1bmRlcm1vZHVsZXIgc29tIGjDpG10YXMgcGFyYWxsZWxsdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzMCBidWlsdGluL3B1bGwuYzoyMDcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTYgYnVpbHRpbi9wdWxsLmM6MjE3CiBtc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCiBtc2dzdHIgInJlbnNhIGZqw6RycnNww6VyYW5kZSBncmVuYXIgZWogbMOkbmdyZSBww6UgZmrDpHJyZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTgKIG1zZ2lkICJwcnVuZSBsb2NhbCB0YWdzIG5vIGxvbmdlciBvbiByZW1vdGUgYW5kIGNsb2JiZXIgY2hhbmdlZCB0YWdzIgogbXNnc3RyICIiCiAicmVuc2EgbG9rYWxhIHRhZ2dhciBpbnRlIGzDpG5ncmUgcMOlIGZqw6RycmVuIG9jaCBza3JpdiDDtnZlciDDpG5kcmFkZSB0YWdnYXIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzMgYnVpbHRpbi9mZXRjaC5jOjE1NiBidWlsdGluL3B1bGwuYzoxMzIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTkgYnVpbHRpbi9mZXRjaC5jOjE4MiBidWlsdGluL3B1bGwuYzoxNDEKIG1zZ2lkICJvbi1kZW1hbmQiCiBtc2dzdHIgIm9uLWRlbWFuZCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNAorIzogYnVpbHRpbi9mZXRjaC5jOjE2MAogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInN0eXIgcmVrdXJzaXYgaMOkbXRuaW5nIGF2IHVuZGVybW9kdWxlciIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzOCBidWlsdGluL3B1bGwuYzoyMTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjQgYnVpbHRpbi9wdWxsLmM6MjI1CiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgImJlaMOlbGwgaMOkbXRhZGUgcGFrZXQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNDAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjYKIG1zZ2lkICJhbGxvdyB1cGRhdGluZyBvZiBIRUFEIHJlZiIKIG1zZ3N0ciAidGlsbMOldCB1cHBkYXRlcmluZyBhdiBIRUFELXJlZmVyZW5zIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQzIGJ1aWx0aW4vZmV0Y2guYzoxNDkgYnVpbHRpbi9wdWxsLmM6MjE4CisjOiBidWlsdGluL2ZldGNoLmM6MTY5IGJ1aWx0aW4vZmV0Y2guYzoxNzUgYnVpbHRpbi9wdWxsLmM6MjI4CiBtc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSIKIG1zZ3N0ciAiZsO2cmRqdXBhIGhpc3RvcmlrIGbDtnIgZ3J1bmQga2xvbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE0NQorIzogYnVpbHRpbi9mZXRjaC5jOjE3MQogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgcmVwb3NpdG9yeSBiYXNlZCBvbiB0aW1lIgogbXNnc3RyICJmw7ZyZGp1cGEgaGlzdG9yaWsgZsO2ciBncnVuZCBrbG9uIGJhc2VyYWQgcMOlIHRpZCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1MSBidWlsdGluL3B1bGwuYzoyMjEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzcgYnVpbHRpbi9wdWxsLmM6MjMxCiBtc2dpZCAiY29udmVydCB0byBhIGNvbXBsZXRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgImtvbnZlcnRlcmEgdGlsbCBrb21wbGV0dCBhcmtpdiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1NAorIzogYnVpbHRpbi9mZXRjaC5jOjE4MAogbXNnaWQgInByZXBlbmQgdGhpcyB0byBzdWJtb2R1bGUgcGF0aCBvdXRwdXQiCiBtc2dzdHIgImzDpGdnIHRpbGwgaSBiw7ZyamFuIGF2IHVuZGVybW9kdWxlbnMgc8O2a3bDpGdzdXRkYXRhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU3CisjOiBidWlsdGluL2ZldGNoLmM6MTgzCiBtc2dpZCAiIgogImRlZmF1bHQgZm9yIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIChsb3dlciBwcmlvcml0eSB0aGFuIGNvbmZpZyAiCiAiZmlsZXMpIgpAQCAtMTA4NDUsMTA5ICsxMzMwMCwxMzMgQEAKICJzdGFuZGFyZCBmw7ZyIHJla3Vyc2l2IGjDpG10bmluZyBhdiB1bmRlcm1vZHVsZXIgKGzDpGdyZSBwcmlvcml0ZXQgw6RuICIKICJrb25maWd1cmF0aW9uc2ZpbGVyKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MSBidWlsdGluL3B1bGwuYzoyMjQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODcgYnVpbHRpbi9wdWxsLmM6MjM0CiBtc2dpZCAiYWNjZXB0IHJlZnMgdGhhdCB1cGRhdGUgLmdpdC9zaGFsbG93IgogbXNnc3RyICJ0YXIgZW1vdCByZWZlcmVuc2VyIHNvbSB1cHBkYXRlcmFyIC5naXQvc2hhbGxvdyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MiBidWlsdGluL3B1bGwuYzoyMjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODggYnVpbHRpbi9wdWxsLmM6MjM2CiBtc2dpZCAicmVmbWFwIgogbXNnc3RyICJyZWZlcmVuc2thcnRhIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYzIGJ1aWx0aW4vcHVsbC5jOjIyNworIzogYnVpbHRpbi9mZXRjaC5jOjE4OSBidWlsdGluL3B1bGwuYzoyMzcKIG1zZ2lkICJzcGVjaWZ5IGZldGNoIHJlZm1hcCIKIG1zZ3N0ciAiYW5nZSByZWZlcmVuc2thcnRhIGbDtnIgXCJmZXRjaFwiIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTY0IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzcgYnVpbHRpbi9wdXNoLmM6NTgyCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE3MgotbXNnaWQgInNlcnZlci1zcGVjaWZpYyIKLW1zZ3N0ciAic2VydmVyc3BlY2lmaWsiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjQgYnVpbHRpbi9scy1yZW1vdGUuYzo3NyBidWlsdGluL3B1c2guYzo1ODIKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTczCi1tc2dpZCAib3B0aW9uIHRvIHRyYW5zbWl0IgotbXNnc3RyICIiCi0iaW5nZXQgYXR0IGNoZWNrYSBpblxuIgotImZsYWdnYSBhdHQgc8OkbmRhIgotCi0jOiBidWlsdGluL2ZldGNoLmM6MTcwCisjOiBidWlsdGluL2ZldGNoLmM6MTk2CiBtc2dpZCAicmVwb3J0IHRoYXQgd2UgaGF2ZSBvbmx5IG9iamVjdHMgcmVhY2hhYmxlIGZyb20gdGhpcyBvYmplY3QiCiBtc2dzdHIgInJhcHBvcnRlcmEgYXR0IHZpIGJhcmEgaGFyIG9iamVrdCBuw6ViYXJhIGZyw6VuIGRldHRhIG9iamVrdGV0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6NDcwCisjOiBidWlsdGluL2ZldGNoLmM6MTk5Cittc2dpZCAicnVuICdnYyAtLWF1dG8nIGFmdGVyIGZldGNoaW5nIgorbXNnc3RyICJrw7ZyIFwiZ2MgLS1hdXRvXCIgZWZ0ZXIgaMOkbXRuaW5nIgorCisjOiBidWlsdGluL2ZldGNoLmM6MjAxIGJ1aWx0aW4vcHVsbC5jOjI0NgorbXNnaWQgImNoZWNrIGZvciBmb3JjZWQtdXBkYXRlcyBvbiBhbGwgdXBkYXRlZCBicmFuY2hlcyIKK21zZ3N0ciAic2UgZWZ0ZXIgdHZpbmdhZGUgdXBwZGF0ZXJpbmdhciBpIGFsbGEgdXBwZGF0ZXJhZGUgZ3JlbmFyIgorCisjOiBidWlsdGluL2ZldGNoLmM6MjAzCittc2dpZCAid3JpdGUgdGhlIGNvbW1pdC1ncmFwaCBhZnRlciBmZXRjaGluZyIKK21zZ3N0ciAic2tyaXYgaW5jaGVja2luZ3NncmFmZW4gZWZ0ZXIgaMOkbXRuaW5nIgorCisjOiBidWlsdGluL2ZldGNoLmM6NTEzCiBtc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCiBtc2dzdHIgIkt1bmRlIGludGUgaGl0dGEgZmrDpHJyLXJlZmVyZW5zZW4gSEVBRCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwOQorIzogYnVpbHRpbi9mZXRjaC5jOjY1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBjb250YWlucyBpbnZhbGlkIHZhbHVlICVzIgogbXNnc3RyICJrb25maWd1cmF0aW9uZW4gZsO2ciBmZXRjaC5vdXRwdXQgaW5uZWjDpWxsZXIgb2dpbHRpZ3QgdsOkcmRlICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzAyCisjOiBidWlsdGluL2ZldGNoLmM6NzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBub3QgZm91bmQiCiBtc2dzdHIgIm9iamVrdGV0ICVzIGhpdHRhZGVzIGludGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MDYKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NTUKIG1zZ2lkICJbdXAgdG8gZGF0ZV0iCiBtc2dzdHIgIlvDoGpvdXJdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzE5IGJ1aWx0aW4vZmV0Y2guYzo3MzUgYnVpbHRpbi9mZXRjaC5jOjgwNworIzogYnVpbHRpbi9mZXRjaC5jOjc2OCBidWlsdGluL2ZldGNoLmM6Nzg0IGJ1aWx0aW4vZmV0Y2guYzo4NTYKIG1zZ2lkICJbcmVqZWN0ZWRdIgogbXNnc3RyICJbcmVmdXNlcmFkXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcyMAorIzogYnVpbHRpbi9mZXRjaC5jOjc2OQogbXNnaWQgImNhbid0IGZldGNoIGluIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICJrYW4gaW50ZSBow6RtdGEgaSBha3R1ZWxsIGdyZW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MzAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NzkKIG1zZ2lkICJbdGFnIHVwZGF0ZV0iCiBtc2dzdHIgIlt1cHBkYXRlcmFkIHRhZ2ddIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzMxIGJ1aWx0aW4vZmV0Y2guYzo3NzEgYnVpbHRpbi9mZXRjaC5jOjc4NwotIzogYnVpbHRpbi9mZXRjaC5jOjgwMgorIzogYnVpbHRpbi9mZXRjaC5jOjc4MCBidWlsdGluL2ZldGNoLmM6ODE3IGJ1aWx0aW4vZmV0Y2guYzo4MzkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTEKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIGxvY2FsIHJlZiIKIG1zZ3N0ciAia3VuZGUgaW50ZSB1cHBkYXRlcmEgbG9rYWwgcmVmIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzM1CisjOiBidWlsdGluL2ZldGNoLmM6Nzg0CiBtc2dpZCAid291bGQgY2xvYmJlciBleGlzdGluZyB0YWciCiBtc2dzdHIgInNrdWxsZSBza3JpdmEgw7Z2ZXIgYmVmaW50bGlnIHRhZ2ciCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4MDYKIG1zZ2lkICJbbmV3IHRhZ10iCiBtc2dzdHIgIltueSB0YWdnXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc2MAorIzogYnVpbHRpbi9mZXRjaC5jOjgwOQogbXNnaWQgIltuZXcgYnJhbmNoXSIKIG1zZ3N0ciAiW255IGdyZW5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzYzCisjOiBidWlsdGluL2ZldGNoLmM6ODEyCiBtc2dpZCAiW25ldyByZWZdIgogbXNnc3RyICJbbnkgcmVmXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjgwMgorIzogYnVpbHRpbi9mZXRjaC5jOjg1MQogbXNnaWQgImZvcmNlZCB1cGRhdGUiCiBtc2dzdHIgInR2aW5nYWQgdXBwZGF0ZXJpbmciCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MDcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTYKIG1zZ2lkICJub24tZmFzdC1mb3J3YXJkIgogbXNnc3RyICJlaiBzbmFiYnNwb2xhZCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg1MworIzogYnVpbHRpbi9mZXRjaC5jOjg3NworbXNnaWQgIiIKKyJGZXRjaCBub3JtYWxseSBpbmRpY2F0ZXMgd2hpY2ggYnJhbmNoZXMgaGFkIGEgZm9yY2VkIHVwZGF0ZSxcbiIKKyJidXQgdGhhdCBjaGVjayBoYXMgYmVlbiBkaXNhYmxlZC4gVG8gcmUtZW5hYmxlLCB1c2UgJy0tc2hvdy1mb3JjZWQtdXBkYXRlcydcbiIKKyJmbGFnIG9yIHJ1biAnZ2l0IGNvbmZpZyBmZXRjaC5zaG93Rm9yY2VkVXBkYXRlcyB0cnVlJy4iCittc2dzdHIgIiIKKyJGZXRjaCB2aXNhciBub3JtYWx0IHZpbGthIGdyZW5hciBzb20gdHbDpW5nc3VwcGRhdGVyYXRzLCBtZW4gdGVzdGV0IGhhciAiCisic2xhZ2l0c1xuIgorImF2LiBGw7ZyIGF0dCBzbMOlIHDDpSBpZ2VuLCBhbnbDpG5kIGZsYWdnYW4gXCItLXNob3ctZm9yY2VkLXVwZGF0ZXNcIiBlbGxlciBrw7ZyXG4iCisiXCJnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzIHRydWVcIi4iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkl0IHRvb2sgJS4yZiBzZWNvbmRzIHRvIGNoZWNrIGZvcmNlZCB1cGRhdGVzLiBZb3UgY2FuIHVzZVxuIgorIictLW5vLXNob3ctZm9yY2VkLXVwZGF0ZXMnIG9yIHJ1biAnZ2l0IGNvbmZpZyBmZXRjaC5zaG93Rm9yY2VkVXBkYXRlcyAiCisiZmFsc2UnXG4iCisiIHRvIGF2b2lkIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyJEZXQgdG9nICUuMmYgc2VrdW5kZXIgYXR0IHNlIGVmdGVyIHR2w6VuZ3N1cHBkYXRlcmluZ2FyLiBEdSBrYW4gYW52w6RuZGFcbiIKKyJcIi0tbm8tc2hvdy1mb3JjZWQtdXBkYXRlc1wiIGVsbGVyIGvDtnJhIFwiZ2l0IGNvbmZpZyBmZXRjaC4iCisic2hvd0ZvcmNlZFVwZGF0ZXNcbiIKKyJmYWxzZVwiIGbDtnIgYXR0IHVuZHZpa2EgdGVzdGV0LlxuIgorCisjOiBidWlsdGluL2ZldGNoLmM6OTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKIG1zZ3N0ciAiJXMgc8OkbmRlIGludGUgYWxsYSBuw7ZkdsOkbmRpZ2Egb2JqZWt0XG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVqZWN0ICVzIGJlY2F1c2Ugc2hhbGxvdyByb290cyBhcmUgbm90IGFsbG93ZWQgdG8gYmUgdXBkYXRlZCIKIG1zZ3N0ciAiYXZ2aXNhICVzIGTDpSBncnVuZGEgcsO2dHRlciBpbnRlIGthbiB1cHBkYXRlcmFzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTYzIGJ1aWx0aW4vZmV0Y2guYzoxMDg1CisjOiBidWlsdGluL2ZldGNoLmM6MTAxNyBidWlsdGluL2ZldGNoLmM6MTE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJGcm9tICUuKnNcbiIKIG1zZ3N0ciAiRnLDpW4gJS4qc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTc0CisjOiBidWlsdGluL2ZldGNoLmM6MTAyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAic29tZSBsb2NhbCByZWZzIGNvdWxkIG5vdCBiZSB1cGRhdGVkOyB0cnkgcnVubmluZ1xuIgpAQCAtMTA5NTYsNTYgKzEzNDM1LDc5IEBACiAidmlzc2EgbG9rYWxhIHJlZmVyZW5zZXIga3VuZGUgaW50ZSB1cHBkYXRlcmFzOyB0ZXN0YSBhdHQga8O2cmFcbiIKICIgXCJnaXQgcmVtb3RlIHBydW5lICVzXCIgZsO2ciBhdHQgdGEgYm9ydCBnYW1sYSBncmVuYXIgc29tIHN0w6VyIGkga29uZmxpa3QiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDU1CisjOiBidWlsdGluL2ZldGNoLmM6MTEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgd2lsbCBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMga29tbWVyIGJsaSBkaW5nbGFuZGUpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA1NgorIzogYnVpbHRpbi9mZXRjaC5jOjExMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMgaGFyIGJsaXZpdCBkaW5nbGFuZGUpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4OAorIzogYnVpbHRpbi9mZXRjaC5jOjExNTgKIG1zZ2lkICJbZGVsZXRlZF0iCiBtc2dzdHIgIltib3J0dGFnZW5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA4OSBidWlsdGluL3JlbW90ZS5jOjEwMzYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTU5IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNQogbXNnaWQgIihub25lKSIKIG1zZ3N0ciAiKGluZ2VuKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiVsOkZ3JhciBow6RtdGEgdGlsbCBha3R1ZWxsIGdyZW4gJXMgaSBldHQgaWNrZS1uYWtldCBhcmtpdiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk9wdGlvbiBcIiVzXCIgdmFsdWUgXCIlc1wiIGlzIG5vdCB2YWxpZCBmb3IgJXMiCiBtc2dzdHIgIkZsYWdnYW4gXCIlc1wiIG9jaCB2w6RyZGV0IFwiJXNcIiDDpHIgaW50ZSBnaWx0aWd0IGbDtnIgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTM0CisjOiBidWlsdGluL2ZldGNoLmM6MTIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIGlzIGlnbm9yZWQgZm9yICVzXG4iCiBtc2dzdHIgIkZsYWdnYW4gXCIlc1wiIGlnbm9yZXJhcyBmw7ZyICVzXG4iCiAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDEyCittc2dpZCAibXVsdGlwbGUgYnJhbmNoZXMgZGV0ZWN0ZWQsIGluY29tcGF0aWJsZSB3aXRoIC0tc2V0LXVwc3RyZWFtIgorbXNnc3RyICJmbGVyYSBncmVuYXIgdXBwdMOkY2t0ZXMsIGlua29tcGF0aWJlbHQgbWVkIC0tc2V0LXVwc3RyZWFtIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQyNworbXNnaWQgIm5vdCBzZXR0aW5nIHVwc3RyZWFtIGZvciBhIHJlbW90ZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgorbXNnc3RyICJzdMOkbGxlciBpbnRlIGluIHVwcHN0csO2bXNncmVuIGbDtnIgZW4gZmrDpHJyc3DDpXJhbmRlIGdyZW4gcMOlIGZqw6RycmVuIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQyOQorbXNnaWQgIm5vdCBzZXR0aW5nIHVwc3RyZWFtIGZvciBhIHJlbW90ZSB0YWciCittc2dzdHIgInN0w6RsbGVyIGludGUgaW4gdXBwc3Ryw7ZtIGbDtnIgZW4gZmrDpHJydGFnIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQzMQorbXNnaWQgInVua25vd24gYnJhbmNoIHR5cGUiCittc2dzdHIgIm9rw6RuZCBncmVudHlwIgorCiAjOiBidWlsdGluL2ZldGNoLmM6MTQzMworbXNnaWQgIiIKKyJubyBzb3VyY2UgYnJhbmNoIGZvdW5kLlxuIgorInlvdSBuZWVkIHRvIHNwZWNpZnkgZXhhY3RseSBvbmUgYnJhbmNoIHdpdGggdGhlIC0tc2V0LXVwc3RyZWFtIG9wdGlvbi4iCittc2dzdHIgIiIKKyJoaXR0YWRlIGluZ2VuIGvDpGxsZ3Jlbi5cbiIKKyJkdSBtw6VzdGUgYW5nZSBleGFrdCBlbiBncmVuIG1lZCBmbGFnZ2FuIC0tc2V0LXVwc3RyZWFtLiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE1NTkgYnVpbHRpbi9mZXRjaC5jOjE2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmV0Y2hpbmcgJXNcbiIKIG1zZ3N0ciAiSMOkbXRhciAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQzNSBidWlsdGluL3JlbW90ZS5jOjEwMAorIzogYnVpbHRpbi9mZXRjaC5jOjE1NjkgYnVpbHRpbi9mZXRjaC5jOjE2MjQgYnVpbHRpbi9yZW1vdGUuYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgogbXNnc3RyICJLdW5kZSBpbnRlIGjDpG10YSAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE0ODEgYnVpbHRpbi9mZXRjaC5jOjE2NDkKLW1zZ2lkICIiCi0iLS1maWx0ZXIgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHRoZSByZW1vdGUgY29uZmlndXJlZCBpbiBjb3JlLnBhcnRpYWxDbG9uZSIKLW1zZ3N0ciAiIgotIi0tZmlsdGVyIGthbiBlbmRhc3QgYW52w6RuZGFzIG1lZCBmasOkcnJlbiBrb25maWd1cmVyYWQgaSBjb3JlLnBhcnRpYWxDbG9uZSIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTgxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmZXRjaCAnJXMnIChleGl0IGNvZGU6ICVkKVxuIgorbXNnc3RyICJrdW5kZSBpbnRlIGjDpG10YSBcIiVzXCIgKGZlbGtvZDogJWQpXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTA0CisjOiBidWlsdGluL2ZldGNoLmM6MTY4NAogbXNnaWQgIiIKICJObyByZW1vdGUgcmVwb3NpdG9yeSBzcGVjaWZpZWQuICBQbGVhc2UsIHNwZWNpZnkgZWl0aGVyIGEgVVJMIG9yIGFcbiIKICJyZW1vdGUgbmFtZSBmcm9tIHdoaWNoIG5ldyByZXZpc2lvbnMgc2hvdWxkIGJlIGZldGNoZWQuIgpAQCAtMTEwMTMsNjYgKzEzNTE1LDc0IEBACiAiSW5nZXQgZmrDpHJyYXJraXYgYW5nYXZzLiBBbmdlIGFudGluZ2VuIGVuIFVSTCBlbGxlciBuYW1uZXQgcMOlIGV0dFxuIgogImZqw6RycmFya2l2IHNvbSBueWEgaW5jaGVja25pbmdhciBza2FsbCBow6RtdGFzIGZyw6VuLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1NDEKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzIxCiBtc2dpZCAiWW91IG5lZWQgdG8gc3BlY2lmeSBhIHRhZyBuYW1lLiIKIG1zZ3N0ciAiRHUgbcOlc3RlIGFuZ2UgbmFtbmV0IHDDpSBlbiB0YWdnLiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1OTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzcxCiBtc2dpZCAiTmVnYXRpdmUgZGVwdGggaW4gLS1kZWVwZW4gaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiTmVnYXRpdmEgZGp1cCBzdMO2ZHMgaW50ZSBpIC0tZGVlcGVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU5MgorIzogYnVpbHRpbi9mZXRjaC5jOjE3NzMKIG1zZ2lkICItLWRlZXBlbiBhbmQgLS1kZXB0aCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItLWRlZXBlbiBvY2ggLS1kZXB0aCDDpHIgw7Ztc2VzaWRpZ3QgdXRlc2x1dGFuZGUiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTk3CisjOiBidWlsdGluL2ZldGNoLmM6MTc3OAogbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICItLWRlcHRoIG9jaCAtLXVuc2hhbGxvdyBrYW4gaW50ZSBhbnbDpG5kYXMgc2FtdGlkaWd0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU5OQorIzogYnVpbHRpbi9mZXRjaC5jOjE3ODAKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS11bnNoYWxsb3cga2FuIGludGUgYW52w6RuZGFzIHDDpSBldHQga29tcGxldHQgYXJraXYiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjE1CisjOiBidWlsdGluL2ZldGNoLmM6MTc5NgogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgogbXNnc3RyICJmZXRjaCAtLWFsbCB0YXIgaW50ZSBuYW1uZXQgcMOlIGV0dCBhcmtpdiBzb20gYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjE3CisjOiBidWlsdGluL2ZldGNoLmM6MTc5OAogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiZmV0Y2ggLS1hbGwga2FuIGludGUgYW5nZXMgbWVkIHJlZmVyZW5zc3BlY2lmaWthdGlvbmVyIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYyNgorIzogYnVpbHRpbi9mZXRjaC5jOjE4MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGUgb3IgcmVtb3RlIGdyb3VwOiAlcyIKIG1zZ3N0ciAiRmrDpHJyZW4gZWxsZXIgZmrDpHJyZ3J1cHBlbiBmaW5ucyBpbnRlOiAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MzMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODE0CiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJLYW4gaW50ZSBow6RtdGEgZnLDpW4gZ3J1cHAgb2NoIGFuZ2UgcmVmZXJlbnNzcGVjaWZpa2F0aW9uZXIiCiAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODMyCittc2dpZCAiIgorIi0tZmlsdGVyIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB0aGUgcmVtb3RlIGNvbmZpZ3VyZWQgaW4gZXh0ZW5zaW9ucy4iCisicGFydGlhbGNsb25lIgorbXNnc3RyICIiCisiLS1maWx0ZXIga2FuIGVuZGFzdCBhbnbDpG5kYXMgbWVkIGZqw6RycmVuIGtvbmZpZ3VyZXJhZCBpIGV4dGVuc2lvbnMuIgorInBhcnRpYWxjbG9uZSIKKwogIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6MTgKIG1zZ2lkICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZXNzYWdlPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKIG1zZ3N0ciAiIgogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8bWVkZGVsYW5kZT5dIFstLWxvZ1s9PG4+XSB8IC0tbm8tbG9nXSBbLS1maWxlIDxmaWw+XSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjcyCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzQKIG1zZ2lkICJwb3B1bGF0ZSBsb2cgd2l0aCBhdCBtb3N0IDxuPiBlbnRyaWVzIGZyb20gc2hvcnRsb2ciCiBtc2dzdHIgImZ5bGwgaSBsb2dnZW4gbWVkIHNvbSBtZXN0IDxuPiBwb3N0ZXIgZnLDpW4gc2hvcnRsb2ciCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NQorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc3CiBtc2dpZCAiYWxpYXMgZm9yIC0tbG9nIChkZXByZWNhdGVkKSIKIG1zZ3N0ciAiYWxpYXMgZsO2ciAtLWxvZyAoYXZyw6VkcykiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3OAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjgwCiBtc2dpZCAidGV4dCIKIG1zZ3N0ciAidGV4dCIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc5CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2ODEKIG1zZ2lkICJ1c2UgPHRleHQ+IGFzIHN0YXJ0IG9mIG1lc3NhZ2UiCiBtc2dzdHIgImlubGVkIG1lZGRlbGFuZGUgbWVkIDx0ZXh0PiIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjgwCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2ODIKIG1zZ2lkICJmaWxlIHRvIHJlYWQgZnJvbSIKIG1zZ3N0ciAiZmlsIGF0dCBsw6RzYSBmcsOlbiIKIApAQCAtMTExMTMsOTMgKzEzNjIzLDI3OCBAQAogbXNnaWQgInNob3cgb25seSA8bj4gbWF0Y2hlZCByZWZzIgogbXNnc3RyICJ2aXNhIGVuZGFzdCA8bj4gdHLDpGZmYWRlIHJlZnMiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzkgYnVpbHRpbi90YWcuYzo0MjQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzkgYnVpbHRpbi90YWcuYzo0MzkKIG1zZ2lkICJyZXNwZWN0IGZvcm1hdCBjb2xvcnMiCiBtc2dzdHIgImFudsOkbmQgZm9ybWF0ZsOkcmdlciIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MgogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBwb2ludHMgYXQgdGhlIGdpdmVuIG9iamVjdCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgcmVmZXJlbnNlciBzb20gcGVrYXIgcMOlIG9iamVrdGV0IgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ1CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ0CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgcmVmZXJlbnNlciBzb20gc2xhZ2l0cyBzYW1tYW4iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDYKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDUKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgcmVmZXJlbnNlciBzb20gZWogc2xhZ2l0cyBzYW1tYW4iCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDcKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDYKIG1zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJ2aXNhIGVuZGFzdCByZWZlcmVuc2VyIHNvbSBpbm5laMOlbGxlciBpbmNoZWNrbmluZ2VuIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ4CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ3CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgcmVmZXJlbnNlciBzb20gaW50ZSBpbm5laMOlbGxlciBpbmNoZWNrbmluZ2VuIgogCi0jOiBidWlsdGluL2ZzY2suYzo1OTgKLW1zZ2lkICJDaGVja2luZyBvYmplY3QgZGlyZWN0b3JpZXMiCi1tc2dzdHIgIktvbnRyb2xsZXJhciBvYmpla3RrYXRhbG9nZXIiCisjOiBidWlsdGluL2ZzY2suYzo2OCBidWlsdGluL2ZzY2suYzoxNDcgYnVpbHRpbi9mc2NrLmM6MTQ4Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAib2vDpG5kIgogCi0jOiBidWlsdGluL2ZzY2suYzo2OTMKLW1zZ2lkICJnaXQgZnNjayBbPG9wdGlvbnM+XSBbPG9iamVjdD4uLi5dIgotbXNnc3RyICJnaXQgZnNjayBbPGZsYWdnb3I+XSBbPG9iamVrdD4uLi5dIgorIy4gVFJBTlNMQVRPUlM6IGUuZy4gZXJyb3IgaW4gdHJlZSAwMWJmZGE6IDxtb3JlIGV4cGxhbmF0aW9uPgorIzogYnVpbHRpbi9mc2NrLmM6MTAwIGJ1aWx0aW4vZnNjay5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBpbiAlcyAlczogJXMiCittc2dzdHIgImZlbCBpICVzICVzOiAlcyIKIAotIzogYnVpbHRpbi9mc2NrLmM6Njk5Ci1tc2dpZCAic2hvdyB1bnJlYWNoYWJsZSBvYmplY3RzIgotbXNnc3RyICJ2aXNhIG9uw6ViYXJhIG9iamVrdCIKKyMuIFRSQU5TTEFUT1JTOiBlLmcuIHdhcm5pbmcgaW4gdHJlZSAwMWJmZGE6IDxtb3JlIGV4cGxhbmF0aW9uPgorIzogYnVpbHRpbi9mc2NrLmM6MTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmcgaW4gJXMgJXM6ICVzIgorbXNnc3RyICJ2YXJuaW5nIGkgJXMgJXM6ICVzIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDAKLW1zZ2lkICJzaG93IGRhbmdsaW5nIG9iamVjdHMiCi1tc2dzdHIgInZpc2EgZGluZ2xhbmRlIG9iamVrdCIKKyM6IGJ1aWx0aW4vZnNjay5jOjE0MyBidWlsdGluL2ZzY2suYzoxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYnJva2VuIGxpbmsgZnJvbSAlN3MgJXMiCittc2dzdHIgInRyYXNpZyBsw6RuayBmcsOlbiAlN3MgJXMiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwMQotbXNnaWQgInJlcG9ydCB0YWdzIgotbXNnc3RyICJyYXBwb3J0ZXJhIHRhZ2dhciIKKyM6IGJ1aWx0aW4vZnNjay5jOjE1NQorbXNnaWQgIndyb25nIG9iamVjdCB0eXBlIGluIGxpbmsiCittc2dzdHIgImZlbCBvYmpla3R0eXAgaSBsw6RuayIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzAyCi1tc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCi1tc2dzdHIgInJhcHBvcnRlcmEgcm90bm9kZXIiCisjOiBidWlsdGluL2ZzY2suYzoxNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImJyb2tlbiBsaW5rIGZyb20gJTdzICVzXG4iCisiICAgICAgICAgICAgICB0byAlN3MgJXMiCittc2dzdHIgIiIKKyJ0cmFzaWcgbMOkbmsgZnLDpW4gJTdzICVzXG4iCisiICAgICAgICAgICAgdGlsbCAlN3MgJXMiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwMwotbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgotbXNnc3RyICJnw7ZyIGluZGV4b2pla3QgdGlsbCBodXZ1ZG5vZGVyIgorIzogYnVpbHRpbi9mc2NrLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgJXMgJXMiCittc2dzdHIgInNha25hdCAlcyAlcyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzA0Ci1tc2dpZCAibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIgotbXNnc3RyICJnw7ZyIHJlZmxvZ2dhciB0aWxsIGh1dnVkbm9kZXIgKHN0YW5kYXJkKSIKKyM6IGJ1aWx0aW4vZnNjay5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSAlcyAlcyIKK21zZ3N0ciAib27DpWJhcnQgJXMgJXMiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwNQotbXNnaWQgImFsc28gY29uc2lkZXIgcGFja3MgYW5kIGFsdGVybmF0ZSBvYmplY3RzIgotbXNnc3RyICJ0YSDDpHZlbiBow6Ruc3luIHRpbGwgcGFrZXQgb2NoIGFsdGVybmF0aXZhIG9iamVrdCIKKyM6IGJ1aWx0aW4vZnNjay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJkYW5nbGluZyAlcyAlcyIKK21zZ3N0ciAiaMOkbmdhbmRlICVzICVzIgorCisjOiBidWlsdGluL2ZzY2suYzozMzkKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxvc3QtZm91bmQiCittc2dzdHIgImt1bmRlIGludGUgc2thcGEgbG9zdC1mb3VuZCIKKworIzogYnVpbHRpbi9mc2NrLmM6MzUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmaW5pc2ggJyVzJyIKK21zZ3N0ciAia3VuZGUgaW50ZSBhdnNsdXRhIFwiJXNcIiIKKworIzogYnVpbHRpbi9mc2NrLmM6MzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nICVzIgorbXNnc3RyICJLb250cm9sbGVyYXIgJXMiCiAKICMgVmFndWUgb3JpZ2luYWwsIG5vdCBuZXR3b3JraW5nLXJlbGF0ZWQsIGJ1dCByYXRoZXIgcmVsYXRlZCB0byB0aGUgYWN0dWFsCiAjIG9iamVjdHMgaW4gdGhlIGRhdGFiYXNlLgotIzogYnVpbHRpbi9mc2NrLmM6NzA2CisjOiBidWlsdGluL2ZzY2suYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5ICglZCBvYmplY3RzKSIKK21zZ3N0ciAiS29udHJvbGxlcmFyIGtvbm5la3Rpdml0ZXQgKCVkIG9iamVrdCkiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyAlcyAlcyIKK21zZ3N0ciAiS29udHJvbGxlcmFyICVzICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo0MjkKK21zZ2lkICJicm9rZW4gbGlua3MiCittc2dzdHIgInRyYXNpZ2EgbMOkbmthciIKKworIzogYnVpbHRpbi9mc2NrLmM6NDM4CisjLCBjLWZvcm1hdAorbXNnaWQgInJvb3QgJXMiCittc2dzdHIgInJvdGVuICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnZ2VkICVzICVzICglcykgaW4gJXMiCittc2dzdHIgInRhZ2dhZCAlcyAlcyAoJXMpIGkgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZyIKK21zZ3N0ciAiJXM6IG9iamVrdCB0cmFzaWd0IGVsbGVyIHNha25hcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHJlZmxvZyBlbnRyeSAlcyIKK21zZ3N0ciAiJXM6IG9naWx0aWcgcmVmbG9nLXBvc3QgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyByZWZsb2cgJXMtPiVzIgorbXNnc3RyICJLb250cm9sbGVyYXIgcmVmbG9nICVzLT4lcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHNoYTEgcG9pbnRlciAlcyIKK21zZ3N0ciAiJXM6IG9naWx0aWcgc2hhMS1wZWthcmUgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgY29tbWl0IgorbXNnc3RyICIlczogaW50ZSBlbiBpbmNoZWNrbmluZyEiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYwOQorbXNnaWQgIm5vdGljZTogTm8gZGVmYXVsdCByZWZlcmVuY2VzIgorbXNnc3RyICJvYnM6IEluZ2EgZsO2cnZhbGRhIHJlZmVyZW5zZXIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZzogJXMiCittc2dzdHIgIiVzOiBvYmpla3RldCB0cmFzaWd0IGVsbGVyIHNha25hczogJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2JqZWN0IGNvdWxkIG5vdCBiZSBwYXJzZWQ6ICVzIgorbXNnc3RyICIlczogb2JqZWt0ZXQga3VuZGUgaW50ZSB0b2xrYXM6ICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo2NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNoYTEgZmlsZTogJXMiCittc2dzdHIgIm9naWx0aWcgc2hhMS1maWw6ICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo2NzIKK21zZ2lkICJDaGVja2luZyBvYmplY3QgZGlyZWN0b3J5IgorbXNnc3RyICJLb250cm9sbGVyYXIgb2JqZWt0a2F0YWxvZyIKKworIzogYnVpbHRpbi9mc2NrLmM6Njc1Cittc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yaWVzIgorbXNnc3RyICJLb250cm9sbGVyYXIgb2JqZWt0a2F0YWxvZ2VyIgorCisjOiBidWlsdGluL2ZzY2suYzo2OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgJXMgbGluayIKK21zZ3N0ciAiS29udHJvbGxlcmFyICVzLWzDpG5rIgorCisjOiBidWlsdGluL2ZzY2suYzo2OTUgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgJXMiCittc2dzdHIgIm9naWx0aWd0ICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo3MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcG9pbnRzIHRvIHNvbWV0aGluZyBzdHJhbmdlICglcykiCittc2dzdHIgIiVzIHBla2FyIHDDpSBuw6Vnb3Qga29uc3RpZ3QgKCVzKSIKKworIzogYnVpbHRpbi9mc2NrLmM6NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2hlZCBIRUFEIHBvaW50cyBhdCBub3RoaW5nIgorbXNnc3RyICIlczogZnLDpW5rb3BwbGF0IEhFQUQgcGVrYXIgcMOlIGluZ2VudGluZyIKKworIzogYnVpbHRpbi9mc2NrLmM6NzEyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdGljZTogJXMgcG9pbnRzIHRvIGFuIHVuYm9ybiBicmFuY2ggKCVzKSIKK21zZ3N0ciAib2JzOiAlcyBwZWthciBww6UgZW4gb2bDtmRkIGdyZW4gKCVzKSIKKworIzogYnVpbHRpbi9mc2NrLmM6NzI0Cittc2dpZCAiQ2hlY2tpbmcgY2FjaGUgdHJlZSIKK21zZ3N0ciAiS29udHJvbGxlcmFyIGNhY2hldHLDpGQiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjcyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBzaGExIHBvaW50ZXIgaW4gY2FjaGUtdHJlZSIKK21zZ3N0ciAiJXM6IG9naWx0aWcgc2hhMS1wZWthcmUgaSBjYWNoZXRyw6RkIgorCisjOiBidWlsdGluL2ZzY2suYzo3MzgKK21zZ2lkICJub24tdHJlZSBpbiBjYWNoZS10cmVlIgorbXNnc3RyICJpY2tlLXRyw6RkIGkgY2FjaGV0csOkZCIKKworIzogYnVpbHRpbi9mc2NrLmM6NzY5Cittc2dpZCAiZ2l0IGZzY2sgWzxvcHRpb25zPl0gWzxvYmplY3Q+Li4uXSIKK21zZ3N0ciAiZ2l0IGZzY2sgWzxmbGFnZ29yPl0gWzxvYmpla3Q+Li4uXSIKKworIzogYnVpbHRpbi9mc2NrLmM6Nzc1Cittc2dpZCAic2hvdyB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICJ2aXNhIG9uw6ViYXJhIG9iamVrdCIKKworIzogYnVpbHRpbi9mc2NrLmM6Nzc2Cittc2dpZCAic2hvdyBkYW5nbGluZyBvYmplY3RzIgorbXNnc3RyICJ2aXNhIGRpbmdsYW5kZSBvYmpla3QiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjc3NworbXNnaWQgInJlcG9ydCB0YWdzIgorbXNnc3RyICJyYXBwb3J0ZXJhIHRhZ2dhciIKKworIzogYnVpbHRpbi9mc2NrLmM6Nzc4Cittc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCittc2dzdHIgInJhcHBvcnRlcmEgcm90bm9kZXIiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjc3OQorbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgorbXNnc3RyICJnw7ZyIGluZGV4b2pla3QgdGlsbCBodXZ1ZG5vZGVyIgorCisjOiBidWlsdGluL2ZzY2suYzo3ODAKK21zZ2lkICJtYWtlIHJlZmxvZ3MgaGVhZCBub2RlcyAoZGVmYXVsdCkiCittc2dzdHIgImfDtnIgcmVmbG9nZ2FyIHRpbGwgaHV2dWRub2RlciAoc3RhbmRhcmQpIgorCisjOiBidWlsdGluL2ZzY2suYzo3ODEKK21zZ2lkICJhbHNvIGNvbnNpZGVyIHBhY2tzIGFuZCBhbHRlcm5hdGUgb2JqZWN0cyIKK21zZ3N0ciAidGEgw6R2ZW4gaMOkbnN5biB0aWxsIHBha2V0IG9jaCBzdXBwbGVyYW5kZSBvYmpla3QiCisKKyMgVmFndWUgb3JpZ2luYWwsIG5vdCBuZXR3b3JraW5nLXJlbGF0ZWQsIGJ1dCByYXRoZXIgcmVsYXRlZCB0byB0aGUgYWN0dWFsCisjIG9iamVjdHMgaW4gdGhlIGRhdGFiYXNlLgorIzogYnVpbHRpbi9mc2NrLmM6NzgyCiBtc2dpZCAiY2hlY2sgb25seSBjb25uZWN0aXZpdHkiCiBtc2dzdHIgImtvbnRyb2xsZXJhIGVuZGFzdCBrb25uZWt0aXZpdGV0IgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDcKKyM6IGJ1aWx0aW4vZnNjay5jOjc4MwogbXNnaWQgImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIKIG1zZ3N0ciAiYWt0aXZlcmEgc3RyaWt0YXJlIGtvbnRyb2xsIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDkKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NQogbXNnaWQgIndyaXRlIGRhbmdsaW5nIG9iamVjdHMgaW4gLmdpdC9sb3N0LWZvdW5kIgogbXNnc3RyICJza3JpdiBkaW5nbGFuZGUgb2JqZWt0IGkgLmdpdC9sb3N0LWZvdW5kIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MTAgYnVpbHRpbi9wcnVuZS5jOjExMAorIzogYnVpbHRpbi9mc2NrLmM6Nzg2IGJ1aWx0aW4vcHJ1bmUuYzoxMzIKIG1zZ2lkICJzaG93IHByb2dyZXNzIgogbXNnc3RyICJ2aXNhIGbDtnJsb3BwIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MTEKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NwogbXNnaWQgInNob3cgdmVyYm9zZSBuYW1lcyBmb3IgcmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgInZpc2Egb3JkcmlrYSBuYW1uIGbDtnIgbsOlYmFyYSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjc3NgorIzogYnVpbHRpbi9mc2NrLmM6ODQ2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNQogbXNnaWQgIkNoZWNraW5nIG9iamVjdHMiCiBtc2dzdHIgIktvbnRyb2xsZXJhciBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozNAorIzogYnVpbHRpbi9mc2NrLmM6ODc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgbWlzc2luZyIKK21zZ3N0ciAiJXM6IG9iamVrdCBzYWtuYXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHBhcmFtZXRlcjogZXhwZWN0ZWQgc2hhMSwgZ290ICclcyciCittc2dzdHIgIm9naWx0aWcgcGFyYW1ldGVyOiBmw7ZydsOkbnRhZGUgc2hhMSwgZmljayBcIiVzXCIiCisKKyM6IGJ1aWx0aW4vZ2MuYzozNQogbXNnaWQgImdpdCBnYyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGdjIFs8ZmxhZ2dvcj5dIgogCkBAIC0xMTIwOCwxNyArMTM5MDMsMjIgQEAKIG1zZ2lkICJGYWlsZWQgdG8gZnN0YXQgJXM6ICVzIgogbXNnc3RyICJNaXNzbHlja2FkZXMgdGEgc3RhdHVzIChmc3RhdCkgcMOlICVzOiAlcyIKIAotIzogYnVpbHRpbi9nYy5jOjQ2MSBidWlsdGluL2luaXQtZGIuYzo1NQorIzogYnVpbHRpbi9nYy5jOjEyNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJyVzJyB2YWx1ZSAnJXMnIgorbXNnc3RyICJtaXNzbHlja2FkZXMgdG9sa2EgXCIlc1wiIHbDpHJkZSBcIiVzXCIiCisKKyM6IGJ1aWx0aW4vZ2MuYzo0NzUgYnVpbHRpbi9pbml0LWRiLmM6NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAia2FuIGludGUgdGEgc3RhdHVzIHDDpSBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0NzAgYnVpbHRpbi9ub3Rlcy5jOjI0MCBidWlsdGluL3RhZy5jOjUxMAorIzogYnVpbHRpbi9nYy5jOjQ4NCBidWlsdGluL25vdGVzLmM6MjQwIGJ1aWx0aW4vdGFnLmM6NTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgXCIlc1wiIgogCi0jOiBidWlsdGluL2djLmM6NDc3CisjOiBidWlsdGluL2djLmM6NDkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbGFzdCBnYyBydW4gcmVwb3J0ZWQgdGhlIGZvbGxvd2luZy4gUGxlYXNlIGNvcnJlY3QgdGhlIHJvb3QgY2F1c2VcbiIKQEAgLTExMjMzLDUyICsxMzkzMyw1MiBAQAogIlxuIgogIiVzIgogCi0jOiBidWlsdGluL2djLmM6NTE5CisjOiBidWlsdGluL2djLmM6NTM5CiBtc2dpZCAicHJ1bmUgdW5yZWZlcmVuY2VkIG9iamVjdHMiCiBtc2dzdHIgInJlbnNhIGVqIHJlZmVyZXJhZGUgb2JqZWt0IgogCi0jOiBidWlsdGluL2djLmM6NTIxCisjOiBidWlsdGluL2djLmM6NTQxCiBtc2dpZCAiYmUgbW9yZSB0aG9yb3VnaCAoaW5jcmVhc2VkIHJ1bnRpbWUpIgogbXNnc3RyICJ2YXIgbWVyIGdydW5kbGlnICjDtmthciBrw7ZydGlkZW4pIgogCi0jOiBidWlsdGluL2djLmM6NTIyCisjOiBidWlsdGluL2djLmM6NTQyCiBtc2dpZCAiZW5hYmxlIGF1dG8tZ2MgbW9kZSIKIG1zZ3N0ciAiYWt0aXZlcmEgYXV0by1nYy1sw6RnZSIKIAotIzogYnVpbHRpbi9nYy5jOjUyNQorIzogYnVpbHRpbi9nYy5jOjU0NQogbXNnaWQgImZvcmNlIHJ1bm5pbmcgZ2MgZXZlbiBpZiB0aGVyZSBtYXkgYmUgYW5vdGhlciBnYyBydW5uaW5nIgogbXNnc3RyICJ0dmluZ2EgZ2Mta8O2cm5pbmcgw6R2ZW4gb20gZW4gYW5uYW4gZ2Mga2Fuc2tlIGvDtnJzIgogCi0jOiBidWlsdGluL2djLmM6NTI4CisjOiBidWlsdGluL2djLmM6NTQ4CiBtc2dpZCAicmVwYWNrIGFsbCBvdGhlciBwYWNrcyBleGNlcHQgdGhlIGxhcmdlc3QgcGFjayIKIG1zZ3N0ciAicGFja2Egb20gYWxsYSBwYWtldCBmw7ZydXRvbSBkZXQgc3TDtnJzdGEgcGFrZXRldCIKIAotIzogYnVpbHRpbi9nYy5jOjU0NQorIzogYnVpbHRpbi9nYy5jOjU2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2MubG9nZXhwaXJ5IHZhbHVlICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIHbDpHJkZXQgJXMgZsO2ciBnYy5sb2dleHBpcnkiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1NTYKKyM6IGJ1aWx0aW4vZ2MuYzo1NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBydW5lIGV4cGlyeSB2YWx1ZSAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSB2w6RyZGV0ICVzIGbDtnIgcHJ1bmUgZXhwaXJ5IgogCi0jOiBidWlsdGluL2djLmM6NTc2CisjOiBidWlsdGluL2djLmM6NTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBpbiBiYWNrZ3JvdW5kIGZvciBvcHRpbXVtIHBlcmZvcm1hbmNlLlxuIgogbXNnc3RyICJQYWNrYXIgYXJraXZldCBhdXRvbWF0aXNrdCBpIGJha2dydW5kZW4gZsO2ciBvcHRpbWFsIHByZXN0YW5kYS5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjU3OAorIzogYnVpbHRpbi9nYy5jOjU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCiBtc2dzdHIgIlBhY2thciBhcmtpdmV0IGF1dG9tYXRpc2t0IGbDtnIgb3B0aW1hbCBwcmVzdGFuZGEuXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1NzkKKyM6IGJ1aWx0aW4vZ2MuYzo1OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VlIFwiZ2l0IGhlbHAgZ2NcIiBmb3IgbWFudWFsIGhvdXNla2VlcGluZy5cbiIKIG1zZ3N0ciAiU2UgXCJnaXQgaGVscCBnY1wiIGbDtnIgbWFudWVsbCBodXNow6VsbG5pbmcuXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo2MTkKKyM6IGJ1aWx0aW4vZ2MuYzo2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImdjIGlzIGFscmVhZHkgcnVubmluZyBvbiBtYWNoaW5lICclcycgcGlkICU8UFJJdU1BWD4gKHVzZSAtLWZvcmNlIGlmIG5vdCkiCkBAIC0xMTI4NiwyMyArMTM5ODYsMjMgQEAKICJnYyBrw7ZycyByZWRhbiBww6UgbWFza2luZW4gXCIlc1wiIHBpZCAlPFBSSXVNQVg+IChhbnbDpG5kIC0tZm9yY2Ugb20gc8OlIGludGUgIgogIsOkciBmYWxsZXQpIgogCi0jOiBidWlsdGluL2djLmM6NjcwCisjOiBidWlsdGluL2djLmM6Njk0CiBtc2dpZCAiIgogIlRoZXJlIGFyZSB0b28gbWFueSB1bnJlYWNoYWJsZSBsb29zZSBvYmplY3RzOyBydW4gJ2dpdCBwcnVuZScgdG8gcmVtb3ZlIHRoZW0uIgogbXNnc3RyICIiCiAiRGV0IGZpbm5zIGbDtnIgbcOlbmdhIG9uw6ViYXJhIGzDtnNhIG9iamVrdDsga8O2ciBcImdpdCBwcnVuZVwiIGbDtnIgYXR0IHRhIGJvcnQgIgogImRlbS4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI4CisjOiBidWlsdGluL2dyZXAuYzoyOQogbXNnaWQgImdpdCBncmVwIFs8b3B0aW9ucz5dIFstZV0gPHBhdHRlcm4+IFs8cmV2Pi4uLl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IGdyZXAgWzxmbGFnZ29yPl0gWy1lXSA8bcO2bnN0ZXI+IFs8cmV2Pi4uLl0gW1stLV0gPHPDtmt2w6RnPi4uLl0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjIyNAorIzogYnVpbHRpbi9ncmVwLmM6MjI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyZXA6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAiZ3JlcDogbWlzc2x5Y2thZGVzIHNrYXBhIHRyw6VkLiAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6Mjc4CisjOiBidWlsdGluL2dyZXAuYzoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSBmb3IgJXMiCiBtc2dzdHIgImZlbGFrdGlndCBhbnRhbCB0csOlZGFyIGFuZ2l2ZXQgKCVkKSBmw7ZyICVzIgpAQCAtMTEzMTEsMjYyICsxNDAxMSwyNjIgQEAKICMuIHZhcmlhYmxlIGZvciB0d2Vha2luZyB0aHJlYWRzLCBjdXJyZW50bHkKICMuIGdyZXAudGhyZWFkcwogIy4KLSM6IGJ1aWx0aW4vZ3JlcC5jOjI4NiBidWlsdGluL2luZGV4LXBhY2suYzoxNTA2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTcKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcxOQorIzogYnVpbHRpbi9ncmVwLmM6Mjg3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MzQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCiBtc2dzdHIgInRyw6Vkc3TDtmQgc2FrbmFzLCBpZ25vcmVyYXIgJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ1OCBidWlsdGluL2dyZXAuYzo1NzkgYnVpbHRpbi9ncmVwLmM6NjIwCisjOiBidWlsdGluL2dyZXAuYzo0NjcgYnVpbHRpbi9ncmVwLmM6NTkyIGJ1aWx0aW4vZ3JlcC5jOjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCB0cmVlICglcykiCiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgdHLDpGQgKCVzKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6NjM1CisjOiBidWlsdGluL2dyZXAuYzo2NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBcImdyZXBcIiBmcsOlbiBvYmpla3QgYXYgdHlwZW4gJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjcwMQorIzogYnVpbHRpbi9ncmVwLmM6NzE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN3aXRjaCBgJWMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCiBtc2dzdHIgImZsYWdnYW4gXCIlY1wiIGFudGFyIGV0dCBudW1lcmlza3QgdsOkcmRlIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxNQogbXNnaWQgInNlYXJjaCBpbiBpbmRleCBpbnN0ZWFkIG9mIGluIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgInPDtmsgaSBpbmRleGV0IGlzdMOkbGxldCBmw7ZyIGkgYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxNwogbXNnaWQgImZpbmQgaW4gY29udGVudHMgbm90IG1hbmFnZWQgYnkgZ2l0IgogbXNnc3RyICJzw7ZrIGkgaW5uZWjDpWxsIHNvbSBpbnRlIGhhbnRlcmFzIGF2IGdpdCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODA0CisjOiBidWlsdGluL2dyZXAuYzo4MTkKIG1zZ2lkICJzZWFyY2ggaW4gYm90aCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgInPDtmsgaSBiw6VkZSBzcMOlcmFkZSBvY2ggb3Nww6VyYWRlIGZpbGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyMQogbXNnaWQgImlnbm9yZSBmaWxlcyBzcGVjaWZpZWQgdmlhICcuZ2l0aWdub3JlJyIKIG1zZ3N0ciAiaWdub3JlcmEgZmlsZXIgYW5naXZuYSBpIFwiLmdpdGlnbm9yZVwiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyMwogbXNnaWQgInJlY3Vyc2l2ZWx5IHNlYXJjaCBpbiBlYWNoIHN1Ym1vZHVsZSIKIG1zZ3N0ciAic8O2ayB2YXJqZSB1bmRlcm1vZHVsIHJla3Vyc2l2dCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODExCisjOiBidWlsdGluL2dyZXAuYzo4MjYKIG1zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAidmlzYSByYWRlciBzb20gaW50ZSB0csOkZmZhcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODEzCisjOiBidWlsdGluL2dyZXAuYzo4MjgKIG1zZ2lkICJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIgogbXNnc3RyICJza2lmdGzDpGdlc29rw6Ruc2xpZyBzw7ZrbmluZyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODE1CisjOiBidWlsdGluL2dyZXAuYzo4MzAKIG1zZ2lkICJtYXRjaCBwYXR0ZXJucyBvbmx5IGF0IHdvcmQgYm91bmRhcmllcyIKIG1zZ3N0ciAibWF0Y2hhIGVuZGFzdCBtw7Zuc3RlciB2aWQgb3JkZ3LDpG5zZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxNworIzogYnVpbHRpbi9ncmVwLmM6ODMyCiBtc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgYXMgdGV4dCIKIG1zZ3N0ciAiaGFudGVyYSBiaW7DpHJmaWxlciBzb20gdGV4dCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODE5CisjOiBidWlsdGluL2dyZXAuYzo4MzQKIG1zZ2lkICJkb24ndCBtYXRjaCBwYXR0ZXJucyBpbiBiaW5hcnkgZmlsZXMiCiBtc2dzdHIgInRyw6RmZmEgaW50ZSBtw7Zuc3RlciBpIGJpbsOkcmZpbGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MjIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzNwogbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKIG1zZ3N0ciAiaGFudGVyYSBiaW7DpHJmaWxlciBtZWQgdGV4dGNvbnYtZmlsdGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MjQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzOQogbXNnaWQgInNlYXJjaCBpbiBzdWJkaXJlY3RvcmllcyAoZGVmYXVsdCkiCiBtc2dzdHIgInPDtmsgaSB1bmRlcmthdGFsb2dlciAoc3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0MQogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAiZ8OlIHNvbSBtZXN0IG5lZCA8ZGp1cD4gbml2w6VlciIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODMwCisjOiBidWlsdGluL2dyZXAuYzo4NDUKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAiYW52w6RuZCB1dMO2a2FkZSBQT1NJWC1yZWd1bGrDpHJhIHV0dHJ5Y2siCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgzMworIzogYnVpbHRpbi9ncmVwLmM6ODQ4CiBtc2dpZCAidXNlIGJhc2ljIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMgKGRlZmF1bHQpIgogbXNnc3RyICJhbnbDpG5kIGdydW5kbMOkZ2dhbmRlIFBPU0lYLXJlZ3VsasOkcmEgdXR0cnljayAoc3RhbmRhcmQpIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MzYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1MQogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICJ0b2xrYSBtw7Zuc3RlciBzb20gZml4ZXJhZGUgc3Ryw6RuZ2FyIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MzkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1NAogbXNnaWQgInVzZSBQZXJsLWNvbXBhdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAiYW52w6RuZCBQZXJsa29tcGF0aWJsYSByZWd1bGrDpHJhIHV0dHJ5Y2siCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0MgorIzogYnVpbHRpbi9ncmVwLmM6ODU3CiBtc2dpZCAic2hvdyBsaW5lIG51bWJlcnMiCiBtc2dzdHIgInZpc2EgcmFkbnVtbWVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1OAogbXNnaWQgInNob3cgY29sdW1uIG51bWJlciBvZiBmaXJzdCBtYXRjaCIKIG1zZ3N0ciAidmlzYSBrb2x1bW5udW1tZXIgZsO2ciBmw7Zyc3RhIHRyw6RmZiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ0CisjOiBidWlsdGluL2dyZXAuYzo4NTkKIG1zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKIG1zZ3N0ciAidmlzYSBpbnRlIGZpbG5hbW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0NQorIzogYnVpbHRpbi9ncmVwLmM6ODYwCiBtc2dpZCAic2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgInZpc2EgZmlsbmFtbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ3CisjOiBidWlsdGluL2dyZXAuYzo4NjIKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJ2aXNhIGZpbG5hbW4gcmVsYXRpdmEgdGlsbCB0b3Bwa2F0YWxvZ2VuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2NAogbXNnaWQgInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgZmlsbmFtbiBpc3TDpGxsZXQgZsO2ciB0csOkZmZhZGUgcmFkZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg1MQorIzogYnVpbHRpbi9ncmVwLmM6ODY2CiBtc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCiBtc2dzdHIgInN5bm9ueW0gZsO2ciAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODU0CisjOiBidWlsdGluL2dyZXAuYzo4NjkKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgInZpc2EgZW5kYXN0IG5hbW4gcMOlIGZpbGVyIHV0YW4gdHLDpGZmYXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg1NgorIzogYnVpbHRpbi9ncmVwLmM6ODcxCiBtc2dpZCAicHJpbnQgTlVMIGFmdGVyIGZpbGVuYW1lcyIKIG1zZ3N0ciAic2tyaXYgTlVMIGVmdGVyIGZpbG5hbW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg1OQorIzogYnVpbHRpbi9ncmVwLmM6ODc0CiBtc2dpZCAic2hvdyBvbmx5IG1hdGNoaW5nIHBhcnRzIG9mIGEgbGluZSIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgdHLDpGZmYWRlIGRlbGFyIGF2IHJhZGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NgogbXNnaWQgInNob3cgdGhlIG51bWJlciBvZiBtYXRjaGVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgInZpc2EgYW50YWwgdHLDpGZmYXIgaXN0w6RsbGV0IGbDtnIgdHLDpGZmYWRlIHJhZGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NwogbXNnaWQgImhpZ2hsaWdodCBtYXRjaGVzIgogbXNnc3RyICJsanVzbWFya2VyYSB0csOkZmZhciIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODY0CisjOiBidWlsdGluL2dyZXAuYzo4NzkKIG1zZ2lkICJwcmludCBlbXB0eSBsaW5lIGJldHdlZW4gbWF0Y2hlcyBmcm9tIGRpZmZlcmVudCBmaWxlcyIKIG1zZ3N0ciAic2tyaXYgdG9tbWEgcmFkZXIgbWVsbGFuIHRyw6RmZmFyIGZyw6VuIG9saWthIGZpbGVyIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg4MQogbXNnaWQgInNob3cgZmlsZW5hbWUgb25seSBvbmNlIGFib3ZlIG1hdGNoZXMgZnJvbSBzYW1lIGZpbGUiCiBtc2dzdHIgInZpc2EgZmlsbmFtbiBlbmRhc3QgZW4gZ8Olbmcgb3ZhbmbDtnIgdHLDpGZmYXIgZnLDpW4gc2FtbWEgZmlsIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg4NAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICJ2aXNhIDxuPiByYWRlciBzYW1tYW5oYW5nIGbDtnJlIG9jaCBlZnRlciB0csOkZmZhciIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODcyCisjOiBidWlsdGluL2dyZXAuYzo4ODcKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICJ2aXNhIDxuPiByYWRlciBzYW1tYW5oYW5nIGbDtnJlIHRyw6RmZmFyIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NzQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg4OQogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAidmlzYSA8bj4gcmFkZXIgc2FtbWFuaGFuZyBlZnRlciB0csOkZmZhciIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc2CisjOiBidWlsdGluL2dyZXAuYzo4OTEKIG1zZ2lkICJ1c2UgPG4+IHdvcmtlciB0aHJlYWRzIgogbXNnc3RyICJhbnbDpG5kIDxuPiBqb2JidHLDpWRhciIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc3CisjOiBidWlsdGluL2dyZXAuYzo4OTIKIG1zZ2lkICJzaG9ydGN1dCBmb3IgLUMgTlVNIgogbXNnc3RyICJnZW52w6RnIGbDtnIgLUMgTlVNIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5NQogbXNnaWQgInNob3cgYSBsaW5lIHdpdGggdGhlIGZ1bmN0aW9uIG5hbWUgYmVmb3JlIG1hdGNoZXMiCiBtc2dzdHIgInZpc2EgZW4gcmFkIG1lZCBmdW5rdGlvbnNuYW1uZXQgZsO2cmUgdHLDpGZmZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4MgorIzogYnVpbHRpbi9ncmVwLmM6ODk3CiBtc2dpZCAic2hvdyB0aGUgc3Vycm91bmRpbmcgZnVuY3Rpb24iCiBtc2dzdHIgInZpc2EgZGVuIG9ta3JpbmdsaWdnYW5kZSBmdW5rdGlvbmVuIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMAogbXNnaWQgInJlYWQgcGF0dGVybnMgZnJvbSBmaWxlIgogbXNnc3RyICJsw6RzIG3Dtm5zdGVyIGZyw6VuIGZpbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg3CisjOiBidWlsdGluL2dyZXAuYzo5MDIKIG1zZ2lkICJtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgInRyw6RmZmEgPG3Dtm5zdGVyPiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg5CisjOiBidWlsdGluL2dyZXAuYzo5MDQKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICJrb21iaW5lcmEgbcO2bnN0ZXIgc29tIGFuZ2VzIG1lZCAtZSIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTAxCisjOiBidWlsdGluL2dyZXAuYzo5MTYKIG1zZ2lkICJpbmRpY2F0ZSBoaXQgd2l0aCBleGl0IHN0YXR1cyB3aXRob3V0IG91dHB1dCIKIG1zZ3N0ciAiYW5nZSB0csOkZmYgbWVkIHNsdXRzdGF0dXNrb2QgdXRhbiB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwMworIzogYnVpbHRpbi9ncmVwLmM6OTE4CiBtc2dpZCAic2hvdyBvbmx5IG1hdGNoZXMgZnJvbSBmaWxlcyB0aGF0IG1hdGNoIGFsbCBwYXR0ZXJucyIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgdHLDpGZmYXIgZnLDpW4gZmlsZXIgc29tIHRyw6RmZmFyIGFsbGEgbcO2bnN0ZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwNQorIzogYnVpbHRpbi9ncmVwLmM6OTIwCiBtc2dpZCAic2hvdyBwYXJzZSB0cmVlIGZvciBncmVwIGV4cHJlc3Npb24iCiBtc2dzdHIgInZpc2EgYW5hbHlzdHLDpGQgZsO2ciBncmVwLXV0dHJ5Y2siCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQorIzogYnVpbHRpbi9ncmVwLmM6OTI0CiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgImJsw6RkZHJhcmUiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQorIzogYnVpbHRpbi9ncmVwLmM6OTI0CiBtc2dpZCAic2hvdyBtYXRjaGluZyBmaWxlcyBpbiB0aGUgcGFnZXIiCiBtc2dzdHIgInZpc2EgdHLDpGZmYWRlIGZpbGVyIGkgZmlsYmzDpGRkcmFyZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkxMworIzogYnVpbHRpbi9ncmVwLmM6OTI4CiBtc2dpZCAiYWxsb3cgY2FsbGluZyBvZiBncmVwKDEpIChpZ25vcmVkIGJ5IHRoaXMgYnVpbGQpIgogbXNnc3RyICJ0aWxsw6V0IGFucm9wYSBncmVwKDEpIChpZ25vcmVyYXMgYXYgZGV0dGEgYnlnZ2UpIgogCi0jOiBidWlsdGluL2dyZXAuYzo5NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjk5MgogbXNnaWQgIm5vIHBhdHRlcm4gZ2l2ZW4iCiBtc2dzdHIgImluZ2V0IG3Dtm5zdGVyIGFuZ2F2cyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxMworIzogYnVpbHRpbi9ncmVwLmM6MTAyOAogbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzIgogbXNnc3RyICItLW5vLWluZGV4IG9jaCAtLXVudHJhY2tlZCBrYW4gaW50ZSBhbnbDpG5kYXMgbWVkIHJldmlzaW9uZXIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgcmV2aXNpb246ICVzIgogbXNnc3RyICJrYW4gaW50ZSBzbMOlIHVwcCByZXZpc2lvbjogJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNjcKIG1zZ2lkICJpbnZhbGlkIG9wdGlvbiBjb21iaW5hdGlvbiwgaWdub3JpbmcgLS10aHJlYWRzIgogbXNnc3RyICJvZ2lsdGlnIGtvbWJpbmF0aW9uIGF2IGZsYWdnb3IsIGlnbm9yZXJhciAtLXRocmVhZHMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzk3CisjOiBidWlsdGluL2dyZXAuYzoxMDcwIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwMAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgLS10aHJlYWRzIgogbXNnc3RyICJ0csOlZHN0w7ZkIHNha25hcywgaWdub3JlcmFyIC0tdGhyZWFkcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1NyBidWlsdGluL2luZGV4LXBhY2suYzoxNTAzIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcxNgorIzogYnVpbHRpbi9ncmVwLmM6MTA3MyBidWlsdGluL2luZGV4LXBhY2suYzoxNTMxIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIgogbXNnc3RyICJmZWxha3RpZ3QgYW50YWwgdHLDpWRhciBhbmdpdmV0ICglZCkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwODAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwOTYKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBmdW5nZXJhciBlbmRhc3QgaSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExMDMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMTkKIG1zZ2lkICJvcHRpb24gbm90IHN1cHBvcnRlZCB3aXRoIC0tcmVjdXJzZS1zdWJtb2R1bGVzIgogbXNnc3RyICJmbGFnZ2FuIHN0w7ZkcyBpbnRlIG1lZCAtLXJlY3Vyc2Utc3VibW9kdWxlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTEwOQorIzogYnVpbHRpbi9ncmVwLmM6MTEyNQogbXNnaWQgIi0tY2FjaGVkIG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggLS1uby1pbmRleCIKIG1zZ3N0ciAiLS1jYWNoZWQgb2NoIC0tdW50cmFja2VkIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgLS1uby1pbmRleCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTExNQorIzogYnVpbHRpbi9ncmVwLmM6MTEzMQogbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzIgogbXNnc3RyICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCBrYW4gaW50ZSBhbnbDpG5kYXMgZsO2ciBzcMOlcmF0IGlubmVow6VsbCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTEyMworIzogYnVpbHRpbi9ncmVwLmM6MTEzOQogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbiIKIG1zZ3N0ciAiYsOlZGUgLS1jYWNoZWQgb2NoIHRyw6RkIGFuZ2F2cyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjg0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODUKIG1zZ2lkICIiCiAiZ2l0IGhhc2gtb2JqZWN0IFstdCA8dHlwZT5dIFstd10gWy0tcGF0aD08ZmlsZT4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCiAiWy0tXSA8ZmlsZT4uLi4iCkBAIC0xMTU3NCwzNyArMTQyNzQsMzMgQEAKICJnaXQgaGFzaC1vYmplY3QgWy10IDx0eXA+XSBbLXddIFstLXBhdGg9PGZpbD4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSBbLS1dICIKICI8ZmlsPi4uLiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjg1CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODYKIG1zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiBtc2dzdHIgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk3Ci1tc2dpZCAidHlwZSIKLW1zZ3N0ciAidHlwIgotCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTcKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAogbXNnaWQgIm9iamVjdCB0eXBlIgogbXNnc3RyICJvYmpla3R0eXAiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CiBtc2dpZCAid3JpdGUgdGhlIG9iamVjdCBpbnRvIHRoZSBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgInNrcml2IG9iamVrdGV0IHRpbGwgb2JqZWt0ZGF0YWJhc2VuIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCiBtc2dpZCAicmVhZCB0aGUgb2JqZWN0IGZyb20gc3RkaW4iCiBtc2dzdHIgImzDpHMgb2JqZWt0ZXQgZnLDpW4gc3RhbmRhcmQgaW4iCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDMKIG1zZ2lkICJzdG9yZSBmaWxlIGFzIGlzIHdpdGhvdXQgZmlsdGVycyIKIG1zZ3N0ciAic3BhcmEgZmlsZW4gc29tIGRlbiDDpHIgdXRhbiBmaWxlciIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwNAogbXNnaWQgIiIKICJqdXN0IGhhc2ggYW55IHJhbmRvbSBnYXJiYWdlIHRvIGNyZWF0ZSBjb3JydXB0IG9iamVjdHMgZm9yIGRlYnVnZ2luZyBHaXQiCiBtc2dzdHIgIiIKICJoYXNoYSBzbHVtcG3DpHNzaWd0IHNrcsOkcCBmw7ZyIGF0dCBza2FwYSBrb3JydXB0YSBvYmpla3QgZsO2ciBmZWxzw7ZrbmluZyBhdiBHaXQiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDQKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDUKIG1zZ2lkICJwcm9jZXNzIGZpbGUgYXMgaXQgd2VyZSBmcm9tIHRoaXMgcGF0aCIKIG1zZ3N0ciAiaGFudGVyYSBmaWxlbiBzb20gb20gZGVuIGtvbSBmcsOlbiBzw7ZrdsOkZ2VuIgogCkBAIC0xMTY0NCwzMCArMTQzNDAsMzAgQEAKIG1zZ2lkICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFs8Y29tbWFuZD5dIgogbXNnc3RyICJnaXQgaGVscCBbLS1hbGxdIFstLWd1aWRlc10gWy0tbWFuIHwgLS13ZWIgfCAtLWluZm9dIFs8a29tbWFuZG8+XSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NzMKKyM6IGJ1aWx0aW4vaGVscC5jOjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWxwIGZvcm1hdCAnJXMnIgotbXNnc3RyICJva8OkbnQgaGrDpGxwZm9ybWF0OiDigJ0lc+KAnSIKK21zZ3N0ciAib2vDpG50IGhqw6RscGZvcm1hdDogXCIlc1wiIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMDAKKyM6IGJ1aWx0aW4vaGVscC5jOjEwNAogbXNnaWQgIkZhaWxlZCB0byBzdGFydCBlbWFjc2NsaWVudC4iCiBtc2dzdHIgIk1pc3NseWNrYWRlcyBzdGFydGEgZW1hY3NjbGllbnQuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMTMKKyM6IGJ1aWx0aW4vaGVscC5jOjExNwogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbWFjc2NsaWVudCB2ZXJzaW9uLiIKIG1zZ3N0ciAiS3VuZGUgaW50ZSB0b2xrYSBlbWFjc2NsaWVudC12ZXJzaW9uLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTIxCisjOiBidWlsdGluL2hlbHAuYzoxMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1hY3NjbGllbnQgdmVyc2lvbiAnJWQnIHRvbyBvbGQgKDwgMjIpLiIKIG1zZ3N0ciAiZW1hY3NjbGllbnQgdmVyc2lvbiBcIiVkXCIgZsO2ciBnYW1tYWwgKDwgMjIpLiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTM5IGJ1aWx0aW4vaGVscC5jOjE2MSBidWlsdGluL2hlbHAuYzoxNzEgYnVpbHRpbi9oZWxwLmM6MTc5CisjOiBidWlsdGluL2hlbHAuYzoxNDMgYnVpbHRpbi9oZWxwLmM6MTY1IGJ1aWx0aW4vaGVscC5jOjE3NSBidWlsdGluL2hlbHAuYzoxODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGV4ZWMgJyVzJyIKIG1zZ3N0ciAiZXhlYyBtaXNzbHlja2FkZXMgZsO2ciBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIxNworIzogYnVpbHRpbi9oZWxwLmM6MjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBwYXRoIGZvciB1bnN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtMTE2NzYsNyArMTQzNzIsNyBAQAogIlwiJXNcIjogc8O2a3bDpGcgZsO2ciBtYW4tdmlzYXJlIHNvbSBlaiBzdMO2ZHMuXG4iCiAiQW52w6RuZCBcIm1hbi48dmVya3R5Zz4uY21kXCIgaXN0w6RsbGV0LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjI5CisjOiBidWlsdGluL2hlbHAuYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IGNtZCBmb3Igc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCkBAIC0xMTY4NSwzMjcgKzE0MzgxLDMxNyBAQAogIlwiJXNcIjoga29tbWFuZG8gZsO2ciBtYW4tdmlzYXJlIHNvbSBzdMO2ZHMuXG4iCiAiQW52w6RuZCBcIm1hbi48dmVya3R5Zz4ucGF0aFwiIGlzdMOkbGxldC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM0NgorIzogYnVpbHRpbi9oZWxwLmM6MzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IHVua25vd24gbWFuIHZpZXdlci4iCiBtc2dzdHIgIlwiJXNcIjogb2vDpG5kIG1hbi12aXNhcmUuIgogCi0jOiBidWlsdGluL2hlbHAuYzozNjMKKyM6IGJ1aWx0aW4vaGVscC5jOjM2NwogbXNnaWQgIm5vIG1hbiB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAiaW5nZW4gbWFuLXZpc2FyZSBoYW50ZXJhZGUgZsO2cmZyw6VnYW4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM3MQorIzogYnVpbHRpbi9oZWxwLmM6Mzc1CiBtc2dpZCAibm8gaW5mbyB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAiaW5nZW4gaW5mby12aXNhcmUgaGFudGVyYWRlIGbDtnJmcsOlZ2FuIgogCi0jOiBidWlsdGluL2hlbHAuYzo0MzAgYnVpbHRpbi9oZWxwLmM6NDQxIGdpdC5jOjMyMgorIzogYnVpbHRpbi9oZWxwLmM6NDM0IGJ1aWx0aW4vaGVscC5jOjQ0NSBnaXQuYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbGlhc2VkIHRvICclcyciCiBtc2dzdHIgIlwiJXNcIiDDpHIgZXR0IGFsaWFzIGbDtnIgXCIlc1wiIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NDQKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0OCBnaXQuYzozNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGFsaWFzLiVzIHN0cmluZzogJXMiCiBtc2dzdHIgImZlbGFrdGlnIGFsaWFzLiVzLXN0csOkbmc6ICVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NzMgYnVpbHRpbi9oZWxwLmM6NTAzCisjOiBidWlsdGluL2hlbHAuYzo0NzcgYnVpbHRpbi9oZWxwLmM6NTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyVzIgogbXNnc3RyICJhbnbDpG5kbmluZzogJXMlcyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDg3CisjOiBidWlsdGluL2hlbHAuYzo0OTEKIG1zZ2lkICInZ2l0IGhlbHAgY29uZmlnJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiXCJnaXQgaGVscCBjb25maWdcIiBmw7ZyIG1lciBpbmZvcm1hdGlvbiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTg0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxODUKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IHR5cGUgbWlzbWF0Y2ggYXQgJXMiCiBtc2dzdHIgIm9iamVrdHR5cCBzdMOkbW1lciBpbnRlIMO2dmVyZW5zIHZpZCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGlkIG5vdCByZWNlaXZlIGV4cGVjdGVkIG9iamVjdCAlcyIKIG1zZ3N0ciAiZW1vdHRvZyBpbnRlIGRldCBmw7ZydsOkbnRhZGUgb2JqZWt0ZXQgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlczogZXhwZWN0ZWQgdHlwZSAlcywgZm91bmQgJXMiCiBtc2dzdHIgIm9iamVrdGV0ICVzOiBmw7ZydsOkbnRhZCB0eXAgJXMsIHPDpWcgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI0OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmaWxsICVkIGJ5dGUiCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBmaWxsICVkIGJ5dGVzIgogbXNnc3RyWzBdICJrYW4gaW50ZSBmeWxsYSAlZCBieXRlIgogbXNnc3RyWzFdICJrYW4gaW50ZSBmeWxsYSAlZCBieXRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OAogbXNnaWQgImVhcmx5IEVPRiIKIG1zZ3N0ciAidGlkaWd0IGZpbHNsdXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjY5CiBtc2dpZCAicmVhZCBlcnJvciBvbiBpbnB1dCIKIG1zZ3N0ciAiaW5kYXRhbMOkc2ZlbCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjcyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODEKIG1zZ2lkICJ1c2VkIG1vcmUgYnl0ZXMgdGhhbiB3ZXJlIGF2YWlsYWJsZSIKIG1zZ3N0ciAiYW52w6RuZGUgZmxlciBieXRlIMOkbiB0aWxsZ8OkbmdsaWd0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1OTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4OCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjYwNAogbXNnaWQgInBhY2sgdG9vIGxhcmdlIGZvciBjdXJyZW50IGRlZmluaXRpb24gb2Ygb2ZmX3QiCiBtc2dzdHIgInBha2V0IGbDtnIgc3RvcnQgZsO2ciBudXZhcmFuZGUgZGVmaW5pdGlvbiBhdiBvZmZfdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgyIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjkxIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo5NQogbXNnaWQgInBhY2sgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgc2l6ZSIKIG1zZ3N0ciAicGFrZXQgw6RyIHN0w7ZycmUgw6RuIHRpbGzDpXRlbiBtYXhpbWFsIHN0b3JsZWsiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5NwotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlICclcyciCi1tc2dzdHIgImt1bmRlIGludGUgc2thcGEgXCIlc1wiIgotCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBwYWNrZmlsZSAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgcGFrZXRmaWxlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzI2CiBtc2dpZCAicGFjayBzaWduYXR1cmUgbWlzbWF0Y2giCiBtc2dzdHIgInBha2V0c2lnbmF0dXIgc3TDpG1tZXIgaW50ZSDDtnZlcmVucyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayB2ZXJzaW9uICU8UFJJdTMyPiB1bnN1cHBvcnRlZCIKIG1zZ3N0ciAicGFrZXR2ZXJzaW9uICU8UFJJdTMyPiBzdMO2ZHMgZWoiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMzNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICU8UFJJdU1BWD46ICVzIgogbXNnc3RyICJwYWtldGV0IGhhciBmZWxha3RpZ3Qgb2JqZWt0IHZpZCBpbmRleCAlPFBSSXVNQVg+OiAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDU3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo0NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbGF0ZSByZXR1cm5lZCAlZCIKIG1zZ3N0ciAiaW5mbGF0ZSByZXR1cm5lcmFkZSAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTA2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MTUKIG1zZ2lkICJvZmZzZXQgdmFsdWUgb3ZlcmZsb3cgZm9yIGRlbHRhIGJhc2Ugb2JqZWN0IgogbXNnc3RyICJpbmRleHbDpHJkZXNwaWxsIGbDtnIgZGVsdGFiYXNvYmpla3QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUxNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTIzCiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgaXMgb3V0IG9mIGJvdW5kIgogbXNnc3RyICJkZWx0YWJhc2luZGV4IHV0YW5mw7ZyIGdyw6Ruc2VuIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9iamVjdCB0eXBlICVkIgogbXNnc3RyICJva8OkbmQgb2JqZWt0dHlwICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NTMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU2MgogbXNnaWQgImNhbm5vdCBwcmVhZCBwYWNrIGZpbGUiCiBtc2dzdHIgImthbiBpbnRlIHV0ZsO2cmEgXCJwcmVhZFwiIHDDpSBwYWtldGZpbCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZSBtaXNzaW5nIgogbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlcyBtaXNzaW5nIgogbXNnc3RyWzBdICJmw7ZyIHRpZGlndCBzbHV0IHDDpSBwYWtldGZpbGVuLCAlPFBSSXVNQVg+IGJ5dGUgc2FrbmFzIgogbXNnc3RyWzFdICJmw7ZyIHRpZGlndCBzbHV0IHDDpSBwYWtldGZpbGVuLCAlPFBSSXVNQVg+IGJ5dGUgc2FrbmFzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1ODEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU5MAogbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgogbXNnc3RyICJhbGx2YXJsaWcgaW5mbGF0ZS1pbmtvbnNla3ZlbnMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjcyNiBidWlsdGluL2luZGV4LXBhY2suYzo3MzIgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzU1Ci0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3OTQgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODAzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3MzUgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzQxIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc2NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODAzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJTSEExIENPTExJU0lPTiBGT1VORCBXSVRIICVzICEiCiBtc2dzdHIgIlNIQTEtS09MTElTSU9OIFVQUFTDhENLVCBWSUQgJXMgISIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzI5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTUxCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzM4IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTU3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxNyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzkyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0IGluZm8gJXMiCiBtc2dzdHIgImthbiBpbnRlIGzDpHNhIGluZm9ybWF0aW9uIG9tIGJlZmludGxpZ3Qgb2JqZWt0ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgJXMiCiBtc2dzdHIgImthbiBpbnRlIGzDpHNhIGJlZmludGxpZ3Qgb2JqZWt0ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJsb2Igb2JqZWN0ICVzIgogbXNnc3RyICJvZ2lsdGlndCBibG9iLW9iamVrdCAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzNgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODI2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0NQogbXNnaWQgImZzY2sgZXJyb3IgaW4gcGFja2VkIG9iamVjdCIKIG1zZ3N0ciAiZnNjay1mZWwgaSBwYWNrYXQgb2JqZWt0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCAlcyIKLW1zZ3N0ciAib2dpbHRpZ3QgJXMiCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhbGwgY2hpbGQgb2JqZWN0cyBvZiAlcyBhcmUgcmVhY2hhYmxlIgogbXNnc3RyICJJbnRlIGFsbGEgYmFybm9iamVrdCBmw7ZyICVzIGthbiBuw6VzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo5MTAgYnVpbHRpbi9pbmRleC1wYWNrLmM6OTQxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo5MTkgYnVpbHRpbi9pbmRleC1wYWNrLmM6OTUwCiBtc2dpZCAiZmFpbGVkIHRvIGFwcGx5IGRlbHRhIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdGlsbMOkbXBhIGRlbHRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CiBtc2dpZCAiUmVjZWl2aW5nIG9iamVjdHMiCiBtc2dzdHIgIlRhciBlbW90IG9iamVrdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTEwOQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTExOAogbXNnaWQgIkluZGV4aW5nIG9iamVjdHMiCiBtc2dzdHIgIlNrYXBhciBpbmRleCBmw7ZyIG9iamVrdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1MgogbXNnaWQgInBhY2sgaXMgY29ycnVwdGVkIChTSEExIG1pc21hdGNoKSIKIG1zZ3N0ciAicGFrZXRldCDDpHIgdHJhc2lndCAoU0hBMSBzdMOkbW1lciBpbnRlKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE0OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NwogbXNnaWQgImNhbm5vdCBmc3RhdCBwYWNrZmlsZSIKIG1zZ3N0ciAia2FuIGludGUgdXRmw7ZyYSBcImZzdGF0XCIgcMOlIHBha2V0ZmlsIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTUxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYwCiBtc2dpZCAicGFjayBoYXMganVuayBhdCB0aGUgZW5kIgogbXNnc3RyICJwYWtldCBoYXIgc2tyw6RwIGkgc2x1dGV0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTcyCiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKIG1zZ3N0ciAiZsO2cnZpcnJhZCBib3J0b20gdmFudmV0dCBpIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTg2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk1CiBtc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKIG1zZ3N0ciAiQW5hbHlzZXJhciBkZWx0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE5NiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMDUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSB0csOlZDogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNDYKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IgogbXNnc3RyICJmw7ZydmlycmFkIGJvcnRvbSB2YW52ZXR0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0cyIKIG1zZ3N0clswXSAic2x1dGbDtnJkZXMgbWVkICVkIGxva2FsdCBvYmpla3QiCiBtc2dzdHJbMV0gInNsdXRmw7ZyZGVzIG1lZCAlZCBsb2thbGEgb2JqZWt0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICJPdsOkbnRhZCBzdmFuc2NoZWNrc3VtbWEgZsO2ciAlcyAodHJhc2lnIGRpc2s/KSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhIgogbXNnaWRfcGx1cmFsICJwYWNrIGhhcyAlZCB1bnJlc29sdmVkIGRlbHRhcyIKIG1zZ3N0clswXSAicGFrZXRldCBoYXIgJWQgb2FuYWx5c2VyYXQgZGVsdGEiCiBtc2dzdHJbMV0gInBha2V0ZXQgaGFyICVkIG9hbmFseXNlcmFkZSBkZWx0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI4MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKIG1zZ3N0ciAia3VuZGUgaW50ZSB1dGbDtnJhIFwiZGVmbGF0ZVwiIHDDpSB0aWxsYWd0IG9iamVrdCAoJWQpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzYwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvY2FsIG9iamVjdCAlcyBpcyBjb3JydXB0IgogbXNnc3RyICJsb2thbHQgb2JqZWt0ICVzIMOkciB0cmFzaWd0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgogbXNnc3RyICJwYWtldGZpbG5hbW5ldCBcIiVzXCIgc2x1dGFyIGludGUgbWVkIFwiLnBhY2tcIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM5OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUgJXMgZmlsZSAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSB0YSBza3JpdmEgJXMtZmlsIFwiJXNcIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQwNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2xvc2Ugd3JpdHRlbiAlcyBmaWxlICclcyciCiBtc2dzdHIgImthbiBpbnRlIHN0w6RuZ2Egc2tyaXZlbiAlcy1maWwgXCIlc1wiIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDMxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDU5CiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCiBtc2dzdHIgImZlbCB2aWQgc3TDpG5nbmluZyBhdiBwYWtldGZpbCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3MwogbXNnaWQgImNhbm5vdCBzdG9yZSBwYWNrIGZpbGUiCiBtc2dzdHIgImthbiBpbnRlIHNwYXJhIHBha2V0ZmlsIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDUzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDgxCiBtc2dpZCAiY2Fubm90IHN0b3JlIGluZGV4IGZpbGUiCiBtc2dzdHIgImthbiBpbnRlIHNwYXJhIGluZGV4ZmlsIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDk3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUyNSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPiIKIG1zZ3N0ciAiZmVsYWt0aWcgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTY1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgZmlsZSAnJXMnIgogbXNnc3RyICJLYW4gaW50ZSDDtnBwbmEgYmVmaW50bGlnIHBha2V0ZmlsIFwiJXNcIiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGlkeCBmaWxlIGZvciAnJXMnIgogbXNnc3RyICJLYW4gaW50ZSDDtnBwbmEgYmVmaW50bGlnIHBha2V0LWlkeC1maWwgZsO2ciBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKIG1zZ3N0clswXSAiaWNrZS1kZWx0YTogJWQgb2JqZWt0IgogbXNnc3RyWzFdICJpY2tlLWRlbHRhOiAlZCBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2MjIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKIG1zZ3N0clswXSAia2VkamVsw6RuZ2QgPSAlZDogJWx1IG9iamVrdCIKIG1zZ3N0clsxXSAia2VkamVsw6RuZ2QgPSAlZDogJWx1IG9iamVrdCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY1OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY4OQogbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgogbXNnc3RyICJLYW4gaW50ZSBnw6UgdGlsbGJha2EgdGlsbCBhcmJldHNrYXRhbG9nZW4gKGN3ZCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MDggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxMQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyNyBidWlsdGluL2luZGV4LXBhY2suYzoxNzMxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzM4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgImZlbGFrdGlnICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQ3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzc3CiBtc2dpZCAiLS1maXgtdGhpbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IC0tc3RkaW4iCiBtc2dzdHIgIi0tZml4LXRoaW4ga2FuIGludGUgYW52w6RuZGFzIG1lZCAtLXN0ZGluIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQ5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzc5CiBtc2dpZCAiLS1zdGRpbiByZXF1aXJlcyBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICItLXN0ZGluIGtyw6R2ZXIgZXR0IGdpdC1hcmtpdiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc1NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc4NQogbXNnaWQgIi0tdmVyaWZ5IHdpdGggbm8gcGFja2ZpbGUgbmFtZSBnaXZlbiIKIG1zZ3N0ciAiLS12ZXJpZnkgYW5nYXZzIHV0YW4gcGFrZXRmaWxuYW1uIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxODAzIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo1ODAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4MzMgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjU4MQogbXNnaWQgImZzY2sgZXJyb3IgaW4gcGFjayBvYmplY3RzIgogbXNnc3RyICJmc2NrLWZlbCBpIHBhY2thdCBvYmpla3QiCiAKQEAgLTEyMDQ5LDQyICsxNDczNSw0MiBAQAogbXNnaWQgIm5vdCBjb3B5aW5nIHRlbXBsYXRlcyBmcm9tICclcyc6ICVzIgogbXNnc3RyICJrb3BpZXJhZGUgaW50ZSBtYWxsYXIgZnLDpW4gXCIlc1wiOiAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzI5CisjOiBidWlsdGluL2luaXQtZGIuYzozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGhhbmRsZSBmaWxlIHR5cGUgJWQiCiBtc2dzdHIgImthbiBpbnRlIGhhbnRlcmEgZmlsdHlwICVkIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozMzIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbW92ZSAlcyB0byAlcyIKIG1zZ3N0ciAia2FuIGludGUgZmx5dHRhICVzIHRpbGwgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM0OSBidWlsdGluL2luaXQtZGIuYzozNTIKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjM1NCBidWlsdGluL2luaXQtZGIuYzozNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIiVzIGZpbm5zIHJlZGFuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDUKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIHNoYXJlZCBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIk9taW5pdGllcmFkZSBiZWZpbnRsaWd0IGRlbGF0IEdpdC1hcmtpdiBpICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA2CisjOiBidWlsdGluL2luaXQtZGIuYzo0MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIk9taW5pdGllcmFkZSBiZWZpbnRsaWd0IEdpdC1hcmtpdiBpICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDEwCisjOiBidWlsdGluL2luaXQtZGIuYzo0MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAiSW5pdGllcmFkZSB0b210IGRlbGF0IEdpdC1hcmtpdiBpICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDExCisjOiBidWlsdGluL2luaXQtZGIuYzo0MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW5pdGlhbGl6ZWQgZW1wdHkgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICJJbml0aWVyYWRlIHRvbXQgR2l0LWFya2l2IGkgJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NjAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ2OAogbXNnaWQgIiIKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGVtcGxhdGUtZGlyZWN0b3J5Pl0gWy0tIgogInNoYXJlZFs9PHBlcm1pc3Npb25zPl1dIFs8ZGlyZWN0b3J5Pl0iCkBAIC0xMjA5MiwyNSArMTQ3NzgsMjUgQEAKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08bWFsbGthdGFsb2c+XSBbLS0iCiAic2hhcmVkWz08YmVow7ZyaWdoZXRlcj5dXSBbPGthdGFsb2c+XSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDgzCisjOiBidWlsdGluL2luaXQtZGIuYzo0OTEKIG1zZ2lkICJwZXJtaXNzaW9ucyIKIG1zZ3N0ciAiYmVow7ZyaWdoZXRlciIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDg0CisjOiBidWlsdGluL2luaXQtZGIuYzo0OTIKIG1zZ2lkICJzcGVjaWZ5IHRoYXQgdGhlIGdpdCByZXBvc2l0b3J5IGlzIHRvIGJlIHNoYXJlZCBhbW9uZ3N0IHNldmVyYWwgdXNlcnMiCiBtc2dzdHIgImFuZ2UgYXR0IGdpdC1hcmtpdmV0IHNrYWxsIGRlbGFzIGJsYW5kIGZsZXJhIGFudsOkbmRhcmUiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxOCBidWlsdGluL2luaXQtZGIuYzo1MjMKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUyOSBidWlsdGluL2luaXQtZGIuYzo1MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG1rZGlyICVzIgogbXNnc3RyICJrYW4gaW50ZSBza2FwYSBrYXRhbG9nZW4gKG1rZGlyKSAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTI3CisjOiBidWlsdGluL2luaXQtZGIuYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZGlyIHRvICVzIgogbXNnc3RyICJrYW4gaW50ZSBieXRhIGthdGFsb2cgKGNoZGlyKSB0aWxsICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NDgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXMgKG9yIC0td29yay10cmVlPTxkaXJlY3Rvcnk+KSBub3QgYWxsb3dlZCB3aXRob3V0IHNwZWNpZnlpbmcgJXMgKG9yIC0tZ2l0LSIKQEAgLTEyMTE5LDEyICsxNDgwNSwxMiBAQAogIiVzIChlbGxlciAtLXdvcmstdHJlZT08a2F0YWxvZz4pIGludGUgdGlsbMOldGV0IHV0YW4gYXR0IGFuZ2UgJXMgKGVsbGVyIC0tZ2l0LSIKICJkaXI9PGthdGFsb2c+KSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTc2CisjOiBidWlsdGluL2luaXQtZGIuYzo1ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGFjY2VzcyB3b3JrIHRyZWUgJyVzJyIKIG1zZ3N0ciAiS2FuIGludGUga29tbWEgw6V0IGFyYmV0c2thdGFsb2dlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTUKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTYKIG1zZ2lkICIiCiAiZ2l0IGludGVycHJldC10cmFpbGVycyBbLS1pbi1wbGFjZV0gWy0tdHJpbS1lbXB0eV0gWygtLXRyYWlsZXIgIgogIjx0b2tlbj5bKD18Oik8dmFsdWU+XSkuLi5dIFs8ZmlsZT4uLi5dIgpAQCAtMTIxMzIsNTYyICsxNDgxOCw1NjYgQEAKICJnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIFstLWluLXBsYWNlXSBbLS10cmltLWVtcHR5XSBbKC0tdHJhaWxlciAiCiAiPHN5bWJvbD5bKD18Oik8dsOkcmRlPl0pLi4uXSBbPGZpbD4uLi5dIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk0CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk1CiBtc2dpZCAiZWRpdCBmaWxlcyBpbiBwbGFjZSIKIG1zZ3N0ciAicmVkaWdlcmEgZmlsZXIgcMOlIHBsYXRzIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk1CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk2CiBtc2dpZCAidHJpbSBlbXB0eSB0cmFpbGVycyIKIG1zZ3N0ciAidGEgYm9ydCB0b21tYSBzbMOkcHJhZGVyIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk4CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk5CiBtc2dpZCAid2hlcmUgdG8gcGxhY2UgdGhlIG5ldyB0cmFpbGVyIgogbXNnc3RyICJ2YXIgbnlhIHNsw6RwcmFkZXIgc2thbGwgcGxhY2VyYXMiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAwCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMQogbXNnaWQgImFjdGlvbiBpZiB0cmFpbGVyIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJhdHQgZ8O2cmEgb20gc2zDpHByYWRlciByZWRhbiBmaW5ucyIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDIKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAzCiBtc2dpZCAiYWN0aW9uIGlmIHRyYWlsZXIgaXMgbWlzc2luZyIKIG1zZ3N0ciAiYXR0IGfDtnJhIG9tIHNsw6RwcmFkZXIgc2FrbmFzIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDUKIG1zZ2lkICJvdXRwdXQgb25seSB0aGUgdHJhaWxlcnMiCiBtc2dzdHIgInZpc2EgZW5kYXN0IHNsw6RwcmFkZXIiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA1CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNgogbXNnaWQgImRvIG5vdCBhcHBseSBjb25maWcgcnVsZXMiCiBtc2dzdHIgImFudsOkbmQgaW50ZSByZWdsZXIgZnLDpW4ga29uZmlndXJhdGlvbmVuIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNgorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDcKIG1zZ2lkICJqb2luIHdoaXRlc3BhY2UtY29udGludWVkIHZhbHVlcyIKIG1zZ3N0ciAic2zDpSBpaG9wIHbDpHJkZW4gYXZkZWxhZGUgbWVkIGJsYW5rc3RlZyIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDcKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA4CiBtc2dpZCAic2V0IHBhcnNpbmcgb3B0aW9ucyIKIG1zZ3N0ciAidsOkbGogdG9sa25pbmdzYWx0ZXJuYXRpdiIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDkKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTEwCiBtc2dpZCAiZG8gbm90IHRyZWF0IC0tLSBzcGVjaWFsbHkiCiBtc2dzdHIgInRvbGthIGludGUgLS0tIHNwZWNpZWxsdCIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMTAKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTExCiBtc2dpZCAidHJhaWxlciIKIG1zZ3N0ciAic2zDpHByYWQiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTExCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMgogbXNnaWQgInRyYWlsZXIocykgdG8gYWRkIgogbXNnc3RyICJzbMOkcHJhZChlcikgYXR0IGzDpGdnYSB0aWxsIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEyMAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMjMKIG1zZ2lkICItLXRyYWlsZXIgd2l0aCAtLW9ubHktaW5wdXQgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS10cmFpbGVyIG1lZCAtLW9ubHktaW5wdXQgZ2VyIGluZ2VuIG1lbmluZyIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMzAKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTMzCiBtc2dpZCAibm8gaW5wdXQgZmlsZSBnaXZlbiBmb3IgaW4tcGxhY2UgZWRpdGluZyIKIG1zZ3N0ciAiaW5nZW4gaW5kYXRhZmlsIGFuZ2l2ZW4gZsO2ciByZWRpZ2VyaW5nIHDDpSBwbGF0cyIKIAotIzogYnVpbHRpbi9sb2cuYzo1NAorIzogYnVpbHRpbi9sb2cuYzo1NgogbXNnaWQgImdpdCBsb2cgWzxvcHRpb25zPl0gWzxyZXZpc2lvbi1yYW5nZT5dIFtbLS1dIDxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBsb2cgWzxmbGFnZ29yPl0gWzx2ZXJzaW9uc2ludGVydmFsbD5dIFtbLS1dIDxzw7ZrdsOkZz4uLi5dIgogCi0jOiBidWlsdGluL2xvZy5jOjU1CisjOiBidWlsdGluL2xvZy5jOjU3CiBtc2dpZCAiZ2l0IHNob3cgWzxvcHRpb25zPl0gPG9iamVjdD4uLi4iCiBtc2dzdHIgImdpdCBzaG93IFs8ZmxhZ2dvcj5dIDxvYmpla3Q+Li4uIgogCi0jOiBidWlsdGluL2xvZy5jOjk5CisjOiBidWlsdGluL2xvZy5jOjExMAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIC0tZGVjb3JhdGUgb3B0aW9uOiAlcyIKIG1zZ3N0ciAib2dpbHRpZyBmbGFnZ2EgZsO2ciAtLWRlY29yYXRlOiAlcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjIKLW1zZ2lkICJzdXBwcmVzcyBkaWZmIG91dHB1dCIKLW1zZ3N0ciAidW5kZXJ0cnljayBkaWZmLXV0ZGF0YSIKLQotIzogYnVpbHRpbi9sb2cuYzoxNjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTc0CiBtc2dpZCAic2hvdyBzb3VyY2UiCiBtc2dzdHIgInZpc2Ega8OkbGxrb2QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY0CisjOiBidWlsdGluL2xvZy5jOjE3NQogbXNnaWQgIlVzZSBtYWlsIG1hcCBmaWxlIgogbXNnc3RyICJBbnbDpG5kIGUtcG9zdG1hcHBuaW5nc2ZpbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTc3CiBtc2dpZCAib25seSBkZWNvcmF0ZSByZWZzIHRoYXQgbWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICJkZWtvcmVyYSBlbmRhc3QgcmVmZXJlbnNlciBzb20gbW90c3ZhcmFyIDxtw7Zuc3Rlcj4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY4CisjOiBidWlsdGluL2xvZy5jOjE3OQogbXNnaWQgImRvIG5vdCBkZWNvcmF0ZSByZWZzIHRoYXQgbWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICJkZWtvcmVyYSBpbnRlIHJlZmVyZW5zZXIgc29tIG1vdHN2YXJhciA8bcO2bnN0ZXI+IgogCi0jOiBidWlsdGluL2xvZy5jOjE2OQorIzogYnVpbHRpbi9sb2cuYzoxODAKIG1zZ2lkICJkZWNvcmF0ZSBvcHRpb25zIgogbXNnc3RyICJkZWtvcmVyaW5nc2ZsYWdnb3IiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTcyCisjOiBidWlsdGluL2xvZy5jOjE4MwogbXNnaWQgIlByb2Nlc3MgbGluZSByYW5nZSBuLG0gaW4gZmlsZSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICJCZWhhbmRsYSByYWRpbnRlcnZhbGxldCBuLG0gaSBmaWxlbiwgbWVkIGLDtnJqYW4gcMOlIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjcwCisjOiBidWlsdGluL2xvZy5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCiBtc2dzdHIgIlNsdXR1dGRhdGE6ICVkICVzXG4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTIyCisjOiBidWlsdGluL2xvZy5jOjUzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgc2hvdyAlczogYmFkIGZpbGUiCiBtc2dzdHIgImdpdCBzaG93ICVzOiBmZWxha3RpZyBmaWwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTM3IGJ1aWx0aW4vbG9nLmM6NjMxCisjOiBidWlsdGluL2xvZy5jOjU1MCBidWlsdGluL2xvZy5jOjY0NQogIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCi1tc2dzdHIgIkt1bmRlIGludGUgbMOkc2Egb2JqZWt0ZXQgJXMiCittc2dpZCAiY291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgorbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIG9iamVrdGV0ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjY1NQorIzogYnVpbHRpbi9sb2cuYzo2NzAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biB0eXBlOiAlZCIKLW1zZ3N0ciAiT2vDpG5kIHR5cDogJWQiCittc2dpZCAidW5rbm93biB0eXBlOiAlZCIKK21zZ3N0ciAib2vDpG5kIHR5cDogJWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6Nzc2CisjOiBidWlsdGluL2xvZy5jOjgxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjb3ZlciBmcm9tIGRlc2NyaXB0aW9uIG1vZGUiCittc2dzdHIgIiVzOiBvZ2lsdGlndCBvbXNsYWcgZnLDpW4gYmVza3Jpdm5pbmdzbMOkZ2UiCisKKyM6IGJ1aWx0aW4vbG9nLmM6ODIxCiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAiZm9ybWF0LmhlYWRlcnMgdXRhbiB2w6RyZGUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6ODc3CisjOiBidWlsdGluL2xvZy5jOjkzNgogbXNnaWQgIm5hbWUgb2Ygb3V0cHV0IGRpcmVjdG9yeSBpcyB0b28gbG9uZyIKIG1zZ3N0ciAibmFtbmV0IHDDpSB1dGRhdGFrYXRhbG9nZW4gw6RyIGbDtnIgbMOlbmd0IgogCi0jOiBidWlsdGluL2xvZy5jOjg5MworIzogYnVpbHRpbi9sb2cuYzo5NTIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKLW1zZ3N0ciAiS2FuIGludGUgw7ZwcG5hIHBhdGNoZmlsZW4gJXMiCittc2dpZCAiY2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKK21zZ3N0ciAia2FuIGludGUgw7ZwcG5hIHBhdGNoZmlsZW4gJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTEwCi1tc2dpZCAiTmVlZCBleGFjdGx5IG9uZSByYW5nZS4iCi1tc2dzdHIgIkJlaMO2dmVyIHByZWNpcyBldHQgaW50ZXJ2YWxsLiIKKyM6IGJ1aWx0aW4vbG9nLmM6OTY5Cittc2dpZCAibmVlZCBleGFjdGx5IG9uZSByYW5nZSIKK21zZ3N0ciAiYmVow7Z2ZXIgcHJlY2lzIGV0dCBpbnRlcnZhbGwiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTIwCi1tc2dpZCAiTm90IGEgcmFuZ2UuIgotbXNnc3RyICJJbnRlIGV0dCBpbnRlcnZhbGwuIgorIzogYnVpbHRpbi9sb2cuYzo5NzkKK21zZ2lkICJub3QgYSByYW5nZSIKK21zZ3N0ciAiaW50ZSBldHQgaW50ZXJ2YWxsIgogCi0jOiBidWlsdGluL2xvZy5jOjEwNDMKLW1zZ2lkICJDb3ZlciBsZXR0ZXIgbmVlZHMgZW1haWwgZm9ybWF0IgotbXNnc3RyICJPbXNsYWdzYnJldmV0IGJlaMO2dmVyIGUtcG9zdGZvcm1hdCIKKyM6IGJ1aWx0aW4vbG9nLmM6MTE0MworbXNnaWQgImNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCittc2dzdHIgIm9tc2xhZ3NicmV2ZXQgYmVow7Z2ZXIgZS1wb3N0Zm9ybWF0IgogCi0jOiBidWlsdGluL2xvZy5jOjExMTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTE0OQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgY292ZXItbGV0dGVyIGZpbGUiCittc2dzdHIgIm1pc3NseWNrYWRlcyBza2FwYSBmaWwgZsO2ciBvbXNsYWdzYnJldiIKKworIzogYnVpbHRpbi9sb2cuYzoxMjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCiBtc2dzdHIgInRva2lndCBpbi1yZXBseS10bzogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTE0NgorIzogYnVpbHRpbi9sb2cuYzoxMjU1CiBtc2dpZCAiZ2l0IGZvcm1hdC1wYXRjaCBbPG9wdGlvbnM+XSBbPHNpbmNlPiB8IDxyZXZpc2lvbi1yYW5nZT5dIgogbXNnc3RyICJnaXQgZm9ybWF0LXBhdGNoIFs8ZmxhZ2dvcj5dIFs8c2VkYW4+IHwgPHJldmlzaW9uc2ludGVydmFsbD5dIgogCi0jOiBidWlsdGluL2xvZy5jOjEyMDQKLW1zZ2lkICJUd28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKLW1zZ3N0ciAiVHbDpSB1dGRhdGFrYXRhbG9nZXI/IgorIzogYnVpbHRpbi9sb2cuYzoxMzEzCittc2dpZCAidHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iCittc2dzdHIgInR2w6UgdXRkYXRha2F0YWxvZ2VyPyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzExIGJ1aWx0aW4vbG9nLmM6MjA1NCBidWlsdGluL2xvZy5jOjIwNTYgYnVpbHRpbi9sb2cuYzoyMDY4CisjOiBidWlsdGluL2xvZy5jOjE0MjQgYnVpbHRpbi9sb2cuYzoyMTk3IGJ1aWx0aW4vbG9nLmM6MjE5OSBidWlsdGluL2xvZy5jOjIyMTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biBjb21taXQgJXMiCi1tc2dzdHIgIk9rw6RuZCBpbmNoZWNrbmluZyAlcyIKK21zZ2lkICJ1bmtub3duIGNvbW1pdCAlcyIKK21zZ3N0ciAib2vDpG5kIGluY2hlY2tuaW5nICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMjEgYnVpbHRpbi9ub3Rlcy5jOjg5NCBidWlsdGluL3RhZy5jOjUyNgorIzogYnVpbHRpbi9sb2cuYzoxNDM0IGJ1aWx0aW4vcmVwbGFjZS5jOjU4IGJ1aWx0aW4vcmVwbGFjZS5jOjIwNworIzogYnVpbHRpbi9yZXBsYWNlLmM6MjEwCiAjLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgotbXNnc3RyICJLdW5kZSBpbnRlIHNsw6UgdXBwIFwiJXNcIiBzb20gZW4gZ2lsdGlnIHJlZmVyZW5zLiIKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmIgorbXNnc3RyICJtaXNzbHlja2FkZXMgc2zDpSB1cHAgXCIlc1wiIHNvbSBlbiBnaWx0aWcgcmVmZXJlbnMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTMyNgotbXNnaWQgIkNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UuIgotbXNnc3RyICJLdW5kZSBpbnRlIGhpdHRhIGV4YWt0IHNhbW1hbnNsYWduaW5nc2Jhcy4iCisjOiBidWlsdGluL2xvZy5jOjE0MzkKK21zZ2lkICJjb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlIgorbXNnc3RyICJrdW5kZSBpbnRlIGhpdHRhIGV4YWt0IHNhbW1hbnNsYWduaW5nc2JhcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzMwCisjOiBidWlsdGluL2xvZy5jOjE0NDMKIG1zZ2lkICIiCi0iRmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCisiZmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCiAicGxlYXNlIHVzZSBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIHRvIHRyYWNrIGEgcmVtb3RlIGJyYW5jaC5cbiIKLSJPciB5b3UgY291bGQgc3BlY2lmeSBiYXNlIGNvbW1pdCBieSAtLWJhc2U9PGJhc2UtY29tbWl0LWlkPiBtYW51YWxseS4iCisiT3IgeW91IGNvdWxkIHNwZWNpZnkgYmFzZSBjb21taXQgYnkgLS1iYXNlPTxiYXNlLWNvbW1pdC1pZD4gbWFudWFsbHkiCiBtc2dzdHIgIiIKLSJLdW5kZSBpbnRlIGjDpG10YSB1cHBzdHLDtm0sIG9tIGR1IHZpbGwgbGFncmEgYmFzaW5jaGVja25pbmdlbiBhdXRvbWF0aXNrdCxcbiIKKyJrdW5kZSBpbnRlIGjDpG10YSB1cHBzdHLDtm0sIG9tIGR1IHZpbGwgbGFncmEgYmFzaW5jaGVja25pbmdlbiBhdXRvbWF0aXNrdCxcbiIKICJhbnbDpG5kIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gZsO2ciBhdHQgc3DDpXJhIGVuIGZqw6RycmdyZW4uXG4iCi0iRWxsZXIgc8OlIGthbiBkdSBhbmdlIGJhc2luY2hlY2tuaW5nIG1lZCAtLWJhc2U9PGJhcy1pbmNoZWNrbmluZ3MtaWQ+ICIKLSJtYW51ZWxsdC4iCisiRWxsZXIgc8OlIGthbiBkdSBhbmdlIGJhc2luY2hlY2tuaW5nIG1lZCAtLWJhc2U9PGJhcy1pbmNoZWNrbmluZ3MtaWQ+IG1hbnVlbGx0IgogCi0jOiBidWlsdGluL2xvZy5jOjEzNTAKLW1zZ2lkICJGYWlsZWQgdG8gZmluZCBleGFjdCBtZXJnZSBiYXNlIgotbXNnc3RyICJLdW5kZSBpbnRlIGhpdHRhIGV4YWt0IHNhbW1hbnNsYWduaW5nc2JhcyIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ2MworbXNnaWQgImZhaWxlZCB0byBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCittc2dzdHIgImt1bmRlIGludGUgaGl0dGEgZXhha3Qgc2FtbWFuc2xhZ25pbmdzYmFzIgogCi0jOiBidWlsdGluL2xvZy5jOjEzNjEKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NAogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZCBiZSB0aGUgYW5jZXN0b3Igb2YgcmV2aXNpb24gbGlzdCIKIG1zZ3N0ciAiYmFzaW5jaGVja25pbmdlbiBiw7ZyIHZhcmEgZsO2cmZhZGVyIHRpbGwgcmV2aXNpb25zbGlzdGFuIgogCi0jOiBidWlsdGluL2xvZy5jOjEzNjUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3OAogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZG4ndCBiZSBpbiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICJiYXNpbmNoZWNrbmluZ2VuIGLDtnIgaW50ZSB2YXJhIGkgcmV2aXNpb25zbGlzdGFuIgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTUzMQogbXNnaWQgImNhbm5vdCBnZXQgcGF0Y2ggaWQiCiBtc2dzdHIgImthbiBpbnRlIGjDpG10YSBwYXRjaC1pZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDcwCisjOiBidWlsdGluL2xvZy5jOjE1ODMKIG1zZ2lkICJmYWlsZWQgdG8gaW5mZXIgcmFuZ2UtZGlmZiByYW5nZXMiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyByw6RrbmEgdXQgaW50ZXJ2YWxsIHJhbmdlLWRpZmYiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUxNQorIzogYnVpbHRpbi9sb2cuYzoxNjI5CiBtc2dpZCAidXNlIFtQQVRDSCBuL21dIGV2ZW4gd2l0aCBhIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAiYW52w6RuZCBbUEFUQ0ggbi9tXSDDpHZlbiBmw7ZyIGVuIGVuc2FtIHBhdGNoIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTYzMgogbXNnaWQgInVzZSBbUEFUQ0hdIGV2ZW4gd2l0aCBtdWx0aXBsZSBwYXRjaGVzIgogbXNnc3RyICJhbnbDpG5kIFtQQVRDSF0gw6R2ZW4gZsO2ciBmbGVyYSBwYXRjaGFyIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MjIKKyM6IGJ1aWx0aW4vbG9nLmM6MTYzNgogbXNnaWQgInByaW50IHBhdGNoZXMgdG8gc3RhbmRhcmQgb3V0IgogbXNnc3RyICJza3JpdiBwYXRjaGFybmEgcMOlIHN0YW5kYXJkIHV0IgogCi0jOiBidWlsdGluL2xvZy5jOjE1MjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTYzOAogbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgogbXNnc3RyICJnZW5lcmVyYSBldHQgZsO2bGplYnJldiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTI2CisjOiBidWlsdGluL2xvZy5jOjE2NDAKIG1zZ2lkICJ1c2Ugc2ltcGxlIG51bWJlciBzZXF1ZW5jZSBmb3Igb3V0cHV0IGZpbGUgbmFtZXMiCiBtc2dzdHIgImFudsOkbmQgZW5rZWwgbnVtbWVyc2VrdmVucyBmw7ZyIHV0ZGF0YWZpbG5hbW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUyNworIzogYnVpbHRpbi9sb2cuYzoxNjQxCiBtc2dpZCAic2Z4IgogbXNnc3RyICJzZngiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUyOAorIzogYnVpbHRpbi9sb2cuYzoxNjQyCiBtc2dpZCAidXNlIDxzZng+IGluc3RlYWQgb2YgJy5wYXRjaCciCiBtc2dzdHIgImFudsOkbmQgPHNmeD4gaXN0w6RsbGV0IGbDtnIgXCIucGF0Y2hcIiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMwCisjOiBidWlsdGluL2xvZy5jOjE2NDQKIG1zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgogbXNnc3RyICJiw7ZyamEgbnVtcmVyYSBwYXRjaGFyIHDDpSA8bj4gaXN0w6RsbGV0IGbDtnIgMSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMyCisjOiBidWlsdGluL2xvZy5jOjE2NDYKIG1zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCiBtc2dzdHIgIm1hcmtlcmEgc2VyaWVuIHNvbSBOOnRlIGbDtnJzw7ZrIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzQKKyM6IGJ1aWx0aW4vbG9nLmM6MTY0OAogbXNnaWQgIlVzZSBbUkZDIFBBVENIXSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgIkFudsOkbmQgIFtSRkMgUEFUQ0hdIGlzdMOkbGxldCBmw7ZyIFtQQVRDSF0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzNworIzogYnVpbHRpbi9sb2cuYzoxNjUxCittc2dpZCAiY292ZXItZnJvbS1kZXNjcmlwdGlvbi1tb2RlIgorbXNnc3RyICJjb3Zlci1mcm9tLWRlc2NyaXB0aW9uLWzDpGdlIgorCisjOiBidWlsdGluL2xvZy5jOjE2NTIKK21zZ2lkICJnZW5lcmF0ZSBwYXJ0cyBvZiBhIGNvdmVyIGxldHRlciBiYXNlZCBvbiBhIGJyYW5jaCdzIGRlc2NyaXB0aW9uIgorbXNnc3RyICJza2FwYSBkZWxhciBhdiBvbXNsYWdzYnJldmV0IGJhc2VyYXQgcMOlIGdyZW5iZXNrcml2ZWxzZW4iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY1NAogbXNnaWQgIlVzZSBbPHByZWZpeD5dIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAiQW52w6RuZCBbPHByZWZpeD5dIGlzdMOkbGxldCBmw7ZyIFtQQVRDSF0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MAorIzogYnVpbHRpbi9sb2cuYzoxNjU3CiBtc2dpZCAic3RvcmUgcmVzdWx0aW5nIGZpbGVzIGluIDxkaXI+IgogbXNnc3RyICJzcGFyYSBmaWxlcm5hIGkgPGthdGFsb2c+IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDMKKyM6IGJ1aWx0aW4vbG9nLmM6MTY2MAogbXNnaWQgImRvbid0IHN0cmlwL2FkZCBbUEFUQ0hdIgogbXNnc3RyICJ0YSBpbnRlIGJvcnQgZWxsZXIgbMOkZ2cgdGlsbCBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NDYKKyM6IGJ1aWx0aW4vbG9nLmM6MTY2MwogbXNnaWQgImRvbid0IG91dHB1dCBiaW5hcnkgZGlmZnMiCiBtc2dzdHIgInNrcml2IGludGUgYmluw6RyYSBkaWZmYXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0OAorIzogYnVpbHRpbi9sb2cuYzoxNjY1CiBtc2dpZCAib3V0cHV0IGFsbC16ZXJvIGhhc2ggaW4gRnJvbSBoZWFkZXIiCiBtc2dzdHIgImFudsOkbmQgaGFzaHbDpHJkZSBtZWQgbm9sbG9yIGkgRnJvbS1odXZ1ZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTUwCisjOiBidWlsdGluL2xvZy5jOjE2NjcKIG1zZ2lkICJkb24ndCBpbmNsdWRlIGEgcGF0Y2ggbWF0Y2hpbmcgYSBjb21taXQgdXBzdHJlYW0iCiBtc2dzdHIgInRhIGludGUgbWVkIHBhdGNoYXIgc29tIG1vdHN2YXJhciBlbiB1cHBzdHLDtm1zaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1MgorIzogYnVpbHRpbi9sb2cuYzoxNjY5CiBtc2dpZCAic2hvdyBwYXRjaCBmb3JtYXQgaW5zdGVhZCBvZiBkZWZhdWx0IChwYXRjaCArIHN0YXQpIgogbXNnc3RyICJ2aXNhIHBhdGNoZm9ybWF0IGlzdMOkbGxldCBmw7ZyIHN0YW5kYXJkIChwYXRjaCArIHN0YXQpIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTQKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3MQogbXNnaWQgIk1lc3NhZ2luZyIKIG1zZ3N0ciAiRS1wb3N0IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3MgogbXNnaWQgImhlYWRlciIKIG1zZ3N0ciAiaHV2dWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NgorIzogYnVpbHRpbi9sb2cuYzoxNjczCiBtc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBlLXBvc3RodXZ1ZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTU3IGJ1aWx0aW4vbG9nLmM6MTU1OQorIzogYnVpbHRpbi9sb2cuYzoxNjc0IGJ1aWx0aW4vbG9nLmM6MTY3NgogbXNnaWQgImVtYWlsIgogbXNnc3RyICJlcG9zdCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTU3CisjOiBidWlsdGluL2xvZy5jOjE2NzQKIG1zZ2lkICJhZGQgVG86IGhlYWRlciIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBtb3R0YWdhcmh1dnVkIChcIlRvOlwiKSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTU5CisjOiBidWlsdGluL2xvZy5jOjE2NzYKIG1zZ2lkICJhZGQgQ2M6IGhlYWRlciIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBrb3BpZWh1dnVkIChcIkNjOlwiKSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTYxCisjOiBidWlsdGluL2xvZy5jOjE2NzgKIG1zZ2lkICJpZGVudCIKIG1zZ3N0ciAiaWRlbnQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2MgorIzogYnVpbHRpbi9sb2cuYzoxNjc5CiBtc2dpZCAic2V0IEZyb20gYWRkcmVzcyB0byA8aWRlbnQ+IChvciBjb21taXR0ZXIgaWRlbnQgaWYgYWJzZW50KSIKIG1zZ3N0ciAic8OkdHQgRnLDpW4tYWRyZXNzIHRpbGwgPGlkZW50PiAoZWxsZXIgaW5jaGVja2FyZSBvbSBpZGVudCBzYWtuYXMpIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTY4MQogbXNnaWQgIm1lc3NhZ2UtaWQiCiBtc2dzdHIgIm1lZGRlbGFuZGUtaWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NQorIzogYnVpbHRpbi9sb2cuYzoxNjgyCiBtc2dpZCAibWFrZSBmaXJzdCBtYWlsIGEgcmVwbHkgdG8gPG1lc3NhZ2UtaWQ+IgogbXNnc3RyICJnw7ZyIGRldCBmw7Zyc3RhIGJyZXZldCBldHQgc3ZhciB0aWxsIDxtZWRkZWxhbmRlLWlkPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY2IGJ1aWx0aW4vbG9nLmM6MTU2OQorIzogYnVpbHRpbi9sb2cuYzoxNjgzIGJ1aWx0aW4vbG9nLmM6MTY4NgogbXNnaWQgImJvdW5kYXJ5IgogbXNnc3RyICJncsOkbnMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NworIzogYnVpbHRpbi9sb2cuYzoxNjg0CiBtc2dpZCAiYXR0YWNoIHRoZSBwYXRjaCIKIG1zZ3N0ciAiYmlmb2dhIHBhdGNoZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3MAorIzogYnVpbHRpbi9sb2cuYzoxNjg3CiBtc2dpZCAiaW5saW5lIHRoZSBwYXRjaCIKIG1zZ3N0ciAiZ8O2ciBwYXRjaGVuIGV0dCBpbmxpbmUtb2JqZWt0IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzQKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5MQogbXNnaWQgImVuYWJsZSBtZXNzYWdlIHRocmVhZGluZywgc3R5bGVzOiBzaGFsbG93LCBkZWVwIgogbXNnc3RyICJha3RpdmVyYSBicmV2dHLDpWRuaW5nLCB0eXBlcjogc2hhbGxvdywgZGVlcCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc2CisjOiBidWlsdGluL2xvZy5jOjE2OTMKIG1zZ2lkICJzaWduYXR1cmUiCiBtc2dzdHIgInNpZ25hdHVyIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5NAogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBzaWduYXR1ciIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc4CisjOiBidWlsdGluL2xvZy5jOjE2OTUKIG1zZ2lkICJiYXNlLWNvbW1pdCIKIG1zZ3N0ciAiYmFzaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3OQorIzogYnVpbHRpbi9sb2cuYzoxNjk2CiBtc2dpZCAiYWRkIHByZXJlcXVpc2l0ZSB0cmVlIGluZm8gdG8gdGhlIHBhdGNoIHNlcmllcyIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBmw7ZyaGFuZHNrcsOkdmQgdHLDpGRpbmZvIGkgcGF0Y2hzZXJpZW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU4MQorIzogYnVpbHRpbi9sb2cuYzoxNjk4CiBtc2dpZCAiYWRkIGEgc2lnbmF0dXJlIGZyb20gYSBmaWxlIgogbXNnc3RyICJsw6RnZyB0aWxsIHNpZ25hdHVyIGZyw6VuIGZpbCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTgyCisjOiBidWlsdGluL2xvZy5jOjE2OTkKIG1zZ2lkICJkb24ndCBwcmludCB0aGUgcGF0Y2ggZmlsZW5hbWVzIgogbXNnc3RyICJ2aXNhIGludGUgZmlsbmFtbiBmw7ZyIHBhdGNoYXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU4NAorIzogYnVpbHRpbi9sb2cuYzoxNzAxCiBtc2dpZCAic2hvdyBwcm9ncmVzcyB3aGlsZSBnZW5lcmF0aW5nIHBhdGNoZXMiCiBtc2dzdHIgInZpc2EgZsO2cmxvcHBzaW5kaWthdG9yIG1lZGFuIHBhdGNoYXIgc2thcGFzIgogCi0jOiBidWlsdGluL2xvZy5jOjE1ODUKLW1zZ2lkICJyZXYiCi1tc2dzdHIgInJldiIKLQotIzogYnVpbHRpbi9sb2cuYzoxNTg2CisjOiBidWlsdGluL2xvZy5jOjE3MDMKIG1zZ2lkICJzaG93IGNoYW5nZXMgYWdhaW5zdCA8cmV2PiBpbiBjb3ZlciBsZXR0ZXIgb3Igc2luZ2xlIHBhdGNoIgogbXNnc3RyICJ2aXNhIMOkbmRyaW5nYXIgbW90IDxyZXY+IGkgb21zbGFnc2JyZXYgZWxsZXIgZW5zYW0gcGF0Y2giCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU4OQorIzogYnVpbHRpbi9sb2cuYzoxNzA2CiBtc2dpZCAic2hvdyBjaGFuZ2VzIGFnYWluc3QgPHJlZnNwZWM+IGluIGNvdmVyIGxldHRlciBvciBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgInZpc2Egw6RuZHJpbmdhciBtb3QgPHJlZnNwZWM+IGkgb21zbGFnc2JyZXYgZWxsZXIgZW5zYW0gcGF0Y2giCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU5MQorIzogYnVpbHRpbi9sb2cuYzoxNzA4CiBtc2dpZCAicGVyY2VudGFnZSBieSB3aGljaCBjcmVhdGlvbiBpcyB3ZWlnaHRlZCIKIG1zZ3N0ciAicHJvY2VudCBzb20gc2thcGVsc2UgdsOkZ3MgbWVkIgogCi0jOiBidWlsdGluL2xvZy5jOjE2NjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTc5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIgogbXNnc3RyICJvZ2lsdGlnIGlkZW50LXJhZDogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY4MQorIzogYnVpbHRpbi9sb2cuYzoxODA3CiBtc2dpZCAiLW4gYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1uIG9jaCAtayBrYW4gaW50ZSBhbnbDpG5kYXMgc2FtdGlkaWd0IgogCi0jOiBidWlsdGluL2xvZy5jOjE2ODMKKyM6IGJ1aWx0aW4vbG9nLmM6MTgwOQogbXNnaWQgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi0tc3ViamVjdC1wcmVmaXgvLS1yZmMgb2NoIC1rIGthbiBpbnRlIGFudsOkbmRhcyBzYW10aWRpZ3QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY5MQorIzogYnVpbHRpbi9sb2cuYzoxODE3CiBtc2dpZCAiLS1uYW1lLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAia2FuIGludGUgYW52w6RuZGEgLS1uYW1lLW9ubHkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY5MworIzogYnVpbHRpbi9sb2cuYzoxODE5CiBtc2dpZCAiLS1uYW1lLXN0YXR1cyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJrYW4gaW50ZSBhbnbDpG5kYSAtLW5hbWUtc3RhdHVzIgogCi0jOiBidWlsdGluL2xvZy5jOjE2OTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTgyMQogbXNnaWQgIi0tY2hlY2sgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAia2FuIGludGUgYW52w6RuZGEgLS1jaGVjayIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzI3CisjOiBidWlsdGluL2xvZy5jOjE4NTQKIG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKIG1zZ3N0ciAic3RhbmRhcmQgdXQsIGVsbGVyIGthdGFsb2csIHZpbGtlbiBza2FsbCBkZXQgdmFyYT8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTcyOQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgotbXNnc3RyICJLdW5kZSBpbnRlIHNrYXBhIGthdGFsb2dlbiBcIiVzXCIiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6MTgxNgorIzogYnVpbHRpbi9sb2cuYzoxOTU4CiBtc2dpZCAiLS1pbnRlcmRpZmYgcmVxdWlyZXMgLS1jb3Zlci1sZXR0ZXIgb3Igc2luZ2xlIHBhdGNoIgogbXNnc3RyICItLWludGVyZGlmZiBrcsOkdmVyIC0tY292ZXItbGV0dGVyIGVsbGVyIGVuc2FtIHBhdGNoIgogCi0jOiBidWlsdGluL2xvZy5jOjE4MjAKKyM6IGJ1aWx0aW4vbG9nLmM6MTk2MgogbXNnaWQgIkludGVyZGlmZjoiCiBtc2dzdHIgIkludGVyZGlmZjoiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyMQorIzogYnVpbHRpbi9sb2cuYzoxOTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludGVyZGlmZiBhZ2FpbnN0IHYlZDoiCiBtc2dzdHIgIkludGVyZGlmZiBtb3QgdiVkOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODI3CisjOiBidWlsdGluL2xvZy5jOjE5NjkKIG1zZ2lkICItLWNyZWF0aW9uLWZhY3RvciByZXF1aXJlcyAtLXJhbmdlLWRpZmYiCiBtc2dzdHIgIi0tY3JlYXRpb24tZmFjdG9yIGtyw6R2ZXIgLS1yYW5nZS1kaWZmIgogCi0jOiBidWlsdGluL2xvZy5jOjE4MzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTk3MwogbXNnaWQgIi0tcmFuZ2UtZGlmZiByZXF1aXJlcyAtLWNvdmVyLWxldHRlciBvciBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIi0tcmFuZ2UtZGlmZiBrcsOkdmVyIC0tY292ZXItbGV0dGVyIGVsbGVyIGVuc2FtIHBhdGNoIgogCi0jOiBidWlsdGluL2xvZy5jOjE4MzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTk4MQogbXNnaWQgIlJhbmdlLWRpZmY6IgogbXNnc3RyICJJbnRlcnZhbGwtZGlmZjoiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTg0MAorIzogYnVpbHRpbi9sb2cuYzoxOTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJhbmdlLWRpZmYgYWdhaW5zdCB2JWQ6IgogbXNnc3RyICJJbnRlcnZhbGwtZGlmZiBtb3QgdiVkOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODUxCisjOiBidWlsdGluL2xvZy5jOjE5OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc2lnbmF0dXJlIGZpbGUgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSBzaWduYXR1cmZpbCBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTg4NworIzogYnVpbHRpbi9sb2cuYzoyMDI5CiBtc2dpZCAiR2VuZXJhdGluZyBwYXRjaGVzIgogbXNnc3RyICJTa2FwYXIgcGF0Y2hhciIKIAotIzogYnVpbHRpbi9sb2cuYzoxOTMxCi1tc2dpZCAiRmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCi1tc2dzdHIgIk1pc3NseWNrYWRlcyBza2FwYSB1dGRhdGFmaWxlciIKKyM6IGJ1aWx0aW4vbG9nLmM6MjA3MworbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgc2thcGEgdXRkYXRhZmlsZXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTk4OQorIzogYnVpbHRpbi9sb2cuYzoyMTMyCiBtc2dpZCAiZ2l0IGNoZXJyeSBbLXZdIFs8dXBzdHJlYW0+IFs8aGVhZD4gWzxsaW1pdD5dXV0iCiBtc2dzdHIgImdpdCBjaGVycnkgWy12XSBbPHVwcHN0csO2bT4gWzxodXZ1ZD4gWzxncsOkbnM+XV1dIgogCi0jOiBidWlsdGluL2xvZy5jOjIwNDMKKyM6IGJ1aWx0aW4vbG9nLmM6MjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCiBtc2dzdHIgIkt1bmRlIGludGUgaGl0dGEgZW4gc3DDpXJhZCBmasOkcnJncmVuLCBhbmdlIDx1cHBzdHLDtm0+IG1hbnVlbGx0LlxuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDcwCiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgWzxmbGFnZ29yPl0gWzxmaWw+Li4uXSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUyNgogbXNnaWQgImlkZW50aWZ5IHRoZSBmaWxlIHN0YXR1cyB3aXRoIHRhZ3MiCiBtc2dzdHIgImlkZW50aWZpZXJhIGZpbHN0YXR1cyBtZWQgdGFnZ2FyIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI4CiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCiBtc2dzdHIgImFudsOkbmQgc23DpSBib2tzdMOkdmVyIGbDtnIgXCJhbnRhIG9mw7Zyw6RuZHJhZGVcIi1maWxlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUyOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMAogbXNnaWQgInVzZSBsb3dlcmNhc2UgbGV0dGVycyBmb3IgJ2ZzbW9uaXRvciBjbGVhbicgZmlsZXMiCiBtc2dzdHIgImFudsOkbmQgc23DpSBib2tzdMOkdmVyIGbDtnIgXCJmc21vbml0b3IgY2xlYW5cIi1maWxlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMgogbXNnaWQgInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIgogbXNnc3RyICJ2aXNhIGNhY2hhZGUgZmlsZXIgaSB1dGRhdGEgKHN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMworIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNAogbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJ2aXNhIGJvcnR0YWduYSBmaWxlciBpIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNgogbXNnaWQgInNob3cgbW9kaWZpZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAidmlzYSBtb2RpZmllcmFkZSBmaWxlciBpIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOAogbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAidmlzYSBhbmRyYSBmaWxlciBpIHV0ZGF0YSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MAogbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJ2aXNhIGlnbm9yZXJhZGUgZmlsZXIgaSB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDMKIG1zZ2lkICJzaG93IHN0YWdlZCBjb250ZW50cycgb2JqZWN0IG5hbWUgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAidmlzYSBrw7ZhdCBpbm5laMOlbGxzIG9iamVrdG5hbW4gaSB1dGRhdGEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDQKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKIG1zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgogbXNnc3RyICJ2aXNhIGZpbGVyIGkgZmlsc3lzdGVtZXQgc29tIGJlaMO2dmVyIHRhcyBib3J0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ3CiBtc2dpZCAic2hvdyAnb3RoZXInIGRpcmVjdG9yaWVzJyBuYW1lcyBvbmx5IgogbXNnc3RyICJ2aXNhIGVuZGFzdCBuYW1uIGbDtnIgXCJhbmRyYVwiIGthdGFsb2dlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OQogbXNnaWQgInNob3cgbGluZSBlbmRpbmdzIG9mIGZpbGVzIgogbXNnc3RyICJ2aXNhIHJhZHNsdXQgaSBmaWxlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MQogbXNnaWQgImRvbid0IHNob3cgZW1wdHkgZGlyZWN0b3JpZXMiCiBtc2dzdHIgInZpc2EgaW50ZSB0b21tYSBrYXRhbG9nZXIiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTQKIG1zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgInZpc2EgZWogc2FtbWFuc2xhZ25hIGZpbGVyIGkgdXRkYXRhIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTU1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU2CiBtc2dpZCAic2hvdyByZXNvbHZlLXVuZG8gaW5mb3JtYXRpb24iCiBtc2dzdHIgInZpc2EgXCJyZXNvbHZlLXVuZG9cIi1pbmZvcm1hdGlvbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1OAogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAiaG9wcGEgw7Z2ZXIgZmlsZXIgc29tIG1vdHN2YXJhciBtw7Zuc3RlciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MQogbXNnaWQgImV4Y2x1ZGUgcGF0dGVybnMgYXJlIHJlYWQgZnJvbSA8ZmlsZT4iCiBtc2dzdHIgImV4a2x1ZGVyYSBtw7Zuc3RlciBzb20gbMOkc2VzIGZyw6VuIDxmaWw+IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTYzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY0CiBtc2dpZCAicmVhZCBhZGRpdGlvbmFsIHBlci1kaXJlY3RvcnkgZXhjbHVkZSBwYXR0ZXJucyBpbiA8ZmlsZT4iCiBtc2dzdHIgImzDpHMgeXR0ZXJsaWdhcmUgcGVyLWthdGFsb2ctZXhrbHVkZXJpbmdzbcO2bnN0ZXIgZnLDpW4gPGZpbD4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjYKIG1zZ2lkICJhZGQgdGhlIHN0YW5kYXJkIGdpdCBleGNsdXNpb25zIgogbXNnc3RyICJsw6RnZyB0aWxsIGdpdDpzIHN0YW5kYXJkZXhrbHVkZXJpbmdhciIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU3MAogbXNnaWQgIm1ha2UgdGhlIG91dHB1dCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJnw7ZyIHV0ZGF0YSByZWxhdGl2IHRpbGwgcHJvamVrdGV0cyB0b3Bwa2F0YWxvZyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU3MgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU3MwogbXNnaWQgInJlY3Vyc2UgdGhyb3VnaCBzdWJtb2R1bGVzIgogbXNnc3RyICJyZWt1cnNlcmEgbmVyIGkgdW5kZXJtb2R1bGVyIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTc0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc1CiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICJvbSBlbiA8ZmlsPiBpbnRlIMOkciBpbmRleGV0LCBiZXRyYWt0YSBkZXQgc29tIGV0dCBmZWwiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzYKIG1zZ2lkICJ0cmVlLWlzaCIKIG1zZ3N0ciAidHLDpGQtaWd0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTc2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc3CiBtc2dpZCAicHJldGVuZCB0aGF0IHBhdGhzIHJlbW92ZWQgc2luY2UgPHRyZWUtaXNoPiBhcmUgc3RpbGwgcHJlc2VudCIKIG1zZ3N0ciAibMOldHNhcyBhdHQgc8O2a3bDpGdhciBib3J0dGFnbmEgc2VkYW4gPHRyw6RkLWlndD4gZm9ydGZhcmFuZGUgZmlubnMiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzkKIG1zZ2lkICJzaG93IGRlYnVnZ2luZyBkYXRhIgogbXNnc3RyICJ2aXNhIGZlbHPDtmtuaW5nc3V0ZGF0YSIKIApAQCAtMTI3MDUsNyArMTUzOTUsNyBAQAogbXNnaWQgImRvIG5vdCBwcmludCByZW1vdGUgVVJMIgogbXNnc3RyICJ2aXNhIGludGUgZmrDpHJyLVVSTCIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MCBidWlsdGluL2xzLXJlbW90ZS5jOjYyIGJ1aWx0aW4vcmViYXNlLmM6OTAzCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjYwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIgYnVpbHRpbi9yZWJhc2UuYzoxNTE4CiBtc2dpZCAiZXhlYyIKIG1zZ3N0ciAiZXhlYyIKIApAQCAtMTI3MjksMTEgKzE1NDE5LDExIEBACiBtc2dpZCAidGFrZSB1cmwuPGJhc2U+Lmluc3RlYWRPZiBpbnRvIGFjY291bnQiCiBtc2dzdHIgInRhIGjDpG5zeW4gdGlsbCB1cmwuPGJhcz4uaW5zdGVhZE9mIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjczCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjcyCiBtc2dpZCAiZXhpdCB3aXRoIGV4aXQgY29kZSAyIGlmIG5vIG1hdGNoaW5nIHJlZnMgYXJlIGZvdW5kIgogbXNnc3RyICJhdnNsdXRhIG1lZCBmZWxrb2QgMiBvbSBtb3RzdmFyYW5kZSByZWZlcmVuc2VyIGludGUgaGl0dGFzIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjc2CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjc1CiBtc2dpZCAic2hvdyB1bmRlcmx5aW5nIHJlZiBpbiBhZGRpdGlvbiB0byB0aGUgb2JqZWN0IHBvaW50ZWQgYnkgaXQiCiBtc2dzdHIgInZpc2EgdW5kZXJsaWdnYW5kZSByZWZlcmVucyBvY2ggb2JqZWt0ZXQgZGV0IHBla2FyIHDDpSIKIApAQCAtMTI3NzYsMjYzICsxNTQ2NiwyODQgQEAKICM6IGJ1aWx0aW4vbWFpbHNwbGl0LmM6MjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImVtcHR5IG1ib3g6ICclcyciCi1tc2dzdHIgInRvbSBtYm94OiDigJ0lc+KAnSIKK21zZ3N0ciAidG9tIG1ib3g6IFwiJXNcIiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjUyCisjOiBidWlsdGluL21lcmdlLmM6NTUKIG1zZ2lkICJnaXQgbWVyZ2UgWzxvcHRpb25zPl0gWzxjb21taXQ+Li4uXSIKIG1zZ3N0ciAiZ2l0IG1lcmdlIFs8ZmxhZ2dvcj5dIFs8aW5jaGVja25pbmc+Li4uXSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjUzCisjOiBidWlsdGluL21lcmdlLmM6NTYKIG1zZ2lkICJnaXQgbWVyZ2UgLS1hYm9ydCIKIG1zZ3N0ciAiZ2l0IG1lcmdlIC0tYWJvcnQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1NAorIzogYnVpbHRpbi9tZXJnZS5jOjU3CiBtc2dpZCAiZ2l0IG1lcmdlIC0tY29udGludWUiCiBtc2dzdHIgImdpdCBtZXJnZSAtLWNvbnRpbnVlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTExCisjOiBidWlsdGluL21lcmdlLmM6MTE4CiBtc2dpZCAic3dpdGNoIGBtJyByZXF1aXJlcyBhIHZhbHVlIgogbXNnc3RyICJmbGFnZ2FuIFwibVwiIGJlaMO2dmVyIGV0dCB2w6RyZGUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNzcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgcmVxdWlyZXMgYSB2YWx1ZSIKK21zZ3N0ciAiZmxhZ2dhbiBcIiVzXCIgYmVow7Z2ZXIgZXR0IHbDpHJkZSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZmluZCBtZXJnZSBzdHJhdGVneSAnJXMnLlxuIgogbXNnc3RyICJLdW5kZSBpbnRlIGhpdHRhIHNhbW1hbnNsYWduaW5nc3N0cmF0ZWdpbiBcIiVzXCIuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAiVGlsbGfDpG5nbGlnYSBzdHJhdGVnaWVyIMOkcjoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxODMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCiBtc2dzdHIgIlRpbGxnw6RuZ2xpZ2Egc2tyw6RkZGFyc3lkZGEgc3RyYXRlZ2llciDDpHI6IgogCi0jOiBidWlsdGluL21lcmdlLmM6MjM0IGJ1aWx0aW4vcHVsbC5jOjE0MworIzogYnVpbHRpbi9tZXJnZS5jOjI0NCBidWlsdGluL3B1bGwuYzoxNTIKIG1zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJ2aXNhIGludGUgZW4gZGlmZnN0YXQgbsOkciBzYW1tYW5zbGFnbmluZ2VuIMOkciBmw6RyZGlnIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjM3IGJ1aWx0aW4vcHVsbC5jOjE0NgorIzogYnVpbHRpbi9tZXJnZS5jOjI0NyBidWlsdGluL3B1bGwuYzoxNTUKIG1zZ2lkICJzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgInZpc2EgZW4gZGlmZnN0YXQgbsOkciBzYW1tYW5zbGFnbmluZ2VuIMOkciBmw6RyZGlnIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjM4IGJ1aWx0aW4vcHVsbC5jOjE0OQorIzogYnVpbHRpbi9tZXJnZS5jOjI0OCBidWlsdGluL3B1bGwuYzoxNTgKIG1zZ2lkICIoc3lub255bSB0byAtLXN0YXQpIgogbXNnc3RyICIoc3lub255bSB0aWxsIC0tc3RhdCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDAgYnVpbHRpbi9wdWxsLmM6MTUyCisjOiBidWlsdGluL21lcmdlLmM6MjUwIGJ1aWx0aW4vcHVsbC5jOjE2MQogbXNnaWQgImFkZCAoYXQgbW9zdCA8bj4pIGVudHJpZXMgZnJvbSBzaG9ydGxvZyB0byBtZXJnZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAiIgogImzDpGdnIHRpbGwgKHNvbSBtZXN0IDxuPikgcG9zdGVyIGZyw6VuIHNob3J0bG9nIHRpbGwgaW5jaGVja25pbmdzbWVkZGVsYW5kZXQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDMgYnVpbHRpbi9wdWxsLmM6MTU4CisjOiBidWlsdGluL21lcmdlLmM6MjUzIGJ1aWx0aW4vcHVsbC5jOjE2NwogbXNnaWQgImNyZWF0ZSBhIHNpbmdsZSBjb21taXQgaW5zdGVhZCBvZiBkb2luZyBhIG1lcmdlIgogbXNnc3RyICJza2FwYSBlbiBlbnNhbSBpbmNoZWNrbmluZyBpc3TDpGxsZXQgZsO2ciBlbiBzYW1tYW5zbGFnbmluZyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI0NSBidWlsdGluL3B1bGwuYzoxNjEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTUgYnVpbHRpbi9wdWxsLmM6MTcwCiBtc2dpZCAicGVyZm9ybSBhIGNvbW1pdCBpZiB0aGUgbWVyZ2Ugc3VjY2VlZHMgKGRlZmF1bHQpIgogbXNnc3RyICJ1dGbDtnIgZW4gaW5jaGVja25pbmcgb20gc2FtbWFuc2xhZ25pbmdlbiBseWNrYWRlcyAoc3RhbmRhcmQpIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQ3IGJ1aWx0aW4vcHVsbC5jOjE2NAorIzogYnVpbHRpbi9tZXJnZS5jOjI1NyBidWlsdGluL3B1bGwuYzoxNzMKIG1zZ2lkICJlZGl0IG1lc3NhZ2UgYmVmb3JlIGNvbW1pdHRpbmciCiBtc2dzdHIgInJlZGlnZXJhIG1lZGRlbGFuZGUgaW5uYW4gaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTkKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQgKGRlZmF1bHQpIgogbXNnc3RyICJ0aWxsw6V0IHNuYWJic3BvbG5pbmcgKHN0YW5kYXJkKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1MCBidWlsdGluL3B1bGwuYzoxNzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjEgYnVpbHRpbi9wdWxsLmM6MTgwCiBtc2dpZCAiYWJvcnQgaWYgZmFzdC1mb3J3YXJkIGlzIG5vdCBwb3NzaWJsZSIKIG1zZ3N0ciAiYXZicnl0IG9tIHNuYWJic3BvbG5pbmcgaW50ZSDDpHIgbcO2amxpZyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NCBidWlsdGluL3B1bGwuYzoxNzMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjUgYnVpbHRpbi9wdWxsLmM6MTgzCiBtc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgogbXNnc3RyICJiZWtyw6RmdGEgYXR0IGRlbiBuYW1uZ2l2bmEgaW5jaGVja25pbmdlbiBoYXIgZW4gZ2lsdGlnIEdQRy1zaWduYXR1ciIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NSBidWlsdGluL25vdGVzLmM6Nzg0IGJ1aWx0aW4vcHVsbC5jOjE3NwotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTYgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg2IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEwCisjOiBidWlsdGluL21lcmdlLmM6MjY2IGJ1aWx0aW4vbm90ZXMuYzo3ODcgYnVpbHRpbi9wdWxsLmM6MTg3CisjOiBidWlsdGluL3JlYmFzZS5jOjUxMiBidWlsdGluL3JlYmFzZS5jOjE1MzEgYnVpbHRpbi9yZXZlcnQuYzoxMTQKIG1zZ2lkICJzdHJhdGVneSIKIG1zZ3N0ciAic3RyYXRlZ2kiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTYgYnVpbHRpbi9wdWxsLmM6MTc4CisjOiBidWlsdGluL21lcmdlLmM6MjY3IGJ1aWx0aW4vcHVsbC5jOjE4OAogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIKIG1zZ3N0ciAic2FtbWFuc2xhZ25pbmdzc3RyYXRlZ2kgYXR0IGFudsOkbmRhIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU3IGJ1aWx0aW4vcHVsbC5jOjE4MQorIzogYnVpbHRpbi9tZXJnZS5jOjI2OCBidWlsdGluL3B1bGwuYzoxOTEKIG1zZ2lkICJvcHRpb249dmFsdWUiCiBtc2dzdHIgImFsdGVybmF0aXY9dsOkcmRlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU4IGJ1aWx0aW4vcHVsbC5jOjE4MgorIzogYnVpbHRpbi9tZXJnZS5jOjI2OSBidWlsdGluL3B1bGwuYzoxOTIKIG1zZ2lkICJvcHRpb24gZm9yIHNlbGVjdGVkIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJhbHRlcm5hdGl2IGbDtnIgdmFsZCBzYW1tYW5zbGFnbmluZ3NzdHJhdGVnaSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2MAorIzogYnVpbHRpbi9tZXJnZS5jOjI3MQogbXNnaWQgIm1lcmdlIGNvbW1pdCBtZXNzYWdlIChmb3IgYSBub24tZmFzdC1mb3J3YXJkIG1lcmdlKSIKIG1zZ3N0ciAiaW5jaGVja25pbmdzbWVkZGVsYW5kZSBmw7ZyIChpY2tlIHNuYWJic3BvbGFuZGUpIHNhbW1hbnNsYWduaW5nIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjY3CisjOiBidWlsdGluL21lcmdlLmM6Mjc4CiBtc2dpZCAiYWJvcnQgdGhlIGN1cnJlbnQgaW4tcHJvZ3Jlc3MgbWVyZ2UiCiBtc2dzdHIgImF2YnJ5dCBkZW4gcMOlZ8OlZW5kZSBzYW1tYW5zbGFnbmluZ2VuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjY5CisjOiBidWlsdGluL21lcmdlLmM6MjgwCittc2dpZCAiLS1hYm9ydCBidXQgbGVhdmUgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSBhbG9uZSIKK21zZ3N0ciAiLS1hYm9ydCBtZW4gbMOkbW5hIGluZGV4IG9jaCBhcmJldHNrYXRhbG9nIGVuc2FtbWEiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODIKIG1zZ2lkICJjb250aW51ZSB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiZm9ydHPDpHR0IGRlbiBww6Vnw6VlbmRlIHNhbW1hbnNsYWduaW5nZW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzEgYnVpbHRpbi9wdWxsLmM6MTg5CisjOiBidWlsdGluL21lcmdlLmM6Mjg0IGJ1aWx0aW4vcHVsbC5jOjE5OQogbXNnaWQgImFsbG93IG1lcmdpbmcgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAidGlsbMOldCBzYW1tYW5zbGFnbmluZyBhdiBvcmVsYXRlcmFkZSBoaXN0b3JpZXIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzcKLW1zZ2lkICJ2ZXJpZnkgY29tbWl0LW1zZyBob29rIgotbXNnc3RyICJiZWtyw6RmdGEgY29tbWl0LW1zZy1rcm9rIgorIzogYnVpbHRpbi9tZXJnZS5jOjI5MAorbXNnaWQgImJ5cGFzcyBwcmUtbWVyZ2UtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIgorbXNnc3RyICJmw7ZyYmlnw6UgcHJlLW1lcmdlLWNvbW1pdC0gb2NoIGNvbW1pdC1tc2cta3Jva2FyIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzAyCisjOiBidWlsdGluL21lcmdlLmM6MzA3CiBtc2dpZCAiY291bGQgbm90IHJ1biBzdGFzaC4iCiBtc2dzdHIgImt1bmRlIGvDtnJhIHN0YXNoLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjMwNworIzogYnVpbHRpbi9tZXJnZS5jOjMxMgogbXNnaWQgInN0YXNoIGZhaWxlZCIKIG1zZ3N0ciAic3Rhc2ggbWlzc2x5Y2thZGVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzEyCisjOiBidWlsdGluL21lcmdlLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdDogJXMiCiBtc2dzdHIgImludGUgZXR0IGdpbHRpZ3Qgb2JqZWt0OiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjMzNCBidWlsdGluL21lcmdlLmM6MzUxCisjOiBidWlsdGluL21lcmdlLmM6MzM5IGJ1aWx0aW4vbWVyZ2UuYzozNTYKIG1zZ2lkICJyZWFkLXRyZWUgZmFpbGVkIgogbXNnc3RyICJyZWFkLXRyZWUgbWlzc2x5Y2thZGVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzgxCisjOiBidWlsdGluL21lcmdlLmM6Mzg2CiBtc2dpZCAiIChub3RoaW5nIHRvIHNxdWFzaCkiCiBtc2dzdHIgIiAoaW5nZXQgYXR0IHBsYXR0YSB0aWxsKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM5MgorIzogYnVpbHRpbi9tZXJnZS5jOjM5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJTcXVhc2ggY29tbWl0IC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgIlRpbGxwbGF0dG5pbmdzaW5jaGVja25pbmcgLS0gdXBwZGF0ZXJhciBpbnRlIEhFQURcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ0MgorIzogYnVpbHRpbi9tZXJnZS5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBtZXNzYWdlIC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgIkluZ2V0IHNhbW1hbnNsYWduaW5nc21lZGRlbGFuZGUgLS0gdXBwZGF0ZXJhciBpbnRlIEhFQURcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ5MworIzogYnVpbHRpbi9tZXJnZS5jOjQ5OAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgY29tbWl0IgogbXNnc3RyICJcIiVzXCIgdmVya2FyIGludGUgcGVrYSBww6UgZW4gaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1ODAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAiRmVsYWt0aWcgYnJhbmNoLiVzLm1lcmdlb3B0aW9ucy1zdHLDpG5nOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjcwMQorIzogYnVpbHRpbi9tZXJnZS5jOjcwNQogbXNnaWQgIk5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCiBtc2dzdHIgIkhhbnRlcmFyIGludGUgbsOlZ290IGFubmF0IMOkbiBlbiBzYW1tYW5zbGFnbmluZyBhdiB0dsOlIGh1dnVkZW4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzE1CisjOiBidWlsdGluL21lcmdlLmM6NzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gb3B0aW9uIGZvciBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiBtc2dzdHIgIkZlbGFrdGlnIGZsYWdnYSBmw7ZyIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjczMAorIzogYnVpbHRpbi9tZXJnZS5jOjczNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzgyCisjOiBidWlsdGluL21lcmdlLmM6Nzg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIGZyb20gJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBsw6RzYSBmcsOlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGNvbW1pdHRpbmcgbWVyZ2U7IHVzZSAnZ2l0IGNvbW1pdCcgdG8gY29tcGxldGUgdGhlIG1lcmdlLlxuIgogbXNnc3RyICIiCiAiQ2hlY2thciBpbnRlIGluIHNhbW1hbnNsYWduaW5nZW47IGFudsOkbmQgXCJnaXQgY29tbWl0XCIgZsO2ciBhdHQgc2x1dGbDtnJhICIKICJkZW4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTcKLSMsIGMtZm9ybWF0CisjOiBidWlsdGluL21lcmdlLmM6ODAxCiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciBhIGNvbW1pdCBtZXNzYWdlIHRvIGV4cGxhaW4gd2h5IHRoaXMgbWVyZ2UgaXMgbmVjZXNzYXJ5LFxuIgogImVzcGVjaWFsbHkgaWYgaXQgbWVyZ2VzIGFuIHVwZGF0ZWQgdXBzdHJlYW0gaW50byBhIHRvcGljIGJyYW5jaC5cbiIKICJcbiIKLSJMaW5lcyBzdGFydGluZyB3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLCBhbmQgYW4gZW1wdHkgbWVzc2FnZSBhYm9ydHNcbiIKLSJ0aGUgY29tbWl0LlxuIgogbXNnc3RyICIiCiAiQW5nZSBldHQgaW5jaGVja25pbmdzbWVkZGVsYW5kZSBmw7ZyIGF0dCBmw7Zya2xhcmEgdmFyZsO2ciBzYW1tYW5zbGFnbmluZ2VuXG4iCiAiw6RyIG7DtmR2w6RuZGlnLCBzcGVjaWVsbHQgb20gZGVuIHNsw6VyIGluIGVuIHVwcGRhdGVyYWQgdXBwc3Ryw7ZtIGkgZW5cbiIKICJ0ZW1hZ3Jlbi5cbiIKICJcbiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjgwNgorbXNnaWQgIkFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCittc2dzdHIgIkV0dCB0b210IG1lZGRlbGFuZGUgYXZicnl0ZXIgaW5jaGVja25pbmdlbi5cbiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjgwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzXG4iCisidGhlIGNvbW1pdC5cbiIKK21zZ3N0ciAiIgogIlJhZGVyIHNvbSBpbmxlZHMgbWVkIFwiJWNcIiBrb21tZXIgaWdub3JlcmFzLCBvY2ggZXR0IHRvbXQgbWVkZGVsYW5kZVxuIgogImF2YnJ5dGVyIGluY2hlY2tuaW5nZW4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MzMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NjIKIG1zZ2lkICJFbXB0eSBjb21taXQgbWVzc2FnZS4iCiBtc2dzdHIgIlRvbXQgaW5jaGVja25pbmdzbWVkZGVsYW5kZS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiV29uZGVyZnVsLlxuIgogbXNnc3RyICJVbmRlcmJhcnQuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIGZhaWxlZDsgZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBjb21taXQgdGhlIHJlc3VsdC5cbiIKIG1zZ3N0ciAiIgogIkt1bmRlIGludGUgc2zDpSBpaG9wIGF1dG9tYXRpc2t0OyBmaXhhIGtvbmZsaWt0ZXIgb2NoIGNoZWNrYSBpbiByZXN1bHRhdGV0LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTQ0CisjOiBidWlsdGluL21lcmdlLmM6OTc3CiBtc2dpZCAiTm8gY3VycmVudCBicmFuY2guIgogbXNnc3RyICJJbnRlIHDDpSBuw6Vnb24gZ3Jlbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzkKIG1zZ2lkICJObyByZW1vdGUgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIkluZ2VuIGZqw6RyciBmw7ZyIGFrdHVlbGwgZ3Jlbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5ODEKIG1zZ2lkICJObyBkZWZhdWx0IHVwc3RyZWFtIGRlZmluZWQgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIkluZ2VuIHN0YW5kYXJkdXBwc3Ryw7ZtIGFuZ2l2ZW4gZsO2ciBha3R1ZWxsIGdyZW4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTUzCisjOiBidWlsdGluL21lcmdlLmM6OTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHJlbW90ZS10cmFja2luZyBicmFuY2ggZm9yICVzIGZyb20gJXMiCiBtc2dzdHIgIkluZ2VuIGZqw6RycnNww6VyYW5kZSBncmVuIGbDtnIgJXMgZnLDpW4gJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDEwCisjOiBidWlsdGluL21lcmdlLmM6MTA0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgdmFsdWUgJyVzJyBpbiBlbnZpcm9ubWVudCAnJXMnIgogbXNnc3RyICJGZWxha3RpZ3QgdsOkcmRlIFwiJXNcIiBpIG1pbGrDtnZhcmlhYmVsbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTEzCisjOiBidWlsdGluL21lcmdlLmM6MTE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCiBtc2dzdHIgImludGUgbsOlZ290IHZpIGthbiBzbMOlIGlob3AgbWVkICVzOiAlcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTgwCiBtc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgImludGUgbsOlZ290IHZpIGthbiBzbMOlIGlob3AiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjUwCisjOiBidWlsdGluL21lcmdlLmM6MTI4MwogbXNnaWQgIi0tYWJvcnQgZXhwZWN0cyBubyBhcmd1bWVudHMiCiBtc2dzdHIgIi0tYWJvcnQgdGFyIGluZ2EgYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjU0CisjOiBidWlsdGluL21lcmdlLmM6MTI4NwogbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIHRvIGFib3J0IChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKIG1zZ3N0ciAiSW5nZW4gc2FtbWFuc2xhZ25pbmcgYXR0IGF2YnJ5dGEgKE1FUkdFX0hFQUQgc2FrbmFzKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjY2CisjOiBidWlsdGluL21lcmdlLmM6MTI5NgorbXNnaWQgIi0tcXVpdCBleHBlY3RzIG5vIGFyZ3VtZW50cyIKK21zZ3N0ciAiLS1xdWl0IHRhciBpbmdhIGFyZ3VtZW50IgorCisjOiBidWlsdGluL21lcmdlLmM6MTMwOQogbXNnaWQgIi0tY29udGludWUgZXhwZWN0cyBubyBhcmd1bWVudHMiCiBtc2dzdHIgIi0tY29udGludWUgdGFyIGluZ2EgYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjcwCisjOiBidWlsdGluL21lcmdlLmM6MTMxMwogbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIGluIHByb2dyZXNzIChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKIG1zZ3N0ciAiSW5nZW4gc2FtbWFuc2xhZ25pbmcgcMOlZ8OlciAoTUVSR0VfSEVBRCBzYWtuYXMpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyODYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzI5CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKQEAgLTEzMDQwLDcgKzE1NzUxLDcgQEAKICJEdSBoYXIgaW50ZSBhdnNsdXRhdCBzYW1tYW5zbGFnbmluZ2VuIChNRVJHRV9IRUFEIGZpbm5zKS5cbiIKICJDaGVja2EgaW4gZGluYSDDpG5kcmluZ2FyIGlubmFuIGR1IHNsw6VyIGlob3AuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI5MworIzogYnVpbHRpbi9tZXJnZS5jOjEzMzYKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtMTMwNDgsOTIgKzE1NzU5LDk2IEBACiAiRHUgaGFyIGludGUgYXZzbHV0YXQgZGluIFwiY2hlcnJ5LXBpY2tcIiAoQ0hFUlJZX1BJQ0tfSEVBRCBmaW5ucykuXG4iCiAiQ2hlY2thIGluIGRpbmEgw6RuZHJpbmdhciBpbm5hbiBkdSBzbMOlciBpaG9wLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyOTYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzM5CiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIGNoZXJyeS1waWNrIChDSEVSUllfUElDS19IRUFEIGV4aXN0cykuIgogbXNnc3RyICJEdSBoYXIgaW50ZSBhdnNsdXRhdCBkaW4gXCJjaGVycnktcGlja1wiIChDSEVSUllfUElDS19IRUFEIGZpbm5zKS4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzA1CisjOiBidWlsdGluL21lcmdlLmM6MTM1MwogbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tbm8tZmYuIgogbXNnc3RyICJEdSBrYW4gaW50ZSBrb21iaW5lcmEgLS1zcXVhc2ggbWVkIC0tbm8tZmYuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMxMworIzogYnVpbHRpbi9tZXJnZS5jOjEzNTUKK21zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLWNvbW1pdC4iCittc2dzdHIgIkR1IGthbiBpbnRlIGtvbWJpbmVyYSAtLXNxdWFzaCBtZWQgLS1jb21taXQuIgorCisjOiBidWlsdGluL21lcmdlLmM6MTM3MQogbXNnaWQgIk5vIGNvbW1pdCBzcGVjaWZpZWQgYW5kIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIG5vdCBzZXQuIgogbXNnc3RyICJJbmdlbiBpbmNoZWNrbmluZyBhbmdpdmVuIG9jaCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSDDpHIgZWogc2F0dC4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzMwCisjOiBidWlsdGluL21lcmdlLmM6MTM4OAogbXNnaWQgIlNxdWFzaCBjb21taXQgaW50byBlbXB0eSBoZWFkIG5vdCBzdXBwb3J0ZWQgeWV0IgogbXNnc3RyICJTdMO2ZGVyIGludGUgZW4gdGlsbHBsYXR0bmluZ3NpbmNoZWNrbmluZyBww6UgZXR0IHRvbXQgaHV2dWQgw6RubnUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzMyCisjOiBidWlsdGluL21lcmdlLmM6MTM5MAogbXNnaWQgIk5vbi1mYXN0LWZvcndhcmQgY29tbWl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgaW50byBhbiBlbXB0eSBoZWFkIgogbXNnc3RyICJJY2tlLXNuYWJic3BvbGFkIGluY2hlY2tuaW5nIGthbiBpbnRlIGFudsOkbmRhcyBtZWQgZXR0IHRvbXQgaHV2dWQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzM3CisjOiBidWlsdGluL21lcmdlLmM6MTM5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgogbXNnc3RyICIlcyAtIGludGUgbsOlZ290IHZpIGthbiBzbMOlIGlob3AiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzM5CisjOiBidWlsdGluL21lcmdlLmM6MTM5NwogbXNnaWQgIkNhbiBtZXJnZSBvbmx5IGV4YWN0bHkgb25lIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQiCiBtc2dzdHIgIkthbiBlbmRhc3Qgc2zDpSBpaG9wIGVuIGVuZGEgaW5jaGVja25pbmcgaSBldHQgdG9tdCBodXZ1ZCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MjEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc2CiBtc2dpZCAicmVmdXNpbmcgdG8gbWVyZ2UgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAidsOkZ3JhciBzbMOlIHNhbW1hbiBvcmVsYXRlcmFkIGhpc3RvcmlrIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQzMAorIzogYnVpbHRpbi9tZXJnZS5jOjE0ODUKIG1zZ2lkICJBbHJlYWR5IHVwIHRvIGRhdGUuIgogbXNnc3RyICJSZWRhbiDDoCBqb3VyLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NDAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzLi4lc1xuIgogbXNnc3RyICJVcHBkYXRlcmFyICVzLi4lc1xuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ4MgorIzogYnVpbHRpbi9tZXJnZS5jOjE1MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHJ5aW5nIHJlYWxseSB0cml2aWFsIGluLWluZGV4IG1lcmdlLi4uXG4iCiBtc2dzdHIgIkbDtnJzw7ZrZXIgcmlrdGlndCBlbmtlbCBzYW1tYW5zbGFnbmluZyBpIGluZGV4ZXQuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0ODkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vcGUuXG4iCiBtc2dzdHIgIk5lai5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTY5CiBtc2dpZCAiQWxyZWFkeSB1cCB0byBkYXRlLiBZZWVhaCEiCiBtc2dzdHIgIlJlZGFuIMOgIGpvdXIuIFRvcHBlbiEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTIwCisjOiBidWlsdGluL21lcmdlLmM6MTU3NQogbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKIG1zZ3N0ciAiS2FuIGludGUgc25hYmJzcG9sYSwgYXZicnl0ZXIuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTU0MyBidWlsdGluL21lcmdlLmM6MTYyMgorIzogYnVpbHRpbi9tZXJnZS5jOjE1OTggYnVpbHRpbi9tZXJnZS5jOjE2NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmV3aW5kaW5nIHRoZSB0cmVlIHRvIHByaXN0aW5lLi4uXG4iCiBtc2dzdHIgIsOFdGVyc3BvbGFyIHRyw6RkZXQgdGlsbCBvcsO2cnQuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgogbXNnc3RyICJGw7Zyc8O2a2VyIHNhbW1hbnNsYWduaW5nc3N0cmF0ZWdpbiAlcy4uLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYxMworIzogYnVpbHRpbi9tZXJnZS5jOjE2NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gbWVyZ2Ugc3RyYXRlZ3kgaGFuZGxlZCB0aGUgbWVyZ2UuXG4iCiBtc2dzdHIgIkluZ2VuIHNhbW1hbnNsYWduaW5nc3N0cmF0ZWdpIGhhbnRlcmFkZSBzYW1tYW5zbGFnbmluZ2VuLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYxNQorIzogYnVpbHRpbi9tZXJnZS5jOjE2NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2Ugd2l0aCBzdHJhdGVneSAlcyBmYWlsZWQuXG4iCiBtc2dzdHIgIlNhbW1hbnNsYWduaW5nIG1lZCBzdHJhdGVnaW4gJXMgbWlzc2x5Y2thZGVzLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYyNAorIzogYnVpbHRpbi9tZXJnZS5jOjE2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNpbmcgdGhlICVzIHRvIHByZXBhcmUgcmVzb2x2aW5nIGJ5IGhhbmQuXG4iCiBtc2dzdHIgIkFudsOkbmRlciAlcyBmw7ZyIGF0dCBmw7ZyYmVyZWRhIGzDtnNuaW5nIGbDtnIgaGFuZC5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MzYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSB3ZW50IHdlbGw7IHN0b3BwZWQgYmVmb3JlIGNvbW1pdHRpbmcgYXMgcmVxdWVzdGVkXG4iCiBtc2dzdHIgIiIKQEAgLTEzMjE5LDMzICsxNTkzNCwzMyBAQAogbXNnaWQgInNldCBsYWJlbHMgZm9yIGZpbGUxL29yaWctZmlsZS9maWxlMiIKIG1zZ3N0ciAic8OkdHQgZXRpa2V0dGVyIGbDtnIgZmlsMS9vcmlnZmlsL2ZpbDIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NDUKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb24gJXMiCiBtc2dzdHIgIm9rw6RuZCBmbGFnZ2EgJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTEKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIHRvbGthIG9iamVrdGV0IFwiJXNcIiIKIAotIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1NQorIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCBiYXNlLiBJZ25vcmluZyAlcy4iCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2VzLiBJZ25vcmluZyAlcy4iCiBtc2dzdHJbMF0gImthbiBpbnRlIGhhbnRlcmEgbWVyIMOkbiAlZCBiYXMuIElnbm9yZXJhciAlcy4iCiBtc2dzdHJbMV0gImthbiBpbnRlIGhhbnRlcmEgbWVyIMOkbiAlZCBiYXNlci4gSWdub3JlcmFyICVzLiIKIAotIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2MworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2NQogbXNnaWQgIm5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCiBtc2dzdHIgImhhbnRlcmFyIGludGUgbsOlZ290IGFubmF0IMOkbiBlbiBzYW1tYW5zbGFnbmluZyBhdiB0dsOlIGh1dnVkZW4uIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjY5IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzEKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzQgYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSByZWYgJyVzJyIKLW1zZ3N0ciAia3VuZGUgaW50ZSBiZXN0w6RtbWEgcmVmZXJlbnNlbiDigJ0lc+KAnSIKK21zZ3N0ciAia3VuZGUgaW50ZSBiZXN0w6RtbWEgcmVmZXJlbnNlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzcKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2luZyAlcyB3aXRoICVzXG4iCiBtc2dzdHIgIlNsw6VyIGlob3AgJXMgbWVkICVzXG4iCkBAIC0xMzI1OCw3ICsxNTk3Myw3IEBACiBtc2dpZCAiaW5wdXQgaXMgTlVMIHRlcm1pbmF0ZWQiCiBtc2dzdHIgImluZGF0YSDDpHIgTlVMLXRlcm1pbmVyYWQiCiAKLSM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU1IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI1CisjOiBidWlsdGluL21rdHJlZS5jOjE1NSBidWlsdGluL3dyaXRlLXRyZWUuYzoyNgogbXNnaWQgImFsbG93IG1pc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAidGlsbMOldCBzYWtuYWRlIG9iamVrdCIKIApAQCAtMTMyNjYsMTU3ICsxNTk4MSwxNzMgQEAKIG1zZ2lkICJhbGxvdyBjcmVhdGlvbiBvZiBtb3JlIHRoYW4gb25lIHRyZWUiCiBtc2dzdHIgInRpbGzDpXQgc2thcGEgbWVyIMOkbiBldHQgdHLDpGQiCiAKLSM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjgKLW1zZ2lkICJnaXQgbXVsdGktcGFjay1pbmRleCBbLS1vYmplY3QtZGlyPTxkaXI+XSAod3JpdGV8dmVyaWZ5KSIKLW1zZ3N0ciAiZ2l0IG11bHRpLXBhY2staW5kZXggWy0tb2JqZWN0LWRpcj08a2F0Pl0gKHdyaXRlfHZlcmlmeSkiCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo5Cittc2dpZCAiIgorImdpdCBtdWx0aS1wYWNrLWluZGV4IFs8b3B0aW9ucz5dICh3cml0ZXx2ZXJpZnl8ZXhwaXJlfHJlcGFjayAtLWJhdGNoLSIKKyJzaXplPTxzaXplPikiCittc2dzdHIgIiIKKyJnaXQgbXVsdGktcGFjay1pbmRleCBbPGZsYWdnb3I+XSAod3JpdGV8dmVyaWZ5fGV4cGlyZXxyZXBhY2sgLS1iYXRjaC0iCisic2l6ZT08c3Rvcmxlaz4pIgogCi0jOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzoyMQorIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MjYKIG1zZ2lkICJvYmplY3QgZGlyZWN0b3J5IGNvbnRhaW5pbmcgc2V0IG9mIHBhY2tmaWxlIGFuZCBwYWNrLWluZGV4IHBhaXJzIgogbXNnc3RyICJvYmpla3RrYXRhbG9nIG1lZCB1cHBzw6R0dG5pbmcgYXYgcGFyIG1lZCBwYWtldGZpbGVyIG9jaCBwYWNrLWluZGV4IgogCi0jOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzozOQorIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MjkKK21zZ2lkICIiCisiZHVyaW5nIHJlcGFjaywgY29sbGVjdCBwYWNrLWZpbGVzIG9mIHNtYWxsZXIgc2l6ZSBpbnRvIGEgYmF0Y2ggdGhhdCBpcyAiCisibGFyZ2VyIHRoYW4gdGhpcyBzaXplIgorbXNnc3RyICIiCisidmlkIG9tcGFja25pbmcsIHNhbWxhIG1pbmRyZSBwYWtldGZpbGVyIGkgZW4gYnVudCBzb20gw6RyIHN0w7ZycmUgw6RuIGRlbm5hICIKKyJzdG9ybGVrdCIKKworIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6NTAgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo2NwogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAiZsO2ciBtw6VuZ2EgYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCB2ZXJiOiAlcyIKLW1zZ3N0ciAib2vDpG50IHZlcmI6ICVzIgorIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6NjAKK21zZ2lkICItLWJhdGNoLXNpemUgb3B0aW9uIGlzIG9ubHkgZm9yICdyZXBhY2snIHN1YmNvbW1hbmQiCittc2dzdHIgImZsYWdnYW4gLS1iYXRjaC1zaXplIGFudsOkbmRzIGJhcmEgaSB1bmRlcmtvbW1hbmRvdCBcInJlcGFja1wiIgogCi0jOiBidWlsdGluL212LmM6MTcKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdWJjb21tYW5kOiAlcyIKK21zZ3N0ciAib2vDpG50IHVuZGVya29tbWFuZG86ICVzIgorCisjOiBidWlsdGluL212LmM6MTgKIG1zZ2lkICJnaXQgbXYgWzxvcHRpb25zPl0gPHNvdXJjZT4uLi4gPGRlc3RpbmF0aW9uPiIKIG1zZ3N0ciAiZ2l0IG12IFs8ZmxhZ2dvcj5dIDxrw6RsbGE+Li4uIDxtw6VsPiIKIAotIzogYnVpbHRpbi9tdi5jOjgyCisjOiBidWlsdGluL212LmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGlyZWN0b3J5ICVzIGlzIGluIGluZGV4IGFuZCBubyBzdWJtb2R1bGU/IgogbXNnc3RyICJLYXRhbG9nZW4gJXMgw6RyIGkgaW5kZXhldCBvY2ggaW50ZSBlbiB1bmRlcm1vZHVsPyIKIAotIzogYnVpbHRpbi9tdi5jOjg0CisjOiBidWlsdGluL212LmM6ODUKIG1zZ2lkICJQbGVhc2Ugc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIKIG1zZ3N0ciAiIgogIkvDtmEgZGluYSDDpG5kcmluZ2FyIGkgLmdpdG1vZHVsZXMgZWxsZXIgYW52w6RuZCBcInN0YXNoXCIgZsO2ciBhdHQgZm9ydHPDpHR0YSIKIAotIzogYnVpbHRpbi9tdi5jOjEwMgorIzogYnVpbHRpbi9tdi5jOjEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlLipzIGlzIGluIGluZGV4IgogbXNnc3RyICIlLipzIMOkciBpIGluZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMjQKKyM6IGJ1aWx0aW4vbXYuYzoxMjUKIG1zZ2lkICJmb3JjZSBtb3ZlL3JlbmFtZSBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgInR2aW5nYSBmbHl0dGEvw6RuZHJhIG5hbW4gw6R2ZW4gb20gbcOlbGV0IGZpbm5zIgogCi0jOiBidWlsdGluL212LmM6MTI2CisjOiBidWlsdGluL212LmM6MTI3CiBtc2dpZCAic2tpcCBtb3ZlL3JlbmFtZSBlcnJvcnMiCiBtc2dzdHIgImhvcHBhIMO2dmVyIGZlbCB2aWQgZmx5dHQvbmFtbsOkbmRyaW5nIgogCi0jOiBidWlsdGluL212LmM6MTY4CisjOiBidWlsdGluL212LmM6MTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uICclcycgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICJkZXN0aW5hdGlvbmVuIFwiJXNcIiDDpHIgaW5nZW4ga2F0YWxvZyIKIAotIzogYnVpbHRpbi9tdi5jOjE3OQorIzogYnVpbHRpbi9tdi5jOjE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyByZW5hbWUgb2YgJyVzJyB0byAnJXMnXG4iCiBtc2dzdHIgIktvbnRyb2xsZXJhciBuYW1uYnl0ZSBhdiBcIiVzXCIgdGlsbCBcIiVzXCJcbiIKIAotIzogYnVpbHRpbi9tdi5jOjE4MworIzogYnVpbHRpbi9tdi5jOjE4NAogbXNnaWQgImJhZCBzb3VyY2UiCiBtc2dzdHIgImZlbGFrdGlnIGvDpGxsYSIKIAotIzogYnVpbHRpbi9tdi5jOjE4NgorIzogYnVpbHRpbi9tdi5jOjE4NwogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCiBtc2dzdHIgImthbiBpbnRlIGZseXR0YSBrYXRhbG9nIHRpbGwgc2lnIHNqw6RsdiIKIAotIzogYnVpbHRpbi9tdi5jOjE4OQorIzogYnVpbHRpbi9tdi5jOjE5MAogbXNnaWQgImNhbm5vdCBtb3ZlIGRpcmVjdG9yeSBvdmVyIGZpbGUiCiBtc2dzdHIgImthbiBpbnRlIGZseXR0YSBrYXRhbG9nIMO2dmVyIGZpbCIKIAotIzogYnVpbHRpbi9tdi5jOjE5OAorIzogYnVpbHRpbi9tdi5jOjE5OQogbXNnaWQgInNvdXJjZSBkaXJlY3RvcnkgaXMgZW1wdHkiCiBtc2dzdHIgImvDpGxsa2F0YWxvZ2VuIMOkciB0b20iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMjMKKyM6IGJ1aWx0aW4vbXYuYzoyMjQKIG1zZ2lkICJub3QgdW5kZXIgdmVyc2lvbiBjb250cm9sIgogbXNnc3RyICJpbnRlIHZlcnNpb25zaGFudGVyYWQiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMjYKKyM6IGJ1aWx0aW4vbXYuYzoyMjcKIG1zZ2lkICJkZXN0aW5hdGlvbiBleGlzdHMiCiBtc2dzdHIgImRlc3RpbmF0aW9uZW4gZmlubnMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMzQKKyM6IGJ1aWx0aW4vbXYuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAib3ZlcndyaXRpbmcgJyVzJyIKIG1zZ3N0ciAic2tyaXZlciDDtnZlciBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMzcKKyM6IGJ1aWx0aW4vbXYuYzoyMzgKIG1zZ2lkICJDYW5ub3Qgb3ZlcndyaXRlIgogbXNnc3RyICJLYW4gaW50ZSBza3JpdmEgw7Z2ZXIiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNDAKKyM6IGJ1aWx0aW4vbXYuYzoyNDEKIG1zZ2lkICJtdWx0aXBsZSBzb3VyY2VzIGZvciB0aGUgc2FtZSB0YXJnZXQiCiBtc2dzdHIgImZsZXJhIGvDpGxsb3IgZsO2ciBzYW1tYSBtw6VsIgogCi0jOiBidWlsdGluL212LmM6MjQyCisjOiBidWlsdGluL212LmM6MjQzCiBtc2dpZCAiZGVzdGluYXRpb24gZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJkZXN0aW5hdGlvbnNrYXRhbG9nZW4gZmlubnMgaW50ZSIKIAotIzogYnVpbHRpbi9tdi5jOjI0OQorIzogYnVpbHRpbi9tdi5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgc291cmNlPSVzLCBkZXN0aW5hdGlvbj0lcyIKIG1zZ3N0ciAiJXMsIGvDpGxsYT0lcywgbcOlbD0lcyIKIAotIzogYnVpbHRpbi9tdi5jOjI3MAorIzogYnVpbHRpbi9tdi5jOjI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWluZyAlcyB0byAlc1xuIgogbXNnc3RyICJCeXRlciBuYW1uIHDDpSAlcyB0aWxsICVzXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNzYgYnVpbHRpbi9yZW1vdGUuYzo3MTcgYnVpbHRpbi9yZXBhY2suYzo1MTEKKyM6IGJ1aWx0aW4vbXYuYzoyNzcgYnVpbHRpbi9yZW1vdGUuYzo3MTYgYnVpbHRpbi9yZXBhY2suYzo1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVuYW1pbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBieXRhIG5hbW4gcMOlIFwiJXNcIiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjM1NQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwMwogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8ZmxhZ2dvcj5dIDxpbmNoZWNrbmluZz4uLi4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozNTYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDQKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gLS1hbGwiCiBtc2dzdHIgImdpdCBuYW1lLXJldiBbPGZsYWdnb3I+XSAtLWFsbCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjM1NworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwNQogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLXN0ZGluIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxmbGFnZ29yPl0gLS1zdGRpbiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxMworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2MgogbXNnaWQgInByaW50IG9ubHkgbmFtZXMgKG5vIFNIQS0xKSIKIG1zZ3N0ciAic2tyaXYgZW5kYXN0IG5hbW4gKGluZ2VuIFNIQS0xKSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxNAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2MwogbXNnaWQgIm9ubHkgdXNlIHRhZ3MgdG8gbmFtZSB0aGUgY29tbWl0cyIKIG1zZ3N0ciAiYW52w6RuZCBlbmRhc3QgdGFnZ2FyIGbDtnIgYXR0IG5hbW5nZSBpbmNoZWNrbmluZ2FyIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDE2CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDY1CiBtc2dpZCAib25seSB1c2UgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgImFudsOkbmQgZW5kYXN0IHJlZmVyZW5zZXIgc29tIG1vdHN2YXJhciA8bcO2bnN0ZXI+IgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDE4CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDY3CiBtc2dpZCAiaWdub3JlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJpZ25vcmVyYSByZWZlcmVuc2VyIHNvbSBtb3RzdmFyYXIgPG3Dtm5zdGVyPiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQyMAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2OQogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgImxpc3RhIGFsbGEgaW5jaGVja25pbmdhciBzb20ga2FuIG7DpXMgYWxsYSByZWZlcmVuc2VyIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDIxCisjOiBidWlsdGluL25hbWUtcmV2LmM6NDcwCiBtc2dpZCAicmVhZCBmcm9tIHN0ZGluIgogbXNnc3RyICJsw6RzIGZyw6VuIHN0YW5kYXJkIGluIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDIyCisjOiBidWlsdGluL25hbWUtcmV2LmM6NDcxCiBtc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMgKGRlZmF1bHQpIgogbXNnc3RyICJ0aWxsw6V0IGF0dCBza3JpdmEgXCJvZGVmaW5pZXJhZGVcIiBuYW1uIChzdGFuZGFyZCkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzcKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKIG1zZ3N0ciAiYXZyZWZlcmVyYSB0YWdnYXIgaSBpbmRhdGEgKGFudsOkbmRzIGludGVybnQpIgogCkBAIC0xMzU2MywxNCArMTYyOTQsMTQgQEAKIG1zZ2lkICJ0aGUgbm90ZSBjb250ZW50cyBoYXZlIGJlZW4gbGVmdCBpbiAlcyIKIG1zZ3N0ciAiYW50ZWNrbmluZ2VucyBpbm5laMOlbGwgaGFyIGzDpG1uYXRzIGt2YXIgaSAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjI0MiBidWlsdGluL3RhZy5jOjUxMworIzogYnVpbHRpbi9ub3Rlcy5jOjI0MiBidWlsdGluL3RhZy5jOjUzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgw7ZwcG5hIGVsbGVyIGzDpHNhIFwiJXNcIiIKIAogIzogYnVpbHRpbi9ub3Rlcy5jOjI2MyBidWlsdGluL25vdGVzLmM6MzEzIGJ1aWx0aW4vbm90ZXMuYzozMTUKLSM6IGJ1aWx0aW4vbm90ZXMuYzozODMgYnVpbHRpbi9ub3Rlcy5jOjQzOCBidWlsdGluL25vdGVzLmM6NTI0Ci0jOiBidWlsdGluL25vdGVzLmM6NTI5IGJ1aWx0aW4vbm90ZXMuYzo2MDcgYnVpbHRpbi9ub3Rlcy5jOjY2OQorIzogYnVpbHRpbi9ub3Rlcy5jOjM4MyBidWlsdGluL25vdGVzLmM6NDM4IGJ1aWx0aW4vbm90ZXMuYzo1MjYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzEgYnVpbHRpbi9ub3Rlcy5jOjYxMCBidWlsdGluL25vdGVzLmM6NjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJrdW5kZSBpbnRlIHNsw6UgdXBwIFwiJXNcIiBzb20gZW4gZ2lsdGlnIHJlZmVyZW5zLiIKQEAgLTEzNjAzLDM4ICsxNjMzNCwzOCBAQAogbXNnaWQgInJlZnVzaW5nIHRvICVzIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKIG1zZ3N0ciAidsOkZ3JhciB1dGbDtnJhIFwiJXNcIiBww6UgYW50ZWNrbmluZ2FyIGkgJXMgKHV0YW5mw7ZyIHJlZnMvbm90ZXMvKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM3NiBidWlsdGluL25vdGVzLmM6NDMxIGJ1aWx0aW4vbm90ZXMuYzo1MDcKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTkgYnVpbHRpbi9ub3Rlcy5jOjU5NSBidWlsdGluL25vdGVzLmM6NjYyCi0jOiBidWlsdGluL25vdGVzLmM6ODEyIGJ1aWx0aW4vbm90ZXMuYzo5NTkgYnVpbHRpbi9ub3Rlcy5jOjk4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjM3NiBidWlsdGluL25vdGVzLmM6NDMxIGJ1aWx0aW4vbm90ZXMuYzo1MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjEgYnVpbHRpbi9ub3Rlcy5jOjU5OCBidWlsdGluL25vdGVzLmM6NjY1CisjOiBidWlsdGluL25vdGVzLmM6ODE1IGJ1aWx0aW4vbm90ZXMuYzo5NjMgYnVpbHRpbi9ub3Rlcy5jOjk4NQogbXNnaWQgInRvbyBtYW55IHBhcmFtZXRlcnMiCiBtc2dzdHIgImbDtnIgbcOlbmdhIHBhcmFtZXRyYXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozODkgYnVpbHRpbi9ub3Rlcy5jOjY3NQorIzogYnVpbHRpbi9ub3Rlcy5jOjM4OSBidWlsdGluL25vdGVzLmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCiBtc2dzdHIgImluZ2EgYW50ZWNrbmluZ2FyIGhpdHRhZGVzIGbDtnIgb2JqZWt0ZXQgJXMuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDEwIGJ1aWx0aW4vbm90ZXMuYzo1NzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTAgYnVpbHRpbi9ub3Rlcy5jOjU3NgogbXNnaWQgIm5vdGUgY29udGVudHMgYXMgYSBzdHJpbmciCiBtc2dzdHIgImFudGVja25pbmdzaW5uZWjDpWxsIHNvbSBzdHLDpG5nIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDEzIGJ1aWx0aW4vbm90ZXMuYzo1NzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTMgYnVpbHRpbi9ub3Rlcy5jOjU3OQogbXNnaWQgIm5vdGUgY29udGVudHMgaW4gYSBmaWxlIgogbXNnc3RyICJhbnRlY2tuaW5nc2lubmVow6VsbCBpIGVuIGZpbCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxNiBidWlsdGluL25vdGVzLmM6NTc5CisjOiBidWlsdGluL25vdGVzLmM6NDE2IGJ1aWx0aW4vbm90ZXMuYzo1ODIKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgIsOldGVyYW52w6RuZCBvY2ggcmVkaWdlcmEgYW5naXZldCBhbnRlY2tuaW5nc29iamVrdCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxOSBidWlsdGluL25vdGVzLmM6NTgyCisjOiBidWlsdGluL25vdGVzLmM6NDE5IGJ1aWx0aW4vbm90ZXMuYzo1ODUKIG1zZ2lkICJyZXVzZSBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgIsOldGVyYW52w6RuZCBhbmdpdmV0IGFudGVja25pbmdzb2JqZWt0IgogCi0jOiBidWlsdGluL25vdGVzLmM6NDIyIGJ1aWx0aW4vbm90ZXMuYzo1ODUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MjIgYnVpbHRpbi9ub3Rlcy5jOjU4OAogbXNnaWQgImFsbG93IHN0b3JpbmcgZW1wdHkgbm90ZSIKIG1zZ3N0ciAidGlsbMOldCBsYWdyYSB0b20gYW50ZWNrbmluZyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQyMyBidWlsdGluL25vdGVzLmM6NDk0CisjOiBidWlsdGluL25vdGVzLmM6NDIzIGJ1aWx0aW4vbm90ZXMuYzo0OTYKIG1zZ2lkICJyZXBsYWNlIGV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICJlcnPDpHR0IGJlZmludGxpZ2EgYW50ZWNrbmluZ2FyIgogCkBAIC0xMzY0NywyOSArMTYzNzgsMjkgQEAKICJLYW4gaW50ZSBsw6RnZ2EgdGlsbCBhbnRlY2tuaW5nYXIuIEhpdHRhZGUgYmVmaW50bGlnYSBhbnRlY2tuaW5nYXIgZsO2ciAiCiAib2JqZWt0ZXQgJXMuIEFudsOkbmQgXCItZlwiIGbDtnIgYXR0IHNrcml2YSDDtnZlciBiZWZpbnRsaWdhIGFudGVja25pbmdhciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ2MyBidWlsdGluL25vdGVzLmM6NTQyCisjOiBidWlsdGluL25vdGVzLmM6NDYzIGJ1aWx0aW4vbm90ZXMuYzo1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICJTa3JpdmVyIMO2dmVyIGJlZmludGxpZ2EgYW50ZWNrbmluZ2FyIGbDtnIgb2JqZWt0ZXQgJXNcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ3NCBidWlsdGluL25vdGVzLmM6NjM0IGJ1aWx0aW4vbm90ZXMuYzo4OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NzUgYnVpbHRpbi9ub3Rlcy5jOjYzNyBidWlsdGluL25vdGVzLmM6OTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIG5vdGUgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICJUYXIgYm9ydCBhbnRlY2tuaW5nIGbDtnIgb2JqZWt0ZXQgJXNcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ5NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ5NwogbXNnaWQgInJlYWQgb2JqZWN0cyBmcm9tIHN0ZGluIgogbXNnc3RyICJsw6RzIG9iamVrdCBmcsOlbiBzdGFuZGFyZCBpbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ5NworIzogYnVpbHRpbi9ub3Rlcy5jOjQ5OQogbXNnaWQgImxvYWQgcmV3cml0aW5nIGNvbmZpZyBmb3IgPGNvbW1hbmQ+IChpbXBsaWVzIC0tc3RkaW4pIgogbXNnc3RyICJsw6RzIG9tc2tyaXZuaW5nc2luc3TDpGxsbmluZyBmw7ZyIDxrb21tYW5kbz4gKGltcGxpY2VyYXIgLS1zdGRpbikiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MTcKIG1zZ2lkICJ0b28gZmV3IHBhcmFtZXRlcnMiCiBtc2dzdHIgImbDtnIgZsOlIHBhcmFtZXRyYXIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBjb3B5IG5vdGVzLiBGb3VuZCBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzLiBVc2UgJy1mJyB0byBvdmVyd3JpdGUgIgpAQCAtMTM2NzgsMTIgKzE2NDA5LDEyIEBACiAiS2FuIGludGUga29waWVyYSBhbnRlY2tuaW5nYXIuIEhpdHRhZGUgYmVmaW50bGlnYSBhbnRlY2tuaW5nYXIgZsO2ciBvYmpla3RldCAiCiAiJXMuIEFudsOkbmQgXCItZlwiIGbDtnIgYXR0IHNrcml2YSDDtnZlciBiZWZpbnRsaWdhIGFudGVja25pbmdhciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjU0OAorIzogYnVpbHRpbi9ub3Rlcy5jOjU1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKIG1zZ3N0ciAiYW50ZWNrbmluZ2FyIHDDpSBrw6RsbG9iamVrdGV0ICVzIHNha25hcy4gS2FuIGludGUga29waWVyYS4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MDAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtbS8tRi8tYy8tQyBvcHRpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgJ2VkaXQnIHN1YmNvbW1hbmQuXG4iCkBAIC0xMzY5Miw1MiArMTY0MjMsNTIgQEAKICJGbGFnZ29ybmEgLW0vLUYvLWMvLUMgcmVrb21tZW5kZXJhcyBpbnRlIGbDtnIgdW5kZXJrb21tYW5kb3QgXCJlZGl0XCIuXG4iCiAiQW52w6RuZCBcImdpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUNcIiBpc3TDpGxsZXQuXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2OTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2OTgKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgYm9ydCByZWZlcmVuc2VuIE5PVEVTX01FUkdFX1BBUlRJQUwiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2OTcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MDAKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9SRUYiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0YSBib3J0IHJlZmVyZW5zZW4gTk9URVNfTUVSR0VfUkVGIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njk5CisjOiBidWlsdGluL25vdGVzLmM6NzAyCiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnZ2l0IG5vdGVzIG1lcmdlJyB3b3JrdHJlZSIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHRhIGJvcnQgYXJiZXRza2F0YWxvZ2VuIGbDtnIgXCJnaXQgbm90ZXMgbWVyZ2VcIiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxOQorIzogYnVpbHRpbi9ub3Rlcy5jOjcyMgogbXNnaWQgImZhaWxlZCB0byByZWFkIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgogbXNnc3RyICJtaXNzbHlja2FkZXMgbMOkc2EgcmVmZXJlbmNlcyBOT1RFU19NRVJHRV9QQVJUSUFMIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzIxCisjOiBidWlsdGluL25vdGVzLmM6NzI0CiBtc2dpZCAiY291bGQgbm90IGZpbmQgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCiBtc2dzdHIgImt1bmRlIGludGUgaGl0dGEgaW5jaGVja25pbmcgZnLDpW4gTk9URVNfTUVSR0VfUEFSVElBTC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjYKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCiBtc2dzdHIgImt1bmRlIGludGUgdG9sa2EgaW5jaGVja25pbmcgZnLDpW4gTk9URVNfTUVSR0VfUEFSVElBTC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MzkKIG1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBOT1RFU19NRVJHRV9SRUYiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBiZXN0w6RtbWEgTk9URVNfTUVSR0VfUkVGIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzM5CisjOiBidWlsdGluL25vdGVzLmM6NzQyCiBtc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplIG5vdGVzIG1lcmdlIgogbXNnc3RyICJtaXNzbHlja2FkZXMgZsOkcmRpZ3N0w6RsbGEgc2FtbWFuc2xhZ25pbmcgYXYgYW50ZWNrbmluZ2FyIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzY1CisjOiBidWlsdGluL25vdGVzLmM6NzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gbm90ZXMgbWVyZ2Ugc3RyYXRlZ3kgJXMiCiBtc2dzdHIgIm9rw6RuZCBzYW1tYW5zbGFnbmluZ3NzdHJhdGVnaSBmw7ZyIGFudGVja25pbmdhcjogJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODQKIG1zZ2lkICJHZW5lcmFsIG9wdGlvbnMiCiBtc2dzdHIgIkFsbG3DpG5uYSBmbGFnZ29yIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgzCisjOiBidWlsdGluL25vdGVzLmM6Nzg2CiBtc2dpZCAiTWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiRmxhZ2dvciBmw7ZyIHNhbW1hbnNsYWduaW5nIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzg1CisjOiBidWlsdGluL25vdGVzLmM6Nzg4CiBtc2dpZCAiIgogInJlc29sdmUgbm90ZXMgY29uZmxpY3RzIHVzaW5nIHRoZSBnaXZlbiBzdHJhdGVneSAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uLyIKICJjYXRfc29ydF91bmlxKSIKQEAgLTEzNzQ1LDQ4ICsxNjQ3Niw0OCBAQAogImzDpHMga29uZmxpa3RlciBpIGFudGVja25pbmdhciBtZWQgYW5naXZlbiBzdHJhdGVnaSAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uLyIKICJjYXRfc29ydF91bmlxKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4NworIzogYnVpbHRpbi9ub3Rlcy5jOjc5MAogbXNnaWQgIkNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCiBtc2dzdHIgIkNoZWNrYXIgaW4gZWogc2FtbWFuc2xhZ25hIGFudGVja25pbmdhciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4OQorIzogYnVpbHRpbi9ub3Rlcy5jOjc5MgogbXNnaWQgImZpbmFsaXplIG5vdGVzIG1lcmdlIGJ5IGNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCiBtc2dzdHIgIiIKICJmw6RyZGlnc3TDpGxsIHNhbW1hbnNsYWduaW5nIGF2IGFudGVja25pbmdhciBnZW5vbSBhdHQgY2hlY2thIGluIGVqICIKICJzYW1tYW5zbGFnbmEgYW50ZWNrbmluZ2FyIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzkxCisjOiBidWlsdGluL25vdGVzLmM6Nzk0CiBtc2dpZCAiQWJvcnRpbmcgbm90ZXMgbWVyZ2UgcmVzb2x1dGlvbiIKIG1zZ3N0ciAiQXZicnl0IGzDtnNuaW5nIGF2IHNhbW1hbnNsYWduaW5nIGF2IGFudGVja25pbmdhciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5MworIzogYnVpbHRpbi9ub3Rlcy5jOjc5NgogbXNnaWQgImFib3J0IG5vdGVzIG1lcmdlIgogbXNnc3RyICJhdmJyeXQgc2FtbWFuc2xhZ25pbmcgYXYgYW50ZWNrbmluZ2FyIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODA0CisjOiBidWlsdGluL25vdGVzLmM6ODA3CiBtc2dpZCAiY2Fubm90IG1peCAtLWNvbW1pdCwgLS1hYm9ydCBvciAtcy8tLXN0cmF0ZWd5IgogbXNnc3RyICJrYW4gaW50ZSBibGFuZGEgLS1jb21taXQsIC0tYWJvcnQgZWxsZXIgLXMvLS1zdHJhdGVneSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjgwOQorIzogYnVpbHRpbi9ub3Rlcy5jOjgxMgogbXNnaWQgIm11c3Qgc3BlY2lmeSBhIG5vdGVzIHJlZiB0byBtZXJnZSIKIG1zZ3N0ciAibcOlc3RlIGFuZ2UgZW4gYW50ZWNrbmluZ3MtcmVmZXJlbnMgYXR0IHNsw6UgaWhvcCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjgzMworIzogYnVpbHRpbi9ub3Rlcy5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIC1zLy0tc3RyYXRlZ3k6ICVzIgogbXNnc3RyICJva8OkbmQgLXMvLS1zdHJhdGVneTogJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NzAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYSBub3RlcyBtZXJnZSBpbnRvICVzIGlzIGFscmVhZHkgaW4tcHJvZ3Jlc3MgYXQgJXMiCiBtc2dzdHIgInNhbW1hbnNsYWduaW5nIGF2IGFudGVja25pbmdhciB0aWxsICVzIMOkciByZWRhbiBpZ8OlbmdzYXR0IHDDpSAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg3MworIzogYnVpbHRpbi9ub3Rlcy5jOjg3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RvcmUgbGluayB0byBjdXJyZW50IG5vdGVzIHJlZiAoJXMpIgogbXNnc3RyICJtaXNzbHlja2FkZXMgbGFncmEgbMOkbmsgdGlsbCBha3R1ZWxsIGFudGVja25pbmdzcmVmZXJlbnMgKCVzKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg3NQorIzogYnVpbHRpbi9ub3Rlcy5jOjg3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXV0b21hdGljIG5vdGVzIG1lcmdlIGZhaWxlZC4gRml4IGNvbmZsaWN0cyBpbiAlcyBhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCAiCkBAIC0xMzc5NywxNzEgKzE2NTI4LDE3NiBAQAogIiVzIG9jaCBjaGVja2EgaW4gcmVzdWx0YXRldCBtZWQgXCJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXRcIiwgZWxsZXIgYXZicnl0ICIKICJzYW1tYW5zbGFnbmluZ2VuIG1lZCBcImdpdCBub3RlcyBtZXJnZSAtLWFib3J0XCIuXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4OTcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4OTcgYnVpbHRpbi90YWcuYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCittc2dzdHIgIkt1bmRlIGludGUgc2zDpSB1cHAgXCIlc1wiIHNvbSBlbiBnaWx0aWcgcmVmZXJlbnMuIgorCisjOiBidWlsdGluL25vdGVzLmM6OTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk9iamVjdCAlcyBoYXMgbm8gbm90ZVxuIgogbXNnc3RyICJPYmpla3RldCAlcyBoYXIgaW5nZW4gYW50ZWNrbmluZ1xuIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTA5CisjOiBidWlsdGluL25vdGVzLmM6OTEyCiBtc2dpZCAiYXR0ZW1wdCB0byByZW1vdmUgbm9uLWV4aXN0ZW50IG5vdGUgaXMgbm90IGFuIGVycm9yIgogbXNnc3RyICJmw7Zyc8O2ayBhdHQgdGEgYm9ydCBpY2tlLWV4aXN0ZXJhbmRlIGFudGVja25pbmdhciDDpHIgaW50ZSBldHQgZmVsIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTEyCisjOiBidWlsdGluL25vdGVzLmM6OTE1CiBtc2dpZCAicmVhZCBvYmplY3QgbmFtZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgImzDpHMgb2JqZWt0bmFtbiBmcsOlbiBzdGFuZGFyZCBpbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk1MCBidWlsdGluL3BydW5lLmM6MTA4IGJ1aWx0aW4vd29ya3RyZWUuYzoxNjQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5NTQgYnVpbHRpbi9wcnVuZS5jOjEzMCBidWlsdGluL3dvcmt0cmVlLmM6MTY0CiBtc2dpZCAiZG8gbm90IHJlbW92ZSwgc2hvdyBvbmx5IgogbXNnc3RyICJ0YSBpbnRlIGJvcnQsIGJhcmEgdmlzYSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk1MQorIzogYnVpbHRpbi9ub3Rlcy5jOjk1NQogbXNnaWQgInJlcG9ydCBwcnVuZWQgbm90ZXMiCiBtc2dzdHIgInJhcHBvcnRlcmEgYm9ydHRhZ25hIGFudGVja25pbmdhciIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk5MworIzogYnVpbHRpbi9ub3Rlcy5jOjk5OAogbXNnaWQgIm5vdGVzLXJlZiIKIG1zZ3N0ciAiYW50ZWNrbmluZ2FyLXJlZiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjk5OQogbXNnaWQgInVzZSBub3RlcyBmcm9tIDxub3Rlcy1yZWY+IgogbXNnc3RyICJhbnbDpG5kIGFudGVja25pbmdhciBmcsOlbiA8YW50ZWNrbmluZ3NyZWY+IgogCi0jOiBidWlsdGluL25vdGVzLmM6MTAyOQorIzogYnVpbHRpbi9ub3Rlcy5jOjEwMzQgYnVpbHRpbi9zdGFzaC5jOjE2MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBzdWJjb21tYW5kOiAlcyIKIG1zZ3N0ciAib2vDpG50IHVuZGVya29tbWFuZG86ICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjUxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjUyCiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgWzxvcHRpb25zPi4uLl0gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8ZmxhZ2dvcj4uLi5dIFs8IDxyZWZsaXN0YT4gfCA8IDxvYmpla3RsaXN0YT5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjUyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjUzCiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgWzxvcHRpb25zPi4uLl0gPGJhc2UtbmFtZT4gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgIiIKICJnaXQgcGFjay1vYmplY3RzIFs8ZmxhZ2dvcj4uLi5dIDxiYXNuYW1uPiBbPCA8cmVmbGlzdGE+IHwgPCA8b2JqZWt0bGlzdGE+XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0MjIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrZWQgb2JqZWN0IENSQyBmb3IgJXMiCiBtc2dzdHIgImZlbGFrdGlnIENSQyBmw7ZyIHBhY2thdCBvYmpla3QgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDMzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjQzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IHBhY2tlZCBvYmplY3QgZm9yICVzIgogbXNnc3RyICJ0cmFzaWd0IHBhY2thdCBvYmpla3QgZsO2ciAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1NjQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlY3Vyc2l2ZSBkZWx0YSBkZXRlY3RlZCBmb3Igb2JqZWN0ICVzIgogbXNnc3RyICJyZWt1cnNpdnQgZGVsdGEgdXBwdMOkY2t0ZXMgZsO2ciBvYmpla3RldCAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3NzUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9yZGVyZWQgJXUgb2JqZWN0cywgZXhwZWN0ZWQgJTxQUkl1MzI+IgogbXNnc3RyICJvcmRuYWRlICV1IG9iamVrdCwgZsO2cnbDpG50YWRlICU8UFJJdTMyPiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3ODgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIGlzIGludmFsaWQ6ICVzIgogbXNnc3RyICJwYWNrZmlsIMOkciBvZ2lsdGlnOiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIHBhY2tmaWxlIGZvciByZXVzZTogJXMiCiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSBwYWNrZmlsIGbDtnIgw6V0ZXJhbnbDpG5kbmluZzogJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzk2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgwMgogbXNnaWQgInVuYWJsZSB0byBzZWVrIGluIHJldXNlZCBwYWNrZmlsZSIKIG1zZ3N0ciAia2FuIGludGUgc8O2a2EgaSDDpXRlcmFudsOkbmQgcGFja2ZpbCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4MDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODEzCiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgZnJvbSByZXVzZWQgcGFja2ZpbGUiCiBtc2dzdHIgImthbiBpbnRlIGzDpHNhIGZyw6VuIMOldGVyYW52w6RuZCBwYWNrZmlsIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgzNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4NDEKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIHBhY2tzIGFyZSBzcGxpdCBkdWUgdG8gcGFjay5wYWNrU2l6ZUxpbWl0IgogbXNnc3RyICIiCiAiaW5ha3RpdmVyYXIgc2tyaXZuaW5nIGF2IGJpdGthcnRhLCBwYWtldCBkZWxhcyBww6UgZ3J1bmQgYXYgcGFjay5wYWNrU2l6ZUxpbWl0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjg0OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4NTQKIG1zZ2lkICJXcml0aW5nIG9iamVjdHMiCiBtc2dzdHIgIlNrcml2ZXIgb2JqZWt0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjkxMCBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjg4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjkxNyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgc3RhdHVzIHDDpSAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIndyb3RlICU8UFJJdTMyPiBvYmplY3RzIHdoaWxlIGV4cGVjdGluZyAlPFBSSXUzMj4iCiBtc2dzdHIgInNrcmV2ICU8UFJJdTMyPiBvYmpla3QgbWVkYW4gJTxQUkl1MzI+IGbDtnJ2w6RudGFkZXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTE1NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxMTY0CiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBhcyBzb21lIG9iamVjdHMgYXJlIG5vdCBiZWluZyBwYWNrZWQiCiBtc2dzdHIgImluYWt0aXZlcmFyIHNrcml2bmluZyBhdiBiaXRrYXJ0YSBkw6UgbsOlZ3JhIG9iamVrdCBpbnRlIHBhY2thcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTg1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE1OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgb3ZlcmZsb3cgaW4gcGFjayBmb3IgJXMiCiBtc2dzdHIgImRlbHRhYmFzb2Zmc2V0IHV0YW5mw7ZyIGdyw6Ruc2VuIGkgcGFjayBmw7ZyICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE1OTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTYwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBvdXQgb2YgYm91bmQgZm9yICVzIgogbXNnc3RyICJkZWx0YWJhc29mZnNldCB1dGFuZsO2ciBncsOkbnN2w6RyZGVuIGbDtnIgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODcwCiBtc2dpZCAiQ291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiUsOka25hciBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTk5OAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDAwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBnZXQgc2l6ZSBvZiAlcyIKIG1zZ3N0ciAia2FuIGludGUgaMOkbXRhIHN0b3JsZWsgcMOlICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwMTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjAxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2Ugb2JqZWN0IGhlYWRlciBvZiAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBvYmpla3RodXZ1ZCBmw7ZyICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwODMgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDk5Ci0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA4NSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjExMQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgY2Fubm90IGJlIHJlYWQiCiBtc2dzdHIgIm9iamVrdGV0ICVzIGt1bmRlIGludGUgbMOkc2FzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwODYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwODggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpbmNvbnNpc3RlbnQgb2JqZWN0IGxlbmd0aCAoJTxQUkl1TUFYPiB2cyAlPFBSSXVNQVg+KSIKIG1zZ3N0ciAib2JqZWt0ZXQgJXMgaGFyIGlua29uc2lzdGVudCBvYmpla3Rsw6RuZ2QgKCU8UFJJdU1BWD4gbW90ICU8UFJJdU1BWD4pIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjEyNQogbXNnaWQgInN1Ym9wdGltYWwgcGFjayAtIG91dCBvZiBtZW1vcnkiCiBtc2dzdHIgImlja2Utb3B0aW1hbHQgcGFjayAtIG1pbm5ldCBzbHV0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWx0YSBjb21wcmVzc2lvbiB1c2luZyB1cCB0byAlZCB0aHJlYWRzIgogbXNnc3RyICJEZWx0YWtvbXByaW1lcmluZyBhbnbDpG5kZXIgdXBwIHRpbGwgJWQgdHLDpWRhciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTgzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhY2sgb2JqZWN0cyByZWFjaGFibGUgZnJvbSB0YWcgJXMiCiBtc2dzdHIgImthbiBpbnRlIHBhY2thIG9iamVrdCBuw6ViYXJhIGZyw6VuIHRhZ2dlbiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjcwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTkKIG1zZ2lkICJDb21wcmVzc2luZyBvYmplY3RzIgogbXNnc3RyICJLb21wcmltZXJhciBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY3NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjY1CiBtc2dpZCAiaW5jb25zaXN0ZW5jeSB3aXRoIGRlbHRhIGNvdW50IgogbXNnc3RyICJkZWx0YXLDpGtuYXJlbiDDpHIgaW5rb25zZWt2ZW50IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhwZWN0ZWQgZWRnZSBvYmplY3QgSUQsIGdvdCBnYXJiYWdlOlxuIgpAQCAtMTM5NzAsNyArMTY3MDYsNyBAQAogImbDtnJ2w6RudGFkZSBrYW50LW9iamVrdC1pZCwgZmljayBza3LDpHA6XG4iCiAiICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhwZWN0ZWQgb2JqZWN0IElELCBnb3QgZ2FyYmFnZTpcbiIKQEAgLTEzOTc5LDI0OSArMTY3MTUsMjQxIEBACiAiZsO2cnbDpG50YWRlIG9iamVrdC1pZCwgZmljayBza3LDpHA6XG4iCiAiICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NgogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yIC0tbWlzc2luZyIKIG1zZ3N0ciAib2dpbHRpZ3QgdsOkcmRlIGbDtnIgLS1taXNzaW5nIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDI0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDEzCiBtc2dpZCAiY2Fubm90IG9wZW4gcGFjayBpbmRleCIKLW1zZ3N0ciAia2FuIGludGUgb8yIcHBuYSBwYWtldGZpbGVuIgorbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgcGFrZXRmaWxlbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9vc2Ugb2JqZWN0IGF0ICVzIGNvdWxkIG5vdCBiZSBleGFtaW5lZCIKIG1zZ3N0ciAibMO2c2Egb2JqZWt0IHDDpSAlcyBrdW5kZSBpbnRlIHVuZGVyw7ZrYXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAzMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDIxCiBtc2dpZCAidW5hYmxlIHRvIGZvcmNlIGxvb3NlIG9iamVjdCIKIG1zZ3N0ciAia2FuIGludGUgdHZpbmdhIGzDtnNhIG9iamVrdCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTIyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgcmV2ICclcyciCiBtc2dzdHIgImludGUgZW4gcmVmZXJlbnMgXCIlc1wiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMjUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzExNgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmV2aXNpb24gJyVzJyIKIG1zZ3N0ciAiZmVsYWt0aWcgcmV2aXNpb24gXCIlc1wiIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxNTAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE0MQogbXNnaWQgInVuYWJsZSB0byBhZGQgcmVjZW50IG9iamVjdHMiCi1tc2dzdHIgImthbiBpbnRlIGxhzIhnZ2EgdGlsbCBueWEgb2JqZWt0IgorbXNnc3RyICJrYW4gaW50ZSBsw6RnZ2EgdGlsbCBueWEgb2JqZWt0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMDMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBpbmRleCB2ZXJzaW9uICVzIgogbXNnc3RyICJpbmRleHZlcnNpb25lbiAlcyBzdMO2ZHMgZWoiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIwNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICclcyciCiBtc2dzdHIgImZlbGFrdGlnIGluZGV4dmVyc2lvbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzNwotbXNnaWQgImRvIG5vdCBzaG93IHByb2dyZXNzIG1ldGVyIgotbXNnc3RyICJ2aXNhIGludGUgZsO2cmxvcHBzaW5kaWthdG9yIgotCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzkKLW1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgotbXNnc3RyICJ2aXNhIGbDtnJsb3Bwc2luZGlrYXRvciIKLQotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQxCi1tc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCi1tc2dzdHIgInZpc2EgZsO2cmxvcHBzaW5kaWthdG9yIHVuZGVyIG9iamVrdHNrcml2bmluZ3NmYXNlbiIKLQotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQ0Ci1tc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgotbXNnc3RyICJzb20gLS1hbGwtcHJvZ3Jlc3MgbsOkciBmw7ZybG9wcHNpbmRpa2F0b3JuIHZpc2FzIgotCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzNgogbXNnaWQgIjx2ZXJzaW9uPlssPG9mZnNldD5dIgogbXNnc3RyICI8dmVyc2lvbj5bLDxvZmZzZXQ+XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQ2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzcKIG1zZ2lkICJ3cml0ZSB0aGUgcGFjayBpbmRleCBmaWxlIGluIHRoZSBzcGVjaWZpZWQgaWR4IGZvcm1hdCB2ZXJzaW9uIgogbXNnc3RyICJza3JpdiBwYWtldGluZGV4ZmlsZW4gaSBhbmdpdmVuIGluZGV4Zm9ybWF0dmVyc2lvbiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQ5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDAKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBvdXRwdXQgcGFjayBmaWxlIgogbXNnc3RyICJtYXhpbWFsIHN0b3JsZWsgcMOlIHZhcmplIHV0ZGF0YXBha2V0ZmlsIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0MgogbXNnaWQgImlnbm9yZSBib3Jyb3dlZCBvYmplY3RzIGZyb20gYWx0ZXJuYXRlIG9iamVjdCBzdG9yZSIKLW1zZ3N0ciAiaWdub3JlcmEgbMOlbmFkZSBvYmpla3QgZnLDpW4gYWx0ZXJuYXRpdmEgb2JqZWt0bGFnZXIiCittc2dzdHIgImlnbm9yZXJhIGzDpW5hZGUgb2JqZWt0IGZyw6VuIHN1cHBsZXJhbmRlIG9iamVrdGxhZ2VyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NAogbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAiaWdub3JlcmEgcGFja2FkZSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQ2CiBtc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKIG1zZ3N0ciAiYmVncsOkbnNhIHBha2V0ZsO2bnN0ZXIgZWZ0ZXIgb2JqZWt0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0OAogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgImJlZ3LDpG5zYSBwYWtldGbDtm5zdGVyIGVmdGVyIG1pbm5lIGbDtnJ1dG9tIG9iamVrdGdyw6RucyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTAKIG1zZ2lkICJtYXhpbXVtIGxlbmd0aCBvZiBkZWx0YSBjaGFpbiBhbGxvd2VkIGluIHRoZSByZXN1bHRpbmcgcGFjayIKIG1zZ3N0ciAibWF4aW1hbCBsw6RuZ2QgcMOlIGRlbHRha2VkamEgdGlsbMOldGVuIGkgc2x1dGxpZ3QgcGFrZXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjUyCiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgogbXNnc3RyICLDpXRlcmFudsOkbmQgYmVmaW50bGlnYSBkZWx0YSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjYzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTQKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBvYmplY3RzIgogbXNnc3RyICLDpXRlcmFudsOkbmQgYmVmaW50bGlnYSBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU2CiBtc2dpZCAidXNlIE9GU19ERUxUQSBvYmplY3RzIgogbXNnc3RyICJhbnbDpG5kIE9GU19ERUxUQS1vYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU4CiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAiYW52w6RuZCB0csOlZGFyIHZpZCBzw7ZrbmluZyBlZnRlciBiw6RzdGEgZGVsdGF0csOkZmZhciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjY5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjAKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgogbXNnc3RyICJmw7Zyc8O2ayBpbnRlIHNrYXBhIHRvbSBwYWtldHV0ZGF0YSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjcxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjIKIG1zZ2lkICJyZWFkIHJldmlzaW9uIGFyZ3VtZW50cyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJsw6RzIHJldmlzaW9uc2FyZ3VtZW50IGZyw6VuIHN0YW5kYXJkIGluIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NAogbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgotbXNnc3RyICJiZWdyw6Ruc2Egb2JqZWt0IHRpbGwgZGUgc29tIMOkbm51IGludGUgcGFja2F0cyIKK21zZ3N0ciAiYmVncsOkbnNhIG9iamVrdCB0aWxsIGRlbSBzb20gw6RubnUgaW50ZSBwYWNrYXRzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NwogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgogbXNnc3RyICJpbmtsdWRlcmEgb2JqZWt0IHNvbSBrYW4gbsOlcyBmcsOlbiBuw6Vnb24gcmVmZXJlbnMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjcwCiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIGJ5IHJlZmxvZyBlbnRyaWVzIgogbXNnc3RyICJpbmtsdWRlcmEgb2JqZWt0IHNvbSByZWZlcmVyYXMgZnLDpW4gcmVmZXJlbnNsb2dncG9zdGVyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3MwogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCB0byBieSB0aGUgaW5kZXgiCiBtc2dzdHIgImlua2x1ZGVyYSBvYmpla3Qgc29tIHJlZmVyZXJhcyBmcsOlbiBpbmRleGV0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3NgogbXNnaWQgIm91dHB1dCBwYWNrIHRvIHN0ZG91dCIKIG1zZ3N0ciAic2tyaXYgcGFrZXQgcMOlIHN0YW5kYXJkIHV0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3OAogbXNnaWQgImluY2x1ZGUgdGFnIG9iamVjdHMgdGhhdCByZWZlciB0byBvYmplY3RzIHRvIGJlIHBhY2tlZCIKIG1zZ3N0ciAiaW5rbHVkZXJhIHRhZ2dvYmpla3Qgc29tIHJlZmVyZXJhciBvYmpla3Qgc29tIHNrYWxsIHBhY2thcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODAKIG1zZ2lkICJrZWVwIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgImJlaMOlbGwgb27DpWJhcmEgb2JqZWt0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4MgogbXNnaWQgInBhY2sgbG9vc2UgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAicGFja2EgbMO2c2Egb27DpWJhcmEgb2JqZWt0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4NAogbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgogbXNnc3RyICJwYWNrYSB1cHAgb27DpWJhcmEgb2JqZWt0IG55YXJlIMOkbiA8dGlkPiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODcKK21zZ2lkICJ1c2UgdGhlIHNwYXJzZSByZWFjaGFiaWxpdHkgYWxnb3JpdGhtIgorbXNnc3RyICJhbnbDpG5kIGdsZXMtbsOlYmFyaGV0c2FsZ29yaXRtZW4iCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4OQogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICJza2FwYSB0dW5uYSBwYWtldCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTEKIG1zZ2lkICJjcmVhdGUgcGFja3Mgc3VpdGFibGUgZm9yIHNoYWxsb3cgZmV0Y2hlcyIKIG1zZ3N0ciAic2thcGEgcGFja2ZpbGVyIGzDpG1wYWRlIGbDtnIgZ3J1bmRhIGjDpG10bmluZ2FyIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MwogbXNnaWQgImlnbm9yZSBwYWNrcyB0aGF0IGhhdmUgY29tcGFuaW9uIC5rZWVwIGZpbGUiCiBtc2dzdHIgImlnbm9yZXJhIHBha2V0IHNvbSBoYXIgdGlsbGjDtnJhbmRlIC5rZWVwLWZpbCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzAyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTUKIG1zZ2lkICJpZ25vcmUgdGhpcyBwYWNrIgogbXNnc3RyICJpZ25vcmVyYSBkZXR0YSBwYWtldCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzA0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTcKIG1zZ2lkICJwYWNrIGNvbXByZXNzaW9uIGxldmVsIgogbXNnc3RyICJrb21wcmltZXJpbmdzZ3JhZCBmw7ZyIHBha2V0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5OQogbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgogbXNnc3RyICJnw7ZtIGludGUgaW5jaGVja25pbmdhciBtZWQgeW1wbmluZ2FyIChcImdyYWZ0c1wiKSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzA4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDEKIG1zZ2lkICJ1c2UgYSBiaXRtYXAgaW5kZXggaWYgYXZhaWxhYmxlIHRvIHNwZWVkIHVwIGNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgImFudsOkbmQgYml0a2FydGluZGV4IG9tIHRpbGxnw6RuZ2xpZ3QgZsO2ciBhdHQgcsOka25hIG9iamVrdCBzbmFiYmFyZSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzEwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDMKIG1zZ2lkICJ3cml0ZSBhIGJpdG1hcCBpbmRleCB0b2dldGhlciB3aXRoIHRoZSBwYWNrIGluZGV4IgogbXNnc3RyICJhbnbDpG5kIGJpdGthcnRpbmRleCB0aWxsc2FtbWFucyBtZWQgcGFja2luZGV4ZXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzA3Cittc2dpZCAid3JpdGUgYSBiaXRtYXAgaW5kZXggaWYgcG9zc2libGUiCittc2dzdHIgInNrcml2IGJpdGthcnRpbmRleCBvbSBtw7ZqbGlndCIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzExCiBtc2dpZCAiaGFuZGxpbmcgZm9yIG1pc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAiaGFudGVyaW5nIGF2IHNha25hZGUgb2JqZWt0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxNAogbXNnaWQgImRvIG5vdCBwYWNrIG9iamVjdHMgaW4gcHJvbWlzb3IgcGFja2ZpbGVzIgogbXNnc3RyICJwYWNrYSBpbnRlIG9iamVrdCBpIGtvbnRyYWt0c3BhY2tmaWxlciIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzE4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTYKIG1zZ2lkICJyZXNwZWN0IGlzbGFuZHMgZHVyaW5nIGRlbHRhIGNvbXByZXNzaW9uIgogbXNnc3RyICJyZXNwZWt0ZXJhIMO2YXIgdW5kZXIgZGVsdGFrb21wcmltZXJpbmciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM0MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbHRhIGNoYWluIGRlcHRoICVkIGlzIHRvbyBkZWVwLCBmb3JjaW5nICVkIgogbXNnc3RyICJkZWx0YWtlZGplZGp1cGV0ICVkIMOkciBmw7ZyIGRqdXB0LCBww6V0dmluZ2FyICVkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzNDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrLmRlbHRhQ2FjaGVMaW1pdCBpcyB0b28gaGlnaCwgZm9yY2luZyAlZCIKIG1zZ3N0ciAicGFjay5kZWx0YUNhY2hlTGltaXQgw6RyIGbDtnIgaMO2Z3QsIHDDpXR2aW5nYXIgJWQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDA0CiBtc2dpZCAiLS1tYXgtcGFjay1zaXplIGNhbm5vdCBiZSB1c2VkIHRvIGJ1aWxkIGEgcGFjayBmb3IgdHJhbnNmZXIiCiBtc2dzdHIgIiIKICItLW1heC1wYWNrLXNpemUga2FuIGludGUgYW52w6RuZGFzIGbDtnIgYXR0IGJ5Z2dhIGV0dCBwYWtldCBzb20gc2thbGwgw7Z2ZXJmw7ZyYXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDA2CiBtc2dpZCAibWluaW11bSBwYWNrIHNpemUgbGltaXQgaXMgMSBNaUIiCiBtc2dzdHIgIm1pbnN0YSBwYWNrc3RvcmxlayDDpHIgMSBNaUIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwOAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDExCiBtc2dpZCAiLS10aGluIGNhbm5vdCBiZSB1c2VkIHRvIGJ1aWxkIGFuIGluZGV4YWJsZSBwYWNrIgogbXNnc3RyICItLXRoaW4ga2FuIGludGUgYW52w6RuZGFzIGbDtnIgYXR0IGJ5Z2dhIGV0dCBpbmRleGVyYmFydCBwYWtldCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDExCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTQKIG1zZ2lkICItLWtlZXAtdW5yZWFjaGFibGUgYW5kIC0tdW5wYWNrLXVucmVhY2hhYmxlIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0ta2VlcC11bnJlYWNoYWJsZSBvY2ggLXVucGFjay11bnJlYWNoYWJsZSBrYW4gaW50ZSBhbnbDpG5kYXMgc2FtdGlkaWd0IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQyMAogbXNnaWQgImNhbm5vdCB1c2UgLS1maWx0ZXIgd2l0aG91dCAtLXN0ZG91dCIKIG1zZ3N0ciAia2FuIGludGUgYW52w6RuZGEgLS1maWx0ZXIgdXRhbiAtLXN0ZG91dCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDc2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0ODEKIG1zZ2lkICJFbnVtZXJhdGluZyBvYmplY3RzIgogbXNnc3RyICJSw6RrbmFyIHVwcCBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQ5NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRvdGFsICU8UFJJdTMyPiAoZGVsdGEgJTxQUkl1MzI+KSwgcmV1c2VkICU8UFJJdTMyPiAoZGVsdGEgJTxQUkl1MzI+KSIKIG1zZ3N0ciAiIgogIlRvdGFsdCAlPFBSSXUzMj4gKGRlbHRhICU8UFJJdTMyPiksIMOldGVyYW52w6RuZGUgJTxQUkl1MzI+IChkZWx0YSAlPFBSSXUzMj4pIgogCi0jOiBidWlsdGluL3BhY2stcmVmcy5jOjcKKyM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6OAogbXNnaWQgImdpdCBwYWNrLXJlZnMgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBwYWNrLXJlZnMgWzxmbGFnZ29yPl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTUKKyM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTYKIG1zZ2lkICJwYWNrIGV2ZXJ5dGhpbmciCiBtc2dzdHIgInBhY2thIGFsbHQiCiAKLSM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTYKKyM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTcKIG1zZ2lkICJwcnVuZSBsb29zZSByZWZzIChkZWZhdWx0KSIKIG1zZ3N0ciAidGEgYm9ydCBsw7ZzYSByZWZlcmVuc2VyIChzdGFuZGFyZCkiCiAKQEAgLTE0MjM3LDY5ICsxNjk2NSw2OSBAQAogbXNnaWQgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tcHJvZ3Jlc3NdIFstLWV4cGlyZSA8dGltZT5dIFstLV0gWzxoZWFkPi4uLl0iCiBtc2dzdHIgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tcHJvZ3Jlc3NdIFstLWV4cGlyZSA8dGlkPl0gWy0tXSBbPGh1dnVkPi4uLl0iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDkKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzEKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIG9iamVjdHMiCiBtc2dzdHIgInJhcHBvcnRlcmEgYm9ydHRhZ25hIG9iamVrdCIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjExMgorIzogYnVpbHRpbi9wcnVuZS5jOjEzNAogbXNnaWQgImV4cGlyZSBvYmplY3RzIG9sZGVyIHRoYW4gPHRpbWU+IgogbXNnc3RyICJsw6V0IHRpZCBnw6UgdXQgZsO2ciBvYmpla3Qgw6RsZHJlIMOkbiA8dGlkPiIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjExNAorIzogYnVpbHRpbi9wcnVuZS5jOjEzNgogbXNnaWQgImxpbWl0IHRyYXZlcnNhbCB0byBvYmplY3RzIG91dHNpZGUgcHJvbWlzb3IgcGFja2ZpbGVzIgogbXNnc3RyICJiZWdyw6Ruc2EgdmFuZHJpbmcgYXYgb2JqZWt0IHV0YW5mw7ZyIGtvbnRyYWt0c3BhY2tmaWxlci4iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMjkKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxNTAKIG1zZ2lkICJjYW5ub3QgcHJ1bmUgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCiBtc2dzdHIgImthbiBpbnRlIHJlbnNhIGkgZXR0IFwicHJlY2lvdXMtb2JqZWt0XCItYXJraXYiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjYwIGJ1aWx0aW4vcHVsbC5jOjYyCisjOiBidWlsdGluL3B1bGwuYzo2NiBidWlsdGluL3B1bGwuYzo2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgIkZlbGFrdGlndCB2w6RyZGUgZsO2ciAlczogJXMiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjgyCisjOiBidWlsdGluL3B1bGwuYzo4OAogbXNnaWQgImdpdCBwdWxsIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgcHVsbCBbPGZsYWdnb3I+XSBbPGFya2l2PiBbPHJlZnNwZWM+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEzMworIzogYnVpbHRpbi9wdWxsLmM6MTQyCiBtc2dpZCAiY29udHJvbCBmb3IgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInN0eXJuaW5nIGbDtnIgcmVrdXJzaXYgaMOkbXRuaW5nIGF2IHVuZGVybW9kdWxlciIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTM3CisjOiBidWlsdGluL3B1bGwuYzoxNDYKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gbWVyZ2luZyIKIG1zZ3N0ciAiQWx0ZXJuYXRpdiBnw6RsbGFuZGUgc2FtbWFuc2xhZ25pbmciCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE0MAorIzogYnVpbHRpbi9wdWxsLmM6MTQ5CiBtc2dpZCAiaW5jb3Jwb3JhdGUgY2hhbmdlcyBieSByZWJhc2luZyByYXRoZXIgdGhhbiBtZXJnaW5nIgogbXNnc3RyICJpbmxlbW1hIMOkbmRyaW5nYXIgZ2Vub20gb21iYXNlcmluZyBpIHN0w6RsbGV0IGbDtnIgc2FtbWFuc2xhZ25pbmciCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE2NyBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNDcgYnVpbHRpbi9yZXZlcnQuYzoxMjIKKyM6IGJ1aWx0aW4vcHVsbC5jOjE3NyBidWlsdGluL3JlYmFzZS5jOjQ2NyBidWlsdGluL3JldmVydC5jOjEyNgogbXNnaWQgImFsbG93IGZhc3QtZm9yd2FyZCIKIG1zZ3N0ciAidGlsbMOldCBzbmFiYnNwb2xuaW5nIgogCi0jOiBidWlsdGluL3B1bGwuYzoxNzYKKyM6IGJ1aWx0aW4vcHVsbC5jOjE4NgogbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIgcmViYXNlIgogbXNnc3RyICJ1dGbDtnIgYXV0b21hdGlza3Qgc3Rhc2gvc3Rhc2ggcG9wIGbDtnJlIG9jaCBlZnRlciBvbWJhc2VyaW5nIgogCi0jOiBidWlsdGluL3B1bGwuYzoxOTIKKyM6IGJ1aWx0aW4vcHVsbC5jOjIwMgogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBmZXRjaGluZyIKIG1zZ3N0ciAiQWx0ZXJuYXRpdiBnw6RsbGFuZGUgaMOkbXRuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjIwMgorIzogYnVpbHRpbi9wdWxsLmM6MjEyCiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIGJyYW5jaCIKIG1zZ3N0ciAidHZpbmdhIMO2dmVyc2tyaXZuaW5nIGF2IGxva2FsIGdyZW4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjIxMAorIzogYnVpbHRpbi9wdWxsLmM6MjIwCiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgcHVsbGVkIGluIHBhcmFsbGVsIgogbXNnc3RyICJhbnRhbCB1bmRlcm1vZHVsZXIgc29tIGjDpG10YXMgcGFyYWxsZWxsdCIKIAotIzogYnVpbHRpbi9wdWxsLmM6MzA1CisjOiBidWlsdGluL3B1bGwuYzozMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgcHVsbC5mZjogJXMiCiBtc2dzdHIgIkZlbGFrdGlndCB2w6RyZGUgZsO2ciBwdWxsLmZmOiAlcyIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDIxCisjOiBidWlsdGluL3B1bGwuYzo0MzcKIG1zZ2lkICIiCiAiVGhlcmUgaXMgbm8gY2FuZGlkYXRlIGZvciByZWJhc2luZyBhZ2FpbnN0IGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgIgogImZldGNoZWQuIgpAQCAtMTQzMDcsMTQgKzE3MDM1LDE0IEBACiAiRGV0IGZpbm5zIGluZ2VuIGthbmRpZGF0IGbDtnIgb21iYXNlcmluZyBibGFuZCByZWZlcmVuc2VybmEgZHUgcHJlY2lzIGhhciAiCiAiaMOkbXRhdC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyMworIzogYnVpbHRpbi9wdWxsLmM6NDM5CiBtc2dpZCAiIgogIlRoZXJlIGFyZSBubyBjYW5kaWRhdGVzIGZvciBtZXJnaW5nIGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgZmV0Y2hlZC4iCiBtc2dzdHIgIiIKICJEZXQgZmlubnMgaW5nZW4ga2FuZGlkYXQgZsO2ciBzYW1tYW5zbGFnbmluZyBibGFuZCByZWZlcmVuc2VybmEgZHUgcHJlY2lzIGhhciAiCiAiaMOkbXRhdC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyNAorIzogYnVpbHRpbi9wdWxsLmM6NDQwCiBtc2dpZCAiIgogIkdlbmVyYWxseSB0aGlzIG1lYW5zIHRoYXQgeW91IHByb3ZpZGVkIGEgd2lsZGNhcmQgcmVmc3BlYyB3aGljaCBoYWQgbm9cbiIKICJtYXRjaGVzIG9uIHRoZSByZW1vdGUgZW5kLiIKQEAgLTE0MzIyLDcgKzE3MDUwLDcgQEAKICJEZXQgYmV0eWRlciB2YW5saWd0dmlzIGF0dCBkdSBhbnbDpG50IGVuIGpva2VydGVja2VuLXJlZnNwZWMgc29tIGludGVcbiIKICJtb3RzdmFyYWRlIG7DpWdvdCBpIGZqw6RycsOkbmRlbi4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyNworIzogYnVpbHRpbi9wdWxsLmM6NDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gcHVsbCBmcm9tIHRoZSByZW1vdGUgJyVzJywgYnV0IGRpZCBub3Qgc3BlY2lmeVxuIgpAQCAtMTQzMzMsNDIgKzE3MDYxLDQyIEBACiAiZ3Jlbi4gRWZ0ZXJzb20gZGV0IGludGUgw6RyIGRlbiBmasOkcnIgc29tIMOkciBrb25maWd1cmVyYWQgc29tXG4iCiAic3RhbmRhcmQgZsO2ciBha3R1ZWxsIGdyZW4gbcOlc3RlIGR1IGFuZ2UgZW4gZ3JlbiBww6Uga29tbWFuZG9yYWRlbi4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzMiBidWlsdGluL3JlYmFzZS5jOjc2MSBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCisjOiBidWlsdGluL3B1bGwuYzo0NDggYnVpbHRpbi9yZWJhc2UuYzoxMzc1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKIG1zZ2lkICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guIgogbXNnc3RyICJEdSDDpHIgaW50ZSBww6UgbsOlZ29uIGdyZW4gZsO2ciBuw6RydmFyYW5kZS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzNCBidWlsdGluL3B1bGwuYzo0NDkgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQorIzogYnVpbHRpbi9wdWxsLmM6NDUwIGJ1aWx0aW4vcHVsbC5jOjQ2NSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIHJlYmFzZSBhZ2FpbnN0LiIKIG1zZ3N0ciAiQW5nZSB2aWxrZW4gZ3JlbiBkdSB2aWxsIG9tYmFzZXJhIG1vdC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzNiBidWlsdGluL3B1bGwuYzo0NTEgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgorIzogYnVpbHRpbi9wdWxsLmM6NDUyIGJ1aWx0aW4vcHVsbC5jOjQ2NyBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIG1lcmdlIHdpdGguIgogbXNnc3RyICJBbmdlIHZpbGtlbiBncmVuIGR1IHZpbGwgc2zDpSBzYW1tYW4gbWVkLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM3IGJ1aWx0aW4vcHVsbC5jOjQ1MgorIzogYnVpbHRpbi9wdWxsLmM6NDUzIGJ1aWx0aW4vcHVsbC5jOjQ2OAogbXNnaWQgIlNlZSBnaXQtcHVsbCgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIlNlIGdpdC1wdWxsKDEpIGbDtnIgZGV0YWxqZXIuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzkgYnVpbHRpbi9wdWxsLmM6NDQ1IGJ1aWx0aW4vcHVsbC5jOjQ1NAotIzogYnVpbHRpbi9yZWJhc2UuYzo3NjcgZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NAorIzogYnVpbHRpbi9wdWxsLmM6NDU1IGJ1aWx0aW4vcHVsbC5jOjQ2MSBidWlsdGluL3B1bGwuYzo0NzAKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTM4MSBnaXQtcGFyc2UtcmVtb3RlLnNoOjY0CiBtc2dpZCAiPHJlbW90ZT4iCiBtc2dzdHIgIjxmasOkcnI+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzkgYnVpbHRpbi9wdWxsLmM6NDU0IGJ1aWx0aW4vcHVsbC5jOjQ1OQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTU2IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1NSBidWlsdGluL3B1bGwuYzo0NzAgYnVpbHRpbi9wdWxsLmM6NDc1CisjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1CiBtc2dpZCAiPGJyYW5jaD4iCiBtc2dzdHIgIjxncmVuPiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDQ3IGJ1aWx0aW4vcmViYXNlLmM6NzU5IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ2MyBidWlsdGluL3JlYmFzZS5jOjEzNzMgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQogbXNnaWQgIlRoZXJlIGlzIG5vIHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICJEZXQgZmlubnMgaW5nZW4gc3DDpXJuaW5nc2luZm9ybWF0aW9uIGbDtnIgYWt0dWVsbCBncmVuLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDU2IGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ3MiBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNldCB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhpcyBicmFuY2ggeW91IGNhbiBkbyBzbyB3aXRoOiIKIG1zZ3N0ciAiT20gZHUgdmlsbCBhbmdlIHNww6VybmluZ3NpbmZvcm1hdGlvbiBmw7ZyIGdyZW5lbiBrYW4gZHUgZ8O2cmEgZGV0IG1lZDoiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ2MQorIzogYnVpbHRpbi9wdWxsLmM6NDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVzIHRvIG1lcmdlIHdpdGggdGhlIHJlZiAnJXMnXG4iCkBAIC0xNDM3NywzMiArMTcxMDUsMzIgQEAKICJEaW5hIGluc3TDpGxsbmluZ2FyIGFuZ2VyIHNhbW1hbnNsYWduaW5nIG1lZCByZWZlcmVuc2VuIFwiJXNcIlxuIgogImZyw6VuIGZqw6RycmVuLCBtZW4gbsOlZ29uIHPDpWRhbiByZWZlcmVucyB0b2dzIGludGUgZW1vdC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjU2NQorIzogYnVpbHRpbi9wdWxsLmM6NTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgY29tbWl0ICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIGtvbW1hIMOldCBpbmNoZWNrbmluZ2VuICVzIgogCi0jOiBidWlsdGluL3B1bGwuYzo4NDMKKyM6IGJ1aWx0aW4vcHVsbC5jOjg2NwogbXNnaWQgImlnbm9yaW5nIC0tdmVyaWZ5LXNpZ25hdHVyZXMgZm9yIHJlYmFzZSIKIG1zZ3N0ciAiaWdub3JlcmEgLS12ZXJpZnktc2lnbmF0dXJlcyBmw7ZyIG9tYmFzZXJpbmciCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg5MQorIzogYnVpbHRpbi9wdWxsLmM6OTIyCiBtc2dpZCAiLS1bbm8tXWF1dG9zdGFzaCBvcHRpb24gaXMgb25seSB2YWxpZCB3aXRoIC0tcmViYXNlLiIKIG1zZ3N0ciAiLS1bbm8tXWF1dG9zdGFzaCDDpHIgZW5kYXN0IGdpbHRpZyBtZWQgLS1yZWJhc2UuIgogCi0jOiBidWlsdGluL3B1bGwuYzo4OTkKKyM6IGJ1aWx0aW4vcHVsbC5jOjkzMAogbXNnaWQgIlVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleC4iCiBtc2dzdHIgIlVwcGRhdGVyYXIgZW4gb2bDtmRkIGdyZW4gbWVkIMOkbmRyaW5nYXIgc29tIGxhZ3RzIHRpbGwgaSBpbmRleGV0LiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTAyCisjOiBidWlsdGluL3B1bGwuYzo5MzQKIG1zZ2lkICJwdWxsIHdpdGggcmViYXNlIgogbXNnc3RyICJwdWxsIG1lZCBvbWJhc2VyaW5nIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MDMKKyM6IGJ1aWx0aW4vcHVsbC5jOjkzNQogbXNnaWQgInBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgImNoZWNrYSBpbiBlbGxlciBhbnbDpG5kIFwic3Rhc2hcIiBww6UgZGVtLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTI4CisjOiBidWlsdGluL3B1bGwuYzo5NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC0xNDQxMyw3ICsxNzE0MSw3IEBACiAic25hYmJzcG9sYXIgZGluIGFyYmV0c2thdGFsb2cgZnLDpW5cbiIKICJpbmNoZWNrbmluZ2VuICVzLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTM0CisjOiBidWlsdGluL3B1bGwuYzo5NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCBmYXN0LWZvcndhcmQgeW91ciB3b3JraW5nIHRyZWUuXG4iCkBAIC0xNDQzMCwxNSArMTcxNTgsMTUgQEAKICIkIGdpdCByZXNldCAtLWhhcmRcbiIKICJmw7ZyIGF0dCDDpXRlcmfDpS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjk0OQorIzogYnVpbHRpbi9wdWxsLmM6OTgxCiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZC4iCiBtc2dzdHIgIkthbiBpbnRlIHNsw6UgaWhvcCBmbGVyYSBncmVuYXIgaSBldHQgdG9tdCBodXZ1ZC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjk1MworIzogYnVpbHRpbi9wdWxsLmM6OTg1CiBtc2dpZCAiQ2Fubm90IHJlYmFzZSBvbnRvIG11bHRpcGxlIGJyYW5jaGVzLiIKIG1zZ3N0ciAiS2FuIGludGUgb21iYXNlcmEgb3ZhbnDDpSBmbGVyYSBncmVuYXIuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5NjAKKyM6IGJ1aWx0aW4vcHVsbC5jOjk5MgogbXNnaWQgImNhbm5vdCByZWJhc2Ugd2l0aCBsb2NhbGx5IHJlY29yZGVkIHN1Ym1vZHVsZSBtb2RpZmljYXRpb25zIgogbXNnc3RyICJrYW4gaW50ZSBvbWJhc2VyYSBtZWQgbG9rYWx0IGxhZ3JhZGUgw6RuZHJpbmdhciBpIHVuZGVybW9mdWwiCiAKQEAgLTE0NDQ2LDE1ICsxNzE3NCwxNSBAQAogbXNnaWQgImdpdCBwdXNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgogbXNnc3RyICJnaXQgcHVzaCBbPGZsYWdnb3I+XSBbPGFya2l2PiBbPHJlZnNwZWM+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjExMQorIzogYnVpbHRpbi9wdXNoLmM6MTEyCiBtc2dpZCAidGFnIHNob3J0aGFuZCB3aXRob3V0IDx0YWc+IgogbXNnc3RyICJ0YWdnZsO2cmtvcnRuaW5nIHV0YW4gPHRhZ2c+IgogCi0jOiBidWlsdGluL3B1c2guYzoxMjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjEyMgogbXNnaWQgIi0tZGVsZXRlIG9ubHkgYWNjZXB0cyBwbGFpbiB0YXJnZXQgcmVmIG5hbWVzIgogbXNnc3RyICItLWRlbGV0ZSBnb2R0YXIgZW5kYXN0IGVua2xhIG3DpWxyZWZlcmVuc25hbW4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE2NQorIzogYnVpbHRpbi9wdXNoLmM6MTY4CiBtc2dpZCAiIgogIlxuIgogIlRvIGNob29zZSBlaXRoZXIgb3B0aW9uIHBlcm1hbmVudGx5LCBzZWUgcHVzaC5kZWZhdWx0IGluICdnaXQgaGVscCBjb25maWcnLiIKQEAgLTE0NDYzLDcgKzE3MTkxLDcgQEAKICJGw7ZyIGF0dCB2w6RsamEgZXR0IGF2IGFsdGVybmF0aXZlbiBwZXJtYW5lbnQsIHNlIHB1c2guZGVmYXVsdCBpIFwiZ2l0IGhlbHAgIgogImNvbmZpZ1wiLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTY4CisjOiBidWlsdGluL3B1c2guYzoxNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSB1cHN0cmVhbSBicmFuY2ggb2YgeW91ciBjdXJyZW50IGJyYW5jaCBkb2VzIG5vdCBtYXRjaFxuIgpAQCAtMTQ0ODgsNyArMTcyMTYsNyBAQAogIiAgICBnaXQgcHVzaCAlcyBIRUFEXG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE4MworIzogYnVpbHRpbi9wdXNoLmM6MTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guXG4iCkBAIC0xNDUwMyw3ICsxNzIzMSw3IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoICVzIEhFQUQ6PG5hbW4tcMOlLWZqw6RycmdyZW4+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE5NworIzogYnVpbHRpbi9wdXNoLmM6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG5vIHVwc3RyZWFtIGJyYW5jaC5cbiIKQEAgLTE0NTE2LDEyICsxNzI0NCwxMiBAQAogIlxuIgogIiAgICBnaXQgcHVzaCAtLXNldC11cHN0cmVhbSAlcyAlc1xuIgogCi0jOiBidWlsdGluL3B1c2guYzoyMDUKKyM6IGJ1aWx0aW4vcHVzaC5jOjIwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG11bHRpcGxlIHVwc3RyZWFtIGJyYW5jaGVzLCByZWZ1c2luZyB0byBwdXNoLiIKIG1zZ3N0ciAiRGVuIGFrdHVlbGxhIGdyZW5lbiAlcyBoYXIgZmxlcmEgdXBwc3Ryw7Ztc2dyZW5hciwgdsOkZ3JhciBzw6RuZGEuIgogCi0jOiBidWlsdGluL3B1c2guYzoyMDgKKyM6IGJ1aWx0aW4vcHVzaC5jOjIxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBwdXNoaW5nIHRvIHJlbW90ZSAnJXMnLCB3aGljaCBpcyBub3QgdGhlIHVwc3RyZWFtIG9mXG4iCkBAIC0xNDUzMiwxNCArMTcyNjAsMTQgQEAKICJha3R1ZWxsYSBncmVuZW4gXCIlc1wiLCB1dGFuIGF0dCB0YWxhIG9tIGbDtnIgbWlnIHZhZCBzb21cbiIKICJza2FsbCBzw6RuZGFzIGbDtnIgYXR0IHVwcGRhdGVyYSBmasOkcnJncmVuZW4uIgogCi0jOiBidWlsdGluL3B1c2guYzoyNjcKKyM6IGJ1aWx0aW4vcHVzaC5jOjI3MAogbXNnaWQgIiIKICJZb3UgZGlkbid0IHNwZWNpZnkgYW55IHJlZnNwZWNzIHRvIHB1c2gsIGFuZCBwdXNoLmRlZmF1bHQgaXMgXCJub3RoaW5nXCIuIgogbXNnc3RyICIiCiAiRHUgYW5nYXYgaW5nYSByZWZlcmVuc3NwZWNpZmlrYXRpb25lciBhdHQgc8OkbmRhLCBvY2ggcHVzaC5kZWZhdWx0IMOkciAiCiAiXCJub3RoaW5nXCIuIgogCi0jOiBidWlsdGluL3B1c2guYzoyNzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjI3NwogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGlwIG9mIHlvdXIgY3VycmVudCBicmFuY2ggaXMgYmVoaW5kXG4iCiAiaXRzIHJlbW90ZSBjb3VudGVycGFydC4gSW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlcyAoZS5nLlxuIgpAQCAtMTQ1NTEsNyArMTcyNzksNyBAQAogIlwiZ2l0IHB1bGwgLi4uLlwiKSBpbm5hbiBkdSBzw6RuZGVyIGlnZW4uXG4iCiAiU2UgYXZzbml0dGV0IFwiTm90ZSBhYm91dCBmYXN0LWZvcndhcmRcIiBpIFwiZ2l0IHB1c2ggLS1oZWxwXCIgZsO2ciBkZXRhbGplci4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI4MAorIzogYnVpbHRpbi9wdXNoLmM6MjgzCiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIGEgcHVzaGVkIGJyYW5jaCB0aXAgaXMgYmVoaW5kIGl0cyByZW1vdGVcbiIKICJjb3VudGVycGFydC4gQ2hlY2sgb3V0IHRoaXMgYnJhbmNoIGFuZCBpbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzXG4iCkBAIC0xNDU2Myw3ICsxNzI5MSw3IEBACiAiXCJnaXQgcHVsbCAuLi5cIikgaW5uYW4gZHUgc8OkbmRlciBpZ2VuLlxuIgogIlNlIGF2c25pdHRldCBcIk5vdGUgYWJvdXQgZmFzdC1mb3J3YXJkXCIgaSBcImdpdCBwdXNoIC0taGVscFwiIGbDtnIgZGV0YWxqZXIuIgogCi0jOiBidWlsdGluL3B1c2guYzoyODYKKyM6IGJ1aWx0aW4vcHVzaC5jOjI4OQogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcmVtb3RlIGNvbnRhaW5zIHdvcmsgdGhhdCB5b3UgZG9cbiIKICJub3QgaGF2ZSBsb2NhbGx5LiBUaGlzIGlzIHVzdWFsbHkgY2F1c2VkIGJ5IGFub3RoZXIgcmVwb3NpdG9yeSBwdXNoaW5nXG4iCkBAIC0xNDU3NywxMSArMTczMDUsMTEgQEAKICIodC5leC4gXCJnaXQgcHVsbCAuLi5cIikgaW5uYW4gZHUgc8OkbmRlciBpZ2VuLlxuIgogIlNlIGF2c25pdHRldCBcIk5vdGUgYWJvdXQgZmFzdC1mb3J3YXJkc1wiIGkgXCJnaXQgcHVzaCAtLWhlbHBcIiBmw7ZyIGRldGFsamVyLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjkzCisjOiBidWlsdGluL3B1c2guYzoyOTYKIG1zZ2lkICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGFnIGFscmVhZHkgZXhpc3RzIGluIHRoZSByZW1vdGUuIgogbXNnc3RyICJVcHBkYXRlcmluZ2FybmEgYXZ2aXNhZGVzIGVmdGVyc29tIHRhZ2dlbiByZWRhbiBmaW5ucyBww6UgZmrDpHJyZW4uIgogCi0jOiBidWlsdGluL3B1c2guYzoyOTYKKyM6IGJ1aWx0aW4vcHVzaC5jOjI5OQogbXNnaWQgIiIKICJZb3UgY2Fubm90IHVwZGF0ZSBhIHJlbW90ZSByZWYgdGhhdCBwb2ludHMgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKICJvciB1cGRhdGUgYSByZW1vdGUgcmVmIHRvIG1ha2UgaXQgcG9pbnQgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKQEAgLTE0NTkyLDIyICsxNzMyMCw5OSBAQAogInBla2FyIHDDpSBuw6Vnb3Qgc29tIGludGUgw6RyIGVuIGluY2hlY2tuaW5nLCB1dGFuIGF0dCBhbnbDpG5kYSBmbGFnZ2FuXG4iCiAiXCItLWZvcmNlXCIuXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM1NworIzogYnVpbHRpbi9wdXNoLmM6MzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlB1c2hpbmcgdG8gJXNcbiIKIG1zZ3N0ciAiU8OkbmRlciB0aWxsICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM2MQorIzogYnVpbHRpbi9wdXNoLmM6MzY3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwdXNoIHNvbWUgcmVmcyB0byAnJXMnIgogbXNnc3RyICJtaXNzbHlja2FkZXMgc8OkbmRhIHZpc3NhIHJlZmVyZW5zZXIgdGlsbCBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5NQorIzogYnVpbHRpbi9wdXNoLmM6NTQyCittc2dpZCAicmVwb3NpdG9yeSIKK21zZ3N0ciAiYXJraXYiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MyBidWlsdGluL3NlbmQtcGFjay5jOjE2NAorbXNnaWQgInB1c2ggYWxsIHJlZnMiCittc2dzdHIgInPDpG5kIGFsbGEgcmVmZXJlbnNlciIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2Cittc2dpZCAibWlycm9yIGFsbCByZWZzIgorbXNnc3RyICJzcGVnbGEgYWxsYSByZWZlcmVuc2VyIgorCisjOiBidWlsdGluL3B1c2guYzo1NDYKK21zZ2lkICJkZWxldGUgcmVmcyIKK21zZ3N0ciAidGEgYm9ydCByZWZlcmVuc2VyIgorCisjOiBidWlsdGluL3B1c2guYzo1NDcKK21zZ2lkICJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiCittc2dzdHIgInPDpG5kIHRhZ2dhciAoa2FuIGludGUgYW52w6RuZGFzIG1lZCAtLWFsbCBlbGxlciAtLW1pcnJvcikiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MCBidWlsdGluL3NlbmQtcGFjay5jOjE2NworbXNnaWQgImZvcmNlIHVwZGF0ZXMiCittc2dzdHIgInR2aW5nYSB1cHBkYXRlcmluZ2FyIgorCisjOiBidWlsdGluL3B1c2guYzo1NTIgYnVpbHRpbi9zZW5kLXBhY2suYzoxODEKK21zZ2lkICI8cmVmbmFtZT46PGV4cGVjdD4iCittc2dzdHIgIjxyZWZuYW1uPjo8ZsO2cnbDpG50YT4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MyBidWlsdGluL3NlbmQtcGFjay5jOjE4MgorbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgorbXNnc3RyICJrcsOkdiBhdHQgcmVmOnMgdGlkaWdhcmUgdsOkcmRlIMOkciBkZXR0YSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTU2Cittc2dpZCAiY29udHJvbCByZWN1cnNpdmUgcHVzaGluZyBvZiBzdWJtb2R1bGVzIgorbXNnc3RyICJzdHlyIHJla3Vyc2l2IGluc8OkbmRuaW5nIGF2IHVuZGVybW9kdWxlciIKKworIzogYnVpbHRpbi9wdXNoLmM6NTU4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1Cittc2dpZCAidXNlIHRoaW4gcGFjayIKK21zZ3N0ciAiYW52w6RuZCB0dW5uYSBwYWtldCIKKworIzogYnVpbHRpbi9wdXNoLmM6NTU5IGJ1aWx0aW4vcHVzaC5jOjU2MCBidWlsdGluL3NlbmQtcGFjay5jOjE2MQorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKK21zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKK21zZ3N0ciAicHJvZ3JhbSBmw7ZyIGF0dCB0YSBlbW90IHBha2V0IgorCisjOiBidWlsdGluL3B1c2guYzo1NjEKK21zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL3N0YXR1cyIKK21zZ3N0ciAic3TDpGxsIGluIHVwcHN0csO2bSBmw7ZyIGdpdCBwdWxsL3N0YXR1cyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTY0Cittc2dpZCAicHJ1bmUgbG9jYWxseSByZW1vdmVkIHJlZnMiCittc2dzdHIgInRhIGJvcnQgbG9rYWx0IGJvcnR0YWduYSByZWZlcmVuc2VyIgorCisjOiBidWlsdGluL3B1c2guYzo1NjYKK21zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKK21zZ3N0ciAiZsO2cmJpZ8OlIHByZS1wdXNoLWtyb2siCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2NworbXNnaWQgInB1c2ggbWlzc2luZyBidXQgcmVsZXZhbnQgdGFncyIKK21zZ3N0ciAic8OkbmQgaW4gc2FrbmFkZSBtZW4gcmVsZXZhbnRhIHRhZ2dhciIKKworIzogYnVpbHRpbi9wdXNoLmM6NTcwIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY5Cittc2dpZCAiR1BHIHNpZ24gdGhlIHB1c2giCittc2dzdHIgIkdQRy1zaWduZXJhIGluc8OkbmRuaW5nZW4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MiBidWlsdGluL3NlbmQtcGFjay5jOjE3NgorbXNnaWQgInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIgorbXNnc3RyICJiZWfDpHIgYXRvbWlza2EgdHJhbnNha3Rpb25lciBww6UgZmrDpHJyc2lkYW4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU5MAorbXNnaWQgIi0tZGVsZXRlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLW1pcnJvciBhbmQgLS10YWdzIgorbXNnc3RyICItLWRlbGV0ZSDDpHIgaW5rb21wYXRpYmVsIG1lZCAtLWFsbCwgLS1taXJyb3Igb2NoIC0tdGFncyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTkyCittc2dpZCAiLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIHdpdGhvdXQgYW55IHJlZnMiCittc2dzdHIgIi0tZGVsZXRlIGthbiBpbnRlIGFudsOkbmRhcyB1dGFuIHJlZmVyZW5zZXIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjYxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwb3NpdG9yeSAnJXMnIgogbXNnc3RyICJmZWxha3RpZ3QgYXJraXYgXCIlc1wiIgogCi0jOiBidWlsdGluL3B1c2guYzozOTYKKyM6IGJ1aWx0aW4vcHVzaC5jOjYxMwogbXNnaWQgIiIKICJObyBjb25maWd1cmVkIHB1c2ggZGVzdGluYXRpb24uXG4iCiAiRWl0aGVyIHNwZWNpZnkgdGhlIFVSTCBmcm9tIHRoZSBjb21tYW5kLWxpbmUgb3IgY29uZmlndXJlIGEgcmVtb3RlICIKQEAgLTE0NjI4LDEwNCArMTc0MzMsMjcgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggPG5hbW4+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU1MQotbXNnaWQgInJlcG9zaXRvcnkiCi1tc2dzdHIgImFya2l2IgotCi0jOiBidWlsdGluL3B1c2guYzo1NTIgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKLW1zZ2lkICJwdXNoIGFsbCByZWZzIgotbXNnc3RyICJzw6RuZCBhbGxhIHJlZmVyZW5zZXIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1MyBidWlsdGluL3NlbmQtcGFjay5jOjE2NgotbXNnaWQgIm1pcnJvciBhbGwgcmVmcyIKLW1zZ3N0ciAic3BlZ2xhIGFsbGEgcmVmZXJlbnNlciIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTU1Ci1tc2dpZCAiZGVsZXRlIHJlZnMiCi1tc2dzdHIgInRhIGJvcnQgcmVmZXJlbnNlciIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTU2Ci1tc2dpZCAicHVzaCB0YWdzIChjYW4ndCBiZSB1c2VkIHdpdGggLS1hbGwgb3IgLS1taXJyb3IpIgotbXNnc3RyICJzw6RuZCB0YWdnYXIgKGthbiBpbnRlIGFudsOkbmRhcyBtZWQgLS1hbGwgZWxsZXIgLS1taXJyb3IpIgotCi0jOiBidWlsdGluL3B1c2guYzo1NTkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjcKLW1zZ2lkICJmb3JjZSB1cGRhdGVzIgotbXNnc3RyICJ0dmluZ2EgdXBwZGF0ZXJpbmdhciIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTYxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgxCi1tc2dpZCAiPHJlZm5hbWU+OjxleHBlY3Q+IgotbXNnc3RyICI8cmVmbmFtbj46PGbDtnJ2w6RudGE+IgotCi0jOiBidWlsdGluL3B1c2guYzo1NjIgYnVpbHRpbi9zZW5kLXBhY2suYzoxODIKLW1zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKLW1zZ3N0ciAia3LDpHYgYXR0IHJlZjpzIHRpZGlnYXJlIHbDpHJkZSDDpHIgZGV0dGEiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU2NQotbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIKLW1zZ3N0ciAic3R5ciByZWt1cnNpdiBpbnPDpG5kbmluZyBhdiB1bmRlcm1vZHVsZXIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU2NyBidWlsdGluL3NlbmQtcGFjay5jOjE3NQotbXNnaWQgInVzZSB0aGluIHBhY2siCi1tc2dzdHIgImFudsOkbmQgdHVubmEgcGFrZXQiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU2OCBidWlsdGluL3B1c2guYzo1NjkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCi1tc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCi1tc2dzdHIgInByb2dyYW0gZsO2ciBhdHQgdGEgZW1vdCBwYWtldCIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTcwCi1tc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCi1tc2dzdHIgInN0w6RsbCBpbiB1cHBzdHLDtm0gZsO2ciBnaXQgcHVsbC9zdGF0dXMiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU3MwotbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgotbXNnc3RyICJ0YSBib3J0IGxva2FsdCBib3J0dGFnbmEgcmVmZXJlbnNlciIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTc1Ci1tc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCi1tc2dzdHIgImbDtnJiaWfDpSBwcmUtcHVzaC1rcm9rIgotCi0jOiBidWlsdGluL3B1c2guYzo1NzYKLW1zZ2lkICJwdXNoIG1pc3NpbmcgYnV0IHJlbGV2YW50IHRhZ3MiCi1tc2dzdHIgInPDpG5kIGluIHNha25hZGUgbWVuIHJlbGV2YW50YSB0YWdnYXIiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU3OSBidWlsdGluL3NlbmQtcGFjay5jOjE2OQotbXNnaWQgIkdQRyBzaWduIHRoZSBwdXNoIgotbXNnc3RyICJHUEctc2lnbmVyYSBpbnPDpG5kbmluZ2VuIgotCi0jOiBidWlsdGluL3B1c2guYzo1ODEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzYKLW1zZ2lkICJyZXF1ZXN0IGF0b21pYyB0cmFuc2FjdGlvbiBvbiByZW1vdGUgc2lkZSIKLW1zZ3N0ciAiYmVnw6RyIGF0b21pc2thIHRyYW5zYWt0aW9uZXIgcMOlIGZqw6RycnNpZGFuIgotCi0jOiBidWlsdGluL3B1c2guYzo1OTkKLW1zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKLW1zZ3N0ciAiLS1kZWxldGUgw6RyIGlua29tcGF0aWJlbCBtZWQgLS1hbGwsIC0tbWlycm9yIG9jaCAtLXRhZ3MiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjYwMQotbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgotbXNnc3RyICItLWRlbGV0ZSBrYW4gaW50ZSBhbnbDpG5kYXMgdXRhbiByZWZlcmVuc2VyIgotCi0jOiBidWlsdGluL3B1c2guYzo2MDQKKyM6IGJ1aWx0aW4vcHVzaC5jOjYyOAogbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwgb2NoIC0tdGFncyDDpHIgaW5rb21wYXRpYmxhIgogCi0jOiBidWlsdGluL3B1c2guYzo2MDYKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzMAogbXNnaWQgIi0tYWxsIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIi0tYWxsIGthbiBpbnRlIGtvbWJpbmVyYXMgbWVkIHJlZmVyZW5zc3BlY2lmaWthdGlvbmVyIgogCi0jOiBidWlsdGluL3B1c2guYzo2MTAKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzNAogbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1taXJyb3Igb2NoIC0tdGFncyDDpHIgaW5rb21wYXRpYmxhIgogCi0jOiBidWlsdGluL3B1c2guYzo2MTIKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzNgogbXNnaWQgIi0tbWlycm9yIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIi0tbWlycm9yIGthbiBpbnRlIGtvbWJpbmVyYXMgbWVkIHJlZmVyZW5zc3BlY2lmaWthdGlvbmVyIgogCi0jOiBidWlsdGluL3B1c2guYzo2MTUKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzOQogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCBvY2ggLS1taXJyb3Igw6RyIGlua29tcGF0aWJsYSIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjM0CisjOiBidWlsdGluL3B1c2guYzo2NDMKIG1zZ2lkICJwdXNoIG9wdGlvbnMgbXVzdCBub3QgaGF2ZSBuZXcgbGluZSBjaGFyYWN0ZXJzIgogbXNnc3RyICJwdXNoLWZsYWdnb3Iga2FuIGludGUgaW5uZWjDpWxsYSByYWRicnl0bmluZyIKIApAQCAtMTQ3NDIsMjggKzE3NDcwLDM2IEBACiBtc2dpZCAiZ2l0IHJhbmdlLWRpZmYgWzxvcHRpb25zPl0gPGJhc2U+IDxvbGQtdGlwPiA8bmV3LXRpcD4iCiBtc2dzdHIgImdpdCByYW5nZS1kaWZmIFs8ZmxhZ2dvcj5dIDxiYXM+IDxnYW1tYWwtw6RuZGE+IDxueS3DpG5kYT4iCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjIxCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyMgogbXNnaWQgIlBlcmNlbnRhZ2UgYnkgd2hpY2ggY3JlYXRpb24gaXMgd2VpZ2h0ZWQiCiBtc2dzdHIgIlByb2NlbnQgc29tIHNrYXBlbHNlIHbDpGdzIG1lZCIKIAotIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjMKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjI0CiBtc2dpZCAidXNlIHNpbXBsZSBkaWZmIGNvbG9ycyIKIG1zZ3N0ciAiYW52w6RuZCBlbmtsYSBkaWZmLWbDpHJnZXIiCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjYxIGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjY1CisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyNgorbXNnaWQgIm5vdGVzIgorbXNnc3RyICJhbnRlY2tuaW5nYXIiCisKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjI2Cittc2dpZCAicGFzc2VkIHRvICdnaXQgbG9nJyIKK21zZ3N0ciAic8OkbmRzIHRpbGwgXCJnaXQgbG9nXCIiCisKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjUwIGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIC4uIGluIHJhbmdlOiAnJXMnIgogbXNnc3RyICIuLiBzYWtuYXMgaSBpbnRlcnZhbGw6IFwiJXNcIiIKIAotIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NzUKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjY0CiBtc2dpZCAic2luZ2xlIGFyZyBmb3JtYXQgbXVzdCBiZSBzeW1tZXRyaWMgcmFuZ2UiCiBtc2dzdHIgImVuc2FtdCBhcmd1bWVudCBtw6VzdGUgdmFyYSBzeW1tZXRyaXNrdCBpbnRlcnZhbGwiCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjkwCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzo3OQogbXNnaWQgIm5lZWQgdHdvIGNvbW1pdCByYW5nZXMiCiBtc2dzdHIgImJlaMO2dmVyIHR2w6UgaW5jaGVja25pbmdzaW50ZXJ2YWxsIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjQwCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjQxCiBtc2dpZCAiIgogImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD08cHJlZml4PikgIgogIlstdSBbLS1leGNsdWRlLXBlci1kaXJlY3Rvcnk9PGdpdGlnbm9yZT5dIHwgLWldXSBbLS1uby1zcGFyc2UtY2hlY2tvdXRdIFstLSIKQEAgLTE0NzczLDExOSArMTc1MDksMzA2IEBACiAiWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLXNwYXJzZS1jaGVja291dF0gWy0tIgogImluZGV4LW91dHB1dD08ZmlsPl0gKC0tZW1wdHkgfCA8dHLDpGQtaWd0MT4gWzx0csOkZC1pZ3QyPiBbPHRyw6RkLWlndDM+XV0pIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjQKIG1zZ2lkICJ3cml0ZSByZXN1bHRpbmcgaW5kZXggdG8gPGZpbGU+IgogbXNnc3RyICJza3JpdiByZXN1bHRlcmFuZGUgaW5kZXggdGlsbCA8ZmlsPiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjYKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI3CiBtc2dpZCAib25seSBlbXB0eSB0aGUgaW5kZXgiCiBtc2dzdHIgInTDtm0gYmFyYSBpbmRleGV0IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjkKIG1zZ2lkICJNZXJnaW5nIgogbXNnc3RyICJTYW1tYW5zbGFnbmluZyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMxCiBtc2dpZCAicGVyZm9ybSBhIG1lcmdlIGluIGFkZGl0aW9uIHRvIGEgcmVhZCIKIG1zZ3N0ciAidXRmw7ZyIGVuIHNhbW1hbnNsYWduaW5nIGkgdGlsbMOkZ2cgdGlsbCBlbiBsw6RzbmluZyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzIKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMzCiBtc2dpZCAiMy13YXkgbWVyZ2UgaWYgbm8gZmlsZSBsZXZlbCBtZXJnaW5nIHJlcXVpcmVkIgogbXNnc3RyICIzLXbDpGdzc2FtbWFuc2xhZ25pbmcgb20gc2FtbWFuc2xhZ25pbmcgcMOlIGZpbG5pdsOlIGVqIGtyw6R2cyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzQKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM1CiBtc2dpZCAiMy13YXkgbWVyZ2UgaW4gcHJlc2VuY2Ugb2YgYWRkcyBhbmQgcmVtb3ZlcyIKIG1zZ3N0ciAiMy12w6Rnc3NhbW1hbnNsYWduaW5nIG7DpHIgZGV0IGZpbm5zIHRpbGzDpGdnIG9jaCBib3J0dGFnbmluZ2FyIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNgorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzcKIG1zZ2lkICJzYW1lIGFzIC1tLCBidXQgZGlzY2FyZCB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICJzb20gLW0sIG1lbiBrYXN0YSBib3J0IGVqIHNhbW1hbnNsYWduYSBwb3N0ZXIiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOAogbXNnaWQgIjxzdWJkaXJlY3Rvcnk+LyIKIG1zZ3N0ciAiPHVuZGVya2F0YWxvZz4vIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKIG1zZ2lkICJyZWFkIHRoZSB0cmVlIGludG8gdGhlIGluZGV4IHVuZGVyIDxzdWJkaXJlY3Rvcnk+LyIKIG1zZ3N0ciAibMOkcyBpbiB0csOkZGV0IGkgaW5kZXhldCB1bmRlciA8dW5kZXJrYXRhbG9nPi8iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQxCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0MgogbXNnaWQgInVwZGF0ZSB3b3JraW5nIHRyZWUgd2l0aCBtZXJnZSByZXN1bHQiCiBtc2dzdHIgInVwcGRhdGVyYSBhcmJldHNrYXRhbG9nZW4gbWVkIHJlc3VsdGF0ZXQgZnLDpW4gc2FtbWFuc2xhZ25pbmdlbiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDMKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ0CiBtc2dpZCAiZ2l0aWdub3JlIgogbXNnc3RyICJnaXRpZ25vcmUiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ0CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NQogbXNnaWQgImFsbG93IGV4cGxpY2l0bHkgaWdub3JlZCBmaWxlcyB0byBiZSBvdmVyd3JpdHRlbiIKIG1zZ3N0ciAidGlsbMOldCBleHBsaWNpdCBpZ25vcmVyYWRlIGZpbGVyIGF0dCBza3JpdmFzIMO2dmVyIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDgKIG1zZ2lkICJkb24ndCBjaGVjayB0aGUgd29ya2luZyB0cmVlIGFmdGVyIG1lcmdpbmciCiBtc2dzdHIgImtvbnRyb2xsZXJhIGludGUgYXJiZXRza2F0YWxvZ2VuIGVmdGVyIHNhbW1hbnNsYWduaW5nIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0OAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDkKIG1zZ2lkICJkb24ndCB1cGRhdGUgdGhlIGluZGV4IG9yIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgInVwcGRhdGVyYSBpbnRlIGluZGV4ZXQgZWxsZXIgYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1MAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTEKIG1zZ2lkICJza2lwIGFwcGx5aW5nIHNwYXJzZSBjaGVja291dCBmaWx0ZXIiCiBtc2dzdHIgImhvcHBhIMO2dmVyIGF0dCBhcHBsaWNlcmEgZmlsdGVyIGbDtnIgZ2xlcyB1dGNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTIKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUzCiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICJmZWxzw7ZrIHVucGFjay10cmVlcyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoyOQotbXNnaWQgIiIKLSJnaXQgcmViYXNlIFstaV0gW29wdGlvbnNdIFstLWV4ZWMgPGNtZD5dIFstLW9udG8gPG5ld2Jhc2U+XSBbPHVwc3RyZWFtPl0gIgotIls8YnJhbmNoPl0iCi1tc2dzdHIgIiIKLSJnaXQgcmViYXNlIFstaV0gW2ZsYWdnb3JdIFstLWV4ZWMgPGttZD5dIFstLW9udG8gPG55YmFzPl0gWzx1cHBzdHLDtm0+XSAiCi0iWzxncmVuPl0iCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1NworbXNnaWQgInN1cHByZXNzIGZlZWRiYWNrIG1lc3NhZ2VzIgorbXNnc3RyICJ1bmRlcnRyeWNrIMOldGVya29wcGxpbmdzbWVkZGVsYW5kZW4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MzEKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTg4Cittc2dpZCAiWW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCittc2dzdHIgIkR1IG3DpXN0ZSBsw7ZzYSBkaXR0IGJlZmludGxpZ2EgaW5kZXggZsO2cnN0IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjMyCittc2dpZCAiIgorImdpdCByZWJhc2UgWy1pXSBbb3B0aW9uc10gWy0tZXhlYyA8Y21kPl0gWy0tb250byA8bmV3YmFzZT4gfCAtLWtlZXAtYmFzZV0gIgorIls8dXBzdHJlYW0+IFs8YnJhbmNoPl1dIgorbXNnc3RyICIiCisiZ2l0IHJlYmFzZSBbLWldIFtmbGFnZ29yXSBbLS1leGVjIDxrbWQ+XSBbLS1vbnRvIDxueWJhcz4gfCAtLWtlZXAtYmFzZV0gIgorIls8dXBwc3Ryw7ZtPiBbPGdyZW4+XV0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzQKIG1zZ2lkICIiCiAiZ2l0IHJlYmFzZSBbLWldIFtvcHRpb25zXSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPl0gLS1yb290IFs8YnJhbmNoPl0iCiBtc2dzdHIgIiIKICJnaXQgcmViYXNlIFstaV0gW2ZsYWdnb3JdIFstLWV4ZWMgPGttZD5dIFstLW9udG8gPG55YmFzPl0gLS1yb290IFs8Z3Jlbj5dIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjMzCisjOiBidWlsdGluL3JlYmFzZS5jOjM2CiBtc2dpZCAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIHwgLS1hYm9ydCB8IC0tc2tpcCB8IC0tZWRpdC10b2RvIgogbXNnc3RyICJnaXQgcmViYXNlIC0tY29udGludWUgfCAtLWFib3J0IHwgLS1za2lwIHwgLS1lZGl0LXRvZG8iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTE5CisjOiBidWlsdGluL3JlYmFzZS5jOjE3NyBidWlsdGluL3JlYmFzZS5jOjIwMSBidWlsdGluL3JlYmFzZS5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnVzYWJsZSB0b2RvIGxpc3Q6ICclcyciCittc2dzdHIgIm9hbnbDpG5kYmFyIHRvZG8tbGlzdGE6ICVzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4NiBidWlsdGluL3JlYmFzZS5jOjIxMiBidWlsdGluL3JlYmFzZS5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgJyVzJy4iCittc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIFwiJXNcIi4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjcxCittc2dpZCAibm8gSEVBRD8iCittc2dzdHIgImluZ2V0IEhFQUQ/IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAlcyIKK21zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSB0ZW1wb3LDpHIgJXMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzA0Cittc2dpZCAiY291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCittc2dzdHIgImt1bmRlIGludGUgbWFya2VyYSBzb20gaW50ZXJha3RpdiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzozNjIKK21zZ2lkICJjb3VsZCBub3QgZ2VuZXJhdGUgdG9kbyBsaXN0IgorbXNnc3RyICJLdW5kZSBpbnRlIHNrYXBhIGF0dGfDtnJhLWxpc3RhIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQwMgorbXNnaWQgImEgYmFzZSBjb21taXQgbXVzdCBiZSBwcm92aWRlZCB3aXRoIC0tdXBzdHJlYW0gb3IgLS1vbnRvIgorbXNnc3RyICJlbiBiYXNpbmNoZWNrbmluZyBtw6VzdGUgYW5nZXMgbWVkIC0tdXBzdHJlYW0gZWxsZXIgLS1vbnRvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ1NworbXNnaWQgImdpdCByZWJhc2UtLWludGVyYWN0aXZlIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgcmViYXNlLS1pbnRlcmFjdGl2ZSBbPGZsYWdnb3I+XSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NjkKK21zZ2lkICJrZWVwIGVtcHR5IGNvbW1pdHMiCittc2dzdHIgImJlaMOlbGwgdG9tbWEgaW5jaGVja25pbmdhciIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzEgYnVpbHRpbi9yZXZlcnQuYzoxMjgKK21zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCittc2dzdHIgInRpbGzDpXQgaW5jaGVja25pbmdhciBtZWQgdG9tdCBtZWRkZWxhbmRlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3MgorbXNnaWQgInJlYmFzZSBtZXJnZSBjb21taXRzIgorbXNnc3RyICJvbWJhc2VyYSBzYW1tYW5zbGFnbmluZ2FyIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3NAorbXNnaWQgImtlZXAgb3JpZ2luYWwgYnJhbmNoIHBvaW50cyBvZiBjb3VzaW5zIgorbXNnc3RyICJiZWjDpWxsIHVyc3BydW5nbGlnYSBmw7ZyZ3JlbmluZ3NwdW5rdGVyIGbDtnIga3VzaW5lciIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzYKK21zZ2lkICJtb3ZlIGNvbW1pdHMgdGhhdCBiZWdpbiB3aXRoIHNxdWFzaCEvZml4dXAhIgorbXNnc3RyICJmbHl0dGEgaW5jaGVja25pbmdhciBzb20gaW5sZWRzIG1lZCBzcXVhc2ghL2ZpeHVwISIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzcKK21zZ2lkICJzaWduIGNvbW1pdHMiCittc2dzdHIgInNpZ25lcmEgaW5jaGVja25pbmdhciIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzkgYnVpbHRpbi9yZWJhc2UuYzoxNDU1Cittc2dpZCAiZGlzcGxheSBhIGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbSIKK21zZ3N0ciAidmlzIGRpZmZzdGF0IGbDtnIgdmFkIHNvbSDDpG5kcmF0cyB1cHBzdHLDtm1zIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4MQorbXNnaWQgImNvbnRpbnVlIHJlYmFzZSIKK21zZ3N0ciAiZm9ydHPDpHR0IG9tYmFzZXJpbmciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDgzCittc2dpZCAic2tpcCBjb21taXQiCittc2dzdHIgImhvcHBhIMO2dmVyIGluY2hlY2tuaW5nIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4NAorbXNnaWQgImVkaXQgdGhlIHRvZG8gbGlzdCIKK21zZ3N0ciAicmVkaWdlcmEgYXR0Z8O2cmEtbGlzdGFuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4NgorbXNnaWQgInNob3cgdGhlIGN1cnJlbnQgcGF0Y2giCittc2dzdHIgInZpc2EgbnV2YXJhbmRlIHBhdGNoIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4OQorbXNnaWQgInNob3J0ZW4gY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICJmw7Zya29ydGEgaW5jaGVja25pbmdzLWlkIGkgdG9kby1saXN0YW4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDkxCittc2dpZCAiZXhwYW5kIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKK21zZ3N0ciAidXTDtmthIGluY2hlY2tuaW5ncy1pZCBpIHRvZG8tbGlzdGFuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ5MworbXNnaWQgImNoZWNrIHRoZSB0b2RvIGxpc3QiCittc2dzdHIgImtvbnRyb2xsZXJhIHRvZG8tbGlzdGFuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ5NQorbXNnaWQgInJlYXJyYW5nZSBmaXh1cC9zcXVhc2ggbGluZXMiCittc2dzdHIgIm9yZG5hIG9tIGZpeHVwLS9zcXVhc2gtcmFkZXIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDk3Cittc2dpZCAiaW5zZXJ0IGV4ZWMgY29tbWFuZHMgaW4gdG9kbyBsaXN0IgorbXNnc3RyICJsw6RnZyBpbiBleGVjLWtvbW1hbmRvbiBpIHRvZG8tbGlzdGFuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ5OAorbXNnaWQgIm9udG8iCittc2dzdHIgIm92YW5ww6UiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTAxCittc2dpZCAicmVzdHJpY3QtcmV2aXNpb24iCittc2dzdHIgInJlc3RyaWN0LXJldmlzaW9uIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwMQorbXNnaWQgInJlc3RyaWN0IHJldmlzaW9uIgorbXNnc3RyICJiZWdyw6Ruc2EgcmV2aXNpb24iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTAzCittc2dpZCAic3F1YXNoLW9udG8iCittc2dzdHIgInNxdWFzaC1vbnRvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwNAorbXNnaWQgInNxdWFzaCBvbnRvIgorbXNnc3RyICJ0cnljayBpaG9wIG92YW5ww6UiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA2Cittc2dpZCAidGhlIHVwc3RyZWFtIGNvbW1pdCIKK21zZ3N0ciAidXBwc3Ryw7Ztc2luY2hlY2tuaW5nZW4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA4Cittc2dpZCAiaGVhZC1uYW1lIgorbXNnc3RyICJoZWFkLW5hbWUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA4Cittc2dpZCAiaGVhZCBuYW1lIgorbXNnc3RyICJuYW1uIHDDpSBodXZ1ZCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTMKK21zZ2lkICJyZWJhc2Ugc3RyYXRlZ3kiCittc2dzdHIgInNhbW1hbnNsYWduaW5nc3N0cmF0ZWdpIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxNAorbXNnaWQgInN0cmF0ZWd5LW9wdHMiCittc2dzdHIgInN0cmF0ZWd5LW9wdHMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE1Cittc2dpZCAic3RyYXRlZ3kgb3B0aW9ucyIKK21zZ3N0ciAic3RyYXRlZ2lmbGFnZ29yIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxNgorbXNnaWQgInN3aXRjaC10byIKK21zZ3N0ciAic3dpdGNoLXRvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxNworbXNnaWQgInRoZSBicmFuY2ggb3IgY29tbWl0IHRvIGNoZWNrb3V0IgorbXNnc3RyICJncmVuIGVsbGVyIGluY2hlY2tpbmcgYXR0IGNoZWNrYSB1dCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTgKK21zZ2lkICJvbnRvLW5hbWUiCittc2dzdHIgIm9udG8tbmFtZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTgKK21zZ2lkICJvbnRvIG5hbWUiCittc2dzdHIgInDDpS1uYW1uIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOQorbXNnaWQgImNtZCIKK21zZ3N0ciAia21kIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOQorbXNnaWQgInRoZSBjb21tYW5kIHRvIHJ1biIKK21zZ3N0ciAia29tbWFuZG8gYXR0IGvDtnJhIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUyMiBidWlsdGluL3JlYmFzZS5jOjE1NDAKK21zZ2lkICJhdXRvbWF0aWNhbGx5IHJlLXNjaGVkdWxlIGFueSBgZXhlY2AgdGhhdCBmYWlscyIKK21zZ3N0ciAia8O2ciBhdXRvbWF0aXNrdCBhbGxhIFwiZXhlY1wiIHNvbSBtaXNzbHlja2FzIHDDpSBueXR0IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjU0MAorbXNnaWQgIi0tW25vLV1yZWJhc2UtY291c2lucyBoYXMgbm8gZWZmZWN0IHdpdGhvdXQgLS1yZWJhc2UtbWVyZ2VzIgorbXNnc3RyICItLVtuby1dcmViYXNlLWNvdXNpbnMgaGFyIGluZ2VuIGVmZmVrdCB1dGFuIC0tcmViYXNlLW1lcmdlcyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcmVxdWlyZXMgYW4gaW50ZXJhY3RpdmUgcmViYXNlIgogbXNnc3RyICIlcyBrcsOkdmVyIGVuIGludGVyYWt0aXYgb21iYXNlcmluZyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNzEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgJ29udG8nOiAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIGjDpG10YSBcIm9udG9cIjogXCIlc1wiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE4NgorIzogYnVpbHRpbi9yZWJhc2UuYzo2MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBvcmlnLWhlYWQ6ICclcyciCiBtc2dzdHIgIm9naWx0aWd0IG9yaWctaGVhZDogXCIlc1wiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjIxNAorIzogYnVpbHRpbi9yZWJhc2UuYzo2NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgaW52YWxpZCBhbGxvd19yZXJlcmVfYXV0b3VwZGF0ZTogJyVzJyIKIG1zZ3N0ciAiaWdub3JlcmEgb2dpbHRpZ3QgYWxsb3dfcmVyZXJlX2F1dG91cGRhdGU6IFwiJXNcIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoyNTkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkICclcyciCiBtc2dzdHIgIkt1bmRlIGludGUgbMOkc2EgXCIlc1wiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjI3NworIzogYnVpbHRpbi9yZWJhc2UuYzo3NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHN0b3JlICVzIgogbXNnc3RyICJLYW4gaW50ZSBzcGFyYSAlcyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzozMzcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6ODQ5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBIRUFEIHJldmlzaW9uIgorbXNnc3RyICJrdW5kZSBpbnRlIGJlc3TDpG1tYSBIRUFELXJldmlzaW9uIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjk3MiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODEKIG1zZ2lkICIiCiAiUmVzb2x2ZSBhbGwgY29uZmxpY3RzIG1hbnVhbGx5LCBtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgd2l0aFxuIgogIlwiZ2l0IGFkZC9ybSA8Y29uZmxpY3RlZF9maWxlcz5cIiwgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKQEAgLTE0ODk5LDExICsxNzgyMiwyNiBAQAogIkbDtnIgYXR0IGF2YnJ5dGEgb2NoIMOldGVyZ8OlIHRpbGwgZMOkciBkdSB2YXIgZsO2cmUgb21iYXNlcmluZ2VuLCBrw7ZyIFwiZ2l0ICIKICJyZWJhc2UgLS1hYm9ydFwiLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo1NjEKLW1zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIEhFQUQgcmV2aXNpb24iCi1tc2dzdHIgImt1bmRlIGludGUgYmVzdMOkbW1hIEhFQUQtcmV2aXNpb24iCisjOiBidWlsdGluL3JlYmFzZS5jOjEwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorImdpdCBlbmNvdW50ZXJlZCBhbiBlcnJvciB3aGlsZSBwcmVwYXJpbmcgdGhlIHBhdGNoZXMgdG8gcmVwbGF5XG4iCisidGhlc2UgcmV2aXNpb25zOlxuIgorIlxuIgorIiAgICAlc1xuIgorIlxuIgorIkFzIGEgcmVzdWx0LCBnaXQgY2Fubm90IHJlYmFzZSB0aGVtLiIKK21zZ3N0ciAiIgorIlxuIgorImdpdCB1cHB0w6Rja3RlIGV0dCBmZWwgbsOkciBkZXQgc2t1bGxlIGbDtnJiZXJlZGEgcGF0Y2hhciBmw7ZyIGF0dFxuIgorIsOldGVyc2thcGEgZGVzc2EgcmV2aXNpb25lcjpcbiIKKyJcbiIKKyIgICAgJXNcbiIKKyJcbiIKKyJEw6RyZsO2ciBrYW4gaW50ZSBnaXQgb21iYXNlcmEgZGVzc2EuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjc1MworIzogYnVpbHRpbi9yZWJhc2UuYzoxMzY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlc1xuIgpAQCAtMTQ5MjAsNyArMTc4NTgsNyBAQAogIiAgICBnaXQgcmViYXNlICc8Z3Jlbj4nXG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6NzY5CisjOiBidWlsdGluL3JlYmFzZS5jOjEzODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNldCB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhpcyBicmFuY2ggeW91IGNhbiBkbyBzbyB3aXRoOlxuIgpAQCAtMTQ5MzMsMTQ4ICsxNzg3MSwxODIgQEAKICIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10bz0lcy88Z3Jlbj4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4MzIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQxMworbXNnaWQgImV4ZWMgY29tbWFuZHMgY2Fubm90IGNvbnRhaW4gbmV3bGluZXMiCittc2dzdHIgImV4ZWMta29tbWFuZG9uIGthbiBpbnRlIGlubmVow6VsbGEgbnlyYWRzdGVja2VuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0MTcKK21zZ2lkICJlbXB0eSBleGVjIGNvbW1hbmQiCittc2dzdHIgInRvbXQgZXhlYy1rb21tYW5kbyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDQ2CiBtc2dpZCAicmViYXNlIG9udG8gZ2l2ZW4gYnJhbmNoIGluc3RlYWQgb2YgdXBzdHJlYW0iCiBtc2dzdHIgIm9tYmFzZXJhIG1vdCBnaXZlbiBncmVuZW4gaXN0w6RsbGV0IGbDtnIgdXBwc3Ryw7ZtIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjgzNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDQ4Cittc2dpZCAidXNlIHRoZSBtZXJnZS1iYXNlIG9mIHVwc3RyZWFtIGFuZCBicmFuY2ggYXMgdGhlIGN1cnJlbnQgYmFzZSIKK21zZ3N0ciAiYW52w6RuZCBzYW1tYW5zbGFnbmluZ3NiYXNlbiBtZWxsYW4gdXBwc3Ryw7ZtcyBvY2ggZ3JlbiBzb20gYWt0dWVsbCBiYXMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1MAogbXNnaWQgImFsbG93IHByZS1yZWJhc2UgaG9vayB0byBydW4iCiBtc2dzdHIgInRpbGzDpXQgcHJlLXJlYmFzZS1rcm9rIGF0dCBrw7ZyYSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4MzYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1MgogbXNnaWQgImJlIHF1aWV0LiBpbXBsaWVzIC0tbm8tc3RhdCIKIG1zZ3N0ciAidmFyIHR5c3QuIGltcGxpY2VyYXIgLS1uby1zdGF0IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjgzOQotbXNnaWQgImRpc3BsYXkgYSBkaWZmc3RhdCBvZiB3aGF0IGNoYW5nZWQgdXBzdHJlYW0iCi1tc2dzdHIgInZpcyBkaWZmc3RhdCBmw7ZyIHZhZCBzb20gw6RuZHJhdHMgdXBwc3Ryw7ZtcyIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzo4NDIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1OAogbXNnaWQgImRvIG5vdCBzaG93IGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbSIKIG1zZ3N0ciAidmlzYSBpbnRlIGVuIGRpZmZzdGF0IGbDtnIgdmFkIHNvbSDDpG5kcmF0cyB1cHBzdHLDtm1zIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg0NQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDYxCiBtc2dpZCAiYWRkIGEgU2lnbmVkLW9mZi1ieTogbGluZSB0byBlYWNoIGNvbW1pdCIKIG1zZ3N0ciAibMOkZ2cgXCJTaWduZWQtb2ZmLWJ5OlwiLXJhZCB0aWxsIHZhcmplIGluY2hlY2tuaW5nIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg0NyBidWlsdGluL3JlYmFzZS5jOjg1MSBidWlsdGluL3JlYmFzZS5jOjg1MwotbXNnaWQgInBhc3NlZCB0byAnZ2l0IGFtJyIKLW1zZ3N0ciAic8OkbmRzIHRpbGwgXCJnaXQgYW1cIiIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ2NAorbXNnaWQgIm1ha2UgY29tbWl0dGVyIGRhdGUgbWF0Y2ggYXV0aG9yIGRhdGUiCittc2dzdHIgInPDpHR0IGluY2hlY2tuaW5nc2RhdHVtIHRpbGwgZsO2cmZhdHRhcmRhdHVtIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg1NSBidWlsdGluL3JlYmFzZS5jOjg1NworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDY2Cittc2dpZCAiaWdub3JlIGF1dGhvciBkYXRlIGFuZCB1c2UgY3VycmVudCBkYXRlIgorbXNnc3RyICJpZ25vcmVyYSBmw7ZyZmF0dGFyZGF0dW0gb2NoIGFudsOkbmQgbnV2YXJhbmRlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NjgKK21zZ2lkICJzeW5vbnltIG9mIC0tcmVzZXQtYXV0aG9yLWRhdGUiCittc2dzdHIgInN5bm9ueW0gZsO2ciAtLXJlc2V0LWF1dGhvci1kYXRlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NzAgYnVpbHRpbi9yZWJhc2UuYzoxNDc0CiBtc2dpZCAicGFzc2VkIHRvICdnaXQgYXBwbHknIgogbXNnc3RyICJzw6RuZHMgdGlsbCBcImdpdCBhcHBseVwiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg1OSBidWlsdGluL3JlYmFzZS5jOjg2MgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDcyCittc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSIKK21zZ3N0ciAiaWdub3JlcmEgw6RuZHJpbmdhciBpIGJsYW5rc3RlZyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDc2IGJ1aWx0aW4vcmViYXNlLmM6MTQ3OQogbXNnaWQgImNoZXJyeS1waWNrIGFsbCBjb21taXRzLCBldmVuIGlmIHVuY2hhbmdlZCIKIG1zZ3N0ciAidXRmw7ZyIGNoZXJyeS1waWNrIHDDpSBhbGxhIGluY2hlY2tuaW5nYXIsIMOkdmVuIG9tIG/DpG5kcmFkIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg2NAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDgxCiBtc2dpZCAiY29udGludWUiCiBtc2dzdHIgImZvcnRzw6R0dCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NjcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ4NAogbXNnaWQgInNraXAgY3VycmVudCBwYXRjaCBhbmQgY29udGludWUiCiBtc2dzdHIgImhvcHBhIMO2dmVyIG51dmFyYW5kZSBwYXRjaCBvY2ggZm9ydHPDpHR0IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg2OQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDg2CiBtc2dpZCAiYWJvcnQgYW5kIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoIgogbXNnc3RyICJhdmJyeXQgb2NoIGNoZWNrYSB1dCB1cnNwcnVuZ3NncmVuZW4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODcyCisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODkKIG1zZ2lkICJhYm9ydCBidXQga2VlcCBIRUFEIHdoZXJlIGl0IGlzIgogbXNnc3RyICJhdmJyeXQgbWVuIGJlaMOlbGwgSEVBRCBkw6RyIGRldCDDpHIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODczCisjOiBidWlsdGluL3JlYmFzZS5jOjE0OTAKIG1zZ2lkICJlZGl0IHRoZSB0b2RvIGxpc3QgZHVyaW5nIGFuIGludGVyYWN0aXZlIHJlYmFzZSIKIG1zZ3N0ciAicmVkaWdlcmEgYXR0Z8O2cmEtbGlzdGFuIHVuZGVyIGludGVyYWt0aXYgb21iYXNlcmluZy4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODc2CisjOiBidWlsdGluL3JlYmFzZS5jOjE0OTMKIG1zZ2lkICJzaG93IHRoZSBwYXRjaCBmaWxlIGJlaW5nIGFwcGxpZWQgb3IgbWVyZ2VkIgogbXNnc3RyICJ2aXNhIHBhdGNoZW4gc29tIHRpbGzDpG1wYXMgZWxsZXIgc2zDpXMgc2FtbWFuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg3OQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDk2CiBtc2dpZCAidXNlIG1lcmdpbmcgc3RyYXRlZ2llcyB0byByZWJhc2UiCiBtc2dzdHIgImFudsOkbmQgc2FtbWFuc2xhZ25pbmdzc3RyYXRlZ2llciBmw7ZyIHNhbW1hbnNsYWduaW5nIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg4MworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTAwCiBtc2dpZCAibGV0IHRoZSB1c2VyIGVkaXQgdGhlIGxpc3Qgb2YgY29tbWl0cyB0byByZWJhc2UiCiBtc2dzdHIgImzDpXQgYW52w6RuZGFyZW4gcmVkaWdlcmEgbGlzdGFuIMO2dmVyIGluY2hlY2tuaW5nYXIgYXR0IG9tYmFzZXJhIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg4NwotbXNnaWQgInRyeSB0byByZWNyZWF0ZSBtZXJnZXMgaW5zdGVhZCBvZiBpZ25vcmluZyB0aGVtIgotbXNnc3RyICJmw7Zyc8O2ayDDpXRlcnNrYXBhIHNhbW1hbnNsYWduaW5nYXIgaXN0w6RsbGV0IGbDtnIgYXR0IGlnbm9yZXJhIGRlbSIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwNAorbXNnaWQgIihERVBSRUNBVEVEKSB0cnkgdG8gcmVjcmVhdGUgbWVyZ2VzIGluc3RlYWQgb2YgaWdub3JpbmcgdGhlbSIKK21zZ3N0ciAiIgorIihBVlLDhURTKSBmw7Zyc8O2ayDDpXRlcnNrYXBhIHNhbW1hbnNsYWduaW5nYXIgaXN0w6RsbGV0IGbDtnIgYXR0IGlnbm9yZXJhIGRlbSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4OTEKLW1zZ2lkICJhbGxvdyByZXJlcmUgdG8gdXBkYXRlIGluZGV4IHdpdGggcmVzb2x2ZWQgY29uZmxpY3QiCi1tc2dzdHIgInRpbGzDpXQgcmVyZXJlIGF0dCB1cHBkYXRlcmEgaW5kZXggbWVkIGzDtnNhIGtvbmZsaWt0ZXIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODk0CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MDkKIG1zZ2lkICJwcmVzZXJ2ZSBlbXB0eSBjb21taXRzIGR1cmluZyByZWJhc2UiCiBtc2dzdHIgImJlaMOlbGwgdG9tbWEgaW5jaGVja25pbmdhciB1bmRlciBvbWJhc2VyaW5nIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg5NgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTExCiBtc2dpZCAibW92ZSBjb21taXRzIHRoYXQgYmVnaW4gd2l0aCBzcXVhc2ghL2ZpeHVwISB1bmRlciAtaSIKIG1zZ3N0ciAiZmx5dHRhIGluY2hlY2tuaW5nYXIgc29tIGLDtnJqYXIgbWVkIHNxdWFzaCEvZml4dXAhIHVuZGVyIC1pIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkwMgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTE3CiBtc2dpZCAiYXV0b21hdGljYWxseSBzdGFzaC9zdGFzaCBwb3AgYmVmb3JlIGFuZCBhZnRlciIKIG1zZ3N0ciAidXRmw7ZyIGF1dG9tYXRpc2t0IHN0YXNoL3N0YXNoIHBvcCBmw7ZyZSBvY2ggZWZ0ZXIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTA0CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MTkKIG1zZ2lkICJhZGQgZXhlYyBsaW5lcyBhZnRlciBlYWNoIGNvbW1pdCBvZiB0aGUgZWRpdGFibGUgbGlzdCIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBleGVjLXJhZGVyIGVmdGVyIHZhcmplIGluY2hlY2tuaW5nIGkgZGVuIHJlZGlnZXJiYXJhIGxpc3RhbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MDgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyMwogbXNnaWQgImFsbG93IHJlYmFzaW5nIGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKIG1zZ3N0ciAidGlsbMOldCBvbWJhc2VyaW5nIGF2IGluY2hlY2tuaW5nYXIgbWVkIHRvbXQgbWVkZGVsYW5kZSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyNgogbXNnaWQgInRyeSB0byByZWJhc2UgbWVyZ2VzIGluc3RlYWQgb2Ygc2tpcHBpbmcgdGhlbSIKIG1zZ3N0ciAiZsO2cnPDtmsgb21iYXNlcmEgc2FtbWFuc2xhZ25pbmdhciBpc3TDpGxsZXQgZsO2ciBhdHQgaWdub3JlcmEgZGVtIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkxNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTI5CiBtc2dpZCAidXNlICdtZXJnZS1iYXNlIC0tZm9yay1wb2ludCcgdG8gcmVmaW5lIHVwc3RyZWFtIgogbXNnc3RyICJhbnbDpG5kIFwibWVyZ2UtYmFzZSAtLWZvcmstcG9pbnRcIiBmw7ZyIGF0dCBmw7ZyZmluYSB1cHBzdHLDtm0iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTE2CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MzEKIG1zZ2lkICJ1c2UgdGhlIGdpdmVuIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJhbnbDpG5kIGFuZ2l2ZW4gc2FtbWFuc2xhZ25pbmdzc3RyYXRlZ2kiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTE4IGJ1aWx0aW4vcmV2ZXJ0LmM6MTExCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MzMgYnVpbHRpbi9yZXZlcnQuYzoxMTUKIG1zZ2lkICJvcHRpb24iCiBtc2dzdHIgImFsdGVybmF0aXYiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTE5CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MzQKIG1zZ2lkICJwYXNzIHRoZSBhcmd1bWVudCB0aHJvdWdoIHRvIHRoZSBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAic8OkbmQgZmxhZ2dhbiB0aWxsIHNhbW1hbnNsYWduaW5nc3N0cmF0ZWdpbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MjIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzNwogbXNnaWQgInJlYmFzZSBhbGwgcmVhY2hhYmxlIGNvbW1pdHMgdXAgdG8gdGhlIHJvb3QocykiCiBtc2dzdHIgIm9tYmFzZXJhIGFsbGEgbsOlYmFyYSBpbmNoZWNrbmluZ2FyIHVwcCB0aWxsIHJvdGVuL3LDtnR0ZXJuYSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGV4ZWMgJXMiCi1tc2dzdHIgImt1bmRlIGludGUga8O2cmEgJXMiCisjOiBidWlsdGluL3JlYmFzZS5jOjE1NTQKK21zZ2lkICIiCisidGhlIHJlYmFzZS51c2VCdWlsdGluIHN1cHBvcnQgaGFzIGJlZW4gcmVtb3ZlZCFcbiIKKyJTZWUgaXRzIGVudHJ5IGluICdnaXQgaGVscCBjb25maWcnIGZvciBkZXRhaWxzLiIKK21zZ3N0ciAiIgorInN0w7ZkZXQgZsO2ciByZWJhc2UudXNlQnVpbHRpbiBoYXIgdGFnaXRzIGJvcnQhXG4iCisiU2UgcG9zdGVuIGbDtnIgZGV0IGkgXCJnaXQgaGVscCBjb25maWdcIiBmw7ZyIGRldGFsamVyLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5NTYgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6MjEzCisjOiBidWlsdGluL3JlYmFzZS5jOjE1NjAKIG1zZ2lkICJJdCBsb29rcyBsaWtlICdnaXQgYW0nIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKIG1zZ3N0ciAiRGV0IHZlcmthciBzb20gZW4gXCJnaXQgYW1cIiBrw7Zycy4gS2FuIGludGUgb21iYXNlcmEuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjk5NyBnaXQtbGVnYWN5LXJlYmFzZS5zaDozOTUKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYwMQorbXNnaWQgIiIKKyJnaXQgcmViYXNlIC0tcHJlc2VydmUtbWVyZ2VzIGlzIGRlcHJlY2F0ZWQuIFVzZSAtLXJlYmFzZS1tZXJnZXMgaW5zdGVhZC4iCittc2dzdHIgIiIKKyJnaXQgcmViYXNlIC0tcHJlc2VydmUtbWVyZ2VzIGF2csOlZHMgZnLDpW4uIEFudsOkbmQgLS1yZWJhc2UtbWVyZ2VzIGlzdMOkbGxldC4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYwNgorbXNnaWQgImNhbm5vdCBjb21iaW5lICctLWtlZXAtYmFzZScgd2l0aCAnLS1vbnRvJyIKK21zZ3N0ciAia2FuIGludGUga29tYmluZXJhIFwiLS1rZWVwLWJhc2VcIiBtZWQgXCItLW9udG9cIiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjA4Cittc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0ta2VlcC1iYXNlJyB3aXRoICctLXJvb3QnIgorbXNnc3RyICJrYW4gaW50ZSBrb21iaW5lcmEgXCItLWtlZXAtYmFzZVwiIG1lZCBcIi0tcm9vdFwiIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2MTIKIG1zZ2lkICJObyByZWJhc2UgaW4gcHJvZ3Jlc3M/IgogbXNnc3RyICJJbmdlbiBvbWJhc2VyaW5nIHDDpWfDpXI/IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEwMDEgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NDA2CisjOiBidWlsdGluL3JlYmFzZS5jOjE2MTYKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIsOFdGfDpHJkZW4gLS1lZGl0LXRvZG8ga2FuIGVuZGFzdCBhbnbDpG5kYXMgdW5kZXIgaW50ZXJha3RpdiBvbWJhc2VyaW5nLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDE1IGdpdC1sZWdhY3ktcmViYXNlLnNoOjQxMworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjM5CiBtc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAiS2FuIGludGUgbMOkc2EgSEVBRCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDI4IGdpdC1sZWdhY3ktcmViYXNlLnNoOjQxNgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNjUxCiBtc2dpZCAiIgogIllvdSBtdXN0IGVkaXQgYWxsIG1lcmdlIGNvbmZsaWN0cyBhbmQgdGhlblxuIgogIm1hcmsgdGhlbSBhcyByZXNvbHZlZCB1c2luZyBnaXQgYWRkIgpAQCAtMTUwODIsMjEgKzE4MDU0LDE2IEBACiAiRHUgbcOlc3RlIHJlZGlnZXJhIGFsbGEgc2FtbWFuc2xhZ25pbmdza29uZmxpa3RlciBvY2hcbiIKICJkw6RyZWZ0ZXIgbWFya2VyYSBkZW0gc29tIGzDtnN0YSBtZWQgZ2l0IGFkZCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDQ3CisjOiBidWlsdGluL3JlYmFzZS5jOjE2NzAKIG1zZ2lkICJjb3VsZCBub3QgZGlzY2FyZCB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICJrdW5kZSBpbnRlIGthc3RhIMOkbmRyaW5nYXIgaSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTA2NgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJXMiCiBtc2dzdHIgImt1bmRlIGludGUgZmx5dHRhIHRpbGxiYWthIHRpbGwgJXMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTA3NyBidWlsdGluL3JtLmM6MzY4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgJyVzJyIKLW1zZ3N0ciAia3VuZGUgaW50ZSB0YSBib3J0IFwiJXNcIiIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTAzCisjOiBidWlsdGluL3JlYmFzZS5jOjE3MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICVzIGRpcmVjdG9yeSwgYW5kXG4iCkBAIC0xNTExNywzMzggKzE4MDg0LDE2NCBAQAogIm9jaCBrw7ZyIHByb2dyYW1tZXQgaWdlbi4gSmFnIGF2c2x1dGFyIGlmYWxsIGR1IGZvcnRmYXJhbmRlIGhhclxuIgogIm7DpWdvdCBhdiB2w6RyZGUgZMOkci5cbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTI0CisjOiBidWlsdGluL3JlYmFzZS5jOjE3NTcKIG1zZ2lkICJzd2l0Y2ggYEMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCiBtc2dzdHIgImZsYWdnYW4gXCJDXCIgZsO2cnbDpG50YXIgZXR0IG51bWVyaXNrdCB2w6RyZGUiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTE2MQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gbW9kZTogJXMiCiBtc2dzdHIgIk9rw6RudCBsw6RnZTogJXMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTE4MworIzogYnVpbHRpbi9yZWJhc2UuYzoxODIwCiBtc2dpZCAiLS1zdHJhdGVneSByZXF1aXJlcyAtLW1lcmdlIG9yIC0taW50ZXJhY3RpdmUiCiBtc2dzdHIgIi0tc3RyYXRlZ3kga3LDpHZlciAtLW1lcmdlIGVsbGVyIC0taW50ZXJhY3RpdmUiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTIyNgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iZXJyb3I6IGNhbm5vdCBjb21iaW5lIGludGVyYWN0aXZlIG9wdGlvbnMgKC0taW50ZXJhY3RpdmUsIC0tZXhlYywgLS1yZWJhc2UtIgotIm1lcmdlcywgLS1wcmVzZXJ2ZS1tZXJnZXMsIC0ta2VlcC1lbXB0eSwgLS1yb290ICsgLS1vbnRvKSB3aXRoIGFtIG9wdGlvbnMgIgotIiglcykiCisjOiBidWlsdGluL3JlYmFzZS5jOjE4NjAKK21zZ2lkICItLXJlc2NoZWR1bGUtZmFpbGVkLWV4ZWMgcmVxdWlyZXMgLS1leGVjIG9yIC0taW50ZXJhY3RpdmUiCittc2dzdHIgIi0tcmVzY2hlZHVsZS1mYWlsZWQtZXhlYyBrcsOkdmVyIC0tZXhlYyBlbGxlciAtLWludGVyYWN0aXZlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4NzIKK21zZ2lkICJjYW5ub3QgY29tYmluZSBhbSBvcHRpb25zIHdpdGggZWl0aGVyIGludGVyYWN0aXZlIG9yIG1lcmdlIG9wdGlvbnMiCiBtc2dzdHIgIiIKLSJmZWw6IGthbiBpbnRlIGtvbWJpbmVyYSBpbnRlcmFrdGl2YSBmbGFnZ29yICgtLWludGVyYWN0aXZlLCAtLWV4ZWMsIC0tcmViYXNlLSIKLSJtZXJnZXMsIC0tcHJlc2VydmUtbWVyZ2VzLCAtLWtlZXAtZW1wdHksIC0tcm9vdCArIC0tb250bykgbWVkIGFtLWZsYWdnb3IgKCVzKSIKKyJrYW4gaW50ZSBrb21iaW5lcmEgYW0tZmxhZ2dvciBtZWQgdmFya2VuIGludGVyYWt0aXYtIGVsbGVyICIKKyJzYW1tYW5zbGFnbmluZ3NmbGFnZ29yIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEyMzEKLSMsIGMtZm9ybWF0CisjOiBidWlsdGluL3JlYmFzZS5jOjE4OTEKK21zZ2lkICJjYW5ub3QgY29tYmluZSAnLS1wcmVzZXJ2ZS1tZXJnZXMnIHdpdGggJy0tcmViYXNlLW1lcmdlcyciCittc2dzdHIgImthbiBpbnRlIGtvbWJpbmVyYSBcIi0tcHJlc2VydmUtbWVyZ2VzXCIgbWVkIFwiLS1yZWJhc2UtbWVyZ2VzXCIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg5NQogbXNnaWQgIiIKLSJlcnJvcjogY2Fubm90IGNvbWJpbmUgbWVyZ2Ugb3B0aW9ucyAoLS1tZXJnZSwgLS1zdHJhdGVneSwgLS1zdHJhdGVneS1vcHRpb24pICIKLSJ3aXRoIGFtIG9wdGlvbnMgKCVzKSIKKyJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcHJlc2VydmUtbWVyZ2VzJyB3aXRoICctLXJlc2NoZWR1bGUtZmFpbGVkLWV4ZWMnIgogbXNnc3RyICIiCi0iZmVsOiBrYW4gaW50ZSBrb21iaW5lcmEgc2FtbWFuc2xhZ25pbmdzZmxhZ2dvciAoLS1tZXJnZSwgLS1zdHJhdGVneSwgLS0iCi0ic3RyYXRlZ3ktb3B0aW9uKSBtZWQgYW0tZmxhZ2dvciAoJXMpIgorImZlbDoga2FuIGludGUga29tYmluZXJhIFwiLS1wcmVzZXJ2ZS1tZXJnZXNcIiBtZWQgXCItLXJlc2NoZWR1bGUtZmFpbGVkLWV4ZWMiCisiXCIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI1MSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1MzYKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcHJlc2VydmUtbWVyZ2VzJyB3aXRoICctLXJlYmFzZS1tZXJnZXMnIgotbXNnc3RyICJmZWw6IGthbiBpbnRlIGtvbWJpbmVyYSBcIi0tcHJlc2VydmUtbWVyZ2VzXCIgbWVkIFwiLS1yZWJhc2UtbWVyZ2VzXCIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI1NiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1NDIKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneS1vcHRpb24nIgotbXNnc3RyICJmZWw6IGthbiBpbnRlIGtvbWJpbmVyYSBcIi0tcmViYXNlLW1lcmdlc1wiIG1lZCBcIi0tc3RyYXRlZ3ktb3B0aW9uXCIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI1OSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1NDQKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneSciCi1tc2dzdHIgImZlbDoga2FuIGludGUga29tYmluZXJhIFwiLS1yZWJhc2UtbWVyZ2VzXCIgbWVkIFwiLS1zdHJhdGVneVwiIgotCi0jOiBidWlsdGluL3JlYmFzZS5jOjEyODMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTkxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICclcyciCi1tc2dzdHIgImZlbGFrdGlnIHVwcHN0csO2bSDigJ0lc+KAnSIKK21zZ3N0ciAiZmVsYWt0aWcgdXBwc3Ryw7ZtIFwiJXNcIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjg5CisjOiBidWlsdGluL3JlYmFzZS5jOjE5MjUKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIG5ldyByb290IGNvbW1pdCIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSBueSByb3RpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMzA3CisjOiBidWlsdGluL3JlYmFzZS5jOjE5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJzogbmVlZCBleGFjdGx5IG9uZSBtZXJnZSBiYXNlIHdpdGggYnJhbmNoIgorbXNnc3RyICJcIiVzXCI6IGJlaMO2dmVyIHByZWNpcyBlbiBzYW1tYW5zbGFnbmluZ3NiYXMgbWVkIGdyZW4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTk1NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBuZWVkIGV4YWN0bHkgb25lIG1lcmdlIGJhc2UiCiBtc2dzdHIgIlwiJXNcIjogYmVow7Z2ZXIgcHJlY2lzIGVuIHNhbW1hbnNsYWduaW5nc2JhcyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMzE0CisjOiBidWlsdGluL3JlYmFzZS5jOjE5NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQgJyVzJyIKIG1zZ3N0ciAiUGVrYXIgaW50ZSBww6UgZW4gZ2lsdGlnIGluY2hlY2tuaW5nOiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTMzOQorIzogYnVpbHRpbi9yZWJhc2UuYzoxOTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaC9jb21taXQgJyVzJyIKIG1zZ3N0ciAiw7ZkZXNkaWdlcnQ6IGluZ2VuIHPDpWRhbiBncmVuL2luY2hlY2tuaW5nOiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM0NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzcKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTMwCisjOiBidWlsdGluL3JlYmFzZS5jOjE5OTUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlZjogJXMiCiBtc2dzdHIgIkluZ2VuIHPDpWRhbiByZWZlcmVuczogJXMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM1OQorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDA2CiBtc2dpZCAiQ291bGQgbm90IHJlc29sdmUgSEVBRCB0byBhIHJldmlzaW9uIgogbXNnc3RyICJLdW5kZSBpbnRlIGJlc3TDpG1tYSBIRUFEOnMgaW5jaGVja25pbmciCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM5OSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2NjUKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA0NAogbXNnaWQgIkNhbm5vdCBhdXRvc3Rhc2giCiBtc2dzdHIgIkthbiBpbnRlIHV0ZsO2cmEgXCJhdXRvc3Rhc2hcIiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDAyCisjOiBidWlsdGluL3JlYmFzZS5jOjIwNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5leHBlY3RlZCBzdGFzaCByZXNwb25zZTogJyVzJyIKIG1zZ3N0ciAiT3bDpG50YXQgc3ZhciBmcsOlbiBzdGFzaDogXCIlc1wiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0MDgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSBmb3IgJyVzJyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBza2FwYSBrYXRhbG9nIGbDtnIgXCIlc1wiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0MTEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJXNcbiIKIG1zZ3N0ciAiU2thcGFkZSBhdXRvc3Rhc2g6ICVzXG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQxNAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDU5CiBtc2dpZCAiY291bGQgbm90IHJlc2V0IC0taGFyZCIKIG1zZ3N0ciAia3VuZGUgaW50ZSB1dGbDtnJhIFwicmVzZXQgLS1oYXJkXCIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQxNSBidWlsdGluL3Jlc2V0LmM6MTEzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkhFQUQgaXMgbm93IGF0ICVzIgotbXNnc3RyICJIRUFEIMOkciBudSBww6UgJXMiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQzMSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2NzQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA2OAogbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgIkNoZWNrYSBpbiBlbGxlciBhbnbDpG5kIFwic3Rhc2hcIiBww6UgZGVtLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDU4CisjOiBidWlsdGluL3JlYmFzZS5jOjIwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgdG9sa2EgXCIlc1wiIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0NzAKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3dpdGNoIHRvICVzIgogbXNnc3RyICJrdW5kZSBpbnRlIHbDpHhsYSB0aWxsICVzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0ODEgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6Njk3Ci0jLCBzaC1mb3JtYXQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjExOQogbXNnaWQgIkhFQUQgaXMgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgIkhFQUQgw6RyIMOgIGpvdXIuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0ODMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAlcyBpcyB1cCB0byBkYXRlLlxuIgogbXNnc3RyICJBa3R1ZWxsIGdyZW4gJXMgw6RyIMOgIGpvdXIuXG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ5MSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MDcKLSMsIHNoLWZvcm1hdAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTI5CiBtc2dpZCAiSEVBRCBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLiIKIG1zZ3N0ciAiSEVBRCDDpHIgw6Agam91ciwgb21iYXNlcmluZyBmcmFtdHZpbmdhZC4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ5MworIzogYnVpbHRpbi9yZWJhc2UuYzoyMTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkN1cnJlbnQgYnJhbmNoICVzIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuXG4iCiBtc2dzdHIgIkFrdHVlbGwgZ3JlbiAlcyDDpHIgw6Agam91ciwgb21iYXNlcmluZyBmcmFtdHZpbmdhZC5cbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNTAxIGdpdC1sZWdhY3ktcmViYXNlLnNoOjIwOAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTM5CiBtc2dpZCAiVGhlIHByZS1yZWJhc2UgaG9vayByZWZ1c2VkIHRvIHJlYmFzZS4iCiBtc2dzdHIgIktyb2tlbiBwcmUtcmViYXNlIHbDpGdyYWRlIG9tYmFzZXJpbmdlbi4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwOAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgdG8gJXM6XG4iCiBtc2dzdHIgIsOEbmRyaW5nYXIgdGlsbCAlczpcbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNTExCisjOiBidWlsdGluL3JlYmFzZS5jOjIxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hhbmdlcyBmcm9tICVzIHRvICVzOlxuIgogbXNnc3RyICLDhG5kcmluZ2FyIGZyw6VuICVzIHRpbGwgJXM6XG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzNgorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLlxuIgogbXNnc3RyICIiCiAiRsO2cnN0LCBzcG9sYXIgdGlsbGJha2EgaHV2dWRldCBmw7ZyIGF0dCBzcGVsYSBhdiBkaXR0IGFyYmV0ZSBvdmFucMOlIGRldC4uLlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE1NDMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE4MwogbXNnaWQgIkNvdWxkIG5vdCBkZXRhY2ggSEVBRCIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBrb3BwbGEgZnLDpW4gSEVBRCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNTUyCisjOiBidWlsdGluL3JlYmFzZS5jOjIxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkZWQgJXMgdG8gJXMuXG4iCiBtc2dzdHIgIlNuYWJic3BvbGFkZSAlcyB0aWxsICVzLlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoyNAotbXNnaWQgIm5vIEhFQUQ/IgotbXNnc3RyICJpbmdldCBIRUFEPyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6NTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJXMiCi1tc2dzdHIgImt1bmRlIGludGUgc2thcGEgdGVtcG9yw6RyICVzIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzo1NwotbXNnaWQgImNvdWxkIG5vdCBtYXJrIGFzIGludGVyYWN0aXZlIgotbXNnc3RyICJrdW5kZSBpbnRlIG1hcmtlcmEgc29tIGludGVyYWt0aXYiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjEwMQotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgb3BlbiAlcyIKLW1zZ3N0ciAia3VuZGUgaW50ZSDDtnBwbmEgJXMiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjExNAotbXNnaWQgImNvdWxkIG5vdCBnZW5lcmF0ZSB0b2RvIGxpc3QiCi1tc2dzdHIgIkt1bmRlIGludGUgc2thcGEgYXR0Z8O2cmEtbGlzdGEiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjEyOQotbXNnaWQgImdpdCByZWJhc2UtLWludGVyYWN0aXZlIFs8b3B0aW9ucz5dIgotbXNnc3RyICJnaXQgcmViYXNlLS1pbnRlcmFjdGl2ZSBbPGZsYWdnb3I+XSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTQ4Ci1tc2dpZCAia2VlcCBlbXB0eSBjb21taXRzIgotbXNnc3RyICJiZWjDpWxsIHRvbW1hIGluY2hlY2tuaW5nYXIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1MCBidWlsdGluL3JldmVydC5jOjEyNAotbXNnaWQgImFsbG93IGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKLW1zZ3N0ciAidGlsbMOldCBpbmNoZWNrbmluZ2FyIG1lZCB0b210IG1lZGRlbGFuZGUiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1MQotbXNnaWQgInJlYmFzZSBtZXJnZSBjb21taXRzIgotbXNnc3RyICJvbWJhc2VyYSBzYW1tYW5zbGFnbmluZ2FyIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTMKLW1zZ2lkICJrZWVwIG9yaWdpbmFsIGJyYW5jaCBwb2ludHMgb2YgY291c2lucyIKLW1zZ3N0ciAiYmVow6VsbCB1cnNwcnVuZ2xpZ2EgZsO2cmdyZW5pbmdzcHVua3RlciBmw7ZyIGt1c2luZXIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1NQotbXNnaWQgIm1vdmUgY29tbWl0cyB0aGF0IGJlZ2luIHdpdGggc3F1YXNoIS9maXh1cCEiCi1tc2dzdHIgImZseXR0YSBpbmNoZWNrbmluZ2FyIHNvbSBpbmxlZHMgbWVkIHNxdWFzaCEvZml4dXAhIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTYKLW1zZ2lkICJzaWduIGNvbW1pdHMiCi1tc2dzdHIgInNpZ25lcmEgaW5jaGVja25pbmdhciIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTU4Ci1tc2dpZCAiY29udGludWUgcmViYXNlIgotbXNnc3RyICJmb3J0c8OkdHQgb21iYXNlcmluZyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTYwCi1tc2dpZCAic2tpcCBjb21taXQiCi1tc2dzdHIgImhvcHBhIMO2dmVyIGluY2hlY2tuaW5nIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjEKLW1zZ2lkICJlZGl0IHRoZSB0b2RvIGxpc3QiCi1tc2dzdHIgInJlZGlnZXJhIGF0dGfDtnJhLWxpc3RhbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTYzCi1tc2dpZCAic2hvdyB0aGUgY3VycmVudCBwYXRjaCIKLW1zZ3N0ciAidmlzYSBudXZhcmFuZGUgcGF0Y2giCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE2NgotbXNnaWQgInNob3J0ZW4gY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgotbXNnc3RyICJmw7Zya29ydGEgaW5jaGVja25pbmdzLWlkIGkgdG9kby1saXN0YW4iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE2OAotbXNnaWQgImV4cGFuZCBjb21taXQgaWRzIGluIHRoZSB0b2RvIGxpc3QiCi1tc2dzdHIgInV0w7ZrYSBpbmNoZWNrbmluZ3MtaWQgaSB0b2RvLWxpc3RhbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTcwCi1tc2dpZCAiY2hlY2sgdGhlIHRvZG8gbGlzdCIKLW1zZ3N0ciAia29udHJvbGxlcmEgdG9kby1saXN0YW4iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3MgotbXNnaWQgInJlYXJyYW5nZSBmaXh1cC9zcXVhc2ggbGluZXMiCi1tc2dzdHIgIm9yZG5hIG9tIGZpeHVwLS9zcXVhc2gtcmFkZXIiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3NAotbXNnaWQgImluc2VydCBleGVjIGNvbW1hbmRzIGluIHRvZG8gbGlzdCIKLW1zZ3N0ciAibMOkZ2cgaW4gZXhlYy1rb21tYW5kb24gaSB0b2RvLWxpc3RhbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc1Ci1tc2dpZCAib250byIKLW1zZ3N0ciAib3ZhbnDDpSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc3Ci1tc2dpZCAicmVzdHJpY3QtcmV2aXNpb24iCi1tc2dzdHIgInJlc3RyaWN0LXJldmlzaW9uIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzcKLW1zZ2lkICJyZXN0cmljdCByZXZpc2lvbiIKLW1zZ3N0ciAiYmVncsOkbnNhIHJldmlzaW9uIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzgKLW1zZ2lkICJzcXVhc2gtb250byIKLW1zZ3N0ciAic3F1YXNoLW9udG8iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3OQotbXNnaWQgInNxdWFzaCBvbnRvIgotbXNnc3RyICJ0cnljayBpaG9wIG92YW5ww6UiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4MQotbXNnaWQgInRoZSB1cHN0cmVhbSBjb21taXQiCi1tc2dzdHIgInVwcHN0csO2bXNpbmNoZWNrbmluZ2VuIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODIKLW1zZ2lkICJoZWFkLW5hbWUiCi1tc2dzdHIgImhlYWQtbmFtZSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgyCi1tc2dpZCAiaGVhZCBuYW1lIgotbXNnc3RyICJuYW1uIHDDpSBodXZ1ZCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg3Ci1tc2dpZCAicmViYXNlIHN0cmF0ZWd5IgotbXNnc3RyICJzYW1tYW5zbGFnbmluZ3NzdHJhdGVnaSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg4Ci1tc2dpZCAic3RyYXRlZ3ktb3B0cyIKLW1zZ3N0ciAic3RyYXRlZ3ktb3B0cyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg5Ci1tc2dpZCAic3RyYXRlZ3kgb3B0aW9ucyIKLW1zZ3N0ciAic3RyYXRlZ2lmbGFnZ29yIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTAKLW1zZ2lkICJzd2l0Y2gtdG8iCi1tc2dzdHIgInN3aXRjaC10byIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkxCi1tc2dpZCAidGhlIGJyYW5jaCBvciBjb21taXQgdG8gY2hlY2tvdXQiCi1tc2dzdHIgImdyZW4gZWxsZXIgaW5jaGVja2luZyBhdHQgY2hlY2thIHV0IgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTIKLW1zZ2lkICJvbnRvLW5hbWUiCi1tc2dzdHIgIm9udG8tbmFtZSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkyCi1tc2dpZCAib250byBuYW1lIgotbXNnc3RyICJww6UtbmFtbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkzCi1tc2dpZCAiY21kIgotbXNnc3RyICJrbWQiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5MwotbXNnaWQgInRoZSBjb21tYW5kIHRvIHJ1biIKLW1zZ3N0ciAia29tbWFuZG8gYXR0IGvDtnJhIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoyMjAKLW1zZ2lkICItLVtuby1dcmViYXNlLWNvdXNpbnMgaGFzIG5vIGVmZmVjdCB3aXRob3V0IC0tcmViYXNlLW1lcmdlcyIKLW1zZ3N0ciAiLS1bbm8tXXJlYmFzZS1jb3VzaW5zIGhhciBpbmdlbiBlZmZla3QgdXRhbiAtLXJlYmFzZS1tZXJnZXMiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjIyNgotbXNnaWQgImEgYmFzZSBjb21taXQgbXVzdCBiZSBwcm92aWRlZCB3aXRoIC0tdXBzdHJlYW0gb3IgLS1vbnRvIgotbXNnc3RyICJlbiBiYXNpbmNoZWNrbmluZyBtw6VzdGUgYW5nZXMgbWVkIC0tdXBzdHJlYW0gZWxsZXIgLS1vbnRvIgotCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjMzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjMyCiBtc2dpZCAiZ2l0IHJlY2VpdmUtcGFjayA8Z2l0LWRpcj4iCiBtc2dzdHIgImdpdCByZWNlaXZlLXBhY2sgPGdpdC1rYXRhbG9nPiIKIApAQCAtMTU1MDMsMTkgKzE4Mjk2LDc0IEBACiAiXG4iCiAiRsO2ciBhdHQgdW5kdmlrYSBkZXR0YSBtZWRkZWxhbmRlIGthbiBkdSBzw6R0dGEgZGV0IHRpbGwgXCJyZWZ1c2VcIi4iCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTkyOQorIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTM2CiBtc2dpZCAicXVpZXQiCiBtc2dzdHIgInR5c3QiCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk0MworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTUwCiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIGRpcmVjdG9yeS4iCiBtc2dzdHIgIkR1IG3DpXN0ZSBhbmdlIGVuIGthdGFsb2cuIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjU2MyBidWlsdGluL3JlZmxvZy5jOjU2OAorIzogYnVpbHRpbi9yZWZsb2cuYzoxNworbXNnaWQgIiIKKyJnaXQgcmVmbG9nIGV4cGlyZSBbLS1leHBpcmU9PHRpbWU+XSBbLS1leHBpcmUtdW5yZWFjaGFibGU9PHRpbWU+XSBbLS0iCisicmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1zdGFsZS1maXhdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gWy0tYWxsXSAiCisiPHJlZnM+Li4uIgorbXNnc3RyICIiCisiZ2l0IHJlZmxvZyBleHBpcmUgWy0tZXhwaXJlPTx0aWQ+XSBbLS1leHBpcmUtdW5yZWFjaGFibGU9PHRpZD5dIFstLXJld3JpdGVdICIKKyJbLS11cGRhdGVyZWZdIFstLXN0YWxlLWZpeF0gWy0tZHJ5LXJ1biB8IC1uXSBbLS12ZXJib3NlXSBbLS1hbGxdICIKKyI8cmVmZXJlbnNlcj4uLi4iCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6MjIKK21zZ2lkICIiCisiZ2l0IHJlZmxvZyBkZWxldGUgWy0tcmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1kcnktcnVuIHwgLW5dIFstLXZlcmJvc2VdICIKKyI8cmVmcz4uLi4iCittc2dzdHIgIiIKKyJnaXQgcmVmbG9nIGRlbGV0ZSBbLS1yZXdyaXRlXSBbLS11cGRhdGVyZWZdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gIgorIjxyZWZlcmVuc2VyPi4uLiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzoyNQorbXNnaWQgImdpdCByZWZsb2cgZXhpc3RzIDxyZWY+IgorbXNnc3RyICJnaXQgcmVmbG9nIGV4aXN0cyA8cmVmZXJlbnM+IgorCisjOiBidWlsdGluL3JlZmxvZy5jOjU2NyBidWlsdGluL3JlZmxvZy5jOjU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAiXCIlc1wiIMOkciBpbnRlIGVuIGdpbHRpZyB0aWRzc3TDpG1wZWwiCiAKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIk1hcmtpbmcgcmVhY2hhYmxlIG9iamVjdHMuLi4iCittc2dzdHIgIk1hcmtlcmFyIG7DpWJhcmEgb2JqZWt0Li4uIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjY0MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBwb2ludHMgbm93aGVyZSEiCittc2dzdHIgIiVzIHBla2FyIGluZ2Vuc3RhbnMhIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjY5NQorbXNnaWQgIm5vIHJlZmxvZyBzcGVjaWZpZWQgdG8gZGVsZXRlIgorbXNnc3RyICJpbmdlbiByZWZlcmVuc2xvZ2cgYXR0IHRhIGJvcnQgYW5nYXZzIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjcwNAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSByZWZsb2c6ICVzIgorbXNnc3RyICJpbnRlIGVuIHJlZmVyZW5zbG9nZzogJXMiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHJlZmxvZyBmb3IgJyVzJyIKK21zZ3N0ciAiaW5nZW4gcmVmZXJlbnNsb2dnIGbDtnIgXCIlc1wiIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHJlZiBmb3JtYXQ6ICVzIgorbXNnc3RyICJmZWxha3RpZ3QgcmVmZXJlbnNmb3JtYXQ6ICVzIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjc2NAorbXNnaWQgImdpdCByZWZsb2cgWyBzaG93IHwgZXhwaXJlIHwgZGVsZXRlIHwgZXhpc3RzIF0iCittc2dzdHIgImdpdCByZWZsb2cgWyBzaG93IHwgZXhwaXJlIHwgZGVsZXRlIHwgZXhpc3RzIF0iCisKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCiBtc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSIKQEAgLTE1Njc2LDcgKzE4NTI0LDcgQEAKIG1zZ2lkICIoZGVsZXRlKSIKIG1zZ3N0ciAiKHRhIGJvcnQpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYyOSBidWlsdGluL3JlbW90ZS5jOjc2NSBidWlsdGluL3JlbW90ZS5jOjg2NAorIzogYnVpbHRpbi9yZW1vdGUuYzo2MjkgYnVpbHRpbi9yZW1vdGUuYzo3NjQgYnVpbHRpbi9yZW1vdGUuYzo4NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGU6ICclcyciCiBtc2dzdHIgIkluZ2VuIHPDpWRhbiBmasOkcnI6IFwiJXNcIiIKQEAgLTE1Njk3LDE3ICsxODU0NSwxNyBAQAogIlx0JXNcbiIKICJcdFVwcGRhdGVyYSBrb25maWd1cmF0aW9uZW4gbWFudWVsbHQgb20gbsO2ZHbDpG5kaWd0LiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3MDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgYm9ydCBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzM2CisjOiBidWlsdGluL3JlbW90ZS5jOjczNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjcmVhdGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHNrYXBhIFwiJXNcIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo4MDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6ODAxCiBtc2dpZCAiIgogIk5vdGU6IEEgYnJhbmNoIG91dHNpZGUgdGhlIHJlZnMvcmVtb3Rlcy8gaGllcmFyY2h5IHdhcyBub3QgcmVtb3ZlZDtcbiIKICJ0byBkZWxldGUgaXQsIHVzZToiCkBAIC0xNTcyMSwxMTggKzE4NTY5LDExOCBAQAogIk9ic2VydmVyYTogTsOlZ3JhIGdyZW5hciB1dGFuZsO2ciBoaWVyYXJraW4gcmVmcy9yZW1vdGVzLyB0b2dzIGludGUgYm9ydDtcbiIKICJmw7ZyIGF0dCB0YSBib3J0IGRlbSwgYW52w6RuZDoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODE2CisjOiBidWlsdGluL3JlbW90ZS5jOjgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIGNvbmZpZyBzZWN0aW9uICclcyciCiBtc2dzdHIgIkt1bmRlIGludGUgdGEgYm9ydCBrb25maWd1cmF0aW9uc3Nla3Rpb25lbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE3CisjOiBidWlsdGluL3JlbW90ZS5jOjkxNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgbmV3IChuZXh0IGZldGNoIHdpbGwgc3RvcmUgaW4gcmVtb3Rlcy8lcykiCiBtc2dzdHIgIiBueSAobsOkc3RhIGjDpG10bmluZyBzcGFyYXIgaSByZW1vdGVzLyVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE5CiBtc2dpZCAiIHRyYWNrZWQiCiBtc2dzdHIgIiBzcMOlcmFkIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkyMgorIzogYnVpbHRpbi9yZW1vdGUuYzo5MjEKIG1zZ2lkICIgc3RhbGUgKHVzZSAnZ2l0IHJlbW90ZSBwcnVuZScgdG8gcmVtb3ZlKSIKIG1zZ3N0ciAiIGbDtnJsZWdhZCAoYW52w6RuZCBcImdpdCByZW1vdGUgcHJ1bmVcIiBmw7ZyIGF0dCB0YSBib3J0KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MjQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTIzCiBtc2dpZCAiID8/PyIKIG1zZ3N0ciAiID8/PyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NjUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKIG1zZ3N0ciAib2dpbHRpZyBicmFuY2guJXMubWVyZ2U7IGthbiBpbnRlIG9tYmFzZXJhIMO2dmVyID4gMSBncmVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3NAorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBpbnRlcmFjdGl2ZWx5IG9udG8gcmVtb3RlICVzIgogbXNnc3RyICJvbWJhc2VyYXMgaW50ZXJha3RpdnQgcMOlIGZqw6RycmVuICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk3NgorIzogYnVpbHRpbi9yZW1vdGUuYzo5NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmViYXNlcyBpbnRlcmFjdGl2ZWx5ICh3aXRoIG1lcmdlcykgb250byByZW1vdGUgJXMiCiBtc2dzdHIgIm9tYmFzZXJhcyBpbnRlcmFrdGl2dCAobWVkIHNhbW1hbnNsYWduaW5nYXIpIHDDpSBmasOkcnJlbiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCiBtc2dzdHIgIm9tYmFzZXJhcyBww6UgZmrDpHJyZW4gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTgzCisjOiBidWlsdGluL3JlbW90ZS5jOjk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgbWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICIgc2FtbWFuc2zDpXMgbWVkIGZqw6RycmVuICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk4NgorIzogYnVpbHRpbi9yZW1vdGUuYzo5ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICJzYW1tYW5zbMOlcyBtZWQgZmrDpHJyZW4gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg5CisjOiBidWlsdGluL3JlbW90ZS5jOjk4OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlLSpzICAgIGFuZCB3aXRoIHJlbW90ZSAlc1xuIgogbXNnc3RyICIlLSpzICAgIG9jaCBtZWQgZmrDpHJyZW4gJXNcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMyCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzEKIG1zZ2lkICJjcmVhdGUiCiBtc2dzdHIgInNrYXBhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNAogbXNnaWQgImRlbGV0ZSIKIG1zZ3N0ciAidGEgYm9ydCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM5CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzgKIG1zZ2lkICJ1cCB0byBkYXRlIgogbXNnc3RyICLDoGpvdXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQxCiBtc2dpZCAiZmFzdC1mb3J3YXJkYWJsZSIKIG1zZ3N0ciAia2FuIHNuYWJic3BvbGFzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NAogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICJsb2thbCBmw7Zyw6VsZHJhZCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUyCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMgdHZpbmdhciB0aWxsICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU1CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICUtKnMgKCVzKSIKIG1zZ3N0ciAiICAgICUtKnMgc8OkbmRlciB0aWxsICUtKnMgKCVzKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU5CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyB0dmluZ2FyIHRpbGwgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA2MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnMgc8OkbmRlciB0aWxsICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEyOQogbXNnaWQgImRvIG5vdCBxdWVyeSByZW1vdGVzIgogbXNnc3RyICJmcsOlZ2EgaW50ZSBmasOkcnJhciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU3CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiByZW1vdGUgJXMiCiBtc2dzdHIgIiogZmrDpHJyICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZldGNoIFVSTDogJXMiCiBtc2dzdHIgIiAgSMOkbXQtVVJMOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU5IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NSBidWlsdGluL3JlbW90ZS5jOjEzMTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OCBidWlsdGluL3JlbW90ZS5jOjExNzQgYnVpbHRpbi9yZW1vdGUuYzoxMzEzCiBtc2dpZCAiKG5vIFVSTCkiCiBtc2dzdHIgIihpbmdlbiBVUkwpIgogCkBAIC0xNTg0MCwxOTMgKzE4Njg4LDE4NCBAQAogIy4gd2l0aCB0aGUgb25lIGluICIgRmV0Y2ggVVJMOiAlcyIKICMuIHRyYW5zbGF0aW9uLgogIy4KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MyBidWlsdGluL3JlbW90ZS5jOjExNzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MiBidWlsdGluL3JlbW90ZS5jOjExNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBQdXNoICBVUkw6ICVzIgogbXNnc3RyICIgIFPDpG5kLVVSTDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NyBidWlsdGluL3JlbW90ZS5jOjExNzkgYnVpbHRpbi9yZW1vdGUuYzoxMTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNzYgYnVpbHRpbi9yZW1vdGUuYzoxMTc4IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEhFQUQgYnJhbmNoOiAlcyIKIG1zZ3N0ciAiICBIRUFELWdyZW46ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NgogbXNnaWQgIihub3QgcXVlcmllZCkiCiBtc2dzdHIgIihpbnRlIGbDtnJmcsOlZ2FkKSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc5CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzgKIG1zZ2lkICIodW5rbm93bikiCiBtc2dzdHIgIihva8OkbmQpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExODMKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiICBIRUFEIGJyYW5jaCAocmVtb3RlIEhFQUQgaXMgYW1iaWd1b3VzLCBtYXkgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcpOlxuIgogbXNnc3RyICIgIEhFQUQtZ3JlbiAoSEVBRCBww6UgZmrDpHJyIMOkciB0dmV0eWRpZywga2FuIHZhcmEgZW4gYXYgZsO2bGphbmRlKTpcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk1CisjOiBidWlsdGluL3JlbW90ZS5jOjExOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBSZW1vdGUgYnJhbmNoOiVzIgogbXNnaWRfcGx1cmFsICIgIFJlbW90ZSBicmFuY2hlczolcyIKIG1zZ3N0clswXSAiICBGasOkcnJncmVuOiVzIgogbXNnc3RyWzFdICIgIEZqw6RycmdyZW5hcjolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk4IGJ1aWx0aW4vcmVtb3RlLmM6MTIyNAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk3IGJ1aWx0aW4vcmVtb3RlLmM6MTIyMwogbXNnaWQgIiAoc3RhdHVzIG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiIChzdGF0dXMgaW50ZSBmw7ZyZnLDpWdhZCkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjA2CiBtc2dpZCAiICBMb2NhbCBicmFuY2ggY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgYnJhbmNoZXMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCiBtc2dzdHJbMF0gIiAgTG9rYWwgZ3JlbiBrb25maWd1cmVyYWQgZsO2ciBcImdpdCBwdWxsXCI6IgogbXNnc3RyWzFdICIgIExva2FsYSBncmVuYXIga29uZmlndXJlcmFkZSBmw7ZyIFwiZ2l0IHB1bGxcIjoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIxNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjE0CiBtc2dpZCAiICBMb2NhbCByZWZzIHdpbGwgYmUgbWlycm9yZWQgYnkgJ2dpdCBwdXNoJyIKIG1zZ3N0ciAiICBMb2thbGEgcmVmZXJlbnNlciBzcGVnbGFzIGF2IFwiZ2l0IHB1c2hcIiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjIxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBMb2NhbCByZWYgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCByZWZzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dzdHJbMF0gIiAgTG9rYWwgcmVmZXJlbnMga29uZmlndXJlcmFkIGbDtnIgXCJnaXQgcHVzaFwiJXM6IgogbXNnc3RyWzFdICIgIExva2FsYSByZWZlcmVuc2VyIGtvbmZpZ3VyZXJhZGUgZsO2ciBcImdpdCBwdXNoXCIlczoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQxCiBtc2dpZCAic2V0IHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCBhY2NvcmRpbmcgdG8gcmVtb3RlIgogbXNnc3RyICJzw6R0dCByZWZzL3JlbW90ZXMvPG5hbW4+L0hFQUQgZW5saWd0IGZqw6RycmVuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MwogbXNnaWQgImRlbGV0ZSByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQiCiBtc2dzdHIgInRhIGJvcnQgcmVmcy9yZW1vdGVzLzxuYW1uPi9IRUFEIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1OAogbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgcmVtb3RlIEhFQUQiCiBtc2dzdHIgIkthbiBpbnRlIGJlc3TDpG1tYSBIRUFEIHDDpSBmasOkcnJlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjYxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNjAKIG1zZ2lkICJNdWx0aXBsZSByZW1vdGUgSEVBRCBicmFuY2hlcy4gUGxlYXNlIGNob29zZSBvbmUgZXhwbGljaXRseSB3aXRoOiIKIG1zZ3N0ciAiRmxlcmEgSEVBRC1ncmVuYXIgcMOlIGZqw6RycmVuLiBWw6RsaiBlbiBleHBsaWNpdCBtZWQ6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNzEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgZGVsZXRlICVzIgogbXNnc3RyICJLdW5kZSBpbnRlIHRhIGJvcnQgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIHJlZjogJXMiCiBtc2dzdHIgIkludGUgZW4gZ2lsdGlnIHJlZmVyZW5zOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwICVzIgogbXNnc3RyICJLdW5kZSBpbnRlIHN0w6RsbGEgaW4gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyB3aWxsIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyBrb21tZXIgYmxpIGRpbmdsYW5kZSEiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyBoYXMgYmVjb21lIGRhbmdsaW5nISIKIG1zZ3N0ciAiICVzIGhhciBibGl2aXQgZGluZ2xhbmRlISIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzEwCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJ1bmluZyAlcyIKIG1zZ3N0ciAiUmVuc2FyICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJVUkw6ICVzIgogbXNnc3RyICJVUkw6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbd291bGQgcHJ1bmVdICVzIgogbXNnc3RyICIgKiBbc2t1bGxlIHJlbnNhXSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzMwCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3BydW5lZF0gJXMiCiBtc2dzdHIgIiAqIFtyZW5zYWRdICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzNzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM3NAogbXNnaWQgInBydW5lIHJlbW90ZXMgYWZ0ZXIgZmV0Y2hpbmciCiBtc2dzdHIgInJlbnNhIGZqw6RycmFyIGVmdGVyIGjDpG10bmluZyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDM4IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5MiBidWlsdGluL3JlbW90ZS5jOjE1NjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNyBidWlsdGluL3JlbW90ZS5jOjE0OTEgYnVpbHRpbi9yZW1vdGUuYzoxNTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlICclcyciCiBtc2dzdHIgIkluZ2VuIHPDpWRhbiBmasOkcnIgXCIlc1wiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ1MwogbXNnaWQgImFkZCBicmFuY2giCiBtc2dzdHIgImzDpGdnIHRpbGwgZ3JlbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjAKIG1zZ2lkICJubyByZW1vdGUgc3BlY2lmaWVkIgogbXNnc3RyICJpbmdlbiBmasOkcnIgYW5nYXZzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3NwogbXNnaWQgInF1ZXJ5IHB1c2ggVVJMcyByYXRoZXIgdGhhbiBmZXRjaCBVUkxzIgogbXNnc3RyICJmcsOlZ2Egc8OkbmQtVVJMOmVyIGlzdMOkbGxldCBmw7ZyIGjDpG10YS1VUkw6ZXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ4MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDc5CiBtc2dpZCAicmV0dXJuIGFsbCBVUkxzIgogbXNnc3RyICJyZXR1cm5lcmEgYWxsYSBVUkw6ZXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUwOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIFVSTHMgY29uZmlndXJlZCBmb3IgcmVtb3RlICclcyciCiBtc2dzdHIgImluZ2VuIFVSTDplciBhbmdpdm5hIGbDtnIgZmrDpHJyZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzMwogbXNnaWQgIm1hbmlwdWxhdGUgcHVzaCBVUkxzIgogbXNnc3RyICJtYW5pcHVsZXJhIFVSTDphciBmw7ZyIHPDpG5kbmluZyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM2CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzUKIG1zZ2lkICJhZGQgVVJMIgogbXNnc3RyICJsw6RnZyB0aWxsIFVSTCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM4CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzcKIG1zZ2lkICJkZWxldGUgVVJMcyIKIG1zZ3N0ciAidGEgYm9ydCBVUkw6YXIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU0NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTQ0CiBtc2dpZCAiLS1hZGQgLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWFkZCAtLWRlbGV0ZSBnZXIgaW5nZW4gbWVuaW5nIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1ODQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG9sZCBVUkwgcGF0dGVybjogJXMiCiBtc2dzdHIgIkZlbGFrdGlnIGdhbW1hbHQgVVJMLW3Dtm5zdGVyOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkyCisjOiBidWlsdGluL3JlbW90ZS5jOjE1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgogbXNnc3RyICJJbmdlbiBzw6VkYW4gVVJMIGhpdHRhZGVzOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTk0CisjOiBidWlsdGluL3JlbW90ZS5jOjE1OTMKIG1zZ2lkICJXaWxsIG5vdCBkZWxldGUgYWxsIG5vbi1wdXNoIFVSTHMiCiBtc2dzdHIgIktvbW1lciBpbnRlIHRhIGJvcnQgYWxsYSBpY2tlLXPDpG5kLVVSTDplciIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjEwCi1tc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKLW1zZ3N0ciAidmFyIHByYXRzYW07IG3DpXN0ZSBza3JpdmFzIGbDtnJlIGV0dCB1bmRlcmtvbW1hbmRvIgotCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKLW1zZ3N0ciAiT2vDpG50IHVuZGVya29tbWFuZG86ICVzIgotCi0jOiBidWlsdGluL3JlcGFjay5jOjIyCisjOiBidWlsdGluL3JlcGFjay5jOjIzCiBtc2dpZCAiZ2l0IHJlcGFjayBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IHJlcGFjayBbPGZsYWdnb3I+XSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyNworIzogYnVpbHRpbi9yZXBhY2suYzoyOAogbXNnaWQgIiIKICJJbmNyZW1lbnRhbCByZXBhY2tzIGFyZSBpbmNvbXBhdGlibGUgd2l0aCBiaXRtYXAgaW5kZXhlcy4gIFVzZVxuIgogIi0tbm8td3JpdGUtYml0bWFwLWluZGV4IG9yIGRpc2FibGUgdGhlIHBhY2sud3JpdGViaXRtYXBzIGNvbmZpZ3VyYXRpb24uIgpAQCAtMTYwMzUsOTUgKzE4ODc0LDEzMSBAQAogIkFudsOkbmQgLS1uby13cml0ZS1iaXRtYXAtaW5kZXggZWxsZXIgaW5ha3RpdmVyYSBpbnN0w6RsbG5pbmdlblxuIgogInBhY2sud3JpdGViaXRtYXBzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjI5NAorIzogYnVpbHRpbi9yZXBhY2suYzoxOTEKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgcGFjay1vYmplY3RzIHRvIHJlcGFjayBwcm9taXNvciBvYmplY3RzIgorbXNnc3RyICJrdW5kZSBpbnRlIHN0YXJ0YSBwYWNrLW9iamVjdHMgZsO2ciBhdHQgcGFja2Egb20ga29udHJha3Rzb2JqZWt0IgorCisjOiBidWlsdGluL3JlcGFjay5jOjIzMCBidWlsdGluL3JlcGFjay5jOjQxNgorbXNnaWQgInJlcGFjazogRXhwZWN0aW5nIGZ1bGwgaGV4IG9iamVjdCBJRCBsaW5lcyBvbmx5IGZyb20gcGFjay1vYmplY3RzLiIKK21zZ3N0ciAiIgorInJlcGFjazogRsO2cnbDpG50YXIga29tcGxldHRhIGhleC1vYmpla3QtaWQtcmFkZXIgZW5kYXN0IGZyw6VuIHBhY2stb2JqZWN0cy4iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjU0Cittc2dpZCAiY291bGQgbm90IGZpbmlzaCBwYWNrLW9iamVjdHMgdG8gcmVwYWNrIHByb21pc29yIG9iamVjdHMiCittc2dzdHIgImt1bmRlIGludGUgYXZzbHV0YSBwYWNrLW9iamVjdHMgZsO2ciBhdHQgcGFja2Egb20ga29udHJha3Rzb2JqZWt0IgorCisjOiBidWlsdGluL3JlcGFjay5jOjI5MgogbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgogbXNnc3RyICJwYWNrYSBhbGx0IGkgZXR0IGVuZGEgcGFrZXQiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk2CisjOiBidWlsdGluL3JlcGFjay5jOjI5NAogbXNnaWQgInNhbWUgYXMgLWEsIGFuZCB0dXJuIHVucmVhY2hhYmxlIG9iamVjdHMgbG9vc2UiCiBtc2dzdHIgInNhbW1hIHNvbSAtYSwgb2NoIGfDtnIgb27DpWJhcmEgb2JqZWt0IGzDtnNhIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjI5OQorIzogYnVpbHRpbi9yZXBhY2suYzoyOTcKIG1zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCiBtc2dzdHIgInRhIGJvcnQgw7Z2ZXJmbMO2ZGlnYSBwYWtldCwgb2NoIGvDtnIgZ2l0LXBydW5lLXBhY2tlZCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMDEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk5CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLWRlbHRhIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgInPDpG5kIC0tbm8tcmV1c2UtZGVsdGEgdGlsbCBnaXQtcGFjay1vYmplY3RzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMwMworIzogYnVpbHRpbi9yZXBhY2suYzozMDEKIG1zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgInPDpG5kIC0tbm8tcmV1c2Utb2JqZWN0IHRpbGwgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMDUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzAzCiBtc2dpZCAiZG8gbm90IHJ1biBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgogbXNnc3RyICJrw7ZyIGludGUgZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMDgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA2CiBtc2dpZCAicGFzcyAtLWxvY2FsIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgInPDpG5kIC0tbG9jYWwgdGlsbCBnaXQtcGFjay1vYmplY3RzIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMxMAorIzogYnVpbHRpbi9yZXBhY2suYzozMDgKIG1zZ2lkICJ3cml0ZSBiaXRtYXAgaW5kZXgiCiBtc2dzdHIgInNrcml2IGJpdGthcnRpbmRleCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEwCiBtc2dpZCAicGFzcyAtLWRlbHRhLWlzbGFuZHMgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAic8OkbmQgLS1kZWx0YS1pc2xhbmRzIHRpbGwgZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzExCiBtc2dpZCAiYXBwcm94aWRhdGUiCiBtc2dzdHIgImNpcmthZGF0dW0iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE0CisjOiBidWlsdGluL3JlcGFjay5jOjMxMgogbXNnaWQgIndpdGggLUEsIGRvIG5vdCBsb29zZW4gb2JqZWN0cyBvbGRlciB0aGFuIHRoaXMiCiBtc2dzdHIgIm1lZCAtQSwgbMO2cyBpbnRlIHVwcCBvYmpla3Qgw6RsZHJlIMOkbiBkZXR0YSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE0CiBtc2dpZCAid2l0aCAtYSwgcmVwYWNrIHVucmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIm1lZCAtYSwgcGFja2Egb20gb27DpWJhcmEgb2JqZWt0IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMxOAorIzogYnVpbHRpbi9yZXBhY2suYzozMTYKIG1zZ2lkICJzaXplIG9mIHRoZSB3aW5kb3cgdXNlZCBmb3IgZGVsdGEgY29tcHJlc3Npb24iCiBtc2dzdHIgInN0b3JsZWsgcMOlIGbDtm5zdGVyIGFudsOkbnQgZsO2ciBkZWx0YWtvbXByaW1lcmluZyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTkgYnVpbHRpbi9yZXBhY2suYzozMjUKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE3IGJ1aWx0aW4vcmVwYWNrLmM6MzIzCiBtc2dpZCAiYnl0ZXMiCiBtc2dzdHIgImJ5dGUiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzIwCisjOiBidWlsdGluL3JlcGFjay5jOjMxOAogbXNnaWQgInNhbWUgYXMgdGhlIGFib3ZlLCBidXQgbGltaXQgbWVtb3J5IHNpemUgaW5zdGVhZCBvZiBlbnRyaWVzIGNvdW50IgogbXNnc3RyICJzYW1tYSBzb20gb3ZhbiwgbWVuIGJlZ3LDpG5zYSBtaW5uZXNzdG9ybGVrZW4gaXN0w6RsbGV0IGbDtnIgcG9zdGFudGFsIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMyMgorIzogYnVpbHRpbi9yZXBhY2suYzozMjAKIG1zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gZGVsdGEgZGVwdGgiCiBtc2dzdHIgImJlZ3LDpG5zYSBtYXhpbWFsdCBkZWx0YWRqdXAiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI0CisjOiBidWlsdGluL3JlcGFjay5jOjMyMgogbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcyIKIG1zZ3N0ciAiYmVncsOkbnNhciBtYXhpbWFsdCBhbnRhbCB0csOlZGFyIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMyNgorIzogYnVpbHRpbi9yZXBhY2suYzozMjQKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBwYWNrZmlsZSIKIG1zZ3N0ciAibWF4aW1hbCBzdG9ybGVrIHDDpSB2YXJqZSBwYWtldGZpbCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMjgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI2CiBtc2dpZCAicmVwYWNrIG9iamVjdHMgaW4gcGFja3MgbWFya2VkIHdpdGggLmtlZXAiCiBtc2dzdHIgInBhY2thIG9tIG9iamVrdCBpIHBha2V0IG3DpHJrdGEgbWVkIC5rZWVwIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMzMAorIzogYnVpbHRpbi9yZXBhY2suYzozMjgKIG1zZ2lkICJkbyBub3QgcmVwYWNrIHRoaXMgcGFjayIKIG1zZ3N0ciAicGFja2EgaW50ZSBvbSBkZXR0YSBwYWtldCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozNDAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzM4CiBtc2dpZCAiY2Fubm90IGRlbGV0ZSBwYWNrcyBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKIG1zZ3N0ciAia2FuIGludGUgdGEgYm9ydCBwYWtldCBpIGV0dCBcInByZWNpb3VzLW9iamVjdHNcIi1hcmtpdiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozNDQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzQyCiBtc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWtlZXAtdW5yZWFjaGFibGUgb2NoIC1BIGthbiBpbnRlIGFudsOkbmRhcyBzYW10aWRpZ3QiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6NTI3CisjOiBidWlsdGluL3JlcGFjay5jOjQyNQorbXNnaWQgIk5vdGhpbmcgbmV3IHRvIHBhY2suIgorbXNnc3RyICJJbmdldCBueXR0IGF0dCBwYWNrYS4iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6NDg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBTb21lIHBhY2tzIGluIHVzZSBoYXZlIGJlZW4gcmVuYW1lZCBieVxuIgorIldBUk5JTkc6IHByZWZpeGluZyBvbGQtIHRvIHRoZWlyIG5hbWUsIGluIG9yZGVyIHRvXG4iCisiV0FSTklORzogcmVwbGFjZSB0aGVtIHdpdGggdGhlIG5ldyB2ZXJzaW9uIG9mIHRoZVxuIgorIldBUk5JTkc6IGZpbGUuICBCdXQgdGhlIG9wZXJhdGlvbiBmYWlsZWQsIGFuZCB0aGVcbiIKKyJXQVJOSU5HOiBhdHRlbXB0IHRvIHJlbmFtZSB0aGVtIGJhY2sgdG8gdGhlaXJcbiIKKyJXQVJOSU5HOiBvcmlnaW5hbCBuYW1lcyBhbHNvIGZhaWxlZC5cbiIKKyJXQVJOSU5HOiBQbGVhc2UgcmVuYW1lIHRoZW0gaW4gJXMgbWFudWFsbHk6XG4iCittc2dzdHIgIiIKKyJWQVJOSU5HOiBOYW1uZW4gcMOlIG7DpWdyYSBwYWtldCBoYXIgYnl0dHMgZ2Vub20gYXR0XG4iCisiVkFSTklORzogbMOkZ2dhIHRpbGwgb2xkLSBmw7ZyZSBuYW1uZW4sIGbDtnIgYXR0IGJ5dGFcbiIKKyJWQVJOSU5HOiBkZW0gbW90IGRlbiBueWEgdmVyc2lvbmVuIGF2IGZpbGVuLiBNZW5cbiIKKyJWQVJOSU5HOiBvcGVyYXRpb25lbiBtaXNzbHlja2FkZXMsIG9jaCBmw7Zyc8O2a2V0IGF0dFxuIgorIlZBUk5JTkc6IGJ5dGEgdGlsbGJha2EgdGlsbCBkZXQgdXJzcHJ1bmdsaWdhXG4iCisiVkFSTklORzogbmFtbmV0IG1pc3NseWNrYWRlcyBvY2tzw6UuXG4iCisiVkFSTklORzogQnl0IG5hbW4gcMOlIGRlbSBpICVzIG1hbnVlbGx0OlxuIgorCisjOiBidWlsdGluL3JlcGFjay5jOjUzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0YSBib3J0IFwiJXNcIiIKQEAgLTE2MTUyLDEyICsxOTAyNyw3IEBACiBtc2dpZCAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PTxmb3JtYXQ+XSBbLWwgWzxwYXR0ZXJuPl1dIgogbXNnc3RyICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PGZvcm1hdD5dIFstbCBbPG3Dtm5zdGVyPl1dIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1OCBidWlsdGluL3JlcGxhY2UuYzoyMDMgYnVpbHRpbi9yZXBsYWNlLmM6MjA2Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYiCi1tc2dzdHIgIm1pc3NseWNrYWRlcyBzbMOlIHVwcCBcIiVzXCIgc29tIGVuIGdpbHRpZyByZWZlcmVucyIKLQotIzogYnVpbHRpbi9yZXBsYWNlLmM6ODYKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJpbnZhbGlkIHJlcGxhY2UgZm9ybWF0ICclcydcbiIKQEAgLTE2MTY2LDI3ICsxOTAzNiwyNyBAQAogIm9naWx0aWd0IGVyc8OkdHRuaW5nc2Zvcm1hdCBcIiVzXCJcbiIKICJnaWx0aWdhIGZvcm1hdCDDpHIgXCJzaG9ydFwiLCBcIm1lZGl1bVwiIG9jaCBcImxvbmdcIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTIxCisjOiBidWlsdGluL3JlcGxhY2UuYzoxMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwbGFjZSByZWYgJyVzJyBub3QgZm91bmQiCiBtc2dzdHIgImVyc8OkdHRuaW5nc3JlZmVyZW5zZW4gXCIlc1wiIGhpdHRhZGVzIGludGUiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEzNworIzogYnVpbHRpbi9yZXBsYWNlLmM6MTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgcmVwbGFjZSByZWYgJyVzJyIKIG1zZ3N0ciAiVG9nIGJvcnQgZXJzw6R0dG5pbmdzcmVmZXJlbnNlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE0OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmIG5hbWUiCiBtc2dzdHIgIlwiJXNcIiDDpHIgaW50ZSBldHQgZ2lsdGlndCByZWZlcmVuc25hbW4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE1NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcGxhY2UgcmVmICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgImVyc8OkdHRuaW5nc3JlZmVyZW5zZW4gXCIlc1wiIGZpbm5zIHJlZGFuIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxNzQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiT2JqZWN0cyBtdXN0IGJlIG9mIHRoZSBzYW1lIHR5cGUuXG4iCkBAIC0xNjE5Nyw3NiArMTkwNjcsODEgQEAKICJcIiVzXCIgcGVrYXIgcMOlIGV0dCBlcnNhdHQgb2JqZWt0IG1lZCB0eXBlbiBcIiVzXCJcbiIKICJtZWRhbiBcIiVzXCIgcGVrYXIgcMOlIGV0dCBlcnPDpHR0bmluZ3NvYmpla3QgYXYgdHlwZW4gXCIlc1wiLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjI1CisjOiBidWlsdGluL3JlcGxhY2UuYzoyMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSAlcyBmw7ZyIHNrcml2bmluZyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjM4CisjOiBidWlsdGluL3JlcGxhY2UuYzoyNDIKIG1zZ2lkICJjYXQtZmlsZSByZXBvcnRlZCBmYWlsdXJlIgogbXNnc3RyICJjYXQtZmlsZSByYXBwb3J0ZXJhZGUgbWlzc2x5Y2thbmRlIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyNTQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAia2FuIGludGUgw7ZwcG5hICVzIGbDtnIgbMOkc25pbmciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI2OAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjcyCiBtc2dpZCAidW5hYmxlIHRvIHNwYXduIG1rdHJlZSIKIG1zZ3N0ciAia2FuIGludGUgc3RhcnRhIG1rdHJlZSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjcyCisjOiBidWlsdGluL3JlcGxhY2UuYzoyNzYKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBmcm9tIG1rdHJlZSIKIG1zZ3N0ciAia2FuIGludGUgbMOkc2EgZnLDpW4gbWt0cmVlIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyODEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI4NQogbXNnaWQgIm1rdHJlZSByZXBvcnRlZCBmYWlsdXJlIgogbXNnc3RyICJta3RyZWUgcmFwcG9ydGVyYWRlIG1pc3NseWNrYW5kZSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjg1CisjOiBidWlsdGluL3JlcGxhY2UuYzoyODkKIG1zZ2lkICJta3RyZWUgZGlkIG5vdCByZXR1cm4gYW4gb2JqZWN0IG5hbWUiCiBtc2dzdHIgIm1rdHJlZSByZXR1cm5lcmFkZSBpbnRlIGV0dCBvYmpla3RuYW1uIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyOTQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZnN0YXQgJXMiCiBtc2dzdHIgImthbiBpbnRlIHV0ZsO2cmEgXCJmc3RhdFwiIHDDpSAlcyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjk5CisjOiBidWlsdGluL3JlcGxhY2UuYzozMDMKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgb2JqZWN0IHRvIGRhdGFiYXNlIgogbXNnc3RyICJrYW4gaW50ZSBza3JpdmEgb2JqZWt0ZXQgdGlsbCBkYXRhYmFzZW4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMxOCBidWlsdGluL3JlcGxhY2UuYzozNzEgYnVpbHRpbi9yZXBsYWNlLmM6NDE1Ci0jOiBidWlsdGluL3JlcGxhY2UuYzo0NDUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMyMiBidWlsdGluL3JlcGxhY2UuYzozNzggYnVpbHRpbi9yZXBsYWNlLmM6NDIzCisjOiBidWlsdGluL3JlcGxhY2UuYzo0NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcyciCiBtc2dzdHIgIm9iamVrdG5hbW5ldCDDpHIgaW50ZSBnaWx0aWd0OiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMyMgorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBnZXQgb2JqZWN0IHR5cGUgZm9yICVzIgogbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBvYmpla3R0eXAgZsO2ciAlcyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzM4CisjOiBidWlsdGluL3JlcGxhY2UuYzozNDIKIG1zZ2lkICJlZGl0aW5nIG9iamVjdCBmaWxlIGZhaWxlZCIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHJlZGlnZXJhIG9iamVrdGZpbGVuIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNDcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgb2JqZWN0IGlzIHRoZSBzYW1lIGFzIHRoZSBvbGQgb25lOiAnJXMnIgogbXNnc3RyICJueXR0IG9iamVrdCDDpHIgc2FtbWEgc29tIGRldCBnYW1sYTogXCIlc1wiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MDcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMgYXMgYSBjb21taXQiCittc2dzdHIgImt1bmRlIGludGUgdG9sa2EgJXMgc29tIGluY2hlY2tuaW5nIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG1lcmdldGFnIGluIGNvbW1pdCAnJXMnIgogbXNnc3RyICJmZWxha3RpZyBzYW1tYW5zbGFnbmluZ3N0YWdnIGkgaW5jaGVja25pbmdlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQwOQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBtZXJnZXRhZyBpbiBjb21taXQgJyVzJyIKIG1zZ3N0ciAiZmVsZm9ybWFkIHNhbW1hbnNsYWduaW5nc3RhZ2cgaSBpbmNoZWNrbmluZ2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDIxCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm9yaWdpbmFsIGNvbW1pdCAnJXMnIGNvbnRhaW5zIG1lcmdldGFnICclcycgdGhhdCBpcyBkaXNjYXJkZWQ7IHVzZSAtLWVkaXQgIgpAQCAtMTYyNzUsMzEgKzE5MTUwLDMxIEBACiAiZGVuIHVyc3BydW5nbGlnYSBpbmNoZWNrbmluZ2VuIFwiJXNcIiBpbm5laMOlbGxlciBzYW1tYW5zbGFnbmluZ3N0YWdnZW4gXCIlcyIKICJcIiBzb20gaGFyIGbDtnJrYXN0YXRzOyBhbnbDpG5kIC0tZWRpdCBpc3TDpGxsZXQgZsO2ciAtLWdyYWZ0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0NjAKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgb3JpZ2luYWwgY29tbWl0ICclcycgaGFzIGEgZ3BnIHNpZ25hdHVyZSIKIG1zZ3N0ciAiZGVuIHVyc3BydW5nbGlnYSBpbmNoZWNrbmluZ2VuIFwiJXNcIiBoYXIgZW4gZ3BnLXNpZ25hdHVyIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0NjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2OQogbXNnaWQgInRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGluIHRoZSByZXBsYWNlbWVudCBjb21taXQhIgogbXNnc3RyICJzaWduYXR1cmVuIGtvbW1lciBhdHQgdGFzIGJvcnQgaSBlcnPDpHR0bmluZ3NpbmNoZWNrbmluZ2VuISIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDcxCisjOiBidWlsdGluL3JlcGxhY2UuYzo0NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHJlcGxhY2VtZW50IGNvbW1pdCBmb3I6ICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIGVyc8OkdHRuaW5nc2luY2hlY2tuaW5nIGbDtnI6IFwiJXNcIiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDc5CisjOiBidWlsdGluL3JlcGxhY2UuYzo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ3JhZnQgZm9yICclcycgdW5uZWNlc3NhcnkiCiBtc2dzdHIgInltcG5pbmcgZsO2ciBcIiVzXCIgYmVow7Z2cyBpbnRlIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0ODIKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgY29tbWl0IGlzIHRoZSBzYW1lIGFzIHRoZSBvbGQgb25lOiAnJXMnIgogbXNnc3RyICJueSBpbmNoZWNrbmluZyDDpHIgc2FtbWEgc29tIGRlbiBnYW1sYTogXCIlc1wiIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1MTUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IGNvbnZlcnQgdGhlIGZvbGxvd2luZyBncmFmdChzKTpcbiIKQEAgLTE2MzA4LDcxICsxOTE4Myw3MSBAQAogImt1bmRlIGludGUga29udmVydGVyYSBmw7ZsamFuZGUgeW1wbmluZyhhcik6XG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUzNgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQ3CiBtc2dpZCAibGlzdCByZXBsYWNlIHJlZnMiCiBtc2dzdHIgInZpc2EgZXJzw6R0dG5pbmdzcmVmZXJlbnNlciIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM3CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDgKIG1zZ2lkICJkZWxldGUgcmVwbGFjZSByZWZzIgogbXNnc3RyICJ0YSBib3J0IGVyc8OkdHRuaW5nc3JlZmVyZW5zZXIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUzOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQ5CiBtc2dpZCAiZWRpdCBleGlzdGluZyBvYmplY3QiCiBtc2dzdHIgInJlZGlnZXJhIGJlZmludGxpZ3Qgb2JqZWt0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1MzkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1MAogbXNnaWQgImNoYW5nZSBhIGNvbW1pdCdzIHBhcmVudHMiCiBtc2dzdHIgIsOkbmRyYSBlbiBpbmNoZWNrbmluZ3MgZsO2csOkbGRyYXIiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0MAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTUxCiBtc2dpZCAiY29udmVydCBleGlzdGluZyBncmFmdCBmaWxlIgogbXNnc3RyICJrb252ZXJ0ZXJhIGJlZmludGxpZyB5bXBuaW5nc2ZpbCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQxCisjOiBidWlsdGluL3JlcGxhY2UuYzo1NTIKIG1zZ2lkICJyZXBsYWNlIHRoZSByZWYgaWYgaXQgZXhpc3RzIgogbXNnc3RyICJlcnPDpHR0IHJlZmVyZW5zZW4gb20gZGVuIGZpbm5zIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NDMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1NAogbXNnaWQgImRvIG5vdCBwcmV0dHktcHJpbnQgY29udGVudHMgZm9yIC0tZWRpdCIKIG1zZ3N0ciAiYW52w6RuZCBpbnRlIHNueWdnIHZpc25pbmcgYXYgaW5uZWjDpWxsIGbDtnIgLS1lZGl0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NDQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1NQogbXNnaWQgInVzZSB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAiYW52w6RuZCBkZXR0YSBmb3JtYXQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1NworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTY4CiBtc2dpZCAiLS1mb3JtYXQgY2Fubm90IGJlIHVzZWQgd2hlbiBub3QgbGlzdGluZyIKIG1zZ3N0ciAiLS1mb3JtYXQga2FuIGludGUgYW52w6RuZGFzIHV0YW5mw7ZyIGxpc3RuaW5nIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NjUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU3NgogbXNnaWQgIi1mIG9ubHkgbWFrZXMgc2Vuc2Ugd2hlbiB3cml0aW5nIGEgcmVwbGFjZW1lbnQiCiBtc2dzdHIgIi1mIGthbiBlbmRhc3QgYW52w6RuZGFzIHZpZCBza3Jpdm5pbmcgYXYgZXJzw6R0dG5pbmciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU2OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTgwCiBtc2dpZCAiLS1yYXcgb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tZWRpdCIKIG1zZ3N0ciAiLS1yYXcga2FuIGJhcmEgYW52w6RuZGFzIG1lZCAtLWVkaXQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU3NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTg2CiBtc2dpZCAiLWQgbmVlZHMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50IgogbXNnc3RyICItZCBiZWjDtnZlciBtaW5zdCBldHQgYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU4MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTkyCiBtc2dpZCAiYmFkIG51bWJlciBvZiBhcmd1bWVudHMiCiBtc2dzdHIgImZlbCBhbnRhbCBhcmd1bWVudCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTg3CisjOiBidWlsdGluL3JlcGxhY2UuYzo1OTgKIG1zZ2lkICItZSBuZWVkcyBleGFjdGx5IG9uZSBhcmd1bWVudCIKIG1zZ3N0ciAiLWUgdGFyIGV4YWt0IGV0dCBhcmd1bWVudCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTkzCisjOiBidWlsdGluL3JlcGxhY2UuYzo2MDQKIG1zZ2lkICItZyBuZWVkcyBhdCBsZWFzdCBvbmUgYXJndW1lbnQiCiBtc2dzdHIgIi1nIHRhciBtaW5zdCBldHQgYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU5OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NjEwCiBtc2dpZCAiLS1jb252ZXJ0LWdyYWZ0LWZpbGUgdGFrZXMgbm8gYXJndW1lbnQiCiBtc2dzdHIgIi0tY29udmVydC1ncmFmdC1maWxlIHRhciBpbmdhIGFyZ3VtZW50IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo2MDUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYxNgogbXNnaWQgIm9ubHkgb25lIHBhdHRlcm4gY2FuIGJlIGdpdmVuIHdpdGggLWwiCiBtc2dzdHIgImVuZGFzdCBldHQgbcO2bnN0ZXIga2FuIGFuZ2VzIG1lZCAtbCIKIApAQCAtMTYzODgsMTI1ICsxOTI2MywxMzcgQEAKIG1zZ2lkICInZ2l0IHJlcmVyZSBmb3JnZXQnIHdpdGhvdXQgcGF0aHMgaXMgZGVwcmVjYXRlZCIKIG1zZ3N0ciAiXCJnaXQgcmVyZXJlIGZvcmdldFwiIHV0YW4gc8O2a3bDpGdhciDDpHIgZsO2csOlbGRyYXQiCiAKLSM6IGJ1aWx0aW4vcmVyZXJlLmM6MTExCisjOiBidWlsdGluL3JlcmVyZS5jOjExMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ2VuZXJhdGUgZGlmZiBmb3IgJyVzJyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHNrYXBhIGRpZmYgZsO2ciBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMQorIzogYnVpbHRpbi9yZXNldC5jOjMyCiBtc2dpZCAiIgogImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxjb21taXQ+XSIKIG1zZ3N0ciAiIgogImdpdCByZXNldCBbLS1taXhlZCB8IC0tc29mdCB8IC0taGFyZCB8IC0tbWVyZ2UgfCAtLWtlZXBdIFstcV0gWzxpbmNoZWNrbmluZz5dIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzIKLW1zZ2lkICJnaXQgcmVzZXQgWy1xXSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHM+Li4uIgorIzogYnVpbHRpbi9yZXNldC5jOjMzCittc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzcGVjPi4uLiIKIG1zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gWzx0csOkZC1pZ3Q+XSBbLS1dIDxzw7ZrdsOkZ2FyPi4uLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMzCi1tc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIgorIzogYnVpbHRpbi9yZXNldC5jOjM0Cittc2dpZCAiIgorImdpdCByZXNldCBbLXFdIFstLXBhdGhzcGVjLWZyb20tZmlsZSBbLS1wYXRoc3BlYy1maWxlLW51bF1dIFs8dHJlZS1pc2g+XSIKK21zZ3N0ciAiIgorImdpdCByZXNldCBbLXFdIFstLXBhdGhzcGVjLWZyb20tZmlsZSBbLS1wYXRoc3BlYy1maWxlLW51bF1dIFs8dHLDpGQtaWd0Pl0iCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNQorbXNnaWQgImdpdCByZXNldCAtLXBhdGNoIFs8dHJlZS1pc2g+XSBbLS1dIFs8cGF0aHNwZWM+Li4uXSIKIG1zZ3N0ciAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0csOkZC1pZ3Q+XSBbLS1dIFs8c8O2a3bDpGdhcj4uLi5dIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgIm1peGVkIgogbXNnc3RyICJibGFuZGFkIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgInNvZnQiCiBtc2dzdHIgIm1qdWsiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOQorIzogYnVpbHRpbi9yZXNldC5jOjQxCiBtc2dpZCAiaGFyZCIKIG1zZ3N0ciAiaMOlcmQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOQorIzogYnVpbHRpbi9yZXNldC5jOjQxCiBtc2dpZCAibWVyZ2UiCiBtc2dzdHIgInNhbW1hbnNsYWduaW5nIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgImtlZXAiCiBtc2dzdHIgImJlaMOlbGwiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo4MAorIzogYnVpbHRpbi9yZXNldC5jOjgyCiBtc2dpZCAiWW91IGRvIG5vdCBoYXZlIGEgdmFsaWQgSEVBRC4iCiBtc2dzdHIgIkR1IGhhciBpbnRlIGVuIGdpbHRpZyBIRUFELiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjgyCisjOiBidWlsdGluL3Jlc2V0LmM6ODQKIG1zZ2lkICJGYWlsZWQgdG8gZmluZCB0cmVlIG9mIEhFQUQuIgogbXNnc3RyICJLdW5kZSBpbnRlIGhpdHRhIHRyw6RkZXQgZsO2ciBIRUFELiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjg4CisjOiBidWlsdGluL3Jlc2V0LmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgdHJlZSBvZiAlcy4iCiBtc2dzdHIgIkt1bmRlIGludGUgaGl0dGEgdHLDpGRldCBmw7ZyICVzLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjE5MgorIzogYnVpbHRpbi9yZXNldC5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICJIRUFEIGlzIG5vdyBhdCAlcyIKK21zZ3N0ciAiSEVBRCDDpHIgbnUgcMOlICVzIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyBhICVzIHJlc2V0IGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZS4iCiBtc2dzdHIgIkthbiBpbnRlIHV0ZsO2cmEgZW4gJXMgw6V0ZXJzdMOkbGxuaW5nIG1pdHQgaSBlbiBzYW1tYW5zbGFnbmluZy4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTIKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTQgYnVpbHRpbi9zdGFzaC5jOjUxOSBidWlsdGluL3N0YXNoLmM6NTk0CisjOiBidWlsdGluL3N0YXNoLmM6NjE4CiBtc2dpZCAiYmUgcXVpZXQsIG9ubHkgcmVwb3J0IGVycm9ycyIKIG1zZ3N0ciAidmFyIHR5c3QsIHJhcHBvcnRlcmEgZW5kYXN0IGZlbCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5NAorIzogYnVpbHRpbi9yZXNldC5jOjI5NgogbXNnaWQgInJlc2V0IEhFQUQgYW5kIGluZGV4IgogbXNnc3RyICLDpXRlcnN0w6RsbCBIRUFEIG9jaCBpbmRleCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5NQorIzogYnVpbHRpbi9yZXNldC5jOjI5NwogbXNnaWQgInJlc2V0IG9ubHkgSEVBRCIKIG1zZ3N0ciAiw6V0ZXJzdMOkbGwgZW5kYXN0IEhFQUQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTcgYnVpbHRpbi9yZXNldC5jOjI5OQorIzogYnVpbHRpbi9yZXNldC5jOjI5OSBidWlsdGluL3Jlc2V0LmM6MzAxCiBtc2dpZCAicmVzZXQgSEVBRCwgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiw6V0ZXJzdMOkbGwgSEVBRCwgaW5kZXggb2NoIGFyYmV0c2thdGFsb2ciCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDEKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDMKIG1zZ2lkICJyZXNldCBIRUFEIGJ1dCBrZWVwIGxvY2FsIGNoYW5nZXMiCiBtc2dzdHIgIsOldGVyc3TDpGxsIEhFQUQgbWVuIGJlaMOlbGwgbG9rYWxhIMOkbmRyaW5nYXIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDcKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDkKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHJlbW92ZWQgcGF0aHMgd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAicmVnaXN0cmVyYSBlbmRhc3QgYXR0IGJvcnR0YWduYSBzw7ZrdsOkZ2FyIGtvbW1lciBsw6RnZ2FzIHRpbGwgc2VuYXJlIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzI1CisjOiBidWlsdGluL3Jlc2V0LmM6MzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZXZpc2lvbi4iCiBtc2dzdHIgIkt1bmRlIGludGUgc2zDpSB1cHAgXCIlc1wiIHNvbSBlbiBnaWx0aWcgcmV2aXNpb24uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzMzCisjOiBidWlsdGluL3Jlc2V0LmM6MzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCB0cmVlLiIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBzbMOlIHVwcCBcIiVzXCIgc29tIGV0dCBnaWx0aWd0IHRyw6RkLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0MgorIzogYnVpbHRpbi9yZXNldC5jOjM2MAogbXNnaWQgIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggLS17aGFyZCxtaXhlZCxzb2Z0fSIKIG1zZ3N0ciAiLS1wYXRjaCDDpHIgaW5rb21wYXRpYmVsIG1lZCAtLXtoYXJkLG1peGVkLHNvZnR9IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzUxCisjOiBidWlsdGluL3Jlc2V0LmM6MzcwCiBtc2dpZCAiLS1taXhlZCB3aXRoIHBhdGhzIGlzIGRlcHJlY2F0ZWQ7IHVzZSAnZ2l0IHJlc2V0IC0tIDxwYXRocz4nIGluc3RlYWQuIgogbXNnc3RyICIiCiAiLS1taXhlZCByZWtvbW1lbmRlcmFzIGludGUgbWVkIHPDtmt2w6RnYXI7IGFudsOkbmQgXCJnaXQgcmVzZXQgLS0gPHPDtmt2w6RnYXI+XCIuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzUzCisjOiBidWlsdGluL3Jlc2V0LmM6MzcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyAlcyByZXNldCB3aXRoIHBhdGhzLiIKIG1zZ3N0ciAiS2FuIGludGUgZ8O2cmEgJXMgw6V0ZXJzdMOkbGxuaW5nIG1lZCBzw7ZrdsOkZ2FyLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM2MworIzogYnVpbHRpbi9yZXNldC5jOjM4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyByZXNldCBpcyBub3QgYWxsb3dlZCBpbiBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiJXMgw6V0ZXJzdMOkbGxuaW5nIHRpbGzDpXRzIGludGUgaSBldHQgbmFrZXQgYXJraXYiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNjcKKyM6IGJ1aWx0aW4vcmVzZXQuYzozOTEKIG1zZ2lkICItTiBjYW4gb25seSBiZSB1c2VkIHdpdGggLS1taXhlZCIKIG1zZ3N0ciAiLU4ga2FuIGVuZGFzdCBhbnbDpG5kYXMgbWVkIC0tbWl4ZWQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozODcKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MTIKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKIG1zZ3N0ciAiT2vDtmFkZSDDpG5kcmluZ2FyIGVmdGVyIMOldGVyc3TDpGxsbmluZzoiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOTAKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTY1MjAsNTMgKzE5NDA3LDQ4IEBACiAia29uZmlndXJhdGlvbnN2YXJpYWJlbG5cbiIKICJyZXNldC5xdWlldCB0aWxsIHRydWUgZsO2ciBhdHQgZ8O2cmEgZGV0dGEgdGlsbCBmw7ZydmFsLlxuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NDAwCisjOiBidWlsdGluL3Jlc2V0LmM6NDI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIgogbXNnc3RyICJLdW5kZSBpbnRlIMOldGVyc3TDpGxsYSBpbmRleGZpbGVuIHRpbGwgdmVyc2lvbmVuIFwiJXNcIi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo0MDQKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MjkKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgbmV3IGluZGV4IGZpbGUuIgogbXNnc3RyICJLdW5kZSBpbnRlIHNrcml2YSBueSBpbmRleGZpbC4iCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0MDMKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0MTEKIG1zZ2lkICJjYW5ub3QgY29tYmluZSAtLWV4Y2x1ZGUtcHJvbWlzb3Itb2JqZWN0cyBhbmQgLS1taXNzaW5nIgogbXNnc3RyICJrYW4gaW50ZSBrb21iaW5lcmEgLS1leGNsdWRlLXByb21pc29yLW9iamVjdHMgb2NoIC0tbWlzc2luZyIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjQ2MQorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjQ3MgogbXNnaWQgIm9iamVjdCBmaWx0ZXJpbmcgcmVxdWlyZXMgLS1vYmplY3RzIgogbXNnc3RyICJvYmpla3RmaWx0cmVyaW5nIGtyw6R2ZXIgLS1vYmplY3RzIgogCi0jOiBidWlsdGluL3Jldi1saXN0LmM6NDY0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgc3BhcnNlIHZhbHVlICclcyciCi1tc2dzdHIgIm9naWx0aWd0IHbDpHJkZSBmw7ZyIHNwYXJzZTogXCIlc1wiIgotCi0jOiBidWlsdGluL3Jldi1saXN0LmM6NTA1CisjOiBidWlsdGluL3Jldi1saXN0LmM6NTIyCiBtc2dpZCAicmV2LWxpc3QgZG9lcyBub3Qgc3VwcG9ydCBkaXNwbGF5IG9mIG5vdGVzIgogbXNnc3RyICJyZXYtbGlzdCBzdMO2ZGVyIGludGUgdmlzbmluZyBhdiBhbnRlY2tuaW5nYXIiCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo1MDgKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo1MjUKIG1zZ2lkICJjYW5ub3QgY29tYmluZSAtLXVzZS1iaXRtYXAtaW5kZXggd2l0aCBvYmplY3QgZmlsdGVyaW5nIgogbXNnc3RyICJrYW4gaW50ZSBrb21iaW5lcmEgLS11c2UtYml0bWFwLWluZGV4IG1lZCBvYmpla3RmaWx0cmVyaW5nIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQwNworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDgKIG1zZ2lkICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl0iCiBtc2dzdHIgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3VtZW50Pi4uLl0iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDEyCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxMwogbXNnaWQgImtlZXAgdGhlIGAtLWAgcGFzc2VkIGFzIGFuIGFyZyIKIG1zZ3N0ciAiYmVow6VsbCBcIi0tXCIgc8OkbnQgc29tIGFyZ3VtZW50IgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxNAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTUKIG1zZ2lkICJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiCiBtc2dzdHIgInNsdXRhIHRvbGthIGVmdGVyIGbDtnJzdGEgYXJndW1lbnQgc29tIGludGUgw6RyIGZsYWdnYSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTcKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDE4CiBtc2dpZCAib3V0cHV0IGluIHN0dWNrIGxvbmcgZm9ybSIKIG1zZ3N0ciAidXRkYXRhIGZhc3QgaSBsw6VuZyBmb3JtIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjU1MAorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1NTEKIG1zZ2lkICIiCiAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dXG4iCiAiICAgb3I6IGdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPGFyZz4uLi5dXG4iCkBAIC0xNjU5Nyw3MiArMTk0NzksODEgQEAKIG1zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgPHN1YmNvbW1hbmQ+IgogbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgPHVuZGVya29tbWFuZG8+IgogCi0jOiBidWlsdGluL3JldmVydC5jOjkxCisjOiBidWlsdGluL3JldmVydC5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgYSBudW1iZXIgZ3JlYXRlciB0aGFuIHplcm8iCittc2dzdHIgImZsYWdnYW4gXCIlc1wiIGFudGFyIGV0dCBudW1lcmlza3QgdsOkcmRlIHN0w7ZycmUgw6RuIG5vbGwiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiVzOiAlcyBrYW4gaW50ZSBhbnbDpG5kYXMgbWVkICVzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKIG1zZ2lkICJlbmQgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJhdnNsdXRhIHJldmVydC0gZWxsZXIgY2hlcnJ5LXBpY2stc2VrdmVucyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCiBtc2dpZCAicmVzdW1lIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAiw6V0ZXJ1cHB0YSByZXZlcnQtIGVsbGVyIGNoZXJyeS1waWNrLXNla3ZlbnMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAyCisjOiBidWlsdGluL3JldmVydC5jOjEwNAogbXNnaWQgImNhbmNlbCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgImF2YnJ5dCByZXZlcnQtIGVsbGVyIGNoZXJyeS1waWNrLXNla3ZlbnMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCisjOiBidWlsdGluL3JldmVydC5jOjEwNQorbXNnaWQgInNraXAgY3VycmVudCBjb21taXQgYW5kIGNvbnRpbnVlIgorbXNnc3RyICJob3BwYSDDtnZlciBudXZhcmFuZGUgaW5jaGVja25pbmcgb2NoIGZvcnRzw6R0dCIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDcKIG1zZ2lkICJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIKIG1zZ3N0ciAiY2hlY2thIGludGUgaW4gYXV0b21hdGlza3QiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CisjOiBidWlsdGluL3JldmVydC5jOjEwOAogbXNnaWQgImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICJyZWRpZ2VyYSBpbmNoZWNrbmluZ3NtZWRkZWxhbmRldCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDcKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTExCiBtc2dpZCAicGFyZW50LW51bWJlciIKIG1zZ3N0ciAibnVtbWVyLXDDpS1mw7Zyw6RsZGVyIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwOAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTIKIG1zZ2lkICJzZWxlY3QgbWFpbmxpbmUgcGFyZW50IgogbXNnc3RyICJ2w6RsaiBmw7Zyw6RsZGVyIGbDtnIgaHV2dWRsaW5qZSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE0CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgInNhbW1hbnNsYWduaW5nc3N0cmF0ZWdpIgogCi0jOiBidWlsdGluL3JldmVydC5jOjExMgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTYKIG1zZ2lkICJvcHRpb24gZm9yIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICJhbHRlcm5hdGl2IGbDtnIgc2FtbWFuc2xhZ25pbmdzc3RyYXRlZ2kiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIxCisjOiBidWlsdGluL3JldmVydC5jOjEyNQogbXNnaWQgImFwcGVuZCBjb21taXQgbmFtZSIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBpbmNoZWNrbmluZ3NuYW1uIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyMworIzogYnVpbHRpbi9yZXZlcnQuYzoxMjcKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAiYmVow6VsbCBpbmNoZWNrbmluZ2FyIHNvbSBiw7ZyamFyIHNvbSB0b21tYSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI5CiBtc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgImJlaMOlbGwgcmVkdW5kYW50YSwgdG9tbWEgaW5jaGVja25pbmdhciIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoyMTkKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMyCiBtc2dpZCAicmV2ZXJ0IGZhaWxlZCIKIG1zZ3N0ciAiXCJyZXZlcnRcIiBtaXNzbHlja2FkZXMiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMyCisjOiBidWlsdGluL3JldmVydC5jOjI0NQogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAiXCJjaGVycnktcGlja1wiIG1pc3NseWNrYWRlcyIKIAotIzogYnVpbHRpbi9ybS5jOjE4CisjOiBidWlsdGluL3JtLmM6MTkKIG1zZ2lkICJnaXQgcm0gWzxvcHRpb25zPl0gWy0tXSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBybSBbPGZsYWdnb3I+XSBbLS1dIDxmaWw+Li4uIgogCi0jOiBidWlsdGluL3JtLmM6MjA2CisjOiBidWlsdGluL3JtLmM6MjA3CiBtc2dpZCAiIgogInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgc3RhZ2VkIGNvbnRlbnQgZGlmZmVyZW50IGZyb20gYm90aCB0aGVcbiIKICJmaWxlIGFuZCB0aGUgSEVBRDoiCkBAIC0xNjY3NCw3ICsxOTU2NSw3IEBACiBtc2dzdHJbMV0gIiIKICJmw7ZsamFuZGUgZmlsZXIgaGFyIGvDtmF0IGlubmVow6VsbCBzb20gc2tpbGplciBzaWcgYsOlZGUgZnLDpW4gZmlsZW4gb2NoIEhFQUQ6IgogCi0jOiBidWlsdGluL3JtLmM6MjExCisjOiBidWlsdGluL3JtLmM6MjEyCiBtc2dpZCAiIgogIlxuIgogIih1c2UgLWYgdG8gZm9yY2UgcmVtb3ZhbCkiCkBAIC0xNjY4MiwxMyArMTk1NzMsMTMgQEAKICJcbiIKICIoYW52w6RuZCAtZiBmw7ZyIGF0dCB0dmluZ2EgYm9ydHRhZ25pbmcpIgogCi0jOiBidWlsdGluL3JtLmM6MjE1CisjOiBidWlsdGluL3JtLmM6MjE2CiBtc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBjaGFuZ2VzIHN0YWdlZCBpbiB0aGUgaW5kZXg6IgogbXNnaWRfcGx1cmFsICJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ3N0clswXSAiZsO2bGphbmRlIGZpbCBoYXIgw6RuZHJpbmdhciBrw7ZhZGUgaSBpbmRleGV0OiIKIG1zZ3N0clsxXSAiZsO2bGphbmRlIGZpbGVyIGhhciDDpG5kcmluZ2FyIGvDtmFkZSBpIGluZGV4ZXQ6IgogCi0jOiBidWlsdGluL3JtLmM6MjE5IGJ1aWx0aW4vcm0uYzoyMjgKKyM6IGJ1aWx0aW4vcm0uYzoyMjAgYnVpbHRpbi9ybS5jOjIyOQogbXNnaWQgIiIKICJcbiIKICIodXNlIC0tY2FjaGVkIHRvIGtlZXAgdGhlIGZpbGUsIG9yIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtMTY2OTYsNDMgKzE5NTg3LDQzIEBACiAiXG4iCiAiKGFudsOkbmQgLS1jYWNoZWQgZsO2ciBhdHQgYmVow6VsbGEgZmlsZW4gZWxsZXIgLWYgZsO2ciBhdHQgdHZpbmdhIGJvcnR0YWduaW5nKSIKIAotIzogYnVpbHRpbi9ybS5jOjIyNQorIzogYnVpbHRpbi9ybS5jOjIyNgogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ3N0clswXSAiZsO2bGphbmRlIGZpbCBoYXIgbG9rYWxhIMOkbmRyaW5nYXI6IgogbXNnc3RyWzFdICJmw7ZsamFuZGUgZmlsZXIgaGFyIGxva2FsYSDDpG5kcmluZ2FyOiIKIAotIzogYnVpbHRpbi9ybS5jOjI0MQorIzogYnVpbHRpbi9ybS5jOjI0MgogbXNnaWQgImRvIG5vdCBsaXN0IHJlbW92ZWQgZmlsZXMiCiBtc2dzdHIgImxpc3RhIGludGUgYm9ydHRhZ25hIGZpbGVyIgogCi0jOiBidWlsdGluL3JtLmM6MjQyCisjOiBidWlsdGluL3JtLmM6MjQzCiBtc2dpZCAib25seSByZW1vdmUgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgInRhIGJhcmEgYm9ydCBmcsOlbiBpbmRleGV0IgogCi0jOiBidWlsdGluL3JtLmM6MjQzCisjOiBidWlsdGluL3JtLmM6MjQ0CiBtc2dpZCAib3ZlcnJpZGUgdGhlIHVwLXRvLWRhdGUgY2hlY2siCiBtc2dzdHIgIsO2dmVyc3R5ciDDoGpvdXItdGVzdGV0IgogCi0jOiBidWlsdGluL3JtLmM6MjQ0CisjOiBidWlsdGluL3JtLmM6MjQ1CiBtc2dpZCAiYWxsb3cgcmVjdXJzaXZlIHJlbW92YWwiCiBtc2dzdHIgInRpbGzDpXQgcmVrdXJzaXYgYm9ydHRhZ25pbmciCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDYKKyM6IGJ1aWx0aW4vcm0uYzoyNDcKIG1zZ2lkICJleGl0IHdpdGggYSB6ZXJvIHN0YXR1cyBldmVuIGlmIG5vdGhpbmcgbWF0Y2hlZCIKIG1zZ3N0ciAiYXZzbHV0YSBtZWQgbm9sbHN0YXR1cyDDpHZlbiBvbSBpbmdldCB0csOkZmZhZGVzIgogCi0jOiBidWlsdGluL3JtLmM6Mjg4CisjOiBidWlsdGluL3JtLmM6Mjg5CiBtc2dpZCAicGxlYXNlIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCiBtc2dzdHIgIiIKICJsw7ZhIGRpbmEgw6RuZHJpbmdhciBpIC5naXRtb2R1bGVzIGVsbGVyIGFudsOkbmQgXCJzdGFzaFwiIGbDtnIgYXR0IGZvcnRzw6R0dGEiCiAKLSM6IGJ1aWx0aW4vcm0uYzozMDYKKyM6IGJ1aWx0aW4vcm0uYzozMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IHJlbW92aW5nICclcycgcmVjdXJzaXZlbHkgd2l0aG91dCAtciIKIG1zZ3N0ciAidGFyIGludGUgYm9ydCBcIiVzXCIgcmVrdXJzaXZ0IHV0YW4gLXIiCiAKLSM6IGJ1aWx0aW4vcm0uYzozNDUKKyM6IGJ1aWx0aW4vcm0uYzozNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHJtOiB1bmFibGUgdG8gcmVtb3ZlICVzIgogbXNnc3RyICJnaXQgcm06IGthbiBpbnRlIHRhIGJvcnQgJXMiCkBAIC0xNjc2NSwxOCArMTk2NTYsNiBAQAogbXNnaWQgInByaW50IHN0YXR1cyBmcm9tIHJlbW90ZSBoZWxwZXIiCiBtc2dzdHIgInZpc2Egc3RhdHVzIGZyw6VuIGZqw6Rycmhqw6RscGFyZSIKIAotIzogYnVpbHRpbi9zZXJ2ZS5jOjcKLW1zZ2lkICJnaXQgc2VydmUgWzxvcHRpb25zPl0iCi1tc2dzdHIgImdpdCBzZXJ2ZSBbPGZsYWdnb3I+XSIKLQotIzogYnVpbHRpbi9zZXJ2ZS5jOjE3IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyMwotbXNnaWQgInF1aXQgYWZ0ZXIgYSBzaW5nbGUgcmVxdWVzdC9yZXNwb25zZSBleGNoYW5nZSIKLW1zZ3N0ciAiYXZzbHV0YSBvbWVkZWxiYXJ0IGVmdGVyIGbDtnJzdGEgYW5yb3Avc3Zhci11dHbDpHhsaW5nIgotCi0jOiBidWlsdGluL3NlcnZlLmM6MTkKLW1zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGFkdmVydGlzaW5nIGNhcGFiaWxpdGllcyIKLW1zZ3N0ciAiYXZzbHV0YSBvbWVkZWxiYXJ0IGVmdGVyIGt1bmfDtnJlbHNlIGF2IGthcGFiaWxpdGV0ZXIiCi0KICM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNAogbXNnaWQgImdpdCBzaG9ydGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHNob3J0bG9nIFs8ZmxhZ2dvcj5dIFs8dmVyc2lvbnNpbnRlcnZhbGw+XSBbWy0tXSA8c8O2a3bDpGc+Li4uXSIKQEAgLTE2ODA5LDcgKzE5Njg4LDcgQEAKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgIlJhZGJyeXQgdXRkYXRhIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6Mjk5CisjOiBidWlsdGluL3Nob3J0bG9nLmM6MzAxCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIGdpdmVuIG91dHNpZGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiZsO2ciBtw6VuZ2EgZmxhZ2dvciBnaXZuYSB1dGFuZsO2ciBhcmtpdmV0IgogCkBAIC0xNjgzNiwxMjAgKzE5NzE1LDEyMCBAQAogbXNnc3RyWzBdICJpZ25vcmVyYXIgJXM7IGthbiBpbnRlIGhhbnRlcmEgbWVyIMOkbiAlZCByZWZlcmVucyIKIG1zZ3N0clsxXSAiaWdub3JlcmFyICVzOyBrYW4gaW50ZSBoYW50ZXJhIG1lciDDpG4gJWQgcmVmZXJlbnNlciIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjU0OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaGluZyByZWZzIHdpdGggJXMiCiBtc2dzdHIgImluZ2EgbW90c3ZhcmFuZGUgcmVmZXJlbnNlciBtZWQgJXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgInZpc2EgZmrDpHJyc3DDpXJhbmRlIG9jaCBsb2thbGEgZ3JlbmFyIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjQ3CiBtc2dpZCAic2hvdyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgInZpc2EgZmrDpHJyc3DDpXJhbmRlIGdyZW5hciIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OQogbXNnaWQgImNvbG9yICcqISstJyBjb3JyZXNwb25kaW5nIHRvIHRoZSBicmFuY2giCiBtc2dzdHIgImbDpHJnYSBcIiohKy1cIiBlbmxpZ3QgZ3JlbmVuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUxCiBtc2dpZCAic2hvdyA8bj4gbW9yZSBjb21taXRzIGFmdGVyIHRoZSBjb21tb24gYW5jZXN0b3IiCiBtc2dzdHIgInZpc2EgPG4+IHl0dGVybGlnYXJlIGluY2hlY2tuaW5nYXIgZWZ0ZXIgZ2VtZW5zYW0gYW5mYWRlciIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MwogbXNnaWQgInN5bm9ueW0gdG8gbW9yZT0tMSIKIG1zZ3N0ciAic3lub255bSB0aWxsIG1vcmU9LTEiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTQKIG1zZ2lkICJzdXBwcmVzcyBuYW1pbmcgc3RyaW5ncyIKIG1zZ3N0ciAidW5kZXJ0eWNrIG5hbW5zdHLDpG5nYXIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKIG1zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAiaW5rbHVkZXJhIGFrdHVlbGwgZ3JlbiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1OAogbXNnaWQgIm5hbWUgY29tbWl0cyB3aXRoIHRoZWlyIG9iamVjdCBuYW1lcyIKIG1zZ3N0ciAibmFtbmdlIGluY2hlY2tuaW5nYXIgbWVkIGRlcmFzIG9iamVrdG5hbW4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjAKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICJ2aXNhIG3DtmpsaWdhIHNhbW1hbnNsYWduaW5nc2Jhc2VyIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYyCiBtc2dpZCAic2hvdyByZWZzIHVucmVhY2hhYmxlIGZyb20gYW55IG90aGVyIHJlZiIKIG1zZ3N0ciAidmlzYSByZWZlcmVuc2VyIHNvbSBpbnRlIGthbiBuw6VzIGZyw6VuIG7DpWdvbiBhbm5hbiByZWZlcmVucyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NAogbXNnaWQgInNob3cgY29tbWl0cyBpbiB0b3BvbG9naWNhbCBvcmRlciIKIG1zZ3N0ciAidmlzYSBpbmNoZWNrbmluZ2FyIGkgdG9wb2xvZ2lzayBvcmRuaW5nIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY3CiBtc2dpZCAic2hvdyBvbmx5IGNvbW1pdHMgbm90IG9uIHRoZSBmaXJzdCBicmFuY2giCiBtc2dzdHIgInZpc2EgZW5kYXN0IGluY2hlY2tuaW5nYXIgaW50ZSBww6UgZGVuIGbDtnJzdGEgZ3JlbmVuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjcwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY5CiBtc2dpZCAic2hvdyBtZXJnZXMgcmVhY2hhYmxlIGZyb20gb25seSBvbmUgdGlwIgogbXNnc3RyICJ2aXNhIHNhbW1hbnNsYWduaW5nYXIgc29tIGVuZGFzdCBrYW4gbsOlcyBmcsOlbiBlbiBzcGV0cyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MQogbXNnaWQgInRvcG9sb2dpY2FsbHkgc29ydCwgbWFpbnRhaW5pbmcgZGF0ZSBvcmRlciB3aGVyZSBwb3NzaWJsZSIKIG1zZ3N0ciAic29ydGVyYSB0b3BvbG9naXNrdCwgYmVow6VsbCBkYXR1bW9yZG5pbmcgbsOkciBtw7ZqbGlndCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NAogbXNnaWQgIjxuPlssPGJhc2U+XSIKIG1zZ3N0ciAiPG4+Wyw8YmFzPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzUKIG1zZ2lkICJzaG93IDxuPiBtb3N0IHJlY2VudCByZWYtbG9nIGVudHJpZXMgc3RhcnRpbmcgYXQgYmFzZSIKIG1zZ3N0ciAidmlzYSA8bj4gbnlhc3RlIHJlZmxvZ2dwb3N0ZXIgbWVkIGLDtnJqYW4gcMOlIGJhcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxMgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxMQogbXNnaWQgIiIKICItLXJlZmxvZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50IG9yIC0tbWVyZ2UtYmFzZSIKIG1zZ3N0ciAiIgogIi0tcmVmbG9nIMOkciBpbmtvbXBhdGliZWwgbWVkIC0tYWxsLCAtLXJlbW90ZXMsIC0taW5kZXBlbmRlbnQgZWxsZXIgLS1tZXJnZS0iCiAiYmFzZSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczNgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczNQogbXNnaWQgIm5vIGJyYW5jaGVzIGdpdmVuLCBhbmQgSEVBRCBpcyBub3QgdmFsaWQiCiBtc2dzdHIgImluZ2EgZ3JlbmFyIGFuZ2F2cywgb2NoIEhFQUQgw6RyIGludGUgZ2lsdGlndCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczOQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczOAogbXNnaWQgIi0tcmVmbG9nIG9wdGlvbiBuZWVkcyBvbmUgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIi0tcmVmbG9nIGJlaMO2dmVyIGV0dCBuYW1uIHDDpSBlbiBncmVuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9ubHkgJWQgZW50cnkgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKIG1zZ2lkX3BsdXJhbCAib25seSAlZCBlbnRyaWVzIGNhbiBiZSBzaG93biBhdCBvbmUgdGltZS4iCiBtc2dzdHJbMF0gIm1heGltYWx0ICVkIHBvc3RlciBrYW4gdmlzYXMgc2FtdGlkaWd0LiIKIG1zZ3N0clsxXSAibWF4aW1hbHQgJWQgcG9zdGVyIGthbiB2aXNhcyBzYW10aWRpZ3QuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQ2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcmVmICVzIgogbXNnc3RyICJpbmdlbiBzw6VkYW4gcmVmZXJlbnMgJXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2LiIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmV2cy4iCiBtc2dzdHJbMF0gImthbiBpbnRlIGhhbnRlcmEgbWVyIMOkbiAlZCByZXZpc2lvbi4iCiBtc2dzdHJbMV0gImthbiBpbnRlIGhhbnRlcmEgbWVyIMOkbiAlZCByZXZpc2lvbmVyLiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgIlwiJXNcIiDDpHIgaW50ZSBlbiBnaWx0aWcgcmVmZXJlbnMuIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM3CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmaW5kIGNvbW1pdCAlcyAoJXMpIgogbXNnc3RyICJoaXR0YXIgaW50ZSBpbmNoZWNrbmluZyAlcyAoJXMpIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTEKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMgogbXNnaWQgIiIKICJnaXQgc2hvdy1yZWYgWy1xIHwgLS1xdWlldF0gWy0tdmVyaWZ5XSBbLS1oZWFkXSBbLWQgfCAtLWRlcmVmZXJlbmNlXSBbLXMgfCAtLSIKICJoYXNoWz08bj5dXSBbLS1hYmJyZXZbPTxuPl1dIFstLXRhZ3NdIFstLWhlYWRzXSBbLS1dIFs8cGF0dGVybj4uLi5dIgpAQCAtMTY5NTcsNDIgKzE5ODM2LDMxOCBAQAogImdpdCBzaG93LXJlZiBbLXEgfCAtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZCB8IC0tZGVyZWZlcmVuY2VdIFstcyB8IC0tIgogImhhc2hbPTxuPl1dIFstLWFiYnJldls9PG4+XV0gWy0tdGFnc10gWy0taGVhZHNdIFstLV0gWzxtw7Zuc3Rlcj4uLi5dIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTIKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMwogbXNnaWQgImdpdCBzaG93LXJlZiAtLWV4Y2x1ZGUtZXhpc3RpbmdbPTxwYXR0ZXJuPl0iCiBtc2dzdHIgImdpdCBzaG93LXJlZiAtLWV4Y2x1ZGUtZXhpc3RpbmdbPTxtw7Zuc3Rlcj5dIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTYxCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTYyCiBtc2dpZCAib25seSBzaG93IHRhZ3MgKGNhbiBiZSBjb21iaW5lZCB3aXRoIGhlYWRzKSIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgdGFnZ2FyIChrYW4ga29tYmluZXJhcyBtZWQgaHV2dWRlbikiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjIKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjMKIG1zZ2lkICJvbmx5IHNob3cgaGVhZHMgKGNhbiBiZSBjb21iaW5lZCB3aXRoIHRhZ3MpIgogbXNnc3RyICJ2aXNhIGVuZGFzdCBodXZ1ZGVuIChrYW4ga29tYmluZXJhcyBtZWQgdGFnZ2FyKSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2MworIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2NAogbXNnaWQgInN0cmljdGVyIHJlZmVyZW5jZSBjaGVja2luZywgcmVxdWlyZXMgZXhhY3QgcmVmIHBhdGgiCiBtc2dzdHIgInN0cmlrdGFyZSByZWZlcmVuc2tvbnRyb2xsLCBrcsOkdmVyIGV4YWt0IHJlZmVyZW5zc8O2a3bDpGciCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjYgYnVpbHRpbi9zaG93LXJlZi5jOjE2OAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2NyBidWlsdGluL3Nob3ctcmVmLmM6MTY5CiBtc2dpZCAic2hvdyB0aGUgSEVBRCByZWZlcmVuY2UsIGV2ZW4gaWYgaXQgd291bGQgYmUgZmlsdGVyZWQgb3V0IgogbXNnc3RyICJ2aXNhIEhFQUQtcmVmcmVucywgw6R2ZW4gbsOkciBkZW4gc2t1bGxlIGZpbHRyZXJhcyB1dCIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MQogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW50byBvYmplY3QgSURzIgogbXNnc3RyICJhdnJlZmVyZXJhIHRhZ2dhciB0aWxsIG9iamVrdC1pZCIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MwogbXNnaWQgIm9ubHkgc2hvdyBTSEExIGhhc2ggdXNpbmcgPG4+IGRpZ2l0cyIKIG1zZ3N0ciAidmlzYSBTSEExLWhhc2ggZW5kYXN0IG1lZCA8bj4gc2lmZnJvciIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NwogbXNnaWQgImRvIG5vdCBwcmludCByZXN1bHRzIHRvIHN0ZG91dCAodXNlZnVsIHdpdGggLS12ZXJpZnkpIgogbXNnc3RyICJ2aXNhIGludGUgcmVzdWx0YXQgcMOlIHN0YW5kYXJkIHV0IChhbnbDpG5kYmFydCBtZWQgLS12ZXJpZnkpIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc5CiBtc2dpZCAic2hvdyByZWZzIGZyb20gc3RkaW4gdGhhdCBhcmVuJ3QgaW4gbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAidmlzYSByZWZlcmVuc2VyIGZyw6VuIHN0YW5kYXJkIGluIHNvbSBpbnRlIGZpbm5zIGkgbG9rYWx0IGFya2l2IgogCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjIwCittc2dpZCAiZ2l0IHNwYXJzZS1jaGVja291dCAoaW5pdHxsaXN0fHNldHxkaXNhYmxlKSA8b3B0aW9ucz4iCittc2dzdHIgImdpdCBzcGFyc2UtY2hlY2tvdXQgKGluaXR8bGlzdHxzZXR8ZGlzYWJsZSkgPGZsYWdnb3I+IgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjYxCittc2dpZCAidGhpcyB3b3JrdHJlZSBpcyBub3Qgc3BhcnNlIChzcGFyc2UtY2hlY2tvdXQgZmlsZSBtYXkgbm90IGV4aXN0KSIKK21zZ3N0ciAiIgorImFyYmV0c2thdGFsb2dlbiDDpHIgaW50ZSBnbGVzdCAoc3BhcnNlLWNoZWNrb3V0LWZpbGVuIGthbnNrZSBpbnRlIGZpbm5zKSIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzoyMjAKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4dGVuc2lvbnMud29ya3RyZWVDb25maWcgc2V0dGluZyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIMOkbmRyYSBpbnN0w6RsbG5pbmdlbiBleHRlbnNpb25zLndvcmt0cmVlQ29uZmlnIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjIzNworbXNnaWQgImdpdCBzcGFyc2UtY2hlY2tvdXQgaW5pdCBbLS1jb25lXSIKK21zZ3N0ciAiZ2l0IHNwYXJzZS1jaGVja291dCBpbml0IFstLWNvbmVdIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI1NgorbXNnaWQgImluaXRpYWxpemUgdGhlIHNwYXJzZS1jaGVja291dCBpbiBjb25lIG1vZGUiCittc2dzdHIgImluaXRpZXJhIHNwYXJzZS1jaGVja291dCBpIGtvbmzDpGdlIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI2MgorbXNnaWQgImluaXRpYWxpemUgc3BhcnNlLWNoZWNrb3V0IgorbXNnc3RyICJpbml0aWVyYSBzcGFyc2UtY2hlY2tvdXQiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCittc2dzdHIgIm1pc3NseWNrYWRlcyDDtnBwbmEgXCIlc1wiIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjM2MQorbXNnaWQgImdpdCBzcGFyc2UtY2hlY2tvdXQgc2V0ICgtLXN0ZGluIHwgPHBhdHRlcm5zPikiCittc2dzdHIgImdpdCBzcGFyc2UtY2hlY2tvdXQgc2V0ICgtLXN0ZGluIHwgPG3Dtm5zdGVyPikiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6Mzc4Cittc2dpZCAicmVhZCBwYXR0ZXJucyBmcm9tIHN0YW5kYXJkIGluIgorbXNnc3RyICJsw6RzIG3Dtm5zdGVyIGZyw6VuIHN0YW5kYXJkIGluIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjM4NAorbXNnaWQgInNldCBzcGFyc2UtY2hlY2tvdXQgcGF0dGVybnMiCittc2dzdHIgInN0w6RsbCBpbiBmaWx0ZXIgZsO2ciBnbGVzIHV0Y2hlY2tuaW5nIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjQ0NworbXNnaWQgImRpc2FibGUgc3BhcnNlLWNoZWNrb3V0IgorbXNnc3RyICJpbmFrdGl2ZXJhIGdsZXMgdXRjaGVja25pbmciCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6NDU5Cittc2dpZCAiZXJyb3Igd2hpbGUgcmVmcmVzaGluZyB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiZmVsIHZpZCB1cHBkYXRlcmluZyBhdiBhcmJldHNrYXRhbG9nIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjIgYnVpbHRpbi9zdGFzaC5jOjM3Cittc2dpZCAiZ2l0IHN0YXNoIGxpc3QgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCBzdGFzaCBsaXN0IFs8ZmxhZ2dvcj5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjMgYnVpbHRpbi9zdGFzaC5jOjQyCittc2dpZCAiZ2l0IHN0YXNoIHNob3cgWzxvcHRpb25zPl0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggc2hvdyBbPGZsYWdnb3I+XSBbPHN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNCBidWlsdGluL3N0YXNoLmM6NDcKK21zZ2lkICJnaXQgc3Rhc2ggZHJvcCBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggZHJvcCBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjUKK21zZ2lkICJnaXQgc3Rhc2ggKCBwb3AgfCBhcHBseSApIFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggKCBwb3AgfCBhcHBseSApIFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjYgYnVpbHRpbi9zdGFzaC5jOjYyCittc2dpZCAiZ2l0IHN0YXNoIGJyYW5jaCA8YnJhbmNobmFtZT4gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggYnJhbmNoIDxncmVubmFtbj4gWzxzdGFzaD5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjcgYnVpbHRpbi9zdGFzaC5jOjY3Cittc2dpZCAiZ2l0IHN0YXNoIGNsZWFyIgorbXNnc3RyICJnaXQgc3Rhc2ggY2xlYXIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyOCBidWlsdGluL3N0YXNoLmM6NzcKK21zZ2lkICIiCisiZ2l0IHN0YXNoIFtwdXNoIFstcHwtLXBhdGNoXSBbLWt8LS1bbm8tXWtlZXAtaW5kZXhdIFstcXwtLXF1aWV0XVxuIgorIiAgICAgICAgICBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbLW18LS1tZXNzYWdlIDxtZXNzYWdlPl1cbiIKKyIgICAgICAgICAgWy0tXSBbPHBhdGhzcGVjPi4uLl1dIgorbXNnc3RyICIiCisiZ2l0IHN0YXNoIFtwdXNoIFstcHwtLXBhdGNoXSBbLWt8LS1bbm8tXWtlZXAtaW5kZXhdIFstcXwtLXF1aWV0XVxuIgorIiAgICAgICAgICBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbLW18LS1tZXNzYWdlIDxtZWRkZWxhbmRlPl1cbiIKKyIgICAgICAgICAgWy0tXSBbPHPDtmt2w6RnPi4uLl1dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MzEgYnVpbHRpbi9zdGFzaC5jOjg0Cittc2dpZCAiIgorImdpdCBzdGFzaCBzYXZlIFstcHwtLXBhdGNoXSBbLWt8LS1bbm8tXWtlZXAtaW5kZXhdIFstcXwtLXF1aWV0XVxuIgorIiAgICAgICAgICBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbPG1lc3NhZ2U+XSIKK21zZ3N0ciAiIgorImdpdCBzdGFzaCBzYXZlIFstcHwtLXBhdGNoXSBbLWt8LS1bbm8tXWtlZXAtaW5kZXhdIFstcXwtLXF1aWV0XVxuIgorIiAgICAgICAgICBbLXV8LS1pbmNsdWRlLXVudHJhY2tlZF0gWy1hfC0tYWxsXSBbPG1lZGRlbGFuZGU+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjUyCittc2dpZCAiZ2l0IHN0YXNoIHBvcCBbLS1pbmRleF0gWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIKK21zZ3N0ciAiZ2l0IHN0YXNoIHBvcCBbLS1pbmRleF0gWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU3Cittc2dpZCAiZ2l0IHN0YXNoIGFwcGx5IFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggYXBwbHkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo3MgorbXNnaWQgImdpdCBzdGFzaCBzdG9yZSBbLW18LS1tZXNzYWdlIDxtZXNzYWdlPl0gWy1xfC0tcXVpZXRdIDxjb21taXQ+IgorbXNnc3RyICJnaXQgc3Rhc2ggc3RvcmUgWy1tfC0tbWVzc2FnZSA8bWVkZGVsYW5kZT5dIFstcXwtLXF1aWV0XSA8aW5jaGVja25pbmc+IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCittc2dzdHIgIlwiJXNcIiDDpHIgaW50ZSBlbiBcInN0YXNoXCItbGlrbmFuZGUgaW5jaGVja25pbmciCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG9vIG1hbnkgcmV2aXNpb25zIHNwZWNpZmllZDolcyIKK21zZ3N0ciAiRsO2ciBtw6VuZ2EgcmV2aXNpb25lciBhbmdpdm5hOiVzIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTYxIGdpdC1sZWdhY3ktc3Rhc2guc2g6NTQ5Cittc2dpZCAiTm8gc3Rhc2ggZW50cmllcyBmb3VuZC4iCittc2dzdHIgIkluZ2EgXCJzdGFzaFwiLXBvc3RlciBoaXR0YWRlcy4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgorbXNnc3RyICIlcyDDpHIgaW50ZSBlbiBnaWx0aWd0IHJlZmVyZW5zIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjI0IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzUKK21zZ2lkICJnaXQgc3Rhc2ggY2xlYXIgd2l0aCBwYXJhbWV0ZXJzIGlzIHVuaW1wbGVtZW50ZWQiCittc2dzdHIgIlwiZ2l0IHN0YXNoIGNsZWFyXCIgbWVkIHBhcmFtZXRyYXIgaGFyIGludGUgaW1wbGVtZW50ZXJhdHMiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MDMKK21zZ2lkICJjYW5ub3QgYXBwbHkgYSBzdGFzaCBpbiB0aGUgbWlkZGxlIG9mIGEgbWVyZ2UiCittc2dzdHIgImthbiBpbnRlIHRpbGzDpG1wYSBlbiBcInN0YXNoXCIgbWl0dCBpIGVuIHNhbW1hbnNsYWduaW5nIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBnZW5lcmF0ZSBkaWZmICVzXiEuIgorbXNnc3RyICJrdW5kZSBpbnRlIHNrYXBhIGRpZmYgJXNeIS4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MjEKK21zZ2lkICJjb25mbGljdHMgaW4gaW5kZXguVHJ5IHdpdGhvdXQgLS1pbmRleC4iCittc2dzdHIgImtvbmZsaWt0ZXIgaSBpbmRleGV0LiBUZXN0YSB1dGFuIC0taW5kZXguIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDI3Cittc2dpZCAiY291bGQgbm90IHNhdmUgaW5kZXggdHJlZSIKK21zZ3N0ciAia3VuZGUgaW50ZSBzcGFyYSBpbmRleHRyw6RkIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDM2Cittc2dpZCAiY291bGQgbm90IHJlc3RvcmUgdW50cmFja2VkIGZpbGVzIGZyb20gc3Rhc2giCittc2dzdHIgImt1bmRlIGludGUgw6V0ZXJzdMOkbGxhIG9zcMOlcmFkZSBmaWxlciBmcsOlbiBzdGFzaC1wb3N0IgorCisjOiBidWlsdGluL3N0YXNoLmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lcmdpbmcgJXMgd2l0aCAlcyIKK21zZ3N0ciAiU2zDpXIgaWhvcCAlcyBtZWQgJXMiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0NjAgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2ODEKK21zZ2lkICJJbmRleCB3YXMgbm90IHVuc3Rhc2hlZC4iCittc2dzdHIgIkluZGV4ZXQgaGFyIGludGUgdGFnaXRzIHVwcCB1ciBcInN0YXNoXCI6ZW4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1MjEgYnVpbHRpbi9zdGFzaC5jOjYyMAorbXNnaWQgImF0dGVtcHQgdG8gcmVjcmVhdGUgdGhlIGluZGV4IgorbXNnc3RyICJmw7Zyc8O2ayDDpXRlcnNrYXBhIGluZGV4ZXQiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRHJvcHBlZCAlcyAoJXMpIgorbXNnc3RyICJLYXN0YWRlICVzICglcykiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgorbXNnc3RyICIlczogS3VuZGUgaW50ZSBrYXN0YSBcInN0YXNoXCItcG9zdCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKK21zZ3N0ciAiXCIlc1wiIMOkciBpbnRlIGVuIFwic3Rhc2hcIi1yZWZlcmVucyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjYzMiBnaXQtbGVnYWN5LXN0YXNoLnNoOjY5NQorbXNnaWQgIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgorbXNnc3RyICJTdGFzaC1wb3N0ZW4gYmVow6VsbHMgaWZhbGwgZHUgYmVow7Z2ZXIgZGVuIGlnZW4uIgorCisjOiBidWlsdGluL3N0YXNoLmM6NjU1IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzEzCittc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICJJbmdldCBncmVubmFtbiBhbmdhdnMiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo3OTUgYnVpbHRpbi9zdGFzaC5jOjgzMgorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgdXBkYXRlICVzIHdpdGggJXMiCittc2dzdHIgIkthbiBpbnRlIHVwcGRhdGVyYSAlcyBtZWQgJXMiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo4MTMgYnVpbHRpbi9zdGFzaC5jOjE0NzAgYnVpbHRpbi9zdGFzaC5jOjE1MDYKK21zZ2lkICJzdGFzaCBtZXNzYWdlIgorbXNnc3RyICJcInN0YXNoXCItbWVkZGVsYW5kZSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjgyMworbXNnaWQgIlwiZ2l0IHN0YXNoIHN0b3JlXCIgcmVxdWlyZXMgb25lIDxjb21taXQ+IGFyZ3VtZW50IgorbXNnc3RyICJcImdpdCBzdGFzaCBzdG9yZVwiIGtyw6R2ZXIgZXR0IDxpbmNoZWNrbmluZz4tYXJndW1lbnQiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMDQ1IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjE4Cittc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKK21zZ3N0ciAiSW5nYSDDpG5kcmluZ2FyIHZhbGRhIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTE0NSBnaXQtbGVnYWN5LXN0YXNoLnNoOjE1MAorbXNnaWQgIllvdSBkbyBub3QgaGF2ZSB0aGUgaW5pdGlhbCBjb21taXQgeWV0IgorbXNnc3RyICJEdSBoYXIgaW50ZSBkZW4gZsO2cnN0YSBpbmNoZWNrbmluZ2VuIMOkbm51IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTE3MiBnaXQtbGVnYWN5LXN0YXNoLnNoOjE2NQorbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IGluZGV4IHN0YXRlIgorbXNnc3RyICJLYW4gaW50ZSBzcGFyYSBha3R1ZWxsdCB0aWxsc3TDpW5kIGbDtnIgaW5kZXhldCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExODEgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoxODAKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgdW50cmFja2VkIGZpbGVzIgorbXNnc3RyICJLYW4gaW50ZSBzcGFyYSBvc3DDpXJhZGUgZmlsZXIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTkyIGJ1aWx0aW4vc3Rhc2guYzoxMjAxIGdpdC1sZWdhY3ktc3Rhc2guc2g6MjAxCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjIxNAorbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHdvcmt0cmVlIHN0YXRlIgorbXNnc3RyICJLYW4gaW50ZSBzcGFyYSBha3R1ZWxsdCB0aWxsc3TDpW5kIGbDtnIgYXJiZXRza2F0YWxvZ2VuIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTIyOSBnaXQtbGVnYWN5LXN0YXNoLnNoOjIzNAorbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgorbXNnc3RyICJLYW4gaW50ZSByZWdpc3RyZXJhIHRpbGxzdMOlbmQgZsO2ciBhcmJldHNrYXRhbG9nIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTI3OCBnaXQtbGVnYWN5LXN0YXNoLnNoOjMzOAorbXNnaWQgIkNhbid0IHVzZSAtLXBhdGNoIGFuZCAtLWluY2x1ZGUtdW50cmFja2VkIG9yIC0tYWxsIGF0IHRoZSBzYW1lIHRpbWUiCittc2dzdHIgIkthbiBpbnRlIGFudsOkbmRhIC0tcGF0Y2ggb2NoIC0taW5jbHVkZS11bnRyYWNrZWQgZWxsZXIgLS1hbGwgc2FtdGlkaWd0IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTI5NAorbXNnaWQgIkRpZCB5b3UgZm9yZ2V0IHRvICdnaXQgYWRkJz8iCittc2dzdHIgIkdsw7ZtZGUgZHUgYW52w6RuZGEgXCJnaXQgYWRkXCI/IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTMwOSBnaXQtbGVnYWN5LXN0YXNoLnNoOjM0NgorbXNnaWQgIk5vIGxvY2FsIGNoYW5nZXMgdG8gc2F2ZSIKK21zZ3N0ciAiSW5nYSBsb2thbGEgw6RuZHJpbmdhciBhdHQgc3BhcmEiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzE2IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzUxCittc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCittc2dzdHIgIkthbiBpbnRlIGluaXRpZXJhIFwic3Rhc2hcIiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEzMzEgZ2l0LWxlZ2FjeS1zdGFzaC5zaDozNTUKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBzdGF0dXMiCittc2dzdHIgIkthbiBpbnRlIHNwYXJhIGFrdHVlbGwgc3RhdHVzIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJTYXZlZCB3b3JraW5nIGRpcmVjdG9yeSBhbmQgaW5kZXggc3RhdGUgJXMiCittc2dzdHIgIlNwYXJhZGUgYXJiZXRza2F0YWxvZ2VuIG9jaCBpbmRleHN0YXR1cyAlcyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0MjYgZ2l0LWxlZ2FjeS1zdGFzaC5zaDozODUKK21zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCittc2dzdHIgIkthbiBpbnRlIHRhIGJvcnQgw6RuZHJpbmdhciBpIGFyYmV0c2thdGFsb2dlbiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjEgYnVpbHRpbi9zdGFzaC5jOjE0OTcKK21zZ2lkICJrZWVwIGluZGV4IgorbXNnc3RyICJiZWjDpWxsIGluZGV4ZXQiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDYzIGJ1aWx0aW4vc3Rhc2guYzoxNDk5Cittc2dpZCAic3Rhc2ggaW4gcGF0Y2ggbW9kZSIKK21zZ3N0ciAiXCJzdGFzaFwiIGkgXCJwYXRjaFwiLWzDpGdlIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ2NCBidWlsdGluL3N0YXNoLmM6MTUwMAorbXNnaWQgInF1aWV0IG1vZGUiCittc2dzdHIgInR5c3QgbMOkZ2UiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDY2IGJ1aWx0aW4vc3Rhc2guYzoxNTAyCittc2dpZCAiaW5jbHVkZSB1bnRyYWNrZWQgZmlsZXMgaW4gc3Rhc2giCittc2dzdHIgInRhIG1lZCBvc3DDpXJhZGUgZmlsZXIgaSBcInN0YXNoXCIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDY4IGJ1aWx0aW4vc3Rhc2guYzoxNTA0Cittc2dpZCAiaW5jbHVkZSBpZ25vcmUgZmlsZXMiCittc2dzdHIgInRhIG1lZCBpZ25vcmVyYWRlIGZpbGVyIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTU2NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZXhlYyAlcyIKK21zZ3N0ciAia3VuZGUgaW50ZSBrw7ZyYSAlcyIKKwogIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTgKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLXMgfCAtLXN0cmlwLWNvbW1lbnRzXSIKIG1zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1zIHwgLS1zdHJpcC1jb21tZW50c10iCkBAIC0xNzAwMSw0OCArMjAxNTYsNDggQEAKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogbXNnc3RyICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzozNgorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzcKIG1zZ2lkICJza2lwIGFuZCByZW1vdmUgYWxsIGxpbmVzIHN0YXJ0aW5nIHdpdGggY29tbWVudCBjaGFyYWN0ZXIiCiBtc2dzdHIgImhvcHBhIMO2dmVyIG9jaCB0YSBib3J0IGFsbGEgcmFkZXIgc29tIGlubGVkcyBtZWQga29tbWVudGFyc3RlY2tlbiIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzkKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjQwCiBtc2dpZCAicHJlcGVuZCBjb21tZW50IGNoYXJhY3RlciBhbmQgc3BhY2UgdG8gZWFjaCBsaW5lIgogbXNnc3RyICJsw6RnZyBpbiBrb21tZW50YXJzdGVja2VuIG9jaCBibGFua3N0ZWcgZsO2cnN0IHDDpSB2YXJqZSByYWQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkzOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGluZyBhIGZ1bGwgcmVmIG5hbWUsIGdvdCAlcyIKIG1zZ3N0ciAiRsO2cnbDpG50YWRlIGZ1bGx0IHJlZmVyZW5zbmFtbiwgZmljayAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQKIG1zZ2lkICJzdWJtb2R1bGUtLWhlbHBlciBwcmludC1kZWZhdWx0LXJlbW90ZSB0YWtlcyBubyBhcmd1bWVudHMiCiBtc2dzdHIgInN1Ym1vZHVsZS0taGVscGVyIHByaW50LWRlZmF1bHQtcmVtb3RlIHRhciBpbmdhIGFyZ3VtZW50IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0cmlwIG9uZSBjb21wb25lbnQgb2ZmIHVybCAnJXMnIgogbXNnc3RyICJrYW4gaW50ZSB0YSBib3J0IGVuIGtvbXBvbmVudCBmcsOlbiB1cmw6ZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzYzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDEwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzgwCiBtc2dpZCAiYWx0ZXJuYXRpdmUgYW5jaG9yIGZvciByZWxhdGl2ZSBwYXRocyIKIG1zZ3N0ciAiYWx0ZXJuYXRpdmEgYW5rYXJlIGbDtnIgcmVsYXRpdmEgc8O2a3bDpGdhciIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxMgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQxNQogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IFstLXByZWZpeD08cGF0aD5dIFs8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHPDtmt2w6RnPl0gWzxzw7ZrdsOkZz4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDY5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MjYKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NDkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NzIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYzMAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyB1cmwgZm91bmQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcycgaW4gLmdpdG1vZHVsZXMiCiBtc2dzdHIgIkhpdHRhZGUgaW5nZW4gdXJsIGbDtnIgdW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIlc1wiIGkgLmdpdG1vZHVsZXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRW50ZXJpbmcgJyVzJ1xuIgogbXNnc3RyICJHw6VyIGluIGkgXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9jb21tYW5kIHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cyBmb3IgJXNcbiIKQEAgLTE3MDUxLDcgKzIwMjA2LDcgQEAKICJydW5fY29tbWFuZCByZXR1cm5lcmFkZSBpY2tlLW5vbGxzdGF0dXMgZsO2ciAlc1xuIgogIi4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NDUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9jb21tYW5kIHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cyB3aGlsZSByZWN1cnNpbmcgaW4gdGhlIG5lc3RlZCAiCkBAIC0xNzA2MiwxOSArMjAyMTcsMTkgQEAKICJ1bmRlcm1vZHVsZXIgZsO2ciAlc1xuIgogIi4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjUKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgb2YgZW50ZXJpbmcgZWFjaCBzdWJtb2R1bGUgY29tbWFuZCIKIG1zZ3N0ciAiRMO2bGogdXRkYXRhIGZyw6VuIGbDtnIgdmFyamUgdW5kZXJtb2R1bHNrb21tYW5kbyBzb20gc3RhcnRhcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA0OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1MwogbXNnaWQgIlJlY3Vyc2UgaW50byBuZXN0ZWQgc3VibW9kdWxlcyIKIG1zZ3N0ciAiUmVrdXJzZXJhIGluIGkgbsOkc3RsYWRlIHVuZGVybW9kdWxlciIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2OAotbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBmb3JlYWNoIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIDxjb21tYW5kPiIKLW1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHN5bmMgWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWzxrb21tYW5kbz5dIgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU3MgorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBmb3JlYWNoIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIFstLV0gPGNvbW1hbmQ+IgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgc3luYyBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSBbLS1dIFs8a29tbWFuZG8+XSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IGxvb2sgdXAgY29uZmlndXJhdGlvbiAnJXMnLiBBc3N1bWluZyB0aGlzIHJlcG9zaXRvcnkgaXMgaXRzIG93biAiCkBAIC0xNzA4Myw1NCArMjAyMzgsNTQgQEAKICJrdW5kZSBpbnRlIHNsw6UgdXBwIGtvbmZpZ3VyYXRpb25lbiBcIiVzXCIuIEFudGFyIGF0dCBhcmtpdmV0IMOkciBzaW4gZWdldCAiCiAib2ZmaWNpZWxsYSB1cHBzdHLDtm0uIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjYzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cmwgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIk1pc3NseWNrYWRlcyByZWdpc3RyZXJhIHVybCBmw7ZyIHVuZGVybW9kdWxzw7ZrdsOkZyBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgKCVzKSByZWdpc3RlcmVkIGZvciBwYXRoICclcydcbiIKIG1zZ3N0ciAiVW5kZXJtb2R1bGVuIFwiJXNcIiAoJXMpIHJlZ2lzdHJlcmFkIGbDtnIgc8O2a3bDpGdlbiBcIiVzXCJcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY3NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBjb21tYW5kIHVwZGF0ZSBtb2RlIHN1Z2dlc3RlZCBmb3Igc3VibW9kdWxlICclcydcbiIKIG1zZ3N0ciAidmFybmluZzoga29tbWFuZG91cHBkYXRlcmluZ3Nsw6RnZSBmw7ZyZXNsb2dzIGbDtnIgdW5kZXJtb2R1bGVuIFwiJXNcIlxuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njg0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciB1cGRhdGUgbW9kZSBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHJlZ2lzdHJlcmEgdXBwZGF0ZXJpbmdzbMOkZ2UgZsO2ciB1bmRlcm1vZHVsc8O2a3bDpGcgXCIlc1wiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzA2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzEwCiBtc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IGZvciBpbml0aWFsaXppbmcgYSBzdWJtb2R1bGUiCiBtc2dzdHIgIkTDtmxqIHV0ZGF0YSBmcsOlbiBpbml0aWVyaW5nIGF2IHVuZGVybW9kdWwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MTEKLW1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPHBhdGg+XSIKLW1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzxzw7ZrdsOkZz5dIgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcxNQorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8b3B0aW9ucz5dIFs8cGF0aD5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPGZsYWdnb3I+XSBbPHPDtmt2w6RnPl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkwOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc4NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Ym1vZHVsZSBtYXBwaW5nIGZvdW5kIGluIC5naXRtb2R1bGVzIGZvciBwYXRoICclcyciCiBtc2dzdHIgImhpdHRhZGUgaW5nZW4gdW5kZXJtb2R1bG1hcHBuaW5nIGkgLmdpdG1vZHVsZXMgZsO2ciBzw7ZrdsOkZ2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjgyMgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjgyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSBIRUFEIHJlZiBpbnNpZGUgdGhlIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIGJlc3TDpG1tYSBIRUFEOnMgaW5jaGVja25pbmcgaSB1bmRlcm1vZHVsZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODQ5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDE4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODU0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyByZWt1cnNlcmEgaW4gaSB1bmRlcm1vZHVsZW4gXCIlc1wiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODczIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTgyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTg5CiBtc2dpZCAiU3VwcHJlc3Mgc3VibW9kdWxlIHN0YXR1cyBvdXRwdXQiCiBtc2dzdHIgIkhpbmRyYSBzdGF0dXN1dHNrcmlmdCBmw7ZyIHVuZGVybW9kdWwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NzkKIG1zZ2lkICIiCiAiVXNlIGNvbW1pdCBzdG9yZWQgaW4gdGhlIGluZGV4IGluc3RlYWQgb2YgdGhlIG9uZSBzdG9yZWQgaW4gdGhlIHN1Ym1vZHVsZSAiCiAiSEVBRCIKQEAgLTE3MTM4LDQ3ICsyMDI5Myw0NyBAQAogIlZpc2EgaW5jaGVja25pbmcgZnLDpW4gaW5kZXhldCBpc3TDpGxsZXQgZsO2ciBkZW4gc29tIGxhZ3JhdHMgaSB1bmRlcm1vZHVsZW5zICIKICJIRUFEIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODgwCiBtc2dpZCAicmVjdXJzZSBpbnRvIG5lc3RlZCBzdWJtb2R1bGVzIgogbXNnc3RyICJyZWt1cnNlcmEgaW4gaSBuw6RzdGxhZGUgdW5kZXJtb2R1bGVyIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODg1CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZSBzdGF0dXMgWy0tcXVpZXRdIFstLWNhY2hlZF0gWy0tcmVjdXJzaXZlXSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZSBzdGF0dXMgWy0tcXVpdGV0XSBbLS1jYWNoZWRdIFstLXJlY3Vyc2l2ZV0gWzxzw7ZrdsOkZz4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA5CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPHBhdGg+IgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8c8O2a3bDpGc+IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTY4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCBmb3IgJyVzJ1xuIgogbXNnc3RyICJTeW5rcm9uaXNlcmFyIHVuZGVybW9kdWwtdXJsIGbDtnIgXCIlc1wiXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHJlZ2lzdHJlcmEgdXJsIGbDtnIgdW5kZXJtb2R1bHPDtmt2w6RnIFwiJXNcIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZ2V0IHRoZSBkZWZhdWx0IHJlbW90ZSBmb3Igc3VibW9kdWxlICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBow6RtdGEgc3RhbmRhcmRmasOkcnIgZsO2ciB1bmRlcm1vZHVsc8O2a3bDpGcgXCIlc1wiIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTk5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdXBkYXRlIHJlbW90ZSBmb3Igc3VibW9kdWxlICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyB1cHBkYXRlcmEgZmrDpHJyIGbDtnIgdW5kZXJtb2R1bHPDtmt2w6RnIFwiJXNcIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDUxCiBtc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IG9mIHN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCIKIG1zZ3N0ciAiRMO2bGogdXRkYXRhIGZyw6VuIHN5bmtyb25pZXJpbmcgYXYgdW5kZXJtb2R1bC11cmwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDUzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1OAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBzeW5jIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIFs8cGF0aD5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgc3luYyBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSBbPHPDtmt2w6RnPl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTExMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJXMnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnkgKHVzZSAncm0gLXJmJyBpZiB5b3UgIgpAQCAtMTcxODcsNyArMjAzNDIsNyBAQAogIlVuZGVybW9kdWxzYXJiZXRza2F0YWxvZ2VuIFwiJXNcIiBpbm5laMOlbGxlciBlbiAuZ2l0LWthdGFsb2cgKGFudsOkbmQgXCJybSAtcmYiCiAiXCIgb20gZHUgdmVya2xpZ2VuIHZpbGwgdGEgYm9ydCBkZW4gb2NoIGFsbCBkZXNzIGhpc3RvcmlrKSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMTkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICclcycgY29udGFpbnMgbG9jYWwgbW9kaWZpY2F0aW9uczsgdXNlICctZicgdG8gZGlzY2FyZCAiCkBAIC0xNzE5Niw4MSArMjAzNTEsOTcgQEAKICJVbmRlcm1vZHVsZW5zIGFyYmV0c2thdGFsb2cgXCIlc1wiIGhhciBsb2thbGEgw6RuZHJpbmdhcjsgXCItZlwiIGthc3RhciBib3J0ICIKICJkZW0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTI3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDbGVhcmVkIGRpcmVjdG9yeSAnJXMnXG4iCiBtc2dzdHIgIlJlbnNhZGUga2F0YWxvZ2VuIFwiJXNcIlxuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEyOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBzdWJtb2R1bGUgd29yayB0cmVlICclcydcbiIKIG1zZ3N0ciAiS3VuZGUgaW50ZSB0YSBib3J0IHVuZGVybW9kdWxlbnMgYXJiZXRza2F0YWxvZyBcIiVzXCJcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMzgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSB0b20gdW5kZXJtb2R1bHNrYXRhbG9nICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE1NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgKCVzKSB1bnJlZ2lzdGVyZWQgZm9yIHBhdGggJyVzJ1xuIgogbXNnc3RyICJVbmRlcm1vZHVsZW4gXCIlc1wiICglcykgcmVnaXN0cmVyYWQgZsO2ciBzw7ZrdsOkZ2VuIFwiJXNcIlxuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE4MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExOTAKIG1zZ2lkICJSZW1vdmUgc3VibW9kdWxlIHdvcmtpbmcgdHJlZXMgZXZlbiBpZiB0aGV5IGNvbnRhaW4gbG9jYWwgY2hhbmdlcyIKIG1zZ3N0ciAiIgogIlRhIGJvcnQgdW5kZXJtb2R1bGVycyBhcmJldHNrYXRhbG9nZXIgw6R2ZW4gb20gZGUgaW5uZWjDpWxsZXIgbG9rYWxhIMOkbmRyaW5nYXIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTg0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE5MQogbXNnaWQgIlVucmVnaXN0ZXIgYWxsIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIkF2cmVnaXN0cmVyYSBhbGxhIHVuZGVybW9kdWxlciIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTk2CiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUgZGVpbml0IFstLXF1aWV0XSBbLWYgfCAtLWZvcmNlXSBbLS1hbGwgfCBbLS1dIFs8cGF0aD4uLi5dXSIKIG1zZ3N0ciAiIgogImdpdCBzdWJtb2R1bGUgZGVpbml0IFstLXF1aWV0XSBbLWYgfCAtLWZvcmNlXSBbLS1hbGwgfCBbLS1dIFs8c8O2a3bDpGc+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjAzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTIxMAogbXNnaWQgIlVzZSAnLS1hbGwnIGlmIHlvdSByZWFsbHkgd2FudCB0byBkZWluaXRpYWxpemUgYWxsIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIkFudsOkbmQgXCItLWFsbFwiIG9tIGR1IHZlcmtsaWdlbiB2aWxsIGF2aW5pdGllcmEgYWxsYSB1bmRlcm1vZHVsZXIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjk3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzAwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTI3NQorbXNnaWQgIiIKKyJBbiBhbHRlcm5hdGUgY29tcHV0ZWQgZnJvbSBhIHN1cGVycHJvamVjdCdzIGFsdGVybmF0ZSBpcyBpbnZhbGlkLlxuIgorIlRvIGFsbG93IEdpdCB0byBjbG9uZSB3aXRob3V0IGFuIGFsdGVybmF0ZSBpbiBzdWNoIGEgY2FzZSwgc2V0XG4iCisic3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgdG8gJ2luZm8nIG9yLCBlcXVpdmFsZW50bHksIGNsb25lIHdpdGhcbiIKKyInLS1yZWZlcmVuY2UtaWYtYWJsZScgaW5zdGVhZCBvZiAnLS1yZWZlcmVuY2UnLiIKK21zZ3N0ciAiIgorIkVuIHN1cHBsZWFudCBiZXLDpGtuYWQgZnLDpW4gw7Z2ZXJwcm9qZWt0ZXRzIHN1cHBsZWFudCDDpHIgb2dpbHRpZy5cbiIKKyJGw7ZyIGF0dCBpIHPDpSBmYWxsIGzDpXRhIEdpdCBrbG9uYSB1dGFuIGV0dCBzdXBwbGVhbnQsIHPDpHR0XG4iCisic3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgdGlsbCBcImluZm9cIiBlbGxlciwgbGlrdsOkcmRpZ3QsIGtsb25hXG4iCisibWVkIFwiLS1yZWZlcmVuY2UtaWYtYWJsZVwiIGlzdMOkbGxldCBmw7ZyIFwiLS1yZWZlcmVuY2VcIi4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzE0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGNhbm5vdCBhZGQgYWx0ZXJuYXRlOiAlcyIKLW1zZ3N0ciAidW5kZXJtb2R1bGVuIFwiJXNcIiBrYW4gaW50ZSBsw6RnZ2EgdGlsbCBhbHRlcm5hdGl2OiAlcyIKK21zZ3N0ciAidW5kZXJtb2R1bGVuIFwiJXNcIiBrYW4gaW50ZSBsw6RnZ2EgdGlsbCBzdXBwbGVhbnQ6ICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTMzNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgaXMgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgIlbDpHJkZXQgXCIlc1wiIGkgc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgZsO2cnN0w6VzIGludGUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzQzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJWYWx1ZSAnJXMnIGZvciBzdWJtb2R1bGUuYWx0ZXJuYXRlTG9jYXRpb24gaXMgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgIlbDpHJkZXQgXCIlc1wiIGkgc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIGbDtnJzdMOlcyBpbnRlIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODMKIG1zZ2lkICJ3aGVyZSB0aGUgbmV3IHN1Ym1vZHVsZSB3aWxsIGJlIGNsb25lZCB0byIKIG1zZ3N0ciAidmFyIGRlbiBueWEgdW5kZXJtb2R1bGVuIHNrYWxsIGtsb25hcyB0aWxsIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODYKIG1zZ2lkICJuYW1lIG9mIHRoZSBuZXcgc3VibW9kdWxlIgogbXNnc3RyICJuYW1uIHDDpSBkZW4gbnlhIHVuZGVybW9kdWxlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg5CiBtc2dpZCAidXJsIHdoZXJlIHRvIGNsb25lIHRoZSBzdWJtb2R1bGUgZnJvbSIKIG1zZ3N0ciAiVVJMIGF0dCBrbG9uYSB1bmRlcm1vZHVsZW4gZnLDpW4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5NwogbXNnaWQgImRlcHRoIGZvciBzaGFsbG93IGNsb25lcyIKIG1zZ3N0ciAiZGp1cCBmw7ZyIGdydW5kYSBrbG9uZXIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzgzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODY4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQwMCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5NwogbXNnaWQgImZvcmNlIGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgInR2aW5nYSBrbG9uaW5nc2bDtnJsb3BwIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MDIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTkKK21zZ2lkICJkaXNhbGxvdyBjbG9uaW5nIGludG8gbm9uLWVtcHR5IGRpcmVjdG9yeSIKK21zZ3N0ciAiZsO2cmhpbmRyYSBrbG9uaW5nIHRpbGwgaWNrZS10b20ga2F0YWxvZyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MDcKIG1zZ2lkICIiCiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD08cGF0aD5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgIgogIjxyZXBvc2l0b3J5Pl0gWy0tbmFtZSA8bmFtZT5dIFstLWRlcHRoIDxkZXB0aD5dIC0tdXJsIDx1cmw+IC0tcGF0aCA8cGF0aD4iCkBAIC0xNzI3OCw5MyArMjA0NDksMTAzIEBACiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD08c8O2a3bDpGc+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlICIKICI8YXJrdmk+XSBbLS1uYW1lIDxuYW1uPl0gWy0tZGVwdGggPGRqdXA+XSAtLXVybCA8dXJsPiAtLXBhdGggPHPDtmt2w6RnPiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MTkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDMxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZnVzaW5nIHRvIGNyZWF0ZS91c2UgJyVzJyBpbiBhbm90aGVyIHN1Ym1vZHVsZSdzIGdpdCBkaXIiCittc2dzdHIgInbDpGdyYXIgc2thcGEvYW52w6RuZGEgXCIlc1wiIGkgZW4gYW5uYW4gdW5kZXJtb2R1bHMgZ2l0a2F0YWxvZyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvbmUgb2YgJyVzJyBpbnRvIHN1Ym1vZHVsZSBwYXRoICclcycgZmFpbGVkIgotbXNnc3RyICJtaXNzbHlja2FkZXMga2xvbmEgXCIlc1wiIHRpbGwgdW5kZXJtb2R1bHPDtmt2w6RnZW4g4oCdJXPigJ0iCittc2dzdHIgIm1pc3NseWNrYWRlcyBrbG9uYSBcIiVzXCIgdGlsbCB1bmRlcm1vZHVsc8O2a3bDpGdlbiBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDMzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3Rvcnkgbm90IGVtcHR5OiAnJXMnIgorbXNnc3RyICJrYXRhbG9nZW4gaW50ZSB0b206IFwiJXNcIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBzdWJtb2R1bGUgZGlyZWN0b3J5IGZvciAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIGbDpSB0YWcgaSB1bmRlcm1vZHVsa2F0YWxvZyBmw7ZyIFwiJXNcIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdXBkYXRlIG1vZGUgJyVzJyBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAiT2dpbHRpZ3QgdXBwZGF0ZXJpbmdzbMOkZ2UgXCIlc1wiIGbDtnIgdW5kZXJtb2R1bHPDtmt2w6RnIFwiJXNcIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NzMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdXBkYXRlIG1vZGUgJyVzJyBjb25maWd1cmVkIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICIiCiAiT2dpbHRpZ3QgdXBwZGF0ZXJpbmdzbMOkZ2UgXCIlc1wiIGtvbmZpZ3VyZXJhdCBmw7ZyIHVuZGVybW9kdWxzw7ZrdsOkZyBcIiVzXCIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTY2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTU5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJXMnIG5vdCBpbml0aWFsaXplZCIKIG1zZ3N0ciAiVW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIlc1wiIGhhciBpbnRlIGluaXRpZXJhdHMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTcwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTU5OAogbXNnaWQgIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgogbXNnc3RyICJLYW5za2UgbWVuYWRlIGR1IGF0dCBhbnbDpG5kYSBcInVwZGF0ZSAtLWluaXRcIj8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjAwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyB1bm1lcmdlZCBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIkhvcHBhciDDtnZlciBlaiBzYW1tYW5zbGFnZW4gdW5kZXJtb2R1bCAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE2MjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJIb3BwYXIgw7Z2ZXIgdW5kZXJtb2R1bGVuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE3NzMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnLiBSZXRyeSBzY2hlZHVsZWQiCiBtc2dzdHIgIk1pc3NseWNrYWRlcyBrbG9uYSBcIiVzXCIuIE55dHQgZsO2cnPDtmsgcGxhbmxhZ3QiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNzg0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJyBhIHNlY29uZCB0aW1lLCBhYm9ydGluZyIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIGtsb25hIFwiJXNcIiBmw7ZyIGFuZHJhIGfDpW5nZW4sIGF2YnJ5dGVyIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg0NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjA4OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NzYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxMjAKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAic8O2a3bDpGcgaW51dGkgYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NzkKIG1zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSwgYWNyb3NzIG5lc3RlZCBzdWJtb2R1bGUgYm91bmRhcmllcyIKIG1zZ3N0ciAic8O2a3bDpGcgaW51dGkgYXJiZXRza2F0YWxvZ2VuLCBnZW5vbSBuw6RzdGxhZGUgdW5kZXJtb2R1bGdyw6Ruc2VyIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODMKIG1zZ2lkICJyZWJhc2UsIG1lcmdlLCBjaGVja291dCBvciBub25lIgogbXNnc3RyICJyZWJhc2UsIG1lcmdlLCBjaGVja291dCBlbGxlciBub25lIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODkKIG1zZ2lkICJDcmVhdGUgYSBzaGFsbG93IGNsb25lIHRydW5jYXRlZCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiByZXZpc2lvbnMiCiBtc2dzdHIgIlNrYXBhIGVuIGdydW5kIGtsb24gdHJ1bmtlcmFkIHRpbGwgYW5naXZldCBhbnRhbCByZXZpc2lvbmVyIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTIKIG1zZ2lkICJwYXJhbGxlbCBqb2JzIgogbXNnc3RyICJwYXJhbGxlbGxhIGpvYmIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODY1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5NAogbXNnaWQgIndoZXRoZXIgdGhlIGluaXRpYWwgY2xvbmUgc2hvdWxkIGZvbGxvdyB0aGUgc2hhbGxvdyByZWNvbW1lbmRhdGlvbiIKIG1zZ3N0ciAib20gZGVuIGbDtnJzdGEga2xvbmVuIHNrYWxsIGbDtmxqYSByZWtvbW1lbmRhdGlvbiBmw7ZyIGdydW5kIGtsb25pbmciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODY2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5NQogbXNnaWQgImRvbid0IHByaW50IGNsb25pbmcgcHJvZ3Jlc3MiCiBtc2dzdHIgInNrcml2IGludGUga2xvbmbDtnJsb3BwIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg3MwotbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTxzw7ZrdsOkZz5dIFs8c8O2a3bDpGc+Li4uXSIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTA0Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZS1jbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZS1jbG9uZSBbLS1wcmVmaXg9PHPDtmt2w6RnPl0gWzxzw7ZrdsOkZz4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MTcKIG1zZ2lkICJiYWQgdmFsdWUgZm9yIHVwZGF0ZSBwYXJhbWV0ZXIiCiBtc2dzdHIgImZlbGFrdGlndCB2w6RyZGUgZsO2ciBwYXJhbWV0ZXJuIHVwZGF0ZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgKCVzKSBicmFuY2ggY29uZmlndXJlZCB0byBpbmhlcml0IGJyYW5jaCBmcm9tIHN1cGVycHJvamVjdCwgYnV0ICIKQEAgLTE3MzczLDQyICsyMDU1NCw1MCBAQAogIlVuZGVybW9kdWxlbnMgKCVzKSBncmVuIGluc3TDpGxsZCBww6UgYXR0IMOkcnZhIGdyZW4gZnLDpW4gaHV2dWRwcm9qZWt0ZXQsIG1lbiAiCiAiaHV2dWRwcm9qZWt0ZXQgw6RyIGludGUgcMOlIG7DpWdvbiBncmVuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjA1NworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBhIHJlcG9zaXRvcnkgaGFuZGxlIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAia3VuZGUgaW50ZSBmw6UgdGFnIGkgYXJraXZoYW5kdGFnIGbDtnIgdW5kZXJtb2R1bGVuIFwiJXNcIiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwOTAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTIxCiBtc2dpZCAicmVjdXJzZSBpbnRvIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInJla3Vyc2VyYSBuZXIgaSB1bmRlcm1vZHVsZXIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDk2Ci1tc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGVtYmVkLWdpdC1kaXIgWzxwYXRoPi4uLl0iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBlbWJlZC1naXQtZGlyIFs8c8O2a3bDpGc+Li4uXSIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTI3Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGFic29yYi1naXQtZGlycyBbPG9wdGlvbnM+XSBbPHBhdGg+Li4uXSIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGFic29yYi1naXQtZGlyIFs8ZmxhZ2dvcj5dIFs8c8O2a3bDpGc+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTgzCiBtc2dpZCAiY2hlY2sgaWYgaXQgaXMgc2FmZSB0byB3cml0ZSB0byB0aGUgLmdpdG1vZHVsZXMgZmlsZSIKIG1zZ3N0ciAic2Ugb20gZGV0IMOkciBzw6RrZXJ0IGF0dCBza3JpdmEgdGlsbCAuZ2l0bW9kdWxlcy1maWxlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNTcKLW1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIG5hbWUgW3ZhbHVlXSIKLW1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyBuYW1lIDx2w6RyZGU+IgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxODYKK21zZ2lkICJ1bnNldCB0aGUgY29uZmlnIGluIHRoZSAuZ2l0bW9kdWxlcyBmaWxlIgorbXNnc3RyICJ0YSBib3J0IGtvbmZpZ3VyYXRpb25lbiBmcsOlbiAuZ2l0bW9kdWxlcy1maWxlbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTkxCittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyA8bmFtZT4gWzx2YWx1ZT5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIDxuYW1uPiBbPHbDpHJkZT5dIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE5MgorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgLS11bnNldCA8bmFtZT4iCittc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgLS11bnNldCA8bmFtbj4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTkzCiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLWNoZWNrLXdyaXRlYWJsZSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLWNoZWNrLXdyaXRlYWJsZSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNzUgZ2l0LXN1Ym1vZHVsZS5zaDoxNjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjEyIGdpdC1zdWJtb2R1bGUuc2g6MTczCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJwbGVhc2UgbWFrZSBzdXJlIHRoYXQgdGhlIC5naXRtb2R1bGVzIGZpbGUgaXMgaW4gdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAic2UgdGlsbCBhdHQgLmdpdG1vZHVsZXMgZmlubnMgaSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjI1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjI2MiBnaXQuYzo0MzMgZ2l0LmM6Njg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRvZXNuJ3Qgc3VwcG9ydCAtLXN1cGVyLXByZWZpeCIKIG1zZ3N0ciAiJXMgc3TDtmRlciBpbnRlIC0tc3VwZXItcHJlZml4IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjIzMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCBzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIgogbXNnc3RyICJcIiVzXCIgw6RyIGludGUgZXR0IGdpbHRpZ3QgdW5kZXJrb21tYW5kbyB0aWxsIHN1Ym1vZHVsZS0taGVscGVyIgpAQCAtMTc0NDQsMTcgKzIwNjMzLDE3IEBACiAKICM6IGJ1aWx0aW4vdGFnLmM6MjUKIG1zZ2lkICIiCi0iZ2l0IHRhZyBbLWEgfCAtcyB8IC11IDxrZXktaWQ+XSBbLWZdIFstbSA8bXNnPiB8IC1GIDxmaWxlPl0gPHRhZ25hbWU+ICIKLSJbPGhlYWQ+XSIKKyJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGtleS1pZD5dIFstZl0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+XVxuIgorIlx0XHQ8dGFnbmFtZT4gWzxoZWFkPl0iCiBtc2dzdHIgIiIKLSJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPG55Y2tlbC1pZD5dIFstZl0gWy1tIDxtZWRkPiB8IC1GIDxmaWw+XSA8dGFnZ25hbW4+ICIKLSJbPGh1dnVkPl0iCisiZ2l0IHRhZyBbLWEgfCAtcyB8IC11IDxueWNrZWwtaWQ+XSBbLWZdIFstbSA8bWVkZD4gfCAtRiA8ZmlsPl1cbiIKKyJcdFx0PHRhZ2duYW1uPiBbPGh1dnVkPl0iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjYKKyM6IGJ1aWx0aW4vdGFnLmM6MjcKIG1zZ2lkICJnaXQgdGFnIC1kIDx0YWduYW1lPi4uLiIKIG1zZ3N0ciAiZ2l0IHRhZyAtZCA8dGFnZ25hbW4+Li4uIgogCi0jOiBidWlsdGluL3RhZy5jOjI3CisjOiBidWlsdGluL3RhZy5jOjI4CiBtc2dpZCAiIgogImdpdCB0YWcgLWwgWy1uWzxudW0+XV0gWy0tY29udGFpbnMgPGNvbW1pdD5dIFstLW5vLWNvbnRhaW5zIDxjb21taXQ+XSBbLS0iCiAicG9pbnRzLWF0IDxvYmplY3Q+XVxuIgpAQCAtMTc0NjQsMjEgKzIwNjUzLDIxIEBACiAiPGluY2hlY2tuaW5nPl0gWy0tcG9pbnRzLWF0IDxvYmpla3Q+XVxuIgogIlx0XHRbLS1mb3JtYXQ9PGZvcm1hdD5dIFstLVtuby1dbWVyZ2VkIFs8aW5jaGVja25pbmc+XV0gWzxtw7Zuc3Rlcj4uLi5dIgogCi0jOiBidWlsdGluL3RhZy5jOjI5CisjOiBidWlsdGluL3RhZy5jOjMwCiBtc2dpZCAiZ2l0IHRhZyAtdiBbLS1mb3JtYXQ9PGZvcm1hdD5dIDx0YWduYW1lPi4uLiIKIG1zZ3N0ciAiZ2l0IHRhZyAtdiBbLS1mb3JtYXQ9PGZvcm1hdD5dIDx0YWdnbmFtbj4uLi4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6ODcKKyM6IGJ1aWx0aW4vdGFnLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAidGFnZ2VuIFwiJXNcIiBoaXR0YWRlcyBpbnRlLiIKIAotIzogYnVpbHRpbi90YWcuYzoxMDMKKyM6IGJ1aWx0aW4vdGFnLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAiVG9nIGJvcnQgdGFnZyBcIiVzXCIgKHZhciAlcylcbiIKIAotIzogYnVpbHRpbi90YWcuYzoxMzMKKyM6IGJ1aWx0aW4vdGFnLmM6MTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTE3NDkxLDcgKzIwNjgwLDcgQEAKICIgICVzXG4iCiAiUmFkZXIgc29tIGlubGVkcyBtZWQgXCIlY1wiIGlnbm9yZXJhcy5cbiIKIAotIzogYnVpbHRpbi90YWcuYzoxMzcKKyM6IGJ1aWx0aW4vdGFnLmM6MTM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTE3NTA2LDM0NyArMjA2OTUsMzY0IEBACiAiUmFkZXIgc29tIGlubGVkcyBtZWQgXCIlY1wiIGtvbW1lciBiZWjDpWxsYXM7IGR1IGthbiBzasOkbHYgdGEgYm9ydCBkZW0gb21cbiIKICJkdSB2aWxsLlxuIgogCi0jOiBidWlsdGluL3RhZy5jOjE5MQorIzogYnVpbHRpbi90YWcuYzoxOTgKIG1zZ2lkICJ1bmFibGUgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICJrdW5kZSBpbnRlIHNpZ25lcmEgdGFnZ2VuIgogCi0jOiBidWlsdGluL3RhZy5jOjE5MworIzogYnVpbHRpbi90YWcuYzoyMDAKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGFnIGZpbGUiCiBtc2dzdHIgImt1bmRlIGludGUgc2tyaXZhIHRhZ2ctZmlsZW4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjE4CisjOiBidWlsdGluL3RhZy5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmUgY3JlYXRlZCBhIG5lc3RlZCB0YWcuIFRoZSBvYmplY3QgcmVmZXJyZWQgdG8gYnkgeW91ciBuZXcgdGFnIGlzXG4iCisiYWxyZWFkeSBhIHRhZy4gSWYgeW91IG1lYW50IHRvIHRhZyB0aGUgb2JqZWN0IHRoYXQgaXQgcG9pbnRzIHRvLCB1c2U6XG4iCisiXG4iCisiXHRnaXQgdGFnIC1mICVzICVzXnt9IgorbXNnc3RyICIiCisiRHUgaGFyIHNrYXBhdCBlbiBuw6RzdGxhZCB0YWdnLiBPYmpla3RldCBzb20gcmVmZXJlcmFzIGF2IGRpbiBueWEgdGFnZyDDpHJcbiIKKyJyZWRhbiBlbiB0YWdnLiBPbSBkdSBza3VsbGUgdGFnZ2Egb2JqZWt0ZXQgZGVuIHBla2FyIHDDpSwgYW52w6RuZDpcbiIKKyJcbiIKKyJcdGdpdCB0YWcgLWYgJXMgJXNee30iCisKKyM6IGJ1aWx0aW4vdGFnLmM6MjMyCiBtc2dpZCAiYmFkIG9iamVjdCB0eXBlLiIKIG1zZ3N0ciAiZmVsYWt0aWcgb2JqZWt0dHlwLiIKIAotIzogYnVpbHRpbi90YWcuYzoyNjcKKyM6IGJ1aWx0aW4vdGFnLmM6Mjg0CiBtc2dpZCAibm8gdGFnIG1lc3NhZ2U/IgogbXNnc3RyICJpbmdldCB0YWdnbWVkZGVsYW5kZT8iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mjc0CisjOiBidWlsdGluL3RhZy5jOjI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgdGFnIG1lc3NhZ2UgaGFzIGJlZW4gbGVmdCBpbiAlc1xuIgogbXNnc3RyICJUYWdnbWVkZGVsYW5kZXQgaGFyIGzDpG1uYXRzIGkgJXNcbiIKIAotIzogYnVpbHRpbi90YWcuYzozODUKKyM6IGJ1aWx0aW4vdGFnLmM6NDAyCiBtc2dpZCAibGlzdCB0YWcgbmFtZXMiCiBtc2dzdHIgImxpc3RhIHRhZ2duYW1uIgogCi0jOiBidWlsdGluL3RhZy5jOjM4NworIzogYnVpbHRpbi90YWcuYzo0MDQKIG1zZ2lkICJwcmludCA8bj4gbGluZXMgb2YgZWFjaCB0YWcgbWVzc2FnZSIKIG1zZ3N0ciAidmlzYSA8bj4gcmFkZXIgZnLDpW4gdmFyamUgdGFnZ21lZGRlbGFuZGUiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg5CisjOiBidWlsdGluL3RhZy5jOjQwNgogbXNnaWQgImRlbGV0ZSB0YWdzIgogbXNnc3RyICJ0YSBib3J0IHRhZ2dhciIKIAotIzogYnVpbHRpbi90YWcuYzozOTAKKyM6IGJ1aWx0aW4vdGFnLmM6NDA3CiBtc2dpZCAidmVyaWZ5IHRhZ3MiCiBtc2dzdHIgInZlcmlmaWVyYSB0YWdnYXIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzkyCisjOiBidWlsdGluL3RhZy5jOjQwOQogbXNnaWQgIlRhZyBjcmVhdGlvbiBvcHRpb25zIgogbXNnc3RyICJBbHRlcm5hdGl2IGbDtnIgYXR0IHNrYXBhIHRhZ2dhciIKIAotIzogYnVpbHRpbi90YWcuYzozOTQKKyM6IGJ1aWx0aW4vdGFnLmM6NDExCiBtc2dpZCAiYW5ub3RhdGVkIHRhZywgbmVlZHMgYSBtZXNzYWdlIgogbXNnc3RyICJhbm5vdGVyYWQgdGFnZywgYmVow7Z2ZXIgbWVkZGVsYW5kZSIKIAotIzogYnVpbHRpbi90YWcuYzozOTYKKyM6IGJ1aWx0aW4vdGFnLmM6NDEzCiBtc2dpZCAidGFnIG1lc3NhZ2UiCiBtc2dzdHIgInRhZ2dtZWRkZWxhbmRlIgogCi0jOiBidWlsdGluL3RhZy5jOjM5OAorIzogYnVpbHRpbi90YWcuYzo0MTUKIG1zZ2lkICJmb3JjZSBlZGl0IG9mIHRhZyBtZXNzYWdlIgogbXNnc3RyICJ0dmluZ2EgcmVkaWdlcmluZyBhdiBpbmNoZWNrbmluZ3NtZWRkZWxhbmRlIgogCi0jOiBidWlsdGluL3RhZy5jOjM5OQorIzogYnVpbHRpbi90YWcuYzo0MTYKIG1zZ2lkICJhbm5vdGF0ZWQgYW5kIEdQRy1zaWduZWQgdGFnIgogbXNnc3RyICJhbm5vdGVyYWQgb2NoIEdQRy1zaWduZXJhZCB0YWdnIgogCi0jOiBidWlsdGluL3RhZy5jOjQwMworIzogYnVpbHRpbi90YWcuYzo0MTkKIG1zZ2lkICJ1c2UgYW5vdGhlciBrZXkgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICJhbnbDpG5kIGFubmFuIG55Y2tlbCBmw7ZyIGF0dCBzaWduZXJhIHRhZ2dlbiIKIAotIzogYnVpbHRpbi90YWcuYzo0MDQKKyM6IGJ1aWx0aW4vdGFnLmM6NDIwCiBtc2dpZCAicmVwbGFjZSB0aGUgdGFnIGlmIGV4aXN0cyIKIG1zZ3N0ciAiZXJzw6R0dCB0YWdnZW4gb20gZGVuIGZpbm5zIgogCi0jOiBidWlsdGluL3RhZy5jOjQwNSBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjkKKyM6IGJ1aWx0aW4vdGFnLmM6NDIxIGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OQogbXNnaWQgImNyZWF0ZSBhIHJlZmxvZyIKIG1zZ3N0ciAic2thcGEgZW4gcmVmbG9nIgogCi0jOiBidWlsdGluL3RhZy5jOjQwNworIzogYnVpbHRpbi90YWcuYzo0MjMKIG1zZ2lkICJUYWcgbGlzdGluZyBvcHRpb25zIgogbXNnc3RyICJBbHRlcm5hdGl2IGbDtnIgbGlzdG5pbmcgYXYgdGFnZ2FyIgogCi0jOiBidWlsdGluL3RhZy5jOjQwOAorIzogYnVpbHRpbi90YWcuYzo0MjQKIG1zZ2lkICJzaG93IHRhZyBsaXN0IGluIGNvbHVtbnMiCiBtc2dzdHIgImxpc3RhIHRhZ2dhciBpIHNwYWx0ZXIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA5IGJ1aWx0aW4vdGFnLmM6NDExCisjOiBidWlsdGluL3RhZy5jOjQyNSBidWlsdGluL3RhZy5jOjQyNwogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgdGFnZ2FyIHNvbSBpbm5laMOlbGxlciBpbmNoZWNrbmluZ2VuIgogCi0jOiBidWlsdGluL3RhZy5jOjQxMCBidWlsdGluL3RhZy5jOjQxMgorIzogYnVpbHRpbi90YWcuYzo0MjYgYnVpbHRpbi90YWcuYzo0MjgKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgInZpc2EgZW5kYXN0IHRhZ2dhciBzb20gaW50ZSBpbm5laMOlbGxlciBpbmNoZWNrbmluZ2VuIgogCi0jOiBidWlsdGluL3RhZy5jOjQxMworIzogYnVpbHRpbi90YWcuYzo0MjkKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbWVyZ2VkIgogbXNnc3RyICJ2aXNhIGVuZGFzdCB0YWdnYXIgc29tIHNsYWdpdHMgc2FtbWFuIgogCi0jOiBidWlsdGluL3RhZy5jOjQxNAorIzogYnVpbHRpbi90YWcuYzo0MzAKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAidmlzYSBlbmRhc3QgdGFnZ2FyIHNvbSBlaiBzbGFnaXRzIHNhbW1hbiIKIAotIzogYnVpbHRpbi90YWcuYzo0MTkKKyM6IGJ1aWx0aW4vdGFnLmM6NDM0CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIG9mIHRoZSBvYmplY3QiCiBtc2dzdHIgInZpc2EgZW5kYXN0IHRhZ2dhciBmw7ZyIG9iamVrdGV0IgogCi0jOiBidWlsdGluL3RhZy5jOjQ2MworIzogYnVpbHRpbi90YWcuYzo0ODIKIG1zZ2lkICItLWNvbHVtbiBhbmQgLW4gYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4gb2NoIC1uIMOkciBpbmtvbXBhdGlibGEiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDg1CisjOiBidWlsdGluL3RhZy5jOjUwNAogbXNnaWQgIi1uIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICJGbGFnZ2FuIC1uIMOkciBlbmRhc3QgdGlsbMOldGVuIGkgbGlzdGzDpGdlIgogCi0jOiBidWlsdGluL3RhZy5jOjQ4NworIzogYnVpbHRpbi90YWcuYzo1MDYKIG1zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICJGbGFnZ2FuIC0tY29udGFpbnMgw6RyIGVuZGFzdCB0aWxsw6V0ZW4gaSBsaXN0bMOkZ2UiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDg5CisjOiBidWlsdGluL3RhZy5jOjUwOAogbXNnaWQgIi0tbm8tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgIkZsYWdnYW4gLS1uby1jb250YWlucyDDpHIgZW5kYXN0IHRpbGzDpXRlbiBpIGxpc3Rsw6RnZSIKIAotIzogYnVpbHRpbi90YWcuYzo0OTEKKyM6IGJ1aWx0aW4vdGFnLmM6NTEwCiBtc2dpZCAiLS1wb2ludHMtYXQgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgIkZsYWdnYW4gLS1wb2ludHMtYXQgw6RyIGVuZGFzdCB0aWxsw6V0ZW4gaSBsaXN0bMOkZ2UiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDkzCisjOiBidWlsdGluL3RhZy5jOjUxMgogbXNnaWQgIi0tbWVyZ2VkIGFuZCAtLW5vLW1lcmdlZCBvcHRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICJGbGFnZ29ybmEgLS1tZXJnZWQgb2NoIC0tbm8tbWVyZ2VkIMOkciBlbmRhc3QgdGlsbMOldG5hIGkgbGlzdGzDpGdlIgogCi0jOiBidWlsdGluL3RhZy5jOjUwNAorIzogYnVpbHRpbi90YWcuYzo1MjMKIG1zZ2lkICJvbmx5IG9uZSAtRiBvciAtbSBvcHRpb24gaXMgYWxsb3dlZC4iCiBtc2dzdHIgImVuZGFzdCBlbiBhdiBmbGFnZ29ybmEgLUYgZWxsZXIgLW0gdGlsbMOldHMuIgogCi0jOiBidWlsdGluL3RhZy5jOjUyMworIzogYnVpbHRpbi90YWcuYzo1NDIKIG1zZ2lkICJ0b28gbWFueSBwYXJhbXMiCiBtc2dzdHIgImbDtnIgbcOlbmdhIHBhcmFtZXRyYXIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTI5CisjOiBidWlsdGluL3RhZy5jOjU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRhZyBuYW1lLiIKIG1zZ3N0ciAiXCIlc1wiIMOkciBpbnRlIGV0dCBnaWx0aWd0IHRhZ2duYW1uLiIKIAotIzogYnVpbHRpbi90YWcuYzo1MzQKKyM6IGJ1aWx0aW4vdGFnLmM6NTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJ0YWdnZW4gXCIlc1wiIGZpbm5zIHJlZGFuIgogCi0jOiBidWlsdGluL3RhZy5jOjU2NQorIzogYnVpbHRpbi90YWcuYzo1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICJVcHBkYXRlcmFkIHRhZ2cgXCIlc1wiICh2YXIgJXMpXG4iCiAKLSM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo1MDAKKyM6IGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo1MDEKIG1zZ2lkICJVbnBhY2tpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiUGFja2FyIHVwcCBvYmpla3QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBza2FwYSBrYXRhbG9nZW4gJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZmlsZSAlcyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHNrYXBhIGZpbGVuICVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBmaWxlICVzIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgYm9ydCBmaWxlbiAlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTMgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE1IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgYm9ydCBrYXRhbG9nZW4gJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTM4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJUZXN0aW5nIG10aW1lIGluICclcycgIgogbXNnc3RyICJUZXN0YXIgbXRpbWUgaSBcIiVzXCIgIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNTQKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBhZGRpbmcgYSBuZXcgZmlsZSIKIG1zZ3N0ciAic3RhdC1pbmZvcm1hdGlvbmVuIGbDtnIgZW4ga2F0YWxvZyDDpG5kcmFzIGludGUgbsOkciBueWEgZmlsZXIgbMOkZ2dzIHRpbGwiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTY1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE2NwogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGFkZGluZyBhIG5ldyBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKICJzdGF0LWluZm9ybWF0aW9uZW4gZsO2ciBlbiBrYXRhbG9nIMOkbmRyYXMgaW50ZSBuw6RyIG55YSBrYXRhbG9nZXIgbMOkZ2dzIHRpbGwiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTc4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE4MAogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciB1cGRhdGluZyBhIGZpbGUiCiBtc2dzdHIgInN0YXQtaW5mb3JtYXRpb25lbiBmw7ZyIGVuIGthdGFsb2cgw6RuZHJhcyBuw6RyIGZpbGVyIHVwcGRhdGVyYXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTg5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE5MQogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciBhZGRpbmcgYSBmaWxlIGluc2lkZSBzdWJkaXJlY3RvcnkiCiBtc2dzdHIgIiIKICJzdGF0LWluZm9ybWF0aW9uZW4gZsO2ciBlbiBrYXRhbG9nIMOkbmRyYXMgbsOkciBmaWxlciBsw6RnZ3MgdGlsbCBpIGVuICIKICJ1bmRlcmthdGFsb2ciCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjAwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIwMgogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGRlbGV0aW5nIGEgZmlsZSIKIG1zZ3N0ciAic3RhdC1pbmZvcm1hdGlvbmVuIGbDtnIgZW4ga2F0YWxvZyDDpG5kcmFzIGludGUgbsOkciBlbiBmaWwgdGFzIGJvcnQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjEzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxNQogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGRlbGV0aW5nIGEgZGlyZWN0b3J5IgogbXNnc3RyICJzdGF0LWluZm9ybWF0aW9uZW4gZsO2ciBlbiBrYXRhbG9nIMOkbmRyYXMgaW50ZSBuw6RyIGVuIGthdGFsb2cgdGFzIGJvcnQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjIwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIyMgogbXNnaWQgIiBPSyIKIG1zZ3N0ciAiIE9LIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU4OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1OTEKIG1zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCiBtc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggWzxmbGFnZ29yPl0gWy0tXSBbPGZpbD4uLi5dIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzQKIG1zZ2lkICJjb250aW51ZSByZWZyZXNoIGV2ZW4gd2hlbiBpbmRleCBuZWVkcyB1cGRhdGUiCiBtc2dzdHIgImZvcnRzw6R0dCB1cHBkYXRlcmEgw6R2ZW4gbsOkciBpbmRleCBpbnRlIMOkciDDoGpvdXIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NwogbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgogbXNnc3RyICJyZWZyZXNoOiBpZ25vcmVyYSB1bmRlcm1vZHVsZXIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MAogbXNnaWQgImRvIG5vdCBpZ25vcmUgbmV3IGZpbGVzIgogbXNnc3RyICJpZ25vcmVyYSBpbnRlIG55YSBmaWxlciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgyCiBtc2dpZCAibGV0IGZpbGVzIHJlcGxhY2UgZGlyZWN0b3JpZXMgYW5kIHZpY2UtdmVyc2EiCiBtc2dzdHIgImzDpXQgZmlsZXIgZXJzw6R0dGEga2F0YWxvZ2VyIG9jaCBvbXbDpG50IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODQKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJsw6RnZyBtw6Rya2UgdGlsbCBmaWxlciBzb20gc2FrbmFzIGkgYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODYKIG1zZ2lkICJyZWZyZXNoIGV2ZW4gaWYgaW5kZXggY29udGFpbnMgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAidXBwZGF0ZXJhIMOkdmVuIG9tIGluZGV4ZXQgaW5uZWjDpWxsZXIgZWogc2FtbWFuc2xhZ25hIHBvc3RlciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg5CiBtc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgogbXNnc3RyICJ1cHBkYXRlcmEgc3RhdHVzaW5mb3JtYXRpb24iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MwogbXNnaWQgImxpa2UgLS1yZWZyZXNoLCBidXQgaWdub3JlIGFzc3VtZS11bmNoYW5nZWQgc2V0dGluZyIKIG1zZ3N0ciAic29tIC0tcmVmcmVzaCwgbWVuIGlnbm9yZXJhIGFzc3VtZS11bmNoYW5nZWQtaW5zdMOkbGxuaW5nIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKIG1zZ2lkICI8bW9kZT4sPG9iamVjdD4sPHBhdGg+IgogbXNnc3RyICI8bMOkZ2U+LDxvYmpla3Q+LDxzw7ZrdsOkZz4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5OAogbXNnaWQgImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAibMOkZ2cgdGlsbCBhbmdpdmVuIHBvc3QgaSBpbmRleGV0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA4CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcIm5vdCBjaGFuZ2luZ1wiIgogbXNnc3RyICJtYXJrZXJhIGZpbGVyIHNvbSBcIsOkbmRyYXMgaW50ZVwiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDExCiBtc2dpZCAiY2xlYXIgYXNzdW1lZC11bmNoYW5nZWQgYml0IgogbXNnc3RyICJyZW5zYSBcImFzc3VtZS11bmNoYW5nZWRcIi1iaXRlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTQKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwiaW5kZXgtb25seVwiIgogbXNnc3RyICJtYXJrZXJhIGZpbGVyIHNvbSBcImVuZGFzdCBpbmRleFwiIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxNwogbXNnaWQgImNsZWFyIHNraXAtd29ya3RyZWUgYml0IgogbXNnc3RyICJ0w7ZtIFwic2tpcC13b3JrdHJlZVwiLWJpdGVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyMAorbXNnaWQgImRvIG5vdCB0b3VjaCBpbmRleC1vbmx5IGVudHJpZXMiCittc2dzdHIgInLDtnIgaW50ZSBcImVuZGFzdCBpbmRleFwiLXBvc3RlciIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDIyCiBtc2dpZCAiYWRkIHRvIGluZGV4IG9ubHk7IGRvIG5vdCBhZGQgY29udGVudCB0byBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgImzDpGdnIGVuZGFzdCB0aWxsIGluZGV4ZXQ7IGzDpGdnIGludGUgdGlsbCBpbm5laMOlbGxldCBpIG9iamVrdGRhdGFiYXNlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjQKIG1zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgogbXNnc3RyICJ0YSBib3J0IG5hbW5naXZuYSBzw7ZrdsOkZ2FyIMOkdmVuIG9tIGRlIGZpbm5zIGkgYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyNgogbXNnaWQgIndpdGggLS1zdGRpbjogaW5wdXQgbGluZXMgYXJlIHRlcm1pbmF0ZWQgYnkgbnVsbCBieXRlcyIKIG1zZ3N0ciAibWVkIC0tc3RkaW46IGluZGF0YXJhZGVyIHRlcm1pbmVyYXMgbWVkIG51bGwtYnl0ZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDEyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjgKIG1zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgdG8gYmUgdXBkYXRlZCBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJsw6RzIGxpc3RhIMO2dmVyIHPDtmt2w6RnYXIgYXR0IHVwcGRhdGVyYSBmcsOlbiBzdGFuZGFyZCBpbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDE2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzIKIG1zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAibMOkZ2cgcG9zdGVyIGZyw6VuIHN0YW5kYXJkIGluIHRpbGwgaW5kZXhldCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDIwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzYKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgIsOldGVyZnlsbCBldGFwcCAyIG9jaCAzIGZyw6VuIGFuZ2l2bmEgc8O2a3bDpGdhciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDAKIG1zZ2lkICJvbmx5IHVwZGF0ZSBlbnRyaWVzIHRoYXQgZGlmZmVyIGZyb20gSEVBRCIKIG1zZ3N0ciAidXBwZGF0ZXJhIGVuZGFzdCBwb3N0ZXIgc29tIHNraWxqZXIgc2lnIGZyw6VuIEhFQUQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQ0CiBtc2dpZCAiaWdub3JlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAiaWdub3JlcmEgZmlsZXIgc29tIHNha25hcyBpIGFyYmV0c2thdGFsb2dlbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDMxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDcKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgInJhcHBvcnRlcmEgw6V0Z8OkcmRlciBww6Ugc3RhbmRhcmQgdXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQ5CiBtc2dpZCAiKGZvciBwb3JjZWxhaW5zKSBmb3JnZXQgc2F2ZWQgdW5yZXNvbHZlZCBjb25mbGljdHMiCiBtc2dzdHIgIihmw7ZyIHBvcnNsaW4pIGdsw7ZtIHNwYXJhZGUgb2zDtnN0YSBrb25mbGlrdGVyIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1MwogbXNnaWQgIndyaXRlIGluZGV4IGluIHRoaXMgZm9ybWF0IgogbXNnc3RyICJza3JpdiBpbmRleCBpIGRldHRhIGZvcm1hdCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDM5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTUKIG1zZ2lkICJlbmFibGUgb3IgZGlzYWJsZSBzcGxpdCBpbmRleCIKIG1zZ3N0ciAiYWt0aXZlcmEgZWxsZXIgaW5ha3RpdmVyYSBkZWxhdCBpbmRleCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTcKIG1zZ2lkICJlbmFibGUvZGlzYWJsZSB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgImFrdGl2ZXJhL2luYWt0aXZlcmEgb3Nww6VyYWQgY2FjaGUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDU5CiBtc2dpZCAidGVzdCBpZiB0aGUgZmlsZXN5c3RlbSBzdXBwb3J0cyB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgInRlc3RhIG9tIGZpbHN5c3RlbWV0IHN0w7ZkZXIgb3Nww6VyYWQgY2FjaGUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDYxCiBtc2dpZCAiZW5hYmxlIHVudHJhY2tlZCBjYWNoZSB3aXRob3V0IHRlc3RpbmcgdGhlIGZpbGVzeXN0ZW0iCiBtc2dzdHIgImFrdGl2ZXJhIG9zcMOlcmFkIGNhY2hlIHV0YW4gYXR0IHRlc3RhIGZpbHN5c3RlbWV0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2MwogbXNnaWQgIndyaXRlIG91dCB0aGUgaW5kZXggZXZlbiBpZiBpcyBub3QgZmxhZ2dlZCBhcyBjaGFuZ2VkIgogbXNnc3RyICJza3JpdiB1dCBpbmRleGV0IMOkdmVuIG9tIGRldCBpbnRlIGFuZ2l2aXRzIHNvbSDDpG5kcmF0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2NQogbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIGZpbGUgc3lzdGVtIG1vbml0b3IiCiBtc2dzdHIgImFrdGl2ZXJhIGVsbGVyIGluYWt0aXZlcmEgZmlsc3lzdGVtc8O2dmVydmFrbmluZyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDUxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNjcKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIGZzbW9uaXRvciB2YWxpZCIKIG1zZ3N0ciAibWFya2VyYSBmaWxlciBzb20gXCJmc21vbml0b3IgdmFsaWRcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDU0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNzAKIG1zZ2lkICJjbGVhciBmc21vbml0b3IgdmFsaWQgYml0IgogbXNnc3RyICJ0w7ZtIFwiZnNtb25pdG9yIHZhbGlkXCItYml0IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE3MwogbXNnaWQgIiIKICJjb3JlLnNwbGl0SW5kZXggaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgogImVuYWJsZSBzcGxpdCBpbmRleCIKQEAgLTE3ODU0LDcgKzIxMDYwLDcgQEAKICJjb3JlLnNwbGl0SW5kZXggw6RyIHNhdHQgdGlsbCBmYWxzZTsgdGEgYm9ydCBlbGxlciDDpG5kcmEgZGV0IG9tIGR1IHZlcmtsaWdlbiAiCiAidmlsbCBha3RpdmVyYSBkZWxhdCBpbmRleCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTYyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExODIKIG1zZ2lkICIiCiAiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgogImRpc2FibGUgc3BsaXQgaW5kZXgiCkBAIC0xNzg2Miw3ICsyMTA2OCw3IEBACiAiY29yZS5zcGxpdEluZGV4IMOkciBzYXR0IHRpbGwgdHJ1ZTsgdGEgYm9ydCBlbGxlciDDpG5kcmEgZGV0IG9tIGR1IHZlcmtsaWdlbiAiCiAidmlsbCBpbmFrdGl2ZXJhIGRlbGF0IGluZGV4IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE5NAogbXNnaWQgIiIKICJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGRpc2FibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKQEAgLTE3ODcwLDExICsyMTA3NiwxMSBAQAogImNvcmUudW50cmFja2VkQ2FjaGUgw6RyIHNhdHQgdGlsbCB0cnVlOyB0YSBib3J0IGVsbGVyIMOkbmRyYSBkZXQgb20gZHUgIgogInZlcmtsaWdlbiB2aWxsIGluYWt0aXZlcmEgZGVuIG9zcMOlcmFkZSBjYWNoZW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE3NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTk4CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIgogbXNnc3RyICJPc3DDpXJhZCBjYWNoZSDDpHIgaW5ha3RpdmVyYWQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE4NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjA2CiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgpAQCAtMTc4ODIsMjYgKzIxMDg4LDI2IEBACiAiY29yZS51bnRyYWNrZWRDYWNoZSDDpHIgc2F0dCB0aWxsIGZhbHNlOyB0YSBib3J0IGVsbGVyIMOkbmRyYSBkZXQgb20gZHUgIgogInZlcmtsaWdlbiB2aWxsIGFrdGl2ZXJhIGRlbiBvc3DDpXJhZGUgY2FjaGVuIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExODkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZW5hYmxlZCBmb3IgJyVzJyIKIG1zZ3N0ciAiT3Nww6VyYWQgY2FjaGUgw6RyIGFrdGl2ZXJhZCBmw7ZyIFwiJXNcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTk3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMTgKIG1zZ2lkICJjb3JlLmZzbW9uaXRvciBpcyB1bnNldDsgc2V0IGl0IGlmIHlvdSByZWFsbHkgd2FudCB0byBlbmFibGUgZnNtb25pdG9yIgogbXNnc3RyICJjb3JlLmZzbW9uaXRvciBpbnRlIHNhdHQ7IHPDpHR0IG9tIGR1IHZlcmtsaWdlbiB2aWxsIGFrdGl2ZXJhIGZzbW9uaXRvciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjAxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMjIKIG1zZ2lkICJmc21vbml0b3IgZW5hYmxlZCIKIG1zZ3N0ciAiZnNtb25pdG9yIGFrdGl2ZXJhdCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjA0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMjUKIG1zZ2lkICIiCiAiY29yZS5mc21vbml0b3IgaXMgc2V0OyByZW1vdmUgaXQgaWYgeW91IHJlYWxseSB3YW50IHRvIGRpc2FibGUgZnNtb25pdG9yIgogbXNnc3RyICIiCiAiY29yZS5mc21vbml0b3Igw6RyIHNhdHQ7IHRhIGJvcnQgb20gZHUgdmVya2xpZ2VuIHZpbGwgaW5ha3RpdmVyYSBmc21vbml0b3IiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIwOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjI5CiBtc2dpZCAiZnNtb25pdG9yIGRpc2FibGVkIgogbXNnc3RyICJmc21vbml0b3IgaW5ha3RpdmVyYXQiCiAKQEAgLTE3OTQ1LDYgKzIxMTUxLDEwIEBACiBtc2dpZCAiZ2l0IHVwbG9hZC1wYWNrIFs8b3B0aW9ucz5dIDxkaXI+IgogbXNnc3RyICJnaXQgdXBsb2FkLXBhY2sgWzxmbGFnZ29yPl0gPGthdGFsb2c+IgogCisjOiBidWlsdGluL3VwbG9hZC1wYWNrLmM6MjMgdC9oZWxwZXIvdGVzdC1zZXJ2ZS12Mi5jOjE3Cittc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgorbXNnc3RyICJhdnNsdXRhIG9tZWRlbGJhcnQgZWZ0ZXIgZsO2cnN0YSBhbnJvcC9zdmFyLXV0dsOkeGxpbmciCisKICM6IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyNQogbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgaW5pdGlhbCByZWYgYWR2ZXJ0aXNlbWVudCIKIG1zZ3N0ciAiYXZzbHV0YSBvbWVkZWxiYXJ0IGVmdGVyIGlubGVkYW5kZSBrdW5nw7ZyZWxzZSBhdiByZWZlcmVuc2VyIgpAQCAtMTc5NTcsMTUgKzIxMTY3LDE1IEBACiBtc2dpZCAiaW50ZXJydXB0IHRyYW5zZmVyIGFmdGVyIDxuPiBzZWNvbmRzIG9mIGluYWN0aXZpdHkiCiBtc2dzdHIgImF2YnJ5dCDDtnZlcmbDtnJpbmdlbiBlZnRlciA8bj4gc2VrdW5kZXJzIGluYWt0aXZpdGV0IgogCi0jOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzoyMAorIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6MTkKIG1zZ2lkICJnaXQgdmVyaWZ5LWNvbW1pdCBbLXYgfCAtLXZlcmJvc2VdIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgdmVyaWZ5LWNvbW1pdCBbLXYgfCAtLXZlcmJvc2VdIDxpbmNoZWNrbmluZz4uLi4iCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjc2CisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo2OAogbXNnaWQgInByaW50IGNvbW1pdCBjb250ZW50cyIKIG1zZ3N0ciAidmlzYSBpbm5laMOlbGwgZsO2ciBpbmNoZWNrbmluZyIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzcgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzgKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjY5IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM3CiBtc2dpZCAicHJpbnQgcmF3IGdwZyBzdGF0dXMgb3V0cHV0IgogbXNnc3RyICJ2aXNhIHLDpWEgZ3BnLXN0YXR1c2RhdGEiCiAKQEAgLTE3OTgxLDExICsyMTE5MSwxMSBAQAogbXNnaWQgInNob3cgc3RhdGlzdGljcyBvbmx5IgogbXNnc3RyICJ2aXNhIGVuZGFzdCBzdGF0aXN0aWsiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjE5CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzoxOAogbXNnaWQgImdpdCB2ZXJpZnktdGFnIFstdiB8IC0tdmVyYm9zZV0gWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnPi4uLiIKIG1zZ3N0ciAiZ2l0IHZlcmlmeS10YWcgWy12IHwgLS12ZXJib3NlXSBbLS1mb3JtYXQ9PGZvcm1hdF0gPHRhZ2c+Li4uIgogCi0jOiBidWlsdGluL3ZlcmlmeS10YWcuYzozNworIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzYKIG1zZ2lkICJwcmludCB0YWcgY29udGVudHMiCiBtc2dzdHIgInZpc2EgaW5uZWjDpWxsIGbDtnIgdGFnIgogCkBAIC0xODAxNyw3ICsyMTIyNyw3IEBACiBtc2dpZCAiZ2l0IHdvcmt0cmVlIHVubG9jayA8cGF0aD4iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSB1bmxvY2sgPHPDtmt2w6RnPiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjYwIGJ1aWx0aW4vd29ya3RyZWUuYzo4NzEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2MCBidWlsdGluL3dvcmt0cmVlLmM6ODk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgJyVzJyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIHRhIGJvcnQgXCIlc1wiIgpAQCAtMTgwOTQsMTIxICsyMTMwNCwxMjEgQEAKICJhbnbDpG5kIFwiYWRkIC1mXCIgZsO2ciBhdHQgw7Z2ZXJzdHlyYSwgZWxsZXIgXCJwcnVuZVwiIGVsbGVyIFwicmVtb3ZlXCIgZsO2ciAiCiAiYXR0IHJlbnNhIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzA5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IG9mICclcyciCiBtc2dzdHIgImt1bmRlIGludGUgc2thcGEga2F0YWxvZ2VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQyOCBidWlsdGluL3dvcmt0cmVlLmM6NDM0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDM5IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChuZXcgYnJhbmNoICclcycpIgogbXNnc3RyICJGw7ZyYmVyZWRlciBhcmJldHNrYXRhbG9nIChueSBncmVuIFwiJXNcIikiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChyZXNldHRpbmcgYnJhbmNoICclcyc7IHdhcyBhdCAlcykiCiBtc2dzdHIgIkbDtnJiZXJlZGVyIGFyYmV0c2thdGFsb2cgKMOldGVyc3TDpGxsZXIgZ3JlbiBcIiVzXCI7IHZhciBww6UgJXMpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDM5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlByZXBhcmluZyB3b3JrdHJlZSAoY2hlY2tpbmcgb3V0ICclcycpIgogbXNnc3RyICJGw7ZyYmVyZWRlciBhcmJldHNrYXRhbG9nIChjaGVja2FyIHV0IFwiJXNcIikiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChkZXRhY2hlZCBIRUFEICVzKSIKIG1zZ3N0ciAiRsO2cmJlcmVkZXIgYXJiZXRza2F0YWxvZyAoZnLDpW5rb3BwbGF0IEhFQUQgJXMpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDg2CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDk3CiBtc2dpZCAiY2hlY2tvdXQgPGJyYW5jaD4gZXZlbiBpZiBhbHJlYWR5IGNoZWNrZWQgb3V0IGluIG90aGVyIHdvcmt0cmVlIgogbXNnc3RyICIiCiAiY2hlY2thIHV0IDxncmVuPiDDpHZlbiBvbSBkZW4gcmVkYW4gw6RyIHV0Y2hlY2thZCBpIGVuIGFubmFuIGFyYmV0c2thdGFsb2ciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDAKIG1zZ2lkICJjcmVhdGUgYSBuZXcgYnJhbmNoIgogbXNnc3RyICJza2FwYSBlbiBueSBncmVuIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTAyCiBtc2dpZCAiY3JlYXRlIG9yIHJlc2V0IGEgYnJhbmNoIgogbXNnc3RyICJza2FwYSBlbGxlciDDpXRlcnN0w6RsbCBlbiBncmVuIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA0CiBtc2dpZCAicG9wdWxhdGUgdGhlIG5ldyB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImJlZm9sa2EgZGVuIG55YSBhcmJldHNrYXRhbG9nZW4iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDUKIG1zZ2lkICJrZWVwIHRoZSBuZXcgd29ya2luZyB0cmVlIGxvY2tlZCIKIG1zZ3N0ciAibMOldCBhcmJldHNrYXRhbG9nZW4gZsO2cmJsaSBsw6VzdCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5NworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwOAogbXNnaWQgInNldCB1cCB0cmFja2luZyBtb2RlIChzZWUgZ2l0LWJyYW5jaCgxKSkiCiBtc2dzdHIgInN0w6RsbCBpbiBzcMOlcm5pbmdzbMOkZ2UgKHNlIGdpdC1icmFuY2goMSkpIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTAwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTExCiBtc2dpZCAidHJ5IHRvIG1hdGNoIHRoZSBuZXcgYnJhbmNoIG5hbWUgd2l0aCBhIHJlbW90ZS10cmFja2luZyBicmFuY2giCiBtc2dzdHIgImbDtnJzw7ZrIG1hdGNoYSBuYW1uIHDDpSBueSBncmVuIG1vdCBlbiBmasOkcnJzcMOlcmFuZGUgZ3JlbiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUxOQogbXNnaWQgIi1iLCAtQiwgYW5kIC0tZGV0YWNoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1iLCAtQiBvY2ggLS1kZXRhY2ggw6RyIMO2bXNlc2lkaWd0IHV0ZXNsdXRhbmRlIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTY5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTgwCiBtc2dpZCAiLS1bbm8tXXRyYWNrIGNhbiBvbmx5IGJlIHVzZWQgaWYgYSBuZXcgYnJhbmNoIGlzIGNyZWF0ZWQiCiBtc2dzdHIgIi0tW25vLV10cmFjayBrYW4gZW5kYXN0IGFudsOkbmRhcyBuw6RyIG55IGdyYW4gc2thcGFzIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjY5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NjgwCiBtc2dpZCAicmVhc29uIGZvciBsb2NraW5nIgogbXNnc3RyICJvcnNhayB0aWxsIGzDpXMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODEgYnVpbHRpbi93b3JrdHJlZS5jOjcxNCBidWlsdGluL3dvcmt0cmVlLmM6NzcyCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODk5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NjkyIGJ1aWx0aW4vd29ya3RyZWUuYzo3MjUgYnVpbHRpbi93b3JrdHJlZS5jOjc5OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjkyNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiXCIlc1wiIMOkciBpbnRlIGVuIGFyYmV0c2thdGFsb2ciCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODMgYnVpbHRpbi93b3JrdHJlZS5jOjcxNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5NCBidWlsdGluL3dvcmt0cmVlLmM6NzI3CiBtc2dpZCAiVGhlIG1haW4gd29ya2luZyB0cmVlIGNhbm5vdCBiZSBsb2NrZWQgb3IgdW5sb2NrZWQiCiBtc2dzdHIgIkh1dnVkYXJiZXRza2F0YWxvZ2VuIGthbiBpbnRlIGzDpXNhcyBlbGxlciBsw6VzYXMgdXBwIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Njg4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6Njk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQsIHJlYXNvbjogJXMiCiBtc2dzdHIgIlwiJXNcIiDDpHIgcmVkYW4gbMOlc3QsIG9yc2FrOiAlcyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkIgogbXNnc3RyICJcIiVzXCIgw6RyIHJlZGFuIGzDpXN0IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzE4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGxvY2tlZCIKIG1zZ3N0ciAiXCIlc1wiIMOkciBpbnRlIGzDpXN0IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzQzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NzcwCiBtc2dpZCAid29ya2luZyB0cmVlcyBjb250YWluaW5nIHN1Ym1vZHVsZXMgY2Fubm90IGJlIG1vdmVkIG9yIHJlbW92ZWQiCiBtc2dzdHIgImFyYmV0c2thdGFsb2dlciBtZWQgdW5kZXJtb2R1bGVyIGthbiBpbnRlIGZseXR0YXMgZWxsZXIgdGFzIGJvcnQiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3NTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3NzgKIG1zZ2lkICJmb3JjZSBtb3ZlIGV2ZW4gaWYgd29ya3RyZWUgaXMgZGlydHkgb3IgbG9ja2VkIgogbXNnc3RyICJ0dmluZ2EgZmx5dHRuaW5nIMOkdmVuIG9tIGFyYmV0c2thdGFsb2dlbiDDpHIgc211dHNpZyBlbGxlciBsw6VzdCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3NCBidWlsdGluL3dvcmt0cmVlLmM6OTAxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODAxIGJ1aWx0aW4vd29ya3RyZWUuYzo5MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhIG1haW4gd29ya2luZyB0cmVlIgogbXNnc3RyICJcIiVzXCIgw6RyIGludGUgZW4gaHV2dWRhcmJldHNrYXRhbG9nIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Nzc5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBmaWd1cmUgb3V0IGRlc3RpbmF0aW9uIG5hbWUgZnJvbSAnJXMnIgogbXNnc3RyICJrdW5kZSBpbnRlIGxpc3RhIHV0IG3DpWxuYW1uIGZyw6VuIFwiJXNcIiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc4NQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjgxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YXJnZXQgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAibcOlbGV0IFwiJXNcIiBmaW5ucyByZWRhbiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc5MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjgyMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY2Fubm90IG1vdmUgYSBsb2NrZWQgd29ya2luZyB0cmVlLCBsb2NrIHJlYXNvbjogJXNcbiIKQEAgLTE4MjE3LDcgKzIxNDI3LDcgQEAKICJrYW4gaW50ZSBmbHl0dGEgZW4gbMOlc3QgYXJiZXRza2F0YWxvZywgb3JzYWsgdGlsbCBsw6VzOiAlc1xuIgogImFudsOkbmQgXCJtb3ZlIC1mIC1mXCIgZsO2ciBhdHQgw7Z2ZXJzdHlyYSwgZWxsZXIgbMOlcyB1cHAgZsO2cnN0IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Nzk1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODIyCiBtc2dpZCAiIgogImNhbm5vdCBtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZTtcbiIKICJ1c2UgJ21vdmUgLWYgLWYnIHRvIG92ZXJyaWRlIG9yIHVubG9jayBmaXJzdCIKQEAgLTE4MjI1LDM2ICsyMTQzNSwzOCBAQAogImthbiBpbnRlIGZseXR0YSBlbiBsw6VzdCBhcmJldHNrYXRhbG9nO1xuIgogImFudsOkbmQgXCJtb3ZlIC1mIC1mXCIgZsO2ciBhdHQgw7Z2ZXJzdHlyYSwgZWxsZXIgbMOlcyB1cHAgZsO2cnN0IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Nzk4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInZhbGlkYXRpb24gZmFpbGVkLCBjYW5ub3QgbW92ZSB3b3JraW5nIHRyZWU6ICVzIgogbXNnc3RyICJrb250cm9sbCBtaXNzbHlja2FkZXMsIGthbiBpbnRlIGZseXR0YSBhcmJldHNrYXRhbG9nOiAlcyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwMworIzogYnVpbHRpbi93b3JrdHJlZS5jOjgzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbW92ZSAnJXMnIHRvICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBmbHl0dGEgXCIlc1wiIHRpbGwgXCIlc1wiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODUxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBydW4gJ2dpdCBzdGF0dXMnIG9uICclcyciCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBrw7ZyYSBcImdpdCBzdGF0dXNcIiBww6UgXCIlc1wiIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODU1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODgyCiAjLCBjLWZvcm1hdAotbXNnaWQgIiclcycgaXMgZGlydHksIHVzZSAtLWZvcmNlIHRvIGRlbGV0ZSBpdCIKLW1zZ3N0ciAiXCIlc1wiIMOkciBzbXV0c2lndCwgYW52w6RuZCAtLWZvcmNlIGbDtnIgYXR0IHRhIGJvcnQgZGV0IgorbXNnaWQgIiclcycgY29udGFpbnMgbW9kaWZpZWQgb3IgdW50cmFja2VkIGZpbGVzLCB1c2UgLS1mb3JjZSB0byBkZWxldGUgaXQiCittc2dzdHIgIiIKKyJcIiVzXCIgaW5uZWjDpWxsZXIgw6RuZHJhZGUgZWxsZXIgb3Nww6VyYWRlIGZpbGVyLCBhbnbDpG5kIC0tZm9yY2UgZsO2ciBhdHQgdGEgIgorImJvcnQgZGV0IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODYwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBydW4gJ2dpdCBzdGF0dXMnIG9uICclcycsIGNvZGUgJWQiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyBrw7ZyYSBcImdpdCBzdGF0dXNcIiBww6UgXCIlc1wiLCBrb2QgJWQiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4ODMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MTAKIG1zZ2lkICJmb3JjZSByZW1vdmFsIGV2ZW4gaWYgd29ya3RyZWUgaXMgZGlydHkgb3IgbG9ja2VkIgogbXNnc3RyICJ0dmluZ2EgdGEgYm9ydCDDpHZlbiBvbSBhcmJldHNrYXRhbG9nZW4gw6RyIHNtdXRzaWcgZWxsZXIgbMOlc3QiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MDYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNhbm5vdCByZW1vdmUgYSBsb2NrZWQgd29ya2luZyB0cmVlLCBsb2NrIHJlYXNvbjogJXNcbiIKQEAgLTE4MjYzLDcgKzIxNDc1LDcgQEAKICJrYW4gaW50ZSB0YSBib3J0IGVuIGzDpXN0IGFyYmV0c2thdGFsb2csIG9yc2FrIHRpbGwgbMOlc2V0OiAlc1xuIgogImFudsOkbmQgXCJyZW1vdmUgLWYgLWZcIiBmw7ZyIGF0dCDDtnZlcnN0eXJhLCBlbGxlciBsw6VzIHVwcCBmw7Zyc3QiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MDgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MzUKIG1zZ2lkICIiCiAiY2Fubm90IHJlbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWU7XG4iCiAidXNlICdyZW1vdmUgLWYgLWYnIHRvIG92ZXJyaWRlIG9yIHVubG9jayBmaXJzdCIKQEAgLTE4MjcxLDI4ICsyMTQ4Myw0MyBAQAogImthbiBpbnRlIHRhIGJvcnQgZW4gbMOlc3QgYXJiZXRza2F0YWxvZztcbiIKICJhbnbDpG5kIFwicmVtb3ZlIC1mIC1mXCIgZsO2ciBhdHQgw7Z2ZXJzdHlyYSwgZWxsZXIgbMOlcyB1cHAgZsO2cnN0IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6OTExCisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInZhbGlkYXRpb24gZmFpbGVkLCBjYW5ub3QgcmVtb3ZlIHdvcmtpbmcgdHJlZTogJXMiCiBtc2dzdHIgImtvbnRyb2xsIG1pc3NseWNrYWRlcywga2FuIGludGUgdGEgYm9ydCBhcmJldHNrYXRhbG9nOiAlcyIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MTQKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjE1CiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTxwcmVmaXg+L10iCiBtc2dzdHIgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08cHJlZml4Pi9dIgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyNworIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjgKIG1zZ2lkICI8cHJlZml4Pi8iCiBtc2dzdHIgIjxwcmVmaXg+LyIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjgKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI5CiBtc2dpZCAid3JpdGUgdHJlZSBvYmplY3QgZm9yIGEgc3ViZGlyZWN0b3J5IDxwcmVmaXg+IgogbXNnc3RyICJ2aXNhIHRyw6Rkb2JqZWt0IGbDtnIgdW5kZXJrYXRhbG9nZW4gPHByZWZpeD4iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjMwCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMQogbXNnaWQgIm9ubHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmciCiBtc2dzdHIgImVuZGFzdCBhbnbDpG5kYmFydCB2aWQgZmVsc8O2a25pbmciCiAKLSM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyMgorIzogZmFzdC1pbXBvcnQuYzozMTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4cGVjdGVkICdtYXJrJyBjb21tYW5kLCBnb3QgJXMiCittc2dzdHIgIkbDtnJ2w6RudGFkZSBcIm1hcmtcIi1rb21tYW5kbywgZmljayAlcyIKKworIzogZmFzdC1pbXBvcnQuYzozMTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkV4cGVjdGVkICd0bycgY29tbWFuZCwgZ290ICVzIgorbXNnc3RyICJGw7ZydsOkbnRhZGUgXCJ0b1wiLWtvbW1hbmRvLCBmaWNrICVzIgorCisjOiBmYXN0LWltcG9ydC5jOjMyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmVhdHVyZSAnJXMnIGZvcmJpZGRlbiBpbiBpbnB1dCB3aXRob3V0IC0tYWxsb3ctdW5zYWZlLWZlYXR1cmVzIgorbXNnc3RyICJmdW5rdGlvbmVuIFwiJXNcIiBmw7ZyYmp1ZGVuIGkgaW5kYXRhIHV0YW4gLS1hbGxvdy11bnNhZmUtZmVhdHVyZXMiCisKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIHBlcm1pc3Npb25zIG9uIHlvdXIgc29ja2V0IGRpcmVjdG9yeSBhcmUgdG9vIGxvb3NlOyBvdGhlclxuIgpAQCAtMTgzMDUsNyArMjE1MzIsNyBAQAogIlxuIgogIlx0Y2htb2QgMDcwMCAlcyIKIAotIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcxCisjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyNzIKIG1zZ2lkICJwcmludCBkZWJ1Z2dpbmcgbWVzc2FnZXMgdG8gc3RkZXJyIgogbXNnc3RyICJza3JpdiBmZWxzw7ZrbmluZ3NtZWRkZWxhbmRlbiBww6Ugc3RhbmRhcmQgZmVsIgogCkBAIC0xODMxOCw2ICsyMTU0NSwxNCBAQAogbXNnaWQgInRvbyBtYW55IGNvbW1pdHMgbWFya2VkIHJlYWNoYWJsZSIKIG1zZ3N0ciAiZsO2ciBtw6VuZ2EgaW5jaGVja25pbmdhciBtYXJrZXJhZGUgbsOlYmFyYSIKIAorIzogdC9oZWxwZXIvdGVzdC1zZXJ2ZS12Mi5jOjcKK21zZ2lkICJ0ZXN0LXRvb2wgc2VydmUtdjIgWzxvcHRpb25zPl0iCittc2dzdHIgInRlc3QtdG9vbCBzZXJ2ZS12MiBbPGZsYWdnb3I+XSIKKworIzogdC9oZWxwZXIvdGVzdC1zZXJ2ZS12Mi5jOjE5Cittc2dpZCAiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBhZHZlcnRpc2luZyBjYXBhYmlsaXRpZXMiCittc2dzdHIgImF2c2x1dGEgb21lZGVsYmFydCBlZnRlciBrdW5nw7ZyZWxzZSBhdiBrYXBhYmlsaXRldGVyIgorCiAjOiBnaXQuYzoyNwogbXNnaWQgIiIKICJnaXQgWy0tdmVyc2lvbl0gWy0taGVscF0gWy1DIDxwYXRoPl0gWy1jIDxuYW1lPj08dmFsdWU+XVxuIgpAQCAtMTgzMzksMTAwICsyMTU3NCwxNTIgQEAKIG1zZ2lkICIiCiAiJ2dpdCBoZWxwIC1hJyBhbmQgJ2dpdCBoZWxwIC1nJyBsaXN0IGF2YWlsYWJsZSBzdWJjb21tYW5kcyBhbmQgc29tZVxuIgogImNvbmNlcHQgZ3VpZGVzLiBTZWUgJ2dpdCBoZWxwIDxjb21tYW5kPicgb3IgJ2dpdCBoZWxwIDxjb25jZXB0PidcbiIKLSJ0byByZWFkIGFib3V0IGEgc3BlY2lmaWMgc3ViY29tbWFuZCBvciBjb25jZXB0LiIKKyJ0byByZWFkIGFib3V0IGEgc3BlY2lmaWMgc3ViY29tbWFuZCBvciBjb25jZXB0LlxuIgorIlNlZSAnZ2l0IGhlbHAgZ2l0JyBmb3IgYW4gb3ZlcnZpZXcgb2YgdGhlIHN5c3RlbS4iCiBtc2dzdHIgIiIKICJcImdpdCBoZWxwIC1hXCIgb2NoIFwiZ2l0IGhlbHAgLWdcIiB2aXNhciB0aWxsZ8OkbmdsaWdhIHVuZGVya29tbWFuZG9uIG9jaFxuIgogIm7DpWdyYSBrb25jZXB0dsOkZ2xlZG5pbmdhci4gU2UgXCJnaXQgaGVscCA8a29tbWFuZG8+XCIgZWxsZXIgXCJnaXQgaGVscFxuIgotIjxrb25jZXB0PlwiIGbDtnIgYXR0IGzDpHNhIG1lciBvbSBzcGVjaWZpa2EgdW5kZXJrb21tYW5kb24gb2NoIGtvbmNlcHQuIgorIjxrb25jZXB0PlwiIGbDtnIgYXR0IGzDpHNhIG1lciBvbSBzcGVjaWZpa2EgdW5kZXJrb21tYW5kb24gb2NoIGtvbmNlcHQuXG4iCisiU2VlIFwiZ2l0IGhlbHAgZ2l0XCIgZsO2ciBlbiDDtnZlcnNpa3Qgw7Z2ZXIgc3lzdGVtZXQuIgogCi0jOiBnaXQuYzoxNzMKKyM6IGdpdC5jOjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBkaXJlY3RvcnkgZ2l2ZW4gZm9yIC0tZ2l0LWRpclxuIgogbXNnc3RyICJpbmdlbiBrYXRhbG9nIGFuZ2F2cyBmw7ZyIC0tZ2l0LWRpclxuIgogCi0jOiBnaXQuYzoxODcKKyM6IGdpdC5jOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBuYW1lc3BhY2UgZ2l2ZW4gZm9yIC0tbmFtZXNwYWNlXG4iCiBtc2dzdHIgImluZ2VuIG5hbW5yeW1kIGFuZ2F2cyBmw7ZyIC0tbmFtZXNwYWNlXG4iCiAKLSM6IGdpdC5jOjIwMQorIzogZ2l0LmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLS13b3JrLXRyZWVcbiIKIG1zZ3N0ciAiaW5nZW4ga2F0YWxvZyBhbmdhdnMgZsO2ciAtLXdvcmstdHJlZVxuIgogCi0jOiBnaXQuYzoyMTUKKyM6IGdpdC5jOjIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBwcmVmaXggZ2l2ZW4gZm9yIC0tc3VwZXItcHJlZml4XG4iCiBtc2dzdHIgImluZ2V0IHByZWZpeCBhbmdhdnMgZsO2ciAtLXN1cGVyLXByZWZpeFxuIgogCi0jOiBnaXQuYzoyMzcKKyM6IGdpdC5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICItYyBleHBlY3RzIGEgY29uZmlndXJhdGlvbiBzdHJpbmdcbiIKIG1zZ3N0ciAiLWMgZsO2cnbDpG50YXIgZW4ga29uZmlndXJhdGlvbnNzdHLDpG5nXG4iCiAKLSM6IGdpdC5jOjI3NQorIzogZ2l0LmM6Mjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLUNcbiIKIG1zZ3N0ciAiaW5nZW4ga2F0YWxvZyBhbmdhdnMgZsO2ciAtQ1xuIgogCi0jOiBnaXQuYzozMDAKKyM6IGdpdC5jOjMxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9wdGlvbjogJXNcbiIKIG1zZ3N0ciAib2vDpG5kIGZsYWdnYTogJXNcbiIKIAotIzogZ2l0LmM6NzE5CisjOiBnaXQuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAid2hpbGUgZXhwYW5kaW5nIGFsaWFzICclcyc6ICclcyciCittc2dzdHIgInZpZCBleHBhbmRlcmluZyBhdiBhbGlhc2V0IFwiJXNcIjogXCIlc1wiIgorCisjOiBnaXQuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImFsaWFzICclcycgY2hhbmdlcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4iCisiWW91IGNhbiB1c2UgJyFnaXQnIGluIHRoZSBhbGlhcyB0byBkbyB0aGlzIgorbXNnc3RyICIiCisiYWxpYXNldCBcIiVzXCIgw6RuZHJhciBtaWxqw7Z2YXJpYWJsZXIuXG4iCisiRHUga2FuIGFudsOkbmRhIFwiIWdpdFwiIGkgYWxpYXNldCBmw7ZyIGF0dCBnw7ZyYSBkZXQiCisKKyM6IGdpdC5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJlbXB0eSBhbGlhcyBmb3IgJXMiCittc2dzdHIgInRvbXQgYWxpYXMgZsO2ciAlcyIKKworIzogZ2l0LmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY3Vyc2l2ZSBhbGlhczogJXMiCittc2dzdHIgInJla3Vyc2l2dCBhbGlhczogJXMiCisKKyM6IGdpdC5jOjQ1OQorbXNnaWQgIndyaXRlIGZhaWx1cmUgb24gc3RhbmRhcmQgb3V0cHV0IgorbXNnc3RyICJza3JpdmZlbCBww6Ugc3RhbmRhcmQgdXQiCisKKyM6IGdpdC5jOjQ2MQorbXNnaWQgInVua25vd24gd3JpdGUgZmFpbHVyZSBvbiBzdGFuZGFyZCBvdXRwdXQiCittc2dzdHIgIm9rw6RudCBza3JpdmZlbCBww6Ugc3RhbmRhcmQgdXQiCisKKyM6IGdpdC5jOjQ2MworbXNnaWQgImNsb3NlIGZhaWxlZCBvbiBzdGFuZGFyZCBvdXRwdXQiCittc2dzdHIgInN0w6RuZyBtaXNzbHlja2FkZXMgcMOlIHN0YW5kYXJkIHV0IgorCisjOiBnaXQuYzo3OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWxpYXMgbG9vcCBkZXRlY3RlZDogZXhwYW5zaW9uIG9mICclcycgZG9lcyBub3QgdGVybWluYXRlOiVzIgogbXNnc3RyICJhbGlhcy1zbGluZ2EgZGV0ZWt0ZXJhZGVzOiBleHBhbnNpb25lbiBhdiBcIiVzXCIgYXZzbHV0YXMgYWxkcmlnOiVzIgogCi0jOiBnaXQuYzo4MDIKKyM6IGdpdC5jOjg0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgaGFuZGxlICVzIGFzIGEgYnVpbHRpbiIKK21zZ3N0ciAia2FuIGludGUgaGFudGVyYSAlcyBzb20gaW5ieWdnZCIKKworIzogZ2l0LmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorImFudsOkbmRuaW5nOiAlc1xuIgorIlxuIgorCisjOiBnaXQuYzo4NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwYW5zaW9uIG9mIGFsaWFzICclcycgZmFpbGVkOyAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kXG4iCiBtc2dzdHIgIiIKICJleHBhbmRlcmluZyBhdiBhbGlhcyBcIiVzXCIgbWlzc2x5Y2thZGVzOyBcIiVzXCIgw6RyIGludGUgZXR0IGdpdC1rb21tYW5kb1xuIgogCi0jOiBnaXQuYzo4MTQKKyM6IGdpdC5jOjg4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcnVuIGNvbW1hbmQgJyVzJzogJXNcbiIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIGvDtnJhIGtvbW1hbmRvdCBcIiVzXCI6ICVzXG4iCiAKLSM6IGh0dHAuYzozNzQKKyM6IGh0dHAuYzozNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAibmVnYXRpdmUgdmFsdWUgZm9yIGh0dHAucG9zdGJ1ZmZlcjsgZGVmYXVsdGluZyB0byAlZCIKIG1zZ3N0ciAiaHR0cC5wb3N0YnVmZmVyIGhhciBuZWdhdGl2dCB2w6RyZGU7IGFudsOkbmRlciBmw7ZydmFsZXQgJWQiCiAKLSM6IGh0dHAuYzozOTUKKyM6IGh0dHAuYzozOTkKIG1zZ2lkICJEZWxlZ2F0aW9uIGNvbnRyb2wgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjIyLjAiCiBtc2dzdHIgIkRlbGVnZXJhZCBzdHlybmluZyBzdMO2ZHMgaW50ZSBhdiBjVVJMIDwgNy4yMi4wIgogCi0jOiBodHRwLmM6NDA0CisjOiBodHRwLmM6NDA4CiBtc2dpZCAiUHVibGljIGtleSBwaW5uaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgogbXNnc3RyICJGYXN0bsOlbG5pbmcgYXYgw7ZwcGVuIG55Y2tlbCBzdMO2ZHMgaW50ZSBhdiBjVVJMIDwgNy40NC4wIgogCi0jOiBodHRwLmM6ODM3CisjOiBodHRwLmM6ODc2CiBtc2dpZCAiQ1VSTFNTTE9QVF9OT19SRVZPS0Ugbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjQ0LjAiCiBtc2dzdHIgIkNVUkxTU0xPUFRfTk9fUkVWT0tFIHN0w7ZkcyBpbnRlIGF2IGNVUkwgPCA3LjQ0LjAiCiAKLSM6IGh0dHAuYzo5MTAKKyM6IGh0dHAuYzo5NDkKIG1zZ2lkICJQcm90b2NvbCByZXN0cmljdGlvbnMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjE5LjQiCiBtc2dzdHIgIlBydG9rb2xsYmVncsOkbnNuaW5nYXIgc3TDtmRzIGludGUgYXYgY1VSTCA8IDcuMTkuNCIKIAotIzogaHR0cC5jOjEwNDYKKyM6IGh0dHAuYzoxMDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuc3VwcG9ydGVkIFNTTCBiYWNrZW5kICclcycuIFN1cHBvcnRlZCBTU0wgYmFja2VuZHM6IgogbXNnc3RyICJTU0wtYmFrw6RuZGFuIFwiJXNcIiBzdMO2ZHMgaW50ZS4gRGVzc2EgU1NMLWJha8OkbmRvciBzdMO2ZHM6IgogCi0jOiBodHRwLmM6MTA1MworIzogaHR0cC5jOjEwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldCBTU0wgYmFja2VuZCB0byAnJXMnOiBjVVJMIHdhcyBidWlsdCB3aXRob3V0IFNTTCBiYWNrZW5kcyIKIG1zZ3N0ciAiS2FuIGludGUgc8OkdHRhIFNTTC1iYWvDpG5kYSB0aWxsIFwiJXNcIjogY1VSTCBieWdnZGVzIHV0YW4gU1NMLWJha8OkbmRvciIKIAotIzogaHR0cC5jOjEwNTcKKyM6IGh0dHAuYzoxMDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXQgU1NMIGJhY2tlbmQgdG8gJyVzJzogYWxyZWFkeSBzZXQiCiBtc2dzdHIgIkt1bmRlIGludGUgc8OkdHRhIFNTTC1iYWvDpG5kYSB0aWxsIFwiJXNcIjogcmVkYW4gdmFsdCIKIAotIzogaHR0cC5jOjE5MjEKKyM6IGh0dHAuYzoxOTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJ1bmFibGUgdG8gdXBkYXRlIHVybCBiYXNlIGZyb20gcmVkaXJlY3Rpb246XG4iCkBAIC0xODQ0MywzOSArMjE3MzAsMTc2IEBACiAiICAgICAgICBiYWQgb206ICVzXG4iCiAiICBvbWRpcmlnZXJpbmc6ICVzIgogCi0jOiByZW1vdGUtY3VybC5jOjQwMQorIzogcmVtb3RlLWN1cmwuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBxdW90aW5nIGluIHB1c2gtb3B0aW9uIHZhbHVlOiAnJXMnIgorbXNnc3RyICJmZWxha3RpZyBjaXRlcmluZyBww6UgdsOkcmRlIGbDtnIgcHVzaC1vcHRpb246IFwiJXNcIiIKKworIzogcmVtb3RlLWN1cmwuYzoyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNpbmZvL3JlZnMgbm90IHZhbGlkOiBpcyB0aGlzIGEgZ2l0IHJlcG9zaXRvcnk/IgorbXNnc3RyICIlc2luZm8vcmVmcyBpbnRlIGdpbHRpZzogw6RyIGRldHRhIGV0dCBnaXQtYXJraXY/IgorCisjOiByZW1vdGUtY3VybC5jOjM2NAorbXNnaWQgImludmFsaWQgc2VydmVyIHJlc3BvbnNlOyBleHBlY3RlZCBzZXJ2aWNlLCBnb3QgZmx1c2ggcGFja2V0IgorbXNnc3RyICJvZ2lsdGlndCBzdmFyIGZyw6VuIHNlcnZlcm47IGbDtnJ2w6RudGFkZSB0asOkbnN0LCBmaWNrIGZsdXNoLXBha2V0IgorCisjOiByZW1vdGUtY3VybC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNlcnZlciByZXNwb25zZTsgZ290ICclcyciCittc2dzdHIgIm9naWx0aWd0IHN2YXIgZnLDpW4gc2VydmVybjsgZmljayBcIiVzXCIiCisKKyM6IHJlbW90ZS1jdXJsLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBub3QgZm91bmQiCittc2dzdHIgImFya2l2ZXQgXCIlc1wiIGhpdHRhZGVzIGludGUiCisKKyM6IHJlbW90ZS1jdXJsLmM6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIkF1dGhlbnRpY2F0aW9uIGZhaWxlZCBmb3IgJyVzJyIKK21zZ3N0ciAiQXV0ZW50aXNlcmluZyBtaXNzbHlja2FkZXMgXCIlc1wiIgorCisjOiByZW1vdGUtY3VybC5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYWNjZXNzICclcyc6ICVzIgorbXNnc3RyICJrYW4gaW50ZSBrb21tYSDDpXQgXCIlc1wiOiAlcyIKKworIzogcmVtb3RlLWN1cmwuYzo0NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVkaXJlY3RpbmcgdG8gJXMiCiBtc2dzdHIgIm9tZGlyaWdlcmFyIHRpbGwgJXMiCiAKLSM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oOjYwCisjOiByZW1vdGUtY3VybC5jOjU5MworbXNnaWQgInNob3VsZG4ndCBoYXZlIEVPRiB3aGVuIG5vdCBnZW50bGUgb24gRU9GIgorbXNnc3RyICJib3JkZSBpbnRlIGhhIEVPRiBuw6RyIGludGUgZsO2cnNpa3RpZyBww6UgRU9GIgorCisjOiByZW1vdGUtY3VybC5jOjY3MworbXNnaWQgInVuYWJsZSB0byByZXdpbmQgcnBjIHBvc3QgZGF0YSAtIHRyeSBpbmNyZWFzaW5nIGh0dHAucG9zdEJ1ZmZlciIKK21zZ3N0ciAia3VuZGUgaW50ZSBzcG9sYSB0aWxsYmFrYSBycGMtcG9zdGRhdGEgLSBmw7Zyc8O2ayDDtmthIGh0dHAucG9zdEJ1ZmZlciIKKworIzogcmVtb3RlLWN1cmwuYzo3MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUlBDIGZhaWxlZDsgJXMiCittc2dzdHIgIlJQQyBtaXNzbHlja2FkZXM7ICVzIgorCisjOiByZW1vdGUtY3VybC5jOjc3MworbXNnaWQgImNhbm5vdCBoYW5kbGUgcHVzaGVzIHRoaXMgYmlnIgorbXNnc3RyICJrYW4gaW50ZSBoYW50ZXJhIHPDpSBzdG9yYSBzw6RuZG5pbmdhciIKKworIzogcmVtb3RlLWN1cmwuYzo4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRlZmxhdGUgcmVxdWVzdDsgemxpYiBkZWZsYXRlIGVycm9yICVkIgorbXNnc3RyICJrYW4gaW50ZSBwYWNrYSB1cHAgYW5yb3A7IHpsaWItZGVmbGF0ZS1mZWwgJWQiCisKKyM6IHJlbW90ZS1jdXJsLmM6ODkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZWZsYXRlIHJlcXVlc3Q7IHpsaWIgZW5kIGVycm9yICVkIgorbXNnc3RyICJrYW4gaW50ZSBwYWNrYSB1cHAgYW5yb3A7IHpsaWItc2x1dGZlbCAlZCIKKworIzogcmVtb3RlLWN1cmwuYzoxMDIzCittc2dpZCAiZHVtYiBodHRwIHRyYW5zcG9ydCBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJkdW0gaHR0cC10cmFuc3BvcnQgc3TDtmRlciBpbnRlIGdydW5kYSBhcmtpdiIKKworIzogcmVtb3RlLWN1cmwuYzoxMDM3Cittc2dpZCAiZmV0Y2ggZmFpbGVkLiIKK21zZ3N0ciAibW90dGFnbmluZyBtaXNzbHlja2FkZXMuIgorCisjOiByZW1vdGUtY3VybC5jOjEwODUKK21zZ2lkICJjYW5ub3QgZmV0Y2ggYnkgc2hhMSBvdmVyIHNtYXJ0IGh0dHAiCittc2dzdHIgImthbiBpbnRlIGjDpG10YSBtZWQgc2hhMSDDtnZlciBzbWFydCBodHRwIgorCisjOiByZW1vdGUtY3VybC5jOjExMjkgcmVtb3RlLWN1cmwuYzoxMTM1CisjLCBjLWZvcm1hdAorbXNnaWQgInByb3RvY29sIGVycm9yOiBleHBlY3RlZCBzaGEvcmVmLCBnb3QgJyVzJyIKK21zZ3N0ciAicHJvdG9rb2xsZmVsOiBmw7ZydsOkbnRhZGUgc2hhL3JlZiwgZmljayBcIiVzXCIiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTE0NyByZW1vdGUtY3VybC5jOjEyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaHR0cCB0cmFuc3BvcnQgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAiaHR0cC10cmFuc3BvcnRlbiBzdMO2ZGVyIGludGUgJXMiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTE4MworbXNnaWQgImdpdC1odHRwLXB1c2ggZmFpbGVkIgorbXNnc3RyICJnaXQtaHR0cC1wdXNoIG1pc3NseWNrYWRlcyIKKworIzogcmVtb3RlLWN1cmwuYzoxMzY3Cittc2dpZCAicmVtb3RlLWN1cmw6IHVzYWdlOiBnaXQgcmVtb3RlLWN1cmwgPHJlbW90ZT4gWzx1cmw+XSIKK21zZ3N0ciAicmVtb3RlLWN1cmw6IGFudsOkbmRuaW5nOiBnaXQgcmVtb3RlLWN1cmwgPGZqw6Rycj4gWzx1cmw+XSIKKworIzogcmVtb3RlLWN1cmwuYzoxMzk5Cittc2dpZCAicmVtb3RlLWN1cmw6IGVycm9yIHJlYWRpbmcgY29tbWFuZCBzdHJlYW0gZnJvbSBnaXQiCittc2dzdHIgInJlbW90ZS1jdXJsOiBmZWwgdmlkIGzDpHNuaW5nIGF2IGtvbW1hbmRvc3Ryw7ZtIGZyw6VuIGdpdCIKKworIzogcmVtb3RlLWN1cmwuYzoxNDA2Cittc2dpZCAicmVtb3RlLWN1cmw6IGZldGNoIGF0dGVtcHRlZCB3aXRob3V0IGEgbG9jYWwgcmVwbyIKK21zZ3N0ciAicmVtb3RlLWN1cmw6IGbDtnJzw7ZrdGUgdGEgZW1vdCB1dGFuIGxva2FsdCBhcmtpdiIKKworIzogcmVtb3RlLWN1cmwuYzoxNDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW90ZS1jdXJsOiB1bmtub3duIGNvbW1hbmQgJyVzJyBmcm9tIGdpdCIKK21zZ3N0ciAicmVtb3RlLWN1cmw6IG9rw6RudCBrb21tYW5kbyBcIiVzXCIgZnLDpW4gZ2l0IgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaDo4NQogbXNnaWQgImFyZ3MiCiBtc2dzdHIgImFyZ3VtZW50IgogCi0jOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaDo2MQorIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmg6ODYKIG1zZ2lkICJvYmplY3QgZmlsdGVyaW5nIgogbXNnc3RyICJvYmpla3RmaWx0cmVyaW5nIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MTU0CisjOiBwYXJzZS1vcHRpb25zLmg6MTgzCiBtc2dpZCAiZXhwaXJ5LWRhdGUiCiBtc2dzdHIgImdpbHRpZy10aWxsIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MTY5CisjOiBwYXJzZS1vcHRpb25zLmg6MTk3CiBtc2dpZCAibm8tb3AgKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpIgogbXNnc3RyICJpbmdlbiBmdW5rdGlvbiAoYmFrw6V0a29tcGF0aWJpbGl0ZXQpIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjYxCisjOiBwYXJzZS1vcHRpb25zLmg6MzA5CiBtc2dpZCAiYmUgbW9yZSB2ZXJib3NlIgogbXNnc3RyICJ2YXIgbWVyIHByYXRzYW0iCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNjMKKyM6IHBhcnNlLW9wdGlvbnMuaDozMTEKIG1zZ2lkICJiZSBtb3JlIHF1aWV0IgogbXNnc3RyICJ2YXIgbWVyIHR5c3QiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNjkKKyM6IHBhcnNlLW9wdGlvbnMuaDozMTcKIG1zZ2lkICJ1c2UgPG4+IGRpZ2l0cyB0byBkaXNwbGF5IFNIQS0xcyIKIG1zZ3N0ciAiYW52w6RuZCA8bj4gc2lmZnJvciBmw7ZyIGF0dCB2aXNhIFNIQS0xOm9yIgogCisjOiBwYXJzZS1vcHRpb25zLmg6MzM2Cittc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKK21zZ3N0ciAiaHVyIGJsYW5rc3RlZyBvY2ggI2tvbW1lbnRhcmVyIHNrYWxsIHRhcyBib3J0IGZyw6VuIG1lZGRlbGFuZGUiCisKKyM6IHBhcnNlLW9wdGlvbnMuaDozMzcKK21zZ2lkICJyZWFkIHBhdGhzcGVjIGZyb20gZmlsZSIKK21zZ3N0ciAibMOkcyBzw7ZrdsOkZ3NhbmdpdmVsc2UgZnLDpW4gZmlsIgorCisjOiBwYXJzZS1vcHRpb25zLmg6MzM4Cittc2dpZCAiIgorIndpdGggLS1wYXRoc3BlYy1mcm9tLWZpbGUsIHBhdGhzcGVjIGVsZW1lbnRzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgorbXNnc3RyICJtZWQgLS1wYXRoc3BlYy1mcm9tLWZpbGUsIHPDtmt2w6Rnc2FuZ2l2ZWxzZXIgYXZkZWxhcyBtZWQgTlVMLXRlY2tlbiIKKworIzogcmVmLWZpbHRlci5oOjEwMQorbXNnaWQgImtleSIKK21zZ3N0ciAibnlja2VsIgorCisjOiByZWYtZmlsdGVyLmg6MTAxCittc2dpZCAiZmllbGQgbmFtZSB0byBzb3J0IG9uIgorbXNnc3RyICJmw6RsdG5hbW4gYXR0IHNvcnRlcmEgcMOlIgorCisjOiByZXJlcmUuaDo0NAorbXNnaWQgInVwZGF0ZSB0aGUgaW5kZXggd2l0aCByZXVzZWQgY29uZmxpY3QgcmVzb2x1dGlvbiBpZiBwb3NzaWJsZSIKK21zZ3N0ciAidXBwZGF0ZXJhIGluZGV4ZXQgbWVkIMOldGVyYW52w6RuZCBrb25mbGlrdGzDtnNuaW5nIG9tIG3DtmpsaWd0IgorCisjOiB3dC1zdGF0dXMuaDo2NworbXNnaWQgIkhFQUQgZGV0YWNoZWQgYXQgIgorbXNnc3RyICJIRUFEIGZyw6Vua29wcGxhZCB2aWQgIgorCisjOiB3dC1zdGF0dXMuaDo2OAorbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCittc2dzdHIgIkhFQUQgZnLDpW5rb3BwbGFkIGZyw6VuICIKKwogIzogY29tbWFuZC1saXN0Lmg6NTAKIG1zZ2lkICJBZGQgZmlsZSBjb250ZW50cyB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIkzDpGdnIGZpbGlubmVow6VsbCB0aWxsIGluZGV4ZXQiCkBAIC0xODUxOSw3ICsyMTk0Myw3IEBACiAjOiBjb21tYW5kLWxpc3QuaDo2MAogbXNnaWQgIlByb3ZpZGUgY29udGVudCBvciB0eXBlIGFuZCBzaXplIGluZm9ybWF0aW9uIGZvciByZXBvc2l0b3J5IG9iamVjdHMiCiBtc2dzdHIgIiIKLSJWaXNhIGlubmVow6VsbGVyIGVsbGVyIHR5cC0gb2NoIHN0b3JsZWtzaW5mb3JtYXRpb24gZsO2ciBvYmpla3QgaSBhcmtpdmV0LiIKKyJWaXNhIGlubmVow6VsbGVyIGVsbGVyIHR5cC0gb2NoIHN0b3JsZWtzaW5mb3JtYXRpb24gZsO2ciBvYmpla3QgaSBhcmtpdmV0IgogCiAjOiBjb21tYW5kLWxpc3QuaDo2MQogbXNnaWQgIkRpc3BsYXkgZ2l0YXR0cmlidXRlcyBpbmZvcm1hdGlvbiIKQEAgLTE4NjM1LDcgKzIyMDU5LDcgQEAKIAogIzogY29tbWFuZC1saXN0Lmg6ODkKIG1zZ2lkICJDb21wYXJlcyB0aGUgY29udGVudCBhbmQgbW9kZSBvZiBibG9icyBmb3VuZCB2aWEgdHdvIHRyZWUgb2JqZWN0cyIKLW1zZ3N0ciAiVmlzYXIgaW5uZWjDpWxsIG9jaCBsw6RnZSBmw7ZyIGJsb2I6YXIgc29tIGhpdHRhdHMgdmlhIHR2w6UgdHLDpGRvYmpla3QiCittc2dzdHIgIlZpc2FyIGlubmVow6VsbCBvY2ggbMOkZ2UgZsO2ciBibG9iYmFyIHNvbSBoaXR0YXRzIHZpYSB0dsOlIHRyw6Rkb2JqZWt0IgogCiAjOiBjb21tYW5kLWxpc3QuaDo5MAogbXNnaWQgIlNob3cgY2hhbmdlcyB1c2luZyBjb21tb24gZGlmZiB0b29scyIKQEAgLTE4NjgzLDcgKzIyMTA3LDcgQEAKIAogIzogY29tbWFuZC1saXN0Lmg6MTAxCiBtc2dpZCAiRXh0cmFjdCBjb21taXQgSUQgZnJvbSBhbiBhcmNoaXZlIGNyZWF0ZWQgdXNpbmcgZ2l0LWFyY2hpdmUiCi1tc2dzdHIgIkjDpG10YSBpbmNoZWNrbmluZ3MtSUQgZnLDpW4gZXR0IGFya2l2IHNrYXBhdCBtZWQgZ2l0LWFyY2hpdmUiCittc2dzdHIgIkjDpG10YSBpbmNoZWNrbmluZ3MtaWQgZnLDpW4gZXR0IGFya2l2IHNrYXBhdCBtZWQgZ2l0LWFyY2hpdmUiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjEwMgogbXNnaWQgIlByaW50IGxpbmVzIG1hdGNoaW5nIGEgcGF0dGVybiIKQEAgLTE4Njk1LDcgKzIyMTE5LDcgQEAKIAogIzogY29tbWFuZC1saXN0Lmg6MTA0CiBtc2dpZCAiQ29tcHV0ZSBvYmplY3QgSUQgYW5kIG9wdGlvbmFsbHkgY3JlYXRlcyBhIGJsb2IgZnJvbSBhIGZpbGUiCi1tc2dzdHIgIkJlcsOka25hIG9iamVrdC1JRCBvY2ggbcO2amxpZ2VuIHNrYXBhIGVuIGJsb2IgZnLDpW4gZW4gZmlsIgorbXNnc3RyICJCZXLDpGtuYSBvYmpla3QtaWQgb2NoIG3DtmpsaWdlbiBza2FwYSBlbiBibG9iIGZyw6VuIGVuIGZpbCIKIAogIzogY29tbWFuZC1saXN0Lmg6MTA1CiBtc2dpZCAiRGlzcGxheSBoZWxwIGluZm9ybWF0aW9uIGFib3V0IEdpdCIKQEAgLTE4NzMwLDkgKzIyMTU0LDkgQEAKIG1zZ3N0ciAiT21lZGVsYmFydCBibMOkZGRyYSBpIGRpbiBhcmJldHNrYXRhbG9nIG1lZCBnaXR3ZWIiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjExMwotbXNnaWQgImFkZCBvciBwYXJzZSBzdHJ1Y3R1cmVkIGluZm9ybWF0aW9uIGluIGNvbW1pdCBtZXNzYWdlcyIKK21zZ2lkICJBZGQgb3IgcGFyc2Ugc3RydWN0dXJlZCBpbmZvcm1hdGlvbiBpbiBjb21taXQgbWVzc2FnZXMiCiBtc2dzdHIgIiIKLSJsw6RnZyB0aWxsIGVsbGVyIHRvbGthIHN0cnVrdHVyZXJhZCBpbmZvcm1hdGlvbiBpIGluY2hlY2tuaW5nc21lZGRlbGFuZGVuIgorIkzDpGdnIHRpbGwgZWxsZXIgdG9sa2Egc3RydWt0dXJlcmFkIGluZm9ybWF0aW9uIGkgaW5jaGVja25pbmdzbWVkZGVsYW5kZW4iCiAKICM6IGNvbW1hbmQtbGlzdC5oOjExNAogbXNnaWQgIlRoZSBHaXQgcmVwb3NpdG9yeSBicm93c2VyIgpAQCAtMTg5MDQsMjIxICsyMjMyOCwyMzMgQEAKIG1zZ3N0ciAiw4V0ZXJzdMOkbGwgYWt0dWVsbCBIRUFEIHRpbGwgYW5naXZldCB0aWxsc3TDpW5kIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNTYKK21zZ2lkICJSZXN0b3JlIHdvcmtpbmcgdHJlZSBmaWxlcyIKK21zZ3N0ciAiw4V0ZXJzdMOkbGwgZmlsZXIgaSBhcmJldHNrYXRhbG9nZW4iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE1NwogbXNnaWQgIlJldmVydCBzb21lIGV4aXN0aW5nIGNvbW1pdHMiCiBtc2dzdHIgIsOFdGVyc3TDpGxsIG7DpWdyYSBiZWZpbnRsaWdhIGluY2hlY2tuaW5nYXIiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE1NworIzogY29tbWFuZC1saXN0Lmg6MTU4CiBtc2dpZCAiTGlzdHMgY29tbWl0IG9iamVjdHMgaW4gcmV2ZXJzZSBjaHJvbm9sb2dpY2FsIG9yZGVyIgogbXNnc3RyICJWaXNhIGluY2hlY2tuaW5nc29iamVrdCBpIG9tdsOkbmQga3Jvbm9sb2dpc2sgb3JkbmluZyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTU4CisjOiBjb21tYW5kLWxpc3QuaDoxNTkKIG1zZ2lkICJQaWNrIG91dCBhbmQgbWFzc2FnZSBwYXJhbWV0ZXJzIgogbXNnc3RyICJQbG9ja2EgdXQgb2NoIG1hc3NlcmEgcGFyYW1ldHJhciIKIAotIzogY29tbWFuZC1saXN0Lmg6MTU5CisjOiBjb21tYW5kLWxpc3QuaDoxNjAKIG1zZ2lkICJSZW1vdmUgZmlsZXMgZnJvbSB0aGUgd29ya2luZyB0cmVlIGFuZCBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAiVGEgYm9ydCBmaWxlciBmcsOlbiBhcmJldHNrYXRhbG9nZW4gb2NoIGZyw6VuIGluZGV4ZXQiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2MAorIzogY29tbWFuZC1saXN0Lmg6MTYxCiBtc2dpZCAiU2VuZCBhIGNvbGxlY3Rpb24gb2YgcGF0Y2hlcyBhcyBlbWFpbHMiCiBtc2dzdHIgIlPDpG5kIGVuIHVwcHPDpHR0bmluZyBwYXRjaGFyIHNvbSBlLXBvc3QiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2MQorIzogY29tbWFuZC1saXN0Lmg6MTYyCiBtc2dpZCAiUHVzaCBvYmplY3RzIG92ZXIgR2l0IHByb3RvY29sIHRvIGFub3RoZXIgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiU8OkbmQgb2JqZWt0IMO2dmVyIEdpdC1wcm90b2tvbGxldCB0aWxsIGFubmF0IGFya2l2IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjIKKyM6IGNvbW1hbmQtbGlzdC5oOjE2MwogbXNnaWQgIlJlc3RyaWN0ZWQgbG9naW4gc2hlbGwgZm9yIEdpdC1vbmx5IFNTSCBhY2Nlc3MiCiBtc2dzdHIgIkJlZ3LDpG5zYXQgaW5sb2dnbmluZ3Nza2FsIGbDtnIgU1NILcOldGtvbXN0IHRpbGwgYmFyYSBHaXQiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2MworIzogY29tbWFuZC1saXN0Lmg6MTY0CiBtc2dpZCAiU3VtbWFyaXplICdnaXQgbG9nJyBvdXRwdXQiCiBtc2dzdHIgIlN1bW1lcmEgXCJnaXQgbG9nXCItdXRkYXRhIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjQKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NQogbXNnaWQgIlNob3cgdmFyaW91cyB0eXBlcyBvZiBvYmplY3RzIgogbXNnc3RyICJWaXNhIG9saWthIHNvcnRlcnMgb2JqZWt0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjUKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NgogbXNnaWQgIlNob3cgYnJhbmNoZXMgYW5kIHRoZWlyIGNvbW1pdHMiCiBtc2dzdHIgIlZpc2EgZ3JlbmFyIG9jaCBkZXJhcyBpbmNoZWNrbmluZ2FyIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjYKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NwogbXNnaWQgIlNob3cgcGFja2VkIGFyY2hpdmUgaW5kZXgiCiBtc2dzdHIgIlNrYXBhIHBhY2thdCBhcmtpdmluZGV4IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjcKKyM6IGNvbW1hbmQtbGlzdC5oOjE2OAogbXNnaWQgIkxpc3QgcmVmZXJlbmNlcyBpbiBhIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIlZpc2EgcmVmZXJlbnNlciBpIGV0dCBsb2thbHQgYXJraXYiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2OAorIzogY29tbWFuZC1saXN0Lmg6MTY5CiBtc2dpZCAiR2l0J3MgaTE4biBzZXR1cCBjb2RlIGZvciBzaGVsbCBzY3JpcHRzIgogbXNnc3RyICJHaXQ6cyBpMThuLXN0YXJ0a29kIGbDtnIgc2thbHNrcmlwdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTY5CisjOiBjb21tYW5kLWxpc3QuaDoxNzAKIG1zZ2lkICJDb21tb24gR2l0IHNoZWxsIHNjcmlwdCBzZXR1cCBjb2RlIgogbXNnc3RyICJHZW1lbnNhbSBza3JpcHRzdGFydGtvZCBmw7ZyIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTcwCisjOiBjb21tYW5kLWxpc3QuaDoxNzEKK21zZ2lkICJJbml0aWFsaXplIGFuZCBtb2RpZnkgdGhlIHNwYXJzZS1jaGVja291dCIKK21zZ3N0ciAiSW5pdGllcmEgb2NoIG1vZGlmaWVyYSBzcGFyc2UtY2hlY2tvdXQiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MgogbXNnaWQgIlN0YXNoIHRoZSBjaGFuZ2VzIGluIGEgZGlydHkgd29ya2luZyBkaXJlY3RvcnkgYXdheSIKIG1zZ3N0ciAiU3BhcmEgdW5kYW4gw6RuZHJpbmdhciBpIGVuIGxvcnRpZyBhcmJldHNrYXRhbG9nIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzEKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MwogbXNnaWQgIkFkZCBmaWxlIGNvbnRlbnRzIHRvIHRoZSBzdGFnaW5nIGFyZWEiCiBtc2dzdHIgIkzDpGdnIGZpbGlubmVow6VsbGV0IHRpbGwgaW5kZXhldCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTcyCisjOiBjb21tYW5kLWxpc3QuaDoxNzQKIG1zZ2lkICJTaG93IHRoZSB3b3JraW5nIHRyZWUgc3RhdHVzIgogbXNnc3RyICJWaXNhIHN0YXR1cyBmw7ZyIGFyYmV0c2thdGFsb2dlbiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTczCisjOiBjb21tYW5kLWxpc3QuaDoxNzUKIG1zZ2lkICJSZW1vdmUgdW5uZWNlc3Nhcnkgd2hpdGVzcGFjZSIKIG1zZ3N0ciAiVGEgYm9ydCBvbsO2ZGlnYSBibGFua3N0ZWciCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3NAorIzogY29tbWFuZC1saXN0Lmg6MTc2CiBtc2dpZCAiSW5pdGlhbGl6ZSwgdXBkYXRlIG9yIGluc3BlY3Qgc3VibW9kdWxlcyIKIG1zZ3N0ciAiSW5pdGllcmEsIHVwcGRhdGVyYSBlbGxlciBpbnNwZWt0ZXJhIHVuZGVybW9kdWxlciIKIAotIzogY29tbWFuZC1saXN0Lmg6MTc1CisjOiBjb21tYW5kLWxpc3QuaDoxNzcKIG1zZ2lkICJCaWRpcmVjdGlvbmFsIG9wZXJhdGlvbiBiZXR3ZWVuIGEgU3VidmVyc2lvbiByZXBvc2l0b3J5IGFuZCBHaXQiCiBtc2dzdHIgIkR1YmJlbHJpa3RhZCB2ZXJrYW4gbWVsbGFuIGV0dCBTdWJ2ZXJzaW9uLWFya2l2IG9jaCBHaXQiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3NgorIzogY29tbWFuZC1saXN0Lmg6MTc4Cittc2dpZCAiU3dpdGNoIGJyYW5jaGVzIgorbXNnc3RyICJCeXQgZ3JlbiIKKworIzogY29tbWFuZC1saXN0Lmg6MTc5CiBtc2dpZCAiUmVhZCwgbW9kaWZ5IGFuZCBkZWxldGUgc3ltYm9saWMgcmVmcyIKIG1zZ3N0ciAiTMOkcywgbW9kaWZpZXJhIGVsbGVyIHRhIGJvcnQgc3ltYm9saXNrIHJlZmVyZW5zIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzcKKyM6IGNvbW1hbmQtbGlzdC5oOjE4MAogbXNnaWQgIkNyZWF0ZSwgbGlzdCwgZGVsZXRlIG9yIHZlcmlmeSBhIHRhZyBvYmplY3Qgc2lnbmVkIHdpdGggR1BHIgogbXNnc3RyICJTa2FwYSwgdmlzYSwgdGEgYm9ydCBlbGxlciB2ZXJpZmllcmEgR1BHLXNpZ25lcmF0IHRhZ2dvYmpla3QiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3OAorIzogY29tbWFuZC1saXN0Lmg6MTgxCiBtc2dpZCAiQ3JlYXRlcyBhIHRlbXBvcmFyeSBmaWxlIHdpdGggYSBibG9iJ3MgY29udGVudHMiCiBtc2dzdHIgIlNrYXBhciB0ZW1wb3LDpHJhIGZpbGVyIG1lZCBpbm5laMOlbGxldCBmcsOlbiBlbiBibG9iIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzkKKyM6IGNvbW1hbmQtbGlzdC5oOjE4MgogbXNnaWQgIlVucGFjayBvYmplY3RzIGZyb20gYSBwYWNrZWQgYXJjaGl2ZSIKIG1zZ3N0ciAiUGFja2EgdXBwIG9iamVrdCBmcsOlbiBldHQgcGFrYXQgYXJraXYiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4MAorIzogY29tbWFuZC1saXN0Lmg6MTgzCiBtc2dpZCAiUmVnaXN0ZXIgZmlsZSBjb250ZW50cyBpbiB0aGUgd29ya2luZyB0cmVlIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAiUmVnaXN0cmVyYSBmaWxpbm5laMOlbGxldCBmcsOlbiBhcmJldHNrYXRhbG9nZW4gaSBpbmRleGV0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODEKKyM6IGNvbW1hbmQtbGlzdC5oOjE4NAogbXNnaWQgIlVwZGF0ZSB0aGUgb2JqZWN0IG5hbWUgc3RvcmVkIGluIGEgcmVmIHNhZmVseSIKIG1zZ3N0ciAiVXBwZGF0ZXJhIG9iamVrdG5hbW5ldCBpIGVuIHJlZmVyZW5zIHDDpSBldHQgc8Oka2VydCBzw6R0dCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTgyCisjOiBjb21tYW5kLWxpc3QuaDoxODUKIG1zZ2lkICJVcGRhdGUgYXV4aWxpYXJ5IGluZm8gZmlsZSB0byBoZWxwIGR1bWIgc2VydmVycyIKIG1zZ3N0ciAiVXBwZGF0ZXJhIHRpbGzDpGdnc2luZm9maWwgZsO2ciBhdHQgaGrDpGxwYSBkdW1tYSBzZXJ2cmFyIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODMKKyM6IGNvbW1hbmQtbGlzdC5oOjE4NgogbXNnaWQgIlNlbmQgYXJjaGl2ZSBiYWNrIHRvIGdpdC1hcmNoaXZlIgogbXNnc3RyICJTw6RuZCBhcmtpdmV0IHRpbGxiYWthIHRpbGwgZ2l0LWFyY2hpdmUiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4NAorIzogY29tbWFuZC1saXN0Lmg6MTg3CiBtc2dpZCAiU2VuZCBvYmplY3RzIHBhY2tlZCBiYWNrIHRvIGdpdC1mZXRjaC1wYWNrIgogbXNnc3RyICJTw6RuZCBwYWNrYWRlIG9iamVrdCB0aWxsYmFrYSB0aWxsIGdpdC1mZXRjaC1wYWNrIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODUKKyM6IGNvbW1hbmQtbGlzdC5oOjE4OAogbXNnaWQgIlNob3cgYSBHaXQgbG9naWNhbCB2YXJpYWJsZSIKIG1zZ3N0ciAiVmlzYSBlbiBsb2dpc2sgR2l0LXZhcmlhYmVsIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODYKKyM6IGNvbW1hbmQtbGlzdC5oOjE4OQogbXNnaWQgIkNoZWNrIHRoZSBHUEcgc2lnbmF0dXJlIG9mIGNvbW1pdHMiCiBtc2dzdHIgIktvbnRyb2xsZXJhIEdQRy1zaWduYXR1cmVyIGbDtnIgaW5jaGVja25pbmdhciIKIAotIzogY29tbWFuZC1saXN0Lmg6MTg3CisjOiBjb21tYW5kLWxpc3QuaDoxOTAKIG1zZ2lkICJWYWxpZGF0ZSBwYWNrZWQgR2l0IGFyY2hpdmUgZmlsZXMiCiBtc2dzdHIgIkJla3LDpGZ0YSBwYWNrYWRlIEdpdC1hcmtpdmZpbGVyIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODgKKyM6IGNvbW1hbmQtbGlzdC5oOjE5MQogbXNnaWQgIkNoZWNrIHRoZSBHUEcgc2lnbmF0dXJlIG9mIHRhZ3MiCiBtc2dzdHIgIktvbnRyb2xsZXJhIEdQRy1zaWduYXR1cmVyIGkgdGFnZ2FyIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODkKKyM6IGNvbW1hbmQtbGlzdC5oOjE5MgogbXNnaWQgIkdpdCB3ZWIgaW50ZXJmYWNlICh3ZWIgZnJvbnRlbmQgdG8gR2l0IHJlcG9zaXRvcmllcykiCiBtc2dzdHIgIkdpdC13ZWJiZ3LDpG5zc25pdHQgKHdlYmJmcmFtw6RuZGEgZsO2ciBHaXQtYXJraXYpIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTAKKyM6IGNvbW1hbmQtbGlzdC5oOjE5MwogbXNnaWQgIlNob3cgbG9ncyB3aXRoIGRpZmZlcmVuY2UgZWFjaCBjb21taXQgaW50cm9kdWNlcyIKIG1zZ3N0ciAiVmlzYSBsb2dnYXIgbWVkIGRpZmZlcmVuc2VyIHZhcmplIGluY2hlY2tuaW5nIGludHJvZHVjZXJhciIKIAotIzogY29tbWFuZC1saXN0Lmg6MTkxCisjOiBjb21tYW5kLWxpc3QuaDoxOTQKIG1zZ2lkICJNYW5hZ2UgbXVsdGlwbGUgd29ya2luZyB0cmVlcyIKIG1zZ3N0ciAiSGFudGVyYSB5dHRlcmxpZ2FyZSBhcmJldHNrYXRhbG9nZXIiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5MgorIzogY29tbWFuZC1saXN0Lmg6MTk1CiBtc2dpZCAiQ3JlYXRlIGEgdHJlZSBvYmplY3QgZnJvbSB0aGUgY3VycmVudCBpbmRleCIKIG1zZ3N0ciAiU2thcGEgZXR0IHRyw6Rkb2JqZWt0IGZyw6VuIGFrdHVlbGx0IGluZGV4IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTMKKyM6IGNvbW1hbmQtbGlzdC5oOjE5NgogbXNnaWQgIkRlZmluaW5nIGF0dHJpYnV0ZXMgcGVyIHBhdGgiCiBtc2dzdHIgIkRlZmluaWVyYXIgYXR0cmlidXQgcGVyIHPDtmt2w6RnIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTQKKyM6IGNvbW1hbmQtbGlzdC5oOjE5NwogbXNnaWQgIkdpdCBjb21tYW5kLWxpbmUgaW50ZXJmYWNlIGFuZCBjb252ZW50aW9ucyIKIG1zZ3N0ciAiR2l0cyBrb21tYW5kb3JhZHNncsOkbnNzbml0dCBvY2ggLWtvbnZlbnRpb25lciIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk1CisjOiBjb21tYW5kLWxpc3QuaDoxOTgKIG1zZ2lkICJBIEdpdCBjb3JlIHR1dG9yaWFsIGZvciBkZXZlbG9wZXJzIgogbXNnc3RyICJHcnVuZGzDpGdnYW5kZSBHaXQtaGFuZGxlZG5pbmcgZsO2ciB1dHZlY2tsYXJlIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTYKKyM6IGNvbW1hbmQtbGlzdC5oOjE5OQogbXNnaWQgIkdpdCBmb3IgQ1ZTIHVzZXJzIgogbXNnc3RyICJHaXQgZsO2ciBDVlMtYW52w6RuZGFyZSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk3CisjOiBjb21tYW5kLWxpc3QuaDoyMDAKIG1zZ2lkICJUd2Vha2luZyBkaWZmIG91dHB1dCIKIG1zZ3N0ciAiSnVzdHJlYSBkaWZmLXV0ZGF0YSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk4CisjOiBjb21tYW5kLWxpc3QuaDoyMDEKIG1zZ2lkICJBIHVzZWZ1bCBtaW5pbXVtIHNldCBvZiBjb21tYW5kcyBmb3IgRXZlcnlkYXkgR2l0IgogbXNnc3RyICJFdHQgYW52w6RuZGJhcnQgbWluc3RhIHVwcHPDpHR0bmluZyBrb21tYW5kb24gZsO2ciB2YXJkYWdzLUdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk5CisjOiBjb21tYW5kLWxpc3QuaDoyMDIKIG1zZ2lkICJBIEdpdCBHbG9zc2FyeSIKIG1zZ3N0ciAiRW4gR2l0LW9yZGxpc3RhIgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDAKKyM6IGNvbW1hbmQtbGlzdC5oOjIwMwogbXNnaWQgIkhvb2tzIHVzZWQgYnkgR2l0IgogbXNnc3RyICJLcm9rYXIgc29tIGFudsOkbmRzIGF2IEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjAxCisjOiBjb21tYW5kLWxpc3QuaDoyMDQKIG1zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgogbXNnc3RyICJBbmdlIGF2c2lrdGxpZ2VuIG9zcMOlcmFkZSBmaWxlciBhdHQgaWdub3JlcmEiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjIwMgorIzogY29tbWFuZC1saXN0Lmg6MjA1CiBtc2dpZCAiRGVmaW5pbmcgc3VibW9kdWxlIHByb3BlcnRpZXMiCiBtc2dzdHIgIkFuZ2UgZWdlbnNrYXBlciBmw7ZyIHVuZGVybW9kdWxlciIKIAotIzogY29tbWFuZC1saXN0Lmg6MjAzCisjOiBjb21tYW5kLWxpc3QuaDoyMDYKIG1zZ2lkICJHaXQgbmFtZXNwYWNlcyIKIG1zZ3N0ciAiR2l0LW5hbW5yeW1kZXIiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjIwNAorIzogY29tbWFuZC1saXN0Lmg6MjA3CiBtc2dpZCAiR2l0IFJlcG9zaXRvcnkgTGF5b3V0IgogbXNnc3RyICJHaXRzIGFya2l2bGF5b3V0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDUKKyM6IGNvbW1hbmQtbGlzdC5oOjIwOAogbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKIG1zZ3N0ciAiQW5nZSB2ZXJzaW9uZXIgb2NoIGludGVydmFsbCBpIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjA2CisjOiBjb21tYW5kLWxpc3QuaDoyMDkKK21zZ2lkICJNb3VudGluZyBvbmUgcmVwb3NpdG9yeSBpbnNpZGUgYW5vdGhlciIKK21zZ3N0ciAiTW9udGVyYXIgZXR0IGFya2l2IGludXRpIGV0dCBhbm5hdCIKKworIzogY29tbWFuZC1saXN0Lmg6MjEwCiBtc2dpZCAiQSB0dXRvcmlhbCBpbnRyb2R1Y3Rpb24gdG8gR2l0OiBwYXJ0IHR3byIKIG1zZ3N0ciAiSW50cm9kdWt0aW9uIHRpbGwgR2l0OiBkZWwgdHbDpSIKIAotIzogY29tbWFuZC1saXN0Lmg6MjA3CisjOiBjb21tYW5kLWxpc3QuaDoyMTEKIG1zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQiCiBtc2dzdHIgIkludHJvZHVrdGlvbiB0aWxsIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjA4CisjOiBjb21tYW5kLWxpc3QuaDoyMTIKIG1zZ2lkICJBbiBvdmVydmlldyBvZiByZWNvbW1lbmRlZCB3b3JrZmxvd3Mgd2l0aCBHaXQiCiBtc2dzdHIgIsOWdmVyc2lrdCDDtnZlciByZWtvbW1lbmRlcmFkZSBhcmJldHNmbMO2ZGVuIG1lZCBHaXQiCiAKLSM6IHJlcmVyZS5oOjQ0Ci1tc2dpZCAidXBkYXRlIHRoZSBpbmRleCB3aXRoIHJldXNlZCBjb25mbGljdCByZXNvbHV0aW9uIGlmIHBvc3NpYmxlIgotbXNnc3RyICJ1cHBkYXRlcmEgaW5kZXhldCBtZWQgw6V0ZXJhbnbDpG5kIGtvbmZsaWt0bMO2c25pbmcgb20gbcO2amxpZ3QiCi0KICM6IGdpdC1iaXNlY3Quc2g6NTQKIG1zZ2lkICJZb3UgbmVlZCB0byBzdGFydCBieSBcImdpdCBiaXNlY3Qgc3RhcnRcIiIKIG1zZ3N0ciAiRHUgbcOlc3RlIHN0YXJ0YSBtZWQgXCJnaXQgYmlzZWN0IHN0YXJ0XCIiCkBAIC0xOTEzMCwxNDAgKzIyNTY2LDQ5IEBACiBtc2dpZCAiRG8geW91IHdhbnQgbWUgdG8gZG8gaXQgZm9yIHlvdSBbWS9uXT8gIgogbXNnc3RyICJWaWxsIGR1IGF0dCBqYWcgc2thIGfDtnJhIGRldCDDpXQgZGlnIFtZPWphL049bmVqXT8gIgogCi0jOiBnaXQtYmlzZWN0LnNoOjEyMQotIywgc2gtZm9ybWF0Ci1tc2dpZCAidW5yZWNvZ25pc2VkIG9wdGlvbjogJyRhcmcnIgotbXNnc3RyICJmbGFnZ2FuIGvDpG5ucyBpbnRlIGlnZW46IFwiJGFyZ1wiIgotCi0jOiBnaXQtYmlzZWN0LnNoOjEyNQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiJyRhcmcnIGRvZXMgbm90IGFwcGVhciB0byBiZSBhIHZhbGlkIHJldmlzaW9uIgotbXNnc3RyICJcIiRhcmdcIiB2ZXJrYXIgaW50ZSB2YXJhIGVuIGdpbHRpZyByZXZpc2lvbiIKLQotIzogZ2l0LWJpc2VjdC5zaDoxNTQKLW1zZ2lkICJCYWQgSEVBRCAtIEkgbmVlZCBhIEhFQUQiCi1tc2dzdHIgIkZlbGFrdGlndCBIRUFEIC0gSmFnIGJlaMO2dmVyIGV0dCBIRUFEIgotCi0jOiBnaXQtYmlzZWN0LnNoOjE2NwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIkNoZWNraW5nIG91dCAnJHN0YXJ0X2hlYWQnIGZhaWxlZC4gVHJ5ICdnaXQgYmlzZWN0IHJlc2V0IDx2YWxpZC1icmFuY2g+Jy4iCi1tc2dzdHIgIiIKLSJNaXNzbHlja2FkZXMgY2hlY2thIHV0IFwiJHN0YXJ0X2hlYWRcIi4gRsO2cnPDtmsgXCJnaXQgYmlzZWN0IHJlc2V0ICIKLSI8Z2lsdGlnX2dyZW4+4oCdLiIKLQotIyBjb2dpdG8tcmVsYXRlcmF0Ci0jOiBnaXQtYmlzZWN0LnNoOjE3NwotbXNnaWQgIndvbid0IGJpc2VjdCBvbiBjZy1zZWVrJ2VkIHRyZWUiCi1tc2dzdHIgImvDtnIgaW50ZSBcImJpc2VjdFwiIHDDpSB0csOkZCBkw6RyIFwiY2ctc2Vla1wiIGFudsOkbnRzIgotCi0jOiBnaXQtYmlzZWN0LnNoOjE4MQotbXNnaWQgIkJhZCBIRUFEIC0gc3RyYW5nZSBzeW1ib2xpYyByZWYiCi1tc2dzdHIgIkZlbGFrdGlndCBIRUFEIC0ga29uc3RpZyBzeW1ib2xpc2sgcmVmZXJlbnMiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MjMzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJCYWQgYmlzZWN0X3dyaXRlIGFyZ3VtZW50OiAkc3RhdGUiCi1tc2dzdHIgIkZlbGFrdGlndCBhcmd1bWVudCB0aWxsIGJpc2VjdF93cml0ZTogJHN0YXRlIgotCi0jOiBnaXQtYmlzZWN0LnNoOjI0NgorIzogZ2l0LWJpc2VjdC5zaDoxMDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRhcmciCiBtc2dzdHIgIkZlbGFrdGlnIHJldi1pbmRhdGE6ICRhcmciCiAKLSM6IGdpdC1iaXNlY3Quc2g6MjY1CisjOiBnaXQtYmlzZWN0LnNoOjEyMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQmFkIHJldiBpbnB1dDogJGJpc2VjdGVkX2hlYWQiCiBtc2dzdHIgIkZlbGFrdGlnIHJldi1pbmRhdGE6ICRiaXNlY3RlZF9oZWFkIgogCi0jOiBnaXQtYmlzZWN0LnNoOjI3NAorIzogZ2l0LWJpc2VjdC5zaDoxMzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRyZXYiCiBtc2dzdHIgIkZlbGFrdGlnIHJldi1pbmRhdGE6ICRyZXYiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MjgzCisjOiBnaXQtYmlzZWN0LnNoOjEzOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJ2dpdCBiaXNlY3QgJFRFUk1fQkFEJyBjYW4gdGFrZSBvbmx5IG9uZSBhcmd1bWVudC4iCiBtc2dzdHIgIlwiZ2l0IGJpc2VjdCAkVEVSTV9CQURcIiBrYW4gYmFyYSB0YSBldHQgYXJndW1lbnQuIgogCi0jOiBnaXQtYmlzZWN0LnNoOjMwNgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiV2FybmluZzogYmlzZWN0aW5nIG9ubHkgd2l0aCBhICRURVJNX0JBRCBjb21taXQuIgotbXNnc3RyICIiCi0iVmFybmluZzogdXRmw7ZyIFwiYmlzZWN0XCIgbWVkIGVuZGFzdCBlbiBkw6VsaWcgKFwiJFRFUk1fQkFEXCIpIGluY2hlY2tuaW5nLiIKLQotIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtZXSBhbmQgW25dIGluIHlvdXIKLSMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKLSMuIGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtYmlzZWN0LnNoOjMxMgotbXNnaWQgIkFyZSB5b3Ugc3VyZSBbWS9uXT8gIgotbXNnc3RyICLDhHIgZHUgc8Oka2VyIFtZPWphL049bmVqXT8gIgotCi0jOiBnaXQtYmlzZWN0LnNoOjMyNAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIllvdSBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICRiYWRfc3luIGFuZCBvbmUgJGdvb2Rfc3luIHJldmlzaW9uLlxuIgotIihZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiBhbmQgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiIGZvciB0aGF0LikiCi1tc2dzdHIgIiIKLSJEdSBtw6VzdGUgYW5nZSDDpXRtaW5zdG9uZSBlbiBkw6VsaWcgKFwiJGJhZF9zeW5cIikgb2NoIGVuIGJyYSAoXCIkZ29vZF9zeW5cIikgIgotInZlcnNpb24uXG4iCi0iKER1IGthbiBhbnbDpG5kYSBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiBvY2ggXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiIGbDtnIgIgotImRldHRhLikiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MzI3Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iWW91IG5lZWQgdG8gc3RhcnQgYnkgXCJnaXQgYmlzZWN0IHN0YXJ0XCIuXG4iCi0iWW91IHRoZW4gbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSAkZ29vZF9zeW4gYW5kIG9uZSAkYmFkX3N5biByZXZpc2lvbi5cbiIKLSIoWW91IGNhbiB1c2UgXCJnaXQgYmlzZWN0ICRiYWRfc3luXCIgYW5kIFwiZ2l0IGJpc2VjdCAkZ29vZF9zeW5cIiBmb3IgdGhhdC4pIgotbXNnc3RyICIiCi0iRHUgbcOlc3RlIHN0YXJ0YSBtZWQgXCJnaXQgYmlzZWN0IHN0YXJ0XCIuXG4iCi0iRHUgbcOlc3RlIHNlZGFuIGFuZ2Ugw6V0bWluc3RvbmUgZW4gYnJhIChcIiRnb29kX3N5blwiKSBvY2ggZW4gZMOlbGlnICIKLSIoXCIkYmFkX3N5blwiKSB2ZXJzaW9uLlxuIgotIihEdSBrYW4gYW52w6RuZGEgXCJnaXQgYmlzZWN0ICRiYWRfc3luXCIgb2NoIFwiZ2l0IGJpc2VjdCAkZ29vZF9zeW5cIiBmw7ZyICIKLSJkZXR0YS4pIgotCi0jOiBnaXQtYmlzZWN0LnNoOjM5OCBnaXQtYmlzZWN0LnNoOjUxMgotbXNnaWQgIldlIGFyZSBub3QgYmlzZWN0aW5nLiIKLW1zZ3N0ciAiVmkgdXRmw7ZyIGluZ2VuIGJpc2VjdCBmw7ZyIHRpbGxmw6RsbGV0LiIKLQotIzogZ2l0LWJpc2VjdC5zaDo0MDUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIickaW52YWxpZCcgaXMgbm90IGEgdmFsaWQgY29tbWl0IgotbXNnc3RyICJcIiRpbnZhbGlkXCIgw6RyIGludGUgZW4gZ2lsdGlnIGluY2hlY2tuaW5nIgotCi0jOiBnaXQtYmlzZWN0LnNoOjQxNAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIkNvdWxkIG5vdCBjaGVjayBvdXQgb3JpZ2luYWwgSEVBRCAnJGJyYW5jaCcuXG4iCi0iVHJ5ICdnaXQgYmlzZWN0IHJlc2V0IDxjb21taXQ+Jy4iCi1tc2dzdHIgIiIKLSJLdW5kZSBpbnRlIGNoZWNrYSB1dCBvcmlnaW5hbC1IRUFEIFwiJGJyYW5jaFwiLlxuIgotIkbDtnJzw7ZrIFwiZ2l0IGJpc2VjdCByZXNldCA8aW5jaGVja25pbmc+XCIuIgotCi0jOiBnaXQtYmlzZWN0LnNoOjQyMgorIzogZ2l0LWJpc2VjdC5zaDoyMDkKIG1zZ2lkICJObyBsb2dmaWxlIGdpdmVuIgogbXNnc3RyICJJbmdlbiBsb2dnZmlsIGFuZ2l2ZW4iCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDIzCisjOiBnaXQtYmlzZWN0LnNoOjIxMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJGZpbGUgZm9yIHJlcGxheWluZyIKIG1zZ3N0ciAia2FuIGludGUgbMOkc2EgJGZpbGUgZsO2ciB1cHBzcGVsbmluZyIKIAotIzogZ2l0LWJpc2VjdC5zaDo0NDQKKyM6IGdpdC1iaXNlY3Quc2g6MjMyCiBtc2dpZCAiPz8gd2hhdCBhcmUgeW91IHRhbGtpbmcgYWJvdXQ/IgogbXNnc3RyICI/PyB2YWQgbWVuYXIgZHU/IgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ1MworIzogZ2l0LWJpc2VjdC5zaDoyNDEKIG1zZ2lkICJiaXNlY3QgcnVuIGZhaWxlZDogbm8gY29tbWFuZCBwcm92aWRlZC4iCiBtc2dzdHIgImJpc2VjdC1rw7ZybmluZyBtaXNzbHlja2FkZXM6IGluZ2V0IGtvbW1hbmRvIGdhdnMuIgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ1OAorIzogZ2l0LWJpc2VjdC5zaDoyNDYKICMsIHNoLWZvcm1hdAogbXNnaWQgInJ1bm5pbmcgJGNvbW1hbmQiCiBtc2dzdHIgImvDtnIgJGNvbW1hbmQiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDY1CisjOiBnaXQtYmlzZWN0LnNoOjI1MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImJpc2VjdCBydW4gZmFpbGVkOlxuIgpAQCAtMTkyNzIsMTEgKzIyNjE3LDExIEBACiAiXCJiaXNlY3RcIi1rw7ZybmluZ2VuIG1pc3NseWNrYWRlczpcbiIKICJmZWxrb2QgJHJlcyBmcsOlbiBcIiRjb21tYW5kXCIgw6RyIDwgMCBlbGxlciA+PSAxMjgiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDkxCisjOiBnaXQtYmlzZWN0LnNoOjI3OQogbXNnaWQgImJpc2VjdCBydW4gY2Fubm90IGNvbnRpbnVlIGFueSBtb3JlIgogbXNnc3RyICJcImJpc2VjdFwiLWvDtnJuaW5nZW4ga2FuIGludGUgZm9ydHPDpHR0YSBsw6RuZ3JlIgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ5NworIzogZ2l0LWJpc2VjdC5zaDoyODUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJiaXNlY3QgcnVuIGZhaWxlZDpcbiIKQEAgLTE5Mjg1LDI4ICsyMjYzMCwxMyBAQAogIlwiYmlzZWN0XCIta8O2cm5pbmdlbiBtaXNzbHlja2FkZXM6XG4iCiAiXCJiaXNlY3Rfc3RhdGUgJHN0YXRlXCIgYXZzbHV0YWRlcyBtZWQgZmVsa29kZW4gJHJlcyIKIAotIzogZ2l0LWJpc2VjdC5zaDo1MDQKKyM6IGdpdC1iaXNlY3Quc2g6MjkyCiBtc2dpZCAiYmlzZWN0IHJ1biBzdWNjZXNzIgogbXNnc3RyICJcImJpc2VjdFwiLWvDtnJuaW5nZW4gbHlja2FkZXMiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NTMzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJJbnZhbGlkIGNvbW1hbmQ6IHlvdSdyZSBjdXJyZW50bHkgaW4gYSAkVEVSTV9CQUQvJFRFUk1fR09PRCBiaXNlY3QuIgotbXNnc3RyICIiCi0iT2dpbHRpZ3Qga29tbWFuZG86IGR1IHV0ZsO2ciBqdXN0IG51IGVuIFwiYmlzZWN0XCIgbWVkICRURVJNX0JBRC8kVEVSTV9HT09ELiIKLQotIzogZ2l0LWJpc2VjdC5zaDo1NjcKLW1zZ2lkICJubyB0ZXJtcyBkZWZpbmVkIgotbXNnc3RyICJpbmdhIHRlcm1lciBhbmdpdm5hIgotCi0jOiBnaXQtYmlzZWN0LnNoOjU4NAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotImludmFsaWQgYXJndW1lbnQgJGFyZyBmb3IgJ2dpdCBiaXNlY3QgdGVybXMnLlxuIgotIlN1cHBvcnRlZCBvcHRpb25zIGFyZTogLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCBhbmQgLS10ZXJtLWJhZHwtLXRlcm0tbmV3LiIKLW1zZ3N0ciAiIgotIm9naWx0aWd0IGFyZ3VtZW50ICRhcmcgZsO2ciBcImdpdCBiaXNlY3QgdGVybXNcIi5cbiIKLSJGbGFnZ29yIHNvbSBzdMO2ZHMgw6RyOiAtLXRlcm0tZ29vZHwtLXRlcm0tb2xkIG9jaCAtLXRlcm0tYmFkfC0tdGVybS1uZXcuIgorIzogZ2l0LWJpc2VjdC5zaDozMDAKK21zZ2lkICJXZSBhcmUgbm90IGJpc2VjdGluZy4iCittc2dzdHIgIlZpIHV0ZsO2ciBpbmdlbiBiaXNlY3QgZsO2ciB0aWxsZsOkbGxldC4iCiAKICM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjQ2CiBtc2dpZCAiIgpAQCAtMTkzNDgsMjYyICsyMjY3OCwxMTMgQEAKIG1zZ2lkICJTaW1wbGUgbWVyZ2UgZGlkIG5vdCB3b3JrLCB0cnlpbmcgYXV0b21hdGljIG1lcmdlLiIKIG1zZ3N0ciAiRW5rZWwgc2FtbWFuc2xhZ25pbmcgbWlzc2x5Y2thZGVzLCBmw7Zyc8O2a2VyIGF1dG9tYXRpc2sgc2FtbWFuc2xhZ25pbmcuIgogCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0MzQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKLW1zZ3N0ciAiS3VuZGUgaW50ZSBmbHl0dGEgdGlsbGJha2EgdGlsbCAkaGVhZF9uYW1lIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0NjAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKLSJJIHdvbmRlciBpZiB5b3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW5vdGhlciByZWJhc2UuICBJZiB0aGF0IGlzIHRoZVxuIgotImNhc2UsIHBsZWFzZSB0cnlcbiIKLSJcdCRjbWRfbGl2ZV9yZWJhc2VcbiIKLSJJZiB0aGF0IGlzIG5vdCB0aGUgY2FzZSwgcGxlYXNlXG4iCi0iXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxuIgotImFuZCBydW4gbWUgYWdhaW4uICBJIGFtIHN0b3BwaW5nIGluIGNhc2UgeW91IHN0aWxsIGhhdmUgc29tZXRoaW5nXG4iCi0idmFsdWFibGUgdGhlcmUuIgotbXNnc3RyICIiCi0iRGV0IHZlcmthciBzb20ga2F0YWxvZ2VuICRzdGF0ZV9kaXJfYmFzZSByZWRhbiBleGlzdGVyYXIsIG9jaFxuIgotImphZyB1bmRyYXIgb20gZHUgcmVkYW4gw6RyIG1pdHQgaSBlbiBhbm5hbiBvbWJhc2VyaW5nLiBPbSBzw6Ugw6RyXG4iCi0iZmFsbGV0LCBmw7Zyc8O2a1xuIgotIlx0JGNtZF9saXZlX3JlYmFzZVxuIgotIk9tIHPDpSBpbnRlIMOkciBmYWxsZXQsIGvDtnJcbiIKLSJcdCRjbWRfY2xlYXJfc3RhbGVfcmViYXNlXG4iCi0ib2NoIGvDtnIgcHJvZ3JhbW1ldCBpZ2VuLiBKYWcgYXZzbHV0YXIgaWZhbGwgZHUgZm9ydGZhcmFuZGUgaGFyXG4iCi0ibsOlZ290IGF2IHbDpHJkZSBkw6RyLiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTI1Ci1tc2dpZCAiZXJyb3I6IGNhbm5vdCBjb21iaW5lICctLXNpZ25vZmYnIHdpdGggJy0tcHJlc2VydmUtbWVyZ2VzJyIKLW1zZ3N0ciAiZmVsOiBrYW4gaW50ZSBrb21iaW5lcmEgXCItLXNpZ25vZmZcIiBtZWQgXCItLXByZXNlcnZlLW1lcmdlc1wiIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1NzAKLSMsIHNoLWZvcm1hdAotbXNnaWQgImludmFsaWQgdXBzdHJlYW0gJyR1cHN0cmVhbV9uYW1lJyIKLW1zZ3N0ciAib2dpbHRpZyB1cHBzdHLDtm0gXCIkdXBzdHJlYW1fbmFtZVwiIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1OTQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgotbXNnc3RyICIkb250b19uYW1lOiBtZXIgw6RuIGVuIHNhbW1hbnNsYWduaW5nc2JhcyBmaW5ucyIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTk3IGdpdC1sZWdhY3ktcmViYXNlLnNoOjYwMQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKLW1zZ3N0ciAiJG9udG9fbmFtZTogaW5nZW4gc2FtbWFuc2xhZ25pbmdzYmFzIGZpbm5zIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2MDYKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgY29tbWl0OiAkb250b19uYW1lIgotbXNnc3RyICJQZWthIHDDpSBlbiBnaWx0aWcgaW5jaGVja25pbmc6ICRvbnRvX25hbWUiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjYzMgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoL2NvbW1pdCAnJGJyYW5jaF9uYW1lJyIKLW1zZ3N0ciAiw7ZkZXNkaWdlcnQ6IGluZ2VuIHPDpWRhbiBncmVuL2luY2hlY2tuaW5nOiAkYnJhbmNoX25hbWUiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjY3MAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCi1tc2dzdHIgIlNrYXBhZGUgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2OTkKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKLW1zZ3N0ciAiQWt0dWVsbCBncmVuICRicmFuY2hfbmFtZSDDpHIgw6Agam91ci4iCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjcwOQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIgotbXNnc3RyICJBa3R1ZWxsIGdyZW4gJGJyYW5jaF9uYW1lIMOkciDDoCBqb3VyLCBvbWJhc2VyaW5nIGZyYW10dmluZ2FkLiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzIzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDaGFuZ2VzIHRvICRvbnRvOiIKLW1zZ3N0ciAiw4RuZHJpbmdhciB0aWxsICRvbnRvOiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzI1Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDaGFuZ2VzIGZyb20gJG1iIHRvICRvbnRvOiIKLW1zZ3N0ciAiw4RuZHJpbmdhciBmcsOlbiAkbWIgdGlsbCAkb250bzoiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjczNgotbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLiIKLW1zZ3N0ciAiIgotIkbDtnJzdCwgc3BvbGFyIHRpbGxiYWthIGh1dnVkZXQgZsO2ciBhdHQgc3BlbGEgYXYgZGl0dCBhcmJldGUgb3ZhbnDDpSBkZXQuLi4iCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjc0NgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiRmFzdC1mb3J3YXJkZWQgJGJyYW5jaF9uYW1lIHRvICRvbnRvX25hbWUuIgotbXNnc3RyICJTbmFiYnNwb2xhZGUgJGJyYW5jaF9uYW1lIHRpbGwgJG9udG9fbmFtZS4iCi0KLSM6IGdpdC1zdGFzaC5zaDo2MQotbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKLW1zZ3N0ciAiXCJnaXQgc3Rhc2ggY2xlYXJcIiBtZWQgcGFyYW1ldHJhciBoYXIgaW50ZSBpbXBsZW1lbnRlcmF0cyIKLQotIzogZ2l0LXN0YXNoLnNoOjEwOAotbXNnaWQgIllvdSBkbyBub3QgaGF2ZSB0aGUgaW5pdGlhbCBjb21taXQgeWV0IgotbXNnc3RyICJEdSBoYXIgaW50ZSBkZW4gZsO2cnN0YSBpbmNoZWNrbmluZ2VuIMOkbm51IgotCi0jOiBnaXQtc3Rhc2guc2g6MTIzCi1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCi1tc2dzdHIgIkthbiBpbnRlIHNwYXJhIGFrdHVlbGx0IHRpbGxzdMOlbmQgZsO2ciBpbmRleGV0IgotCi0jOiBnaXQtc3Rhc2guc2g6MTM4Ci1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKLW1zZ3N0ciAiS2FuIGludGUgc3BhcmEgb3Nww6VyYWRlIGZpbGVyIgotCi0jOiBnaXQtc3Rhc2guc2g6MTU4IGdpdC1zdGFzaC5zaDoxNzEKLW1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCB3b3JrdHJlZSBzdGF0ZSIKLW1zZ3N0ciAiS2FuIGludGUgc3BhcmEgYWt0dWVsbHQgdGlsbHN0w6VuZCBmw7ZyIGFyYmV0c2thdGFsb2dlbiIKLQotIzogZ2l0LXN0YXNoLnNoOjE3NQotbXNnaWQgIk5vIGNoYW5nZXMgc2VsZWN0ZWQiCi1tc2dzdHIgIkluZ2Egw6RuZHJpbmdhciB2YWxkYSIKLQotIzogZ2l0LXN0YXNoLnNoOjE3OAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMjEKIG1zZ2lkICJDYW5ub3QgcmVtb3ZlIHRlbXBvcmFyeSBpbmRleCAoY2FuJ3QgaGFwcGVuKSIKIG1zZ3N0ciAiS2FuIGludGUgdGEgYm9ydCB0ZW1wb3LDpHJ0IGluZGV4IChrYW4gaW50ZSBpbnRyw6RmZmEpIgogCi0jOiBnaXQtc3Rhc2guc2g6MTkxCi1tc2dpZCAiQ2Fubm90IHJlY29yZCB3b3JraW5nIHRyZWUgc3RhdGUiCi1tc2dzdHIgIkthbiBpbnRlIHJlZ2lzdHJlcmEgdGlsbHN0w6VuZCBmw7ZyIGFyYmV0c2thdGFsb2ciCi0KLSM6IGdpdC1zdGFzaC5zaDoyMjkKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlICRyZWZfc3Rhc2ggd2l0aCAkd19jb21taXQiCiBtc2dzdHIgIkthbiBpbnRlIHVwcGRhdGVyYSAkcmVmX3N0YXNoIG1lZCAkd19jb21taXQiCiAKLSM6IGdpdC1zdGFzaC5zaDoyODEKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzI0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBwdXNoJzogJG9wdGlvbiIKIG1zZ3N0ciAiZmVsOiBva8OkbmQgZmxhZ2dhIGbDtnIgXCJzdGFzaCBwdXNoXCI6ICRvcHRpb24iCiAKLSM6IGdpdC1zdGFzaC5zaDoyOTUKLW1zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgotbXNnc3RyICJLYW4gaW50ZSBhbnbDpG5kYSAtLXBhdGNoIG9jaCAtLWluY2x1ZGUtdW50cmFja2VkIGVsbGVyIC0tYWxsIHNhbXRpZGlndCIKLQotIzogZ2l0LXN0YXNoLnNoOjMwMwotbXNnaWQgIk5vIGxvY2FsIGNoYW5nZXMgdG8gc2F2ZSIKLW1zZ3N0ciAiSW5nYSBsb2thbGEgw6RuZHJpbmdhciBhdHQgc3BhcmEiCi0KLSM6IGdpdC1zdGFzaC5zaDozMDgKLW1zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKLW1zZ3N0ciAiS2FuIGludGUgaW5pdGllcmEgXCJzdGFzaFwiIgotCi0jOiBnaXQtc3Rhc2guc2g6MzEyCi1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgotbXNnc3RyICJLYW4gaW50ZSBzcGFyYSBha3R1ZWxsIHN0YXR1cyIKLQotIzogZ2l0LXN0YXNoLnNoOjMxMworIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDozNTYKICMsIHNoLWZvcm1hdAogbXNnaWQgIlNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBpbmRleCBzdGF0ZSAkc3Rhc2hfbXNnIgogbXNnc3RyICJTcGFyYWRlIGFyYmV0c2thdGFsb2dlbiBvY2ggaW5kZXhzdGF0dXMgJHN0YXNoX21zZyIKIAotIzogZ2l0LXN0YXNoLnNoOjM0MgotbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKLW1zZ3N0ciAiS2FuIGludGUgdGEgYm9ydCDDpG5kcmluZ2FyIGkgYXJiZXRza2F0YWxvZ2VuIgotCi0jOiBnaXQtc3Rhc2guc2g6NDkwCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjUzNgogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5rbm93biBvcHRpb246ICRvcHQiCiBtc2dzdHIgIm9rw6RuZCBmbGFnZ2E6ICRvcHQiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MDMKLW1zZ2lkICJObyBzdGFzaCBlbnRyaWVzIGZvdW5kLiIKLW1zZ3N0ciAiSW5nYSBcInN0YXNo4oCdLXBvc3RlciBoaXR0YWRlcy4iCi0KLSM6IGdpdC1zdGFzaC5zaDo1MTAKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NTU2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUb28gbWFueSByZXZpc2lvbnMgc3BlY2lmaWVkOiAkUkVWIgogbXNnc3RyICJGw7ZyIG3DpW5nYSByZXZpc2lvbmVyIGFuZ2l2bmE6ICRSRVYiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MjUKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NTcxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIkcmVmZXJlbmNlIGlzIG5vdCBhIHZhbGlkIHJlZmVyZW5jZSIKIG1zZ3N0ciAiJHJlZmVyZW5jZSDDpHIgaW50ZSBlbiBnaWx0aWcgcmVmZXJlbnMiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NTMKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NTk5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoLWxpa2UgY29tbWl0IgogbXNnc3RyICJcIiRhcmdzXCIgw6RyIGludGUgZW4gXCJzdGFzaFwiLWxpa25hbmRlIGluY2hlY2tuaW5nIgogCi0jOiBnaXQtc3Rhc2guc2g6NTY0CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYxMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIlwiJGFyZ3NcIiDDpHIgaW50ZSBlbiBcInN0YXNoXCItcmVmZXJlbnMiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzIKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjE4CiBtc2dpZCAidW5hYmxlIHRvIHJlZnJlc2ggaW5kZXgiCiBtc2dzdHIgImthbiBpbnRlIHVwcGRhdGVyYSBpbmRleGV0IgogCi0jOiBnaXQtc3Rhc2guc2g6NTc2CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYyMgogbXNnaWQgIkNhbm5vdCBhcHBseSBhIHN0YXNoIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSIKIG1zZ3N0ciAiS2FuIGludGUgdGlsbMOkbXBhIGVuIFwic3Rhc2hcIiBtaXR0IGkgZW4gc2FtbWFuc2xhZ25pbmciCiAKLSM6IGdpdC1zdGFzaC5zaDo1ODQKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjMwCiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAiS29uZmxpa3RlciBpIGluZGV4ZXQuIFRlc3RhIHV0YW4gLS1pbmRleC4iCiAKLSM6IGdpdC1zdGFzaC5zaDo1ODYKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjMyCiBtc2dpZCAiQ291bGQgbm90IHNhdmUgaW5kZXggdHJlZSIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBzcGFyYSBpbmRleHRyw6RkIgogCi0jOiBnaXQtc3Rhc2guc2g6NTk1CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjY0MQogbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIGVudHJ5IgogbXNnc3RyICJLdW5kZSBpbnRlIMOldGVyc3TDpGxsYSBvc3DDpXJhZGUgZmlsZXIgZnLDpW4gc3Rhc2gtcG9zdCIKIAotIzogZ2l0LXN0YXNoLnNoOjYyMAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2NjYKIG1zZ2lkICJDYW5ub3QgdW5zdGFnZSBtb2RpZmllZCBmaWxlcyIKIG1zZ3N0ciAiS2FuIGludGUgdGEgYm9ydCDDpG5kcmFkZSBmaWxlciB1ciBrw7ZuIgogCi0jOiBnaXQtc3Rhc2guc2g6NjM1Ci1tc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgotbXNnc3RyICJJbmRleGV0IGhhciBpbnRlIHRhZ2l0cyB1ciBrw7ZuLiIKLQotIzogZ2l0LXN0YXNoLnNoOjY0OQotbXNnaWQgIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgotbXNnc3RyICJTdGFzaC1wb3N0ZW4gYmVow6VsbHMgaWZhbGwgZHUgYmVow7Z2ZXIgZGVuIGlnZW4uIgotCi0jOiBnaXQtc3Rhc2guc2g6NjU4CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjcwNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiRHJvcHBlZCAke1JFVn0gKCRzKSIKIG1zZ3N0ciAiS2FzdGFkZSAke1JFVn0gKCRzKSIKIAotIzogZ2l0LXN0YXNoLnNoOjY1OQorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo3MDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCiBtc2dzdHIgIiR7UkVWfTogS3VuZGUgaW50ZSBrYXN0YSBcInN0YXNoXCItcG9zdCIKIAotIzogZ2l0LXN0YXNoLnNoOjY2NwotbXNnaWQgIk5vIGJyYW5jaCBuYW1lIHNwZWNpZmllZCIKLW1zZ3N0ciAiSW5nZXQgZ3Jlbm5hbW4gYW5nYXZzIgotCi0jOiBnaXQtc3Rhc2guc2g6NzQ2CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjc5MgogbXNnaWQgIihUbyByZXN0b3JlIHRoZW0gdHlwZSBcImdpdCBzdGFzaCBhcHBseVwiKSIKIG1zZ3N0ciAiKEbDtnIgYXR0IMOldGVyc3TDpGxsYSBkZW0sIHNrcml2IFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjE5OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMDIKIG1zZ2lkICJSZWxhdGl2ZSBwYXRoIGNhbiBvbmx5IGJlIHVzZWQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiUmVsYXRpdiBzw7ZrdsOkZyBrYW4gZW5kYXN0IGFudsOkbmRhcyBmcsOlbiBhcmJldHNrYXRhbG9nZW5zIHRvcHBuaXbDpSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMDgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjEyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJyZXBvIFVSTDogJyRyZXBvJyBtdXN0IGJlIGFic29sdXRlIG9yIGJlZ2luIHdpdGggLi98Li4vIgogbXNnc3RyICJhcmtpdi1VUkw6IFwiJHJlcG9cIiBtw6VzdGUgdmFyYSBhYnNvbHV0IGVsbGVyIGLDtnJqYSBtZWQgLi98Li4vIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIyNworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGluZGV4IgogbXNnc3RyICJcIiRzbV9wYXRoXCIgZmlubnMgcmVkYW4gaSBpbmRleGV0IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzMAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGluZGV4IGFuZCBpcyBub3QgYSBzdWJtb2R1bGUiCiBtc2dzdHIgIlwiJHNtX3BhdGhcIiBmaW5ucyByZWRhbiBpIGluZGV4ZXQgb2NoIMOkciBpbnRlIGVuIHVuZGVybW9kdWwiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjM2CisjOiBnaXQtc3VibW9kdWxlLnNoOjI0MQorIywgc2gtZm9ybWF0Cittc2dpZCAiJyRzbV9wYXRoJyBkb2VzIG5vdCBoYXZlIGEgY29tbWl0IGNoZWNrZWQgb3V0IgorbXNnc3RyICJcIiRzbV9wYXRoXCIgaGFyIGludGUgbsOlZ29uIHV0Y2hlY2thZCBpbmNoZWNrbmluZyIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHBhdGggaXMgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgpAQCAtMTk2MTQsMjIgKzIyNzk1LDIyIEBACiAiJHNtX3BhdGhcbiIKICJBbnbDpG5kIC1mIG9tIGR1IHZlcmtsaWdlbiB2aWxsIGzDpGdnYSB0aWxsIGRlbi4iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjU5CisjOiBnaXQtc3VibW9kdWxlLnNoOjI3MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQWRkaW5nIGV4aXN0aW5nIHJlcG8gYXQgJyRzbV9wYXRoJyB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIkzDpGdnZXIgdGlsbCBiZWZpbnRsaWd0IGFya2l2IGkgXCIkc21fcGF0aFwiIGkgaW5kZXhldCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYSB2YWxpZCBnaXQgcmVwbyIKIG1zZ3N0ciAiXCIkc21fcGF0aFwiIGZpbm5zIHJlZGFuIG9jaCDDpHIgaW50ZSBldHQgZ2lsdGlndCBnaXQtYXJraXYiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjY5CisjOiBnaXQtc3VibW9kdWxlLnNoOjI4MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQSBnaXQgZGlyZWN0b3J5IGZvciAnJHNtX25hbWUnIGlzIGZvdW5kIGxvY2FsbHkgd2l0aCByZW1vdGUocyk6IgogbXNnc3RyICJFbiBnaXQta2F0YWxvZyBmw7ZyIFwiJHNtX25hbWVcIiBoaXR0YWRlcyBsb2thbHQgbWVkIGZqw6Rycihhcik6IgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI3MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODIKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byByZXVzZSB0aGlzIGxvY2FsIGdpdCBkaXJlY3RvcnkgaW5zdGVhZCBvZiBjbG9uaW5nIGFnYWluIGZyb21cbiIKQEAgLTE5NjQ3LDM3ICsyMjgyOCwzNyBAQAogImFya2l2IGVsbGVyIG9tIGR1IMOkciBvc8Oka2VyIHDDpSB2YWQgZGV0IGjDpHIgYmV0eWRlciwgdsOkbGogZXR0IGFubmF0IG5hbW4gbWVkXG4iCiAiZmxhZ2dhbiBcIi0tbmFtZVwiLiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6Mjg4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWFjdGl2YXRpbmcgbG9jYWwgZ2l0IGRpcmVjdG9yeSBmb3Igc3VibW9kdWxlICckc21fbmFtZScuIgogbXNnc3RyICJBa3RpdmVyYXIgbG9rYWwgZ2l0LWthdGFsb2cgZsO2ciB1bmRlcm1vZHVsZW4gXCIkc21fbmFtZVwiIHDDpSBueXR0LiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzAwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIkthbiBpbnRlIGNoZWNrYSB1dCB1bmRlcm1vZHVsZW4gXCIkc21fcGF0aFwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI5NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDozMDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBhZGQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIk1pc3NseWNrYWRlcyBsw6RnZ2EgdGlsbCB1bmRlcm1vZHVsZW4gXCIkc21fcGF0aFwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMwMworIzogZ2l0LXN1Ym1vZHVsZS5zaDozMTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHJlZ2lzdHJlcmEgdW5kZXJtb2R1bGVuIFwiJHNtX3BhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NjMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTgwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLYW4gaW50ZSBoaXR0YSBha3R1ZWxsIHJldmlzaW9uIGkgdW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NzMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAiS2FuIGludGUgaMOkbXRhIGkgdW5kZXJtb2R1bHPDtmt2w6RnIFwiJHNtX3BhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NzgKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTk1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCAke3JlbW90ZV9uYW1lfS8ke2JyYW5jaH0gcmV2aXNpb24gaW4gc3VibW9kdWxlIHBhdGggIgpAQCAtMTk2ODYsMTIgKzIyODY3LDE2IEBACiAiS2FuIGludGUgaGl0dGEgYWt0dWVsbCByZXZpc2lvbiBmw7ZyICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSBpICIKICJ1bmRlcm1vZHVsc8O2a3bDpGdlbiBcIiRzbV9wYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTk2CisjOiBnaXQtc3VibW9kdWxlLnNoOjYxMwogIywgc2gtZm9ybWF0Ci1tc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgotbXNnc3RyICJLYW4gaW50ZSBow6RtdGEgaSB1bmRlcm1vZHVsc8O2a3bDpGcgXCIkZGlzcGxheXBhdGhcIiIKK21zZ2lkICIiCisiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOyB0cnlpbmcgdG8gZGlyZWN0bHkgZmV0Y2ggIgorIiRzaGExOiIKK21zZ3N0ciAiIgorIkthbiBpbnRlIGjDpG10YSBpIHVuZGVybW9kdWxzw7ZrdsOkZyBcIiRkaXNwbGF5cGF0aFwiOyBmw7Zyc8O2a3RlIGjDpG10YSAkc2hhMSAiCisiZGlyZWt0OiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MDIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjE5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiRmV0Y2hlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJywgYnV0IGl0IGRpZCBub3QgY29udGFpbiAkc2hhMS4gIgpAQCAtMTk3MDAsNzIgKzIyODg1LDcyIEBACiAiSMOkbXRhZGUgaSB1bmRlcm1vZHVsc3PDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIiwgbWVuIGRlbiBpbm5laMO2bGwgaW50ZSAkc2hhMS4gIgogIkRpcmVrdCBow6RtdG5pbmcgYXYgaW5jaGVja25pbmdlbiBtaXNzbHlja2FkZXMuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYwOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLYW4gaW50ZSBjaGVja2EgdXQgXCIkc2hhMVwiIGkgdW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTAKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjI3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogY2hlY2tlZCBvdXQgJyRzaGExJyIKIG1zZ3N0ciAiVW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIjogY2hlY2thZGUgdXQgXCIkc2hhMVwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYxNAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byByZWJhc2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiS2FuIGludGUgb21iYXNlcmEgXCIkc2hhMVwiIGkgdW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTUKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjMyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogcmViYXNlZCBpbnRvICckc2hhMSciCiBtc2dzdHIgIlVuZGVybW9kdWxzw7ZrdsOkZ2VuIFwiJGRpc3BsYXlwYXRoXCI6IG9tYmFzZXJhZGUgaW4gaSBcIiRzaGExXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjIwCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIkthbiBpbnRlIHNsw6UgaWhvcCBcIiRzaGExXCIgaSB1bmRlcm1vZHVsc8O2a3bDpGdlbiBcIiRkaXNwbGF5cGF0aFwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYyMQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzgKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBtZXJnZWQgaW4gJyRzaGExJyIKIG1zZ3N0ciAiVW5kZXJtb2R1bHPDtmt2w6RnZW4gXCIkZGlzcGxheXBhdGhcIjogc2FtbWFuc2xhZ2VuIGkgXCIkc2hhMVwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYyNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NDMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBvZiAnJGNvbW1hbmQgJHNoYTEnIGZhaWxlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIk1pc3NseWNrYWRlcyBrw7ZyYSBcIiRjb21tYW5kICRzaGExXCIgaSB1bmRlcm1vZHVsc8O2a3bDpGdlbiBcIiRkaXNwbGF5cGF0aFwiIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYyNworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NDQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgogbXNnc3RyICJVbmRlcm1vZHVsc8O2a3bDpGdlbiBcIiRkaXNwbGF5cGF0aFwiOiBcIiRjb21tYW5kICRzaGExXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjU4CisjOiBnaXQtc3VibW9kdWxlLnNoOjY3NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHJla3Vyc2VyYSBpbiBpIHVuZGVybW9kdWxzw7ZrdsOkZ2VuIFwiJGRpc3BsYXlwYXRoXCIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NzU0CisjOiBnaXQtc3VibW9kdWxlLnNoOjg4NgogbXNnaWQgIlRoZSAtLWNhY2hlZCBvcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgLS1maWxlcyBvcHRpb24iCiBtc2dzdHIgIkZsYWdnYW4gLS1jYWNoZWQga2FuIGludGUgYW52w6RuZGFzIG1lZCBmbGFnZ2FuIC0tZmlsZXMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODA2CisjOiBnaXQtc3VibW9kdWxlLnNoOjkzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBtb2RlICRtb2RfZHN0IgogbXNnc3RyICJvdsOkbnRhdCBsw6RnZSAkbW9kX2RzdCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTU4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdCAkc2hhMV9zcmMiCiBtc2dzdHIgIiAgVmFybmluZzogJGRpc3BsYXlfbmFtZSBpbm5laMOlbGxlciBpbnRlIGluY2hlY2tuaW5nZW4gJHNoYTFfc3JjIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgyOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5NjEKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiICBWYXJuaW5nOiAkZGlzcGxheV9uYW1lIGlubmVow6VsbGVyIGludGUgaW5jaGVja25pbmdlbiAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODMyCisjOiBnaXQtc3VibW9kdWxlLnNoOjk2NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXRzICRzaGExX3NyYyBhbmQgJHNoYTFfZHN0IgogbXNnc3RyICIiCkBAIC0xOTc3NywxMiArMjI5NjIsMjEgQEAKIG1zZ2lkICJTZWUgZ2l0LSR7Y21kfSgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIlNlIGdpdC0ke2NtZH0oMSkgZsO2ciBkZXRhbGplci4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMzYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMDkKK21zZ2lkICJBcHBsaWVkIGF1dG9zdGFzaC4iCittc2dzdHIgIlRpbGzDpG1wYWRlIGF1dG9zdGFzaC4iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMTIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBzdG9yZSAkc3Rhc2hfc2hhMSIKK21zZ3N0ciAiS2FuIGludGUgc3BhcmEgJHN0YXNoX3NoYTEiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxOTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYmFzaW5nICgkbmV3X2NvdW50LyR0b3RhbCkiCiBtc2dzdHIgIk9tYmFzZXJhciAoJG5ld19jb3VudC8kdG90YWwpIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTUyCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjA3CiBtc2dpZCAiIgogIlxuIgogIkNvbW1hbmRzOlxuIgpAQCAtMTk4MjMsNyArMjMwMTcsNyBAQAogIlxuIgogIkR1IGthbiBieXRhIG9yZG5pbmcgcMOlIHJhZGVybmE7IGRlIHV0ZsO2cnMgdXBwaWZyw6VuIG9jaCBuZWQuXG4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMTUKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyNzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgY2FuIGFtZW5kIHRoZSBjb21taXQgbm93LCB3aXRoXG4iCkBAIC0xOTg0Miw4MyArMjMwMzYsODMgQEAKICJcbiIKICJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjI0MAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjI5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHNoYTE6IG5vdCBhIGNvbW1pdCB0aGF0IGNhbiBiZSBwaWNrZWQiCiBtc2dzdHIgIiRzaGExOiBpbnRlIGVuIGluY2hlY2tuaW5nIHNvbSBrYW4gdsOkbGphcyIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjI3OQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjMzNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBjb21taXQgbmFtZTogJHNoYTEiCiBtc2dzdHIgIkZlbGFrdGlndCBpbmNoZWNrbmluZ3NuYW1uOiAkc2hhMSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjMwOQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM2NAogbXNnaWQgIkNhbm5vdCB3cml0ZSBjdXJyZW50IGNvbW1pdCdzIHJlcGxhY2VtZW50IHNoYTEiCiBtc2dzdHIgIkthbiBpbnRlIHNrcml2YSBlcnPDpHR0bmluZ3Mtc2hhMSBmw7ZyIGFrdHVlbGwgaW5jaGVja25pbmciCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozNjAKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZCB0byAkc2hhMSIKIG1zZ3N0ciAiU25hYmJzcG9sYWRlIHRpbGwgJHNoYTEiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozNjIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBmYXN0LWZvcndhcmQgdG8gJHNoYTEiCiBtc2dzdHIgIkthbiBpbnRlIHNuYWJic3BvbGEgdGlsbCAkc2hhMSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM3MQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQyNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG1vdmUgSEVBRCB0byAkZmlyc3RfcGFyZW50IgogbXNnc3RyICJLYW4gaW50ZSBmbHl0dGEgSEVBRCB0aWxsICRmaXJzdF9wYXJlbnQiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozNzYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIHNxdWFzaCBhIG1lcmdlOiAkc2hhMSIKIG1zZ3N0ciAiVsOkZ3JhciB1dGbDtnJhIFwic3F1YXNoXCIgcMOlIGVuIHNhbW1hbnNsYWduaW5nOiAkc2hhMSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM5NAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ0OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRXJyb3IgcmVkb2luZyBtZXJnZSAkc2hhMSIKIG1zZ3N0ciAiRmVsIG7DpHIgc2FtbWFuc2xhZ25pbmdlbiAkc2hhMSBza3VsbGUgZ8O2cmFzIG9tIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDAzCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDU4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGljayAkc2hhMSIKIG1zZ3N0ciAiS3VuZGUgaW50ZSB2w6RsamEgJHNoYTEiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NjcKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgdGhlIGNvbW1pdCBtZXNzYWdlICMke259OiIKIG1zZ3N0ciAiRGV0IGjDpHIgw6RyIGluY2hlY2tuaW5nc21lZGRlbGFuZGUgJHtufToiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRoZSBjb21taXQgbWVzc2FnZSAjJHtufSB3aWxsIGJlIHNraXBwZWQ6IgogbXNnc3RyICJJbmNoZWNrbmluZ3NtZWRkZWxhbmRlICR7bn0ga29tbWVyIGhvcHBhcyDDtnZlcjoiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MjgKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0ODMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0LiIKIG1zZ2lkX3BsdXJhbCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICRjb3VudCBjb21taXRzLiIKIG1zZ3N0clswXSAiRGV0IGjDpHIgw6RyIGVuIGtvbWJpbmF0aW9uIGF2ICRjb3VudCBpbmNoZWNrbmluZy4iCiBtc2dzdHJbMV0gIkRldCBow6RyIMOkciBlbiBrb21iaW5hdGlvbiBhdiAkY291bnQgaW5jaGVja25pbmdhci4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MzcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0OTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB3cml0ZSAkZml4dXBfbXNnIgogbXNnc3RyICJLYW4gaW50ZSBza3JpdmEgJGZpeHVwX21zZyIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ0MAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ5NQogbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAyIGNvbW1pdHMuIgogbXNnc3RyICJEZXQgaMOkciDDpHIgZW4ga29tYmluYXRpb24gYXYgMiBpbmNoZWNrbmluZ2FyLiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ4MSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NTI0Ci0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NTI3CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NTM2IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1NzkKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1ODIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAkc2hhMS4uLiAkcmVzdCIKIG1zZ3N0ciAiS3VuZGUgaW50ZSB0aWxsw6RtcGEgJHNoYTEuLi4gJHJlc3QiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1NTYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2MTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgYW1lbmQgY29tbWl0IGFmdGVyIHN1Y2Nlc3NmdWxseSBwaWNraW5nICRzaGExLi4uICRyZXN0XG4iCkBAIC0xOTkzMiwzMSArMjMxMjYsMzEgQEAKICJwcmUtY29tbWl0LWtyb2tlbiBtaXNzbHlja2FkZXMuIE9tIHByZS1jb21taXQta3Jva2VuIG1pc3NseWNrYWRlcyBrYW5za2VcbiIKICJkdSBtw6VzdGUgbMO2c2EgcHJvYmxlbWV0IGlubmFuIGR1IGthbiBza3JpdmEgb20gaW5jaGVja25pbmdzbWVkZGVsYW5kZXQuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NTcxCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjI2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkIGF0ICRzaGExX2FiYnJldi4uLiAkcmVzdCIKIG1zZ3N0ciAiU3RvcHBhZGUgcMOlICRzaGExX2FiYnJldi4uLiAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU4NgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY0MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90ICckc3F1YXNoX3N0eWxlJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICJLYW4gaW50ZSB1dGbDtnJhIFwiJHNxdWFzaF9zdHlsZVwiIHV0YW4gZW4gZsO2cmVnw6VlbmRlIGluY2hlY2tuaW5nIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjI4CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjgzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpbmc6ICRyZXN0IgogbXNnc3RyICJLw7ZyOiAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYzNgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY5MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRXhlY3V0aW9uIGZhaWxlZDogJHJlc3QiCiBtc2dzdHIgIkvDtnJuaW5nIG1pc3NseWNrYWRlczogJHJlc3QiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2MzgKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2OTMKIG1zZ2lkICJhbmQgbWFkZSBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAib2NoIGdqb3JkZSDDpG5kcmluZ2FyIHRpbGwgaW5kZXhldCBvY2gvZWxsZXIgYXJiZXRza2F0YWxvZ2VuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjQwCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Njk1CiBtc2dpZCAiIgogIllvdSBjYW4gZml4IHRoZSBwcm9ibGVtLCBhbmQgdGhlbiBydW5cbiIKICJcbiIKQEAgLTE5OTY3LDcgKzIzMTYxLDcgQEAKICJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKIAogIy4gVFJBTlNMQVRPUlM6IGFmdGVyIHRoZXNlIGxpbmVzIGlzIGEgY29tbWFuZCB0byBiZSBpc3N1ZWQgYnkgdGhlIHVzZXIKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NTMKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MDgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJFeGVjdXRpb24gc3VjY2VlZGVkOiAkcmVzdFxuIgpAQCAtMTk5ODIsMjUgKzIzMTc2LDI1IEBACiAiXG4iCiAiXHRnaXQgcmViYXNlIC0tY29udGludWUiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NjQKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVua25vd24gY29tbWFuZDogJGNvbW1hbmQgJHNoYTEgJHJlc3QiCiBtc2dzdHIgIk9rw6RudCBrb21tYW5kbzogJGNvbW1hbmQgJHNoYTEgJHJlc3QiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NjUKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MjAKIG1zZ2lkICJQbGVhc2UgZml4IHRoaXMgdXNpbmcgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKIG1zZ3N0ciAiUsOkdHRhIGRldCBtZWQgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzAwCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzU1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWNjZXNzZnVsbHkgcmViYXNlZCBhbmQgdXBkYXRlZCAkaGVhZF9uYW1lLiIKIG1zZ3N0ciAiTHlja2FkZXMgb21iYXNlcmEgb2NoIHVwcGRhdGVyYSAkaGVhZF9uYW1lLiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc1NworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgxMgogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKIG1zZ3N0ciAiS3VuZGUgaW50ZSB0YSBib3J0IENIRVJSWV9QSUNLX0hFQUQiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3NjIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MTcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTIwMDMxLDUyICsyMzIyNSw1MiBAQAogIlxuIgogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3NzkKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MzQKIG1zZ2lkICJFcnJvciB0cnlpbmcgdG8gZmluZCB0aGUgYXV0aG9yIGlkZW50aXR5IHRvIGFtZW5kIGNvbW1pdCIKIG1zZ3N0ciAiRmVsIHZpZCBmw7Zyc8O2ayBhdHQgaGl0dGEgZsO2cmZhdHRhcmlkZW50aXRldCBmw7ZyIGF0dCB1dMO2a2EgaW5jaGVja25pbmciCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3ODQKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MzkKIG1zZ2lkICIiCiAiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlIGNvbW1pdCB0aGVtXG4iCiAiZmlyc3QgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnIGFnYWluLiIKIG1zZ3N0ciAiIgogIkR1IGhhciDDpG5kcmluZ2FyIGkgYXJiZXRza2F0YWxvZ2VuIHNvbSBpbnRlIGNoZWNrYXRzIGluLiBDaGVja2EgaW4gZGVtXG4iCi0iZsO2cnN0IG9jaCBrw7ZyIHNlZGFuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnV0ZVwiIGlnZW4uIgorImbDtnJzdCBvY2gga8O2ciBzZWRhbiBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIGlnZW4uIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Nzg5IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3OTMKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NDQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg0OAogbXNnaWQgIkNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJLdW5kZSBpbnRlIGNoZWNrYSBpbiBrw7ZhZGUgw6RuZHJpbmdhci4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MjQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkxMAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg3OSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTY1CiBtc2dpZCAiQ291bGQgbm90IGV4ZWN1dGUgZWRpdG9yIgogbXNnc3RyICJLdW5kZSBpbnRlIHN0YXJ0YSB0ZXh0cmVkaWdlcmFyZSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg0NQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkwMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNoZWNrb3V0ICRzd2l0Y2hfdG8iCiBtc2dzdHIgIkt1bmRlIGludGUgY2hlY2thIHV0ICRzd2l0Y2hfdG8iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NTIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MDcKIG1zZ2lkICJObyBIRUFEPyIKIG1zZ3N0ciAiSW5nZXQgSEVBRD8iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NTMKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MDgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICRzdGF0ZV9kaXIiCiBtc2dzdHIgIkt1bmRlIGludGUgc2thcGEgdGVtcG9yw6RyICRzdGF0ZV9kaXIiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NTYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MTEKIG1zZ2lkICJDb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKIG1zZ3N0ciAiS3VuZGUgaW50ZSBtYXJrZXJhIHNvbSBpbnRlcmFrdGl2IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODg4CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTQzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJSZWJhc2UgJHNob3J0cmV2aXNpb25zIG9udG8gJHNob3J0b250byAoJHRvZG9jb3VudCBjb21tYW5kKSIKIG1zZ2lkX3BsdXJhbCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZHMpIgogbXNnc3RyWzBdICJPbWJhc2VyYSAkc2hvcnRyZXZpc2lvbnMgcMOlICRzaG9ydG9udG8gKCR0b2RvY291bnQgaW5jaGVja25pbmcpIgogbXNnc3RyWzFdICJPbWJhc2VyYSAkc2hvcnRyZXZpc2lvbnMgcMOlICRzaG9ydG9udG8gKCR0b2RvY291bnQgaW5jaGVja25pbmdhcikiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NDIgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk0NworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk5NyBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTAwMgogbXNnaWQgIkNvdWxkIG5vdCBpbml0IHJld3JpdHRlbiBjb21taXRzIgogbXNnc3RyICJLdW5kZSBpbnRlIGluaXRpZXJhIG9tc2tyaXZuYSBpbmNoZWNrbmluZ2FyIgogCkBAIC0yMDA4NSwxMzcgKzIzMjc5LDc1IEBACiBtc2dpZCAidXNhZ2U6ICRkYXNobGVzcyAkVVNBR0UiCiBtc2dzdHIgImFudsOkbmQ6ICRkYXNobGVzcyAkVVNBR0UiCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoxOTAKKyM6IGdpdC1zaC1zZXR1cC5zaDoxOTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBjaGRpciB0byAkY2R1cCwgdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIkt1bmRlIGludGUgYnl0YSBrYXRhbG9nIHRpbGwgJGNkdXAsIHRvcHBuaXbDpW4gcMOlIGFyYmV0c2thdGFsb2dlbiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjE5OSBnaXQtc2gtc2V0dXAuc2g6MjA2CisjOiBnaXQtc2gtc2V0dXAuc2g6MjAwIGdpdC1zaC1zZXR1cC5zaDoyMDcKICMsIHNoLWZvcm1hdAogbXNnaWQgImZhdGFsOiAkcHJvZ3JhbV9uYW1lIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgYSB3b3JraW5nIHRyZWUuIgogbXNnc3RyICLDtmRlc2RpZ2V0cnQ6ICRwcm9ncmFtX25hbWUga2FuIGludGUgYW52w6RuZGFzIHV0YW4gYXJiZXRza2F0YWxvZy4iCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoyMjAKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjEKIG1zZ2lkICJDYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiS2FuIGludGUgb21iYXNlcmE6IER1IGhhciBva8O2YWRlIMOkbmRyaW5nYXIuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjIzCisjOiBnaXQtc2gtc2V0dXAuc2g6MjI0CiBtc2dpZCAiQ2Fubm90IHJld3JpdGUgYnJhbmNoZXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJLYW4gaW50ZSBza3JpdmEgb20gZ3JlbmFyOiBEdSBoYXIgb2vDtmFkZSDDpG5kcmluZ2FyLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjIyNgorIzogZ2l0LXNoLXNldHVwLnNoOjIyNwogbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiS2FuIGludGUgaMOkbXRhIG1lZCBvbWJhc2VyaW5nOiBEdSBoYXIgb2vDtmFkZSDDpG5kcmluZ2FyLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjIyOQorIzogZ2l0LXNoLXNldHVwLnNoOjIzMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90ICRhY3Rpb246IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJLYW4gaW50ZSAkYWN0aW9uOiBEdSBoYXIgb2vDtmFkZSDDpG5kcmluZ2FyLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjI0MgorIzogZ2l0LXNoLXNldHVwLnNoOjI0MwogbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKICJLYW4gaW50ZSBvbWJhc2VyYTogRGl0dCBpbmRleCBpbm5laMOlbGxlciDDpG5kcmluZ2FyIHNvbSBpbnRlIGNoZWNrYXRzIGluLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjI0NQorIzogZ2l0LXNoLXNldHVwLnNoOjI0NgogbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICIiCiAiS2FuIGludGUgaMOkbXRhIG1lZCBvbWJhc2VyaW5nOiBEaXR0IGluZGV4IGlubmVow6VsbGVyIG9pbmNoZWNrYWRlIMOkbmRyaW5nYXIuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjQ4CisjOiBnaXQtc2gtc2V0dXAuc2g6MjQ5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgJGFjdGlvbjogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogIkthbiBpbnRlICRhY3Rpb246IERpdHQgaW5kZXggaW5uZWjDpWxsZXIgw6RuZHJpbmdhciBzb20gaW50ZSBjaGVja2F0cyBpbi4iCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoyNTIKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNTMKIG1zZ2lkICJBZGRpdGlvbmFsbHksIHlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIkRlc3N1dG9tIGlubmVow6VsbGVyIGRpdCBpbmRleCDDpG5kcmluZ2FyIHNvbSBpbnRlIGhhciBjaGVja2F0cyBpbi4iCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDozNzIKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzMKIG1zZ2lkICJZb3UgbmVlZCB0byBydW4gdGhpcyBjb21tYW5kIGZyb20gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUuIgogbXNnc3RyICJEdSBtw6VzdGUga8O2cmEga29tbWFuZG90IGZyw6VuIGFyYmV0c2thdGFsb2dlbnMgdG9wcG5pdsOlLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjM3NworIzogZ2l0LXNoLXNldHVwLnNoOjM3OAogbXNnaWQgIlVuYWJsZSB0byBkZXRlcm1pbmUgYWJzb2x1dGUgcGF0aCBvZiBnaXQgZGlyZWN0b3J5IgogbXNnc3RyICJLdW5kZSBpbnRlIGJlc3TDpG1tYSBhYnNvbHV0IHPDtmt2w6RnIHRpbGwgZ2l0LWthdGFsb2dlbiIKIAogIy4gVFJBTlNMQVRPUlM6IHlvdSBjYW4gYWRqdXN0IHRoaXMgdG8gYWxpZ24gImdpdCBhZGQgLWkiIHN0YXR1cyBtZW51Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE5NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMTIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJTEycyAlMTJzICVzIgogbXNnc3RyICIlMTJzICUxMnMgJXMiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk3Ci1tc2dpZCAic3RhZ2VkIgotbXNnc3RyICJrw7ZhZCIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKLW1zZ2lkICJ1bnN0YWdlZCIKLW1zZ3N0ciAiZWoga8O2YWQiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjUzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Mjc4Ci1tc2dpZCAiYmluYXJ5IgotbXNnc3RyICJiaW7DpHIiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjYyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzE2Ci1tc2dpZCAibm90aGluZyIKLW1zZ3N0ciAiaW5nZW50aW5nIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI5OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMxMwotbXNnaWQgInVuY2hhbmdlZCIKLW1zZ3N0ciAib8OkbmRyYWQiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjA5Ci0jLCBwZXJsLWZvcm1hdAotbXNnaWQgImFkZGVkICVkIHBhdGhcbiIKLW1zZ2lkX3BsdXJhbCAiYWRkZWQgJWQgcGF0aHNcbiIKLW1zZ3N0clswXSAibGFkZSB0aWxsICVkIHPDtmt2w6RnXG4iCi1tc2dzdHJbMV0gImxhZGUgdGlsbCAlZCBzw7ZrdsOkZ2FyXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjEyCi0jLCBwZXJsLWZvcm1hdAotbXNnaWQgInVwZGF0ZWQgJWQgcGF0aFxuIgotbXNnaWRfcGx1cmFsICJ1cGRhdGVkICVkIHBhdGhzXG4iCi1tc2dzdHJbMF0gInVwcGRhdGVyYWRlICVkIHPDtmt2w6RnXG4iCi1tc2dzdHJbMV0gInVwcGRhdGVyYWRlICVkIHPDtmt2w6RnYXJcbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MTUKLSMsIHBlcmwtZm9ybWF0Ci1tc2dpZCAicmV2ZXJ0ZWQgJWQgcGF0aFxuIgotbXNnaWRfcGx1cmFsICJyZXZlcnRlZCAlZCBwYXRoc1xuIgotbXNnc3RyWzBdICLDpXRlcnN0w6RsbGRlICVkIHPDtmt2w6RnXG4iCi1tc2dzdHJbMV0gIsOldGVyc3TDpGxsZGUgJWQgc8O2a3bDpGdhclxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYxOAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidG91Y2hlZCAlZCBwYXRoXG4iCiBtc2dpZF9wbHVyYWwgInRvdWNoZWQgJWQgcGF0aHNcbiIKIG1zZ3N0clswXSAicsO2cmRlICVkIHPDtmt2w6RnXG4iCiBtc2dzdHJbMV0gInLDtnJkZSAlZCBzw7ZrdsOkZ2FyXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjI3Ci1tc2dpZCAiVXBkYXRlIgotbXNnc3RyICJVcHBkYXRlcmEiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjM5Ci1tc2dpZCAiUmV2ZXJ0IgotbXNnc3RyICLDhXRlcnN0w6RsbCIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NjIKLSMsIHBlcmwtZm9ybWF0Ci1tc2dpZCAibm90ZTogJXMgaXMgdW50cmFja2VkIG5vdy5cbiIKLW1zZ3N0ciAib2JzZXJ2ZXJhOiAlcyBzcMOlcmFzIGludGUgbMOkbmdyZS5cbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzMKLW1zZ2lkICJBZGQgdW50cmFja2VkIgotbXNnc3RyICJMw6RnZyB0aWxsIG9zcMOlcmFkIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY3OQotbXNnaWQgIk5vIHVudHJhY2tlZCBmaWxlcy5cbiIKLW1zZ3N0ciAiSW5nYSBvc3DDpXJhZGUgZmlsZXIuXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAzMworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDUzCiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBzdGFnaW5nLiIKQEAgLTIwMjIzLDcgKzIzMzU1LDcgQEAKICJPbSBwYXRjaGVuIGthbiBhcHBsaWNlcmFzIHJlbnQga29tbWVyIGRldCByZWRpZ2VyYWRlIHN0eWNrZXQgYXR0XG4iCiAia8O2YXMgb21lZGVsYmFydC4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAzNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDU2CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBzdGFzaGluZy4iCkBAIC0yMDIzMSw3ICsyMzM2Myw3IEBACiAiT20gcGF0Y2hlbiBrYW4gYXBwbGljZXJhcyByZW50IGtvbW1lciBkZXQgcmVkaWdlcmFkZSBzdHlja2V0IGF0dFxuIgogImzDpGdnYXMgdGlsbCBpIFwic3Rhc2hcIiBvbWVkZWxiYXJ0LiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDM5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTkKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHVuc3RhZ2luZy4iCkBAIC0yMDIzOSw3ICsyMzM3MSw4IEBACiAiT20gcGF0Y2hlbiBrYW4gYXBwbGljZXJhcyByZW50IGtvbW1lciBkZXQgcmVkaWdlcmFkZSBzdHlja2V0IGF0dFxuIgogInRhcyBib3J0IGZyw6VuIGvDtm4gb21lZGVsYmFydC4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA2MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNzEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA3NwogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgYXBwbHlpbmcuIgpAQCAtMjAyNDcsNyArMjMzODAsOCBAQAogIk9tIHBhdGNoZW4ga2FuIGFwcGxpY2VyYXMgcmVudCBrb21tZXIgZGV0IHJlZGlnZXJhZGUgc3R5Y2tldCBhdHRcbiIKICJtYXJrZXJhcyBmw7ZyIGFwcGxpY2VyaW5nIG9tZWRlbGJhcnQuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQ4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNzQKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIGRpc2NhcmRpbmcuIgpAQCAtMjAyNTUsMTYgKzIzMzg5LDEyIEBACiAiT20gcGF0Y2hlbiBrYW4gYXBwbGljZXJhcyByZW50IGtvbW1lciBkZXQgcmVkaWdlcmFkZSBzdHlja2V0IGF0dFxuIgogIm1hcmtlcmFzIGbDtnIga2FzdGEgb21lZGVsYmFydC4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA4NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTExCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuIGh1bmsgZWRpdCBmaWxlIGZvciB3cml0aW5nOiAlcyIKIG1zZ3N0ciAibWlzc2x5Y2thZGVzIMO2cHBuYSBzdHlja2VyZWRpZ2VyaW5nc2ZpbCBmw7ZyIHNrcml2bmluZzogJXMiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA4NgotbXNnaWQgIk1hbnVhbCBodW5rIGVkaXQgbW9kZSAtLSBzZWUgYm90dG9tIGZvciBhIHF1aWNrIGd1aWRlLlxuIgotbXNnc3RyICJNYW51ZWxsdCBzdHlja2VyZWRpZ2VyaW5nc2zDpGdlIC0tIHNlIG5lZGVyc3QgZsO2ciBzbmFiYmd1aWRlLlxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwOTIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTExOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiLS0tXG4iCkBAIC0yMDI3NywzNiArMjM0MDcsMTIgQEAKICJUYSBib3J0IFwiJXNcIiByYWRlciBnZW5vbSBhdHQgcmFkZXJhIGRlbS5cbiIKICJSYWRlciBzb20gYsO2cmphciBtZWQgJXMga29tbWVyIGF0dCB0YXMgYm9ydC5cbiIKIAotIy4gVFJBTlNMQVRPUlM6ICdpdCcgcmVmZXJzIHRvIHRoZSBwYXRjaCBtZW50aW9uZWQgaW4gdGhlIHByZXZpb3VzIG1lc3NhZ2VzLgotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTAwCi1tc2dpZCAiIgotIklmIGl0IGRvZXMgbm90IGFwcGx5IGNsZWFubHksIHlvdSB3aWxsIGJlIGdpdmVuIGFuIG9wcG9ydHVuaXR5IHRvXG4iCi0iZWRpdCBhZ2Fpbi4gIElmIGFsbCBsaW5lcyBvZiB0aGUgaHVuayBhcmUgcmVtb3ZlZCwgdGhlbiB0aGUgZWRpdCBpc1xuIgotImFib3J0ZWQgYW5kIHRoZSBodW5rIGlzIGxlZnQgdW5jaGFuZ2VkLlxuIgotbXNnc3RyICIiCi0iT20gcGF0Y2hlbiBpbnRlIGthbiBhcHBsaWNlcmFzIHJlbnQga29tbWVyIGR1IGbDpSBlbiBtw7ZqbGlnaGV0IGF0dFxuIgotInJlZGlnZXJhIGRlbiBpZ2VuLiBPbSBhbGxhIHJhZGVyIGkgZXR0IHN0eWNrZSB0YXMgYm9ydCBhdmJyeXRzXG4iCi0icmVkaWdlcmluZ2VuIG9jaCBzdHlja2V0IGzDpG1uYXMgb2bDtnLDpG5kcmF0LlxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE0MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBodW5rIGVkaXQgZmlsZSBmb3IgcmVhZGluZzogJXMiCiBtc2dzdHIgIm1pc3NseWNrYWRlcyDDtnBwbmEgc3R5Y2tlc3JlZGlnZXJpbmdzZmlsIGbDtnIgbMOkc25pbmc6ICVzIgogCi0jLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSBbeS9uXQotIy4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCB0aGF0IGlucHV0Ci0jLiBhdCB0aGlzIHBvaW50LgotIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKLSMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCi0jLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIxMwotbXNnaWQgIiIKLSJZb3VyIGVkaXRlZCBodW5rIGRvZXMgbm90IGFwcGx5LiBFZGl0IGFnYWluIChzYXlpbmcgXCJub1wiIGRpc2NhcmRzISkgW3kvbl0/ICIKLW1zZ3N0ciAiIgotIkRpdHQgcmVkaWdlcmFkZSBzdHlja2Uga2FuIGludGUgYXBwbGljZXJhcy4gUmVkaWdlcmEgaWdlbiAoXCJuZWpcIiBrYXN0YXIhKSAiCi0iW3kvbl0/ICIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjIyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDgKIG1zZ2lkICIiCiAieSAtIHN0YWdlIHRoaXMgaHVua1xuIgogIm4gLSBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rXG4iCkBAIC0yMDMyMCw3ICsyMzQyNiw3IEBACiAiYSAtIGvDtmEgc3R5Y2tldCBvY2ggYWxsYSBmw7ZsamFuZGUgaSBmaWxlblxuIgogImQgLSBrw7ZhIGludGUgc3R5Y2tldCBlbGxlciBuw6Vnb3QgYXYgZGUgZsO2bGphbmRlIGkgZmlsZW4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyOAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjU0CiBtc2dpZCAiIgogInkgLSBzdGFzaCB0aGlzIGh1bmtcbiIKICJuIC0gZG8gbm90IHN0YXNoIHRoaXMgaHVua1xuIgpAQCAtMjAzMzQsNyArMjM0NDAsNyBAQAogImEgLSBcInN0YXNoXCI6YSBzdHlja2V0IG9jaCBhbGxhIGbDtmxqYW5kZSBpIGZpbGVuXG4iCiAiZCAtIFwic3Rhc2hcIjphIGludGUgc3R5Y2tldCBlbGxlciBuw6Vnb3QgYXYgZGUgZsO2bGphbmRlIGkgZmlsZW4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIzNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjYwCiBtc2dpZCAiIgogInkgLSB1bnN0YWdlIHRoaXMgaHVua1xuIgogIm4gLSBkbyBub3QgdW5zdGFnZSB0aGlzIGh1bmtcbiIKQEAgLTIwMzQ4LDcgKzIzNDU0LDcgQEAKICJhIC0gdGEgYm9ydCBzdHlja2V0IG9jaCBhbGxhIGbDtmxqYW5kZSBpIGZpbGVuIGZyw6VuIGvDtm5cbiIKICJkIC0gdGEgaW50ZSBib3J0IHN0eWNrZXQgZWxsZXIgbsOlZ290IGF2IGRlIGbDtmxqYW5kZSBpIGZpbGVuIGZyw6VuIGvDtm4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI0MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjY2CiBtc2dpZCAiIgogInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXhcbiIKICJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgpAQCAtMjAzNjIsNyArMjM0NjgsNyBAQAogImEgLSBhcHBsaWNlcmEgc3R5Y2tldCBvY2ggYWxsYSBmw7ZsamFuZGUgaSBmaWxlblxuIgogImQgLSBhcHBsaWNlcmEgaW50ZSBzdHlja2V0IGVsbGVyIG7DpWdvdCBhdiBkZSBmw7ZsamFuZGUgaSBmaWxlbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQ2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjkwCiBtc2dpZCAiIgogInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCkBAIC0yMDM3Niw3ICsyMzQ4Miw3IEBACiAiYSAtIGbDtnJrYXN0YSBzdHlja2V0IG9jaCBhbGxhIGbDtmxqYW5kZSBpIGZpbGVuXG4iCiAiZCAtIGbDtnJrYXN0YSBpbnRlIHN0eWNrZXQgZWxsZXIgbsOlZ290IGF2IGRlIGbDtmxqYW5kZSBpIGZpbGVuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNTIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3OAogbXNnaWQgIiIKICJ5IC0gZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWVcbiIKICJuIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlXG4iCkBAIC0yMDM5MCw3ICsyMzQ5Niw3IEBACiAiYSAtIGbDtnJrYXN0YSBzdHlja2V0IG9jaCBhbGxhIGbDtmxqYW5kZSBpIGZpbGVuXG4iCiAiZCAtIGbDtnJrYXN0YSBpbnRlIHN0eWNrZXQgZWxsZXIgbsOlZ290IGF2IGRlIGbDtmxqYW5kZSBpIGZpbGVuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI4NAogbXNnaWQgIiIKICJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZVxuIgpAQCAtMjA0MDQsNyArMjM1MTAsMjEgQEAKICJhIC0gYXBwbGljZXJhIHN0eWNrZXQgb2NoIGFsbGEgZsO2bGphbmRlIGkgZmlsZW5cbiIKICJkIC0gYXBwbGljZXJhIGludGUgc3R5Y2tldCBlbGxlciBuw6Vnb3QgYXYgZGUgZsO2bGphbmRlIGkgZmlsZW4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjk2Cittc2dpZCAiIgorInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gd29ya3RyZWVcbiIKKyJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byB3b3JrdHJlZVxuIgorInEgLSBxdWl0OyBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gYXBwbHkgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKKyJkIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgorbXNnc3RyICIiCisieSAtIGFwcGxpY2VyYSBzdHlja2V0IHDDpSBhcmJldHNrYXRhbG9nZW5cbiIKKyJuIC0gYXBwbGljZXJhIGludGUgc3R5Y2tldCBww6UgYXJiZXRza2F0YWxvZ2VuXG4iCisicSAtIGF2c2x1dGE7IGFwcGxpY2VyYSBpbnRlIHN0eWNrZXQgZWxsZXIgbsOlZ290IGF2IGRlIGbDtmxqYW5kZVxuIgorImEgLSBhcHBsaWNlcmEgc3R5Y2tldCBvY2ggYWxsYSBmw7ZsamFuZGUgaSBmaWxlblxuIgorImQgLSBhcHBsaWNlcmEgaW50ZSBzdHlja2V0IGVsbGVyIG7DpWdvdCBhdiBkZSBmw7ZsamFuZGUgaSBmaWxlbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzExCiBtc2dpZCAiIgogImcgLSBzZWxlY3QgYSBodW5rIHRvIGdvIHRvXG4iCiAiLyAtIHNlYXJjaCBmb3IgYSBodW5rIG1hdGNoaW5nIHRoZSBnaXZlbiByZWdleFxuIgpAQCAtMjA0MjYsMjExICsyMzU0NiwxOTggQEAKICJlIC0gcmVkaWdlcmEgYWt0dWVsbHQgc3R5Y2tlIG1hbnVlbGx0XG4iCiAiPyAtIHZpc2EgaGrDpGxwXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzQyCiBtc2dpZCAiVGhlIHNlbGVjdGVkIGh1bmtzIGRvIG5vdCBhcHBseSB0byB0aGUgaW5kZXghXG4iCiBtc2dzdHIgIk1hcmtlcmFkZSBzdHlja2VuIGthbiBpbnRlIGFwcGxpY2VyYXMgcMOlIGluZGV4ZXQhXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzQzCiBtc2dpZCAiQXBwbHkgdGhlbSB0byB0aGUgd29ya3RyZWUgYW55d2F5PyAiCiBtc2dzdHIgIkFwcGxpY2VyYSBkZW0gcMOlIGFyYmV0c2thdGFsb2dlbiB0cm90cyBkZXQ/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNDYKIG1zZ2lkICJOb3RoaW5nIHdhcyBhcHBsaWVkLlxuIgogbXNnc3RyICJJbmdlbnRpbmcgYXBwbGljZXJhZGVzLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM1NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyB1bm1lcmdlZDogJXNcbiIKIG1zZ3N0ciAiaWdub3JlcmFyIGVqIHNhbW1hbnNsYWdlbjogJXNcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzI4Ci1tc2dpZCAiT25seSBiaW5hcnkgZmlsZXMgY2hhbmdlZC5cbiIKLW1zZ3N0ciAiRW5kYXN0IGJpbsOkcmEgZmlsZXIgw6RuZHJhZGUuXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzMAotbXNnaWQgIk5vIGNoYW5nZXMuXG4iCi1tc2dzdHIgIkluZ2Egw6RuZHJpbmdhci5cbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzM4Ci1tc2dpZCAiUGF0Y2ggdXBkYXRlIgotbXNnc3RyICJVcHBkYXRlcmEgcGF0Y2giCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDI4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJLw7ZhIMOkbmRyYXQgbMOkZ2UgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDI5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJLw7ZhIGJvcnR0YWduaW5nIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSB0aGlzIGh1bmsgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIkvDtmEgc3R5Y2tldCBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzk1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3Rhc2ggbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIlN0YXNoOmEgw6RuZHJhdCBsw6RnZSBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzk2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3Rhc2ggZGVsZXRpb24gW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIlN0YXNoOmEgYm9ydHRhZ25pbmcgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDM1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YXNoIHRoaXMgaHVuayBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiU3Rhc2g6YSBzdHlja2V0IFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MDAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJUYSBib3J0IMOkbmRyYXQgbMOkZ2UgZnLDpW4ga8O2biBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDAxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5zdGFnZSBkZWxldGlvbiBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiVGEgYm9ydCBib3J0dGFnbmluZyBmcsOlbiBrw7ZuIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MDIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiVGEgYm9ydCBzdHlja2V0IGZyw6VuIGvDtm4gW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIGluZGV4IFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJBcHBsaWNlcmEgw6RuZHJhdCBsw6RnZSBww6UgaW5kZXhldCBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDA2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgZGVsZXRpb24gdG8gaW5kZXggW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIkFwcGxpY2VyYSBib3J0dGFnbmluZyBww6UgaW5kZXhldCBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDA3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJBcHBsaWNlcmEgc3R5Y2tldCBww6UgaW5kZXhldCBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDEwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDYzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgbW9kZSBjaGFuZ2UgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiS2FzdGEgw6RuZHJhdCBsw6RnZSBmcsOlbiBhcmJldHNrYXRhbG9nZW4gW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxMQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQ5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2NAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIGRlbGV0aW9uIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIkthc3RhIGJvcnR0YWduaW5nIGZyw6VuIGFyYmV0c2thdGFsb2dlbiBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDEyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIkthc3RhIHN0eWNrZXQgZnLDpW4gYXJiZXRza2F0YWxvZ2VuIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MTUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJLYXN0YSDDpG5kcmF0IGzDpGdlIGZyw6VuIGluZGV4ZXQgb2NoIGFyYmV0c2thdGFsb2dlbiBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDE2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBkZWxldGlvbiBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiS2FzdGEgYm9ydHRhZ25pbmcgZnLDpW4gaW5kZXhldCBvY2ggYXJiZXRza2F0YWxvZ2VuIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MTcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiS2FzdGEgc3R5Y2tldCBmcsOlbiBpbmRleGV0IG9jaCBhcmJldHNrYXRhbG9nZW4gW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyMAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiQXBwbGljZXJhIMOkbmRyYXQgbMOkZ2UgcMOlIGluZGV4ZXQgb2NoIGFyYmV0c2thdGFsb2dlbiBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDIxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgZGVsZXRpb24gdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJBcHBsaWNlcmEgYm9ydHRhZ25pbmcgcMOlIGluZGV4ZXQgb2NoIGFyYmV0c2thdGFsb2dlbiBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDIyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiQXBwbGljZXJhIHN0eWNrZXQgcMOlIGluZGV4ZXQgb2NoIGFyYmV0c2thdGFsb2dlbiBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTIyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIkFwcGxpY2VyYSDDpG5kcmF0IGzDpGdlIHDDpSBhcmJldHNrYXRhbG9nZW4gW3ksbixxLGEsZCVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2OQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSBkZWxldGlvbiB0byB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiQXBwbGljZXJhIGJvcnR0YWduaW5nIHDDpSBhcmJldHNrYXRhbG9nZW4gW3ksbixxLGEsZCVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ3MAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIkFwcGxpY2VyYSBzdHlja2V0IHDDpSBhcmJldHNrYXRhbG9nZW4gW3ksbixxLGEsZCVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3MAogbXNnaWQgIk5vIG90aGVyIGh1bmtzIHRvIGdvdG9cbiIKIG1zZ3N0ciAiSW5nYSBhbmRyYSBzdHlja2VuIGF0dCBnw6UgdGlsbFxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MjkKLW1zZ2lkICJnbyB0byB3aGljaCBodW5rICg8cmV0PiB0byBzZWUgbW9yZSk/ICIKLW1zZ3N0ciAiZ8OlIHRpbGwgdmlsa2V0IHN0eWNrZSAoPHJldD4gZsO2ciBhdHQgc2UgZmxlcik/ICIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTMxCi1tc2dpZCAiZ28gdG8gd2hpY2ggaHVuaz8gIgotbXNnc3RyICJnw6UgdGlsbCB2aWxrZXQgc3R5Y2tlPyAiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU0MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTg4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkludmFsaWQgbnVtYmVyOiAnJXMnXG4iCiBtc2dzdHIgIk9naWx0aWd0IHNpZmZlcnbDpHJkZTogXCIlc1wiXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU0NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTkzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNvcnJ5LCBvbmx5ICVkIGh1bmsgYXZhaWxhYmxlLlxuIgogbXNnaWRfcGx1cmFsICJTb3JyeSwgb25seSAlZCBodW5rcyBhdmFpbGFibGUuXG4iCiBtc2dzdHJbMF0gIkJla2xhZ2FyLCBkZXQgZmlubnMgYmFyYSAlZCBzdHlja2UuXG4iCiBtc2dzdHJbMV0gIkJla2xhZ2FyLCBkZXQgZmlubnMgYmFyYSAlZCBzdHlja2VuLlxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYxOQogbXNnaWQgIk5vIG90aGVyIGh1bmtzIHRvIHNlYXJjaFxuIgogbXNnc3RyICJJbmdhIGFuZHJhIHN0eWNrZW4gYXR0IHPDtmthIGVmdGVyXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3NQotbXNnaWQgInNlYXJjaCBmb3IgcmVnZXg/ICIKLW1zZ3N0ciAic8O2ayBlZnRlciByZWd1bGrDpHJ0IHV0dHJ5Y2s/ICIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTg4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MzYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzXG4iCiBtc2dzdHIgIkZlbGFrdGlndCBmb3JtYXQgcMOlIHJlZ3VsasOkcnQgc8O2a3V0dHJ5Y2sgJXM6ICVzXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU5OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQ2CiBtc2dpZCAiTm8gaHVuayBtYXRjaGVzIHRoZSBnaXZlbiBwYXR0ZXJuXG4iCiBtc2dzdHIgIkluZ2Egc3R5Y2tlbiBtb3RzdmFyYXIgZ2l2ZXQgbcO2bnN0ZXJcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjEwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYzMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjU4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY4MAogbXNnaWQgIk5vIHByZXZpb3VzIGh1bmtcbiIKIG1zZ3N0ciAiSW5nZXQgZsO2cmVnw6VlbmRlIHN0eWNrZVxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjM4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjg2CiBtc2dpZCAiTm8gbmV4dCBodW5rXG4iCiBtc2dzdHIgIkluZ2V0IGbDtmxqYW5kZSBzdHlja2VcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQ0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2OTIKIG1zZ2lkICJTb3JyeSwgY2Fubm90IHNwbGl0IHRoaXMgaHVua1xuIgogbXNnc3RyICJCZWtsYWdhciwga2FuIGludGUgZGVsYSBzdHlja2V0XG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY1MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjk4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNwbGl0IGludG8gJWQgaHVuay5cbiIKIG1zZ2lkX3BsdXJhbCAiU3BsaXQgaW50byAlZCBodW5rcy5cbiIKIG1zZ3N0clswXSAiRGVsYSBpICVkIHN0eWNrZS5cbiIKIG1zZ3N0clsxXSAiRGVsYSBpICVkIHN0eWNrZW4uXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY2MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzA4CiBtc2dpZCAiU29ycnksIGNhbm5vdCBlZGl0IHRoaXMgaHVua1xuIgogbXNnc3RyICJCZWtsYWdhciwga2FuIGludGUgcmVkaWdlcmEgc3R5Y2tldFxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDYKLW1zZ2lkICJSZXZpZXcgZGlmZiIKLW1zZ3N0ciAiR3JhbnNrYSBkaWZmIgotCiAjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGRvIG5vdCB0cmFuc2xhdGUgdGhlIGNvbW1hbmQgbmFtZXMKICMuICdzdGF0dXMnLCAndXBkYXRlJywgJ3JldmVydCcsIGV0Yy4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcyNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzczCiBtc2dpZCAiIgogInN0YXR1cyAgICAgICAgLSBzaG93IHBhdGhzIHdpdGggY2hhbmdlc1xuIgogInVwZGF0ZSAgICAgICAgLSBhZGQgd29ya2luZyB0cmVlIHN0YXRlIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXNcbiIKQEAgLTIwNjQ3LDE4ICsyMzc1NCwxOSBAQAogImRpZmYgICAgICAgICAgLSB2aXNhIGRpZmYgbWVsbGFuIEhFQUQgb2NoIGluZGV4XG4iCiAiYWRkIHVudHJhY2tlZCAtIGzDpGdnIHRpbGwgaW5uZWjDpWxsIGkgb3Nww6VyYWRlIGZpbGVyIHRpbGwga8O2YWRlIMOkbmRyaW5nYXJcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzQyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc0NwotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzUwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc1NwotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzYxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2NworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzkwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc5NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzk4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgwNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODA4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgxNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODE5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyNQogbXNnaWQgIm1pc3NpbmcgLS0iCiBtc2dzdHIgInNha25hZCAtLSIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzYzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MjEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAidW5rbm93biAtLXBhdGNoIG1vZGU6ICVzIgogbXNnc3RyICJva8OkbnQgbMOkZ2UgZsO2ciAtLXBhdGNoOiAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzY5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc3NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODI3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgzMwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50ICVzLCBleHBlY3RpbmcgLS0iCiBtc2dzdHIgImZlbGFrdGlndCBhcmd1bWVudCAlcywgZsO2cnbDpG50YXIgLS0iCkBAIC0yMDY3MSwzMSArMjM3NzksMzEgQEAKIG1zZ2lkICJsb2NhbCB0aW1lIG9mZnNldCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMjQgaG91cnNcbiIKIG1zZ3N0ciAibG9rYWwgdGlkc3pvbmbDtnJza2p1dG5pbmcgc3TDtnJyZSDDpG4gZWxsZXIgbGlrYSBtZWQgMjQgdGltbWFyXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjE5IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjI1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIyMyBnaXQtc2VuZC1lbWFpbC5wZXJsOjIyOQogbXNnaWQgInRoZSBlZGl0b3IgZXhpdGVkIHVuY2xlYW5seSwgYWJvcnRpbmcgZXZlcnl0aGluZyIKIG1zZ3N0ciAidGV4dHJlZGlnZXJpbmdzcHJvZ3JhbW1ldCBhdnNsdXRhZGVzIG1lZCBmZWwsIGF2YnJ5dGVyIGFsbHRpbmciCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzAyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMxMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBjb250YWlucyBhbiBpbnRlcm1lZGlhdGUgdmVyc2lvbiBvZiB0aGUgZW1haWwgeW91IHdlcmUgY29tcG9zaW5nLlxuIgogbXNnc3RyICIiCiAiXCIlc1wiIGlubmVow6VsbGVyIGVuIG1lbGxhbmxpZ2dhbmRlIHZlcnNpb24gYXYgZS1wb3N0YnJldmV0IGR1IHNrcmV2LlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMwNworIzogZ2l0LXNlbmQtZW1haWwucGVybDozMTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJyVzLmZpbmFsJyBjb250YWlucyB0aGUgY29tcG9zZWQgZW1haWwuXG4iCiBtc2dzdHIgIlwiJXMuZmluYWxcIiBpbm5laMOlbGxlciBkZXQgc2tyaXZuYSBicmV2ZXQuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzI2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQwOAogbXNnaWQgIi0tZHVtcC1hbGlhc2VzIGluY29tcGF0aWJsZSB3aXRoIG90aGVyIG9wdGlvbnNcbiIKIG1zZ3N0ciAiLS1kdW1wLWFsaWFzIMOkciBpbmtvbXBhdGliZWx0IG1lZCBhbmRyYSBmbGFnZ29yXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mzk1IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjUwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ4MSBnaXQtc2VuZC1lbWFpbC5wZXJsOjY4MwogbXNnaWQgIkNhbm5vdCBydW4gZ2l0IGZvcm1hdC1wYXRjaCBmcm9tIG91dHNpZGUgYSByZXBvc2l0b3J5XG4iCiBtc2dzdHIgIkthbiBpbnRlIGvDtnJhIGdpdCBmb3JtYXQtcGF0Y2ggZnLDpW4gdXRhbmbDtnIgYXJraXZldFxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjM5OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo0ODQKIG1zZ2lkICIiCiAiYGJhdGNoLXNpemVgIGFuZCBgcmVsb2dpbmAgbXVzdCBiZSBzcGVjaWZpZWQgdG9nZXRoZXIgKHZpYSBjb21tYW5kLWxpbmUgb3IgIgogImNvbmZpZ3VyYXRpb24gb3B0aW9uKVxuIgpAQCAtMjA3MDMsMzcgKzIzODExLDM3IEBACiAiXCJiYXRjaC1zaXplXCIgb2NoIFwicmVsb2dpblwiIG3DpXN0ZSBhbmdlcyB0aWxsc2FtbWFucyAodmlhIGtvbW1hbmRvcmFkICIKICJlbGxlciBrb25maWd1cmF0aW9uc2ZsYWdnYSlcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0NjgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDk3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVua25vd24gLS1zdXBwcmVzcy1jYyBmaWVsZDogJyVzJ1xuIgogbXNnc3RyICJPa8OkbnQgZsOkbHQgaSAtLXN1cHByZXNzLWNjOiBcIiVzXCJcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0OTcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTI4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVua25vd24gLS1jb25maXJtIHNldHRpbmc6ICclcydcbiIKIG1zZ3N0ciAiT2vDpG5kIGluc3TDpGxsbmluZyBpIC0tY29uZmlybTogXCIlc1wiXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTI1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU1NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBhbGlhcyB3aXRoIHF1b3RlcyBpcyBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICJ2YXJuaW5nOiBzZW5kbWFpbC1hbGlhcyBtZWQgY2l0YXRpb25zdGVja2VuIHN0w7ZkcyBpbnRlLiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUyNworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1NTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogYDppbmNsdWRlOmAgbm90IHN1cHBvcnRlZDogJXNcbiIKIG1zZ3N0ciAidmFybmluZzogXCI6aW5jbHVkZTpcIiBzdMO2ZHMgaW50ZTogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTYwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGAvZmlsZWAgb3IgYHxwaXBlYCByZWRpcmVjdGlvbiBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICJ2YXJuaW5nOiBvbWRpcmlnZXJpbmcgdGlsIFwiL2ZpbFwiIGVsbGVyIFwifHLDtnJcIiBzdMO2ZHMgaW50ZTogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MzQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTY1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IHNlbmRtYWlsIGxpbmUgaXMgbm90IHJlY29nbml6ZWQ6ICVzXG4iCiBtc2dzdHIgInZhcm5pbmc6IHNlbmRtYWlsLXJhZGVuIGvDpG5ucyBpbnRlIGlnZW46ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjE2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY0OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiRmlsZSAnJXMnIGV4aXN0cyBidXQgaXQgY291bGQgYWxzbyBiZSB0aGUgcmFuZ2Ugb2YgY29tbWl0c1xuIgpAQCAtMjA3NDgsMTIgKzIzODU2LDEyIEBACiAiICAgICogU8OkZ2EgXCIuLyVzXCIgb20gZHUgbWVuYXIgZW4gZmlsOyBlbGxlclxuIgogIiAgICAqIEFuZ2UgZmxhZ2dhbiAtLWZvcm1hdC1wYXRjaCBvbSBkdSBtZW5hciBldHQgaW50ZXJ2YWxsLlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYzNworIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NzAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG9wZW5kaXIgJXM6ICVzIgogbXNnc3RyICJNaXNzbHlja2FkZXMgdXRmw7ZyYSBvcGVuZGlyICVzOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NjEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njk0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJmYXRhbDogJXM6ICVzXG4iCkBAIC0yMDc2Miw3ICsyMzg3MCw3IEBACiAiw7ZkZXNkaWdlcnQ6ICVzOiAlc1xuIgogInZhcm5pbmc6IGluZ2EgcGF0Y2hhciBoYXIgc8OkbnRzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjcyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcwNQogbXNnaWQgIiIKICJcbiIKICJObyBwYXRjaCBmaWxlcyBzcGVjaWZpZWQhXG4iCkBAIC0yMDc3MiwxNyArMjM4ODAsMTcgQEAKICJJbmdhIHBhdGNoZmlsZXIgYW5nYXZzIVxuIgogIlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY4NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiTm8gc3ViamVjdCBsaW5lIGluICVzPyIKIG1zZ3N0ciAiSW5nZW4gw6RyZW5kZXJhZCBpICVzPyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2OTUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzI4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuIGZvciB3cml0aW5nICVzOiAlcyIKIG1zZ3N0ciAiS3VuZGUgaW50ZSDDtnBwbmEgZsO2ciBza3Jpdm5pbmcgJXM6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcwNgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MzkKIG1zZ2lkICIiCiAiTGluZXMgYmVnaW5uaW5nIGluIFwiR0lUOlwiIHdpbGwgYmUgcmVtb3ZlZC5cbiIKICJDb25zaWRlciBpbmNsdWRpbmcgYW4gb3ZlcmFsbCBkaWZmc3RhdCBvciB0YWJsZSBvZiBjb250ZW50c1xuIgpAQCAtMjA3OTYsMzggKzIzOTA0LDM4IEBACiAiXG4iCiAiUmVuc2EgYnJldmtyb3BwZW4gb20gZHUgaW50ZSB2aWxsIHPDpG5kYSBuw6Vnb24gc2FtbWFuZmF0dG5pbmcuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzMwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc2MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlczogJXMiCiBtc2dzdHIgIk1pc3NseWNrYWRlcyDDtnBwbmEgJXM6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc0NworIzogZ2l0LXNlbmQtZW1haWwucGVybDo3ODAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMuZmluYWw6ICVzIgogbXNnc3RyICJNaXNzbHlja2FkZXMgw7ZwcG5hICVzLmZpbmFsOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3OTAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODIzCiBtc2dpZCAiU3VtbWFyeSBlbWFpbCBpcyBlbXB0eSwgc2tpcHBpbmcgaXRcbiIKIG1zZ3N0ciAiU2FtbWFuZmF0dGFuZGUgYnJldiB0b210LCBob3BwYXIgw7Z2ZXJcbiIKIAogIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBrZWVwIFt5L05dIGFzIGlzLgotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODU4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB1c2UgPCVzPiBbeS9OXT8gIgogbXNnc3RyICLDhHIgZHUgc8Oka2VyIHDDpSBhdHQgZHUgdmlsbCBhbnbDpG5kYSA8JXM+IFtZPWphLCBOPW5lal0/ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4ODAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTEzCiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgZmlsZXMgYXJlIDhiaXQsIGJ1dCBkbyBub3QgZGVjbGFyZSBhIENvbnRlbnQtVHJhbnNmZXItIgogIkVuY29kaW5nLlxuIgogbXNnc3RyICIiCiAiRsO2bGphbmRlIGZpbGVyIMOkciDDpXR0YWJpdGFycywgbWVuIGFuZ2VyIGludGUgZW4gQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZy5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4ODUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTE4CiBtc2dpZCAiV2hpY2ggOGJpdCBlbmNvZGluZyBzaG91bGQgSSBkZWNsYXJlIFtVVEYtOF0/ICIKIG1zZ3N0ciAiVmlsa2VuIMOldHRhYml0YXJzdGVja2Vua29kbmluZyBza2FsbCBqYWcgYW5nZSBbVVRGLThdPyAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODkzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkyNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiUmVmdXNpbmcgdG8gc2VuZCBiZWNhdXNlIHRoZSBwYXRjaFxuIgpAQCAtMjA4NDAsMjEgKzIzOTQ4LDIxIEBACiAiaGFyIG1hbGzDpHJlbmRldCBcIioqKiBTVUJKRUNUIEhFUkUgKioqXCIuIEFudsOkbmQgLS1mb3JjZSBvbSBkdSB2ZXJrbGlnZW4gIgogInZpbGwgc8OkbmRhLlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkxMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo5NDUKIG1zZ2lkICJUbyB3aG9tIHNob3VsZCB0aGUgZW1haWxzIGJlIHNlbnQgKGlmIGFueW9uZSk/IgogbXNnc3RyICJUaWxsIHZlbSBza2FsbCBicmV2ZW4gc8OkbmRhcyAob20gbsOlZ29uKT8iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTMwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjk2MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogYWxpYXMgJyVzJyBleHBhbmRzIHRvIGl0c2VsZlxuIgogbXNnc3RyICLDtmRlc2RpZ2VydDogYWxpYXNldCBcIiVzXCIgZXhwYW5kZXJhciB0aWxsIHNpZyBzasOkbHZcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5NDIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTc1CiBtc2dpZCAiTWVzc2FnZS1JRCB0byBiZSB1c2VkIGFzIEluLVJlcGx5LVRvIGZvciB0aGUgZmlyc3QgZW1haWwgKGlmIGFueSk/ICIKIG1zZ3N0ciAiIgogIk1lc3NhZ2UtSUQgYXR0IGFudsOkbmRhIHNvbSBJbi1SZXBseS1UbyBmw7ZyIGRldCBmw7Zyc3RhIGJyZXZldCAob20gbsOlZ290KT8gIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwMDAgZ2l0LXNlbmQtZW1haWwucGVybDoxMDA4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwMzMgZ2l0LXNlbmQtZW1haWwucGVybDoxMDQxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImVycm9yOiB1bmFibGUgdG8gZXh0cmFjdCBhIHZhbGlkIGFkZHJlc3MgZnJvbTogJXNcbiIKIG1zZ3N0ciAiZmVsOiBrdW5kZSBpbnRlIGbDpSBmcmFtIGVuIGdpbHRpZyBhZHJlc3MgZnLDpW46ICVzXG4iCkBAIC0yMDg2MiwxNiArMjM5NzAsMTYgQEAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbcV0gW2RdIFtlXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDEyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwNDUKIG1zZ2lkICJXaGF0IHRvIGRvIHdpdGggdGhpcyBhZGRyZXNzPyAoW3FddWl0fFtkXXJvcHxbZV1kaXQpOiAiCiBtc2dzdHIgIlZhZCB2aWxsIGR1IGfDtnJhIG1lZCBhZHJlc3Nlbj8gKHE9YXZzbHV0YSwgZD1rYXN0YSwgZT1yZWRpZ2VyYSk6ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzI5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzNjIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQ0EgcGF0aCBcIiVzXCIgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIkNBLXPDtmt2w6RnZW4gXCIlc1wiIGZpbm5zIGludGUiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQxMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDQ1CiBtc2dpZCAiIgogIiAgICBUaGUgQ2MgbGlzdCBhYm92ZSBoYXMgYmVlbiBleHBhbmRlZCBieSBhZGRpdGlvbmFsXG4iCiAiICAgIGFkZHJlc3NlcyBmb3VuZCBpbiB0aGUgcGF0Y2ggY29tbWl0IG1lc3NhZ2UuIEJ5IGRlZmF1bHRcbiIKQEAgLTIwODk4LDEyNCArMjQwMDYsMTI0IEBACiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3ldIFtuXSBbZV0gW3FdIFthXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDI3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjAKIG1zZ2lkICJTZW5kIHRoaXMgZW1haWw/IChbeV1lc3xbbl1vfFtlXWRpdHxbcV11aXR8W2FdbGwpOiAiCiBtc2dzdHIgIlPDpG5kYSBicmV2ZXQ/ICh5PWphLCBuPW5laiwgZT1yZWRpZ2VyYSwgcT1hdnNsdXRhLCBhPWFsbGEpOiAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQzMAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDYzCiBtc2dpZCAiU2VuZCB0aGlzIGVtYWlsIHJlcGx5IHJlcXVpcmVkIgogbXNnc3RyICJTdmFyIGtyw6R2cyBww6UgZnLDpWdhbiBcIlPDpG5kYSBicmV2ZXQ/XCIiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDkxCiBtc2dpZCAiVGhlIHJlcXVpcmVkIFNNVFAgc2VydmVyIGlzIG5vdCBwcm9wZXJseSBkZWZpbmVkLiIKIG1zZ3N0ciAiTsO2ZHbDpG5kaWcgU01UUC1zZXJ2ZXIgaGFyIGludGUgYW5naXZpdHMga29ycmVrdC4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUwNQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTM4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IFNUQVJUVExTISAlcyIKIG1zZ3N0ciAiU2VydmVybiBzdMO2ZGVyIGludGUgU01BUlRUTFMhICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MTAgZ2l0LXNlbmQtZW1haWwucGVybDoxNTE0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDMgZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNUQVJUVExTIGZhaWxlZCEgJXMiCiBtc2dzdHIgIlNUQVJUVExTIG1pc3NseWNrYWRlcyEgJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUyMworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTU2CiBtc2dpZCAiVW5hYmxlIHRvIGluaXRpYWxpemUgU01UUCBwcm9wZXJseS4gQ2hlY2sgY29uZmlnIGFuZCB1c2UgLS1zbXRwLWRlYnVnLiIKIG1zZ3N0ciAiIgogIkthbiBpbnRlIGluaXRpZXJhIFNNVFAga29ycmVrdC4gS29udHJvbGxlcmEgaW5zdMOkbGxuaW5nYXJuYSBvY2ggYW52w6RuZCAtLSIKICJzbXRwLWRlYnVnLiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHNlbmQgJXNcbiIKIG1zZ3N0ciAiTWlzc2x5Y2thZGVzIHPDpG5kYSAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEcnktU2VudCAlc1xuIgogbXNnc3RyICJUZXN0LVPDpG5kZSAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZW50ICVzXG4iCiBtc2dzdHIgIlPDpG5kZSAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3OQogbXNnaWQgIkRyeS1PSy4gTG9nIHNheXM6XG4iCiBtc2dzdHIgIlRlc3QtT0suIExvZ2dlbiBzw6RnZXI6XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU0NgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc5CiBtc2dpZCAiT0suIExvZyBzYXlzOlxuIgogbXNnc3RyICJPSy4gTG9nZ2VuIHPDpGdlcjpcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTU4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1OTEKIG1zZ2lkICJSZXN1bHQ6ICIKIG1zZ3N0ciAiUmVzdWx0YXQ6ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTYxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1OTQKIG1zZ2lkICJSZXN1bHQ6IE9LXG4iCiBtc2dzdHIgIlJlc3VsdGF0OiBPS1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYxMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJjYW4ndCBvcGVuIGZpbGUgJXMiCiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSBmaWxlbiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjI2IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY0NgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjU5IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY3OQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIobWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIobWJveCkgTMOkZ2dlciB0aWxsIGNjOiAlcyBmcsOlbiByYWRlbiBcIiVzXCJcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjMyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NjUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKG1ib3gpIEFkZGluZyB0bzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiKG1ib3gpIEzDpGdnZXIgdGlsbCB0bzogJXMgZnLDpW4gcmFkZW4gXCIlc1wiXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY4NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihub24tbWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIoaWNrZS1tYm94KSBMw6RnZ2VyIHRpbGwgY2M6ICVzIGZyw6VuIHJhZGVuIFwiJXNcIlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MjAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc1MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoYm9keSkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIoa3JvcHApIEzDpGdnZXIgdGlsbCBjYzogJXMgZnLDpW4gcmFkZW4gXCIlc1wiXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgzMQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODY0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiglcykgQ291bGQgbm90IGV4ZWN1dGUgJyVzJyIKIG1zZ3N0ciAiKCVzKSBLdW5kZSBpbnRlIGvDtnJhIFwiJXNcIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODM4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NzEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBBZGRpbmcgJXM6ICVzIGZyb206ICclcydcbiIKIG1zZ3N0ciAiKCVzKSBMw6RnZ2VyIHRpbGwgJXM6ICVzIGZyw6VuOiBcIiVzXCJcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODQyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NzUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBmYWlsZWQgdG8gY2xvc2UgcGlwZSB0byAnJXMnIgogbXNnc3RyICIoJXMpIG1pc3NseWNrYWRlcyBzdMOkbmdhIHLDtnJldCB0aWxsIFwiJXNcIiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODcyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5MDUKIG1zZ2lkICJjYW5ub3Qgc2VuZCBtZXNzYWdlIGFzIDdiaXQiCiBtc2dzdHIgImthbiBpbnRlIHPDpG5kYSBicmV2IHNvbSBzanViaXRhcnMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg4MAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTEzCiBtc2dpZCAiaW52YWxpZCB0cmFuc2ZlciBlbmNvZGluZyIKIG1zZ3N0ciAib2dpbHRpZyDDtnZlcmbDtnJpbmdza29uZG5pbmciCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTkyMSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NzMgZ2l0LXNlbmQtZW1haWwucGVybDoxOTgzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NTQgZ2l0LXNlbmQtZW1haWwucGVybDoyMDA2IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjAxNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlczogJXNcbiIKIG1zZ3N0ciAia3VuZGUgaW50ZSDDtnBwbmEgJXM6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTkyNAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTU3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiVzOiBwYXRjaCBjb250YWlucyBhIGxpbmUgbG9uZ2VyIHRoYW4gOTk4IGNoYXJhY3RlcnMiCiBtc2dzdHIgIiVzOiBwYXRjaGVuIGlubmVow6VsbGVyIGVuIHJhZCBsw6RuZ3JlIMOkbiA5OTggdGVja2VuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NDEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk3NAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyAlcyB3aXRoIGJhY2t1cCBzdWZmaXggJyVzJy5cbiIKIG1zZ3N0ciAiIgpAQCAtMjEwMjMsMjEgKzI0MTMxLDMwMyBAQAogInPDpGtlcmhldHNrb3Bpb3IuXG4iCiAKICMuIFRSQU5TTEFUT1JTOiBwbGVhc2Uga2VlcCAiW3l8Tl0iIGFzIGlzLgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTQ1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NzgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIHNlbmQgJXM/IFt5fE5dOiAiCiBtc2dzdHIgIlZpbGwgZHUgdmVya2xpZ2VuIHPDpG5kYSAlcz8gW3k9amEsIG49bmVqXTogIgogCisjfiBtc2dpZCAidW5hYmxlIHRvIGdldCB0cmVlIGZvciAlcyIKKyN+IG1zZ3N0ciAia3VuZGUgaW50ZSBow6RtdGEgdHLDpGRldCBww6UgJXMiCisKKyN+IG1zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgorI34gbXNnc3RyICJBbnbDpG5kIGVuIGV4cGVyaW1lbnRlbGwgYWxnb3JpdG0gZsO2ciBhdHQgZsO2cmLDpHR0cmEgZGlmZmFyIgorCisjfiBtc2dpZCAiZ2l0IGNvbW1pdC1ncmFwaCBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKKyN+IG1zZ3N0ciAiZ2l0IGNvbW1pdC1ncmFwaCBbLS1vYmplY3QtZGlyIDxvYmprYXQ+XSIKKworI34gbXNnaWQgImdpdCBjb21taXQtZ3JhcGggcmVhZCBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKKyN+IG1zZ3N0ciAiZ2l0IGNvbW1pdC1ncmFwaCByZWFkIFstLW9iamVjdC1kaXIgPG9iamthdD5dIgorCisjfiBtc2dpZCAidW5rbm93biBjb3JlLnVudHJhY2tlZENhY2hlIHZhbHVlICclcyc7IHVzaW5nICdrZWVwJyBkZWZhdWx0IHZhbHVlIgorI34gbXNnc3RyICIiCisjfiAib2vDpG50IHbDpHJkZSBcIiVzXCIgZsO2ciBjb3JlLnVudHJhY2tlZENhY2hlOyBhbnbDpG5kZXIgc3RhbmRhcmR2w6RyZGV0IFwia2VlcCIKKyN+ICJcIiIKKworI34gbXNnaWQgImNhbm5vdCBjaGFuZ2UgcGFydGlhbCBjbG9uZSBwcm9taXNvciByZW1vdGUiCisjfiBtc2dzdHIgImthbiBpbnRlIMOkbmRyYSBrb250cmFrdHNmasOkcnIgZsO2ciBkZWx2aXMga2xvbmluZyIKKworI34gbXNnaWQgImVycm9yIGJ1aWxkaW5nIHRyZWVzIgorI34gbXNnc3RyICJmZWwgdmlkIGJ5Z2dhbmRlIGF2IHRyw6RkIgorCisjfiBtc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdCAnJXMnIGluICclcyciCisjfiBtc2dzdHIgIm9naWx0aWd0IGRhdHVtZm9ybWF0IFwiJXNcIiBpIFwiJXNcIiIKKworI34gbXNnaWQgIndyaXRpbmcgcm9vdCBjb21taXQiCisjfiBtc2dzdHIgInNrcml2ZXIgcm90aW5jaGVja25pbmciCisKKyN+IG1zZ2lkICJzdGFnZWQgY2hhbmdlcyBpbiB0aGUgZm9sbG93aW5nIGZpbGVzIG1heSBiZSBsb3N0OiAlcyIKKyN+IG1zZ3N0ciAia8O2YWRlIMOkbmRyaW5nYXIgaSBmw7ZsamFuZGUgZmlsZXIga2FuIGfDpSBmw7ZybG9yYWRlOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICItLWZpbHRlciBjYW4gb25seSBiZSB1c2VkIHdpdGggdGhlIHJlbW90ZSBjb25maWd1cmVkIGluIGV4dGVuc2lvbnMuIgorI34gInBhcnRpYWxDbG9uZSIKKyN+IG1zZ3N0ciAiIgorI34gIi0tZmlsdGVyIGthbiBlbmRhc3QgYW52w6RuZGFzIG1lZCBmasOkcnJlbiBrb25maWd1cmVyYWQgaSBleHRlbnNpb25zLiIKKyN+ICJwYXJ0aWFsQ2xvbmUiCisKKyN+IG1zZ2lkICJ2ZXJpZnkgY29tbWl0LW1zZyBob29rIgorI34gbXNnc3RyICJiZWtyw6RmdGEgY29tbWl0LW1zZy1rcm9rIgorCisjfiBtc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneS1vcHRpb24nIgorI34gbXNnc3RyICJrYW4gaW50ZSBrb21iaW5lcmEgXCItLXJlYmFzZS1tZXJnZXNcIiBtZWQgXCItLXN0cmF0ZWd5LW9wdGlvblwiIgorCisjfiBtc2dpZCAiaW52YWxpZCBzcGFyc2UgdmFsdWUgJyVzJyIKKyN+IG1zZ3N0ciAib2dpbHRpZ3QgdsOkcmRlIGbDtnIgc3BhcnNlOiBcIiVzXCIiCisKKyN+IG1zZ2lkICIiCisjfiAiRmV0Y2ggbm9ybWFsbHkgaW5kaWNhdGVzIHdoaWNoIGJyYW5jaGVzIGhhZCBhIGZvcmNlZCB1cGRhdGUsIGJ1dCB0aGF0ICIKKyN+ICJjaGVjayBoYXMgYmVlbiBkaXNhYmxlZC4iCisjfiBtc2dzdHIgIiIKKyN+ICJIw6RtdG5pbmcgdmlzYXIgdmFubGlndHZpcyB2aWxrYSBncmVuYXIgc29tIGhhciBlbiB0dmluZ2FkIHVwcGRhdGVyaW5nLCAiCisjfiAibWVuIGRldCB0ZXN0ZXQgaGFyIHNsYWdpdHMgYXYuIgorCisjfiBtc2dpZCAiIgorI34gIm9yIHJ1biAnZ2l0IGNvbmZpZyBmZXRjaC5zaG93Rm9yY2VkVXBkYXRlcyBmYWxzZScgdG8gYXZvaWQgdGhpcyBjaGVjay5cbiIKKyN+IG1zZ3N0ciAiIgorI34gImVsbGVyIGvDtnIgXCJnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzIGZhbHNlXCIgZsO2ciB1bmR2aWthICIKKyN+ICJ0ZXN0ZXQuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAibG9nLm1haWxtYXAgaXMgbm90IHNldDsgaXRzIGltcGxpY2l0IHZhbHVlIHdpbGwgY2hhbmdlIGluIGFuXG4iCisjfiAidXBjb21pbmcgcmVsZWFzZS4gVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2UgYW5kIHByZXNlcnZlIGN1cnJlbnRcbiIKKyN+ICJiZWhhdmlvdXIsIHNldCB0aGUgbG9nLm1haWxtYXAgY29uZmlndXJhdGlvbiB2YWx1ZSB0byBmYWxzZS5cbiIKKyN+ICJcbiIKKyN+ICJUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZSBhbmQgYWRvcHQgdGhlIG5ldyBiZWhhdmlvdXIgbm93LCBzZXQgdGhlXG4iCisjfiAibG9nLm1haWxtYXAgY29uZmlndXJhdGlvbiB2YWx1ZSB0byB0cnVlLlxuIgorI34gIlxuIgorI34gIlNlZSAnZ2l0IGhlbHAgY29uZmlnJyBhbmQgc2VhcmNoIGZvciAnbG9nLm1haWxtYXAnIGZvciBmdXJ0aGVyICIKKyN+ICJpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJsb2cubWFpbG1hcCBoYXIgaW50ZSBzYXR0czogZsO2cnZhbGV0IGtvbW1lciDDpG5kcmFzIGkgZW4ga29tbWFuZGVcbiIKKyN+ICJ2ZXJzaW9uLiBGw7ZyIGF0dCBkw7ZsamEgZGV0IGjDpHIgbWVkZGVsYW5kZXQgb2NoIGJlaMOlbGxhIG51dmFyYW5kZVxuIgorI34gImJldGVlbmRlLCBzw6R0dCBrb25maWd1cmF0aW9uc3ZhcmlhYmVsbiBsb2cubWFpbG1hcCB0aWxsIGZhbHNlLlxuIgorI34gIlxuIgorI34gIkbDtnIgYXR0IGTDtmxqYSBkZXQgaMOkciBtZWRkZWxhbmRldCBvY2ggYW52w6RuZGEgZGV0IG55YSBiZXRlZW5kZXQsXG4iCisjfiAic8OkdHQga29uZmlndXJhdGlvbnN2YXJpYWJlbG4gbG9nLm1haWxtYXAgdGlsbCB0cnVlLlxuIgorI34gIlxuIgorI34gIlNlIFwiZ2l0IGhlbHAgY29uZmlnXCIgb2NoIHPDtmsgZWZ0ZXIgXCJsb2cubWFpbG1hcFwiIGbDtnIgbWVyIGluZm9ybWF0aW9uLiIKKworI34gbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2tfZGV0YWlsZWQiCisjfiBtc2dzdHIgIlNlcnZlcm4gc3TDtmRlciBcIm11bHRpX2Fja19kZXRhaWxlZFwiIgorCisjfiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG5vLWRvbmUiCisjfiBtc2dzdHIgIlNlcnZlcm4gc3TDtmRlciBcIm5vLWRvbmVcIiIKKworI34gbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2siCisjfiBtc2dzdHIgIlNlcnZlcm4gc3TDtmRlciBcIm11bHRpX2Fja1wiIgorCisjfiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZC02NGsiCisjfiBtc2dzdHIgIlNlcnZlcm4gc3TDtmRlciBcInNpZGUtYmFuZC02NGtcIiIKKworI34gbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBzaWRlLWJhbmQiCisjfiBtc2dzdHIgIlNlcnZlcm4gc3TDtmRlciBcInNpZGUtYmFuZFwiIgorCisjfiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCisjfiBtc2dzdHIgIlNlcnZlcm4gc3TDtmRlciBcImFsbG93LXRpcC1zaGExLWluLXdhbnRcIiIKKworI34gbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgorI34gbXNnc3RyICJTZXJ2ZXJuIHN0w7ZkZXIgXCJhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50XCIiCisKKyN+IG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgb2ZzLWRlbHRhIgorI34gbXNnc3RyICJTZXJ2ZXJuIHN0w7ZkZXIgXCJvZnMtZGVsdGFcIiIKKworI34gbXNnaWQgIihIRUFEIGRldGFjaGVkIGF0ICVzKSIKKyN+IG1zZ3N0ciAiKEhFQUQgZnLDpW5rb3BwbGF0IHZpZCAlcykiCisKKyN+IG1zZ2lkICIoSEVBRCBkZXRhY2hlZCBmcm9tICVzKSIKKyN+IG1zZ3N0ciAiKEhFQUQgZnLDpW5rb3BwbGF0IGZyw6VuICVzKSIKKworI34gbXNnaWQgIkNoZWNraW5nIG91dCBmaWxlcyIKKyN+IG1zZ3N0ciAiQ2hlY2thciB1dCBmaWxlciIKKworI34gbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKKyN+IG1zZ3N0ciAiIgorI34gImthbiBpbnRlIHZhcmEgaW50ZXJha3RpdiBvbSBzdGFuZGFyZCBpbiBpbnRlIMOkciBhbnNsdXRlbiB0aWxsIGVuIHRlcm1pbmFsLiIKKworI34gbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCisjfiBtc2dzdHIgIm1pc3NseWNrYWRlcyB0YSBzdGF0dXMgcMOlICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiSWYgeW91IHdpc2ggdG8gc2tpcCB0aGlzIGNvbW1pdCwgdXNlOlxuIgorI34gIlxuIgorI34gIiAgICBnaXQgcmVzZXRcbiIKKyN+ICJcbiIKKyN+ICJUaGVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiB3aWxsIHJlc3VtZSBjaGVycnktcGlja2luZ1xuIgorI34gInRoZSByZW1haW5pbmcgY29tbWl0cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIk9tIGR1IHZpbGwgaG9wcGEgw7Z2ZXIgaW5jaGVja25pbmdlbiwgYW52w6RuZDpcbiIKKyN+ICJcbiIKKyN+ICIgICAgZ2l0IHJlc2V0XG4iCisjfiAiXG4iCisjfiAiXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIGtvbW1lciBkw6RyZWZ0ZXIgYXR0IMOldGVydXBwdGFcbiIKKyN+ICJjaGVycnktcGljayBmw7ZyIMOldGVyc3TDpWVuZGUgaW5jaGVja25pbmdhci5cbiIKKworI34gbXNnaWQgInVucmVjb2duaXplZCB2ZXJiOiAlcyIKKyN+IG1zZ3N0ciAib2vDpG50IHZlcmI6ICVzIgorCisjfiBtc2dpZCAiaGFzaCB2ZXJzaW9uICVYIGRvZXMgbm90IG1hdGNoIHZlcnNpb24gJVgiCisjfiBtc2dzdHIgImhhc2gtdmVyc2lvbmVuICVYIHN0w6RtbWVyIGludGUgbWVkIHZlcnNpb25lbiAlWCIKKworI34gbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGEgdmFsdWUiCisjfiBtc2dzdHIgImZsYWdnYW4gXCIlc1wiIGJlaMO2dmVyIGV0dCB2w6RyZGUiCisKKyN+IG1zZ2lkICJjb3VsZCBub3QgdHJhbnNmb3JtIHRoZSB0b2RvIGxpc3QiCisjfiBtc2dzdHIgImt1bmRlIGludGUgdHJhbnNmb3JtZXJhIGF0dCBnw7ZyYS1saXN0YW4iCisKKyN+IG1zZ2lkICJkZWZhdWx0IgorI34gbXNnc3RyICJzdGFuZGFyZCIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCisjfiBtc2dzdHIgIkt1bmRlIGludGUgc2thcGEga2F0YWxvZ2VuIFwiJXNcIiIKKworI34gbXNnaWQgImFsbG93IHJlcmVyZSB0byB1cGRhdGUgaW5kZXggd2l0aCByZXNvbHZlZCBjb25mbGljdCIKKyN+IG1zZ3N0ciAidGlsbMOldCByZXJlcmUgYXR0IHVwcGRhdGVyYSBpbmRleCBtZWQgbMO2c2Ega29uZmxpa3RlciIKKworI34gbXNnaWQgImNvdWxkIG5vdCBvcGVuICVzIgorI34gbXNnc3RyICJrdW5kZSBpbnRlIMO2cHBuYSAlcyIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJGhlYWRfbmFtZSIKKyN+IG1zZ3N0ciAiS3VuZGUgaW50ZSBmbHl0dGEgdGlsbGJha2EgdGlsbCAkaGVhZF9uYW1lIgorCisjfiBtc2dpZCAiIgorI34gIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICRzdGF0ZV9kaXJfYmFzZSBkaXJlY3RvcnksIGFuZFxuIgorI34gIkkgd29uZGVyIGlmIHlvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbm90aGVyIHJlYmFzZS4gIElmIHRoYXQgaXMgdGhlXG4iCisjfiAiY2FzZSwgcGxlYXNlIHRyeVxuIgorI34gIlx0JGNtZF9saXZlX3JlYmFzZVxuIgorI34gIklmIHRoYXQgaXMgbm90IHRoZSBjYXNlLCBwbGVhc2VcbiIKKyN+ICJcdCRjbWRfY2xlYXJfc3RhbGVfcmViYXNlXG4iCisjfiAiYW5kIHJ1biBtZSBhZ2Fpbi4gIEkgYW0gc3RvcHBpbmcgaW4gY2FzZSB5b3Ugc3RpbGwgaGF2ZSBzb21ldGhpbmdcbiIKKyN+ICJ2YWx1YWJsZSB0aGVyZS4iCisjfiBtc2dzdHIgIiIKKyN+ICJEZXQgdmVya2FyIHNvbSBrYXRhbG9nZW4gJHN0YXRlX2Rpcl9iYXNlIHJlZGFuIGV4aXN0ZXJhciwgb2NoXG4iCisjfiAiamFnIHVuZHJhciBvbSBkdSByZWRhbiDDpHIgbWl0dCBpIGVuIGFubmFuIG9tYmFzZXJpbmcuIE9tIHPDpSDDpHJcbiIKKyN+ICJmYWxsZXQsIGbDtnJzw7ZrXG4iCisjfiAiXHQkY21kX2xpdmVfcmViYXNlXG4iCisjfiAiT20gc8OlIGludGUgw6RyIGZhbGxldCwga8O2clxuIgorI34gIlx0JGNtZF9jbGVhcl9zdGFsZV9yZWJhc2VcbiIKKyN+ICJvY2gga8O2ciBwcm9ncmFtbWV0IGlnZW4uIEphZyBhdnNsdXRhciBpZmFsbCBkdSBmb3J0ZmFyYW5kZSBoYXJcbiIKKyN+ICJuw6Vnb3QgYXYgdsOkcmRlIGTDpHIuIgorCisjfiBtc2dpZCAiIgorI34gImZhdGFsOiBjYW5ub3QgY29tYmluZSBhbSBvcHRpb25zIHdpdGggZWl0aGVyIGludGVyYWN0aXZlIG9yIG1lcmdlIG9wdGlvbnMiCisjfiBtc2dzdHIgIiIKKyN+ICLDtmRlc2RpZ2VydDoga2FuIGludGUga29tYmluZXJhIGFtLWZsYWdnb3IgbWVkIGFudGluZ2VuIGludGVyYWt0aXYtIGVsbGVyICIKKyN+ICJzYW1tYW5zbGFnbmluZ3NmbGFnZ29yIgorCisjfiBtc2dpZCAiZmF0YWw6IGNhbm5vdCBjb21iaW5lICctLXNpZ25vZmYnIHdpdGggJy0tcHJlc2VydmUtbWVyZ2VzJyIKKyN+IG1zZ3N0ciAiIgorI34gIsO2ZGVzZGlnZXJ0OiBrYW4gaW50ZSBrb21iaW5lcmEgXCItLXNpZ25vZmZcIiBtZWQgXCItLXByZXNlcnZlLW1lcmdlc1wiIgorCisjfiBtc2dpZCAiZmF0YWw6IGNhbm5vdCBjb21iaW5lICctLXByZXNlcnZlLW1lcmdlcycgd2l0aCAnLS1yZWJhc2UtbWVyZ2VzJyIKKyN+IG1zZ3N0ciAiIgorI34gIsO2ZGVzZGlnZXJ0OiBrYW4gaW50ZSBrb21iaW5lcmEgXCItLXByZXNlcnZlLW1lcmdlc1wiIG1lZCBcIi0tcmViYXNlLW1lcmdlcyIKKyN+ICJcIiIKKworI34gbXNnaWQgImZhdGFsOiBjYW5ub3QgY29tYmluZSAnLS1yZWJhc2UtbWVyZ2VzJyB3aXRoICctLXN0cmF0ZWd5LW9wdGlvbiciCisjfiBtc2dzdHIgIiIKKyN+ICLDtmRlc2RpZ2VydDoga2FuIGludGUga29tYmluZXJhIFwiLS1yZWJhc2UtbWVyZ2VzXCIgbWVkIFwiLS1zdHJhdGVneS1vcHRpb24iCisjfiAiXCIiCisKKyN+IG1zZ2lkICJmYXRhbDogY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneSciCisjfiBtc2dzdHIgIiIKKyN+ICLDtmRlc2RpZ2VydDoga2FuIGludGUga29tYmluZXJhIFwiLS1yZWJhc2UtbWVyZ2VzXCIgbWVkIFwiLS1zdHJhdGVneVwiIgorCisjfiBtc2dpZCAiaW52YWxpZCB1cHN0cmVhbSAnJHVwc3RyZWFtX25hbWUnIgorI34gbXNnc3RyICJvZ2lsdGlnIHVwcHN0csO2bSBcIiR1cHN0cmVhbV9uYW1lXCIiCisKKyN+IG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKKyN+IG1zZ3N0ciAiJG9udG9fbmFtZTogbWVyIMOkbiBlbiBzYW1tYW5zbGFnbmluZ3NiYXMgZmlubnMiCisKKyN+IG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIgorI34gbXNnc3RyICIkb250b19uYW1lOiBpbmdlbiBzYW1tYW5zbGFnbmluZ3NiYXMgZmlubnMiCisKKyN+IG1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogJG9udG9fbmFtZSIKKyN+IG1zZ3N0ciAiUGVrYSBww6UgZW4gZ2lsdGlnIGluY2hlY2tuaW5nOiAkb250b19uYW1lIgorCisjfiBtc2dpZCAiZmF0YWw6IG5vIHN1Y2ggYnJhbmNoL2NvbW1pdCAnJGJyYW5jaF9uYW1lJyIKKyN+IG1zZ3N0ciAiw7ZkZXNkaWdlcnQ6IGluZ2VuIHPDpWRhbiBncmVuL2luY2hlY2tuaW5nOiAkYnJhbmNoX25hbWUiCisKKyN+IG1zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJHN0YXNoX2FiYnJldiIKKyN+IG1zZ3N0ciAiU2thcGFkZSBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCisKKyN+IG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZS4iCisjfiBtc2dzdHIgIkFrdHVlbGwgZ3JlbiAkYnJhbmNoX25hbWUgw6RyIMOgIGpvdXIuIgorCisjfiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIgorI34gbXNnc3RyICJBa3R1ZWxsIGdyZW4gJGJyYW5jaF9uYW1lIMOkciDDoCBqb3VyLCBvbWJhc2VyaW5nIGZyYW10dmluZ2FkLiIKKworI34gbXNnaWQgIkNoYW5nZXMgdG8gJG9udG86IgorI34gbXNnc3RyICLDhG5kcmluZ2FyIHRpbGwgJG9udG86IgorCisjfiBtc2dpZCAiQ2hhbmdlcyBmcm9tICRtYiB0byAkb250bzoiCisjfiBtc2dzdHIgIsOEbmRyaW5nYXIgZnLDpW4gJG1iIHRpbGwgJG9udG86IgorCisjfiBtc2dpZCAiRmFzdC1mb3J3YXJkZWQgJGJyYW5jaF9uYW1lIHRvICRvbnRvX25hbWUuIgorI34gbXNnc3RyICJTbmFiYnNwb2xhZGUgJGJyYW5jaF9uYW1lIHRpbGwgJG9udG9fbmFtZS4iCisKKyN+IG1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCisjfiBtc2dzdHIgIiIKKyN+ICJGw7Zyc3QsIHNwb2xhciB0aWxsYmFrYSBodXZ1ZGV0IGbDtnIgYXR0IHNwZWxhIGF2IGRpdHQgYXJiZXRlIG92YW5ww6UgZGV0Li4uIgorCisjfiBtc2dpZCAiaWdub3JpbmcgdW5rbm93biBjb2xvci1tb3ZlZC13cyBtb2RlICclcyciCisjfiBtc2dzdHIgImlnbm9yZXJhciBva8OkbnQgbMOkZ2UgZsO2ciBjb2xvci1tb2RlLXdzIFwiJXNcIiIKKworI34gbXNnaWQgIm9ubHkgJ3RyZWU6MCcgaXMgc3VwcG9ydGVkIgorI34gbXNnc3RyICJlbmRhc3QgXCJ0cmVlOjBcIiBzdMO2ZHMiCisKKyN+IG1zZ2lkICJSZW5hbWluZyAlcyB0byAlcyBhbmQgJXMgdG8gJXMgaW5zdGVhZCIKKyN+IG1zZ3N0ciAiQnl0ZXIgbmFtbiBww6UgJXMgdGlsbCAlcyBvY2ggJXMgdGlsbCAlcyBpc3TDpGxsZXQiCisKKyN+IG1zZ2lkICJBZGRpbmcgbWVyZ2VkICVzIgorI34gbXNnc3RyICJMw6RnZ2VyIHRpbGwgc2FtbWFuc2xhZ2VuICVzIgorCisjfiBtc2dpZCAiSW50ZXJuYWwgZXJyb3IiCisjfiBtc2dzdHIgIkludGVybnQgZmVsIgorCisjfiBtc2dpZCAibWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKKyN+IG1zZ3N0ciAiaHV2dWRsaW5qZSBhbmdhdnMsIG1lbiBpbmNoZWNrbmluZ2VuICVzIMOkciBpbnRlIGVuIHNhbW1hbnNsYWduaW5nLiIKKworI34gbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzaGExIGZpbGVuYW1lICVzIgorI34gbXNnc3RyICJrYW4gaW50ZSBza3JpdmEgc2hhMS1maWxuYW1uICVzIgorCisjfiBtc2dpZCAiY2Fubm90IHJlYWQgc2hhMV9maWxlIGZvciAlcyIKKyN+IG1zZ3N0ciAia2FuIGludGUgbMOkc2Egc2hhMV9maWxlIGbDtnIgJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiZXJyb3I6IGNhbm5vdCBjb21iaW5lIGludGVyYWN0aXZlIG9wdGlvbnMgKC0taW50ZXJhY3RpdmUsIC0tZXhlYywgLS0iCisjfiAicmViYXNlLW1lcmdlcywgLS1wcmVzZXJ2ZS1tZXJnZXMsIC0ta2VlcC1lbXB0eSwgLS1yb290ICsgLS1vbnRvKSB3aXRoIGFtICIKKyN+ICJvcHRpb25zICglcykiCisjfiBtc2dzdHIgIiIKKyN+ICJmZWw6IGthbiBpbnRlIGtvbWJpbmVyYSBpbnRlcmFrdGl2YSBmbGFnZ29yICgtLWludGVyYWN0aXZlLCAtLWV4ZWMsIC0tIgorI34gInJlYmFzZS1tZXJnZXMsIC0tcHJlc2VydmUtbWVyZ2VzLCAtLWtlZXAtZW1wdHksIC0tcm9vdCArIC0tb250bykgbWVkIGFtLSIKKyN+ICJmbGFnZ29yICglcykiCisKKyN+IG1zZ2lkICIiCisjfiAiZXJyb3I6IGNhbm5vdCBjb21iaW5lIG1lcmdlIG9wdGlvbnMgKC0tbWVyZ2UsIC0tc3RyYXRlZ3ksIC0tc3RyYXRlZ3ktIgorI34gIm9wdGlvbikgd2l0aCBhbSBvcHRpb25zICglcykiCisjfiBtc2dzdHIgIiIKKyN+ICJmZWw6IGthbiBpbnRlIGtvbWJpbmVyYSBzYW1tYW5zbGFnbmluZ3NmbGFnZ29yICgtLW1lcmdlLCAtLXN0cmF0ZWd5LCAtLSIKKyN+ICJzdHJhdGVneS1vcHRpb24pIG1lZCBhbS1mbGFnZ29yICglcykiCisKKyN+IG1zZ2lkICJ1bnJlY29nbmlzZWQgb3B0aW9uOiAnJGFyZyciCisjfiBtc2dzdHIgImZsYWdnYW4ga8Okbm5zIGludGUgaWdlbjogXCIkYXJnXCIiCisKKyN+IG1zZ2lkICInJGludmFsaWQnIGlzIG5vdCBhIHZhbGlkIGNvbW1pdCIKKyN+IG1zZ3N0ciAiXCIkaW52YWxpZFwiIMOkciBpbnRlIGVuIGdpbHRpZyBpbmNoZWNrbmluZyIKKwogI34gbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAnJXMnIChsb29raW5nIGZvciAnJXMnKSIKICN+IG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSBcIiVzXCIgKGxldGFyIGVmdGVyIFwiJXNcIikiCiAKLSN+IG1zZ2lkICJiYWQgcXVvdGluZyBvbiAlcyB2YWx1ZSBpbiAnJXMnIgotI34gbXNnc3RyICJmZWxha3RpZyBjaXRlcmluZyBww6UgJXMtdsOkcmRlIGkgXCIlc1wiIgotCi0jfiBtc2dpZCAiQ291bGQgbm90IHVuc2V0IGNvcmUud29ya3RyZWUgc2V0dGluZyBpbiBzdWJtb2R1bGUgJyVzJyIKLSN+IG1zZ3N0ciAiIgotI34gIkt1bmRlIGludGUgdGEgYm9ydCBpbnN0w6RsbG5pbmdlbiBjb3JlLndvcmt0cmVlIGkgdW5kZXJtb2R1bGVuIFwiJXNcIiIKLQogI34gbXNnaWQgImRlcHJlY2F0ZWQgc3lub255bSBmb3IgLS1jcmVhdGUtcmVmbG9nIgogI34gbXNnc3RyICJhdnLDpWRkIHN5bm9ueW0gZsO2ciAtLWNyZWF0ZS1yZWZsb2ciCiAKQEAgLTIxMDU5LDEyICsyNDQ0OSw2IEBACiAjfiBtc2dpZCAiY2Fubm90IHJlbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWUiCiAjfiBtc2dzdHIgImthbiBpbnRlIHRhIGJvcnQgZW4gbMOlc3QgYXJiZXRza2F0YWxvZyIKIAotI34gbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKLSN+IG1zZ3N0ciAiVGlsbMOkbXBhZGUgYXV0b3N0YXNoLiIKLQotI34gbXNnaWQgIkNhbm5vdCBzdG9yZSAkc3Rhc2hfc2hhMSIKLSN+IG1zZ3N0ciAiS2FuIGludGUgc3BhcmEgJHN0YXNoX3NoYTEiCi0KICN+IG1zZ2lkICIiCiAjfiAiXG4iCiAjfiAiXHRIb3dldmVyLCBpZiB5b3UgcmVtb3ZlIGV2ZXJ5dGhpbmcsIHRoZSByZWJhc2Ugd2lsbCBiZSBhYm9ydGVkLlxuIgpAQCAtMjExNTgsOSArMjQ1NDIsNiBAQAogI34gbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSAnJXMnIgogI34gbXNnc3RyICJrdW5kZSBpbnRlIHRydW5rZXJhIFwiJXNcIiIKIAotI34gbXNnaWQgImNvdWxkIG5vdCBmaW5pc2ggJyVzJyIKLSN+IG1zZ3N0ciAia3VuZGUgaW50ZSBhdnNsdXRhIFwiJXNcIiIKLQogI34gbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAlcyIKICN+IG1zZ3N0ciAia3VuZGUgaW50ZSBzdMOkbmdhICVzIgogCkBAIC0yMTE3Myw5ICsyNDU1NCw2IEBACiAjfiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gY2xvbmUgJXMiCiAjfiBtc2dzdHIgIlZldCBpbnRlIGh1ciBtYW4ga2xvbmFyICVzIgogCi0jfiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIgotI34gbXNnc3RyICJ2aXNhIGlnbm9yZXJhZGUgZmlsZXIiCi0KICN+IG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgogI34gbXNnc3RyICJWZXQgaW50ZSBodXIgbWFuIGjDpG10YXIgZnLDpW4gJXMiCiAKQEAgLTIxMjI5LDkgKzI0NjA3LDYgQEAKICN+IG1zZ2lkICJiYXNlbmFtZSIKICN+IG1zZ3N0ciAiYmFzbmFtbiIKIAotI34gbXNnaWQgInByZXBlbmQgcGFyZW50IHByb2plY3QncyBiYXNlbmFtZSB0byBvdXRwdXQiCi0jfiBtc2dzdHIgImzDpGdnIHRpbGwgZsO2csOkbGRyYXByb2pla3RldHMgYmFzbmFtbiBpIHV0ZGF0YSIKLQogI34gbXNnaWQgIiIKICN+ICJXYXJuaW5nOiB0aGUgU0hBLTEgaXMgbWlzc2luZyBvciBpc24ndCBhIGNvbW1pdCBpbiB0aGUgZm9sbG93aW5nIGxpbmU6XG4iCiAjfiAiIC0gJGxpbmUiCkBAIC0yMTI0OSw5ICsyNDYyNCw2IEBACiAjfiBtc2dpZCAiT3IgeW91IGNhbiBhYm9ydCB0aGUgcmViYXNlIHdpdGggJ2dpdCByZWJhc2UgLS1hYm9ydCcuIgogI34gbXNnc3RyICJFbGxlciBzw6Uga2FuIGR1IGF2YnJ5dGEgb21iYXNlcmluZ2VuIG1lZCBcImdpdCByZWJhc2UgLS1hYm9ydFwiLiIKIAotI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgJyVzJyIKLSN+IG1zZ3N0ciAiS3VuZGUgaW50ZSDDtnBwbmEgZmlsZW4gXCIlc1wiIgotCiAjfiBtc2dpZCAiaW4gJTAuMWYgc2Vjb25kcyBhdXRvbWF0aWNhbGx5Li4uIgogI34gbXNnc3RyICJhdXRvbWF0aXNrdCBvbSAlMC4xZiBzZWt1bmRlci4uLiIKIApAQCAtMjEyNjksNyArMjQ2NDEsNyBAQAogI34gIkRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/IgogI34gbXNnc3RyICIiCiAjfiAiRHUgaGFyIGZvcnRmYXJhbmRlIHPDtmt2w6RnYXIgc29tIGludGUgc2xhZ2l0cyBzYW1tYW4gaSBkaXR0IGluZGV4LlxuIgotI34gIkdsw7ZtZGUgZHUgYW52w6RuZGEgXCJnaXQgYWRkXCI/IgorI34gIkdsw7ZtZGUgZHUgYXR0IGFudsOkbmRhIFwiZ2l0IGFkZFwiPyIKIAogI34gbXNnaWQgIiIKICN+ICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS5cbiIKQEAgLTIxMzIwLDkgKzI0NjkyLDYgQEAKICN+IG1zZ2lkICJyZWYgJyVzJyBkb2VzIG5vdCBoYXZlICVsZCBjb21wb25lbnRzIHRvIDpzdHJpcCIKICN+IG1zZ3N0ciAicmVmZXJlbnNlbiBcIiVzXCIgaGFyIGludGUgJWxkIGtvbXBvbmVudGVyIGbDtnIgOnN0cmlwIgogCi0jfiBtc2dpZCAidW5rbm93biAlLipzIGZvcm1hdCAlcyIKLSN+IG1zZ3N0ciAib2vDpG50IFwiJS4qc1wiLWZvcm1hdCAlcyIKLQogI34gbXNnaWQgIlslczogZ29uZV0iCiAjfiBtc2dzdHIgIlslczogZsO2cnN2dW5uZW5dIgogCkBAIC0yMTQwMSw5ICsyNDc3MCw2IEBACiAjfiBtc2dpZCAiQ2Fubm90IGNoZXJyeS1waWNrIGR1cmluZyBhbm90aGVyIGNoZXJyeS1waWNrLiIKICN+IG1zZ3N0ciAiS2FuIGludGUgdXRmw7ZyYSBcImNoZXJyeS1waWNrXCIgdW5kZXIgZW4gYW5uYW4gXCJjaGVycnktcGlja1wiLiIKIAotI34gbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBsaW5lICVkLiIKLSN+IG1zZ3N0ciAiS2FuIGludGUgdG9sa2EgcmFkICVkLiIKLQogI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuICVzIgogI34gbXNnc3RyICJLdW5kZSBpbnRlIMO2cHBuYSAlcyIKIApAQCAtMjE0MTMsOSArMjQ3NzksNiBAQAogI34gbXNnaWQgIiVzOiAlcyIKICN+IG1zZ3N0ciAiJXM6ICVzIgogCi0jfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgotI34gbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgJXM6ICVzIgotCiAjfiBtc2dpZCAiWW91IG5lZWQgdG8gc2V0IHlvdXIgY29tbWl0dGVyIGluZm8gZmlyc3QiCiAjfiBtc2dzdHIgIkR1IG3DpXN0ZSBzdMOkbGxhIGluIGRpbiBpbmNoZWNrYXJpbmZvcm1hdGlvbiBmw7Zyc3QiCiAKQEAgLTIxNjQ1LDkgKzI1MDA4LDYgQEAKICN+IG1zZ2lkICInJXMnOiAlcyIKICN+IG1zZ3N0ciAiXCIlc1wiOiAlcyIKIAotI34gbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJzogJXMiCi0jfiBtc2dzdHIgImthbiBpbnRlIGtvbW1hIMOldCBcIiVzXCI6ICVzIgotCiAjfiBtc2dpZCAiICAgIGdpdCBicmFuY2ggLWQgJXNcbiIKICN+IG1zZ3N0ciAiICAgIGdpdCBicmFuY2ggLWQgJXNcbiIKIApAQCAtMjE2NjQsOSArMjUwMjQsNiBAQAogI34gbXNnaWQgImZhaWxlZCB0byByZW1vdmU6ICVzIgogI34gbXNnc3RyICJtaXNzbHlja2FkZXMgdGEgYm9ydDogJXMiCiAKLSN+IG1zZ2lkICJUaGUgLS1leGVjIG9wdGlvbiBtdXN0IGJlIHVzZWQgd2l0aCB0aGUgLS1pbnRlcmFjdGl2ZSBvcHRpb24iCi0jfiBtc2dzdHIgIkZsYWdnYW4gLS1leGVjIG3DpXN0ZSBhbnbDpG5kYXMgdGlsbHNhbW1hbnMgbWVkIGZsYWdnYW4gLS1pbnRlcmFjdGl2ZSIKLQogI34gbXNnaWQgIiIKICN+ICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyBub3QgaW5pdGlhbGl6ZWRcbiIKICN+ICJNYXliZSB5b3Ugd2FudCB0byB1c2UgJ3VwZGF0ZSAtLWluaXQnPyIKQEAgLTIxNzM1LDkgKzI1MDkyLDYgQEAKICN+IG1zZ2lkICJDb3VsZCBub3QgYXBwZW5kICclcyciCiAjfiBtc2dzdHIgIkt1bmRlIGludGUgbMOkZ2dhIHRpbGwgcMOlIFwiJXNcIiIKIAotI34gbXNnaWQgIk1pc3NpbmcgYXV0aG9yOiAlcyIKLSN+IG1zZ3N0ciAiRsO2cmZhdHRhcmUgc2FrbmFzOiAlcyIKLQogI34gbXNnaWQgIlRlc3RpbmcgIgogI34gbXNnc3RyICJUZXN0YXIiCiAKQEAgLTIxNzk1LDkgKzI1MTQ5LDYgQEAKICN+IG1zZ2lkICJvcHRpb24gJXMgZG9lcyBub3QgYWNjZXB0IG5lZ2F0aXZlIGZvcm0iCiAjfiBtc2dzdHIgImZsYWdnYW4gJXMgZ29kdGFyIGludGUgbmVnYXRpdiBmb3JtIgogCi0jfiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIHZhbHVlICclcycgZm9yIG9wdGlvbiAlcyIKLSN+IG1zZ3N0ciAia3VuZGUgaW50ZSB0b2xrYSB2w6RyZGV0IFwiJXNcIiBmw7ZyIGZsYWdnYW4gJXMiCi0KICN+IG1zZ2lkICItYiBhbmQgLUIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKICN+IG1zZ3N0ciAiLWIgb2NoIC1CIGthbiBpbnRlIGFudsOkbmRhcyBzYW10aWRpZ3QiCiAKQEAgLTIxODk4LDkgKzI1MjQ5LDYgQEAKICN+IG1zZ2lkICIlczogY2Fubm90IGxvY2sgdGhlIHJlZiIKICN+IG1zZ3N0ciAiJXM6IGthbiBpbnRlIGzDpXNhIHJlZmVyZW5zZW4iCiAKLSN+IG1zZ2lkICIlczogY2Fubm90IHVwZGF0ZSB0aGUgcmVmIgotI34gbXNnc3RyICIlczoga2FuIGludGUgdXBwZGF0ZXJhIHJlZmVyZW5zZW4iCi0KICN+IG1zZ2lkICJjb21taXQgaGFzIGVtcHR5IG1lc3NhZ2UiCiAjfiBtc2dzdHIgImluY2hlY2tuaW5nZW4gaGFyIGV0dCB0b210IG1lZGRlbGFuZGUiCiAKZGlmZiAtLWdpdCBhL3BvL3ZpLnBvIGIvcG8vdmkucG8KaW5kZXggYmJkZWI1Yy4uYjg5MWYzYiAxMDA2NDQKLS0tIGEvcG8vdmkucG8KKysrIGIvcG8vdmkucG8KQEAgLTIsMTQgKzIsMTQgQEAKICMgQuG6o24gZOG7i2NoIHRp4bq/bmcgVmnhu4d0IGTDoG5oIGNobyBHSVQtQ09SRS4KICMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGdpdC1jb3JlIHBhY2thZ2UuCiAjIE5ndXnhu4VuIFRow6FpIE5n4buNYyBEdXkgPHBjbG91ZHNAZ21haWwuY29tPiwgMjAxMi4KLSMgVHLhuqduIE5n4buNYyBRdcOibiA8dm53aWxkbWFuQGdtYWlsLmNvbT4sIDIwMTIsIDIwMTMsIDIwMTQsIDIwMTUsIDIwMTYsIDIwMTcsIDIwMTguCisjIFRy4bqnbiBOZ+G7jWMgUXXDom4gPHZud2lsZG1hbkBnbWFpbC5jb20+LCAyMDEyLCAyMDEzLCAyMDE0LCAyMDE1LCAyMDE2LCAyMDE3LCAyMDE4LCAyMDE5LCAyMDIwLgogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogZ2l0IHYyLjIwLjAgcm91bmQgM1xuIgorIlByb2plY3QtSWQtVmVyc2lvbjogZ2l0IHYyLjI1LjBcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogR2l0IE1haWxpbmcgTGlzdCA8Z2l0QHZnZXIua2VybmVsLm9yZz5cbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOC0xMi0wMiAxMDo1NSswODAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxOC0xMi0wMiAxNDoxMiswNzAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTktMTItMzAgMDg6NDgrMDgwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMjAtMDEtMDMgMTQ6MDgrMDcwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogVHLhuqduIE5n4buNYyBRdcOibiA8dm53aWxkbWFuQGdtYWlsLmNvbT5cbiIKICJMYW5ndWFnZS1UZWFtOiBWaWV0bmFtZXNlIDx0cmFuc2xhdGlvbi10ZWFtLXZpQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKICJMYW5ndWFnZTogdmlcbiIKQEAgLTE5LDQ4ICsxOSw0NzcgQEAKICJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTE7IHBsdXJhbD0wO1xuIgogIlgtTGFuZ3VhZ2UtVGVhbS1XZWJzaXRlOiA8aHR0cDovL3RyYW5zbGF0aW9ucHJvamVjdC5vcmcvdGVhbS92aS5odG1sPlxuIgogIlgtUG9lZGl0LVNvdXJjZUNoYXJzZXQ6IFVURi04XG4iCi0iWC1Qb2VkaXQtQmFzZXBhdGg6IC4uL1xuIgorIlgtUG9lZGl0LUJhc2VwYXRoOiAuLlxuIgogIlgtR2VuZXJhdG9yOiBHdHJhbnNsYXRvciAyLjkxLjdcbiIKIAotIzogYWR2aWNlLmM6OTkKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjM0NworIywgYy1mb3JtYXQKK21zZ2lkICJIdWggKCVzKT8iCittc2dzdHIgIkjhuqMgKCVzKT8iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjUwMCBhZGQtaW50ZXJhY3RpdmUuYzo4MDEgc2VxdWVuY2VyLmM6MzIxNgorIzogc2VxdWVuY2VyLmM6MzY1NiBidWlsdGluL3JlYmFzZS5jOjg3MSBidWlsdGluL3JlYmFzZS5jOjE2NDMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjAxOSBidWlsdGluL3JlYmFzZS5jOjIwNjMKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBpbmRleCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBi4bqjbmcgbeG7pWMgbOG7pWMiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjU1NSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI2OQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyOTQKK21zZ2lkICJiaW5hcnkiCittc2dzdHIgIm5o4buLIHBow6JuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2MTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNzgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzMyCittc2dpZCAibm90aGluZyIKK21zZ3N0ciAia2jDtG5nIGPDsyBnw6wiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjYxNCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMxNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMjkKK21zZ2lkICJ1bmNoYW5nZWQiCittc2dzdHIgImtow7RuZyB0aGF5IMSR4buVaSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NjUxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjQzCittc2dpZCAiVXBkYXRlIgorbXNnc3RyICJD4bqtcCBuaOG6rXQiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjY2OCBhZGQtaW50ZXJhY3RpdmUuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHN0YWdlICclcyciCittc2dzdHIgImtow7RuZyB0aOG7gyDEkcawYSDigJwlc+KAnSBsw6puIGLhu4cgcGjDs25nIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2NzQgYWRkLWludGVyYWN0aXZlLmM6ODYzIHNlcXVlbmNlci5jOjM0MDkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6ODk1Cittc2dpZCAiY291bGQgbm90IHdyaXRlIGluZGV4IgorbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIGLhuqNuZyBt4bulYyBs4bulYyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6Njc3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjI4CisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJ1cGRhdGVkICVkIHBhdGhcbiIKK21zZ2lkX3BsdXJhbCAidXBkYXRlZCAlZCBwYXRoc1xuIgorbXNnc3RyWzBdICLEkcOjIGPhuq1wIG5o4bqtdCAlZCDEkcaw4budbmcgZOG6q25cbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6Njk1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Njc4CisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJub3RlOiAlcyBpcyB1bnRyYWNrZWQgbm93LlxuIgorbXNnc3RyICJjaMO6IMO9OiAlcyBnaeG7nSDEkcOjIGLhu48gdGhlbyBkw7VpLlxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo3MDAgYXBwbHkuYzo0MTA4IGJ1aWx0aW4vY2hlY2tvdXQuYzoyODEKKyM6IGJ1aWx0aW4vcmVzZXQuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKK21zZ3N0ciAibWFrZV9jYWNoZV9lbnRyeSBn4bq3cCBs4buXaSDEkeG7kWkgduG7m2kgxJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo3MzAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTUKK21zZ2lkICJSZXZlcnQiCittc2dzdHIgIkhvw6BuIG5ndXnDqm4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjc0NgorbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBIRUFEXnt0cmVlfSIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGPDuiBwaMOhcCBIRUFEXnt0cmVlfSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6Nzg0IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjMxCisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJyZXZlcnRlZCAlZCBwYXRoXG4iCittc2dpZF9wbHVyYWwgInJldmVydGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gIsSRw6MgaG/DoG4gbmd1ecOqbiAlZCDEkcaw4budbmcgZOG6q25cbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6ODM1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Njk1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVudHJhY2tlZCBmaWxlcy5cbiIKK21zZ3N0ciAiS2jDtG5nIGPDsyB04bqtcCB0aW4gbsOgbyBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkuXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjgzOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY4OQorbXNnaWQgIkFkZCB1bnRyYWNrZWQiCittc2dzdHIgIlRow6ptIGPDoWMgY8OhaSBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjg2NiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYyNQorIywgYy1mb3JtYXQsIHBlcmwtZm9ybWF0Cittc2dpZCAiYWRkZWQgJWQgcGF0aFxuIgorbXNnaWRfcGx1cmFsICJhZGRlZCAlZCBwYXRoc1xuIgorbXNnc3RyWzBdICLEkcOjIHRow6ptICVkIMSRxrDhu51uZyBk4bqrblxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5tZXJnZWQ6ICVzIgorbXNnc3RyICJi4buPIHF1YSBuaOG7r25nIHRo4bupIGNoxrBhIGjDsmEgdHLhu5luOiAlcyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTA4IGFkZC1wYXRjaC5jOjEzMzEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIk9ubHkgYmluYXJ5IGZpbGVzIGNoYW5nZWQuXG4iCittc2dzdHIgIkNo4buJIGPDsyBjw6FjIHThuq1wIHRpbiBuaOG7iyBwaMOibiBsw6AgdGhheSDEkeG7lWkuXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjkxMCBhZGQtcGF0Y2guYzoxMzI5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJObyBjaGFuZ2VzLlxuIgorbXNnc3RyICJLaMO0bmcgY8OzIHRoYXkgxJHhu5VpIG7DoG8uXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjkxNCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzYKK21zZ2lkICJQYXRjaCB1cGRhdGUiCittc2dzdHIgIkPhuq1wIG5o4bqtdCBtaeG6v25nIHbDoSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTUzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc1NAorbXNnaWQgIlJldmlldyBkaWZmIgorbXNnc3RyICJYZW0geMOpdCBs4bqhaSBkaWZmIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5ODEKK21zZ2lkICJzaG93IHBhdGhzIHdpdGggY2hhbmdlcyIKK21zZ3N0ciAiaGnhu4NuIHRo4buLIMSRxrDhu51uZyBk4bqrbiB24bubaSBjw6FjIHRoYXkgxJHhu5VpIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5ODMKK21zZ2lkICJhZGQgd29ya2luZyB0cmVlIHN0YXRlIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXMiCittc2dzdHIgIiIKKyJ0aMOqbSB0cuG6oW5nIHRow6FpIGPDonkgbMOgbSB2aeG7h2MgdsOgbyB04bqtcCBo4bujcCBjw6FjIHRoYXkgxJHhu5VpIMSRw6MgxJHGsOG7o2MgxJHGsGEgbMOqbiBi4buHICIKKyJwaMOzbmciCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4NQorbXNnaWQgInJldmVydCBzdGFnZWQgc2V0IG9mIGNoYW5nZXMgYmFjayB0byB0aGUgSEVBRCB2ZXJzaW9uIgorbXNnc3RyICIiCisiaG/DoG4gbmd1ecOqbiBs4bqhaSB04bqtcCBo4bujcCBjw6FjIHRoYXkgxJHhu5VpIMSRw6MgxJHGsOG7o2MgxJHGsGEgbMOqbiBi4buHIHBow7NuZyB0cuG7nyBs4bqhaSBwaGnDqm4gIgorImLhuqNuIEhFQUQiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4NworbXNnaWQgInBpY2sgaHVua3MgYW5kIHVwZGF0ZSBzZWxlY3RpdmVseSIKK21zZ3N0ciAiY2jhu41uIGPDoWMg4oCca2jDumPigJ0gdsOgIGPhuq1wIG5o4bqtdCBjw7MgdHV54buDbiBjaOG7jW4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4OQorbXNnaWQgInZpZXcgZGlmZiBiZXR3ZWVuIEhFQUQgYW5kIGluZGV4IgorbXNnc3RyICJ4ZW0ga2jDoWMgYmnhu4d0IGdp4buvYSBIRUFEIHbDoCBt4bulYyBs4bulYyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTkxCittc2dpZCAiYWRkIGNvbnRlbnRzIG9mIHVudHJhY2tlZCBmaWxlcyB0byB0aGUgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzIgorbXNnc3RyICIiCisidGjDqm0gbuG7mWkgZHVuZyBj4bunYSBjw6FjIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkgdsOgbyB04bqtcCBo4bujcCBjw6FjIHRoYXkgxJHhu5VpIMSRw6MgIgorIsSRxrDhu6NjIMSRxrBhIGzDqm4gYuG7hyBwaMOzbmciCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk5OSBhZGQtaW50ZXJhY3RpdmUuYzoxMDQ4Cittc2dpZCAiUHJvbXB0IGhlbHA6IgorbXNnc3RyICJUcuG7oyBnacO6cCB24buBIG5o4bqvYzoiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDEKK21zZ2lkICJzZWxlY3QgYSBzaW5nbGUgaXRlbSIKK21zZ3N0ciAiY2jhu41uIG3hu5l0IG3hu6VjIMSRxqFuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDAzCittc2dpZCAic2VsZWN0IGEgcmFuZ2Ugb2YgaXRlbXMiCittc2dzdHIgImNo4buNbiBt4buZdCB2w7luZyBjw6FjIG3hu6VjIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDA1Cittc2dpZCAic2VsZWN0IG11bHRpcGxlIHJhbmdlcyIKK21zZ3N0ciAiY2jhu41uIG5oaeG7gXUgdsO5bmciCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDcgYWRkLWludGVyYWN0aXZlLmM6MTA1MgorbXNnaWQgInNlbGVjdCBpdGVtIGJhc2VkIG9uIHVuaXF1ZSBwcmVmaXgiCittc2dzdHIgImNo4buNbiBt4bulYyBk4buxYSB0csOqbiB0aeG7gW4gdOG7kSBkdXkgbmjhuqV0IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDA5Cittc2dpZCAidW5zZWxlY3Qgc3BlY2lmaWVkIGl0ZW1zIgorbXNnc3RyICJi4buPIGNo4buNbiBjw6FjIG3hu6VjIMSRw6MgY2hvIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDExCittc2dpZCAiY2hvb3NlIGFsbCBpdGVtcyIKK21zZ3N0ciAiY2jhu41uIHThuqV0IGPhuqMgY8OhYyBt4bulYyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAxMworbXNnaWQgIihlbXB0eSkgZmluaXNoIHNlbGVjdGluZyIKK21zZ3N0ciAiKMSR4buDIHRy4buRbmcpIGhvw6BuIHThuqV0IGNo4buNbiBs4buxYSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTA1MAorbXNnaWQgInNlbGVjdCBhIG51bWJlcmVkIGl0ZW0iCittc2dzdHIgInTDuXkgY2jhu41uIG3hu6VjIGLhurFuZyBz4buRIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDU0Cittc2dpZCAiKGVtcHR5KSBzZWxlY3Qgbm90aGluZyIKK21zZ3N0ciAiKMSR4buDIHRy4buRbmcpIGtow7RuZyBjaOG7jW4gZ8OsIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDYyIGJ1aWx0aW4vY2xlYW4uYzo4MjIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODUxCittc2dpZCAiKioqIENvbW1hbmRzICoqKiIKK21zZ3N0ciAiKioqIEzhu4duaCAqKioiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNjMgYnVpbHRpbi9jbGVhbi5jOjgyMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4NDgKK21zZ2lkICJXaGF0IG5vdyIKK21zZ3N0ciAiR2nhu50gdGjDrCBzYW8iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjExMTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMTMKK21zZ2lkICJzdGFnZWQiCittc2dzdHIgIsSRw6MgxJHGsGEgbMOqbiBi4buHIHBow7NuZyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTExNSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMworbXNnaWQgInVuc3RhZ2VkIgorbXNnc3RyICJjaMawYSDEkcawYSBsw6puIGLhu4cgcGjDs25nIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGFwcGx5LmM6NDk2NSBhcHBseS5jOjQ5NjggYnVpbHRpbi9hbS5jOjIxOTcKKyM6IGJ1aWx0aW4vYW0uYzoyMjAwIGJ1aWx0aW4vY2xvbmUuYzoxMjMgYnVpbHRpbi9mZXRjaC5jOjE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjI3MyBidWlsdGluL3B1bGwuYzoyMDkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjExOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMworbXNnaWQgInBhdGgiCittc2dzdHIgIsSRxrDhu51uZy1k4bqrbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTEyMgorbXNnaWQgImNvdWxkIG5vdCByZWZyZXNoIGluZGV4IgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIGzhuqFpIGLhuqNuZyBt4bulYyBs4bulYyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTEzNiBidWlsdGluL2NsZWFuLmM6Nzg3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2NQorIywgYy1mb3JtYXQKK21zZ2lkICJCeWUuXG4iCittc2dzdHIgIlThuqFtIGJp4buHdC5cbiIKKworIzogYWRkLXBhdGNoLmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhZ2UgbW9kZSBjaGFuZ2UgW3ksbixhLHEsZCVzLD9dPyAiCittc2dzdHIgIlRoYXkgxJHhu5VpIGNo4bq/IMSR4buZIGLhu4cgcGjDs25nIFt5LG4sYSxxLGQlcyw/XT8gIgorCisjOiBhZGQtcGF0Y2guYzoxNgorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFnZSBkZWxldGlvbiBbeSxuLGEscSxkJXMsP10/ICIKK21zZ3N0ciAiWMOzYSBraOG7j2kgYuG7hyBwaMOzbmcgW3ksbixhLHEsZCVzLD9dPyAiCisKKyM6IGFkZC1wYXRjaC5jOjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YWdlIHRoaXMgaHVuayBbeSxuLGEscSxkJXMsP10/ICIKK21zZ3N0ciAixJDGsGEgbMOqbiBi4buHIHBow7NuZyBraMO6YyBuw6B5IFt5LG4sYSxxLGQlcyw/XT8gIgorCisjOiBhZGQtcGF0Y2guYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGh1bmsgaGVhZGVyICclLipzJyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGPDuiBwaMOhcCBwaOG6p24gxJHhuqd1IGPhu6dhIGtow7pjIOKAnCUuKnPigJ0iCisKKyM6IGFkZC1wYXRjaC5jOjEzMCBhZGQtcGF0Y2guYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbG9yZWQgaHVuayBoZWFkZXIgJyUuKnMnIgorbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggY8O6IHBow6FwIHBo4bqnbiDEkeG6p3Uga2jDumMgxJHDoyB0w7QgbcOgdSDigJwlLipz4oCdIgorCisjOiBhZGQtcGF0Y2guYzoxNzYKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgZGlmZiIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGPDuiBwaMOhcCBraMOhYyBiaeG7h3QiCisKKyM6IGFkZC1wYXRjaC5jOjE5NAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb2xvcmVkIGRpZmYiCittc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBraMOhYyBiaeG7h3QgxJHGsOG7o2MgdMO0IG3DoHUiCisKKyM6IGFkZC1wYXRjaC5jOjUwOAorIywgYy1mb3JtYXQKKyN8IG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gJXMiCittc2dpZCAiIgorImV4cGVjdGVkIGNvbnRleHQgbGluZSAjJWQgaW5cbiIKKyIlLipzIgorbXNnc3RyICIiCisiY+G6p24gZMOybmcgbuG7mWkgZHVuZyAjJWQgdHJvbmdcbiIKKyIlLipzIgorCisjOiBhZGQtcGF0Y2guYzo1MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImh1bmtzIGRvIG5vdCBvdmVybGFwOlxuIgorIiUuKnNcbiIKKyJcdGRvZXMgbm90IGVuZCB3aXRoOlxuIgorIiUuKnMiCittc2dzdHIgIiIKKyJjw6FjIGto4buRaSBraMO0bmcgY2jhu5NuZyDEkcOoIGzDqm4gbmhhdTpcbiIKKyIlLipzXG4iCisiXHRraMO0bmcgxJHGsOG7o2Mga+G6v3QgdGjDumMgYuG6sW5nOlxuIgorIiUuKnMiCisKKyM6IGFkZC1wYXRjaC5jOjc5OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTIKK21zZ2lkICJNYW51YWwgaHVuayBlZGl0IG1vZGUgLS0gc2VlIGJvdHRvbSBmb3IgYSBxdWljayBndWlkZS5cbiIKK21zZ3N0ciAiQ2jhur8gxJHhu5kgc+G7rWEga2jDumMgYuG6sW5nIHRheSAtLSB4ZW0g4bufIMSRw6F5IMSR4buDIGPDsyBoxrDhu5tuZyBk4bqrbiBz4butIGThu6VuZyBuaGFuaC5cbiIKKworIzogYWRkLXBhdGNoLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS1cbiIKKyJUbyByZW1vdmUgJyVjJyBsaW5lcywgbWFrZSB0aGVtICcgJyBsaW5lcyAoY29udGV4dCkuXG4iCisiVG8gcmVtb3ZlICclYycgbGluZXMsIGRlbGV0ZSB0aGVtLlxuIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJWMgd2lsbCBiZSByZW1vdmVkLlxuIgorbXNnc3RyICIiCisiLS0tXG4iCisixJDhu4MgZ+G7oSBi4buPIOKAnCVj4oCdIGTDsm5nLCBsw6BtIGNow7puZyB0aMOgbmggbmjhu69uZyBkw7JuZyAnICcgKG7hu5lpIGR1bmcpLlxuIgorIsSQ4buDIGfDtSBi4buPIOKAnCVj4oCdIGTDsm5nLCB4w7NhIGNow7puZyDEkWkuXG4iCisiTmjhu69uZyBkw7JuZyBi4bqvdCDEkeG6p3UgYuG6sW5nICVjIHPhur0gYuG7iyBsb+G6oWkgYuG7jy5cbiIKKworIzogYWRkLXBhdGNoLmM6ODEwCittc2dpZCAiIgorIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCisibWFya2VkIGZvciBzdGFnaW5nLlxuIgorbXNnc3RyICIiCisiTuG6v3UgbWnhur9uZyB2w6EgxJHGsOG7o2Mgw6FwIGThu6VuZyBz4bqhY2ggc+G6vSwga2jDumMgxJHDoyBz4butYSBz4bq9IG5nYXkgbOG6rXAgdOG7qWNcbiIKKyLEkcaw4bujYyDEkcOhbmggZOG6pXUgxJHhu4MgY2h1eeG7g24gbMOqbiBi4buHIHBow7NuZy5cbiIKKworIy4gVFJBTlNMQVRPUlM6ICdpdCcgcmVmZXJzIHRvIHRoZSBwYXRjaCBtZW50aW9uZWQgaW4gdGhlIHByZXZpb3VzIG1lc3NhZ2VzLgorIzogYWRkLXBhdGNoLmM6ODE4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTEyNgorbXNnaWQgIiIKKyJJZiBpdCBkb2VzIG5vdCBhcHBseSBjbGVhbmx5LCB5b3Ugd2lsbCBiZSBnaXZlbiBhbiBvcHBvcnR1bml0eSB0b1xuIgorImVkaXQgYWdhaW4uICBJZiBhbGwgbGluZXMgb2YgdGhlIGh1bmsgYXJlIHJlbW92ZWQsIHRoZW4gdGhlIGVkaXQgaXNcbiIKKyJhYm9ydGVkIGFuZCB0aGUgaHVuayBpcyBsZWZ0IHVuY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorIk7hur91IG1p4bq/bmcgdsOhIGtow7RuZyDEkcaw4bujYyDDoXAgZOG7pW5nIHPhuqFjaCBz4bq9LCBi4bqhbiBz4bq9IGPDsyBt4buZdCBjxqEgaOG7mWlcbiIKKyLEkeG7gyBz4butYSBs4bqnbiBu4buvYS4gTuG6v3UgbeG7jWkgZMOybmcgY+G7p2Ega2jDumMgYuG7iyB4w7NhIGLhu48sIHRo4bq/IHRow6wgbmjhu69uZ1xuIgorInPhu61hIGThu5VpIHPhur0gYuG7iyBsb+G6oWkgYuG7jywgdsOgIGtow7pjIHbhuqtuIGdp4buvIG5ndXnDqm4uXG4iCisKKyM6IGFkZC1wYXRjaC5jOjg1MQorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBodW5rIGhlYWRlciIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGPDuiBwaMOhcCBwaOG6p24gxJHhuqd1IGtow7pjIgorCisjOiBhZGQtcGF0Y2guYzo4OTUgYWRkLXBhdGNoLmM6MTI5NAorbXNnaWQgIidnaXQgYXBwbHkgLS1jYWNoZWQnIGZhaWxlZCIKK21zZ3N0ciAiJ2dpdCBhcHBseSAtLWNhY2hlZCcgZ+G6t3AgbOG7l2kiCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIFt5L25dCisjLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IHRoYXQgaW5wdXQgYXQgdGhpcyBwb2ludC4KKyMuIENvbnNpZGVyIHRyYW5zbGF0aW5nIChzYXlpbmcgIm5vIiBkaXNjYXJkcyEpIGFzCisjLiAoc2F5aW5nICJuIiBmb3IgIm5vIiBkaXNjYXJkcyEpIGlmIHRoZSB0cmFuc2xhdGlvbgorIy4gb2YgdGhlIHdvcmQgIm5vIiBkb2VzIG5vdCBzdGFydCB3aXRoIG4uCisjLgorIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgW3kvbl0KKyMuIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgdGhhdCBpbnB1dAorIy4gYXQgdGhpcyBwb2ludC4KKyMuIENvbnNpZGVyIHRyYW5zbGF0aW5nIChzYXlpbmcgIm5vIiBkaXNjYXJkcyEpIGFzCisjLiAoc2F5aW5nICJuIiBmb3IgIm5vIiBkaXNjYXJkcyEpIGlmIHRoZSB0cmFuc2xhdGlvbgorIy4gb2YgdGhlIHdvcmQgIm5vIiBkb2VzIG5vdCBzdGFydCB3aXRoIG4uCisjOiBhZGQtcGF0Y2guYzo5NTIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjM5Cittc2dpZCAiIgorIllvdXIgZWRpdGVkIGh1bmsgZG9lcyBub3QgYXBwbHkuIEVkaXQgYWdhaW4gKHNheWluZyBcIm5vXCIgZGlzY2FyZHMhKSBbeS9uXT8gIgorbXNnc3RyICIiCisiSHVuayDEkcOjIHPhu61hIGPhu6dhIGLhuqFuIGtow7RuZyDEkcaw4bujYyDDoXAgZOG7pW5nLiBT4butYSBs4bqhaSBs4bqnbiBu4buvYSAobsOzaSBcIm5cIiDEkeG7gyBsb+G6oWkgIgorImLhu48hKSBbeS9uXT8gIgorCisjOiBhZGQtcGF0Y2guYzoxMDA5Cittc2dpZCAiIgorInkgLSBzdGFnZSB0aGlzIGh1bmtcbiIKKyJuIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVua1xuIgorInEgLSBxdWl0OyBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gc3RhZ2UgdGhpcyBhbmQgYWxsIHRoZSByZW1haW5pbmcgaHVua3NcbiIKKyJkIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVuayBub3IgYW55IG9mIHRoZSByZW1haW5pbmcgaHVua3NcbiIKK21zZ3N0ciAiIgorInkgLSDEkcawYSBsw6puIGLhu4cgcGjDs25nIGtow7pjIG7DoHlcbiIKKyJuIC0gxJHhu6tuZyDEkcawYSBsw6puIGLhu4cgcGjDs25nIGtow7pjIG7DoHlcbiIKKyJxIC0gdGhvw6F0OyDEkeG7q25nIMSRxrBhIGzDqm4gYuG7hyBwaMOzbmcga2jDumMgbsOgeSBjxaluZyBuaMawIGLhuqV0IGvhu7MgY8OhaSBuw6BvIGPDsm4gbOG6oWlcbiIKKyJhIC0gxJHGsGEgbMOqbiBi4buHIHBow7NuZyBraMO6YyBuw6B5IHbDoCB04bqldCBj4bqjIGPDoWMga2jDumMgY8OybiBs4bqhaSBzYXUgbsOgeVxuIgorImQgLSDEkeG7q25nIMSRxrBhIGzDqm4gYuG7hyBwaMOzbmcga2jDumMgbsOgeSBjxaluZyBuaMawIGLhuqV0IGvhu7MgY8OhaSBuw6BvIGPDsm4gbOG6oWlcbiIKKworIzogYWRkLXBhdGNoLmM6MTAxNgorbXNnaWQgIiIKKyJqIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIG5leHQgdW5kZWNpZGVkIGh1bmtcbiIKKyJKIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIG5leHQgaHVua1xuIgorImsgLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgcHJldmlvdXMgdW5kZWNpZGVkIGh1bmtcbiIKKyJLIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIHByZXZpb3VzIGh1bmtcbiIKKyJnIC0gc2VsZWN0IGEgaHVuayB0byBnbyB0b1xuIgorIi8gLSBzZWFyY2ggZm9yIGEgaHVuayBtYXRjaGluZyB0aGUgZ2l2ZW4gcmVnZXhcbiIKKyJzIC0gc3BsaXQgdGhlIGN1cnJlbnQgaHVuayBpbnRvIHNtYWxsZXIgaHVua3NcbiIKKyJlIC0gbWFudWFsbHkgZWRpdCB0aGUgY3VycmVudCBodW5rXG4iCisiPyAtIHByaW50IGhlbHBcbiIKK21zZ3N0ciAiIgorImogLSDEkeG7gyBs4bqhaSBraMO6YyBuw6B5IGzDoCBjaMawYSBxdXnhur90IMSR4buLbmgsIHhlbSBraMO6YyBjaMawYSBxdXnhur90IMSR4buLbmgga+G6vyB0aeG6v3BcbiIKKyJKIC0gxJHhu4MgbOG6oWkga2jDumMgbsOgeSBsw6AgY2jGsGEgcXV54bq/dCDEkeG7i25oLCB4ZW0ga2jDumMga+G6vyB0aeG6v3BcbiIKKyJrIC0gxJHhu4MgbOG6oWkga2jDumMgbsOgeSBsw6AgY2jGsGEgcXV54bq/dCDEkeG7i25oLCB4ZW0ga2jDumMgY2jGsGEgcXV54bq/dCDEkeG7i25oIGvhur8gdHLGsOG7m2NcbiIKKyJLIC0gxJHhu4MgbOG6oWkga2jDumMgbsOgeSBsw6AgY2jGsGEgcXV54bq/dCDEkeG7i25oLCB4ZW0ga2jDumMga+G6vyB0csaw4bubY1xuIgorImcgLSBjaOG7jW4gbeG7mXQga2jDumMgbXXhu5FuIHThu5tpXG4iCisiLyAtIHTDrG0gbeG7mXQga2jDumMga2jhu5twIHbhu5tpIGJp4buDdSB0aOG7qWMgY2jDrW5oIHF1eSDEkcawYSByYVxuIgorInMgLSBjaGlhIGtow7pjIGhp4buHbiB04bqhaSB0aMOgbmggY8OhYyBraMO6YyBuaOG7jyBoxqFuXG4iCisiZSAtIHPhu61hIGLhurFuZyB0YXkga2jDumMgaGnhu4duIGjDoG5oXG4iCisiPyAtIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cFxuIgorCisjOiBhZGQtcGF0Y2guYzoxMTM3IGFkZC1wYXRjaC5jOjExNDcKK21zZ2lkICJObyBwcmV2aW91cyBodW5rIgorbXNnc3RyICJLaMO0bmcgY8OzIGtow7pjIGvhur8gdHLGsOG7m2MiCisKKyM6IGFkZC1wYXRjaC5jOjExNDIgYWRkLXBhdGNoLmM6MTE1MgorbXNnaWQgIk5vIG5leHQgaHVuayIKK21zZ3N0ciAiS2jDtG5nIGPDsyBraMO6YyBr4bq/IHRp4bq/cCIKKworIzogYWRkLXBhdGNoLmM6MTE1OAorbXNnaWQgIk5vIG90aGVyIGh1bmtzIHRvIGdvdG8iCittc2dzdHIgIktow7RuZyBjw7JuIGtow7pjIG7DoG8gxJHhu4MgbcOgIG5o4bqjeSDEkeG6v24iCisKKyM6IGFkZC1wYXRjaC5jOjExNjkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTc3Cittc2dpZCAiZ28gdG8gd2hpY2ggaHVuayAoPHJldD4gdG8gc2VlIG1vcmUpPyAiCittc2dzdHIgIm5o4bqjeSDEkeG6v24ga2jDumMgbsOgbyAoPHJldD4gxJHhu4MgeGVtIHRow6ptKT8gIgorCisjOiBhZGQtcGF0Y2guYzoxMTcwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU3OQorbXNnaWQgImdvIHRvIHdoaWNoIGh1bms/ICIKK21zZ3N0ciAibmjhuqN5IMSR4bq/biBraMO6YyBuw6BvPyAiCisKKyM6IGFkZC1wYXRjaC5jOjExODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBudW1iZXI6ICclcyciCittc2dzdHIgIlPhu5Ega2jDtG5nIGjhu6NwIGzhu4c6IOKAnCVz4oCdIgorCisjOiBhZGQtcGF0Y2guYzoxMTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNvcnJ5LCBvbmx5ICVkIGh1bmsgYXZhaWxhYmxlLiIKK21zZ2lkX3BsdXJhbCAiU29ycnksIG9ubHkgJWQgaHVua3MgYXZhaWxhYmxlLiIKK21zZ3N0clswXSAiUuG6pXQgdGnhur9jLCBjaOG7iSBjw7Mgc+G6tW4gJWQga2jDumMuIgorCisjOiBhZGQtcGF0Y2guYzoxMTk1Cittc2dpZCAiTm8gb3RoZXIgaHVua3MgdG8gc2VhcmNoIgorbXNnc3RyICJLaMO0bmcgY8OybiBraMO6YyBuw6BvIMSR4buDIG3DoCB0w6xtIGtp4bq/bSIKKworIzogYWRkLXBhdGNoLmM6MTIwMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MjMKK21zZ2lkICJzZWFyY2ggZm9yIHJlZ2V4PyAiCittc2dzdHIgInTDrG0ga2nhur9tIGNobyBiaeG7g3UgdGjhu6ljIGNow61uaCBxdXk/ICIKKworIzogYWRkLXBhdGNoLmM6MTIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJNYWxmb3JtZWQgc2VhcmNoIHJlZ2V4cCAlczogJXMiCittc2dzdHIgIsSQ4buLbmggZOG6oW5nIHTDrG0ga2nhur9tIGPhu6dhIGJp4buDdSB0aOG7qWMgY2jDrW5oIHF1eSBraMO0bmcgxJHDum5nICVzOiAlcyIKKworIzogYWRkLXBhdGNoLmM6MTIzMworbXNnaWQgIk5vIGh1bmsgbWF0Y2hlcyB0aGUgZ2l2ZW4gcGF0dGVybiIKK21zZ3N0ciAiS2jDtG5nIHRo4bqleSBraMO6YyBuw6BvIGto4bubcCBt4bqrdSDEkcOjIGNobyIKKworIzogYWRkLXBhdGNoLmM6MTI0MAorbXNnaWQgIlNvcnJ5LCBjYW5ub3Qgc3BsaXQgdGhpcyBodW5rIgorbXNnc3RyICJS4bqldCB0aeG6v2MsIGtow7RuZyB0aOG7gyBjaGlhIG5o4buPIGtow7pjIG7DoHkiCisKKyM6IGFkZC1wYXRjaC5jOjEyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3BsaXQgaW50byAlZCBodW5rcy4iCittc2dzdHIgIkNoaSBuaOG7jyB0aMOgbmggJWQga2jDumMuIgorCisjOiBhZGQtcGF0Y2guYzoxMjQ4Cittc2dpZCAiU29ycnksIGNhbm5vdCBlZGl0IHRoaXMgaHVuayIKK21zZ3N0ciAiUuG6pXQgdGnhur9jLCBraMO0bmcgdGjhu4Mgc+G7rWEga2jDumMgbsOgeSIKKworIzogYWR2aWNlLmM6MTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzaGludDogJS4qcyVzXG4iCiBtc2dzdHIgIiVzZ+G7o2kgw706ICUuKnMlc1xuIgogCi0jOiBhZHZpY2UuYzoxNTIKKyM6IGFkdmljZS5jOjE2NAogbXNnaWQgIkNoZXJyeS1waWNraW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogIkNoZXJyeS1waWNraW5nIGzDoCBraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiBi4bufaSB2w6wgYuG6oW4gY8OzIG5o4buvbmcgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjICIKICJow7JhIHRy4buZbi4iCiAKLSM6IGFkdmljZS5jOjE1NAorIzogYWR2aWNlLmM6MTY2CiBtc2dpZCAiQ29tbWl0dGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIiIKICJDb21taXQgbMOgIGtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIGLhu59pIHbDrCBi4bqhbiBjw7Mgbmjhu69uZyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4uIgogCi0jOiBhZHZpY2UuYzoxNTYKKyM6IGFkdmljZS5jOjE2OAogbXNnaWQgIk1lcmdpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICIiCiAiTWVyZ2UgbMOgIGtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIGLhu59pIHbDrCBi4bqhbiBjw7Mgbmjhu69uZyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4uIgogCi0jOiBhZHZpY2UuYzoxNTgKKyM6IGFkdmljZS5jOjE3MAogbXNnaWQgIlB1bGxpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICIiCiAiUHVsbCBsw6Aga2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gYuG7n2kgdsOsIGLhuqFuIGPDsyBuaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbi4iCiAKLSM6IGFkdmljZS5jOjE2MAorIzogYWR2aWNlLmM6MTcyCiBtc2dpZCAiUmV2ZXJ0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgogIlJldmVydCBsw6Aga2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gYuG7n2kgdsOsIGLhuqFuIGPDsyBuaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbi4iCiAKLSM6IGFkdmljZS5jOjE2MgorIzogYWR2aWNlLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkl0IGlzIG5vdCBwb3NzaWJsZSB0byAlcyBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAiIgotIk7DsyBsw6Aga2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gduG7m2kgJXMgYuG7n2kgdsOsIGLhuqFuIGPDsyBuaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyBow7JhICIKLSJ0cuG7mW4uIgorIlZp4buHYyBuw6B5IGtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIHbhu5tpICVzIGLhu59pIHbDrCBi4bqhbiBjw7Mgbmjhu69uZyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgIgorImjDsmEgdHLhu5luLiIKIAotIzogYWR2aWNlLmM6MTcwCisjOiBhZHZpY2UuYzoxODIKIG1zZ2lkICIiCiAiRml4IHRoZW0gdXAgaW4gdGhlIHdvcmsgdHJlZSwgYW5kIHRoZW4gdXNlICdnaXQgYWRkL3JtIDxmaWxlPidcbiIKICJhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24gYW5kIG1ha2UgYSBjb21taXQuIgpAQCAtNjgsMTQwICs0OTcsMTUxIEBACiAiU+G7rWEgY2jDum5nIHRyb25nIGPDonkgbMOgbSB2aeG7h2MsIHbDoCBzYXUgxJHDsyBkw7luZyBs4buHbmgg4oCcZ2l0IGFkZC9ybSA8dOG6rXAtdGluPuKAnVxuIgogImTDoG5oIHJpw6puZyBjaG8gdmnhu4djIMSRw6FuaCBk4bqldSBj4bqnbiBnaeG6o2kgcXV54bq/dCB2w6AgdOG6oW8gbOG6p24gY2h1eeG7g24gZ2lhby4iCiAKLSM6IGFkdmljZS5jOjE3OAorIzogYWR2aWNlLmM6MTkwCiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIGFuIHVucmVzb2x2ZWQgY29uZmxpY3QuIgogbXNnc3RyICJUaG/DoXQgcmEgYuG7n2kgdsOsIHh1bmcgxJHhu5l0IGtow7RuZyB0aOG7gyBnaeG6o2kgcXV54bq/dC4iCiAKLSM6IGFkdmljZS5jOjE4MyBidWlsdGluL21lcmdlLmM6MTI4OQorIzogYWR2aWNlLmM6MTk1IGJ1aWx0aW4vbWVyZ2UuYzoxMzMyCiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuIgogbXNnc3RyICJC4bqhbiBjaMawYSBr4bq/dCB0aMO6YyB2aeG7h2MgaMOyYSB0cuG7mW4gKE1FUkdFX0hFQUQgduG6q24gdOG7k24gdOG6oWkpLiIKIAotIzogYWR2aWNlLmM6MTg1CisjOiBhZHZpY2UuYzoxOTcKIG1zZ2lkICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIG1lcmdpbmcuIgogbXNnc3RyICJWdWkgbMOybmcgY2h1eeG7g24gZ2lhbyBjw6FjIHRoYXkgxJHhu5VpIHRyxrDhu5tjIGtoaSBow7JhIHRy4buZbi4iCiAKLSM6IGFkdmljZS5jOjE4NgorIzogYWR2aWNlLmM6MTk4CiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIHVuZmluaXNoZWQgbWVyZ2UuIgogbXNnc3RyICJUaG/DoXQgcmEgYuG7n2kgdsOsIHZp4buHYyBow7JhIHRy4buZbiBraMO0bmcgaG/DoG4gdOG6pXQuIgogCi0jOiBhZHZpY2UuYzoxOTIKKyM6IGFkdmljZS5jOjIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iTm90ZTogY2hlY2tpbmcgb3V0ICclcycuXG4iCisiTm90ZTogc3dpdGNoaW5nIHRvICclcycuXG4iCiAiXG4iCiAiWW91IGFyZSBpbiAnZGV0YWNoZWQgSEVBRCcgc3RhdGUuIFlvdSBjYW4gbG9vayBhcm91bmQsIG1ha2UgZXhwZXJpbWVudGFsXG4iCiAiY2hhbmdlcyBhbmQgY29tbWl0IHRoZW0sIGFuZCB5b3UgY2FuIGRpc2NhcmQgYW55IGNvbW1pdHMgeW91IG1ha2UgaW4gdGhpc1xuIgotInN0YXRlIHdpdGhvdXQgaW1wYWN0aW5nIGFueSBicmFuY2hlcyBieSBwZXJmb3JtaW5nIGFub3RoZXIgY2hlY2tvdXQuXG4iCisic3RhdGUgd2l0aG91dCBpbXBhY3RpbmcgYW55IGJyYW5jaGVzIGJ5IHN3aXRjaGluZyBiYWNrIHRvIGEgYnJhbmNoLlxuIgogIlxuIgogIklmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggdG8gcmV0YWluIGNvbW1pdHMgeW91IGNyZWF0ZSwgeW91IG1heVxuIgotImRvIHNvIChub3cgb3IgbGF0ZXIpIGJ5IHVzaW5nIC1iIHdpdGggdGhlIGNoZWNrb3V0IGNvbW1hbmQgYWdhaW4uIEV4YW1wbGU6XG4iCisiZG8gc28gKG5vdyBvciBsYXRlcikgYnkgdXNpbmcgLWMgd2l0aCB0aGUgc3dpdGNoIGNvbW1hbmQuIEV4YW1wbGU6XG4iCiAiXG4iCi0iICBnaXQgY2hlY2tvdXQgLWIgPG5ldy1icmFuY2gtbmFtZT5cbiIKKyIgIGdpdCBzd2l0Y2ggLWMgPG5ldy1icmFuY2gtbmFtZT5cbiIKKyJcbiIKKyJPciB1bmRvIHRoaXMgb3BlcmF0aW9uIHdpdGg6XG4iCisiXG4iCisiICBnaXQgc3dpdGNoIC1cbiIKKyJcbiIKKyJUdXJuIG9mZiB0aGlzIGFkdmljZSBieSBzZXR0aW5nIGNvbmZpZyB2YXJpYWJsZSBhZHZpY2UuZGV0YWNoZWRIZWFkIHRvICIKKyJmYWxzZVxuIgogIlxuIgogbXNnc3RyICIiCi0iQ2jDuiDDvTogxJFhbmcgbOG6pXkgcmEg4oCcJXPigJ0uXG4iCisiQ2jDuiDDvTogxJFhbmcgY2h1eeG7g24gc2FuZyDigJwlc+KAnS5cbiIKICJcbiIKICJC4bqhbiDEkWFuZyDhu58gdMOsbmggdHLhuqFuZyDigJxkZXRhY2hlZCBIRUFE4oCdLiBC4bqhbiBjw7MgdGjhu4MgeGVtIHF1YSwgdOG6oW8gY8OhYyB0aGF5XG4iCiAixJHhu5VpIHRo4butIG5naGnhu4dtIHbDoCBjaHV54buDbiBnaWFvIGNow7puZywgYuG6oW4gY8OzIHRo4buDIGxv4bqhaSBi4buPIGLhuqV0IGvhu7MgbOG6p24gY2h1eeG7g25cbiIKLSJnaWFvIG7DoG8gdHJvbmcgdMOsbmggdHLhuqFuZyBuw6B5IG3DoCBraMO0bmcgY+G6p24gxJHhu6VuZyBjaOG6rW0gxJHhur9uIGLhuqV0IGvhu7MgbmjDoW5oIG7DoG9cbiIKLSJi4bqxbmcgY8OhY2ggdGjhu7FjIGhp4buHbiBs4bqnbiBs4bqleSByYSBraMOhYyBu4buvYS5cbiIKKyJnaWFvIG7DoG8gdHJvbmcgdMOsbmggdHLhuqFuZyBuw6B5IG3DoCBraMO0bmcgY+G6p24gxJHhu6VuZyBjaOG6oW0gxJHhur9uIGLhuqV0IGvhu7MgbmjDoW5oIG7DoG9cbiIKKyJi4bqxbmcgY8OhY2ggY2h1eeG7g24gdHLhu58gbOG6oWkgbeG7mXQgbmjDoW5oLlxuIgogIlxuIgogIk7hur91IGLhuqFuIG114buRbiB04bqhbyBt4buZdCBuaMOhbmggbeG7m2kgxJHhu4MgZ2nhu68gbOG6oWkgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGLhuqFuIHThuqFvLFxuIgotImLhuqFuIGPDsyB0aOG7gyBsw6BtIHRo4bq/IChuZ2F5IGLDonkgZ2nhu50gaGF5IHNhdSBuw6B5KSBi4bqxbmcgY8OhY2ggY2jhuqF5IGzhu4duaCBjaGVja291dFxuIgotImzhuqduIG7hu69hIHbhu5tpIHTDuXkgY2jhu41uIC1iLiBWw60gZOG7pTpcbiIKKyJi4bqhbiBjw7MgdGjhu4MgbMOgbSB0aOG6vyAobmdheSBiw6J5IGdp4budIGhheSBzYXUgbsOgeSkgYuG6sW5nIGPDoWNoIGTDuW5nIHTDuXkgY2jhu41uXG4iCisiZMOybmcgbOG7h25oIC1iLiBWw60gZOG7pTpcbiIKICJcbiIKLSIgIGdpdCBjaGVja291dCAtYiA8dMOqbi1uaMOhbmgtbeG7m2k+XG4iCisiICBnaXQgY2hlY2tvdXQgLWMgPHTDqm4tbmjDoW5oLW3hu5tpPlxuIgorIlxuIgorIkhvw6BuIGzhuqFpIHRoYW8gdMOhYyBuw6B5IGLhurFuZzpcbiIKKyJcbiIKKyIgIGdpdCBzd2l0Y2ggLVxuIgorIlxuIgorIlThuq90IGjGsOG7m25nIGThuqtuIG7DoHkgYuG6sW5nIGPDoWNoIMSR4bq3dCBiaeG6v24gYWR2aWNlLmRldGFjaGVkSGVhZCB0aMOgbmggZmFsc2VcbiIKICJcbiIKIAotIzogYXBwbHkuYzo1OQorIzogYWxpYXMuYzo1MAorbXNnaWQgImNtZGxpbmUgZW5kcyB3aXRoIFxcIgorbXNnc3RyICJjbWRsaW5lIGvhur90IHRow7pjIHbhu5tpIFxcIgorCisjOiBhbGlhcy5jOjUxCittc2dpZCAidW5jbG9zZWQgcXVvdGUiCittc2dzdHIgImNoxrBhIGPDsyBk4bqldSBuaMOheSDEkcOzbmciCisKKyM6IGFwcGx5LmM6NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCiBtc2dzdHIgImtow7RuZyBuaOG6rW4gcmEgdMO5eSBjaOG7jW4gduG7gSBraG/huqNuZyB0cuG6r25nIOKAnCVz4oCdIgogCi0jOiBhcHBseS5jOjc1CisjOiBhcHBseS5jOjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIGlnbm9yZSBvcHRpb24gJyVzJyIKIG1zZ3N0ciAia2jDtG5nIG5o4bqtbiByYSB0w7l5IGNo4buNbiBi4buPIHF1YSBraG/huqNuZyB0cuG6r25nIOKAnCVz4oCdIgogCi0jOiBhcHBseS5jOjEyNQorIzogYXBwbHkuYzoxMzUKIG1zZ2lkICItLXJlamVjdCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKIG1zZ3N0ciAiLS1yZWplY3QgdsOgIC0tM3dheSBraMO0bmcgdGjhu4MgZMO5bmcgY8O5bmcgbmhhdS4iCiAKLSM6IGFwcGx5LmM6MTI3CisjOiBhcHBseS5jOjEzNwogbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgogbXNnc3RyICItLWNhY2hlZCB2w6AgLS0zd2F5IGtow7RuZyB0aOG7gyBkw7luZyBjw7luZyBuaGF1LiIKIAotIzogYXBwbHkuYzoxMzAKKyM6IGFwcGx5LmM6MTQwCiBtc2dpZCAiLS0zd2F5IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLTN3YXkg4bufIG5nb8OgaSBt4buZdCBraG8gY2jhu6lhIgogCi0jOiBhcHBseS5jOjE0MQorIzogYXBwbHkuYzoxNTEKIG1zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLWluZGV4IOG7nyBuZ2/DoGkgbeG7mXQga2hvIGNo4bupYSIKIAotIzogYXBwbHkuYzoxNDQKKyM6IGFwcGx5LmM6MTU0CiBtc2dpZCAiLS1jYWNoZWQgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tY2FjaGVkIOG7nyBuZ2/DoGkgbeG7mXQga2hvIGNo4bupYSIKIAotIzogYXBwbHkuYzo4MjYKKyM6IGFwcGx5LmM6ODAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBwcmVwYXJlIHRpbWVzdGFtcCByZWdleHAgJXMiCiBtc2dzdHIgIiIKICJLaMO0bmcgdGjhu4MgY2h14bqpbiBi4buLIGJp4buDdSB0aOG7qWMgY2jDrW5oIHF1aSBk4bqldSB24bq/dCB0aOG7nWkgZ2lhbiAodGltZXN0YW1wIHJlZ2V4cCkgIgogIiVzIgogCi0jOiBhcHBseS5jOjgzNQorIzogYXBwbHkuYzo4MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVnZXhlYyByZXR1cm5lZCAlZCBmb3IgaW5wdXQ6ICVzIgogbXNnc3RyICJ0aGkgaMOgbmggYmnhu4N1IHRo4bupYyBjaMOtbmggcXV5IHRy4bqjIHbhu4EgJWQgY2hvIMSR4bqndSB2w6BvOiAlcyIKIAotIzogYXBwbHkuYzo5MDkKKyM6IGFwcGx5LmM6ODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIHRo4bqleSB0w6puIHThuq1wIHRpbiB0cm9uZyBtaeG6v25nIHbDoSB04bqhaSBkw7JuZyAlZCIKIAotIzogYXBwbHkuYzo5NDcKKyM6IGFwcGx5LmM6OTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsLCBnb3QgJXMgb24gbGluZSAlZCIKIG1zZ3N0ciAiIgogImdpdCBhcHBseTogZ2l0LWRpZmYgc2FpIC0gY+G6p24gL2Rldi9udWxsLCBuaMawbmcgbOG6oWkgbmjhuq1uIMSRxrDhu6NjICVzIHRyw6puIGTDsm5nICVkIgogCi0jOiBhcHBseS5jOjk1MworIzogYXBwbHkuYzo5MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgbmV3IGZpbGVuYW1lIG9uIGxpbmUgJWQiCiBtc2dzdHIgImdpdCBhcHBseTogZ2l0LWRpZmYgc2FpIC0gdMOqbiB04bqtcCB0aW4gbeG7m2kga2jDtG5nIG5o4bqldCBxdcOhbiB0csOqbiBkw7JuZyAlZCIKIAotIzogYXBwbHkuYzo5NTQKKyM6IGFwcGx5LmM6OTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG9sZCBmaWxlbmFtZSBvbiBsaW5lICVkIgogbXNnc3RyICJnaXQgYXBwbHk6IGdpdC1kaWZmIHNhaSAtIHTDqm4gdOG6rXAgdGluIGPFqSBraMO0bmcgbmjhuqV0IHF1w6FuIHRyw6puIGTDsm5nICVkIgogCi0jOiBhcHBseS5jOjk1OQorIzogYXBwbHkuYzo5MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBleHBlY3RlZCAvZGV2L251bGwgb24gbGluZSAlZCIKIG1zZ3N0ciAiZ2l0IGFwcGx5OiBnaXQtZGlmZiBzYWkgLSBj4bqnbiDigJwvZGV2L251bGzigJ0gdHLDqm4gZMOybmcgJWQiCiAKLSM6IGFwcGx5LmM6OTg4CisjOiBhcHBseS5jOjk2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG1vZGUgb24gbGluZSAlZDogJXMiCiBtc2dzdHIgImNo4bq/IMSR4buZIGtow7RuZyBo4bujcCBs4buHIHRyw6puIGTDsm5nICVkOiAlcyIKIAotIzogYXBwbHkuYzoxMzA3CisjOiBhcHBseS5jOjEyODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5jb25zaXN0ZW50IGhlYWRlciBsaW5lcyAlZCBhbmQgJWQiCiBtc2dzdHIgInBo4bqnbiDEkeG6p3UgbcOidSB0aHXhuqtuIGTDsm5nICVkIHbDoCAlZCIKIAotIzogYXBwbHkuYzoxNDc5Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKLW1zZ3N0ciAiY2hpIHRp4bq/dDogZMOybmcga2jDtG5nIGPhuqduOiAlLipzIgotCi0jOiBhcHBseS5jOjE1NDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAicGF0Y2ggZnJhZ21lbnQgd2l0aG91dCBoZWFkZXIgYXQgbGluZSAlZDogJS4qcyIKLW1zZ3N0ciAibWnhur9uZyB2w6EgcGjDom4gbeG6o25oIG3DoCBraMO0bmcgY8OzIHBo4bqnbiDEkeG6p3UgdOG6oWkgZMOybmcgJWQ6ICUuKnMiCi0KLSM6IGFwcGx5LmM6MTU2OAorIzogYXBwbHkuYzoxMzcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKQEAgLTIxMyw4MSArNjUzLDkxIEBACiAicGjhuqduIMSR4bqndSBkaWZmIGNobyBnaXQgIHRoaeG6v3UgdGjDtG5nIHRpbiB0w6puIHThuq1wIHRpbiBraGkgZ+G7oSBi4buPIMSRaSAlZCB0cm9uZyAiCiAidGjDoG5oIHBo4bqnbiBk4bqrbiDEkeG6p3UgdMOqbiBj4bunYSDEkcaw4budbmcgZOG6q24gKGTDsm5nICVkKSIKIAotIzogYXBwbHkuYzoxNTgxCisjOiBhcHBseS5jOjEzODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGRpZmYgaGVhZGVyIGxhY2tzIGZpbGVuYW1lIGluZm9ybWF0aW9uIChsaW5lICVkKSIKIG1zZ3N0ciAicGjhuqduIMSR4bqndSBkaWZmIGNobyBnaXQgdGhp4bq/dSB0aMO0bmcgdGluIHTDqm4gdOG6rXAgdGluIChkw7JuZyAlZCkiCiAKLSM6IGFwcGx5LmM6MTc2OQorIzogYXBwbHkuYzoxNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKK21zZ3N0ciAiY2hpIHRp4bq/dDogZMOybmcga2jDtG5nIGPhuqduOiAlLipzIgorCisjOiBhcHBseS5jOjE1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0Y2ggZnJhZ21lbnQgd2l0aG91dCBoZWFkZXIgYXQgbGluZSAlZDogJS4qcyIKK21zZ3N0ciAibWnhur9uZyB2w6EgcGjDom4gbeG6o25oIG3DoCBraMO0bmcgY8OzIHBo4bqnbiDEkeG6p3UgdOG6oWkgZMOybmcgJWQ6ICUuKnMiCisKKyM6IGFwcGx5LmM6MTc1MwogbXNnaWQgIm5ldyBmaWxlIGRlcGVuZHMgb24gb2xkIGNvbnRlbnRzIgogbXNnc3RyICJ04bqtcCB0aW4gbeG7m2kgcGjhu6UgdGh14buZYyB2w6BvIG7hu5lpIGR1bmcgY8WpIgogCi0jOiBhcHBseS5jOjE3NzEKKyM6IGFwcGx5LmM6MTc1NQogbXNnaWQgImRlbGV0ZWQgZmlsZSBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgInThuq1wIHRpbiDEkcOjIHjDs2EgduG6q24gY8OybiBu4buZaSBkdW5nIgogCi0jOiBhcHBseS5jOjE4MDUKKyM6IGFwcGx5LmM6MTc4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgIm1p4bq/bmcgdsOhIGjhu49uZyB04bqhaSBkw7JuZyAlZCIKIAotIzogYXBwbHkuYzoxODQyCisjOiBhcHBseS5jOjE4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCiBtc2dzdHIgInThuq1wIHRpbiBt4bubaSAlcyBwaOG7pSB0aHXhu5ljIHbDoG8gbuG7mWkgZHVuZyBjxakiCiAKLSM6IGFwcGx5LmM6MTg0NAorIzogYXBwbHkuYzoxODI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgInThuq1wIHRpbiDEkcOjIHjDs2EgJXMgduG6q24gY8OybiBu4buZaSBkdW5nIgogCi0jOiBhcHBseS5jOjE4NDcKKyM6IGFwcGx5LmM6MTgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIqKiB3YXJuaW5nOiBmaWxlICVzIGJlY29tZXMgZW1wdHkgYnV0IGlzIG5vdCBkZWxldGVkIgogbXNnc3RyICIqKiBj4bqjbmggYsOhbzogdOG6rXAgdGluICVzIHRy4bufIG7Dqm4gdHLhu5FuZyBy4buXbmcgbmjGsG5nIGtow7RuZyBi4buLIHjDs2EiCiAKLSM6IGFwcGx5LmM6MTk5NAorIzogYXBwbHkuYzoxOTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgIm1p4bq/bmcgdsOhIMSR4buLbmggZOG6oW5nIG5o4buLIHBow6JuIHNhaSBo4buPbmcgdOG6oWkgZMOybmcgJWQ6ICUuKnMiCiAKLSM6IGFwcGx5LmM6MjAzMQorIzogYXBwbHkuYzoyMDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAibWnhur9uZyB2w6EgxJHhu4tuaCBk4bqhbmcgbmjhu4sgcGjDom4ga2jDtG5nIMSRxrDhu6NjIG5o4bqtbiByYSB04bqhaSBkw7JuZyAlZCIKIAotIzogYXBwbHkuYzoyMTkzCisjOiBhcHBseS5jOjIxNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0Y2ggd2l0aCBvbmx5IGdhcmJhZ2UgYXQgbGluZSAlZCIKIG1zZ3N0ciAidsOhIGNo4buJIHbhu5tpIOKAnHLDoWPigJ0gdOG6oWkgZMOybmcgJWQiCiAKLSM6IGFwcGx5LmM6MjI3OQorIzogYXBwbHkuYzoyMjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHN5bWxpbmsgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgbGnDqm4ga+G6v3QgbeG7gW0gJXMiCiAKLSM6IGFwcGx5LmM6MjI4MworIzogYXBwbHkuYzoyMjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIG9yIHJlYWQgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIGhheSDEkeG7jWMgJXMiCiAKLSM6IGFwcGx5LmM6Mjk0MgorIzogYXBwbHkuYzoyOTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgc3RhcnQgb2YgbGluZTogJyVjJyIKIG1zZ3N0ciAic2FpIGto4bufaSDEkeG6p3UgZMOybmc6IOKAnCVj4oCdIgogCi0jOiBhcHBseS5jOjMwNjMKKyM6IGFwcGx5LmM6MzA1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lKS4iCiBtc2dpZF9wbHVyYWwgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmVzKS4iCiBtc2dzdHJbMF0gIkto4buRaSBk4buvIGxp4buHdSAjJWQgdGjDoG5oIGPDtG5nIHThuqFpICVkIChvZmZzZXQgJWQgZMOybmcpLiIKIAotIzogYXBwbHkuYzozMDc1CisjOiBhcHBseS5jOjMwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29udGV4dCByZWR1Y2VkIHRvICglbGQvJWxkKSB0byBhcHBseSBmcmFnbWVudCBhdCAlZCIKIG1zZ3N0ciAiTuG7mWkgZHVuZyBi4buLIGdp4bqjbSB4deG7kW5nIGPDsm4gKCVsZC8lbGQpIMSR4buDIMOhcCBk4bulbmcgbeG6o25oIGThu68gbGnhu4d1IHThuqFpICVkIgogCi0jOiBhcHBseS5jOjMwODEKKyM6IGFwcGx5LmM6MzA3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAid2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKQEAgLTI5Niw0NTkgKzc0Niw0NDUgQEAKICJ0cm9uZyBraGkgxJFhbmcgdMOsbSBraeG6v20gY2hvOlxuIgogIiUuKnMiCiAKLSM6IGFwcGx5LmM6MzEwMworIzogYXBwbHkuYzozMDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3NpbmcgYmluYXJ5IHBhdGNoIGRhdGEgZm9yICclcyciCiBtc2dzdHIgInRoaeG6v3UgZOG7ryBsaeG7h3UgY+G7p2EgbWnhur9uZyB2w6EgxJHhu4tuaCBk4bqhbmcgbmjhu4sgcGjDom4gY2hvIOKAnCVz4oCdIgogCi0jOiBhcHBseS5jOjMxMTEKKyM6IGFwcGx5LmM6MzEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmV2ZXJzZS1hcHBseSBhIGJpbmFyeSBwYXRjaCB3aXRob3V0IHRoZSByZXZlcnNlIGh1bmsgdG8gJyVzJyIKIG1zZ3N0ciAiIgotImtow7RuZyB0aOG7gyByZXZlcnNlLWFwcGx5IG3hu5l0IG1p4bq/bmcgdsOhIG5o4buLIHBow6JuIG3DoCBraMO0bmcgxJHhuqNvIG5nxrDhu6NjIGh1bmsgdGjDoG5oICIKKyJraMO0bmcgdGjhu4MgcmV2ZXJzZS1hcHBseSBt4buZdCBtaeG6v25nIHbDoSBuaOG7iyBwaMOibiBtw6Aga2jDtG5nIMSR4bqjbyBuZ8aw4bujYyBraMO6YyB0aMOgbmggIgogIuKAnCVz4oCdIgogCi0jOiBhcHBseS5jOjMxNTgKKyM6IGFwcGx5LmM6MzE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgYXBwbHkgYmluYXJ5IHBhdGNoIHRvICclcycgd2l0aG91dCBmdWxsIGluZGV4IGxpbmUiCiBtc2dzdHIgIiIKICJraMO0bmcgdGjhu4Mgw6FwIGThu6VuZyBtaeG6v25nIHbDoSBuaOG7iyBwaMOibiB0aMOgbmgg4oCcJXPigJ0gbcOgIGtow7RuZyBjw7MgZMOybmcgY2jhu4kgbeG7pWMgxJHhuqd5ICIKICLEkeG7pyIKIAotIzogYXBwbHkuYzozMTY4CisjOiBhcHBseS5jOjMxNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInRoZSBwYXRjaCBhcHBsaWVzIHRvICclcycgKCVzKSwgd2hpY2ggZG9lcyBub3QgbWF0Y2ggdGhlIGN1cnJlbnQgY29udGVudHMuIgogbXNnc3RyICIiCiAibWnhur9uZyB2w6Egw6FwIGThu6VuZyBjaG8g4oCcJXPigJ0gKCVzKSwgY8OhaSBtw6Aga2jDtG5nIGto4bubcCB24bubaSBjw6FjIG7hu5lpIGR1bmcgaGnhu4duIHThuqFpLiIKIAotIzogYXBwbHkuYzozMTc2CisjOiBhcHBseS5jOjMxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHBhdGNoIGFwcGxpZXMgdG8gYW4gZW1wdHkgJyVzJyBidXQgaXQgaXMgbm90IGVtcHR5IgogbXNnc3RyICJtaeG6v25nIHbDoSDDoXAgZOG7pW5nIGNobyBt4buZdCDigJwlc+KAnSB0cuG7kW5nIHLhu5duZyBuaMawbmcgbsOzIGzhuqFpIGtow7RuZyB0cuG7kW5nIgogCi0jOiBhcHBseS5jOjMxOTQKKyM6IGFwcGx5LmM6MzE4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgbmVjZXNzYXJ5IHBvc3RpbWFnZSAlcyBmb3IgJyVzJyBjYW5ub3QgYmUgcmVhZCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBwb3N0aW1hZ2UgJXMgY+G6p24gdGhp4bq/dCBjaG8g4oCcJXPigJ0iCiAKLSM6IGFwcGx5LmM6MzIwNworIzogYXBwbHkuYzozMjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJpbmFyeSBwYXRjaCBkb2VzIG5vdCBhcHBseSB0byAnJXMnIgogbXNnc3RyICJtaeG6v25nIHbDoSDEkeG7i25oIGThuqFuZyBuaOG7iyBwaMOibiBraMO0bmcgxJHGsOG7o2Mgw6FwIGThu6VuZyBjaG8g4oCcJXPigJ0iCiAKLSM6IGFwcGx5LmM6MzIxMworIzogYXBwbHkuYzozMjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgogbXNnc3RyICIiCiAidsOhIG5o4buLIHBow6JuIGNobyDigJwlc+KAnSB04bqhbyByYSBr4bq/dCBxdeG6oyBraMO0bmcgY2jDrW5oIHjDoWMgKG1vbmcgY2jhu50gJXMsIGzhuqFpIG5o4bqtbiAiCiAiJXMpIgogCi0jOiBhcHBseS5jOjMyMzQKKyM6IGFwcGx5LmM6MzIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRjaCBmYWlsZWQ6ICVzOiVsZCIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHbDoTogJXM6JWxkIgogCi0jOiBhcHBseS5jOjMzNTYKKyM6IGFwcGx5LmM6MzM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hlY2tvdXQgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSByYSAlcyIKIAotIzogYXBwbHkuYzozNDA4IGFwcGx5LmM6MzQxOSBhcHBseS5jOjM0NjUgbWlkeC5jOjU4IHNldHVwLmM6Mjc4CisjOiBhcHBseS5jOjM0MDMgYXBwbHkuYzozNDE0IGFwcGx5LmM6MzQ2MCBtaWR4LmM6NjEgc2V0dXAuYzoyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXMiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7jWMgJXMiCiAKLSM6IGFwcGx5LmM6MzQxNgorIzogYXBwbHkuYzozNDExCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWRpbmcgZnJvbSAnJXMnIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgIsSR4buNYyB04burIOKAnCVz4oCdIHbGsOG7o3QgcmEgbmdvw6BpIGxpw6puIGvhur90IG3hu4FtIgogCi0jOiBhcHBseS5jOjM0NDUgYXBwbHkuYzozNjg4CisjOiBhcHBseS5jOjM0NDAgYXBwbHkuYzozNjgzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJXMgaGFzIGJlZW4gcmVuYW1lZC9kZWxldGVkIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24gJXMgxJHDoyBi4buLIHjDs2EgaG/hurdjIMSR4buVaSB0w6puIgogCi0jOiBhcHBseS5jOjM1MzEgYXBwbHkuYzozNzAzCisjOiBhcHBseS5jOjM1MjYgYXBwbHkuYzozNjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBkb2VzIG5vdCBleGlzdCBpbiBpbmRleCIKIG1zZ3N0ciAiJXM6IGtow7RuZyB04buTbiB04bqhaSB0cm9uZyBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGFwcGx5LmM6MzU0MCBhcHBseS5jOjM3MTEKKyM6IGFwcGx5LmM6MzUzNSBhcHBseS5jOjM3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGRvZXMgbm90IG1hdGNoIGluZGV4IgogbXNnc3RyICIlczoga2jDtG5nIGto4bubcCB0cm9uZyBt4bulYyBs4bulYyIKIAotIzogYXBwbHkuYzozNTc1CisjOiBhcHBseS5jOjM1NzAKIG1zZ2lkICJyZXBvc2l0b3J5IGxhY2tzIHRoZSBuZWNlc3NhcnkgYmxvYiB0byBmYWxsIGJhY2sgb24gMy13YXkgbWVyZ2UuIgotbXNnc3RyICJLaG8gdGhp4bq/dSDEkeG7kWkgdMaw4bujbmcgYmxvYiBj4bqnbiB0aGnhur90IMSR4buDIHRy4bufIHbhu4EgdHLDqm4g4oCcMy13YXkgbWVyZ2XigJ0uIgorbXNnc3RyICJraG8gdGhp4bq/dSDEkeG7kWkgdMaw4bujbmcgYmxvYiBj4bqnbiB0aGnhur90IMSR4buDIHRy4bufIHbhu4EgdHLDqm4g4oCcMy13YXkgbWVyZ2XigJ0uIgogCi0jOiBhcHBseS5jOjM1NzgKKyM6IGFwcGx5LmM6MzU3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWxsaW5nIGJhY2sgdG8gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCiBtc2dzdHIgIsSQYW5nIHRy4bufIGzhuqFpIGjDsmEgdHLhu5luIOKAnDMtxJHGsOG7nW5n4oCd4oCmXG4iCiAKLSM6IGFwcGx5LmM6MzU5NCBhcHBseS5jOjM1OTgKKyM6IGFwcGx5LmM6MzU4OSBhcHBseS5jOjM1OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBu4buZaSBkdW5nIGhp4buHbiBow6BuaCBj4bunYSDigJwlc+KAnSIKIAotIzogYXBwbHkuYzozNjEwCisjOiBhcHBseS5jOjM2MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGZhbGwgYmFjayBvbiB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHF1YXkgdHLhu58gbOG6oWkgxJHhu4MgaMOyYSB0cuG7mW4ga2nhu4N1IOKAnHRocmVlLXdheeKAneKAplxuIgogCi0jOiBhcHBseS5jOjM2MjQKKyM6IGFwcGx5LmM6MzYxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgd2l0aCBjb25mbGljdHMuXG4iCiBtc2dzdHIgIsSQw6Mgw6FwIGThu6VuZyBtaeG6v25nIHbDoSAlcyB24bubaSBjw6FjIHh1bmcgxJHhu5l0LlxuIgogCi0jOiBhcHBseS5jOjM2MjkKKyM6IGFwcGx5LmM6MzYyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgY2xlYW5seS5cbiIKIG1zZ3N0ciAixJDDoyDDoXAgZOG7pW5nIG1p4bq/bmcgdsOhICVzIG3hu5l0IGPDoWNoIHPhuqFjaCBz4bq9LlxuIgogCi0jOiBhcHBseS5jOjM2NTUKKyM6IGFwcGx5LmM6MzY1MAogbXNnaWQgInJlbW92YWwgcGF0Y2ggbGVhdmVzIGZpbGUgY29udGVudHMiCiBtc2dzdHIgImxv4bqhaSBi4buPIG1p4bq/bmcgdsOhIMSR4buDIGzhuqFpIG7hu5lpIGR1bmcgdOG6rXAgdGluIgogCi0jOiBhcHBseS5jOjM3MjgKKyM6IGFwcGx5LmM6MzcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogd3JvbmcgdHlwZSIKIG1zZ3N0ciAiJXM6IHNhaSBraeG7g3UiCiAKLSM6IGFwcGx5LmM6MzczMAorIzogYXBwbHkuYzozNzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyB0eXBlICVvLCBleHBlY3RlZCAlbyIKIG1zZ3N0ciAiJXMgY8OzIGtp4buDdSAlbywgY+G6p24gJW8iCiAKLSM6IGFwcGx5LmM6Mzg4MSBhcHBseS5jOjM4ODMKKyM6IGFwcGx5LmM6Mzg3NiBhcHBseS5jOjM4NzggcmVhZC1jYWNoZS5jOjgzMCByZWFkLWNhY2hlLmM6ODU2CisjOiByZWFkLWNhY2hlLmM6MTMyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHBhdGggJyVzJyIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIGtow7RuZyBo4bujcCBs4buHIOKAnCVz4oCdIgogCi0jOiBhcHBseS5jOjM5MzkKKyM6IGFwcGx5LmM6MzkzNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgiCiBtc2dzdHIgIiVzOiDEkcOjIGPDsyB04burIHRyxrDhu5tjIHRyb25nIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYXBwbHkuYzozOTQyCisjOiBhcHBseS5jOjM5MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIHdvcmtpbmcgZGlyZWN0b3J5IgogbXNnc3RyICIlczogxJHDoyBz4bq1biBjw7MgdHJvbmcgdGjGsCBt4bulYyDEkWFuZyBsw6BtIHZp4buHYyIKIAotIzogYXBwbHkuYzozOTYyCisjOiBhcHBseS5jOjM5NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIgogbXNnc3RyICJjaOG6vyDEkeG7mSBt4bubaSAoJW8pIGPhu6dhICVzIGtow7RuZyBraOG7m3AgduG7m2kgY2jhur8gxJHhu5kgY8WpICglbykiCiAKLSM6IGFwcGx5LmM6Mzk2NworIzogYXBwbHkuYzozOTYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSBvZiAlcyIKIG1zZ3N0ciAiY2jhur8gxJHhu5kgbeG7m2kgKCVvKSBj4bunYSAlcyBraMO0bmcga2jhu5twIHbhu5tpIGNo4bq/IMSR4buZIGPFqSAoJW8pIGPhu6dhICVzIgogCi0jOiBhcHBseS5jOjM5ODcKKyM6IGFwcGx5LmM6Mzk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAidOG6rXAgdGluIGNo4buLdSB0w6FjIMSR4buZbmcg4oCcJXPigJ0gdsaw4bujdCByYSBuZ2/DoGkgbGnDqm4ga+G6v3QgbeG7gW0iCiAKLSM6IGFwcGx5LmM6Mzk5MQorIzogYXBwbHkuYzozOTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXRjaCBkb2VzIG5vdCBhcHBseSIKIG1zZ3N0ciAiJXM6IG1p4bq/bmcgdsOhIGtow7RuZyDEkcaw4bujYyDDoXAgZOG7pW5nIgogCi0jOiBhcHBseS5jOjQwMDYKKyM6IGFwcGx5LmM6NDAwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKIG1zZ3N0ciAixJBhbmcga2nhu4NtIHRyYSBtaeG6v25nIHbDoSAlc+KApiIKIAotIzogYXBwbHkuYzo0MDk4CisjOiBhcHBseS5jOjQwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAidGjDtG5nIHRpbiBzaGExIHRoaeG6v3UgaG/hurdjIGtow7RuZyBkw7luZyDEkcaw4bujYyBjaG8gbcO0LcSRdW4gJXMiCiAKLSM6IGFwcGx5LmM6NDEwNQorIzogYXBwbHkuYzo0MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vZGUgY2hhbmdlIGZvciAlcywgd2hpY2ggaXMgbm90IGluIGN1cnJlbnQgSEVBRCIKIG1zZ3N0ciAidGhheSDEkeG7lWkgY2jhur8gxJHhu5kgY2hvICVzLCBjw6FpIG3DoCBraMO0bmcgcGjhuqNpIGzDoCBIRUFEIGhp4buHbiB04bqhaSIKIAotIzogYXBwbHkuYzo0MTA4CisjOiBhcHBseS5jOjQxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hhMSBpbmZvcm1hdGlvbiBpcyBsYWNraW5nIG9yIHVzZWxlc3MgKCVzKS4iCiBtc2dzdHIgInRow7RuZyB0aW4gc2hhMSBjw7JuIHRoaeG6v3UgaGF5IGtow7RuZyBkw7luZyDEkcaw4bujYyglcykuIgogCi0jOiBhcHBseS5jOjQxMTMgYnVpbHRpbi9jaGVja291dC5jOjI0NCBidWlsdGluL3Jlc2V0LmM6MTQyCi0jLCBjLWZvcm1hdAotbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCi1tc2dzdHIgIm1ha2VfY2FjaGVfZW50cnkgZ+G6t3AgbOG7l2kgxJHhu5FpIHbhu5tpIMSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSIKLQotIzogYXBwbHkuYzo0MTE3CisjOiBhcHBseS5jOjQxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGFkZCAlcyB0byB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0aMOqbSAlcyB2w6BvIGNo4buJIG3hu6VjIHThuqFtIHRo4budaSIKIAotIzogYXBwbHkuYzo0MTI3CisjOiBhcHBseS5jOjQxMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHRlbXBvcmFyeSBpbmRleCB0byAlcyIKLW1zZ3N0ciAia2jDtG5nIHRo4buDZ2hpIG3hu6VjIGzhu6VjIHThuqFtIHbDoG8gJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgbeG7pWMgbOG7pWMgdOG6oW0gdsOgbyAlcyIKIAotIzogYXBwbHkuYzo0MjY1CisjOiBhcHBseS5jOjQyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ+G7oSBi4buPICVzIHThu6sgbeG7pWMgbOG7pWMiCiAKLSM6IGFwcGx5LmM6NDI5OQorIzogYXBwbHkuYzo0Mjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAibWnhur9uZyB2w6Egc2FpIGjhu49uZyBjaG8gbcO0LcSRdW4tY29uICVzIgogCi0jOiBhcHBseS5jOjQzMDUKKyM6IGFwcGx5LmM6NDMwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc3RhdCBuZXdseSBjcmVhdGVkIGZpbGUgJyVzJyIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRo4buRbmcga+G7gSB24buBIHThuq1wIHRpbiAlcyBt4bubaSBoxqFuIMSRw6MgxJHGsOG7o2MgdOG6oW8iCittc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB0aOG7kW5nIGvDqiB24buBIHThuq1wIHRpbiAlcyBt4bubaSBoxqFuIMSRw6MgxJHGsOG7o2MgdOG6oW8iCiAKLSM6IGFwcGx5LmM6NDMxMworIzogYXBwbHkuYzo0MzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8g4oCca2hvIGzGsHUgxJHhurFuZyBzYXXigJ0gY2hvIHThuq1wIHRpbiDEkcaw4bujYyB04bqhbyBt4bubaSBoxqFuICVzIgogCi0jOiBhcHBseS5jOjQzMTkgYXBwbHkuYzo0NDY0CisjOiBhcHBseS5jOjQzMTQgYXBwbHkuYzo0NDU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhZGQgY2FjaGUgZW50cnkgZm9yICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdGjDqm0gbeG7pWMgbmjhu5sgxJHhu4dtIGNobyAlcyIKIAotIzogYXBwbHkuYzo0MzYyCisjOiBhcHBseS5jOjQzNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIHRvICclcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBnaGkgdsOgbyDigJwlc+KAnSIKIAotIzogYXBwbHkuYzo0MzY2CisjOiBhcHBseS5jOjQzNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvc2luZyBmaWxlICclcyciCiBtc2dzdHIgIsSRYW5nIMSRw7NuZyB04bqtcCB0aW4g4oCcJXPigJ0iCiAKLSM6IGFwcGx5LmM6NDQzNgorIzogYXBwbHkuYzo0NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSB2w6BvIHThuq1wIHRpbiDigJwlc+KAnSBjaOG6vyDEkeG7mSAlbyIKIAotIzogYXBwbHkuYzo0NTM0CisjOiBhcHBseS5jOjQ1MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCAlcyBjbGVhbmx5LiIKIG1zZ3N0ciAixJDDoyDDoXAgZOG7pW5nIG1p4bq/bmcgdsOhICVzIG3hu5l0IGPDoWNoIHPhuqFjaCBz4bq9LiIKIAotIzogYXBwbHkuYzo0NTQyCisjOiBhcHBseS5jOjQ1MzcKIG1zZ2lkICJpbnRlcm5hbCBlcnJvciIKIG1zZ3N0ciAibOG7l2kgbuG7mWkgYuG7mSIKIAotIzogYXBwbHkuYzo0NTQ1CisjOiBhcHBseS5jOjQ1NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0Li4uIgogbXNnaWRfcGx1cmFsICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3RzLi4uIgogbXNnc3RyWzBdICLEkGFuZyDDoXAgZOG7pW5nIG1p4bq/bmcgdsOhICUlcyB24bubaSAlZCBs4bqnbiB04burIGNo4buRaeKApiIKIAotIzogYXBwbHkuYzo0NTU2CisjOiBhcHBseS5jOjQ1NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJ1bmNhdGluZyAucmVqIGZpbGVuYW1lIHRvICUuKnMucmVqIgogbXNnc3RyICLEkWFuZyBj4bqvdCBuZ+G6r24gdMOqbiB04bqtcCB0aW4gLnJlaiB0aMOgbmggJS4qcy5yZWoiCiAKLSM6IGFwcGx5LmM6NDU2NCBidWlsdGluL2ZldGNoLmM6ODQzIGJ1aWx0aW4vZmV0Y2guYzoxMTIyCisjOiBhcHBseS5jOjQ1NTkgYnVpbHRpbi9mZXRjaC5jOjkwMSBidWlsdGluL2ZldGNoLmM6MTE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKIG1zZ3N0ciAia2jDtG5nIG3hu58gxJHGsOG7o2Mg4oCcJXPigJ0iCiAKLSM6IGFwcGx5LmM6NDU3OAorIzogYXBwbHkuYzo0NTczCiAjLCBjLWZvcm1hdAogbXNnaWQgIkh1bmsgIyVkIGFwcGxpZWQgY2xlYW5seS4iCiBtc2dzdHIgIkto4buRaSBuaOG7myAjJWQgxJHGsOG7o2Mgw6FwIGThu6VuZyBn4buNbiBnw6BuZy4iCiAKLSM6IGFwcGx5LmM6NDU4MgorIzogYXBwbHkuYzo0NTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlamVjdGVkIGh1bmsgIyVkLiIKLW1zZ3N0ciAixJFv4bqhbiBk4buvIGxp4buHdSAjJWQgYuG7iyB04burIGNo4buRaS4iCittc2dzdHIgIsSQb+G6oW4gZOG7ryBsaeG7h3UgIyVkIGLhu4sgdOG7qyBjaOG7kWkuIgogCi0jOiBhcHBseS5jOjQ2OTIKKyM6IGFwcGx5LmM6NDY5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGVkIHBhdGNoICclcycuIgotbXNnc3RyICJi4buPIHF1YSDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0uIgorbXNnc3RyICJC4buPIHF1YSDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0uIgogCi0jOiBhcHBseS5jOjQ3MDAKKyM6IGFwcGx5LmM6NDcwNAogbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKIG1zZ3N0ciAia2jDtG5nIHRo4burYSBuaOG6rW4gxJHhuqd1IHbDoG8iCiAKLSM6IGFwcGx5LmM6NDcxOQorIzogYXBwbHkuYzo0NzI0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyB04bqtcCB0aW4gbMawdSBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGFwcGx5LmM6NDg3NAorIzogYXBwbHkuYzo0ODgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gcGF0Y2ggJyVzJzogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIG1p4bq/bmcgdsOhIOKAnCVz4oCdOiAlcyIKIAotIzogYXBwbHkuYzo0OTAxCisjOiBhcHBseS5jOjQ5MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3IiCiBtc2dpZF9wbHVyYWwgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9ycyIKIG1zZ3N0clswXSAixJHDoyBjaOG6pW0gZOG7qXQgJWQgbOG7l2kga2hv4bqjbmcgdHLhuq9uZyIKIAotIzogYXBwbHkuYzo0OTA3IGFwcGx5LmM6NDkyMgorIzogYXBwbHkuYzo0OTE0IGFwcGx5LmM6NDkyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnc3RyWzBdICIlZCBkw7JuZyB0aMOqbSBraG/huqNuZyB0cuG6r25nIGzhu5dpLiIKIAotIzogYXBwbHkuYzo0OTE1CisjOiBhcHBseS5jOjQ5MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQgbGluZSBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ3N0clswXSAiJWQgZMOybmcgxJHGsOG7o2Mgw6FwIGThu6VuZyBzYXUga2hpIHPhu61hIGPDoWMgbOG7l2kga2hv4bqjbmcgdHLhuq9uZy4iCiAKLSM6IGFwcGx5LmM6NDkzMSBidWlsdGluL2FkZC5jOjUzOCBidWlsdGluL212LmM6MzAwIGJ1aWx0aW4vcm0uYzozODkKKyM6IGFwcGx5LmM6NDkzOCBidWlsdGluL2FkZC5jOjU3OSBidWlsdGluL212LmM6MzAxIGJ1aWx0aW4vcm0uYzozOTAKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIG3hu5tpIgogCi0jOiBhcHBseS5jOjQ5NTggYXBwbHkuYzo0OTYxIGJ1aWx0aW4vYW0uYzoyMjA5IGJ1aWx0aW4vYW0uYzoyMjEyCi0jOiBidWlsdGluL2Nsb25lLmM6MTIxIGJ1aWx0aW4vZmV0Y2guYzoxMTggYnVpbHRpbi9tZXJnZS5jOjI2MgotIzogYnVpbHRpbi9wdWxsLmM6MTk5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDYKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzYyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzY1Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg0NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg0OQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwODggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKLW1zZ2lkICJwYXRoIgotbXNnc3RyICLEkcaw4budbmctZOG6q24iCi0KLSM6IGFwcGx5LmM6NDk1OQorIzogYXBwbHkuYzo0OTY2CiBtc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKIG1zZ3N0ciAia2jDtG5nIMOhcCBk4bulbmcgY8OhYyB0aGF5IMSR4buVaSBraOG7m3AgduG7m2kgxJHGsOG7nW5nIGThuqtuIMSRw6MgY2hvIgogCi0jOiBhcHBseS5jOjQ5NjIKKyM6IGFwcGx5LmM6NDk2OQogbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgIsOhcCBk4bulbmcgY8OhYyB0aGF5IMSR4buVaSBraOG7m3AgduG7m2kgxJHGsOG7nW5nIGThuqtuIMSRw6MgY2hvIgogCi0jOiBhcHBseS5jOjQ5NjQgYnVpbHRpbi9hbS5jOjIyMTgKKyM6IGFwcGx5LmM6NDk3MSBidWlsdGluL2FtLmM6MjIwNgogbXNnaWQgIm51bSIKIG1zZ3N0ciAic+G7kSIKIAotIzogYXBwbHkuYzo0OTY1CisjOiBhcHBseS5jOjQ5NzIKIG1zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKIG1zZ3N0ciAiZ+G7oSBi4buPIDxz4buRPiBk4bqldSBn4bqhY2ggY2jDqW8gZOG6q24gxJHhuqd1IHThu6sgxJHGsOG7nW5nIGThuqtuIGRpZmYgY+G7lSDEkWnhu4NuIgogCi0jOiBhcHBseS5jOjQ5NjgKKyM6IGFwcGx5LmM6NDk3NQogbXNnaWQgImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giCiBtc2dzdHIgImzhu50gxJFpIHBo4bqnbiBi4buVIHh1bmcgxJHGsOG7o2MgdOG6oW8gcmEgYuG7n2kgbWnhur9uZyB2w6EiCiAKLSM6IGFwcGx5LmM6NDk3MAorIzogYXBwbHkuYzo0OTc3CiBtc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBkaWZmc3RhdCBmb3IgdGhlIGlucHV0IgogbXNnc3RyICIiCiAidGhheSB2w6wgw6FwIGThu6VuZyBt4buZdCBtaeG6v25nIHbDoSwga+G6v3QgeHXhuqV0IGvhur90IHF14bqjIHThu6sgbOG7h25oIGRpZmZzdGF0IGNobyDEkeG6p3UgcmEiCiAKLSM6IGFwcGx5LmM6NDk3NAorIzogYXBwbHkuYzo0OTgxCiBtc2dpZCAic2hvdyBudW1iZXIgb2YgYWRkZWQgYW5kIGRlbGV0ZWQgbGluZXMgaW4gZGVjaW1hbCBub3RhdGlvbiIKIG1zZ3N0ciAiIgogImhp4buDbiB0aOG7iyBz4buRIGzGsOG7o25nIGPDoWMgZMOybmcgxJHGsOG7o2MgdGjDqm0gdsOgbyB2w6AgeMOzYSDEkWkgdGhlbyBrw70gaGnhu4d1IHRo4bqtcCBwaMOibiIKIAotIzogYXBwbHkuYzo0OTc2CisjOiBhcHBseS5jOjQ5ODMKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgogbXNnc3RyICJ0aGF5IHbDrCDDoXAgZOG7pW5nIG3hu5l0IG1p4bq/bmcgdsOhLCBr4bq/dCB4deG6pXQga+G6v3QgcXXhuqMgY2hvIMSR4bqndSB2w6BvIgogCi0jOiBhcHBseS5jOjQ5NzgKKyM6IGFwcGx5LmM6NDk4NQogbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBzZWUgaWYgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUiCiBtc2dzdHIgInRoYXkgdsOsIMOhcCBk4bulbmcgbWnhur9uZyB2w6EsIGjDo3kgeGVtIHhlbSBtaeG6v25nIHbDoSBjw7MgdGjDrWNoIGjhu6NwIGtow7RuZyIKIAotIzogYXBwbHkuYzo0OTgwCisjOiBhcHBseS5jOjQ5ODcKIG1zZ2lkICJtYWtlIHN1cmUgdGhlIHBhdGNoIGlzIGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgaW5kZXgiCiBtc2dzdHIgImjDo3kgY2jhuq9jIGNo4bqvbiBsw6AgbWnhur9uZyB2w6EgdGjDrWNoIGjhu6NwIHbhu5tpIGLhuqNuZyBt4bulYyBs4bulYyBoaeG7h24gaMOgbmgiCiAKLSM6IGFwcGx5LmM6NDk4MgorIzogYXBwbHkuYzo0OTg5CiBtc2dpZCAibWFyayBuZXcgZmlsZXMgd2l0aCBgZ2l0IGFkZCAtLWludGVudC10by1hZGRgIgogbXNnc3RyICLEkcOhbmggZOG6pXUgY8OhYyB04bqtcCB0aW4gbeG7m2kgduG7m2kg4oCcZ2l0IGFkZCAtLWludGVudC10by1hZGTigJ0iCiAKLSM6IGFwcGx5LmM6NDk4NAorIzogYXBwbHkuYzo0OTkxCiBtc2dpZCAiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIsOhcCBk4bulbmcgbeG7mXQgbWnhur9uZyB2w6EgbcOgIGtow7RuZyDEkeG7mW5nIGNo4bqhbSDEkeG6v24gY8OieSBsw6BtIHZp4buHYyIKIAotIzogYXBwbHkuYzo0OTg2CisjOiBhcHBseS5jOjQ5OTMKIG1zZ2lkICJhY2NlcHQgYSBwYXRjaCB0aGF0IHRvdWNoZXMgb3V0c2lkZSB0aGUgd29ya2luZyBhcmVhIgogbXNnc3RyICJjaOG6pXAgbmjhuq1uIG3hu5l0IG1p4bq/bmcgdsOhIG3DoCBraMO0bmcgxJHhu5luZyBjaOG6oW0gxJHhur9uIGPDonkgbMOgbSB2aeG7h2MiCiAKLSM6IGFwcGx5LmM6NDk4OQorIzogYXBwbHkuYzo0OTk2CiBtc2dpZCAiYWxzbyBhcHBseSB0aGUgcGF0Y2ggKHVzZSB3aXRoIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjaykiCiBtc2dzdHIgIiIKICLEkeG7k25nIHRo4budaSDDoXAgZOG7pW5nIG1p4bq/bmcgdsOhIChkw7luZyB24bubaSB0w7l5IGNo4buNbiAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgogCi0jOiBhcHBseS5jOjQ5OTEKKyM6IGFwcGx5LmM6NDk5OAogbXNnaWQgImF0dGVtcHQgdGhyZWUtd2F5IG1lcmdlIGlmIGEgcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgInRo4butIGjDsmEgdHLhu5luIGtp4buDdSB0aHJlZS13YXkgbuG6v3Ugdmnhu4djIHbDoSBraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiDEkcaw4bujYyIKIAotIzogYXBwbHkuYzo0OTkzCisjOiBhcHBseS5jOjUwMDAKIG1zZ2lkICJidWlsZCBhIHRlbXBvcmFyeSBpbmRleCBiYXNlZCBvbiBlbWJlZGRlZCBpbmRleCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiIgogInjDonkgZOG7sW5nIGLhuqNuZyBt4bulYyBs4bulYyB04bqhbSB0aOG7nWkgdHLDqm4gY8ahIHPhu58gdGjDtG5nIHRpbiBi4bqjbmcgbeG7pWMgbOG7pWMgxJHGsOG7o2MgbmjDum5nIgogCi0jOiBhcHBseS5jOjQ5OTYgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MCBidWlsdGluL2xzLWZpbGVzLmM6NTIzCisjOiBhcHBseS5jOjUwMDMgYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MyBidWlsdGluL2xzLWZpbGVzLmM6NTI0CiBtc2dpZCAicGF0aHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCiBtc2dzdHIgImPDoWMgxJHGsOG7nW5nIGThuqtuIGLhu4sgbmfEg24gY8OhY2ggYuG7n2kga8O9IHThu7EgTlVMTCIKIAotIzogYXBwbHkuYzo0OTk4CisjOiBhcHBseS5jOjUwMDUKIG1zZ2lkICJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giCiBtc2dzdHIgIsSR4bqjbSBi4bqjbyBy4bqxbmcgY8OzIMOtdCBuaOG6pXQgPG4+IGTDsm5nIG7hu5lpIGR1bmcga2jhu5twIgogCi0jOiBhcHBseS5jOjQ5OTkgYnVpbHRpbi9hbS5jOjIxOTcgYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NwotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5OSBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMQotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzEyIGJ1aWx0aW4vcmViYXNlLmM6ODU3CisjOiBhcHBseS5jOjUwMDYgYnVpbHRpbi9hbS5jOjIxODUgYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5OAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDAgYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxMCBidWlsdGluL3JlYmFzZS5jOjE0NzQKIG1zZ2lkICJhY3Rpb24iCiBtc2dzdHIgImjDoG5oIMSR4buZbmciCiAKLSM6IGFwcGx5LmM6NTAwMAorIzogYXBwbHkuYzo1MDA3CiBtc2dpZCAiZGV0ZWN0IG5ldyBvciBtb2RpZmllZCBsaW5lcyB0aGF0IGhhdmUgd2hpdGVzcGFjZSBlcnJvcnMiCiBtc2dzdHIgInTDrG0gdGjhuqV5IG3hu5l0IGTDsm5nIG3hu5tpIGhv4bq3YyBi4buLIHPhu61hIMSR4buVaSBtw6AgbsOzIGPDsyBs4buXaSBkbyBraG/huqNuZyB0cuG6r25nIgogCi0jOiBhcHBseS5jOjUwMDMgYXBwbHkuYzo1MDA2CisjOiBhcHBseS5jOjUwMTAgYXBwbHkuYzo1MDEzCiBtc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKIG1zZ3N0ciAibOG7nSDEkWkgc+G7sSB0aGF5IMSR4buVaSBkbyBraG/huqNuZyB0cuG6r25nIGfDonkgcmEga2hpIHF1w6l0IG7hu5lpIGR1bmciCiAKLSM6IGFwcGx5LmM6NTAwOQorIzogYXBwbHkuYzo1MDE2CiBtc2dpZCAiYXBwbHkgdGhlIHBhdGNoIGluIHJldmVyc2UiCiBtc2dzdHIgIsOhcCBk4bulbmcgbWnhur9uZyB2w6EgdGhlbyBjaGnhu4F1IG5nxrDhu6NjIgogCi0jOiBhcHBseS5jOjUwMTEKKyM6IGFwcGx5LmM6NTAxOAogbXNnaWQgImRvbid0IGV4cGVjdCBhdCBsZWFzdCBvbmUgbGluZSBvZiBjb250ZXh0IgogbXNnc3RyICLEkeG7q25nIGh5IHbhu41uZyBjw7Mgw610IG5o4bqldCBt4buZdCBkw7JuZyBu4buZaSBkdW5nIgogCi0jOiBhcHBseS5jOjUwMTMKKyM6IGFwcGx5LmM6NTAyMAogbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgogbXNnc3RyICLEkeG7gyBs4bqhaSBraOG7kWkgZOG7ryBsaeG7h3UgYuG7iyB04burIGNo4buRaSB0cm9uZyBjw6FjIHThuq1wIHRpbiAqLnJlaiB0xrDGoW5nIOG7qW5nIgogCi0jOiBhcHBseS5jOjUwMTUKKyM6IGFwcGx5LmM6NTAyMgogbXNnaWQgImFsbG93IG92ZXJsYXBwaW5nIGh1bmtzIgogbXNnc3RyICJjaG8gcGjDqXAgY2jhu5NuZyBraOG7kWkgbmjhu5siCiAKLSM6IGFwcGx5LmM6NTAxNiBidWlsdGluL2FkZC5jOjI5MCBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIxCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMDkgYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTggYnVpbHRpbi9mc2NrLmM6Njk4Ci0jOiBidWlsdGluL2xvZy5jOjIwMjMgYnVpbHRpbi9tdi5jOjEyMiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNwotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTU3CisjOiBhcHBseS5jOjUwMjMgYnVpbHRpbi9hZGQuYzozMDkgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMgorIzogYnVpbHRpbi9jb21taXQuYzoxMzU1IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk4IGJ1aWx0aW4vZnNjay5jOjc3NAorIzogYnVpbHRpbi9sb2cuYzoyMTY2IGJ1aWx0aW4vbXYuYzoxMjMgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjgKIG1zZ2lkICJiZSB2ZXJib3NlIgogbXNnc3RyICJjaGkgdGnhur90IgogCi0jOiBhcHBseS5jOjUwMTgKKyM6IGFwcGx5LmM6NTAyNQogbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgogbXNnc3RyICIiCiAixJHDoyBkw7IgdMOsbSB0aOG6pXkgZHVuZyBzYWkga2jDtG5nIGNow61uaCB4w6FjIHRoaeG6v3UgZMOybmcgbeG7m2kgdOG6oWkgY3Xhu5FpIHThuq1wIHRpbiIKIAotIzogYXBwbHkuYzo1MDIxCisjOiBhcHBseS5jOjUwMjgKIG1zZ2lkICJkbyBub3QgdHJ1c3QgdGhlIGxpbmUgY291bnRzIGluIHRoZSBodW5rIGhlYWRlcnMiCiBtc2dzdHIgImtow7RuZyB0aW4gc+G7kSBsxrDhu6NuZyBkw7JuZyB0cm9uZyBwaOG6p24gxJHhuqd1IGto4buRaSBk4buvIGxp4buHdSIKIAotIzogYXBwbHkuYzo1MDIzIGJ1aWx0aW4vYW0uYzoyMjA2CisjOiBhcHBseS5jOjUwMzAgYnVpbHRpbi9hbS5jOjIxOTQKIG1zZ2lkICJyb290IgogbXNnc3RyICJn4buRYyIKIAotIzogYXBwbHkuYzo1MDI0CisjOiBhcHBseS5jOjUwMzEKIG1zZ2lkICJwcmVwZW5kIDxyb290PiB0byBhbGwgZmlsZW5hbWVzIgogbXNnc3RyICJ0cmVvIHRow6ptIDxyb290PiB2w6BvIHThuqV0IGPhuqMgY8OhYyB0w6puIHThuq1wIHRpbiIKIAogIzogYXJjaGl2ZS5jOjE0CiBtc2dpZCAiZ2l0IGFyY2hpdmUgWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKLW1zZ3N0ciAiZ2l0IGFyY2hpdmUgWzxjw6FjLXTDuXktY2jhu41uPl0gPHRyZWUtaXNoPiBbPMSRxrDhu51uZy1k4bqrbj7igKZdIgorbXNnc3RyICJnaXQgYXJjaGl2ZSBbPGPDoWMgdMO5eSBjaOG7jW4+XSA8dHJlZS1pc2g+IFs8L8SRxrDhu51uZy9k4bqrbj7igKZdIgogCiAjOiBhcmNoaXZlLmM6MTUKIG1zZ2lkICJnaXQgYXJjaGl2ZSAtLWxpc3QiCkBAIC03NTgsMTU1ICsxMTk0LDE3NSBAQAogbXNnaWQgIiIKICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA8cmVwbz4gWy0tZXhlYyA8Y21kPl0gWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiIgotImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxraG8+IFstLWV4ZWMgPGzhu4duaD5dIFs8Y8OhYy10w7l5LWNo4buNbj5dIDx0cmVlLWlzaD4gIgotIls8xJHGsOG7nW5nLWThuqtuPuKApl0iCisiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPGtobz4gWy0tZXhlYyA8bOG7h25oPl0gWzxjw6FjIHTDuXkgY2jhu41uPl0gPHRyZWUtaXNoPiBbPC8iCisixJHGsOG7nW5nL2ThuqtuPuKApl0iCiAKICM6IGFyY2hpdmUuYzoxNwogbXNnaWQgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSAtLWxpc3QiCiBtc2dzdHIgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxraG8+IFstLWV4ZWMgPGzhu4duaD5dIC0tbGlzdCIKIAotIzogYXJjaGl2ZS5jOjM3MCBidWlsdGluL2FkZC5jOjE3NiBidWlsdGluL2FkZC5jOjUxNCBidWlsdGluL3JtLmM6Mjk4CisjOiBhcmNoaXZlLmM6MzcyIGJ1aWx0aW4vYWRkLmM6MTgwIGJ1aWx0aW4vYWRkLmM6NTU1IGJ1aWx0aW4vcm0uYzoyOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aHNwZWMgJyVzJyBkaWQgbm90IG1hdGNoIGFueSBmaWxlcyIKIG1zZ3N0ciAixJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIGtow7RuZyBraOG7m3AgduG7m2kgYuG6pXQga+G7syB04bqtcCB0aW4gbsOgbyIKIAotIzogYXJjaGl2ZS5jOjQ1MworIzogYXJjaGl2ZS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlZjogJS4qcyIKK21zZ3N0ciAia2jDtG5nIGPDsyB0aGFtIGNoaeG6v3UgbsOgbyBuaMawIHRo4bq/OiAlLipzIgorCisjOiBhcmNoaXZlLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAlcyIKK21zZ3N0ciAia2jDtG5nIHBo4bqjaSBsw6AgdMOqbiDEkeG7kWkgdMaw4bujbmcgaOG7o3AgbOG7hzog4oCcJXPigJ0iCisKKyM6IGFyY2hpdmUuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgdHJlZSBvYmplY3Q6ICVzIgorbXNnc3RyICJraMO0bmcgcGjhuqNpIGzDoCDEkeG7kWkgdMaw4bujbmcgY8OieTog4oCcJXPigJ0iCisKKyM6IGFyY2hpdmUuYzo0MjYKK21zZ2lkICJjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGlzIHVudHJhY2tlZCIKK21zZ3N0ciAidGjGsCBt4bulYyBsw6BtIHZp4buHYyBoaeG7h24gaMOgbmggY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpIgorCisjOiBhcmNoaXZlLmM6NDU3CiBtc2dpZCAiZm10IgogbXNnc3RyICLEkeG7i25oX2ThuqFuZyIKIAotIzogYXJjaGl2ZS5jOjQ1MworIzogYXJjaGl2ZS5jOjQ1NwogbXNnaWQgImFyY2hpdmUgZm9ybWF0IgogbXNnc3RyICLEkeG7i25oIGThuqFuZyBsxrB1IHRy4buvIgogCi0jOiBhcmNoaXZlLmM6NDU0IGJ1aWx0aW4vbG9nLmM6MTUzNgorIzogYXJjaGl2ZS5jOjQ1OCBidWlsdGluL2xvZy5jOjE2NTMKIG1zZ2lkICJwcmVmaXgiCiBtc2dzdHIgInRp4buBbl904buRIgogCi0jOiBhcmNoaXZlLmM6NDU1CisjOiBhcmNoaXZlLmM6NDU5CiBtc2dpZCAicHJlcGVuZCBwcmVmaXggdG8gZWFjaCBwYXRobmFtZSBpbiB0aGUgYXJjaGl2ZSIKIG1zZ3N0ciAibuG7kWkgdGjDqm0gdGnhu4FuIHThu5EgdsOgbyB04burbmcgxJHGsOG7nW5nIGThuqtuIHThuq1wIHRpbiB0cm9uZyBraG8gbMawdSIKIAotIzogYXJjaGl2ZS5jOjQ1NiBidWlsdGluL2JsYW1lLmM6ODIwIGJ1aWx0aW4vYmxhbWUuYzo4MjEgYnVpbHRpbi9jb25maWcuYzoxMjkKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDEzIGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDE1IGJ1aWx0aW4vZ3JlcC5jOjg4NAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwNCBidWlsdGluL2xzLWZpbGVzLmM6NTU5IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjIKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTIgYnVpbHRpbi9ub3Rlcy5jOjU3NSBidWlsdGluL3JlYWQtdHJlZS5jOjEyMgotIzogcGFyc2Utb3B0aW9ucy5oOjE2MgorIzogYXJjaGl2ZS5jOjQ2MCBidWlsdGluL2JsYW1lLmM6ODYxIGJ1aWx0aW4vYmxhbWUuYzo4NjUgYnVpbHRpbi9ibGFtZS5jOjg2NgorIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExNyBidWlsdGluL2NvbmZpZy5jOjEyOSBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2MgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjQgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjggYnVpbHRpbi9ncmVwLmM6ODk5CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA1IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjAgYnVpbHRpbi9scy1maWxlcy5jOjU2MworIzogYnVpbHRpbi9ub3Rlcy5jOjQxMiBidWlsdGluL25vdGVzLmM6NTc4IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTIzCisjOiBwYXJzZS1vcHRpb25zLmg6MTkwCiBtc2dpZCAiZmlsZSIKIG1zZ3N0ciAidOG6rXBfdGluIgogCi0jOiBhcmNoaXZlLmM6NDU3IGJ1aWx0aW4vYXJjaGl2ZS5jOjg5CisjOiBhcmNoaXZlLmM6NDYxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkwCiBtc2dpZCAid3JpdGUgdGhlIGFyY2hpdmUgdG8gdGhpcyBmaWxlIgogbXNnc3RyICJnaGkga2hvIGzGsHUgdsOgbyB04bqtcCB0aW4gbsOgeSIKIAotIzogYXJjaGl2ZS5jOjQ1OQorIzogYXJjaGl2ZS5jOjQ2MwogbXNnaWQgInJlYWQgLmdpdGF0dHJpYnV0ZXMgaW4gd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIsSR4buNYyAuZ2l0YXR0cmlidXRlcyB0cm9uZyB0aMawIG3hu6VjIGzDoG0gdmnhu4djIgogCi0jOiBhcmNoaXZlLmM6NDYwCisjOiBhcmNoaXZlLmM6NDY0CiBtc2dpZCAicmVwb3J0IGFyY2hpdmVkIGZpbGVzIG9uIHN0ZGVyciIKIG1zZ3N0ciAibGnhu4d0IGvDqiBjw6FjIHThuq1wIHRpbiDEkcaw4bujYyBsxrB1IHRy4buvIHbDoG8gc3RkZXJyICjEkeG6p3UgcmEgbOG7l2kgdGnDqnUgY2h14bqpbikiCiAKLSM6IGFyY2hpdmUuYzo0NjEKKyM6IGFyY2hpdmUuYzo0NjUKIG1zZ2lkICJzdG9yZSBvbmx5IgogbXNnc3RyICJjaOG7iSBsxrB1IChraMO0bmcgbsOpbikiCiAKLSM6IGFyY2hpdmUuYzo0NjIKKyM6IGFyY2hpdmUuYzo0NjYKIG1zZ2lkICJjb21wcmVzcyBmYXN0ZXIiCiBtc2dzdHIgIm7DqW4gbmhhbmggaMahbiIKIAotIzogYXJjaGl2ZS5jOjQ3MAorIzogYXJjaGl2ZS5jOjQ3NAogbXNnaWQgImNvbXByZXNzIGJldHRlciIKIG1zZ3N0ciAibsOpbiBuaOG7jyBoxqFuIgogCi0jOiBhcmNoaXZlLmM6NDczCisjOiBhcmNoaXZlLmM6NDc3CiBtc2dpZCAibGlzdCBzdXBwb3J0ZWQgYXJjaGl2ZSBmb3JtYXRzIgogbXNnc3RyICJsaeG7h3Qga8OqIGPDoWMga2nhu4N1IG7DqW4gxJHGsOG7o2MgaOG7lyB0cuG7oyIKIAotIzogYXJjaGl2ZS5jOjQ3NSBidWlsdGluL2FyY2hpdmUuYzo5MCBidWlsdGluL2Nsb25lLmM6MTExIGJ1aWx0aW4vY2xvbmUuYzoxMTQKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODU1CisjOiBhcmNoaXZlLmM6NDc5IGJ1aWx0aW4vYXJjaGl2ZS5jOjkxIGJ1aWx0aW4vY2xvbmUuYzoxMTMgYnVpbHRpbi9jbG9uZS5jOjExNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODQKIG1zZ2lkICJyZXBvIgogbXNnc3RyICJraG8iCiAKLSM6IGFyY2hpdmUuYzo0NzYgYnVpbHRpbi9hcmNoaXZlLmM6OTEKKyM6IGFyY2hpdmUuYzo0ODAgYnVpbHRpbi9hcmNoaXZlLmM6OTIKIG1zZ2lkICJyZXRyaWV2ZSB0aGUgYXJjaGl2ZSBmcm9tIHJlbW90ZSByZXBvc2l0b3J5IDxyZXBvPiIKIG1zZ3N0ciAibmjhuq1uIGtobyBuw6luIHThu6sga2hvIGNo4bupYSA8a2hvPiB0csOqbiBtw6F5IGNo4bunIgogCi0jOiBhcmNoaXZlLmM6NDc3IGJ1aWx0aW4vYXJjaGl2ZS5jOjkyIGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0OTYKKyM6IGFyY2hpdmUuYzo0ODEgYnVpbHRpbi9hcmNoaXZlLmM6OTMgYnVpbHRpbi9kaWZmdG9vbC5jOjcxNQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ5OAogbXNnaWQgImNvbW1hbmQiCiBtc2dzdHIgImzhu4duaCIKIAotIzogYXJjaGl2ZS5jOjQ3OCBidWlsdGluL2FyY2hpdmUuYzo5MworIzogYXJjaGl2ZS5jOjQ4MiBidWlsdGluL2FyY2hpdmUuYzo5NAogbXNnaWQgInBhdGggdG8gdGhlIHJlbW90ZSBnaXQtdXBsb2FkLWFyY2hpdmUgY29tbWFuZCIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIMSR4bq/biBs4buHbmggZ2l0LXVwbG9hZC1wYWNrIHRyw6puIG3DoXkgY2jhu6ciCiAKLSM6IGFyY2hpdmUuYzo0ODUKKyM6IGFyY2hpdmUuYzo0ODkKIG1zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLXJlbW90ZSIKLW1zZ3N0ciAiR+G6t3AgdMO5eSBjaOG7jW4gLS1yZW1vdGUga2jDtG5nIGPhuqduIgorbXNnc3RyICJH4bq3cCB0w7l5IGNo4buNbiBraMO0bmcgY+G6p24gLS1yZW1vdGUiCiAKLSM6IGFyY2hpdmUuYzo0ODcKKyM6IGFyY2hpdmUuYzo0OTEKIG1zZ2lkICJPcHRpb24gLS1leGVjIGNhbiBvbmx5IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLXJlbW90ZSIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gLS1leGVjIGNo4buJIGPDsyB0aOG7gyDEkcaw4bujYyBkw7luZyBjw7luZyB24bubaSAtLXJlbW90ZSIKIAotIzogYXJjaGl2ZS5jOjQ4OQorIzogYXJjaGl2ZS5jOjQ5MwogbXNnaWQgIlVuZXhwZWN0ZWQgb3B0aW9uIC0tb3V0cHV0IgogbXNnc3RyICJH4bq3cCB0w7l5IGNo4buNbiBraMO0bmcgY+G6p24gLS1vdXRwdXQiCiAKLSM6IGFyY2hpdmUuYzo1MTEKKyM6IGFyY2hpdmUuYzo1MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBhcmNoaXZlIGZvcm1hdCAnJXMnIgogbXNnc3RyICJLaMO0bmcgaGnhu4N1IMSR4buLbmggZOG6oW5nIOKAnCVz4oCdIgogCi0jOiBhcmNoaXZlLmM6NTE4CisjOiBhcmNoaXZlLmM6NTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFyZ3VtZW50IG5vdCBzdXBwb3J0ZWQgZm9yIGZvcm1hdCAnJXMnOiAtJWQiCiBtc2dzdHIgIlRoYW0gc+G7kSBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyBjaG8gxJHhu4tuaCBk4bqhbmcg4oCcJXPigJ06IC0lZCIKIAotIzogYXJjaGl2ZS10YXIuYzoxMjUgYXJjaGl2ZS16aXAuYzozNDUKKyM6IGFyY2hpdmUtdGFyLmM6MTI1IGFyY2hpdmUtemlwLmM6MzUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdHJlYW0gYmxvYiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHN0cmVhbSBibG9iIOKAnCVz4oCdIgogCi0jOiBhcmNoaXZlLXRhci5jOjI2MCBhcmNoaXZlLXppcC5jOjM2MworIzogYXJjaGl2ZS10YXIuYzoyNjYgYXJjaGl2ZS16aXAuYzozNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgZmlsZSBtb2RlOiAwJW8gKFNIQTE6ICVzKSIKIG1zZ3N0ciAiY2jhur8gxJHhu5kgdOG6rXAgdGluIGzhu6VjIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujOiAwJW8gKFNIQTE6ICVzKSIKIAotIzogYXJjaGl2ZS10YXIuYzoyODcgYXJjaGl2ZS16aXAuYzozNTMKKyM6IGFyY2hpdmUtdGFyLmM6MjkzIGFyY2hpdmUtemlwLmM6MzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jICVzIgogCi0jOiBhcmNoaXZlLXRhci5jOjQ1OAorIzogYXJjaGl2ZS10YXIuYzo0NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXJ0ICclcycgZmlsdGVyIgogbXNnc3RyICJraMO0bmcgdGjhu4MgYuG6r3QgxJHhuqd1IGLhu5kgbOG7jWMg4oCcJXPigJ0iCiAKLSM6IGFyY2hpdmUtdGFyLmM6NDYxCisjOiBhcmNoaXZlLXRhci5jOjQ2OAogbXNnaWQgInVuYWJsZSB0byByZWRpcmVjdCBkZXNjcmlwdG9yIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY2h1eeG7g24gaMaw4bubbmcgbcO0IHThuqMiCiAKLSM6IGFyY2hpdmUtdGFyLmM6NDY4CisjOiBhcmNoaXZlLXRhci5jOjQ3NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGZpbHRlciByZXBvcnRlZCBlcnJvciIKIG1zZ3N0ciAiYuG7mSBs4buNYyDigJwlc+KAnSDEkcOjIGLDoW8gY8OhbyBs4buXaSIKIAotIzogYXJjaGl2ZS16aXAuYzozMTQKKyM6IGFyY2hpdmUtemlwLmM6MzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggaXMgbm90IHZhbGlkIFVURi04OiAlcyIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIGtow7RuZyBo4bujcCBs4buHIFVURi04OiAlcyIKIAotIzogYXJjaGl2ZS16aXAuYzozMTgKKyM6IGFyY2hpdmUtemlwLmM6MzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggdG9vIGxvbmcgKCVkIGNoYXJzLCBTSEExOiAlcyk6ICVzIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24gcXXDoSBkw6BpICglZCBrw70gdOG7sSwgU0hBMTogJXMpOiAlcyIKIAotIzogYXJjaGl2ZS16aXAuYzo0NzQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMjQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMjcKKyM6IGFyY2hpdmUtemlwLmM6NDc5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjMwIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlZmxhdGUgZXJyb3IgKCVkKSIKIG1zZ3N0ciAibOG7l2kgZ2nhuqNpIG7DqW4gKCVkKSIKIAotIzogYXJjaGl2ZS16aXAuYzo2MDkKKyM6IGFyY2hpdmUtemlwLmM6NjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInRpbWVzdGFtcCB0b28gbGFyZ2UgZm9yIHRoaXMgc3lzdGVtOiAlPFBSSXVNQVg+IgogbXNnc3RyICJk4bqldSB24bq/dCB0aOG7nWkgZ2lhbiBsw6AgcXXDoSBs4bubbiBjaG8gaOG7hyB0aOG7kW5nIG7DoHk6ICU8UFJJdU1BWD4iCkBAIC05MTYsNiArMTM3MiwxMSBAQAogbXNnaWQgIiUuKnMgaXMgbm90IGEgdmFsaWQgYXR0cmlidXRlIG5hbWUiCiBtc2dzdHIgIiUuKnMga2jDtG5nIHBo4bqjaSB0w6puIHRodeG7mWMgdMOtbmggaOG7o3AgbOG7hyIKIAorIzogYXR0ci5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYWxsb3dlZDogJXM6JWQiCittc2dzdHIgIiVzIGtow7RuZyDEkcaw4bujYyBwaMOpcDogJXM6JWQiCisKICM6IGF0dHIuYzo0MDkKIG1zZ2lkICIiCiAiTmVnYXRpdmUgcGF0dGVybnMgYXJlIGlnbm9yZWQgaW4gZ2l0IGF0dHJpYnV0ZXNcbiIKQEAgLTkyNywxOSArMTM4OCwxOSBAQAogIzogYmlzZWN0LmM6NDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZGx5IHF1b3RlZCBjb250ZW50IGluIGZpbGUgJyVzJzogJXMiCi1tc2dzdHIgIm7hu5lpIGR1bmcgxJHGsOG7o2MgdHLDrWNoIGThuqtuIHNhaSB04bqtcCB0aW4g4oCcJXPigJ06ICVzIgorbXNnc3RyICJO4buZaSBkdW5nIMSRxrDhu6NjIHRyw61jaCBk4bqrbiBzYWkgdHJvbmcgdOG6rXAgdGluIOKAnCVz4oCdOiAlcyIKIAotIzogYmlzZWN0LmM6Njc2CisjOiBiaXNlY3QuYzo2NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2UgY2Fubm90IGJpc2VjdCBtb3JlIVxuIgogbXNnc3RyICJDaMO6bmcgdMO0aSBraMO0bmcgYmlzZWN0IHRow6ptIG7hu69hIVxuIgogCi0jOiBiaXNlY3QuYzo3MzAKKyM6IGJpc2VjdC5jOjczMwogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBjb21taXQgbmFtZSAlcyIKIG1zZ3N0ciAiS2jDtG5nIHBo4bqjaSB0w6puIMSR4buRaSB0xrDhu6NuZyBjb21taXQgJXMgaOG7o3AgbOG7hyIKIAotIzogYmlzZWN0LmM6NzU0CisjOiBiaXNlY3QuYzo3NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBtZXJnZSBiYXNlICVzIGlzIGJhZC5cbiIKQEAgLTk0OCw3ICsxNDA5LDcgQEAKICJIw7JhIHRy4buZbiB0csOqbiAlcyBsw6Agc2FpLlxuIgogIsSQaeG7gXUgxJHDsyBjw7MgbmdoxKlhIGzDoCBs4buXaSDEkcOjIMSRxrDhu6NjIHPhu61hIGNo4buvYSBnaeG7r2EgJXMgdsOgIFslc10uXG4iCiAKLSM6IGJpc2VjdC5jOjc1OQorIzogYmlzZWN0LmM6NzYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbWVyZ2UgYmFzZSAlcyBpcyBuZXcuXG4iCkBAIC05NTcsNyArMTQxOCw3IEBACiAiSMOyYSB0cuG7mW4gdHLDqm4gJXMgbMOgIG3hu5tpLlxuIgogIkfhuqduIG5oxrAgY2jhuq9jIGNo4bqvbiBsw6AgY8OzIHRoYXkgxJHhu5VpIGdp4buvYSAlcyB2w6AgWyVzXS5cbiIKIAotIzogYmlzZWN0LmM6NzY0CisjOiBiaXNlY3QuYzo3NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBtZXJnZSBiYXNlICVzIGlzICVzLlxuIgpAQCAtOTY2LDcgKzE0MjcsNyBAQAogIkjDsmEgdHLhu5luIHRyw6puICVzIGzDoCAlcy5cbiIKICLEkGnhu4F1IMSRw7MgY8OzIG5naMSpYSBsw6AgbOG6p24gY2h1eeG7g24gZ2lhbyDigJwlc+KAnSDEkeG6p3UgdGnDqm4gbMOgIGdp4buvYSAlcyB2w6AgWyVzXS5cbiIKIAotIzogYmlzZWN0LmM6NzcyCisjOiBiaXNlY3QuYzo3NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlNvbWUgJXMgcmV2cyBhcmUgbm90IGFuY2VzdG9ycyBvZiB0aGUgJXMgcmV2LlxuIgpAQCAtOTc3LDcgKzE0MzgsNyBAQAogImdpdCBiaXNlY3Qga2jDtG5nIHRo4buDIGzDoG0gdmnhu4djIMSRw7puZyDEkeG6r24gdHJvbmcgdHLGsOG7nW5nIGjhu6NwIG7DoHkuXG4iCiAiTGnhu4d1IGPDsyBwaOG6o2kgYuG6oW4gbmjhuqdtIGzhuqtuIGPDoWMgxJFp4buDbSAlcyB2w6AgJXMga2jDtG5nP1xuIgogCi0jOiBiaXNlY3QuYzo3ODUKKyM6IGJpc2VjdC5jOjc4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidGhlIG1lcmdlIGJhc2UgYmV0d2VlbiAlcyBhbmQgWyVzXSBtdXN0IGJlIHNraXBwZWQuXG4iCkBAIC05ODksMjIgKzE0NTAsMjIgQEAKICIlcy5cbiIKICJDaMO6bmcgdMO0aSB24bqrbiBj4bupIHRp4bq/cCB04bulYy4iCiAKLSM6IGJpc2VjdC5jOjgxOAorIzogYmlzZWN0LmM6ODIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJpc2VjdGluZzogYSBtZXJnZSBiYXNlIG11c3QgYmUgdGVzdGVkXG4iCiBtc2dzdHIgIkJpc2VjdGluZzogbuG7gW4gaMOyYSB0cuG7mW4gY+G6p24gcGjhuqNpIMSRxrDhu6NjIGtp4buDbSB0cmFcbiIKIAotIzogYmlzZWN0LmM6ODU4CisjOiBiaXNlY3QuYzo4NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCiBtc2dzdHIgImPhuqduIG3hu5l0IMSRaeG7g20geMOpdCBkdXnhu4d0ICVzIgogCi0jOiBiaXNlY3QuYzo4NzcgYnVpbHRpbi9ub3Rlcy5jOjE3NyBidWlsdGluL3RhZy5jOjIzNworIzogYmlzZWN0LmM6ODg0IGJ1aWx0aW4vbm90ZXMuYzoxNzcgYnVpbHRpbi90YWcuYzoyNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBmaWxlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyB04bqtcCB0aW4g4oCcJXPigJ0iCiAKLSM6IGJpc2VjdC5jOjkyOCBidWlsdGluL21lcmdlLmM6MTM4CisjOiBiaXNlY3QuYzo5MjggYnVpbHRpbi9tZXJnZS5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBmaWxlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgdOG6rXAgdGluIOKAnCVz4oCdIgpAQCAtMTAyNCw3ICsxNDg1LDcgQEAKICJObyB0ZXN0YWJsZSBjb21taXQgZm91bmQuXG4iCiAiTWF5YmUgeW91IHN0YXJ0ZWQgd2l0aCBiYWQgcGF0aCBwYXJhbWV0ZXJzP1xuIgogbXNnc3RyICIiCi0ia2jDtG5nIHTDrG0gdGjhuqV5IGzhuqduIGNodXnhu4NuIGdpYW8ga2nhu4NtIHRyYSDEkcaw4bujYyBuw6BvLlxuIgorIktow7RuZyB0w6xtIHRo4bqleSBs4bqnbiBjaHV54buDbiBnaWFvIGtp4buDbSB0cmEgxJHGsOG7o2MgbsOgby5cbiIKICJDw7MgbOG6vSBi4bqhbiBi4bqvdCDEkeG6p3UgduG7m2kgY8OhYyB0aGFtIHPhu5EgxJHGsOG7nW5nIGThuqtuIHNhaT9cbiIKIAogIzogYmlzZWN0LmM6MTAwNApAQCAtMTA0Miw0NSArMTUwMyw0NSBAQAogbXNnaWRfcGx1cmFsICJCaXNlY3Rpbmc6ICVkIHJldmlzaW9ucyBsZWZ0IHRvIHRlc3QgYWZ0ZXIgdGhpcyAlc1xuIgogbXNnc3RyWzBdICJCaXNlY3Rpbmc6IGPDsm4gJWQgxJFp4buDbSB4w6l0IGR1eeG7h3QgxJHhu4Mga2nhu4NtIHNhdSAlcyBuw6B5XG4iCiAKLSM6IGJsYW1lLmM6MTc4NworIzogYmxhbWUuYzoyNzAwCiBtc2dpZCAiLS1jb250ZW50cyBhbmQgLS1yZXZlcnNlIGRvIG5vdCBibGVuZCB3ZWxsLiIKIG1zZ3N0ciAidMO5eSBjaOG7jW4tLWNvbnRlbnRzIHbDoCAtLXJldmVyc2Uga2jDtG5nIMSRxrDhu6NjIHRy4buZbiB2w6BvIG5oYXUuIgogCi0jOiBibGFtZS5jOjE4MDEKKyM6IGJsYW1lLmM6MjcxNAogbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGTDuW5nIC0tY29udGVudHMgduG7m2kgdMOqbiDEkeG7kWkgdMaw4bujbmcgY2h1eeG7g24gZ2lhbyBjdeG7kWkgY8O5bmciCiAKLSM6IGJsYW1lLmM6MTgyMgorIzogYmxhbWUuYzoyNzM1CiBtc2dpZCAiLS1yZXZlcnNlIGFuZCAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHNwZWNpZmllZCBsYXRlc3QgY29tbWl0IgogbXNnc3RyICIiCi0iLS1yZXZlcnNlIHbDoCAtLWZpcnN0LXBhcmVudCBjw7luZyBuaGF1IGPhuqduIGNo4buJIMSR4buLbmggbOG6p24gY2h1eeG7g24gZ2lhbyBjdeG7kWkiCisiY8O5bmcgc+G7rSBk4bulbmcgLS1yZXZlcnNlIHbDoCAtLWZpcnN0LXBhcmVudCBj4bqnbiBjaOG7iSDEkeG7i25oIGzhuqduIGNodXnhu4NuIGdpYW8gY3Xhu5FpIgogCi0jOiBibGFtZS5jOjE4MzEgYnVuZGxlLmM6MTYyIHJlZi1maWx0ZXIuYzoyMDQ2IHNlcXVlbmNlci5jOjE5NjMKLSM6IHNlcXVlbmNlci5jOjQwMDIgYnVpbHRpbi9jb21taXQuYzoxMDAxIGJ1aWx0aW4vbG9nLmM6Mzc3IGJ1aWx0aW4vbG9nLmM6OTMyCi0jOiBidWlsdGluL2xvZy5jOjE0MDcgYnVpbHRpbi9sb2cuYzoxNzgzIGJ1aWx0aW4vbG9nLmM6MjA3MiBidWlsdGluL21lcmdlLmM6NDA2Ci0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMzcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTUyCisjOiBibGFtZS5jOjI3NDQgYnVuZGxlLmM6MTY3IHJlZi1maWx0ZXIuYzoyMjAzIHJlbW90ZS5jOjE5NDEgc2VxdWVuY2VyLmM6MjA5MworIzogc2VxdWVuY2VyLmM6NDQ2MCBidWlsdGluL2NvbW1pdC5jOjEwNDAgYnVpbHRpbi9sb2cuYzozODggYnVpbHRpbi9sb2cuYzo5OTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTUyMCBidWlsdGluL2xvZy5jOjE5MjUgYnVpbHRpbi9sb2cuYzoyMjE1IGJ1aWx0aW4vbWVyZ2UuYzo0MTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzEyOCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxNDMKICM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxOTIKIG1zZ2lkICJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIKIG1zZ3N0ciAiY8OgaSDEkeG6t3Qgdmnhu4djIGRpIGNodXnhu4NuIHF1YSBjw6FjIMSRaeG7g20geMOpdCBkdXnhu4d0IGfhurdwIGzhu5dpIgogCi0jOiBibGFtZS5jOjE4NDkKKyM6IGJsYW1lLmM6Mjc2MgogbXNnaWQgIiIKICItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSByYW5nZSBhbG9uZyBmaXJzdC1wYXJlbnQgY2hhaW4iCiBtc2dzdHIgIiIKLSItLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgY8O5bmcgbmhhdSB5w6p1IGPhuqd1IHbDuW5nIGPDuW5nIHbhu5tpIGNodeG7l2kgY2hhLW3hurktxJHhuqd1LSIKKyJjw7luZyBz4butIGThu6VuZyAtLXJldmVyc2UgLS1maXJzdC1wYXJlbnQgecOqdSBj4bqndSB2w7luZyBjw7luZyB24bubaSBjaHXhu5dpIGNoYS1t4bq5LcSR4bqndS0iCiAidGnDqm4iCiAKLSM6IGJsYW1lLmM6MTg2MAorIzogYmxhbWUuYzoyNzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKIG1zZ3N0ciAia2jDtG5nIGPDsyDEkcaw4budbmcgZOG6q24gJXMgdHJvbmcg4oCcJXPigJ0iCiAKLSM6IGJsYW1lLmM6MTg3MQorIzogYmxhbWUuYzoyNzg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGJsb2IgJXMgZm9yIHBhdGggJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgYmxvYiAlcyBjaG8gxJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIgogCi0jOiBicmFuY2guYzo1MgorIzogYnJhbmNoLmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTA5Myw5MCArMTU1NCw5MCBAQAogInRow7RuZyB0aW4gdGhlbyBkw7VpIG3DoXkgY2jhu6cgYuG6sW5nIGPDoWNoIGfhu41pIGzhu4duaFxuIgogIlwiZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10bz0lcyVzJXNcIi4iCiAKLSM6IGJyYW5jaC5jOjY2CisjOiBicmFuY2guYzo2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3Qgc2V0dGluZyBicmFuY2ggJXMgYXMgaXRzIG93biB1cHN0cmVhbS4iCiBtc2dzdHIgIkNoxrBhIGPDoGkgxJHhurd0IG5ow6FuaCAlcyBuaMawIGzDoCB0aMaw4bujbmcgbmd14buTbiBj4bunYSBuw7MuIgogCi0jOiBicmFuY2guYzo5MgorIzogYnJhbmNoLmM6OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJyVzJyBmcm9tICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICIiCiAiTmjDoW5oIOKAnCVz4oCdIGPDoGkgxJHhurd0IMSR4buDIHRoZW8gZMO1aSBuaMOhbmggbcOheSBjaOG7pyDigJwlc+KAnSB04burIOKAnCVz4oCdIGLhurFuZyBjw6FjaCByZWJhc2UuIgogCi0jOiBicmFuY2guYzo5MworIzogYnJhbmNoLmM6OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJyVzJyBmcm9tICclcycuIgogbXNnc3RyICJOaMOhbmgg4oCcJXPigJ0gY8OgaSDEkeG6t3QgxJHhu4MgdGhlbyBkw7VpIG5ow6FuaCBtw6F5IGNo4bunIOKAnCVz4oCdIHThu6sg4oCcJXPigJ0uIgogCi0jOiBicmFuY2guYzo5NworIzogYnJhbmNoLmM6OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIGJyYW5jaCAnJXMnIGJ5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiTmjDoW5oIOKAnCVz4oCdIGPDoGkgxJHhurd0IMSR4buDIHRoZW8gZMO1aSBuaMOhbmggbuG7mWkgYuG7mSDigJwlc+KAnSBi4bqxbmcgY8OhY2ggcmViYXNlLiIKIAotIzogYnJhbmNoLmM6OTgKKyM6IGJyYW5jaC5jOjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayBsb2NhbCBicmFuY2ggJyVzJy4iCiBtc2dzdHIgIk5ow6FuaCDigJwlc+KAnSBjw6BpIMSR4bq3dCDEkeG7gyB0aGVvIGTDtWkgbmjDoW5oIG7hu5lpIGLhu5kg4oCcJXPigJ0uIgogCi0jOiBicmFuY2guYzoxMDMKKyM6IGJyYW5jaC5jOjEwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgcmVtb3RlIHJlZiAnJXMnIGJ5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiIgogIk5ow6FuaCDigJwlc+KAnSBjw6BpIMSR4bq3dCDEkeG7gyB0aGVvIGTDtWkgdGhhbSBjaGnhur91IG3DoXkgY2jhu6cg4oCcJXPigJ0gYuG6sW5nIGPDoWNoIHJlYmFzZS4iCiAKLSM6IGJyYW5jaC5jOjEwNAorIzogYnJhbmNoLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgcmVmICclcycuIgogbXNnc3RyICJOaMOhbmgg4oCcJXPigJ0gY8OgaSDEkeG6t3QgxJHhu4MgdGhlbyBkw7VpIHRoYW0gY2hp4bq/dSBtw6F5IGNo4bunIOKAnCVz4oCdLiIKIAotIzogYnJhbmNoLmM6MTA4CisjOiBicmFuY2guYzoxMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIHJlZiAnJXMnIGJ5IHJlYmFzaW5nLiIKIG1zZ3N0ciAiIgogIk5ow6FuaCDigJwlc+KAnSBjw6BpIMSR4bq3dCDEkeG7gyB0aGVvIGTDtWkgdGhhbSBjaGnhur91IG7hu5lpIGLhu5kg4oCcJXPigJ0gYuG6sW5nIGPDoWNoIHJlYmFzZS4iCiAKLSM6IGJyYW5jaC5jOjEwOQorIzogYnJhbmNoLmM6MTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayBsb2NhbCByZWYgJyVzJy4iCiBtc2dzdHIgIk5ow6FuaCDigJwlc+KAnSBjw6BpIMSR4bq3dCDEkeG7gyB0aGVvIGTDtWkgdGhhbSBjaGnhur91IG7hu5lpIGLhu5kg4oCcJXPigJ0uIgogCi0jOiBicmFuY2guYzoxMTgKKyM6IGJyYW5jaC5jOjExOQogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB1cHN0cmVhbSBicmFuY2ggY29uZmlndXJhdGlvbiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSBj4bqldSBow6xuaCBuaMOhbmggdGjGsOG7o25nIG5ndeG7k24iCiAKLSM6IGJyYW5jaC5jOjE1NQorIzogYnJhbmNoLmM6MTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCB0cmFja2luZzogYW1iaWd1b3VzIGluZm9ybWF0aW9uIGZvciByZWYgJXMiCiBtc2dzdHIgIktow7RuZyB0aGVvIGTDtWk6IHRow7RuZyB0aW4gY2jGsGEgcsO1IHLDoG5nIGNobyB0aGFtIGNoaeG6v3UgJXMiCiAKLSM6IGJyYW5jaC5jOjE4OAorIzogYnJhbmNoLmM6MTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgYnJhbmNoIG5hbWUuIgogbXNnc3RyICLigJwlc+KAnSBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCB0w6puIG5ow6FuaCBo4bujcCBs4buHLiIKIAotIzogYnJhbmNoLmM6MjA3CisjOiBicmFuY2guYzoyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQSBicmFuY2ggbmFtZWQgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgIsSQw6MgY8OzIG5ow6FuaCBtYW5nIHTDqm4g4oCcJXPigJ0uIgogCi0jOiBicmFuY2guYzoyMTIKKyM6IGJyYW5jaC5jOjIxMwogbXNnaWQgIkNhbm5vdCBmb3JjZSB1cGRhdGUgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMOpcCBideG7mWMgY+G6rXAgbmjhuq10IG5ow6FuaCBoaeG7h24gaMOgbmguIgogCi0jOiBicmFuY2guYzoyMzIKKyM6IGJyYW5jaC5jOjIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc2V0dXAgdHJhY2tpbmcgaW5mb3JtYXRpb247IHN0YXJ0aW5nIHBvaW50ICclcycgaXMgbm90IGEgYnJhbmNoLiIKIG1zZ3N0ciAiIgogIktow7RuZyB0aOG7gyBjw6BpIMSR4bq3dCB0aMO0bmcgdGluIHRoZW8gZMO1aTsgxJFp4buDbSBi4bqvdCDEkeG6p3Ug4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgIgogIm5ow6FuaC4iCiAKLSM6IGJyYW5jaC5jOjIzNAorIzogYnJhbmNoLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSByZXF1ZXN0ZWQgdXBzdHJlYW0gYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIm5ow6FuaCB0aMaw4bujbmcgbmd14buTbiDEkcOjIHnDqnUgY+G6p3Ug4oCcJXPigJ0ga2jDtG5nIHThu5NuIHThuqFpIgogCi0jOiBicmFuY2guYzoyMzYKKyM6IGJyYW5jaC5jOjIzNwogbXNnaWQgIiIKICJcbiIKICJJZiB5b3UgYXJlIHBsYW5uaW5nIG9uIGJhc2luZyB5b3VyIHdvcmsgb24gYW4gdXBzdHJlYW1cbiIKQEAgLTExOTYsMjcgKzE2NTcsMjcgQEAKICJz4bq9IHRoZW8gZMO1aSBi4bqjbiDEkeG7kWkgY2hp4bq/dSBtw6F5IGNo4bunIGPhu6dhIG7DsywgYuG6oW4gY+G6p24gZMO5bmcgbOG7h25oXG4iCiAiXCJnaXQgcHVzaCAtdVwiIMSR4buDIMSR4bq3dCBj4bqldSBow6xuaCB0aMaw4bujbmcgbmd14buTbiBi4bqhbiBtdeG7kW4gcHVzaC4iCiAKLSM6IGJyYW5jaC5jOjI3OQorIzogYnJhbmNoLmM6MjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnLiIKIG1zZ3N0ciAiS2jDtG5nIHBo4bqjaSB0w6puIMSR4buRaSB0xrDhu6NuZyBo4bujcCBs4buHOiDigJwlc+KAnS4iCiAKLSM6IGJyYW5jaC5jOjI5OQorIzogYnJhbmNoLmM6MzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFtYmlndW91cyBvYmplY3QgbmFtZTogJyVzJy4iCiBtc2dzdHIgIlTDqm4gxJHhu5FpIHTGsOG7o25nIGNoxrBhIHLDtSByw6BuZzog4oCcJXPigJ0uIgogCi0jOiBicmFuY2guYzozMDQKKyM6IGJyYW5jaC5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgogbXNnc3RyICJOaMOhbmgga2jDtG5nIGjhu6NwIGzhu4c6IOKAnCVz4oCdLiIKIAotIzogYnJhbmNoLmM6MzU4CisjOiBicmFuY2guYzozNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGNoZWNrZWQgb3V0IGF0ICclcyciCiBtc2dzdHIgIuKAnCVz4oCdIMSRw6MgxJHGsOG7o2MgbOG6pXkgcmEgdOG6oWkg4oCcJXPigJ0gcuG7k2kiCiAKLSM6IGJyYW5jaC5jOjM4MQorIzogYnJhbmNoLmM6Mzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgb2Ygd29ya2luZyB0cmVlICVzIGlzIG5vdCB1cGRhdGVkIgogbXNnc3RyICJIRUFEIGPhu6dhIGPDonkgbMOgbSB2aeG7h2MgJXMgY2jGsGEgxJHGsOG7o2MgY+G6rXAgbmjhuq10IgpAQCAtMTIzMSw2OCArMTY5Miw3MiBAQAogbXNnaWQgInVucmVjb2duaXplZCBoZWFkZXI6ICVzJXMgKCVkKSIKIG1zZ3N0ciAicGjhuqduIMSR4bqndSBraMO0bmcgxJHGsOG7o2MgdGjhu6thIG5o4bqtbjogJXMlcyAoJWQpIgogCi0jOiBidW5kbGUuYzo5MCByZXJlcmUuYzo0ODAgcmVyZXJlLmM6NjkwIHNlcXVlbmNlci5jOjIxODIgc2VxdWVuY2VyLmM6MjcyMgotIzogYnVpbHRpbi9jb21taXQuYzo3NzQKKyM6IGJ1bmRsZS5jOjkwIHJlcmVyZS5jOjQ4MCByZXJlcmUuYzo2OTAgc2VxdWVuY2VyLmM6MjM0NCBzZXF1ZW5jZXIuYzozMTA4CisjOiBidWlsdGluL2NvbW1pdC5jOjgxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyDigJwlc+KAnSIKIAotIzogYnVuZGxlLmM6MTQxCisjOiBidW5kbGUuYzoxNDMKIG1zZ2lkICJSZXBvc2l0b3J5IGxhY2tzIHRoZXNlIHByZXJlcXVpc2l0ZSBjb21taXRzOiIKIG1zZ3N0ciAiS2hvIGNo4bupYSB0aGnhur91IG5o4buvbmcgbOG6p24gY2h1eeG7g24gZ2lhbyB0acOqbiBxdXnhur90IG7DoHk6IgogCi0jOiBidW5kbGUuYzoxOTIKKyM6IGJ1bmRsZS5jOjE0NgorbXNnaWQgIm5lZWQgYSByZXBvc2l0b3J5IHRvIHZlcmlmeSBhIGJ1bmRsZSIKK21zZ3N0ciAiY+G6p24gbeG7mXQga2hvIGNo4bupYSDEkeG7gyB0aOG6qW0gdHJhIG3hu5l0IGJ1bmRsZSIKKworIzogYnVuZGxlLmM6MTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBidW5kbGUgY29udGFpbnMgdGhpcyByZWY6IgogbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoZXNlICVkIHJlZnM6IgogbXNnc3RyWzBdICJCw7MgZOG7ryBsaeG7h3UgY2jhu6lhICVkIHRoYW0gY2hp4bq/dToiCiAKLSM6IGJ1bmRsZS5jOjE5OQorIzogYnVuZGxlLmM6MjA0CiBtc2dpZCAiVGhlIGJ1bmRsZSByZWNvcmRzIGEgY29tcGxldGUgaGlzdG9yeS4iCiBtc2dzdHIgIkzhu4duaCBidW5kbGUgZ2hpIGzhuqFpIHRvw6BuIGLhu5kgbOG7i2NoIHPhu60uIgogCi0jOiBidW5kbGUuYzoyMDEKKyM6IGJ1bmRsZS5jOjIwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoaXMgcmVmOiIKIG1zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGVzZSAlZCByZWZzOiIKIG1zZ3N0clswXSAiTOG7h25oIGJ1bmRsZSB5w6p1IGPhuqd1ICVkIHRoYW0gY2hp4bq/dSBuw6B5OiIKIAotIzogYnVuZGxlLmM6MjY3CisjOiBidW5kbGUuYzoyNzMKIG1zZ2lkICJ1bmFibGUgdG8gZHVwIGJ1bmRsZSBkZXNjcmlwdG9yIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbmjDom4gxJHDtGkgYuG7mSBtw7QgdOG6oyBidW5kbGUiCiAKLSM6IGJ1bmRsZS5jOjI3NAorIzogYnVuZGxlLmM6MjgwCiBtc2dpZCAiQ291bGQgbm90IHNwYXduIHBhY2stb2JqZWN0cyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHPhuqNuIHNpbmggxJHhu5FpIHTGsOG7o25nIGfDs2kiCiAKLSM6IGJ1bmRsZS5jOjI4NQorIzogYnVuZGxlLmM6MjkxCiBtc2dpZCAicGFjay1vYmplY3RzIGRpZWQiCiBtc2dzdHIgIsSR4buRaSB0xrDhu6NuZyBnw7NpIMSRw6MgY2jhur90IgogCi0jOiBidW5kbGUuYzozMjcKKyM6IGJ1bmRsZS5jOjMzMwogbXNnaWQgInJldi1saXN0IGRpZWQiCiBtc2dzdHIgInJldi1saXN0IMSRw6MgY2jhur90IgogCi0jOiBidW5kbGUuYzozNzYKKyM6IGJ1bmRsZS5jOjM4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKIG1zZ3N0ciAidGguY2hp4bq/dSDigJwlc+KAnSBi4buLIGxv4bqhaSB0cuG7qyBi4bufaSBjw6FjIHTDuXkgY2jhu41uIHJldi1saXN0IgogCi0jOiBidW5kbGUuYzo0NTYgYnVpbHRpbi9sb2cuYzoxOTIgYnVpbHRpbi9sb2cuYzoxNjg4IGJ1aWx0aW4vc2hvcnRsb2cuYzozMDQKKyM6IGJ1bmRsZS5jOjQ2MSBidWlsdGluL2xvZy5jOjIwMyBidWlsdGluL2xvZy5jOjE4MTQgYnVpbHRpbi9zaG9ydGxvZy5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLEkeG7kWkgc+G7kSBraMO0bmcgxJHGsOG7o2MgdGjhu6thIG5o4bqtbjogJXMiCiAKLSM6IGJ1bmRsZS5jOjQ2NAorIzogYnVuZGxlLmM6NDY5CiBtc2dpZCAiUmVmdXNpbmcgdG8gY3JlYXRlIGVtcHR5IGJ1bmRsZS4iCiBtc2dzdHIgIlThu6sgY2jhu5FpIHThuqFvIG3hu5l0IGLDsyBk4buvIGxp4buHdSB0cuG7kW5nIHLhu5duZy4iCiAKLSM6IGJ1bmRsZS5jOjQ3NAorIzogYnVuZGxlLmM6NDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIOKAnCVz4oCdIgogCi0jOiBidW5kbGUuYzo0OTgKKyM6IGJ1bmRsZS5jOjUwNAogbXNnaWQgImluZGV4LXBhY2sgZGllZCIKIG1zZ3N0ciAibeG7pWMgbOG7pWMgZ8OzaSDEkcOjIGNo4bq/dCIKIApAQCAtMTMwMSwxNCArMTc2NiwxMyBAQAogbXNnaWQgImludmFsaWQgY29sb3IgdmFsdWU6ICUuKnMiCiBtc2dzdHIgImdpw6EgdHLhu4sgbcOgdSBraMO0bmcgaOG7o3AgbOG7hzogJS4qcyIKIAotIzogY29tbWl0LmM6NTAgc2VxdWVuY2VyLmM6MjUyOCBidWlsdGluL2FtLmM6MzcwIGJ1aWx0aW4vYW0uYzo0MTQKLSM6IGJ1aWx0aW4vYW0uYzoxMzkwIGJ1aWx0aW4vYW0uYzoyMDI1IGJ1aWx0aW4vcmVwbGFjZS5jOjM3NgotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQ4CisjOiBjb21taXQuYzo1MSBzZXF1ZW5jZXIuYzoyODExIGJ1aWx0aW4vYW0uYzozNTQgYnVpbHRpbi9hbS5jOjM5OAorIzogYnVpbHRpbi9hbS5jOjEzNjYgYnVpbHRpbi9hbS5jOjIwMDkgYnVpbHRpbi9yZXBsYWNlLmM6NDU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGPDuiBwaMOhcCAlcyIKIAotIzogY29tbWl0LmM6NTIKKyM6IGNvbW1pdC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzICVzIGlzIG5vdCBhIGNvbW1pdCEiCiBtc2dzdHIgIiVzICVzIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8hIgpAQCAtMTMzMywyOCArMTc5NywyOCBAQAogIlThuq90IGzhu51pIG5o4bqvbiBuw6B5IGLhurFuZyBjw6FjaCBjaOG6oXlcbiIKICJcImdpdCBjb25maWcgYWR2aWNlLmdyYWZ0RmlsZURlcHJlY2F0ZWQgZmFsc2VcIiIKIAotIzogY29tbWl0LmM6MTExNQorIzogY29tbWl0LmM6MTE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICIiCiAiTOG6p24gY2h1eeG7g24gZ2lhbyAlcyBjw7MgbeG7mXQgY2jhu68ga8O9IEdQRyBraMO0bmcgxJHDoW5nIHRpbiwgxJHGsOG7o2MgY2hvIGzDoCBi4bufaSAlcy4iCiAKLSM6IGNvbW1pdC5jOjExMTgKKyM6IGNvbW1pdC5jOjExNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGJhZCBHUEcgc2lnbmF0dXJlIGFsbGVnZWRseSBieSAlcy4iCiBtc2dzdHIgIkzhuqduIGNodXnhu4NuIGdpYW8gJXMgY8OzIG3hu5l0IGNo4buvIGvDvSBHUEcgc2FpLCDEkcaw4bujYyBjaG8gbMOgIGLhu59pICVzLiIKIAotIzogY29tbWl0LmM6MTEyMQorIzogY29tbWl0LmM6MTE1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBhIEdQRyBzaWduYXR1cmUuIgogbXNnc3RyICJM4bqnbiBjaHV54buDbiBnaWFvICVzIGtow7RuZyBjw7MgY2jhu68ga8O9IEdQRy4iCiAKLSM6IGNvbW1pdC5jOjExMjQKKyM6IGNvbW1pdC5jOjExNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGdvb2QgR1BHIHNpZ25hdHVyZSBieSAlc1xuIgogbXNnc3RyICJM4bqnbiBjaHV54buDbiBnaWFvICVzIGPDsyBt4buZdCBjaOG7ryBrw70gR1BHIHThu5F0IGLhu59pICVzXG4iCiAKLSM6IGNvbW1pdC5jOjEzNzgKKyM6IGNvbW1pdC5jOjE0MTUKIG1zZ2lkICIiCiAiV2FybmluZzogY29tbWl0IG1lc3NhZ2UgZGlkIG5vdCBjb25mb3JtIHRvIFVURi04LlxuIgogIllvdSBtYXkgd2FudCB0byBhbWVuZCBpdCBhZnRlciBmaXhpbmcgdGhlIG1lc3NhZ2UsIG9yIHNldCB0aGUgY29uZmlnXG4iCkBAIC0xMzY0LDk2ICsxODI4LDI4OCBAQAogIkLhuqFuIGPDsyBs4bq9IG114buRbiB0dSBi4buVIG7DsyBzYXUga2hpIHPhu61hIGzhu51pIGNow7ogdGjDrWNoLCBob+G6t2MgbMOgIMSR4bq3dCBiaeG6v25cbiIKICJj4bqldSBow6xuaCBpMThuLmNvbW1pdGVuY29kaW5nIHRow6BuaCBi4bqjbmcgbcOjIG3DoCBk4buxIMOhbiBj4bunYSBi4bqhbiBtdeG7kW4gZMO5bmcuXG4iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEwOAotIywgYy1mb3JtYXQKLW1zZ2lkICJncmFwaCBmaWxlICVzIGlzIHRvbyBzbWFsbCIKLW1zZ3N0ciAidOG6rXAgdGluIMSR4buTIHRo4buLICVzIHF1w6Egbmjhu48iCisjOiBjb21taXQtZ3JhcGguYzoxMzAKK21zZ2lkICJjb21taXQtZ3JhcGggZmlsZSBpcyB0b28gc21hbGwiCittc2dzdHIgInThuq1wIHRpbiDEkeG7ky10aOG7iy1jw6FjLWzhuqduLWNodXnhu4NuLWdpYW8gcXXDoSBuaOG7jyIKIAotIzogY29tbWl0LWdyYXBoLmM6MTE1CisjOiBjb21taXQtZ3JhcGguYzoxOTUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZ3JhcGggc2lnbmF0dXJlICVYIGRvZXMgbm90IG1hdGNoIHNpZ25hdHVyZSAlWCIKLW1zZ3N0ciAiY2jhu68ga8O9IMSR4buTIGjhu41hICVYIGtow7RuZyBraOG7m3AgY2jhu68ga8O9ICVYIgorbXNnaWQgImNvbW1pdC1ncmFwaCBzaWduYXR1cmUgJVggZG9lcyBub3QgbWF0Y2ggc2lnbmF0dXJlICVYIgorbXNnc3RyICJjaOG7ryBrw70gxJHhu5MtdGjhu4stY8OhYy1s4bqnbi1jaHV54buDbi1naWFvICVYIGtow7RuZyBraOG7m3AgY2jhu68ga8O9ICVYIgogCi0jOiBjb21taXQtZ3JhcGguYzoxMjIKKyM6IGNvbW1pdC1ncmFwaC5jOjIwMgogIywgYy1mb3JtYXQKLW1zZ2lkICJncmFwaCB2ZXJzaW9uICVYIGRvZXMgbm90IG1hdGNoIHZlcnNpb24gJVgiCi1tc2dzdHIgInBoacOqbiBi4bqjbiDEkeG7kyBo4buNYSAlWCBraMO0bmcga2jhu5twIHBoacOqbiBi4bqjbiAlWCIKK21zZ2lkICJjb21taXQtZ3JhcGggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIgorbXNnc3RyICJwaGnDqm4gYuG6o24gxJHhu5MtdGjhu4stY8OhYy1s4bqnbi1jaHV54buDbi1naWFvICVYIGtow7RuZyBraOG7m3AgcGhpw6puIGLhuqNuICVYIgogCi0jOiBjb21taXQtZ3JhcGguYzoxMjkKKyM6IGNvbW1pdC1ncmFwaC5jOjIwOQogIywgYy1mb3JtYXQKLW1zZ2lkICJoYXNoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKLW1zZ3N0ciAicGhpw6puIGLhuqNuIGLEg20g4oCcJVjigJ0ga2jDtG5nIGPDsyBwaGnDqm4gYuG6o24ga2jhu5twICVYIgorbXNnaWQgImNvbW1pdC1ncmFwaCBoYXNoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKK21zZ3N0ciAicGhpw6puIGLhuqNuIMSR4buTLXRo4buLLWPDoWMtbOG6p24tY2h1eeG7g24tZ2lhbyAlWCBraMO0bmcga2jhu5twIHBoacOqbiBi4bqjbiAlWCIKIAotIzogY29tbWl0LWdyYXBoLmM6MTUzCisjOiBjb21taXQtZ3JhcGguYzoyMzIKK21zZ2lkICJjb21taXQtZ3JhcGggY2h1bmsgbG9va3VwIHRhYmxlIGVudHJ5IG1pc3Npbmc7IGZpbGUgbWF5IGJlIGluY29tcGxldGUiCittc2dzdHIgIiIKKyJi4bqjbmcgdMOsbSBraeG6v20gbeG6o25oIMSR4buTLXRo4buLLWPDoWMtbOG6p24tY2h1eeG7g24tZ2lhbyBjw7JuIHRoaeG6v3U7IHThuq1wIHRpbiBjw7MgdGjhu4Mgc+G6vSAiCisia2jDtG5nIGhvw6BuIHRoaeG7h24iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjI0MwogIywgYy1mb3JtYXQKLW1zZ2lkICJpbXByb3BlciBjaHVuayBvZmZzZXQgJTA4eCUwOHgiCi1tc2dzdHIgImLDuSBt4bqjbmgga2jDtG5nIMSRw7puZyBjaOG7lyAlMDh4JTA4eCIKK21zZ2lkICJjb21taXQtZ3JhcGggaW1wcm9wZXIgY2h1bmsgb2Zmc2V0ICUwOHglMDh4IgorbXNnc3RyICJiw7kgbeG6o25oIMSR4buTLXRo4buLLWPDoWMtbOG6p24tY2h1eeG7g24tZ2lhbyBraMO0bmcgxJHDum5nIGNo4buXICUwOHglMDh4IgogCi0jOiBjb21taXQtZ3JhcGguYzoxODkKKyM6IGNvbW1pdC1ncmFwaC5jOjI4NgogIywgYy1mb3JtYXQKLW1zZ2lkICJjaHVuayBpZCAlMDh4IGFwcGVhcnMgbXVsdGlwbGUgdGltZXMiCi1tc2dzdHIgIm3DoyBt4bqjbmggJTA4eCB4deG6pXQgaGnhu4duIG5oaeG7gXUgbOG6p24iCittc2dpZCAiY29tbWl0LWdyYXBoIGNodW5rIGlkICUwOHggYXBwZWFycyBtdWx0aXBsZSB0aW1lcyIKK21zZ3N0ciAibcOjIG3huqNuaCDEkeG7ky10aOG7iy1jw6FjLWzhuqduLWNodXnhu4NuLWdpYW8gJTA4eCB4deG6pXQgaGnhu4duIG5oaeG7gXUgbOG6p24iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjMwOAorIzogY29tbWl0LWdyYXBoLmM6MzUwCittc2dpZCAiY29tbWl0LWdyYXBoIGhhcyBubyBiYXNlIGdyYXBocyBjaHVuayIKK21zZ3N0ciAixJHhu5MtdGjhu4stY8OhYy1s4bqnbi1jaHV54buDbi1naWFvIGPDsyBraMO0bmcgY8OzIG3huqNuaCBjw6FjIMSR4buTIGjhu41hIGPGoSBz4bufIgorCisjOiBjb21taXQtZ3JhcGguYzozNjAKK21zZ2lkICJjb21taXQtZ3JhcGggY2hhaW4gZG9lcyBub3QgbWF0Y2giCittc2dzdHIgIm3Ds2MgeMOtY2ggxJHhu5MtdGjhu4stY8OhYy1s4bqnbi1jaHV54buDbi1naWFvIGtow7RuZyBraOG7m3AiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjQwNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdC1ncmFwaCBjaGFpbjogbGluZSAnJXMnIG5vdCBhIGhhc2giCittc2dzdHIgIiIKKyJtw7NjIHjDrWNoIMSR4buTLXRo4buLLWPDoWMtbOG6p24tY2h1eeG7g24tZ2lhbyBraMO0bmcgaOG7o3AgbOG7hzogZMOybmcgJyVzJyBraMO0bmcgcGjhuqNpIGzDoCAiCisibeG7mXQgbcOjIGLEg20iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjQzMworbXNnaWQgInVuYWJsZSB0byBmaW5kIGFsbCBjb21taXQtZ3JhcGggZmlsZXMiCittc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIHRo4bqleSB04bqldCBj4bqjIGPDoWMgdOG6rXAgdGluIMSR4buTLXRo4buLLWPDoWMtbOG6p24tY2h1eeG7g24tZ2lhbyIKKworIzogY29tbWl0LWdyYXBoLmM6NTY0IGNvbW1pdC1ncmFwaC5jOjYyNAorbXNnaWQgImludmFsaWQgY29tbWl0IHBvc2l0aW9uLiBjb21taXQtZ3JhcGggaXMgbGlrZWx5IGNvcnJ1cHQiCittc2dzdHIgIiIKKyJ24buLIHRyw60gbOG6p24gY2h1eeG7g24gZ2lhbyBraMO0bmcgaOG7o3AgbOG7hy4gxJHhu5MtdGjhu4stY8OhYy1s4bqnbi1jaHV54buDbi1naWFvIGPDsyB24bq7IG5oxrAgxJHDoyAiCisiYuG7iyBo4buPbmciCisKKyM6IGNvbW1pdC1ncmFwaC5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZmluZCBjb21taXQgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIHRo4bqleSBs4bqnbiBjaHV54buDbiBnaWFvICVzIgogCi0jOiBjb21taXQtZ3JhcGguYzo2MTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjUyCisjOiBjb21taXQtZ3JhcGguYzo4NTggYnVpbHRpbi9hbS5jOjEyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGzhuqduIGNodXnhu4NuIGdpYW8g4oCcJXPigJ0iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEwMTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBnZXQgdHlwZSBvZiBvYmplY3QgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSBraeG7g3UgY+G7p2EgxJHhu5FpIHTGsOG7o25nIOKAnCVz4oCdIgogCi0jOiBjb21taXQtZ3JhcGguYzo2NTEKLW1zZ2lkICJBbm5vdGF0aW5nIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgotbXNnc3RyICJEaeG7hW4gZ2nhuqNpIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyB0cm9uZyDEkeG7kyB0aOG7iyBs4bqnbiBjaHV54buDbiBnaWFvIgorIzogY29tbWl0LWdyYXBoLmM6MTA0OQorbXNnaWQgIkxvYWRpbmcga25vd24gY29tbWl0cyBpbiBjb21taXQgZ3JhcGgiCittc2dzdHIgIsSQYW5nIHThuqNpIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBjaMawYSBiaeG6v3QgdHJvbmcgxJHhu5MgdGjhu4sgbOG6p24gY2h1eeG7g24gZ2lhbyIKIAotIzogY29tbWl0LWdyYXBoLmM6NjkxCisjOiBjb21taXQtZ3JhcGguYzoxMDY2Cittc2dpZCAiRXhwYW5kaW5nIHJlYWNoYWJsZSBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAiIgorIk3hu58gcuG7mW5nIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBjw7MgdGjhu4MgdGnhur9wIGPhuq1uIMSRxrDhu6NjIHRyb25nIHRyb25nIMSR4buTIHRo4buLIGzhuqduICIKKyJjaHV54buDbiBnaWFvIgorCisjOiBjb21taXQtZ3JhcGguYzoxMDg1Cittc2dpZCAiQ2xlYXJpbmcgY29tbWl0IG1hcmtzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAixJBhbmcgZOG7jW4gZOG6uXAgY8OhYyDEkcOhbmggZOG6pXUgbOG6p24gY2h1eeG7g24gZ2lhbyB0cm9uZyDEkeG7kyB0aOG7iyBs4bqnbiBjaHV54buDbiBnaWFvIgorCisjOiBjb21taXQtZ3JhcGguYzoxMTA0CiBtc2dpZCAiQ29tcHV0aW5nIGNvbW1pdCBncmFwaCBnZW5lcmF0aW9uIG51bWJlcnMiCi1tc2dzdHIgIsSQYW5nIHTDrW5oIHRvw6FuIHPhu5EgdOG6oW8gc8ahIMSR4buTIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyIKK21zZ3N0ciAixJBhbmcgdMOtbmggdG/DoW4gc+G7kSB04bqhbyDEkeG7kyB0aOG7iyBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjgwMyBjb21taXQtZ3JhcGguYzo4MjYgY29tbWl0LWdyYXBoLmM6ODUyCi1tc2dpZCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGgiCi1tc2dzdHIgIsSQYW5nIHTDrG0gY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGNobyDEkeG7kyB0aOG7iyBs4bqnbiBjaHV54buDbiBnaWFvIgorIzogY29tbWl0LWdyYXBoLmM6MTE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBpbiAlZCBwYWNrIgorbXNnaWRfcGx1cmFsICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBpbiAlZCBwYWNrcyIKK21zZ3N0clswXSAiIgorIsSQYW5nIHTDrG0gY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGNobyDEkeG7kyB0aOG7iyBs4bqnbiBjaHV54buDbiBnaWFvIHRyb25nICVkIGfDs2kiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjgxMgorIzogY29tbWl0LWdyYXBoLmM6MTE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBhZGRpbmcgcGFjayAlcyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kgdGjDqm0gZ8OzaSAlcyIKIAotIzogY29tbWl0LWdyYXBoLmM6ODE0CisjOiBjb21taXQtZ3JhcGguYzoxMTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIG9wZW5pbmcgaW5kZXggZm9yICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbeG7nyBt4bulYyBs4bulYyBjaG8g4oCcJXPigJ0iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjg2OAorIzogY29tbWl0LWdyYXBoLmM6MTIyMAogIywgYy1mb3JtYXQKLW1zZ2lkICJ0aGUgY29tbWl0IGdyYXBoIGZvcm1hdCBjYW5ub3Qgd3JpdGUgJWQgY29tbWl0cyIKLW1zZ3N0ciAixJHhu4tuaCBk4bqhbmcgxJHhu5MgaOG7jWEgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGtow7RuZyB0aOG7gyBnaGkgJWQgbOG6p24gY2h1eeG7g24gZ2lhbyIKK21zZ2lkICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBmcm9tICVkIHJlZiIKK21zZ2lkX3BsdXJhbCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGggZnJvbSAlZCByZWZzIgorbXNnc3RyWzBdICIiCisixJBhbmcgdMOsbSBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gY2hvIMSR4buTIHRo4buLIGzhuqduIGNodXnhu4NuIGdpYW8gdOG7qyAlZCB0aGFtIGNoaeG6v3UiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjg5NQotbXNnaWQgInRvbyBtYW55IGNvbW1pdHMgdG8gd3JpdGUgZ3JhcGgiCi1tc2dzdHIgImPDsyBxdcOhIG5oaeG7gXUgbOG6p24gY2h1eeG7g24gZ2lhbyDEkeG7gyBnaGkgxJHhu5MgdGjhu4siCisjOiBjb21taXQtZ3JhcGguYzoxMjQwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29tbWl0IG9iamVjdCBpZDogJXMiCittc2dzdHIgIm3DoyBz4buRIMSR4buRaSB0xrDhu6NuZyBs4bqnbiBjaHV54buDbiBnaWFvIGtow7RuZyBo4bujcCBs4buHOiAlcyIKIAotIzogY29tbWl0LWdyYXBoLmM6OTAyIG1pZHguYzo3NjkKKyM6IGNvbW1pdC1ncmFwaC5jOjEyNTUKK21zZ2lkICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBhbW9uZyBwYWNrZWQgb2JqZWN0cyIKK21zZ3N0ciAiIgorIsSQYW5nIHTDrG0gY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGNobyDEkeG7kyB0aOG7iyBs4bqnbiBjaHV54buDbiBnaWFvIHRyb25nIHPhu5EgY8OhYyDEkeG7kWkgIgorInTGsOG7o25nIMSRw6MgxJHDs25nIGfDs2kiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEyNzAKK21zZ2lkICJDb3VudGluZyBkaXN0aW5jdCBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAixJBhbmcgxJHhur9tIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBraMOhYyBuaGF1IHRyb25nIMSR4buTIHRo4buLIGzhuqduIGNodXnhu4NuIGdpYW8iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEzMDAKK21zZ2lkICJGaW5kaW5nIGV4dHJhIGVkZ2VzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAixJBhbmcgdMOsbSBjw6FjIGPhuqFuaCBt4bufIHThu5luZyB0cm9uZyDEkeG7kyB0aOG7iyBs4bqnbiBjaHV54buDbiBnaWFvIgorCisjOiBjb21taXQtZ3JhcGguYzoxMzQ2Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvcnJlY3QgbnVtYmVyIG9mIGJhc2UgZ3JhcGggaWRzIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZ2hpIHPhu5EgxJHDum5nIGPhu6dhIG3DoyDEkeG7kyBo4buNYSBjxqEgc+G7nyIKKworIzogY29tbWl0LWdyYXBoLmM6MTM3OSBtaWR4LmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbGVhZGluZyBkaXJlY3RvcmllcyBvZiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIGPDoWMgdGjGsCBt4bulYyBk4bqrbiDEkeG6p3UgY+G7p2Eg4oCcJXPigJ0iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEwMDIKKyM6IGNvbW1pdC1ncmFwaC5jOjEzOTEgYnVpbHRpbi9pbmRleC1wYWNrLmM6MzA2IGJ1aWx0aW4vcmVwYWNrLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIOKAnCVz4oCdIgorCisjOiBjb21taXQtZ3JhcGguYzoxNDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRpbmcgb3V0IGNvbW1pdCBncmFwaCBpbiAlZCBwYXNzIgorbXNnaWRfcGx1cmFsICJXcml0aW5nIG91dCBjb21taXQgZ3JhcGggaW4gJWQgcGFzc2VzIgorbXNnc3RyWzBdICLEkGFuZyBnaGkgcmEgxJHhu5MgdGjhu4sgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIHRyb25nIGzhuqduICVkIgorCisjOiBjb21taXQtZ3JhcGguYzoxNDkyCittc2dpZCAidW5hYmxlIHRvIG9wZW4gY29tbWl0LWdyYXBoIGNoYWluIGZpbGUiCittc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIHThuq1wIHRpbiBt4bqvdCB4w61jaCDEkeG7kyB0aOG7iyBjaHV54buDbiBnaWFvIgorCisjOiBjb21taXQtZ3JhcGguYzoxNTA0Cittc2dpZCAiZmFpbGVkIHRvIHJlbmFtZSBiYXNlIGNvbW1pdC1ncmFwaCBmaWxlIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu5VpIHTDqm4gdOG6rXAgdGluIMSR4buTLXRo4buLLWPDoWMtbOG6p24tY2h1eeG7g24tZ2lhbyIKKworIzogY29tbWl0LWdyYXBoLmM6MTUyNAorbXNnaWQgImZhaWxlZCB0byByZW5hbWUgdGVtcG9yYXJ5IGNvbW1pdC1ncmFwaCBmaWxlIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu5VpIHTDqm4gdOG6rXAgdGluIMSR4buTLXRo4buLLWPDoWMtbOG6p24tY2h1eeG7g24tZ2lhbyB04bqhbSB0aOG7nWkiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE2MzUKK21zZ2lkICJTY2FubmluZyBtZXJnZWQgY29tbWl0cyIKK21zZ3N0ciAixJBhbmcgcXXDqXQgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIMSRw6MgaMOyYSB0cuG7mW4iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBkdXBsaWNhdGUgY29tbWl0IGlkICVzIgorbXNnc3RyICJn4bq3cCBtw6Mgc+G7kSB0w61jaCBs4bqnbiBjaHV54buDbiBnaWFvIGLhu4sgdHLDuW5nIGzhurdwIOKAnCVz4oCdIgorCisjOiBjb21taXQtZ3JhcGguYzoxNjcwCittc2dpZCAiTWVyZ2luZyBjb21taXQtZ3JhcGgiCittc2dzdHIgIsSQYW5nIGjDsmEgdHLhu5luIMSR4buTLXRo4buLLWPDoWMtbOG6p24tY2h1eeG7g24tZ2lhbyIKKworIzogY29tbWl0LWdyYXBoLmM6MTg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgY29tbWl0IGdyYXBoIGZvcm1hdCBjYW5ub3Qgd3JpdGUgJWQgY29tbWl0cyIKK21zZ3N0ciAixJHhu4tuaCBk4bqhbmcgxJHhu5MgaOG7jWEgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGtow7RuZyB0aOG7gyBnaGkgJWQgbOG6p24gY2h1eeG7g24gZ2lhbyIKKworIzogY29tbWl0LWdyYXBoLmM6MTg3MQorbXNnaWQgInRvbyBtYW55IGNvbW1pdHMgdG8gd3JpdGUgZ3JhcGgiCittc2dzdHIgImPDsyBxdcOhIG5oaeG7gXUgbOG6p24gY2h1eeG7g24gZ2lhbyDEkeG7gyBnaGkgxJHhu5MgdGjhu4siCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE5NjEKIG1zZ2lkICJ0aGUgY29tbWl0LWdyYXBoIGZpbGUgaGFzIGluY29ycmVjdCBjaGVja3N1bSBhbmQgaXMgbGlrZWx5IGNvcnJ1cHQiCiBtc2dzdHIgIiIKLSJ04bqtcCB0aW4gc8ahIMSR4buTIGNodXnhu4NuIGdpYW8gY8OzIHThu5VuZyBraeG7g20ga2jDtG5nIMSRw7puZyB2w6AgY8OzIHbhursgbmjGsCBsw6AgxJHDoyBo4buPbmciCisidOG6rXAgdGluIMSR4buTLXRo4buLLWPDoWMtbOG6p24tY2h1eeG7g24tZ2lhbyBjw7MgdOG7lW5nIGtp4buDbSBraMO0bmcgxJHDum5nIHbDoCBjw7MgduG6uyBuaMawIGzDoCAiCisixJHDoyBo4buPbmciCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEwNDYKKyM6IGNvbW1pdC1ncmFwaC5jOjE5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIGhhcyBpbmNvcnJlY3QgT0lEIG9yZGVyOiAlcyB0aGVuICVzIgorbXNnc3RyICLEkeG7ky10aOG7iy1jw6FjLWzhuqduLWNodXnhu4NuLWdpYW8gY8OzIHRo4bupIHThu7EgT0lEIGtow7RuZyDEkcO6bmc6ICVzIHNhdSAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTk4MSBjb21taXQtZ3JhcGguYzoxOTk2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBoYXMgaW5jb3JyZWN0IGZhbm91dCB2YWx1ZTogZmFub3V0WyVkXSA9ICV1ICE9ICV1IgorbXNnc3RyICIiCisixJHhu5MtdGjhu4stY8OhYy1s4bqnbi1jaHV54buDbi1naWFvIGPDsyBnacOhIHRy4buLIGZhbm91dCBraMO0bmcgxJHDum5nOiBmYW5vdXRbJWRdID0gJXUgIT0gIgorIiV1IgorCisjOiBjb21taXQtZ3JhcGguYzoxOTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb21taXQgJXMgZnJvbSBjb21taXQtZ3JhcGgiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBs4bqnbiBjaHV54buDbiBnaWFvIHThu6sgJXMgxJHhu5MtdGjhu4stY8OhYy1s4bqnbi1jaHV54buDbi1naWFvIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDA2CiBtc2dpZCAiVmVyaWZ5aW5nIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgogbXNnc3RyICLEkGFuZyB0aOG6qW0gdHJhIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyB0cm9uZyDEkeG7kyB0aOG7iyBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBjb21wYXQvb2JzdGFjay5jOjQwNSBjb21wYXQvb2JzdGFjay5jOjQwNworIzogY29tbWl0LWdyYXBoLmM6MjAyMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29tbWl0ICVzIGZyb20gb2JqZWN0IGRhdGFiYXNlIGZvciBjb21taXQtZ3JhcGgiCittc2dzdHIgIiIKKyJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggbOG6p24gY2h1eeG7g24gZ2lhbyAlcyB04burIGPGoSBz4bufIGThu68gbGnhu4d1IMSR4buRaSB0xrDhu6NuZyBjaG8gxJHhu5MgIgorInRo4buLIGzhuqduIGNodXnhu4NuIGdpYW8iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicm9vdCB0cmVlIE9JRCBmb3IgY29tbWl0ICVzIGluIGNvbW1pdC1ncmFwaCBpcyAlcyAhPSAlcyIKK21zZ3N0ciAiIgorIk9JRCBjw6J5IGfhu5FjIGNobyBs4bqnbiBjaHV54buDbiBnaWFvICVzIHRyb25nIMSR4buTLXRo4buLLWPDoWMtbOG6p24tY2h1eeG7g24tZ2lhbyBsw6AgJXMgIT0gIgorIiVzIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBwYXJlbnQgbGlzdCBmb3IgY29tbWl0ICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICIiCisiZGFuaCBzw6FjaCBjaGEgbeG6uSDEkeG7ky10aOG7iy1jw6FjLWzhuqduLWNodXnhu4NuLWdpYW8gY2hvIGzhuqduIGNodXnhu4NuIGdpYW8gJXMgbMOgIHF1w6EgZMOgaSIKKworIzogY29tbWl0LWdyYXBoLmM6MjA0NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggcGFyZW50IGZvciAlcyBpcyAlcyAhPSAlcyIKK21zZ3N0ciAiY2hhIG3hurkgxJHhu5MtdGjhu4stY8OhYy1s4bqnbi1jaHV54buDbi1naWFvIGNobyAlcyBsw6AgJXMgIT0gJXMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIHBhcmVudCBsaXN0IGZvciBjb21taXQgJXMgdGVybWluYXRlcyBlYXJseSIKK21zZ3N0ciAiIgorImRhbmggc8OhY2ggY2hhIG3hurkgxJHhu5MtdGjhu4stY8OhYy1s4bqnbi1jaHV54buDbi1naWFvIGNobyBs4bqnbiBjaHV54buDbiBnaWFvICVzIGLhu4sgY2jhuqVtICIKKyJk4bupdCBxdcOhIHPhu5ttIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb21taXQtZ3JhcGggaGFzIGdlbmVyYXRpb24gbnVtYmVyIHplcm8gZm9yIGNvbW1pdCAlcywgYnV0IG5vbi16ZXJvIGVsc2V3aGVyZSIKK21zZ3N0ciAiIgorIsSR4buTLXRo4buLLWPDoWMtbOG6p24tY2h1eeG7g24tZ2lhbyBjw7MgY29uIHPhu5Ega2jDtG5nIGzhuqduIHThuqFvIGNobyBs4bqnbiBjaHV54buDbiBnaWFvICVzLCAiCisibmjGsG5nIGtow7RuZyBwaOG6o2kgc+G7kSBraMO0bmcg4bufIGNo4buXIGtow6FjIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb21taXQtZ3JhcGggaGFzIG5vbi16ZXJvIGdlbmVyYXRpb24gbnVtYmVyIGZvciBjb21taXQgJXMsIGJ1dCB6ZXJvIGVsc2V3aGVyZSIKK21zZ3N0ciAiIgorIsSR4buTLXRo4buLLWPDoWMtbOG6p24tY2h1eeG7g24tZ2lhbyBjw7MgY29uIHPhu5Ega2jDtG5nIHBo4bqjaSBraMO0bmcgbOG6p24gdOG6oW8gY2hvIGzhuqduIGNodXnhu4NuICIKKyJnaWFvICVzLCBuaMawbmcgc+G7kSBraMO0bmcg4bufIGNo4buXIGtow6FjIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBnZW5lcmF0aW9uIGZvciBjb21taXQgJXMgaXMgJXUgIT0gJXUiCittc2dzdHIgInThuqFvIMSR4buTLXRo4buLLWPDoWMtbOG6p24tY2h1eeG7g24tZ2lhbyBjaG8gbOG6p24gY2h1eeG7g24gZ2lhbyAlcyBsw6AgJXUgIT0gJXUiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0IGRhdGUgZm9yIGNvbW1pdCAlcyBpbiBjb21taXQtZ3JhcGggaXMgJTxQUkl1TUFYPiAhPSAlPFBSSXVNQVg+IgorbXNnc3RyICIiCisibmfDoHkgY2h1eeG7g24gZ2lhbyBjaG8gbOG6p24gY2h1eeG7g24gZ2lhbyAlcyB0cm9uZyDEkeG7ky10aOG7iy1jw6FjLWzhuqduLWNodXnhu4NuLWdpYW8gbMOgICIKKyIlPFBSSXVNQVg+ICE9ICU8UFJJdU1BWD4iCisKKyM6IGNvbXBhdC9vYnN0YWNrLmM6NDA2IGNvbXBhdC9vYnN0YWNrLmM6NDA4CiBtc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKIG1zZ3N0ciAiaOG6v3QgYuG7mSBuaOG7myIKIAotIzogY29uZmlnLmM6MTIzCisjOiBjb25maWcuYzoxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4Y2VlZGVkIG1heGltdW0gaW5jbHVkZSBkZXB0aCAoJWQpIHdoaWxlIGluY2x1ZGluZ1xuIgpAQCAtMTQ2OCwyOTcgKzIxMjQsMjkxIEBACiAiXHQlc1xuIgogIk5ndXnDqm4gbmjDom4gY8OzIHRo4buDIGzDoCBn4buTbSBxdeG6qW4gdsOybmcuIgogCi0jOiBjb25maWcuYzoxMzkKKyM6IGNvbmZpZy5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZXhwYW5kIGluY2x1ZGUgcGF0aCAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4Mga2hhaSB0cmnhu4NuIMSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSIKIAotIzogY29uZmlnLmM6MTUwCisjOiBjb25maWcuYzoxNTEKIG1zZ2lkICJyZWxhdGl2ZSBjb25maWcgaW5jbHVkZXMgbXVzdCBjb21lIGZyb20gZmlsZXMiCiBtc2dzdHIgImPDoWMgYmFvIGfhu5NtIGPhuqV1IGjDrG5oIGxpw6puIHF1YW4gcGjhuqNpIMSR4bq/biB04burIGPDoWMgdOG6rXAgdGluIgogCi0jOiBjb25maWcuYzoxOTAKKyM6IGNvbmZpZy5jOjE5NwogbXNnaWQgInJlbGF0aXZlIGNvbmZpZyBpbmNsdWRlIGNvbmRpdGlvbmFscyBtdXN0IGNvbWUgZnJvbSBmaWxlcyIKIG1zZ3N0ciAiY8OhYyDEkWnhu4F1IGtp4buHbiBiYW8gZ+G7k20gY+G6pXUgaMOsbmggbGnDqm4gcXVhbiBwaOG6o2kgxJHhur9uIHThu6sgY8OhYyB04bqtcCB0aW4iCiAKLSM6IGNvbmZpZy5jOjM0OAorIzogY29uZmlnLmM6Mzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImtleSBkb2VzIG5vdCBjb250YWluIGEgc2VjdGlvbjogJXMiCiBtc2dzdHIgImtow7NhIGtow7RuZyBjaOG7qWEgbeG7mXQgcGjhuqduOiAlcyIKIAotIzogY29uZmlnLmM6MzU0CisjOiBjb25maWcuYzozODIKICMsIGMtZm9ybWF0CiBtc2dpZCAia2V5IGRvZXMgbm90IGNvbnRhaW4gdmFyaWFibGUgbmFtZTogJXMiCiBtc2dzdHIgImtow7NhIGtow7RuZyBjaOG7qWEgYuG6pXQga+G7syBt4buZdCB0w6puIGJp4bq/biBuw6BvOiAlcyIKIAotIzogY29uZmlnLmM6Mzc4IHNlcXVlbmNlci5jOjIyOTYKKyM6IGNvbmZpZy5jOjQwNiBzZXF1ZW5jZXIuYzoyNTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQga2V5OiAlcyIKIG1zZ3N0ciAia2jDs2Ega2jDtG5nIMSRw7puZzogJXMiCiAKLSM6IGNvbmZpZy5jOjM4NAorIzogY29uZmlnLmM6NDEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQga2V5IChuZXdsaW5lKTogJXMiCiBtc2dzdHIgImtow7NhIGtow7RuZyBo4bujcCBs4buHIChkw7JuZyBt4bubaSk6ICVzIgogCi0jOiBjb25maWcuYzo0MjAgY29uZmlnLmM6NDMyCisjOiBjb25maWcuYzo0NDggY29uZmlnLmM6NDYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJvZ3VzIGNvbmZpZyBwYXJhbWV0ZXI6ICVzIgogbXNnc3RyICJ0aGFtIHPhu5EgY+G6pXUgaMOsbmgga2jDtG5nIGPDsyB0aOG7sWM6ICVzIgogCi0jOiBjb25maWcuYzo0NjcKKyM6IGNvbmZpZy5jOjQ5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJib2d1cyBmb3JtYXQgaW4gJXMiCiBtc2dzdHIgIsSR4buLbmggZOG6oW5nIGtow7RuZyBjw7MgdGjhu7FjIHRyb25nICVzIgogCi0jOiBjb25maWcuYzo3OTMKKyM6IGNvbmZpZy5jOjgyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gYmxvYiAlcyIKIG1zZ3N0ciAidOG6rXAgdGluIGPhuqV1IGjDrG5oIHNhaSB04bqhaSBkw7JuZyAlZCB0cm9uZyBibG9iICVzIgogCi0jOiBjb25maWcuYzo3OTcKKyM6IGNvbmZpZy5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gZmlsZSAlcyIKIG1zZ3N0ciAiY+G6pXUgaMOsbmggc2FpIHThuqFpIGTDsm5nICVkIHRyb25nIHThuq1wIHRpbiAlcyIKIAotIzogY29uZmlnLmM6ODAxCisjOiBjb25maWcuYzo4MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJj4bqldSBow6xuaCBzYWkgdOG6oWkgZMOybmcgJWQgdHJvbmcgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiIKIAotIzogY29uZmlnLmM6ODA1CisjOiBjb25maWcuYzo4MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN1Ym1vZHVsZS1ibG9iICVzIgogbXNnc3RyICJj4bqldSBow6xuaCBzYWkgdOG6oWkgZMOybmcgJWQgdHJvbmcgYmxvYi1tw7QtxJF1bi1jb24gJXMiCiAKLSM6IGNvbmZpZy5jOjgwOQorIzogY29uZmlnLmM6ODM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBjb21tYW5kIGxpbmUgJXMiCiBtc2dzdHIgImPhuqV1IGjDrG5oIHNhaSB04bqhaSBkw7JuZyAlZCB0cm9uZyBkw7JuZyBs4buHbmggJXMiCiAKLSM6IGNvbmZpZy5jOjgxMworIzogY29uZmlnLmM6ODQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiAlcyIKIG1zZ3N0ciAiY+G6pXUgaMOsbmggc2FpIHThuqFpIGTDsm5nICVkIHRyb25nICVzIgogCi0jOiBjb25maWcuYzo5NTIKKyM6IGNvbmZpZy5jOjk3OAogbXNnaWQgIm91dCBvZiByYW5nZSIKIG1zZ3N0ciAibuG6sW0gbmdvw6BpIHBo4bqhbSB2aSIKIAotIzogY29uZmlnLmM6OTUyCisjOiBjb25maWcuYzo5NzgKIG1zZ2lkICJpbnZhbGlkIHVuaXQiCiBtc2dzdHIgIsSRxqFuIHbhu4sga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IGNvbmZpZy5jOjk1OAorIzogY29uZmlnLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnOiAlcyIKIG1zZ3N0ciAic2FpIGdpw6EgdHLhu4sgYuG6sW5nIHPhu5EgY+G7p2EgY+G6pXUgaMOsbmgg4oCcJXPigJ0gY2hvIOKAnCVz4oCdOiAlcyIKIAotIzogY29uZmlnLmM6OTYzCisjOiBjb25maWcuYzo5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gYmxvYiAlczogJXMiCiBtc2dzdHIgInNhaSBnacOhIHRy4buLIGLhurFuZyBz4buRIGPhu6dhIGPhuqV1IGjDrG5oIOKAnCVz4oCdIGNobyDigJwlc+KAnSB0cm9uZyBibG9iICVzOiAlcyIKIAotIzogY29uZmlnLmM6OTY2CisjOiBjb25maWcuYzoxMDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGZpbGUgJXM6ICVzIgogbXNnc3RyICJzYWkgZ2nDoSB0cuG7iyBi4bqxbmcgc+G7kSBj4bunYSBj4bqldSBow6xuaCDigJwlc+KAnSBjaG8g4oCcJXPigJ0gdHJvbmcgdOG6rXAgdGluICVzOiAlcyIKIAotIzogY29uZmlnLmM6OTY5CisjOiBjb25maWcuYzoxMDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiAlcyIKIG1zZ3N0ciAiIgogInNhaSBnacOhIHRy4buLIGLhurFuZyBz4buRIGPhu6dhIGPhuqV1IGjDrG5oIOKAnCVz4oCdIGNobyDigJwlc+KAnSB0cm9uZyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluOiAlcyIKIAotIzogY29uZmlnLmM6OTcyCisjOiBjb25maWcuYzoxMDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN1Ym1vZHVsZS1ibG9iICVzOiAlcyIKIG1zZ3N0ciAiIgogInNhaSBnacOhIHRy4buLIGLhurFuZyBz4buRIGPhu6dhIGPhuqV1IGjDrG5oIOKAnCVz4oCdIGNobyDigJwlc+KAnSB0cm9uZyBzdWJtb2R1bGUtYmxvYiAlczogJXMiCiAKLSM6IGNvbmZpZy5jOjk3NQorIzogY29uZmlnLmM6MTAxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBjb21tYW5kIGxpbmUgJXM6ICVzIgogbXNnc3RyICJzYWkgZ2nDoSB0cuG7iyBi4bqxbmcgc+G7kSBj4bunYSBj4bqldSBow6xuaCDigJwlc+KAnSBjaG8g4oCcJXPigJ0gdHJvbmcgZMOybmcgbOG7h25oICVzOiAlcyIKIAotIzogY29uZmlnLmM6OTc4CisjOiBjb25maWcuYzoxMDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzOiAlcyIKIG1zZ3N0ciAic2FpIGdpw6EgdHLhu4sgYuG6sW5nIHPhu5EgY+G7p2EgY+G6pXUgaMOsbmgg4oCcJXPigJ0gY2hvIOKAnCVz4oCdIHRyb25nICVzOiAlcyIKIAotIzogY29uZmlnLmM6MTA3MworIzogY29uZmlnLmM6MTEwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhwYW5kIHVzZXIgZGlyIGluOiAnJXMnIgogbXNnc3RyICJn4bq3cCBs4buXaSBt4bufIHLhu5luZyB0aMawIG3hu6VjIG5nxrDhu51pIGTDuW5nIHRyb25nOiDigJwlc+KAnSIKIAotIzogY29uZmlnLmM6MTA4MgorIzogY29uZmlnLmM6MTExNwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGZvciAnJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAi4oCcJXPigJ0gZMOgbmggY2hvIOKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbMOgIGThuqV1IHbhur90IHRo4budaSBnaWFuIGjhu6NwIGzhu4ciCiAKLSM6IGNvbmZpZy5jOjExNzMKKyM6IGNvbmZpZy5jOjEyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWJicmV2IGxlbmd0aCBvdXQgb2YgcmFuZ2U6ICVkIgogbXNnc3RyICJjaGnhu4F1IGTDoGkgYWJicmV2IG7hurFtIG5nb8OgaSBwaOG6oW0gdmk6ICVkIgogCi0jOiBjb25maWcuYzoxMTg3IGNvbmZpZy5jOjExOTgKKyM6IGNvbmZpZy5jOjEyMjIgY29uZmlnLmM6MTIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgemxpYiBjb21wcmVzc2lvbiBsZXZlbCAlZCIKIG1zZ3N0ciAibeG7qWMgbsOpbiB6bGliICVkIGzDoCBzYWkiCiAKLSM6IGNvbmZpZy5jOjEyOTAKKyM6IGNvbmZpZy5jOjEzMjUKIG1zZ2lkICJjb3JlLmNvbW1lbnRDaGFyIHNob3VsZCBvbmx5IGJlIG9uZSBjaGFyYWN0ZXIiCiBtc2dzdHIgImNvcmUuY29tbWVudENoYXIgY2jhu4kgxJHGsOG7o2MgY8OzIG3hu5l0IGvDvSB04buxIgogCi0jOiBjb25maWcuYzoxMzIzCisjOiBjb25maWcuYzoxMzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbW9kZSBmb3Igb2JqZWN0IGNyZWF0aW9uOiAlcyIKIG1zZ3N0ciAiY2jhur8gxJHhu5kga2jDtG5nIGjhu6NwIGzhu4cgxJHhu5FpIHbhu5tpIHZp4buHYyB04bqhbyDEkeG7kWkgdMaw4bujbmc6ICVzIgogCi0jOiBjb25maWcuYzoxMzk1CisjOiBjb25maWcuYzoxNDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCB2YWx1ZSBmb3IgJXMiCiBtc2dzdHIgImdpw6EgdHLhu4sgY2hvICVzIHNhaSBk4bqhbmciCiAKLSM6IGNvbmZpZy5jOjE0MjEKKyM6IGNvbmZpZy5jOjE0NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgImdpw6EgdHLhu4sgY2hvICVzIHNhaSBk4bqhbmc6ICVzIgogCi0jOiBjb25maWcuYzoxNDIyCisjOiBjb25maWcuYzoxNDU3CiBtc2dpZCAibXVzdCBiZSBvbmUgb2Ygbm90aGluZywgbWF0Y2hpbmcsIHNpbXBsZSwgdXBzdHJlYW0gb3IgY3VycmVudCIKIG1zZ3N0ciAicGjhuqNpIGzDoCBt4buZdCB0cm9uZyBz4buRIG5vdGhpbmcsIG1hdGNoaW5nLCBzaW1wbGUsIHVwc3RyZWFtIGhheSBjdXJyZW50IgogCi0jOiBjb25maWcuYzoxNDgxIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM5MQorIzogY29uZmlnLmM6MTUxOCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2sgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgIm3hu6ljIG7DqW4gZ8OzaSAlZCBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogY29uZmlnLmM6MTYwMgorIzogY29uZmlnLmM6MTYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbG9hZCBjb25maWcgYmxvYiBvYmplY3QgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqNpIMSR4buRaSB0xrDhu6NuZyBibG9iIGPhuqV1IGjDrG5oIOKAnCVz4oCdIgogCi0jOiBjb25maWcuYzoxNjA1CisjOiBjb25maWcuYzoxNjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSAnJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgYmxvYiIKIG1zZ3N0ciAidGhhbSBjaGnhur91IOKAnCVz4oCdIGtow7RuZyBjaOG7iSDEkeG6v24gbeG7mXQgYmxvYiBuw6BvIGPhuqMiCiAKLSM6IGNvbmZpZy5jOjE2MjIKKyM6IGNvbmZpZy5jOjE2NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgY29uZmlnIGJsb2IgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIGdp4bqjaSDEkWnhu4NtIHjDqXQgZHV54buHdCDigJwlc+KAnSIKIAotIzogY29uZmlnLmM6MTY1MgorIzogY29uZmlnLmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBjw7ogcGjDoXAgJXMiCiAKLSM6IGNvbmZpZy5jOjE3MDUKKyM6IGNvbmZpZy5jOjE3NDUKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGPhuqV1IGjDrG5oIGTDsm5nIGzhu4duaCIKIAotIzogY29uZmlnLmM6MjAzNworIzogY29uZmlnLmM6MjA5NgogbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKIG1zZ3N0ciAixJHDoyBjw7MgbOG7l2kgY2jGsGEgYmnhur90IHjhuqN5IHJhIHRyb25nIGtoaSDEkeG7jWMgY8OhYyB04bqtcCB0aW4gY+G6pXUgaMOsbmgiCiAKLSM6IGNvbmZpZy5jOjIyMDcKKyM6IGNvbmZpZy5jOjIyNjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCAlczogJyVzJyIKIG1zZ3N0ciAiJXMga2jDtG5nIGjhu6NwIGzhu4c6IOKAnCVz4oCdIgogCi0jOiBjb25maWcuYzoyMjUwCi0jLCBjLWZvcm1hdAotbXNnaWQgInVua25vd24gY29yZS51bnRyYWNrZWRDYWNoZSB2YWx1ZSAnJXMnOyB1c2luZyAna2VlcCcgZGVmYXVsdCB2YWx1ZSIKLW1zZ3N0ciAiIgotImtow7RuZyBoaeG7g3UgZ2nDoSB0cuG7iyBjb3JlLnVudHJhY2tlZENhY2hlIOKAnCVz4oCdOyBkw7luZyBnacOhIHRy4buLIG3hurdjIMSR4buLbmgg4oCca2VlcOKAnSIKLQotIzogY29uZmlnLmM6MjI3NgorIzogY29uZmlnLmM6MjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2UgdmFsdWUgJyVkJyBzaG91bGQgYmUgYmV0d2VlbiAwIGFuZCAxMDAiCiBtc2dzdHIgImdpw6EgdHLhu4sgc3BsaXRJbmRleC5tYXhQZXJjZW50Q2hhbmdlIOKAnCVk4oCdIHBo4bqjaSBu4bqxbSBnaeG7r2EgMCB2w6AgMTAwIgogCi0jOiBjb25maWcuYzoyMzIyCisjOiBjb25maWcuYzoyMzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAnJXMnIGZyb20gY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIOKAnCVz4oCdIHThu6sgY+G6pXUgaMOsbmggZMOybmcgbOG7h25oIgogCi0jOiBjb25maWcuYzoyMzI0CisjOiBjb25maWcuYzoyMzU5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgdmFyaWFibGUgJyVzJyBpbiBmaWxlICclcycgYXQgbGluZSAlZCIKIG1zZ3N0ciAic2FpIGJp4bq/biBj4bqldSBow6xuaCDigJwlc+KAnSB0cm9uZyB04bqtcCB0aW4g4oCcJXPigJ0gdOG6oWkgZMOybmcgJWQiCiAKLSM6IGNvbmZpZy5jOjI0MDUKKyM6IGNvbmZpZy5jOjI0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzZWN0aW9uIG5hbWUgJyVzJyIKIG1zZ3N0ciAidMOqbiBj4bunYSBwaOG6p24ga2jDtG5nIGjhu6NwIGzhu4cg4oCcJXPigJ0iCiAKLSM6IGNvbmZpZy5jOjI0MzcKKyM6IGNvbmZpZy5jOjI0NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIG11bHRpcGxlIHZhbHVlcyIKIG1zZ3N0ciAiJXMgY8OzIMSRYSBnacOhIHRy4buLIgogCi0jOiBjb25maWcuYzoyNDY2CisjOiBjb25maWcuYzoyNTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB3cml0ZSBuZXcgY29uZmlndXJhdGlvbiBmaWxlICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZ2hpIHThuq1wIHRpbiBj4bqldSBow6xuaCDigJwlc+KAnSIKIAotIzogY29uZmlnLmM6MjcxNyBjb25maWcuYzozMDQxCisjOiBjb25maWcuYzoyNzUzIGNvbmZpZy5jOjMwNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvY2sgY29uZmlnIGZpbGUgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBraMOzYSB04bqtcCB0aW4gY+G6pXUgaMOsbmggJXMiCiAKLSM6IGNvbmZpZy5jOjI3MjgKKyM6IGNvbmZpZy5jOjI3NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAib3BlbmluZyAlcyIKIG1zZ3N0ciAixJFhbmcgbeG7nyDigJwlc+KAnSIKIAotIzogY29uZmlnLmM6Mjc2MyBidWlsdGluL2NvbmZpZy5jOjMyNworIzogY29uZmlnLmM6Mjc5OSBidWlsdGluL2NvbmZpZy5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHBhdHRlcm46ICVzIgogbXNnc3RyICJt4bqrdSBraMO0bmcgaOG7o3AgbOG7hzogJXMiCiAKLSM6IGNvbmZpZy5jOjI3ODgKKyM6IGNvbmZpZy5jOjI4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb25maWcgZmlsZSAlcyIKIG1zZ3N0ciAidOG6rXAgdGluIGPhuqV1IGjDrG5oIOKAnCVz4oCdIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBjb25maWcuYzoyODAxIGNvbmZpZy5jOjMwNTQKKyM6IGNvbmZpZy5jOjI4MzcgY29uZmlnLmM6MzA5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmc3RhdCBvbiAlcyBmYWlsZWQiCiBtc2dzdHIgImZzdGF0IHRyw6puICVzIGfhurdwIGzhu5dpIgogCi0jOiBjb25maWcuYzoyODEyCisjOiBjb25maWcuYzoyODQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBtbWFwICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBtbWFwIOKAnCVz4oCdIgogCi0jOiBjb25maWcuYzoyODIxIGNvbmZpZy5jOjMwNTkKKyM6IGNvbmZpZy5jOjI4NTcgY29uZmlnLmM6MzA5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjaG1vZCBvbiAlcyBmYWlsZWQiCiBtc2dzdHIgImNobW9kIHRyw6puICVzIGfhurdwIGzhu5dpIgogCi0jOiBjb25maWcuYzoyOTA2IGNvbmZpZy5jOjMxNTYKKyM6IGNvbmZpZy5jOjI5NDIgY29uZmlnLmM6MzE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgY29uZmlnIGZpbGUgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGPhuqV1IGjDrG5oIOKAnCVz4oCdIgogCi0jOiBjb25maWcuYzoyOTQwCisjOiBjb25maWcuYzoyOTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzZXQgJyVzJyB0byAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhurd0IOKAnCVz4oCdIHRow6BuaCDigJwlc+KAnSIKIAotIzogY29uZmlnLmM6Mjk0MiBidWlsdGluL3JlbW90ZS5jOjc4MgorIzogY29uZmlnLmM6Mjk3OCBidWlsdGluL3JlbW90ZS5jOjc4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdW5zZXQgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHRow7RpIMSR4bq3dCDigJwlc+KAnSIKIAotIzogY29uZmlnLmM6MzAzMgorIzogY29uZmlnLmM6MzA2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNlY3Rpb24gbmFtZTogJXMiCiBtc2dzdHIgInTDqm4gY+G7p2EgcGjhuqduIGtow7RuZyBo4bujcCBs4buHOiAlcyIKIAotIzogY29uZmlnLmM6MzE5OQorIzogY29uZmlnLmM6MzIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIHZhbHVlIGZvciAnJXMnIgogbXNnc3RyICJ0aGnhur91IGdpw6EgdHLhu4sgY2hvIGNobyDigJwlc+KAnSIKQEAgLTE4MTEsNTAgKzI0NjEsNDUgQEAKIG1zZ2lkICJyZXBvc2l0b3J5IG9uIHRoZSBvdGhlciBlbmQgY2Fubm90IGJlIHNoYWxsb3ciCiBtc2dzdHIgImtobyDEkcOjIOG7nyDEkWnhu4NtIGN14buRaSBraG/DoWMgbsOqbiBraMO0bmcgdGjhu4MgxJHGsOG7o2Mgc2hhbGxvdyIKIAotIzogY29ubmVjdC5jOjMxMCBmZXRjaC1wYWNrLmM6MTgyIGJ1aWx0aW4vYXJjaGl2ZS5jOjYzCi0jLCBjLWZvcm1hdAotbXNnaWQgInJlbW90ZSBlcnJvcjogJXMiCi1tc2dzdHIgImzhu5dpIG3DoXkgY2jhu6c6ICVzIgotCi0jOiBjb25uZWN0LmM6MzE2CisjOiBjb25uZWN0LmM6MzEzCiBtc2dpZCAiaW52YWxpZCBwYWNrZXQiCiBtc2dzdHIgImfDs2kga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IGNvbm5lY3QuYzozMzYKKyM6IGNvbm5lY3QuYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJvdG9jb2wgZXJyb3I6IHVuZXhwZWN0ZWQgJyVzJyIKIG1zZ3N0ciAibOG7l2kgZ2lhbyB0aOG7qWM6IGtow7RuZyBj4bqnbiDigJwlc+KAnSIKIAotIzogY29ubmVjdC5jOjQ0NAorIzogY29ubmVjdC5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGxzLXJlZnMgcmVzcG9uc2U6ICVzIgogbXNnc3RyICJ0cuG6oyB24buBIGPhu6dhIGxzLXJlZnMga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgogCi0jOiBjb25uZWN0LmM6NDQ4CisjOiBjb25uZWN0LmM6NDQ1CiBtc2dpZCAiZXhwZWN0ZWQgZmx1c2ggYWZ0ZXIgcmVmIGxpc3RpbmciCiBtc2dzdHIgImPhuqduIMSR4bqpeSBk4buvIGxp4buHdSBsw6puIMSRxKlhIHNhdSBraGkgbGnhu4d0IGvDqiB0aGFtIGNoaeG6v3UiCiAKLSM6IGNvbm5lY3QuYzo1NDcKKyM6IGNvbm5lY3QuYzo1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJvdG9jb2wgJyVzJyBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJnaWFvIHRo4bupYyDigJwlc+KAnSBjaMawYSDEkcaw4bujYyBo4buXIHRy4bujIgogCi0jOiBjb25uZWN0LmM6NTk4CisjOiBjb25uZWN0LmM6NTk1CiBtc2dpZCAidW5hYmxlIHRvIHNldCBTT19LRUVQQUxJVkUgb24gc29ja2V0IgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhurd0IFNPX0tFRVBBTElWRSB0csOqbiDhu5UgY+G6r20iCiAKLSM6IGNvbm5lY3QuYzo2MzggY29ubmVjdC5jOjcwMQorIzogY29ubmVjdC5jOjYzNSBjb25uZWN0LmM6Njk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxvb2tpbmcgdXAgJXMgLi4uICIKLW1zZ3N0ciAixJBhbmcgdMOsbSBraeG6v20gJXMg4oCmIgorbXNnc3RyICLEkGFuZyB0w6xtIGtp4bq/bSAlcyDigKYgIgogCi0jOiBjb25uZWN0LmM6NjQyCisjOiBjb25uZWN0LmM6NjM5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBsb29rIHVwICVzIChwb3J0ICVzKSAoJXMpIgogbXNnc3RyICJraMO0bmcgdMOsbSDEkcaw4bujYyAlcyAoY+G7lW5nICVzKSAoJXMpIgogCiAjLiBUUkFOU0xBVE9SUzogdGhpcyBpcyB0aGUgZW5kIG9mICJMb29raW5nIHVwICVzIC4uLiAiCi0jOiBjb25uZWN0LmM6NjQ2IGNvbm5lY3QuYzo3MTcKKyM6IGNvbm5lY3QuYzo2NDMgY29ubmVjdC5jOjcxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZG9uZS5cbiIKQEAgLTE4NjMsNyArMjUwOCw3IEBACiAieG9uZy5cbiIKICLEkGFuZyBr4bq/dCBu4buRaSDEkeG6v24gJXMgKGPhu5VuZyAlcykg4oCmICIKIAotIzogY29ubmVjdC5jOjY2OCBjb25uZWN0LmM6NzQ1CisjOiBjb25uZWN0LmM6NjY1IGNvbm5lY3QuYzo3NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInVuYWJsZSB0byBjb25uZWN0IHRvICVzOlxuIgpAQCAtMTg3Myw3MyArMjUxOCw3MyBAQAogIiVzIgogCiAjLiBUUkFOU0xBVE9SUzogdGhpcyBpcyB0aGUgZW5kIG9mICJDb25uZWN0aW5nIHRvICVzIChwb3J0ICVzKSAuLi4gIgotIzogY29ubmVjdC5jOjY3NCBjb25uZWN0LmM6NzUxCisjOiBjb25uZWN0LmM6NjcxIGNvbm5lY3QuYzo3NDgKIG1zZ2lkICJkb25lLiIKIG1zZ3N0ciAiaG/DoG4gdOG6pXQuIgogCi0jOiBjb25uZWN0LmM6NzA1CisjOiBjb25uZWN0LmM6NzAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBsb29rIHVwICVzICglcykiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIHRo4bqleSAlcyAoJXMpIgogCi0jOiBjb25uZWN0LmM6NzExCisjOiBjb25uZWN0LmM6NzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gcG9ydCAlcyIKIG1zZ3N0ciAia2jDtG5nIGhp4buDdSBj4buVbmcgJXMiCiAKLSM6IGNvbm5lY3QuYzo4NDggY29ubmVjdC5jOjExNzQKKyM6IGNvbm5lY3QuYzo4NDUgY29ubmVjdC5jOjExNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RyYW5nZSBob3N0bmFtZSAnJXMnIGJsb2NrZWQiCiBtc2dzdHIgIsSRw6Mga2jDs2EgdMOqbiBtw6F5IGzhuqEg4oCcJXPigJ0iCiAKLSM6IGNvbm5lY3QuYzo4NTAKKyM6IGNvbm5lY3QuYzo4NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RyYW5nZSBwb3J0ICclcycgYmxvY2tlZCIKIG1zZ3N0ciAixJHDoyBraMOzYSBj4buVbmcgbOG6oSDigJwlc+KAnSIKIAotIzogY29ubmVjdC5jOjg2MAorIzogY29ubmVjdC5jOjg1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RhcnQgcHJveHkgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBraOG7n2kgY2jhuqF5IOG7p3kgbmhp4buHbSDigJwlc+KAnSIKIAotIzogY29ubmVjdC5jOjkyNworIzogY29ubmVjdC5jOjkyOAogbXNnaWQgIm5vIHBhdGggc3BlY2lmaWVkOyBzZWUgJ2dpdCBoZWxwIHB1bGwnIGZvciB2YWxpZCB1cmwgc3ludGF4IgogbXNnc3RyICJjaMawYSBjaOG7iSDEkeG7i25oIMSRxrDhu51uZyBk4bqrbjsgeGVtJ2dpdCBoZWxwIHB1bGzigJ0gxJHhu4MgYmnhur90IGPDuiBwaMOhcCB1cmwgaOG7o3AgbOG7hyIKIAotIzogY29ubmVjdC5jOjExMjIKKyM6IGNvbm5lY3QuYzoxMTIzCiBtc2dpZCAic3NoIHZhcmlhbnQgJ3NpbXBsZScgZG9lcyBub3Qgc3VwcG9ydCAtNCIKIG1zZ3N0ciAic3NoIGJp4bq/biB0aOG7gyDigJxzaW1wbGXigJ0ga2jDtG5nIGjhu5cgdHLhu6MgLTQiCiAKLSM6IGNvbm5lY3QuYzoxMTM0CisjOiBjb25uZWN0LmM6MTEzNQogbXNnaWQgInNzaCB2YXJpYW50ICdzaW1wbGUnIGRvZXMgbm90IHN1cHBvcnQgLTYiCiBtc2dzdHIgInNzaCBiaeG6v24gdGjhu4Mg4oCcc2ltcGxl4oCdIGtow7RuZyBo4buXIHRy4bujIC02IgogCi0jOiBjb25uZWN0LmM6MTE1MQorIzogY29ubmVjdC5jOjExNTIKIG1zZ2lkICJzc2ggdmFyaWFudCAnc2ltcGxlJyBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgcG9ydCIKIG1zZ3N0ciAic3NoIGJp4bq/biB0aOG7gyDigJxzaW1wbGXigJ0ga2jDtG5nIGjhu5cgdHLhu6MgxJHhurd0IGPhu5VuZyIKIAotIzogY29ubmVjdC5jOjEyNjIKKyM6IGNvbm5lY3QuYzoxMjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0cmFuZ2UgcGF0aG5hbWUgJyVzJyBibG9ja2VkIgogbXNnc3RyICLEkcOjIGtow7NhIHTDqm4gxJHGsOG7nW5nIGThuqtuIGzhuqEg4oCcJXPigJ0iCiAKLSM6IGNvbm5lY3QuYzoxMzA3CisjOiBjb25uZWN0LmM6MTMxMQogbXNnaWQgInVuYWJsZSB0byBmb3JrIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcuG6vSBuaMOhbmggdGnhur9uIHRyw6xuaCBjb24iCiAKLSM6IGNvbm5lY3RlZC5jOjY4IGJ1aWx0aW4vZnNjay5jOjIwMiBidWlsdGluL3BydW5lLmM6MTQ3CisjOiBjb25uZWN0ZWQuYzo4OSBidWlsdGluL2ZzY2suYzoyMDggYnVpbHRpbi9wcnVuZS5jOjQzCiBtc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5IgogbXNnc3RyICLEkGFuZyBraeG7g20gdHJhIGvhur90IG7hu5FpIgogCi0jOiBjb25uZWN0ZWQuYzo4MAorIzogY29ubmVjdGVkLmM6MTAxCiBtc2dpZCAiQ291bGQgbm90IHJ1biAnZ2l0IHJldi1saXN0JyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGNo4bqheSDigJxnaXQgcmV2LWxpc3TigJ0iCiAKLSM6IGNvbm5lY3RlZC5jOjEwMAorIzogY29ubmVjdGVkLmM6MTIxCiBtc2dpZCAiZmFpbGVkIHdyaXRlIHRvIHJldi1saXN0IgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZ2hpIHbDoG8gcmV2LWxpc3QiCiAKLSM6IGNvbm5lY3RlZC5jOjEwNworIzogY29ubmVjdGVkLmM6MTI4CiBtc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW4iCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkcOzbmcgxJHhuqd1IHbDoG8gY2h14bqpbiBzdGRpbiBj4bunYSByZXYtbGlzdCIKIApAQCAtMTk3NiwyNiArMjYyMSwyNiBAQAogIkxGIHPhur0gYuG7iyB0aGF5IHRo4bq/IGLhurFuZyBDUkxGIHRyb25nICVzLlxuIgogIlThuq1wIHRpbiBz4bq9IGPDsyBraeG7g3UgeHXhu5FuZyBkw7JuZyBuaMawIGLhuqNuIGfhu5FjIHRyb25nIHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgY+G7p2EgYuG6oW4iCiAKLSM6IGNvbnZlcnQuYzoyODAKKyM6IGNvbnZlcnQuYzoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQk9NIGlzIHByb2hpYml0ZWQgaW4gJyVzJyBpZiBlbmNvZGVkIGFzICVzIgogbXNnc3RyICJCT00gYuG7iyBj4bqlbSB0cm9uZyDigJwlc+KAnSBu4bq/dSDEkcaw4bujYyBtw6MgaMOzYSBsw6AgJXMiCiAKLSM6IGNvbnZlcnQuYzoyODcKKyM6IGNvbnZlcnQuYzoyOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgotIlRoZSBmaWxlICclcycgY29udGFpbnMgYSBieXRlIG9yZGVyIG1hcmsgKEJPTSkuIFBsZWFzZSB1c2UgVVRGLSVzIGFzIHdvcmtpbmctIgotInRyZWUtZW5jb2RpbmcuIgorIlRoZSBmaWxlICclcycgY29udGFpbnMgYSBieXRlIG9yZGVyIG1hcmsgKEJPTSkuIFBsZWFzZSB1c2UgVVRGLSUuKnMgYXMgIgorIndvcmtpbmctdHJlZS1lbmNvZGluZy4iCiBtc2dzdHIgIiIKLSJU4bqtcCB0aW4g4oCcJXPigJ0gY8OzIGNo4bupYSBrw70gaGnhu4d1IHRo4bupIHThu7EgYnl0ZSAoQk9NKS4gVnVpIGzDsm5nIGTDuW5nIFVURi0lcyBuaMawIGzDoCAiCi0iYuG6o25nIG3DoyBjw6J5IGzDoG0gdmnhu4djLiIKKyJU4bqtcCB0aW4g4oCcJXPigJ0gY8OzIGNo4bupYSBrw70gaGnhu4d1IHRo4bupIHThu7EgYnl0ZSAoQk9NKS4gVnVpIGzDsm5nIGTDuW5nIFVURi0lLipzIG5oxrAgIgorImzDoCBi4bqjbmcgbcOjIGPDonkgbMOgbSB2aeG7h2MuIgogCi0jOiBjb252ZXJ0LmM6MzA1CisjOiBjb252ZXJ0LmM6MzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJPTSBpcyByZXF1aXJlZCBpbiAnJXMnIGlmIGVuY29kZWQgYXMgJXMiCiBtc2dzdHIgIkJPTSBsw6AgYuG6r3QgYnXhu5ljIHRyb25nIOKAnCVz4oCdIG7hur91IMSRxrDhu6NjIG3DoyBow7NhIGzDoCAlcyIKIAotIzogY29udmVydC5jOjMwNworIzogY29udmVydC5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZpbGUgJyVzJyBpcyBtaXNzaW5nIGEgYnl0ZSBvcmRlciBtYXJrIChCT00pLiBQbGVhc2UgdXNlIFVURi0lc0JFIG9yIFVURi0iCkBAIC0yMDA0LDUwICsyNjQ5LDUwIEBACiAiVOG6rXAgdGluIOKAnCVz4oCdIGPDsm4gdGhp4bq/dSBrw70gaGnhu4d1IHRo4bupIHThu7EgYnl0ZSAoQk9NKS4gVnVpIGzDsm5nIGTDuW5nIFVURi0lc0JFIGhheSAiCiAiVVRGLSVzTEUgKGPDsm4gcGjhu6VjIHRodeG7mWMgdsOgbyB0aOG7qSB04buxIGJ5dGUpIG5oxrAgbMOgIGLhuqNuZyBtw6MgY8OieSBsw6BtIHZp4buHYy4iCiAKLSM6IGNvbnZlcnQuYzo0MjUgY29udmVydC5jOjQ5NgorIzogY29udmVydC5jOjQxOSBjb252ZXJ0LmM6NDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBlbmNvZGUgJyVzJyBmcm9tICVzIHRvICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbcOjIGjDs2Eg4oCcJXPigJ0gIHThu6sg4oCcJXPigJ0gc2FuZyDigJwlc+KAnSIKIAotIzogY29udmVydC5jOjQ2OAorIzogY29udmVydC5jOjQ2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJlbmNvZGluZyAnJXMnIGZyb20gJXMgdG8gJXMgYW5kIGJhY2sgaXMgbm90IHRoZSBzYW1lIgogbXNnc3RyICJtw6MgaMOzYSDigJwlc+KAnSB04burICVzIHRow6BuaCAlcyB2w6AgbmfGsOG7o2MgdHLhu58gbOG6oWkga2jDtG5nIHBo4bqjaSBsw6AgY8O5bmciCiAKLSM6IGNvbnZlcnQuYzo2NzQKKyM6IGNvbnZlcnQuYzo2NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZvcmsgdG8gcnVuIGV4dGVybmFsIGZpbHRlciAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcuG6vSBuaMOhbmggdGnhur9uIHRyw6xuaCDEkeG7gyBjaOG6oXkgYuG7mSBs4buNYyBiw6puIG5nb8OgaSDigJwlc+KAnSIKIAotIzogY29udmVydC5jOjY5NAorIzogY29udmVydC5jOjY4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmVlZCB0aGUgaW5wdXQgdG8gZXh0ZXJuYWwgZmlsdGVyICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBj4bqlcCDEkeG6p3UgdsOgbyBjaG8gYuG7mSBs4buNYyBiw6puIG5nb8OgaSDigJwlc+KAnSIKIAotIzogY29udmVydC5jOjcwMQorIzogY29udmVydC5jOjY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHRlcm5hbCBmaWx0ZXIgJyVzJyBmYWlsZWQgJWQiCiBtc2dzdHIgImNo4bqheSBi4buZIGzhu41jIGLDqm4gbmdvw6BpIOKAnCVz4oCdIGfhurdwIGzhu5dpICVkIgogCi0jOiBjb252ZXJ0LmM6NzM2IGNvbnZlcnQuYzo3MzkKKyM6IGNvbnZlcnQuYzo3MzAgY29udmVydC5jOjczMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGZyb20gZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkIgogbXNnc3RyICLEkeG7jWMgdOG7qyBi4buZIGzhu41jIGLDqm4gbmdvw6BpIOKAnCVz4oCdIGfhurdwIGzhu5dpIgogCi0jOiBjb252ZXJ0LmM6NzQyIGNvbnZlcnQuYzo3OTYKKyM6IGNvbnZlcnQuYzo3MzYgY29udmVydC5jOjc5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHRlcm5hbCBmaWx0ZXIgJyVzJyBmYWlsZWQiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBjaOG6oXkgYuG7mSBs4buNYyBiw6puIG5nb8OgaSDigJwlc+KAnSIKIAotIzogY29udmVydC5jOjg0NAorIzogY29udmVydC5jOjgzOQogbXNnaWQgInVuZXhwZWN0ZWQgZmlsdGVyIHR5cGUiCiBtc2dzdHIgImfhurdwIGtp4buDdSBi4buZIGzhu41jIHRo4burYSIKIAotIzogY29udmVydC5jOjg1NQorIzogY29udmVydC5jOjg1MAogbXNnaWQgInBhdGggbmFtZSB0b28gbG9uZyBmb3IgZXh0ZXJuYWwgZmlsdGVyIgogbXNnc3RyICJ0w6puIMSRxrDhu51uZyBk4bqrbiBxdcOhIGTDoGkgY2hvIGLhu5kgbOG7jWMgYsOqbiBuZ2/DoGkiCiAKLSM6IGNvbnZlcnQuYzo5MjkKKyM6IGNvbnZlcnQuYzo5MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4dGVybmFsIGZpbHRlciAnJXMnIGlzIG5vdCBhdmFpbGFibGUgYW55bW9yZSBhbHRob3VnaCBub3QgYWxsIHBhdGhzIGhhdmUgIgpAQCAtMjA1NiwxMDAgKzI3MDEsMTAwIEBACiAiYuG7mSBs4buNYyBiw6puIG5nb8OgaSDigJwlc+KAnSBraMO0bmcgc+G6tW4gc8OgbmcgbuG7r2EgbeG6t2MgZMO5IGtow7RuZyBwaOG6o2kgdOG6pXQgY+G6oyBjw6FjIMSRxrDhu51uZyAiCiAiZOG6q24gxJHDoyDEkcaw4bujYyBs4buNYyIKIAotIzogY29udmVydC5jOjEyMjgKKyM6IGNvbnZlcnQuYzoxMjIzCiBtc2dpZCAidHJ1ZS9mYWxzZSBhcmUgbm8gdmFsaWQgd29ya2luZy10cmVlLWVuY29kaW5ncyIKLW1zZ3N0ciAidHJ1ZS9mYWxzZSBsw6Aga2jDtG5nIHBo4bqjaSBi4bqjbmcgbcOjIGPDonkgbMOgbSB2aeG7h2MgaOG7o3AgbOG7hyAiCittc2dzdHIgInRydWUvZmFsc2UgbMOgIGtow7RuZyBwaOG6o2kgYuG6o25nLW3Doy1jw6J5LWzDoG0tdmnhu4djIGjhu6NwIGzhu4ciCiAKLSM6IGNvbnZlcnQuYzoxMzk4IGNvbnZlcnQuYzoxNDMyCisjOiBjb252ZXJ0LmM6MTQxMSBjb252ZXJ0LmM6MTQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2xlYW4gZmlsdGVyICclcycgZmFpbGVkIgogbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIHjDs2EgYuG7mSBs4buNYyDigJwlc+KAnSIKIAotIzogY29udmVydC5jOjE0NzYKKyM6IGNvbnZlcnQuYzoxNDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzbXVkZ2UgZmlsdGVyICVzIGZhaWxlZCIKIG1zZ3N0ciAiJXM6IHNtdWRnZSBi4buZIGzhu41jICVzIGfhurdwIGzhu5dpIgogCi0jOiBkYXRlLmM6MTE2CisjOiBkYXRlLmM6MTM4CiBtc2dpZCAiaW4gdGhlIGZ1dHVyZSIKIG1zZ3N0ciAi4bufIHRo4budaSB0xrDGoW5nIGxhaSIKIAotIzogZGF0ZS5jOjEyMgorIzogZGF0ZS5jOjE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHNlY29uZCBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gc2Vjb25kcyBhZ28iCiBtc2dzdHJbMF0gIiU8UFJJdU1BWD4gZ2nDonkgdHLGsOG7m2MiCiAKLSM6IGRhdGUuYzoxMjkKKyM6IGRhdGUuYzoxNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBtaW51dGUgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1pbnV0ZXMgYWdvIgogbXNnc3RyWzBdICIlPFBSSXVNQVg+IHBow7p0IHRyxrDhu5tjIgogCi0jOiBkYXRlLmM6MTM2CisjOiBkYXRlLmM6MTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiU8UFJJdU1BWD4gaG91ciBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gaG91cnMgYWdvIgogbXNnc3RyWzBdICIlPFBSSXVNQVg+IGdp4budIHRyxrDhu5tjIgogCi0jOiBkYXRlLmM6MTQzCisjOiBkYXRlLmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiU8UFJJdU1BWD4gZGF5IGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBkYXlzIGFnbyIKIG1zZ3N0clswXSAiJTxQUkl1TUFYPiBuZ8OgeSB0csaw4bubYyIKIAotIzogZGF0ZS5jOjE0OQorIzogZGF0ZS5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHdlZWsgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHdlZWtzIGFnbyIKIG1zZ3N0clswXSAiJTxQUkl1TUFYPiB0deG6p24gdHLGsOG7m2MiCiAKLSM6IGRhdGUuYzoxNTYKKyM6IGRhdGUuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBtb250aCBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gbW9udGhzIGFnbyIKIG1zZ3N0clswXSAiJTxQUkl1TUFYPiB0aMOhbmcgdHLGsOG7m2MiCiAKLSM6IGRhdGUuYzoxNjcKKyM6IGRhdGUuYzoxODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIgogbXNnc3RyWzBdICIlPFBSSXVNQVg+IG7Eg20iCiAKICMuIFRSQU5TTEFUT1JTOiAiJXMiIGlzICI8bj4geWVhcnMiCi0jOiBkYXRlLmM6MTcwCisjOiBkYXRlLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzLCAlPFBSSXVNQVg+IG1vbnRoIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJXMsICU8UFJJdU1BWD4gbW9udGhzIGFnbyIKIG1zZ3N0clswXSAiJXMsICU8UFJJdU1BWD4gdGjDoW5nIHRyxrDhu5tjIgogCi0jOiBkYXRlLmM6MTc1IGRhdGUuYzoxODAKKyM6IGRhdGUuYzoxOTcgZGF0ZS5jOjIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHllYXIgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIGFnbyIKIG1zZ3N0clswXSAiJTxQUkl1TUFYPiBuxINtIHRyxrDhu5tjIgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6MjY4CisjOiBkZWx0YS1pc2xhbmRzLmM6MjcyCiBtc2dpZCAiUHJvcGFnYXRpbmcgaXNsYW5kIG1hcmtzIgogbXNnc3RyICLEkGFuZyBsYW4gdHJ1eeG7gW4gY8OhYyDEkcOhbmggZOG6pXUgaXNsYW5kIgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6Mjg2CisjOiBkZWx0YS1pc2xhbmRzLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCB0cmVlIG9iamVjdCAlcyIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIGPDonkgc2FpIOKAnCVz4oCdIgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6MzMwCisjOiBkZWx0YS1pc2xhbmRzLmM6MzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBsb2FkIGlzbGFuZCByZWdleCBmb3IgJyVzJzogJXMiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB04bqjaSBiaeG7g3UgdGjhu6ljIGNow61uaCBxdXkgaXNsYW5kIGNobyDigJwlc+KAnTogJXMiCiAKLSM6IGRlbHRhLWlzbGFuZHMuYzozODYKKyM6IGRlbHRhLWlzbGFuZHMuYzozOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaXNsYW5kIHJlZ2V4IGZyb20gY29uZmlnIGhhcyB0b28gbWFueSBjYXB0dXJlIGdyb3VwcyAobWF4PSVkKSIKIG1zZ3N0ciAiIgogImJp4buDdSB0aOG7qWMgY2jDrW5oIHF1eSBpc2xhbmQgdOG7qyBj4bqldSBow6xuaCBjw7MgcXXDoSBuaGnhu4F1IG5ow7NtIGNo4bulcCAodOG7kWkgxJFhPSVkKSIKIAotIzogZGVsdGEtaXNsYW5kcy5jOjQ2MgorIzogZGVsdGEtaXNsYW5kcy5jOjQ2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXJrZWQgJWQgaXNsYW5kcywgZG9uZS5cbiIKIG1zZ3N0ciAixJDDoyDEkcOhbmggZOG6pXUgJWQgaXNsYW5kLCB4b25nLlxuIgpAQCAtMjE1OSwyNiArMjgwNCwzMyBAQAogbXNnaWQgImZhaWxlZCB0byByZWFkIG9yZGVyZmlsZSAnJXMnIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu41jIHThuq1wLXRpbi10aOG7qS104buxIOKAnCVz4oCdIgogCi0jOiBkaWZmY29yZS1yZW5hbWUuYzo1NDQKKyM6IGRpZmZjb3JlLXJlbmFtZS5jOjU0MwogbXNnaWQgIlBlcmZvcm1pbmcgaW5leGFjdCByZW5hbWUgZGV0ZWN0aW9uIgogbXNnc3RyICLEkGFuZyB0aOG7sWMgaGnhu4duIGTDsiB0w6xtIMSR4buVaSB0w6puIGtow7RuZyBjaMOtbmggeMOhYyIKIAotIzogZGlmZi5jOjEwOAotIywgYy1mb3JtYXQKLW1zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhIHZhbHVlIgotbXNnc3RyICJ0w7l5IGNo4buNbiDigJwlc+KAnSB5w6p1IGPhuqd1IG3hu5l0IGdpw6EgdHLhu4siCisjOiBkaWZmLW5vLWluZGV4LmM6MjM4Cittc2dpZCAiZ2l0IGRpZmYgLS1uby1pbmRleCBbPG9wdGlvbnM+XSA8cGF0aD4gPHBhdGg+IgorbXNnc3RyICJnaXQgZGlmZiAtLW5vLWluZGV4IFs8Y8OhYyB0w7l5IGNo4buNbj5dIDwvxJHGsOG7nW5nL2ThuqtuPiA8L8SRxrDhu51uZy9k4bqrbj4iCiAKLSM6IGRpZmYuYzoxNTgKKyM6IGRpZmYtbm8taW5kZXguYzoyNjMKK21zZ2lkICIiCisiTm90IGEgZ2l0IHJlcG9zaXRvcnkuIFVzZSAtLW5vLWluZGV4IHRvIGNvbXBhcmUgdHdvIHBhdGhzIG91dHNpZGUgYSB3b3JraW5nICIKKyJ0cmVlIgorbXNnc3RyICIiCisiS2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgdGjGsCBt4bulYyBnaXQuIETDuW5nIC0tbm8taW5kZXggxJHhu4Mgc28gc8OhbmggaGFpIMSRxrDhu51uZyBk4bqrbiBiw6puICIKKyJuZ2/DoGkgbeG7mXQgY8OieSBsw6BtIHZp4buHYyIKKworIzogZGlmZi5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZhaWxlZCB0byBwYXJzZSBkaXJzdGF0IGN1dC1vZmYgcGVyY2VudGFnZSAnJXMnXG4iCiBtc2dzdHIgIiAgR+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIGRpcnN0YXQgY+G6r3QgYuG7jyBwaOG6p24gdHLEg20g4oCcJXPigJ1cbiIKIAotIzogZGlmZi5jOjE2MworIzogZGlmZi5jOjE2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFVua25vd24gZGlyc3RhdCBwYXJhbWV0ZXIgJyVzJ1xuIgogbXNnc3RyICIgIEtow7RuZyBoaeG7g3UgxJHhu5FpIHPhu5EgZGlyc3RhdCDigJwlc+KAnVxuIgogCi0jOiBkaWZmLmM6MjkxCisjOiBkaWZmLmM6Mjk2CiBtc2dpZCAiIgogImNvbG9yIG1vdmVkIHNldHRpbmcgbXVzdCBiZSBvbmUgb2YgJ25vJywgJ2RlZmF1bHQnLCAnYmxvY2tzJywgJ3plYnJhJywgIgogIidkaW1tZWQtemVicmEnLCAncGxhaW4nIgpAQCAtMjE4NiwyNSArMjgzOCwzMCBAQAogImPDoGkgxJHhurd0IG3DoHUgxJHDoyBkaSBjaHV54buDbiBwaOG6o2kgbMOgIG3hu5l0IHRyb25nIOKAnG5v4oCdLCDigJxkZWZhdWx04oCdLCDigJxibG9ja3PigJ0sICIKICLigJx6ZWJyYeKAnSwg4oCcZGltbWVkX3plYnJh4oCdLCDigJxwbGFpbuKAnSIKIAotIzogZGlmZi5jOjMxNgorIzogZGlmZi5jOjMyNAogIywgYy1mb3JtYXQKLW1zZ2lkICJpZ25vcmluZyB1bmtub3duIGNvbG9yLW1vdmVkLXdzIG1vZGUgJyVzJyIKLW1zZ3N0ciAiYuG7jyBxdWEgY2jhur8gxJHhu5kgY29sb3ItbW92ZWQtd3MgY2jGsGEgYmnhur90IOKAnCVz4oCdIgotCi0jOiBkaWZmLmM6MzIzCiBtc2dpZCAiIgotImNvbG9yLW1vdmVkLXdzOiBhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgd2hpdGUgIgotInNwYWNlIG1vZGVzIgorInVua25vd24gY29sb3ItbW92ZWQtd3MgbW9kZSAnJXMnLCBwb3NzaWJsZSB2YWx1ZXMgYXJlICdpZ25vcmUtc3BhY2UtY2hhbmdlJywgIgorIidpZ25vcmUtc3BhY2UtYXQtZW9sJywgJ2lnbm9yZS1hbGwtc3BhY2UnLCAnYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlJyIKK21zZ3N0ciAiIgorImtow7RuZyBoaeG7g3UgY2jhur8gxJHhu5kgY29sb3ItbW92ZWQtd3Mg4oCcJXPigJ0sIGPDoWMgZ2nDoSB0cuG7iyBjw7MgdGjhu4MgbMOgIOKAnGlnbm9yZS1zcGFjZS0iCisiY2hhbmdl4oCdLCDigJxpZ25vcmUtc3BhY2UtYXQtZW9s4oCdLCDigJxpZ25vcmUtYWxsLXNwYWNl4oCdLCDigJxhbGxvdy1pbmRlbnRhdGlvbi0iCisiY2hhbmdl4oCdIgorCisjOiBkaWZmLmM6MzMyCittc2dpZCAiIgorImNvbG9yLW1vdmVkLXdzOiBhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgIgorIndoaXRlc3BhY2UgbW9kZXMiCiBtc2dzdHIgIiIKICJjb2xvci1tb3ZlZC13czogYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlIGtow7RuZyB0aOG7gyB04buVIGjhu6NwIGPDuW5nIHbhu5tpIGPDoWMgY2jhur8gIgogIsSR4buZIGtob+G6o25nIHRy4bqvbmcga2jDoWMiCiAKLSM6IGRpZmYuYzozOTQKKyM6IGRpZmYuYzo0MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biB2YWx1ZSBmb3IgJ2RpZmYuc3VibW9kdWxlJyBjb25maWcgdmFyaWFibGU6ICclcyciCiBtc2dzdHIgIktow7RuZyBoaeG7g3UgZ2nDoSB0cuG7iyBjaG8gYmnhur9uIGPhuqV1IGjDrG5oIOKAnGRpZmYuc3VibW9kdWxl4oCdOiDigJwlc+KAnSIKIAotIzogZGlmZi5jOjQ1NAorIzogZGlmZi5jOjQ2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRm91bmQgZXJyb3JzIGluICdkaWZmLmRpcnN0YXQnIGNvbmZpZyB2YXJpYWJsZTpcbiIKQEAgLTIyMTMsMjQgKzI4NzAsMzUgQEAKICJUw6xtIHRo4bqleSBjw6FjIGzhu5dpIHRyb25nIGJp4bq/biBj4bqldSBow6xuaCDigJxkaWZmLmRpcnN0YXTigJ06XG4iCiAiJXMiCiAKLSM6IGRpZmYuYzo0MTQwCisjOiBkaWZmLmM6NDIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJleHRlcm5hbCBkaWZmIGRpZWQsIHN0b3BwaW5nIGF0ICVzIgogbXNnc3RyICJwaOG6p24gbeG7gW0gZGlmZiDhu58gYsOqbiBuZ2/DoGkgxJHDoyBjaOG6v3QsIGThu6tuZyB04bqhaSAlcyIKIAotIzogZGlmZi5jOjQ0ODIKKyM6IGRpZmYuYzo0NTQ3CiBtc2dpZCAiLS1uYW1lLW9ubHksIC0tbmFtZS1zdGF0dXMsIC0tY2hlY2sgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIHbDoCAtcyBsb+G6oWkgdOG7qyBs4bqrbiBuaGF1IgogCi0jOiBkaWZmLmM6NDQ4NQorIzogZGlmZi5jOjQ1NTAKIG1zZ2lkICItRywgLVMgYW5kIC0tZmluZC1vYmplY3QgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiQ8OhYyB0w7l5IGNo4buNbiAtRywgLVMsIHbDoCAtLWZpbmQtb2JqZWN0IGxv4bqhaSB04burIGzhuqtuIG5oYXUiCiAKLSM6IGRpZmYuYzo0NTYzCisjOiBkaWZmLmM6NDYyOAogbXNnaWQgIi0tZm9sbG93IHJlcXVpcmVzIGV4YWN0bHkgb25lIHBhdGhzcGVjIgogbXNnc3RyICItLWZvbGxvdyBj4bqnbiBjaMOtbmggeMOhYyBt4buZdCDEkeG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24iCiAKLSM6IGRpZmYuYzo0NzI5CisjOiBkaWZmLmM6NDY3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIC0tc3RhdCB2YWx1ZTogJXMiCittc2dzdHIgImdpw6EgdHLhu4sgLS1zdGF0IGtow7RuZyBo4bujcCBs4buHOiDigJwlc+KAnSIKKworIzogZGlmZi5jOjQ2ODEgZGlmZi5jOjQ2ODYgZGlmZi5jOjQ2OTEgZGlmZi5jOjQ2OTYgZGlmZi5jOjUyMDkKKyM6IHBhcnNlLW9wdGlvbnMuYzoxOTkgcGFyc2Utb3B0aW9ucy5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgorbXNnc3RyICJ0w7l5IGNo4buNbiDigJwlc+KAnSBj4bqnbiBt4buZdCBnacOhIHRy4buLIGLhurFuZyBz4buRIgorCisjOiBkaWZmLmM6NDcxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRmFpbGVkIHRvIHBhcnNlIC0tZGlyc3RhdC8tWCBvcHRpb24gcGFyYW1ldGVyOlxuIgpAQCAtMjIzOSwyMiArMjkwNyw1MTQgQEAKICJH4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggxJHhu5FpIHPhu5EgdMO5eSBjaOG7jW4gLS1kaXJzdGF0Ly1YOlxuIgogIiVzIgogCi0jOiBkaWZmLmM6NDc0MworIzogZGlmZi5jOjQ3OTgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiRmFpbGVkIHRvIHBhcnNlIC0tc3VibW9kdWxlIG9wdGlvbiBwYXJhbWV0ZXI6ICclcyciCi1tc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCDEkeG7kWkgc+G7kSB0w7l5IGNo4buNbiAtLXN1Ym1vZHVsZTog4oCcJXPigJ0iCittc2dpZCAidW5rbm93biBjaGFuZ2UgY2xhc3MgJyVjJyBpbiAtLWRpZmYtZmlsdGVyPSVzIgorbXNnc3RyICJraMO0bmcgaGnhu4N1IGzhu5twIHRoYXkgxJHhu5VpIOKAnCVj4oCdIHRyb25nIC0tZGlmZi1maWx0ZXI9JXMiCiAKLSM6IGRpZmYuYzo1ODIzCisjOiBkaWZmLmM6NDgyMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHZhbHVlIGFmdGVyIHdzLWVycm9yLWhpZ2hsaWdodD0lLipzIgorbXNnc3RyICJraMO0bmcgaGnhu4N1IGdpw6EgdHLhu4sgc2F1IHdzLWVycm9yLWhpZ2hsaWdodD0lLipzIgorCisjOiBkaWZmLmM6NDgzNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gZ2nhuqNpIOKAnCVz4oCdIgorCisjOiBkaWZmLmM6NDg4NiBkaWZmLmM6NDg5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIDxuPi88bT4gZm9ybSIKK21zZ3N0ciAiJXMgY+G6p24gZOG6oW5nIDxuPi88bT4iCisKKyM6IGRpZmYuYzo0OTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGV4cGVjdHMgYSBjaGFyYWN0ZXIsIGdvdCAnJXMnIgorbXNnc3RyICIlcyBj4bqnbiBt4buZdCBrw70gdOG7sSwgbmjGsG5nIGzhuqFpIG5o4bqtbiDEkcaw4bujYyDigJwlc+KAnSIKKworIzogZGlmZi5jOjQ5MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIC0tY29sb3ItbW92ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLEkeG7kWkgc+G7kSAtLWNvbG9yLW1vdmVkIHNhaTogJXMiCisKKyM6IGRpZmYuYzo0OTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbW9kZSAnJXMnIGluIC0tY29sb3ItbW92ZWQtd3MiCittc2dzdHIgImNo4bq/IMSR4buZIOKAnCVz4oCdIGtow7RuZyBo4bujcCBs4buHIHRyb25nIC0tY29sb3ItbW92ZWQtd3MiCisKKyM6IGRpZmYuYzo0OTg0Cittc2dpZCAiIgorIm9wdGlvbiBkaWZmLWFsZ29yaXRobSBhY2NlcHRzIFwibXllcnNcIiwgXCJtaW5pbWFsXCIsIFwicGF0aWVuY2VcIiBhbmQgIgorIlwiaGlzdG9ncmFtXCIiCittc2dzdHIgIiIKKyJ0w7l5IGNo4buNbiAgZGlmZi1hbGdvcml0aG0gY2jhuqVwIG5o4bqtbiBcIm15ZXJzXCIsIFwibWluaW1hbFwiLCBcInBhdGllbmNlXCIgdsOgICIKKyJcImhpc3RvZ3JhbVwiIgorCisjOiBkaWZmLmM6NTAyMCBkaWZmLmM6NTA0MAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvICVzIgorbXNnc3RyICJ0aGFtIHPhu5EgY2hvICVzIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBkaWZmLmM6NTE3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIMSR4buRaSBz4buRIHTDuXkgY2jhu41uIC0tc3VibW9kdWxlOiDigJwlc+KAnSIKKworIzogZGlmZi5jOjUyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIC0td29yZC1kaWZmIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAixJHhu5FpIHPhu5EgLS13b3JkLWRpZmYgc2FpOiAlcyIKKworIzogZGlmZi5jOjUyNTcKK21zZ2lkICJEaWZmIG91dHB1dCBmb3JtYXQgb3B0aW9ucyIKK21zZ3N0ciAiQ8OhYyB0w7l5IGNo4buNbiDEkeG7i25oIGThuqFuZyBraGkgeHXhuqV0IGPDoWMga2jDoWMgYmnhu4d0IgorCisjOiBkaWZmLmM6NTI1OSBkaWZmLmM6NTI2NQorbXNnaWQgImdlbmVyYXRlIHBhdGNoIgorbXNnc3RyICJ04bqhbyBtaeG6v25nIHbDoSIKKworIzogZGlmZi5jOjUyNjIgYnVpbHRpbi9sb2cuYzoxNzMKK21zZ2lkICJzdXBwcmVzcyBkaWZmIG91dHB1dCIKK21zZ3N0ciAiY2jhurduIG3hu41pIGvhur90IHh14bqldCB04burIGRpZmYiCisKKyM6IGRpZmYuYzo1MjY3IGRpZmYuYzo1MzgxIGRpZmYuYzo1Mzg4Cittc2dpZCAiPG4+IgorbXNnc3RyICI8bj4iCisKKyM6IGRpZmYuYzo1MjY4IGRpZmYuYzo1MjcxCittc2dpZCAiZ2VuZXJhdGUgZGlmZnMgd2l0aCA8bj4gbGluZXMgY29udGV4dCIKK21zZ3N0ciAidOG6oW8ga2jDoWMgYmnhu4d0IHbhu5tpIDxuPiBkw7JuZyBuZ+G7ryBj4bqjbmgiCisKKyM6IGRpZmYuYzo1MjczCittc2dpZCAiZ2VuZXJhdGUgdGhlIGRpZmYgaW4gcmF3IGZvcm1hdCIKK21zZ3N0ciAidOG6oW8ga2jDoWMgYmnhu4d0IOG7nyDEkeG7i25oIGThuqFuZyB0aMO0IgorCisjOiBkaWZmLmM6NTI3NgorbXNnaWQgInN5bm9ueW0gZm9yICctcCAtLXJhdyciCittc2dzdHIgIsSR4buTbmcgbmdoxKlhIHbhu5tpIOKAnC1wIC0tcmF34oCdIgorCisjOiBkaWZmLmM6NTI4MAorbXNnaWQgInN5bm9ueW0gZm9yICctcCAtLXN0YXQnIgorbXNnc3RyICLEkeG7k25nIG5naMSpYSB24bubaSDigJwtcCAtLXN0YXTigJ0iCisKKyM6IGRpZmYuYzo1Mjg0Cittc2dpZCAibWFjaGluZSBmcmllbmRseSAtLXN0YXQiCittc2dzdHIgIi0tc3RhdCB0aHXhuq1uIHRp4buHbiBjaG8gbcOheSDEkeG7jWMiCisKKyM6IGRpZmYuYzo1Mjg3Cittc2dpZCAib3V0cHV0IG9ubHkgdGhlIGxhc3QgbGluZSBvZiAtLXN0YXQiCittc2dzdHIgImNo4buJIHh14bqldCBuaOG7r25nIGTDsm5nIGN14buRaSBj4bunYSAtLXN0YXQiCisKKyM6IGRpZmYuYzo1Mjg5IGRpZmYuYzo1Mjk3Cittc2dpZCAiPHBhcmFtMSxwYXJhbTI+Li4uIgorbXNnc3RyICI8dGhhbV9z4buRXzEsdGhhbV9z4buRXzI+4oCmIgorCisjOiBkaWZmLmM6NTI5MAorbXNnaWQgIiIKKyJvdXRwdXQgdGhlIGRpc3RyaWJ1dGlvbiBvZiByZWxhdGl2ZSBhbW91bnQgb2YgY2hhbmdlcyBmb3IgZWFjaCBzdWItZGlyZWN0b3J5IgorbXNnc3RyICLEkeG6p3UgcmEgcGjDom4gcGjhu5FpIGPhu6dhIHPhu5EgbMaw4bujbmcgdGhheSDEkeG7lWkgdMawxqFuZyDEkeG7kWkgY2hvIG3hu5dpIHRoxrAgbeG7pWMgY29uIgorCisjOiBkaWZmLmM6NTI5NAorbXNnaWQgInN5bm9ueW0gZm9yIC0tZGlyc3RhdD1jdW11bGF0aXZlIgorbXNnc3RyICLEkeG7k25nIG5naMSpYSB24bubaSAtLWRpcnN0YXQ9Y3VtdWxhdGl2ZSIKKworIzogZGlmZi5jOjUyOTgKK21zZ2lkICJzeW5vbnltIGZvciAtLWRpcnN0YXQ9ZmlsZXMscGFyYW0xLHBhcmFtMi4uLiIKK21zZ3N0ciAixJHhu5NuZyBuZ2jEqWEgduG7m2kgLS1kaXJzdGF0PWZpbGVzLHBhcmFtMSxwYXJhbTLigKYiCisKKyM6IGRpZmYuYzo1MzAyCittc2dpZCAid2FybiBpZiBjaGFuZ2VzIGludHJvZHVjZSBjb25mbGljdCBtYXJrZXJzIG9yIHdoaXRlc3BhY2UgZXJyb3JzIgorbXNnc3RyICIiCisiY+G6o25oIGLDoW8gbuG6v3UgY8OhYyB0aGF5IMSR4buVaSDEkcawYSByYSBjw6FjIGLhu5kgdOG6oW8geHVuZyDEkeG7mXQgaGF5IGzhu5dpIGtob+G6o25nIHRy4bqvbmciCisKKyM6IGRpZmYuYzo1MzA1Cittc2dpZCAiY29uZGVuc2VkIHN1bW1hcnkgc3VjaCBhcyBjcmVhdGlvbnMsIHJlbmFtZXMgYW5kIG1vZGUgY2hhbmdlcyIKK21zZ3N0ciAidOG7lW5nIGjhu6NwIGThuqFuZyB4w7pjIHTDrWNoIG5oxrAgbMOgIHThuqFvLCDEkeG7lWkgdMOqbiB2w6AgY8OhYyB0aGF5IMSR4buVaSBjaOG6vyDEkeG7mSIKKworIzogZGlmZi5jOjUzMDgKK21zZ2lkICJzaG93IG9ubHkgbmFtZXMgb2YgY2hhbmdlZCBmaWxlcyIKK21zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIHTDqm4gY+G7p2EgY8OhYyB04bqtcCB0aW4gxJHhu5VpIgorCisjOiBkaWZmLmM6NTMxMQorbXNnaWQgInNob3cgb25seSBuYW1lcyBhbmQgc3RhdHVzIG9mIGNoYW5nZWQgZmlsZXMiCittc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyB0w6puIHThuq1wIHRpbiB2w6AgdMOsbmggdHLhuqFuZyBj4bunYSBjw6FjIHThuq1wIHRpbiBi4buLIHRoYXkgxJHhu5VpIgorCisjOiBkaWZmLmM6NTMxMworbXNnaWQgIjx3aWR0aD5bLDxuYW1lLXdpZHRoPlssPGNvdW50Pl1dIgorbXNnc3RyICI8cuG7mW5nPlssPG5hbWUtd2lkdGg+Wyw8c+G7kS1sxrDhu6NuZz5dXSIKKworIzogZGlmZi5jOjUzMTQKK21zZ2lkICJnZW5lcmF0ZSBkaWZmc3RhdCIKK21zZ3N0ciAidOG6oW8gZGlmZnN0YXQiCisKKyM6IGRpZmYuYzo1MzE2IGRpZmYuYzo1MzE5IGRpZmYuYzo1MzIyCittc2dpZCAiPHdpZHRoPiIKK21zZ3N0ciAiPHLhu5luZz4iCisKKyM6IGRpZmYuYzo1MzE3Cittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBhIGdpdmVuIHdpZHRoIgorbXNnc3RyICJ04bqhbyBkaWZmc3RhdCB24bubaSDEkeG7mSBy4buZbmcgxJHDoyBjaG8iCisKKyM6IGRpZmYuYzo1MzIwCittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBhIGdpdmVuIG5hbWUgd2lkdGgiCittc2dzdHIgInThuqFvIGRpZmZzdGF0IHbhu5tpIHTDqm4gxJHhu5kgcuG7mW5nIMSRw6MgY2hvIgorCisjOiBkaWZmLmM6NTMyMworbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggYSBnaXZlbiBncmFwaCB3aWR0aCIKK21zZ3N0ciAidOG6oW8gZGlmZnN0YXQgduG7m2kgxJHhu5kgcuG7mW5nIMSR4buTIHRo4buLIMSRw6MgY2hvIgorCisjOiBkaWZmLmM6NTMyNQorbXNnaWQgIjxjb3VudD4iCittc2dzdHIgIjxz4buRX2zGsOG7o25nPiIKKworIzogZGlmZi5jOjUzMjYKK21zZ2lkICJnZW5lcmF0ZSBkaWZmc3RhdCB3aXRoIGxpbWl0ZWQgbGluZXMiCittc2dzdHIgInThuqFvIGRpZmZzdGF0IHbhu5tpIGPDoWMgZMOybmcgYuG7iyBnaeG7m2kgaOG6oW4iCisKKyM6IGRpZmYuYzo1MzI5Cittc2dpZCAiZ2VuZXJhdGUgY29tcGFjdCBzdW1tYXJ5IGluIGRpZmZzdGF0IgorbXNnc3RyICJ04bqhbyB04buVbmcgaOG7o3AgeMO6YyB0w61jaCB0cm9uZyBkaWZmc3RhdCIKKworIzogZGlmZi5jOjUzMzIKK21zZ2lkICJvdXRwdXQgYSBiaW5hcnkgZGlmZiB0aGF0IGNhbiBiZSBhcHBsaWVkIgorbXNnc3RyICJ4deG6pXQgcmEgbeG7mXQga2jDoWMgYmnhu4d0IGThuqFuZyBuaOG7iyBwaMOibiBjw6FpIG3DoCBjw7MgdGjhu4MgxJHGsOG7o2Mgw6FwIGThu6VuZyIKKworIzogZGlmZi5jOjUzMzUKK21zZ2lkICJzaG93IGZ1bGwgcHJlLSBhbmQgcG9zdC1pbWFnZSBvYmplY3QgbmFtZXMgb24gdGhlIFwiaW5kZXhcIiBsaW5lcyIKK21zZ3N0ciAiIgorImhp4buDbiB0aOG7iyDEkeG6p3kgxJHhu6cgY8OhYyB0w6puIMSR4buRaSB0xrDhu6NuZyBwcmUtIHbDoCBwb3N0LWltYWdlIHRyw6puIGPDoWMgZMOybmcgXCJt4bulYyBs4bulYyIKKyJcIiIKKworIzogZGlmZi5jOjUzMzcKK21zZ2lkICJzaG93IGNvbG9yZWQgZGlmZiIKK21zZ3N0ciAiaGnhu4NuIHRo4buLIHRoYXkgxJHhu5VpIMSRxrDhu6NjIHTDtCBtw6B1IgorCisjOiBkaWZmLmM6NTMzOAorbXNnaWQgIjxraW5kPiIKK21zZ3N0ciAiPGtp4buDdT4iCisKKyM6IGRpZmYuYzo1MzM5Cittc2dpZCAiIgorImhpZ2hsaWdodCB3aGl0ZXNwYWNlIGVycm9ycyBpbiB0aGUgJ2NvbnRleHQnLCAnb2xkJyBvciAnbmV3JyBsaW5lcyBpbiB0aGUgIgorImRpZmYiCittc2dzdHIgIiIKKyJ0w7Qgc2FuZyBjw6FjIGzhu5dpIHbhu4Ega2hv4bqjbmcgdHLhuq9uZyB0cm9uZyBjw6FjIGTDsm5nIOKAnGNvbnRleHTigJ0sIOKAnG9sZOKAnSB2w6Ag4oCcbmV34oCdICIKKyJ0cm9uZyBraMOhYyBiaeG7h3QiCisKKyM6IGRpZmYuYzo1MzQyCittc2dpZCAiIgorImRvIG5vdCBtdW5nZSBwYXRobmFtZXMgYW5kIHVzZSBOVUxzIGFzIG91dHB1dCBmaWVsZCB0ZXJtaW5hdG9ycyBpbiAtLXJhdyBvciAiCisiLS1udW1zdGF0IgorbXNnc3RyICIiCisia2jDtG5nIG11bmdlIHTDqm4gxJHGsOG7nW5nIGThuqtuIHbDoCBz4butIGThu6VuZyBOVUwgbMOgbSBi4buZIHBow6JuIHTDoWNoIHRyxrDhu51uZyDEkeG6p3UgcmEgIgorInRyb25nIC0tcmF3IGhheSAtLW51bXN0YXQiCisKKyM6IGRpZmYuYzo1MzQ1IGRpZmYuYzo1MzQ4IGRpZmYuYzo1MzUxIGRpZmYuYzo1NDU3Cittc2dpZCAiPHByZWZpeD4iCittc2dzdHIgIjx0aeG7gW5fdOG7kT4iCisKKyM6IGRpZmYuYzo1MzQ2Cittc2dpZCAic2hvdyB0aGUgZ2l2ZW4gc291cmNlIHByZWZpeCBpbnN0ZWFkIG9mIFwiYS9cIiIKK21zZ3N0ciAiaGnhu4NuIHRo4buLIHRp4buBbiB04buRIG5ndeG7k24gxJHDoyBjaG8gdGhheSBjaG8gXCJhL1wiIgorCisjOiBkaWZmLmM6NTM0OQorbXNnaWQgInNob3cgdGhlIGdpdmVuIGRlc3RpbmF0aW9uIHByZWZpeCBpbnN0ZWFkIG9mIFwiYi9cIiIKK21zZ3N0ciAiaGnhu4NuIHRo4buLIHRp4buBbiB04buRIMSRw61jaCDEkcOjIGNobyB0aGF5IGNobyBcImIvXCIiCisKKyM6IGRpZmYuYzo1MzUyCittc2dpZCAicHJlcGVuZCBhbiBhZGRpdGlvbmFsIHByZWZpeCB0byBldmVyeSBsaW5lIG9mIG91dHB1dCIKK21zZ3N0ciAidHJlbyB2w6BvIHRyxrDhu5tjIG3hu5l0IHRp4buBbiB04buRIGLhu5Ugc3VuZyBjaG8gbeG7l2kgZMOybmcga+G6v3QgeHXhuqV0IgorCisjOiBkaWZmLmM6NTM1NQorbXNnaWQgImRvIG5vdCBzaG93IGFueSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gcHJlZml4IgorbXNnc3RyICLEkeG7q25nIGhp4buDbiB0aOG7iyBi4bqldCBr4buzIHRp4buBbiB04buRIG5ndeG7k24gaGF5IMSRw61jaCIKKworIzogZGlmZi5jOjUzNTgKK21zZ2lkICJzaG93IGNvbnRleHQgYmV0d2VlbiBkaWZmIGh1bmtzIHVwIHRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGxpbmVzIgorbXNnc3RyICIiCisiaGnhu4NuIHRo4buLIG5n4buvIGPhuqNuaCBnaeG7r2EgY8OhYyBraMO6YyBraMOhYyBiaeG7h3Qga2hpIMSR4bqhdCDEkeG6v24gc+G7kSBsxrDhu6NuZyBkw7JuZyDEkcOjIGNo4buJICIKKyLEkeG7i25oIgorCisjOiBkaWZmLmM6NTM2MiBkaWZmLmM6NTM2NyBkaWZmLmM6NTM3MgorbXNnaWQgIjxjaGFyPiIKK21zZ3N0ciAiPGvDvV904buxPiIKKworIzogZGlmZi5jOjUzNjMKK21zZ2lkICJzcGVjaWZ5IHRoZSBjaGFyYWN0ZXIgdG8gaW5kaWNhdGUgYSBuZXcgbGluZSBpbnN0ZWFkIG9mICcrJyIKK21zZ3N0ciAiY2jhu4kgxJHhu4tuaCBt4buZdCBrw70gdOG7sSDEkeG7gyBiaeG7g3UgdGjhu4sgbeG7mXQgZMOybmcgxJHGsOG7o2MgdGjDqm0gbeG7m2kgdGhheSBjaG8g4oCcK+KAnSIKKworIzogZGlmZi5jOjUzNjgKK21zZ2lkICJzcGVjaWZ5IHRoZSBjaGFyYWN0ZXIgdG8gaW5kaWNhdGUgYW4gb2xkIGxpbmUgaW5zdGVhZCBvZiAnLSciCittc2dzdHIgImNo4buJIMSR4buLbmggbeG7mXQga8O9IHThu7EgxJHhu4MgYmnhu4N1IHRo4buLIG3hu5l0IGTDsm5nIMSRw6MgY8WpIHRoYXkgY2hvIOKAnC3igJ0iCisKKyM6IGRpZmYuYzo1MzczCittc2dpZCAic3BlY2lmeSB0aGUgY2hhcmFjdGVyIHRvIGluZGljYXRlIGEgY29udGV4dCBpbnN0ZWFkIG9mICcgJyIKK21zZ3N0ciAiY2jhu4kgxJHhu4tuaCBt4buZdCBrw70gdOG7sSDEkeG7gyBiaeG7g3UgdGjhu4sgbeG7mXQgbmfhu68gY+G6o25oIHRoYXkgY2hvIOKAnOKAnSIKKworIzogZGlmZi5jOjUzNzYKK21zZ2lkICJEaWZmIHJlbmFtZSBvcHRpb25zIgorbXNnc3RyICJUw7l5IGNo4buNbiBraMOhYyBiaeG7h3QgxJHhu5VpIHTDqm4iCisKKyM6IGRpZmYuYzo1Mzc3Cittc2dpZCAiPG4+Wy88bT5dIgorbXNnc3RyICI8bj5bLzxtPl0iCisKKyM6IGRpZmYuYzo1Mzc4Cittc2dpZCAiYnJlYWsgY29tcGxldGUgcmV3cml0ZSBjaGFuZ2VzIGludG8gcGFpcnMgb2YgZGVsZXRlIGFuZCBjcmVhdGUiCittc2dzdHIgIm5n4bqvdCBjw6FjIHRoYXkgxJHhu5VpIGdoaSBs4bqhaSBob8OgbiB0aGnhu4duIHRow6BuaCBj4bq3cCBj4bunYSB4w7NhIHbDoCB04bqhbyIKKworIzogZGlmZi5jOjUzODIKK21zZ2lkICJkZXRlY3QgcmVuYW1lcyIKK21zZ3N0ciAiZMOyIHTDrG0gY8OhYyB0w6puIHRoYXkgxJHhu5VpIgorCisjOiBkaWZmLmM6NTM4NgorbXNnaWQgIm9taXQgdGhlIHByZWltYWdlIGZvciBkZWxldGVzIgorbXNnc3RyICJi4buPIHF1YSBwcmVpbWFnZSAodGnhu4FuIOG6o25oPz8pIGNobyBjw6FjIHZp4buHYyB4w7NhIgorCisjOiBkaWZmLmM6NTM4OQorbXNnaWQgImRldGVjdCBjb3BpZXMiCittc2dzdHIgImTDsiBi4bqjbiBzYW8iCisKKyM6IGRpZmYuYzo1MzkzCittc2dpZCAidXNlIHVubW9kaWZpZWQgZmlsZXMgYXMgc291cmNlIHRvIGZpbmQgY29waWVzIgorbXNnc3RyICJkw7luZyBjw6FjIHThuq1wIHRpbiBraMO0bmcgYuG7iyBjaOG7iW5oIHPhu61hIG5oxrAgbMOgIG5ndeG7k24gxJHhu4MgdMOsbSBjw6FjIGLhuqNuIHNhbyIKKworIzogZGlmZi5jOjUzOTUKK21zZ2lkICJkaXNhYmxlIHJlbmFtZSBkZXRlY3Rpb24iCittc2dzdHIgInThuq90IGTDsiB0w6xtIMSR4buVaSB0w6puIgorCisjOiBkaWZmLmM6NTM5OAorbXNnaWQgInVzZSBlbXB0eSBibG9icyBhcyByZW5hbWUgc291cmNlIgorbXNnc3RyICJkdW5nIGPDoWMgYmxvYiB0cuG7kW5nIHLhu5FuZyBuaMawIGzDoCBuZ3Xhu5NuIMSR4buVaSB0w6puIgorCisjOiBkaWZmLmM6NTQwMAorbXNnaWQgImNvbnRpbnVlIGxpc3RpbmcgdGhlIGhpc3Rvcnkgb2YgYSBmaWxlIGJleW9uZCByZW5hbWVzIgorbXNnc3RyICJ0aeG6v3AgdOG7pWMgbGnhu4d0IGvDqiBs4buLY2ggc+G7rSBj4bunYSBt4buZdCB04bqtcCB0aW4gbmdvw6BpIMSR4buVaSB0w6puIgorCisjOiBkaWZmLmM6NTQwMworbXNnaWQgIiIKKyJwcmV2ZW50IHJlbmFtZS9jb3B5IGRldGVjdGlvbiBpZiB0aGUgbnVtYmVyIG9mIHJlbmFtZS9jb3B5IHRhcmdldHMgZXhjZWVkcyAiCisiZ2l2ZW4gbGltaXQiCittc2dzdHIgIiIKKyJuZ8SDbiBj4bqjbiBkw7IgdMOsbSDEkeG7lWkgdMOqbi9i4bqjbiBzYW8gbuG6v3Ugc+G7kSBsxrDhu6NuZyBj4bunYSDEkcOtY2ggxJHhu5VpIHTDqm4vYuG6o24gc2FvIHbGsOG7o3QgIgorInF1w6EgZ2nhu5tpIGjhuqFuIMSRxrBhIHJhIgorCisjOiBkaWZmLmM6NTQwNQorbXNnaWQgIkRpZmYgYWxnb3JpdGhtIG9wdGlvbnMiCittc2dzdHIgIlTDuXkgY2jhu41uIHRodeG6rXQgdG/DoW4ga2jDoWMgYmnhu4d0IgorCisjOiBkaWZmLmM6NTQwNworbXNnaWQgInByb2R1Y2UgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIGRpZmYiCittc2dzdHIgInPhuqNuIHNpbmgga2jDoWMgYmnhu4d0IMOtdCBuaOG6pXQgY8OzIHRo4buDIgorCisjOiBkaWZmLmM6NTQxMAorbXNnaWQgImlnbm9yZSB3aGl0ZXNwYWNlIHdoZW4gY29tcGFyaW5nIGxpbmVzIgorbXNnc3RyICJs4budIMSRaSBz4buxIHRoYXkgxJHhu5VpIGRvIGtob+G6o25nIHRy4bqvbmcgZ8OieSByYSBraGkgc28gc8OhbmggY8OhYyBkw7JuZyIKKworIzogZGlmZi5jOjU0MTMKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiBhbW91bnQgb2Ygd2hpdGVzcGFjZSIKK21zZ3N0ciAibOG7nSDEkWkgc+G7sSB0aGF5IMSR4buVaSBkbyBz4buRIGzGsOG7o25nIGtob+G6o25nIHRy4bqvbmcgZ8OieSByYSIKKworIzogZGlmZi5jOjU0MTYKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIGF0IEVPTCIKK21zZ3N0ciAibOG7nSDEkWkgc+G7sSB0aGF5IMSR4buVaSBkbyBraG/huqNuZyB0cuG6r25nIGfDonkgcmEga2hpIOG7nyBjdeG7kWkgZMOybmcgRU9MIgorCisjOiBkaWZmLmM6NTQxOQorbXNnaWQgImlnbm9yZSBjYXJyaWVyLXJldHVybiBhdCB0aGUgZW5kIG9mIGxpbmUiCittc2dzdHIgImLhu48gcXVhIGvDvSB04buxIHbhu4EgxJHhuqd1IGTDsm5nIHThuqFpIGN14buRaSBkw7JuZyIKKworIzogZGlmZi5jOjU0MjIKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyB3aG9zZSBsaW5lcyBhcmUgYWxsIGJsYW5rIgorbXNnc3RyICJi4buPIHF1YSBjw6FjIHRoYXkgxJHhu5VpIGNobyB0b8OgbiBi4buZIGPDoWMgZMOybmcgbMOgIHRy4buRbmciCisKKyM6IGRpZmYuYzo1NDI1Cittc2dpZCAiaGV1cmlzdGljIHRvIHNoaWZ0IGRpZmYgaHVuayBib3VuZGFyaWVzIGZvciBlYXN5IHJlYWRpbmciCittc2dzdHIgImhldXJpc3RpYyDEkeG7gyBk4buLY2ggaOG6oW4gYmnDqm4gY+G7p2Ega2jhu5FpIGtow6FjIGJp4buHdCBjaG8gZOG7hSDEkeG7jWMiCisKKyM6IGRpZmYuYzo1NDI4Cittc2dpZCAiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJwYXRpZW5jZSBkaWZmXCIgYWxnb3JpdGhtIgorbXNnc3RyICJ04bqhbyBraMOhYyBiaeG7h3Qgc+G7rSBkdW5nIHRodeG6rXQgdG/DoW4gXCJwYXRpZW5jZSBkaWZmXCIiCisKKyM6IGRpZmYuYzo1NDMyCittc2dpZCAiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJoaXN0b2dyYW0gZGlmZlwiIGFsZ29yaXRobSIKK21zZ3N0ciAidOG6oW8ga2jDoWMgYmnhu4d0IHPhu60gZHVuZyB0aHXhuq10IHRvw6FuIFwiaGlzdG9ncmFtIGRpZmZcIiIKKworIzogZGlmZi5jOjU0MzQKK21zZ2lkICI8YWxnb3JpdGhtPiIKK21zZ3N0ciAiPHRodeG6rXQgdG/DoW4+IgorCisjOiBkaWZmLmM6NTQzNQorbXNnaWQgImNob29zZSBhIGRpZmYgYWxnb3JpdGhtIgorbXNnc3RyICJjaOG7jW4gbeG7mXQgdGh14bqtdCB0b8OhbiBraMOhYyBiaeG7h3QiCisKKyM6IGRpZmYuYzo1NDM3Cittc2dpZCAiPHRleHQ+IgorbXNnc3RyICI8dsSDbiBi4bqjbj4iCisKKyM6IGRpZmYuYzo1NDM4Cittc2dpZCAiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJhbmNob3JlZCBkaWZmXCIgYWxnb3JpdGhtIgorbXNnc3RyICJ04bqhbyBraMOhYyBiaeG7h3Qgc+G7rSBkdW5nIHRodeG6rXQgdG/DoW4gXCJhbmNob3JlZCBkaWZmXCIiCisKKyM6IGRpZmYuYzo1NDQwIGRpZmYuYzo1NDQ5IGRpZmYuYzo1NDUyCittc2dpZCAiPG1vZGU+IgorbXNnc3RyICI8Y2jhur8gxJHhu5k+IgorCisjOiBkaWZmLmM6NTQ0MQorbXNnaWQgInNob3cgd29yZCBkaWZmLCB1c2luZyA8bW9kZT4gdG8gZGVsaW1pdCBjaGFuZ2VkIHdvcmRzIgorbXNnc3RyICIiCisiaGnhu4NuIHRo4buLIGtow6FjIGJp4buHdCB04burLCBz4butIGR1bmcgPGNo4bq/IMSR4buZPiDEkeG7gyBi4buPIGdp4bubaSBo4bqhbiBjw6FjIHThu6sgYuG7iyB0aGF5IMSR4buVaSIKKworIzogZGlmZi5jOjU0NDMgZGlmZi5jOjU0NDYgZGlmZi5jOjU0OTEKK21zZ2lkICI8cmVnZXg+IgorbXNnc3RyICI8cmVnZXg+IgorCisjOiBkaWZmLmM6NTQ0NAorbXNnaWQgInVzZSA8cmVnZXg+IHRvIGRlY2lkZSB3aGF0IGEgd29yZCBpcyIKK21zZ3N0ciAiZMO5bmcgPHJlZ2V4PiDEkeG7gyBxdXnhur90IMSR4buLbmggdOG7qyBsw6AgY8OhaSBnw6wiCisKKyM6IGRpZmYuYzo1NDQ3Cittc2dpZCAiZXF1aXZhbGVudCB0byAtLXdvcmQtZGlmZj1jb2xvciAtLXdvcmQtZGlmZi1yZWdleD08cmVnZXg+IgorbXNnc3RyICJ0xrDGoW5nIMSRxrDGoW5nIHbhu5tpIC0td29yZC1kaWZmPWNvbG9yIC0td29yZC1kaWZmLXJlZ2V4PTxyZWdleD4iCisKKyM6IGRpZmYuYzo1NDUwCittc2dpZCAibW92ZWQgbGluZXMgb2YgY29kZSBhcmUgY29sb3JlZCBkaWZmZXJlbnRseSIKK21zZ3N0ciAiY8OhYyBkw7JuZyBkaSBjaHV54buDbiBj4bunYSBtw6MgbcOgIMSRxrDhu6NjIHTDtCBtw6B1IGtow6FjIG5oYXUiCisKKyM6IGRpZmYuYzo1NDUzCittc2dpZCAiaG93IHdoaXRlIHNwYWNlcyBhcmUgaWdub3JlZCBpbiAtLWNvbG9yLW1vdmVkIgorbXNnc3RyICJi4buPIHF1YSBraG/huqNuZyB0cuG6r25nIG5oxrAgdGjhur8gbsOgbyB0cm9uZyAtLWNvbG9yLW1vdmVkIgorCisjOiBkaWZmLmM6NTQ1NgorbXNnaWQgIk90aGVyIGRpZmYgb3B0aW9ucyIKK21zZ3N0ciAiQ8OhYyB0w7l5IGNo4buNbiBraMOhYyBiaeG7h3Qga2jDoWMiCisKKyM6IGRpZmYuYzo1NDU4Cittc2dpZCAid2hlbiBydW4gZnJvbSBzdWJkaXIsIGV4Y2x1ZGUgY2hhbmdlcyBvdXRzaWRlIGFuZCBzaG93IHJlbGF0aXZlIHBhdGhzIgorbXNnc3RyICIiCisia2hpIGNo4bqheSB04burIHRoxrAgbeG7pWMgY29uLCB0aOG7sSB0aGkgY8OhYyB0aGF5IMSR4buVaSBiw6puIG5nb8OgaSB2w6AgaGnhu4NuIHRo4buLIGPDoWMgIgorIsSRxrDhu51uZyBk4bqrbiBsacOqbiBxdWFuIgorCisjOiBkaWZmLmM6NTQ2MgorbXNnaWQgInRyZWF0IGFsbCBmaWxlcyBhcyB0ZXh0IgorbXNnc3RyICJjb2kgbeG7jWkgdOG6rXAgdGluIGzDoCBk4bqhbmcgdsSDbiBi4bqjbiB0aMaw4budbmciCisKKyM6IGRpZmYuYzo1NDY0Cittc2dpZCAic3dhcCB0d28gaW5wdXRzLCByZXZlcnNlIHRoZSBkaWZmIgorbXNnc3RyICJ0csOhbyDEkeG7lWkgaGFpIMSR4bqndSB2w6BvLCDEkeG6o28gbmfGsOG7o2Mga2jDoWMgYmnhu4d0IgorCisjOiBkaWZmLmM6NTQ2NgorbXNnaWQgImV4aXQgd2l0aCAxIGlmIHRoZXJlIHdlcmUgZGlmZmVyZW5jZXMsIDAgb3RoZXJ3aXNlIgorbXNnc3RyICJ0aG/DoXQgduG7m2kgbcOjIDEgbuG6v3Uga2jDtG5nIGPDsyBraMOhYyBiaeG7h3QgZ8OsLCAwIG7hur91IG5nxrDhu6NjIGzhuqFpIgorCisjOiBkaWZmLmM6NTQ2OAorbXNnaWQgImRpc2FibGUgYWxsIG91dHB1dCBvZiB0aGUgcHJvZ3JhbSIKK21zZ3N0ciAidOG6r3QgbeG7jWkga+G6v3QgeHXhuqV0IGPhu6dhIGNoxrDGoW5nIHRyw6xuaCIKKworIzogZGlmZi5jOjU0NzAKK21zZ2lkICJhbGxvdyBhbiBleHRlcm5hbCBkaWZmIGhlbHBlciB0byBiZSBleGVjdXRlZCIKK21zZ3N0ciAiY2hvIHBow6lwIG3hu5kgYuG7mSBo4buXIHRy4bujIHh14bqldCBraMOhYyBiaeG7h3Qg4bufIGLDqm4gbmdvw6BpIMSRxrDhu6NjIHBow6lwIHRo4buxYyB0aGkiCisKKyM6IGRpZmYuYzo1NDcyCittc2dpZCAicnVuIGV4dGVybmFsIHRleHQgY29udmVyc2lvbiBmaWx0ZXJzIHdoZW4gY29tcGFyaW5nIGJpbmFyeSBmaWxlcyIKK21zZ3N0ciAiIgorImNo4bqheSBjw6FjIGLhu5kgbOG7jWMgdsSDbiBi4bqjbiB0aMO0bmcgdGjGsOG7nW5nIGLDqm4gbmdvw6BpIGtoaSBzbyBzw6FuaCBjw6FjIHThuq1wIHRpbiBuaOG7iyAiCisicGjDom4iCisKKyM6IGRpZmYuYzo1NDc0Cittc2dpZCAiPHdoZW4+IgorbXNnc3RyICI8a2hpPiIKKworIzogZGlmZi5jOjU0NzUKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyB0byBzdWJtb2R1bGVzIGluIHRoZSBkaWZmIGdlbmVyYXRpb24iCittc2dzdHIgImLhu48gcXVhIGPDoWMgdGhheSDEkeG7lWkgdHJvbmcgbcO0LcSRdW4tY29uIHRyb25nIGtoaSB04bqhbyBraMOhYyBiaeG7h3QiCisKKyM6IGRpZmYuYzo1NDc4Cittc2dpZCAiPGZvcm1hdD4iCittc2dzdHIgIjzEkeG7i25oIGThuqFuZz4iCisKKyM6IGRpZmYuYzo1NDc5Cittc2dpZCAic3BlY2lmeSBob3cgZGlmZmVyZW5jZXMgaW4gc3VibW9kdWxlcyBhcmUgc2hvd24iCittc2dzdHIgImNoaSDEkeG7i25oIGtow6FjIGJp4buHdCBiYW8gbmhpw6p1IHRyb25nIGPDoWMgbcO0IMSRdW4gY29uIMSRxrDhu6NjIGhp4buDbiB0aOG7iyIKKworIzogZGlmZi5jOjU0ODMKK21zZ2lkICJoaWRlICdnaXQgYWRkIC1OJyBlbnRyaWVzIGZyb20gdGhlIGluZGV4IgorbXNnc3RyICLhuqluIGPDoWMgbeG7pWMg4oCcZ2l0IGFkZCAtTuKAnSB04burIGLhuqNuZyBt4bulYyBs4bulYyIKKworIzogZGlmZi5jOjU0ODYKK21zZ2lkICJ0cmVhdCAnZ2l0IGFkZCAtTicgZW50cmllcyBhcyByZWFsIGluIHRoZSBpbmRleCIKK21zZ3N0ciAiY29pIGPDoWMgbeG7pWMg4oCcZ2l0IGFkZCAtTuKAnSBuaMawIGzDoCBjw7MgdGjhuq10IHRyb25nIGLhuqNuZyBt4bulYyBs4bulYyIKKworIzogZGlmZi5jOjU0ODgKK21zZ2lkICI8c3RyaW5nPiIKK21zZ3N0ciAiPGNodeG7l2k+IgorCisjOiBkaWZmLmM6NTQ4OQorbXNnaWQgIiIKKyJsb29rIGZvciBkaWZmZXJlbmNlcyB0aGF0IGNoYW5nZSB0aGUgbnVtYmVyIG9mIG9jY3VycmVuY2VzIG9mIHRoZSBzcGVjaWZpZWQgIgorInN0cmluZyIKK21zZ3N0ciAiIgorInTDrG0gY8OhYyBraMOhYyBiaeG7h3QgY8OhaSBtw6AgdGhheSDEkeG7lWkgc+G7kSBsxrDhu6NuZyB44bqjeSByYSBj4bunYSBjw6FjIHBow6F0IHNpbmggY+G7p2EgIgorImNodeG7l2kgxJHGsOG7o2MgY2jhu4kgcmEiCisKKyM6IGRpZmYuYzo1NDkyCittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisicmVnZXgiCittc2dzdHIgIiIKKyJ0w6xtIGPDoWMga2jDoWMgYmnhu4d0IGPDoWkgbcOgIHRoYXkgxJHhu5VpIHPhu5EgbMaw4bujbmcgeOG6o3kgcmEgY+G7p2EgY8OhYyBwaMOhdCBzaW5oIGPhu6dhIGJp4buDdSAiCisidGjhu6ljIGNow61uaCBxdXkgxJHGsOG7o2MgY2jhu4kgcmEiCisKKyM6IGRpZmYuYzo1NDk1Cittc2dpZCAic2hvdyBhbGwgY2hhbmdlcyBpbiB0aGUgY2hhbmdlc2V0IHdpdGggLVMgb3IgLUciCittc2dzdHIgImhp4buDbiB0aOG7iyB04bqldCBj4bqjIGPDoWMgdGhheSDEkeG7lWkgdHJvbmcgbeG7mXQgYuG7mSBjw6FjIHRoYXkgxJHhu5VpIHbhu5tpIC1TIGhheSAtRyIKKworIzogZGlmZi5jOjU0OTgKK21zZ2lkICJ0cmVhdCA8c3RyaW5nPiBpbiAtUyBhcyBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgImNvaSA8Y2h14buXaT4gdHJvbmcgLVMgbmjGsCBsw6AgYmnhu4N1IHRo4bupYyBjaMOtbmggcXVpIFBPU0lYIGPDsyBt4bufIHLhu5luZyIKKworIzogZGlmZi5jOjU1MDEKK21zZ2lkICJjb250cm9sIHRoZSBvcmRlciBpbiB3aGljaCBmaWxlcyBhcHBlYXIgaW4gdGhlIG91dHB1dCIKK21zZ3N0ciAixJFp4buBdSBraGnhu4NuIHRo4bupIHThu7EgeHXDoXQgaGnhu4duIGPDoWMgdOG6rXAgdGluIHRyb25nIGvhur90IHh14bqldCIKKworIzogZGlmZi5jOjU1MDIKK21zZ2lkICI8b2JqZWN0LWlkPiIKK21zZ3N0ciAiPG3Doy1z4buRLcSR4buRaS10xrDhu6NuZz4iCisKKyM6IGRpZmYuYzo1NTAzCittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisib2JqZWN0IgorbXNnc3RyICIiCisidMOsbSBjw6FjIGtow6FjIGJp4buHdCBjw6FpIG3DoCB0aGF5IMSR4buVaSBz4buRIGzGsOG7o25nIHjhuqN5IHJhIGPhu6dhIGPDoWMgcGjDoXQgc2luaCBj4bunYSDEkeG7kWkgIgorInTGsOG7o25nIMSRxrDhu6NjIGNo4buJIHJhIgorCisjOiBkaWZmLmM6NTUwNQorbXNnaWQgIlsoQXxDfER8TXxSfFR8VXxYfEIpLi4uWypdXSIKK21zZ3N0ciAiWyhBfEN8RHxNfFJ8VHxVfFh8QinigKZbKl1dIgorCisjOiBkaWZmLmM6NTUwNgorbXNnaWQgInNlbGVjdCBmaWxlcyBieSBkaWZmIHR5cGUiCittc2dzdHIgImNo4buNbiBjw6FjIHThuq1wIHRpbiB0aGVvIGtp4buDdSBraMOhYyBiaeG7h3QiCisKKyM6IGRpZmYuYzo1NTA4Cittc2dpZCAiPGZpbGU+IgorbXNnc3RyICI8dOG6rXBfdGluPiIKKworIzogZGlmZi5jOjU1MDkKK21zZ2lkICJPdXRwdXQgdG8gYSBzcGVjaWZpYyBmaWxlIgorbXNnc3RyICJYdeG6pXQgcmEgbeG7mXQgdOG6rXAgdGluIGPhu6UgdGjhu4MiCisKKyM6IGRpZmYuYzo2MTY0CiBtc2dpZCAiaW5leGFjdCByZW5hbWUgZGV0ZWN0aW9uIHdhcyBza2lwcGVkIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCiBtc2dzdHIgIiIKICJuaOG6rW4gdGjhuqV5IMSR4buVaSB0w6puIGtow7RuZyBjaMOtbmggeMOhYyDEkcOjIGLhu4sgYuG7jyBxdWEgYuG7n2kgY8OzIHF1w6Egbmhp4buBdSB04bqtcCB0aW4uIgogCi0jOiBkaWZmLmM6NTgyNgorIzogZGlmZi5jOjYxNjcKIG1zZ2lkICJvbmx5IGZvdW5kIGNvcGllcyBmcm9tIG1vZGlmaWVkIHBhdGhzIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCiBtc2dzdHIgIiIKICJjaOG7iSB0w6xtIHRo4bqleSBjw6FjIGLhuqNuIHNhbyB04burIMSRxrDhu51uZyBk4bqrbiDEkcOjIHPhu61hIMSR4buVaSBi4bufaSB2w6wgY8OzIHF1w6Egbmhp4buBdSB04bqtcCB0aW4uIgogCi0jOiBkaWZmLmM6NTgyOQorIzogZGlmZi5jOjYxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInlvdSBtYXkgd2FudCB0byBzZXQgeW91ciAlcyB2YXJpYWJsZSB0byBhdCBsZWFzdCAlZCBhbmQgcmV0cnkgdGhlIGNvbW1hbmQuIgpAQCAtMjI2Miw0MCArMzQyMiw1OSBAQAogImLhuqFuIGPDsyBs4bq9IG114buRbiDEkeG6t3QgYmnhur9uICVzIGPhu6dhIGLhuqFuIHRow6BuaCDDrXQgbmjhuqV0IGzDoCAlZCB2w6AgdGjhu60gbOG6oWkgbOG7h25oIGzhuqduICIKICJu4buvYS4iCiAKLSM6IGRpci5jOjU3NgorIzogZGlyLmM6NTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZShzKSBrbm93biB0byBnaXQiCiBtc2dzdHIgIsSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSBraMO0bmcga2jhu5twIHbhu5tpIGLhuqV0IGvhu7MgdOG6rXAgdGluIG7DoG8gbcOgIGdpdCBiaeG6v3QiCiAKLSM6IGRpci5jOjk2NQorIzogZGlyLmM6NjY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBwYXR0ZXJuOiAnJXMnIgorbXNnc3RyICJt4bqrdSBraMO0bmcgxJHGsOG7o2MgdGjhu6thIG5o4bqtbjog4oCcJXPigJ0iCisKKyM6IGRpci5jOjY4MiBkaXIuYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG5lZ2F0aXZlIHBhdHRlcm46ICclcyciCittc2dzdHIgIm3huqt1IMOibSBraMO0bmcgxJHGsOG7o2MgdGjhu6thIG5o4bqtbjog4oCcJXPigJ0iCisKKyM6IGRpci5jOjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNwYXJzZS1jaGVja291dCBmaWxlIG1heSBoYXZlIGlzc3VlczogcGF0dGVybiAnJXMnIGlzIHJlcGVhdGVkIgorbXNnc3RyICJ04bqtcCB0aW4gc3BhcnNlLWNoZWNrb3V0IGPhu6dhIGLhuqFuIGPDsyBs4bq9IGfhurdwIGzhu5dpOiBt4bqrdSAnJXMnIMSRw6MgYuG7iyBs4bq3cCBs4bqhaSIKKworIzogZGlyLmM6NzI0Cittc2dpZCAiZGlzYWJsaW5nIGNvbmUgcGF0dGVybiBtYXRjaGluZyIKK21zZ3N0ciAidsO0IGhp4buHdSBraOG7m3AgbeG6q3UgbsOzbiIKKworIzogZGlyLmM6MTEwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgdXNlICVzIGFzIGFuIGV4Y2x1ZGUgZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGTDuW5nICVzIG5oxrAgbMOgIG3hu5l0IHThuq1wIHRpbiBsb+G6oWkgdHLhu6siCiAKLSM6IGRpci5jOjE4ODAKKyM6IGRpci5jOjIwNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIHRoxrAgbeG7pWMg4oCcJXPigJ0iCiAKLSM6IGRpci5jOjIxMjIKKyM6IGRpci5jOjI0MTUKIG1zZ2lkICJmYWlsZWQgdG8gZ2V0IGtlcm5lbCBuYW1lIGFuZCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGzhuqV5IHTDqm4gdsOgIHRow7RuZyB0aW4gY+G7p2EgbmjDom4iCiAKLSM6IGRpci5jOjIyNDYKKyM6IGRpci5jOjI1MzkKIG1zZ2lkICJ1bnRyYWNrZWQgY2FjaGUgaXMgZGlzYWJsZWQgb24gdGhpcyBzeXN0ZW0gb3IgbG9jYXRpb24iCi1tc2dzdHIgImLhu5kgbmjhu5sgdOG6oW0ga2jDtG5nIHRoZW8gduG6v3QgYuG7iyB04bqvdCB0csOqbiBo4buHIHRo4buRbmcgaGF5IHbhu4sgdHLDrSBuw6B5LiIKK21zZ3N0ciAiYuG7mSBuaOG7myB04bqhbSBraMO0bmcgdGhlbyB24bq/dCBi4buLIHThuq90IHRyw6puIGjhu4cgdGjhu5FuZyBoYXkgduG7iyB0csOtIG7DoHkiCiAKLSM6IGRpci5jOjMwNDcKKyM6IGRpci5jOjMzNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IGluIHJlcG8gJXMiCiBtc2dzdHIgInThuq1wIHRpbiBnaGkgYuG6o25nIG3hu6VjIGzhu6VjIGLhu4sgaOG7j25nIHRyb25nIGtobyAlcyIKIAotIzogZGlyLmM6MzA5MiBkaXIuYzozMDk3CisjOiBkaXIuYzozMzg4IGRpci5jOjMzOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcmllcyBmb3IgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyB0aMawIG3hu6VjIGNobyAlcyIKIAotIzogZGlyLmM6MzEyNgorIzogZGlyLmM6MzQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbWlncmF0ZSBnaXQgZGlyZWN0b3J5IGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZGkgY8awIHRoxrAgbeG7pWMgZ2l0IHThu6sg4oCcJXPigJ0gc2FuZyDigJwlc+KAnSIKQEAgLTIzMDksMjk4ICszNDg4LDI5MCBAQAogbXNnaWQgIkZpbHRlcmluZyBjb250ZW50IgogbXNnc3RyICJO4buZaSBkdW5nIGzhu41jIgogCi0jOiBlbnRyeS5jOjQ2NQorIzogZW50cnkuYzo0NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXQgZmlsZSAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdGjhu5FuZyBrw6ogdOG6rXAgdGluIOKAnCVz4oCdIgogCi0jOiBlbnZpcm9ubWVudC5jOjE1MAorIzogZW52aXJvbm1lbnQuYzoxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGdpdCBuYW1lc3BhY2UgcGF0aCBcIiVzXCIiCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiBraMO0bmcgZ2lhbiB0w6puIGdpdCBcIiVzXCIgc2FpIgogCi0jOiBlbnZpcm9ubWVudC5jOjMzMgorIzogZW52aXJvbm1lbnQuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCBHSVRfRElSIHRvICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG6t3QgR0lUX0RJUiB0aMOgbmgg4oCcJXPigJ0iCiAKLSM6IGV4ZWMtY21kLmM6MzYxCisjOiBleGVjLWNtZC5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0b28gbWFueSBhcmdzIHRvIHJ1biAlcyIKIG1zZ3N0ciAicXXDoSBuaGnhu4F1IHRoYW0gc+G7kSDEkeG7gyBjaOG6oXkgJXMiCiAKLSM6IGZldGNoLW9iamVjdC5jOjE3Ci1tc2dpZCAiUmVtb3RlIHdpdGggbm8gVVJMIgotbXNnc3RyICJNw6F5IGNo4bunIGtow7RuZyBjw7MgxJHhu4thIGNo4buJIFVSTCIKLQotIzogZmV0Y2gtcGFjay5jOjE1MQorIzogZmV0Y2gtcGFjay5jOjE1MAogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBzaGFsbG93IGxpc3QiCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrOiBj4bqnbiBkYW5oIHPDoWNoIHNoYWxsb3ciCiAKLSM6IGZldGNoLXBhY2suYzoxNjMKKyM6IGZldGNoLXBhY2suYzoxNTMKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgYSBmbHVzaCBwYWNrZXQgYWZ0ZXIgc2hhbGxvdyBsaXN0IgorbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogY+G6p24gbeG7mXQgZ8OzaSDEkeG6qXkgc2F1IGRhbmggc8OhY2ggc2hhbGxvdyIKKworIzogZmV0Y2gtcGFjay5jOjE2NAogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBleHBlY3RlZCBBQ0svTkFLLCBnb3QgYSBmbHVzaCBwYWNrZXQiCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNrOiBj4bqnbiBBQ0svTkFLLCBuaMawbmcgbOG6oWkgbmjhuq1uIMSRxrDhu6NjIG3hu5l0IGfDs2kgZmx1c2giCiAKLSM6IGZldGNoLXBhY2suYzoxODMKKyM6IGZldGNoLXBhY2suYzoxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCAnJXMnIgogbXNnc3RyICJnaXQgZmV0Y2gtcGFjazogY+G6p24gQUNLL05BSywgbmjGsG5nIGzhuqFpIG5o4bqtbiDEkcaw4bujYyDigJwlc+KAnSIKIAotIzogZmV0Y2gtcGFjay5jOjI1MworIzogZmV0Y2gtcGFjay5jOjE5NQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0byByZW1vdGUiCittc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgbMOqbiBtw6F5IHBo4bulYyB24bulIgorCisjOiBmZXRjaC1wYWNrLmM6MjU3CiBtc2dpZCAiLS1zdGF0ZWxlc3MtcnBjIHJlcXVpcmVzIG11bHRpX2Fja19kZXRhaWxlZCIKIG1zZ3N0ciAiLS1zdGF0ZWxlc3MtcnBjIGPhuqduIG11bHRpX2Fja19kZXRhaWxlZCIKIAotIzogZmV0Y2gtcGFjay5jOjM0NyBmZXRjaC1wYWNrLmM6MTI3NworIzogZmV0Y2gtcGFjay5jOjM1NiBmZXRjaC1wYWNrLmM6MTM0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNoYWxsb3cgbGluZTogJXMiCiBtc2dzdHIgImTDsm5nIHNoYWxsb3cga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzUzIGZldGNoLXBhY2suYzoxMjgzCisjOiBmZXRjaC1wYWNrLmM6MzYyIGZldGNoLXBhY2suYzoxMzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdW5zaGFsbG93IGxpbmU6ICVzIgogbXNnc3RyICJkw7JuZyB1bnNoYWxsb3cga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzU1IGZldGNoLXBhY2suYzoxMjg1CisjOiBmZXRjaC1wYWNrLmM6MzY0IGZldGNoLXBhY2suYzoxMzQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBub3QgZm91bmQ6ICVzIgotbXNnc3RyICJLaMO0bmcgdMOsbSB0aOG6pXkgxJHhu5FpIHTGsOG7o25nOiAlcyIKK21zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IMSR4buRaSB0xrDhu6NuZzogJXMiCiAKLSM6IGZldGNoLXBhY2suYzozNTggZmV0Y2gtcGFjay5jOjEyODgKKyM6IGZldGNoLXBhY2suYzozNjcgZmV0Y2gtcGFjay5jOjEzNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW4gb2JqZWN0OiAlcyIKIG1zZ3N0ciAibOG7l2kgdHJvbmcgxJHhu5FpIHTGsOG7o25nOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM2MCBmZXRjaC1wYWNrLmM6MTI5MAorIzogZmV0Y2gtcGFjay5jOjM2OSBmZXRjaC1wYWNrLmM6MTM1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzaGFsbG93IGZvdW5kOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHTDrG0gc2hhbGxvdyBuw6BvOiAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjM2MyBmZXRjaC1wYWNrLmM6MTI5MworIzogZmV0Y2gtcGFjay5jOjM3MiBmZXRjaC1wYWNrLmM6MTM1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCBzaGFsbG93L3Vuc2hhbGxvdywgZ290ICVzIgogbXNnc3RyICJj4bqnbiBzaGFsbG93L3Vuc2hhbGxvdywgbmjGsG5nIGzhuqFpIG5o4bqtbiDEkcaw4bujYyAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjQwNAorIzogZmV0Y2gtcGFjay5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJnb3QgJXMgJWQgJXMiCiBtc2dzdHIgIm5o4bqtbiAlcyAlZCAtICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDIxCisjOiBmZXRjaC1wYWNrLmM6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29tbWl0ICVzIgogbXNnc3RyICJs4bqnbiBjaHV54buDbiBnaWFvICVzIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBmZXRjaC1wYWNrLmM6NDUyCisjOiBmZXRjaC1wYWNrLmM6NDYyCiBtc2dpZCAiZ2l2aW5nIHVwIgogbXNnc3RyICJjaOG7i3UgdGh1YSIKIAotIzogZmV0Y2gtcGFjay5jOjQ2NCBwcm9ncmVzcy5jOjIyOQorIzogZmV0Y2gtcGFjay5jOjQ3NSBwcm9ncmVzcy5jOjMyMwogbXNnaWQgImRvbmUiCiBtc2dzdHIgInhvbmciCiAKLSM6IGZldGNoLXBhY2suYzo0NzYKKyM6IGZldGNoLXBhY2suYzo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ290ICVzICglZCkgJXMiCiBtc2dzdHIgIm5o4bqtbiAlcyAoJWQpICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NTIyCisjOiBmZXRjaC1wYWNrLmM6NTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hcmtpbmcgJXMgYXMgY29tcGxldGUiCiBtc2dzdHIgIsSQw6FuaCBk4bqldSAlcyBsw6AgxJHDoyBob8OgbiB0aMOgbmgiCiAKLSM6IGZldGNoLXBhY2suYzo3NjQKKyM6IGZldGNoLXBhY2suYzo3NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWxyZWFkeSBoYXZlICVzICglcykiCiBtc2dzdHIgIsSRw6Mgc+G6tW4gY8OzICVzICglcykiCiAKLSM6IGZldGNoLXBhY2suYzo4MDMKKyM6IGZldGNoLXBhY2suYzo4MTgKIG1zZ2lkICJmZXRjaC1wYWNrOiB1bmFibGUgdG8gZm9yayBvZmYgc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKIG1zZ3N0ciAiZmV0Y2gtcGFjazoga2jDtG5nIHRo4buDIHLhur0gbmjDoW5oIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCiAKLSM6IGZldGNoLXBhY2suYzo4MTEKKyM6IGZldGNoLXBhY2suYzo4MjYKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIHBhY2sgaGVhZGVyIgogbXNnc3RyICJs4buXaSBnaWFvIHRo4bupYzogcGjhuqduIMSR4bqndSBnw7NpIGLhu4sgc2FpIgogCi0jOiBmZXRjaC1wYWNrLmM6ODc5CisjOiBmZXRjaC1wYWNrLmM6OTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiAlcyIKIG1zZ3N0ciAiZmV0Y2gtcGFjazoga2jDtG5nIHRo4buDIHLhur0gbmjDoW5oICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6ODk1CisjOiBmZXRjaC1wYWNrLmM6OTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGZhaWxlZCIKIG1zZ3N0ciAiJXMgZ+G6t3AgbOG7l2kiCiAKLSM6IGZldGNoLXBhY2suYzo4OTcKKyM6IGZldGNoLXBhY2suYzo5MTgKIG1zZ2lkICJlcnJvciBpbiBzaWRlYmFuZCBkZW11bHRpcGxleGVyIgogbXNnc3RyICJjw7MgbOG7l2kgdHJvbmcgc2lkZWJhbmQgZGVtdWx0aXBsZXhlciIKIAotIzogZmV0Y2gtcGFjay5jOjkyNgotbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgY2xpZW50cyIKLW1zZ3N0ciAiTcOheSBjaOG7pyBraMO0bmcgaOG7lyB0cuG7oyBtw6F5IGtow6FjaCBzaGFsbG93IgotCi0jOiBmZXRjaC1wYWNrLmM6OTMwCi1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2Fja19kZXRhaWxlZCIKLW1zZ3N0ciAiTcOheSBjaOG7pyBo4buXIHRy4bujIG11bHRpX2Fja19kZXRhaWxlZCIKLQotIzogZmV0Y2gtcGFjay5jOjkzMwotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBuby1kb25lIgotbXNnc3RyICJNw6F5IGNo4bunIGjhu5cgdHLhu6Mgbm8tZG9uZSIKLQotIzogZmV0Y2gtcGFjay5jOjkzOQotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2siCi1tc2dzdHIgIk3DoXkgY2jhu6cgaOG7lyB0cuG7oyBtdWx0aV9hY2siCi0KLSM6IGZldGNoLXBhY2suYzo5NDMKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kLTY0ayIKLW1zZ3N0ciAiTcOheSBjaOG7pyBo4buXIHRy4bujIHNpZGUtYmFuZC02NGsiCi0KLSM6IGZldGNoLXBhY2suYzo5NDcKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kIgotbXNnc3RyICJNw6F5IGNo4bunIGjhu5cgdHLhu6Mgc2lkZS1iYW5kIgotCi0jOiBmZXRjaC1wYWNrLmM6OTUxCi1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCi1tc2dzdHIgIk3DoXkgY2jhu6cgaOG7lyB0cuG7oyBhbGxvdy10aXAtc2hhMS1pbi13YW50IgotCi0jOiBmZXRjaC1wYWNrLmM6OTU1Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCi1tc2dzdHIgIk3DoXkgY2jhu6cgaOG7lyB0cuG7oyBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgotCiAjOiBmZXRjaC1wYWNrLmM6OTY1Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIG9mcy1kZWx0YSIKLW1zZ3N0ciAiTcOheSBjaOG7pyBo4buXIHRy4bujIG9mcy1kZWx0YSIKLQotIzogZmV0Y2gtcGFjay5jOjk3MSBmZXRjaC1wYWNrLmM6MTE1OAotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBmaWx0ZXIiCi1tc2dzdHIgIk3DoXkgY2jhu6cgaOG7lyB0cuG7oyBi4buZIGzhu41jIgotCi0jOiBmZXRjaC1wYWNrLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNlcnZlciB2ZXJzaW9uIGlzICUuKnMiCiBtc2dzdHIgIlBoacOqbiBi4bqjbiBtw6F5IGNo4bunIGzDoCAlLipzIgogCi0jOiBmZXRjaC1wYWNrLmM6OTg1CisjOiBmZXRjaC1wYWNrLmM6OTcwIGZldGNoLXBhY2suYzo5NzYgZmV0Y2gtcGFjay5jOjk3OSBmZXRjaC1wYWNrLmM6OTg1CisjOiBmZXRjaC1wYWNrLmM6OTg5IGZldGNoLXBhY2suYzo5OTMgZmV0Y2gtcGFjay5jOjk5NyBmZXRjaC1wYWNrLmM6MTAwMQorIzogZmV0Y2gtcGFjay5jOjEwMDUgZmV0Y2gtcGFjay5jOjEwMDkgZmV0Y2gtcGFjay5jOjEwMTMgZmV0Y2gtcGFjay5jOjEwMTcKKyM6IGZldGNoLXBhY2suYzoxMDIzIGZldGNoLXBhY2suYzoxMDI5IGZldGNoLXBhY2suYzoxMDM0IGZldGNoLXBhY2suYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyAlcyIKK21zZ3N0ciAiTcOheSBjaOG7pyBo4buXIHRy4bujICVzIgorCisjOiBmZXRjaC1wYWNrLmM6OTcyCittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgorbXNnc3RyICJNw6F5IGNo4bunIGtow7RuZyBo4buXIHRy4bujIG3DoXkga2jDoWNoIHNoYWxsb3ciCisKKyM6IGZldGNoLXBhY2suYzoxMDMyCiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LXNpbmNlIgogbXNnc3RyICJNw6F5IGNo4bunIGtow7RuZyBo4buXIHRy4bujIC0tc2hhbGxvdy1zaW5jZSIKIAotIzogZmV0Y2gtcGFjay5jOjk4OQorIzogZmV0Y2gtcGFjay5jOjEwMzcKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctZXhjbHVkZSIKIG1zZ3N0ciAiTcOheSBjaOG7pyBraMO0bmcgaOG7lyB0cuG7oyAtLXNoYWxsb3ctZXhjbHVkZSIKIAotIzogZmV0Y2gtcGFjay5jOjk5MQorIzogZmV0Y2gtcGFjay5jOjEwNDEKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLWRlZXBlbiIKIG1zZ3N0ciAiTcOheSBjaOG7pyBraMO0bmcgaOG7lyB0cuG7oyAtLWRlZXBlbiIKIAotIzogZmV0Y2gtcGFjay5jOjEwMDgKKyM6IGZldGNoLXBhY2suYzoxMDU4CiBtc2dpZCAibm8gY29tbW9uIGNvbW1pdHMiCiBtc2dzdHIgImtow7RuZyBjw7MgbOG6p24gY2h1eeG7g24gZ2lhbyBjaHVuZyBuw6BvIgogCi0jOiBmZXRjaC1wYWNrLmM6MTAyMCBmZXRjaC1wYWNrLmM6MTQxOAorIzogZmV0Y2gtcGFjay5jOjEwNzAgZmV0Y2gtcGFjay5jOjE1MzYKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZmV0Y2ggZmFpbGVkLiIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2s6IGZldGNoIGfhurdwIGzhu5dpLiIKIAotIzogZmV0Y2gtcGFjay5jOjExNTMKKyM6IGZldGNoLXBhY2suYzoxMjA5CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyByZXF1ZXN0cyIKIG1zZ3N0ciAiTcOheSBjaOG7pyBraMO0bmcgaOG7lyB0cuG7oyB5w6p1IGPhuqd1IHNoYWxsb3ciCiAKLSM6IGZldGNoLXBhY2suYzoxMTk5CisjOiBmZXRjaC1wYWNrLmM6MTIxNgorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBmaWx0ZXIiCittc2dzdHIgIk3DoXkgY2jhu6cgaOG7lyB0cuG7oyBi4buZIGzhu41jIgorCisjOiBmZXRjaC1wYWNrLmM6MTIzOQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSByZXF1ZXN0IHRvIHJlbW90ZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSBjw6FjIHnDqnUgY+G6p3UgbMOqbiBtw6F5IHBo4bulYyB24bulIgorCisjOiBmZXRjaC1wYWNrLmM6MTI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciByZWFkaW5nIHNlY3Rpb24gaGVhZGVyICclcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7jWMgcGjhuqduIMSR4bqndSBj4bunYSDEkW/huqFuICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MTIwNQorIzogZmV0Y2gtcGFjay5jOjEyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgJyVzJywgcmVjZWl2ZWQgJyVzJyIKIG1zZ3N0ciAiY+G6p24g4oCcJXPigJ0sIG5oxrBuZyBs4bqhaSBuaOG6rW4g4oCcJXPigJ0iCiAKLSM6IGZldGNoLXBhY2suYzoxMjQ0CisjOiBmZXRjaC1wYWNrLmM6MTMwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFja25vd2xlZGdtZW50IGxpbmU6ICclcyciCiBtc2dzdHIgImfhurdwIGTDsm5nIGtow7RuZyDEkcaw4bujYyB0aOG7q2Egbmjhuq1uOiDigJwlc+KAnSIKIAotIzogZmV0Y2gtcGFjay5jOjEyNDkKKyM6IGZldGNoLXBhY2suYzoxMzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHByb2Nlc3NpbmcgYWNrczogJWQiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB44butIGzDvSB0w61uIGhp4buHdSB0cuG6oyBs4budaTogJWQiCiAKLSM6IGZldGNoLXBhY2suYzoxMjU5CisjOiBmZXRjaC1wYWNrLmM6MTMxOAogbXNnaWQgImV4cGVjdGVkIHBhY2tmaWxlIHRvIGJlIHNlbnQgYWZ0ZXIgJ3JlYWR5JyIKIG1zZ3N0ciAiY+G6p24gdOG6rXAgdGluIGfDs2kgxJHhu4MgZ+G7rWkgc2F1IOKAnHJlYWR54oCdIgogCi0jOiBmZXRjaC1wYWNrLmM6MTI2MQorIzogZmV0Y2gtcGFjay5jOjEzMjAKIG1zZ2lkICJleHBlY3RlZCBubyBvdGhlciBzZWN0aW9ucyB0byBiZSBzZW50IGFmdGVyIG5vICdyZWFkeSciCiBtc2dzdHIgImtow7RuZyBj4bqnbiB0aMOqbSBwaOG6p24gbsOgbyDEkeG7gyBn4butaSBzYXUg4oCccmVhZHnigJ0iCiAKLSM6IGZldGNoLXBhY2suYzoxMjk4CisjOiBmZXRjaC1wYWNrLmM6MTM2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBwcm9jZXNzaW5nIHNoYWxsb3cgaW5mbzogJWQiCiBtc2dzdHIgImzhu5dpIHjhu60gbMO9IHRow7RuZyB0aW4gc2hhbGxvdzogJWQiCiAKLSM6IGZldGNoLXBhY2suYzoxMzE0CisjOiBmZXRjaC1wYWNrLmM6MTQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCB3YW50ZWQtcmVmLCBnb3QgJyVzJyIKIG1zZ3N0ciAiY+G6p24gd2FudGVkLXJlZiwgbmjGsG5nIGzhuqFpIG5o4bqtbiDEkcaw4bujYyDigJwlc+KAnSIKIAotIzogZmV0Y2gtcGFjay5jOjEzMjQKKyM6IGZldGNoLXBhY2suYzoxNDE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgd2FudGVkLXJlZjogJyVzJyIKIG1zZ3N0ciAia2jDtG5nIGPhuqduIHdhbnRlZC1yZWY6IOKAnCVz4oCdIgogCi0jOiBmZXRjaC1wYWNrLmM6MTMyOAorIzogZmV0Y2gtcGFjay5jOjE0MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcHJvY2Vzc2luZyB3YW50ZWQgcmVmczogJWQiCiBtc2dzdHIgImzhu5dpIGtoaSB44butIGzDvSB3YW50ZWQgcmVmczogJWQiCiAKLSM6IGZldGNoLXBhY2suYzoxNjQyCisjOiBmZXRjaC1wYWNrLmM6MTc2MgogbXNnaWQgIm5vIG1hdGNoaW5nIHJlbW90ZSBoZWFkIgogbXNnc3RyICJraMO0bmcga2jhu5twIHBo4bqnbiDEkeG6p3UgbcOheSBjaOG7pyIKIAotIzogZmV0Y2gtcGFjay5jOjE2NjAgYnVpbHRpbi9jbG9uZS5jOjY2NAorIzogZmV0Y2gtcGFjay5jOjE3ODUgYnVpbHRpbi9jbG9uZS5jOjY4OAogbXNnaWQgInJlbW90ZSBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzIgogbXNnc3RyICJtw6F5IGNo4bunIMSRw6Mga2jDtG5nIGfhu61pIHThuqV0IGPhuqMgY8OhYyDEkeG7kWkgdMaw4bujbmcgY+G6p24gdGhp4bq/dCIKIAotIzogZmV0Y2gtcGFjay5jOjE2ODYKKyM6IGZldGNoLXBhY2suYzoxODEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcmVtb3RlIHJlZiAlcyIKLW1zZ3N0ciAiS2jDtG5nIGPDsyBtw6F5IGNo4bunIHRoYW0gY2hp4bq/dSBuw6BvIG5oxrAgJXMiCittc2dzdHIgImtow7RuZyBjw7MgbcOheSBjaOG7pyB0aGFtIGNoaeG6v3UgbsOgbyBuaMawICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MTY4OQorIzogZmV0Y2gtcGFjay5jOjE4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IGFsbG93IHJlcXVlc3QgZm9yIHVuYWR2ZXJ0aXNlZCBvYmplY3QgJXMiCiBtc2dzdHIgIiIKICJNw6F5IHBo4bulYyB24bulIGtow7RuZyBjaG8gcGjDqXAgecOqdSBj4bqndSBjaG8gxJHhu5FpIHTGsOG7o25nIGtow7RuZyDEkcaw4bujYyBiw6FvIHRyxrDhu5tjICVzIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MzE4Ci1tc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgotbXNnc3RyICJncGcgZ+G6t3AgbOG7l2kga2hpIGvDvSBk4buvIGxp4buHdSIKLQotIzogZ3BnLWludGVyZmFjZS5jOjM0NAorIzogZ3BnLWludGVyZmFjZS5jOjIyMwogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyB04bqtcCB0aW4gdOG6oW0gdGjhu51pIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MzQ3CisjOiBncGctaW50ZXJmYWNlLmM6MjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZ2hpIGNo4buvIGvDvSDEkcOtbmgga8OobSB2w6BvIOKAnCVz4oCdIgogCi0jOiBncmFwaC5jOjk3CisjOiBncGctaW50ZXJmYWNlLmM6MzkwCittc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgorbXNnc3RyICJncGcgZ+G6t3AgbOG7l2kga2hpIGvDvSBk4buvIGxp4buHdSIKKworIzogZ3JhcGguYzo5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmUgaW52YWxpZCBjb2xvciAnJS4qcycgaW4gbG9nLmdyYXBoQ29sb3JzIgogbXNnc3RyICJi4buPIHF1YSBtw6B1IGtow7RuZyBo4bujcCBs4buHIOKAnCUuKnPigJ0gdHJvbmcgbG9nLmdyYXBoQ29sb3JzIgogCi0jOiBncmVwLmM6MjExMworIzogZ3JlcC5jOjY2OAorbXNnaWQgIiIKKyJnaXZlbiBwYXR0ZXJuIGNvbnRhaW5zIE5VTEwgYnl0ZSAodmlhIC1mIDxmaWxlPikuIFRoaXMgaXMgb25seSBzdXBwb3J0ZWQgIgorIndpdGggLVAgdW5kZXIgUENSRSB2MiIKK21zZ3N0ciAiIgorIm3huqt1IMSRw6MgY2hvIGPDsyBjaOG7qWEgTlVMTCBieXRlIChxdWEgLWYgPGZpbGU+KS4gxJBp4buBdSBuw6B5IGNo4buJIMSRxrDhu6NjIGjhu5cgdHLhu6MgduG7m2kgLSIKKyJQIGTGsOG7m2kgUENSRSB2MiIKKworIzogZ3JlcC5jOjIxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5hYmxlIHRvIHJlYWQgJXMiCiBtc2dzdHIgIuKAnCVz4oCdOiBraMO0bmcgdGjhu4MgxJHhu41jICVzIgogCi0jOiBncmVwLmM6MjEzMCBzZXR1cC5jOjE2NCBidWlsdGluL2Nsb25lLmM6NDEwIGJ1aWx0aW4vZGlmZi5jOjgxCi0jOiBidWlsdGluL3JtLmM6MTM0CisjOiBncmVwLmM6MjE0MSBzZXR1cC5jOjE2NSBidWlsdGluL2Nsb25lLmM6NDExIGJ1aWx0aW4vZGlmZi5jOjgyCisjOiBidWlsdGluL3JtLmM6MTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBs4bqleSB0aOG7kW5nIGvDqiB24buBIOKAnCVz4oCdIgogCi0jOiBncmVwLmM6MjE0MQorIzogZ3JlcC5jOjIxNTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogc2hvcnQgcmVhZCIKIG1zZ3N0ciAi4oCcJXPigJ06IMSR4buNYyBuZ+G6r24iCkBAIC0yNjUwLDQ4ICszODIxLDQ4IEBACiBtc2dzdHIgIkzhu4duaC9i4buZIGjhu49pIOG7nyBt4bupYyB0aOG6pXAiCiAKICM6IGhlbHAuYzozNwotbXNnaWQgIkxvdy1sZXZlbCBDb21tYW5kcyAvIFN5bmNoaW5nIFJlcG9zaXRvcmllcyIKK21zZ2lkICJMb3ctbGV2ZWwgQ29tbWFuZHMgLyBTeW5jaW5nIFJlcG9zaXRvcmllcyIKIG1zZ3N0ciAiTOG7h25oL8SQ4buTbmcgYuG7mSBraG8g4bufIG3hu6ljIHRo4bqlcCIKIAogIzogaGVscC5jOjM4CiBtc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gSW50ZXJuYWwgSGVscGVycyIKIG1zZ3N0ciAiTOG7h25oL0jhu5cgdHLhu6MgbuG7mWkgdOG6oWkg4bufIG3hu6ljIHRo4bqlcCIKIAotIzogaGVscC5jOjI5NgorIzogaGVscC5jOjI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJhdmFpbGFibGUgZ2l0IGNvbW1hbmRzIGluICclcyciCiBtc2dzdHIgImPDoWMgbOG7h25oIGdpdCBz4bq1biBjw7MgdHJvbmcgdGjGsCBt4bulYyDigJwlc+KAnToiCiAKLSM6IGhlbHAuYzozMDMKKyM6IGhlbHAuYzozMDUKIG1zZ2lkICJnaXQgY29tbWFuZHMgYXZhaWxhYmxlIGZyb20gZWxzZXdoZXJlIG9uIHlvdXIgJFBBVEgiCiBtc2dzdHIgImPDoWMgbOG7h25oIGdpdCBz4bq1biBjw7MgdOG7qyBt4buZdCBuxqFpIGtow6FjIHRyb25nICRQQVRIIGPhu6dhIGLhuqFuIgogCi0jOiBoZWxwLmM6MzEyCisjOiBoZWxwLmM6MzE0CiBtc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgogbXNnc3RyICJDw7MgY8OhYyBs4buHbmggR2l0IGNodW5nIMSRxrDhu6NjIHPhu60gZOG7pW5nIHRyb25nIGPDoWMgdMOsbmggaHXhu5FuZyBraMOhYyBuaGF1OiIKIAotIzogaGVscC5jOjM2MSBnaXQuYzo5MAorIzogaGVscC5jOjM2MyBnaXQuYzo5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIGxpc3RpbmcgdHlwZSAnJXMnIgogbXNnc3RyICJraMO0bmcgaOG7lyB0cuG7oyBsaeG7h3Qga8OqIGzhu4duaCBraeG7g3Ug4oCcJXPigJ0iCiAKLSM6IGhlbHAuYzo0MDgKKyM6IGhlbHAuYzo0MDMKIG1zZ2lkICJUaGUgY29tbW9uIEdpdCBndWlkZXMgYXJlOiIKIG1zZ3N0ciAiQ8OhYyBjaOG7iSBk4bqrbiBjaHVuZyB24buBIEdpdCBsw6A6IgogCi0jOiBoZWxwLmM6NTE3CisjOiBoZWxwLmM6NTEyCiBtc2dpZCAiU2VlICdnaXQgaGVscCA8Y29tbWFuZD4nIHRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIgogbXNnc3RyICJYZW0g4oCcZ2l0IGhlbHAgPGzhu4duaD7igJ0gxJHhu4MgxJHhu41jIGPDoWMgxJHhurdjIHThuqMgY+G7p2EgbOG7h25oIGNvbiIKIAotIzogaGVscC5jOjUyMgorIzogaGVscC5jOjUxNwogbXNnaWQgIkV4dGVybmFsIGNvbW1hbmRzIgogbXNnc3RyICJDw6FjIGzhu4duaCBiw6puIG5nb8OgaSIKIAotIzogaGVscC5jOjUzMAorIzogaGVscC5jOjUzMgogbXNnaWQgIkNvbW1hbmQgYWxpYXNlcyIKIG1zZ3N0ciAiQ8OhYyBiw60gZGFuaCBs4buHbmgiCiAKLSM6IGhlbHAuYzo1OTQKKyM6IGhlbHAuYzo1OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgYXBwZWFycyB0byBiZSBhIGdpdCBjb21tYW5kLCBidXQgd2Ugd2VyZSBub3RcbiIKQEAgLTI3MDAsMzEgKzM4NzEsMzEgQEAKICLigJwlc+KAnSB0csO0bmcgbmjGsCBsw6AgbeG7mXQgbOG7h25oIGdpdCwgbmjGsG5nIGNow7puZyB0w7RpIGtow7RuZ1xuIgogInRo4buDIHRo4buxYyB0aGkgbsOzLiBDw7MgbOG6vSBsw6AgbOG7h25oIGdpdC0lcyDEkcOjIGLhu4sgaOG7j25nPyIKIAotIzogaGVscC5jOjY1MworIzogaGVscC5jOjY1NQogbXNnaWQgIlVoIG9oLiBZb3VyIHN5c3RlbSByZXBvcnRzIG5vIEdpdCBjb21tYW5kcyBhdCBhbGwuIgogbXNnc3RyICLhu5BpIGNow6AuIEjhu4cgdGjhu5FuZyBj4bunYSBi4bqhbiBiw6FvIHLhurFuZyBjaOG6s25nIGPDsyBs4buHbmggR2l0IG7DoG8gY+G6oy4iCiAKLSM6IGhlbHAuYzo2NzUKKyM6IGhlbHAuYzo2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiV0FSTklORzogWW91IGNhbGxlZCBhIEdpdCBjb21tYW5kIG5hbWVkICclcycsIHdoaWNoIGRvZXMgbm90IGV4aXN0LiIKIG1zZ3N0ciAiQ+G6ok5IIELDgU86IELhuqFuIMSRw6MgZ+G7jWkgbOG7h25oIEdpdCBjw7MgdMOqbiDigJwlc+KAnSwgbcOgIG7DsyBs4bqhaSBraMO0bmcgY8OzIHPhurVuLiIKIAotIzogaGVscC5jOjY4MAorIzogaGVscC5jOjY4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb250aW51aW5nIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgeW91IG1lYW50ICclcycuIgogbXNnc3RyICJUaeG6v3AgdOG7pWMgdsOgIGNvaSBy4bqxbmcgw70gYuG6oW4gbMOgIOKAnCVz4oCdLiIKIAotIzogaGVscC5jOjY4NQorIzogaGVscC5jOjY4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb250aW51aW5nIGluICUwLjFmIHNlY29uZHMsIGFzc3VtaW5nIHRoYXQgeW91IG1lYW50ICclcycuIgogbXNnc3RyICJUaeG6v3AgdOG7pWMgdHJvbmcgJTAuMWYgZ2nDonksdsOgIGNvaSBy4bqxbmcgw70gYuG6oW4gbMOgIOKAnCVz4oCdLiIKIAotIzogaGVscC5jOjY5MworIzogaGVscC5jOjY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQ6ICclcycgaXMgbm90IGEgZ2l0IGNvbW1hbmQuIFNlZSAnZ2l0IC0taGVscCcuIgogbXNnc3RyICJnaXQ6IOKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IGzhu4duaCBj4bunYSBnaXQuIFhlbSDigJxnaXQgLS1oZWxw4oCdLiIKIAotIzogaGVscC5jOjY5NworIzogaGVscC5jOjY5OQogbXNnaWQgIiIKICJcbiIKICJUaGUgbW9zdCBzaW1pbGFyIGNvbW1hbmQgaXMiCkBAIC0yNzM1LDE2ICszOTA2LDE2IEBACiAiXG4iCiAiTmjhu69uZyBs4buHbmggZ2nhu5FuZyBuaOG6pXQgbMOgIgogCi0jOiBoZWxwLmM6NzEyCisjOiBoZWxwLmM6NzE0CiBtc2dpZCAiZ2l0IHZlcnNpb24gWzxvcHRpb25zPl0iCi1tc2dzdHIgImdpdCB2ZXJzaW9uIFs8Y8OhYy10w7l5LWNo4buNbj5dIgorbXNnc3RyICJnaXQgdmVyc2lvbiBbPGPDoWMgdMO5eSBjaOG7jW4+XSIKIAotIzogaGVscC5jOjc4MAorIzogaGVscC5jOjc4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXMgLSAlcyIKIG1zZ3N0ciAiJXM6ICVzIC0gJXMiCiAKLSM6IGhlbHAuYzo3ODQKKyM6IGhlbHAuYzo3ODcKIG1zZ2lkICIiCiAiXG4iCiAiRGlkIHlvdSBtZWFuIHRoaXM/IgpAQCAtMjc1NSw3ICszOTI2LDcgQEAKICJcbiIKICJDw7MgcGjhuqNpIMO9IGLhuqFuIGzDoCBt4buZdCB0cm9uZyBz4buRIG5o4buvbmcgY8OhaSBuw6B5IGtow7RuZz8iCiAKLSM6IGlkZW50LmM6MzQ1CisjOiBpZGVudC5jOjM0OQogbXNnaWQgIiIKICJcbiIKICIqKiogUGxlYXNlIHRlbGwgbWUgd2hvIHlvdSBhcmUuXG4iCkBAIC0yNzgxLDUwICszOTUyLDg5IEBACiAiQuG7jyB0w7l5IGNo4buNbiAtLWdsb2JhbCBu4bq/dSBjaOG7iSDEkeG7i25oIGRhbmggcmnDqm5nIGNobyBraG8gbsOgeS5cbiIKICJcbiIKIAotIzogaWRlbnQuYzozNjkKKyM6IGlkZW50LmM6Mzc5CiBtc2dpZCAibm8gZW1haWwgd2FzIGdpdmVuIGFuZCBhdXRvLWRldGVjdGlvbiBpcyBkaXNhYmxlZCIKIG1zZ3N0ciAia2jDtG5nIMSRxrBhIHJhIMSR4buLYSBjaOG7iSB0aMawIMSRaeG7h24gdOG7rSB2w6AgYXV0by1kZXRlY3Rpb24gYuG7iyB04bqvdCIKIAotIzogaWRlbnQuYzozNzQKKyM6IGlkZW50LmM6Mzg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBlbWFpbCBhZGRyZXNzIChnb3QgJyVzJykiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04buxIGTDsiB0w6xtIMSR4buLYSBjaOG7iSB0aMawIMSRaeG7h24gdOG7rSAobmjhuq1uIOKAnCVz4oCdKSIKIAotIzogaWRlbnQuYzozODQKKyM6IGlkZW50LmM6NDAxCiBtc2dpZCAibm8gbmFtZSB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgogbXNnc3RyICJjaMawYSBjaOG7iSByYSB0w6puIHbDoCB04buxLcSR4buZbmctZMOyLXTDrG0gYuG7iyB04bqvdCIKIAotIzogaWRlbnQuYzozOTAKKyM6IGlkZW50LmM6NDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBuYW1lIChnb3QgJyVzJykiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBkw7ItdMOsbS104buxIMSR4buZbmcgdMOqbiAoxJHDoyBuaOG6rW4g4oCcJXPigJ0pIgogCi0jOiBpZGVudC5jOjM5OAorIzogaWRlbnQuYzo0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW1wdHkgaWRlbnQgbmFtZSAoZm9yIDwlcz4pIG5vdCBhbGxvd2VkIgogbXNnc3RyICJraMO0bmcgY2hvIHBow6lwIHTDqm4gxJHhu4tuaCBkYW5oIGzDoCBy4buXbmcgKGNobyA8JXM+KSIKIAotIzogaWRlbnQuYzo0MDQKKyM6IGlkZW50LmM6NDIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5hbWUgY29uc2lzdHMgb25seSBvZiBkaXNhbGxvd2VkIGNoYXJhY3RlcnM6ICVzIgogbXNnc3RyICJ0w6puIGNo4buJIMSRxrDhu6NjIHBow6lwIGJhbyBn4buTbSBjw6FjIGvDvSB04buxIHNhdTogJXMiCiAKLSM6IGlkZW50LmM6NDE5IGJ1aWx0aW4vY29tbWl0LmM6NjA2CisjOiBpZGVudC5jOjQzNiBidWlsdGluL2NvbW1pdC5jOjYzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0OiAlcyIKIG1zZ3N0ciAibmfDoHkgdGjDoW5nIGtow7RuZyBo4bujcCBs4buHOiAlcyIKIAotIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MzUKLW1zZ2lkICJtdWx0aXBsZSBmaWx0ZXItc3BlY3MgY2Fubm90IGJlIGNvbWJpbmVkIgotbXNnc3RyICJraMO0bmcgdGjhu4MgdOG7lSBo4bujcCBuaGnhu4F1IMSR4bq3YyB04bqjIGtp4buDdSBs4buNYyIKKyM6IGxpc3Qtb2JqZWN0cy5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJlbnRyeSAnJXMnIGluIHRyZWUgJXMgaGFzIHRyZWUgbW9kZSwgYnV0IGlzIG5vdCBhIHRyZWUiCittc2dzdHIgIm3hu6VjIOKAnCVz4oCdIHRyb25nIGPDonkgJXMgY8OzIG7DunQgY8OieSwgbmjGsG5nIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IGPDonkiCisKKyM6IGxpc3Qtb2JqZWN0cy5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJlbnRyeSAnJXMnIGluIHRyZWUgJXMgaGFzIGJsb2IgbW9kZSwgYnV0IGlzIG5vdCBhIGJsb2IiCittc2dzdHIgIm3hu6VjIOKAnCVz4oCdIHRyb25nIGPDonkgJXMgY8OzIG7DunQgYmxvYiwgbmjGsG5nIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IGJsb2IiCisKKyM6IGxpc3Qtb2JqZWN0cy5jOjM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gbG9hZCByb290IHRyZWUgZm9yIGNvbW1pdCAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHThuqNpIGPDonkgZ+G7kWMgY2hvIGzhuqduIGNodXnhu4NuIGdpYW8g4oCcJXPigJ0iCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXIuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFjY2VzcyBzcGFyc2UgYmxvYiBpbiAnJXMnIgorbXNnc3RyICJraMO0bmcgdGjhu4MgdHJ1eSBj4bqtcCBjw6FjIGJsb2IgcuG6o2kgcsOhYyB0cm9uZyAnJXMnIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSBzcGFyc2UgZmlsdGVyIGRhdGEgaW4gJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBk4buvIGxp4buHdSBi4buZIGzhu41jIHLhuqNpIHLDoWMgdHJvbmcgJXMiCiAKICM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjU4Ci1tc2dpZCAib25seSAndHJlZTowJyBpcyBzdXBwb3J0ZWQiCi1tc2dzdHIgImNo4buJIOKAnHRyZWU6MOKAnSBsw6AgxJHGsOG7o2MgaOG7lyB0cuG7oyIKK21zZ2lkICJleHBlY3RlZCAndHJlZTo8ZGVwdGg+JyIKK21zZ3N0ciAiY+G6p24g4oCcdHJlZTo8ZGVwdGg+4oCdIgogCi0jOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzoxMzcKLW1zZ2lkICJjYW5ub3QgY2hhbmdlIHBhcnRpYWwgY2xvbmUgcHJvbWlzb3IgcmVtb3RlIgotbXNnc3RyICJraMO0bmcgdGjhu4MgdGhheSDEkeG7lWkgbmjDom4gYuG6o24gdOG7q25nIHBo4bqnbiBtw6F5IGNo4bunIHByb21pc29yIgorIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6NzMKK21zZ2lkICJzcGFyc2U6cGF0aCBmaWx0ZXJzIHN1cHBvcnQgaGFzIGJlZW4gZHJvcHBlZCIKK21zZ3N0ciAidmnhu4djIGjhu5cgdHLhu6MgYuG7mSBs4buNYyBzcGFyc2U6xJHGsOG7nW5nL2ThuqtuIMSRw6MgYuG7iyBi4buPIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGZpbHRlci1zcGVjICclcyciCittc2dzdHIgIsSR4bq3YyB04bqjIGLhu5kgbOG7jWMga2jDtG5nIGjhu6NwIGzhu4cg4oCcJXPigJ0iCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGVzY2FwZSBjaGFyIGluIHN1Yi1maWx0ZXItc3BlYzogJyVjJyIKK21zZ3N0ciAicGjhuqNpIHRob8OhdCBjaGFyIHRyb25nIHN1Yi1maWx0ZXItc3BlYzogJyVjJyIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MTQ0Cittc2dpZCAiZXhwZWN0ZWQgc29tZXRoaW5nIGFmdGVyIGNvbWJpbmU6IgorbXNnc3RyICJtb25nIMSR4bujaSBt4buZdCBjw6FpIGfDrCDEkcOzIHNhdSBraGkga+G6v3QgaOG7o3A6IgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzoyMjYKK21zZ2lkICJtdWx0aXBsZSBmaWx0ZXItc3BlY3MgY2Fubm90IGJlIGNvbWJpbmVkIgorbXNnc3RyICJraMO0bmcgdGjhu4MgdOG7lSBo4bujcCBuaGnhu4F1IMSR4bq3YyB04bqjIGtp4buDdSBs4buNYyIKIAogIzogbG9ja2ZpbGUuYzoxNTEKICMsIGMtZm9ybWF0CkBAIC0yODU0LDExOSArNDA2NCwxMTYgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7jWMgYuG7mSBuaOG7myDEkeG7h20iCiAKLSM6IG1lcmdlLmM6MTA3IHJlcmVyZS5jOjcyMCBidWlsdGluL2FtLmM6MTg5OSBidWlsdGluL2FtLmM6MTkzMwotIzogYnVpbHRpbi9jaGVja291dC5jOjM4NyBidWlsdGluL2NoZWNrb3V0LmM6NzA4IGJ1aWx0aW4vY2xvbmUuYzo3NjQKKyM6IG1lcmdlLmM6MTA3IHJlcmVyZS5jOjcyMCBidWlsdGluL2FtLmM6MTg3NCBidWlsdGluL2FtLmM6MTkwOAorIzogYnVpbHRpbi9jaGVja291dC5jOjUzOSBidWlsdGluL2NoZWNrb3V0LmM6Nzk4IGJ1aWx0aW4vY2xvbmUuYzo4MDkKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNjQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIG3hu5tpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM2NwogbXNnaWQgIihiYWQgY29tbWl0KVxuIgogbXNnc3RyICIoY29tbWl0IHNhaSlcbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQ1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX2NhY2hlaW5mbyBmYWlsZWQgZm9yIHBhdGggJyVzJzsgbWVyZ2UgYWJvcnRpbmcuIgogbXNnc3RyICJhZGRpbmZvX2NhY2hlIGfhurdwIGzhu5dpIMSR4buRaSB24bubaSDEkcaw4budbmcgZOG6q24g4oCcJXPigJ07IHZp4buHYyBow7JhIHRy4buZbiBi4buLIGLDo2kgYuG7jy4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM1MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6Mzk5CiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9jYWNoZWluZm8gZmFpbGVkIHRvIHJlZnJlc2ggZm9yIHBhdGggJyVzJzsgbWVyZ2UgYWJvcnRpbmcuIgogbXNnc3RyICIiCiAiYWRkaW5mb19jYWNoZSBn4bq3cCBs4buXaSBraGkgbMOgbSBt4bubaSDEkeG7kWkgduG7m2kgxJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdOyB2aeG7h2MgaMOyYSB0cuG7mW4gYuG7iyAiCiAiYsOjaSBi4buPLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6NDM1Ci1tc2dpZCAiZXJyb3IgYnVpbGRpbmcgdHJlZXMiCi1tc2dzdHIgImfhurdwIGzhu5dpIGtoaSB4w6J5IGThu7FuZyBjw6J5IgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5MDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBhdGggJyVzJyVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdOG6oW8gxJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIHRvIG1ha2Ugcm9vbSBmb3Igc3ViZGlyZWN0b3J5XG4iCiBtc2dzdHIgIkfhu6EgYuG7jyAlcyDEkeG7gyB04bqhbyBjaOG7lyAocm9vbSkgY2hvIHRoxrAgbeG7pWMgY29uXG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkzMSBtZXJnZS1yZWN1cnNpdmUuYzo5NTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxMCBtZXJnZS1yZWN1cnNpdmUuYzo5MjkKIG1zZ2lkICI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IgogbXNnc3RyICI6IGPDsyBs4bq9IGzDoCBt4buZdCB4dW5nIMSR4buZdCBEL0Y/IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5NDAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICclcyciCiBtc2dzdHIgInThu6sgY2jhu5FpIMSRw7NuZyB04bqtcCB0aW4ga2jDtG5nIMSRxrDhu6NjIHRoZW8gZMO1aSB04bqhaSDigJwlc+KAnSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTgyIGJ1aWx0aW4vY2F0LWZpbGUuYzozOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTYwIGJ1aWx0aW4vY2F0LWZpbGUuYzo0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyDEkeG7kWkgdMaw4bujbmcgJXMg4oCcJXPigJ0iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJsb2IgZXhwZWN0ZWQgZm9yICVzICclcyciCiBtc2dzdHIgIm1vbmcgxJHhu6NpIMSR4buRaSB0xrDhu6NuZyBibG9iIGNobyAlcyDigJwlc+KAnSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAwOAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyc6ICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbeG7nyDigJwlc+KAnTogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwMTkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN5bWxpbmsgJyVzJzogJXMiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB04bqhbyBsacOqbiBr4bq/dCBt4buBbSAoc3ltbGluaykg4oCcJXPigJ06ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDI0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvIG5vdCBrbm93IHdoYXQgdG8gZG8gd2l0aCAlMDZvICVzICclcyciCiBtc2dzdHIgImtow7RuZyBoaeG7g3UgcGjhuqNpIGzDoG0gZ8OsIHbhu5tpICUwNm8gJXMg4oCcJXPigJ0iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjExOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobm90IGNoZWNrZWQgb3V0KSIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIGjDsmEgdHLhu5luIG3DtC3EkXVuLWNvbiDigJwlc+KAnSAoa2jDtG5nIGzhuqV5IHJhIMSRxrDhu6NjKSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIxOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChjb21taXRzIG5vdCBwcmVzZW50KSIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIGjDsmEgdHLhu5luIG3DtC3EkXVuLWNvbiDigJwlc+KAnSAobOG6p24gY2h1eeG7g24gZ2lhbyBraMO0bmcgaGnhu4duIGRp4buHbikiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAoY29tbWl0cyBkb24ndCBmb2xsb3cgbWVyZ2UtYmFzZSkiCiBtc2dzdHIgIiIKICJH4bq3cCBs4buXaSBraGkgaMOyYSB0cuG7mW4gbcO0LcSRdW4tY29uIOKAnCVz4oCdIChs4bqnbiBjaHV54buDbiBnaWFvIGtow7RuZyB0aGVvIHNhdSBu4buBbi1ow7JhLSIKICJ0cuG7mW4pIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjM0IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjEgbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRpbmcgc3VibW9kdWxlICVzIHRvIHRoZSBmb2xsb3dpbmcgY29tbWl0OiIKIG1zZ3N0ciAiQ2h1eeG7g24tdGnhur9wLW5oYW5oIG3DtC3EkXVuLWNvbiDigJwlc+KAnSDEkeG6v24gbOG6p24gY2h1eeG7g24gZ2lhbyBzYXUgxJHDonk6IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjM3IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNDkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjQgbWVyZ2UtcmVjdXJzaXZlLmM6MTIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYXN0LWZvcndhcmRpbmcgc3VibW9kdWxlICVzIgogbXNnc3RyICJDaHV54buDbi10aeG6v3AtbmhhbmggbcO0LcSRdW4tY29uIOKAnCVz4oCdIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjcxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG1lcmdlIGZvbGxvd2luZyBjb21taXRzIG5vdCBmb3VuZCkiCiBtc2dzdHIgIiIKICJH4bq3cCBs4buXaSBraGkgaMOyYSB0cuG7mW4gbcO0LcSRdW4tY29uIOKAnCVz4oCdIChraMO0bmcgdMOsbSB0aOG6pXkgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvICIKICJ0aGVvIHNhdSBow7JhIHRy4buZbikiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNzUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobm90IGZhc3QtZm9yd2FyZCkiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBow7JhIHRy4buZbiBtw7QtxJF1bi1jb24g4oCcJXPigJ0gKGtow7RuZyBjaHV54buDbiB0aeG6v3AgbmhhbmggxJHGsOG7o2MpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjY0CiBtc2dpZCAiRm91bmQgYSBwb3NzaWJsZSBtZXJnZSByZXNvbHV0aW9uIGZvciB0aGUgc3VibW9kdWxlOlxuIgogbXNnc3RyICJUw6xtIHRo4bqleSBt4buZdCBnaeG6o2kgcGjDoXAgaMOyYSB0cuG7mW4gY8OzIHRo4buDIGNobyBtw7QtxJF1bi1jb246XG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNzkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIklmIHRoaXMgaXMgY29ycmVjdCBzaW1wbHkgYWRkIGl0IHRvIHRoZSBpbmRleCBmb3IgZXhhbXBsZVxuIgpAQCAtMjk4MywzMyArNDE5MCwzMyBAQAogIlxuIgogImPDoWkgbcOgIHPhur0gY2jhuqVwIG5o4bqtbiBn4bujaSDDvSBuw6B5LlxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjg4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG11bHRpcGxlIG1lcmdlcyBmb3VuZCkiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBow7JhIHRy4buZbiBtw7QtxJF1bi1jb24g4oCcJXPigJ0gKHRo4bqleSBuaGnhu4F1IGjDsmEgdHLhu5luIMSRYSB0csO5bmcpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzU4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzQ5CiBtc2dpZCAiRmFpbGVkIHRvIGV4ZWN1dGUgaW50ZXJuYWwgbWVyZ2UiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB0aOG7sWMgaGnhu4duIHRy4buZbiBu4buZaSBi4buZIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzYzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBhZGQgJXMgdG8gZGF0YWJhc2UiCiBtc2dzdHIgIktow7RuZyB0aOG7gyB0aMOqbSAlcyB2w6BvIGPGoSBz4bufIGThu68gbGnhu4d1IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzk1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8tbWVyZ2luZyAlcyIKIG1zZ3N0ciAiVOG7sS3EkeG7mW5nLWjDsmEtdHLhu5luICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDE2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yOiBSZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICVzOyB3cml0aW5nIHRvICVzIGluc3RlYWQuIgogbXNnc3RyICIiCiAiTOG7l2k6IHThu6sgY2jhu5FpIMSRw7NuZyB04bqtcCB0aW4ga2jDtG5nIMSRxrDhu6NjIHRoZW8gZMO1aSB04bqhaSDigJwlc+KAnTsgdGhheSB2w6BvIMSRw7MgZ2hpIHbDoG8gIgogIiVzLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ4MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgpAQCAtMzAxOCw3ICs0MjI1LDcgQEAKICJYVU5HIMSQ4buYVCAoJXMveMOzYSk6ICVzIGLhu4sgeMOzYSB0cm9uZyAlcyB2w6AgJXMgdHJvbmcgJXMuIFBoacOqbiBi4bqjbiAlcyBj4bunYSAlcyAiCiAiY8OybiBs4bqhaSB0cm9uZyBjw6J5ICh0cmVlKS4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0ODgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCkBAIC0zMDI3LDcgKzQyMzQsNyBAQAogIlhVTkcgxJDhu5hUICglcy94w7NhKTogJXMgYuG7iyB4w7NhIHRyb25nICVzIHbDoCAlcyDEkeG6v24gJXMgdHJvbmcgJXMuIFBoacOqbiBi4bqjbiAlcyAiCiAiY+G7p2EgJXMgY8OybiBs4bqhaSB0cm9uZyBjw6J5ICh0cmVlKS4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0OTUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKQEAgLTMwMzYsNyArNDI0Myw3IEBACiAiWFVORyDEkOG7mFQgKCVzL3jDs2EpOiAlcyBi4buLIHjDs2EgdHJvbmcgJXMgdsOgICVzIHRyb25nICVzLiBQaGnDqm4gYuG6o24gJXMgY+G7p2EgJXMgIgogImPDsm4gbOG6oWkgdHJvbmcgY8OieSAodHJlZSkgdOG6oWkgJXMuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTAwCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgdG8gJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgIgpAQCAtMzA1MywyNSArNDI2MCwzNyBAQAogbXNnaWQgInJlbmFtZWQiCiBtc2dzdHIgIsSRw6MgxJHhu5VpIHTDqm4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1ODggbWVyZ2UtcmVjdXJzaXZlLmM6MTczNyBtZXJnZS1yZWN1cnNpdmUuYzoyMzY5Ci0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMTI0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjE0IG1lcmdlLXJlY3Vyc2l2ZS5jOjI1MzAgbWVyZ2UtcmVjdXJzaXZlLmM6MzE3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBsb3NlIGRpcnR5IGZpbGUgYXQgJXMiCiBtc2dzdHIgIlThu6sgY2jhu5FpIMSRw7NuZyB04bqtcCB0aW4ga2jDtG5nIMSRxrDhu6NjIHRoZW8gZMO1aSB04bqhaSDigJwlc+KAnSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYwMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYyNAorIywgYy1mb3JtYXQKK21zZ2lkICJSZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICVzLCBldmVuIHRob3VnaCBpdCdzIGluIHRoZSB3YXkuIgorbXNnc3RyICIiCisiVOG7qyBjaOG7kWkgxJHDs25nIHThuq1wIHRpbiBraMO0bmcgxJHGsOG7o2MgdGhlbyBkw7VpIHThuqFpIOKAnCVz4oCdLCBuZ2F5IGPhuqMga2hpIG7DsyDhu58gdHLDqm4gIgorIsSRxrDhu51uZy4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAgQWRkZWQgJXMgaW4gJXMiCittc2dzdHIgIiIKKyJYVU5HIMSQ4buYVCAoxJHhu5VpLXTDqm4vdGjDqm0pOiDEkOG7lWkgdMOqbiAlcy0+JXMgdHJvbmcgJXMuICVzIMSRxrDhu6NjIHRow6ptIHRyb25nICVzIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIGEgZGlyZWN0b3J5IGluICVzIGFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICIlcyBsw6AgbeG7mXQgdGjGsCBt4bulYyB0cm9uZyAlcyB0aGF5IHbDoG8gxJHDsyB0aMOqbSB2w6BvIG5oxrAgbMOgICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjA3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJXM7IGFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICIiCiAiVOG7qyBjaOG7kWkgxJHDs25nIHThuq1wIHRpbiBraMO0bmcgxJHGsOG7o2MgdGhlbyBkw7VpIHThuqFpIOKAnCVz4oCdOyB0aGF5IHbDoG8gxJHDsyDEkWFuZyB0aMOqbSAiCiAidGjDoG5oICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjMzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSBcIiVzXCItPlwiJXNcIiBpbiBicmFuY2ggXCIlc1wiIHJlbmFtZSBcIiVzIgpAQCAtMzA4MCwyOSArNDI5OSwxNyBAQAogIlhVTkcgxJDhu5hUICjEkeG7lWktdMOqbi/EkeG7lWktdMOqbik6IMSQ4buVaSB0w6puIFwiJXNcIi0+XCIlc1wiIHRyb25nIG5ow6FuaCBcIiVzXCIgxJHhu5VpICIKICJ0w6puIFwiJXNcIi0+XCIlc1wiIHRyb25nIFwiJXNcIiVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjM4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzQyCiBtc2dpZCAiIChsZWZ0IHVucmVzb2x2ZWQpIgogbXNnc3RyICIgKGPhuqduIGdp4bqjaSBxdXnhur90KSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY5OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTg1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuIFJlbmFtZSAlcy0+JXMgaW4gJXMiCiBtc2dzdHIgIiIKICJYVU5HIMSQ4buYVCAoxJHhu5VpLXTDqm4vxJHhu5VpLXTDqm4pOiDEkOG7lWkgdMOqbiAlcy0+JXMgdHJvbmcgJXMuIMSQ4buVaSB0w6puICVzLT4lcyB0cm9uZyAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNAotIywgYy1mb3JtYXQKLW1zZ2lkICJSZW5hbWluZyAlcyB0byAlcyBhbmQgJXMgdG8gJXMgaW5zdGVhZCIKLW1zZ3N0ciAixJBhbmcgxJHhu5VpIHTDqm4gJXMgdGjDoG5oICVzIHRoYXkgdsOsICVzIHRow6BuaCAlcyIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0NgotIywgYy1mb3JtYXQKLW1zZ2lkICJSZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICVzLCBldmVuIHRob3VnaCBpdCdzIGluIHRoZSB3YXkuIgotbXNnc3RyICIiCi0iVOG7qyBjaOG7kWkgxJHDs25nIHThuq1wIHRpbiBraMO0bmcgxJHGsOG7o2MgdGhlbyBkw7VpIHThuqFpIOKAnCVz4oCdLCBuZ2F5IGPhuqMga2hpIG7DsyDhu58gdHLDqm4gIgotIsSRxrDhu51uZy4iCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE5NTIKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChkaXJlY3RvcnkgcmVuYW1lIHNwbGl0KTogVW5jbGVhciB3aGVyZSB0byBwbGFjZSAlcyBiZWNhdXNlICIKQEAgLTMxMTMsNyArNDMyMCw3IEBACiAidsOsIHRoxrAgbeG7pWMgJXMgxJHDoyBi4buLIMSR4buVaSB0w6puIHRow6BuaCBuaGnhu4F1IHRoxrAgbeG7pWMga2jDoWMsIHbhu5tpIGtow7RuZyDEkcOtY2ggxJHhur9uICIKICJuaOG6rW4gbeG7mXQgcGjhuqduIG5oaeG7gXUgY+G7p2EgY8OhYyB04bqtcCB0aW4uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTg0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoaW1wbGljaXQgZGlyIHJlbmFtZSk6IEV4aXN0aW5nIGZpbGUvZGlyIGF0ICVzIGluIHRoZSB3YXkgb2YgIgpAQCAtMzEyMiwxNiArNDMyOSwxNiBAQAogIlhVTkcgxJDhu5hUOiAobmfhuqdtIMSR4buVaSB0w6puIHRoxrAgbeG7pWMpOiBU4bqtcCB0aW4vdGjGsCBt4bulYyDEkcOjIHPhurVuIGPDsyB04bqhaSAlcyB0aGVvIGPDoWNoICIKICJj4bunYSBjw6FjIMSR4buVaSB0w6puIHRoxrAgbeG7pWMgbmfhuqdtIMSR4bq3dCAoY8OhYykgxJHGsOG7nW5nIGThuqtuIHNhdSDhu58gxJHDonk6ICVzLiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTk5NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKGltcGxpY2l0IGRpciByZW5hbWUpOiBDYW5ub3QgbWFwIG1vcmUgdGhhbiBvbmUgcGF0aCB0byAlczsgIgogImltcGxpY2l0IGRpcmVjdG9yeSByZW5hbWVzIHRyaWVkIHRvIHB1dCB0aGVzZSBwYXRocyB0aGVyZTogJXMiCiBtc2dzdHIgIiIKICJYVU5HIMSQ4buYVDogKG5n4bqnbSDEkeG7lWkgdMOqbiB0aMawIG3hu6VjKTogS2jDtG5nIHRo4buDIMOhbmggeOG6oSBt4buZdCDEkcaw4budbmcgZOG6q24gdGjDoG5oICVzOyAiCi0iY8OhYyDEkeG7lWkgdMOqbiB0aMawIG3hu6VjIG5n4bqnbSBj4buRIMSR4bq3dCBjw6FjIMSRxrDhu51uZyBk4bqrbiDhu58gxJHDonk6ICVzLiIKKyJjw6FjIMSR4buVaSB0w6puIHRoxrAgbeG7pWMgbmfhuqdtIGPhu5EgxJHhurd0IGPDoWMgxJHGsOG7nW5nIGThuqtuIOG7nyDEkcOieTogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwODYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIyNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIGRpcmVjdG9yeSAlcy0+JXMgaW4gJXMuIFJlbmFtZSBkaXJlY3RvcnkgJXMtIgpAQCAtMzE0MCw3ICs0MzQ3LDcgQEAKICJYVU5HIMSQ4buYVCAoxJHhu5VpLXTDqm4vxJHhu5VpLXTDqm4pOiDEkOG7lWkgdMOqbiB0aMawIG3hu6VjICVzLT4lcyB0cm9uZyAlcy4gxJDhu5VpIHTDqm4gdGjGsCBt4bulYyAiCiAiJXMtPiVzIHRyb25nICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyMzMxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyNDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXQVJOSU5HOiBBdm9pZGluZyBhcHBseWluZyAlcyAtPiAlcyByZW5hbWUgdG8gJXMsIGJlY2F1c2UgJXMgaXRzZWxmIHdhcyAiCkBAIC0zMTQ5LDg4ICs0MzU2LDE0MSBAQAogIkPhuqJOSCBCw4FPOiB0csOhbmggw6FwIGThu6VuZyAlcyAtPiAlcyDEkeG7lWkgdGjDqm4gdGjDoG5oICVzLCBi4bufaSB2w6wgYuG6o24gdGjDom4gJXMgY8WpbmcgIgogImLhu4sgxJHhu5VpIHTDqm4uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzM3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvYWRkKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gJXMgYWRkZWQgaW4gJXMiCi1tc2dzdHIgIiIKLSJYVU5HIMSQ4buYVCAoxJHhu5VpLXTDqm4vdGjDqm0pOiDEkOG7lWkgdMOqbiAlcy0+JXMgdHJvbmcgJXMuICVzIMSRxrDhu6NjIHRow6ptIHbDoG8gdHJvbmcgJXMiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI3NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQWRkaW5nIG1lcmdlZCAlcyIKLW1zZ3N0ciAiVGjDqm0gaMOyYSB0cuG7mW4gJXMiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI3NzAgbWVyZ2UtcmVjdXJzaXZlLmM6MzEyNwotIywgYy1mb3JtYXQKLW1zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKLW1zZ3N0ciAiVGhheSB2w6BvIMSRw7MgdGjDqm0gdsOgbyAlcyIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjkzNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgxJHhu5FpIHTGsOG7o25nICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyOTM3CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCAlcyBpcyBub3QgYSBibG9iIgogbXNnc3RyICLEkeG7kWkgdMaw4bujbmcgJXMga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgYmxvYiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAwNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA4NgogbXNnaWQgIm1vZGlmeSIKIG1zZ3N0ciAic+G7rWEgxJHhu5VpIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDA2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDg2CiBtc2dpZCAibW9kaWZpZWQiCiBtc2dzdHIgIsSRw6Mgc+G7rWEiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwOTgKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICJu4buZaSBkdW5nIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDI0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTAyCiBtc2dpZCAiYWRkL2FkZCIKIG1zZ3N0ciAidGjDqm0vdGjDqm0iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwNzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBlZCAlcyAobWVyZ2VkIHNhbWUgYXMgZXhpc3RpbmcpIgogbXNnc3RyICLEkMOjIGLhu48gcXVhICVzICjEkcOjIGPDsyBz4bq1biBs4bqnbiBow7JhIHRy4buZbiBuw6B5KSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA5MyBnaXQtc3VibW9kdWxlLnNoOjg1OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE0NyBnaXQtc3VibW9kdWxlLnNoOjk5MwogbXNnaWQgInN1Ym1vZHVsZSIKIG1zZ3N0ciAibcO0LcSRdW4tY29uIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDk0CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IE1lcmdlIGNvbmZsaWN0IGluICVzIgogbXNnc3RyICJYVU5HIMSQ4buYVCAoJXMpOiBYdW5nIMSR4buZdCBow7JhIHRy4buZbiB0cm9uZyAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzIxNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE3OAorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgYXMgJXMgaW5zdGVhZCIKK21zZ3N0ciAiVGhheSB2w6BvIMSRw7MgdGjDqm0gdsOgbyAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI2MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGF0aCB1cGRhdGVkOiAlcyBhZGRlZCBpbiAlcyBpbnNpZGUgYSBkaXJlY3RvcnkgdGhhdCB3YXMgcmVuYW1lZCBpbiAlczsgIgorIm1vdmluZyBpdCB0byAlcy4iCittc2dzdHIgIiIKKyLEkMaw4budbmcgZOG6q24gxJHDoyDEkcaw4bujYyBj4bqtcCBuaOG6rXQ6ICVzIMSRxrDhu6NjIHRow6ptIHbDoG8gdHJvbmcgJXMgYsOqbiB0cm9uZyBt4buZdCB0aMawIG3hu6VjICIKKyLEkcOjIMSRxrDhu6NjIMSR4buVaSB0w6puIHRyb25nICVzOyBkaSBjaHV54buDbiBuw7MgxJHhur9uICVzLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI2NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKGZpbGUgbG9jYXRpb24pOiAlcyBhZGRlZCBpbiAlcyBpbnNpZGUgYSBkaXJlY3RvcnkgdGhhdCB3YXMgcmVuYW1lZCAiCisiaW4gJXMsIHN1Z2dlc3RpbmcgaXQgc2hvdWxkIHBlcmhhcHMgYmUgbW92ZWQgdG8gJXMuIgorbXNnc3RyICIiCisiWFVORyDEkOG7mFQgKHbhu4sgdHLDrSB04buHcCk6ICVzIMSRxrDhu6NjIHRow6ptIHbDoG8gdHJvbmcgJXMgdHJvbmcgbeG7mXQgdGjGsCBt4bulYyDEkcOjIMSRxrDhu6NjICIKKyLEkeG7lWkgdMOqbiB0aMOgbmggJXMsIMSRb8OhbiBsw6AgbsOzIG7Dqm4gxJHGsOG7o2MgZGkgY2h1eeG7g24gxJHhur9uICVzLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGF0aCB1cGRhdGVkOiAlcyByZW5hbWVkIHRvICVzIGluICVzLCBpbnNpZGUgYSBkaXJlY3RvcnkgdGhhdCB3YXMgcmVuYW1lZCBpbiAiCisiJXM7IG1vdmluZyBpdCB0byAlcy4iCittc2dzdHIgIiIKKyLEkMaw4budbmcgZOG6q24gxJHDoyDEkcaw4bujYyBj4bqtcCBuaOG6rXQ6ICVzIMSRxrDhu6NjIMSR4buVaSB0w6puIHRow6BuaCAlcyB0cm9uZyAlcywgYsOqbiB0cm9uZyBt4buZdCAiCisidGjGsCBt4bulYyDEkcOjIMSRxrDhu6NjIMSR4buVaSB0w6puIHRyb25nICVzOyBkaSBjaHV54buDbiBuw7MgxJHhur9uICVzLiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKGZpbGUgbG9jYXRpb24pOiAlcyByZW5hbWVkIHRvICVzIGluICVzLCBpbnNpZGUgYSBkaXJlY3RvcnkgdGhhdCAiCisid2FzIHJlbmFtZWQgaW4gJXMsIHN1Z2dlc3RpbmcgaXQgc2hvdWxkIHBlcmhhcHMgYmUgbW92ZWQgdG8gJXMuIgorbXNnc3RyICIiCisiWFVORyDEkOG7mFQgKHbhu4sgdHLDrSB04buHcCk6ICVzIMSRxrDhu6NjIMSR4buVaSB0w6puIHRow6BuaCAlcyB0cm9uZyAlcywgYsOqbiB0cm9uZyBt4buZdCB0aMawICIKKyJt4bulYyDEkcOjIMSRxrDhu6NjIMSR4buVaSB0w6puIHRow6BuaCAlcywgxJFvw6FuIGzDoCBuw7MgbsOqbiDEkcaw4bujYyBkaSBjaHV54buDbiDEkeG6v24gJXMuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nICVzIgogbXNnc3RyICLEkGFuZyB4w7NhICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjQyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDA4CiBtc2dpZCAiZmlsZS9kaXJlY3RvcnkiCiBtc2dzdHIgInThuq1wLXRpbi90aMawLW3hu6VjIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjQ4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDEzCiBtc2dpZCAiZGlyZWN0b3J5L2ZpbGUiCiBtc2dzdHIgInRoxrAtbeG7pWMvdOG6rXAtdGluIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjU1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgogbXNnc3RyICIiCiAiWFVORyDEkOG7mFQgKCVzKTog4bueIMSRw6J5IGtow7RuZyBjw7MgdGjGsCBt4bulYyBuw6BvIGPDsyB0w6puICVzIHRyb25nICVzLiBUaMOqbSAlcyBuaMawIGzDoCAiCiAiJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNjQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWRkaW5nICVzIgogbXNnc3RyICJUaMOqbSBcIiVzXCIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMzMDAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ09ORkxJQ1QgKGFkZC9hZGQpOiBNZXJnZSBjb25mbGljdCBpbiAlcyIKK21zZ3N0ciAiWFVORyDEkOG7mFQgKHRow6ptL3Row6ptKTogWHVuZyDEkeG7mXQgaMOyYSB0cuG7mW4gdHJvbmcgJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0ODIKK21zZ2lkICJBbHJlYWR5IHVwIHRvIGRhdGUhIgorbXNnc3RyICLEkMOjIGPhuq1wIG5o4bqtdCBy4buTaSEiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibWVyZ2luZyBvZiB0cmVlcyAlcyBhbmQgJXMgZmFpbGVkIgorbXNnc3RyICJow7JhIHRy4buZbiBjw6FjIGPDonkgJXMgdsOgICVzIGfhurdwIGzhu5dpIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNTk1Cittc2dpZCAiTWVyZ2luZzoiCittc2dzdHIgIsSQYW5nIHRy4buZbjoiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yOiIKK21zZ2lkX3BsdXJhbCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yczoiCittc2dzdHJbMF0gInTDrG0gdGjhuqV5ICV1IHThu5UgdGnDqm4gY2h1bmc6IgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNjU4Cittc2dpZCAibWVyZ2UgcmV0dXJuZWQgbm8gY29tbWl0IgorbXNnc3RyICJow7JhIHRy4buZbiBraMO0bmcgdHLhuqMgduG7gSBs4bqnbiBjaHV54buDbiBnaWFvIG7DoG8iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM3MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtMzI0MCwxNjcgKzQ1MDAsMTg1IEBACiAiaMOyYSB0cuG7mW46XG4iCiAiICAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzMxMQotbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZSEiCi1tc2dzdHIgIsSQw6MgY+G6rXAgbmjhuq10IHLhu5NpISIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzMyMAotIywgYy1mb3JtYXQKLW1zZ2lkICJtZXJnaW5nIG9mIHRyZWVzICVzIGFuZCAlcyBmYWlsZWQiCi1tc2dzdHIgImjDsmEgdHLhu5luIGPDoWMgY8OieSAlcyB2w6AgJXMgZ+G6t3AgbOG7l2kiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MTkKLW1zZ2lkICJNZXJnaW5nOiIKLW1zZ3N0ciAixJBhbmcgdHLhu5luOiIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQzMgotIywgYy1mb3JtYXQKLW1zZ2lkICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3I6IgotbXNnaWRfcGx1cmFsICJmb3VuZCAldSBjb21tb24gYW5jZXN0b3JzOiIKLW1zZ3N0clswXSAidMOsbSB0aOG6pXkgJXUgdOG7lSB0acOqbiBjaHVuZzoiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0NzEKLW1zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCi1tc2dzdHIgImjDsmEgdHLhu5luIGtow7RuZyB0cuG6oyB24buBIGzhuqduIGNodXnhu4NuIGdpYW8gbsOgbyIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzUzNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyBwaMOibiB0w61jaCDEkeG7kWkgdMaw4bujbmcg4oCcJXPigJ0iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM1NTMgYnVpbHRpbi9tZXJnZS5jOjY5MSBidWlsdGluL21lcmdlLmM6ODQ5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozODMyIGJ1aWx0aW4vbWVyZ2UuYzo2OTQgYnVpbHRpbi9tZXJnZS5jOjg3NAogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbmRleC4iCi1tc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgYuG6o25nIG3hu6VjIGzhu6VjIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGLhuqNuZyBt4bulYyBs4bulYy4iCiAKLSM6IG1pZHguYzo2NQorIzogbWlkeC5jOjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm11bHRpLXBhY2staW5kZXggZmlsZSAlcyBpcyB0b28gc21hbGwiCiBtc2dzdHIgInThuq1wIHRpbiDEkeG7kyB0aOG7iyBtdWx0aS1wYWNrLWluZGV4ICVzIHF1w6Egbmjhu48iCiAKLSM6IG1pZHguYzo4MQorIzogbWlkeC5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm11bHRpLXBhY2staW5kZXggc2lnbmF0dXJlIDB4JTA4eCBkb2VzIG5vdCBtYXRjaCBzaWduYXR1cmUgMHglMDh4IgogbXNnc3RyICJjaOG7ryBrw70gbXVsdGktcGFjay1pbmRleCAweCUwOHgga2jDtG5nIGto4bubcCBjaOG7ryBrw70gMHglMDh4IgogCi0jOiBtaWR4LmM6ODYKKyM6IG1pZHguYzo4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHZlcnNpb24gJWQgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgImtow7RuZyBuaOG6rW4gcmEgcGhpw6puIGLhuqNuICVkIGPhu6dhIG11bHRpLXBhY2staW5kZXgiCiAKLSM6IG1pZHguYzo5MQorIzogbWlkeC5jOjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImhhc2ggdmVyc2lvbiAldSBkb2VzIG5vdCBtYXRjaCIKIG1zZ3N0ciAicGhpw6puIGLhuqNuIGLEg20g4oCcJXXigJ0ga2jDtG5nIGto4bubcCIKIAotIzogbWlkeC5jOjEwNQorIzogbWlkeC5jOjEwOAogbXNnaWQgImludmFsaWQgY2h1bmsgb2Zmc2V0ICh0b28gbGFyZ2UpIgogbXNnc3RyICJraG/huqNuZyBiw7kgxJFv4bqhbiBraMO0bmcgaOG7o3AgbOG7hyAocXXDoSBs4bubbikiCiAKLSM6IG1pZHguYzoxMjkKKyM6IG1pZHguYzoxMzIKIG1zZ2lkICJ0ZXJtaW5hdGluZyBtdWx0aS1wYWNrLWluZGV4IGNodW5rIGlkIGFwcGVhcnMgZWFybGllciB0aGFuIGV4cGVjdGVkIgogbXNnc3RyICJtw6MgbeG6o25oIGvhur90IHRow7pjIG11bHRpLXBhY2staW5kZXggeHXhuqV0IGhp4buHbiBz4bubbSBoxqFuIGLDrG5oIHRoxrDhu51uZyIKIAotIzogbWlkeC5jOjE0MgorIzogbWlkeC5jOjE0NQogbXNnaWQgIm11bHRpLXBhY2staW5kZXggbWlzc2luZyByZXF1aXJlZCBwYWNrLW5hbWUgY2h1bmsiCiBtc2dzdHIgIm11bHRpLXBhY2staW5kZXggdGhp4bq/dSBt4bqjbmggcGFjay1uYW1lIGPhuqduIHRoaeG6v3QiCiAKLSM6IG1pZHguYzoxNDQKKyM6IG1pZHguYzoxNDcKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgT0lEIGZhbm91dCBjaHVuayIKIG1zZ3N0ciAibXVsdGktcGFjay1pbmRleCB0aGnhur91IG3huqNuaCBPSUQgZmFub3V0IGPhuqduIHRoaeG6v3QiCiAKLSM6IG1pZHguYzoxNDYKKyM6IG1pZHguYzoxNDkKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgT0lEIGxvb2t1cCBjaHVuayIKIG1zZ3N0ciAibXVsdGktcGFjay1pbmRleCB0aGnhur91IG3huqNuaCBPSUQgbG9va3VwIGPhuqduIHRoaeG6v3QiCiAKLSM6IG1pZHguYzoxNDgKKyM6IG1pZHguYzoxNTEKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgb2JqZWN0IG9mZnNldHMgY2h1bmsiCiBtc2dzdHIgIm11bHRpLXBhY2staW5kZXggdGhp4bq/dSBt4bqjbmggY8OhYyBraG/huqNuZyBiw7kgxJHhu5FpIHTGsOG7o25nIGPhuqduIHRoaeG6v3QiCiAKLSM6IG1pZHguYzoxNjIKKyM6IG1pZHguYzoxNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibXVsdGktcGFjay1pbmRleCBwYWNrIG5hbWVzIG91dCBvZiBvcmRlcjogJyVzJyBiZWZvcmUgJyVzJyIKIG1zZ3N0ciAiY8OhYyB0w6puIGfDs2kgbXVsdGktcGFjay1pbmRleCBraMO0bmcgxJHDum5nIHRo4bupIHThu7E6IOKAnCVz4oCdIHRyxrDhu5tjIOKAnCVz4oCdIgogCi0jOiBtaWR4LmM6MjA1CisjOiBtaWR4LmM6MjEwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrLWludC1pZDogJXUgKCV1IHRvdGFsIHBhY2tzKSIKIG1zZ3N0ciAicGFjay1pbnQtaWQgc2FpOiAldSAoJXUgY8OhYyBnw7NpIHThu5VuZykiCiAKLSM6IG1pZHguYzoyNDYKKyM6IG1pZHguYzoyNjAKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHN0b3JlcyBhIDY0LWJpdCBvZmZzZXQsIGJ1dCBvZmZfdCBpcyB0b28gc21hbGwiCiBtc2dzdHIgIm11bHRpLXBhY2staW5kZXggbMawdSB0cuG7ryBt4buZdCBraG/huqNuZyBiw7kgNjQtYsOtdCwgbmjGsG5nIG9mZl90IGzDoCBxdcOhIG5o4buPIgogCi0jOiBtaWR4LmM6MjcxCisjOiBtaWR4LmM6Mjg4CiBtc2dpZCAiZXJyb3IgcHJlcGFyaW5nIHBhY2tmaWxlIGZyb20gbXVsdGktcGFjay1pbmRleCIKIG1zZ3N0ciAibOG7l2kgY2h14bqpbiBi4buLIHThuq1wIHRpbiBnw7NpIHThu6sgbXVsdGktcGFjay1pbmRleCIKIAotIzogbWlkeC5jOjQwNworIzogbWlkeC5jOjQ3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gYWRkIHBhY2tmaWxlICclcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB0aMOqbSB04bqtcCB0aW4gZ8OzaSDigJwlc+KAnSIKIAotIzogbWlkeC5jOjQxMworIzogbWlkeC5jOjQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBwYWNrLWluZGV4ICclcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBt4bufIHBhY2staW5kZXgg4oCcJXPigJ0iCiAKLSM6IG1pZHguYzo1MDcKKyM6IG1pZHguYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGxvY2F0ZSBvYmplY3QgJWQgaW4gcGFja2ZpbGUiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiBi4buVIMSR4buRaSB0xrDhu6NuZyDigJwlZOKAnSB0cm9uZyB04bqtcCB0aW4gZ8OzaSIKIAotIzogbWlkeC5jOjk0MworIzogbWlkeC5jOjg0MgorbXNnaWQgIkFkZGluZyBwYWNrZmlsZXMgdG8gbXVsdGktcGFjay1pbmRleCIKK21zZ3N0ciAixJBhbmcgdGjDqm0gdOG6rXAgdGluIGfDs2kgdOG7qyBtdWx0aS1wYWNrLWluZGV4IgorCisjOiBtaWR4LmM6ODc1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpZCBub3Qgc2VlIHBhY2stZmlsZSAlcyB0byBkcm9wIgorbXNnc3RyICLEkcOjIGtow7RuZyB0aOG6pXkgdOG6rXAgdGluIGfDs2kgJXMgxJHhu4MgbcOgIHjDs2EiCisKKyM6IG1pZHguYzo5NzMKK21zZ2lkICJXcml0aW5nIGNodW5rcyB0byBtdWx0aS1wYWNrLWluZGV4IgorbXNnc3RyICLEkGFuZyBnaGkgY8OhYyBraMO6YyB2w6BvIG11bHRpLXBhY2staW5kZXgiCisKKyM6IG1pZHguYzoxMDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjbGVhciBtdWx0aS1wYWNrLWluZGV4IGF0ICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgeMOzYSBtdWx0aS1wYWNrLWluZGV4IHThuqFpICVzIgogCi0jOiBtaWR4LmM6OTgxCisjOiBtaWR4LmM6MTEwOAorbXNnaWQgIkxvb2tpbmcgZm9yIHJlZmVyZW5jZWQgcGFja2ZpbGVzIgorbXNnc3RyICLEkGFuZyBraMOzYSBjaG8gY8OhYyBnw7NpIGLhu4sgdGhhbSBjaGnhur91IgorCisjOiBtaWR4LmM6MTEyMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAib2lkIGZhbm91dCBvdXQgb2Ygb3JkZXI6IGZhbm91dFslZF0gPSAlPFBSSXgzMj4gPiAlPFBSSXgzMj4gPSBmYW5vdXRbJWRdIgogbXNnc3RyICJmYW5vdXQgY8WpIHNhaSB0aOG7qSB04buxOiBmYW5vdXRbJWRdID0gJTxQUkl4MzI+ID4gJTxQUkl4MzI+ID0gZmFub3V0WyVkXSIKIAotIzogbWlkeC5jOjk5MgorIzogbWlkeC5jOjExMjgKK21zZ2lkICJWZXJpZnlpbmcgT0lEIG9yZGVyIGluIG11bHRpLXBhY2staW5kZXgiCittc2dzdHIgIlRo4bqpbSB0cmEgdGjhu6kgdOG7sSBPSUQgdHJvbmcgbXVsdGktcGFjay1pbmRleCIKKworIzogbWlkeC5jOjExMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAib2lkIGxvb2t1cCBvdXQgb2Ygb3JkZXI6IG9pZFslZF0gPSAlcyA+PSAlcyA9IG9pZFslZF0iCiBtc2dzdHIgImxvb2t1cCBjxakgc2FpIHRo4bupIHThu7E6IG9pZFslZF0gPSAlcyA+PSAlcyA9IG9pZFslZF0iCiAKLSM6IG1pZHguYzo5OTYKKyM6IG1pZHguYzoxMTU3Cittc2dpZCAiU29ydGluZyBvYmplY3RzIGJ5IHBhY2tmaWxlIgorbXNnc3RyICLEkGFuZyBz4bqvcCB44bq/cCBjw6FjIMSR4buRaSB0xrDhu6NuZyB0aGVvIHThuq1wIHRpbiBnw7NpIgorCisjOiBtaWR4LmM6MTE2NAogbXNnaWQgIlZlcmlmeWluZyBvYmplY3Qgb2Zmc2V0cyIKIG1zZ3N0ciAixJBhbmcgdGjhuqltIHRyYSBjw6FjIGtob+G6o25nIGLDuSDEkeG7kWkgdMaw4bujbmciCiAKLSM6IG1pZHguYzoxMDA0CisjOiBtaWR4LmM6MTE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBwYWNrIGVudHJ5IGZvciBvaWRbJWRdID0gJXMiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB04bqjaSBt4bulYyBnw7NpIGNobyBvaWRbJWRdID0gJXMiCiAKLSM6IG1pZHguYzoxMDEwCisjOiBtaWR4LmM6MTE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBwYWNrLWluZGV4IGZvciBwYWNrZmlsZSAlcyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHThuqNpIHBhY2staW5kZXggY2hvIHThuq1wIHRpbiBnw7NpICVzIgogCi0jOiBtaWR4LmM6MTAxOQorIzogbWlkeC5jOjExOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5jb3JyZWN0IG9iamVjdCBvZmZzZXQgZm9yIG9pZFslZF0gPSAlczogJTxQUkl4NjQ+ICE9ICU8UFJJeDY0PiIKIG1zZ3N0ciAiIgogImtob+G6o25nIGLDuSDEkeG7kWkgdMaw4bujbmcga2jDtG5nIMSRw7puZyBjaG8gb2lkWyVkXSA9ICVzOiAlPFBSSXg2ND4gIT0gJTxQUkl4NjQ+IgogCi0jOiBuYW1lLWhhc2guYzo1MzIKKyM6IG1pZHguYzoxMjIwCittc2dpZCAiQ291bnRpbmcgcmVmZXJlbmNlZCBvYmplY3RzIgorbXNnc3RyICLEkGFuZyDEkeG6v20gY8OhYyDEkeG7kWkgdMaw4bujbmcgxJHGsOG7o2MgdGhhbSBjaGnhur91IgorCisjOiBtaWR4LmM6MTIzMAorbXNnaWQgIkZpbmRpbmcgYW5kIGRlbGV0aW5nIHVucmVmZXJlbmNlZCBwYWNrZmlsZXMiCittc2dzdHIgIsSQYW5nIHTDrG0gdsOgIHjDs2EgY8OhYyBnw7NpIGtow7RuZyDEkcaw4bujYyB0aGFtIGNoaeG6v3UiCisKKyM6IG1pZHguYzoxMzg4Cittc2dpZCAiY291bGQgbm90IHN0YXJ0IHBhY2stb2JqZWN0cyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRow7RuZyB0aW4gdGjhu5FuZyBrw6ogduG7gSBjw6FjIMSR4buRaSB0xrDhu6NuZyBnw7NpIgorCisjOiBtaWR4LmM6MTQwNworbXNnaWQgImNvdWxkIG5vdCBmaW5pc2ggcGFjay1vYmplY3RzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgaG/DoG4gdGhp4buHbiBjw6FjIMSR4buRaSB0xrDhu6NuZyBnw7NpIgorCisjOiBuYW1lLWhhc2guYzo1MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsYXp5X2RpciB0aHJlYWQ6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdHV54bq/biBsYXp5X2RpcjogJXMiCiAKLSM6IG5hbWUtaGFzaC5jOjU1NAorIzogbmFtZS1oYXNoLmM6NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbGF6eV9uYW1lIHRocmVhZDogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyB0dXnhur9uIGxhenlfbmFtZTogJXMiCiAKLSM6IG5hbWUtaGFzaC5jOjU2MAorIzogbmFtZS1oYXNoLmM6NTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBqb2luIGxhenlfbmFtZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2lhIG5o4bqtcCB0dXnhur9uIGxhenlfbmFtZTogJXMiCiAKLSM6IG5vdGVzLW1lcmdlLmM6Mjc1CisjOiBub3Rlcy1tZXJnZS5jOjI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIHByZXZpb3VzIG5vdGVzIG1lcmdlICglcyBleGlzdHMpLlxuIgpAQCAtMzQxMiwyMyArNDY5MCwyMyBAQAogImNodXnhu4NuIGdpYW8gaGF5IGLDo2kgYuG7jyBs4bqnbiBow7JhIHRy4buZbiB0csaw4bubYyDEkcOieSB2w6AgYuG6r3QgxJHhuqd1IG3hu5l0IGjDsmEgdHLhu5luIGdoaSAiCiAiY2jDuiBt4bubaS4iCiAKLSM6IG5vdGVzLW1lcmdlLmM6MjgyCisjOiBub3Rlcy1tZXJnZS5jOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuIgogbXNnc3RyICJC4bqhbiBjaMawYSBr4bq/dCB0aMO6YyB2aeG7h2MgaMOyYSB0cuG7mW4gZ2hpIGNow7ogKCVzIHbhuqtuIHThu5NuIHThuqFpKS4iCiAKLSM6IG5vdGVzLXV0aWxzLmM6NDUKKyM6IG5vdGVzLXV0aWxzLmM6NDYKIG1zZ2lkICJDYW5ub3QgY29tbWl0IHVuaW5pdGlhbGl6ZWQvdW5yZWZlcmVuY2VkIG5vdGVzIHRyZWUiCiBtc2dzdHIgIiIKICJLaMO0bmcgdGjhu4MgY2h1eeG7g24gZ2lhbyBjw6J5IGdoaSBjaMO6IGNoxrBhIMSRxrDhu6NjIGto4bufaSB04bqhbyBob+G6t2Mga2jDtG5nIMSRxrDhu6NjIHRoYW0gIgogImNoaeG6v3UiCiAKLSM6IG5vdGVzLXV0aWxzLmM6MTA0CisjOiBub3Rlcy11dGlscy5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgbm90ZXMucmV3cml0ZU1vZGUgdmFsdWU6ICclcyciCiBtc2dzdHIgIkdpw6EgdHLhu4sgbm90ZXMucmV3cml0ZU1vZGUgc2FpOiDigJwlc+KAnSIKIAotIzogbm90ZXMtdXRpbHMuYzoxMTQKKyM6IG5vdGVzLXV0aWxzLmM6MTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIHJld3JpdGUgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgogbXNnc3RyICJU4burIGNo4buRaSBnaGkgxJHDqCBnaGkgY2jDuiB0cm9uZyAlcyAobuG6sW0gbmdvw6BpIHJlZnMvbm90ZXMvKSIKQEAgLTM0MzcsMTIgKzQ3MTUsMTIgQEAKICMuIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHNlY29uZCAlcyBpcwogIy4gaXRzIHZhbHVlLgogIy4KLSM6IG5vdGVzLXV0aWxzLmM6MTQ0CisjOiBub3Rlcy11dGlscy5jOjE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgJXMgdmFsdWU6ICclcyciCiBtc2dzdHIgIkdpw6EgdHLhu4sgJXMgc2FpOiDigJwlc+KAnSIKIAotIzogb2JqZWN0LmM6NTQKKyM6IG9iamVjdC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb2JqZWN0IHR5cGUgXCIlc1wiIgogbXNnc3RyICJraeG7g3UgxJHhu5FpIHTGsOG7o25nIFwiJXNcIiBraMO0bmcgaOG7o3AgbOG7hyIKQEAgLTM0NjQsMjkgKzQ3NDIsODQgQEAKIAogIzogb2JqZWN0LmM6MjY2IG9iamVjdC5jOjI3NwogIywgYy1mb3JtYXQKLW1zZ2lkICJzaGExIG1pc21hdGNoICVzIgotbXNnc3RyICJzaGExIGtow7RuZyBraOG7m3AgJXMiCittc2dpZCAiaGFzaCBtaXNtYXRjaCAlcyIKK21zZ3N0ciAibcOjIGLEg20ga2jDtG5nIGto4bubcCAlcyIKIAotIzogcGFja2ZpbGUuYzo2MDcKKyM6IHBhY2tmaWxlLmM6NjQxCiBtc2dpZCAib2Zmc2V0IGJlZm9yZSBlbmQgb2YgcGFja2ZpbGUgKGJyb2tlbiAuaWR4PykiCiBtc2dzdHIgInbhu4sgdHLDrSB0xrDGoW5nIMSR4buRaSB0csaw4bubYyDEkWnhu4NtIGvhur90IHRow7pjIGPhu6dhIHThuq1wIHRpbiBnw7NpICguaWR4IGjhu49uZyDDoD8pIgogCi0jOiBwYWNrZmlsZS5jOjE4NjQKKyM6IHBhY2tmaWxlLmM6MTg4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIHN0YXJ0IG9mIHBhY2sgaW5kZXggZm9yICVzIChjb3JydXB0IGluZGV4PykiCiBtc2dzdHIgInbhu4sgdHLDrSB0xrDGoW5nIMSR4buRaSBu4bqxbSB0csaw4bubYyBjaOG7iSBt4bulYyBnw7NpIGNobyAlcyAobeG7pWMgbOG7pWMgYuG7iyBo4buPbmcgw6A/KSIKIAotIzogcGFja2ZpbGUuYzoxODY4CisjOiBwYWNrZmlsZS5jOjE4OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAib2Zmc2V0IGJleW9uZCBlbmQgb2YgcGFjayBpbmRleCBmb3IgJXMgKHRydW5jYXRlZCBpbmRleD8pIgogbXNnc3RyICIiCiAiduG7iyB0csOtIHTGsMahbmcgxJHhu5FpIHbGsOG7o3QgcXXDoSBjdeG7kWkgY+G7p2EgY2jhu4kgbeG7pWMgZ8OzaSBjaG8gJXMgKG3hu6VjIGzhu6VjIGLhu4sgY+G6r3QgY+G7pXQgw6A/KSIKIAotIzogcGFyc2Utb3B0aW9ucy5jOjY3MgorIzogcGFyc2Utb3B0aW9ucy5jOjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGEgdmFsdWUiCittc2dzdHIgIuKAnCVz4oCdIHnDqnUgY+G6p3UgbeG7mXQgZ2nDoSB0cuG7iyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGluY29tcGF0aWJsZSB3aXRoICVzIgorbXNnc3RyICIlcyBsw6AgeHVuZyBraOG6r2MgduG7m2kgJXMiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyA6IGluY29tcGF0aWJsZSB3aXRoIHNvbWV0aGluZyBlbHNlIgorbXNnc3RyICIlcyA6IHh1bmcga2jhuq9jIHbhu5tpIGPDoWMgY8OhaSBraMOhYyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjkyIHBhcnNlLW9wdGlvbnMuYzo5NiBwYXJzZS1vcHRpb25zLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHRha2VzIG5vIHZhbHVlIgorbXNnc3RyICIlcyBrIG5o4bqtbiBnacOhIHRy4buLIgorCisjOiBwYXJzZS1vcHRpb25zLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXNuJ3QgYXZhaWxhYmxlIgorbXNnc3RyICIlcyBraMO0bmcgc+G6tW4gY8OzIgorCisjOiBwYXJzZS1vcHRpb25zLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGV4cGVjdHMgYSBub24tbmVnYXRpdmUgaW50ZWdlciB2YWx1ZSB3aXRoIGFuIG9wdGlvbmFsIGsvbS9nIHN1ZmZpeCIKK21zZ3N0ciAiJXMgY+G6p24gbeG7mXQgZ2nDoSB0cuG7iyBk4bqhbmcgc+G7kSBraMO0bmcgw6JtIHbhu5tpIG3hu5l0IGjhuq11IHThu5EgdMO5eSBjaOG7jW4gay9tL2ciCisKKyM6IHBhcnNlLW9wdGlvbnMuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYW1iaWd1b3VzIG9wdGlvbjogJXMgKGNvdWxkIGJlIC0tJXMlcyBvciAtLSVzJXMpIgorbXNnc3RyICJ0w7l5IGNo4buNbiBjaMawYSByw7UgcmFuZzogJXMgKG7Dqm4gbMOgIC0tJXMlcyBoYXkgLS0lcyVzKSIKKworIzogcGFyc2Utb3B0aW9ucy5jOjQyMyBwYXJzZS1vcHRpb25zLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgImRpZCB5b3UgbWVhbiBgLS0lc2AgKHdpdGggdHdvIGRhc2hlcyA/KSIKK21zZ3N0ciAiY8OzIHBo4bqjaSDDvSBi4bqhbiBsw6Ag4oCcLS0lc+KAnCAoduG7m2kgaGFpIGThuqV1IGfhuqFjaCBuZ2FuZz8pIgorCisjOiBwYXJzZS1vcHRpb25zLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIGAlcyciCittc2dzdHIgImtow7RuZyBoaeG7g3UgdMO5eSBjaOG7jW4g4oCcJXPigJ0iCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo4NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzd2l0Y2ggYCVjJyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSB0w7l5IGNo4buNbiDigJwlY+KAnSIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5vbi1hc2NpaSBvcHRpb24gaW4gc3RyaW5nOiBgJXMnIgorbXNnc3RyICJraMO0bmcgaGnhu4N1IHTDuXkgY2jhu41uIG5vbi1hc2NpaSB0cm9uZyBjaHXhu5dpOiDigJwlc+KAnSIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg4OAogbXNnaWQgIi4uLiIKIG1zZ3N0ciAi4oCmIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NjkxCisjOiBwYXJzZS1vcHRpb25zLmM6OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyIKIG1zZ3N0ciAiY8OhY2ggZMO5bmc6ICVzIgpAQCAtMzQ5NCw1OSArNDgyNyw3NCBAQAogIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiBoZXJlIHNob3VsZCBhbGlnbiB3aXRoIHRoZQogIy4gb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uLgogIy4KLSM6IHBhcnNlLW9wdGlvbnMuYzo2OTcKKyM6IHBhcnNlLW9wdGlvbnMuYzo5MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgb3I6ICVzIgogbXNnc3RyICIgICAgIGhv4bq3YzogJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo3MDAKKyM6IHBhcnNlLW9wdGlvbnMuYzo5MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICVzIgogbXNnc3RyICIgICAgJXMiCiAKLSM6IHBhcnNlLW9wdGlvbnMuYzo3MzkKKyM6IHBhcnNlLW9wdGlvbnMuYzo5NTUKIG1zZ2lkICItTlVNIgogbXNnc3RyICItU+G7kCIKIAotIzogcGFyc2Utb3B0aW9ucy1jYi5jOjM3CisjOiBwYXJzZS1vcHRpb25zLmM6OTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsaWFzIG9mIC0tJXMiCittc2dzdHIgImLDrSBkYW5oIGPhu6dhIC0tJXMiCisKKyM6IHBhcnNlLW9wdGlvbnMtY2IuYzoyMCBwYXJzZS1vcHRpb25zLWNiLmM6MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKK21zZ3N0ciAidMO5eSBjaOG7jW4g4oCcJXPigJ0gY+G6p24gbeG7mXQgZ2nDoSB0cuG7iyBi4bqxbmcgc+G7kSIKKworIzogcGFyc2Utb3B0aW9ucy1jYi5jOjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBleHBpcmF0aW9uIGRhdGUgJyVzJyIKIG1zZ3N0ciAibmfDoHkgdGjDoW5nIGjhur90IGjhuqFuIGThu4sgaMOsbmgg4oCcJXPigJ0iCiAKLSM6IHBhcnNlLW9wdGlvbnMtY2IuYzoxMDkKKyM6IHBhcnNlLW9wdGlvbnMtY2IuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBleHBlY3RzIFwiYWx3YXlzXCIsIFwiYXV0b1wiLCBvciBcIm5ldmVyXCIiCittc2dzdHIgInTDuXkgY2jhu41uIOKAnCVz4oCdIGPhuqduIFwiYWx3YXlzXCIsIFwiYXV0b1wiLCBob+G6t2MgXCJuZXZlclwiIgorCisjOiBwYXJzZS1vcHRpb25zLWNiLmM6MTMwIHBhcnNlLW9wdGlvbnMtY2IuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCiBtc2dzdHIgInTDqm4gxJHhu5FpIHTGsOG7o25nIGThu4sgaMOsbmgg4oCcJXPigJ0iCiAKLSM6IHBhdGguYzo4OTQKKyM6IHBhdGguYzo5MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1ha2UgJXMgd3JpdGFibGUgYnkgZ3JvdXAiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBsw6BtICVzIMSRxrDhu6NjIGdoaSBi4bufaSBuaMOzbSIKIAotIzogcGF0aHNwZWMuYzoxMjkKKyM6IHBhdGhzcGVjLmM6MTMwCiBtc2dpZCAiRXNjYXBlIGNoYXJhY3RlciAnXFwnIG5vdCBhbGxvd2VkIGFzIGxhc3QgY2hhcmFjdGVyIGluIGF0dHIgdmFsdWUiCiBtc2dzdHIgIiIKICJLw70gdOG7sSB0aG/DoXQgY2h14buXaSDigJxcXOKAnSBraMO0bmcgxJHGsOG7o2MgcGjDqXAgbMOgIGvDvSB04buxIGN14buRaSB0cm9uZyBnacOhIHRy4buLIHRodeG7mWMgdMOtbmgiCiAKLSM6IHBhdGhzcGVjLmM6MTQ3CisjOiBwYXRoc3BlYy5jOjE0OAogbXNnaWQgIk9ubHkgb25lICdhdHRyOicgc3BlY2lmaWNhdGlvbiBpcyBhbGxvd2VkLiIKLW1zZ3N0ciAiY2jhu4kgY8OzIG3hu5l0IMSR4bq3YyB04bqjIOKAnGF0dHI64oCdIGzDoCDEkcaw4bujYyBwaMOpcC4iCittc2dzdHIgIkNo4buJIGPDsyBt4buZdCDEkeG6t2MgdOG6oyDigJxhdHRyOuKAnSBsw6AgxJHGsOG7o2MgcGjDqXAuIgogCi0jOiBwYXRoc3BlYy5jOjE1MAorIzogcGF0aHNwZWMuYzoxNTEKIG1zZ2lkICJhdHRyIHNwZWMgbXVzdCBub3QgYmUgZW1wdHkiCiBtc2dzdHIgIsSR4bq3YyB04bqjIGF0dHIgcGjhuqNpIGtow7RuZyDEkcaw4bujYyDEkeG7gyB0cuG7kW5nIgogCi0jOiBwYXRoc3BlYy5jOjE5MworIzogcGF0aHNwZWMuYzoxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBhdHRyaWJ1dGUgbmFtZSAlcyIKIG1zZ3N0ciAidMOqbiB0aHXhu5ljIHTDrW5oIGtow7RuZyBo4bujcCBs4buHICVzIgogCi0jOiBwYXRoc3BlYy5jOjI1OAorIzogcGF0aHNwZWMuYzoyNTkKIG1zZ2lkICJnbG9iYWwgJ2dsb2InIGFuZCAnbm9nbG9iJyBwYXRoc3BlYyBzZXR0aW5ncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIiCiAiY8OhYyBjw6BpIMSR4bq3dCDEkeG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24g4oCcZ2xvYuKAnSB2w6Ag4oCcbm9nbG9i4oCdIHRvw6BuIGPhu6VjIGzDoCB4dW5nIGto4bqvYyBuaGF1IgogCi0jOiBwYXRoc3BlYy5jOjI2NQorIzogcGF0aHNwZWMuYzoyNjYKIG1zZ2lkICIiCiAiZ2xvYmFsICdsaXRlcmFsJyBwYXRoc3BlYyBzZXR0aW5nIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBnbG9iYWwgIgogInBhdGhzcGVjIHNldHRpbmdzIgpAQCAtMzU1NCwxMjggKzQ5MDIsMjAxIEBACiAiY8OgaSDEkeG6t3QgxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIOKAnGxpdGVyYWzigJ0gdG/DoG4gY+G7pWMgbMOgIHh1bmcga2jhuq9jIHbhu5tpIGPDoWMgY8OgaSDEkeG6t3QgxJHhurdjICIKICJ04bqjIMSRxrDhu51uZyBk4bqrbiB0b8OgbiBj4bulYyBraMOhYyIKIAotIzogcGF0aHNwZWMuYzozMDUKKyM6IHBhdGhzcGVjLmM6MzA2CiBtc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXIgZm9yIHBhdGhzcGVjIG1hZ2ljICdwcmVmaXgnIgogbXNnc3RyICJ0aGFtIHPhu5Ega2jDtG5nIGjhu6NwIGzhu4cgY2hvIOKAnHRp4buBbiB04buR4oCdIG3DoHUgbmhp4buHbSDEkeG6t2MgdOG6oyDEkcaw4budbmcgxJHhuqtuIgogCi0jOiBwYXRoc3BlYy5jOjMyNgorIzogcGF0aHNwZWMuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBwYXRoc3BlYyBtYWdpYyAnJS4qcycgaW4gJyVzJyIKIG1zZ3N0ciAiU+G7kSBtw6B1IG5oaeG7h20gxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIGtow7RuZyBo4bujcCBs4buHIOKAnCUuKnPigJ0gdHJvbmcg4oCcJXPigJ0iCiAKLSM6IHBhdGhzcGVjLmM6MzMxCisjOiBwYXRoc3BlYy5jOjMzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJNaXNzaW5nICcpJyBhdCB0aGUgZW5kIG9mIHBhdGhzcGVjIG1hZ2ljIGluICclcyciCiBtc2dzdHIgIlRoaeG6v3Ug4oCcKeKAnSB04bqhaSBjdeG7kWkgY+G7p2Egc+G7kSBtw6B1IG5oaeG7h20gxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIHRyb25nIOKAnCVz4oCdIgogCi0jOiBwYXRoc3BlYy5jOjM2OQorIzogcGF0aHNwZWMuYzozNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5pbXBsZW1lbnRlZCBwYXRoc3BlYyBtYWdpYyAnJWMnIGluICclcyciCiBtc2dzdHIgIkNoxrBhIHZp4bq/dCBtw6MgY2hvIHPhu5EgbcOgdSBuaGnhu4dtIMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiDigJwlY+KAnSB0cm9uZyDigJwlc+KAnSIKIAotIzogcGF0aHNwZWMuYzo0MjgKKyM6IHBhdGhzcGVjLmM6NDI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAnbGl0ZXJhbCcgYW5kICdnbG9iJyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICIlczog4oCcbGl0ZXJhbOKAnSB2w6Ag4oCcZ2xvYuKAnSB4dW5nIGto4bqvYyBuaGF1IgogCi0jOiBwYXRoc3BlYy5jOjQ0MQorIzogcGF0aHNwZWMuYzo0NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IgogbXNnc3RyICIlczog4oCcJXPigJ0gbmdvw6BpIG3hu5l0IGtobyBjaOG7qWEiCiAKLSM6IHBhdGhzcGVjLmM6NTE1CisjOiBwYXRoc3BlYy5jOjUxNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIChtbmVtb25pYzogJyVjJykiCiBtc2dzdHIgIuKAnCVz4oCdIChtbmVtb25pYzog4oCcJWPigJ0pIgogCi0jOiBwYXRoc3BlYy5jOjUyNQorIzogcGF0aHNwZWMuYzo1MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKIG1zZ3N0ciAiJXM6IHPhu5EgbeG6p3Ugbmhp4buHbSDEkeG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24gY2jGsGEgxJHGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSBs4buHbmggbsOgeTogJXMiCiAKLSM6IHBhdGhzcGVjLmM6NTkyCisjOiBwYXRoc3BlYy5jOjU5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGlzIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCiBtc2dzdHIgIsSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSB2xrDhu6N0IHJhIG5nb8OgaSBsacOqbiBr4bq/dCBt4buBbSIKIAotIzogcGt0LWxpbmUuYzoxMDQKKyM6IHBhdGhzcGVjLmM6NjM4CisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgaXMgYmFkbHkgcXVvdGVkOiAlcyIKK21zZ3N0ciAiZMOybmcgxJHGsOG7o2MgdHLDrWNoIGThuqtuIHNhaTogJXMiCisKKyM6IHBrdC1saW5lLmM6OTIKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmx1c2ggcGFja2V0IgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhuql5IGThu68gbGnhu4d1IGPhu6dhIGfDs2kgbMOqbiDEkcSpYSIKKworIzogcGt0LWxpbmUuYzo5OQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBkZWxpbSBwYWNrZXQiCittc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgZ8OzaSBkZWxpbSIKKworIzogcGt0LWxpbmUuYzoxMDYKIG1zZ2lkICJmbHVzaCBwYWNrZXQgd3JpdGUgZmFpbGVkIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZ2hpIHbDoG8gdOG6rXAgdGluIGfDs2kgbMO6YyDEkeG6qXkgZOG7ryBsaeG7h3UgbMOqbiBi4buZIG5o4bubIgogCi0jOiBwa3QtbGluZS5jOjE0MiBwa3QtbGluZS5jOjIyOAorIzogcGt0LWxpbmUuYzoxNDYgcGt0LWxpbmUuYzoyMzIKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogaW1wb3NzaWJseSBsb25nIGxpbmUiCiBtc2dzdHIgImzhu5dpIGdpYW8gdGjhu6ljOiBraMO0bmcgdGjhu4MgbMOgbSDEkcaw4bujYyBkw7JuZyBkw6BpIgogCi0jOiBwa3QtbGluZS5jOjE1OCBwa3QtbGluZS5jOjE2MAorIzogcGt0LWxpbmUuYzoxNjIgcGt0LWxpbmUuYzoxNjQKIG1zZ2lkICJwYWNrZXQgd3JpdGUgd2l0aCBmb3JtYXQgZmFpbGVkIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZ2hpIGfDs2kgY8OzIMSR4buLbmggZOG6oW5nIgogCi0jOiBwa3QtbGluZS5jOjE5MgorIzogcGt0LWxpbmUuYzoxOTYKIG1zZ2lkICJwYWNrZXQgd3JpdGUgZmFpbGVkIC0gZGF0YSBleGNlZWRzIG1heCBwYWNrZXQgc2l6ZSIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGdoaSBnw7NpIC0gZOG7ryBsaeG7h3Ugdsaw4bujdCBxdcOhIGPhu6EgdsOzaSB04buRaSDEkWEiCiAKLSM6IHBrdC1saW5lLmM6MTk5IHBrdC1saW5lLmM6MjA2CisjOiBwa3QtbGluZS5jOjIwMyBwa3QtbGluZS5jOjIxMAogbXNnaWQgInBhY2tldCB3cml0ZSBmYWlsZWQiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBnaGkgZ8OzaSIKIAotIzogcGt0LWxpbmUuYzoyOTEKKyM6IHBrdC1saW5lLmM6Mjk1CiBtc2dpZCAicmVhZCBlcnJvciIKIG1zZ3N0ciAibOG7l2kgxJHhu41jIgogCi0jOiBwa3QtbGluZS5jOjI5OQorIzogcGt0LWxpbmUuYzozMDMKIG1zZ2lkICJ0aGUgcmVtb3RlIGVuZCBodW5nIHVwIHVuZXhwZWN0ZWRseSIKIG1zZ3N0ciAibcOheSBjaOG7pyBi4buLIHRyZW8gYuG6pXQgbmfhu50iCiAKLSM6IHBrdC1saW5lLmM6MzI3CisjOiBwa3QtbGluZS5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIGxpbmUgbGVuZ3RoIGNoYXJhY3RlcjogJS40cyIKIG1zZ3N0ciAibOG7l2kgZ2lhbyB0aOG7qWM6IGvDvSB04buxIGNoaeG7gXUgZMOgaSBkw7JuZyBi4buLIHNhaTogJS40cyIKIAotIzogcGt0LWxpbmUuYzozMzcgcGt0LWxpbmUuYzozNDIKKyM6IHBrdC1saW5lLmM6MzQxIHBrdC1saW5lLmM6MzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgbGluZSBsZW5ndGggJWQiCiBtc2dzdHIgImzhu5dpIGdpYW8gdGjhu6ljOiBjaGnhu4F1IGTDoGkgZMOybmcgYuG7iyBzYWkgJWQiCiAKLSM6IHByZWxvYWQtaW5kZXguYzoxMTgKKyM6IHBrdC1saW5lLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW90ZSBlcnJvcjogJXMiCittc2dzdHIgImzhu5dpIG3DoXkgY2jhu6c6ICVzIgorCisjOiBwcmVsb2FkLWluZGV4LmM6MTE5CiBtc2dpZCAiUmVmcmVzaGluZyBpbmRleCIKIG1zZ3N0ciAiTMOgbSBt4bubaSBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IHByZWxvYWQtaW5kZXguYzoxMzcKKyM6IHByZWxvYWQtaW5kZXguYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWRlZCBsc3RhdDogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyB0dXnhur9uIHRyw6xuaCBsc3RhdDogJXMiCiAKLSM6IHByZXR0eS5jOjk2MgorIzogcHJldHR5LmM6OTgxCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIC0tcHJldHR5IGZvcm1hdCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIMSR4buLbmggZOG6oW5nIC0tcHJldHR5IgogCi0jOiByYW5nZS1kaWZmLmM6NTYKKyM6IHByb21pc29yLXJlbW90ZS5jOjIzCittc2dpZCAiUmVtb3RlIHdpdGggbm8gVVJMIgorbXNnc3RyICJNw6F5IGNo4bunIGtow7RuZyBjw7MgxJHhu4thIGNo4buJIFVSTCIKKworIzogcHJvbWlzb3ItcmVtb3RlLmM6NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJvbWlzb3IgcmVtb3RlIG5hbWUgY2Fubm90IGJlZ2luIHdpdGggJy8nOiAlcyIKK21zZ3N0ciAidMOqbiBtw6F5IGNo4bunIGjhu6lhIGjhurluIGtow7RuZyB0aOG7gyBi4bqvdCDEkeG6p3UgYuG6sW5nICcvJzogJXMiCisKKyM6IHJhbmdlLWRpZmYuYzo3NQogbXNnaWQgImNvdWxkIG5vdCBzdGFydCBgbG9nYCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRow7RuZyB0aW4gdGjhu5FuZyBrw6ogduG7gSDigJxsb2figJwiCiAKLSM6IHJhbmdlLWRpZmYuYzo1OQorIzogcmFuZ2UtZGlmZi5jOjc3CiBtc2dpZCAiY291bGQgbm90IHJlYWQgYGxvZ2Agb3V0cHV0IgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIGvhur90IHh14bqldCDigJxsb2figJ0iCiAKLSM6IHJhbmdlLWRpZmYuYzo3NCBzZXF1ZW5jZXIuYzo0NzY0CisjOiByYW5nZS1kaWZmLmM6OTYgc2VxdWVuY2VyLmM6NTE2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBs4bqnbiBjaHV54buDbiBnaWFvIOKAnCVz4oCdIgogCi0jOiByYW5nZS1kaWZmLmM6MjI0CisjOiByYW5nZS1kaWZmLmM6MTIyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBnaXQgaGVhZGVyICclLipzJyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGPDuiBwaMOhcCBwaOG6p24gxJHhuqd1IGdpdCDigJwlLipz4oCdIgorCisjOiByYW5nZS1kaWZmLmM6Mjg1CiBtc2dpZCAiZmFpbGVkIHRvIGdlbmVyYXRlIGRpZmYiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB04bqhbyBraMOhYyBiaeG7h3QiCiAKLSM6IHJhbmdlLWRpZmYuYzo0NTUgcmFuZ2UtZGlmZi5jOjQ1NworIzogcmFuZ2UtZGlmZi5jOjUxOCByYW5nZS1kaWZmLmM6NTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBsb2cgZm9yICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBuaOG6rXQga8O9IGNobyDigJwlc+KAnSIKIAotIzogcmVhZC1jYWNoZS5jOjE0OTAKKyM6IHJlYWQtY2FjaGUuYzo2ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgYWRkIGZpbGUgYWxpYXMgJyVzJyAoJyVzJyBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCkiCittc2dzdHIgIiIKKyJz4bq9IGtow7RuZyB0aMOqbSBjw6FjIGLDrSBkYW5oIOKAnCVz4oCdICjigJwlc+KAnSDEkcOjIGPDsyB04burIHRyxrDhu5tjIHRyb25nIGLhuqNuZyBt4bulYyBs4bulYykiCisKKyM6IHJlYWQtY2FjaGUuYzo2OTYKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGFuIGVtcHR5IGJsb2IgaW4gdGhlIG9iamVjdCBkYXRhYmFzZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIG3hu5l0IGJsb2IgcuG7l25nIHRyb25nIGPGoSBz4bufIGThu68gbGnhu4d1IMSR4buRaSB0xrDhu6NuZyIKKworIzogcmVhZC1jYWNoZS5jOjcxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuIG9ubHkgYWRkIHJlZ3VsYXIgZmlsZXMsIHN5bWJvbGljIGxpbmtzIG9yIGdpdC1kaXJlY3RvcmllcyIKK21zZ3N0ciAiIgorIiVzOiBjaOG7iSBjw7MgdGjhu4MgdGjDqm0gdOG6rXAgdGluIHRow7RuZyB0aMaw4budbmcsIGxpw6puIGvhur90IG3hu4FtIGhv4bq3YyBnaXQtZGlyZWN0b3JpZXMiCisKKyM6IHJlYWQtY2FjaGUuYzo3MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBkb2VzIG5vdCBoYXZlIGEgY29tbWl0IGNoZWNrZWQgb3V0IgorbXNnc3RyICLigJwlc+KAnSBraMO0bmcgY8OzIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gbsOgbyDEkcaw4bujYyBs4bqleSByYSIKKworIzogcmVhZC1jYWNoZS5jOjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gaW5kZXggZmlsZSAnJXMnIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHDoW5oIG3hu6VjIGzhu6VjIHThuq1wIHRpbiDigJwlc+KAnSIKKworIzogcmVhZC1jYWNoZS5jOjc5NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYWRkICclcycgdG8gaW5kZXgiCittc2dzdHIgImtow7RuZyB0aOG7gyB0aMOqbSAlcyB2w6BvIGLhuqNuZyBt4bulYyBs4bulYyIKKworIzogcmVhZC1jYWNoZS5jOjgwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gc3RhdCAnJXMnIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdGjhu5FuZyBrw6og4oCcJXPigJ0iCisKKyM6IHJlYWQtY2FjaGUuYzoxMzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgYXBwZWFycyBhcyBib3RoIGEgZmlsZSBhbmQgYXMgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzIGPDsyB24bq7IGtow7RuZyBwaOG6o2kgbMOgIHThuq1wIHRpbiB2w6AgY8WpbmcgY2jhurNuZyBwaOG6o2kgbMOgIG3hu5l0IHRoxrAgbeG7pWMiCisKKyM6IHJlYWQtY2FjaGUuYzoxNTMxCiBtc2dpZCAiUmVmcmVzaCBpbmRleCIKIG1zZ3N0ciAiTMOgbSB0xrDGoWkgbeG7m2kgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiByZWFkLWNhY2hlLmM6MTYwNAorIzogcmVhZC1jYWNoZS5jOjE2NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImluZGV4LnZlcnNpb24gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0zNjg0LDcgKzUxMDUsNyBAQAogImluZGV4LnZlcnNpb24gxJHGsOG7o2MgxJHhurd0LCBuaMawbmcgZ2nDoSB0cuG7iyBj4bunYSBuw7MgbOG6oWkga2jDtG5nIGjhu6NwIGzhu4cuXG4iCiAiRMO5bmcgcGhpw6puIGLhuqNuICVpIgogCi0jOiByZWFkLWNhY2hlLmM6MTYxNAorIzogcmVhZC1jYWNoZS5jOjE2NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkdJVF9JTkRFWF9WRVJTSU9OIHNldCwgYnV0IHRoZSB2YWx1ZSBpcyBpbnZhbGlkLlxuIgpAQCAtMzY5Myw2MCArNTExNCwxNTAgQEAKICJHSVRfSU5ERVhfVkVSU0lPTiDEkcaw4bujYyDEkeG6t3QsIG5oxrBuZyBnacOhIHRy4buLIGPhu6dhIG7DsyBs4bqhaSBraMO0bmcgaOG7o3AgbOG7hy5cbiIKICJEw7luZyBwaGnDqm4gYuG6o24gJWkiCiAKLSM6IHJlYWQtY2FjaGUuYzoxNzkyCisjOiByZWFkLWNhY2hlLmM6MTcxMgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc2lnbmF0dXJlIDB4JTA4eCIKK21zZ3N0ciAiY2jhu68ga8O9IHNhaSAweCUwOHgiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzE1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICVkIgorbXNnc3RyICJwaGnDqm4gYuG6o24gbeG7pWMgbOG7pWMgc2FpICVkIgorCisjOiByZWFkLWNhY2hlLmM6MTcyNAorbXNnaWQgImJhZCBpbmRleCBmaWxlIHNoYTEgc2lnbmF0dXJlIgorbXNnc3RyICJjaOG7ryBrw70gZOG6oW5nIHNoYTEgY2hvIHThuq1wIHRpbiBt4bulYyBs4bulYyBraMO0bmcgxJHDum5nIgorCisjOiByZWFkLWNhY2hlLmM6MTc1NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbmRleCB1c2VzICUuNHMgZXh0ZW5zaW9uLCB3aGljaCB3ZSBkbyBub3QgdW5kZXJzdGFuZCIKK21zZ3N0ciAibeG7pWMgbOG7pWMgZMO5bmcgcGjhuqduIG3hu58gcuG7mW5nICUuNHMsIGPDoWkgbcOgIGNow7puZyB0w7RpIGtow7RuZyBoaeG7g3UgxJHGsOG7o2MiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nICUuNHMgZXh0ZW5zaW9uIgorbXNnc3RyICLEkWFuZyBs4budIMSRaSBwaOG6p24gbeG7nyBy4buZbmcgJS40cyIKKworIzogcmVhZC1jYWNoZS5jOjE3OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBpbmRleCBlbnRyeSBmb3JtYXQgMHglMDh4IgorbXNnc3RyICJraMO0bmcgaGnhu4N1IMSR4buLbmggZOG6oW5nIG3hu6VjIGzhu6VjIDB4JTA4eCIKKworIzogcmVhZC1jYWNoZS5jOjE4MDkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG5hbWUgZmllbGQgaW4gdGhlIGluZGV4LCBuZWFyIHBhdGggJyVzJyIKIG1zZ3N0ciAidHLGsOG7nW5nIHTDqm4gc2FpIHPhuqFuZyB0cm9uZyBt4bulYyBs4bulYywgZ+G6p24gxJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdIgogCi0jOiByZWFkLWNhY2hlLmM6MTk2MCByZXJlcmUuYzo1NjUgcmVyZXJlLmM6NTk5IHJlcmVyZS5jOjExMTEgYnVpbHRpbi9hZGQuYzo0NTgKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTc3IGJ1aWx0aW4vY2hlY2tvdXQuYzoyODkgYnVpbHRpbi9jaGVja291dC5jOjU4NQotIzogYnVpbHRpbi9jaGVja291dC5jOjk1MyBidWlsdGluL2NsZWFuLmM6OTU0IGJ1aWx0aW4vY29tbWl0LmM6MzQzCi0jOiBidWlsdGluL2RpZmYtdHJlZS5jOjExNSBidWlsdGluL2dyZXAuYzo0ODkgYnVpbHRpbi9tdi5jOjE0NAotIzogYnVpbHRpbi9yZXNldC5jOjI0NCBidWlsdGluL3JtLmM6MjcwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMjkKKyM6IHJlYWQtY2FjaGUuYzoxODY2Cittc2dpZCAidW5vcmRlcmVkIHN0YWdlIGVudHJpZXMgaW4gaW5kZXgiCittc2dzdHIgImPDoWMgbeG7pWMgdGluIHN0YWdlIGtow7RuZyDEkcO6bmcgdGjhu6kgdOG7sSB0cm9uZyBt4bulYyBs4bulYyIKKworIzogcmVhZC1jYWNoZS5jOjE4NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVsdGlwbGUgc3RhZ2UgZW50cmllcyBmb3IgbWVyZ2VkIGZpbGUgJyVzJyIKK21zZ3N0ciAibmhp4buBdSBt4bulYyBzdGFnZSBjaG8gdOG6rXAgdGluIGjDsmEgdHLhu5luIOKAnCVz4oCdIgorCisjOiByZWFkLWNhY2hlLmM6MTg3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm9yZGVyZWQgc3RhZ2UgZW50cmllcyBmb3IgJyVzJyIKK21zZ3N0ciAiY8OhYyBt4bulYyB0aW4gc3RhZ2Uga2jDtG5nIMSRw7puZyB0aOG7qSB04buxIGNobyDigJwlc+KAnSIKKworIzogcmVhZC1jYWNoZS5jOjE5NzggcmVhZC1jYWNoZS5jOjIyNjYgcmVyZXJlLmM6NTY1IHJlcmVyZS5jOjU5OSByZXJlcmUuYzoxMTExCisjOiBidWlsdGluL2FkZC5jOjQ5OSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3OCBidWlsdGluL2NoZWNrb3V0LmM6NDcwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjU0IGJ1aWx0aW4vY2xlYW4uYzo5NjcgYnVpbHRpbi9jb21taXQuYzozNjcKKyM6IGJ1aWx0aW4vZGlmZi10cmVlLmM6MTIwIGJ1aWx0aW4vZ3JlcC5jOjQ5OSBidWlsdGluL212LmM6MTQ1CisjOiBidWlsdGluL3Jlc2V0LmM6MjQ2IGJ1aWx0aW4vcm0uYzoyNzEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMzMgogbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCIKIG1zZ3N0ciAidOG6rXAgdGluIGdoaSBi4bqjbmcgbeG7pWMgbOG7pWMgYuG7iyBo4buPbmciCiAKLSM6IHJlYWQtY2FjaGUuYzoyMTAxCisjOiByZWFkLWNhY2hlLmM6MjExOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxvYWRfY2FjaGVfZW50cmllcyB0aHJlYWQ6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdHV54bq/biBsb2FkX2NhY2hlX2VudHJpZXM6ICVzIgogCi0jOiByZWFkLWNhY2hlLmM6MjExNAorIzogcmVhZC1jYWNoZS5jOjIxMzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGpvaW4gbG9hZF9jYWNoZV9lbnRyaWVzIHRocmVhZDogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaWEgbmjhuq1wIHR1eeG6v24gbG9hZF9jYWNoZV9lbnRyaWVzOiAlcyIKIAotIzogcmVhZC1jYWNoZS5jOjIyMDEKKyM6IHJlYWQtY2FjaGUuYzoyMTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmRleCBmaWxlIG9wZW4gZmFpbGVkIgorbXNnc3RyICIlczogbeG7nyB04bqtcCB0aW4gbeG7pWMgbOG7pWMgZ+G6t3AgbOG7l2kiCisKKyM6IHJlYWQtY2FjaGUuYzoyMTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3Qgc3RhdCB0aGUgb3BlbiBpbmRleCIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBs4bqleSB0aOG7kW5nIGvDqiBi4bqjbmcgbeG7pWMgbOG7pWMgxJHDoyBt4bufIgorCisjOiByZWFkLWNhY2hlLmM6MjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5kZXggZmlsZSBzbWFsbGVyIHRoYW4gZXhwZWN0ZWQiCittc2dzdHIgIiVzOiB04bqtcCB0aW4gbeG7pWMgbOG7pWMgbmjhu48gaMahbiBtb25nIMSR4bujaSIKKworIzogcmVhZC1jYWNoZS5jOjIxNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBtYXAgaW5kZXggZmlsZSIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyDDoW5oIHjhuqEgdOG6rXAgdGluIG3hu6VjIGzhu6VjIgorCisjOiByZWFkLWNhY2hlLmM6MjIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxvYWRfaW5kZXhfZXh0ZW5zaW9ucyB0aHJlYWQ6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdHV54bq/biBsb2FkX2luZGV4X2V4dGVuc2lvbnM6ICVzIgogCi0jOiByZWFkLWNhY2hlLmM6MjIyOAorIzogcmVhZC1jYWNoZS5jOjIyNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGpvaW4gbG9hZF9pbmRleF9leHRlbnNpb25zIHRocmVhZDogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaWEgbmjhuq1wIHR1eeG6v24gbG9hZF9pbmRleF9leHRlbnNpb25zOiAlcyIKIAotIzogcmVhZC1jYWNoZS5jOjI5ODIgc2VxdWVuY2VyLmM6NDcyNyB3cmFwcGVyLmM6NjU4IGJ1aWx0aW4vbWVyZ2UuYzoxMDg2CisjOiByZWFkLWNhY2hlLmM6MjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZnJlc2hlbiBzaGFyZWQgaW5kZXggJyVzJyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzDoG0gdMawxqFpIG3hu5tpIG3hu6VjIGzhu6VjIMSRw6MgY2hpYSBz4bq7IOKAnCVz4oCdIgorCisjOiByZWFkLWNhY2hlLmM6MjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICJicm9rZW4gaW5kZXgsIGV4cGVjdCAlcyBpbiAlcywgZ290ICVzIgorbXNnc3RyICJt4bulYyBs4bulYyBi4buLIGjhu49uZywgY+G6p24gJXMgdHJvbmcgJXMsIG5oxrBuZyBs4bqhaSBuaOG6rW4gxJHGsOG7o2MgJXMiCisKKyM6IHJlYWQtY2FjaGUuYzozMDIxIHN0cmJ1Zi5jOjExNDUgd3JhcHBlci5jOjYyMiBidWlsdGluL21lcmdlLmM6MTExOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSRw7NuZyDigJwlc+KAnSIKIAotIzogcmVhZC1jYWNoZS5jOjMwNTUgc2VxdWVuY2VyLmM6MjIwMyBzZXF1ZW5jZXIuYzozNTkyCisjOiByZWFkLWNhY2hlLmM6MzEyNCBzZXF1ZW5jZXIuYzoyNDI5IHNlcXVlbmNlci5jOjQwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRow7RuZyB0aW4gdGjhu5FuZyBrw6ogduG7gSDigJwlc+KAnSIKIAotIzogcmVhZC1jYWNoZS5jOjMwNjgKKyM6IHJlYWQtY2FjaGUuYzozMTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIGdpdCBkaXI6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyB0aMawIG3hu6VjIGdpdDogJXMiCiAKLSM6IHJlYWQtY2FjaGUuYzozMDgwCisjOiByZWFkLWNhY2hlLmM6MzE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdW5saW5rOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGLhu48gbGnDqm4ga+G6v3QgKHVubGluayk6IOKAnCVz4oCdIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoxMAorIzogcmVhZC1jYWNoZS5jOjMxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpeCBwZXJtaXNzaW9uIGJpdHMgb24gJyVzJyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHPhu61hIGPDoWMgYsOtdCBwaMOibiBxdXnhu4FuIHRyw6puIOKAnCVz4oCdIgorCisjOiByZWFkLWNhY2hlLmM6MzMyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRyb3AgdG8gc3RhZ2UgIzAiCittc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgeMOzYSBi4buPIHN0YWdlICMwIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidW5yZWNvZ25pemVkIHNldHRpbmcgJXMgZm9yIG9wdGlvbiByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4gSWdub3JpbmcuIgorbXNnc3RyICIiCisia2jDtG5nIG5o4bqtbiByYSBjw6BpIMSR4bq3dCAlcyBjaG8gdMO5eSBjaOG7jW4gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suIE7Dqm4gYuG7jyBxdWEuIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzozNQogbXNnaWQgIiIKICJcbiIKICJDb21tYW5kczpcbiIKQEAgLTM3OTIsNyArNTMwMywxMyBAQAogIk5o4buvbmcgZMOybmcgbsOgeSBjw7MgdGjhu4MgxJHhuqNvIG5nxrDhu6NjIHRo4bupIHThu7E7IGNow7puZyBjaOG6oXkgdOG7qyB0csOqbiDEkeG7iW5oIHh14buRbmcgZMaw4bubaSAiCiAixJHDoXkuXG4iCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjMxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxNzMKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kKSIKK21zZ2lkX3BsdXJhbCAiUmViYXNlICVzIG9udG8gJXMgKCVkIGNvbW1hbmRzKSIKK21zZ3N0clswXSAiQ+G6o2kgdOG7lSAlcyB2w6BvICVzICglZCBs4buHbmggKSIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6NjUgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjIyOAogbXNnaWQgIiIKICJcbiIKICJEbyBub3QgcmVtb3ZlIGFueSBsaW5lLiBVc2UgJ2Ryb3AnIGV4cGxpY2l0bHkgdG8gcmVtb3ZlIGEgY29tbWl0LlxuIgpAQCAtMzgwMSw3ICs1MzE4LDcgQEAKICLEkOG7q25nIHjDs2EgYuG6pXQga+G7syBkw7JuZyBuw6BvLiBEw7luZyDigJxkcm9w4oCdIG3hu5l0IGPDoWNoIHLDtSByw6BuZyDEkeG7gyB4w7NhIGLhu48gbeG7mXQgbOG6p24gIgogImNodXnhu4NuIGdpYW8uXG4iCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjM0IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxNzcKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjY4IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMzIKIG1zZ2lkICIiCiAiXG4iCiAiSWYgeW91IHJlbW92ZSBhIGxpbmUgaGVyZSBUSEFUIENPTU1JVCBXSUxMIEJFIExPU1QuXG4iCkBAIC0zODA5LDcgKzUzMjYsNyBAQAogIlxuIgogIk7hur91IGLhuqFuIHjDs2EgYuG7jyBt4buZdCBkw7JuZyDhu58gxJHDonkgdGjDrCBM4bqmTiBDSFVZ4buCTiBHSUFPIMSQw5MgU+G6vCBN4bqkVC5cbiIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6NDAgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgxNgorIzogcmViYXNlLWludGVyYWN0aXZlLmM6NzQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg3MQogbXNnaWQgIiIKICJcbiIKICJZb3UgYXJlIGVkaXRpbmcgdGhlIHRvZG8gZmlsZSBvZiBhbiBvbmdvaW5nIGludGVyYWN0aXZlIHJlYmFzZS5cbiIKQEAgLTM4MjMsNyArNTM0MCw3IEBACiAiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo0NSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODkzCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo3OSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTQ4CiBtc2dpZCAiIgogIlxuIgogIkhvd2V2ZXIsIGlmIHlvdSByZW1vdmUgZXZlcnl0aGluZywgdGhlIHJlYmFzZSB3aWxsIGJlIGFib3J0ZWQuXG4iCkBAIC0zODMzLDEyNSArNTM1MCwxNTcgQEAKICJUdXkgbmhpw6puLCBu4bq/dSBi4bqhbiB4w7NhIGLhu48gbeG7jWkgdGjhu6ksIHZp4buHYyBj4bqjaSB04buVIHPhur0gYuG7iyBiw6NpIGLhu48uXG4iCiAiXG4iCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjUxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MDAKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjg1IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NTUKIG1zZ2lkICJOb3RlIHRoYXQgZW1wdHkgY29tbWl0cyBhcmUgY29tbWVudGVkIG91dCIKIG1zZ3N0ciAiQ2jDuiDDvSBy4bqxbmcgbOG6p24gY2h1eeG7g24gZ2lhbyB0cuG7kW5nIHLhu5duZyBsw6AgZ2hpIGNow7oiCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjYyIHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjc1IHNlcXVlbmNlci5jOjIxODYKLSM6IHNlcXVlbmNlci5jOjQ1MDUgc2VxdWVuY2VyLmM6NDU2MSBzZXF1ZW5jZXIuYzo0ODM2CisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoxMDUgcmVyZXJlLmM6NDg1IHJlcmVyZS5jOjY5MiBzZXF1ZW5jZXIuYzozNTM2CisjOiBzZXF1ZW5jZXIuYzozNTYyIHNlcXVlbmNlci5jOjUyNjMgYnVpbHRpbi9mc2NrLmM6MzQ2IGJ1aWx0aW4vcmViYXNlLmM6MjU0CiAjLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgotbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIOKAnCVz4oCdLiIKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgJyVzJyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSDigJwlc+KAnSIKIAotIzogcmVmcy5jOjE5MgorIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjb3B5ICclcycgdG8gJyVzJy4iCittc2dzdHIgImtow7RuZyB0aOG7gyBjaMOpcCDigJwlc+KAnSBzYW5nIOKAnCVz4oCdLiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS5cbiIKKyJEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKTpcbiIKK21zZ3N0ciAiIgorIkPhuqNuaCBiw6FvOiBt4buZdCBz4buRIGzhuqduIGNodXnhu4NuIGdpYW8gY8OzIGzhur0gxJHDoyBi4buLIHjDs2EgbeG7mXQgY8OhY2ggdMOsbmggY+G7nS5cbiIKKyJDw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gYuG7iyB4w7NhICh04burIG3hu5tpIMSR4bq/biBjxakpOlxuIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRvIGF2b2lkIHRoaXMgbWVzc2FnZSwgdXNlIFwiZHJvcFwiIHRvIGV4cGxpY2l0bHkgcmVtb3ZlIGEgY29tbWl0LlxuIgorIlxuIgorIlVzZSAnZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjaycgdG8gY2hhbmdlIHRoZSBsZXZlbCBvZiAiCisid2FybmluZ3MuXG4iCisiVGhlIHBvc3NpYmxlIGJlaGF2aW91cnMgYXJlOiBpZ25vcmUsIHdhcm4sIGVycm9yLlxuIgorIlxuIgorbXNnc3RyICIiCisixJDhu4MgdHLDoW5oIHRow7RuZyBiw6FvIG7DoHksIGTDuW5nIFwiZHJvcFwiIG3hu5l0IGPDoWNoIHLDtSByw6BuZyDEkeG7gyB4w7NhIGLhu48gbeG7mXQgbOG6p24gIgorImNodXnhu4NuIGdpYW8uXG4iCisiXG4iCisiRMO5bmcg4oCcZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVja+KAnSDEkeG7gyB0aGF5IMSR4buVaSBt4bupYyDEkeG7mSBj4bunYSBj4bqjbmggIgorImLDoW8uXG4iCisiQ8Ohbmgg4bupbmcgeOG7rSBjw7MgdGjhu4MgbMOgOiBpZ25vcmUsIHdhcm4sIGVycm9yLlxuIgorIlxuIgorCisjOiByZWZzLmM6MjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgb2JqZWN0ISIKIG1zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIGNo4buJIMSR4bq/biBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIGjhu6NwIGzhu4cgbsOgbyBj4bqjISIKIAotIzogcmVmcy5jOjU4MworIzogcmVmcy5jOjY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBkYW5nbGluZyBzeW1yZWYgJXMiCiBtc2dzdHIgIsSRYW5nIGzhu50gxJFpIHRoYW0gY2hp4bq/dSBt4buBbSB0aOG7q2EgJXMiCiAKLSM6IHJlZnMuYzo1ODUgcmVmLWZpbHRlci5jOjE5NTEKKyM6IHJlZnMuYzo2NjkgcmVmLWZpbHRlci5jOjIwOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgYnJva2VuIHJlZiAlcyIKIG1zZ3N0ciAixJFhbmcgbOG7nSDEkWkgdGhhbSBjaGnhur91IGjhu49uZyAlcyIKIAotIzogcmVmcy5jOjcxMQorIzogcmVmcy5jOjgwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58g4oCcJXPigJ0gxJHhu4MgZ2hpOiAlcyIKIAotIzogcmVmcy5jOjcyMSByZWZzLmM6NzcyCisjOiByZWZzLmM6ODE0IHJlZnMuYzo4NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgcmVmICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgdGhhbSBjaGnhur91IOKAnCVz4oCdIgogCi0jOiByZWZzLmM6NzI3CisjOiByZWZzLmM6ODIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZiAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICJ0aGFtIGNoaeG6v3Ug4oCcJXPigJ0gxJHDoyBjw7MgdOG7qyB0csaw4bubYyBy4buTaSIKIAotIzogcmVmcy5jOjczMgorIzogcmVmcy5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG9iamVjdCBJRCB3aGVuIHdyaXRpbmcgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIGPhuqduIElEIMSR4buRaSB0xrDhu6NuZyBraGkgZ2hpIOKAnCVz4oCdIgogCi0jOiByZWZzLmM6NzQwIHNlcXVlbmNlci5jOjM5NCBzZXF1ZW5jZXIuYzoyNTEwIHNlcXVlbmNlci5jOjI2MzYKLSM6IHNlcXVlbmNlci5jOjI2NTAgc2VxdWVuY2VyLmM6Mjg3NyBzZXF1ZW5jZXIuYzo0NzI1IHNlcXVlbmNlci5jOjQ3ODgKLSM6IHdyYXBwZXIuYzo2NTYKKyM6IHJlZnMuYzo4MzMgc2VxdWVuY2VyLmM6NDA1IHNlcXVlbmNlci5jOjI3OTMgc2VxdWVuY2VyLmM6Mjk5NworIzogc2VxdWVuY2VyLmM6MzAxMSBzZXF1ZW5jZXIuYzozMjY5IHNlcXVlbmNlci5jOjUxNzkgc3RyYnVmLmM6MTE0MgorIzogd3JhcHBlci5jOjYyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSB2w6BvIOKAnCVz4oCdIgogCi0jOiByZWZzLmM6NzY3IHNlcXVlbmNlci5jOjQ3MjMgc2VxdWVuY2VyLmM6NDc4MiB3cmFwcGVyLmM6MjI1IHdyYXBwZXIuYzozOTUKLSM6IGJ1aWx0aW4vYW0uYzo3MjgKKyM6IHJlZnMuYzo4NjAgc3RyYnVmLmM6MTE0MCB3cmFwcGVyLmM6MTg4IHdyYXBwZXIuYzozNTggYnVpbHRpbi9hbS5jOjcxNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxMDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIOKAnCVz4oCdIMSR4buDIGdoaSIKIAotIzogcmVmcy5jOjc3NAorIzogcmVmcy5jOjg2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG9iamVjdCBJRCB3aGVuIGRlbGV0aW5nICclcyciCiBtc2dzdHIgImfhurdwIElEIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgY+G6p24ga2hpIHjDs2Eg4oCcJXPigJ0iCiAKLSM6IHJlZnMuYzo5MDUKKyM6IHJlZnMuYzo5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9nIGZvciByZWYgJXMgaGFzIGdhcCBhZnRlciAlcyIKLW1zZ3N0ciAiTmjhuq10IGvDvSBjaG8gdGhhbSBjaGnhur91ICVzIGPDsyBraG/huqNuZyB0cuG7kW5nIHNhdSAlcyIKK21zZ3N0ciAibmjhuq10IGvDvSBjaG8gdGhhbSBjaGnhur91ICVzIGPDsyBraG/huqNuZyB0cuG7kW5nIHNhdSAlcyIKIAotIzogcmVmcy5jOjkxMQorIzogcmVmcy5jOjEwMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9nIGZvciByZWYgJXMgdW5leHBlY3RlZGx5IGVuZGVkIG9uICVzIgogbXNnc3RyICJuaOG6rXQga8O9IGNobyB0aGFtIGNoaeG6v3UgJXMga+G6v3QgdGjDumMgYuG6pXQgbmfhu50gdHLDqm4gJXMiCiAKLSM6IHJlZnMuYzo5NjkKKyM6IHJlZnMuYzoxMDYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImxvZyBmb3IgJXMgaXMgZW1wdHkiCiBtc2dzdHIgIm5o4bqtdCBrw70gY2hvICVzIHRy4buRbmcgcuG7l25nIgogCi0jOiByZWZzLmM6MTA2MQorIzogcmVmcy5jOjExNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmdXNpbmcgdG8gdXBkYXRlIHJlZiB3aXRoIGJhZCBuYW1lICclcyciCiBtc2dzdHIgInThu6sgY2jhu5FpIGPhuq1wIG5o4bqtdCB0aGFtIGNoaeG6v3UgduG7m2kgdMOqbiBzYWkg4oCcJXPigJ0iCiAKLSM6IHJlZnMuYzoxMTM3CisjOiByZWZzLmM6MTIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1cGRhdGVfcmVmIGZhaWxlZCBmb3IgcmVmICclcyc6ICVzIgogbXNnc3RyICJ1cGRhdGVfcmVmIGLhu4sgbOG7l2kgY2hvIHJlZiDigJwlc+KAnTogJXMiCiAKLSM6IHJlZnMuYzoxOTExCisjOiByZWZzLmM6MjAyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aXBsZSB1cGRhdGVzIGZvciByZWYgJyVzJyBub3QgYWxsb3dlZCIKIG1zZ3N0ciAia2jDtG5nIGNobyBwaMOpcCDEkWEgY+G6rXAgbmjhuq10IGNobyB0aGFtIGNoaeG6v3Ug4oCcJXPigJ0iCiAKLSM6IHJlZnMuYzoxOTQzCisjOiByZWZzLmM6MjA1NQogbXNnaWQgInJlZiB1cGRhdGVzIGZvcmJpZGRlbiBpbnNpZGUgcXVhcmFudGluZSBlbnZpcm9ubWVudCIKIG1zZ3N0ciAiY+G6rXAgbmjhuq10IHRoYW0gY2hp4bq/dSBi4buLIGPhuqVtIHRyb25nIG3DtGkgdHLGsOG7nW5nIGtp4buDbSB0cmEiCiAKLSM6IHJlZnMuYzoyMDM5IHJlZnMuYzoyMDY5CisjOiByZWZzLmM6MjE1MSByZWZzLmM6MjE4MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGV4aXN0czsgY2Fubm90IGNyZWF0ZSAnJXMnIgogbXNnc3RyICLigJwlc+KAnSBz4bq1biBjw7M7IGtow7RuZyB0aOG7gyB04bqhbyDigJwlc+KAnSIKIAotIzogcmVmcy5jOjIwNDUgcmVmcy5jOjIwODAKKyM6IHJlZnMuYzoyMTU3IHJlZnMuYzoyMTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBwcm9jZXNzICclcycgYW5kICclcycgYXQgdGhlIHNhbWUgdGltZSIKLW1zZ3N0ciAiS2jDtG5nIHRo4buDIHjhu60gbMO9IOKAnCVz4oCdIHbDoCDigJwlc+KAnSBjw7luZyBt4buZdCBsw7pjIgorbXNnc3RyICJraMO0bmcgdGjhu4MgeOG7rSBsw70g4oCcJXPigJ0gdsOgIOKAnCVz4oCdIGPDuW5nIG3hu5l0IGzDumMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyMjgKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSByZWZlcmVuY2UgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBn4buhIGLhu48gdGhhbSBjaGnhur91OiAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTI0MiByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTUzMgotIzogcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDIKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyNDggcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDEKKyM6IHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlICVzOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHjDs2EgYuG7jyB0aGFtIGNoaeG6v3UgJXM6ICVzIgogCi0jOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxMjQ1IHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTQ1CisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxMjUxIHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlczogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB4w7NhIGLhu48gdGhhbSBjaGnhur91OiAlcyIKQEAgLTM5NjEsMTM2ICs1NTEwLDE0MSBAQAogbXNnaWQgImludmFsaWQgcmVmc3BlYyAnJXMnIgogbXNnc3RyICJyZWZzcGVjIGtow7RuZyBo4bujcCBs4buHIOKAnCVz4oCdIgogCi0jOiByZWYtZmlsdGVyLmM6Mzkgd3Qtc3RhdHVzLmM6MTg1NQorIzogcmVmLWZpbHRlci5jOjQyIHd0LXN0YXR1cy5jOjE5MzgKIG1zZ2lkICJnb25lIgogbXNnc3RyICLEkcOjIHJhIMSRaSIKIAotIzogcmVmLWZpbHRlci5jOjQwCisjOiByZWYtZmlsdGVyLmM6NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWhlYWQgJWQiCiBtc2dzdHIgInBow61hIHRyxrDhu5tjICVkIgogCi0jOiByZWYtZmlsdGVyLmM6NDEKKyM6IHJlZi1maWx0ZXIuYzo0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiZWhpbmQgJWQiCiBtc2dzdHIgIsSR4bqxbmcgc2F1ICVkIgogCi0jOiByZWYtZmlsdGVyLmM6NDIKKyM6IHJlZi1maWx0ZXIuYzo0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhaGVhZCAlZCwgYmVoaW5kICVkIgogbXNnc3RyICJ0csaw4bubYyAlZCwgc2F1ICVkIgogCi0jOiByZWYtZmlsdGVyLmM6MTM4CisjOiByZWYtZmlsdGVyLmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIGZvcm1hdDogJSUoY29sb3I6PGNvbG9yPikiCiBtc2dzdHIgImPhuqduIMSR4buLbmggZOG6oW5nOiAlJShjb2xvcjo8Y29sb3I+KSIKIAotIzogcmVmLWZpbHRlci5jOjE0MAorIzogcmVmLWZpbHRlci5jOjE2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgY29sb3I6ICUlKGNvbG9yOiVzKSIKIG1zZ3N0ciAia2jDtG5nIG5o4bqtbiByYSBtw6B1OiAlJShtw6B1OiVzKSIKIAotIzogcmVmLWZpbHRlci5jOjE2MgorIzogcmVmLWZpbHRlci5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnRlZ2VyIHZhbHVlIGV4cGVjdGVkIHJlZm5hbWU6bHN0cmlwPSVzIgogbXNnc3RyICJHacOhIHRy4buLIG5ndXnDqm4gY+G6p24gdMOqbiB0aGFtIGNoaeG6v3U6bHN0cmlwPSVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTY2CisjOiByZWYtZmlsdGVyLmM6MTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludGVnZXIgdmFsdWUgZXhwZWN0ZWQgcmVmbmFtZTpyc3RyaXA9JXMiCiBtc2dzdHIgIkdpw6EgdHLhu4sgbmd1ecOqbiBj4bqnbiB0w6puIHRoYW0gY2hp4bq/dTpyc3RyaXA9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjgKKyM6IHJlZi1maWx0ZXIuYzoxOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKCVzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyDEkcaw4bujYyB0aOG7q2Egbmjhuq1uICUlKCVzKTogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoyMjMKKyM6IHJlZi1maWx0ZXIuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUob2JqZWN0dHlwZSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKG9iamVjdHR5cGUpIGtow7RuZyBuaOG6rW4gY8OhYyDEkeG7kWkgc+G7kSIKIAotIzogcmVmLWZpbHRlci5jOjIzNQorIzogcmVmLWZpbHRlci5jOjI3MgogIywgYy1mb3JtYXQKLW1zZ2lkICIlJShvYmplY3RzaXplKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKLW1zZ3N0ciAiJSUob2JqZWN0c2l6ZSkga2jDtG5nIG5o4bqtbiBjw6FjIMSR4buRaSBz4buRIgorbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RzaXplKSBhcmd1bWVudDogJXMiCittc2dzdHIgInRoYW0gc+G7kSBraMO0bmcgxJHGsOG7o2MgdGjhu6thIG5o4bqtbiAlJShvYmplY3RuYW1lKTogJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoyNDcKKyM6IHJlZi1maWx0ZXIuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSUoZGVsdGFiYXNlKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKK21zZ3N0ciAiJSUoZGVsdGFiYXNlKSBraMO0bmcgbmjhuq1uIGPDoWMgxJHhu5FpIHPhu5EiCisKKyM6IHJlZi1maWx0ZXIuYzoyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUoYm9keSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKGJvZHkpIGtow7RuZyBuaOG6rW4gY8OhYyDEkeG7kWkgc+G7kSIKIAotIzogcmVmLWZpbHRlci5jOjI1NgorIzogcmVmLWZpbHRlci5jOjMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlJShzdWJqZWN0KSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKIG1zZ3N0ciAiJSUoc3ViamVjdCkga2jDtG5nIG5o4bqtbiBjw6FjIMSR4buRaSBz4buRIgogCi0jOiByZWYtZmlsdGVyLmM6Mjc4CisjOiByZWYtZmlsdGVyLmM6MzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gJSUodHJhaWxlcnMpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAia2jDtG5nIGhp4buDdSB0aGFtIHPhu5EgJSUodHJhaWxlcnMpOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjMwNworIzogcmVmLWZpbHRlci5jOjM1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBjb250ZW50czpsaW5lcz0lcyIKIG1zZ3N0ciAiY+G6p24gbuG7mWkgZHVuZyBtYW5nIGdpw6EgdHLhu4sgZMawxqFuZzpsaW5lcz0lcyIKIAotIzogcmVmLWZpbHRlci5jOjMwOQorIzogcmVmLWZpbHRlci5jOjM1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoY29udGVudHMpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAixJHhu5FpIHPhu5Ega2jDtG5nIMSRxrDhu6NjIHRo4burYSBuaOG6rW4gJSUoY29udGVudHMpOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjMyNAorIzogcmVmLWZpbHRlci5jOjM2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBvYmplY3RuYW1lOnNob3J0PSVzIgogbXNnc3RyICJj4bqnbiBu4buZaSBkdW5nIG1hbmcgZ2nDoSB0cuG7iyBkxrDGoW5nOnNob3Q9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozMjgKKyM6IHJlZi1maWx0ZXIuYzozNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKG9iamVjdG5hbWUpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAixJHhu5FpIHPhu5Ega2jDtG5nIMSRxrDhu6NjIHRo4burYSBuaOG6rW4gJSUob2JqZWN0bmFtZSk6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MzU4CisjOiByZWYtZmlsdGVyLmM6NDAzCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIGZvcm1hdDogJSUoYWxpZ246PHdpZHRoPiw8cG9zaXRpb24+KSIKIG1zZ3N0ciAiY+G6p24gxJHhu4tuaCBk4bqhbmc6ICUlKGFsaWduOjx3aWR0aD4sPHBvc2l0aW9uPikiCiAKLSM6IHJlZi1maWx0ZXIuYzozNzAKKyM6IHJlZi1maWx0ZXIuYzo0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHBvc2l0aW9uOiVzIgogbXNnc3RyICJ24buLIHRyw60ga2jDtG5nIMSRxrDhu6NjIHRo4burYSBuaOG6rW46JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozNzcKKyM6IHJlZi1maWx0ZXIuYzo0MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdpZHRoOiVzIgogbXNnc3RyICJjaGnhu4F1IHLhu5luZyBraMO0bmcgxJHGsOG7o2MgdGjhu6thIG5o4bqtbjolcyIKIAotIzogcmVmLWZpbHRlci5jOjM4NgorIzogcmVmLWZpbHRlci5jOjQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoYWxpZ24pIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAixJHhu5FpIHPhu5Ega2jDtG5nIMSRxrDhu6NjIHRo4burYSBuaOG6rW4gJSUoYWxpZ24pOiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjM5NAorIzogcmVmLWZpbHRlci5jOjQzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwb3NpdGl2ZSB3aWR0aCBleHBlY3RlZCB3aXRoIHRoZSAlJShhbGlnbikgYXRvbSIKIG1zZ3N0ciAiY+G6p24gZ2nDoSB0cuG7iyDEkeG7mSBy4buZbmcgZMawxqFuZyB24bubaSBuZ3V5w6puIHThu60gJSUoYWxpZ24pIgogCi0jOiByZWYtZmlsdGVyLmM6NDEyCisjOiByZWYtZmlsdGVyLmM6NDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAlJShpZikgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLEkeG7kWkgc+G7kSBraMO0bmcgxJHGsOG7o2MgdGjhu6thIG5o4bqtbiAlJShpZik6ICVzIgogCi0jOiByZWYtZmlsdGVyLmM6NTA4CisjOiByZWYtZmlsdGVyLmM6NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBmaWVsZCBuYW1lOiAlLipzIgogbXNnc3RyICJ0w6puIHRyxrDhu51uZyBk4buLIGjDrG5oOiAlLipzIgogCi0jOiByZWYtZmlsdGVyLmM6NTM1CisjOiByZWYtZmlsdGVyLmM6NTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gZmllbGQgbmFtZTogJS4qcyIKIG1zZ3N0ciAia2jDtG5nIGhp4buDdSB0w6puIHRyxrDhu51uZzogJS4qcyIKIAotIzogcmVmLWZpbHRlci5jOjUzOQorIzogcmVmLWZpbHRlci5jOjU5MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGEgZ2l0IHJlcG9zaXRvcnksIGJ1dCB0aGUgZmllbGQgJyUuKnMnIHJlcXVpcmVzIGFjY2VzcyB0byBvYmplY3QgZGF0YSIKQEAgLTQwOTgsMjE0ICs1NjUyLDM0NSBAQAogImtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IGtobyBnaXQsIG5oxrBuZyB0csaw4budbmcg4oCcJS4qc+KAnSB5w6p1IGPhuqd1IHRydXkgY+G6rXAgdsOgbyBk4buvIGxp4buHdSAiCiAixJHhu5FpIHTGsOG7o25nIgogCi0jOiByZWYtZmlsdGVyLmM6NjYzCisjOiByZWYtZmlsdGVyLmM6NzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoaWYpIGF0b20gdXNlZCB3aXRob3V0IGEgJSUodGhlbikgYXRvbSIKIG1zZ3N0ciAixJHhu4tuaCBk4bqhbmc6IG5ndXnDqm4gdOG7rSAlJShpZikgxJHGsOG7o2MgZMO5bmcgbcOgIGtow7RuZyBjw7Mgbmd1ecOqbiB04butICUlKHRoZW4pIgogCi0jOiByZWYtZmlsdGVyLmM6NzI2CisjOiByZWYtZmlsdGVyLmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIHdpdGhvdXQgYW4gJSUoaWYpIGF0b20iCiBtc2dzdHIgIsSR4buLbmggZOG6oW5nOiBuZ3V5w6puIHThu60gJSUodGhlbikgxJHGsOG7o2MgZMO5bmcgbcOgIGtow7RuZyBjw7Mgbmd1ecOqbiB04butICUlKGlmKSIKIAotIzogcmVmLWZpbHRlci5jOjcyOAorIzogcmVmLWZpbHRlci5jOjc3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKIG1zZ3N0ciAixJHhu4tuaCBk4bqhbmc6IG5ndXnDqm4gdOG7rSAlJSh0aGVuKSDEkcaw4bujYyBkw7luZyBuaGnhu4F1IGjGoW4gbeG7mXQgbOG6p24iCiAKLSM6IHJlZi1maWx0ZXIuYzo3MzAKKyM6IHJlZi1maWx0ZXIuYzo3ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgYWZ0ZXIgJSUoZWxzZSkiCiBtc2dzdHIgIsSR4buLbmggZOG6oW5nOiBuZ3V5w6puIHThu60gJSUodGhlbikgxJHGsOG7o2MgZMO5bmcgc2F1ICUlKGVsc2UpIgogCi0jOiByZWYtZmlsdGVyLmM6NzU4CisjOiByZWYtZmlsdGVyLmM6ODA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYW4gJSUoaWYpIGF0b20iCiBtc2dzdHIgIsSR4buLbmggZOG6oW5nOiBuZ3V5w6puIHThu60gJSUoZWxzZSkgxJHGsOG7o2MgZMO5bmcgbcOgIGtow7RuZyBjw7Mgbmd1ecOqbiB04butICUlKGlmKSIKIAotIzogcmVmLWZpbHRlci5jOjc2MAorIzogcmVmLWZpbHRlci5jOjgxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCB3aXRob3V0IGEgJSUodGhlbikgYXRvbSIKIG1zZ3N0ciAixJHhu4tuaCBk4bqhbmc6IG5ndXnDqm4gdOG7rSAlJShlbHNlKSDEkcaw4bujYyBkw7luZyBtw6Aga2jDtG5nIGPDsyBuZ3V5w6puIHThu60gJSUodGhlbikiCiAKLSM6IHJlZi1maWx0ZXIuYzo3NjIKKyM6IHJlZi1maWx0ZXIuYzo4MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiCiBtc2dzdHIgIsSR4buLbmggZOG6oW5nOiBuZ3V5w6puIHThu60gJSUoZWxzZSkgxJHGsOG7o2MgZMO5bmcgbmhp4buBdSBoxqFuIG3hu5l0IGzhuqduIgogCi0jOiByZWYtZmlsdGVyLmM6Nzc3CisjOiByZWYtZmlsdGVyLmM6ODI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZW5kKSBhdG9tIHVzZWQgd2l0aG91dCBjb3JyZXNwb25kaW5nIGF0b20iCiBtc2dzdHIgIsSR4buLbmggZOG6oW5nOiBuZ3V5w6puIHThu60gJSUoZW5kKSDEkcaw4bujYyBkw7luZyBtw6Aga2jDtG5nIGPDsyBuZ3V5w6puIHThu60gdMawxqFuZyDhu6luZyIKIAotIzogcmVmLWZpbHRlci5jOjgzNAorIzogcmVmLWZpbHRlci5jOjg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgZm9ybWF0IHN0cmluZyAlcyIKIG1zZ3N0ciAiY2h14buXaSDEkeG7i25oIGThuqFuZyBk4buLIGjDrG5oICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTQyNAorIzogcmVmLWZpbHRlci5jOjE0ODgKICMsIGMtZm9ybWF0Ci1tc2dpZCAiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIgotbXNnc3RyICIoa2jDtG5nIG5ow6FuaCwgxJFhbmcgY+G6o2kgdOG7lSAlcykiCittc2dpZCAibm8gYnJhbmNoLCByZWJhc2luZyAlcyIKK21zZ3N0ciAia2jDtG5nIG5ow6FuaCwgxJFhbmcgY+G6o2kgdOG7lSAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE0MjcKKyM6IHJlZi1maWx0ZXIuYzoxNDkxCiAjLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nIGRldGFjaGVkIEhFQUQgJXMpIgotbXNnc3RyICIoa2jDtG5nIG5ow6FuaCwgxJFhbmcgY+G6o2kgdOG7lSBIRUFEICVzIMSRw6MgdMOhY2ggcuG7nWkpIgorbXNnaWQgIm5vIGJyYW5jaCwgcmViYXNpbmcgZGV0YWNoZWQgSEVBRCAlcyIKK21zZ3N0ciAia2jDtG5nIG5ow6FuaCwgxJFhbmcgY+G6o2kgdOG7lSBIRUFEICVzIMSRw6MgdMOhY2ggcuG7nWkiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDMwCisjOiByZWYtZmlsdGVyLmM6MTQ5NAogIywgYy1mb3JtYXQKLW1zZ2lkICIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiCi1tc2dzdHIgIihraMO0bmcgbmjDoW5oLCBkaSBjaHV54buDbiBu4butYSBixrDhu5tjIMSRxrDhu6NjIGLhuq90IMSR4bqndSB04bqhaSAlcykiCittc2dpZCAibm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcyIKK21zZ3N0ciAia2jDtG5nIG5ow6FuaCwgZGkgY2h1eeG7g24gbuG7rWEgYsaw4bubYyDEkcaw4bujYyBi4bqvdCDEkeG6p3UgdOG6oWkgJXMiCiAKLSMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECi0jLiBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCi0jLgotIzogcmVmLWZpbHRlci5jOjE0MzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgotbXNnc3RyICIoSEVBRCDEkcaw4bujYyB0w6FjaCBy4budaSB04bqhaSAlcykiCisjOiByZWYtZmlsdGVyLmM6MTUwNAorbXNnaWQgIm5vIGJyYW5jaCIKK21zZ3N0ciAia2jDtG5nIG5ow6FuaCIKIAotIy4gVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMgIkhFQUQKLSMuIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYwotIy4KLSM6IHJlZi1maWx0ZXIuYzoxNDQ1Ci0jLCBjLWZvcm1hdAotbXNnaWQgIihIRUFEIGRldGFjaGVkIGZyb20gJXMpIgotbXNnc3RyICIoSEVBRCDEkcaw4bujYyB0w6FjaCBy4budaSB04burICVzKSIKLQotIzogcmVmLWZpbHRlci5jOjE0NDkKLW1zZ2lkICIobm8gYnJhbmNoKSIKLW1zZ3N0ciAiKGtow7RuZyBuaMOhbmgpIgotCi0jOiByZWYtZmlsdGVyLmM6MTQ4MyByZWYtZmlsdGVyLmM6MTYzOAorIzogcmVmLWZpbHRlci5jOjE1NDAgcmVmLWZpbHRlci5jOjE3NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBvYmplY3QgJXMgZm9yICVzIgogbXNnc3RyICJ0aGnhur91IMSR4buRaSB0xrDhu6NuZyAlcyBjaG8gJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDkxCisjOiByZWYtZmlsdGVyLmM6MTU1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXJzZV9vYmplY3RfYnVmZmVyIGZhaWxlZCBvbiAlcyBmb3IgJXMiCiBtc2dzdHIgInBhcnNlX29iamVjdF9idWZmZXIgZ+G6t3AgbOG7l2kgdHLDqm4gJXMgY2hvICVzIgogCi0jOiByZWYtZmlsdGVyLmM6MTg1NworIzogcmVmLWZpbHRlci5jOjIwMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBhdCAnJXMnIgogbXNnc3RyICLEkeG7kWkgdMaw4bujbmcgZOG7iyBow6xuaCB04bqhaSDigJwlc+KAnSIKIAotIzogcmVmLWZpbHRlci5jOjE5NDYKKyM6IHJlZi1maWx0ZXIuYzoyMDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHJlZiB3aXRoIGJyb2tlbiBuYW1lICVzIgogbXNnc3RyICLEkWFuZyBs4budIMSRaSB0aGFtIGNoaeG6v3UgduG7m2kgdMOqbiBo4buPbmcgJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoyMjMyCisjOiByZWYtZmlsdGVyLmM6MjM4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSBtaXNzaW5nIgogbXNnc3RyICLEkeG7i25oIGThuqFuZzogdGhp4bq/dSBuZ3V5w6puIHThu60gJSUoZW5kKSIKIAotIzogcmVmLWZpbHRlci5jOjIzMzgKKyM6IHJlZi1maWx0ZXIuYzoyNDg5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbWVyZ2VkIgorbXNnc3RyICJ0w7l5IGNo4buNbiDigJwlc+KAnSBsw6AgeHVuZyBraOG6r2MgduG7m2kgdMO5eSBjaOG7jW4gLS1tZXJnZWQiCisKKyM6IHJlZi1maWx0ZXIuYzoyNDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbm8tbWVyZ2VkIgorbXNnc3RyICJ0w7l5IGNo4buNbiDigJwlc+KAnSBsw6AgeHVuZyBraOG6r2MgduG7m2kgdMO5eSBjaOG7jW4gLS1uby1tZXJnZWQiCisKKyM6IHJlZi1maWx0ZXIuYzoyNTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgbmFtZSAlcyIKIG1zZ3N0ciAidMOqbiDEkeG7kWkgdMaw4bujbmcgZOG7iyBow6xuaCAlcyIKIAotIzogcmVtb3RlLmM6NjA3CisjOiByZWYtZmlsdGVyLmM6MjUwNworIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBtdXN0IHBvaW50IHRvIGEgY29tbWl0IgorbXNnc3RyICJ0w7l5IGNo4buNbiDigJwlc+KAnSBwaOG6o2kgY2jhu4kgxJHhur9uIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8iCisKKyM6IHJlbW90ZS5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb25maWcgcmVtb3RlIHNob3J0aGFuZCBjYW5ub3QgYmVnaW4gd2l0aCAnLyc6ICVzIgorbXNnc3RyICJj4bqldSBow6xuaCB2aeG6v3QgdOG6r3QgbcOheSBjaOG7pyBraMO0bmcgdGjhu4MgYuG6r3QgxJHhuqd1IGLhurFuZyDigJwv4oCdOiAlcyIKKworIzogcmVtb3RlLmM6NDEzCittc2dpZCAibW9yZSB0aGFuIG9uZSByZWNlaXZlcGFjayBnaXZlbiwgdXNpbmcgdGhlIGZpcnN0IgorbXNnc3RyICLEkcOjIMSRxrBhIHJhIG5oaeG7gXUgaMahbiBt4buZdCBnw7NpIG5o4bqtbiB24buBLCDEkWFuZyBz4butIGThu6VuZyBjw6FpIMSR4bqndSB0acOqbiIKKworIzogcmVtb3RlLmM6NDIxCittc2dpZCAibW9yZSB0aGFuIG9uZSB1cGxvYWRwYWNrIGdpdmVuLCB1c2luZyB0aGUgZmlyc3QiCittc2dzdHIgIsSRw6MgxJHGsGEgcmEgbmhp4buBdSBoxqFuIG3hu5l0IGfDs2kgdOG6o2kgbMOqbiwgxJFhbmcgc+G7rSBk4bulbmcgY8OhaSDEkeG6p3UgdGnDqm4iCisKKyM6IHJlbW90ZS5jOjYxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZmV0Y2ggYm90aCAlcyBhbmQgJXMgdG8gJXMiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBs4bqleSB24buBIGPhuqMgJXMgdsOgICVzIGNobyAlcyIKIAotIzogcmVtb3RlLmM6NjExCisjOiByZW1vdGUuYzo2MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdXN1YWxseSB0cmFja3MgJXMsIG5vdCAlcyIKIG1zZ3N0ciAiJXMgdGjGsOG7nW5nIHRoZW8gZMO1aSAlcywga2jDtG5nIHBo4bqjaSAlcyIKIAotIzogcmVtb3RlLmM6NjE1CisjOiByZW1vdGUuYzo2MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdHJhY2tzIGJvdGggJXMgYW5kICVzIgogbXNnc3RyICIlcyB0aGVvIGTDtWkgY+G6oyAlcyB2w6AgJXMiCiAKLSM6IHJlbW90ZS5jOjYyMwotbXNnaWQgIkludGVybmFsIGVycm9yIgotbXNnc3RyICJM4buXaSBu4buZaSBi4buZIgorIzogcmVtb3RlLmM6Njg3CisjLCBjLWZvcm1hdAorbXNnaWQgImtleSAnJXMnIG9mIHBhdHRlcm4gaGFkIG5vICcqJyIKK21zZ3N0ciAia2jDs2Eg4oCcJXPigJ0gY+G7p2EgbeG6q3UgayBjw7Mg4oCcKuKAnSIKIAotIzogcmVtb3RlLmM6MTU2OSByZW1vdGUuYzoxNjcwCisjOiByZW1vdGUuYzo2OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidmFsdWUgJyVzJyBvZiBwYXR0ZXJuIGhhcyBubyAnKiciCittc2dzdHIgImdpw6EgdHLhu4sg4oCcJXPigJ0gY+G7p2EgbeG6q3UgayBjw7Mg4oCcKuKAnSIKKworIzogcmVtb3RlLmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICJzcmMgcmVmc3BlYyAlcyBkb2VzIG5vdCBtYXRjaCBhbnkiCittc2dzdHIgInJlZnNwZWMgJXMgbmd14buTbiBraMO0bmcga2jhu5twIGLhuqV0IGvhu7MgY8OhaSBnw6wiCisKKyM6IHJlbW90ZS5jOjEwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3JjIHJlZnNwZWMgJXMgbWF0Y2hlcyBtb3JlIHRoYW4gb25lIgorbXNnc3RyICJyZWZzcGVjICVzIG5ndeG7k24ga2jhu5twIG5oaeG7gXUgaMahbiBt4buZdCIKKworIy4gVFJBTlNMQVRPUlM6ICJtYXRjaGVzICclcyclIiBpcyB0aGUgPGRzdD4gcGFydCBvZiAiZ2l0IHB1c2gKKyMuIDxyZW1vdGU+IDxzcmM+Ojxkc3Q+IiBwdXNoLCBhbmQgImJlaW5nIHB1c2hlZCAoJyVzJykiIGlzCisjLiB0aGUgPHNyYz4uCisjLgorIzogcmVtb3RlLmM6MTAyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlc3RpbmF0aW9uIHlvdSBwcm92aWRlZCBpcyBub3QgYSBmdWxsIHJlZm5hbWUgKGkuZS4sXG4iCisic3RhcnRpbmcgd2l0aCBcInJlZnMvXCIpLiBXZSB0cmllZCB0byBndWVzcyB3aGF0IHlvdSBtZWFudCBieTpcbiIKKyJcbiIKKyItIExvb2tpbmcgZm9yIGEgcmVmIHRoYXQgbWF0Y2hlcyAnJXMnIG9uIHRoZSByZW1vdGUgc2lkZS5cbiIKKyItIENoZWNraW5nIGlmIHRoZSA8c3JjPiBiZWluZyBwdXNoZWQgKCclcycpXG4iCisiICBpcyBhIHJlZiBpbiBcInJlZnMve2hlYWRzLHRhZ3N9L1wiLiBJZiBzbyB3ZSBhZGQgYSBjb3JyZXNwb25kaW5nXG4iCisiICByZWZzL3toZWFkcyx0YWdzfS8gcHJlZml4IG9uIHRoZSByZW1vdGUgc2lkZS5cbiIKKyJcbiIKKyJOZWl0aGVyIHdvcmtlZCwgc28gd2UgZ2F2ZSB1cC4gWW91IG11c3QgZnVsbHkgcXVhbGlmeSB0aGUgcmVmLiIKK21zZ3N0ciAiIgorIsSQw61jaCBi4bqhbiDEkcOjIGN1bmcgY+G6pXAga2jDtG5nIHBo4bqjaSB0w6puIHRoYW0gY2hp4bq/dSDEkeG6p3kgxJHhu6cgKHThu6ljIGzDoFxuIgorImLhuq90IMSR4bqndSBi4bqxbmcgXCJyZWZzL1wiKS4gQ2jDum5nIHTDtGkgxJHDoyBj4buRIHN1eSBsdeG6rW4gcuG6sW5nIMO9IGPhu6dhIGLhuqFuIGzDoDpcbiIKKyJcbiIKKyItIFTDrG0ga2nhur9tIG3hu5l0IHRoYW0gY2hp4bq/dSBtw6AgbsOzIGto4bubcCDigJwlc+KAnSBiw6puIHBow61hIG3DoXkgY2jhu6cuXG4iCisiLSBLaeG7g20gdHJhIHhlbSA8c3JjPiDEkcaw4bujYyDEkeG6qXkgbMOqbiAo4oCcJXPigJ0pXG4iCisiICBsw6AgbeG7mXQgdGhhbSBjaGnhur91IHRyb25nIFwicmVmcy97aGVhZHMsdGFnc30vXCIuIE7hur91IHRo4bq/IGNow7puZyB0w7RpIHRow6ptIG3hu5l0ICIKKyJ0aeG7gW4gdOG7kVxuIgorIiAgcmVmcy97aGVhZHMsdGFnc30vIHTGsMahbmcg4bupbmcgYsOqbiBwaMOtYSBtw6F5IGNo4bunLlxuIgorIlxuIgorIk7hur91IGPhuqMgaGFpIGzDoCBraMO0bmcgdGjhu4MsIHRow6wgY2jDum5nIHTDtGkgY8WpbmcgY2jhu4t1IHRodWEuIELhuqFuIHBo4bqjaSBkw7luZyB0aGFtICIKKyJjaGnhur91IGThuqFuZyDEkeG6p3kgxJHhu6cuIgorCisjOiByZW1vdGUuYzoxMDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIGNvbW1pdCBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL2hlYWRzLyVzJz8iCittc2dzdHIgIiIKKyJQaOG6p24gPHNyYz4gY+G7p2EgxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIGzDoCBt4buZdCDEkeG7kWkgdMaw4bujbmcgbOG6p24gY2h1eeG7g24gZ2lhby5cbiIKKyJDw7MgcGjhuqNpIMO9IGLhuqFuIGzDoCBt4buZdCB04bqhbyBt4buZdCBuaMOhbmggbeG7m2kgYuG6sW5nIGPDoWNoIMSR4bqpeSBsw6puXG4iCisi4oCcJXM6cmVmcy9oZWFkcy8lc+KAnT8iCisKKyM6IHJlbW90ZS5jOjEwNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSA8c3JjPiBwYXJ0IG9mIHRoZSByZWZzcGVjIGlzIGEgdGFnIG9iamVjdC5cbiIKKyJEaWQgeW91IG1lYW4gdG8gY3JlYXRlIGEgbmV3IHRhZyBieSBwdXNoaW5nIHRvXG4iCisiJyVzOnJlZnMvdGFncy8lcyc/IgorbXNnc3RyICIiCisiUGjhuqduIDxzcmM+IGPhu6dhIMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiBsw6AgbeG7mXQgxJHhu5FpIHTGsOG7o25nIHRo4bq7LlxuIgorIkPDsyBwaOG6o2kgw70gYuG6oW4gbMOgIG3hu5l0IHThuqFvIG3hu5l0IHRo4bq7IG3hu5tpIGLhurFuZyBjw6FjaCDEkeG6qXkgbMOqblxuIgorIuKAnCVzOnJlZnMvdGFncy8lc+KAnT8iCisKKyM6IHJlbW90ZS5jOjEwNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSA8c3JjPiBwYXJ0IG9mIHRoZSByZWZzcGVjIGlzIGEgdHJlZSBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIHRhZyBhIG5ldyB0cmVlIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy90YWdzLyVzJz8iCittc2dzdHIgIiIKKyJQaOG6p24gPHNyYz4gY+G7p2EgxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIGzDoCBt4buZdCDEkeG7kWkgdMaw4bujbmcgY8OieS5cbiIKKyJDw7MgcGjhuqNpIMO9IGLhuqFuIGzDoCBt4buZdCB04bqhbyBt4buZdCBjw6J5IG3hu5tpIGLhurFuZyBjw6FjaCDEkeG6qXkgbMOqblxuIgorIuKAnCVzOnJlZnMvdGFncy8lc+KAnT8iCisKKyM6IHJlbW90ZS5jOjEwNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSA8c3JjPiBwYXJ0IG9mIHRoZSByZWZzcGVjIGlzIGEgYmxvYiBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIHRhZyBhIG5ldyBibG9iIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy90YWdzLyVzJz8iCittc2dzdHIgIiIKKyJQaOG6p24gPHNyYz4gY+G7p2EgxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIGzDoCBt4buZdCDEkeG7kWkgdMaw4bujbmcgYmxvYi5cbiIKKyJDw7MgcGjhuqNpIMO9IGLhuqFuIGzDoCBt4buZdCB04bqhbyBt4buZdCBibG9iIG3hu5tpIGLhurFuZyBjw6FjaCDEkeG6qXkgbMOqblxuIgorIuKAnCVzOnJlZnMvdGFncy8lc+KAnT8iCisKKyM6IHJlbW90ZS5jOjEwOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2Fubm90IGJlIHJlc29sdmVkIHRvIGJyYW5jaCIKK21zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHRo4buDIMSRxrDhu6NjIHBow6JuIGdp4bqjaSB0aMOgbmggbmjDoW5oIgorCisjOiByZW1vdGUuYzoxMTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBkZWxldGUgJyVzJzogcmVtb3RlIHJlZiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHjDs2Eg4oCcJXPigJ06IHRoYW0gY2hp4bq/dSB0csOqbiBtw6F5IGNo4bunIGtow7RuZyB04buTbiB04bqhaSIKKworIzogcmVtb3RlLmM6MTExNworIywgYy1mb3JtYXQKK21zZ2lkICJkc3QgcmVmc3BlYyAlcyBtYXRjaGVzIG1vcmUgdGhhbiBvbmUiCittc2dzdHIgImRzdCByZWZzcGVjICVzIGto4bubcCBuaGnhu4F1IGjGoW4gbeG7mXQiCisKKyM6IHJlbW90ZS5jOjExMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHN0IHJlZiAlcyByZWNlaXZlcyBmcm9tIG1vcmUgdGhhbiBvbmUgc3JjIgorbXNnc3RyICJkc3QgcmVmICVzIG5o4bqtbiB04burIGjGoW4gbeG7mXQgbmd14buTbiIKKworIzogcmVtb3RlLmM6MTYyNyByZW1vdGUuYzoxNzI4CiBtc2dpZCAiSEVBRCBkb2VzIG5vdCBwb2ludCB0byBhIGJyYW5jaCIKIG1zZ3N0ciAiSEVBRCBraMO0bmcgY2jhu4kgxJHhur9uIG3hu5l0IG5ow6FuaCBuw6BvIGPhuqMiCiAKLSM6IHJlbW90ZS5jOjE1NzgKKyM6IHJlbW90ZS5jOjE2MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2g6ICclcyciCiBtc2dzdHIgImtow7RuZyBjw7MgbmjDoW5oIG7DoG8gbmjGsCB0aOG6vzog4oCcJXPigJ0iCiAKLSM6IHJlbW90ZS5jOjE1ODEKKyM6IHJlbW90ZS5jOjE2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdXBzdHJlYW0gY29uZmlndXJlZCBmb3IgYnJhbmNoICclcyciCiBtc2dzdHIgImtow7RuZyBjw7MgdGjGsOG7o25nIG5ndeG7k24gxJHGsOG7o2MgY+G6pXUgaMOsbmggY2hvIG5ow6FuaCDigJwlc+KAnSIKIAotIzogcmVtb3RlLmM6MTU4NworIzogcmVtb3RlLmM6MTY0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1cHN0cmVhbSBicmFuY2ggJyVzJyBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAiIgogIm5ow6FuaCB0aMaw4bujbmcgbmd14buTbiDigJwlc+KAnSBraMO0bmcgxJHGsOG7o2MgbMawdSBs4bqhaSBuaMawIGzDoCBt4buZdCBuaMOhbmggdGhlbyBkw7VpIG3DoXkgY2jhu6ciCiAKLSM6IHJlbW90ZS5jOjE2MDIKKyM6IHJlbW90ZS5jOjE2NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCBkZXN0aW5hdGlvbiAnJXMnIG9uIHJlbW90ZSAnJXMnIGhhcyBubyBsb2NhbCB0cmFja2luZyBicmFuY2giCiBtc2dzdHIgIsSR4bqpeSBsw6puIMSRw61jaCDigJwlc+KAnSB0csOqbiBtw6F5IGNo4bunIOKAnCVz4oCdIGtow7RuZyBjw7MgbmjDoW5oIHRoZW8gZMO1aSBu4buZaSBi4buZIgogCi0jOiByZW1vdGUuYzoxNjE0CisjOiByZW1vdGUuYzoxNjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJyYW5jaCAnJXMnIGhhcyBubyByZW1vdGUgZm9yIHB1c2hpbmciCiBtc2dzdHIgIm5ow6FuaCDigJwlc+KAnSBraMO0bmcgY8OzIG3DoXkgY2jhu6cgxJHhu4MgxJHhuql5IGzDqm4iCiAKLSM6IHJlbW90ZS5jOjE2MjQKKyM6IHJlbW90ZS5jOjE2ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicHVzaCByZWZzcGVjcyBmb3IgJyVzJyBkbyBub3QgaW5jbHVkZSAnJXMnIgogbXNnc3RyICLEkeG6qXkgcmVmc3BlY3MgY2hvIOKAnCVz4oCdIGtow7RuZyBiYW8gZ+G7k20g4oCcJXPigJ0iCiAKLSM6IHJlbW90ZS5jOjE2MzcKKyM6IHJlbW90ZS5jOjE2OTUKIG1zZ2lkICJwdXNoIGhhcyBubyBkZXN0aW5hdGlvbiAocHVzaC5kZWZhdWx0IGlzICdub3RoaW5nJykiCiBtc2dzdHIgIsSR4bqpeSBsw6puIG3DoCBraMO0bmcgY8OzIMSRw61jaCAocHVzaC5kZWZhdWx0IGzDoCDigJxub3RoaW5n4oCdKSIKIAotIzogcmVtb3RlLmM6MTY1OQorIzogcmVtb3RlLmM6MTcxNwogbXNnaWQgImNhbm5vdCByZXNvbHZlICdzaW1wbGUnIHB1c2ggdG8gYSBzaW5nbGUgZGVzdGluYXRpb24iCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiBnaeG6o2kgxJHhuql5IOKAnMSRxqFuIGdp4bqjbuKAnSDEkeG6v24gbeG7mXQgxJHDrWNoIMSRxqFuIgogCi0jOiByZW1vdGUuYzoxOTM1CisjOiByZW1vdGUuYzoxODQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHTDrG0gdGjhuqV5IHRoYW0gY2hp4bq/dSBtw6F5IGNo4bunICVzIgorCisjOiByZW1vdGUuYzoxODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiogSWdub3JpbmcgZnVubnkgcmVmICclcycgbG9jYWxseSIKK21zZ3N0ciAiKiDEkGFuZyBi4buPIHF1YSB0aGFtIGNoaeG6v3UgdGjDuiB24buLIG7hu5lpIGLhu5kg4oCcJXPigJ0iCisKKyM6IHJlbW90ZS5jOjIwMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgogbXNnc3RyICIiCiAiTmjDoW5oIGPhu6dhIGLhuqFuIGThu7FhIHRyw6puIGPGoSBz4bufIGzDoCDigJwlc+KAnSwgbmjGsG5nIHRyw6puIHRoxrDhu6NuZyBuZ3Xhu5NuIGtow7RuZyBjw7JuLlxuIgogCi0jOiByZW1vdGUuYzoxOTM5CisjOiByZW1vdGUuYzoyMDIzCiBtc2dpZCAiICAodXNlIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIgdG8gZml4dXApXG4iCiBtc2dzdHIgIiAgIChkw7luZyBcIiBnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiDEkeG7gyBz4butYSlcbiIKIAotIzogcmVtb3RlLmM6MTk0MgorIzogcmVtb3RlLmM6MjAyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIGJyYW5jaCBpcyB1cCB0byBkYXRlIHdpdGggJyVzJy5cbiIKIG1zZ3N0ciAiTmjDoW5oIGPhu6dhIGLhuqFuIMSRw6MgY+G6rXAgbmjhuq10IHbhu5tpIOKAnCVz4oCdLlxuIgogCi0jOiByZW1vdGUuYzoxOTQ2CisjOiByZW1vdGUuYzoyMDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGFuZCAnJXMnIHJlZmVyIHRvIGRpZmZlcmVudCBjb21taXRzLlxuIgogbXNnc3RyICJOaMOhbmggY+G7p2EgYuG6oW4gdsOgIOKAnCVz4oCdIHRoYW0gY2hp4bq/dSDEkeG6v24gY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGtow6FjIG5oYXUuXG4iCiAKLSM6IHJlbW90ZS5jOjE5NDkKKyM6IHJlbW90ZS5jOjIwMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiJXNcIiBmb3IgZGV0YWlscylcbiIKIG1zZ3N0ciAiICAoZMO5bmcgXCIlc1wiIMSR4buDIGJp4bq/dCB0aMOqbSBjaGkgdGnhur90KVxuIgogCi0jOiByZW1vdGUuYzoxOTUzCisjOiByZW1vdGUuYzoyMDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0LlxuIgogbXNnaWRfcGx1cmFsICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdHMuXG4iCiBtc2dzdHJbMF0gIk5ow6FuaCBj4bunYSBi4bqhbiDEkeG7qW5nIHRyxrDhu5tjIOKAnCVz4oCdICVkIGzhuqduIGNodXnhu4NuIGdpYW8uXG4iCiAKLSM6IHJlbW90ZS5jOjE5NTkKKyM6IHJlbW90ZS5jOjIwNDMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBwdXNoXCIgxJHhu4MgeHXhuqV0IGLhuqNuIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBu4buZaSBi4buZIGPhu6dhIGLhuqFuKVxuIgogCi0jOiByZW1vdGUuYzoxOTYyCisjOiByZW1vdGUuYzoyMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGlzIGJlaGluZCAnJXMnIGJ5ICVkIGNvbW1pdCwgYW5kIGNhbiBiZSBmYXN0LWZvcndhcmRlZC5cbiIKIG1zZ2lkX3BsdXJhbCAiIgpAQCAtNDMxNCwxMSArNTk5OSwxMSBAQAogIk5ow6FuaCBj4bunYSBi4bqhbiDEkeG7qW5nIMSR4bqxbmcgc2F1IOKAnCVz4oCdICVkIGzhuqduIGNodXnhu4NuIGdpYW8sIHbDoCBjw7MgdGjhu4MgxJHGsOG7o2MgY2h1eeG7g24tIgogInRp4bq/cC1uaGFuaC5cbiIKIAotIzogcmVtb3RlLmM6MTk3MAorIzogcmVtb3RlLmM6MjA1NAogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gdXBkYXRlIHlvdXIgbG9jYWwgYnJhbmNoKVxuIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBwdWxsXCIgxJHhu4MgY+G6rXAgbmjhuq10IG5ow6FuaCBu4buZaSBi4buZIGPhu6dhIGLhuqFuKVxuIgogCi0jOiByZW1vdGUuYzoxOTczCisjOiByZW1vdGUuYzoyMDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgpAQCAtNDMzMSwxMiArNjAxNiwxNyBAQAogInbDoCBjw7MgJWQgdsOgICVkIGzhuqduIGNodXnhu4NuIGdpYW8ga2jDoWMgbmhhdSBjaG8gdOG7q25nIGPDoWksXG4iCiAidMawxqFuZyDhu6luZyB24bubaSBt4buXaSBs4bqnbi5cbiIKIAotIzogcmVtb3RlLmM6MTk4MworIzogcmVtb3RlLmM6MjA2NwogbXNnaWQgIiAgKHVzZSBcImdpdCBwdWxsXCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycylcbiIKIG1zZ3N0ciAiIgogIiAgKGTDuW5nIFwiZ2l0IHB1bGxcIiDEkeG7gyBow7JhIHRy4buZbiBuaMOhbmggdHLDqm4gbcOheSBjaOG7pyB2w6BvIHRyb25nIG5ow6FuaCBj4bunYSAiCiAiYuG6oW4pXG4iCiAKKyM6IHJlbW90ZS5jOjIyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHBhcnNlIGV4cGVjdGVkIG9iamVjdCBuYW1lICclcyciCittc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCB0w6puIMSR4buRaSB0xrDhu6NuZyBtb25nIG114buRbiDigJwlc+KAnSIKKwogIzogcmVwbGFjZS1vYmplY3QuYzoyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcmVwbGFjZSByZWYgbmFtZTogJXMiCkBAIC00MzYwLDExICs2MDUwLDYgQEAKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcmVyZXJlIHJlY29yZCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSBi4bqjbiBnaGkgcmVyZXJlIgogCi0jOiByZXJlcmUuYzo0ODUgcmVyZXJlLmM6NjkyIHNlcXVlbmNlci5jOjMxMzYgc2VxdWVuY2VyLmM6MzE2MgotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgJyVzJyIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSDigJwlc+KAnSIKLQogIzogcmVyZXJlLmM6NDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZXJlIHdlcmUgZXJyb3JzIHdoaWxlIHdyaXRpbmcgJyVzJyAoJXMpIgpAQCAtNDM5Myw3ICs2MDc4LDcgQEAKICM6IHJlcmVyZS5jOjcxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdGFnZWQgJyVzJyB1c2luZyBwcmV2aW91cyByZXNvbHV0aW9uLiIKLW1zZ3N0ciAixJDDoyB04bqhbSBj4bqldCDigJwlc+KAnSBz4butIGThu6VuZyBjw6FjaCBwaMOibiBnaeG6o2kga+G6vyB0csaw4bubYyIKK21zZ3N0ciAixJDDoyB04bqhbSBj4bqldCDigJwlc+KAnSBz4butIGThu6VuZyBjw6FjaCBwaMOibiBnaeG6o2kga+G6vyB0csaw4bubYy4iCiAKICM6IHJlcmVyZS5jOjc1MwogIywgYy1mb3JtYXQKQEAgLTQ0MTMsMTAgKzYwOTgsMTAgQEAKICM6IHJlcmVyZS5jOjgwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWNvcmRlZCBwcmVpbWFnZSBmb3IgJyVzJyIKLW1zZ3N0ciAicHJlaW1hZ2UgxJHDoyDEkcaw4bujYyBnaGkgbOG6oWkgY2hvIOKAnCVz4oCdIgorbXNnc3RyICJQcmVpbWFnZSDEkcOjIMSRxrDhu6NjIGdoaSBs4bqhaSBjaG8g4oCcJXPigJ0iCiAKLSM6IHJlcmVyZS5jOjg4MSBzdWJtb2R1bGUuYzoxNzYzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDEzCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQyMworIzogcmVyZXJlLmM6ODgxIHN1Ym1vZHVsZS5jOjIwNjcgYnVpbHRpbi9sb2cuYzoxODcxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQzNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdGjGsCBt4bulYyDigJwlc+KAnSIKQEAgLTQ0NTAsMjkgKzYxMzUsMzMgQEAKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiByci1jYWNoZSBkaXJlY3RvcnkiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIHRoxrAgbeG7pWMgcnItY2FjaGUiCiAKLSM6IHJldmlzaW9uLmM6MjMyNAorIzogcmV2aXNpb24uYzoyNDk3CiBtc2dpZCAieW91ciBjdXJyZW50IGJyYW5jaCBhcHBlYXJzIHRvIGJlIGJyb2tlbiIKIG1zZ3N0ciAibmjDoW5oIGhp4buHbiB04bqhaSBj4bunYSBi4bqhbiBjw7MgduG6uyBuaMawIGLhu4sgaOG7j25nIgogCi0jOiByZXZpc2lvbi5jOjIzMjcKKyM6IHJldmlzaW9uLmM6MjUwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoICclcycgZG9lcyBub3QgaGF2ZSBhbnkgY29tbWl0cyB5ZXQiCiBtc2dzdHIgIm5ow6FuaCBoaeG7h24gdOG6oWkgY+G7p2EgYuG6oW4g4oCcJXPigJ0ga2jDtG5nIGPDsyBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIG7DoG8gY+G6oyIKIAotIzogcmV2aXNpb24uYzoyNTIzCisjOiByZXZpc2lvbi5jOjI3MDgKIG1zZ2lkICItLWZpcnN0LXBhcmVudCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWJpc2VjdCIKIG1zZ3N0ciAiLS1maXJzdC1wYXJlbnQgeHVuZyBraOG6r2MgduG7m2kgLS1iaXNlY3QiCiAKLSM6IHJ1bi1jb21tYW5kLmM6NzQwCisjOiByZXZpc2lvbi5jOjI3MTIKK21zZ2lkICItTCBkb2VzIG5vdCB5ZXQgc3VwcG9ydCBkaWZmIGZvcm1hdHMgYmVzaWRlcyAtcCBhbmQgLXMiCittc2dzdHIgIi1MIHbhuqtuIGNoxrBhIGjhu5cgdHLhu6MgxJHhu4tuaCBk4bqhbmcga2jDoWMgYmnhu4d0IG7DoG8gbmdvw6BpIC1wIHbDoCAtcyIKKworIzogcnVuLWNvbW1hbmQuYzo3NjIKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBt4bufIOKAnC9kZXYvbnVsbOKAnSIKIAotIzogcnVuLWNvbW1hbmQuYzoxMjI5CisjOiBydW4tY29tbWFuZC5jOjEyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBhc3luYyB0aHJlYWQ6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdHV54bq/biBhc3luYzogJXMiCiAKLSM6IHJ1bi1jb21tYW5kLmM6MTI5MworIzogcnVuLWNvbW1hbmQuYzoxMzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgJyVzJyBob29rIHdhcyBpZ25vcmVkIGJlY2F1c2UgaXQncyBub3Qgc2V0IGFzIGV4ZWN1dGFibGUuXG4iCkBAIC00NDgxLDMwICs2MTcwLDMwIEBACiAiTcOzYyDigJwlc+KAnSBi4buLIGLhu48gcXVhIGLhu59pIHbDrCBuw7Mga2jDtG5nIHRo4buDIMSR4bq3dCBsw6AgdGjhu7FjIHRoaSDEkcaw4bujYy5cbiIKICJC4bqhbiBjw7MgdGjhu4MgdOG6r3QgY+G6o25oIGLDoW8gbsOgeSBi4bqxbmcg4oCcZ2l0IGNvbmZpZyBhZHZpY2UuaWdub3JlZEhvb2sgZmFsc2XigJwuIgogCi0jOiBzZW5kLXBhY2suYzoxNDIKKyM6IHNlbmQtcGFjay5jOjE0NAogbXNnaWQgInVuZXhwZWN0ZWQgZmx1c2ggcGFja2V0IHdoaWxlIHJlYWRpbmcgcmVtb3RlIHVucGFjayBzdGF0dXMiCiBtc2dzdHIgIiIKICJn4bq3cCBnw7NpIGZsdXNoIGtow7RuZyBj4bqnbiB0cm9uZyBraGkgxJHhu41jIHTDrG5oIHRy4bqhbmcgZ2nhuqNpIG7DqW4gZ8OzaSB0csOqbiBtw6F5IGNo4bunIgogCi0jOiBzZW5kLXBhY2suYzoxNDQKKyM6IHNlbmQtcGFjay5jOjE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgcmVtb3RlIHVucGFjayBzdGF0dXM6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggdMOsbmggdHLhuqFuZyB1bnBhY2sgbcOheSBjaOG7pzogJXMiCiAKLSM6IHNlbmQtcGFjay5jOjE0NgorIzogc2VuZC1wYWNrLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW90ZSB1bnBhY2sgZmFpbGVkOiAlcyIKIG1zZ3N0ciAibcOheSBjaOG7pyBn4bq3cCBs4buXaSB1bnBhY2s6ICVzIgogCi0jOiBzZW5kLXBhY2suYzozMDgKKyM6IHNlbmQtcGFjay5jOjMwOQogbXNnaWQgImZhaWxlZCB0byBzaWduIHRoZSBwdXNoIGNlcnRpZmljYXRlIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkga8O9IGNo4bupbmcgdGjhu7FjIMSR4bqpeSIKIAotIzogc2VuZC1wYWNrLmM6NDIxCisjOiBzZW5kLXBhY2suYzo0MjMKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIHB1c2giCiBtc2dzdHIgImvhur90IHRow7pjIG5o4bqtbiBraMO0bmcgaOG7lyB0cuG7oyDEkeG6qXkgLS1zaWduZWQiCiAKLSM6IHNlbmQtcGFjay5jOjQyMworIzogc2VuZC1wYWNrLmM6NDI1CiBtc2dpZCAiIgogIm5vdCBzZW5kaW5nIGEgcHVzaCBjZXJ0aWZpY2F0ZSBzaW5jZSB0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tIgogInNpZ25lZCBwdXNoIgpAQCAtNDUxMiwxNjMgKzYyMDEsMTcyIEBACiAixJHhu6tuZyBn4butaSBnaeG6pXkgY2jhu6luZyBuaOG6rW4gxJHhuql5IHRyxrDhu5tjIGtoaSBr4bq/dCB0aMO6YyBuaOG6rW4ga2jDtG5nIGjhu5cgdHLhu6MgxJHhuql5IC0tIgogInNpZ25lZCIKIAotIzogc2VuZC1wYWNrLmM6NDM1CisjOiBzZW5kLXBhY2suYzo0MzcKIG1zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIHB1c2giCiBtc2dzdHIgImvhur90IHRow7pjIG5o4bqtbiBraMO0bmcgaOG7lyB0cuG7oyDEkeG6qXkgLS1hdG9taWMiCiAKLSM6IHNlbmQtcGFjay5jOjQ0MAorIzogc2VuZC1wYWNrLmM6NDQyCiBtc2dpZCAidGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCBwdXNoIG9wdGlvbnMiCiBtc2dzdHIgImvhur90IHRow7pjIG5o4bqtbiBraMO0bmcgaOG7lyB0cuG7oyBjw6FjIHTDuXkgY2jhu41uIGPhu6dhIGzhu4duaCBwdXNoIgogCi0jOiBzZXF1ZW5jZXIuYzoxODMKKyM6IHNlcXVlbmNlci5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbW1pdCBtZXNzYWdlIGNsZWFudXAgbW9kZSAnJXMnIgogbXNnc3RyICJjaOG6vyDEkeG7mSBk4buNbiBk4bq5cCBnaGkgY2jDuiBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8ga2jDtG5nIGjhu6NwIGzhu4cg4oCcJXPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjI4NworIzogc2VxdWVuY2VyLmM6Mjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHjDs2EgYuG7jyDigJwlc+KAnSIKIAotIzogc2VxdWVuY2VyLmM6MzEzCisjOiBzZXF1ZW5jZXIuYzozMTMgYnVpbHRpbi9yZWJhc2UuYzo3ODEgYnVpbHRpbi9yZWJhc2UuYzoxNzA2IGJ1aWx0aW4vcm0uYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlbW92ZSAnJXMnIgorbXNnc3RyICJraMO0bmcgdGjhu4MgZ+G7oSBi4buPIOKAnCVz4oCdIgorCisjOiBzZXF1ZW5jZXIuYzozMjMKIG1zZ2lkICJyZXZlcnQiCiBtc2dzdHIgImhvw6BuIG5ndXnDqm4iCiAKLSM6IHNlcXVlbmNlci5jOjMxNQorIzogc2VxdWVuY2VyLmM6MzI1CiBtc2dpZCAiY2hlcnJ5LXBpY2siCiBtc2dzdHIgImNoZXJyeS1waWNrIgogCi0jOiBzZXF1ZW5jZXIuYzozMTcKKyM6IHNlcXVlbmNlci5jOjMyNwogbXNnaWQgInJlYmFzZSAtaSIKIG1zZ3N0ciAicmViYXNlIC1pIgogCi0jOiBzZXF1ZW5jZXIuYzozMTkKKyM6IHNlcXVlbmNlci5jOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGFjdGlvbjogJWQiCiBtc2dzdHIgImtow7RuZyBuaOG6rW4gcmEgdGhhbyB0w6FjOiAlZCIKIAotIzogc2VxdWVuY2VyLmM6Mzc2CisjOiBzZXF1ZW5jZXIuYzozODcKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+JyIKIG1zZ3N0ciAiIgogInNhdSBraGkgZ2nhuqNpIHF1eeG6v3QgY8OhYyB4dW5nIMSR4buZdCwgxJHDoW5oIGThuqV1IMSRxrDhu51uZyBk4bqrbiDEkcOjIHPhu61hXG4iCi0iduG7m2kgbOG7h25oIOKAnGdpdCBhZGQgPMSRxrDhu51uZ19k4bqrbj7igJ0gaG/hurdjIOKAnGdpdCBybSA8xJHGsOG7nW5nX2ThuqtuPuKAnSIKKyJ24bubaSBs4buHbmgg4oCcZ2l0IGFkZCA8L2PDoWMvxJHGsOG7nW5nL2ThuqtuPuKAnSBob+G6t2Mg4oCcZ2l0IHJtIDwvY8OhYy/Ekcaw4budbmcvZOG6q24+4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzozNzkKKyM6IHNlcXVlbmNlci5jOjM5MAogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nXG4iCiAiYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggJ2dpdCBjb21taXQnIgogbXNnc3RyICIiCiAic2F1IGtoaSBnaeG6o2kgcXV54bq/dCBjw6FjIHh1bmcgxJHhu5l0LCDEkcOhbmggZOG6pXUgxJHGsOG7nW5nIGThuqtuIMSRw6Mgc+G7rWFcbiIKLSJ24bubaSBs4buHbmgg4oCcZ2l0IGFkZCA8xJHGsOG7nW5nX2ThuqtuPuKAnSBob+G6t2Mg4oCcZ2l0IHJtIDzEkcaw4budbmdfZOG6q24+4oCdXG4iCisiduG7m2kgbOG7h25oIOKAnGdpdCBhZGQgPC9jw6FjL8SRxrDhu51uZy9k4bqrbj7igJ0gaG/hurdjIOKAnGdpdCBybSA8L2PDoWMvxJHGsOG7nW5nL2ThuqtuPuKAnVxuIgogInbDoCBjaHV54buDbiBnaWFvIGvhur90IHF14bqjIGLhurFuZyBs4buHbmgg4oCcZ2l0IGNvbW1pdOKAnSIKIAotIzogc2VxdWVuY2VyLmM6MzkyIHNlcXVlbmNlci5jOjI2MzIKKyM6IHNlcXVlbmNlci5jOjQwMyBzZXF1ZW5jZXIuYzoyOTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb2NrICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBraMOzYSDigJwlc+KAnSIKIAotIzogc2VxdWVuY2VyLmM6Mzk5CisjOiBzZXF1ZW5jZXIuYzo0MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGVvbCB0byAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIGVvbCB2w6BvIOKAnCVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzo0MDQgc2VxdWVuY2VyLmM6MjUxNSBzZXF1ZW5jZXIuYzoyNjM4IHNlcXVlbmNlci5jOjI2NTIKLSM6IHNlcXVlbmNlci5jOjI4ODUKKyM6IHNlcXVlbmNlci5jOjQxNSBzZXF1ZW5jZXIuYzoyNzk4IHNlcXVlbmNlci5jOjI5OTkgc2VxdWVuY2VyLmM6MzAxMworIzogc2VxdWVuY2VyLmM6MzI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGhvw6BuIHRow6BuaCDigJwlc+KAnSIKIAotIzogc2VxdWVuY2VyLmM6NDI3IHNlcXVlbmNlci5jOjkyMSBzZXF1ZW5jZXIuYzoxNTk0IHNlcXVlbmNlci5jOjI1MzUKLSM6IHNlcXVlbmNlci5jOjI4Njcgc2VxdWVuY2VyLmM6Mjk3NCBidWlsdGluL2FtLmM6MjYwIGJ1aWx0aW4vY29tbWl0LmM6NzQ2Ci0jOiBidWlsdGluL21lcmdlLmM6MTA4NCBidWlsdGluL3JlYmFzZS5jOjE1MgorIzogc2VxdWVuY2VyLmM6NDM4IHNlcXVlbmNlci5jOjE3MDcgc2VxdWVuY2VyLmM6MjgxOCBzZXF1ZW5jZXIuYzozMjU5CisjOiBzZXF1ZW5jZXIuYzozMzY4IGJ1aWx0aW4vYW0uYzoyNDQgYnVpbHRpbi9jb21taXQuYzo3ODMgYnVpbHRpbi9tZXJnZS5jOjExMTcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkICclcyciCi1tc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMg4oCcJXPigJ0uIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIOKAnCVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzo0NTMKKyM6IHNlcXVlbmNlci5jOjQ2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ5b3VyIGxvY2FsIGNoYW5nZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXMuIgogbXNnc3RyICJjw6FjIHRoYXkgxJHhu5VpIG7hu5lpIGLhu5kgY+G7p2EgYuG6oW4gY8OzIHRo4buDIGLhu4sgZ2hpIMSRw6ggYuG7n2kgbOG7h25oICVzLiIKIAotIzogc2VxdWVuY2VyLmM6NDU3CisjOiBzZXF1ZW5jZXIuYzo0NjgKIG1zZ2lkICJjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCiBtc2dzdHIgImNodXnhu4NuIGdpYW8gY8OhYyB0aGF5IMSR4buVaSBj4bunYSBi4bqhbiBoYXkgdOG6oW0gY+G6pXQgKHN0YXNoKSBjaMO6bmcgxJHhu4MgeOG7rSBsw70uIgogCi0jOiBzZXF1ZW5jZXIuYzo0ODYKKyM6IHNlcXVlbmNlci5jOjUwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmFzdC1mb3J3YXJkIgogbXNnc3RyICIlczogY2h1eeG7g24tdGnhur9wLW5oYW5oIgogCisjOiBzZXF1ZW5jZXIuYzo1MzkgYnVpbHRpbi90YWcuYzo1NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCittc2dzdHIgIkNo4bq/IMSR4buZIGThu41uIGThurlwIGtow7RuZyBo4bujcCBs4buHICVzIgorCiAjLiBUUkFOU0xBVE9SUzogJXMgd2lsbCBiZSAicmV2ZXJ0IiwgImNoZXJyeS1waWNrIiBvcgogIy4gInJlYmFzZSAtaSIuCiAjLgotIzogc2VxdWVuY2VyLmM6NTc1CisjOiBzZXF1ZW5jZXIuYzo2MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAiJXM6IEtow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIG3hu5tpIgogCi0jOiBzZXF1ZW5jZXIuYzo1OTEKKyM6IHNlcXVlbmNlci5jOjY1MAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCBjw6J5IGLhu5kgbmjhu5sgxJHhu4dtIgogCi0jOiBzZXF1ZW5jZXIuYzo2MDQKKyM6IHNlcXVlbmNlci5jOjY2NAogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0IgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gZ2nhuqNpIGzhuqduIGNodXnhu4NuIGdpYW8gSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6Njg0CisjOiBzZXF1ZW5jZXIuYzo3NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8ga2V5IHByZXNlbnQgaW4gJyUuKnMnIgogbXNnc3RyICJraMO0bmcgY8OzIGtow7NhIGhp4buHbiBkaeG7h24gdHJvbmcg4oCcJS4qc+KAnSIKIAotIzogc2VxdWVuY2VyLmM6Njk1CisjOiBzZXF1ZW5jZXIuYzo3NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlcXVvdGUgdmFsdWUgb2YgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdp4bqjaSB0csOtY2ggZOG6q24gZ2nDoSB0cuG7iyBj4bunYSDigJwlc+KAnSIKIAotIzogc2VxdWVuY2VyLmM6NzMyIHdyYXBwZXIuYzoyMjcgd3JhcHBlci5jOjM5NyBidWlsdGluL2FtLmM6NzE5Ci0jOiBidWlsdGluL2FtLmM6ODExIGJ1aWx0aW4vbWVyZ2UuYzoxMDgxCisjOiBzZXF1ZW5jZXIuYzo3OTIgd3JhcHBlci5jOjE5MCB3cmFwcGVyLmM6MzYwIGJ1aWx0aW4vYW0uYzo3MDUKKyM6IGJ1aWx0aW4vYW0uYzo3OTcgYnVpbHRpbi9tZXJnZS5jOjExMTQgYnVpbHRpbi9yZWJhc2UuYzoxMDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIOKAnCVz4oCdIMSR4buDIMSR4buNYyIKIAotIzogc2VxdWVuY2VyLmM6NzQyCisjOiBzZXF1ZW5jZXIuYzo4MDIKIG1zZ2lkICInR0lUX0FVVEhPUl9OQU1FJyBhbHJlYWR5IGdpdmVuIgogbXNnc3RyICLigJxHSVRfQVVUSE9SX05BTUXigJ0gxJHDoyBz4bq1biDEkcawYSByYSBy4buTaSIKIAotIzogc2VxdWVuY2VyLmM6NzQ3CisjOiBzZXF1ZW5jZXIuYzo4MDcKIG1zZ2lkICInR0lUX0FVVEhPUl9FTUFJTCcgYWxyZWFkeSBnaXZlbiIKIG1zZ3N0ciAi4oCcR0lUX0FVVEhPUl9FTUFJTOKAnSDEkcOjIHPhurVuIMSRxrBhIHJhIHLhu5NpIgogCi0jOiBzZXF1ZW5jZXIuYzo3NTIKKyM6IHNlcXVlbmNlci5jOjgxMgogbXNnaWQgIidHSVRfQVVUSE9SX0RBVEUnIGFscmVhZHkgZ2l2ZW4iCiBtc2dzdHIgIuKAnEdJVF9BVVRIT1JfREFUReKAnSDEkcOjIHPhurVuIMSRxrBhIHJhIHLhu5NpIgogCi0jOiBzZXF1ZW5jZXIuYzo3NTYKKyM6IHNlcXVlbmNlci5jOjgxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIHZhcmlhYmxlICclcyciCiBtc2dzdHIgImtow7RuZyBoaeG7g3UgYmnhur9uIOKAnCVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzo3NjEKKyM6IHNlcXVlbmNlci5jOjgyMQogbXNnaWQgIm1pc3NpbmcgJ0dJVF9BVVRIT1JfTkFNRSciCiBtc2dzdHIgInRoaeG6v3Ug4oCcR0lUX0FVVEhPUl9OQU1F4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzo3NjMKKyM6IHNlcXVlbmNlci5jOjgyMwogbXNnaWQgIm1pc3NpbmcgJ0dJVF9BVVRIT1JfRU1BSUwnIgogbXNnc3RyICJ0aGnhur91IOKAnEdJVF9BVVRIT1JfRU1BSUzigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjc2NQorIzogc2VxdWVuY2VyLmM6ODI1CiBtc2dpZCAibWlzc2luZyAnR0lUX0FVVEhPUl9EQVRFJyIKIG1zZ3N0ciAidGhp4bq/dSDigJxHSVRfQVVUSE9SX0RBVEXigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjgyNQotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0ICclcycgaW4gJyVzJyIKLW1zZ3N0ciAixJHhu4tuaCBk4bqhbmcgbmfDoHkgdGjDoW5nIGtow7RuZyBo4bujcCBs4buHIOKAnCVz4oCdIHRyb25nIOKAnCVz4oCdIgorIzogc2VxdWVuY2VyLmM6OTAyIHNlcXVlbmNlci5jOjE0MjcKK21zZ2lkICJtYWxmb3JtZWQgaWRlbnQgbGluZSIKK21zZ3N0ciAidGjhu6V0IMSR4bqndSBkw7JuZyBk4buLIGjDrG5oIgogCi0jOiBzZXF1ZW5jZXIuYzo4NDIKKyM6IHNlcXVlbmNlci5jOjkyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAieW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWVcbiIKQEAgLTQ2OTcsMTUgKzYzOTUsMTEgQEAKICJcbiIKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBzZXF1ZW5jZXIuYzo5MzUKLW1zZ2lkICJ3cml0aW5nIHJvb3QgY29tbWl0IgotbXNnc3RyICJnaGkgY2h1eeG7g24gZ2lhbyBn4buRYyIKLQotIzogc2VxdWVuY2VyLmM6MTE0MgorIzogc2VxdWVuY2VyLmM6MTIxOAogbXNnaWQgIidwcmVwYXJlLWNvbW1pdC1tc2cnIGhvb2sgZmFpbGVkIgogbXNnc3RyICJtw7NjIOKAnHByZXBhcmUtY29tbWl0LW1zZ+KAnSBi4buLIGzhu5dpIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTQ5CisjOiBzZXF1ZW5jZXIuYzoxMjI0CiBtc2dpZCAiIgogIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgogIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKQEAgLTQ3MzYsNyArNjQzMCw3IEBACiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTYyCisjOiBzZXF1ZW5jZXIuYzoxMjM3CiBtc2dpZCAiIgogIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgogIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKQEAgLTQ3NjQsMzA0ICs2NDU4LDM1NSBAQAogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogc2VxdWVuY2VyLmM6MTIwMgorIzogc2VxdWVuY2VyLmM6MTI3OQogbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIHRo4bqleSBs4bqnbiBjaHV54buDbiBnaWFvIG3hu5tpIGjGoW4gxJHDoyDEkcaw4bujYyB04bqhbyIKIAotIzogc2VxdWVuY2VyLmM6MTIwNAorIzogc2VxdWVuY2VyLmM6MTI4MQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjw7ogcGjDoXAgY+G7p2EgxJHhu5FpIHTGsOG7o25nIGNodXnhu4NuIGdpYW8gbeG7m2kgaMahbiDEkcOjIMSRxrDhu6NjIHThuqFvIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjUwCisjOiBzZXF1ZW5jZXIuYzoxMzI3CiBtc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgSEVBRCBhZnRlciBjcmVhdGluZyBjb21taXQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiBnaeG6o2kgSEVBRCBzYXUga2hpIHThuqFvIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IHNlcXVlbmNlci5jOjEyNTIKKyM6IHNlcXVlbmNlci5jOjEzMjkKIG1zZ2lkICJkZXRhY2hlZCBIRUFEIgogbXNnc3RyICLEkcOjIHLhu51pIGto4buPaSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjU2CisjOiBzZXF1ZW5jZXIuYzoxMzMzCiBtc2dpZCAiIChyb290LWNvbW1pdCkiCiBtc2dzdHIgIiAocm9vdC1jb21taXQpIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjc3CisjOiBzZXF1ZW5jZXIuYzoxMzU0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjc5CisjOiBzZXF1ZW5jZXIuYzoxMzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiSEVBRCAlcyBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvISIKIAotIzogc2VxdWVuY2VyLmM6MTI4MyBidWlsdGluL2NvbW1pdC5jOjE1NDMKKyM6IHNlcXVlbmNlci5jOjEzNjAgc2VxdWVuY2VyLmM6MTQ1OCBidWlsdGluL2NvbW1pdC5jOjE1NjkKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCBjb21taXQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjb21taXQgKGzhuqduIGNodXnhu4NuIGdpYW8pIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjEzMzQgc2VxdWVuY2VyLmM6MTkzNAorIzogc2VxdWVuY2VyLmM6MTQxMSBzZXF1ZW5jZXIuYzoyMDU1CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCBhdXRob3IiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCB0w6FjIGdp4bqjIGPhu6dhIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IHNlcXVlbmNlci5jOjEzNDQgYnVpbHRpbi9hbS5jOjE1ODUgYnVpbHRpbi9tZXJnZS5jOjY3NworIzogc2VxdWVuY2VyLmM6MTQzMQorbXNnaWQgImNvcnJ1cHRlZCBhdXRob3Igd2l0aG91dCBkYXRlIGluZm9ybWF0aW9uIgorbXNnc3RyICJ0w6FjIGdp4bqjIHNhaSBo4buPbmcga2jDtG5nIGPDsyB0aMO0bmcgdGluIG7DoHkgdGjDoW5nIgorCisjOiBzZXF1ZW5jZXIuYzoxNDQ3IGJ1aWx0aW4vYW0uYzoxNTYxIGJ1aWx0aW4vbWVyZ2UuYzo2ODQKIG1zZ2lkICJnaXQgd3JpdGUtdHJlZSBmYWlsZWQgdG8gd3JpdGUgYSB0cmVlIgogbXNnc3RyICJs4buHbmggZ2l0IHdyaXRlLXRyZWUgZ+G6t3AgbOG7l2kga2hpIGdoaSBt4buZdCBjw6J5IgogCi0jOiBzZXF1ZW5jZXIuYzoxMzYxIHNlcXVlbmNlci5jOjE0MTYKKyM6IHNlcXVlbmNlci5jOjE0ODAgc2VxdWVuY2VyLmM6MTU1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBjb21taXQgbWVzc2FnZSBmcm9tICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgcGjhuqduIGNow7ogdGjDrWNoIChtZXNzYWdlKSB04burIOKAnCVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzgzIGJ1aWx0aW4vYW0uYzoxNjA2IGJ1aWx0aW4vY29tbWl0LmM6MTY0NiBidWlsdGluL21lcmdlLmM6ODU4Ci0jOiBidWlsdGluL21lcmdlLmM6ODgzCisjOiBzZXF1ZW5jZXIuYzoxNTE2IGJ1aWx0aW4vYW0uYzoxNTgzIGJ1aWx0aW4vY29tbWl0LmM6MTY2OCBidWlsdGluL21lcmdlLmM6ODgzCisjOiBidWlsdGluL21lcmdlLmM6OTA4CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvbW1pdCBvYmplY3QiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBnaGkgxJHhu5FpIHTGsOG7o25nIGNodXnhu4NuIGdpYW8iCiAKLSM6IHNlcXVlbmNlci5jOjE0NDMKKyM6IHNlcXVlbmNlci5jOjE1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGzhuqduIGNodXnhu4NuIGdpYW8gJXMiCiAKLSM6IHNlcXVlbmNlci5jOjE0NDgKKyM6IHNlcXVlbmNlci5jOjE1ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBs4bqnbiBjaHV54buDbiBnaWFvIGNoYSBt4bq5IOKAnCVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzoxNTQ2IHNlcXVlbmNlci5jOjE2NTQKKyM6IHNlcXVlbmNlci5jOjE2NTYgc2VxdWVuY2VyLmM6MTc2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQ6ICVkIgogbXNnc3RyICJraMO0bmcgaGnhu4N1IGPDonUgbOG7h25oICVkIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjAxIHNlcXVlbmNlci5jOjE2MjYKKyM6IHNlcXVlbmNlci5jOjE3MTQgc2VxdWVuY2VyLmM6MTczOQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJWQgY29tbWl0cy4iCiBtc2dzdHIgIsSQw6J5IGzDoCB04buVIGjhu6NwIGPhu6dhICVkIGzhuqduIGNodXnhu4NuIGdpYW8uIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjExIHNlcXVlbmNlci5jOjQ3NDQKKyM6IHNlcXVlbmNlci5jOjE3MjQKIG1zZ2lkICJuZWVkIGEgSEVBRCB0byBmaXh1cCIKIG1zZ3N0ciAiY+G6p24gbeG7mXQgSEVBRCDEkeG7gyBz4butYSIKIAotIzogc2VxdWVuY2VyLmM6MTYxMyBzZXF1ZW5jZXIuYzoyOTEyCisjOiBzZXF1ZW5jZXIuYzoxNzI2IHNlcXVlbmNlci5jOjMzMDQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBIRUFEIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjE2MTUKKyM6IHNlcXVlbmNlci5jOjE3MjgKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBIRUFEJ3MgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgcGjhuqduIGNow7ogdGjDrWNoIChtZXNzYWdlKSBj4bunYSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjIxCisjOiBzZXF1ZW5jZXIuYzoxNzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB3cml0ZSAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIOKAnCVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjI4IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NDEKKyM6IHNlcXVlbmNlci5jOjE3NDEgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ5NgogbXNnaWQgIlRoaXMgaXMgdGhlIDFzdCBjb21taXQgbWVzc2FnZToiCiBtc2dzdHIgIsSQw6J5IGzDoCBjaMO6IHRow61jaCBjaG8gbOG6p24gY2h1eeG7g24gZ2lhbyB0aOG7qSBuaOG6pXQ6IgogCi0jOiBzZXF1ZW5jZXIuYzoxNjM2CisjOiBzZXF1ZW5jZXIuYzoxNzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlIG9mICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIHBo4bqnbiBjaMO6IHRow61jaCAobWVzc2FnZSkgY+G7p2EgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjE2NDMKKyM6IHNlcXVlbmNlci5jOjE3NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyB0aGUgY29tbWl0IG1lc3NhZ2UgIyVkOiIKIG1zZ3N0ciAixJDDonkgbMOgIGNow7ogdGjDrWNoIGNobyBs4bqnbiBjaHV54buDbiBnaWFvIHRo4bupICMlZDoiCiAKLSM6IHNlcXVlbmNlci5jOjE2NDkKKyM6IHNlcXVlbmNlci5jOjE3NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGNvbW1pdCBtZXNzYWdlICMlZCB3aWxsIGJlIHNraXBwZWQ6IgogbXNnc3RyICJDaMO6IHRow61jaCBjaG8gbOG6p24gY2h1eeG7g24gZ2lhbyB0aOG7qSAjJWQgc+G6vSBi4buLIGLhu48gcXVhOiIKIAotIzogc2VxdWVuY2VyLmM6MTczMgorIzogc2VxdWVuY2VyLmM6MTg1MAogbXNnaWQgInlvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCiBtc2dzdHIgInThuq1wIHRpbiBsxrB1IG3hu6VjIGzhu6VjIGPhu6dhIGLhuqFuIGtow7RuZyDEkcaw4bujYyBow7JhIHRy4buZbi4iCiAKLSM6IHNlcXVlbmNlci5jOjE3MzkKKyM6IHNlcXVlbmNlci5jOjE4NTcKIG1zZ2lkICJjYW5ub3QgZml4dXAgcm9vdCBjb21taXQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBz4butYSBjaOG7r2EgbOG6p24gY2h1eeG7g24gZ2lhbyBn4buRYyIKIAotIzogc2VxdWVuY2VyLmM6MTc1OAorIzogc2VxdWVuY2VyLmM6MTg3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJXMgaXMgYSBtZXJnZSBidXQgbm8gLW0gb3B0aW9uIHdhcyBnaXZlbi4iCiBtc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8gJXMgbMOgIG3hu5l0IGzhuqduIGjDsmEgdHLhu5luIG5oxrBuZyBraMO0bmcgxJHGsGEgcmEgdMO5eSBjaOG7jW4gLW0uIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzY2CisjOiBzZXF1ZW5jZXIuYzoxODg0IHNlcXVlbmNlci5jOjE4OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICVzIGRvZXMgbm90IGhhdmUgcGFyZW50ICVkIgogbXNnc3RyICJs4bqnbiBjaHV54buDbiBnaWFvICVzIGtow7RuZyBjw7MgY2hhIG3hurkgJWQiCiAKLSM6IHNlcXVlbmNlci5jOjE3NzAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAibWFpbmxpbmUgd2FzIHNwZWNpZmllZCBidXQgY29tbWl0ICVzIGlzIG5vdCBhIG1lcmdlLiIKLW1zZ3N0ciAiIgotImx14buTbmcgY2jDrW5oIMSRw6MgxJHGsOG7o2MgY2jhu4kgcmEgbmjGsG5nIGzhuqduIGNodXnhu4NuIGdpYW8gJXMga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgbOG6p24gIgotImjDsmEgdHLhu5luLiIKLQotIzogc2VxdWVuY2VyLmM6MTc3NgorIzogc2VxdWVuY2VyLmM6MTg5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIGZvciAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IGdoaSBjaMO6IGzhuqduIGNodXnhu4NuIGdpYW8gY2hvICVzIgogCiAjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIHdpbGwgYmUgYSAidG9kbyIgY29tbWFuZCBsaWtlCiAjLiAicmV2ZXJ0IiBvciAicGljayIsIHRoZSBzZWNvbmQgJXMgYSBTSEExLgotIzogc2VxdWVuY2VyLmM6MTc5NQorIzogc2VxdWVuY2VyLmM6MTkxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHBhcnNlIHBhcmVudCBjb21taXQgJXMiCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggbOG6p24gY2h1eeG7g24gZ2lhbyBt4bq5IGPhu6dhICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxODYwCisjOiBzZXF1ZW5jZXIuYzoxOTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZW5hbWUgJyVzJyB0byAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu5VpIHTDqm4g4oCcJXPigJ0gdGjDoG5oIOKAnCVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTE1CisjOiBzZXF1ZW5jZXIuYzoyMDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBob8OgbiBuZ3V5w6puICVz4oCmICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTE2CisjOiBzZXF1ZW5jZXIuYzoyMDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhcHBseSAlcy4uLiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMOhcCBk4bulbmcgbWnhur9uZyB2w6EgJXPigKYgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjE5NzQKKyM6IHNlcXVlbmNlci5jOjIxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0ICVzOiBmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImdpdCAlczogZ+G6t3AgbOG7l2kgxJHhu41jIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogc2VxdWVuY2VyLmM6MTk4MQorIzogc2VxdWVuY2VyLmM6MjExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVzOiBn4bq3cCBs4buXaSBraGkgbMOgbSB0xrDGoWkgbeG7m2kgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBzZXF1ZW5jZXIuYzoyMDYyCisjOiBzZXF1ZW5jZXIuYzoyMTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRvZXMgbm90IGFjY2VwdCBhcmd1bWVudHM6ICclcyciCiBtc2dzdHIgIiVzIGtow7RuZyBuaOG6rW4gY8OhYyDEkeG7kWkgc+G7kTog4oCcJXPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjIwNzEKKyM6IHNlcXVlbmNlci5jOjIxOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBhcmd1bWVudHMgZm9yICVzIgogbXNnc3RyICJ0aGnhur91IMSR4buRaSBz4buRIGNobyAlcyIKIAotIzogc2VxdWVuY2VyLmM6MjEzMAorIzogc2VxdWVuY2VyLmM6MjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgJyUuKnMnIgorbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggY8O6IHBow6FwIOKAnCUuKnPigJ0iCisKKyM6IHNlcXVlbmNlci5jOjIyODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBsaW5lICVkOiAlLipzIgogbXNnc3RyICJkw7JuZyBraMO0bmcgaOG7o3AgbOG7hyAlZDogJS4qcyIKIAotIzogc2VxdWVuY2VyLmM6MjEzOAorIzogc2VxdWVuY2VyLmM6MjMwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgJyVzJyB3aXRob3V0IGEgcHJldmlvdXMgY29tbWl0IgogbXNnc3RyICJraMO0bmcgdGjhu4Mg4oCcJXPigJ0gdGjhu4MgbcOgIGtow7RuZyBjw7MgbOG6p24gY2h1eeG7g24gZ2lhbyBr4bq/IHRyxrDhu5tjIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjA5CisjOiBzZXF1ZW5jZXIuYzoyMzQ4IGJ1aWx0aW4vcmViYXNlLmM6MTcyIGJ1aWx0aW4vcmViYXNlLmM6MTk3CisjOiBidWlsdGluL3JlYmFzZS5jOjIyMyBidWlsdGluL3JlYmFzZS5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnLiIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyDigJwlc+KAnS4iCisKKyM6IHNlcXVlbmNlci5jOjIzODQKK21zZ2lkICJjYW5jZWxsaW5nIGEgY2hlcnJ5IHBpY2tpbmcgaW4gcHJvZ3Jlc3MiCittc2dzdHIgIsSRYW5nIGjhu6d5IGLhu48gdGhhbyB0w6FjIGNoZXJyeSBwaWNrIMSRYW5nIHRo4buxYyBoaeG7h24iCisKKyM6IHNlcXVlbmNlci5jOjIzOTEKK21zZ2lkICJjYW5jZWxsaW5nIGEgcmV2ZXJ0IGluIHByb2dyZXNzIgorbXNnc3RyICLEkWFuZyBo4buneSBi4buPIGPDoWMgdGhhbyB0w6FjIGhvw6BuIG5ndXnDqm4gxJFhbmcgdGjhu7FjIGhp4buHbiIKKworIzogc2VxdWVuY2VyLmM6MjQzNQogbXNnaWQgInBsZWFzZSBmaXggdGhpcyB1c2luZyAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuIgogbXNnc3RyICJ2dWkgbMOybmcgc+G7rWEgbOG7l2kgbsOgeSBi4bqxbmcgY8OhY2ggZMO5bmcg4oCcZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb+KAnS4iCiAKLSM6IHNlcXVlbmNlci5jOjIyMTEKKyM6IHNlcXVlbmNlci5jOjI0MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW51c2FibGUgaW5zdHJ1Y3Rpb24gc2hlZXQ6ICclcyciCiBtc2dzdHIgImLhuqNuZyBjaOG7iSB0aOG7iyBraMO0bmcgdGjhu4MgZMO5bmcgxJHGsOG7o2M6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjE2CisjOiBzZXF1ZW5jZXIuYzoyNDQyCiBtc2dpZCAibm8gY29tbWl0cyBwYXJzZWQuIgogbXNnc3RyICJraMO0bmcgY8OzIGzhuqduIGNodXnhu4NuIGdpYW8gbsOgbyDEkcaw4bujYyBwaMOibiB0w61jaC4iCiAKLSM6IHNlcXVlbmNlci5jOjIyMjcKKyM6IHNlcXVlbmNlci5jOjI0NTMKIG1zZ2lkICJjYW5ub3QgY2hlcnJ5LXBpY2sgZHVyaW5nIGEgcmV2ZXJ0LiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGNoZXJyeS1waWNrIHRyb25nIGtoaSBob8OgbiBuZ3V5w6puLiIKIAotIzogc2VxdWVuY2VyLmM6MjIyOQorIzogc2VxdWVuY2VyLmM6MjQ1NQogbXNnaWQgImNhbm5vdCByZXZlcnQgZHVyaW5nIGEgY2hlcnJ5LXBpY2suIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiB2aeG7h2MgaG/DoG4gbmd1ecOqbiB0cm9uZyBraGkgxJFhbmcgY2hlcnJ5LXBpY2suIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjk5CisjOiBzZXF1ZW5jZXIuYzoyNTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKIG1zZ3N0ciAiZ2nDoSB0cuG7iyBjaG8gJXMga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoyMzgwCisjOiBzZXF1ZW5jZXIuYzoyNjMwCiBtc2dpZCAidW51c2FibGUgc3F1YXNoLW9udG8iCiBtc2dzdHIgInNxdWFzaC1vbnRvIGtow7RuZyBkw7luZyDEkcaw4bujYyIKIAotIzogc2VxdWVuY2VyLmM6MjM5NgorIzogc2VxdWVuY2VyLmM6MjY0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJyVzJyIKIG1zZ3N0ciAiYuG6o25nIHTDuXkgY2jhu41uIGThu4sgaMOsbmg6IOKAnCVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDc5IHNlcXVlbmNlci5jOjQwMDUKKyM6IHNlcXVlbmNlci5jOjI3MzYgc2VxdWVuY2VyLmM6NDQ2MwogbXNnaWQgImVtcHR5IGNvbW1pdCBzZXQgcGFzc2VkIgogbXNnc3RyICJs4bqnbiBjaHV54buDbiBnaWFvIHRy4buRbmcgcuG7l25nIMSR4bq3dCBsw6AgaOG7o3AgcXV5IGPDoWNoIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDg3Ci1tc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKLW1zZ3N0ciAiY8OzIG3hu5l0IHRoYW8gdMOhYyDigJxjaGVycnktcGlja+KAnSBob+G6t2Mg4oCccmV2ZXJ04oCdIMSRYW5nIMSRxrDhu6NjIHRo4buxYyBoaeG7h24iCisjOiBzZXF1ZW5jZXIuYzoyNzUyCittc2dpZCAicmV2ZXJ0IGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCittc2dzdHIgImPDsyB0aGFvIHTDoWMgaG/DoG4gbmd1ecOqbiDEkWFuZyDEkcaw4bujYyB0aOG7sWMgaGnhu4duIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDg4Ci1tc2dpZCAidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1xdWl0IHwgLS1hYm9ydClcIiIKLW1zZ3N0ciAiaMOjeSB0aOG7rSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiCisjOiBzZXF1ZW5jZXIuYzoyNzU0CisjLCBjLWZvcm1hdAorbXNnaWQgInRyeSBcImdpdCByZXZlcnQgKC0tY29udGludWUgfCAlcy0tYWJvcnQgfCAtLXF1aXQpXCIiCittc2dzdHIgImjDo3kgdGjhu60gXCJnaXQgcmV2ZXJ0ICgtLWNvbnRpbnVlIHwgJXMtLWFib3J0IHwgLS1xdWl0KVwiIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDkxCisjOiBzZXF1ZW5jZXIuYzoyNzU3Cittc2dpZCAiY2hlcnJ5LXBpY2sgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKK21zZ3N0ciAiY8OzIHRoYW8gdMOhYyDigJxjaGVycnktcGlja+KAnSDEkWFuZyDEkcaw4bujYyB0aOG7sWMgaGnhu4duIgorCisjOiBzZXF1ZW5jZXIuYzoyNzU5CisjLCBjLWZvcm1hdAorbXNnaWQgInRyeSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8ICVzLS1hYm9ydCB8IC0tcXVpdClcIiIKK21zZ3N0ciAiaMOjeSB0aOG7rSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8ICVzLS1hYm9ydCB8IC0tcXVpdClcIiIKKworIzogc2VxdWVuY2VyLmM6Mjc3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIHRoxrAgbeG7pWMgeOG6v3AgZMOjeSDigJwlc+KAnSIKIAotIzogc2VxdWVuY2VyLmM6MjUwNQorIzogc2VxdWVuY2VyLmM6Mjc4OAogbXNnaWQgImNvdWxkIG5vdCBsb2NrIEhFQUQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBraMOzYSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTYwIHNlcXVlbmNlci5jOjM3NjEKKyM6IHNlcXVlbmNlci5jOjI4NDggc2VxdWVuY2VyLmM6NDIwOQogbXNnaWQgIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAia2jDtG5nIGNoZXJyeS1waWNrIGhheSBob8OgbiBuZ3V5w6puIHRyb25nIHRp4bq/biB0csOsbmgiCiAKLSM6IHNlcXVlbmNlci5jOjI1NjIKKyM6IHNlcXVlbmNlci5jOjI4NTAgc2VxdWVuY2VyLmM6Mjg2MQogbXNnaWQgImNhbm5vdCByZXNvbHZlIEhFQUQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiBnaeG6o2kgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MjU2NCBzZXF1ZW5jZXIuYzoyNTk5CisjOiBzZXF1ZW5jZXIuYzoyODUyIHNlcXVlbmNlci5jOjI4OTYKIG1zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGjhu6d5IGLhu48gdOG7qyBt4buZdCBuaMOhbmggbcOgIG7DsyBjw7JuIGNoxrBhIMSRxrDhu6NjIHThuqFvIHJhIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTg1IGJ1aWx0aW4vZ3JlcC5jOjcyMQorIzogc2VxdWVuY2VyLmM6Mjg4MiBidWlsdGluL2dyZXAuYzo3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAia2jDtG5nIG3hu58gxJHGsOG7o2Mg4oCcJXPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjI1ODcKKyM6IHNlcXVlbmNlci5jOjI4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJzogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMg4oCcJXPigJ06ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTg4CisjOiBzZXF1ZW5jZXIuYzoyODg1CiBtc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiZ+G6t3Aga+G6v3QgdGjDumMgdOG6rXAgdGluIMSR4buZdCB4deG6pXQiCiAKLSM6IHNlcXVlbmNlci5jOjI1OTQKKyM6IHNlcXVlbmNlci5jOjI4OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RvcmVkIHByZS1jaGVycnktcGljayBIRUFEIGZpbGUgJyVzJyBpcyBjb3JydXB0IgogbXNnc3RyICJ04bqtcCB0aW4gSEVBRCDigJxwcmUtY2hlcnJ5LXBpY2vigJ0gxJHDoyBsxrB1IOKAnCVz4oCdIGLhu4sgaOG7j25nIgogCi0jOiBzZXF1ZW5jZXIuYzoyNjA1CisjOiBzZXF1ZW5jZXIuYzoyOTAyCiBtc2dpZCAiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFELiBOb3QgcmV3aW5kaW5nLCBjaGVjayB5b3VyIEhFQUQhIgogbXNnc3RyICIiCiAiQuG6oW4gY8OzIGzhur0gxJHDoyBjw7MgSEVBRCDEkcOjIGLhu4sgZGkgY2h1eeG7g24gxJFpLCBLaMO0bmcgdGjhu4MgdHVhLCBraeG7g20gdHJhIEhFQUQgY+G7p2EgIgogImLhuqFuISIKIAotIzogc2VxdWVuY2VyLmM6MjcwOSBzZXF1ZW5jZXIuYzozNjc5CisjOiBzZXF1ZW5jZXIuYzoyOTQzCittc2dpZCAibm8gcmV2ZXJ0IGluIHByb2dyZXNzIgorbXNnc3RyICJraMO0bmcgY8OzIHRp4bq/biB0csOsbmggaG/DoG4gbmd1ecOqbiBuw6BvIgorCisjOiBzZXF1ZW5jZXIuYzoyOTUxCittc2dpZCAibm8gY2hlcnJ5LXBpY2sgaW4gcHJvZ3Jlc3MiCittc2dzdHIgImtow7RuZyBjw7MgY2hlcnJ5LXBpY2sgxJFhbmcgxJHGsOG7o2MgdGjhu7FjIGhp4buHbiIKKworIzogc2VxdWVuY2VyLmM6Mjk2MQorbXNnaWQgImZhaWxlZCB0byBza2lwIHRoZSBjb21taXQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBi4buPIHF1YSDEkeG7kWkgdMaw4bujbmcgY2h1eeG7g24gZ2lhbyIKKworIzogc2VxdWVuY2VyLmM6Mjk2OAorbXNnaWQgInRoZXJlIGlzIG5vdGhpbmcgdG8gc2tpcCIKK21zZ3N0ciAi4bufIMSRw6J5IGtow7RuZyBjw7MgZ8OsIMSR4buDIG3DoCBi4buPIHF1YSBj4bqjIgorCisjOiBzZXF1ZW5jZXIuYzoyOTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJoYXZlIHlvdSBjb21taXR0ZWQgYWxyZWFkeT9cbiIKKyJ0cnkgXCJnaXQgJXMgLS1jb250aW51ZVwiIgorbXNnc3RyICIiCisiYuG6oW4gxJHDoyBz4bq1biBzw6BuZyBjaHV54buDbiBnaWFvIGNoxrBhP1xuIgorInRo4butIFwiZ2l0ICVzIC0tY29udGludWVcIiIKKworIzogc2VxdWVuY2VyLmM6MzA5NSBzZXF1ZW5jZXIuYzo0MTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjI3NDcgc2VxdWVuY2VyLmM6MzY1OQorIzogc2VxdWVuY2VyLmM6MzEzNCBzZXF1ZW5jZXIuYzo0MTAxCiBtc2dpZCAiY2Fubm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzYyCisjOiBzZXF1ZW5jZXIuYzozMTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjb3B5ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGNow6lwIOKAnCVz4oCdIHNhbmcg4oCcJXPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjI3NzAKKyM6IHNlcXVlbmNlci5jOjMxNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBjYW4gYW1lbmQgdGhlIGNvbW1pdCBub3csIHdpdGhcbiIKQEAgLTUwODAsMjcgKzY4MjUsMjIgQEAKICJcbiIKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzgwCisjOiBzZXF1ZW5jZXIuYzozMTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAlcy4uLiAlLipzIgogbXNnc3RyICJLaMO0bmcgdGjhu4Mgw6FwIGThu6VuZyAlc+KApiAlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzg3CisjOiBzZXF1ZW5jZXIuYzozMTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtZXJnZSAlLipzIgogbXNnc3RyICJLaMO0bmcgaMOyYSB0cuG7mW4gJS4qcyIKIAotIzogc2VxdWVuY2VyLmM6Mjc5OCBzZXF1ZW5jZXIuYzoyODAyIGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDAKKyM6IHNlcXVlbmNlci5jOjMxOTAgc2VxdWVuY2VyLmM6MzE5NCBidWlsdGluL2RpZmZ0b29sLmM6NjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjb3B5ICclcycgdG8gJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGNow6lwIOKAnCVz4oCdIHNhbmcg4oCcJXPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjI4MjQgc2VxdWVuY2VyLmM6MzI0MiBidWlsdGluL3JlYmFzZS5jOjU4MCBidWlsdGluL3JlYmFzZS5jOjEwMTkKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM3MiBidWlsdGluL3JlYmFzZS5jOjE0MjYKLW1zZ2lkICJjb3VsZCBub3QgcmVhZCBpbmRleCIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBi4bqjbmcgbeG7pWMgbOG7pWMiCi0KLSM6IHNlcXVlbmNlci5jOjI4MjkKKyM6IHNlcXVlbmNlci5jOjMyMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4ZWN1dGlvbiBmYWlsZWQ6ICVzXG4iCkBAIC01MTE1LDExICs2ODU1LDExIEBACiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKICJcbiIKIAotIzogc2VxdWVuY2VyLmM6MjgzNQorIzogc2VxdWVuY2VyLmM6MzIyNwogbXNnaWQgImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlXG4iCiBtc2dzdHIgInbDoCB04bqhbyBjw6FjIHRoYXkgxJHhu5VpIGLhuqNuZyBt4bulYyBs4bulYyB2w6AvaGF5IGPDonkgbMOgbSB2aeG7h2NcbiIKIAotIzogc2VxdWVuY2VyLmM6Mjg0MQorIzogc2VxdWVuY2VyLmM6MzIzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhlY3V0aW9uIHN1Y2NlZWRlZDogJXNcbiIKQEAgLTUxMzYsNzYgKzY4NzYsNzIgQEAKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTAyCisjOiBzZXF1ZW5jZXIuYzozMjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImlsbGVnYWwgbGFiZWwgbmFtZTogJyUuKnMnIgogbXNnc3RyICJ0w6puIG5ow6NuIGThu4sgaMOsbmg6IOKAnCUuKnPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjI5NTQKKyM6IHNlcXVlbmNlci5jOjMzNDgKIG1zZ2lkICJ3cml0aW5nIGZha2Ugcm9vdCBjb21taXQiCiBtc2dzdHIgImdoaSBs4bqnbiBjaHV54buDbiBnaWFvIGfhu5FjIGdp4bqjIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTU5CisjOiBzZXF1ZW5jZXIuYzozMzUzCiBtc2dpZCAid3JpdGluZyBzcXVhc2gtb250byIKIG1zZ3N0ciAixJFhbmcgZ2hpIHNxdWFzaC1vbnRvIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTk3IGJ1aWx0aW4vcmViYXNlLmM6NTg1IGJ1aWx0aW4vcmViYXNlLmM6NTkxCisjOiBzZXF1ZW5jZXIuYzozMzkxIGJ1aWx0aW4vcmViYXNlLmM6ODc2IGJ1aWx0aW4vcmViYXNlLmM6ODgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB0w6xtIGPDonkgY+G7p2EgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjMwMTUgYnVpbHRpbi9yZWJhc2UuYzo2MDQKLW1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgaW5kZXgiCi1tc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgYuG6o25nIG3hu6VjIGzhu6VjIgotCi0jOiBzZXF1ZW5jZXIuYzozMDQyCisjOiBzZXF1ZW5jZXIuYzozNDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiBnaeG6o2kg4oCcJXPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjMwNjgKKyM6IHNlcXVlbmNlci5jOjM0NjcKIG1zZ2lkICJjYW5ub3QgbWVyZ2Ugd2l0aG91dCBhIGN1cnJlbnQgcmV2aXNpb24iCiBtc2dzdHIgImtow7RuZyB0aOG7gyBow7JhIHRy4buZbiBtw6Aga2jDtG5nIGPDsyBt4buZdCDEkWnhu4NtIHjDqXQgZHV54buHdCBoaeG7h24gdOG6oWkiCiAKLSM6IHNlcXVlbmNlci5jOjMwOTAKKyM6IHNlcXVlbmNlci5jOjM0ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICclLipzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIOKAnCUuKnPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjMwOTkKKyM6IHNlcXVlbmNlci5jOjM0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBtZXJnZTogJyUuKnMnIgogbXNnc3RyICJjaOG6s25nIGPDsyBnw6wgxJHhu4MgaMOyYSB0cuG7mW46IOKAnCUuKnPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjMxMTEKKyM6IHNlcXVlbmNlci5jOjM1MTAKIG1zZ2lkICJvY3RvcHVzIG1lcmdlIGNhbm5vdCBiZSBleGVjdXRlZCBvbiB0b3Agb2YgYSBbbmV3IHJvb3RdIgogbXNnc3RyICJow7JhIHRy4buZbiBvY3RvcHVzIGtow7RuZyB0aOG7gyDEkcaw4bujYyB0aOG7sWMgdGhpIHRyw6puIMSR4buJbmggY+G7p2EgbeG7mXQgW25ldyByb290XSIKIAotIzogc2VxdWVuY2VyLmM6MzEyNgorIzogc2VxdWVuY2VyLmM6MzUyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZ2V0IGNvbW1pdCBtZXNzYWdlIG9mICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSBjaMO6IHRow61jaCBj4bunYSBs4bqnbiBjaHV54buDbiBnaWFvIGPhu6dhIOKAnCVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzozMjc0CisjOiBzZXF1ZW5jZXIuYzozNjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBldmVuIGF0dGVtcHQgdG8gbWVyZ2UgJyUuKnMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbmdheSBj4bqjIGtoaSB0aOG7rSBow7JhIHRy4buZbiDigJwlLipz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzozMjkwCisjOiBzZXF1ZW5jZXIuYzozNzA0CiBtc2dpZCAibWVyZ2U6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAibWVyZ2U6IEtow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIG3hu5tpIgogCi0jOiBzZXF1ZW5jZXIuYzozMzU4IGJ1aWx0aW4vcmViYXNlLmM6MjY4CisjOiBzZXF1ZW5jZXIuYzozNzczIGJ1aWx0aW4vcmViYXNlLmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLlxuIgogbXNnc3RyICLEkMOjIMOhcCBk4bulbmcgYXV0b3N0YXNoLlxuIgogCi0jOiBzZXF1ZW5jZXIuYzozMzcwCisjOiBzZXF1ZW5jZXIuYzozNzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdG9yZSAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4butIGzGsHUg4oCcJXPigJ0iCiAKLSM6IHNlcXVlbmNlci5jOjMzNzMgYnVpbHRpbi9yZWJhc2UuYzoyODQKKyM6IHNlcXVlbmNlci5jOjM3ODggYnVpbHRpbi9yZWJhc2UuYzo3NDkgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjExMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy5cbiIKQEAgLTUyMTcsMzEgKzY5NTMsMzEgQEAKICJC4bqhbiBjw7MgdGjhu4MgY2jhuqF5IGzhu4duaCBcImdpdCBzdGFzaCBwb3BcIiBoYXkgXCJnaXQgc3Rhc2ggZHJvcFwiIGLhuqV0IGvhu7MgbMO6YyAiCiAibsOgby5cbiIKIAotIzogc2VxdWVuY2VyLmM6MzQyNworIzogc2VxdWVuY2VyLmM6Mzg0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY2hlY2tvdXQgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSByYSAlcyIKIAotIzogc2VxdWVuY2VyLmM6MzQ0MQorIzogc2VxdWVuY2VyLmM6Mzg2MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgdmFsaWQgT0lEIgogbXNnc3RyICIlcyBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBPSUQgaOG7o3AgbOG7hyIKIAotIzogc2VxdWVuY2VyLmM6MzQ0NiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzI0CisjOiBzZXF1ZW5jZXIuYzozODY4IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3NzkKIG1zZ2lkICJjb3VsZCBub3QgZGV0YWNoIEhFQUQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0w6FjaCBy4budaSBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzozNDYxCisjOiBzZXF1ZW5jZXIuYzozODgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQgYXQgSEVBRFxuIgogbXNnc3RyICJE4burbmcgbOG6oWkg4bufIEhFQURcbiIKIAotIzogc2VxdWVuY2VyLmM6MzQ2MworIzogc2VxdWVuY2VyLmM6Mzg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkIGF0ICVzXG4iCiBtc2dzdHIgIkThu6tuZyBs4bqhaSDhu58gJXNcbiIKIAotIzogc2VxdWVuY2VyLmM6MzQ3MQorIzogc2VxdWVuY2VyLmM6Mzg5MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGV4ZWN1dGUgdGhlIHRvZG8gY29tbWFuZFxuIgpAQCAtNTI2Miw0OCArNjk5OCw0OCBAQAogIiAgICBnaXQgcmViYXNlIC0tZWRpdC10b2RvXG4iCiAiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBzZXF1ZW5jZXIuYzozNTQzCisjOiBzZXF1ZW5jZXIuYzozOTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQgYXQgJXMuLi4gICUuKnNcbiIKIG1zZ3N0ciAiROG7q25nIGzhuqFpIOG7nyAlc+KApiAgJS4qc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzozNjIyCisjOiBzZXF1ZW5jZXIuYzo0MDUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gY29tbWFuZCAlZCIKIG1zZ3N0ciAia2jDtG5nIGhp4buDdSBjw6J1IGzhu4duaCAlZCIKIAotIzogc2VxdWVuY2VyLmM6MzY2NworIzogc2VxdWVuY2VyLmM6NDEwOQogbXNnaWQgImNvdWxkIG5vdCByZWFkIG9yaWctaGVhZCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBvcmlnLWhlYWQiCiAKLSM6IHNlcXVlbmNlci5jOjM2NzIgc2VxdWVuY2VyLmM6NDc0MQorIzogc2VxdWVuY2VyLmM6NDExNAogbXNnaWQgImNvdWxkIG5vdCByZWFkICdvbnRvJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyDigJxvbnRv4oCdLiIKIAotIzogc2VxdWVuY2VyLmM6MzY4NgorIzogc2VxdWVuY2VyLmM6NDEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgdXBkYXRlIEhFQUQgdG8gJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgSEVBRCB0aMOgbmggJXMiCiAKLSM6IHNlcXVlbmNlci5jOjM3NzIKKyM6IHNlcXVlbmNlci5jOjQyMjEKIG1zZ2lkICJjYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGPhuqNpIHThu5U6IELhuqFuIGPDsyBjw6FjIHRoYXkgxJHhu5VpIGNoxrBhIMSRxrDhu6NjIMSRxrBhIGzDqm4gYuG7hyBwaMOzbmcuIgogCi0jOiBzZXF1ZW5jZXIuYzozNzgxCisjOiBzZXF1ZW5jZXIuYzo0MjMwCiBtc2dpZCAiY2Fubm90IGFtZW5kIG5vbi1leGlzdGluZyBjb21taXQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0dSBi4buPIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8ga2jDtG5nIHThu5NuIHThuqFpIgogCi0jOiBzZXF1ZW5jZXIuYzozNzgzCisjOiBzZXF1ZW5jZXIuYzo0MjMyCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgZmlsZTogJyVzJyIKIG1zZ3N0ciAidOG6rXAgdGluIGtow7RuZyBo4bujcCBs4buHOiDigJwlc+KAnSIKIAotIzogc2VxdWVuY2VyLmM6Mzc4NQorIzogc2VxdWVuY2VyLmM6NDIzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbnRlbnRzOiAnJXMnIgogbXNnc3RyICJu4buZaSBkdW5nIGtow7RuZyBo4bujcCBs4buHOiDigJwlc+KAnSIKIAotIzogc2VxdWVuY2VyLmM6Mzc4OAorIzogc2VxdWVuY2VyLmM6NDIzNwogbXNnaWQgIiIKICJcbiIKICJZb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiBQbGVhc2UsIGNvbW1pdCB0aGVtXG4iCkBAIC01MzEzLDgyICs3MDQ5LDQyIEBACiAiQuG6oW4gY8OzIGPDoWMgdGhheSDEkeG7lWkgY2jGsGEgY2h1eeG7g24gZ2lhbyB0cm9uZyB0aMawIG3hu6VjIGzDoG0gdmnhu4djLiBWdWkgbMOybmdcbiIKICJjaHV54buDbiBnaWFvIGNow7puZyB0csaw4bubYyB2w6Agc2F1IMSRw7MgY2jhuqF5IGzhu4duaCDigJxnaXQgcmViYXNlIC0tY29udGludWXigJ0gbOG6p24gbuG7r2EuIgogCi0jOiBzZXF1ZW5jZXIuYzozODI0IHNlcXVlbmNlci5jOjM4NjIKKyM6IHNlcXVlbmNlci5jOjQyNzMgc2VxdWVuY2VyLmM6NDMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgZmlsZTogJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSB04bqtcCB0aW46IOKAnCVz4oCdIgogCi0jOiBzZXF1ZW5jZXIuYzozODc3CisjOiBzZXF1ZW5jZXIuYzo0MzI3CiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSBDSEVSUllfUElDS19IRUFEIgogbXNnc3RyICJraMO0bmcgdGjhu4MgeMOzYSBi4buPIENIRVJSWV9QSUNLX0hFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjM4ODQKKyM6IHNlcXVlbmNlci5jOjQzMzQKIG1zZ2lkICJjb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGNodXnhu4NuIGdpYW8gY8OhYyB0aGF5IMSR4buVaSDEkcOjIMSRxrBhIGzDqm4gYuG7hyBwaMOzbmcuIgogCi0jOiBzZXF1ZW5jZXIuYzozOTgyCisjOiBzZXF1ZW5jZXIuYzo0NDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgogbXNnc3RyICIlczoga2jDtG5nIHRo4buDIGNoZXJyeS1waWNrIG3hu5l0ICVzIgogCi0jOiBzZXF1ZW5jZXIuYzozOTg2CisjOiBzZXF1ZW5jZXIuYzo0NDQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgcmV2aXNpb24iCiBtc2dzdHIgIiVzOiDEkWnhu4NtIHjDqXQgZHV54buHdCBzYWkiCiAKLSM6IHNlcXVlbmNlci5jOjQwMjEKKyM6IHNlcXVlbmNlci5jOjQ0NzkKIG1zZ2lkICJjYW4ndCByZXZlcnQgYXMgaW5pdGlhbCBjb21taXQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBob8OgbiBuZ3V5w6puIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8ga2jhu59pIHThuqFvIgogCi0jOiBzZXF1ZW5jZXIuYzo0NDY2CisjOiBzZXF1ZW5jZXIuYzo0OTUyCiBtc2dpZCAibWFrZV9zY3JpcHQ6IHVuaGFuZGxlZCBvcHRpb25zIgogbXNnc3RyICJtYWtlX3NjcmlwdDogY8OhYyB0w7l5IGNo4buNbiDEkcaw4bujYyBraMO0bmcgeOG7rSBsw70iCiAKLSM6IHNlcXVlbmNlci5jOjQ0NjkKKyM6IHNlcXVlbmNlci5jOjQ5NTUKIG1zZ2lkICJtYWtlX3NjcmlwdDogZXJyb3IgcHJlcGFyaW5nIHJldmlzaW9ucyIKIG1zZ3N0ciAibWFrZV9zY3JpcHQ6IGzhu5dpIGNodeG6qW4gYuG7iyDEkWnhu4NtIGhp4buHdSBjaOG7iW5oIgogCi0jOiBzZXF1ZW5jZXIuYzo0NTA5IHNlcXVlbmNlci5jOjQ1NjUgc2VxdWVuY2VyLmM6NDg0MAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnVzYWJsZSB0b2RvIGxpc3Q6ICclcyciCi1tc2dzdHIgImRhbmggc8OhY2ggY+G6p24gbMOgbSBraMO0bmcgZMO5bmcgxJHGsOG7o2M6IOKAnCVz4oCdIgotCi0jOiBzZXF1ZW5jZXIuYzo0NjIwCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJ1bnJlY29nbml6ZWQgc2V0dGluZyAlcyBmb3Igb3B0aW9uIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiBJZ25vcmluZy4iCi1tc2dzdHIgIiIKLSJraMO0bmcgbmjhuq1uIHJhIGPDoGkgxJHhurd0ICVzIGNobyB0w7l5IGNo4buNbiByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4gTsOqbiBi4buPIHF1YS4iCi0KLSM6IHNlcXVlbmNlci5jOjQ2OTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIldhcm5pbmc6IHNvbWUgY29tbWl0cyBtYXkgaGF2ZSBiZWVuIGRyb3BwZWQgYWNjaWRlbnRhbGx5LlxuIgotIkRyb3BwZWQgY29tbWl0cyAobmV3ZXIgdG8gb2xkZXIpOlxuIgotbXNnc3RyICIiCi0iQ+G6o25oIGLDoW86IG3hu5l0IHPhu5EgbOG6p24gY2h1eeG7g24gZ2lhbyBjw7MgbOG6vSDEkcOjIGLhu4sgeMOzYSBt4buZdCBjw6FjaCB0w6xuaCBj4budLlxuIgotIkPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBi4buLIHjDs2EgKHThu6sgbeG7m2kgxJHhur9uIGPFqSk6XG4iCi0KLSM6IHNlcXVlbmNlci5jOjQ2OTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIlRvIGF2b2lkIHRoaXMgbWVzc2FnZSwgdXNlIFwiZHJvcFwiIHRvIGV4cGxpY2l0bHkgcmVtb3ZlIGEgY29tbWl0LlxuIgotIlxuIgotIlVzZSAnZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjaycgdG8gY2hhbmdlIHRoZSBsZXZlbCBvZiAiCi0id2FybmluZ3MuXG4iCi0iVGhlIHBvc3NpYmxlIGJlaGF2aW91cnMgYXJlOiBpZ25vcmUsIHdhcm4sIGVycm9yLlxuIgotIlxuIgotbXNnc3RyICIiCi0ixJDhu4MgdHLDoW5oIHRow7RuZyBiw6FvIG7DoHksIGTDuW5nIFwiZHJvcFwiIG3hu5l0IGPDoWNoIHLDtSByw6BuZyDEkeG7gyB4w7NhIGLhu48gbeG7mXQgbOG6p24gIgotImNodXnhu4NuIGdpYW8uXG4iCi0iXG4iCi0iRMO5bmcg4oCcZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVja+KAnSDEkeG7gyB0aGF5IMSR4buVaSBt4bupYyDEkeG7mSBj4bunYSBj4bqjbmggIgotImLDoW8uXG4iCi0iQ8Ohbmgg4bupbmcgeOG7rSBjw7MgdGjhu4MgbMOgOiBpZ25vcmUsIHdhcm4sIGVycm9yLlxuIgotIlxuIgotCi0jOiBzZXF1ZW5jZXIuYzo0NzEwCi0jLCBjLWZvcm1hdAorIzogc2VxdWVuY2VyLmM6NTExMwogbXNnaWQgIiIKICJZb3UgY2FuIGZpeCB0aGlzIHdpdGggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLSIKICJjb250aW51ZScuXG4iCkBAIC01Mzk4LDM5ICs3MDk0LDI0IEBACiAiY29udGludWXigJ0uXG4iCiAiSG/hurdjIGzDoCBi4bqhbiBjw7MgdGjhu4MgYsOjaSBi4buPIHZp4buHYyBj4bqjaSB04buVIGLhurFuZyDigJxnaXQgcmViYXNlIC0tYWJvcnTigJ0uXG4iCiAKLSM6IHNlcXVlbmNlci5jOjQ4NDggc2VxdWVuY2VyLmM6NDg4NgorIzogc2VxdWVuY2VyLmM6NTIyNiBzZXF1ZW5jZXIuYzo1MjQzCiBtc2dpZCAibm90aGluZyB0byBkbyIKIG1zZ3N0ciAia2jDtG5nIGPDsyBnw6wgxJHhu4MgbMOgbSIKIAotIzogc2VxdWVuY2VyLmM6NDg1MgotIywgYy1mb3JtYXQKLW1zZ2lkICJSZWJhc2UgJXMgb250byAlcyAoJWQgY29tbWFuZCkiCi1tc2dpZF9wbHVyYWwgIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kcykiCi1tc2dzdHJbMF0gIkPhuqNpIHThu5UgJXMgdsOgbyAlcyAoJWQgbOG7h25oICkiCi0KLSM6IHNlcXVlbmNlci5jOjQ4NjQKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnLiIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIGNow6lwIOKAnCVz4oCdIHNhbmcg4oCcJXPigJ0uIgotCi0jOiBzZXF1ZW5jZXIuYzo0ODY4IHNlcXVlbmNlci5jOjQ4OTcKLW1zZ2lkICJjb3VsZCBub3QgdHJhbnNmb3JtIHRoZSB0b2RvIGxpc3QiCi1tc2dzdHIgImtow7RuZyB0aOG7gyBjaHV54buDbiBk4bqhbmcgZGFuaCBzw6FjaCBj4bqnbiBsw6BtIgotCi0jOiBzZXF1ZW5jZXIuYzo0OTAwCisjOiBzZXF1ZW5jZXIuYzo1MjU3CiBtc2dpZCAiY291bGQgbm90IHNraXAgdW5uZWNlc3NhcnkgcGljayBjb21tYW5kcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGLhu48gcXVhIGPDoWMgbOG7h25oIGPhuq15IChwaWNrKSBraMO0bmcgY+G6p24gdGhp4bq/dCIKIAotIzogc2VxdWVuY2VyLmM6NDk4MworIzogc2VxdWVuY2VyLmM6NTM1MQogbXNnaWQgInRoZSBzY3JpcHQgd2FzIGFscmVhZHkgcmVhcnJhbmdlZC4iCiBtc2dzdHIgInbEg24gbOG7h25oIMSRw6Mgc+G6tW4gxJHGsOG7o2Mgc+G6r3AgxJHhurd0IHLhu5NpLiIKIAotIzogc2V0dXAuYzoxMjMKKyM6IHNldHVwLmM6MTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IgogbXNnc3RyICLigJwlc+KAnSDhu58gbmdvw6BpIG3hu5l0IGtobyBjaOG7qWEiCiAKLSM6IHNldHVwLmM6MTcyCisjOiBzZXR1cC5jOjE3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXM6IG5vIHN1Y2ggcGF0aCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgpAQCAtNTQ0MCw3ICs3MTIxLDcgQEAKICJEw7luZyDigJxnaXQgPGzhu4duaD4gLS0gPMSRxrDhu51uZy9k4bqrbj7igKbigJ0gxJHhu4MgY2jhu4kgxJHhu4tuaCDEkcaw4budbmcgZOG6q24gbcOgIG7DsyBraMO0bmcgdOG7k24gdOG6oWkgIgogIm3hu5l0IGPDoWNoIG7hu5lpIGLhu5kuIgogCi0jOiBzZXR1cC5jOjE4NQorIzogc2V0dXAuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiB1bmtub3duIHJldmlzaW9uIG9yIHBhdGggbm90IGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCkBAIC01NDUyLDEyICs3MTMzLDEyIEBACiAiRMO5bmcg4oCcLS3igJ0gxJHhu4MgbmfEg24gY8OhY2ggY8OhYyDEkcaw4budbmcgZOG6q24ga2jhu49pIMSRaeG7g20geGVtIHjDqXQsIG5oxrAgdGjhur8gbsOgeTpcbiIKICLigJxnaXQgPGzhu4duaD4gWzzEkWnhu4NtIHhlbSB4w6l0PuKApl0gLS0gWzx04bqtcCB0aW4+4oCmXeKAnSIKIAotIzogc2V0dXAuYzoyMzQKKyM6IHNldHVwLmM6MjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9wdGlvbiAnJXMnIG11c3QgY29tZSBiZWZvcmUgbm9uLW9wdGlvbiBhcmd1bWVudHMiCiBtc2dzdHIgInTDuXkgY2jhu41uIOKAnCVz4oCdIHBo4bqjaSB0csaw4bubYyBjw6FjIMSR4buRaSBz4buRIMSR4bqndSB0acOqbiBraMO0bmcgY8OzIHTDuXkgY2jhu41uIgogCi0jOiBzZXR1cC5jOjI1MworIzogc2V0dXAuYzoyNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImFtYmlndW91cyBhcmd1bWVudCAnJXMnOiBib3RoIHJldmlzaW9uIGFuZCBmaWxlbmFtZVxuIgpAQCAtNTQ2OCw5MiArNzE0OSw5MiBAQAogIkTDuW5nIOKAnC0t4oCdIMSR4buDIG5nxINuIGPDoWNoIGPDoWMgxJHGsOG7nW5nIGThuqtuIGto4buPaSDEkWnhu4NtIHhlbSB4w6l0LCBuaMawIHRo4bq/IG7DoHk6XG4iCiAi4oCcZ2l0IDxs4buHbmg+IFs8xJFp4buDbSB4ZW0geMOpdD7igKZdIC0tIFs8dOG6rXAgdGluPuKApl3igJ0iCiAKLSM6IHNldHVwLmM6Mzg5CisjOiBzZXR1cC5jOjM5MQogbXNnaWQgInVuYWJsZSB0byBzZXQgdXAgd29yayB0cmVlIHVzaW5nIGludmFsaWQgY29uZmlnIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhurd0IHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgaGnhu4duIGjDoG5oIHPhu60gZOG7pW5nIGPhuqV1IGjDrG5oIGtow7RuZyBo4bujcCBs4buHIgorbXNnc3RyICJraMO0bmcgdGjhu4MgY8OgaSDEkeG6t3QgdGjGsCBt4bulYyBsw6BtIHZp4buHYyBz4butIGThu6VuZyBj4bqldSBow6xuaCBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogc2V0dXAuYzozOTMKKyM6IHNldHVwLmM6Mzk1CiBtc2dpZCAidGhpcyBvcGVyYXRpb24gbXVzdCBiZSBydW4gaW4gYSB3b3JrIHRyZWUiCiBtc2dzdHIgInRoYW8gdMOhYyBuw6B5IHBo4bqjaSDEkcaw4bujYyB0aOG7sWMgaGnhu4duIHRyb25nIHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MiCiAKLSM6IHNldHVwLmM6NTI3CisjOiBzZXR1cC5jOjU0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RlZCBnaXQgcmVwbyB2ZXJzaW9uIDw9ICVkLCBmb3VuZCAlZCIKIG1zZ3N0ciAiQ+G6p24gcGhpw6puIGLhuqNuIGtobyBnaXQgPD0gJWQsIG5oxrBuZyBs4bqhaSBuaOG6rW4gxJHGsOG7o2MgJWQiCiAKLSM6IHNldHVwLmM6NTM1CisjOiBzZXR1cC5jOjU0OQogbXNnaWQgInVua25vd24gcmVwb3NpdG9yeSBleHRlbnNpb25zIGZvdW5kOiIKIG1zZ3N0ciAidMOsbSB0aOG6pXkgcGjhuqduIG3hu58gcuG7mW5nIGtobyBjaMawYSBiaeG6v3Q6IgogCi0jOiBzZXR1cC5jOjU1NAorIzogc2V0dXAuYzo1NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3Igb3BlbmluZyAnJXMnIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbeG7nyDigJwlc+KAnSIKIAotIzogc2V0dXAuYzo1NTYKKyM6IHNldHVwLmM6NTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRvbyBsYXJnZSB0byBiZSBhIC5naXQgZmlsZTogJyVzJyIKIG1zZ3N0ciAidOG6rXAgdGluIC5naXQgbMOgIHF1w6EgbOG7m246IOKAnCVz4oCdIgogCi0jOiBzZXR1cC5jOjU1OAorIzogc2V0dXAuYzo1NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcmVhZGluZyAlcyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4buNYyAlcyIKIAotIzogc2V0dXAuYzo1NjAKKyM6IHNldHVwLmM6NTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgZ2l0ZmlsZSBmb3JtYXQ6ICVzIgogbXNnc3RyICLEkeG7i25oIGThuqFuZyB04bqtcCB0aW4gZ2l0IGtow7RuZyBo4bujcCBs4buHOiAlcyIKIAotIzogc2V0dXAuYzo1NjIKKyM6IHNldHVwLmM6NTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHBhdGggaW4gZ2l0ZmlsZTogJXMiCiBtc2dzdHIgImtow7RuZyBjw7MgxJHGsOG7nW5nIGThuqtuIHRyb25nIHThuq1wIHRpbiBnaXQ6ICVzIgogCi0jOiBzZXR1cC5jOjU2NAorIzogc2V0dXAuYzo1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgZ2l0IHJlcG9zaXRvcnk6ICVzIgotbXNnc3RyICJLaMO0bmcgcGjhuqNpIGzDoCBraG8gZ2l0OiAlcyIKK21zZ3N0ciAia2jDtG5nIHBo4bqjaSBsw6Aga2hvIGdpdDogJXMiCiAKLSM6IHNldHVwLmM6NjYzCisjOiBzZXR1cC5jOjY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICInJCVzJyB0b28gYmlnIgogbXNnc3RyICLigJwkJXPigJ0gcXXDoSBs4bubbiIKIAotIzogc2V0dXAuYzo2NzcKKyM6IHNldHVwLmM6NjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIGdpdCByZXBvc2l0b3J5OiAnJXMnIgogbXNnc3RyICJraMO0bmcgcGjhuqNpIGzDoCBraG8gZ2l0OiDigJwlc+KAnSIKIAotIzogc2V0dXAuYzo3MDYgc2V0dXAuYzo3MDggc2V0dXAuYzo3MzkKKyM6IHNldHVwLmM6NzIwIHNldHVwLmM6NzIyIHNldHVwLmM6NzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGRpciB0byAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY2hkaXIgKGNodXnhu4NuIMSR4buVaSB0aMawIG3hu6VjKSBzYW5nIOKAnCVz4oCdIgogCi0jOiBzZXR1cC5jOjcxMSBzZXR1cC5jOjc2NyBzZXR1cC5jOjc3NyBzZXR1cC5jOjgxNiBzZXR1cC5jOjgyNCBzZXR1cC5jOjgzOQorIzogc2V0dXAuYzo3MjUgc2V0dXAuYzo3ODEgc2V0dXAuYzo3OTEgc2V0dXAuYzo4MzAgc2V0dXAuYzo4MzgKIG1zZ2lkICJjYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHF1YXkgbOG6oWkgY3dkIgogCi0jOiBzZXR1cC5jOjgzNwotIywgYy1mb3JtYXQKLW1zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIKLW1zZ3N0ciAia2jDtG5nIHBo4bqjaSBsw6Aga2hvIGdpdCAoaG/hurdjIGLhuqV0IGvhu7MgdGjGsCBt4bulYyBjaGEgbeG6uSBuw6BvKTogJXMiCi0KLSM6IHNldHVwLmM6ODQ4CisjOiBzZXR1cC5jOjg1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJSpzJXMlcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBs4bqleSB0aOG7kW5nIGvDqiB24buBIOKAnCUqcyVzJXPigJ0iCiAKLSM6IHNldHVwLmM6MTA3OAorIzogc2V0dXAuYzoxMDkwCiBtc2dpZCAiVW5hYmxlIHRvIHJlYWQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4buNYyB0aMawIG3hu6VjIGzDoG0gdmnhu4djIGhp4buHbiBow6BuaCIKIAotIzogc2V0dXAuYzoxMDkwIHNldHVwLmM6MTA5NgorIzogc2V0dXAuYzoxMDk5IHNldHVwLmM6MTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hhbmdlIHRvICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBjaHV54buDbiBzYW5nIOKAnCVz4oCdIgogCi0jOiBzZXR1cC5jOjExMDkKKyM6IHNldHVwLmM6MTExMAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIKK21zZ3N0ciAia2jDtG5nIHBo4bqjaSBsw6Aga2hvIGdpdCAoaG/hurdjIGLhuqV0IGvhu7MgdGjGsCBt4bulYyBjaGEgbeG6uSBuw6BvKTogJXMiCisKKyM6IHNldHVwLmM6MTExNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBwYXJlbnQgdXAgdG8gbW91bnQgcG9pbnQgJXMpXG4iCkBAIC01NTYzLDcgKzcyNDQsNyBAQAogIkThu6tuZyB04bqhaSBiacOqbiBj4bunYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIChHSVRfRElTQ09WRVJZX0FDUk9TU19GSUxFU1lTVEVNIGNoxrBhICIKICLEkeG6t3QpLiIKIAotIzogc2V0dXAuYzoxMTkyCisjOiBzZXR1cC5jOjEyMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInByb2JsZW0gd2l0aCBjb3JlLnNoYXJlZFJlcG9zaXRvcnkgZmlsZW1vZGUgdmFsdWUgKDAlLjNvKS5cbiIKQEAgLTU1NzIsMjg1ICs3MjUzLDI5MCBAQAogImfhurdwIHbhuqVuIMSR4buBIHbhu5tpIGdpw6EgdHLhu4sgY2jhur8gxJHhu5kgdOG6rXAgdGluIGNvcmUuc2hhcmVkUmVwb3NpdG9yeSAoMCUuM28pLlxuIgogIm5nxrDhu51pIHPhu58gaOG7r3UgdOG6rXAgdGluIHBo4bqjaSBsdcO0biBjw7MgcXV54buBbiDEkeG7jWMgdsOgIGdoaS4iCiAKLSM6IHNldHVwLmM6MTIzNQorIzogc2V0dXAuYzoxMjcxCiBtc2dpZCAib3BlbiAvZGV2L251bGwgb3IgZHVwIGZhaWxlZCIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIG3hu58g4oCcL2Rldi9udWxs4oCdIGhheSBkdXAiCiAKLSM6IHNldHVwLmM6MTI1MAorIzogc2V0dXAuYzoxMjg2CiBtc2dpZCAiZm9yayBmYWlsZWQiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBy4bq9IG5ow6FuaCB0aeG6v24gdHLDrG5oIgogCi0jOiBzZXR1cC5jOjEyNTUKKyM6IHNldHVwLmM6MTI5MQogbXNnaWQgInNldHNpZCBmYWlsZWQiCiBtc2dzdHIgInNldHNpZCBn4bq3cCBs4buXaSIKIAotIzogc2hhMS1maWxlLmM6MzgxCisjOiBzaGExLWZpbGUuYzo0NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IGRpcmVjdG9yeSAlcyBkb2VzIG5vdCBleGlzdDsgY2hlY2sgLmdpdC9vYmplY3RzL2luZm8vYWx0ZXJuYXRlcyIKIG1zZ3N0ciAiIgogInRoxrAgbeG7pWMgxJHhu5FpIHTGsOG7o25nICVzIGtow7RuZyB04buTbiB04bqhaTsga2nhu4NtIHRyYSAuZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzIgogCi0jOiBzaGExLWZpbGUuYzo0MzIKKyM6IHNoYTEtZmlsZS5jOjUwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbm9ybWFsaXplIGFsdGVybmF0ZSBvYmplY3QgcGF0aDogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0aMaw4budbmcgaMOzYSDEkcaw4budbmcgZOG6q24gxJHhu5FpIHTGsOG7o25nIHRoYXkgdGjhur86IOKAnCVz4oCdIgogCi0jOiBzaGExLWZpbGUuYzo1MDMKKyM6IHNoYTEtZmlsZS5jOjU3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaWdub3JpbmcgYWx0ZXJuYXRlIG9iamVjdCBzdG9yZXMsIG5lc3RpbmcgdG9vIGRlZXAiCiBtc2dzdHIgIiVzOiDEkWFuZyBi4buPIHF1YSBraG8gxJHhu5FpIHTGsOG7o25nIHRoYXkgdGjhur8sIGzhu5NuZyBuaGF1IHF1w6Egc8OidSIKIAotIzogc2hhMS1maWxlLmM6NTEwCisjOiBzaGExLWZpbGUuYzo1ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG5vcm1hbGl6ZSBvYmplY3QgZGlyZWN0b3J5OiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGNodeG6qW4gaMOzYSB0aMawIG3hu6VjIMSR4buRaSB0xrDhu6NuZzog4oCcJXPigJ0iCiAKLSM6IHNoYTEtZmlsZS5jOjU2NQorIzogc2hhMS1maWxlLmM6NjI1CiBtc2dpZCAidW5hYmxlIHRvIGZkb3BlbiBhbHRlcm5hdGVzIGxvY2tmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZmRvcGVuIHThuq1wIHRpbiBraMOzYSB0aGF5IHRo4bq/IgogCi0jOiBzaGExLWZpbGUuYzo1ODMKKyM6IHNoYTEtZmlsZS5jOjY0MwogbXNnaWQgInVuYWJsZSB0byByZWFkIGFsdGVybmF0ZXMgZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyB04bqtcCB0aW4gdGhheSB0aOG6vyIKIAotIzogc2hhMS1maWxlLmM6NTkwCisjOiBzaGExLWZpbGUuYzo2NTAKIG1zZ2lkICJ1bmFibGUgdG8gbW92ZSBuZXcgYWx0ZXJuYXRlcyBmaWxlIGludG8gcGxhY2UiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBkaSBjaHV54buDbiB04bqtcCB0aW4gdGhheSB0aOG6vyB2w6BvIGNo4buXIgogCi0jOiBzaGExLWZpbGUuYzo2MjUKKyM6IHNoYTEtZmlsZS5jOjY4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSBraMO0bmcgdOG7k24gdOG6oWkiCiAKLSM6IHNoYTEtZmlsZS5jOjY1MQorIzogc2hhMS1maWxlLmM6NzExCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgYXMgYSBsaW5rZWQgY2hlY2tvdXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuIgogbXNnc3RyICJraG8gdGhhbSBjaGnhur91IOKAnCVz4oCdIG5oxrAgbMOgIGzhuqV5IHJhIGxpw6puIGvhur90IHbhuqtuIGNoxrBhIMSRxrDhu6NjIGjhu5cgdHLhu6MuIgogCi0jOiBzaGExLWZpbGUuYzo2NTcKKyM6IHNoYTEtZmlsZS5jOjcxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgogbXNnc3RyICJraG8gdGhhbSBjaGnhur91IOKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IGtobyBu4buZaSBi4buZLiIKIAotIzogc2hhMS1maWxlLmM6NjYzCisjOiBzaGExLWZpbGUuYzo3MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBzaGFsbG93IgogbXNnc3RyICJraG8gdGhhbSBjaGnhur91IOKAnCVz4oCdIGzDoCBuw7RuZyIKIAotIzogc2hhMS1maWxlLmM6NjcxCisjOiBzaGExLWZpbGUuYzo3MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBncmFmdGVkIgogbXNnc3RyICJraG8gdGhhbSBjaGnhur91IOKAnCVz4oCdIGLhu4sgY+G6pXkgZ2jDqXAiCiAKLSM6IHNoYTEtZmlsZS5jOjc4MQorIzogc2hhMS1maWxlLmM6NzkxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbGluZSB3aGlsZSBwYXJzaW5nIGFsdGVybmF0ZSByZWZzOiAlcyIKK21zZ3N0ciAiZMOybmcga2jDtG5nIGjhu6NwIGzhu4cgdHJvbmcga2hpIHBow6JuIHTDrWNoIGPDoWMgdGhhbSBjaGnhur91IHRoYXkgdGjhur86ICVzIgorCisjOiBzaGExLWZpbGUuYzo5NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiYXR0ZW1wdGluZyB0byBtbWFwICU8UFJJdU1BWD4gb3ZlciBsaW1pdCAlPFBSSXVNQVg+IgogbXNnc3RyICLEkWFuZyBj4buRIMSR4buDIG1tYXAgJTxQUkl1TUFYPiB2xrDhu6N0IHF1w6EgZ2nhu5tpIGjhuqFuICU8UFJJdU1BWD4iCiAKLSM6IHNoYTEtZmlsZS5jOjgwNgorIzogc2hhMS1maWxlLmM6OTY0CiBtc2dpZCAibW1hcCBmYWlsZWQiCiBtc2dzdHIgIm1tYXAgZ+G6t3AgbOG7l2kiCiAKLSM6IHNoYTEtZmlsZS5jOjk3MworIzogc2hhMS1maWxlLmM6MTEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgZmlsZSAlcyBpcyBlbXB0eSIKIG1zZ3N0ciAidOG6rXAgdGluIMSR4buRaSB0xrDhu6NuZyAlcyB0cuG7kW5nIHLhu5duZyIKIAotIzogc2hhMS1maWxlLmM6MTA5MyBzaGExLWZpbGUuYzoyMjE1CisjOiBzaGExLWZpbGUuYzoxMjUyIHNoYTEtZmlsZS5jOjIzOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBsb29zZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIG3huqV0IGjhu49uZyDigJwlc+KAnSIKIAotIzogc2hhMS1maWxlLmM6MTA5NSBzaGExLWZpbGUuYzoyMjE5CisjOiBzaGExLWZpbGUuYzoxMjU0IHNoYTEtZmlsZS5jOjIzOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2FyYmFnZSBhdCBlbmQgb2YgbG9vc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgImfhurdwIHLDoWMgdOG6oWkgY3Xhu5FpIGPhu6dhIMSR4buRaSB0xrDhu6NuZyBi4buLIG3huqV0IOKAnCVz4oCdIgogCi0jOiBzaGExLWZpbGUuYzoxMTM3CisjOiBzaGExLWZpbGUuYzoxMjk2CiBtc2dpZCAiaW52YWxpZCBvYmplY3QgdHlwZSIKIG1zZ3N0ciAia2nhu4N1IMSR4buRaSB0xrDhu6NuZyBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogc2hhMS1maWxlLmM6MTIxOQorIzogc2hhMS1maWxlLmM6MTM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdW5wYWNrICVzIGhlYWRlciB3aXRoIC0tYWxsb3ctdW5rbm93bi10eXBlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2nhuqNpIG7DqW4gcGjhuqduIMSR4bqndSBnw7NpICVzIHbhu5tpIC0tYWxsb3ctdW5rbm93bi10eXBlIgogCi0jOiBzaGExLWZpbGUuYzoxMjIyCisjOiBzaGExLWZpbGUuYzoxMzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1bnBhY2sgJXMgaGVhZGVyIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2nhuqNpIGfDs2kgcGjhuqduIMSR4bqndSAlcyIKIAotIzogc2hhMS1maWxlLmM6MTIyOAorIzogc2hhMS1maWxlLmM6MTM4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJXMgaGVhZGVyIHdpdGggLS1hbGxvdy11bmtub3duLXR5cGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBwaOG6p24gxJHhuqd1IGfDs2kgJXMgduG7m2kgLS1hbGxvdy11bmtub3duLXR5cGUiCiAKLSM6IHNoYTEtZmlsZS5jOjEyMzEKKyM6IHNoYTEtZmlsZS5jOjEzOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICVzIGhlYWRlciIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIHBo4bqnbiDEkeG6p3UgY+G7p2Eg4oCcJXPigJ0iCiAKLSM6IHNoYTEtZmlsZS5jOjE0MjIKKyM6IHNoYTEtZmlsZS5jOjE1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu41jIMSR4buRaSB0xrDhu6NuZyDigJwlc+KAnSIKIAotIzogc2hhMS1maWxlLmM6MTQyNgorIzogc2hhMS1maWxlLmM6MTU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBsYWNlbWVudCAlcyBub3QgZm91bmQgZm9yICVzIgogbXNnc3RyICJjJXMgdGhheSB0aOG6vyBraMO0bmcgxJHGsOG7o2MgdMOsbSB0aOG6pXkgY2hvICVzIgogCi0jOiBzaGExLWZpbGUuYzoxNDMwCisjOiBzaGExLWZpbGUuYzoxNTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImxvb3NlIG9iamVjdCAlcyAoc3RvcmVkIGluICVzKSBpcyBjb3JydXB0IgogbXNnc3RyICLEkeG7kWkgdMaw4bujbmcgbeG6pXQgJXMgKMSRxrDhu6NjIGzGsHUgdHJvbmcgJXMpIGLhu4sgaOG7j25nIgogCi0jOiBzaGExLWZpbGUuYzoxNDM0CisjOiBzaGExLWZpbGUuYzoxNTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tlZCBvYmplY3QgJXMgKHN0b3JlZCBpbiAlcykgaXMgY29ycnVwdCIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIMSRw6MgxJHDs25nIGfDs2kgJXMgKMSRxrDhu6NjIGzGsHUgdHJvbmcgJXMpIGLhu4sgaOG7j25nIgogCi0jOiBzaGExLWZpbGUuYzoxNTM2CisjOiBzaGExLWZpbGUuYzoxNjk5CiAjLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzaGExIGZpbGVuYW1lICVzIgotbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIHbDoG8gdMOqbiB04bqtcCB0aW4gc2hhMSAlcyIKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSB04bqtcCB0aW4gJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjE1NDMKKyM6IHNoYTEtZmlsZS5jOjE3MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHNldCBwZXJtaXNzaW9uIHRvICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG6t3QgcXV54buBbiB0aMOgbmgg4oCcJXPigJ0iCiAKLSM6IHNoYTEtZmlsZS5jOjE1NTAKKyM6IHNoYTEtZmlsZS5jOjE3MTMKIG1zZ2lkICJmaWxlIHdyaXRlIGVycm9yIgogbXNnc3RyICJs4buXaSBnaGkgdOG6rXAgdGluIgogCi0jOiBzaGExLWZpbGUuYzoxNTY5Ci1tc2dpZCAiZXJyb3Igd2hlbiBjbG9zaW5nIHNoYTEgZmlsZSIKLW1zZ3N0ciAiZ+G6t3AgbOG7l2kgdHJvbmcga2hpIMSRw7NuZyB04bqtcCB0aW4gc2hhMSIKKyM6IHNoYTEtZmlsZS5jOjE3MzIKK21zZ2lkICJlcnJvciB3aGVuIGNsb3NpbmcgbG9vc2Ugb2JqZWN0IGZpbGUiCittc2dzdHIgImfhurdwIGzhu5dpIHRyb25nIGtoaSDEkcOzbmcgdOG6rXAgdGluIMSR4buRaSB0xrDhu6NuZyIKIAotIzogc2hhMS1maWxlLmM6MTYzNQorIzogc2hhMS1maWxlLmM6MTc5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnN1ZmZpY2llbnQgcGVybWlzc2lvbiBmb3IgYWRkaW5nIGFuIG9iamVjdCB0byByZXBvc2l0b3J5IGRhdGFiYXNlICVzIgogbXNnc3RyICIiCiAia2jDtG5nIMSR4bunIHRo4bqpbSBxdXnhu4FuIMSR4buDIHRow6ptIG3hu5l0IMSR4buRaSB0xrDhu6NuZyB2w6BvIGPGoSBz4bufIGThu68gbGnhu4d1IGtobyBjaOG7qWEgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjE2MzcKKyM6IHNoYTEtZmlsZS5jOjE3OTkKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdOG6rXAgdGluIHThuqFtIHRo4budaSIKIAotIzogc2hhMS1maWxlLmM6MTY2MQotbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzaGExIGZpbGUiCi1tc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdsOgbyB04bqtcCB0aW4gc2hhMSIKKyM6IHNoYTEtZmlsZS5jOjE4MjMKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbG9vc2Ugb2JqZWN0IGZpbGUiCittc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIMSR4buRaSB0xrDhu6NuZyDEkcOjIG3huqV0IgogCi0jOiBzaGExLWZpbGUuYzoxNjY3CisjOiBzaGExLWZpbGUuYzoxODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBkZWZsYXRlIG5ldyBvYmplY3QgJXMgKCVkKSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHjhuqMgbsOpbiDEkeG7kWkgdMaw4bujbmcgbeG7m2kgJXMgKCVkKSIKIAotIzogc2hhMS1maWxlLmM6MTY3MQorIzogc2hhMS1maWxlLmM6MTgzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWZsYXRlRW5kIG9uIG9iamVjdCAlcyBmYWlsZWQgKCVkKSIKIG1zZ3N0ciAiZGVmbGF0ZUVuZCB0csOqbiDEkeG7kWkgdMaw4bujbmcgJXMgZ+G6t3AgbOG7l2kgKCVkKSIKIAotIzogc2hhMS1maWxlLmM6MTY3NQorIzogc2hhMS1maWxlLmM6MTgzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb25mdXNlZCBieSB1bnN0YWJsZSBvYmplY3Qgc291cmNlIGRhdGEgZm9yICVzIgogbXNnc3RyICJjaMawYSByw7UgcsOgbmcgYmFvd2lyIGThu68gbGnhu4d1IG5ndeG7k24gxJHhu5FpIHTGsOG7o25nIGtow7RuZyDhu5VuIMSR4buLbmggY2hvICVzIgogCi0jOiBzaGExLWZpbGUuYzoxNjg1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTE4CisjOiBzaGExLWZpbGUuYzoxODQ3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB1dGltZSgpIG9uICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSB1dGltZSgpIHRyw6puIOKAnCVz4oCdIgogCi0jOiBzaGExLWZpbGUuYzoxNzYwCisjOiBzaGExLWZpbGUuYzoxOTIyCiAjLCBjLWZvcm1hdAotbXNnaWQgImNhbm5vdCByZWFkIHNoYTFfZmlsZSBmb3IgJXMiCi1tc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgc2hhMV9maWxlIGNobyAlcyIKK21zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgZm9yICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIMSR4buRaSB0xrDhu6NuZyBjaG8gJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjE4MDUKKyM6IHNoYTEtZmlsZS5jOjE5NjIKIG1zZ2lkICJjb3JydXB0IGNvbW1pdCIKIG1zZ3N0ciAibOG6p24gY2h1eeG7g24gZ2lhbyBzYWkgaOG7j25nIgogCi0jOiBzaGExLWZpbGUuYzoxODEzCisjOiBzaGExLWZpbGUuYzoxOTcwCiBtc2dpZCAiY29ycnVwdCB0YWciCiBtc2dzdHIgInRo4bq7IHNhaSBo4buPbmciCiAKLSM6IHNoYTEtZmlsZS5jOjE5MTIKKyM6IHNoYTEtZmlsZS5jOjIwNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCBlcnJvciB3aGlsZSBpbmRleGluZyAlcyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kgxJHhu41jIGtoaSDEkcOhbmggbeG7pWMgbOG7pWMgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjE5MTUKKyM6IHNoYTEtZmlsZS5jOjIwNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hvcnQgcmVhZCB3aGlsZSBpbmRleGluZyAlcyIKIG1zZ3N0ciAia2jDtG5nIMSR4buNYyBuZ+G6r24ga2hpIMSRw6FuaCBt4bulYyBs4bulYyAlcyIKIAotIzogc2hhMS1maWxlLmM6MTk4OCBzaGExLWZpbGUuYzoxOTk3CisjOiBzaGExLWZpbGUuYzoyMTQ1IHNoYTEtZmlsZS5jOjIxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZhaWxlZCB0byBpbnNlcnQgaW50byBkYXRhYmFzZSIKIG1zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSB0aMOqbSB2w6BvIGPGoSBz4bufIGThu68gbGnhu4d1IgogCi0jOiBzaGExLWZpbGUuYzoyMDAzCisjOiBzaGExLWZpbGUuYzoyMTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBmaWxlIHR5cGUiCiBtc2dzdHIgIiVzOiBraeG7g3UgdOG6rXAgdGluIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIgogCi0jOiBzaGExLWZpbGUuYzoyMDI3CisjOiBzaGExLWZpbGUuYzoyMTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIG9iamVjdCIKIG1zZ3N0ciAiJXMga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgxJHhu5FpIHTGsOG7o25nIGjhu6NwIGzhu4ciCiAKLSM6IHNoYTEtZmlsZS5jOjIwMjkKKyM6IHNoYTEtZmlsZS5jOjIxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgJyVzJyBvYmplY3QiCiBtc2dzdHIgIiVzIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IMSR4buRaSB0xrDhu6NuZyDigJwlc+KAnSBo4bujcCBs4buHIgogCi0jOiBzaGExLWZpbGUuYzoyMDU2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NAorIzogc2hhMS1maWxlLmM6MjIxMyBidWlsdGluL2luZGV4LXBhY2suYzoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufICVzIgogCi0jOiBzaGExLWZpbGUuYzoyMjI2IHNoYTEtZmlsZS5jOjIyNzgKKyM6IHNoYTEtZmlsZS5jOjI0MDMgc2hhMS1maWxlLmM6MjQ1NQogIywgYy1mb3JtYXQKLW1zZ2lkICJzaGExIG1pc21hdGNoIGZvciAlcyAoZXhwZWN0ZWQgJXMpIgotbXNnc3RyICJzaGExIGtow7RuZyBraOG7m3AgY2hvICVzIChj4bqnbiAlcykiCittc2dpZCAiaGFzaCBtaXNtYXRjaCBmb3IgJXMgKGV4cGVjdGVkICVzKSIKK21zZ3N0ciAibcOjIGLEg20ga2jDtG5nIGto4bubcCBjaG8gJXMgKGPhuqduICVzKSIKIAotIzogc2hhMS1maWxlLmM6MjI1MAorIzogc2hhMS1maWxlLmM6MjQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbW1hcCAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIG1tYXAgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjIyNTUKKyM6IHNoYTEtZmlsZS5jOjI0MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayBoZWFkZXIgb2YgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaeG6o2kgZ8OzaSBwaOG6p24gxJHhuqd1IGPhu6dhIOKAnCVz4oCdIgogCi0jOiBzaGExLWZpbGUuYzoyMjYxCisjOiBzaGExLWZpbGUuYzoyNDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBoZWFkZXIgb2YgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBwaOG6p24gxJHhuqd1IGPhu6dhIOKAnCVz4oCdIgogCi0jOiBzaGExLWZpbGUuYzoyMjcyCisjOiBzaGExLWZpbGUuYzoyNDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1bnBhY2sgY29udGVudHMgb2YgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaeG6o2kgZ8OzaSBu4buZaSBkdW5nIGPhu6dhIOKAnCVz4oCdIgogCi0jOiBzaGExLW5hbWUuYzo0NzYKKyM6IHNoYTEtbmFtZS5jOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzaG9ydCBTSEExICVzIGlzIGFtYmlndW91cyIKIG1zZ3N0ciAidMOzbSBsxrDhu6NjIFNIQTEgJXMgY2jGsGEgcsO1IHLDoG5nIgogCi0jOiBzaGExLW5hbWUuYzo0ODcKKyM6IHNoYTEtbmFtZS5jOjQ5OAogbXNnaWQgIlRoZSBjYW5kaWRhdGVzIGFyZToiCiBtc2dzdHIgIkPDoWMg4bupbmcgY+G7rSBsw6A6IgogCi0jOiBzaGExLW5hbWUuYzo3NzAKKyM6IHNoYTEtbmFtZS5jOjc5NwogbXNnaWQgIiIKICJHaXQgbm9ybWFsbHkgbmV2ZXIgY3JlYXRlcyBhIHJlZiB0aGF0IGVuZHMgd2l0aCA0MCBoZXggY2hhcmFjdGVyc1xuIgogImJlY2F1c2UgaXQgd2lsbCBiZSBpZ25vcmVkIHdoZW4geW91IGp1c3Qgc3BlY2lmeSA0MC1oZXguIFRoZXNlIHJlZnNcbiIKICJtYXkgYmUgY3JlYXRlZCBieSBtaXN0YWtlLiBGb3IgZXhhbXBsZSxcbiIKICJcbiIKLSIgIGdpdCBjaGVja291dCAtYiAkYnIgJChnaXQgcmV2LXBhcnNlIC4uLilcbiIKKyIgIGdpdCBzd2l0Y2ggLWMgJGJyICQoZ2l0IHJldi1wYXJzZSAuLi4pXG4iCiAiXG4iCiAid2hlcmUgXCIkYnJcIiBpcyBzb21laG93IGVtcHR5IGFuZCBhIDQwLWhleCByZWYgaXMgY3JlYXRlZC4gUGxlYXNlXG4iCiAiZXhhbWluZSB0aGVzZSByZWZzIGFuZCBtYXliZSBkZWxldGUgdGhlbS4gVHVybiB0aGlzIG1lc3NhZ2Ugb2ZmIGJ5XG4iCkBAIC01ODYwLDcgKzc1NDYsNyBAQAogImLhu59pIHbDrCBuw7Mgc+G6vSBi4buLIGLhu48gcXVhIGtoaSBi4bqhbiBjaOG7iSDEkeG7i25oIDQwLWhleC4gTmjhu69uZyB0aGFtIGNoaeG6v3UgbsOgeVxuIgogImPDsyBs4bq9IMSRxrDhu6NjIHThuqFvIHJhIGLhu59pIG3hu5l0IHNhaSBzw7N0IG7DoG8gxJHDsy4gVsOtIGThu6UsXG4iCiAiXG4iCi0iICBnaXQgY2hlY2tvdXQgLWIgJGJyICQoZ2l0IHJldi1wYXJzZSDigKYpXG4iCisiICBnaXQgc3dpdGNoIC1jICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgogIlxuIgogInbhu5tpIFwiJGJyXCIga2jDtG5nIGhp4buDdSBsw70gZG8gdsOsIHNhbyB0cuG7kW5nIHLhu5duZyB2w6AgbeG7mXQgdGhhbSBjaGnhur91IDQwLWhleCDEkcaw4bujYyAiCiAidOG6oW8gcmEuXG4iCkBAIC01ODY4LDcyICs3NTU0LDE0MiBAQAogIm7DoHlcbiIKICJi4bqxbmcgY8OhY2ggY2jhuqF5IGzhu4duaCBcImdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNlXCIiCiAKLSM6IHN1Ym1vZHVsZS5jOjExNiBzdWJtb2R1bGUuYzoxNDUKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBnaWJpYnl0ZQorIzogc3RyYnVmLmM6ODIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IEdpQiIKK21zZ3N0ciAiJXUuJTIuMnUgR2lCIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggZ2liaWJ5dGUvc2Vjb25kCisjOiBzdHJidWYuYzo4MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgR2lCL3MiCittc2dzdHIgIiV1LiUyLjJ1IEdpQi9nacOieSIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IG1lYmlieXRlCisjOiBzdHJidWYuYzo4MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgTWlCIgorbXNnc3RyICIldS4lMi4ydSBNaUIiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBtZWJpYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjgzNAorIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBNaUIvcyIKK21zZ3N0ciAiJXUuJTIuMnUgTWlCL2dpw6J5IgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDgga2liaWJ5dGUKKyM6IHN0cmJ1Zi5jOjg0MQorIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBLaUIiCittc2dzdHIgIiV1LiUyLjJ1IEtpQiIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IGtpYmlieXRlL3NlY29uZAorIzogc3RyYnVmLmM6ODQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IEtpQi9zIgorbXNnc3RyICIldS4lMi4ydSBLaUIvZ2nDonkiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBieXRlCisjOiBzdHJidWYuYzo4NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUgYnl0ZSIKK21zZ2lkX3BsdXJhbCAiJXUgYnl0ZXMiCittc2dzdHJbMF0gIiV1IGJ5dGUiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBieXRlL3NlY29uZAorIzogc3RyYnVmLmM6ODUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiV1IGJ5dGUvcyIKK21zZ2lkX3BsdXJhbCAiJXUgYnl0ZXMvcyIKK21zZ3N0clswXSAiJXUgYnl0ZS9nacOieSIKKworIzogc3RyYnVmLmM6MTE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZWRpdCAnJXMnIgorbXNnc3RyICJraMO0bmcgdGjhu4Mgc+G7rWEg4oCcJXPigJ0iCisKKyM6IHN1Ym1vZHVsZS5jOjExNCBzdWJtb2R1bGUuYzoxNDMKIG1zZ2lkICJDYW5ub3QgY2hhbmdlIHVubWVyZ2VkIC5naXRtb2R1bGVzLCByZXNvbHZlIG1lcmdlIGNvbmZsaWN0cyBmaXJzdCIKIG1zZ3N0ciAiIgogIktow7RuZyB0aOG7gyB0aGF5IMSR4buVaSAuZ2l0bW9kdWxlcyBjaMawYSBow7JhIHRy4buZbiwgaMOjeSBnaeG6o2kgcXV54bq/dCB4dW5nIMSR4buZdCB0cuG7mW4gIgogInRyxrDhu5tjIgogCi0jOiBzdWJtb2R1bGUuYzoxMjAgc3VibW9kdWxlLmM6MTQ5CisjOiBzdWJtb2R1bGUuYzoxMTggc3VibW9kdWxlLmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHTDrG0gdGjhuqV5IHBo4bqnbiB0cm9uZyAuZ2l0bW9kdWxlcyBuxqFpIG3DoCDEkcaw4budbmdfZOG6q249JXMiCiAKLSM6IHN1Ym1vZHVsZS5jOjE1NgorIzogc3VibW9kdWxlLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgLmdpdG1vZHVsZXMgZW50cnkgZm9yICVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ+G7oSBi4buPIG3hu6VjIC5naXRtb2R1bGVzIGTDoG5oIGNobyAlcyIKIAotIzogc3VibW9kdWxlLmM6MTY3CisjOiBzdWJtb2R1bGUuYzoxNjUKIG1zZ2lkICJzdGFnaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdOG7lSBjaOG7qWMgLmdpdG1vZHVsZXMgxJHDoyBj4bqtcCBuaOG6rXQiCiAKLSM6IHN1Ym1vZHVsZS5jOjMyOQorIzogc3VibW9kdWxlLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImluIHVucG9wdWxhdGVkIHN1Ym1vZHVsZSAnJXMnIgotbXNnc3RyICJUcm9uZyBtw7QtxJF1bi1jb24ga2jDtG5nIGPDsyBnw6wg4oCcJXPigJ0iCittc2dzdHIgInRyb25nIG3DtC3EkXVuLWNvbiBraMO0bmcgY8OzIGfDrCDigJwlc+KAnSIKIAotIzogc3VibW9kdWxlLmM6MzYwCisjOiBzdWJtb2R1bGUuYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgogbXNnc3RyICLEkOG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0gdGjDrCDhu58gdHJvbmcgbcO0LcSRdW4tY29uIOKAnCUuKnPigJ0iCiAKLSM6IHN1Ym1vZHVsZS5jOjg1NworIzogc3VibW9kdWxlLmM6OTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgInN1Ym1vZHVsZSBlbnRyeSAnJXMnICglcykgaXMgYSAlcywgbm90IGEgY29tbWl0IgogbXNnc3RyICIiCiAibeG7pWMgdGluIG3DtC3EkXVuLWNvbiDigJwlc+KAnSAoJXMpIGzDoCBt4buZdCAlcywga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyIKIAotIzogc3VibW9kdWxlLmM6MTA5NyBidWlsdGluL2JyYW5jaC5jOjY1NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk4NQorIzogc3VibW9kdWxlLmM6MTE0NyBidWlsdGluL2JyYW5jaC5jOjY4MCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjAxNgogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlIEhFQUQgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgcGjDom4gZ2nhuqNpIEhFQUQgbmjGsCBsw6AgbeG7mXQgdGhhbSBjaGnhur91IGjhu6NwIGzhu4cuIgogCi0jOiBzdWJtb2R1bGUuYzoxNDA0CisjOiBzdWJtb2R1bGUuYzoxNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBhY2Nlc3Mgc3VibW9kdWxlICclcyciCittc2dzdHIgIktow7RuZyB0aOG7gyB0cnV5IGPhuq1wIG3DtC3EkXVuLWNvbiDigJwlc+KAnSIKKworIzogc3VibW9kdWxlLmM6MTY1MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIG5vdCByZWNvZ25pemVkIGFzIGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgImtow7RuZyBuaOG6rW4gcmEg4oCcJXPigJ0gbMOgIG3hu5l0IGtobyBnaXQiCiAKLSM6IHN1Ym1vZHVsZS5jOjE1NDIKKyM6IHN1Ym1vZHVsZS5jOjE3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXJ0ICdnaXQgc3RhdHVzJyBpbiBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRo4buRbmcga8OqIOKAnGdpdCBzdGF0dXPigJ0gdHJvbmcgbcO0LcSRdW4tY29uIOKAnCVz4oCdIgogCi0jOiBzdWJtb2R1bGUuYzoxNTU1CisjOiBzdWJtb2R1bGUuYzoxODAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBydW4gJ2dpdCBzdGF0dXMnIGluIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY2jhuqF5IOKAnGdpdCBzdGF0dXPigJ0gdHJvbmcgbcO0LcSRdW4tY29uIOKAnCVz4oCdIgogCi0jOiBzdWJtb2R1bGUuYzoxNjQ4CisjOiBzdWJtb2R1bGUuYzoxODE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1bnNldCBjb3JlLndvcmt0cmVlIHNldHRpbmcgaW4gc3VibW9kdWxlICclcyciCittc2dzdHIgIktow7RuZyB0aOG7gyDEkeG6t3QgY29yZS53b3JrdHJlZSB0cm9uZyBtw7QtxJF1bi1jb24g4oCcJXPigJ0iCisKKyM6IHN1Ym1vZHVsZS5jOjE5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3VibW9kdWxlICclcycgaGFzIGRpcnR5IGluZGV4IgogbXNnc3RyICJtw7QtxJF1bi1jb24g4oCcJXPigJ0gY8OzIG3hu6VjIGzhu6VjIGPDsm4gYuG6qW4iCiAKLSM6IHN1Ym1vZHVsZS5jOjE3MDAKKyM6IHN1Ym1vZHVsZS5jOjE5NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgY291bGQgbm90IGJlIHVwZGF0ZWQuIgogbXNnc3RyICJNw7QtxJF1bi1jb24g4oCcJXPigJ0ga2jDtG5nIHRo4buDIMSRxrDhu6NjIGPhuq1wIG5o4bqtdC4iCiAKLSM6IHN1Ym1vZHVsZS5jOjE3NDcKKyM6IHN1Ym1vZHVsZS5jOjIwMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VibW9kdWxlIGdpdCBkaXIgJyVzJyBpcyBpbnNpZGUgZ2l0IGRpciAnJS4qcyciCittc2dzdHIgInRoxrAgbeG7pWMgZ2l0IG3DtCDEkXVuIGNvbiAnJXMnIGzDoCBiw6puIHRyb25nIGdpdCBESVIgJyUuKnMnIgorCisjOiBzdWJtb2R1bGUuYzoyMDQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJyZWxvY2F0ZV9naXRkaXIgZm9yIHN1Ym1vZHVsZSAnJXMnIHdpdGggbW9yZSB0aGFuIG9uZSB3b3JrdHJlZSBub3Qgc3VwcG9ydGVkIgpAQCAtNTk0MSwxMiArNzY5NywxNyBAQAogInJlbG9jYXRlX2dpdGRpciBjaG8gbcO0LcSRdW4tY29uIOKAnCVz4oCdIHbhu5tpIG5oaeG7gXUgaMahbiBt4buZdCBjw6J5IGzDoG0gdmnhu4djIGzDoCBjaMawYSAiCiAixJHGsOG7o2MgaOG7lyB0cuG7oyIKIAotIzogc3VibW9kdWxlLmM6MTc1OSBzdWJtb2R1bGUuYzoxODE1CisjOiBzdWJtb2R1bGUuYzoyMDYwIHN1Ym1vZHVsZS5jOjIxMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBuYW1lIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHTDrG0ga2nhur9tIHTDqm4gY2hvIG3DtC3EkXVuLWNvbiDigJwlc+KAnSIKIAotIzogc3VibW9kdWxlLmM6MTc2NgorIzogc3VibW9kdWxlLmM6MjA2NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZ1c2luZyB0byBtb3ZlICclcycgaW50byBhbiBleGlzdGluZyBnaXQgZGlyIgorbXNnc3RyICJ04burIGNo4buRaSBkaSBjaHV54buDbiAnICVzICcgdsOgbyB0cm9uZyBt4buZdCB0aMawIG3hu6VjIGdpdCBz4bq1biBjw7MiCisKKyM6IHN1Ym1vZHVsZS5jOjIwNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk1pZ3JhdGluZyBnaXQgZGlyZWN0b3J5IG9mICclcyVzJyBmcm9tXG4iCkBAIC01OTU3LDQyICs3NzE4LDQyIEBACiAi4oCcJXPigJ0gc2FuZ1xuIgogIuKAnCVz4oCdXG4iCiAKLSM6IHN1Ym1vZHVsZS5jOjE4NTAKKyM6IHN1Ym1vZHVsZS5jOjIxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buHIHF1eSB2w6BvIHRyb25nIG3DtC3EkXVuLWNvbiDigJwlc+KAnSIKIAotIzogc3VibW9kdWxlLmM6MTg5NAorIzogc3VibW9kdWxlLmM6MjE5OAogbXNnaWQgImNvdWxkIG5vdCBzdGFydCBscy1maWxlcyBpbiAuLiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRow7RuZyB0aW4gdGjhu5FuZyBrw6ogduG7gSBscy1maWxlcyB0cm9uZyAuLiIKIAotIzogc3VibW9kdWxlLmM6MTkzMworIzogc3VibW9kdWxlLmM6MjIzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJscy10cmVlIHJldHVybmVkIHVuZXhwZWN0ZWQgcmV0dXJuIGNvZGUgJWQiCiBtc2dzdHIgImxzLXRyZWUgdHLhuqMgduG7gSBtw6Mga2jDtG5nIG5oxrAgbW9uZyDEkeG7o2kgJWQiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzoyMzIKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3Jpbmcgc3VzcGljaW91cyBzdWJtb2R1bGUgbmFtZTogJXMiCiBtc2dzdHIgIsSRYW5nIGzhu50gxJFpIHTDqm4gbcO0LcSRdW4tY29uIG3huq1wIG3hu506ICVzIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6Mjk2CisjOiBzdWJtb2R1bGUtY29uZmlnLmM6MzAzCiBtc2dpZCAibmVnYXRpdmUgdmFsdWVzIG5vdCBhbGxvd2VkIGZvciBzdWJtb2R1bGUuZmV0Y2hqb2JzIgogbXNnc3RyICJraMO0bmcgY2hvIHBow6lwIGdpw6EgdHLhu4sgw6JtIOG7nyBzdWJtb2R1bGUuZmV0Y2hKb2JzIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6MzkwCisjOiBzdWJtb2R1bGUtY29uZmlnLmM6NDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nICclcycgd2hpY2ggbWF5IGJlIGludGVycHJldGVkIGFzIGEgY29tbWFuZC1saW5lIG9wdGlvbjogJXMiCiBtc2dzdHIgIiIKICLEkWFuZyBi4buPIHF1YSDigJwlc+KAnSBjw6FpIG3DoCBjw7MgdGjhu4MgxJHGsOG7o2MgcGhpw6puIGThu4tjaCBuaMawIGzDoCBt4buZdCB0w7l5IGNo4buNbiBkw7JuZyAiCiAibOG7h25oOiAlcyIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjQ3OQorIzogc3VibW9kdWxlLWNvbmZpZy5jOjQ5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlcyIKIG1zZ3N0ciAiZ2nDoSB0cuG7iyBjaG8gJXMga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzo3NTQKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo3NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCBt4bulYyAuZ2l0bW9kdWxlcyAlcyIKQEAgLTYwMjcsNyArNzc4OCw3IEBACiBtc2dpZCAiY291bGQgbm90IHJlYWQgZnJvbSBzdGRpbiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4iCiAKLSM6IHRyYWlsZXIuYzoxMDExIGJ1aWx0aW4vYW0uYzo0NworIzogdHJhaWxlci5jOjEwMTEgd3JhcHBlci5jOjY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRow7RuZyB0aW4gdGjhu5FuZyBrw6ogduG7gSAlcyIKQEAgLTYwNTYsMzkgKzc4MTcsNDcgQEAKIG1zZ2lkICJXb3VsZCBzZXQgdXBzdHJlYW0gb2YgJyVzJyB0byAnJXMnIG9mICclcydcbiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4bq3dCB0aMaw4bujbmcgbmd14buTbiBj4bunYSDigJwlc+KAnSB0aMOgbmgg4oCcJXPigJ0gY+G7p2Eg4oCcJXPigJ1cbiIKIAotIzogdHJhbnNwb3J0LmM6MTQyCisjOiB0cmFuc3BvcnQuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgYnVuZGxlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgYsOzIOKAnCVz4oCdIgogCi0jOiB0cmFuc3BvcnQuYzoyMDgKKyM6IHRyYW5zcG9ydC5jOjIxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFuc3BvcnQ6IGludmFsaWQgZGVwdGggb3B0aW9uICclcyciCiBtc2dzdHIgInbhuq1uIGNodXnhu4NuOiB0w7l5IGNo4buNbiDEkeG7mSBzw6J1IOKAnCVz4oCdIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiB0cmFuc3BvcnQuYzo2MTYKKyM6IHRyYW5zcG9ydC5jOjI2NgorbXNnaWQgInNlZSBwcm90b2NvbC52ZXJzaW9uIGluICdnaXQgaGVscCBjb25maWcnIGZvciBtb3JlIGRldGFpbHMiCittc2dzdHIgInhlbSBwcm90b2NvbC52ZXJzaW9uIHRyb25nIOKAnGdpdCBoZWxwIGNvbmZpZ+KAnSDEkeG7gyBjw7MgdGjDqm0gdGjDtG5nIHRpbiIKKworIzogdHJhbnNwb3J0LmM6MjY3Cittc2dpZCAic2VydmVyIG9wdGlvbnMgcmVxdWlyZSBwcm90b2NvbCB2ZXJzaW9uIDIgb3IgbGF0ZXIiCittc2dzdHIgImPDoWMgdMO5eSBjaOG7jW4gbcOheSBjaOG7pyB5w6p1IGPhuqd1IGdpYW8gdGjhu6ljIHBoacOqbiBi4bqjbiAyIGhv4bq3YyBt4bubaSBoxqFuIgorCisjOiB0cmFuc3BvcnQuYzo2MzIKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgdHJhbnNwb3J0LmNvbG9yLiogY29uZmlnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggY8O6IHBow6FwIGPhuqV1IGjDrG5oIHRyYW5zcG9ydC5jb2xvci4qIgogCi0jOiB0cmFuc3BvcnQuYzo2ODkKKyM6IHRyYW5zcG9ydC5jOjcwNQogbXNnaWQgInN1cHBvcnQgZm9yIHByb3RvY29sIHYyIG5vdCBpbXBsZW1lbnRlZCB5ZXQiCiBtc2dzdHIgInZp4buHYyBo4buXIHRy4bujIGdpYW8gdGjhu6ljIHYyIGNoxrBhIMSRxrDhu6NjIHRo4buxYyBoaeG7h24iCiAKLSM6IHRyYW5zcG9ydC5jOjgxNgorIzogdHJhbnNwb3J0LmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gdmFsdWUgZm9yIGNvbmZpZyAnJXMnOiAlcyIKIG1zZ3N0ciAia2jDtG5nIGhp4buDdSBnacOhIHRy4buLIGNobyBjaG8gY+G6pXUgaMOsbmgg4oCcJXPigJ06ICVzIgogCi0jOiB0cmFuc3BvcnQuYzo4ODIKKyM6IHRyYW5zcG9ydC5jOjg5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFuc3BvcnQgJyVzJyBub3QgYWxsb3dlZCIKIG1zZ3N0ciAia2jDtG5nIGNobyBwaMOpcCBwaMawxqFuZyB0aOG7qWMgduG6rW4gY2h1eeG7g24g4oCcJXPigJ0iCiAKLSM6IHRyYW5zcG9ydC5jOjkzNgorIzogdHJhbnNwb3J0LmM6OTQ5CiBtc2dpZCAiZ2l0LW92ZXItcnN5bmMgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCIKIG1zZ3N0ciAiZ2l0LW92ZXItcnN5bmMga2jDtG5nIGPDsm4gxJHGsOG7o2MgaOG7lyB0cuG7oyBu4buvYSIKIAotIzogdHJhbnNwb3J0LmM6MTAzMQorIzogdHJhbnNwb3J0LmM6MTA0NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBzdWJtb2R1bGUgcGF0aHMgY29udGFpbiBjaGFuZ2VzIHRoYXQgY2FuXG4iCkBAIC02MDk3LDcgKzc4NjYsNyBAQAogIkPDoWMgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiBzYXUgxJHDonkgY8OzIGNo4bupYSBjw6FjIHRoYXkgxJHhu5VpIGPDoWkgbcOgXG4iCiAiY8OzIHRo4buDIMSRxrDhu6NjIHTDrG0gdGjhuqV5IHRyw6puIG3hu41pIG3DoXkgcGjhu6VjIHbhu6U6XG4iCiAKLSM6IHRyYW5zcG9ydC5jOjEwMzUKKyM6IHRyYW5zcG9ydC5jOjEwNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNjEyNCwzNyArNzg5MywzMiBAQAogIsSR4buDIMSR4bqpeSBjaMO6bmcgbMOqbiBtw6F5IHBo4bulYyB24bulLlxuIgogIlxuIgogCi0jOiB0cmFuc3BvcnQuYzoxMDQzCisjOiB0cmFuc3BvcnQuYzoxMDU2CiBtc2dpZCAiQWJvcnRpbmcuIgogbXNnc3RyICJCw6NpIGLhu48uIgogCi0jOiB0cmFuc3BvcnQuYzoxMTgyCisjOiB0cmFuc3BvcnQuYzoxMjAxCiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggYWxsIG5lZWRlZCBzdWJtb2R1bGVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhuql5IGThu68gbGnhu4d1IGPhu6dhIHThuqV0IGPhuqMgY8OhYyBtw7QtxJF1bi1jb24gY+G6p24gdGhp4bq/dCIKIAotIzogdHJhbnNwb3J0LmM6MTMxNSB0cmFuc3BvcnQtaGVscGVyLmM6NjQzCisjOiB0cmFuc3BvcnQuYzoxMzQ1IHRyYW5zcG9ydC1oZWxwZXIuYzo2NTYKIG1zZ2lkICJvcGVyYXRpb24gbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbCIKIG1zZ3N0ciAidGhhbyB0w6FjIGtow7RuZyDEkcaw4bujYyBnaWEgdGjhu6ljIGjhu5cgdHLhu6MiCiAKLSM6IHRyYW5zcG9ydC5jOjE0MTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBsaW5lIHdoaWxlIHBhcnNpbmcgYWx0ZXJuYXRlIHJlZnM6ICVzIgotbXNnc3RyICJkw7JuZyBraMO0bmcgaOG7o3AgbOG7hyB0cm9uZyBraGkgcGjDom4gdMOtY2ggY8OhYyB0aGFtIGNoaeG6v3UgdGhheSB0aOG6vzogJXMiCi0KLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MSB0cmFuc3BvcnQtaGVscGVyLmM6ODAKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2MSB0cmFuc3BvcnQtaGVscGVyLmM6OTAKIG1zZ2lkICJmdWxsIHdyaXRlIHRvIHJlbW90ZSBoZWxwZXIgZmFpbGVkIgogbXNnc3RyICJnaGkgxJHhuqd5IMSR4bunIGzDqm4gYuG7mSBo4buXIHRy4bujIG3DoXkgY2jhu6cgZ+G6t3AgbOG7l2kiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGZpbmQgcmVtb3RlIGhlbHBlciBmb3IgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHTDrG0gdGjhuqV5IGLhu5kgaOG7lyB0cuG7oyBtw6F5IGNo4bunIGNobyDigJwlc+KAnSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjE0OCB0cmFuc3BvcnQtaGVscGVyLmM6NTU3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTYwIHRyYW5zcG9ydC1oZWxwZXIuYzo1NzAKIG1zZ2lkICJjYW4ndCBkdXAgaGVscGVyIG91dHB1dCBmZCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIG5ow6JuIMSRw7RpIGZkIGThuqd1IHJhIGLhu5kgaOG7lyB0cuG7oyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjE5OQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjIxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidW5rbm93biBtYW5kYXRvcnkgY2FwYWJpbGl0eSAlczsgdGhpcyByZW1vdGUgaGVscGVyIHByb2JhYmx5IG5lZWRzIG5ld2VyICIKQEAgLTYxNjMsOTkgKzc5MjcsMTA0IEBACiAia2jDtG5nIGhp4buDdSBjYXBhYmlsaXR5IGLhuq90IGJ14buZYyAlczsgYuG7mSBo4buXIHRy4bujIG3DoXkgY2jhu6cgbsOgeSBn4bqnbiBuaMawIGNo4bqvYyBjaOG6r24gIgogImzDoCBj4bqnbiBwaGnDqm4gYuG6o24gR2l0IG3hu5tpIGjGoW4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoyMDUKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoyMTcKIG1zZ2lkICJ0aGlzIHJlbW90ZSBoZWxwZXIgc2hvdWxkIGltcGxlbWVudCByZWZzcGVjIGNhcGFiaWxpdHkiCiBtc2dzdHIgImLhu5kgaOG7lyB0cuG7oyBtw6F5IGNo4bunIG7DoHkgY+G6p24gcGjhuqNpIHRo4buxYyB0aGkgY2FwYWJpbGl0eSDEkeG6t2MgdOG6oyB0aGFtIGNoaeG6v3UiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoyNzIgdHJhbnNwb3J0LWhlbHBlci5jOjQxMgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjI4NCB0cmFuc3BvcnQtaGVscGVyLmM6NDI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHVuZXhwZWN0ZWRseSBzYWlkOiAnJXMnIgogbXNnc3RyICIlcyBzYWlkIGLhuqV0IG5n4budOiDigJwlc+KAnSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjQwMQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjQxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBhbHNvIGxvY2tlZCAlcyIKIG1zZ3N0ciAiJXMgY8Wpbmcga2jDs2EgJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo0NzkKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo0OTIKIG1zZ2lkICJjb3VsZG4ndCBydW4gZmFzdC1pbXBvcnQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBjaOG6oXkgZmFzdC1pbXBvcnQiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MDIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MTUKIG1zZ2lkICJlcnJvciB3aGlsZSBydW5uaW5nIGZhc3QtaW1wb3J0IgogbXNnc3RyICJn4bq3cCBs4buXaSB0cm9uZyBraGkgY2jhuqF5IGZhc3QtaW1wb3J0IgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NTMxIHRyYW5zcG9ydC1oZWxwZXIuYzoxMDkxCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NTQ0IHRyYW5zcG9ydC1oZWxwZXIuYzoxMTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIHJlZiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyB0aGFtIGNoaeG6v3UgJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1NzYKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biByZXNwb25zZSB0byBjb25uZWN0OiAlcyIKIG1zZ3N0ciAia2jDtG5nIGhp4buDdSDEkcOhcCDhu6luZyDEkeG7gyBr4bq/dCBu4buRaTogJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1OTgKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2MTEKIG1zZ2lkICJzZXR0aW5nIHJlbW90ZSBzZXJ2aWNlIHBhdGggbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbCIKIG1zZ3N0ciAiZ2lhbyB0aOG7qWMgbsOgeSBraMO0bmcgaOG7lyB0cuG7oyBjw6BpIMSR4bq3dCDEkcaw4budbmcgZOG6q24gZOG7i2NoIHbhu6UgbcOheSBjaOG7pyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjYwMAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjYxMwogbXNnaWQgImludmFsaWQgcmVtb3RlIHNlcnZpY2UgcGF0aCIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIGThu4tjaCB24bulIG3DoXkgY2jhu6cga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2NDYKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3QgY29ubmVjdCB0byBzdWJzZXJ2aWNlICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4Mga+G6v3QgbuG7kWkgxJHhur9uIGThu4tjaCB24bulIHBo4bulICVzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NzEzCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIG9rL2Vycm9yLCBoZWxwZXIgc2FpZCAnJXMnIgogbXNnc3RyICJj4bqnbiBvay9lcnJvciwgbmjGsG5nIGLhu5kgaOG7lyB0cuG7oyBs4bqhaSBuw7NpIOKAnCVz4oCdIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NzY2CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6Nzg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlbHBlciByZXBvcnRlZCB1bmV4cGVjdGVkIHN0YXR1cyBvZiAlcyIKIG1zZ3N0ciAiYuG7mSBo4buXIHRy4bujIGLDoW8gY8OhbyBy4bqxbmcga2jDtG5nIGPhuqduIHTDrG5oIHRy4bqhbmcgY+G7p2EgJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4MjcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgZHJ5LXJ1biIKIG1zZ3N0ciAiaGVscGVyICVzIGtow7RuZyBo4buXIHRy4bujIGRyeS1ydW4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4MzAKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQiCiBtc2dzdHIgImhlbHBlciAlcyBraMO0bmcgaOG7lyB0cuG7oyAtLXNpZ25lZCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjgzMworIzogdHJhbnNwb3J0LWhlbHBlci5jOjg1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAtLXNpZ25lZD1pZi1hc2tlZCIKIG1zZ3N0ciAiaGVscGVyICVzIGtow7RuZyBo4buXIHRy4bujIC0tc2lnbmVkPWlmLWFza2VkIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6ODQwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIgorbXNnc3RyICJoZWxwZXIgJXMga2jDtG5nIGjhu5cgdHLhu6MgLS1hdG9taWMiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgJ3B1c2gtb3B0aW9uJyIKIG1zZ3N0ciAiaGVscGVyICVzIGtow7RuZyBo4buXIHRy4bujIOKAnHB1c2gtb3B0aW9u4oCdIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6OTMyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6OTY0CiBtc2dpZCAicmVtb3RlLWhlbHBlciBkb2Vzbid0IHN1cHBvcnQgcHVzaDsgcmVmc3BlYyBuZWVkZWQiCiBtc2dzdHIgInJlbW90ZS1oZWxwZXIga2jDtG5nIGjhu5cgdHLhu6MgcHVzaDsgY+G6p24gxJHhurdjIHThuqMgdGhhbSBjaGnhur91IgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6OTM3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6OTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0ICdmb3JjZSciCiBtc2dzdHIgImhlbHBlciAlcyBraMO0bmcgaOG7lyB0cuG7oyDigJxmb3JjZeKAnSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjk4NAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwMTYKIG1zZ2lkICJjb3VsZG4ndCBydW4gZmFzdC1leHBvcnQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBjaOG6oXkgZmFzdC1leHBvcnQiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5ODkKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDIxCiBtc2dpZCAiZXJyb3Igd2hpbGUgcnVubmluZyBmYXN0LWV4cG9ydCIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kgdHJvbmcga2hpIGNo4bqheSBmYXN0LWV4cG9ydCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwMTQKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyByZWZzIGluIGNvbW1vbiBhbmQgbm9uZSBzcGVjaWZpZWQ7IGRvaW5nIG5vdGhpbmcuXG4iCkBAIC02MjY1LDQ3ICs4MDM0LDQ3IEBACiAiY+G6oy5cbiIKICJUdXkgbmhpw6puIGLhuqFuIG7Dqm4gY2jhu4kgxJHhu4tuaCBt4buZdCBuaMOhbmggbmjGsCDigJxtYXN0ZXLigJ0gY2jhurNuZyBo4bqhbi5cbiIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwNzcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCByZXNwb25zZSBpbiByZWYgbGlzdDogJXMiCiBtc2dzdHIgIsSRw6FwIOG7qW5nIHNhaSBk4bqhbmcgdHJvbmcgZGFuaCBzw6FjaCB0aGFtIGNoaeG6v3U6ICVzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTIzMQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCglcykgZmFpbGVkIgogbXNnc3RyICJyZWFkKCVzKSBn4bq3cCBs4buXaSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEyNTgKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIndyaXRlKCVzKSBmYWlsZWQiCiBtc2dzdHIgIndyaXRlKCVzKSBn4bq3cCBs4buXaSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMDcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHRocmVhZCBmYWlsZWQiCiBtc2dzdHIgInR1eeG6v24gdHLDrG5oICVzIGfhurdwIGzhu5dpIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTMxMQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdGhyZWFkIGZhaWxlZCB0byBqb2luOiAlcyIKIG1zZ3N0ciAidHV54bq/biB0csOsbmggJXMgZ+G6t3AgbOG7l2kga2hpIGdpYSBuaOG6rXA6ICVzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTMzMCB0cmFuc3BvcnQtaGVscGVyLmM6MTMzNAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNzAgdHJhbnNwb3J0LWhlbHBlci5jOjEzNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3Qgc3RhcnQgdGhyZWFkIGZvciBjb3B5aW5nIGRhdGE6ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4Mga2jhu59pIGNo4bqheSB0dXnhur9uIHRyw6xuaCDEkeG7gyBzYW8gY2jDqXAgZOG7ryBsaeG7h3U6ICVzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM3MQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjE0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcHJvY2VzcyBmYWlsZWQgdG8gd2FpdCIKIG1zZ3N0ciAieOG7rSBsw70gJXMgZ+G6t3AgbOG7l2kga2hpIMSR4bujaSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNzUKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHByb2Nlc3MgZmFpbGVkIgogbXNnc3RyICJ44butIGzDvSAlcyBn4bq3cCBs4buXaSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzOTMgdHJhbnNwb3J0LWhlbHBlci5jOjE0MDIKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDMzIHRyYW5zcG9ydC1oZWxwZXIuYzoxNDQyCiBtc2dpZCAiY2FuJ3Qgc3RhcnQgdGhyZWFkIGZvciBjb3B5aW5nIGRhdGEiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBraOG7n2kgY2jhuqF5IHR1eeG6v24gdHLDrG5oIGNobyB2aeG7h2MgY2jDqXAgZOG7ryBsaeG7h3UiCiAKQEAgLTYzMjEsMTEgKzgwOTAsMTYgQEAKIG1zZ2lkICJlbXB0eSBmaWxlbmFtZSBpbiB0cmVlIGVudHJ5IgogbXNnc3RyICJ0w6puIHThuq1wIHRpbiB0cuG7kW5nIHLhu5duZyB0cm9uZyBt4bulYyB0aW4gY8OieSIKIAotIzogdHJlZS13YWxrLmM6MTE1CisjOiB0cmVlLXdhbGsuYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlbmFtZSBpbiB0cmVlIGVudHJ5IGNvbnRhaW5zIGJhY2tzbGFzaDogJyVzJyIKK21zZ3N0ciAidMOqbiB04bqtcCB0aW4gdHJvbmcgbeG7pWMgdGluIGPDonkgY8OzIGNo4bupYSBrw70gdOG7sSBn4bqhY2ggbmfGsOG7o2M6ICclcyciCisKKyM6IHRyZWUtd2Fsay5jOjEyNAogbXNnaWQgInRvby1zaG9ydCB0cmVlIGZpbGUiCiBtc2dzdHIgInThuq1wIHRpbiBjw6J5IHF1w6Egbmfhuq9uIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTIKKyM6IHVucGFjay10cmVlcy5jOjExMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCkBAIC02MzM2LDcgKzgxMTAsNyBAQAogIiUlc1Z1aSBsw7JuZyBjaHV54buDbiBnaWFvIGPDoWMgdGhheSDEkeG7lWkgaGF5IHThuqFtIGPhuqV0IGNow7puZyDEkWkgdHLGsOG7m2Mga2hpIGLhuqFuICIKICJjaHV54buDbiBuaMOhbmguIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTQKKyM6IHVucGFjay10cmVlcy5jOjExMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6XG4iCkBAIC02MzQ2LDcgKzgxMjAsNyBAQAogImNoZWNrb3V0OlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTE3CisjOiB1bnBhY2stdHJlZXMuYzoxMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtNjM1Nyw3ICs4MTMxLDcgQEAKICIlJXNWdWkgbMOybmcgY2h1eeG7g24gZ2lhbyBjw6FjIHRoYXkgxJHhu5VpIGhheSB04bqhbSBj4bqldCBjaMO6bmcgxJFpIHRyxrDhu5tjIGtoaSBi4bqhbiBow7JhICIKICJ0cuG7mW4uIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTkKKyM6IHVucGFjay10cmVlcy5jOjExNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC02MzY3LDcgKzgxNDEsNyBAQAogImjDsmEgdHLhu5luOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTIyCisjOiB1bnBhY2stdHJlZXMuYzoxMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtNjM3Nyw3ICs4MTUxLDcgQEAKICIlczpcbiIKICIlJXNWdWkgbMOybmcgY2h1eeG7g24gZ2lhbyBjw6FjIHRoYXkgxJHhu5VpIGhheSB04bqhbSBj4bqldCBjaMO6bmcgxJFpIHRyxrDhu5tjIGtoaSBi4bqhbiAlcy4iCiAKLSM6IHVucGFjay10cmVlcy5jOjEyNAorIzogdW5wYWNrLXRyZWVzLmM6MTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTYzODcsNyArODE2MSw3IEBACiAiJXM6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMjkKKyM6IHVucGFjay10cmVlcy5jOjEyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXBkYXRpbmcgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyB3b3VsZCBsb3NlIHVudHJhY2tlZCBmaWxlcyBpbiB0aGVtOlxuIgpAQCAtNjM5Nyw3ICs4MTcxLDcgQEAKICJ0cm9uZyBuw7M6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzMworIzogdW5wYWNrLXRyZWVzLmM6MTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKQEAgLTY0MDcsNyArODE4MSw3IEBACiAiY2hlY2tvdXQ6XG4iCiAiJSVzVnVpIGzDsm5nIGRpIGNodXnhu4NuIGhheSBn4buhIGLhu48gY2jDum5nIHRyxrDhu5tjIGtoaSBi4bqhbiBjaHV54buDbiBuaMOhbmguIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzUKKyM6IHVucGFjay10cmVlcy5jOjEzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCkBAIC02NDE3LDcgKzgxOTEsNyBAQAogImNoZWNrb3V0OlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTM4CisjOiB1bnBhY2stdHJlZXMuYzoxMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgpAQCAtNjQyNyw3ICs4MjAxLDcgQEAKICJ0cuG7mW46XG4iCiAiJSVzVnVpIGzDsm5nIGRpIGNodXnhu4NuIGhheSBn4buhIGLhu48gY2jDum5nIHRyxrDhu5tjIGtoaSBi4bqhbiBow7JhIHRy4buZbi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE0MAorIzogdW5wYWNrLXRyZWVzLmM6MTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKQEAgLTY0MzcsNyArODIxMSw3IEBACiAidHLhu5luOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQzCisjOiB1bnBhY2stdHJlZXMuYzoxNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgpAQCAtNjQ0Niw3ICs4MjIwLDcgQEAKICJDw6FjIHThuq1wIHRpbiBjw6J5IGzDoG0gdmnhu4djIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSBzYXUgxJHDonkgc+G6vSBi4buLIGfhu6EgYuG7jyBi4bufaSAlczpcbiIKICIlJXNWdWkgbMOybmcgZGkgY2h1eeG7g24gaGF5IGfhu6EgYuG7jyBjaMO6bmcgdHLGsOG7m2Mga2hpIGLhuqFuICVzLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTQ1CisjOiB1bnBhY2stdHJlZXMuYzoxNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5ICVzOlxuIgpAQCAtNjQ1NSwyOSArODIyOSwyOSBAQAogIkPDoWMgdOG6rXAgdGluIGPDonkgbMOgbSB2aeG7h2MgY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpIHNhdSDEkcOieSBz4bq9IGLhu4sgZ+G7oSBi4buPIGLhu59pICVzOlxuIgogIiUlcyIKIAorIzogdW5wYWNrLXRyZWVzLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgorImNoZWNrb3V0OlxuIgorIiUlc1BsZWFzZSBtb3ZlIG9yIHJlbW92ZSB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKK21zZ3N0ciAiIgorIkPDoWMgdOG6rXAgdGluIGPDonkgbMOgbSB2aeG7h2MgY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpIHNhdSDEkcOieSBz4bq9IGLhu4sgZ2hpIMSRw6ggYuG7n2kgbOG7h25oICIKKyJjaGVja291dDpcbiIKKyIlJXNWdWkgbMOybmcgZGkgY2h1eeG7g24gaGF5IGfhu6EgYuG7jyBjaMO6bmcgdHLGsOG7m2Mga2hpIGLhuqFuIGNodXnhu4NuIG5ow6FuaC4iCisKICM6IHVucGFjay10cmVlcy5jOjE1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICIKICJjaGVja291dDpcbiIKLSIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IHN3aXRjaCBicmFuY2hlcy4iCi1tc2dzdHIgIiIKLSJDw6FjIHThuq1wIHRpbiBjw6J5IGzDoG0gdmnhu4djIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSBzYXUgxJHDonkgc+G6vSBi4buLIGdoaSDEkcOoIGLhu59pIGzhu4duaCAiCi0iY2hlY2tvdXQ6XG4iCi0iJSVzVnVpIGzDsm5nIGRpIGNodXnhu4NuIGhheSBn4buhIGLhu48gY2jDum5nIHRyxrDhu5tjIGtoaSBi4bqhbiBjaHV54buDbiBuaMOhbmguIgotCi0jOiB1bnBhY2stdHJlZXMuYzoxNTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCi0iY2hlY2tvdXQ6XG4iCiAiJSVzIgogbXNnc3RyICIiCiAiQ8OhYyB04bqtcCB0aW4gY8OieSBsw6BtIHZp4buHYyBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkgc2F1IMSRw6J5IHPhur0gYuG7iyBnaGkgxJHDqCBi4bufaSBs4buHbmggIgogImNoZWNrb3V0OlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTU2CisjOiB1bnBhY2stdHJlZXMuYzoxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKQEAgLTY0ODcsNyArODI2MSw3IEBACiAiaMOyYSB0cuG7mW46XG4iCiAiJSVzVnVpIGzDsm5nIGRpIGNodXnhu4NuIGhheSBn4buhIGLhu48gY2jDum5nIHRyxrDhu5tjIGtoaSBi4bqhbiBow7JhIHRy4buZbi4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE1OAorIzogdW5wYWNrLXRyZWVzLmM6MTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC02NDk3LDcgKzgyNzEsNyBAQAogImjDsmEgdHLhu5luOlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTYxCisjOiB1bnBhY2stdHJlZXMuYzoxNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTY1MDcsNyArODI4MSw3IEBACiAiJXM6XG4iCiAiJSVzVnVpIGzDsm5nIGRpIGNodXnhu4NuIGhheSBn4buhIGLhu48gY2jDum5nIHRyxrDhu5tjIGtoaSBi4bqhbiAlcy4iCiAKLSM6IHVucGFjay10cmVlcy5jOjE2MworIzogdW5wYWNrLXRyZWVzLmM6MTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCkBAIC02NTE3LDEyICs4MjkxLDEyIEBACiAiJXM6XG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNzEKKyM6IHVucGFjay10cmVlcy5jOjE2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJFbnRyeSAnJXMnIG92ZXJsYXBzIHdpdGggJyVzJy4gIENhbm5vdCBiaW5kLiIKIG1zZ3N0ciAiTeG7pWMg4oCcJXPigJ0gxJHDqCBsw6puIOKAnCVz4oCdLiBLaMO0bmcgdGjhu4MgYnXhu5ljLiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTc0CisjOiB1bnBhY2stdHJlZXMuYzoxNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNhbm5vdCB1cGRhdGUgc3BhcnNlIGNoZWNrb3V0OiB0aGUgZm9sbG93aW5nIGVudHJpZXMgYXJlIG5vdCB1cCB0byBkYXRlOlxuIgpAQCAtNjUzMSw3ICs4MzA1LDcgQEAKICJLaMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10IGNoZWNrb3V0IHLhuqNpIHLDoWM6IGPDoWMgbeG7pWMgdGluIHNhdSDEkcOieSBjaMawYSBj4bqtcCBuaOG6rXQ6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE3NgorIzogdW5wYWNrLXRyZWVzLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBzcGFyc2UgY2hlY2tvdXQgIgpAQCAtNjU0Miw3ICs4MzE2LDcgQEAKICJuaOG6rXQgY2hlY2tvdXQgcuG6o2kgcsOhYzpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTc4CisjOiB1bnBhY2stdHJlZXMuYzoxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgc3BhcnNlIGNoZWNrb3V0ICIKQEAgLTY1NTMsNyArODMyNyw3IEBACiAibmjhuq10IGNoZWNrb3V0IHLhuqNpIHLDoWM6XG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE4MAorIzogdW5wYWNrLXRyZWVzLmM6MTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDYW5ub3QgdXBkYXRlIHN1Ym1vZHVsZTpcbiIKQEAgLTY1NjIsMTYgKzgzMzYsMTYgQEAKICJLaMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10IG3DtC3EkXVuLWNvbjpcbiIKICIlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MjU0CisjOiB1bnBhY2stdHJlZXMuYzoyNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmdcbiIKIG1zZ3N0ciAiQsOjaSBi4buPXG4iCiAKLSM6IHVucGFjay10cmVlcy5jOjMzNgotbXNnaWQgIkNoZWNraW5nIG91dCBmaWxlcyIKLW1zZ3N0ciAixJBhbmcgbOG6pXkgcmEgY8OhYyB04bqtcCB0aW4iCisjOiB1bnBhY2stdHJlZXMuYzozMTcKK21zZ2lkICJVcGRhdGluZyBmaWxlcyIKK21zZ3N0ciAixJBhbmcgY+G6rXAgbmjhuq10IGPDoWMgdOG6rXAgdGluIgogCi0jOiB1bnBhY2stdHJlZXMuYzozNjgKKyM6IHVucGFjay10cmVlcy5jOjM0OQogbXNnaWQgIiIKICJ0aGUgZm9sbG93aW5nIHBhdGhzIGhhdmUgY29sbGlkZWQgKGUuZy4gY2FzZS1zZW5zaXRpdmUgcGF0aHNcbiIKICJvbiBhIGNhc2UtaW5zZW5zaXRpdmUgZmlsZXN5c3RlbSkgYW5kIG9ubHkgb25lIGZyb20gdGhlIHNhbWVcbiIKQEAgLTY1ODEsNiArODM1NSwxMCBAQAogIkhPQS90aMaw4budbmcgdHLDqm4gbeG7mXQgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBraMO0bmcgcGjDom4gYmnhu4d0IEhPQS90aMaw4budbmcpXG4iCiAidsOgIGNo4buJIG3hu5l0IHThu6sgY8O5bmcgbeG7mXQgbmjDs20geHVuZyDEkeG7mXQgbMOgIHRyb25nIGPDonkgbMOgbSB2aeG7h2MgaGnhu4duIHThuqFpOlxuIgogCisjOiB1bnBhY2stdHJlZXMuYzoxNDQxCittc2dpZCAiVXBkYXRpbmcgaW5kZXggZmxhZ3MiCittc2dzdHIgIsSQYW5nIGPhuq1wIG5o4bqtdCBjw6FjIGPhu50gbeG7pWMgbOG7pWMiCisKICM6IHVybG1hdGNoLmM6MTYzCiBtc2dpZCAiaW52YWxpZCBVUkwgc2NoZW1lIG5hbWUgb3IgbWlzc2luZyAnOi8vJyBzdWZmaXgiCiBtc2dzdHIgInTDqm4gbMaw4bujYyDEkeG7kyBVUkwga2jDtG5nIGjhu6NwIGzhu4csIGhv4bq3YyB0aGnhur91IGjhuq11IHThu5Eg4oCcOi8v4oCdIgpAQCAtNjU5Niw3ICs4Mzc0LDcgQEAKIAogIzogdXJsbWF0Y2guYzoyMzIKIG1zZ2lkICJhICdmaWxlOicgVVJMIG1heSBub3QgaGF2ZSBhIHBvcnQgbnVtYmVyIgotbXNnc3RyICJVUkwga2nhu4N1IOKAnGZpbGU64oCdIGtow7RuZyDEkcaw4bujYyBjaOG7qWEgY+G7lW5nIgorbXNnc3RyICJt4buZdCBVUkwga2nhu4N1IOKAnGZpbGU64oCdIGtow7RuZyDEkcaw4bujYyBjaOG7qWEgY+G7lW5nIgogCiAjOiB1cmxtYXRjaC5jOjI0NwogbXNnaWQgImludmFsaWQgY2hhcmFjdGVycyBpbiBob3N0IG5hbWUiCkBAIC02NjEwLDIwMSArODM4OCwyMDcgQEAKIG1zZ2lkICJpbnZhbGlkICcuLicgcGF0aCBzZWdtZW50IgogbXNnc3RyICLEkW/huqFuIMSRxrDhu51uZyBk4bqrbiDigJwuLuKAnSBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogd29ya3RyZWUuYzoyNDkgYnVpbHRpbi9hbS5jOjIxMDAKKyM6IHdvcmt0cmVlLmM6MjU4IGJ1aWx0aW4vYW0uYzoyMDg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkICclcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7jWMg4oCcJXPigJ0iCiAKLSM6IHdvcmt0cmVlLmM6Mjk1CisjOiB3b3JrdHJlZS5jOjMwNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGF0IG1haW4gd29ya2luZyB0cmVlIGlzIG5vdCB0aGUgcmVwb3NpdG9yeSBkaXJlY3RvcnkiCiBtc2dzdHIgIuKAnCVz4oCdIHThuqFpIGPDonkgbMOgbSB2aeG7h2MgY2jDrG5oIGtow7RuZyBwaOG6o2kgbMOgIHRoxrAgbeG7pWMga2hvIgogCi0jOiB3b3JrdHJlZS5jOjMwNgorIzogd29ya3RyZWUuYzozMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBmaWxlIGRvZXMgbm90IGNvbnRhaW4gYWJzb2x1dGUgcGF0aCB0byB0aGUgd29ya2luZyB0cmVlIGxvY2F0aW9uIgogbXNnc3RyICIiCiAidOG6rXAgdGluIOKAnCVz4oCdIGtow7RuZyBjaOG7qWEgxJHGsOG7nW5nIGThuqtuIHR1eeG7h3QgxJHhu5FpIMSR4bq/biB24buLIHRyw60gY8OieSBsw6BtIHZp4buHYyBoaeG7h24iCiAKLSM6IHdvcmt0cmVlLmM6MzE4CisjOiB3b3JrdHJlZS5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJcIiVzXCIga2jDtG5nIHThu5NuIHThuqFpIgogCi0jOiB3b3JrdHJlZS5jOjMyNAorIzogd29ya3RyZWUuYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSAuZ2l0IGZpbGUsIGVycm9yIGNvZGUgJWQiCiBtc2dzdHIgIuKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbMOgIHThuq1wIHRpbiAuZ2l0LCBtw6MgbOG7l2kgJWQiCiAKLSM6IHdvcmt0cmVlLmM6MzMyCisjOiB3b3JrdHJlZS5jOjM0MQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGRvZXMgbm90IHBvaW50IGJhY2sgdG8gJyVzJyIKIG1zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIGNo4buJIG5nxrDhu6NjIMSR4bq/biDigJwlc+KAnSIKIAotIzogd3JhcHBlci5jOjIyMyB3cmFwcGVyLmM6MzkzCisjOiB3cmFwcGVyLmM6MTg2IHdyYXBwZXIuYzozNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58g4oCcJXPigJ0gxJHhu4MgxJHhu41jIHbDoCBnaGkiCiAKLSM6IHdyYXBwZXIuYzo0MjQgd3JhcHBlci5jOjYyNAorIzogd3JhcHBlci5jOjM4NyB3cmFwcGVyLmM6NTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHRydXkgY+G6rXAg4oCcJXPigJ0iCiAKLSM6IHdyYXBwZXIuYzo2MzIKKyM6IHdyYXBwZXIuYzo1OTYKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCi1tc2dzdHIgIktow7RuZyB0aOG7gyBs4bqleSB0aMawIG3hu6VjIGzDoG0gdmnhu4djIGhp4buHbiBow6BuaCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgaGnhu4duIGjDoG5oIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQKKyM6IHd0LXN0YXR1cy5jOjE1OAogbXNnaWQgIlVubWVyZ2VkIHBhdGhzOiIKIG1zZ3N0ciAiTmjhu69uZyDEkcaw4budbmcgZOG6q24gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW46IgogCi0jOiB3dC1zdGF0dXMuYzoxODEgd3Qtc3RhdHVzLmM6MjA4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiAgKHVzZSBcImdpdCByZXNldCAlcyA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKLW1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgcmVzZXQgJXMgPHThuq1wLXRpbj7igKZcIiDEkeG7gyBi4buPIHJhIGto4buPaSBi4buHIHBow7NuZykiCisjOiB3dC1zdGF0dXMuYzoxODcgd3Qtc3RhdHVzLmM6MjE5Cittc2dpZCAiICAodXNlIFwiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCittc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPHThuq1wLXRpbj7igKZcIiDEkeG7gyBi4buPIHJhIGto4buPaSBi4buHIHBow7NuZykiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MyB3dC1zdGF0dXMuYzoyMTAKKyM6IHd0LXN0YXR1cy5jOjE5MCB3dC1zdGF0dXMuYzoyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAodXNlIFwiZ2l0IHJlc3RvcmUgLS1zb3VyY2U9JXMgLS1zdGFnZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCittc2dzdHIgIiIKKyIgIChkw7luZyBcImdpdCByZXN0b3JlIC0tc291cmNlPSVzIC0tc3RhZ2VkIDx04bqtcC10aW4+4oCmXCIgxJHhu4MgYuG7jyByYSBraOG7j2kgYuG7hyAiCisicGjDs25nKSIKKworIzogd3Qtc3RhdHVzLmM6MTkzIHd0LXN0YXR1cy5jOjIyNQogbXNnaWQgIiAgKHVzZSBcImdpdCBybSAtLWNhY2hlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgcm0gLS1jYWNoZWQgPHThuq1wLXRpbj7igKZcIiDEkeG7gyBi4buPIHJhIGto4buPaSBi4buHIHBow7NuZykiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NworIzogd3Qtc3RhdHVzLmM6MTk3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBhZGQgPHThuq1wLXRpbj7igKZcIiDEkeG7gyDEkcOhbmggZOG6pXUgbMOgIGPhuqduIGdp4bqjaSBxdXnhur90KSIKIAotIzogd3Qtc3RhdHVzLmM6MTg5IHd0LXN0YXR1cy5jOjE5MworIzogd3Qtc3RhdHVzLmM6MTk5IHd0LXN0YXR1cy5jOjIwMwogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiIgogIiAgKGTDuW5nIFwiZ2l0IGFkZC9ybSA8dOG6rXAtdGluPuKAplwiIG5oxrAgbMOgIG3hu5l0IGPDoWNoIHRow61jaCBo4bujcCDEkeG7gyDEkcOhbmggZOG6pXUgbMOgICIKICJj4bqnbiDEkcaw4bujYyBnaeG6o2kgcXV54bq/dCkiCiAKLSM6IHd0LXN0YXR1cy5jOjE5MQorIzogd3Qtc3RhdHVzLmM6MjAxCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IHJtIDx04bqtcC10aW4+4oCmXCIgxJHhu4MgxJHDoW5oIGThuqV1IGzDoCBj4bqnbiBnaeG6o2kgcXV54bq/dCkiCiAKLSM6IHd0LXN0YXR1cy5jOjIwMiB3dC1zdGF0dXMuYzoxMDQyCisjOiB3dC1zdGF0dXMuYzoyMTEgd3Qtc3RhdHVzLmM6MTA3NAogbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAiTmjhu69uZyB0aGF5IMSR4buVaSBz4bq9IMSRxrDhu6NjIGNodXnhu4NuIGdpYW86IgogCi0jOiB3dC1zdGF0dXMuYzoyMjAgd3Qtc3RhdHVzLmM6MTA1MQorIzogd3Qtc3RhdHVzLmM6MjM0IHd0LXN0YXR1cy5jOjEwODMKIG1zZ2lkICJDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoiCiBtc2dzdHIgIkPDoWMgdGhheSDEkeG7lWkgY2jGsGEgxJHGsOG7o2MgxJHhurd0IGzDqm4gYuG7hyBwaMOzbmcgxJHhu4MgY2h1eeG7g24gZ2lhbzoiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNAorIzogd3Qtc3RhdHVzLmM6MjM4CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IGFkZCA8dOG6rXAtdGluPuKAplwiIMSR4buDIGPhuq1wIG5o4bqtdCBuaOG7r25nIGfDrCBz4bq9IGNodXnhu4NuIGdpYW8pIgogCi0jOiB3dC1zdGF0dXMuYzoyMjYKKyM6IHd0LXN0YXR1cy5jOjI0MAogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAoZMO5bmcgXCJnaXQgYWRkL3JtIDx04bqtcC10aW4+4oCmXCIgxJHhu4MgY+G6rXAgbmjhuq10IG5o4buvbmcgZ8OsIHPhur0gxJHGsOG7o2MgY2h1eeG7g24gZ2lhbykiCiAKLSM6IHd0LXN0YXR1cy5jOjIyNworIzogd3Qtc3RhdHVzLmM6MjQxCiBtc2dpZCAiIgotIiAgKHVzZSBcImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi5cIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpIgorIiAgKHVzZSBcImdpdCByZXN0b3JlIDxmaWxlPi4uLlwiIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkiCiBtc2dzdHIgIiIKLSIgIChkw7luZyBcImdpdCBjaGVja291dCAtLSA8dOG6rXAtdGluPuKAplwiIMSR4buDIGxv4bqhaSBi4buPIGPDoWMgdGhheSDEkeG7lWkgdHJvbmcgdGjGsCBt4bulYyAiCi0ibMOgbSB2aeG7h2MpIgorIiAgKGTDuW5nIFwiZ2l0IHJlc3RvcmUgPHThuq1wLXRpbj7igKZcIiDEkeG7gyBsb+G6oWkgYuG7jyBjw6FjIHRoYXkgxJHhu5VpIHRyb25nIHRoxrAgbeG7pWMgbMOgbSAiCisidmnhu4djKSIKIAotIzogd3Qtc3RhdHVzLmM6MjI5CisjOiB3dC1zdGF0dXMuYzoyNDMKIG1zZ2lkICIgIChjb21taXQgb3IgZGlzY2FyZCB0aGUgdW50cmFja2VkIG9yIG1vZGlmaWVkIGNvbnRlbnQgaW4gc3VibW9kdWxlcykiCiBtc2dzdHIgIiIKICIgIChjaHV54buDbiBnaWFvIGhv4bq3YyBsw6AgbG/huqFpIGLhu48gY8OhYyBu4buZaSBkdW5nIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSBoYXkgxJHDoyBz4butYSAiCiAiY2jhu69hIHRyb25nIG3DtC3EkXVuLWNvbikiCiAKLSM6IHd0LXN0YXR1cy5jOjI0MQorIzogd3Qtc3RhdHVzLmM6MjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHVzZSBcImdpdCAlcyA8ZmlsZT4uLi5cIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgogbXNnc3RyICIiCiAiICAoZMO5bmcgXCJnaXQgJXMgPHThuq1wLXRpbj7igKZcIiDEkeG7gyB0aMOqbSB2w6BvIG5o4buvbmcgZ8OsIGPhuqduIMSRxrDhu6NjIGNodXnhu4NuIGdpYW8pIgogCi0jOiB3dC1zdGF0dXMuYzoyNTYKKyM6IHd0LXN0YXR1cy5jOjI2OAogbXNnaWQgImJvdGggZGVsZXRlZDoiCiBtc2dzdHIgImLhu4sgeMOzYSBi4bufaSBj4bqjIGhhaToiCiAKLSM6IHd0LXN0YXR1cy5jOjI1OAorIzogd3Qtc3RhdHVzLmM6MjcwCiBtc2dpZCAiYWRkZWQgYnkgdXM6IgogbXNnc3RyICLEkcaw4bujYyB0aMOqbSB2w6BvIGLhu59pIGNow7puZyB0YToiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MAorIzogd3Qtc3RhdHVzLmM6MjcyCiBtc2dpZCAiZGVsZXRlZCBieSB0aGVtOiIKIG1zZ3N0ciAiYuG7iyB4w7NhIMSRaSBi4bufaSBo4buNOiIKIAotIzogd3Qtc3RhdHVzLmM6MjYyCisjOiB3dC1zdGF0dXMuYzoyNzQKIG1zZ2lkICJhZGRlZCBieSB0aGVtOiIKIG1zZ3N0ciAixJHGsOG7o2MgdGjDqm0gdsOgbyBi4bufaSBo4buNOiIKIAotIzogd3Qtc3RhdHVzLmM6MjY0CisjOiB3dC1zdGF0dXMuYzoyNzYKIG1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKIG1zZ3N0ciAiYuG7iyB4w7NhIGLhu59pIGNow7puZyB0YToiCiAKLSM6IHd0LXN0YXR1cy5jOjI2NgorIzogd3Qtc3RhdHVzLmM6Mjc4CiBtc2dpZCAiYm90aCBhZGRlZDoiCiBtc2dzdHIgIsSRxrDhu6NjIHRow6ptIHbDoG8gYuG7n2kgY+G6oyBoYWk6IgogCi0jOiB3dC1zdGF0dXMuYzoyNjgKKyM6IHd0LXN0YXR1cy5jOjI4MAogbXNnaWQgImJvdGggbW9kaWZpZWQ6IgogbXNnc3RyICJi4buLIHPhu61hIGLhu59pIGPhuqMgaGFpOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjc4CisjOiB3dC1zdGF0dXMuYzoyOTAKIG1zZ2lkICJuZXcgZmlsZToiCiBtc2dzdHIgInThuq1wIHRpbiBt4bubaToiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MAorIzogd3Qtc3RhdHVzLmM6MjkyCiBtc2dpZCAiY29waWVkOiIKIG1zZ3N0ciAixJHDoyBjaMOpcDoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MgorIzogd3Qtc3RhdHVzLmM6Mjk0CiBtc2dpZCAiZGVsZXRlZDoiCiBtc2dzdHIgIsSRw6MgeMOzYToiCiAKLSM6IHd0LXN0YXR1cy5jOjI4NAorIzogd3Qtc3RhdHVzLmM6Mjk2CiBtc2dpZCAibW9kaWZpZWQ6IgogbXNnc3RyICLEkcOjIHPhu61hOiIKIAotIzogd3Qtc3RhdHVzLmM6Mjg2CisjOiB3dC1zdGF0dXMuYzoyOTgKIG1zZ2lkICJyZW5hbWVkOiIKIG1zZ3N0ciAixJHDoyDEkeG7lWkgdMOqbjoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4OAorIzogd3Qtc3RhdHVzLmM6MzAwCiBtc2dpZCAidHlwZWNoYW5nZToiCiBtc2dzdHIgIsSR4buVaS1raeG7g3U6IgogCi0jOiB3dC1zdGF0dXMuYzoyOTAKKyM6IHd0LXN0YXR1cy5jOjMwMgogbXNnaWQgInVua25vd246IgogbXNnc3RyICJraMO0bmcgaGnhu4N1OiIKIAotIzogd3Qtc3RhdHVzLmM6MjkyCisjOiB3dC1zdGF0dXMuYzozMDQKIG1zZ2lkICJ1bm1lcmdlZDoiCiBtc2dzdHIgImNoxrBhIGjDsmEgdHLhu5luOiIKIAotIzogd3Qtc3RhdHVzLmM6MzcyCisjOiB3dC1zdGF0dXMuYzozODQKIG1zZ2lkICJuZXcgY29tbWl0cywgIgogbXNnc3RyICJs4bqnbiBjaHV54buDbiBnaWFvIG3hu5tpLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM3NAorIzogd3Qtc3RhdHVzLmM6Mzg2CiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICJu4buZaSBkdW5nIGLhu4sgc+G7rWEgxJHhu5VpLCAiCiAKLSM6IHd0LXN0YXR1cy5jOjM3NgorIzogd3Qtc3RhdHVzLmM6Mzg4CiBtc2dpZCAidW50cmFja2VkIGNvbnRlbnQsICIKIG1zZ3N0ciAibuG7mWkgZHVuZyBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWksICIKIAotIzogd3Qtc3RhdHVzLmM6ODgwCisjOiB3dC1zdGF0dXMuYzo5MDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBzdGFzaCBjdXJyZW50bHkgaGFzICVkIGVudHJ5IgogbXNnaWRfcGx1cmFsICJZb3VyIHN0YXNoIGN1cnJlbnRseSBoYXMgJWQgZW50cmllcyIKIG1zZ3N0clswXSAiQuG6oW4gaGnhu4duIG5heSDhu58gdHJvbmcgcGjhuqduIGPhuqV0IMSRaSDEkWFuZyBjw7MgJWQgbeG7pWMiCiAKLSM6IHd0LXN0YXR1cy5jOjkxMgorIzogd3Qtc3RhdHVzLmM6OTM4CiBtc2dpZCAiU3VibW9kdWxlcyBjaGFuZ2VkIGJ1dCBub3QgdXBkYXRlZDoiCiBtc2dzdHIgIk5o4buvbmcgbcO0LcSRdW4tY29uIMSRw6MgYuG7iyB0aGF5IMSR4buVaSBuaMawbmcgY2jGsGEgxJHGsOG7o2MgY+G6rXAgbmjhuq10OiIKIAotIzogd3Qtc3RhdHVzLmM6OTE0CisjOiB3dC1zdGF0dXMuYzo5NDAKIG1zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgogbXNnc3RyICJOaOG7r25nIG3DtC3EkXVuLWNvbiB0aGF5IMSR4buVaSDEkcOjIMSRxrDhu6NjIGNodXnhu4NuIGdpYW86IgogCi0jOiB3dC1zdGF0dXMuYzo5OTYKKyM6IHd0LXN0YXR1cy5jOjEwMjIKIG1zZ2lkICIiCiAiRG8gbm90IG1vZGlmeSBvciByZW1vdmUgdGhlIGxpbmUgYWJvdmUuXG4iCiAiRXZlcnl0aGluZyBiZWxvdyBpdCB3aWxsIGJlIGlnbm9yZWQuIgpAQCAtNjgxMiwxMDkgKzg1OTYsMTIwIEBACiAiS2jDtG5nIHPhu61hIGhheSB4w7NhIGLhu48gxJHGsOG7nW5nIOG7nyB0csOqbi5cbiIKICJN4buNaSB0aOG7qSBwaMOtYSBkxrDhu5tpIHPhur0gxJHGsOG7o2MgeMOzYSBi4buPLiIKIAotIzogd3Qtc3RhdHVzLmM6MTA5NworIzogd3Qtc3RhdHVzLmM6MTExNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gY29tcHV0ZSB0aGUgYnJhbmNoIGFoZWFkL2JlaGluZCB2YWx1ZXMuXG4iCisiWW91IGNhbiB1c2UgJy0tbm8tYWhlYWQtYmVoaW5kJyB0byBhdm9pZCB0aGlzLlxuIgorbXNnc3RyICIiCisiXG4iCisiTsOzIGPhuqduICUuMmYgZ2nDonkgxJHhu4MgdMOtbmggdG/DoW4gZ2nDoSB0cuG7iyBj4bunYSB0csaw4bubYy9zYXUgY+G7p2EgbmjDoW5oLlxuIgorIkLhuqFuIGPDsyB0aOG7gyBkw7luZyAnLS1uby1haGVhZC1iZWhpbmQnIHRyw6FuaCBwaOG6o2kgxJFp4buBdSBuw6B5LlxuIgorCisjOiB3dC1zdGF0dXMuYzoxMTQ0CiBtc2dpZCAiWW91IGhhdmUgdW5tZXJnZWQgcGF0aHMuIgogbXNnc3RyICJC4bqhbiBjw7Mgbmjhu69uZyDEkcaw4budbmcgZOG6q24gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4uIgogCi0jOiB3dC1zdGF0dXMuYzoxMTAwCisjOiB3dC1zdGF0dXMuYzoxMTQ3CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIKIG1zZ3N0ciAiICAoc+G7rWEgY8OhYyB4dW5nIMSR4buZdCBy4buTaSBjaOG6oXkgXCJnaXQgY29tbWl0XCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMTAyCisjOiB3dC1zdGF0dXMuYzoxMTQ5CiBtc2dpZCAiICAodXNlIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiB0byBhYm9ydCB0aGUgbWVyZ2UpIgogbXNnc3RyICIgIChkw7luZyBcImdpdCBtZXJnZSAtLWFib3J0XCIgxJHhu4MgYsOjaSBi4buPIHZp4buHYyBow7JhIHRy4buZbikiCiAKLSM6IHd0LXN0YXR1cy5jOjExMDYKKyM6IHd0LXN0YXR1cy5jOjExNTMKIG1zZ2lkICJBbGwgY29uZmxpY3RzIGZpeGVkIGJ1dCB5b3UgYXJlIHN0aWxsIG1lcmdpbmcuIgogbXNnc3RyICJU4bqldCBj4bqjIGPDoWMgeHVuZyDEkeG7mXQgxJHDoyDEkcaw4bujYyBnaeG6o2kgcXV54bq/dCBuaMawbmcgYuG6oW4gduG6q24gxJFhbmcgaMOyYSB0cuG7mW4uIgogCi0jOiB3dC1zdGF0dXMuYzoxMTA5CisjOiB3dC1zdGF0dXMuYzoxMTU2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgY29tbWl0XCIgxJHhu4MgaG/DoG4gdOG6pXQgdmnhu4djIGjDsmEgdHLhu5luKSIKIAotIzogd3Qtc3RhdHVzLmM6MTExOAorIzogd3Qtc3RhdHVzLmM6MTE2NQogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uLiIKIG1zZ3N0ciAiQuG6oW4gxJFhbmcg4bufIGdp4buvYSBj4bunYSBt4buZdCBwaGnDqm4g4oCcYW3igJ0uIgogCi0jOiB3dC1zdGF0dXMuYzoxMTIxCisjOiB3dC1zdGF0dXMuYzoxMTY4CiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICJNaeG6v25nIHbDoSBoaeG7h24gdOG6oWkgYuG7iyB0cuG7kW5nIHLhu5duZy4iCiAKLSM6IHd0LXN0YXR1cy5jOjExMjUKKyM6IHd0LXN0YXR1cy5jOjExNzIKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCB0aGVuIHJ1biBcImdpdCBhbSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChz4butYSBjw6FjIHh1bmcgxJHhu5l0IHbDoCBzYXUgxJHDsyBjaOG6oXkgbOG7h25oIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjExMjcKKyM6IHd0LXN0YXR1cy5jOjExNzQKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgYW0gLS1za2lwXCIgxJHhu4MgYuG7jyBxdWEgbWnhur9uZyB2w6EgbsOgeSkiCiAKLSM6IHd0LXN0YXR1cy5jOjExMjkKKyM6IHd0LXN0YXR1cy5jOjExNzYKIG1zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IGFtIC0tYWJvcnRcIiDEkeG7gyBwaOG7pWMgaOG7k2kgbOG6oWkgbmjDoW5oIG5ndXnDqm4gdGjhu6d5KSIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MAorIzogd3Qtc3RhdHVzLmM6MTMwOQogbXNnaWQgImdpdC1yZWJhc2UtdG9kbyBpcyBtaXNzaW5nLiIKLW1zZ3N0ciAidGhp4bq/dSBnaXQtcmViYXNlLXRvZG8iCittc2dzdHIgInRoaeG6v3UgZ2l0LXJlYmFzZS10b2RvLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2MgorIzogd3Qtc3RhdHVzLmM6MTMxMQogbXNnaWQgIk5vIGNvbW1hbmRzIGRvbmUuIgogbXNnc3RyICJLaMO0bmcgdGjhu7FjIGhp4buHbiBs4buHbmggbsOgby4iCiAKLSM6IHd0LXN0YXR1cy5jOjEyNjUKKyM6IHd0LXN0YXR1cy5jOjEzMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiTGFzdCBjb21tYW5kIGRvbmUgKCVkIGNvbW1hbmQgZG9uZSk6IgogbXNnaWRfcGx1cmFsICJMYXN0IGNvbW1hbmRzIGRvbmUgKCVkIGNvbW1hbmRzIGRvbmUpOiIKIG1zZ3N0clswXSAiTOG7h25oIHRo4buxYyBoaeG7h24gY3Xhu5FpICglZCBs4buHbmggxJHGsOG7o2MgdGjhu7FjIHRoaSk6IgogCi0jOiB3dC1zdGF0dXMuYzoxMjc2CisjOiB3dC1zdGF0dXMuYzoxMzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHNlZSBtb3JlIGluIGZpbGUgJXMpIgogbXNnc3RyICIgICh4ZW0gdGjDqm0gdHJvbmcgJXMpIgogCi0jOiB3dC1zdGF0dXMuYzoxMjgxCisjOiB3dC1zdGF0dXMuYzoxMzMwCiBtc2dpZCAiTm8gY29tbWFuZHMgcmVtYWluaW5nLiIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBs4buHbmggbsOgbyBjw7JuIGzhuqFpLiIKIAotIzogd3Qtc3RhdHVzLmM6MTI4NAorIzogd3Qtc3RhdHVzLmM6MTMzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJOZXh0IGNvbW1hbmQgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kKToiCiBtc2dpZF9wbHVyYWwgIk5leHQgY29tbWFuZHMgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kcyk6IgogbXNnc3RyWzBdICJM4buHbmggY+G6p24gbMOgbSBr4bq/IHRp4bq/cCAoJWQgbOG7h25oIGPDsm4gbOG6oWkpOiIKIAotIzogd3Qtc3RhdHVzLmM6MTI5MgorIzogd3Qtc3RhdHVzLmM6MTM0MQogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1lZGl0LXRvZG9cIiB0byB2aWV3IGFuZCBlZGl0KSIKIG1zZ3N0ciAiICAoZMO5bmcgbOG7h25oIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIMSR4buDIHhlbSB2w6Agc+G7rWEpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzA0CisjOiB3dC1zdGF0dXMuYzoxMzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICJC4bqhbiBoaeG7h24gbmF5IMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djIOKAnHJlYmFzZeKAnSBuaMOhbmgg4oCcJXPigJ0gdHLDqm4g4oCcJXPigJ0uIgogCi0jOiB3dC1zdGF0dXMuYzoxMzA5CisjOiB3dC1zdGF0dXMuYzoxMzU4CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICJC4bqhbiBoaeG7h24gbmF5IMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djIOKAnHJlYmFzZeKAnSAo4oCcY+G6o2kgdOG7leKAnSkuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzIyCisjOiB3dC1zdGF0dXMuYzoxMzcxCiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChz4butYSBjw6FjIHh1bmcgxJHhu5l0IHbDoCBzYXUgxJHDsyBjaOG6oXkgbOG7h25oIOKAnGPhuqNpIHThu5XigJ0gXCJnaXQgcmViYXNlIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMjQKKyM6IHd0LXN0YXR1cy5jOjEzNzMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAgKGTDuW5nIGzhu4duaCDigJxj4bqjaSB04buV4oCdIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiDEkeG7gyBi4buPIHF1YSBs4bqnbiB2w6EgbsOgeSkiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMjYKKyM6IHd0LXN0YXR1cy5jOjEzNzUKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tYWJvcnRcIiB0byBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCiBtc2dzdHIgIiIKICIgIChkw7luZyBs4buHbmgg4oCcY+G6o2kgdOG7leKAnSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIMSR4buDIGNoZWNrLW91dCBuaMOhbmggbmd1ecOqbiB0aOG7p3kpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzMzCisjOiB3dC1zdGF0dXMuYzoxMzgyCiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoa2hpIHThuqV0IGPhuqMgY8OhYyB4dW5nIMSR4buZdCDEkcOjIHPhu61hIHhvbmc6IGNo4bqheSBs4buHbmgg4oCcY+G6o2kgdOG7leKAnSBcImdpdCByZWJhc2UgLS0iCiAiY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzMzcKKyM6IHd0LXN0YXR1cy5jOjEzODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgY3VycmVudGx5IHNwbGl0dGluZyBhIGNvbW1pdCB3aGlsZSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKQEAgLTY5MjIsMTM0ICs4NzE3LDE1MCBAQAogIkLhuqFuIGhp4buHbiBuYXkgxJFhbmcgdGjhu7FjIGhp4buHbiB2aeG7h2MgY2hpYSB0w6FjaCBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIHRyb25nIGtoaSAiCiAixJFhbmcg4oCccmViYXNl4oCdIG5ow6FuaCDigJwlc+KAnSB0csOqbiDigJwlc+KAnS4iCiAKLSM6IHd0LXN0YXR1cy5jOjEzNDIKKyM6IHd0LXN0YXR1cy5jOjEzOTEKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAiIgogIkLhuqFuIGhp4buHbiB04bqhaSDEkWFuZyBj4bqvdCDEkcO0aSBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIHRyb25nIGtoaSDEkWFuZyB0aOG7sWMgaGnhu4duIHZp4buHYyAiCiAicmViYXNlLiIKIAotIzogd3Qtc3RhdHVzLmM6MTM0NQorIzogd3Qtc3RhdHVzLmM6MTM5NAogbXNnaWQgIiAgKE9uY2UgeW91ciB3b3JraW5nIGRpcmVjdG9yeSBpcyBjbGVhbiwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoTeG7mXQga2hpIHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgY+G7p2EgYuG6oW4gxJHDoyBn4buNbiBnw6BuZywgY2jhuqF5IGzhu4duaCDigJxj4bqjaSB04buV4oCdIFwiZ2l0ICIKICJyZWJhc2UgLS1jb250aW51ZVwiKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM0OQorIzogd3Qtc3RhdHVzLmM6MTM5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICIiCiAiQuG6oW4gaGnhu4duIG5heSDEkWFuZyB0aOG7sWMgaGnhu4duIHZp4buHYyBz4butYSBjaOG7r2EgbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyB0cm9uZyBraGkgxJFhbmcgIgogInJlYmFzZSBuaMOhbmgg4oCcJXPigJ0gdHLDqm4g4oCcJXPigJ0uIgogCi0jOiB3dC1zdGF0dXMuYzoxMzU0CisjOiB3dC1zdGF0dXMuYzoxNDAzCiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgZWRpdGluZyBhIGNvbW1pdCBkdXJpbmcgYSByZWJhc2UuIgogbXNnc3RyICJC4bqhbiBoaeG7h24gxJFhbmcgc+G7rWEgbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyB0cm9uZyBraGkgYuG6oW4gdGjhu7FjIGhp4buHbiByZWJhc2UuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzU3CisjOiB3dC1zdGF0dXMuYzoxNDA2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgY29tbWl0IC0tYW1lbmRcIiDEkeG7gyDigJx0dSBi4buV4oCdIGzhuqduIGNodXnhu4NuIGdpYW8gaGnhu4duIHThuqFpKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM1OQorIzogd3Qtc3RhdHVzLmM6MTQwOAogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKSIKIG1zZ3N0ciAiIgogIiAgKGNo4bqheSBs4buHbmgg4oCcY+G6o2kgdOG7leKAnSBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiIG3hu5l0IGtoaSBi4bqhbiBj4bqjbSB0aOG6pXkgaMOgaSAiCiAibMOybmcgduG7gSBuaOG7r25nIHRoYXkgxJHhu5VpIGPhu6dhIG3DrG5oKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM2OAorIzogd3Qtc3RhdHVzLmM6MTQxOQorbXNnaWQgIkNoZXJyeS1waWNrIGN1cnJlbnRseSBpbiBwcm9ncmVzcy4iCittc2dzdHIgIkNoZXJyeS1waWNrIGhp4buHbiB04bqhaSDEkWFuZyDEkcaw4bujYyB0aOG7sWMgaGnhu4duLiIKKworIzogd3Qtc3RhdHVzLmM6MTQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgogbXNnc3RyICJC4bqhbiBoaeG7h24gbmF5IMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djIGNoZXJyeS1waWNrIGzhuqduIGNodXnhu4NuIGdpYW8gJXMuIgogCi0jOiB3dC1zdGF0dXMuYzoxMzczCisjOiB3dC1zdGF0dXMuYzoxNDI5CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiIKICIgIChz4butYSBjw6FjIHh1bmcgxJHhu5l0IHbDoCBzYXUgxJHDsyBjaOG6oXkgbOG7h25oIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNzYKKyM6IHd0LXN0YXR1cy5jOjE0MzIKK21zZ2lkICIgIChydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHRvIGNvbnRpbnVlKSIKK21zZ3N0ciAiICAoY2jhuqF5IGzhu4duaCBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgxJHhu4MgdGnhur9wIHThu6VjKSIKKworIzogd3Qtc3RhdHVzLmM6MTQzNQogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIiCiAiICAoa2hpIHThuqV0IGPhuqMgY8OhYyB4dW5nIMSR4buZdCDEkcOjIHPhu61hIHhvbmc6IGNo4bqheSBs4buHbmggXCJnaXQgY2hlcnJ5LXBpY2sgLS0iCiAiY29udGludWVcIikiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNzgKKyM6IHd0LXN0YXR1cy5jOjE0MzcKK21zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKK21zZ3N0ciAiICAoZMO5bmcgXCJnaXQgY2hlcnJ5LXBpY2sgLS1za2lwXCIgxJHhu4MgYuG7jyBxdWEgbWnhur9uZyB2w6EgbsOgeSkiCisKKyM6IHd0LXN0YXR1cy5jOjE0MzkKIG1zZ2lkICIgICh1c2UgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydFwiIMSR4buDIGjhu6d5IGLhu48gdGhhbyB0w6FjIGNoZXJyeS1waWNrKSIKIAotIzogd3Qtc3RhdHVzLmM6MTM4NgorIzogd3Qtc3RhdHVzLmM6MTQ0OQorbXNnaWQgIlJldmVydCBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MuIgorbXNnc3RyICJIb8OgbiBuZ3V5w6puIGhp4buHbiB04bqhaSDEkWFuZyB0aOG7sWMgaGnhu4duLiIKKworIzogd3Qtc3RhdHVzLmM6MTQ1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZXZlcnRpbmcgY29tbWl0ICVzLiIKIG1zZ3N0ciAiQuG6oW4gaGnhu4duIG5heSDEkWFuZyB0aOG7sWMgaGnhu4duIHRoYW8gdMOhYyBob8OgbiBuZ3V5w6puIGzhuqduIGNodXnhu4NuIGdpYW8g4oCcJXPigJ0uIgogCi0jOiB3dC1zdGF0dXMuYzoxMzkxCisjOiB3dC1zdGF0dXMuYzoxNDU4CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIChz4butYSBjw6FjIHh1bmcgxJHhu5l0IHbDoCBzYXUgxJHDsyBjaOG6oXkgbOG7h25oIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzk0CisjOiB3dC1zdGF0dXMuYzoxNDYxCittc2dpZCAiICAocnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIgdG8gY29udGludWUpIgorbXNnc3RyICIgIChjaOG6oXkgbOG7h25oIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIgxJHhu4MgdGnhur9wIHThu6VjKSIKKworIzogd3Qtc3RhdHVzLmM6MTQ2NAogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiIgogIiAgKGtoaSB04bqldCBj4bqjIGPDoWMgeHVuZyDEkeG7mXQgxJHDoyBz4butYSB4b25nOiBjaOG6oXkgbOG7h25oIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIgogCi0jOiB3dC1zdGF0dXMuYzoxMzk2CisjOiB3dC1zdGF0dXMuYzoxNDY2Cittc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgorbXNnc3RyICIgIChkw7luZyBs4buHbmggXCJnaXQgcmV2ZXJ0IC0tc2tpcFwiIMSR4buDIGLhu48gcXVhIGzhuqduIHbDoSBuw6B5KSIKKworIzogd3Qtc3RhdHVzLmM6MTQ2OAogbXNnaWQgIiAgKHVzZSBcImdpdCByZXZlcnQgLS1hYm9ydFwiIHRvIGNhbmNlbCB0aGUgcmV2ZXJ0IG9wZXJhdGlvbikiCiBtc2dzdHIgIiAgKGTDuW5nIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgxJHhu4MgaOG7p3kgYuG7jyB0aGFvIHTDoWMgaG/DoG4gbmd1ecOqbikiCiAKLSM6IHd0LXN0YXR1cy5jOjE0MDYKKyM6IHd0LXN0YXR1cy5jOjE0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgYmlzZWN0aW5nLCBzdGFydGVkIGZyb20gYnJhbmNoICclcycuIgogbXNnc3RyICIiCiAiQuG6oW4gaGnhu4duIG5heSDEkWFuZyB0aOG7sWMgaGnhu4duIHRoYW8gdMOhYyBkaSBjaHV54buDbiBu4butYSBixrDhu5tjIChiaXNlY3QpLCBi4bqvdCDEkeG6p3UgdOG7qyAiCiAibmjDoW5oIOKAnCVz4oCdLiIKIAotIzogd3Qtc3RhdHVzLmM6MTQxMAorIzogd3Qtc3RhdHVzLmM6MTQ4MgogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCiBtc2dzdHIgIkLhuqFuIGhp4buHbiB04bqhaSDEkWFuZyB0aOG7sWMgaGnhu4duIHZp4buHYyBiaXNlY3QgKGRpIGNodXnhu4NuIG7hu61hIGLGsOG7m2MpLiIKIAotIzogd3Qtc3RhdHVzLmM6MTQxMworIzogd3Qtc3RhdHVzLmM6MTQ4NQogbXNnaWQgIiAgKHVzZSBcImdpdCBiaXNlY3QgcmVzZXRcIiB0byBnZXQgYmFjayB0byB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICAoZMO5bmcgXCJnaXQgYmlzZWN0IHJlc2V0XCIgxJHhu4MgcXVheSB0cuG7nyBs4bqhaSBuaMOhbmggbmd1ecOqbiB0aOG7p3kpIgogCi0jOiB3dC1zdGF0dXMuYzoxNjExCisjOiB3dC1zdGF0dXMuYzoxNjk0CiBtc2dpZCAiT24gYnJhbmNoICIKIG1zZ3N0ciAiVHLDqm4gbmjDoW5oICIKIAotIzogd3Qtc3RhdHVzLmM6MTYxOAorIzogd3Qtc3RhdHVzLmM6MTcwMQogbXNnaWQgImludGVyYWN0aXZlIHJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgInJlYmFzZSDhu58gY2jhur8gxJHhu5kgdMawxqFuZyB0w6FjIMSRYW5nIMSRxrDhu6NjIHRo4buxYyBoaeG7h247IGzDqm4gdHLDqm4gIgogCi0jOiB3dC1zdGF0dXMuYzoxNjIwCisjOiB3dC1zdGF0dXMuYzoxNzAzCiBtc2dpZCAicmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAicmViYXNlIMSRYW5nIMSRxrDhu6NjIHRo4buxYyBoaeG7h246IGzDqm4gdHLDqm4gIgogCi0jOiB3dC1zdGF0dXMuYzoxNjI1Ci1tc2dpZCAiSEVBRCBkZXRhY2hlZCBhdCAiCi1tc2dzdHIgIkhFQUQgxJHGsOG7o2MgdMOhY2ggcuG7nWkgdOG6oWkgIgotCi0jOiB3dC1zdGF0dXMuYzoxNjI3Ci1tc2dpZCAiSEVBRCBkZXRhY2hlZCBmcm9tICIKLW1zZ3N0ciAiSEVBRCDEkcaw4bujYyB0w6FjaCBy4budaSB04burICIKLQotIzogd3Qtc3RhdHVzLmM6MTYzMAorIzogd3Qtc3RhdHVzLmM6MTcxMwogbXNnaWQgIk5vdCBjdXJyZW50bHkgb24gYW55IGJyYW5jaC4iCiBtc2dzdHIgIkhp4buHbiB04bqhaSBjaOG6s25nIOG7nyBuaMOhbmggbsOgbyBj4bqjLiIKIAotIzogd3Qtc3RhdHVzLmM6MTY0NworIzogd3Qtc3RhdHVzLmM6MTczMAogbXNnaWQgIkluaXRpYWwgY29tbWl0IgogbXNnc3RyICJM4bqnbiBjaHV54buDbiBnaWFvIGto4bufaSB04bqhbyIKIAotIzogd3Qtc3RhdHVzLmM6MTY0OAorIzogd3Qtc3RhdHVzLmM6MTczMQogbXNnaWQgIk5vIGNvbW1pdHMgeWV0IgogbXNnc3RyICJW4bqrbiBjaMawYSBjaHV54buDbiBnaWFvIgogCi0jOiB3dC1zdGF0dXMuYzoxNjYyCisjOiB3dC1zdGF0dXMuYzoxNzQ1CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIgogbXNnc3RyICJOaOG7r25nIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkiCiAKLSM6IHd0LXN0YXR1cy5jOjE2NjQKKyM6IHd0LXN0YXR1cy5jOjE3NDcKIG1zZ2lkICJJZ25vcmVkIGZpbGVzIgogbXNnc3RyICJOaOG7r25nIHThuq1wIHRpbiBi4buLIGzhu50gxJFpIgogCi0jOiB3dC1zdGF0dXMuYzoxNjY4CisjOiB3dC1zdGF0dXMuYzoxNzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCkBAIC03MDYxLDMyICs4ODcyLDMyIEBACiAiY8OzIGzhur0gbMOgbSBuw7MgbmhhbmggaMahbiwgbmjGsG5nIGLhuqFuIHBo4bqjaSBj4bqpbiB0aOG6rW4gxJHhu6tuZyBxdcOqbiBtw6xuaCBwaOG6o2lcbiIKICJ04buxIHRow6ptIGPDoWMgdOG6rXAgdGluIG3hu5tpICh4ZW0g4oCcZ2l0IGhlbHAgc3RhdHVz4oCdLi4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2NzQKKyM6IHd0LXN0YXR1cy5jOjE3NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQlcyIKIG1zZ3N0ciAiTmjhu69uZyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpIGtow7RuZyDEkcaw4bujYyBsaeG7h3Qga8OqIHJhICVzIgogCi0jOiB3dC1zdGF0dXMuYzoxNjc2CisjOiB3dC1zdGF0dXMuYzoxNzU5CiBtc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKIG1zZ3N0ciAiIChkw7luZyB0w7l5IGNo4buNbiAtdSDEkeG7gyBoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpKSIKIAotIzogd3Qtc3RhdHVzLmM6MTY4MgorIzogd3Qtc3RhdHVzLmM6MTc2NQogbXNnaWQgIk5vIGNoYW5nZXMiCiBtc2dzdHIgIktow7RuZyBjw7MgdGhheSDEkeG7lWkgbsOgbyIKIAotIzogd3Qtc3RhdHVzLmM6MTY4NworIzogd3Qtc3RhdHVzLmM6MTc3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKIG1zZ3N0ciAiIgogImtow7RuZyBjw7MgdGhheSDEkeG7lWkgbsOgbyDEkcaw4bujYyB0aMOqbSB2w6BvIMSR4buDIGNodXnhu4NuIGdpYW8gKGTDuW5nIFwiZ2l0IGFkZFwiIHbDoC9ob+G6t2MgIgogIlwiZ2l0IGNvbW1pdCAtYVwiKVxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjkwCisjOiB3dC1zdGF0dXMuYzoxNzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0XG4iCiBtc2dzdHIgImtow7RuZyBjw7MgdGhheSDEkeG7lWkgbsOgbyDEkcaw4bujYyB0aMOqbSB2w6BvIMSR4buDIGNodXnhu4NuIGdpYW9cbiIKIAotIzogd3Qtc3RhdHVzLmM6MTY5MworIzogd3Qtc3RhdHVzLmM6MTc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgpAQCAtNzA5NSwyMDAgKzg5MDYsMjA1IEBACiAia2jDtG5nIGPDsyBnw6wgxJHGsOG7o2MgdGjDqm0gdsOgbyBs4bqnbiBjaHV54buDbiBnaWFvIG5oxrBuZyBjw7Mgbmjhu69uZyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgIgogInRoZW8gZMO1aSBoaeG7h24gZGnhu4duIChkw7luZyBcImdpdCBhZGRcIiDEkeG7gyDEkcawYSB2w6BvIHRoZW8gZMO1aSlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTY5NgorIzogd3Qtc3RhdHVzLmM6MTc3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIGFkZGVkIHRvIGNvbW1pdCBidXQgdW50cmFja2VkIGZpbGVzIHByZXNlbnRcbiIKIG1zZ3N0ciAiIgogImtow7RuZyBjw7MgZ8OsIMSRxrDhu6NjIHRow6ptIHbDoG8gbOG6p24gY2h1eeG7g24gZ2lhbyBuaMawbmcgY8OzIG5o4buvbmcgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjICIKICJ0aGVvIGTDtWkgaGnhu4duIGRp4buHblxuIgogCi0jOiB3dC1zdGF0dXMuYzoxNjk5CisjOiB3dC1zdGF0dXMuYzoxNzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0IChjcmVhdGUvY29weSBmaWxlcyBhbmQgdXNlIFwiZ2l0IGFkZFwiIHRvIHRyYWNrKVxuIgogbXNnc3RyICIiCiAia2jDtG5nIGPDsyBnw6wgxJHhu4MgY2h1eeG7g24gZ2lhbyAodOG6oW8vc2FvLWNow6lwIGPDoWMgdOG6rXAgdGluIHbDoCBkw7luZyBcImdpdCBhZGRcIiDEkeG7gyAiCiAixJHGsGEgdsOgbyB0aGVvIGTDtWkpXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE3MDIgd3Qtc3RhdHVzLmM6MTcwNworIzogd3Qtc3RhdHVzLmM6MTc4NSB3dC1zdGF0dXMuYzoxNzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0XG4iCiBtc2dzdHIgImtow7RuZyBjw7MgZ8OsIMSR4buDIGNodXnhu4NuIGdpYW9cbiIKIAotIzogd3Qtc3RhdHVzLmM6MTcwNQorIzogd3Qtc3RhdHVzLmM6MTc4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKVxuIgogbXNnc3RyICIiCiAia2jDtG5nIGPDsyBnw6wgxJHhu4MgY2h1eeG7g24gZ2lhbyAoZMO5bmcgLXUgeGVtIGPDoWMgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTcwOQorIzogd3Qtc3RhdHVzLmM6MTc5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyB0cmVlIGNsZWFuXG4iCiBtc2dzdHIgImtow7RuZyBjw7MgZ8OsIMSR4buDIGNodXnhu4NuIGdpYW8sIHRoxrAgbeG7pWMgbMOgbSB2aeG7h2Mgc+G6oWNoIHPhur1cbiIKIAotIzogd3Qtc3RhdHVzLmM6MTgyMgorIzogd3Qtc3RhdHVzLmM6MTkwNQogbXNnaWQgIk5vIGNvbW1pdHMgeWV0IG9uICIKLW1zZ3N0ciAiVuG6q24ga2jDtG5nIHRo4buxYyBoaeG7h24gbOG7h25oIGNodXnhu4NuIGdpYW8gbsOgbyIKK21zZ3N0ciAiVuG6q24ga2jDtG5nIHRo4buxYyBoaeG7h24gbOG7h25oIGNodXnhu4NuIGdpYW8gbsOgbyAiCiAKLSM6IHd0LXN0YXR1cy5jOjE4MjYKKyM6IHd0LXN0YXR1cy5jOjE5MDkKIG1zZ2lkICJIRUFEIChubyBicmFuY2gpIgogbXNnc3RyICJIRUFEIChraMO0bmcgbmjDoW5oKSIKIAotIzogd3Qtc3RhdHVzLmM6MTg1NworIzogd3Qtc3RhdHVzLmM6MTk0MAogbXNnaWQgImRpZmZlcmVudCIKIG1zZ3N0ciAia2jDoWMiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NTkgd3Qtc3RhdHVzLmM6MTg2NworIzogd3Qtc3RhdHVzLmM6MTk0MiB3dC1zdGF0dXMuYzoxOTUwCiBtc2dpZCAiYmVoaW5kICIKIG1zZ3N0ciAixJHhurFuZyBzYXUgIgogCi0jOiB3dC1zdGF0dXMuYzoxODYyIHd0LXN0YXR1cy5jOjE4NjUKKyM6IHd0LXN0YXR1cy5jOjE5NDUgd3Qtc3RhdHVzLmM6MTk0OAogbXNnaWQgImFoZWFkICIKIG1zZ3N0ciAicGjDrWEgdHLGsOG7m2MgIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGFjdGlvbiBpcyBlLmcuICJwdWxsIHdpdGggcmViYXNlIgotIzogd3Qtc3RhdHVzLmM6MjM3NAorIzogd3Qtc3RhdHVzLmM6MjQ3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgJXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgJXM6IELhuqFuIGPDsyBjw6FjIHRoYXkgxJHhu5VpIGNoxrBhIMSRxrDhu6NjIMSRxrBhIGzDqm4gYuG7hyBwaMOzbmcuIgogCi0jOiB3dC1zdGF0dXMuYzoyMzgwCisjOiB3dC1zdGF0dXMuYzoyNDc2CiBtc2dpZCAiYWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICIiCiAidGjDqm0gdsOgbyDEkcOzLCBi4bqjbmcgbeG7pWMgbOG7pWMgY+G7p2EgYuG6oW4gY8OzIGNo4bupYSBjw6FjIHRoYXkgxJHhu5VpIGNoxrBhIMSRxrDhu6NjIGNodXnhu4NuIGdpYW8uIgogCi0jOiB3dC1zdGF0dXMuYzoyMzgyCisjOiB3dC1zdGF0dXMuYzoyNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogImtow7RuZyB0aOG7gyAlczogTeG7pWMgbOG7pWMgY+G7p2EgYuG6oW4gY8OzIGNo4bupYSBjw6FjIHRoYXkgxJHhu5VpIGNoxrBhIMSRxrDhu6NjIGNodXnhu4NuIGdpYW8uIgogCi0jOiBidWlsdGluL2FkZC5jOjI0Ci1tc2dpZCAiZ2l0IGFkZCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCi1tc2dzdHIgImdpdCBhZGQgWzxjw6FjLXTDuXktY2jhu41uPl0gWy0tXSAgPHBhdGhzcGVjPuKApiIKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1OCBidWlsdGluL2Nsb25lLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGLhu48gbGnDqm4ga+G6v3QgKHVubGluaykg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6ODMKKyM6IGJ1aWx0aW4vYWRkLmM6MjYKK21zZ2lkICJnaXQgYWRkIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKK21zZ3N0ciAiZ2l0IGFkZCBbPGPDoWMgdMO5eSBjaOG7jW4+XSBbLS1dICA8cGF0aHNwZWM+4oCmIgorCisjOiBidWlsdGluL2FkZC5jOjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgInRy4bqhbmcgdGjDoWkgbOG7h25oIGRpZmYga2jDtG5nIG5oxrAgbW9uZyDEkeG7o2kgJWMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6ODggYnVpbHRpbi9jb21taXQuYzoyODQKKyM6IGJ1aWx0aW4vYWRkLmM6OTIgYnVpbHRpbi9jb21taXQuYzoyODgKIG1zZ2lkICJ1cGRhdGluZyBmaWxlcyBmYWlsZWQiCi1tc2dzdHIgIkPhuq1wIG5o4bqtdCB04bqtcCB0aW4gZ+G6t3AgbOG7l2kiCittc2dzdHIgImPhuq1wIG5o4bqtdCB04bqtcCB0aW4gZ+G6t3AgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6OTgKKyM6IGJ1aWx0aW4vYWRkLmM6MTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlbW92ZSAnJXMnXG4iCiBtc2dzdHIgImfhu6EgYuG7jyDigJwlc+KAnVxuIgogCi0jOiBidWlsdGluL2FkZC5jOjE3MworIzogYnVpbHRpbi9hZGQuYzoxNzcKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKIG1zZ3N0ciAiIgogIsSQxrBhIHJhIGto4buPaSBi4buHIHBow7NuZyBjw6FjIHRoYXkgxJHhu5VpIHNhdSBraGkgbMOgbSB0xrDGoWkgbeG7m2kgbOG6oWkgYuG6o25nIG3hu6VjIGzhu6VjOiIKIAotIzogYnVpbHRpbi9hZGQuYzoyMzMgYnVpbHRpbi9yZXYtcGFyc2UuYzo4OTUKKyM6IGJ1aWx0aW4vYWRkLmM6MjUyIGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODk5CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu41jIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9hZGQuYzoyNDQKKyM6IGJ1aWx0aW4vYWRkLmM6MjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmcuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyDigJwlc+KAnSDEkeG7gyBnaGkuIgogCi0jOiBidWlsdGluL2FkZC5jOjI0OAorIzogYnVpbHRpbi9hZGQuYzoyNjcKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCiBtc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgcmEgbWnhur9uZyB2w6EiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjUxCisjOiBidWlsdGluL2FkZC5jOjI3MAogbXNnaWQgImVkaXRpbmcgcGF0Y2ggZmFpbGVkIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgc+G7rWEgbWnhur9uZyB2w6EiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU0CisjOiBidWlsdGluL2FkZC5jOjI3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbOG6pXkgdGjDtG5nIHRpbiB0aOG7kW5nIGvDqiB24buBIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2FkZC5jOjI1NgorIzogYnVpbHRpbi9hZGQuYzoyNzUKIG1zZ2lkICJFbXB0eSBwYXRjaC4gQWJvcnRlZC4iCiBtc2dzdHIgIk1p4bq/bmcgdsOhIHRy4buRbmcgcuG7l25nLiBOw6puIGLhu48gcXVhLiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjEKKyM6IGJ1aWx0aW4vYWRkLmM6MjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBhcHBseSAnJXMnIgogbXNnc3RyICJLaMO0bmcgdGjhu4Mgw6FwIGThu6VuZyBtaeG6v25nIHbDoSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNjkKKyM6IGJ1aWx0aW4vYWRkLmM6Mjg4CiBtc2dpZCAiVGhlIGZvbGxvd2luZyBwYXRocyBhcmUgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgogbXNnc3RyICIiCiAiQ8OhYyDEkcaw4budbmcgZOG6q24gdGhlbyBzYXUgxJHDonkgc+G6vSBi4buLIGzhu50gxJFpIGLhu59pIG3hu5l0IHRyb25nIGPDoWMgdOG6rXAgdGluIC5naXRpZ25vcmUgIgogImPhu6dhIGLhuqFuOlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjI4OSBidWlsdGluL2NsZWFuLmM6OTA3IGJ1aWx0aW4vZmV0Y2guYzoxMzcgYnVpbHRpbi9tdi5jOjEyMwotIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NiBidWlsdGluL3B1bGwuYzoyMTMgYnVpbHRpbi9wdXNoLmM6NTU3Ci0jOiBidWlsdGluL3JlbW90ZS5jOjEzNDUgYnVpbHRpbi9ybS5jOjI0MCBidWlsdGluL3NlbmQtcGFjay5jOjE2NQorIzogYnVpbHRpbi9hZGQuYzozMDggYnVpbHRpbi9jbGVhbi5jOjkxMCBidWlsdGluL2ZldGNoLmM6MTYzIGJ1aWx0aW4vbXYuYzoxMjQKKyM6IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTYgYnVpbHRpbi9wdWxsLmM6MjIzIGJ1aWx0aW4vcHVzaC5jOjU0OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzQ0IGJ1aWx0aW4vcm0uYzoyNDEgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjUKIG1zZ2lkICJkcnkgcnVuIgogbXNnc3RyICJjaOG6oXkgdGjhu60iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjkyCisjOiBidWlsdGluL2FkZC5jOjMxMQogbXNnaWQgImludGVyYWN0aXZlIHBpY2tpbmciCiBtc2dzdHIgInPhu61hIGLhurFuZyBjw6FjaCB0xrDGoW5nIHTDoWMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjkzIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU4IGJ1aWx0aW4vcmVzZXQuYzozMDUKKyM6IGJ1aWx0aW4vYWRkLmM6MzEyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDgyIGJ1aWx0aW4vcmVzZXQuYzozMDcKIG1zZ2lkICJzZWxlY3QgaHVua3MgaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAiY2jhu41uIOKAnGh1bmtz4oCdIHRoZW8ga2nhu4N1IHTGsMahbmcgdMOhYyIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTQKKyM6IGJ1aWx0aW4vYWRkLmM6MzEzCiBtc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgogbXNnc3RyICJz4butYSBkaWZmIGhp4buHbiBuYXkgdsOgIMOhcCBk4bulbmcgbsOzIgogCi0jOiBidWlsdGluL2FkZC5jOjI5NQorIzogYnVpbHRpbi9hZGQuYzozMTQKIG1zZ2lkICJhbGxvdyBhZGRpbmcgb3RoZXJ3aXNlIGlnbm9yZWQgZmlsZXMiCiBtc2dzdHIgImNobyBwaMOpcCB0aMOqbSBjw6FjIHThuq1wIHRpbiBi4buLIGLhu48gcXVhIGtow6FjIgogCi0jOiBidWlsdGluL2FkZC5jOjI5NgorIzogYnVpbHRpbi9hZGQuYzozMTUKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiY+G6rXAgbmjhuq10IGPDoWMgdOG6rXAgdGluIMSRxrDhu6NjIHRoZW8gZMO1aSIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTcKKyM6IGJ1aWx0aW4vYWRkLmM6MzE2CiBtc2dpZCAicmVub3JtYWxpemUgRU9MIG9mIHRyYWNrZWQgZmlsZXMgKGltcGxpZXMgLXUpIgogbXNnc3RyICJ0aMaw4budbmcgaMOzYSBs4bqhaSBFT0wgY+G7p2EgY8OhYyB04bqtcCB0aW4gxJHGsOG7o2MgdGhlbyBkw7VpICjDvSBsw6AgLXUpIgogCi0jOiBidWlsdGluL2FkZC5jOjI5OAorIzogYnVpbHRpbi9hZGQuYzozMTcKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBwYXRoIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgImNo4buJIGdoaSBs4bqhaSBz4buxIHZp4buHYyBtw6AgxJHGsOG7nW5nIGThuqtuIHPhur0gxJHGsOG7o2MgdGjDqm0gdsOgbyBzYXUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk5CisjOiBidWlsdGluL2FkZC5jOjMxOAogbXNnaWQgImFkZCBjaGFuZ2VzIGZyb20gYWxsIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAiIgogInRow6ptIGPDoWMgdGhheSDEkeG7lWkgdOG7qyB04bqldCBj4bqjIGPDoWMgdOG6rXAgdGluIGPDsyBjxaluZyBuaMawIGtow7RuZyDEkcaw4bujYyB0aGVvIGTDtWkgZOG6pXUgIgogInbhur90IgogCi0jOiBidWlsdGluL2FkZC5jOjMwMgorIzogYnVpbHRpbi9hZGQuYzozMjEKIG1zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKIG1zZ3N0ciAiIgogImzhu50gxJFpIGPDoWMgxJHGsOG7nW5nIGThuqtuIGLhu4sgZ+G7oSBi4buPIHRyb25nIGPDonkgdGjGsCBt4bulYyBsw6BtIHZp4buHYyAoZ2nhu5FuZyB24bubaSAtLW5vLWFsbCkiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA0CisjOiBidWlsdGluL2FkZC5jOjMyMwogbXNnaWQgImRvbid0IGFkZCwgb25seSByZWZyZXNoIHRoZSBpbmRleCIKIG1zZ3N0ciAia2jDtG5nIHRow6ptLCBjaOG7iSBsw6BtIHTGsMahaSBt4bubaSBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA1CisjOiBidWlsdGluL2FkZC5jOjMyNAogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCiBtc2dzdHIgImNoaWUgYuG7jyBxdWEgbmjhu69uZyB04bqtcCB0aW4gbcOgIG7DsyBraMO0bmcgdGjhu4MgxJHGsOG7o2MgdGjDqm0gdsOgbyBi4bufaSB2w6wgZ+G6t3AgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA2CisjOiBidWlsdGluL2FkZC5jOjMyNQogbXNnaWQgImNoZWNrIGlmIC0gZXZlbiBtaXNzaW5nIC0gZmlsZXMgYXJlIGlnbm9yZWQgaW4gZHJ5IHJ1biIKIG1zZ3N0ciAiIgogImtp4buDbSB0cmEgeGVtIC0gdGjhuq1tIGNow60gdGhp4bq/dSAtIHThuq1wIHRpbiBi4buLIGLhu48gcXVhIHRyb25nIHF1w6EgdHLDrG5oIGNo4bqheSB0aOG7rSIKIAotIzogYnVpbHRpbi9hZGQuYzozMDggYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTAKKyM6IGJ1aWx0aW4vYWRkLmM6MzI3IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNAogbXNnaWQgIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIgogbXNnc3RyICJnaGkgxJHDqCBsw6puIGLDrXQgdGhpIGjDoG5oIGPhu6dhIGPDoWMgdOG6rXAgdGluIMSRxrDhu6NjIGxp4buHdCBrw6oiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzEwCisjOiBidWlsdGluL2FkZC5jOjMyOQogbXNnaWQgIndhcm4gd2hlbiBhZGRpbmcgYW4gZW1iZWRkZWQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiY+G6o25oIGLDoW8ga2hpIHRow6ptIG3hu5l0IGtobyBuaMO6bmciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzI1CisjOiBidWlsdGluL2FkZC5jOjM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91J3ZlIGFkZGVkIGFub3RoZXIgZ2l0IHJlcG9zaXRvcnkgaW5zaWRlIHlvdXIgY3VycmVudCByZXBvc2l0b3J5LlxuIgpAQCAtNzMxOSwxNTAgKzkxMzUsMTY3IEBACiAiXG4iCiAiWGVtIFwiZ2l0IGhlbHAgc3VibW9kdWxlXCIgxJHhu4MgYmnhur90IHRow6ptIGNoaSB0aeG6v3QuIgogCi0jOiBidWlsdGluL2FkZC5jOjM1MworIzogYnVpbHRpbi9hZGQuYzozNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkaW5nIGVtYmVkZGVkIGdpdCByZXBvc2l0b3J5OiAlcyIKIG1zZ3N0ciAidGjDqm0gY+G6p24gbeG7mXQga2hvIGdpdCBuaMO6bmc6ICVzIgogCi0jOiBidWlsdGluL2FkZC5jOjM3MQorIzogYnVpbHRpbi9hZGQuYzozOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKIG1zZ3N0ciAiU+G7rSBk4bulbmcgdMO5eSBjaOG7jW4gLWYgbuG6v3UgYuG6oW4gdGjhu7FjIHPhu7EgbXXhu5FuIHRow6ptIGNow7puZyB2w6BvLlxuIgogCi0jOiBidWlsdGluL2FkZC5jOjM3OQorIzogYnVpbHRpbi9hZGQuYzo0MDAKIG1zZ2lkICJhZGRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICJ0aMOqbSB04bqtcCB0aW4gZ+G6t3AgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDE3CisjOiBidWlsdGluL2FkZC5jOjQyOCBidWlsdGluL2NvbW1pdC5jOjM0OAorI3wgbXNnaWQgIi0tZmlyc3QtcGFyZW50IGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYmlzZWN0IgorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0taW50ZXJhY3RpdmUvLS1wYXRjaCIKK21zZ3N0ciAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgeHVuZyBraOG6r2MgduG7m2kgLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIgorCisjOiBidWlsdGluL2FkZC5jOjQzNAorI3wgbXNnaWQgIi0tZmlyc3QtcGFyZW50IGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYmlzZWN0IgorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tZWRpdCIKK21zZ3N0ciAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgeHVuZyBraOG6r2MgduG7m2kgLS1lZGl0IgorCisjOiBidWlsdGluL2FkZC5jOjQ0NgogbXNnaWQgIi1BIGFuZCAtdSBhcmUgbXV0dWFsbHkgaW5jb21wYXRpYmxlIgogbXNnc3RyICItQSB2w6AgLXUgeHVuZyBraOG6r2MgbmhhdSIKIAotIzogYnVpbHRpbi9hZGQuYzo0MjQKKyM6IGJ1aWx0aW4vYWRkLmM6NDQ5CiBtc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gLS1pZ25vcmUtbWlzc2luZyBjaOG7iSBjw7MgdGjhu4MgxJHGsOG7o2MgZMO5bmcgY8O5bmcgduG7m2kgLS1kcnktcnVuIgogCi0jOiBidWlsdGluL2FkZC5jOjQyOAorIzogYnVpbHRpbi9hZGQuYzo0NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1jaG1vZCBwYXJhbSAnJXMnIG11c3QgYmUgZWl0aGVyIC14IG9yICt4IgogbXNnc3RyICItLWNobW9kIHRoYW0gc+G7kSDigJwlc+KAnSBwaOG6o2kgaG/hurdjIGzDoCAteCBoYXkgK3giCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDQzCisjOiBidWlsdGluL2FkZC5jOjQ3MSBidWlsdGluL2NoZWNrb3V0LmM6MTY0OCBidWlsdGluL2NvbW1pdC5jOjM1NAorIzogYnVpbHRpbi9yZXNldC5jOjMyNworI3wgbXNnaWQgIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggLS17aGFyZCxtaXhlZCxzb2Z0fSIKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCBwYXRoc3BlYyBhcmd1bWVudHMiCittc2dzdHIgIi0tcGF0aHNwZWMtZnJvbS1maWxlIHh1bmcga2jhuq9jIHbhu5tpIGPDoWMgdGhhbSBz4buRIMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiIKKworIzogYnVpbHRpbi9hZGQuYzo0NzggYnVpbHRpbi9jaGVja291dC5jOjE2NjAgYnVpbHRpbi9jb21taXQuYzozNjAKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMzMKK21zZ2lkICItLXBhdGhzcGVjLWZpbGUtbnVsIHJlcXVpcmVzIC0tcGF0aHNwZWMtZnJvbS1maWxlIgorbXNnc3RyICItLXBhdGhzcGVjLWZpbGUtbnVsIGPhuqduIC0tcGF0aHNwZWMtZnJvbS1maWxlIgorCisjOiBidWlsdGluL2FkZC5jOjQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3RoaW5nIHNwZWNpZmllZCwgbm90aGluZyBhZGRlZC5cbiIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBnw6wgxJHGsOG7o2MgY2jhu4kgcmEsIGtow7RuZyBjw7MgZ8OsIMSRxrDhu6NjIHRow6ptIHbDoG8uXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDQ0CisjOiBidWlsdGluL2FkZC5jOjQ4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAiQ8OzIGzhur0gw70gYuG6oW4gbMOgIOKAnGdpdCBhZGQgLuKAnSBwaOG6o2kga2jDtG5nP1xuIgogCi0jOiBidWlsdGluL2FtLmM6MzYzCisjOiBidWlsdGluL2FtLmM6MzQ3CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGF1dGhvciBzY3JpcHQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjw7ogcGjDoXAgdsSDbiBs4buHbmggdMOhYyBnaeG6oyIKIAotIzogYnVpbHRpbi9hbS5jOjQ0NworIzogYnVpbHRpbi9hbS5jOjQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIHdhcyBkZWxldGVkIGJ5IHRoZSBhcHBseXBhdGNoLW1zZyBob29rIgogbXNnc3RyICLigJwlc+KAnSBi4buLIHjDs2EgYuG7n2kgbcOzYyBhcHBseXBhdGNoLW1zZyIKIAotIzogYnVpbHRpbi9hbS5jOjQ4OAorIzogYnVpbHRpbi9hbS5jOjQ3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCiBtc2dzdHIgIkTDsm5nIMSR4bqndSB2w6BvIGThu4sgaMOsbmg6IOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9hbS5jOjUyNQorIzogYnVpbHRpbi9hbS5jOjUxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHNhbyBjaMOpcCBnaGkgY2jDuiAobm90ZSkgdOG7qyDigJwlc+KAnSB04bubaSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9hbS5jOjU1MQorIzogYnVpbHRpbi9hbS5jOjUzNwogbXNnaWQgImZzZWVrIGZhaWxlZCIKIG1zZ3N0ciAiZnNlZWsgZ+G6t3AgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vYW0uYzo3MzkKKyM6IGJ1aWx0aW4vYW0uYzo3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIHBhdGNoICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjw7ogcGjDoXAg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYW0uYzo4MDQKKyM6IGJ1aWx0aW4vYW0uYzo3OTAKIG1zZ2lkICJPbmx5IG9uZSBTdEdJVCBwYXRjaCBzZXJpZXMgY2FuIGJlIGFwcGxpZWQgYXQgb25jZSIKIG1zZ3N0ciAiQ2jhu4kgY8OzIG3hu5l0IHPDqi1yaSBtaeG6v25nIHbDoSBTdEdJVCDEkcaw4bujYyDDoXAgZOG7pW5nIG3hu5l0IGzDumMiCiAKLSM6IGJ1aWx0aW4vYW0uYzo4NTIKKyM6IGJ1aWx0aW4vYW0uYzo4MzgKIG1zZ2lkICJpbnZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAiZOG6pXUgdGjhu51pIGdpYW4ga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW4vYW0uYzo4NTcgYnVpbHRpbi9hbS5jOjg2OQorIzogYnVpbHRpbi9hbS5jOjg0MyBidWlsdGluL2FtLmM6ODU1CiBtc2dpZCAiaW52YWxpZCBEYXRlIGxpbmUiCiBtc2dzdHIgImTDsm5nIE5nw6B5IHRow6FuZyBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogYnVpbHRpbi9hbS5jOjg2NAorIzogYnVpbHRpbi9hbS5jOjg1MAogbXNnaWQgImludmFsaWQgdGltZXpvbmUgb2Zmc2V0IgogbXNnc3RyICLEkeG7mSBs4buHY2ggbcO6aSBnaeG7nSBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogYnVpbHRpbi9hbS5jOjk1NworIzogYnVpbHRpbi9hbS5jOjk0MwogbXNnaWQgIlBhdGNoIGZvcm1hdCBkZXRlY3Rpb24gZmFpbGVkLiIKIG1zZ3N0ciAiRMOyIHTDrG0gxJHhu4tuaCBk4bqhbmcgbWnhur9uZyB2w6EgZ+G6t3AgbOG7l2kuIgogCi0jOiBidWlsdGluL2FtLmM6OTYyIGJ1aWx0aW4vY2xvbmUuYzo0MDgKKyM6IGJ1aWx0aW4vYW0uYzo5NDggYnVpbHRpbi9jbG9uZS5jOjQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICJ04bqhbyB0aMawIG3hu6VjIFwiJXNcIiBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9hbS5jOjk2NworIzogYnVpbHRpbi9hbS5jOjk1MwogbXNnaWQgIkZhaWxlZCB0byBzcGxpdCBwYXRjaGVzLiIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIGNoaWEgbmjhu48gY8OhYyBtaeG6v25nIHbDoS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMDk3IGJ1aWx0aW4vY29tbWl0LmM6MzY5Ci1tc2dpZCAidW5hYmxlIHRvIHdyaXRlIGluZGV4IGZpbGUiCi1tc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgbeG7pWMgbOG7pWMiCi0KLSM6IGJ1aWx0aW4vYW0uYzoxMTExCisjOiBidWlsdGluL2FtLmM6MTA4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiJXMgLS1jb250aW51ZVwiLiIKIG1zZ3N0ciAiS2hpIGLhuqFuIMSRw6MgcGjDom4gZ2nhuqNpIHhvbmcgdHLhu6VjIHRy4bq3YyBuw6B5LCBow6N5IGNo4bqheSBcIiVzIC0tY29udGludWVcIi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTEyCisjOiBidWlsdGluL2FtLmM6MTA4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhpcyBwYXRjaCwgcnVuIFwiJXMgLS1za2lwXCIgaW5zdGVhZC4iCiBtc2dzdHIgIiIKICJO4bq/dSBi4bqhbiBtdeG7kW4gYuG7jyBxdWEgbWnhur9uZyB2w6EgbsOgeSwgaMOjeSBjaOG6oXkgbOG7h25oIFwiJXMgLS1za2lwXCIgxJHhu4MgdGhheSB0aOG6vy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTEzCisjOiBidWlsdGluL2FtLmM6MTA4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJUbyByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIHN0b3AgcGF0Y2hpbmcsIHJ1biBcIiVzIC0tYWJvcnRcIi4iCiBtc2dzdHIgIsSQ4buDIHBo4bulYyBo4buTaSBs4bqhaSBuaMOhbmggZ+G7kWMgdsOgIGThu6tuZyB2w6EsIGjDo3kgY2jhuqF5IFwiJXMgLS1hYm9ydFwiLiIKIAotIzogYnVpbHRpbi9hbS5jOjExOTYKKyM6IGJ1aWx0aW4vYW0uYzoxMTY5CiBtc2dpZCAiUGF0Y2ggc2VudCB3aXRoIGZvcm1hdD1mbG93ZWQ7IHNwYWNlIGF0IHRoZSBlbmQgb2YgbGluZXMgbWlnaHQgYmUgbG9zdC4iCiBtc2dzdHIgIiIKICJNaeG6v25nIHbDoSDEkcaw4bujYyBn4butaSB24bubaSBmb3JtYXQ9Zmxvd2VkOyBraG/huqNuZyB0cuG7kW5nIOG7nyBjdeG7kWkgY+G7p2EgY8OhYyBkw7JuZyBjw7MgdGjhu4MgIgogImLhu4sgbeG6pXQuIgogCi0jOiBidWlsdGluL2FtLmM6MTIyNAorIzogYnVpbHRpbi9hbS5jOjExOTcKIG1zZ2lkICJQYXRjaCBpcyBlbXB0eS4iCiBtc2dzdHIgIk1p4bq/bmcgdsOhIHRy4buRbmcgcuG7l25nLiIKIAotIzogYnVpbHRpbi9hbS5jOjEyOTAKKyM6IGJ1aWx0aW4vYW0uYzoxMjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgYXV0aG9yIGxpbmUgaW4gY29tbWl0ICVzIgorbXNnc3RyICJ0aGnhur91IGTDsm5nIHTDoWMgZ2nhuqMgdHJvbmcgbOG6p24gY2h1eeG7g24gZ2lhICVzIgorCisjOiBidWlsdGluL2FtLmM6MTI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICUuKnMiCiBtc2dzdHIgImTDsm5nIHRo4buldCBs4buBIGtow7RuZyBo4bujcCBs4buHOiAlLipzIgogCi0jOiBidWlsdGluL2FtLmM6MTMxMgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0ICVzIgotbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggbOG6p24gY2h1eeG7g24gZ2lhbyDigJwlc+KAnSIKLQotIzogYnVpbHRpbi9hbS5jOjE1MDgKKyM6IGJ1aWx0aW4vYW0uYzoxNDg0CiBtc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyBuZWNlc3NhcnkgYmxvYnMgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKIG1zZ3N0ciAiS2hvIHRoaeG6v3UgxJHhu5FpIHTGsOG7o25nIGJsb2IgY+G6p24gdGhp4bq/dCDEkeG7gyB0cuG7nyB24buBIHRyw6puIOKAnDMtd2F5IG1lcmdl4oCdLiIKIAotIzogYnVpbHRpbi9hbS5jOjE1MTAKKyM6IGJ1aWx0aW4vYW0uYzoxNDg2CiBtc2dpZCAiVXNpbmcgaW5kZXggaW5mbyB0byByZWNvbnN0cnVjdCBhIGJhc2UgdHJlZS4uLiIKIG1zZ3N0ciAiIgogIlPhu60gZOG7pW5nIHRow7RuZyB0aW4gdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjIMSR4buDIGPhuqV1IHRyw7pjIGzhuqFpIG3hu5l0IGPDonkgKHRyZWUpIGPGoSBz4buf4oCmIgogCi0jOiBidWlsdGluL2FtLmM6MTUyOQorIzogYnVpbHRpbi9hbS5jOjE1MDUKIG1zZ2lkICIiCiAiRGlkIHlvdSBoYW5kIGVkaXQgeW91ciBwYXRjaD9cbiIKICJJdCBkb2VzIG5vdCBhcHBseSB0byBibG9icyByZWNvcmRlZCBpbiBpdHMgaW5kZXguIgpAQCAtNzQ3MCwyOSArOTMwMywyNCBAQAogIkLhuqFuIMSRw6Mgc+G7rWEgbWnhur9uZyB2w6EgY+G7p2EgbcOsbmggYuG6sW5nIGPDoWNoIHRo4bunIGPDtG5nIMOgP1xuIgogIk7DsyBraMO0bmcgdGjhu4Mgw6FwIGThu6VuZyBjw6FjIGJsb2IgxJHDoyDEkcaw4bujYyBnaGkgbOG6oWkgdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjIGPhu6dhIG7Dsy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNTM1CisjOiBidWlsdGluL2FtLmM6MTUxMQogbXNnaWQgIkZhbGxpbmcgYmFjayB0byBwYXRjaGluZyBiYXNlIGFuZCAzLXdheSBtZXJnZS4uLiIKIG1zZ3N0ciAixJBhbmcgdHLhu58gbOG6oWkgxJHhu4MgdsOhIGPGoSBz4bufIHbDoCDigJxow7JhIHRy4buZbiAzLcSRxrDhu51uZ+KAneKApiIKIAotIzogYnVpbHRpbi9hbS5jOjE1NjEKKyM6IGJ1aWx0aW4vYW0uYzoxNTM3CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIGluIHRoZSBjaGFuZ2VzLiIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHRy4buZbiB2w6BvIGPDoWMgdGhheSDEkeG7lWkuIgogCi0jOiBidWlsdGluL2FtLmM6MTU5MworIzogYnVpbHRpbi9hbS5jOjE1NjkKIG1zZ2lkICJhcHBseWluZyB0byBhbiBlbXB0eSBoaXN0b3J5IgogbXNnc3RyICLDoXAgZOG7pW5nIHbDoG8gbeG7mXQgbOG7i2NoIHPhu60gdHLhu5FuZyBy4buXbmciCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjM5IGJ1aWx0aW4vYW0uYzoxNjQzCisjOiBidWlsdGluL2FtLmM6MTYxNiBidWlsdGluL2FtLmM6MTYyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzdW1lOiAlcyBkb2VzIG5vdCBleGlzdC4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaOG7pWMgaOG7k2k6ICVzIGtow7RuZyB04buTbiB04bqhaS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjU5Ci1tc2dpZCAiY2Fubm90IGJlIGludGVyYWN0aXZlIHdpdGhvdXQgc3RkaW4gY29ubmVjdGVkIHRvIGEgdGVybWluYWwuIgotbXNnc3RyICIiCi0ia2jDtG5nIHRo4buDIMSRxrDhu6NjIHTGsMahbmcgdMOhYyBtw6Aga2jDtG5nIGPDsyBzdGRpbiBr4bq/dCBu4buRaSB24bubaSBt4buZdCB0aGnhur90IGLhu4sgY3Xhu5FpIgotCi0jOiBidWlsdGluL2FtLmM6MTY2NAorIzogYnVpbHRpbi9hbS5jOjE2MzgKIG1zZ2lkICJDb21taXQgQm9keSBpczoiCiBtc2dzdHIgIlRow6JuIGPhu6dhIGzhuqduIGNodXnhu4NuIGdpYW8gbMOgOiIKIApAQCAtNzUwMCwzNiArOTMyOCw0MSBAQAogIy4gaW4geW91ciB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoCiAjLiBpbnB1dCBhdCB0aGlzIHBvaW50LgogIy4KLSM6IGJ1aWx0aW4vYW0uYzoxNjc0CisjOiBidWlsdGluL2FtLmM6MTY0OAorIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseT8gW3ldZXMvW25dby9bZV1kaXQvW3ZdaWV3IHBhdGNoL1thXWNjZXB0IGFsbDogIgogbXNnc3RyICIiCiAiw4FwIGThu6VuZz8gxJHhu5NuZyDDvSBbeV0va2jDtFtuXWcvY2jhu4luaCBz4butYSBbZV0vaGnhu4NuIHRo4buLIG1p4bq/bmcgW3Zdw6EvY2jhuqVwIG5o4bqtbiB04bqldCAiCiAiY+G6oyBbYV06ICIKIAotIzogYnVpbHRpbi9hbS5jOjE3MjQKKyM6IGJ1aWx0aW4vYW0uYzoxNjk1IGJ1aWx0aW4vY29tbWl0LmM6Mzk0Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGluZGV4IGZpbGUiCittc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgbeG7pWMgbOG7pWMiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRpcnR5IGluZGV4OiBjYW5ub3QgYXBwbHkgcGF0Y2hlcyAoZGlydHk6ICVzKSIKIG1zZ3N0ciAiQuG6o25nIG3hu6VjIGzhu6VjIGLhuqluOiBraMO0bmcgdGjhu4Mgw6FwIGThu6VuZyBjw6FjIG1p4bq/bmcgdsOhIChi4bqpbjogJXMpIgogCi0jOiBidWlsdGluL2FtLmM6MTc2NCBidWlsdGluL2FtLmM6MTgzMgorIzogYnVpbHRpbi9hbS5jOjE3MzkgYnVpbHRpbi9hbS5jOjE4MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbHlpbmc6ICUuKnMiCiBtc2dzdHIgIsOBcCBk4bulbmc6ICUuKnMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzgxCisjOiBidWlsdGluL2FtLmM6MTc1NgogbXNnaWQgIk5vIGNoYW5nZXMgLS0gUGF0Y2ggYWxyZWFkeSBhcHBsaWVkLiIKIG1zZ3N0ciAiS2jDtG5nIHRoYXkgxJHhu5VpIGfDrCBj4bqjIC0tIE1p4bq/bmcgdsOhIMSRw6MgxJHGsOG7o2Mgw6FwIGThu6VuZyBy4buTaS4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzg3CisjOiBidWlsdGluL2FtLmM6MTc2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJQYXRjaCBmYWlsZWQgYXQgJXMgJS4qcyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHbDoSB04bqhaSAlcyAlLipzIgogCi0jOiBidWlsdGluL2FtLmM6MTc5MQorIzogYnVpbHRpbi9hbS5jOjE3NjYKIG1zZ2lkICJVc2UgJ2dpdCBhbSAtLXNob3ctY3VycmVudC1wYXRjaCcgdG8gc2VlIHRoZSBmYWlsZWQgcGF0Y2giCiBtc2dzdHIgIkTDuW5nIOKAnGdpdCBhbSAtLXNob3ctY3VycmVudC1wYXRjaOKAnSDEkeG7gyB4ZW0gbWnhur9uZyB2w6EgYuG7iyBs4buXaSIKIAotIzogYnVpbHRpbi9hbS5jOjE4MzUKKyM6IGJ1aWx0aW4vYW0uYzoxODEwCiBtc2dpZCAiIgogIk5vIGNoYW5nZXMgLSBkaWQgeW91IGZvcmdldCB0byB1c2UgJ2dpdCBhZGQnP1xuIgogIklmIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCB0byBzdGFnZSwgY2hhbmNlcyBhcmUgdGhhdCBzb21ldGhpbmcgZWxzZVxuIgpAQCAtNzU0MCw3ICs5MzczLDcgQEAKICLEkcOjIHPhurVuIMSRxrDhu6NjIMSRxrBhIHbDoG8gduG7m2kgY8O5bmcgbuG7mWkgZHVuZyB0aGF5IMSR4buVaTsgYuG6oW4gY8OzIGzhur0gbXXhu5FuIGLhu48gcXVhIG1p4bq/bmcgIgogInbDoSBuw6B5LiIKIAotIzogYnVpbHRpbi9hbS5jOjE4NDIKKyM6IGJ1aWx0aW4vYW0uYzoxODE3CiBtc2dpZCAiIgogIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCiAiWW91IHNob3VsZCAnZ2l0IGFkZCcgZWFjaCBmaWxlIHdpdGggcmVzb2x2ZWQgY29uZmxpY3RzIHRvIG1hcmsgdGhlbSBhcyAiCkBAIC03NTUzLDE3ICs5Mzg2LDE3IEBACiAiQuG6oW4gY8OzIGzhur0gbXXhu5FuIGNo4bqheSDigJxnaXQgcm3igJwgdHLDqm4gbeG7mXQgdOG6rXAgdGluIMSR4buDIGNo4bqlcCBuaOG6rW4gXCLEkcaw4bujYyB4w7NhIGLhu59pIGjhu40iCiAiXCIgY2hvIG7Dsy4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxOTQ5IGJ1aWx0aW4vYW0uYzoxOTUzIGJ1aWx0aW4vYW0uYzoxOTY1IGJ1aWx0aW4vcmVzZXQuYzozMjgKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMzYKKyM6IGJ1aWx0aW4vYW0uYzoxOTI0IGJ1aWx0aW4vYW0uYzoxOTI4IGJ1aWx0aW4vYW0uYzoxOTQwIGJ1aWx0aW4vcmVzZXQuYzozNDYKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBhcnNlIG9iamVjdCAnJXMnLiIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIMSR4buRaSB0xrDhu6NuZyDigJwlc+KAnS4iCittc2dzdHIgIktow7RuZyB0aOG7gyBwaMOibiB0w61jaCDEkeG7kWkgdMaw4bujbmcg4oCcJXPigJ0uIgogCi0jOiBidWlsdGluL2FtLmM6MjAwMQorIzogYnVpbHRpbi9hbS5jOjE5NzYKIG1zZ2lkICJmYWlsZWQgdG8gY2xlYW4gaW5kZXgiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBk4buNbiBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMDM2CisjOiBidWlsdGluL2FtLmM6MjAyMAogbXNnaWQgIiIKICJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQgc2luY2UgdGhlIGxhc3QgJ2FtJyBmYWlsdXJlLlxuIgogIk5vdCByZXdpbmRpbmcgdG8gT1JJR19IRUFEIgpAQCAtNzU3MSwxNDQgKzk0MDQsMTQ0IEBACiAiQuG6oW4gY8OzIGzhur0gxJHDoyBjw7MgSEVBRCDEkcOjIGLhu4sgZGkgY2h1eeG7g24gxJFpIGvhu4MgdOG7qyBs4bqnbiDigJxhbeKAnSB0aOG6pXQgYuG6oWkgY3Xhu5FpIGPDuW5nLlxuIgogIktow7RuZyB0aOG7gyBjaHV54buDbiB04bubaSBPUklHX0hFQUQiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTI5CisjOiBidWlsdGluL2FtLmM6MjExNwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAtLXBhdGNoLWZvcm1hdDogJXMiCiBtc2dzdHIgIkdpw6EgdHLhu4sga2jDtG5nIGjhu6NwIGzhu4cgY2hvIC0tcGF0Y2gtZm9ybWF0OiAlcyIKIAotIzogYnVpbHRpbi9hbS5jOjIxNjUKKyM6IGJ1aWx0aW4vYW0uYzoyMTUzCiBtc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dIFsoPG1ib3g+IHwgPE1haWxkaXI+KS4uLl0iCi1tc2dzdHIgImdpdCBhbSBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbKDxtYm94Pnw8TWFpbGRpcj4p4oCmXSIKK21zZ3N0ciAiZ2l0IGFtIFs8Y8OhYyB0w7l5IGNo4buNbj5dIFsoPG1ib3g+fDxNYWlsZGlyPinigKZdIgogCi0jOiBidWlsdGluL2FtLmM6MjE2NgorIzogYnVpbHRpbi9hbS5jOjIxNTQKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKLW1zZ3N0ciAiZ2l0IGFtIFs8Y8OhYy10w7l5LWNo4buNbj5dICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCkiCittc2dzdHIgImdpdCBhbSBbPGPDoWMgdMO5eSBjaOG7jW4+XSAoLS1jb250aW51ZSB8IC0tc2tpcCB8IC0tYWJvcnQpIgogCi0jOiBidWlsdGluL2FtLmM6MjE3MgorIzogYnVpbHRpbi9hbS5jOjIxNjAKIG1zZ2lkICJydW4gaW50ZXJhY3RpdmVseSIKIG1zZ3N0ciAiY2jhuqF5IGtp4buDdSB0xrDGoW5nIHTDoWMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTc0CisjOiBidWlsdGluL2FtLmM6MjE2MgogbXNnaWQgImhpc3RvcmljYWwgb3B0aW9uIC0tIG5vLW9wIgogbXNnc3RyICJ0w7l5IGNo4buNbiBs4buLY2ggc+G7rSAtLSBraMO0bmctdG/DoW4tdOG7rSIKIAotIzogYnVpbHRpbi9hbS5jOjIxNzYKKyM6IGJ1aWx0aW4vYW0uYzoyMTY0CiBtc2dpZCAiYWxsb3cgZmFsbCBiYWNrIG9uIDN3YXkgbWVyZ2luZyBpZiBuZWVkZWQiCiBtc2dzdHIgImNobyBwaMOpcCBxdWF5IHRy4bufIGzhuqFpIMSR4buDIGjDsmEgdHLhu5luIGtp4buDdSDigJwzd2F54oCdIG7hur91IGPhuqduIgogCi0jOiBidWlsdGluL2FtLmM6MjE3NyBidWlsdGluL2luaXQtZGIuYzo0ODYgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1OAotIzogYnVpbHRpbi9yZXBhY2suYzozMDYKKyM6IGJ1aWx0aW4vYW0uYzoyMTY1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NCBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU4CisjOiBidWlsdGluL3JlcGFjay5jOjMwNCBidWlsdGluL3N0YXNoLmM6ODExCiBtc2dpZCAiYmUgcXVpZXQiCiBtc2dzdHIgImltIGzhurduZyIKIAotIzogYnVpbHRpbi9hbS5jOjIxNzkKKyM6IGJ1aWx0aW4vYW0uYzoyMTY3CiBtc2dpZCAiYWRkIGEgU2lnbmVkLW9mZi1ieSBsaW5lIHRvIHRoZSBjb21taXQgbWVzc2FnZSIKLW1zZ3N0ciAiVGjDqm0gZMOybmcgU2lnbmVkLW9mZi1ieSBjaG8gZ2hpIGNow7ogY+G7p2EgbOG6p24gY2h1eeG7g24gZ2lhbyIKK21zZ3N0ciAidGjDqm0gZMOybmcgU2lnbmVkLW9mZi1ieSBjaG8gZ2hpIGNow7ogY+G7p2EgbOG6p24gY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9hbS5jOjIxODIKKyM6IGJ1aWx0aW4vYW0uYzoyMTcwCiBtc2dpZCAicmVjb2RlIGludG8gdXRmOCAoZGVmYXVsdCkiCiBtc2dzdHIgImNodXnhu4NuIG3DoyB0aMOgbmggdXRmOCAobeG6t2MgxJHhu4tuaCkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTg0CisjOiBidWlsdGluL2FtLmM6MjE3MgogbXNnaWQgInBhc3MgLWsgZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgImNodXnhu4NuIGPhu50gLWsgY2hvIGdpdC1tYWlsaW5mbyIKIAotIzogYnVpbHRpbi9hbS5jOjIxODYKKyM6IGJ1aWx0aW4vYW0uYzoyMTc0CiBtc2dpZCAicGFzcyAtYiBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAiY2h1eeG7g24gY+G7nSAtYiBjaG8gZ2l0LW1haWxpbmZvIgogCi0jOiBidWlsdGluL2FtLmM6MjE4OAorIzogYnVpbHRpbi9hbS5jOjIxNzYKIG1zZ2lkICJwYXNzIC1tIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICJjaHV54buDbiBj4budIC1tIGNobyBnaXQtbWFpbGluZm8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTkwCisjOiBidWlsdGluL2FtLmM6MjE3OAogbXNnaWQgInBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBmb3IgbWJveCBmb3JtYXQiCiBtc2dzdHIgImNodXnhu4NuIGPhu50gLS1rZWVwLWNyIGNobyBnaXQtbWFpbHNwbGl0IHbhu5tpIMSR4buLbmggZOG6oW5nIG1ib3giCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTkzCisjOiBidWlsdGluL2FtLmM6MjE4MQogbXNnaWQgImRvIG5vdCBwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgaW5kZXBlbmRlbnQgb2YgYW0ua2VlcGNyIgogbXNnc3RyICIiCiAixJHhu6tuZyBjaHV54buDbiBj4budIC0ta2VlcC1jciBjaG8gZ2l0LW1haWxzcGxpdCBraMO0bmcgcGjhu6UgdGh14buZYyB2w6BvIGFtLmtlZXBjciIKIAotIzogYnVpbHRpbi9hbS5jOjIxOTYKKyM6IGJ1aWx0aW4vYW0uYzoyMTg0CiBtc2dpZCAic3RyaXAgZXZlcnl0aGluZyBiZWZvcmUgYSBzY2lzc29ycyBsaW5lIgogbXNnc3RyICJj4bqvdCBt4buNaSB0aOG7qSB0csaw4bubYyBkw7JuZyBzY2lzc29ycyIKIAorIzogYnVpbHRpbi9hbS5jOjIxODYgYnVpbHRpbi9hbS5jOjIxODkgYnVpbHRpbi9hbS5jOjIxOTIgYnVpbHRpbi9hbS5jOjIxOTUKICM6IGJ1aWx0aW4vYW0uYzoyMTk4IGJ1aWx0aW4vYW0uYzoyMjAxIGJ1aWx0aW4vYW0uYzoyMjA0IGJ1aWx0aW4vYW0uYzoyMjA3Ci0jOiBidWlsdGluL2FtLmM6MjIxMCBidWlsdGluL2FtLmM6MjIxMyBidWlsdGluL2FtLmM6MjIxNiBidWlsdGluL2FtLmM6MjIxOQotIzogYnVpbHRpbi9hbS5jOjIyMjUKKyM6IGJ1aWx0aW4vYW0uYzoyMjEzCiBtc2dpZCAicGFzcyBpdCB0aHJvdWdoIGdpdC1hcHBseSIKIG1zZ3N0ciAiY2h1eeG7g24gbsOzIHF1YSBnaXQtYXBwbHkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjE1IGJ1aWx0aW4vY29tbWl0LmM6MTM0MCBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzEKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NCBidWlsdGluL2dyZXAuYzo4NjggYnVpbHRpbi9tZXJnZS5jOjIzOQotIzogYnVpbHRpbi9wdWxsLmM6MTUxIGJ1aWx0aW4vcHVsbC5jOjIwOSBidWlsdGluL3JlYmFzZS5jOjg1NAotIzogYnVpbHRpbi9yZXBhY2suYzozMTcgYnVpbHRpbi9yZXBhY2suYzozMjEgYnVpbHRpbi9yZXBhY2suYzozMjMKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTEgYnVpbHRpbi9zaG93LXJlZi5jOjE3MSBidWlsdGluL3RhZy5jOjM4NgotIzogcGFyc2Utb3B0aW9ucy5oOjE0NCBwYXJzZS1vcHRpb25zLmg6MTQ2IHBhcnNlLW9wdGlvbnMuaDoyNjgKKyM6IGJ1aWx0aW4vYW0uYzoyMjAzIGJ1aWx0aW4vY29tbWl0LmM6MTM4NiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzMKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NiBidWlsdGluL2dyZXAuYzo4ODMgYnVpbHRpbi9tZXJnZS5jOjI0OQorIzogYnVpbHRpbi9wdWxsLmM6MTYwIGJ1aWx0aW4vcHVsbC5jOjIxOSBidWlsdGluL3JlYmFzZS5jOjE0NjkKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE1IGJ1aWx0aW4vcmVwYWNrLmM6MzE5IGJ1aWx0aW4vcmVwYWNrLmM6MzIxCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUwIGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzIgYnVpbHRpbi90YWcuYzo0MDMKKyM6IHBhcnNlLW9wdGlvbnMuaDoxNTQgcGFyc2Utb3B0aW9ucy5oOjE3NSBwYXJzZS1vcHRpb25zLmg6MzE2CiBtc2dpZCAibiIKIG1zZ3N0ciAibiIKIAotIzogYnVpbHRpbi9hbS5jOjIyMjEgYnVpbHRpbi9icmFuY2guYzo2MzcgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQ0IGJ1aWx0aW4vdGFnLmM6NDIyIGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM5CisjOiBidWlsdGluL2FtLmM6MjIwOSBidWlsdGluL2JyYW5jaC5jOjY2MSBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NTUgYnVpbHRpbi90YWcuYzo0MzcgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzgKIG1zZ2lkICJmb3JtYXQiCiBtc2dzdHIgIsSR4buLbmggZOG6oW5nIgogCi0jOiBidWlsdGluL2FtLmM6MjIyMgorIzogYnVpbHRpbi9hbS5jOjIyMTAKIG1zZ2lkICJmb3JtYXQgdGhlIHBhdGNoKGVzKSBhcmUgaW4iCiBtc2dzdHIgIsSR4buLbmggZOG6oW5nIChjw6FjKSBtaeG6v25nIHbDoSB0aGVvIgogCi0jOiBidWlsdGluL2FtLmM6MjIyOAorIzogYnVpbHRpbi9hbS5jOjIyMTYKIG1zZ2lkICJvdmVycmlkZSBlcnJvciBtZXNzYWdlIHdoZW4gcGF0Y2ggZmFpbHVyZSBvY2N1cnMiCiBtc2dzdHIgIsSRw6ggbMOqbiBjw6FjIGzhu51pIG5o4bqvbiBs4buXaSBraGkgeOG6o3kgcmEgbOG7l2kgdsOhIG5naGnDqm0gdHLhu41uZyIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzAKKyM6IGJ1aWx0aW4vYW0uYzoyMjE4CiBtc2dpZCAiY29udGludWUgYXBwbHlpbmcgcGF0Y2hlcyBhZnRlciByZXNvbHZpbmcgYSBjb25mbGljdCIKIG1zZ3N0ciAidGnhur9wIHThu6VjIMOhcCBk4bulbmcgY8OhYyBtaeG6v25nIHbDoSBzYXUga2hpIGdp4bqjaSBxdXnhur90IHh1bmcgxJHhu5l0IgogCi0jOiBidWlsdGluL2FtLmM6MjIzMworIzogYnVpbHRpbi9hbS5jOjIyMjEKIG1zZ2lkICJzeW5vbnltcyBmb3IgLS1jb250aW51ZSIKIG1zZ3N0ciAixJHhu5NuZyBuZ2jEqWEgduG7m2kgLS1jb250aW51ZSIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzYKKyM6IGJ1aWx0aW4vYW0uYzoyMjI0CiBtc2dpZCAic2tpcCB0aGUgY3VycmVudCBwYXRjaCIKIG1zZ3N0ciAiYuG7jyBxdWEgbWnhur9uZyB2w6EgaGnhu4duIGjDoG5oIgogCi0jOiBidWlsdGluL2FtLmM6MjIzOQorIzogYnVpbHRpbi9hbS5jOjIyMjcKIG1zZ2lkICJyZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIGFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24uIgogbXNnc3RyICJwaOG7pWMgaOG7k2kgbOG6oWkgbmjDoW5oIGfhu5FjIHbDoCBsb+G6oWkgYuG7jyB0aGFvIHTDoWMgdsOhLiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDIKKyM6IGJ1aWx0aW4vYW0uYzoyMjMwCiBtc2dpZCAiYWJvcnQgdGhlIHBhdGNoaW5nIG9wZXJhdGlvbiBidXQga2VlcCBIRUFEIHdoZXJlIGl0IGlzLiIKIG1zZ3N0ciAiYuG7jyBxdWEgdGhhbyB0w6FjIHbDoSBuaMawbmcgduG6q24gZ2nhu68gSEVBRCBjaOG7iSDEkeG6v24gbsOzLiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDUKKyM6IGJ1aWx0aW4vYW0uYzoyMjMzCiBtc2dpZCAic2hvdyB0aGUgcGF0Y2ggYmVpbmcgYXBwbGllZC4iCiBtc2dzdHIgImhp4buDbiB0aOG7iyBtaeG6v25nIHbDoSDEkcOjIMSRxrDhu6NjIMOhcCBk4bulbmcgcuG7k2kuIgogCi0jOiBidWlsdGluL2FtLmM6MjI0OQorIzogYnVpbHRpbi9hbS5jOjIyMzcKIG1zZ2lkICJsaWUgYWJvdXQgY29tbWl0dGVyIGRhdGUiCiBtc2dzdHIgIm7Ds2kgZOG7kWkgduG7gSBuZ8OgeSBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL2FtLmM6MjI1MQorIzogYnVpbHRpbi9hbS5jOjIyMzkKIG1zZ2lkICJ1c2UgY3VycmVudCB0aW1lc3RhbXAgZm9yIGF1dGhvciBkYXRlIgogbXNnc3RyICJkw7luZyBk4bqldSB0aOG7nWkgZ2lhbiBoaeG7h24gdOG6oWkgY2hvIG5nw6B5IHTDoWMgZ2nhuqMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUzIGJ1aWx0aW4vY29tbWl0LmM6MTQ4MyBidWlsdGluL21lcmdlLmM6MjczCi0jOiBidWlsdGluL3B1bGwuYzoxODQgYnVpbHRpbi9yZWJhc2UuYzo4OTggYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgzCi0jOiBidWlsdGluL3JldmVydC5jOjExMyBidWlsdGluL3RhZy5jOjQwMgorIzogYnVpbHRpbi9hbS5jOjIyNDEgYnVpbHRpbi9jb21taXQtdHJlZS5jOjEyMCBidWlsdGluL2NvbW1pdC5jOjE1MDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODYgYnVpbHRpbi9wdWxsLmM6MTk0IGJ1aWx0aW4vcmViYXNlLmM6NTA5CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MTMgYnVpbHRpbi9yZXZlcnQuYzoxMTcgYnVpbHRpbi90YWcuYzo0MTgKIG1zZ2lkICJrZXktaWQiCiBtc2dzdHIgIm3Doy1z4buRLWtow7NhIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NCBidWlsdGluL3JlYmFzZS5jOjg5OSBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODQKKyM6IGJ1aWx0aW4vYW0uYzoyMjQyIGJ1aWx0aW4vcmViYXNlLmM6NTEwIGJ1aWx0aW4vcmViYXNlLmM6MTUxNAogbXNnaWQgIkdQRy1zaWduIGNvbW1pdHMiCi1tc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8ga8O9LUdQRyIKK21zZ3N0ciAiQ8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGvDvS1HUEciCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjU3CisjOiBidWlsdGluL2FtLmM6MjI0NQogbXNnaWQgIihpbnRlcm5hbCB1c2UgZm9yIGdpdC1yZWJhc2UpIgogbXNnc3RyICIoZMO5bmcgbuG7mWkgYuG7mSBjaG8gZ2l0LXJlYmFzZSkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjc1CisjOiBidWlsdGluL2FtLmM6MjI2MwogbXNnaWQgIiIKICJUaGUgLWIvLS1iaW5hcnkgb3B0aW9uIGhhcyBiZWVuIGEgbm8tb3AgZm9yIGxvbmcgdGltZSwgYW5kXG4iCiAiaXQgd2lsbCBiZSByZW1vdmVkLiBQbGVhc2UgZG8gbm90IHVzZSBpdCBhbnltb3JlLiIKQEAgLTc3MTYsMTYgKzk1NDksMTYgQEAKICJUw7l5IGNo4buNbiAtYi8tLWJpbmFyeSDEkcOjIGtow7RuZyBkw7luZyB04burIGzDonUgcuG7k2ksIHbDoFxuIgogIm7DsyBz4bq9IMSRxrDhu6NjIGLhu48gxJFpLiBYaW4gxJHhu6tuZyBz4butIGThu6VuZyBuw7MgdGjDqm0gbuG7r2EuIgogCi0jOiBidWlsdGluL2FtLmM6MjI4MgorIzogYnVpbHRpbi9hbS5jOjIyNzAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImfhurdwIGzhu5dpIMSR4buNYyBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjk3CisjOiBidWlsdGluL2FtLmM6MjI4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmV2aW91cyByZWJhc2UgZGlyZWN0b3J5ICVzIHN0aWxsIGV4aXN0cyBidXQgbWJveCBnaXZlbi4iCiBtc2dzdHIgInRoxrAgbeG7pWMgcmViYXNlIHRyxrDhu5tjICVzIGtow7RuZyBz4bq1biBjw7MgbmjGsG5nIG1ib3ggbOG6oWkgxJHGsGEgcmEuIgogCi0jOiBidWlsdGluL2FtLmM6MjMyMQorIzogYnVpbHRpbi9hbS5jOjIzMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN0cmF5ICVzIGRpcmVjdG9yeSBmb3VuZC5cbiIKQEAgLTc3MzQsMTMgKzk1NjcsMTcgQEAKICJUw6xtIHRo4bqleSB0aMawIG3hu6VjIGzhuqFjICVzLlxuIgogIkTDuW5nIFwiZ2l0IGFtIC0tYWJvcnRcIiDEkeG7gyBsb+G6oWkgYuG7jyBuw7MgxJFpLiIKIAotIzogYnVpbHRpbi9hbS5jOjIzMjcKKyM6IGJ1aWx0aW4vYW0uYzoyMzE1CiBtc2dpZCAiUmVzb2x2ZSBvcGVyYXRpb24gbm90IGluIHByb2dyZXNzLCB3ZSBhcmUgbm90IHJlc3VtaW5nLiIKIG1zZ3N0ciAiVGhhbyB0w6FjIHBow6JuIGdp4bqjaSBraMO0bmcgxJHGsOG7o2MgdGnhur9uIGjDoG5oLCBjaMO6bmcgdGEga2jDtG5nIHBo4bulYyBo4buTaSBs4bqhaS4iCiAKKyM6IGJ1aWx0aW4vYW0uYzoyMzI1Cittc2dpZCAiaW50ZXJhY3RpdmUgbW9kZSByZXF1aXJlcyBwYXRjaGVzIG9uIHRoZSBjb21tYW5kIGxpbmUiCittc2dzdHIgImNo4bq/IMSR4buZIHTGsMahbmcgdMOhYyB5w6p1IGPhuqd1IGPDsyBjw6FjIG1p4bq/bmcgdsOhIHRyw6puIGTDsm5nIGzDqm5oIgorCiAjOiBidWlsdGluL2FwcGx5LmM6OAogbXNnaWQgImdpdCBhcHBseSBbPG9wdGlvbnM+XSBbPHBhdGNoPi4uLl0iCi1tc2dzdHIgImdpdCBhcHBseSBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbPG1p4bq/bmctdsOhPuKApl0iCittc2dzdHIgImdpdCBhcHBseSBbPGPDoWMgdMO5eSBjaOG7jW4+XSBbPG1p4bq/bmctdsOhPuKApl0iCiAKICM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjE3CiAjLCBjLWZvcm1hdApAQCAtNzc1NSwyMjQgKzk1OTIsNDUxIEBACiBtc2dpZCAiZ2l0IGFyY2hpdmU6IFJlbW90ZSB3aXRoIG5vIFVSTCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmU6IE3DoXkgY2jhu6cga2jDtG5nIGPDsyDEkeG7i2EgY2jhu4kgVVJMIgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo1OAorIzogYnVpbHRpbi9hcmNoaXZlLmM6NjEKIG1zZ2lkICJnaXQgYXJjaGl2ZTogZXhwZWN0ZWQgQUNLL05BSywgZ290IGEgZmx1c2ggcGFja2V0IgogbXNnc3RyICJnaXQgYXJjaGl2ZTogY+G6p24gQUNLL05BSywgbmjGsG5nIGzhuqFpIG5o4bqtbiDEkcaw4bujYyBnw7NpIGZsdXNoIgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2MQorIzogYnVpbHRpbi9hcmNoaXZlLmM6NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFyY2hpdmU6IE5BQ0sgJXMiCiBtc2dzdHIgImdpdCBhcmNoaXZlOiBOQUNLICVzIgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2NAorIzogYnVpbHRpbi9hcmNoaXZlLmM6NjUKIG1zZ2lkICJnaXQgYXJjaGl2ZTogcHJvdG9jb2wgZXJyb3IiCiBtc2dzdHIgImdpdCBhcmNoaXZlOiBs4buXaSBnaWFvIHRo4bupYyIKIAotIzogYnVpbHRpbi9hcmNoaXZlLmM6NjgKKyM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY5CiBtc2dpZCAiZ2l0IGFyY2hpdmU6IGV4cGVjdGVkIGEgZmx1c2giCiBtc2dzdHIgImdpdCBhcmNoaXZlOiBj4bqnbiBt4buZdCBmbHVzaCAoxJHhuql5IGThu68gbGnhu4d1IGzDqm4gxJHEqWEpIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTIKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMgogbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLW5leHQtYWxsIFstLW5vLWNoZWNrb3V0XSIKIG1zZ3N0ciAiZ2l0IGJpc2VjdC0taGVscGVyIC0tbmV4dC1hbGwgWy0tbm8tY2hlY2tvdXRdIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTMKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMwogbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLXdyaXRlLXRlcm1zIDxiYWRfdGVybT4gPGdvb2RfdGVybT4iCiBtc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLXdyaXRlLXRlcm1zIDxiYWRfdGVybT4gPGdvb2RfdGVybT4iCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI0CiBtc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNsZWFuLXN0YXRlIgogbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2xlYW4tc3RhdGUiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo0NgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI1Cittc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXJlc2V0IFs8Y29tbWl0Pl0iCittc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1yZXNldCBbPGzhuqduX2NodXnhu4NuX2dpYW8+XSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI2Cittc2dpZCAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC13cml0ZSBbLS1uby1sb2ddIDxzdGF0ZT4gPHJldmlzaW9uPiA8Z29vZF90ZXJtPiAiCisiPGJhZF90ZXJtPiIKK21zZ3N0ciAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC13cml0ZSBbLS1uby1sb2ddIDxzdGF0ZT4gPHJldmlzaW9uPiA8bMO6Y19zYWk+ICIKKyI8bMO6Y1/EkcO6bmc+IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjcKK21zZ2lkICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNoZWNrLWFuZC1zZXQtdGVybXMgPGNvbW1hbmQ+IDxnb29kX3Rlcm0+ICIKKyI8YmFkX3Rlcm0+IgorbXNnc3RyICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNoZWNrLWFuZC1zZXQtdGVybXMgPGNvbW1hbmQ+IDxsw7pjX3NhaT4gIgorIjxsw7pjX8SRw7puZz4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyOAorbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1uZXh0LWNoZWNrIDxnb29kX3Rlcm0+IDxiYWRfdGVybT4gWzx0ZXJtPl0iCittc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1uZXh0LWNoZWNrIDxsw7pjX3NhaT4gPGzDumNfxJHDum5nPiBbPHRlcm0+XSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI5Cittc2dpZCAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC10ZXJtcyBbLS10ZXJtLWdvb2QgfCAtLXRlcm0tb2xkIHwgLS10ZXJtLWJhZCB8IC0tIgorInRlcm0tbmV3XSIKK21zZ3N0ciAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC10ZXJtcyBbLS10ZXJtLWdvb2QgfCAtLXRlcm0tb2xkIHwgLS10ZXJtLWJhZCB8IC0tIgorInRlcm0tbmV3XSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjMwCittc2dpZCAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1zdGFydCBbLS10ZXJtLXtvbGQsZ29vZH09PHRlcm0+IC0tdGVybS17bmV3LGJhZH0iCisiPTx0ZXJtPl1bLS1uby1jaGVja291dF0gWzxiYWQ+IFs8Z29vZD4uLi5dXSBbLS1dIFs8cGF0aHM+Li4uXSIKK21zZ3N0ciAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1zdGFydCBbLS10ZXJtLXtvbGQsZ29vZH09PHRlcm0+IC0tdGVybS17bmV3LGJhZH0iCisiPTx0ZXJtPl1bLS1uby1jaGVja291dF0gWzxzYWk+IFs8xJHDum5nPuKApl1dIFstLV0gWzwvY8OhYy/Ekcaw4budbmcvZOG6q24+4oCmXSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGVybSIKLW1zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSBt4buZdCB0aOG7nWkgaOG6oW4gaOG7o3AgbOG7hy4iCittc2dzdHIgIuKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbeG7mXQgdGjhu51pIGjhuqFuIGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1MAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IHVzZSB0aGUgYnVpbHRpbiBjb21tYW5kICclcycgYXMgYSB0ZXJtIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZMO5bmcgbOG7h25oIHTDrWNoIGjhu6NwIOKAnCVz4oCdIG5oxrAgbMOgIG3hu5l0IHRo4budaSBr4buzIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjAKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3QgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSB0ZXJtICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0aGF5IMSR4buVaSBuZ2jEqWEgY+G7p2EgdGjhu51pIGvhu7Mg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo3MQorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjExMQogbXNnaWQgInBsZWFzZSB1c2UgdHdvIGRpZmZlcmVudCB0ZXJtcyIKIG1zZ3N0ciAidnVpIGzDsm5nIGTDuW5nIGhhaSB0aOG7nWkga+G7syBraMOhYyBuaGF1IgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NzgKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMTgKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiB0aGUgZmlsZSBCSVNFQ1RfVEVSTVMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIHThuq1wIHRpbiBCSVNFQ1RfVEVSTVMiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMjAKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2UgYXJlIG5vdCBiaXNlY3RpbmcuXG4iCittc2dzdHIgIkNow7puZyB0w7RpIMSRYW5nIGtow7RuZyBiaXNlY3QuXG4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCBjb21taXQiCittc2dzdHIgIuKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyBo4bujcCBs4buHIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb3VsZCBub3QgY2hlY2sgb3V0IG9yaWdpbmFsIEhFQUQgJyVzJy4gVHJ5ICdnaXQgYmlzZWN0IHJlc2V0IDxjb21taXQ+Jy4iCittc2dzdHIgIiIKKyJraMO0bmcgdGjhu4MgbOG6pXkgcmEgSEVBRCBuZ3V5w6puIHRo4buneSBj4bunYSDigJwlc+KAnS4gSMOjeSB0aOG7rSDigJxnaXQgYmlzZWN0IHJlc2V0IDxs4bqnbi0iCisiY2h1eeG7g24tZ2lhbz7igJ0uIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCBiaXNlY3Rfd3JpdGUgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLEkOG7kWkgc+G7kSBiaXNlY3Rfd3JpdGUgc2FpOiAlcyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjIyMQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBnZXQgdGhlIG9pZCBvZiB0aGUgcmV2ICclcyciCittc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSBvaWQgY+G7p2EgxJFp4buDbSB4w6l0IGR1eeG7h3Qg4oCcJXPigJ0iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qgb3BlbiB0aGUgZmlsZSAnJXMnIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4g4oCcJXPigJ0iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjb21tYW5kOiB5b3UncmUgY3VycmVudGx5IGluIGEgJXMvJXMgYmlzZWN0IgorbXNnc3RyICJM4buHbmgga2jDtG5nIGjhu6NwIGzhu4c6IGLhuqFuIGhp4buHbiDEkWFuZyDhu58gbeG7mXQgYmlzZWN0ICVzLyVzIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSAlcyBhbmQgJXMgcmV2aXNpb24uXG4iCisiWW91IGNhbiB1c2UgXCJnaXQgYmlzZWN0ICVzXCIgYW5kIFwiZ2l0IGJpc2VjdCAlc1wiIGZvciB0aGF0LiIKK21zZ3N0ciAiIgorIkLhuqFuIHBo4bqjaSBjaOG7iSBjaG8gdMO0aSDDrXQgbmjhuqV0IG3hu5l0IMSRaeG7g20gJXMgdsOgIG3hu5l0ICVzLlxuIgorIkLhuqFuIGPDsyB0aOG7gyBz4butIGThu6VuZyBcImdpdCBiaXNlY3QgJXNcIiB2w6AgXCJnaXQgYmlzZWN0ICVzXCIgY2hvIGPDoWkgxJHDsy4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBuZWVkIHRvIHN0YXJ0IGJ5IFwiZ2l0IGJpc2VjdCBzdGFydFwiLlxuIgorIllvdSB0aGVuIG5lZWQgdG8gZ2l2ZSBtZSBhdCBsZWFzdCBvbmUgJXMgYW5kICVzIHJldmlzaW9uLlxuIgorIllvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCAlc1wiIGFuZCBcImdpdCBiaXNlY3QgJXNcIiBmb3IgdGhhdC4iCittc2dzdHIgIiIKKyJC4bqhbiBj4bqnbiBi4bqvdCDEkeG6p3UgYuG6sW5nIGzhu4duaCBcImdpdCBiaXNlY3Qgc3RhcnRcIi5cbiIKKyJC4bqhbiBzYXUgxJHDsyBj4bqnbiBwaOG6o2kgY2jhu4kgY2hvIHTDtGkgw610IG5o4bqldCBt4buZdCDEkWnhu4NtIHjDqXQgZHV54buHdCAlcyB2w6AgbeG7mXQgJXMuXG4iCisiQuG6oW4gY8OzIHRo4buDIHPhu60gZOG7pW5nIFwiZ2l0IGJpc2VjdCAlc1wiIHbDoCBcImdpdCBiaXNlY3QgJXNcIiBjaG8gY2jDum5nLiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICJiaXNlY3Rpbmcgb25seSB3aXRoIGEgJXMgY29tbWl0IgorbXNnc3RyICJjaOG7iSB0aOG7sWMgaGnhu4duIHZp4buHYyBiaXNlY3QgduG7m2kgbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyAlcyIKKworIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtZXSBhbmQgW25dIGluIHlvdXIKKyMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKKyMuIGF0IHRoaXMgcG9pbnQuCisjLgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjMzMAorbXNnaWQgIkFyZSB5b3Ugc3VyZSBbWS9uXT8gIgorbXNnc3RyICJC4bqhbiBjw7MgY2jhuq9jIGNo4bqvbiBjaMawYSBbWS9uXT8gIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Mzc3Cittc2dpZCAibm8gdGVybXMgZGVmaW5lZCIKK21zZ3N0ciAiY2jGsGEgxJHhu4tuaCBuZ2jEqWEgdGjhu51pIGvhu7MgbsOgbyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBjdXJyZW50IHRlcm1zIGFyZSAlcyBmb3IgdGhlIG9sZCBzdGF0ZVxuIgorImFuZCAlcyBmb3IgdGhlIG5ldyBzdGF0ZS5cbiIKK21zZ3N0ciAiIgorIkLhuqFuIGhp4buHbiB04bqhaSDEkWFuZyDhu58gdGjhu51pIGvhu7MgJXMgY2hvIHTDrG5oIHRy4bqhbmcgY8WpXG4iCisidsOgICVzIGNobyB0w6xuaCB0cuG6oW5nIG3hu5tpLlxuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJpbnZhbGlkIGFyZ3VtZW50ICVzIGZvciAnZ2l0IGJpc2VjdCB0ZXJtcycuXG4iCisiU3VwcG9ydGVkIG9wdGlvbnMgYXJlOiAtLXRlcm0tZ29vZHwtLXRlcm0tb2xkIGFuZCAtLXRlcm0tYmFkfC0tdGVybS1uZXcuIgorbXNnc3RyICIiCisidGhhbSBz4buRIGtow7RuZyBo4bujcCBs4buHICVzIGNobyDigJxnaXQgYmlzZWN0IHRlcm1z4oCdLlxuIgorIkPDoWMgdMO5eSBjaOG7jW4gaOG7lyB0cuG7oyBsw6A6IC0tdGVybS1nb29kfC0tdGVybS1vbGQgdsOgIC0tdGVybS1iYWR8LS10ZXJtLW5ldy4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo0NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbjogJyVzJyIKK21zZ3N0ciAidMO5eSBjaOG7jW4ga2jDtG5nIMSRxrDhu6NjIHRo4burYSBuaOG6rW46IOKAnCVz4oCdIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgdmFsaWQgcmV2aXNpb24iCittc2dzdHIgIuKAnCVz4oCdIGtow7RuZyBjw7MgduG6uyBuaMawIGzDoCBt4buZdCDEkWnhu4NtIHjDqXQgZHV54buHdCBo4bujcCBs4buHIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTEyCittc2dpZCAiYmFkIEhFQUQgLSBJIG5lZWQgYSBIRUFEIgorbXNnc3RyICJzYWkgSEVBRCAtIFTDtGkgY+G6p24gbeG7mXQgSEVBRCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVja2luZyBvdXQgJyVzJyBmYWlsZWQuIFRyeSAnZ2l0IGJpc2VjdCBzdGFydCA8dmFsaWQtYnJhbmNoPicuIgorbXNnc3RyICJs4bqleSByYSDigJwlc+KAnSByYSBn4bq3cCBs4buXaS4gSMOjeSB0aOG7rSBcImdpdCBiaXNlY3QgcmVzZXQgPG5ow6FuaF9o4bujcF9s4buHPlwiLiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjU0OAorbXNnaWQgIndvbid0IGJpc2VjdCBvbiBjZy1zZWVrJ2VkIHRyZWUiCittc2dzdHIgInPhur0ga2jDtG5nIGRpIGNodXnhu4NuIG7hu61hIGLGsOG7m2MgdHLDqm4gY8OieSDEkcaw4bujYyBjZy1zZWVrIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTUxCittc2dpZCAiYmFkIEhFQUQgLSBzdHJhbmdlIHN5bWJvbGljIHJlZiIKK21zZ3N0ciAic2FpIEhFQUQgLSB0aGFtIGNoaeG6v3UgbeG7gW0ga+G7syBs4bqhIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVmOiAnJXMnIgorbXNnc3RyICJyZWZzcGVjIGtow7RuZyBo4bujcCBs4buHOiDigJwlc+KAnSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzMQogbXNnaWQgInBlcmZvcm0gJ2dpdCBiaXNlY3QgbmV4dCciCiBtc2dzdHIgInRo4buxYyBoaeG7h24g4oCcZ2l0IGJpc2VjdCBuZXh04oCdIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTIyCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjMzCiBtc2dpZCAid3JpdGUgdGhlIHRlcm1zIHRvIC5naXQvQklTRUNUX1RFUk1TIgogbXNnc3RyICJnaGkgdGjhu51pIGvhu7MgdsOgbyAuZ2l0L0JJU0VDVF9URVJNUyIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyNAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzNQogbXNnaWQgImNsZWFudXAgdGhlIGJpc2VjdGlvbiBzdGF0ZSIKIG1zZ3N0ciAiZOG7jW4gZOG6uXAgdMOsbmggdHLhuqFuZyBkaSBjaHV54buDbiBu4butYSBixrDhu5tjIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTI2CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM3CiBtc2dpZCAiY2hlY2sgZm9yIGV4cGVjdGVkIHJldnMiCiBtc2dzdHIgImtp4buDbSB0cmEgY2hvIMSRaeG7g20geGVtIHjDqXQgY+G6p24gZMO5bmciCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMjgKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2MzkKK21zZ2lkICJyZXNldCB0aGUgYmlzZWN0aW9uIHN0YXRlIgorbXNnc3RyICLEkeG6t3QgbOG6oWkgdHLhuqFuZyBkaSBjaHV54buDbiBu4butYSBixrDhu5tjIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQxCittc2dpZCAid3JpdGUgb3V0IHRoZSBiaXNlY3Rpb24gc3RhdGUgaW4gQklTRUNUX0xPRyIKK21zZ3N0ciAiZ2hpIHJhIHTDrG5oIHRy4bqhbmcgZGkgY2h1eeG7g24gbuG7rWEgYsaw4bubYyB0cm9uZyBCSVNFQ1RfTE9HIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQzCittc2dpZCAiY2hlY2sgYW5kIHNldCB0ZXJtcyBpbiBhIGJpc2VjdGlvbiBzdGF0ZSIKK21zZ3N0ciAia2nhu4NtIHRyYSB2w6AgxJHhurd0IHRo4budaSDEkWnhu4NtIHRyb25nIGRpIGNodXnhu4NuIG7hu61hIGLGsOG7m2MiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDUKK21zZ2lkICJjaGVjayB3aGV0aGVyIGJhZCBvciBnb29kIHRlcm1zIGV4aXN0IgorbXNnc3RyICJraeG7g20gdHJhIHhlbSBjw6FjIHRo4budaSDEkWnhu4NtIHjhuqV1L3Thu5F0IGPDsyB04buTbiB04bqhaSBraMO0bmciCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDcKK21zZ2lkICJwcmludCBvdXQgdGhlIGJpc2VjdCB0ZXJtcyIKK21zZ3N0ciAiaW4gcmEgY8OhYyB0aOG7nWkgxJFp4buDbSBkaSBjaHV54buDbiBu4butYSBixrDhu5tjIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQ5Cittc2dpZCAic3RhcnQgdGhlIGJpc2VjdCBzZXNzaW9uIgorbXNnc3RyICJi4bqvdCDEkeG6p3UgcGhpw6puIGRpIGNodXnhu4NuIG7hu61hIGLGsOG7m2MiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NTEKIG1zZ2lkICJ1cGRhdGUgQklTRUNUX0hFQUQgaW5zdGVhZCBvZiBjaGVja2luZyBvdXQgdGhlIGN1cnJlbnQgY29tbWl0IgogbXNnc3RyICIiCiAiY+G6rXAgbmjhuq10IEJJU0VDVF9IRUFEIHRoYXkgdsOsIGzhuqV5IHJhIChjaGVja2luZyBvdXQpIGzhuqduIGNodXnhu4NuIGdpYW8gaGnhu4duIGjDoG5oIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTQzCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjUzCittc2dpZCAibm8gbG9nIGZvciBCSVNFQ1RfV1JJVEUiCittc2dzdHIgImtow7RuZyBjw7Mgbmjhuq10IGvDvSBjaG8gQklTRUNUX1dSSVRFIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjcwCiBtc2dpZCAiLS13cml0ZS10ZXJtcyByZXF1aXJlcyB0d28gYXJndW1lbnRzIgogbXNnc3RyICItLXdyaXRlLXRlcm1zIGPhuqduIGhhaSB0aGFtIHPhu5EiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNDcKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NzQKIG1zZ2lkICItLWJpc2VjdC1jbGVhbi1zdGF0ZSByZXF1aXJlcyBubyBhcmd1bWVudHMiCiBtc2dzdHIgIi0tYmlzZWN0LWNsZWFuLXN0YXRlIGtow7RuZyBuaOG6rW4gxJHhu5FpIHPhu5EiCiAKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2ODEKK21zZ2lkICItLWJpc2VjdC1yZXNldCByZXF1aXJlcyBlaXRoZXIgbm8gYXJndW1lbnQgb3IgYSBjb21taXQiCittc2dzdHIgIiIKKyItLWJpc2VjdC1yZXNldCByZXF1aXJlcyBraMO0bmcgbmjhuq1uIMSR4buRaSBz4buRIGPFqW5nIGtow7RuZyBuaOG6rW4gbOG6p24gY2h1eeG7g24gZ2lhbyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY4NQorbXNnaWQgIi0tYmlzZWN0LXdyaXRlIHJlcXVpcmVzIGVpdGhlciA0IG9yIDUgYXJndW1lbnRzIgorbXNnc3RyICItLWJpc2VjdC13cml0ZSBj4bqnbiA0IGhv4bq3YyA1IHRoYW0gc+G7kSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY5MQorbXNnaWQgIi0tY2hlY2stYW5kLXNldC10ZXJtcyByZXF1aXJlcyAzIGFyZ3VtZW50cyIKK21zZ3N0ciAiLS1jaGVjay1hbmQtc2V0LXRlcm1zIGPhuqduIDMgdGhhbSBz4buRIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Njk3Cittc2dpZCAiLS1iaXNlY3QtbmV4dC1jaGVjayByZXF1aXJlcyAyIG9yIDMgYXJndW1lbnRzIgorbXNnc3RyICItLWJpc2VjdC1uZXh0LWNoZWNrIGPhuqduIDIgaG/hurdjIDMgdGhhbSBz4buRIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NzAzCittc2dpZCAiLS1iaXNlY3QtdGVybXMgcmVxdWlyZXMgMCBvciAxIGFyZ3VtZW50IgorbXNnc3RyICItLWJpc2VjdC10ZXJtcyBj4bqnbiAwIGhv4bq3YyAxIHRoYW0gc+G7kSIKKwogIzogYnVpbHRpbi9ibGFtZS5jOjMxCiBtc2dpZCAiZ2l0IGJsYW1lIFs8b3B0aW9ucz5dIFs8cmV2LW9wdHM+XSBbPHJldj5dIFstLV0gPGZpbGU+IgotbXNnc3RyICJnaXQgYmxhbWUgWzxjw6FjLXTDuXktY2jhu41uPl0gWzxyZXYtb3B0cz5dIFs8cmV2Pl0gWy0tXSA8dOG6rXAtdGluPiIKK21zZ3N0ciAiZ2l0IGJsYW1lIFs8Y8OhYyB0w7l5IGNo4buNbj5dIFs8cmV2LW9wdHM+XSBbPHJldj5dIFstLV0gPHThuq1wLXRpbj4iCiAKICM6IGJ1aWx0aW4vYmxhbWUuYzozNgogbXNnaWQgIjxyZXYtb3B0cz4gYXJlIGRvY3VtZW50ZWQgaW4gZ2l0LXJldi1saXN0KDEpIgogbXNnc3RyICI8cmV2LW9wdHM+IMSRxrDhu6NjIG3DtCB04bqjIHRyb25nIHTDoGkgbGnhu4d1IGdpdC1yZXYtbGlzdCgxKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjQwNgorIzogYnVpbHRpbi9ibGFtZS5jOjQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RpbmcgYSBjb2xvcjogJXMiCiBtc2dzdHIgImPhuqduIG3hu5l0IG3DoHU6ICVzIgogCi0jOiBidWlsdGluL2JsYW1lLmM6NDEzCisjOiBidWlsdGluL2JsYW1lLmM6NDE2CiBtc2dpZCAibXVzdCBlbmQgd2l0aCBhIGNvbG9yIgogbXNnc3RyICJwaOG6o2kga+G6v3QgdGjDumMgYuG6sW5nIG3hu5l0IG3DoHUiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3MDAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo3MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb2xvciAnJXMnIGluIGNvbG9yLmJsYW1lLnJlcGVhdGVkTGluZXMiCiBtc2dzdHIgIm3DoHUga2jDtG5nIGjhu6NwIGzhu4cg4oCcJXPigJ0gdHJvbmcgY29sb3IuYmxhbWUucmVwZWF0ZWRMaW5lcyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjcxOAorIzogYnVpbHRpbi9ibGFtZS5jOjc0NwogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yIGJsYW1lLmNvbG9yaW5nIgogbXNnc3RyICJtw6B1IGtow7RuZyBo4bujcCBs4buHIGNobyBibGFtZS5jb2xvcmluZyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5MworIzogYnVpbHRpbi9ibGFtZS5jOjgyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCByZXZpc2lvbiAlcyB0byBpZ25vcmUiCittc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIHRo4bqleSDEkWnhu4NtIHjDqXQgZHV54buHdCAlcyDEkeG7gyBtw6AgYuG7jyBxdWEiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDQKIG1zZ2lkICJTaG93IGJsYW1lIGVudHJpZXMgYXMgd2UgZmluZCB0aGVtLCBpbmNyZW1lbnRhbGx5IgogbXNnc3RyICJIaeG7g24gdGjhu4sgY8OhYyBt4bulYyDigJxibGFtZeKAnSBuaMawIGzDoCBjaMO6bmcgdGEgdGjhuqV5IGNow7puZywgdMSDbmcgZOG6p24iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDUKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICIiCiAiSGnhu4NuIHRo4buLIFNIQS0xIHRy4bqvbmcgY2hvIG5o4buvbmcgbOG6p24gY2h1eeG7g24gZ2lhbyBiacOqbiBnaeG7m2kgKE3hurdjIMSR4buLbmg6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTUKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDYKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIktow7RuZyBjb2kgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGfhu5FjIGzDoCBnaeG7m2kgaOG6oW4gKE3hurdjIMSR4buLbmg6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTYKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDcKIG1zZ2lkICJTaG93IHdvcmsgY29zdCBzdGF0aXN0aWNzIgogbXNnc3RyICJIaeG7g24gdGjhu4sgdGjhu5FuZyBrw6ogY8O0bmcgc+G7qWMgbMOgbSB2aeG7h2MiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTcKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDgKIG1zZ2lkICJGb3JjZSBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIsOJcCBideG7mWMgYsOhbyBjw6FvIHRp4bq/biB0cmnhu4NuIGPDtG5nIHZp4buHYyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5OAorIzogYnVpbHRpbi9ibGFtZS5jOjg0OQogbXNnaWQgIlNob3cgb3V0cHV0IHNjb3JlIGZvciBibGFtZSBlbnRyaWVzIgogbXNnc3RyICJIaeG7g24gdGjhu4sga+G6v3QgeHXhuqV0IMSRaeG7g20gc+G7kSBjw7MgY8OhYyBt4bulYyB0aW4g4oCcYmxhbWXigJ0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTAKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGZpbGVuYW1lIChEZWZhdWx0OiBhdXRvKSIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIHTDqm4gdOG6rXAgdGluIGfhu5FjIChN4bq3YyDEkeG7i25oOiBhdXRvKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwMAorIzogYnVpbHRpbi9ibGFtZS5jOjg1MQogbXNnaWQgIlNob3cgb3JpZ2luYWwgbGluZW51bWJlciAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIHPhu5EgZMOybmcgZ+G7kWMgKE3hurdjIMSR4buLbmg6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTIKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICJIaeG7g24gdGjhu4sg4bufIMSR4buLbmggZOG6oW5nIMSRw6MgdGhp4bq/dCBr4bq/IGNobyBz4buxIHRpw6p1IGTDuW5nIGLhurFuZyBtw6F5IgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODAyCisjOiBidWlsdGluL2JsYW1lLmM6ODUzCiBtc2dpZCAiU2hvdyBwb3JjZWxhaW4gZm9ybWF0IHdpdGggcGVyLWxpbmUgY29tbWl0IGluZm9ybWF0aW9uIgogbXNnc3RyICJIaeG7g24gdGjhu4sgxJHhu4tuaCBk4bqhbmcg4oCccG9yY2VsYWlu4oCdIHbhu5tpIHRow7RuZyB0aW4gY2h1eeG7g24gZ2lhbyBt4buXaSBkw7JuZyIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwMworIzogYnVpbHRpbi9ibGFtZS5jOjg1NAogbXNnaWQgIlVzZSB0aGUgc2FtZSBvdXRwdXQgbW9kZSBhcyBnaXQtYW5ub3RhdGUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkTDuW5nIGPDuW5nIGNo4bq/IMSR4buZIHh14bqldCByYSB24bubaSBnaXQtYW5ub3RhdGUgKE3hurdjIMSR4buLbmg6IG9mZikiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTUKIG1zZ2lkICJTaG93IHJhdyB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyBk4bqldSB24bq/dCB0aOG7nWkgZ2lhbiBk4bqhbmcgdGjDtCAoTeG6t2MgxJHhu4tuaDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwNQorIzogYnVpbHRpbi9ibGFtZS5jOjg1NgogbXNnaWQgIlNob3cgbG9uZyBjb21taXQgU0hBMSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIFNIQTEgY+G7p2EgbOG6p24gY2h1eeG7g24gZ2lhbyBk4bqhbmcgZMOgaSAoTeG6t2MgxJHhu4tuaDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwNgorIzogYnVpbHRpbi9ibGFtZS5jOjg1NwogbXNnaWQgIlN1cHByZXNzIGF1dGhvciBuYW1lIGFuZCB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIktow7RuZyBoaeG7g24gdGjhu4sgdMOqbiB0w6FjIGdp4bqjIHbDoCBk4bqldSB24bq/dCB0aOG7nWkgZ2lhbiAoTeG6t2MgxJHhu4tuaDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwNworIzogYnVpbHRpbi9ibGFtZS5jOjg1OAogbXNnaWQgIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIHRoxrAgxJFp4buHbiB04butIGPhu6dhIHTDoWMgZ2nhuqMgdGhheSB2w6wgdMOqbiAoTeG6t2MgxJHhu4tuaDogb2ZmKSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwOAorIzogYnVpbHRpbi9ibGFtZS5jOjg1OQogbXNnaWQgIklnbm9yZSB3aGl0ZXNwYWNlIGRpZmZlcmVuY2VzIgogbXNnc3RyICJC4buPIHF1YSBjw6FjIGtow6FjIGJp4buHdCBkbyBraG/huqNuZyB0cuG6r25nIGfDonkgcmEiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjAgYnVpbHRpbi9sb2cuYzoxNzAyCittc2dpZCAicmV2IgorbXNnc3RyICJyZXYiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjAKK21zZ2lkICJJZ25vcmUgPHJldj4gd2hlbiBibGFtaW5nIgorbXNnc3RyICJC4buPIHF1YSA8cmV2PiBraGkgYmxhbWUiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjEKK21zZ2lkICJJZ25vcmUgcmV2aXNpb25zIGZyb20gPGZpbGU+IgorbXNnc3RyICJC4buPIHF1YSBjw6FjIMSRaeG7g20geMOpdCBkdXnhu4d0IHThu6sgPHThuq1wIHRpbj4iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjIKIG1zZ2lkICJjb2xvciByZWR1bmRhbnQgbWV0YWRhdGEgZnJvbSBwcmV2aW91cyBsaW5lIGRpZmZlcmVudGx5IgogbXNnc3RyICJzacOqdSBk4buvIGxp4buHdSBkxrAgdGjhu6thIG3DoHUgdOG7qyBkw7JuZyB0csaw4bubYyBraMOhYyBo4bqzbiIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgxMAorIzogYnVpbHRpbi9ibGFtZS5jOjg2MwogbXNnaWQgImNvbG9yIGxpbmVzIGJ5IGFnZSIKIG1zZ3N0ciAiY8OhYyBkw7JuZyBtw6B1IHRoZW8gdHXhu5VpIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODE3Ci1tc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKLW1zZ3N0ciAiRMO5bmcgbeG7mXQgcGjhu49uZyDEkW/DoW4gdGjhu60gbmdoaeG7h20gxJHhu4MgdMSDbmcgY8aw4budbmcgY8OhYyBkaWZmIgotCi0jOiBidWlsdGluL2JsYW1lLmM6ODE5CisjOiBidWlsdGluL2JsYW1lLmM6ODY0CiBtc2dpZCAiU3BlbmQgZXh0cmEgY3ljbGVzIHRvIGZpbmQgYmV0dGVyIG1hdGNoIgogbXNnc3RyICJUacOqdSB0aOG7pSB0aMOqbSBuxINuZyB0w6BpIG5ndXnDqm4gbcOheSBtw7NjIMSR4buDIHTDrG0ga2nhur9tIHThu5F0IGjGoW4gbuG7r2EiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjAKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjUKIG1zZ2lkICJVc2UgcmV2aXNpb25zIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgY2FsbGluZyBnaXQtcmV2LWxpc3QiCiBtc2dzdHIgIiIKICJT4butIGThu6VuZyDEkWnhu4NtIHjDqXQgZHV54buHdCAocmV2aXNpb24pIHThu6sgPHThuq1wIHRpbj4gdGhheSB2w6wgZ+G7jWkg4oCcZ2l0LXJldi1saXN04oCdIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODIxCisjOiBidWlsdGluL2JsYW1lLmM6ODY2CiBtc2dpZCAiVXNlIDxmaWxlPidzIGNvbnRlbnRzIGFzIHRoZSBmaW5hbCBpbWFnZSIKIG1zZ3N0ciAiU+G7rSBk4bulbmcgbuG7mWkgZHVuZyBj4bunYSA8dOG6rXAgdGluPiBuaMawIGzDoCDhuqNuaCBjdeG7kWkgY8O5bmciCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjIgYnVpbHRpbi9ibGFtZS5jOjgyMworIzogYnVpbHRpbi9ibGFtZS5jOjg2NyBidWlsdGluL2JsYW1lLmM6ODY4CiBtc2dpZCAic2NvcmUiCiBtc2dzdHIgIsSRaeG7g20gc+G7kSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyMgorIzogYnVpbHRpbi9ibGFtZS5jOjg2NwogbXNnaWQgIkZpbmQgbGluZSBjb3BpZXMgd2l0aGluIGFuZCBhY3Jvc3MgZmlsZXMiCiBtc2dzdHIgIlTDrG0gY8OhYyBi4bqjbiBzYW8gY2jDqXAgZMOybmcgdHJvbmcgdsOgIG5nYW5nIHF1YSB04bqtcCB0aW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjgKIG1zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICJUw6xtIGPDoWMgZGkgY2h1eeG7g24gZMOybmcgdHJvbmcgdsOgIG5nYW5nIHF1YSB04bqtcCB0aW4iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjkKIG1zZ2lkICJuLG0iCiBtc2dzdHIgIm4sbSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyNAorIzogYnVpbHRpbi9ibGFtZS5jOjg2OQogbXNnaWQgIlByb2Nlc3Mgb25seSBsaW5lIHJhbmdlIG4sbSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICJY4butIGzDvSBjaOG7iSBkw7JuZyB2w7luZyBuLG0sIHTDrW5oIHThu6sgMSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjg3MworIzogYnVpbHRpbi9ibGFtZS5jOjkyMQogbXNnaWQgIi0tcHJvZ3Jlc3MgY2FuJ3QgYmUgdXNlZCB3aXRoIC0taW5jcmVtZW50YWwgb3IgcG9yY2VsYWluIGZvcm1hdHMiCiBtc2dzdHIgIiIKICItLXByb2dyZXNzIGtow7RuZyDEkcaw4bujYyBkw7luZyBjw7luZyB24bubaSAtLWluY3JlbWVudGFsIGhheSBjw6FjIMSR4buLbmggZOG6oW5nIHBvcmNlbGFpbiIKQEAgLTc5ODUsNDkgKzEwMDQ5LDQ5IEBACiAjLiB5b3VyIGxhbmd1YWdlIG1heSBuZWVkIG1vcmUgb3IgZmV3ZXIgZGlzcGxheQogIy4gY29sdW1ucy4KICMuCi0jOiBidWlsdGluL2JsYW1lLmM6OTI0CisjOiBidWlsdGluL2JsYW1lLmM6OTcyCiBtc2dpZCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIKIG1zZ3N0ciAiNCBuxINtLCAxMSB0aMOhbmcgdHLGsOG7m2MiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoxMDExCisjOiBidWlsdGluL2JsYW1lLmM6MTA3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lIgogbXNnaWRfcGx1cmFsICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lcyIKIG1zZ3N0clswXSAidOG6rXAgdGluICVzIGNo4buJIGPDsyAlbHUgZMOybmciCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoxMDU3CisjOiBidWlsdGluL2JsYW1lLmM6MTEyNQogbXNnaWQgIkJsYW1pbmcgbGluZXMiCiBtc2dzdHIgIkPDoWMgZMOybmcgYmxhbWUiCiAKICM6IGJ1aWx0aW4vYnJhbmNoLmM6MjkKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1tZXJnZWQgfCAtLW5vLW1lcmdlZF0iCi1tc2dzdHIgImdpdCBicmFuY2ggWzxjw6FjLXTDuXktY2jhu41uPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKK21zZ3N0ciAiZ2l0IGJyYW5jaCBbPGPDoWMgdMO5eSBjaOG7jW4+XSBbLXIgfCAtYV0gWy0tbWVyZ2VkIHwgLS1uby1tZXJnZWRdIgogCiAjOiBidWlsdGluL2JyYW5jaC5jOjMwCiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLWxdIFstZl0gPGJyYW5jaC1uYW1lPiBbPHN0YXJ0LXBvaW50Pl0iCi1tc2dzdHIgImdpdCBicmFuY2ggWzxjw6FjLXTDuXktY2jhu41uPl0gWy1sXSBbLWZdIDx0w6puLW5ow6FuaD4gWzzEkWnhu4NtLcSR4bqndT5dIgorbXNnc3RyICJnaXQgYnJhbmNoIFs8Y8OhYyB0w7l5IGNo4buNbj5dIFstbF0gWy1mXSA8dMOqbi1uaMOhbmg+IFs8xJFp4buDbS3EkeG6p3U+XSIKIAogIzogYnVpbHRpbi9icmFuY2guYzozMQogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1yXSAoLWQgfCAtRCkgPGJyYW5jaC1uYW1lPi4uLiIKLW1zZ3N0ciAiZ2l0IGJyYW5jaCBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbLXJdICgtZCB8IC1EKSA8dMOqbi1uaMOhbmg+IOKApiIKK21zZ3N0ciAiZ2l0IGJyYW5jaCBbPGPDoWMgdMO5eSBjaOG7jW4+XSBbLXJdICgtZCB8IC1EKSA8dMOqbi1uaMOhbmg+IOKApiIKIAogIzogYnVpbHRpbi9icmFuY2guYzozMgogbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gKC1tIHwgLU0pIFs8b2xkLWJyYW5jaD5dIDxuZXctYnJhbmNoPiIKLW1zZ3N0ciAiZ2l0IGJyYW5jaCBbPGPDoWMtdMO5eS1jaOG7jW4+XSAoLW0gfCAtTSkgWzxuaMOhbmgtY8WpPl0gPG5ow6FuaC1t4bubaT4iCittc2dzdHIgImdpdCBicmFuY2ggWzxjw6FjIHTDuXkgY2jhu41uPl0gKC1tIHwgLU0pIFs8bmjDoW5oLWPFqT5dIDxuaMOhbmgtbeG7m2k+IgogCiAjOiBidWlsdGluL2JyYW5jaC5jOjMzCiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSAoLWMgfCAtQykgWzxvbGQtYnJhbmNoPl0gPG5ldy1icmFuY2g+IgotbXNnc3RyICJnaXQgYnJhbmNoIFs8Y8OhYy10w7l5LWNo4buNbj5dICgtYyB8IC1DKSBbPG5ow6FuaC1jxak+XSA8bmjDoW5oLW3hu5tpPiIKK21zZ3N0ciAiZ2l0IGJyYW5jaCBbPGPDoWMgdMO5eSBjaOG7jW4+XSAoLWMgfCAtQykgWzxuaMOhbmgtY8WpPl0gPG5ow6FuaC1t4bubaT4iCiAKICM6IGJ1aWx0aW4vYnJhbmNoLmM6MzQKIG1zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1wb2ludHMtYXRdIgotbXNnc3RyICJnaXQgYnJhbmNoIFs8Y8OhYy10w7l5LWNo4buNbj5dIFstciB8IC1hXSBbLS1wb2ludHMtYXRdIgorbXNnc3RyICJnaXQgYnJhbmNoIFs8Y8OhYyB0w7l5IGNo4buNbj5dIFstciB8IC1hXSBbLS1wb2ludHMtYXRdIgogCiAjOiBidWlsdGluL2JyYW5jaC5jOjM1CiBtc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tZm9ybWF0XSIKLW1zZ3N0ciAiZ2l0IGJyYW5jaCBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbLXIgfCAtYV0gWy0tZm9ybWF0XSIKK21zZ3N0ciAiZ2l0IGJyYW5jaCBbPGPDoWMgdMO5eSBjaOG7jW4+XSBbLXIgfCAtYV0gWy0tZm9ybWF0XSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNTEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGhhcyBiZWVuIG1lcmdlZCB0b1xuIgpAQCAtODAzNiw3ICsxMDEwMCw3IEBACiAixJFhbmcgeMOzYSBuaMOhbmgg4oCcJXPigJ0gbcOgIG7DsyBs4bqhaSDEkcOjIMSRxrDhu6NjIGjDsmEgdHLhu5luIHbDoG9cbiIKICIgICAgICAgICDigJwlc+KAnSwgbmjGsG5nIHbhuqtuIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luIHbDoG8gSEVBRC4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTU1CisjOiBidWlsdGluL2JyYW5jaC5jOjE1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGRlbGV0aW5nIGJyYW5jaCAnJXMnIHRoYXQgaXMgbm90IHlldCBtZXJnZWQgdG9cbiIKQEAgLTgwNDUsMTIgKzEwMTA5LDEyIEBACiAia2jDtG5nIHjDs2EgbmjDoW5oIOKAnCVz4oCdIGPDoWkgbcOgIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luIHbDoG9cbiIKICIgICAgICAgICDigJwlc+KAnSwgY2hvIGTDuSBsw6AgbsOzIMSRw6MgxJHGsOG7o2MgaMOyYSB0cuG7mW4gdsOgbyBIRUFELiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHTDrG0ga2nhur9tIMSR4buRaSB0xrDhu6NuZyBjaHV54buDbiBnaWFvIGNobyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNzMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgYnJhbmNoICclcycgaXMgbm90IGZ1bGx5IG1lcmdlZC5cbiIKQEAgLTgwNTksMTEyICsxMDEyMywxMjEgQEAKICJOaMOhbmgg4oCcJXPigJ0ga2jDtG5nIMSRxrDhu6NjIHRy4buZbiBt4buZdCBjw6FjaCDEkeG6p3kgxJHhu6cuXG4iCiAiTuG6v3UgYuG6oW4gdGjhu7FjIHPhu7EgbXXhu5FuIHjDs2EgbsOzLCB0aMOsIGNo4bqheSBs4buHbmgg4oCcZ2l0IGJyYW5jaCAtRCAlc+KAnS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTg2CisjOiBidWlsdGluL2JyYW5jaC5jOjE4OQogbXNnaWQgIlVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIkPhuq1wIG5o4bqtdCB04bqtcCB0aW4gY+G6pXUgaMOsbmggZ+G6t3AgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjE3CisjOiBidWlsdGluL2JyYW5jaC5jOjIyMAogbXNnaWQgImNhbm5vdCB1c2UgLWEgd2l0aCAtZCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGTDuW5nIHTDuXkgY2jhu41uIC1hIHbhu5tpIC1kIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIyMworIzogYnVpbHRpbi9icmFuY2guYzoyMjYKIG1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yIEhFQUQiCiBtc2dzdHIgIktow7RuZyB0aOG7gyB0w6xtIGtp4bq/bSDEkeG7kWkgdMaw4bujbmcgY2h1eeG7g24gZ2lhbyBjaG8gSEVBRCIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyMzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkZWxldGUgYnJhbmNoICclcycgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHjDs2EgbmjDoW5oIOKAnCVz4oCdIMSRw6MgxJHGsOG7o2MgbOG6pXkgcmEgdOG6oWkg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjUyCisjOiBidWlsdGluL2JyYW5jaC5jOjI1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IG5ow6FuaCB0aGVvIGTDtWkgbcOheSBjaOG7pyDigJwlc+KAnS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjUzCisjOiBidWlsdGluL2JyYW5jaC5jOjI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgbmjDoW5oIOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNjgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yIGRlbGV0aW5nIHJlbW90ZS10cmFja2luZyBicmFuY2ggJyVzJyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIMSRYW5nIHjDs2EgbmjDoW5oIHRoZW8gZMO1aSBtw6F5IGNo4bunIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI2OQorIzogYnVpbHRpbi9icmFuY2guYzoyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgYnJhbmNoICclcyciCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB4w7NhIGLhu48gbmjDoW5oIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI3NgorIzogYnVpbHRpbi9icmFuY2guYzoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRlZCByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICLEkMOjIHjDs2EgbmjDoW5oIHRoZW8gZMO1aSBtw6F5IGNo4bunIFwiJXNcIiAodOG7q25nIGzDoCAlcykuXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Mjc3CisjOiBidWlsdGluL2JyYW5jaC5jOjI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIGJyYW5jaCAlcyAod2FzICVzKS5cbiIKIG1zZ3N0ciAiTmjDoW5oIOKAnCVz4oCdIMSRw6MgYuG7iyB4w7NhICh04burbmcgbMOgICVzKVxuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQyMSBidWlsdGluL3RhZy5jOjU5CisjOiBidWlsdGluL2JyYW5jaC5jOjQyOSBidWlsdGluL3RhZy5jOjYxCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGZvcm1hdCBzdHJpbmciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjaHXhu5dpIMSR4buLbmggZOG6oW5nIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ1OAorIzogYnVpbHRpbi9icmFuY2guYzo0NjAKK21zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSBIRUFEIgorbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gZ2nhuqNpIEhFQUQiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkhFQUQgKCVzKSBwb2ludHMgb3V0c2lkZSBvZiByZWZzL2hlYWRzLyIKK21zZ3N0ciAiSEVBRCAoJXMpIGNo4buJIGLDqm4gbmdvw6BpIGPhu6dhIHJlZnMvaGVhZHMvIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgaXMgYmVpbmcgcmViYXNlZCBhdCAlcyIKIG1zZ3N0ciAiTmjDoW5oICVzIMSRYW5nIMSRxrDhu6NjIGPhuqNpIHThu5UgbOG6oWkgdOG6oWkgJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDYyCisjOiBidWlsdGluL2JyYW5jaC5jOjQ4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgaXMgYmVpbmcgYmlzZWN0ZWQgYXQgJXMiCiBtc2dzdHIgIk5ow6FuaCAlcyDEkWFuZyDEkcaw4bujYyBkaSBjaHV54buDbiBwaMOibiDEkcO0aSAoYmlzZWN0KSB04bqhaSAlcyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0NzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTAyCiBtc2dpZCAiY2Fubm90IGNvcHkgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgogbXNnc3RyICJraMO0bmcgdGjhu4Mgc2FvIGNow6lwIG5ow6FuaCBoaeG7h24gaMOgbmggdHJvbmcga2hpIG7DsyBjaOG6s25nIOG7nyDEkcOidSBj4bqjLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0ODEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTA0CiBtc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7lWkgdMOqbiBuaMOhbmggaGnhu4duIGjDoG5oIHRyb25nIGtoaSBuw7MgY2jhurNuZyDhu58gxJHDonUgY+G6oy4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDkyCisjOiBidWlsdGluL2JyYW5jaC5jOjUxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGJyYW5jaCBuYW1lOiAnJXMnIgogbXNnc3RyICJUw6puIG5ow6FuaCBraMO0bmcgaOG7o3AgbOG7hzog4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTE5CisjOiBidWlsdGluL2JyYW5jaC5jOjU0MgogbXNnaWQgIkJyYW5jaCByZW5hbWUgZmFpbGVkIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgxJHhu5VpIHTDqm4gbmjDoW5oIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUyMQorIzogYnVpbHRpbi9icmFuY2guYzo1NDQKIG1zZ2lkICJCcmFuY2ggY29weSBmYWlsZWQiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBzYW8gY2jDqXAgbmjDoW5oIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUyNQorIzogYnVpbHRpbi9icmFuY2guYzo1NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ3JlYXRlZCBhIGNvcHkgb2YgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyIKIG1zZ3N0ciAixJDDoyB04bqhbyBt4buZdCBi4bqjbiBzYW8gY+G7p2EgbmjDoW5oIGtodXnhur90IGRhbmgg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTI4CisjOiBidWlsdGluL2JyYW5jaC5jOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWVkIGEgbWlzbmFtZWQgYnJhbmNoICclcycgYXdheSIKIG1zZ3N0ciAixJDDoyDEkeG7lWkgdMOqbiBuaMOhbmgga2h1eeG6v3QgZGFuaCDigJwlc+KAnSDEkWkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTM0CisjOiBidWlsdGluL2JyYW5jaC5jOjU1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggcmVuYW1lZCB0byAlcywgYnV0IEhFQUQgaXMgbm90IHVwZGF0ZWQhIgogbXNnc3RyICJOaMOhbmggYuG7iyDEkeG7lWkgdMOqbiB0aMOgbmggJXMsIG5oxrBuZyBIRUFEIGzhuqFpIGtow7RuZyDEkcaw4bujYyBj4bqtcCBuaOG6rXQhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU0MworIzogYnVpbHRpbi9icmFuY2guYzo1NjYKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIk5ow6FuaCBi4buLIMSR4buVaSB0w6puLCBuaMawbmcgY+G6rXAgbmjhuq10IHThuq1wIHRpbiBj4bqldSBow6xuaCBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NDUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY4CiBtc2dpZCAiQnJhbmNoIGlzIGNvcGllZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIk5ow6FuaCDEkcOjIMSRxrDhu6NjIHNhbyBjaMOpcCwgbmjGsG5nIGPhuq1wIG5o4bqtdCB04bqtcCB0aW4gY+G6pXUgaMOsbmggZ+G6t3AgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTYxCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoXG4iCkBAIC04MTc1LDE4NiArMTAyNDgsMTgwIEBACiAiICAlc1xuIgogIk5o4buvbmcgZMOybmcgxJHGsOG7o2MgYuG6r3QgxJHhuqd1IGLhurFuZyDigJwlY+KAnSBz4bq9IMSRxrDhu6NjIGPhuq90IGLhu48uXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CisjOiBidWlsdGluL2JyYW5jaC5jOjYxOAogbXNnaWQgIkdlbmVyaWMgb3B0aW9ucyIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gY2h1bmciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk2CisjOiBidWlsdGluL2JyYW5jaC5jOjYyMAogbXNnaWQgInNob3cgaGFzaCBhbmQgc3ViamVjdCwgZ2l2ZSB0d2ljZSBmb3IgdXBzdHJlYW0gYnJhbmNoIgogbXNnc3RyICJoaeG7g24gdGjhu4sgbcOjIGLEg20gdsOgIGNo4bunIMSR4buBLCDEkcawYSByYSBoYWkgbOG6p24gY2hvIG5ow6FuaCB0aMaw4bujbmcgbmd14buTbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1OTcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIxCiBtc2dpZCAic3VwcHJlc3MgaW5mb3JtYXRpb25hbCBtZXNzYWdlcyIKIG1zZ3N0ciAia2jDtG5nIHh14bqldCBjw6FjIHRow7RuZyB0aW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk4CisjOiBidWlsdGluL2JyYW5jaC5jOjYyMgogbXNnaWQgInNldCB1cCB0cmFja2luZyBtb2RlIChzZWUgZ2l0LXB1bGwoMSkpIgogbXNnc3RyICJjw6BpIMSR4bq3dCBjaOG6vyDEkeG7mSB0aGVvIGTDtWkgKHhlbSBnaXQtcHVsbCgxKSkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAwCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNAogbXNnaWQgImRvIG5vdCB1c2UiCiBtc2dzdHIgImtow7RuZyBkw7luZyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDIgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgwCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNiBidWlsdGluL3JlYmFzZS5jOjUwNQogbXNnaWQgInVwc3RyZWFtIgogbXNnc3RyICJ0aMaw4bujbmcgbmd14buTbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI2CiBtc2dpZCAiY2hhbmdlIHRoZSB1cHN0cmVhbSBpbmZvIgogbXNnc3RyICJ0aGF5IMSR4buVaSB0aMO0bmcgdGluIHRoxrDhu6NuZyBuZ3Xhu5NuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwMwotbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgotbXNnc3RyICJC4buPIMSR4bq3dCB0aMO0bmcgdGluIHRoxrDhu6NuZyBuZ3Xhu5NuIgorIzogYnVpbHRpbi9icmFuY2guYzo2MjcKK21zZ2lkICJ1bnNldCB0aGUgdXBzdHJlYW0gaW5mbyIKK21zZ3N0ciAiYuG7jyDEkeG6t3QgdGjDtG5nIHRpbiB0aMaw4bujbmcgbmd14buTbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI4CiBtc2dpZCAidXNlIGNvbG9yZWQgb3V0cHV0IgogbXNnc3RyICJ0w7QgbcOgdSBr4bq/dCB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjA1CisjOiBidWlsdGluL2JyYW5jaC5jOjYyOQogbXNnaWQgImFjdCBvbiByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMiCiBtc2dzdHIgInRoYW8gdMOhYyB0csOqbiBuaMOhbmgg4oCccmVtb3RlLXRyYWNraW5n4oCdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwNyBidWlsdGluL2JyYW5jaC5jOjYwOQorIzogYnVpbHRpbi9icmFuY2guYzo2MzEgYnVpbHRpbi9icmFuY2guYzo2MzMKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgbmjhu69uZyBuaMOhbmggbcOgIG7DsyBjaOG7qWEgbOG6p24gY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDggYnVpbHRpbi9icmFuY2guYzo2MTAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMyIGJ1aWx0aW4vYnJhbmNoLmM6NjM0CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgbmjDoW5oIG3DoCBuw7Mga2jDtG5nIGNo4bupYSBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxMworIzogYnVpbHRpbi9icmFuY2guYzo2MzcKIG1zZ2lkICJTcGVjaWZpYyBnaXQtYnJhbmNoIGFjdGlvbnM6IgogbXNnc3RyICJIw6BuaCDEkeG7mW5nIGdpdC1icmFuY2g6IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxNAorIzogYnVpbHRpbi9icmFuY2guYzo2MzgKIG1zZ2lkICJsaXN0IGJvdGggcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAibGnhu4d0IGvDqiBj4bqjIG5ow6FuaCDigJxyZW1vdGUtdHJhY2tpbmfigJ0gdsOgIG7hu5lpIGLhu5kiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE2CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MAogbXNnaWQgImRlbGV0ZSBmdWxseSBtZXJnZWQgYnJhbmNoIgogbXNnc3RyICJ4w7NhIG3hu5l0IHRvw6BuIGLhu5kgbmjDoW5oIMSRw6MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE3CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MQogbXNnaWQgImRlbGV0ZSBicmFuY2ggKGV2ZW4gaWYgbm90IG1lcmdlZCkiCiBtc2dzdHIgInjDs2EgbmjDoW5oIChjaG8gZMO5IGzDoCBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbikiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE4CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MgogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIgogbXNnc3RyICJkaSBjaHV54buDbiBoYXkgxJHhu5VpIHTDqm4gbeG7mXQgbmjDoW5oIHbDoCByZWZsb2cgY+G7p2EgbsOzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxOQorIzogYnVpbHRpbi9icmFuY2guYzo2NDMKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICJkaSBjaHV54buDbiBob+G6t2MgxJHhu5VpIHTDqm4gbeG7mXQgbmjDoW5oIG5nYXkgY+G6oyBraGkgxJHDrWNoIMSRw6MgY8OzIHPhurVuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMAorIzogYnVpbHRpbi9icmFuY2guYzo2NDQKIG1zZ2lkICJjb3B5IGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIgogbXNnc3RyICJzYW8gY2jDqXAgbeG7mXQgbmjDoW5oIHbDoCByZWZsb2cgY+G7p2EgbsOzIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMQorIzogYnVpbHRpbi9icmFuY2guYzo2NDUKIG1zZ2lkICJjb3B5IGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgInNhbyBjaMOpcCBt4buZdCBuaMOhbmggbmdheSBj4bqjIGtoaSDEkcOtY2ggxJHDoyBjw7Mgc+G6tW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIyCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NgogbXNnaWQgImxpc3QgYnJhbmNoIG5hbWVzIgogbXNnc3RyICJsaeG7h3Qga8OqIGPDoWMgdMOqbiBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIzCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NworbXNnaWQgInNob3cgY3VycmVudCBicmFuY2ggbmFtZSIKK21zZ3N0ciAiaGnhu4NuIHRo4buLIG5ow6FuaCBoaeG7h24gaMOgbmgiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjQ4CiBtc2dpZCAiY3JlYXRlIHRoZSBicmFuY2gncyByZWZsb2ciCiBtc2dzdHIgInThuqFvIHJlZmxvZyBj4bunYSBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI1CisjOiBidWlsdGluL2JyYW5jaC5jOjY1MAogbXNnaWQgImVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoIgogbXNnc3RyICJz4butYSBtw7QgdOG6oyBjaG8gbmjDoW5oIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyNgorIzogYnVpbHRpbi9icmFuY2guYzo2NTEKIG1zZ2lkICJmb3JjZSBjcmVhdGlvbiwgbW92ZS9yZW5hbWUsIGRlbGV0aW9uIgogbXNnc3RyICJideG7mWMgdOG6oW8sIGRpIGNodXnhu4NuL8SR4buVaSB0w6puLCB4w7NhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyNworIzogYnVpbHRpbi9icmFuY2guYzo2NTIKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgbmjDoW5oIG3DoCBuw7MgxJHGsOG7o2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI4CisjOiBidWlsdGluL2JyYW5jaC5jOjY1MwogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgbmjDoW5oIG3DoCBuw7Mga2jDtG5nIMSRxrDhu6NjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyOQorIzogYnVpbHRpbi9icmFuY2guYzo2NTQKIG1zZ2lkICJsaXN0IGJyYW5jaGVzIGluIGNvbHVtbnMiCiBtc2dzdHIgImxp4buHdCBrw6ogY8OhYyBuaMOhbmggdHJvbmcgY8OhYyBj4buZdCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzAgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MCBidWlsdGluL2xzLXJlbW90ZS5jOjcwCi0jOiBidWlsdGluL3RhZy5jOjQxNQotbXNnaWQgImtleSIKLW1zZ3N0ciAia2jDs2EiCi0KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMxIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDEgYnVpbHRpbi9scy1yZW1vdGUuYzo3MQotIzogYnVpbHRpbi90YWcuYzo0MTYKLW1zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCi1tc2dzdHIgInTDqm4gdHLGsOG7nW5nIGPhuqduIHPhuq9wIHjhur9wIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzMyBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQzIGJ1aWx0aW4vbm90ZXMuYzo0MTUKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTggYnVpbHRpbi9ub3Rlcy5jOjU3OCBidWlsdGluL25vdGVzLmM6NTgxCi0jOiBidWlsdGluL3RhZy5jOjQxOAorIzogYnVpbHRpbi9icmFuY2guYzo2NTcgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MiBidWlsdGluL25vdGVzLmM6NDE1CisjOiBidWlsdGluL25vdGVzLmM6NDE4IGJ1aWx0aW4vbm90ZXMuYzo1ODEgYnVpbHRpbi9ub3Rlcy5jOjU4NAorIzogYnVpbHRpbi90YWcuYzo0MzMKIG1zZ2lkICJvYmplY3QiCiBtc2dzdHIgIsSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU4CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgY8OhYyBuaMOhbmggY+G7p2EgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzNiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ5IGJ1aWx0aW4vdGFnLmM6NDI1CisjOiBidWlsdGluL2JyYW5jaC5jOjY2MCBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ4IGJ1aWx0aW4vdGFnLmM6NDQwCiBtc2dpZCAic29ydGluZyBhbmQgZmlsdGVyaW5nIGFyZSBjYXNlIGluc2Vuc2l0aXZlIgogbXNnc3RyICJz4bqvcCB44bq/cCB2w6AgbOG7jWMgbMOgIHBow6JuIGJp4buHdCBIT0EgdGjGsOG7nW5nIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzNyBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4IGJ1aWx0aW4vdGFnLmM6NDIzCi0jOiBidWlsdGluL3ZlcmlmeS10YWcuYzozOQorIzogYnVpbHRpbi9icmFuY2guYzo2NjEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOCBidWlsdGluL3RhZy5jOjQzOAorIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzgKIG1zZ2lkICJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IgogbXNnc3RyICLEkeG7i25oIGThuqFuZyBz4bq9IGTDuW5nIGNobyDEkeG6p3UgcmEiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYwIGJ1aWx0aW4vY2xvbmUuYzo3MzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njg0IGJ1aWx0aW4vY2xvbmUuYzo3ODQKIG1zZ2lkICJIRUFEIG5vdCBmb3VuZCBiZWxvdyByZWZzL2hlYWRzISIKLW1zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IEhFQUQg4bufIGTGsOG7m2kgcmVmcy9oZWFkcyEiCittc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSBIRUFEIOG7nyBkxrDhu5tpIHJlZnMvaGVhZHMhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY4MworIzogYnVpbHRpbi9icmFuY2guYzo3MDgKIG1zZ2lkICItLWNvbHVtbiBhbmQgLS12ZXJib3NlIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgInTDuXkgY2jhu41uIC0tY29sdW1uIHbDoCAtLXZlcmJvc2UgeHVuZyBraOG6r2MgbmhhdSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2OTggYnVpbHRpbi9icmFuY2guYzo3NDkgYnVpbHRpbi9icmFuY2guYzo3NTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIzIGJ1aWx0aW4vYnJhbmNoLmM6Nzc3IGJ1aWx0aW4vYnJhbmNoLmM6Nzg2CiBtc2dpZCAiYnJhbmNoIG5hbWUgcmVxdWlyZWQiCiBtc2dzdHIgImPhuqduIGNo4buJIHJhIHTDqm4gbmjDoW5oIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjcyNQorIzogYnVpbHRpbi9icmFuY2guYzo3NTMKIG1zZ2lkICJDYW5ub3QgZ2l2ZSBkZXNjcmlwdGlvbiB0byBkZXRhY2hlZCBIRUFEIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHGsGEgcmEgbcO0IHThuqMgSEVBRCDEkcOjIHTDoWNoIHLhu51pIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjczMAorIzogYnVpbHRpbi9icmFuY2guYzo3NTgKIG1zZ2lkICJjYW5ub3QgZWRpdCBkZXNjcmlwdGlvbiBvZiBtb3JlIHRoYW4gb25lIGJyYW5jaCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHPhu61hIG3DtCB04bqjIGNobyBuaGnhu4F1IGjGoW4gbeG7mXQgbmjDoW5oIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjczNworIzogYnVpbHRpbi9icmFuY2guYzo3NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gY29tbWl0IG9uIGJyYW5jaCAnJXMnIHlldC4iCiBtc2dzdHIgIlbhuqtuIGNoxrBhIGNodXnhu4NuIGdpYW8gdHLDqm4gbmjDoW5oIOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NDAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGJyYW5jaCBuYW1lZCAnJXMnLiIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBuaMOhbmggbsOgbyBjw7MgdMOqbiDigJwlc+KAnS4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzU1CisjOiBidWlsdGluL2JyYW5jaC5jOjc4MwogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIGZvciBhIGNvcHkgb3BlcmF0aW9uIgogbXNnc3RyICJxdcOhIG5oaeG7gXUgbmjDoW5oIGTDoG5oIGNobyB0aGFvIHTDoWMgc2FvIGNow6lwIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc2NAorIzogYnVpbHRpbi9icmFuY2guYzo3OTIKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMgZm9yIGEgcmVuYW1lIG9wZXJhdGlvbiIKIG1zZ3N0ciAicXXDoSBuaGnhu4F1IHRoYW0gc+G7kSBjaG8gdGhhbyB0w6FjIMSR4buVaSB0w6puIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc2OQorIzogYnVpbHRpbi9icmFuY2guYzo3OTcKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMgdG8gc2V0IG5ldyB1cHN0cmVhbSIKIG1zZ3N0ciAicXXDoSBuaGnhu4F1IHRoYW0gc+G7kSDEkeG7gyDEkeG6t3QgdGjGsOG7o25nIG5ndeG7k24gbeG7m2kiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzczCisjOiBidWlsdGluL2JyYW5jaC5jOjgwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IHNldCB1cHN0cmVhbSBvZiBIRUFEIHRvICVzIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCkBAIC04MzYyLDM2ICsxMDQyOSwzOSBAQAogImtow7RuZyB0aOG7gyDEkeG6t3QgdGjGsOG7o25nIG5ndeG7k24gY+G7p2EgSEVBRCB0aMOgbmggJXMga2hpIG3DoCBuw7MgY2jhurNuZyBjaOG7iSDEkeG6v24gbmjDoW5oICIKICJuw6BvIGPhuqMuIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc3NiBidWlsdGluL2JyYW5jaC5jOjc5OAorIzogYnVpbHRpbi9icmFuY2guYzo4MDQgYnVpbHRpbi9icmFuY2guYzo4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2ggJyVzJyIKIG1zZ3N0ciAia2jDtG5nIGPDsyBuaMOhbmggbsOgbyBuaMawIHRo4bq/IOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc4MAorIzogYnVpbHRpbi9icmFuY2guYzo4MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgImNoxrBhIGPDsyBuaMOhbmgg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzkyCisjOiBidWlsdGluL2JyYW5jaC5jOjgyMQogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyB0byB1bnNldCB1cHN0cmVhbSIKIG1zZ3N0ciAicXXDoSBuaGnhu4F1IHRoYW0gc+G7kSDEkeG7gyBi4buPIMSR4bq3dCB0aMaw4bujbmcgbmd14buTbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTYKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODI1CiBtc2dpZCAiY291bGQgbm90IHVuc2V0IHVwc3RyZWFtIG9mIEhFQUQgd2hlbiBpdCBkb2VzIG5vdCBwb2ludCB0byBhbnkgYnJhbmNoLiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGLhu48gxJHhurd0IHRoxrDhu6NuZyBuZ3Xhu5NuIGPhu6dhIEhFQUQga2jDtG5nIGNo4buJIMSR4bq/biBt4buZdCBuaMOhbmggbsOgbyBj4bqjLiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIGhhcyBubyB1cHN0cmVhbSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAiTmjDoW5oIOKAnCVz4oCdIGtow7RuZyBjw7MgdGjDtG5nIHRpbiB0aMaw4bujbmcgbmd14buTbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MTIKLW1zZ2lkICItYSBhbmQgLXIgb3B0aW9ucyB0byAnZ2l0IGJyYW5jaCcgZG8gbm90IG1ha2Ugc2Vuc2Ugd2l0aCBhIGJyYW5jaCBuYW1lIgorIzogYnVpbHRpbi9icmFuY2guYzo4NDEKK21zZ2lkICIiCisiVGhlIC1hLCBhbmQgLXIsIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnIGRvIG5vdCB0YWtlIGEgYnJhbmNoIG5hbWUuXG4iCisiRGlkIHlvdSBtZWFuIHRvIHVzZTogLWF8LXIgLS1saXN0IDxwYXR0ZXJuPj8iCiBtc2dzdHIgIiIKLSJoYWkgdMO5eSBjaOG7jW4gLWEgdsOgIC1yIMOhcCBk4bulbmcgY2hvIGzhu4duaCDigJxnaXQgYnJhbmNo4oCdIGtow7RuZyBo4bujcCBsw70gxJHhu5FpIHbhu5tpIHTDqm4gIgotIm5ow6FuaCIKKyJIYWkgdMO5eSBjaOG7jW4gLWEgdsOgIC1yIMOhcCBk4bulbmcgY2hvIGzhu4duaCDigJxnaXQgYnJhbmNo4oCdIGtow7RuZyBuaOG6rW4gbeG7mXQgdMOqbiAiCisibmjDoW5oLlxuIgorIkPDsyBwaOG6o2kgw70gYuG6oW4gbMOgIGTDuW5nOiAtYXwtciAtLWxpc3QgPG3huqt1Pj8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6ODE1CisjOiBidWlsdGluL2JyYW5jaC5jOjg0NQogbXNnaWQgIiIKICJ0aGUgJy0tc2V0LXVwc3RyZWFtJyBvcHRpb24gaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gUGxlYXNlIHVzZSAnLS10cmFjaycgb3IgIgogIictLXNldC11cHN0cmVhbS10bycgaW5zdGVhZC4iCkBAIC04Mzk5LDIwICsxMDQ2OSw2NiBAQAogInTDuXkgY2jhu41uIC0tc2V0LXVwc3RyZWFtIMSRw6Mga2jDtG5nIGPDsm4gxJHGsOG7o2MgaOG7lyB0cuG7oyBu4buvYS4gVnVpIGzDsm5nIGTDuW5nIOKAnC0tIgogInRyYWNr4oCdIGhv4bq3YyDigJwtLXNldC11cHN0cmVhbS10b+KAnSDEkeG7gyB0aGF5IHRo4bq/LiIKIAotIzogYnVpbHRpbi9idW5kbGUuYzo0NQorIzogYnVpbHRpbi9idW5kbGUuYzoxNSBidWlsdGluL2J1bmRsZS5jOjIzCisjfCBtc2dpZCAiZ2l0IHJlbW90ZSBhZGQgWzxvcHRpb25zPl0gPG5hbWU+IDx1cmw+IgorbXNnaWQgImdpdCBidW5kbGUgY3JlYXRlIFs8b3B0aW9ucz5dIDxmaWxlPiA8Z2l0LXJldi1saXN0IGFyZ3M+IgorbXNnc3RyICJnaXQgYnVuZGxlIGNyZWF0ZSBbPGPDoWMgdMO5eSBjaOG7jW4+XSA8dOG6rXBfdGluPiA8Z2l0LXJldi1saXN0IGFyZ3M+IgorCisjOiBidWlsdGluL2J1bmRsZS5jOjE2IGJ1aWx0aW4vYnVuZGxlLmM6MjgKK21zZ2lkICJnaXQgYnVuZGxlIHZlcmlmeSBbPG9wdGlvbnM+XSA8ZmlsZT4iCittc2dzdHIgImdpdCBidW5kbGUgdmVyaWZ5IFs8Y8OhYyB0w7l5IGNo4buNbj5dIDx04bqtcC10aW4+IgorCisjOiBidWlsdGluL2J1bmRsZS5jOjE3IGJ1aWx0aW4vYnVuZGxlLmM6MzMKK21zZ2lkICJnaXQgYnVuZGxlIGxpc3QtaGVhZHMgPGZpbGU+IFs8cmVmbmFtZT4uLi5dIgorbXNnc3RyICJnaXQgYnVuZGxlIGxpc3QtaGVhZHMgPHThuq1wIHRpbj4gWzx0w6puIHRoYW0gY2hp4bq/dT4uLi5dIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjE4IGJ1aWx0aW4vYnVuZGxlLmM6MzgKK21zZ2lkICJnaXQgYnVuZGxlIHVuYnVuZGxlIDxmaWxlPiBbPHJlZm5hbWU+Li4uXSIKK21zZ3N0ciAiZ2l0IGJ1bmRsZSB1bmJ1bmRsZSA8dOG6rXAgdGluPiBbPHTDqm4gdGhhbSBjaGnhur91Pi4uLl0iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NjYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjI4Cittc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCittc2dzdHIgImtow7RuZyBoaeG7g24gdGjhu4sgYuG7mSDEkW8gdGnhur9uIHRyw6xuaCIKKworIzogYnVpbHRpbi9idW5kbGUuYzo2OCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzAKK21zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgorbXNnc3RyICJoaeG7g24gdGjhu4sgYuG7mSDEkW8gdGnhur9uIHRyw6xuaCIKKworIzogYnVpbHRpbi9idW5kbGUuYzo3MCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzIKK21zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIGR1cmluZyBvYmplY3Qgd3JpdGluZyBwaGFzZSIKK21zZ3N0ciAiaGnhu4NuIHRo4buLIGLhu5kgxJFvIHRp4bq/biB0cmnhu4NuIHRyb25nIHN14buRdCBwaGEgZ2hpIMSR4buRaSB0xrDhu6NuZyIKKworIzogYnVpbHRpbi9idW5kbGUuYzo3MyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzUKK21zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCittc2dzdHIgInTGsMahbmcgdOG7sSAtLWFsbC1wcm9ncmVzcyBraGkgYuG7mSDEkW8gdGnhur9uIHRyw6xuaCDEkcaw4bujYyB4deG6pXQgaGnhu4duIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjkzCittc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gY3JlYXRlIGEgYnVuZGxlLiIKK21zZ3N0ciAiQ+G6p24gbeG7mXQga2hvIGNo4bupYSDEkeG7gyBjw7MgdGjhu4MgdOG6oW8gbeG7mXQgYnVuZGxlLiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxMDQKK21zZ2lkICJkbyBub3Qgc2hvdyBidW5kbGUgZGV0YWlscyIKK21zZ3N0ciAia2jDtG5nIGhp4buDbiB0aOG7iyBjaGkgdGnhur90IGJ1bmRsZSAoYsOzKSIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgb2theVxuIgogbXNnc3RyICLigJwlc+KAnSB04buRdFxuIgogCi0jOiBidWlsdGluL2J1bmRsZS5jOjU4Ci1tc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gY3JlYXRlIGEgYnVuZGxlLiIKLW1zZ3N0ciAiQ+G6p24gbeG7mXQga2hvIGNo4bupYSDEkeG7gyBjw7MgdGjhu4MgdOG6oW8gbeG7mXQgYnVuZGxlLiIKLQotIzogYnVpbHRpbi9idW5kbGUuYzo2MgorIzogYnVpbHRpbi9idW5kbGUuYzoxNjAKIG1zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byB1bmJ1bmRsZS4iCiBtc2dzdHIgIkPhuqduIG3hu5l0IGtobyBjaOG7qWEgxJHhu4MgY8OzIHRo4buDIGdp4bqjaSBuw6luIG3hu5l0IGJ1bmRsZS4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1ODcKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTY4IGJ1aWx0aW4vcmVtb3RlLmM6MTYwOQorbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCittc2dzdHIgImNoaSB0aeG6v3Q7IHBo4bqjaSDEkcaw4bujYyDEkeG6t3QgdHLGsOG7m2MgbeG7mXQgbOG7h25oLWNvbiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzoxNjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCittc2dzdHIgIktow7RuZyBoaeG7g3UgY8OidSBs4buHbmggY29uOiAlcyIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU5NQogbXNnaWQgIiIKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCA8dHlwZT4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTxwYXRoPl0gPG9iamVjdD4iCkBAIC04NDIwLDcgKzEwNTM2LDcgQEAKICJnaXQgY2F0LWZpbGUgKC10IFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtcyBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLWUgfCAtIgogInAgfCA8a2nhu4N1PiB8IC0tdGV4dGNvbnYpIHwgLS1maWx0ZXJzKSBbLS1wYXRoPTzEkcaw4budbmcvZOG6q24+XSA8xJHhu5FpX3TGsOG7o25nPiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU4OAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU5NgogbXNnaWQgIiIKICJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIFstLXRleHRjb252IHwgLS0iCiAiZmlsdGVyc10iCkBAIC04NDI4LDEzOSArMTA1NDQsMTM5IEBACiAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgogImZpbHRlcnNdIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjA5CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjE3CiBtc2dpZCAib25seSBvbmUgYmF0Y2ggb3B0aW9uIG1heSBiZSBzcGVjaWZpZWQiCiBtc2dzdHIgImNo4buJIG3hu5l0IHTDuXkgY2jhu41uIGJhdGNoIMSRxrDhu6NjIGNo4buJIHJhIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjI3CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM1CiBtc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgogbXNnc3RyICI8a2nhu4N1PiBsw6AgbeG7mXQgdHJvbmcgc+G7kTogYmxvYiwgdHJlZSwgY29tbWl0IGhv4bq3YyB0YWciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MjgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzYKIG1zZ2lkICJzaG93IG9iamVjdCB0eXBlIgogbXNnc3RyICJoaeG7g24gdGjhu4sga2nhu4N1IMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYyOQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNwogbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBrw61jaCB0aMaw4bubYyDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzkKIG1zZ2lkICJleGl0IHdpdGggemVybyB3aGVuIHRoZXJlJ3Mgbm8gZXJyb3IiCiBtc2dzdHIgInRob8OhdCB24bubaSAwIGtoaSBraMO0bmcgY8OzIGzhu5dpIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjMyCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQwCiBtc2dpZCAicHJldHR5LXByaW50IG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgImluIG7hu5lpIGR1bmcgxJHhu5FpIHTGsOG7o25nIGThuqFuZyBk4buFIMSR4buNYyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0MgogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biB0ZXh0Y29udiBvbiBvYmplY3QncyBjb250ZW50IgogbXNnc3RyICJ24bubaSDEkeG7kWkgdMaw4bujbmcgYmxvYiwgY2jhuqF5IGzhu4duaCB0ZXh0Y29udiB0csOqbiBu4buZaSBkdW5nIGPhu6dhIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NAogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biBmaWx0ZXJzIG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgInbhu5tpIMSR4buRaSB0xrDhu6NuZyBibG9iLCBjaOG6oXkgbOG7h25oIGZpbHRlcnMgdHLDqm4gbuG7mWkgZHVuZyBj4bunYSDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzcgZ2l0LXN1Ym1vZHVsZS5zaDo4NTcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDUgZ2l0LXN1Ym1vZHVsZS5zaDo5OTIKIG1zZ2lkICJibG9iIgogbXNnc3RyICJibG9iIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjM4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQ2CiBtc2dpZCAidXNlIGEgc3BlY2lmaWMgcGF0aCBmb3IgLS10ZXh0Y29udi8tLWZpbHRlcnMiCiBtc2dzdHIgImTDuW5nIG3hu5l0IMSRxrDhu51uZyBk4bqrbiByw7UgcsOgbmcgY2hvIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjQwCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQ4CiBtc2dpZCAiYWxsb3cgLXMgYW5kIC10IHRvIHdvcmsgd2l0aCBicm9rZW4vY29ycnVwdCBvYmplY3RzIgogbXNnc3RyICJjaG8gcGjDqXAgLXMgdsOgIC10IMSR4buDIGzDoG0gdmnhu4djIHbhu5tpIGPDoWMgxJHhu5FpIHTGsOG7o25nIHNhaS9o4buPbmciCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDEKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDkKIG1zZ2lkICJidWZmZXIgLS1iYXRjaCBvdXRwdXQiCiBtc2dzdHIgIsSR4buHbSBr4bq/dCB4deG6pXQgLS1iYXRjaCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0MworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1MQogbXNnaWQgInNob3cgaW5mbyBhbmQgY29udGVudCBvZiBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiIgogImhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbDoCBu4buZaSBkdW5nIGPhu6dhIGPDoWMgxJHhu5FpIHTGsOG7o25nIGzhuqV5IHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1NQogbXNnaWQgInNob3cgaW5mbyBhYm91dCBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdGjDtG5nIHRpbiB24buBIMSR4buRaSB0xrDhu6NuZyBmZWQgIHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1MQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1OQogbXNnaWQgImZvbGxvdyBpbi10cmVlIHN5bWxpbmtzICh1c2VkIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrKSIKIG1zZ3N0ciAidGhlbyBsacOqbiBr4bq/dCBt4buBbSB0cm9uZy1jw6J5ICjEkcaw4bujYyBkw7luZyB24bubaSAtLWJhdGNoIGhheSAtLWJhdGNoLWNoZWNrKSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1MworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY2MQogbXNnaWQgInNob3cgYWxsIG9iamVjdHMgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2siCiBtc2dzdHIgImhp4buDbiB0aOG7iyBt4buNaSDEkeG7kWkgdMaw4bujbmcgduG7m2kgLS1iYXRjaCBoYXkgLS1iYXRjaC1jaGVjayIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1NQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY2MwogbXNnaWQgImRvIG5vdCBvcmRlciAtLWJhdGNoLWFsbC1vYmplY3RzIG91dHB1dCIKIG1zZ3N0ciAixJHhu6tuZyBz4bqvcCB44bq/cCDEkeG6p3UgcmEgLS1iYXRjaC1hbGwtb2JqZWN0cyIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MTIKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEzCiBtc2dpZCAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCA8YXR0cj4uLi5dIFstLV0gPHBhdGhuYW1lPi4uLiIKIG1zZ3N0ciAiZ2l0IGNoZWNrLWF0dHIgWy1hIHwgLS1hbGwgfCA8YXR0cj7igKZdIFstLV0gdMOqbi3Ekcaw4budbmctZOG6q27igKYiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEzCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxNAogbXNnaWQgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IDxhdHRyPi4uLl0iCiBtc2dzdHIgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IDxhdHRyPuKApl0iCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIwCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMQogbXNnaWQgInJlcG9ydCBhbGwgYXR0cmlidXRlcyBzZXQgb24gZmlsZSIKIG1zZ3N0ciAiYsOhbyBjw6FvIHThuqV0IGPhuqMgY8OhYyB0aHXhu5ljIHTDrW5oIMSR4bq3dCB0csOqbiB04bqtcCB0aW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMgogbXNnaWQgInVzZSAuZ2l0YXR0cmlidXRlcyBvbmx5IGZyb20gdGhlIGluZGV4IgogbXNnc3RyICJjaOG7iSBkw7luZyAuZ2l0YXR0cmlidXRlcyB04burIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjIgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNCBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMyBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI1IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIKIG1zZ2lkICJyZWFkIGZpbGUgbmFtZXMgZnJvbSBzdGRpbiIKIG1zZ3N0ciAixJHhu41jIHTDqm4gdOG6rXAgdGluIHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjQgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNgorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjUgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNwogbXNnaWQgInRlcm1pbmF0ZSBpbnB1dCBhbmQgb3V0cHV0IHJlY29yZHMgYnkgYSBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICJjaOG6pW0gZOG7qXQgY8OhYyBi4bqjbiBnaGkgdsOgbyB2w6AgcmEgYuG6sW5nIGvDvSB04buxIE5VTEwiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjAgYnVpbHRpbi9jaGVja291dC5jOjEyMzQgYnVpbHRpbi9nYy5jOjUxNwotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5NQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMSBidWlsdGluL2NoZWNrb3V0LmM6MTQzNSBidWlsdGluL2djLmM6NTM3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA2CiBtc2dpZCAic3VwcHJlc3MgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICJjaOG6t24gY8OhYyBiw6FvIGPDoW8gdGnhur9uIHRyw6xuaCBob+G6oXQgxJHhu5luZyIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOQogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGlucHV0IHBhdGhzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgbmjhu69uZyDEkcaw4budbmcgZOG6q24gxJHhuqd1IHbDoG8ga2jDtG5nIGto4bubcCB24bubaSBt4bqrdSIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzozMAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzozMQogbXNnaWQgImlnbm9yZSBpbmRleCB3aGVuIGNoZWNraW5nIgogbXNnc3RyICJi4buPIHF1YSBt4bulYyBs4bulYyBraGkga2nhu4NtIHRyYSIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNTkKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYwCiBtc2dpZCAiY2Fubm90IHNwZWNpZnkgcGF0aG5hbWVzIHdpdGggLS1zdGRpbiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGNo4buJIMSR4buLbmggY8OhYyB0w6puIMSRxrDhu51uZyBk4bqrbiB24bubaSAtLXN0ZGluIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MgorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjMKIG1zZ2lkICIteiBvbmx5IG1ha2VzIHNlbnNlIHdpdGggLS1zdGRpbiIKIG1zZ3N0ciAiLXogY2jhu4kgaOG7o3AgbMO9IHbhu5tpIC0tc3RkaW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY0CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2NQogbXNnaWQgIm5vIHBhdGggc3BlY2lmaWVkIgogbXNnc3RyICJjaMawYSBjaOG7iSByYSDEkcaw4budbmcgZOG6q24iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY4CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2OQogbXNnaWQgIi0tcXVpZXQgaXMgb25seSB2YWxpZCB3aXRoIGEgc2luZ2xlIHBhdGhuYW1lIgogbXNnc3RyICItLXF1aWV0IGNo4buJIGjhu6NwIGzhu4cgduG7m2kgdMOqbiDEkcaw4budbmcgZOG6q24gxJHGoW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcwCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MQogbXNnaWQgImNhbm5vdCBoYXZlIGJvdGggLS1xdWlldCBhbmQgLS12ZXJib3NlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZMO5bmcgY+G6oyBoYWkgdMO5eSBjaOG7jW4gLS1xdWlldCB2w6AgLS12ZXJib3NlIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzQKIG1zZ2lkICItLW5vbi1tYXRjaGluZyBpcyBvbmx5IHZhbGlkIHdpdGggLS12ZXJib3NlIgogbXNnc3RyICJ0w7l5LWNo4buNbiAtLW5vbi1tYXRjaGluZyBjaOG7iSBo4bujcCBs4buHIGtoaSBkw7luZyB24bubaSAtLXZlcmJvc2UiCiAKICM6IGJ1aWx0aW4vY2hlY2stbWFpbG1hcC5jOjkKIG1zZ2lkICJnaXQgY2hlY2stbWFpbG1hcCBbPG9wdGlvbnM+XSA8Y29udGFjdD4uLi4iCi1tc2dzdHIgImdpdCBjaGVjay1tYWlsbWFwIFs8Y8OhYy10w7l5LWNo4buNbj5dIDxkYW5oLWLhuqE+4oCmIgorbXNnc3RyICJnaXQgY2hlY2stbWFpbG1hcCBbPGPDoWMgdMO5eSBjaOG7jW4+XSA8ZGFuaC1i4bqhPuKApiIKIAogIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MTQKIG1zZ2lkICJhbHNvIHJlYWQgY29udGFjdHMgZnJvbSBzdGRpbiIKQEAgLTg1NzUsMTY2ICsxMDY5MSwyMTcgQEAKIG1zZ2lkICJubyBjb250YWN0cyBzcGVjaWZpZWQiCiBtc2dzdHIgImNoxrBhIGNo4buJIHJhIGRhbmggYuG6oSIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEyOAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjEzMQogbXNnaWQgImdpdCBjaGVja291dC1pbmRleCBbPG9wdGlvbnM+XSBbLS1dIFs8ZmlsZT4uLi5dIgotbXNnc3RyICJnaXQgY2hlY2tvdXQtaW5kZXggWzxjw6FjLXTDuXktY2jhu41uPl0gWy0tXSBbPHThuq1wLXRpbj7igKZdIgorbXNnc3RyICJnaXQgY2hlY2tvdXQtaW5kZXggWzxjw6FjIHTDuXkgY2jhu41uPl0gWy0tXSBbPHThuq1wLXRpbj7igKZdIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTQ1CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTQ4CiBtc2dpZCAic3RhZ2Ugc2hvdWxkIGJlIGJldHdlZW4gMSBhbmQgMyBvciBhbGwiCiBtc2dzdHIgInN0YWdlIG7Dqm4gZ2nhu69hIDEgdsOgIDMgaGF5IGFsbCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MQorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NAogbXNnaWQgImNoZWNrIG91dCBhbGwgZmlsZXMgaW4gdGhlIGluZGV4IgogbXNnc3RyICJs4bqleSByYSB0b8OgbiBi4buZIGPDoWMgdOG6rXAgdGluIHRyb25nIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2MgorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NQogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBleGlzdGluZyBmaWxlcyIKIG1zZ3N0ciAiw6lwIGJ14buZYyBnaGkgxJHDqCBsw6puIHThuq1wIHRpbiDEkcOjIHPhurVuIGPDsyB04burIHRyxrDhu5tjIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY0CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY3CiBtc2dpZCAibm8gd2FybmluZyBmb3IgZXhpc3RpbmcgZmlsZXMgYW5kIGZpbGVzIG5vdCBpbiBpbmRleCIKIG1zZ3N0ciAiIgogImtow7RuZyBj4bqjbmggYsOhbyBjaG8gbmjhu69uZyB04bqtcCB0aW4gdOG7k24gdOG6oWkgdsOgIGtow7RuZyBjw7MgdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY2CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY5CiBtc2dpZCAiZG9uJ3QgY2hlY2tvdXQgbmV3IGZpbGVzIgogbXNnc3RyICJraMO0bmcgY2hlY2tvdXQgY8OhYyB04bqtcCB0aW4gbeG7m2kiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzEKIG1zZ2lkICJ1cGRhdGUgc3RhdCBpbmZvcm1hdGlvbiBpbiB0aGUgaW5kZXggZmlsZSIKIG1zZ3N0ciAiY+G6rXAgbmjhuq10IHRow7RuZyB0aW4gdGjhu5FuZyBrw6ogdHJvbmcgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIG3hu5tpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTcyCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc1CiBtc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLEkeG7jWMgZGFuaCBzw6FjaCDEkcaw4budbmcgZOG6q24gdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc0CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc3CiBtc2dpZCAid3JpdGUgdGhlIGNvbnRlbnQgdG8gdGVtcG9yYXJ5IGZpbGVzIgogbXNnc3RyICJnaGkgbuG7mWkgZHVuZyB2w6BvIHThuq1wIHRpbiB04bqhbSIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NSBidWlsdGluL2NvbHVtbi5jOjMxCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3MQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTMKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzggYnVpbHRpbi9jb2x1bW4uYzozMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzk2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODgyCisjOiBidWlsdGluL3dvcmt0cmVlLmM6Njc5CiBtc2dpZCAic3RyaW5nIgogbXNnc3RyICJjaHXhu5dpIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc2CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc5CiBtc2dpZCAid2hlbiBjcmVhdGluZyBmaWxlcywgcHJlcGVuZCA8c3RyaW5nPiIKIG1zZ3N0ciAia2hpIHThuqFvIGPDoWMgdOG6rXAgdGluLCBu4buRaSB0aMOqbSA8Y2h14buXaT4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxODEKIG1zZ2lkICJjb3B5IG91dCB0aGUgZmlsZXMgZnJvbSBuYW1lZCBzdGFnZSIKIG1zZ3N0ciAic2FvIGNow6lwIHJhIGPDoWMgdOG6rXAgdGluIHThu6sgYuG7hyBwaMOzbmcgY8OzIHTDqm4iCiAKICM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMQogbXNnaWQgImdpdCBjaGVja291dCBbPG9wdGlvbnM+XSA8YnJhbmNoPiIKLW1zZ3N0ciAiZ2l0IGNoZWNrb3V0IFs8Y8OhYy10w7l5LWNo4buNbj5dIDxuaMOhbmg+IgorbXNnc3RyICJnaXQgY2hlY2tvdXQgWzxjw6FjIHTDuXkgY2jhu41uPl0gPG5ow6FuaD4iCiAKICM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMgogbXNnaWQgImdpdCBjaGVja291dCBbPG9wdGlvbnM+XSBbPGJyYW5jaD5dIC0tIDxmaWxlPi4uLiIKLW1zZ3N0ciAiZ2l0IGNoZWNrb3V0IFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8bmjDoW5oPl0gLS0gPHThuq1wLXRpbj7igKYiCittc2dzdHIgImdpdCBjaGVja291dCBbPGPDoWMgdMO5eSBjaOG7jW4+XSBbPG5ow6FuaD5dIC0tIDx04bqtcC10aW4+4oCmIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozNworbXNnaWQgImdpdCBzd2l0Y2ggWzxvcHRpb25zPl0gWzxicmFuY2g+XSIKK21zZ3N0ciAiZ2l0IHN3aXRjaCBbPGPDoWMgdMO5eSBjaOG7jW4+XSBbPG5ow6FuaD5dIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDIKK21zZ2lkICJnaXQgcmVzdG9yZSBbPG9wdGlvbnM+XSBbLS1zb3VyY2U9PGJyYW5jaD5dIDxmaWxlPi4uLiIKK21zZ3N0ciAiZ2l0IHJlc3RvcmUgWzxjw6FjIHTDuXkgY2jhu41uPl0gWy0tc291cmNlPTxuaMOhbmg+XSA8dOG6rXAgdGluPi4uLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NSBidWlsdGluL2NoZWNrb3V0LmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG91ciB2ZXJzaW9uIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24g4oCcJXPigJ0ga2jDtG5nIGPDsyBjw6FjIHBoacOqbiBi4bqjbiBj4bunYSBjaMO6bmcgdGEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDYgYnVpbHRpbi9jaGVja291dC5jOjE3OQorIzogYnVpbHRpbi9jaGVja291dC5jOjE3NyBidWlsdGluL2NoZWNrb3V0LmM6MjE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIHRoZWlyIHZlcnNpb24iCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSBraMO0bmcgY8OzIGPDoWMgcGhpw6puIGLhuqNuIGPhu6dhIGNow7puZyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBhbGwgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24g4oCcJXPigJ0ga2jDtG5nIGPDsyB04bqldCBj4bqjIGPDoWMgcGhpw6puIGLhuqNuIGPhuqduIHRoaeG6v3QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24g4oCcJXPigJ0ga2jDtG5nIGPDsyBjw6FjIHBoacOqbiBi4bqjbiBj4bqnbiB0aGnhur90IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjI0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJzogY2Fubm90IG1lcmdlIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24g4oCcJXPigJ06IGtow7RuZyB0aOG7gyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI0MAorIzogYnVpbHRpbi9jaGVja291dC5jOjI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHRow6ptIGvhur90IHF14bqjIGjDsmEgdHLhu5luIGNobyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI2MiBidWlsdGluL2NoZWNrb3V0LmM6MjY1IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjgKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVjcmVhdGVkICVkIG1lcmdlIGNvbmZsaWN0IgorbXNnaWRfcGx1cmFsICJSZWNyZWF0ZWQgJWQgbWVyZ2UgY29uZmxpY3RzIgorbXNnc3RyWzBdICLEkMOjIHThuqFvIGzhuqFpICVkIHh1bmcgxJHhu5l0IGjDsmEgdHLhu5luIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVwZGF0ZWQgJWQgcGF0aCBmcm9tICVzIgorbXNnaWRfcGx1cmFsICJVcGRhdGVkICVkIHBhdGhzIGZyb20gJXMiCittc2dzdHJbMF0gIsSQw6MgY+G6rXAgbmjhuq10IMSRxrDhu51uZyBk4bqrbiAlZCB04burICVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVwZGF0ZWQgJWQgcGF0aCBmcm9tIHRoZSBpbmRleCIKK21zZ2lkX3BsdXJhbCAiVXBkYXRlZCAlZCBwYXRocyBmcm9tIHRoZSBpbmRleCIKK21zZ3N0clswXSAixJDDoyBj4bqtcCBuaOG6rXQgxJHGsOG7nW5nIGThuqtuICVkIHThu6sgbeG7pWMgbOG7pWMiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MTIgYnVpbHRpbi9jaGVja291dC5jOjQxNSBidWlsdGluL2NoZWNrb3V0LmM6NDE4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCB1cGRhdGluZyBwYXRocyIKIG1zZ3N0ciAia2jDtG5nIMSRxrDhu6NjIGTDuW5nIOKAnCVz4oCdIHbhu5tpIGPDoWMgxJHGsOG7nW5nIGThuqtuIGPhuq1wIG5o4bqtdCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI3NCBidWlsdGluL2NoZWNrb3V0LmM6Mjc3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDI1IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICJraMO0bmcgxJHGsOG7o2MgZMO5bmcg4oCcJXPigJ0gduG7m2kgJXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyODAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuIgogbXNnc3RyICIiCiAiS2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCBjw6FjIMSRxrDhu51uZyBk4bqrbiB2w6AgY2h1eeG7g24gxJHhur9uIG5ow6FuaCDigJwlc+KAnSBjw7luZyBt4buZdCBsw7pjLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjM0OSBidWlsdGluL2NoZWNrb3V0LmM6MzU2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgJyVzJyBvciAnJXMnIGlzIHNwZWNpZmllZCIKK21zZ3N0ciAia2jDtG5nIGNo4buJIMSR4buLbmggJyVzJyBraMO0bmcgJyVzJyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIG11c3QgYmUgdXNlZCB3aGVuICclcycgaXMgbm90IHNwZWNpZmllZCIKK21zZ3N0ciAicGjhuqNpIGPDsyDigJwlc+KAnSBraGkga2jDtG5nIGNo4buJIMSR4buLbmgg4oCcJXPigJ0iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NDUgYnVpbHRpbi9jaGVja291dC5jOjQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIG9yICclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKK21zZ3N0ciAiJyVzJyBoYXkgJyVzJyBraMO0bmcgdGjhu4MgxJHGsOG7o2Mgc+G7rSBk4bulbmcgduG7m2kgJXMiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1MDkgYnVpbHRpbi9jaGVja291dC5jOjUxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDigJwlc+KAnSBraMO0bmcgxJHGsOG7o2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MDgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODIgYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo4MgogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgogbXNnc3RyICJi4bqhbiBj4bqnbiBwaOG6o2kgZ2nhuqNpIHF1eeG6v3QgYuG6o25nIG3hu6VjIGzhu6VjIGhp4buHbiB04bqhaSBj4bunYSBi4bqhbiB0csaw4bubYyDEkcOjIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzQ1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjYW5ub3QgY29udGludWUgd2l0aCBzdGFnZWQgY2hhbmdlcyBpbiB0aGUgZm9sbG93aW5nIGZpbGVzOlxuIgorIiVzIgorbXNnc3RyICIiCisia2jDtG5nIHRo4buDIHRp4bq/cCB04bulYyB24bubaSBjw6FjIHRoYXkgxJHhu5VpIMSRw6MgxJHGsOG7o2MgxJHGsGEgbMOqbiBi4buHIHBow7NuZyB0cm9uZyBjw6FjIGTDsm5nICIKKyJzYXU6XG4iCisiJXMiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2FuIG5vdCBkbyByZWZsb2cgZm9yICclcyc6ICVzXG4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIHJlZmxvZyBjaG8g4oCcJXPigJ06ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3ODYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4NzcKIG1zZ2lkICJIRUFEIGlzIG5vdyBhdCIKIG1zZ3N0ciAiSEVBRCBoaeG7h24gZ2nhu50gdOG6oWkiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTAgYnVpbHRpbi9jbG9uZS5jOjY5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjg4MSBidWlsdGluL2Nsb25lLmM6NzE2CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBIRUFEIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10IEhFQUQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAixJDhurd0IGzhuqFpIG5ow6FuaCDigJwlc+KAnVxuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzk3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFscmVhZHkgb24gJyVzJ1xuIgogbXNnc3RyICLEkMOjIHPhurVuIHPDoG5nIHRyw6puIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4MDEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3dpdGNoZWQgdG8gYW5kIHJlc2V0IGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIsSQw6MgY2h1eeG7g24gdOG7m2kgdsOgIMSR4bq3dCBs4bqhaSBuaMOhbmgg4oCcJXPigJ1cbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgwMyBidWlsdGluL2NoZWNrb3V0LmM6MTE2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjg5NCBidWlsdGluL2NoZWNrb3V0LmM6MTI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLEkMOjIGNodXnhu4NuIMSR4bq/biBuaMOhbmggbeG7m2kg4oCcJXPigJ1cbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgwNQorIzogYnVpbHRpbi9jaGVja291dC5jOjg5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLEkMOjIGNodXnhu4NuIMSR4bq/biBuaMOhbmgg4oCcJXPigJ1cbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjg1NgorIzogYnVpbHRpbi9jaGVja291dC5jOjk0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgLi4uIGFuZCAlZCBtb3JlLlxuIgogbXNnc3RyICIg4oCmIHbDoCBuaGnhu4F1IGjGoW4gJWQuXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4NjIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldhcm5pbmc6IHlvdSBhcmUgbGVhdmluZyAlZCBjb21taXQgYmVoaW5kLCBub3QgY29ubmVjdGVkIHRvXG4iCkBAIC04NzUzLDcgKzEwOTIwLDcgQEAKICJcbiIKICIlc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODgxCisjOiBidWlsdGluL2NoZWNrb3V0LmM6OTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2FudCB0byBrZWVwIGl0IGJ5IGNyZWF0aW5nIGEgbmV3IGJyYW5jaCwgdGhpcyBtYXkgYmUgYSBnb29kIHRpbWVcbiIKQEAgLTg3NzQsMTY0ICsxMDk0MSwyNTAgQEAKICIgZ2l0IGJyYW5jaCA8dMOqbl9uaMOhbmhfbeG7m2k+ICVzXG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5MTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDA3CiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IgaW4gcmV2aXNpb24gd2FsayIKIG1zZ3N0ciAibOG7l2kgbuG7mWkgYuG7mSB0cm9uZyBraGkgZGkgY2h1eeG7g24gcXVhIGPDoWMgxJFp4buDbSB4w6l0IGR1eeG7h3QiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5MTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDExCiBtc2dpZCAiUHJldmlvdXMgSEVBRCBwb3NpdGlvbiB3YXMiCiBtc2dzdHIgIlbhu4sgdHLDrSB0csaw4bubYyBraWEgY+G7p2EgSEVBRCBsw6AiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NDUgYnVpbHRpbi9jaGVja291dC5jOjExNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDUxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjg2CiBtc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAiQuG6oW4gdOG6oWkgbmjDoW5oIG3DoCBuw7MgY2jGsGEgaOG7gSDEkcaw4bujYyBzaW5oIHJhIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNzgKK21zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQiCittc2dzdHIgImNo4buJIGPhuqduIG3hu5l0IHRoYW0gY2hp4bq/dSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjExOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCiBtc2dzdHIgImNo4buJIGPhuqduIG3hu5l0IHRoYW0gY2hp4bq/dSwgbmjGsG5nIGzhuqFpIMSRxrBhIHJhICVkLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExMDcgYnVpbHRpbi93b3JrdHJlZS5jOjI4OSBidWlsdGluL3dvcmt0cmVlLmM6NDQ0CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTIzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJyVzJyBjb3VsZCBiZSBib3RoIGEgbG9jYWwgZmlsZSBhbmQgYSB0cmFja2luZyBicmFuY2guXG4iCisiUGxlYXNlIHVzZSAtLSAoYW5kIG9wdGlvbmFsbHkgLS1uby1ndWVzcykgdG8gZGlzYW1iaWd1YXRlIgorbXNnc3RyICIiCisi4oCcJXPigJ0ga2jDtG5nIHRo4buDIGzDoCBj4bqjIHThuq1wIHRpbiBu4buZaSBi4buZIHbDoCBt4buZdCBuaMOhbmggdGhlbyBkw7VpLlxuIgorIlZ1aSBsb25nIGTDuW5nIC0tICh2w6AgdMO5eSBjaOG7jW4gdGjDqm0gLS1uby1ndWVzcykgxJHhu4MgdHLDoW5oIGzhuqtuIGzhu5luIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0NSBidWlsdGluL3dvcmt0cmVlLmM6MjkwIGJ1aWx0aW4vd29ya3RyZWUuYzo0NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCByZWZlcmVuY2U6ICVzIgogbXNnc3RyICJ0aGFtIGNoaeG6v3Uga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTggYnVpbHRpbi9jaGVja291dC5jOjE2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgogbXNnc3RyICJ0aGFtIGNoaeG6v3Uga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgY8OieTolcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzA1CisjLCBjLWZvcm1hdAorbXNnaWQgImEgYnJhbmNoIGlzIGV4cGVjdGVkLCBnb3QgdGFnICclcyciCittc2dzdHIgImPhuqduIG3hu5l0IG5ow6FuaCwgbmjGsG5nIGzhuqFpIG5o4bqtbiDEkcaw4bujYyB0aOG6uyDigJwlc+KAnSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSBicmFuY2ggaXMgZXhwZWN0ZWQsIGdvdCByZW1vdGUgYnJhbmNoICclcyciCittc2dzdHIgImPhuqduIG3hu5l0IG5ow6FuaCwgbmjGsG5nIGzhuqFpIG5o4bqtbiDEkcaw4bujYyBuaMOhbmggbcOheSBwaOG7pWMgduG7pSDigJwlc+KAnSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMDggYnVpbHRpbi9jaGVja291dC5jOjEzMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSBicmFuY2ggaXMgZXhwZWN0ZWQsIGdvdCAnJXMnIgorbXNnc3RyICJj4bqnbiBt4buZdCBuaMOhbmgsIG5oxrBuZyBs4bqhaSBuaOG6rW4gxJHGsOG7o2Mg4oCcJXPigJ0iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzExCisjLCBjLWZvcm1hdAorbXNnaWQgImEgYnJhbmNoIGlzIGV4cGVjdGVkLCBnb3QgY29tbWl0ICclcyciCittc2dzdHIgImPhuqduIG3hu5l0IG5ow6FuaCwgbmjGsG5nIGzhuqFpIG5o4bqtbiDEkcaw4bujYyDigJwlc+KAnSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMjcKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgbWVyZ2luZ1xuIgorIkNvbnNpZGVyIFwiZ2l0IG1lcmdlIC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorImtow7RuZyB0aOG7gyBjaHV54buDbiBuaMOhbmggdHJvbmcga2hpIMSRYW5nIGjDsmEgdHLhu5luXG4iCisiQ8OibiBuaOG6r2MgZHVuZyBcImdpdCBtZXJnZSAtLXF1aXRcIiBob+G6t2MgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMzMQorbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb25cbiIKKyJDb25zaWRlciBcImdpdCBhbSAtLXF1aXRcIiBvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCittc2dzdHIgIiIKKyJraMO0bmcgdGjhu4MgY2h1eeG7g24gbmhhbmgg4bufIGdp4buvYSBt4buZdCBwaGnDqm4gYW1cbiIKKyJDw6JuIG5o4bqvYyBkw7luZyBcImdpdCBhbSAtLXF1aXRcIiBob+G6t2MgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMzNQorbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCB3aGlsZSByZWJhc2luZ1xuIgorIkNvbnNpZGVyIFwiZ2l0IHJlYmFzZSAtLXF1aXRcIiBvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCittc2dzdHIgIiIKKyJraMO0bmcgdGjhu4MgY2h1eeG7g24gbmjDoW5oIHRyb25nIGtoaSBj4bqjaSB04buVXG4iCisiQ8OibiBuaOG6r2MgZMO5bmcgXCJnaXQgcmViYXNlIC0tcXVpdFwiIGhheSBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzM5Cittc2dpZCAiIgorImNhbm5vdCBzd2l0Y2ggYnJhbmNoIHdoaWxlIGNoZXJyeS1waWNraW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgY2hlcnJ5LXBpY2sgLS1xdWl0XCIgb3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorbXNnc3RyICIiCisia2jDtG5nIHRo4buDIGNodXnhu4NuIG5ow6FuaCB0cm9uZyBraGkgIGNoZXJyeS1waWNraW5nXG4iCisiQ8OibiBuaOG6r2MgZMO5bmcgXCJnaXQgY2hlcnJ5LXBpY2sgLS1xdWl0XCIgaGF5IFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNDMKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgcmV2ZXJ0aW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgcmV2ZXJ0IC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorImtow7RuZyB0aOG7gyBjaHV54buDbiBuaMOhbmggdHJvbmcga2hpIGhvw6BuIG5ndXnDqm5cbiIKKyJDw6JuIG5o4bqvYyBkw7luZyBcImdpdCByZXZlcnQgLS1xdWl0XCIgaG/hurdjIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNDcKK21zZ2lkICJ5b3UgYXJlIHN3aXRjaGluZyBicmFuY2ggd2hpbGUgYmlzZWN0aW5nIgorbXNnc3RyICIiCisiYuG6oW4gaGnhu4duIHThuqFpIMSRYW5nIHRo4buxYyBoaeG7h24gdmnhu4djIGNodXnhu4NuIG5ow6FuaCB0cm9uZyBraGkgxJFhbmcgZGkgY2h1eeG7g24gbuG7rWEgIgorImLGsOG7m2MiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzU0CiBtc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgImPDoWMgxJHGsOG7nW5nIGThuqtuIGtow7RuZyB0aOG7gyBkw7luZyBjw7luZyB24bubaSBjw6FjIG5ow6FuaCBjaHV54buDbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNzggYnVpbHRpbi9jaGVja291dC5jOjExODIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzU3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzYxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIuKAnCVz4oCdIGtow7RuZyB0aOG7gyDEkcaw4bujYyBz4butIGThu6VuZyB24bubaSBjw6FjIG5ow6FuaCBjaHV54buDbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExODYgYnVpbHRpbi9jaGVja291dC5jOjExODkgYnVpbHRpbi9jaGVja291dC5jOjExOTQKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTk3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM2OSBidWlsdGluL2NoZWNrb3V0LmM6MTM3MiBidWlsdGluL2NoZWNrb3V0LmM6MTM3NQorIzogYnVpbHRpbi9jaGVja291dC5jOjEzODAgYnVpbHRpbi9jaGVja291dC5jOjEzODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciCiBtc2dzdHIgIuKAnCVz4oCdIGtow7RuZyB0aOG7gyDEkcaw4bujYyBkw7luZyB24bubaSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMDIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgY2Fubm90IHRha2UgPHN0YXJ0LXBvaW50PiIKK21zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHRo4buDIG5o4bqtbiA8xJFp4buDbS3EkeG6p3U+IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3dpdGNoIGJyYW5jaCB0byBhIG5vbi1jb21taXQgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGNodXnhu4NuIG5ow6FuaCDEkeG6v24gbeG7mXQgdGjhu6kga2jDtG5nIHBo4bqjaSBsw6AgbOG6p24gY2h1eeG7g24gZ2lhbyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMzUgYnVpbHRpbi9jaGVja291dC5jOjEyMzcgYnVpbHRpbi9jbG9uZS5jOjExOQotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjkgYnVpbHRpbi9yZW1vdGUuYzoxNzEgYnVpbHRpbi93b3JrdHJlZS5jOjQ4OAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5MAotbXNnaWQgImJyYW5jaCIKLW1zZ3N0ciAibmjDoW5oIgorIzogYnVpbHRpbi9jaGVja291dC5jOjEzOTcKK21zZ2lkICJtaXNzaW5nIGJyYW5jaCBvciBjb21taXQgYXJndW1lbnQiCittc2dzdHIgInRoaeG6v3UgdGhhbSBz4buRIGzDoCBuaMOhbmggaG/hurdjIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjM2Ci1tc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCi1tc2dzdHIgInThuqFvIHbDoCBjaGVja291dCBt4buZdCBuaMOhbmggbeG7m2kiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjM4Ci1tc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBjaGVja291dCBhIGJyYW5jaCIKLW1zZ3N0ciAidOG6oW8vxJHhurd0X2zhuqFpIHbDoCBjaGVja291dCBt4buZdCBuaMOhbmgiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjM5Ci1tc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKLW1zZ3N0ciAidOG6oW8gcmVmbG9nIGNobyBuaMOhbmggbeG7m2kiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQwIGJ1aWx0aW4vd29ya3RyZWUuYzo0OTIKLW1zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCi1tc2dzdHIgInLhu51pIGLhu48gSEVBRCB04bqhaSBs4bqnbiBjaHV54buDbiBnaWFvIHRoZW8gdMOqbiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDEKLW1zZ2lkICJzZXQgdXBzdHJlYW0gaW5mbyBmb3IgbmV3IGJyYW5jaCIKLW1zZ3N0ciAixJHhurd0IHRow7RuZyB0aW4gdGjGsOG7o25nIG5ndeG7k24gY2hvIG5ow6FuaCBt4bubaSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDMKLW1zZ2lkICJuZXctYnJhbmNoIgotbXNnc3RyICJuaMOhbmgtbeG7m2kiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQzCi1tc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgotbXNnc3RyICJuaMOhbmgga2jDtG5nIGNoYSBt4bubaSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDUKLW1zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCi1tc2dzdHIgIiIKLSJs4bqleSByYSAoY2hlY2tvdXQpIHBoacOqbiBi4bqjbiBj4bunYSBjaMO6bmcgdGEgY2hvIGPDoWMgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI0OAotbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgotbXNnc3RyICIiCi0ibOG6pXkgcmEgKGNoZWNrb3V0KSBwaGnDqm4gYuG6o24gY+G7p2EgY2jDum5nIGjhu40gY2hvIGPDoWMgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIGjDsmEgdHLhu5luIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1MAotbXNnaWQgImZvcmNlIGNoZWNrb3V0ICh0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMpIgotbXNnc3RyICLDqXAgYnXhu5ljIGzhuqV5IHJhIChi4buPIMSRaSBuaOG7r25nIHRoYXkgxJHhu5VpIG7hu5lpIGLhu5kpIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1MgotbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgotbXNnc3RyICJ0aOG7sWMgaGnhu4duIGjDsmEgdHLhu5luIGtp4buDdSAzLXdheSB24bubaSBuaMOhbmggbeG7m2kiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU0IGJ1aWx0aW4vbWVyZ2UuYzoyNzUKLW1zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCi1tc2dzdHIgImPhuq1wIG5o4bqtdCBjw6FjIHThuq1wIHRpbiBi4buLIGLhu48gcXVhICht4bq3YyDEkeG7i25oKSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTYgYnVpbHRpbi9sb2cuYzoxNTczIHBhcnNlLW9wdGlvbnMuaDoyNzQKLW1zZ2lkICJzdHlsZSIKLW1zZ3N0ciAia2nhu4N1IgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1NwotbXNnaWQgImNvbmZsaWN0IHN0eWxlIChtZXJnZSBvciBkaWZmMykiCi1tc2dzdHIgInh1bmcgxJHhu5l0IGtp4buDdSAoaMOyYSB0cuG7mW4gaG/hurdjIGRpZmYzKSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjAKLW1zZ2lkICJkbyBub3QgbGltaXQgcGF0aHNwZWNzIHRvIHNwYXJzZSBlbnRyaWVzIG9ubHkiCi1tc2dzdHIgImtow7RuZyBnaeG7m2kgaOG6oW4gxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIHRow6BuaCBjaOG7iSBjw6FjIG3hu6VjIHRoxrBhIHRo4bubdCIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjIKLW1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKLW1zZ3N0ciAiZ+G7o2kgw70gdGjhu6kgaGFpIFwiZ2l0IGNoZWNrb3V0IDxraMO0bmctbmjDoW5oLW7DoG8tbmjGsC124bqteT5cIiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjQKLW1zZ2lkICJkbyBub3QgY2hlY2sgaWYgYW5vdGhlciB3b3JrdHJlZSBpcyBob2xkaW5nIHRoZSBnaXZlbiByZWYiCi1tc2dzdHIgImtow7RuZyBraeG7g20gdHJhIG7hur91IGPDonkgbMOgbSB2aeG7h2Mga2jDoWMgxJFhbmcgZ2nhu68gdGhhbSBjaGnhur91IMSRw6MgY2hvIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI2OCBidWlsdGluL2Nsb25lLmM6ODYgYnVpbHRpbi9mZXRjaC5jOjE0MQotIzogYnVpbHRpbi9tZXJnZS5jOjI3MiBidWlsdGluL3B1bGwuYzoxMjkgYnVpbHRpbi9wdXNoLmM6NTcyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQzOSBidWlsdGluL2Nsb25lLmM6OTEgYnVpbHRpbi9jb21taXQtZ3JhcGguYzo1MgorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMTMgYnVpbHRpbi9mZXRjaC5jOjE2NyBidWlsdGluL21lcmdlLmM6Mjg1CisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzoyNyBidWlsdGluL3B1bGwuYzoxMzggYnVpbHRpbi9wdXNoLmM6NTYzCiAjOiBidWlsdGluL3NlbmQtcGFjay5jOjE3NAogbXNnaWQgImZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAiw6lwIGJ14buZYyBiw6FvIGPDoW8gdGnhur9uIHRyaeG7g24gY8O0bmcgdmnhu4djIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI5OAorIzogYnVpbHRpbi9jaGVja291dC5jOjE0NDAKK21zZ2lkICJwZXJmb3JtIGEgMy13YXkgbWVyZ2Ugd2l0aCB0aGUgbmV3IGJyYW5jaCIKK21zZ3N0ciAidGjhu7FjIGhp4buHbiBow7JhIHRy4buZbiBraeG7g3UgMy13YXkgduG7m2kgbmjDoW5oIG3hu5tpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ0MSBidWlsdGluL2xvZy5jOjE2OTAgcGFyc2Utb3B0aW9ucy5oOjMyMgorbXNnaWQgInN0eWxlIgorbXNnc3RyICJraeG7g3UiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDQyCittc2dpZCAiY29uZmxpY3Qgc3R5bGUgKG1lcmdlIG9yIGRpZmYzKSIKK21zZ3N0ciAieHVuZyDEkeG7mXQga2nhu4N1IChow7JhIHRy4buZbiBob+G6t2MgZGlmZjMpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ1NCBidWlsdGluL3dvcmt0cmVlLmM6NTAzCittc2dpZCAiZGV0YWNoIEhFQUQgYXQgbmFtZWQgY29tbWl0IgorbXNnc3RyICJy4budaSBi4buPIEhFQUQgdOG6oWkgbOG6p24gY2h1eeG7g24gZ2lhbyB0aGVvIHTDqm4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU1Cittc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCittc2dzdHIgIsSR4bq3dCB0aMO0bmcgdGluIHRoxrDhu6NuZyBuZ3Xhu5NuIGNobyBuaMOhbmggbeG7m2kiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU3Cittc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCittc2dzdHIgIsOpcCBideG7mWMgbOG6pXkgcmEgKGLhu48gxJFpIG5o4buvbmcgdGhheSDEkeG7lWkgbuG7mWkgYuG7mSkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU5Cittc2dpZCAibmV3LWJyYW5jaCIKK21zZ3N0ciAibmjDoW5oLW3hu5tpIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ1OQorbXNnaWQgIm5ldyB1bnBhcmVudGVkIGJyYW5jaCIKK21zZ3N0ciAibmjDoW5oIGtow7RuZyBjaGEgbeG7m2kiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDYxIGJ1aWx0aW4vbWVyZ2UuYzoyODgKK21zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCittc2dzdHIgImPhuq1wIG5o4bqtdCBjw6FjIHThuq1wIHRpbiBi4buLIGLhu48gcXVhICht4bq3YyDEkeG7i25oKSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NjQKK21zZ2lkICJkbyBub3QgY2hlY2sgaWYgYW5vdGhlciB3b3JrdHJlZSBpcyBob2xkaW5nIHRoZSBnaXZlbiByZWYiCittc2dzdHIgImtow7RuZyBraeG7g20gdHJhIG7hur91IGPDonkgbMOgbSB2aeG7h2Mga2jDoWMgxJFhbmcgZ2nhu68gdGhhbSBjaGnhur91IMSRw6MgY2hvIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ3NworbXNnaWQgImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKK21zZ3N0ciAiIgorImzhuqV5IHJhIChjaGVja291dCkgcGhpw6puIGLhuqNuIGPhu6dhIGNow7puZyB0YSBjaG8gY8OhYyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDgwCittc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCittc2dzdHIgIiIKKyJs4bqleSByYSAoY2hlY2tvdXQpIHBoacOqbiBi4bqjbiBj4bunYSBjaMO6bmcgaOG7jSBjaG8gY8OhYyB04bqtcCB0aW4gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDg0Cittc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgorbXNnc3RyICJraMO0bmcgZ2nhu5tpIGjhuqFuIMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiB0aMOgbmggY2jhu4kgY8OhYyBt4bulYyBy4bqjaSByw6FjIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTUzNwogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiQ8OhYyB0w7l5IGNo4buNbiAtYiwgLUIgdsOgIC0tb3JwaGFuIGxv4bqhaSB04burIGzhuqtuIG5oYXUiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzE1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTU0MAorbXNnaWQgIi1wIGFuZCAtLW92ZXJsYXkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLXAgdsOgIC0tb3ZlcmxheSBsb+G6oWkgdOG7qyBs4bqrbiBuaGF1IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTU3NwogbXNnaWQgIi0tdHJhY2sgbmVlZHMgYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiLS10cmFjayBj4bqnbiB0w6puIG3hu5l0IG5ow6FuaCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzMjAKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTgyCiBtc2dpZCAibWlzc2luZyBicmFuY2ggbmFtZTsgdHJ5IC1iIgogbXNnc3RyICJ0aGnhur91IHTDqm4gbmjDoW5oOyBow6N5IHRo4butIC1iIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1NworIzogYnVpbHRpbi9jaGVja291dC5jOjE2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlc29sdmUgJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiBnaeG6o2kg4oCcJXPigJ0iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjMxCiBtc2dpZCAiaW52YWxpZCBwYXRoIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDEkcOjIGNobyBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgY29tbWl0IGFuZCBhIGJyYW5jaCAnJXMnIGNhbm5vdCBiZSBjcmVhdGVkIGZyb20gaXQiCiBtc2dzdHIgIiIKICLigJwlc+KAnSBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIHbDoCBt4buZdCBuaMOhbmgnJXPigJ0ga2jDtG5nIHRo4buDIMSRxrDhu6NjIHThuqFvICIKICJ04burIMSRw7MiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzY4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgY2hlY2tvdXQ6IC0tZGV0YWNoIGRvZXMgbm90IHRha2UgYSBwYXRoIGFyZ3VtZW50ICclcyciCiBtc2dzdHIgImdpdCBjaGVja291dDogLS1kZXRhY2gga2jDtG5nIG5o4bqtbiBt4buZdCDEkeG7kWkgc+G7kSDEkcaw4budbmcgZOG6q24g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzcyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY1MQorI3wgbXNnaWQgIi0tZmlyc3QtcGFyZW50IGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYmlzZWN0IgorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tZGV0YWNoIgorbXNnc3RyICItLXBhdGhzcGVjLWZyb20tZmlsZSB4dW5nIGto4bqvYyB24bubaSAtLWRldGFjaCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE2NTQgYnVpbHRpbi9yZXNldC5jOjMyNAorI3wgbXNnaWQgIi0tZmlyc3QtcGFyZW50IGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYmlzZWN0IgorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tcGF0Y2giCittc2dzdHIgIi0tcGF0aHNwZWMtZnJvbS1maWxlIHh1bmcga2jhuq9jIHbhu5tpIC0tcGF0Y2giCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjY1CiBtc2dpZCAiIgogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgogImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgpAQCAtODkzOSw3ICsxMTE5MiwxMSBAQAogImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIHbDoCAtLW1lcmdlIGzDoCB4dW5nIGto4bqvYyB24bubaSBuaGF1IGtoaVxuIgogImNoZWNrb3V0IGLhuqNuZyBt4bulYyBs4bulYyAoaW5kZXgpLiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzOTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjcwCittc2dpZCAieW91IG11c3Qgc3BlY2lmeSBwYXRoKHMpIHRvIHJlc3RvcmUiCittc2dzdHIgImLhuqFuIHBo4bqjaSBjaOG7iSDEkeG7i25oIGPDoWMgdGjGsCBt4bulYyBtdeG7kW4gaOG7k2kgcGjhu6VjIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBtYXRjaGVkIG1vcmUgdGhhbiBvbmUgcmVtb3RlIHRyYWNraW5nIGJyYW5jaC5cbiIKQEAgLTg5NjksMzggKzExMjI2LDEwNiBAQAogImNoxrBhIHLDtSByw6BuZywgdsOtIGThu6UgbcOheSBjaOG7pyDigJxvcmlnaW7igJ0sIGPDom4gbmjhuq9jIGPDoGkgxJHhurd0XG4iCiAiY2hlY2tvdXQuZGVmYXVsdFJlbW90ZT1vcmlnaW4gdHJvbmcgY+G6pXUgaMOsbmggY+G7p2EgYuG6oW4uIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc2NyBidWlsdGluL2Nsb25lLmM6MTIxIGJ1aWx0aW4vcmVtb3RlLmM6MTY5CisjOiBidWlsdGluL3JlbW90ZS5jOjE3MSBidWlsdGluL3dvcmt0cmVlLmM6NDk5IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDEKK21zZ2lkICJicmFuY2giCittc2dzdHIgIm5ow6FuaCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MTUKK21zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKK21zZ3N0ciAidOG6oW8gdsOgIGNoZWNrb3V0IG3hu5l0IG5ow6FuaCBt4bubaSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MTcKK21zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgorbXNnc3RyICJ04bqhby/EkeG6t3RfbOG6oWkgdsOgIGNoZWNrb3V0IG3hu5l0IG5ow6FuaCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MTgKK21zZ2lkICJjcmVhdGUgcmVmbG9nIGZvciBuZXcgYnJhbmNoIgorbXNnc3RyICJ04bqhbyByZWZsb2cgY2hvIG5ow6FuaCBt4bubaSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MjAKK21zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyAoZGVmYXVsdCkiCittc2dzdHIgIsSRb8OhbiB0aOG7qSBoYWkgJ2dpdCBjaGVja291dCA8a2jDtG5nLW5ow6FuaC1uw6BvLW5oxrAtduG6rXk+JyAobeG6t2MgxJHhu4tuaCkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzIxCittc2dpZCAidXNlIG92ZXJsYXkgbW9kZSAoZGVmYXVsdCkiCittc2dzdHIgImTDuW5nIGNo4bq/IMSR4buZIGNoZSBwaOG7pyAobeG6t2MgxJHhu4tuaCkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY2Cittc2dpZCAiY3JlYXRlIGFuZCBzd2l0Y2ggdG8gYSBuZXcgYnJhbmNoIgorbXNnc3RyICJ04bqhbyB2w6AgY2h1eeG7g24gxJHhur9uIG3hu5l0IG5ow6FuaCBt4bubaSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NjgKK21zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIHN3aXRjaCB0byBhIGJyYW5jaCIKK21zZ3N0ciAidOG6oW8vxJHhurd0X2zhuqFpIHbDoCBjaHV54buDbiDEkeG6v24gbeG7mXQgbmjDoW5oIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc3MAorbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IHN3aXRjaCA8bm8tc3VjaC1icmFuY2g+JyIKK21zZ3N0ciAiZ+G7o2kgw70gdGjhu6kgaGFpIFwiZ2l0IGNoZWNrb3V0IDxraMO0bmctbmjDoW5oLW7DoG8tbmjGsC124bqteT5cIiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NzIKK21zZ2lkICJ0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMiCittc2dzdHIgInbhu6l0IGLhu48gY8OhYyBz4butYSDEkeG7lWkgxJHhu4thIHBoxrDGoW5nIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgwNAorbXNnaWQgIndoaWNoIHRyZWUtaXNoIHRvIGNoZWNrb3V0IGZyb20iCittc2dzdHIgImzhuqV5IHJhIHThu6sgdHJlZS1pc2ggbsOgbyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MDYKK21zZ2lkICJyZXN0b3JlIHRoZSBpbmRleCIKK21zZ3N0ciAicGjhu6VjIGjhu5NpIGLhuqNuZyBt4bulYyBs4bulYyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MDgKK21zZ2lkICJyZXN0b3JlIHRoZSB3b3JraW5nIHRyZWUgKGRlZmF1bHQpIgorbXNnc3RyICJwaOG7pWMgaOG7k2kgY8OieSBsw6BtIHZp4buHYyAobeG6t2MgxJHhu4tuaCkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODEwCittc2dpZCAiaWdub3JlIHVubWVyZ2VkIGVudHJpZXMiCittc2dzdHIgImLhu48gcXVhIG5o4buvbmcgdGjhu6kgY2jGsGEgaMOyYSB0cuG7mW46ICVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgxMQorbXNnaWQgInVzZSBvdmVybGF5IG1vZGUiCittc2dzdHIgImTDuW5nIGNo4bq/IMSR4buZIGNoZSBwaOG7pyIKKworIzogYnVpbHRpbi9jbGVhbi5jOjI4CiBtc2dpZCAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxwYXR0ZXJuPl0gWy14IHwgLVhdIFstLV0gPHBhdGhzPi4uLiIKIG1zZ3N0ciAiIgotImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxt4bqrdT5dIFsteCB8IC1YXSBbLS1dIDzEkcaw4budbmctZOG6q24+4oCmIgorImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxt4bqrdT5dIFsteCB8IC1YXSBbLS1dIDwvY8OhYy/Ekcaw4budbmcvIgorImThuqtuPuKApiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMxCisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXNcbiIKIG1zZ3N0ciAixJBhbmcgZ+G7oSBi4buPICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMgorIzogYnVpbHRpbi9jbGVhbi5jOjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHJlbW92ZSAlc1xuIgogbXNnc3RyICJDw7MgdGjhu4MgZ+G7oSBi4buPICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMworIzogYnVpbHRpbi9jbGVhbi5jOjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAixJBhbmcgYuG7jyBxdWEga2hvIGNo4bupYSAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzQKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNQogIywgYy1mb3JtYXQKIG1zZ2lkICJXb3VsZCBza2lwIHJlcG9zaXRvcnkgJXNcbiIKIG1zZ3N0ciAiTsOqbiBi4buPIHF1YSBraG8gY2jhu6lhICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozNQorIzogYnVpbHRpbi9jbGVhbi5jOjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJXMiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBn4buhIGLhu48gJXMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzoyOTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NzkKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgbHN0YXQgJXNcbiIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRow7RuZyB0aW4gdGjhu5FuZyBrw6ogxJHhuqd5IMSR4bunIGPhu6dhICVzXG4iCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMDEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgpAQCAtOTAxMyw3ICsxMTMzOCw3IEBACiAiZm9vICAgICAgICAtIGNo4buNbiBt4bulYyB0csOqbiBjxqEgc+G7nyB0aeG7gW4gdOG7kSBkdXkgbmjhuqV0XG4iCiAiICAgICAgICAgICAtICjEkeG7gyB0cuG7kW5nKSBraMO0bmcgY2jhu41uIGfDrCBj4bqjXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1ODgKKyM6IGJ1aWx0aW4vY2xlYW4uYzozMDUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlByb21wdCBoZWxwOlxuIgpAQCAtOTAzNCwzOCArMTEzNTksMzMgQEAKICIqICAgICAgICAgIC0gY2jhu41uIHThuqV0XG4iCiAiICAgICAgICAgICAtICjEkeG7gyB0cuG7kW5nKSBr4bq/dCB0aMO6YyB2aeG7h2MgY2jhu41uXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo1MTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NTQKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTU5CisjOiBidWlsdGluL2NsZWFuLmM6NTIxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTcwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU3NQogIywgYy1mb3JtYXQsIHBlcmwtZm9ybWF0CiBtc2dpZCAiSHVoICglcyk/XG4iCiBtc2dzdHIgIkjhuqMgKCVzKT9cbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY2MAorIzogYnVpbHRpbi9jbGVhbi5jOjY2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnB1dCBpZ25vcmUgcGF0dGVybnM+PiAiCiBtc2dzdHIgIk3huqt1IMSR4buDIGzhu41jIGPDoWMgdOG6rXAgdGluIMSR4bqndSB2w6BvIGPhuqduIGzhu50gxJFpPj4gIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Njk3CisjOiBidWlsdGluL2NsZWFuLmM6NzAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IENhbm5vdCBmaW5kIGl0ZW1zIG1hdGNoZWQgYnk6ICVzIgogbXNnc3RyICJD4bqiTkggQsOBTzogS2jDtG5nIHTDrG0gdGjhuqV5IGPDoWMgbeG7pWMgxJHGsOG7o2Mga2jhu5twIGLhu59pOiAlcyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjcxOAorIzogYnVpbHRpbi9jbGVhbi5jOjcyMQogbXNnaWQgIlNlbGVjdCBpdGVtcyB0byBkZWxldGUiCiBtc2dzdHIgIkNo4buNbiBt4bulYyBtdeG7kW4geMOzYSIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBrZWVwIFt5L05dIGFzIGlzCi0jOiBidWlsdGluL2NsZWFuLmM6NzU5CisjOiBidWlsdGluL2NsZWFuLmM6NzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92ZSAlcyBbeS9OXT8gIgogbXNnc3RyICJYw7NhIGLhu48g4oCcJXPigJ0gW3kvTl0/ICIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjc4NCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQnllLlxuIgotbXNnc3RyICJU4bqhbSBiaeG7h3QuXG4iCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzo3OTIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3OTUKIG1zZ2lkICIiCiAiY2xlYW4gICAgICAgICAgICAgICAtIHN0YXJ0IGNsZWFuaW5nXG4iCiAiZmlsdGVyIGJ5IHBhdHRlcm4gICAtIGV4Y2x1ZGUgaXRlbXMgZnJvbSBkZWxldGlvblxuIgpAQCAtOTA4Myw2MyArMTE0MDMsNTUgQEAKICJoZWxwICAgICAgICAgICAgICAgIC0gaGnhu4NuIHRo4buLIGNow61uaCB0cuG7oyBnacO6cCBuw6B5XG4iCiAiPyAgICAgICAgICAgICAgICAgICAtIHRy4bujIGdpw7pwIGTDoG5oIGNobyBjaOG7jW4gYuG6sW5nIGPDoWNoIG5o4bqvYyIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjgxOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3OTMKLW1zZ2lkICIqKiogQ29tbWFuZHMgKioqIgotbXNnc3RyICIqKiogTOG7h25oICoqKiIKLQotIzogYnVpbHRpbi9jbGVhbi5jOjgyMCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3OTAKLW1zZ2lkICJXaGF0IG5vdyIKLW1zZ3N0ciAiR2nhu50gdGjDrCBzYW8iCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MjgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MzEKIG1zZ2lkICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtOiIKIG1zZ2lkX3BsdXJhbCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbXM6IgogbXNnc3RyWzBdICJDw7MgbXXhu5FuIGfhu6EgYuG7jyAoY8OhYykgbeG7pWMgc2F1IMSRw6J5IGtow7RuZzoiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo4NDQKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4NDcKIG1zZ2lkICJObyBtb3JlIGZpbGVzIHRvIGNsZWFuLCBleGl0aW5nLiIKIG1zZ3N0ciAiS2jDtG5nIGPDsm4gdOG6rXAtdGluIG7DoG8gxJHhu4MgZOG7jW4gZOG6uXAsIMSRYW5nIHRob8OhdCByYS4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MDkKIG1zZ2lkICJkbyBub3QgcHJpbnQgbmFtZXMgb2YgZmlsZXMgcmVtb3ZlZCIKIG1zZ3N0ciAia2jDtG5nIGhp4buDbiB0aOG7iyB0w6puIGPhu6dhIGPDoWMgdOG6rXAgdGluIMSRw6MgZ+G7oSBi4buPIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTA4CisjOiBidWlsdGluL2NsZWFuLmM6OTExCiBtc2dpZCAiZm9yY2UiCiBtc2dzdHIgIsOpcCBideG7mWMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTIKIG1zZ2lkICJpbnRlcmFjdGl2ZSBjbGVhbmluZyIKIG1zZ3N0ciAiZOG7jW4gYuG6sW5nIGtp4buDdSB0xrDGoW5nIHTDoWMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTQKIG1zZ2lkICJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImfhu6EgYuG7jyB0b8OgbiBi4buZIHRoxrAgbeG7pWMiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTIgYnVpbHRpbi9kZXNjcmliZS5jOjU0NSBidWlsdGluL2Rlc2NyaWJlLmM6NTQ3Ci0jOiBidWlsdGluL2dyZXAuYzo4ODYgYnVpbHRpbi9sb2cuYzoxNjYgYnVpbHRpbi9sb2cuYzoxNjgKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTYgYnVpbHRpbi9uYW1lLXJldi5jOjQxNSBidWlsdGluL25hbWUtcmV2LmM6NDE3Ci0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL2NsZWFuLmM6OTE1IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDggYnVpbHRpbi9kZXNjcmliZS5jOjU1MAorIzogYnVpbHRpbi9ncmVwLmM6OTAxIGJ1aWx0aW4vbG9nLmM6MTc3IGJ1aWx0aW4vbG9nLmM6MTc5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU3IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjQgYnVpbHRpbi9uYW1lLXJldi5jOjQ2NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OQogbXNnaWQgInBhdHRlcm4iCiBtc2dzdHIgIm3huqt1IgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTEzCisjOiBidWlsdGluL2NsZWFuLmM6OTE2CiBtc2dpZCAiYWRkIDxwYXR0ZXJuPiB0byBpZ25vcmUgcnVsZXMiCiBtc2dzdHIgInRow6ptIDxt4bqrdT4gdsOgbyB0cm9uZyBxdWkgdOG6r2MgYuG7jyBxdWEiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTQKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTcKIG1zZ2lkICJyZW1vdmUgaWdub3JlZCBmaWxlcywgdG9vIgogbXNnc3RyICLEkeG7k25nIHRo4budaSBn4buhIGLhu48gY+G6oyBjw6FjIHThuq1wIHRpbiBi4buLIGLhu48gcXVhIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTE2CisjOiBidWlsdGluL2NsZWFuLmM6OTE5CiBtc2dpZCAicmVtb3ZlIG9ubHkgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAiY2jhu4kgZ+G7oSBi4buPIG5o4buvbmcgdOG6rXAgdGluIGLhu4sgYuG7jyBxdWEiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MzQKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MzcKIG1zZ2lkICIteCBhbmQgLVggY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi14IHbDoCAtWCBraMO0bmcgdGjhu4MgZMO5bmcgY8O5bmcgbmhhdSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkzOAorIzogYnVpbHRpbi9jbGVhbi5jOjk0MQogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2Ugc2V0IHRvIHRydWUgYW5kIG5laXRoZXIgLWksIC1uLCBub3IgLWYgZ2l2ZW47IHJlZnVzaW5nIHRvICIKICJjbGVhbiIKQEAgLTkxNDcsNyArMTE0NTksNyBAQAogImNsZWFuLnJlcXVpcmVGb3JjZSDEkcaw4bujYyDEkeG6t3QgdGjDoG5oIHRydWUgdsOgIGtow7RuZyDEkcawYSByYSB0w7l5IGNo4buNbiAtaSwgLW4gbcOgICIKICJjxaluZyBraMO0bmcgLWY7IHThu6sgY2jhu5FpIGzhu4duaCBk4buNbiBk4bq5cCAoY2xlYW4pIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTQxCisjOiBidWlsdGluL2NsZWFuLmM6OTQ0CiBtc2dpZCAiIgogImNsZWFuLnJlcXVpcmVGb3JjZSBkZWZhdWx0cyB0byB0cnVlIGFuZCBuZWl0aGVyIC1pLCAtbiwgbm9yIC1mIGdpdmVuOyAiCiAicmVmdXNpbmcgdG8gY2xlYW4iCkBAIC05MTU1LDE0OCArMTE0NjcsMTY2IEBACiAiY2xlYW4ucmVxdWlyZUZvcmNlIG3hurdjIMSR4buLbmggxJHGsOG7o2MgxJHhurd0IGzDoCB0cnVlIHbDoCBraMO0bmcgxJHGsGEgcmEgdMO5eSBjaOG7jW4gLWksIC1uICIKICJtw6AgY8Wpbmcga2jDtG5nIC1mOyB04burIGNo4buRaSBs4buHbmggZOG7jW4gZOG6uXAgKGNsZWFuKSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQzCisjOiBidWlsdGluL2Nsb25lLmM6NDUKIG1zZ2lkICJnaXQgY2xvbmUgWzxvcHRpb25zPl0gWy0tXSA8cmVwbz4gWzxkaXI+XSIKLW1zZ3N0ciAiZ2l0IGNsb25lIFs8Y8OhYy10w7l5LWNo4buNbj5dIFstLV0gPGtobz4gWzx0Lm3hu6VjPl0iCittc2dzdHIgImdpdCBjbG9uZSBbPGPDoWMgdMO5eSBjaOG7jW4+XSBbLS1dIDxraG8+IFs8dC5t4bulYz5dIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MwogbXNnaWQgImRvbid0IGNyZWF0ZSBhIGNoZWNrb3V0IgogbXNnc3RyICJraMO0bmcgdOG6oW8gbeG7mXQgY2hlY2tvdXQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4OSBidWlsdGluL2Nsb25lLmM6OTEgYnVpbHRpbi9pbml0LWRiLmM6NDgxCisjOiBidWlsdGluL2Nsb25lLmM6OTQgYnVpbHRpbi9jbG9uZS5jOjk2IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4OQogbXNnaWQgImNyZWF0ZSBhIGJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAidOG6oW8ga2hvIHRodeG6p24iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MworIzogYnVpbHRpbi9jbG9uZS5jOjk4CiBtc2dpZCAiY3JlYXRlIGEgbWlycm9yIHJlcG9zaXRvcnkgKGltcGxpZXMgYmFyZSkiCiBtc2dzdHIgInThuqFvIGtobyBi4bqjbiBzYW8gKMO9IGzDoCBraG8gdGh14bqnbikiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NQorIzogYnVpbHRpbi9jbG9uZS5jOjEwMAogbXNnaWQgInRvIGNsb25lIGZyb20gYSBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICLEkeG7gyBuaMOibiBi4bqjbiB04burIGtobyBu4buZaSBi4buZIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAia2jDtG5nIHPhu60gZOG7pW5nIGxpw6puIGvhur90IGPhu6luZyBu4buZaSBi4buZLCBsdcO0biBzYW8gY2jDqXAiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5OQorIzogYnVpbHRpbi9jbG9uZS5jOjEwNAogbXNnaWQgInNldHVwIGFzIHNoYXJlZCByZXBvc2l0b3J5IgogbXNnc3RyICJjw6BpIMSR4bq3dCDEkcOieSBsw6Aga2hvIGNoaWEgc+G6uyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMSBidWlsdGluL2Nsb25lLmM6MTA1CisjOiBidWlsdGluL2Nsb25lLmM6MTA3CiBtc2dpZCAicGF0aHNwZWMiCiBtc2dzdHIgIsSR4bq3Yy104bqjLcSRxrDhu51uZy1k4bqrbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwMSBidWlsdGluL2Nsb25lLmM6MTA1CisjOiBidWlsdGluL2Nsb25lLmM6MTA3CiBtc2dpZCAiaW5pdGlhbGl6ZSBzdWJtb2R1bGVzIGluIHRoZSBjbG9uZSIKIG1zZ3N0ciAia2jhu59pIHThuqFvIG3DtC3EkXVuLWNvbiB0cm9uZyBi4bqjbiBzYW8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBjbG9uZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgInPhu5EgbMaw4bujbmcgbcO0LcSRdW4tY29uIMSRxrDhu6NjIG5ow6JuIGLhuqNuIMSR4buTbmcgdGjhu51pIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5IGJ1aWx0aW4vaW5pdC1kYi5jOjQ3OAorIzogYnVpbHRpbi9jbG9uZS5jOjExMSBidWlsdGluL2luaXQtZGIuYzo0ODYKIG1zZ2lkICJ0ZW1wbGF0ZS1kaXJlY3RvcnkiCiBtc2dzdHIgInRoxrAtbeG7pWMtbeG6q3UiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAgYnVpbHRpbi9pbml0LWRiLmM6NDc5CisjOiBidWlsdGluL2Nsb25lLmM6MTEyIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NwogbXNnaWQgImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiCiBtc2dzdHIgInRoxrAgbeG7pWMgbcOgIHThuqFpIMSRw7MgY8OhYyBt4bqrdSBz4bq9IMSRxrDhu6NjIGTDuW5nIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEyIGJ1aWx0aW4vY2xvbmUuYzoxMTQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzUKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODU2CisjOiBidWlsdGluL2Nsb25lLmM6MTE0IGJ1aWx0aW4vY2xvbmUuYzoxMTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODg1CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkiCiBtc2dzdHIgImtobyB0aGFtIGNoaeG6v3UiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzcKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODU4CisjOiBidWlsdGluL2Nsb25lLmM6MTE4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzk0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NwogbXNnaWQgInVzZSAtLXJlZmVyZW5jZSBvbmx5IHdoaWxlIGNsb25pbmciCiBtc2dzdHIgImNo4buJIGTDuW5nIC0tcmVmZXJlbmNlIGtoaSBuaMOibiBi4bqjbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExNyBidWlsdGluL2NvbHVtbi5jOjI3IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ2Ci0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDEgYnVpbHRpbi9yZXBhY2suYzozMjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTkgYnVpbHRpbi9jb2x1bW4uYzoyNyBidWlsdGluL21lcmdlLWZpbGUuYzo0NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk0IGJ1aWx0aW4vcmVwYWNrLmM6MzI3CiBtc2dpZCAibmFtZSIKIG1zZ3N0ciAidMOqbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExOAorIzogYnVpbHRpbi9jbG9uZS5jOjEyMAogbXNnaWQgInVzZSA8bmFtZT4gaW5zdGVhZCBvZiAnb3JpZ2luJyB0byB0cmFjayB1cHN0cmVhbSIKIG1zZ3N0ciAiZMO5bmcgPHTDqm4+IHRoYXkgY2hvIOKAnG9yaWdpbuKAnSDEkeG7gyB0aGVvIGTDtWkgdGjGsOG7o25nIG5ndeG7k24iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjIKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBpbnN0ZWFkIG9mIHRoZSByZW1vdGUncyBIRUFEIgogbXNnc3RyICJs4bqleSByYSA8bmjDoW5oPiB0aGF5IGNobyBIRUFEIGPhu6dhIG3DoXkgY2jhu6ciCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjQKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICLEkcaw4budbmcgZOG6q24gxJHhur9uIGdpdC11cGxvYWQtcGFjayB0csOqbiBtw6F5IGNo4bunIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTIzIGJ1aWx0aW4vZmV0Y2guYzoxNDIgYnVpbHRpbi9ncmVwLmM6ODI1Ci0jOiBidWlsdGluL3B1bGwuYzoyMTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjUgYnVpbHRpbi9mZXRjaC5jOjE2OCBidWlsdGluL2dyZXAuYzo4NDAKKyM6IGJ1aWx0aW4vcHVsbC5jOjIyNwogbXNnaWQgImRlcHRoIgogbXNnc3RyICLEkeG7mS1zw6J1IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI0CisjOiBidWlsdGluL2Nsb25lLmM6MTI2CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICJ04bqhbyBi4bqjbiBzYW8ga2jDtG5nIMSR4bqneSDEkeG7pyBjaG8gbeG7qWMgc8OidSDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyNSBidWlsdGluL2ZldGNoLmM6MTQ0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MgorIzogYnVpbHRpbi9jbG9uZS5jOjEyNyBidWlsdGluL2ZldGNoLmM6MTcwIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4MwogbXNnaWQgInRpbWUiCiBtc2dzdHIgInRo4budaS1naWFuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI2CisjOiBidWlsdGluL2Nsb25lLmM6MTI4CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBzaW5jZSBhIHNwZWNpZmljIHRpbWUiCiBtc2dzdHIgInThuqFvIGLhuqNuIHNhbyBraMO0bmcgxJHhuqd5IMSR4bunIHThu6sgdGjhu51pIMSRaeG7g20gxJHDoyBjaG8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjcgYnVpbHRpbi9mZXRjaC5jOjE0NiBidWlsdGluL2ZldGNoLmM6MTY5Ci0jOiBidWlsdGluL3JlYmFzZS5jOjgzMQorIzogYnVpbHRpbi9jbG9uZS5jOjEyOSBidWlsdGluL2ZldGNoLmM6MTcyIGJ1aWx0aW4vZmV0Y2guYzoxOTUKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ0NQogbXNnaWQgInJldmlzaW9uIgogbXNnc3RyICLEkWnhu4NtIHjDqXQgZHV54buHdCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyOCBidWlsdGluL2ZldGNoLmM6MTQ3CisjOiBidWlsdGluL2Nsb25lLmM6MTMwIGJ1aWx0aW4vZmV0Y2guYzoxNzMKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lLCBleGNsdWRpbmcgcmV2IgogbXNnc3RyICJsw6BtIHPDonUgaMahbiBs4buLY2ggc+G7rSBj4bunYSBi4bqjbiBzYW8gc2hhbGxvdywgYuG6sW5nIMSRaeG7g20geMOpdCBkdXnhu4d0IGxv4bqhaSB0cuG7qyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzMAorIzogYnVpbHRpbi9jbG9uZS5jOjEzMgogbXNnaWQgImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIKIG1zZ3N0ciAiY2jhu4kgbmjDom4gYuG6o24gbeG7mXQgbmjDoW5oLCBIRUFEIGhv4bq3YyAtLWJyYW5jaCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzMgorIzogYnVpbHRpbi9jbG9uZS5jOjEzNAogbXNnaWQgImRvbid0IGNsb25lIGFueSB0YWdzLCBhbmQgbWFrZSBsYXRlciBmZXRjaGVzIG5vdCB0byBmb2xsb3cgdGhlbSIKIG1zZ3N0ciAiIgogIsSR4bupbmcgY8OzIG5ow6JuIGLhuqNuIGLhuqV0IGvhu7MgbmjDoW5oIG7DoG8sIHbDoCBsw6BtIGNobyBuaOG7r25nIGzhuqduIGzhuqV5IHbhu4Egc2F1IGtow7RuZyAiCiAidGhlbyBjaMO6bmcgbuG7r2EiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzQKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzYKIG1zZ2lkICJhbnkgY2xvbmVkIHN1Ym1vZHVsZXMgd2lsbCBiZSBzaGFsbG93IgogbXNnc3RyICJt4buNaSBtw7QtxJF1bi1jb24gbmjDom4gYuG6o24gc+G6vSBsw6Agc2hhbGxvdyAobsO0bmcpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM1IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NworIzogYnVpbHRpbi9jbG9uZS5jOjEzNyBidWlsdGluL2luaXQtZGIuYzo0OTUKIG1zZ2lkICJnaXRkaXIiCiBtc2dzdHIgImdpdGRpciIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzNiBidWlsdGluL2luaXQtZGIuYzo0ODgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzggYnVpbHRpbi9pbml0LWRiLmM6NDk2CiBtc2dpZCAic2VwYXJhdGUgZ2l0IGRpciBmcm9tIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAia2jDtG5nIGTDuW5nIGNodW5nIHRoxrAgbeG7pWMgZMOgbmggcmnDqm5nIGNobyBnaXQgdsOgIHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzkKIG1zZ2lkICJrZXk9dmFsdWUiCiBtc2dzdHIgImtow7NhPWdpw6FfdHLhu4siCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDAKIG1zZ2lkICJzZXQgY29uZmlnIGluc2lkZSB0aGUgbmV3IHJlcG9zaXRvcnkiCiBtc2dzdHIgIsSR4bq3dCBj4bqldSBow6xuaCBiw6puIHRyb25nIG3hu5l0IGtobyBjaOG7qWEgbeG7m2kiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzkgYnVpbHRpbi9mZXRjaC5jOjE2NSBidWlsdGluL3B1bGwuYzoyMzAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU4MworIzogYnVpbHRpbi9jbG9uZS5jOjE0MiBidWlsdGluL2ZldGNoLmM6MTkwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MyBidWlsdGluL3NlbmQtcGFjay5jOjE3MgorbXNnaWQgInNlcnZlci1zcGVjaWZpYyIKK21zZ3N0ciAixJHhurdjLXThuqMtbcOheS1waOG7pWMtduG7pSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjE0MiBidWlsdGluL2ZldGNoLmM6MTkwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MyBidWlsdGluL3NlbmQtcGFjay5jOjE3MworbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKK21zZ3N0ciAidMO5eSBjaOG7jW4gxJHhu4MgY2h1eeG7g24gZ2lhbyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjE0MyBidWlsdGluL2ZldGNoLmM6MTkxIGJ1aWx0aW4vcHVsbC5jOjI0MAorIzogYnVpbHRpbi9wdXNoLmM6NTc0CiBtc2dpZCAidXNlIElQdjQgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgImNo4buJIGTDuW5nIMSR4buLYSBjaOG7iSBJUHY0IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTQxIGJ1aWx0aW4vZmV0Y2guYzoxNjcgYnVpbHRpbi9wdWxsLmM6MjMzCi0jOiBidWlsdGluL3B1c2guYzo1ODUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDUgYnVpbHRpbi9mZXRjaC5jOjE5MyBidWlsdGluL3B1bGwuYzoyNDMKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3NgogbXNnaWQgInVzZSBJUHY2IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICJjaOG7iSBkw7luZyDEkeG7i2EgY2jhu4kgSVB2NiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjI3OQorIzogYnVpbHRpbi9jbG9uZS5jOjE0OQorbXNnaWQgImFueSBjbG9uZWQgc3VibW9kdWxlcyB3aWxsIHVzZSB0aGVpciByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgorbXNnc3RyICJt4buNaSBtw7QtxJF1bi1jb24gbmjDom4gYuG6o24gc+G6vSBkdW5nIG5ow6FuaCB0aGVvIGTDtWkgbcOheSBjaOG7pyBj4bunYSBjaMO6bmciCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNTEKK21zZ2lkICJpbml0aWFsaXplIHNwYXJzZS1jaGVja291dCBmaWxlIHRvIGluY2x1ZGUgb25seSBmaWxlcyBhdCByb290IgorbXNnc3RyICJraOG7n2kgdOG6oW8gdOG6rXAgdGluIHNwYXJzZS1jaGVja291dCDEkeG7gyBiYW8gZ+G7k20gY2jhu4kgY8OhYyB04bqtcCB0aW4g4bufIGfhu5FjIgorCisjOiBidWlsdGluL2Nsb25lLmM6Mjg3CiBtc2dpZCAiIgogIk5vIGRpcmVjdG9yeSBuYW1lIGNvdWxkIGJlIGd1ZXNzZWQuXG4iCiAiUGxlYXNlIHNwZWNpZnkgYSBkaXJlY3Rvcnkgb24gdGhlIGNvbW1hbmQgbGluZSIKQEAgLTkzMDQsMTQ1ICsxMTYzNCwxNDQgQEAKICJLaMO0bmcgxJFvw6FuIMSRxrDhu6NjIHRoxrAgbeG7pWMgdMOqbiBsw6AgZ8OsLlxuIgogIlZ1aSBsw7JuZyBjaOG7iSDEkeG7i25oIHTDqm4gbeG7mXQgdGjGsCBt4bulYyB0csOqbiBkw7JuZyBs4buHbmgiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzozMzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzozNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbzogQ291bGQgbm90IGFkZCBhbHRlcm5hdGUgZm9yICclcyc6ICVzXG4iCiBtc2dzdHIgInRow7RuZyB0aW46IGtow7RuZyB0aOG7gyB0aMOqbSB0aGF5IHRo4bq/IGNobyDigJwlc+KAnTogJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQwNAotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgotbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbeG7nyDigJwlc+KAnSIKLQotIzogYnVpbHRpbi9jbG9uZS5jOjQxMgorIzogYnVpbHRpbi9jbG9uZS5jOjQxMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBleGlzdHMgYW5kIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMgY8OzIHThu5NuIHThuqFpIG5oxrBuZyBs4bqhaSBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCB0aMawIG3hu6VjIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDI2CisjOiBidWlsdGluL2Nsb25lLmM6NDMwCiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzXG4iCi1tc2dzdHIgImfhurdwIGzhu5dpIGtoaSBs4bqleSB0aMO0bmcgdGluIHRo4buRbmcga8OqIHbhu4EgJXNcbiIKK21zZ2lkICJmYWlsZWQgdG8gc3RhcnQgaXRlcmF0b3Igb3ZlciAnJXMnIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgYuG6r3QgxJHhuqd1IGzhurdwIHF1YSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQ0MwotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gdW5saW5rICclcyciCi1tc2dzdHIgImfhurdwIGzhu5dpIGtoaSBi4buPIGxpw6puIGvhur90ICh1bmxpbmspIOKAnCVz4oCdIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NDQ4CisjOiBidWlsdGluL2Nsb25lLmM6NDYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgbGluayAnJXMnIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdOG6oW8gxJHGsOG7o2MgbGnDqm4ga+G6v3QgbeG7gW0gJXMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNvcHkgZmlsZSB0byAnJXMnIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgc2FvIGNow6lwIHThuq1wIHRpbiB2w6Ag4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGl0ZXJhdGUgb3ZlciAnJXMnIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbOG6t3AgcXVhIOKAnCVz4oCdIgorCisjOiBidWlsdGluL2Nsb25lLmM6NDk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImRvbmUuXG4iCiBtc2dzdHIgImhvw6BuIHThuqV0LlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDkyCisjOiBidWlsdGluL2Nsb25lLmM6NTA4CiBtc2dpZCAiIgogIkNsb25lIHN1Y2NlZWRlZCwgYnV0IGNoZWNrb3V0IGZhaWxlZC5cbiIKICJZb3UgY2FuIGluc3BlY3Qgd2hhdCB3YXMgY2hlY2tlZCBvdXQgd2l0aCAnZ2l0IHN0YXR1cydcbiIKLSJhbmQgcmV0cnkgdGhlIGNoZWNrb3V0IHdpdGggJ2dpdCBjaGVja291dCAtZiBIRUFEJ1xuIgorImFuZCByZXRyeSB3aXRoICdnaXQgcmVzdG9yZSAtLXNvdXJjZT1IRUFEIDovJ1xuIgogbXNnc3RyICIiCiAiVmnhu4djIG5ow6JuIGLhuqNuIHRow6BuaCBjw7RuZywgbmjGsG5nIGNoZWNrb3V0IGfhurdwIGzhu5dpLlxuIgogIkLhuqFuIGtp4buDbSB0cmEga+G7uSB4ZW0gY8OhaSBnw6wgxJHGsOG7o2MgbOG6pXkgcmEgYuG6sW5nIGzhu4duaCDigJxnaXQgc3RhdHVz4oCdXG4iCi0idsOgIHRo4butIGzhuqV5IHJhIHbhu5tpIGzhu4duaCDigJxnaXQgY2hlY2tvdXQgLWYgSEVBROKAnVxuIgorInbDoCB0aOG7rSBs4bqleSByYSB24bubaSBs4buHbmggJ2dpdCByZXN0b3JlIC0tc291cmNlPUhFQUQgOi8nXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo1NjkKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZpbmQgcmVtb3RlIGJyYW5jaCAlcyB0byBjbG9uZS4iCiBtc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSBuaMOhbmggbcOheSBjaOG7pyAlcyDEkeG7gyBuaMOibiBi4bqjbiAoY2xvbmUpLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjY4MAorIzogYnVpbHRpbi9jbG9uZS5jOjcwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdXBkYXRlICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10ICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzMwCisjOiBidWlsdGluL2Nsb25lLmM6NzUyCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgc3BhcnNlLWNoZWNrb3V0IgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkga2jhu59pIHThuqFvIHNwYXJzZS1jaGVja291dCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjc3NQogbXNnaWQgInJlbW90ZSBIRUFEIHJlZmVycyB0byBub25leGlzdGVudCByZWYsIHVuYWJsZSB0byBjaGVja291dC5cbiIKIG1zZ3N0ciAicmVmZXJzIEhFQUQgbcOheSBjaOG7pyAgY2jhu4kgxJHhur9uIHJlZiBraMO0bmcgdOG7k24gdOG6oWksIGtow7RuZyB0aOG7gyBs4bqleSByYS5cbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjc2MQorIzogYnVpbHRpbi9jbG9uZS5jOjgwNgogbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSByYSAoY2hlY2tvdXQpIGPDonkgbMOgbSB2aeG7h2MiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo4MDYKKyM6IGJ1aWx0aW4vY2xvbmUuYzo4NTYKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcGFyYW1ldGVycyB0byBjb25maWcgZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSBjw6FjIHRoYW0gc+G7kSB2w6BvIHThuq1wIHRpbiBj4bqldSBow6xuaCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2OQorIzogYnVpbHRpbi9jbG9uZS5jOjkxOQogbXNnaWQgImNhbm5vdCByZXBhY2sgdG8gY2xlYW4gdXAiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkcOzbmcgZ8OzaSDEkeG7gyBk4buNbiBk4bq5cCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg3MQorIzogYnVpbHRpbi9jbG9uZS5jOjkyMQogbXNnaWQgImNhbm5vdCB1bmxpbmsgdGVtcG9yYXJ5IGFsdGVybmF0ZXMgZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGLhu48gbGnDqm4ga+G6v3QgdOG6rXAgdGluIHRoYXkgdGjhur8gdOG6oW0gdGjhu51pIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTExIGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk0MQorIzogYnVpbHRpbi9jbG9uZS5jOjk1OSBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NDgKIG1zZ2lkICJUb28gbWFueSBhcmd1bWVudHMuIgogbXNnc3RyICJDw7MgcXXDoSBuaGnhu4F1IMSR4buRaSBz4buRLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxNQorIzogYnVpbHRpbi9jbG9uZS5jOjk2MwogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSByZXBvc2l0b3J5IHRvIGNsb25lLiIKIG1zZ3N0ciAiQuG6oW4gcGjhuqNpIGNo4buJIMSR4buLbmggbeG7mXQga2hvIMSR4buDIG3DoCBuaMOibiBi4bqjbiAoY2xvbmUpLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkyOAorIzogYnVpbHRpbi9jbG9uZS5jOjk3NgogIywgYy1mb3JtYXQKIG1zZ2lkICItLWJhcmUgYW5kIC0tb3JpZ2luICVzIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZS4iCiBtc2dzdHIgInTDuXkgY2jhu41uIC0tYmFyZSB2w6AgLS1vcmlnaW4gJXMgeHVuZyBraOG6r2MgbmhhdS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NzkKIG1zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gLS1iYXJlIHbDoCAtLXNlcGFyYXRlLWdpdC1kaXIgeHVuZyBraOG6r2MgbmhhdS4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NDQKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVwb3NpdG9yeSAnJXMnIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJraG8gY2jhu6lhIOKAnCVz4oCdIGNoxrBhIHThu5NuIHThuqFpIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTUwIGJ1aWx0aW4vZmV0Y2guYzoxNjA2CisjOiBidWlsdGluL2Nsb25lLmM6OTk4IGJ1aWx0aW4vZmV0Y2guYzoxNzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKIG1zZ3N0ciAixJHhu5kgc8OidSAlcyBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBz4buRIG5ndXnDqm4gZMawxqFuZyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk2MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gcGF0aCAnJXMnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYW4gZW1wdHkgZGlyZWN0b3J5LiIKIG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIMSRw61jaCDigJwlc+KAnSDEkcOjIGPDsyB04burIHRyxrDhu5tjIHbDoCBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCB0aMawIG3hu6VjIHLhu5duZy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5NzAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIndvcmtpbmcgdHJlZSAnJXMnIGFscmVhZHkgZXhpc3RzLiIKIG1zZ3N0ciAiY8OieSBsw6BtIHZp4buHYyDigJwlc+KAnSDEkcOjIHPhurVuIHThu5NuIHThuqFpIHLhu5NpLiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4NSBidWlsdGluL2Nsb25lLmM6MTAwNiBidWlsdGluL2RpZmZ0b29sLmM6MjcxCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Mjk1IGJ1aWx0aW4vd29ya3RyZWUuYzozMjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDMzIGJ1aWx0aW4vY2xvbmUuYzoxMDU0IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTg2NiBidWlsdGluL3dvcmt0cmVlLmM6MzAyIGJ1aWx0aW4vd29ya3RyZWUuYzozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyBjw6FjIHRoxrAgbeG7pWMgZOG6q24gxJHhuqd1IGPhu6dhIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkwCisjOiBidWlsdGluL2Nsb25lLmM6MTAzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIGPDonkgdGjGsCBt4bulYyBsw6BtIHZp4buHYyBkaXIg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEwCisjOiBidWlsdGluL2Nsb25lLmM6MTA1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gYmFyZSByZXBvc2l0b3J5ICclcycuLi5cbiIKIG1zZ3N0ciAixJBhbmcgbmjDom4gYuG6o24gdGjDoG5oIGtobyBjaOG7qWEgYmFyZSDigJwlc+KAneKAplxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxMgorIzogYnVpbHRpbi9jbG9uZS5jOjEwNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvICclcycuLi5cbiIKIG1zZ3N0ciAixJBhbmcgbmjDom4gYuG6o24gdGjDoG5oIOKAnCVz4oCd4oCmXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDM2CisjOiBidWlsdGluL2Nsb25lLmM6MTA4NAogbXNnaWQgIiIKICJjbG9uZSAtLXJlY3Vyc2l2ZSBpcyBub3QgY29tcGF0aWJsZSB3aXRoIGJvdGggLS1yZWZlcmVuY2UgYW5kIC0tcmVmZXJlbmNlLWlmLSIKICJhYmxlIgpAQCAtOTQ1MCw0NyArMTE3NzksNDcgQEAKICJuaMOibiBi4bqjbiAtLXJlY3Vyc2l2ZSBraMO0bmcgdMawxqFuZyB0aMOtY2ggduG7m2kgY+G6oyBoYWkgLS1yZWZlcmVuY2UgdsOgIC0tcmVmZXJlbmNlLSIKICJpZi1hYmxlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5NworIzogYnVpbHRpbi9jbG9uZS5jOjExNDgKIG1zZ2lkICItLWRlcHRoIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKIG1zZ3N0ciAiLS1kZXB0aCBi4buLIGzhu50gxJFpIGtoaSBuaMOibiBi4bqjbiBu4buZaSBi4buZOyBow6N5IHPhu60gZOG7pW5nIGZpbGU6Ly8gxJHhu4MgdGhheSB0aOG6vy4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDk5CisjOiBidWlsdGluL2Nsb25lLmM6MTE1MAogbXNnaWQgIi0tc2hhbGxvdy1zaW5jZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIiIKICItLXNoYWxsb3ctc2luY2UgYuG7iyBs4budIMSRaSBraGkgbmjDom4gYuG6o24gbuG7mWkgYuG7mTsgaMOjeSBz4butIGThu6VuZyBmaWxlOi8vIMSR4buDIHRoYXkgIgogInRo4bq/LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMDEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTUyCiBtc2dpZCAiLS1zaGFsbG93LWV4Y2x1ZGUgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICIiCiAiLS1zaGFsbG93LWV4Y2x1ZGUgYuG7iyBs4budIMSRaSBraGkgbmjDom4gYuG6o24gbuG7mWkgYuG7mTsgaMOjeSBz4butIGThu6VuZyBmaWxlOi8vIMSR4buDIHRoYXkgIgogInRo4bq/LiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMDMKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTU0CiBtc2dpZCAiLS1maWx0ZXIgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICIiCiAiLS1maWx0ZXIgYuG7iyBs4budIMSRaSBraGkgbmjDom4gYuG6o24gbuG7mWkgYuG7mTsgaMOjeSBz4butIGThu6VuZyBmaWxlOi8vIMSR4buDIHRoYXkgdGjhur8uIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEwNgorIzogYnVpbHRpbi9jbG9uZS5jOjExNTcKIG1zZ2lkICJzb3VyY2UgcmVwb3NpdG9yeSBpcyBzaGFsbG93LCBpZ25vcmluZyAtLWxvY2FsIgogbXNnc3RyICJraG8gbmd14buTbiBsw6AgbsO0bmcsIG7Dqm4gYuG7jyBxdWEgLS1sb2NhbCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMTEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTYyCiBtc2dpZCAiLS1sb2NhbCBpcyBpZ25vcmVkIgogbXNnc3RyICItLWxvY2FsIGLhu4sgbOG7nSDEkWkiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTgxIGJ1aWx0aW4vY2xvbmUuYzoxMTg5CisjOiBidWlsdGluL2Nsb25lLmM6MTIzNyBidWlsdGluL2Nsb25lLmM6MTI0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdGUgYnJhbmNoICVzIG5vdCBmb3VuZCBpbiB1cHN0cmVhbSAlcyIKIG1zZ3N0ciAiTmjDoW5oIG3DoXkgY2jhu6cgJXMga2jDtG5nIHTDrG0gdGjhuqV5IHRyb25nIHRoxrDhu6NuZyBuZ3Xhu5NuICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE5MgorIzogYnVpbHRpbi9jbG9uZS5jOjEyNDgKIG1zZ2lkICJZb3UgYXBwZWFyIHRvIGhhdmUgY2xvbmVkIGFuIGVtcHR5IHJlcG9zaXRvcnkuIgogbXNnc3RyICJC4bqhbiBow6xuaCBuaMawIGzDoCDEkcOjIG5ow6JuIGLhuqNuIG3hu5l0IGtobyB0cuG7kW5nIHLhu5duZy4iCiAKICM6IGJ1aWx0aW4vY29sdW1uLmM6MTAKIG1zZ2lkICJnaXQgY29sdW1uIFs8b3B0aW9ucz5dIgotbXNnc3RyICJnaXQgY29sdW1uIFs8Y8OhYy10w7l5LWNo4buNbj5dIgorbXNnc3RyICJnaXQgY29sdW1uIFs8Y8OhYyB0w7l5IGNo4buNbj5dIgogCiAjOiBidWlsdGluL2NvbHVtbi5jOjI3CiBtc2dpZCAibG9va3VwIGNvbmZpZyB2YXJzIgpAQCAtOTUyMCwxNSArMTE4NDksODMgQEAKIG1zZ2lkICItLWNvbW1hbmQgbXVzdCBiZSB0aGUgZmlyc3QgYXJndW1lbnQiCiBtc2dzdHIgIi0tY29tbWFuZCBwaOG6o2kgbMOgIMSR4buRaSBz4buRIMSR4bqndSB0acOqbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0MAorIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjE4Cittc2dpZCAiIgorImdpdCBjb21taXQtdHJlZSBbKC1wIDxwYXJlbnQ+KS4uLl0gWy1TWzxrZXlpZD5dXSBbKC1tIDxtZXNzYWdlPikuLi5dIFsoLUYgIgorIjxmaWxlPikuLi5dIDx0cmVlPiIKK21zZ3N0ciAiIgorImdpdCBjb21taXQtdHJlZSBbKC1wIDxjaGE+KeKApl0gWy1TWzxrZXlpZD5dXSBbKC1tIDxnaGkgY2jDuj4p4oCmXSBbKC1GIDx04bqtcCB0aW4+KSIKKyLigKZdIDxjw6J5PiIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImR1cGxpY2F0ZSBwYXJlbnQgJXMgaWdub3JlZCIKK21zZ3N0ciAiY2hhIG3hurkgYuG7iyB0csO5bmcgbOG6t3AgJXMgxJHDoyBi4buLIGLhu48gcXVhIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6NTYgYnVpbHRpbi9jb21taXQtdHJlZS5jOjEzNiBidWlsdGluL2xvZy5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSB2YWxpZCBvYmplY3QgbmFtZSAlcyIKK21zZ3N0ciAia2jDtG5nIHBo4bqjaSBsw6AgdMOqbiDEkeG7kWkgdMaw4bujbmcgaOG7o3AgbOG7hyDigJwlc+KAnSIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIG9wZW4gJyVzJyIKK21zZ3N0ciAiZ2l0IGNvbW1pdC10cmVlOiBn4bq3cCBs4buXaSBraGkgbeG7nyDigJwlc+KAnSIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIHJlYWQgJyVzJyIKK21zZ3N0ciAiZ2l0IGNvbW1pdC10cmVlOiBn4bq3cCBs4buXaSBraGkgxJHhu41jIOKAnCVz4oCdIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gY2xvc2UgJyVzJyIKK21zZ3N0ciAiZ2l0IGNvbW1pdC10cmVlOiBn4bq3cCBs4buXaSBraGkgxJHDs25nIOKAnCVz4oCdIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTExCittc2dpZCAicGFyZW50IgorbXNnc3RyICJjaGEtbeG6uSIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExMgorbXNnaWQgImlkIG9mIGEgcGFyZW50IGNvbW1pdCBvYmplY3QiCittc2dzdHIgIm3DoyBz4buRIGPhu6dhIMSR4buRaSB0xrDhu6NuZyBjaHV54buDbiBnaWFvIGNoYSBt4bq5IgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTE0IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NiBidWlsdGluL21lcmdlLmM6MjcwCisjOiBidWlsdGluL25vdGVzLmM6NDA5IGJ1aWx0aW4vbm90ZXMuYzo1NzUgYnVpbHRpbi9zdGFzaC5jOjE0NjkKKyM6IGJ1aWx0aW4vdGFnLmM6NDEyCittc2dpZCAibWVzc2FnZSIKK21zZ3N0ciAiY2jDuiB0aMOtY2giCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTUgYnVpbHRpbi9jb21taXQuYzoxNDk2Cittc2dpZCAiY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgImNow7ogdGjDrWNoIGPhu6dhIGzhuqduIGNodXnhu4NuIGdpYW8iCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTgKK21zZ2lkICJyZWFkIGNvbW1pdCBsb2cgbWVzc2FnZSBmcm9tIGZpbGUiCittc2dzdHIgIsSR4buNYyBjaMO6IHRow61jaCBuaOG6rXQga8O9IGzhuqduIGNodXnhu4NuIGdpYW8gdOG7qyB04bqtcCB0aW4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMjEgYnVpbHRpbi9jb21taXQuYzoxNTA4IGJ1aWx0aW4vbWVyZ2UuYzoyODcKKyM6IGJ1aWx0aW4vcHVsbC5jOjE5NSBidWlsdGluL3JldmVydC5jOjExOAorbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKK21zZ3N0ciAiS8O9IGzhuqduIGNodXnhu4NuIGdpYW8gZMO5bmcgR1BHIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTMzCittc2dpZCAibXVzdCBnaXZlIGV4YWN0bHkgb25lIHRyZWUiCittc2dzdHIgInBo4bqjaSDEkcawYSByYSBjaMOtbmggeMOhYyBt4buZdCBjw6J5IgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTQwCittc2dpZCAiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gcmVhZCIKK21zZ3N0ciAiZ2l0IGNvbW1pdC10cmVlOiBn4bq3cCBs4buXaSBraGkgxJHhu41jIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjQxCiBtc2dpZCAiZ2l0IGNvbW1pdCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCi1tc2dzdHIgImdpdCBjb21taXQgWzxjw6FjLXTDuXktY2jhu41uPl0gWy0tXSA8cGF0aHNwZWM+4oCmIgorbXNnc3RyICJnaXQgY29tbWl0IFs8Y8OhYyB0w7l5IGNo4buNbj5dIFstLV0gPHBhdGhzcGVjPuKApiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NQorIzogYnVpbHRpbi9jb21taXQuYzo0NgogbXNnaWQgImdpdCBzdGF0dXMgWzxvcHRpb25zPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgotbXNnc3RyICJnaXQgc3RhdHVzIFs8Y8OhYy10w7l5LWNo4buNbj5dIFstLV0gPHBhdGhzcGVjPuKApiIKK21zZ3N0ciAiZ2l0IHN0YXR1cyBbPGPDoWMgdMO5eSBjaOG7jW4+XSBbLS1dIDxwYXRoc3BlYz7igKYiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTEKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIGFtZW5kIHRoZSBtb3N0IHJlY2VudCBjb21taXQsIGJ1dCBkb2luZyBzbyB3b3VsZCBtYWtlXG4iCiAiaXQgZW1wdHkuIFlvdSBjYW4gcmVwZWF0IHlvdXIgY29tbWFuZCB3aXRoIC0tYWxsb3ctZW1wdHksIG9yIHlvdSBjYW5cbiIKQEAgLTk1NDEsNyArMTE5MzgsNyBAQAogImhv4bq3YyBsw6AgYuG6oW4gZ+G7oSBi4buPIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBt4buZdCBjw6FjaCBob8OgbiB0b8OgbiBi4bqxbmcgbOG7h25oOlxuIgogIlwiZ2l0IHJlc2V0IEhFQUReXCIuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTYKIG1zZ2lkICIiCiAiVGhlIHByZXZpb3VzIGNoZXJyeS1waWNrIGlzIG5vdyBlbXB0eSwgcG9zc2libHkgZHVlIHRvIGNvbmZsaWN0IHJlc29sdXRpb24uXG4iCiAiSWYgeW91IHdpc2ggdG8gY29tbWl0IGl0IGFueXdheSwgdXNlOlxuIgpAQCAtOTU1Niw4MyArMTE5NTMsOTggQEAKICIgICAgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5XG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjIKLW1zZ2lkICJPdGhlcndpc2UsIHBsZWFzZSB1c2UgJ2dpdCByZXNldCdcbiIKLW1zZ3N0ciAiTuG6v3Uga2jDtG5nIMSRxrDhu6NjIHRow6wgZMO5bmcgbOG7h25oIFwiZ2l0IHJlc2V0XCJcbiIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjMKK21zZ2lkICJPdGhlcndpc2UsIHBsZWFzZSB1c2UgJ2dpdCBjaGVycnktcGljayAtLXNraXAnXG4iCittc2dzdHIgIk7hur91IGtow7RuZyDEkcaw4bujYyB0aMOsIGTDuW5nIGzhu4duaCBcImdpdCBjaGVycnktcGljayAtLXNraXBcIlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY1CisjOiBidWlsdGluL2NvbW1pdC5jOjY2CiBtc2dpZCAiIgorImFuZCB0aGVuIHVzZTpcbiIKKyJcbiIKKyIgICAgZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcbiIKKyJcbiIKKyJ0byByZXN1bWUgY2hlcnJ5LXBpY2tpbmcgdGhlIHJlbWFpbmluZyBjb21taXRzLlxuIgogIklmIHlvdSB3aXNoIHRvIHNraXAgdGhpcyBjb21taXQsIHVzZTpcbiIKICJcbiIKLSIgICAgZ2l0IHJlc2V0XG4iCisiICAgIGdpdCBjaGVycnktcGljayAtLXNraXBcbiIKICJcbiIKLSJUaGVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiB3aWxsIHJlc3VtZSBjaGVycnktcGlja2luZ1xuIgotInRoZSByZW1haW5pbmcgY29tbWl0cy5cbiIKIG1zZ3N0ciAiIgorInbDoCBzYXUgxJHDsyBkw7luZzpcbiIKKyJcbiIKKyIgICAgZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcbiIKKyJcbiIKKyLEkeG7gyBs4bqhaSB0aeG6v3AgdOG7pWMgY2hlcnJ5LXBpY2tpbmcgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGPDsm4gbOG6oWkuXG4iCiAiTuG6v3UgYuG6oW4gbXXhu5FuIGLhu48gcXVhIGzhuqduIGNodXnhu4NuIGdpYW8gbsOgeSB0aMOsIGTDuW5nOlxuIgogIlxuIgotIiAgICBnaXQgcmVzZXRcbiIKKyIgICAgZ2l0IGNoZXJyeS1waWNrIC0tc2tpcFxuIgogIlxuIgotIlRo4bq/IHRow6wgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHPhur0gcGjhu6VjIGjhu5NpIGzhuqFpIHZp4buHYyBjaGVycnktcGlja1xuIgotIm5o4buvbmcgbOG6p24gY2h1eeG7g24gZ2lhbyBjw7JuIGzhuqFpLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjMxMQorIzogYnVpbHRpbi9jb21taXQuYzozMTUKIG1zZ2lkICJmYWlsZWQgdG8gdW5wYWNrIEhFQUQgdHJlZSBvYmplY3QiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB0aMOhbyBk4buhIEhFQUQgxJHhu5FpIHTGsOG7o25nIGPDonkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzUyCisjOiBidWlsdGluL2NvbW1pdC5jOjM1MQorI3wgbXNnaWQgInBhdGhzICclcyAuLi4nIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIi0tcGF0aHNwZWMtZnJvbS1maWxlIHbhu5tpIC1hIGzDoCBraMO0bmcgY8OzIMO9IG5naMSpYSBnw6wiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzY0Cittc2dpZCAiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgorbXNnc3RyICJLaMO0bmcgxJHGsOG7nW5nIGThuqtuIHbhu5tpIGPDoWMgdMO5eSBjaOG7jW4gLS1pbmNsdWRlLy0tb25seSBraMO0bmcgaOG7o3AgbMO9LiIKKworIzogYnVpbHRpbi9jb21taXQuYzozNzYKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIGLhuqNuZyBt4bulYyBs4bulYyB04bqhbSB0aOG7nWkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzU4CisjOiBidWlsdGluL2NvbW1pdC5jOjM4MgogbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB0aMOqbSBi4bqxbmcgY8OhY2ggdMawxqFuZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNzEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Mzk2CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSB0ZW1wb3JhcnkgaW5kZXgiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgYuG6o25nIG3hu6VjIGzhu6VjIHThuqFtIHRo4budaSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozNzMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Mzk4CiBtc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBtYWluIGNhY2hlIHRyZWUiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBj4bqtcCBuaOG6rXQgY8OieSBi4buZIG5o4bubIMSR4buHbSIKIAotIzogYnVpbHRpbi9jb21taXQuYzozOTggYnVpbHRpbi9jb21taXQuYzo0MjEgYnVpbHRpbi9jb21taXQuYzo0NjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDIzIGJ1aWx0aW4vY29tbWl0LmM6NDQ2IGJ1aWx0aW4vY29tbWl0LmM6NDkyCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIHThuq1wIHRpbiBsxrB1IGLhuqNuZyBt4bulYyBs4bulYyBt4bubaSAobmV3X2luZGV4KSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDc1CiBtc2dpZCAiY2Fubm90IGRvIGEgcGFydGlhbCBjb21taXQgZHVyaW5nIGEgbWVyZ2UuIgogbXNnc3RyICIiCiAia2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gdmnhu4djIGNodXnhu4NuIGdpYW8gY+G7pWMgYuG7mSB0cm9uZyBraGkgxJFhbmcgxJHGsOG7o2MgaMOyYSB0cuG7mW4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1MgorIzogYnVpbHRpbi9jb21taXQuYzo0NzcKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgIiIKICJraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiB2aeG7h2MgY2h1eeG7g24gZ2lhbyBi4buZIHBo4bqtbiB0cm9uZyBraGkgxJFhbmcgY2hlcnJ5LXBpY2suIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ2MAorIzogYnVpbHRpbi9jb21taXQuYzo0ODUKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgImtow7RuZyDEkeG7jWMgxJHGsOG7o2MgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ3OQorIzogYnVpbHRpbi9jb21taXQuYzo1MDQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdOG6rXAgdGluIGzGsHUgYuG6o25nIG3hu6VjIGzhu6VjIHThuqFtIHRo4budaSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1NzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAnJXMnIGxhY2tzIGF1dGhvciBoZWFkZXIiCiBtc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8g4oCcJXPigJ0gdGhp4bq/dSBwaOG6p24gdMOhYyBnaeG6oyDhu58gxJHhuqd1IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU3OQorIzogYnVpbHRpbi9jb21taXQuYzo2MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICclcycgaGFzIG1hbGZvcm1lZCBhdXRob3IgbGluZSIKIG1zZ3N0ciAibOG6p24gY2h1eeG7g24gZ2lhbyDigJwlc+KAnSBjw7MgcGjhuqduIHTDoWMgZ2nhuqMg4bufIMSR4bqndSBk4buLIGThuqFuZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo1OTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjIzCiBtc2dpZCAibWFsZm9ybWVkIC0tYXV0aG9yIHBhcmFtZXRlciIKIG1zZ3N0ciAixJHhu5FpIHPhu5EgY2hvIC0tYXV0aG9yIGLhu4sgZOG7iyBow6xuaCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2NTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6Njc2CiBtc2dpZCAiIgogInVuYWJsZSB0byBzZWxlY3QgYSBjb21tZW50IGNoYXJhY3RlciB0aGF0IGlzIG5vdCB1c2VkXG4iCiAiaW4gdGhlIGN1cnJlbnQgY29tbWl0IG1lc3NhZ2UiCkBAIC05NjQwLDM4ICsxMjA1MiwzOCBAQAogImtow7RuZyB0aOG7gyBjaOG7jW4gbeG7mXQga8O9IHThu7EgZ2hpIGNow7ogY8OhaSBtw6Aga2jDtG5nIMSRxrDhu6NjIGTDuW5nXG4iCiAidHJvbmcgcGjhuqduIGdoaSBjaMO6IGhp4buHbiB04bqhaSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo2ODcgYnVpbHRpbi9jb21taXQuYzo3MjAgYnVpbHRpbi9jb21taXQuYzoxMDQ5CisjOiBidWlsdGluL2NvbW1pdC5jOjcxNCBidWlsdGluL2NvbW1pdC5jOjc0NyBidWlsdGluL2NvbW1pdC5jOjEwOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIGtp4bq/bSBjb21taXQgKGzhuqduIGNodXnhu4NuIGdpYW8pICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5OSBidWlsdGluL3Nob3J0bG9nLmM6MzE3CisjOiBidWlsdGluL2NvbW1pdC5jOjcyNiBidWlsdGluL3Nob3J0bG9nLmM6MzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIihyZWFkaW5nIGxvZyBtZXNzYWdlIGZyb20gc3RhbmRhcmQgaW5wdXQpXG4iCiBtc2dzdHIgIijEkWFuZyDEkeG7jWMgdGjDtG5nIMSRaeG7h3Agbmjhuq10IGvDvSB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4pXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzAxCisjOiBidWlsdGluL2NvbW1pdC5jOjcyOAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGxvZyBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIG5o4bqtdCBrw70gdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwNQorIzogYnVpbHRpbi9jb21taXQuYzo3MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZpbGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIMSR4buNYyDEkcaw4bujYyB04buHcCBuaOG6rXQga8O9IOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczNCBidWlsdGluL2NvbW1pdC5jOjc0MgorIzogYnVpbHRpbi9jb21taXQuYzo3NjMgYnVpbHRpbi9jb21taXQuYzo3NzkKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBTUVVBU0hfTVNHIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIFNRVUFTSF9NU0ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzM5CisjOiBidWlsdGluL2NvbW1pdC5jOjc3MAogbXNnaWQgImNvdWxkIG5vdCByZWFkIE1FUkdFX01TRyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBNRVJHRV9NU0ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzkzCisjOiBidWlsdGluL2NvbW1pdC5jOjgzMAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBjb21taXQgdGVtcGxhdGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgbeG6q3UgY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTk2ODYsNyArMTIwOTgsNyBAQAogIlx0JXNcbiIKICJ2w6AgdGjhu60gbOG6oWkuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODE2CisjOiBidWlsdGluL2NvbW1pdC5jOjg1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC05NzAxLDcgKzEyMTEzLDcgQEAKICJcdCVzXG4iCiAidsOgIHRo4butIGzhuqFpLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjgyOQorIzogYnVpbHRpbi9jb21taXQuYzo4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKQEAgLTk3MTIsNyArMTIxMjQsNyBAQAogImLhuq90IMSR4bqndSBi4bqxbmcg4oCcJWPigJ0gc+G6vSDEkcaw4bujYyBi4buPIHF1YSwgbuG6v3UgcGjhuqduIGNow7ogdGjDrWNoIHLhu5duZyBz4bq9IGjhu6d5IGLhu48gbOG6p24gIgogImNodXnhu4NuIGdpYW8uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODM3CisjOiBidWlsdGluL2NvbW1pdC5jOjg3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgpAQCAtOTcyNCwxNTcgKzEyMTM2LDE0OCBAQAogImLhuq90IMSR4bqndSBi4bqxbmcg4oCcJWPigJ0gc+G6vSDEkcaw4bujYyBi4buPIHF1YTsgYuG6oW4gY8OzIHRo4buDIHjDs2EgY2jDum5nIMSRaSBu4bq/dSBtdeG7kW4gdGjhur8uXG4iCiAiUGjhuqduIGNow7ogdGjDrWNoIG7DoHkgbuG6v3UgdHLhu5FuZyBy4buXbmcgc+G6vSBo4buneSBi4buPIGzhuqduIGNodXnhu4NuIGdpYW8uXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODU0CisjOiBidWlsdGluL2NvbW1pdC5jOjg5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0F1dGhvcjogICAgJS4qcyA8JS4qcz4iCiBtc2dzdHIgIiVzVMOhYyBnaeG6ozogICAgICAgICAgICUuKnMgPCUuKnM+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg2MgorIzogYnVpbHRpbi9jb21taXQuYzo5MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNEYXRlOiAgICAgICVzIgogbXNnc3RyICIlc05nw6B5IHRow6FuZzogICAgICAgICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg2OQorIzogYnVpbHRpbi9jb21taXQuYzo5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNDb21taXR0ZXI6ICUuKnMgPCUuKnM+IgogbXNnc3RyICIlc05nxrDhu51pIGNodXnhu4NuIGdpYW86ICUuKnMgPCUuKnM+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg4NworIzogYnVpbHRpbi9jb21taXQuYzo5MjUKIG1zZ2lkICJDYW5ub3QgcmVhZCBpbmRleCIKIG1zZ3N0ciAiS2jDtG5nIMSR4buNYyDEkcaw4bujYyBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6OTUzCisjOiBidWlsdGluL2NvbW1pdC5jOjk5MgogbXNnaWQgIkVycm9yIGJ1aWxkaW5nIHRyZWVzIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgeMOieSBk4buxbmcgY8OieSIKIAotIzogYnVpbHRpbi9jb21taXQuYzo5NjcgYnVpbHRpbi90YWcuYzoyNTgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTAwNiBidWlsdGluL3RhZy5jOjI3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCiBtc2dzdHIgIlhpbiBow6N5IGN1bmcgY+G6pXAgbOG7nWkgY2jDuiBnaeG6o2kgaG/hurdjIGzDoCBkw7luZyB0w7l5IGNo4buNbiAtbSBob+G6t2MgbMOgIC1GLlxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA1MAogIywgYy1mb3JtYXQKIG1zZ2lkICItLWF1dGhvciAnJXMnIGlzIG5vdCAnTmFtZSA8ZW1haWw+JyBhbmQgbWF0Y2hlcyBubyBleGlzdGluZyBhdXRob3IiCiBtc2dzdHIgIiIKICItLWF1dGhvciDigJwlc+KAnSBraMO0bmcgcGjhuqNpIGzDoCDigJxI4buNIHbDoCB0w6puIDx0aMawIMSRaeG7h24gdOG7rWw+4oCdIHbDoCBraMO0bmcga2jhu5twIGLhuqV0IGvhu7MgIgogInTDoWMgZ2nhuqMgbsOgbyBz4bq1biBjw7MiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAyNQorIzogYnVpbHRpbi9jb21taXQuYzoxMDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgaWdub3JlZCBtb2RlICclcyciCiBtc2dzdHIgIkNo4bq/IMSR4buZIGLhu48gcXVhIGtow7RuZyBo4bujcCBs4buHIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMzkgYnVpbHRpbi9jb21taXQuYzoxMjc2CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODIgYnVpbHRpbi9jb21taXQuYzoxMzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAiQ2jhur8gxJHhu5kgY2hvIGPDoWMgdOG6rXAgdGluIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSBraMO0bmcgaOG7o3AgbOG7hyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDc3CisjOiBidWlsdGluL2NvbW1pdC5jOjExMjIKIG1zZ2lkICItLWxvbmcgYW5kIC16IGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgImhhaSB0w7l5IGNo4buNbiAtbG9uZyB2w6AgLXoga2jDtG5nIHTGsMahbmcgdGjDrWNoIHbhu5tpIG5oYXUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExMAorIzogYnVpbHRpbi9jb21taXQuYzoxMTY2CiBtc2dpZCAiVXNpbmcgYm90aCAtLXJlc2V0LWF1dGhvciBhbmQgLS1hdXRob3IgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiU+G7rSBk4bulbmcgY+G6oyBoYWkgdMO5eSBjaOG7jW4gLS1yZXNldC1hdXRob3IgdsOgIC0tYXV0aG9yIGtow7RuZyBo4bujcCBsw70iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTExOQorIzogYnVpbHRpbi9jb21taXQuYzoxMTc1CiBtc2dpZCAiWW91IGhhdmUgbm90aGluZyB0byBhbWVuZC4iCiBtc2dzdHIgIktow7RuZyBjw7MgZ8OsIMSR4buDIG3DoCDigJx0dSBi4buV4oCdIGPhuqMuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3OAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIiIKICJC4bqhbiDEkWFuZyDhu58gZ2nhu69hIGPhu6dhIHF1w6EgdHLDrG5oIGjDsmEgdHLhu5luIC0tIGtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIHZp4buHYyDigJx0dSBi4buV4oCdLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTI0CisjOiBidWlsdGluL2NvbW1pdC5jOjExODAKIG1zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgogbXNnc3RyICIiCiAiQuG6oW4gxJFhbmcg4bufIGdp4buvYSBj4bunYSBxdcOhIHRyw6xuaCBjaGVycnktcGljayAtLSBraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbiB2aeG7h2Mg4oCcdHUgIgogImLhu5XigJ0uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMjcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MwogbXNnaWQgIk9wdGlvbnMgLS1zcXVhc2ggYW5kIC0tZml4dXAgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIkPDoWMgdMO5eSBjaOG7jW4gLS1zcXVhc2ggdsOgIC0tZml4dXAga2jDtG5nIHRo4buDIHPhu60gZOG7pW5nIGPDuW5nIHbhu5tpIG5oYXUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEzNworIzogYnVpbHRpbi9jb21taXQuYzoxMTkzCiBtc2dpZCAiT25seSBvbmUgb2YgLWMvLUMvLUYvLS1maXh1cCBjYW4gYmUgdXNlZC4iCi1tc2dzdHIgIiIKLSJDaOG7iSDEkcaw4bujYyBkw7luZyBt4buZdCB0cm9uZyBz4buRIHTDuXkgY2jhu41uIHRyb25nIHPhu5EgY8OhYyB0w7l5IGNo4buNbiAtYy8tQy8tRi8tLWZpeHVwIgorbXNnc3RyICJDaOG7iSDEkcaw4bujYyBkw7luZyBt4buZdCB0cm9uZyBz4buRIHTDuXkgY2jhu41uIHRyb25nIHPhu5EgLWMvLUMvLUYvLS1maXh1cC4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEzOQorIzogYnVpbHRpbi9jb21taXQuYzoxMTk1CiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLiIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gLW0ga2jDtG5nIHRo4buDIMSRxrDhu6NjIHThu5UgaOG7o3AgY8O5bmcgduG7m2kgLWMvLUMvLUYuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIwMwogbXNnaWQgIi0tcmVzZXQtYXV0aG9yIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCAtQywgLWMgb3IgLS1hbWVuZC4iCiBtc2dzdHIgIiIKICItLXJlc2V0LWF1dGhvciBjaOG7iSBjw7MgdGjhu4MgxJHGsOG7o2Mgc+G7rSBk4bulbmcgduG7m2kgdMO5eSBjaOG7jW4gLUMsIC1jIGhheSAtLWFtZW5kLiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTY0CisjOiBidWlsdGluL2NvbW1pdC5jOjEyMjAKIG1zZ2lkICJPbmx5IG9uZSBvZiAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBjYW4gYmUgdXNlZC4iCiBtc2dzdHIgIiIKICJDaOG7iSBt4buZdCB0cm9uZyBjw6FjIHTDuXkgY2jhu41uIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIMSRxrDhu6NjICIKICJz4butIGThu6VuZy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NgotbXNnaWQgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIKLW1zZ3N0ciAiS2jDtG5nIMSRxrDhu51uZyBk4bqrbiB24bubaSBjw6FjIHTDuXkgY2jhu41uIC0taW5jbHVkZS8tLW9ubHkga2jDtG5nIGjhu6NwIGzDvS4iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MCBidWlsdGluL3RhZy5jOjU0NgorIzogYnVpbHRpbi9jb21taXQuYzoxMjI2CiAjLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgotbXNnc3RyICJDaOG6vyDEkeG7mSBk4buNbiBk4bq5cCBraMO0bmcgaOG7o3AgbOG7hyAlcyIKK21zZ2lkICJwYXRocyAnJXMgLi4uJyB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgImPDoWMgxJHGsOG7nW5nIGThuqtuIOKAnCVzIOKApuKAnSB24bubaSB0w7l5IGNo4buNbiAtYSBraMO0bmcgaOG7o3AgbMO9IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExODUKLW1zZ2lkICJQYXRocyB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgotbXNnc3RyICJDw6FjIMSRxrDhu51uZyBk4bqrbiB24bubaSB0w7l5IGNo4buNbiAtYSBraMO0bmcgaOG7o3AgbMO9LiIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxMzExIGJ1aWx0aW4vY29tbWl0LmM6MTQ5NQorIzogYnVpbHRpbi9jb21taXQuYzoxMzU3IGJ1aWx0aW4vY29tbWl0LmM6MTUxOQogbXNnaWQgInNob3cgc3RhdHVzIGNvbmNpc2VseSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHRy4bqhbmcgdGjDoWkg4bufIGThuqFuZyBzw7pjIHTDrWNoIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTMgYnVpbHRpbi9jb21taXQuYzoxNDk3CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTkgYnVpbHRpbi9jb21taXQuYzoxNTIxCiBtc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCiBtc2dzdHIgImhp4buDbiB0aOG7iyB0aMO0bmcgdGluIG5ow6FuaCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzE1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjEKIG1zZ2lkICJzaG93IHN0YXNoIGluZm9ybWF0aW9uIgogbXNnc3RyICJoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHThuqFtIGPhuqV0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTcgYnVpbHRpbi9jb21taXQuYzoxNDk5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjMgYnVpbHRpbi9jb21taXQuYzoxNTIzCiBtc2dpZCAiY29tcHV0ZSBmdWxsIGFoZWFkL2JlaGluZCB2YWx1ZXMiCiBtc2dzdHIgInTDrW5oIMSR4bqneSDEkeG7pyBnacOhIHRy4buLIHRyxrDhu5tjL3NhdSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzE5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjUKIG1zZ2lkICJ2ZXJzaW9uIgogbXNnc3RyICJwaGnDqm4gYuG6o24iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxOSBidWlsdGluL2NvbW1pdC5jOjE1MDEgYnVpbHRpbi9wdXNoLmM6NTU4Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjM5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjUgYnVpbHRpbi9jb21taXQuYzoxNTI1IGJ1aWx0aW4vcHVzaC5jOjU0OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY1MAogbXNnaWQgIm1hY2hpbmUtcmVhZGFibGUgb3V0cHV0IgogbXNnc3RyICJr4bq/dCB4deG6pXQgZOG6oW5nIG3DoXktY8OzLXRo4buDLcSR4buNYyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzIyIGJ1aWx0aW4vY29tbWl0LmM6MTUwMworIzogYnVpbHRpbi9jb21taXQuYzoxMzY4IGJ1aWx0aW4vY29tbWl0LmM6MTUyNwogbXNnaWQgInNob3cgc3RhdHVzIGluIGxvbmcgZm9ybWF0IChkZWZhdWx0KSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHRy4bqhbmcgdGjDoWkg4bufIMSR4buLbmggZOG6oW5nIGTDoGkgKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjUgYnVpbHRpbi9jb21taXQuYzoxNTA2CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNzEgYnVpbHRpbi9jb21taXQuYzoxNTMwCiBtc2dpZCAidGVybWluYXRlIGVudHJpZXMgd2l0aCBOVUwiCiBtc2dzdHIgImNo4bqlbSBk4bupdCBjw6FjIG3hu6VjIGLhurFuZyBOVUwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyNyBidWlsdGluL2NvbW1pdC5jOjEzMzEgYnVpbHRpbi9jb21taXQuYzoxNTA5Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwNyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxMCBidWlsdGluL3JlYmFzZS5jOjkxMAotIzogYnVpbHRpbi90YWcuYzo0MDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3MyBidWlsdGluL2NvbW1pdC5jOjEzNzcgYnVpbHRpbi9jb21taXQuYzoxNTMzCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1MyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1NgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTkgYnVpbHRpbi9yZWJhc2UuYzoxNTI1IHBhcnNlLW9wdGlvbnMuaDozMzYKIG1zZ2lkICJtb2RlIgogbXNnc3RyICJjaOG6vyDEkeG7mSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzI4IGJ1aWx0aW4vY29tbWl0LmM6MTUwOQorIzogYnVpbHRpbi9jb21taXQuYzoxMzc0IGJ1aWx0aW4vY29tbWl0LmM6MTUzMwogbXNnaWQgInNob3cgdW50cmFja2VkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogYWxsLCBub3JtYWwsIG5vLiAoRGVmYXVsdDogYWxsKSIKIG1zZ3N0ciAiIgogImhp4buDbiB0aOG7iyBjw6FjIHThuq1wIHRpbiBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkgIGThuqV1IHbhur90LCBjw6FjIGNo4bq/IMSR4buZIHTDuXkgY2jhu41uOiAgYWxsLCAiCiAibm9ybWFsLCBuby4gKE3hurdjIMSR4buLbmg6IGFsbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzMgorIzogYnVpbHRpbi9jb21taXQuYzoxMzc4CiBtc2dpZCAiIgogInNob3cgaWdub3JlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IHRyYWRpdGlvbmFsLCBtYXRjaGluZywgbm8uIChEZWZhdWx0OiAiCiAidHJhZGl0aW9uYWwpIgpAQCAtOTg4MiwxMSArMTIyODUsMTEgQEAKICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gYuG7iyBi4buPIHF1YSwgY8OhYyBjaOG6vyDEkeG7mSB0w7l5IGNo4buNbjogdHJhZGl0aW9uYWwsIG1hdGNoaW5nLCAiCiAibm8uIChN4bq3YyDEkeG7i25oOiB0cmFkaXRpb25hbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNCBwYXJzZS1vcHRpb25zLmg6MTY0CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODAgcGFyc2Utb3B0aW9ucy5oOjE5MgogbXNnaWQgIndoZW4iCiBtc2dzdHIgImtoaSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzM1CisjOiBidWlsdGluL2NvbW1pdC5jOjEzODEKIG1zZ2lkICIiCiAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcywgb3B0aW9uYWwgd2hlbjogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKERlZmF1bHQ6IGFsbCkiCkBAIC05ODk0LDI2OSArMTIyOTcsMjY3IEBACiAiYuG7jyBxdWEgY8OhYyB0aGF5IMSR4buVaSB0cm9uZyBtw7QtxJF1bi1jb24sIHTDuXkgY2jhu41uIGtoaTogYWxsLCBkaXJ0eSwgdW50cmFja2VkLiAiCiAiKE3hurdjIMSR4buLbmg6IGFsbCkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNworIzogYnVpbHRpbi9jb21taXQuYzoxMzgzCiBtc2dpZCAibGlzdCB1bnRyYWNrZWQgZmlsZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGRhbmggc8OhY2ggY8OhYyB04bqtcC10aW4gY2jGsGEgxJHGsOG7o2MgdGhlbyBkw7VpIHRyb25nIGPDoWMgY+G7mXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzOAorIzogYnVpbHRpbi9jb21taXQuYzoxMzg0CiBtc2dpZCAiZG8gbm90IGRldGVjdCByZW5hbWVzIgogbXNnc3RyICJraMO0bmcgZMOyIHTDrG0gY8OhYyB0w6puIHRoYXkgxJHhu5VpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4NgogbXNnaWQgImRldGVjdCByZW5hbWVzLCBvcHRpb25hbGx5IHNldCBzaW1pbGFyaXR5IGluZGV4IgogbXNnc3RyICJkw7IgY8OhYyB0w6puIHRoYXkgxJHhu5VpLCB0w7l5IMO9IMSR4bq3dCBt4bulYyBs4bulYyB0xrDGoW5nIHThu7EiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDA2CiBtc2dpZCAiVW5zdXBwb3J0ZWQgY29tYmluYXRpb24gb2YgaWdub3JlZCBhbmQgdW50cmFja2VkLWZpbGVzIGFyZ3VtZW50cyIKIG1zZ3N0ciAiIgogIktow7RuZyBo4buXIHRy4buhIHThu5UgaOG7o3AgY8OhYyB0aGFtIHPhu5EgY8OhYyB04bqtcCB0aW4gYuG7iyBi4buPIHF1YSB2w6Aga2jDtG5nIMSRxrDhu6NjIHRoZW8gZMO1aSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY1CisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODkKIG1zZ2lkICJzdXBwcmVzcyBzdW1tYXJ5IGFmdGVyIHN1Y2Nlc3NmdWwgY29tbWl0IgogbXNnc3RyICJraMO0bmcgaGnhu4NuIHRo4buLIHThu5VuZyBr4bq/dCBzYXUga2hpIGNodXnhu4NuIGdpYW8gdGjDoG5oIGPDtG5nIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MAogbXNnaWQgInNob3cgZGlmZiBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHPhu7Ega2jDoWMgYmnhu4d0IHRyb25nIG3huqt1IHRpbiBuaOG6r24gY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY4CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTIKIG1zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgogbXNnc3RyICJDw6FjIHTDuXkgY2jhu41uIGdoaSBjaMO6IGNvbW1pdCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY5IGJ1aWx0aW4vbWVyZ2UuYzoyNjMgYnVpbHRpbi90YWcuYzozOTcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MyBidWlsdGluL21lcmdlLmM6Mjc0IGJ1aWx0aW4vdGFnLmM6NDE0CiBtc2dpZCAicmVhZCBtZXNzYWdlIGZyb20gZmlsZSIKIG1zZ3N0ciAixJHhu41jIGNow7ogdGjDrWNoIHThu6sgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAogbXNnaWQgImF1dGhvciIKIG1zZ3N0ciAidMOhYyBnaeG6oyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTQKIG1zZ2lkICJvdmVycmlkZSBhdXRob3IgZm9yIGNvbW1pdCIKIG1zZ3N0ciAiZ2hpIMSRw6ggdMOhYyBnaeG6oyBjaG8gY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzEgYnVpbHRpbi9nYy5jOjUxOAorIzogYnVpbHRpbi9jb21taXQuYzoxNDk1IGJ1aWx0aW4vZ2MuYzo1MzgKIG1zZ2lkICJkYXRlIgogbXNnc3RyICJuZ8OgeSB0aMOhbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDk1CiBtc2dpZCAib3ZlcnJpZGUgZGF0ZSBmb3IgY29tbWl0IgogbXNnc3RyICJnaGkgxJHDqCBuZ8OgeSB0aMOhbmcgY2hvIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MiBidWlsdGluL21lcmdlLmM6MjU5IGJ1aWx0aW4vbm90ZXMuYzo0MDkKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NzIgYnVpbHRpbi90YWcuYzozOTUKLW1zZ2lkICJtZXNzYWdlIgotbXNnc3RyICJjaMO6IHRow61jaCIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDcyCi1tc2dpZCAiY29tbWl0IG1lc3NhZ2UiCi1tc2dzdHIgImNow7ogdGjDrWNoIGPhu6dhIGzhuqduIGNodXnhu4NuIGdpYW8iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MyBidWlsdGluL2NvbW1pdC5jOjE0NzQgYnVpbHRpbi9jb21taXQuYzoxNDc1Ci0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzYgcmVmLWZpbHRlci5oOjkyIHBhcnNlLW9wdGlvbnMuaDoyODAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NyBidWlsdGluL2NvbW1pdC5jOjE0OTggYnVpbHRpbi9jb21taXQuYzoxNDk5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDAgcGFyc2Utb3B0aW9ucy5oOjMyOCByZWYtZmlsdGVyLmg6OTIKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgImzhuqduX2NodXnhu4NuX2dpYW8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MworIzogYnVpbHRpbi9jb21taXQuYzoxNDk3CiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgbWVzc2FnZSBmcm9tIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgImTDuW5nIGzhuqFpIGPDoWMgZ2hpIGNow7ogdOG7qyBs4bqnbiBjaHV54buDbiBnaWFvIMSRw6MgY2hvIG5oxrBuZyBjw7MgY2hvIHPhu61hIGNo4buvYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc0CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTgKIG1zZ2lkICJyZXVzZSBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiZMO5bmcgbOG6oWkgY8OhYyBnaGkgY2jDuiB04burIGzhuqduIGNodXnhu4NuIGdpYW8gxJHDoyBjaG8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NQorIzogYnVpbHRpbi9jb21taXQuYzoxNDk5CiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gZml4dXAgc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAiIgogImTDuW5nIGdoaSBjaMO6IGPDsyDEkeG7i25oIGThuqFuZyBhdXRvc3F1YXNoIMSR4buDIHPhu61hIGNo4buvYSBs4bqnbiBjaHV54buDbiBnaWFvIMSRw6MgY2jhu4kgcmEiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NgorIzogYnVpbHRpbi9jb21taXQuYzoxNTAwCiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gc3F1YXNoIHNwZWNpZmllZCBjb21taXQiCiBtc2dzdHIgIiIKICJkw7luZyBs4budaSBuaOG6r24gY8OzIMSR4buLbmggZOG6oW5nIHThu7EgxJHhu5luZyBuw6luIMSR4buDIG7DqW4gbOG6oWkgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIMSRw6MgY2jhu4kgIgogInJhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMQogbXNnaWQgInRoZSBjb21taXQgaXMgYXV0aG9yZWQgYnkgbWUgbm93ICh1c2VkIHdpdGggLUMvLWMvLS1hbWVuZCkiCiBtc2dzdHIgIiIKICJs4bqnbiBjaHV54buDbiBnaWFvIG5o4bqtbiB0w7RpIGzDoCB0w6FjIGdp4bqjICjEkcaw4bujYyBkw7luZyB24bubaSB0w7l5IGNo4buNbiAtQy8tYy8tLWFtZW5kKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDc4IGJ1aWx0aW4vbG9nLmM6MTUyMCBidWlsdGluL21lcmdlLmM6Mjc2Ci0jOiBidWlsdGluL3B1bGwuYzoxNTUgYnVpbHRpbi9yZXZlcnQuYzoxMDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMiBidWlsdGluL2xvZy5jOjE2MzQgYnVpbHRpbi9tZXJnZS5jOjI4OQorIzogYnVpbHRpbi9wdWxsLmM6MTY0IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEwCiBtc2dpZCAiYWRkIFNpZ25lZC1vZmYtYnk6IgogbXNnc3RyICIobsOqbiBkw7luZykgdGjDqm0gZMOybmcgU2lnbmVkLW9mZi1ieToiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTAzCiBtc2dpZCAidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIgogbXNnc3RyICJz4butIGThu6VuZyB04bqtcCB0aW4gbeG6q3UgxJHDoyBjaG8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MAorIzogYnVpbHRpbi9jb21taXQuYzoxNTA0CiBtc2dpZCAiZm9yY2UgZWRpdCBvZiBjb21taXQiCiBtc2dzdHIgIsOpcCBideG7mWMgc+G7rWEgbOG6p24gY29tbWl0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODEKLW1zZ2lkICJkZWZhdWx0IgotbXNnc3RyICJt4bq3YyDEkeG7i25oIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODEgYnVpbHRpbi90YWcuYzo0MDEKLW1zZ2lkICJob3cgdG8gc3RyaXAgc3BhY2VzIGFuZCAjY29tbWVudHMgZnJvbSBtZXNzYWdlIgotbXNnc3RyICJsw6BtIHRo4bq/IG7DoG8gxJHhu4MgY+G6r3QgYuG7jyBraG/huqNuZyB0cuG6r25nIHbDoCAjZ2hpY2jDuiB04burIG3huql1IHRpbiBuaOG6r24iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTA2CiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgImJhbyBn4buTbSBjw6FjIHRy4bqhbmcgdGjDoWkgdHJvbmcgbeG6q3UgZ2hpIGNow7ogY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDg0IGJ1aWx0aW4vbWVyZ2UuYzoyNzQgYnVpbHRpbi9wdWxsLmM6MTg1Ci0jOiBidWlsdGluL3JldmVydC5jOjExNAotbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKLW1zZ3N0ciAia8O9IGzhuqduIGNodXnhu4NuIGdpYW8gZMO5bmcgR1BHIgotCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMQogbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgogbXNnc3RyICJDw6FjIHTDuXkgbuG7mWkgZHVuZyBnaGkgY2jDuiBjb21taXQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4OAorIzogYnVpbHRpbi9jb21taXQuYzoxNTEyCiBtc2dpZCAiY29tbWl0IGFsbCBjaGFuZ2VkIGZpbGVzIgogbXNnc3RyICJjaHV54buDbiBnaWFvIHThuqV0IGPhuqMgY8OhYyB04bqtcCB0aW4gY8OzIHRoYXkgxJHhu5VpIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMwogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAidGjDqm0gY8OhYyB04bqtcCB0aW4gxJHDoyBjaOG7iSByYSB2w6BvIGLhuqNuZyBt4bulYyBs4bulYyDEkeG7gyBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNAogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIgogbXNnc3RyICJ0aMOqbSBjw6FjIHThuq1wLXRpbiBi4bqxbmcgdMawxqFuZyB0w6FjIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNQogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGNoYW5nZXMiCiBtc2dzdHIgInRow6ptIGPDoWMgdGhheSDEkeG7lWkgYuG6sW5nIHTGsMahbmcgdMOhYyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDkyCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTYKIG1zZ2lkICJjb21taXQgb25seSBzcGVjaWZpZWQgZmlsZXMiCiBtc2dzdHIgImNo4buJIGNodXnhu4NuIGdpYW8gY8OhYyB04bqtcCB0aW4gxJHDoyBjaOG7iSByYSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDkzCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTcKIG1zZ2lkICJieXBhc3MgcHJlLWNvbW1pdCBhbmQgY29tbWl0LW1zZyBob29rcyIKIG1zZ3N0ciAidsOybmcgcXVhIG3Ds2MgKGhvb2spIHByZS1jb21taXQgdsOgIGNvbW1pdC1tc2ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTE4CiBtc2dpZCAic2hvdyB3aGF0IHdvdWxkIGJlIGNvbW1pdHRlZCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHhlbSBjw6FpIGfDrCBjw7MgdGjhu4MgxJHGsOG7o2MgY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTA3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MzEKIG1zZ2lkICJhbWVuZCBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgIuKAnHR1IGLhu5XigJ0gKGFtZW5kKSBs4bqnbiBjb21taXQgdHLGsOG7m2MiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwOAorIzogYnVpbHRpbi9jb21taXQuYzoxNTMyCiBtc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgogbXNnc3RyICJ2w7JuZyBxdWEgbcOzYyAoaG9vaykgcG9zdC1yZXdyaXRlIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzOQogbXNnaWQgIm9rIHRvIHJlY29yZCBhbiBlbXB0eSBjaGFuZ2UiCiBtc2dzdHIgIm9rIMSR4buDIGdoaSBs4bqhaSBt4buZdCB0aGF5IMSR4buVaSB0cuG7kW5nIHLhu5duZyIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTE1CisjOiBidWlsdGluL2NvbW1pdC5jOjE1NDEKIG1zZ2lkICJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIgogbXNnc3RyICJvayDEkeG7gyBnaGkgY8OhYyB0aGF5IMSR4buVaSB24bubaSBs4budaSBuaOG6r24gdHLhu5FuZyBy4buXbmciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU4OAorIzogYnVpbHRpbi9jb21taXQuYzoxNjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvcnJ1cHQgTUVSR0VfSEVBRCBmaWxlICglcykiCiBtc2dzdHIgIlThuq1wIHRpbiBNRVJHRV9IRUFEIHNhaSBo4buPbmcgKCVzKSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTk1CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MjEKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NT0RFIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIE1FUkdFX01PREUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAorIzogYnVpbHRpbi9jb21taXQuYzoxNjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBwaOG6p24gY2jDuiB0aMOtY2ggKG1lc3NhZ2UpIGPhu6dhIGzhuqduIGNodXnhu4NuIGdpYW86ICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQgZHVlIHRvIGVtcHR5IGNvbW1pdCBtZXNzYWdlLlxuIgogbXNnc3RyICJCw6NpIGLhu48gdmnhu4djIGNodXnhu4NuIGdpYW8gYuG7n2kgdsOsIHBo4bqnbiBjaMO6IHRow61jaCBj4bunYSBuw7MgdHLhu5FuZyBy4buXbmcuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYzMAorIzogYnVpbHRpbi9jb21taXQuYzoxNjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdDsgeW91IGRpZCBub3QgZWRpdCB0aGUgbWVzc2FnZS5cbiIKIG1zZ3N0ciAiIgogIsSQYW5nIGLhu48gcXVhIHZp4buHYyBjaHV54buDbiBnaWFvOyBi4bqhbiDEkcOjIGtow7RuZyBiacOqbiBzb+G6oW4gcGjhuqduIGNow7ogdGjDrWNoICIKICIobWVzc2FnZSkuXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTY2NQorIzogYnVpbHRpbi9jb21taXQuYzoxNjg2CiBtc2dpZCAiIgogInJlcG9zaXRvcnkgaGFzIGJlZW4gdXBkYXRlZCwgYnV0IHVuYWJsZSB0byB3cml0ZVxuIgogIm5ld19pbmRleCBmaWxlLiBDaGVjayB0aGF0IGRpc2sgaXMgbm90IGZ1bGwgYW5kIHF1b3RhIGlzXG4iCi0ibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXNldCBIRUFEXCIgdG8gcmVjb3Zlci4iCisibm90IGV4Y2VlZGVkLCBhbmQgdGhlbiBcImdpdCByZXN0b3JlIC0tc3RhZ2VkIDovXCIgdG8gcmVjb3Zlci4iCiBtc2dzdHIgIiIKICJraG8gY2jhu6lhIMSRw6MgxJHGsOG7o2MgY+G6rXAgbmjhuq10LCBuaMawbmcga2jDtG5nIHRo4buDIGdoaSB2w6BvXG4iCiAidOG6rXAgdGluIG5ld19pbmRleCAoYuG6o25nIG3hu6VjIGzhu6VjIG3hu5tpKS4gSMOjeSBraeG7g20gdHJhIHhlbSDEkcSpYVxuIgogImPDsyBi4buLIMSR4bqneSBxdcOhIGhheSBxdW90YSAoaOG6oW4gbmdo4bqhY2ggxJHEqWEgY+G7qW5nKSBi4buLIHbGsOG7o3QgcXXDoSxcbiIKLSJ2w6Agc2F1IMSRw7MgXCJnaXQgcmVzZXQgSEVBRFwiIMSR4buDIGto4bqvYyBwaOG7pWMuIgorInbDoCBzYXUgxJHDsyBcImdpdCByZXN0b3JlIC0tc3RhZ2VkIDovXCIgxJHhu4Mga2jhuq9jIHBo4bulYy4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTAKLW1zZ2lkICJnaXQgY29tbWl0LWdyYXBoIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgotbXNnc3RyICJnaXQgY29tbWl0LWdyYXBoIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgotCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MjMKLW1zZ2lkICJnaXQgY29tbWl0LWdyYXBoIHJlYWQgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCi1tc2dzdHIgImdpdCBjb21taXQtZ3JhcGggcmVhZCBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKLQotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE4Ci1tc2dpZCAiZ2l0IGNvbW1pdC1ncmFwaCB2ZXJpZnkgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCi1tc2dzdHIgImdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgotCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MjgKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTEgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxNwogbXNnaWQgIiIKLSJnaXQgY29tbWl0LWdyYXBoIHdyaXRlIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIFstLWFwcGVuZF0gWy0tcmVhY2hhYmxlfC0tIgotInN0ZGluLXBhY2tzfC0tc3RkaW4tY29tbWl0c10iCisiZ2l0IGNvbW1pdC1ncmFwaCB2ZXJpZnkgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0gWy0tc2hhbGxvd10gWy0tW25vLV1wcm9ncmVzc10iCiBtc2dzdHIgIiIKLSJnaXQgY29tbWl0LWdyYXBoIHdyaXRlIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIFstLWFwcGVuZF0gWy0tcmVhY2hhYmxlfC0tIgotInN0ZGluLXBhY2tzfC0tc3RkaW4tY29tbWl0c10iCisiZ2l0IGNvbW1pdC1ncmFwaCB2ZXJpZnkgWy0tb2JqZWN0LWRpciA8L3RoxrAvbeG7pWMvxJHhu5FpL3TGsOG7o25nPl0gWy0tc2hhbGxvd10gWy0tIgorIltuby1dcHJvZ3Jlc3NdIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjQ4IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NzgKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTMyIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTkwIGJ1aWx0aW4vZmV0Y2guYzoxNTMKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjIyCittc2dpZCAiIgorImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0gWy0tYXBwZW5kfC0tc3BsaXRdIFstLSIKKyJyZWFjaGFibGV8LS1zdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIFstLVtuby1dcHJvZ3Jlc3NdIDxzcGxpdCBvcHRpb25zPiIKK21zZ3N0ciAiIgorImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA8L3RoxrAvbeG7pWMvxJHhu5FpL3TGsOG7o25nPl0gWy0tYXBwZW5kfC0tIgorInNwbGl0XSBbLS1yZWFjaGFibGV8LS1zdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIFstLVtuby1dcHJvZ3Jlc3NdIDxjw6FjICIKKyJ0w7l5IGNo4buNbiBjaGlhIHTDoWNoPiIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo0OCBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwMworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxODcgYnVpbHRpbi9mZXRjaC5jOjE3OSBidWlsdGluL2xvZy5jOjE2NTcKIG1zZ2lkICJkaXIiCiBtc2dzdHIgInRt4bulYyIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo0OSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjc5Ci0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzMyBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE5MQorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo0OSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwNAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxODgKIG1zZ2lkICJUaGUgb2JqZWN0IGRpcmVjdG9yeSB0byBzdG9yZSB0aGUgZ3JhcGgiCiBtc2dzdHIgIlRoxrAgbeG7pWMgxJHhu5FpIHTGsOG7o25nIMSR4buDIGzGsHUgxJHhu5MgdGjhu4siCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTM1CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjUxCittc2dpZCAiaWYgdGhlIGNvbW1pdC1ncmFwaCBpcyBzcGxpdCwgb25seSB2ZXJpZnkgdGhlIHRpcCBmaWxlIgorbXNnc3RyICIiCisibuG6v3UgxJHhu5MtdGjhu4stY8OhYy1s4bqnbi1jaHV54buDbi1naWFvIGLhu4sgY2hpYSBj4bqvdCwgdGjDrCBjaOG7iSB0aOG6qW0gdHJhIHThuq1wIHRpbiDEkeG7iW5oIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjczIHQvaGVscGVyL3Rlc3QtcmVhZC1ncmFwaC5jOjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGNvbW1pdC1ncmFwaCAnJXMnIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyDEkeG7kyB0aOG7iyBjaHV54buDbiBnaWFvIOKAnCVz4oCdIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwNgogbXNnaWQgInN0YXJ0IHdhbGsgYXQgYWxsIHJlZnMiCiBtc2dzdHIgImLhuq90IMSR4bqndSBkaSBjaHV54buDbiB04bqhaSBt4buNaSB0aGFtIGNoaeG6v3UiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTM3CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwOAogbXNnaWQgInNjYW4gcGFjay1pbmRleGVzIGxpc3RlZCBieSBzdGRpbiBmb3IgY29tbWl0cyIKIG1zZ3N0ciAiIgogInF1w6l0IGTDsyBjw6FjIG3hu6VjIGzhu6VjIGfDs2kgxJHGsOG7o2MgbGnhu4d0IGvDqiBi4bufaSDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIGNobyBjw6FjIGzhuqduICIKICJjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzOQorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMTAKIG1zZ2lkICJzdGFydCB3YWxrIGF0IGNvbW1pdHMgbGlzdGVkIGJ5IHN0ZGluIgogbXNnc3RyICIiCiAiYuG6r3QgxJHhuqd1IGRpIGNodXnhu4NuIHThuqFpIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyDEkcaw4bujYyBsaeG7h3Qga8OqIGLhu59pIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTQxCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExMgogbXNnaWQgImluY2x1ZGUgYWxsIGNvbW1pdHMgYWxyZWFkeSBpbiB0aGUgY29tbWl0LWdyYXBoIGZpbGUiCiBtc2dzdHIgIiIKLSJiYW8gZ+G7k20gbeG7jWkgbOG6p24gY2h1eeG7g24gZ2lhbyDEkcOjIHPhurVuIGPDsyB0cm9uZ8aw4budaSB04bqtcCB0aW4gxJHhu5MgdGjhu4sgbOG6p24gY2h1eeG7g24gZ2lhbyIKKyJiYW8gZ+G7k20gbeG7jWkgbOG6p24gY2h1eeG7g24gZ2lhbyDEkcOjIHPhurVuIGPDsyB0cm9uZ8aw4budaSB04bqtcCB0aW4gxJHhu5MtdGjhu4stY8OhYy1s4bqnbi1jaHV54buDbi0iCisiZ2lhbyIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxNTAKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTE1Cittc2dpZCAiYWxsb3cgd3JpdGluZyBhbiBpbmNyZW1lbnRhbCBjb21taXQtZ3JhcGggZmlsZSIKK21zZ3N0ciAiY2hvIHBow6lwIGdoaSBt4buZdCB04bqtcCB0aW4gxJHhu5MgaOG7jWEgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGzhu5tuIGzDqm4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTE3IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTIxCittc2dpZCAibWF4aW11bSBudW1iZXIgb2YgY29tbWl0cyBpbiBhIG5vbi1iYXNlIHNwbGl0IGNvbW1pdC1ncmFwaCIKK21zZ3N0ciAiIgorInPhu5EgbMaw4bujbmcgdOG7kWkgxJFhIGPhu6dhIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyB0cm9uZyBt4buZdCDEkeG7ky10aOG7iy1jw6FjLWzhuqduLWNodXnhu4NuLWdpYW8gIgorImNoaWEgY+G6r3Qga2jDtG5nLWPGoS1z4bufIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExOQorbXNnaWQgIm1heGltdW0gcmF0aW8gYmV0d2VlbiB0d28gbGV2ZWxzIG9mIGEgc3BsaXQgY29tbWl0LWdyYXBoIgorbXNnc3RyICJ04bu3IGzhu4cgdOG7kWkgxJFhIGdp4buvYSBoYWkgbeG7qWMgY+G7p2EgbeG7mXQgxJHhu5MtdGjhu4stY8OhYy1s4bqnbi1jaHV54buDbi1naWFvIGNoaWEgY+G6r3QiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTM3CiBtc2dpZCAidXNlIGF0IG1vc3Qgb25lIG9mIC0tcmVhY2hhYmxlLCAtLXN0ZGluLWNvbW1pdHMsIG9yIC0tc3RkaW4tcGFja3MiCiBtc2dzdHIgIiIKICJraMO0bmcgdGjhu4Mgc+G7rSBk4bulbmcgaMahbiBt4buZdCAtLXJlYWNoYWJsZSwgLS1zdGRpbi1jb21taXRzLCBoYXkgLS1zdGRpbi1wYWNrcyIKIAogIzogYnVpbHRpbi9jb25maWcuYzoxMQogbXNnaWQgImdpdCBjb25maWcgWzxvcHRpb25zPl0iCi1tc2dzdHIgImdpdCBjb25maWcgWzxjw6FjLXTDuXktY2jhu41uPl0iCittc2dzdHIgImdpdCBjb25maWcgWzxjw6FjIHTDuXkgY2jhu41uPl0iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTAzCisjOiBidWlsdGluL2NvbmZpZy5jOjEwMyBidWlsdGluL2Vudi0taGVscGVyLmM6MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIC0tdHlwZSBhcmd1bWVudCwgJXMiCiBtc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyDEkcaw4bujYyB0aOG7q2Egbmjhuq1uIC0tdHlwZSwgJXMiCkBAIC0xMDI2MSw3ICsxMjY2Miw3IEBACiBtc2dpZCAiVHlwZSIKIG1zZ3N0ciAiS2nhu4N1IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE0NworIzogYnVpbHRpbi9jb25maWcuYzoxNDcgYnVpbHRpbi9lbnYtLWhlbHBlci5jOjM4CiBtc2dpZCAidmFsdWUgaXMgZ2l2ZW4gdGhpcyB0eXBlIgogbXNnc3RyICJnacOhIHRy4buLIMSRxrDhu6NjIMSRxrBhIGtp4buDdSBuw6B5IgogCkBAIC0xMDMwNyw3ICsxMjcwOCw3IEBACiAiaGnhu4NuIHRo4buLIG5ndXnDqm4gZ+G7kWMgY+G7p2EgY+G6pXUgaMOsbmggKHThuq1wIHRpbiwgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiwgYmxvYiwgZMOybmcgIgogImzhu4duaCkiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6MTU4CisjOiBidWlsdGluL2NvbmZpZy5jOjE1OCBidWlsdGluL2Vudi0taGVscGVyLmM6NDAKIG1zZ2lkICJ2YWx1ZSIKIG1zZ3N0ciAiZ2nDoSB0cuG7iyIKIApAQCAtMTAzMTUsNDggKzEyNzE2LDQ4IEBACiBtc2dpZCAid2l0aCAtLWdldCwgdXNlIGRlZmF1bHQgdmFsdWUgd2hlbiBtaXNzaW5nIGVudHJ5IgogbXNnc3RyICJ24bubaSAtLWdldCwgZMO5bmcgZ2nDoSB0cuG7iyBt4bq3YyDEkeG7i25oIGtoaSB0aGnhur91IG3hu6VjIHRpbiIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxNzEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMsIHNob3VsZCBiZSAlZCIKIG1zZ3N0ciAic2FpIHPhu5EgbMaw4bujbmcgdGhhbSBz4buRLCBwaOG6o2kgbMOgICVkIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE3MworIzogYnVpbHRpbi9jb25maWcuYzoxNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cywgc2hvdWxkIGJlIGZyb20gJWQgdG8gJWQiCiBtc2dzdHIgInNhaSBz4buRIGzGsOG7o25nIHRoYW0gc+G7kSwgcGjhuqNpIHThu6sgJWQgxJHhur9uICVkIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjMwNworIzogYnVpbHRpbi9jb25maWcuYzozMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXkgcGF0dGVybjogJXMiCiBtc2dzdHIgIm3huqt1IGtow7NhIGtow7RuZyBo4bujcCBs4buHOiAlcyIKIAotIzogYnVpbHRpbi9jb25maWcuYzozNDMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MzQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBmb3JtYXQgZGVmYXVsdCBjb25maWcgdmFsdWU6ICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu4tuaCBk4bqhbmcgZ2nDoSB0cuG7iyBj4bqldSBow6xuaCBt4bq3YyDEkeG7i25oOiAlcyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0MDAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBwYXJzZSBjb2xvciAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggbcOgdSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0NDIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDQzCiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGRlZmF1bHQgY29sb3IgdmFsdWUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBnacOhIHRy4buLIG3DoHUgbeG6t2MgxJHhu4tuaCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0OTUgYnVpbHRpbi9jb25maWcuYzo3NDEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDk2IGJ1aWx0aW4vY29uZmlnLmM6NzQyCiBtc2dpZCAibm90IGluIGEgZ2l0IGRpcmVjdG9yeSIKIG1zZ3N0ciAia2jDtG5nIHRyb25nIHRoxrAgbeG7pWMgZ2l0IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjQ5OAorIzogYnVpbHRpbi9jb25maWcuYzo0OTkKIG1zZ2lkICJ3cml0aW5nIHRvIHN0ZGluIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgInZp4buHYyBnaGkgcmEgxJHhuqd1IHJhIHRpw6p1IGNodeG6qW4gbMOgIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjUwMQorIzogYnVpbHRpbi9jb25maWcuYzo1MDIKIG1zZ2lkICJ3cml0aW5nIGNvbmZpZyBibG9icyBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJraMO0bmcgaOG7lyB0cuG7oyBnaGkgY+G6pXUgaMOsbmggY8OhYyBibG9iIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjU4NgorIzogYnVpbHRpbi9jb25maWcuYzo1ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiMgVGhpcyBpcyBHaXQncyBwZXItdXNlciBjb25maWd1cmF0aW9uIGZpbGUuXG4iCkBAIC0xMDM3MSwyMyArMTI3NzIsMjMgQEAKICIjXHRuYW1lID0gJXNcbiIKICIjXHRlbWFpbCA9ICVzXG4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjEwCisjOiBidWlsdGluL2NvbmZpZy5jOjYxMQogbXNnaWQgIm9ubHkgb25lIGNvbmZpZyBmaWxlIGF0IGEgdGltZSIKIG1zZ3N0ciAiY2jhu4kgbeG7mXQgdOG6rXAgdGluIGPhuqV1IGjDrG5oIG3hu5l0IGzhuqduIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxNQorIzogYnVpbHRpbi9jb25maWcuYzo2MTYKIG1zZ2lkICItLWxvY2FsIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tbG9jYWwgY2jhu4kgY8OzIHRo4buDIMSRxrDhu6NjIGTDuW5nIGLDqm4gdHJvbmcgbeG7mXQga2hvIGdpdCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjE5CiBtc2dpZCAiLS1ibG9iIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tYmxvYiBjaOG7iSBjw7MgdGjhu4MgxJHGsOG7o2MgZMO5bmcgYsOqbiB0cm9uZyBt4buZdCBraG8gZ2l0IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYzNworIzogYnVpbHRpbi9jb25maWcuYzo2MzgKIG1zZ2lkICIkSE9NRSBub3Qgc2V0IgogbXNnc3RyICJDaMawYSDEkeG6t3QgYmnhur9uIG3DtGkgdHLGsOG7nW5nIEhPTUUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjU3CisjOiBidWlsdGluL2NvbmZpZy5jOjY1OAogbXNnaWQgIiIKICItLXdvcmt0cmVlIGNhbm5vdCBiZSB1c2VkIHdpdGggbXVsdGlwbGUgd29ya2luZyB0cmVlcyB1bmxlc3MgdGhlIGNvbmZpZ1xuIgogImV4dGVuc2lvbiB3b3JrdHJlZUNvbmZpZyBpcyBlbmFibGVkLiBQbGVhc2UgcmVhZCBcIkNPTkZJR1VSQVRJT04gRklMRVwiXG4iCkBAIC0xMDM5NywxOSArMTI3OTgsMTkgQEAKICJ3b3JrdHJlZUNvbmZpZyDEkcaw4bujYyBi4bqtdC4gVnVpIGzDsm5nIMSR4buNYyBwaOG6p24gXCJDT05GSUdVUkFUSU9OIEZJTEVcIlxuIgogInRyb25nIFwiZ2l0IGhlbHAgd29ya3RyZWVcIiDEkeG7gyBiaeG6v3QgdGjDqm0gY2hpIHRp4bq/dCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2ODcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6Njg4CiBtc2dpZCAiLS1nZXQtY29sb3IgYW5kIHZhcmlhYmxlIHR5cGUgYXJlIGluY29oZXJlbnQiCiBtc2dzdHIgIi0tZ2V0LWNvbG9yIHbDoCBraeG7g3UgYmnhur9uIGzDoCBraMO0bmcgbeG6oWNoIGzhuqFjIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY5MgorIzogYnVpbHRpbi9jb25maWcuYzo2OTMKIG1zZ2lkICJvbmx5IG9uZSBhY3Rpb24gYXQgYSB0aW1lIgogbXNnc3RyICJjaOG7iSBt4buZdCB0aGFvIHTDoWMgbeG7l2kgbOG6p24iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzA1CisjOiBidWlsdGluL2NvbmZpZy5jOjcwNgogbXNnaWQgIi0tbmFtZS1vbmx5IGlzIG9ubHkgYXBwbGljYWJsZSB0byAtLWxpc3Qgb3IgLS1nZXQtcmVnZXhwIgogbXNnc3RyICItLW5hbWUtb25seSBjaOG7iSDEkcaw4bujYyDDoXAgZOG7pW5nIGNobyAtLWxpc3QgaG/hurdjIC0tZ2V0LXJlZ2V4cCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MTEKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzEyCiBtc2dpZCAiIgogIi0tc2hvdy1vcmlnaW4gaXMgb25seSBhcHBsaWNhYmxlIHRvIC0tZ2V0LCAtLWdldC1hbGwsIC0tZ2V0LXJlZ2V4cCwgYW5kIC0tIgogImxpc3QiCkBAIC0xMDQxNywzMyArMTI4MTgsMzMgQEAKICItLXNob3ctb3JpZ2luIGNo4buJIMSRxrDhu6NjIMOhcCBk4bulbmcgY2hvIC0tZ2V0LCAtLWdldC1hbGwsIC0tZ2V0LXJlZ2V4cCwgaG/hurdjIC0tIgogImxpc3QiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzE3CisjOiBidWlsdGluL2NvbmZpZy5jOjcxOAogbXNnaWQgIi0tZGVmYXVsdCBpcyBvbmx5IGFwcGxpY2FibGUgdG8gLS1nZXQiCiBtc2dzdHIgIi0tZGVmYXVsdCBjaOG7iSDEkcaw4bujYyDDoXAgZOG7pW5nIGNobyAtLWdldCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3MzAKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIGNvbmZpZyBmaWxlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgdOG6rXAgdGluIGPhuqV1IGjDrG5oIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjczMworIzogYnVpbHRpbi9jb25maWcuYzo3MzQKIG1zZ2lkICJlcnJvciBwcm9jZXNzaW5nIGNvbmZpZyBmaWxlKHMpIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgeOG7rSBsw70gY8OhYyB04bqtcCB0aW4gY+G6pXUgaMOsbmgiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzQzCisjOiBidWlsdGluL2NvbmZpZy5jOjc0NAogbXNnaWQgImVkaXRpbmcgc3RkaW4gaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAic+G7rWEgY2jhu69hIMSR4bqndSByYSB0acOqdSBjaHXhuqluIGzDoCBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NDUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQ2CiBtc2dpZCAiZWRpdGluZyBibG9icyBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJ2aeG7h2Mgc+G7rWEgY2jhu69hIGPDoWMgYmxvYiBsw6Aga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzU5CisjOiBidWlsdGluL2NvbmZpZy5jOjc2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIGNvbmZpZ3VyYXRpb24gZmlsZSAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIHThuq1wIHRpbiBj4bqldSBow6xuaCDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjYW5ub3Qgb3ZlcndyaXRlIG11bHRpcGxlIHZhbHVlcyB3aXRoIGEgc2luZ2xlIHZhbHVlXG4iCkBAIC0xMDQ1Miw3ICsxMjg1Myw3IEBACiAia2jDtG5nIHRo4buDIGdoaSDEkcOoIG5oaeG7gXUgZ2nDoSB0cuG7iyB24bubaSBt4buZdCBnacOhIHRy4buLIMSRxqFuXG4iCiAiICAgICAgRMO5bmcgbeG7mXQgYmnhu4N1IHRo4bupYyBjaMOtbmggcXV5LCAtLWFkZCBoYXkgLS1yZXBsYWNlLWFsbCDEkeG7gyB0aGF5IMSR4buVaSAlcy4iCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6ODQ2IGJ1aWx0aW4vY29uZmlnLmM6ODU3CisjOiBidWlsdGluL2NvbmZpZy5jOjg0NyBidWlsdGluL2NvbmZpZy5jOjg1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIHNlY3Rpb246ICVzIgogbXNnc3RyICJraMO0bmcgY8OzIMSRb+G6oW46ICVzIgpAQCAtMTA0NjcsMTUgKzEyODY4LDE1IEBACiAKICM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNgogbXNnaWQgImdpdCBkZXNjcmliZSBbPG9wdGlvbnM+XSBbPGNvbW1pdC1pc2g+Li4uXSIKLW1zZ3N0ciAiZ2l0IGRlc2NyaWJlIFs8Y8OhYy10w7l5LWNo4buNbj5dIDxjb21taXQtaXNoPioiCittc2dzdHIgImdpdCBkZXNjcmliZSBbPGPDoWMgdMO5eSBjaOG7jW4+XSA8Y29tbWl0LWlzaD4qIgogCiAjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjcKIG1zZ2lkICJnaXQgZGVzY3JpYmUgWzxvcHRpb25zPl0gLS1kaXJ0eSIKLW1zZ3N0ciAiZ2l0IGRlc2NyaWJlIFs8Y8OhYy10w7l5LWNo4buNbj5dIC0tZGlydHkiCittc2dzdHIgImdpdCBkZXNjcmliZSBbPGPDoWMgdMO5eSBjaOG7jW4+XSAtLWRpcnR5IgogCiAjOiBidWlsdGluL2Rlc2NyaWJlLmM6NjIKIG1zZ2lkICJoZWFkIgotbXNnc3RyICJwaMOtYSB0csaw4bubYyAiCittc2dzdHIgInBow61hIHRyxrDhu5tjIgogCiAjOiBidWlsdGluL2Rlc2NyaWJlLmM6NjIKIG1zZ2lkICJsaWdodHdlaWdodCIKQEAgLTEwNDg1LDM3ICsxMjg4NiwzNyBAQAogbXNnaWQgImFubm90YXRlZCIKIG1zZ3N0ciAiY8OzIGRp4buFbiBnaeG6o2kiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBub3QgYXZhaWxhYmxlIgogbXNnc3RyICJ0aOG6uyDEkcOjIMSRxrDhu6NjIGdoaSBjaMO6ICVzIGtow7RuZyBz4bq1biDEkeG7gyBkw7luZyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3NgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIGhhcyBubyBlbWJlZGRlZCBuYW1lIgogbXNnc3RyICJ0aOG6uyDEkcaw4bujYyBjaMO6IGdp4bqjaSAlcyBraMO0bmcgY8OzIHTDqm4gbmjDum5nIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGlzIHJlYWxseSAnJXMnIGhlcmUiCiBtc2dzdHIgInRo4bq7IOKAnCVz4oCdIMSRw6MgdGjhu7FjIHPhu7Eg4bufIMSRw6J5IOKAnCVz4oCdIHLhu5NpIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6MzIyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRhZyBleGFjdGx5IG1hdGNoZXMgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIGPDsyB0aOG6uyBuw6BvIGto4bubcCBjaMOtbmggeMOhYyB24bubaSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjMyNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBleGFjdCBtYXRjaCBvbiByZWZzIG9yIHRhZ3MsIHNlYXJjaGluZyB0byBkZXNjcmliZVxuIgogbXNnc3RyICJLaMO0bmcgY8OzIHRoYW0gY2hp4bq/dSBoYXkgdGjhursga2jhu5twIMSRw7puZywgxJFhbmcgdMOsbSBraeG6v20gbcO0IHThuqNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM3OAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmaW5pc2hlZCBzZWFyY2ggYXQgJXNcbiIKIG1zZ3N0ciAidmnhu4djIHTDrG0ga2nhur9tIMSRw6Mga+G6v3QgdGjDumMgdOG6oWkgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gYW5ub3RhdGVkIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCkBAIC0xMDUyNCw3ICsxMjkyNSw3IEBACiAiS2jDtG5nIGPDsyB0aOG6uyDEkcaw4bujYyBjaMO6IGdp4bqjaSBuw6BvIMSRxrDhu6NjIG3DtCB04bqjIGzDoCDigJwlc+KAnS5cbiIKICJUdXkgbmhpw6puLCDhu58gxJHDonkgY8OzIG5o4buvbmcgdGjhursga2jDtG5nIMSRxrDhu6NjIGNow7ogZ2nhuqNpOiBow6N5IHRo4butIC0tdGFncy4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCkBAIC0xMDUzMywxMiArMTI5MzQsMTIgQEAKICJLaMO0bmcgY8OzIHRo4bq7IGPDsyB0aOG7gyBtw7QgdOG6oyDigJwlc+KAnS5cbiIKICJIw6N5IHRo4butIC0tYWx3YXlzLCBob+G6t2MgdOG6oW8gbeG7mXQgc+G7kSB0aOG6uy4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MzgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhdmVyc2VkICVsdSBjb21taXRzXG4iCiBtc2dzdHIgIsSRw6MgeHV5w6puICVsdSBxdWEgbOG6p24gY2h1eeG7g24gZ2lhb1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJtb3JlIHRoYW4gJWkgdGFncyBmb3VuZDsgbGlzdGVkICVpIG1vc3QgcmVjZW50XG4iCkBAIC0xMDU0NywxMTggKzEyOTQ4LDExOCBAQAogInTDrG0gdGjhuqV5IG5oaeG7gXUgaMahbiAlaSB0aOG6uzsgxJHDoyBsaeG7h3Qga8OqICVpIGPDoWkgZ+G6p25cbiIKICLEkcOieSBuaOG6pXQgYuG7jyDEkWkgdMOsbSBraeG6v20gdOG6oWkgJXNcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUwOQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXNjcmliZSAlc1xuIgogbXNnc3RyICJtw7QgdOG6oyAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTEyIGJ1aWx0aW4vbG9nLmM6NTEzCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICJLaMO0bmcgcGjhuqNpIHTDqm4gxJHhu5FpIHTGsOG7o25nICVzIGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MjAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbmVpdGhlciBhIGNvbW1pdCBub3IgYmxvYiIKIG1zZ3N0ciAiJXMga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgbOG6p24gY29tbWl0IGPFqW5nIGtow7RuZyBwaOG6o2kgYmxvYiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzNwogbXNnaWQgImZpbmQgdGhlIHRhZyB0aGF0IGNvbWVzIGFmdGVyIHRoZSBjb21taXQiCiBtc2dzdHIgInTDrG0gY8OhYyB0aOG6uyBtw6AgbsOzIMSR4bq/biB0csaw4bubYyBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM1CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM4CiBtc2dpZCAiZGVidWcgc2VhcmNoIHN0cmF0ZWd5IG9uIHN0ZGVyciIKIG1zZ3N0ciAiY2hp4bq/biBsxrDhu6NjIHTDrG0ga2nhur9tIGfhu6EgbOG7l2kgdHLDqm4gxJHhuqd1IHJhIGzhu5dpIGNodeG6qW4gc3RkZXJyIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM5CiBtc2dpZCAidXNlIGFueSByZWYiCiBtc2dzdHIgImTDuW5nIHJlZiBi4bqldCBr4buzIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM3CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQwCiBtc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCiBtc2dzdHIgImTDuW5nIHRo4bq7IGLhuqV0IGvhu7MsIGPhuqMga2hpIOKAnHVuYW5ub3RhdGVk4oCdIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQxCiBtc2dpZCAiYWx3YXlzIHVzZSBsb25nIGZvcm1hdCIKIG1zZ3N0ciAibHXDtG4gZMO5bmcgxJHhu4tuaCBk4bqhbmcgZMOgaSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzOQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MgogbXNnaWQgIm9ubHkgZm9sbG93IGZpcnN0IHBhcmVudCIKIG1zZ3N0ciAiY2jhu4kgdGhlbyBjaGEgbeG6uSDEkeG6p3UgdGnDqm4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDUKIG1zZ2lkICJvbmx5IG91dHB1dCBleGFjdCBtYXRjaGVzIgogbXNnc3RyICJjaOG7iSB4deG6pXQgbmjhu69uZyBnw6wga2jhu5twIGNow61uaCB4w6FjIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ3CiBtc2dpZCAiY29uc2lkZXIgPG4+IG1vc3QgcmVjZW50IHRhZ3MgKGRlZmF1bHQ6IDEwKSIKIG1zZ3N0ciAiY29pIG5oxrAgPG4+IHRo4bq7IGfhuqduIMSRw6J5IG5o4bqldCAobeG6t2MgxJHhu4tuaDogMTApIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ5CiBtc2dpZCAib25seSBjb25zaWRlciB0YWdzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiY2jhu4kgY8OibiBuaOG6r2MgxJHhur9uIG5o4buvbmcgdGjhursga2jhu5twIHbhu5tpIDxt4bqrdT4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTEKIG1zZ2lkICJkbyBub3QgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCiBtc2dzdHIgImtow7RuZyBjb2kgcuG6sW5nIGPDoWMgdGjhursga2jhu5twIHbhu5tpIDxt4bqrdT4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTAgYnVpbHRpbi9uYW1lLXJldi5jOjQyNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MyBidWlsdGluL25hbWUtcmV2LmM6NDczCiBtc2dpZCAic2hvdyBhYmJyZXZpYXRlZCBjb21taXQgb2JqZWN0IGFzIGZhbGxiYWNrIgogbXNnc3RyICJoaeG7g24gdGjhu4sgxJHhu5FpIHTGsOG7o25nIGNodXnhu4NuIGdpYW8gduG6r24gdOG6r3QgbmjGsCBsw6AgZmFsbGJhY2siCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTEgYnVpbHRpbi9kZXNjcmliZS5jOjU1NAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1NCBidWlsdGluL2Rlc2NyaWJlLmM6NTU3CiBtc2dpZCAibWFyayIKIG1zZ3N0ciAiZOG6pXUiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTUKIG1zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGRpcnR5IHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItZGlydHlcIikiCiBtc2dzdHIgInRow6ptIDxk4bqldT4gdHLDqm4gY8OieSB0aMawIG3hu6VjIGzDoG0gdmnhu4djIGLhuqluICht4bq3YyDEkeG7i25oIFwiLWRpcnR5XCIpIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTU1CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTU4CiBtc2dpZCAiYXBwZW5kIDxtYXJrPiBvbiBicm9rZW4gd29ya2luZyB0cmVlIChkZWZhdWx0OiBcIi1icm9rZW5cIikiCiBtc2dzdHIgInRow6ptIDxk4bqldT4gdHLDqm4gY8OieSB0aMawIG3hu6VjIGzDoG0gdmnhu4djIGLhu4sgaOG7j25nICht4bq3YyDEkeG7i25oIFwiLWJyb2tlblwiKSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU3MworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU3NgogbXNnaWQgIi0tbG9uZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFiYnJldj0wIgogbXNnc3RyICItLWxvbmcgbMOgIHh1bmcga2jhuq9jIHbhu5tpIHTDuXkgY2jhu41uIC0tYWJicmV2PTAiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2MDIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2MDUKIG1zZ2lkICJObyBuYW1lcyBmb3VuZCwgY2Fubm90IGRlc2NyaWJlIGFueXRoaW5nLiIKIG1zZ3N0ciAiS2jDtG5nIHTDrG0gdGjhuqV5IGPDoWMgdMOqbiwga2jDtG5nIHRo4buDIG3DtCB04bqjIGfDrCBj4bqjLiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjY1MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjY1NgogbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgogbXNnc3RyICItLWRpcnR5IGzDoCB4dW5nIGto4bqvYyB24bubaSBjw6FjIHTDuXkgY2jhu41uIGNvbW1pdC1pc2giCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTgKIG1zZ2lkICItLWJyb2tlbiBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXQtaXNoZXMiCiBtc2dzdHIgIi0tYnJva2VuIGzDoCB4dW5nIGto4bqvYyB24bubaSBjb21taXQtaXNoZXMiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjgzCisjOiBidWlsdGluL2RpZmYuYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBub3QgYSByZWd1bGFyIGZpbGUgb3Igc3ltbGluayIKIG1zZ3N0ciAi4oCcJXPigJ06IGtow7RuZyBwaOG6o2kgdOG6rXAgdGluIGLDrG5oIHRoxrDhu51uZyBoYXkgbGnDqm4ga+G6v3QgbeG7gW0iCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjIzNAorIzogYnVpbHRpbi9kaWZmLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb3B0aW9uOiAlcyIKIG1zZ3N0ciAidMO5eSBjaOG7jW4ga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgogCi0jOiBidWlsdGluL2RpZmYuYzozNjMKKyM6IGJ1aWx0aW4vZGlmZi5jOjM1MAogbXNnaWQgIk5vdCBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICJLaMO0bmcgcGjhuqNpIGzDoCBraG8gZ2l0IgogCi0jOiBidWlsdGluL2RpZmYuYzo0MDcKKyM6IGJ1aWx0aW4vZGlmZi5jOjM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIMSRw6MgY2hvIOKAnCVz4oCdIGtow7RuZyBo4bujcCBs4buHLiIKIAotIzogYnVpbHRpbi9kaWZmLmM6NDE2CisjOiBidWlsdGluL2RpZmYuYzo0MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAibW9yZSB0aGFuIHR3byBibG9icyBnaXZlbjogJyVzJyIKIG1zZ3N0ciAixJHDoyBjaG8gbmhp4buBdSBoxqFuIGhhaSDEkeG7kWkgdMaw4bujbmcgYmxvYjog4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQyMQorIzogYnVpbHRpbi9kaWZmLmM6NDA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgIsSRw6MgY2hvIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgdGjhu4MgbuG6r20gZ2nhu68g4oCcJXPigJ0uIgpAQCAtMTA2NjYsOCArMTMwNjcsOCBAQAogIzogYnVpbHRpbi9kaWZmdG9vbC5jOjMwCiBtc2dpZCAiZ2l0IGRpZmZ0b29sIFs8b3B0aW9ucz5dIFs8Y29tbWl0PiBbPGNvbW1pdD5dXSBbLS1dIFs8cGF0aD4uLi5dIgogbXNnc3RyICIiCi0iZ2l0IGRpZmZ0b29sIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8bOG6p25fY2h1eeG7g25fZ2lhbz4gWzxs4bqnbl9jaHV54buDbl9naWFvPl1dIFstLV0gIgotIjzEkcaw4budbmctZOG6q24+4oCmXSIKKyJnaXQgZGlmZnRvb2wgWzxjw6FjIHTDuXkgY2jhu41uPl0gWzxs4bqnbl9jaHV54buDbl9naWFvPiBbPGzhuqduX2NodXnhu4NuX2dpYW8+XV0gWy0tXSA8LyIKKyLEkcaw4budbmcvZOG6q24+4oCmXSIKIAogIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI2MAogIywgYy1mb3JtYXQKQEAgLTEwNjg3LDcgKzEzMDg4LDcgQEAKICM6IGJ1aWx0aW4vZGlmZnRvb2wuYzozMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgb2JqZWN0ICVzIGZvciBzeW1saW5rICVzIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu41jIMSR4buRaSB0xrDhu6NuZyAlcyBjaG8gbGnDqm4ga+G6v3QgbeG7gW0gJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgxJHhu5FpIHTGsOG7o25nICVzIGNobyBsacOqbiBr4bq/dCBt4buBbSAlcyIKIAogIzogYnVpbHRpbi9kaWZmdG9vbC5jOjQxMwogbXNnaWQgIiIKQEAgLTEwNjk3LDUzICsxMzA5OCw1MyBAQAogImPDoWMgxJHhu4tuaCBk4bqhbmcgZGlmZiB04buVIGjhu6NwKOKAnC1j4oCdIHbDoCDigJwtLWNj4oCdKSBjaMawYSDEkcaw4bujYyBo4buXIHRy4bujIHRyb25nXG4iCiAiY2jhur8gxJHhu5kgZGlmZiB0aMawIG3hu6VjKOKAnC1k4oCdIHbDoCDigJwtLWRpci1kaWZm4oCdKS4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzMKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYm90aCBmaWxlcyBtb2RpZmllZDogJyVzJyBhbmQgJyVzJy4iCiBtc2dzdHIgImPhuqMgaGFpIHThuq1wIHRpbiDEkcOjIGLhu4sgc+G7rWE6IOKAnCVz4oCdIHbDoCDigJwlc+KAnS4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzUKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2MzYKIG1zZ2lkICJ3b3JraW5nIHRyZWUgZmlsZSBoYXMgYmVlbiBsZWZ0LiIKIG1zZ3N0ciAiY8OieSBsw6BtIHZp4buHYyDhu58gYsOqbiB0csOhaS4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAidGVtcG9yYXJ5IGZpbGVzIGV4aXN0IGluICclcycuIgogbXNnc3RyICJjw6FjIHThuq1wIHRpbiB04bqhbSDEkcOjIHPhurVuIGPDsyB0cm9uZyDigJwlc+KAnS4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDcKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDgKIG1zZ2lkICJ5b3UgbWF5IHdhbnQgdG8gY2xlYW51cCBvciByZWNvdmVyIHRoZXNlLiIKLW1zZ3N0ciAiYuG6oW4gY8OzIGzhur0gbXXhu5FuIGThu41uIGThurlwIGhheSAiCittc2dzdHIgImLhuqFuIGPDsyBs4bq9IG114buRbiBk4buNbiBk4bq5cCBoYXkgcGjhu6VjIGjhu5NpIOG7nyDEkcOieS4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo2OTcKIG1zZ2lkICJ1c2UgYGRpZmYuZ3VpdG9vbGAgaW5zdGVhZCBvZiBgZGlmZi50b29sYCIKIG1zZ3N0ciAiZMO5bmcg4oCcZGlmZi5ndWl0b29s4oCcIHRoYXkgdsOsIGTDuW5nIOKAnGRpZmYudG9vbOKAnCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5OAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5OQogbXNnaWQgInBlcmZvcm0gYSBmdWxsLWRpcmVjdG9yeSBkaWZmIgogbXNnc3RyICJ0aOG7sWMgaGnhu4duIG3hu5l0IGRpZmYgdG/DoG4gdGjGsCBt4bulYyIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMQogbXNnaWQgImRvIG5vdCBwcm9tcHQgYmVmb3JlIGxhdW5jaGluZyBhIGRpZmYgdG9vbCIKIG1zZ3N0ciAixJHhu6tuZyBuaOG6r2Mga2hpIGto4bufaSBjaOG6oXkgY8O0bmcgY+G7pSBkaWZmIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzA1CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA2CiBtc2dpZCAidXNlIHN5bWxpbmtzIGluIGRpci1kaWZmIG1vZGUiCiBtc2dzdHIgImTDuW5nIGxpw6puIGvhur90IG3hu4FtIHRyb25nIGRpZmYtdGjGsC1t4bulYyIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwNwogbXNnaWQgInRvb2wiCiBtc2dzdHIgImPDtG5nIGPhu6UiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDcKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDgKIG1zZ2lkICJ1c2UgdGhlIHNwZWNpZmllZCBkaWZmIHRvb2wiCiBtc2dzdHIgImTDuW5nIGPDtG5nIGPhu6UgZGlmZiDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwOQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMAogbXNnaWQgInByaW50IGEgbGlzdCBvZiBkaWZmIHRvb2xzIHRoYXQgbWF5IGJlIHVzZWQgd2l0aCBgLS10b29sYCIKIG1zZ3N0ciAiaW4gcmEgZGFuaCBzw6FjaCBjw6FjIGPDtG5nIGPhu6UgZGlmIGPDoWkgbcOgIGPDsyB0aOG6uyBkw7luZyB24bubaSDigJwtLXRvb2zigJwiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTIKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTMKIG1zZ2lkICIiCiAibWFrZSAnZ2l0LWRpZmZ0b29sJyBleGl0IHdoZW4gYW4gaW52b2tlZCBkaWZmIHRvb2wgcmV0dXJucyBhIG5vbiAtIHplcm8gZXhpdCAiCiAiY29kZSIKQEAgLTEwNzUxLDE2MSArMTMxNTIsMjQ3IEBACiAibMOgbSBjaG8g4oCcZ2l0LWRpZmZ0b29s4oCdIHRob8OhdCBraGkgZ+G7jWkgY8O0bmcgY+G7pSBkaWZmIHRy4bqjIHbhu4EgbcOjIGtow7RuZyBwaOG6o2kgc+G7kSAiCiAia2jDtG5nIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzE1CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzE2CiBtc2dpZCAic3BlY2lmeSBhIGN1c3RvbSBjb21tYW5kIGZvciB2aWV3aW5nIGRpZmZzIgogbXNnc3RyICJjaOG7iSDEkeG7i25oIG3hu5l0IGzhu4duaCB0w7l5IMO9IMSR4buDIHhlbSBkaWZmIgogCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzE3Cittc2dpZCAicGFzc2VkIHRvIGBkaWZmYCIKK21zZ3N0ciAiY2h1eeG7g24gY2hvIOKAnGRpZmbigJ0iCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MzIKK21zZ2lkICJkaWZmdG9vbCByZXF1aXJlcyB3b3JrdHJlZSBvciAtLW5vLWluZGV4IgorbXNnc3RyICJkaWZmdG9vbCBj4bqnbiBjw6J5IGzDoG0gdmnhu4djIGhv4bq3YyAtLW5vLWluZGV4IgorCiAjOiBidWlsdGluL2RpZmZ0b29sLmM6NzM5Cittc2dpZCAiLS1kaXItZGlmZiBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW5vLWluZGV4IgorbXNnc3RyICItLWRpci1kaWZmIHh1bmcga2jhuq9jIHbhu5tpIC0tbm8taW5kZXgiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3NDIKK21zZ2lkICItLWd1aSwgLS10b29sIGFuZCAtLWV4dGNtZCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLWd1aSwgLS10b29sIHbDoCAtLWV4dGNtZCBsb+G6oWkgdOG7qyBs4bqrbiBuaGF1IgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzUwCiBtc2dpZCAibm8gPHRvb2w+IGdpdmVuIGZvciAtLXRvb2w9PHRvb2w+IgogbXNnc3RyICJjaMawYSDEkcawYSByYSA8Y8O0bmdfY+G7pT4gY2hvIC0tdG9vbD08Y8O0bmdfY+G7pT4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3NDYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3NTcKIG1zZ2lkICJubyA8Y21kPiBnaXZlbiBmb3IgLS1leHRjbWQ9PGNtZD4iCiBtc2dzdHIgImNoxrBhIMSRxrBhIHJhIDxs4buHbmg+IGNobyAtLWV4dGNtZD08bOG7h25oPiIKIAorIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjYKK21zZ2lkICJnaXQgZW52LS1oZWxwZXIgLS10eXBlPVtib29sfHVsb25nXSA8b3B0aW9ucz4gPGVudi12YXI+IgorbXNnc3RyICJnaXQgZW52LS1oZWxwZXIgLS10eXBlPVtib29sfHVsb25nXSA8Y8OhYyB0w7l5IGNo4buNbj4gPGVudi12YXI+IgorCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6MzcgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4Cittc2dpZCAidHlwZSIKK21zZ3N0ciAia2nhu4N1IgorCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6NDEKK21zZ2lkICJkZWZhdWx0IGZvciBnaXRfZW52XyooLi4uKSB0byBmYWxsIGJhY2sgb24iCittc2dzdHIgIm3hurdjIMSR4buLbmggY2hvIGdpdF9lbnZfKiguLi4pIMSR4buDIHF1YXkgduG7gSIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjQzCittc2dpZCAiYmUgcXVpZXQgb25seSB1c2UgZ2l0X2Vudl8qKCkgdmFsdWUgYXMgZXhpdCBjb2RlIgorbXNnc3RyICJpbSBs4bq3bmcgY2jhu4kga2hpIGR1bmcgZ2nDoSB0cuG7iyBnaXRfZW52XyooKSBsw6BtIG3DoyB0aG/DoXQiCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYC0tZGVmYXVsdCcgZXhwZWN0cyBhIGJvb2xlYW4gdmFsdWUgd2l0aCBgLS10eXBlPWJvb2xgLCBub3QgYCVzYCIKK21zZ3N0ciAiIgorInTDuXkgY2jhu41uIGAtLWRlZmF1bHQnIGPhuqduIG3hu5l0IGdpw6EgdHLhu4sgbG9naWMgduG7m2kgYC0tdHlwZT1ib29sYCwga2jDtG5nIHBo4bqjaSBgJXNgIgorCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm9wdGlvbiBgLS1kZWZhdWx0JyBleHBlY3RzIGFuIHVuc2lnbmVkIGxvbmcgdmFsdWUgd2l0aCBgLS10eXBlPXVsb25nYCwgbm90IGAiCisiJXNgIgorbXNnc3RyICIiCisidMO5eSBjaOG7jW4gYC0tZGVmYXVsdCcgY+G6p24gbeG7mXQgZ2nDoSB0cuG7iyBz4buRIG5ndXnDqm4gZMOgaSBraMO0bmcgZOG6pXUgduG7m2kgYC0tIgorInR5cGU9dWxvbmdgLCBraMO0bmcgcGjhuqNpIGAlc2AiCisKICM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoyOQogbXNnaWQgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3Qtb3B0c10iCiBtc2dzdHIgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3Qtb3B0c10iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDA2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6ODUyCittc2dpZCAiRXJyb3I6IENhbm5vdCBleHBvcnQgbmVzdGVkIHRhZ3MgdW5sZXNzIC0tbWFyay10YWdzIGlzIHNwZWNpZmllZC4iCittc2dzdHIgIkzhu5dpOiBraMO0bmcgdGjhu4MgeHXhuqV0IHRo4bq7IGzhu5NuZyBuaGF1IHRy4burIGtoaSAtLW1hcmstdGFncyDEkcaw4bujYyBjaOG7iSDEkeG7i25oLiIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTIKIG1zZ2lkICJzaG93IHByb2dyZXNzIGFmdGVyIDxuPiBvYmplY3RzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgdGnhur9uIHRyaeG7g24gc2F1IDxuPiDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDA4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1NAogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBzaWduZWQgdGFncyIKIG1zZ3N0ciAiY2jhu41uIMSRaeG7gXUga2hp4buDbiBj4bunYSB0aOG6uyDEkcOjIGvDvSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTEKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTU3CiBtc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHRhZ3MgdGhhdCB0YWcgZmlsdGVyZWQgb2JqZWN0cyIKIG1zZ3N0ciAiY2jhu41uIHPhu7EgeOG7rSBsw70gY+G7p2EgY8OhYyB0aOG6uywgY8OhaSBtw6AgxJHDoW5oIHRo4bq7IGPDoWMgxJHhu5FpIHTGsOG7o25nIMSRxrDhu6NjIGzhu41jIHJhIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxNAorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjAKK21zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgY29tbWl0IG1lc3NhZ2VzIGluIGFuIGFsdGVybmF0ZSBlbmNvZGluZyIKK21zZ3N0ciAiIgorImNo4buNbiBi4buZIHjhu60gbMO9IGNobyBjw6FjIGdoaSBjaMO6IGPhu6dhIGzhuqduIGNodXnhu4NuIGdpYW8gdGhlbyBt4buZdCBi4buZIG3DoyB0aGF5IHRo4bq/IgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2MwogbXNnaWQgIkR1bXAgbWFya3MgdG8gdGhpcyBmaWxlIgogbXNnc3RyICLEkOG7lSBjw6FjIMSRw6FuaCBk4bqldSBuw6B5IHbDoG8gdOG6rXAtdGluIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxNgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjUKIG1zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUiCi1tc2dzdHIgIm5o4bqtcCB2w6BvIMSRw6FuaCBk4bqldSB04burIHThuq1wIHRpbiBuw6B5IgorbXNnc3RyICJOaOG6rXAgdsOgbyDEkcOhbmggZOG6pXUgdOG7qyB04bqtcCB0aW4gbsOgeSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY5Cittc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIGlmIGl0IGV4aXN0cyIKK21zZ3N0ciAiTmjhuq1wIHbDoG8gxJHDoW5oIGThuqV1IHThu6sgdOG6rXAgdGluIHPhurVuIGPDsyIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzEKIG1zZ2lkICJGYWtlIGEgdGFnZ2VyIHdoZW4gdGFncyBsYWNrIG9uZSIKIG1zZ3N0ciAiTMOgbSBnaeG6oyBt4buZdCBjw6FpIHRo4bq7IGtoaSB0aOG6uyBi4buLIHRoaeG6v3UgbeG7mXQgY8OhaSIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMjAKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTczCiBtc2dpZCAiT3V0cHV0IGZ1bGwgdHJlZSBmb3IgZWFjaCBjb21taXQiCiBtc2dzdHIgIlh14bqldCByYSB0b8OgbiBi4buZIGPDonkgY2hvIG3hu5dpIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDIyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3NQogbXNnaWQgIlVzZSB0aGUgZG9uZSBmZWF0dXJlIHRvIHRlcm1pbmF0ZSB0aGUgc3RyZWFtIgogbXNnc3RyICJT4butIGThu6VuZyB0w61uaCBuxINuZyBkb25lIMSR4buDIGNo4bqlbSBk4bupdCBsdeG7k25nIGThu68gbGnhu4d1IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAyMworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzYKIG1zZ2lkICJTa2lwIG91dHB1dCBvZiBibG9iIGRhdGEiCiBtc2dzdHIgIkLhu48gcXVhIGvhur90IHh14bqldCBj4bunYSBk4buvIGxp4buHdSBibG9iIgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAyNCBidWlsdGluL2xvZy5jOjE1ODgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTc3IGJ1aWx0aW4vbG9nLmM6MTcwNQogbXNnaWQgInJlZnNwZWMiCiBtc2dzdHIgInJlZnNwZWMiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDI1CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3OAogbXNnaWQgIkFwcGx5IHJlZnNwZWMgdG8gZXhwb3J0ZWQgcmVmcyIKIG1zZ3N0ciAiw4FwIGThu6VuZyByZWZzcGVjIGNobyByZWZzIMSRw6MgeHXhuqV0IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAyNgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzkKIG1zZ2lkICJhbm9ueW1pemUgb3V0cHV0IgogbXNnc3RyICJr4bq/dCB4deG6pXQgYW5vbnltaXplIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTgxCittc2dpZCAiUmVmZXJlbmNlIHBhcmVudHMgd2hpY2ggYXJlIG5vdCBpbiBmYXN0LWV4cG9ydCBzdHJlYW0gYnkgb2JqZWN0IGlkIgorbXNnc3RyICIiCisiQ8OhYyBjaGEgbeG6uSB0aGFtIGNoaeG6v3UgY8OhaSBtw6AgayB0cm9uZyBsdeG7k25nIGThu68gbGnhu4d1IGZhc3QtZXhwb3J0IGLhu59pIG3DoyBpZCDEkeG7kWkgIgorInTGsOG7o25nIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE4MworbXNnaWQgIlNob3cgb3JpZ2luYWwgb2JqZWN0IGlkcyBvZiBibG9icy9jb21taXRzIgorbXNnc3RyICJIaeG7g24gdGjhu4sgY8OhYyBtw6MgaWQgbmd1ecOqbiBn4buRYyBj4bunYSBibG9icy9jb21taXRzIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE4NQorbXNnaWQgIkxhYmVsIHRhZ3Mgd2l0aCBtYXJrIGlkcyIKK21zZ3N0ciAiR+G6r24gbmjDo24gdGjhursgSUQgZOG6pXUiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMjIwCittc2dpZCAiQ2Fubm90IHBhc3MgYm90aCAtLWltcG9ydC1tYXJrcyBhbmQgLS1pbXBvcnQtbWFya3MtaWYtZXhpc3RzIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgY2h1eeG7g24gcXVhIGPhuqMgaGFpIC0taW1wb3J0LW1hcmtzIHbDoCAtLWltcG9ydC1tYXJrcy1pZi1leGlzdHMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNAogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKLW1zZ3N0ciAiZ2l0IGZldGNoIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8a2hvLWNo4bupYT4gWzxyZWZzcGVjPuKApl1dIgorbXNnc3RyICJnaXQgZmV0Y2ggWzxjw6FjIHTDuXkgY2jhu41uPl0gWzxraG8tY2jhu6lhPiBbPHJlZnNwZWM+4oCmXV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoyOQorIzogYnVpbHRpbi9mZXRjaC5jOjM1CiBtc2dpZCAiZ2l0IGZldGNoIFs8b3B0aW9ucz5dIDxncm91cD4iCi1tc2dzdHIgImdpdCBmZXRjaCBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbPG5ow7NtPiIKK21zZ3N0ciAiZ2l0IGZldGNoIFs8Y8OhYyB0w7l5IGNo4buNbj5dIFs8bmjDs20+IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzAKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNgogbXNnaWQgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPHJlcG9zaXRvcnk+IHwgPGdyb3VwPikuLi5dIgotbXNnc3RyICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbKDxraG8+IHwgPG5ow7NtPinigKZdIgorbXNnc3RyICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPGPDoWMgdMO5eSBjaOG7jW4+XSBbKDxraG8+IHwgPG5ow7NtPinigKZdIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MzEKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNwogbXNnaWQgImdpdCBmZXRjaCAtLWFsbCBbPG9wdGlvbnM+XSIKLW1zZ3N0ciAiZ2l0IGZldGNoIC0tYWxsIFs8Y8OhYy10w7l5LWNo4buNbj5dIgorbXNnc3RyICJnaXQgZmV0Y2ggLS1hbGwgWzxjw6FjIHTDuXkgY2jhu41uPl0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTUgYnVpbHRpbi9wdWxsLmM6MTk0CisjOiBidWlsdGluL2ZldGNoLmM6MTE2Cittc2dpZCAiZmV0Y2gucGFyYWxsZWwgY2Fubm90IGJlIG5lZ2F0aXZlIgorbXNnc3RyICJmZXRjaC5wYXJhbGxlbCBraMO0bmcgdGjhu4Mgw6JtIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTM5IGJ1aWx0aW4vcHVsbC5jOjIwNAogbXNnaWQgImZldGNoIGZyb20gYWxsIHJlbW90ZXMiCiBtc2dzdHIgImzhuqV5IHbhu4EgdOG7qyB04bqldCBj4bqjIGPDoWMgbcOheSBjaOG7pyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNyBidWlsdGluL3B1bGwuYzoxOTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDEgYnVpbHRpbi9wdWxsLmM6MjQ4Cittc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9mZXRjaCIKK21zZ3N0ciAixJHhurd0IHRoxrDhu6NuZyBuZ3Xhu5NuIGNobyBnaXQgcHVsbC9mZXRjaCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MyBidWlsdGluL3B1bGwuYzoyMDcKIG1zZ2lkICJhcHBlbmQgdG8gLmdpdC9GRVRDSF9IRUFEIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmciCiBtc2dzdHIgIm7hu5FpIHRow6ptIHbDoG8gLmdpdC9GRVRDSF9IRUFEIHRoYXkgdsOsIGdoaSDEkcOoIGzDqm4gbsOzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE5IGJ1aWx0aW4vcHVsbC5jOjIwMAorIzogYnVpbHRpbi9mZXRjaC5jOjE0NSBidWlsdGluL3B1bGwuYzoyMTAKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDEkeG6v24gZ8OzaSB04bqjaSBsw6puIHRyw6puIG3DoXkgY2jhu6cgY3Xhu5FpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIwCisjOiBidWlsdGluL2ZldGNoLmM6MTQ2CiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGxvY2FsIHJlZmVyZW5jZSIKIG1zZ3N0ciAiw6lwIGJ14buZYyBnaGkgxJHDqCBsw6puIHRoYW0gY2hp4bq/dSBu4buZaSBi4buZIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTIyCisjOiBidWlsdGluL2ZldGNoLmM6MTQ4CiBtc2dpZCAiZmV0Y2ggZnJvbSBtdWx0aXBsZSByZW1vdGVzIgogbXNnc3RyICJs4bqleSB04burIG5oaeG7gXUgbcOheSBjaOG7pyBjw7luZyBsw7pjIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI0IGJ1aWx0aW4vcHVsbC5jOjIwNAorIzogYnVpbHRpbi9mZXRjaC5jOjE1MCBidWlsdGluL3B1bGwuYzoyMTQKIG1zZ2lkICJmZXRjaCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIgogbXNnc3RyICJs4bqleSB04bqldCBj4bqjIGPDoWMgdGjhursgY8O5bmcgduG7m2kgY8OhYyDEkeG7kWkgdMaw4bujbmcgbGnDqm4gcXVhbiDEkeG6v24gbsOzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI2CisjOiBidWlsdGluL2ZldGNoLmM6MTUyCiBtc2dpZCAiZG8gbm90IGZldGNoIGFsbCB0YWdzICgtLW5vLXRhZ3MpIgogbXNnc3RyICJraMO0bmcgbOG6pXkgdOG6pXQgY+G6oyBjw6FjIHRo4bq7ICgtLW5vLXRhZ3MpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI4CisjOiBidWlsdGluL2ZldGNoLmM6MTU0CiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgZmV0Y2hlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAic+G7kSBsxrDhu6NuZyBtw7QtxJF1bi1jb24gxJHGsOG7o2MgbOG6pXkgxJHhu5NuZyB0aOG7nWkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzAgYnVpbHRpbi9wdWxsLmM6MjA3CisjOiBidWlsdGluL2ZldGNoLmM6MTU2IGJ1aWx0aW4vcHVsbC5jOjIxNwogbXNnaWQgInBydW5lIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyBubyBsb25nZXIgb24gcmVtb3RlIgogbXNnc3RyICIiCiAiY+G6r3QgY+G7pXQgKHBydW5lKSBjw6FjIG5ow6FuaCDigJxyZW1vdGUtdHJhY2tpbmfigJ0ga2jDtG5nIGPDsm4gdOG7k24gdOG6oWkgdHLDqm4gbcOheSBjaOG7pyAiCiAibuG7r2EiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTgKIG1zZ2lkICJwcnVuZSBsb2NhbCB0YWdzIG5vIGxvbmdlciBvbiByZW1vdGUgYW5kIGNsb2JiZXIgY2hhbmdlZCB0YWdzIgogbXNnc3RyICJj4bqvdCB4w6ltIGPDoWMgdGjhursgbuG7mWkgYuG7mSBraMO0bmcgY8OybiDhu58gbcOheSBjaOG7pyB2w6AgeMOzYSBjw6FjIHRo4bq7IMSRw6MgdGhheSDEkeG7lWkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzMgYnVpbHRpbi9mZXRjaC5jOjE1NiBidWlsdGluL3B1bGwuYzoxMzIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTkgYnVpbHRpbi9mZXRjaC5jOjE4MiBidWlsdGluL3B1bGwuYzoxNDEKIG1zZ2lkICJvbi1kZW1hbmQiCiBtc2dzdHIgImtoaS1j4bqnbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNAorIzogYnVpbHRpbi9mZXRjaC5jOjE2MAogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIsSRaeG7gXUga2hp4buDbiB2aeG7h2MgbOG6pXkgduG7gSDEkeG7hyBxdXkgdHJvbmcgY8OhYyBtw7QtxJF1bi1jb24iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzggYnVpbHRpbi9wdWxsLmM6MjE1CisjOiBidWlsdGluL2ZldGNoLmM6MTY0IGJ1aWx0aW4vcHVsbC5jOjIyNQogbXNnaWQgImtlZXAgZG93bmxvYWRlZCBwYWNrIgogbXNnc3RyICJnaeG7ryBs4bqhaSBnw7NpIMSRw6MgdOG6o2kgduG7gSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE0MAorIzogYnVpbHRpbi9mZXRjaC5jOjE2NgogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICJjaG8gcGjDqXAgY+G6rXAgbmjhuq10IHRoLmNoaeG6v3UgSEVBRCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE0MyBidWlsdGluL2ZldGNoLmM6MTQ5IGJ1aWx0aW4vcHVsbC5jOjIxOAorIzogYnVpbHRpbi9mZXRjaC5jOjE2OSBidWlsdGluL2ZldGNoLmM6MTc1IGJ1aWx0aW4vcHVsbC5jOjIyOAogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUiCiBtc2dzdHIgImzDoG0gc8OidSBoxqFuIGzhu4tjaCBz4butIGPhu6dhIGLhuqNuIHNhbyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE0NQorIzogYnVpbHRpbi9mZXRjaC5jOjE3MQogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgcmVwb3NpdG9yeSBiYXNlZCBvbiB0aW1lIgogbXNnc3RyICJsw6BtIHPDonUgaMahbiBs4buLY2ggc+G7rSBj4bunYSBraG8gYuG6o24gc2FvIHNoYWxsb3cgZOG7sWEgdHLDqm4gdGjhu51pIGdpYW4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTEgYnVpbHRpbi9wdWxsLmM6MjIxCisjOiBidWlsdGluL2ZldGNoLmM6MTc3IGJ1aWx0aW4vcHVsbC5jOjIzMQogbXNnaWQgImNvbnZlcnQgdG8gYSBjb21wbGV0ZSByZXBvc2l0b3J5IgogbXNnc3RyICJjaHV54buDbiDEkeG7lWkgaG/DoG4gdG/DoG4gc2FuZyBraG8gZ2l0IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU0CisjOiBidWlsdGluL2ZldGNoLmM6MTgwCiBtc2dpZCAicHJlcGVuZCB0aGlzIHRvIHN1Ym1vZHVsZSBwYXRoIG91dHB1dCIKIG1zZ3N0ciAic2/huqFuIHPhurVuIGPDoWkgbsOgeSBjaG8ga+G6v3QgeHXhuqV0IMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODMKIG1zZ2lkICIiCiAiZGVmYXVsdCBmb3IgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMgKGxvd2VyIHByaW9yaXR5IHRoYW4gY29uZmlnICIKICJmaWxlcykiCkBAIC0xMDkxMywxMDggKzEzNDAwLDEzMyBAQAogIm3hurdjIMSR4buLbmggY2hvIHZp4buHYyBs4bqleSDEkeG7hyBxdXkgY8OhYyBtw7QtxJF1bi1jb24gKGPDsyBt4bupYyDGsHUgdGnDqm4gdGjhuqVwIGjGoW4gY8OhYyB04bqtcCAiCiAidGluIGPhuqV1IGjDrG5oIGNvbmZpZykiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjEgYnVpbHRpbi9wdWxsLmM6MjI0CisjOiBidWlsdGluL2ZldGNoLmM6MTg3IGJ1aWx0aW4vcHVsbC5jOjIzNAogbXNnaWQgImFjY2VwdCByZWZzIHRoYXQgdXBkYXRlIC5naXQvc2hhbGxvdyIKIG1zZ3N0ciAiY2jhuqVwIG5o4bqtbiB0aGFtIGNoaeG6v3UgY+G6rXAgbmjhuq10IC5naXQvc2hhbGxvdyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MiBidWlsdGluL3B1bGwuYzoyMjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODggYnVpbHRpbi9wdWxsLmM6MjM2CiBtc2dpZCAicmVmbWFwIgogbXNnc3RyICJyZWZtYXAiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjMgYnVpbHRpbi9wdWxsLmM6MjI3CisjOiBidWlsdGluL2ZldGNoLmM6MTg5IGJ1aWx0aW4vcHVsbC5jOjIzNwogbXNnaWQgInNwZWNpZnkgZmV0Y2ggcmVmbWFwIgogbXNnc3RyICJjaOG7iSByYSByZWZtYXAgY+G6p24gbOG6pXkgduG7gSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2NCBidWlsdGluL2xzLXJlbW90ZS5jOjc3IGJ1aWx0aW4vcHVzaC5jOjU4MgotIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzIKLW1zZ2lkICJzZXJ2ZXItc3BlY2lmaWMiCi1tc2dzdHIgIsSR4bq3Yy104bqjLW3DoXktcGjhu6VjLXbhu6UiCi0KLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjQgYnVpbHRpbi9scy1yZW1vdGUuYzo3NyBidWlsdGluL3B1c2guYzo1ODIKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTczCi1tc2dpZCAib3B0aW9uIHRvIHRyYW5zbWl0IgotbXNnc3RyICJ0w7l5IGNo4buNbiDEkeG7gyBjaHV54buDbiBnaWFvIgotCi0jOiBidWlsdGluL2ZldGNoLmM6MTcwCisjOiBidWlsdGluL2ZldGNoLmM6MTk2CiBtc2dpZCAicmVwb3J0IHRoYXQgd2UgaGF2ZSBvbmx5IG9iamVjdHMgcmVhY2hhYmxlIGZyb20gdGhpcyBvYmplY3QiCiBtc2dzdHIgIiIKICJiw6FvIGPDoW8gcuG6sW5nIGNow7puZyB0YSBjaOG7iSBjw7MgY8OhYyDEkeG7kWkgdMaw4bujbmcgdGnhur9wIGPhuq1uIMSRxrDhu6NjIHThu6sgxJHhu5FpIHTGsOG7o25nIG7DoHkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo0NzAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxOTkKK21zZ2lkICJydW4gJ2djIC0tYXV0bycgYWZ0ZXIgZmV0Y2hpbmciCittc2dzdHIgImNo4bqheSAnZ2MgLS1hdXRvJyBzYXUga2hpIGzhuqV5IHbhu4EiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMDEgYnVpbHRpbi9wdWxsLmM6MjQ2Cittc2dpZCAiY2hlY2sgZm9yIGZvcmNlZC11cGRhdGVzIG9uIGFsbCB1cGRhdGVkIGJyYW5jaGVzIgorbXNnc3RyICJraeG7g20gY2hvIGPDoWMtY+G6rXAtbmjhuq10LWLhuq90LWJ14buZYyB0csOqbiBt4buNaSBuaMOhbmggxJHDoyBj4bqtcCBuaOG6rXQiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMDMKK21zZ2lkICJ3cml0ZSB0aGUgY29tbWl0LWdyYXBoIGFmdGVyIGZldGNoaW5nIgorbXNnc3RyICJnaGkgcmEgxJHhu5MgdGjhu4sgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIHNhdSBraGkgbOG6pXkgduG7gSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjUxMwogbXNnaWQgIkNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiBIRUFEIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgdMOsbSB0aOG6pXkgbcOheSBjaOG7pyBjaG8gdGhhbSBjaGnhur91IEhFQUQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo2MDkKKyM6IGJ1aWx0aW4vZmV0Y2guYzo2NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29uZmlndXJhdGlvbiBmZXRjaC5vdXRwdXQgY29udGFpbnMgaW52YWxpZCB2YWx1ZSAlcyIKIG1zZ3N0ciAicGjhuqduIGPhuqV1IGjDrG5oIGZldGNoLm91dHB1dCBjw7MgY2jhu6lhIGdpw6EtdHLhu4sga2jDtG5nIGjhu6NwIGzhu4cgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MDIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NTEKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIG5vdCBmb3VuZCIKLW1zZ3N0ciAiS2jDtG5nIHTDrG0gdGjhuqV5IMSR4buRaSB0xrDhu6NuZyAlcyIKK21zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IMSR4buRaSB0xrDhu6NuZyAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcwNgorIzogYnVpbHRpbi9mZXRjaC5jOjc1NQogbXNnaWQgIlt1cCB0byBkYXRlXSIKIG1zZ3N0ciAiW8SRw6MgY+G6rXAgbmjhuq10XSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcxOSBidWlsdGluL2ZldGNoLmM6NzM1IGJ1aWx0aW4vZmV0Y2guYzo4MDcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NjggYnVpbHRpbi9mZXRjaC5jOjc4NCBidWlsdGluL2ZldGNoLmM6ODU2CiBtc2dpZCAiW3JlamVjdGVkXSIKIG1zZ3N0ciAiW0Lhu4sgdOG7qyBjaOG7kWldIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzIwCisjOiBidWlsdGluL2ZldGNoLmM6NzY5CiBtc2dpZCAiY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2giCiBtc2dzdHIgImtow7RuZyB0aOG7gyBmZXRjaCAobOG6pXkpIHbhu4EgbmjDoW5oIGhp4buHbiBow6BuaCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjczMAorIzogYnVpbHRpbi9mZXRjaC5jOjc3OQogbXNnaWQgIlt0YWcgdXBkYXRlXSIKIG1zZ3N0ciAiW2Phuq1wIG5o4bqtdCB0aOG6u10iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MzEgYnVpbHRpbi9mZXRjaC5jOjc3MSBidWlsdGluL2ZldGNoLmM6Nzg3Ci0jOiBidWlsdGluL2ZldGNoLmM6ODAyCisjOiBidWlsdGluL2ZldGNoLmM6NzgwIGJ1aWx0aW4vZmV0Y2guYzo4MTcgYnVpbHRpbi9mZXRjaC5jOjgzOQorIzogYnVpbHRpbi9mZXRjaC5jOjg1MQogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgbG9jYWwgcmVmIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10IHRoYW0gY2hp4bq/dSBu4buZaSBi4buZIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzM1CisjOiBidWlsdGluL2ZldGNoLmM6Nzg0CiBtc2dpZCAid291bGQgY2xvYmJlciBleGlzdGluZyB0YWciCiBtc2dzdHIgIm7Dqm4geMOzYSBjaOG7k25nIGPDoWMgdGjhursgY8OzIHPhurVuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzU3CisjOiBidWlsdGluL2ZldGNoLmM6ODA2CiBtc2dpZCAiW25ldyB0YWddIgogbXNnc3RyICJbdGjhursgbeG7m2ldIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzYwCisjOiBidWlsdGluL2ZldGNoLmM6ODA5CiBtc2dpZCAiW25ldyBicmFuY2hdIgogbXNnc3RyICJbbmjDoW5oIG3hu5tpXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc2MworIzogYnVpbHRpbi9mZXRjaC5jOjgxMgogbXNnaWQgIltuZXcgcmVmXSIKIG1zZ3N0ciAiW3JlZiAodGhhbSBjaGnhur91KSBt4bubaV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MDIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTEKIG1zZ2lkICJmb3JjZWQgdXBkYXRlIgogbXNnc3RyICJjxrDhu6FuZyBi4bupYyBj4bqtcCBuaOG6rXQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MDcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTYKIG1zZ2lkICJub24tZmFzdC1mb3J3YXJkIgogbXNnc3RyICJraMO0bmctcGjhuqNpLWNodXnhu4NuLXRp4bq/cC1uaGFuaCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjg1MworIzogYnVpbHRpbi9mZXRjaC5jOjg3NworbXNnaWQgIiIKKyJGZXRjaCBub3JtYWxseSBpbmRpY2F0ZXMgd2hpY2ggYnJhbmNoZXMgaGFkIGEgZm9yY2VkIHVwZGF0ZSxcbiIKKyJidXQgdGhhdCBjaGVjayBoYXMgYmVlbiBkaXNhYmxlZC4gVG8gcmUtZW5hYmxlLCB1c2UgJy0tc2hvdy1mb3JjZWQtdXBkYXRlcydcbiIKKyJmbGFnIG9yIHJ1biAnZ2l0IGNvbmZpZyBmZXRjaC5zaG93Rm9yY2VkVXBkYXRlcyB0cnVlJy4iCittc2dzdHIgIiIKKyJWaeG7h2MgbOG6pXkgduG7gSB0aMaw4budbmcgY2jhu4kgcmEgY8OhYyBuaMOhbmggYnXhu5ljIHBo4bqjaSBj4bqtcCBuaOG6rXQsXG4iCisibmjGsG5nIGzhu7FhIGNo4buNbiBi4buLIHThuq90LiDEkOG7gyBrw61jaCBob+G6oXQgbOG6oWksIHPhu60gZOG7pW5nIGPhu51cbiIKKyInLS1zaG93LWZvcmNlZC11cGRhdGVzJyBob+G6t2MgY2jhuqF5ICdnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzIHRydWUnLiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjg4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gY2hlY2sgZm9yY2VkIHVwZGF0ZXMuIFlvdSBjYW4gdXNlXG4iCisiJy0tbm8tc2hvdy1mb3JjZWQtdXBkYXRlcycgb3IgcnVuICdnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzICIKKyJmYWxzZSdcbiIKKyIgdG8gYXZvaWQgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIlZp4buHYyBuw6B5IGPhuqduICUuMmYgZ2nDonkgxJHhu4Mga2nhu4NtIHRyYSBjw6FjIGPhuq1wIG5o4bqtdCDDqXAgYnXhu5ljLiBC4bqhbiBjw7MgdGjhu4MgZMO5bmdcbiIKKyInLS1uby1zaG93LWZvcmNlZC11cGRhdGVzJyBob+G6t2MgY2jhuqF5ICdnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzICIKKyJmYWxzZSdcbiIKKyLEkeG7gyB0csOhbmgga2nhu4NtIHRyYSBuw6B5LlxuIgorCisjOiBidWlsdGluL2ZldGNoLmM6OTExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHNcbiIKIG1zZ3N0ciAiJXMgxJHDoyBraMO0bmcgZ+G7rWkgdOG6pXQgY+G6oyBjw6FjIMSR4buRaSB0xrDhu6NuZyBj4bqnbiB0aGnhur90XG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzo5MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVqZWN0ICVzIGJlY2F1c2Ugc2hhbGxvdyByb290cyBhcmUgbm90IGFsbG93ZWQgdG8gYmUgdXBkYXRlZCIKIG1zZ3N0ciAidOG7qyBjaOG7kWkgJXMgYuG7n2kgdsOsIGPDoWMgZ+G7kWMgbsO0bmcgdGjDrCBraMO0bmcgxJHGsOG7o2MgcGjDqXAgY+G6rXAgbmjhuq10IgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTYzIGJ1aWx0aW4vZmV0Y2guYzoxMDg1CisjOiBidWlsdGluL2ZldGNoLmM6MTAxNyBidWlsdGluL2ZldGNoLmM6MTE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJGcm9tICUuKnNcbiIKIG1zZ3N0ciAiVOG7qyAlLipzXG4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NzQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJzb21lIGxvY2FsIHJlZnMgY291bGQgbm90IGJlIHVwZGF0ZWQ7IHRyeSBydW5uaW5nXG4iCkBAIC0xMTAyMyw1OSArMTM1MzUsODEgQEAKICJt4buZdCBz4buRIHRoYW0gY2hp4bq/dSBu4buZaSBi4buZIGtow7RuZyB0aOG7gyDEkcaw4bujYyBj4bqtcCBuaOG6rXQ7IGjDo3kgdGjhu60gY2jhuqF5XG4iCiAiIOKAnGdpdCByZW1vdGUgcHJ1bmUgJXPigJ0gxJHhu4MgYuG7jyDEkWkgbmjhu69uZyBuaMOhbmggY8WpLCBoYXkgYuG7iyB4dW5nIMSR4buZdCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwNTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICglcyB3aWxsIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgICglcyBz4bq9IHRy4bufIHRow6BuaCBraMO0bmcgxJHhuqd1IChraMO0bmcgxJHGsOG7o2MgcXXhuqNuIGzDvSkpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTA1NgorIzogYnVpbHRpbi9mZXRjaC5jOjExMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIGhhcyBiZWNvbWUgZGFuZ2xpbmcpIgogbXNnc3RyICIgICAoJXMgxJHDoyB0cuG7nyB0aMOgbmgga2jDtG5nIMSR4bqndSAoa2jDtG5nIMSRxrDhu6NjIHF14bqjbiBsw70pKSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwODgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTU4CiBtc2dpZCAiW2RlbGV0ZWRdIgogbXNnc3RyICJbxJHDoyB4w7NhXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwODkgYnVpbHRpbi9yZW1vdGUuYzoxMDM2CisjOiBidWlsdGluL2ZldGNoLmM6MTE1OSBidWlsdGluL3JlbW90ZS5jOjEwMzUKIG1zZ2lkICIobm9uZSkiCiBtc2dzdHIgIihraMO0bmcpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTExMgorIzogYnVpbHRpbi9mZXRjaC5jOjExODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gZmV0Y2ggaW50byBjdXJyZW50IGJyYW5jaCAlcyBvZiBub24tYmFyZSByZXBvc2l0b3J5IgogbXNnc3RyICIiCiAiVOG7qyBjaOG7kWkgdmnhu4djIGzhuqV5IHbDoG8gdHJvbmcgbmjDoW5oIGhp4buHbiB04bqhaSAlcyBj4bunYSBt4buZdCBraG8gY2jhu6lhIGtow7RuZyBwaOG6o2kga2hvICIKICJ0cuG6p24gKGJhcmUpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEzMQorIzogYnVpbHRpbi9mZXRjaC5jOjEyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gXCIlc1wiIGPDsyBnacOhIHRy4buLIFwiJXNcIiBsw6Aga2jDtG5nIGjhu6NwIGzhu4cgY2hvICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEzNAorIzogYnVpbHRpbi9mZXRjaC5jOjEyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiBpcyBpZ25vcmVkIGZvciAlc1xuIgogbXNnc3RyICJUw7l5IGNo4buNbiBcIiVzXCIgYuG7iyBi4buPIHF1YSB24bubaSAlc1xuIgogCisjOiBidWlsdGluL2ZldGNoLmM6MTQxMgorbXNnaWQgIm11bHRpcGxlIGJyYW5jaGVzIGRldGVjdGVkLCBpbmNvbXBhdGlibGUgd2l0aCAtLXNldC11cHN0cmVhbSIKK21zZ3N0ciAicGjDoXQgaGnhu4duIG5oaeG7gXUgbmjDoW5oLCBraMO0bmcgdMawxqFuZyB0aMOtY2ggduG7m2kgLS1zZXQtdXBzdHJlYW0iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDI3Cittc2dpZCAibm90IHNldHRpbmcgdXBzdHJlYW0gZm9yIGEgcmVtb3RlIHJlbW90ZS10cmFja2luZyBicmFuY2giCittc2dzdHIgImtow7RuZyBjw6BpIMSR4bq3dCB0aMaw4bujbmcgbmd14buTbiBjaG8gbeG7mXQgbmjDoW5oIMSRxrDhu6NjIHRoZW8gZMO1aSB0csOqbiBtw6F5IGNo4bunIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQyOQorbXNnaWQgIm5vdCBzZXR0aW5nIHVwc3RyZWFtIGZvciBhIHJlbW90ZSB0YWciCittc2dzdHIgImtow7RuZyBjw6BpIMSR4bq3dCB0aMaw4bujbmcgbmd14buTbiBjaG8gbeG7mXQgdGjhursgbmjDoW5oIHRyw6puIG3DoXkgY2jhu6ciCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDMxCittc2dpZCAidW5rbm93biBicmFuY2ggdHlwZSIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSBraeG7g3UgbmjDoW5oIgorCiAjOiBidWlsdGluL2ZldGNoLmM6MTQzMworbXNnaWQgIiIKKyJubyBzb3VyY2UgYnJhbmNoIGZvdW5kLlxuIgorInlvdSBuZWVkIHRvIHNwZWNpZnkgZXhhY3RseSBvbmUgYnJhbmNoIHdpdGggdGhlIC0tc2V0LXVwc3RyZWFtIG9wdGlvbi4iCittc2dzdHIgIiIKKyJraMO0bmcgdMOsbSB0aOG6pXkgbmjDoW5oIG5ndeG7k24uXG4iCisiYuG6oW4gY+G6p24gcGjhuqNpIGNo4buJIMSR4buLbmggY2jDrW5oIHjDoWMgbeG7mXQgbmjDoW5oIHbhu5tpIHTDuXkgY2jhu41uIC0tc2V0LXVwc3RyZWFtLiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE1NTkgYnVpbHRpbi9mZXRjaC5jOjE2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmV0Y2hpbmcgJXNcbiIKIG1zZ3N0ciAixJBhbmcgbOG6pXkg4oCcJXPigJ0gduG7gVxuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQzNSBidWlsdGluL3JlbW90ZS5jOjEwMAorIzogYnVpbHRpbi9mZXRjaC5jOjE1NjkgYnVpbHRpbi9mZXRjaC5jOjE2MjQgYnVpbHRpbi9yZW1vdGUuYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgotbXNnc3RyICJraMO0bmcgdGjhu4Mg4oCcJXPigJ0gduG7gSIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIGzhuqV54oCcJXPigJ0gduG7gSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE0ODEgYnVpbHRpbi9mZXRjaC5jOjE2NDkKLW1zZ2lkICIiCi0iLS1maWx0ZXIgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHRoZSByZW1vdGUgY29uZmlndXJlZCBpbiBjb3JlLnBhcnRpYWxDbG9uZSIKLW1zZ3N0ciAiIgotIi0tZmlsdGVyIGNo4buJIGPDsyB0aOG7gyDEkcaw4bujYyBkw7luZyB24bubaSBtw6F5IGNo4bunIMSRxrDhu6NjIGPhuqV1IGjDrG5oIGLhurFuZyBjb3JlLiIKLSJwYXJ0aWFsQ2xvbmUiCisjOiBidWlsdGluL2ZldGNoLmM6MTU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZmV0Y2ggJyVzJyAoZXhpdCBjb2RlOiAlZClcbiIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IOKAnCVz4oCdIChtw6MgdGhvw6F0OiAlZClcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1MDQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjg0CiBtc2dpZCAiIgogIk5vIHJlbW90ZSByZXBvc2l0b3J5IHNwZWNpZmllZC4gIFBsZWFzZSwgc3BlY2lmeSBlaXRoZXIgYSBVUkwgb3IgYVxuIgogInJlbW90ZSBuYW1lIGZyb20gd2hpY2ggbmV3IHJldmlzaW9ucyBzaG91bGQgYmUgZmV0Y2hlZC4iCkBAIC0xMTA4Myw0MyArMTM2MTcsNTEgQEAKICJDaMawYSBjaOG7iSByYSBraG8gY2jhu6lhIG3DoXkgY2jhu6cuICBYaW4gaMOjeSBjaOG7iSDEkeG7i25oIGhv4bq3YyBsw6AgVVJMIGhv4bq3Y1xuIgogInTDqm4gbcOheSBjaOG7pyB04burIGPDoWkgbcOgIG5o4buvbmcgxJFp4buDbSB4w6l0IGR1eeG7h3QgbeG7m2kgY8OzIHRo4buDIMSRxrDhu6NjIGZldGNoIChs4bqleSB24buBKS4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTQxCisjOiBidWlsdGluL2ZldGNoLmM6MTcyMQogbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCiBtc2dzdHIgIkLhuqFuIHBo4bqjaSDEkeG7i25oIHLDtSB0w6puIHRo4bq7LiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1OTAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzcxCiBtc2dpZCAiTmVnYXRpdmUgZGVwdGggaW4gLS1kZWVwZW4gaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiTeG7qWMgc8OidSBsw6Agc+G7kSDDom0gdHJvbmcgLS1kZWVwZW4gbMOgIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU5MgorIzogYnVpbHRpbi9mZXRjaC5jOjE3NzMKIG1zZ2lkICItLWRlZXBlbiBhbmQgLS1kZXB0aCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICJDw6FjIHTDuXkgY2jhu41uLS1kZWVwZW4gdsOgIC0tZGVwdGggbG/huqFpIHThu6sgbOG6q24gbmhhdSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1OTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzc4CiBtc2dpZCAiLS1kZXB0aCBhbmQgLS11bnNoYWxsb3cgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgInTDuXkgY2jhu41uIC0tZGVwdGggdsOgIC0tdW5zaGFsbG93IGtow7RuZyB0aOG7gyBz4butIGThu6VuZyBjw7luZyB24bubaSBuaGF1IgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU5OQorIzogYnVpbHRpbi9mZXRjaC5jOjE3ODAKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS11bnNoYWxsb3cgdHLDqm4ga2hvIGhvw6BuIGNo4buJbmggbMOgIGtow7RuZyBo4bujcCBsw70iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjE1CisjOiBidWlsdGluL2ZldGNoLmM6MTc5NgogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IHRha2UgYSByZXBvc2l0b3J5IGFyZ3VtZW50IgogbXNnc3RyICJs4buHbmggbOG6pXkgduG7gSBcImZldGNoIC0tYWxsXCIga2jDtG5nIGzhuqV5IMSR4buRaSBz4buRIGtobyBjaOG7qWEiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjE3CisjOiBidWlsdGluL2ZldGNoLmM6MTc5OAogbXNnaWQgImZldGNoIC0tYWxsIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAibOG7h25oIGzhuqV5IHbhu4EgXCJmZXRjaCAtLWFsbFwiIGtow7RuZyBo4bujcCBsw70gduG7m2kgcmVmc3BlY3MiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjI2CisjOiBidWlsdGluL2ZldGNoLmM6MTgwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgotbXNnc3RyICJraMO0bmcgY8OzIG5ow7NtIG3DoXkgY2jhu6cgaGF5IG3DoXkgY2jhu6cgbmjGsCB0aOG6vzogJXMiCittc2dzdHIgIktow7RuZyBjw7MgbmjDs20gbcOheSBjaOG7pyBoYXkgbcOheSBjaOG7pyBuaMawIHRo4bq/OiAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MzMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODE0CiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICJWaeG7h2MgbOG6pXkgduG7gSBj4bqjIG3hu5l0IG5ow7NtIHbDoCBjaOG7iSDEkeG7i25oIHJlZnNwZWNzIGtow7RuZyBo4bujcCBsw70iCiAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODMyCittc2dpZCAiIgorIi0tZmlsdGVyIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB0aGUgcmVtb3RlIGNvbmZpZ3VyZWQgaW4gZXh0ZW5zaW9ucy4iCisicGFydGlhbGNsb25lIgorbXNnc3RyICIiCisiLS1maWx0ZXIgY2jhu4kgY8OzIHRo4buDIMSRxrDhu6NjIGTDuW5nIHbhu5tpIG3DoXkgY2jhu6cgxJHGsOG7o2MgY+G6pXUgaMOsbmggYuG6sW5nIGV4dGVuc2lvbnMuIgorInBhcnRpYWxjbG9uZSIKKwogIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6MTgKIG1zZ2lkICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZXNzYWdlPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKQEAgLTExMTI3LDI5ICsxMzY2OSwyOSBAQAogImdpdCBmbXQtbWVyZ2UtbXNnIFstbSA8Y2jDul90aMOtY2g+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSA8dOG6rXAtIgogInRpbj5dIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzIKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NAogbXNnaWQgInBvcHVsYXRlIGxvZyB3aXRoIGF0IG1vc3QgPG4+IGVudHJpZXMgZnJvbSBzaG9ydGxvZyIKIG1zZ3N0ciAiZ+G6r24gbmjhuq10IGvDvSB24bubaSDDrXQgbmjhuqV0IDxuPiBt4bulYyB04burIGzhu4duaCDigJxzaG9ydGxvZ+KAnSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc1CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzcKIG1zZ2lkICJhbGlhcyBmb3IgLS1sb2cgKGRlcHJlY2F0ZWQpIgogbXNnc3RyICJiw60gZGFuaCBjaG8gLS1sb2cgKGtow7RuZyDEkcaw4bujYyBkw7luZykiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3OAorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjgwCiBtc2dpZCAidGV4dCIKIG1zZ3N0ciAidsSDbiBi4bqjbiIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc5CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2ODEKIG1zZ2lkICJ1c2UgPHRleHQ+IGFzIHN0YXJ0IG9mIG1lc3NhZ2UiCiBtc2dzdHIgImTDuW5nIDx2xINuIGLhuqNuIHRoxrDhu51uZz4gxJHhu4MgYuG6r3QgxJHhuqd1IGdoaSBjaMO6IgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2ODAKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY4MgogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgogbXNnc3RyICJ04bqtcCB0aW4gxJHhu4MgxJHhu41jIGThu68gbGnhu4d1IHThu6sgxJHDsyIKIAogIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMAogbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWzxvcHRpb25zPl0gWzxwYXR0ZXJuPl0iCi1tc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWzxjw6FjLXTDuXktY2jhu41uPl0gWzxt4bqrdT5dIgorbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFs8Y8OhYyB0w7l5IGNo4buNbj5dIFs8beG6q3U+XSIKIAogIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMQogbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tcG9pbnRzLWF0IDxvYmplY3Q+XSIKQEAgLTExMTg1LDExMCArMTM3MjcsMjk4IEBACiBtc2dpZCAic2hvdyBvbmx5IDxuPiBtYXRjaGVkIHJlZnMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjaOG7iSA8bj4gdGhhbSBjaGnhur91IGto4bubcCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjQyNAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOSBidWlsdGluL3RhZy5jOjQzOQogbXNnaWQgInJlc3BlY3QgZm9ybWF0IGNvbG9ycyIKIG1zZ3N0ciAiY8OhYyBtw6B1IMSR4buLbmggZOG6oW5nIGzGsHUgdMOibSIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MgogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBwb2ludHMgYXQgdGhlIGdpdmVuIG9iamVjdCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIGPDoWMgdGhhbSBjaGnhur91IG3DoCBuw7MgY2jhu4kgxJHhur9uIMSR4buRaSB0xrDhu6NuZyDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NQorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NAogbXNnaWQgInByaW50IG9ubHkgcmVmcyB0aGF0IGFyZSBtZXJnZWQiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyBuaOG7r25nIHRoYW0gY2hp4bq/dSBtw6AgbsOzIMSRxrDhu6NjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ1CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyBuaOG7r25nIHRoYW0gY2hp4bq/dSBtw6AgbsOzIGtow7RuZyDEkcaw4bujYyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NgogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyBuaOG7r25nIHRoYW0gY2hp4bq/dSBtw6AgbsOzIGNo4bupYSBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ4CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ3CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHdoaWNoIGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgdGhhbSBjaGnhur91IG3DoCBuw7Mga2jDtG5nIGNo4bupYSBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL2ZzY2suYzo1OTgKKyM6IGJ1aWx0aW4vZnNjay5jOjY4IGJ1aWx0aW4vZnNjay5jOjE0NyBidWlsdGluL2ZzY2suYzoxNDgKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICJraMO0bmcgaGnhu4N1IgorCisjLiBUUkFOU0xBVE9SUzogZS5nLiBlcnJvciBpbiB0cmVlIDAxYmZkYTogPG1vcmUgZXhwbGFuYXRpb24+CisjOiBidWlsdGluL2ZzY2suYzoxMDAgYnVpbHRpbi9mc2NrLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGluICVzICVzOiAlcyIKK21zZ3N0ciAibOG7l2kgdHJvbmcgJXMgJXM6ICVzIgorCisjLiBUUkFOU0xBVE9SUzogZS5nLiB3YXJuaW5nIGluIHRyZWUgMDFiZmRhOiA8bW9yZSBleHBsYW5hdGlvbj4KKyM6IGJ1aWx0aW4vZnNjay5jOjExNAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nIGluICVzICVzOiAlcyIKK21zZ3N0ciAiY8OzIGPhuqNuaCBiw6FvIHRyb25nICVzICVzOiAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6MTQzIGJ1aWx0aW4vZnNjay5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJicm9rZW4gbGluayBmcm9tICU3cyAlcyIKK21zZ3N0ciAibGnDqm4ga+G6v3QgZ8OjeSB04burICU3cyAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6MTU1Cittc2dpZCAid3Jvbmcgb2JqZWN0IHR5cGUgaW4gbGluayIKK21zZ3N0ciAia2nhu4N1IMSR4buRaSB0xrDhu6NuZyBzYWkgdHJvbmcgbGnDqm4ga+G6v3QiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjE3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYnJva2VuIGxpbmsgZnJvbSAlN3MgJXNcbiIKKyIgICAgICAgICAgICAgIHRvICU3cyAlcyIKK21zZ3N0ciAiIgorImxpw6puIGvhur90IGfDo3kgdOG7qyAlN3MgJXMgXG4iCisiICAgICAgICAgICAgICB04bubaSAlN3MgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nICVzICVzIgorbXNnc3RyICJ0aGnhur91ICVzICVzIgorCisjOiBidWlsdGluL2ZzY2suYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgJXMgJXMiCittc2dzdHIgImtow7RuZyB0aeG6v3AgY+G6rW4gxJHGsOG7o2MgJXMgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJkYW5nbGluZyAlcyAlcyIKK21zZ3N0ciAiZGFuZ2xpbmcgJXMgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjMzOQorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbG9zdC1mb3VuZCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIGxvc3QtZm91bmQiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjM1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZmluaXNoICclcyciCittc2dzdHIgImtow7RuZyB0aOG7gyBob8OgbiB0aMOgbmgg4oCcJXPigJ0iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjM2NworIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyAlcyIKK21zZ3N0ciAixJBhbmcga2nhu4NtIHRyYSAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSAoJWQgb2JqZWN0cykiCittc2dzdHIgIsSQYW5nIGtp4buDbSB0cmEga+G6v3QgbuG7kWkgKCVkIMSR4buRaSB0xrDhu6NuZykiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyAlcyAlcyIKK21zZ3N0ciAixJBhbmcga2nhu4NtIHRyYSAlcyAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDI5Cittc2dpZCAiYnJva2VuIGxpbmtzIgorbXNnc3RyICJjw6FjIGxpw6puIGvhur90IGLhu4sgZ+G6q3kiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJyb290ICVzIgorbXNnc3RyICJn4buRYyAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInRhZ2dlZCAlcyAlcyAoJXMpIGluICVzIgorbXNnc3RyICLEkcOjIMSRw6FuaCB0aOG6uyAlcyAlcyAoJXMpIHRyb25nICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBjb3JydXB0IG9yIG1pc3NpbmciCittc2dzdHIgIiVzOiDEkeG7kWkgdMaw4bujbmcgdGhp4bq/dSBoYXkgaOG7j25nIgorCisjOiBidWlsdGluL2ZzY2suYzo1MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgcmVmbG9nIGVudHJ5ICVzIgorbXNnc3RyICIlczogbeG7pWMgcmVmbG9nIGtow7RuZyBo4bujcCBs4buHICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgcmVmbG9nICVzLT4lcyIKK21zZ3N0ciAixJBhbmcga2nhu4NtIHRyYSB2aeG7h2MgxJHhu5VpIHTDqm4gY+G7p2Eg4oCcJXPigJ0gdGjDoG5oIOKAnCVz4oCdIgorCisjOiBidWlsdGluL2ZzY2suYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgc2hhMSBwb2ludGVyICVzIgorbXNnc3RyICIlczogY29uIHRy4buPIHNoYTEga2jDtG5nIGjhu6NwIGzhu4cgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgY29tbWl0IgorbXNnc3RyICIlczoga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyIKKworIzogYnVpbHRpbi9mc2NrLmM6NjA5Cittc2dpZCAibm90aWNlOiBObyBkZWZhdWx0IHJlZmVyZW5jZXMiCittc2dzdHIgImPhuqNuaCBiw6FvOiBLaMO0bmcgY8OzIGPDoWMgdGhhbSBjaGnhur91IG3hurdjIMSR4buLbmgiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjYyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2JqZWN0IGNvcnJ1cHQgb3IgbWlzc2luZzogJXMiCittc2dzdHIgIiVzOiB0aGnhur91IMSR4buRaSB0xrDhu6NuZyBob+G6t2MgaOG7j25nOiAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgY291bGQgbm90IGJlIHBhcnNlZDogJXMiCittc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggY8O6IMSR4buRaSB0xrDhu6NuZzogJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY1NworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc2hhMSBmaWxlOiAlcyIKK21zZ3N0ciAidOG6rXAgdGluIHNoYTEgc2FpOiAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NjcyCittc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yeSIKK21zZ3N0ciAixJBhbmcga2nhu4NtIHRyYSB0aMawIG3hu6VjIMSR4buRaSB0xrDhu6NuZyIKKworIzogYnVpbHRpbi9mc2NrLmM6Njc1CiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yaWVzIgogbXNnc3RyICLEkGFuZyBraeG7g20gdHJhIGPDoWMgdGjGsCBt4bulYyDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjY5MwotbXNnaWQgImdpdCBmc2NrIFs8b3B0aW9ucz5dIFs8b2JqZWN0Pi4uLl0iCi1tc2dzdHIgImdpdCBmc2NrIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8xJHhu5FpLXTGsOG7o25nPuKApl0iCisjOiBidWlsdGluL2ZzY2suYzo2OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgJXMgbGluayIKK21zZ3N0ciAixJBhbmcgbOG6pXkgbGnDqm4ga+G6v3QgJXMiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjY5OQorIzogYnVpbHRpbi9mc2NrLmM6Njk1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjg0MgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkICVzIgorbXNnc3RyICIlcyBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogYnVpbHRpbi9mc2NrLmM6NzAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHBvaW50cyB0byBzb21ldGhpbmcgc3RyYW5nZSAoJXMpIgorbXNnc3RyICIlcyBjaOG7iSDEkeG6v24gdGjhu6kgZ8OsIMSRw7MgeGEgbOG6oSAoJXMpIgorCisjOiBidWlsdGluL2ZzY2suYzo3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaGVkIEhFQUQgcG9pbnRzIGF0IG5vdGhpbmciCittc2dzdHIgIiVzOiBIRUFEIMSRw6MgdMOhY2ggcuG7nWkga2jDtG5nIGNo4buJIHbDoG8gxJHDonUgY+G6oyIKKworIzogYnVpbHRpbi9mc2NrLmM6NzEyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdGljZTogJXMgcG9pbnRzIHRvIGFuIHVuYm9ybiBicmFuY2ggKCVzKSIKK21zZ3N0ciAiY2jDuiDDvTogJXMgY2jhu4kgxJHhur9uIG3hu5l0IG5ow6FuaCBjaMawYSBzaW5oICglcykiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjcyNAorbXNnaWQgIkNoZWNraW5nIGNhY2hlIHRyZWUiCittc2dzdHIgIsSQYW5nIGtp4buDbSB0cmEgY8OieSBuaOG7myB04bqhbSIKKworIzogYnVpbHRpbi9mc2NrLmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHNoYTEgcG9pbnRlciBpbiBjYWNoZS10cmVlIgorbXNnc3RyICIlczogY29uIHRy4buPIHNoYTEga2jDtG5nIGjhu6NwIGzhu4cgdHJvbmcgY2FjaGUtdHJlZSIKKworIzogYnVpbHRpbi9mc2NrLmM6NzM4Cittc2dpZCAibm9uLXRyZWUgaW4gY2FjaGUtdHJlZSIKK21zZ3N0ciAibm9uLXRyZWUgdHJvbmcgY2FjaGUtdHJlZSIKKworIzogYnVpbHRpbi9mc2NrLmM6NzY5Cittc2dpZCAiZ2l0IGZzY2sgWzxvcHRpb25zPl0gWzxvYmplY3Q+Li4uXSIKK21zZ3N0ciAiZ2l0IGZzY2sgWzxjw6FjIHTDuXkgY2jhu41uPl0gWzzEkeG7kWktdMaw4bujbmc+4oCmXSIKKworIzogYnVpbHRpbi9mc2NrLmM6Nzc1CiBtc2dpZCAic2hvdyB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyDEkeG7kWkgdMaw4bujbmcga2jDtG5nIHRo4buDIMSR4buNYyDEkcaw4bujYyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzAwCisjOiBidWlsdGluL2ZzY2suYzo3NzYKIG1zZ2lkICJzaG93IGRhbmdsaW5nIG9iamVjdHMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgxJHGsOG7o2MgcXXhuqNuIGzDvSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzAxCisjOiBidWlsdGluL2ZzY2suYzo3NzcKIG1zZ2lkICJyZXBvcnQgdGFncyIKIG1zZ3N0ciAiYsOhbyBjw6FvIGPDoWMgdGjhursiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwMgorIzogYnVpbHRpbi9mc2NrLmM6Nzc4CiBtc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCiBtc2dzdHIgImLDoW8gY8OhbyBub2RlIGfhu5FjIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDMKKyM6IGJ1aWx0aW4vZnNjay5jOjc3OQogbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgogbXNnc3RyICJ04bqhbyDigJxpbmRleCBvYmplY3RzIGhlYWQgbm9kZXPigJ0iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwNAorIzogYnVpbHRpbi9mc2NrLmM6NzgwCiBtc2dpZCAibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIgogbXNnc3RyICJ04bqhbyDigJxyZWZsb2dzIGhlYWQgbm9kZXPigJ0gKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDUKKyM6IGJ1aWx0aW4vZnNjay5jOjc4MQogbXNnaWQgImFsc28gY29uc2lkZXIgcGFja3MgYW5kIGFsdGVybmF0ZSBvYmplY3RzIgogbXNnc3RyICJjxaluZyBjw6JuIG5o4bqvYyDEkeG6v24gY8OhYyDEkeG7kWkgdMaw4bujbmcgZ8OzaSB2w6AgdGhheSB0aOG6vyIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzA2CisjOiBidWlsdGluL2ZzY2suYzo3ODIKIG1zZ2lkICJjaGVjayBvbmx5IGNvbm5lY3Rpdml0eSIKIG1zZ3N0ciAiY2jhu4kga2nhu4NtIHRyYSBr4bq/dCBu4buRaSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzA3CisjOiBidWlsdGluL2ZzY2suYzo3ODMKIG1zZ2lkICJlbmFibGUgbW9yZSBzdHJpY3QgY2hlY2tpbmciCiBtc2dzdHIgImNobyBwaMOpcCBraeG7g20gdHJhIGjhuqFuIGNo4bq/IGjGoW4iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwOQorIzogYnVpbHRpbi9mc2NrLmM6Nzg1CiBtc2dpZCAid3JpdGUgZGFuZ2xpbmcgb2JqZWN0cyBpbiAuZ2l0L2xvc3QtZm91bmQiCiBtc2dzdHIgImdoaSBjw6FjIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgxJHGsOG7o2MgcXXhuqNuIGzDvSB0cm9uZyAuZ2l0L2xvc3QtZm91bmQiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcxMCBidWlsdGluL3BydW5lLmM6MTEwCisjOiBidWlsdGluL2ZzY2suYzo3ODYgYnVpbHRpbi9wcnVuZS5jOjEzMgogbXNnaWQgInNob3cgcHJvZ3Jlc3MiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBxdcOhIHRyw6xuaCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzExCisjOiBidWlsdGluL2ZzY2suYzo3ODcKIG1zZ2lkICJzaG93IHZlcmJvc2UgbmFtZXMgZm9yIHJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgdMOqbiBjaGkgdGnhur90IGNobyBjw6FjIMSR4buRaSB0xrDhu6NuZyDEkeG7jWMgxJHGsOG7o2MiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjc3NgorIzogYnVpbHRpbi9mc2NrLmM6ODQ2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIyNQogbXNnaWQgIkNoZWNraW5nIG9iamVjdHMiCiBtc2dzdHIgIsSQYW5nIGtp4buDbSB0cmEgY8OhYyDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vZ2MuYzozNAorIzogYnVpbHRpbi9mc2NrLmM6ODc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgbWlzc2luZyIKK21zZ3N0ciAiJXM6IHRoaeG6v3UgxJHhu5FpIHTGsOG7o25nIgorCisjOiBidWlsdGluL2ZzY2suYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXI6IGV4cGVjdGVkIHNoYTEsIGdvdCAnJXMnIgorbXNnc3RyICJ0aGFtIHPhu5Ega2jDtG5nIGjhu6NwIGzhu4c6IGPhuqduIHNoYTEsIG5oxrBuZyBs4bqhaSBuaOG6rW4gxJHGsOG7o2Mg4oCcJXPigJ0iCisKKyM6IGJ1aWx0aW4vZ2MuYzozNQogbXNnaWQgImdpdCBnYyBbPG9wdGlvbnM+XSIKLW1zZ3N0ciAiZ2l0IGdjIFs8Y8OhYy10w7l5LWNo4buNbj5dIgorbXNnc3RyICJnaXQgZ2MgWzxjw6FjIHTDuXkgY2jhu41uPl0iCiAKICM6IGJ1aWx0aW4vZ2MuYzo5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gZnN0YXQgJXM6ICVzIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgbOG6pXkgdGjDtG5nIHRpbiB0aOG7kW5nIGvDqiB24buBIHThuq1wIHRpbiAlczogJXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0NjEgYnVpbHRpbi9pbml0LWRiLmM6NTUKKyM6IGJ1aWx0aW4vZ2MuYzoxMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICclcycgdmFsdWUgJyVzJyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIOKAnCVz4oCdIGdpw6EgdHLhu4sg4oCcJXPigJ0iCisKKyM6IGJ1aWx0aW4vZ2MuYzo0NzUgYnVpbHRpbi9pbml0LWRiLmM6NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRow7RuZyB0aW4gdGjhu5FuZyBrw6ogduG7gSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9nYy5jOjQ3MCBidWlsdGluL25vdGVzLmM6MjQwIGJ1aWx0aW4vdGFnLmM6NTEwCisjOiBidWlsdGluL2djLmM6NDg0IGJ1aWx0aW4vbm90ZXMuYzoyNDAgYnVpbHRpbi90YWcuYzo1MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9nYy5jOjQ3NworIzogYnVpbHRpbi9nYy5jOjQ5MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGxhc3QgZ2MgcnVuIHJlcG9ydGVkIHRoZSBmb2xsb3dpbmcuIFBsZWFzZSBjb3JyZWN0IHRoZSByb290IGNhdXNlXG4iCkBAIC0xMTMwMyw1NCArMTQwMzMsNTQgQEAKICJcbiIKICIlcyIKIAotIzogYnVpbHRpbi9nYy5jOjUxOQorIzogYnVpbHRpbi9nYy5jOjUzOQogbXNnaWQgInBydW5lIHVucmVmZXJlbmNlZCBvYmplY3RzIgogbXNnc3RyICJ4w7NhIGLhu48gY8OhYyDEkeG7kWkgdMaw4bujbmcga2jDtG5nIMSRxrDhu6NjIHRoYW0gY2hp4bq/dSIKIAotIzogYnVpbHRpbi9nYy5jOjUyMQorIzogYnVpbHRpbi9nYy5jOjU0MQogbXNnaWQgImJlIG1vcmUgdGhvcm91Z2ggKGluY3JlYXNlZCBydW50aW1lKSIKIG1zZ3N0ciAiY+G6qW4gdGjhuq1uIGjGoW4gbuG7r2EgKHTEg25nIHRo4budaSBnaWFuIGNo4bqheSkiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MjIKKyM6IGJ1aWx0aW4vZ2MuYzo1NDIKIG1zZ2lkICJlbmFibGUgYXV0by1nYyBtb2RlIgogbXNnc3RyICJi4bqtdCBjaOG6vyDEkeG7mSBhdXRvLWdjIgogCi0jOiBidWlsdGluL2djLmM6NTI1CisjOiBidWlsdGluL2djLmM6NTQ1CiBtc2dpZCAiZm9yY2UgcnVubmluZyBnYyBldmVuIGlmIHRoZXJlIG1heSBiZSBhbm90aGVyIGdjIHJ1bm5pbmciCiBtc2dzdHIgImJ14buZYyBnYyBjaOG6oXkgbmdheSBj4bqjIGtoaSBjw7MgdGnhur9uIHRyw6xuaCBnYyBraMOhYyDEkWFuZyBjaOG6oXkiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1MjgKKyM6IGJ1aWx0aW4vZ2MuYzo1NDgKIG1zZ2lkICJyZXBhY2sgYWxsIG90aGVyIHBhY2tzIGV4Y2VwdCB0aGUgbGFyZ2VzdCBwYWNrIgogbXNnc3RyICLEkcOzbmcgZ8OzaSBs4bqhaSB04bqldCBj4bqjIGPDoWMgZ8OzaSBraMOhYyBuZ2/huqFpIHRy4burIGfDs2kgbOG7m24gbmjhuqV0IgogCi0jOiBidWlsdGluL2djLmM6NTQ1CisjOiBidWlsdGluL2djLmM6NTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnYy5sb2dleHBpcnkgdmFsdWUgJXMiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBnacOhIHRy4buLIGdjLmxvZ2V4cGlyeSAlcyIKIAotIzogYnVpbHRpbi9nYy5jOjU1NgorIzogYnVpbHRpbi9nYy5jOjU3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJ1bmUgZXhwaXJ5IHZhbHVlICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggZ2nDoSB0cuG7iyBwcnVuZSAlcyIKIAotIzogYnVpbHRpbi9nYy5jOjU3NgorIzogYnVpbHRpbi9nYy5jOjU5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgaW4gYmFja2dyb3VuZCBmb3Igb3B0aW11bSBwZXJmb3JtYW5jZS5cbiIKIG1zZ3N0ciAiIgogIlThu7EgxJHhu5luZyDEkcOzbmcgZ8OzaSBraG8gY2jhu6lhIHRyw6puIG7hu4FuIGjhu4cgdGjhu5FuZyDEkeG7gyB04buRaSDGsHUgaMOzYSBoaeG7h3Ugc3XhuqV0IGzDoG0gIgogInZp4buHYy5cbiIKIAotIzogYnVpbHRpbi9nYy5jOjU3OAorIzogYnVpbHRpbi9nYy5jOjU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCiBtc2dzdHIgIlThu7EgxJHhu5luZyDEkcOzbmcgZ8OzaSBraG8gY2jhu6lhIMSR4buDIHThu5FpIMawdSBow7NhIGhp4buHdSBzdeG6pXQgbMOgbSB2aeG7h2MuXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo1NzkKKyM6IGJ1aWx0aW4vZ2MuYzo1OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VlIFwiZ2l0IGhlbHAgZ2NcIiBmb3IgbWFudWFsIGhvdXNla2VlcGluZy5cbiIKIG1zZ3N0ciAiWGVtIFwiZ2l0IGhlbHAgZ2NcIiDEkeG7gyBjw7MgaMaw4bubbmcgZOG6q24gY+G7pSB0aOG7gyB24buBIGPDoWNoIGThu41uIGThurlwIGtobyBnaXQuXG4iCiAKLSM6IGJ1aWx0aW4vZ2MuYzo2MTkKKyM6IGJ1aWx0aW4vZ2MuYzo2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImdjIGlzIGFscmVhZHkgcnVubmluZyBvbiBtYWNoaW5lICclcycgcGlkICU8UFJJdU1BWD4gKHVzZSAtLWZvcmNlIGlmIG5vdCkiCkBAIC0xMTM1OCwyMyArMTQwODgsMjMgQEAKICJnYyDEkWFuZyDEkcaw4bujYyB0aOG7sWMgaGnhu4duIHRyw6puIG3DoXkg4oCcJXPigJ0gcGlkICU8UFJJdU1BWD4gKGTDuW5nIC0tZm9yY2UgbuG6v3Uga2jDtG5nICIKICJwaOG6o2kgdGjhur8pIgogCi0jOiBidWlsdGluL2djLmM6NjcwCisjOiBidWlsdGluL2djLmM6Njk0CiBtc2dpZCAiIgogIlRoZXJlIGFyZSB0b28gbWFueSB1bnJlYWNoYWJsZSBsb29zZSBvYmplY3RzOyBydW4gJ2dpdCBwcnVuZScgdG8gcmVtb3ZlIHRoZW0uIgogbXNnc3RyICIiCiAiQ8OzIHF1w6Egbmhp4buBdSDEkeG7kWkgdMaw4bujbmcgdOG7sSBkbyBraMO0bmcgxJHGsOG7o2MgZMO5bmcgxJHhur9uOyBow6N5IGNo4bqheSBs4buHbmgg4oCcZ2l0IHBydW5l4oCdICIKICLEkeG7gyB4w7NhIGLhu48gY2jDum5nIMSRaS4iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI4CisjOiBidWlsdGluL2dyZXAuYzoyOQogbXNnaWQgImdpdCBncmVwIFs8b3B0aW9ucz5dIFstZV0gPHBhdHRlcm4+IFs8cmV2Pi4uLl0gW1stLV0gPHBhdGg+Li4uXSIKLW1zZ3N0ciAiZ2l0IGdyZXAgWzxjw6FjLXTDuXktY2jhu41uPl0gWy1lXSA8beG6q3U+IFs8cmV2PuKApl0gW1stLV0gPMSRxrDhu51uZy1k4bqrbj7igKZdIgorbXNnc3RyICJnaXQgZ3JlcCBbPGPDoWMgdMO5eSBjaOG7jW4+XSBbLWVdIDxt4bqrdT4gWzxyZXY+4oCmXSBbWy0tXSA8L8SRxrDhu51uZy9k4bqrbj7igKZdIgogCi0jOiBidWlsdGluL2dyZXAuYzoyMjQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJncmVwOiBmYWlsZWQgdG8gY3JlYXRlIHRocmVhZDogJXMiCiBtc2dzdHIgImdyZXA6IGfhurdwIGzhu5dpIHThuqFvIHR1eeG6v24gKHRocmVhZCk6ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzoyNzgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIGZvciAlcyIKIG1zZ3N0ciAic+G7kSB0dXnhur9uIMSRw6MgY2hvIGtow7RuZyBo4bujcCBs4buHICglZCkgY2hvICVzIgpAQCAtMTEzODMsMjYzICsxNDExMywyNjMgQEAKICMuIHZhcmlhYmxlIGZvciB0d2Vha2luZyB0aHJlYWRzLCBjdXJyZW50bHkKICMuIGdyZXAudGhyZWFkcwogIy4KLSM6IGJ1aWx0aW4vZ3JlcC5jOjI4NiBidWlsdGluL2luZGV4LXBhY2suYzoxNTA2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2OTcKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcxOQorIzogYnVpbHRpbi9ncmVwLmM6Mjg3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MzQgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgJXMiCiBtc2dzdHIgImtow7RuZyBo4buXIHRy4bujIMSRYSB0dXnhur9uLCBi4buPIHF1YSAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NDU4IGJ1aWx0aW4vZ3JlcC5jOjU3OSBidWlsdGluL2dyZXAuYzo2MjAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjQ2NyBidWlsdGluL2dyZXAuYzo1OTIgYnVpbHRpbi9ncmVwLmM6NjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHRyZWUgKCVzKSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBjw6J5ICglcykiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjYzNQorIzogYnVpbHRpbi9ncmVwLmM6NjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBncmVwIGZyb20gb2JqZWN0IG9mIHR5cGUgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIGzhu4duaCBncmVwIChs4buNYyB0w6xtKSB04burIMSR4buRaSB0xrDhu6NuZyB0aHXhu5ljIGtp4buDdSAlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6NzAxCisjOiBidWlsdGluL2dyZXAuYzo3MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3dpdGNoIGAlYycgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKIG1zZ3N0ciAiY2h1eeG7g24gxJHhur9uIOKAnCVj4oCdIGPhuqduIG3hu5l0IGdpw6EgdHLhu4sgYuG6sW5nIHPhu5EiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgwMAorIzogYnVpbHRpbi9ncmVwLmM6ODE1CiBtc2dpZCAic2VhcmNoIGluIGluZGV4IGluc3RlYWQgb2YgaW4gdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAidMOsbSB0cm9uZyBi4bqjbmcgbeG7pWMgbOG7pWMgdGhheSB2w6wgdHJvbmcgY8OieSBsw6BtIHZp4buHYyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODAyCisjOiBidWlsdGluL2dyZXAuYzo4MTcKIG1zZ2lkICJmaW5kIGluIGNvbnRlbnRzIG5vdCBtYW5hZ2VkIGJ5IGdpdCIKIG1zZ3N0ciAidMOsbSB0cm9uZyBu4buZaSBkdW5nIGtow7RuZyDEkcaw4bujYyBxdeG6o24gbMO9IGLhu59pIGdpdCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODA0CisjOiBidWlsdGluL2dyZXAuYzo4MTkKIG1zZ2lkICJzZWFyY2ggaW4gYm90aCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCiBtc2dzdHIgInTDrG0ga2nhur9tIGPDoWMgdOG6rXAgdGluIMSRxrDhu6NjIHbDoCBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkgZOG6pXUgduG6v3QiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgwNgorIzogYnVpbHRpbi9ncmVwLmM6ODIxCiBtc2dpZCAiaWdub3JlIGZpbGVzIHNwZWNpZmllZCB2aWEgJy5naXRpZ25vcmUnIgogbXNnc3RyICJjw6FjIHThuq1wIHRpbiBi4buLIGLhu48gcXVhIMSRxrDhu6NjIGNo4buJIMSR4buLbmggdGjDtG5nIHF1YSDigJwuZ2l0aWdub3Jl4oCdIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDgKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyMwogbXNnaWQgInJlY3Vyc2l2ZWx5IHNlYXJjaCBpbiBlYWNoIHN1Ym1vZHVsZSIKIG1zZ3N0ciAidMOsbSBraeG6v20gxJHhu4cgcXV5IHRyb25nIHThu6tuZyBtw7QtxJF1bi1jb24iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxMQorIzogYnVpbHRpbi9ncmVwLmM6ODI2CiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBuaOG7r25nIGTDsm5nIGtow7RuZyBraOG7m3AgduG7m2kgbeG6q3UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxMworIzogYnVpbHRpbi9ncmVwLmM6ODI4CiBtc2dpZCAiY2FzZSBpbnNlbnNpdGl2ZSBtYXRjaGluZyIKIG1zZ3N0ciAicGjDom4gYmnhu4d0IEhPQS90aMaw4budbmciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxNQorIzogYnVpbHRpbi9ncmVwLmM6ODMwCiBtc2dpZCAibWF0Y2ggcGF0dGVybnMgb25seSBhdCB3b3JkIGJvdW5kYXJpZXMiCiBtc2dzdHIgImNo4buJIGto4bubcCBt4bqrdSB04bqhaSDEkcaw4budbmcgcmFuaCBnaeG7m2kgdOG7qyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODE3CisjOiBidWlsdGluL2dyZXAuYzo4MzIKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyB0ZXh0IgogbXNnc3RyICJ44butIGzDvSB04bqtcCB0aW4gbmjhu4sgcGjDom4gbmjGsCBsw6AgZOG6oW5nIHbEg24gYuG6o24gdGjGsOG7nW5nIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzNAogbXNnaWQgImRvbid0IG1hdGNoIHBhdHRlcm5zIGluIGJpbmFyeSBmaWxlcyIKIG1zZ3N0ciAia2jDtG5nIGto4bubcCBt4bqrdSB0cm9uZyBjw6FjIHThuq1wIHRpbiBuaOG7iyBwaMOibiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODIyCisjOiBidWlsdGluL2dyZXAuYzo4MzcKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyB3aXRoIHRleHRjb252IGZpbHRlcnMiCiBtc2dzdHIgInjhu60gbMO9IHThuq1wIHRpbiBuaOG7iyBwaMOibiB24bubaSBjw6FjIGLhu5kgbOG7jWMg4oCcdGV4dGNvbnbigJ0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgyNAorIzogYnVpbHRpbi9ncmVwLmM6ODM5CiBtc2dpZCAic2VhcmNoIGluIHN1YmRpcmVjdG9yaWVzIChkZWZhdWx0KSIKIG1zZ3N0ciAidMOsbSBraeG6v20gdHJvbmcgdGjGsCBt4bulYyBjb24gKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MjYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0MQogbXNnaWQgImRlc2NlbmQgYXQgbW9zdCA8ZGVwdGg+IGxldmVscyIKIG1zZ3N0ciAiaOG6oSB4deG7kW5nIMOtdCBuaOG6pXQgbMOgIG3hu6ljIDxzw6J1PiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODMwCisjOiBidWlsdGluL2dyZXAuYzo4NDUKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAiZMO5bmcgYmnhu4N1IHRo4bupYyBjaMOtbmggcXVpIFBPU0lYIGPDsyBt4bufIHLhu5luZyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODMzCisjOiBidWlsdGluL2dyZXAuYzo4NDgKIG1zZ2lkICJ1c2UgYmFzaWMgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyAoZGVmYXVsdCkiCiBtc2dzdHIgInPhu60gZOG7pW5nIGJp4buDdSB0aOG7qWMgY2jDrW5oIHF1eSBraeG7g3UgUE9TSVggKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MzYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1MQogbXNnaWQgImludGVycHJldCBwYXR0ZXJucyBhcyBmaXhlZCBzdHJpbmdzIgogbXNnc3RyICJkaeG7hW4gZOG7i2NoIGPDoWMgbeG6q3UgbmjGsCBsw6AgY2h14buXaSBj4buRIMSR4buLbmgiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgzOQorIzogYnVpbHRpbi9ncmVwLmM6ODU0CiBtc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgogbXNnc3RyICJz4butIGThu6VuZyBiaeG7g3UgdGjhu6ljIGNow61uaCBxdXkgdMawxqFuZyB0aMOtY2ggUGVybCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQyCisjOiBidWlsdGluL2dyZXAuYzo4NTcKIG1zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHPhu5EgY+G7p2EgZMOybmciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0MworIzogYnVpbHRpbi9ncmVwLmM6ODU4CiBtc2dpZCAic2hvdyBjb2x1bW4gbnVtYmVyIG9mIGZpcnN0IG1hdGNoIgogbXNnc3RyICJoaeG7g24gdGjhu4sgc+G7kSBj4buZdCBj4bunYSBraOG7m3AgduG7m2kgbeG6q3UgxJHhuqd1IHRpw6puIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1OQogbXNnaWQgImRvbid0IHNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJraMO0bmcgaGnhu4NuIHRo4buLIHTDqm4gdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2MAogbXNnaWQgInNob3cgZmlsZW5hbWVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB0w6puIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ3CisjOiBidWlsdGluL2dyZXAuYzo4NjIKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICJoaeG7g24gdGjhu4sgdMOqbiB04bqtcCB0aW4gdMawxqFuZyDEkeG7kWkgduG7m2kgdGjGsCBt4bulYyDEkeG7iW5oICh0b3ApIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2NAogbXNnaWQgInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIHTDqm4gdOG6rXAgdGluIHRoYXkgdsOsIG5o4buvbmcgZMOybmcga2jhu5twIHbhu5tpIG3huqt1IgogCi0jOiBidWlsdGluL2dyZXAuYzo4NTEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2NgogbXNnaWQgInN5bm9ueW0gZm9yIC0tZmlsZXMtd2l0aC1tYXRjaGVzIgogbXNnc3RyICLEkeG7k25nIG5naMSpYSB24bubaSAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODU0CisjOiBidWlsdGluL2dyZXAuYzo4NjkKIG1zZ2lkICJzaG93IG9ubHkgdGhlIG5hbWVzIG9mIGZpbGVzIHdpdGhvdXQgbWF0Y2giCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyB0w6puIGNobyBuaOG7r25nIHThuq1wIHRpbiBraMO0bmcga2jhu5twIHbhu5tpIG3huqt1IgogCi0jOiBidWlsdGluL2dyZXAuYzo4NTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3MQogbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCiBtc2dzdHIgInRow6ptIE5VTCB2w6BvIHNhdSB0w6puIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODU5CisjOiBidWlsdGluL2dyZXAuYzo4NzQKIG1zZ2lkICJzaG93IG9ubHkgbWF0Y2hpbmcgcGFydHMgb2YgYSBsaW5lIgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgbmjhu69uZyBwaOG6p24ga2jhu5twIHbhu5tpIG3huqt1IGPhu6dhIG3hu5l0IGTDsm5nIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NgogbXNnaWQgInNob3cgdGhlIG51bWJlciBvZiBtYXRjaGVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBz4buRIGzGsOG7o25nIGto4bubcCB0aGF5IHbDrCBuaOG7r25nIGTDsm5nIGto4bubcCB24bubaSBt4bqrdSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODYyCisjOiBidWlsdGluL2dyZXAuYzo4NzcKIG1zZ2lkICJoaWdobGlnaHQgbWF0Y2hlcyIKIG1zZ3N0ciAidMO0IHPDoW5nIHBo4bqnbiBraOG7m3AgbeG6q3UiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2NAorIzogYnVpbHRpbi9ncmVwLmM6ODc5CiBtc2dpZCAicHJpbnQgZW1wdHkgbGluZSBiZXR3ZWVuIG1hdGNoZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBkw7JuZyB0cuG7kW5nIGdp4buvYSBjw6FjIGzhuqduIGto4bubcCB04burIGPDoWMgdOG6rXAgdGluIGtow6FjIGJp4buHdCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODY2CisjOiBidWlsdGluL2dyZXAuYzo4ODEKIG1zZ2lkICJzaG93IGZpbGVuYW1lIG9ubHkgb25jZSBhYm92ZSBtYXRjaGVzIGZyb20gc2FtZSBmaWxlIgogbXNnc3RyICIiCiAiaGnhu4NuIHRo4buLIHTDqm4gdOG6rXAgdGluIG3hu5l0IGzhuqduIHBow61hIHRyw6puIGPDoWMgbOG6p24ga2jhu5twIHThu6sgY8O5bmcgbeG7mXQgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg4NAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgPG4+IGTDsm5nIG7hu5lpIGR1bmcgcGjDrWEgdHLGsOG7m2MgdsOgIHNhdSBjw6FjIGzhuqduIGto4bubcCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODcyCisjOiBidWlsdGluL2dyZXAuYzo4ODcKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgPG4+IGTDsm5nIG7hu5lpIGR1bmcgdHLGsOG7m2Mga2jhu5twIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NzQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg4OQogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYWZ0ZXIgbWF0Y2hlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIDxuPiBkw7JuZyBu4buZaSBkdW5nIHNhdSBraOG7m3AiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg3NgorIzogYnVpbHRpbi9ncmVwLmM6ODkxCiBtc2dpZCAidXNlIDxuPiB3b3JrZXIgdGhyZWFkcyIKIG1zZ3N0ciAiZMO5bmcgPG4+IHR1eeG6v24gdHLDrG5oIGzDoG0gdmnhu4djIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5MgogbXNnaWQgInNob3J0Y3V0IGZvciAtQyBOVU0iCiBtc2dzdHIgImThuqFuZyB2aeG6v3QgdOG6r3QgY+G7p2EgLUMgU+G7kCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODgwCisjOiBidWlsdGluL2dyZXAuYzo4OTUKIG1zZ2lkICJzaG93IGEgbGluZSB3aXRoIHRoZSBmdW5jdGlvbiBuYW1lIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgZMOybmcgdsOzaSB0w6puIGjDoG0gdHLGsOG7m2MgY8OhYyBs4bqnbiBraOG7m3AiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4MgorIzogYnVpbHRpbi9ncmVwLmM6ODk3CiBtc2dpZCAic2hvdyB0aGUgc3Vycm91bmRpbmcgZnVuY3Rpb24iCiBtc2dzdHIgImhp4buDbiB0aOG7iyBow6BtIGJhbyBxdWFuaCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg1CisjOiBidWlsdGluL2dyZXAuYzo5MDAKIG1zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKIG1zZ3N0ciAixJHhu41jIG3huqt1IHThu6sgdOG6rXAtdGluIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkwMgogbXNnaWQgIm1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAibWF0Y2ggPG3huqt1PiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg5CisjOiBidWlsdGluL2dyZXAuYzo5MDQKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICJ04buVIGjhu6NwIG3huqt1IMSRxrDhu6NjIGNo4buJIHJhIHbhu5tpIHTDuXkgY2jhu41uIC1lIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxNgogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICLEkcawYSByYSBn4bujaSDDvSB24bubaSB0cuG6oW5nIHRow6FpIHRob8OhdCBtw6Aga2jDtG5nIGPDsyBr4bq/dCB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwMworIzogYnVpbHRpbi9ncmVwLmM6OTE4CiBtc2dpZCAic2hvdyBvbmx5IG1hdGNoZXMgZnJvbSBmaWxlcyB0aGF0IG1hdGNoIGFsbCBwYXR0ZXJucyIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgY8OhaSBraOG7m3AgdOG7qyB04bqtcCB0aW4gbcOgIG7DsyBraOG7m3AgdG/DoG4gYuG7mSBjw6FjIG3huqt1IgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkyMAogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OieSBwaMOibiB0w61jaCBjw7ogcGjDoXAgY2hvIGJp4buDdSB0aOG7qWMg4oCcZ3JlcOKAnSAodMOsbSBraeG6v20pIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkyNAogbXNnaWQgInBhZ2VyIgogbXNnc3RyICJkw6BuIHRyYW5nIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkyNAogbXNnaWQgInNob3cgbWF0Y2hpbmcgZmlsZXMgaW4gdGhlIHBhZ2VyIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4ga2jhu5twIHRyb25nIHRyYW5nIGdp4bqleSIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTEzCisjOiBidWlsdGluL2dyZXAuYzo5MjgKIG1zZ2lkICJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiCiBtc2dzdHIgImNobyBwaMOpcCBn4buNaSBncmVwKDEpIChi4buLIGLhu48gcXVhIGLhu59pIGzhuqduIGThu4tjaCBuw6B5KSIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTc3CisjOiBidWlsdGluL2dyZXAuYzo5OTIKIG1zZ2lkICJubyBwYXR0ZXJuIGdpdmVuIgogbXNnc3RyICJjaMawYSBjaOG7iSByYSBt4bqrdSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAxMworIzogYnVpbHRpbi9ncmVwLmM6MTAyOAogbXNnaWQgIi0tbm8taW5kZXggb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCByZXZzIgogbXNnc3RyICItLW5vLWluZGV4IGhheSAtLXVudHJhY2tlZCBraMO0bmcgxJHGsOG7o2Mgc+G7rSBk4bulbmcgY8O5bmcgduG7m2kgcmV2cyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyMAorIzogYnVpbHRpbi9ncmVwLmM6MTAzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSByZXZpc2lvbjogJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiBnaeG6o2kgxJFp4buDbSB4w6l0IGR1eeG7h3Q6ICVzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDUxCisjOiBidWlsdGluL2dyZXAuYzoxMDY3CiBtc2dpZCAiaW52YWxpZCBvcHRpb24gY29tYmluYXRpb24sIGlnbm9yaW5nIC0tdGhyZWFkcyIKIG1zZ3N0ciAidOG7lSBo4bujcCB0w7l5IGNo4buNbiBraMO0bmcgaOG7o3AgbOG7hywgYuG7jyBxdWEgLS10aHJlYWRzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDU0IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM5NworIzogYnVpbHRpbi9ncmVwLmM6MTA3MCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDAKIG1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nIC0tdGhyZWFkcyIKIG1zZ3N0ciAia2jDtG5nIGjhu5cgdHLhu6MgxJFhIHR1eeG6v24sIGLhu48gcXVhIC0tdGhyZWFkcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1NyBidWlsdGluL2luZGV4LXBhY2suYzoxNTAzIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcxNgorIzogYnVpbHRpbi9ncmVwLmM6MTA3MyBidWlsdGluL2luZGV4LXBhY2suYzoxNTMxIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiB0aHJlYWRzIHNwZWNpZmllZCAoJWQpIgogbXNnc3RyICJz4buRIHR1eeG6v24gY2jhu4kgcmEga2jDtG5nIGjhu6NwIGzhu4cgKCVkKSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA4MAorIzogYnVpbHRpbi9ncmVwLmM6MTA5NgogbXNnaWQgIi0tb3Blbi1maWxlcy1pbi1wYWdlciBvbmx5IHdvcmtzIG9uIHRoZSB3b3JrdHJlZSIKIG1zZ3N0ciAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIGNo4buJIGzDoG0gdmnhu4djIHRyw6puIGPDonktbMOgbS12aeG7h2MiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExMDMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMTkKIG1zZ2lkICJvcHRpb24gbm90IHN1cHBvcnRlZCB3aXRoIC0tcmVjdXJzZS1zdWJtb2R1bGVzIgogbXNnc3RyICJ0w7l5IGNo4buNbiBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyB24bubaSAtLXJlY3Vyc2Utc3VibW9kdWxlcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTEwOQorIzogYnVpbHRpbi9ncmVwLmM6MTEyNQogbXNnaWQgIi0tY2FjaGVkIG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggLS1uby1pbmRleCIKIG1zZ3N0ciAiLS1jYWNoZWQgaGF5IC0tdW50cmFja2VkIGtow7RuZyDEkcaw4bujYyBz4butIGThu6VuZyB24bubaSAtLW5vLWluZGV4IgogCi0jOiBidWlsdGluL2dyZXAuYzoxMTE1CisjOiBidWlsdGluL2dyZXAuYzoxMTMxCiBtc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMiCiBtc2dzdHIgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGtow7RuZyB0aOG7gyBz4butIGThu6VuZyBjaG8gbuG7mWkgZHVuZyBsxrB1IGThuqV1IHbhur90IgogCi0jOiBidWlsdGluL2dyZXAuYzoxMTIzCisjOiBidWlsdGluL2dyZXAuYzoxMTM5CiBtc2dpZCAiYm90aCAtLWNhY2hlZCBhbmQgdHJlZXMgYXJlIGdpdmVuIgogbXNnc3RyICJj4bqjIGhhaSAtLWNhY2hlZCB2w6AgY8OhYyBjw6J5IHBo4bqjaSDEkcaw4bujYyBjaOG7iSByYSIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjg0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODUKIG1zZ2lkICIiCiAiZ2l0IGhhc2gtb2JqZWN0IFstdCA8dHlwZT5dIFstd10gWy0tcGF0aD08ZmlsZT4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCiAiWy0tXSA8ZmlsZT4uLi4iCkBAIC0xMTY0NywzNiArMTQzNzcsMzIgQEAKICJnaXQgaGFzaC1vYmplY3QgWy10IDxraeG7g3U+XSBbLXddIFstLXBhdGg9PHThuq1wLXRpbj4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCiAiWy0tXSA8dOG6rXAtdGluPuKApiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjg1CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODYKIG1zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiBtc2dzdHIgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk3Ci1tc2dpZCAidHlwZSIKLW1zZ3N0ciAia2nhu4N1IgotCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTcKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAogbXNnaWQgIm9iamVjdCB0eXBlIgogbXNnc3RyICJraeG7g3UgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OQogbXNnaWQgIndyaXRlIHRoZSBvYmplY3QgaW50byB0aGUgb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICJnaGkgxJHhu5FpIHTGsOG7o25nIHbDoG8gZOG7ryBsaeG7h3UgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAwCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAxCiBtc2dpZCAicmVhZCB0aGUgb2JqZWN0IGZyb20gc3RkaW4iCiBtc2dzdHIgIsSR4buNYyDEkeG7kWkgdMaw4bujbmcgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIHN0ZGluIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAyCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAzCiBtc2dpZCAic3RvcmUgZmlsZSBhcyBpcyB3aXRob3V0IGZpbHRlcnMiCiBtc2dzdHIgImzGsHUgY8OhYyB04bqtcCB0aW4gbcOgIG7DsyBraMO0bmcgY8OzIGPDoWMgYuG7mSBs4buNYyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwNAogbXNnaWQgIiIKICJqdXN0IGhhc2ggYW55IHJhbmRvbSBnYXJiYWdlIHRvIGNyZWF0ZSBjb3JydXB0IG9iamVjdHMgZm9yIGRlYnVnZ2luZyBHaXQiCiBtc2dzdHIgImNo4buJIGPhuqduIGLEg20gcsOhYyBuZ+G6q3Ugbmhpw6puIMSR4buDIHThuqFvIG3hu5l0IMSR4buRaSB0xrDhu6NuZyBo4buPbmcgxJHhu4MgbcOgIGfhu6EgbOG7l2kgR2l0IgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA1CiBtc2dpZCAicHJvY2VzcyBmaWxlIGFzIGl0IHdlcmUgZnJvbSB0aGlzIHBhdGgiCiBtc2dzdHIgInjhu60gbMO9IHThuq1wIHRpbiBuaMawIGzDoCBuw7MgxJFhbmcg4bufIHRoxrAgbeG7pWMgbsOgeSIKIApAQCAtMTE3MTYsMzAgKzE0NDQyLDMwIEBACiBtc2dpZCAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbW1hbmQ+XSIKIG1zZ3N0ciAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGzhu4duaD5dIgogCi0jOiBidWlsdGluL2hlbHAuYzo3MworIzogYnVpbHRpbi9oZWxwLmM6NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGhlbHAgZm9ybWF0ICclcyciCiBtc2dzdHIgImtow7RuZyBuaOG6rW4gcmEgxJHhu4tuaCBk4bqhbmcgdHLhu6MgZ2nDunAg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEwMAorIzogYnVpbHRpbi9oZWxwLmM6MTA0CiBtc2dpZCAiRmFpbGVkIHRvIHN0YXJ0IGVtYWNzY2xpZW50LiIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIGto4bufaSBjaOG6oXkgZW1hY3NjbGllbnQuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMTMKKyM6IGJ1aWx0aW4vaGVscC5jOjExNwogbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbWFjc2NsaWVudCB2ZXJzaW9uLiIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIHBoacOqbiBi4bqjbiBlbWFjc2NsaWVudC4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjEyMQorIzogYnVpbHRpbi9oZWxwLmM6MTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImVtYWNzY2xpZW50IHZlcnNpb24gJyVkJyB0b28gb2xkICg8IDIyKS4iCiBtc2dzdHIgInBoacOqbiBi4bqjbiBj4bunYSBlbWFjc2NsaWVudCDigJwlZOKAnSBxdcOhIGPFqSAoPCAyMikuIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMzkgYnVpbHRpbi9oZWxwLmM6MTYxIGJ1aWx0aW4vaGVscC5jOjE3MSBidWlsdGluL2hlbHAuYzoxNzkKKyM6IGJ1aWx0aW4vaGVscC5jOjE0MyBidWlsdGluL2hlbHAuYzoxNjUgYnVpbHRpbi9oZWxwLmM6MTc1IGJ1aWx0aW4vaGVscC5jOjE4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdGjhu7FjIHRoaSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9oZWxwLmM6MjE3CisjOiBidWlsdGluL2hlbHAuYzoyMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiclcyc6IHBhdGggZm9yIHVuc3VwcG9ydGVkIG1hbiB2aWV3ZXIuXG4iCkBAIC0xMTc0OCw3ICsxNDQ3NCw3IEBACiAi4oCcJXPigJ06IMSRxrDhu51uZyBk4bqrbiBraMO0bmcgaOG7lyB0cuG7oyBi4buZIHRyw6xuaCBjaGnhur91IG1hbi5cbiIKICJIw6N5IGPDom4gbmjhuq9jIMSR4bq/biB2aeG7h2Mgc+G7rSBk4bulbmcg4oCcbWFuLjx0b29sPi5jbWTigJ0gxJHhu4MgdGhheSB0aOG6vy4iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIyOQorIzogYnVpbHRpbi9oZWxwLmM6MjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBjbWQgZm9yIHN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtMTE3NTcsMzIxICsxNDQ4MywzMTEgQEAKICLigJwlc+KAnTogY21kIChs4buHbmgpIGjhu5cgdHLhu6MgYuG7mSB0csOsbmggY2hp4bq/dSBtYW4uXG4iCiAiSMOjeSBjw6JuIG5o4bqvYyDEkeG6v24gdmnhu4djIHPhu60gZOG7pW5nIOKAnG1hbi48dG9vbD4ucGF0aOKAnSDEkeG7gyB0aGF5IHRo4bq/LiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzQ2CisjOiBidWlsdGluL2hlbHAuYzozNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogdW5rbm93biBtYW4gdmlld2VyLiIKIG1zZ3N0ciAi4oCcJXPigJ06IGtow7RuZyByw7UgY2jGsMahbmcgdHLDrG5oIHhlbSBtYW4uIgogCi0jOiBidWlsdGluL2hlbHAuYzozNjMKKyM6IGJ1aWx0aW4vaGVscC5jOjM2NwogbXNnaWQgIm5vIG1hbiB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKIG1zZ3N0ciAia2jDtG5nIGPDsyB0csOsbmggeGVtIHRy4bujIGdpw7pwIGThuqFuZyBtYW5wYWdlIHRp4bq/cCBo4bujcCB24bubaSB5w6p1IGPhuqd1IgogCi0jOiBidWlsdGluL2hlbHAuYzozNzEKKyM6IGJ1aWx0aW4vaGVscC5jOjM3NQogbXNnaWQgIm5vIGluZm8gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCiBtc2dzdHIgImtow7RuZyBjw7MgdHLDrG5oIHhlbSB0cuG7oyBnacO6cCBk4bqhbmcgaW5mbyB0aeG6v3AgaOG7o3AgduG7m2kgecOqdSBj4bqndSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDMwIGJ1aWx0aW4vaGVscC5jOjQ0MSBnaXQuYzozMjIKKyM6IGJ1aWx0aW4vaGVscC5jOjQzNCBidWlsdGluL2hlbHAuYzo0NDUgZ2l0LmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxpYXNlZCB0byAnJXMnIgogbXNnc3RyICLigJwlc+KAnSDEkcaw4bujYyDEkeG6t3QgYsOtIGRhbmggdGjDoG5oIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NDQKKyM6IGJ1aWx0aW4vaGVscC5jOjQ0OCBnaXQuYzozNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGFsaWFzLiVzIHN0cmluZzogJXMiCiBtc2dzdHIgImNodeG7l2kgYWxpYXMuJXMgc2FpOiAlcyIKIAotIzogYnVpbHRpbi9oZWxwLmM6NDczIGJ1aWx0aW4vaGVscC5jOjUwMworIzogYnVpbHRpbi9oZWxwLmM6NDc3IGJ1aWx0aW4vaGVscC5jOjUwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1c2FnZTogJXMlcyIKIG1zZ3N0ciAiY8OhY2ggZMO5bmc6ICVzJXMiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ4NworIzogYnVpbHRpbi9oZWxwLmM6NDkxCiBtc2dpZCAiJ2dpdCBoZWxwIGNvbmZpZycgZm9yIG1vcmUgaW5mb3JtYXRpb24iCiBtc2dzdHIgIkNo4bqheSBs4buHbmgg4oCcZ2l0IGhlbHAgY29uZmln4oCdIMSR4buDIGPDsyB0aMOqbSB0aMO0bmcgdGluIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxODQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgdHlwZSBtaXNtYXRjaCBhdCAlcyIKIG1zZ3N0ciAia2nhu4N1IMSR4buRaSB0xrDhu6NuZyBraMO0bmcga2jhu5twIHThuqFpICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJkaWQgbm90IHJlY2VpdmUgZXhwZWN0ZWQgb2JqZWN0ICVzIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgbOG6pXkgduG7gSDEkeG7kWkgdMaw4bujbmcgY+G6p24gJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB24buBIMSR4buRaSB0xrDhu6NuZyBj4bqnbiAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzOiBleHBlY3RlZCB0eXBlICVzLCBmb3VuZCAlcyIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nICVzOiBj4bqnbiBraeG7g3UgJXMgbmjGsG5nIGzhuqFpIG5o4bqtbiDEkcaw4bujYyAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjQ5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKIG1zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCiBtc2dzdHJbMF0gImtow7RuZyB0aOG7gyDEkWnhu4FuIHRow6ptIHbDoG8gJWQgYnl0ZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjU5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjgKIG1zZ2lkICJlYXJseSBFT0YiCiBtc2dzdHIgImfhurdwIGvhur90IHRow7pjIHThuq1wIHRpbiBFT0YgcXXDoSBz4bubbSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjYwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjkKIG1zZ2lkICJyZWFkIGVycm9yIG9uIGlucHV0IgogbXNnc3RyICJs4buXaSDEkeG7jWMg4bufIMSR4bqndSB2w6BvIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MQogbXNnaWQgInVzZWQgbW9yZSBieXRlcyB0aGFuIHdlcmUgYXZhaWxhYmxlIgogbXNnc3RyICJz4butIGThu6VuZyBuaGnhu4F1IGjGoW4gc+G7kSBsxrDhu6NuZyBieXRlIG3DoCBuw7Mgc+G6tW4gY8OzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNzkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1OTgKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4OCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjYwNAogbXNnaWQgInBhY2sgdG9vIGxhcmdlIGZvciBjdXJyZW50IGRlZmluaXRpb24gb2Ygb2ZmX3QiCiBtc2dzdHIgImfDs2kgcXXDoSBs4bubbiBzbyB24bubaSDEkeG7i25oIG5naMSpYSBoaeG7h24gdOG6oWkgY+G7p2Ega2nhu4N1IG9mZl90IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyODIgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjk0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTEgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjk1CiBtc2dpZCAicGFjayBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBzaXplIgogbXNnc3RyICJnw7NpIMSRw6Mgdsaw4bujdCBxdcOhIGPhu6EgdOG7kWkgxJFhIMSRxrDhu6NjIHBow6lwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSAnJXMnIgotbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8g4oCcJXPigJ0iCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMwMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIHBhY2tmaWxlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIHBhY2tmaWxlIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMTcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyNgogbXNnaWQgInBhY2sgc2lnbmF0dXJlIG1pc21hdGNoIgogbXNnc3RyICJjaOG7ryBrw70gY2hvIGfDs2kga2jDtG5nIGto4bubcCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayB2ZXJzaW9uICU8UFJJdTMyPiB1bnN1cHBvcnRlZCIKIG1zZ3N0ciAia2jDtG5nIGjhu5cgdHLhu6MgcGhpw6puIGLhuqNuIGfDs2kgJTxQUkl1MzI+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyBiYWQgb2JqZWN0IGF0IG9mZnNldCAlPFBSSXVNQVg+OiAlcyIKIG1zZ3N0ciAiZ8OzaSBjw7MgxJHhu5FpIHTGsOG7o25nIHNhaSB04bqhaSBraG/huqNuZyBiw7kgJTxQUkl1TUFYPjogJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjQ1NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDY2CiAjLCBjLWZvcm1hdAogbXNnaWQgImluZmxhdGUgcmV0dXJuZWQgJWQiCiBtc2dzdHIgInjhuqMgbsOpbiB0cuG6oyB24buBICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MDYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUxNQogbXNnaWQgIm9mZnNldCB2YWx1ZSBvdmVyZmxvdyBmb3IgZGVsdGEgYmFzZSBvYmplY3QiCiBtc2dzdHIgInRyw6BuIGdpw6EgdHLhu4sga2hv4bqjbmcgYsO5IGNobyDEkeG7kWkgdMaw4bujbmcgZGVsdGEgY8ahIHPhu58iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUxNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTIzCiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgaXMgb3V0IG9mIGJvdW5kIgogbXNnc3RyICJraG/huqNuZyBiw7kgY8ahIHPhu58gY2hvIGRlbHRhIG7hurFtIG5nb8OgaSBwaOG6oW0gdmkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gb2JqZWN0IHR5cGUgJWQiCiBtc2dzdHIgImtow7RuZyBoaeG7g3Uga2nhu4N1IMSR4buRaSB0xrDhu6NuZyAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTUzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NjIKIG1zZ2lkICJjYW5ub3QgcHJlYWQgcGFjayBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY2jhuqF5IGjDoG0gcHJlYWQgY2hvIHThuq1wIHRpbiBnw7NpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1NTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlIG1pc3NpbmciCiBtc2dpZF9wbHVyYWwgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGVzIG1pc3NpbmciCiBtc2dzdHJbMF0gInThuq1wIHRpbiBnw7NpIGLhu4sga+G6v3QgdGjDumMgc+G7m20sIHRoaeG6v3UgJTxQUkl1TUFYPiBieXRlIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1ODEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU5MAogbXNnaWQgInNlcmlvdXMgaW5mbGF0ZSBpbmNvbnNpc3RlbmN5IgogbXNnc3RyICJz4buxIG3DonUgdGh14bqrbiB44bqjIG7DqW4gbmdoacOqbSB0cuG7jW5nIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3MjYgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzMyIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc1NQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Nzk0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwMworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzM1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0MSBidWlsdGluL2luZGV4LXBhY2suYzo3NjQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwMyBidWlsdGluL2luZGV4LXBhY2suYzo4MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgogbXNnc3RyICJT4buwIFZBIENI4bqgTSBTSEExIMSQw4MgWOG6olkgUkEgVuG7mkkgJXMhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3MjkgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTEKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjExIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzA1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3MzggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjE3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzExCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3OTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgaW5mbyAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyB0aMO0bmcgdGluIMSR4buRaSB0xrDhu6NuZyBz4bq1biBjw7MgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwMAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGV4aXN0aW5nIG9iamVjdCAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyDEkeG7kWkgdMaw4bujbmcgxJHDoyB04buTbiB04bqhaSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBibG9iIG9iamVjdCAlcyIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIGJsb2Iga2jDtG5nIGjhu6NwIGzhu4cgJXMiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgxNyBidWlsdGluL2luZGV4LXBhY2suYzo4MzYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyNiBidWlsdGluL2luZGV4LXBhY2suYzo4NDUKIG1zZ2lkICJmc2NrIGVycm9yIGluIHBhY2tlZCBvYmplY3QiCiBtc2dzdHIgImzhu5dpIGZzY2sgdHJvbmcgxJHhu5FpIHTGsOG7o25nIMSRw7NuZyBnw7NpIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MzMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCAlcyIKLW1zZ3N0ciAiJXMga2jDtG5nIGjhu6NwIGzhu4ciCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhbGwgY2hpbGQgb2JqZWN0cyBvZiAlcyBhcmUgcmVhY2hhYmxlIgogbXNnc3RyICJLaMO0bmcgcGjhuqNpIHThuqV0IGPhuqMgY8OhYyDEkeG7kWkgdMaw4bujbmcgY29uIGPhu6dhICVzIGzDoCBjw7MgdGjhu4MgduG7m2kgdOG7m2kgxJHGsOG7o2MiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkxMCBidWlsdGluL2luZGV4LXBhY2suYzo5NDEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkxOSBidWlsdGluL2luZGV4LXBhY2suYzo5NTAKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSDDoXAgZOG7pW5nIGRlbHRhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CiBtc2dpZCAiUmVjZWl2aW5nIG9iamVjdHMiCiBtc2dzdHIgIsSQYW5nIG5o4bqtbiB24buBIGPDoWMgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKIG1zZ3N0ciAiQ8OhYyDEkeG7kWkgdMaw4bujbmcgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTUyCiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgogbXNnc3RyICJnw7NpIGLhu4sgc2FpIGjhu49uZyAoU0hBMSBraMO0bmcga2jhu5twKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE0OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NwogbXNnaWQgImNhbm5vdCBmc3RhdCBwYWNrZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRow7RuZyB0aW4gdGjhu5FuZyBrw6ogcGFja2ZpbGUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNTEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjAKIG1zZ2lkICJwYWNrIGhhcyBqdW5rIGF0IHRoZSBlbmQiCiBtc2dzdHIgInBhY2sgY8OzIHBo4bqnbiB0aOG7q2Eg4bufIGN14buRaSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE3MgogbXNnaWQgImNvbmZ1c2lvbiBiZXlvbmQgaW5zYW5pdHkgaW4gcGFyc2VfcGFja19vYmplY3RzKCkiCiBtc2dzdHIgImzhu5luIHjhu5luIGjGoW4gY+G6oyDEkWnDqm4gcuG7kyBraGkgY2jhuqF5IGjDoG0gcGFyc2VfcGFja19vYmplY3RzKCkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExODYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExOTUKIG1zZ2lkICJSZXNvbHZpbmcgZGVsdGFzIgogbXNnc3RyICLEkGFuZyBwaMOibiBnaeG6o2kgY8OhYyBkZWx0YSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE5NiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0OTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyMDUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgdGhyZWFkOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIHR1eeG6v246ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjM3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjQ2CiBtc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSIKIG1zZ3N0ciAibOG7mW4geOG7mW4gaMahbiBj4bqjIMSRacOqbiBy4buTIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY29tcGxldGVkIHdpdGggJWQgbG9jYWwgb2JqZWN0cyIKIG1zZ3N0clswXSAixJHhuqd5IMSR4bunIHbhu5tpICVkIMSR4buRaSB0xrDhu6NuZyBu4buZaSBi4buZIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuZXhwZWN0ZWQgdGFpbCBjaGVja3N1bSBmb3IgJXMgKGRpc2sgY29ycnVwdGlvbj8pIgogbXNnc3RyICJH4bq3cCB04buVbmcga2nhu4NtIHRyYSB0YWlsIGtow7RuZyBj4bqnbiBjaG8gJXMgKMSRxKlhIGjhu49uZz8pIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjU5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGEiCiBtc2dpZF9wbHVyYWwgInBhY2sgaGFzICVkIHVucmVzb2x2ZWQgZGVsdGFzIgogbXNnc3RyWzBdICJnw7NpIGPDsyAlZCBkZWx0YSBjaMawYSDEkcaw4bujYyBnaeG6o2kgcXV54bq/dCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI4MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBhcHBlbmRlZCBvYmplY3QgKCVkKSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHjhuqMgbsOpbiDEkeG7kWkgdMaw4bujbmcgbuG7kWkgdGjDqm0gKCVkKSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM2MAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTM4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2NhbCBvYmplY3QgJXMgaXMgY29ycnVwdCIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIG7hu5lpIGLhu5kgJXMgYuG7iyBo4buPbmciCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzNzQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFja2ZpbGUgbmFtZSAnJXMnIGRvZXMgbm90IGVuZCB3aXRoICcucGFjayciCiBtc2dzdHIgInTDqm4gdOG6rXAgdGluIHThuq1wIHRpbiBnw7NpIOKAnCVz4oCdIGtow7RuZyDEkcaw4bujYyBr4bq/dCB0aMO6YyBi4bqxbmcgxJF1w7RpIOKAnC5wYWNr4oCdIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzk5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCB3cml0ZSAlcyBmaWxlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgJXMgdOG6rXAgdGluIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDA3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjbG9zZSB3cml0dGVuICVzIGZpbGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSRw7NuZyB04bqtcCB0aW4gxJHGsOG7o2MgZ2hpICVzIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDMxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDU5CiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCiBtc2dzdHIgImfhurdwIGzhu5dpIHRyb25nIGtoaSDEkcOzbmcgdOG6rXAgdGluIGfDs2kiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NDUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0NzMKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgcGFjayBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbMawdSB04bqtcCB0aW4gZ8OzaSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ1MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4MQogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbMawdSB0cuG7ryB04bqtcCB0aW4gZ2hpIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDk3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcyNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUyNSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPiIKIG1zZ3N0ciAic2FpIHBhY2suaW5kZXh2ZXJzaW9uPSU8UFJJdTMyPiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGZpbGUgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIGfDs2kgxJHDoyBz4bq1biBjw7Mg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NjcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBpZHggZmlsZSBmb3IgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIGlkeCBj4bunYSBnw7NpIGNobyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYxNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJub24gZGVsdGE6ICVkIG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAibm9uIGRlbHRhOiAlZCBvYmplY3RzIgogbXNnc3RyWzBdICJraMO0bmcgZGVsdGE6ICVkIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTYyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdCIKIG1zZ2lkX3BsdXJhbCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3RzIgogbXNnc3RyWzBdICJjaGnhu4F1IGTDoGkgeMOtY2ggPSAlZDogJWx1IMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY1OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY4OQogbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgcXVheSBs4bqhaSBjd2QiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MDggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxMQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyNyBidWlsdGluL2luZGV4LXBhY2suYzoxNzMxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzM4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgIiVzIHNhaSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc3NwogbXNnaWQgIi0tZml4LXRoaW4gY2Fubm90IGJlIHVzZWQgd2l0aG91dCAtLXN0ZGluIgogbXNnc3RyICItLWZpeC10aGluIGtow7RuZyB0aOG7gyDEkcaw4bujYyBkw7luZyBtw6Aga2jDtG5nIGPDsyAtLXN0ZGluIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzQ5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzc5CiBtc2dpZCAiLS1zdGRpbiByZXF1aXJlcyBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICItLXN0ZGluIGPhuqduIG3hu5l0IGtobyBnaXQiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3ODUKIG1zZ2lkICItLXZlcmlmeSB3aXRoIG5vIHBhY2tmaWxlIG5hbWUgZ2l2ZW4iCiBtc2dzdHIgImTDuW5nIHTDuXkgY2jhu41uIC0tdmVyaWZ5IG3DoCBraMO0bmcgxJHGsGEgcmEgdMOqbiBwYWNrZmlsZSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTgwMyBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTgwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxODMzIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo1ODEKIG1zZ2lkICJmc2NrIGVycm9yIGluIHBhY2sgb2JqZWN0cyIKIG1zZ3N0ciAibOG7l2kgZnNjayB0cm9uZyBjw6FjIMSR4buRaSB0xrDhu6NuZyBnw7NpIgogCkBAIC0xMjExNSw0MiArMTQ4MzEsNDIgQEAKIG1zZ2lkICJub3QgY29weWluZyB0ZW1wbGF0ZXMgZnJvbSAnJXMnOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHNhbyBjaMOpcCBjw6FjIG3huqt1IHThu6sg4oCcJXPigJ06ICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozMjkKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gaGFuZGxlIGZpbGUgdHlwZSAlZCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHjhu60gbMO9IChoYW5kbGUpIHThuq1wIHRpbiBraeG7g3UgJWQiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzMgorIzogYnVpbHRpbi9pbml0LWRiLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBtb3ZlICVzIHRvICVzIgogbXNnc3RyICJraMO0bmcgZGkgY2h1eeG7g24gxJHGsOG7o2MgJXMgdsOgbyAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzQ5IGJ1aWx0aW4vaW5pdC1kYi5jOjM1MgorIzogYnVpbHRpbi9pbml0LWRiLmM6MzU0IGJ1aWx0aW4vaW5pdC1kYi5jOjM1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiJXMgxJHDoyBjw7MgdOG7qyB0csaw4bubYyBy4buTaSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDA1CisjOiBidWlsdGluL2luaXQtZGIuYzo0MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVpbml0aWFsaXplZCBleGlzdGluZyBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICLEkMOjIGto4bufaSB04bqhbyBs4bqhaSBraG8gR2l0IGNoaWEgc+G6uyBz4bq1biBjw7MgdHJvbmcgJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAixJDDoyBraOG7n2kgdOG6oW8gbOG6oWkga2hvIEdpdCBz4bq1biBjw7MgdHJvbmcgJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MTAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICLEkMOjIGto4bufaSB04bqhbyBs4bqhaSBraG8gR2l0IGNoaWEgc+G6uyB0cuG7kW5nIHLhu5duZyBz4bq1biBjw7MgdHJvbmcgJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MTEKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCiBtc2dzdHIgIsSQw6Mga2jhu59pIHThuqFvIGzhuqFpIGtobyBHaXQgdHLhu5FuZyBy4buXbmcgc+G6tW4gY8OzIHRyb25nICVzJXNcbiIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDYwCisjOiBidWlsdGluL2luaXQtZGIuYzo0NjgKIG1zZ2lkICIiCiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PHRlbXBsYXRlLWRpcmVjdG9yeT5dIFstLSIKICJzaGFyZWRbPTxwZXJtaXNzaW9ucz5dXSBbPGRpcmVjdG9yeT5dIgpAQCAtMTIxNTgsMjUgKzE0ODc0LDI1IEBACiAiZ2l0IGluaXQgWy1xIHwgLS1xdWlldF0gWy0tYmFyZV0gWy0tdGVtcGxhdGU9PHRoxrAtbeG7pWMtdOG6oW0+XSBbLS1zaGFyZWRbPTxjw6FjLSIKICJxdXnhu4FuPl1dIFt0aMawLW3hu6VjXSIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NDgzCisjOiBidWlsdGluL2luaXQtZGIuYzo0OTEKIG1zZ2lkICJwZXJtaXNzaW9ucyIKIG1zZ3N0ciAiY8OhYyBxdXnhu4FuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0ODQKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5MgogbXNnaWQgInNwZWNpZnkgdGhhdCB0aGUgZ2l0IHJlcG9zaXRvcnkgaXMgdG8gYmUgc2hhcmVkIGFtb25nc3Qgc2V2ZXJhbCB1c2VycyIKIG1zZ3N0ciAiY2jhu4kgcmEgY8OhaSBtw6Aga2hvIGdpdCDEkcaw4bujYyBjaGlhIHPhursgZ2nhu69hIG5oaeG7gXUgbmfGsOG7nWkgZMO5bmciCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUxOCBidWlsdGluL2luaXQtZGIuYzo1MjMKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUyOSBidWlsdGluL2luaXQtZGIuYzo1MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG1rZGlyICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbWtkaXIgKHThuqFvIHRoxrAgbeG7pWMpOiAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTI3CisjOiBidWlsdGluL2luaXQtZGIuYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZGlyIHRvICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY2hkaXIgKGNodXnhu4NuIMSR4buVaSB0aMawIG3hu6VjKSBzYW5nICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NDgKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJXMgKG9yIC0td29yay10cmVlPTxkaXJlY3Rvcnk+KSBub3QgYWxsb3dlZCB3aXRob3V0IHNwZWNpZnlpbmcgJXMgKG9yIC0tZ2l0LSIKQEAgLTEyMTg1LDEyICsxNDkwMSwxMiBAQAogIiVzIChob+G6t2MgLS13b3JrLXRyZWU9PHRoxrAtbeG7pWM+KSBraMO0bmcgY2hvIHBow6lwIGtow7RuZyBjaOG7iSDEkeG7i25oICVzIChob+G6t2MgLS1naXQtIgogImRpcj08dGjGsC1t4bulYz4pIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo1NzYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgYWNjZXNzIHdvcmsgdHJlZSAnJXMnIgotbXNnc3RyICJraMO0bmcgdGjhu4MgdHJ1eSBj4bqtcCBjw6J5ICh0cmVlKSBsw6BtIHZp4buHYyDigJwlc+KAnSIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIHRydXkgY+G6rXAgY8OieSAodHJlZSkgbMOgbSB2aeG7h2Mg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTUKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTYKIG1zZ2lkICIiCiAiZ2l0IGludGVycHJldC10cmFpbGVycyBbLS1pbi1wbGFjZV0gWy0tdHJpbS1lbXB0eV0gWygtLXRyYWlsZXIgIgogIjx0b2tlbj5bKD18Oik8dmFsdWU+XSkuLi5dIFs8ZmlsZT4uLi5dIgpAQCAtMTIxOTgsNDYwICsxNDkxNCw0NjUgQEAKICJnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIFstLWluLXBsYWNlXSBbLS10cmltLWVtcHR5XSBbKC0tdHJhaWxlciAiCiAiPHRo4bq7PlsoPXw6KTxnacOhLXRy4buLPl0p4oCmXSBbPHThuq1wLXRpbj7igKZdIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk0CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk1CiBtc2dpZCAiZWRpdCBmaWxlcyBpbiBwbGFjZSIKIG1zZ3N0ciAic+G7rWEgY8OhYyB04bqtcCB0aW4gdOG6oWkgY2jhu5ciCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTUKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTYKIG1zZ2lkICJ0cmltIGVtcHR5IHRyYWlsZXJzIgogbXNnc3RyICJi4buZIGTDsiB24bq/dCBj4bqvdCBi4buPIHBo4bqnbiB0cuG7kW5nIHLhu5duZyIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5OAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5OQogbXNnaWQgIndoZXJlIHRvIHBsYWNlIHRoZSBuZXcgdHJhaWxlciIKIG1zZ3N0ciAixJHhurd0IHBo4bqnbiDEkXXDtGkgbeG7m2kg4bufIMSRw6J1IgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDEKIG1zZ2lkICJhY3Rpb24gaWYgdHJhaWxlciBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAidGhhbyB0w6FjIGtoaSDEkcOjIGPDsyBwaOG6p24gxJF1w7RpIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMgorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDMKIG1zZ2lkICJhY3Rpb24gaWYgdHJhaWxlciBpcyBtaXNzaW5nIgogbXNnc3RyICJ0aGFvIHTDoWMga2hpIHRoaeG6v3UgcGjhuqduIMSRdcO0aSIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDQKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA1CiBtc2dpZCAib3V0cHV0IG9ubHkgdGhlIHRyYWlsZXJzIgogbXNnc3RyICJjaOG7iSB4deG6pXQgcGjhuqduIMSRdcO0aSIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDUKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA2CiBtc2dpZCAiZG8gbm90IGFwcGx5IGNvbmZpZyBydWxlcyIKIG1zZ3N0ciAixJHhu6tuZyDDoXAgZOG7pW5nIGPDoWMgcXV5IHThuq9jIGPhuqV1IGjDrG5oIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNgorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDcKIG1zZ2lkICJqb2luIHdoaXRlc3BhY2UtY29udGludWVkIHZhbHVlcyIKIG1zZ3N0ciAibuG7kWkgY8OhYyBnacOhIHRy4buLIGtob+G6o25nLXRy4bqvbmctbGnDqm4tdGnhur9wIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNworIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDgKIG1zZ2lkICJzZXQgcGFyc2luZyBvcHRpb25zIgogbXNnc3RyICLEkeG6t3QgY8OhYyB0w7l5IGNo4buNbiBwaMOibiB0w61jaCBjw7ogcGjDoXAiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA5CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMAogbXNnaWQgImRvIG5vdCB0cmVhdCAtLS0gc3BlY2lhbGx5IgogbXNnc3RyICJraMO0bmcgY29pIC0tLSBsw6AgxJHhurdjIGJp4buHdCIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMTAKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTExCiBtc2dpZCAidHJhaWxlciIKIG1zZ3N0ciAiYuG7mSBkw7IgduG6v3QiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTExCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMgogbXNnaWQgInRyYWlsZXIocykgdG8gYWRkIgogbXNnc3RyICJi4buZIGTDsiB24bq/dCBj4bqnbiB0aMOqbSIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMjAKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTIzCiBtc2dpZCAiLS10cmFpbGVyIHdpdGggLS1vbmx5LWlucHV0IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tdHJhaWxlciBjw7luZyB24bubaSAtLW9ubHktaW5wdXQga2jDtG5nIGjhu6NwIGzDvSIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMzAKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTMzCiBtc2dpZCAibm8gaW5wdXQgZmlsZSBnaXZlbiBmb3IgaW4tcGxhY2UgZWRpdGluZyIKIG1zZ3N0ciAia2jDtG5nIMSRxrBhIHJhIHThuq1wIHRpbiDEkeG6p3UgdsOgbyDEkeG7gyBz4butYSB04bqhaS1jaOG7lyIKIAotIzogYnVpbHRpbi9sb2cuYzo1NAorIzogYnVpbHRpbi9sb2cuYzo1NgogbXNnaWQgImdpdCBsb2cgWzxvcHRpb25zPl0gWzxyZXZpc2lvbi1yYW5nZT5dIFtbLS1dIDxwYXRoPi4uLl0iCi1tc2dzdHIgImdpdCBsb2cgWzxjw6FjLXTDuXktY2jhu41uPl0gWzx2w7luZy14ZW0teMOpdD5dIFtbLS1dIDzEkcaw4budbmctZOG6q24+4oCmXSIKK21zZ3N0ciAiZ2l0IGxvZyBbPGPDoWMgdMO5eSBjaOG7jW4+XSBbPHbDuW5nLXhlbS14w6l0Pl0gW1stLV0gPC/Ekcaw4budbmcvZOG6q24+4oCmXSIKIAotIzogYnVpbHRpbi9sb2cuYzo1NQorIzogYnVpbHRpbi9sb2cuYzo1NwogbXNnaWQgImdpdCBzaG93IFs8b3B0aW9ucz5dIDxvYmplY3Q+Li4uIgotbXNnc3RyICJnaXQgc2hvdyBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8xJHhu5FpLXTGsOG7o25nPuKApiIKK21zZ3N0ciAiZ2l0IHNob3cgWzxjw6FjIHTDuXkgY2jhu41uPl0gPMSR4buRaS10xrDhu6NuZz7igKYiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6OTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTEwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgLS1kZWNvcmF0ZSBvcHRpb246ICVzIgogbXNnc3RyICJ0w7l5IGNo4buNbi0tZGVjb3JhdGUga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjE2MgotbXNnaWQgInN1cHByZXNzIGRpZmYgb3V0cHV0IgotbXNnc3RyICJjaOG6t24gbeG7jWkga+G6v3QgeHXhuqV0IHThu6sgZGlmZiIKLQotIzogYnVpbHRpbi9sb2cuYzoxNjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTc0CiBtc2dpZCAic2hvdyBzb3VyY2UiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBtw6Mgbmd14buTbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTc1CiBtc2dpZCAiVXNlIG1haWwgbWFwIGZpbGUiCiBtc2dzdHIgIlPhu60gZOG7pW5nIHThuq1wIHRpbiDDoW5oIHjhuqEgdGjGsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTc3CiBtc2dpZCAib25seSBkZWNvcmF0ZSByZWZzIHRoYXQgbWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICJjaOG7iSB0w7Qgc8OhbmcgY8OhYyB0aGFtIGNoaeG6v3Uga2jhu5twIHbhu5tpIDxt4bqrdT4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY4CisjOiBidWlsdGluL2xvZy5jOjE3OQogbXNnaWQgImRvIG5vdCBkZWNvcmF0ZSByZWZzIHRoYXQgbWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICJraMO0bmcgdMO0IHPDoW5nIGPDoWMgdGhhbSBjaGnhur91IGto4bubcCB24bubaSA8beG6q3U+IgogCi0jOiBidWlsdGluL2xvZy5jOjE2OQorIzogYnVpbHRpbi9sb2cuYzoxODAKIG1zZ2lkICJkZWNvcmF0ZSBvcHRpb25zIgogbXNnc3RyICJjw6FjIHTDuXkgY2jhu41uIHRyYW5nIHRyw60iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTcyCisjOiBidWlsdGluL2xvZy5jOjE4MwogbXNnaWQgIlByb2Nlc3MgbGluZSByYW5nZSBuLG0gaW4gZmlsZSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICJY4butIGzDvSBjaOG7iSBkw7JuZyB2w7luZyBuLG0gdHJvbmcgdOG6rXAgdGluLCB0w61uaCB04burIDEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MjcwCisjOiBidWlsdGluL2xvZy5jOjI4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGaW5hbCBvdXRwdXQ6ICVkICVzXG4iCiBtc2dzdHIgIkvhur90IHh14bqldCBjdeG7kWkgY8O5bmc6ICVkICVzXG4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6NTIyCisjOiBidWlsdGluL2xvZy5jOjUzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgc2hvdyAlczogYmFkIGZpbGUiCiBtc2dzdHIgImdpdCBzaG93ICVzOiBzYWkgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2xvZy5jOjUzNyBidWlsdGluL2xvZy5jOjYzMQorIzogYnVpbHRpbi9sb2cuYzo1NTAgYnVpbHRpbi9sb2cuYzo2NDUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu41jIMSR4buRaSB0xrDhu6NuZyAlcyIKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBvYmplY3QgJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgxJHhu5FpIHTGsOG7o25nICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjY1NQorIzogYnVpbHRpbi9sb2cuYzo2NzAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biB0eXBlOiAlZCIKLW1zZ3N0ciAiS2jDtG5nIG5o4bqtbiByYSBraeG7g3U6ICVkIgorbXNnaWQgInVua25vd24gdHlwZTogJWQiCittc2dzdHIgImtow7RuZyBuaOG6rW4gcmEga2nhu4N1OiAlZCIKIAotIzogYnVpbHRpbi9sb2cuYzo3NzYKKyM6IGJ1aWx0aW4vbG9nLmM6ODE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNvdmVyIGZyb20gZGVzY3JpcHRpb24gbW9kZSIKK21zZ3N0ciAiJXM6IGJhbyBi4buNYyBraMO0bmcgaOG7o3AgbOG7hyB04burIGNo4bq/IMSR4buZIG3DtCB04bqjIgorCisjOiBidWlsdGluL2xvZy5jOjgyMQogbXNnaWQgImZvcm1hdC5oZWFkZXJzIHdpdGhvdXQgdmFsdWUiCiBtc2dzdHIgImZvcm1hdC5oZWFkZXJzIGtow7RuZyBjw7MgZ2nDoSB0cuG7iyBj4bulIHRo4buDIgogCi0jOiBidWlsdGluL2xvZy5jOjg3NworIzogYnVpbHRpbi9sb2cuYzo5MzYKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCiBtc2dzdHIgInTDqm4gY+G7p2EgdGjGsCBt4bulYyBr4bq/dCB4deG6pXQgcXXDoSBkw6BpIgogCi0jOiBidWlsdGluL2xvZy5jOjg5MworIzogYnVpbHRpbi9sb2cuYzo5NTIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKLW1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIG1p4bq/bmcgdsOhOiAlcyIKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4gbWnhur9uZyB2w6E6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjkxMAotbXNnaWQgIk5lZWQgZXhhY3RseSBvbmUgcmFuZ2UuIgotbXNnc3RyICJD4bqnbiBjaMOtbmggeMOhYyBt4buZdCB2w7luZy4iCisjOiBidWlsdGluL2xvZy5jOjk2OQorbXNnaWQgIm5lZWQgZXhhY3RseSBvbmUgcmFuZ2UiCittc2dzdHIgImPhuqduIGNow61uaCB4w6FjIG3hu5l0IHbDuW5nIgogCi0jOiBidWlsdGluL2xvZy5jOjkyMAotbXNnaWQgIk5vdCBhIHJhbmdlLiIKLW1zZ3N0ciAiS2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgdsO5bmcuIgorIzogYnVpbHRpbi9sb2cuYzo5NzkKK21zZ2lkICJub3QgYSByYW5nZSIKK21zZ3N0ciAia2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgdsO5bmciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTA0MwotbXNnaWQgIkNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCi1tc2dzdHIgIuKAnENvdmVyIGxldHRlcuKAnSBj4bqnbiBjaG8gxJHhu4tuaCBk4bqhbmcgdGjGsCIKKyM6IGJ1aWx0aW4vbG9nLmM6MTE0MworbXNnaWQgImNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCittc2dzdHIgIuKAnGNvdmVyIGxldHRlcuKAnSBj4bqnbiBjaG8gxJHhu4tuaCBk4bqhbmcgdGjGsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMTE5CisjOiBidWlsdGluL2xvZy5jOjExNDkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGNvdmVyLWxldHRlciBmaWxlIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdOG6oW8gY8OhYyB04bqtcCB0aW4gY292ZXItbGV0dGVyIgorCisjOiBidWlsdGluL2xvZy5jOjEyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5zYW5lIGluLXJlcGx5LXRvOiAlcyIKIG1zZ3N0ciAiaW4tcmVwbHktdG8gxJFpw6puIHLhu5M6ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjExNDYKKyM6IGJ1aWx0aW4vbG9nLmM6MTI1NQogbXNnaWQgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcHRpb25zPl0gWzxzaW5jZT4gfCA8cmV2aXNpb24tcmFuZ2U+XSIKLW1zZ3N0ciAiZ2l0IGZvcm1hdC1wYXRjaCBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbPGvhu4MtdOG7qz4gfCA8dsO5bmcteGVtLXjDqXQ+XSIKK21zZ3N0ciAiZ2l0IGZvcm1hdC1wYXRjaCBbPGPDoWMgdMO5eSBjaOG7jW4+XSBbPGvhu4MtdOG7qz4gfCA8dsO5bmcteGVtLXjDqXQ+XSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjA0Ci1tc2dpZCAiVHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iCi1tc2dzdHIgIkhhaSB0aMawIG3hu6VjIGvhur90IHh14bqldD8iCisjOiBidWlsdGluL2xvZy5jOjEzMTMKK21zZ2lkICJ0d28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKK21zZ3N0ciAiaGFpIHRoxrAgbeG7pWMga+G6v3QgeHXhuqV0PyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzExIGJ1aWx0aW4vbG9nLmM6MjA1NCBidWlsdGluL2xvZy5jOjIwNTYgYnVpbHRpbi9sb2cuYzoyMDY4CisjOiBidWlsdGluL2xvZy5jOjE0MjQgYnVpbHRpbi9sb2cuYzoyMTk3IGJ1aWx0aW4vbG9nLmM6MjE5OSBidWlsdGluL2xvZy5jOjIyMTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biBjb21taXQgJXMiCi1tc2dzdHIgIktow7RuZyBoaeG7g3UgbOG6p24gY2h1eeG7g24gZ2lhbyAlcyIKK21zZ2lkICJ1bmtub3duIGNvbW1pdCAlcyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSBs4bqnbiBjaHV54buDbiBnaWFvICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMjEgYnVpbHRpbi9ub3Rlcy5jOjg5NCBidWlsdGluL3RhZy5jOjUyNgorIzogYnVpbHRpbi9sb2cuYzoxNDM0IGJ1aWx0aW4vcmVwbGFjZS5jOjU4IGJ1aWx0aW4vcmVwbGFjZS5jOjIwNworIzogYnVpbHRpbi9yZXBsYWNlLmM6MjEwCiAjLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgotbXNnc3RyICJH4bq3cCBs4buXaSBraGkgcGjDom4gZ2nhuqNpIOKAnCVz4oCdIG5oxrAgbMOgIG3hu5l0IHRoYW0gY2hp4bq/dSBo4bujcCBs4buHLiIKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gZ2nhuqNpIOKAnCVz4oCdIG5oxrAgbMOgIG3hu5l0IHRoYW0gY2hp4bq/dSBo4bujcCBs4buHIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMjYKLW1zZ2lkICJDb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlLiIKLW1zZ3N0ciAiS2jDtG5nIHTDrG0gdGjhuqV5IG7hu4FuIGjDsmEgdHLhu5luIGNow61uaCB4w6FjLiIKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzOQorbXNnaWQgImNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCittc2dzdHIgImtow7RuZyB0w6xtIHRo4bqleSBu4buBbiBow7JhIHRy4buZbiBjaMOtbmggeMOhYyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzMwCisjOiBidWlsdGluL2xvZy5jOjE0NDMKIG1zZ2lkICIiCi0iRmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCisiZmFpbGVkIHRvIGdldCB1cHN0cmVhbSwgaWYgeW91IHdhbnQgdG8gcmVjb3JkIGJhc2UgY29tbWl0IGF1dG9tYXRpY2FsbHksXG4iCiAicGxlYXNlIHVzZSBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIHRvIHRyYWNrIGEgcmVtb3RlIGJyYW5jaC5cbiIKLSJPciB5b3UgY291bGQgc3BlY2lmeSBiYXNlIGNvbW1pdCBieSAtLWJhc2U9PGJhc2UtY29tbWl0LWlkPiBtYW51YWxseS4iCisiT3IgeW91IGNvdWxkIHNwZWNpZnkgYmFzZSBjb21taXQgYnkgLS1iYXNlPTxiYXNlLWNvbW1pdC1pZD4gbWFudWFsbHkiCiBtc2dzdHIgIiIKLSJH4bq3cCBs4buXaSBraGkgbOG6pXkgdGjGsOG7o25nIG5ndeG7k24sIG7hur91IGLhuqFuIG114buRbiBnaGkgbOG6oWkgbOG6p24gY2h1eeG7g24gZ2lhbyBu4buBbiBt4buZdFxuIgorImfhurdwIGzhu5dpIGtoaSBs4bqleSB0aMaw4bujbmcgbmd14buTbiwgbuG6v3UgYuG6oW4gbXXhu5FuIGdoaSBs4bqhaSBs4bqnbiBjaHV54buDbiBnaWFvIG7hu4FuIG3hu5l0XG4iCiAiY8OhY2ggdOG7sSDEkeG7mW5nLCB2dWkgbMOybmcgZMO5bmcgXCJnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvXCIgxJHhu4MgdGhlbyBkw7VpXG4iCiAibmjDoW5oIG3DoXkgY2jhu6cuIEhv4bq3YyBsw6AgYuG6oW4gY8OzIHRo4buDIGNo4buJIMSR4buLbmggbOG6p24gY2h1eeG7g24gZ2lhbyBu4buBbiBi4bqxbmdcbiIKLSJcIi0tYmFzZT08YmFzZS1jb21taXQtaWQ+XCIgbeG7mXQgY8OhY2ggdGjhu6cgY8O0bmcuIgorIlwiLS1iYXNlPTxiYXNlLWNvbW1pdC1pZD5cIiBt4buZdCBjw6FjaCB0aOG7pyBjw7RuZyIKIAotIzogYnVpbHRpbi9sb2cuYzoxMzUwCi1tc2dpZCAiRmFpbGVkIHRvIGZpbmQgZXhhY3QgbWVyZ2UgYmFzZSIKLW1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHTDrG0gbuG7gW4gaMOyYSB0cuG7mW4gY2jDrW5oIHjDoWMuIgorIzogYnVpbHRpbi9sb2cuYzoxNDYzCittc2dpZCAiZmFpbGVkIHRvIGZpbmQgZXhhY3QgbWVyZ2UgYmFzZSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHTDrG0gbuG7gW4gaMOyYSB0cuG7mW4gY2jDrW5oIHjDoWMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM2MQorIzogYnVpbHRpbi9sb2cuYzoxNDc0CiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkIGJlIHRoZSBhbmNlc3RvciBvZiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICJs4bqnbiBjaHV54buDbiBnaWFvIG7hu4FuIGtow7RuZyBsw6AgdOG7lSB0acOqbiBj4bunYSBkYW5oIHPDoWNoIMSRaeG7g20geMOpdCBkdXnhu4d0IgogCi0jOiBidWlsdGluL2xvZy5jOjEzNjUKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3OAogbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZG4ndCBiZSBpbiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICJs4bqnbiBjaHV54buDbiBnaWFvIG7hu4FuIGtow7RuZyDEkcaw4bujYyB0cm9uZyBkYW5oIHPDoWNoIMSRaeG7g20geMOpdCBkdXnhu4d0IgogCi0jOiBidWlsdGluL2xvZy5jOjE0MTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTUzMQogbXNnaWQgImNhbm5vdCBnZXQgcGF0Y2ggaWQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSBtw6MgbWnhur9uZyB2w6EiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3MAorIzogYnVpbHRpbi9sb2cuYzoxNTgzCiBtc2dpZCAiZmFpbGVkIHRvIGluZmVyIHJhbmdlLWRpZmYgcmFuZ2VzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgc3V5IGx14bqtbiByYW5nZS1kaWZmICh2w7luZyBraMOhYyBiaeG7h3QpIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MTUKKyM6IGJ1aWx0aW4vbG9nLmM6MTYyOQogbXNnaWQgInVzZSBbUEFUQ0ggbi9tXSBldmVuIHdpdGggYSBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgImTDuW5nIFtQQVRDSCBuL21dIG5nYXkgY+G6oyB24bubaSBtaeG6v25nIHbDoSDEkcahbiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTE4CisjOiBidWlsdGluL2xvZy5jOjE2MzIKIG1zZ2lkICJ1c2UgW1BBVENIXSBldmVuIHdpdGggbXVsdGlwbGUgcGF0Y2hlcyIKIG1zZ3N0ciAiZMO5bmcgW1bDgV0gbmdheSBj4bqjIHbhu5tpIGPDoWMgbWnhur9uZyB2w6EgcGjhu6ljIHThuqFwIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MjIKKyM6IGJ1aWx0aW4vbG9nLmM6MTYzNgogbXNnaWQgInByaW50IHBhdGNoZXMgdG8gc3RhbmRhcmQgb3V0IgogbXNnc3RyICJoaeG7g24gdGjhu4sgbWnhur9uZyB2w6EgcmEgxJHhuqd1IHJhIGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUyNAorIzogYnVpbHRpbi9sb2cuYzoxNjM4CiBtc2dpZCAiZ2VuZXJhdGUgYSBjb3ZlciBsZXR0ZXIiCiBtc2dzdHIgInThuqFvIGLDrCB0aMawIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTY0MAogbXNnaWQgInVzZSBzaW1wbGUgbnVtYmVyIHNlcXVlbmNlIGZvciBvdXRwdXQgZmlsZSBuYW1lcyIKIG1zZ3N0ciAic+G7rSBk4bulbmcgY2jhu5dpIGTDo3kgc+G7kSBk4bqhbmcgxJHGoW4gZ2nhuqNuIGNobyB0w6puIHThuq1wLXRpbiB4deG6pXQgcmEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUyNworIzogYnVpbHRpbi9sb2cuYzoxNjQxCiBtc2dpZCAic2Z4IgogbXNnc3RyICJzZngiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUyOAorIzogYnVpbHRpbi9sb2cuYzoxNjQyCiBtc2dpZCAidXNlIDxzZng+IGluc3RlYWQgb2YgJy5wYXRjaCciCiBtc2dzdHIgInPhu60gZOG7pW5nIDxzZng+IHRoYXkgY2hvIOKAnC5wYXRjaOKAnSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMwCisjOiBidWlsdGluL2xvZy5jOjE2NDQKIG1zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgogbXNnc3RyICJi4bqvdCDEkeG6p3UgxJHDoW5oIHPhu5EgbWnhur9uZyB2w6EgdOG7qyA8bj4gdGhheSB2w6wgMSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMyCisjOiBidWlsdGluL2xvZy5jOjE2NDYKIG1zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCiBtc2dzdHIgIsSRw6FuaCBk4bqldSBjaHXhu5dpIG7hu5FpIHRp4bq/cCBk4bqhbmcgdGjhu6ktTiByZS1yb2xsIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzQKKyM6IGJ1aWx0aW4vbG9nLmM6MTY0OAogbXNnaWQgIlVzZSBbUkZDIFBBVENIXSBpbnN0ZWFkIG9mIFtQQVRDSF0iCiBtc2dzdHIgIkTDuW5nIFtSRkMgVsOBXSB0aGF5IGNobyBbVsOBXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTM3CisjOiBidWlsdGluL2xvZy5jOjE2NTEKK21zZ2lkICJjb3Zlci1mcm9tLWRlc2NyaXB0aW9uLW1vZGUiCittc2dzdHIgImNvdmVyLWZyb20tZGVzY3JpcHRpb24tbW9kZSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjUyCittc2dpZCAiZ2VuZXJhdGUgcGFydHMgb2YgYSBjb3ZlciBsZXR0ZXIgYmFzZWQgb24gYSBicmFuY2gncyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAidOG6oW8gcmEgY8OhYyBwaOG6p24gY+G7p2EgbeG7mXQgbMOhIHRoxrAgYmFvIGfhu5NtIGThu7FhIHRyw6puIG3DtCB04bqjIGPhu6dhIG5ow6FuaCIKKworIzogYnVpbHRpbi9sb2cuYzoxNjU0CiBtc2dpZCAiVXNlIFs8cHJlZml4Pl0gaW5zdGVhZCBvZiBbUEFUQ0hdIgogbXNnc3RyICJEw7luZyBbPHRp4buBbi104buRPl0gdGhheSBjaG8gW1bDgV0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MAorIzogYnVpbHRpbi9sb2cuYzoxNjU3CiBtc2dpZCAic3RvcmUgcmVzdWx0aW5nIGZpbGVzIGluIDxkaXI+IgogbXNnc3RyICJsxrB1IGPDoWMgdOG6rXAgdGluIGvhur90IHF14bqjIHRyb25nIDx0Lm3hu6VjPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTQzCisjOiBidWlsdGluL2xvZy5jOjE2NjAKIG1zZ2lkICJkb24ndCBzdHJpcC9hZGQgW1BBVENIXSIKIG1zZ3N0ciAia2jDtG5nIHN0cmlwL2FkZCBbVsOBXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTQ2CisjOiBidWlsdGluL2xvZy5jOjE2NjMKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICJraMO0bmcga+G6v3QgeHXhuqV0IGRpZmYgKG5o4buvbmcga2jDoWMgYmnhu4d0KSBuaOG7iyBwaMOibiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTQ4CisjOiBidWlsdGluL2xvZy5jOjE2NjUKIG1zZ2lkICJvdXRwdXQgYWxsLXplcm8gaGFzaCBpbiBGcm9tIGhlYWRlciIKIG1zZ3N0ciAieHXhuqV0IG3hu41pIG3DoyBixINtIGFsbC16ZXJvIHRyb25nIHBo4bqnbiDEkeG6p3UgRnJvbSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTUwCisjOiBidWlsdGluL2xvZy5jOjE2NjcKIG1zZ2lkICJkb24ndCBpbmNsdWRlIGEgcGF0Y2ggbWF0Y2hpbmcgYSBjb21taXQgdXBzdHJlYW0iCiBtc2dzdHIgImtow7RuZyBiYW8gZ+G7k20gbWnhur9uZyB2w6Ega2jhu5twIHbhu5tpIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gdGjGsOG7o25nIG5ndeG7k24iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1MgorIzogYnVpbHRpbi9sb2cuYzoxNjY5CiBtc2dpZCAic2hvdyBwYXRjaCBmb3JtYXQgaW5zdGVhZCBvZiBkZWZhdWx0IChwYXRjaCArIHN0YXQpIgogbXNnc3RyICJoaeG7g24gdGjhu4sgxJHhu4tuaCBk4bqhbmcgbWnhur9uZyB2w6EgdGhheSB2w6wgbeG6t2MgxJHhu4tuaCAobWnhur9uZyB2w6EgKyB0aOG7kW5nIGvDqikiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NAorIzogYnVpbHRpbi9sb2cuYzoxNjcxCiBtc2dpZCAiTWVzc2FnaW5nIgogbXNnc3RyICJM4budaSBuaOG6r24iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NQorIzogYnVpbHRpbi9sb2cuYzoxNjcyCiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICLEkeG6p3UgxJHhu4EgdGjGsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTU2CisjOiBidWlsdGluL2xvZy5jOjE2NzMKIG1zZ2lkICJhZGQgZW1haWwgaGVhZGVyIgogbXNnc3RyICJ0aMOqbSDEkeG6p3UgxJHhu4EgdGjGsCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTU3IGJ1aWx0aW4vbG9nLmM6MTU1OQorIzogYnVpbHRpbi9sb2cuYzoxNjc0IGJ1aWx0aW4vbG9nLmM6MTY3NgogbXNnaWQgImVtYWlsIgogbXNnc3RyICJ0aMawIMSRaeG7h24gdOG7rSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTU3CisjOiBidWlsdGluL2xvZy5jOjE2NzQKIG1zZ2lkICJhZGQgVG86IGhlYWRlciIKIG1zZ3N0ciAidGjDqm0gVG86IMSR4bqndSDEkeG7gSB0aMawIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3NgogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICJ0aMOqbSBDYzogxJHhuqd1IMSR4buBIHRoxrAiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2MQorIzogYnVpbHRpbi9sb2cuYzoxNjc4CiBtc2dpZCAiaWRlbnQiCiBtc2dzdHIgInRo4buldCBs4buBIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NjIKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3OQogbXNnaWQgInNldCBGcm9tIGFkZHJlc3MgdG8gPGlkZW50PiAob3IgY29tbWl0dGVyIGlkZW50IGlmIGFic2VudCkiCiBtc2dzdHIgIiIKICLEkeG6t3Qg4oCcxJDhu4thIGNo4buJIGfhu61p4oCdIHRow6BuaCA8dGjhu6UgbOG7gT4gKGhv4bq3YyB0aOG7pXQgbOG7gSBuZ8aw4budaSBjb21taXQgbuG6v3UgYuG7jyBxdcOqbikiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NAorIzogYnVpbHRpbi9sb2cuYzoxNjgxCiBtc2dpZCAibWVzc2FnZS1pZCIKIG1zZ3N0ciAibWVzc2FnZS1pZCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY1CisjOiBidWlsdGluL2xvZy5jOjE2ODIKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgImTDuW5nIHRoxrAgxJHhuqd1IHRpw6puIMSR4buDIHRy4bqjIGzhu51pIDxtZXNzYWdlLWlkPiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY2IGJ1aWx0aW4vbG9nLmM6MTU2OQorIzogYnVpbHRpbi9sb2cuYzoxNjgzIGJ1aWx0aW4vbG9nLmM6MTY4NgogbXNnaWQgImJvdW5kYXJ5IgogbXNnc3RyICJyYW5oIGdp4bubaSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY3CisjOiBidWlsdGluL2xvZy5jOjE2ODQKIG1zZ2lkICJhdHRhY2ggdGhlIHBhdGNoIgogbXNnc3RyICLEkcOtbmgga8OobSBtaeG6v25nIHbDoSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTcwCisjOiBidWlsdGluL2xvZy5jOjE2ODcKIG1zZ2lkICJpbmxpbmUgdGhlIHBhdGNoIgogbXNnc3RyICJkw7luZyBtaeG6v25nIHbDoSBsw6BtIG7hu5lpIGR1bmciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3NAorIzogYnVpbHRpbi9sb2cuYzoxNjkxCiBtc2dpZCAiZW5hYmxlIG1lc3NhZ2UgdGhyZWFkaW5nLCBzdHlsZXM6IHNoYWxsb3csIGRlZXAiCiBtc2dzdHIgImNobyBwaMOpcCBsdeG7k25nIGzhu51pIG5o4bqvbiwga2nhu4N1OiDigJxzaGFsbG934oCdLCDigJxkZWVw4oCdIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzYKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5MwogbXNnaWQgInNpZ25hdHVyZSIKIG1zZ3N0ciAiY2jhu68ga8O9IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5NAogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSIKIG1zZ3N0ciAidGjDqm0gY2jhu68ga8O9IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzgKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5NQogbXNnaWQgImJhc2UtY29tbWl0IgogbXNnc3RyICJs4bqnbl9jaHV54buDbl9naWFvX27hu4FuIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5NgogbXNnaWQgImFkZCBwcmVyZXF1aXNpdGUgdHJlZSBpbmZvIHRvIHRoZSBwYXRjaCBzZXJpZXMiCiBtc2dzdHIgImFkZCB0csaw4bubYyBo4bq/dCDEkcOyaSBo4buPaSB0aMO0bmcgdGluIGPDonkgdOG7m2kgc8OqLXJpIG1p4bq/bmcgdsOhIgogCi0jOiBidWlsdGluL2xvZy5jOjE1ODEKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5OAogbXNnaWQgImFkZCBhIHNpZ25hdHVyZSBmcm9tIGEgZmlsZSIKIG1zZ3N0ciAidGjDqm0gY2jhu68ga8O9IHThu6sgbeG7mXQgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2xvZy5jOjE1ODIKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5OQogbXNnaWQgImRvbid0IHByaW50IHRoZSBwYXRjaCBmaWxlbmFtZXMiCiBtc2dzdHIgImtow7RuZyBoaeG7g24gdGjhu4sgY8OhYyB0w6puIHThuq1wIHRpbiBj4bunYSBtaeG6v25nIHbDoSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTg0CisjOiBidWlsdGluL2xvZy5jOjE3MDEKIG1zZ2lkICJzaG93IHByb2dyZXNzIHdoaWxlIGdlbmVyYXRpbmcgcGF0Y2hlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGLhu5kgxJFvIHRp4bq/biB0cmnhu4NuIHRyb25nIGtoaSB04bqhbyBjw6FjIG1p4bq/bmcgdsOhIgogCi0jOiBidWlsdGluL2xvZy5jOjE1ODUKLW1zZ2lkICJyZXYiCi1tc2dzdHIgInJldiIKLQotIzogYnVpbHRpbi9sb2cuYzoxNTg2CisjOiBidWlsdGluL2xvZy5jOjE3MDMKIG1zZ2lkICJzaG93IGNoYW5nZXMgYWdhaW5zdCA8cmV2PiBpbiBjb3ZlciBsZXR0ZXIgb3Igc2luZ2xlIHBhdGNoIgogbXNnc3RyICIiCiAiaGnhu4NuIHRo4buLIGPDoWMgdGhheSDEkeG7lWkgZOG7sWEgdHLDqm4gPHJldj4gdHJvbmcgY8OhYyBjaOG7ryBiYW8gYuG7jWMgaG/hurdjIG1p4bq/bmcgdsOhIMSRxqFuIgogCi0jOiBidWlsdGluL2xvZy5jOjE1ODkKKyM6IGJ1aWx0aW4vbG9nLmM6MTcwNgogbXNnaWQgInNob3cgY2hhbmdlcyBhZ2FpbnN0IDxyZWZzcGVjPiBpbiBjb3ZlciBsZXR0ZXIgb3Igc2luZ2xlIHBhdGNoIgogbXNnc3RyICIiCiAiaGnhu4NuIHRo4buLIGPDoWMgdGhheSDEkeG7lWkgZOG7sWEgdHLDqm4gPHJlZnNwZWM+IHRyb25nIGPDoWMgY2jhu68gYmFvIGLhu41jIGhv4bq3YyBtaeG6v25nIHbDoSAiCiAixJHGoW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU5MQorIzogYnVpbHRpbi9sb2cuYzoxNzA4CiBtc2dpZCAicGVyY2VudGFnZSBieSB3aGljaCBjcmVhdGlvbiBpcyB3ZWlnaHRlZCIKIG1zZ3N0ciAidOG7tyBs4buHIHBo4bqnbiB0csSDbSB0aGVvIGPDoWkgdOG6oW8gbMOgIHdlaWdodGVkIgogCi0jOiBidWlsdGluL2xvZy5jOjE2NjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTc5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIgogbXNnc3RyICJkw7JuZyB0aOG7pXQgbOG7gSBraMO0bmcgaOG7o3AgbOG7hzogJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY4MQorIzogYnVpbHRpbi9sb2cuYzoxODA3CiBtc2dpZCAiLW4gYW5kIC1rIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1uIHbDoCAgLWsgbG/huqFpIHThu6sgbOG6q24gbmhhdSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjgzCisjOiBidWlsdGluL2xvZy5jOjE4MDkKIG1zZ2lkICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIHbDoCAtayB4dW5nIGto4bqvYyBuaGF1IgogCi0jOiBidWlsdGluL2xvZy5jOjE2OTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTgxNwogbXNnaWQgIi0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tbmFtZS1vbmx5IGtow7RuZyBo4bujcCBsw70iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY5MworIzogYnVpbHRpbi9sb2cuYzoxODE5CiBtc2dpZCAiLS1uYW1lLXN0YXR1cyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLW5hbWUtc3RhdHVzIGtow7RuZyBo4bujcCBsw70iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY5NQorIzogYnVpbHRpbi9sb2cuYzoxODIxCiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWNoZWNrIGtow7RuZyBo4bujcCBsw70iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTcyNworIzogYnVpbHRpbi9sb2cuYzoxODU0CiBtc2dpZCAic3RhbmRhcmQgb3V0cHV0LCBvciBkaXJlY3RvcnksIHdoaWNoIG9uZT8iCiBtc2dzdHIgIsSR4bqndSByYSBjaHXhuqluLCBoYXkgdGjGsCBt4bulYywgY2jhu41uIGPDoWkgbsOgbz8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTcyOQotIywgYy1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgdOG6oW8gdGjGsCBt4bulYyDigJwlc+KAnSIKLQotIzogYnVpbHRpbi9sb2cuYzoxODE2CisjOiBidWlsdGluL2xvZy5jOjE5NTgKIG1zZ2lkICItLWludGVyZGlmZiByZXF1aXJlcyAtLWNvdmVyLWxldHRlciBvciBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIi0taW50ZXJkaWZmIGPhuqduIC0tY292ZXItbGV0dGVyIGhv4bq3YyB2w6EgxJHGoW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyMAorIzogYnVpbHRpbi9sb2cuYzoxOTYyCiBtc2dpZCAiSW50ZXJkaWZmOiIKIG1zZ3N0ciAiSW50ZXJkaWZmOiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODIxCisjOiBidWlsdGluL2xvZy5jOjE5NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW50ZXJkaWZmIGFnYWluc3QgdiVkOiIKIG1zZ3N0ciAiSW50ZXJkaWZmIGThu7FhIHRyw6puIHYlZDoiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyNworIzogYnVpbHRpbi9sb2cuYzoxOTY5CiBtc2dpZCAiLS1jcmVhdGlvbi1mYWN0b3IgcmVxdWlyZXMgLS1yYW5nZS1kaWZmIgogbXNnc3RyICItLWNyZWF0aW9uLWZhY3RvciB5w6p1IGPhuqd1IC0tcmFuZ2UtZGlmZiIKIAotIzogYnVpbHRpbi9sb2cuYzoxODMxCisjOiBidWlsdGluL2xvZy5jOjE5NzMKIG1zZ2lkICItLXJhbmdlLWRpZmYgcmVxdWlyZXMgLS1jb3Zlci1sZXR0ZXIgb3Igc2luZ2xlIHBhdGNoIgogbXNnc3RyICItLXJhbmdlLWRpZmYgecOqdSBj4bqndSAtLWNvdmVyLWxldHRlciBob+G6t2MgbWnhur9uZyB2w6EgxJHGoW4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgzOQorIzogYnVpbHRpbi9sb2cuYzoxOTgxCiBtc2dpZCAiUmFuZ2UtZGlmZjoiCiBtc2dzdHIgIlJhbmdlLWRpZmY6IgogCi0jOiBidWlsdGluL2xvZy5jOjE4NDAKKyM6IGJ1aWx0aW4vbG9nLmM6MTk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJSYW5nZS1kaWZmIGFnYWluc3QgdiVkOiIKIG1zZ3N0ciAiUmFuZ2UtZGlmZiBk4buxYSB0csOqbiB2JWQ6IgogCi0jOiBidWlsdGluL2xvZy5jOjE4NTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTk5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBzaWduYXR1cmUgZmlsZSAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIHThuq1wIHRpbiBjaOG7ryBrw70g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTg4NworIzogYnVpbHRpbi9sb2cuYzoyMDI5CiBtc2dpZCAiR2VuZXJhdGluZyBwYXRjaGVzIgogbXNnc3RyICLEkGFuZyB04bqhbyBjw6FjIG1p4bq/bmcgdsOhIgogCi0jOiBidWlsdGluL2xvZy5jOjE5MzEKLW1zZ2lkICJGYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBmaWxlcyIKLW1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHThuqFvIGPDoWMgdOG6rXAgdGluIGvhur90IHh14bqldCIKKyM6IGJ1aWx0aW4vbG9nLmM6MjA3MworbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdOG6oW8gY8OhYyB04bqtcCB0aW4ga+G6v3QgeHXhuqV0IgogCi0jOiBidWlsdGluL2xvZy5jOjE5ODkKKyM6IGJ1aWx0aW4vbG9nLmM6MjEzMgogbXNnaWQgImdpdCBjaGVycnkgWy12XSBbPHVwc3RyZWFtPiBbPGhlYWQ+IFs8bGltaXQ+XV1dIgogbXNnc3RyICJnaXQgY2hlcnJ5IFstdl0gWzx0aMaw4bujbmctbmd14buTbj4gWzzEkeG6p3U+IFs8Z2nhu5tpLWjhuqFuPl1dXSIKIAotIzogYnVpbHRpbi9sb2cuYzoyMDQzCisjOiBidWlsdGluL2xvZy5jOjIxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBmaW5kIGEgdHJhY2tlZCByZW1vdGUgYnJhbmNoLCBwbGVhc2Ugc3BlY2lmeSA8dXBzdHJlYW0+IG1hbnVhbGx5LlxuIgpAQCAtMTI2NTksMTEwICsxNTM4MCwxMTAgQEAKICJLaMO0bmcgdMOsbSB0aOG6pXkgbmjDoW5oIG3huqFuZyDEkcaw4bujYyB0aGVvIGTDtWksIGjDo3kgY2jhu4kgxJHhu4tuaCA8dGjGsOG7o25nLW5ndeG7k24+IG3hu5l0ICIKICJjw6FjaCB0aOG7pyBjw7RuZy5cbiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjQ2OQorIzogYnVpbHRpbi9scy1maWxlcy5jOjQ3MAogbXNnaWQgImdpdCBscy1maWxlcyBbPG9wdGlvbnM+XSBbPGZpbGU+Li4uXSIKLW1zZ3N0ciAiZ2l0IGxzLWZpbGVzIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8dOG6rXAtdGluPuKApl0iCittc2dzdHIgImdpdCBscy1maWxlcyBbPGPDoWMgdMO5eSBjaOG7jW4+XSBbPHThuq1wLXRpbj7igKZdIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI2CiBtc2dpZCAiaWRlbnRpZnkgdGhlIGZpbGUgc3RhdHVzIHdpdGggdGFncyIKIG1zZ3N0ciAibmjhuq1uIGThuqFuZyBjw6FjIHRy4bqhbmcgdGjDoWkgdOG6rXAgdGluIHbhu5tpIHRo4bq7IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI4CiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCiBtc2dzdHIgIiIKICJkw7luZyBjaOG7ryBjw6FpIHZp4bq/dCB0aMaw4budbmcgY2hvIGPDoWMgdOG6rXAgdGluIOKAnGFzc3VtZSB1bmNoYW5nZWTigJ0gKGdp4bqjIMSR4buLbmgga2jDtG5nICIKICJ0aGF5IMSR4buVaSkiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzAKIG1zZ2lkICJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdmc21vbml0b3IgY2xlYW4nIGZpbGVzIgogbXNnc3RyICJkw7luZyBjaOG7ryBjw6FpIHZp4bq/dCB0aMaw4budbmcgY2hvIGPDoWMgdOG6rXAgdGluIOKAnGZzbW9uaXRvciBjbGVhbuKAnSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMQorIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMgogbXNnaWQgInNob3cgY2FjaGVkIGZpbGVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQpIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gxJHGsOG7o2Mgbmjhu5sgdOG6oW0gdsOgbyDEkeG6p3UgcmEgKG3hurdjIMSR4buLbmgpIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTMzCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM0CiBtc2dpZCAic2hvdyBkZWxldGVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIHThuq1wIHRpbiDEkcOjIHjDs2EgdHJvbmcga+G6v3QgeHXhuqV0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTM2CiBtc2dpZCAic2hvdyBtb2RpZmllZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyB04bqtcCB0aW4gxJHDoyBi4buLIHPhu61hIMSR4buVaSByYSBr4bq/dCB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzgKIG1zZ2lkICJzaG93IG90aGVyIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIHThuq1wIHRpbiBraMOhYyB0cm9uZyBr4bq/dCB4deG6pXQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDAKIG1zZ2lkICJzaG93IGlnbm9yZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIGLhu4sgYuG7jyBxdWEgdHJvbmcga+G6v3QgeHXhuqV0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQzCiBtc2dpZCAic2hvdyBzdGFnZWQgY29udGVudHMnIG9iamVjdCBuYW1lIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyB0w6puIMSR4buRaSB0xrDhu6NuZyBj4bunYSBu4buZaSBkdW5nIMSRxrDhu6NjIMSR4bq3dCBsw6puIGLhu4cgcGjDs25nIHJhIGvhur90IHh14bqldCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0NQogbXNnaWQgInNob3cgZmlsZXMgb24gdGhlIGZpbGVzeXN0ZW0gdGhhdCBuZWVkIHRvIGJlIHJlbW92ZWQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIHThuq1wIHRpbiB0csOqbiBo4buHIHRo4buRbmcgdOG6rXAgdGluIG3DoCBuw7MgY+G6p24gxJHGsOG7o2MgZ+G7oSBi4buPIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ2CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQ3CiBtc2dpZCAic2hvdyAnb3RoZXInIGRpcmVjdG9yaWVzJyBuYW1lcyBvbmx5IgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgdMOqbiBj4bunYSBjw6FjIHRoxrAgbeG7pWMg4oCca2jDoWPigJ0iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDkKIG1zZ2lkICJzaG93IGxpbmUgZW5kaW5ncyBvZiBmaWxlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGvhur90IHRow7pjIGTDsm5nIGPhu6dhIGPDoWMgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTUwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTUxCiBtc2dpZCAiZG9uJ3Qgc2hvdyBlbXB0eSBkaXJlY3RvcmllcyIKIG1zZ3N0ciAia2jDtG5nIGhp4buDbiB0aOG7iyB0aMawIG3hu6VjIHLhu5duZyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NAogbXNnaWQgInNob3cgdW5tZXJnZWQgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIGNoxrBhIGjDsmEgdHLhu5luIHRyb25nIGvhur90IHh14bqldCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NgogbXNnaWQgInNob3cgcmVzb2x2ZS11bmRvIGluZm9ybWF0aW9uIgogbXNnc3RyICJoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiByZXNvbHZlLXVuZG8iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTcKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTgKIG1zZ2lkICJza2lwIGZpbGVzIG1hdGNoaW5nIHBhdHRlcm4iCiBtc2dzdHIgImLhu48gcXVhIG5o4buvbmcgdOG6rXAgdGluIGto4bubcCB24bubaSBt4buZdCBt4bqrdSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MQogbXNnaWQgImV4Y2x1ZGUgcGF0dGVybnMgYXJlIHJlYWQgZnJvbSA8ZmlsZT4iCiBtc2dzdHIgIm3huqt1IGxv4bqhaSB0cuG7qyDEkcaw4bujYyDEkeG7jWMgdOG7qyA8dOG6rXAgdGluPiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NAogbXNnaWQgInJlYWQgYWRkaXRpb25hbCBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgcGF0dGVybnMgaW4gPGZpbGU+IgogbXNnc3RyICLEkeG7jWMgdGjDqm0gY8OhYyBt4bqrdSBuZ2/huqFpIHRy4burIG3hu5dpIHRoxrAgbeG7pWMgdHJvbmcgPHThuq1wIHRpbj4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjYKIG1zZ2lkICJhZGQgdGhlIHN0YW5kYXJkIGdpdCBleGNsdXNpb25zIgogbXNnc3RyICJ0aMOqbSBsb+G6oWkgdHLhu6sgdGnDqnUgY2h14bqpbiBraeG7g3UgZ2l0IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTY5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTcwCiBtc2dpZCAibWFrZSB0aGUgb3V0cHV0IHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHRvcCBkaXJlY3RvcnkiCiBtc2dzdHIgImzDoG0gY2hvIGvhur90IHh14bqldCBsacOqbiBxdWFuIMSR4bq/biB0aMawIG3hu6VjIOG7nyBt4bupYyBjYW8gbmjhuqV0IChn4buRYykgY+G7p2EgZOG7sSDDoW4iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzIKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzMKIG1zZ2lkICJyZWN1cnNlIHRocm91Z2ggc3VibW9kdWxlcyIKIG1zZ3N0ciAixJHhu4cgcXV5IHh1ecOqbiBxdWEgbcO0LcSRdW4gY29uIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTc0CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc1CiBtc2dpZCAiaWYgYW55IDxmaWxlPiBpcyBub3QgaW4gdGhlIGluZGV4LCB0cmVhdCB0aGlzIGFzIGFuIGVycm9yIgogbXNnc3RyICJu4bq/dSA8dOG6rXAgdGluPiBi4bqldCBr4buzIGtow7RuZyDhu58gdHJvbmcgYuG6o25nIG3hu6VjIGzhu6VjLCB44butIGzDvSBuw7MgbmjGsCBt4buZdCBs4buXaSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU3NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU3NgogbXNnaWQgInRyZWUtaXNoIgogbXNnc3RyICJ0cmVlLWlzaCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU3NgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU3NwogbXNnaWQgInByZXRlbmQgdGhhdCBwYXRocyByZW1vdmVkIHNpbmNlIDx0cmVlLWlzaD4gYXJlIHN0aWxsIHByZXNlbnQiCiBtc2dzdHIgIiIKICJnaeG6oyDEkeG7i25oIHLhurFuZyBjw6FjIMSRxrDhu51uZyBk4bqrbiDEkcOjIGLhu4sgZ+G7oSBi4buPIGvhu4MgdOG7qyA8dHJlZS1pc2g+IG5heSB24bqrbiBoaeG7h24gZGnhu4duIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTc4CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc5CiBtc2dpZCAic2hvdyBkZWJ1Z2dpbmcgZGF0YSIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGThu68gbGnhu4d1IGfhu6EgbOG7l2kiCiAKQEAgLTEyNzgwLDcgKzE1NTAxLDcgQEAKIG1zZ2lkICJkbyBub3QgcHJpbnQgcmVtb3RlIFVSTCIKIG1zZ3N0ciAia2jDtG5nIGhp4buDbiB0aOG7iyBVUkwgbcOheSBjaOG7pyIKIAotIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MCBidWlsdGluL2xzLXJlbW90ZS5jOjYyIGJ1aWx0aW4vcmViYXNlLmM6OTAzCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjYwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIgYnVpbHRpbi9yZWJhc2UuYzoxNTE4CiBtc2dpZCAiZXhlYyIKIG1zZ3N0ciAidGjhu7FjIHRoaSIKIApAQCAtMTI4MDQsMTcgKzE1NTI1LDE3IEBACiBtc2dpZCAidGFrZSB1cmwuPGJhc2U+Lmluc3RlYWRPZiBpbnRvIGFjY291bnQiCiBtc2dzdHIgImzhuqV5IHVybC48YmFzZT4uaW5zdGVhZE9mIHbDoG8gdHJvbmcgdMOgaSBraG/huqNuIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjczCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjcyCiBtc2dpZCAiZXhpdCB3aXRoIGV4aXQgY29kZSAyIGlmIG5vIG1hdGNoaW5nIHJlZnMgYXJlIGZvdW5kIgogbXNnc3RyICJ0aG/DoXQgduG7m2kgbcOjIGzDoCAyIG7hur91IGtow7RuZyB0w6xtIHRo4bqleSB0aGFtIGNoaeG6v3UgbsOgbyBraOG7m3AiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzYKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzUKIG1zZ2lkICJzaG93IHVuZGVybHlpbmcgcmVmIGluIGFkZGl0aW9uIHRvIHRoZSBvYmplY3QgcG9pbnRlZCBieSBpdCIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIHRoYW0gY2hp4bq/dSBu4bqxbSBkxrDhu5tpIMSR4buDIHRow6ptIHbDoG8gxJHhu5FpIHTGsOG7o25nIMSRxrDhu6NjIGNo4buJIGLhu59pIG7DsyIKIAogIzogYnVpbHRpbi9scy10cmVlLmM6MzAKIG1zZ2lkICJnaXQgbHMtdHJlZSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgotbXNnc3RyICJnaXQgbHMtdHJlZSBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8dHJlZS1pc2g+IFs8xJHGsOG7nW5nLWThuqtuPuKApl0iCittc2dzdHIgImdpdCBscy10cmVlIFs8Y8OhYyB0w7l5IGNo4buNbj5dIDx0cmVlLWlzaD4gWzwvxJHGsOG7nW5nL2ThuqtuPuKApl0iCiAKICM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEyOAogbXNnaWQgIm9ubHkgc2hvdyB0cmVlcyIKQEAgLTEyODUzLDI2NiArMTU1NzQsMjg2IEBACiBtc2dpZCAiZW1wdHkgbWJveDogJyVzJyIKIG1zZ3N0ciAibWJveCB0cuG7kW5nIHLhu5duZzog4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1MgorIzogYnVpbHRpbi9tZXJnZS5jOjU1CiBtc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIFs8Y29tbWl0Pi4uLl0iCi1tc2dzdHIgImdpdCBtZXJnZSBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbPGNvbW1pdD7igKZdIgorbXNnc3RyICJnaXQgbWVyZ2UgWzxjw6FjIHTDuXkgY2jhu41uPl0gWzxjb21taXQ+4oCmXSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjUzCisjOiBidWlsdGluL21lcmdlLmM6NTYKIG1zZ2lkICJnaXQgbWVyZ2UgLS1hYm9ydCIKIG1zZ3N0ciAiZ2l0IG1lcmdlIC0tYWJvcnQiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1NAorIzogYnVpbHRpbi9tZXJnZS5jOjU3CiBtc2dpZCAiZ2l0IG1lcmdlIC0tY29udGludWUiCiBtc2dzdHIgImdpdCBtZXJnZSAtLWNvbnRpbnVlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTExCisjOiBidWlsdGluL21lcmdlLmM6MTE4CiBtc2dpZCAic3dpdGNoIGBtJyByZXF1aXJlcyBhIHZhbHVlIgogbXNnc3RyICJzd2l0Y2gg4oCcbeKAnSB5w6p1IGPhuqd1IG3hu5l0IGdpw6EgdHLhu4siCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNzcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgcmVxdWlyZXMgYSB2YWx1ZSIKK21zZ3N0ciAidMO5eSBjaOG7jW4g4oCcJXPigJ0gecOqdSBj4bqndSBt4buZdCBnacOhIHRy4buLIgorCisjOiBidWlsdGluL21lcmdlLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIG1lcmdlIHN0cmF0ZWd5ICclcycuXG4iCiBtc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSBjaGnhur9uIGzGsOG7o2MgaMOyYSB0cuG7mW4g4oCcJXPigJ0uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAiQ8OhYyBjaGnhur9uIGzGsOG7o2Mgc+G6tW4gc8OgbmcgbMOgOiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE4MworIzogYnVpbHRpbi9tZXJnZS5jOjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBdmFpbGFibGUgY3VzdG9tIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAiQ8OhYyBjaGnhur9uIGzGsOG7o2MgdMO5eSBjaOG7iW5oIHPhurVuIHPDoG5nIGzDoDoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzQgYnVpbHRpbi9wdWxsLmM6MTQzCisjOiBidWlsdGluL21lcmdlLmM6MjQ0IGJ1aWx0aW4vcHVsbC5jOjE1MgogbXNnaWQgImRvIG5vdCBzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgImtow7RuZyBoaeG7g24gdGjhu4sgdGjhu5FuZyBrw6oga2jDoWMgYmnhu4d0IHThuqFpIGN14buRaSBj4bunYSBs4bqnbiBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzNyBidWlsdGluL3B1bGwuYzoxNDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDcgYnVpbHRpbi9wdWxsLmM6MTU1CiBtc2dpZCAic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICJoaeG7g24gdGjhu4sgdGjhu5FuZyBrw6oga2jDoWMgYmnhu4d0IHThuqFpIGN14buRaSBj4bunYSBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzOCBidWlsdGluL3B1bGwuYzoxNDkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDggYnVpbHRpbi9wdWxsLmM6MTU4CiBtc2dpZCAiKHN5bm9ueW0gdG8gLS1zdGF0KSIKIG1zZ3N0ciAiKMSR4buTbmcgbmdoxKlhIHbhu5tpIC0tc3RhdCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDAgYnVpbHRpbi9wdWxsLmM6MTUyCisjOiBidWlsdGluL21lcmdlLmM6MjUwIGJ1aWx0aW4vcHVsbC5jOjE2MQogbXNnaWQgImFkZCAoYXQgbW9zdCA8bj4pIGVudHJpZXMgZnJvbSBzaG9ydGxvZyB0byBtZXJnZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAidGjDqm0gKMOtdCBuaOG6pXQgPG4+KSBt4bulYyB04burIHNob3J0bG9nIGNobyBnaGkgY2jDuiBjaHV54buDbiBnaWFvIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQzIGJ1aWx0aW4vcHVsbC5jOjE1OAorIzogYnVpbHRpbi9tZXJnZS5jOjI1MyBidWlsdGluL3B1bGwuYzoxNjcKIG1zZ2lkICJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIKIG1zZ3N0ciAidOG6oW8gbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyDEkcawb24gdGhheSB2w6wgdGjhu7FjIGhp4buHbiB2aeG7h2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDUgYnVpbHRpbi9wdWxsLmM6MTYxCisjOiBidWlsdGluL21lcmdlLmM6MjU1IGJ1aWx0aW4vcHVsbC5jOjE3MAogbXNnaWQgInBlcmZvcm0gYSBjb21taXQgaWYgdGhlIG1lcmdlIHN1Y2NlZWRzIChkZWZhdWx0KSIKIG1zZ3N0ciAidGjhu7FjIGhp4buHbiBjaHV54buDbiBnaWFvIG7hur91IGjDsmEgdHLhu5luIHRow6BuaCBjw7RuZyAobeG6t2MgxJHhu4tuaCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDcgYnVpbHRpbi9wdWxsLmM6MTY0CisjOiBidWlsdGluL21lcmdlLmM6MjU3IGJ1aWx0aW4vcHVsbC5jOjE3MwogbXNnaWQgImVkaXQgbWVzc2FnZSBiZWZvcmUgY29tbWl0dGluZyIKIG1zZ3N0ciAic+G7rWEgY2jDuiB0aMOtY2ggdHLGsOG7m2Mga2hpIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTkKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQgKGRlZmF1bHQpIgogbXNnc3RyICJjaG8gcGjDqXAgY2h1eeG7g24tdGnhur9wLW5oYW5oICht4bq3YyDEkeG7i25oKSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1MCBidWlsdGluL3B1bGwuYzoxNzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjEgYnVpbHRpbi9wdWxsLmM6MTgwCiBtc2dpZCAiYWJvcnQgaWYgZmFzdC1mb3J3YXJkIGlzIG5vdCBwb3NzaWJsZSIKIG1zZ3N0ciAiYuG7jyBxdWEgbuG6v3UgY2h1eeG7g24tdGnhur9wLW5oYW5oIGtow7RuZyB0aOG7gyDEkcaw4bujYyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NCBidWlsdGluL3B1bGwuYzoxNzMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjUgYnVpbHRpbi9wdWxsLmM6MTgzCiBtc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgogbXNnc3RyICJ0aOG6qW0gdHJhIHhlbSBs4bqnbiBjaHV54buDbiBnaWFvIGPDsyB0w6puIMSRw7MgY8OzIGNo4buvIGvDvSBHUEcgaOG7o3AgbOG7hyBoYXkga2jDtG5nIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU1IGJ1aWx0aW4vbm90ZXMuYzo3ODQgYnVpbHRpbi9wdWxsLmM6MTc3Ci0jOiBidWlsdGluL3JlYmFzZS5jOjkxNiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODYgYnVpbHRpbi9yZXZlcnQuYzoxMTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjYgYnVpbHRpbi9ub3Rlcy5jOjc4NyBidWlsdGluL3B1bGwuYzoxODcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTEyIGJ1aWx0aW4vcmViYXNlLmM6MTUzMSBidWlsdGluL3JldmVydC5jOjExNAogbXNnaWQgInN0cmF0ZWd5IgogbXNnc3RyICJjaGnhur9uIGzGsOG7o2MiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTYgYnVpbHRpbi9wdWxsLmM6MTc4CisjOiBidWlsdGluL21lcmdlLmM6MjY3IGJ1aWx0aW4vcHVsbC5jOjE4OAogbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIKIG1zZ3N0ciAiY2hp4bq/biBsxrDhu6NjIGjDsmEgdHLhu5luIHPhur0gZMO5bmciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTcgYnVpbHRpbi9wdWxsLmM6MTgxCisjOiBidWlsdGluL21lcmdlLmM6MjY4IGJ1aWx0aW4vcHVsbC5jOjE5MQogbXNnaWQgIm9wdGlvbj12YWx1ZSIKIG1zZ3N0ciAidMO5eV9jaOG7jW49Z2nDoV90cuG7iyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1OCBidWlsdGluL3B1bGwuYzoxODIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjkgYnVpbHRpbi9wdWxsLmM6MTkyCiBtc2dpZCAib3B0aW9uIGZvciBzZWxlY3RlZCBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gY2hvIGNoaeG6v24gbMaw4bujYyBow7JhIHRy4buZbiDEkcOjIGNo4buNbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2MAorIzogYnVpbHRpbi9tZXJnZS5jOjI3MQogbXNnaWQgIm1lcmdlIGNvbW1pdCBtZXNzYWdlIChmb3IgYSBub24tZmFzdC1mb3J3YXJkIG1lcmdlKSIKIG1zZ3N0ciAiIgogImjDsmEgdHLhu5luIGdoaSBjaMO6IGPhu6dhIGzhuqduIGNodXnhu4NuIGdpYW8gKGTDoG5oIGNobyBow7JhIHRy4buZbiBraMO0bmctY2h1eeG7g24tdGnhur9wLSIKICJuaGFuaCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzgKIG1zZ2lkICJhYm9ydCB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAiYsOjaSBi4buPIHF1w6EgdHLDrG5oIGjDsmEgdHLhu5luIGhp4buHbiB04bqhaSDEkWFuZyB0aOG7sWMgaGnhu4duIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjY5CisjOiBidWlsdGluL21lcmdlLmM6MjgwCittc2dpZCAiLS1hYm9ydCBidXQgbGVhdmUgaW5kZXggYW5kIHdvcmtpbmcgdHJlZSBhbG9uZSIKK21zZ3N0ciAiLS1hYm9ydCBuaMawbmcgxJHhu4MgbOG6oWkgYuG6o25nIG3hu6VjIGzhu6VjIHbDoCBjw6J5IGzDoG0gdmnhu4djIgorCisjOiBidWlsdGluL21lcmdlLmM6MjgyCiBtc2dpZCAiY29udGludWUgdGhlIGN1cnJlbnQgaW4tcHJvZ3Jlc3MgbWVyZ2UiCiBtc2dzdHIgInRp4bq/cCB04bulYyBxdcOhIHRyw6xuaCBow7JhIHRy4buZbiBoaeG7h24gdOG6oWkgxJFhbmcgdGjhu7FjIGhp4buHbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI3MSBidWlsdGluL3B1bGwuYzoxODkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODQgYnVpbHRpbi9wdWxsLmM6MTk5CiBtc2dpZCAiYWxsb3cgbWVyZ2luZyB1bnJlbGF0ZWQgaGlzdG9yaWVzIgogbXNnc3RyICJjaG8gcGjDqXAgaMOyYSB0cuG7mW4gbOG7i2NoIHPhu60ga2jDtG5nIGxpw6puIHF1YW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNzcKLW1zZ2lkICJ2ZXJpZnkgY29tbWl0LW1zZyBob29rIgotbXNnc3RyICJ0aOG6qW0gdHJhIG3Ds2MgKGhvb2spIGNvbW1pdC1tc2ciCisjOiBidWlsdGluL21lcmdlLmM6MjkwCittc2dpZCAiYnlwYXNzIHByZS1tZXJnZS1jb21taXQgYW5kIGNvbW1pdC1tc2cgaG9va3MiCittc2dzdHIgInbDsm5nIHF1YSBtw7NjIChob29rKSBwcmUtbWVyZ2UtY29tbWl0IHbDoCBjb21taXQtbXNnIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzAyCisjOiBidWlsdGluL21lcmdlLmM6MzA3CiBtc2dpZCAiY291bGQgbm90IHJ1biBzdGFzaC4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyBjaOG6oXkgc3Rhc2guIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzA3CisjOiBidWlsdGluL21lcmdlLmM6MzEyCiBtc2dpZCAic3Rhc2ggZmFpbGVkIgogbXNnc3RyICJs4buHbmggdOG6oW0gY+G6pXQgZ+G6t3AgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozMTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0OiAlcyIKIG1zZ3N0ciAia2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgxJHhu5FpIHTGsOG7o25nIGjhu6NwIGzhu4c6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzM0IGJ1aWx0aW4vbWVyZ2UuYzozNTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMzkgYnVpbHRpbi9tZXJnZS5jOjM1NgogbXNnaWQgInJlYWQtdHJlZSBmYWlsZWQiCiBtc2dzdHIgInJlYWQtdHJlZSBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjM4MQorIzogYnVpbHRpbi9tZXJnZS5jOjM4NgogbXNnaWQgIiAobm90aGluZyB0byBzcXVhc2gpIgogbXNnc3RyICIgKGtow7RuZyBjw7MgZ8OsIMSR4buDIHNxdWFzaCkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozOTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICJTcXVhc2ggY29tbWl0IC0tIGtow7RuZyBj4bqtcCBuaOG6rXQgSEVBRFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDQyCisjOiBidWlsdGluL21lcmdlLmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIG1lc3NhZ2UgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBs4budaSBjaMO6IHRow61jaCBow7JhIHRy4buZbiAtLSBuw6puIGtow7RuZyBj4bqtcCBuaOG6rXQgSEVBRFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDkzCisjOiBidWlsdGluL21lcmdlLmM6NDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCiBtc2dzdHIgIuKAnCVz4oCdIGtow7RuZyBjaOG7iSDEkeG6v24gbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyBuw6BvIGPhuqMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1ODAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAiQ2h14buXaSBicmFuY2guJXMubWVyZ2VvcHRpb25zIHNhaTogJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3MDEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MDUKIG1zZ2lkICJOb3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgotbXNnc3RyICJLaMO0bmcgY+G6p20gbuG6r20gZ8OsIG5nb8OgaSBoYWkgaGVhZCBow7JhIHRy4buZbiIKK21zZ3N0ciAiS2jDtG5nIGPhuqdtIG7huq9tIGfDrCBuZ2/DoGkgaGFpIGhlYWQgaMOyYSB0cuG7mW4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzE1CisjOiBidWlsdGluL21lcmdlLmM6NzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gb3B0aW9uIGZvciBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiBtc2dzdHIgIktow7RuZyBoaeG7g3UgdMO5eSBjaOG7jW4gY2hvIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjczMAorIzogYnVpbHRpbi9tZXJnZS5jOjczNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3ODIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgZnJvbSAnJXMnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu41jIHThu6sg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGNvbW1pdHRpbmcgbWVyZ2U7IHVzZSAnZ2l0IGNvbW1pdCcgdG8gY29tcGxldGUgdGhlIG1lcmdlLlxuIgogbXNnc3RyICIiCiAiVuG6q24gY2jGsGEgaMOyYSB0cuG7mW4gY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvOyBz4butIGThu6VuZyBs4buHbmgg4oCcZ2l0IGNvbW1pdOKAnSDEkeG7gyBob8OgbiB04bqldCAiCiAidmnhu4djIGjDsmEgdHLhu5luLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6Nzk3Ci0jLCBjLWZvcm1hdAorIzogYnVpbHRpbi9tZXJnZS5jOjgwMQogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgYSBjb21taXQgbWVzc2FnZSB0byBleHBsYWluIHdoeSB0aGlzIG1lcmdlIGlzIG5lY2Vzc2FyeSxcbiIKICJlc3BlY2lhbGx5IGlmIGl0IG1lcmdlcyBhbiB1cGRhdGVkIHVwc3RyZWFtIGludG8gYSB0b3BpYyBicmFuY2guXG4iCiAiXG4iCi0iTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUgaWdub3JlZCwgYW5kIGFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzXG4iCi0idGhlIGNvbW1pdC5cbiIKIG1zZ3N0ciAiIgogIkjDo3kgbmjhuq1wIHbDoG8gY8OhYyB0aMO0bmcgdGluIMSR4buDIGdp4bqjaSB0aMOtY2ggdOG6oWkgc2FvIHPhu7EgaMOyYSB0cuG7mW4gbsOgeSBsw6AgY+G6p24gIgogInRoaeG6v3QsXG4iCiAixJHhurdjIGJp4buHdCBsw6Aga2hpIG7DsyBow7JhIHRy4buZbiB0aMaw4bujbmcgbmd14buTbiDEkcOjIGPhuq1wIG5o4bqtdCB2w6BvIHRyb25nIG3hu5l0IG5ow6FuaCAiCiAidG9waWMuXG4iCiAiXG4iCi0iTmjhu69uZyBkw7JuZyDEkcaw4bujYyBi4bqvdCDEkeG6p3UgYuG6sW5nIOKAnCVj4oCdIHPhur0gxJHGsOG7o2MgYuG7jyBxdWEsIHbDoCBwaOG6p24gY2jDuiB0aMOtY2ggbsOgeSBu4bq/dSAiCi0icuG7l25nXG4iCi0ic+G6vSBo4buneSBi4buPIGzhuqduIGNodXnhu4NuIGdpYW8uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4MzMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDYKK21zZ2lkICJBbiBlbXB0eSBtZXNzYWdlIGFib3J0cyB0aGUgY29tbWl0LlxuIgorbXNnc3RyICJO4bq/dSBwaOG6p24gY2jDuiB0aMOtY2ggcuG7l25nIHPhur0gaOG7p3kgYuG7jyBs4bqnbiBjaHV54buDbiBnaWFvLlxuIgorCisjOiBidWlsdGluL21lcmdlLmM6ODA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMaW5lcyBzdGFydGluZyB3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLCBhbmQgYW4gZW1wdHkgbWVzc2FnZSBhYm9ydHNcbiIKKyJ0aGUgY29tbWl0LlxuIgorbXNnc3RyICIiCisiTmjhu69uZyBkw7JuZyDEkcaw4bujYyBi4bqvdCDEkeG6p3UgYuG6sW5nIOKAnCVj4oCdIHPhur0gxJHGsOG7o2MgYuG7jyBxdWEsIHbDoCBu4bq/dSBwaOG6p24gY2jDulxuIgorInRow61jaCBy4buXbmcgc+G6vSBo4buneSBi4buPIGzhuqduIGNodXnhu4NuIGdpYW8uXG4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NjIKIG1zZ2lkICJFbXB0eSBjb21taXQgbWVzc2FnZS4iCiBtc2dzdHIgIkNow7ogdGjDrWNoIGPhu6dhIGzhuqduIGNvbW1pdCAoY2h1eeG7g24gZ2lhbykgYuG7iyB0cuG7kW5nIHLhu5duZy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo4NTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiV29uZGVyZnVsLlxuIgogbXNnc3RyICJUdXnhu4d0IHbhu51pLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTA1CisjOiBidWlsdGluL21lcmdlLmM6OTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG9tYXRpYyBtZXJnZSBmYWlsZWQ7IGZpeCBjb25mbGljdHMgYW5kIHRoZW4gY29tbWl0IHRoZSByZXN1bHQuXG4iCiBtc2dzdHIgIiIKICJWaeG7h2MgdOG7sSDEkeG7mW5nIGjDsmEgdHLhu5luIGfhurdwIGzhu5dpOyBow6N5IHPhu61hIGPDoWMgeHVuZyDEkeG7mXQgc2F1IMSRw7MgY2h1eeG7g24gZ2lhbyBr4bq/dCAiCiAicXXhuqMuXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzcKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCi1tc2dzdHIgImtow7RuZyBwaOG6o2kgbmjDoW5oIGhp4buHbiBow6BuaCIKK21zZ3N0ciAiS2jDtG5nIHBo4bqjaSBuaMOhbmggaGnhu4duIGjDoG5oLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0NgorIzogYnVpbHRpbi9tZXJnZS5jOjk3OQogbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBtw6F5IGNo4bunIGNobyBuaMOhbmggaGnhu4duIGjDoG5oLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0OAorIzogYnVpbHRpbi9tZXJnZS5jOjk4MQogbXNnaWQgIk5vIGRlZmF1bHQgdXBzdHJlYW0gZGVmaW5lZCBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAiS2jDtG5nIGPDsyB0aMaw4bujbmcgbmd14buTbiBt4bq3YyDEkeG7i25oIMSRxrDhu6NjIMSR4buLbmggbmdoxKlhIGNobyBuaMOhbmggaGnhu4duIGjDoG5oLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk1MworIzogYnVpbHRpbi9tZXJnZS5jOjk4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJObyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIGZvciAlcyBmcm9tICVzIgogbXNnc3RyICJLaMO0bmcgbmjDoW5oIG3huqFuZyB0aGVvIGTDtWkgY2hvICVzIHThu6sgJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDEwCisjOiBidWlsdGluL21lcmdlLmM6MTA0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgdmFsdWUgJyVzJyBpbiBlbnZpcm9ubWVudCAnJXMnIgogbXNnc3RyICJHacOhIHRy4buLIHNhaSDigJwlc+KAnSB0cm9uZyBiaeG6v24gbcO0aSB0csaw4budbmcg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTEzCisjOiBidWlsdGluL21lcmdlLmM6MTE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCiBtc2dzdHIgImtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRo4bupIGfDrCDEkcOzIG3DoCBjaMO6bmcgdMO0aSBjw7MgdGjhu4MgaMOyYSB0cuG7mW4gdHJvbmcgJXM6ICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTE0NworIzogYnVpbHRpbi9tZXJnZS5jOjExODAKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKIG1zZ3N0ciAia2jDtG5nIHBo4bqjaSBsw6AgdGjhu6kgZ8OsIMSRw7MgbcOgIGNow7puZyB0w7RpIGPDsyB0aOG7gyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjgzCiBtc2dpZCAiLS1hYm9ydCBleHBlY3RzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiLS1hYm9ydCBraMO0bmcgbmjhuq1uIGPDoWMgxJHhu5FpIHPhu5EiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjU0CisjOiBidWlsdGluL21lcmdlLmM6MTI4NwogbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIHRvIGFib3J0IChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKIG1zZ3N0ciAiIgogIuG7niDEkcOieSBraMO0bmcgY8OzIGzhuqduIGjDsmEgdHLhu5luIG7DoG8gxJHGsOG7o2MgaOG7p3kgYuG7jyBnaeG7r2EgY2jhu6tuZyBj4bqjICh0aGnhur91IE1FUkdFX0hFQUQpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNjYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk2Cittc2dpZCAiLS1xdWl0IGV4cGVjdHMgbm8gYXJndW1lbnRzIgorbXNnc3RyICItLXF1aXQga2jDtG5nIG5o4bqtbiBjw6FjIMSR4buRaSBz4buRIgorCisjOiBidWlsdGluL21lcmdlLmM6MTMwOQogbXNnaWQgIi0tY29udGludWUgZXhwZWN0cyBubyBhcmd1bWVudHMiCiBtc2dzdHIgIi0tY29udGludWUga2jDtG5nIG5o4bqtbiDEkeG7kWkgc+G7kSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzEzCiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgaW4gcHJvZ3Jlc3MgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICLhu54gxJHDonkga2jDtG5nIGPDsyBs4bqnbiBow7JhIHRy4buZbiBuw6BvIMSRYW5nIMSRxrDhu6NjIHjhu60gbMO9IGPhuqMgKHRoaeG6v3UgTUVSR0VfSEVBRCkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI4NgorIzogYnVpbHRpbi9tZXJnZS5jOjEzMjkKIG1zZ2lkICIiCiAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuXG4iCiAiUGxlYXNlLCBjb21taXQgeW91ciBjaGFuZ2VzIGJlZm9yZSB5b3UgbWVyZ2UuIgpAQCAtMTMxMjAsNyArMTU4NjEsNyBAQAogIkLhuqFuIGNoxrBhIGvhur90IHRow7pjIHZp4buHYyBow7JhIHRy4buZbiAoTUVSR0VfSEVBRCB24bqrbiB04buTbiB04bqhaSkuXG4iCiAiSMOjeSBjaHV54buDbiBnaWFvIGPDoWMgdGhheSDEkeG7lWkgdHLGsOG7m2Mga2hpIGLhuqFuIGPDsyB0aOG7gyBow7JhIHRy4buZbi4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjkzCisjOiBidWlsdGluL21lcmdlLmM6MTMzNgogbXNnaWQgIiIKICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS5cbiIKICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCkBAIC0xMzEyOCw5NCArMTU4NjksOTggQEAKICJC4bqhbiBjaMawYSBr4bq/dCB0aMO6YyB2aeG7h2MgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgduG6q24gdOG7k24gdOG6oWkpLlxuIgogIkjDo3kgY2h1eeG7g24gZ2lhbyBjw6FjIHRoYXkgxJHhu5VpIHRyxrDhu5tjIGtoaSBi4bqhbiBjw7MgdGjhu4MgaMOyYSB0cuG7mW4uIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI5NgorIzogYnVpbHRpbi9tZXJnZS5jOjEzMzkKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIkLhuqFuIGNoxrBhIGvhur90IHRow7pjIHZp4buHYyBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCB24bqrbiB04buTbiB04bqhaSkuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMwNQorIzogYnVpbHRpbi9tZXJnZS5jOjEzNTMKIG1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLW5vLWZmLiIKIG1zZ3N0ciAiQuG6oW4ga2jDtG5nIHRo4buDIGvhur90IGjhu6NwIC0tc3F1YXNoIHbhu5tpIC0tbm8tZmYuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMxMworIzogYnVpbHRpbi9tZXJnZS5jOjEzNTUKK21zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLWNvbW1pdC4iCittc2dzdHIgIkLhuqFuIGtow7RuZyB0aOG7gyBr4bq/dCBo4bujcCAtLXNxdWFzaCB24bubaSAtLWNvbW1pdC4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzcxCiBtc2dpZCAiTm8gY29tbWl0IHNwZWNpZmllZCBhbmQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm90IHNldC4iCiBtc2dzdHIgIktow7RuZyBjaOG7iSByYSBs4bqnbiBjaHV54buDbiBnaWFvIHbDoCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBjaMawYSDEkcaw4bujYyDEkeG6t3QuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMzMAorIzogYnVpbHRpbi9tZXJnZS5jOjEzODgKIG1zZ2lkICJTcXVhc2ggY29tbWl0IGludG8gZW1wdHkgaGVhZCBub3Qgc3VwcG9ydGVkIHlldCIKIG1zZ3N0ciAiU3F1YXNoIGNvbW1pdCB2w6BvIG3hu5l0IGhlYWQgdHLhu5FuZyBy4buXbmcgduG6q24gY2jGsGEgxJHGsOG7o2MgaOG7lyB0cuG7oyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMzIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzkwCiBtc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCiBtc2dzdHIgIiIKICJDaHV54buDbiBnaWFvIGtow7RuZy1jaHV54buDbi10aeG6v3Atbmhhbmgga2jDtG5nIGjhu6NwIGzDvSDhu58gdHJvbmcgbeG7mXQgaGVhZCB0cuG7kW5nIHLhu5duZyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMzcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIC0gbm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIiVzIC0ga2jDtG5nIHBo4bqjaSBsw6AgdGjhu6kgZ8OsIMSRw7MgbcOgIGNow7puZyB0w7RpIGPDsyB0aOG7gyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMzkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzk3CiBtc2dpZCAiQ2FuIG1lcmdlIG9ubHkgZXhhY3RseSBvbmUgY29tbWl0IGludG8gZW1wdHkgaGVhZCIKIG1zZ3N0ciAiIgogIktow7RuZyB0aOG7gyBow7JhIHRy4buZbiBt4buZdCBjw6FjaCDEkcO6bmcgxJHhuq9uIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gdsOgbyBt4buZdCBoZWFkIHLhu5duZyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MjEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc2CiBtc2dpZCAicmVmdXNpbmcgdG8gbWVyZ2UgdW5yZWxhdGVkIGhpc3RvcmllcyIKIG1zZ3N0ciAidOG7qyBjaOG7kWkgaMOyYSB0cuG7mW4gbOG7i2NoIHPhu60ga2jDtG5nIGxpw6puIHF1YW4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDMwCisjOiBidWlsdGluL21lcmdlLmM6MTQ4NQogbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgIsSQw6MgY+G6rXAgbmjhuq10IHLhu5NpLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0NDAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVwZGF0aW5nICVzLi4lc1xuIgogbXNnc3RyICLEkGFuZyBj4bqtcCBuaOG6rXQgJXMuLiVzXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDgyCisjOiBidWlsdGluL21lcmdlLmM6MTUzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJUcnlpbmcgcmVhbGx5IHRyaXZpYWwgaW4taW5kZXggbWVyZ2UuLi5cbiIKIG1zZ3N0ciAixJBhbmcgdGjhu60gaMOyYSB0cuG7mW4ga2nhu4N1IOKAnHRyaXZpYWwgaW4taW5kZXjigJ3igKZcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0ODkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vcGUuXG4iCiBtc2dzdHIgIktow7RuZy5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1MTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTY5CiBtc2dpZCAiQWxyZWFkeSB1cCB0byBkYXRlLiBZZWVhaCEiCiBtc2dzdHIgIsSQw6MgY+G6rXAgbmjhuq10IHLhu5NpLiBZZWVhaCEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTIwCisjOiBidWlsdGluL21lcmdlLmM6MTU3NQogbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKIG1zZ3N0ciAiVGjhu7FjIGhp4buHbiBs4buHbmggY2h1eeG7g24tdGnhur9wLW5oYW5oIGzDoCBraMO0bmcgdGjhu4MgxJHGsOG7o2MsIMSRYW5nIGLhu48gcXVhLiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NDMgYnVpbHRpbi9tZXJnZS5jOjE2MjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTk4IGJ1aWx0aW4vbWVyZ2UuYzoxNjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJld2luZGluZyB0aGUgdHJlZSB0byBwcmlzdGluZS4uLlxuIgogbXNnc3RyICLEkGFuZyB0dWEgbOG6oWkgY8OieSB0aMOgbmggdGjhu51pIHhhIHjGsGHigKZcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgogbXNnc3RyICLEkGFuZyB0aOG7rSBjaGnhur9uIGzGsOG7o2MgaMOyYSB0cuG7mW4gJXPigKZcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIHN0cmF0ZWd5IGhhbmRsZWQgdGhlIG1lcmdlLlxuIgogbXNnc3RyICJLaMO0bmcgY8OzIGNoaeG6v24gbMaw4bujYyBow7JhIHRy4buZbiBuw6BvIMSRxrDhu6NjIG7huq9tIGdp4buvIChoYW5kbGUpIHPhu7EgaMOyYSB0cuG7mW4uXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjE1CisjOiBidWlsdGluL21lcmdlLmM6MTY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJNZXJnZSB3aXRoIHN0cmF0ZWd5ICVzIGZhaWxlZC5cbiIKIG1zZ3N0ciAiSMOyYSB0cuG7mW4gduG7m2kgY2hp4bq/biBsxrDhu6NjICVzIGfhurdwIGzhu5dpLlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYyNAorIzogYnVpbHRpbi9tZXJnZS5jOjE2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNpbmcgdGhlICVzIHRvIHByZXBhcmUgcmVzb2x2aW5nIGJ5IGhhbmQuXG4iCiBtc2dzdHIgIlPhu60gZOG7pW5nICVzIMSR4buDIGNodeG6qW4gYuG7iyBnaeG6o2kgcXV54bq/dCBi4bqxbmcgdGF5LlxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYzNgorIzogYnVpbHRpbi9tZXJnZS5jOjE2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIHdlbnQgd2VsbDsgc3RvcHBlZCBiZWZvcmUgY29tbWl0dGluZyBhcyByZXF1ZXN0ZWRcbiIKIG1zZ3N0ciAiIgpAQCAtMTMyNjcsNyArMTYwMTIsNyBAQAogImdpdCBtZXJnZS1maWxlIFs8b3B0aW9ucz5dIFstTCA8bmFtZTE+IFstTCA8b3JpZz4gWy1MIDxuYW1lMj5dXV0gPGZpbGUxPiAiCiAiPG9yaWctZmlsZT4gPGZpbGUyPiIKIG1zZ3N0ciAiIgotImdpdCBtZXJnZS1maWxlIFs8Y8OhYy10w7l5LWNo4buNbj5dIFstTCA8dMOqbjE+IFstTCA8Z+G7kWM+IFstTCA8dMOqbjI+XV1dIDx04bqtcC0iCisiZ2l0IG1lcmdlLWZpbGUgWzxjw6FjIHTDuXkgY2jhu41uPl0gWy1MIDx0w6puMT4gWy1MIDxn4buRYz4gWy1MIDx0w6puMj5dXV0gPHThuq1wLSIKICJ0aW4xPiA8dOG6rXAtdGluLWfhu5FjPiA8dOG6rXAtdGluMj4iCiAKICM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjM1CkBAIC0xMzMwMiwzMiArMTYwNDcsMzIgQEAKIG1zZ2lkICJzZXQgbGFiZWxzIGZvciBmaWxlMS9vcmlnLWZpbGUvZmlsZTIiCiBtc2dzdHIgIsSR4bq3dCBuaMOjbiBjaG8gdOG6rXAtdGluLTEvdOG6rXAtdGluLWfhu5FjL3Thuq1wLXRpbi0yIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjQ1CisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gb3B0aW9uICVzIgogbXNnc3RyICJraMO0bmcgaGnhu4N1IHTDuXkgY2jhu41uICVzIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjUxCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIMSR4buRaSB0xrDhu6NuZyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1NQorIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCBiYXNlLiBJZ25vcmluZyAlcy4iCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2VzLiBJZ25vcmluZyAlcy4iCi1tc2dzdHJbMF0gImtow7RuZyB0aOG7gyB44butIGzDvSBuaGnhu4F1IGjGoW4gJWQgbuG7gW4uIELhu48gcXVhICVzIgorbXNnc3RyWzBdICJraMO0bmcgdGjhu4MgeOG7rSBsw70gbmhp4buBdSBoxqFuICVkIG7hu4FuLiBC4buPIHF1YSAlcy4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjMKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NjUKIG1zZ2lkICJub3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgotbXNnc3RyICJraMO0bmcgY+G6p20gbuG6r20gZ8OsIG5nb8OgaSBoYWkgaGVhZCBow7JhIHRy4buZbiIKK21zZ3N0ciAia2jDtG5nIHjhu60gbMO9IGfDrCBuZ2/DoGkgaGFpIGhlYWQgaMOyYSB0cuG7mW4uIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjY5IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzEKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzQgYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSByZWYgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIGdp4bqjaSB0aGFtIGNoaeG6v3UgJXMiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzcKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2luZyAlcyB3aXRoICVzXG4iCiBtc2dzdHIgIsSQYW5nIGjDsmEgdHLhu5luICVzIHbhu5tpICVzXG4iCkBAIC0xMzM0MCw3ICsxNjA4NSw3IEBACiBtc2dpZCAiaW5wdXQgaXMgTlVMIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIsSR4bqndSB2w6BvIMSRxrDhu6NjIGNo4bqlbSBk4bupdCBi4bufaSBOVUwiCiAKLSM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU1IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI1CisjOiBidWlsdGluL21rdHJlZS5jOjE1NSBidWlsdGluL3dyaXRlLXRyZWUuYzoyNgogbXNnaWQgImFsbG93IG1pc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAiY2hvIHBow6lwIHRoaeG6v3UgxJHhu5FpIHTGsOG7o25nIgogCkBAIC0xMzM0OCwxNTggKzE2MDkzLDE3NCBAQAogbXNnaWQgImFsbG93IGNyZWF0aW9uIG9mIG1vcmUgdGhhbiBvbmUgdHJlZSIKIG1zZ3N0ciAiY2hvIHBow6lwIHThuqFvIG5oaeG7gXUgaMahbiBt4buZdCBjw6J5IgogCi0jOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo4Ci1tc2dpZCAiZ2l0IG11bHRpLXBhY2staW5kZXggWy0tb2JqZWN0LWRpcj08ZGlyPl0gKHdyaXRlfHZlcmlmeSkiCi1tc2dzdHIgImdpdCBtdWx0aS1wYWNrLWluZGV4IFstLW9iamVjdC1kaXI9PHRoxrAvbeG7pWM+XSAod3JpdGV8dmVyaWZ5KSIKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjkKK21zZ2lkICIiCisiZ2l0IG11bHRpLXBhY2staW5kZXggWzxvcHRpb25zPl0gKHdyaXRlfHZlcmlmeXxleHBpcmV8cmVwYWNrIC0tYmF0Y2gtIgorInNpemU9PHNpemU+KSIKK21zZ3N0ciAiIgorImdpdCBtdWx0aS1wYWNrLWluZGV4IFs8Y8OhYy10w7l5LWNo4buNbj5dICh3cml0ZXx2ZXJpZnl8ZXhwaXJlfHJlcGFjayAtLWJhdGNoLSIKKyJzaXplPTxj4buhPikiCiAKLSM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjIxCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzoyNgogbXNnaWQgIm9iamVjdCBkaXJlY3RvcnkgY29udGFpbmluZyBzZXQgb2YgcGFja2ZpbGUgYW5kIHBhY2staW5kZXggcGFpcnMiCiBtc2dzdHIgInRoxrAgbeG7pWMgxJHhu5FpIHTGsOG7o25nIGPDsyBjaOG7qWEgbeG7mXQgYuG7mSBjw6FjIHThuq1wIHRpbiBnw7NpIHbDoCBj4bq3cCBwYWNrLWluZGV4IgogCi0jOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzozOQorIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MjkKK21zZ2lkICIiCisiZHVyaW5nIHJlcGFjaywgY29sbGVjdCBwYWNrLWZpbGVzIG9mIHNtYWxsZXIgc2l6ZSBpbnRvIGEgYmF0Y2ggdGhhdCBpcyAiCisibGFyZ2VyIHRoYW4gdGhpcyBzaXplIgorbXNnc3RyICIiCisidHJvbmcgc3Xhu5F0IHF1w6EgdHLDrG5oIMSRw7NuZyBnw7NpIGzhuqFpLCBnb20gY8OhYyB04bqtcCB0aW4gZ8OzaSBjw7Mga8OtY2ggY+G7oSBuaOG7jyBoxqFuICIKKyJ2w6BvIG3hu5l0IGLDsyBjw6FpIG3DoCBs4bubbiBoxqFuIGvDrWNoIHRoxrDhu5tjIG7DoHkiCisKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjUwIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NjcKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgImPDsyBxdcOhIG5oaeG7gXUgxJHhu5FpIHPhu5EiCiAKLSM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjQ4CisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo2MAorbXNnaWQgIi0tYmF0Y2gtc2l6ZSBvcHRpb24gaXMgb25seSBmb3IgJ3JlcGFjaycgc3ViY29tbWFuZCIKK21zZ3N0ciAidMO5eSBjaOG7jW4gLS1iYXRjaC1zaXplIGNo4buJIGNobyBs4buHbmggY29uICdyZXBhY2snIgorCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo2OQogIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbml6ZWQgdmVyYjogJXMiCi1tc2dzdHIgInZlcmIga2jDtG5nIMSRxrDhu6NjIHRo4burYSBuaOG6rW46ICVzIgorbXNnaWQgInVucmVjb2duaXplZCBzdWJjb21tYW5kOiAlcyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSBjw6J1IGzhu4duaCBjb246ICVzIgogCi0jOiBidWlsdGluL212LmM6MTcKKyM6IGJ1aWx0aW4vbXYuYzoxOAogbXNnaWQgImdpdCBtdiBbPG9wdGlvbnM+XSA8c291cmNlPi4uLiA8ZGVzdGluYXRpb24+IgotbXNnc3RyICJnaXQgbXYgWzxjw6FjLXTDuXktY2jhu41uPl0gPG5ndeG7k24+4oCmIDzEkcOtY2g+IgorbXNnc3RyICJnaXQgbXYgWzxjw6FjIHTDuXkgY2jhu41uPl0gPG5ndeG7k24+4oCmIDzEkcOtY2g+IgogCi0jOiBidWlsdGluL212LmM6ODIKKyM6IGJ1aWx0aW4vbXYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCiBtc2dzdHIgIlRoxrAgbeG7pWMg4oCcJXPigJ0gY8OzIOG7nyB0cm9uZyBjaOG7iSBt4bulYyBtw6Aga2jDtG5nIGPDsyBtw7QtxJF1biBjb24/IgogCi0jOiBidWlsdGluL212LmM6ODQKKyM6IGJ1aWx0aW4vbXYuYzo4NQogbXNnaWQgIlBsZWFzZSBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgogbXNnc3RyICIiCiAiSMOjeSDEkcawYSBjw6FjIHRoYXkgxJHhu5VpIGPhu6dhIGLhuqFuIHbDoG8gLmdpdG1vZHVsZXMgaGF5IHThuqFtIGPhuqV0IGNow7puZyDEkWkgxJHhu4MgeOG7rSBsw70iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMDIKKyM6IGJ1aWx0aW4vbXYuYzoxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJS4qcyBpcyBpbiBpbmRleCIKIG1zZ3N0ciAiJS4qcyB0cm9uZyBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMjQKKyM6IGJ1aWx0aW4vbXYuYzoxMjUKIG1zZ2lkICJmb3JjZSBtb3ZlL3JlbmFtZSBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgIsOpcCBideG7mWMgZGkgY2h1eeG7g24gaGF5IMSR4buVaSB0w6puIHRo4bqtbSBjaMOtIGPhuqMga2hpIMSRw61jaCDEkcOjIHThu5NuIHThuqFpIgogCi0jOiBidWlsdGluL212LmM6MTI2CisjOiBidWlsdGluL212LmM6MTI3CiBtc2dpZCAic2tpcCBtb3ZlL3JlbmFtZSBlcnJvcnMiCiBtc2dzdHIgImLhu48gcXVhIGPDoWMgbOG7l2kgbGnDqm4gcXVhbiDEkeG6v24gZGkgY2h1eeG7g24sIMSR4buVaSB0w6puIgogCi0jOiBidWlsdGluL212LmM6MTY4CisjOiBidWlsdGluL212LmM6MTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc3RpbmF0aW9uICclcycgaXMgbm90IGEgZGlyZWN0b3J5IgogbXNnc3RyICJjw7MgxJHDrWNoIOKAnCVz4oCdIG5oxrBuZyDEkcOieSBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCB0aMawIG3hu6VjIgogCi0jOiBidWlsdGluL212LmM6MTc5CisjOiBidWlsdGluL212LmM6MTgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHJlbmFtZSBvZiAnJXMnIHRvICclcydcbiIKIG1zZ3N0ciAixJBhbmcga2nhu4NtIHRyYSB2aeG7h2MgxJHhu5VpIHTDqm4gY+G7p2Eg4oCcJXPigJ0gdGjDoG5oIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODMKKyM6IGJ1aWx0aW4vbXYuYzoxODQKIG1zZ2lkICJiYWQgc291cmNlIgogbXNnc3RyICJuZ3Xhu5NuIHNhaSIKIAotIzogYnVpbHRpbi9tdi5jOjE4NgorIzogYnVpbHRpbi9tdi5jOjE4NwogbXNnaWQgImNhbiBub3QgbW92ZSBkaXJlY3RvcnkgaW50byBpdHNlbGYiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBkaSBjaHV54buDbiBt4buZdCB0aMawIG3hu6VjIHbDoG8gdHJvbmcgY2jDrW5oIG7DsyDEkcaw4bujYyIKIAotIzogYnVpbHRpbi9tdi5jOjE4OQorIzogYnVpbHRpbi9tdi5jOjE5MAogbXNnaWQgImNhbm5vdCBtb3ZlIGRpcmVjdG9yeSBvdmVyIGZpbGUiCiBtc2dzdHIgImtow7RuZyBkaSBjaHV54buDbiDEkcaw4bujYyB0aMawIG3hu6VjIHRow7RuZyBxdWEgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL212LmM6MTk4CisjOiBidWlsdGluL212LmM6MTk5CiBtc2dpZCAic291cmNlIGRpcmVjdG9yeSBpcyBlbXB0eSIKIG1zZ3N0ciAidGjGsCBt4bulYyBuZ3Xhu5NuIGzDoCB0cuG7kW5nIHLhu5duZyIKIAotIzogYnVpbHRpbi9tdi5jOjIyMworIzogYnVpbHRpbi9tdi5jOjIyNAogbXNnaWQgIm5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiCiBtc2dzdHIgImtow7RuZyBu4bqxbSBkxrDhu5tpIHPhu7EgcXXhuqNuIGzDvSBtw6Mgbmd14buTbiIKIAotIzogYnVpbHRpbi9tdi5jOjIyNgorIzogYnVpbHRpbi9tdi5jOjIyNwogbXNnaWQgImRlc3RpbmF0aW9uIGV4aXN0cyIKIG1zZ3N0ciAixJHDrWNoIMSRw6MgdOG7k24gdOG6oWkgc+G6tW4gcuG7k2kiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMzQKKyM6IGJ1aWx0aW4vbXYuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAib3ZlcndyaXRpbmcgJyVzJyIKIG1zZ3N0ciAixJFhbmcgZ2hpIMSRw6ggbMOqbiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9tdi5jOjIzNworIzogYnVpbHRpbi9tdi5jOjIzOAogbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgxJHDqCIKIAotIzogYnVpbHRpbi9tdi5jOjI0MAorIzogYnVpbHRpbi9tdi5jOjI0MQogbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKLW1zZ3N0ciAiTmhp4buBdSBuZ3Xhu5NuIGNobyBjw7luZyBt4buZdCDEkcOtY2giCittc2dzdHIgIm5oaeG7gXUgbmd14buTbiBjaG8gY8O5bmcgbeG7mXQgxJHDrWNoIgogCi0jOiBidWlsdGluL212LmM6MjQyCisjOiBidWlsdGluL212LmM6MjQzCiBtc2dpZCAiZGVzdGluYXRpb24gZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJ0aMawIG3hu6VjIMSRw61jaCBraMO0bmcgdOG7k24gdOG6oWkiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNDkKKyM6IGJ1aWx0aW4vbXYuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsIHNvdXJjZT0lcywgZGVzdGluYXRpb249JXMiCiBtc2dzdHIgIiVzLCBuZ3Xhu5NuPSVzLCDEkcOtY2g9JXMiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNzAKKyM6IGJ1aWx0aW4vbXYuYzoyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVuYW1pbmcgJXMgdG8gJXNcbiIKIG1zZ3N0ciAixJDhu5VpIHTDqm4gJXMgdGjDoG5oICVzXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNzYgYnVpbHRpbi9yZW1vdGUuYzo3MTcgYnVpbHRpbi9yZXBhY2suYzo1MTEKKyM6IGJ1aWx0aW4vbXYuYzoyNzcgYnVpbHRpbi9yZW1vdGUuYzo3MTYgYnVpbHRpbi9yZXBhY2suYzo1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVuYW1pbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7lWkgdMOqbiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjM1NQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwMwogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSA8Y29tbWl0Pi4uLiIKLW1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8Y8OhYy10w7l5LWNo4buNbj5dIDxjb21taXQ+4oCmIgorbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxjw6FjIHTDuXkgY2jhu41uPl0gPGNvbW1pdD7igKYiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozNTYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDQKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gLS1hbGwiCi1tc2dzdHIgImdpdCBuYW1lLXJldiBbPGPDoWMtdMO5eS1jaOG7jW4+XSAtLWFsbCIKK21zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs8Y8OhYyB0w7l5IGNo4buNbj5dIC0tYWxsIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzU3CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDA1CiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tc3RkaW4iCi1tc2dzdHIgImdpdCBuYW1lLXJldiBbPGPDoWMtdMO5eS1jaOG7jW4+XSAtLXN0ZGluIgorbXNnc3RyICJnaXQgbmFtZS1yZXYgWzxjw6FjIHTDuXkgY2jhu41uPl0gLS1zdGRpbiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxMworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2MgogbXNnaWQgInByaW50IG9ubHkgbmFtZXMgKG5vIFNIQS0xKSIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIHTDqm4gKGtow7RuZyBTSEEtMSkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTQKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjMKIG1zZ2lkICJvbmx5IHVzZSB0YWdzIHRvIG5hbWUgdGhlIGNvbW1pdHMiCiBtc2dzdHIgImNo4buJIGTDuW5nIGPDoWMgdGjhursgxJHhu4MgxJHhurd0IHTDqm4gY2hvIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxNgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2NQogbXNnaWQgIm9ubHkgdXNlIHJlZnMgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICJjaOG7iSBz4butIGThu6VuZyBjw6FjIHRoYW0gY2hp4bq/dSBraOG7m3AgduG7m2kgPG3huqt1PiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxOAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2NwogbXNnaWQgImlnbm9yZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAiYuG7jyBxdWEgY8OhYyB0aGFtIGNoaeG6v3Uga2jhu5twIHbhu5tpIDxt4bqrdT4iCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjAKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjkKIG1zZ2lkICJsaXN0IGFsbCBjb21taXRzIHJlYWNoYWJsZSBmcm9tIGFsbCByZWZzIgogbXNnc3RyICIiCiAibGnhu4d0IGvDqiB04bqldCBj4bqjIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBjw7MgdGjhu4MgxJHhu41jIMSRxrDhu6NjIHThu6sgdOG6pXQgY+G6oyBjw6FjIHRoYW0gY2hp4bq/dSIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQyMQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ3MAogbXNnaWQgInJlYWQgZnJvbSBzdGRpbiIKIG1zZ3N0ciAixJHhu41jIHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQyMgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ3MQogbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIChkZWZhdWx0KSIKIG1zZ3N0ciAiY2hvIHBow6lwIGluIGPDoWMgdMOqbiDigJxjaMawYSDEkeG7i25oIG5naMSpYeKAnSAobeG6t2MgxJHhu4tuaCkiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjgKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzcKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGluIHRoZSBpbnB1dCAoaW50ZXJuYWwgdXNlKSIKIG1zZ3N0ciAiYsOjaSBi4buPIHRoYW0gY2hp4bq/dSBjw6FjIHRo4bq7IHRyb25nIMSR4bqndSB2w6BvIChkw7luZyBu4buZaSBi4buZKSIKIApAQCAtMTM1NjcsMTEgKzE2MzI4LDExIEBACiAKICM6IGJ1aWx0aW4vbm90ZXMuYzo0OQogbXNnaWQgImdpdCBub3RlcyBhZGQgWzxvcHRpb25zPl0gWzxvYmplY3Q+XSIKLW1zZ3N0ciAiZ2l0IG5vdGVzIGFkZCBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbPMSR4buRaS10xrDhu6NuZz5dIgorbXNnc3RyICJnaXQgbm90ZXMgYWRkIFs8Y8OhYyB0w7l5IGNo4buNbj5dIFs8xJHhu5FpLXTGsOG7o25nPl0iCiAKICM6IGJ1aWx0aW4vbm90ZXMuYzo1NAogbXNnaWQgImdpdCBub3RlcyBjb3B5IFs8b3B0aW9ucz5dIDxmcm9tLW9iamVjdD4gPHRvLW9iamVjdD4iCi1tc2dzdHIgImdpdCBub3RlcyBjb3B5IFs8Y8OhYy10w7l5LWNo4buNbj5dIDx04burLcSR4buRaS10xrDhu6NuZz4gPMSR4bq/bi3EkeG7kWktdMaw4bujbmc+IgorbXNnc3RyICJnaXQgbm90ZXMgY29weSBbPGPDoWMgdMO5eSBjaOG7jW4+XSA8dOG7qy3EkeG7kWktdMaw4bujbmc+IDzEkeG6v24txJHhu5FpLXTGsOG7o25nPiIKIAogIzogYnVpbHRpbi9ub3Rlcy5jOjU1CiBtc2dpZCAiZ2l0IG5vdGVzIGNvcHkgLS1zdGRpbiBbPGZyb20tb2JqZWN0PiA8dG8tb2JqZWN0Pl0uLi4iCkBAIC0xMzU3OSw3ICsxNjM0MCw3IEBACiAKICM6IGJ1aWx0aW4vbm90ZXMuYzo2MAogbXNnaWQgImdpdCBub3RlcyBhcHBlbmQgWzxvcHRpb25zPl0gWzxvYmplY3Q+XSIKLW1zZ3N0ciAiZ2l0IG5vdGVzIGFwcGVuZCBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbPMSR4buRaS10xrDhu6NuZz5dIgorbXNnc3RyICJnaXQgbm90ZXMgYXBwZW5kIFs8Y8OhYyB0w7l5IGNo4buNbj5dIFs8xJHhu5FpLXTGsOG7o25nPl0iCiAKICM6IGJ1aWx0aW4vbm90ZXMuYzo2NQogbXNnaWQgImdpdCBub3RlcyBlZGl0IFs8b2JqZWN0Pl0iCkBAIC0xMzU5MSwxNSArMTYzNTIsMTUgQEAKIAogIzogYnVpbHRpbi9ub3Rlcy5jOjc1CiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIFs8b3B0aW9ucz5dIDxub3Rlcy1yZWY+IgotbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgWzxjw6FjLXTDuXktY2jhu41uPl0gPG5vdGVzLXJlZj4iCittc2dzdHIgImdpdCBub3RlcyBtZXJnZSBbPGPDoWMgdMO5eSBjaOG7jW4+XSA8bm90ZXMtcmVmPiIKIAogIzogYnVpbHRpbi9ub3Rlcy5jOjc2CiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFs8b3B0aW9ucz5dIgotbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWzxjw6FjLXTDuXktY2jhu41uPl0iCittc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBbPGPDoWMgdMO5eSBjaOG7jW4+XSIKIAogIzogYnVpbHRpbi9ub3Rlcy5jOjc3CiBtc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWzxvcHRpb25zPl0iCi1tc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWFib3J0IFs8Y8OhYy10w7l5LWNo4buNbj5dIgorbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbPGPDoWMgdMO5eSBjaOG7jW4+XSIKIAogIzogYnVpbHRpbi9ub3Rlcy5jOjgyCiBtc2dpZCAiZ2l0IG5vdGVzIHJlbW92ZSBbPG9iamVjdD5dIgpAQCAtMTM2MDcsNyArMTYzNjgsNyBAQAogCiAjOiBidWlsdGluL25vdGVzLmM6ODcKIG1zZ2lkICJnaXQgbm90ZXMgcHJ1bmUgWzxvcHRpb25zPl0iCi1tc2dzdHIgImdpdCBub3RlcyBwcnVuZSBbPGPDoWMtdMO5eS1jaOG7jW4+XSIKK21zZ3N0ciAiZ2l0IG5vdGVzIHBydW5lIFs8Y8OhYyB0w7l5IGNo4buNbj5dIgogCiAjOiBidWlsdGluL25vdGVzLmM6OTIKIG1zZ2lkICJnaXQgbm90ZXMgZ2V0LXJlZiIKQEAgLTEzNjQ1LDE0ICsxNjQwNiwxNCBAQAogbXNnaWQgInRoZSBub3RlIGNvbnRlbnRzIGhhdmUgYmVlbiBsZWZ0IGluICVzIgogbXNnc3RyICJu4buZaSBkdW5nIGdoaSBjaMO6IGPDsm4gbOG6oWkgJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNDIgYnVpbHRpbi90YWcuYzo1MTMKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNDIgYnVpbHRpbi90YWcuYzo1MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gb3IgcmVhZCAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyBoYXkgxJHhu41jIOKAnCVz4oCdIgogCiAjOiBidWlsdGluL25vdGVzLmM6MjYzIGJ1aWx0aW4vbm90ZXMuYzozMTMgYnVpbHRpbi9ub3Rlcy5jOjMxNQotIzogYnVpbHRpbi9ub3Rlcy5jOjM4MyBidWlsdGluL25vdGVzLmM6NDM4IGJ1aWx0aW4vbm90ZXMuYzo1MjQKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MjkgYnVpbHRpbi9ub3Rlcy5jOjYwNyBidWlsdGluL25vdGVzLmM6NjY5CisjOiBidWlsdGluL25vdGVzLmM6MzgzIGJ1aWx0aW4vbm90ZXMuYzo0MzggYnVpbHRpbi9ub3Rlcy5jOjUyNgorIzogYnVpbHRpbi9ub3Rlcy5jOjUzMSBidWlsdGluL25vdGVzLmM6NjEwIGJ1aWx0aW4vbm90ZXMuYzo2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiBnaeG6o2kg4oCcJXPigJ0gbmjGsCBsw6AgbeG7mXQgdGhhbSBjaGnhur91IGjhu6NwIGzhu4cuIgpAQCAtMTM2ODUsMzggKzE2NDQ2LDM4IEBACiBtc2dpZCAicmVmdXNpbmcgdG8gJXMgbm90ZXMgaW4gJXMgKG91dHNpZGUgb2YgcmVmcy9ub3Rlcy8pIgogbXNnc3RyICJ04burIGNo4buRaSAlcyBnaGkgY2jDuiB0cm9uZyAlcyAobuG6sW0gbmdvw6BpIHJlZnMvbm90ZXMvKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM3NiBidWlsdGluL25vdGVzLmM6NDMxIGJ1aWx0aW4vbm90ZXMuYzo1MDcKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTkgYnVpbHRpbi9ub3Rlcy5jOjU5NSBidWlsdGluL25vdGVzLmM6NjYyCi0jOiBidWlsdGluL25vdGVzLmM6ODEyIGJ1aWx0aW4vbm90ZXMuYzo5NTkgYnVpbHRpbi9ub3Rlcy5jOjk4MAorIzogYnVpbHRpbi9ub3Rlcy5jOjM3NiBidWlsdGluL25vdGVzLmM6NDMxIGJ1aWx0aW4vbm90ZXMuYzo1MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MjEgYnVpbHRpbi9ub3Rlcy5jOjU5OCBidWlsdGluL25vdGVzLmM6NjY1CisjOiBidWlsdGluL25vdGVzLmM6ODE1IGJ1aWx0aW4vbm90ZXMuYzo5NjMgYnVpbHRpbi9ub3Rlcy5jOjk4NQogbXNnaWQgInRvbyBtYW55IHBhcmFtZXRlcnMiCiBtc2dzdHIgInF1w6Egbmhp4buBdSDEkeG7kWkgc+G7kSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjM4OSBidWlsdGluL25vdGVzLmM6Njc1CisjOiBidWlsdGluL25vdGVzLmM6Mzg5IGJ1aWx0aW4vbm90ZXMuYzo2NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbm90ZSBmb3VuZCBmb3Igb2JqZWN0ICVzLiIKIG1zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IGdoaSBjaMO6IGNobyDEkeG7kWkgdMaw4bujbmcgJXMuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDEwIGJ1aWx0aW4vbm90ZXMuYzo1NzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTAgYnVpbHRpbi9ub3Rlcy5jOjU3NgogbXNnaWQgIm5vdGUgY29udGVudHMgYXMgYSBzdHJpbmciCiBtc2dzdHIgIm7hu5lpIGR1bmcgZ2hpIGNow7ogKG5vdGUpIG7hurFtIHRyb25nIG3hu5l0IGNodeG7l2kiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTMgYnVpbHRpbi9ub3Rlcy5jOjU3NgorIzogYnVpbHRpbi9ub3Rlcy5jOjQxMyBidWlsdGluL25vdGVzLmM6NTc5CiBtc2dpZCAibm90ZSBjb250ZW50cyBpbiBhIGZpbGUiCiBtc2dzdHIgIm7hu5lpIGR1bmcgZ2hpIGNow7ogKG5vdGUpIG7hurFtIHRyb25nIG3hu5l0IHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQxNiBidWlsdGluL25vdGVzLmM6NTc5CisjOiBidWlsdGluL25vdGVzLmM6NDE2IGJ1aWx0aW4vbm90ZXMuYzo1ODIKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCiBtc2dzdHIgImTDuW5nIGzhuqFpIG5oxrBuZyBjw7Mgc+G7rWEgY2jhu69hIMSR4buRaSB0xrDhu6NuZyBub3RlIMSRw6MgY2jhu4kgcmEiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTkgYnVpbHRpbi9ub3Rlcy5jOjU4MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQxOSBidWlsdGluL25vdGVzLmM6NTg1CiBtc2dpZCAicmV1c2Ugc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICJkw7luZyBs4bqhaSDEkeG7kWkgdMaw4bujbmcgZ2hpIGNow7ogKG5vdGUpIMSRw6MgY2jhu4kgcmEiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MjIgYnVpbHRpbi9ub3Rlcy5jOjU4NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQyMiBidWlsdGluL25vdGVzLmM6NTg4CiBtc2dpZCAiYWxsb3cgc3RvcmluZyBlbXB0eSBub3RlIgogbXNnc3RyICJjaG8gbMawdSB0cuG7ryBnaGkgY2jDuiB0cuG7kW5nIHLhu5duZyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQyMyBidWlsdGluL25vdGVzLmM6NDk0CisjOiBidWlsdGluL25vdGVzLmM6NDIzIGJ1aWx0aW4vbm90ZXMuYzo0OTYKIG1zZ2lkICJyZXBsYWNlIGV4aXN0aW5nIG5vdGVzIgogbXNnc3RyICJ0aGF5IHRo4bq/IGdoaSBjaMO6IHRyxrDhu5tjIgogCkBAIC0xMzcyOSwyOSArMTY0OTAsMjkgQEAKICJLaMO0bmcgdGjhu4MgdGjDqm0gY8OhYyBnaGkgY2jDui4gxJDDoyB0w6xtIHRo4bqleSBjw6FjIGdoaSBjaMO6IMSRw6MgY8OzIHPhurVuIGNobyDEkeG7kWkgdMaw4bujbmcgIgogIiVzLiBT4butIGThu6VuZyB0w7l5IGNo4buNbiDigJwtZuKAnSDEkeG7gyBnaGkgxJHDqCBsw6puIGPDoWMgZ2hpIGNow7ogY8WpIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDYzIGJ1aWx0aW4vbm90ZXMuYzo1NDIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NjMgYnVpbHRpbi9ub3Rlcy5jOjU0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJPdmVyd3JpdGluZyBleGlzdGluZyBub3RlcyBmb3Igb2JqZWN0ICVzXG4iCiBtc2dzdHIgIsSQYW5nIGdoaSDEkcOoIGzDqm4gZ2hpIGNow7ogY8WpIGNobyDEkeG7kWkgdMaw4bujbmcgJXNcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ3NCBidWlsdGluL25vdGVzLmM6NjM0IGJ1aWx0aW4vbm90ZXMuYzo4OTkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NzUgYnVpbHRpbi9ub3Rlcy5jOjYzNyBidWlsdGluL25vdGVzLmM6OTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92aW5nIG5vdGUgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICLEkGFuZyBn4buhIGLhu48gZ2hpIGNow7ogKG5vdGUpIGNobyDEkeG7kWkgdMaw4bujbmcgJXNcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ5NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQ5NwogbXNnaWQgInJlYWQgb2JqZWN0cyBmcm9tIHN0ZGluIgogbXNnc3RyICLEkeG7jWMgY8OhYyDEkeG7kWkgdMaw4bujbmcgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDk3CisjOiBidWlsdGluL25vdGVzLmM6NDk5CiBtc2dpZCAibG9hZCByZXdyaXRpbmcgY29uZmlnIGZvciA8Y29tbWFuZD4gKGltcGxpZXMgLS1zdGRpbikiCiBtc2dzdHIgInThuqNpIGPhuqV1IGjDrG5oIGNow6lwIGzhuqFpIGNobyA8bOG7h25oPiAobmfhuqdtIMSR4buLbmggbMOgIC0tc3RkaW4pIgogCi0jOiBidWlsdGluL25vdGVzLmM6NTE1CisjOiBidWlsdGluL25vdGVzLmM6NTE3CiBtc2dpZCAidG9vIGZldyBwYXJhbWV0ZXJzIgogbXNnc3RyICJxdcOhIMOtdCDEkeG7kWkgc+G7kSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUzNgorIzogYnVpbHRpbi9ub3Rlcy5jOjUzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGNvcHkgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSAiCkBAIC0xMzc2MCwxMiArMTY1MjEsMTIgQEAKICJLaMO0bmcgdGjhu4Mgc2FvIGNow6lwIGPDoWMgZ2hpIGNow7ouIMSQw6MgdMOsbSB0aOG6pXkgY8OhYyBnaGkgY2jDuiDEkcOjIGPDsyBz4bq1biBjaG8gxJHhu5FpICIKICJ0xrDhu6NuZyAlcy4gU+G7rSBk4bulbmcgdMO5eSBjaOG7jW4g4oCcLWbigJ0gxJHhu4MgZ2hpIMSRw6ggbMOqbiBjw6FjIGdoaSBjaMO6IGPFqSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjU0OAorIzogYnVpbHRpbi9ub3Rlcy5jOjU1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIG5vdGVzIG9uIHNvdXJjZSBvYmplY3QgJXMuIENhbm5vdCBjb3B5LiIKIG1zZ3N0ciAidGhp4bq/dSBnaGkgY2jDuiB0csOqbiDEkeG7kWkgdMaw4bujbmcgbmd14buTbiAlcy4gS2jDtG5nIHRo4buDIHNhbyBjaMOpcC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MDAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtbS8tRi8tYy8tQyBvcHRpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgJ2VkaXQnIHN1YmNvbW1hbmQuXG4iCkBAIC0xMzc3NCw1MiArMTY1MzUsNTIgQEAKICJDw6FjIHTDuXkgY2jhu41uIC1tLy1GLy1jLy1DIMSRw6MgY+G7lSBraMO0bmcgY8OybiBkw7luZyBu4buvYSBjaG8gbOG7h25oIGNvbiDigJxlZGl04oCdLlxuIgogIlhpbiBow6N5IHPhu60gZOG7pW5nIGzhu4duaCBzYXUgxJHhu4MgdGhheSB0aOG6vzog4oCcZ2l0IG5vdGVzIGFkZCAtZiAtbS8tRi8tYy8tQ+KAnS5cbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjY5NQorIzogYnVpbHRpbi9ub3Rlcy5jOjY5OAogbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSB4w7NhIHRoYW0gY2hp4bq/dSBOT1RFU19NRVJHRV9QQVJUSUFMIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njk3CisjOiBidWlsdGluL25vdGVzLmM6NzAwCiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSByZWYgTk9URVNfTUVSR0VfUkVGIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgeMOzYSB0aGFtIGNoaeG6v3UgTk9URVNfTUVSR0VfUkVGIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njk5CisjOiBidWlsdGluL25vdGVzLmM6NzAyCiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnZ2l0IG5vdGVzIG1lcmdlJyB3b3JrdHJlZSIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGfhu6EgYuG7jyBjw6J5IGzDoG0gdmnhu4djIOKAnGdpdCBub3RlcyBtZXJnZeKAnSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxOQorIzogYnVpbHRpbi9ub3Rlcy5jOjcyMgogbXNnaWQgImZhaWxlZCB0byByZWFkIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu41jIHRoYW0gY2hp4bq/dSBOT1RFU19NRVJHRV9QQVJUSUFMIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzIxCisjOiBidWlsdGluL25vdGVzLmM6NzI0CiBtc2dpZCAiY291bGQgbm90IGZpbmQgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIHRo4bqleSBs4bqnbiBjaHV54buDbiBnaWFvIHThu6sgTk9URVNfTUVSR0VfUEFSVElBTC4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjYKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBjw7ogcGjDoXAgbOG6p24gY2h1eeG7g24gZ2lhbyB04burIE5PVEVTX01FUkdFX1BBUlRJQUwuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzM2CisjOiBidWlsdGluL25vdGVzLmM6NzM5CiBtc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgTk9URVNfTUVSR0VfUkVGIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gZ2nhuqNpIE5PVEVTX01FUkdFX1JFRiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjczOQorIzogYnVpbHRpbi9ub3Rlcy5jOjc0MgogbXNnaWQgImZhaWxlZCB0byBmaW5hbGl6ZSBub3RlcyBtZXJnZSIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGhvw6BuIHRow6BuaCBow7JhIHRy4buZbiBnaGkgY2jDuiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG5vdGVzIG1lcmdlIHN0cmF0ZWd5ICVzIgogbXNnc3RyICJraMO0bmcgaGnhu4N1IGNoaeG6v24gbMaw4bujYyBow7JhIHRy4buZbiBnaGkgY2jDuiAlcyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4MQorIzogYnVpbHRpbi9ub3Rlcy5jOjc4NAogbXNnaWQgIkdlbmVyYWwgb3B0aW9ucyIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gY2h1bmciCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODYKIG1zZ2lkICJNZXJnZSBvcHRpb25zIgogbXNnc3RyICJUw7l5IGNo4buNbiB24buBIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzg1CisjOiBidWlsdGluL25vdGVzLmM6Nzg4CiBtc2dpZCAiIgogInJlc29sdmUgbm90ZXMgY29uZmxpY3RzIHVzaW5nIHRoZSBnaXZlbiBzdHJhdGVneSAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uLyIKICJjYXRfc29ydF91bmlxKSIKQEAgLTEzODI3LDQ4ICsxNjU4OCw0OCBAQAogInBow6JuIGdp4bqjaSBjw6FjIHh1bmcgxJHhu5l0IOKAnG5vdGVz4oCdIHPhu60gZOG7pW5nIGNoaeG6v24gbMaw4bujYyDEkcOjIMSRxrBhIHJhIChtYW51YWwvb3Vycy8iCiAidGhlaXJzL3VuaW9uL2NhdF9zb3J0X3VuaXEpIgogCi0jOiBidWlsdGluL25vdGVzLmM6Nzg3CisjOiBidWlsdGluL25vdGVzLmM6NzkwCiBtc2dpZCAiQ29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKIG1zZ3N0ciAiQ2h1eeG7g24gZ2lhbyBjw6FjIG5vdGUgY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTIKIG1zZ2lkICJmaW5hbGl6ZSBub3RlcyBtZXJnZSBieSBjb21taXR0aW5nIHVubWVyZ2VkIG5vdGVzIgogbXNnc3RyICIiCiAiY8OhYyBub3RlIGN14buRaSBjw7luZyDEkcaw4bujYyBow7JhIHRy4buZbiBi4bufaSBjw6FjIG5vdGUgY2jGsGEgaMOyYSB0cuG7mW4gY+G7p2EgbOG6p24gY2h1eeG7g24gIgogImdpYW8iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3OTEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTQKIG1zZ2lkICJBYm9ydGluZyBub3RlcyBtZXJnZSByZXNvbHV0aW9uIgogbXNnc3RyICJI4buneSBi4buPIHBow6JuIGdp4bqjaSBnaGkgY2jDuiAobm90ZSkgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3OTMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3OTYKIG1zZ2lkICJhYm9ydCBub3RlcyBtZXJnZSIKIG1zZ3N0ciAiYuG7jyBxdWEgaMOyYSB0cuG7mW4gY8OhYyBnaGkgY2jDuiAobm90ZSkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDcKIG1zZ2lkICJjYW5ub3QgbWl4IC0tY29tbWl0LCAtLWFib3J0IG9yIC1zLy0tc3RyYXRlZ3kiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0cuG7mW4gbOG6q24gLS1jb21taXQsIC0tYWJvcnQgaGF5IC1zLy0tc3RyYXRlZ3kiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MTIKIG1zZ2lkICJtdXN0IHNwZWNpZnkgYSBub3RlcyByZWYgdG8gbWVyZ2UiCiBtc2dzdHIgImLhuqFuIHBo4bqjaSBjaOG7iSDEkeG7i25oIHRoYW0gY2hp4bq/dSBnaGkgY2jDuiDEkeG7gyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjgzMworIzogYnVpbHRpbi9ub3Rlcy5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIC1zLy0tc3RyYXRlZ3k6ICVzIgogbXNnc3RyICJraMO0bmcgaGnhu4N1IC1zLy0tc3RyYXRlZ3k6ICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODcwCisjOiBidWlsdGluL25vdGVzLmM6ODczCiAjLCBjLWZvcm1hdAogbXNnaWQgImEgbm90ZXMgbWVyZ2UgaW50byAlcyBpcyBhbHJlYWR5IGluLXByb2dyZXNzIGF0ICVzIgogbXNnc3RyICJt4buZdCBnaGkgY2jDuiBow7JhIHRy4buZbiB2w6BvICVzIMSRw6Mgc+G6tW4gdHJvbmcgcXXDoSB0csOsbmggeOG7rSBsw70gdOG6oWkgJXMiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0b3JlIGxpbmsgdG8gY3VycmVudCBub3RlcyByZWYgKCVzKSIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGzGsHUgbGnDqm4ga+G6v3QgxJHhur9uIHRoYW0gY2hp4bq/dSBnaGkgY2jDuiBoaeG7h24gdOG6oWkgKCVzKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg3NQorIzogYnVpbHRpbi9ub3Rlcy5jOjg3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQXV0b21hdGljIG5vdGVzIG1lcmdlIGZhaWxlZC4gRml4IGNvbmZsaWN0cyBpbiAlcyBhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCAiCkBAIC0xMzg3OSwxNzQgKzE2NjQwLDE3OSBAQAogImNodXnhu4NuIGdpYW8ga+G6v3QgcXXhuqMgYuG6sW5nIOKAnGdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdOKAnSwgaG/hurdjIGLDo2kgYuG7jyB2aeG7h2MgaMOyYSAiCiAidHLhu5luIGLhurFuZyDigJxnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydOKAnS5cbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5NworIzogYnVpbHRpbi9ub3Rlcy5jOjg5NyBidWlsdGluL3RhZy5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKK21zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHBow6JuIGdp4bqjaSDigJwlc+KAnSBuaMawIGzDoCBt4buZdCB0aGFtIGNoaeG6v3UgaOG7o3AgbOG7hy4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiT2JqZWN0ICVzIGhhcyBubyBub3RlXG4iCiBtc2dzdHIgIsSQ4buRaSB0xrDhu6NuZyAlcyBraMO0bmcgY8OzIGdoaSBjaMO6IChub3RlKVxuIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTA5CisjOiBidWlsdGluL25vdGVzLmM6OTEyCiBtc2dpZCAiYXR0ZW1wdCB0byByZW1vdmUgbm9uLWV4aXN0ZW50IG5vdGUgaXMgbm90IGFuIGVycm9yIgogbXNnc3RyICJj4buRIGfhuq9uZyBn4buhIGLhu48gbeG7mXQgbm90ZSBjaMawYSB04burbmcgdOG7k24gdOG6oWkga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5MTIKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MTUKIG1zZ2lkICJyZWFkIG9iamVjdCBuYW1lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAixJHhu41jIHTDqm4gxJHhu5FpIHTGsOG7o25nIHThu6sgdGhp4bq/dCBi4buLIG5o4bqtcCBjaHXhuqluIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTUwIGJ1aWx0aW4vcHJ1bmUuYzoxMDggYnVpbHRpbi93b3JrdHJlZS5jOjE2NAorIzogYnVpbHRpbi9ub3Rlcy5jOjk1NCBidWlsdGluL3BydW5lLmM6MTMwIGJ1aWx0aW4vd29ya3RyZWUuYzoxNjQKIG1zZ2lkICJkbyBub3QgcmVtb3ZlLCBzaG93IG9ubHkiCiBtc2dzdHIgImtow7RuZyBn4buhIGLhu48sIGNo4buJIGhp4buDbiB0aOG7iyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjk1MQorIzogYnVpbHRpbi9ub3Rlcy5jOjk1NQogbXNnaWQgInJlcG9ydCBwcnVuZWQgbm90ZXMiCiBtc2dzdHIgImLDoW8gY8OhbyBjw6FjIMSR4buRaSB0xrDhu6NuZyDEkcOjIHBydW5lIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTkzCisjOiBidWlsdGluL25vdGVzLmM6OTk4CiBtc2dpZCAibm90ZXMtcmVmIgogbXNnc3RyICJub3Rlcy1yZWYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5OTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5OTkKIG1zZ2lkICJ1c2Ugbm90ZXMgZnJvbSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAiZMO5bmcg4oCcbm90ZXPigJ0gdOG7qyA8bm90ZXMtcmVmPiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjEwMjkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxMDM0IGJ1aWx0aW4vc3Rhc2guYzoxNjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gc3ViY29tbWFuZDogJXMiCiBtc2dzdHIgImtow7RuZyBoaeG7g3UgY8OidSBs4buHbmggY29uOiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1MgogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IFs8b3B0aW9ucz4uLi5dIFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICIiCi0iZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbY8OhYy10w7l5LWNo4buNbuKApl0gWzwgPGRhbmgtc8OhY2gtdGhhbS1jaGnhur91PiB8IDwgIgorImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgW2PDoWMgdMO5eSBjaOG7jW7igKZdIFs8IDxkYW5oLXPDoWNoLXRoYW0tY2hp4bq/dT4gfCA8ICIKICI8ZGFuaC1zw6FjaC3EkeG7kWktdMaw4bujbmc+XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1MwogbXNnaWQgIiIKICJnaXQgcGFjay1vYmplY3RzIFs8b3B0aW9ucz4uLi5dIDxiYXNlLW5hbWU+IFs8IDxyZWYtbGlzdD4gfCA8IDxvYmplY3QtbGlzdD5dIgogbXNnc3RyICIiCi0iZ2l0IHBhY2stb2JqZWN0cyBbY8OhYy10w7l5LWNo4buNbuKApl0gPGJhc2UtbmFtZT4gWzwgPGRhbmgtc8OhY2gtcmVmPiB8IDwgPGRhbmgtIgorImdpdCBwYWNrLW9iamVjdHMgW2PDoWMgdMO5eSBjaOG7jW7igKZdIDxiYXNlLW5hbWU+IFs8IDxkYW5oLXPDoWNoLXJlZj4gfCA8IDxkYW5oLSIKICJzw6FjaC3EkeG7kWktdMaw4bujbmc+XSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0MjIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBwYWNrZWQgb2JqZWN0IENSQyBmb3IgJXMiCiBtc2dzdHIgIkNSQyBj4bunYSDEkeG7kWkgdMaw4bujbmcgZ8OzaSBzYWkgduG7m2kgJXMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDMzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjQzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3JydXB0IHBhY2tlZCBvYmplY3QgZm9yICVzIgogbXNnc3RyICLEkeG7kWkgdMaw4bujbmcgxJHDoyDEkcOzbmcgZ8OzaSBzYWkgaOG7j25nIGNobyAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1NjQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlY3Vyc2l2ZSBkZWx0YSBkZXRlY3RlZCBmb3Igb2JqZWN0ICVzIgogbXNnc3RyICJkw7IgdGjhuqV5IGRlbHRhIMSR4buHIHF1eSBjaG8gxJHhu5FpIHTGsOG7o25nICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc3NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAib3JkZXJlZCAldSBvYmplY3RzLCBleHBlY3RlZCAlPFBSSXUzMj4iCiBtc2dzdHIgIsSRw6Mgc+G6r3AgeOG6v3AgJXUgxJHhu5FpIHTGsOG7o25nLCBj4bqnbiAlPFBSSXUzMj4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzg4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrZmlsZSBpcyBpbnZhbGlkOiAlcyIKIG1zZ3N0ciAidOG6rXAgdGluIGfDs2kga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc5MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gcGFja2ZpbGUgZm9yIHJldXNlOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIGfDs2kgxJHhu4MgZMO5bmcgbOG6oWk6ICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc5NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4MDIKIG1zZ2lkICJ1bmFibGUgdG8gc2VlayBpbiByZXVzZWQgcGFja2ZpbGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jIHRyb25nIHThuq1wIHRpbiBnw7NpIGTDuW5nIGzhuqFpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgwNworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4MTMKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBmcm9tIHJldXNlZCBwYWNrZmlsZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyB04burIHThuq1wIHRpbiBnw7NpIGTDuW5nIGzhuqFpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgzNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4NDEKIG1zZ2lkICJkaXNhYmxpbmcgYml0bWFwIHdyaXRpbmcsIHBhY2tzIGFyZSBzcGxpdCBkdWUgdG8gcGFjay5wYWNrU2l6ZUxpbWl0IgogbXNnc3RyICJ04bqvdCBnaGkgYml0bWFwLCBjw6FjIGfDs2kgYuG7iyBjaGlhIG5o4buPIGLhu59pIHbDrCBwYWNrLnBhY2tTaXplTGltaXQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODQ4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjg1NAogbXNnaWQgIldyaXRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAixJBhbmcgZ2hpIGzhuqFpIGPDoWMgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjkxMCBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjg4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjkxNyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbOG6pXkgdGjDtG5nIHRpbiB0aOG7kW5nIGvDqiB24buBICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjk2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAid3JvdGUgJTxQUkl1MzI+IG9iamVjdHMgd2hpbGUgZXhwZWN0aW5nICU8UFJJdTMyPiIKIG1zZ3N0ciAixJHDoyBnaGkgJTxQUkl1MzI+IMSR4buRaSB0xrDhu6NuZyB0cm9uZyBraGkgY+G6p24gJTxQUkl1MzI+IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjExNTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTE2NAogbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgYXMgc29tZSBvYmplY3RzIGFyZSBub3QgYmVpbmcgcGFja2VkIgogbXNnc3RyICJ04bqvdCBnaGkgYml0bWFwLCBuaMawIHbhuq15IG3hu5l0IHPhu5EgxJHhu5FpIHTGsOG7o25nIHPhur0ga2jDtG5nIMSRxrDhu6NjIMSRw7NuZyBnw7NpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE1ODUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBvdmVyZmxvdyBpbiBwYWNrIGZvciAlcyIKIG1zZ3N0ciAia2hv4bqjbmcgYsO5IGPGoSBz4bufIGNobyBkZWx0YSBi4buLIHRyw6BuIHRyb25nIGfDs2kgY2hvICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE1OTQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTYwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBvdXQgb2YgYm91bmQgZm9yICVzIgogbXNnc3RyICJraG/huqNuZyBiw7kgY8ahIHPhu58gY2hvIGRlbHRhIG7hurFtIG5nb8OgaSBwaOG6oW0gY2hvICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE4NjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg3MAogbXNnaWQgIkNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgIsSQYW5nIMSR4bq/bSBjw6FjIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxOTk4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdldCBzaXplIG9mICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkga8OtY2ggY+G7oSBj4bunYSAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIG9iamVjdCBoZWFkZXIgb2YgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBwaOG6p24gxJHhuqd1IMSR4buRaSB0xrDhu6NuZyBj4bunYSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDgzIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA5OQotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTA5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwODUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMTAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIGNhbm5vdCBiZSByZWFkIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIMSR4buRaSB0xrDhu6NuZyAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDg2IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjExMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDg4IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgaW5jb25zaXN0ZW50IG9iamVjdCBsZW5ndGggKCU8UFJJdU1BWD4gdnMgJTxQUkl1TUFYPikiCiBtc2dzdHIgIiIKICLEkeG7kWkgdMaw4bujbmcgJXMga2jDtG5nIG5o4bqldCBxdcOhbiB24buBIGNoaeG7gXUgZMOgaSDEkeG7kWkgdMaw4bujbmcgKCU8UFJJdU1BWD4gc28gduG7m2kgIgogIiU8UFJJdU1BWD4pIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjEyNQogbXNnaWQgInN1Ym9wdGltYWwgcGFjayAtIG91dCBvZiBtZW1vcnkiCiBtc2dzdHIgInN1Ym9wdGltYWwgcGFjayAtIGjhur90IGLhu5kgbmjhu5siCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbHRhIGNvbXByZXNzaW9uIHVzaW5nIHVwIHRvICVkIHRocmVhZHMiCiBtc2dzdHIgIk7DqW4gZGVsdGEgZMO5bmcgdOG7m2kgJWQgdHV54bq/biB0csOsbmgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU4MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYWNrIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gdGFnICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHDs25nIGfDs2kgY8OhYyDEkeG7kWkgdMaw4bujbmcgdGnhur9wIGPhuq1uIMSRxrDhu6NjIHThu6sgdGjhursg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY3MAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjU5CiBtc2dpZCAiQ29tcHJlc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAixJBhbmcgbsOpbiBjw6FjIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjc2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjUKIG1zZ2lkICJpbmNvbnNpc3RlbmN5IHdpdGggZGVsdGEgY291bnQiCiBtc2dzdHIgIm3DonUgdGh14bqrbiB24bubaSBz4buRIGzGsOG7o25nIGRlbHRhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhwZWN0ZWQgZWRnZSBvYmplY3QgSUQsIGdvdCBnYXJiYWdlOlxuIgpAQCAtMTQwNTUsNyArMTY4MjEsNyBAQAogImPhuqduIElEIMSR4buRaSB0xrDhu6NuZyBj4bqhbmgsIG5o4bqtbiDEkcaw4bujYyByw6FjOlxuIgogIiAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzU5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4cGVjdGVkIG9iamVjdCBJRCwgZ290IGdhcmJhZ2U6XG4iCkBAIC0xNDA2NCwyNDkgKzE2ODMwLDI0MSBAQAogImPhuqduIElEIMSR4buRaSB0xrDhu6NuZywgbmjhuq1uIMSRxrDhu6NjIHLDoWM6XG4iCiAiICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NgogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yIC0tbWlzc2luZyIKIG1zZ3N0ciAiZ2nDoSB0cuG7iyBjaG8gLS1taXNzaW5nIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MTYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDI0CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDEzCiBtc2dpZCAiY2Fubm90IG9wZW4gcGFjayBpbmRleCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gbeG7pWMgbOG7pWMgY+G7p2EgZ8OzaSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTQ3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9vc2Ugb2JqZWN0IGF0ICVzIGNvdWxkIG5vdCBiZSBleGFtaW5lZCIKIG1zZ3N0ciAixJHhu5FpIHTGsOG7o25nIG3huqV0IHThuqFpICVzIGtow7RuZyB0aOG7gyDEkcOjIGtp4buDbSB0cmEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAzMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDIxCiBtc2dpZCAidW5hYmxlIHRvIGZvcmNlIGxvb3NlIG9iamVjdCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGJ14buZYyBt4bqldCDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzEyMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHJldiAnJXMnIgogbXNnc3RyICJraMO0bmcgcGjhuqNpIG3hu5l0IHJldiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTI1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJldmlzaW9uICclcyciCiBtc2dzdHIgIsSRaeG7g20geGVtIHjDqXQgc2FpIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxNTAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE0MQogbXNnaWQgInVuYWJsZSB0byBhZGQgcmVjZW50IG9iamVjdHMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0aMOqbSBjw6FjIMSR4buRaSB0xrDhu6NuZyBt4bubaSBkw7luZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjAzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5zdXBwb3J0ZWQgaW5kZXggdmVyc2lvbiAlcyIKIG1zZ3N0ciAicGhpw6puIGLhuqNuIG3hu6VjIGzhu6VjIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgogbXNnc3RyICJwaGnDqm4gYuG6o24gbeG7pWMgbOG7pWMgc2FpIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzcKLW1zZ2lkICJkbyBub3Qgc2hvdyBwcm9ncmVzcyBtZXRlciIKLW1zZ3N0ciAia2jDtG5nIGhp4buDbiB0aOG7iyBi4buZIMSRbyB0aeG6v24gdHLDrG5oIgotCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzkKLW1zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgotbXNnc3RyICJoaeG7g24gdGjhu4sgYuG7mSDEkW8gdGnhur9uIHRyw6xuaCIKLQotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQxCi1tc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCi1tc2dzdHIgImhp4buDbiB0aOG7iyBi4buZIMSRbyB0aeG6v24gdHJp4buDbiB0cm9uZyBzdeG7kXQgcGhhIGdoaSDEkeG7kWkgdMaw4bujbmciCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NAotbXNnaWQgInNpbWlsYXIgdG8gLS1hbGwtcHJvZ3Jlc3Mgd2hlbiBwcm9ncmVzcyBtZXRlciBpcyBzaG93biIKLW1zZ3N0ciAidMawxqFuZyB04buxIC0tYWxsLXByb2dyZXNzIGtoaSBi4buZIMSRbyB0aeG6v24gdHLDrG5oIMSRxrDhu6NjIHh14bqldCBoaeG7h24iCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM2CiBtc2dpZCAiPHZlcnNpb24+Wyw8b2Zmc2V0Pl0iCiBtc2dzdHIgIjxwaGnDqm4gYuG6o24+WyxvZmZzZXRdIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzNwogbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCiBtc2dzdHIgImdoaSB04bqtcCB0aW4gYuG6o25nIG3hu6VjIGzhu6VjIGfDs2kgKHBhY2spIOG7nyBwaGnDqm4gYuG6o24gxJHhu4tuaCBk4bqhbmcgaWR4IMSRw6MgY2hvIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0MAogbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIG91dHB1dCBwYWNrIGZpbGUiCiBtc2dzdHIgImtjw61oIHRoxrDhu5tjIHThu5FpIMSRYSBjaG8gdOG6rXAgdGluIGfDs2kgxJHGsOG7o2MgdOG6oW8iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQyCiBtc2dpZCAiaWdub3JlIGJvcnJvd2VkIG9iamVjdHMgZnJvbSBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlIgogbXNnc3RyICJi4buPIHF1YSBjw6FjIMSR4buRaSB0xrDhu6NuZyB2YXkgbcaw4bujbiB04burIGtobyDEkeG7kWkgdMaw4bujbmcgdGhheSB0aOG6vyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjUzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDQKIG1zZ2lkICJpZ25vcmUgcGFja2VkIG9iamVjdHMiCiBtc2dzdHIgImLhu48gcXVhIGPDoWMgxJHhu5FpIHTGsOG7o25nIMSRw7NuZyBnw7NpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NgogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG9iamVjdHMiCiBtc2dzdHIgImdp4bubaSBo4bqhbiBj4butYSBz4buVIMSRw7NuZyBnw7NpIHRoZW8gxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0OAogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG1lbW9yeSBpbiBhZGRpdGlvbiB0byBvYmplY3QgbGltaXQiCiBtc2dzdHIgImdp4bubaSBo4bqhbiBj4butYSBz4buVIMSRw7NuZyBnw7NpIHRoZW8gYuG7mSBuaOG7myBj4buZbmcgdGjDqm0gduG7m2kgZ2nhu5tpIGjhuqFuIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTAKIG1zZ2lkICJtYXhpbXVtIGxlbmd0aCBvZiBkZWx0YSBjaGFpbiBhbGxvd2VkIGluIHRoZSByZXN1bHRpbmcgcGFjayIKIG1zZ3N0ciAixJHhu5kgZMOgaSB04buRaSDEkWEgY+G7p2EgY2h14buXaSBtw7NjIHjDrWNoIOKAnGRlbHRh4oCdIMSRxrDhu6NjIHBow6lwIHRyb25nIGfDs2kga+G6v3QgcXXhuqMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjUyCiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgogbXNnc3RyICJkw7luZyBs4bqhaSBjw6FjIGRlbHRhIHPhurVuIGPDsyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjYzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTQKIG1zZ2lkICJyZXVzZSBleGlzdGluZyBvYmplY3RzIgogbXNnc3RyICJkw7luZyBs4bqhaSBjw6FjIMSR4buRaSB0xrDhu6NuZyBz4bq1biBjw7MiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU2CiBtc2dpZCAidXNlIE9GU19ERUxUQSBvYmplY3RzIgogbXNnc3RyICJkw7luZyBjw6FjIMSR4buRaSB0xrDhu6NuZyBPRlNfREVMVEEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU4CiBtc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKIG1zZ3N0ciAic+G7rSBk4bulbmcgY8OhYyB0dXnhur9uIHRyw6xuaCBraGkgdMOsbSBraeG6v20gY2hvIGPDoWMgbeG6q3Uga2jhu5twIGRlbHRhIHThu5F0IG5o4bqldCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjY5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjAKIG1zZ2lkICJkbyBub3QgY3JlYXRlIGFuIGVtcHR5IHBhY2sgb3V0cHV0IgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8ga+G6v3QgeHXhuqV0IGfDs2kgdHLhu5FuZyBy4buXbmciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjYyCiBtc2dpZCAicmVhZCByZXZpc2lvbiBhcmd1bWVudHMgZnJvbSBzdGFuZGFyZCBpbnB1dCIKLW1zZ3N0ciAiIMSR4buNYyB0aGFtIHPhu5Eg4oCccmV2aXNpb27igJ0gdOG7qyB0aGnhur90IGLhu4sgbmjhuq1wIGNodeG6qW4iCittc2dzdHIgIsSR4buNYyB0aGFtIHPhu5Eg4oCccmV2aXNpb27igJ0gdOG7qyB0aGnhur90IGLhu4sgbmjhuq1wIGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjY0CiBtc2dpZCAibGltaXQgdGhlIG9iamVjdHMgdG8gdGhvc2UgdGhhdCBhcmUgbm90IHlldCBwYWNrZWQiCiBtc2dzdHIgImdp4bubaSBo4bqhbiBjw6FjIMSR4buRaSB0xrDhu6NuZyB0aMOgbmggbmjhu69uZyBjw6FpIG3DoCBjaMO6bmcgduG6q24gY2jGsGEgxJHGsOG7o2MgxJHDs25nIGfDs2kiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjY3CiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlYWNoYWJsZSBmcm9tIGFueSByZWZlcmVuY2UiCiBtc2dzdHIgImJhbyBn4buTbSBjw6FjIMSR4buRaSB0xrDhu6NuZyBjw7MgdGjhu4MgxJHhu41jIMSRxrDhu6NjIHThu6sgYuG6pXQga+G7syB0aGFtIGNoaeG6v3UgbsOgbyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjc5CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzAKIG1zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgYnkgcmVmbG9nIGVudHJpZXMiCiBtc2dzdHIgImJhbyBn4buTbSBjw6FjIMSR4buRaSB0xrDhu6NuZyDEkcaw4bujYyB0aGFtIGNoaeG6v3UgYuG7n2kgY8OhYyBt4bulYyByZWZsb2ciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjczCiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIHRvIGJ5IHRoZSBpbmRleCIKIG1zZ3N0ciAiYmFvIGfhu5NtIGPDoWMgxJHhu5FpIHTGsOG7o25nIMSRxrDhu6NjIHRoYW0gY2hp4bq/dSBi4bufaSBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzYKIG1zZ2lkICJvdXRwdXQgcGFjayB0byBzdGRvdXQiCiBtc2dzdHIgInh14bqldCBnw7NpIHJhIMSR4bqndSByYSB0acOqdSBjaHXhuqluIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3OAogbXNnaWQgImluY2x1ZGUgdGFnIG9iamVjdHMgdGhhdCByZWZlciB0byBvYmplY3RzIHRvIGJlIHBhY2tlZCIKIG1zZ3N0ciAiYmFvIGfhu5NtIGPDoWMgxJHhu5FpIHTGsOG7o25nIHRoYW0gY2hp4bq/dSDEkeG6v24gY8OhYyDEkeG7kWkgdMaw4bujbmcgxJHGsOG7o2MgxJHDs25nIGfDs2kiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgwCiBtc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJnaeG7ryBs4bqhaSBjw6FjIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgdGjhu4MgxJHhu41jIMSRxrDhu6NjIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4MgogbXNnaWQgInBhY2sgbG9vc2UgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAicGFjayBt4bqldCBjw6FjIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgdGjhu4MgxJHhu41jIMSRxrDhu6NjIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4NAogbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgogbXNnc3RyICIiCiAieOG6oyBuw6luIChn4buhIGto4buPaSBnw7NpKSBjw6FjIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgdGjhu4MgxJHhu41jIMSRxrDhu6NjIG3hu5tpIGjGoW4gPHRo4budaS1naWFuPiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODcKK21zZ2lkICJ1c2UgdGhlIHNwYXJzZSByZWFjaGFiaWxpdHkgYWxnb3JpdGhtIgorbXNnc3RyICJz4butIGThu6VuZyB0aHXhuq10IHRvw6FuIOKAnHNwYXJzZSByZWFjaGFiaWxpdHnigJ0iCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4OQogbXNnaWQgImNyZWF0ZSB0aGluIHBhY2tzIgogbXNnc3RyICJ04bqhbyBnw7NpIG5o4bq5IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MQogbXNnaWQgImNyZWF0ZSBwYWNrcyBzdWl0YWJsZSBmb3Igc2hhbGxvdyBmZXRjaGVzIgogbXNnc3RyICJ04bqhbyBnw7NpIMSR4buDIHBow7kgaOG7o3AgY2hvIGzhuqV5IHbhu4EgbsO0bmcgKHNoYWxsb3cpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MwogbXNnaWQgImlnbm9yZSBwYWNrcyB0aGF0IGhhdmUgY29tcGFuaW9uIC5rZWVwIGZpbGUiCiBtc2dzdHIgImLhu48gcXVhIGPDoWMgZ8OzaSBtw6AgbsOzIGPDsyB04bqtcCB0aW4gLmtlZXAgxJFpIGvDqG0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk1CiBtc2dpZCAiaWdub3JlIHRoaXMgcGFjayIKIG1zZ3N0ciAiYuG7jyBxdWEgZ8OzaSBuw6B5IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5NwogbXNnaWQgInBhY2sgY29tcHJlc3Npb24gbGV2ZWwiCiBtc2dzdHIgIm3hu6ljIG7DqW4gZ8OzaSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzA2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTkKIG1zZ2lkICJkbyBub3QgaGlkZSBjb21taXRzIGJ5IGdyYWZ0cyIKIG1zZ3N0ciAia2jDtG5nIOG6qW4gY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGLhu59pIOKAnGdyYWZ0c+KAnSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzA4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDEKIG1zZ2lkICJ1c2UgYSBiaXRtYXAgaW5kZXggaWYgYXZhaWxhYmxlIHRvIHNwZWVkIHVwIGNvdW50aW5nIG9iamVjdHMiCiBtc2dzdHIgImTDuW5nIG3hu6VjIGzhu6VjIMOhbmggeOG6oSBu4bq/dSBjw7MgdGjhu4MgxJHGsOG7o2MgxJHhu4MgbsOibmcgY2FvIHThu5FjIMSR4buZIMSR4bq/bSDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxMAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzAzCiBtc2dpZCAid3JpdGUgYSBiaXRtYXAgaW5kZXggdG9nZXRoZXIgd2l0aCB0aGUgcGFjayBpbmRleCIKIG1zZ3N0ciAiZ2hpIG3hu5l0IG3hu6VjIGzhu6VjIMOhbmggeOG6oSBjw7luZyB24bubaSBt4bulYyBs4bulYyBnw7NpIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwNworbXNnaWQgIndyaXRlIGEgYml0bWFwIGluZGV4IGlmIHBvc3NpYmxlIgorbXNnc3RyICJnaGkgbeG7pWMgbOG7pWMgw6FuaCB44bqhIG7hur91IMSRxrDhu6NjIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTEKIG1zZ2lkICJoYW5kbGluZyBmb3IgbWlzc2luZyBvYmplY3RzIgogbXNnc3RyICJ44butIGzDvSBjaG8gdGhp4bq/dSDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxNgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzE0CiBtc2dpZCAiZG8gbm90IHBhY2sgb2JqZWN0cyBpbiBwcm9taXNvciBwYWNrZmlsZXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkcOzbmcgZ8OzaSBjw6FjIMSR4buRaSB0xrDhu6NuZyB0cm9uZyBjw6FjIHThuq1wIHRpbiBnw7NpIGjhu6lhIGjhurluIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxNgogbXNnaWQgInJlc3BlY3QgaXNsYW5kcyBkdXJpbmcgZGVsdGEgY29tcHJlc3Npb24iCiBtc2dzdHIgInTDtG4gdHLhu41uZyBpc2xhbmQgdHJvbmcgc3Xhu5F0IHF1w6EgdHLDrG5oIG7DqW4g4oCcZGVsdGHigJ0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM0MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbHRhIGNoYWluIGRlcHRoICVkIGlzIHRvbyBkZWVwLCBmb3JjaW5nICVkIgogbXNnc3RyICJt4bupYyBzYXUgeMOtY2ggZGVsdGEgJWQgbMOgIHF1w6Egc8OidSwgYnXhu5ljIGTDuW5nICVkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzNDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrLmRlbHRhQ2FjaGVMaW1pdCBpcyB0b28gaGlnaCwgZm9yY2luZyAlZCIKIG1zZ3N0ciAicGFjay5kZWx0YUNhY2hlTGltaXQgbMOgIHF1w6EgY2FvLCDDqXAgZMO5bmcgJWQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDA0CiBtc2dpZCAiLS1tYXgtcGFjay1zaXplIGNhbm5vdCBiZSB1c2VkIHRvIGJ1aWxkIGEgcGFjayBmb3IgdHJhbnNmZXIiCiBtc2dzdHIgIiIKICItLW1heC1wYWNrLXNpemUga2jDtG5nIHRo4buDIMSRxrDhu6NjIHPhu60gZOG7pW5nIMSR4buDIHjDonkgZOG7sW5nIG3hu5l0IGfDs2kgxJHhu4MgduG6rW4gY2h1eeG7g24iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDA2CiBtc2dpZCAibWluaW11bSBwYWNrIHNpemUgbGltaXQgaXMgMSBNaUIiCiBtc2dzdHIgImdp4bubaSBo4bqhbiBrw61jaCB0aMaw4bubYyB04buRaSB0aGnhu4N1IGPhu6dhIGfDs2kgbMOgIDEgTWlCIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQxMQogbXNnaWQgIi0tdGhpbiBjYW5ub3QgYmUgdXNlZCB0byBidWlsZCBhbiBpbmRleGFibGUgcGFjayIKIG1zZ3N0ciAiLS10aGluIGtow7RuZyB0aOG7gyDEkcaw4bujYyBkw7luZyDEkeG7gyB4w6J5IGThu7FuZyBnw7NpIMSRw6FuaCBt4bulYyBs4bulYyDEkcaw4bujYyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDExCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTQKIG1zZ2lkICItLWtlZXAtdW5yZWFjaGFibGUgYW5kIC0tdW5wYWNrLXVucmVhY2hhYmxlIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIi0ta2VlcC11bnJlYWNoYWJsZSB2w6AgLS11bnBhY2stdW5yZWFjaGFibGUgeHVuZyBraOG6r2MgbmhhdSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDE3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MjAKIG1zZ2lkICJjYW5ub3QgdXNlIC0tZmlsdGVyIHdpdGhvdXQgLS1zdGRvdXQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBkw7luZyB0w7l5IGNo4buNbiAtLWZpbHRlciBtw6Aga2jDtG5nIGPDsyAtLXN0ZG91dCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDc2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0ODEKIG1zZ2lkICJFbnVtZXJhdGluZyBvYmplY3RzIgogbXNnc3RyICLEkMOhbmggc+G7kSBjw6FjIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDk1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM1MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVG90YWwgJTxQUkl1MzI+IChkZWx0YSAlPFBSSXUzMj4pLCByZXVzZWQgJTxQUkl1MzI+IChkZWx0YSAlPFBSSXUzMj4pIgogbXNnc3RyICJU4buVbmcgJTxQUkl1MzI+IChkZWx0YSAlPFBSSXUzMj4pLCBkw7luZyBs4bqhaSAlPFBSSXUzMj4gKGRlbHRhICU8UFJJdTMyPikiCiAKLSM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6NworIzogYnVpbHRpbi9wYWNrLXJlZnMuYzo4CiBtc2dpZCAiZ2l0IHBhY2stcmVmcyBbPG9wdGlvbnM+XSIKLW1zZ3N0ciAiZ2l0IHBhY2stcmVmcyBbPGPDoWMtdMO5eS1jaOG7jW4+XSIKK21zZ3N0ciAiZ2l0IHBhY2stcmVmcyBbPGPDoWMgdMO5eSBjaOG7jW4+XSIKIAotIzogYnVpbHRpbi9wYWNrLXJlZnMuYzoxNQorIzogYnVpbHRpbi9wYWNrLXJlZnMuYzoxNgogbXNnaWQgInBhY2sgZXZlcnl0aGluZyIKIG1zZ3N0ciAixJHDs25nIGfDs2kgbeG7jWkgdGjhu6kiCiAKLSM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTYKKyM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTcKIG1zZ2lkICJwcnVuZSBsb29zZSByZWZzIChkZWZhdWx0KSIKIG1zZ3N0ciAicHJ1bmUgKGPhuq90IGPhu6V0KSBuaOG7r25nIHRoYW0gY2hp4bq/dSBi4buLIG3huqV0ICht4bq3YyDEkeG7i25oKSIKIApAQCAtMTQzMjIsNjkgKzE3MDgwLDY5IEBACiBtc2dpZCAiZ2l0IHBydW5lIFstbl0gWy12XSBbLS1wcm9ncmVzc10gWy0tZXhwaXJlIDx0aW1lPl0gWy0tXSBbPGhlYWQ+Li4uXSIKIG1zZ3N0ciAiZ2l0IHBydW5lIFstbl0gWy12XSBbLS1wcm9ncmVzc10gWy0tZXhwaXJlIDx0aOG7nWktZ2lhbj5dIFstLV0gWzxoZWFkPuKApl0iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMDkKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzEKIG1zZ2lkICJyZXBvcnQgcHJ1bmVkIG9iamVjdHMiCiBtc2dzdHIgImLDoW8gY8OhbyBjw6FjIMSR4buRaSB0xrDhu6NuZyDEkcOjIHBydW5lIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTEyCisjOiBidWlsdGluL3BydW5lLmM6MTM0CiBtc2dpZCAiZXhwaXJlIG9iamVjdHMgb2xkZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgImPDoWMgxJHhu5FpIHTGsOG7o25nIGjhur90IGjhuqFuIGPFqSBoxqFuIGtob+G6o25nIDx0aOG7nWkgZ2lhbj4iCiAKLSM6IGJ1aWx0aW4vcHJ1bmUuYzoxMTQKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMzYKIG1zZ2lkICJsaW1pdCB0cmF2ZXJzYWwgdG8gb2JqZWN0cyBvdXRzaWRlIHByb21pc29yIHBhY2tmaWxlcyIKIG1zZ3N0ciAiZ2nhu5tpIGjhuqFuIGdpYW8gxJHhur9uIGPDoWMgxJHhu5FpIHTGsOG7o25nIG7hurFtIG5nb8OgaSBjw6FjIHThuq1wIHRpbiBnw7NpIGjhu6lhIGjhurluIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTI5CisjOiBidWlsdGluL3BydW5lLmM6MTUwCiBtc2dpZCAiY2Fubm90IHBydW5lIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG7iWEgYuG7m3QgdHJvbmcgbeG7mXQga2hvIMSR4buRaV90xrDhu6NuZ192xKlfxJHhuqFpIgogCi0jOiBidWlsdGluL3B1bGwuYzo2MCBidWlsdGluL3B1bGwuYzo2MgorIzogYnVpbHRpbi9wdWxsLmM6NjYgYnVpbHRpbi9wdWxsLmM6NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICJHacOhIHRy4buLIGtow7RuZyBo4bujcCBs4buHICVzOiAlcyIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODIKKyM6IGJ1aWx0aW4vcHVsbC5jOjg4CiBtc2dpZCAiZ2l0IHB1bGwgWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCi1tc2dzdHIgImdpdCBwdWxsIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8a2hvLWNo4bupYT4gWzxyZWZzcGVjPuKApl1dIgorbXNnc3RyICJnaXQgcHVsbCBbPGPDoWMgdMO5eSBjaOG7jW4+XSBbPGtoby1jaOG7qWE+IFs8cmVmc3BlYz7igKZdXSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTMzCisjOiBidWlsdGluL3B1bGwuYzoxNDIKIG1zZ2lkICJjb250cm9sIGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIKIG1zZ3N0ciAixJFp4buBdSBraGnhu4NuIHZp4buHYyBs4bqleSB24buBIMSR4buHIHF1eSBj4bunYSBjw6FjIG3DtC3EkXVuLWNvbiIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTM3CisjOiBidWlsdGluL3B1bGwuYzoxNDYKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gbWVyZ2luZyIKIG1zZ3N0ciAiQ8OhYyB0w7l5IGNo4buNbiBsacOqbiBxdWFuIMSR4bq/biBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTQwCisjOiBidWlsdGluL3B1bGwuYzoxNDkKIG1zZ2lkICJpbmNvcnBvcmF0ZSBjaGFuZ2VzIGJ5IHJlYmFzaW5nIHJhdGhlciB0aGFuIG1lcmdpbmciCiBtc2dzdHIgImPDoWMgdGhheSDEkeG7lWkgaOG7o3AgbmjhuqV0IGLhurFuZyBj4bqjaSB04buVIHRoYXkgdsOsIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL3B1bGwuYzoxNjcgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTQ3IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIyCisjOiBidWlsdGluL3B1bGwuYzoxNzcgYnVpbHRpbi9yZWJhc2UuYzo0NjcgYnVpbHRpbi9yZXZlcnQuYzoxMjYKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQiCiBtc2dzdHIgImNobyBwaMOpcCBjaHV54buDbi10aeG6v3AtbmhhbmgiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE3NgorIzogYnVpbHRpbi9wdWxsLmM6MTg2CiBtc2dpZCAiYXV0b21hdGljYWxseSBzdGFzaC9zdGFzaCBwb3AgYmVmb3JlIGFuZCBhZnRlciByZWJhc2UiCiBtc2dzdHIgInThu7EgxJHhu5luZyBzdGFzaC9zdGFzaCBwb3AgdMaw4bubYyB2w6Agc2F1IHR1IGLhu5UgKHJlYmFzZSkiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjE5MgorIzogYnVpbHRpbi9wdWxsLmM6MjAyCiBtc2dpZCAiT3B0aW9ucyByZWxhdGVkIHRvIGZldGNoaW5nIgogbXNnc3RyICJDw6FjIHTDuXkgY2jhu41uIGxpw6puIHF1YW4gxJHhur9uIGzhu4duaCBs4bqleSB24buBIgogCi0jOiBidWlsdGluL3B1bGwuYzoyMDIKKyM6IGJ1aWx0aW4vcHVsbC5jOjIxMgogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCiBtc2dzdHIgIsOpcCBideG7mWMgZ2hpIMSRw6ggbMOqbiBuaMOhbmggbuG7mWkgYuG7mSIKIAotIzogYnVpbHRpbi9wdWxsLmM6MjEwCisjOiBidWlsdGluL3B1bGwuYzoyMjAKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBwdWxsZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgInPhu5EgbMaw4bujbmcgbcO0LcSRdW4tY29uIMSRxrDhu6NjIMSR4bqpeSBsw6puIMSR4buTbmcgdGjhu51pIgogCi0jOiBidWlsdGluL3B1bGwuYzozMDUKKyM6IGJ1aWx0aW4vcHVsbC5jOjMyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciBwdWxsLmZmOiAlcyIKIG1zZ3N0ciAiR2nDoSB0cuG7iyBraMO0bmcgaOG7o3AgbOG7hyBjaG8gcHVsbC5mZjogJXMiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyMQorIzogYnVpbHRpbi9wdWxsLmM6NDM3CiBtc2dpZCAiIgogIlRoZXJlIGlzIG5vIGNhbmRpZGF0ZSBmb3IgcmViYXNpbmcgYWdhaW5zdCBhbW9uZyB0aGUgcmVmcyB0aGF0IHlvdSBqdXN0ICIKICJmZXRjaGVkLiIKQEAgLTE0MzkyLDE0ICsxNzE1MCwxNCBAQAogIuG7niDEkcOieSBraMO0bmcgY8OzIOG7qW5nIGPhu60gbsOgbyDEkeG7gyBj4bqjaSB04buVIGzhuqFpIHRyb25nIHPhu5EgY8OhYyB0aGFtIGNoaeG6v3UgbcOgIGLhuqFuIHbhu6thICIKICJs4bqleSB24buBLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDIzCisjOiBidWlsdGluL3B1bGwuYzo0MzkKIG1zZ2lkICIiCiAiVGhlcmUgYXJlIG5vIGNhbmRpZGF0ZXMgZm9yIG1lcmdpbmcgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCBmZXRjaGVkLiIKIG1zZ3N0ciAiIgogIuG7niDEkcOieSBraMO0bmcgY8OzIOG7qW5nIGPhu60gbsOgbyDEkeG7gyBow7JhIHRy4buZbiB0cm9uZyBz4buRIGPDoWMgdGhhbSBjaGnhur91IG3DoCBi4bqhbiB24burYSBs4bqleSAiCiAiduG7gS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyNAorIzogYnVpbHRpbi9wdWxsLmM6NDQwCiBtc2dpZCAiIgogIkdlbmVyYWxseSB0aGlzIG1lYW5zIHRoYXQgeW91IHByb3ZpZGVkIGEgd2lsZGNhcmQgcmVmc3BlYyB3aGljaCBoYWQgbm9cbiIKICJtYXRjaGVzIG9uIHRoZSByZW1vdGUgZW5kLiIKQEAgLTE0NDA4LDcgKzE3MTY2LDcgQEAKICJ04buxXG4iCiAixJHhuqFpIGRp4buHbiBtw6AgbsOzIGzhuqFpIGtow7RuZyBraOG7m3AgdHLDqm4gxJFp4buDbSBjdeG7kWkgbcOheSBwaOG7pWMgduG7pS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyNworIzogYnVpbHRpbi9wdWxsLmM6NDQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXNrZWQgdG8gcHVsbCBmcm9tIHRoZSByZW1vdGUgJyVzJywgYnV0IGRpZCBub3Qgc3BlY2lmeVxuIgpAQCAtMTQ0MjAsNDMgKzE3MTc4LDQzIEBACiAidGhlbyBt4bq3YyDEkeG7i25oIGNobyBuaMOhbmggaGnhu4duIHThuqFpIGPhu6dhIGLhuqFuLCBi4bqhbiBwaOG6o2kgY2jhu4kgxJHhu4tuaFxuIgogIm3hu5l0IG5ow6FuaCB0csOqbiBkw7JuZyBs4buHbmguIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzIgYnVpbHRpbi9yZWJhc2UuYzo3NjEgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MworIzogYnVpbHRpbi9wdWxsLmM6NDQ4IGJ1aWx0aW4vcmViYXNlLmM6MTM3NSBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCiBtc2dpZCAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLiIKIG1zZ3N0ciAiSGnhu4duIHThuqFpIGLhuqFuIGNo4bqzbmcg4bufIG5ow6FuaCBuw6BvIGPhuqMuIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzQgYnVpbHRpbi9wdWxsLmM6NDQ5IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1MCBidWlsdGluL3B1bGwuYzo0NjUgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3OQogbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byByZWJhc2UgYWdhaW5zdC4iCiBtc2dzdHIgIlZ1aSBsw7JuZyBjaOG7iSDEkeG7i25oIG5ow6FuaCBuw6BvIGLhuqFuIG114buRbiBj4bqjaSB04buVIGzhuqFpLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM2IGJ1aWx0aW4vcHVsbC5jOjQ1MSBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCisjOiBidWlsdGluL3B1bGwuYzo0NTIgYnVpbHRpbi9wdWxsLmM6NDY3IGdpdC1wYXJzZS1yZW1vdGUuc2g6ODIKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gbWVyZ2Ugd2l0aC4iCiBtc2dzdHIgIlZ1aSBsw7JuZyBjaOG7iSDEkeG7i25oIG5ow6FuaCBuw6BvIGLhuqFuIG114buRbiBow7JhIHRy4buZbiB2w6BvLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM3IGJ1aWx0aW4vcHVsbC5jOjQ1MgorIzogYnVpbHRpbi9wdWxsLmM6NDUzIGJ1aWx0aW4vcHVsbC5jOjQ2OAogbXNnaWQgIlNlZSBnaXQtcHVsbCgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIlhlbSBnaXQtcHVsbCgxKSDEkeG7gyBiaeG6v3QgdGjDqm0gY2hpIHRp4bq/dC4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzOSBidWlsdGluL3B1bGwuYzo0NDUgYnVpbHRpbi9wdWxsLmM6NDU0Ci0jOiBidWlsdGluL3JlYmFzZS5jOjc2NyBnaXQtcGFyc2UtcmVtb3RlLnNoOjY0CisjOiBidWlsdGluL3B1bGwuYzo0NTUgYnVpbHRpbi9wdWxsLmM6NDYxIGJ1aWx0aW4vcHVsbC5jOjQ3MAorIzogYnVpbHRpbi9yZWJhc2UuYzoxMzgxIGdpdC1wYXJzZS1yZW1vdGUuc2g6NjQKIG1zZ2lkICI8cmVtb3RlPiIKIG1zZ3N0ciAiPG3DoXkgY2jhu6c+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0MzkgYnVpbHRpbi9wdWxsLmM6NDU0IGJ1aWx0aW4vcHVsbC5jOjQ1OQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTU2IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1NSBidWlsdGluL3B1bGwuYzo0NzAgYnVpbHRpbi9wdWxsLmM6NDc1CisjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1CiBtc2dpZCAiPGJyYW5jaD4iCiBtc2dzdHIgIjxuaMOhbmg+IgogCi0jOiBidWlsdGluL3B1bGwuYzo0NDcgYnVpbHRpbi9yZWJhc2UuYzo3NTkgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3NQorIzogYnVpbHRpbi9wdWxsLmM6NDYzIGJ1aWx0aW4vcmViYXNlLmM6MTM3MyBnaXQtcGFyc2UtcmVtb3RlLnNoOjc1CiBtc2dpZCAiVGhlcmUgaXMgbm8gdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIuG7niDEkcOieSBraMO0bmcgY8OzIHRow7RuZyB0aW4gdGhlbyBkw7VpIGNobyBuaMOhbmggaGnhu4duIGjDoG5oLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDU2IGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ3MiBnaXQtcGFyc2UtcmVtb3RlLnNoOjk1CiBtc2dpZCAiIgogIklmIHlvdSB3aXNoIHRvIHNldCB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhpcyBicmFuY2ggeW91IGNhbiBkbyBzbyB3aXRoOiIKIG1zZ3N0ciAiIgogIk7hur91IGLhuqFuIG114buRbiB0aGVvIGTDtWkgdGjDtG5nIHRpbiBjaG8gbmjDoW5oIG7DoHkgYuG6oW4gY8OzIHRo4buDIHRo4buxYyBoaeG7h24gYuG6sW5nIGzhu4duaDoiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ2MQorIzogYnVpbHRpbi9wdWxsLmM6NDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVzIHRvIG1lcmdlIHdpdGggdGhlIHJlZiAnJXMnXG4iCkBAIC0xNDQ2NSwzNCArMTcyMjMsMzQgQEAKICJDw6FjIMSR4bq3YyB04bqjIGPhuqV1IGjDrG5oIGPhu6dhIGLhuqFuIMSR4buDIGjDsmEgdHLhu5luIHbhu5tpIHRoYW0gY2hp4bq/dSDigJwlc+KAnVxuIgogInThu6sgbcOheSBk4buLY2ggduG7pSwgbmjGsG5nIGtow7RuZyBjw7MgbmjDoW5oIG7DoG8gbmjGsCB0aOG6vyDEkcaw4bujYyBs4bqleSB24buBLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NTY1CisjOiBidWlsdGluL3B1bGwuYzo1ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyBjb21taXQgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB0cnV5IGPhuq1wIGzhuqduIGNodXnhu4NuIGdpYW8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg0MworIzogYnVpbHRpbi9wdWxsLmM6ODY3CiBtc2dpZCAiaWdub3JpbmcgLS12ZXJpZnktc2lnbmF0dXJlcyBmb3IgcmViYXNlIgogbXNnc3RyICJi4buPIHF1YSAtLXZlcmlmeS1zaWduYXR1cmVzIGtoaSByZWJhc2UiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg5MQorIzogYnVpbHRpbi9wdWxsLmM6OTIyCiBtc2dpZCAiLS1bbm8tXWF1dG9zdGFzaCBvcHRpb24gaXMgb25seSB2YWxpZCB3aXRoIC0tcmViYXNlLiIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gLS1bbm8tXWF1dG9zdGFzaCBjaOG7iSBo4bujcCBs4buHIGtoaSBkw7luZyB24bubaSAtLXJlYmFzZS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjg5OQorIzogYnVpbHRpbi9wdWxsLmM6OTMwCiBtc2dpZCAiVXBkYXRpbmcgYW4gdW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4LiIKIG1zZ3N0ciAiIgogIsSQYW5nIGPhuq1wIG5o4bqtdCBt4buZdCBuaMOhbmggY2jGsGEgxJHGsOG7o2Mgc2luaCByYSB24bubaSBjw6FjIHRoYXkgxJHhu5VpIMSRxrDhu6NjIHRow6ptIHbDoG8gIgogImLhuqNuZyBt4bulYyBs4bulYy4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkwMgorIzogYnVpbHRpbi9wdWxsLmM6OTM0CiBtc2dpZCAicHVsbCB3aXRoIHJlYmFzZSIKIG1zZ3N0ciAicHVsbCB24bubaSByZWJhc2UiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkwMworIzogYnVpbHRpbi9wdWxsLmM6OTM1CiBtc2dpZCAicGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAieGluIGjDo3kgY2h1eeG7g24gZ2lhbyBob+G6t2MgdOG6oW0gY+G6pXQgKHN0YXNoKSBjaMO6bmcuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MjgKKyM6IGJ1aWx0aW4vcHVsbC5jOjk2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZmV0Y2ggdXBkYXRlZCB0aGUgY3VycmVudCBicmFuY2ggaGVhZC5cbiIKQEAgLTE0NTAzLDcgKzE3MjYxLDcgQEAKICLEkWFuZyBjaHV54buDbi10aeG6v3AtbmhhbmggY8OieSBsw6BtIHZp4buHYyBj4bunYSBi4bqhbiB04burXG4iCiAibOG6p24gY2h1eeG7g24gZ2lhb3QgJXMuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MzQKKyM6IGJ1aWx0aW4vcHVsbC5jOjk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGZhc3QtZm9yd2FyZCB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTE0NTIxLDMyICsxNzI3OSwzMiBAQAogIiQgZ2l0IHJlc2V0IC0taGFyZFxuIgogIsSR4buDIGtow7RpIHBo4bulYyBs4bqhaS4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjk0OQorIzogYnVpbHRpbi9wdWxsLmM6OTgxCiBtc2dpZCAiQ2Fubm90IG1lcmdlIG11bHRpcGxlIGJyYW5jaGVzIGludG8gZW1wdHkgaGVhZC4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyBow7JhIHRy4buZbiBuaGnhu4F1IG5ow6FuaCB2w6BvIHRyb25nIG3hu5l0IGhlYWQgdHLhu5FuZyBy4buXbmcuIgogCi0jOiBidWlsdGluL3B1bGwuYzo5NTMKKyM6IGJ1aWx0aW4vcHVsbC5jOjk4NQogbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcy4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIGzhu4duaCByZWJhc2UgKGPhuqNpIHThu5UpIHRyw6puIG5oaeG7gXUgbmjDoW5oLiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTYwCisjOiBidWlsdGluL3B1bGwuYzo5OTIKIG1zZ2lkICJjYW5ub3QgcmViYXNlIHdpdGggbG9jYWxseSByZWNvcmRlZCBzdWJtb2R1bGUgbW9kaWZpY2F0aW9ucyIKIG1zZ3N0ciAiIgogImtow7RuZyB0aOG7gyBj4bqjaSB04buVIHbhu5tpIGPDoWMgdGhheSDEkeG7lWkgbcO0LcSRdW4tY29uIMSRxrDhu6NjIGdoaSBs4bqhaSBt4buZdCBjw6FjaCBj4bulYyBi4buZIgogCiAjOiBidWlsdGluL3B1c2guYzoxOQogbXNnaWQgImdpdCBwdXNoIFs8b3B0aW9ucz5dIFs8cmVwb3NpdG9yeT4gWzxyZWZzcGVjPi4uLl1dIgotbXNnc3RyICJnaXQgcHVzaCBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbPGtoby1jaOG7qWE+IFs8cmVmc3BlYz7igKZdXSIKK21zZ3N0ciAiZ2l0IHB1c2ggWzxjw6FjIHTDuXkgY2jhu41uPl0gWzxraG8tY2jhu6lhPiBbPHJlZnNwZWM+4oCmXV0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjExMQorIzogYnVpbHRpbi9wdXNoLmM6MTEyCiBtc2dpZCAidGFnIHNob3J0aGFuZCB3aXRob3V0IDx0YWc+IgogbXNnc3RyICJkw7luZyB04buRYyBrw70gdGjhursga2jDtG5nIGPDsyA8dGjhurs+IgogCi0jOiBidWlsdGluL3B1c2guYzoxMjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjEyMgogbXNnaWQgIi0tZGVsZXRlIG9ubHkgYWNjZXB0cyBwbGFpbiB0YXJnZXQgcmVmIG5hbWVzIgogbXNnc3RyICItLWRlbGV0ZSBjaOG7iSBjaOG6pXAgbmjhuq1uIGPDoWMgdMOqbiB0aGFtIGNoaeG6v3UgZOG6oW5nIHRoxrDhu51uZyIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTY1CisjOiBidWlsdGluL3B1c2guYzoxNjgKIG1zZ2lkICIiCiAiXG4iCiAiVG8gY2hvb3NlIGVpdGhlciBvcHRpb24gcGVybWFuZW50bHksIHNlZSBwdXNoLmRlZmF1bHQgaW4gJ2dpdCBoZWxwIGNvbmZpZycuIgpAQCAtMTQ1NTUsNyArMTczMTMsNyBAQAogIsSQ4buDIGNo4buNbiBt4buXaSB0w7l5IGNo4buNbiBt4buZdCBjw6FjaCBj4buRIMSR4buLbmgsIHhlbSBwdXNoLmRlZmF1bHQgdHJvbmcg4oCcZ2l0IGhlbHAgIgogImNvbmZpZ+KAnS4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE2OAorIzogYnVpbHRpbi9wdXNoLmM6MTcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgdXBzdHJlYW0gYnJhbmNoIG9mIHlvdXIgY3VycmVudCBicmFuY2ggZG9lcyBub3QgbWF0Y2hcbiIKQEAgLTE0NTgwLDcgKzE3MzM4LDcgQEAKICIgICAgZ2l0IHB1c2ggJXMgSEVBRFxuIgogIiVzIgogCi0jOiBidWlsdGluL3B1c2guYzoxODMKKyM6IGJ1aWx0aW4vcHVzaC5jOjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLlxuIgpAQCAtMTQ1OTUsNyArMTczNTMsNyBAQAogIlxuIgogIiAgICBnaXQgcHVzaCAlcyBIRUFEOjx0w6puLWPhu6dhLW5ow6FuaC1tw6F5LWNo4bunPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzoxOTcKKyM6IGJ1aWx0aW4vcHVzaC5jOjIwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBubyB1cHN0cmVhbSBicmFuY2guXG4iCkBAIC0xNDYwOSwxMiArMTczNjcsMTIgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggLS1zZXQtdXBzdHJlYW0gJXMgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjA1CisjOiBidWlsdGluL3B1c2guYzoyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBtdWx0aXBsZSB1cHN0cmVhbSBicmFuY2hlcywgcmVmdXNpbmcgdG8gcHVzaC4iCiBtc2dzdHIgIk5ow6FuaCBoaeG7h24gdOG6oWkgJXMgY8OzIG5oaeG7gXUgbmjDoW5oIHRoxrDhu6NuZyBuZ3Xhu5NuLCB04burIGNo4buRaSBwdXNoLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjA4CisjOiBidWlsdGluL3B1c2guYzoyMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBhcmUgcHVzaGluZyB0byByZW1vdGUgJyVzJywgd2hpY2ggaXMgbm90IHRoZSB1cHN0cmVhbSBvZlxuIgpAQCAtMTQ2MjYsMTQgKzE3Mzg0LDE0IEBACiAibmjDoW5oIGhp4buHbiB04bqhaSDigJwlc+KAnSBj4bunYSBi4bqhbiwgbcOgIGtow7RuZyBiw6FvIGNobyB0w7RpIGJp4bq/dCBsw6AgY8OhaSBnw6wgxJHGsOG7o2MgcHVzaFxuIgogIsSR4buDIGPhuq1wIG5o4bqtdCBuaMOhbmggbcOheSBjaOG7pyBuw6BvLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjY3CisjOiBidWlsdGluL3B1c2guYzoyNzAKIG1zZ2lkICIiCiAiWW91IGRpZG4ndCBzcGVjaWZ5IGFueSByZWZzcGVjcyB0byBwdXNoLCBhbmQgcHVzaC5kZWZhdWx0IGlzIFwibm90aGluZ1wiLiIKIG1zZ3N0ciAiIgogIkLhuqFuIMSRw6Mga2jDtG5nIGNo4buJIHJhIG3hu5l0IHJlZnNwZWNzIG7DoG8gxJHhu4MgxJHhuql5IGzDqm4sIHbDoCBwdXNoLmRlZmF1bHQgbMOgIFwia2jDtG5nICIKICJsw6AgZ8OsIGPhuqNcIi4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI3NAorIzogYnVpbHRpbi9wdXNoLmM6Mjc3CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0aXAgb2YgeW91ciBjdXJyZW50IGJyYW5jaCBpcyBiZWhpbmRcbiIKICJpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LiBJbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzIChlLmcuXG4iCkBAIC0xNDY0Niw3ICsxNzQwNCw3IEBACiAiWGVtIOKAnE5vdGUgYWJvdXQgZmFzdC1mb3J3YXJkc+KAnSB0cm9uZyDigJxnaXQgcHVzaCAtLWhlbHDigJ0gxJHhu4MgY8OzIHRow7RuZyB0aW4gY2hpICIKICJ0aeG6v3QuIgogCi0jOiBidWlsdGluL3B1c2guYzoyODAKKyM6IGJ1aWx0aW4vcHVzaC5jOjI4MwogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSBhIHB1c2hlZCBicmFuY2ggdGlwIGlzIGJlaGluZCBpdHMgcmVtb3RlXG4iCiAiY291bnRlcnBhcnQuIENoZWNrIG91dCB0aGlzIGJyYW5jaCBhbmQgaW50ZWdyYXRlIHRoZSByZW1vdGUgY2hhbmdlc1xuIgpAQCAtMTQ2NjAsNyArMTc0MTgsNyBAQAogIlhlbSDigJxOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHPigJ0gdHJvbmcg4oCcZ2l0IHB1c2ggLS1oZWxw4oCdIMSR4buDIGPDsyB0aMO0bmcgdGluIGNoaSAiCiAidGnhur90LiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mjg2CisjOiBidWlsdGluL3B1c2guYzoyODkKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgdGhlIHJlbW90ZSBjb250YWlucyB3b3JrIHRoYXQgeW91IGRvXG4iCiAibm90IGhhdmUgbG9jYWxseS4gVGhpcyBpcyB1c3VhbGx5IGNhdXNlZCBieSBhbm90aGVyIHJlcG9zaXRvcnkgcHVzaGluZ1xuIgpAQCAtMTQ2NzUsMTEgKzE3NDMzLDExIEBACiAiWGVtIOKAnE5vdGUgYWJvdXQgZmFzdC1mb3J3YXJkc+KAnSB0cm9uZyDigJxnaXQgcHVzaCAtLWhlbHDigJ0gxJHhu4MgY8OzIHRow7RuZyB0aW4gY2hpICIKICJ0aeG6v3QuIgogCi0jOiBidWlsdGluL3B1c2guYzoyOTMKKyM6IGJ1aWx0aW4vcHVzaC5jOjI5NgogbXNnaWQgIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0YWcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIHJlbW90ZS4iCiBtc2dzdHIgIlZp4buHYyBj4bqtcCBuaOG6rXQgYuG7iyB04burIGNo4buRaSBi4bufaSB2w6wgdGjhursgxJHDoyBz4bq1biBjw7MgdOG7qyB0csaw4bubYyB0csOqbiBtw6F5IGNo4bunLiIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mjk2CisjOiBidWlsdGluL3B1c2guYzoyOTkKIG1zZ2lkICIiCiAiWW91IGNhbm5vdCB1cGRhdGUgYSByZW1vdGUgcmVmIHRoYXQgcG9pbnRzIGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCiAib3IgdXBkYXRlIGEgcmVtb3RlIHJlZiB0byBtYWtlIGl0IHBvaW50IGF0IGEgbm9uLWNvbW1pdCBvYmplY3QsXG4iCkBAIC0xNDY5MSwyMiArMTc0NDksOTkgQEAKICLEkeG7kWkgdMaw4bujbmdcbiIKICJraMO0bmcgcGjhuqNpIGNodXnhu4NuIGdpYW8sIG3DoCBraMO0bmcgc+G7rSBk4bulbmcgdMO5eSBjaOG7jW4g4oCcLS1mb3JjZeKAnS5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzU3CisjOiBidWlsdGluL3B1c2guYzozNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHVzaGluZyB0byAlc1xuIgogbXNnc3RyICLEkGFuZyDEkeG6qXkgbMOqbiAlc1xuIgogCi0jOiBidWlsdGluL3B1c2guYzozNjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4bqpeSB04bubaSBt4buZdCBz4buRIHRoYW0gY2hp4bq/dSDEkeG6v24g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5NQorIzogYnVpbHRpbi9wdXNoLmM6NTQyCittc2dpZCAicmVwb3NpdG9yeSIKK21zZ3N0ciAia2hvIgorCisjOiBidWlsdGluL3B1c2guYzo1NDMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjQKK21zZ2lkICJwdXNoIGFsbCByZWZzIgorbXNnc3RyICLEkeG6qXkgdOG6pXQgY+G6oyBjw6FjIHRoYW0gY2hp4bq/dSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2Cittc2dpZCAibWlycm9yIGFsbCByZWZzIgorbXNnc3RyICJtaXJyb3IgdOG6pXQgY+G6oyBjw6FjIHRoYW0gY2hp4bq/dSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ2Cittc2dpZCAiZGVsZXRlIHJlZnMiCittc2dzdHIgInjDs2EgY8OhYyB0aGFtIGNoaeG6v3UiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NworbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKK21zZ3N0ciAixJHhuql5IGPDoWMgdGjhursgKGtow7RuZyBkw7luZyBjw7luZyB24bubaSAtLWFsbCBoYXkgLS1taXJyb3IpIgorCisjOiBidWlsdGluL3B1c2guYzo1NTAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjcKK21zZ2lkICJmb3JjZSB1cGRhdGVzIgorbXNnc3RyICLDqXAgYnXhu5ljIGPhuq1wIG5o4bqtdCIKKworIzogYnVpbHRpbi9wdXNoLmM6NTUyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTgxCittc2dpZCAiPHJlZm5hbWU+OjxleHBlY3Q+IgorbXNnc3RyICI8dMOqbi10aGFtLWNoaeG6v3U+Ojxj4bqnbj4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MyBidWlsdGluL3NlbmQtcGFjay5jOjE4MgorbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgorbXNnc3RyICJ5w6p1IGPhuqd1IGdpw6EtdHLhu4sgY8WpIGPhu6dhIHRoYW0gY2hp4bq/dSB0aMOsIGzDoCBnacOhLXRy4buLIG7DoHkiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1NgorbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIKK21zZ3N0ciAixJFp4buBdSBraGnhu4NuIHZp4buHYyDEkeG6qXkgbMOqbiAocHVzaCkgxJHhu4cgcXVpIGPhu6dhIG3DtC3EkXVuLWNvbiIKKworIzogYnVpbHRpbi9wdXNoLmM6NTU4IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc1Cittc2dpZCAidXNlIHRoaW4gcGFjayIKK21zZ3N0ciAidOG6oW8gZ8OzaSBuaOG6uSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTU5IGJ1aWx0aW4vcHVzaC5jOjU2MCBidWlsdGluL3NlbmQtcGFjay5jOjE2MQorIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNjIKK21zZ2lkICJyZWNlaXZlIHBhY2sgcHJvZ3JhbSIKK21zZ3N0ciAiY2jGsMahbmcgdHLDrG5oIG5o4bqtbiBnw7NpIgorCisjOiBidWlsdGluL3B1c2guYzo1NjEKK21zZ2lkICJzZXQgdXBzdHJlYW0gZm9yIGdpdCBwdWxsL3N0YXR1cyIKK21zZ3N0ciAixJHhurd0IHRoxrDhu6NuZyBuZ3Xhu5NuIGNobyBnaXQgcHVsbC9zdGF0dXMiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU2NAorbXNnaWQgInBydW5lIGxvY2FsbHkgcmVtb3ZlZCByZWZzIgorbXNnc3RyICJ4w6luIHThu4lhIG5o4buvbmcgdGhhbSBjaGnhur91IGLhu4sgZ+G7oSBi4buPIgorCisjOiBidWlsdGluL3B1c2guYzo1NjYKK21zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKK21zZ3N0ciAidsOybmcgcXVhIG3Ds2MgdGnhu4FuLcSR4bqpeSAocHJlLXB1c2gpIgorCisjOiBidWlsdGluL3B1c2guYzo1NjcKK21zZ2lkICJwdXNoIG1pc3NpbmcgYnV0IHJlbGV2YW50IHRhZ3MiCittc2dzdHIgInB1c2ggcGjhuqduIGLhu4sgdGhp4bq/dSBuaMawbmcgY8OhYyB0aOG6uyBs4bqhaSB0aMOtY2ggaOG7o3AiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MCBidWlsdGluL3NlbmQtcGFjay5jOjE2OQorbXNnaWQgIkdQRyBzaWduIHRoZSBwdXNoIgorbXNnc3RyICJrw70gbOG6p24gxJHhuql5IGTDuW5nIEdQRyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTcyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2Cittc2dpZCAicmVxdWVzdCBhdG9taWMgdHJhbnNhY3Rpb24gb24gcmVtb3RlIHNpZGUiCittc2dzdHIgInnDqnUgY+G6p3UgZ2lhbyBk4buLY2ggaOG6oXQgbmjDom4gYsOqbiBwaMOtYSBtw6F5IGNo4bunIgorCisjOiBidWlsdGluL3B1c2guYzo1OTAKK21zZ2lkICItLWRlbGV0ZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1taXJyb3IgYW5kIC0tdGFncyIKK21zZ3N0ciAiLS1kZWxldGUgbMOgIHh1bmcga2jhuq9jIHbhu5tpIGPDoWMgdMO5eSBjaOG7jW4gLS1hbGwsIC0tbWlycm9yIHbDoCAtLXRhZ3MiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU5MgorbXNnaWQgIi0tZGVsZXRlIGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRob3V0IGFueSByZWZzIgorbXNnc3RyICItLWRlbGV0ZSBraMO0bmcgaOG7o3AgbMO9IG7hur91IGtow7RuZyBjw7MgYuG6pXQga+G7syB0aGFtIGNoaeG6v3UgbsOgbyIKKworIzogYnVpbHRpbi9wdXNoLmM6NjEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCByZXBvc2l0b3J5ICclcyciCiBtc2dzdHIgInJlcG9zaXRvcnkgKGtobykgc2FpIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3B1c2guYzozOTYKKyM6IGJ1aWx0aW4vcHVzaC5jOjYxMwogbXNnaWQgIiIKICJObyBjb25maWd1cmVkIHB1c2ggZGVzdGluYXRpb24uXG4iCiAiRWl0aGVyIHNwZWNpZnkgdGhlIFVSTCBmcm9tIHRoZSBjb21tYW5kLWxpbmUgb3IgY29uZmlndXJlIGEgcmVtb3RlICIKQEAgLTE0NzI3LDE0MiArMTc1NjIsNzMgQEAKICJcbiIKICIgICAgZ2l0IHB1c2ggPHTDqm4+XG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU1MQotbXNnaWQgInJlcG9zaXRvcnkiCi1tc2dzdHIgImtobyIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTUyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY0Ci1tc2dpZCAicHVzaCBhbGwgcmVmcyIKLW1zZ3N0ciAixJHhuql5IHThuqV0IGPhuqMgY8OhYyB0aGFtIGNoaeG6v3UiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1MyBidWlsdGluL3NlbmQtcGFjay5jOjE2NgotbXNnaWQgIm1pcnJvciBhbGwgcmVmcyIKLW1zZ3N0ciAibWlycm9yIHThuqV0IGPhuqMgY8OhYyB0aGFtIGNoaeG6v3UiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1NQotbXNnaWQgImRlbGV0ZSByZWZzIgotbXNnc3RyICJ4w7NhIGPDoWMgdGhhbSBjaGnhur91IgotCi0jOiBidWlsdGluL3B1c2guYzo1NTYKLW1zZ2lkICJwdXNoIHRhZ3MgKGNhbid0IGJlIHVzZWQgd2l0aCAtLWFsbCBvciAtLW1pcnJvcikiCi1tc2dzdHIgIsSR4bqpeSBjw6FjIHRo4bq7IChraMO0bmcgZMO5bmcgY8O5bmcgduG7m2kgLS1hbGwgaGF5IC0tbWlycm9yKSIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTU5IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY3Ci1tc2dpZCAiZm9yY2UgdXBkYXRlcyIKLW1zZ3N0ciAiw6lwIGJ14buZYyBj4bqtcCBuaOG6rXQiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU2MSBidWlsdGluL3NlbmQtcGFjay5jOjE4MQotbXNnaWQgIjxyZWZuYW1lPjo8ZXhwZWN0PiIKLW1zZ3N0ciAiPHTDqm4tdGhhbS1jaGnhur91Pjo8Y+G6p24+IgotCi0jOiBidWlsdGluL3B1c2guYzo1NjIgYnVpbHRpbi9zZW5kLXBhY2suYzoxODIKLW1zZ2lkICJyZXF1aXJlIG9sZCB2YWx1ZSBvZiByZWYgdG8gYmUgYXQgdGhpcyB2YWx1ZSIKLW1zZ3N0ciAiecOqdSBj4bqndSBnacOhLXRy4buLIGPFqSBj4bunYSB0aGFtIGNoaeG6v3UgdGjDrCBsw6AgZ2nDoS10cuG7iyBuw6B5IgotCi0jOiBidWlsdGluL3B1c2guYzo1NjUKLW1zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBwdXNoaW5nIG9mIHN1Ym1vZHVsZXMiCi1tc2dzdHIgIsSRaeG7gXUga2hp4buDbiB2aeG7h2MgxJHhuql5IGzDqm4gKHB1c2gpIMSR4buHIHF1aSBj4bunYSBtw7QtxJF1bi1jb24iCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU2NyBidWlsdGluL3NlbmQtcGFjay5jOjE3NQotbXNnaWQgInVzZSB0aGluIHBhY2siCi1tc2dzdHIgInThuqFvIGfDs2kgbmjhurkiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU2OCBidWlsdGluL3B1c2guYzo1NjkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCi1tc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCi1tc2dzdHIgImNoxrDGoW5nIHRyw6xuaCBuaOG6rW4gZ8OzaSIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTcwCi1tc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCi1tc2dzdHIgIsSR4bq3dCB0aMaw4bujbmcgbmd14buTbiBjaG8gZ2l0IHB1bGwvc3RhdHVzIgotCi0jOiBidWlsdGluL3B1c2guYzo1NzMKLW1zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKLW1zZ3N0ciAieMOpbiB04buJYSBuaOG7r25nIHRoYW0gY2hp4bq/dSBi4buLIGfhu6EgYuG7jyIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTc1Ci1tc2dpZCAiYnlwYXNzIHByZS1wdXNoIGhvb2siCi1tc2dzdHIgInbDsm5nIHF1YSBtw7NjIHRp4buBbi3EkeG6qXkgKHByZS1wdXNoKSIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTc2Ci1tc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgotbXNnc3RyICJwdXNoIHBo4bqnbiBi4buLIHRoaeG6v3UgbmjGsG5nIGPDoWMgdGjhursgbOG6oWkgdGjDrWNoIGjhu6NwIgotCi0jOiBidWlsdGluL3B1c2guYzo1NzkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjkKLW1zZ2lkICJHUEcgc2lnbiB0aGUgcHVzaCIKLW1zZ3N0ciAia8O9IGzhuqduIMSR4bqpeSBkw7luZyBHUEciCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU4MSBidWlsdGluL3NlbmQtcGFjay5jOjE3NgotbXNnaWQgInJlcXVlc3QgYXRvbWljIHRyYW5zYWN0aW9uIG9uIHJlbW90ZSBzaWRlIgotbXNnc3RyICJ5w6p1IGPhuqd1IGdpYW8gZOG7i2NoIGjhuqF0IG5ow6JuIGLDqm4gcGjDrWEgbcOheSBjaOG7pyIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTk5Ci1tc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCi1tc2dzdHIgIi0tZGVsZXRlIGzDoCB4dW5nIGto4bqvYyB24bubaSBjw6FjIHTDuXkgY2jhu41uIC0tYWxsLCAtLW1pcnJvciB2w6AgLS10YWdzIgotCi0jOiBidWlsdGluL3B1c2guYzo2MDEKLW1zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKLW1zZ3N0ciAiLS1kZWxldGUga2jDtG5nIGjhu6NwIGzDvSBu4bq/dSBraMO0bmcgY8OzIGLhuqV0IGvhu7MgdGhhbSBjaGnhur91IG7DoG8iCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjYwNAorIzogYnVpbHRpbi9wdXNoLmM6NjI4CiBtc2dpZCAiLS1hbGwgYW5kIC0tdGFncyBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCB2w6AgLS10YWdzIHh1bmcga2jhuq9jIG5oYXUiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjYwNgorIzogYnVpbHRpbi9wdXNoLmM6NjMwCiBtc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiLS1hbGwga2jDtG5nIHRo4buDIMSRxrDhu6NjIHThu5UgaOG7o3AgY8O5bmcgduG7m2kgxJHhurdjIHThuqMgxJHGsOG7nW5nIGThuqtuIgogCi0jOiBidWlsdGluL3B1c2guYzo2MTAKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzNAogbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1taXJyb3IgdsOgIC0tdGFncyB4dW5nIGto4bqvYyBuaGF1IgogCi0jOiBidWlsdGluL3B1c2guYzo2MTIKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzNgogbXNnaWQgIi0tbWlycm9yIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCiBtc2dzdHIgIi0tbWlycm9yIGtow7RuZyB0aOG7gyDEkcaw4bujYyB04buVIGjhu6NwIGPDuW5nIHbhu5tpIMSR4bq3YyB04bqjIMSRxrDhu51uZyBk4bqrbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6NjE1CisjOiBidWlsdGluL3B1c2guYzo2MzkKIG1zZ2lkICItLWFsbCBhbmQgLS1taXJyb3IgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwgdsOgIC0tbWlycm9yIHh1bmcga2jhuq9jIG5oYXUiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjYzNAorIzogYnVpbHRpbi9wdXNoLmM6NjQzCiBtc2dpZCAicHVzaCBvcHRpb25zIG11c3Qgbm90IGhhdmUgbmV3IGxpbmUgY2hhcmFjdGVycyIKIG1zZ3N0ciAiY8OhYyB0w7l5IGNo4buNbiBwdXNoIHBo4bqjaSBraMO0bmcgY8OzIGvDvSB04buxIGTDsm5nIG3hu5tpIgogCiAjOiBidWlsdGluL3JhbmdlLWRpZmYuYzo4CiBtc2dpZCAiZ2l0IHJhbmdlLWRpZmYgWzxvcHRpb25zPl0gPG9sZC1iYXNlPi4uPG9sZC10aXA+IDxuZXctYmFzZT4uLjxuZXctdGlwPiIKIG1zZ3N0ciAiIgotImdpdCByYW5nZS1kaWZmIFs8Y8OhYy10w7l5LWNo4buNbj5dIDxvbGQtYmFzZT4uLjxvbGQtdGlwPiA8bmV3LWJhc2U+Li48bmV3LXRpcD4iCisiZ2l0IHJhbmdlLWRpZmYgWzxjw6FjIHTDuXkgY2jhu41uPl0gPG9sZC1iYXNlPi4uPG9sZC10aXA+IDxuZXctYmFzZT4uLjxuZXctdGlwPiIKIAogIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6OQogbXNnaWQgImdpdCByYW5nZS1kaWZmIFs8b3B0aW9ucz5dIDxvbGQtdGlwPi4uLjxuZXctdGlwPiIKLW1zZ3N0ciAiZ2l0IHJhbmdlLWRpZmYgWzxjw6FjLXTDuXktY2jhu41uPl0gPG9sZC10aXA+4oCmPG5ldy10aXA+IgorbXNnc3RyICJnaXQgcmFuZ2UtZGlmZiBbPGPDoWMgdMO5eSBjaOG7jW4+XSA8b2xkLXRpcD7igKY8bmV3LXRpcD4iCiAKICM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjEwCiBtc2dpZCAiZ2l0IHJhbmdlLWRpZmYgWzxvcHRpb25zPl0gPGJhc2U+IDxvbGQtdGlwPiA8bmV3LXRpcD4iCi1tc2dzdHIgImdpdCByYW5nZS1kaWZmIFs8Y8OhYy10w7l5LWNo4buNbj5dIDxiYXNlPiA8b2xkLXRpcD4gPG5ldy10aXA+IgorbXNnc3RyICJnaXQgcmFuZ2UtZGlmZiBbPGPDoWMgdMO5eSBjaOG7jW4+XSA8YmFzZT4gPG9sZC10aXA+IDxuZXctdGlwPiIKIAotIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjEKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjIyCiBtc2dpZCAiUGVyY2VudGFnZSBieSB3aGljaCBjcmVhdGlvbiBpcyB3ZWlnaHRlZCIKIG1zZ3N0ciAiVOG7tyBs4buHIHBo4bqnbiB0csSDbSBjw6FpIHThuqFvIGzDoCB3ZWlnaHRlZCIKIAotIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjMKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjI0CiBtc2dpZCAidXNlIHNpbXBsZSBkaWZmIGNvbG9ycyIKIG1zZ3N0ciAiZMO5bmcgbcOgdSBkaWZmIMSRxqFuIGdp4bqjbiIKIAotIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NjEgYnVpbHRpbi9yYW5nZS1kaWZmLmM6NjUKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjI2Cittc2dpZCAibm90ZXMiCittc2dzdHIgImdoaSBjaMO6IgorCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyNgorbXNnaWQgInBhc3NlZCB0byAnZ2l0IGxvZyciCittc2dzdHIgImNodXnhu4NuIGNobyDigJxnaXQgbG9n4oCdIgorCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzo1MCBidWlsdGluL3JhbmdlLWRpZmYuYzo1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyAuLiBpbiByYW5nZTogJyVzJyIKIG1zZ3N0ciAia2jDtG5nIGPDsyAuLiB0cm9uZyB2w7luZzog4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjc1CisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzo2NAogbXNnaWQgInNpbmdsZSBhcmcgZm9ybWF0IG11c3QgYmUgc3ltbWV0cmljIHJhbmdlIgogbXNnc3RyICLEkeG7i25oIGThuqFuZyDEkeG7kWkgc+G7kSDEkcahbiBwaOG6o2kgbMOgIG3hu5l0IHbDuW5nIMSR4buRaSB44bupbmciCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjkwCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzo3OQogbXNnaWQgIm5lZWQgdHdvIGNvbW1pdCByYW5nZXMiCiBtc2dzdHIgImPhuqduIGhhaSB2w7luZyBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjQwCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjQxCiBtc2dpZCAiIgogImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD08cHJlZml4PikgIgogIlstdSBbLS1leGNsdWRlLXBlci1kaXJlY3Rvcnk9PGdpdGlnbm9yZT5dIHwgLWldXSBbLS1uby1zcGFyc2UtY2hlY2tvdXRdIFstLSIKQEAgLTE0ODczLDEyMSArMTc2MzksMzA4IEBACiAiWy0taW5kZXgtb3V0cHV0PTx04bqtcC10aW4+XSAoLS1lbXB0eSB8IDx0cmVlLWlzaDE+IFs8dHJlZS1pc2gyPiBbPHRyZWUtIgogImlzaDM+XV0pIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjQKIG1zZ2lkICJ3cml0ZSByZXN1bHRpbmcgaW5kZXggdG8gPGZpbGU+IgogbXNnc3RyICJnaGkgbeG7pWMgbOG7pWMga+G6v3QgcXXhuqMgdsOgbyA8dOG6rXAtdGluPiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjYKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI3CiBtc2dpZCAib25seSBlbXB0eSB0aGUgaW5kZXgiCiBtc2dzdHIgImNo4buJIHbhu5tpIGLhuqNuZyBt4bulYyBs4bulYyB0cuG7kW5nIHLhu5duZyIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjgKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI5CiBtc2dpZCAiTWVyZ2luZyIKIG1zZ3N0ciAiSMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMwCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMQogbXNnaWQgInBlcmZvcm0gYSBtZXJnZSBpbiBhZGRpdGlvbiB0byBhIHJlYWQiCiBtc2dzdHIgInRo4buxYyBoaeG7h24gbeG7mXQgaMOyYSB0cuG7mW4gdGjDqm0gdsOgbyB2aeG7h2MgxJHhu41jIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMgorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzMKIG1zZ2lkICIzLXdheSBtZXJnZSBpZiBubyBmaWxlIGxldmVsIG1lcmdpbmcgcmVxdWlyZWQiCiBtc2dzdHIgIiIKLSJow7JhIHRy4buZbiBraeG7g3Ug4oCcMy13YXnigJ0gbuG6v3Uga2jDtG5nIGPDsyB04bqtcCB0aW4gbeG7qWMgaMOyYSB0cuG7mW4gbsOgbyDEkcaw4bujYyB5w6p1IGPhuqd1ICIKKyJow7JhIHRy4buZbiBraeG7g3Ug4oCcMy13YXnigJ0gbuG6v3Uga2jDtG5nIGPDsyB04bqtcCB0aW4gbeG7qWMgaMOyYSB0cuG7mW4gbsOgbyDEkcaw4bujYyB5w6p1IGPhuqd1IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzUKIG1zZ2lkICIzLXdheSBtZXJnZSBpbiBwcmVzZW5jZSBvZiBhZGRzIGFuZCByZW1vdmVzIgogbXNnc3RyICJow7JhIHRy4buZbiAzLXdheSB0cm9uZyBz4buxIGhp4buHbiBkaeG7h24gY+G7p2Eg4oCcYWRkc+KAnSB2w6Ag4oCccmVtb3Zlc+KAnSIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzYKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM3CiBtc2dpZCAic2FtZSBhcyAtbSwgYnV0IGRpc2NhcmQgdW5tZXJnZWQgZW50cmllcyIKIG1zZ3N0ciAiZ2nhu5FuZyB24bubaSAtbSwgbmjGsG5nIGLhu48gcXVhIGPDoWMgbeG7pWMgY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOAogbXNnaWQgIjxzdWJkaXJlY3Rvcnk+LyIKIG1zZ3N0ciAiPHRoxrAtbeG7pWMtY29uPi8iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM4CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOQogbXNnaWQgInJlYWQgdGhlIHRyZWUgaW50byB0aGUgaW5kZXggdW5kZXIgPHN1YmRpcmVjdG9yeT4vIgogbXNnc3RyICLEkeG7jWMgY8OieSB2w6BvIHRyb25nIGLhuqNuZyBt4bulYyBs4bulYyBkxrDhu5tpIDx0aMawX23hu6VjX2Nvbj4vIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0MQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDIKIG1zZ2lkICJ1cGRhdGUgd29ya2luZyB0cmVlIHdpdGggbWVyZ2UgcmVzdWx0IgogbXNnc3RyICJj4bqtcCBuaOG6rXQgY8OieSBsw6BtIHZp4buHYyB24bubaSBr4bq/dCBxdeG6oyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDMKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ0CiBtc2dpZCAiZ2l0aWdub3JlIgogbXNnc3RyICJnaXRpZ25vcmUiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ0CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NQogbXNnaWQgImFsbG93IGV4cGxpY2l0bHkgaWdub3JlZCBmaWxlcyB0byBiZSBvdmVyd3JpdHRlbiIKIG1zZ3N0ciAiY2hvIHBow6lwIGPDoWMgdOG6rXAgdGluIHLDtSByw6BuZyBi4buLIGzhu50gxJFpIMSRxrDhu6NjIGdoaSDEkcOoIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDgKIG1zZ2lkICJkb24ndCBjaGVjayB0aGUgd29ya2luZyB0cmVlIGFmdGVyIG1lcmdpbmciCiBtc2dzdHIgImtow7RuZyBraeG7g20gdHJhIGPDonkgbMOgbSB2aeG7h2Mgc2F1IGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0OAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDkKIG1zZ2lkICJkb24ndCB1cGRhdGUgdGhlIGluZGV4IG9yIHRoZSB3b3JrIHRyZWUiCiBtc2dzdHIgImtow7RuZyBj4bqtcCBuaOG6rXQgYuG6o25nIG3hu6VjIGzhu6VjIGhheSBjw6J5IGzDoG0gdmnhu4djIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1MAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTEKIG1zZ2lkICJza2lwIGFwcGx5aW5nIHNwYXJzZSBjaGVja291dCBmaWx0ZXIiCiBtc2dzdHIgImLhu48gcXVhIMOhcCBk4bulbmcgYuG7mSBs4buNYyBs4bqleSByYSAoY2hlY2tvdXQpIHRoxrBhIHRo4bubdCIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTIKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUzCiBtc2dpZCAiZGVidWcgdW5wYWNrLXRyZWVzIgogbXNnc3RyICJn4buhIGzhu5dpIOKAnHVucGFjay10cmVlc+KAnSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoyOQotbXNnaWQgIiIKLSJnaXQgcmViYXNlIFstaV0gW29wdGlvbnNdIFstLWV4ZWMgPGNtZD5dIFstLW9udG8gPG5ld2Jhc2U+XSBbPHVwc3RyZWFtPl0gIgotIls8YnJhbmNoPl0iCi1tc2dzdHIgIiIKLSJnaXQgcmViYXNlIFstaV0gW2PDoWMtdMO5eS1jaOG7jW5dIFstLWV4ZWMgPGzhu4duaD5dIFstLW9udG8gPG5ld2Jhc2U+XSAiCi0iWzx1cHN0cmVhbT5dIFs8bmjDoW5oPl0iCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1NworbXNnaWQgInN1cHByZXNzIGZlZWRiYWNrIG1lc3NhZ2VzIgorbXNnc3RyICJraMO0bmcgeHXhuqV0IGPDoWMgdGjDtG5nIHRpbiBwaOG6o24gaOG7k2kiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MzEKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTg4Cittc2dpZCAiWW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCittc2dzdHIgIkLhuqFuIGPhuqduIHBo4bqjaSBnaeG6o2kgcXV54bq/dCBi4bqjbmcgbeG7pWMgbOG7pWMgaGnhu4duIHThuqFpIGPhu6dhIGLhuqFuIHRyxrDhu5tjIMSRw6MiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzIKK21zZ2lkICIiCisiZ2l0IHJlYmFzZSBbLWldIFtvcHRpb25zXSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPiB8IC0ta2VlcC1iYXNlXSAiCisiWzx1cHN0cmVhbT4gWzxicmFuY2g+XV0iCittc2dzdHIgIiIKKyJnaXQgcmViYXNlIFstaV0gW2PDoWMgdMO5eSBjaOG7jW5dIFstLWV4ZWMgPGzhu4duaD5dIFstLW9udG8gPG5ld2Jhc2U+IHwgLS1rZWVwLSIKKyJiYXNlXSBbPHVwc3RyZWFtPl0gWzxuaMOhbmg+XV0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzQKIG1zZ2lkICIiCiAiZ2l0IHJlYmFzZSBbLWldIFtvcHRpb25zXSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPl0gLS1yb290IFs8YnJhbmNoPl0iCiBtc2dzdHIgIiIKLSJnaXQgcmViYXNlIFstaV0gW2PDoWMtdMO5eS1jaOG7jW5dIFstLWV4ZWMgPGzhu4duaD5dIFstLW9udG8gPG5ld2Jhc2U+XSAtLXJvb3QgIgorImdpdCByZWJhc2UgWy1pXSBbY8OhYyB0w7l5IGNo4buNbl0gWy0tZXhlYyA8bOG7h25oPl0gWy0tb250byA8bmV3YmFzZT5dIC0tcm9vdCAiCiAiWzxuaMOhbmg+XSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzozMworIzogYnVpbHRpbi9yZWJhc2UuYzozNgogbXNnaWQgImdpdCByZWJhc2UgLS1jb250aW51ZSB8IC0tYWJvcnQgfCAtLXNraXAgfCAtLWVkaXQtdG9kbyIKIG1zZ3N0ciAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIHwgLS1hYm9ydCB8IC0tc2tpcCB8IC0tZWRpdC10b2RvIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjExOQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNzcgYnVpbHRpbi9yZWJhc2UuYzoyMDEgYnVpbHRpbi9yZWJhc2UuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW51c2FibGUgdG9kbyBsaXN0OiAnJXMnIgorbXNnc3RyICJkYW5oIHPDoWNoIGPhuqduIGzDoG0ga2jDtG5nIGTDuW5nIMSRxrDhu6NjOiDigJwlc+KAnSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxODYgYnVpbHRpbi9yZWJhc2UuYzoyMTIgYnVpbHRpbi9yZWJhc2UuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlICclcycuIgorbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIOKAnCVz4oCdLiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyNzEKK21zZ2lkICJubyBIRUFEPyIKK21zZ3N0ciAia2jDtG5nIEhFQUQ/IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvICVzIHThuqFtIHRo4budaSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzozMDQKK21zZ2lkICJjb3VsZCBub3QgbWFyayBhcyBpbnRlcmFjdGl2ZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSRw6FuaCBk4bqldSBsw6AgdMawxqFuZyB0w6FjIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjM2MgorbXNnaWQgImNvdWxkIG5vdCBnZW5lcmF0ZSB0b2RvIGxpc3QiCittc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyBkYW5oIHPDoWNoIGPhuqduIGzDoG0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDAyCittc2dpZCAiYSBiYXNlIGNvbW1pdCBtdXN0IGJlIHByb3ZpZGVkIHdpdGggLS11cHN0cmVhbSBvciAtLW9udG8iCittc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8gY8ahIHPhu48gcGjhuqNpIMSRxrDhu6NjIGNo4buJIMSR4buLbmggduG7m2kgLS11cHN0cmVhbSBob+G6t2MgLS1vbnRvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ1NworbXNnaWQgImdpdCByZWJhc2UtLWludGVyYWN0aXZlIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgcmViYXNlLS1pbnRlcmFjdGl2ZSBbPGPDoWMgdMO5eSBjaOG7jW4+XSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NjkKK21zZ2lkICJrZWVwIGVtcHR5IGNvbW1pdHMiCittc2dzdHIgImdp4buvIGzhuqFpIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBy4buXbmciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDcxIGJ1aWx0aW4vcmV2ZXJ0LmM6MTI4Cittc2dpZCAiYWxsb3cgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgorbXNnc3RyICJjaOG6pXAgbmjhuq1uIGNodXnhu4NuIGdpYW8gbcOgIGtow7RuZyBnaGkgY2jDuiBnw6wiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDcyCittc2dpZCAicmViYXNlIG1lcmdlIGNvbW1pdHMiCittc2dzdHIgImPhuqNpIHThu5UgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGjDsmEgdHLhu5luIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3NAorbXNnaWQgImtlZXAgb3JpZ2luYWwgYnJhbmNoIHBvaW50cyBvZiBjb3VzaW5zIgorbXNnc3RyICJnaeG7ryBjw6FjIMSRaeG7g20gbmjDoW5oIG5ndXnDqm4gYuG6o24gY+G7p2EgY8OhYyBhbmggZW0gaOG7jSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzYKK21zZ2lkICJtb3ZlIGNvbW1pdHMgdGhhdCBiZWdpbiB3aXRoIHNxdWFzaCEvZml4dXAhIgorbXNnc3RyICJkaSBjaHV54buDbiBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gYuG6r3QgxJHhuqd1IGLhurFuZyBzcXVhc2ghL2ZpeHVwISIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzcKK21zZ2lkICJzaWduIGNvbW1pdHMiCittc2dzdHIgImvDvSBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDc5IGJ1aWx0aW4vcmViYXNlLmM6MTQ1NQorbXNnaWQgImRpc3BsYXkgYSBkaWZmc3RhdCBvZiB3aGF0IGNoYW5nZWQgdXBzdHJlYW0iCittc2dzdHIgImhp4buDbiB0aOG7iyBt4buZdCBkaWZmc3RhdCBj4bunYSBuaOG7r25nIHRoYXkgxJHhu5VpIHRoxrDhu6NuZyBuZ3Xhu5NuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4MQorbXNnaWQgImNvbnRpbnVlIHJlYmFzZSIKK21zZ3N0ciAidGnhur9wIHThu6VjIGPhuqNpIHThu5UiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDgzCittc2dpZCAic2tpcCBjb21taXQiCittc2dzdHIgImLhu48gcXVhIGzhuqduIGNodXnhu4NuIGdpYW8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDg0Cittc2dpZCAiZWRpdCB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICJz4butYSBkYW5oIHPDoWNoIGPhuqduIGzDoG0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDg2Cittc2dpZCAic2hvdyB0aGUgY3VycmVudCBwYXRjaCIKK21zZ3N0ciAiaGnhu4NuIHRo4buLIG1p4bq/bmcgdsOhIGhp4buHbiBow6BuaCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0ODkKK21zZ2lkICJzaG9ydGVuIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKK21zZ3N0ciAicsO6dCBuZ+G6r24gbcOjIGNodXnhu4NuIGdpYW8gdHJvbmcgZGFuaCBzw6FjaCBj4bqnbiBsw6BtIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ5MQorbXNnaWQgImV4cGFuZCBjb21taXQgaWRzIGluIHRoZSB0b2RvIGxpc3QiCittc2dzdHIgImtoYWkgdHJp4buDbiBtw6MgY2h1eeG7g24gZ2lhbyB0cm9uZyBkYW5oIHPDoWNoIGPhuqduIGzDoG0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDkzCittc2dpZCAiY2hlY2sgdGhlIHRvZG8gbGlzdCIKK21zZ3N0ciAia2nhu4NtIHRyYSBkYW5oIHPDoWNoIGPhuqduIGzDoG0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDk1Cittc2dpZCAicmVhcnJhbmdlIGZpeHVwL3NxdWFzaCBsaW5lcyIKK21zZ3N0ciAic+G6r3AgeOG6v3AgbOG6oWkgY8OhYyBkw7JuZyBmaXh1cC9zcXVhc2giCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDk3Cittc2dpZCAiaW5zZXJ0IGV4ZWMgY29tbWFuZHMgaW4gdG9kbyBsaXN0IgorbXNnc3RyICJjaMOobiBjw6FjIGzhu4duaCB0aOG7sWMgdGhpIHRyb25nIGRhbmggc8OhY2ggY+G6p24gbMOgbSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTgKK21zZ2lkICJvbnRvIgorbXNnc3RyICJsw6puIHRyw6puIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwMQorbXNnaWQgInJlc3RyaWN0LXJldmlzaW9uIgorbXNnc3RyICLEkWnhu4NtLXjDqXQtZHV54buHdC1o4bqhbi1jaOG6vyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDEKK21zZ2lkICJyZXN0cmljdCByZXZpc2lvbiIKK21zZ3N0ciAixJFp4buDbSB4w6l0IGR1eeG7h3QgaOG6oW4gY2jhur8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTAzCittc2dpZCAic3F1YXNoLW9udG8iCittc2dzdHIgInNxdWFzaC1sw6puLXRyw6puIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwNAorbXNnaWQgInNxdWFzaCBvbnRvIgorbXNnc3RyICJzcXVhc2ggbMOqbiB0csOqbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDYKK21zZ2lkICJ0aGUgdXBzdHJlYW0gY29tbWl0IgorbXNnc3RyICJs4bqnbiBjaHV54buDbiBnaWFvIHRoxrDhu6NuZyBuZ3Xhu5NuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwOAorbXNnaWQgImhlYWQtbmFtZSIKK21zZ3N0ciAidMOqbi3EkeG6p3UiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA4Cittc2dpZCAiaGVhZCBuYW1lIgorbXNnc3RyICJ0w6puIMSR4bqndSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTMKK21zZ2lkICJyZWJhc2Ugc3RyYXRlZ3kiCittc2dzdHIgImNoaeG6v24gbMaw4bujYyBj4bqjaSB04buVIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxNAorbXNnaWQgInN0cmF0ZWd5LW9wdHMiCittc2dzdHIgInTDuXktY2jhu41uLWNoaeG6v24tbMaw4bujYyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTUKK21zZ2lkICJzdHJhdGVneSBvcHRpb25zIgorbXNnc3RyICJjw6FjIHTDuXkgY2jhu41uIGNoaeG6v24gbMaw4bujYyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTYKK21zZ2lkICJzd2l0Y2gtdG8iCittc2dzdHIgImNodXnhu4NuLcSR4bq/biIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTcKK21zZ2lkICJ0aGUgYnJhbmNoIG9yIGNvbW1pdCB0byBjaGVja291dCIKK21zZ3N0ciAibmjDoW5oIGhheSBs4bqnbiBjaHV54buDbiBnaWFvIGzhuqduIGzhuqV5IHJhIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOAorbXNnaWQgIm9udG8tbmFtZSIKK21zZ3N0ciAib250by1uYW1lIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOAorbXNnaWQgIm9udG8gbmFtZSIKK21zZ3N0ciAidMOqbiBsw6puIHRyw6puIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOQorbXNnaWQgImNtZCIKK21zZ3N0ciAibOG7h25oIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOQorbXNnaWQgInRoZSBjb21tYW5kIHRvIHJ1biIKK21zZ3N0ciAibOG7h25oIG114buRbiBjaOG6oXkiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTIyIGJ1aWx0aW4vcmViYXNlLmM6MTU0MAorbXNnaWQgImF1dG9tYXRpY2FsbHkgcmUtc2NoZWR1bGUgYW55IGBleGVjYCB0aGF0IGZhaWxzIgorbXNnc3RyICJs4bqtcCBs4buLY2ggbOG6oWkgbeG7mXQgY8OhY2ggdOG7sSDEkeG7mW5nIGLhuqV0IGvhu7Mg4oCcZXhlY+KAnCBi4buLIGzhu5dpIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjU0MAorbXNnaWQgIi0tW25vLV1yZWJhc2UtY291c2lucyBoYXMgbm8gZWZmZWN0IHdpdGhvdXQgLS1yZWJhc2UtbWVyZ2VzIgorbXNnc3RyICItLVtuby1dcmViYXNlLWNvdXNpbnMga2jDtG5nIGPDsyB0w6FjIGThu6VuZyBraGkga2jDtG5nIGPDsyAtLXJlYmFzZS1tZXJnZXMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGludGVyYWN0aXZlIHJlYmFzZSIKIG1zZ3N0ciAiJXMgY+G6p24gbeG7mXQgY+G6o2kgdOG7lSBraeG7g3UgdMawxqFuZyB0w6FjIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE3MQorIzogYnVpbHRpbi9yZWJhc2UuYzo2MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCAnb250byc6ICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG6t3QgbOG6pXkg4oCcb250b+KAnTog4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTg2CisjOiBidWlsdGluL3JlYmFzZS5jOjYyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9yaWctaGVhZDogJyVzJyIKIG1zZ3N0ciAib3JpZy1oZWFkIGtow7RuZyBo4bujcCBs4buHOiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoyMTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NjQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIGludmFsaWQgYWxsb3dfcmVyZXJlX2F1dG91cGRhdGU6ICclcyciCiBtc2dzdHIgIsSRYW5nIGLhu48gcXVhIGFsbG93X3JlcmVyZV9hdXRvdXBkYXRlIGtow7RuZyBo4bujcCBs4buHOiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoyNTkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkICclcyciCiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6Mjc3CisjOiBidWlsdGluL3JlYmFzZS5jOjc0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3RvcmUgJXMiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBsxrB1IOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjMzNworIzogYnVpbHRpbi9yZWJhc2UuYzo4NDkKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIEhFQUQgcmV2aXNpb24iCittc2dzdHIgImtow7RuZyB0aOG7gyBkw7IgdMOsbSDEkWnhu4NtIHjDqXQgZHV54buHdCBIRUFEIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjk3MiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODEKIG1zZ2lkICIiCiAiUmVzb2x2ZSBhbGwgY29uZmxpY3RzIG1hbnVhbGx5LCBtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgd2l0aFxuIgogIlwiZ2l0IGFkZC9ybSA8Y29uZmxpY3RlZF9maWxlcz5cIiwgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKQEAgLTE1MDAyLDExICsxNzk1NSwyNiBAQAogIsSQ4buDIGLDo2kgYuG7jyB2w6AgcXVheSB0cuG7nyBs4bqhaSB0cuG6oW5nIHRow6FpIHRyxrDhu5tjIFwiZ2l0IHJlYmFzZVwiLCBjaOG6oXkgXCJnaXQgcmViYXNlICIKICItLWFib3J0XCIuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjU2MQotbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgSEVBRCByZXZpc2lvbiIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIGTDsiB0w6xtIMSRaeG7g20geMOpdCBkdXnhu4d0IEhFQUQiCisjOiBidWlsdGluL3JlYmFzZS5jOjEwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorImdpdCBlbmNvdW50ZXJlZCBhbiBlcnJvciB3aGlsZSBwcmVwYXJpbmcgdGhlIHBhdGNoZXMgdG8gcmVwbGF5XG4iCisidGhlc2UgcmV2aXNpb25zOlxuIgorIlxuIgorIiAgICAlc1xuIgorIlxuIgorIkFzIGEgcmVzdWx0LCBnaXQgY2Fubm90IHJlYmFzZSB0aGVtLiIKK21zZ3N0ciAiIgorIlxuIgorImdpdCBjaOG6oW0gdHLDoW4gbeG7mXQgbOG7l2kgdHJvbmcga2hpIMSRYW5nIGNodeG6qW4gYuG7iyBjw6FjIG1p4bq/bmcgdsOhIMSR4buDIGRp4buFbiBs4bqhaVxuIgorIm5o4buvbmcgxJFp4buDbSB4w6l0IGR1eeG7h3QgbsOgeTpcbiIKKyJcbiIKKyIgICAgJXNcbiIKKyJcbiIKKyJL4bq/dCBxdeG6oyBsw6AgZ2l0IGtow7RuZyB0aOG7gyBj4bqjaSB04buVIGzhuqFpIGNow7puZy4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6NzUzCisjOiBidWlsdGluL3JlYmFzZS5jOjEzNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiVzXG4iCkBAIC0xNTAyMyw3ICsxNzk5MSw3IEBACiAiICAgIGdpdCByZWJhc2Ug4oCcPG5ow6FuaD7igJ1cbiIKICJcbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo3NjkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTM4MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdpc2ggdG8gc2V0IHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGlzIGJyYW5jaCB5b3UgY2FuIGRvIHNvIHdpdGg6XG4iCkBAIC0xNTAzNywxNTMgKzE4MDA1LDE4NyBAQAogIiAgICBnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvPSVzLzxuaMOhbmg+ICVzXG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODMyCi1tc2dpZCAicmViYXNlIG9udG8gZ2l2ZW4gYnJhbmNoIGluc3RlYWQgb2YgdXBzdHJlYW0iCi1tc2dzdHIgImPhuqNpIHThu5UgdsOgbyBuaMOhbmggxJHDoyBjaG8gdGhheSBjaG8gdGjGsOG7o25nIG5ndeG7k24uIgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDEzCittc2dpZCAiZXhlYyBjb21tYW5kcyBjYW5ub3QgY29udGFpbiBuZXdsaW5lcyIKK21zZ3N0ciAiY8OhYyBs4buHbmggdGjhu7FjIHRoaSBraMO0bmcgdGjhu4MgY2jhu6lhIGPDoWMga8O9IHThu7EgZMOybmcgbeG7m2kiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODM0CisjOiBidWlsdGluL3JlYmFzZS5jOjE0MTcKK21zZ2lkICJlbXB0eSBleGVjIGNvbW1hbmQiCittc2dzdHIgImzhu4duaCB0aOG7sWMgdGhpIHRy4buRbmcgcuG7l25nIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NDYKK21zZ2lkICJyZWJhc2Ugb250byBnaXZlbiBicmFuY2ggaW5zdGVhZCBvZiB1cHN0cmVhbSIKK21zZ3N0ciAiY+G6o2kgdOG7lSB2w6BvIG5ow6FuaCDEkcOjIGNobyB0aGF5IGNobyB0aMaw4bujbmcgbmd14buTbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDQ4Cittc2dpZCAidXNlIHRoZSBtZXJnZS1iYXNlIG9mIHVwc3RyZWFtIGFuZCBicmFuY2ggYXMgdGhlIGN1cnJlbnQgYmFzZSIKK21zZ3N0ciAiIgorInPhu60gZOG7pW5nIGPDoWMgY8ahIHPhu58gaMOyYSB0cuG7mW4gY+G7p2EgdGjGsOG7o25nIG5ndeG7k24gdsOgIG5ow6FuaCBuaMawIGzDoCBjxqEgc+G7nyBoaeG7h24gdOG6oWkiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1MAogbXNnaWQgImFsbG93IHByZS1yZWJhc2UgaG9vayB0byBydW4iCiBtc2dzdHIgImNobyBwaMOpcCBtw7NjIChob29rKSBwcmUtcmViYXNlIMSRxrDhu6NjIGNo4bqheSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4MzYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1MgogbXNnaWQgImJlIHF1aWV0LiBpbXBsaWVzIC0tbm8tc3RhdCIKIG1zZ3N0ciAiaMOjeSBpbSBs4bq3bmcuIMO9IGzDoCAtLW5vLXN0YXQiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODM5Ci1tc2dpZCAiZGlzcGxheSBhIGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbSIKLW1zZ3N0ciAiaGnhu4NuIHRo4buLIG3hu5l0IGRpZmZzdGF0IGPhu6dhIG5o4buvbmcgdGhheSDEkeG7lWkgdGjGsOG7o25nIG5ndeG7k24iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODQyCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NTgKIG1zZ2lkICJkbyBub3Qgc2hvdyBkaWZmc3RhdCBvZiB3aGF0IGNoYW5nZWQgdXBzdHJlYW0iCiBtc2dzdHIgIsSR4burbmcgaGnhu4NuIHRo4buLIGRpZmZzdGF0IGPhu6dhIG5o4buvbmcgdGhheSDEkeG7lWkgdGjGsOG7o25nIG5ndeG7k24iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODQ1CisjOiBidWlsdGluL3JlYmFzZS5jOjE0NjEKIG1zZ2lkICJhZGQgYSBTaWduZWQtb2ZmLWJ5OiBsaW5lIHRvIGVhY2ggY29tbWl0IgogbXNnc3RyICJ0aMOqbSBkw7JuZyBTaWduZWQtb2ZmLWJ5OiBjaG8gdOG7q25nIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODQ3IGJ1aWx0aW4vcmViYXNlLmM6ODUxIGJ1aWx0aW4vcmViYXNlLmM6ODUzCi1tc2dpZCAicGFzc2VkIHRvICdnaXQgYW0nIgotbXNnc3RyICJjaHV54buDbiBjaG8g4oCcZ2l0IGFt4oCdIgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDY0Cittc2dpZCAibWFrZSBjb21taXR0ZXIgZGF0ZSBtYXRjaCBhdXRob3IgZGF0ZSIKK21zZ3N0ciAibMOgbSBuZ8OgeSB0aMOhbmcgY2h1eeG7g24gZ2lhbyBraOG7m3AgduG7m2kgbmfDoHkgY+G7p2EgdMOhYyBnaeG6oyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NTUgYnVpbHRpbi9yZWJhc2UuYzo4NTcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ2NgorbXNnaWQgImlnbm9yZSBhdXRob3IgZGF0ZSBhbmQgdXNlIGN1cnJlbnQgZGF0ZSIKK21zZ3N0ciAiYuG7jyBxdWEgbmfDoHkgdMOhYyBnaeG6oyB2w6Agc+G7rSBk4bulbmcgbmfDoHkgdGjDoW5nIGhp4buHbiB04bqhaSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDY4Cittc2dpZCAic3lub255bSBvZiAtLXJlc2V0LWF1dGhvci1kYXRlIgorbXNnc3RyICLEkeG7k25nIG5naMSpYSB24bubaSAtLXJlc2V0LWF1dGhvci1kYXRlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NzAgYnVpbHRpbi9yZWJhc2UuYzoxNDc0CiBtc2dpZCAicGFzc2VkIHRvICdnaXQgYXBwbHknIgogbXNnc3RyICJjaHV54buDbiBjaG8g4oCcZ2l0IGFwcGx54oCdIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg1OSBidWlsdGluL3JlYmFzZS5jOjg2MgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDcyCittc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSIKK21zZ3N0ciAibOG7nSDEkWkgc+G7sSB0aGF5IMSR4buVaSBkbyBraG/huqNuZyB0cuG6r25nIGfDonkgcmEiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3NiBidWlsdGluL3JlYmFzZS5jOjE0NzkKIG1zZ2lkICJjaGVycnktcGljayBhbGwgY29tbWl0cywgZXZlbiBpZiB1bmNoYW5nZWQiCiBtc2dzdHIgIiIKICJjaGVycnktcGljayB04bqldCBj4bqjIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbywgbmdheSBj4bqjIGtoaSBraMO0bmcgY8OzIHRoYXkgxJHhu5VpIGfDrCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NjQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ4MQogbXNnaWQgImNvbnRpbnVlIgogbXNnc3RyICJ0aeG6v3AgdOG7pWMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODY3CisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODQKIG1zZ2lkICJza2lwIGN1cnJlbnQgcGF0Y2ggYW5kIGNvbnRpbnVlIgogbXNnc3RyICJi4buPIHF1YSBtaeG6v25nIHbDoSBoaeG7h24gaMOgbmggdsOgIHRp4bq/cCB04bulYyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NjkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ4NgogbXNnaWQgImFib3J0IGFuZCBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCIKIG1zZ3N0ciAiYsOjaSBi4buPIHbDoCBs4bqleSByYSBuaMOhbmggbmd1ecOqbiB0aOG7p3kiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODcyCisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODkKIG1zZ2lkICJhYm9ydCBidXQga2VlcCBIRUFEIHdoZXJlIGl0IGlzIgogbXNnc3RyICJiw6NpIGLhu48gbmjGsG5nIHbhuqtuIHbhuqtuIGdp4buvIEhFQUQgY2jhu4kgxJHhur9uIG7DsyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NzMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ5MAogbXNnaWQgImVkaXQgdGhlIHRvZG8gbGlzdCBkdXJpbmcgYW4gaW50ZXJhY3RpdmUgcmViYXNlIgogbXNnc3RyICJz4butYSBkYW5oIHPDoWNoIGPhuqduIGzDoG0gdHJvbmcgcXXDoSB0csOsbmgg4oCccmViYXNl4oCdIChj4bqjaSB04buVKSB0xrDGoW5nIHTDoWMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODc2CisjOiBidWlsdGluL3JlYmFzZS5jOjE0OTMKIG1zZ2lkICJzaG93IHRoZSBwYXRjaCBmaWxlIGJlaW5nIGFwcGxpZWQgb3IgbWVyZ2VkIgogbXNnc3RyICJoaeG7g24gdGjhu4sgbWnhur9uZyB2w6EgxJHDoyDEkcaw4bujYyDDoXAgZOG7pW5nIGhheSBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NzkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ5NgogbXNnaWQgInVzZSBtZXJnaW5nIHN0cmF0ZWdpZXMgdG8gcmViYXNlIgogbXNnc3RyICJkw7luZyBjaGnhur9uIGzGsOG7o2MgaMOyYSB0cuG7mW4gxJHhu4MgY+G6o2kgdOG7lSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4ODMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwMAogbXNnaWQgImxldCB0aGUgdXNlciBlZGl0IHRoZSBsaXN0IG9mIGNvbW1pdHMgdG8gcmViYXNlIgogbXNnc3RyICLEkeG7gyBuZ8aw4budaSBkw7luZyBz4butYSBkYW5oIHPDoWNoIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBtdeG7kW4gY+G6o2kgdOG7lSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4ODcKLW1zZ2lkICJ0cnkgdG8gcmVjcmVhdGUgbWVyZ2VzIGluc3RlYWQgb2YgaWdub3JpbmcgdGhlbSIKLW1zZ3N0ciAidGjhu60ga2jDtGkgcGjhu6VjIGzhuqFpIGPDoWMgaMOyYSB0cuG7mW4gdGhheSB2w6wgYuG7jyBxdWEgY2jDum5nIgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTA0Cittc2dpZCAiKERFUFJFQ0FURUQpIHRyeSB0byByZWNyZWF0ZSBtZXJnZXMgaW5zdGVhZCBvZiBpZ25vcmluZyB0aGVtIgorbXNnc3RyICIoxJDDgyBM4bqgQyBI4bqsVSkgaGF5IHRo4butIHThuqFvIGzhuqFpIGPDoWMgaMOyYSB0cuG7mW4gdGhheSB2w6wgYuG7jyBxdWEgY2jDum5nIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg5MQotbXNnaWQgImFsbG93IHJlcmVyZSB0byB1cGRhdGUgaW5kZXggd2l0aCByZXNvbHZlZCBjb25mbGljdCIKLW1zZ3N0ciAiIgotImNobyBwaMOpcCByZXJlcmUgY+G6rXAgbmjhuq10IGLhuqNuZyBt4bulYyBs4bulYyB24bubaSBjw6FjIHh1bmcgxJHhu5l0IMSRw6MgxJHGsOG7o2MgZ2nhuqNpIHF1eeG6v3QiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODk0CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MDkKIG1zZ2lkICJwcmVzZXJ2ZSBlbXB0eSBjb21taXRzIGR1cmluZyByZWJhc2UiCiBtc2dzdHIgIm5nxINuIGPhuqVtIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyB0cuG7kW5nIHLhu5duZyB0cm9uZyBzdeG7kXQgcXXDoSB0csOsbmggY+G6o2kgdOG7lSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4OTYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxMQogbXNnaWQgIm1vdmUgY29tbWl0cyB0aGF0IGJlZ2luIHdpdGggc3F1YXNoIS9maXh1cCEgdW5kZXIgLWkiCiBtc2dzdHIgImRpIGNodXnhu4NuIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBtw6AgYuG6r3QgxJHhuqd1IGLhurFuZyBzcXVhc2ghL2ZpeHVwISBkxrDhu5tpIC1pIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkwMgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTE3CiBtc2dpZCAiYXV0b21hdGljYWxseSBzdGFzaC9zdGFzaCBwb3AgYmVmb3JlIGFuZCBhZnRlciIKIG1zZ3N0ciAidOG7sSDEkeG7mW5nIHN0YXNoL3N0YXNoIHBvcCB0csaw4bubYyB2w6Agc2F1IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkwNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTE5CiBtc2dpZCAiYWRkIGV4ZWMgbGluZXMgYWZ0ZXIgZWFjaCBjb21taXQgb2YgdGhlIGVkaXRhYmxlIGxpc3QiCiBtc2dzdHIgInRow6ptIGPDoWMgZMOybmcgdGjhu7FjIHRoaSBzYXUgdOG7q25nIGzhuqduIGNodXnhu4NuIGdpYW8gY+G7p2EgZGFuaCBzw6FjaCBz4butYSDEkcaw4bujYyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MDgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyMwogbXNnaWQgImFsbG93IHJlYmFzaW5nIGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKIG1zZ3N0ciAiY2jhuqVwIG5o4bqtbiBj4bqjaSB04buVIGPDoWMgY2h1eeG7g24gZ2lhbyBtw6Aga2jDtG5nIGdoaSBjaMO6IGfDrCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyNgogbXNnaWQgInRyeSB0byByZWJhc2UgbWVyZ2VzIGluc3RlYWQgb2Ygc2tpcHBpbmcgdGhlbSIKIG1zZ3N0ciAiY+G7kSB0aOG7rSBj4bqjaSB04buVIGPDoWMgaMOyYSB0cuG7mW4gdGhheSB2w6wgYuG7jyBxdWEgY2jDum5nIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkxNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTI5CiBtc2dpZCAidXNlICdtZXJnZS1iYXNlIC0tZm9yay1wb2ludCcgdG8gcmVmaW5lIHVwc3RyZWFtIgogbXNnc3RyICJkw7luZyDigJxtZXJnZS1iYXNlIC0tZm9yay1wb2ludOKAnSDEkeG7gyDEkeG7i25oIG5naMSpYSBs4bqhaSB0aMaw4bujbmcgbmd14buTbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzMQogbXNnaWQgInVzZSB0aGUgZ2l2ZW4gbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgImTDuW5nIGNoaeG6v24gbMaw4bujYyBow7JhIHRy4buZbiDEkcOjIGNobyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTggYnVpbHRpbi9yZXZlcnQuYzoxMTEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzMyBidWlsdGluL3JldmVydC5jOjExNQogbXNnaWQgIm9wdGlvbiIKIG1zZ3N0ciAidMO5eSBjaOG7jW4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTE5CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MzQKIG1zZ2lkICJwYXNzIHRoZSBhcmd1bWVudCB0aHJvdWdoIHRvIHRoZSBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAiY2h1eeG7g24gdGhhbyBz4buRIMSR4bq/biBjaGnhur9uIGzGsOG7o2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTIyCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MzcKIG1zZ2lkICJyZWJhc2UgYWxsIHJlYWNoYWJsZSBjb21taXRzIHVwIHRvIHRoZSByb290KHMpIgogbXNnc3RyICJj4bqjaSB04buVIHThuqV0IGPDoWMgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGNobyDEkeG6v24gcm9vdCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGV4ZWMgJXMiCi1tc2dzdHIgImtow7RuZyB0aOG7gyB0aOG7sWMgdGhpICVzIgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTU0Cittc2dpZCAiIgorInRoZSByZWJhc2UudXNlQnVpbHRpbiBzdXBwb3J0IGhhcyBiZWVuIHJlbW92ZWQhXG4iCisiU2VlIGl0cyBlbnRyeSBpbiAnZ2l0IGhlbHAgY29uZmlnJyBmb3IgZGV0YWlscy4iCittc2dzdHIgIiIKKyJ2aeG7h2MgaOG7lyB0cuG7oyByZWJhc2UudXNlQnVpbHRpbiDEkcOjIGLhu4sgeMOzYSFcbiIKKyJYZW0gbeG7pWMgdGluIGPhu6dhIG7DsyB0cm9uZyDigJwgZ2l0IGhlbHAgY29uZmln4oCdIMSR4buDIGJp4bq/dCBjaGkgdGnhur90LiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5NTYgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6MjEzCisjOiBidWlsdGluL3JlYmFzZS5jOjE1NjAKIG1zZ2lkICJJdCBsb29rcyBsaWtlICdnaXQgYW0nIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKIG1zZ3N0ciAiIgogIkjDrG5oIG5oxrAgxJFhbmcgdHJvbmcgcXXDoSB0csOsbmggdGjhu7FjIGhp4buHbiBs4buHbmgg4oCcZ2l0LWFt4oCdLiBLaMO0bmcgdGjhu4MgcmViYXNlLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5OTcgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6Mzk1CisjOiBidWlsdGluL3JlYmFzZS5jOjE2MDEKK21zZ2lkICIiCisiZ2l0IHJlYmFzZSAtLXByZXNlcnZlLW1lcmdlcyBpcyBkZXByZWNhdGVkLiBVc2UgLS1yZWJhc2UtbWVyZ2VzIGluc3RlYWQuIgorbXNnc3RyICIiCisiZ2l0IHJlYmFzZSAtLXByZXNlcnZlLW1lcmdlcyDEkcOjIGzhuqFjIGjhuq11LiBIw6N5IGTDuW5nIC0tcmViYXNlLW1lcmdlcyDEkeG7gyB0aGF5ICIKKyJ0aOG6vy4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYwNgorbXNnaWQgImNhbm5vdCBjb21iaW5lICctLWtlZXAtYmFzZScgd2l0aCAnLS1vbnRvJyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGvhur90IGjhu6NwIOKAnC0ta2VlcC1iYXNl4oCdIHbhu5tpIOKAnC0tb250b+KAnSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjA4Cittc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0ta2VlcC1iYXNlJyB3aXRoICctLXJvb3QnIgorbXNnc3RyICJraMO0bmcgdGjhu4Mga+G6v3QgaOG7o3Ag4oCcLS1rZWVwLWJhc2XigJ0gduG7m2kg4oCcLS1yb2904oCdIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2MTIKIG1zZ2lkICJObyByZWJhc2UgaW4gcHJvZ3Jlc3M/IgogbXNnc3RyICJLaMO0bmcgY8OzIHRp4bq/biB0csOsbmggcmViYXNlIG7DoG8gcGjhuqNpIGtow7RuZz8iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTAwMSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0MDYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYxNgogbXNnaWQgIlRoZSAtLWVkaXQtdG9kbyBhY3Rpb24gY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgaW50ZXJhY3RpdmUgcmViYXNlLiIKIG1zZ3N0ciAiIgogIkjDoG5oIMSR4buZbmcg4oCcLS1lZGl0LXRvZG/igJ0gY2jhu4kgY8OzIHRo4buDIGTDuW5nIHRyb25nIHF1w6EgdHLDrG5oIOKAnHJlYmFzZeKAnSAoc+G7rWEgbOG7i2NoICIKICJz4butKSB0xrDGoW5nIHTDoWMuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEwMTUgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NDEzCisjOiBidWlsdGluL3JlYmFzZS5jOjE2MzkKIG1zZ2lkICJDYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu41jIEhFQUQiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTAyOCBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0MTYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTY1MQogbXNnaWQgIiIKICJZb3UgbXVzdCBlZGl0IGFsbCBtZXJnZSBjb25mbGljdHMgYW5kIHRoZW5cbiIKICJtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgdXNpbmcgZ2l0IGFkZCIKQEAgLTE1MTkxLDIxICsxODE5MywxNiBAQAogIkLhuqFuIHBo4bqjaSBz4butYSB04bqldCBj4bqjIGPDoWMgbOG6p24gaMOyYSB0cuG7mW4geHVuZyDEkeG7mXQgdsOgIHNhdVxuIgogIsSRw7MgxJHDoW5oIGThuqV1IGNow7puZyBsw6AgY+G6p24geOG7rSBsw70gc+G7rSBk4bulbmcgbOG7h25oIGdpdCBhZGQiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTA0NworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjcwCiBtc2dpZCAiY291bGQgbm90IGRpc2NhcmQgd29ya3RyZWUgY2hhbmdlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGxv4bqhaSBi4buPIGPDoWMgdGhheSDEkeG7lWkgY8OieS1sw6BtLXZp4buHYyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDY2CisjOiBidWlsdGluL3JlYmFzZS5jOjE2ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG1vdmUgYmFjayB0byAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHF1YXkgdHLhu58gbOG6oWkgJXMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTA3NyBidWlsdGluL3JtLmM6MzY4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgJyVzJyIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIGfhu6EgYuG7jyDigJwlc+KAnSIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTAzCisjOiBidWlsdGluL3JlYmFzZS5jOjE3MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICVzIGRpcmVjdG9yeSwgYW5kXG4iCkBAIC0xNTIyNiwzMzkgKzE4MjIzLDE2MSBAQAogInbDoCBjaOG6oXkgVMOUSSBs4bqnbiBu4buvYS4gVMOUSSBk4burbmcgbOG6oWkgdHJvbmcgdHLGsOG7nW5nIGjhu6NwIGLhuqFuIHbhuqtuXG4iCiAiY8OzIG3hu5l0IHPhu5EgdGjhu6kgcXXDvSBnacOhIOG7nyDEkcOieS5cbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTI0CisjOiBidWlsdGluL3JlYmFzZS5jOjE3NTcKIG1zZ2lkICJzd2l0Y2ggYEMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCiBtc2dzdHIgInTDuXkgY2jhu41uIOKAnCVj4oCdIGPhuqduIG3hu5l0IGdpw6EgdHLhu4sgYuG6sW5nIHPhu5EiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTE2MQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gbW9kZTogJXMiCiBtc2dzdHIgIktow7RuZyBoaeG7g3UgY2jhur8gxJHhu5k6ICVzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjExODMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTgyMAogbXNnaWQgIi0tc3RyYXRlZ3kgcmVxdWlyZXMgLS1tZXJnZSBvciAtLWludGVyYWN0aXZlIgogbXNnc3RyICItLXN0cmF0ZWd5IGPhuqduIC0tbWVyZ2UgaGF5IC0taW50ZXJhY3RpdmUiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTIyNgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iZXJyb3I6IGNhbm5vdCBjb21iaW5lIGludGVyYWN0aXZlIG9wdGlvbnMgKC0taW50ZXJhY3RpdmUsIC0tZXhlYywgLS1yZWJhc2UtIgotIm1lcmdlcywgLS1wcmVzZXJ2ZS1tZXJnZXMsIC0ta2VlcC1lbXB0eSwgLS1yb290ICsgLS1vbnRvKSB3aXRoIGFtIG9wdGlvbnMgIgotIiglcykiCisjOiBidWlsdGluL3JlYmFzZS5jOjE4NjAKK21zZ2lkICItLXJlc2NoZWR1bGUtZmFpbGVkLWV4ZWMgcmVxdWlyZXMgLS1leGVjIG9yIC0taW50ZXJhY3RpdmUiCittc2dzdHIgIi0tcmVzY2hlZHVsZS1mYWlsZWQtZXhlYyBj4bqnbiAtLWV4ZWMgaGF5IC0taW50ZXJhY3RpdmUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg3MgorbXNnaWQgImNhbm5vdCBjb21iaW5lIGFtIG9wdGlvbnMgd2l0aCBlaXRoZXIgaW50ZXJhY3RpdmUgb3IgbWVyZ2Ugb3B0aW9ucyIKIG1zZ3N0ciAiIgotImzhu5dpOiBraMO0bmcgdGjhu4MgdOG7lSBo4bujcCBjw6FjIHTDuXkgY2jhu41uIHTGsMahbmcgdMOhYyAoLS1pbnRlcmFjdGl2ZSwgLS1leGVjLCAtLSIKLSJyZWJhc2UtbWVyZ2VzLCAtLXByZXNlcnZlLW1lcmdlcywgLS1rZWVwLWVtcHR5LCAtLXJvb3QgKyAtLW9udG8pIHbhu5tpIGPDoWMgdMO5eSAiCi0iY2jhu41uIGFtICglcykiCisia2jDtG5nIHRo4buDIHThu5UgaOG7o3AgY8OhYyB0w7l5IGNo4buNbiBhbSB24bubaSBjw6FjIHTDuXkgY2jhu41uIHTGsMahbmcgdMOhYyBoYXkgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTIzMQotIywgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg5MQorbXNnaWQgImNhbm5vdCBjb21iaW5lICctLXByZXNlcnZlLW1lcmdlcycgd2l0aCAnLS1yZWJhc2UtbWVyZ2VzJyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGvhur90IGjhu6NwIOKAnC0tcHJlc2VydmUtbWVyZ2Vz4oCdIHbhu5tpIOKAnC0tcmViYXNlLW1lcmdlc+KAnSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxODk1CiBtc2dpZCAiIgotImVycm9yOiBjYW5ub3QgY29tYmluZSBtZXJnZSBvcHRpb25zICgtLW1lcmdlLCAtLXN0cmF0ZWd5LCAtLXN0cmF0ZWd5LW9wdGlvbikgIgotIndpdGggYW0gb3B0aW9ucyAoJXMpIgotbXNnc3RyICIiCi0ibOG7l2k6IGtow7RuZyB0aOG7gyBr4bq/dCBo4bujcCBjw6FjIHTDuXkgY2jhu41uIGjDsmEgdHLhu5luICgtLW1lcmdlLCAtLXN0cmF0ZWd5LCAtLSIKLSJzdHJhdGVneS1vcHRpb24pIHbhu5tpIG3hu5l0IHTDuXkgY2jhu41uIGFtICglcykiCisiZXJyb3I6IGNhbm5vdCBjb21iaW5lICctLXByZXNlcnZlLW1lcmdlcycgd2l0aCAnLS1yZXNjaGVkdWxlLWZhaWxlZC1leGVjJyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGvhur90IGjhu6NwIOKAnC0tcHJlc2VydmUtbWVyZ2Vz4oCdIHbhu5tpIOKAnC0tcmVzY2hlZHVsZS1mYWlsZWQtZXhlY+KAnSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMjUxIGdpdC1sZWdhY3ktcmViYXNlLnNoOjUzNgotbXNnaWQgImVycm9yOiBjYW5ub3QgY29tYmluZSAnLS1wcmVzZXJ2ZS1tZXJnZXMnIHdpdGggJy0tcmViYXNlLW1lcmdlcyciCi1tc2dzdHIgImzhu5dpOiBraMO0bmcgdGjhu4Mga+G6v3QgaOG7o3Ag4oCcLS1wcmVzZXJ2ZV9tZXJnZXPigJ0gduG7m2kg4oCcLS1yZWJhc2UtbWVyZ2Vz4oCdIgotCi0jOiBidWlsdGluL3JlYmFzZS5jOjEyNTYgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTQyCi1tc2dpZCAiZXJyb3I6IGNhbm5vdCBjb21iaW5lICctLXJlYmFzZS1tZXJnZXMnIHdpdGggJy0tc3RyYXRlZ3ktb3B0aW9uJyIKLW1zZ3N0ciAibOG7l2k6IGtow7RuZyB0aOG7gyBr4bq/dCBo4bujcCDigJwtLXJlYmFzZV9tZXJnZXPigJ0gduG7m2kg4oCcLS1zdHJhdGVneS1vcHRpb27igJ0iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI1OSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1NDQKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneSciCi1tc2dzdHIgImzhu5dpOiBraMO0bmcgdGjhu4Mga+G6v3QgaOG7o3Ag4oCcLS1yZWJhc2UtbWVyZ2Vz4oCdIHbhu5tpIOKAnC0tc3RyYXRlZ3nigJ0iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI4MworIzogYnVpbHRpbi9yZWJhc2UuYzoxOTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdXBzdHJlYW0gJyVzJyIKIG1zZ3N0ciAidGjGsOG7o25nIG5ndeG7k24ga2jDtG5nIGjhu6NwIGzhu4cg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI4OQorIzogYnVpbHRpbi9yZWJhc2UuYzoxOTI1CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBuZXcgcm9vdCBjb21taXQiCiBtc2dzdHIgIktow7RuZyB0aOG7gyB04bqhbyBs4bqnbiBjaHV54buDbiBnaWFvIGfhu5FjIG3hu5tpIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzMDcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTk1MQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnOiBuZWVkIGV4YWN0bHkgb25lIG1lcmdlIGJhc2Ugd2l0aCBicmFuY2giCittc2dzdHIgIuKAnCVz4oCdOiBj4bqnbiBjaMOtbmggeMOhYyBt4buZdCBjxqEgc+G7nyBow7JhIHRy4buZbiB24bubaSBuaMOhbmgiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTk1NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBuZWVkIGV4YWN0bHkgb25lIG1lcmdlIGJhc2UiCiBtc2dzdHIgIuKAnCVz4oCdOiBj4bqnbiBjaMOtbmggeMOhYyBt4buZdCBjxqEgc+G7nyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMzE0CisjOiBidWlsdGluL3JlYmFzZS5jOjE5NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIGNo4buJIMSR4bq/biBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIGtow7RuZyBo4bujcCBs4buHIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzMzkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTk4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2gvY29tbWl0ICclcyciCiBtc2dzdHIgIm5naGnDqm0gdHLhu41uZzoga2jDtG5nIGPDsyBuaMOhbmgvbOG6p24gY2h1eeG7g24gZ2lhbyDigJwlc+KAnSBuaMawIHRo4bq/IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzNDcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjM3Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkzMAorIzogYnVpbHRpbi9yZWJhc2UuYzoxOTk1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZWY6ICVzIgogbXNnc3RyICJLaMO0bmcgY8OzIHRoYW0gY2hp4bq/dSBuw6BvIG5oxrAgdGjhur86ICVzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzNTkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjAwNgogbXNnaWQgIkNvdWxkIG5vdCByZXNvbHZlIEhFQUQgdG8gYSByZXZpc2lvbiIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHBow6JuIGdp4bqjaSBs4bqnbiBjaHV54buDbiBnaWFvIEhFQUQgxJHhur9uIG3hu5l0IMSRaeG7g20geMOpdCBkdXnhu4d0IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzOTkgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NjY1CisjOiBidWlsdGluL3JlYmFzZS5jOjIwNDQKIG1zZ2lkICJDYW5ub3QgYXV0b3N0YXNoIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgYXV0b3N0YXNoIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0MDIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmV4cGVjdGVkIHN0YXNoIHJlc3BvbnNlOiAnJXMnIgogbXNnc3RyICJH4bq3cCDEkcOhcCDhu6luZyBzdGFzaCBraMO0bmcgY+G6p246IOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0MDgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSBmb3IgJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHThuqFvIHRoxrAgbeG7pWMgY2hvIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0MTEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJXNcbiIKIG1zZ3N0ciAixJDDoyB04bqhbyBhdXRvc3Rhc2g6ICVzXG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQxNAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDU5CiBtc2dpZCAiY291bGQgbm90IHJlc2V0IC0taGFyZCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHJlc2V0IC0taGFyZCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDE1IGJ1aWx0aW4vcmVzZXQuYzoxMTMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiSEVBRCBpcyBub3cgYXQgJXMiCi1tc2dzdHIgIkhFQUQgaGnhu4duIGdp4budIHThuqFpICVzIgotCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0MzEgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6Njc0CisjOiBidWlsdGluL3JlYmFzZS5jOjIwNjgKIG1zZ2lkICJQbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgogbXNnc3RyICJYaW4gaMOjeSBjaHV54buDbiBnaWFvIGhv4bq3YyB04bqhbSBj4bqldCAoc3Rhc2gpIGNow7puZy4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1OAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDk1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggY8O6IHBow6FwIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0NzAKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3dpdGNoIHRvICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgY2h1eeG7g24gxJHhur9uICVzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0ODEgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6Njk3Ci0jLCBzaC1mb3JtYXQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjExOQogbXNnaWQgIkhFQUQgaXMgdXAgdG8gZGF0ZS4iCiBtc2dzdHIgIkhFQUQgxJHDoyBj4bqtcCBuaOG6rXQuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0ODMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAlcyBpcyB1cCB0byBkYXRlLlxuIgogbXNnc3RyICJOaMOhbmggaGnhu4duIHThuqFpICVzIMSRw6MgxJHGsOG7o2MgY+G6rXAgbmjhuq10IHLhu5NpLlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0OTEgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzA3Ci0jLCBzaC1mb3JtYXQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEyOQogbXNnaWQgIkhFQUQgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCiBtc2dzdHIgIkhFQUQgaGnhu4duIMSRw6MgxJHGsOG7o2MgY+G6rXAgbmjhuq10IHLhu5NpLCBi4buLIMOpcCBideG7mWMgcmViYXNlLiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDkzCisjOiBidWlsdGluL3JlYmFzZS5jOjIxMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJXMgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC5cbiIKIG1zZ3N0ciAiTmjDoW5oIGhp4buHbiB04bqhaSAlcyDEkcOjIMSRxrDhu6NjIGPhuq1wIG5o4bqtdCBy4buTaSwgbOG7h25oIHJlYmFzZSDDqXAgYnXhu5ljLlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE1MDEgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6MjA4CisjOiBidWlsdGluL3JlYmFzZS5jOjIxMzkKIG1zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKIG1zZ3N0ciAiTcOzYyAoaG9vaykgcHJlLXJlYmFzZSB04burIGNo4buRaSByZWJhc2UuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE1MDgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGFuZ2VzIHRvICVzOlxuIgogbXNnc3RyICJUaGF5IMSR4buVaSB0aMOgbmggJXM6XG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxMQorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoYW5nZXMgZnJvbSAlcyB0byAlczpcbiIKIG1zZ3N0ciAiVGhheSDEkeG7lWkgdOG7qyAlcyB0aMOgbmggJXM6XG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzNgorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLlxuIgogbXNnc3RyICIiCiAiVHLGsOG7m2MgdGnDqm4sIGRpIGNodXnhu4NuIGhlYWQgxJHhu4MgeGVtIGzhuqFpIGPDoWMgY8O0bmcgdmnhu4djIHRyw6puIMSR4buJbmggY+G7p2EgbsOz4oCmXG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTU0MworIzogYnVpbHRpbi9yZWJhc2UuYzoyMTgzCiBtc2dpZCAiQ291bGQgbm90IGRldGFjaCBIRUFEIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgdMOhY2ggcuG7nWkgSEVBRCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNTUyCisjOiBidWlsdGluL3JlYmFzZS5jOjIxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkZWQgJXMgdG8gJXMuXG4iCiBtc2dzdHIgIkNodXnhu4NuLXRp4bq/cC1uaGFuaCAlcyDEkeG6v24gJXMuXG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjI0Ci1tc2dpZCAibm8gSEVBRD8iCi1tc2dzdHIgImtow7RuZyBIRUFEPyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6NTEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgJXMiCi1tc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyAlcyB04bqhbSB0aOG7nWkiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjU3Ci1tc2dpZCAiY291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCi1tc2dzdHIgImtow7RuZyB0aOG7gyDEkcOhbmggZOG6pXUgbMOgIHTGsMahbmcgdMOhYyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTAxCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBvcGVuICVzIgotbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyAlcyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTE0Ci1tc2dpZCAiY291bGQgbm90IGdlbmVyYXRlIHRvZG8gbGlzdCIKLW1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIGRhbmggc8OhY2ggY+G6p24gbMOgbSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTI5Ci1tc2dpZCAiZ2l0IHJlYmFzZS0taW50ZXJhY3RpdmUgWzxvcHRpb25zPl0iCi1tc2dzdHIgImdpdCByZWJhc2UtLWludGVyYWN0aXZlIFs8Y8OhYyB0w7l5IGNo4buNbj5dIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNDgKLW1zZ2lkICJrZWVwIGVtcHR5IGNvbW1pdHMiCi1tc2dzdHIgImdp4buvIGzhuqFpIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBy4buXbmciCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1MCBidWlsdGluL3JldmVydC5jOjEyNAotbXNnaWQgImFsbG93IGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKLW1zZ3N0ciAiY2jhuqVwIG5o4bqtbiBjaHV54buDbiBnaWFvIG3DoCBraMO0bmcgZ2hpIGNow7ogZ8OsIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTEKLW1zZ2lkICJyZWJhc2UgbWVyZ2UgY29tbWl0cyIKLW1zZ3N0ciAiY+G6o2kgdOG7lSBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gaMOyYSB0cuG7mW4iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1MwotbXNnaWQgImtlZXAgb3JpZ2luYWwgYnJhbmNoIHBvaW50cyBvZiBjb3VzaW5zIgotbXNnc3RyICJnaeG7ryBjw6FjIMSRaeG7g20gbmjDoW5oIG5ndXnDqm4gYuG6o24gY+G7p2EgY8OhYyBhbmggZW0gaOG7jSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTU1Ci1tc2dpZCAibW92ZSBjb21taXRzIHRoYXQgYmVnaW4gd2l0aCBzcXVhc2ghL2ZpeHVwISIKLW1zZ3N0ciAiZGkgY2h1eeG7g24gY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGLhuq90IMSR4bqndSBi4bqxbmcgc3F1YXNoIS9maXh1cCEiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1NgotbXNnaWQgInNpZ24gY29tbWl0cyIKLW1zZ3N0ciAia8O9IGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTU4Ci1tc2dpZCAiY29udGludWUgcmViYXNlIgotbXNnc3RyICJ0aeG6v3AgdOG7pWMgY+G6o2kgdOG7lSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTYwCi1tc2dpZCAic2tpcCBjb21taXQiCi1tc2dzdHIgImLhu48gcXVhIGzhuqduIGNodXnhu4NuIGdpYW8iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE2MQotbXNnaWQgImVkaXQgdGhlIHRvZG8gbGlzdCIKLW1zZ3N0ciAic+G7rWEgZGFuaCBzw6FjaCBj4bqnbiBsw6BtIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjMKLW1zZ2lkICJzaG93IHRoZSBjdXJyZW50IHBhdGNoIgotbXNnc3RyICJoaeG7g24gdGjhu4sgbWnhur9uZyB2w6EgaGnhu4duIGjDoG5oIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjYKLW1zZ2lkICJzaG9ydGVuIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKLW1zZ3N0ciAicsO6dCBuZ+G6r24gbcOjIGNodXnhu4NuIGdpYW8gdHJvbmcgZGFuaCBzw6FjaCBj4bqnbiBsw6BtIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjgKLW1zZ2lkICJleHBhbmQgY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgotbXNnc3RyICJraGFpIHRyaeG7g24gbcOjIGNodXnhu4NuIGdpYW8gdHJvbmcgZGFuaCBzw6FjaCBj4bqnbiBsw6BtIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzAKLW1zZ2lkICJjaGVjayB0aGUgdG9kbyBsaXN0IgotbXNnc3RyICJraeG7g20gdHJhIGRhbmggc8OhY2ggY+G6p24gbMOgbSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTcyCi1tc2dpZCAicmVhcnJhbmdlIGZpeHVwL3NxdWFzaCBsaW5lcyIKLW1zZ3N0ciAic+G6r3AgeOG6v3AgbOG6oWkgY8OhYyBkw7JuZyBmaXh1cC9zcXVhc2giCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3NAotbXNnaWQgImluc2VydCBleGVjIGNvbW1hbmRzIGluIHRvZG8gbGlzdCIKLW1zZ3N0ciAiY2jDqG4gY8OhYyBs4buHbmggdGjhu7FjIHRoaSB0cm9uZyBkYW5oIHPDoWNoIGPhuqduIGzDoG0iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3NQotbXNnaWQgIm9udG8iCi1tc2dzdHIgImzDqm4gdHLDqm4iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3NwotbXNnaWQgInJlc3RyaWN0LXJldmlzaW9uIgotbXNnc3RyICLEkWnhu4NtLXjDqXQtZHV54buHdC1o4bqhbi1jaOG6vyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc3Ci1tc2dpZCAicmVzdHJpY3QgcmV2aXNpb24iCi1tc2dzdHIgIsSRaeG7g20geMOpdCBkdXnhu4d0IGjhuqFuIGNo4bq/IgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzgKLW1zZ2lkICJzcXVhc2gtb250byIKLW1zZ3N0ciAic3F1YXNoLWzDqm4tdHLDqm4iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3OQotbXNnaWQgInNxdWFzaCBvbnRvIgotbXNnc3RyICJzcXVhc2ggbMOqbiB0csOqbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgxCi1tc2dpZCAidGhlIHVwc3RyZWFtIGNvbW1pdCIKLW1zZ3N0ciAibOG6p24gY2h1eeG7g24gZ2lhbyB0aMaw4bujbmcgbmd14buTbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgyCi1tc2dpZCAiaGVhZC1uYW1lIgotbXNnc3RyICJ0w6puLcSR4bqndSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgyCi1tc2dpZCAiaGVhZCBuYW1lIgotbXNnc3RyICJ0w6puIMSR4bqndSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg3Ci1tc2dpZCAicmViYXNlIHN0cmF0ZWd5IgotbXNnc3RyICJjaGnhur9uIGzGsOG7o2MgY+G6o2kgdOG7lSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg4Ci1tc2dpZCAic3RyYXRlZ3ktb3B0cyIKLW1zZ3N0ciAidMO5eS1jaOG7jW4tY2hp4bq/bi1sxrDhu6NjIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODkKLW1zZ2lkICJzdHJhdGVneSBvcHRpb25zIgotbXNnc3RyICJjw6FjIHTDuXkgY2jhu41uIGNoaeG6v24gbMaw4bujYyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkwCi1tc2dpZCAic3dpdGNoLXRvIgotbXNnc3RyICJjaHV54buDbi3EkeG6v24iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5MQotbXNnaWQgInRoZSBicmFuY2ggb3IgY29tbWl0IHRvIGNoZWNrb3V0IgotbXNnc3RyICJuaMOhbmggaGF5IGzhuqduIGNodXnhu4NuIGdpYW8gbOG6p24gbOG6pXkgcmEiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5MgotbXNnaWQgIm9udG8tbmFtZSIKLW1zZ3N0ciAib250by1uYW1lIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTIKLW1zZ2lkICJvbnRvIG5hbWUiCi1tc2dzdHIgInTDqm4gbMOqbiB0csOqbiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkzCi1tc2dpZCAiY21kIgotbXNnc3RyICJs4buHbmgiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5MwotbXNnaWQgInRoZSBjb21tYW5kIHRvIHJ1biIKLW1zZ3N0ciAibOG7h25oIG114buRbiBjaOG6oXkiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjIyMAotbXNnaWQgIi0tW25vLV1yZWJhc2UtY291c2lucyBoYXMgbm8gZWZmZWN0IHdpdGhvdXQgLS1yZWJhc2UtbWVyZ2VzIgotbXNnc3RyICItLVtuby1dcmViYXNlLWNvdXNpbnMga2jDtG5nIGPDsyB0w6FjIGThu6VuZyBraGkga2jDtG5nIGPDsyAtLXJlYmFzZS1tZXJnZXMiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjIyNgotbXNnaWQgImEgYmFzZSBjb21taXQgbXVzdCBiZSBwcm92aWRlZCB3aXRoIC0tdXBzdHJlYW0gb3IgLS1vbnRvIgotbXNnc3RyICJs4bqnbiBjaHV54buDbiBnaWFvIGPGoSBz4buPIHBo4bqjaSDEkcaw4bujYyBjaOG7iSDEkeG7i25oIHbhu5tpIC0tdXBzdHJlYW0gaG/hurdjIC0tb250byIKLQotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzozMworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzozMgogbXNnaWQgImdpdCByZWNlaXZlLXBhY2sgPGdpdC1kaXI+IgogbXNnc3RyICJnaXQgcmVjZWl2ZS1wYWNrIDx0aMawLW3hu6VjLWdpdD4iCiAKQEAgLTE1NjEzLDE5ICsxODQzMiw3NCBAQAogIlxuIgogIsSQ4buDIGNo4bqlbSBk4bupdCBs4budaSBuaOG6r24gbsOgeSwgYuG6oW4gaMOjeSDEkeG6t3QgbsOzIHRow6BuaCDigJxyZWZ1c2XigJ0uIgogCi0jOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5MjkKKyM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTkzNgogbXNnaWQgInF1aWV0IgogbXNnc3RyICJpbSBs4bq3bmciCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk0MworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTUwCiBtc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIGRpcmVjdG9yeS4iCiBtc2dzdHIgIkLhuqFuIHBo4bqjaSBjaOG7iSDEkeG7i25oIHRoxrAgbeG7pWMuIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjU2MyBidWlsdGluL3JlZmxvZy5jOjU2OAorIzogYnVpbHRpbi9yZWZsb2cuYzoxNworbXNnaWQgIiIKKyJnaXQgcmVmbG9nIGV4cGlyZSBbLS1leHBpcmU9PHRpbWU+XSBbLS1leHBpcmUtdW5yZWFjaGFibGU9PHRpbWU+XSBbLS0iCisicmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1zdGFsZS1maXhdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gWy0tYWxsXSAiCisiPHJlZnM+Li4uIgorbXNnc3RyICIiCisiZ2l0IHJlZmxvZyBleHBpcmUgWy0tZXhwaXJlPTx0aW1lPl0gWy0tZXhwaXJlLXVucmVhY2hhYmxlPTx0aW1lPl0gWy0tIgorInJld3JpdGVdIFstLXVwZGF0ZXJlZl0gWy0tc3RhbGUtZml4XSBbLS1kcnktcnVuIHwgLW5dIFstLXZlcmJvc2VdIFstLWFsbF0gIgorIjxjw6FjIHRoYW0gY2hp4bq/dT7igKYiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6MjIKK21zZ2lkICIiCisiZ2l0IHJlZmxvZyBkZWxldGUgWy0tcmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1kcnktcnVuIHwgLW5dIFstLXZlcmJvc2VdICIKKyI8cmVmcz4uLi4iCittc2dzdHIgIiIKKyJnaXQgcmVmbG9nIGRlbGV0ZSBbLS1yZXdyaXRlXSBbLS11cGRhdGVyZWZdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gIgorIjxjw6FjIHRoYW0gY2hp4bq/dT7igKYiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6MjUKK21zZ2lkICJnaXQgcmVmbG9nIGV4aXN0cyA8cmVmPiIKK21zZ3N0ciAiZ2l0IHJlZmxvZyBleGlzdHMgPHRoYW1fY2hp4bq/dT4iCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NTY3IGJ1aWx0aW4vcmVmbG9nLmM6NTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICLigJwlc+KAnSBraMO0bmcgcGjhuqNpIGzDoCBk4bqldSB0aOG7nWkgZ2lhbiBo4bujcCBs4buHIgogCisjOiBidWlsdGluL3JlZmxvZy5jOjYwNQorIywgYy1mb3JtYXQKK21zZ2lkICJNYXJraW5nIHJlYWNoYWJsZSBvYmplY3RzLi4uIgorbXNnc3RyICLEkMOhbmggZOG6pXUgY8OhYyDEkeG7kWkgdMaw4bujbmcgdGnhur9wIGPhuq1uIMSRxrDhu6Nj4oCmIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjY0MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBwb2ludHMgbm93aGVyZSEiCittc2dzdHIgIiVzIGNo4bqzbmcgY2jhu4kgxJHhur9uIMSRw6J1IGPhuqMhIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjY5NQorbXNnaWQgIm5vIHJlZmxvZyBzcGVjaWZpZWQgdG8gZGVsZXRlIgorbXNnc3RyICJjaMawYSBjaOG7iSByYSByZWZsb2cgxJHhu4MgeMOzYSIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo3MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgcmVmbG9nOiAlcyIKK21zZ3N0ciAia2jDtG5nIHBo4bqjaSBt4buZdCByZWZsb2c6ICVzIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjcwOQorIywgYy1mb3JtYXQKK21zZ2lkICJubyByZWZsb2cgZm9yICclcyciCittc2dzdHIgImtow7RuZyByZWZsb2cgY2hvIOKAnCVz4oCdIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHJlZiBmb3JtYXQ6ICVzIgorbXNnc3RyICLEkeG7i25oIGThuqFuZyB0aGFtIGNoaeG6v3Uga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjc2NAorbXNnaWQgImdpdCByZWZsb2cgWyBzaG93IHwgZXhwaXJlIHwgZGVsZXRlIHwgZXhpc3RzIF0iCittc2dzdHIgImdpdCByZWZsb2cgWyBzaG93IHwgZXhwaXJlIHwgZGVsZXRlIHwgZXhpc3RzIF0iCisKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCiBtc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSIKQEAgLTE1Njg2LDcgKzE4NTYwLDcgQEAKIAogIzogYnVpbHRpbi9yZW1vdGUuYzozMwogbXNnaWQgImdpdCByZW1vdGUgYWRkIFs8b3B0aW9ucz5dIDxuYW1lPiA8dXJsPiIKLW1zZ3N0ciAiZ2l0IHJlbW90ZSBhZGQgWzxjw6FjLXTDuXktY2jhu41uPl0gPHTDqm4+IDx1cmw+IgorbXNnc3RyICJnaXQgcmVtb3RlIGFkZCBbPGPDoWMgdMO5eSBjaOG7jW4+XSA8dMOqbj4gPHVybD4iCiAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6NTMKIG1zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyA8bmFtZT4gPGJyYW5jaD4uLi4iCkBAIC0xNTY5OCwxNSArMTg1NzIsMTUgQEAKIAogIzogYnVpbHRpbi9yZW1vdGUuYzo1OQogbXNnaWQgImdpdCByZW1vdGUgc2hvdyBbPG9wdGlvbnM+XSA8bmFtZT4iCi1tc2dzdHIgImdpdCByZW1vdGUgc2hvdyBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8dMOqbj4iCittc2dzdHIgImdpdCByZW1vdGUgc2hvdyBbPGPDoWMgdMO5eSBjaOG7jW4+XSA8dMOqbj4iCiAKICM6IGJ1aWx0aW4vcmVtb3RlLmM6NjQKIG1zZ2lkICJnaXQgcmVtb3RlIHBydW5lIFs8b3B0aW9ucz5dIDxuYW1lPiIKLW1zZ3N0ciAiZ2l0IHJlbW90ZSBwcnVuZSBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8dMOqbj4iCittc2dzdHIgImdpdCByZW1vdGUgcHJ1bmUgWzxjw6FjIHTDuXkgY2jhu41uPl0gPHTDqm4+IgogCiAjOiBidWlsdGluL3JlbW90ZS5jOjY5CiBtc2dpZCAiZ2l0IHJlbW90ZSB1cGRhdGUgWzxvcHRpb25zPl0gWzxncm91cD4gfCA8cmVtb3RlPl0uLi4iCi1tc2dzdHIgImdpdCByZW1vdGUgdXBkYXRlIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8bmjDs20+IHwgPG3DoXktY2jhu6c+XeKApiIKK21zZ3N0ciAiZ2l0IHJlbW90ZSB1cGRhdGUgWzxjw6FjIHTDuXkgY2jhu41uPl0gWzxuaMOzbT4gfCA8bcOheS1jaOG7pz5d4oCmIgogCiAjOiBidWlsdGluL3JlbW90ZS5jOjk4CiAjLCBjLWZvcm1hdApAQCAtMTU3ODYsNyArMTg2NjAsNyBAQAogbXNnaWQgIihkZWxldGUpIgogbXNnc3RyICIoeMOzYSkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NjI5IGJ1aWx0aW4vcmVtb3RlLmM6NzY1IGJ1aWx0aW4vcmVtb3RlLmM6ODY0CisjOiBidWlsdGluL3JlbW90ZS5jOjYyOSBidWlsdGluL3JlbW90ZS5jOjc2NCBidWlsdGluL3JlbW90ZS5jOjg2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZTogJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBtw6F5IGNo4bunIG7DoG8gbmjGsCB24bqteTog4oCcJXPigJ0iCkBAIC0xNTgwNywxNyArMTg2ODEsMTcgQEAKICJcdCVzXG4iCiAiXHRYaW4gaMOjeSBj4bqtcCBuaOG6rXQgcGjhuqduIGPhuqV1IGjDrG5oIG3hu5l0IGPDoWNoIHRo4bunIGPDtG5nIG7hur91IHRo4bqleSBj4bqnbiB0aGnhur90LiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3MDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgeMOzYSDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo3MzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNyZWF0aW5nICclcycgZmFpbGVkIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdOG6oW8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6ODAyCisjOiBidWlsdGluL3JlbW90ZS5jOjgwMQogbXNnaWQgIiIKICJOb3RlOiBBIGJyYW5jaCBvdXRzaWRlIHRoZSByZWZzL3JlbW90ZXMvIGhpZXJhcmNoeSB3YXMgbm90IHJlbW92ZWQ7XG4iCiAidG8gZGVsZXRlIGl0LCB1c2U6IgpAQCAtMTU4MjksMTE5ICsxODcwMywxMTkgQEAKICLEkWk7XG4iCiAixJHhu4MgeMOzYSDEkWksIHPhu60gZOG7pW5nOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo4MTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgY29uZmlnIHNlY3Rpb24gJyVzJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGfhu6EgYuG7jyBwaOG6p24gY+G6pXUgaMOsbmgg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE3CisjOiBidWlsdGluL3JlbW90ZS5jOjkxNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgbmV3IChuZXh0IGZldGNoIHdpbGwgc3RvcmUgaW4gcmVtb3Rlcy8lcykiCiBtc2dzdHIgIiBt4bubaSAobOG6p24gbOG6pXkgduG7gSB0aeG6v3AgdGhlbyBz4bq9IGzGsHUgdHJvbmcgcmVtb3Rlcy8lcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTIwCisjOiBidWlsdGluL3JlbW90ZS5jOjkxOQogbXNnaWQgIiB0cmFja2VkIgogbXNnc3RyICIgxJHGsOG7o2MgdGhlbyBkw7VpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkyMgorIzogYnVpbHRpbi9yZW1vdGUuYzo5MjEKIG1zZ2lkICIgc3RhbGUgKHVzZSAnZ2l0IHJlbW90ZSBwcnVuZScgdG8gcmVtb3ZlKSIKIG1zZ3N0ciAiIGPFqSByw61jaCAoZMO5bmcg4oCcZ2l0IHJlbW90ZSBwcnVuZeKAnSDEkeG7gyBn4buhIGLhu48pIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjkyNAorIzogYnVpbHRpbi9yZW1vdGUuYzo5MjMKIG1zZ2lkICIgPz8/IgogbXNnc3RyICIgPz8/IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjk2NQorIzogYnVpbHRpbi9yZW1vdGUuYzo5NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBicmFuY2guJXMubWVyZ2U7IGNhbm5vdCByZWJhc2Ugb250byA+IDEgYnJhbmNoIgogbXNnc3RyICJicmFuY2guJXMubWVyZ2Uga2jDtG5nIGjhu6NwIGzhu4c7IGtow7RuZyB0aOG7gyBj4bqjaSB04buVIHbhu4EgcGjDrWEgPiAxIG5ow6FuaCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTczCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAidGjhu7FjIGhp4buHbiByZWJhc2UgbeG7mXQgY8OhY2ggdMawxqFuZyB0w6FjIHRyw6puIG3DoXkgY2jhu6cgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc2CisjOiBidWlsdGluL3JlbW90ZS5jOjk3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIGludGVyYWN0aXZlbHkgKHdpdGggbWVyZ2VzKSBvbnRvIHJlbW90ZSAlcyIKIG1zZ3N0ciAiIgogInRo4buxYyBoaeG7h24gY+G6o2kgdOG7lSAoduG7m2kgY8OhYyBow7JhIHRy4buZbikgbeG7mXQgY8OhY2ggdMawxqFuZyB0w6FjIGzDqm4gdHLDqm4gbcOheSBjaOG7pyAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCiBtc2dzdHIgInRo4buxYyBoaeG7h24gcmViYXNlIHRyw6puIG3DoXkgY2jhu6cgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTgzCisjOiBidWlsdGluL3JlbW90ZS5jOjk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgbWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICIgaMOyYSB0cuG7mW4gduG7m2kgbcOheSBjaOG7pyAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5ODYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAiaMOyYSB0cuG7mW4gduG7m2kgbcOheSBjaOG7pyAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5ODkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiUtKnMgICAgYW5kIHdpdGggcmVtb3RlICVzXG4iCiBtc2dzdHIgIiUtKnMgICAgdsOgIHbhu5tpIG3DoXkgY2jhu6cgJXNcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMyCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzEKIG1zZ2lkICJjcmVhdGUiCiBtc2dzdHIgInThuqFvIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwMzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNAogbXNnaWQgImRlbGV0ZSIKIG1zZ3N0ciAieMOzYSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM5CisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzgKIG1zZ2lkICJ1cCB0byBkYXRlIgogbXNnc3RyICLEkcOjIGPhuq1wIG5o4bqtdCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQyCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDEKIG1zZ2lkICJmYXN0LWZvcndhcmRhYmxlIgogbXNnc3RyICJjw7MtdGjhu4MtY2h1eeG7g24tdGnhur9wLW5oYW5oIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0NAogbXNnaWQgImxvY2FsIG91dCBvZiBkYXRlIgogbXNnc3RyICJk4buvIGxp4buHdSBu4buZaSBi4buZIMSRw6MgY8WpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyDDqXAgYnXhu5ljIHRow6BuaCAlLSpzICglcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlLSpzICglcykiCiBtc2dzdHIgIiAgICAlLSpzIMSR4bqpeSBsw6puIHRow6BuaCAlLSpzICglcykiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnMgw6lwIGJ14buZYyB0aMOgbmggJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA2MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlLSpzIHB1c2hlcyB0byAlcyIKIG1zZ3N0ciAiICAgICUtKnMgxJHhuql5IGzDqm4gdGjDoG5oICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExMzAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEyOQogbXNnaWQgImRvIG5vdCBxdWVyeSByZW1vdGVzIgogbXNnc3RyICJraMO0bmcgdHJ1eSB24bqlbiBjw6FjIG3DoXkgY2jhu6ciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiogcmVtb3RlICVzIgogbXNnc3RyICIqIG3DoXkgY2jhu6cgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRmV0Y2ggVVJMOiAlcyIKIG1zZ3N0ciAiICBVUkwgxJHhu4MgbOG6pXkgduG7gTogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OSBidWlsdGluL3JlbW90ZS5jOjExNzUgYnVpbHRpbi9yZW1vdGUuYzoxMzE0CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTggYnVpbHRpbi9yZW1vdGUuYzoxMTc0IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMwogbXNnaWQgIihubyBVUkwpIgogbXNnc3RyICIoa2jDtG5nIGPDsyBVUkwpIgogCkBAIC0xNTk0OSwxOTAgKzE4ODIzLDE4MSBAQAogIy4gd2l0aCB0aGUgb25lIGluICIgRmV0Y2ggVVJMOiAlcyIKICMuIHRyYW5zbGF0aW9uLgogIy4KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MyBidWlsdGluL3JlbW90ZS5jOjExNzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MiBidWlsdGluL3JlbW90ZS5jOjExNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBQdXNoICBVUkw6ICVzIgogbXNnc3RyICIgIFVSTCDEkeG7gyDEkeG6qXkgbMOqbjogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NyBidWlsdGluL3JlbW90ZS5jOjExNzkgYnVpbHRpbi9yZW1vdGUuYzoxMTgxCisjOiBidWlsdGluL3JlbW90ZS5jOjExNzYgYnVpbHRpbi9yZW1vdGUuYzoxMTc4IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEhFQUQgYnJhbmNoOiAlcyIKIG1zZ3N0ciAiICBOaMOhbmggSEVBRDogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2CiBtc2dpZCAiKG5vdCBxdWVyaWVkKSIKIG1zZ3N0ciAiKGtow7RuZyB5w6p1IGPhuqd1KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc5CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzgKIG1zZ2lkICIodW5rbm93bikiCiBtc2dzdHIgIihraMO0bmcgaGnhu4N1KSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgzCisjOiBidWlsdGluL3JlbW90ZS5jOjExODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiAgSEVBRCBicmFuY2ggKHJlbW90ZSBIRUFEIGlzIGFtYmlndW91cywgbWF5IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nKTpcbiIKIG1zZ3N0ciAiICBuaMOhbmggSEVBRCAoSEVBRCBtw6F5IGNo4bunIGNoxrBhIHLDtSByw6BuZywgY8OzIGzhur0gbMOgIG3hu5l0IHRyb25nIHPhu5Egc2F1KTpcbiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTk1CisjOiBidWlsdGluL3JlbW90ZS5jOjExOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBSZW1vdGUgYnJhbmNoOiVzIgogbXNnaWRfcGx1cmFsICIgIFJlbW90ZSBicmFuY2hlczolcyIKIG1zZ3N0clswXSAiICBOaOG7r25nIG5ow6FuaCB0csOqbiBtw6F5IGNo4bunOiVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExOTggYnVpbHRpbi9yZW1vdGUuYzoxMjI0CisjOiBidWlsdGluL3JlbW90ZS5jOjExOTcgYnVpbHRpbi9yZW1vdGUuYzoxMjIzCiBtc2dpZCAiIChzdGF0dXMgbm90IHF1ZXJpZWQpIgogbXNnc3RyICIgKHRy4bqhbmcgdGjDoWkga2jDtG5nIMSRxrDhu6NjIHnDqnUgY+G6p3UpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyMDcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNgogbXNnaWQgIiAgTG9jYWwgYnJhbmNoIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnaWRfcGx1cmFsICIgIExvY2FsIGJyYW5jaGVzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgogbXNnc3RyWzBdICIgIE5o4buvbmcgbmjDoW5oIG7hu5lpIGLhu5kgxJHDoyDEkcaw4bujYyBj4bqldSBow6xuaCBjaG8gbOG7h25oIOKAnGdpdCBwdWxs4oCdOiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjE1CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMTQKIG1zZ2lkICIgIExvY2FsIHJlZnMgd2lsbCBiZSBtaXJyb3JlZCBieSAnZ2l0IHB1c2gnIgogbXNnc3RyICIgIHJlZnMgbuG7mWkgYuG7mSBz4bq9IMSRxrDhu6NjIHBo4bqjbiBjaGnhur91IGLhu59pIGzhu4duaCDigJxnaXQgcHVzaOKAnSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjIxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBMb2NhbCByZWYgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCByZWZzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dzdHJbMF0gIiAgTmjhu69uZyB0aGFtIGNoaeG6v3UgbuG7mWkgYuG7mSDEkcaw4bujYyBj4bqldSBow6xuaCBjaG8gbOG7h25oIOKAnGdpdCBwdXNo4oCdJXM6IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MQogbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKIG1zZ3N0ciAixJHhurd0IHJlZnMvcmVtb3Rlcy88dMOqbj4vSEVBRCBjaG8gcGjDuSBo4bujcCB24bubaSBtw6F5IGNo4bunIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNDQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MwogbXNnaWQgImRlbGV0ZSByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQiCiBtc2dzdHIgInjDs2EgcmVmcy9yZW1vdGVzLzx0w6puPi9IRUFEIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1OAogbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgcmVtb3RlIEhFQUQiCiBtc2dzdHIgIktow7RuZyB0aOG7gyB4w6FjIMSR4buLbmggxJHGsOG7o2MgSEVBRCBtw6F5IGNo4bunIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MAogbXNnaWQgIk11bHRpcGxlIHJlbW90ZSBIRUFEIGJyYW5jaGVzLiBQbGVhc2UgY2hvb3NlIG9uZSBleHBsaWNpdGx5IHdpdGg6IgogbXNnc3RyICJOaGnhu4F1IG5ow6FuaCBIRUFEIG3DoXkgY2jhu6cuIEjDo3kgY2jhu41uIHLDtSByw6BuZyBt4buZdDoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgJXMiCiBtc2dzdHIgIktow7RuZyB0aOG7gyB4w7NhIGLhu48gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIHJlZjogJXMiCiBtc2dzdHIgIktow7RuZyBwaOG6o2kgbMOgIHRoYW0gY2hp4bq/dSBo4bujcCBs4buHOiAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldHVwICVzIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgY8OgaSDEkeG6t3QgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyB3aWxsIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyBz4bq9IHRy4bufIHRow6BuaCBraMO0bmcgxJHhuqd1IChraMO0bmcgxJHGsOG7o2MgcXXhuqNuIGzDvSkhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMDAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIgJXMgaGFzIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyDEkcOjIHRy4bufIHRow6BuaCBraMO0bmcgxJHhuqd1IChraMO0bmcgxJHGsOG7o2MgcXXhuqNuIGzDvSkhIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcnVuaW5nICVzIgogbXNnc3RyICLEkGFuZyB4w6luIGLhu5t0ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMTEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJVUkw6ICVzIgogbXNnc3RyICJVUkw6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbd291bGQgcHJ1bmVdICVzIgogbXNnc3RyICIgKiBbbsOqbiB4w6luIGLhu5t0XSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzMwCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3BydW5lZF0gJXMiCiBtc2dzdHIgIiAqIFvEkcOjIGLhu4sgeMOpbl0gJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM3NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzc0CiBtc2dpZCAicHJ1bmUgcmVtb3RlcyBhZnRlciBmZXRjaGluZyIKIG1zZ3N0ciAiY+G6r3QgbcOheSBjaOG7pyBzYXUga2hpIGzhuqV5IHbhu4EiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzOCBidWlsdGluL3JlbW90ZS5jOjE0OTIgYnVpbHRpbi9yZW1vdGUuYzoxNTYwCisjOiBidWlsdGluL3JlbW90ZS5jOjE0MzcgYnVpbHRpbi9yZW1vdGUuYzoxNDkxIGJ1aWx0aW4vcmVtb3RlLmM6MTU1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSAnJXMnIgogbXNnc3RyICJLaMO0bmcgY8OzIG3DoXkgY2jhu6cgbsOgbyBjw7MgdMOqbiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDU0CisjOiBidWlsdGluL3JlbW90ZS5jOjE0NTMKIG1zZ2lkICJhZGQgYnJhbmNoIgogbXNnc3RyICJ0aMOqbSBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ2MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYwCiBtc2dpZCAibm8gcmVtb3RlIHNwZWNpZmllZCIKIG1zZ3N0ciAiY2jGsGEgY2jhu4kgcmEgbcOheSBjaOG7pyBuw6BvIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NzgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3NwogbXNnaWQgInF1ZXJ5IHB1c2ggVVJMcyByYXRoZXIgdGhhbiBmZXRjaCBVUkxzIgogbXNnc3RyICJ0cnV5IHbhuqVuIMSR4bqpeSBVUkwgdGhheSB2w6wgbOG6pXkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ4MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDc5CiBtc2dpZCAicmV0dXJuIGFsbCBVUkxzIgogbXNnc3RyICJ0cuG6oyB24buBIG3hu41pIFVSTCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTA4CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gVVJMcyBjb25maWd1cmVkIGZvciByZW1vdGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIGPDsyBVUkwgbsOgbyDEkcaw4bujYyBj4bqldSBow6xuaCBjaG8gbmjDoW5oIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1MzQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzMwogbXNnaWQgIm1hbmlwdWxhdGUgcHVzaCBVUkxzIgogbXNnc3RyICLEkeG6qXkgY8OhYyDigJxVUkzigJ0gYuG6sW5nIHRheSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM2CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzUKIG1zZ2lkICJhZGQgVVJMIgogbXNnc3RyICJ0aMOqbSBVUkwiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzOAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM3CiBtc2dpZCAiZGVsZXRlIFVSTHMiCiBtc2dzdHIgInjDs2EgVVJMcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTQ1CisjOiBidWlsdGluL3JlbW90ZS5jOjE1NDQKIG1zZ2lkICItLWFkZCAtLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2UiCiBtc2dzdHIgIi0tYWRkIC0tZGVsZXRlIGtow7RuZyBo4bujcCBsw70iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgb2xkIFVSTCBwYXR0ZXJuOiAlcyIKIG1zZ3N0ciAiS2nhu4N1IG3huqt1IFVSTCBjxakga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE1OTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIFVSTCBmb3VuZDogJXMiCiBtc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSBVUkwgbmjGsCB24bqteTogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkzCiBtc2dpZCAiV2lsbCBub3QgZGVsZXRlIGFsbCBub24tcHVzaCBVUkxzIgogbXNnc3RyICJT4bq9IGtow7RuZyB4w7NhIG5o4buvbmcgxJHhu4thIGNo4buJIFVSTCBraMO0bmctcHVzaCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjEwCi1tc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKLW1zZ3N0ciAiY2hpIHRp4bq/dDsgcGjhuqNpIMSRxrDhu6NjIMSR4bq3dCB0csaw4bubYyBt4buZdCBs4buHbmgtY29uIgotCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKLW1zZ3N0ciAiS2jDtG5nIGhp4buDdSBjw6J1IGzhu4duaCBjb246ICVzIgotCi0jOiBidWlsdGluL3JlcGFjay5jOjIyCisjOiBidWlsdGluL3JlcGFjay5jOjIzCiBtc2dpZCAiZ2l0IHJlcGFjayBbPG9wdGlvbnM+XSIKLW1zZ3N0ciAiZ2l0IHJlcGFjayBbPGPDoWMtdMO5eS1jaOG7jW4+XSIKK21zZ3N0ciAiZ2l0IHJlcGFjayBbPGPDoWMgdMO5eSBjaOG7jW4+XSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyNworIzogYnVpbHRpbi9yZXBhY2suYzoyOAogbXNnaWQgIiIKICJJbmNyZW1lbnRhbCByZXBhY2tzIGFyZSBpbmNvbXBhdGlibGUgd2l0aCBiaXRtYXAgaW5kZXhlcy4gIFVzZVxuIgogIi0tbm8td3JpdGUtYml0bWFwLWluZGV4IG9yIGRpc2FibGUgdGhlIHBhY2sud3JpdGViaXRtYXBzIGNvbmZpZ3VyYXRpb24uIgpAQCAtMTYxNDAsOTUgKzE5MDA1LDEzNCBAQAogIkdpYSB0xINuZyByZXBhY2sgbMOgIGtow7RuZyB0xrDGoW5nIHRow61jaCB24bubaSBjaOG7iSBt4bulYyBiaXRtYXAuIETDuW5nXG4iCiAiLS1uby13cml0ZS1iaXRtYXAtaW5kZXggaGF5IHThuq90IGPhuqV1IGjDrG5oIHBhY2sud3JpdGViaXRtYXBzLiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyOTQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MTkxCittc2dpZCAiY291bGQgbm90IHN0YXJ0IHBhY2stb2JqZWN0cyB0byByZXBhY2sgcHJvbWlzb3Igb2JqZWN0cyIKK21zZ3N0ciAiIgorImtow7RuZyB0aOG7gyBs4bqleSB0aMO0bmcgdGluIHRo4buRbmcga8OqIHBhY2stb2JqZWN0cyDEkeG7gyBtw6AgxJHDs25nIGfDs2kgbOG6oWkgY8OhYyDEkeG7kWkgIgorInTGsOG7o25nIGjhu6lhIGjhurluIgorCisjOiBidWlsdGluL3JlcGFjay5jOjIzMCBidWlsdGluL3JlcGFjay5jOjQxNgorbXNnaWQgInJlcGFjazogRXhwZWN0aW5nIGZ1bGwgaGV4IG9iamVjdCBJRCBsaW5lcyBvbmx5IGZyb20gcGFjay1vYmplY3RzLiIKK21zZ3N0ciAiIgorInJlcGFjazogxJBhbmcgY2jhu4kgY+G6p24gY8OhYyBkw7JuZyBJRCDEkeG7kWkgdMaw4bujbmcgZOG6oW5nIHRo4bqtcCBs4bulYyBwaMOibiDEkeG6p3kgZOG7pyB04burIHBhY2stIgorIm9iamVjdHMuIgorCisjOiBidWlsdGluL3JlcGFjay5jOjI1NAorbXNnaWQgImNvdWxkIG5vdCBmaW5pc2ggcGFjay1vYmplY3RzIHRvIHJlcGFjayBwcm9taXNvciBvYmplY3RzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgaG/DoG4gdOG6pXQgcGFjay1vYmplY3RzIMSR4buDIMSRw7NuZyBnw7NpIGPDoWMgxJHhu5FpIHTGsOG7o25nIGjhu6lhIGjhurluIgorCisjOiBidWlsdGluL3JlcGFjay5jOjI5MgogbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgogbXNnc3RyICLEkcOzbmcgZ8OzaSBt4buNaSB0aOG7qSB0cm9uZyBt4buZdCBnw7NpIMSRxqFuIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjI5NgorIzogYnVpbHRpbi9yZXBhY2suYzoyOTQKIG1zZ2lkICJzYW1lIGFzIC1hLCBhbmQgdHVybiB1bnJlYWNoYWJsZSBvYmplY3RzIGxvb3NlIgogbXNnc3RyICJnaeG7kW5nIHbhu5tpIC1hLCB2w6AgY2jhu4luaCBz4butYSBjw6FjIMSR4buRaSB0xrDhu6NuZyBraMO0bmcgxJHhu41jIMSRxrDhu6NjIHRoaeG6v3Ugc8OzdCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzoyOTkKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk3CiBtc2dpZCAicmVtb3ZlIHJlZHVuZGFudCBwYWNrcywgYW5kIHJ1biBnaXQtcHJ1bmUtcGFja2VkIgogbXNnc3RyICJ4w7NhIGLhu48gY8OhYyBnw7NpIGTGsCB0aOG7q2EsIHbDoCBjaOG6oXkgZ2l0LXBydW5lLXBhY2tlZCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMDEKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk5CiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLWRlbHRhIHRvIGdpdC1wYWNrLW9iamVjdHMiCiBtc2dzdHIgImNodXnhu4NuIC0tbm8tcmV1c2UtZGVsdGEgY2hvIGdpdC1wYWNrLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzAzCisjOiBidWlsdGluL3JlcGFjay5jOjMwMQogbXNnaWQgInBhc3MgLS1uby1yZXVzZS1vYmplY3QgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAiY2h1eeG7g24gLS1uby1yZXVzZS1vYmplY3QgY2hvIGdpdC1wYWNrLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA1CisjOiBidWlsdGluL3JlcGFjay5jOjMwMwogbXNnaWQgImRvIG5vdCBydW4gZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKIG1zZ3N0ciAia2jDtG5nIGNo4bqheSBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMwOAorIzogYnVpbHRpbi9yZXBhY2suYzozMDYKIG1zZ2lkICJwYXNzIC0tbG9jYWwgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAiY2h1eeG7g24gLS1sb2NhbCBjaG8gZ2l0LXBhY2stb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA4CiBtc2dpZCAid3JpdGUgYml0bWFwIGluZGV4IgogbXNnc3RyICJnaGkgbeG7pWMgbOG7pWMgw6FuaCB44bqhIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMxMgorIzogYnVpbHRpbi9yZXBhY2suYzozMTAKIG1zZ2lkICJwYXNzIC0tZGVsdGEtaXNsYW5kcyB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICJjaHV54buDbiAtLWRlbHRhLWlzbGFuZHMgY2hvIGdpdC1wYWNrLW9iamVjdHMiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEzCisjOiBidWlsdGluL3JlcGFjay5jOjMxMQogbXNnaWQgImFwcHJveGlkYXRlIgogbXNnc3RyICJuZ8OgeSDGsOG7m2MgdMOtbmgiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE0CisjOiBidWlsdGluL3JlcGFjay5jOjMxMgogbXNnaWQgIndpdGggLUEsIGRvIG5vdCBsb29zZW4gb2JqZWN0cyBvbGRlciB0aGFuIHRoaXMiCiBtc2dzdHIgInbhu5tpIC1BLCBjw6FjIMSR4buRaSB0xrDhu6NuZyBjxakgaMahbiBraG/huqNuZyB0aOG7nWkgZ2lhbiBuw6B5IHRow6wga2jDtG5nIGLhu4sgbeG6pXQiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE2CisjOiBidWlsdGluL3JlcGFjay5jOjMxNAogbXNnaWQgIndpdGggLWEsIHJlcGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICJ24bubaSAtYSwgxJHDs25nIGfDs2kgbOG6oWkgY8OhYyDEkeG7kWkgdMaw4bujbmcga2jDtG5nIHRo4buDIMSR4buNYyDEkcaw4bujYyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE2CiBtc2dpZCAic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIgogbXNnc3RyICJrw61jaCB0aMaw4bubYyBj4butYSBz4buVIMSRxrDhu6NjIGTDuW5nIGNobyBuw6luIOKAnGRlbHRh4oCdIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMxOSBidWlsdGluL3JlcGFjay5jOjMyNQorIzogYnVpbHRpbi9yZXBhY2suYzozMTcgYnVpbHRpbi9yZXBhY2suYzozMjMKIG1zZ2lkICJieXRlcyIKIG1zZ3N0ciAiYnl0ZSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMjAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE4CiBtc2dpZCAic2FtZSBhcyB0aGUgYWJvdmUsIGJ1dCBsaW1pdCBtZW1vcnkgc2l6ZSBpbnN0ZWFkIG9mIGVudHJpZXMgY291bnQiCiBtc2dzdHIgImdp4buRbmcgbmjGsCB0csOqbiwgbmjGsG5nIGdp4bubaSBo4bqhbiBrw61jaCB0aMaw4bubYyBi4buZIG5o4bubIGhheSB2w6wgc+G7kSBsxrDhu6NuZyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMjIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzIwCiBtc2dpZCAibGltaXRzIHRoZSBtYXhpbXVtIGRlbHRhIGRlcHRoIgogbXNnc3RyICJnaeG7m2kgaOG6oW4gxJHhu5kgc8OidSB04buRaSDEkWEgY+G7p2Eg4oCcZGVsdGHigJ0iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI0CisjOiBidWlsdGluL3JlcGFjay5jOjMyMgogbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcyIKIG1zZ3N0ciAiZ2nhu5tpIGjhuqFuIHPhu5EgbMaw4bujbmcgdOG7kWkgxJFhIHR1eeG6v24gdHLDrG5oIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMyNgorIzogYnVpbHRpbi9yZXBhY2suYzozMjQKIG1zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBwYWNrZmlsZSIKIG1zZ3N0ciAia8OtY2ggdGjGsOG7m2MgdOG7kWkgxJFhIGNobyB04burbmcgdOG6rXAgdGluIGfDs2kiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI4CisjOiBidWlsdGluL3JlcGFjay5jOjMyNgogbXNnaWQgInJlcGFjayBvYmplY3RzIGluIHBhY2tzIG1hcmtlZCB3aXRoIC5rZWVwIgogbXNnc3RyICLEkcOzbmcgZ8OzaSBs4bqhaSBjw6FjIMSR4buRaSB0xrDhu6NuZyB0cm9uZyBjw6FjIGfDs2kgxJHDoyDEkcOhbmggZOG6pXUgYuG6sW5nIC5rZWVwIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMzMAorIzogYnVpbHRpbi9yZXBhY2suYzozMjgKIG1zZ2lkICJkbyBub3QgcmVwYWNrIHRoaXMgcGFjayIKIG1zZ3N0ciAixJHhu6tuZyDEkcOzbmcgZ8OzaSBs4bqhaSBnw7NpIG7DoHkiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzQwCisjOiBidWlsdGluL3JlcGFjay5jOjMzOAogbXNnaWQgImNhbm5vdCBkZWxldGUgcGFja3MgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCiBtc2dzdHIgImtow7RuZyB0aOG7gyB4w7NhIGPDoWMgZ8OzaSB0cm9uZyBt4buZdCBraG8gxJHhu5FpX3TGsOG7o25nX3bEqV/EkeG6oWkiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzQ0CisjOiBidWlsdGluL3JlcGFjay5jOjM0MgogbXNnaWQgIi0ta2VlcC11bnJlYWNoYWJsZSBhbmQgLUEgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1rZWVwLXVucmVhY2hhYmxlIHbDoCAtQSB4dW5nIGto4bqvYyBuaGF1IgogCi0jOiBidWlsdGluL3JlcGFjay5jOjUyNworIzogYnVpbHRpbi9yZXBhY2suYzo0MjUKK21zZ2lkICJOb3RoaW5nIG5ldyB0byBwYWNrLiIKK21zZ3N0ciAiS2jDtG5nIGPDsyBnw6wgbeG7m2kgxJHhu4MgbcOgIMSRw7NuZyBnw7NpLiIKKworIzogYnVpbHRpbi9yZXBhY2suYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IFNvbWUgcGFja3MgaW4gdXNlIGhhdmUgYmVlbiByZW5hbWVkIGJ5XG4iCisiV0FSTklORzogcHJlZml4aW5nIG9sZC0gdG8gdGhlaXIgbmFtZSwgaW4gb3JkZXIgdG9cbiIKKyJXQVJOSU5HOiByZXBsYWNlIHRoZW0gd2l0aCB0aGUgbmV3IHZlcnNpb24gb2YgdGhlXG4iCisiV0FSTklORzogZmlsZS4gIEJ1dCB0aGUgb3BlcmF0aW9uIGZhaWxlZCwgYW5kIHRoZVxuIgorIldBUk5JTkc6IGF0dGVtcHQgdG8gcmVuYW1lIHRoZW0gYmFjayB0byB0aGVpclxuIgorIldBUk5JTkc6IG9yaWdpbmFsIG5hbWVzIGFsc28gZmFpbGVkLlxuIgorIldBUk5JTkc6IFBsZWFzZSByZW5hbWUgdGhlbSBpbiAlcyBtYW51YWxseTpcbiIKK21zZ3N0ciAiIgorIkPhuqJOSCBCw4FPOiBN4buZdCBz4buRIGfDs2kgxJFhbmcgZMO5bmcgduG7q2EgxJHGsOG7o2MgxJHhu5VpIHTDqm4gYuG6sW5nIGPDoWNoXG4iCisiQ+G6ok5IIELDgU86IMSRw6FuaCB0aeG7gW4gdOG7kSBvbGQtIHbDoG8gdMOqbiBj4bunYSBjaMO6bmcsIG3hu6VjIMSRw61jaCBsw6BcbiIKKyJD4bqiTkggQsOBTzogdGhheSBjaMO6bmcgYuG6sW5nIHBoacOqbiBi4bqjbiBt4bubaSBj4bunYSB04bqtcFxuIgorIkPhuqJOSCBCw4FPOiB0aW4uIE5oxrBuZyB0aGFvIHTDoWMgbOG6oWkgZ+G6t3AgbOG7l2ksIHbDoCBu4buXXG4iCisiQ+G6ok5IIELDgU86IGzhu7FjIMSR4buDIMSR4buVaSBuZ8aw4bujYyBs4bqhaSB0w6puIGNow7puZyBjaG8gxJHDum5nIHbhu5tpIHTDqm5cbiIKKyJD4bqiTkggQsOBTzogbmd1ecOqbiBn4buRYyBj4bunYSBuw7MgY8WpbmcgZ+G6t3AgbOG7l2kuXG4iCisiQ+G6ok5IIELDgU86IFZ1aSBsw7JuZyDEkeG7lWkgdMOqbiBjaMO6bmcgdHJvbmcgJXMgYuG6sW5nIHRheTpcbiIKKworIzogYnVpbHRpbi9yZXBhY2suYzo1MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnJXMnIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZ+G7oSBi4buPIOKAnCVz4oCdIgpAQCAtMTYyNTcsMTIgKzE5MTYxLDcgQEAKIG1zZ2lkICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9PGZvcm1hdD5dIFstbCBbPHBhdHRlcm4+XV0iCiBtc2dzdHIgImdpdCByZXBsYWNlIFstLWZvcm1hdD08xJHhu4tuaF9k4bqhbmc+XSBbLWwgWzxt4bqrdT5dXSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTggYnVpbHRpbi9yZXBsYWNlLmM6MjAzIGJ1aWx0aW4vcmVwbGFjZS5jOjIwNgotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmIgotbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gZ2nhuqNpIOKAnCVz4oCdIG5oxrAgbMOgIG3hu5l0IHRoYW0gY2hp4bq/dSBo4bujcCBs4buHIgotCi0jOiBidWlsdGluL3JlcGxhY2UuYzo4NgorIzogYnVpbHRpbi9yZXBsYWNlLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImludmFsaWQgcmVwbGFjZSBmb3JtYXQgJyVzJ1xuIgpAQCAtMTYyNzEsMjcgKzE5MTcwLDI3IEBACiAixJHhu4tuaCBk4bqhbmcgdGhheSB0aOG6vyBraMO0bmcgaOG7o3AgbOG7hyDigJwlc+KAnVxuIgogIsSR4buLbmggZOG6oW5nIGjhu6NwIGzhu4cgbMOgIOKAnHNob3J04oCdLCDigJxtZWRpdW3igJ0gdsOgIOKAnGxvbmfigJ0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEyMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcGxhY2UgcmVmICclcycgbm90IGZvdW5kIgogbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgdGhhbSBjaGnhur91IHRoYXkgdGjhur8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEzNworIzogYnVpbHRpbi9yZXBsYWNlLmM6MTQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgcmVwbGFjZSByZWYgJyVzJyIKIG1zZ3N0ciAixJDDoyB4w7NhIHRoYW0gY2hp4bq/dSB0aGF5IHRo4bq/IOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoxNDkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE1MwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlZiBuYW1lIgogbXNnc3RyICLigJwlc+KAnSBraMO0bmcgcGjhuqNpIHTDqm4gdGhhbSBjaGnhur91IGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE1NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcGxhY2UgcmVmICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgInRoYW0gY2hp4bq/dSB0aGF5IHRo4bq/IOKAnCVz4oCdIMSRw6MgdOG7k24gdOG6oWkgcuG7k2kiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE3NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJPYmplY3RzIG11c3QgYmUgb2YgdGhlIHNhbWUgdHlwZS5cbiIKQEAgLTE2MzAyLDc2ICsxOTIwMSw4MSBAQAogIuKAnCVz4oCdIGNo4buJIMSR4bq/biDEkeG7kWkgdMaw4bujbmcgdGhheSB0aOG6vyBj4bunYSBraeG7g3Ug4oCcJXPigJ1cbiIKICJ0cm9uZyBraGkg4oCcJXPigJ0gY2jhu4kgxJHhur9uIMSR4buRaSB0xrDhu6NuZyB0aGFtIGNoaeG6v3UgY+G7p2Ega2nhu4N1IOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjI1CisjOiBidWlsdGluL3JlcGxhY2UuYzoyMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIOKAnCVz4oCdIMSR4buDIGdoaSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjM4CisjOiBidWlsdGluL3JlcGxhY2UuYzoyNDIKIG1zZ2lkICJjYXQtZmlsZSByZXBvcnRlZCBmYWlsdXJlIgogbXNnc3RyICJjYXQtZmlsZSDEkcOjIGLDoW8gY8OhbyBn4bq3cCBs4buXaSBuZ2hpw6ptIHRy4buNbmciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI1NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIGZvciByZWFkaW5nIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyDigJwlc+KAnSDEkeG7gyDEkeG7jWMiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI2OAotbXNnaWQgInVuYWJsZSB0byBzcGF3biBta3RyZWUiCi1tc2dzdHIgImtow7RuZyB0aOG7gyBzcGF3biBta3RyZWUiCi0KICM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI3MgorbXNnaWQgInVuYWJsZSB0byBzcGF3biBta3RyZWUiCittc2dzdHIgImtow7RuZyB0aOG7gyBzaW5oIHRp4bq/biB0csOsbmggY29uIG1rdHJlZSIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjc2CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgZnJvbSBta3RyZWUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMgdOG7qyBta3RyZWUiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI4MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjg1CiBtc2dpZCAibWt0cmVlIHJlcG9ydGVkIGZhaWx1cmUiCiBtc2dzdHIgIm1rdHJlZSDEkcOjIGLDoW8gY8OhbyBn4bq3cCBs4buXaSBuZ2hpw6ptIHRy4buNbmciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI4NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjg5CiBtc2dpZCAibWt0cmVlIGRpZCBub3QgcmV0dXJuIGFuIG9iamVjdCBuYW1lIgogbXNnc3RyICJta3RyZWUgxJHDoyBraMO0bmcgdHLhuqMgduG7gSBt4buZdCB0w6puIMSR4buRaSB0xrDhu6NuZyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjk0CisjOiBidWlsdGluL3JlcGxhY2UuYzoyOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGZzdGF0ICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZnN0YXQgJXMiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI5OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzAzCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG9iamVjdCB0byBkYXRhYmFzZSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSDEkeG7kWkgdMaw4bujbmcgdsOgbyBjxqEgc+G7nyBk4buvIGxp4buHdSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzE4IGJ1aWx0aW4vcmVwbGFjZS5jOjM3MSBidWlsdGluL3JlcGxhY2UuYzo0MTUKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ0NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzIyIGJ1aWx0aW4vcmVwbGFjZS5jOjM3OCBidWlsdGluL3JlcGxhY2UuYzo0MjMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHBo4bqjaSBsw6AgdMOqbiDEkeG7kWkgdMaw4bujbmcgaOG7o3AgbOG7hzog4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMyMgorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzI2CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBnZXQgb2JqZWN0IHR5cGUgZm9yICVzIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkga2nhu4N1IMSR4buRaSB0xrDhu6NuZyBjaG8gJXMiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMzOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzQyCiBtc2dpZCAiZWRpdGluZyBvYmplY3QgZmlsZSBmYWlsZWQiCiBtc2dzdHIgInZp4buHYyBz4butYSB04bqtcCB0aW4gxJHhu5FpIHTGsOG7o25nIGfhurdwIGzhu5dpIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNDcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgb2JqZWN0IGlzIHRoZSBzYW1lIGFzIHRoZSBvbGQgb25lOiAnJXMnIgogbXNnc3RyICLEkeG7kWkgdMaw4bujbmcgbeG7m2kgbMOgIGdp4buRbmcgduG7m2kgY8OhaSBjxak6IOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MDcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMgYXMgYSBjb21taXQiCittc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCAlcyBuaMawIGzDoCBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG1lcmdldGFnIGluIGNvbW1pdCAnJXMnIgogbXNnc3RyICJ0aOG6uyBow7JhIHRy4buZbiBzYWkgdHJvbmcgbOG6p24gY2h1eeG7g24gZ2lhbyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDA5CisjOiBidWlsdGluL3JlcGxhY2UuYzo0MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG1lcmdldGFnIGluIGNvbW1pdCAnJXMnIgogbXNnc3RyICJ0aOG6uyBow7JhIHRy4buZbiBraMO0bmcgxJHDum5nIGThuqFuZyDhu58gbOG6p24gY2h1eeG7g24gZ2lhbyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDIxCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm9yaWdpbmFsIGNvbW1pdCAnJXMnIGNvbnRhaW5zIG1lcmdldGFnICclcycgdGhhdCBpcyBkaXNjYXJkZWQ7IHVzZSAtLWVkaXQgIgpAQCAtMTYzODAsMTA0ICsxOTI4NCwxMDQgQEAKICJs4bqnbiBjaHV54buDbiBnaWFvIGfhu5FjIOKAnCVz4oCdIGPDsyBjaOG7qWEgdGjhursgaMOyYSB0cuG7mW4g4oCcJXPigJ0gY8OhaSBtw6AgYuG7iyBsb+G6oWkgYuG7jzsgZMO5bmcgIgogInTDuXkgY2jhu41uIC0tZWRpdCB0aGF5IGNobyAtLWdyYWZ0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0NjAKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGUgb3JpZ2luYWwgY29tbWl0ICclcycgaGFzIGEgZ3BnIHNpZ25hdHVyZSIKIG1zZ3N0ciAibOG6p24gY2h1eeG7g24gZ2lhbyBn4buRYyDigJwlc+KAnSBjw7MgY2jhu68ga8O9IEdQRyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDYxCisjOiBidWlsdGluL3JlcGxhY2UuYzo0NjkKIG1zZ2lkICJ0aGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgcmVwbGFjZW1lbnQgY29tbWl0ISIKIG1zZ3N0ciAiY2jhu68ga8O9IHPhur0gxJHGsOG7o2MgYuG7jyDEkWkgdHJvbmcgbOG6p24gY2h1eeG7g24gZ2lhbyB0aGF5IHRo4bq/ISIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDcxCisjOiBidWlsdGluL3JlcGxhY2UuYzo0NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIHJlcGxhY2VtZW50IGNvbW1pdCBmb3I6ICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgbOG6p24gY2h1eeG7g24gZ2lhbyB0aGF5IHRo4bq/IGNobzog4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ3OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyYWZ0IGZvciAnJXMnIHVubmVjZXNzYXJ5IgogbXNnc3RyICJncmFmdCBjaG8g4oCcJXPigJ0ga2jDtG5nIGPhuqduIHRoaeG6v3QiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ4MgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBjb21taXQgaXMgdGhlIHNhbWUgYXMgdGhlIG9sZCBvbmU6ICclcyciCiBtc2dzdHIgImzhuqduIGNodXnhu4NuIGdpYW8gbeG7m2kgbMOgIGdp4buRbmcgduG7m2kgY8OhaSBjxak6IOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1MTUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IGNvbnZlcnQgdGhlIGZvbGxvd2luZyBncmFmdChzKTpcbiIKICIlcyIKIG1zZ3N0ciAiIgotIktow7RuZyB0aOG7gyBjaHV54buDbiDEkeG7lWkgY8OhYyBncmFmdCBzYXUgxJHDonk6XG4iCisia2jDtG5nIHRo4buDIGNodXnhu4NuIMSR4buVaSBjw6FjIGdyYWZ0IHNhdSDEkcOieTpcbiIKICIlcyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM2CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDcKIG1zZ2lkICJsaXN0IHJlcGxhY2UgcmVmcyIKIG1zZ3N0ciAibGnhu4d0IGvDqiBjw6FjIHJlZnMgdGhheSB0aOG6vyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM3CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDgKIG1zZ2lkICJkZWxldGUgcmVwbGFjZSByZWZzIgogbXNnc3RyICJ4w7NhIHRoYW0gY2hp4bq/dSB0aGF5IHRo4bq/IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1MzgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0OQogbXNnaWQgImVkaXQgZXhpc3Rpbmcgb2JqZWN0IgogbXNnc3RyICJz4butYSDEkeG7kWkgdMaw4bujbmcgc+G6tW4gY8OzIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1MzkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1MAogbXNnaWQgImNoYW5nZSBhIGNvbW1pdCdzIHBhcmVudHMiCiBtc2dzdHIgInRoYXkgxJHhu5VpIGNoYSBt4bq5IGPhu6dhIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0MAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTUxCiBtc2dpZCAiY29udmVydCBleGlzdGluZyBncmFmdCBmaWxlIgogbXNnc3RyICJjaHV54buDbiDEkeG7lWkgY8OhYyB04bqtcCB0aW4gZ3JhZnQgc+G6tW4gY8OzIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NDEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1MgogbXNnaWQgInJlcGxhY2UgdGhlIHJlZiBpZiBpdCBleGlzdHMiCiBtc2dzdHIgInRoYXkgdGjhur8gdGhhbSBjaGnhur91IG7hur91IG7DsyDEkcOjIHPhurVuIGPDsyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQzCisjOiBidWlsdGluL3JlcGxhY2UuYzo1NTQKIG1zZ2lkICJkbyBub3QgcHJldHR5LXByaW50IGNvbnRlbnRzIGZvciAtLWVkaXQiCiBtc2dzdHIgIsSR4burbmcgaW4gxJHhurlwIGPDoWMgbuG7mWkgZHVuZyBjaG8gLS1lZGl0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NDQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1NQogbXNnaWQgInVzZSB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAiZMO5bmcgxJHhu4tuaCBk4bqhbmcgbsOgeSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU3CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NjgKIG1zZ2lkICItLWZvcm1hdCBjYW5ub3QgYmUgdXNlZCB3aGVuIG5vdCBsaXN0aW5nIgogbXNnc3RyICItLWZvcm1hdCBraMO0bmcgdGjhu4MgxJHGsOG7o2MgZMO5bmcga2hpIGtow7RuZyBsaeG7h3Qga8OqIGfDrCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTY1CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NzYKIG1zZ2lkICItZiBvbmx5IG1ha2VzIHNlbnNlIHdoZW4gd3JpdGluZyBhIHJlcGxhY2VtZW50IgogbXNnc3RyICItZiBjaOG7iSBo4bujcCBsw70ga2hpIGdoaSBt4buZdCBjw6FpIHRoYXkgdGjhur8iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU2OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTgwCiBtc2dpZCAiLS1yYXcgb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tZWRpdCIKIG1zZ3N0ciAiLS1yYXcgY2jhu4kgaOG7o3AgbMO9IHbhu5tpIC0tZWRpdCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTc1CisjOiBidWlsdGluL3JlcGxhY2UuYzo1ODYKIG1zZ2lkICItZCBuZWVkcyBhdCBsZWFzdCBvbmUgYXJndW1lbnQiCiBtc2dzdHIgIi1kIGPhuqduIMOtdCBuaOG6pXQgbeG7mXQgdGhhbSBz4buRIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1ODEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU5MgogbXNnaWQgImJhZCBudW1iZXIgb2YgYXJndW1lbnRzIgogbXNnc3RyICJz4buRIMSR4buRaSBz4buRIGtow7RuZyDEkcO6bmciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU4NworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTk4CiBtc2dpZCAiLWUgbmVlZHMgZXhhY3RseSBvbmUgYXJndW1lbnQiCiBtc2dzdHIgIi1lIGPhuqduIGNow61uaCBjw6FjIGzDoCBt4buZdCDEkeG7kWkgc+G7kSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTkzCisjOiBidWlsdGluL3JlcGxhY2UuYzo2MDQKIG1zZ2lkICItZyBuZWVkcyBhdCBsZWFzdCBvbmUgYXJndW1lbnQiCiBtc2dzdHIgIi1xIGPhuqduIMOtdCBuaOG6pXQgbeG7mXQgdGhhbSBz4buRIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1OTkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYxMAogbXNnaWQgIi0tY29udmVydC1ncmFmdC1maWxlIHRha2VzIG5vIGFyZ3VtZW50IgogbXNnc3RyICItLWNvbnZlcnQtZ3JhZnQtZmlsZSBraMO0bmcgbmjhuq1uIMSR4buRaSBz4buRIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo2MDUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYxNgogbXNnaWQgIm9ubHkgb25lIHBhdHRlcm4gY2FuIGJlIGdpdmVuIHdpdGggLWwiCiBtc2dzdHIgImNo4buJIG3hu5l0IG3huqt1IMSRxrDhu6NjIGNo4buJIHJhIHbhu5tpIHTDuXkgY2jhu41uIC1sIgogCkBAIC0xNjQ5NCwxMjYgKzE5Mzk4LDE0MCBAQAogbXNnaWQgIidnaXQgcmVyZXJlIGZvcmdldCcgd2l0aG91dCBwYXRocyBpcyBkZXByZWNhdGVkIgogbXNnc3RyICLigJxnaXQgcmVyZXJlIGZvcmdldOKAnSBtw6Aga2jDtG5nIGPDsyBjw6FjIMSRxrDhu51uZyBk4bqrbiBsw6AgxJHDoyBs4bqhYyBo4bqtdSIKIAotIzogYnVpbHRpbi9yZXJlcmUuYzoxMTEKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6MTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBnZW5lcmF0ZSBkaWZmIGZvciAnJXMnIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8ga2jDoWMgYmnhu4d0IGNobyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMxCisjOiBidWlsdGluL3Jlc2V0LmM6MzIKIG1zZ2lkICIiCiAiZ2l0IHJlc2V0IFstLW1peGVkIHwgLS1zb2Z0IHwgLS1oYXJkIHwgLS1tZXJnZSB8IC0ta2VlcF0gWy1xXSBbPGNvbW1pdD5dIgogbXNnc3RyICIiCiAiZ2l0IHJlc2V0IFstLW1peGVkIHwgLS1zb2Z0IHwgLS1oYXJkIHwgLS1tZXJnZSB8IC0ta2VlcF0gWy1xXSBbPGNvbW1pdD5dIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzIKLW1zZ2lkICJnaXQgcmVzZXQgWy1xXSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHM+Li4uIgotbXNnc3RyICJnaXQgcmVzZXQgWy1xXSBbPHRyZWUtaXNoPl0gWy0tXSA8xJHGsOG7nW5nLWThuqtuPuKApiIKLQogIzogYnVpbHRpbi9yZXNldC5jOjMzCi1tc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIgotbXNnc3RyICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPGPDoWMtxJHGsOG7nW5nLWThuqtuPuKApl0iCisjfCBtc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzPi4uLiIKK21zZ2lkICJnaXQgcmVzZXQgWy1xXSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgorbXNnc3RyICJnaXQgcmVzZXQgWy1xXSBbPHRyZWUtaXNoPl0gWy0tXSA8xJHhurdjL3ThuqMvxJHGsOG7nW5nL2ThuqtuPi4uLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5CisjOiBidWlsdGluL3Jlc2V0LmM6MzQKK21zZ2lkICIiCisiZ2l0IHJlc2V0IFstcV0gWy0tcGF0aHNwZWMtZnJvbS1maWxlIFstLXBhdGhzcGVjLWZpbGUtbnVsXV0gWzx0cmVlLWlzaD5dIgorbXNnc3RyICIiCisiZ2l0IHJlc2V0IFstcV0gWy0tcGF0aHNwZWMtZnJvbS1maWxlIFstLXBhdGhzcGVjLWZpbGUtbnVsXV0gWzx0cmVlLWlzaD5dIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzUKKyN8IG1zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0iCittc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRoc3BlYz4uLi5dIgorbXNnc3RyICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPMSR4bq3Yy904bqjL8SRxrDhu51uZy9k4bqrbj4uLi5dIgorCisjOiBidWlsdGluL3Jlc2V0LmM6NDEKIG1zZ2lkICJtaXhlZCIKIG1zZ3N0ciAicGhhIHRy4buZbiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5CisjOiBidWlsdGluL3Jlc2V0LmM6NDEKIG1zZ2lkICJzb2Z0IgogbXNnc3RyICJt4buBbSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5CisjOiBidWlsdGluL3Jlc2V0LmM6NDEKIG1zZ2lkICJoYXJkIgogbXNnc3RyICJj4bupbmciCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOQorIzogYnVpbHRpbi9yZXNldC5jOjQxCiBtc2dpZCAibWVyZ2UiCiBtc2dzdHIgImjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgImtlZXAiCiBtc2dzdHIgImdp4buvIGzhuqFpIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6ODAKKyM6IGJ1aWx0aW4vcmVzZXQuYzo4MgogbXNnaWQgIllvdSBkbyBub3QgaGF2ZSBhIHZhbGlkIEhFQUQuIgogbXNnc3RyICJC4bqhbiBraMO0bmcgY8OzIEhFQUQgbsOgbyBo4bujcCBs4buHLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjgyCisjOiBidWlsdGluL3Jlc2V0LmM6ODQKIG1zZ2lkICJGYWlsZWQgdG8gZmluZCB0cmVlIG9mIEhFQUQuIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgdMOsbSBjw6J5IGPhu6dhIEhFQUQuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6ODgKKyM6IGJ1aWx0aW4vcmVzZXQuYzo5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gZmluZCB0cmVlIG9mICVzLiIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHTDrG0gY8OieSBj4bunYSAlcy4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoxOTIKKyM6IGJ1aWx0aW4vcmVzZXQuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSEVBRCBpcyBub3cgYXQgJXMiCittc2dzdHIgIkhFQUQgaGnhu4duIGdp4budIHThuqFpICVzIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyBhICVzIHJlc2V0IGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZS4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIG3hu5l0ICVzIHJlc2V0IOG7nyBnaeG7r2EgY+G7p2EgcXXDoSB0csOsbmggaMOyYSB0cuG7mW4uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjkyCisjOiBidWlsdGluL3Jlc2V0LmM6Mjk0IGJ1aWx0aW4vc3Rhc2guYzo1MTkgYnVpbHRpbi9zdGFzaC5jOjU5NAorIzogYnVpbHRpbi9zdGFzaC5jOjYxOAogbXNnaWQgImJlIHF1aWV0LCBvbmx5IHJlcG9ydCBlcnJvcnMiCiBtc2dzdHIgImzDoG0gdmnhu4djIOG7nyBjaOG6vyDEkeG7mSBpbSBs4bq3bmcsIGNo4buJIGhp4buDbiB0aOG7iyBraGkgY8OzIGzhu5dpIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjk0CisjOiBidWlsdGluL3Jlc2V0LmM6Mjk2CiBtc2dpZCAicmVzZXQgSEVBRCBhbmQgaW5kZXgiCiBtc2dzdHIgIsSR4bq3dCBs4bqhaSAocmVzZXQpIEhFQUQgdsOgIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5NQorIzogYnVpbHRpbi9yZXNldC5jOjI5NwogbXNnaWQgInJlc2V0IG9ubHkgSEVBRCIKIG1zZ3N0ciAiY2jhu4kgxJHhurd0IGzhuqFpIChyZXNldCkgSEVBRCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5NyBidWlsdGluL3Jlc2V0LmM6Mjk5CisjOiBidWlsdGluL3Jlc2V0LmM6Mjk5IGJ1aWx0aW4vcmVzZXQuYzozMDEKIG1zZ2lkICJyZXNldCBIRUFELCBpbmRleCBhbmQgd29ya2luZyB0cmVlIgogbXNnc3RyICLEkeG6t3QgbOG6oWkgSEVBRCwgYuG6o25nIG3hu6VjIGzhu6VjIHbDoCBjw6J5IGzDoG0gdmnhu4djIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzAxCisjOiBidWlsdGluL3Jlc2V0LmM6MzAzCiBtc2dpZCAicmVzZXQgSEVBRCBidXQga2VlcCBsb2NhbCBjaGFuZ2VzIgogbXNnc3RyICLEkeG6t3QgbOG6oWkgSEVBRCBuaMawbmcgZ2nhu68gbOG6oWkgY8OhYyB0aGF5IMSR4buVaSBu4buZaSBi4buZIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzA3CisjOiBidWlsdGluL3Jlc2V0LmM6MzA5CiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCByZW1vdmVkIHBhdGhzIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCiBtc2dzdHIgImNo4buJIGdoaSBs4bqhaSBuaOG7r25nIMSRxrDhu51uZyBk4bqrbiB0aOG7sWMgc+G7sSBz4bq9IMSRxrDhu6NjIHRow6ptIHbDoG8gc2F1IG7DoHkiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMjUKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJldmlzaW9uLiIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIHBow6JuIGdp4bqjaSDigJwlc+KAnSBuaMawIGzDoCDEkWnhu4NtIHjDqXQgZHV54buHdCBo4bujcCBs4buHLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMzMworIzogYnVpbHRpbi9yZXNldC5jOjM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgdHJlZS4iCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBwaMOibiBnaeG6o2kg4oCcJXPigJ0gbmjGsCBsw6AgbeG7mXQgY8OieSAodHJlZSkgaOG7o3AgbOG7hy4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNDIKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNjAKIG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIC0te2hhcmQsbWl4ZWQsc29mdH0iCiBtc2dzdHIgIi0tcGF0Y2ggeHVuZyBraOG6r2MgduG7m2kgLS17aGFyZCxtaXhlZCxzb2Z0fSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM1MQorIzogYnVpbHRpbi9yZXNldC5jOjM3MAogbXNnaWQgIi0tbWl4ZWQgd2l0aCBwYXRocyBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCByZXNldCAtLSA8cGF0aHM+JyBpbnN0ZWFkLiIKIG1zZ3N0ciAiIgogIi0tbWl4ZWQgduG7m2kgY8OhYyDEkcaw4budbmcgZOG6q24ga2jDtG5nIGPDsm4gZMO5bmcgbuG7r2E7IGjDo3kgdGhheSB0aOG6vyBi4bqxbmcgbOG7h25oIOKAnGdpdCAiCi0icmVzZXQgLS0gPMSRxrDhu51uZ19k4bqrbj7igJ0uIgorInJlc2V0IC0tIDwvY8OhYy/Ekcaw4budbmcvZOG6q24+4oCdLiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM1MworIzogYnVpbHRpbi9yZXNldC5jOjM3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZG8gJXMgcmVzZXQgd2l0aCBwYXRocy4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIGzhu4duaCAlcyByZXNldCB24bubaSBjw6FjIMSRxrDhu51uZyBk4bqrbi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNjMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcmVzZXQgaXMgbm90IGFsbG93ZWQgaW4gYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiVzIHJlc2V0IGtow7RuZyDEkcaw4bujYyBwaMOpcCB0csOqbiBraG8gdGh14bqnbiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM2NworIzogYnVpbHRpbi9yZXNldC5jOjM5MQogbXNnaWQgIi1OIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCAtLW1peGVkIgogbXNnc3RyICItTiBjaOG7iSDEkcaw4bujYyBkw7luZyBraGkgY8OzIC0tbWl4ZWQiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozODcKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MTIKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKIG1zZ3N0ciAiTmjhu69uZyB0aGF5IMSR4buVaSDEkcaw4bujYyDEkcawYSByYSBraOG7j2kgYuG7hyBwaMOzbmcgc2F1IGtoaSByZXNldDoiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOTAKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTY2MjcsNTMgKzE5NTQ1LDQ4IEBACiAiQuG6oW4gY8OzIHRo4buDIHPhu60gZOG7pW5nIMSR4buDIHRyw6FuaCB2aeG7h2MgbsOgeS4gxJDhurd0IHJlc2V0LnF1aWV0IHRow6BuaCB0cnVlIHRyb25nXG4iCiAiY8OgaSDEkeG6t3QgY29uZmlnIG7hur91IGLhuqFuIG114buRbiB0aOG7sWMgaGnhu4duIG7DsyBuaMawIGzDoCBt4bq3YyDEkeG7i25oLlxuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NDAwCisjOiBidWlsdGluL3Jlc2V0LmM6NDI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhurd0IGzhuqFpIChyZXNldCkgYuG6o25nIG3hu6VjIGzhu6VjIHRow6BuaCDEkWnhu4NtIHjDqXQgZHV54buHdCDigJwlc+KAnS4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo0MDQKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MjkKIG1zZ2lkICJDb3VsZCBub3Qgd3JpdGUgbmV3IGluZGV4IGZpbGUuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIHThuq1wIHRpbiBsxrB1IGLhuqNuZyBt4bulYyBs4bulYyBt4bubaS4iCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0MDMKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo0MTEKIG1zZ2lkICJjYW5ub3QgY29tYmluZSAtLWV4Y2x1ZGUtcHJvbWlzb3Itb2JqZWN0cyBhbmQgLS1taXNzaW5nIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG7lSBo4bujcCAtLWV4Y2x1ZGUtcHJvbWlzb3Itb2JqZWN0cyB2w6AgLS1taXNzaW5nIgogCi0jOiBidWlsdGluL3Jldi1saXN0LmM6NDYxCisjOiBidWlsdGluL3Jldi1saXN0LmM6NDcyCiBtc2dpZCAib2JqZWN0IGZpbHRlcmluZyByZXF1aXJlcyAtLW9iamVjdHMiCiBtc2dzdHIgImzhu41jIMSR4buRaSB0xrDhu6NuZyB5w6p1IGPhuqd1IC0tb2JqZWN0cyIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjQ2NAotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIHNwYXJzZSB2YWx1ZSAnJXMnIgotbXNnc3RyICJnacOhIHRy4buLIHNwYXJzZSBraMO0bmcgaOG7o3AgbOG7hyDigJwlc+KAnSIKLQotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUwNQorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUyMgogbXNnaWQgInJldi1saXN0IGRvZXMgbm90IHN1cHBvcnQgZGlzcGxheSBvZiBub3RlcyIKIG1zZ3N0ciAicmV2LWxpc3Qga2jDtG5nIGjhu5cgdHLhu6MgaGnhu4NuIHRo4buLIGPDoWMgZ2hpIGNow7oiCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo1MDgKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo1MjUKIG1zZ2lkICJjYW5ub3QgY29tYmluZSAtLXVzZS1iaXRtYXAtaW5kZXggd2l0aCBvYmplY3QgZmlsdGVyaW5nIgogbXNnc3RyICJraMO0bmcgdGjhu4MgdOG7lSBo4bujcCAtLXVzZS1iaXRtYXAtaW5kZXggduG7m2kgbOG7jWMgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQwNworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDgKIG1zZ2lkICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzxvcHRpb25zPl0gLS0gWzxhcmdzPi4uLl0iCi1tc2dzdHIgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPGPDoWMtdMO5eS1jaOG7jW4+XSAtLSBbPGPDoWMgdGhhbSBz4buRPuKApl0iCittc2dzdHIgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPGPDoWMgdMO5eSBjaOG7jW4+XSAtLSBbPGPDoWMgdGhhbSBz4buRPuKApl0iCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDEyCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxMwogbXNnaWQgImtlZXAgdGhlIGAtLWAgcGFzc2VkIGFzIGFuIGFyZyIKIG1zZ3N0ciAiZ2nhu68gbOG6oWkg4oCcLS3igJ0gY2h1eeG7g24gc2FuZyBsw6BtIHRoYW0gc+G7kSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTQKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDE1CiBtc2dpZCAic3RvcCBwYXJzaW5nIGFmdGVyIHRoZSBmaXJzdCBub24tb3B0aW9uIGFyZ3VtZW50IgogbXNnc3RyICJk4burbmcgcGjDom4gdMOtY2ggc2F1IMSR4buRaSBz4buRIMSR4bqndSB0acOqbiBraMO0bmcgY8OzIHTDuXkgY2jhu41uIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxNworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTgKIG1zZ2lkICJvdXRwdXQgaW4gc3R1Y2sgbG9uZyBmb3JtIgogbXNnc3RyICJr4bq/dCB4deG6pXQgdHJvbmcgxJHhu4tuaCBk4bqhbmcgZ+G6rXkgZMOgaSIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1NTAKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTUxCiBtc2dpZCAiIgogImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXVxuIgogIiAgIG9yOiBnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgWzxhcmc+Li4uXVxuIgpAQCAtMTY2ODEsMTUgKzE5NTk0LDE1IEBACiAiXG4iCiAiUnVuIFwiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IC1oXCIgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIGZpcnN0IHVzYWdlLiIKIG1zZ3N0ciAiIgotImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPGPDoWMtdMO5eS1jaOG7jW4+XSAtLSBbPGPDoWMgxJHhu5FpIHPhu5E+4oCmXVxuIgorImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPGPDoWMgdMO5eSBjaOG7jW4+XSAtLSBbPGPDoWMgxJHhu5FpIHPhu5E+4oCmXVxuIgogIiAgIGhv4bq3YzogZ2l0IHJldi1wYXJzZSAtLXNxLXF1b3RlIFs8xJEuc+G7kT7igKZdXG4iCi0iICAgaG/hurdjOiBnaXQgcmV2LXBhcnNlIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8xJEuc+G7kT7igKZdXG4iCisiICAgaG/hurdjOiBnaXQgcmV2LXBhcnNlIFs8Y8OhYyB0w7l5IGNo4buNbj5dIFs8xJEuc+G7kT7igKZdXG4iCiAiXG4iCiAiQ2jhuqF5IGzhu4duaCBcImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCAtaFwiIMSR4buDIGPDsyB0aMOqbSB0aMO0bmcgdGluIHbhu4EgY8OhY2ggZMO5bmcuIgogCiAjOiBidWlsdGluL3JldmVydC5jOjI0CiBtc2dpZCAiZ2l0IHJldmVydCBbPG9wdGlvbnM+XSA8Y29tbWl0LWlzaD4uLi4iCi1tc2dzdHIgImdpdCByZXZlcnQgWzxjw6FjLXTDuXktY2jhu41uPl0gPGNvbW1pdC1pc2g+4oCmIgorbXNnc3RyICJnaXQgcmV2ZXJ0IFs8Y8OhYyB0w7l5IGNo4buNbj5dIDxjb21taXQtaXNoPuKApiIKIAogIzogYnVpbHRpbi9yZXZlcnQuYzoyNQogbXNnaWQgImdpdCByZXZlcnQgPHN1YmNvbW1hbmQ+IgpAQCAtMTY2OTcsNzggKzE5NjEwLDg3IEBACiAKICM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MzAKIG1zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgWzxvcHRpb25zPl0gPGNvbW1pdC1pc2g+Li4uIgotbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgWzxjw6FjLXTDuXktY2jhu41uPl0gPGNvbW1pdC1pc2g+4oCmIgorbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgWzxjw6FjIHTDuXkgY2jhu41uPl0gPGNvbW1pdC1pc2g+4oCmIgogCiAjOiBidWlsdGluL3JldmVydC5jOjMxCiBtc2dpZCAiZ2l0IGNoZXJyeS1waWNrIDxzdWJjb21tYW5kPiIKIG1zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIDxs4buHbmgtY29uPiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzo5MQorIzogYnVpbHRpbi9yZXZlcnQuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBleHBlY3RzIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiB6ZXJvIgorbXNnc3RyICJ0w7l5IGNo4buNbiDigJwlc+KAnSBj4bqnbiBt4buZdCBnacOhIHRy4buLIGLhurFuZyBz4buRIGzhu5tuIGjGoW4ga2jDtG5nIgorCisjOiBidWlsdGluL3JldmVydC5jOjkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgogbXNnc3RyICIlczogJXMga2jDtG5nIHRo4buDIMSRxrDhu6NjIHPhu60gZOG7pW5nIHbhu5tpICVzIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKIG1zZ2lkICJlbmQgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJr4bq/dCB0aMO6YyBjaGVycnktcGljayBoYXkgaG/DoG4gbmd1ecOqbiBsacOqbiB0aeG6v3AgbmhhdSIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCiBtc2dpZCAicmVzdW1lIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAicGjhu6VjIGjhu5NpIGzhuqFpIGNoZXJyeS1waWNrIGhheSBob8OgbiBuZ3V5w6puIGxpw6puIHRp4bq/cCBuaGF1IgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDQKIG1zZ2lkICJjYW5jZWwgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICJraMO0bmcgY2hlcnJ5LXBpY2sgaGF5IGhvw6BuIG5ndXnDqm4gbGnDqm4gdGnhur9wIG5oYXUiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCi1tc2dpZCAiZG9uJ3QgYXV0b21hdGljYWxseSBjb21taXQiCi1tc2dzdHIgImtow7RuZyBjaHV54buDbiBnaWFvIG3hu5l0IGPDoWNoIHThu7EgxJHhu5luZy4iCisjOiBidWlsdGluL3JldmVydC5jOjEwNQorbXNnaWQgInNraXAgY3VycmVudCBjb21taXQgYW5kIGNvbnRpbnVlIgorbXNnc3RyICJi4buPIHF1YSBs4bqnbiBjaHV54buDbiBnaWFvIGhp4buHbiB04bqhaSB2w6AgdGnhur9wIHThu6VjIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwNAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDcKK21zZ2lkICJkb24ndCBhdXRvbWF0aWNhbGx5IGNvbW1pdCIKK21zZ3N0ciAixJHhu6tuZyBjaHV54buDbiBnaWFvIG3hu5l0IGPDoWNoIHThu7EgxJHhu5luZyIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKIG1zZ2lkICJlZGl0IHRoZSBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAic+G7rWEgbOG6oWkgY2jDuiB0aMOtY2ggY2hvIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3CisjOiBidWlsdGluL3JldmVydC5jOjExMQogbXNnaWQgInBhcmVudC1udW1iZXIiCiBtc2dzdHIgInPhu5EtY2hhLW3hurkiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA4CisjOiBidWlsdGluL3JldmVydC5jOjExMgogbXNnaWQgInNlbGVjdCBtYWlubGluZSBwYXJlbnQiCiBtc2dzdHIgImNo4buNbiBjaGEgbeG6uSBsdeG7k25nIGNow61uaCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTAKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE0CiBtc2dpZCAibWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgImNoaeG6v24gbMaw4bujYyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMTIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE2CiBtc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gY2hvIGNoaeG6v24gbMaw4bujYyBow7JhIHRy4buZbiIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjEKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI1CiBtc2dpZCAiYXBwZW5kIGNvbW1pdCBuYW1lIgogbXNnc3RyICJu4buRaSB0aMOqbSB0w6puIGzhuqduIGNodXnhu4NuIGdpYW8iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIzCisjOiBidWlsdGluL3JldmVydC5jOjEyNwogbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgogbXNnc3RyICJj4bqlbSBraOG7n2kgdOG6oW8gbOG6p24gY2h1eeG7g24gZ2lhbyB0cuG7kW5nIHLhu5duZyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMjUKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI5CiBtc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCiBtc2dzdHIgImdp4buvIGzhuqFpIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBkxrAgdGjhu6thLCBy4buXbmciCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjE5CisjOiBidWlsdGluL3JldmVydC5jOjIzMgogbXNnaWQgInJldmVydCBmYWlsZWQiCiBtc2dzdHIgImhvw6BuIG5ndXnDqm4gZ+G6t3AgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMyCisjOiBidWlsdGluL3JldmVydC5jOjI0NQogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAiY2hlcnJ5LXBpY2sgZ+G6t3AgbOG7l2kiCiAKLSM6IGJ1aWx0aW4vcm0uYzoxOAorIzogYnVpbHRpbi9ybS5jOjE5CiBtc2dpZCAiZ2l0IHJtIFs8b3B0aW9ucz5dIFstLV0gPGZpbGU+Li4uIgotbXNnc3RyICJnaXQgcm0gWzxjw6FjLXTDuXktY2jhu41uPl0gWy0tXSA8dOG6rXAtdGluPuKApiIKK21zZ3N0ciAiZ2l0IHJtIFs8Y8OhYyB0w7l5IGNo4buNbj5dIFstLV0gPHThuq1wLXRpbj7igKYiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMDYKKyM6IGJ1aWx0aW4vcm0uYzoyMDcKIG1zZ2lkICIiCiAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBzdGFnZWQgY29udGVudCBkaWZmZXJlbnQgZnJvbSBib3RoIHRoZVxuIgogImZpbGUgYW5kIHRoZSBIRUFEOiIKQEAgLTE2Nzc5LDcgKzE5NzAxLDcgQEAKICJjw6FjIHThuq1wIHRpbiBzYXUgxJHDonkgY8OzIGtow6FjIGJp4buHdCBu4buZaSBkdW5nIMSRw6MgxJHGsGEgbMOqbiBi4buHIHBow7NuZ1xuIgogInThu6sgY+G6oyB04bqtcCB0aW4gdsOgIGPhuqMgSEVBRDoiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMTEKKyM6IGJ1aWx0aW4vcm0uYzoyMTIKIG1zZ2lkICIiCiAiXG4iCiAiKHVzZSAtZiB0byBmb3JjZSByZW1vdmFsKSIKQEAgLTE2Nzg3LDEyICsxOTcwOSwxMiBAQAogIlxuIgogIihkw7luZyAtZiDEkeG7gyBideG7mWMgZ+G7oSBi4buPKSIKIAotIzogYnVpbHRpbi9ybS5jOjIxNQorIzogYnVpbHRpbi9ybS5jOjIxNgogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dzdHJbMF0gImPDoWMgdOG6rXAgdGluIHNhdSDEkcOieSBjw7MgdGhheSDEkeG7lWkgdHLhuqFuZyB0aMOhaSB0cm9uZyBi4bqjbmcgbeG7pWMgbOG7pWM6IgogCi0jOiBidWlsdGluL3JtLmM6MjE5IGJ1aWx0aW4vcm0uYzoyMjgKKyM6IGJ1aWx0aW4vcm0uYzoyMjAgYnVpbHRpbi9ybS5jOjIyOQogbXNnaWQgIiIKICJcbiIKICIodXNlIC0tY2FjaGVkIHRvIGtlZXAgdGhlIGZpbGUsIG9yIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtMTY4MDAsNDIgKzE5NzIyLDQyIEBACiAiXG4iCiAiKGTDuW5nIHTDuXkgY2jhu41uIC0tY2FjaGVkIMSR4buDIGdp4buvIHThuq1wIHRpbiwgaG/hurdjIC1mIMSR4buDIMOpcCBideG7mWMgZ+G7oSBi4buPKSIKIAotIzogYnVpbHRpbi9ybS5jOjIyNQorIzogYnVpbHRpbi9ybS5jOjIyNgogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dpZF9wbHVyYWwgInRoZSBmb2xsb3dpbmcgZmlsZXMgaGF2ZSBsb2NhbCBtb2RpZmljYXRpb25zOiIKIG1zZ3N0clswXSAibmjhu69uZyB04bqtcCB0aW4gc2F1IMSRw6J5IGPDsyBuaOG7r25nIHRoYXkgxJHhu5VpIG7hu5lpIGLhu5k6IgogCi0jOiBidWlsdGluL3JtLmM6MjQxCisjOiBidWlsdGluL3JtLmM6MjQyCiBtc2dpZCAiZG8gbm90IGxpc3QgcmVtb3ZlZCBmaWxlcyIKIG1zZ3N0ciAia2jDtG5nIGxp4buHdCBrw6ogY8OhYyB04bqtcCB0aW4gxJHDoyBn4buhIGLhu48iCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDIKKyM6IGJ1aWx0aW4vcm0uYzoyNDMKIG1zZ2lkICJvbmx5IHJlbW92ZSBmcm9tIHRoZSBpbmRleCIKIG1zZ3N0ciAiY2jhu4kgZ+G7oSBi4buPIHThu6sgbeG7pWMgbOG7pWMiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDMKKyM6IGJ1aWx0aW4vcm0uYzoyNDQKIG1zZ2lkICJvdmVycmlkZSB0aGUgdXAtdG8tZGF0ZSBjaGVjayIKIG1zZ3N0ciAiZ2hpIMSRw6ggbMOqbiBraeG7g20gdHJhIGPhuq1wIG5o4bqtdCIKIAotIzogYnVpbHRpbi9ybS5jOjI0NAorIzogYnVpbHRpbi9ybS5jOjI0NQogbXNnaWQgImFsbG93IHJlY3Vyc2l2ZSByZW1vdmFsIgogbXNnc3RyICJjaG8gcGjDqXAgZ+G7oSBi4buPIMSR4buHIHF1aSIKIAotIzogYnVpbHRpbi9ybS5jOjI0NgorIzogYnVpbHRpbi9ybS5jOjI0NwogbXNnaWQgImV4aXQgd2l0aCBhIHplcm8gc3RhdHVzIGV2ZW4gaWYgbm90aGluZyBtYXRjaGVkIgogbXNnc3RyICJ0aG/DoXQgcmEgduG7m2kgdHLhuqFuZyB0aMOhaSBraMOhYyBraMO0bmcgdGjhuq1tIGNow60gbuG6v3Uga2jDtG5nIGPDsyBnw6wga2jhu5twIgogCi0jOiBidWlsdGluL3JtLmM6Mjg4CisjOiBidWlsdGluL3JtLmM6Mjg5CiBtc2dpZCAicGxlYXNlIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCiBtc2dzdHIgIiIKICJow6N5IMSRxrBhIGPDoWMgdGhheSDEkeG7lWkgY+G7p2EgYuG6oW4gdsOgbyAuZ2l0bW9kdWxlcyBoYXkgdOG6oW0gY+G6pXQgY2jDum5nIMSRaSDEkeG7gyB44butIGzDvSIKIAotIzogYnVpbHRpbi9ybS5jOjMwNgorIzogYnVpbHRpbi9ybS5jOjMwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgcmVtb3ZpbmcgJyVzJyByZWN1cnNpdmVseSB3aXRob3V0IC1yIgogbXNnc3RyICJraMO0bmcgdGjhu4MgZ+G7oSBi4buPIOKAnCVz4oCdIG3hu5l0IGPDoWNoIMSR4buHIHF1aSBtw6Aga2jDtG5nIGPDsyB0w7l5IGNo4buNbiAtciIKIAotIzogYnVpbHRpbi9ybS5jOjM0NQorIzogYnVpbHRpbi9ybS5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgcm06IHVuYWJsZSB0byByZW1vdmUgJXMiCiBtc2dzdHIgImdpdCBybToga2jDtG5nIHRo4buDIGfhu6EgYuG7jyAlcyIKQEAgLTE2ODY4LDI1ICsxOTc5MCwxMyBAQAogbXNnaWQgInByaW50IHN0YXR1cyBmcm9tIHJlbW90ZSBoZWxwZXIiCiBtc2dzdHIgImluIGPDoWMgdHLhuqFuZyB0aMOhaSB04burIHBo4bqnbiBoxrDhu5tuZyBk4bqrbiB0csOqbiBtw6F5IGThu4tjaCB24bulIgogCi0jOiBidWlsdGluL3NlcnZlLmM6NwotbXNnaWQgImdpdCBzZXJ2ZSBbPG9wdGlvbnM+XSIKLW1zZ3N0ciAiZ2l0IHNlcnZlIFs8Y8OhYy10w7l5LWNo4buNbj5dIgotCi0jOiBidWlsdGluL3NlcnZlLmM6MTcgYnVpbHRpbi91cGxvYWQtcGFjay5jOjIzCi1tc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgotbXNnc3RyICJ0aG/DoXQgc2F1IGtoaSBt4buZdCB0cmFvIMSR4buVaSB5w6p1IGPhuqd1IGhheSB0cuG6oyBs4budaSDEkcahbiIKLQotIzogYnVpbHRpbi9zZXJ2ZS5jOjE5Ci1tc2dpZCAiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBhZHZlcnRpc2luZyBjYXBhYmlsaXRpZXMiCi1tc2dzdHIgInRob8OhdCBuZ2F5IHNhdSBraGkga2jhu59pIHThuqFvIHF14bqjbmcgY8OhbyBjYXBhYmlsaXRpZXMiCi0KICM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxNAogbXNnaWQgImdpdCBzaG9ydGxvZyBbPG9wdGlvbnM+XSBbPHJldmlzaW9uLXJhbmdlPl0gW1stLV0gPHBhdGg+Li4uXSIKLW1zZ3N0ciAiZ2l0IHNob3J0bG9nIFs8Y8OhYy10w7l5LWNo4buNbj5dIFs8dsO5bmcteMOpdC1kdXnhu4d0Pl0gW1stLV0gWzzEkcaw4budbmcvZOG6q24+4oCmXV0iCittc2dzdHIgImdpdCBzaG9ydGxvZyBbPGPDoWMgdMO5eSBjaOG7jW4+XSBbPHbDuW5nLXjDqXQtZHV54buHdD5dIFtbLS1dIFs8xJHGsOG7nW5nL2ThuqtuPuKApl1dIgogCiAjOiBidWlsdGluL3Nob3J0bG9nLmM6MTUKIG1zZ2lkICJnaXQgbG9nIC0tcHJldHR5PXNob3J0IHwgZ2l0IHNob3J0bG9nIFs8b3B0aW9ucz5dIgotbXNnc3RyICJnaXQgbG9nIC0tcHJldHR5PXNob3J0IHwgZ2l0IHNob3J0bG9nIFs8Y8OhYy10w7l5LWNo4buNbj5dIgorbXNnc3RyICJnaXQgbG9nIC0tcHJldHR5PXNob3J0IHwgZ2l0IHNob3J0bG9nIFs8Y8OhYyB0w7l5IGNo4buNbj5dIgogCiAjOiBidWlsdGluL3Nob3J0bG9nLmM6MjY0CiBtc2dpZCAiR3JvdXAgYnkgY29tbWl0dGVyIHJhdGhlciB0aGFuIGF1dGhvciIKQEAgLTE2OTEyLDcgKzE5ODIyLDcgQEAKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgIk5n4bqvdCBkw7JuZyBraGkgcXXDoSBkw6BpIgogCi0jOiBidWlsdGluL3Nob3J0bG9nLmM6Mjk5CisjOiBidWlsdGluL3Nob3J0bG9nLmM6MzAxCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIGdpdmVuIG91dHNpZGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAicXXDoSBuaGnhu4F1IHRoYW0gc+G7kSDEkcawYSByYSBuZ2/DoGkga2hvIGNo4bupYSIKIApAQCAtMTY5MzgsMTY1ICsxOTg0OCw0NDUgQEAKIG1zZ2lkX3BsdXJhbCAiaWdub3JpbmcgJXM7IGNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJlZnMiCiBtc2dzdHJbMF0gIsSRYW5nIGLhu48gcXVhICVzOyBraMO0bmcgdGjhu4MgeOG7rSBsw70gbmhp4buBdSBoxqFuICVkIHRoYW0gY2hp4bq/dSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjU0OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaGluZyByZWZzIHdpdGggJXMiCiBtc2dzdHIgImtow7RuZyB0aGFtIGNoaeG6v3UgbsOgbyBraOG7m3AgduG7m2kgJXMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIG5ow6FuaCByZW1vdGUtdHJhY2tpbmcgdsOgIG7hu5lpIGLhu5kiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDgKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDcKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgbmjDoW5oIHJlbW90ZS10cmFja2luZyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OQogbXNnaWQgImNvbG9yICcqISstJyBjb3JyZXNwb25kaW5nIHRvIHRoZSBicmFuY2giCiBtc2dzdHIgIm3DoHUg4oCcKiErLeKAnSB0xrDGoW5nIOG7qW5nIHbhu5tpIG5ow6FuaCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MQogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICJoaeG7g24gdGjhu4sgdGjDqm0gPG4+IGzhuqduIGNodXnhu4NuIGdpYW8gc2F1IGNoYSBt4bq5IGNodW5nIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjUzCiBtc2dpZCAic3lub255bSB0byBtb3JlPS0xIgogbXNnc3RyICLEkeG7k25nIG5naMSpYSB24bubaSBtb3JlPS0xIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0CiBtc2dpZCAic3VwcHJlc3MgbmFtaW5nIHN0cmluZ3MiCiBtc2dzdHIgImNo4bq3biBjw6FjIGNodeG7l2kgxJHhurd0IHTDqm4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTYKIG1zZ2lkICJpbmNsdWRlIHRoZSBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAiYmFvIGfhu5NtIG5ow6FuaCBoaeG7h24gaMOgbmgiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKIG1zZ2lkICJuYW1lIGNvbW1pdHMgd2l0aCB0aGVpciBvYmplY3QgbmFtZXMiCiBtc2dzdHIgIsSR4bq3dCB0w6puIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBi4bqxbmcgY8OhYyB0w6puIGPhu6dhIMSR4buRaSB0xrDhu6NuZyBj4bunYSBjaMO6bmciCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjAKIG1zZ2lkICJzaG93IHBvc3NpYmxlIG1lcmdlIGJhc2VzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgbeG7jWkgY8ahIHPhu58gY8OzIHRo4buDIGTDuW5nIMSR4buDIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYzCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjYyCiBtc2dpZCAic2hvdyByZWZzIHVucmVhY2hhYmxlIGZyb20gYW55IG90aGVyIHJlZiIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdGhhbSBjaGnhur91IGtow7RuZyB0aOG7gyDEkcaw4bujYyDEkeG7jWMgYuG7n2kgYuG6pXQga+G7syB0aGFtIGNoaeG6v3Uga2jDoWMiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NjQKIG1zZ2lkICJzaG93IGNvbW1pdHMgaW4gdG9wb2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgImhp4buDbiB0aOG7iyBjw6FjIGzhuqduIGNodXnhu4NuIGdpYW8gdGhlbyB0aOG7qSB04buxIHTDtHDDtCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NwogbXNnaWQgInNob3cgb25seSBjb21taXRzIG5vdCBvbiB0aGUgZmlyc3QgYnJhbmNoIgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGtow7RuZyBu4bqxbSB0csOqbiBuaMOhbmggxJHhuqd1IHRpw6puIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjcwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY5CiBtc2dpZCAic2hvdyBtZXJnZXMgcmVhY2hhYmxlIGZyb20gb25seSBvbmUgdGlwIgogbXNnc3RyICJoaeG7g24gdGjhu4sgY8OhYyBs4bqnbiBow7JhIHRy4buZbiBjw7MgdGjhu4MgxJHhu41jIMSRxrDhu6NjIGNo4buJIHThu6sgbeG7mXQgxJHhuqd1IG3DunQiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzEKIG1zZ2lkICJ0b3BvbG9naWNhbGx5IHNvcnQsIG1haW50YWluaW5nIGRhdGUgb3JkZXIgd2hlcmUgcG9zc2libGUiCiBtc2dzdHIgInPhuq9wIHjhur9wIGjDrG5oIHRow6FpIGjhu41jLCBi4bqjbyB0csOsIHRo4bupIHThu7EgbmfDoHkgbuG6v3UgY8OzIHRo4buDIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc0CiBtc2dpZCAiPG4+Wyw8YmFzZT5dIgogbXNnc3RyICI8bj5bLDxjxqFfc+G7nz5dIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc2CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6Njc1CiBtc2dpZCAic2hvdyA8bj4gbW9zdCByZWNlbnQgcmVmLWxvZyBlbnRyaWVzIHN0YXJ0aW5nIGF0IGJhc2UiCiBtc2dzdHIgImhp4buDbiB0aOG7iyA8bj4gY8OhYyBt4bulYyDigJxyZWYtbG9n4oCdIGfhuqduIG5o4bqldCBr4buDIHThu6sgbuG7gW4gKGJhc2UpIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzEyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzExCiBtc2dpZCAiIgogIi0tcmVmbG9nIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYWxsLCAtLXJlbW90ZXMsIC0taW5kZXBlbmRlbnQgb3IgLS1tZXJnZS1iYXNlIgogbXNnc3RyICIiCiAiLS1yZWZsb2cgbMOgIGtow7RuZyB0xrDGoW5nIHRow61jaCB24bubaSBjw6FjIHTDuXkgY2jhu41uIC0tYWxsLCAtLXJlbW90ZXMsIC0tIgogImluZGVwZW5kZW50IGhheSAtLW1lcmdlLWJhc2UiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3MzUKIG1zZ2lkICJubyBicmFuY2hlcyBnaXZlbiwgYW5kIEhFQUQgaXMgbm90IHZhbGlkIgogbXNnc3RyICJjaMawYSDEkcawYSByYSBuaMOhbmgsIHbDoCBIRUFEIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM5CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NzM4CiBtc2dpZCAiLS1yZWZsb2cgb3B0aW9uIG5lZWRzIG9uZSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiLS1yZWZsb2cgY+G6p24gdMOqbiBt4buZdCBuaMOhbmgiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3NDIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSAlZCBlbnRyeSBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgogbXNnaWRfcGx1cmFsICJvbmx5ICVkIGVudHJpZXMgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKIG1zZ3N0clswXSAiY2jhu4kgY8OzIHRo4buDIGhp4buDbiB0aOG7iyBjw7luZyBsw7pjICVkIGjhuqFuZyBt4bulYy4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3NDYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCByZWYgJXMiCiBtc2dzdHIgImtow7RuZyBjw7MgdGhhbSBjaGnhur91IG7DoG8gbmjGsCB0aOG6vyAlcyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzMAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXYuIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCByZXZzLiIKIG1zZ3N0clswXSAia2jDtG5nIHRo4buDIHjhu60gbMO9IG5oaeG7gXUgaMahbiAlZCDEkWnhu4NtIHjDqXQgZHV54buHdC4iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzQKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZWYuIgogbXNnc3RyICLigJwlc+KAnSBraMO0bmcgcGjhuqNpIHRoYW0gY2hp4bq/dSBo4bujcCBs4buHLiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzNworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjgzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmluZCBjb21taXQgJXMgKCVzKSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHTDrG0gdGjhuqV5IGzhuqduIGNodXnhu4NuIGdpYW8gJXMgKCVzKSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjExCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTIKIG1zZ2lkICIiCiAiZ2l0IHNob3ctcmVmIFstcSB8IC0tcXVpZXRdIFstLXZlcmlmeV0gWy0taGVhZF0gWy1kIHwgLS1kZXJlZmVyZW5jZV0gWy1zIHwgLS0iCiAiaGFzaFs9PG4+XV0gWy0tYWJicmV2Wz08bj5dXSBbLS10YWdzXSBbLS1oZWFkc10gWy0tXSBbPHBhdHRlcm4+Li4uXSIKIG1zZ3N0ciAiIgotImdpdCBzaG93LXJlZiBbLXEgfCAtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZHwtLWRlcmVmZXJlbmNlXSBbLXN8LS0iCi0iaGFzaFs9PG4+XV0gWy0tYWJicmV2Wz08bj5dXSBbLS10YWdzXSBbLS1oZWFkc10gWy0tXSBbPG3huqt1PuKApl0gIgorImdpdCBzaG93LXJlZiBbLXEgfCAtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZCB8IC0tZGVyZWZlcmVuY2VdIFstcyB8IC0tIgorImhhc2hbPTxuPl1dIFstLWFiYnJldls9PG4+XV0gWy0tdGFnc10gWy0taGVhZHNdIFstLV0gWzxt4bqrdT7igKZdIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTIKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMwogbXNnaWQgImdpdCBzaG93LXJlZiAtLWV4Y2x1ZGUtZXhpc3RpbmdbPTxwYXR0ZXJuPl0iCiBtc2dzdHIgImdpdCBzaG93LXJlZiAtLWV4Y2x1ZGUtZXhpc3RpbmdbPTxt4bqrdT5dIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTYxCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTYyCiBtc2dpZCAib25seSBzaG93IHRhZ3MgKGNhbiBiZSBjb21iaW5lZCB3aXRoIGhlYWRzKSIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIHRo4bq7IChjw7MgdGjhu4MgdOG7lSBo4bujcCBjw7luZyB24bubaSDEkeG6p3UpIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTYyCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTYzCiBtc2dpZCAib25seSBzaG93IGhlYWRzIChjYW4gYmUgY29tYmluZWQgd2l0aCB0YWdzKSIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIMSR4bqndSAoY8OzIHRo4buDIHThu5UgaOG7o3AgY8O5bmcgduG7m2kgdGjhurspIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTYzCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTY0CiBtc2dpZCAic3RyaWN0ZXIgcmVmZXJlbmNlIGNoZWNraW5nLCByZXF1aXJlcyBleGFjdCByZWYgcGF0aCIKIG1zZ3N0ciAiIgogInZp4buHYyBraeG7g20gdHJhIHRoYW0gY2hp4bq/dSBjaMOtbmggeMOhYywgxJHDsmkgaOG7j2kgY2jDrW5oIHjDoWMgxJHGsOG7nW5nIGThuqtuIHRoYW0gY2hp4bq/dSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2NiBidWlsdGluL3Nob3ctcmVmLmM6MTY4CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTY3IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjkKIG1zZ2lkICJzaG93IHRoZSBIRUFEIHJlZmVyZW5jZSwgZXZlbiBpZiBpdCB3b3VsZCBiZSBmaWx0ZXJlZCBvdXQiCiBtc2dzdHIgImhp4buDbiB0aOG7iyB0aGFtIGNoaeG6v3UgSEVBRCwgbmdheSBj4bqjIGtoaSBuw7MgxJHDoyDEkcaw4bujYyBs4buNYyByYSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MQogbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW50byBvYmplY3QgSURzIgogbXNnc3RyICJiw6NpIGLhu48gdGhhbSBjaGnhur91IGPDoWMgdGjhursgdGjDoG5oIHJhIGPDoWMgSUQgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTcyCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTczCiBtc2dpZCAib25seSBzaG93IFNIQTEgaGFzaCB1c2luZyA8bj4gZGlnaXRzIgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgbcOjIGLEg20gU0hBMSBz4butIGThu6VuZyA8bj4gY2jhu68gc+G7kSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NwogbXNnaWQgImRvIG5vdCBwcmludCByZXN1bHRzIHRvIHN0ZG91dCAodXNlZnVsIHdpdGggLS12ZXJpZnkpIgogbXNnc3RyICIiCiAia2jDtG5nIGhp4buDbiB0aOG7iyBr4bq/dCBxdeG6oyByYSDEkeG6p3UgcmEgY2h14bqpbiAoc3Rkb3V0KSAoY2jhu4kgaOG7r3UgZOG7pW5nIHbhu5tpIC0tdmVyaWZ5KSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OQogbXNnaWQgInNob3cgcmVmcyBmcm9tIHN0ZGluIHRoYXQgYXJlbid0IGluIGxvY2FsIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiIKICJoaeG7g24gdGjhu4sgY8OhYyB0aGFtIGNoaeG6v3UgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIChzdGRpbikgY8OhaSBtw6Aga2jDtG5nIOG7nyBraG8gbuG7mWkgIgogImLhu5kiCiAKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MjAKK21zZ2lkICJnaXQgc3BhcnNlLWNoZWNrb3V0IChpbml0fGxpc3R8c2V0fGRpc2FibGUpIDxvcHRpb25zPiIKK21zZ3N0ciAiZ2l0IHNwYXJzZS1jaGVja291dCAoaW5pdHxsaXN0fHNldHxkaXNhYmxlKSA8Y8OhYy10w7l5LWNo4buNbj4iCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6NjEKK21zZ2lkICJ0aGlzIHdvcmt0cmVlIGlzIG5vdCBzcGFyc2UgKHNwYXJzZS1jaGVja291dCBmaWxlIG1heSBub3QgZXhpc3QpIgorbXNnc3RyICIiCisia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGPDuiBwaMOhcCBjw6J5IGzDoG0gdmnhu4djIG7DoHkgKHThuq1wIHRpbiBzcGFyc2UtY2hlY2tvdXQgY8OzIGzhur0gIgorImtow7RuZyB04buTbiB04bqhaSkiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MjIwCittc2dpZCAiZmFpbGVkIHRvIHNldCBleHRlbnNpb25zLndvcmt0cmVlQ29uZmlnIHNldHRpbmciCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6t3QgY8OgaSDEkeG6t3QgZXh0ZW5zaW9ucy53b3JrdHJlZUNvbmZpZyIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzoyMzcKK21zZ2lkICJnaXQgc3BhcnNlLWNoZWNrb3V0IGluaXQgWy0tY29uZV0iCittc2dzdHIgImdpdCBzcGFyc2UtY2hlY2tvdXQgaW5pdCBbLS1jb25lXSIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzoyNTYKK21zZ2lkICJpbml0aWFsaXplIHRoZSBzcGFyc2UtY2hlY2tvdXQgaW4gY29uZSBtb2RlIgorbXNnc3RyICJraOG7n2kgdOG6oW8gc3BhcnNlLWNoZWNrb3V0IHRyb25nIGNo4bq/IMSR4buZIG7Ds24iCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MjYyCisjfCBtc2dpZCAic2tpcCBhcHBseWluZyBzcGFyc2UgY2hlY2tvdXQgZmlsdGVyIgorbXNnaWQgImluaXRpYWxpemUgc3BhcnNlLWNoZWNrb3V0IgorbXNnc3RyICJraOG7n2kgdOG6oW8gc3BhcnNlLWNoZWNrb3V0IgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbeG7nyDigJwlc+KAnSIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzozNjEKKyN8IG1zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCittc2dpZCAiZ2l0IHNwYXJzZS1jaGVja291dCBzZXQgKC0tc3RkaW4gfCA8cGF0dGVybnM+KSIKK21zZ3N0ciAiZ2l0IHNwYXJzZS1jaGVja291dCBzZXQgKC0tc3RkaW4gfCA8Y8OhYyBt4bqrdT4pIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjM3OAorbXNnaWQgInJlYWQgcGF0dGVybnMgZnJvbSBzdGFuZGFyZCBpbiIKK21zZ3N0ciAixJHhu41jIGPDoWMgbeG6q3UgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjM4NAorbXNnaWQgInNldCBzcGFyc2UtY2hlY2tvdXQgcGF0dGVybnMiCittc2dzdHIgIsSR4bq3dCBjw6FjIG3huqt1IHNwYXJzZS1jaGVja291dCIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo0NDcKK21zZ2lkICJkaXNhYmxlIHNwYXJzZS1jaGVja291dCIKK21zZ3N0ciAidOG6r3Qgc3BhcnNlLWNoZWNrb3V0IgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjQ1OQorbXNnaWQgImVycm9yIHdoaWxlIHJlZnJlc2hpbmcgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7jWMgbOG6oWkgdGjGsCBt4bulYyBsw6BtIHZp4buHYyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjIyIGJ1aWx0aW4vc3Rhc2guYzozNworbXNnaWQgImdpdCBzdGFzaCBsaXN0IFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgc3Rhc2ggbGlzdCBbPGPDoWMgdMO5eSBjaOG7jW4+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjIzIGJ1aWx0aW4vc3Rhc2guYzo0MgorbXNnaWQgImdpdCBzdGFzaCBzaG93IFs8b3B0aW9ucz5dIFs8c3Rhc2g+XSIKK21zZ3N0ciAiZ2l0IHN0YXNoIHNob3cgWzxjw6FjIHTDuXkgY2jhu41uPl0gPHN0YXNoPiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjI0IGJ1aWx0aW4vc3Rhc2guYzo0NworbXNnaWQgImdpdCBzdGFzaCBkcm9wIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCBkcm9wIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNQorbXNnaWQgImdpdCBzdGFzaCAoIHBvcCB8IGFwcGx5ICkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCAoIHBvcCB8IGFwcGx5ICkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNiBidWlsdGluL3N0YXNoLmM6NjIKK21zZ2lkICJnaXQgc3Rhc2ggYnJhbmNoIDxicmFuY2huYW1lPiBbPHN0YXNoPl0iCittc2dzdHIgImdpdCBzdGFzaCBicmFuY2ggPHTDqm4tbmjDoW5oPiBbPHN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNyBidWlsdGluL3N0YXNoLmM6NjcKK21zZ2lkICJnaXQgc3Rhc2ggY2xlYXIiCittc2dzdHIgImdpdCBzdGFzaCBjbGVhciIKKworIzogYnVpbHRpbi9zdGFzaC5jOjI4IGJ1aWx0aW4vc3Rhc2guYzo3NworbXNnaWQgIiIKKyJnaXQgc3Rhc2ggW3B1c2ggWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisiICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFstbXwtLW1lc3NhZ2UgPG1lc3NhZ2U+XVxuIgorIiAgICAgICAgICBbLS1dIFs8cGF0aHNwZWM+Li4uXV0iCittc2dzdHIgIiIKKyJnaXQgc3Rhc2ggW3B1c2ggWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisiICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFstbXwtLW1lc3NhZ2UgPGzhu51pIG5o4bqvbj5dXG4iCisiICAgICAgICAgIFstLV0gWzzEkeG6t2MvdOG6oy/Ekcaw4budbmcvZOG6q24+4oCmXV0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzozMSBidWlsdGluL3N0YXNoLmM6ODQKK21zZ2lkICIiCisiZ2l0IHN0YXNoIHNhdmUgWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisiICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFs8bWVzc2FnZT5dIgorbXNnc3RyICIiCisiZ2l0IHN0YXNoIHNhdmUgWy1wfC0tcGF0Y2hdIFsta3wtLVtuby1da2VlcC1pbmRleF0gWy1xfC0tcXVpZXRdXG4iCisiICAgICAgICAgIFstdXwtLWluY2x1ZGUtdW50cmFja2VkXSBbLWF8LS1hbGxdIFs8Z2hpIGNow7o+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjUyCittc2dpZCAiZ2l0IHN0YXNoIHBvcCBbLS1pbmRleF0gWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIKK21zZ3N0ciAiZ2l0IHN0YXNoIHBvcCBbLS1pbmRleF0gWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU3Cittc2dpZCAiZ2l0IHN0YXNoIGFwcGx5IFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggYXBwbHkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo3MgorbXNnaWQgImdpdCBzdGFzaCBzdG9yZSBbLW18LS1tZXNzYWdlIDxtZXNzYWdlPl0gWy1xfC0tcXVpZXRdIDxjb21taXQ+IgorbXNnc3RyICJnaXQgc3Rhc2ggc3RvcmUgWy1tfC0tbWVzc2FnZSA8Z2hpIGNow7o+XSBbLXF8LS1xdWlldF0gPGNvbW1pdD4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSBzdGFzaC1saWtlIGNvbW1pdCIKK21zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSBsw6AgbOG6p24gY2h1eeG7g24gZ2lhbyBraeG7g3Utc3Rhc2ggKGPhuqV0IMSRaSkiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG9vIG1hbnkgcmV2aXNpb25zIHNwZWNpZmllZDolcyIKK21zZ3N0ciAiQ2jhu4kgcmEgcXXDoSBuaGnhu4F1IMSRaeG7g20geMOpdCBkdXnhu4d0OiAlcyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE2MSBnaXQtbGVnYWN5LXN0YXNoLnNoOjU0OQorbXNnaWQgIk5vIHN0YXNoIGVudHJpZXMgZm91bmQuIgorbXNnc3RyICJLaMO0bmcgdMOsbSB0aOG6pXkgY8OhYyBt4bulYyB04bqhbSBj4bqldCAoc3Rhc2gpIG7DoG8uIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIHJlZmVyZW5jZSIKK21zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSBt4buZdCB0aGFtIGNoaeG6v3UgaOG7o3AgbOG7hyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjIyNCBnaXQtbGVnYWN5LXN0YXNoLnNoOjc1Cittc2dpZCAiZ2l0IHN0YXNoIGNsZWFyIHdpdGggcGFyYW1ldGVycyBpcyB1bmltcGxlbWVudGVkIgorbXNnc3RyICIiCisiZ2l0IHN0YXNoIGNsZWFyIHbhu5tpIGPDoWMgdGhhbSBz4buRIGzDoCBjaMawYSDEkcaw4bujYyB0aOG7sWMgaGnhu4duIChraMO0bmcgbmjhuq1uIMSR4buRaSBz4buRKSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQwMworbXNnaWQgImNhbm5vdCBhcHBseSBhIHN0YXNoIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMOhcCBk4bulbmcgbeG7mXQgc3Rhc2gg4bufIGdp4buvYSBj4bunYSBxdcOhIHRyw6xuaCBow7JhIHRy4buZbiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZ2VuZXJhdGUgZGlmZiAlc14hLiIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIGRpZmYgJXNeIS4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MjEKK21zZ2lkICJjb25mbGljdHMgaW4gaW5kZXguVHJ5IHdpdGhvdXQgLS1pbmRleC4iCittc2dzdHIgInh1bmcgxJHhu5l0IHRyb25nIGLhuqNuZyBt4bulYyBs4bulYy4gSMOjeSB0aOG7rSBtw6Aga2jDtG5nIGTDuW5nIHTDuXkgY2jhu41uIC0taW5kZXguIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDI3Cittc2dpZCAiY291bGQgbm90IHNhdmUgaW5kZXggdHJlZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSBs4bqhaSBjw6J5IGNo4buJIG3hu6VjIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDM2Cittc2dpZCAiY291bGQgbm90IHJlc3RvcmUgdW50cmFja2VkIGZpbGVzIGZyb20gc3Rhc2giCittc2dzdHIgImtow7RuZyB0aOG7gyBwaOG7pWMgaOG7k2kgY8OhYyB04bqtcCB0aW4gY2jGsGEgdGhlbyBkw7VpIHThu6sgbeG7pWMgY+G6pXQgxJFpIChzdGFzaCkiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVyZ2luZyAlcyB3aXRoICVzIgorbXNnc3RyICLEkGFuZyBow7JhIHRy4buZbiAlcyB24bubaSAlcyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQ2MCBnaXQtbGVnYWN5LXN0YXNoLnNoOjY4MQorbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKK21zZ3N0ciAiQuG6o25nIG3hu6VjIGzhu6VjIMSRw6Mga2jDtG5nIMSRxrDhu6NjIGLhu48gc3Rhc2guIgorCisjOiBidWlsdGluL3N0YXNoLmM6NTIxIGJ1aWx0aW4vc3Rhc2guYzo2MjAKK21zZ2lkICJhdHRlbXB0IHRvIHJlY3JlYXRlIHRoZSBpbmRleCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kgxJHhu41jIGLhuqNuZyBt4bulYyBs4bulYyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICJEcm9wcGVkICVzICglcykiCittc2dzdHIgIsSQw6MgeMOzYSAlcyAoJXMpIgorCisjOiBidWlsdGluL3N0YXNoLmM6NTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKK21zZ3N0ciAiJXM6IEtow7RuZyB0aOG7gyB4w7NhIGLhu48gbeG7pWMgc3Rhc2giCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCittc2dzdHIgIuKAnSVz4oCdIGtow7RuZyBwaOG6o2kgdGhhbSBjaGnhur91IMSR4bq/biBzdGFzaCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjYzMiBnaXQtbGVnYWN5LXN0YXNoLnNoOjY5NQorbXNnaWQgIlRoZSBzdGFzaCBlbnRyeSBpcyBrZXB0IGluIGNhc2UgeW91IG5lZWQgaXQgYWdhaW4uIgorbXNnc3RyICJDw6FjIG3hu6VjIHThuqFtIGPhuqV0IChzdGFzaCkgxJHGsOG7o2MgZ2nhu68gdHJvbmcgdHLGsOG7nW5nIGjhu6NwIGLhuqFuIGzhuqFpIGPhuqduIG7Dsy4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo2NTUgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo3MTMKK21zZ2lkICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIkNoxrBhIGNo4buJIHJhIHTDqm4gY+G7p2EgbmjDoW5oIgorCisjOiBidWlsdGluL3N0YXNoLmM6Nzk1IGJ1aWx0aW4vc3Rhc2guYzo4MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHVwZGF0ZSAlcyB3aXRoICVzIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10ICVzIHbhu5tpICVzIgorCisjOiBidWlsdGluL3N0YXNoLmM6ODEzIGJ1aWx0aW4vc3Rhc2guYzoxNDcwIGJ1aWx0aW4vc3Rhc2guYzoxNTA2Cittc2dpZCAic3Rhc2ggbWVzc2FnZSIKK21zZ3N0ciAicGjhuqduIGNow7ogdGjDrWNoIGNobyBzdGFzaCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjgyMworbXNnaWQgIlwiZ2l0IHN0YXNoIHN0b3JlXCIgcmVxdWlyZXMgb25lIDxjb21taXQ+IGFyZ3VtZW50IgorbXNnc3RyICJcImdpdCBzdGFzaCBzdG9yZVwiIGPhuqduIG3hu5l0IMSR4buRaSBz4buRIDxs4bqnbiBjaHV54buDbiBnaWFvPiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEwNDUgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMTgKK21zZ2lkICJObyBjaGFuZ2VzIHNlbGVjdGVkIgorbXNnc3RyICJDaMawYSBjw7MgdGhheSDEkeG7lWkgbsOgbyDEkcaw4bujYyBjaOG7jW4iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTQ1IGdpdC1sZWdhY3ktc3Rhc2guc2g6MTUwCittc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCittc2dzdHIgIkLhuqFuIGNoxrBhIGPDsm4gY8OzIGzhuqduIGNodXnhu4NuIGdpYW8ga2jhu59pIHThuqFvIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTE3MiBnaXQtbGVnYWN5LXN0YXNoLnNoOjE2NQorbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IGluZGV4IHN0YXRlIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGzhuqFpIHRy4bqhbmcgdGjDoWkgYuG6o25nIG3hu6VjIGzhu6VjIGhp4buHbiBow6BuaCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExODEgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoxODAKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgdW50cmFja2VkIGZpbGVzIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGzhuqFpIGPDoWMgdOG6rXAgdGluIGNoxrBhIHRoZW8gZMO1aSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExOTIgYnVpbHRpbi9zdGFzaC5jOjEyMDEgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMDEKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjE0Cittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCittc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgbOG6oWkgdHLhuqFuZyB0aMOhaSBjw6J5LWzDoG0tdmnhu4djIGhp4buHbiBow6BuaCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyMjkgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMzQKK21zZ2lkICJDYW5ub3QgcmVjb3JkIHdvcmtpbmcgdHJlZSBzdGF0ZSIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSBs4bqhaSB0cuG6oW5nIHRow6FpIGPDonkgbMOgbSB2aeG7h2MgaGnhu4duIGjDoG5oIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTI3OCBnaXQtbGVnYWN5LXN0YXNoLnNoOjMzOAorbXNnaWQgIkNhbid0IHVzZSAtLXBhdGNoIGFuZCAtLWluY2x1ZGUtdW50cmFja2VkIG9yIC0tYWxsIGF0IHRoZSBzYW1lIHRpbWUiCittc2dzdHIgIktow7RuZyB0aOG7gyBkw7luZyAtLXBhdGNoIHbDoCAtLWluY2x1ZGUtdW50cmFja2VkIGhheSAtLWFsbCBjw7luZyBt4buZdCBsw7pjIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTI5NAorbXNnaWQgIkRpZCB5b3UgZm9yZ2V0IHRvICdnaXQgYWRkJz8iCittc2dzdHIgIkPDsyBs4bq9IGLhuqFuIMSRw6MgcXXDqm4g4oCcZ2l0IGFkZCDigJ0gcGjhuqNpIGtow7RuZz8iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzA5IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzQ2Cittc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgorbXNnc3RyICJLaMO0bmcgY8OzIHRoYXkgxJHhu5VpIG7hu5lpIGLhu5kgbsOgbyDEkcaw4bujYyBnaGkgbOG6oWkiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzE2IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzUxCittc2dpZCAiQ2Fubm90IGluaXRpYWxpemUgc3Rhc2giCittc2dzdHIgIktow7RuZyB0aOG7gyBraOG7n2kgdOG6oW8gc3Rhc2giCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzMxIGdpdC1sZWdhY3ktc3Rhc2guc2g6MzU1Cittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGzhuqFpIHRy4bqhbmcgdGjDoWkgaGnhu4duIGjDoG5oIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJTYXZlZCB3b3JraW5nIGRpcmVjdG9yeSBhbmQgaW5kZXggc3RhdGUgJXMiCittc2dzdHIgIsSQw6MgZ2hpIGzhuqFpIHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgdsOgIHRy4bqhbmcgdGjDoWkgbeG7pWMgbOG7pWMgJXMiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDI2IGdpdC1sZWdhY3ktc3Rhc2guc2g6Mzg1Cittc2dpZCAiQ2Fubm90IHJlbW92ZSB3b3JrdHJlZSBjaGFuZ2VzIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgZ+G7oSBi4buPIGPDoWMgdGhheSDEkeG7lWkgY8OieS1sw6BtLXZp4buHYyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjEgYnVpbHRpbi9zdGFzaC5jOjE0OTcKK21zZ2lkICJrZWVwIGluZGV4IgorbXNnc3RyICJnaeG7ryBuZ3V5w6puIGLhuqNuZyBt4bulYyBs4bulYyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjMgYnVpbHRpbi9zdGFzaC5jOjE0OTkKK21zZ2lkICJzdGFzaCBpbiBwYXRjaCBtb2RlIgorbXNnc3RyICJj4bqldCDEkWkg4bufIGNo4bq/IMSR4buZIG1p4bq/bmcgdsOhIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ2NCBidWlsdGluL3N0YXNoLmM6MTUwMAorbXNnaWQgInF1aWV0IG1vZGUiCittc2dzdHIgImNo4bq/IMSR4buZIGltIGzhurduZyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjYgYnVpbHRpbi9zdGFzaC5jOjE1MDIKK21zZ2lkICJpbmNsdWRlIHVudHJhY2tlZCBmaWxlcyBpbiBzdGFzaCIKK21zZ3N0ciAiYmFvIGfhu5NtIGPDoWMgdOG6rXAgdGluIGtow7RuZyDEkcaw4bujYyB0aGVvIGTDtWkgdHJvbmcgc3Rhc2giCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDY4IGJ1aWx0aW4vc3Rhc2guYzoxNTA0Cittc2dpZCAiaW5jbHVkZSBpZ25vcmUgZmlsZXMiCittc2dzdHIgImJhbyBn4buTbSBjw6FjIHThuq1wIHRpbiBi4buLIGLhu48gcXVhIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTU2NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZXhlYyAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHRo4buxYyB0aGkgJXMiCisKICM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE4CiBtc2dpZCAiZ2l0IHN0cmlwc3BhY2UgWy1zIHwgLS1zdHJpcC1jb21tZW50c10iCiBtc2dzdHIgImdpdCBzdHJpcHNwYWNlIFstcyB8IC0tc3RyaXAtY29tbWVudHNdIgpAQCAtMTcxMDUsNDggKzIwMjk1LDQ4IEBACiBtc2dpZCAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKIG1zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzYKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM3CiBtc2dpZCAic2tpcCBhbmQgcmVtb3ZlIGFsbCBsaW5lcyBzdGFydGluZyB3aXRoIGNvbW1lbnQgY2hhcmFjdGVyIgogbXNnc3RyICJnaeG7ryB2w6AgeMOzYSBi4buPIG3hu41pIGTDsm5nIGLhuq90IMSR4bqndSBi4bqxbmcga8O9IHThu7EgZ2hpIGNow7oiCiAKLSM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjM5CisjOiBidWlsdGluL3N0cmlwc3BhY2UuYzo0MAogbXNnaWQgInByZXBlbmQgY29tbWVudCBjaGFyYWN0ZXIgYW5kIHNwYWNlIHRvIGVhY2ggbGluZSIKIG1zZ3N0ciAidHJlbyB0csaw4bubYyBrw70gdOG7sSBnaGkgY2jDuiB2w6Aga8O9IHThu7Ega2hv4bqjbmcgdHLhuq9uZyBjaG8gdOG7q25nIGTDsm5nIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MzkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RpbmcgYSBmdWxsIHJlZiBuYW1lLCBnb3QgJXMiCiBtc2dzdHIgIkPhuqduIHTDqm4gdGhhbSBjaGnhur91IGThuqFuZyDEkeG6p3kgxJHhu6csIG5oxrBuZyBs4bqhaSBuaOG6rW4gxJHGsOG7o2MgJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0CiBtc2dpZCAic3VibW9kdWxlLS1oZWxwZXIgcHJpbnQtZGVmYXVsdC1yZW1vdGUgdGFrZXMgbm8gYXJndW1lbnRzIgogbXNnc3RyICJzdWJtb2R1bGUtLWhlbHBlciBwcmludC1kZWZhdWx0LXJlbW90ZSB0YWtlcyBraMO0bmcgbmjhuq1uIHRoYW0gc+G7kSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdHJpcCBvbmUgY29tcG9uZW50IG9mZiB1cmwgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGPhuq90IGLhu48gbeG7mXQgdGjDoG5oIHBo4bqnbiByYSBraOG7j2kg4oCcJXPigJ0gdXJsIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzYzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDEwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzgwCiBtc2dpZCAiYWx0ZXJuYXRpdmUgYW5jaG9yIGZvciByZWxhdGl2ZSBwYXRocyIKIG1zZ3N0ciAixJFp4buDbSBuZW8gdGhheSB0aOG6vyBjaG8gY8OhYyDEkcaw4budbmcgZOG6q24gdMawxqFuZyDEkeG7kWkiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTUKIG1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTwvxJHGsOG7nW5nL2ThuqtuPl0gWzwvxJHGsOG7nW5nL2ThuqtuPuKApl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NjkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjYyNgotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY0OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ3MiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjMwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHVybCBmb3VuZCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyBpbiAuZ2l0bW9kdWxlcyIKIG1zZ3N0ciAiS2jDtG5nIHTDrG0gdGjhuqV5IHVybCBjaG8gxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwlc+KAnSB0cm9uZyAuZ2l0bW9kdWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJFbnRlcmluZyAnJXMnXG4iCiBtc2dzdHIgIsSQYW5nIHbDoG8g4oCcJXPigJ1cbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicnVuX2NvbW1hbmQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIGZvciAlc1xuIgpAQCAtMTcxNTUsNyArMjAzNDUsNyBAQAogInJ1bl9jb21tYW5kIHRy4bqjIHbhu4EgdHLhuqFuZyB0aMOhaSBraMOhYyBraMO0bmcgY2hvICVzXG4iCiAiLiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU0NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU0OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicnVuX2NvbW1hbmQgcmV0dXJuZWQgbm9uLXplcm8gc3RhdHVzIHdoaWxlIHJlY3Vyc2luZyBpbiB0aGUgbmVzdGVkICIKQEAgLTE3MTY2LDE5ICsyMDM1NiwxOSBAQAogImNvbiBs4buTbmcgbmhhdSBj4bunYSAlc1xuIgogIi4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjUKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgb2YgZW50ZXJpbmcgZWFjaCBzdWJtb2R1bGUgY29tbWFuZCIKIG1zZ3N0ciAiQ2jhurduIGvhur90IHh14bqldCBj4bunYSB04burbmcgbOG7h25oIG3DtC3EkXVuLWNvbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA0OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1MwogbXNnaWQgIlJlY3Vyc2UgaW50byBuZXN0ZWQgc3VibW9kdWxlcyIKIG1zZ3N0ciAixJDhu4cgcXV5IHbDoG8gdHJvbmcgY8OhYyBtw7QtxJF1bi1jb24gbOG7k25nIG5oYXUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjgKLW1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZm9yZWFjaCBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSA8Y29tbWFuZD4iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBmb3JlYWNoIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIDxs4buHbmg+IgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU3MgorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBmb3JlYWNoIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIFstLV0gPGNvbW1hbmQ+IgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgZm9yZWFjaCBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSBbLS1dICA8bOG7h25oPiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU5OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IGxvb2sgdXAgY29uZmlndXJhdGlvbiAnJXMnLiBBc3N1bWluZyB0aGlzIHJlcG9zaXRvcnkgaXMgaXRzIG93biAiCkBAIC0xNzE4Nyw1NiArMjAzNzcsNTYgQEAKICJraMO0bmcgdGjhu4MgdMOsbSB0aOG6pXkgY+G6pXUgaMOsbmgg4oCcJXPigJ0uIENvaSBy4bqxbmcgxJHDonkgbMOgIGtobyB0aMaw4bujbmcgbmd14buTbiBjw7MgcXV54buBbiAiCiAic+G7nyBo4buvdSBjaMOtbmggbsOzLiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgxJHEg25nIGvDvSB1cmwgY2hvIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NjcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgKCVzKSByZWdpc3RlcmVkIGZvciBwYXRoICclcydcbiIKIG1zZ3N0ciAiTcO0LcSRdW4tY29uIOKAnCVz4oCdICglcykgxJHGsOG7o2MgxJHEg25nIGvDvSBjaG8gxJHGsOG7nW5nIGThuqtuIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NzcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogY29tbWFuZCB1cGRhdGUgbW9kZSBzdWdnZXN0ZWQgZm9yIHN1Ym1vZHVsZSAnJXMnXG4iCiBtc2dzdHIgImPhuqNuaCBiw6FvOiBjaOG6vyDEkeG7mSBs4buHbmggY+G6rXAgbmjhuq10IMSRxrDhu6NjIGfhu6NpIMO9IGNobyBtw7QtxJF1bi1jb24g4oCcJXPigJ1cbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXBkYXRlIG1vZGUgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSDEkcSDbmcga8O9IGNo4bq/IMSR4buZIGPhuq1wIG5o4bqtdCBjaG8gxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcwNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcxMAogbXNnaWQgIlN1cHByZXNzIG91dHB1dCBmb3IgaW5pdGlhbGl6aW5nIGEgc3VibW9kdWxlIgogbXNnc3RyICJDaOG6t24ga+G6v3QgeHXhuqV0IGNobyBraOG7n2kgdOG6oW8gbeG7mXQgbcO0LcSRdW4tY29uIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzExCi1tc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzxwYXRoPl0iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8L8SRxrDhu51uZy9k4bqrbj5dIgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcxNQorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs8b3B0aW9ucz5dIFs8cGF0aD5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPGPDoWMgdMO5eSBjaOG7jW4+XSBbPC/Ekcaw4budbmcvZOG6q24+XSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc4MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Nzg3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VibW9kdWxlIG1hcHBpbmcgZm91bmQgaW4gLmdpdG1vZHVsZXMgZm9yIHBhdGggJyVzJyIKIG1zZ3N0ciAiIgotIktow7RuZyB0w6xtIHRo4bqleSDDoW5oIHjhuqEgKG1hcHBpbmcpIG3DtC3EkXVuLWNvbiB0cm9uZyAuZ2l0bW9kdWxlcyBjaG8gxJHGsOG7nW5nIGThuqtuICIKKyJraMO0bmcgdMOsbSB0aOG6pXkgw6FuaCB44bqhIChtYXBwaW5nKSBtw7QtxJF1bi1jb24gdHJvbmcgLmdpdG1vZHVsZXMgY2hvIMSRxrDhu51uZyBk4bqrbiAiCiAi4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4MjIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCByZWYgaW5zaWRlIHRoZSBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIGdp4bqjaSB0aGFtIGNoaeG6v3UgSEVBRCBiw6puIHRyb25nIG3DtC3EkXVuLWNvbiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg0OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAxOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg1NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu4cgcXV5IHbDoG8gdHJvbmcgbcO0LcSRdW4tY29uIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODczIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTgyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTg5CiBtc2dpZCAiU3VwcHJlc3Mgc3VibW9kdWxlIHN0YXR1cyBvdXRwdXQiCiBtc2dzdHIgIkNo4bq3biBrw6l0IHh14bqldCB0w6xuaCB0cuG6oW5nIG3DtC3EkXVuLWNvbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3OQogbXNnaWQgIiIKICJVc2UgY29tbWl0IHN0b3JlZCBpbiB0aGUgaW5kZXggaW5zdGVhZCBvZiB0aGUgb25lIHN0b3JlZCBpbiB0aGUgc3VibW9kdWxlICIKICJIRUFEIgpAQCAtMTcyNDQsNDggKzIwNDM0LDQ4IEBACiAiRMO5bmcgbOG6p24gY2h1eeG7g24gZ2lhbyBsxrB1IHRyb25nIG3hu6VjIGzhu6VjIHRoYXkgY2hvIGPDoWkgxJHGsOG7o2MgbMawdSB0cm9uZyBIRUFEIG3DtC0iCiAixJF1bi1jb24iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NzUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4ODAKIG1zZ2lkICJyZWN1cnNlIGludG8gbmVzdGVkIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIsSR4buHIHF1eSB2w6BvIHRyb25nIG3DtC3EkXVuLWNvbiBs4buTbmcgbmhhdSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg4MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg4NQogbXNnaWQgImdpdCBzdWJtb2R1bGUgc3RhdHVzIFstLXF1aWV0XSBbLS1jYWNoZWRdIFstLXJlY3Vyc2l2ZV0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgIiIKICJnaXQgc3VibW9kdWxlIHN0YXR1cyBbLS1xdWlldF0gWy0tY2FjaGVkXSBbLS1yZWN1cnNpdmVdIFs8L8SRxrDhu51uZy9k4bqrbj7igKZdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA5CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPHBhdGg+IgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8L8SRxrDhu51uZy9k4bqrbj4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIGZvciAnJXMnXG4iCi1tc2dzdHIgInVybCBtw7QtxJF1bi1jb24gxJHhu5NuZyBi4buZIGjDs2EgY2hvIOKAnCVz4oCdXG4iCittc2dzdHIgIlVybCBtw7QtxJF1bi1jb24gxJHhu5NuZyBi4buZIGjDs2EgY2hvIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSRxINuZyBrw70gdXJsIGNobyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTg4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlIGRlZmF1bHQgcmVtb3RlIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGzhuqV5IG3DoXkgY2jhu6cgbeG6t2MgxJHhu4tuaCBjaG8gbcO0LcSRdW4tY29uIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTk5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gdXBkYXRlIHJlbW90ZSBmb3Igc3VibW9kdWxlICclcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBj4bqtcCBuaOG6rXQgY2hvIG3DtC3EkXVuLWNvbiDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNDYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDUxCiBtc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IG9mIHN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCIKIG1zZ3N0ciAiQ2jhurduIGvhur90IHh14bqldCBjaG8gxJHhu5NuZyBi4buZIHVybCBtw7QtxJF1bi1jb24iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDUzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1OAogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBzeW5jIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIFs8cGF0aD5dIgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgc3luYyBbLS1xdWlldF0gWy0tcmVjdXJzaXZlXSBbPC/Ekcaw4budbmcvZOG6q24+XSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMDcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgd29yayB0cmVlICclcycgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeSAodXNlICdybSAtcmYnIGlmIHlvdSAiCkBAIC0xNzI5NCw3ICsyMDQ4NCw3IEBACiAiQ8OieSBsw6BtIHZp4buHYyBtw7QtxJF1bi1jb24g4oCcJXPigJ0gY8OzIGNo4bupYSB0aMawIG3hu6VjIC5naXQgKGTDuW5nIOKAnHJtIC1yZuKAnSBu4bq/dSBi4bqhbiAiCiAidGjhu7FjIHPhu7EgbXXhu5FuIGfhu6EgYuG7jyBuw7MgY8O5bmcgduG7m2kgdG/DoG4gYuG7mSBs4buLY2ggc+G7rSBj4bunYSBjaMO6bmcpIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTExOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyVzJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byBkaXNjYXJkICIKQEAgLTE3MzAzLDgwICsyMDQ5Myw5OSBAQAogIkPDonkgbMOgbSB2aeG7h2MgbcO0LcSRdW4tY29uIOKAnCVz4oCdIGNo4bupYSBjw6FjIHRoYXkgxJHhu5VpIG7hu5lpIGLhu5k7IGjDo3kgZMO5bmcg4oCcLWbigJ0gxJHhu4MgbG/huqFpICIKICJi4buPIGNow7puZyDEkWkiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTI3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDbGVhcmVkIGRpcmVjdG9yeSAnJXMnXG4iCiBtc2dzdHIgIsSQw6MgeMOzYSB0aMawIG3hu6VjIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTI5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIHN1Ym1vZHVsZSB3b3JrIHRyZWUgJyVzJ1xuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZ+G7oSBi4buPIGPDonkgbMOgbSB2aeG7h2MgbcO0LcSRdW4tY29uIOKAnCVz4oCdXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTM4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGVtcHR5IHN1Ym1vZHVsZSBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyB0aMawIG3hu6VjIG3DtC3EkXVuLWNvbiBy4buXbmcg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTU0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyVzJyAoJXMpIHVucmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCiBtc2dzdHIgIk3DtC3EkXVuLWNvbiDigJwlc+KAnSAoJXMpIMSRxrDhu6NjIMSRxINuZyBrw70gY2hvIMSRxrDhu51uZyBk4bqrbiDigJwlc+KAnVxuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE4MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExOTAKIG1zZ2lkICJSZW1vdmUgc3VibW9kdWxlIHdvcmtpbmcgdHJlZXMgZXZlbiBpZiB0aGV5IGNvbnRhaW4gbG9jYWwgY2hhbmdlcyIKIG1zZ3N0ciAiR+G7oSBi4buPIGPDonkgbMOgbSB2aeG7h2MgY+G7p2EgbcO0LcSRdW4tY29uIG5nYXkgY+G6oyBraGkgbsOzIGPDsyB0aGF5IMSR4buVaSBu4buZaSBi4buZIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE4NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExOTEKIG1zZ2lkICJVbnJlZ2lzdGVyIGFsbCBzdWJtb2R1bGVzIgogbXNnc3RyICJC4buPIMSRxINuZyBrw70gdOG6pXQgY+G6oyBjw6FjIHRyb25nIG3DtC3EkXVuLWNvbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTk2CiBtc2dpZCAiIgogImdpdCBzdWJtb2R1bGUgZGVpbml0IFstLXF1aWV0XSBbLWYgfCAtLWZvcmNlXSBbLS1hbGwgfCBbLS1dIFs8cGF0aD4uLi5dXSIKIG1zZ3N0ciAiIgogImdpdCBzdWJtb2R1bGUgZGVpbml0IFstLXF1aWV0XSBbLWYgfCAtLWZvcmNlXSBbLS1hbGwgfCBbLS1dICBbPC/Ekcaw4budbmcvZOG6q24+4oCmXV0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjAzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTIxMAogbXNnaWQgIlVzZSAnLS1hbGwnIGlmIHlvdSByZWFsbHkgd2FudCB0byBkZWluaXRpYWxpemUgYWxsIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIkTDuW5nIOKAnC0tYWxs4oCdIG7hur91IGLhuqFuIHRo4buxYyBz4buxIG114buRbiBo4buneSBraOG7n2kgdOG6oW8gbeG7jWkgbcO0LcSRdW4tY29uIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTI5NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTMwMAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyNzUKK21zZ2lkICIiCisiQW4gYWx0ZXJuYXRlIGNvbXB1dGVkIGZyb20gYSBzdXBlcnByb2plY3QncyBhbHRlcm5hdGUgaXMgaW52YWxpZC5cbiIKKyJUbyBhbGxvdyBHaXQgdG8gY2xvbmUgd2l0aG91dCBhbiBhbHRlcm5hdGUgaW4gc3VjaCBhIGNhc2UsIHNldFxuIgorInN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IHRvICdpbmZvJyBvciwgZXF1aXZhbGVudGx5LCBjbG9uZSB3aXRoXG4iCisiJy0tcmVmZXJlbmNlLWlmLWFibGUnIGluc3RlYWQgb2YgJy0tcmVmZXJlbmNlJy4iCittc2dzdHIgIiIKKyJN4buZdCBjw6FpIHRoYXkgdGjhur8gxJHGsOG7o2MgdMOtbmggdG/DoW4gdOG7qyBt4buZdCB0aGF5IHRo4bq/IGPhu6dhIHNpw6p1IGThu7Egw6FuIGzDoCBraMO0bmcgaOG7o3AgIgorImzhu4cuXG4iCisixJDhu4MgY2hvIEdpdCB0aOG7sWMgaGnhu4duIG5ow6JuIGLhuqNuIG3DoCBraMO0bmcgY8OzIGPDoWkgdGhheSB0aOG6vyBuaMawIHRyb25nIHRyxrDhu51uZyBo4bujcCAiCisibsOgeSwgxJHhurd0XG4iCisic3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgdGjDoG5oICdpbmZvJyBob+G6t2MsIHTGsMahbmcgxJHGsMahbmcsIG5ow6JuIGLhuqNuICIKKyJi4bqxbmdcbiIKKyInLS1yZWZlcmVuY2UtaWYtYWJsZScgdGhheSB2w6wgZMO5bmcgJy0tcmVmZXJlbmNlJy4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzE0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGNhbm5vdCBhZGQgYWx0ZXJuYXRlOiAlcyIKIG1zZ3N0ciAibcO0LcSRdW4tY29uIOKAnCVz4oCdIGtow7RuZyB0aOG7gyB0aMOqbSB0aGF5IHRo4bq/OiAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzMzYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IGlzIG5vdCByZWNvZ25pemVkIgogbXNnc3RyICJHacOhIHRy4buLIOKAnCVz4oCdIGNobyBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSBraMO0bmcgxJHGsOG7o2MgdGjhu6thIG5o4bqtbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNDMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbiBpcyBub3QgcmVjb2duaXplZCIKIG1zZ3N0ciAiR2nDoSB0cuG7iyDigJwlc+KAnSBjaG8gc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIGtow7RuZyDEkcaw4bujYyB0aOG7q2Egbmjhuq1uIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODMKIG1zZ2lkICJ3aGVyZSB0aGUgbmV3IHN1Ym1vZHVsZSB3aWxsIGJlIGNsb25lZCB0byIKIG1zZ3N0ciAibmjDom4gYuG6o24gbcO0LcSRdW4tY29uIG3hu5tpIHbDoG8gY2jhu5cgbsOgbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg2CiBtc2dpZCAibmFtZSBvZiB0aGUgbmV3IHN1Ym1vZHVsZSIKIG1zZ3N0ciAidMOqbiBj4bunYSBtw7QtxJF1bi1jb24gbeG7m2kiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzcyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4OQogbXNnaWQgInVybCB3aGVyZSB0byBjbG9uZSB0aGUgc3VibW9kdWxlIGZyb20iCiBtc2dzdHIgInVybCBuxqFpIG3DoCBuaMOibiBi4bqjbiBtw7QtxJF1bi1jb24gdOG7qyDEkcOzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTcKIG1zZ2lkICJkZXB0aCBmb3Igc2hhbGxvdyBjbG9uZXMiCiBtc2dzdHIgImNoaeG7gXUgc8OidSBs4buLY2ggc+G7rSBraGkgdOG6oW8gYuG6o24gc2FvIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4MyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MDAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTcKIG1zZ2lkICJmb3JjZSBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICLDqXAgYnXhu5ljIHRp4bq/biB0csOsbmggbmjDom4gYuG6o24iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQwMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5OQorbXNnaWQgImRpc2FsbG93IGNsb25pbmcgaW50byBub24tZW1wdHkgZGlyZWN0b3J5IgorbXNnc3RyICJsw6BtIMSR4bqneSDEkeG7pyBk4buvIGxp4buHdSBjaG8gYuG6o24gc2FvIHbDoG8gdHJvbmcgbeG7mXQgdGjGsCBt4bulYyB0cuG7kW5nIHLhu5duZyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MDcKIG1zZ2lkICIiCiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD08cGF0aD5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgIgogIjxyZXBvc2l0b3J5Pl0gWy0tbmFtZSA8bmFtZT5dIFstLWRlcHRoIDxkZXB0aD5dIC0tdXJsIDx1cmw+IC0tcGF0aCA8cGF0aD4iCkBAIC0xNzM4NCw5NSArMjA1OTMsMTA1IEBACiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD08L8SRxrDhu51uZy9k4bqrbj5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgIgogIjxraG8+XSBbLS1uYW1lIDx0w6puPl0gWy0tZGVwdGggPHPDonU+XSBbLS11cmwgPHVybD5dIFs8L8SRxrDhu51uZy9k4bqrbj7igKZdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQxOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmdXNpbmcgdG8gY3JlYXRlL3VzZSAnJXMnIGluIGFub3RoZXIgc3VibW9kdWxlJ3MgZ2l0IGRpciIKK21zZ3N0ciAidOG7qyBjaOG7kWkgdOG6oW8vZMO5bmcgJyVzJyB0cm9uZyBt4buZdCB0aMawIG3hu6VjIGdpdCBj4bunYSBtw7QgxJF1biBjb24iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDQyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb25lIG9mICclcycgaW50byBzdWJtb2R1bGUgcGF0aCAnJXMnIGZhaWxlZCIKLW1zZ3N0ciAiTmjDom4gYuG6o24g4oCcJXPigJ0gdsOgbyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCVz4oCdIGfhurdwIGzhu5dpIgorbXNnc3RyICJ2aeG7h2Mgc2FvIOKAnCVz4oCdIHbDoG8gxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwlc+KAnSBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MzMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBub3QgZW1wdHk6ICclcyciCittc2dzdHIgInRoxrAgbeG7pWMga2jDtG5nIHRy4buRbmc6ICclcyciCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgc3VibW9kdWxlIGRpcmVjdG9yeSBmb3IgJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRoxrAgbeG7pWMgbcO0LcSRdW4tY29uIGNobyDigJwlc+KAnSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdXBkYXRlIG1vZGUgJyVzJyBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAiQ2jhur8gxJHhu5kgY+G6rXAgbmjhuq10IOKAnCVz4oCdIGtow7RuZyBo4bujcCBs4buHIGNobyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ3MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB1cGRhdGUgbW9kZSAnJXMnIGNvbmZpZ3VyZWQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIiIKICJDaOG6vyDEkeG7mSBj4bqtcCBuaOG6rXQg4oCcJXPigJ0ga2jDtG5nIGjhu6NwIGzhu4cgxJHGsOG7o2MgY+G6pXUgaMOsbmggY2hvIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTY2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTU5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJXMnIG5vdCBpbml0aWFsaXplZCIKIG1zZ3N0ciAixJDGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwlc+KAnSBjaMawYSDEkcaw4bujYyBraOG7n2kgdOG6oW8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTcwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTU5OAogbXNnaWQgIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgogbXNnc3RyICJDw7MgbOG6vSBi4bqhbiBsw6AgYuG6oW4gbXXhu5FuIGTDuW5nIFwidXBkYXRlIC0taW5pdFwiIHBo4bqjaSBraMO0bmc/IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTYwMAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE2MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgdW5tZXJnZWQgc3VibW9kdWxlICVzIgogbXNnc3RyICJC4buPIHF1YSBjw6FjIG3DtC3EkXVuLWNvbiBjaMawYSDEkcaw4bujYyBow7JhIHRy4buZbiAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE2MjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICJC4buPIHF1YSBtw7QtxJF1bi1jb24g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNzczCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTgwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJy4gUmV0cnkgc2NoZWR1bGVkIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgbmjDom4gYuG6o24g4oCcJXPigJ0uIFRo4butIGzhuqFpIGzhu4tjaCB0csOsbmgiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNzg0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gY2xvbmUgJyVzJyBhIHNlY29uZCB0aW1lLCBhYm9ydGluZyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIG5ow6JuIGLhuqNuIOKAnCVz4oCdIGzhuqduIHRo4bupIGhhaSBuw6puIGLDo2kgYuG7jyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NDcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwODkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTIwCiBtc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDEkeG6v24gY8OieSBsw6BtIHZp4buHYyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc5CiBtc2dpZCAicGF0aCBpbnRvIHRoZSB3b3JraW5nIHRyZWUsIGFjcm9zcyBuZXN0ZWQgc3VibW9kdWxlIGJvdW5kYXJpZXMiCiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiDEkeG6v24gY8OieSBsw6BtIHZp4buHYywgY2jDqW8gYmnDqm4gZ2nhu5tpIG3DtC3EkXVuLWNvbiBs4buTbmcgbmhhdSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODgzCiBtc2dpZCAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Igbm9uZSIKIG1zZ3N0ciAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgaG/hurdjIGtow7RuZyBsw6BtIGfDrCBj4bqjIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODkKIG1zZ2lkICJDcmVhdGUgYSBzaGFsbG93IGNsb25lIHRydW5jYXRlZCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiByZXZpc2lvbnMiCiBtc2dzdHIgIiIKICJU4bqhbyBt4buZdCBi4bqjbiBzYW8gbsO0bmcgxJHGsOG7o2MgY+G6r3Qgbmfhuq9uIHRow6BuaCBz4buRIGzGsOG7o25nIMSRaeG7g20geMOpdCBkdXnhu4d0IMSRw6MgY2hvIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTIKIG1zZ2lkICJwYXJhbGxlbCBqb2JzIgogbXNnc3RyICJjw7RuZyB2aeG7h2MgxJHhu5NuZyB0aOG7nWkiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODY1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5NAogbXNnaWQgIndoZXRoZXIgdGhlIGluaXRpYWwgY2xvbmUgc2hvdWxkIGZvbGxvdyB0aGUgc2hhbGxvdyByZWNvbW1lbmRhdGlvbiIKIG1zZ3N0ciAibmjDom4gYuG6o24gbOG6p24gxJHhuqd1IGPDsyBuw6puIHRoZW8ga2h1eeG6v24gbmdo4buLIGzDoCBuw7RuZyBoYXkga2jDtG5nIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTUKIG1zZ2lkICJkb24ndCBwcmludCBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICLEkeG7q25nIGluIHRp4bq/biB0csOsbmggbmjDom4gYuG6o24iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODczCi1tc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZV9jbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTA0Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZS1jbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiIgotImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGVfY2xvbmUgWy0tcHJlZml4PTwvxJHGsOG7nW5nL2ThuqtuPl0gWzwvxJHGsOG7nW5nL2ThuqtuPuKApl0iCisiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZS1jbG9uZSBbLS1wcmVmaXg9PC/Ekcaw4budbmcvZOG6q24+XSBbPC/Ekcaw4budbmcvZOG6q24+4oCmXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTE3CiBtc2dpZCAiYmFkIHZhbHVlIGZvciB1cGRhdGUgcGFyYW1ldGVyIgogbXNnc3RyICJnacOhIHRy4buLIGNobyAgdGhhbSBz4buRIGPhuq1wIG5o4bqtdCBi4buLIHNhaSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MzQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTdWJtb2R1bGUgKCVzKSBicmFuY2ggY29uZmlndXJlZCB0byBpbmhlcml0IGJyYW5jaCBmcm9tIHN1cGVycHJvamVjdCwgYnV0ICIKQEAgLTE3NDgxLDQ5ICsyMDcwMCw1NyBAQAogIk5ow6FuaCBtw7QtxJF1bi1jb24gKCVzKSDEkcaw4bujYyBj4bqldSBow6xuaCBr4bq/IHRo4burYSBuaMOhbmggdOG7qyBzacOqdSBk4buxIMOhbiwgbmjGsG5nIHNpw6p1ICIKICJk4buxIMOhbiBs4bqhaSBraMO0bmcgdHLDqm4gYuG6pXQga+G7syBuaMOhbmggbsOgbyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwNTcKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgYSByZXBvc2l0b3J5IGhhbmRsZSBmb3Igc3VibW9kdWxlICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB0aOG6uyBxdeG6o24ga2hvIGNobyBtw7QtxJF1bi1jb24g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDkwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjEyMQogbXNnaWQgInJlY3Vyc2UgaW50byBzdWJtb2R1bGVzIgogbXNnc3RyICLEkeG7hyBxdXkgdsOgbyB0cm9uZyBtw7QtxJF1bi1jb24iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDk2Ci1tc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGVtYmVkLWdpdC1kaXIgWzxwYXRoPi4uLl0iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBlbWJlZC1naXQtZGlyIFs8L8SRxrDhu51uZy9k4bqrbj7igKZdIgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxMjcKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgYWJzb3JiLWdpdC1kaXJzIFs8b3B0aW9ucz5dIFs8cGF0aD4uLi5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgYWJzb3JiLWdpdC1kaXJzIFs8Y8OhYyB0w7l5IGNo4buNbj5dIFs8L8SRxrDhu51uZy9k4bqrbj7igKZdIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE1MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxODMKIG1zZ2lkICJjaGVjayBpZiBpdCBpcyBzYWZlIHRvIHdyaXRlIHRvIHRoZSAuZ2l0bW9kdWxlcyBmaWxlIgogbXNnc3RyICJjaOG7jW4gbuG6v3UgbsOzIGzDoCBhbiB0b8OgbiDEkeG7gyBnaGkgdsOgbyB04bqtcCB0aW4gLmdpdG1vZHVsZXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTU3Ci1tc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyBuYW1lIFt2YWx1ZV0iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgdMOqbiBbZ2nDoSB0cuG7i10iCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE4NgorbXNnaWQgInVuc2V0IHRoZSBjb25maWcgaW4gdGhlIC5naXRtb2R1bGVzIGZpbGUiCittc2dzdHIgImLhu48gxJHhurd0IGPhuqV1IGjDrG5oIHRyb25nIHThuq1wIHRpbiAuZ2l0bW9kdWxlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTkxCittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyA8bmFtZT4gWzx2YWx1ZT5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIDx0w6puPiBbPGdpw6EgdHLhu4s+XSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxOTIKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tdW5zZXQgPG5hbWU+IgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIC0tdW5zZXQgPHTDqm4+IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE5MwogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgLS1jaGVjay13cml0ZWFibGUiCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgLS1jaGVjay13cml0ZWFibGUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTc1IGdpdC1zdWJtb2R1bGUuc2g6MTY5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjIxMiBnaXQtc3VibW9kdWxlLnNoOjE3MwogIywgc2gtZm9ybWF0CiBtc2dpZCAicGxlYXNlIG1ha2Ugc3VyZSB0aGF0IHRoZSAuZ2l0bW9kdWxlcyBmaWxlIGlzIGluIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImjDo3kgxJHhuqNtIGLhuqNvIHLhurFuZyB04bqtcCB0aW4gLmdpdG1vZHVsZXMgY8OzIHRyb25nIGPDonkgbMOgbSB2aeG7h2MiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjI1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjI2MiBnaXQuYzo0MzMgZ2l0LmM6Njg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRvZXNuJ3Qgc3VwcG9ydCAtLXN1cGVyLXByZWZpeCIKIG1zZ3N0ciAiJXMga2jDtG5nIGjhu5cgdHLhu6MgLS1zdXBlci1wcmVmaXgiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHN1Ym1vZHVsZS0taGVscGVyIHN1YmNvbW1hbmQiCiBtc2dzdHIgIuKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbMOgIGzhu4duaCBjb24gc3VibW9kdWxlLS1oZWxwZXIgaOG7o3AgbOG7hyIKIAogIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo4CiBtc2dpZCAiZ2l0IHN5bWJvbGljLXJlZiBbPG9wdGlvbnM+XSA8bmFtZT4gWzxyZWY+XSIKLW1zZ3N0ciAiZ2l0IHN5bWJvbGljLXJlZiBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8dMOqbj4gWzx0LmNoaeG6v3U+XSIKK21zZ3N0ciAiZ2l0IHN5bWJvbGljLXJlZiBbPGPDoWMgdMO5eSBjaOG7jW4+XSA8dMOqbj4gWzx0LmNoaeG6v3U+XSIKIAogIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo5CiBtc2dpZCAiZ2l0IHN5bWJvbGljLXJlZiAtZCBbLXFdIDxuYW1lPiIKQEAgLTE3NTUxLDE3ICsyMDc3OCwxNyBAQAogCiAjOiBidWlsdGluL3RhZy5jOjI1CiBtc2dpZCAiIgotImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT5dIDx0YWduYW1lPiAiCi0iWzxoZWFkPl0iCisiZ2l0IHRhZyBbLWEgfCAtcyB8IC11IDxrZXktaWQ+XSBbLWZdIFstbSA8bXNnPiB8IC1GIDxmaWxlPl1cbiIKKyJcdFx0PHRhZ25hbWU+IFs8aGVhZD5dIgogbXNnc3RyICIiCi0iZ2l0IHRhZyBbLWEgfCAtcyB8IC11IDxrZXktaWQ+XSBbLWZdIFstbSA8bXNnPnwtRiA8dOG6rXAtdGluPl0gPHTDqm4tdGjhurs+ICIKLSJbPGhlYWQ+XSIKKyJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGtleS1pZD5dIFstZl0gWy1tIDxtc2c+IHwgLUYgPHThuq1wLXRpbj5dXG4iCisiXHRcdDx0w6puLXRo4bq7PiBbPGhlYWQ+XSIKIAotIzogYnVpbHRpbi90YWcuYzoyNgorIzogYnVpbHRpbi90YWcuYzoyNwogbXNnaWQgImdpdCB0YWcgLWQgPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC1kIDx0w6puLXRo4bq7PuKApiIKIAotIzogYnVpbHRpbi90YWcuYzoyNworIzogYnVpbHRpbi90YWcuYzoyOAogbXNnaWQgIiIKICJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1uby1jb250YWlucyA8Y29tbWl0Pl0gWy0tIgogInBvaW50cy1hdCA8b2JqZWN0Pl1cbiIKQEAgLTE3NTcxLDIxICsyMDc5OCwyMSBAQAogIjxs4bqnbl9jaHV54buDbl9naWFvPl0gWy0tcG9pbnRzLWF0IDzEkeG7kWktdMaw4bujbmc+XVxuIgogIlx0XHRbLS1mb3JtYXQ9PMSR4buLbmhfZOG6oW5nPl0gWy0tW25vLV1tZXJnZWQgWzxs4bqnbl9jaHV54buDbl9naWFvPl1dIFs8beG6q3U+4oCmXSIKIAotIzogYnVpbHRpbi90YWcuYzoyOQorIzogYnVpbHRpbi90YWcuYzozMAogbXNnaWQgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnbmFtZT4uLi4iCiBtc2dzdHIgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTzEkeG7i25oX2ThuqFuZz5dICA8dMOqbi10aOG6uz7igKYiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6ODcKKyM6IGJ1aWx0aW4vdGFnLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IHTDrG0gdGjhuqV5IHRo4bq7IOKAnCVz4oCdLiIKIAotIzogYnVpbHRpbi90YWcuYzoxMDMKKyM6IGJ1aWx0aW4vdGFnLmM6MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgdGFnICclcycgKHdhcyAlcylcbiIKIG1zZ3N0ciAiVGjhursgxJHDoyBi4buLIHjDs2Eg4oCcJXPigJ0gKHThu6tuZyBsw6AgJXMpXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTMzCisjOiBidWlsdGluL3RhZy5jOjEzNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xNzU5OCw3ICsyMDgyNSw3IEBACiAiICAlc1xuIgogIk5o4buvbmcgZMOybmcgxJHGsOG7o2MgYuG6r3QgxJHhuqd1IGLhurFuZyDigJwlY+KAnSBz4bq9IMSRxrDhu6NjIGLhu48gcXVhLlxuIgogCi0jOiBidWlsdGluL3RhZy5jOjEzNworIzogYnVpbHRpbi90YWcuYzoxMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTc2MTMsMzUxICsyMDg0MCwzNjggQEAKICJOaOG7r25nIGTDsm5nIMSRxrDhu6NjIGLhuq90IMSR4bqndSBi4bqxbmcg4oCcJWPigJ0gc+G6vSDEkcaw4bujYyBnaeG7ryBs4bqhaTsgYuG6oW4gY8OzIHRo4buDIHjDs2EgY2jDum5nIMSRaSAiCiAibuG6v3UgbXXhu5FuLlxuIgogCi0jOiBidWlsdGluL3RhZy5jOjE5MQorIzogYnVpbHRpbi90YWcuYzoxOTgKIG1zZ2lkICJ1bmFibGUgdG8gc2lnbiB0aGUgdGFnIgogbXNnc3RyICJraMO0bmcgdGjhu4Mga8O9IHRo4bq7IgogCi0jOiBidWlsdGluL3RhZy5jOjE5MworIzogYnVpbHRpbi90YWcuYzoyMDAKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGFnIGZpbGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdsOgbyB04bqtcCB0aW4gbMawdSB0aOG6uyIKIAotIzogYnVpbHRpbi90YWcuYzoyMTgKKyM6IGJ1aWx0aW4vdGFnLmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBjcmVhdGVkIGEgbmVzdGVkIHRhZy4gVGhlIG9iamVjdCByZWZlcnJlZCB0byBieSB5b3VyIG5ldyB0YWcgaXNcbiIKKyJhbHJlYWR5IGEgdGFnLiBJZiB5b3UgbWVhbnQgdG8gdGFnIHRoZSBvYmplY3QgdGhhdCBpdCBwb2ludHMgdG8sIHVzZTpcbiIKKyJcbiIKKyJcdGdpdCB0YWcgLWYgJXMgJXNee30iCittc2dzdHIgIiIKKyJC4bqhbiDEkcOjIHThuqFvIG3hu5l0IHRo4bq7IGzhu5NuZyBuaGF1LiDEkOG7kWkgdMaw4bujbmcgxJHGsOG7o2MgY2jhu4kgxJHhur9uIHRo4bq7IG3hu5tpIGPhu6dhIGLhuqFuIGzDoFxuIgorIsSRw6MgbMOgIG3hu5l0IHRo4bq7LiBO4bq/dSDDvSBi4bqhbiBsw6AgZ+G6r24gdGjhursgxJHhu5FpIHTGsOG7o25nIG3DoCBuw7MgdHLhu48gxJHhur9uLCBz4butIGThu6VuZzpcbiIKKyJcbiIKKyJcdGdpdCB0YWcgLWYgJXMgJXNee30iCisKKyM6IGJ1aWx0aW4vdGFnLmM6MjMyCiBtc2dpZCAiYmFkIG9iamVjdCB0eXBlLiIKIG1zZ3N0ciAia2nhu4N1IMSR4buRaSB0xrDhu6NuZyBzYWkuIgogCi0jOiBidWlsdGluL3RhZy5jOjI2NworIzogYnVpbHRpbi90YWcuYzoyODQKIG1zZ2lkICJubyB0YWcgbWVzc2FnZT8iCiBtc2dzdHIgImtow7RuZyBjw7MgY2jDuiB0aMOtY2ggZ8OsIGNobyBjaG8gdGjhursgw6A/IgogCi0jOiBidWlsdGluL3RhZy5jOjI3NAorIzogYnVpbHRpbi90YWcuYzoyOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIHRhZyBtZXNzYWdlIGhhcyBiZWVuIGxlZnQgaW4gJXNcbiIKIG1zZ3N0ciAiTuG7mWkgZHVuZyBnaGkgY2jDuiBjw7JuIGzhuqFpICVzXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzg1CisjOiBidWlsdGluL3RhZy5jOjQwMgogbXNnaWQgImxpc3QgdGFnIG5hbWVzIgogbXNnc3RyICJjaOG7iSBsaeG7h3Qga8OqIHTDqm4gY8OhYyB0aOG6uyIKIAotIzogYnVpbHRpbi90YWcuYzozODcKKyM6IGJ1aWx0aW4vdGFnLmM6NDA0CiBtc2dpZCAicHJpbnQgPG4+IGxpbmVzIG9mIGVhY2ggdGFnIG1lc3NhZ2UiCiBtc2dzdHIgImhp4buDbiB0aOG7iyA8bj4gZMOybmcgY2hvIG3hu5dpIGdoaSBjaMO6IgogCi0jOiBidWlsdGluL3RhZy5jOjM4OQorIzogYnVpbHRpbi90YWcuYzo0MDYKIG1zZ2lkICJkZWxldGUgdGFncyIKIG1zZ3N0ciAieMOzYSB0aOG6uyIKIAotIzogYnVpbHRpbi90YWcuYzozOTAKKyM6IGJ1aWx0aW4vdGFnLmM6NDA3CiBtc2dpZCAidmVyaWZ5IHRhZ3MiCiBtc2dzdHIgInRo4bqpbSB0cmEgdGjhursiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MzkyCisjOiBidWlsdGluL3RhZy5jOjQwOQogbXNnaWQgIlRhZyBjcmVhdGlvbiBvcHRpb25zIgogbXNnc3RyICJUw7l5IGNo4buNbiB04bqhbyB0aOG6uyIKIAotIzogYnVpbHRpbi90YWcuYzozOTQKKyM6IGJ1aWx0aW4vdGFnLmM6NDExCiBtc2dpZCAiYW5ub3RhdGVkIHRhZywgbmVlZHMgYSBtZXNzYWdlIgogbXNnc3RyICLEkeG7gyBjaMO6IGdp4bqjaSBjaG8gdGjhurssIGPhuqduIG3hu5l0IGzhu51pIGdoaSBjaMO6IgogCi0jOiBidWlsdGluL3RhZy5jOjM5NgorIzogYnVpbHRpbi90YWcuYzo0MTMKIG1zZ2lkICJ0YWcgbWVzc2FnZSIKIG1zZ3N0ciAicGjhuqduIGNow7ogdGjDrWNoIGNobyB0aOG6uyIKIAotIzogYnVpbHRpbi90YWcuYzozOTgKKyM6IGJ1aWx0aW4vdGFnLmM6NDE1CiBtc2dpZCAiZm9yY2UgZWRpdCBvZiB0YWcgbWVzc2FnZSIKIG1zZ3N0ciAiw6lwIGJ14buZYyBz4butYSB0aOG6uyBs4bqnbiBjb21taXQiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mzk5CisjOiBidWlsdGluL3RhZy5jOjQxNgogbXNnaWQgImFubm90YXRlZCBhbmQgR1BHLXNpZ25lZCB0YWciCiBtc2dzdHIgInRo4bq7IGNow7ogZ2nhuqNpIHbDoCBrw70ga2nhu4N1IEdQRyIKIAotIzogYnVpbHRpbi90YWcuYzo0MDMKKyM6IGJ1aWx0aW4vdGFnLmM6NDE5CiBtc2dpZCAidXNlIGFub3RoZXIga2V5IHRvIHNpZ24gdGhlIHRhZyIKIG1zZ3N0ciAiZMO5bmcga2jDoW8ga2jDoWMgxJHhu4Mga8O9IHRo4bq7IgogCi0jOiBidWlsdGluL3RhZy5jOjQwNAorIzogYnVpbHRpbi90YWcuYzo0MjAKIG1zZ2lkICJyZXBsYWNlIHRoZSB0YWcgaWYgZXhpc3RzIgogbXNnc3RyICJ0aGF5IHRo4bq/IG7hur91IHRo4bq7IMSRw7MgxJHDoyBjw7MgdHLGsOG7m2MiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA1IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OQorIzogYnVpbHRpbi90YWcuYzo0MjEgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY5CiBtc2dpZCAiY3JlYXRlIGEgcmVmbG9nIgogbXNnc3RyICJ04bqhbyBt4buZdCByZWZsb2ciCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA3CisjOiBidWlsdGluL3RhZy5jOjQyMwogbXNnaWQgIlRhZyBsaXN0aW5nIG9wdGlvbnMiCiBtc2dzdHIgIkPDoWMgdMO5eSBjaOG7jW4gbGnhu4d0IGvDqiB0aOG6uyIKIAotIzogYnVpbHRpbi90YWcuYzo0MDgKKyM6IGJ1aWx0aW4vdGFnLmM6NDI0CiBtc2dpZCAic2hvdyB0YWcgbGlzdCBpbiBjb2x1bW5zIgogbXNnc3RyICJoaeG7g24gdGjhu4sgZGFuaCBzw6FjaCB0aOG6uyB0cm9uZyBjw6FjIGPhu5l0IgogCi0jOiBidWlsdGluL3RhZy5jOjQwOSBidWlsdGluL3RhZy5jOjQxMQorIzogYnVpbHRpbi90YWcuYzo0MjUgYnVpbHRpbi90YWcuYzo0MjcKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyBuaOG7r25nIG5ow6FuaCBtw6AgbsOzIGNo4bupYSBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL3RhZy5jOjQxMCBidWlsdGluL3RhZy5jOjQxMgorIzogYnVpbHRpbi90YWcuYzo0MjYgYnVpbHRpbi90YWcuYzo0MjgKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgImNo4buJIGhp4buDbiB0aOG7iyBuaOG7r25nIHRo4bq7IG3DoCBuw7Mga2jDtG5nIGNo4bupYSBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBidWlsdGluL3RhZy5jOjQxMworIzogYnVpbHRpbi90YWcuYzo0MjkKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbWVyZ2VkIgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgbmjhu69uZyB0aOG6uyBtw6AgbsOzIMSRxrDhu6NjIGjDsmEgdHLhu5luIgogCi0jOiBidWlsdGluL3RhZy5jOjQxNAorIzogYnVpbHRpbi90YWcuYzo0MzAKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAiY2jhu4kgaGnhu4NuIHRo4buLIG5o4buvbmcgdGjhursgbcOgIG7DsyBraMO0bmcgxJHGsOG7o2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDE5CisjOiBidWlsdGluL3RhZy5jOjQzNAogbXNnaWQgInByaW50IG9ubHkgdGFncyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgY8OhYyB0aOG6uyBj4bunYSDEkeG7kWkgdMaw4bujbmciCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDYzCisjOiBidWlsdGluL3RhZy5jOjQ4MgogbXNnaWQgIi0tY29sdW1uIGFuZCAtbiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWNvbHVtbiB2w6AgLW4geHVuZyBraOG6r2MgbmhhdSIKIAotIzogYnVpbHRpbi90YWcuYzo0ODUKKyM6IGJ1aWx0aW4vdGFnLmM6NTA0CiBtc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgInTDuXkgY2jhu41uIC1uIGNo4buJIGNobyBwaMOpcCBkw7luZyB0cm9uZyBjaOG6vyDEkeG7mSBsaeG7h3Qga8OqIgogCi0jOiBidWlsdGluL3RhZy5jOjQ4NworIzogYnVpbHRpbi90YWcuYzo1MDYKIG1zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICJ0w7l5IGNo4buNbiAtLWNvbnRhaW5zIGNo4buJIGNobyBwaMOpcCBkw7luZyB0cm9uZyBjaOG6vyDEkeG7mSBsaeG7h3Qga8OqIgogCi0jOiBidWlsdGluL3RhZy5jOjQ4OQorIzogYnVpbHRpbi90YWcuYzo1MDgKIG1zZ2lkICItLW5vLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICJ0w7l5IGNo4buNbiAtLW5vLWNvbnRhaW5zIGNo4buJIGNobyBwaMOpcCBkw7luZyB0cm9uZyBjaOG6vyDEkeG7mSBsaeG7h3Qga8OqIgogCi0jOiBidWlsdGluL3RhZy5jOjQ5MQorIzogYnVpbHRpbi90YWcuYzo1MTAKIG1zZ2lkICItLXBvaW50cy1hdCBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKIG1zZ3N0ciAidMO5eSBjaOG7jW4gLS1wb2ludHMtYXQgY2jhu4kgY2hvIHBow6lwIGTDuW5nIHRyb25nIGNo4bq/IMSR4buZIGxp4buHdCBrw6oiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDkzCisjOiBidWlsdGluL3RhZy5jOjUxMgogbXNnaWQgIi0tbWVyZ2VkIGFuZCAtLW5vLW1lcmdlZCBvcHRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgogbXNnc3RyICIiCiAidMO5eSBjaOG7jW4gLS1tZXJnZWQgdsOgIC0tbm8tbWVyZ2VkIGNo4buJIGNobyBwaMOpcCBkw7luZyB0cm9uZyBjaOG6vyDEkeG7mSBsaeG7h3Qga8OqIgogCi0jOiBidWlsdGluL3RhZy5jOjUwNAorIzogYnVpbHRpbi90YWcuYzo1MjMKIG1zZ2lkICJvbmx5IG9uZSAtRiBvciAtbSBvcHRpb24gaXMgYWxsb3dlZC4iCiBtc2dzdHIgImNo4buJIGPDsyBt4buZdCB0w7l5IGNo4buNbiAtRiBob+G6t2MgLW0gbMOgIMSRxrDhu6NjIHBow6lwLiIKIAotIzogYnVpbHRpbi90YWcuYzo1MjMKKyM6IGJ1aWx0aW4vdGFnLmM6NTQyCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1zIgogbXNnc3RyICJxdcOhIG5oaeG7gXUgxJHhu5FpIHPhu5EiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTI5CisjOiBidWlsdGluL3RhZy5jOjU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRhZyBuYW1lLiIKIG1zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSB0aOG6uyBo4bujcCBs4buHLiIKIAotIzogYnVpbHRpbi90YWcuYzo1MzQKKyM6IGJ1aWx0aW4vdGFnLmM6NTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhZyAnJXMnIGFscmVhZHkgZXhpc3RzIgotbXNnc3RyICJUaOG6uyDigJwlc+KAnSDEkcOjIHThu5NuIHThuqFpIHLhu5NpIgorbXNnc3RyICJ0aOG6uyDigJwlc+KAnSDEkcOjIHThu5NuIHThuqFpIHLhu5NpIgogCi0jOiBidWlsdGluL3RhZy5jOjU2NQorIzogYnVpbHRpbi90YWcuYzo1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICLEkMOjIGPhuq1wIG5o4bqtdCB0aOG6uyDigJwlc+KAnSAodHLGsOG7m2MgbMOgICVzKVxuIgogCi0jOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTAwCisjOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTAxCiBtc2dpZCAiVW5wYWNraW5nIG9iamVjdHMiCiBtc2dzdHIgIsSQYW5nIGdp4bqjaSBuw6luIGPDoWMgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjgyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICJ04bqhbyB0aMawIG3hu6VjIFwiJXNcIiBn4bq3cCBs4buXaSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBmaWxlICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdOG6oW8gdOG6rXAgdGluICVzIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBmaWxlICVzIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgeMOzYSB04bqtcCB0aW4gJXMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTEzIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNSBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHjDs2EgdGjGsCBt4bulYyAlcyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMzgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRlc3RpbmcgbXRpbWUgaW4gJyVzJyAiCi1tc2dzdHIgIsSQYW5nIGtp4buDbSB0aOG7rSBtdGltZSB0cm9uZyDigJwlc+KAnSIKK21zZ3N0ciAixJBhbmcga2nhu4NtIHRo4butIG10aW1lIHRyb25nIOKAnCVz4oCdICIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTU0CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgYWRkaW5nIGEgbmV3IGZpbGUiCiBtc2dzdHIgInRow7RuZyB0aW4gdGjhu5FuZyBrw6ogdGjGsCBt4bulYyBraMO0bmcgdGhheSDEkeG7lWkgc2F1IGtoaSB0aMOqbSB04bqtcCB0aW4gbeG7m2kiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTY1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE2NwogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGFkZGluZyBhIG5ldyBkaXJlY3RvcnkiCiBtc2dzdHIgInRow7RuZyB0aW4gdGjhu5FuZyBrw6ogdGjGsCBt4bulYyBraMO0bmcgdGhheSDEkeG7lWkgc2F1IGtoaSB0aMOqbSB0aMawIG3hu6VjIG3hu5tpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE3OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxODAKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGNoYW5nZXMgYWZ0ZXIgdXBkYXRpbmcgYSBmaWxlIgogbXNnc3RyICJ0aMO0bmcgdGluIHRo4buRbmcga8OqIHRoxrAgbeG7pWMgdGhheSDEkeG7lWkgc2F1IGtoaSBj4bqtcCBuaOG6rXQgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE4OQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxOTEKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGNoYW5nZXMgYWZ0ZXIgYWRkaW5nIGEgZmlsZSBpbnNpZGUgc3ViZGlyZWN0b3J5IgogbXNnc3RyICIiCiAidGjDtG5nIHRpbiB0aOG7kW5nIGvDqiB0aMawIG3hu6VjIHRoYXkgxJHhu5VpIHNhdSBraGkgdGjDqm0gdOG6rXAgdGluIG3hu5tpIHbDoG8gdHJvbmcgdGjGsCAiCiAibeG7pWMgY29uIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIwMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMDIKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBkZWxldGluZyBhIGZpbGUiCiBtc2dzdHIgInRow7RuZyB0aW4gdGjhu5FuZyBrw6ogdGjGsCBt4bulYyBraMO0bmcgdGhheSDEkeG7lWkgc2F1IGtoaSB4w7NhIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE1CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBkaXJlY3RvcnkiCiBtc2dzdHIgInRow7RuZyB0aW4gdGjhu5FuZyBrw6ogdGjGsCBt4bulYyBraMO0bmcgdGhheSDEkeG7lWkgc2F1IGtoaSB4w7NhIHRoxrAgbeG7pWMiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjIwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIyMgogbXNnaWQgIiBPSyIKIG1zZ3N0ciAiIMSQ4buTbmcgw70iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NTg4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU5MQogbXNnaWQgImdpdCB1cGRhdGUtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpbGU+Li4uXSIKLW1zZ3N0ciAiZ2l0IHVwZGF0ZS1pbmRleCBbPGPDoWMtdMO5eS1jaOG7jW4+XSBbLS1dIFs8dOG6rXAtdGluPuKApl0iCittc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggWzxjw6FjIHTDuXkgY2jhu41uPl0gWy0tXSBbPHThuq1wLXRpbj7igKZdIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk2MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzQKIG1zZ2lkICJjb250aW51ZSByZWZyZXNoIGV2ZW4gd2hlbiBpbmRleCBuZWVkcyB1cGRhdGUiCiBtc2dzdHIgInRp4bq/cCB04bulYyBsw6BtIG3hu5tpIG5nYXkgY+G6oyBraGkgYuG6o25nIG3hu6VjIGzhu6VjIGPhuqduIMSRxrDhu6NjIGPhuq1wIG5o4bqtdCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc3CiBtc2dpZCAicmVmcmVzaDogaWdub3JlIHN1Ym1vZHVsZXMiCiBtc2dzdHIgInJlZnJlc2g6IGzhu50gxJFpIG3DtC3EkXVuLWNvbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgwCiBtc2dpZCAiZG8gbm90IGlnbm9yZSBuZXcgZmlsZXMiCiBtc2dzdHIgImtow7RuZyBi4buPIHF1YSBjw6FjIHThuq1wIHRpbiBt4bubaSB04bqhbyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgyCiBtc2dpZCAibGV0IGZpbGVzIHJlcGxhY2UgZGlyZWN0b3JpZXMgYW5kIHZpY2UtdmVyc2EiCiBtc2dzdHIgIsSR4buDIGPDoWMgdOG6rXAgdGluIHRoYXkgdGjhur8gY8OhYyB0aMawIG3hu6VjIHbDoCDigJx2aWNlLXZlcnNh4oCdIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODQKIG1zZ2lkICJub3RpY2UgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgogbXNnc3RyICJ0aMO0bmcgYsOhbyBjw6FjIHThuq1wLXRpbiB0aGnhur91IHRyb25nIHRoxrAtbeG7pWMgbMOgbSB2aeG7h2MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTczCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NgogbXNnaWQgInJlZnJlc2ggZXZlbiBpZiBpbmRleCBjb250YWlucyB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICIiCiAibMOgbSB0xrDGoWkgbeG7m2kgdGjhuq1tIGNow60ga2hpIGLhuqNuZyBt4bulYyBs4bulYyBjaOG7qWEgY8OhYyBt4bulYyB0aW4gY2jGsGEgxJHGsOG7o2MgaMOyYSB0cuG7mW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4OQogbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAibOG6pXkgbOG6oWkgdGjDtG5nIHRpbiB0aOG7kW5nIGvDqiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkzCiBtc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgogbXNnc3RyICJnaeG7kW5nIC0tcmVmcmVzaCwgbmjGsG5nIGLhu48gcXVhIGPDoWMgY8OgaSDEkeG6t3Qg4oCcYXNzdW1lLXVuY2hhbmdlZOKAnSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CiBtc2dpZCAiPG1vZGU+LDxvYmplY3Q+LDxwYXRoPiIKIG1zZ3N0ciAiPGNo4bq/X8SR4buZPiw8xJHhu5FpX3TGsOG7o25nPiw8xJHGsOG7nW5nX2ThuqtuPiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk4CiBtc2dpZCAiYWRkIHRoZSBzcGVjaWZpZWQgZW50cnkgdG8gdGhlIGluZGV4IgogbXNnc3RyICJ0aMOqbSBjw6FjIHThuq1wIHRpbiDEkcOjIGNo4buJIHJhIHbDoG8gYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA4CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcIm5vdCBjaGFuZ2luZ1wiIgotbXNnc3RyICLEkMOhbmggZOG6pXUgY8OhYyB04bqtcCB0aW4gbMOgIFwia2jDtG5nIHRoYXkgxJHhu5VpXCIiCittc2dzdHIgIsSRw6FuaCBk4bqldSBjw6FjIHThuq1wIHRpbiBsw6AgXCJraMO0bmcgdGhheSDEkeG7lWlcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxMQogbXNnaWQgImNsZWFyIGFzc3VtZWQtdW5jaGFuZ2VkIGJpdCIKIG1zZ3N0ciAieMOzYSBiw610IGFzc3VtZWQtdW5jaGFuZ2VkIChnaeG6oyDEkeG7i25oIGzDoCBraMO0bmcgdGhheSDEkeG7lWkpIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxNAogbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJpbmRleC1vbmx5XCIiCiBtc2dzdHIgIsSRw6FuaCBk4bqldSBjw6FjIHThuq1wIHRpbiBsw6Ag4oCcY2jhu4ktxJHhu41j4oCdIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxNwogbXNnaWQgImNsZWFyIHNraXAtd29ya3RyZWUgYml0IgogbXNnc3RyICJ4w7NhIGLDrXQgc2tpcC13b3JrdHJlZSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA2CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjAKK21zZ2lkICJkbyBub3QgdG91Y2ggaW5kZXgtb25seSBlbnRyaWVzIgorbXNnc3RyICLEkeG7q25nIMSR4buZbmcgdsOgbyBjw6FjIG3hu6VjIGluZGV4LW9ubHkiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyMgogbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgogbXNnc3RyICIiCiAiY2jhu4kgdGjDqm0gdsOgbyBi4bqjbmcgbeG7pWMgbOG7pWM7IGtow7RuZyB0aMOqbSBu4buZaSBkdW5nIHbDoG8gY8ahIHPhu58gZOG7ryBsaeG7h3UgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyNAogbXNnaWQgInJlbW92ZSBuYW1lZCBwYXRocyBldmVuIGlmIHByZXNlbnQgaW4gd29ya3RyZWUiCiBtc2dzdHIgIiIKICJn4buhIGLhu48gY8OhYyDEkcaw4budbmcgZOG6q24gxJHGsOG7o2MgxJHhurd0IHTDqm4gdGjhuq1tIGNow60gY+G6oyBraGkgbsOzIGhp4buHbiBkaeG7h24gdHJvbmcgdGjGsCBt4bulYyAiCiAibMOgbSB2aeG7h2MiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI2CiBtc2dpZCAid2l0aCAtLXN0ZGluOiBpbnB1dCBsaW5lcyBhcmUgdGVybWluYXRlZCBieSBudWxsIGJ5dGVzIgogbXNnc3RyICJ24bubaSB0w7l5IGNo4buNbiAtLXN0ZGluOiBjw6FjIGTDsm5nIMSR4bqndSB2w6BvIMSRxrDhu6NjIGNo4bqlbSBk4bupdCBi4bufaSBrw70gdOG7sSBudWxsIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTIKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyOAogbXNnaWQgInJlYWQgbGlzdCBvZiBwYXRocyB0byBiZSB1cGRhdGVkIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIsSR4buNYyBkYW5oIHPDoWNoIMSRxrDhu51uZyBk4bqrbiBj4bqnbiBj4bqtcCBuaOG6rXQgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzMgogbXNnaWQgImFkZCBlbnRyaWVzIGZyb20gc3RhbmRhcmQgaW5wdXQgdG8gdGhlIGluZGV4IgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jIGPDoWMgbeG7pWMgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIHbDoG8gYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzNgogbXNnaWQgInJlcG9wdWxhdGUgc3RhZ2VzICMyIGFuZCAjMyBmb3IgdGhlIGxpc3RlZCBwYXRocyIKIG1zZ3N0ciAicGjhu6VjIGjhu5NpIGPDoWMgdHLhuqFuZyB0aMOhaSAjMiB2w6AgIzMgY2hvIGPDoWMgxJHGsOG7nW5nIGThuqtuIMSRxrDhu6NjIGxp4buHdCBrw6oiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQwCiBtc2dpZCAib25seSB1cGRhdGUgZW50cmllcyB0aGF0IGRpZmZlciBmcm9tIEhFQUQiCiBtc2dzdHIgImNo4buJIGPhuq1wIG5o4bqtdCBjw6FjIG3hu6VjIHRpbiBtw6AgbsOzIGtow6FjIGJp4buHdCBzbyB24bubaSBIRUFEIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0NAogbXNnaWQgImlnbm9yZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgImLhu48gcXVhIGPDoWMgdOG6rXAtdGluIHRoaeG6v3UgdHJvbmcgdGjGsC1t4bulYyBsw6BtIHZp4buHYyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDMxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDcKIG1zZ2lkICJyZXBvcnQgYWN0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQiCiBtc2dzdHIgImLDoW8gY8OhbyBjw6FjIHRoYW8gdMOhYyByYSB0aGnhur90IGLhu4sgeHXhuqV0IGNodeG6qW4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAzMworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQ5CiBtc2dpZCAiKGZvciBwb3JjZWxhaW5zKSBmb3JnZXQgc2F2ZWQgdW5yZXNvbHZlZCBjb25mbGljdHMiCiBtc2dzdHIgIihjaG8g4oCccG9yY2VsYWluc+KAnSkgcXXDqm4gY8OhYyB4dW5nIMSR4buZdCBjaMawYSDEkcaw4bujYyBnaeG6o2kgcXV54bq/dCDEkcOjIGdoaSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDM3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTMKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAiZ2hpIG3hu6VjIGzhu6VjIOG7nyDEkeG7i25oIGThuqFuZyBuw6B5IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1NQogbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIHNwbGl0IGluZGV4IgogbXNnc3RyICJi4bqtdC904bqvdCBjaGlhIGPhuq90IGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTcKIG1zZ2lkICJlbmFibGUvZGlzYWJsZSB1bnRyYWNrZWQgY2FjaGUiCiBtc2dzdHIgImLhuq10L3Thuq90IGLhu5kgxJHhu4dtIGtow7RuZyB0aGVvIHbhur90IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1OQogbXNnaWQgInRlc3QgaWYgdGhlIGZpbGVzeXN0ZW0gc3VwcG9ydHMgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICJraeG7g20gdHJhIHhlbSBo4buHIHRo4buRbmcgdOG6rXAgdGluIGPDsyBo4buXIHRy4bujIMSR4buHbSBraMO0bmcgdGhlbyBkw7VpIGhheSBraMO0bmciCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDYxCiBtc2dpZCAiZW5hYmxlIHVudHJhY2tlZCBjYWNoZSB3aXRob3V0IHRlc3RpbmcgdGhlIGZpbGVzeXN0ZW0iCiBtc2dzdHIgImLhuq10IGLhu5kgxJHhu4dtIGtow7RuZyB0aGVvIHbhur90IG3DoCBraMO0bmcga2nhu4NtIHRyYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2MwogbXNnaWQgIndyaXRlIG91dCB0aGUgaW5kZXggZXZlbiBpZiBpcyBub3QgZmxhZ2dlZCBhcyBjaGFuZ2VkIgogbXNnc3RyICJnaGkgcmEgbeG7pWMgbOG7pWMgbmdheSBj4bqjIGtoaSBraMO0bmcgxJHGsOG7o2MgxJHDoW5oIGPhu50gbMOgIGPDsyB0aGF5IMSR4buVaSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQ5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNjUKIG1zZ2lkICJlbmFibGUgb3IgZGlzYWJsZSBmaWxlIHN5c3RlbSBtb25pdG9yIgogbXNnc3RyICJi4bqtdC904bqvdCB0aGVvIGTDtWkgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDUxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNjcKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIGZzbW9uaXRvciB2YWxpZCIKIG1zZ3N0ciAixJHDoW5oIGThuqV1IGPDoWMgdOG6rXAgdGluIGzDoCBo4bujcCBs4buHIGZzbW9uaXRvciIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDU0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNzAKIG1zZ2lkICJjbGVhciBmc21vbml0b3IgdmFsaWQgYml0IgogbXNnc3RyICJ4w7NhIGLDrXQgaOG7o3AgbOG7hyBmc21vbml0b3IiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE1MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTczCiBtc2dpZCAiIgogImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gZmFsc2U7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCiAiZW5hYmxlIHNwbGl0IGluZGV4IgpAQCAtMTc5NjUsNyArMjEyMDksNyBAQAogImNvcmUuc3BsaXRJbmRleCDEkcaw4bujYyDEkeG6t3QgbMOgIHNhaTsgeMOzYSBi4buPIGhheSB0aGF5IMSR4buVaSBuw7MsIG7hur91IGLhuqFuIHRo4buxYyBz4buxICIKICJtdeG7kW4gYuG6rXQgY2hpYSB0w6FjaCBt4bulYyBs4bulYyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTYyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExODIKIG1zZ2lkICIiCiAiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgogImRpc2FibGUgc3BsaXQgaW5kZXgiCkBAIC0xNzk3Myw3ICsyMTIxNyw3IEBACiAiY29yZS5zcGxpdEluZGV4IMSRxrDhu6NjIMSR4bq3dCBsw6AgxJHDum5nOyB4w7NhIGLhu48gaGF5IHRoYXkgxJHhu5VpIG7DsywgbuG6v3UgYuG6oW4gdGjhu7FjIHPhu7EgIgogIm114buRbiB04bqvdCBjaGlhIHTDoWNoIG3hu6VjIGzhu6VjIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE5NAogbXNnaWQgIiIKICJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGRpc2FibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKQEAgLTE3OTgxLDExICsyMTIyNSwxMSBAQAogImNvcmUudW50cmFja2VkQ2FjaGUgxJHGsOG7o2MgxJHhurd0IGzDoCDEkcO6bmc7IHjDs2EgYuG7jyBoYXkgdGhheSDEkeG7lWkgbsOzLCBu4bq/dSBi4bqhbiB0aOG7sWMgIgogInPhu7EgbXXhu5FuIHThuq90IGLhu5kgxJHhu4dtIGNoxrBhIHRoZW8gZMO1aSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTc3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExOTgKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZGlzYWJsZWQiCiBtc2dzdHIgIk5o4bubIMSR4buHbSBraMO0bmcgdGhlbyB24bq/dCBi4buLIHThuq90IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExODUKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIwNgogbXNnaWQgIiIKICJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKICJ0byBlbmFibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKQEAgLTE3OTkzLDQzICsyMTIzNyw0MyBAQAogImNvcmUudW50cmFja2VkQ2FjaGUgxJHGsOG7o2MgxJHhurd0IGzDoCBzYWk7IHjDs2EgYuG7jyBoYXkgdGhheSDEkeG7lWkgbsOzLCBu4bq/dSBi4bqhbiB0aOG7sWMgc+G7sSAiCiAibXXhu5FuIGLhuq10IGLhu5kgxJHhu4dtIGNoxrBhIHRoZW8gZMO1aSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTg5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGVuYWJsZWQgZm9yICclcyciCiBtc2dzdHIgIk5o4bubIMSR4buHbSBraMO0bmcgdGhlbyB24bq/dCDEkcaw4bujYyBi4bqtdCBjaG8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE5NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjE4CiBtc2dpZCAiY29yZS5mc21vbml0b3IgaXMgdW5zZXQ7IHNldCBpdCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZW5hYmxlIGZzbW9uaXRvciIKIG1zZ3N0ciAiIgogImNvcmUuZnNtb25pdG9yIGNoxrBhIMSRxrDhu6NjIMSR4bq3dDsgxJHhurd0IG7DsyBu4bq/dSBi4bqhbiB0aOG7sWMgc+G7sSBtdeG7kW4gYuG6rXQgdGhlbyBkw7VpIGjhu4cgIgogInRo4buRbmcgdOG6rXAgdGluIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIyMgogbXNnaWQgImZzbW9uaXRvciBlbmFibGVkIgogbXNnc3RyICJmc21vbml0b3IgxJHGsOG7o2MgYuG6rXQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIwNAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjI1CiBtc2dpZCAiIgogImNvcmUuZnNtb25pdG9yIGlzIHNldDsgcmVtb3ZlIGl0IGlmIHlvdSByZWFsbHkgd2FudCB0byBkaXNhYmxlIGZzbW9uaXRvciIKIG1zZ3N0ciAiIgogImNvcmUuZnNtb25pdG9yIMSRw6MgxJHGsOG7o2MgxJHhurd0OyBi4buPIMSR4bq3dCBuw7MgbuG6v3UgYuG6oW4gdGjhu7FjIHPhu7EgbXXhu5FuIGLhuq10IHRoZW8gZMO1aSBo4buHICIKICJ0aOG7kW5nIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjA4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMjkKIG1zZ2lkICJmc21vbml0b3IgZGlzYWJsZWQiCiBtc2dzdHIgImZzbW9uaXRvciBi4buLIHThuq90IgogCiAjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzoxMAogbXNnaWQgImdpdCB1cGRhdGUtcmVmIFs8b3B0aW9ucz5dIC1kIDxyZWZuYW1lPiBbPG9sZC12YWw+XSIKLW1zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgWzxjw6FjLXTDuXktY2jhu41uPl0gLWQgPHJlZm5hbWU+IFs8Ymnhur9uLWPFqT5dIgorbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbPGPDoWMgdMO5eSBjaOG7jW4+XSAtZCA8cmVmbmFtZT4gWzxiaeG6v24tY8WpPl0iCiAKICM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjExCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gICAgPHJlZm5hbWU+IDxuZXctdmFsPiBbPG9sZC12YWw+XSIKLW1zZ3N0ciAiZ2l0IHVwZGF0ZS1yZWYgWzxjw6FjLXTDuXktY2jhu41uPl0gICAgPHJlZm5hbWU+IDxiaeG6v24tbeG7m2k+IFs8Ymnhur9uLWPFqT5dIgorbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbPGPDoWMgdMO5eSBjaOG7jW4+XSAgICA8cmVmbmFtZT4gPGJp4bq/bi1t4bubaT4gWzxiaeG6v24tY8WpPl0iCiAKICM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEyCiBtc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gLS1zdGRpbiBbLXpdIgotbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbPGPDoWMtdMO5eS1jaOG7jW4+XSAtLXN0ZGluIFstel0iCittc2dzdHIgImdpdCB1cGRhdGUtcmVmIFs8Y8OhYyB0w7l5IGNo4buNbj5dIC0tc3RkaW4gWy16XSIKIAogIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY0CiBtc2dpZCAiZGVsZXRlIHRoZSByZWZlcmVuY2UiCkBAIC0xODA1Nyw3ICsyMTMwMSwxMSBAQAogCiAjOiBidWlsdGluL3VwbG9hZC1wYWNrLmM6MTEKIG1zZ2lkICJnaXQgdXBsb2FkLXBhY2sgWzxvcHRpb25zPl0gPGRpcj4iCi1tc2dzdHIgImdpdCB1cGxvYWQtcGFjayBbPGPDoWMtdMO5eS1jaOG7jW4+XSA8L8SRxrDhu51uZy9k4bqrbj4iCittc2dzdHIgImdpdCB1cGxvYWQtcGFjayBbPGPDoWMgdMO5eSBjaOG7jW4+XSA8L8SRxrDhu51uZy9k4bqrbj4iCisKKyM6IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyMyB0L2hlbHBlci90ZXN0LXNlcnZlLXYyLmM6MTcKK21zZ2lkICJxdWl0IGFmdGVyIGEgc2luZ2xlIHJlcXVlc3QvcmVzcG9uc2UgZXhjaGFuZ2UiCittc2dzdHIgInRob8OhdCBzYXUga2hpIG3hu5l0IHRyYW8gxJHhu5VpIHnDqnUgY+G6p3UgaGF5IHRy4bqjIGzhu51pIMSRxqFuIgogCiAjOiBidWlsdGluL3VwbG9hZC1wYWNrLmM6MjUKIG1zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGluaXRpYWwgcmVmIGFkdmVydGlzZW1lbnQiCkBAIC0xODA3MSwxNSArMjEzMTksMTUgQEAKIG1zZ2lkICJpbnRlcnJ1cHQgdHJhbnNmZXIgYWZ0ZXIgPG4+IHNlY29uZHMgb2YgaW5hY3Rpdml0eSIKIG1zZ3N0ciAibmfhuq90IHRydXnhu4FuIHRow7RuZyBzYXUgPG4+IGdpw6J5IGtow7RuZyBob+G6oXQgxJHhu5luZyIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6MjAKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjE5CiBtc2dpZCAiZ2l0IHZlcmlmeS1jb21taXQgWy12IHwgLS12ZXJib3NlXSA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHZlcmlmeS1jb21taXQgWy12IHwgLS12ZXJib3NlXSA8bOG6p25fY2h1eeG7g25fZ2lhbz7igKYiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjc2CisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo2OAogbXNnaWQgInByaW50IGNvbW1pdCBjb250ZW50cyIKIG1zZ3N0ciAiaGnhu4NuIHRo4buLIG7hu5lpIGR1bmcgY+G7p2EgbOG6p24gY2h1eeG7g24gZ2lhbyIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzcgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzgKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjY5IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM3CiBtc2dpZCAicHJpbnQgcmF3IGdwZyBzdGF0dXMgb3V0cHV0IgogbXNnc3RyICJpbiBr4bq/dCB4deG6pXQgdHLhuqFuZyB0aMOhaSBncGcgZOG6oW5nIHRow7QiCiAKQEAgLTE4MDk1LDI1ICsyMTM0MywyNSBAQAogbXNnaWQgInNob3cgc3RhdGlzdGljcyBvbmx5IgogbXNnc3RyICJjaOG7iSBoaeG7g24gdGjhu4sgdGjhu5FuZyBrw6oiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjE5CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzoxOAogbXNnaWQgImdpdCB2ZXJpZnktdGFnIFstdiB8IC0tdmVyYm9zZV0gWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnPi4uLiIKIG1zZ3N0ciAiZ2l0IHZlcmlmeS10YWcgWy12IHwgLS12ZXJib3NlXSBbLS1mb3JtYXQ9PMSR4buLbmhfZOG6oW5nPl0gPHRo4bq7PuKApiIKIAotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzcKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM2CiBtc2dpZCAicHJpbnQgdGFnIGNvbnRlbnRzIgogbXNnc3RyICJoaeG7g24gdGjhu4sgbuG7mWkgZHVuZyBj4bunYSB0aOG6uyIKIAogIzogYnVpbHRpbi93b3JrdHJlZS5jOjE3CiBtc2dpZCAiZ2l0IHdvcmt0cmVlIGFkZCBbPG9wdGlvbnM+XSA8cGF0aD4gWzxjb21taXQtaXNoPl0iCi1tc2dzdHIgImdpdCB3b3JrdHJlZSBhZGQgWzxjw6FjLXTDuXktY2jhu41uPl0gPMSRxrDhu51uZy1k4bqrbj4gWzxjb21taXQtaXNoPl0iCittc2dzdHIgImdpdCB3b3JrdHJlZSBhZGQgWzxjw6FjIHTDuXkgY2jhu41uPl0gPC/Ekcaw4budbmcvZOG6q24+IFs8Y29tbWl0LWlzaD5dIgogCiAjOiBidWlsdGluL3dvcmt0cmVlLmM6MTgKIG1zZ2lkICJnaXQgd29ya3RyZWUgbGlzdCBbPG9wdGlvbnM+XSIKLW1zZ3N0ciAiZ2l0IHdvcmt0cmVlIGxpc3QgWzxjw6FjLXTDuXktY2jhu41uPl0iCittc2dzdHIgImdpdCB3b3JrdHJlZSBsaXN0IFs8Y8OhYyB0w7l5IGNo4buNbj5dIgogCiAjOiBidWlsdGluL3dvcmt0cmVlLmM6MTkKIG1zZ2lkICJnaXQgd29ya3RyZWUgbG9jayBbPG9wdGlvbnM+XSA8cGF0aD4iCi1tc2dzdHIgImdpdCB3b3JrdHJlZSBsb2NrIFs8Y8OhYy10w7l5LWNo4buNbj5dIDwvxJHGsOG7nW5nL2ThuqtuPiIKK21zZ3N0ciAiZ2l0IHdvcmt0cmVlIGxvY2sgWzxjw6FjIHTDuXkgY2jhu41uPl0gPC/Ekcaw4budbmcvZOG6q24+IgogCiAjOiBidWlsdGluL3dvcmt0cmVlLmM6MjAKIG1zZ2lkICJnaXQgd29ya3RyZWUgbW92ZSA8d29ya3RyZWU+IDxuZXctcGF0aD4iCkBAIC0xODEyMSwxNyArMjEzNjksMTcgQEAKIAogIzogYnVpbHRpbi93b3JrdHJlZS5jOjIxCiBtc2dpZCAiZ2l0IHdvcmt0cmVlIHBydW5lIFs8b3B0aW9ucz5dIgotbXNnc3RyICJnaXQgd29ya3RyZWUgcHJ1bmUgWzxjw6FjLXTDuXktY2jhu41uPl0iCittc2dzdHIgImdpdCB3b3JrdHJlZSBwcnVuZSBbPGPDoWMgdMO5eSBjaOG7jW4+XSIKIAogIzogYnVpbHRpbi93b3JrdHJlZS5jOjIyCiBtc2dpZCAiZ2l0IHdvcmt0cmVlIHJlbW92ZSBbPG9wdGlvbnM+XSA8d29ya3RyZWU+IgotbXNnc3RyICJnaXQgd29ya3RyZWUgcmVtb3ZlIFs8Y8OhYy10w7l5LWNo4buNbj5dIDx3b3JrdHJlZT4iCittc2dzdHIgImdpdCB3b3JrdHJlZSByZW1vdmUgWzxjw6FjIHTDuXkgY2jhu41uPl0gPHdvcmt0cmVlPiIKIAogIzogYnVpbHRpbi93b3JrdHJlZS5jOjIzCiBtc2dpZCAiZ2l0IHdvcmt0cmVlIHVubG9jayA8cGF0aD4iCiBtc2dzdHIgImdpdCB3b3JrdHJlZSB1bmxvY2sgPC/Ekcaw4budbmcvZOG6q24+IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjAgYnVpbHRpbi93b3JrdHJlZS5jOjg3MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjYwIGJ1aWx0aW4vd29ya3RyZWUuYzo4OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSAnJXMnIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgeMOzYSDigJwlc+KAnSIKQEAgLTE4MjA0LDEyMCArMjE0NTIsMTIwIEBACiAi4oCcJXPigJ0gYuG7iyBt4bqldCBuaMawbmcgY8OieSBsw6BtIHZp4buHYyDEkcOjIMSRxrDhu6NjIMSRxINuZyBrw707XG4iCiAiZMO5bmcg4oCcYWRkIC1m4oCdIMSR4buDIGdoaSDEkcOoLCBob+G6t2Mg4oCccHJ1bmXigJ0gaGF5IOKAnHJlbW92ZeKAnSDEkeG7gyB4w7NhIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6MzA5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6MzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IG9mICclcyciCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyB0aMawIG3hu6VjIGPhu6dhIOKAnCVz4oCdIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDI4IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzkgYnVpbHRpbi93b3JrdHJlZS5jOjQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKG5ldyBicmFuY2ggJyVzJykiCiBtc2dzdHIgIsSQYW5nIGNodeG6qW4gYuG7iyBjw6J5IGzDoG0gdmnhu4djIChuaMOhbmggbeG7m2kg4oCcJXPigJ0pIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDMwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlByZXBhcmluZyB3b3JrdHJlZSAocmVzZXR0aW5nIGJyYW5jaCAnJXMnOyB3YXMgYXQgJXMpIgogbXNnc3RyICLEkGFuZyBjaHXhuqluIGLhu4sgY8OieSBsw6BtIHZp4buHYyAoxJFhbmcgY8OgaSDEkeG6t3QgbmjDoW5oIOKAnCVz4oCdLCB0csaw4bubYyDEkcOieSB04bqhaSAlcykiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChjaGVja2luZyBvdXQgJyVzJykiCiBtc2dzdHIgIsSQYW5nIGNodeG6qW4gYuG7iyBjw6J5IGzDoG0gdmnhu4djICjEkWFuZyBs4bqleSByYSDigJwlc+KAnSkiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChkZXRhY2hlZCBIRUFEICVzKSIKIG1zZ3N0ciAixJBhbmcgY2h14bqpbiBi4buLIGPDonkgbMOgbSB2aeG7h2MgKEhFQUQgxJHDoyB0w6FjaCBy4budaSDigJwlc+KAnSkiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTcKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBldmVuIGlmIGFscmVhZHkgY2hlY2tlZCBvdXQgaW4gb3RoZXIgd29ya3RyZWUiCiBtc2dzdHIgImzhuqV5IHJhIDxuaMOhbmg+IG5nYXkgY+G6oyBraGkgbsOzIMSRw6MgxJHGsOG7o2MgbOG6pXkgcmEg4bufIGPDonkgbMOgbSB2aeG7h2Mga2jDoWMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0ODkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDAKIG1zZ2lkICJjcmVhdGUgYSBuZXcgYnJhbmNoIgogbXNnc3RyICJ04bqhbyBuaMOhbmggbeG7m2kiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDIKIG1zZ2lkICJjcmVhdGUgb3IgcmVzZXQgYSBicmFuY2giCiBtc2dzdHIgInThuqFvIGhheSDEkeG6t3QgbOG6oWkgbeG7mXQgbmjDoW5oIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA0CiBtc2dpZCAicG9wdWxhdGUgdGhlIG5ldyB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImRpIGNodXnhu4NuIGPDonkgbMOgbSB2aeG7h2MgbeG7m2kiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTQKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDUKIG1zZ2lkICJrZWVwIHRoZSBuZXcgd29ya2luZyB0cmVlIGxvY2tlZCIKIG1zZ3N0ciAiZ2nhu68gY8OieSBsw6BtIHZp4buHYyBt4bubaSBi4buLIGtow7NhIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDk3CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA4CiBtc2dpZCAic2V0IHVwIHRyYWNraW5nIG1vZGUgKHNlZSBnaXQtYnJhbmNoKDEpKSIKIG1zZ3N0ciAiY8OgaSDEkeG6t3QgY2jhur8gxJHhu5kgdGhlbyBkw7VpICh4ZW0gZ2l0LWJyYW5jaCgxKSkiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTEKIG1zZ2lkICJ0cnkgdG8gbWF0Y2ggdGhlIG5ldyBicmFuY2ggbmFtZSB3aXRoIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAiY8OzIGto4bubcCB0w6puIHTDqm4gbmjDoW5oIG3hu5tpIHbhu5tpIG3hu5l0IG5ow6FuaCB0aGVvIGTDtWkgbcOheSBjaOG7pyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUxOQogbXNnaWQgIi1iLCAtQiwgYW5kIC0tZGV0YWNoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIkPDoWMgdMO5eSBjaOG7jW4gLWIsIC1CLCB2w6AgLS1kZXRhY2ggbG/huqFpIHThu6sgbOG6q24gbmhhdSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjU2OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjU4MAogbXNnaWQgIi0tW25vLV10cmFjayBjYW4gb25seSBiZSB1c2VkIGlmIGEgbmV3IGJyYW5jaCBpcyBjcmVhdGVkIgogbXNnc3RyICItLVtuby1ddHJhY2sgY2jhu4kgY8OzIHRo4buDIMSRxrDhu6NjIGTDuW5nIG7hur91IG3hu5l0IG5ow6FuaCBt4bubaSDEkcaw4bujYyB04bqhbyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY2OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY4MAogbXNnaWQgInJlYXNvbiBmb3IgbG9ja2luZyIKIG1zZ3N0ciAibMO9IGRvIGtow7NhIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjgxIGJ1aWx0aW4vd29ya3RyZWUuYzo3MTQgYnVpbHRpbi93b3JrdHJlZS5jOjc3MgotIzogYnVpbHRpbi93b3JrdHJlZS5jOjg5OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5MiBidWlsdGluL3dvcmt0cmVlLmM6NzI1IGJ1aWx0aW4vd29ya3RyZWUuYzo3OTkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIiVzIGtow7RuZyBwaOG6o2kgbMOgIGPDonkgbMOgbSB2aeG7h2MiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODMgYnVpbHRpbi93b3JrdHJlZS5jOjcxNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5NCBidWlsdGluL3dvcmt0cmVlLmM6NzI3CiBtc2dpZCAiVGhlIG1haW4gd29ya2luZyB0cmVlIGNhbm5vdCBiZSBsb2NrZWQgb3IgdW5sb2NrZWQiCiBtc2dzdHIgIkPDonkgdGjGsCBt4bulYyBsw6BtIHZp4buHYyBjaMOtbmgga2jDtG5nIHRo4buDIGtow7NhIGhheSBi4buPIGtow7NhIMSRxrDhu6NjIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Njg4CisjOiBidWlsdGluL3dvcmt0cmVlLmM6Njk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQsIHJlYXNvbjogJXMiCiBtc2dzdHIgIuKAnCVz4oCdIMSRw6MgxJHGsOG7o2Mga2jDs2EgcuG7k2ksIGzDvSBkbzogJXMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2OTAKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCIKIG1zZ3N0ciAi4oCcJXPigJ0gxJHDoyDEkcaw4bujYyBraMOzYSBy4buTaSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjcxOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjcyOQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBsb2NrZWQiCiBtc2dzdHIgIuKAnCVz4oCdIGNoxrBhIGLhu4sga2jDs2EiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3NDMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3NzAKIG1zZ2lkICJ3b3JraW5nIHRyZWVzIGNvbnRhaW5pbmcgc3VibW9kdWxlcyBjYW5ub3QgYmUgbW92ZWQgb3IgcmVtb3ZlZCIKIG1zZ3N0ciAiY8OieSBsw6BtIHZp4buHYyBjw7MgY2jhu6lhIG3DtC3EkXVuLWNvbiBraMO0bmcgdGjhu4MgZGkgY2h1eeG7g24gaGF5IHjDs2EgYuG7jyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc1MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3OAogbXNnaWQgImZvcmNlIG1vdmUgZXZlbiBpZiB3b3JrdHJlZSBpcyBkaXJ0eSBvciBsb2NrZWQiCiBtc2dzdHIgIsOpcCBideG7mWMgbmdheSBj4bqjIGtoaSBjw6J5IGzDoG0gdmnhu4djIMSRYW5nIGLhuqluIGhheSBi4buLIGtow7NhIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Nzc0IGJ1aWx0aW4vd29ya3RyZWUuYzo5MDEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MDEgYnVpbHRpbi93b3JrdHJlZS5jOjkyOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGEgbWFpbiB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIuKAnCVz4oCdIGzDoCBjw6J5IGzDoG0gdmnhu4djIGNow61uaCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZmlndXJlIG91dCBkZXN0aW5hdGlvbiBuYW1lIGZyb20gJyVzJyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6FjIGjhu41hIHJhIHTDqm4gxJHDrWNoIMSR4bq/biDigJwlc+KAnSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc4NQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjgxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YXJnZXQgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAixJHDrWNoIOKAnCVz4oCdIMSRw6MgdOG7k24gdOG6oWkgcuG7k2kiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3OTMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNhbm5vdCBtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZSwgbG9jayByZWFzb246ICVzXG4iCkBAIC0xODMyNiw3ICsyMTU3NCw3IEBACiAia2jDtG5nIHRo4buDIGRpIGNodXnhu4NuIG3hu5l0IGPDonktbMOgbS12aeG7h2MgYuG7iyBraMOzYSwga2jDs2EgdsOsOiAlc1xuIgogImTDuW5nIOKAnG1vdmUgLWYgLWbigJ0gxJHhu4MgZ2hpIMSRw6ggaG/hurdjIG3hu58ga2jDs2EgdHLGsOG7m2MgxJHDoyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc5NQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjgyMgogbXNnaWQgIiIKICJjYW5ub3QgbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWU7XG4iCiAidXNlICdtb3ZlIC1mIC1mJyB0byBvdmVycmlkZSBvciB1bmxvY2sgZmlyc3QiCkBAIC0xODMzNCwzNiArMjE1ODIsMzggQEAKICJraMO0bmcgdGjhu4MgZGkgY2h1eeG7g24gbeG7mXQgY8OieS1sw6BtLXZp4buHYyBi4buLIGtow7NhO1xuIgogImTDuW5nIOKAnG1vdmUgLWYgLWbigJ0gxJHhu4MgZ2hpIMSRw6ggaG/hurdjIG3hu58ga2jDs2EgdHLGsOG7m2MgxJHDoyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc5OAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ2YWxpZGF0aW9uIGZhaWxlZCwgY2Fubm90IG1vdmUgd29ya2luZyB0cmVlOiAlcyIKIG1zZ3N0ciAidGjhuqltIHRyYSBn4bq3cCBs4buXaSwga2jDtG5nIHRo4buDIGRpIGNodXnhu4NuIG3hu5l0IGPDonktbMOgbS12aeG7h2M6ICVzIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6ODAzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBtb3ZlICclcycgdG8gJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGNodXnhu4NuIOKAnCVz4oCdIHNhbmcg4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJ1biAnZ2l0IHN0YXR1cycgb24gJyVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGNo4bqheSDigJxnaXQgc3RhdHVz4oCdIHbDoG8g4oCcJXPigJ0iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NTUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4ODIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBkaXJ0eSwgdXNlIC0tZm9yY2UgdG8gZGVsZXRlIGl0IgotbXNnc3RyICLigJwlc+KAnSDEkWFuZyBi4bqpbiwgaMOjeSBkw7luZyAtLWZvcmNlIMSR4buDIHjDs2EgbsOzIgorbXNnaWQgIiclcycgY29udGFpbnMgbW9kaWZpZWQgb3IgdW50cmFja2VkIGZpbGVzLCB1c2UgLS1mb3JjZSB0byBkZWxldGUgaXQiCittc2dzdHIgIiIKKyLigJwlc+KAnSBjw7MgY2jhu6lhIGPDoWMgdOG6rXAgdGluIMSRw6MgYuG7iyBz4butYSBjaOG7r2EgaG/hurdjIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aSwgaMOjeSBkw7luZyAtLSIKKyJmb3JjZSDEkeG7gyB4w7NhIG7DsyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjg2MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjg4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcnVuICdnaXQgc3RhdHVzJyBvbiAnJXMnLCBjb2RlICVkIgogbXNnc3RyICJn4bq3cCBs4buXaSBraGkgY2jhuqF5IOKAnGdpdCBzdGF0dXPigJ0gdHJvbmcg4oCcJXPigJ0sIG3DoyAlZCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjg4MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjkxMAogbXNnaWQgImZvcmNlIHJlbW92YWwgZXZlbiBpZiB3b3JrdHJlZSBpcyBkaXJ0eSBvciBsb2NrZWQiCiBtc2dzdHIgIsOpcCBideG7mWMgZGkgY2h1eeG7g24gdGjhuq1tIGNow60gY+G6oyBraGkgY8OieSBsw6BtIHZp4buHYyDEkWFuZyBi4bqpbiBoYXkgYuG7iyBraMOzYSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjkwNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjkzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY2Fubm90IHJlbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWUsIGxvY2sgcmVhc29uOiAlc1xuIgpAQCAtMTgzNzIsNyArMjE2MjIsNyBAQAogImtow7RuZyB0aOG7gyB4w7NhIGLhu48gbeG7mXQgY8OieS1sw6BtLXZp4buHYyBi4buLIGtow7NhLCBraMOzYSB2w6w6ICVzXG4iCiAiZMO5bmcg4oCccmVtb3ZlIC1mIC1m4oCdIMSR4buDIGdoaSDEkcOoIGhv4bq3YyBt4bufIGtow7NhIHRyxrDhu5tjIMSRw6MiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MDgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MzUKIG1zZ2lkICIiCiAiY2Fubm90IHJlbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWU7XG4iCiAidXNlICdyZW1vdmUgLWYgLWYnIHRvIG92ZXJyaWRlIG9yIHVubG9jayBmaXJzdCIKQEAgLTE4MzgwLDI4ICsyMTYzMCw0NCBAQAogImtow7RuZyB0aOG7gyB4w7NhIGLhu48gbeG7mXQgY8OieS1sw6BtLXZp4buHYyBi4buLIGtow7NhO1xuIgogImTDuW5nIOKAnHJlbW92ZSAtZiAtZuKAnSDEkeG7gyBnaGkgxJHDqCBob+G6t2MgbeG7nyBraMOzYSB0csaw4bubYyDEkcOjIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6OTExCisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInZhbGlkYXRpb24gZmFpbGVkLCBjYW5ub3QgcmVtb3ZlIHdvcmtpbmcgdHJlZTogJXMiCiBtc2dzdHIgInRo4bqpbSB0cmEgZ+G6t3AgbOG7l2ksIGtow7RuZyB0aOG7gyBn4buhIGLhu48gbeG7mXQgY8OieS1sw6BtLXZp4buHYzogJXMiCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjE0CisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzoxNQogbXNnaWQgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD08cHJlZml4Pi9dIgogbXNnc3RyICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PHRp4buBbi104buRPi9dIgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyNworIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjgKIG1zZ2lkICI8cHJlZml4Pi8iCiBtc2dzdHIgIjx0aeG7gW4gdOG7kT4vIgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyOAorIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjkKIG1zZ2lkICJ3cml0ZSB0cmVlIG9iamVjdCBmb3IgYSBzdWJkaXJlY3RvcnkgPHByZWZpeD4iCiBtc2dzdHIgImdoaSDEkeG7kWkgdMaw4bujbmcgY8OieSAodHJlZSkgY2hvIDx0aeG7gW4gdOG7kT4gdGjGsCBt4bulYyBjb24iCiAKLSM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjMwCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMQogbXNnaWQgIm9ubHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmciCiBtc2dzdHIgImNo4buJIGjhu691IMOtY2gga2hpIGPhuqduIGfhu6EgbOG7l2kiCiAKLSM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyMgorIzogZmFzdC1pbXBvcnQuYzozMTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4cGVjdGVkICdtYXJrJyBjb21tYW5kLCBnb3QgJXMiCittc2dzdHIgIkPhuqduIGzhu4duaCAnbWFyaycsIG5oxrBuZyBs4bqhaSBuaOG6rW4gxJHGsOG7o2MgJXMiCisKKyM6IGZhc3QtaW1wb3J0LmM6MzEzMAorIywgYy1mb3JtYXQKK21zZ2lkICJFeHBlY3RlZCAndG8nIGNvbW1hbmQsIGdvdCAlcyIKK21zZ3N0ciAiQ+G6p24gbOG7h25oICd0bycsIG5oxrBuZyBs4bqhaSBuaOG6rW4gxJHGsOG7o2MgJXMiCisKKyM6IGZhc3QtaW1wb3J0LmM6MzI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmZWF0dXJlICclcycgZm9yYmlkZGVuIGluIGlucHV0IHdpdGhvdXQgLS1hbGxvdy11bnNhZmUtZmVhdHVyZXMiCittc2dzdHIgIiIKKyJ0w61uaCBuxINuZyAnICVzICcgYuG7iyBj4bqlbSBjaOG7iSB0cm9uZyDEkeG6p3UgdsOgbyBtw6Aga2jDtG5nIGPDsyAtLWFsbG93LXVuc2FmZS1mZWF0dXJlcyIKKworIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgcGVybWlzc2lvbnMgb24geW91ciBzb2NrZXQgZGlyZWN0b3J5IGFyZSB0b28gbG9vc2U7IG90aGVyXG4iCkBAIC0xODQxNCw3ICsyMTY4MCw3IEBACiAiXG4iCiAiXHRjaG1vZCAwNzAwICVzIgogCi0jOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyNzEKKyM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjI3MgogbXNnaWQgInByaW50IGRlYnVnZ2luZyBtZXNzYWdlcyB0byBzdGRlcnIiCiBtc2dzdHIgImluIHRow7RuZyB0aW4gZ+G7oSBs4buXaSByYSDEkeG6p3UgcmEgbOG7l2kgdGnDqnUgY2h14bqpbiIKIApAQCAtMTg0MjcsNiArMjE2OTMsMTQgQEAKIG1zZ2lkICJ0b28gbWFueSBjb21taXRzIG1hcmtlZCByZWFjaGFibGUiCiBtc2dzdHIgImPDsyBxdcOhIG5oaeG7gXUgbOG6p24gY2h1eeG7g24gZ2lhbyDEkcaw4bujYyDEkcOhbmggZOG6pXUgbMOgIHRp4bq/cCBj4bqtbiDEkcaw4bujYyIKIAorIzogdC9oZWxwZXIvdGVzdC1zZXJ2ZS12Mi5jOjcKK21zZ2lkICJ0ZXN0LXRvb2wgc2VydmUtdjIgWzxvcHRpb25zPl0iCittc2dzdHIgInRlc3QtdG9vbCBzZXJ2ZS12MiBbPGPDoWMgdMO5eSBjaOG7jW4+XSIKKworIzogdC9oZWxwZXIvdGVzdC1zZXJ2ZS12Mi5jOjE5Cittc2dpZCAiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBhZHZlcnRpc2luZyBjYXBhYmlsaXRpZXMiCittc2dzdHIgInRob8OhdCBuZ2F5IHNhdSBraGkga2jhu59pIHThuqFvIHF14bqjbmcgY8OhbyBjYXBhYmlsaXRpZXMiCisKICM6IGdpdC5jOjI3CiBtc2dpZCAiIgogImdpdCBbLS12ZXJzaW9uXSBbLS1oZWxwXSBbLUMgPHBhdGg+XSBbLWMgPG5hbWU+PTx2YWx1ZT5dXG4iCkBAIC0xODQ0OSwxMDQgKzIxNzIzLDE1NiBAQAogbXNnaWQgIiIKICInZ2l0IGhlbHAgLWEnIGFuZCAnZ2l0IGhlbHAgLWcnIGxpc3QgYXZhaWxhYmxlIHN1YmNvbW1hbmRzIGFuZCBzb21lXG4iCiAiY29uY2VwdCBndWlkZXMuIFNlZSAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyBvciAnZ2l0IGhlbHAgPGNvbmNlcHQ+J1xuIgotInRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIG9yIGNvbmNlcHQuIgorInRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIG9yIGNvbmNlcHQuXG4iCisiU2VlICdnaXQgaGVscCBnaXQnIGZvciBhbiBvdmVydmlldyBvZiB0aGUgc3lzdGVtLiIKIG1zZ3N0ciAiIgogIuKAnGdpdCBoZWxwIC1h4oCdIHbDoCDigJxnaXQgaGVscCAtZ+KAnSBsaeG7h3Qga8OqIGPDoWMgY8OidSBs4buHbmggY29uIHPhurVuIGPDsyB2w6AgbeG7mXQgc+G7kVxuIgogImjGsOG7m25nIGThuqtuIHbhu4Ega2jDoWkgbmnhu4dtLiBYZW0g4oCcZ2l0IGhlbHAgPGzhu4duaD7igJ0gaGF5IOKAnGdpdCBoZWxwIDxraMOhaS1uaeG7h20+4oCdXG4iCi0ixJHhu4MgeGVtIGPDoWMgxJHhurdjIHThuqMgY2hvIGzhu4duaCBoYXkga2jDoWkgbmnhu4dtIGPhu6UgdGjhu4MuIgorIsSR4buDIHhlbSBjw6FjIMSR4bq3YyB04bqjIGNobyBs4buHbmggaGF5IGtow6FpIG5p4buHbSBj4bulIHRo4buDLlxuIgorIlhlbSAnZ2l0IGhlbHAgZ2l0JyDEkeG7gyBiaeG6v3QgdOG7lW5nIHF1YW4gY+G7p2EgaOG7hyB0aOG7kW5nLiIKIAotIzogZ2l0LmM6MTczCisjOiBnaXQuYzoxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gZGlyZWN0b3J5IGdpdmVuIGZvciAtLWdpdC1kaXJcbiIKIG1zZ3N0ciAiY2jGsGEgY2jhu4kgcmEgdGjGsCBt4bulYyBjaG8gLS1naXQtZGlyXG4iCiAKLSM6IGdpdC5jOjE4NworIzogZ2l0LmM6MjAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG5hbWVzcGFjZSBnaXZlbiBmb3IgLS1uYW1lc3BhY2VcbiIKIG1zZ3N0ciAiY2jGsGEgxJHGsGEgcmEga2jDtG5nIGdpYW4gbMOgbSB2aeG7h2MgY2hvIC0tbmFtZXNwYWNlXG4iCiAKLSM6IGdpdC5jOjIwMQorIzogZ2l0LmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLS13b3JrLXRyZWVcbiIKIG1zZ3N0ciAiY2jGsGEgxJHGsGEgcmEgY8OieSBsw6BtIHZp4buHYyBjaG8gLS13b3JrLXRyZWVcbiIKIAotIzogZ2l0LmM6MjE1CisjOiBnaXQuYzoyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gcHJlZml4IGdpdmVuIGZvciAtLXN1cGVyLXByZWZpeFxuIgogbXNnc3RyICJjaMawYSDEkcawYSByYSB0aeG7gW4gdOG7kSBjaG8gLS1zdXBlci1wcmVmaXhcbiIKIAotIzogZ2l0LmM6MjM3CisjOiBnaXQuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiLWMgZXhwZWN0cyBhIGNvbmZpZ3VyYXRpb24gc3RyaW5nXG4iCiBtc2dzdHIgIi1jIGPhuqduIG3hu5l0IGNodeG7l2kgY+G6pXUgaMOsbmhcbiIKIAotIzogZ2l0LmM6Mjc1CisjOiBnaXQuYzoyODgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gZGlyZWN0b3J5IGdpdmVuIGZvciAtQ1xuIgogbXNnc3RyICJjaMawYSDEkcawYSByYSB0aMawIG3hu6VjIGNobyAtQ1xuIgogCi0jOiBnaXQuYzozMDAKKyM6IGdpdC5jOjMxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9wdGlvbjogJXNcbiIKIG1zZ3N0ciAia2jDtG5nIGhp4buDdSB0w7l5IGNo4buNbjogJXNcbiIKIAotIzogZ2l0LmM6NzE5CisjOiBnaXQuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAid2hpbGUgZXhwYW5kaW5nIGFsaWFzICclcyc6ICclcyciCittc2dzdHIgInRyb25nIGtoaSB0cmnhu4NuIGtoYWkgYsOtIGRhbmgg4oCcJXPigJ06IOKAnCVz4oCdIgorCisjOiBnaXQuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImFsaWFzICclcycgY2hhbmdlcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4iCisiWW91IGNhbiB1c2UgJyFnaXQnIGluIHRoZSBhbGlhcyB0byBkbyB0aGlzIgorbXNnc3RyICIiCisiYsOtIGRhbmgg4oCcJXPigJ0gdGhheSDEkeG7lWkgYmnhur9uIG3DtGkgdHLGsOG7nW5nLlxuIgorIkLhuqFuIGPDsyB0aOG7gyBz4butIGThu6VuZyDigJwhZ2l04oCdIHRyb25nIMSR4bq3dCBiw60gZGFuaCDEkeG7gyBsw6BtIHZp4buHYyBuw6B5IgorCisjOiBnaXQuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1wdHkgYWxpYXMgZm9yICVzIgorbXNnc3RyICJsw6BtIHRy4buRbmcgYsOtIGRhbmggY2hvICVzIgorCisjOiBnaXQuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjdXJzaXZlIGFsaWFzOiAlcyIKK21zZ3N0ciAixJHhu4cgcXV5IGPDoWMgYsOtIGRhbmg6ICVzIgorCisjOiBnaXQuYzo0NTkKK21zZ2lkICJ3cml0ZSBmYWlsdXJlIG9uIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAibOG7l2kgZ2hpIG5naGnDqm0gdHJvbmcgdHLDqm4gxJHhuqd1IHJhIHRpw6p1IGNodeG6qW4iCisKKyM6IGdpdC5jOjQ2MQorbXNnaWQgInVua25vd24gd3JpdGUgZmFpbHVyZSBvbiBzdGFuZGFyZCBvdXRwdXQiCittc2dzdHIgImzhu5dpIG5naGnDqm0gdHLhu41uZyBjaMawYSBiaeG6v3Qga2hpIGdoaSByYSDEkeG6p3UgcmEgdGnDqnUgY2h14bqpbiIKKworIzogZ2l0LmM6NDYzCittc2dpZCAiY2xvc2UgZmFpbGVkIG9uIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSRw7NuZyDEkeG6p3UgcmEgdGnDqnUgY2h14bqpbiIKKworIzogZ2l0LmM6NzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImFsaWFzIGxvb3AgZGV0ZWN0ZWQ6IGV4cGFuc2lvbiBvZiAnJXMnIGRvZXMgbm90IHRlcm1pbmF0ZTolcyIKIG1zZ3N0ciAiIgogImTDsiB0w6xtIHRo4bqleSBjw6FjIGLDrSBkYW5oIHF14bqpbiB0csOybjogYmnhu4N1IHRo4bupYyBj4bunYSDigJwlc+KAnSBraMO0bmcgY8OzIMSRaeG7g20ga+G6v3Q6JXMiCiAKLSM6IGdpdC5jOjgwMgorIzogZ2l0LmM6ODQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBoYW5kbGUgJXMgYXMgYSBidWlsdGluIgorbXNnc3RyICJraMO0bmcgdGjhu4MgeOG7rSBsw70gJXMgbmjGsCBsw6AgbeG7mXQgcGjhuqduIGLhu5Ugc3VuZyIKKworIzogZ2l0LmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorImPDoWNoIGTDuW5nOiAlc1xuIgorIlxuIgorCisjOiBnaXQuYzo4NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwYW5zaW9uIG9mIGFsaWFzICclcycgZmFpbGVkOyAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kXG4iCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBraGFpIHRyaeG7g24gYsOtIGRhbmgg4oCcJXPigJ07IOKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbMOgIGzhu4duaCBnaXRcbiIKIAotIzogZ2l0LmM6ODE0CisjOiBnaXQuYzo4ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJ1biBjb21tYW5kICclcyc6ICVzXG4iCiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBjaOG6oXkgbOG7h25oIOKAnCVz4oCdOiAlc1xuIgogCi0jOiBodHRwLmM6Mzc0CisjOiBodHRwLmM6Mzc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5lZ2F0aXZlIHZhbHVlIGZvciBodHRwLnBvc3RidWZmZXI7IGRlZmF1bHRpbmcgdG8gJWQiCiBtc2dzdHIgImdpw6EgdHLhu4sgw6JtIGNobyBodHRwLnBvc3RidWZmZXI7IMSR4bq3dCB0aMOgbmggbeG6t2MgxJHhu4tuaCBsw6AgJWQiCiAKLSM6IGh0dHAuYzozOTUKKyM6IGh0dHAuYzozOTkKIG1zZ2lkICJEZWxlZ2F0aW9uIGNvbnRyb2wgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjIyLjAiCiBtc2dzdHIgIsSQaeG7gXUga2hp4buDbiBnaWFvIHF1eeG7gW4ga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MgduG7m2kgY1VSTCA8IDcuMjIuMCIKIAotIzogaHR0cC5jOjQwNAorIzogaHR0cC5jOjQwOAogbXNnaWQgIlB1YmxpYyBrZXkgcGlubmluZyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuNDQuMCIKIG1zZ3N0ciAiQ2jhu5F0IGtow7NhIGPDtG5nIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIHbhu5tpIGNVUkwgPCA3LjQ0LjAiCiAKLSM6IGh0dHAuYzo4MzcKKyM6IGh0dHAuYzo4NzYKIG1zZ2lkICJDVVJMU1NMT1BUX05PX1JFVk9LRSBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuNDQuMCIKIG1zZ3N0ciAiQ1VSTFNTTE9QVF9OT19SRVZPS0Uga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MgduG7m2kgY1VSTCA8IDcuNDQuMCIKIAotIzogaHR0cC5jOjkxMAorIzogaHR0cC5jOjk0OQogbXNnaWQgIlByb3RvY29sIHJlc3RyaWN0aW9ucyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuMTkuNCIKIG1zZ3N0ciAiQ8OhYyBo4bqhbiBjaOG6vyBnaWFvIHRo4bupYyBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyB24bubaSBjVVJMIDwgNy4xOS40IgogCi0jOiBodHRwLmM6MTA0NgorIzogaHR0cC5jOjEwODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5zdXBwb3J0ZWQgU1NMIGJhY2tlbmQgJyVzJy4gU3VwcG9ydGVkIFNTTCBiYWNrZW5kczoiCiBtc2dzdHIgIiIKICJLaMO0bmcgaOG7lyB0cuG7oyDhu6luZyBk4bulbmcgU1NMIGNo4bqheSBwaMOtYSBzYXUg4oCcJXPigJ0uIEjhu5cgdHLhu6Mg4bupbmcgZOG7pW5nIFNTTCBjaOG6oXkgcGjDrWEgIgogInNhdToiCiAKLSM6IGh0dHAuYzoxMDUzCisjOiBodHRwLmM6MTA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0IFNTTCBiYWNrZW5kIHRvICclcyc6IGNVUkwgd2FzIGJ1aWx0IHdpdGhvdXQgU1NMIGJhY2tlbmRzIgogbXNnc3RyICIiCiAiS2jDtG5nIHRo4buDIMSR4bq3dCDhu6luZyBk4bulbmcgY2jhuqF5IFNTTCBwaMOtYSBzYXUg4oCcJXPigJ06IGNVUkwgxJHGsOG7o2MgYmnDqm4gZOG7i2NoIGtow7RuZyBjw7MgIgogInPhu7EgaOG7lyB0cuG7oyDhu6luZyBk4bulbmcgY2jhuqF5IHBow61hIHNhdSBTU0wiCiAKLSM6IGh0dHAuYzoxMDU3CisjOiBodHRwLmM6MTA5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0IFNTTCBiYWNrZW5kIHRvICclcyc6IGFscmVhZHkgc2V0IgogbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhurd0IOG7qW5nIGThu6VuZyBjaOG6oXkgc2F1IFNTTCBjaG8g4oCcJXPigJ06IMSRw6MgxJHhurd0IHLhu5NpIgogCi0jOiBodHRwLmM6MTkyMQorIzogaHR0cC5jOjE5NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInVuYWJsZSB0byB1cGRhdGUgdXJsIGJhc2UgZnJvbSByZWRpcmVjdGlvbjpcbiIKQEAgLTE4NTU3LDM5ICsyMTg4MywxODAgQEAKICIgICAgICBo4buPaSBjaG86ICVzXG4iCiAiIGNodXnhu4NuIGjGsOG7m25nOiAlcyIKIAotIzogcmVtb3RlLWN1cmwuYzo0MDEKKyM6IHJlbW90ZS1jdXJsLmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcXVvdGluZyBpbiBwdXNoLW9wdGlvbiB2YWx1ZTogJyVzJyIKK21zZ3N0ciAic2FpIHRyw61jaCBk4bqrbiB0cm9uZyBnacOhIHRy4buLIHB1c2gtb3B0aW9uIDrigJwlc+KAnSIKKworIzogcmVtb3RlLWN1cmwuYzoyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNpbmZvL3JlZnMgbm90IHZhbGlkOiBpcyB0aGlzIGEgZ2l0IHJlcG9zaXRvcnk/IgorbXNnc3RyICIlc2luZm8vcmVmcyBraMO0bmcgaOG7o3AgbOG7hzogxJHDonkgY8OzIHBo4bqjaSBsw6AgbeG7mXQga2hvIGdpdD8iCisKKyM6IHJlbW90ZS1jdXJsLmM6MzY0Cittc2dpZCAiaW52YWxpZCBzZXJ2ZXIgcmVzcG9uc2U7IGV4cGVjdGVkIHNlcnZpY2UsIGdvdCBmbHVzaCBwYWNrZXQiCittc2dzdHIgIiIKKyLEkcOhcCDhu6luZyB04burIG3DoXkgcGjhu6VjIHbhu6Uga2jDtG5nIGjhu6NwIGzhu4c7IGPhuqduIGThu4tjaCB24bulLCBuaMawbmcgbOG6oWkgbmjhuq1uIMSRxrDhu6NjIGfDs2kgIgorImZsdXNoIgorCisjOiByZW1vdGUtY3VybC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNlcnZlciByZXNwb25zZTsgZ290ICclcyciCittc2dzdHIgInRy4bqjIHbhu4EgY+G7p2EgbcOheSBwaOG7pWMgduG7pSBraMO0bmcgaOG7o3AgbOG7hzsgbmjhuq1uIMSRxrDhu6NjICVzIgorCisjOiByZW1vdGUtY3VybC5jOjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZXBvc2l0b3J5ICclcycgbm90IGZvdW5kIgorbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkga2hvIOKAnCVz4oCdIgorCisjOiByZW1vdGUtY3VybC5jOjQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJBdXRoZW50aWNhdGlvbiBmYWlsZWQgZm9yICclcyciCittc2dzdHIgIljDoWMgdGjhu7FjIGfhurdwIGzhu5dpIGNobyDigJwlc+KAnSIKKworIzogcmVtb3RlLWN1cmwuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnOiAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHRydXkgY+G6rXAg4oCcJXPigJ06ICVzIgorCisjOiByZW1vdGUtY3VybC5jOjQ2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWRpcmVjdGluZyB0byAlcyIKIG1zZ3N0ciAiY2h1eeG7g24gaMaw4bubbmcgxJHhur9uICVzIgogCi0jOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaDo2MAorIzogcmVtb3RlLWN1cmwuYzo1OTMKK21zZ2lkICJzaG91bGRuJ3QgaGF2ZSBFT0Ygd2hlbiBub3QgZ2VudGxlIG9uIEVPRiIKK21zZ3N0ciAia2jDtG5nIG7Dqm4gY8OzIEVPRiBraGkga2jDtG5nIGdlbnRsZSB0csOqbiBFT0YiCisKKyM6IHJlbW90ZS1jdXJsLmM6NjczCittc2dpZCAidW5hYmxlIHRvIHJld2luZCBycGMgcG9zdCBkYXRhIC0gdHJ5IGluY3JlYXNpbmcgaHR0cC5wb3N0QnVmZmVyIgorbXNnc3RyICJraMO0bmcgdGjhu4MgdHVhIGzhuqFpIGThu68gbGnhu4d1IHBvc3QgcnBjIC0gdGjhu60gdMSDbmcgaHR0cC5wb3N0QnVmZmVyIgorCisjOiByZW1vdGUtY3VybC5jOjczMworIywgYy1mb3JtYXQKK21zZ2lkICJSUEMgZmFpbGVkOyAlcyIKK21zZ3N0ciAiUlBDIGfhurdwIGzhu5dpOyAlcyIKKworIzogcmVtb3RlLWN1cmwuYzo3NzMKK21zZ2lkICJjYW5ub3QgaGFuZGxlIHB1c2hlcyB0aGlzIGJpZyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHjhu60gbMO9IMSR4bqpeSBjw6FpIGzhu5tuIG7DoHkiCisKKyM6IHJlbW90ZS1jdXJsLmM6ODg4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZWZsYXRlIHJlcXVlc3Q7IHpsaWIgZGVmbGF0ZSBlcnJvciAlZCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGdp4bqjaSBuw6luIHnDqnUgY+G6p3U7IGPDsyBs4buXaSBraGkgZ2nhuqNpIG7DqW4gY+G7p2EgemxpYiAlZCIKKworIzogcmVtb3RlLWN1cmwuYzo4OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRlZmxhdGUgcmVxdWVzdDsgemxpYiBlbmQgZXJyb3IgJWQiCittc2dzdHIgImtow7RuZyB0aOG7gyBnaeG6o2kgbsOpbiB5w6p1IGPhuqd1OyBjw7MgbOG7l2kg4bufIGN14buRaSAlZCIKKworIzogcmVtb3RlLWN1cmwuYzoxMDIzCittc2dpZCAiZHVtYiBodHRwIHRyYW5zcG9ydCBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgY2FwYWJpbGl0aWVzIgorbXNnc3RyICLEkeG7lSB24bqtbiBjaHV54buDbiBodHRwIGtow7RuZyBo4buXIHRy4bujIGto4bqjIG7Eg25nIG7DtG5nIgorCisjOiByZW1vdGUtY3VybC5jOjEwMzcKK21zZ2lkICJmZXRjaCBmYWlsZWQuIgorbXNnc3RyICJs4bqleSB24buBIGfhurdwIGzhu5dpLiIKKworIzogcmVtb3RlLWN1cmwuYzoxMDg1Cittc2dpZCAiY2Fubm90IGZldGNoIGJ5IHNoYTEgb3ZlciBzbWFydCBodHRwIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgduG7gSBi4bqxbmcgc2hhMSB0aMO0bmcgcXVhIHNtYXJ0IGh0dHAiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTEyOSByZW1vdGUtY3VybC5jOjExMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJvdG9jb2wgZXJyb3I6IGV4cGVjdGVkIHNoYS9yZWYsIGdvdCAnJXMnIgorbXNnc3RyICJs4buXaSBnaWFvIHRo4bupYzogY+G6p24gc2hhL3JlZiwgbmjGsG5nIGzhuqFpIG5o4bqtbiDEkcaw4bujYyDigJwlc+KAnSIKKworIzogcmVtb3RlLWN1cmwuYzoxMTQ3IHJlbW90ZS1jdXJsLmM6MTI2MQorIywgYy1mb3JtYXQKK21zZ2lkICJodHRwIHRyYW5zcG9ydCBkb2VzIG5vdCBzdXBwb3J0ICVzIgorbXNnc3RyICJ24bqtbiBjaHV54buDbiBodHRwIGtow7RuZyBo4buXIHRy4bujICVzIgorCisjOiByZW1vdGUtY3VybC5jOjExODMKK21zZ2lkICJnaXQtaHR0cC1wdXNoIGZhaWxlZCIKK21zZ3N0ciAiZ2l0LWh0dHAtcHVzaCBn4bq3cCBs4buXaSIKKworIzogcmVtb3RlLWN1cmwuYzoxMzY3Cittc2dpZCAicmVtb3RlLWN1cmw6IHVzYWdlOiBnaXQgcmVtb3RlLWN1cmwgPHJlbW90ZT4gWzx1cmw+XSIKK21zZ3N0ciAicmVtb3RlLWN1cmw6IHVzYWdlOiBnaXQgcmVtb3RlLWN1cmwgPG3DoXkgY2jhu6c+IFs8dXJsPl0iCisKKyM6IHJlbW90ZS1jdXJsLmM6MTM5OQorbXNnaWQgInJlbW90ZS1jdXJsOiBlcnJvciByZWFkaW5nIGNvbW1hbmQgc3RyZWFtIGZyb20gZ2l0IgorbXNnc3RyICJyZW1vdGUtY3VybDogZ+G6t3AgbOG7l2kga2hpIMSR4buNYyBsdeG7k25nIGThu68gbGnhu4d1IGzhu4duaCB04burIGdpdCIKKworIzogcmVtb3RlLWN1cmwuYzoxNDA2Cittc2dpZCAicmVtb3RlLWN1cmw6IGZldGNoIGF0dGVtcHRlZCB3aXRob3V0IGEgbG9jYWwgcmVwbyIKK21zZ3N0ciAicmVtb3RlLWN1cmw6IMSRw6MgY+G7kSBn4bqvbmcgZmV0Y2ggbcOgIGtow7RuZyBjw7Mga2hvIG7hu5lpIGLhu5kiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUtY3VybDogdW5rbm93biBjb21tYW5kICclcycgZnJvbSBnaXQiCittc2dzdHIgInJlbW90ZS1jdXJsOiBraMO0bmcgaGnhu4N1IGzhu4duaCDigJwlc+KAnSB04burIGdpdCIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmg6ODUKIG1zZ2lkICJhcmdzIgogbXNnc3RyICJjw6FjX3RoYW1fc+G7kSIKIAotIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmg6NjEKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oOjg2CiBtc2dpZCAib2JqZWN0IGZpbHRlcmluZyIKIG1zZ3N0ciAibOG7jWMgxJHhu5FpIHTGsOG7o25nIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MTU0CisjOiBwYXJzZS1vcHRpb25zLmg6MTgzCiBtc2dpZCAiZXhwaXJ5LWRhdGUiCiBtc2dzdHIgIm5nw6B5IGjhur90IGjhuqFuIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MTY5CisjOiBwYXJzZS1vcHRpb25zLmg6MTk3CiBtc2dpZCAibm8tb3AgKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpIgogbXNnc3RyICJuby1vcCAodMawxqFuZyB0aMOtY2ggbmfGsOG7o2MpIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjYxCisjOiBwYXJzZS1vcHRpb25zLmg6MzA5CiBtc2dpZCAiYmUgbW9yZSB2ZXJib3NlIgogbXNnc3RyICJjaGkgdGnhur90IGjGoW4gbuG7r2EiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoyNjMKKyM6IHBhcnNlLW9wdGlvbnMuaDozMTEKIG1zZ2lkICJiZSBtb3JlIHF1aWV0IgogbXNnc3RyICJpbSBs4bq3bmcgaMahbiBu4buvYSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjI2OQorIzogcGFyc2Utb3B0aW9ucy5oOjMxNwogbXNnaWQgInVzZSA8bj4gZGlnaXRzIHRvIGRpc3BsYXkgU0hBLTFzIgogbXNnc3RyICJz4butIGThu6VuZyA8bj4gY2jhu68gc+G7kSDEkeG7gyBoaeG7g24gdGjhu4sgU0hBLTFzIgogCisjOiBwYXJzZS1vcHRpb25zLmg6MzM2Cittc2dpZCAiaG93IHRvIHN0cmlwIHNwYWNlcyBhbmQgI2NvbW1lbnRzIGZyb20gbWVzc2FnZSIKK21zZ3N0ciAibMOgbSB0aOG6vyBuw6BvIMSR4buDIGPhuq90IGLhu48ga2hv4bqjbmcgdHLhuq9uZyB2w6AgI2doaWNow7ogdOG7qyBt4bqpdSB0aW4gbmjhuq9uIgorCisjOiBwYXJzZS1vcHRpb25zLmg6MzM3Cittc2dpZCAicmVhZCBwYXRoc3BlYyBmcm9tIGZpbGUiCittc2dzdHIgIsSR4buNYyDEkeG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24gdOG7qyB04bqtcCB0aW4iCisKKyM6IHBhcnNlLW9wdGlvbnMuaDozMzgKK21zZ2lkICIiCisid2l0aCAtLXBhdGhzcGVjLWZyb20tZmlsZSwgcGF0aHNwZWMgZWxlbWVudHMgYXJlIHNlcGFyYXRlZCB3aXRoIE5VTCBjaGFyYWN0ZXIiCittc2dzdHIgIiIKKyJ24bubaSAtLXBhdGhzcGVjLWZyb20tZmlsZSwgY8OhYyBwaOG6p24gdOG7rSDEkeG6t2MgdOG6oyDEkcaw4budbmcgZOG6q24gYuG7iyBuZ8SDbiBjw6FjaCBi4bufaSBrw70gIgorInThu7EgTlVMTCIKKworIzogcmVmLWZpbHRlci5oOjEwMQorbXNnaWQgImtleSIKK21zZ3N0ciAia2jDs2EiCisKKyM6IHJlZi1maWx0ZXIuaDoxMDEKK21zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCittc2dzdHIgInTDqm4gdHLGsOG7nW5nIGPhuqduIHPhuq9wIHjhur9wIgorCisjOiByZXJlcmUuaDo0NAorbXNnaWQgInVwZGF0ZSB0aGUgaW5kZXggd2l0aCByZXVzZWQgY29uZmxpY3QgcmVzb2x1dGlvbiBpZiBwb3NzaWJsZSIKK21zZ3N0ciAiY+G6rXAgbmjhuq10IGLhuqNuZyBt4bulYyBs4bulYyB24bubaSBwaMOibiBnaeG6o2kgeHVuZyDEkeG7mXQgZMO5bmcgbOG6oWkgbuG6v3UgxJHGsOG7o2MiCisKKyM6IHd0LXN0YXR1cy5oOjY3Cittc2dpZCAiSEVBRCBkZXRhY2hlZCBhdCAiCittc2dzdHIgIkhFQUQgxJHGsOG7o2MgdMOhY2ggcuG7nWkgdOG6oWkgIgorCisjOiB3dC1zdGF0dXMuaDo2OAorbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCittc2dzdHIgIkhFQUQgxJHGsOG7o2MgdMOhY2ggcuG7nWkgdOG7qyAiCisKICM6IGNvbW1hbmQtbGlzdC5oOjUwCiBtc2dpZCAiQWRkIGZpbGUgY29udGVudHMgdG8gdGhlIGluZGV4IgogbXNnc3RyICJUaMOqbSBu4buZaSBkdW5nIHThuq1wIHRpbiB2w6BvIGLhuqNuZyBt4bulYyBs4bulYyIKQEAgLTE4NzQzLDggKzIyMjEwLDggQEAKICM6IGNvbW1hbmQtbGlzdC5oOjg2CiBtc2dpZCAiU2hvdyBjaGFuZ2VzIGJldHdlZW4gY29tbWl0cywgY29tbWl0IGFuZCB3b3JraW5nIHRyZWUsIGV0YyIKIG1zZ3N0ciAiIgotIlhlbSBjw6FjIHRoYXkgxJHhu5VpIGdp4buvYSBuaOG7r25nIGzhuqduIGNodXnhu4NuIGdpYW8sIGdp4buvYSBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIHbDoCBjw6J5ICIKLSJsw6BtIHZp4buHYywgdi52Li4iCisiSGnhu4NuIHRo4buLIGPDoWMgdGhheSDEkeG7lWkgZ2nhu69hIG5o4buvbmcgbOG6p24gY2h1eeG7g24gZ2lhbywgZ2nhu69hIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gIgorInbDoCBjw6J5IGzDoG0gdmnhu4djLCB2LnYuLiIKIAogIzogY29tbWFuZC1saXN0Lmg6ODcKIG1zZ2lkICJDb21wYXJlcyBmaWxlcyBpbiB0aGUgd29ya2luZyB0cmVlIGFuZCB0aGUgaW5kZXgiCkBAIC0xODg1Niw4ICsyMjMyMyw4IEBACiBtc2dzdHIgIkR1eeG7h3QgbmdheSBraG8gbMOgbSB2aeG7h2MgY+G7p2EgYuG6oW4gdHJvbmcgZ2l0d2ViIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMTMKLW1zZ2lkICJhZGQgb3IgcGFyc2Ugc3RydWN0dXJlZCBpbmZvcm1hdGlvbiBpbiBjb21taXQgbWVzc2FnZXMiCi1tc2dzdHIgInRow6ptIGhheSBwaMOibiB0w61jaCB0aMO0bmcgdGluIGPhuqV1IHRyw7pjIHRyb25nIGdoaSBjaMO6IGzhuqduIGNodXnhu4NuIGdpYW8iCittc2dpZCAiQWRkIG9yIHBhcnNlIHN0cnVjdHVyZWQgaW5mb3JtYXRpb24gaW4gY29tbWl0IG1lc3NhZ2VzIgorbXNnc3RyICJUaMOqbSBoYXkgcGjDom4gdMOtY2ggdGjDtG5nIHRpbiBj4bqldSB0csO6YyB0cm9uZyBnaGkgY2jDuiBs4bqnbiBjaHV54buDbiBnaWFvIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMTQKIG1zZ2lkICJUaGUgR2l0IHJlcG9zaXRvcnkgYnJvd3NlciIKQEAgLTE4OTM5LDcgKzIyNDA2LDcgQEAKIAogIzogY29tbWFuZC1saXN0Lmg6MTMzCiBtc2dpZCAiQWRkIG9yIGluc3BlY3Qgb2JqZWN0IG5vdGVzIgotbXNnc3RyICJ0aMOqbSBob+G6t2MgxJFp4buBdSB0cmEgxJHhu5FpIHTGsOG7o25nIGdoaSBjaMO6IgorbXNnc3RyICJUaMOqbSBob+G6t2MgxJFp4buBdSB0cmEgxJHhu5FpIHTGsOG7o25nIGdoaSBjaMO6IgogCiAjOiBjb21tYW5kLWxpc3QuaDoxMzQKIG1zZ2lkICJJbXBvcnQgZnJvbSBhbmQgc3VibWl0IHRvIFBlcmZvcmNlIHJlcG9zaXRvcmllcyIKQEAgLTE5MDMxLDIyMCArMjI0OTgsMjMyIEBACiBtc2dzdHIgIsSQ4bq3dCBs4bqhaSBIRUFEIGhp4buHbiBow6BuaCB0aMOgbmggdHLhuqFuZyB0aMOhaSDEkcOjIGNobyIKIAogIzogY29tbWFuZC1saXN0Lmg6MTU2Cittc2dpZCAiUmVzdG9yZSB3b3JraW5nIHRyZWUgZmlsZXMiCittc2dzdHIgIkhvw6BuIG5ndXnDqm4gY8OhYyB04bqtcCB0aW4gY8OieSBsw6BtIHZp4buHYyIKKworIzogY29tbWFuZC1saXN0Lmg6MTU3CiBtc2dpZCAiUmV2ZXJ0IHNvbWUgZXhpc3RpbmcgY29tbWl0cyIKIG1zZ3N0ciAiSG/DoG4gbOG6oWkgbeG7mXQgc+G7kSBs4bqnbiBjaHV54buDbiBnaWFvIHPhurVuIGPDsyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTU3CisjOiBjb21tYW5kLWxpc3QuaDoxNTgKIG1zZ2lkICJMaXN0cyBjb21taXQgb2JqZWN0cyBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgIkxp4buHdCBrw6ogY8OhYyDEkeG7kWkgdMaw4bujbmcgY2h1eeG7g24gZ2lhbyB0aGVvIHRo4bupIHThu7EgdMO0cMO0IMSR4bqjbyBuZ8aw4bujYyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTU4CisjOiBjb21tYW5kLWxpc3QuaDoxNTkKIG1zZ2lkICJQaWNrIG91dCBhbmQgbWFzc2FnZSBwYXJhbWV0ZXJzIgogbXNnc3RyICJD4bqteSByYSB2w6AgeOG7rSBsw70gY8OhYyB0aGFtIHPhu5EiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE1OQorIzogY29tbWFuZC1saXN0Lmg6MTYwCiBtc2dpZCAiUmVtb3ZlIGZpbGVzIGZyb20gdGhlIHdvcmtpbmcgdHJlZSBhbmQgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgIkfhu6EgYuG7jyBjw6FjIHThuq1wIHRpbiB04burIGPDonkgbMOgbSB2aeG7h2MgdsOgIHThu6sgYuG6o25nIG3hu6VjIGzhu6VjIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjAKKyM6IGNvbW1hbmQtbGlzdC5oOjE2MQogbXNnaWQgIlNlbmQgYSBjb2xsZWN0aW9uIG9mIHBhdGNoZXMgYXMgZW1haWxzIgogbXNnc3RyICJH4butaSBt4buZdCB04bqtcCBo4bujcCBj4bunYSBjw6FjIG1p4bq/bmcgdsOhIOG7nyBk4bqhbmcgdGjGsCDEkWnhu4duIHThu60iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2MQorIzogY29tbWFuZC1saXN0Lmg6MTYyCiBtc2dpZCAiUHVzaCBvYmplY3RzIG92ZXIgR2l0IHByb3RvY29sIHRvIGFub3RoZXIgcmVwb3NpdG9yeSIKIG1zZ3N0ciAixJDhuql5IGPDoWMgxJHhu5FpIHTGsOG7o25nIGzDqm4gdGjDtG5nIHF1YSBnaWFvIHRo4bupYyBHaXQgxJHhur9uIGtobyBjaOG7qWEga2jDoWMiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2MgorIzogY29tbWFuZC1saXN0Lmg6MTYzCiBtc2dpZCAiUmVzdHJpY3RlZCBsb2dpbiBzaGVsbCBmb3IgR2l0LW9ubHkgU1NIIGFjY2VzcyIKIG1zZ3N0ciAiSOG7hyB24buPIMSRxINuZyBuaOG6rXAgY8OzIGjhuqFuIGNo4bq/IGNobyB0cnV5IGPhuq1wIFNTSCBjaOG7iS1HaXQiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2MworIzogY29tbWFuZC1saXN0Lmg6MTY0CiBtc2dpZCAiU3VtbWFyaXplICdnaXQgbG9nJyBvdXRwdXQiCiBtc2dzdHIgIkvhur90IHh14bqldCDigJxnaXQgbG9n4oCdIGThuqFuZyB0w7NtIHThuq90IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjQKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NQogbXNnaWQgIlNob3cgdmFyaW91cyB0eXBlcyBvZiBvYmplY3RzIgogbXNnc3RyICJIaeG7g24gdGjhu4sgY8OhYyBraeG7g3Uga2jDoWMgbmhhdSBj4bunYSBjw6FjIMSR4buRaSB0xrDhu6NuZyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTY1CisjOiBjb21tYW5kLWxpc3QuaDoxNjYKIG1zZ2lkICJTaG93IGJyYW5jaGVzIGFuZCB0aGVpciBjb21taXRzIgogbXNnc3RyICJIaeG7g24gdGjhu4sgbmjhu69uZyBuaMOhbmggdsOgIGPDoWMgbOG6p24gY2h1eeG7g24gZ2lhbyBj4bunYSBjaMO6bmciCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2NgorIzogY29tbWFuZC1saXN0Lmg6MTY3CiBtc2dpZCAiU2hvdyBwYWNrZWQgYXJjaGl2ZSBpbmRleCIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIGPDoWMgbXVjIGzhu6VjIGtobyBuw6luIMSRw6MgxJHDs25nIGfDs2kiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2NworIzogY29tbWFuZC1saXN0Lmg6MTY4CiBtc2dpZCAiTGlzdCByZWZlcmVuY2VzIGluIGEgbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiTGnhu4d0IGvDqiBjw6FjIHRoYW0gY2hp4bq/dSB0cm9uZyBt4buZdCBraG8gbuG7mWkgYuG7mSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTY4CisjOiBjb21tYW5kLWxpc3QuaDoxNjkKIG1zZ2lkICJHaXQncyBpMThuIHNldHVwIGNvZGUgZm9yIHNoZWxsIHNjcmlwdHMiCiBtc2dzdHIgIk7DoyBjw6BpIMSR4bq3dCBxdeG7kWMgdOG6vyBow7NhIGPhu6dhIEdpdCBjaG8gdsSDbiBs4buHbmggaOG7hyB24buPIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjkKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MAogbXNnaWQgIkNvbW1vbiBHaXQgc2hlbGwgc2NyaXB0IHNldHVwIGNvZGUiCiBtc2dzdHIgIk3DoyBjw6BpIMSR4bq3dCB2xINuIGzhu4duaCBo4buHIHbhu48gR2l0IGNodW5nIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzAKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MQorbXNnaWQgIkluaXRpYWxpemUgYW5kIG1vZGlmeSB0aGUgc3BhcnNlLWNoZWNrb3V0IgorbXNnc3RyICJLaOG7n2kgdOG6oW8gdsOgIHPhu61hIMSR4buVaSBzcGFyc2UtY2hlY2tvdXQiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MgogbXNnaWQgIlN0YXNoIHRoZSBjaGFuZ2VzIGluIGEgZGlydHkgd29ya2luZyBkaXJlY3RvcnkgYXdheSIKIG1zZ3N0ciAiVOG6oW0gY+G6pXQgxJFpIGPDoWMgdGhheSDEkeG7lWkgdHJvbmcgbeG7mXQgdGjGsCBt4bulYyBsw6BtIHZp4buHYyBi4bqpbiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTcxCisjOiBjb21tYW5kLWxpc3QuaDoxNzMKIG1zZ2lkICJBZGQgZmlsZSBjb250ZW50cyB0byB0aGUgc3RhZ2luZyBhcmVhIgogbXNnc3RyICJUaMOqbSBu4buZaSBkdW5nIHThuq1wIHRpbiB2w6BvIHbDuW5nIGLhu4cgcGjDs25nIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzIKKyM6IGNvbW1hbmQtbGlzdC5oOjE3NAogbXNnaWQgIlNob3cgdGhlIHdvcmtpbmcgdHJlZSBzdGF0dXMiCiBtc2dzdHIgIkhp4buDbiB0aOG7iyB0cuG6oW5nIHRow6FpIGPDonkgbMOgbSB2aeG7h2MiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3MworIzogY29tbWFuZC1saXN0Lmg6MTc1CiBtc2dpZCAiUmVtb3ZlIHVubmVjZXNzYXJ5IHdoaXRlc3BhY2UiCiBtc2dzdHIgIljDs2EgYuG7jyBjw6FjIGtob+G6o25nIHRy4bqvbmcga2jDtG5nIGPhuqduIHRoaeG6v3QiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3NAorIzogY29tbWFuZC1saXN0Lmg6MTc2CiBtc2dpZCAiSW5pdGlhbGl6ZSwgdXBkYXRlIG9yIGluc3BlY3Qgc3VibW9kdWxlcyIKIG1zZ3N0ciAiS2jhu59pIHThuqFvLCBj4bqtcCBuaOG6rXQgaGF5IMSRaeG7gXUgdHJhIGPDoWMgbcO0LcSRdW4tY29uIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzUKKyM6IGNvbW1hbmQtbGlzdC5oOjE3NwogbXNnaWQgIkJpZGlyZWN0aW9uYWwgb3BlcmF0aW9uIGJldHdlZW4gYSBTdWJ2ZXJzaW9uIHJlcG9zaXRvcnkgYW5kIEdpdCIKIG1zZ3N0ciAiVGhhbyB0w6FjIGhhaSBoxrDhu5tuZyBnaeG7ryBoYWkga2hvIFN1YnZlcnNpb24gdsOgIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTc2CisjOiBjb21tYW5kLWxpc3QuaDoxNzgKK21zZ2lkICJTd2l0Y2ggYnJhbmNoZXMiCittc2dzdHIgIkPDoWMgbmjDoW5oIGNodXnhu4NuIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNzkKIG1zZ2lkICJSZWFkLCBtb2RpZnkgYW5kIGRlbGV0ZSBzeW1ib2xpYyByZWZzIgogbXNnc3RyICLEkOG7jWMsIHPhu61hIHbDoCB4w7NhIHRoYW0gY2hp4bq/dSBt4buBbSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTc3CisjOiBjb21tYW5kLWxpc3QuaDoxODAKIG1zZ2lkICJDcmVhdGUsIGxpc3QsIGRlbGV0ZSBvciB2ZXJpZnkgYSB0YWcgb2JqZWN0IHNpZ25lZCB3aXRoIEdQRyIKIG1zZ3N0ciAiVOG6oW8sIGxp4buHdCBrw6osIHjDs2EgaGF5IHjDoWMgdGjhu7FjIG3hu5l0IMSR4buRaSB0xrDhu6NuZyB0aOG6uyDEkcaw4bujYyBrw70gYuG6sW5nIEdQRyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTc4CisjOiBjb21tYW5kLWxpc3QuaDoxODEKIG1zZ2lkICJDcmVhdGVzIGEgdGVtcG9yYXJ5IGZpbGUgd2l0aCBhIGJsb2IncyBjb250ZW50cyIKIG1zZ3N0ciAiVOG6oW8gbeG7mXQgdOG6rXAgdGluIHThuqFtIHbhu5tpIG7hu5lpIGR1bmcgY+G7p2EgYmxvYiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTc5CisjOiBjb21tYW5kLWxpc3QuaDoxODIKIG1zZ2lkICJVbnBhY2sgb2JqZWN0cyBmcm9tIGEgcGFja2VkIGFyY2hpdmUiCiBtc2dzdHIgIkfhu6EgY8OhYyDEkeG7kWkgdMaw4bujbmcga2jhu49pIG3hu5l0IGtobyBsxrB1IMSRw6MgxJHDs25nIGfDs2kiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4MAorIzogY29tbWFuZC1saXN0Lmg6MTgzCiBtc2dpZCAiUmVnaXN0ZXIgZmlsZSBjb250ZW50cyBpbiB0aGUgd29ya2luZyB0cmVlIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAixJDEg25nIGvDvSBu4buZaSBkdW5nIHThuq1wIHRpbiB04burIGPDonkgbMOgbSB2aeG7h2MgxJHhur9uIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTgxCisjOiBjb21tYW5kLWxpc3QuaDoxODQKIG1zZ2lkICJVcGRhdGUgdGhlIG9iamVjdCBuYW1lIHN0b3JlZCBpbiBhIHJlZiBzYWZlbHkiCiBtc2dzdHIgIkPhuq1wIG5o4bqtdCB0w6puIMSR4buRaSB0xrDhu6NuZyDEkcaw4bujYyBsxrB1IHRyb25nIG3hu5l0IHRoYW0gY2hp4bq/dSBt4buZdCBjw6FjaCBhbiB0b8OgbiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTgyCisjOiBjb21tYW5kLWxpc3QuaDoxODUKIG1zZ2lkICJVcGRhdGUgYXV4aWxpYXJ5IGluZm8gZmlsZSB0byBoZWxwIGR1bWIgc2VydmVycyIKIG1zZ3N0ciAiQ+G6rXAgbmjhuq10IHThuq1wIHRpbiB0aMO0bmcgdGluIHBo4bulIHRy4bujIMSR4buDIGdpw7pwIMSR4buhIGPDoWMgZOG7i2NoIHbhu6UgZHVtYiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTgzCisjOiBjb21tYW5kLWxpc3QuaDoxODYKIG1zZ2lkICJTZW5kIGFyY2hpdmUgYmFjayB0byBnaXQtYXJjaGl2ZSIKIG1zZ3N0ciAiR+G7rWkgdHLhu58gbOG6oWkga2hvIGzGsHUgxJHhur9uIGdpdC1hcmNoaXZlIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODQKKyM6IGNvbW1hbmQtbGlzdC5oOjE4NwogbXNnaWQgIlNlbmQgb2JqZWN0cyBwYWNrZWQgYmFjayB0byBnaXQtZmV0Y2gtcGFjayIKIG1zZ3N0ciAiR+G7rWkgdHLhu58gbOG6oWkgY8OhYyDEkeG7kWkgdMaw4bujbmcgxJHDoyDEkcOzbmcgZ8OzaSBjaG8gZ2l0LWZldGNoLXBhY2siCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4NQorIzogY29tbWFuZC1saXN0Lmg6MTg4CiBtc2dpZCAiU2hvdyBhIEdpdCBsb2dpY2FsIHZhcmlhYmxlIgogbXNnc3RyICJIaeG7g24gdGjhu4sgbeG7mXQgYmnhur9uIEdpdCBsdeG6rW4gbMO9IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODYKKyM6IGNvbW1hbmQtbGlzdC5oOjE4OQogbXNnaWQgIkNoZWNrIHRoZSBHUEcgc2lnbmF0dXJlIG9mIGNvbW1pdHMiCiBtc2dzdHIgIktp4buDbSB0cmEga8O9IGzhuqduIGNodXnhu4NuIGdpYW8gZMO5bmcgR1BHIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODcKKyM6IGNvbW1hbmQtbGlzdC5oOjE5MAogbXNnaWQgIlZhbGlkYXRlIHBhY2tlZCBHaXQgYXJjaGl2ZSBmaWxlcyIKIG1zZ3N0ciAiS2nhu4NtIHRyYSBs4bqhaSBjw6FjIHThuq1wIHRpbiBraG8gKGzGsHUgdHLhu68sIG7DqW4pIEdpdCDEkcOjIMSRxrDhu6NjIMSRw7NuZyBnw7NpIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODgKKyM6IGNvbW1hbmQtbGlzdC5oOjE5MQogbXNnaWQgIkNoZWNrIHRoZSBHUEcgc2lnbmF0dXJlIG9mIHRhZ3MiCiBtc2dzdHIgIktp4buDbSB0cmEgY2jhu68ga8O9IEdQRyBj4bunYSBjw6FjIHRo4bq7IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODkKKyM6IGNvbW1hbmQtbGlzdC5oOjE5MgogbXNnaWQgIkdpdCB3ZWIgaW50ZXJmYWNlICh3ZWIgZnJvbnRlbmQgdG8gR2l0IHJlcG9zaXRvcmllcykiCiBtc2dzdHIgIkdpYW8gZGnhu4duIEdpdCB0csOqbiBu4buBbiB3ZWIgKOG7qW5nIGThu6VuZyB3ZWIgY2jhuqF5IHRyw6puIGtobyBHaXQpIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTAKKyM6IGNvbW1hbmQtbGlzdC5oOjE5MwogbXNnaWQgIlNob3cgbG9ncyB3aXRoIGRpZmZlcmVuY2UgZWFjaCBjb21taXQgaW50cm9kdWNlcyIKIG1zZ3N0ciAiSGnhu4NuIHRo4buLIGPDoWMgbmjhuq10IGvDvSB24bubaSB04burbmcgbOG6p24gY2h1eeG7g24gZ2lhbyBraMOhYyBuaGF1IMSRxrBhIHJhIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTEKKyM6IGNvbW1hbmQtbGlzdC5oOjE5NAogbXNnaWQgIk1hbmFnZSBtdWx0aXBsZSB3b3JraW5nIHRyZWVzIgogbXNnc3RyICJRdeG6o24gbMO9IG5oaeG7gXUgY8OieSBsw6BtIHZp4buHYyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTkyCisjOiBjb21tYW5kLWxpc3QuaDoxOTUKIG1zZ2lkICJDcmVhdGUgYSB0cmVlIG9iamVjdCBmcm9tIHRoZSBjdXJyZW50IGluZGV4IgogbXNnc3RyICJU4bqhbyBt4buZdCDEkeG7kWkgdMaw4bujbmcgY8OieSB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4gc3RkaW4gaGnhu4duIHThuqFpIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTMKKyM6IGNvbW1hbmQtbGlzdC5oOjE5NgogbXNnaWQgIkRlZmluaW5nIGF0dHJpYnV0ZXMgcGVyIHBhdGgiCiBtc2dzdHIgIsSQ4buLbmggbmdoxKlhIGPDoWMgdGh14buZYyB0w61uaCBjaG8gbeG7l2kgxJHGsOG7nW5nIGThuqtuIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTQKKyM6IGNvbW1hbmQtbGlzdC5oOjE5NwogbXNnaWQgIkdpdCBjb21tYW5kLWxpbmUgaW50ZXJmYWNlIGFuZCBjb252ZW50aW9ucyIKIG1zZ3N0ciAiR2lhbyBkaeG7h24gZMOybmcgbOG7h25oIEdpdCB2w6AgcXV5IMaw4bubYyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk1CisjOiBjb21tYW5kLWxpc3QuaDoxOTgKIG1zZ2lkICJBIEdpdCBjb3JlIHR1dG9yaWFsIGZvciBkZXZlbG9wZXJzIgogbXNnc3RyICJIxrDhu5tuZyBk4bqrbiBHaXQgY8ahIGLhuqNuIGNobyBuaMOgIHBow6F0IHRyaeG7g24iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5NgorIzogY29tbWFuZC1saXN0Lmg6MTk5CiBtc2dpZCAiR2l0IGZvciBDVlMgdXNlcnMiCiBtc2dzdHIgIkdpdCBkw6BuaCBjaG8gbmjhu69uZyBuZ8aw4budaSBkw7luZyBDVlMiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5NworIzogY29tbWFuZC1saXN0Lmg6MjAwCiBtc2dpZCAiVHdlYWtpbmcgZGlmZiBvdXRwdXQiCiBtc2dzdHIgIkNo4buJbmgga+G6v3QgeHXhuqV0IGRpZmYiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5OAorIzogY29tbWFuZC1saXN0Lmg6MjAxCiBtc2dpZCAiQSB1c2VmdWwgbWluaW11bSBzZXQgb2YgY29tbWFuZHMgZm9yIEV2ZXJ5ZGF5IEdpdCIKIG1zZ3N0ciAiTeG7mXQgdOG6rXAgaOG7o3AgbOG7h25oIGjhu691IGThu6VuZyB04buRaSB0aGnhu4N1IMSR4buDIGTDuW5nIEdpdCBow6BuZyBuZ8OgeSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk5CisjOiBjb21tYW5kLWxpc3QuaDoyMDIKIG1zZ2lkICJBIEdpdCBHbG9zc2FyeSIKIG1zZ3N0ciAiVGh14bqtdCBuZ+G7ryBjaHV5w6puIG3DtG4gR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDAKKyM6IGNvbW1hbmQtbGlzdC5oOjIwMwogbXNnaWQgIkhvb2tzIHVzZWQgYnkgR2l0IgogbXNnc3RyICJDw6FjIG3Ds2MgxJHGsOG7o2Mgc+G7rSBk4bulbmcgYuG7n2kgR2l0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDEKKyM6IGNvbW1hbmQtbGlzdC5oOjIwNAogbXNnaWQgIlNwZWNpZmllcyBpbnRlbnRpb25hbGx5IHVudHJhY2tlZCBmaWxlcyB0byBpZ25vcmUiCiBtc2dzdHIgIkNo4buJIMSR4buLbmggY8OhYyB04bqtcCB0aW4ga2jDtG5nIGPhuqduIHRoZW8gZMO1aSIKIAotIzogY29tbWFuZC1saXN0Lmg6MjAyCisjOiBjb21tYW5kLWxpc3QuaDoyMDUKIG1zZ2lkICJEZWZpbmluZyBzdWJtb2R1bGUgcHJvcGVydGllcyIKIG1zZ3N0ciAixJDhu4tuaCBuZ2jEqWEgdGh14buZYyB0w61uaCBtw7QtxJF1bi1jb24iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjIwMworIzogY29tbWFuZC1saXN0Lmg6MjA2CiBtc2dpZCAiR2l0IG5hbWVzcGFjZXMiCi1tc2dzdHIgImtow7RuZyBnaWFuIHTDqm4gR2l0IgorbXNnc3RyICJLaMO0bmcgZ2lhbiB0w6puIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjA0CisjOiBjb21tYW5kLWxpc3QuaDoyMDcKIG1zZ2lkICJHaXQgUmVwb3NpdG9yeSBMYXlvdXQiCiBtc2dzdHIgIkLhu5EgY+G7pWMga2hvIEdpdCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjA1CisjOiBjb21tYW5kLWxpc3QuaDoyMDgKIG1zZ2lkICJTcGVjaWZ5aW5nIHJldmlzaW9ucyBhbmQgcmFuZ2VzIGZvciBHaXQiCiBtc2dzdHIgIkNo4buJIMSR4buLbmggxJFp4buDbSB4w6l0IGR1eeG7h3QgdsOgIHbDuW5nIGNobyBHaXQiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjIwNgorIzogY29tbWFuZC1saXN0Lmg6MjA5Cittc2dpZCAiTW91bnRpbmcgb25lIHJlcG9zaXRvcnkgaW5zaWRlIGFub3RoZXIiCittc2dzdHIgIkfhuq9uIG3hu5l0IGtobyBjaOG7qWEgdsOgbyB0cm9uZyBt4buZdCBjw6FpIGtow6FjIgorCisjOiBjb21tYW5kLWxpc3QuaDoyMTAKIG1zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQ6IHBhcnQgdHdvIgogbXNnc3RyICJIxrDhu5tuZyBk4bqrbiBjw6FjaCBkw7luZyBHaXQ6IHBo4bqnbiBoYWkiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjIwNworIzogY29tbWFuZC1saXN0Lmg6MjExCiBtc2dpZCAiQSB0dXRvcmlhbCBpbnRyb2R1Y3Rpb24gdG8gR2l0IgogbXNnc3RyICJIxrDhu5tuZyBk4bqrbiBjw6FjaCBkw7luZyBHaXQiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjIwOAorIzogY29tbWFuZC1saXN0Lmg6MjEyCiBtc2dpZCAiQW4gb3ZlcnZpZXcgb2YgcmVjb21tZW5kZWQgd29ya2Zsb3dzIHdpdGggR2l0IgotbXNnc3RyICJU4buVbmcgcXVhbiB24buBIGx14buTbmcgY8O0bmcgdmnhu4djIGtodXnhur9uIG5naOG7iyBuw6puIGTDuW5nIHbhu5tpIEdpdC4iCi0KLSM6IHJlcmVyZS5oOjQ0Ci1tc2dpZCAidXBkYXRlIHRoZSBpbmRleCB3aXRoIHJldXNlZCBjb25mbGljdCByZXNvbHV0aW9uIGlmIHBvc3NpYmxlIgotbXNnc3RyICJj4bqtcCBuaOG6rXQgYuG6o25nIG3hu6VjIGzhu6VjIHbhu5tpIHBow6JuIGdp4bqjaSB4dW5nIMSR4buZdCBkw7luZyBs4bqhaSBu4bq/dSDEkcaw4bujYyIKK21zZ3N0ciAiVOG7lW5nIHF1YW4gduG7gSBsdeG7k25nIGPDtG5nIHZp4buHYyBraHV54bq/biBuZ2jhu4sgbsOqbiBkw7luZyB24bubaSBHaXQiCiAKICM6IGdpdC1iaXNlY3Quc2g6NTQKIG1zZ2lkICJZb3UgbmVlZCB0byBzdGFydCBieSBcImdpdCBiaXNlY3Qgc3RhcnRcIiIKQEAgLTE5MjU3LDEzNyArMjI3MzYsNDkgQEAKIG1zZ2lkICJEbyB5b3Ugd2FudCBtZSB0byBkbyBpdCBmb3IgeW91IFtZL25dPyAiCiBtc2dzdHIgIkLhuqFuIGPDsyBtdeG7kW4gdMO0aSB0aOG7sWMgaGnhu4duIMSRaeG7gXUgbsOgeSBjaG8gYuG6oW4ga2jDtG5nIFtZL25dPyAiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTIxCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbmlzZWQgb3B0aW9uOiAnJGFyZyciCi1tc2dzdHIgImtow7RuZyBjw7RuZyBuaOG6rW4gdMO5eSBjaOG7jW46IOKAnCRhcmfigJ0iCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTI1Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICInJGFyZycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgdmFsaWQgcmV2aXNpb24iCi1tc2dzdHIgIuKAnSRhcmfigJ0ga2jDtG5nIGPDsyB24bq7IG5oxrAgbMOgIG3hu5l0IMSRaeG7g20geMOpdCBkdXnhu4d0IGjhu6NwIGzhu4ciCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTU0Ci1tc2dpZCAiQmFkIEhFQUQgLSBJIG5lZWQgYSBIRUFEIgotbXNnc3RyICJIRUFEIHNhaSAtIFTDtGkgY+G6p24gbeG7mXQgSEVBRCIKLQotIzogZ2l0LWJpc2VjdC5zaDoxNjcKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJDaGVja2luZyBvdXQgJyRzdGFydF9oZWFkJyBmYWlsZWQuIFRyeSAnZ2l0IGJpc2VjdCByZXNldCA8dmFsaWQtYnJhbmNoPicuIgotbXNnc3RyICIiCi0iVmnhu4djIGzhuqV5IOKAnCRzdGFydF9oZWFk4oCdIHJhIGfhurdwIGzhu5dpLiBIw6N5IHRo4butIFwiZ2l0IGJpc2VjdCByZXNldCA8bmjDoW5oX2jhu6NwX2zhu4c+IgotIlwiLiIKLQotIzogZ2l0LWJpc2VjdC5zaDoxNzcKLW1zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgotbXNnc3RyICJz4bq9IGtow7RuZyBkaSBjaHV54buDbiBu4butYSBixrDhu5tjIHRyw6puIGPDonkgxJHGsOG7o2MgY2ctc2VlayIKLQotIzogZ2l0LWJpc2VjdC5zaDoxODEKLW1zZ2lkICJCYWQgSEVBRCAtIHN0cmFuZ2Ugc3ltYm9saWMgcmVmIgotbXNnc3RyICJIRUFEIHNhaSAtIHRoYW0gY2hp4bq/dSBt4buBbSBr4buzIGzhuqEiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MjMzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJCYWQgYmlzZWN0X3dyaXRlIGFyZ3VtZW50OiAkc3RhdGUiCi1tc2dzdHIgIsSQ4buRaSBz4buRIGJpc2VjdF93cml0ZSBzYWk6ICRzdGF0ZSIKLQotIzogZ2l0LWJpc2VjdC5zaDoyNDYKKyM6IGdpdC1iaXNlY3Quc2g6MTAxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkYXJnIgogbXNnc3RyICLEkOG6p3UgdsOgbyByZXYgc2FpOiAkYXJnIgogCi0jOiBnaXQtYmlzZWN0LnNoOjI2NQorIzogZ2l0LWJpc2VjdC5zaDoxMjEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRiaXNlY3RlZF9oZWFkIgogbXNnc3RyICLEkOG6p3UgdsOgbyByZXYgc2FpOiAkYmlzZWN0ZWRfaGVhZCIKIAotIzogZ2l0LWJpc2VjdC5zaDoyNzQKKyM6IGdpdC1iaXNlY3Quc2g6MTMwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJCYWQgcmV2IGlucHV0OiAkcmV2IgogbXNnc3RyICLEkOG6p3UgdsOgbyByZXYgc2FpOiAkcmV2IgogCi0jOiBnaXQtYmlzZWN0LnNoOjI4MworIzogZ2l0LWJpc2VjdC5zaDoxMzkKICMsIHNoLWZvcm1hdAogbXNnaWQgIidnaXQgYmlzZWN0ICRURVJNX0JBRCcgY2FuIHRha2Ugb25seSBvbmUgYXJndW1lbnQuIgogbXNnc3RyICLigJxnaXQgYmlzZWN0ICRURVJNX0JBROKAnSBjw7MgdGjhu4MgbOG6pXkgY2jhu4kgbeG7mXQgxJHhu5FpIHPhu5EuIgogCi0jOiBnaXQtYmlzZWN0LnNoOjMwNgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiV2FybmluZzogYmlzZWN0aW5nIG9ubHkgd2l0aCBhICRURVJNX0JBRCBjb21taXQuIgotbXNnc3RyICJD4bqjbmggYsOhbzogY2jhu4kgdGjhu7FjIGhp4buHbiB2aeG7h2MgYmlzZWN0IHbhu5tpIG3hu5l0IGzhuqduIGNodXnhu4NuIGdpYW8gJFRFUk1fQkFELiIKLQotIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtZXSBhbmQgW25dIGluIHlvdXIKLSMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKLSMuIGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtYmlzZWN0LnNoOjMxMgotbXNnaWQgIkFyZSB5b3Ugc3VyZSBbWS9uXT8gIgotbXNnc3RyICJC4bqhbiBjw7MgY2jhuq9jIGNo4bqvbiBjaMawYSBbWS9uXT8gIgotCi0jOiBnaXQtYmlzZWN0LnNoOjMyNAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIllvdSBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICRiYWRfc3luIGFuZCBvbmUgJGdvb2Rfc3luIHJldmlzaW9uLlxuIgotIihZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiBhbmQgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiIGZvciB0aGF0LikiCi1tc2dzdHIgIiIKLSJC4bqhbiBwaOG6o2kgY2jhu4kgY2hvIHTDtGkgw610IG5o4bqldCBt4buZdCDEkWnhu4NtICRiYWRfc3luIHbDoCBt4buZdCAkZ29vZF9zeW4uXG4iCi0iKELhuqFuIGPDsyB0aOG7gyBz4butIGThu6VuZyBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiB2w6AgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiIGNobyAiCi0iY8OhaSDEkcOzLikiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MzI3Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iWW91IG5lZWQgdG8gc3RhcnQgYnkgXCJnaXQgYmlzZWN0IHN0YXJ0XCIuXG4iCi0iWW91IHRoZW4gbmVlZCB0byBnaXZlIG1lIGF0IGxlYXN0IG9uZSAkZ29vZF9zeW4gYW5kIG9uZSAkYmFkX3N5biByZXZpc2lvbi5cbiIKLSIoWW91IGNhbiB1c2UgXCJnaXQgYmlzZWN0ICRiYWRfc3luXCIgYW5kIFwiZ2l0IGJpc2VjdCAkZ29vZF9zeW5cIiBmb3IgdGhhdC4pIgotbXNnc3RyICIiCi0iQuG6oW4gY+G6p24gYuG6r3QgxJHhuqd1IGLhurFuZyBs4buHbmggXCJnaXQgYmlzZWN0IHN0YXJ0XCIuXG4iCi0iQuG6oW4gc2F1IMSRw7MgY+G6p24gcGjhuqNpIGNo4buJIGNobyB0w7RpIMOtdCBuaOG6pXQgbeG7mXQgxJFp4buDbSB4w6l0IGR1eeG7h3QgJGdvb2Rfc3luIHbDoCBt4buZdCAiCi0iJGJhZF9zeW4uXG4iCi0iKELhuqFuIGPDsyB0aOG7gyBz4butIGThu6VuZyBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiB2w6AgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiIGNobyAiCi0iY2jDum5nLikiCi0KLSM6IGdpdC1iaXNlY3Quc2g6Mzk4IGdpdC1iaXNlY3Quc2g6NTEyCi1tc2dpZCAiV2UgYXJlIG5vdCBiaXNlY3RpbmcuIgotbXNnc3RyICJDaMO6bmcgdMO0aSBraMO0bmcgYmlzZWN0LiIKLQotIzogZ2l0LWJpc2VjdC5zaDo0MDUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIickaW52YWxpZCcgaXMgbm90IGEgdmFsaWQgY29tbWl0IgotbXNnc3RyICLigJ0kaW52YWxpZOKAnSBraMO0bmcgcGjhuqNpIGzDoCBs4bqnbiBjaHV54buDbiBnaWFvIGjhu6NwIGzhu4ciCi0KLSM6IGdpdC1iaXNlY3Quc2g6NDE0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iQ291bGQgbm90IGNoZWNrIG91dCBvcmlnaW5hbCBIRUFEICckYnJhbmNoJy5cbiIKLSJUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPGNvbW1pdD4nLiIKLW1zZ3N0ciAiIgotIktow7RuZyB0aOG7gyBjaGVjay1vdXQgSEVBRCBuZ3V5w6puIHRo4buneSBj4bunYSDigJwkYnJhbmNo4oCdLlxuIgotIkjDo3kgdGjhu60g4oCcZ2l0IGJpc2VjdCByZXNldCA8bOG6p24tY2h1eeG7g24tZ2lhbz7igJ0uIgotCi0jOiBnaXQtYmlzZWN0LnNoOjQyMgorIzogZ2l0LWJpc2VjdC5zaDoyMDkKIG1zZ2lkICJObyBsb2dmaWxlIGdpdmVuIgogbXNnc3RyICJDaMawYSBjaOG7iSByYSB04bqtcCB0aW4gZ2hpIG5o4bqtdCBrw70iCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDIzCisjOiBnaXQtYmlzZWN0LnNoOjIxMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJGZpbGUgZm9yIHJlcGxheWluZyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyAkZmlsZSDEkeG7gyB0aGFvIGRp4buFbiBs4bqhaSIKIAotIzogZ2l0LWJpc2VjdC5zaDo0NDQKKyM6IGdpdC1iaXNlY3Quc2g6MjMyCiBtc2dpZCAiPz8gd2hhdCBhcmUgeW91IHRhbGtpbmcgYWJvdXQ/IgogbXNnc3RyICI/PyBi4bqhbiDEkWFuZyBuw7NpIGfDrCB0aOG6vz8iCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDUzCisjOiBnaXQtYmlzZWN0LnNoOjI0MQogbXNnaWQgImJpc2VjdCBydW4gZmFpbGVkOiBubyBjb21tYW5kIHByb3ZpZGVkLiIKIG1zZ3N0ciAiYmlzZWN0IGNo4bqheSBn4bq3cCBs4buXaToga2jDtG5nIMSRxrBhIHJhIGzhu4duaC4iCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDU4CisjOiBnaXQtYmlzZWN0LnNoOjI0NgogIywgc2gtZm9ybWF0CiBtc2dpZCAicnVubmluZyAkY29tbWFuZCIKIG1zZ3N0ciAixJFhbmcgY2jhuqF5IGzhu4duaCAkY29tbWFuZCIKIAotIzogZ2l0LWJpc2VjdC5zaDo0NjUKKyM6IGdpdC1iaXNlY3Quc2g6MjUzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiYmlzZWN0IHJ1biBmYWlsZWQ6XG4iCkBAIC0xOTM5NiwxMSArMjI3ODcsMTEgQEAKICJjaOG6oXkgYmlzZWN0IGfhurdwIGzhu5dpOlxuIgogIm3DoyB0cuG6oyB24buBICRyZXMgdOG7qyBs4buHbmgg4oCcJGNvbW1hbmTigJ0gbMOgIDwgMCBob+G6t2MgPj0gMTI4IgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ5MQorIzogZ2l0LWJpc2VjdC5zaDoyNzkKIG1zZ2lkICJiaXNlY3QgcnVuIGNhbm5vdCBjb250aW51ZSBhbnkgbW9yZSIKIG1zZ3N0ciAiYmlzZWN0IGtow7RuZyB0aOG7gyB0aeG6v3AgdOG7pWMgdGjDqm0gxJHGsOG7o2MgbuG7r2EiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDk3CisjOiBnaXQtYmlzZWN0LnNoOjI4NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImJpc2VjdCBydW4gZmFpbGVkOlxuIgpAQCAtMTk0MDksMjcgKzIyODAwLDEzIEBACiAiY2jhuqF5IGJpc2VjdCBn4bq3cCBs4buXaTpcbiIKICLigJ1iaXNlY3Rfc3RhdGUgJHN0YXRl4oCdIMSRw6MgdGhvw6F0IHJhIHbhu5tpIG3DoyBs4buXaSAkcmVzIgogCi0jOiBnaXQtYmlzZWN0LnNoOjUwNAorIzogZ2l0LWJpc2VjdC5zaDoyOTIKIG1zZ2lkICJiaXNlY3QgcnVuIHN1Y2Nlc3MiCiBtc2dzdHIgImJpc2VjdCBjaOG6oXkgdGjDoG5oIGPDtG5nIgogCi0jOiBnaXQtYmlzZWN0LnNoOjUzMwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCBjb21tYW5kOiB5b3UncmUgY3VycmVudGx5IGluIGEgJFRFUk1fQkFELyRURVJNX0dPT0QgYmlzZWN0LiIKLW1zZ3N0ciAiTOG7h25oIGtow7RuZyBo4bujcCBs4buHOiBi4bqhbiBoaeG7h24gxJFhbmcg4bufIGJpc2VjdCAkVEVSTV9CQUQvJFRFUk1fR09PRC4iCi0KLSM6IGdpdC1iaXNlY3Quc2g6NTY3Ci1tc2dpZCAibm8gdGVybXMgZGVmaW5lZCIKLW1zZ3N0ciAiY2jGsGEgxJHhu4tuaCBuZ2jEqWEgdGjhu51pIGvhu7MgbsOgbyIKLQotIzogZ2l0LWJpc2VjdC5zaDo1ODQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJpbnZhbGlkIGFyZ3VtZW50ICRhcmcgZm9yICdnaXQgYmlzZWN0IHRlcm1zJy5cbiIKLSJTdXBwb3J0ZWQgb3B0aW9ucyBhcmU6IC0tdGVybS1nb29kfC0tdGVybS1vbGQgYW5kIC0tdGVybS1iYWR8LS10ZXJtLW5ldy4iCi1tc2dzdHIgIiIKLSJ0aGFtIHPhu5Ega2jDtG5nIGjhu6NwIGzhu4cgJGFyZyBjaG8g4oCcZ2l0IGJpc2VjdCB0ZXJtc+KAnS5cbiIKLSJDw6FjIHTDuXkgY2jhu41uIGjhu5cgdHLhu6MgbMOgOiAtLXRlcm0tZ29vZHwtLXRlcm0tb2xkIHbDoCAtLXRlcm0tYmFkfC0tdGVybS1uZXcuIgorIzogZ2l0LWJpc2VjdC5zaDozMDAKK21zZ2lkICJXZSBhcmUgbm90IGJpc2VjdGluZy4iCittc2dzdHIgIkNow7puZyB0w7RpIGtow7RuZyBiaXNlY3QuIgogCiAjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo0NgogbXNnaWQgIiIKQEAgLTE5NDcxLDI2NyArMjI4NDgsMTE4IEBACiBtc2dpZCAiU2ltcGxlIG1lcmdlIGRpZCBub3Qgd29yaywgdHJ5aW5nIGF1dG9tYXRpYyBtZXJnZS4iCiBtc2dzdHIgIkjDsmEgdHLhu5luIMSRxqFuIGdp4bqjbiBraMO0bmcgbMOgbSB2aeG7h2MsIHRo4butIGjDsmEgdHLhu5luIHThu7EgxJHhu5luZy4iCiAKLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjQzNAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IG1vdmUgYmFjayB0byAkaGVhZF9uYW1lIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgcXVheSB0cuG7nyBs4bqhaSAkaGVhZF9uYW1lIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0NjAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKLSJJIHdvbmRlciBpZiB5b3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW5vdGhlciByZWJhc2UuICBJZiB0aGF0IGlzIHRoZVxuIgotImNhc2UsIHBsZWFzZSB0cnlcbiIKLSJcdCRjbWRfbGl2ZV9yZWJhc2VcbiIKLSJJZiB0aGF0IGlzIG5vdCB0aGUgY2FzZSwgcGxlYXNlXG4iCi0iXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxuIgotImFuZCBydW4gbWUgYWdhaW4uICBJIGFtIHN0b3BwaW5nIGluIGNhc2UgeW91IHN0aWxsIGhhdmUgc29tZXRoaW5nXG4iCi0idmFsdWFibGUgdGhlcmUuIgotbXNnc3RyICIiCi0iSMOsbmggbmjGsCBsw6Ag4bufIMSRw6J5IHPhurVuIGPDsyBt4buZdCB0aMawIG3hu6VjICRzdGF0ZV9kaXJfYmFzZSwgdsOgXG4iCi0iVMO0aSB04buxIGjhu49pIGPDsyBwaOG6o2kgYuG6oW4gxJFhbmcg4bufIGdp4buvYSBt4buZdCBs4buHbmggcmViYXNlIGtow6FjLiBO4bq/dSDEkcO6bmcgbMOgXG4iCi0ibmjGsCB24bqteSwgeGluIGjDo3kgdGjhu61cbiIKLSJcdCRjbWRfbGl2ZV9yZWJhc2VcbiIKLSJO4bq/dSBraMO0bmcgcGjhuqNpIHRo4bq/LCBow6N5IHRo4butXG4iCi0iXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxuIgotInbDoCBjaOG6oXkgVMOUSSBs4bqnbiBu4buvYS4gVMOUSSAgZOG7q25nIGzhuqFpIHRyb25nIHRyxrDhu51uZyBo4bujcCBi4bqhbiB24bqrblxuIgotImPDsyBt4buZdCBz4buRIHRo4bupIHF1w70gZ2nDoSDhu58gxJHDonkuIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1MjUKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tc2lnbm9mZicgd2l0aCAnLS1wcmVzZXJ2ZS1tZXJnZXMnIgotbXNnc3RyICJs4buXaToga2jDtG5nIHRo4buDIGvhur90IGjhu6NwIOKAnC0tc2lnbm9mZuKAnSB24bubaSDigJwtLXByZXNlcnZlLW1lcmdlc+KAnSIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTcwCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICckdXBzdHJlYW1fbmFtZSciCi1tc2dzdHIgInRoxrDhu6NuZyBuZ3Xhu5NuIGtow7RuZyBo4bujcCBs4buHIOKAnCR1cHN0cmVhbV9uYW1l4oCdIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1OTQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgotbXNnc3RyICIkb250b19uYW1lOiDhu58gxJHDonkgY8OzIG5oaeG7gXUgaMahbiBt4buZdCBu4buBbiBtw7NuZyBow7JhIHRy4buZbiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTk3IGdpdC1sZWdhY3ktcmViYXNlLnNoOjYwMQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiJG9udG9fbmFtZTogdGhlcmUgaXMgbm8gbWVyZ2UgYmFzZSIKLW1zZ3N0ciAiJG9udG9fbmFtZTog4bufIMSRw6J5IGtow7RuZyBjw7MgbuG7gW4gbcOzbmcgaMOyYSB0cuG7mW4gbsOgbyIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NjA2Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogJG9udG9fbmFtZSIKLW1zZ3N0ciAiS2jDtG5nIGNo4buJIMSR4bq/biBt4buZdCBs4bqnbiBjaHV54buDbiBnaWFvIGtow7RuZyBo4bujcCBs4buHOiAkb250b19uYW1lIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2MzIKLSMsIHNoLWZvcm1hdAotbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaC9jb21taXQgJyRicmFuY2hfbmFtZSciCi1tc2dzdHIgIm5naGnDqm0gdHLhu41uZzoga2jDtG5nIGPDsyBuaMOhbmggbmjGsCB0aOG6vzog4oCcJGJyYW5jaF9uYW1l4oCdIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2NzAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgotbXNnc3RyICLEkMOjIHThuqFvIGF1dG9zdGFzaDogJHN0YXNoX2FiYnJldiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6Njk5Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZS4iCi1tc2dzdHIgIk5ow6FuaCBoaeG7h24gdOG6oWkgJGJyYW5jaF9uYW1lIMSRw6MgxJHGsOG7o2MgY+G6rXAgbmjhuq10IHLhu5NpLiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzA5Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCi1tc2dzdHIgIk5ow6FuaCBoaeG7h24gdOG6oWkgJGJyYW5jaF9uYW1lIMSRw6MgxJHGsOG7o2MgY+G6rXAgbmjhuq10IHLhu5NpLCBs4buHbmggcmViYXNlIMOpcCBideG7mWMuIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MjMKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNoYW5nZXMgdG8gJG9udG86IgotbXNnc3RyICJUaGF5IMSR4buVaSB0aMOgbmggJG9udG86IgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MjUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNoYW5nZXMgZnJvbSAkbWIgdG8gJG9udG86IgotbXNnc3RyICJUaGF5IMSR4buVaSB04burICRtYiB0aMOgbmggJG9udG86IgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MzYKLW1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCi1tc2dzdHIgIlRyxrDhu5tjIHRpw6puLCBkaSBjaHV54buDbiBoZWFkIMSR4buDIHhlbSBs4bqhaSBjw6FjIGPDtG5nIHZp4buHYyB0csOqbiDEkeG7iW5oIGPhu6dhIG7Ds+KApiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzQ2Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJGYXN0LWZvcndhcmRlZCAkYnJhbmNoX25hbWUgdG8gJG9udG9fbmFtZS4iCi1tc2dzdHIgIkNodXnhu4NuLXRp4bq/cC1uaGFuaCAkYnJhbmNoX25hbWUgdGjDoG5oICRvbnRvX25hbWUuIgotCi0jOiBnaXQtc3Rhc2guc2g6NjEKLW1zZ2lkICJnaXQgc3Rhc2ggY2xlYXIgd2l0aCBwYXJhbWV0ZXJzIGlzIHVuaW1wbGVtZW50ZWQiCi1tc2dzdHIgIiIKLSJnaXQgc3Rhc2ggY2xlYXIgduG7m2kgY8OhYyB0aGFtIHPhu5EgbMOgIGNoxrBhIMSRxrDhu6NjIHRo4buxYyBoaeG7h24gKGtow7RuZyBuaOG6rW4gxJHhu5FpIHPhu5EpIgotCi0jOiBnaXQtc3Rhc2guc2g6MTA4Ci1tc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCi1tc2dzdHIgIkLhuqFuIGNoxrBhIGPDsm4gY8OzIGzhuqduIGNodXnhu4NuIGdpYW8ga2jhu59pIHThuqFvIgotCi0jOiBnaXQtc3Rhc2guc2g6MTIzCi1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgaW5kZXggc3RhdGUiCi1tc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgbOG6oWkgdHLhuqFuZyB0aMOhaSBi4bqjbmcgbeG7pWMgbOG7pWMgaGnhu4duIGjDoG5oIgotCi0jOiBnaXQtc3Rhc2guc2g6MTM4Ci1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKLW1zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSBs4bqhaSBjw6FjIHThuq1wIHRpbiBjaMawYSB0aGVvIGTDtWkiCi0KLSM6IGdpdC1zdGFzaC5zaDoxNTggZ2l0LXN0YXNoLnNoOjE3MQotbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSBjdXJyZW50IHdvcmt0cmVlIHN0YXRlIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGzhuqFpIHRy4bqhbmcgdGjDoWkgY8OieS1sw6BtLXZp4buHYyBoaeG7h24gaMOgbmgiCi0KLSM6IGdpdC1zdGFzaC5zaDoxNzUKLW1zZ2lkICJObyBjaGFuZ2VzIHNlbGVjdGVkIgotbXNnc3RyICJDaMawYSBjw7MgdGhheSDEkeG7lWkgbsOgbyDEkcaw4bujYyBjaOG7jW4iCi0KLSM6IGdpdC1zdGFzaC5zaDoxNzgKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjIxCiBtc2dpZCAiQ2Fubm90IHJlbW92ZSB0ZW1wb3JhcnkgaW5kZXggKGNhbid0IGhhcHBlbikiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBn4buhIGLhu48gYuG6o25nIG3hu6VjIGzhu6VjIHThuqFtIHRo4budaSAoa2jDtG5nIHRo4buDIHjhuqN5IHJhKSIKIAotIzogZ2l0LXN0YXNoLnNoOjE5MQotbXNnaWQgIkNhbm5vdCByZWNvcmQgd29ya2luZyB0cmVlIHN0YXRlIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGzhuqFpIHRy4bqhbmcgdGjDoWkgY8OieSBsw6BtIHZp4buHYyBoaeG7h24gaMOgbmgiCi0KLSM6IGdpdC1zdGFzaC5zaDoyMjkKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlICRyZWZfc3Rhc2ggd2l0aCAkd19jb21taXQiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgJHJlZl9zdGFzaCB24bubaSAkd19jb21taXQiCiAKLSM6IGdpdC1zdGFzaC5zaDoyODEKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzI0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJlcnJvcjogdW5rbm93biBvcHRpb24gZm9yICdzdGFzaCBwdXNoJzogJG9wdGlvbiIKIG1zZ3N0ciAibOG7l2k6IGtow7RuZyBoaeG7g3UgdMO5eSBjaOG7jW4gY2hvIOKAnHN0YXNoIHB1c2jigJ06ICRvcHRpb24iCiAKLSM6IGdpdC1zdGFzaC5zaDoyOTUKLW1zZ2lkICJDYW4ndCB1c2UgLS1wYXRjaCBhbmQgLS1pbmNsdWRlLXVudHJhY2tlZCBvciAtLWFsbCBhdCB0aGUgc2FtZSB0aW1lIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgZMO5bmcgLS1wYXRjaCB2w6AgLS1pbmNsdWRlLXVudHJhY2tlZCBoYXkgLS1hbGwgY8O5bmcgbeG7mXQgbMO6Yy4iCi0KLSM6IGdpdC1zdGFzaC5zaDozMDMKLW1zZ2lkICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiCi1tc2dzdHIgIktow7RuZyBjw7MgdGhheSDEkeG7lWkgbuG7mWkgYuG7mSBuw6BvIMSRxrDhu6NjIGdoaSBs4bqhaSIKLQotIzogZ2l0LXN0YXNoLnNoOjMwOAotbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgotbXNnc3RyICJLaMO0bmcgdGjhu4Mga2jhu59pIHThuqFvIHN0YXNoIgotCi0jOiBnaXQtc3Rhc2guc2g6MzEyCi1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgotbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGzhuqFpIHRy4bqhbmcgdGjDoWkgaGnhu4duIGjDoG5oIgotCi0jOiBnaXQtc3Rhc2guc2g6MzEzCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjM1NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlICRzdGFzaF9tc2ciCiBtc2dzdHIgIsSQw6MgZ2hpIGzhuqFpIHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgdsOgIHRy4bqhbmcgdGjDoWkgbeG7pWMgbOG7pWMgJHN0YXNoX21zZyIKIAotIzogZ2l0LXN0YXNoLnNoOjM0MgotbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKLW1zZ3N0ciAiS2jDtG5nIHRo4buDIGfhu6EgYuG7jyBjw6FjIHRoYXkgxJHhu5VpIGPDonktbMOgbS12aeG7h2MiCi0KLSM6IGdpdC1zdGFzaC5zaDo0OTAKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NTM2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9wdGlvbjogJG9wdCIKIG1zZ3N0ciAia2jDtG5nIGhp4buDdSB0w7l5IGNo4buNbjogJG9wdCIKIAotIzogZ2l0LXN0YXNoLnNoOjUwMwotbXNnaWQgIk5vIHN0YXNoIGVudHJpZXMgZm91bmQuIgotbXNnc3RyICJLaMO0bmcgdMOsbSB0aOG6pXkgY8OhYyBt4bulYyB04bqhbSBj4bqldCAoc3Rhc2gpIG7DoG8uIgotCi0jOiBnaXQtc3Rhc2guc2g6NTEwCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjU1NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiVG9vIG1hbnkgcmV2aXNpb25zIHNwZWNpZmllZDogJFJFViIKIG1zZ3N0ciAiQ2jhu4kgcmEgcXXDoSBuaGnhu4F1IMSRaeG7g20geMOpdCBkdXnhu4d0OiAkUkVWIgogCi0jOiBnaXQtc3Rhc2guc2g6NTI1CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjU3MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHJlZmVyZW5jZSBpcyBub3QgYSB2YWxpZCByZWZlcmVuY2UiCiBtc2dzdHIgIiRyZWZlcmVuY2Uga2jDtG5nIHBo4bqjaSBsw6AgdGhhbSBjaGnhur91IGjhu6NwIGzhu4ciCiAKLSM6IGdpdC1zdGFzaC5zaDo1NTMKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NTk5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoLWxpa2UgY29tbWl0IgogbXNnc3RyICLigJwkYXJnc+KAnSBraMO0bmcgcGjhuqNpIGzDoCBs4bqnbiBjaHV54buDbiBnaWFvIGtp4buDdS1zdGFzaCAoY+G6pXQgxJFpKSIKIAotIzogZ2l0LXN0YXNoLnNoOjU2NAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2MTAKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2ggcmVmZXJlbmNlIgogbXNnc3RyICLigJ0kYXJnc+KAnSBraMO0bmcgcGjhuqNpIHRoYW0gY2hp4bq/dSDEkeG6v24gc3Rhc2giCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzIKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjE4CiBtc2dpZCAidW5hYmxlIHRvIHJlZnJlc2ggaW5kZXgiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBsw6BtIHTGsMahaSBt4bubaSBi4bqjbmcgbeG7pWMgbOG7pWMiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzYKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjIyCiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgogbXNnc3RyICJLaMO0bmcgdGjhu4Mgw6FwIGThu6VuZyBt4buZdCBzdGFzaCDhu58gZ2nhu69hIGPhu6dhIHF1w6EgdHLDrG5oIGjDsmEgdHLhu5luIgogCi0jOiBnaXQtc3Rhc2guc2g6NTg0CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYzMAogbXNnaWQgIkNvbmZsaWN0cyBpbiBpbmRleC4gVHJ5IHdpdGhvdXQgLS1pbmRleC4iCiBtc2dzdHIgIlh1bmcgxJHhu5l0IHRyb25nIGLhuqNuZyBt4bulYyBs4bulYy4gSMOjeSB0aOG7rSBtw6Aga2jDtG5nIGTDuW5nIHTDuXkgY2jhu41uIC0taW5kZXguIgogCi0jOiBnaXQtc3Rhc2guc2g6NTg2CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYzMgogbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgbOG6oWkgY8OieSBjaOG7iSBt4bulYyIKIAotIzogZ2l0LXN0YXNoLnNoOjU5NQorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2NDEKIG1zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHBo4bulYyBo4buTaSBjw6FjIHThuq1wIHRpbiBjaMawYSB0aGVvIGTDtWkgdOG7qyBt4bulYyBj4bqldCDEkWkgKHN0YXNoKSIKIAotIzogZ2l0LXN0YXNoLnNoOjYyMAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2NjYKIG1zZ2lkICJDYW5ub3QgdW5zdGFnZSBtb2RpZmllZCBmaWxlcyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGLhu48gcmEga2jhu49pIGLhu4cgcGjDs25nIGPDoWMgdOG6rXAgdGluIMSRw6MgxJHGsOG7o2Mgc+G7rWEgY2jhu69hIgogCi0jOiBnaXQtc3Rhc2guc2g6NjM1Ci1tc2dpZCAiSW5kZXggd2FzIG5vdCB1bnN0YXNoZWQuIgotbXNnc3RyICJC4bqjbmcgbeG7pWMgbOG7pWMgxJHDoyBraMO0bmcgxJHGsOG7o2MgYuG7jyBzdGFzaC4iCi0KLSM6IGdpdC1zdGFzaC5zaDo2NDkKLW1zZ2lkICJUaGUgc3Rhc2ggZW50cnkgaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIKLW1zZ3N0ciAiQ8OhYyBt4bulYyB04bqhbSBj4bqldCAoc3Rhc2gpIMSRxrDhu6NjIGdp4buvIHRyb25nIHRyxrDhu51uZyBo4bujcCBi4bqhbiBs4bqhaSBj4bqnbiBuw7MuIgotCi0jOiBnaXQtc3Rhc2guc2g6NjU4CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjcwNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiRHJvcHBlZCAke1JFVn0gKCRzKSIKIG1zZ3N0ciAixJDDoyB4w7NhICR7UkVWfSAoJHMpIgogCi0jOiBnaXQtc3Rhc2guc2g6NjU5CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjcwNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHtSRVZ9OiBDb3VsZCBub3QgZHJvcCBzdGFzaCBlbnRyeSIKIG1zZ3N0ciAiJHtSRVZ9OiBLaMO0bmcgdGjhu4MgeMOzYSBi4buPIG3hu6VjIHN0YXNoIgogCi0jOiBnaXQtc3Rhc2guc2g6NjY3Ci1tc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgotbXNnc3RyICJDaMawYSBjaOG7iSByYSB0w6puIGPhu6dhIG5ow6FuaCIKLQotIzogZ2l0LXN0YXNoLnNoOjc0NgorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo3OTIKIG1zZ2lkICIoVG8gcmVzdG9yZSB0aGVtIHR5cGUgXCJnaXQgc3Rhc2ggYXBwbHlcIikiCiBtc2dzdHIgIijEkOG7gyBwaOG7pWMgaOG7k2kgbOG6oWkgY2jDum5nIGjDo3kgZ8O1IFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjE5OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMDIKIG1zZ2lkICJSZWxhdGl2ZSBwYXRoIGNhbiBvbmx5IGJlIHVzZWQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAiIgogIsSQxrDhu51uZyBk4bqrbiB0xrDGoW5nIMSR4buRaSBjaOG7iSBjw7MgdGjhu4MgZMO5bmcgdOG7qyB0aMawIG3hu6VjIOG7nyBt4bupYyBjYW8gbmjhuqV0IGPhu6dhIGPDonkgbMOgbSAiCiAidmnhu4djIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIwOAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMTIKICMsIHNoLWZvcm1hdAogbXNnaWQgInJlcG8gVVJMOiAnJHJlcG8nIG11c3QgYmUgYWJzb2x1dGUgb3IgYmVnaW4gd2l0aCAuL3wuLi8iCiBtc2dzdHIgIiIKICJyZXBvIFVSTDog4oCcJHJlcG/igJ0gcGjhuqNpIGzDoCDEkcaw4budbmcgZOG6q24gdHV54buHdCDEkeG7kWkgaG/hurdjIGzDoCBi4bqvdCDEkeG6p3UgYuG6sW5nIC4vfC4uLyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMjcKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjMxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCIKIG1zZ3N0ciAi4oCdJHNtX3BhdGjigJ0gdGjhu7FjIHPhu7EgxJHDoyB04buTbiB04bqhaSDhu58gYuG6o25nIG3hu6VjIGzhu6VjIHLhu5NpIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzMAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGluZGV4IGFuZCBpcyBub3QgYSBzdWJtb2R1bGUiCiBtc2dzdHIgIiIKICLigJ0kc21fcGF0aOKAnSB0aOG7sWMgc+G7sSDEkcOjIHThu5NuIHThuqFpIOG7nyBi4bqjbmcgbeG7pWMgbOG7pWMgcuG7k2kgdsOgIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IG3DtC3EkXVuLSIKICJjb24iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjM2CisjOiBnaXQtc3VibW9kdWxlLnNoOjI0MQorIywgc2gtZm9ybWF0Cittc2dpZCAiJyRzbV9wYXRoJyBkb2VzIG5vdCBoYXZlIGEgY29tbWl0IGNoZWNrZWQgb3V0IgorbXNnc3RyICLigJwkc21fcGF0aOKAnSBraMO0bmcgY8OzIGzhuqduIGNodXnhu4NuIGdpYW8gbsOgbyDEkcaw4bujYyBs4bqleSByYSIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDcKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHBhdGggaXMgaWdub3JlZCBieSBvbmUgb2YgeW91ciAuZ2l0aWdub3JlIGZpbGVzOlxuIgpAQCAtMTk3NDMsMjMgKzIyOTcxLDIzIEBACiAiJHNtX3BhdGhcbiIKICJT4butIGThu6VuZyAtZiBu4bq/dSBi4bqhbiB0aOG7sWMgc+G7sSBtdeG7kW4gdGjDqm0gbsOzIHbDoG8uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI1OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgogbXNnc3RyICLEkGFuZyB0aMOqbSByZXBvIGPDsyBz4bq1biB04bqhaSDigJwkc21fcGF0aOKAnSB2w6BvIGLhuqNuZyBt4bulYyBs4bulYyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNjEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYSB2YWxpZCBnaXQgcmVwbyIKIG1zZ3N0ciAi4oCdJHNtX3BhdGjigJ0gxJHDoyB04buTbiB04bqhaSB04burIHRyxrDhu5tjIHbDoCBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBraG8gZ2l0IGjhu6NwIGzhu4ciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjY5CisjOiBnaXQtc3VibW9kdWxlLnNoOjI4MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQSBnaXQgZGlyZWN0b3J5IGZvciAnJHNtX25hbWUnIGlzIGZvdW5kIGxvY2FsbHkgd2l0aCByZW1vdGUocyk6IgogbXNnc3RyICIiCiAiVGjGsCBt4bulYyBnaXQgY2hvIOKAnCRzbV9uYW1l4oCdIMSRxrDhu6NjIHTDrG0gdGjhuqV5IG3hu5l0IGPDoWNoIGPhu6VjIGLhu5kgduG7m2kgY8OhYyBtw6F5IGNo4bunOiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjgyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tXG4iCkBAIC0xOTc3NSw0MCArMjMwMDMsNDAgQEAKICJob+G6t2MgbMOgIGLhuqFuIGtow7RuZyBjaOG6r2MgY2jhuq9uIMSRaeG7gXUgxJHDsyBuZ2jEqWEgbMOgIGfDrCB0aMOsIGNo4buNbiB0w6puIGtow6FjIHbhu5tpIHTDuXkgIgogImNo4buNbiDigJwtLW5hbWXigJ0uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI3NworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODgKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYWN0aXZhdGluZyBsb2NhbCBnaXQgZGlyZWN0b3J5IGZvciBzdWJtb2R1bGUgJyRzbV9uYW1lJy4iCiBtc2dzdHIgIiIKICJQaOG7pWMgaOG7k2kgc+G7sSBob+G6oXQgxJHhu5luZyBj4bunYSB0aMawIG3hu6VjIGdpdCBu4buZaSBi4buZIGNobyBtw7QtxJF1bi1jb24g4oCcJHNtX25hbWXigJ0uIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI4OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDozMDAKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGzhuqV5IHJhIG3DtC3EkXVuLWNvbiDigJwkc21fcGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyOTQKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzA1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gYWRkIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgdGjDqm0gbcO0LcSRdW4tY29uIOKAnCRzbV9wYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMwMworIzogZ2l0LXN1Ym1vZHVsZS5zaDozMTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIMSRxINuZyBrw70gduG7m2kgaOG7hyB0aOG7kW5nIG3DtC3EkXVuLWNvbiDigJwkc21fcGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NjMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTgwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICIiCiAiS2jDtG5nIHTDrG0gdGjhuqV5IMSRaeG7g20geMOpdCBkdXnhu4d0IGhp4buHbiBow6BuaCB0cm9uZyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uICIKICLigJwkZGlzcGxheXBhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTczCisjOiBnaXQtc3VibW9kdWxlLnNoOjU5MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCiBtc2dzdHIgIktow7RuZyB0aOG7gyBs4bqleSB24buBIHRyb25nIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJHNtX3BhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTc4CisjOiBnaXQtc3VibW9kdWxlLnNoOjU5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIlVuYWJsZSB0byBmaW5kIGN1cnJlbnQgJHtyZW1vdGVfbmFtZX0vJHticmFuY2h9IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICIKQEAgLTE5ODE3LDEyICsyMzA0NSwxNiBAQAogIktow7RuZyB0aOG7gyB0w6xtIHRo4bqleSDEkWnhu4NtIHjDqXQgZHV54buHdCBoaeG7h24gaMOgbmggJHtyZW1vdGVfbmFtZX0vJHticmFuY2h9IHRyb25nICIKICLEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRzbV9wYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU5NgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTMKICMsIHNoLWZvcm1hdAotbXNnaWQgIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKLW1zZ3N0ciAiS2jDtG5nIHRo4buDIGzhuqV5IHbhu4EgdHJvbmcgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkZGlzcGxheXBhdGjigJ0iCittc2dpZCAiIgorIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzsgdHJ5aW5nIHRvIGRpcmVjdGx5IGZldGNoICIKKyIkc2hhMToiCittc2dzdHIgIiIKKyJLaMO0bmcgdGjhu4MgbOG6pXkgduG7gSB0cm9uZyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnTsgdGjhu60gbOG6pXkgduG7gSB0cuG7sWMgIgorInRp4bq/cCAkc2hhMToiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjAyCisjOiBnaXQtc3VibW9kdWxlLnNoOjYxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkZldGNoZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcsIGJ1dCBpdCBkaWQgbm90IGNvbnRhaW4gJHNoYTEuICIKQEAgLTE5ODMxLDc0ICsyMzA2Myw3NCBAQAogIsSQw6MgbOG6pXkgduG7gSB04burIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1biBjb24g4oCcJGRpc3BsYXlwYXRo4oCdLCBuaMawbmcgbsOzIGtow7RuZyBjaOG7qWEgJHNoYTEuICIKICJM4bqleSB24buBIHRoZW8gxJHhu4tuaCBoxrDhu5tuZyBj4bunYSBs4bqnbiBjaHV54buDbiBnaWFvIMSRw7MgZ+G6t3AgbOG7l2kuIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYwOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgbOG6pXkgcmEg4oCcJHNoYTHigJ0gdHJvbmcgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkZGlzcGxheXBhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjEwCisjOiBnaXQtc3VibW9kdWxlLnNoOjYyNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IGNoZWNrZWQgb3V0ICckc2hhMSciCiBtc2dzdHIgIsSQxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJGRpc3BsYXlwYXRo4oCdOiDEkcOjIGNoZWNrb3V0IOKAnCRzaGEx4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYxNAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byByZWJhc2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGPhuqNpIHThu5Ug4oCcJHNoYTHigJ0gdHJvbmcgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiDigJwkZGlzcGxheXBhdGjigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjE1CisjOiBnaXQtc3VibW9kdWxlLnNoOjYzMgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IHJlYmFzZWQgaW50byAnJHNoYTEnIgogbXNnc3RyICLEkMaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnTogxJHGsOG7o2MgcmViYXNlIHbDoG8gdHJvbmcg4oCcJHNoYTHigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjIwCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIiIKICJLaMO0bmcgdGjhu4MgaMOyYSB0cuG7mW4gKG1lcmdlKSDigJwkc2hhMeKAnSB0cm9uZyDEkcaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjEKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzogbWVyZ2VkIGluICckc2hhMSciCiBtc2dzdHIgIsSQxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJGRpc3BsYXlwYXRo4oCdOiDEkcaw4bujYyBow7JhIHRy4buZbiB2w6BvIOKAnCRzaGEx4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYyNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NDMKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBvZiAnJGNvbW1hbmQgJHNoYTEnIGZhaWxlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiIgogIlRo4buxYyBoaeG7h24ga2jDtG5nIHRow6BuaCBjw7RuZyBs4buHbmgg4oCcJGNvbW1hbmQgJHNoYTHigJ0gdHJvbmcgxJHGsOG7nW5nIGThuqtuIG3DtC3EkXVuLWNvbiAiCiAi4oCcJGRpc3BsYXlwYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYyNworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NDQKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgogbXNnc3RyICLEkMaw4budbmcgZOG6q24gbcO0LcSRdW4tY29uIOKAnCRkaXNwbGF5cGF0aOKAnTog4oCcJGNvbW1hbmQgJHNoYTHigJ0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjU4CisjOiBnaXQtc3VibW9kdWxlLnNoOjY3NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIMSR4buHIHF1eSB2w6BvIHRyb25nIMSRxrDhu51uZyBk4bqrbiBtw7QtxJF1bi1jb24g4oCcJGRpc3BsYXlwYXRo4oCdIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjc1NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4ODYKIG1zZ2lkICJUaGUgLS1jYWNoZWQgb3B0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhlIC0tZmlsZXMgb3B0aW9uIgogbXNnc3RyICJUw7l5IGNo4buNbiAtLWNhY2hlZCBraMO0bmcgdGjhu4MgZMO5bmcgY8O5bmcgduG7m2kgdMO5eSBjaOG7jW4gLS1maWxlcyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MDYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTM4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIG1vZGUgJG1vZF9kc3QiCiBtc2dzdHIgImNo4bq/IMSR4buZIGtow7RuZyBuaMawIG1vbmcgY2jhu50gJG1vZF9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODI2CisjOiBnaXQtc3VibW9kdWxlLnNoOjk1OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfc3JjIgogbXNnc3RyICIgIEPhuqNuaCBiw6FvOiAkZGlzcGxheV9uYW1lIGtow7RuZyBjaOG7qWEgbOG6p24gY2h1eeG7g24gZ2lhbyAkc2hhMV9zcmMiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODI5CisjOiBnaXQtc3VibW9kdWxlLnNoOjk2MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfZHN0IgogbXNnc3RyICIgIEPhuqNuaCBiw6FvOiAkZGlzcGxheV9uYW1lIGtow7RuZyBjaOG7qWEgbOG6p24gY2h1eeG7g24gZ2lhbyAkc2hhMV9kc3QiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODMyCisjOiBnaXQtc3VibW9kdWxlLnNoOjk2NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXRzICRzaGExX3NyYyBhbmQgJHNoYTFfZHN0IgogbXNnc3RyICIiCkBAIC0xOTkxMCwxMiArMjMxNDIsMjEgQEAKIG1zZ2lkICJTZWUgZ2l0LSR7Y21kfSgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIlhlbSBnaXQtJHtjbWR9KDEpIMSR4buDIGJp4bq/dCB0aMOqbSBjaGkgdGnhur90LiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjEzNgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjEwOQorbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLiIKK21zZ3N0ciAixJDDoyDDoXAgZOG7pW5nIGF1dG9zdGFzaC4iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMTIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBzdG9yZSAkc3Rhc2hfc2hhMSIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIGzGsHUgJHN0YXNoX3NoYTEiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxOTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlJlYmFzaW5nICgkbmV3X2NvdW50LyR0b3RhbCkiCiBtc2dzdHIgIsSQYW5nIHJlYmFzZSAoJG5ld19jb3VudC8kdG90YWwpIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTUyCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjA3CiBtc2dpZCAiIgogIlxuIgogIkNvbW1hbmRzOlxuIgpAQCAtMTk5NTgsNyArMjMxOTksNyBAQAogIk5o4buvbmcgZMOybmcgbsOgeSBjw7MgdGjhu4MgxJHhuqNvIG5nxrDhu6NjIHRo4bupIHThu7E7IGNow7puZyBjaOG6oXkgdOG7qyB0csOqbiDEkeG7iW5oIHh14buRbmcgZMaw4bubaSAiCiAixJHDoXkuXG4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMTUKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyNzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgY2FuIGFtZW5kIHRoZSBjb21taXQgbm93LCB3aXRoXG4iCkBAIC0xOTk3Nyw4MiArMjMyMTgsODIgQEAKICJcbiIKICJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjI0MAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjI5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHNoYTE6IG5vdCBhIGNvbW1pdCB0aGF0IGNhbiBiZSBwaWNrZWQiCiBtc2dzdHIgIiRzaGExOiBraMO0bmcgcGjhuqNpIGzDoCBs4bqnbiBjaHV54buDbiBnaWFvIG3DoCBjw7MgdGjhu4MgbOG6pXkgcmEgxJHGsOG7o2MiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyNzkKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozMzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkludmFsaWQgY29tbWl0IG5hbWU6ICRzaGExIgogbXNnc3RyICJUw6puIGzhuqduIGNodXnhu4NuIGdpYW8ga2jDtG5nIGjhu6NwIGzhu4c6ICRzaGExIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzA5CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzY0CiBtc2dpZCAiQ2Fubm90IHdyaXRlIGN1cnJlbnQgY29tbWl0J3MgcmVwbGFjZW1lbnQgc2hhMSIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSBs4bqhaSBzaGExIHRoYXkgdGjhur8gY+G7p2EgbOG6p24gY2h1eeG7g24gZ2lhbyIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM2MAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQxNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkIHRvICRzaGExIgogbXNnc3RyICJDaHV54buDbi10aeG6v3AtbmhhbmggxJHhur9uICRzaGExIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzYyCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDE3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgZmFzdC1mb3J3YXJkIHRvICRzaGExIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgY2h1eeG7g24tdGnhur9wLW5oYW5oIMSR4bq/biAkc2hhMSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM3MQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQyNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG1vdmUgSEVBRCB0byAkZmlyc3RfcGFyZW50IgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZGkgY2h1eeG7g24gSEVBRCDEkeG6v24gJGZpcnN0X3BhcmVudCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM3NgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQzMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gc3F1YXNoIGEgbWVyZ2U6ICRzaGExIgogbXNnc3RyICJU4burIGNo4buRaSBzcXVhc2ggbOG6p24gaMOyYSB0cuG7mW46ICRzaGExIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Mzk0CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDQ5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFcnJvciByZWRvaW5nIG1lcmdlICRzaGExIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgaG/DoG4gbOG6oWkgYsaw4bubYyBow7JhIHRy4buZbiAkc2hhMSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQwMworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ1OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHBpY2sgJHNoYTEiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBs4bqleSByYSAkc2hhMSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQxMgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ2NwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyB0aGUgY29tbWl0IG1lc3NhZ2UgIyR7bn06IgogbXNnc3RyICLEkMOieSBsw6AgY2jDuiB0aMOtY2ggY2hvIGzhuqduIGNodXnhu4NuIGdpYW8gdGjhu6kgIyR7bn06IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDE3CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDcyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUaGUgY29tbWl0IG1lc3NhZ2UgIyR7bn0gd2lsbCBiZSBza2lwcGVkOiIKIG1zZ3N0ciAiQ2jDuiB0aMOtY2ggY2hvIGzhuqduIGNodXnhu4NuIGdpYW8gdGjhu6kgIyR7bn0gc+G6vSBi4buLIGLhu48gcXVhOiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQyOAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ4MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICRjb3VudCBjb21taXQuIgogbXNnaWRfcGx1cmFsICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJGNvdW50IGNvbW1pdHMuIgogbXNnc3RyWzBdICLEkMOieSBsw6AgdOG7lSBo4bujcCBj4bunYSAkY291bnQgbOG6p24gY2h1eeG7g24gZ2lhby4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MzcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0OTIKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCB3cml0ZSAkZml4dXBfbXNnIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgJGZpeHVwX21zZyIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ0MAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ5NQogbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAyIGNvbW1pdHMuIgogbXNnc3RyICLEkMOieSBsw6AgdOG7lSBo4bujcCBj4bunYSAyIGzhuqduIGNodXnhu4NuIGdpYW8uIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDgxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MjQKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MjcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MzYgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU3OQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU4MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICRzaGExLi4uICRyZXN0IgogbXNnc3RyICJLaMO0bmcgdGjhu4Mgw6FwIGThu6VuZyAkc2hhMeKApiAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU1NgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYxMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkNvdWxkIG5vdCBhbWVuZCBjb21taXQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHBpY2tpbmcgJHNoYTEuLi4gJHJlc3RcbiIKQEAgLTIwMDY4LDMxICsyMzMwOSwzMSBAQAogIm7DoHlcbiIKICJ0csaw4bubYyBraGkgYuG6oW4gY8OzIHRo4buDIGzDoG0gdmnhu4djIGzhuqFpIHbhu5tpIGzhuqduIGNodXnhu4NuIGdpYW8uIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NTcxCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjI2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkIGF0ICRzaGExX2FiYnJldi4uLiAkcmVzdCIKIG1zZ3N0ciAiQuG7iyBk4burbmcgdOG6oWkgJHNoYTFfYWJicmV24oCmICRyZXN0IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NTg2CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjQxCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgJyRzcXVhc2hfc3R5bGUnIHdpdGhvdXQgYSBwcmV2aW91cyBjb21taXQiCiBtc2dzdHIgIktow7RuZyDigJwkc3F1YXNoX3N0eWxl4oCdIHRo4buDIG3DoCBraMO0bmcgY8OzIGzhuqduIGNodXnhu4NuIGdpYW8ga+G6vyB0csaw4bubYyIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYyOAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY4MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRXhlY3V0aW5nOiAkcmVzdCIKIG1zZ3N0ciAiVGjhu7FjIHRoaTogJHJlc3QiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2MzYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2OTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBmYWlsZWQ6ICRyZXN0IgogbXNnc3RyICJUaOG7sWMgdGhpIGfhurdwIGzhu5dpOiAkcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYzOAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY5MwogbXNnaWQgImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICJ2w6AgdOG6oW8gY8OhYyB0aGF5IMSR4buVaSBi4bqjbmcgbeG7pWMgbOG7pWMgdsOgL2hheSBjw6J5IGzDoG0gdmnhu4djIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjQwCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Njk1CiBtc2dpZCAiIgogIllvdSBjYW4gZml4IHRoZSBwcm9ibGVtLCBhbmQgdGhlbiBydW5cbiIKICJcbiIKQEAgLTIwMTAzLDcgKzIzMzQ0LDcgQEAKICJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKIAogIy4gVFJBTlNMQVRPUlM6IGFmdGVyIHRoZXNlIGxpbmVzIGlzIGEgY29tbWFuZCB0byBiZSBpc3N1ZWQgYnkgdGhlIHVzZXIKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NTMKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MDgKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJFeGVjdXRpb24gc3VjY2VlZGVkOiAkcmVzdFxuIgpAQCAtMjAxMTgsMjUgKzIzMzU5LDI1IEBACiAiXG4iCiAiXHRnaXQgcmViYXNlIC0tY29udGludWUiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NjQKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVua25vd24gY29tbWFuZDogJGNvbW1hbmQgJHNoYTEgJHJlc3QiCiBtc2dzdHIgIkzhu4duaCBjaMawYSBiaeG6v3Q6ICRjb21tYW5kICRzaGExICRyZXN0IgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjY1CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzIwCiBtc2dpZCAiUGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCiBtc2dzdHIgIlZ1aSBsw7JuZyBz4butYSBs4buXaSBuw6B5IGLhurFuZyBjw6FjaCBkw7luZyDigJxnaXQgcmViYXNlIC0tZWRpdC10b2Rv4oCdLiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjcwMAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc1NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VjY2Vzc2Z1bGx5IHJlYmFzZWQgYW5kIHVwZGF0ZWQgJGhlYWRfbmFtZS4iCiBtc2dzdHIgIkPDoGkgdOG7lSB2w6AgY+G6rXAgbmjhuq10ICRoZWFkX25hbWUgbeG7mXQgY8OhY2ggdGjDoG5oIGPDtG5nLiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc1NworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgxMgogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKIG1zZ3N0ciAiS2jDtG5nIHRo4buDIHjDs2EgYuG7jyBDSEVSUllfUElDS19IRUFEIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzYyCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODE3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuXG4iCkBAIC0yMDE2NywxMSArMjM0MDgsMTEgQEAKICJcbiIKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Nzc5CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODM0CiBtc2dpZCAiRXJyb3IgdHJ5aW5nIHRvIGZpbmQgdGhlIGF1dGhvciBpZGVudGl0eSB0byBhbWVuZCBjb21taXQiCiBtc2dzdHIgIkzhu5dpIGtoaSBj4buRIHTDrG0gxJHhu4tuaCBkYW5oIGPhu6dhIHTDoWMgZ2nhuqMgxJHhu4MgdHUgYuG7lSBs4bqnbiBjaHV54buDbiBnaWFvIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Nzg0CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODM5CiBtc2dpZCAiIgogIllvdSBoYXZlIHVuY29tbWl0dGVkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuIFBsZWFzZSBjb21taXQgdGhlbVxuIgogImZpcnN0IGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBhZ2Fpbi4iCkBAIC0yMDE4MCwzOSArMjM0MjEsMzkgQEAKICJWdWkgbMOybmcgY2h1eeG7g24gZ2lhbyBjaMO6bmcgdsOgIHNhdSDEkcOzIGNo4bqheSBs4buHbmgg4oCcZ2l0IHJlYmFzZSAtLWNvbnRpbnVl4oCdIGzhuqduICIKICJu4buvYS4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3ODkgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc5MworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg0NCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODQ4CiBtc2dpZCAiQ291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyBjaHV54buDbiBnaWFvIGPDoWMgdGhheSDEkeG7lWkgxJHDoyDEkcawYSBsw6puIGLhu4cgcGjDs25nLiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgyNCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTEwCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODc5IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NjUKIG1zZ2lkICJDb3VsZCBub3QgZXhlY3V0ZSBlZGl0b3IiCiBtc2dzdHIgIktow7RuZyB0aOG7gyB0aOG7sWMgdGhpIHRyw6xuaCBiacOqbiBzb+G6oW4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NDUKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MDAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjaGVja291dCAkc3dpdGNoX3RvIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgY2hlY2tvdXQgJHN3aXRjaF90byIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg1MgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjkwNwogbXNnaWQgIk5vIEhFQUQ/IgogbXNnc3RyICJLaMO0bmcgSEVBRD8iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NTMKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MDgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICRzdGF0ZV9kaXIiCiBtc2dzdHIgIktow7RuZyB0aOG7gyB04bqhbyB0aMawIG3hu6VjIHThuqFtIHRo4budaSAkc3RhdGVfZGlyIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODU2CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTExCiBtc2dpZCAiQ291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkcOhbmggZOG6pXUgbMOgIHTGsMahbmcgdMOhYyIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg4OAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk0MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZCkiCiBtc2dpZF9wbHVyYWwgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmRzKSIKIG1zZ3N0clswXSAiQ+G6o2kgdOG7lSAkc2hvcnRyZXZpc2lvbnMgdsOgbyAkc2hvcnRvbnRvIChjw6FjIGzhu4duaCAkdG9kb2NvdW50KSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk0MiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTQ3CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTk3IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxMDAyCiBtc2dpZCAiQ291bGQgbm90IGluaXQgcmV3cml0dGVuIGNvbW1pdHMiCiBtc2dzdHIgIktow7RuZyB0aOG7gyBraOG7n2kgdOG6oW8gY8OhYyBs4bqnbiBjaHV54buDbiBnaWFvIGdoaSBs4bqhaSIKIApAQCAtMjAyMjEsMTg4ICsyMzQ2MiwxMjcgQEAKIG1zZ2lkICJ1c2FnZTogJGRhc2hsZXNzICRVU0FHRSIKIG1zZ3N0ciAiY8OhY2ggZMO5bmc6ICRkYXNobGVzcyAkVVNBR0UiCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoxOTAKKyM6IGdpdC1zaC1zZXR1cC5zaDoxOTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBjaGRpciB0byAkY2R1cCwgdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIiIKICJLaMO0bmcgdGjhu4MgY2h1eeG7g24gdGjGsCBt4bulYyAoY2hkaXIpIHNhbmcgJGNkdXAsIHRoxrAgbeG7pWMg4bufIG3hu6ljIGNhbyBuaOG6pXQgY+G7p2EgY8OieSAiCiAibMOgbSB2aeG7h2MiCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoxOTkgZ2l0LXNoLXNldHVwLnNoOjIwNgorIzogZ2l0LXNoLXNldHVwLnNoOjIwMCBnaXQtc2gtc2V0dXAuc2g6MjA3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJmYXRhbDogJHByb2dyYW1fbmFtZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGEgd29ya2luZyB0cmVlLiIKIG1zZ3N0ciAiIgogImzhu5dpIG5naGnDqm0gdHLhu41uZzogJHByb2dyYW1fbmFtZSBraMO0bmcgdGjhu4MgxJHGsOG7o2MgZMO5bmcgbmdvYW9pZiB0aMawIG3hu6VjIGzDoG0gdmnhu4djLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjIyMAorIzogZ2l0LXNoLXNldHVwLnNoOjIyMQogbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICJLaMO0bmcgdGjhu4MgY+G6o2kgdOG7lTogQuG6oW4gY8OzIGPDoWMgdGhheSDEkeG7lWkgY2jGsGEgxJHGsOG7o2MgxJHGsGEgbMOqbiBi4buHIHBow7NuZy4iCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoyMjMKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjQKIG1zZ2lkICJDYW5ub3QgcmV3cml0ZSBicmFuY2hlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKICJLaMO0bmcgdGjhu4MgZ2hpIGzhuqFpIGPDoWMgbmjDoW5oOiBC4bqhbiBjw7MgY8OhYyB0aGF5IMSR4buVaSBjaMawYSDEkcaw4bujYyDEkcawYSBsw6puIGLhu4cgcGjDs25nLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjIyNgorIzogZ2l0LXNoLXNldHVwLnNoOjIyNwogbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogIktow7RuZyB0aOG7gyBwdWxsIHbhu5tpIGPhuqNpIHThu5U6IELhuqFuIGPDsyBjw6FjIHRoYXkgxJHhu5VpIGNoxrBhIMSRxrDhu6NjIMSRxrBhIGzDqm4gYuG7hyBwaMOzbmcuIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjI5CisjOiBnaXQtc2gtc2V0dXAuc2g6MjMwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgJGFjdGlvbjogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyAkYWN0aW9uOiBC4bqhbiBjw7MgY8OhYyB0aGF5IMSR4buVaSBjaMawYSDEkcaw4bujYyDEkcawYSBsw6puIGLhu4cgcGjDs25nLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjI0MgorIzogZ2l0LXNoLXNldHVwLnNoOjI0MwogbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIiIKICJLaMO0bmcgdGjhu4MgY+G6o2kgdOG7lTogTeG7pWMgbOG7pWMgY+G7p2EgYuG6oW4gY8OzIGNo4bupYSBjw6FjIHRoYXkgxJHhu5VpIGNoxrBhIMSRxrDhu6NjIGNodXnhu4NuIGdpYW8uIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjQ1CisjOiBnaXQtc2gtc2V0dXAuc2g6MjQ2CiBtc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyBwdWxsIHbhu5tpIGPhuqNpIHThu5U6IELhuqFuIGPDsyBjw6FjIHRoYXkgxJHhu5VpIGNoxrBhIMSRxrDhu6NjIGNodXnhu4NuIGdpYW8uIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjQ4CisjOiBnaXQtc2gtc2V0dXAuc2g6MjQ5CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgJGFjdGlvbjogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAiIgogIktow7RuZyB0aOG7gyAkYWN0aW9uOiBN4bulYyBs4bulYyBj4bunYSBi4bqhbiBjw7MgY2jhu6lhIGPDoWMgdGhheSDEkeG7lWkgY2jGsGEgxJHGsOG7o2MgY2h1eeG7g24gIgogImdpYW8uIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjUyCisjOiBnaXQtc2gtc2V0dXAuc2g6MjUzCiBtc2dpZCAiQWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICIiCiAiVGjDqm0gdsOgbyDEkcOzLCBi4bqjbmcgbeG7pWMgbOG7pWMgY+G7p2EgYuG6oW4gY8OzIGNo4bupYSBjw6FjIHRoYXkgxJHhu5VpIGNoxrBhIMSRxrDhu6NjIGNodXnhu4NuIGdpYW8uIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MzcyCisjOiBnaXQtc2gtc2V0dXAuc2g6MzczCiBtc2dpZCAiWW91IG5lZWQgdG8gcnVuIHRoaXMgY29tbWFuZCBmcm9tIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlLiIKIG1zZ3N0ciAiQuG6oW4gY+G6p24gY2jhuqF5IGzhu4duaCBuw6B5IHThu6sgdGjGsCBt4bulYyDhu58gbeG7qWMgY2FvIG5o4bqldCBj4bunYSBjw6J5IGzDoG0gdmnhu4djLiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjM3NworIzogZ2l0LXNoLXNldHVwLnNoOjM3OAogbXNnaWQgIlVuYWJsZSB0byBkZXRlcm1pbmUgYWJzb2x1dGUgcGF0aCBvZiBnaXQgZGlyZWN0b3J5IgogbXNnc3RyICJLaMO0bmcgdGjhu4MgZMOyIHTDrG0gxJHGsOG7nW5nIGThuqtuIHR1eeG7h3QgxJHhu5FpIGPhu6dhIHRoxrAgbeG7pWMgZ2l0IgogCiAjLiBUUkFOU0xBVE9SUzogeW91IGNhbiBhZGp1c3QgdGhpcyB0byBhbGlnbiAiZ2l0IGFkZCAtaSIgc3RhdHVzIG1lbnUKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIlMTJzICUxMnMgJXMiCiBtc2dzdHIgIiUxMnMgJTEycyAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKLW1zZ2lkICJzdGFnZWQiCi1tc2dzdHIgIsSRw6MgxJHGsGEgbMOqbiBi4buHIHBow7NuZyIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKLW1zZ2lkICJ1bnN0YWdlZCIKLW1zZ3N0ciAiY2jGsGEgxJHGsGEgbMOqbiBi4buHIHBow7NuZyIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNzgKLW1zZ2lkICJiaW5hcnkiCi1tc2dzdHIgIm5o4buLIHBow6JuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI2MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMxNgotbXNnaWQgIm5vdGhpbmciCi1tc2dzdHIgImtow7RuZyBjw7MgZ8OsIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI5OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMxMwotbXNnaWQgInVuY2hhbmdlZCIKLW1zZ3N0ciAia2jDtG5nIHRoYXkgxJHhu5VpIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYwOQotIywgcGVybC1mb3JtYXQKLW1zZ2lkICJhZGRlZCAlZCBwYXRoXG4iCi1tc2dpZF9wbHVyYWwgImFkZGVkICVkIHBhdGhzXG4iCi1tc2dzdHJbMF0gIsSRw6MgdGjDqm0gJWQgxJHGsOG7nW5nIGThuqtuXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjEyCi0jLCBwZXJsLWZvcm1hdAotbXNnaWQgInVwZGF0ZWQgJWQgcGF0aFxuIgotbXNnaWRfcGx1cmFsICJ1cGRhdGVkICVkIHBhdGhzXG4iCi1tc2dzdHJbMF0gIsSRw6MgY+G6rXAgbmjhuq10ICVkIMSRxrDhu51uZyBk4bqrblxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYxNQotIywgcGVybC1mb3JtYXQKLW1zZ2lkICJyZXZlcnRlZCAlZCBwYXRoXG4iCi1tc2dpZF9wbHVyYWwgInJldmVydGVkICVkIHBhdGhzXG4iCi1tc2dzdHJbMF0gIsSRw6MgaG/DoG4gbmd1ecOqbiAlZCDEkcaw4budbmcgZOG6q25cbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjM0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInRvdWNoZWQgJWQgcGF0aFxuIgogbXNnaWRfcGx1cmFsICJ0b3VjaGVkICVkIHBhdGhzXG4iCiBtc2dzdHJbMF0gIiVkIMSRxrDhu51uZyBk4bqrbiDEkcOjIHRvdWNoIChjaOG6oW0pXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjI3Ci1tc2dpZCAiVXBkYXRlIgotbXNnc3RyICJD4bqtcCBuaOG6rXQiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjM5Ci1tc2dpZCAiUmV2ZXJ0IgotbXNnc3RyICJIb8OgbiBuZ3V5w6puIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY2MgotIywgcGVybC1mb3JtYXQKLW1zZ2lkICJub3RlOiAlcyBpcyB1bnRyYWNrZWQgbm93LlxuIgotbXNnc3RyICJjaMO6IMO9OiAlcyBnaeG7nSDEkcOjIGLhu48gdGhlbyBkw7VpLlxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY3MwotbXNnaWQgIkFkZCB1bnRyYWNrZWQiCi1tc2dzdHIgIlRow6ptIGPDoWMgY8OhaSBjaMawYSDEkcaw4bujYyB0aGVvIGTDtWkiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Njc5Ci1tc2dpZCAiTm8gdW50cmFja2VkIGZpbGVzLlxuIgotbXNnc3RyICJLaMO0bmcgY8OzIHThuq1wIHRpbiBuw6BvIGNoxrBhIMSRxrDhu6NjIHRoZW8gZMO1aS5cbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDMzCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTMKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHN0YWdpbmcuIgogbXNnc3RyICIiCi0iTuG6v3UgbWnhur9uZyB2w6EgxJHGsOG7o2Mgw6FwIGThu6VuZyBz4bqhY2ggc+G6vSwgaHVuayDEkcOjIHPhu61hIHPhur0gbmdheSBs4bqtcCB04bupY1xuIgorIk7hur91IG1p4bq/bmcgdsOhIMSRxrDhu6NjIMOhcCBk4bulbmcgc+G6oWNoIHPhur0sIGtow7pjIMSRw6Mgc+G7rWEgc+G6vSBuZ2F5IGzhuq1wIHThu6ljXG4iCiAixJHGsOG7o2MgxJHDoW5oIGThuqV1IMSR4buDIGNodXnhu4NuIGzDqm4gYuG7hyBwaMOzbmcuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMzYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1NgogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3Igc3Rhc2hpbmcuIgogbXNnc3RyICIiCi0iTuG6v3UgbWnhur9uZyB2w6EgxJHGsOG7o2Mgw6FwIGThu6VuZyBz4bqhY2ggc+G6vSwgaHVuayDEkcOjIHPhu61hIHPhur0gbmdheSBs4bqtcCB04bupY1xuIgorIk7hur91IG1p4bq/bmcgdsOhIMSRxrDhu6NjIMOhcCBk4bulbmcgc+G6oWNoIHPhur0sIGtow7pjIMSRw6Mgc+G7rWEgc+G6vSBuZ2F5IGzhuq1wIHThu6ljXG4iCiAixJHGsOG7o2MgxJHDoW5oIGThuqV1IMSR4buDIHThuqFtIGPhuqV0LiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDM5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTkKIG1zZ2lkICIiCiAiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKICJtYXJrZWQgZm9yIHVuc3RhZ2luZy4iCiBtc2dzdHIgIiIKLSJO4bq/dSBtaeG6v25nIHbDoSDEkcaw4bujYyDDoXAgZOG7pW5nIHPhuqFjaCBz4bq9LCBodW5rIMSRw6Mgc+G7rWEgc+G6vSBuZ2F5IGzhuq1wIHThu6ljXG4iCisiTuG6v3UgbWnhur9uZyB2w6EgxJHGsOG7o2Mgw6FwIGThu6VuZyBz4bqhY2ggc+G6vSwga2jDumMgxJHDoyBz4butYSBz4bq9IG5nYXkgbOG6rXAgdOG7qWNcbiIKICLEkcaw4bujYyDEkcOhbmggZOG6pXUgxJHhu4MgYuG7jyBjaHV54buDbiBsw6puIGLhu4cgcGjDs25nLiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDQyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDYyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA3MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDc3CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBhcHBseWluZy4iCiBtc2dzdHIgIiIKLSJO4bq/dSBtaeG6v25nIHbDoSDEkcaw4bujYyDDoXAgZOG7pW5nIHPhuqFjaCBz4bq9LCBodW5rIMSRw6Mgc+G7rWEgc+G6vSBuZ2F5IGzhuq1wIHThu6ljXG4iCisiTuG6v3UgbWnhur9uZyB2w6EgxJHGsOG7o2Mgw6FwIGThu6VuZyBz4bqhY2ggc+G6vSwga2jDumMgxJHDoyBz4butYSBz4bq9IG5nYXkgbOG6rXAgdOG7qWNcbiIKICLEkcaw4bujYyDEkcOhbmggZOG6pXUgxJHhu4Mgw6FwIGThu6VuZy4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0NSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA2NSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA3NAogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgZGlzY2FyZGluZy4iCiBtc2dzdHIgIiIKLSJO4bq/dSBtaeG6v25nIHbDoSDEkcaw4bujYyDDoXAgZOG7pW5nIHPhuqFjaCBz4bq9LCBodW5rIMSRw6Mgc+G7rWEgc+G6vSBuZ2F5IGzhuq1wIHThu6ljXG4iCisiTuG6v3UgbWnhur9uZyB2w6EgxJHGsOG7o2Mgw6FwIGThu6VuZyBz4bqhY2ggc+G6vSwga2jDumMgxJHDoyBz4butYSBz4bq9IG5nYXkgbOG6rXAgdOG7qWNcbiIKICLEkcaw4bujYyDEkcOhbmggZOG6pXUgxJHhu4MgbG/huqFpIGLhu48uIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwODUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTExMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBodW5rIGVkaXQgZmlsZSBmb3Igd3JpdGluZzogJXMiCi1tc2dzdHIgImfhurdwIGzhu5dpIGtoaSB04bqtcCB0aW4gc+G7rWEgaHVuayDEkeG7gyBnaGk6ICVzIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdOG6rXAgdGluIHPhu61hIGtow7pjIMSR4buDIGdoaTogJXMiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA4NgotbXNnaWQgIk1hbnVhbCBodW5rIGVkaXQgbW9kZSAtLSBzZWUgYm90dG9tIGZvciBhIHF1aWNrIGd1aWRlLlxuIgotbXNnc3RyICJDaOG6vyDEkeG7mSBz4butYSBodW5rIGLhurFuZyB0YXkgLS0geGVtIOG7nyDEkcOheSDEkeG7gyBjw7MgaMaw4bubbmcgZOG6q24gc+G7rSBk4bulbmcgbmhhbmguXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA5MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICItLS1cbiIKQEAgLTIwNDE1LDM2ICsyMzU5NSwxMiBAQAogIsSQ4buDIHjDs2EgYuG7jyBkw7JuZyDigJwlc+KAnSwgeMOzYSBjaMO6bmcgxJFpLlxuIgogIk5o4buvbmcgZMOybmcgYuG6r3QgxJHhuqd1IGLhurFuZyAlcyBz4bq9IGLhu4sgbG/huqFpIGLhu48uXG4iCiAKLSMuIFRSQU5TTEFUT1JTOiAnaXQnIHJlZmVycyB0byB0aGUgcGF0Y2ggbWVudGlvbmVkIGluIHRoZSBwcmV2aW91cyBtZXNzYWdlcy4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTEwMAotbXNnaWQgIiIKLSJJZiBpdCBkb2VzIG5vdCBhcHBseSBjbGVhbmx5LCB5b3Ugd2lsbCBiZSBnaXZlbiBhbiBvcHBvcnR1bml0eSB0b1xuIgotImVkaXQgYWdhaW4uICBJZiBhbGwgbGluZXMgb2YgdGhlIGh1bmsgYXJlIHJlbW92ZWQsIHRoZW4gdGhlIGVkaXQgaXNcbiIKLSJhYm9ydGVkIGFuZCB0aGUgaHVuayBpcyBsZWZ0IHVuY2hhbmdlZC5cbiIKLW1zZ3N0ciAiIgotIk7hur91IG1p4bq/bmcgdsOhIGtow7RuZyDEkcaw4bujYyDDoXAgZOG7pW5nIHPhuqFjaCBz4bq9LCBi4bqhbiBz4bq9IGPDsyBt4buZdCBjxqEgaOG7mWlcbiIKLSLEkeG7gyBz4butYSBs4bqnbiBu4buvYS4gTuG6v3UgbeG7jWkgZMOybmcgY+G7p2EgaHVuayBi4buLIHjDs2EgYuG7jywgdGjhur8gdGjDrCBuaOG7r25nXG4iCi0ic+G7rWEgZOG7lWkgc+G6vSBi4buLIGxv4bqhaSBi4buPLCB2w6AgaHVuayB24bqrbiBnaeG7ryBuZ3V5w6puLlxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTE0MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBodW5rIGVkaXQgZmlsZSBmb3IgcmVhZGluZzogJXMiCi1tc2dzdHIgImfhurdwIGzhu5dpIGtoaSBt4bufIHThuq1wIHRpbiBodW5rIMSR4buDIMSR4buNYzogJXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBt4bufIHThuq1wIHRpbiBraMO6YyDEkeG7gyDEkeG7jWM6ICVzIgogCi0jLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSBbeS9uXQotIy4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCB0aGF0IGlucHV0Ci0jLiBhdCB0aGlzIHBvaW50LgotIy4gQ29uc2lkZXIgdHJhbnNsYXRpbmcgKHNheWluZyAibm8iIGRpc2NhcmRzISkgYXMKLSMuIChzYXlpbmcgIm4iIGZvciAibm8iIGRpc2NhcmRzISkgaWYgdGhlIHRyYW5zbGF0aW9uCi0jLiBvZiB0aGUgd29yZCAibm8iIGRvZXMgbm90IHN0YXJ0IHdpdGggbi4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIxMwotbXNnaWQgIiIKLSJZb3VyIGVkaXRlZCBodW5rIGRvZXMgbm90IGFwcGx5LiBFZGl0IGFnYWluIChzYXlpbmcgXCJub1wiIGRpc2NhcmRzISkgW3kvbl0/ICIKLW1zZ3N0ciAiIgotIkh1bmsgxJHDoyBz4butYSBj4bunYSBi4bqhbiBraMO0bmcgxJHGsOG7o2Mgw6FwIGThu6VuZy4gU+G7rWEgbOG6oWkgbOG6p24gbuG7r2EgKG7Ds2kgXCJuXCIgxJHhu4MgbG/huqFpICIKLSJi4buPISkgW3kvbl0/ICIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjIyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDgKIG1zZ2lkICIiCiAieSAtIHN0YWdlIHRoaXMgaHVua1xuIgogIm4gLSBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rXG4iCkBAIC0yMDQ1MiwxNCArMjM2MDgsMTQgQEAKICJhIC0gc3RhZ2UgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKICJkIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgogbXNnc3RyICIiCi0ieSAtIMSRxrBhIGzDqm4gYuG7hyBwaMOzbmcgaHVuayBuw6B5XG4iCi0ibiAtIMSR4burbmcgxJHGsGEgbMOqbiBi4buHIHBow7NuZyBodW5rIG7DoHlcbiIKLSJxIC0gdGhvw6F0OyDEkeG7q25nIMSRxrBhIGzDqm4gYuG7hyBwaMOzbmcgaHVuayBuw6B5IGPFqW5nIG5oxrAgYuG6pXQga+G7syBjw6FpIG7DoG8gY8OybiBs4bqhaVxuIgotImEgLSDEkcawYSBsw6puIGLhu4cgcGjDs25nIGh1bmsgbsOgeSB2w6AgdOG6pXQgY+G6oyBjw6FjIGh1bmsgc2F1IG7DoHkgdHJvbmcgdOG6rXAgdGluXG4iCi0iZCAtIMSR4burbmcgxJHGsGEgbMOqbiBi4buHIHBow7NuZyBodW5rIG7DoHkgY8WpbmcgbmjGsCBi4bqldCBr4buzIGPDoWkgbsOgbyBjw7JuIGzhuqFpIHRyb25nIHThuq1wICIKKyJ5IC0gxJHGsGEgbMOqbiBi4buHIHBow7NuZyBraMO6YyBuw6B5XG4iCisibiAtIMSR4burbmcgxJHGsGEgbMOqbiBi4buHIHBow7NuZyBraMO6YyBuw6B5XG4iCisicSAtIHRob8OhdDsgxJHhu6tuZyDEkcawYSBsw6puIGLhu4cgcGjDs25nIGtow7pjIG7DoHkgY8WpbmcgbmjGsCBi4bqldCBr4buzIGPDoWkgbsOgbyBjw7JuIGzhuqFpXG4iCisiYSAtIMSRxrBhIGzDqm4gYuG7hyBwaMOzbmcga2jDumMgbsOgeSB2w6AgdOG6pXQgY+G6oyBjw6FjIGtow7pjIHNhdSBuw6B5IHRyb25nIHThuq1wIHRpblxuIgorImQgLSDEkeG7q25nIMSRxrBhIGzDqm4gYuG7hyBwaMOzbmcga2jDumMgbsOgeSBjxaluZyBuaMawIGLhuqV0IGvhu7MgY8OhaSBuw6BvIGPDsm4gbOG6oWkgdHJvbmcgdOG6rXAgIgogInRpbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjI4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNTQKIG1zZ2lkICIiCiAieSAtIHN0YXNoIHRoaXMgaHVua1xuIgogIm4gLSBkbyBub3Qgc3Rhc2ggdGhpcyBodW5rXG4iCkBAIC0yMDQ2NywxMyArMjM2MjMsMTMgQEAKICJhIC0gc3Rhc2ggdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKICJkIC0gZG8gbm90IHN0YXNoIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgogbXNnc3RyICIiCi0ieSAtIHThuqFtIGPhuqV0IGh1bmsgbsOgeVxuIgotIm4gLSDEkeG7q25nIHThuqFtIGPhuqV0IGh1bmsgbsOgeVxuIgotInEgLSB0aG/DoXQ7IMSR4burbmcgdOG6oW0gY+G6pXQgaHVuayBuw6B5IGPFqW5nIG5oxrAgYuG6pXQga+G7syBjw6FpIG7DoG8gY8OybiBs4bqhaVxuIgotImEgLSB04bqhbSBj4bqldCBodW5rIG7DoHkgdsOgIHThuqV0IGPhuqMgY8OhYyBodW5rIHNhdSBuw6B5IHRyb25nIHThuq1wIHRpblxuIgotImQgLSDEkeG7q25nIHThuqFtIGPhuqV0IGh1bmsgbsOgeSBjxaluZyBuaMawIGLhuqV0IGvhu7MgY8OhaSBuw6BvIGPDsm4gbOG6oWkgdHJvbmcgdOG6rXAgdGluIgorInkgLSB04bqhbSBj4bqldCBraMO6YyBuw6B5XG4iCisibiAtIMSR4burbmcgdOG6oW0gY+G6pXQga2jDumMgbsOgeVxuIgorInEgLSB0aG/DoXQ7IMSR4burbmcgdOG6oW0gY+G6pXQga2jDumMgbsOgeSBjxaluZyBuaMawIGLhuqV0IGvhu7MgY8OhaSBuw6BvIGPDsm4gbOG6oWlcbiIKKyJhIC0gdOG6oW0gY+G6pXQga2jDumMgbsOgeSB2w6AgdOG6pXQgY+G6oyBjw6FjIGtow7pjIHNhdSBuw6B5IHRyb25nIHThuq1wIHRpblxuIgorImQgLSDEkeG7q25nIHThuqFtIGPhuqV0IGtow7pjIG7DoHkgY8WpbmcgbmjGsCBi4bqldCBr4buzIGPDoWkgbsOgbyBjw7JuIGzhuqFpIHRyb25nIHThuq1wIHRpbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjM0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNjAKIG1zZ2lkICIiCiAieSAtIHVuc3RhZ2UgdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCB1bnN0YWdlIHRoaXMgaHVua1xuIgpAQCAtMjA0ODEsMTUgKzIzNjM3LDE1IEBACiAiYSAtIHVuc3RhZ2UgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKICJkIC0gZG8gbm90IHVuc3RhZ2UgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCiBtc2dzdHIgIiIKLSJ5IC0gxJHGsGEgcmEga2jhu49pIGLhu4cgcGjDs25nIGh1bmsgbsOgeVxuIgotIm4gLSDEkeG7q25nIMSRxrBhIHJhIGto4buPaSBi4buHIHBow7NuZyBodW5rIG7DoHlcbiIKLSJxIC0gdGhvw6F0OyDEkeG7q25nIMSRxrBhIHJhIGto4buPaSBi4buHIHBow7NuZyBodW5rIG7DoHkgY8WpbmcgbmjGsCBi4bqldCBr4buzIGPDoWkgbsOgbyBjw7JuICIKKyJ5IC0gxJHGsGEgcmEga2jhu49pIGLhu4cgcGjDs25nIGtow7pjIG7DoHlcbiIKKyJuIC0gxJHhu6tuZyDEkcawYSByYSBraOG7j2kgYuG7hyBwaMOzbmcga2jDumMgbsOgeVxuIgorInEgLSB0aG/DoXQ7IMSR4burbmcgxJHGsGEgcmEga2jhu49pIGLhu4cgcGjDs25nIGtow7pjIG7DoHkgY8WpbmcgbmjGsCBi4bqldCBr4buzIGPDoWkgbsOgbyBjw7JuICIKICJs4bqhaVxuIgotImEgLSDEkcawYSByYSBraOG7j2kgYuG7hyBwaMOzbmcgaHVuayBuw6B5IHbDoCB04bqldCBj4bqjIGPDoWMgaHVuayBzYXUgbsOgeSB0cm9uZyB04bqtcCB0aW5cbiIKLSJkIC0gxJHhu6tuZyDEkcawYSByYSBraOG7j2kgYuG7hyBwaMOzbmcgaHVuayBuw6B5IGPFqW5nIG5oxrAgYuG6pXQga+G7syBjw6FpIG7DoG8gY8OybiBs4bqhaSB0cm9uZyAiCisiYSAtIMSRxrBhIHJhIGto4buPaSBi4buHIHBow7NuZyBraMO6YyBuw6B5IHbDoCB04bqldCBj4bqjIGPDoWMga2jDumMgc2F1IG7DoHkgdHJvbmcgdOG6rXAgdGluXG4iCisiZCAtIMSR4burbmcgxJHGsGEgcmEga2jhu49pIGLhu4cgcGjDs25nIGtow7pjIG7DoHkgY8WpbmcgbmjGsCBi4bqldCBr4buzIGPDoWkgbsOgbyBjw7JuIGzhuqFpIHRyb25nICIKICJ04bqtcCB0aW4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI0MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjY2CiBtc2dpZCAiIgogInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXhcbiIKICJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgpAQCAtMjA0OTcsMTMgKzIzNjUzLDEzIEBACiAiYSAtIGFwcGx5IHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCiAiZCAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKIG1zZ3N0ciAiIgotInkgLSDDoXAgZOG7pW5nIGh1bmsgbsOgeSB2w6BvIG3hu6VjIGzhu6VjXG4iCi0ibiAtIMSR4burbmcgw6FwIGThu6VuZyBodW5rIG7DoHkgdsOgbyBt4bulYyBs4bulY1xuIgotInEgLSB0aG/DoXQ7IMSR4burbmcgw6FwIGThu6VuZyBodW5rIG7DoHkgY8WpbmcgbmjGsCBi4bqldCBr4buzIGPDoWkgbsOgbyBjw7JuIGzhuqFpXG4iCi0iYSAtIMOhcCBk4bulbmcgaHVuayBuw6B5IHbDoCB04bqldCBj4bqjIGPDoWMgaHVuayBzYXUgbsOgeSB0cm9uZyB04bqtcCB0aW5cbiIKLSJkIC0gxJHhu6tuZyDDoXAgZOG7pW5nIGh1bmsgbsOgeSBjxaluZyBuaMawIGLhuqV0IGvhu7MgY8OhaSBuw6BvIHNhdSBuw6B5IHRyb25nIHThuq1wIHRpbiIKKyJ5IC0gw6FwIGThu6VuZyBraMO6YyBuw6B5IHbDoG8gbeG7pWMgbOG7pWNcbiIKKyJuIC0gxJHhu6tuZyDDoXAgZOG7pW5nIGtow7pjIG7DoHkgdsOgbyBt4bulYyBs4bulY1xuIgorInEgLSB0aG/DoXQ7IMSR4burbmcgw6FwIGThu6VuZyBraMO6YyBuw6B5IGPFqW5nIG5oxrAgYuG6pXQga+G7syBjw6FpIG7DoG8gY8OybiBs4bqhaVxuIgorImEgLSDDoXAgZOG7pW5nIGtow7pjIG7DoHkgdsOgIHThuqV0IGPhuqMgY8OhYyBraMO6YyBzYXUgbsOgeSB0cm9uZyB04bqtcCB0aW5cbiIKKyJkIC0gxJHhu6tuZyDDoXAgZOG7pW5nIGtow7pjIG7DoHkgY8WpbmcgbmjGsCBi4bqldCBr4buzIGPDoWkgbsOgbyBzYXUgbsOgeSB0cm9uZyB04bqtcCB0aW4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI0NgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjcyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI5MAogbXNnaWQgIiIKICJ5IC0gZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZVxuIgpAQCAtMjA1MTEsMTMgKzIzNjY3LDEzIEBACiAiYSAtIGRpc2NhcmQgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKICJkIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCiBtc2dzdHIgIiIKLSJ5IC0gbG/huqFpIGLhu48gaHVuayBuw6B5IGto4buPaSBjw6J5IGzDoG0gdmnhu4djXG4iCi0ibiAtIMSR4burbmcgbG/huqFpIGLhu48gaHVuayBraOG7j2kgY8OieSBsw6BtIHZp4buHY1xuIgotInEgLSB0aG/DoXQ7IMSR4burbmcgbG/huqFpIGLhu48gaHVuayBuw6B5IGPFqW5nIG5oxrAgYuG6pXQga+G7syBjw6FpIG7DoG8gY8OybiBs4bqhaVxuIgotImEgLSBsb+G6oWkgYuG7jyBodW5rIG7DoHkgdsOgIHThuqV0IGPhuqMgY8OhYyBodW5rIHNhdSBuw6B5IHRyb25nIHThuq1wIHRpblxuIgotImQgLSDEkeG7q25nIGxv4bqhaSBi4buPIGh1bmsgbsOgeSBjxaluZyBuaMawIGLhuqV0IGvhu7MgY8OhaSBuw6BvIHNhdSBuw6B5IHRyb25nIHThuq1wIHRpbiIKKyJ5IC0gbG/huqFpIGLhu48ga2jDumMgbsOgeSBraOG7j2kgY8OieSBsw6BtIHZp4buHY1xuIgorIm4gLSDEkeG7q25nIGxv4bqhaSBi4buPIGtow7pjIGto4buPaSBjw6J5IGzDoG0gdmnhu4djXG4iCisicSAtIHRob8OhdDsgxJHhu6tuZyBsb+G6oWkgYuG7jyBraMO6YyBuw6B5IGPFqW5nIG5oxrAgYuG6pXQga+G7syBjw6FpIG7DoG8gY8OybiBs4bqhaVxuIgorImEgLSBsb+G6oWkgYuG7jyBraMO6YyBuw6B5IHbDoCB04bqldCBj4bqjIGPDoWMga2jDumMgc2F1IG7DoHkgdHJvbmcgdOG6rXAgdGluXG4iCisiZCAtIMSR4burbmcgbG/huqFpIGLhu48ga2jDumMgbsOgeSBjxaluZyBuaMawIGLhuqV0IGvhu7MgY8OhaSBuw6BvIHNhdSBuw6B5IHRyb25nIHThuq1wIHRpbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjUyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzgKIG1zZ2lkICIiCiAieSAtIGRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgpAQCAtMjA1MjUsMTMgKzIzNjgxLDEzIEBACiAiYSAtIGRpc2NhcmQgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKICJkIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCiBtc2dzdHIgIiIKLSJ5IC0gbG/huqFpIGLhu48gaHVuayBuw6B5IGto4buPaSBt4bulYyBs4bulYyB2w6AgY8OieSBsw6BtIHZp4buHY1xuIgotIm4gLSDEkeG7q25nIGxv4bqhaSBi4buPIGh1bmsga2jhu49pIG3hu6VjIGzhu6VjIHbDoCBjw6J5IGzDoG0gdmnhu4djXG4iCi0icSAtIHRob8OhdDsgxJHhu6tuZyBsb+G6oWkgYuG7jyBodW5rIG7DoHkgY8WpbmcgbmjGsCBi4bqldCBr4buzIGPDoWkgbsOgbyBjw7JuIGzhuqFpXG4iCi0iYSAtIGxv4bqhaSBi4buPIGh1bmsgbsOgeSB2w6AgdOG6pXQgY+G6oyBjw6FjIGh1bmsgc2F1IG7DoHkgdHJvbmcgdOG6rXAgdGluXG4iCi0iZCAtIMSR4burbmcgbG/huqFpIGLhu48gaHVuayBuw6B5IGPFqW5nIG5oxrAgYuG6pXQga+G7syBjw6FpIG7DoG8gc2F1IG7DoHkgdHJvbmcgdOG6rXAgdGluIgorInkgLSBsb+G6oWkgYuG7jyBraMO6YyBuw6B5IGto4buPaSBt4bulYyBs4bulYyB2w6AgY8OieSBsw6BtIHZp4buHY1xuIgorIm4gLSDEkeG7q25nIGxv4bqhaSBi4buPIGtow7pjIGto4buPaSBt4bulYyBs4bulYyB2w6AgY8OieSBsw6BtIHZp4buHY1xuIgorInEgLSB0aG/DoXQ7IMSR4burbmcgbG/huqFpIGLhu48ga2jDumMgbsOgeSBjxaluZyBuaMawIGLhuqV0IGvhu7MgY8OhaSBuw6BvIGPDsm4gbOG6oWlcbiIKKyJhIC0gbG/huqFpIGLhu48ga2jDumMgbsOgeSB2w6AgdOG6pXQgY+G6oyBjw6FjIGtow7pjIHNhdSBuw6B5IHRyb25nIHThuq1wIHRpblxuIgorImQgLSDEkeG7q25nIGxv4bqhaSBi4buPIGtow7pjIG7DoHkgY8WpbmcgbmjGsCBi4bqldCBr4buzIGPDoWkgbsOgbyBzYXUgbsOgeSB0cm9uZyB04bqtcCB0aW4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI1OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjg0CiBtc2dpZCAiIgogInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlXG4iCkBAIC0yMDUzOSwxMyArMjM2OTUsMjcgQEAKICJhIC0gYXBwbHkgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKICJkIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgogbXNnc3RyICIiCi0ieSAtIMOhcCBk4bulbmcgaHVuayBuw6B5IHbDoG8gbeG7pWMgbOG7pWMgdsOgIGPDonkgbMOgbSB2aeG7h2NcbiIKLSJuIC0gxJHhu6tuZyDDoXAgZOG7pW5nIGh1bmsgdsOgbyBt4bulYyBs4bulYyB2w6AgY8OieSBsw6BtIHZp4buHY1xuIgotInEgLSB0aG/DoXQ7IMSR4burbmcgw6FwIGThu6VuZyBodW5rIG7DoHkgY8WpbmcgbmjGsCBi4bqldCBr4buzIGPDoWkgbsOgbyBjw7JuIGzhuqFpXG4iCi0iYSAtIMOhcCBk4bulbmcgaHVuayBuw6B5IHbDoCB04bqldCBj4bqjIGPDoWMgaHVuayBzYXUgbsOgeSB0cm9uZyB04bqtcCB0aW5cbiIKLSJkIC0gxJHhu6tuZyDDoXAgZOG7pW5nIGh1bmsgbsOgeSBjxaluZyBuaMawIGLhuqV0IGvhu7MgY8OhaSBuw6BvIHNhdSBuw6B5IHRyb25nIHThuq1wIHRpbiIKKyJ5IC0gw6FwIGThu6VuZyBraMO6YyBuw6B5IHbDoG8gbeG7pWMgbOG7pWMgdsOgIGPDonkgbMOgbSB2aeG7h2NcbiIKKyJuIC0gxJHhu6tuZyDDoXAgZOG7pW5nIGtow7pjIHbDoG8gbeG7pWMgbOG7pWMgdsOgIGPDonkgbMOgbSB2aeG7h2NcbiIKKyJxIC0gdGhvw6F0OyDEkeG7q25nIMOhcCBk4bulbmcga2jDumMgbsOgeSBjxaluZyBuaMawIGLhuqV0IGvhu7MgY8OhaSBuw6BvIGPDsm4gbOG6oWlcbiIKKyJhIC0gw6FwIGThu6VuZyBraMO6YyBuw6B5IHbDoCB04bqldCBj4bqjIGPDoWMga2jDumMgc2F1IG7DoHkgdHJvbmcgdOG6rXAgdGluXG4iCisiZCAtIMSR4burbmcgw6FwIGThu6VuZyBraMO6YyBuw6B5IGPFqW5nIG5oxrAgYuG6pXQga+G7syBjw6FpIG7DoG8gc2F1IG7DoHkgdHJvbmcgdOG6rXAgdGluIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI5NgorbXNnaWQgIiIKKyJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIHdvcmt0cmVlXG4iCisibiAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgdG8gd29ya3RyZWVcbiIKKyJxIC0gcXVpdDsgZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIGFwcGx5IHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisiZCAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAiIgorInkgLSDDoXAgZOG7pW5nIGtow7pjIG7DoHkgdsOgbyBjw6J5IGzDoG0gdmnhu4djXG4iCisibiAtIMSR4burbmcgw6FwIGThu6VuZyBraMO6YyB2w6BvIGPDonkgbMOgbSB2aeG7h2NcbiIKKyJxIC0gdGhvw6F0OyDEkeG7q25nIMOhcCBk4bulbmcga2jDumMgbsOgeSBjxaluZyBuaMawIGLhuqV0IGvhu7MgY8OhaSBuw6BvIGPDsm4gbOG6oWlcbiIKKyJhIC0gw6FwIGThu6VuZyBraMO6YyBuw6B5IHbDoCB04bqldCBj4bqjIGPDoWMga2jDumMgc2F1IG7DoHkgdHJvbmcgdOG6rXAgdGluXG4iCisiZCAtIMSR4burbmcgw6FwIGThu6VuZyBraMO6YyBuw6B5IGPFqW5nIG5oxrAgYuG6pXQga+G7syBjw6FpIG7DoG8gc2F1IG7DoHkgdHJvbmcgdOG6rXAgdGluIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMTEKIG1zZ2lkICIiCiAiZyAtIHNlbGVjdCBhIGh1bmsgdG8gZ28gdG9cbiIKICIvIC0gc2VhcmNoIGZvciBhIGh1bmsgbWF0Y2hpbmcgdGhlIGdpdmVuIHJlZ2V4XG4iCkBAIC0yMDU1NywyMTkgKzIzNzI3LDIwNiBAQAogImUgLSBtYW51YWxseSBlZGl0IHRoZSBjdXJyZW50IGh1bmtcbiIKICI/IC0gcHJpbnQgaGVscFxuIgogbXNnc3RyICIiCi0iZyAtIGNo4buNbiBt4buZdCBodW5rIG114buRbiB04bubaVxuIgotIi8gLSB0w6xtIG3hu5l0IGh1bmsga2jhu5twIHbhu5tpIGJp4buDdSB0aOG7qWMgY2jDrW5oIHF1eSDEkcawYSByYVxuIgotImogLSDEkeG7gyBs4bqhaSBodW5rIG7DoHkgbMOgIGNoxrBhIHF1eeG6v3QgxJHhu4tuaCwgeGVtIGh1bmsgY2jGsGEgcXV54bq/dCDEkeG7i25oIGvhur9cbiIKLSJKIC0gxJHhu4MgbOG6oWkgaHVuayBuw6B5IGzDoCBjaMawYSBxdXnhur90IMSR4buLbmgsIHhlbSBodW5rIGvhur9cbiIKLSJrIC0gxJHhu4MgbOG6oWkgaHVuayBuw6B5IGzDoCBjaMawYSBxdXnhur90IMSR4buLbmgsIHhlbSBodW5rIGNoxrBhIHF1eeG6v3QgxJHhu4tuaCBr4bq/IHRyxrDhu5tjXG4iCi0iSyAtIMSR4buDIGzhuqFpIGh1bmsgbsOgeSBsw6AgY2jGsGEgcXV54bq/dCDEkeG7i25oLCB4ZW0gaHVuayBr4bq/IHRyxrDhu5tjXG4iCi0icyAtIGNoaWEgaHVuayBoaeG7h24gdOG6oWkgdGjDoG5oIGPDoWMgaHVuayBuaOG7jyBoxqFuXG4iCi0iZSAtIHPhu61hIGLhurFuZyB0YXkgaHVuayBoaeG7h24gaMOgbmhcbiIKKyJnIC0gY2jhu41uIG3hu5l0IGtow7pjIG114buRbiB04bubaVxuIgorIi8gLSB0w6xtIG3hu5l0IGtow7pjIGto4bubcCB24bubaSBiaeG7g3UgdGjhu6ljIGNow61uaCBxdXkgxJHGsGEgcmFcbiIKKyJqIC0gxJHhu4MgbOG6oWkga2jDumMgbsOgeSBsw6AgY2jGsGEgcXV54bq/dCDEkeG7i25oLCB4ZW0ga2jDumMgY2jGsGEgcXV54bq/dCDEkeG7i25oIGvhur9cbiIKKyJKIC0gxJHhu4MgbOG6oWkga2jDumMgbsOgeSBsw6AgY2jGsGEgcXV54bq/dCDEkeG7i25oLCB4ZW0ga2jDumMga+G6v1xuIgorImsgLSDEkeG7gyBs4bqhaSBraMO6YyBuw6B5IGzDoCBjaMawYSBxdXnhur90IMSR4buLbmgsIHhlbSBraMO6YyBjaMawYSBxdXnhur90IMSR4buLbmgga+G6vyB0csaw4bubY1xuIgorIksgLSDEkeG7gyBs4bqhaSBraMO6YyBuw6B5IGzDoCBjaMawYSBxdXnhur90IMSR4buLbmgsIHhlbSBraMO6YyBr4bq/IHRyxrDhu5tjXG4iCisicyAtIGNoaWEga2jDumMgaGnhu4duIHThuqFpIHRow6BuaCBjw6FjIGtow7pjIG5o4buPIGjGoW5cbiIKKyJlIC0gc+G7rWEgYuG6sW5nIHRheSBraMO6YyBoaeG7h24gaMOgbmhcbiIKICI/IC0gaW4gdHLhu6MgZ2nDunBcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNDIKIG1zZ2lkICJUaGUgc2VsZWN0ZWQgaHVua3MgZG8gbm90IGFwcGx5IHRvIHRoZSBpbmRleCFcbiIKLW1zZ3N0ciAiQ8OhYyBodW5rIMSRw6MgY2jhu41uIGtow7RuZyDEkcaw4bujYyDDoXAgZOG7pW5nIHbDoG8gYuG6o25nIG3hu6VjIGzhu6VjIVxuIgorbXNnc3RyICJDw6FjIGtow7pjIMSRw6MgY2jhu41uIGtow7RuZyDEkcaw4bujYyDDoXAgZOG7pW5nIHbDoG8gYuG6o25nIG3hu6VjIGzhu6VjIVxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMDUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM0MwogbXNnaWQgIkFwcGx5IHRoZW0gdG8gdGhlIHdvcmt0cmVlIGFueXdheT8gIgogbXNnc3RyICJW4bqrbiDDoXAgZOG7pW5nIGNow7puZyBjaG8gY8OieSBsw6BtIHZp4buHYz8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMDgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM0NgogbXNnaWQgIk5vdGhpbmcgd2FzIGFwcGxpZWQuXG4iCiBtc2dzdHIgIsSQw6Mga2jDtG5nIMOhcCBk4bulbmcgZ8OsIGPhuqMuXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxOQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzU3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImlnbm9yaW5nIHVubWVyZ2VkOiAlc1xuIgogbXNnc3RyICJi4buPIHF1YSBuaOG7r25nIHRo4bupIGNoxrBhIGjDsmEgdHLhu5luOiAlc1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMjgKLW1zZ2lkICJPbmx5IGJpbmFyeSBmaWxlcyBjaGFuZ2VkLlxuIgotbXNnc3RyICJDaOG7iSBjw7MgY8OhYyB04bqtcCB0aW4gbmjhu4sgcGjDom4gbMOgIHRoYXkgxJHhu5VpLlxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzAKLW1zZ2lkICJObyBjaGFuZ2VzLlxuIgotbXNnc3RyICJLaMO0bmcgY8OzIHRoYXkgxJHhu5VpIG7DoG8uXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMzOAotbXNnaWQgIlBhdGNoIHVwZGF0ZSIKLW1zZ3N0ciAiQ+G6rXAgbmjhuq10IG1p4bq/bmcgdsOhIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiVGhheSDEkeG7lWkgY2jhur8gxJHhu5kgYuG7hyBwaMOzbmcgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDI5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJYw7NhIGto4buPaSBi4buHIHBow7NuZyBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzkyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQlcyw/XT8gIgotbXNnc3RyICLEkMawYSBsw6puIGLhu4cgcGjDs25nIGh1bmsgbsOgeSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAixJDGsGEgbMOqbiBi4buHIHBow7NuZyBraMO6YyBuw6B5IFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzMwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFzaCBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiVGhheSDEkeG7lWkgY2jhur8gxJHhu5kgdOG6oW0gY+G6pXQgxJFpIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzNAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFzaCBkZWxldGlvbiBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiWMOzYSB04bqhbSBj4bqldCBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzk3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU3Rhc2ggdGhpcyBodW5rIFt5LG4scSxhLGQlcyw/XT8gIgotbXNnc3RyICJU4bqhbSBj4bqldCBodW5rIG7DoHkgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIlThuqFtIGPhuqV0IGtow7pjIG7DoHkgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwMAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDM4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIlRoYXkgxJHhu5VpIGNo4bq/IMSR4buZIGLhu48gcmEga2jhu49pIGLhu4cgcGjDs25nIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MDEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzOQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJYw7NhIGLhu48gdmnhu4djIGLhu48gcmEga2jhu49pIGLhu4cgcGjDs25nIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MDIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkJXMsP10/ICIKLW1zZ3N0ciAiQuG7jyByYSBraOG7j2kgYuG7hyBwaMOzbmcgaHVuayBuw6B5IFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICJC4buPIHJhIGto4buPaSBi4buHIHBow7NuZyBraMO6YyBuw6B5IFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MDUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byBpbmRleCBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiw4FwIGThu6VuZyB0aGF5IMSR4buVaSBjaOG6vyDEkeG7mSBjaG8gbeG7pWMgbOG7pWMgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQ0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICLDgXAgZOG7pW5nIHZp4buHYyB4w7NhIHbDoG8gbeG7pWMgbOG7pWMgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwNworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQ1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBbeSxuLHEsYSxkJXMsP10/ICIKLW1zZ3N0ciAiw4FvIGThu6VuZyBodW5rIG7DoHkgdsOgbyBt4bulYyBs4bulYyBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiw4FvIGThu6VuZyBraMO6YyBuw6B5IHbDoG8gbeG7pWMgbOG7pWMgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxMAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQ4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIkxv4bqhaSBi4buPIGPDoWMgdGhheSDEkeG7lWkgY2jhur8gxJHhu5kgdOG7qyBjw6J5IGzDoG0gdmnhu4djIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MTEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBkZWxldGlvbiBmcm9tIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICJMb+G6oWkgYuG7jyB2aeG7h2MgeMOzYSBraOG7j2kgY8OieSBsw6BtIHZp4buHYyBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDEyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCi1tc2dzdHIgIkxv4bqhaSBi4buPIGh1bmsgbsOgeSBraOG7j2kgY8OieSBsw6BtIHZp4buHYyBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiTG/huqFpIGLhu48ga2jDumMgbsOgeSBraOG7j2kgY8OieSBsw6BtIHZp4buHYyBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDE1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBtb2RlIGNoYW5nZSBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiTG/huqFpIGLhu48gdGhheSDEkeG7lWkgY2jhur8gxJHhu5kgdOG7qyBt4bulYyBs4bulYyB2w6AgY8OieSBsw6BtIHZp4buHYyBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDE2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCBkZWxldGlvbiBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiTG/huqFpIGLhu48gdmnhu4djIHjDs2Ega2jhu49pIG3hu6VjIGzhu6VjIHbDoCBjw6J5IGzDoG0gdmnhu4djIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MTcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKLW1zZ3N0ciAiTG/huqFpIGLhu48gaHVuayBuw6B5IGto4buPaSBt4bulYyBs4bulYyB2w6AgY8OieSBsw6BtIHZp4buHYyBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiTG/huqFpIGLhu48ga2jDumMgbsOgeSBraOG7j2kgbeG7pWMgbOG7pWMgdsOgIGPDonkgbMOgbSB2aeG7h2MgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyMAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiw4FwIGThu6VuZyB0aGF5IMSR4buVaSBjaOG6vyDEkeG7mSBjaG8gbeG7pWMgbOG7pWMgdsOgIGPDonkgbMOgbSB2aeG7h2MgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyMQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAiw4FwIGThu6VuZyB2aeG7h2MgeMOzYSB2w6BvIG3hu6VjIGzhu6VjIHbDoCBjw6J5IGzDoG0gdmnhu4djIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MjIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgotbXNnc3RyICLDgXAgZOG7pW5nIGh1bmsgbsOgeSB2w6BvIG3hu6VjIGzhu6VjIHbDoCBjw6J5IGzDoG0gdmnhu4djIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICLDgXAgZOG7pW5nIGtow7pjIG7DoHkgdsOgbyBt4bulYyBs4bulYyB2w6AgY8OieSBsw6BtIHZp4buHYyBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTIyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIsOBcCBk4bulbmcgdGhheSDEkeG7lWkgY2jhur8gxJHhu5kgY2hvIGPDonkgbMOgbSB2aeG7h2MgW3ksbixxLGEsZCVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2OQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSBkZWxldGlvbiB0byB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiw4FwIGThu6VuZyB2aeG7h2MgeMOzYSBjaG8gY8OieSBsw6BtIHZp4buHYyBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDcwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAiw4FwIGThu6VuZyBraMO6YyBuw6B5IHbDoG8gY8OieSBsw6BtIHZp4buHYyBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTcwCiBtc2dpZCAiTm8gb3RoZXIgaHVua3MgdG8gZ290b1xuIgotbXNnc3RyICJLaMO0bmcgY8OybiBodW5rIG7DoG8gxJHhu4MgbcOgIG5o4bqjeSDEkeG6v25cbiIKK21zZ3N0ciAiS2jDtG5nIGPDsm4ga2jDumMgbsOgbyDEkeG7gyBtw6AgbmjhuqN5IMSR4bq/blxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1MjkKLW1zZ2lkICJnbyB0byB3aGljaCBodW5rICg8cmV0PiB0byBzZWUgbW9yZSk/ICIKLW1zZ3N0ciAibmjhuqN5IMSR4bq/biBodW5rIG7DoG8gKDxyZXQ+IMSR4buDIHhlbSB0aMOqbSk/ICIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTMxCi1tc2dpZCAiZ28gdG8gd2hpY2ggaHVuaz8gIgotbXNnc3RyICJuaOG6o3kgxJHhur9uIGh1bmsgbsOgbz8iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU0MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTg4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkludmFsaWQgbnVtYmVyOiAnJXMnXG4iCiBtc2dzdHIgIlPhu5Ega2jDtG5nIGjhu6NwIGzhu4c6IOKAnCVz4oCdXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU0NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTkzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNvcnJ5LCBvbmx5ICVkIGh1bmsgYXZhaWxhYmxlLlxuIgogbXNnaWRfcGx1cmFsICJTb3JyeSwgb25seSAlZCBodW5rcyBhdmFpbGFibGUuXG4iCi1tc2dzdHJbMF0gIlLhuqV0IHRp4bq/YywgY2jhu4kgY8OzIHPhurVuICVkIGh1bmsuLlxuIgorbXNnc3RyWzBdICJS4bqldCB0aeG6v2MsIGNo4buJIGPDsyBz4bq1biAlZCBraMO6Yy5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTcxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTkKIG1zZ2lkICJObyBvdGhlciBodW5rcyB0byBzZWFyY2hcbiIKLW1zZ3N0ciAiS2jDtG5nIGPDsm4gaHVuayBuw6BvIMSR4buDIG3DoCB0w6xtIGtp4bq/bVxuIgorbXNnc3RyICJLaMO0bmcgY8OybiBraMO6YyBuw6BvIMSR4buDIG3DoCB0w6xtIGtp4bq/bVxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzUKLW1zZ2lkICJzZWFyY2ggZm9yIHJlZ2V4PyAiCi1tc2dzdHIgInTDrG0ga2nhur9tIGNobyByZWdleD8gIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1ODgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYzNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgc2VhcmNoIHJlZ2V4cCAlczogJXNcbiIKIG1zZ3N0ciAixJDhu4tuaCBk4bqhbmcgdMOsbSBraeG6v20gY+G7p2EgYmnhu4N1IHRo4bupYyBjaMOtbmggcXV5IGtow7RuZyDEkcO6bmcgJXM6ICVzXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU5OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQ2CiBtc2dpZCAiTm8gaHVuayBtYXRjaGVzIHRoZSBnaXZlbiBwYXR0ZXJuXG4iCi1tc2dzdHIgIktow7RuZyB0aOG6pXkgaHVuayBuw6BvIGto4bubcCBt4bqrdSDEkcOjIGNob1xuIgorbXNnc3RyICJLaMO0bmcgdGjhuqV5IGtow7pjIG7DoG8ga2jhu5twIG3huqt1IMSRw6MgY2hvXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYxMCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MzIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY1OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2ODAKIG1zZ2lkICJObyBwcmV2aW91cyBodW5rXG4iCi1tc2dzdHIgIktow7RuZyBjw7MgaHVuayBr4bq/IHRyxrDhu5tjXG4iCittc2dzdHIgIktow7RuZyBjw7Mga2jDumMga+G6vyB0csaw4bubY1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjM4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjg2CiBtc2dpZCAiTm8gbmV4dCBodW5rXG4iCi1tc2dzdHIgIktow7RuZyBjw7MgaHVuayBr4bq/IHRp4bq/cFxuIgorbXNnc3RyICJLaMO0bmcgY8OzIGtow7pjIGvhur8gdGnhur9wXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY0NAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjkyCiBtc2dpZCAiU29ycnksIGNhbm5vdCBzcGxpdCB0aGlzIGh1bmtcbiIKLW1zZ3N0ciAiUuG6pXQgdGnhur9jLCBraMO0bmcgdGjhu4MgY2hpYSBuaOG7jyBodW5rIG7DoHlcbiIKK21zZ3N0ciAiUuG6pXQgdGnhur9jLCBraMO0bmcgdGjhu4MgY2hpYSBuaOG7jyBraMO6YyBuw6B5XG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY1MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjk4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNwbGl0IGludG8gJWQgaHVuay5cbiIKIG1zZ2lkX3BsdXJhbCAiU3BsaXQgaW50byAlZCBodW5rcy5cbiIKLW1zZ3N0clswXSAiQ2hpIG5o4buPIHRow6BuaCAlZCBodW5rcy5cbiIKK21zZ3N0clswXSAiQ2hpIG5o4buPIHRow6BuaCAlZCBraMO6Yy5cbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjYwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDgKIG1zZ2lkICJTb3JyeSwgY2Fubm90IGVkaXQgdGhpcyBodW5rXG4iCi1tc2dzdHIgIlLhuqV0IHRp4bq/Yywga2jDtG5nIHRo4buDIHPhu61hIGh1bmsgbsOgeVxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDYKLW1zZ2lkICJSZXZpZXcgZGlmZiIKLW1zZ3N0ciAiWGVtIHjDqXQgbOG6oWkgZGlmZiIKK21zZ3N0ciAiUuG6pXQgdGnhur9jLCBraMO0bmcgdGjhu4Mgc+G7rWEga2jDumMgbsOgeVxuIgogCiAjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGRvIG5vdCB0cmFuc2xhdGUgdGhlIGNvbW1hbmQgbmFtZXMKICMuICdzdGF0dXMnLCAndXBkYXRlJywgJ3JldmVydCcsIGV0Yy4KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcyNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzczCiBtc2dpZCAiIgogInN0YXR1cyAgICAgICAgLSBzaG93IHBhdGhzIHdpdGggY2hhbmdlc1xuIgogInVwZGF0ZSAgICAgICAgLSBhZGQgd29ya2luZyB0cmVlIHN0YXRlIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXNcbiIKQEAgLTIwNzg0LDIzICsyMzk0MSwyNCBAQAogIsSR4bq3dCBsw6puIGLhu4cgcGjDs25nXG4iCiAicmV2ZXJ0ICAgICAgICAtIGhvw6BuIG5ndXnDqm4gdOG6rXAgaOG7o3AgY8OhYyB0aGF5IMSR4buVaSDEkcOjIMSR4bq3dCBsw6puIGLhu4cgcGjDs25nIHRy4bufIGzhuqFpICIKICJwaGnDqm4gYuG6o24gSEVBRFxuIgotInBhdGNoICAgICAgICAgLSBj4bqteSBjw6FjIGh1bmsgdsOgIGPhuq1wIG5o4bqtdCBjw7MgbOG7sWEgY2jhu41uXG4iCisicGF0Y2ggICAgICAgICAtIGPhuq15IGPDoWMga2jDumMgdsOgIGPhuq1wIG5o4bqtdCBjw7MgbOG7sWEgY2jhu41uXG4iCiAiZGlmZlx0ICAgICAgLSB4ZW0ga2jDoWMgYmnhu4d0IGdp4buvYSBIRUFEIHbDoCBt4bulYyBs4bulY1xuIgogImFkZCB1bnRyYWNrZWQgLSB0aMOqbSBu4buZaSBkdW5nIGPDoWMgY8OhYyB04bqtcCB0aW4gY2jGsGEgdGhlbyBkw7VpIHbDoCB04bqtcCBo4bujcCBjw6FjICIKICJ0aGF5IMSR4buVaSDEkcOjIMSR4bq3dCBsw6puIGLhu4cgcGjDs25nXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc0MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NDcKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc1MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NTcKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2MSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc5MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3OTUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc5OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MDUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgwOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MTUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgxOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MjUKIG1zZ2lkICJtaXNzaW5nIC0tIgogbXNnc3RyICJ0aGnhur91IC0tIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIC0tcGF0Y2ggbW9kZTogJXMiCiBtc2dzdHIgImtow7RuZyBoaeG7g3UgY2jhur8gxJHhu5kgLS1wYXRjaDogJXMiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc2OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NzUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyNyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MzMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCAlcywgZXhwZWN0aW5nIC0tIgogbXNnc3RyICLEkeG7kWkgc+G7kSBraMO0bmcgaOG7o3AgbOG7hyAlcywgY+G6p24gLS0iCkBAIC0yMDgxMywzMCArMjM5NzEsMzAgQEAKIG1zZ2lkICJsb2NhbCB0aW1lIG9mZnNldCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMjQgaG91cnNcbiIKIG1zZ3N0ciAia2hv4bqjbmcgYsO5IHRo4budaSBnaWFuIG7hu5lpIGLhu5kgbOG7m24gaMahbiBob+G6t2MgYuG6sW5nIDI0IGdp4budXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjE5IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjI1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIyMyBnaXQtc2VuZC1lbWFpbC5wZXJsOjIyOQogbXNnaWQgInRoZSBlZGl0b3IgZXhpdGVkIHVuY2xlYW5seSwgYWJvcnRpbmcgZXZlcnl0aGluZyIKIG1zZ3N0ciAidHLDrG5oIHNv4bqhbiB0aOG6o28gdGhvw6F0IGtow7RuZyBz4bqhY2ggc+G6vSwgYsOjaSBi4buPIG3hu41pIHRo4bupIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMwMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDozMTAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIiclcycgY29udGFpbnMgYW4gaW50ZXJtZWRpYXRlIHZlcnNpb24gb2YgdGhlIGVtYWlsIHlvdSB3ZXJlIGNvbXBvc2luZy5cbiIKIG1zZ3N0ciAi4oCcJXPigJ0gY8OzIGNoxrBhIG3hu5l0IHBoacOqbiBi4bqjbiB0cnVuZyBnaWFuIGPhu6dhIHRoxrAgYuG6oW4gxJHDoyBzb+G6oW4uXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzA3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMxNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICInJXMuZmluYWwnIGNvbnRhaW5zIHRoZSBjb21wb3NlZCBlbWFpbC5cbiIKIG1zZ3N0ciAi4oCcJXMuZmluYWzigJ0gY2jhu6lhIHRoxrAgxJFp4buHbiB04butIMSRw6Mgc2/huqFuIHRo4bqjby5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDozMjYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDA4CiBtc2dpZCAiLS1kdW1wLWFsaWFzZXMgaW5jb21wYXRpYmxlIHdpdGggb3RoZXIgb3B0aW9uc1xuIgogbXNnc3RyICItLWR1bXAtYWxpYXNlcyB4dW5nIGto4bqvYyB24bubaSBjw6FjIHTDuXkgY2jhu41uIGtow6FjXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mzk1IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjUwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ4MSBnaXQtc2VuZC1lbWFpbC5wZXJsOjY4MwogbXNnaWQgIkNhbm5vdCBydW4gZ2l0IGZvcm1hdC1wYXRjaCBmcm9tIG91dHNpZGUgYSByZXBvc2l0b3J5XG4iCiBtc2dzdHIgIktow7RuZyB0aOG7gyBjaOG6oXkgZ2l0IGZvcm1hdC1wYXRjaCDhu58gbmdvw6BpIG3hu5l0IGtobyBjaOG7qWFcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDozOTgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDg0CiBtc2dpZCAiIgogImBiYXRjaC1zaXplYCBhbmQgYHJlbG9naW5gIG11c3QgYmUgc3BlY2lmaWVkIHRvZ2V0aGVyICh2aWEgY29tbWFuZC1saW5lIG9yICIKICJjb25maWd1cmF0aW9uIG9wdGlvbilcbiIKQEAgLTIwODQ0LDM3ICsyNDAwMiwzNyBAQAogIuKAnGJhdGNoLXNpemXigJ0gdsOgIOKAnHJlbG9naW7igJ0gcGjhuqNpIMSRxrDhu6NjIGNo4buJIMSR4buLbmggY8O5bmcgduG7m2kgbmhhdSAodGjDtG5nIHF1YSBkw7JuZyAiCiAibOG7h25oIGhv4bq3YyB0w7l5IGNo4buNbiBj4bqldSBow6xuaClcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0NjgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDk3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVua25vd24gLS1zdXBwcmVzcy1jYyBmaWVsZDogJyVzJ1xuIgogbXNnc3RyICJLaMO0bmcgaGnhu4N1IHRyxrDhu51uZyAtLXN1cHByZXNzLWNjOiDigJwlc+KAnVxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ5NworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5rbm93biAtLWNvbmZpcm0gc2V0dGluZzogJyVzJ1xuIgogbXNnc3RyICJLaMO0bmcgaGnhu4N1IGPDoGkgxJHhurd0IC0tY29uZmlybTog4oCcJXPigJ1cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTU2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IHNlbmRtYWlsIGFsaWFzIHdpdGggcXVvdGVzIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgImPhuqNuaCBiw6FvOiBiw60gZGFuaCBzZW5kbWFpbCB24bubaSBk4bqldSB0csOtY2ggZOG6q24ga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6M6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTI3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU1OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBgOmluY2x1ZGU6YCBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICJj4bqjbmggYsOhbzog4oCcOmluY2x1ZGU64oCcIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujOiAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjUyOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo1NjAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAid2FybmluZzogYC9maWxlYCBvciBgfHBpcGVgIHJlZGlyZWN0aW9uIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgImPhuqNuaCBiw6FvOiBjaHV54buDbiBoxrDhu5tuZyDigJwvZmlsZeKAnCBoYXkg4oCcfHBpcGXigJwga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6M6ICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTM0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU2NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBsaW5lIGlzIG5vdCByZWNvZ25pemVkOiAlc1xuIgogbXNnc3RyICJj4bqjbmggYsOhbzogZMOybmcgc2VuZG1haWwga2jDtG5nIG5o4bqtbiByYSDEkcaw4bujYzogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2MTYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjQ5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJGaWxlICclcycgZXhpc3RzIGJ1dCBpdCBjb3VsZCBhbHNvIGJlIHRoZSByYW5nZSBvZiBjb21taXRzXG4iCkBAIC0yMDg4OSwxMiArMjQwNDcsMTIgQEAKICIgICAgKiBOw7NpIFwiLi8lc1wiIG7hur91IMO9IGLhuqFuIGzDoCBt4buZdCB04bqtcCB0aW47IGhv4bq3Y1xuIgogIiAgICAqIMSQxrBhIHJhIHTDuXkgY2jhu41uIC0tZm9ybWF0LXBhdGNoIG7hur91IMO9IGLhuqFuIGzDoCBjaHXhuqluIGLhu4suXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjM3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY3MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbmRpciAlczogJXMiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBt4bufIHRoxrAgbeG7pWMg4oCcJXPigJ06ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY2MQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2OTQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogImZhdGFsOiAlczogJXNcbiIKQEAgLTIwOTAzLDcgKzI0MDYxLDcgQEAKICJuZ2hpw6ptIHRy4buNbmc6ICVzOiAlc1xuIgogImPhuqNuaCBiw6FvOiBraMO0bmcgY8OzIG1p4bq/bmcgdsOhIG7DoG8gxJHGsOG7o2MgZ+G7rWkgxJFpXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjcyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcwNQogbXNnaWQgIiIKICJcbiIKICJObyBwYXRjaCBmaWxlcyBzcGVjaWZpZWQhXG4iCkBAIC0yMDkxMywxNyArMjQwNzEsMTcgQEAKICJDaMawYSBjaOG7iSDEkeG7i25oIGPDoWMgdOG6rXAgdGluIG1p4bq/bmcgdsOhIVxuIgogIlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY4NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiTm8gc3ViamVjdCBsaW5lIGluICVzPyIKIG1zZ3N0ciAiS2jDtG5nIGPDsyBkw7JuZyBjaOG7pyDEkeG7gSB0cm9uZyAlcz8iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njk1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcyOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiBmb3Igd3JpdGluZyAlczogJXMiCiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBt4bufIOKAnCVz4oCdIMSR4buDIGdoaTogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzA2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjczOQogbXNnaWQgIiIKICJMaW5lcyBiZWdpbm5pbmcgaW4gXCJHSVQ6XCIgd2lsbCBiZSByZW1vdmVkLlxuIgogIkNvbnNpZGVyIGluY2x1ZGluZyBhbiBvdmVyYWxsIGRpZmZzdGF0IG9yIHRhYmxlIG9mIGNvbnRlbnRzXG4iCkBAIC0yMDkzNywyNyArMjQwOTUsMjcgQEAKICJcbiIKICJYw7NhIG7hu5lpIGR1bmcgcGjhuqduIHRow6JuIG7hur91IGLhuqFuIGtow7RuZyBtdeG7kW4gZ+G7rWkgdMOzbSB04bqvdC5cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MzAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzYzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzOiAlcyIKIG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIG3hu58g4oCcJXPigJ06ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc0NworIzogZ2l0LXNlbmQtZW1haWwucGVybDo3ODAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMuZmluYWw6ICVzIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgbeG7nyAlcy5maW5hbDogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzkwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgyMwogbXNnaWQgIlN1bW1hcnkgZW1haWwgaXMgZW1wdHksIHNraXBwaW5nIGl0XG4iCiBtc2dzdHIgIlRoxrAgdOG7lW5nIHRo4buDIGzDoCB0cuG7kW5nIHLhu5duZywgbsOqbiBi4buPIHF1YSBuw7NcbiIKIAogIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBrZWVwIFt5L05dIGFzIGlzLgotIzogZ2l0LXNlbmQtZW1haWwucGVybDo4MjUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODU4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB1c2UgPCVzPiBbeS9OXT8gIgogbXNnc3RyICJC4bqhbiBjw7MgY2jhuq9jIG114buRbiBkw7luZyA8JXM+IFt5L05dPyAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODgwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkxMwogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIGZpbGVzIGFyZSA4Yml0LCBidXQgZG8gbm90IGRlY2xhcmUgYSBDb250ZW50LVRyYW5zZmVyLSIKICJFbmNvZGluZy5cbiIKQEAgLTIwOTY1LDExICsyNDEyMywxMSBAQAogIkPDoWMgdHLGsOG7nW5nIHNhdSDEkcOieSBsw6AgOGJpdCwgbmjGsG5nIGtow7RuZyBraGFpIGLDoW8gbeG7mXQgQ29udGVudC1UcmFuc2Zlci0iCiAiRW5jb2RpbmcuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODg1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkxOAogbXNnaWQgIldoaWNoIDhiaXQgZW5jb2Rpbmcgc2hvdWxkIEkgZGVjbGFyZSBbVVRGLThdPyAiCiBtc2dzdHIgIkLhuqNuZyBtw6MgOGJpdCBuw6BvIHTDtGkgbsOqbiBraGFpIGLDoW8gW1VURi04XT8gIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg5MworIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MjYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIlJlZnVzaW5nIHRvIHNlbmQgYmVjYXVzZSB0aGUgcGF0Y2hcbiIKQEAgLTIwOTgyLDIwICsyNDE0MCwyMCBAQAogImPDsyBjaOG7pyDEkeG7gSDhu58gZOG6oW5nIG3huqt1IOKAnCoqKiBTVUJKRUNUIEhFUkUgKioq4oCdLiBEw7luZyAtLWZvcmNlIG7hur91IGLhuqFuIHRo4buxYyBz4buxICIKICJtdeG7kW4gZ+G7rWkuXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTEyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjk0NQogbXNnaWQgIlRvIHdob20gc2hvdWxkIHRoZSBlbWFpbHMgYmUgc2VudCAoaWYgYW55b25lKT8iCiBtc2dzdHIgIlThu5tpIG5nxrDhu51pIG3DoCB0aMawIMSRxrDhu6NjIGfhu61pIChu4bq/dSBjw7MpPyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MzAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTYzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImZhdGFsOiBhbGlhcyAnJXMnIGV4cGFuZHMgdG8gaXRzZWxmXG4iCiBtc2dzdHIgIm5naGnDqm0gdHLhu41uZzogYsOtIGRhbmgg4oCcJXPigJ0gxJHGsOG7o2Mga2hhaSB0cmnhu4NuIHRow6BuaCBjaMOtbmggbsOzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTQyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjk3NQogbXNnaWQgIk1lc3NhZ2UtSUQgdG8gYmUgdXNlZCBhcyBJbi1SZXBseS1UbyBmb3IgdGhlIGZpcnN0IGVtYWlsIChpZiBhbnkpPyAiCiBtc2dzdHIgIk1lc3NhZ2UtSUQgxJHGsOG7o2MgZMO5bmcgbmjGsCBsw6AgSW4tUmVwbHktVG8gY2hvIHRoxrAgxJHhuqd1IHRpw6puIChu4bq/dSBjw7MpPyAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTAwMCBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwMDgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTAzMyBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwNDEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZXJyb3I6IHVuYWJsZSB0byBleHRyYWN0IGEgdmFsaWQgYWRkcmVzcyBmcm9tOiAlc1xuIgogbXNnc3RyICJs4buXaToga2jDtG5nIHRo4buDIHLDunQgdHLDrWNoIG3hu5l0IMSR4buLYSBjaOG7iSBo4bujcCBs4buHIHThu6s6ICVzXG4iCkBAIC0yMTAwMywxNiArMjQxNjEsMTYgQEAKICMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbcV0gW2RdIFtlXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDEyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwNDUKIG1zZ2lkICJXaGF0IHRvIGRvIHdpdGggdGhpcyBhZGRyZXNzPyAoW3FddWl0fFtkXXJvcHxbZV1kaXQpOiAiCiBtc2dzdHIgIkzDoG0gZ8OsIHbhu5tpIMSR4buLYSBjaOG7iSBuw6B5PyAodGhvw6F0W3FdfHjDs2FbZF18c+G7rWFbZV0pOiAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTMyOQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMzYyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkNBIHBhdGggXCIlc1wiIGRvZXMgbm90IGV4aXN0IgotbXNnc3RyICLEkcaw4budbmcgZOG6q24gQ0Eg4oCcJXPigJ0ga2jDtG5nIHThu5NuIHThuqFpIgorbXNnc3RyICLEkMaw4budbmcgZOG6q24gQ0Eg4oCcJXPigJ0ga2jDtG5nIHThu5NuIHThuqFpIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0MTIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ0NQogbXNnaWQgIiIKICIgICAgVGhlIENjIGxpc3QgYWJvdmUgaGFzIGJlZW4gZXhwYW5kZWQgYnkgYWRkaXRpb25hbFxuIgogIiAgICBhZGRyZXNzZXMgZm91bmQgaW4gdGhlIHBhdGNoIGNvbW1pdCBtZXNzYWdlLiBCeSBkZWZhdWx0XG4iCkBAIC0yMTAzOSwxNDMgKzI0MTk3LDQzNiBAQAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFt5XSBbbl0gW2VdIFtxXSBbYV0gaW4geW91cgogIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAogIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQyNworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDYwCiBtc2dpZCAiU2VuZCB0aGlzIGVtYWlsPyAoW3ldZXN8W25db3xbZV1kaXR8W3FddWl0fFthXWxsKTogIgogbXNnc3RyICJH4butaSB0aMawIG7DoHkgY2jhu6k/IChbeV1jw7N8W25da2jDtG5nfFtlXXPhu61hfFtxXXRob8OhdHxbYV104bqldCk6ICIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDMwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjMKIG1zZ2lkICJTZW5kIHRoaXMgZW1haWwgcmVwbHkgcmVxdWlyZWQiCiBtc2dzdHIgIkfhu61pIHRoxrAgbsOgeSB0cuG6oyBs4budaSB5w6p1IGPhuqd1IgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NTgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ5MQogbXNnaWQgIlRoZSByZXF1aXJlZCBTTVRQIHNlcnZlciBpcyBub3QgcHJvcGVybHkgZGVmaW5lZC4iCiBtc2dzdHIgIk3DoXkgcGjhu6VjIHbhu6UgU01UUCBjaMawYSDEkcaw4bujYyDEkeG7i25oIG5naMSpYSBt4buZdCBjw6FjaCB0aMOtY2ggaOG7o3AuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MDUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUzOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBTVEFSVFRMUyEgJXMiCiBtc2dzdHIgIk3DoXkgY2jhu6cga2jDtG5nIGjhu5cgdHLhu6MgU1RBUlRUTFMhICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MTAgZ2l0LXNlbmQtZW1haWwucGVybDoxNTE0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDMgZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNUQVJUVExTIGZhaWxlZCEgJXMiCiBtc2dzdHIgIlNUQVJUVExTIGfhurdwIGzhu5dpISAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTIzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NTYKIG1zZ2lkICJVbmFibGUgdG8gaW5pdGlhbGl6ZSBTTVRQIHByb3Blcmx5LiBDaGVjayBjb25maWcgYW5kIHVzZSAtLXNtdHAtZGVidWcuIgogbXNnc3RyICIiCiAiS2jDtG5nIHRo4buDIGto4bufaSB04bqhbyBTTVRQIG3hu5l0IGPDoWNoIMSRw7puZyDEkeG6r24uIEtp4buDbSB0cmEgY+G6pXUgaMOsbmggdsOgIGTDuW5nIC0tc210cC0iCiAiZGVidWcuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3NAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gc2VuZCAlc1xuIgogbXNnc3RyICJH4bq3cCBs4buXaSBraGkgZ+G7rWkgJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRHJ5LVNlbnQgJXNcbiIKIG1zZ3N0ciAiVGjhu60gZ+G7rWkgJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU2VudCAlc1xuIgogbXNnc3RyICJH4butaSAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3OQogbXNnaWQgIkRyeS1PSy4gTG9nIHNheXM6XG4iCiBtc2dzdHIgIkRyeS1PSy4gTmjhuq10IGvDvSBuw7NpIHLhurFuZzpcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzkKIG1zZ2lkICJPSy4gTG9nIHNheXM6XG4iCiBtc2dzdHIgIk9LLiBOaOG6rXQga8O9IG7Ds2kgcuG6sW5nOlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NTgKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU5MQogbXNnaWQgIlJlc3VsdDogIgogbXNnc3RyICJL4bq/dCBxdeG6ozogIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NjEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU5NAogbXNnaWQgIlJlc3VsdDogT0tcbiIKIG1zZ3N0ciAiS+G6v3QgcXXhuqM6IFThu5F0XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3OQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjEyCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImNhbid0IG9wZW4gZmlsZSAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIOKAnCVz4oCdIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2MjYgZ2l0LXNlbmQtZW1haWwucGVybDoxNjQ2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NTkgZ2l0LXNlbmQtZW1haWwucGVybDoxNjc5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihtYm94KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihtYm94KSBUaMOqbSBjYzogJXMgdOG7qyBkw7JuZyDigJwlc+KAnVxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2MzIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY2NQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIobWJveCkgQWRkaW5nIHRvOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIobWJveCkgxJBhbmcgdGjDqm0gdG86ICVzIHThu6sgZMOybmcg4oCcJXPigJ1cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjg1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKG5vbi1tYm94KSBBZGRpbmcgY2M6ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihub24tbWJveCkgVGjDqm0gY2M6ICVzIHThu6sgZMOybmcg4oCcJXPigJ1cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzIwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3NTMKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKGJvZHkpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiKGJvZHkpIFRow6ptIGNjOiAlcyB04burIGTDsm5nIOKAnCVz4oCdXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgzMQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODY0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiglcykgQ291bGQgbm90IGV4ZWN1dGUgJyVzJyIKIG1zZ3N0ciAiKCVzKSBLaMO0bmcgdGjhu4MgdGjhu7FjIHRoaSDigJwlc+KAnSIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODM4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NzEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBBZGRpbmcgJXM6ICVzIGZyb206ICclcydcbiIKIG1zZ3N0ciAiKCVzKSDEkGFuZyB0aMOqbSAlczogJXMgdOG7qzog4oCcJXPigJ1cbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODQyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NzUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKCVzKSBmYWlsZWQgdG8gY2xvc2UgcGlwZSB0byAnJXMnIgogbXNnc3RyICIoJXMpIGfhurdwIGzhu5dpIGtoaSDEkcOzbmcgxJHGsOG7nW5nIOG7kW5nIMSR4bq/biDigJwlc+KAnSIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODcyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5MDUKIG1zZ2lkICJjYW5ub3Qgc2VuZCBtZXNzYWdlIGFzIDdiaXQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSBn4butaSB0aMawIGThuqFuZyA3IGLDrXQiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg4MAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTEzCiBtc2dpZCAiaW52YWxpZCB0cmFuc2ZlciBlbmNvZGluZyIKIG1zZ3N0ciAiYuG6o25nIG3DoyB0cnV54buBbiBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTIxIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk3MyBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5ODMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk1NCBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwMDYgZ2l0LXNlbmQtZW1haWwucGVybDoyMDE2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzOiAlc1xuIgogbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyAlczogJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTI0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NTcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGNoIGNvbnRhaW5zIGEgbGluZSBsb25nZXIgdGhhbiA5OTggY2hhcmFjdGVycyIKIG1zZ3N0ciAiJXM6IG1p4bq/bmcgdsOhIGPDsyBjaOG7qWEgZMOybmcgZMOgaSBoxqFuIDk5OCBrw70gdOG7sSIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgJXMgd2l0aCBiYWNrdXAgc3VmZml4ICclcycuXG4iCiBtc2dzdHIgIkLhu48gcXVhICVzIHbhu5tpIGjhuq11IHThu5Egc2FvIGzGsHUgZOG7sSBwaMOybmcg4oCcJXPigJ0uXG4iCiAKICMuIFRSQU5TTEFUT1JTOiBwbGVhc2Uga2VlcCAiW3l8Tl0iIGFzIGlzLgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTQ1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NzgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIHNlbmQgJXM/IFt5fE5dOiAiCiBtc2dzdHIgIkLhuqFuIGPDsyB0aOG7sWMgc+G7sSBtdeG7kW4gZ+G7rWkgJXM/IFt5fE5dKGPDsy9LSMOUTkcpOiAiCiAKKyMsIGMtZm9ybWF0CisjfiBtc2dpZCAidW5hYmxlIHRvIGdldCB0cmVlIGZvciAlcyIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IGPDonkgY2hvICVzIgorCisjfiBtc2dpZCAiVXNlIGFuIGV4cGVyaW1lbnRhbCBoZXVyaXN0aWMgdG8gaW1wcm92ZSBkaWZmcyIKKyN+IG1zZ3N0ciAiRMO5bmcgbeG7mXQgcGjhu49uZyDEkW/DoW4gdGjhu60gbmdoaeG7h20gxJHhu4MgdMSDbmcgY8aw4budbmcgY8OhYyBkaWZmIgorCisjfiBtc2dpZCAiZ2l0IGNvbW1pdC1ncmFwaCBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKKyN+IG1zZ3N0ciAiZ2l0IGNvbW1pdC1ncmFwaCBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKKworI34gbXNnaWQgImdpdCBjb21taXQtZ3JhcGggcmVhZCBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKKyN+IG1zZ3N0ciAiZ2l0IGNvbW1pdC1ncmFwaCByZWFkIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgorCisjLCBjLWZvcm1hdAorI34gbXNnaWQgInVua25vd24gY29yZS51bnRyYWNrZWRDYWNoZSB2YWx1ZSAnJXMnOyB1c2luZyAna2VlcCcgZGVmYXVsdCB2YWx1ZSIKKyN+IG1zZ3N0ciAiIgorI34gImtow7RuZyBoaeG7g3UgZ2nDoSB0cuG7iyBjb3JlLnVudHJhY2tlZENhY2hlIOKAnCVz4oCdOyBkw7luZyBnacOhIHRy4buLIG3hurdjIMSR4buLbmgg4oCca2VlcOKAnSIKKworI34gbXNnaWQgImNhbm5vdCBjaGFuZ2UgcGFydGlhbCBjbG9uZSBwcm9taXNvciByZW1vdGUiCisjfiBtc2dzdHIgImtow7RuZyB0aOG7gyB0aGF5IMSR4buVaSBuaMOibiBi4bqjbiB04burbmcgcGjhuqduIG3DoXkgY2jhu6cgcHJvbWlzb3IiCisKKyN+IG1zZ2lkICJlcnJvciBidWlsZGluZyB0cmVlcyIKKyN+IG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHjDonkgZOG7sW5nIGPDonkiCisKKyMsIGMtZm9ybWF0CisjfiBtc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdCAnJXMnIGluICclcyciCisjfiBtc2dzdHIgIsSR4buLbmggZOG6oW5nIG5nw6B5IHRow6FuZyBraMO0bmcgaOG7o3AgbOG7hyDigJwlc+KAnSB0cm9uZyDigJwlc+KAnSIKKworI34gbXNnaWQgIndyaXRpbmcgcm9vdCBjb21taXQiCisjfiBtc2dzdHIgImdoaSBjaHV54buDbiBnaWFvIGfhu5FjIgorCisjLCBjLWZvcm1hdAorI34gbXNnaWQgInN0YWdlZCBjaGFuZ2VzIGluIHRoZSBmb2xsb3dpbmcgZmlsZXMgbWF5IGJlIGxvc3Q6ICVzIgorI34gbXNnc3RyICIiCisjfiAiY8OhYyB0aGF5IMSR4buVaSDEkcOjIMSRxrBhIGzDqm4gYuG7hyBwaMOzbmcgdHJvbmcgY8OhYyB04bqtcCB0aW4gc2F1IMSRw6J5IGPDsyB0aOG7gyBi4buLIG3huqV0OiAiCisjfiAiJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiLS1maWx0ZXIgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHRoZSByZW1vdGUgY29uZmlndXJlZCBpbiBleHRlbnNpb25zLiIKKyN+ICJwYXJ0aWFsQ2xvbmUiCisjfiBtc2dzdHIgIiIKKyN+ICItLWZpbHRlciBjaOG7iSBjw7MgdGjhu4MgxJHGsOG7o2MgZMO5bmcgduG7m2kgbcOheSBjaOG7pyDEkcaw4bujYyBj4bqldSBow6xuaCBi4bqxbmcgZXh0ZW5zaW9ucy4iCisjfiAicGFydGlhbENsb25lIgorCisjfiBtc2dpZCAidmVyaWZ5IGNvbW1pdC1tc2cgaG9vayIKKyN+IG1zZ3N0ciAidGjhuqltIHRyYSBtw7NjIChob29rKSBjb21taXQtbXNnIgorCisjfiBtc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneS1vcHRpb24nIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4Mga+G6v3QgaOG7o3Ag4oCcLS1yZWJhc2UtbWVyZ2Vz4oCdIHbhu5tpIOKAnC0tc3RyYXRlZ3ktb3B0aW9u4oCdIgorCisjLCBjLWZvcm1hdAorI34gbXNnaWQgImludmFsaWQgc3BhcnNlIHZhbHVlICclcyciCisjfiBtc2dzdHIgImdpw6EgdHLhu4sgc3BhcnNlIGtow7RuZyBo4bujcCBs4buHIOKAnCVz4oCdIgorCisjfiBtc2dpZCAiIgorI34gIkZldGNoIG5vcm1hbGx5IGluZGljYXRlcyB3aGljaCBicmFuY2hlcyBoYWQgYSBmb3JjZWQgdXBkYXRlLCBidXQgdGhhdCAiCisjfiAiY2hlY2sgaGFzIGJlZW4gZGlzYWJsZWQuIgorI34gbXNnc3RyICIiCisjfiAiTOG6pXkgduG7gSBiw6xuaCB0aMaw4budbmcgY2hvIGJp4bq/dCBjw6FjIGPDoWMgbmjDoW5oIG7DoG8gYnXhu5ljIHBo4bqjaSBj4bqtcCBuaOG6rXQsIG5oxrBuZyAiCisjfiAidmnhu4djIGtp4buDbSB0cmEgxJHDoyBi4buLIHbDtCBoaeG7h3UgaMOzYS4iCisKKyN+IG1zZ2lkICIiCisjfiAib3IgcnVuICdnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzIGZhbHNlJyB0byBhdm9pZCB0aGlzIGNoZWNrLlxuIgorI34gbXNnc3RyICIiCisjfiAiaG/hurdjIGNo4bqheSAnZ2l0IGNvbmZpZyBmZXRjaC5zaG93Rm9yY2VkVXBkYXRlcyBmYWxzZScgxJHhu4MgdHLDoW5oIGtp4buDbSB0cmEgIgorI34gIm7DoHkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAibG9nLm1haWxtYXAgaXMgbm90IHNldDsgaXRzIGltcGxpY2l0IHZhbHVlIHdpbGwgY2hhbmdlIGluIGFuXG4iCisjfiAidXBjb21pbmcgcmVsZWFzZS4gVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2UgYW5kIHByZXNlcnZlIGN1cnJlbnRcbiIKKyN+ICJiZWhhdmlvdXIsIHNldCB0aGUgbG9nLm1haWxtYXAgY29uZmlndXJhdGlvbiB2YWx1ZSB0byBmYWxzZS5cbiIKKyN+ICJcbiIKKyN+ICJUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZSBhbmQgYWRvcHQgdGhlIG5ldyBiZWhhdmlvdXIgbm93LCBzZXQgdGhlXG4iCisjfiAibG9nLm1haWxtYXAgY29uZmlndXJhdGlvbiB2YWx1ZSB0byB0cnVlLlxuIgorI34gIlxuIgorI34gIlNlZSAnZ2l0IGhlbHAgY29uZmlnJyBhbmQgc2VhcmNoIGZvciAnbG9nLm1haWxtYXAnIGZvciBmdXJ0aGVyICIKKyN+ICJpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJsb2cubWFpbG1hcCBraMO0bmcgxJHGsOG7o2MgxJHhurd0OyBnacOhIHRy4buLIG5n4bqnbSBj4bunYSBuw7Mgc+G6vSB0aGF5IMSR4buVaSB0cm9uZyBt4buZdFxuIgorI34gInBow6F0IGjDoG5oIHPhuq9wIHThu5tpLiDEkOG7gyBjaOG6pW0gZOG7qXQgdGjDtG5nIGLDoW8gbsOgeSB2w6AgZHV5IHRyw6wgaMOgbmggeOG7rVxuIgorI34gImhp4buHbiB04bqhaSwgxJHhurd0IGdpw6EgdHLhu4sgY+G6pXUgaMOsbmggbG9nLm1haWxtYXAgdGjDoG5oIGZhbHNlLlxuIgorI34gIlxuIgorI34gIsSQ4buDIGzDoG0gY2jhuqVtIGThu6l0IHRow7RuZyBiw6FvIG7DoHkgdsOgIMOhcCBjw6FjaCBow6BuaCB44butIG3hu5tpLCBow6N5IMSR4bq3dFxuIgorI34gImdpw6EgdHLhu4sgY+G6pXUgaMOsbmggbG9nLm1haWxtYXAgdHJ1ZS5cbiIKKyN+ICJcbiIKKyN+ICJYZW0gJ2dpdCBoZWxwIGNvbmZpZyAnIHbDoCB0w6xtIGtp4bq/bSAnIGxvZy5tYWlsbWFwICcgxJHhu4MgYmnhur90IHRow6ptIHRow7RuZyB0aW4uIgorCisjfiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG11bHRpX2Fja19kZXRhaWxlZCIKKyN+IG1zZ3N0ciAiTcOheSBjaOG7pyBo4buXIHRy4bujIG11bHRpX2Fja19kZXRhaWxlZCIKKworI34gbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBuby1kb25lIgorI34gbXNnc3RyICJNw6F5IGNo4bunIGjhu5cgdHLhu6Mgbm8tZG9uZSIKKworI34gbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2siCisjfiBtc2dzdHIgIk3DoXkgY2jhu6cgaOG7lyB0cuG7oyBtdWx0aV9hY2siCisKKyN+IG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kLTY0ayIKKyN+IG1zZ3N0ciAiTcOheSBjaOG7pyBo4buXIHRy4bujIHNpZGUtYmFuZC02NGsiCisKKyN+IG1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgc2lkZS1iYW5kIgorI34gbXNnc3RyICJNw6F5IGNo4bunIGjhu5cgdHLhu6Mgc2lkZS1iYW5kIgorCisjfiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXRpcC1zaGExLWluLXdhbnQiCisjfiBtc2dzdHIgIk3DoXkgY2jhu6cgaOG7lyB0cuG7oyBhbGxvdy10aXAtc2hhMS1pbi13YW50IgorCisjfiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIGFsbG93LXJlYWNoYWJsZS1zaGExLWluLXdhbnQiCisjfiBtc2dzdHIgIk3DoXkgY2jhu6cgaOG7lyB0cuG7oyBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgorCisjfiBtc2dpZCAiU2VydmVyIHN1cHBvcnRzIG9mcy1kZWx0YSIKKyN+IG1zZ3N0ciAiTcOheSBjaOG7pyBo4buXIHRy4bujIG9mcy1kZWx0YSIKKworI34gbXNnaWQgIihIRUFEIGRldGFjaGVkIGF0ICVzKSIKKyN+IG1zZ3N0ciAiKEhFQUQgxJHGsOG7o2MgdMOhY2ggcuG7nWkgdOG6oWkgJXMpIgorCisjfiBtc2dpZCAiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiCisjfiBtc2dzdHIgIihIRUFEIMSRxrDhu6NjIHTDoWNoIHLhu51pIHThu6sgJXMpIgorCisjfiBtc2dpZCAiQ2hlY2tpbmcgb3V0IGZpbGVzIgorI34gbXNnc3RyICLEkGFuZyBs4bqleSByYSBjw6FjIHThuq1wIHRpbiIKKworI34gbXNnaWQgImNhbm5vdCBiZSBpbnRlcmFjdGl2ZSB3aXRob3V0IHN0ZGluIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLiIKKyN+IG1zZ3N0ciAiIgorI34gImtow7RuZyB0aOG7gyDEkcaw4bujYyB0xrDGoW5nIHTDoWMgbcOgIGtow7RuZyBjw7Mgc3RkaW4ga+G6v3QgbuG7kWkgduG7m2kgbeG7mXQgdGhp4bq/dCBi4buLIGN14buRaS4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAlc1xuIgorI34gbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbOG6pXkgdGjDtG5nIHRpbiB0aOG7kW5nIGvDqiB24buBICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiSWYgeW91IHdpc2ggdG8gc2tpcCB0aGlzIGNvbW1pdCwgdXNlOlxuIgorI34gIlxuIgorI34gIiAgICBnaXQgcmVzZXRcbiIKKyN+ICJcbiIKKyN+ICJUaGVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIiB3aWxsIHJlc3VtZSBjaGVycnktcGlja2luZ1xuIgorI34gInRoZSByZW1haW5pbmcgY29tbWl0cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIk7hur91IGLhuqFuIG114buRbiBi4buPIHF1YSBs4bqnbiBjaHV54buDbiBnaWFvIG7DoHkgdGjDrCBkw7luZzpcbiIKKyN+ICJcbiIKKyN+ICIgICAgZ2l0IHJlc2V0XG4iCisjfiAiXG4iCisjfiAiVGjhur8gdGjDrCBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIgc+G6vSBwaOG7pWMgaOG7k2kgbOG6oWkgdmnhu4djIGNoZXJyeS1waWNrXG4iCisjfiAibmjhu69uZyBs4bqnbiBjaHV54buDbiBnaWFvIGPDsm4gbOG6oWkuXG4iCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgdmVyYjogJXMiCisjfiBtc2dzdHIgInZlcmIga2jDtG5nIMSRxrDhu6NjIHRo4burYSBuaOG6rW46ICVzIgorCisjfiBtc2dpZCAiaGFzaCB2ZXJzaW9uICVYIGRvZXMgbm90IG1hdGNoIHZlcnNpb24gJVgiCisjfiBtc2dzdHIgInBoacOqbiBi4bqjbiBixINtIOKAnCVY4oCdIGtow7RuZyBjw7MgcGhpw6puIGLhuqNuIGto4bubcCAlWCIKKworI34gbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGEgdmFsdWUiCisjfiBtc2dzdHIgInTDuXkgY2jhu41uIOKAnCVz4oCdIHnDqnUgY+G6p3UgbeG7mXQgZ2nDoSB0cuG7iyIKKworI34gbXNnaWQgImNvdWxkIG5vdCB0cmFuc2Zvcm0gdGhlIHRvZG8gbGlzdCIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIGNodXnhu4NuIGThuqFuZyBkYW5oIHPDoWNoIGPhuqduIGzDoG0iCisKKyN+IG1zZ2lkICJkZWZhdWx0IgorI34gbXNnc3RyICJt4bq3YyDEkeG7i25oIgorCisjfiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIHThuqFvIHRoxrAgbeG7pWMg4oCcJXPigJ0iCisKKyN+IG1zZ2lkICJhbGxvdyByZXJlcmUgdG8gdXBkYXRlIGluZGV4IHdpdGggcmVzb2x2ZWQgY29uZmxpY3QiCisjfiBtc2dzdHIgIiIKKyN+ICJjaG8gcGjDqXAgcmVyZXJlIGPhuq1wIG5o4bqtdCBi4bqjbmcgbeG7pWMgbOG7pWMgduG7m2kgY8OhYyB4dW5nIMSR4buZdCDEkcOjIMSRxrDhu6NjIGdp4bqjaSBxdXnhur90IgorCisjfiBtc2dpZCAiY291bGQgbm90IG9wZW4gJXMiCisjfiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufICVzIgorCisjfiBtc2dpZCAiQ291bGQgbm90IG1vdmUgYmFjayB0byAkaGVhZF9uYW1lIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgcXVheSB0cuG7nyBs4bqhaSAkaGVhZF9uYW1lIgorCisjfiBtc2dpZCAiIgorI34gIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICRzdGF0ZV9kaXJfYmFzZSBkaXJlY3RvcnksIGFuZFxuIgorI34gIkkgd29uZGVyIGlmIHlvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhbm90aGVyIHJlYmFzZS4gIElmIHRoYXQgaXMgdGhlXG4iCisjfiAiY2FzZSwgcGxlYXNlIHRyeVxuIgorI34gIlx0JGNtZF9saXZlX3JlYmFzZVxuIgorI34gIklmIHRoYXQgaXMgbm90IHRoZSBjYXNlLCBwbGVhc2VcbiIKKyN+ICJcdCRjbWRfY2xlYXJfc3RhbGVfcmViYXNlXG4iCisjfiAiYW5kIHJ1biBtZSBhZ2Fpbi4gIEkgYW0gc3RvcHBpbmcgaW4gY2FzZSB5b3Ugc3RpbGwgaGF2ZSBzb21ldGhpbmdcbiIKKyN+ICJ2YWx1YWJsZSB0aGVyZS4iCisjfiBtc2dzdHIgIiIKKyN+ICJIw6xuaCBuaMawIGzDoCDhu58gxJHDonkgc+G6tW4gY8OzIG3hu5l0IHRoxrAgbeG7pWMgJHN0YXRlX2Rpcl9iYXNlLCB2w6BcbiIKKyN+ICJUw7RpIHThu7EgaOG7j2kgY8OzIHBo4bqjaSBi4bqhbiDEkWFuZyDhu58gZ2nhu69hIG3hu5l0IGzhu4duaCByZWJhc2Uga2jDoWMuIE7hur91IMSRw7puZyBsw6BcbiIKKyN+ICJuaMawIHbhuq15LCB4aW4gaMOjeSB0aOG7rVxuIgorI34gIlx0JGNtZF9saXZlX3JlYmFzZVxuIgorI34gIk7hur91IGtow7RuZyBwaOG6o2kgdGjhur8sIGjDo3kgdGjhu61cbiIKKyN+ICJcdCRjbWRfY2xlYXJfc3RhbGVfcmViYXNlXG4iCisjfiAidsOgIGNo4bqheSBUw5RJIGzhuqduIG7hu69hLiBUw5RJICBk4burbmcgbOG6oWkgdHJvbmcgdHLGsOG7nW5nIGjhu6NwIGLhuqFuIHbhuqtuXG4iCisjfiAiY8OzIG3hu5l0IHPhu5EgdGjhu6kgcXXDvSBnacOhIOG7nyDEkcOieS4iCisKKyN+IG1zZ2lkICIiCisjfiAiZmF0YWw6IGNhbm5vdCBjb21iaW5lIGFtIG9wdGlvbnMgd2l0aCBlaXRoZXIgaW50ZXJhY3RpdmUgb3IgbWVyZ2Ugb3B0aW9ucyIKKyN+IG1zZ3N0ciAiIgorI34gImzhu5dpIG5naGnDqm0gdHLhu41uZzoga2jDtG5nIHRo4buDIHThu5UgaOG7o3AgY8OhYyB0w7l5IGNo4buNbiBhbSB24bubaSBjw6FjIHTDuXkgY2jhu41uIHTGsMahbmcgIgorI34gInTDoWMgaGF5IGjDsmEgdHLhu5luIgorCisjfiBtc2dpZCAiZmF0YWw6IGNhbm5vdCBjb21iaW5lICctLXNpZ25vZmYnIHdpdGggJy0tcHJlc2VydmUtbWVyZ2VzJyIKKyN+IG1zZ3N0ciAiIgorI34gImzhu5dpIG5naGnDqm0gdHLhu41uZzoga2jDtG5nIHRo4buDIGvhur90IGjhu6NwIOKAnC0tc2lnbm9mZuKAnSB24bubaSDigJwtLXByZXNlcnZlLW1lcmdlc+KAnSIKKworI34gbXNnaWQgImZhdGFsOiBjYW5ub3QgY29tYmluZSAnLS1wcmVzZXJ2ZS1tZXJnZXMnIHdpdGggJy0tcmViYXNlLW1lcmdlcyciCisjfiBtc2dzdHIgIiIKKyN+ICJs4buXaSBuZ2hpw6ptIHRy4buNbmc6IGtow7RuZyB0aOG7gyBr4bq/dCBo4bujcCDigJwtLXByZXNlcnZlLW1lcmdlc+KAnSB24bubaSDigJwtLXJlYmFzZS0iCisjfiAibWVyZ2Vz4oCdIgorCisjfiBtc2dpZCAiZmF0YWw6IGNhbm5vdCBjb21iaW5lICctLXJlYmFzZS1tZXJnZXMnIHdpdGggJy0tc3RyYXRlZ3ktb3B0aW9uJyIKKyN+IG1zZ3N0ciAiIgorI34gImzhu5dpIG5naGnDqm0gdHLhu41uZzoga2jDtG5nIHRo4buDIGvhur90IGjhu6NwIOKAnC0tcmViYXNlLW1lcmdlc+KAnSB24bubaSDigJwtLXN0cmF0ZWd5LSIKKyN+ICJvcHRpb27igJ0iCisKKyN+IG1zZ2lkICJmYXRhbDogY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneSciCisjfiBtc2dzdHIgIiIKKyN+ICJs4buXaSBuZ2hpw6ptIHRy4buNbmc6IGtow7RuZyB0aOG7gyBr4bq/dCBo4bujcCDigJwtLXJlYmFzZS1tZXJnZXPigJ0gduG7m2kg4oCcLS1zdHJhdGVneeKAnSIKKworI34gbXNnaWQgImludmFsaWQgdXBzdHJlYW0gJyR1cHN0cmVhbV9uYW1lJyIKKyN+IG1zZ3N0ciAidGjGsOG7o25nIG5ndeG7k24ga2jDtG5nIGjhu6NwIGzhu4cg4oCcJHVwc3RyZWFtX25hbWXigJ0iCisKKyN+IG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBtZXJnZSBiYXNlcyIKKyN+IG1zZ3N0ciAiJG9udG9fbmFtZTog4bufIMSRw6J5IGPDsyBuaGnhu4F1IGjGoW4gbeG7mXQgbuG7gW4gbcOzbmcgaMOyYSB0cuG7mW4iCisKKyN+IG1zZ2lkICIkb250b19uYW1lOiB0aGVyZSBpcyBubyBtZXJnZSBiYXNlIgorI34gbXNnc3RyICIkb250b19uYW1lOiDhu58gxJHDonkga2jDtG5nIGPDsyBu4buBbiBtw7NuZyBow7JhIHRy4buZbiBuw6BvIgorCisjfiBtc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQ6ICRvbnRvX25hbWUiCisjfiBtc2dzdHIgIktow7RuZyBjaOG7iSDEkeG6v24gbeG7mXQgbOG6p24gY2h1eeG7g24gZ2lhbyBraMO0bmcgaOG7o3AgbOG7hzogJG9udG9fbmFtZSIKKworI34gbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaC9jb21taXQgJyRicmFuY2hfbmFtZSciCisjfiBtc2dzdHIgIm5naGnDqm0gdHLhu41uZzoga2jDtG5nIGPDsyBuaMOhbmggbmjGsCB0aOG6vzog4oCcJGJyYW5jaF9uYW1l4oCdIgorCisjfiBtc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICRzdGFzaF9hYmJyZXYiCisjfiBtc2dzdHIgIsSQw6MgdOG6oW8gYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgorCisjfiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUuIgorI34gbXNnc3RyICJOaMOhbmggaGnhu4duIHThuqFpICRicmFuY2hfbmFtZSDEkcOjIMSRxrDhu6NjIGPhuq1wIG5o4bqtdCBy4buTaS4iCisKKyN+IG1zZ2lkICJDdXJyZW50IGJyYW5jaCAkYnJhbmNoX25hbWUgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCisjfiBtc2dzdHIgIiIKKyN+ICJOaMOhbmggaGnhu4duIHThuqFpICRicmFuY2hfbmFtZSDEkcOjIMSRxrDhu6NjIGPhuq1wIG5o4bqtdCBy4buTaSwgbOG7h25oIHJlYmFzZSDDqXAgYnXhu5ljLiIKKworI34gbXNnaWQgIkNoYW5nZXMgdG8gJG9udG86IgorI34gbXNnc3RyICJUaGF5IMSR4buVaSB0aMOgbmggJG9udG86IgorCisjfiBtc2dpZCAiQ2hhbmdlcyBmcm9tICRtYiB0byAkb250bzoiCisjfiBtc2dzdHIgIlRoYXkgxJHhu5VpIHThu6sgJG1iIHRow6BuaCAkb250bzoiCisKKyN+IG1zZ2lkICJGYXN0LWZvcndhcmRlZCAkYnJhbmNoX25hbWUgdG8gJG9udG9fbmFtZS4iCisjfiBtc2dzdHIgIkNodXnhu4NuLXRp4bq/cC1uaGFuaCAkYnJhbmNoX25hbWUgdGjDoG5oICRvbnRvX25hbWUuIgorCisjfiBtc2dpZCAiRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uIgorI34gbXNnc3RyICIiCisjfiAiVHLGsOG7m2MgdGnDqm4sIGRpIGNodXnhu4NuIGhlYWQgxJHhu4MgeGVtIGzhuqFpIGPDoWMgY8O0bmcgdmnhu4djIHRyw6puIMSR4buJbmggY+G7p2EgbsOz4oCmIgorCisjfiBtc2dpZCAiaWdub3JpbmcgdW5rbm93biBjb2xvci1tb3ZlZC13cyBtb2RlICclcyciCisjfiBtc2dzdHIgImLhu48gcXVhIGNo4bq/IMSR4buZIGNvbG9yLW1vdmVkLXdzIGNoxrBhIGJp4bq/dCDigJwlc+KAnSIKKworI34gbXNnaWQgIm9ubHkgJ3RyZWU6MCcgaXMgc3VwcG9ydGVkIgorI34gbXNnc3RyICJjaOG7iSDigJx0cmVlOjDigJ0gbMOgIMSRxrDhu6NjIGjhu5cgdHLhu6MiCisKKyN+IG1zZ2lkICJSZW5hbWluZyAlcyB0byAlcyBhbmQgJXMgdG8gJXMgaW5zdGVhZCIKKyN+IG1zZ3N0ciAixJBhbmcgxJHhu5VpIHTDqm4gJXMgdGjDoG5oICVzIHRoYXkgdsOsICVzIHRow6BuaCAlcyIKKworI34gbXNnaWQgIkFkZGluZyBtZXJnZWQgJXMiCisjfiBtc2dzdHIgIlRow6ptIGjDsmEgdHLhu5luICVzIgorCisjfiBtc2dpZCAiSW50ZXJuYWwgZXJyb3IiCisjfiBtc2dzdHIgIkzhu5dpIG7hu5lpIGLhu5kiCisKKyN+IG1zZ2lkICJtYWlubGluZSB3YXMgc3BlY2lmaWVkIGJ1dCBjb21taXQgJXMgaXMgbm90IGEgbWVyZ2UuIgorI34gbXNnc3RyICIiCisjfiAibHXhu5NuZyBjaMOtbmggxJHDoyDEkcaw4bujYyBjaOG7iSByYSBuaMawbmcgbOG6p24gY2h1eeG7g24gZ2lhbyAlcyBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBs4bqnbiAiCisjfiAiaMOyYSB0cuG7mW4uIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHNoYTEgZmlsZW5hbWUgJXMiCisjfiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgdsOgbyB0w6puIHThuq1wIHRpbiBzaGExICVzIgorCisjfiBtc2dpZCAiY2Fubm90IHJlYWQgc2hhMV9maWxlIGZvciAlcyIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBzaGExX2ZpbGUgY2hvICVzIgorCisjfiBtc2dpZCAiIgorI34gImVycm9yOiBjYW5ub3QgY29tYmluZSBpbnRlcmFjdGl2ZSBvcHRpb25zICgtLWludGVyYWN0aXZlLCAtLWV4ZWMsIC0tIgorI34gInJlYmFzZS1tZXJnZXMsIC0tcHJlc2VydmUtbWVyZ2VzLCAtLWtlZXAtZW1wdHksIC0tcm9vdCArIC0tb250bykgd2l0aCBhbSAiCisjfiAib3B0aW9ucyAoJXMpIgorI34gbXNnc3RyICIiCisjfiAibOG7l2k6IGtow7RuZyB0aOG7gyB04buVIGjhu6NwIGPDoWMgdMO5eSBjaOG7jW4gdMawxqFuZyB0w6FjICgtLWludGVyYWN0aXZlLCAtLWV4ZWMsIC0tIgorI34gInJlYmFzZS1tZXJnZXMsIC0tcHJlc2VydmUtbWVyZ2VzLCAtLWtlZXAtZW1wdHksIC0tcm9vdCArIC0tb250bykgduG7m2kgY8OhYyAiCisjfiAidMO5eSBjaOG7jW4gYW0gKCVzKSIKKworI34gbXNnaWQgIiIKKyN+ICJlcnJvcjogY2Fubm90IGNvbWJpbmUgbWVyZ2Ugb3B0aW9ucyAoLS1tZXJnZSwgLS1zdHJhdGVneSwgLS1zdHJhdGVneS0iCisjfiAib3B0aW9uKSB3aXRoIGFtIG9wdGlvbnMgKCVzKSIKKyN+IG1zZ3N0ciAiIgorI34gImzhu5dpOiBraMO0bmcgdGjhu4Mga+G6v3QgaOG7o3AgY8OhYyB0w7l5IGNo4buNbiBow7JhIHRy4buZbiAoLS1tZXJnZSwgLS1zdHJhdGVneSwgLS0iCisjfiAic3RyYXRlZ3ktb3B0aW9uKSB24bubaSBt4buZdCB0w7l5IGNo4buNbiBhbSAoJXMpIgorCisjfiBtc2dpZCAidW5yZWNvZ25pc2VkIG9wdGlvbjogJyRhcmcnIgorI34gbXNnc3RyICJraMO0bmcgY8O0bmcgbmjhuq1uIHTDuXkgY2jhu41uOiDigJwkYXJn4oCdIgorCisjfiBtc2dpZCAiJyRpbnZhbGlkJyBpcyBub3QgYSB2YWxpZCBjb21taXQiCisjfiBtc2dzdHIgIuKAnSRpbnZhbGlk4oCdIGtow7RuZyBwaOG6o2kgbMOgIGzhuqduIGNodXnhu4NuIGdpYW8gaOG7o3AgbOG7hyIKKwogI34gbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAnJXMnIChsb29raW5nIGZvciAnJXMnKSIKICN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIOKAnCVz4oCdICjEkWFuZyB0w6xtIGtp4bq/bSBjaG8g4oCcJXPigJ0pIgogCi0jfiBtc2dpZCAiYmFkIHF1b3Rpbmcgb24gJXMgdmFsdWUgaW4gJyVzJyIKLSN+IG1zZ3N0ciAic2FpIHRyw61jaCBk4bqrbiB0csOqbiAlcyBnacOhIHRy4buLIHRyb25nIOKAnCVz4oCdIgotCi0jfiBtc2dpZCAiQ291bGQgbm90IHVuc2V0IGNvcmUud29ya3RyZWUgc2V0dGluZyBpbiBzdWJtb2R1bGUgJyVzJyIKLSN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIMSR4bq3dCBjb3JlLndvcmt0cmVlIHRyb25nIG3DtC3EkXVuLWNvbiDigJwlc+KAnSIKLQogI34gbXNnaWQgImRlcHJlY2F0ZWQgc3lub255bSBmb3IgLS1jcmVhdGUtcmVmbG9nIgogI34gbXNnc3RyICLEkeG7k25nIG5naMSpYSDEkcOjIGzhuqFjIGjhuq11IGNobyAtLWNyZWF0ZS1yZWZsb2ciCiAKQEAgLTIxMTk3LDEyICsyNDY0OCw2IEBACiAjfiBtc2dpZCAiY2Fubm90IHJlbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWUiCiAjfiBtc2dzdHIgImtow7RuZyB0aOG7gyBn4buhIGLhu48gbeG7mXQgY8OieS1sw6BtLXZp4buHYyBi4buLIGtow7NhIgogCi0jfiBtc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guIgotI34gbXNnc3RyICLEkMOjIMOhcCBk4bulbmcgYXV0b3N0YXNoLiIKLQotI34gbXNnaWQgIkNhbm5vdCBzdG9yZSAkc3Rhc2hfc2hhMSIKLSN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIGzGsHUgJHN0YXNoX3NoYTEiCi0KICN+IG1zZ2lkICIiCiAjfiAiXG4iCiAjfiAiXHRIb3dldmVyLCBpZiB5b3UgcmVtb3ZlIGV2ZXJ5dGhpbmcsIHRoZSByZWJhc2Ugd2lsbCBiZSBhYm9ydGVkLlxuIgpAQCAtMjEyOTcsOSArMjQ3NDIsNiBAQAogI34gbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSAnJXMnIgogI34gbXNnc3RyICJraMO0bmcgdGjhu4MgY+G6r3QgY+G7pXQg4oCcJXPigJ0iCiAKLSN+IG1zZ2lkICJjb3VsZCBub3QgZmluaXNoICclcyciCi0jfiBtc2dzdHIgImtow7RuZyB0aOG7gyBob8OgbiB0aMOgbmgg4oCcJXPigJ0iCi0KICN+IG1zZ2lkICJjb3VsZCBub3QgY2xvc2UgJXMiCiAjfiBtc2dzdHIgImtow7RuZyB0aOG7gyDEkcOzbmcgJXMiCiAKQEAgLTIxMzEyLDkgKzI0NzU0LDYgQEAKICN+IG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBjbG9uZSAlcyIKICN+IG1zZ3N0ciAiS2jDtG5nIGJp4bq/dCBsw6BtIGPDoWNoIG7DoG8gxJHhu4MgbmjDom4gYuG6o24gKGNsb25lKSAlcyIKIAotI34gbXNnaWQgInNob3cgaWdub3JlZCBmaWxlcyIKLSN+IG1zZ3N0ciAiaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIOG6qW4iCi0KICN+IG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBmZXRjaCBmcm9tICVzIgogI34gbXNnc3RyICJLaMO0bmcgYmnhur90IGzDoG0gY8OhY2ggbsOgbyDEkeG7gyBs4bqleSB24buBIHThu6sgJXMiCiAKQEAgLTIxMzU0LDkgKzI0NzkzLDYgQEAKICN+IG1zZ2lkICJiYXNlbmFtZSIKICN+IG1zZ3N0ciAidMOqbiBjxqEgc+G7nyIKIAotI34gbXNnaWQgInByZXBlbmQgcGFyZW50IHByb2plY3QncyBiYXNlbmFtZSB0byBvdXRwdXQiCi0jfiBtc2dzdHIgInRyZW8gdsOgbyB0csaw4bubYyB0w6puIGPGoSBz4bufIGNoYSBt4bq5IGPhu6dhIMSRxrDhu51uZyBk4bqrbiB2w6BvIGvhur90IHh14bqldCIKLQogI34gbXNnaWQgIiIKICN+ICJXaGVuIHlvdSBoYXZlIHJlc29sdmVkIHRoaXMgcHJvYmxlbSwgcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIuXG4iCiAjfiAiSWYgeW91IHByZWZlciB0byBza2lwIHRoaXMgcGF0Y2gsIHJ1biBcImdpdCByZWJhc2UgLS1za2lwXCIgaW5zdGVhZC5cbiIKQEAgLTIxMzk2LDkgKzI0ODMyLDYgQEAKICN+IG1zZ2lkX3BsdXJhbCAiJXMsICUiCiAjfiBtc2dzdHJbMF0gIiVzLCAlIgogCi0jfiBtc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSAnJXMnIgotI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4g4oCcJXPigJ0iCi0KICN+IG1zZ2lkICJpbiAlMC4xZiBzZWNvbmRzIGF1dG9tYXRpY2FsbHkuLi4iCiAjfiBtc2dzdHIgInRyb25nICUwLjFmIGdpw6J5IG3hu5l0IGPDoWNoIHThu7EgxJHhu5luZ+KApiIKIApAQCAtMjE0NjYsOSArMjQ4OTksNiBAQAogI34gbXNnaWQgInJlZiAnJXMnIGRvZXMgbm90IGhhdmUgJWxkIGNvbXBvbmVudHMgdG8gOnN0cmlwIgogI34gbXNnc3RyICJ0aGFtIGNoaeG6v3Ug4oCcJXPigJ0ga2jDtG5nIGPDsyAlbGQgdGjDoG5oIHBo4bqnbiDEkeG7gyBtw6AgOnN0cmlwIgogCi0jfiBtc2dpZCAidW5rbm93biAlLipzIGZvcm1hdCAlcyIKLSN+IG1zZ3N0ciAiS2jDtG5nIGhp4buDdSDEkeG7i25oIGThuqFuZyAlLipzICVzIgotCiAjfiBtc2dpZCAiWyVzOiBnb25lXSIKICN+IG1zZ3N0ciAiWyVzOiDEkcOjIHJhIMSRaV0iCiAKQEAgLTIxNTQ1LDkgKzI0OTc1LDYgQEAKICN+IG1zZ3N0ciAiIgogI34gIktow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIHZp4buHYyBjaGVycnktcGljayB0cm9uZyBraGkga2hpIMSRYW5nIGNoZXJyeS1waWNrIGtow6FjLiIKIAotI34gbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBsaW5lICVkLiIKLSN+IG1zZ3N0ciAiS2jDtG5nIHBow6JuIHTDrWNoIMSRxrDhu6NjIGTDsm5nICVkLiIKLQogI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuICVzIgogI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyAlcyIKIApAQCAtMjE1NTcsOSArMjQ5ODQsNiBAQAogI34gbXNnaWQgIiVzOiAlcyIKICN+IG1zZ3N0ciAiJXM6ICVzIgogCi0jfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgotI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyAlczogJXMiCi0KICN+IG1zZ2lkICJZb3UgbmVlZCB0byBzZXQgeW91ciBjb21taXR0ZXIgaW5mbyBmaXJzdCIKICN+IG1zZ3N0ciAiQuG6oW4gY+G6p24gxJHhurd0IHRow7RuZyB0aW4gduG7gSBuZ8aw4budaSBjaHV54buDbiBnaWFvIG3DoyBuZ3Xhu5NuIHRyxrDhu5tjIMSRw6MiCiAKQEAgLTIxNzg0LDkgKzI1MjA4LDYgQEAKICN+IG1zZ2lkICInJXMnOiAlcyIKICN+IG1zZ3N0ciAi4oCcJXPigJ06ICVzIgogCi0jfiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnOiAlcyIKLSN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIHRydXkgY+G6rXAg4oCcJXPigJ06ICVzIgotCiAjfiBtc2dpZCAiICAgIGdpdCBicmFuY2ggLWQgJXNcbiIKICN+IG1zZ3N0ciAiICAgIGdpdCBicmFuY2ggLWQgJXNcbiIKIApAQCAtMjE4MDQsOSArMjUyMjUsNiBAQAogI34gbXNnaWQgImZhaWxlZCB0byByZW1vdmU6ICVzIgogI34gbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZ+G7oSBi4buPOiAlcyIKIAotI34gbXNnaWQgIlRoZSAtLWV4ZWMgb3B0aW9uIG11c3QgYmUgdXNlZCB3aXRoIHRoZSAtLWludGVyYWN0aXZlIG9wdGlvbiIKLSN+IG1zZ3N0ciAiVMO5eSBjaOG7jW4gLS1leGVjIHBo4bqjaSDEkcaw4bujYyBz4butIGThu6VuZyBjw7luZyB24bubaSB0w7l5IGNo4buNbiAtLWludGVyYWN0aXZlIgotCiAjfiBtc2dpZCAiIgogI34gIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIG5vdCBpbml0aWFsaXplZFxuIgogI34gIk1heWJlIHlvdSB3YW50IHRvIHVzZSAndXBkYXRlIC0taW5pdCc/IgpAQCAtMjE4NzYsOSArMjUyOTQsNiBAQAogI34gbXNnaWQgIm5vIHN1Y2ggdXNlciIKICN+IG1zZ3N0ciAia2jDtG5nIGPDsyBuZ8aw4budaSBkw7luZyBuaMawIHbhuq15IgogCi0jfiBtc2dpZCAiTWlzc2luZyBhdXRob3I6ICVzIgotI34gbXNnc3RyICJUaGnhur91IHTDqm4gdMOhYyBnaeG6ozogJXMiCi0KICN+IG1zZ2lkICJUZXN0aW5nICIKICN+IG1zZ3N0ciAixJBhbmcgdGjhu60iCiAKQEAgLTIxOTMxLDkgKzI1MzQ2LDYgQEAKICN+IG1zZ2lkICJvcHRpb24gJXMgZG9lcyBub3QgYWNjZXB0IG5lZ2F0aXZlIGZvcm0iCiAjfiBtc2dzdHIgInTDuXkgY2jhu41uICVzIGtow7RuZyBjaOG6pXAgbmjhuq1uIGThuqFuZyB0aOG7qWMgw6JtIgogCi0jfiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIHZhbHVlICclcycgZm9yIG9wdGlvbiAlcyIKLSN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIGdpw6EgdHLhu4sg4oCcJXPigJ0gY2hvIHTDuXkgY2jhu41uICVzIgotCiAjfiBtc2dpZCAiLWIgYW5kIC1CIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiAjfiBtc2dzdHIgIi1iIHbDoCAtQiBsb+G6oWkgdOG7qyBs4bqrbiBuaGF1LiIKIApAQCAtMjIwMzQsOSArMjU0NDYsNiBAQAogI34gbXNnaWQgIiVzOiBjYW5ub3QgbG9jayB0aGUgcmVmIgogI34gbXNnc3RyICIlczoga2jDtG5nIHRo4buDIGtow7NhIHJlZiAodGhhbSBjaGnhur91KSIKIAotI34gbXNnaWQgIiVzOiBjYW5ub3QgdXBkYXRlIHRoZSByZWYiCi0jfiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgY+G6rXAgbmjhuq10IHJlZiAodGhhbSBjaGnhur91KSIKLQogI34gbXNnaWQgIkZhaWxlZCB0byBsb2NrIEhFQUQgZHVyaW5nIGZhc3RfZm9yd2FyZF90byIKICN+IG1zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIGtow7NhIEhFQUQgdHJvbmcgcXXDoSB0csOsbmggZmFzdF9mb3J3YXJkX3RvIgogCmRpZmYgLS1naXQgYS9wby96aF9DTi5wbyBiL3BvL3poX0NOLnBvCmluZGV4IDkxMjA4M2UuLjczZGE2NjIgMTAwNjQ0Ci0tLSBhL3BvL3poX0NOLnBvCisrKyBiL3BvL3poX0NOLnBvCkBAIC0zLDcgKzMsNyBAQAogIyBDb3B5cmlnaHQgKEMpIDIwMTIsMjAxMyBKaWFuZyBYaW4gPHdvcmxkaGVsbG8ubmV0IEFUIGdtYWlsLmNvbT4KICMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIEdpdCBwYWNrYWdlLgogIyBDb250cmlidXRvcnM6Ci0jICAgLSBGYW5neWkgWmhvdSA8ZmFuZ3lpLnpob3UgQVQgeXVyaWtvLm1vZT4KKyMgICAtIEZhbmd5aSBaaG91IDxtZSBBVCBmYW5neWkuaW8+CiAjICAgLSBKaWFuZyBYaW4gPHdvcmxkaGVsbG8ubmV0IEFUIGdtYWlsLmNvbT4KICMgICAtIExpYW4gQ2hlbmcgPHJoeXRobS5tYWlsIEFUIGdtYWlsLmNvbT4KICMgICAtIFJheSBDaGVuIDxvbGRzaGFycCBBVCBnbWFpbC5jb20+CkBAIC00NSw2ICs0NSw3IEBACiAjICAgY29tbWl0LWlzaCAoYWxzbyBjb21taXR0aXNoKSAgICAgfCAg5o+Q5Lqk5Y+3CiAjICAgY29uZmxpY3QgICAgICAgICAgICAgICAgICAgICAgICAgfCAg5Yay56qBCiAjICAgY29yZSBHaXQgICAgICAgICAgICAgICAgICAgICAgICAgfCAg5qC45b+DIEdpdCDlt6XlhbcKKyMgICBjb3ZlciBsZXR0ZXIgICAgICAgICAgICAgICAgICAgICB8ICDpmYTlh70KICMgICBEQUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDmnInlkJHml6Dnjq/lm74KICMgICBkYW5nbGluZyBvYmplY3QgICAgICAgICAgICAgICAgICB8ICDmgqznqbrlr7nosaEKICMgICBkZXRhY2hlZCBIRUFEICAgICAgICAgICAgICAgICAgICB8ICDliIbnprvlpLTmjIfpkogKQEAgLTEzOCw4ICsxMzksOCBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBHaXRcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogR2l0IE1haWxpbmcgTGlzdCA8Z2l0QHZnZXIua2VybmVsLm9yZz5cbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOC0xMi0wMiAxMDo1NSswODAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxOC0xMi0wMyAxODowOCswODAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTktMTItMzAgMDg6NDgrMDgwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMjAtMDEtMTIgMTc6MTYrMDgwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogSmlhbmcgWGluIDx3b3JsZGhlbGxvLm5ldEBnbWFpbC5jb20+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogR2l0SHViIDxodHRwczovL2dpdGh1Yi5jb20vamlhbmd4aW4vZ2l0Lz5cbiIKICJMYW5ndWFnZTogemhfQ05cbiIKQEAgLTE0OCwzNyArMTQ5LDQ1OCBAQAogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKICJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKIAotIzogYWR2aWNlLmM6OTkKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjM0NworIywgYy1mb3JtYXQKK21zZ2lkICJIdWggKCVzKT8iCittc2dzdHIgIuWXr++8iCVz77yJ77yfIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo1MDAgYWRkLWludGVyYWN0aXZlLmM6ODAxIHNlcXVlbmNlci5jOjMyMTYKKyM6IHNlcXVlbmNlci5jOjM2NTYgYnVpbHRpbi9yZWJhc2UuYzo4NzEgYnVpbHRpbi9yZWJhc2UuYzoxNjQzCisjOiBidWlsdGluL3JlYmFzZS5jOjIwMTkgYnVpbHRpbi9yZWJhc2UuYzoyMDYzCittc2dpZCAiY291bGQgbm90IHJlYWQgaW5kZXgiCittc2dzdHIgIuS4jeiDveivu+WPlue0ouW8lSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NTU1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjY5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI5NAorbXNnaWQgImJpbmFyeSIKK21zZ3N0ciAi5LqM6L+b5Yi2IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2MTMgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNzgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzMyCittc2dpZCAibm90aGluZyIKK21zZ3N0ciAi5pegIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2MTQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMTQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MzI5Cittc2dpZCAidW5jaGFuZ2VkIgorbXNnc3RyICLmsqHmnInkv67mlLkiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjY1MSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY0MworbXNnaWQgIlVwZGF0ZSIKK21zZ3N0ciAi5pu05pawIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2NjggYWRkLWludGVyYWN0aXZlLmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGFnZSAnJXMnIgorbXNnc3RyICLkuI3og73mmoLlrZggJyVzJyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6Njc0IGFkZC1pbnRlcmFjdGl2ZS5jOjg2MyBzZXF1ZW5jZXIuYzozNDA5CisjOiBidWlsdGluL3JlYmFzZS5jOjg5NQorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBpbmRleCIKK21zZ3N0ciAi5LiN6IO95YaZ5YWl57Si5byVIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2NzcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MjgKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgInVwZGF0ZWQgJWQgcGF0aFxuIgorbXNnaWRfcGx1cmFsICJ1cGRhdGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gIuabtOaWsOS6hiAlZCDkuKrot6/lvoRcbiIKK21zZ3N0clsxXSAi5pu05paw5LqGICVkIOS4qui3r+W+hFxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo2OTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NzgKKyMsIGMtZm9ybWF0LCBwZXJsLWZvcm1hdAorbXNnaWQgIm5vdGU6ICVzIGlzIHVudHJhY2tlZCBub3cuXG4iCittc2dzdHIgIuivtOaYju+8miVzIOeOsOW3suaIkOS4uuacqui3n+i4queahOOAglxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo3MDAgYXBwbHkuYzo0MTA4IGJ1aWx0aW4vY2hlY2tvdXQuYzoyODEKKyM6IGJ1aWx0aW4vcmVzZXQuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFrZV9jYWNoZV9lbnRyeSBmYWlsZWQgZm9yIHBhdGggJyVzJyIKK21zZ3N0ciAi5a+56Lev5b6EICclcycg55qEIG1ha2VfY2FjaGVfZW50cnkg5pON5L2c5aSx6LSlIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo3MzAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NTUKK21zZ2lkICJSZXZlcnQiCittc2dzdHIgIui/mOWOnyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NzQ2Cittc2dpZCAiQ291bGQgbm90IHBhcnNlIEhFQURee3RyZWV9IgorbXNnc3RyICLkuI3og73op6PmnpAgSEVBRF57dHJlZX0iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjc4NCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYzMQorIywgYy1mb3JtYXQsIHBlcmwtZm9ybWF0Cittc2dpZCAicmV2ZXJ0ZWQgJWQgcGF0aFxuIgorbXNnaWRfcGx1cmFsICJyZXZlcnRlZCAlZCBwYXRoc1xuIgorbXNnc3RyWzBdICLov5jljp/kuoYgJWQg5Liq6Lev5b6EXG4iCittc2dzdHJbMV0gIui/mOWOn+S6hiAlZCDkuKrot6/lvoRcbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6ODM1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Njk1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVudHJhY2tlZCBmaWxlcy5cbiIKK21zZ3N0ciAi5rKh5pyJ5pyq6Lef6Liq55qE5paH5Lu244CCXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjgzOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY4OQorbXNnaWQgIkFkZCB1bnRyYWNrZWQiCittc2dzdHIgIua3u+WKoOacqui3n+i4queahCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6ODY2IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjI1CisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJhZGRlZCAlZCBwYXRoXG4iCittc2dpZF9wbHVyYWwgImFkZGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gIuWinuWKoOS6hiAlZCDkuKrot6/lvoRcbiIKK21zZ3N0clsxXSAi5aKe5Yqg5LqGICVkIOS4qui3r+W+hFxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5tZXJnZWQ6ICVzIgorbXNnc3RyICLlv73nlaXmnKrlkIjlhaXnmoTvvJolcyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTA4IGFkZC1wYXRjaC5jOjEzMzEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIk9ubHkgYmluYXJ5IGZpbGVzIGNoYW5nZWQuXG4iCittc2dzdHIgIuWPquacieS6jOi/m+WItuaWh+S7tuiiq+S/ruaUueOAglxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5MTAgYWRkLXBhdGNoLmM6MTMyOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gY2hhbmdlcy5cbiIKK21zZ3N0ciAi5rKh5pyJ5L+u5pS544CCXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjkxNCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzYKK21zZ2lkICJQYXRjaCB1cGRhdGUiCittc2dzdHIgIuihpeS4geabtOaWsCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTUzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc1NAorbXNnaWQgIlJldmlldyBkaWZmIgorbXNnc3RyICLmo4Dop4YgZGlmZiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTgxCittc2dpZCAic2hvdyBwYXRocyB3aXRoIGNoYW5nZXMiCittc2dzdHIgIuaYvuekuuWQq+WPmOabtOeahOi3r+W+hCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTgzCittc2dpZCAiYWRkIHdvcmtpbmcgdHJlZSBzdGF0ZSB0byB0aGUgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzIgorbXNnc3RyICLlsIblt6XkvZzljLrnirbmgIHmt7vliqDliLDmmoLlrZjljLrkv67mlLnpm4bkuK0iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4NQorbXNnaWQgInJldmVydCBzdGFnZWQgc2V0IG9mIGNoYW5nZXMgYmFjayB0byB0aGUgSEVBRCB2ZXJzaW9uIgorbXNnc3RyICLlsIbmmoLlrZjnmoTkv67mlLnpm4bmgaLlpI3kuLogSEVBRCDniYjmnKwiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4NworbXNnaWQgInBpY2sgaHVua3MgYW5kIHVwZGF0ZSBzZWxlY3RpdmVseSIKK21zZ3N0ciAi5oyR6YCJ5pWw5o2u5Z2X5bm25pyJ6YCJ5oup5Zyw5pu05pawIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5ODkKK21zZ2lkICJ2aWV3IGRpZmYgYmV0d2VlbiBIRUFEIGFuZCBpbmRleCIKK21zZ3N0ciAi5pi+56S6IEhFQUQg5ZKM57Si5byV55qE5beu5byCIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5OTEKK21zZ2lkICJhZGQgY29udGVudHMgb2YgdW50cmFja2VkIGZpbGVzIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXMiCittc2dzdHIgIuWwhuacqui3n+i4quaWh+S7tueahOWGheWuuea3u+WKoOWIsOaaguWtmOWMuuS/ruaUuembhuS4rSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTk5IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNDgKK21zZ2lkICJQcm9tcHQgaGVscDoiCittc2dzdHIgIuW4ruWKqe+8miIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAwMQorbXNnaWQgInNlbGVjdCBhIHNpbmdsZSBpdGVtIgorbXNnc3RyICLpgInmi6nkuIDkuKrmnaHnm64iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDMKK21zZ2lkICJzZWxlY3QgYSByYW5nZSBvZiBpdGVtcyIKK21zZ3N0ciAi6YCJ5oup5LiA57O75YiX5p2h55uuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDA1Cittc2dpZCAic2VsZWN0IG11bHRpcGxlIHJhbmdlcyIKK21zZ3N0ciAi6YCJ5oup5aSa5Liq6IyD5Zu0IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDA3IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNTIKK21zZ2lkICJzZWxlY3QgaXRlbSBiYXNlZCBvbiB1bmlxdWUgcHJlZml4IgorbXNnc3RyICLln7rkuo7llK/kuIDliY3nvIDpgInmi6nmnaHnm64iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDkKK21zZ2lkICJ1bnNlbGVjdCBzcGVjaWZpZWQgaXRlbXMiCittc2dzdHIgIuWPjemAieaMh+WumueahOadoeebriIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAxMQorbXNnaWQgImNob29zZSBhbGwgaXRlbXMiCittc2dzdHIgIumAieaLqeaJgOacieadoeebriIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAxMworbXNnaWQgIihlbXB0eSkgZmluaXNoIHNlbGVjdGluZyIKK21zZ3N0ciAi77yI56m677yJ57uT5p2f6YCJ5oupIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDUwCittc2dpZCAic2VsZWN0IGEgbnVtYmVyZWQgaXRlbSIKK21zZ3N0ciAi6YCJ5oup5LiA5Liq57yW5Y+35p2h55uuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDU0Cittc2dpZCAiKGVtcHR5KSBzZWxlY3Qgbm90aGluZyIKK21zZ3N0ciAi77yI56m677yJ5LiN6YCJ5oup5Lu75L2V5YaF5a65IgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDYyIGJ1aWx0aW4vY2xlYW4uYzo4MjIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODUxCittc2dpZCAiKioqIENvbW1hbmRzICoqKiIKK21zZ3N0ciAiKioqIOWRveS7pCAqKioiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNjMgYnVpbHRpbi9jbGVhbi5jOjgyMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4NDgKK21zZ2lkICJXaGF0IG5vdyIKK21zZ3N0ciAi6K+36YCJ5oupIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjEzCittc2dpZCAic3RhZ2VkIgorbXNnc3RyICLnvJPlrZgiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjExMTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMTMKK21zZ2lkICJ1bnN0YWdlZCIKK21zZ3N0ciAi5pyq57yT5a2YIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGFwcGx5LmM6NDk2NSBhcHBseS5jOjQ5NjggYnVpbHRpbi9hbS5jOjIxOTcKKyM6IGJ1aWx0aW4vYW0uYzoyMjAwIGJ1aWx0aW4vY2xvbmUuYzoxMjMgYnVpbHRpbi9mZXRjaC5jOjE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjI3MyBidWlsdGluL3B1bGwuYzoyMDkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjExOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMworbXNnaWQgInBhdGgiCittc2dzdHIgIui3r+W+hCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTEyMgorbXNnaWQgImNvdWxkIG5vdCByZWZyZXNoIGluZGV4IgorbXNnc3RyICLkuI3og73liLfmlrDntKLlvJUiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjExMzYgYnVpbHRpbi9jbGVhbi5jOjc4NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnllLlxuIgorbXNnc3RyICLlho3op4HjgIJcbiIKKworIzogYWRkLXBhdGNoLmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhZ2UgbW9kZSBjaGFuZ2UgW3ksbixhLHEsZCVzLD9dPyAiCittc2dzdHIgIuaaguWtmOaooeW8j+WPmOabtCBbeSxuLGEscSxkJXMsP10/ICIKKworIzogYWRkLXBhdGNoLmM6MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhZ2UgZGVsZXRpb24gW3ksbixhLHEsZCVzLD9dPyAiCittc2dzdHIgIuaaguWtmOWIoOmZpOWKqOS9nCBbeSxuLGEscSxkJXMsP10/ICIKKworIzogYWRkLXBhdGNoLmM6MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhZ2UgdGhpcyBodW5rIFt5LG4sYSxxLGQlcyw/XT8gIgorbXNnc3RyICLmmoLlrZjor6XlnZcgW3ksbixhLHEsZCVzLD9dPyAiCisKKyM6IGFkZC1wYXRjaC5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgaHVuayBoZWFkZXIgJyUuKnMnIgorbXNnc3RyICLml6Dms5Xop6PmnpDmlbDmja7lnZflpLTkv6Hmga8gJyUuKnMnIgorCisjOiBhZGQtcGF0Y2guYzoxMzAgYWRkLXBhdGNoLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb2xvcmVkIGh1bmsgaGVhZGVyICclLipzJyIKK21zZ3N0ciAi5peg5rOV6Kej5p6Q5b2p6Imy5pWw5o2u5Z2X5aS05L+h5oGvICclLipzJyIKKworIzogYWRkLXBhdGNoLmM6MTc2Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGRpZmYiCittc2dzdHIgIuS4jeiDveino+aekOW3ruW8guS/oeaBryIKKworIzogYWRkLXBhdGNoLmM6MTk0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbG9yZWQgZGlmZiIKK21zZ3N0ciAi5LiN6IO96Kej5p6Q5b2p6Imy5beu5byC5L+h5oGvIgorCisjOiBhZGQtcGF0Y2guYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImV4cGVjdGVkIGNvbnRleHQgbGluZSAjJWQgaW5cbiIKKyIlLipzIgorbXNnc3RyICIiCisi6aKE5pyf5LiK5LiL5paH6KGMICMlZCDkuo5cbiIKKyIlLipzIgorCisjOiBhZGQtcGF0Y2guYzo1MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImh1bmtzIGRvIG5vdCBvdmVybGFwOlxuIgorIiUuKnNcbiIKKyJcdGRvZXMgbm90IGVuZCB3aXRoOlxuIgorIiUuKnMiCittc2dzdHIgIiIKKyLlnZfkuI3ph43lj6DvvJpcbiIKKyIlLipzXG4iCisiXHTkuI3mmK/nu5PlsL7kuo7vvJpcbiIKKyIlLipzIgorCisjOiBhZGQtcGF0Y2guYzo3OTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTEyCittc2dpZCAiTWFudWFsIGh1bmsgZWRpdCBtb2RlIC0tIHNlZSBib3R0b20gZm9yIGEgcXVpY2sgZ3VpZGUuXG4iCittc2dzdHIgIuaJi+WKqOWdl+e8lui+keaooeW8jyAtLSDmn6XnnIvlupXpg6jnmoTlv6vpgJ/mjIfljZfjgIJcbiIKKworIzogYWRkLXBhdGNoLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS1cbiIKKyJUbyByZW1vdmUgJyVjJyBsaW5lcywgbWFrZSB0aGVtICcgJyBsaW5lcyAoY29udGV4dCkuXG4iCisiVG8gcmVtb3ZlICclYycgbGluZXMsIGRlbGV0ZSB0aGVtLlxuIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJWMgd2lsbCBiZSByZW1vdmVkLlxuIgorbXNnc3RyICIiCisiLS0tXG4iCisi6KaB5Yig6ZmkICclYycg5byA5aeL55qE6KGM77yM5L2/5YW25oiQ5Li6ICcgJyDlvIDlp4vnmoTooYzvvIjkuIrkuIvmlofvvInjgIJcbiIKKyLopoHliKDpmaQgJyVjJyDlvIDlp4vnmoTooYzvvIzliKDpmaTlroPku6zjgIJcbiIKKyLku6UgJWMg5byA5aeL55qE6KGM5bCG6KKr5Yig6Zmk44CCXG4iCisKKyM6IGFkZC1wYXRjaC5jOjgxMAorbXNnaWQgIiIKKyJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgorIm1hcmtlZCBmb3Igc3RhZ2luZy5cbiIKK21zZ3N0ciAi5aaC5p6c6KGl5LiB6IO95bmy5YeA5Zyw5bqU55So77yM57yW6L6R5Z2X5bCG56uL5Y2z5qCH6K6w5Li65pqC5a2Y44CCXG4iCisKKyMuIFRSQU5TTEFUT1JTOiAnaXQnIHJlZmVycyB0byB0aGUgcGF0Y2ggbWVudGlvbmVkIGluIHRoZSBwcmV2aW91cyBtZXNzYWdlcy4KKyM6IGFkZC1wYXRjaC5jOjgxOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMjYKK21zZ2lkICIiCisiSWYgaXQgZG9lcyBub3QgYXBwbHkgY2xlYW5seSwgeW91IHdpbGwgYmUgZ2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG9cbiIKKyJlZGl0IGFnYWluLiAgSWYgYWxsIGxpbmVzIG9mIHRoZSBodW5rIGFyZSByZW1vdmVkLCB0aGVuIHRoZSBlZGl0IGlzXG4iCisiYWJvcnRlZCBhbmQgdGhlIGh1bmsgaXMgbGVmdCB1bmNoYW5nZWQuXG4iCittc2dzdHIgIiIKKyLlpoLmnpzkuI3og73lubLlh4DlnLDlupTnlKjvvIzmgqjlsIbmnInmnLrkvJrph43mlrDnvJbovpHjgILlpoLmnpzor6XlnZfnmoTlhajpg6jlhoXlrrnliKDpmaTvvIzliJlcbiIKKyLmraTmrKHnvJbovpHooqvnu4jmraLvvIzor6XlnZfkuI3kvJrooqvkv67mlLnjgIJcbiIKKworIzogYWRkLXBhdGNoLmM6ODUxCittc2dpZCAiY291bGQgbm90IHBhcnNlIGh1bmsgaGVhZGVyIgorbXNnc3RyICLml6Dms5Xop6PmnpDmlbDmja7lnZflpLTkv6Hmga8iCisKKyM6IGFkZC1wYXRjaC5jOjg5NSBhZGQtcGF0Y2guYzoxMjk0Cittc2dpZCAiJ2dpdCBhcHBseSAtLWNhY2hlZCcgZmFpbGVkIgorbXNnc3RyICInZ2l0IGFwcGx5IC0tY2FjaGVkJyDlpLHotKUiCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIFt5L25dCisjLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IHRoYXQgaW5wdXQgYXQgdGhpcyBwb2ludC4KKyMuIENvbnNpZGVyIHRyYW5zbGF0aW5nIChzYXlpbmcgIm5vIiBkaXNjYXJkcyEpIGFzCisjLiAoc2F5aW5nICJuIiBmb3IgIm5vIiBkaXNjYXJkcyEpIGlmIHRoZSB0cmFuc2xhdGlvbgorIy4gb2YgdGhlIHdvcmQgIm5vIiBkb2VzIG5vdCBzdGFydCB3aXRoIG4uCisjLgorIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgW3kvbl0KKyMuIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgdGhhdCBpbnB1dAorIy4gYXQgdGhpcyBwb2ludC4KKyMuIENvbnNpZGVyIHRyYW5zbGF0aW5nIChzYXlpbmcgIm5vIiBkaXNjYXJkcyEpIGFzCisjLiAoc2F5aW5nICJuIiBmb3IgIm5vIiBkaXNjYXJkcyEpIGlmIHRoZSB0cmFuc2xhdGlvbgorIy4gb2YgdGhlIHdvcmQgIm5vIiBkb2VzIG5vdCBzdGFydCB3aXRoIG4uCisjOiBhZGQtcGF0Y2guYzo5NTIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjM5Cittc2dpZCAiIgorIllvdXIgZWRpdGVkIGh1bmsgZG9lcyBub3QgYXBwbHkuIEVkaXQgYWdhaW4gKHNheWluZyBcIm5vXCIgZGlzY2FyZHMhKSBbeS9uXT8gIgorbXNnc3RyICLmgqjnmoTnvJbovpHlnZfkuI3og73ooqvlupTnlKjjgILph43mlrDnvJbovpHvvIjpgInmi6kgXCJub1wiIOS4ouW8g++8ge+8iSBbeS9uXT8gIgorCisjOiBhZGQtcGF0Y2guYzoxMDA5Cittc2dpZCAiIgorInkgLSBzdGFnZSB0aGlzIGh1bmtcbiIKKyJuIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVua1xuIgorInEgLSBxdWl0OyBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gc3RhZ2UgdGhpcyBhbmQgYWxsIHRoZSByZW1haW5pbmcgaHVua3NcbiIKKyJkIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVuayBub3IgYW55IG9mIHRoZSByZW1haW5pbmcgaHVua3NcbiIKK21zZ3N0ciAiIgorInkgLSDmmoLlrZjor6XlnZdcbiIKKyJuIC0g5LiN6KaB5pqC5a2Y6K+l5Z2XXG4iCisicSAtIOmAgOWHuuOAguS4jeaaguWtmOivpeWdl+WPiuWQjumdoueahOWFqOmDqOWdl1xuIgorImEgLSDmmoLlrZjor6XlnZflkozmiYDmnInliankvZnnmoTlnZdcbiIKKyJkIC0g5LiN5pqC5a2Y6K+l5Z2X5ZKM5Lu75L2V5Ymp5L2Z55qE5Z2XXG4iCisKKyM6IGFkZC1wYXRjaC5jOjEwMTYKK21zZ2lkICIiCisiaiAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBuZXh0IHVuZGVjaWRlZCBodW5rXG4iCisiSiAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBuZXh0IGh1bmtcbiIKKyJrIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIHByZXZpb3VzIHVuZGVjaWRlZCBodW5rXG4iCisiSyAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBwcmV2aW91cyBodW5rXG4iCisiZyAtIHNlbGVjdCBhIGh1bmsgdG8gZ28gdG9cbiIKKyIvIC0gc2VhcmNoIGZvciBhIGh1bmsgbWF0Y2hpbmcgdGhlIGdpdmVuIHJlZ2V4XG4iCisicyAtIHNwbGl0IHRoZSBjdXJyZW50IGh1bmsgaW50byBzbWFsbGVyIGh1bmtzXG4iCisiZSAtIG1hbnVhbGx5IGVkaXQgdGhlIGN1cnJlbnQgaHVua1xuIgorIj8gLSBwcmludCBoZWxwXG4iCittc2dzdHIgIiIKKyJqIC0g57u05oyB6K+l5Z2X5pyq5Yaz54q25oCB77yM5p+l55yL5LiL5LiA5Liq5pyq5Yaz5Z2XXG4iCisiSiAtIOe7tOaMgeivpeWdl+acquWGs+eKtuaAge+8jOafpeeci+S4i+S4gOS4quWdl1xuIgorImsgLSDnu7TmjIHor6XlnZfmnKrlhrPnirbmgIHvvIzmn6XnnIvkuIrkuIDkuKrmnKrlhrPlnZdcbiIKKyJLIC0g57u05oyB6K+l5Z2X5pyq5Yaz54q25oCB77yM5p+l55yL5LiK5LiA5Liq5Z2XXG4iCisiZyAtIOmAieaLqei3s+i9rOWIsOS4gOS4quWdl1xuIgorIi8gLSDmn6Xmib7lkoznu5nlrprmraPliJnooajovr7lvI/ljLnphY3nmoTlnZdcbiIKKyJzIC0g5ouG5YiG5b2T5YmN5Z2X5Li65pu05bCP55qE5Z2XXG4iCisiZSAtIOaJi+WKqOe8lui+keW9k+WJjeWdl1xuIgorIj8gLSDmmL7npLrluK7liqlcbiIKKworIzogYWRkLXBhdGNoLmM6MTEzNyBhZGQtcGF0Y2guYzoxMTQ3Cittc2dpZCAiTm8gcHJldmlvdXMgaHVuayIKK21zZ3N0ciAi5rKh5pyJ5YmN5LiA5Liq5Z2XIgorCisjOiBhZGQtcGF0Y2guYzoxMTQyIGFkZC1wYXRjaC5jOjExNTIKK21zZ2lkICJObyBuZXh0IGh1bmsiCittc2dzdHIgIuayoeacieS4i+S4gOS4quWdlyIKKworIzogYWRkLXBhdGNoLmM6MTE1OAorbXNnaWQgIk5vIG90aGVyIGh1bmtzIHRvIGdvdG8iCittc2dzdHIgIuayoeacieWFtuWug+WPr+S+m+i3s+i9rOeahOWdlyIKKworIzogYWRkLXBhdGNoLmM6MTE2OSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzcKK21zZ2lkICJnbyB0byB3aGljaCBodW5rICg8cmV0PiB0byBzZWUgbW9yZSk/ICIKK21zZ3N0ciAi6Lez6L2s5Yiw5ZOq5Liq5Z2X77yIPOWbnui9pj4g5p+l55yL5pu05aSa77yJ77yfICIKKworIzogYWRkLXBhdGNoLmM6MTE3MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzkKK21zZ2lkICJnbyB0byB3aGljaCBodW5rPyAiCittc2dzdHIgIui3s+i9rOWIsOWTquS4quWdl++8nyIKKworIzogYWRkLXBhdGNoLmM6MTE4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG51bWJlcjogJyVzJyIKK21zZ3N0ciAi5peg5pWI5pWw5a2X77yaJyVzJyIKKworIzogYWRkLXBhdGNoLmM6MTE4NgorIywgYy1mb3JtYXQKK21zZ2lkICJTb3JyeSwgb25seSAlZCBodW5rIGF2YWlsYWJsZS4iCittc2dpZF9wbHVyYWwgIlNvcnJ5LCBvbmx5ICVkIGh1bmtzIGF2YWlsYWJsZS4iCittc2dzdHJbMF0gIuWvueS4jei1t++8jOWPquaciSAlZCDkuKrlj6/nlKjlnZfjgIIiCittc2dzdHJbMV0gIuWvueS4jei1t++8jOWPquaciSAlZCDkuKrlj6/nlKjlnZfjgIIiCisKKyM6IGFkZC1wYXRjaC5jOjExOTUKK21zZ2lkICJObyBvdGhlciBodW5rcyB0byBzZWFyY2giCittc2dzdHIgIuayoeacieWFtuWug+WPr+S+m+afpeaJvueahOWdlyIKKworIzogYWRkLXBhdGNoLmM6MTIwMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MjMKK21zZ2lkICJzZWFyY2ggZm9yIHJlZ2V4PyAiCittc2dzdHIgIuS9v+eUqOato+WImeihqOi+vuW8j+aQnOe0ou+8nyIKKworIzogYWRkLXBhdGNoLmM6MTIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJNYWxmb3JtZWQgc2VhcmNoIHJlZ2V4cCAlczogJXMiCittc2dzdHIgIumUmeivr+eahOato+WImeihqOi+vuW8jyAlc++8miVzIgorCisjOiBhZGQtcGF0Y2guYzoxMjMzCittc2dpZCAiTm8gaHVuayBtYXRjaGVzIHRoZSBnaXZlbiBwYXR0ZXJuIgorbXNnc3RyICLmsqHmnInlkoznu5nlrprmqKHlvI/nm7jljLnphY3nmoTlnZciCisKKyM6IGFkZC1wYXRjaC5jOjEyNDAKK21zZ2lkICJTb3JyeSwgY2Fubm90IHNwbGl0IHRoaXMgaHVuayIKK21zZ3N0ciAi5a+55LiN6LW377yM5LiN6IO95ouG5YiG6L+Z5Liq5Z2XIgorCisjOiBhZGQtcGF0Y2guYzoxMjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNwbGl0IGludG8gJWQgaHVua3MuIgorbXNnc3RyICLmi4bliIbkuLogJWQg5Z2X44CCIgorCisjOiBhZGQtcGF0Y2guYzoxMjQ4Cittc2dpZCAiU29ycnksIGNhbm5vdCBlZGl0IHRoaXMgaHVuayIKK21zZ3N0ciAi5a+55LiN6LW377yM5LiN6IO957yW6L6R6L+Z5Liq5Z2XIgorCisjOiBhZHZpY2UuYzoxMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNoaW50OiAlLipzJXNcbiIKIG1zZ3N0ciAiJXPmj5DnpLrvvJolLipzJXNcbiIKIAotIzogYWR2aWNlLmM6MTUyCisjOiBhZHZpY2UuYzoxNjQKIG1zZ2lkICJDaGVycnktcGlja2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIuaXoOazleaLo+mAie+8jOWboOS4uuaCqOacieacquWQiOW5tueahOaWh+S7tuOAgiIKIAotIzogYWR2aWNlLmM6MTU0CisjOiBhZHZpY2UuYzoxNjYKIG1zZ2lkICJDb21taXR0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAi5peg5rOV5o+Q5Lqk77yM5Zug5Li65oKo5pyJ5pyq5ZCI5bm255qE5paH5Lu244CCIgogCi0jOiBhZHZpY2UuYzoxNTYKKyM6IGFkdmljZS5jOjE2OAogbXNnaWQgIk1lcmdpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICLml6Dms5XlkIjlubbvvIzlm6DkuLrmgqjmnInmnKrlkIjlubbnmoTmlofku7bjgIIiCiAKLSM6IGFkdmljZS5jOjE1OAorIzogYWR2aWNlLmM6MTcwCiBtc2dpZCAiUHVsbGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCiBtc2dzdHIgIuaXoOazleaLieWPlu+8jOWboOS4uuaCqOacieacquWQiOW5tueahOaWh+S7tuOAgiIKIAotIzogYWR2aWNlLmM6MTYwCisjOiBhZHZpY2UuYzoxNzIKIG1zZ2lkICJSZXZlcnRpbmcgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgogbXNnc3RyICLml6Dms5Xlm57pgIDvvIzlm6DkuLrmgqjmnInmnKrlkIjlubbnmoTmlofku7bjgIIiCiAKLSM6IGFkdmljZS5jOjE2MgorIzogYWR2aWNlLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkl0IGlzIG5vdCBwb3NzaWJsZSB0byAlcyBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKIG1zZ3N0ciAi5peg5rOVICVz77yM5Zug5Li65oKo5pyJ5pyq5ZCI5bm255qE5paH5Lu244CCIgogCi0jOiBhZHZpY2UuYzoxNzAKKyM6IGFkdmljZS5jOjE4MgogbXNnaWQgIiIKICJGaXggdGhlbSB1cCBpbiB0aGUgd29yayB0cmVlLCBhbmQgdGhlbiB1c2UgJ2dpdCBhZGQvcm0gPGZpbGU+J1xuIgogImFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbiBhbmQgbWFrZSBhIGNvbW1pdC4iCkBAIC0xODYsMTM1ICs2MDgsMTQ1IEBACiAi6K+35Zyo5bel5L2c5Yy65pS55q2j5paH5Lu277yM54S25ZCO6YWM5oOF5L2/55SoICdnaXQgYWRkL3JtIDzmlofku7Y+JyDlkb3ku6TmoIforrBcbiIKICLop6PlhrPmlrnmoYjlubbmj5DkuqTjgIIiCiAKLSM6IGFkdmljZS5jOjE3OAorIzogYWR2aWNlLmM6MTkwCiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIGFuIHVucmVzb2x2ZWQgY29uZmxpY3QuIgogbXNnc3RyICLlm6DkuLrlrZjlnKjmnKrop6PlhrPnmoTlhrLnqoHogIzpgIDlh7rjgIIiCiAKLSM6IGFkdmljZS5jOjE4MyBidWlsdGluL21lcmdlLmM6MTI4OQorIzogYWR2aWNlLmM6MTk1IGJ1aWx0aW4vbWVyZ2UuYzoxMzMyCiBtc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIChNRVJHRV9IRUFEIGV4aXN0cykuIgogbXNnc3RyICLmgqjlsJrmnKrnu5PmnZ/mgqjnmoTlkIjlubbvvIjlrZjlnKggTUVSR0VfSEVBRO+8ieOAgiIKIAotIzogYWR2aWNlLmM6MTg1CisjOiBhZHZpY2UuYzoxOTcKIG1zZ2lkICJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIG1lcmdpbmcuIgogbXNnc3RyICLor7flnKjlkIjlubbliY3lhYjmj5DkuqTmgqjnmoTkv67mlLnjgIIiCiAKLSM6IGFkdmljZS5jOjE4NgorIzogYWR2aWNlLmM6MTk4CiBtc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIHVuZmluaXNoZWQgbWVyZ2UuIgogbXNnc3RyICLlm6DkuLrlrZjlnKjmnKrlrozmiJDnmoTlkIjlubbogIzpgIDlh7rjgIIiCiAKLSM6IGFkdmljZS5jOjE5MgorIzogYWR2aWNlLmM6MjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJOb3RlOiBjaGVja2luZyBvdXQgJyVzJy5cbiIKKyJOb3RlOiBzd2l0Y2hpbmcgdG8gJyVzJy5cbiIKICJcbiIKICJZb3UgYXJlIGluICdkZXRhY2hlZCBIRUFEJyBzdGF0ZS4gWW91IGNhbiBsb29rIGFyb3VuZCwgbWFrZSBleHBlcmltZW50YWxcbiIKICJjaGFuZ2VzIGFuZCBjb21taXQgdGhlbSwgYW5kIHlvdSBjYW4gZGlzY2FyZCBhbnkgY29tbWl0cyB5b3UgbWFrZSBpbiB0aGlzXG4iCi0ic3RhdGUgd2l0aG91dCBpbXBhY3RpbmcgYW55IGJyYW5jaGVzIGJ5IHBlcmZvcm1pbmcgYW5vdGhlciBjaGVja291dC5cbiIKKyJzdGF0ZSB3aXRob3V0IGltcGFjdGluZyBhbnkgYnJhbmNoZXMgYnkgc3dpdGNoaW5nIGJhY2sgdG8gYSBicmFuY2guXG4iCiAiXG4iCiAiSWYgeW91IHdhbnQgdG8gY3JlYXRlIGEgbmV3IGJyYW5jaCB0byByZXRhaW4gY29tbWl0cyB5b3UgY3JlYXRlLCB5b3UgbWF5XG4iCi0iZG8gc28gKG5vdyBvciBsYXRlcikgYnkgdXNpbmcgLWIgd2l0aCB0aGUgY2hlY2tvdXQgY29tbWFuZCBhZ2Fpbi4gRXhhbXBsZTpcbiIKKyJkbyBzbyAobm93IG9yIGxhdGVyKSBieSB1c2luZyAtYyB3aXRoIHRoZSBzd2l0Y2ggY29tbWFuZC4gRXhhbXBsZTpcbiIKICJcbiIKLSIgIGdpdCBjaGVja291dCAtYiA8bmV3LWJyYW5jaC1uYW1lPlxuIgorIiAgZ2l0IHN3aXRjaCAtYyA8bmV3LWJyYW5jaC1uYW1lPlxuIgorIlxuIgorIk9yIHVuZG8gdGhpcyBvcGVyYXRpb24gd2l0aDpcbiIKKyJcbiIKKyIgIGdpdCBzd2l0Y2ggLVxuIgorIlxuIgorIlR1cm4gb2ZmIHRoaXMgYWR2aWNlIGJ5IHNldHRpbmcgY29uZmlnIHZhcmlhYmxlIGFkdmljZS5kZXRhY2hlZEhlYWQgdG8gIgorImZhbHNlXG4iCiAiXG4iCiBtc2dzdHIgIiIKLSLms6jmhI/vvJrmraPlnKjmo4Dlh7ogJyVzJ+OAglxuIgorIuazqOaEj++8muato+WcqOWIh+aNouWIsCAnJXMn44CCXG4iCiAiXG4iCi0i5oKo5q2j5aSE5LqO5YiG56a75aS05oyH6ZKI54q25oCB44CC5oKo5Y+v5Lul5p+l55yL44CB5YGa6K+V6aqM5oCn55qE5L+u5pS55Y+K5o+Q5Lqk77yM5bm25LiU5oKo5Y+v5Lul6YCa6L+H5Y+mIgotIuWkllxuIgotIueahOajgOWHuuWIhuaUr+aTjeS9nOS4ouW8g+WcqOi/meS4queKtuaAgeS4i+aJgOWBmueahOS7u+S9leaPkOS6pOOAglxuIgorIuaCqOato+WkhOS6juWIhuemu+WktOaMh+mSiOeKtuaAgeOAguaCqOWPr+S7peafpeeci+OAgeWBmuivlemqjOaAp+eahOS/ruaUueWPiuaPkOS6pO+8jOW5tuS4lOaCqOWPr+S7peWcqOWIh+aNolxuIgorIuWbnuS4gOS4quWIhuaUr+aXtu+8jOS4ouW8g+WcqOatpOeKtuaAgeS4i+aJgOWBmueahOaPkOS6pOiAjOS4jeWvueWIhuaUr+mAoOaIkOW9seWTjeOAglxuIgogIlxuIgotIuWmguaenOaCqOaDs+imgemAmui/h+WIm+W7uuWIhuaUr+adpeS/neeVmeWcqOatpOeKtuaAgeS4i+aJgOWBmueahOaPkOS6pO+8jOaCqOWPr+S7pemAmui/h+WcqOajgOWHuuWRveS7pOa3u+WKoFxuIgotIuWPguaVsCAtYiDmnaXlrp7njrDvvIjnjrDlnKjmiJbnqI3lkI7vvInjgILkvovlpoLvvJpcbiIKKyLlpoLmnpzmgqjmg7PopoHpgJrov4fliJvlu7rliIbmlK/mnaXkv53nlZnlnKjmraTnirbmgIHkuIvmiYDlgZrnmoTmj5DkuqTvvIzmgqjlj6/ku6XpgJrov4flnKggc3dpdGNoIOWRveS7pFxuIgorIuS4rea3u+WKoOWPguaVsCAtYyDmnaXlrp7njrDvvIjnjrDlnKjmiJbnqI3lkI7vvInjgILkvovlpoLvvJpcbiIKICJcbiIKLSIgIGdpdCBjaGVja291dCAtYiA85paw5YiG5pSv5ZCNPlxuIgorIiAgZ2l0IHN3aXRjaCAtYyA85paw5YiG5pSv5ZCNPlxuIgorIlxuIgorIuaIluiAheaSpOmUgOatpOaTjeS9nO+8mlxuIgorIlxuIgorIiAgZ2l0IHN3aXRjaCAtXG4iCisiXG4iCisi6YCa6L+H5bCG6YWN572u5Y+Y6YePIGFkdmljZS5kZXRhY2hlZEhlYWQg6K6+572u5Li6IGZhbHNlIOadpeWFs+mXreatpOW7uuiurlxuIgogIlxuIgogCi0jOiBhcHBseS5jOjU5CisjOiBhbGlhcy5jOjUwCittc2dpZCAiY21kbGluZSBlbmRzIHdpdGggXFwiCittc2dzdHIgIuWRveS7pOihjOS7pSBcXCDnu5PlsL4iCisKKyM6IGFsaWFzLmM6NTEKK21zZ2lkICJ1bmNsb3NlZCBxdW90ZSIKK21zZ3N0ciAi5pyq5YWz6Zet55qE5byV5Y+3IgorCisjOiBhcHBseS5jOjY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIG9wdGlvbiAnJXMnIgogbXNnc3RyICLmnKrog73or4bliKvnmoTnqbrnmb3lrZfnrKbpgInpobkgJyVzJyIKIAotIzogYXBwbHkuYzo3NQorIzogYXBwbHkuYzo4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgd2hpdGVzcGFjZSBpZ25vcmUgb3B0aW9uICclcyciCiBtc2dzdHIgIuacquiDveivhuWIq+eahOepuueZveWtl+espuW/veeVpemAiemhuSAnJXMnIgogCi0jOiBhcHBseS5jOjEyNQorIzogYXBwbHkuYzoxMzUKIG1zZ2lkICItLXJlamVjdCBhbmQgLS0zd2F5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyLiIKIG1zZ3N0ciAiLS1yZWplY3Qg5ZKMIC0tM3dheSDkuI3og73lkIzml7bkvb/nlKjjgIIiCiAKLSM6IGFwcGx5LmM6MTI3CisjOiBhcHBseS5jOjEzNwogbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgogbXNnc3RyICItLWNhY2hlZCDlkowgLS0zd2F5IOS4jeiDveWQjOaXtuS9v+eUqOOAgiIKIAotIzogYXBwbHkuYzoxMzAKKyM6IGFwcGx5LmM6MTQwCiBtc2dpZCAiLS0zd2F5IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLTN3YXkg5Zyo5LiA5Liq5LuT5bqT5LmL5aSWIgogCi0jOiBhcHBseS5jOjE0MQorIzogYXBwbHkuYzoxNTEKIG1zZ2lkICItLWluZGV4IG91dHNpZGUgYSByZXBvc2l0b3J5IgogbXNnc3RyICItLWluZGV4IOWcqOS4gOS4quS7k+W6k+S5i+WkliIKIAotIzogYXBwbHkuYzoxNDQKKyM6IGFwcGx5LmM6MTU0CiBtc2dpZCAiLS1jYWNoZWQgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tY2FjaGVkIOWcqOS4gOS4quS7k+W6k+S5i+WkliIKIAotIzogYXBwbHkuYzo4MjYKKyM6IGFwcGx5LmM6ODAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBwcmVwYXJlIHRpbWVzdGFtcCByZWdleHAgJXMiCiBtc2dzdHIgIuaXoOazleWHhuWkh+aXtumXtOaIs+ato+WImeihqOi+vuW8jyAlcyIKIAotIzogYXBwbHkuYzo4MzUKKyM6IGFwcGx5LmM6ODEwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZ2V4ZWMgcmV0dXJuZWQgJWQgZm9yIGlucHV0OiAlcyIKIG1zZ3N0ciAicmVnZXhlYyDov5Tlm54gJWTvvIzovpPlhaXkuLrvvJolcyIKIAotIzogYXBwbHkuYzo5MDkKKyM6IGFwcGx5LmM6ODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgIuS4jeiDveWcqOihpeS4geeahOesrCAlZCDooYzmib7liLDmlofku7blkI0iCiAKLSM6IGFwcGx5LmM6OTQ3CisjOiBhcHBseS5jOjkyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCwgZ290ICVzIG9uIGxpbmUgJWQiCiBtc2dzdHIgImdpdCBhcHBsee+8mumUmeivr+eahCBnaXQtZGlmZiAtIOW6lOS4uiAvZGV2L251bGzvvIzkvYblnKjnrKwgJTIkZCDooYzlvpfliLAgJTEkcyIKIAotIzogYXBwbHkuYzo5NTMKKyM6IGFwcGx5LmM6OTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gaW5jb25zaXN0ZW50IG5ldyBmaWxlbmFtZSBvbiBsaW5lICVkIgogbXNnc3RyICJnaXQgYXBwbHnvvJrplJnor6/nmoQgZ2l0LWRpZmYgLSDnrKwgJWQg6KGM5LiK5paw5paH5Lu25ZCN5LiN5LiA6Ie0IgogCi0jOiBhcHBseS5jOjk1NAorIzogYXBwbHkuYzo5MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCiBtc2dzdHIgImdpdCBhcHBsee+8mumUmeivr+eahCBnaXQtZGlmZiAtIOesrCAlZCDooYzkuIrml6fmlofku7blkI3kuI3kuIDoh7QiCiAKLSM6IGFwcGx5LmM6OTU5CisjOiBhcHBseS5jOjkzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGV4cGVjdGVkIC9kZXYvbnVsbCBvbiBsaW5lICVkIgogbXNnc3RyICJnaXQgYXBwbHnvvJrplJnor6/nmoQgZ2l0LWRpZmYgLSDnrKwgJWQg6KGM5aSE5bqU5Li6IC9kZXYvbnVsbCIKIAotIzogYXBwbHkuYzo5ODgKKyM6IGFwcGx5LmM6OTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbW9kZSBvbiBsaW5lICVkOiAlcyIKIG1zZ3N0ciAi56ysICVkIOihjOWMheWQq+aXoOaViOaWh+S7tuaooeW8j++8miVzIgogCi0jOiBhcHBseS5jOjEzMDcKKyM6IGFwcGx5LmM6MTI4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmNvbnNpc3RlbnQgaGVhZGVyIGxpbmVzICVkIGFuZCAlZCIKIG1zZ3N0ciAi5LiN5LiA6Ie055qE5paH5Lu25aS077yMJWQg6KGM5ZKMICVkIOihjCIKIAotIzogYXBwbHkuYzoxNDc5Ci0jLCBjLWZvcm1hdAotbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKLW1zZ3N0ciAicmVjb3VudO+8muaEj+WklueahOihjO+8miUuKnMiCi0KLSM6IGFwcGx5LmM6MTU0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgotbXNnc3RyICLnrKwgJWQg6KGM55qE6KGl5LiB54mH5q615rKh5pyJ5aS05L+h5oGv77yaJS4qcyIKLQotIzogYXBwbHkuYzoxNTY4CisjOiBhcHBseS5jOjEzNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgpAQCAtMzI1LDgyICs3NTcsOTIgQEAKIG1zZ3N0clswXSAi5b2T56e76ZmkICVkIOS4quWJjeWvvOi3r+W+hOWQjiBnaXQgZGlmZiDlpLTnvLrkuY/mlofku7blkI3kv6Hmga/vvIjnrKwgJWQg6KGM77yJIgogbXNnc3RyWzFdICLlvZPnp7vpmaQgJWQg5Liq5YmN5a+86Lev5b6E5ZCOIGdpdCBkaWZmIOWktOe8uuS5j+aWh+S7tuWQjeS/oeaBr++8iOesrCAlZCDooYzvvIkiCiAKLSM6IGFwcGx5LmM6MTU4MQorIzogYXBwbHkuYzoxMzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiAobGluZSAlZCkiCiBtc2dzdHIgImdpdCBkaWZmIOeahOWktOS/oeaBr+S4ree8uuS5j+aWh+S7tuWQjeS/oeaBr++8iOesrCAlZCDooYzvvIkiCiAKLSM6IGFwcGx5LmM6MTc2OQorIzogYXBwbHkuYzoxNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlY291bnQ6IHVuZXhwZWN0ZWQgbGluZTogJS4qcyIKK21zZ3N0ciAicmVjb3VudO+8muaEj+WklueahOihjO+8miUuKnMiCisKKyM6IGFwcGx5LmM6MTU1MAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCBmcmFnbWVudCB3aXRob3V0IGhlYWRlciBhdCBsaW5lICVkOiAlLipzIgorbXNnc3RyICLnrKwgJWQg6KGM55qE6KGl5LiB54mH5q615rKh5pyJ5aS05L+h5oGv77yaJS4qcyIKKworIzogYXBwbHkuYzoxNzUzCiBtc2dpZCAibmV3IGZpbGUgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCiBtc2dzdHIgIuaWsOaWh+S7tuS+nei1luaXp+WGheWuuSIKIAotIzogYXBwbHkuYzoxNzcxCisjOiBhcHBseS5jOjE3NTUKIG1zZ2lkICJkZWxldGVkIGZpbGUgc3RpbGwgaGFzIGNvbnRlbnRzIgogbXNnc3RyICLliKDpmaTnmoTmlofku7bku43mnInlhoXlrrkiCiAKLSM6IGFwcGx5LmM6MTgwNQorIzogYXBwbHkuYzoxNzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGF0Y2ggYXQgbGluZSAlZCIKIG1zZ3N0ciAi6KGl5LiB5Zyo56ysICVkIOihjOaNn+WdjyIKIAotIzogYXBwbHkuYzoxODQyCisjOiBhcHBseS5jOjE4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IGZpbGUgJXMgZGVwZW5kcyBvbiBvbGQgY29udGVudHMiCiBtc2dzdHIgIuaWsOaWh+S7tiAlcyDkvp3otZbml6flhoXlrrkiCiAKLSM6IGFwcGx5LmM6MTg0NAorIzogYXBwbHkuYzoxODI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCiBtc2dzdHIgIuWIoOmZpOeahOaWh+S7tiAlcyDku43mnInlhoXlrrkiCiAKLSM6IGFwcGx5LmM6MTg0NworIzogYXBwbHkuYzoxODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIioqIHdhcm5pbmc6IGZpbGUgJXMgYmVjb21lcyBlbXB0eSBidXQgaXMgbm90IGRlbGV0ZWQiCiBtc2dzdHIgIioqIOitpuWRiu+8muaWh+S7tiAlcyDmiJDkuLrnqbrmlofku7bkvYblubbmnKrliKDpmaQiCiAKLSM6IGFwcGx5LmM6MTk5NAorIzogYXBwbHkuYzoxOTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgIuS6jOi/m+WItuihpeS4geWcqOesrCAlZCDooYzmjZ/lnY/vvJolLipzIgogCi0jOiBhcHBseS5jOjIwMzEKKyM6IGFwcGx5LmM6MjAxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQiCiBtc2dzdHIgIuacquiDveivhuWIq+eahOS6jOi/m+WItuihpeS4geS9jeS6juesrCAlZCDooYwiCiAKLSM6IGFwcGx5LmM6MjE5MworIzogYXBwbHkuYzoyMTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIHdpdGggb25seSBnYXJiYWdlIGF0IGxpbmUgJWQiCiBtc2dzdHIgIuihpeS4geaWh+S7tueahOesrCAlZCDooYzlj6rmnInlnoPlnL7mlbDmja4iCiAKLSM6IGFwcGx5LmM6MjI3OQorIzogYXBwbHkuYzoyMjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZWFkIHN5bWxpbmsgJXMiCiBtc2dzdHIgIuaXoOazleivu+WPluespuWPt+mTvuaOpSAlcyIKIAotIzogYXBwbHkuYzoyMjgzCisjOiBhcHBseS5jOjIyNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIKIG1zZ3N0ciAi5LiN6IO95omT5byA5oiW6K+75Y+WICVzIgogCi0jOiBhcHBseS5jOjI5NDIKKyM6IGFwcGx5LmM6MjkzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHN0YXJ0IG9mIGxpbmU6ICclYyciCiBtc2dzdHIgIuaXoOaViOeahOihjOmmluWtl+espu+8miclYyciCiAKLSM6IGFwcGx5LmM6MzA2MworIzogYXBwbHkuYzozMDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkh1bmsgIyVkIHN1Y2NlZWRlZCBhdCAlZCAob2Zmc2V0ICVkIGxpbmUpLiIKIG1zZ2lkX3BsdXJhbCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZXMpLiIKIG1zZ3N0clswXSAi5Z2XICMlZCDmiJDlip/lupTnlKjkuo4gJWTvvIjlgY/np7sgJWQg6KGM77yJIgogbXNnc3RyWzFdICLlnZcgIyVkIOaIkOWKn+W6lOeUqOS6jiAlZO+8iOWBj+enuyAlZCDooYzvvIkiCiAKLSM6IGFwcGx5LmM6MzA3NQorIzogYXBwbHkuYzozMDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbnRleHQgcmVkdWNlZCB0byAoJWxkLyVsZCkgdG8gYXBwbHkgZnJhZ21lbnQgYXQgJWQiCiBtc2dzdHIgIuS4iuS4i+aWh+WHj+WwkeWIsO+8iCVsZC8lbGTvvInku6XlnKjnrKwgJWQg6KGM5bqU55So6KGl5LiB54mH5q61IgogCi0jOiBhcHBseS5jOjMwODEKKyM6IGFwcGx5LmM6MzA3NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAid2hpbGUgc2VhcmNoaW5nIGZvcjpcbiIKQEAgLTQwOSw0NTEgKzg1MSw0MzcgQEAKICLlvZPmn6Xor6LvvJpcbiIKICIlLipzIgogCi0jOiBhcHBseS5jOjMxMDMKKyM6IGFwcGx5LmM6MzA5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIGJpbmFyeSBwYXRjaCBkYXRhIGZvciAnJXMnIgogbXNnc3RyICLnvLrlpLEgJyVzJyDnmoTkuozov5vliLbooaXkuIHmlbDmja4iCiAKLSM6IGFwcGx5LmM6MzExMQorIzogYXBwbHkuYzozMTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXZlcnNlLWFwcGx5IGEgYmluYXJ5IHBhdGNoIHdpdGhvdXQgdGhlIHJldmVyc2UgaHVuayB0byAnJXMnIgogbXNnc3RyICLkuI3og73lj43lkJHlupTnlKjkuIDkuKrnvLrlsJHliLAgJyVzJyDnmoTlj43lkJHmlbDmja7lnZfnmoTkuozov5vliLbooaXkuIEiCiAKLSM6IGFwcGx5LmM6MzE1OAorIzogYXBwbHkuYzozMTUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhcHBseSBiaW5hcnkgcGF0Y2ggdG8gJyVzJyB3aXRob3V0IGZ1bGwgaW5kZXggbGluZSIKIG1zZ3N0ciAi5LiN6IO95ZyoICclcycg5LiK5bqU55So5rKh5pyJ5a6M5pW057Si5byV6KGM55qE5LqM6L+b5Yi26KGl5LiBIgogCi0jOiBhcHBseS5jOjMxNjgKKyM6IGFwcGx5LmM6MzE2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidGhlIHBhdGNoIGFwcGxpZXMgdG8gJyVzJyAoJXMpLCB3aGljaCBkb2VzIG5vdCBtYXRjaCB0aGUgY3VycmVudCBjb250ZW50cy4iCiBtc2dzdHIgIuihpeS4geW6lOeUqOWIsCAnJXMn77yIJXPvvInvvIzkvYbmmK/lkozlvZPliY3lhoXlrrnkuI3ljLnphY3jgIIiCiAKLSM6IGFwcGx5LmM6MzE3NgorIzogYXBwbHkuYzozMTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBwYXRjaCBhcHBsaWVzIHRvIGFuIGVtcHR5ICclcycgYnV0IGl0IGlzIG5vdCBlbXB0eSIKIG1zZ3N0ciAi6KGl5LiB5bqU55So5Yiw56m65paH5Lu2ICclcyfvvIzkvYblhbblubbpnZ7nqbrmlofku7YiCiAKLSM6IGFwcGx5LmM6MzE5NAorIzogYXBwbHkuYzozMTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgInRoZSBuZWNlc3NhcnkgcG9zdGltYWdlICVzIGZvciAnJXMnIGNhbm5vdCBiZSByZWFkIgogbXNnc3RyICLml6Dms5Xor7vlj5YgJyUyJHMnIOW/hemcgOeahOebruagh+aWh+S7tiAlMSRzIgogCi0jOiBhcHBseS5jOjMyMDcKKyM6IGFwcGx5LmM6MzIwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKIG1zZ3N0ciAi5LqM6L+b5Yi26KGl5LiB5pyq5bqU55So5YiwICclcyciCiAKLSM6IGFwcGx5LmM6MzIxMworIzogYXBwbHkuYzozMjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJpbmFyeSBwYXRjaCB0byAnJXMnIGNyZWF0ZXMgaW5jb3JyZWN0IHJlc3VsdCAoZXhwZWN0aW5nICVzLCBnb3QgJXMpIgogbXNnc3RyICLliLAgJyVzJyDnmoTkuozov5vliLbooaXkuIHkuqfnlJ/kuobkuI3mraPnoa7nmoTnu5PmnpzvvIjlupTkuLogJXPvvIzljbTkuLogJXPvvIkiCiAKLSM6IGFwcGx5LmM6MzIzNAorIzogYXBwbHkuYzozMjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGNoIGZhaWxlZDogJXM6JWxkIgogbXNnc3RyICLmiZPooaXkuIHlpLHotKXvvJolczolbGQiCiAKLSM6IGFwcGx5LmM6MzM1NgorIzogYXBwbHkuYzozMzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKIG1zZ3N0ciAi5LiN6IO95qOA5Ye6ICVzIgogCi0jOiBhcHBseS5jOjM0MDggYXBwbHkuYzozNDE5IGFwcGx5LmM6MzQ2NSBtaWR4LmM6NTggc2V0dXAuYzoyNzgKKyM6IGFwcGx5LmM6MzQwMyBhcHBseS5jOjM0MTQgYXBwbHkuYzozNDYwIG1pZHguYzo2MSBzZXR1cC5jOjI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAlcyIKIG1zZ3N0ciAi5peg5rOV6K+75Y+WICVzIgogCi0jOiBhcHBseS5jOjM0MTYKKyM6IGFwcGx5LmM6MzQxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkaW5nIGZyb20gJyVzJyBiZXlvbmQgYSBzeW1ib2xpYyBsaW5rIgogbXNnc3RyICLor7vlj5bkvY3kuo7nrKblj7fpk77mjqXkuK3nmoQgJyVzJyIKIAotIzogYXBwbHkuYzozNDQ1IGFwcGx5LmM6MzY4OAorIzogYXBwbHkuYzozNDQwIGFwcGx5LmM6MzY4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICVzIGhhcyBiZWVuIHJlbmFtZWQvZGVsZXRlZCIKIG1zZ3N0ciAi6Lev5b6EICVzIOW3sue7j+iiq+mHjeWRveWQjS/liKDpmaQiCiAKLSM6IGFwcGx5LmM6MzUzMSBhcHBseS5jOjM3MDMKKyM6IGFwcGx5LmM6MzUyNiBhcHBseS5jOjM2OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGRvZXMgbm90IGV4aXN0IGluIGluZGV4IgogbXNnc3RyICIlc++8muS4jeWtmOWcqOS6jue0ouW8leS4rSIKIAotIzogYXBwbHkuYzozNTQwIGFwcGx5LmM6MzcxMQorIzogYXBwbHkuYzozNTM1IGFwcGx5LmM6MzcwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZG9lcyBub3QgbWF0Y2ggaW5kZXgiCiBtc2dzdHIgIiVz77ya5ZKM57Si5byV5LiN5Yy56YWNIgogCi0jOiBhcHBseS5jOjM1NzUKKyM6IGFwcGx5LmM6MzU3MAogbXNnaWQgInJlcG9zaXRvcnkgbGFja3MgdGhlIG5lY2Vzc2FyeSBibG9iIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgIuS7k+W6k+e8uuS5j+W/heimgeeahOaVsOaNruWvueixoeS7pei/m+ihjOS4ieaWueWQiOW5tuOAgiIKIAotIzogYXBwbHkuYzozNTc4CisjOiBhcHBseS5jOjM1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFsbGluZyBiYWNrIHRvIHRocmVlLXdheSBtZXJnZS4uLlxuIgogbXNnc3RyICLlm57okL3liLDkuInmlrnlkIjlubYuLi5cbiIKIAotIzogYXBwbHkuYzozNTk0IGFwcGx5LmM6MzU5OAorIzogYXBwbHkuYzozNTg5IGFwcGx5LmM6MzU5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCB0aGUgY3VycmVudCBjb250ZW50cyBvZiAnJXMnIgogbXNnc3RyICLml6Dms5Xor7vlj5YgJyVzJyDnmoTlvZPliY3lhoXlrrkiCiAKLSM6IGFwcGx5LmM6MzYxMAorIzogYXBwbHkuYzozNjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBmYWxsIGJhY2sgb24gdGhyZWUtd2F5IG1lcmdlLi4uXG4iCiBtc2dzdHIgIuaXoOazleWbnuiQveWIsOS4ieaWueWQiOW5ti4uLlxuIgogCi0jOiBhcHBseS5jOjM2MjQKKyM6IGFwcGx5LmM6MzYxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgd2l0aCBjb25mbGljdHMuXG4iCiBtc2dzdHIgIuW6lOeUqOihpeS4geWIsCAnJXMnIOWtmOWcqOWGsueqgeOAglxuIgogCi0jOiBhcHBseS5jOjM2MjkKKyM6IGFwcGx5LmM6MzYyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgY2xlYW5seS5cbiIKIG1zZ3N0ciAi5oiQ5Yqf5bqU55So6KGl5LiB5YiwICclcyfjgIJcbiIKIAotIzogYXBwbHkuYzozNjU1CisjOiBhcHBseS5jOjM2NTAKIG1zZ2lkICJyZW1vdmFsIHBhdGNoIGxlYXZlcyBmaWxlIGNvbnRlbnRzIgogbXNnc3RyICLnp7vpmaTooaXkuIHku43nlZnkuIvkuobmlofku7blhoXlrrkiCiAKLSM6IGFwcGx5LmM6MzcyOAorIzogYXBwbHkuYzozNzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgogbXNnc3RyICIlc++8mumUmeivr+exu+WeiyIKIAotIzogYXBwbHkuYzozNzMwCisjOiBhcHBseS5jOjM3MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIHR5cGUgJW8sIGV4cGVjdGVkICVvIgogbXNnc3RyICIlcyDnmoTnsbvlnovmmK8gJW/vvIzlupTkuLogJW8iCiAKLSM6IGFwcGx5LmM6Mzg4MSBhcHBseS5jOjM4ODMKKyM6IGFwcGx5LmM6Mzg3NiBhcHBseS5jOjM4NzggcmVhZC1jYWNoZS5jOjgzMCByZWFkLWNhY2hlLmM6ODU2CisjOiByZWFkLWNhY2hlLmM6MTMyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHBhdGggJyVzJyIKIG1zZ3N0ciAi5peg5pWI6Lev5b6EICclcyciCiAKLSM6IGFwcGx5LmM6MzkzOQorIzogYXBwbHkuYzozOTM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCIKIG1zZ3N0ciAiJXPvvJrlt7Lnu4/lrZjlnKjkuo7ntKLlvJXkuK0iCiAKLSM6IGFwcGx5LmM6Mzk0MgorIzogYXBwbHkuYzozOTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXPvvJrlt7Lnu4/lrZjlnKjkuo7lt6XkvZzljLrkuK0iCiAKLSM6IGFwcGx5LmM6Mzk2MgorIzogYXBwbHkuYzozOTU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBtb2RlICglbykgb2YgJXMgZG9lcyBub3QgbWF0Y2ggb2xkIG1vZGUgKCVvKSIKIG1zZ3N0ciAiJTIkcyDnmoTmlrDmqKHlvI/vvIglMSRv77yJ5ZKM5pen5qih5byP77yIJTMkb++8ieS4jeWMuemFjSIKIAotIzogYXBwbHkuYzozOTY3CisjOiBhcHBseS5jOjM5NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAibmV3IG1vZGUgKCVvKSBvZiAlcyBkb2VzIG5vdCBtYXRjaCBvbGQgbW9kZSAoJW8pIG9mICVzIgogbXNnc3RyICIlMiRzIOeahOaWsOaooeW8j++8iCUxJG/vvInlkowgJTQkcyDnmoTml6fmqKHlvI/vvIglMyRv77yJ5LiN5Yy56YWNIgogCi0jOiBhcHBseS5jOjM5ODcKKyM6IGFwcGx5LmM6Mzk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAi5Y+X5b2x5ZON55qE5paH5Lu2ICclcycg5L2N5LqO56ym5Y+36ZO+5o6l5LitIgogCi0jOiBhcHBseS5jOjM5OTEKKyM6IGFwcGx5LmM6Mzk4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGF0Y2ggZG9lcyBub3QgYXBwbHkiCiBtc2dzdHIgIiVz77ya6KGl5LiB5pyq5bqU55SoIgogCi0jOiBhcHBseS5jOjQwMDYKKyM6IGFwcGx5LmM6NDAwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGVja2luZyBwYXRjaCAlcy4uLiIKLW1zZ3N0ciAi5qOA5p+l6KGl5LiBICVzLi4uIgorbXNnc3RyICLmraPlnKjmo4Dmn6XooaXkuIEgJXMuLi4iCiAKLSM6IGFwcGx5LmM6NDA5OAorIzogYXBwbHkuYzo0MDkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInNoYTEgaW5mb3JtYXRpb24gaXMgbGFja2luZyBvciB1c2VsZXNzIGZvciBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIuWtkOaooee7hCAlcyDnmoQgc2hhMSDkv6Hmga/nvLrlpLHmiJbml6DmlYgiCiAKLSM6IGFwcGx5LmM6NDEwNQorIzogYXBwbHkuYzo0MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vZGUgY2hhbmdlIGZvciAlcywgd2hpY2ggaXMgbm90IGluIGN1cnJlbnQgSEVBRCIKIG1zZ3N0ciAiJXMg55qE5qih5byP5Y+Y5pu077yM5L2G5a6D5LiN5Zyo5b2T5YmNIEhFQUQg5LitIgogCi0jOiBhcHBseS5jOjQxMDgKKyM6IGFwcGx5LmM6NDEwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyAoJXMpLiIKIG1zZ3N0ciAic2hhMSDkv6Hmga/nvLrlpLHmiJbml6DmlYjvvIglc++8ieOAgiIKIAotIzogYXBwbHkuYzo0MTEzIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDQgYnVpbHRpbi9yZXNldC5jOjE0MgotIywgYy1mb3JtYXQKLW1zZ2lkICJtYWtlX2NhY2hlX2VudHJ5IGZhaWxlZCBmb3IgcGF0aCAnJXMnIgotbXNnc3RyICLlr7not6/lvoQgJyVzJyDnmoQgbWFrZV9jYWNoZV9lbnRyeSDmk43kvZzlpLHotKUiCi0KLSM6IGFwcGx5LmM6NDExNworIzogYXBwbHkuYzo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBhZGQgJXMgdG8gdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICLkuI3og73lnKjkuLTml7bntKLlvJXkuK3mt7vliqAgJXMiCiAKLSM6IGFwcGx5LmM6NDEyNworIzogYXBwbHkuYzo0MTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggdG8gJXMiCiBtc2dzdHIgIuS4jeiDveaKiuS4tOaXtue0ouW8leWGmeWFpeWIsCAlcyIKIAotIzogYXBwbHkuYzo0MjY1CisjOiBhcHBseS5jOjQyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlbW92ZSAlcyBmcm9tIGluZGV4IgogbXNnc3RyICLkuI3og73ku47ntKLlvJXkuK3np7vpmaQgJXMiCiAKLSM6IGFwcGx5LmM6NDI5OQorIzogYXBwbHkuYzo0Mjk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKIG1zZ3N0ciAi5a2Q5qih57uEICVzIOaNn+Wdj+eahOihpeS4gSIKIAotIzogYXBwbHkuYzo0MzA1CisjOiBhcHBseS5jOjQzMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgbmV3bHkgY3JlYXRlZCBmaWxlICclcyciCiBtc2dzdHIgIuS4jeiDveWvueaWsOW7uuaWh+S7tiAnJXMnIOiwg+eUqCBzdGF0IgogCi0jOiBhcHBseS5jOjQzMTMKKyM6IGFwcGx5LmM6NDMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGJhY2tpbmcgc3RvcmUgZm9yIG5ld2x5IGNyZWF0ZWQgZmlsZSAlcyIKIG1zZ3N0ciAi5LiN6IO95Li65paw5bu65paH5Lu2ICVzIOWIm+W7uuWQjuerr+WtmOWCqCIKIAotIzogYXBwbHkuYzo0MzE5IGFwcGx5LmM6NDQ2NAorIzogYXBwbHkuYzo0MzE0IGFwcGx5LmM6NDQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYWRkIGNhY2hlIGVudHJ5IGZvciAlcyIKIG1zZ3N0ciAi5peg5rOV5Li6ICVzIOa3u+WKoOe8k+WtmOadoeebriIKIAotIzogYXBwbHkuYzo0MzYyCisjOiBhcHBseS5jOjQzNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHdyaXRlIHRvICclcyciCiBtc2dzdHIgIuWGmeWFpSAnJXMnIOWksei0pSIKIAotIzogYXBwbHkuYzo0MzY2CisjOiBhcHBseS5jOjQzNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2xvc2luZyBmaWxlICclcyciCiBtc2dzdHIgIuWFs+mXreaWh+S7tiAnJXMnIgogCi0jOiBhcHBseS5jOjQ0MzYKKyM6IGFwcGx5LmM6NDQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZmlsZSAnJXMnIG1vZGUgJW8iCiBtc2dzdHIgIuS4jeiDveWGmeaWh+S7tiAnJXMnIOadg+mZkCAlbyIKIAotIzogYXBwbHkuYzo0NTM0CisjOiBhcHBseS5jOjQ1MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBwYXRjaCAlcyBjbGVhbmx5LiIKIG1zZ3N0ciAi5oiQ5Yqf5bqU55So6KGl5LiBICVz44CCIgogCi0jOiBhcHBseS5jOjQ1NDIKKyM6IGFwcGx5LmM6NDUzNwogbXNnaWQgImludGVybmFsIGVycm9yIgogbXNnc3RyICLlhoXpg6jplJnor68iCiAKLSM6IGFwcGx5LmM6NDU0NQorIzogYXBwbHkuYzo0NTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5aW5nIHBhdGNoICUlcyB3aXRoICVkIHJlamVjdC4uLiIKIG1zZ2lkX3BsdXJhbCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0cy4uLiIKIG1zZ3N0clswXSAi5bqU55SoICUlcyDkuKrooaXkuIHvvIzlhbbkuK0gJWQg5Liq6KKr5ouS57udLi4uIgogbXNnc3RyWzFdICLlupTnlKggJSVzIOS4quihpeS4ge+8jOWFtuS4rSAlZCDkuKrooqvmi5Lnu50uLi4iCiAKLSM6IGFwcGx5LmM6NDU1NgorIzogYXBwbHkuYzo0NTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIKIG1zZ3N0ciAi5oiq55+tIC5yZWog5paH5Lu25ZCN5Li6ICUuKnMucmVqIgogCi0jOiBhcHBseS5jOjQ1NjQgYnVpbHRpbi9mZXRjaC5jOjg0MyBidWlsdGluL2ZldGNoLmM6MTEyMgorIzogYXBwbHkuYzo0NTU5IGJ1aWx0aW4vZmV0Y2guYzo5MDEgYnVpbHRpbi9mZXRjaC5jOjExOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJXMiCiBtc2dzdHIgIuS4jeiDveaJk+W8gCAlcyIKIAotIzogYXBwbHkuYzo0NTc4CisjOiBhcHBseS5jOjQ1NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKIG1zZ3N0ciAi56ysICMlZCDkuKrniYfmrrXmiJDlip/lupTnlKjjgIIiCiAKLSM6IGFwcGx5LmM6NDU4MgorIzogYXBwbHkuYzo0NTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlamVjdGVkIGh1bmsgIyVkLiIKIG1zZ3N0ciAi5ouS57ud56ysICMlZCDkuKrniYfmrrXjgIIiCiAKLSM6IGFwcGx5LmM6NDY5MgorIzogYXBwbHkuYzo0Njk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgcGF0Y2ggJyVzJy4iCiBtc2dzdHIgIueVpei/h+ihpeS4gSAnJXMn44CCIgogCi0jOiBhcHBseS5jOjQ3MDAKKyM6IGFwcGx5LmM6NDcwNAogbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKIG1zZ3N0ciAi5pyq6IO96K+G5Yir55qE6L6T5YWlIgogCi0jOiBhcHBseS5jOjQ3MTkKKyM6IGFwcGx5LmM6NDcyNAogbXNnaWQgInVuYWJsZSB0byByZWFkIGluZGV4IGZpbGUiCiBtc2dzdHIgIuaXoOazleivu+WPlue0ouW8leaWh+S7tiIKIAotIzogYXBwbHkuYzo0ODc0CisjOiBhcHBseS5jOjQ4ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3Qgb3BlbiBwYXRjaCAnJXMnOiAlcyIKIG1zZ3N0ciAi5LiN6IO95omT5byA6KGl5LiBICclcyfvvJolcyIKIAotIzogYXBwbHkuYzo0OTAxCisjOiBhcHBseS5jOjQ5MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3IiCiBtc2dpZF9wbHVyYWwgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9ycyIKIG1zZ3N0clswXSAi5oqR5Yi25LiL5LuN5pyJICVkIOS4quepuueZveWtl+espuivr+eUqCIKIG1zZ3N0clsxXSAi5oqR5Yi25LiL5LuN5pyJICVkIOS4quepuueZveWtl+espuivr+eUqCIKIAotIzogYXBwbHkuYzo0OTA3IGFwcGx5LmM6NDkyMgorIzogYXBwbHkuYzo0OTE0IGFwcGx5LmM6NDkyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgogbXNnc3RyWzBdICIlZCDooYzmlrDlop7kuobnqbrnmb3lrZfnrKbor6/nlKjjgIIiCiBtc2dzdHJbMV0gIiVkIOihjOaWsOWinuS6huepuueZveWtl+espuivr+eUqOOAgiIKIAotIzogYXBwbHkuYzo0OTE1CisjOiBhcHBseS5jOjQ5MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQgbGluZSBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCiBtc2dpZF9wbHVyYWwgIiVkIGxpbmVzIGFwcGxpZWQgYWZ0ZXIgZml4aW5nIHdoaXRlc3BhY2UgZXJyb3JzLiIKIG1zZ3N0clswXSAi5L+u5aSN56m655m96ZSZ6K+v5ZCO77yM5bqU55So5LqGICVkIOihjOOAgiIKIG1zZ3N0clsxXSAi5L+u5aSN56m655m96ZSZ6K+v5ZCO77yM5bqU55So5LqGICVkIOihjOOAgiIKIAotIzogYXBwbHkuYzo0OTMxIGJ1aWx0aW4vYWRkLmM6NTM4IGJ1aWx0aW4vbXYuYzozMDAgYnVpbHRpbi9ybS5jOjM4OQorIzogYXBwbHkuYzo0OTM4IGJ1aWx0aW4vYWRkLmM6NTc5IGJ1aWx0aW4vbXYuYzozMDEgYnVpbHRpbi9ybS5jOjM5MAogbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAi5peg5rOV5YaZ5YWl5paw57Si5byV5paH5Lu2IgogCi0jOiBhcHBseS5jOjQ5NTggYXBwbHkuYzo0OTYxIGJ1aWx0aW4vYW0uYzoyMjA5IGJ1aWx0aW4vYW0uYzoyMjEyCi0jOiBidWlsdGluL2Nsb25lLmM6MTIxIGJ1aWx0aW4vZmV0Y2guYzoxMTggYnVpbHRpbi9tZXJnZS5jOjI2MgotIzogYnVpbHRpbi9wdWxsLmM6MTk5IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MDYKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzYyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzY1Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg0NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg0OQotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwODggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKLW1zZ2lkICJwYXRoIgotbXNnc3RyICLot6/lvoQiCi0KLSM6IGFwcGx5LmM6NDk1OQorIzogYXBwbHkuYzo0OTY2CiBtc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKIG1zZ3N0ciAi5LiN6KaB5bqU55So5LiO57uZ5Ye66Lev5b6E5ZCR5Yy56YWN55qE5Y+Y5pu0IgogCi0jOiBhcHBseS5jOjQ5NjIKKyM6IGFwcGx5LmM6NDk2OQogbXNnaWQgImFwcGx5IGNoYW5nZXMgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdGgiCiBtc2dzdHIgIuW6lOeUqOS4jue7meWHuui3r+W+hOWQkeWMuemFjeeahOWPmOabtCIKIAotIzogYXBwbHkuYzo0OTY0IGJ1aWx0aW4vYW0uYzoyMjE4CisjOiBhcHBseS5jOjQ5NzEgYnVpbHRpbi9hbS5jOjIyMDYKIG1zZ2lkICJudW0iCiBtc2dzdHIgIuaVsOWtlyIKIAotIzogYXBwbHkuYzo0OTY1CisjOiBhcHBseS5jOjQ5NzIKIG1zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKIG1zZ3N0ciAi5LuO5Lyg57uf55qEIGRpZmYg6Lev5b6E5Lit56e76Zmk5oyH5a6a5pWw6YeP55qE5YmN5a+85pac57q/IgogCi0jOiBhcHBseS5jOjQ5NjgKKyM6IGFwcGx5LmM6NDk3NQogbXNnaWQgImlnbm9yZSBhZGRpdGlvbnMgbWFkZSBieSB0aGUgcGF0Y2giCiBtc2dzdHIgIuW/veeVpeihpeS4geS4reeahOa3u+WKoOeahOaWh+S7tiIKIAotIzogYXBwbHkuYzo0OTcwCisjOiBhcHBseS5jOjQ5NzcKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGRpZmZzdGF0IGZvciB0aGUgaW5wdXQiCiBtc2dzdHIgIuS4jeW6lOeUqOihpeS4ge+8jOiAjOaYr+aYvuekuui+k+WFpeeahOW3ruW8gue7n+iuoe+8iGRpZmZzdGF077yJIgogCi0jOiBhcHBseS5jOjQ5NzQKKyM6IGFwcGx5LmM6NDk4MQogbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCiBtc2dzdHIgIuS7peWNgei/m+WItuaVsOaYvuekuua3u+WKoOWSjOWIoOmZpOeahOihjOaVsCIKIAotIzogYXBwbHkuYzo0OTc2CisjOiBhcHBseS5jOjQ5ODMKIG1zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgb3V0cHV0IGEgc3VtbWFyeSBmb3IgdGhlIGlucHV0IgogbXNnc3RyICLkuI3lupTnlKjooaXkuIHvvIzogIzmmK/mmL7npLrovpPlhaXnmoTmpoLopoEiCiAKLSM6IGFwcGx5LmM6NDk3OAorIzogYXBwbHkuYzo0OTg1CiBtc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIHNlZSBpZiB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSIKIG1zZ3N0ciAi5LiN5bqU55So6KGl5LiB77yM6ICM5piv5p+l55yL6KGl5LiB5piv5ZCm5Y+v5bqU55SoIgogCi0jOiBhcHBseS5jOjQ5ODAKKyM6IGFwcGx5LmM6NDk4NwogbXNnaWQgIm1ha2Ugc3VyZSB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSB0byB0aGUgY3VycmVudCBpbmRleCIKIG1zZ3N0ciAi56Gu6K6k6KGl5LiB5Y+v5Lul5bqU55So5Yiw5b2T5YmN57Si5byVIgogCi0jOiBhcHBseS5jOjQ5ODIKKyM6IGFwcGx5LmM6NDk4OQogbXNnaWQgIm1hcmsgbmV3IGZpbGVzIHdpdGggYGdpdCBhZGQgLS1pbnRlbnQtdG8tYWRkYCIKIG1zZ3N0ciAi5L2/55So5ZG95LukIGBnaXQgYWRkIC0taW50ZW50LXRvLWFkZGAg5qCH6K6w5paw5aKe5paH5Lu2IgogCi0jOiBhcHBseS5jOjQ5ODQKKyM6IGFwcGx5LmM6NDk5MQogbXNnaWQgImFwcGx5IGEgcGF0Y2ggd2l0aG91dCB0b3VjaGluZyB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICLlupTnlKjooaXkuIHogIzkuI3kv67mlLnlt6XkvZzljLoiCiAKLSM6IGFwcGx5LmM6NDk4NgorIzogYXBwbHkuYzo0OTkzCiBtc2dpZCAiYWNjZXB0IGEgcGF0Y2ggdGhhdCB0b3VjaGVzIG91dHNpZGUgdGhlIHdvcmtpbmcgYXJlYSIKIG1zZ3N0ciAi5o6l5Y+X5L+u5pS55bel5L2c5Yy65LmL5aSW5paH5Lu255qE6KGl5LiBIgogCi0jOiBhcHBseS5jOjQ5ODkKKyM6IGFwcGx5LmM6NDk5NgogbXNnaWQgImFsc28gYXBwbHkgdGhlIHBhdGNoICh1c2Ugd2l0aCAtLXN0YXQvLS1zdW1tYXJ5Ly0tY2hlY2spIgogbXNnc3RyICLov5jlupTnlKjmraTooaXkuIHvvIjkuI4gLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrIOmAiemhueWQjOaXtuS9v+eUqO+8iSIKIAotIzogYXBwbHkuYzo0OTkxCisjOiBhcHBseS5jOjQ5OTgKIG1zZ2lkICJhdHRlbXB0IHRocmVlLXdheSBtZXJnZSBpZiBhIHBhdGNoIGRvZXMgbm90IGFwcGx5IgogbXNnc3RyICLlpoLmnpzkuIDkuKrooaXkuIHkuI3og73lupTnlKjliJnlsJ3or5XkuInmlrnlkIjlubYiCiAKLSM6IGFwcGx5LmM6NDk5MworIzogYXBwbHkuYzo1MDAwCiBtc2dpZCAiYnVpbGQgYSB0ZW1wb3JhcnkgaW5kZXggYmFzZWQgb24gZW1iZWRkZWQgaW5kZXggaW5mb3JtYXRpb24iCiBtc2dzdHIgIuWIm+W7uuS4gOS4quS4tOaXtue0ouW8leWfuuS6juW1jOWFpeeahOe0ouW8leS/oeaBryIKIAotIzogYXBwbHkuYzo0OTk2IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzAgYnVpbHRpbi9scy1maWxlcy5jOjUyMworIzogYXBwbHkuYzo1MDAzIGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzMgYnVpbHRpbi9scy1maWxlcy5jOjUyNAogbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICLot6/lvoTku6UgTlVMIOWtl+espuWIhumalCIKIAotIzogYXBwbHkuYzo0OTk4CisjOiBhcHBseS5jOjUwMDUKIG1zZ2lkICJlbnN1cmUgYXQgbGVhc3QgPG4+IGxpbmVzIG9mIGNvbnRleHQgbWF0Y2giCiBtc2dzdHIgIuehruS/neiHs+WwkeWMuemFjSA8bj4g6KGM5LiK5LiL5paHIgogCi0jOiBhcHBseS5jOjQ5OTkgYnVpbHRpbi9hbS5jOjIxOTcgYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NwotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5OSBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMQotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzEyIGJ1aWx0aW4vcmViYXNlLmM6ODU3CisjOiBhcHBseS5jOjUwMDYgYnVpbHRpbi9hbS5jOjIxODUgYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5OAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDAgYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxMCBidWlsdGluL3JlYmFzZS5jOjE0NzQKIG1zZ2lkICJhY3Rpb24iCiBtc2dzdHIgIuWKqOS9nCIKIAotIzogYXBwbHkuYzo1MDAwCisjOiBhcHBseS5jOjUwMDcKIG1zZ2lkICJkZXRlY3QgbmV3IG9yIG1vZGlmaWVkIGxpbmVzIHRoYXQgaGF2ZSB3aGl0ZXNwYWNlIGVycm9ycyIKIG1zZ3N0ciAi5qOA5p+l5paw5aKe5ZKM5L+u5pS555qE6KGM5Lit6Ze055qE56m655m95a2X56ym5rul55SoIgogCi0jOiBhcHBseS5jOjUwMDMgYXBwbHkuYzo1MDA2CisjOiBhcHBseS5jOjUwMTAgYXBwbHkuYzo1MDEzCiBtc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSB3aGVuIGZpbmRpbmcgY29udGV4dCIKIG1zZ3N0ciAi5p+l5om+5LiK5LiL5paH5pe25b+955Wl56m655m95a2X56ym55qE5Y+Y5pu0IgogCi0jOiBhcHBseS5jOjUwMDkKKyM6IGFwcGx5LmM6NTAxNgogbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgogbXNnc3RyICLlj43lkJHlupTnlKjooaXkuIEiCiAKLSM6IGFwcGx5LmM6NTAxMQorIzogYXBwbHkuYzo1MDE4CiBtc2dpZCAiZG9uJ3QgZXhwZWN0IGF0IGxlYXN0IG9uZSBsaW5lIG9mIGNvbnRleHQiCiBtc2dzdHIgIuaXoOmcgOiHs+WwkeS4gOihjOS4iuS4i+aWhyIKIAotIzogYXBwbHkuYzo1MDEzCisjOiBhcHBseS5jOjUwMjAKIG1zZ2lkICJsZWF2ZSB0aGUgcmVqZWN0ZWQgaHVua3MgaW4gY29ycmVzcG9uZGluZyAqLnJlaiBmaWxlcyIKIG1zZ3N0ciAi5bCG5ouS57ud55qE6KGl5LiB54mH5q615L+d5a2Y5Zyo5a+55bqU55qEICoucmVqIOaWh+S7tuS4rSIKIAotIzogYXBwbHkuYzo1MDE1CisjOiBhcHBseS5jOjUwMjIKIG1zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKIG1zZ3N0ciAi5YWB6K646YeN5Y+g55qE6KGl5LiB54mH5q61IgogCi0jOiBhcHBseS5jOjUwMTYgYnVpbHRpbi9hZGQuYzoyOTAgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMQotIzogYnVpbHRpbi9jb21taXQuYzoxMzA5IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk4IGJ1aWx0aW4vZnNjay5jOjY5OAotIzogYnVpbHRpbi9sb2cuYzoyMDIzIGJ1aWx0aW4vbXYuYzoxMjIgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjcKLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1NworIzogYXBwbHkuYzo1MDIzIGJ1aWx0aW4vYWRkLmM6MzA5IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NSBidWlsdGluL2NvdW50LW9iamVjdHMuYzo5OCBidWlsdGluL2ZzY2suYzo3NzQKKyM6IGJ1aWx0aW4vbG9nLmM6MjE2NiBidWlsdGluL212LmM6MTIzIGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI4CiBtc2dpZCAiYmUgdmVyYm9zZSIKIG1zZ3N0ciAi5YaX6ZW/6L6T5Ye6IgogCi0jOiBhcHBseS5jOjUwMTgKKyM6IGFwcGx5LmM6NTAyNQogbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgogbXNnc3RyICLlhYHorrjkuI3mraPnoa7nmoTmlofku7bmnKvlsL7mjaLooYznrKYiCiAKLSM6IGFwcGx5LmM6NTAyMQorIzogYXBwbHkuYzo1MDI4CiBtc2dpZCAiZG8gbm90IHRydXN0IHRoZSBsaW5lIGNvdW50cyBpbiB0aGUgaHVuayBoZWFkZXJzIgogbXNnc3RyICLkuI3kv6Hku7vooaXkuIHniYfmrrXnmoTlpLTkv6Hmga/kuK3nmoTooYzlj7ciCiAKLSM6IGFwcGx5LmM6NTAyMyBidWlsdGluL2FtLmM6MjIwNgorIzogYXBwbHkuYzo1MDMwIGJ1aWx0aW4vYW0uYzoyMTk0CiBtc2dpZCAicm9vdCIKIG1zZ3N0ciAi5qC555uu5b2VIgogCi0jOiBhcHBseS5jOjUwMjQKKyM6IGFwcGx5LmM6NTAzMQogbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCiBtc2dzdHIgIuS4uuaJgOacieaWh+S7tuWQjeWJjea3u+WKoCA85qC555uu5b2VPiIKIAogIzogYXJjaGl2ZS5jOjE0CiBtc2dpZCAiZ2l0IGFyY2hpdmUgWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKLW1zZ3N0ciAiZ2l0IGFyY2hpdmUgWzzpgInpobk+XSA85qCR5oiW5o+Q5LqkPiBbPOi3r+W+hD4uLi5dIgorbXNnc3RyICJnaXQgYXJjaGl2ZSBbPOmAiemhuT5dIDzmoJHlr7nosaE+IFs86Lev5b6EPi4uLl0iCiAKICM6IGFyY2hpdmUuYzoxNQogbXNnaWQgImdpdCBhcmNoaXZlIC0tbGlzdCIKQEAgLTg2MywxNTQgKzEyOTEsMTc0IEBACiBtc2dpZCAiIgogImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgogbXNnc3RyICIiCi0iZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPOS7k+W6kz4gWy0tZXhlYyA85ZG95LukPl0gWzzpgInpobk+XSA85qCR5oiW5o+Q5LqkPiBbPOi3r+W+hD4uLi5dIgorImdpdCBhcmNoaXZlIC0tcmVtb3RlIDzku5PlupM+IFstLWV4ZWMgPOWRveS7pD5dIFs86YCJ6aG5Pl0gPOagkeWvueixoT4gWzzot6/lvoQ+Li4uXSIKIAogIzogYXJjaGl2ZS5jOjE3CiBtc2dpZCAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPHJlcG8+IFstLWV4ZWMgPGNtZD5dIC0tbGlzdCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmUgLS1yZW1vdGUgPOS7k+W6kz4gWy0tZXhlYyA85ZG95LukPl0gLS1saXN0IgogCi0jOiBhcmNoaXZlLmM6MzcwIGJ1aWx0aW4vYWRkLmM6MTc2IGJ1aWx0aW4vYWRkLmM6NTE0IGJ1aWx0aW4vcm0uYzoyOTgKKyM6IGFyY2hpdmUuYzozNzIgYnVpbHRpbi9hZGQuYzoxODAgYnVpbHRpbi9hZGQuYzo1NTUgYnVpbHRpbi9ybS5jOjI5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGVzIgogbXNnc3RyICLot6/lvoTop4TmoLwgJyVzJyDmnKrljLnphY3ku7vkvZXmlofku7YiCiAKLSM6IGFyY2hpdmUuYzo0NTMKKyM6IGFyY2hpdmUuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gc3VjaCByZWY6ICUuKnMiCittc2dzdHIgIuaXoOatpOW8leeUqO+8miUuKnMiCisKKyM6IGFyY2hpdmUuYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICVzIgorbXNnc3RyICLkuI3mmK/kuIDkuKrmnInmlYjnmoTlr7nosaHlkI3vvJolcyIKKworIzogYXJjaGl2ZS5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSB0cmVlIG9iamVjdDogJXMiCittc2dzdHIgIuS4jeaYr+S4gOS4quagkeWvueixoe+8miVzIgorCisjOiBhcmNoaXZlLmM6NDI2Cittc2dpZCAiY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBpcyB1bnRyYWNrZWQiCittc2dzdHIgIuW9k+WJjeW3peS9nOebruW9leacquiiq+i3n+i4qiIKKworIzogYXJjaGl2ZS5jOjQ1NwogbXNnaWQgImZtdCIKIG1zZ3N0ciAi5qC85byPIgogCi0jOiBhcmNoaXZlLmM6NDUzCisjOiBhcmNoaXZlLmM6NDU3CiBtc2dpZCAiYXJjaGl2ZSBmb3JtYXQiCiBtc2dzdHIgIuW9kuaho+agvOW8jyIKIAotIzogYXJjaGl2ZS5jOjQ1NCBidWlsdGluL2xvZy5jOjE1MzYKKyM6IGFyY2hpdmUuYzo0NTggYnVpbHRpbi9sb2cuYzoxNjUzCiBtc2dpZCAicHJlZml4IgogbXNnc3RyICLliY3nvIAiCiAKLSM6IGFyY2hpdmUuYzo0NTUKKyM6IGFyY2hpdmUuYzo0NTkKIG1zZ2lkICJwcmVwZW5kIHByZWZpeCB0byBlYWNoIHBhdGhuYW1lIGluIHRoZSBhcmNoaXZlIgogbXNnc3RyICLkuLrlvZLmoaPkuK3mr4/kuKrot6/lvoTlkI3liqDkuIrliY3nvIAiCiAKLSM6IGFyY2hpdmUuYzo0NTYgYnVpbHRpbi9ibGFtZS5jOjgyMCBidWlsdGluL2JsYW1lLmM6ODIxIGJ1aWx0aW4vY29uZmlnLmM6MTI5Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxMyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxNSBidWlsdGluL2dyZXAuYzo4ODQKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDQgYnVpbHRpbi9scy1maWxlcy5jOjU1OSBidWlsdGluL2xzLWZpbGVzLmM6NTYyCi0jOiBidWlsdGluL25vdGVzLmM6NDEyIGJ1aWx0aW4vbm90ZXMuYzo1NzUgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjIKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNjIKKyM6IGFyY2hpdmUuYzo0NjAgYnVpbHRpbi9ibGFtZS5jOjg2MSBidWlsdGluL2JsYW1lLmM6ODY1IGJ1aWx0aW4vYmxhbWUuYzo4NjYKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTcgYnVpbHRpbi9jb25maWcuYzoxMjkgYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjIKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY0IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY4IGJ1aWx0aW4vZ3JlcC5jOjg5OQorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwNSBidWlsdGluL2xzLWZpbGVzLmM6NTYwIGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTIgYnVpbHRpbi9ub3Rlcy5jOjU3OCBidWlsdGluL3JlYWQtdHJlZS5jOjEyMworIzogcGFyc2Utb3B0aW9ucy5oOjE5MAogbXNnaWQgImZpbGUiCiBtc2dzdHIgIuaWh+S7tiIKIAotIzogYXJjaGl2ZS5jOjQ1NyBidWlsdGluL2FyY2hpdmUuYzo4OQorIzogYXJjaGl2ZS5jOjQ2MSBidWlsdGluL2FyY2hpdmUuYzo5MAogbXNnaWQgIndyaXRlIHRoZSBhcmNoaXZlIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAi5b2S5qGj5YaZ5YWl5q2k5paH5Lu2IgogCi0jOiBhcmNoaXZlLmM6NDU5CisjOiBhcmNoaXZlLmM6NDYzCiBtc2dpZCAicmVhZCAuZ2l0YXR0cmlidXRlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAi6K+75Y+W5bel5L2c5Yy65Lit55qEIC5naXRhdHRyaWJ1dGVzIgogCi0jOiBhcmNoaXZlLmM6NDYwCisjOiBhcmNoaXZlLmM6NDY0CiBtc2dpZCAicmVwb3J0IGFyY2hpdmVkIGZpbGVzIG9uIHN0ZGVyciIKIG1zZ3N0ciAi5Zyo5qCH5YeG6ZSZ6K+v5LiK5oql5ZGK5b2S5qGj5paH5Lu2IgogCi0jOiBhcmNoaXZlLmM6NDYxCisjOiBhcmNoaXZlLmM6NDY1CiBtc2dpZCAic3RvcmUgb25seSIKIG1zZ3N0ciAi5Y+q5a2Y5YKoIgogCi0jOiBhcmNoaXZlLmM6NDYyCisjOiBhcmNoaXZlLmM6NDY2CiBtc2dpZCAiY29tcHJlc3MgZmFzdGVyIgogbXNnc3RyICLljovnvKnpgJ/luqbmm7Tlv6siCiAKLSM6IGFyY2hpdmUuYzo0NzAKKyM6IGFyY2hpdmUuYzo0NzQKIG1zZ2lkICJjb21wcmVzcyBiZXR0ZXIiCiBtc2dzdHIgIuWOi+e8qeaViOaenOabtOWlvSIKIAotIzogYXJjaGl2ZS5jOjQ3MworIzogYXJjaGl2ZS5jOjQ3NwogbXNnaWQgImxpc3Qgc3VwcG9ydGVkIGFyY2hpdmUgZm9ybWF0cyIKIG1zZ3N0ciAi5YiX5Ye65pSv5oyB55qE5b2S5qGj5qC85byPIgogCi0jOiBhcmNoaXZlLmM6NDc1IGJ1aWx0aW4vYXJjaGl2ZS5jOjkwIGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9jbG9uZS5jOjExNAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NTUKKyM6IGFyY2hpdmUuYzo0NzkgYnVpbHRpbi9hcmNoaXZlLmM6OTEgYnVpbHRpbi9jbG9uZS5jOjExMyBidWlsdGluL2Nsb25lLmM6MTE2CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5MSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NAogbXNnaWQgInJlcG8iCiBtc2dzdHIgIuS7k+W6kyIKIAotIzogYXJjaGl2ZS5jOjQ3NiBidWlsdGluL2FyY2hpdmUuYzo5MQorIzogYXJjaGl2ZS5jOjQ4MCBidWlsdGluL2FyY2hpdmUuYzo5MgogbXNnaWQgInJldHJpZXZlIHRoZSBhcmNoaXZlIGZyb20gcmVtb3RlIHJlcG9zaXRvcnkgPHJlcG8+IgogbXNnc3RyICLku47ov5znqIvku5PlupPvvIg85LuT5bqTPu+8ieaPkOWPluW9kuaho+aWh+S7tiIKIAotIzogYXJjaGl2ZS5jOjQ3NyBidWlsdGluL2FyY2hpdmUuYzo5MiBidWlsdGluL2RpZmZ0b29sLmM6NzE0Ci0jOiBidWlsdGluL25vdGVzLmM6NDk2CisjOiBhcmNoaXZlLmM6NDgxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkzIGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0OTgKIG1zZ2lkICJjb21tYW5kIgogbXNnc3RyICLlkb3ku6QiCiAKLSM6IGFyY2hpdmUuYzo0NzggYnVpbHRpbi9hcmNoaXZlLmM6OTMKKyM6IGFyY2hpdmUuYzo0ODIgYnVpbHRpbi9hcmNoaXZlLmM6OTQKIG1zZ2lkICJwYXRoIHRvIHRoZSByZW1vdGUgZ2l0LXVwbG9hZC1hcmNoaXZlIGNvbW1hbmQiCiBtc2dzdHIgIui/nOeoiyBnaXQtdXBsb2FkLWFyY2hpdmUg5ZG95Luk55qE6Lev5b6EIgogCi0jOiBhcmNoaXZlLmM6NDg1CisjOiBhcmNoaXZlLmM6NDg5CiBtc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1yZW1vdGUiCiBtc2dzdHIgIuacquefpeWPguaVsCAtLXJlbW90ZSIKIAotIzogYXJjaGl2ZS5jOjQ4NworIzogYXJjaGl2ZS5jOjQ5MQogbXNnaWQgIk9wdGlvbiAtLWV4ZWMgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tcmVtb3RlIgogbXNnc3RyICLpgInpobkgLS1leGVjIOWPquiDveWSjCAtLXJlbW90ZSDlkIzml7bkvb/nlKgiCiAKLSM6IGFyY2hpdmUuYzo0ODkKKyM6IGFyY2hpdmUuYzo0OTMKIG1zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLW91dHB1dCIKIG1zZ3N0ciAi5pyq55+l5Y+C5pWwIC0tb3V0cHV0IgogCi0jOiBhcmNoaXZlLmM6NTExCisjOiBhcmNoaXZlLmM6NTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gYXJjaGl2ZSBmb3JtYXQgJyVzJyIKIG1zZ3N0ciAi5pyq55+l5b2S5qGj5qC85byPICclcyciCiAKLSM6IGFyY2hpdmUuYzo1MTgKKyM6IGFyY2hpdmUuYzo1MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXJndW1lbnQgbm90IHN1cHBvcnRlZCBmb3IgZm9ybWF0ICclcyc6IC0lZCIKIG1zZ3N0ciAi5Y+C5pWw5LiN5pSv5oyB5q2k5qC85byPICclcyfvvJotJWQiCiAKLSM6IGFyY2hpdmUtdGFyLmM6MTI1IGFyY2hpdmUtemlwLmM6MzQ1CisjOiBhcmNoaXZlLXRhci5jOjEyNSBhcmNoaXZlLXppcC5jOjM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RyZWFtIGJsb2IgJXMiCiBtc2dzdHIgIuS4jeiDveaJk+W8gOaVsOaNruWvueixoSAlcyIKIAotIzogYXJjaGl2ZS10YXIuYzoyNjAgYXJjaGl2ZS16aXAuYzozNjMKKyM6IGFyY2hpdmUtdGFyLmM6MjY2IGFyY2hpdmUtemlwLmM6MzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGZpbGUgbW9kZTogMCVvIChTSEExOiAlcykiCiBtc2dzdHIgIuS4jeaUr+aMgeeahOaWh+S7tuaooeW8j++8mjAlbyAoU0hBMTogJXMpIgogCi0jOiBhcmNoaXZlLXRhci5jOjI4NyBhcmNoaXZlLXppcC5jOjM1MworIzogYXJjaGl2ZS10YXIuYzoyOTMgYXJjaGl2ZS16aXAuYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJXMiCiBtc2dzdHIgIuS4jeiDveivu+WPliAlcyIKIAotIzogYXJjaGl2ZS10YXIuYzo0NTgKKyM6IGFyY2hpdmUtdGFyLmM6NDY1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBzdGFydCAnJXMnIGZpbHRlciIKIG1zZ3N0ciAi5peg5rOV5ZCv5YqoICclcycg6L+H5ruk5ZmoIgogCi0jOiBhcmNoaXZlLXRhci5jOjQ2MQorIzogYXJjaGl2ZS10YXIuYzo0NjgKIG1zZ2lkICJ1bmFibGUgdG8gcmVkaXJlY3QgZGVzY3JpcHRvciIKIG1zZ3N0ciAi5peg5rOV6YeN5a6a5ZCR5o+P6L+w56ymIgogCi0jOiBhcmNoaXZlLXRhci5jOjQ2OAorIzogYXJjaGl2ZS10YXIuYzo0NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBmaWx0ZXIgcmVwb3J0ZWQgZXJyb3IiCiBtc2dzdHIgIiclcycg6L+H5ruk5Zmo5oql5ZGK5LqG6ZSZ6K+vIgogCi0jOiBhcmNoaXZlLXppcC5jOjMxNAorIzogYXJjaGl2ZS16aXAuYzozMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCBpcyBub3QgdmFsaWQgVVRGLTg6ICVzIgogbXNnc3RyICLot6/lvoTkuI3mmK/mnInmlYjnmoQgVVRGLTjvvJolcyIKIAotIzogYXJjaGl2ZS16aXAuYzozMTgKKyM6IGFyY2hpdmUtemlwLmM6MzIzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggdG9vIGxvbmcgKCVkIGNoYXJzLCBTSEExOiAlcyk6ICVzIgogbXNnc3RyICLot6/lvoTlpKrplb/vvIglZCDlrZfnrKbvvIxTSEEx77yaJXPvvInvvJolcyIKIAotIzogYXJjaGl2ZS16aXAuYzo0NzQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMjQgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMjcKKyM6IGFyY2hpdmUtemlwLmM6NDc5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjMwIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlZmxhdGUgZXJyb3IgKCVkKSIKIG1zZ3N0ciAi5Y6L57yp6ZSZ6K+vICglZCkiCiAKLSM6IGFyY2hpdmUtemlwLmM6NjA5CisjOiBhcmNoaXZlLXppcC5jOjYxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aW1lc3RhbXAgdG9vIGxhcmdlIGZvciB0aGlzIHN5c3RlbTogJTxQUkl1TUFYPiIKIG1zZ3N0ciAi5a+55LqO5pys57O757uf5pe26Ze05oiz5aSq5aSn77yaJTxQUkl1TUFYPiIKQEAgLTEwMjAsNiArMTQ2OCwxMSBAQAogbXNnaWQgIiUuKnMgaXMgbm90IGEgdmFsaWQgYXR0cmlidXRlIG5hbWUiCiBtc2dzdHIgIiUuKnMg5LiN5piv5LiA5Liq5pyJ5pWI55qE5bGe5oCn5ZCNIgogCisjOiBhdHRyLmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbGxvd2VkOiAlczolZCIKK21zZ3N0ciAi5LiN5YWB6K64ICVz77yaJXM6JWQiCisKICM6IGF0dHIuYzo0MDkKIG1zZ2lkICIiCiAiTmVnYXRpdmUgcGF0dGVybnMgYXJlIGlnbm9yZWQgaW4gZ2l0IGF0dHJpYnV0ZXNcbiIKQEAgLTEwMzMsMTcgKzE0ODYsMTcgQEAKIG1zZ2lkICJCYWRseSBxdW90ZWQgY29udGVudCBpbiBmaWxlICclcyc6ICVzIgogbXNnc3RyICLmlofku7YgJyVzJyDljIXlkKvplJnor6/nmoTlvJXnlKjmoLzlvI/vvJolcyIKIAotIzogYmlzZWN0LmM6Njc2CisjOiBiaXNlY3QuYzo2NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2UgY2Fubm90IGJpc2VjdCBtb3JlIVxuIgogbXNnc3RyICLmiJHku6zml6Dms5Xov5vooYzmm7TlpJrnmoTkuozliIbmn6Xmib7vvIFcbiIKIAotIzogYmlzZWN0LmM6NzMwCisjOiBiaXNlY3QuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgY29tbWl0IG5hbWUgJXMiCiBtc2dzdHIgIuS4jeaYr+S4gOS4quacieaViOeahOaPkOS6pOWQjSAlcyIKIAotIzogYmlzZWN0LmM6NzU0CisjOiBiaXNlY3QuYzo3NTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBtZXJnZSBiYXNlICVzIGlzIGJhZC5cbiIKQEAgLTEwNTIsNyArMTUwNSw3IEBACiAi5ZCI5bm25Z+657q/ICVzIOaYr+Wdj+eahOOAglxuIgogIui/meaEj+WRs+edgOS7i+S6jiAlcyDlkowgWyVzXSDkuYvpl7TnmoQgYnVnIOW3sue7j+iiq+S/ruWkjeOAglxuIgogCi0jOiBiaXNlY3QuYzo3NTkKKyM6IGJpc2VjdC5jOjc2MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIG1lcmdlIGJhc2UgJXMgaXMgbmV3LlxuIgpAQCAtMTA2MSw3ICsxNTE0LDcgQEAKICLlkIjlubbln7rnur8gJXMg5piv5paw55qE44CCXG4iCiAi5LuL5LqOICVzIOWSjCBbJXNdIOS5i+mXtOeahOWxnuaAp+W3sue7j+iiq+S/ruaUueOAglxuIgogCi0jOiBiaXNlY3QuYzo3NjQKKyM6IGJpc2VjdC5jOjc2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIG1lcmdlIGJhc2UgJXMgaXMgJXMuXG4iCkBAIC0xMDcwLDcgKzE1MjMsNyBAQAogIuWQiOW5tuWfuue6vyAlcyDmmK8gJXPjgIJcbiIKICLov5nmhI/lkbPnnYDnrKzkuIDkuKogJyVzJyDmj5DkuqTkvY3kuo4gJXMg5ZKMIFslc10g5LmL6Ze044CCXG4iCiAKLSM6IGJpc2VjdC5jOjc3MgorIzogYmlzZWN0LmM6Nzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJTb21lICVzIHJldnMgYXJlIG5vdCBhbmNlc3RvcnMgb2YgdGhlICVzIHJldi5cbiIKQEAgLTEwODEsNyArMTUzNCw3IEBACiAi6L+Z56eN5oOF5Ya15LiLIGdpdCDkuozliIbmn6Xmib7ml6Dms5XmraPluLjlt6XkvZzjgIJcbiIKICLmgqjlj6/og73lvITplJnkuoYgJXMg5ZKMICVzIOeJiOacrO+8n1xuIgogCi0jOiBiaXNlY3QuYzo3ODUKKyM6IGJpc2VjdC5jOjc4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidGhlIG1lcmdlIGJhc2UgYmV0d2VlbiAlcyBhbmQgWyVzXSBtdXN0IGJlIHNraXBwZWQuXG4iCkBAIC0xMDkyLDIyICsxNTQ1LDIyIEBACiAi5omA5Lul5oiR5Lus5peg5rOV56Gu6K6k56ys5LiA5LiqICVzIOaPkOS6pOaYr+WQpuS7i+S6jiAlcyDlkowgJXMg5LmL6Ze044CCXG4iCiAi5oiR5Lus5LuN5pen57un57ut44CCIgogCi0jOiBiaXNlY3QuYzo4MTgKKyM6IGJpc2VjdC5jOjgyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJCaXNlY3Rpbmc6IGEgbWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZFxuIgogbXNnc3RyICLkuozliIbmn6Xmib7kuK3vvJrlkIjlubbln7rnur/lv4XpobvmmK/nu4/ov4fmtYvor5XnmoRcbiIKIAotIzogYmlzZWN0LmM6ODU4CisjOiBiaXNlY3QuYzo4NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYSAlcyByZXZpc2lvbiBpcyBuZWVkZWQiCiBtc2dzdHIgIumcgOimgeS4gOS4qiAlcyDniYjmnKwiCiAKLSM6IGJpc2VjdC5jOjg3NyBidWlsdGluL25vdGVzLmM6MTc3IGJ1aWx0aW4vdGFnLmM6MjM3CisjOiBiaXNlY3QuYzo4ODQgYnVpbHRpbi9ub3Rlcy5jOjE3NyBidWlsdGluL3RhZy5jOjI1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95Yib5bu65paH5Lu2ICclcyciCiAKLSM6IGJpc2VjdC5jOjkyOCBidWlsdGluL21lcmdlLmM6MTM4CisjOiBiaXNlY3QuYzo5MjggYnVpbHRpbi9tZXJnZS5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBmaWxlICclcyciCiBtc2dzdHIgIuS4jeiDveivu+WPluaWh+S7tiAnJXMnIgpAQCAtMTE0Nyw0MiArMTYwMCw0MiBAQAogbXNnc3RyWzBdICLkuozliIbmn6Xmib7kuK3vvJrlnKjmraTkuYvlkI7vvIzov5jliakgJWQg5Liq54mI5pys5b6F5rWL6K+VICVzXG4iCiBtc2dzdHJbMV0gIuS6jOWIhuafpeaJvuS4re+8muWcqOatpOS5i+WQju+8jOi/mOWJqSAlZCDkuKrniYjmnKzlvoXmtYvor5UgJXNcbiIKIAotIzogYmxhbWUuYzoxNzg3CisjOiBibGFtZS5jOjI3MDAKIG1zZ2lkICItLWNvbnRlbnRzIGFuZCAtLXJldmVyc2UgZG8gbm90IGJsZW5kIHdlbGwuIgogbXNnc3RyICItLWNvbnRlbnRzIOWSjCAtLXJldmVyc2Ug5LiN6IO95re355So44CCIgogCi0jOiBibGFtZS5jOjE4MDEKKyM6IGJsYW1lLmM6MjcxNAogbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKIG1zZ3N0ciAi5LiN6IO95bCGIC0tY29udGVudHMg5ZKM5pyA57uI55qE5o+Q5Lqk5a+56LGh5ZCN5YWx55SoIgogCi0jOiBibGFtZS5jOjE4MjIKKyM6IGJsYW1lLmM6MjczNQogbXNnaWQgIi0tcmV2ZXJzZSBhbmQgLS1maXJzdC1wYXJlbnQgdG9nZXRoZXIgcmVxdWlyZSBzcGVjaWZpZWQgbGF0ZXN0IGNvbW1pdCIKIG1zZ3N0ciAiLS1yZXZlcnNlIOWSjCAtLWZpcnN0LXBhcmVudCDlhbHnlKjvvIzpnIDopoHmjIflrprmnIDmlrDnmoTmj5DkuqQiCiAKLSM6IGJsYW1lLmM6MTgzMSBidW5kbGUuYzoxNjIgcmVmLWZpbHRlci5jOjIwNDYgc2VxdWVuY2VyLmM6MTk2MwotIzogc2VxdWVuY2VyLmM6NDAwMiBidWlsdGluL2NvbW1pdC5jOjEwMDEgYnVpbHRpbi9sb2cuYzozNzcgYnVpbHRpbi9sb2cuYzo5MzIKLSM6IGJ1aWx0aW4vbG9nLmM6MTQwNyBidWlsdGluL2xvZy5jOjE3ODMgYnVpbHRpbi9sb2cuYzoyMDcyIGJ1aWx0aW4vbWVyZ2UuYzo0MDYKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzEzNyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxNTIKKyM6IGJsYW1lLmM6Mjc0NCBidW5kbGUuYzoxNjcgcmVmLWZpbHRlci5jOjIyMDMgcmVtb3RlLmM6MTk0MSBzZXF1ZW5jZXIuYzoyMDkzCisjOiBzZXF1ZW5jZXIuYzo0NDYwIGJ1aWx0aW4vY29tbWl0LmM6MTA0MCBidWlsdGluL2xvZy5jOjM4OCBidWlsdGluL2xvZy5jOjk5MQorIzogYnVpbHRpbi9sb2cuYzoxNTIwIGJ1aWx0aW4vbG9nLmM6MTkyNSBidWlsdGluL2xvZy5jOjIyMTUgYnVpbHRpbi9tZXJnZS5jOjQxMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTI4IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE0MwogIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE5MgogbXNnaWQgInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIgogbXNnc3RyICLniYjmnKzpgY3ljoborr7nva7lpLHotKUiCiAKLSM6IGJsYW1lLmM6MTg0OQorIzogYmxhbWUuYzoyNzYyCiBtc2dpZCAiIgogIi0tcmV2ZXJzZSAtLWZpcnN0LXBhcmVudCB0b2dldGhlciByZXF1aXJlIHJhbmdlIGFsb25nIGZpcnN0LXBhcmVudCBjaGFpbiIKIG1zZ3N0ciAiLS1yZXZlcnNlIOWSjCAtLWZpcnN0LXBhcmVudCDlhbHnlKjvvIzpnIDopoHnrKzkuIDnpZblhYjpk77kuIrnmoTmj5DkuqTojIPlm7QiCiAKLSM6IGJsYW1lLmM6MTg2MAorIzogYmxhbWUuYzoyNzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKIG1zZ3N0ciAi5ZyoICUyJHMg5Lit5peg5q2k6Lev5b6EICUxJHMiCiAKLSM6IGJsYW1lLmM6MTg3MQorIzogYmxhbWUuYzoyNzg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkIGJsb2IgJXMgZm9yIHBhdGggJXMiCiBtc2dzdHIgIuS4jeiDveS4uui3r+W+hCAlMiRzIOivu+WPluaVsOaNruWvueixoSAlMSRzIgogCi0jOiBicmFuY2guYzo1MgorIzogYnJhbmNoLmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTE5NCw4NSArMTY0Nyw4NSBAQAogIuWcqOS/ruWkjemUmeivr+WQju+8jOaCqOWPr+S7peWwneivleS/ruaUuei/nOeoi+i3n+i4quWIhuaUr++8jOmAmui/h+aJp+ihjOWRveS7pFxuIgogIlwiZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10bz0lcyVzJXNcIiDjgIIiCiAKLSM6IGJyYW5jaC5jOjY2CisjOiBicmFuY2guYzo2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3Qgc2V0dGluZyBicmFuY2ggJXMgYXMgaXRzIG93biB1cHN0cmVhbS4iCiBtc2dzdHIgIuacquiuvue9ruWIhuaUryAlcyDkvZzkuLrlroPoh6rlt7HnmoTkuIrmuLjjgIIiCiAKLSM6IGJyYW5jaC5jOjkyCisjOiBicmFuY2guYzo5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgcmVtb3RlIGJyYW5jaCAnJXMnIGZyb20gJyVzJyBieSByZWJhc2luZy4iCiBtc2dzdHIgIuWIhuaUryAnJTEkcycg6K6+572u5Li65L2/55So5Y+Y5Z+65p2l6Lef6Liq5p2l6IeqICclMyRzJyDnmoTov5znqIvliIbmlK8gJyUyJHMn44CCIgogCi0jOiBicmFuY2guYzo5MworIzogYnJhbmNoLmM6OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJyVzJyBmcm9tICclcycuIgogbXNnc3RyICLliIbmlK8gJyUxJHMnIOiuvue9ruS4uui3n+i4quadpeiHqiAnJTMkcycg55qE6L+c56iL5YiG5pSvICclMiRzJ+OAgiIKIAotIzogYnJhbmNoLmM6OTcKKyM6IGJyYW5jaC5jOjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayBsb2NhbCBicmFuY2ggJyVzJyBieSByZWJhc2luZy4iCiBtc2dzdHIgIuWIhuaUryAnJXMnIOiuvue9ruS4uuS9v+eUqOWPmOWfuuadpei3n+i4quacrOWcsOWIhuaUryAnJXMn44CCIgogCi0jOiBicmFuY2guYzo5OAorIzogYnJhbmNoLmM6OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIGJyYW5jaCAnJXMnLiIKIG1zZ3N0ciAi5YiG5pSvICclcycg6K6+572u5Li66Lef6Liq5pys5Zyw5YiG5pSvICclcyfjgIIiCiAKLSM6IGJyYW5jaC5jOjEwMworIzogYnJhbmNoLmM6MTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgcmVmICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICLliIbmlK8gJyVzJyDorr7nva7kuLrkvb/nlKjlj5jln7rmnaXot5/ouKrov5znqIvlvJXnlKggJyVzJ+OAgiIKIAotIzogYnJhbmNoLmM6MTA0CisjOiBicmFuY2guYzoxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSByZWYgJyVzJy4iCiBtc2dzdHIgIuWIhuaUryAnJXMnIOiuvue9ruS4uui3n+i4qui/nOeoi+W8leeUqCAnJXMn44CCIgogCi0jOiBicmFuY2guYzoxMDgKKyM6IGJyYW5jaC5jOjEwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgcmVmICclcycgYnkgcmViYXNpbmcuIgogbXNnc3RyICLliIbmlK8gJyVzJyDorr7nva7kuLrkvb/nlKjlj5jln7rmnaXot5/ouKrmnKzlnLDlvJXnlKggJyVzJ+OAgiIKIAotIzogYnJhbmNoLmM6MTA5CisjOiBicmFuY2guYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIHJlZiAnJXMnLiIKIG1zZ3N0ciAi5YiG5pSvICclcycg6K6+572u5Li66Lef6Liq5pys5Zyw5byV55SoICclcyfjgIIiCiAKLSM6IGJyYW5jaC5jOjExOAorIzogYnJhbmNoLmM6MTE5CiBtc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHVwc3RyZWFtIGJyYW5jaCBjb25maWd1cmF0aW9uIgogbXNnc3RyICLml6Dms5XlhpnlhaXkuIrmuLjliIbmlK/phY3nva4iCiAKLSM6IGJyYW5jaC5jOjE1NQorIzogYnJhbmNoLmM6MTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCB0cmFja2luZzogYW1iaWd1b3VzIGluZm9ybWF0aW9uIGZvciByZWYgJXMiCiBtc2dzdHIgIuacqui3n+i4qu+8muW8leeUqCAlcyDmnInmrafkuYkiCiAKLSM6IGJyYW5jaC5jOjE4OAorIzogYnJhbmNoLmM6MTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgYnJhbmNoIG5hbWUuIgogbXNnc3RyICInJXMnIOS4jeaYr+S4gOS4quacieaViOeahOWIhuaUr+WQjeensOOAgiIKIAotIzogYnJhbmNoLmM6MjA3CisjOiBicmFuY2guYzoyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQSBicmFuY2ggbmFtZWQgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgIuS4gOS4quWIhuaUr+WQjSAnJXMnIOW3sue7j+WtmOWcqOOAgiIKIAotIzogYnJhbmNoLmM6MjEyCisjOiBicmFuY2guYzoyMTMKIG1zZ2lkICJDYW5ub3QgZm9yY2UgdXBkYXRlIHRoZSBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIuaXoOazleW8uuWItuabtOaWsOW9k+WJjeWIhuaUr+OAgiIKIAotIzogYnJhbmNoLmM6MjMyCisjOiBicmFuY2guYzoyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHNldHVwIHRyYWNraW5nIGluZm9ybWF0aW9uOyBzdGFydGluZyBwb2ludCAnJXMnIGlzIG5vdCBhIGJyYW5jaC4iCiBtc2dzdHIgIuaXoOazleiuvue9rui3n+i4quS/oeaBr++8m+i1t+Wni+eCuSAnJXMnIOS4jeaYr+S4gOS4quWIhuaUr+OAgiIKIAotIzogYnJhbmNoLmM6MjM0CisjOiBicmFuY2guYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIHJlcXVlc3RlZCB1cHN0cmVhbSBicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi6K+35rGC55qE5LiK5ri45YiG5pSvICclcycg5LiN5a2Y5ZyoIgogCi0jOiBicmFuY2guYzoyMzYKKyM6IGJyYW5jaC5jOjIzNwogbXNnaWQgIiIKICJcbiIKICJJZiB5b3UgYXJlIHBsYW5uaW5nIG9uIGJhc2luZyB5b3VyIHdvcmsgb24gYW4gdXBzdHJlYW1cbiIKQEAgLTEyOTAsMjcgKzE3NDMsMjcgQEAKICLlpoLmnpzmgqjmraPorqHliJLmjqjpgIHkuIDkuKrog73kuI7lr7nlupTov5znqIvliIbmlK/lu7rnq4vot5/ouKrnmoTmlrDnmoTmnKzlnLDliIbmlK/vvIxcbiIKICLmgqjlj6/og73pnIDopoHkvb/nlKggXCJnaXQgcHVzaCAtdVwiIOaOqOmAgeWIhuaUr+W5tumFjee9ruWSjOS4iua4uOeahOWFs+iBlOOAgiIKIAotIzogYnJhbmNoLmM6Mjc5CisjOiBicmFuY2guYzoyODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICLkuI3mmK/kuIDkuKrmnInmlYjnmoTlr7nosaHlkI3vvJonJXMn44CCIgogCi0jOiBicmFuY2guYzoyOTkKKyM6IGJyYW5jaC5jOjMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJBbWJpZ3VvdXMgb2JqZWN0IG5hbWU6ICclcycuIgogbXNnc3RyICLmrafkuYnnmoTlr7nosaHlkI3vvJonJXMn44CCIgogCi0jOiBicmFuY2guYzozMDQKKyM6IGJyYW5jaC5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3QgYSB2YWxpZCBicmFuY2ggcG9pbnQ6ICclcycuIgogbXNnc3RyICLml6DmlYjnmoTliIbmlK/ngrnvvJonJXMn44CCIgogCi0jOiBicmFuY2guYzozNTgKKyM6IGJyYW5jaC5jOjM2NAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgY2hlY2tlZCBvdXQgYXQgJyVzJyIKIG1zZ3N0ciAiJyVzJyDlt7Lnu4/mo4Dlh7rliLAgJyVzJyIKIAotIzogYnJhbmNoLmM6MzgxCisjOiBicmFuY2guYzozODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSEVBRCBvZiB3b3JraW5nIHRyZWUgJXMgaXMgbm90IHVwZGF0ZWQiCiBtc2dzdHIgIuW3peS9nOWMuiAlcyDnmoQgSEVBRCDmjIflkJHmsqHmnInooqvmm7TmlrAiCkBAIC0xMzI1LDcwICsxNzc4LDc0IEBACiBtc2dpZCAidW5yZWNvZ25pemVkIGhlYWRlcjogJXMlcyAoJWQpIgogbXNnc3RyICLmnKrog73or4bliKvnmoTljIXlpLTvvJolcyVzICglZCkiCiAKLSM6IGJ1bmRsZS5jOjkwIHJlcmVyZS5jOjQ4MCByZXJlcmUuYzo2OTAgc2VxdWVuY2VyLmM6MjE4MiBzZXF1ZW5jZXIuYzoyNzIyCi0jOiBidWlsdGluL2NvbW1pdC5jOjc3NAorIzogYnVuZGxlLmM6OTAgcmVyZXJlLmM6NDgwIHJlcmVyZS5jOjY5MCBzZXF1ZW5jZXIuYzoyMzQ0IHNlcXVlbmNlci5jOjMxMDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcyciCiBtc2dzdHIgIuS4jeiDveaJk+W8gCAnJXMnIgogCi0jOiBidW5kbGUuYzoxNDEKKyM6IGJ1bmRsZS5jOjE0MwogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgdGhlc2UgcHJlcmVxdWlzaXRlIGNvbW1pdHM6IgogbXNnc3RyICLku5PlupPkuK3nvLrlsJHov5nkupvlv4XlpIfnmoTmj5DkuqTvvJoiCiAKLSM6IGJ1bmRsZS5jOjE5MgorIzogYnVuZGxlLmM6MTQ2Cittc2dpZCAibmVlZCBhIHJlcG9zaXRvcnkgdG8gdmVyaWZ5IGEgYnVuZGxlIgorbXNnc3RyICLpnIDopoHkuIDkuKrku5PlupPmnaXmoKHpqozkuIDkuKrljIUiCisKKyM6IGJ1bmRsZS5jOjE5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoaXMgcmVmOiIKIG1zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSBjb250YWlucyB0aGVzZSAlZCByZWZzOiIKIG1zZ3N0clswXSAi6L+Z5Liq5YyF5Lit5ZCr5pyJ6L+Z5Liq5byV55So77yaIgogbXNnc3RyWzFdICLov5nkuKrljIXkuK3lkKvmnIkgJWQg5Liq5byV55So77yaIgogCi0jOiBidW5kbGUuYzoxOTkKKyM6IGJ1bmRsZS5jOjIwNAogbXNnaWQgIlRoZSBidW5kbGUgcmVjb3JkcyBhIGNvbXBsZXRlIGhpc3RvcnkuIgogbXNnc3RyICLov5nkuKrljIXorrDlvZXkuIDkuKrlrozmlbTljoblj7LjgIIiCiAKLSM6IGJ1bmRsZS5jOjIwMQorIzogYnVuZGxlLmM6MjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhpcyByZWY6IgogbXNnaWRfcGx1cmFsICJUaGUgYnVuZGxlIHJlcXVpcmVzIHRoZXNlICVkIHJlZnM6IgogbXNnc3RyWzBdICLov5nkuKrljIXpnIDopoHov5nkuKrlvJXnlKjvvJoiCiBtc2dzdHJbMV0gIui/meS4quWMhemcgOimgSAlZCDkuKrlvJXnlKjvvJoiCiAKLSM6IGJ1bmRsZS5jOjI2NworIzogYnVuZGxlLmM6MjczCiBtc2dpZCAidW5hYmxlIHRvIGR1cCBidW5kbGUgZGVzY3JpcHRvciIKIG1zZ3N0ciAi5peg5rOV5aSN5Yi2IGJ1bmRsZSDmj4/ov7DnrKYiCiAKLSM6IGJ1bmRsZS5jOjI3NAorIzogYnVuZGxlLmM6MjgwCiBtc2dpZCAiQ291bGQgbm90IHNwYXduIHBhY2stb2JqZWN0cyIKIG1zZ3N0ciAi5LiN6IO955Sf5oiQIHBhY2stb2JqZWN0cyDov5vnqIsiCiAKLSM6IGJ1bmRsZS5jOjI4NQorIzogYnVuZGxlLmM6MjkxCiBtc2dpZCAicGFjay1vYmplY3RzIGRpZWQiCiBtc2dzdHIgInBhY2stb2JqZWN0cyDnu4jmraIiCiAKLSM6IGJ1bmRsZS5jOjMyNworIzogYnVuZGxlLmM6MzMzCiBtc2dpZCAicmV2LWxpc3QgZGllZCIKIG1zZ3N0ciAicmV2LWxpc3Qg57uI5q2iIgogCi0jOiBidW5kbGUuYzozNzYKKyM6IGJ1bmRsZS5jOjM4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWYgJyVzJyBpcyBleGNsdWRlZCBieSB0aGUgcmV2LWxpc3Qgb3B0aW9ucyIKIG1zZ3N0ciAi5byV55SoICclcycg6KKrIHJldi1saXN0IOmAiemhueaOkumZpCIKIAotIzogYnVuZGxlLmM6NDU2IGJ1aWx0aW4vbG9nLmM6MTkyIGJ1aWx0aW4vbG9nLmM6MTY4OCBidWlsdGluL3Nob3J0bG9nLmM6MzA0CisjOiBidW5kbGUuYzo0NjEgYnVpbHRpbi9sb2cuYzoyMDMgYnVpbHRpbi9sb2cuYzoxODE0IGJ1aWx0aW4vc2hvcnRsb2cuYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAi5pyq6IO96K+G5Yir55qE5Y+C5pWw77yaJXMiCiAKLSM6IGJ1bmRsZS5jOjQ2NAorIzogYnVuZGxlLmM6NDY5CiBtc2dpZCAiUmVmdXNpbmcgdG8gY3JlYXRlIGVtcHR5IGJ1bmRsZS4iCiBtc2dzdHIgIuS4jeiDveWIm+W7uuepuuWMheOAgiIKIAotIzogYnVuZGxlLmM6NDc0CisjOiBidW5kbGUuYzo0NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSAnJXMnIgogbXNnc3RyICLkuI3og73liJvlu7ogJyVzJyIKIAotIzogYnVuZGxlLmM6NDk4CisjOiBidW5kbGUuYzo1MDQKIG1zZ2lkICJpbmRleC1wYWNrIGRpZWQiCiBtc2dzdHIgImluZGV4LXBhY2sg57uI5q2iIgogCkBAIC0xMzk3LDE0ICsxODU0LDEzIEBACiBtc2dpZCAiaW52YWxpZCBjb2xvciB2YWx1ZTogJS4qcyIKIG1zZ3N0ciAi5peg5pWI55qE6aKc6Imy5YC877yaJS4qcyIKIAotIzogY29tbWl0LmM6NTAgc2VxdWVuY2VyLmM6MjUyOCBidWlsdGluL2FtLmM6MzcwIGJ1aWx0aW4vYW0uYzo0MTQKLSM6IGJ1aWx0aW4vYW0uYzoxMzkwIGJ1aWx0aW4vYW0uYzoyMDI1IGJ1aWx0aW4vcmVwbGFjZS5jOjM3NgotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQ4CisjOiBjb21taXQuYzo1MSBzZXF1ZW5jZXIuYzoyODExIGJ1aWx0aW4vYW0uYzozNTQgYnVpbHRpbi9hbS5jOjM5OAorIzogYnVpbHRpbi9hbS5jOjEzNjYgYnVpbHRpbi9hbS5jOjIwMDkgYnVpbHRpbi9yZXBsYWNlLmM6NDU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyIKIG1zZ3N0ciAi5LiN6IO96Kej5p6QICVzIgogCi0jOiBjb21taXQuYzo1MgorIzogY29tbWl0LmM6NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiJXMgJXMg5LiN5piv5LiA5Liq5o+Q5Lqk77yBIgpAQCAtMTQyOSwyNyArMTg4NSwyNyBAQAogIuiuvue9riBcImdpdCBjb25maWcgYWR2aWNlLmdyYWZ0RmlsZURlcHJlY2F0ZWQgZmFsc2VcIlxuIgogIuWPr+WFs+mXreacrOa2iOaBryIKIAotIzogY29tbWl0LmM6MTExNQorIzogY29tbWl0LmM6MTE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlLCBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICLmj5DkuqQgJXMg5pyJ5LiA5Liq6Z2e5Y+v5L+h55qE5aOw56ew5p2l6IeqICVzIOeahCBHUEcg562+5ZCN44CCIgogCi0jOiBjb21taXQuYzoxMTE4CisjOiBjb21taXQuYzoxMTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBoYXMgYSBiYWQgR1BHIHNpZ25hdHVyZSBhbGxlZ2VkbHkgYnkgJXMuIgogbXNnc3RyICLmj5DkuqQgJXMg5pyJ5LiA5Liq6ZSZ6K+v55qE5aOw56ew5p2l6IeqICVzIOeahCBHUEcg562+5ZCN44CCIgogCi0jOiBjb21taXQuYzoxMTIxCisjOiBjb21taXQuYzoxMTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIGEgR1BHIHNpZ25hdHVyZS4iCiBtc2dzdHIgIuaPkOS6pCAlcyDmsqHmnIkgR1BHIOetvuWQjeOAgiIKIAotIzogY29tbWl0LmM6MTEyNAorIzogY29tbWl0LmM6MTE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb21taXQgJXMgaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIGJ5ICVzXG4iCiBtc2dzdHIgIuaPkOS6pCAlcyDmnInkuIDkuKrmnaXoh6ogJXMg55qE5aW955qEIEdQRyDnrb7lkI3jgIJcbiIKIAotIzogY29tbWl0LmM6MTM3OAorIzogY29tbWl0LmM6MTQxNQogbXNnaWQgIiIKICJXYXJuaW5nOiBjb21taXQgbWVzc2FnZSBkaWQgbm90IGNvbmZvcm0gdG8gVVRGLTguXG4iCiAiWW91IG1heSB3YW50IHRvIGFtZW5kIGl0IGFmdGVyIGZpeGluZyB0aGUgbWVzc2FnZSwgb3Igc2V0IHRoZSBjb25maWdcbiIKQEAgLTE0NTksOTUgKzE5MTUsMjYyIEBACiAi5oKo5Y+v5Lul6YCa6L+H5L+u6KGl5o+Q5Lqk5p2l5pS55q2j5o+Q5Lqk6K+05piO77yM5oiW6ICF5bCG6YWN572u5Y+Y6YePIGkxOG4uY29tbWl0ZW5jb2RpbmdcbiIKICLorr7nva7kuLrmgqjpobnnm67miYDnlKjnmoTlrZfnrKbnvJbnoIHjgIJcbiIKIAotIzogY29tbWl0LWdyYXBoLmM6MTA4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImdyYXBoIGZpbGUgJXMgaXMgdG9vIHNtYWxsIgotbXNnc3RyICLlm77lvaLmlofku7YgJXMg5aSq5bCPIgorIzogY29tbWl0LWdyYXBoLmM6MTMwCittc2dpZCAiY29tbWl0LWdyYXBoIGZpbGUgaXMgdG9vIHNtYWxsIgorbXNnc3RyICLmj5DkuqTlm77lvaLmlofku7blpKrlsI8iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjExNQorIzogY29tbWl0LWdyYXBoLmM6MTk1CiAjLCBjLWZvcm1hdAotbXNnaWQgImdyYXBoIHNpZ25hdHVyZSAlWCBkb2VzIG5vdCBtYXRjaCBzaWduYXR1cmUgJVgiCi1tc2dzdHIgIuWbvuW9ouetvuWQjSAlWCDlkoznrb7lkI0gJVgg5LiN5Yy56YWNIgorbXNnaWQgImNvbW1pdC1ncmFwaCBzaWduYXR1cmUgJVggZG9lcyBub3QgbWF0Y2ggc2lnbmF0dXJlICVYIgorbXNnc3RyICLmj5DkuqTlm77lvaLnrb7lkI0gJVgg5ZKM562+5ZCNICVYIOS4jeWMuemFjSIKIAotIzogY29tbWl0LWdyYXBoLmM6MTIyCisjOiBjb21taXQtZ3JhcGguYzoyMDIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZ3JhcGggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIgotbXNnc3RyICLlm77lvaLniYjmnKwgJVgg5ZKM54mI5pysICVYIOS4jeWMuemFjSIKK21zZ2lkICJjb21taXQtZ3JhcGggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIgorbXNnc3RyICLmj5DkuqTlm77lvaLniYjmnKwgJVgg5ZKM54mI5pysICVYIOS4jeWMuemFjSIKIAotIzogY29tbWl0LWdyYXBoLmM6MTI5CisjOiBjb21taXQtZ3JhcGguYzoyMDkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaGFzaCB2ZXJzaW9uICVYIGRvZXMgbm90IG1hdGNoIHZlcnNpb24gJVgiCi1tc2dzdHIgIuaVo+WIl+eJiOacrCAlWCDlkozniYjmnKwgJVgg5LiN5Yy56YWNIgorbXNnaWQgImNvbW1pdC1ncmFwaCBoYXNoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKK21zZ3N0ciAi5o+Q5Lqk5Zu+5b2i5ZOI5biM54mI5pysICVYIOWSjOeJiOacrCAlWCDkuI3ljLnphY0iCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjE1MworIzogY29tbWl0LWdyYXBoLmM6MjMyCittc2dpZCAiY29tbWl0LWdyYXBoIGNodW5rIGxvb2t1cCB0YWJsZSBlbnRyeSBtaXNzaW5nOyBmaWxlIG1heSBiZSBpbmNvbXBsZXRlIgorbXNnc3RyICLmj5DkuqTlm77lvaLlnZfmn6Xmib7ooajmnaHnm67kuKLlpLHvvIzmlofku7blj6/og73kuI3lrozmlbQiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjI0MwogIywgYy1mb3JtYXQKLW1zZ2lkICJpbXByb3BlciBjaHVuayBvZmZzZXQgJTA4eCUwOHgiCi1tc2dzdHIgIuS4jeato+ehrueahOWdl+WBj+enuyAlMDh4JTA4eCIKK21zZ2lkICJjb21taXQtZ3JhcGggaW1wcm9wZXIgY2h1bmsgb2Zmc2V0ICUwOHglMDh4IgorbXNnc3RyICLmj5DkuqTlm77lvaLkuI3mraPnoa7nmoTlnZflgY/np7sgJTA4eCUwOHgiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjE4OQorIzogY29tbWl0LWdyYXBoLmM6Mjg2CiAjLCBjLWZvcm1hdAotbXNnaWQgImNodW5rIGlkICUwOHggYXBwZWFycyBtdWx0aXBsZSB0aW1lcyIKLW1zZ3N0ciAi5Z2XIGlkICUwOHgg5Ye6546w5LqG5aSa5qyhIgorbXNnaWQgImNvbW1pdC1ncmFwaCBjaHVuayBpZCAlMDh4IGFwcGVhcnMgbXVsdGlwbGUgdGltZXMiCittc2dzdHIgIuaPkOS6pOWbvuW9ouWdlyBpZCAlMDh4IOWHuueOsOS6huWkmuasoSIKIAotIzogY29tbWl0LWdyYXBoLmM6MzA4CisjOiBjb21taXQtZ3JhcGguYzozNTAKK21zZ2lkICJjb21taXQtZ3JhcGggaGFzIG5vIGJhc2UgZ3JhcGhzIGNodW5rIgorbXNnc3RyICLmj5DkuqTlm77lvaLmsqHmnInln7rnoYDlm77lvaLlnZciCisKKyM6IGNvbW1pdC1ncmFwaC5jOjM2MAorbXNnaWQgImNvbW1pdC1ncmFwaCBjaGFpbiBkb2VzIG5vdCBtYXRjaCIKK21zZ3N0ciAi5o+Q5Lqk5Zu+5b2i6ZO+5LiN5Yy56YWNIgorCisjOiBjb21taXQtZ3JhcGguYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjb21taXQtZ3JhcGggY2hhaW46IGxpbmUgJyVzJyBub3QgYSBoYXNoIgorbXNnc3RyICLml6DmlYjnmoTmj5DkuqTlm77lvaLpk77vvJrooYwgJyVzJyDkuI3mmK/kuIDkuKrlk4jluIzlgLwiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjQzMworbXNnaWQgInVuYWJsZSB0byBmaW5kIGFsbCBjb21taXQtZ3JhcGggZmlsZXMiCittc2dzdHIgIuaXoOazleaJvuWIsOaJgOacieaPkOS6pOWbvuW9ouaWh+S7tiIKKworIzogY29tbWl0LWdyYXBoLmM6NTY0IGNvbW1pdC1ncmFwaC5jOjYyNAorbXNnaWQgImludmFsaWQgY29tbWl0IHBvc2l0aW9uLiBjb21taXQtZ3JhcGggaXMgbGlrZWx5IGNvcnJ1cHQiCittc2dzdHIgIuaXoOaViOeahOaPkOS6pOS9jee9ruOAguaPkOS6pOWbvuW9ouWPr+iDveW3suaNn+WdjyIKKworIzogY29tbWl0LWdyYXBoLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBmaW5kIGNvbW1pdCAlcyIKIG1zZ3N0ciAi5peg5rOV5om+5Yiw5o+Q5LqkICVzIgogCi0jOiBjb21taXQtZ3JhcGguYzo2MTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjUyCisjOiBjb21taXQtZ3JhcGguYzo4NTggYnVpbHRpbi9hbS5jOjEyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCAlcyIKK21zZ3N0ciAi5LiN6IO96Kej5p6Q5o+Q5LqkICVzIgorCisjOiBjb21taXQtZ3JhcGguYzoxMDE3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IHR5cGUgb2Ygb2JqZWN0ICVzIgogbXNnc3RyICLml6Dms5Xojrflvpflr7nosaEgJXMg57G75Z6LIgogCi0jOiBjb21taXQtZ3JhcGguYzo2NTEKLW1zZ2lkICJBbm5vdGF0aW5nIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgotbXNnc3RyICLmraPlnKjms6jop6Pmj5DkuqTlm77kuK3nmoTmj5DkuqQiCisjOiBjb21taXQtZ3JhcGguYzoxMDQ5Cittc2dpZCAiTG9hZGluZyBrbm93biBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAi5q2j5Zyo5Yqg6L295o+Q5Lqk5Zu+5Lit55qE5bey55+l5o+Q5LqkIgogCi0jOiBjb21taXQtZ3JhcGguYzo2OTEKKyM6IGNvbW1pdC1ncmFwaC5jOjEwNjYKK21zZ2lkICJFeHBhbmRpbmcgcmVhY2hhYmxlIGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICLmraPlnKjmianlsZXmj5DkuqTlm77kuK3nmoTlj6/ovr7mj5DkuqQiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEwODUKK21zZ2lkICJDbGVhcmluZyBjb21taXQgbWFya3MgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICLmraPlnKjmuIXpmaTmj5DkuqTlm77kuK3nmoTmj5DkuqTmoIforrAiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjExMDQKIG1zZ2lkICJDb21wdXRpbmcgY29tbWl0IGdyYXBoIGdlbmVyYXRpb24gbnVtYmVycyIKIG1zZ3N0ciAi5q2j5Zyo6K6h566X5o+Q5Lqk5Zu+5LiW5Luj5pWw5a2XIgogCi0jOiBjb21taXQtZ3JhcGguYzo4MDMgY29tbWl0LWdyYXBoLmM6ODI2IGNvbW1pdC1ncmFwaC5jOjg1MgotbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIgotbXNnc3RyICLmraPlnKjmn6Xmib7mj5DkuqTlm77nmoTmj5DkuqQiCisjOiBjb21taXQtZ3JhcGguYzoxMTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGluICVkIHBhY2siCittc2dpZF9wbHVyYWwgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGluICVkIHBhY2tzIgorbXNnc3RyWzBdICLmraPlnKggJWQg5Liq5YyF5Lit5p+l5om+5o+Q5Lqk5Zu+55qE5o+Q5LqkIgorbXNnc3RyWzFdICLmraPlnKggJWQg5Liq5YyF5Lit5p+l5om+5o+Q5Lqk5Zu+55qE5o+Q5LqkIgogCi0jOiBjb21taXQtZ3JhcGguYzo4MTIKKyM6IGNvbW1pdC1ncmFwaC5jOjExOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgYWRkaW5nIHBhY2sgJXMiCiBtc2dzdHIgIua3u+WKoOWMhSAlcyDlh7rplJkiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjgxNAorIzogY29tbWl0LWdyYXBoLmM6MTE5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBvcGVuaW5nIGluZGV4IGZvciAlcyIKIG1zZ3N0ciAi5Li6ICVzIOaJk+W8gOe0ouW8leWHuumUmSIKIAotIzogY29tbWl0LWdyYXBoLmM6ODY4CisjOiBjb21taXQtZ3JhcGguYzoxMjIwCiAjLCBjLWZvcm1hdAotbXNnaWQgInRoZSBjb21taXQgZ3JhcGggZm9ybWF0IGNhbm5vdCB3cml0ZSAlZCBjb21taXRzIgotbXNnc3RyICLmj5DkuqTlm77moLzlvI/kuI3og73lhpnlhaUgJWQg5Liq5o+Q5LqkIgorbXNnaWQgIkZpbmRpbmcgY29tbWl0cyBmb3IgY29tbWl0IGdyYXBoIGZyb20gJWQgcmVmIgorbXNnaWRfcGx1cmFsICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBmcm9tICVkIHJlZnMiCittc2dzdHJbMF0gIuato+WcqOS7jiAlZCDkuKrlvJXnlKjkuK3mn6Xmib7mj5DkuqTlm77nmoTmj5DkuqQiCittc2dzdHJbMV0gIuato+WcqOS7jiAlZCDkuKrlvJXnlKjkuK3mn6Xmib7mj5DkuqTlm77nmoTmj5DkuqQiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjg5NQotbXNnaWQgInRvbyBtYW55IGNvbW1pdHMgdG8gd3JpdGUgZ3JhcGgiCi1tc2dzdHIgIuaPkOS6pOWkquWkmuS4jeiDveeUu+WbviIKKyM6IGNvbW1pdC1ncmFwaC5jOjEyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjb21taXQgb2JqZWN0IGlkOiAlcyIKK21zZ3N0ciAi5peg5pWI55qE5o+Q5Lqk5a+56LGhIElE77yaJXMiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjkwMiBtaWR4LmM6NzY5CisjOiBjb21taXQtZ3JhcGguYzoxMjU1Cittc2dpZCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGggYW1vbmcgcGFja2VkIG9iamVjdHMiCittc2dzdHIgIuato+WcqOaJk+WMheWvueixoeS4reafpeaJvuaPkOS6pOWbvueahOaPkOS6pCIKKworIzogY29tbWl0LWdyYXBoLmM6MTI3MAorbXNnaWQgIkNvdW50aW5nIGRpc3RpbmN0IGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICLmraPlnKjorqHnrpfmj5DkuqTlm77kuK3kuI3lkIznmoTmj5DkuqQiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEzMDAKK21zZ2lkICJGaW5kaW5nIGV4dHJhIGVkZ2VzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAi5q2j5Zyo5p+l5om+5o+Q5Lqk5Zu+5Lit6aKd5aSW55qE6L65IgorCisjOiBjb21taXQtZ3JhcGguYzoxMzQ2Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvcnJlY3QgbnVtYmVyIG9mIGJhc2UgZ3JhcGggaWRzIgorbXNnc3RyICLml6Dms5XlhpnlhaXmraPnoa7mlbDph4/nmoTln7rnoYDlm77lvaIgSUQiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEzNzkgbWlkeC5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJXMiCiBtc2dzdHIgIuS4jeiDveS4uiAlcyDliJvlu7rlhYjlr7znm67lvZUiCiAKLSM6IGNvbW1pdC1ncmFwaC5jOjEwMDIKKyM6IGNvbW1pdC1ncmFwaC5jOjEzOTEgYnVpbHRpbi9pbmRleC1wYWNrLmM6MzA2IGJ1aWx0aW4vcmVwYWNrLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKK21zZ3N0ciAi5LiN6IO95Yib5bu6ICclcyciCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGluZyBvdXQgY29tbWl0IGdyYXBoIGluICVkIHBhc3MiCittc2dpZF9wbHVyYWwgIldyaXRpbmcgb3V0IGNvbW1pdCBncmFwaCBpbiAlZCBwYXNzZXMiCittc2dzdHJbMF0gIuato+WcqOeUqCAlZCDmraXlhpnlh7rmj5DkuqTlm74iCittc2dzdHJbMV0gIuato+WcqOeUqCAlZCDmraXlhpnlh7rmj5DkuqTlm74iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE0OTIKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiBjb21taXQtZ3JhcGggY2hhaW4gZmlsZSIKK21zZ3N0ciAi5peg5rOV5omT5byA5o+Q5Lqk5Zu+5b2i6ZO+5paH5Lu2IgorCisjOiBjb21taXQtZ3JhcGguYzoxNTA0Cittc2dpZCAiZmFpbGVkIHRvIHJlbmFtZSBiYXNlIGNvbW1pdC1ncmFwaCBmaWxlIgorbXNnc3RyICLml6Dms5Xph43lkb3lkI3ln7rnoYDmj5DkuqTlm77lvaLmlofku7YiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE1MjQKK21zZ2lkICJmYWlsZWQgdG8gcmVuYW1lIHRlbXBvcmFyeSBjb21taXQtZ3JhcGggZmlsZSIKK21zZ3N0ciAi5peg5rOV6YeN5ZG95ZCN5Li05pe25o+Q5Lqk5Zu+5b2i5paH5Lu2IgorCisjOiBjb21taXQtZ3JhcGguYzoxNjM1Cittc2dpZCAiU2Nhbm5pbmcgbWVyZ2VkIGNvbW1pdHMiCittc2dzdHIgIuato+WcqOaJq+aPj+WQiOW5tuaPkOS6pCIKKworIzogY29tbWl0LWdyYXBoLmM6MTY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGR1cGxpY2F0ZSBjb21taXQgaWQgJXMiCittc2dzdHIgIuaEj+WklueahOmHjeWkjeaPkOS6pCBJRCAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTY3MAorbXNnaWQgIk1lcmdpbmcgY29tbWl0LWdyYXBoIgorbXNnc3RyICLmraPlnKjlkIjlubbmj5DkuqTlm77lvaIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGNvbW1pdCBncmFwaCBmb3JtYXQgY2Fubm90IHdyaXRlICVkIGNvbW1pdHMiCittc2dzdHIgIuaPkOS6pOWbvuagvOW8j+S4jeiDveWGmeWFpSAlZCDkuKrmj5DkuqQiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE4NzEKK21zZ2lkICJ0b28gbWFueSBjb21taXRzIHRvIHdyaXRlIGdyYXBoIgorbXNnc3RyICLmj5DkuqTlpKrlpJrkuI3og73nlLvlm74iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE5NjEKIG1zZ2lkICJ0aGUgY29tbWl0LWdyYXBoIGZpbGUgaGFzIGluY29ycmVjdCBjaGVja3N1bSBhbmQgaXMgbGlrZWx5IGNvcnJ1cHQiCiBtc2dzdHIgIuaPkOS6pOWbvuaWh+S7tueahOagoemqjOeggemUmeivr++8jOWPr+iDveW3sue7j+aNn+WdjyIKIAotIzogY29tbWl0LWdyYXBoLmM6MTA0NgotbXNnaWQgIlZlcmlmeWluZyBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKLW1zZ3N0ciAi5qCh6aqM5o+Q5Lqk5Zu+5Lit55qE5o+Q5LqkIgorIzogY29tbWl0LWdyYXBoLmM6MTk3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggaGFzIGluY29ycmVjdCBPSUQgb3JkZXI6ICVzIHRoZW4gJXMiCittc2dzdHIgIuaPkOS6pOWbvuW9oueahOWvueixoSBJRCDpobrluo/kuI3mraPnoa7vvJolcyDnhLblkI4gJXMiCiAKLSM6IGNvbXBhdC9vYnN0YWNrLmM6NDA1IGNvbXBhdC9vYnN0YWNrLmM6NDA3CisjOiBjb21taXQtZ3JhcGguYzoxOTgxIGNvbW1pdC1ncmFwaC5jOjE5OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIGhhcyBpbmNvcnJlY3QgZmFub3V0IHZhbHVlOiBmYW5vdXRbJWRdID0gJXUgIT0gJXUiCittc2dzdHIgIuaPkOS6pOWbvuW9ouacieS4jeato+ehrueahOaJh+WHuuWAvO+8mmZhbm91dFslZF0gPSAldSAhPSAldSIKKworIzogY29tbWl0LWdyYXBoLmM6MTk4OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29tbWl0ICVzIGZyb20gY29tbWl0LWdyYXBoIgorbXNnc3RyICLml6Dms5Xku47mj5DkuqTlm77lvaLkuK3op6PmnpDmj5DkuqQgJXMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwMDYKK21zZ2lkICJWZXJpZnlpbmcgY29tbWl0cyBpbiBjb21taXQgZ3JhcGgiCittc2dzdHIgIuato+WcqOagoemqjOaPkOS6pOWbvuS4reeahOaPkOS6pCIKKworIzogY29tbWl0LWdyYXBoLmM6MjAyMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29tbWl0ICVzIGZyb20gb2JqZWN0IGRhdGFiYXNlIGZvciBjb21taXQtZ3JhcGgiCittc2dzdHIgIuaXoOazleS7juaPkOS6pOWbvuW9oueahOWvueixoeW6k+S4reino+aekOaPkOS6pCAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MjAyNworIywgYy1mb3JtYXQKK21zZ2lkICJyb290IHRyZWUgT0lEIGZvciBjb21taXQgJXMgaW4gY29tbWl0LWdyYXBoIGlzICVzICE9ICVzIgorbXNnc3RyICLmj5DkuqTlm77lvaLkuK3nmoTmj5DkuqQgJXMg55qE5qC55qCR5a+56LGhIElEIOaYryAlcyAhPSAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MjAzNworIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggcGFyZW50IGxpc3QgZm9yIGNvbW1pdCAlcyBpcyB0b28gbG9uZyIKK21zZ3N0ciAi5o+Q5LqkICVzIOeahOaPkOS6pOWbvuW9oueItuaPkOS6pOWIl+ihqOWkqumVv+S6hiIKKworIzogY29tbWl0LWdyYXBoLmM6MjA0NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggcGFyZW50IGZvciAlcyBpcyAlcyAhPSAlcyIKK21zZ3N0ciAiJXMg55qE5o+Q5Lqk5Zu+5b2i54i25o+Q5Lqk5pivICVzICE9ICVzIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDU5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBwYXJlbnQgbGlzdCBmb3IgY29tbWl0ICVzIHRlcm1pbmF0ZXMgZWFybHkiCittc2dzdHIgIuaPkOS6pCAlcyDnmoTmj5DkuqTlm77lvaLniLbmj5DkuqTliJfooajov4fml6nnu4jmraIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvbW1pdC1ncmFwaCBoYXMgZ2VuZXJhdGlvbiBudW1iZXIgemVybyBmb3IgY29tbWl0ICVzLCBidXQgbm9uLXplcm8gZWxzZXdoZXJlIgorbXNnc3RyICLmj5DkuqTlm77lvaLkuK3mj5DkuqQgJXMg55qE5LiW5Luj5Y+35piv6Zu277yM5L2G5YW25a6D5Zyw5pa56Z2e6Zu2IgorCisjOiBjb21taXQtZ3JhcGguYzoyMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjb21taXQtZ3JhcGggaGFzIG5vbi16ZXJvIGdlbmVyYXRpb24gbnVtYmVyIGZvciBjb21taXQgJXMsIGJ1dCB6ZXJvIGVsc2V3aGVyZSIKK21zZ3N0ciAi5o+Q5Lqk5Zu+5b2i5Lit5o+Q5LqkICVzIOeahOS4luS7o+WPt+mdnumbtu+8jOS9huWFtuWug+WcsOaWueaYr+mbtiIKKworIzogY29tbWl0LWdyYXBoLmM6MjA4MworIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggZ2VuZXJhdGlvbiBmb3IgY29tbWl0ICVzIGlzICV1ICE9ICV1IgorbXNnc3RyICLmj5DkuqTlm77lvaLkuK3nmoTmj5DkuqQgJXMg55qE5LiW5Luj5Y+35pivICV1ICE9ICV1IgorCisjOiBjb21taXQtZ3JhcGguYzoyMDg5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdCBkYXRlIGZvciBjb21taXQgJXMgaW4gY29tbWl0LWdyYXBoIGlzICU8UFJJdU1BWD4gIT0gJTxQUkl1TUFYPiIKK21zZ3N0ciAi5o+Q5Lqk5Zu+5b2i5Lit5o+Q5LqkICVzIOeahOaPkOS6pOaXpeacn+aYryAlPFBSSXVNQVg+ICE9ICU8UFJJdU1BWD4iCisKKyM6IGNvbXBhdC9vYnN0YWNrLmM6NDA2IGNvbXBhdC9vYnN0YWNrLmM6NDA4CiBtc2dpZCAibWVtb3J5IGV4aGF1c3RlZCIKIG1zZ3N0ciAi5YaF5a2Y6ICX5bC9IgogCi0jOiBjb25maWcuYzoxMjMKKyM6IGNvbmZpZy5jOjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhjZWVkZWQgbWF4aW11bSBpbmNsdWRlIGRlcHRoICglZCkgd2hpbGUgaW5jbHVkaW5nXG4iCkBAIC0xNTYyLDI5NCArMjE4NSwyODkgQEAKICJcdCUyJHNcbiIKICLov5nlj6/og73mmK/lm6DkuLrlvqrnjq/ljIXlkKvjgIIiCiAKLSM6IGNvbmZpZy5jOjEzOQorIzogY29uZmlnLmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBleHBhbmQgaW5jbHVkZSBwYXRoICclcyciCiBtc2dzdHIgIuaXoOazleaJqeWxleWMheWQq+i3r+W+hCAnJXMnIgogCi0jOiBjb25maWcuYzoxNTAKKyM6IGNvbmZpZy5jOjE1MQogbXNnaWQgInJlbGF0aXZlIGNvbmZpZyBpbmNsdWRlcyBtdXN0IGNvbWUgZnJvbSBmaWxlcyIKIG1zZ3N0ciAi55u45a+56Lev5b6E55qE6YWN572u5paH5Lu25byV55So5b+F6aG75p2l6Ieq5LqO5paH5Lu2IgogCi0jOiBjb25maWcuYzoxOTAKKyM6IGNvbmZpZy5jOjE5NwogbXNnaWQgInJlbGF0aXZlIGNvbmZpZyBpbmNsdWRlIGNvbmRpdGlvbmFscyBtdXN0IGNvbWUgZnJvbSBmaWxlcyIKIG1zZ3N0ciAi55u45a+56Lev5b6E55qE6YWN572u5paH5Lu25p2h5Lu25byV55So5b+F6aG75p2l6Ieq5LqO5paH5Lu2IgogCi0jOiBjb25maWcuYzozNDgKKyM6IGNvbmZpZy5jOjM3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJrZXkgZG9lcyBub3QgY29udGFpbiBhIHNlY3Rpb246ICVzIgogbXNnc3RyICLplK7lkI3msqHmnInljIXlkKvkuIDkuKrlsI/oioLlkI3np7DvvJolcyIKIAotIzogY29uZmlnLmM6MzU0CisjOiBjb25maWcuYzozODIKICMsIGMtZm9ybWF0CiBtc2dpZCAia2V5IGRvZXMgbm90IGNvbnRhaW4gdmFyaWFibGUgbmFtZTogJXMiCiBtc2dzdHIgIumUruWQjeayoeacieWMheWQq+WPmOmHj+WQje+8miVzIgogCi0jOiBjb25maWcuYzozNzggc2VxdWVuY2VyLmM6MjI5NgorIzogY29uZmlnLmM6NDA2IHNlcXVlbmNlci5jOjI1MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXk6ICVzIgogbXNnc3RyICLml6DmlYjplK7lkI3vvJolcyIKIAotIzogY29uZmlnLmM6Mzg0CisjOiBjb25maWcuYzo0MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXkgKG5ld2xpbmUpOiAlcyIKIG1zZ3N0ciAi5peg5pWI6ZSu5ZCN77yI5pyJ5o2i6KGM56ym77yJ77yaJXMiCiAKLSM6IGNvbmZpZy5jOjQyMCBjb25maWcuYzo0MzIKKyM6IGNvbmZpZy5jOjQ0OCBjb25maWcuYzo0NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYm9ndXMgY29uZmlnIHBhcmFtZXRlcjogJXMiCiBtc2dzdHIgIuS8qumFjee9ruWPguaVsO+8miVzIgogCi0jOiBjb25maWcuYzo0NjcKKyM6IGNvbmZpZy5jOjQ5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJib2d1cyBmb3JtYXQgaW4gJXMiCiBtc2dzdHIgIiVzIOS4reagvOW8j+mUmeivryIKIAotIzogY29uZmlnLmM6NzkzCisjOiBjb25maWcuYzo4MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGJsb2IgJXMiCiBtc2dzdHIgIuaVsOaNruWvueixoSAlMiRzIOS4remUmeivr+eahOmFjee9ruihjCAlMSRkIgogCi0jOiBjb25maWcuYzo3OTcKKyM6IGNvbmZpZy5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gZmlsZSAlcyIKIG1zZ3N0ciAi5paH5Lu2ICUyJHMg5Lit6ZSZ6K+v55qE6YWN572u6KGMICUxJGQiCiAKLSM6IGNvbmZpZy5jOjgwMQorIzogY29uZmlnLmM6ODI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBjb25maWcgbGluZSAlZCBpbiBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi5qCH5YeG6L6T5YWl5Lit6ZSZ6K+v55qE6YWN572u6KGMICVkIgogCi0jOiBjb25maWcuYzo4MDUKKyM6IGNvbmZpZy5jOjgzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3VibW9kdWxlLWJsb2IgJXMiCiBtc2dzdHIgIuWtkOaooee7hOaVsOaNruWvueixoSAlMiRzIOS4remUmeivr+eahOmFjee9ruihjCAlMSRkIgogCi0jOiBjb25maWcuYzo4MDkKKyM6IGNvbmZpZy5jOjgzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gY29tbWFuZCBsaW5lICVzIgogbXNnc3RyICLlkb3ku6TooYwgJTIkcyDkuK3plJnor6/nmoTphY3nva7ooYwgJTEkZCIKIAotIzogY29uZmlnLmM6ODEzCisjOiBjb25maWcuYzo4NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluICVzIgogbXNnc3RyICLlnKggJTIkcyDkuK3plJnor6/nmoTphY3nva7ooYwgJTEkZCIKIAotIzogY29uZmlnLmM6OTUyCisjOiBjb25maWcuYzo5NzgKIG1zZ2lkICJvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIui2heWHuuiMg+WbtCIKIAotIzogY29uZmlnLmM6OTUyCisjOiBjb25maWcuYzo5NzgKIG1zZ2lkICJpbnZhbGlkIHVuaXQiCiBtc2dzdHIgIuaXoOaViOeahOWNleS9jSIKIAotIzogY29uZmlnLmM6OTU4CisjOiBjb25maWcuYzo5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcyc6ICVzIgogbXNnc3RyICLphY3nva7lj5jph48gJyUyJHMnIOeahOaVsOWtl+WPluWAvCAnJTEkcycg6K6+572u6ZSZ6K+v77yaJTMkcyIKIAotIzogY29uZmlnLmM6OTYzCisjOiBjb25maWcuYzo5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gYmxvYiAlczogJXMiCiBtc2dzdHIgIuaVsOaNruWvueixoSAlMyRzIOS4remFjee9ruWPmOmHjyAnJTIkcycg6ZSZ6K+v55qE5Y+W5YC8ICclMSRzJ++8miU0JHMiCiAKLSM6IGNvbmZpZy5jOjk2NgorIzogY29uZmlnLmM6MTAwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBmaWxlICVzOiAlcyIKIG1zZ3N0ciAi5paH5Lu2ICUzJHMg5Lit6YWN572u5Y+Y6YePICclMiRzJyDplJnor6/nmoTlj5blgLwgJyUxJHMn77yaJTQkcyIKIAotIzogY29uZmlnLmM6OTY5CisjOiBjb25maWcuYzoxMDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN0YW5kYXJkIGlucHV0OiAlcyIKIG1zZ3N0ciAi5qCH5YeG6L6T5YWl5Lit6YWN572u5Y+Y6YePICclMiRzJyDplJnor6/nmoTlj5blgLwgJyUxJHMn77yaJTMkcyIKIAotIzogY29uZmlnLmM6OTcyCisjOiBjb25maWcuYzoxMDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN1Ym1vZHVsZS1ibG9iICVzOiAlcyIKIG1zZ3N0ciAi5a2Q5qih57uE5pWw5o2uICUzJHMg5Lit6YWN572u5Y+Y6YePICclMiRzJyDplJnor6/nmoTlj5blgLwgJyUxJHMn77yaJTQkcyIKIAotIzogY29uZmlnLmM6OTc1CisjOiBjb25maWcuYzoxMDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIGNvbW1hbmQgbGluZSAlczogJXMiCiBtc2dzdHIgIuWRveS7pOihjCAlMyRzIOS4remFjee9ruWPmOmHjyAnJTIkcycg6ZSZ6K+v55qE5Y+W5YC8ICclMSRzJ++8miU0JHMiCiAKLSM6IGNvbmZpZy5jOjk3OAorIzogY29uZmlnLmM6MTAxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiAlczogJXMiCiBtc2dzdHIgIuWcqCAlMyRzIOS4remFjee9ruWPmOmHjyAnJTIkcycg6ZSZ6K+v55qE5Y+W5YC8ICclMSRzJ++8miU0JHMiCiAKLSM6IGNvbmZpZy5jOjEwNzMKKyM6IGNvbmZpZy5jOjExMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGV4cGFuZCB1c2VyIGRpciBpbjogJyVzJyIKIG1zZ3N0ciAi5peg5rOV5omp5bGV55So5oi355uu5b2V77yaJyVzJyIKIAotIzogY29uZmlnLmM6MTA4MgorIzogY29uZmlnLmM6MTExNwogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGZvciAnJXMnIGlzIG5vdCBhIHZhbGlkIHRpbWVzdGFtcCIKIG1zZ3N0ciAiJyUyJHMnIOeahOWAvCAnJTEkcycg5LiN5piv5LiA5Liq5pyJ5pWI55qE5pe26Ze05oizIgogCi0jOiBjb25maWcuYzoxMTczCisjOiBjb25maWcuYzoxMjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImFiYnJldiBsZW5ndGggb3V0IG9mIHJhbmdlOiAlZCIKIG1zZ3N0ciAi57yp5YaZ6ZW/5bqm6LaF5Ye66IyD5Zu077yaJWQiCiAKLSM6IGNvbmZpZy5jOjExODcgY29uZmlnLmM6MTE5OAorIzogY29uZmlnLmM6MTIyMiBjb25maWcuYzoxMjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCB6bGliIGNvbXByZXNzaW9uIGxldmVsICVkIgogbXNnc3RyICLplJnor6/nmoQgemxpYiDljovnvKnnuqfliKsgJWQiCiAKLSM6IGNvbmZpZy5jOjEyOTAKKyM6IGNvbmZpZy5jOjEzMjUKIG1zZ2lkICJjb3JlLmNvbW1lbnRDaGFyIHNob3VsZCBvbmx5IGJlIG9uZSBjaGFyYWN0ZXIiCiBtc2dzdHIgImNvcmUuY29tbWVudENoYXIg5bqU6K+l5piv5LiA5Liq5a2X56ymIgogCi0jOiBjb25maWcuYzoxMzIzCisjOiBjb25maWcuYzoxMzU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbW9kZSBmb3Igb2JqZWN0IGNyZWF0aW9uOiAlcyIKIG1zZ3N0ciAi5peg5pWI55qE5a+56LGh5Yib5bu65qih5byP77yaJXMiCiAKLSM6IGNvbmZpZy5jOjEzOTUKKyM6IGNvbmZpZy5jOjE0MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIHZhbHVlIGZvciAlcyIKIG1zZ3N0ciAiJXMg55qE5Y+W5YC85qC85byP6ZSZ6K+vIgogCi0jOiBjb25maWcuYzoxNDIxCisjOiBjb25maWcuYzoxNDU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCB2YWx1ZSBmb3IgJXM6ICVzIgogbXNnc3RyICIlcyDnmoTlj5blgLzmoLzlvI/plJnor6/vvJolcyIKIAotIzogY29uZmlnLmM6MTQyMgorIzogY29uZmlnLmM6MTQ1NwogbXNnaWQgIm11c3QgYmUgb25lIG9mIG5vdGhpbmcsIG1hdGNoaW5nLCBzaW1wbGUsIHVwc3RyZWFtIG9yIGN1cnJlbnQiCiBtc2dzdHIgIuW/hemhu+aYr+WFtuS4reS5i+S4gO+8mm5vdGhpbmfjgIFtYXRjaGluZ+OAgXNpbXBsZeOAgXVwc3RyZWFtIOaIliBjdXJyZW50IgogCi0jOiBjb25maWcuYzoxNDgxIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM5MQorIzogY29uZmlnLmM6MTUxOCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2sgY29tcHJlc3Npb24gbGV2ZWwgJWQiCiBtc2dzdHIgIumUmeivr+eahOaJk+WMheWOi+e8qee6p+WIqyAlZCIKIAotIzogY29uZmlnLmM6MTYwMgorIzogY29uZmlnLmM6MTYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbG9hZCBjb25maWcgYmxvYiBvYmplY3QgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5LuO5pWw5o2u5a+56LGhICclcycg5Yqg6L296YWN572uIgogCi0jOiBjb25maWcuYzoxNjA1CisjOiBjb25maWcuYzoxNjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZmVyZW5jZSAnJXMnIGRvZXMgbm90IHBvaW50IHRvIGEgYmxvYiIKIG1zZ3N0ciAi5byV55SoICclcycg5rKh5pyJ5oyH5ZCR5LiA5Liq5pWw5o2u5a+56LGhIgogCi0jOiBjb25maWcuYzoxNjIyCisjOiBjb25maWcuYzoxNjU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byByZXNvbHZlIGNvbmZpZyBibG9iICclcyciCiBtc2dzdHIgIuS4jeiDveino+aekOmFjee9ruWvueixoSAnJXMnIgogCi0jOiBjb25maWcuYzoxNjUyCisjOiBjb25maWcuYzoxNjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKIG1zZ3N0ciAi6Kej5p6QICVzIOWksei0pSIKIAotIzogY29uZmlnLmM6MTcwNQorIzogY29uZmlnLmM6MTc0NQogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBjb21tYW5kLWxpbmUgY29uZmlnIgogbXNnc3RyICLml6Dms5Xop6PmnpDlkb3ku6TooYzkuK3nmoTphY3nva4iCiAKLSM6IGNvbmZpZy5jOjIwMzcKKyM6IGNvbmZpZy5jOjIwOTYKIG1zZ2lkICJ1bmtub3duIGVycm9yIG9jY3VycmVkIHdoaWxlIHJlYWRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMiCiBtc2dzdHIgIuWcqOivu+WPlumFjee9ruaWh+S7tuaXtumBh+WIsOacquefpemUmeivryIKIAotIzogY29uZmlnLmM6MjIwNworIzogY29uZmlnLmM6MjI2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkICVzOiAnJXMnIgogbXNnc3RyICLml6DmlYggJXPvvJonJXMnIgogCi0jOiBjb25maWcuYzoyMjUwCi0jLCBjLWZvcm1hdAotbXNnaWQgInVua25vd24gY29yZS51bnRyYWNrZWRDYWNoZSB2YWx1ZSAnJXMnOyB1c2luZyAna2VlcCcgZGVmYXVsdCB2YWx1ZSIKLW1zZ3N0ciAi5pyq55+l55qEIGNvcmUudW50cmFja2VkQ2FjaGUg5Y+W5YC8ICclcyfvvIzkvb/nlKjpu5jorqTlgLwgJ2tlZXAnIgotCi0jOiBjb25maWcuYzoyMjc2CisjOiBjb25maWcuYzoyMzExCiAjLCBjLWZvcm1hdAogbXNnaWQgInNwbGl0SW5kZXgubWF4UGVyY2VudENoYW5nZSB2YWx1ZSAnJWQnIHNob3VsZCBiZSBiZXR3ZWVuIDAgYW5kIDEwMCIKIG1zZ3N0ciAic3BsaXRJbmRleC5tYXhQZXJjZW50Q2hhbmdlIOeahOWPluWAvCAnJWQnIOW6lOivpeS7i+S6jiAwIOWSjCAxMDAg5LmL6Ze0IgogCi0jOiBjb25maWcuYzoyMzIyCisjOiBjb25maWcuYzoyMzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAnJXMnIGZyb20gY29tbWFuZC1saW5lIGNvbmZpZyIKIG1zZ3N0ciAi5peg5rOV6Kej5p6Q5ZG95Luk6KGM6YWN572u5Lit55qEICclcyciCiAKLSM6IGNvbmZpZy5jOjIzMjQKKyM6IGNvbmZpZy5jOjIzNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGNvbmZpZyB2YXJpYWJsZSAnJXMnIGluIGZpbGUgJyVzJyBhdCBsaW5lICVkIgogbXNnc3RyICLlnKjmlofku7YgJyUyJHMnIOeahOesrCAlMyRkIOihjOWPkeeOsOmUmeivr+eahOmFjee9ruWPmOmHjyAnJTEkcyciCiAKLSM6IGNvbmZpZy5jOjI0MDUKKyM6IGNvbmZpZy5jOjI0NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBzZWN0aW9uIG5hbWUgJyVzJyIKIG1zZ3N0ciAi5peg5pWI55qE5bCP6IqC5ZCN56ewICclcyciCiAKLSM6IGNvbmZpZy5jOjI0MzcKKyM6IGNvbmZpZy5jOjI0NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIG11bHRpcGxlIHZhbHVlcyIKIG1zZ3N0ciAiJXMg5pyJ5aSa5Liq5Y+W5YC8IgogCi0jOiBjb25maWcuYzoyNDY2CisjOiBjb25maWcuYzoyNTAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB3cml0ZSBuZXcgY29uZmlndXJhdGlvbiBmaWxlICVzIgogbXNnc3RyICLlhpnlhaXmlrDnmoTphY3nva7mlofku7YgJXMg5aSx6LSlIgogCi0jOiBjb25maWcuYzoyNzE3IGNvbmZpZy5jOjMwNDEKKyM6IGNvbmZpZy5jOjI3NTMgY29uZmlnLmM6MzA3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9jayBjb25maWcgZmlsZSAlcyIKIG1zZ3N0ciAi5LiN6IO96ZSB5a6a6YWN572u5paH5Lu2ICVzIgogCi0jOiBjb25maWcuYzoyNzI4CisjOiBjb25maWcuYzoyNzY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9wZW5pbmcgJXMiCiBtc2dzdHIgIuaJk+W8gCAlcyIKIAotIzogY29uZmlnLmM6Mjc2MyBidWlsdGluL2NvbmZpZy5jOjMyNworIzogY29uZmlnLmM6Mjc5OSBidWlsdGluL2NvbmZpZy5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHBhdHRlcm46ICVzIgogbXNnc3RyICLml6DmlYjmqKHlvI/vvJolcyIKIAotIzogY29uZmlnLmM6Mjc4OAorIzogY29uZmlnLmM6MjgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbmZpZyBmaWxlICVzIgogbXNnc3RyICLml6DmlYjnmoTphY3nva7mlofku7YgJXMiCiAKLSM6IGNvbmZpZy5jOjI4MDEgY29uZmlnLmM6MzA1NAorIzogY29uZmlnLmM6MjgzNyBjb25maWcuYzozMDkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZzdGF0IG9uICVzIGZhaWxlZCIKIG1zZ3N0ciAi5a+5ICVzIOiwg+eUqCBmc3RhdCDlpLHotKUiCiAKLSM6IGNvbmZpZy5jOjI4MTIKKyM6IGNvbmZpZy5jOjI4NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG1tYXAgJyVzJyIKIG1zZ3N0ciAi5LiN6IO9IG1tYXAgJyVzJyIKIAotIzogY29uZmlnLmM6MjgyMSBjb25maWcuYzozMDU5CisjOiBjb25maWcuYzoyODU3IGNvbmZpZy5jOjMwOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2htb2Qgb24gJXMgZmFpbGVkIgogbXNnc3RyICLlr7kgJXMg6LCD55SoIGNobW9kIOWksei0pSIKIAotIzogY29uZmlnLmM6MjkwNiBjb25maWcuYzozMTU2CisjOiBjb25maWcuYzoyOTQyIGNvbmZpZy5jOjMxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbmZpZyBmaWxlICVzIgogbXNnc3RyICLkuI3og73lhpnlhaXphY3nva7mlofku7YgJXMiCiAKLSM6IGNvbmZpZy5jOjI5NDAKKyM6IGNvbmZpZy5jOjI5NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCAnJXMnIHRvICclcyciCiBtc2dzdHIgIuS4jeiDveiuvue9riAnJXMnIOS4uiAnJXMnIgogCi0jOiBjb25maWcuYzoyOTQyIGJ1aWx0aW4vcmVtb3RlLmM6NzgyCisjOiBjb25maWcuYzoyOTc4IGJ1aWx0aW4vcmVtb3RlLmM6NzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1bnNldCAnJXMnIgogbXNnc3RyICLkuI3og73lj5bmtojorr7nva4gJyVzJyIKIAotIzogY29uZmlnLmM6MzAzMgorIzogY29uZmlnLmM6MzA2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHNlY3Rpb24gbmFtZTogJXMiCiBtc2dzdHIgIuaXoOaViOeahOWwj+iKguWQjeensO+8miVzIgogCi0jOiBjb25maWcuYzozMTk5CisjOiBjb25maWcuYzozMjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1pc3NpbmcgdmFsdWUgZm9yICclcyciCiBtc2dzdHIgIiVzIOeahOWPluWAvOe8uuWksSIKQEAgLTE5MDEsNTAgKzI1MTksNDUgQEAKIG1zZ2lkICJyZXBvc2l0b3J5IG9uIHRoZSBvdGhlciBlbmQgY2Fubm90IGJlIHNoYWxsb3ciCiBtc2dzdHIgIuWPpuS4gOerr+eahOS7k+W6k+S4jeiDveaYr+a1heWFi+mahuS7k+W6kyIKIAotIzogY29ubmVjdC5jOjMxMCBmZXRjaC1wYWNrLmM6MTgyIGJ1aWx0aW4vYXJjaGl2ZS5jOjYzCi0jLCBjLWZvcm1hdAotbXNnaWQgInJlbW90ZSBlcnJvcjogJXMiCi1tc2dzdHIgIui/nOeoi+mUmeivr++8miVzIgotCi0jOiBjb25uZWN0LmM6MzE2CisjOiBjb25uZWN0LmM6MzEzCiBtc2dpZCAiaW52YWxpZCBwYWNrZXQiCiBtc2dzdHIgIuaXoOaViOaVsOaNruWMhSIKIAotIzogY29ubmVjdC5jOjMzNgorIzogY29ubmVjdC5jOjMzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogdW5leHBlY3RlZCAnJXMnIgogbXNnc3RyICLljY/orq7plJnor6/vvJrmhI/lpJbnmoQgJyVzJyIKIAotIzogY29ubmVjdC5jOjQ0NAorIzogY29ubmVjdC5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGxzLXJlZnMgcmVzcG9uc2U6ICVzIgogbXNnc3RyICLml6DmlYjnmoQgbHMtcmVmcyDlk43lupTvvJolcyIKIAotIzogY29ubmVjdC5jOjQ0OAorIzogY29ubmVjdC5jOjQ0NQogbXNnaWQgImV4cGVjdGVkIGZsdXNoIGFmdGVyIHJlZiBsaXN0aW5nIgogbXNnc3RyICLlnKjlvJXnlKjliJfooajkuYvlkI7lupTor6XmnInkuIDkuKogZmx1c2gg5YyFIgogCi0jOiBjb25uZWN0LmM6NTQ3CisjOiBjb25uZWN0LmM6NTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInByb3RvY29sICclcycgaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAi5LiN5pSv5oyBICclcycg5Y2P6K6uIgogCi0jOiBjb25uZWN0LmM6NTk4CisjOiBjb25uZWN0LmM6NTk1CiBtc2dpZCAidW5hYmxlIHRvIHNldCBTT19LRUVQQUxJVkUgb24gc29ja2V0IgogbXNnc3RyICLml6Dms5XkuLogc29ja2V0IOiuvue9riBTT19LRUVQQUxJVkUiCiAKLSM6IGNvbm5lY3QuYzo2MzggY29ubmVjdC5jOjcwMQorIzogY29ubmVjdC5jOjYzNSBjb25uZWN0LmM6Njk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkxvb2tpbmcgdXAgJXMgLi4uICIKIG1zZ3N0ciAi5p+l5om+ICVzIC4uLiIKIAotIzogY29ubmVjdC5jOjY0MgorIzogY29ubmVjdC5jOjYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gbG9vayB1cCAlcyAocG9ydCAlcykgKCVzKSIKIG1zZ3N0ciAi5peg5rOV5p+l5om+ICVz77yI56uv5Y+jICVz77yJ77yIJXPvvIkiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGlzIGlzIHRoZSBlbmQgb2YgIkxvb2tpbmcgdXAgJXMgLi4uICIKLSM6IGNvbm5lY3QuYzo2NDYgY29ubmVjdC5jOjcxNworIzogY29ubmVjdC5jOjY0MyBjb25uZWN0LmM6NzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJkb25lLlxuIgpAQCAtMTk1Myw3ICsyNTY2LDcgQEAKICLlrozmiJDjgIJcbiIKICLov57mjqXliLAgJXPvvIjnq6/lj6MgJXPvvIkuLi4gIgogCi0jOiBjb25uZWN0LmM6NjY4IGNvbm5lY3QuYzo3NDUKKyM6IGNvbm5lY3QuYzo2NjUgY29ubmVjdC5jOjc0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidW5hYmxlIHRvIGNvbm5lY3QgdG8gJXM6XG4iCkBAIC0xOTYzLDczICsyNTc2LDczIEBACiAiJXMiCiAKICMuIFRSQU5TTEFUT1JTOiB0aGlzIGlzIHRoZSBlbmQgb2YgIkNvbm5lY3RpbmcgdG8gJXMgKHBvcnQgJXMpIC4uLiAiCi0jOiBjb25uZWN0LmM6Njc0IGNvbm5lY3QuYzo3NTEKKyM6IGNvbm5lY3QuYzo2NzEgY29ubmVjdC5jOjc0OAogbXNnaWQgImRvbmUuIgogbXNnc3RyICLlrozmiJDjgIIiCiAKLSM6IGNvbm5lY3QuYzo3MDUKKyM6IGNvbm5lY3QuYzo3MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGxvb2sgdXAgJXMgKCVzKSIKIG1zZ3N0ciAi5peg5rOV5p+l5om+ICVz77yIJXPvvIkiCiAKLSM6IGNvbm5lY3QuYzo3MTEKKyM6IGNvbm5lY3QuYzo3MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBwb3J0ICVzIgogbXNnc3RyICLmnKrnn6Xnq6/lj6MgJXMiCiAKLSM6IGNvbm5lY3QuYzo4NDggY29ubmVjdC5jOjExNzQKKyM6IGNvbm5lY3QuYzo4NDUgY29ubmVjdC5jOjExNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RyYW5nZSBob3N0bmFtZSAnJXMnIGJsb2NrZWQiCiBtc2dzdHIgIuW3sumYu+atouWlh+aAqueahOS4u+acuuWQjSAnJXMnIgogCi0jOiBjb25uZWN0LmM6ODUwCisjOiBjb25uZWN0LmM6ODQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgInN0cmFuZ2UgcG9ydCAnJXMnIGJsb2NrZWQiCiBtc2dzdHIgIuW3sumYu+atouWlh+aAqueahOerr+WPo+WPtyAnJXMnIgogCi0jOiBjb25uZWN0LmM6ODYwCisjOiBjb25uZWN0LmM6ODU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzdGFydCBwcm94eSAlcyIKIG1zZ3N0ciAi5LiN6IO95ZCv5Yqo5Luj55CGICVzIgogCi0jOiBjb25uZWN0LmM6OTI3CisjOiBjb25uZWN0LmM6OTI4CiBtc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQ7IHNlZSAnZ2l0IGhlbHAgcHVsbCcgZm9yIHZhbGlkIHVybCBzeW50YXgiCiBtc2dzdHIgIuacquaMh+Wumui3r+W+hO+8jOaJp+ihjCAnZ2l0IGhlbHAgcHVsbCcg5p+l55yL5pyJ5pWI55qEIHVybCDor63ms5UiCiAKLSM6IGNvbm5lY3QuYzoxMTIyCisjOiBjb25uZWN0LmM6MTEyMwogbXNnaWQgInNzaCB2YXJpYW50ICdzaW1wbGUnIGRvZXMgbm90IHN1cHBvcnQgLTQiCiBtc2dzdHIgInNzaCDlj5jkvZMgJ3NpbXBsZScg5LiN5pSv5oyBIC00IgogCi0jOiBjb25uZWN0LmM6MTEzNAorIzogY29ubmVjdC5jOjExMzUKIG1zZ2lkICJzc2ggdmFyaWFudCAnc2ltcGxlJyBkb2VzIG5vdCBzdXBwb3J0IC02IgogbXNnc3RyICJzc2gg5Y+Y5L2TICdzaW1wbGUnIOS4jeaUr+aMgSAtNiIKIAotIzogY29ubmVjdC5jOjExNTEKKyM6IGNvbm5lY3QuYzoxMTUyCiBtc2dpZCAic3NoIHZhcmlhbnQgJ3NpbXBsZScgZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHBvcnQiCiBtc2dzdHIgInNzaCDlj5jkvZMgJ3NpbXBsZScg5LiN5pSv5oyB6K6+572u56uv5Y+jIgogCi0jOiBjb25uZWN0LmM6MTI2MgorIzogY29ubmVjdC5jOjEyNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RyYW5nZSBwYXRobmFtZSAnJXMnIGJsb2NrZWQiCiBtc2dzdHIgIuW3sumYu+atouWlh+aAqueahOi3r+W+hOWQjSAnJXMnIgogCi0jOiBjb25uZWN0LmM6MTMwNworIzogY29ubmVjdC5jOjEzMTEKIG1zZ2lkICJ1bmFibGUgdG8gZm9yayIKIG1zZ3N0ciAi5peg5rOVIGZvcmsiCiAKLSM6IGNvbm5lY3RlZC5jOjY4IGJ1aWx0aW4vZnNjay5jOjIwMiBidWlsdGluL3BydW5lLmM6MTQ3CisjOiBjb25uZWN0ZWQuYzo4OSBidWlsdGluL2ZzY2suYzoyMDggYnVpbHRpbi9wcnVuZS5jOjQzCiBtc2dpZCAiQ2hlY2tpbmcgY29ubmVjdGl2aXR5IgotbXNnc3RyICLmo4Dmn6Xov57mjqXkuK0iCittc2dzdHIgIuato+WcqOajgOafpei/numAmuaApyIKIAotIzogY29ubmVjdGVkLmM6ODAKKyM6IGNvbm5lY3RlZC5jOjEwMQogbXNnaWQgIkNvdWxkIG5vdCBydW4gJ2dpdCByZXYtbGlzdCciCiBtc2dzdHIgIuS4jeiDveaJp+ihjCAnZ2l0IHJldi1saXN0JyIKIAotIzogY29ubmVjdGVkLmM6MTAwCisjOiBjb25uZWN0ZWQuYzoxMjEKIG1zZ2lkICJmYWlsZWQgd3JpdGUgdG8gcmV2LWxpc3QiCiBtc2dzdHIgIuWGmeWFpSByZXYtbGlzdCDlpLHotKUiCiAKLSM6IGNvbm5lY3RlZC5jOjEwNworIzogY29ubmVjdGVkLmM6MTI4CiBtc2dpZCAiZmFpbGVkIHRvIGNsb3NlIHJldi1saXN0J3Mgc3RkaW4iCiBtc2dzdHIgIuWFs+mXrSByZXYtbGlzdCDnmoTmoIflh4bovpPlhaXlpLHotKUiCiAKQEAgLTIwNjYsMjQgKzI2NzksMjQgQEAKICIlcyDkuK3nmoQgTEYg5bCG6KKrIENSTEYg5pu/5o2i44CCXG4iCiAi5Zyo5bel5L2c5Yy65Lit6K+l5paH5Lu25LuN5L+d5oyB5Y6f5pyJ55qE5o2i6KGM56ymIgogCi0jOiBjb252ZXJ0LmM6MjgwCisjOiBjb252ZXJ0LmM6Mjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJPTSBpcyBwcm9oaWJpdGVkIGluICclcycgaWYgZW5jb2RlZCBhcyAlcyIKIG1zZ3N0ciAi5aaC5p6c5L2/55SoICUyJHMg57yW56CB77yM56aB5q2i5ZyoICclMSRzJyDkuK3kvb/nlKggQk9NIgogCi0jOiBjb252ZXJ0LmM6Mjg3CisjOiBjb252ZXJ0LmM6MjkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSJUaGUgZmlsZSAnJXMnIGNvbnRhaW5zIGEgYnl0ZSBvcmRlciBtYXJrIChCT00pLiBQbGVhc2UgdXNlIFVURi0lcyBhcyB3b3JraW5nLSIKLSJ0cmVlLWVuY29kaW5nLiIKLW1zZ3N0ciAi5paH5Lu2ICclcycg5YyF5ZCr5LiA5Liq5a2X6IqC6aG65bqP5qCH6K6w77yIQk9N77yJ44CC6K+35L2/55SoIFVURi0lcyDkvZzkuLrlt6XkvZzljLrnvJbnoIHjgIIiCisiVGhlIGZpbGUgJyVzJyBjb250YWlucyBhIGJ5dGUgb3JkZXIgbWFyayAoQk9NKS4gUGxlYXNlIHVzZSBVVEYtJS4qcyBhcyAiCisid29ya2luZy10cmVlLWVuY29kaW5nLiIKK21zZ3N0ciAi5paH5Lu2ICclcycg5YyF5ZCr5LiA5Liq5a2X6IqC6aG65bqP5qCH6K6w77yIQk9N77yJ44CC6K+35L2/55SoIFVURi0lLipzIOS9nOS4uuW3peS9nOWMuue8lueggeOAgiIKIAotIzogY29udmVydC5jOjMwNQorIzogY29udmVydC5jOjMwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJCT00gaXMgcmVxdWlyZWQgaW4gJyVzJyBpZiBlbmNvZGVkIGFzICVzIgogbXNnc3RyICLlpoLmnpznvJbnoIHkuLogJTIkc++8jOmcgOimgeWcqCAnJTEkcycg5Lit5L2/55SoIEJPTSIKIAotIzogY29udmVydC5jOjMwNworIzogY29udmVydC5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZpbGUgJyVzJyBpcyBtaXNzaW5nIGEgYnl0ZSBvcmRlciBtYXJrIChCT00pLiBQbGVhc2UgdXNlIFVURi0lc0JFIG9yIFVURi0iCkBAIC0yMDkyLDExNyArMjcwNSwxMTcgQEAKICLmlofku7YgJyVzJyDnvLrlpLHkuIDkuKrlrZfoioLpobrluo/moIforrDvvIhCT03vvInjgILor7fkvb/nlKggVVRGLSVzQkUgb3IgVVRGLSVzTEXvvIjlj5blhrPkuo7lrZciCiAi6IqC5bqP77yJ5L2c5Li65bel5L2c5Yy657yW56CB44CCIgogCi0jOiBjb252ZXJ0LmM6NDI1IGNvbnZlcnQuYzo0OTYKKyM6IGNvbnZlcnQuYzo0MTkgY29udmVydC5jOjQ5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZW5jb2RlICclcycgZnJvbSAlcyB0byAlcyIKIG1zZ3N0ciAi5peg5rOV5a+5ICclcycg6L+b6KGM5LuOICVzIOWIsCAlcyDnmoTnvJbnoIEiCiAKLSM6IGNvbnZlcnQuYzo0NjgKKyM6IGNvbnZlcnQuYzo0NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZW5jb2RpbmcgJyVzJyBmcm9tICVzIHRvICVzIGFuZCBiYWNrIGlzIG5vdCB0aGUgc2FtZSIKIG1zZ3N0ciAi5bCGJyVzJyDnmoTnvJbnoIHku44gJXMg5YiwICVzIOadpeWbnui9rOaNouS4jeS4gOiHtCIKIAotIzogY29udmVydC5jOjY3NAorIzogY29udmVydC5jOjY2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZm9yayB0byBydW4gZXh0ZXJuYWwgZmlsdGVyICclcyciCiBtc2dzdHIgIuS4jeiDvSBmb3JrIOS7peaJp+ihjOWklumDqOi/h+a7pOWZqCAnJXMnIgogCi0jOiBjb252ZXJ0LmM6Njk0CisjOiBjb252ZXJ0LmM6Njg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmZWVkIHRoZSBpbnB1dCB0byBleHRlcm5hbCBmaWx0ZXIgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95bCG6L6T5YWl5Lyg6YCS57uZ5aSW6YOo6L+H5ruk5ZmoICclcyciCiAKLSM6IGNvbnZlcnQuYzo3MDEKKyM6IGNvbnZlcnQuYzo2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkICVkIgogbXNnc3RyICLlpJbpg6jov4fmu6TlmaggJyVzJyDlpLHotKXnoIEgJWQiCiAKLSM6IGNvbnZlcnQuYzo3MzYgY29udmVydC5jOjczOQorIzogY29udmVydC5jOjczMCBjb252ZXJ0LmM6NzMzCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZnJvbSBleHRlcm5hbCBmaWx0ZXIgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIuS7juWklumDqOi/h+a7pOWZqCAnJXMnIOivu+WPluWksei0pSIKIAotIzogY29udmVydC5jOjc0MiBjb252ZXJ0LmM6Nzk2CisjOiBjb252ZXJ0LmM6NzM2IGNvbnZlcnQuYzo3OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkIgogbXNnc3RyICLlpJbpg6jov4fmu6TlmaggJyVzJyDlpLHotKUiCiAKLSM6IGNvbnZlcnQuYzo4NDQKKyM6IGNvbnZlcnQuYzo4MzkKIG1zZ2lkICJ1bmV4cGVjdGVkIGZpbHRlciB0eXBlIgogbXNnc3RyICLmhI/lpJbnmoTov4fmu6TnsbvlnosiCiAKLSM6IGNvbnZlcnQuYzo4NTUKKyM6IGNvbnZlcnQuYzo4NTAKIG1zZ2lkICJwYXRoIG5hbWUgdG9vIGxvbmcgZm9yIGV4dGVybmFsIGZpbHRlciIKIG1zZ3N0ciAi5aSW6YOo6L+H5ruk5Zmo55qE6Lev5b6E5ZCN5aSq6ZW/IgogCi0jOiBjb252ZXJ0LmM6OTI5CisjOiBjb252ZXJ0LmM6OTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleHRlcm5hbCBmaWx0ZXIgJyVzJyBpcyBub3QgYXZhaWxhYmxlIGFueW1vcmUgYWx0aG91Z2ggbm90IGFsbCBwYXRocyBoYXZlICIKICJiZWVuIGZpbHRlcmVkIgogbXNnc3RyICLlpJbpg6jov4fmu6TlmaggJyVzJyDkuI3lho3lj6/nlKjvvIzkvYblubbpnZ7miYDmnInot6/lvoTpg73lt7Lov4fmu6QiCiAKLSM6IGNvbnZlcnQuYzoxMjI4CisjOiBjb252ZXJ0LmM6MTIyMwogbXNnaWQgInRydWUvZmFsc2UgYXJlIG5vIHZhbGlkIHdvcmtpbmctdHJlZS1lbmNvZGluZ3MiCiBtc2dzdHIgInRydWUvZmFsc2Ug5LiN5piv5pyJ5pWI55qE5bel5L2c5Yy657yW56CBIgogCi0jOiBjb252ZXJ0LmM6MTM5OCBjb252ZXJ0LmM6MTQzMgorIzogY29udmVydC5jOjE0MTEgY29udmVydC5jOjE0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNsZWFuIGZpbHRlciAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAiJXPvvJpjbGVhbiDov4fmu6TlmaggJyVzJyDlpLHotKUiCiAKLSM6IGNvbnZlcnQuYzoxNDc2CisjOiBjb252ZXJ0LmM6MTQ4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc211ZGdlIGZpbHRlciAlcyBmYWlsZWQiCiBtc2dzdHIgIiVz77yac211ZGdlIOi/h+a7pOWZqCAlcyDlpLHotKUiCiAKLSM6IGRhdGUuYzoxMTYKKyM6IGRhdGUuYzoxMzgKIG1zZ2lkICJpbiB0aGUgZnV0dXJlIgogbXNnc3RyICLlnKjlsIbmnaUiCiAKLSM6IGRhdGUuYzoxMjIKKyM6IGRhdGUuYzoxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBzZWNvbmQgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHNlY29uZHMgYWdvIgogbXNnc3RyWzBdICIlPFBSSXVNQVg+IOenkumSn+WJjSIKIG1zZ3N0clsxXSAiJTxQUkl1TUFYPiDnp5Lpkp/liY0iCiAKLSM6IGRhdGUuYzoxMjkKKyM6IGRhdGUuYzoxNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBtaW51dGUgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1pbnV0ZXMgYWdvIgogbXNnc3RyWzBdICIlPFBSSXVNQVg+IOWIhumSn+WJjSIKIG1zZ3N0clsxXSAiJTxQUkl1TUFYPiDliIbpkp/liY0iCiAKLSM6IGRhdGUuYzoxMzYKKyM6IGRhdGUuYzoxNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiBob3VyIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBob3VycyBhZ28iCiBtc2dzdHJbMF0gIiU8UFJJdU1BWD4g5bCP5pe25YmNIgogbXNnc3RyWzFdICIlPFBSSXVNQVg+IOWwj+aXtuWJjSIKIAotIzogZGF0ZS5jOjE0MworIzogZGF0ZS5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IGRheSBhZ28iCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gZGF5cyBhZ28iCiBtc2dzdHJbMF0gIiU8UFJJdU1BWD4g5aSp5YmNIgogbXNnc3RyWzFdICIlPFBSSXVNQVg+IOWkqeWJjSIKIAotIzogZGF0ZS5jOjE0OQorIzogZGF0ZS5jOjE3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHdlZWsgYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHdlZWtzIGFnbyIKIG1zZ3N0clswXSAiJTxQUkl1TUFYPiDlkajliY0iCiBtc2dzdHJbMV0gIiU8UFJJdU1BWD4g5ZGo5YmNIgogCi0jOiBkYXRlLmM6MTU2CisjOiBkYXRlLmM6MTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiU8UFJJdU1BWD4gbW9udGggYWdvIgogbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1vbnRocyBhZ28iCiBtc2dzdHJbMF0gIiU8UFJJdU1BWD4g5Liq5pyI5YmNIgogbXNnc3RyWzFdICIlPFBSSXVNQVg+IOS4quaciOWJjSIKIAotIzogZGF0ZS5jOjE2NworIzogZGF0ZS5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlPFBSSXVNQVg+IHllYXIiCiBtc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4geWVhcnMiCkBAIC0yMjEwLDQwICsyODIzLDQwIEBACiBtc2dzdHJbMV0gIiU8UFJJdU1BWD4g5bm0IgogCiAjLiBUUkFOU0xBVE9SUzogIiVzIiBpcyAiPG4+IHllYXJzIgotIzogZGF0ZS5jOjE3MAorIzogZGF0ZS5jOjE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcywgJTxQUkl1TUFYPiBtb250aCBhZ28iCiBtc2dpZF9wbHVyYWwgIiVzLCAlPFBSSXVNQVg+IG1vbnRocyBhZ28iCiBtc2dzdHJbMF0gIiVzICU8UFJJdU1BWD4g5Liq5pyI5YmNIgogbXNnc3RyWzFdICIlcyAlPFBSSXVNQVg+IOS4quaciOWJjSIKIAotIzogZGF0ZS5jOjE3NSBkYXRlLmM6MTgwCisjOiBkYXRlLmM6MTk3IGRhdGUuYzoyMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJTxQUkl1TUFYPiB5ZWFyIGFnbyIKIG1zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiB5ZWFycyBhZ28iCiBtc2dzdHJbMF0gIiU8UFJJdU1BWD4g5bm05YmNIgogbXNnc3RyWzFdICIlPFBSSXVNQVg+IOW5tOWJjSIKIAotIzogZGVsdGEtaXNsYW5kcy5jOjI2OAorIzogZGVsdGEtaXNsYW5kcy5jOjI3MgogbXNnaWQgIlByb3BhZ2F0aW5nIGlzbGFuZCBtYXJrcyIKIG1zZ3N0ciAi5q2j5Zyo5Lyg5pKt5pWw5o2u5bKb5qCH6K6wIgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6Mjg2CisjOiBkZWx0YS1pc2xhbmRzLmM6MjkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCB0cmVlIG9iamVjdCAlcyIKIG1zZ3N0ciAi5Z2P55qE5qCR5a+56LGhICVzIgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6MzMwCisjOiBkZWx0YS1pc2xhbmRzLmM6MzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBsb2FkIGlzbGFuZCByZWdleCBmb3IgJyVzJzogJXMiCiBtc2dzdHIgIuacquiDveWKoOi9vSAnJXMnIOeahOaVsOaNruWym+ato+WImeihqOi+vuW8j++8miVzIgogCi0jOiBkZWx0YS1pc2xhbmRzLmM6Mzg2CisjOiBkZWx0YS1pc2xhbmRzLmM6MzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgImlzbGFuZCByZWdleCBmcm9tIGNvbmZpZyBoYXMgdG9vIG1hbnkgY2FwdHVyZSBncm91cHMgKG1heD0lZCkiCiBtc2dzdHIgIuadpeiHqiBjb25maWcg55qE5pWw5o2u5bKb5q2j5YiZ6KGo6L6+5byP5pyJ5aSq5aSa55qE5o2V6I6357uE77yI5pyA5aSaICVkIOS4qu+8iSIKIAotIzogZGVsdGEtaXNsYW5kcy5jOjQ2MgorIzogZGVsdGEtaXNsYW5kcy5jOjQ2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXJrZWQgJWQgaXNsYW5kcywgZG9uZS5cbiIKIG1zZ3N0ciAi5bey5qCH6K6wICVkIOS4quaVsOaNruWym++8jOe7k+adn+OAglxuIgpAQCAtMjI1MywyOCArMjg2NiwzMyBAQAogbXNnaWQgImZhaWxlZCB0byByZWFkIG9yZGVyZmlsZSAnJXMnIgogbXNnc3RyICLor7vlj5bmjpLluo/mlofku7YgJyVzJyDlpLHotKUiCiAKLSM6IGRpZmZjb3JlLXJlbmFtZS5jOjU0NAorIzogZGlmZmNvcmUtcmVuYW1lLmM6NTQzCiBtc2dpZCAiUGVyZm9ybWluZyBpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24iCiBtc2dzdHIgIuato+WcqOi/m+ihjOmdnueyvuehrueahOmHjeWRveWQjeaOoua1iyIKIAotIzogZGlmZi5jOjEwOAotIywgYy1mb3JtYXQKLW1zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhIHZhbHVlIgotbXNnc3RyICLpgInpobkgJyVzJyAg6ZyA6KaB5LiA5Liq5YC8IgorIzogZGlmZi1uby1pbmRleC5jOjIzOAorbXNnaWQgImdpdCBkaWZmIC0tbm8taW5kZXggWzxvcHRpb25zPl0gPHBhdGg+IDxwYXRoPiIKK21zZ3N0ciAiZ2l0IGRpZmYgLS1uby1pbmRleCBbPOmAiemhuT5dIDzot6/lvoQ+IDzot6/lvoQ+IgorCisjOiBkaWZmLW5vLWluZGV4LmM6MjYzCittc2dpZCAiIgorIk5vdCBhIGdpdCByZXBvc2l0b3J5LiBVc2UgLS1uby1pbmRleCB0byBjb21wYXJlIHR3byBwYXRocyBvdXRzaWRlIGEgd29ya2luZyAiCisidHJlZSIKK21zZ3N0ciAi5LiN5piv5LiA5LiqIGdpdCDku5PlupPjgILkvb/nlKggLS1uby1pbmRleCDmr5TovoPlt6XkvZzljLrkuYvlpJbnmoTkuKTkuKrot6/lvoQiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogZGlmZi5jOjE1OAorIzogZGlmZi5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZhaWxlZCB0byBwYXJzZSBkaXJzdGF0IGN1dC1vZmYgcGVyY2VudGFnZSAnJXMnXG4iCiBtc2dzdHIgIiAg5peg5rOV6Kej5p6QIGRpcnN0YXQg5oiq5q2i77yIY3V0LW9mZu+8ieeZvuWIhuavlCAnJXMnXG4iCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogZGlmZi5jOjE2MworIzogZGlmZi5jOjE2MAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFVua25vd24gZGlyc3RhdCBwYXJhbWV0ZXIgJyVzJ1xuIgogbXNnc3RyICIgIOacquefpeeahCBkaXJzdGF0IOWPguaVsCAnJXMnXG4iCiAKLSM6IGRpZmYuYzoyOTEKKyM6IGRpZmYuYzoyOTYKIG1zZ2lkICIiCiAiY29sb3IgbW92ZWQgc2V0dGluZyBtdXN0IGJlIG9uZSBvZiAnbm8nLCAnZGVmYXVsdCcsICdibG9ja3MnLCAnemVicmEnLCAiCiAiJ2RpbW1lZC16ZWJyYScsICdwbGFpbiciCkBAIC0yMjgyLDIzICsyOTAwLDI3IEBACiAi56e75Yqo55qE6aKc6Imy6K6+572u5b+F6aG75pivICdubyfjgIEnZGVmYXVsdCfjgIEnYmxvY2tzJ+OAgSd6ZWJyYSfjgIEnZGltbWVkX3plYnJhJyDmiJYgIgogIidwbGFpbiciCiAKLSM6IGRpZmYuYzozMTYKKyM6IGRpZmYuYzozMjQKICMsIGMtZm9ybWF0Ci1tc2dpZCAiaWdub3JpbmcgdW5rbm93biBjb2xvci1tb3ZlZC13cyBtb2RlICclcyciCi1tc2dzdHIgIuW/veeVpeacquefpeeahCBjb2xvci1tb3ZlZC13cyDmqKHlvI8gJyVzJyIKLQotIzogZGlmZi5jOjMyMwogbXNnaWQgIiIKLSJjb2xvci1tb3ZlZC13czogYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHdoaXRlICIKLSJzcGFjZSBtb2RlcyIKKyJ1bmtub3duIGNvbG9yLW1vdmVkLXdzIG1vZGUgJyVzJywgcG9zc2libGUgdmFsdWVzIGFyZSAnaWdub3JlLXNwYWNlLWNoYW5nZScsICIKKyInaWdub3JlLXNwYWNlLWF0LWVvbCcsICdpZ25vcmUtYWxsLXNwYWNlJywgJ2FsbG93LWluZGVudGF0aW9uLWNoYW5nZSciCittc2dzdHIgIiIKKyLmnKrnn6XnmoQgY29sb3ItbW92ZWQtd3Mg5qih5byPICclcyfvvIzlj6/og73nmoTlj5blgLzmnIkgJ2lnbm9yZS1zcGFjZS1jaGFuZ2Un44CBJ2lnbm9yZS0iCisic3BhY2UtYXQtZW9sJ+OAgSdpZ25vcmUtYWxsLXNwYWNlJ+OAgSdhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UnIgorCisjOiBkaWZmLmM6MzMyCittc2dpZCAiIgorImNvbG9yLW1vdmVkLXdzOiBhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgIgorIndoaXRlc3BhY2UgbW9kZXMiCiBtc2dzdHIgImNvbG9yLW1vdmVkLXdz77yaYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlIOS4jeiDveS4juWFtuWug+epuueZveWtl+espuaooeW8j+WFseeUqCIKIAotIzogZGlmZi5jOjM5NAorIzogZGlmZi5jOjQwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIHZhbHVlIGZvciAnZGlmZi5zdWJtb2R1bGUnIGNvbmZpZyB2YXJpYWJsZTogJyVzJyIKIG1zZ3N0ciAi6YWN572u5Y+Y6YePICdkaWZmLnN1Ym1vZHVsZScg5pyq55+l55qE5Y+W5YC877yaJyVzJyIKIAotIzogZGlmZi5jOjQ1NAorIzogZGlmZi5jOjQ2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiRm91bmQgZXJyb3JzIGluICdkaWZmLmRpcnN0YXQnIGNvbmZpZyB2YXJpYWJsZTpcbiIKQEAgLTIzMDcsMjQgKzI5MjksMzUgQEAKICLlj5HnjrDphY3nva7lj5jph48gJ2RpZmYuZGlyc3RhdCcg5Lit55qE6ZSZ6K+v77yaXG4iCiAiJXMiCiAKLSM6IGRpZmYuYzo0MTQwCisjOiBkaWZmLmM6NDIwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJleHRlcm5hbCBkaWZmIGRpZWQsIHN0b3BwaW5nIGF0ICVzIgogbXNnc3RyICLlpJbpg6ggZGlmZiDpgIDlh7rvvIzlgZzmraLlnKggJXMiCiAKLSM6IGRpZmYuYzo0NDgyCisjOiBkaWZmLmM6NDU0NwogbXNnaWQgIi0tbmFtZS1vbmx5LCAtLW5hbWUtc3RhdHVzLCAtLWNoZWNrIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItLW5hbWUtb25seeOAgS0tbmFtZS1zdGF0dXPjgIEtLWNoZWNrIOWSjCAtcyDmmK/kupLmlqXnmoQiCiAKLSM6IGRpZmYuYzo0NDg1CisjOiBkaWZmLmM6NDU1MAogbXNnaWQgIi1HLCAtUyBhbmQgLS1maW5kLW9iamVjdCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItR+OAgS1TIOWSjCAtLWZpbmQtb2JqZWN0IOaYr+S6kuaWpeeahCIKIAotIzogZGlmZi5jOjQ1NjMKKyM6IGRpZmYuYzo0NjI4CiBtc2dpZCAiLS1mb2xsb3cgcmVxdWlyZXMgZXhhY3RseSBvbmUgcGF0aHNwZWMiCiBtc2dzdHIgIi0tZm9sbG93IOaYjuehruimgeaxguWPqui3n+S4gOS4qui3r+W+hOinhOagvCIKIAotIzogZGlmZi5jOjQ3MjkKKyM6IGRpZmYuYzo0Njc2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgLS1zdGF0IHZhbHVlOiAlcyIKK21zZ3N0ciAi5peg5pWI55qEIC0tc3RhdCDlgLzvvJolcyIKKworIzogZGlmZi5jOjQ2ODEgZGlmZi5jOjQ2ODYgZGlmZi5jOjQ2OTEgZGlmZi5jOjQ2OTYgZGlmZi5jOjUyMDkKKyM6IHBhcnNlLW9wdGlvbnMuYzoxOTkgcGFyc2Utb3B0aW9ucy5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgorbXNnc3RyICIlcyDmnJ/mnJvkuIDkuKrmlbDlrZflgLwiCisKKyM6IGRpZmYuYzo0NzEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJGYWlsZWQgdG8gcGFyc2UgLS1kaXJzdGF0Ly1YIG9wdGlvbiBwYXJhbWV0ZXI6XG4iCkBAIC0yMzMzLDU5ICsyOTY2LDU0OSBAQAogIuaXoOazleino+aekCAtLWRpcnN0YXQvLVgg6YCJ6aG555qE5Y+C5pWw77yaXG4iCiAiJXMiCiAKLSM6IGRpZmYuYzo0NzQzCisjOiBkaWZmLmM6NDc5OAogIywgYy1mb3JtYXQKLW1zZ2lkICJGYWlsZWQgdG8gcGFyc2UgLS1zdWJtb2R1bGUgb3B0aW9uIHBhcmFtZXRlcjogJyVzJyIKK21zZ2lkICJ1bmtub3duIGNoYW5nZSBjbGFzcyAnJWMnIGluIC0tZGlmZi1maWx0ZXI9JXMiCittc2dzdHIgIi0tZGlmZi1maWx0ZXI9JTIkcyDkuK3mnKrnn6XnmoTlj5jmm7TnsbsgJyUxJGMnIgorCisjOiBkaWZmLmM6NDgyMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHZhbHVlIGFmdGVyIHdzLWVycm9yLWhpZ2hsaWdodD0lLipzIgorbXNnc3RyICJ3cy1lcnJvci1oaWdobGlnaHQ9JS4qcyDkuYvlkI7mnKrnn6XnmoTlgLwiCisKKyM6IGRpZmYuYzo0ODM2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlICclcyciCittc2dzdHIgIuS4jeiDveino+aekCAnJXMnIgorCisjOiBkaWZmLmM6NDg4NiBkaWZmLmM6NDg5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIDxuPi88bT4gZm9ybSIKK21zZ3N0ciAiJXMg5pyf5pybIDxuPi88bT4g5qC85byPIgorCisjOiBkaWZmLmM6NDkwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIGEgY2hhcmFjdGVyLCBnb3QgJyVzJyIKK21zZ3N0ciAiJXMg5pyf5pyb5LiA5Liq5a2X56ym77yM5b6X5YiwICclcyciCisKKyM6IGRpZmYuYzo0OTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCAtLWNvbG9yLW1vdmVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5Z2P55qEIC0tY29sb3ItbW92ZWQg5Y+C5pWw77yaJXMiCisKKyM6IGRpZmYuYzo0OTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbW9kZSAnJXMnIGluIC0tY29sb3ItbW92ZWQtd3MiCittc2dzdHIgIi0tY29sb3ItbW92ZWQtd3Mg5Lit55qE5peg5pWI5qih5byPICclcycgIgorCisjOiBkaWZmLmM6NDk4NAorbXNnaWQgIiIKKyJvcHRpb24gZGlmZi1hbGdvcml0aG0gYWNjZXB0cyBcIm15ZXJzXCIsIFwibWluaW1hbFwiLCBcInBhdGllbmNlXCIgYW5kICIKKyJcImhpc3RvZ3JhbVwiIgorbXNnc3RyICIiCisiZGlmZi1hbGdvcml0aG0g6YCJ6aG55pyJIFwibXllcnNcIuOAgVwibWluaW1hbFwi44CBXCJwYXRpZW5jZVwiIOWSjCBcImhpc3RvZ3JhbVwiIgorCisjOiBkaWZmLmM6NTAyMCBkaWZmLmM6NTA0MAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvICVzIgorbXNnc3RyICIlcyDnmoTlj4LmlbDml6DmlYgiCisKKyM6IGRpZmYuYzo1MTc4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgogbXNnc3RyICLml6Dms5Xop6PmnpAgLS1zdWJtb2R1bGUg6YCJ6aG555qE5Y+C5pWw77yaJyVzJyIKIAotIzogZGlmZi5jOjU4MjMKKyM6IGRpZmYuYzo1MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCAtLXdvcmQtZGlmZiBhcmd1bWVudDogJXMiCittc2dzdHIgIuWdj+eahCAtLXdvcmQtZGlmZiDlj4LmlbDvvJolcyIKKworIzogZGlmZi5jOjUyNTcKK21zZ2lkICJEaWZmIG91dHB1dCBmb3JtYXQgb3B0aW9ucyIKK21zZ3N0ciAi5beu5byC6L6T5Ye65qC85byP5YyW6YCJ6aG5IgorCisjOiBkaWZmLmM6NTI1OSBkaWZmLmM6NTI2NQorbXNnaWQgImdlbmVyYXRlIHBhdGNoIgorbXNnc3RyICLnlJ/miJDooaXkuIEiCisKKyM6IGRpZmYuYzo1MjYyIGJ1aWx0aW4vbG9nLmM6MTczCittc2dpZCAic3VwcHJlc3MgZGlmZiBvdXRwdXQiCittc2dzdHIgIuS4jeaYvuekuuW3ruW8gui+k+WHuiIKKworIzogZGlmZi5jOjUyNjcgZGlmZi5jOjUzODEgZGlmZi5jOjUzODgKK21zZ2lkICI8bj4iCittc2dzdHIgIjxuPiIKKworIzogZGlmZi5jOjUyNjggZGlmZi5jOjUyNzEKK21zZ2lkICJnZW5lcmF0ZSBkaWZmcyB3aXRoIDxuPiBsaW5lcyBjb250ZXh0IgorbXNnc3RyICLnlJ/miJDlkKsgPG4+IOihjOS4iuS4i+aWh+eahOW3ruW8giIKKworIzogZGlmZi5jOjUyNzMKK21zZ2lkICJnZW5lcmF0ZSB0aGUgZGlmZiBpbiByYXcgZm9ybWF0IgorbXNnc3RyICLnlJ/miJDljp/lp4vmoLzlvI/nmoTlt67lvIIiCisKKyM6IGRpZmYuYzo1Mjc2Cittc2dpZCAic3lub255bSBmb3IgJy1wIC0tcmF3JyIKK21zZ3N0ciAi5ZKMICctcCAtLXJhdycg5ZCM5LmJIgorCisjOiBkaWZmLmM6NTI4MAorbXNnaWQgInN5bm9ueW0gZm9yICctcCAtLXN0YXQnIgorbXNnc3RyICLlkowgJy1wIC0tc3RhdCcg5ZCM5LmJIgorCisjOiBkaWZmLmM6NTI4NAorbXNnaWQgIm1hY2hpbmUgZnJpZW5kbHkgLS1zdGF0IgorbXNnc3RyICLmnLrlmajlj4vlpb3nmoQgLS1zdGF0IgorCisjOiBkaWZmLmM6NTI4NworbXNnaWQgIm91dHB1dCBvbmx5IHRoZSBsYXN0IGxpbmUgb2YgLS1zdGF0IgorbXNnc3RyICLlj6rovpPlh7ogLS1zdGF0IOeahOacgOWQjuS4gOihjCIKKworIzogZGlmZi5jOjUyODkgZGlmZi5jOjUyOTcKK21zZ2lkICI8cGFyYW0xLHBhcmFtMj4uLi4iCittc2dzdHIgIjzlj4LmlbAxLOWPguaVsDI+Li4uIgorCisjOiBkaWZmLmM6NTI5MAorbXNnaWQgIiIKKyJvdXRwdXQgdGhlIGRpc3RyaWJ1dGlvbiBvZiByZWxhdGl2ZSBhbW91bnQgb2YgY2hhbmdlcyBmb3IgZWFjaCBzdWItZGlyZWN0b3J5IgorbXNnc3RyICLovpPlh7rmr4/kuKrlrZDnm67lvZXnm7jlr7nlj5jmm7TnmoTliIbluIMiCisKKyM6IGRpZmYuYzo1Mjk0Cittc2dpZCAic3lub255bSBmb3IgLS1kaXJzdGF0PWN1bXVsYXRpdmUiCittc2dzdHIgIuWSjCAtLWRpcnN0YXQ9Y3VtdWxhdGl2ZSDlkIzkuYkiCisKKyM6IGRpZmYuYzo1Mjk4Cittc2dpZCAic3lub255bSBmb3IgLS1kaXJzdGF0PWZpbGVzLHBhcmFtMSxwYXJhbTIuLi4iCittc2dzdHIgIuaYryAtLWRpcnN0YXQ9ZmlsZXMscGFyYW0xLHBhcmFtMi4uLiDnmoTlkIzkuYnor40iCisKKyM6IGRpZmYuYzo1MzAyCittc2dpZCAid2FybiBpZiBjaGFuZ2VzIGludHJvZHVjZSBjb25mbGljdCBtYXJrZXJzIG9yIHdoaXRlc3BhY2UgZXJyb3JzIgorbXNnc3RyICLlpoLmnpzlj5jmm7TkuK3lvJXlhaXlhrLnqoHlrprnlYznrKbmiJbnqbrnmb3plJnor6/vvIznu5nlh7rorablkYoiCisKKyM6IGRpZmYuYzo1MzA1Cittc2dpZCAiY29uZGVuc2VkIHN1bW1hcnkgc3VjaCBhcyBjcmVhdGlvbnMsIHJlbmFtZXMgYW5kIG1vZGUgY2hhbmdlcyIKK21zZ3N0ciAi57K+566A5pGY6KaB77yM5L6L5aaC5Yib5bu644CB6YeN5ZG95ZCN5ZKM5qih5byP5Y+Y5pu0IgorCisjOiBkaWZmLmM6NTMwOAorbXNnaWQgInNob3cgb25seSBuYW1lcyBvZiBjaGFuZ2VkIGZpbGVzIgorbXNnc3RyICLlj6rmmL7npLrlj5jmm7Tmlofku7bnmoTmlofku7blkI0iCisKKyM6IGRpZmYuYzo1MzExCittc2dpZCAic2hvdyBvbmx5IG5hbWVzIGFuZCBzdGF0dXMgb2YgY2hhbmdlZCBmaWxlcyIKK21zZ3N0ciAi5Y+q5pi+56S65Y+Y5pu05paH5Lu255qE5paH5Lu25ZCN5ZKM54q25oCBIgorCisjOiBkaWZmLmM6NTMxMworbXNnaWQgIjx3aWR0aD5bLDxuYW1lLXdpZHRoPlssPGNvdW50Pl1dIgorbXNnc3RyICI85a695bqmPlssPOaWh+S7tuWQjeWuveW6pj5bLDzmrKHmlbA+XV0iCisKKyM6IGRpZmYuYzo1MzE0Cittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQiCittc2dzdHIgIueUn+aIkOW3ruW8gue7n+iuoe+8iGRpZmZzdGF077yJIgorCisjOiBkaWZmLmM6NTMxNiBkaWZmLmM6NTMxOSBkaWZmLmM6NTMyMgorbXNnaWQgIjx3aWR0aD4iCittc2dzdHIgIjzlrr3luqY+IgorCisjOiBkaWZmLmM6NTMxNworbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggYSBnaXZlbiB3aWR0aCIKK21zZ3N0ciAi5L2/55So57uZ5a6a55qE6ZW/5bqm55Sf5oiQ5beu5byC57uf6K6hIgorCisjOiBkaWZmLmM6NTMyMAorbXNnaWQgImdlbmVyYXRlIGRpZmZzdGF0IHdpdGggYSBnaXZlbiBuYW1lIHdpZHRoIgorbXNnc3RyICLkvb/nlKjnu5nlrprnmoTmlofku7blkI3plb/luqbnlJ/miJDlt67lvILnu5/orqEiCisKKyM6IGRpZmYuYzo1MzIzCittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBhIGdpdmVuIGdyYXBoIHdpZHRoIgorbXNnc3RyICLkvb/nlKjnu5nlrprnmoTlm77lvaLplb/luqbnlJ/miJDlt67lvILnu5/orqEiCisKKyM6IGRpZmYuYzo1MzI1Cittc2dpZCAiPGNvdW50PiIKK21zZ3N0ciAiPOasoeaVsD4iCisKKyM6IGRpZmYuYzo1MzI2Cittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBsaW1pdGVkIGxpbmVzIgorbXNnc3RyICLnlJ/miJDmnInpmZDooYzmlbDnmoTlt67lvILnu5/orqEiCisKKyM6IGRpZmYuYzo1MzI5Cittc2dpZCAiZ2VuZXJhdGUgY29tcGFjdCBzdW1tYXJ5IGluIGRpZmZzdGF0IgorbXNnc3RyICLnlJ/miJDlt67lvILnu5/orqHnmoTnroDmtIHmkZjopoEiCisKKyM6IGRpZmYuYzo1MzMyCittc2dpZCAib3V0cHV0IGEgYmluYXJ5IGRpZmYgdGhhdCBjYW4gYmUgYXBwbGllZCIKK21zZ3N0ciAi6L6T5Ye65LiA5Liq5Y+v5Lul5bqU55So55qE5LqM6L+b5Yi25beu5byCIgorCisjOiBkaWZmLmM6NTMzNQorbXNnaWQgInNob3cgZnVsbCBwcmUtIGFuZCBwb3N0LWltYWdlIG9iamVjdCBuYW1lcyBvbiB0aGUgXCJpbmRleFwiIGxpbmVzIgorbXNnc3RyICLlnKggXCJpbmRleFwiIOihjOaYvuekuuWujOaVtOeahOWJjeWQjuWvueixoeWQjeensCIKKworIzogZGlmZi5jOjUzMzcKK21zZ2lkICJzaG93IGNvbG9yZWQgZGlmZiIKK21zZ3N0ciAi5pi+56S65bim6aKc6Imy55qE5beu5byCIgorCisjOiBkaWZmLmM6NTMzOAorbXNnaWQgIjxraW5kPiIKK21zZ3N0ciAiPOexu+Weiz4iCisKKyM6IGRpZmYuYzo1MzM5Cittc2dpZCAiIgorImhpZ2hsaWdodCB3aGl0ZXNwYWNlIGVycm9ycyBpbiB0aGUgJ2NvbnRleHQnLCAnb2xkJyBvciAnbmV3JyBsaW5lcyBpbiB0aGUgIgorImRpZmYiCittc2dzdHIgIuWvueS6juW3ruW8guS4reeahOS4iuS4i+aWh+OAgeaXp+eahOWSjOaWsOeahOihjO+8jOWKoOS6ruaYvuekuumUmeivr+eahOepuueZveWtl+espiIKKworIzogZGlmZi5jOjUzNDIKK21zZ2lkICIiCisiZG8gbm90IG11bmdlIHBhdGhuYW1lcyBhbmQgdXNlIE5VTHMgYXMgb3V0cHV0IGZpZWxkIHRlcm1pbmF0b3JzIGluIC0tcmF3IG9yICIKKyItLW51bXN0YXQiCittc2dzdHIgIiIKKyLlnKggLS1yYXcg5oiW6ICFIC0tbnVtc3RhdCDkuK3vvIzkuI3lr7not6/lvoTlrZfnrKbovaznoIHlubbkvb/nlKggTlVMIOWtl+espuWBmuS4uui+k+WHuuWtl+auteeahOWIhumalCIKKyLnrKYiCisKKyM6IGRpZmYuYzo1MzQ1IGRpZmYuYzo1MzQ4IGRpZmYuYzo1MzUxIGRpZmYuYzo1NDU3Cittc2dpZCAiPHByZWZpeD4iCittc2dzdHIgIjzliY3nvIA+IgorCisjOiBkaWZmLmM6NTM0NgorbXNnaWQgInNob3cgdGhlIGdpdmVuIHNvdXJjZSBwcmVmaXggaW5zdGVhZCBvZiBcImEvXCIiCittc2dzdHIgIuaYvuekuue7meWumueahOa6kOWJjee8gOWPluS7oyBcImEvXCIiCisKKyM6IGRpZmYuYzo1MzQ5Cittc2dpZCAic2hvdyB0aGUgZ2l2ZW4gZGVzdGluYXRpb24gcHJlZml4IGluc3RlYWQgb2YgXCJiL1wiIgorbXNnc3RyICLmmL7npLrnu5nlrprnmoTnm67moIfliY3nvIDlj5bku6MgXCJiL1wiIgorCisjOiBkaWZmLmM6NTM1MgorbXNnaWQgInByZXBlbmQgYW4gYWRkaXRpb25hbCBwcmVmaXggdG8gZXZlcnkgbGluZSBvZiBvdXRwdXQiCittc2dzdHIgIui+k+WHuueahOavj+S4gOihjOmZhOWKoOWJjee8gCIKKworIzogZGlmZi5jOjUzNTUKK21zZ2lkICJkbyBub3Qgc2hvdyBhbnkgc291cmNlIG9yIGRlc3RpbmF0aW9uIHByZWZpeCIKK21zZ3N0ciAi5LiN5pi+56S65Lu75L2V5rqQ5ZKM55uu5qCH5YmN57yAIgorCisjOiBkaWZmLmM6NTM1OAorbXNnaWQgInNob3cgY29udGV4dCBiZXR3ZWVuIGRpZmYgaHVua3MgdXAgdG8gdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbGluZXMiCittc2dzdHIgIuaYvuekuuaMh+WumuihjOaVsOeahOW3ruW8guWdl+mXtOeahOS4iuS4i+aWhyIKKworIzogZGlmZi5jOjUzNjIgZGlmZi5jOjUzNjcgZGlmZi5jOjUzNzIKK21zZ2lkICI8Y2hhcj4iCittc2dzdHIgIjzlrZfnrKY+IgorCisjOiBkaWZmLmM6NTM2MworbXNnaWQgInNwZWNpZnkgdGhlIGNoYXJhY3RlciB0byBpbmRpY2F0ZSBhIG5ldyBsaW5lIGluc3RlYWQgb2YgJysnIgorbXNnc3RyICLmjIflrprkuIDkuKrlrZfnrKblj5bku6MgJysnIOadpeihqOekuuaWsOeahOS4gOihjCIKKworIzogZGlmZi5jOjUzNjgKK21zZ2lkICJzcGVjaWZ5IHRoZSBjaGFyYWN0ZXIgdG8gaW5kaWNhdGUgYW4gb2xkIGxpbmUgaW5zdGVhZCBvZiAnLSciCittc2dzdHIgIuaMh+WumuS4gOS4quWtl+espuWPluS7oyAnLScg5p2l6KGo56S65pen55qE5LiA6KGMIgorCisjOiBkaWZmLmM6NTM3MworbXNnaWQgInNwZWNpZnkgdGhlIGNoYXJhY3RlciB0byBpbmRpY2F0ZSBhIGNvbnRleHQgaW5zdGVhZCBvZiAnICciCittc2dzdHIgIuaMh+WumuS4gOS4quWtl+espuWPluS7oyAnICcg5p2l6KGo56S65LiA6KGM5LiK5LiL5paHIgorCisjOiBkaWZmLmM6NTM3NgorbXNnaWQgIkRpZmYgcmVuYW1lIG9wdGlvbnMiCittc2dzdHIgIuW3ruW8gumHjeWRveWQjemAiemhuSIKKworIzogZGlmZi5jOjUzNzcKK21zZ2lkICI8bj5bLzxtPl0iCittc2dzdHIgIjxuPlsvPG0+XSIKKworIzogZGlmZi5jOjUzNzgKK21zZ2lkICJicmVhayBjb21wbGV0ZSByZXdyaXRlIGNoYW5nZXMgaW50byBwYWlycyBvZiBkZWxldGUgYW5kIGNyZWF0ZSIKK21zZ3N0ciAi5bCG5a6M5YWo6YeN5YaZ55qE5Y+Y5pu05omT56C05Li65oiQ5a+555qE5Yig6Zmk5ZKM5Yib5bu6IgorCisjOiBkaWZmLmM6NTM4MgorbXNnaWQgImRldGVjdCByZW5hbWVzIgorbXNnc3RyICLmo4DmtYvph43lkb3lkI0iCisKKyM6IGRpZmYuYzo1Mzg2Cittc2dpZCAib21pdCB0aGUgcHJlaW1hZ2UgZm9yIGRlbGV0ZXMiCittc2dzdHIgIuecgeeVpeWIoOmZpOaTjeS9nOeahOW3ruW8gui+k+WHuiIKKworIzogZGlmZi5jOjUzODkKK21zZ2lkICJkZXRlY3QgY29waWVzIgorbXNnc3RyICLmo4DmtYvmi7fotJ0iCisKKyM6IGRpZmYuYzo1MzkzCittc2dpZCAidXNlIHVubW9kaWZpZWQgZmlsZXMgYXMgc291cmNlIHRvIGZpbmQgY29waWVzIgorbXNnc3RyICLkvb/nlKjmnKrkv67mlLnnmoTmlofku7blgZrkuLrlj5HnjrDmi7fotJ3nmoTmupAiCisKKyM6IGRpZmYuYzo1Mzk1Cittc2dpZCAiZGlzYWJsZSByZW5hbWUgZGV0ZWN0aW9uIgorbXNnc3RyICLnpoHnlKjph43lkb3lkI3mjqLmtYsiCisKKyM6IGRpZmYuYzo1Mzk4Cittc2dpZCAidXNlIGVtcHR5IGJsb2JzIGFzIHJlbmFtZSBzb3VyY2UiCittc2dzdHIgIuS9v+eUqOepuueahOaVsOaNruWvueixoeWBmuS4uumHjeWRveWQjeeahOa6kCIKKworIzogZGlmZi5jOjU0MDAKK21zZ2lkICJjb250aW51ZSBsaXN0aW5nIHRoZSBoaXN0b3J5IG9mIGEgZmlsZSBiZXlvbmQgcmVuYW1lcyIKK21zZ3N0ciAi57un57ut5YiX5Ye65paH5Lu26YeN5ZG95ZCN5Lul5aSW55qE5Y6G5Y+y6K6w5b2VIgorCisjOiBkaWZmLmM6NTQwMworbXNnaWQgIiIKKyJwcmV2ZW50IHJlbmFtZS9jb3B5IGRldGVjdGlvbiBpZiB0aGUgbnVtYmVyIG9mIHJlbmFtZS9jb3B5IHRhcmdldHMgZXhjZWVkcyAiCisiZ2l2ZW4gbGltaXQiCittc2dzdHIgIuWmguaenOmHjeWRveWQjS/mi7fotJ3nm67moIfotoXov4fnu5nlrprnmoTpmZDliLbvvIznpoHmraLph43lkb3lkI0v5ou36LSd5qOA5rWLIgorCisjOiBkaWZmLmM6NTQwNQorbXNnaWQgIkRpZmYgYWxnb3JpdGhtIG9wdGlvbnMiCittc2dzdHIgIuW3ruW8gueul+azlemAiemhuSIKKworIzogZGlmZi5jOjU0MDcKK21zZ2lkICJwcm9kdWNlIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSBkaWZmIgorbXNnc3RyICLnlJ/miJDlsL3lj6/og73lsI/nmoTlt67lvIIiCisKKyM6IGRpZmYuYzo1NDEwCittc2dpZCAiaWdub3JlIHdoaXRlc3BhY2Ugd2hlbiBjb21wYXJpbmcgbGluZXMiCittc2dzdHIgIuihjOavlOi+g+aXtuW/veeVpeepuueZveWtl+espiIKKworIzogZGlmZi5jOjU0MTMKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiBhbW91bnQgb2Ygd2hpdGVzcGFjZSIKK21zZ3N0ciAi5b+955Wl56m655m95a2X56ym55qE5Y+Y5pu0IgorCisjOiBkaWZmLmM6NTQxNgorbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2UgYXQgRU9MIgorbXNnc3RyICLlv73nlaXooYzlsL7nmoTnqbrnmb3lrZfnrKblj5jmm7QiCisKKyM6IGRpZmYuYzo1NDE5Cittc2dpZCAiaWdub3JlIGNhcnJpZXItcmV0dXJuIGF0IHRoZSBlbmQgb2YgbGluZSIKK21zZ3N0ciAi5b+955Wl6KGM5bC+55qE5Zue6L2m56ym77yIQ1LvvIkiCisKKyM6IGRpZmYuYzo1NDIyCittc2dpZCAiaWdub3JlIGNoYW5nZXMgd2hvc2UgbGluZXMgYXJlIGFsbCBibGFuayIKK21zZ3N0ciAi5b+955Wl5pW06KGM6YO95piv56m655m955qE5Y+Y5pu0IgorCisjOiBkaWZmLmM6NTQyNQorbXNnaWQgImhldXJpc3RpYyB0byBzaGlmdCBkaWZmIGh1bmsgYm91bmRhcmllcyBmb3IgZWFzeSByZWFkaW5nIgorbXNnc3RyICLlkK/lj5HlvI/ovazmjaLlt67lvILovrnnlYzku6Xkvr/pmIXor7siCisKKyM6IGRpZmYuYzo1NDI4Cittc2dpZCAiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJwYXRpZW5jZSBkaWZmXCIgYWxnb3JpdGhtIgorbXNnc3RyICLkvb/nlKggXCJwYXRpZW5jZSBkaWZmXCIg566X5rOV55Sf5oiQ5beu5byCIgorCisjOiBkaWZmLmM6NTQzMgorbXNnaWQgImdlbmVyYXRlIGRpZmYgdXNpbmcgdGhlIFwiaGlzdG9ncmFtIGRpZmZcIiBhbGdvcml0aG0iCittc2dzdHIgIuS9v+eUqCBcImhpc3RvZ3JhbSBkaWZmXCIg566X5rOV55Sf5oiQ5beu5byCIgorCisjOiBkaWZmLmM6NTQzNAorbXNnaWQgIjxhbGdvcml0aG0+IgorbXNnc3RyICI8566X5rOVPiIKKworIzogZGlmZi5jOjU0MzUKK21zZ2lkICJjaG9vc2UgYSBkaWZmIGFsZ29yaXRobSIKK21zZ3N0ciAi6YCJ5oup5LiA5Liq5beu5byC566X5rOVIgorCisjOiBkaWZmLmM6NTQzNworbXNnaWQgIjx0ZXh0PiIKK21zZ3N0ciAiPOaWh+acrD4iCisKKyM6IGRpZmYuYzo1NDM4Cittc2dpZCAiZ2VuZXJhdGUgZGlmZiB1c2luZyB0aGUgXCJhbmNob3JlZCBkaWZmXCIgYWxnb3JpdGhtIgorbXNnc3RyICLkvb/nlKggXCJhbmNob3JlZCBkaWZmXCIg566X5rOV55Sf5oiQ5beu5byCIgorCisjOiBkaWZmLmM6NTQ0MCBkaWZmLmM6NTQ0OSBkaWZmLmM6NTQ1MgorbXNnaWQgIjxtb2RlPiIKK21zZ3N0ciAiPOaooeW8jz4iCisKKyM6IGRpZmYuYzo1NDQxCittc2dpZCAic2hvdyB3b3JkIGRpZmYsIHVzaW5nIDxtb2RlPiB0byBkZWxpbWl0IGNoYW5nZWQgd29yZHMiCittc2dzdHIgIuaYvuekuuWNleivjeW3ruW8gu+8jOS9v+eUqCA85qih5byPPiDliIbpmpTlj5jmm7TnmoTljZXor40iCisKKyM6IGRpZmYuYzo1NDQzIGRpZmYuYzo1NDQ2IGRpZmYuYzo1NDkxCittc2dpZCAiPHJlZ2V4PiIKK21zZ3N0ciAiPOato+WImT4iCisKKyM6IGRpZmYuYzo1NDQ0Cittc2dpZCAidXNlIDxyZWdleD4gdG8gZGVjaWRlIHdoYXQgYSB3b3JkIGlzIgorbXNnc3RyICLkvb/nlKggPOato+WImeihqOi+vuW8jz4g56Gu5a6a5L2V5Li65LiA5Liq6K+NIgorCisjOiBkaWZmLmM6NTQ0NworbXNnaWQgImVxdWl2YWxlbnQgdG8gLS13b3JkLWRpZmY9Y29sb3IgLS13b3JkLWRpZmYtcmVnZXg9PHJlZ2V4PiIKK21zZ3N0ciAi55u45b2T5LqOIC0td29yZC1kaWZmPWNvbG9yIC0td29yZC1kaWZmLXJlZ2V4PTzmraPliJk+IgorCisjOiBkaWZmLmM6NTQ1MAorbXNnaWQgIm1vdmVkIGxpbmVzIG9mIGNvZGUgYXJlIGNvbG9yZWQgZGlmZmVyZW50bHkiCittc2dzdHIgIuenu+WKqOeahOS7o+eggeihjOeUqOS4jeWQjOaWueW8j+edgOiJsiIKKworIzogZGlmZi5jOjU0NTMKK21zZ2lkICJob3cgd2hpdGUgc3BhY2VzIGFyZSBpZ25vcmVkIGluIC0tY29sb3ItbW92ZWQiCittc2dzdHIgIuWcqCAtLWNvbG9yLW1vdmVkIOS4i+WmguS9leW/veeVpeepuueZveWtl+espiIKKworIzogZGlmZi5jOjU0NTYKK21zZ2lkICJPdGhlciBkaWZmIG9wdGlvbnMiCittc2dzdHIgIuWFtuWug+W3ruW8gumAiemhuSIKKworIzogZGlmZi5jOjU0NTgKK21zZ2lkICJ3aGVuIHJ1biBmcm9tIHN1YmRpciwgZXhjbHVkZSBjaGFuZ2VzIG91dHNpZGUgYW5kIHNob3cgcmVsYXRpdmUgcGF0aHMiCittc2dzdHIgIuW9k+S7juWtkOebruW9lei/kOihjO+8jOaOkumZpOebruW9leS5i+WklueahOWPmOabtOW5tuaYvuekuuebuOWvuei3r+W+hCIKKworIzogZGlmZi5jOjU0NjIKK21zZ2lkICJ0cmVhdCBhbGwgZmlsZXMgYXMgdGV4dCIKK21zZ3N0ciAi5oqK5omA5pyJ5paH5Lu25b2T5YGa5paH5pys5aSE55CGIgorCisjOiBkaWZmLmM6NTQ2NAorbXNnaWQgInN3YXAgdHdvIGlucHV0cywgcmV2ZXJzZSB0aGUgZGlmZiIKK21zZ3N0ciAi5Lqk5o2i5Lik5Liq6L6T5YWl77yM5Y+N6L2s5beu5byCIgorCisjOiBkaWZmLmM6NTQ2NgorbXNnaWQgImV4aXQgd2l0aCAxIGlmIHRoZXJlIHdlcmUgZGlmZmVyZW5jZXMsIDAgb3RoZXJ3aXNlIgorbXNnc3RyICLmnInlt67lvILml7bpgIDlh7rnoIHkuLogMe+8jOWQpuWImeS4uiAwIgorCisjOiBkaWZmLmM6NTQ2OAorbXNnaWQgImRpc2FibGUgYWxsIG91dHB1dCBvZiB0aGUgcHJvZ3JhbSIKK21zZ3N0ciAi56aB55So5pys56iL5bqP55qE5omA5pyJ6L6T5Ye6IgorCisjOiBkaWZmLmM6NTQ3MAorbXNnaWQgImFsbG93IGFuIGV4dGVybmFsIGRpZmYgaGVscGVyIHRvIGJlIGV4ZWN1dGVkIgorbXNnc3RyICLlhYHorrjmiafooYzkuIDkuKrlpJbnva7nmoTlt67lvILliqnmiYsiCisKKyM6IGRpZmYuYzo1NDcyCittc2dpZCAicnVuIGV4dGVybmFsIHRleHQgY29udmVyc2lvbiBmaWx0ZXJzIHdoZW4gY29tcGFyaW5nIGJpbmFyeSBmaWxlcyIKK21zZ3N0ciAi5b2T5q+U6L6D5LqM6L+b5Yi25paH5Lu25pe277yM6L+Q6KGM5aSW6YOo55qE5paH5pys6L2s5o2i6L+H5ruk5ZmoIgorCisjOiBkaWZmLmM6NTQ3NAorbXNnaWQgIjx3aGVuPiIKK21zZ3N0ciAiPOS9leaXtj4iCisKKyM6IGRpZmYuYzo1NDc1Cittc2dpZCAiaWdub3JlIGNoYW5nZXMgdG8gc3VibW9kdWxlcyBpbiB0aGUgZGlmZiBnZW5lcmF0aW9uIgorbXNnc3RyICLlnKjnlJ/miJDlt67lvILml7bvvIzlv73nlaXlrZDmqKHnu4TnmoTmm7TmlLkiCisKKyM6IGRpZmYuYzo1NDc4Cittc2dpZCAiPGZvcm1hdD4iCittc2dzdHIgIjzmoLzlvI8+IgorCisjOiBkaWZmLmM6NTQ3OQorbXNnaWQgInNwZWNpZnkgaG93IGRpZmZlcmVuY2VzIGluIHN1Ym1vZHVsZXMgYXJlIHNob3duIgorbXNnc3RyICLmjIflrprlrZDmqKHnu4TnmoTlt67lvILlpoLkvZXmmL7npLoiCisKKyM6IGRpZmYuYzo1NDgzCittc2dpZCAiaGlkZSAnZ2l0IGFkZCAtTicgZW50cmllcyBmcm9tIHRoZSBpbmRleCIKK21zZ3N0ciAi6ZqQ6JeP57Si5byV5LitICdnaXQgYWRkIC1OJyDmnaHnm64iCisKKyM6IGRpZmYuYzo1NDg2Cittc2dpZCAidHJlYXQgJ2dpdCBhZGQgLU4nIGVudHJpZXMgYXMgcmVhbCBpbiB0aGUgaW5kZXgiCittc2dzdHIgIuWwhue0ouW8leS4rSAnZ2l0IGFkZCAtTicg5p2h55uu5b2T5YGa55yf5a6e55qEIgorCisjOiBkaWZmLmM6NTQ4OAorbXNnaWQgIjxzdHJpbmc+IgorbXNnc3RyICI85a2X56ym5LiyPiIKKworIzogZGlmZi5jOjU0ODkKK21zZ2lkICIiCisibG9vayBmb3IgZGlmZmVyZW5jZXMgdGhhdCBjaGFuZ2UgdGhlIG51bWJlciBvZiBvY2N1cnJlbmNlcyBvZiB0aGUgc3BlY2lmaWVkICIKKyJzdHJpbmciCittc2dzdHIgIuafpeaJvuaUueWPmOS6huaMh+WumuWtl+espuS4suWHuueOsOasoeaVsOeahOW3ruW8giIKKworIzogZGlmZi5jOjU0OTIKK21zZ2lkICIiCisibG9vayBmb3IgZGlmZmVyZW5jZXMgdGhhdCBjaGFuZ2UgdGhlIG51bWJlciBvZiBvY2N1cnJlbmNlcyBvZiB0aGUgc3BlY2lmaWVkICIKKyJyZWdleCIKK21zZ3N0ciAi5p+l5om+5pS55Y+Y5oyH5a6a5q2j5YiZ5Yy56YWN5Ye6546w5qyh5pWw55qE5beu5byCIgorCisjOiBkaWZmLmM6NTQ5NQorbXNnaWQgInNob3cgYWxsIGNoYW5nZXMgaW4gdGhlIGNoYW5nZXNldCB3aXRoIC1TIG9yIC1HIgorbXNnc3RyICLmmL7npLrkvb/nlKggLVMg5oiWIC1HIOeahOWPmOabtOmbhueahOaJgOacieWPmOabtCIKKworIzogZGlmZi5jOjU0OTgKK21zZ2lkICJ0cmVhdCA8c3RyaW5nPiBpbiAtUyBhcyBleHRlbmRlZCBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIuWwhiAtUyDnmoQgPHN0cmluZz4g5b2T5YGa5omp5bGV55qEIFBPU0lYIOato+WImeihqOi+vuW8jyIKKworIzogZGlmZi5jOjU1MDEKK21zZ2lkICJjb250cm9sIHRoZSBvcmRlciBpbiB3aGljaCBmaWxlcyBhcHBlYXIgaW4gdGhlIG91dHB1dCIKK21zZ3N0ciAi5o6n5Yi26L6T5Ye65Lit55qE5paH5Lu25pi+56S66aG65bqPIgorCisjOiBkaWZmLmM6NTUwMgorbXNnaWQgIjxvYmplY3QtaWQ+IgorbXNnc3RyICI85a+56LGhIElEPiIKKworIzogZGlmZi5jOjU1MDMKK21zZ2lkICIiCisibG9vayBmb3IgZGlmZmVyZW5jZXMgdGhhdCBjaGFuZ2UgdGhlIG51bWJlciBvZiBvY2N1cnJlbmNlcyBvZiB0aGUgc3BlY2lmaWVkICIKKyJvYmplY3QiCittc2dzdHIgIuafpeaJvuaUueWPmOaMh+WumuWvueixoeWHuueOsOasoeaVsOeahOW3ruW8giIKKworIzogZGlmZi5jOjU1MDUKK21zZ2lkICJbKEF8Q3xEfE18UnxUfFV8WHxCKS4uLlsqXV0iCittc2dzdHIgIlsoQXxDfER8TXxSfFR8VXxYfEIpLi4uWypdXSIKKworIzogZGlmZi5jOjU1MDYKK21zZ2lkICJzZWxlY3QgZmlsZXMgYnkgZGlmZiB0eXBlIgorbXNnc3RyICLpgJrov4flt67lvILnsbvlnovpgInmi6nmlofku7YiCisKKyM6IGRpZmYuYzo1NTA4Cittc2dpZCAiPGZpbGU+IgorbXNnc3RyICI85paH5Lu2PiIKKworIzogZGlmZi5jOjU1MDkKK21zZ2lkICJPdXRwdXQgdG8gYSBzcGVjaWZpYyBmaWxlIgorbXNnc3RyICLovpPlh7rliLDkuIDkuKrmjIflrprnmoTmlofku7YiCisKKyM6IGRpZmYuYzo2MTY0CiBtc2dpZCAiaW5leGFjdCByZW5hbWUgZGV0ZWN0aW9uIHdhcyBza2lwcGVkIGR1ZSB0byB0b28gbWFueSBmaWxlcy4iCiBtc2dzdHIgIuWboOS4uuaWh+S7tuWkquWkmu+8jOeVpei/h+S4jeS4peagvOeahOmHjeWRveWQjeajgOafpeOAgiIKIAotIzogZGlmZi5jOjU4MjYKKyM6IGRpZmYuYzo2MTY3CiBtc2dpZCAib25seSBmb3VuZCBjb3BpZXMgZnJvbSBtb2RpZmllZCBwYXRocyBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgogbXNnc3RyICLlm6DkuLrmlofku7blpKrlpJrvvIzlj6rlnKjkv67mlLnnmoTot6/lvoTkuK3mn6Xmib7mi7fotJ3jgIIiCiAKLSM6IGRpZmYuYzo1ODI5CisjOiBkaWZmLmM6NjE3MAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAieW91IG1heSB3YW50IHRvIHNldCB5b3VyICVzIHZhcmlhYmxlIHRvIGF0IGxlYXN0ICVkIGFuZCByZXRyeSB0aGUgY29tbWFuZC4iCiBtc2dzdHIgIuaCqOWPr+iDveaDs+imgeWwhuWPmOmHjyAlcyDorr7nva7kuLroh7PlsJEgJWQg5bm25YaN5qyh5omn6KGM5q2k5ZG95Luk44CCIgogCi0jOiBkaXIuYzo1NzYKKyM6IGRpci5jOjU1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGUocykga25vd24gdG8gZ2l0IgogbXNnc3RyICLot6/lvoTop4TmoLwgJyVzJyDmnKrljLnphY3ku7vkvZUgZ2l0IOW3suefpeaWh+S7tiIKIAotIzogZGlyLmM6OTY1CisjOiBkaXIuYzo2NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHBhdHRlcm46ICclcyciCittc2dzdHIgIuacquivhuWIq+eahOaooeW8j++8miclcyciCisKKyM6IGRpci5jOjY4MiBkaXIuYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG5lZ2F0aXZlIHBhdHRlcm46ICclcyciCittc2dzdHIgIuacquivhuWIq+eahOWPjeWQkeaooeW8j++8miclcyciCisKKyM6IGRpci5jOjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNwYXJzZS1jaGVja291dCBmaWxlIG1heSBoYXZlIGlzc3VlczogcGF0dGVybiAnJXMnIGlzIHJlcGVhdGVkIgorbXNnc3RyICLmgqjnmoQgc3BhcnNlLWNoZWNrb3V0IOaWh+S7tuWPr+iDveaciemXrumimO+8mumHjeWkjeeahOaooeW8jyAnJXMnIgorCisjOiBkaXIuYzo3MjQKK21zZ2lkICJkaXNhYmxpbmcgY29uZSBwYXR0ZXJuIG1hdGNoaW5nIgorbXNnc3RyICLnpoHmraIgY29uZSDmqKHlvI/ljLnphY0iCisKKyM6IGRpci5jOjExMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHVzZSAlcyBhcyBhbiBleGNsdWRlIGZpbGUiCiBtc2dzdHIgIuS4jeiDveWwhiAlcyDnlKjkvZzmjpLpmaTmlofku7YiCiAKLSM6IGRpci5jOjE4ODAKKyM6IGRpci5jOjIwNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIuS4jeiDveaJk+W8gOebruW9lSAnJXMnIgogCi0jOiBkaXIuYzoyMTIyCisjOiBkaXIuYzoyNDE1CiBtc2dpZCAiZmFpbGVkIHRvIGdldCBrZXJuZWwgbmFtZSBhbmQgaW5mb3JtYXRpb24iCiBtc2dzdHIgIuaXoOazleiOt+W+l+WGheaguOWQjeensOWSjOS/oeaBryIKIAotIzogZGlyLmM6MjI0NgorIzogZGlyLmM6MjUzOQogbXNnaWQgInVudHJhY2tlZCBjYWNoZSBpcyBkaXNhYmxlZCBvbiB0aGlzIHN5c3RlbSBvciBsb2NhdGlvbiIKIG1zZ3N0ciAi57yT5a2Y5pyq6Lef6Liq5paH5Lu25Zyo5pys57O757uf5oiW5L2N572u5Lit6KKr56aB55SoIgogCi0jOiBkaXIuYzozMDQ3CisjOiBkaXIuYzozMzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCBpbiByZXBvICVzIgogbXNnc3RyICLku5PlupMgJXMg5Lit55qE57Si5byV5paH5Lu25o2f5Z2PIgogCi0jOiBkaXIuYzozMDkyIGRpci5jOjMwOTcKKyM6IGRpci5jOjMzODggZGlyLmM6MzM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yaWVzIGZvciAlcyIKIG1zZ3N0ciAi5LiN6IO95Li6ICVzIOWIm+W7uuebruW9lSIKIAotIzogZGlyLmM6MzEyNgorIzogZGlyLmM6MzQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbWlncmF0ZSBnaXQgZGlyZWN0b3J5IGZyb20gJyVzJyB0byAnJXMnIgogbXNnc3RyICLkuI3og73ku44gJyVzJyDov4Hnp7sgZ2l0IOebruW9leWIsCAnJXMnIgpAQCAtMjM5OSwyOTcgKzM1MjIsMjg5IEBACiBtc2dpZCAiRmlsdGVyaW5nIGNvbnRlbnQiCiBtc2dzdHIgIui/h+a7pOWGheWuuSIKIAotIzogZW50cnkuYzo0NjUKKyM6IGVudHJ5LmM6NDc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzdGF0IGZpbGUgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95a+55paH5Lu2ICclcycg6LCD55SoIHN0YXQiCiAKLSM6IGVudmlyb25tZW50LmM6MTUwCisjOiBlbnZpcm9ubWVudC5jOjE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgZ2l0IG5hbWVzcGFjZSBwYXRoIFwiJXNcIiIKIG1zZ3N0ciAi6ZSZ6K+v55qEIGdpdCDlkI3lrZfnqbrpl7Tot6/lvoQgXCIlc1wiIgogCi0jOiBlbnZpcm9ubWVudC5jOjMzMgorIzogZW52aXJvbm1lbnQuYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNldCBHSVRfRElSIHRvICclcyciCiBtc2dzdHIgIuS4jeiDveiuvue9riBHSVRfRElSIOS4uiAnJXMnIgogCi0jOiBleGVjLWNtZC5jOjM2MQorIzogZXhlYy1jbWQuYzozNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidG9vIG1hbnkgYXJncyB0byBydW4gJXMiCiBtc2dzdHIgIuaJp+ihjCAlcyDnmoTlj4LmlbDlpKrlpJoiCiAKLSM6IGZldGNoLW9iamVjdC5jOjE3Ci1tc2dpZCAiUmVtb3RlIHdpdGggbm8gVVJMIgotbXNnc3RyICLov5znqIvmnKrorr7nva4gVVJMIgotCi0jOiBmZXRjaC1wYWNrLmM6MTUxCisjOiBmZXRjaC1wYWNrLmM6MTUwCiBtc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIKIG1zZ3N0ciAiZ2l0IGZldGNoLXBhY2vvvJrlupTkuLogc2hhbGxvdyDliJfooagiCiAKLSM6IGZldGNoLXBhY2suYzoxNjMKKyM6IGZldGNoLXBhY2suYzoxNTMKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgYSBmbHVzaCBwYWNrZXQgYWZ0ZXIgc2hhbGxvdyBsaXN0IgorbXNnc3RyICJnaXQgZmV0Y2gtcGFja++8muWcqOa1heWFi+mahuWIl+ihqOS5i+WQjuacn+acm+S4gOS4qiBmbHVzaCDljIUiCisKKyM6IGZldGNoLXBhY2suYzoxNjQKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290IGEgZmx1c2ggcGFja2V0IgogbXNnc3RyICJnaXQgZmV0Y2gtcGFja++8muacn+acmyBBQ0svTkFL77yM5Y205b6X5YiwIGZsdXNoIOWMhSIKIAotIzogZmV0Y2gtcGFjay5jOjE4MworIzogZmV0Y2gtcGFjay5jOjE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290ICclcyciCiBtc2dzdHIgImdpdCBmZXRjaC1wYWNr77ya5bqU5Li6IEFDSy9OQUvvvIzljbTlvpfliLAgJyVzJyIKIAotIzogZmV0Y2gtcGFjay5jOjI1MworIzogZmV0Y2gtcGFjay5jOjE5NQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0byByZW1vdGUiCittc2dzdHIgIuaXoOazleWGmeWIsOi/nOeoiyIKKworIzogZmV0Y2gtcGFjay5jOjI1NwogbXNnaWQgIi0tc3RhdGVsZXNzLXJwYyByZXF1aXJlcyBtdWx0aV9hY2tfZGV0YWlsZWQiCiBtc2dzdHIgIi0tc3RhdGVsZXNzLXJwYyDpnIDopoEgbXVsdGlfYWNrX2RldGFpbGVkIgogCi0jOiBmZXRjaC1wYWNrLmM6MzQ3IGZldGNoLXBhY2suYzoxMjc3CisjOiBmZXRjaC1wYWNrLmM6MzU2IGZldGNoLXBhY2suYzoxMzQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIKIG1zZ3N0ciAi5peg5pWI55qEIHNoYWxsb3cg5L+h5oGv77yaJXMiCiAKLSM6IGZldGNoLXBhY2suYzozNTMgZmV0Y2gtcGFjay5jOjEyODMKKyM6IGZldGNoLXBhY2suYzozNjIgZmV0Y2gtcGFjay5jOjEzNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCB1bnNoYWxsb3cgbGluZTogJXMiCiBtc2dzdHIgIuaXoOaViOeahCB1bnNoYWxsb3cg5L+h5oGv77yaJXMiCiAKLSM6IGZldGNoLXBhY2suYzozNTUgZmV0Y2gtcGFjay5jOjEyODUKKyM6IGZldGNoLXBhY2suYzozNjQgZmV0Y2gtcGFjay5jOjEzNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0IG5vdCBmb3VuZDogJXMiCiBtc2dzdHIgIuWvueixoeacquaJvuWIsO+8miVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzU4IGZldGNoLXBhY2suYzoxMjg4CisjOiBmZXRjaC1wYWNrLmM6MzY3IGZldGNoLXBhY2suYzoxMzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIGluIG9iamVjdDogJXMiCiBtc2dzdHIgIuWvueixoeS4reWHuumUme+8miVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzYwIGZldGNoLXBhY2suYzoxMjkwCisjOiBmZXRjaC1wYWNrLmM6MzY5IGZldGNoLXBhY2suYzoxMzUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHNoYWxsb3cgZm91bmQ6ICVzIgogbXNnc3RyICLmnKrlj5HnjrAgc2hhbGxvd++8miVzIgogCi0jOiBmZXRjaC1wYWNrLmM6MzYzIGZldGNoLXBhY2suYzoxMjkzCisjOiBmZXRjaC1wYWNrLmM6MzcyIGZldGNoLXBhY2suYzoxMzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiCiBtc2dzdHIgIuW6lOS4uiBzaGFsbG93L3Vuc2hhbGxvd++8jOWNtOW+l+WIsCAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjQwNAorIzogZmV0Y2gtcGFjay5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJnb3QgJXMgJWQgJXMiCiBtc2dzdHIgIuW+l+WIsCAlcyAlZCAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjQyMQorIzogZmV0Y2gtcGFjay5jOjQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbW1pdCAlcyIKIG1zZ3N0ciAi5peg5pWI5o+Q5LqkICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NDUyCisjOiBmZXRjaC1wYWNrLmM6NDYyCiBtc2dpZCAiZ2l2aW5nIHVwIgogbXNnc3RyICLmlL7lvIMiCiAKLSM6IGZldGNoLXBhY2suYzo0NjQgcHJvZ3Jlc3MuYzoyMjkKKyM6IGZldGNoLXBhY2suYzo0NzUgcHJvZ3Jlc3MuYzozMjMKIG1zZ2lkICJkb25lIgogbXNnc3RyICLlrozmiJAiCiAKLSM6IGZldGNoLXBhY2suYzo0NzYKKyM6IGZldGNoLXBhY2suYzo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ290ICVzICglZCkgJXMiCiBtc2dzdHIgIuW+l+WIsCAlcyAoJWQpICVzIgogCi0jOiBmZXRjaC1wYWNrLmM6NTIyCisjOiBmZXRjaC1wYWNrLmM6NTMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1hcmtpbmcgJXMgYXMgY29tcGxldGUiCiBtc2dzdHIgIuagh+iusCAlcyDkuLrlrozmiJAiCiAKLSM6IGZldGNoLXBhY2suYzo3NjQKKyM6IGZldGNoLXBhY2suYzo3NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWxyZWFkeSBoYXZlICVzICglcykiCiBtc2dzdHIgIuW3sue7j+aciSAlc++8iCVz77yJIgogCi0jOiBmZXRjaC1wYWNrLmM6ODAzCisjOiBmZXRjaC1wYWNrLmM6ODE4CiBtc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCiBtc2dzdHIgImZldGNoLXBhY2vvvJrml6Dms5XmtL7nlJ8gc2lkZWJhbmQg5aSa6Lev6L6T5Ye6IgogCi0jOiBmZXRjaC1wYWNrLmM6ODExCisjOiBmZXRjaC1wYWNrLmM6ODI2CiBtc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBwYWNrIGhlYWRlciIKIG1zZ3N0ciAi5Y2P6K6u6ZSZ6K+v77ya5Z2P55qE5YyF5aS0IgogCi0jOiBmZXRjaC1wYWNrLmM6ODc5CisjOiBmZXRjaC1wYWNrLmM6OTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiAlcyIKIG1zZ3N0ciAiZmV0Y2gtcGFja++8muaXoOazlea0vueUn+i/m+eoiyAlcyIKIAotIzogZmV0Y2gtcGFjay5jOjg5NQorIzogZmV0Y2gtcGFjay5jOjkxNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBmYWlsZWQiCiBtc2dzdHIgIiVzIOWksei0pSIKIAotIzogZmV0Y2gtcGFjay5jOjg5NworIzogZmV0Y2gtcGFjay5jOjkxOAogbXNnaWQgImVycm9yIGluIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCiBtc2dzdHIgInNpZGViYW5kIOWkmui3r+i+k+WHuuWHuumUmSIKIAotIzogZmV0Y2gtcGFjay5jOjkyNgotbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgY2xpZW50cyIKLW1zZ3N0ciAi5pyN5Yqh5Zmo5LiN5pSv5oyBIHNoYWxsbG93IOWuouaIt+erryIKLQotIzogZmV0Y2gtcGFjay5jOjkzMAotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBtdWx0aV9hY2tfZGV0YWlsZWQiCi1tc2dzdHIgIuacjeWKoeWZqOaUr+aMgSBtdWx0aV9hY2tfZGV0YWlsZWQiCi0KLSM6IGZldGNoLXBhY2suYzo5MzMKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbm8tZG9uZSIKLW1zZ3N0ciAi5pyN5Yqh5Zmo5pSv5oyBIG5vLWRvbmUiCi0KLSM6IGZldGNoLXBhY2suYzo5MzkKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgbXVsdGlfYWNrIgotbXNnc3RyICLmnI3liqHlmajmlK/mjIEgbXVsdGlfYWNrIgotCi0jOiBmZXRjaC1wYWNrLmM6OTQzCi1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZC02NGsiCi1tc2dzdHIgIuacjeWKoeWZqOaUr+aMgSBzaWRlLWJhbmQtNjRrIgotCi0jOiBmZXRjaC1wYWNrLmM6OTQ3Ci1tc2dpZCAiU2VydmVyIHN1cHBvcnRzIHNpZGUtYmFuZCIKLW1zZ3N0ciAi5pyN5Yqh5Zmo5pSv5oyBIHNpZGUtYmFuZCIKLQotIzogZmV0Y2gtcGFjay5jOjk1MQotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy10aXAtc2hhMS1pbi13YW50IgotbXNnc3RyICLmnI3liqHlmajmlK/mjIEgYWxsb3ctdGlwLXNoYTEtaW4td2FudCIKLQotIzogZmV0Y2gtcGFjay5jOjk1NQotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBhbGxvdy1yZWFjaGFibGUtc2hhMS1pbi13YW50IgotbXNnc3RyICLmnI3liqHlmajmlK/mjIEgYWxsb3ctcmVhY2hhYmxlLXNoYTEtaW4td2FudCIKLQogIzogZmV0Y2gtcGFjay5jOjk2NQotbXNnaWQgIlNlcnZlciBzdXBwb3J0cyBvZnMtZGVsdGEiCi1tc2dzdHIgIuacjeWKoeWZqOaUr+aMgSBvZnMtZGVsdGEiCi0KLSM6IGZldGNoLXBhY2suYzo5NzEgZmV0Y2gtcGFjay5jOjExNTgKLW1zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgZmlsdGVyIgotbXNnc3RyICLmnI3liqHlmajmlK/mjIEgZmlsdGVyIgotCi0jOiBmZXRjaC1wYWNrLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNlcnZlciB2ZXJzaW9uIGlzICUuKnMiCiBtc2dzdHIgIuacjeWKoeWZqOeJiOacrCAlLipzIgogCi0jOiBmZXRjaC1wYWNrLmM6OTg1CisjOiBmZXRjaC1wYWNrLmM6OTcwIGZldGNoLXBhY2suYzo5NzYgZmV0Y2gtcGFjay5jOjk3OSBmZXRjaC1wYWNrLmM6OTg1CisjOiBmZXRjaC1wYWNrLmM6OTg5IGZldGNoLXBhY2suYzo5OTMgZmV0Y2gtcGFjay5jOjk5NyBmZXRjaC1wYWNrLmM6MTAwMQorIzogZmV0Y2gtcGFjay5jOjEwMDUgZmV0Y2gtcGFjay5jOjEwMDkgZmV0Y2gtcGFjay5jOjEwMTMgZmV0Y2gtcGFjay5jOjEwMTcKKyM6IGZldGNoLXBhY2suYzoxMDIzIGZldGNoLXBhY2suYzoxMDI5IGZldGNoLXBhY2suYzoxMDM0IGZldGNoLXBhY2suYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlcnZlciBzdXBwb3J0cyAlcyIKK21zZ3N0ciAi5pyN5Yqh5Zmo5pSv5oyBICVzIgorCisjOiBmZXRjaC1wYWNrLmM6OTcyCittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjbGllbnRzIgorbXNnc3RyICLmnI3liqHlmajkuI3mlK/mjIEgc2hhbGxsb3cg5a6i5oi356uvIgorCisjOiBmZXRjaC1wYWNrLmM6MTAzMgogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tc2hhbGxvdy1zaW5jZSIKIG1zZ3N0ciAi5pyN5Yqh5Zmo5LiN5pSv5oyBIC0tc2hhbGxvdy1zaW5jZSIKIAotIzogZmV0Y2gtcGFjay5jOjk4OQorIzogZmV0Y2gtcGFjay5jOjEwMzcKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctZXhjbHVkZSIKIG1zZ3N0ciAi5pyN5Yqh5Zmo5LiN5pSv5oyBIC0tc2hhbGxvdy1leGNsdWRlIgogCi0jOiBmZXRjaC1wYWNrLmM6OTkxCisjOiBmZXRjaC1wYWNrLmM6MTA0MQogbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IC0tZGVlcGVuIgogbXNnc3RyICLmnI3liqHlmajkuI3mlK/mjIEgLS1kZWVwZW4iCiAKLSM6IGZldGNoLXBhY2suYzoxMDA4CisjOiBmZXRjaC1wYWNrLmM6MTA1OAogbXNnaWQgIm5vIGNvbW1vbiBjb21taXRzIgogbXNnc3RyICLmsqHmnInlhbHlkIznmoTmj5DkuqQiCiAKLSM6IGZldGNoLXBhY2suYzoxMDIwIGZldGNoLXBhY2suYzoxNDE4CisjOiBmZXRjaC1wYWNrLmM6MTA3MCBmZXRjaC1wYWNrLmM6MTUzNgogbXNnaWQgImdpdCBmZXRjaC1wYWNrOiBmZXRjaCBmYWlsZWQuIgogbXNnc3RyICJnaXQgZmV0Y2gtcGFja++8muiOt+WPluWksei0peOAgiIKIAotIzogZmV0Y2gtcGFjay5jOjExNTMKKyM6IGZldGNoLXBhY2suYzoxMjA5CiBtc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyByZXF1ZXN0cyIKIG1zZ3N0ciAi5pyN5Yqh5Zmo5LiN5pSv5oyBIHNoYWxsbG93IOivt+axgiIKIAotIzogZmV0Y2gtcGFjay5jOjExOTkKKyM6IGZldGNoLXBhY2suYzoxMjE2Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzIGZpbHRlciIKK21zZ3N0ciAi5pyN5Yqh5Zmo5pSv5oyBIGZpbHRlciIKKworIzogZmV0Y2gtcGFjay5jOjEyMzkKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcmVxdWVzdCB0byByZW1vdGUiCittc2dzdHIgIuaXoOazleWwhuivt+axguWGmeWIsOi/nOeoiyIKKworIzogZmV0Y2gtcGFjay5jOjEyNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcmVhZGluZyBzZWN0aW9uIGhlYWRlciAnJXMnIgogbXNnc3RyICLor7vlj5boioLmoIfpopggJyVzJyDlh7rplJkiCiAKLSM6IGZldGNoLXBhY2suYzoxMjA1CisjOiBmZXRjaC1wYWNrLmM6MTI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJleHBlY3RlZCAnJXMnLCByZWNlaXZlZCAnJXMnIgogbXNnc3RyICLpooTmnJ8gJyVzJ++8jOW+l+WIsCAnJXMnIgogCi0jOiBmZXRjaC1wYWNrLmM6MTI0NAorIzogZmV0Y2gtcGFjay5jOjEzMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhY2tub3dsZWRnbWVudCBsaW5lOiAnJXMnIgogbXNnc3RyICLmhI/lpJbnmoTnoa7orqTooYzvvJonJXMnIgogCi0jOiBmZXRjaC1wYWNrLmM6MTI0OQorIzogZmV0Y2gtcGFjay5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcHJvY2Vzc2luZyBhY2tzOiAlZCIKIG1zZ3N0ciAi5aSE55CGIGFjayDlh7rplJnvvJolZCIKIAotIzogZmV0Y2gtcGFjay5jOjEyNTkKKyM6IGZldGNoLXBhY2suYzoxMzE4CiBtc2dpZCAiZXhwZWN0ZWQgcGFja2ZpbGUgdG8gYmUgc2VudCBhZnRlciAncmVhZHknIgogbXNnc3RyICLpooTmnJ/lnKggJ3JlYWR5JyDkuYvlkI7lj5HpgIEgcGFja2ZpbGUiCiAKLSM6IGZldGNoLXBhY2suYzoxMjYxCisjOiBmZXRjaC1wYWNrLmM6MTMyMAogbXNnaWQgImV4cGVjdGVkIG5vIG90aGVyIHNlY3Rpb25zIHRvIGJlIHNlbnQgYWZ0ZXIgbm8gJ3JlYWR5JyIKIG1zZ3N0ciAi5Zyo5rKh5pyJICdyZWFkeScg5LiN5bqU6K+l5Y+R6YCB5YW25a6D5bCP6IqCIgogCi0jOiBmZXRjaC1wYWNrLmM6MTI5OAorIzogZmV0Y2gtcGFjay5jOjEzNjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgcHJvY2Vzc2luZyBzaGFsbG93IGluZm86ICVkIgogbXNnc3RyICLlpITnkIbmtYXlhYvpmobkv6Hmga/lh7rplJnvvJolZCIKIAotIzogZmV0Y2gtcGFjay5jOjEzMTQKKyM6IGZldGNoLXBhY2suYzoxNDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIHdhbnRlZC1yZWYsIGdvdCAnJXMnIgogbXNnc3RyICLpooTmnJ8gd2FudGVkLXJlZu+8jOW+l+WIsCAnJXMnIgogCi0jOiBmZXRjaC1wYWNrLmM6MTMyNAorIzogZmV0Y2gtcGFjay5jOjE0MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB3YW50ZWQtcmVmOiAnJXMnIgogbXNnc3RyICLmhI/lpJbnmoQgd2FudGVkLXJlZu+8miclcyciCiAKLSM6IGZldGNoLXBhY2suYzoxMzI4CisjOiBmZXRjaC1wYWNrLmM6MTQxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBwcm9jZXNzaW5nIHdhbnRlZCByZWZzOiAlZCIKIG1zZ3N0ciAi5aSE55CG6KaB6I635Y+W55qE5byV55So5Ye66ZSZ77yaJWQiCiAKLSM6IGZldGNoLXBhY2suYzoxNjQyCisjOiBmZXRjaC1wYWNrLmM6MTc2MgogbXNnaWQgIm5vIG1hdGNoaW5nIHJlbW90ZSBoZWFkIgogbXNnc3RyICLmsqHmnInljLnphY3nmoTov5znqIvliIbmlK8iCiAKLSM6IGZldGNoLXBhY2suYzoxNjYwIGJ1aWx0aW4vY2xvbmUuYzo2NjQKKyM6IGZldGNoLXBhY2suYzoxNzg1IGJ1aWx0aW4vY2xvbmUuYzo2ODgKIG1zZ2lkICJyZW1vdGUgZGlkIG5vdCBzZW5kIGFsbCBuZWNlc3Nhcnkgb2JqZWN0cyIKIG1zZ3N0ciAi6L+c56iL5rKh5pyJ5Y+R6YCB5omA5pyJ5b+F6ZyA55qE5a+56LGhIgogCi0jOiBmZXRjaC1wYWNrLmM6MTY4NgorIzogZmV0Y2gtcGFjay5jOjE4MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCByZW1vdGUgcmVmICVzIgogbXNnc3RyICLmsqHmnInov5nmoLfnmoTov5znqIvlvJXnlKggJXMiCiAKLSM6IGZldGNoLXBhY2suYzoxNjg5CisjOiBmZXRjaC1wYWNrLmM6MTgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3QgYWxsb3cgcmVxdWVzdCBmb3IgdW5hZHZlcnRpc2VkIG9iamVjdCAlcyIKIG1zZ3N0ciAi5pyN5Yqh5Zmo5LiN5YWB6K646K+35rGC5pyq5YWs5byA55qE5a+56LGhICVzIgogCi0jOiBncGctaW50ZXJmYWNlLmM6MzE4Ci1tc2dpZCAiZ3BnIGZhaWxlZCB0byBzaWduIHRoZSBkYXRhIgotbXNnc3RyICJncGcg5peg5rOV5Li65pWw5o2u562+5ZCNIgotCi0jOiBncGctaW50ZXJmYWNlLmM6MzQ0CisjOiBncGctaW50ZXJmYWNlLmM6MjIzCiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKIG1zZ3N0ciAi5LiN6IO95Yib5bu65Li05pe25paH5Lu2IgogCi0jOiBncGctaW50ZXJmYWNlLmM6MzQ3CisjOiBncGctaW50ZXJmYWNlLmM6MjI2CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIgogbXNnc3RyICLml6Dms5XlsIbliIbnprvlvI/nrb7lkI3lhpnlhaUgJyVzJyIKIAotIzogZ3JhcGguYzo5NworIzogZ3BnLWludGVyZmFjZS5jOjM5MAorbXNnaWQgImdwZyBmYWlsZWQgdG8gc2lnbiB0aGUgZGF0YSIKK21zZ3N0ciAiZ3BnIOaXoOazleS4uuaVsOaNruetvuWQjSIKKworIzogZ3JhcGguYzo5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmUgaW52YWxpZCBjb2xvciAnJS4qcycgaW4gbG9nLmdyYXBoQ29sb3JzIgogbXNnc3RyICLlv73nlaUgbG9nLmdyYXBoQ29sb3JzIOS4reaXoOaViOeahOminOiJsiAnJS4qcyciCiAKLSM6IGdyZXAuYzoyMTEzCisjOiBncmVwLmM6NjY4Cittc2dpZCAiIgorImdpdmVuIHBhdHRlcm4gY29udGFpbnMgTlVMTCBieXRlICh2aWEgLWYgPGZpbGU+KS4gVGhpcyBpcyBvbmx5IHN1cHBvcnRlZCAiCisid2l0aCAtUCB1bmRlciBQQ1JFIHYyIgorbXNnc3RyICIiCisi57uZ5a6a55qE5qih5byP5YyF5ZCrIE5VTEwg5a2X56ym77yI6YCa6L+HIC1mIDzmlofku7Y+IOWPguaVsO+8ieOAguWPquaciSBQQ1JFIHYyIOS4i+eahCAtUCDmlK/mjIHmraQiCisi5Yqf6IO9IgorCisjOiBncmVwLmM6MjEyNAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAiJyVzJ++8muaXoOazleivu+WPliAlcyIKIAotIzogZ3JlcC5jOjIxMzAgc2V0dXAuYzoxNjQgYnVpbHRpbi9jbG9uZS5jOjQxMCBidWlsdGluL2RpZmYuYzo4MQotIzogYnVpbHRpbi9ybS5jOjEzNAorIzogZ3JlcC5jOjIxNDEgc2V0dXAuYzoxNjUgYnVpbHRpbi9jbG9uZS5jOjQxMSBidWlsdGluL2RpZmYuYzo4MgorIzogYnVpbHRpbi9ybS5jOjEzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gc3RhdCAnJXMnIgogbXNnc3RyICLlr7kgJyVzJyDosIPnlKggc3RhdCDlpLHotKUiCiAKLSM6IGdyZXAuYzoyMTQxCisjOiBncmVwLmM6MjE1MgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiBzaG9ydCByZWFkIgogbXNnc3RyICInJXMn77ya6K+75Y+W5LiN5a6M5pW0IgpAQCAtMjczOSw0OCArMzg1NCw0OCBAQAogbXNnc3RyICLkvY7nuqflkb3ku6Qv6K+i6Zeu6ICFIgogCiAjOiBoZWxwLmM6MzcKLW1zZ2lkICJMb3ctbGV2ZWwgQ29tbWFuZHMgLyBTeW5jaGluZyBSZXBvc2l0b3JpZXMiCittc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gU3luY2luZyBSZXBvc2l0b3JpZXMiCiBtc2dzdHIgIuS9jue6p+WRveS7pC/lkIzmraXku5PlupMiCiAKICM6IGhlbHAuYzozOAogbXNnaWQgIkxvdy1sZXZlbCBDb21tYW5kcyAvIEludGVybmFsIEhlbHBlcnMiCiBtc2dzdHIgIuS9jue6p+WRveS7pC/lhoXpg6jliqnmiYsiCiAKLSM6IGhlbHAuYzoyOTYKKyM6IGhlbHAuYzoyOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYXZhaWxhYmxlIGdpdCBjb21tYW5kcyBpbiAnJXMnIgogbXNnc3RyICLlnKggJyVzJyDkuIvlj6/nlKjnmoQgZ2l0IOWRveS7pCIKIAotIzogaGVscC5jOjMwMworIzogaGVscC5jOjMwNQogbXNnaWQgImdpdCBjb21tYW5kcyBhdmFpbGFibGUgZnJvbSBlbHNld2hlcmUgb24geW91ciAkUEFUSCIKIG1zZ3N0ciAi5ZyoICRQQVRIIOi3r+W+hOS4reeahOWFtuS7luWcsOaWueWPr+eUqOeahCBnaXQg5ZG95LukIgogCi0jOiBoZWxwLmM6MzEyCisjOiBoZWxwLmM6MzE0CiBtc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgogbXNnc3RyICLov5nkupvmmK/lkITnp43lnLrlkIjluLjop4HnmoQgR2l0IOWRveS7pO+8miIKIAotIzogaGVscC5jOjM2MSBnaXQuYzo5MAorIzogaGVscC5jOjM2MyBnaXQuYzo5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIGxpc3RpbmcgdHlwZSAnJXMnIgogbXNnc3RyICLkuI3mlK/mjIHnmoTlkb3ku6TliJfooajnsbvlnosgJyVzJyIKIAotIzogaGVscC5jOjQwOAorIzogaGVscC5jOjQwMwogbXNnaWQgIlRoZSBjb21tb24gR2l0IGd1aWRlcyBhcmU6IgogbXNnc3RyICLmnIDluLjnlKjnmoQgR2l0IOWQkeWvvOacie+8miIKIAotIzogaGVscC5jOjUxNworIzogaGVscC5jOjUxMgogbXNnaWQgIlNlZSAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyB0byByZWFkIGFib3V0IGEgc3BlY2lmaWMgc3ViY29tbWFuZCIKIG1zZ3N0ciAi5omn6KGM44CAJ2dpdCBoZWxwIDxjb21tYW5kPicg5p2l5p+l55yL54m55a6a5a2Q5ZG95LukIgogCi0jOiBoZWxwLmM6NTIyCisjOiBoZWxwLmM6NTE3CiBtc2dpZCAiRXh0ZXJuYWwgY29tbWFuZHMiCiBtc2dzdHIgIuWklumDqOWRveS7pCIKIAotIzogaGVscC5jOjUzMAorIzogaGVscC5jOjUzMgogbXNnaWQgIkNvbW1hbmQgYWxpYXNlcyIKIG1zZ3N0ciAi5ZG95Luk5Yir5ZCNIgogCi0jOiBoZWxwLmM6NTk0CisjOiBoZWxwLmM6NTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnIGFwcGVhcnMgdG8gYmUgYSBnaXQgY29tbWFuZCwgYnV0IHdlIHdlcmUgbm90XG4iCkBAIC0yNzg5LDMxICszOTA0LDMxIEBACiAiJyVzJyDlg4/mmK/kuIDkuKogZ2l0IOWRveS7pO+8jOS9huWNtOaXoOazlei/kOihjOOAglxuIgogIuWPr+iDveaYryBnaXQtJXMg5Y+X5o2f77yfIgogCi0jOiBoZWxwLmM6NjUzCisjOiBoZWxwLmM6NjU1CiBtc2dpZCAiVWggb2guIFlvdXIgc3lzdGVtIHJlcG9ydHMgbm8gR2l0IGNvbW1hbmRzIGF0IGFsbC4iCiBtc2dzdHIgIuWUieWRgO+8jOaCqOeahOezu+e7n+S4reacquWPkeeOsCBHaXQg5ZG95Luk44CCIgogCi0jOiBoZWxwLmM6Njc1CisjOiBoZWxwLmM6Njc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIldBUk5JTkc6IFlvdSBjYWxsZWQgYSBHaXQgY29tbWFuZCBuYW1lZCAnJXMnLCB3aGljaCBkb2VzIG5vdCBleGlzdC4iCiBtc2dzdHIgIuitpuWRiu+8muaCqOi/kOihjOS6huS4gOS4quW5tuS4jeWtmOWcqOeahCBHaXQg5ZG95LukICclcyfjgIIiCiAKLSM6IGhlbHAuYzo2ODAKKyM6IGhlbHAuYzo2ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29udGludWluZyB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHlvdSBtZWFudCAnJXMnLiIKIG1zZ3N0ciAi5YGH5a6a5L2g5oOz6KaB55qE5pivICclcycg5bm257un57ut44CCIgogCi0jOiBoZWxwLmM6Njg1CisjOiBoZWxwLmM6Njg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbnRpbnVpbmcgaW4gJTAuMWYgc2Vjb25kcywgYXNzdW1pbmcgdGhhdCB5b3UgbWVhbnQgJyVzJy4iCiBtc2dzdHIgIuWBh+WumuS9oOaDs+imgeeahOaYryAnJTIkcyfvvIzlnKggJTEkMC4xZiDnp5Lpkp/lkI7nu6fnu63jgIIiCiAKLSM6IGhlbHAuYzo2OTMKKyM6IGhlbHAuYzo2OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0OiAnJXMnIGlzIG5vdCBhIGdpdCBjb21tYW5kLiBTZWUgJ2dpdCAtLWhlbHAnLiIKIG1zZ3N0ciAiZ2l077yaJyVzJyDkuI3mmK/kuIDkuKogZ2l0IOWRveS7pOOAguWPguingSAnZ2l0IC0taGVscCfjgIIiCiAKLSM6IGhlbHAuYzo2OTcKKyM6IGhlbHAuYzo2OTkKIG1zZ2lkICIiCiAiXG4iCiAiVGhlIG1vc3Qgc2ltaWxhciBjb21tYW5kIGlzIgpAQCAtMjgyNywxNiArMzk0MiwxNiBAQAogIlxuIgogIuacgOebuOS8vOeahOWRveS7pOaYryIKIAotIzogaGVscC5jOjcxMgorIzogaGVscC5jOjcxNAogbXNnaWQgImdpdCB2ZXJzaW9uIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgdmVyc2lvbiBbPOmAiemhuT5dIgogCi0jOiBoZWxwLmM6NzgwCisjOiBoZWxwLmM6NzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyAtICVzIgogbXNnc3RyICIlc++8miVzIC0gJXMiCiAKLSM6IGhlbHAuYzo3ODQKKyM6IGhlbHAuYzo3ODcKIG1zZ2lkICIiCiAiXG4iCiAiRGlkIHlvdSBtZWFuIHRoaXM/IgpAQCAtMjg1MCw3ICszOTY1LDcgQEAKICJcbiIKICLmgqjmjIfnmoTmmK/ov5nlhbbkuK3nmoTmn5DkuIDkuKrkuYjvvJ8iCiAKLSM6IGlkZW50LmM6MzQ1CisjOiBpZGVudC5jOjM0OQogbXNnaWQgIiIKICJcbiIKICIqKiogUGxlYXNlIHRlbGwgbWUgd2hvIHlvdSBhcmUuXG4iCkBAIC0yODc1LDUwICszOTkwLDg5IEBACiAi5p2l6K6+572u5oKo6LSm5Y+355qE57y655yB6Lqr5Lu95qCH6K+G44CCXG4iCiAi5aaC5p6c5LuF5Zyo5pys5LuT5bqT6K6+572u6Lqr5Lu95qCH6K+G77yM5YiZ55yB55WlIC0tZ2xvYmFsIOWPguaVsOOAglxuIgogCi0jOiBpZGVudC5jOjM2OQorIzogaWRlbnQuYzozNzkKIG1zZ2lkICJubyBlbWFpbCB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgogbXNnc3RyICLmnKrmj5Dkvpvpgq7ku7blnLDlnYDkuJToh6rliqjmjqLmtYvooqvnpoHnlKgiCiAKLSM6IGlkZW50LmM6Mzc0CisjOiBpZGVudC5jOjM4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYXV0by1kZXRlY3QgZW1haWwgYWRkcmVzcyAoZ290ICclcycpIgogbXNnc3RyICLml6Dms5Xoh6rliqjmjqLmtYvpgq7ku7blnLDlnYDvvIjlvpfliLAgJyVzJ++8iSIKIAotIzogaWRlbnQuYzozODQKKyM6IGlkZW50LmM6NDAxCiBtc2dpZCAibm8gbmFtZSB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgogbXNnc3RyICLmnKrmj5Dkvpvlp5PlkI3kuJToh6rliqjmjqLmtYvooqvnpoHnlKgiCiAKLSM6IGlkZW50LmM6MzkwCisjOiBpZGVudC5jOjQwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gYXV0by1kZXRlY3QgbmFtZSAoZ290ICclcycpIgogbXNnc3RyICLml6Dms5Xoh6rliqjmjqLmtYvlp5PlkI3vvIjlvpfliLAgJyVzJ++8iSIKIAotIzogaWRlbnQuYzozOTgKKyM6IGlkZW50LmM6NDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImVtcHR5IGlkZW50IG5hbWUgKGZvciA8JXM+KSBub3QgYWxsb3dlZCIKIG1zZ3N0ciAi5LiN5YWB6K6456m655qE5aeT5ZCN77yI5a+55LqOIDwlcz7vvIkiCiAKLSM6IGlkZW50LmM6NDA0CisjOiBpZGVudC5jOjQyMQogIywgYy1mb3JtYXQKIG1zZ2lkICJuYW1lIGNvbnNpc3RzIG9ubHkgb2YgZGlzYWxsb3dlZCBjaGFyYWN0ZXJzOiAlcyIKIG1zZ3N0ciAi5aeT5ZCN5Lit5LuF5YyF5ZCr56aB55So5a2X56ym77yaJXMiCiAKLSM6IGlkZW50LmM6NDE5IGJ1aWx0aW4vY29tbWl0LmM6NjA2CisjOiBpZGVudC5jOjQzNiBidWlsdGluL2NvbW1pdC5jOjYzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0OiAlcyIKIG1zZ3N0ciAi5peg5pWI55qE5pel5pyf5qC85byP77yaJXMiCiAKLSM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjM1Ci1tc2dpZCAibXVsdGlwbGUgZmlsdGVyLXNwZWNzIGNhbm5vdCBiZSBjb21iaW5lZCIKLW1zZ3N0ciAi5LiN6IO95re355So5aSa56eN6L+H5ruk6KeE5qC8IgorIzogbGlzdC1vYmplY3RzLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgImVudHJ5ICclcycgaW4gdHJlZSAlcyBoYXMgdHJlZSBtb2RlLCBidXQgaXMgbm90IGEgdHJlZSIKK21zZ3N0ciAi5qCRICUyJHMg5Lit55qE5p2h55uuICclMSRzJyDlhbfmnInmoJHnmoTlsZ7mgKfvvIzkvYbkuI3mmK/kuIDkuKrmoJHlr7nosaEiCisKKyM6IGxpc3Qtb2JqZWN0cy5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJlbnRyeSAnJXMnIGluIHRyZWUgJXMgaGFzIGJsb2IgbW9kZSwgYnV0IGlzIG5vdCBhIGJsb2IiCittc2dzdHIgIuagkSAlMiRzIOS4reeahOadoeebriAnJTEkcycg5YW35pyJ5pWw5o2u5a+56LGh55qE5bGe5oCn77yM5L2G5LiN5piv5LiA5Liq5pWw5o2u5a+56LGhIgorCisjOiBsaXN0LW9iamVjdHMuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGxvYWQgcm9vdCB0cmVlIGZvciBjb21taXQgJXMiCittc2dzdHIgIuaXoOazleS4uuaPkOS6pCAlcyDliqDovb3moLnmoJEiCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXIuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFjY2VzcyBzcGFyc2UgYmxvYiBpbiAnJXMnIgorbXNnc3RyICLkuI3og73orr/pl64gJyVzJyDkuK3nmoTnqIDnlo/mlbDmja7lr7nosaEiCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXIuYzo0OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIHNwYXJzZSBmaWx0ZXIgZGF0YSBpbiAlcyIKK21zZ3N0ciAi5peg5rOV6Kej5p6QICVzIOS4reeahOeogOeWj+i/h+a7pOWZqOaVsOaNriIKIAogIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6NTgKLW1zZ2lkICJvbmx5ICd0cmVlOjAnIGlzIHN1cHBvcnRlZCIKLW1zZ3N0ciAi5Y+q5pSv5oyBICd0cmVlOjAnIgorbXNnaWQgImV4cGVjdGVkICd0cmVlOjxkZXB0aD4nIgorbXNnc3RyICLmnJ/mnJsgJ3RyZWU6POa3seW6pj4nIgogCi0jOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzoxMzcKLW1zZ2lkICJjYW5ub3QgY2hhbmdlIHBhcnRpYWwgY2xvbmUgcHJvbWlzb3IgcmVtb3RlIgotbXNnc3RyICLml6Dms5Xkv67mlLnpg6jliIblhYvpmobnmoQgcHJvbWlzb3Ig6L+c56iL5LuT5bqTIgorIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6NzMKK21zZ2lkICJzcGFyc2U6cGF0aCBmaWx0ZXJzIHN1cHBvcnQgaGFzIGJlZW4gZHJvcHBlZCIKK21zZ3N0ciAic3BhcnNlOnBhdGgg6L+H5ruk5Zmo5pSv5oyB5bey6KKr5Yig6ZmkIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGZpbHRlci1zcGVjICclcyciCittc2dzdHIgIuaXoOaViOeahOi/h+a7pOWZqOihqOi+vuW8jyAnJXMnIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBlc2NhcGUgY2hhciBpbiBzdWItZmlsdGVyLXNwZWM6ICclYyciCittc2dzdHIgIuW/hemhu+WvuSBzdWItZmlsdGVyLXNwZWMg5Lit55qE5a2X56ym6L+b6KGM6L2s5LmJ77yaJyVjJyIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MTQ0Cittc2dpZCAiZXhwZWN0ZWQgc29tZXRoaW5nIGFmdGVyIGNvbWJpbmU6IgorbXNnc3RyICLmnJ/mnJvlnKjnu4TlkIjlkI7mnInkuIDkupvkuJzopb/vvJoiCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjIyNgorbXNnaWQgIm11bHRpcGxlIGZpbHRlci1zcGVjcyBjYW5ub3QgYmUgY29tYmluZWQiCittc2dzdHIgIuS4jeiDvea3t+eUqOWkmuenjei/h+a7pOinhOagvCIKIAogIzogbG9ja2ZpbGUuYzoxNTEKICMsIGMtZm9ybWF0CkBAIC0yOTQ3LDExMyArNDEwMSwxMTAgQEAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCiBtc2dzdHIgIuivu+WPlue8k+WtmOWksei0pSIKIAotIzogbWVyZ2UuYzoxMDcgcmVyZXJlLmM6NzIwIGJ1aWx0aW4vYW0uYzoxODk5IGJ1aWx0aW4vYW0uYzoxOTMzCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Mzg3IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MDggYnVpbHRpbi9jbG9uZS5jOjc2NAorIzogbWVyZ2UuYzoxMDcgcmVyZXJlLmM6NzIwIGJ1aWx0aW4vYW0uYzoxODc0IGJ1aWx0aW4vYW0uYzoxOTA4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTM5IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTggYnVpbHRpbi9jbG9uZS5jOjgwOQorIzogYnVpbHRpbi9zdGFzaC5jOjI2NAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKIG1zZ3N0ciAi5peg5rOV5YaZ5paw55qE57Si5byV5paH5Lu2IgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM2NwogbXNnaWQgIihiYWQgY29tbWl0KVxuIgogbXNnc3RyICLvvIjlnY/mj5DkuqTvvIlcbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQ1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozOTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX2NhY2hlaW5mbyBmYWlsZWQgZm9yIHBhdGggJyVzJzsgbWVyZ2UgYWJvcnRpbmcuIgogbXNnc3RyICJhZGRfY2FjaGVpbmZvIOWvuei3r+W+hCAnJXMnIOaJp+ihjOWksei0pe+8jOWQiOW5tue7iOatouOAgiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzUzCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX2NhY2hlaW5mbyBmYWlsZWQgdG8gcmVmcmVzaCBmb3IgcGF0aCAnJXMnOyBtZXJnZSBhYm9ydGluZy4iCiBtc2dzdHIgImFkZF9jYWNoZWluZm8g5peg5rOV5Yi35paw6Lev5b6EICclcyfvvIzlkIjlubbnu4jmraLjgIIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjQzNQotbXNnaWQgImVycm9yIGJ1aWxkaW5nIHRyZWVzIgotbXNnc3RyICLliJvlu7rmoJHlh7rplJkiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkwNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcGF0aCAnJXMnJXMiCiBtc2dzdHIgIuWIm+W7uui3r+W+hCAnJXMnJXMg5aSx6LSlIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5MTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyAlcyB0byBtYWtlIHJvb20gZm9yIHN1YmRpcmVjdG9yeVxuIgogbXNnc3RyICLliKDpmaQgJXMg5Lul5L6/5Li65a2Q55uu5b2V55WZ5Ye656m66Ze0XG4iCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkzMSBtZXJnZS1yZWN1cnNpdmUuYzo5NTAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxMCBtZXJnZS1yZWN1cnNpdmUuYzo5MjkKIG1zZ2lkICI6IHBlcmhhcHMgYSBEL0YgY29uZmxpY3Q/IgogbXNnc3RyICLvvJrlj6/og73mmK/kuIDkuKrnm67lvZUv5paH5Lu25Yay56qB77yfIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzo5NDAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICclcyciCiBtc2dzdHIgIuaLkue7neS4ouW8gyAnJXMnIOS4reeahOacqui3n+i4quaWh+S7tiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTgyIGJ1aWx0aW4vY2F0LWZpbGUuYzozOQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTYwIGJ1aWx0aW4vY2F0LWZpbGUuYzo0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMgJyVzJyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+W5a+56LGhICVzICclcyciCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk4NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJsb2IgZXhwZWN0ZWQgZm9yICVzICclcyciCiBtc2dzdHIgIiVzICclcycg5bqU5Li65pWw5o2u5a+56LGhIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDA4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzo5OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJyVzJzogJXMiCiBtc2dzdHIgIuaJk+W8gCAnJXMnIOWksei0pe+8miVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDE5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMDAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzeW1saW5rICclcyc6ICVzIgogbXNnc3RyICLliJvlu7rnrKblj7fpk77mjqUgJyVzJyDlpLHotKXvvJolcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAyNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJkbyBub3Qga25vdyB3aGF0IHRvIGRvIHdpdGggJTA2byAlcyAnJXMnIgogbXNnc3RyICLkuI3nn6XpgZPlpoLkvZXlpITnkIYgJTA2byAlcyAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjEyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMTk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG5vdCBjaGVja2VkIG91dCkiCiBtc2dzdHIgIuaXoOazleWQiOW5tuWtkOaooee7hCAlcyDvvIjmsqHmnInmo4Dlh7rvvIkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMTkKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAoY29tbWl0cyBub3QgcHJlc2VudCkiCiBtc2dzdHIgIuaXoOazleWQiOW5tuWtkOaooee7hCAlc++8iOaPkOS6pOS4jeWtmOWcqO+8iSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChjb21taXRzIGRvbid0IGZvbGxvdyBtZXJnZS1iYXNlKSIKIG1zZ3N0ciAi5peg5rOV5ZCI5bm25a2Q5qih57uEICVzIO+8iOaPkOS6pOacqui3n+maj+WQiOW5tuWfuue6v++8iSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIzNCBtZXJnZS1yZWN1cnNpdmUuYzoxMjQ2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjIxIG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkaW5nIHN1Ym1vZHVsZSAlcyB0byB0aGUgZm9sbG93aW5nIGNvbW1pdDoiCiBtc2dzdHIgIuWtkOaooee7hCAlcyDlv6vov5vliLDlpoLkuIvmj5DkuqTvvJoiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMzcgbWVyZ2UtcmVjdXJzaXZlLmM6MTI0OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyNCBtZXJnZS1yZWN1cnNpdmUuYzoxMjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhc3QtZm9yd2FyZGluZyBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIuW/q+i/m+WtkOaooee7hCAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI3MQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChtZXJnZSBmb2xsb3dpbmcgY29tbWl0cyBub3QgZm91bmQpIgogbXNnc3RyICLml6Dms5XlkIjlubblrZDmqKHnu4QgJXMg77yI5rKh5Y+R546w5ZCI5bm26Lef6ZqP55qE5o+Q5Lqk77yJIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG5vdCBmYXN0LWZvcndhcmQpIgogbXNnc3RyICLml6Dms5XlkIjlubblrZDmqKHnu4QgJXPvvIjpnZ7lv6vov5vvvIkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNzYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNjQKIG1zZ2lkICJGb3VuZCBhIHBvc3NpYmxlIG1lcmdlIHJlc29sdXRpb24gZm9yIHRoZSBzdWJtb2R1bGU6XG4iCiBtc2dzdHIgIuaJvuWIsOWtkOaooee7hOeahOS4gOS4quWPr+iDveeahOWQiOW5tuaWueahiO+8mlxuIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjc5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB0aGlzIGlzIGNvcnJlY3Qgc2ltcGx5IGFkZCBpdCB0byB0aGUgaW5kZXggZm9yIGV4YW1wbGVcbiIKQEAgLTMwNjksMzEgKzQyMjAsMzEgQEAKICJcbiIKICLku6XmjqXlj5fmraTlu7rorq7jgIJcbiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI4OAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChtdWx0aXBsZSBtZXJnZXMgZm91bmQpIgogbXNnc3RyICLml6Dms5XlkIjlubblrZDmqKHnu4QgJXMg77yI5Y+R546w5aSa5Liq5ZCI5bm277yJIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzU4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzQ5CiBtc2dpZCAiRmFpbGVkIHRvIGV4ZWN1dGUgaW50ZXJuYWwgbWVyZ2UiCiBtc2dzdHIgIuaXoOazleaJp+ihjOWGhemDqOWQiOW5tiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM2MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM1NAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkICVzIHRvIGRhdGFiYXNlIgogbXNnc3RyICLkuI3og73mt7vliqAgJXMg6Iez5a+56LGh5bqTIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzk1CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMzg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8tbWVyZ2luZyAlcyIKIG1zZ3N0ciAi6Ieq5Yqo5ZCI5bm2ICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDE2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVycm9yOiBSZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICVzOyB3cml0aW5nIHRvICVzIGluc3RlYWQuIgogbXNnc3RyICLplJnor6/vvJrmi5Lnu53kuKLlpLHmnKrot5/ouKrmlofku7YgJyVzJ++8jOiAjOaYr+WGmeWFpSAlc+OAgiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ4MworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgpAQCAtMzEwMiw3ICs0MjUzLDcgQEAKICLlhrLnqoHvvIglMSRzL+WIoOmZpO+8ie+8miUyJHMg5ZyoICUzJHMg5Lit6KKr5Yig6Zmk77yM5ZyoICU1JHMg5Lit6KKrICU0JHPjgIIlNyRzIOeahCAlNiRzIOeJiCIKICLmnKzooqvkv53nlZnjgIIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0ODgKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCkBAIC0zMTExLDcgKzQyNjIsNyBAQAogIuWGsueqge+8iCUxJHMv5Yig6Zmk77yJ77yaJTIkcyDlnKggJTMkcyDkuK3ooqvliKDpmaTvvIzlnKggJTYkcyDkuK3nmoQgJTUkcyDooqsgJTQkc+OAgiU4JHMg55qEICIKICIlNyRzIOeJiOacrOiiq+S/neeVmeOAgiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ5NQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzIGxlZnQgIgpAQCAtMzEyMCw3ICs0MjcxLDcgQEAKICLlhrLnqoHvvIglMSRzL+WIoOmZpO+8ie+8miUyJHMg5ZyoICUzJHMg5Lit6KKr5Yig6Zmk77yM5ZyoICU1JHMg5Lit6KKrICU0JHPjgIIlNyRzIOeahCAlNiRzIOeJiCIKICLmnKzkv53nlZnlnKggJTgkcyDkuK3jgIIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE1MDAKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCkBAIC0zMTM3LDIzICs0Mjg4LDMyIEBACiBtc2dpZCAicmVuYW1lZCIKIG1zZ3N0ciAi6YeN5ZG95ZCNIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTg4IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzcgbWVyZ2UtcmVjdXJzaXZlLmM6MjM2OQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzEyNAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYxNCBtZXJnZS1yZWN1cnNpdmUuYzoyNTMwIG1lcmdlLXJlY3Vyc2l2ZS5jOjMxNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gbG9zZSBkaXJ0eSBmaWxlIGF0ICVzIgogbXNnc3RyICLmi5Lnu53kuKLlpLHohI/mlofku7YgJyVzJyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYwMgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYyNAorIywgYy1mb3JtYXQKK21zZ2lkICJSZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICVzLCBldmVuIHRob3VnaCBpdCdzIGluIHRoZSB3YXkuIgorbXNnc3RyICLmi5Lnu53lnKggJyVzJyDlpITlpLHljrvmnKrot5/ouKrmlofku7bvvIzljbPkvb/lroPlrZjlnKjkuo7ph43lkb3lkI3kuK3jgIIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAgQWRkZWQgJXMgaW4gJXMiCittc2dzdHIgIuWGsueqge+8iOmHjeWRveWQjS/mt7vliqDvvInvvJrlnKggJTMkcyDkuK3ph43lkb3lkI0gJTEkcy0+JTIkc+OAguWcqCAlNSRzIOS4rea3u+WKoCAlNCRzIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIGEgZGlyZWN0b3J5IGluICVzIGFkZGluZyBhcyAlcyBpbnN0ZWFkIgogbXNnc3RyICIlcyDmmK8gJXMg5Lit55qE5LiA5Liq55uu5b2V6ICM5LulICVzIOS4uuWQjeiiq+a3u+WKoCIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYwNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTcxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICVzOyBhZGRpbmcgYXMgJXMgaW5zdGVhZCIKIG1zZ3N0ciAi5ouS57ud5Lii5aSx5pyq6Lef6Liq5paH5Lu2ICclcyfvvIzogIzmmK/mt7vliqDkuLogJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE2MzMKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIFwiJXNcIi0+XCIlc1wiIGluIGJyYW5jaCBcIiVzXCIgcmVuYW1lIFwiJXMiCkBAIC0zMTYyLDI4ICs0MzIyLDE4IEBACiAi5Yay56qB77yI6YeN5ZG95ZCNL+mHjeWRveWQje+8ie+8muWcqOWIhuaUryBcIiUzJHNcIiDkuK3ph43lkb3lkI0gXCIlMSRzXCItPlwiJTIkc1wi77yM5Zyo5YiG5pSvICIKICJcIiU2JHNcIiDkuK3ph43lkb3lkI0gXCIlNCRzXCItPlwiJTUkc1wiJTckcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTYzOAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0MgogbXNnaWQgIiAobGVmdCB1bnJlc29sdmVkKSIKIG1zZ3N0ciAi77yI55WZ5LiL5pyq6Kej5Yaz77yJIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjk5CisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gUmVuYW1lICVzLT4lcyBpbiAlcyIKIG1zZ3N0ciAiIgogIuWGsueqge+8iOmHjeWRveWQjS/ph43lkb3lkI3vvInvvJrlnKggJTMkcyDkuK3ph43lkb3lkI0gJTEkcy0+JTIkc++8jOWcqCAlNiRzIOS4remHjeWRveWQjSAlNCRzLT4iCiAiJTUkcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNAotIywgYy1mb3JtYXQKLW1zZ2lkICJSZW5hbWluZyAlcyB0byAlcyBhbmQgJXMgdG8gJXMgaW5zdGVhZCIKLW1zZ3N0ciAi5Luj5LmL5Lul6YeN5ZG95ZCNICVzIOiHsyAlc++8jOS7peWPiiAlcyDoh7MgJXMiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3NDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlcywgZXZlbiB0aG91Z2ggaXQncyBpbiB0aGUgd2F5LiIKLW1zZ3N0ciAi5ouS57ud5ZyoICclcycg5aSE5aSx5Y675pyq6Lef6Liq5paH5Lu277yM5Y2z5L2/5a6D5a2Y5Zyo5LqO6YeN5ZG95ZCN5Lit44CCIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoxOTUyCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoyMTE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDT05GTElDVCAoZGlyZWN0b3J5IHJlbmFtZSBzcGxpdCk6IFVuY2xlYXIgd2hlcmUgdG8gcGxhY2UgJXMgYmVjYXVzZSAiCkBAIC0zMTkzLDcgKzQzNDMsNyBAQAogIuWGsueqge+8iOWIhuWJsueahOebruW9lemHjeWRveWQje+8ie+8muS4jea4healmiAlcyDlupTor6XmlL7lnKjlk6rph4zvvIzlm6DkuLrnm67lvZUgJXMg6KKr6YeN5ZG95ZCN5Yiw5aSa5LiqIgogIuWFtuWug+ebruW9le+8jOayoeacieebruW9leWMheWQq+Wkp+mDqOWIhuaWh+S7tuOAgiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTk4NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKGltcGxpY2l0IGRpciByZW5hbWUpOiBFeGlzdGluZyBmaWxlL2RpciBhdCAlcyBpbiB0aGUgd2F5IG9mICIKQEAgLTMyMDIsNyArNDM1Miw3IEBACiAi5Yay56qB77yI6ZqQ5byP55uu5b2V6YeN5ZG95ZCN77yJ77ya5aSE5LqO6ZqQ5byP55uu5b2V6YeN5ZG95ZCN55qE546w5a2Y5paH5Lu2L+ebruW9lSAlc++8jOWwhuS7peS4i+i3r+W+hOaUviIKICLlnKjvvJolc+OAgiIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTk5NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ09ORkxJQ1QgKGltcGxpY2l0IGRpciByZW5hbWUpOiBDYW5ub3QgbWFwIG1vcmUgdGhhbiBvbmUgcGF0aCB0byAlczsgIgpAQCAtMzIxMSw3ICs0MzYxLDcgQEAKICLlhrLnqoHvvIjpmpDlvI/nm67lvZXph43lkb3lkI3vvInvvJrml6Dms5XmmKDlsITkuIDkuKrku6XkuIrot6/lvoTliLAgJXPvvIzpmpDlvI/nm67lvZXph43lkb3lkI3lsJ3or5XlsIbov5nkupvot68iCiAi5b6E5pS+572u5LqO5q2k77yaJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIwODYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIyNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIGRpcmVjdG9yeSAlcy0+JXMgaW4gJXMuIFJlbmFtZSBkaXJlY3RvcnkgJXMtIgpAQCAtMzIyMCw5MiArNDM3MCwxNDYgQEAKICLlhrLnqoHvvIjph43lkb3lkI0v6YeN5ZG95ZCN77yJ77ya5ZyoICUzJHMg5Lit6YeN5ZG95ZCN55uu5b2VICUxJHMtPiUyJHPvvIzlnKggJTYkcyDkuK3ph43lkb3lkI3nm67lvZUgIgogIiU0JHMtPiU1JHMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIzMzEKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI0OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIldBUk5JTkc6IEF2b2lkaW5nIGFwcGx5aW5nICVzIC0+ICVzIHJlbmFtZSB0byAlcywgYmVjYXVzZSAlcyBpdHNlbGYgd2FzICIKICJyZW5hbWVkLiIKIG1zZ3N0ciAi6K2m5ZGK77ya6YG/5YWN5bqU55SoICVzIC0+ICVzIOeahOmHjeWRveWQjeWIsCAlc++8jOWboOS4uiAlcyDmnKzouqvlt7Looqvph43lkb3lkI3jgIIiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI3MzcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpOiBSZW5hbWUgJXMtPiVzIGluICVzLiAlcyBhZGRlZCBpbiAlcyIKLW1zZ3N0ciAi5Yay56qB77yI6YeN5ZG95ZCNL+a3u+WKoO+8ie+8muWcqCAlMyRzIOS4remHjeWRveWQjSAlMSRzLT4lMiRz44CC5ZyoICU1JHMg5Lit5re75YqgICU0JHMiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI3NjMKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQWRkaW5nIG1lcmdlZCAlcyIKLW1zZ3N0ciAi5re75Yqg5ZCI5bm25ZCO55qEICVzIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzoyNzcwIG1lcmdlLXJlY3Vyc2l2ZS5jOjMxMjcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQWRkaW5nIGFzICVzIGluc3RlYWQiCi1tc2dzdHIgIuiAjOaYr+S7pSAlcyDkuLrlkI3mt7vliqAiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI5MzQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgb2JqZWN0ICVzIgogbXNnc3RyICLkuI3og73or7vlj5blr7nosaEgJXMiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjI5MzcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIGlzIG5vdCBhIGJsb2IiCiBtc2dzdHIgIuWvueixoSAlcyDkuI3mmK/kuIDkuKrmlbDmja7lr7nosaEiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMDYKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwODYKIG1zZ2lkICJtb2RpZnkiCiBtc2dzdHIgIuS/ruaUuSIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAwNgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA4NgogbXNnaWQgIm1vZGlmaWVkIgogbXNnc3RyICLkv67mlLkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMTcKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwOTgKIG1zZ2lkICJjb250ZW50IgogbXNnc3RyICLlhoXlrrkiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwMjQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxMDIKIG1zZ2lkICJhZGQvYWRkIgogbXNnc3RyICLmt7vliqAv5re75YqgIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDcxCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwZWQgJXMgKG1lcmdlZCBzYW1lIGFzIGV4aXN0aW5nKSIKIG1zZ3N0ciAi55Wl6L+HICVz77yI5bey57uP5YGa6L+H55u45ZCM5ZCI5bm277yJIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMDkzIGdpdC1zdWJtb2R1bGUuc2g6ODU4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTQ3IGdpdC1zdWJtb2R1bGUuc2g6OTkzCiBtc2dpZCAic3VibW9kdWxlIgogbXNnc3RyICLlrZDmqKHnu4QiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMwOTQKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogTWVyZ2UgY29uZmxpY3QgaW4gJXMiCiBtc2dzdHIgIuWGsueqge+8iCVz77yJ77ya5ZCI5bm25Yay56qB5LqOICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjE2CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBhcyAlcyBpbnN0ZWFkIgorbXNnc3RyICLogIzmmK/ku6UgJXMg5Li65ZCN5re75YqgIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQYXRoIHVwZGF0ZWQ6ICVzIGFkZGVkIGluICVzIGluc2lkZSBhIGRpcmVjdG9yeSB0aGF0IHdhcyByZW5hbWVkIGluICVzOyAiCisibW92aW5nIGl0IHRvICVzLiIKK21zZ3N0ciAiIgorIui3r+W+hOW3suabtOaWsO+8miVzIOa3u+WKoOWIsCAlc++8jOS9jeS6juS4gOS4quiiq+mHjeWRveWQjeWIsCAlcyDnmoTnm67lvZXkuK3vvIzlsIblhbbnp7vliqjliLAgJXPjgIIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUIChmaWxlIGxvY2F0aW9uKTogJXMgYWRkZWQgaW4gJXMgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgd2FzIHJlbmFtZWQgIgorImluICVzLCBzdWdnZXN0aW5nIGl0IHNob3VsZCBwZXJoYXBzIGJlIG1vdmVkIHRvICVzLiIKK21zZ3N0ciAiIgorIuWGsueqge+8iOaWh+S7tuS9jee9ru+8ie+8miVzIOa3u+WKoOWIsCAlc++8jOS9jeS6juS4gOS4quiiq+mHjeWRveWQjeS4uiAlcyDnmoTnm67lvZXkuK3vvIzlu7rorq7lsIblhbbnp7vliqgiCisi5YiwICVz44CCIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQYXRoIHVwZGF0ZWQ6ICVzIHJlbmFtZWQgdG8gJXMgaW4gJXMsIGluc2lkZSBhIGRpcmVjdG9yeSB0aGF0IHdhcyByZW5hbWVkIGluICIKKyIlczsgbW92aW5nIGl0IHRvICVzLiIKK21zZ3N0ciAiIgorIui3r+W+hOW3suabtOaWsO+8miUxJHMg6YeN5ZG95ZCN5Li6ICUzJHMg5Lit55qEICUyJHPvvIzogIzor6Xnm67lvZXooqvph43lkb3lkI3liLAgJTQkcyDkuK3vvIzlsIblhbbnp7siCisi5Yqo5YiwICU1JHPjgIIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUIChmaWxlIGxvY2F0aW9uKTogJXMgcmVuYW1lZCB0byAlcyBpbiAlcywgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgIgorIndhcyByZW5hbWVkIGluICVzLCBzdWdnZXN0aW5nIGl0IHNob3VsZCBwZXJoYXBzIGJlIG1vdmVkIHRvICVzLiIKK21zZ3N0ciAiIgorIuWGsueqge+8iOaWh+S7tuS9jee9ru+8ie+8miUxJHMg6YeN5ZG95ZCN5Li6ICUzJHMg5Lit55qEICUyJHPvvIzogIzor6Xnm67lvZXooqvph43lkb3lkI3liLAgJTQkcyDkuK3vvIwiCisi5bu66K6u5bCG5YW256e75Yqo5YiwICU1JHPjgIIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMzODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXMiCiBtc2dzdHIgIuWIoOmZpCAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI0MgorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQwOAogbXNnaWQgImZpbGUvZGlyZWN0b3J5IgogbXNnc3RyICLmlofku7Yv55uu5b2VIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMjQ4CisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDEzCiBtc2dpZCAiZGlyZWN0b3J5L2ZpbGUiCiBtc2dzdHIgIuebruW9lS/mlofku7YiCiAKLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNTUKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ09ORkxJQ1QgKCVzKTogVGhlcmUgaXMgYSBkaXJlY3Rvcnkgd2l0aCBuYW1lICVzIGluICVzLiBBZGRpbmcgJXMgYXMgJXMiCiBtc2dzdHIgIuWGsueqge+8iCUxJHPvvInvvJrlnKggJTMkcyDkuK3mnInkuIDkuKrlkI3kuLogJTIkcyDnmoTnm67lvZXjgILku6UgJTUkcyDkuLrlkI3mt7vliqAgJTQkcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI2NAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgJXMiCiBtc2dzdHIgIua3u+WKoCAlcyIKIAotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzMwMAorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJDT05GTElDVCAoYWRkL2FkZCk6IE1lcmdlIGNvbmZsaWN0IGluICVzIgorbXNnc3RyICLlhrLnqoHvvIhhZGQvYWRk77yJ77ya5ZCI5bm25Yay56qB5LqOICVzIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDgyCittc2dpZCAiQWxyZWFkeSB1cCB0byBkYXRlISIKK21zZ3N0ciAi5bey57uP5piv5pyA5paw55qE77yBIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDkxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1lcmdpbmcgb2YgdHJlZXMgJXMgYW5kICVzIGZhaWxlZCIKK21zZ3N0ciAi5peg5rOV5ZCI5bm25qCRICVzIOWSjCAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzU5NQorbXNnaWQgIk1lcmdpbmc6IgorbXNnc3RyICLlkIjlubbvvJoiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yOiIKK21zZ2lkX3BsdXJhbCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yczoiCittc2dzdHJbMF0gIuWPkeeOsCAldSDkuKrlhbHlkIznpZblhYjvvJoiCittc2dzdHJbMV0gIuWPkeeOsCAldSDkuKrlhbHlkIznpZblhYjvvJoiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM2NTgKK21zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCittc2dzdHIgIuWQiOW5tuacqui/lOWbnuaPkOS6pCIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzcxNwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC0zMzE0LDE2NyArNDUxOCwxODQgQEAKICLmgqjlr7nkuIvliJfmlofku7bnmoTmnKzlnLDkv67mlLnlsIbooqvlkIjlubbmk43kvZzopobnm5bvvJpcbiIKICIgICVzIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMzExCi1tc2dpZCAiQWxyZWFkeSB1cCB0byBkYXRlISIKLW1zZ3N0ciAi5bey57uP5piv5pyA5paw55qE77yBIgotCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozMzIwCi0jLCBjLWZvcm1hdAotbXNnaWQgIm1lcmdpbmcgb2YgdHJlZXMgJXMgYW5kICVzIGZhaWxlZCIKLW1zZ3N0ciAi5peg5rOV5ZCI5bm25qCRICVzIOWSjCAlcyIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQxOQotbXNnaWQgIk1lcmdpbmc6IgotbXNnc3RyICLlkIjlubbvvJoiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MzIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yOiIKLW1zZ2lkX3BsdXJhbCAiZm91bmQgJXUgY29tbW9uIGFuY2VzdG9yczoiCi1tc2dzdHJbMF0gIuWPkeeOsCAldSDkuKrlhbHlkIznpZblhYjvvJoiCi1tc2dzdHJbMV0gIuWPkeeOsCAldSDkuKrlhbHlkIznpZblhYjvvJoiCi0KLSM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0NzEKLW1zZ2lkICJtZXJnZSByZXR1cm5lZCBubyBjb21taXQiCi1tc2dzdHIgIuWQiOW5tuacqui/lOWbnuaPkOS6pCIKLQotIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzUzNworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCiBtc2dzdHIgIuS4jeiDveino+aekOWvueixoSAnJXMnIgogCi0jOiBtZXJnZS1yZWN1cnNpdmUuYzozNTUzIGJ1aWx0aW4vbWVyZ2UuYzo2OTEgYnVpbHRpbi9tZXJnZS5jOjg0OQorIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzgzMiBidWlsdGluL21lcmdlLmM6Njk0IGJ1aWx0aW4vbWVyZ2UuYzo4NzQKIG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5kZXguIgogbXNnc3RyICLkuI3og73lhpnlhaXntKLlvJXjgIIiCiAKLSM6IG1pZHguYzo2NQorIzogbWlkeC5jOjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm11bHRpLXBhY2staW5kZXggZmlsZSAlcyBpcyB0b28gc21hbGwiCiBtc2dzdHIgIuWkmuWMhee0ouW8leaWh+S7tiAlcyDlpKrlsI8iCiAKLSM6IG1pZHguYzo4MQorIzogbWlkeC5jOjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm11bHRpLXBhY2staW5kZXggc2lnbmF0dXJlIDB4JTA4eCBkb2VzIG5vdCBtYXRjaCBzaWduYXR1cmUgMHglMDh4IgogbXNnc3RyICLlpJrljIXntKLlvJXnrb7lkI0gMHglMDh4IOWSjOetvuWQjSAweCUwOHgg5LiN5Yy56YWNIgogCi0jOiBtaWR4LmM6ODYKKyM6IG1pZHguYzo4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHZlcnNpb24gJWQgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgIm11bHRpLXBhY2staW5kZXgg54mI5pysICVkIOS4jeiDveiiq+ivhuWIqyIKIAotIzogbWlkeC5jOjkxCisjOiBtaWR4LmM6OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGFzaCB2ZXJzaW9uICV1IGRvZXMgbm90IG1hdGNoIgogbXNnc3RyICLmlaPliJfniYjmnKwgJXUg5LiN5Yy56YWNIgogCi0jOiBtaWR4LmM6MTA1CisjOiBtaWR4LmM6MTA4CiBtc2dpZCAiaW52YWxpZCBjaHVuayBvZmZzZXQgKHRvbyBsYXJnZSkiCiBtc2dzdHIgIuaXoOaViOeahOWdl+WBj+enu++8iOWkquWkp++8iSIKIAotIzogbWlkeC5jOjEyOQorIzogbWlkeC5jOjEzMgogbXNnaWQgInRlcm1pbmF0aW5nIG11bHRpLXBhY2staW5kZXggY2h1bmsgaWQgYXBwZWFycyBlYXJsaWVyIHRoYW4gZXhwZWN0ZWQiCiBtc2dzdHIgIue7iOatouWkmuWMhee0ouW8leWdlyBpZCDlh7rnjrDml7bpl7Tml6nkuo7pooTmnJ8iCiAKLSM6IG1pZHguYzoxNDIKKyM6IG1pZHguYzoxNDUKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgcGFjay1uYW1lIGNodW5rIgogbXNnc3RyICLlpJrljIXntKLlvJXnvLrlsJHlv4XpnIDnmoTljIXlkI3lnZciCiAKLSM6IG1pZHguYzoxNDQKKyM6IG1pZHguYzoxNDcKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgT0lEIGZhbm91dCBjaHVuayIKLW1zZ3N0ciAi5aSa5YyF57Si5byV57y65bCR5b+F6ZyA55qEIE9JRCDmiYflh7rlnZciCittc2dzdHIgIuWkmuWMhee0ouW8lee8uuWwkeW/hemcgOeahOWvueixoSBJRCDmiYflh7rlnZciCiAKLSM6IG1pZHguYzoxNDYKKyM6IG1pZHguYzoxNDkKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgT0lEIGxvb2t1cCBjaHVuayIKLW1zZ3N0ciAi5aSa5YyF57Si5byV57y65bCR5b+F6ZyA55qEIE9JRCDmn6Xor6LlnZciCittc2dzdHIgIuWkmuWMhee0ouW8lee8uuWwkeW/hemcgOeahOWvueixoSBJRCDmn6Xor6LlnZciCiAKLSM6IG1pZHguYzoxNDgKKyM6IG1pZHguYzoxNTEKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgb2JqZWN0IG9mZnNldHMgY2h1bmsiCiBtc2dzdHIgIuWkmuWMhee0ouW8lee8uuWwkeW/hemcgOeahOWvueixoeWBj+enu+WdlyIKIAotIzogbWlkeC5jOjE2MgorIzogbWlkeC5jOjE2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHBhY2sgbmFtZXMgb3V0IG9mIG9yZGVyOiAnJXMnIGJlZm9yZSAnJXMnIgogbXNnc3RyICLlpJrljIXntKLlvJXljIXlkI3ml6Dluo/vvJonJXMnIOWcqCAnJXMnIOS5i+WJjSIKIAotIzogbWlkeC5jOjIwNQorIzogbWlkeC5jOjIxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay1pbnQtaWQ6ICV1ICgldSB0b3RhbCBwYWNrcykiCiBtc2dzdHIgIumUmeeahCBwYWNrLWludC1pZO+8miV177yI5YWx5pyJICV1IOS4quWMhe+8iSIKIAotIzogbWlkeC5jOjI0NgorIzogbWlkeC5jOjI2MAogbXNnaWQgIm11bHRpLXBhY2staW5kZXggc3RvcmVzIGEgNjQtYml0IG9mZnNldCwgYnV0IG9mZl90IGlzIHRvbyBzbWFsbCIKIG1zZ3N0ciAi5aSa5YyF57Si5byV5a2Y5YKo5LiA5LiqNjTkvY3lgY/np7vvvIzkvYbmmK8gb2ZmX3Qg5aSq5bCPIgogCi0jOiBtaWR4LmM6MjcxCisjOiBtaWR4LmM6Mjg4CiBtc2dpZCAiZXJyb3IgcHJlcGFyaW5nIHBhY2tmaWxlIGZyb20gbXVsdGktcGFjay1pbmRleCIKIG1zZ3N0ciAi5LuO5aSa5YyF57Si5byV5YeG5aSHIHBhY2tmaWxlIOWHuumUmSIKIAotIzogbWlkeC5jOjQwNworIzogbWlkeC5jOjQ3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gYWRkIHBhY2tmaWxlICclcyciCiBtc2dzdHIgIua3u+WKoOWMheaWh+S7tiAnJXMnIOWksei0pSIKIAotIzogbWlkeC5jOjQxMworIzogbWlkeC5jOjQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gb3BlbiBwYWNrLWluZGV4ICclcyciCiBtc2dzdHIgIuaJk+W8gOWMhee0ouW8lSAnJXMnIOWksei0pSIKIAotIzogbWlkeC5jOjUwNworIzogbWlkeC5jOjUzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9jYXRlIG9iamVjdCAlZCBpbiBwYWNrZmlsZSIKIG1zZ3N0ciAi5Zyo5YyF5paH5Lu25Lit5a6a5L2N5a+56LGhICVkIOWksei0pSIKIAotIzogbWlkeC5jOjk0MworIzogbWlkeC5jOjg0MgorbXNnaWQgIkFkZGluZyBwYWNrZmlsZXMgdG8gbXVsdGktcGFjay1pbmRleCIKK21zZ3N0ciAi5re75Yqg5YyF5paH5Lu25Yiw5aSa5YyF57Si5byVIgorCisjOiBtaWR4LmM6ODc1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpZCBub3Qgc2VlIHBhY2stZmlsZSAlcyB0byBkcm9wIgorbXNnc3RyICLmsqHmnInnnIvliLDopoHkuKLlvIPnmoTljIXmlofku7YgJXMiCisKKyM6IG1pZHguYzo5NzMKK21zZ2lkICJXcml0aW5nIGNodW5rcyB0byBtdWx0aS1wYWNrLWluZGV4IgorbXNnc3RyICLlhpnlhaXlnZfliLDlpJrljIXntKLlvJUiCisKKyM6IG1pZHguYzoxMDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjbGVhciBtdWx0aS1wYWNrLWluZGV4IGF0ICVzIgogbXNnc3RyICLmuIXnkIbkvY3kuo4gJXMg55qE5aSa5YyF57Si5byV5aSx6LSlIgogCi0jOiBtaWR4LmM6OTgxCisjOiBtaWR4LmM6MTEwOAorbXNnaWQgIkxvb2tpbmcgZm9yIHJlZmVyZW5jZWQgcGFja2ZpbGVzIgorbXNnc3RyICLmraPlnKjmn6Xmib7lvJXnlKjnmoTljIXmlofku7YiCisKKyM6IG1pZHguYzoxMTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJvaWQgZmFub3V0IG91dCBvZiBvcmRlcjogZmFub3V0WyVkXSA9ICU8UFJJeDMyPiA+ICU8UFJJeDMyPiA9IGZhbm91dFslZF0iCi1tc2dzdHIgIm9pZCDmiYflh7rml6Dluo/vvJpmYW5vdXRbJWRdID0gJTxQUkl4MzI+ID4gJTxQUkl4MzI+ID0gZmFub3V0WyVkXSIKK21zZ3N0ciAi5a+56LGhIElEIOaJh+WHuuaXoOW6j++8mmZhbm91dFslZF0gPSAlPFBSSXgzMj4gPiAlPFBSSXgzMj4gPSBmYW5vdXRbJWRdIgogCi0jOiBtaWR4LmM6OTkyCisjOiBtaWR4LmM6MTEyOAorbXNnaWQgIlZlcmlmeWluZyBPSUQgb3JkZXIgaW4gbXVsdGktcGFjay1pbmRleCIKK21zZ3N0ciAi5qCh6aqM5aSa5YyF57Si5byV5Lit55qEIE9JRCDpobrluo8iCisKKyM6IG1pZHguYzoxMTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9pZCBsb29rdXAgb3V0IG9mIG9yZGVyOiBvaWRbJWRdID0gJXMgPj0gJXMgPSBvaWRbJWRdIgotbXNnc3RyICJvaWQg5p+l6K+i5peg5bqP77yab2lkWyVkXSA9ICVzID49ICVzID0gb2lkWyVkXSIKK21zZ3N0ciAi5a+56LGhIElEIOafpeivouaXoOW6j++8mm9pZFslZF0gPSAlcyA+PSAlcyA9IG9pZFslZF0iCiAKLSM6IG1pZHguYzo5OTYKKyM6IG1pZHguYzoxMTU3Cittc2dpZCAiU29ydGluZyBvYmplY3RzIGJ5IHBhY2tmaWxlIgorbXNnc3RyICLpgJrov4fljIXmlofku7bkuLrlr7nosaHmjpLluo8iCisKKyM6IG1pZHguYzoxMTY0CiBtc2dpZCAiVmVyaWZ5aW5nIG9iamVjdCBvZmZzZXRzIgogbXNnc3RyICLmoKHpqozlr7nosaHlgY/np7siCiAKLSM6IG1pZHguYzoxMDA0CisjOiBtaWR4LmM6MTE4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBwYWNrIGVudHJ5IGZvciBvaWRbJWRdID0gJXMiCiBtc2dzdHIgIuS4uiBvaWRbJWRdID0gJXMg5Yqg6L295YyF5p2h55uu5aSx6LSlIgogCi0jOiBtaWR4LmM6MTAxMAorIzogbWlkeC5jOjExODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgcGFjay1pbmRleCBmb3IgcGFja2ZpbGUgJXMiCiBtc2dzdHIgIuS4uuWMheaWh+S7tiAlcyDliqDovb3ljIXntKLlvJXlpLHotKUiCiAKLSM6IG1pZHguYzoxMDE5CisjOiBtaWR4LmM6MTE5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmNvcnJlY3Qgb2JqZWN0IG9mZnNldCBmb3Igb2lkWyVkXSA9ICVzOiAlPFBSSXg2ND4gIT0gJTxQUkl4NjQ+IgogbXNnc3RyICJvaWRbJWRdID0gJXMg6ZSZ6K+v55qE5a+56LGh5YGP56e777yaJTxQUkl4NjQ+ICE9ICU8UFJJeDY0PiIKIAotIzogbmFtZS1oYXNoLmM6NTMyCisjOiBtaWR4LmM6MTIyMAorbXNnaWQgIkNvdW50aW5nIHJlZmVyZW5jZWQgb2JqZWN0cyIKK21zZ3N0ciAi5q2j5Zyo5a+55byV55So5a+56LGh6K6h5pWwIgorCisjOiBtaWR4LmM6MTIzMAorbXNnaWQgIkZpbmRpbmcgYW5kIGRlbGV0aW5nIHVucmVmZXJlbmNlZCBwYWNrZmlsZXMiCittc2dzdHIgIuato+WcqOafpeaJvuWSjOWIoOmZpOacquW8leeUqOeahOWMheaWh+S7tiIKKworIzogbWlkeC5jOjEzODgKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgcGFjay1vYmplY3RzIgorbXNnc3RyICLkuI3og73lvIDlp4sgcGFjay1vYmplY3RzIgorCisjOiBtaWR4LmM6MTQwNworbXNnaWQgImNvdWxkIG5vdCBmaW5pc2ggcGFjay1vYmplY3RzIgorbXNnc3RyICLkuI3og73nu5PmnZ8gcGFjay1vYmplY3RzIgorCisjOiBuYW1lLWhhc2guYzo1MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsYXp5X2RpciB0aHJlYWQ6ICVzIgogbXNnc3RyICLkuI3og73liJvlu7ogbGF6eV9kaXIg57q/56iL77yaJXMiCiAKLSM6IG5hbWUtaGFzaC5jOjU1NAorIzogbmFtZS1oYXNoLmM6NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbGF6eV9uYW1lIHRocmVhZDogJXMiCiBtc2dzdHIgIuS4jeiDveWIm+W7uiBsYXp5X25hbWUg57q/56iL77yaJXMiCiAKLSM6IG5hbWUtaGFzaC5jOjU2MAorIzogbmFtZS1oYXNoLmM6NTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBqb2luIGxhenlfbmFtZSB0aHJlYWQ6ICVzIgogbXNnc3RyICLkuI3og73liqDlhaUgbGFzeV9uYW1lIOe6v+eoi++8miVzIgogCi0jOiBub3Rlcy1tZXJnZS5jOjI3NQorIzogbm90ZXMtbWVyZ2UuYzoyNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBwcmV2aW91cyBub3RlcyBtZXJnZSAoJXMgZXhpc3RzKS5cbiIKQEAgLTM0ODUsMjEgKzQ3MDYsMjEgQEAKICLlnKjlvIDlp4vkuIDkuKrmlrDnmoTms6jph4rlkIjlubbkuYvliY3vvIzor7fkvb/nlKggJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcg5oiW6ICFICdnaXQgIgogIm5vdGVzIG1lcmdlIC0tYWJvcnQnIOadpeaPkOS6pC/nu4jmraLliY3kuIDmrKHlkIjlubbjgIIiCiAKLSM6IG5vdGVzLW1lcmdlLmM6MjgyCisjOiBub3Rlcy1tZXJnZS5jOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuIgogbXNnc3RyICLmgqjlsJrmnKrnu5PmnZ/ms6jph4rlkIjlubbvvIjlrZjlnKggJXPvvInjgIIiCiAKLSM6IG5vdGVzLXV0aWxzLmM6NDUKKyM6IG5vdGVzLXV0aWxzLmM6NDYKIG1zZ2lkICJDYW5ub3QgY29tbWl0IHVuaW5pdGlhbGl6ZWQvdW5yZWZlcmVuY2VkIG5vdGVzIHRyZWUiCiBtc2dzdHIgIuS4jeiDveaPkOS6pOacquWIneWni+WMli/mnKrlvJXnlKjnmoTms6jop6PmoJEiCiAKLSM6IG5vdGVzLXV0aWxzLmM6MTA0CisjOiBub3Rlcy11dGlscy5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgbm90ZXMucmV3cml0ZU1vZGUgdmFsdWU6ICclcyciCiBtc2dzdHIgIuWdj+eahCBub3Rlcy5yZXdyaXRlTW9kZSDlgLzvvJonJXMnIgogCi0jOiBub3Rlcy11dGlscy5jOjExNAorIzogbm90ZXMtdXRpbHMuYzoxMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gcmV3cml0ZSBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCiBtc2dzdHIgIuaLkue7neWQkSAlc++8iOWcqCByZWZzL25vdGVzLyDkuYvlpJbvvInlhpnlhaXms6jop6MiCkBAIC0zNTA4LDEyICs0NzI5LDEyIEBACiAjLiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZSBzZWNvbmQgJXMgaXMKICMuIGl0cyB2YWx1ZS4KICMuCi0jOiBub3Rlcy11dGlscy5jOjE0NAorIzogbm90ZXMtdXRpbHMuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiQmFkICVzIHZhbHVlOiAnJXMnIgogbXNnc3RyICLlnY/nmoQgJXMg5YC877yaJyVzJyIKIAotIzogb2JqZWN0LmM6NTQKKyM6IG9iamVjdC5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb2JqZWN0IHR5cGUgXCIlc1wiIgogbXNnc3RyICLml6DmlYjnmoTlr7nosaHnsbvlnosgXCIlc1wiIgpAQCAtMzUzNSwyOCArNDc1Niw4MyBAQAogCiAjOiBvYmplY3QuYzoyNjYgb2JqZWN0LmM6Mjc3CiAjLCBjLWZvcm1hdAotbXNnaWQgInNoYTEgbWlzbWF0Y2ggJXMiCi1tc2dzdHIgInNoYTEg5LiOICVzIOS4jeWMuemFjSIKK21zZ2lkICJoYXNoIG1pc21hdGNoICVzIgorbXNnc3RyICLlk4jluIzlgLzkuI4gJXMg5LiN5Yy56YWNIgogCi0jOiBwYWNrZmlsZS5jOjYwNworIzogcGFja2ZpbGUuYzo2NDEKIG1zZ2lkICJvZmZzZXQgYmVmb3JlIGVuZCBvZiBwYWNrZmlsZSAoYnJva2VuIC5pZHg/KSIKIG1zZ3N0ciAi5YGP56e76YeP5Zyo5YyF5paH5Lu257uT5p2f5LmL5YmN77yI5o2f5Z2P55qEIC5pZHjvvJ/vvIkiCiAKLSM6IHBhY2tmaWxlLmM6MTg2NAorIzogcGFja2ZpbGUuYzoxODg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9mZnNldCBiZWZvcmUgc3RhcnQgb2YgcGFjayBpbmRleCBmb3IgJXMgKGNvcnJ1cHQgaW5kZXg/KSIKIG1zZ3N0ciAi5YGP56e76YeP5ZyoICVzIOeahOWMhee0ouW8leW8gOWni+S5i+WJje+8iOaNn+Wdj+eahOe0ouW8le+8n++8iSIKIAotIzogcGFja2ZpbGUuYzoxODY4CisjOiBwYWNrZmlsZS5jOjE4OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAib2Zmc2V0IGJleW9uZCBlbmQgb2YgcGFjayBpbmRleCBmb3IgJXMgKHRydW5jYXRlZCBpbmRleD8pIgogbXNnc3RyICLlgY/np7vph4/otorov4fkuoYgJXMg55qE5YyF57Si5byV55qE57uT5bC+77yI6KKr5oiq5pat55qE57Si5byV77yf77yJIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NjcyCisjOiBwYXJzZS1vcHRpb25zLmM6MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYSB2YWx1ZSIKK21zZ3N0ciAiJXMg6ZyA6KaB5LiA5Liq5YC8IgorCisjOiBwYXJzZS1vcHRpb25zLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgaW5jb21wYXRpYmxlIHdpdGggJXMiCittc2dzdHIgIiVzIOS4jiAlcyDkuI3lhbzlrrkiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyA6IGluY29tcGF0aWJsZSB3aXRoIHNvbWV0aGluZyBlbHNlIgorbXNnc3RyICIlc++8muWSjOWFtuWug+eahOS4jeWFvOWuuSIKKworIzogcGFyc2Utb3B0aW9ucy5jOjkyIHBhcnNlLW9wdGlvbnMuYzo5NiBwYXJzZS1vcHRpb25zLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHRha2VzIG5vIHZhbHVlIgorbXNnc3RyICIlcyDkuI3lj5blgLwiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpc24ndCBhdmFpbGFibGUiCittc2dzdHIgIiVzIOS4jeWPr+eUqCIKKworIzogcGFyc2Utb3B0aW9ucy5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBleHBlY3RzIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIgdmFsdWUgd2l0aCBhbiBvcHRpb25hbCBrL20vZyBzdWZmaXgiCittc2dzdHIgIiVzIOacn+acm+S4gOS4qumdnui0n+aVtOaVsOWSjOS4gOS4quWPr+mAieeahCBrL20vZyDlkI7nvIAiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYW1iaWd1b3VzIG9wdGlvbjogJXMgKGNvdWxkIGJlIC0tJXMlcyBvciAtLSVzJXMpIgorbXNnc3RyICLmnInmrafkuYnnmoTpgInpobnvvJolc++8iOWPr+S7peaYryAtLSVzJXMg5oiWIC0tJXMlc++8iSIKKworIzogcGFyc2Utb3B0aW9ucy5jOjQyMyBwYXJzZS1vcHRpb25zLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgImRpZCB5b3UgbWVhbiBgLS0lc2AgKHdpdGggdHdvIGRhc2hlcyA/KSIKK21zZ3N0ciAi5L2g55qE5oSP5oCd5pivIGAtLSVzYO+8iOacieS4pOS4quefree6v++8n++8iSIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiBgJXMnIgorbXNnc3RyICLmnKrnn6XpgInpobkgYCVzJyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHN3aXRjaCBgJWMnIgorbXNnc3RyICLmnKrnn6XlvIDlhbMgYCVjJyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5vbi1hc2NpaSBvcHRpb24gaW4gc3RyaW5nOiBgJXMnIgorbXNnc3RyICLlrZfnrKbkuLLkuK3mnKrnn6XnmoTpnZ4gYXNjaWkg5a2X56ym6YCJ6aG577yaYCVzJyIKKworIzogcGFyc2Utb3B0aW9ucy5jOjg4OAogbXNnaWQgIi4uLiIKIG1zZ3N0ciAiLi4uIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NjkxCisjOiBwYXJzZS1vcHRpb25zLmM6OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyIKIG1zZ3N0ciAi55So5rOV77yaJXMiCkBAIC0zNTY0LDE4NSArNDg0MCwyNzEgQEAKICMuIFRSQU5TTEFUT1JTOiB0aGUgY29sb24gaGVyZSBzaG91bGQgYWxpZ24gd2l0aCB0aGUKICMuIG9uZSBpbiAidXNhZ2U6ICVzIiB0cmFuc2xhdGlvbi4KICMuCi0jOiBwYXJzZS1vcHRpb25zLmM6Njk3CisjOiBwYXJzZS1vcHRpb25zLmM6OTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgIG9yOiAlcyIKIG1zZ3N0ciAiICDmiJbvvJolcyIKIAogIyAg6K+R6ICF77ya5Li65L+d6K+B5Zyo6L6T5Ye65Lit5a+56b2Q77yM5rOo5oSP6LCD5pW05Y+l5Lit56m65qC877yBCi0jOiBwYXJzZS1vcHRpb25zLmM6NzAwCisjOiBwYXJzZS1vcHRpb25zLmM6OTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgICAlcyIKIG1zZ3N0ciAiICAgICVzIgogCi0jOiBwYXJzZS1vcHRpb25zLmM6NzM5CisjOiBwYXJzZS1vcHRpb25zLmM6OTU1CiBtc2dpZCAiLU5VTSIKIG1zZ3N0ciAiLeaVsOWtlyIKIAotIzogcGFyc2Utb3B0aW9ucy1jYi5jOjM3CisjOiBwYXJzZS1vcHRpb25zLmM6OTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsaWFzIG9mIC0tJXMiCittc2dzdHIgIi0tJXMg55qE5Yir5ZCNIgorCisjOiBwYXJzZS1vcHRpb25zLWNiLmM6MjAgcGFyc2Utb3B0aW9ucy1jYi5jOjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCittc2dzdHIgIumAiemhuSBgJXMnIOacn+acm+S4gOS4quaVsOWtl+WAvCIKKworIzogcGFyc2Utb3B0aW9ucy1jYi5jOjQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBleHBpcmF0aW9uIGRhdGUgJyVzJyIKIG1zZ3N0ciAi5qC85byP6ZSZ6K+v55qE5Yiw5pyf5pe26Ze077yaJyVzJyIKIAotIzogcGFyc2Utb3B0aW9ucy1jYi5jOjEwOQorIzogcGFyc2Utb3B0aW9ucy1jYi5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgXCJhbHdheXNcIiwgXCJhdXRvXCIsIG9yIFwibmV2ZXJcIiIKK21zZ3N0ciAi6YCJ6aG5IGAlcycg5pyf5pybIFwiYWx3YXlzXCLjgIFcImF1dG9cIiDmiJYgXCJuZXZlclwiIgorCisjOiBwYXJzZS1vcHRpb25zLWNiLmM6MTMwIHBhcnNlLW9wdGlvbnMtY2IuYzoxNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCiBtc2dzdHIgIuagvOW8j+mUmeivr+eahOWvueixoeWQjSAnJXMnIgogCi0jOiBwYXRoLmM6ODk0CisjOiBwYXRoLmM6OTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBtYWtlICVzIHdyaXRhYmxlIGJ5IGdyb3VwIgogbXNnc3RyICLkuI3og73orr7nva4gJXMg5Li657uE5Y+v5YaZIgogCi0jOiBwYXRoc3BlYy5jOjEyOQorIzogcGF0aHNwZWMuYzoxMzAKIG1zZ2lkICJFc2NhcGUgY2hhcmFjdGVyICdcXCcgbm90IGFsbG93ZWQgYXMgbGFzdCBjaGFyYWN0ZXIgaW4gYXR0ciB2YWx1ZSIKIG1zZ3N0ciAi6L2s5LmJ5a2X56ymICdcXCcg5LiN6IO95L2c5Li65bGe5oCn5YC855qE5pyA5ZCO5LiA5Liq5a2X56ymIgogCi0jOiBwYXRoc3BlYy5jOjE0NworIzogcGF0aHNwZWMuYzoxNDgKIG1zZ2lkICJPbmx5IG9uZSAnYXR0cjonIHNwZWNpZmljYXRpb24gaXMgYWxsb3dlZC4iCiBtc2dzdHIgIuWPquWFgeiuuOS4gOS4qiAnYXR0cjonIOinhOagvOOAgiIKIAotIzogcGF0aHNwZWMuYzoxNTAKKyM6IHBhdGhzcGVjLmM6MTUxCiBtc2dpZCAiYXR0ciBzcGVjIG11c3Qgbm90IGJlIGVtcHR5IgogbXNnc3RyICLlsZ7mgKfop4TmoLzkuI3og73kuLrnqboiCiAKLSM6IHBhdGhzcGVjLmM6MTkzCisjOiBwYXRoc3BlYy5jOjE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGF0dHJpYnV0ZSBuYW1lICVzIgogbXNnc3RyICLml6DmlYjnmoTlsZ7mgKflkI0gJXMiCiAKLSM6IHBhdGhzcGVjLmM6MjU4CisjOiBwYXRoc3BlYy5jOjI1OQogbXNnaWQgImdsb2JhbCAnZ2xvYicgYW5kICdub2dsb2InIHBhdGhzcGVjIHNldHRpbmdzIGFyZSBpbmNvbXBhdGlibGUiCiBtc2dzdHIgIuWFqOWxgOeahCAnZ2xvYicg5ZKMICdub2dsb2InIOi3r+W+hOinhOagvOiuvue9ruS4jeWFvOWuuSIKIAotIzogcGF0aHNwZWMuYzoyNjUKKyM6IHBhdGhzcGVjLmM6MjY2CiBtc2dpZCAiIgogImdsb2JhbCAnbGl0ZXJhbCcgcGF0aHNwZWMgc2V0dGluZyBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgZ2xvYmFsICIKICJwYXRoc3BlYyBzZXR0aW5ncyIKIG1zZ3N0ciAi5YWo5bGA55qEICdsaXRlcmFsJyDot6/lvoTop4TmoLzorr7nva7lkozlhbblroPnmoTlhajlsYDot6/lvoTop4TmoLzorr7nva7kuI3lhbzlrrkiCiAKLSM6IHBhdGhzcGVjLmM6MzA1CisjOiBwYXRoc3BlYy5jOjMwNgogbXNnaWQgImludmFsaWQgcGFyYW1ldGVyIGZvciBwYXRoc3BlYyBtYWdpYyAncHJlZml4JyIKIG1zZ3N0ciAi6Lev5b6E6KeE5qC85YyF5ZCr5peg5pWI55qE56We5aWH5YmN57yAIgogCi0jOiBwYXRoc3BlYy5jOjMyNgorIzogcGF0aHNwZWMuYzozMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBwYXRoc3BlYyBtYWdpYyAnJS4qcycgaW4gJyVzJyIKIG1zZ3N0ciAi5Zyo6Lev5b6E6KeE5qC8ICclMyRzJyDkuK3ml6DmlYjnmoTnpZ7lpYfliY3nvIAgJyUyJC4qMSRzJyIKIAotIzogcGF0aHNwZWMuYzozMzEKKyM6IHBhdGhzcGVjLmM6MzMyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1pc3NpbmcgJyknIGF0IHRoZSBlbmQgb2YgcGF0aHNwZWMgbWFnaWMgaW4gJyVzJyIKIG1zZ3N0ciAi6Lev5b6E6KeE5qC8ICclcycg55qE56We5aWH5YmN57yA57uT5bC+5bCR5LqG5LiA5LiqICcpJyIKIAotIzogcGF0aHNwZWMuYzozNjkKKyM6IHBhdGhzcGVjLmM6MzcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVuaW1wbGVtZW50ZWQgcGF0aHNwZWMgbWFnaWMgJyVjJyBpbiAnJXMnIgogbXNnc3RyICLot6/lvoTop4TmoLwgJyUyJHMnIOS4reWMheWQq+acquWunueOsOeahOelnuWlh+WJjee8gCAnJTEkYyciCiAKLSM6IHBhdGhzcGVjLmM6NDI4CisjOiBwYXRoc3BlYy5jOjQyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJ2xpdGVyYWwnIGFuZCAnZ2xvYicgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiJXPvvJonbGl0ZXJhbCcg5ZKMICdnbG9iJyDkuI3lhbzlrrkiCiAKLSM6IHBhdGhzcGVjLmM6NDQxCisjOiBwYXRoc3BlYy5jOjQ0MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIiVz77yaJyVzJyDlnKjku5PlupPkuYvlpJYiCiAKLSM6IHBhdGhzcGVjLmM6NTE1CisjOiBwYXRoc3BlYy5jOjUxNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIChtbmVtb25pYzogJyVjJykiCiBtc2dzdHIgIiclcyfvvIjliqnorrDnrKbvvJonJWMn77yJIgogCi0jOiBwYXRoc3BlYy5jOjUyNQorIzogcGF0aHNwZWMuYzo1MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGhzcGVjIG1hZ2ljIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb21tYW5kOiAlcyIKIG1zZ3N0ciAiJXPvvJrot6/lvoTop4TmoLznpZ7lpYfliY3nvIDkuI3ooqvmraTlkb3ku6TmlK/mjIHvvJolcyIKIAotIzogcGF0aHNwZWMuYzo1OTIKKyM6IHBhdGhzcGVjLmM6NTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKIG1zZ3N0ciAi6Lev5b6E6KeE5qC8ICclcycg5L2N5LqO56ym5Y+36ZO+5o6l5LitIgogCi0jOiBwa3QtbGluZS5jOjEwNAorIzogcGF0aHNwZWMuYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSBpcyBiYWRseSBxdW90ZWQ6ICVzIgorbXNnc3RyICLooYzooqvplJnor6/lnLDlvJXnlKjvvJolcyIKKworIzogcGt0LWxpbmUuYzo5MgorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmbHVzaCBwYWNrZXQiCittc2dzdHIgIuaXoOazleWGmSBmbHVzaCDljIUiCisKKyM6IHBrdC1saW5lLmM6OTkKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgZGVsaW0gcGFja2V0IgorbXNnc3RyICLml6Dms5XlhpkgZGVsaW0g5YyFIgorCisjOiBwa3QtbGluZS5jOjEwNgogbXNnaWQgImZsdXNoIHBhY2tldCB3cml0ZSBmYWlsZWQiCiBtc2dzdHIgImZsdXNoIOWMheWGmemUmeivryIKIAotIzogcGt0LWxpbmUuYzoxNDIgcGt0LWxpbmUuYzoyMjgKKyM6IHBrdC1saW5lLmM6MTQ2IHBrdC1saW5lLmM6MjMyCiBtc2dpZCAicHJvdG9jb2wgZXJyb3I6IGltcG9zc2libHkgbG9uZyBsaW5lIgogbXNnc3RyICLljY/orq7plJnor6/vvJrkuI3lj6/og73nmoTplb/ooYwiCiAKLSM6IHBrdC1saW5lLmM6MTU4IHBrdC1saW5lLmM6MTYwCisjOiBwa3QtbGluZS5jOjE2MiBwa3QtbGluZS5jOjE2NAogbXNnaWQgInBhY2tldCB3cml0ZSB3aXRoIGZvcm1hdCBmYWlsZWQiCiBtc2dzdHIgIuagvOW8j+WMluWMheWGmeWFpemUmeivryIKIAotIzogcGt0LWxpbmUuYzoxOTIKKyM6IHBrdC1saW5lLmM6MTk2CiBtc2dpZCAicGFja2V0IHdyaXRlIGZhaWxlZCAtIGRhdGEgZXhjZWVkcyBtYXggcGFja2V0IHNpemUiCiBtc2dzdHIgIuWGmeaVsOaNruWMheWksei0pe+8muaVsOaNrui2hei/h+S6huWMheeahOacgOWkp+mVv+W6piIKIAotIzogcGt0LWxpbmUuYzoxOTkgcGt0LWxpbmUuYzoyMDYKKyM6IHBrdC1saW5lLmM6MjAzIHBrdC1saW5lLmM6MjEwCiBtc2dpZCAicGFja2V0IHdyaXRlIGZhaWxlZCIKIG1zZ3N0ciAi5pWw5o2u5YyF5YaZ5YWl5aSx6LSlIgogCi0jOiBwa3QtbGluZS5jOjI5MQorIzogcGt0LWxpbmUuYzoyOTUKIG1zZ2lkICJyZWFkIGVycm9yIgogbXNnc3RyICLor7vlj5bplJnor68iCiAKLSM6IHBrdC1saW5lLmM6Mjk5CisjOiBwa3QtbGluZS5jOjMwMwogbXNnaWQgInRoZSByZW1vdGUgZW5kIGh1bmcgdXAgdW5leHBlY3RlZGx5IgogbXNnc3RyICLov5znq6/mhI/lpJbmjILmlq3kuoYiCiAKLSM6IHBrdC1saW5lLmM6MzI3CisjOiBwa3QtbGluZS5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm90b2NvbCBlcnJvcjogYmFkIGxpbmUgbGVuZ3RoIGNoYXJhY3RlcjogJS40cyIKIG1zZ3N0ciAi5Y2P6K6u6ZSZ6K+v77ya6ZSZ6K+v55qE6KGM6ZW/5bqm5a2X56ym5Liy77yaJS40cyIKIAotIzogcGt0LWxpbmUuYzozMzcgcGt0LWxpbmUuYzozNDIKKyM6IHBrdC1saW5lLmM6MzQxIHBrdC1saW5lLmM6MzQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgbGluZSBsZW5ndGggJWQiCiBtc2dzdHIgIuWNj+iurumUmeivr++8mumUmeivr+eahOihjOmVv+W6piAlZCIKIAotIzogcHJlbG9hZC1pbmRleC5jOjExOAorIzogcGt0LWxpbmUuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlIGVycm9yOiAlcyIKK21zZ3N0ciAi6L+c56iL6ZSZ6K+v77yaJXMiCisKKyM6IHByZWxvYWQtaW5kZXguYzoxMTkKIG1zZ2lkICJSZWZyZXNoaW5nIGluZGV4IgogbXNnc3RyICLmraPlnKjliLfmlrDntKLlvJUiCiAKLSM6IHByZWxvYWQtaW5kZXguYzoxMzcKKyM6IHByZWxvYWQtaW5kZXguYzoxMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWRlZCBsc3RhdDogJXMiCiBtc2dzdHIgIuaXoOazleWIm+W7uue6v+eoiyBsc3RhdO+8miVzIgogCi0jOiBwcmV0dHkuYzo5NjIKKyM6IHByZXR0eS5jOjk4MQogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAtLXByZXR0eSBmb3JtYXQiCiBtc2dzdHIgIuS4jeiDveino+aekCAtLXByZXR0eSDmoLzlvI8iCiAKLSM6IHJhbmdlLWRpZmYuYzo1NgorIzogcHJvbWlzb3ItcmVtb3RlLmM6MjMKK21zZ2lkICJSZW1vdGUgd2l0aCBubyBVUkwiCittc2dzdHIgIui/nOeoi+acquiuvue9riBVUkwiCisKKyM6IHByb21pc29yLXJlbW90ZS5jOjU4CisjLCBjLWZvcm1hdAorbXNnaWQgInByb21pc29yIHJlbW90ZSBuYW1lIGNhbm5vdCBiZWdpbiB3aXRoICcvJzogJXMiCittc2dzdHIgInByb21pc29yIOi/nOeoi+WQjeensOS4jeiDveS7pSAnLycg5byA5aeL77yaJXMiCisKKyM6IHJhbmdlLWRpZmYuYzo3NQogbXNnaWQgImNvdWxkIG5vdCBzdGFydCBgbG9nYCIKIG1zZ3N0ciAi5LiN6IO95ZCv5YqoIGBsb2dgIgogCi0jOiByYW5nZS1kaWZmLmM6NTkKKyM6IHJhbmdlLWRpZmYuYzo3NwogbXNnaWQgImNvdWxkIG5vdCByZWFkIGBsb2dgIG91dHB1dCIKIG1zZ3N0ciAi5LiN6IO96K+75Y+WIGBsb2dgIOeahOi+k+WHuiIKIAotIzogcmFuZ2UtZGlmZi5jOjc0IHNlcXVlbmNlci5jOjQ3NjQKKyM6IHJhbmdlLWRpZmYuYzo5NiBzZXF1ZW5jZXIuYzo1MTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb21taXQgJyVzJyIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q5o+Q5LqkICclcyciCiAKLSM6IHJhbmdlLWRpZmYuYzoyMjQKKyM6IHJhbmdlLWRpZmYuYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGdpdCBoZWFkZXIgJyUuKnMnIgorbXNnc3RyICLml6Dms5Xop6PmnpAgZ2l0IOWktCAnJS4qcyciCisKKyM6IHJhbmdlLWRpZmYuYzoyODUKIG1zZ2lkICJmYWlsZWQgdG8gZ2VuZXJhdGUgZGlmZiIKIG1zZ3N0ciAi55Sf5oiQIGRpZmYg5aSx6LSlIgogCi0jOiByYW5nZS1kaWZmLmM6NDU1IHJhbmdlLWRpZmYuYzo0NTcKKyM6IHJhbmdlLWRpZmYuYzo1MTggcmFuZ2UtZGlmZi5jOjUyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgbG9nIGZvciAnJXMnIgogbXNnc3RyICLkuI3og73op6PmnpAgJyVzJyDnmoTml6Xlv5ciCiAKLSM6IHJlYWQtY2FjaGUuYzoxNDkwCisjOiByZWFkLWNhY2hlLmM6NjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IGFkZCBmaWxlIGFsaWFzICclcycgKCclcycgYWxyZWFkeSBleGlzdHMgaW4gaW5kZXgpIgorbXNnc3RyICLlsIbkuI3kvJrmt7vliqDmlofku7bliKvlkI0gJyVzJ++8iCclcycg5bey57uP5a2Y5Zyo5LqO57Si5byV5Lit77yJIgorCisjOiByZWFkLWNhY2hlLmM6Njk2Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBhbiBlbXB0eSBibG9iIGluIHRoZSBvYmplY3QgZGF0YWJhc2UiCittc2dzdHIgIuS4jeiDveWcqOWvueixoeaVsOaNruW6k+S4reWIm+W7uuepuueahOaVsOaNruWvueixoSIKKworIzogcmVhZC1jYWNoZS5jOjcxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuIG9ubHkgYWRkIHJlZ3VsYXIgZmlsZXMsIHN5bWJvbGljIGxpbmtzIG9yIGdpdC1kaXJlY3RvcmllcyIKK21zZ3N0ciAiJXPvvJrlj6rog73mt7vliqDluLjop4Tmlofku7bjgIHnrKblj7fpk77mjqXmiJYgZ2l0IOebruW9lSIKKworIzogcmVhZC1jYWNoZS5jOjcyMworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGRvZXMgbm90IGhhdmUgYSBjb21taXQgY2hlY2tlZCBvdXQiCittc2dzdHIgIiclcycg5rKh5pyJ5qOA5Ye65LiA5Liq5o+Q5LqkIgorCisjOiByZWFkLWNhY2hlLmM6Nzc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBpbmRleCBmaWxlICclcyciCittc2dzdHIgIuaXoOazlee0ouW8leaWh+S7tiAnJXMnIgorCisjOiByZWFkLWNhY2hlLmM6Nzk0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhZGQgJyVzJyB0byBpbmRleCIKK21zZ3N0ciAi5peg5rOV5Zyo57Si5byV5Lit5re75YqgICclcyciCisKKyM6IHJlYWQtY2FjaGUuYzo4MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHN0YXQgJyVzJyIKK21zZ3N0ciAi5peg5rOV5a+5ICVzIOaJp+ihjCBzdGF0IgorCisjOiByZWFkLWNhY2hlLmM6MTMyNQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGFwcGVhcnMgYXMgYm90aCBhIGZpbGUgYW5kIGFzIGEgZGlyZWN0b3J5IgorbXNnc3RyICInJXMnIOeci+i1t+adpeaXouaYr+aWh+S7tuWPiOaYr+ebruW9lSIKKworIzogcmVhZC1jYWNoZS5jOjE1MzEKIG1zZ2lkICJSZWZyZXNoIGluZGV4IgogbXNnc3RyICLliLfmlrDntKLlvJUiCiAKLSM6IHJlYWQtY2FjaGUuYzoxNjA0CisjOiByZWFkLWNhY2hlLmM6MTY0NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiaW5kZXgudmVyc2lvbiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKQEAgLTM3NTEsNyArNTExMyw3IEBACiAi6K6+572u5LqGIGluZGV4LnZlcnNpb27vvIzkvYbmmK/lj5blgLzml6DmlYjjgIJcbiIKICLkvb/nlKjniYjmnKwgJWkiCiAKLSM6IHJlYWQtY2FjaGUuYzoxNjE0CisjOiByZWFkLWNhY2hlLmM6MTY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiR0lUX0lOREVYX1ZFUlNJT04gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCkBAIC0zNzYwLDYwICs1MTIyLDE1MCBAQAogIuiuvue9ruS6hiBHSVRfSU5ERVhfVkVSU0lPTu+8jOS9huaYr+WPluWAvOaXoOaViOOAglxuIgogIuS9v+eUqOeJiOacrCAlaSIKIAotIzogcmVhZC1jYWNoZS5jOjE3OTIKKyM6IHJlYWQtY2FjaGUuYzoxNzEyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzaWduYXR1cmUgMHglMDh4IgorbXNnc3RyICLlnY/nmoTnrb7lkI0gMHglMDh4IgorCisjOiByZWFkLWNhY2hlLmM6MTcxNQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAlZCIKK21zZ3N0ciAi5Z2P55qE57Si5byV54mI5pysICVkIgorCisjOiByZWFkLWNhY2hlLmM6MTcyNAorbXNnaWQgImJhZCBpbmRleCBmaWxlIHNoYTEgc2lnbmF0dXJlIgorbXNnc3RyICLlnY/nmoTntKLlvJXmlofku7Ygc2hhMSDnrb7lkI0iCisKKyM6IHJlYWQtY2FjaGUuYzoxNzU0CisjLCBjLWZvcm1hdAorbXNnaWQgImluZGV4IHVzZXMgJS40cyBleHRlbnNpb24sIHdoaWNoIHdlIGRvIG5vdCB1bmRlcnN0YW5kIgorbXNnc3RyICLntKLlvJXkvb/nlKjkuI3ooqvmlK/mjIHnmoQgJS40cyDmianlsZUiCisKKyMgCQorIzogcmVhZC1jYWNoZS5jOjE3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgJS40cyBleHRlbnNpb24iCittc2dzdHIgIuW/veeVpSAlLjRzIOaJqeWxlSIKKworIzogcmVhZC1jYWNoZS5jOjE3OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBpbmRleCBlbnRyeSBmb3JtYXQgMHglMDh4IgorbXNnc3RyICLmnKrnn6XnmoTntKLlvJXmnaHnm67moLzlvI8gMHglMDh4IgorCisjOiByZWFkLWNhY2hlLmM6MTgwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgbmFtZSBmaWVsZCBpbiB0aGUgaW5kZXgsIG5lYXIgcGF0aCAnJXMnIgogbXNnc3RyICLntKLlvJXkuK3pnaDov5Hot6/lvoQgJyVzJyDmnInplJnor6/nmoTlkI3np7DlrZfmrrUiCiAKLSM6IHJlYWQtY2FjaGUuYzoxOTYwIHJlcmVyZS5jOjU2NSByZXJlcmUuYzo1OTkgcmVyZXJlLmM6MTExMSBidWlsdGluL2FkZC5jOjQ1OAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzcgYnVpbHRpbi9jaGVja291dC5jOjI4OSBidWlsdGluL2NoZWNrb3V0LmM6NTg1Ci0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTUzIGJ1aWx0aW4vY2xlYW4uYzo5NTQgYnVpbHRpbi9jb21taXQuYzozNDMKLSM6IGJ1aWx0aW4vZGlmZi10cmVlLmM6MTE1IGJ1aWx0aW4vZ3JlcC5jOjQ4OSBidWlsdGluL212LmM6MTQ0Ci0jOiBidWlsdGluL3Jlc2V0LmM6MjQ0IGJ1aWx0aW4vcm0uYzoyNzAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMyOQorIzogcmVhZC1jYWNoZS5jOjE4NjYKK21zZ2lkICJ1bm9yZGVyZWQgc3RhZ2UgZW50cmllcyBpbiBpbmRleCIKK21zZ3N0ciAi57Si5byV5Lit5pyJ5pyq5o6S5bqP55qE5pqC5a2Y5p2h55uuIgorCisjOiByZWFkLWNhY2hlLmM6MTg2OQorIywgYy1mb3JtYXQKK21zZ2lkICJtdWx0aXBsZSBzdGFnZSBlbnRyaWVzIGZvciBtZXJnZWQgZmlsZSAnJXMnIgorbXNnc3RyICLlkIjlubbmlofku7YgJyVzJyDmnInlpJrkuKrmmoLlrZjmnaHnm64iCisKKyM6IHJlYWQtY2FjaGUuYzoxODcyCisjLCBjLWZvcm1hdAorbXNnaWQgInVub3JkZXJlZCBzdGFnZSBlbnRyaWVzIGZvciAnJXMnIgorbXNnc3RyICInJXMnIOeahOacquaOkuW6j+aaguWtmOadoeebriIKKworIzogcmVhZC1jYWNoZS5jOjE5NzggcmVhZC1jYWNoZS5jOjIyNjYgcmVyZXJlLmM6NTY1IHJlcmVyZS5jOjU5OSByZXJlcmUuYzoxMTExCisjOiBidWlsdGluL2FkZC5jOjQ5OSBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3OCBidWlsdGluL2NoZWNrb3V0LmM6NDcwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NjU0IGJ1aWx0aW4vY2xlYW4uYzo5NjcgYnVpbHRpbi9jb21taXQuYzozNjcKKyM6IGJ1aWx0aW4vZGlmZi10cmVlLmM6MTIwIGJ1aWx0aW4vZ3JlcC5jOjQ5OSBidWlsdGluL212LmM6MTQ1CisjOiBidWlsdGluL3Jlc2V0LmM6MjQ2IGJ1aWx0aW4vcm0uYzoyNzEgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjMzMgogbXNnaWQgImluZGV4IGZpbGUgY29ycnVwdCIKIG1zZ3N0ciAi57Si5byV5paH5Lu25o2f5Z2PIgogCi0jOiByZWFkLWNhY2hlLmM6MjEwMQorIzogcmVhZC1jYWNoZS5jOjIxMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsb2FkX2NhY2hlX2VudHJpZXMgdGhyZWFkOiAlcyIKIG1zZ3N0ciAi5peg5rOV5Yib5bu6IGxvYWRfY2FjaGVfZW50cmllcyDnur/nqIvvvJolcyIKIAotIzogcmVhZC1jYWNoZS5jOjIxMTQKKyM6IHJlYWQtY2FjaGUuYzoyMTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBqb2luIGxvYWRfY2FjaGVfZW50cmllcyB0aHJlYWQ6ICVzIgogbXNnc3RyICLml6Dms5XliqDlhaUgbG9hZF9jYWNoZV9lbnRyaWVzIOe6v+eoi++8miVzIgogCi0jOiByZWFkLWNhY2hlLmM6MjIwMQorIzogcmVhZC1jYWNoZS5jOjIxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluZGV4IGZpbGUgb3BlbiBmYWlsZWQiCittc2dzdHIgIiVz77ya5omT5byA57Si5byV5paH5Lu25aSx6LSlIgorCisjOiByZWFkLWNhY2hlLmM6MjE2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHN0YXQgdGhlIG9wZW4gaW5kZXgiCittc2dzdHIgIiVz77ya5LiN6IO95a+55omT5byA55qE57Si5byV5omn6KGMIHN0YXQg5pON5L2cIgorCisjOiByZWFkLWNhY2hlLmM6MjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5kZXggZmlsZSBzbWFsbGVyIHRoYW4gZXhwZWN0ZWQiCittc2dzdHIgIiVz77ya57Si5byV5paH5Lu25q+U6aKE5pyf55qE5bCPIgorCisjOiByZWFkLWNhY2hlLmM6MjE3NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG1hcCBpbmRleCBmaWxlIgorbXNnc3RyICIlc++8muaXoOazleWvuee0ouW8leaWh+S7tuaJp+ihjCBtYXAg5pON5L2cIgorCisjOiByZWFkLWNhY2hlLmM6MjIxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxvYWRfaW5kZXhfZXh0ZW5zaW9ucyB0aHJlYWQ6ICVzIgogbXNnc3RyICLml6Dms5XliJvlu7ogbG9hZF9pbmRleF9leHRlbnNpb25zIOe6v+eoi++8miVzIgogCi0jOiByZWFkLWNhY2hlLmM6MjIyOAorIzogcmVhZC1jYWNoZS5jOjIyNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGpvaW4gbG9hZF9pbmRleF9leHRlbnNpb25zIHRocmVhZDogJXMiCiBtc2dzdHIgIuaXoOazleWKoOWFpSBsb2FkX2luZGV4X2V4dGVuc2lvbnMg57q/56iL77yaJXMiCiAKLSM6IHJlYWQtY2FjaGUuYzoyOTgyIHNlcXVlbmNlci5jOjQ3Mjcgd3JhcHBlci5jOjY1OCBidWlsdGluL21lcmdlLmM6MTA4NgorIzogcmVhZC1jYWNoZS5jOjIyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGZyZXNoZW4gc2hhcmVkIGluZGV4ICclcyciCittc2dzdHIgIuaXoOazleWIt+aWsOWFseS6q+e0ouW8lSAnJXMnIgorCisjOiByZWFkLWNhY2hlLmM6MjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICJicm9rZW4gaW5kZXgsIGV4cGVjdCAlcyBpbiAlcywgZ290ICVzIgorbXNnc3RyICLmjZ/lnY/nmoTntKLlvJXvvIzmnJ/mnJvlnKggJTIkcyDkuK3nmoQgJTEkc++8jOW+l+WIsCAlMyRzIgorCisjOiByZWFkLWNhY2hlLmM6MzAyMSBzdHJidWYuYzoxMTQ1IHdyYXBwZXIuYzo2MjIgYnVpbHRpbi9tZXJnZS5jOjExMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNsb3NlICclcyciCiBtc2dzdHIgIuS4jeiDveWFs+mXrSAnJXMnIgogCi0jOiByZWFkLWNhY2hlLmM6MzA1NSBzZXF1ZW5jZXIuYzoyMjAzIHNlcXVlbmNlci5jOjM1OTIKKyM6IHJlYWQtY2FjaGUuYzozMTI0IHNlcXVlbmNlci5jOjI0Mjkgc2VxdWVuY2VyLmM6NDA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICLkuI3og73lr7kgJyVzJyDosIPnlKggc3RhdCIKIAotIzogcmVhZC1jYWNoZS5jOjMwNjgKKyM6IHJlYWQtY2FjaGUuYzozMTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIGdpdCBkaXI6ICVzIgogbXNnc3RyICLkuI3og73miZPlvIAgZ2l0IOebruW9le+8miVzIgogCi0jOiByZWFkLWNhY2hlLmM6MzA4MAorIzogcmVhZC1jYWNoZS5jOjMxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVubGluazogJXMiCiBtc2dzdHIgIuaXoOazleWIoOmZpO+8miVzIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoxMAorIzogcmVhZC1jYWNoZS5jOjMxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpeCBwZXJtaXNzaW9uIGJpdHMgb24gJyVzJyIKK21zZ3N0ciAi5LiN6IO95L+u5aSNICclcycg55qE5p2D6ZmQ5L2NIgorCisjOiByZWFkLWNhY2hlLmM6MzMyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRyb3AgdG8gc3RhZ2UgIzAiCittc2dzdHIgIiVz77ya5LiN6IO96JC95Yiw5pqC5a2Y5Yy6ICMwIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidW5yZWNvZ25pemVkIHNldHRpbmcgJXMgZm9yIG9wdGlvbiByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4gSWdub3JpbmcuIgorbXNnc3RyICLpgInpobkgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2sg55qE5YC8ICVzIOaXoOazleivhuWIq+OAguW3suW/veeVpeOAgiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MzUKIG1zZ2lkICIiCiAiXG4iCiAiQ29tbWFuZHM6XG4iCkBAIC0zODUzLDcgKzUzMDUsMTQgQEAKICJcbiIKICLlj6/ku6Xlr7nov5nkupvooYzph43mlrDmjpLluo/vvIzlsIbku47kuIroh7PkuIvmiafooYzjgIJcbiIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6MzEgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjE3MworIzogcmViYXNlLWludGVyYWN0aXZlLmM6NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmViYXNlICVzIG9udG8gJXMgKCVkIGNvbW1hbmQpIgorbXNnaWRfcGx1cmFsICJSZWJhc2UgJXMgb250byAlcyAoJWQgY29tbWFuZHMpIgorbXNnc3RyWzBdICLlj5jln7ogJXMg5YiwICVz77yIJWQg5Liq5o+Q5Lqk77yJIgorbXNnc3RyWzFdICLlj5jln7ogJXMg5YiwICVz77yIJWQg5Liq5o+Q5Lqk77yJIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo2NSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjI4CiBtc2dpZCAiIgogIlxuIgogIkRvIG5vdCByZW1vdmUgYW55IGxpbmUuIFVzZSAnZHJvcCcgZXhwbGljaXRseSB0byByZW1vdmUgYSBjb21taXQuXG4iCkBAIC0zODYxLDcgKzUzMjAsNyBAQAogIlxuIgogIuS4jeimgeWIoOmZpOS7u+aEj+S4gOihjOOAguS9v+eUqCAnZHJvcCcg5pi+5byP5Zyw5Yig6Zmk5LiA5Liq5o+Q5Lqk44CCXG4iCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjM0IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxNzcKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjY4IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMzIKIG1zZ2lkICIiCiAiXG4iCiAiSWYgeW91IHJlbW92ZSBhIGxpbmUgaGVyZSBUSEFUIENPTU1JVCBXSUxMIEJFIExPU1QuXG4iCkBAIC0zODY5LDcgKzUzMjgsNyBAQAogIlxuIgogIuWmguaenOaCqOWcqOi/memHjOWIoOmZpOS4gOihjO+8jOWvueW6lOeahOaPkOS6pOWwhuS8muS4ouWkseOAglxuIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo0MCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODE2CisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo3NCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODcxCiBtc2dpZCAiIgogIlxuIgogIllvdSBhcmUgZWRpdGluZyB0aGUgdG9kbyBmaWxlIG9mIGFuIG9uZ29pbmcgaW50ZXJhY3RpdmUgcmViYXNlLlxuIgpAQCAtMzg4Myw3ICs1MzQyLDcgQEAKICIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAiXG4iCiAKLSM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjQ1IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4OTMKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjc5IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NDgKIG1zZ2lkICIiCiAiXG4iCiAiSG93ZXZlciwgaWYgeW91IHJlbW92ZSBldmVyeXRoaW5nLCB0aGUgcmViYXNlIHdpbGwgYmUgYWJvcnRlZC5cbiIKQEAgLTM4OTMsMTI1ICs1MzUyLDE1NSBAQAogIueEtuiAjO+8jOWmguaenOaCqOWIoOmZpOWFqOmDqOWGheWuue+8jOWPmOWfuuaTjeS9nOWwhuS8mue7iOatouOAglxuIgogIlxuIgogCi0jOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo1MSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTAwCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo4NSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTU1CiBtc2dpZCAiTm90ZSB0aGF0IGVtcHR5IGNvbW1pdHMgYXJlIGNvbW1lbnRlZCBvdXQiCiBtc2dzdHIgIuazqOaEj+epuuaPkOS6pOW3suiiq+azqOmHiuaOiSIKIAotIzogcmViYXNlLWludGVyYWN0aXZlLmM6NjIgcmViYXNlLWludGVyYWN0aXZlLmM6NzUgc2VxdWVuY2VyLmM6MjE4NgotIzogc2VxdWVuY2VyLmM6NDUwNSBzZXF1ZW5jZXIuYzo0NTYxIHNlcXVlbmNlci5jOjQ4MzYKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjEwNSByZXJlcmUuYzo0ODUgcmVyZXJlLmM6NjkyIHNlcXVlbmNlci5jOjM1MzYKKyM6IHNlcXVlbmNlci5jOjM1NjIgc2VxdWVuY2VyLmM6NTI2MyBidWlsdGluL2ZzY2suYzozNDYgYnVpbHRpbi9yZWJhc2UuYzoyNTQKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJy4iCi1tc2dzdHIgIuS4jeiDveivu+WPliAnJXMn44CCIgorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSAnJXMnIgorbXNnc3RyICLkuI3og73lhpnlhaUgJyVzJyIKIAotIzogcmVmcy5jOjE5MgorIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjb3B5ICclcycgdG8gJyVzJy4iCittc2dzdHIgIuS4jeiDveaLt+i0nSAnJXMnIOiHsyAnJXMn44CCIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldhcm5pbmc6IHNvbWUgY29tbWl0cyBtYXkgaGF2ZSBiZWVuIGRyb3BwZWQgYWNjaWRlbnRhbGx5LlxuIgorIkRyb3BwZWQgY29tbWl0cyAobmV3ZXIgdG8gb2xkZXIpOlxuIgorbXNnc3RyICIiCisi6K2m5ZGK77ya5LiA5Lqb5o+Q5Lqk5Y+v6IO96KKr5oSP5aSW5Lii5byD44CCXG4iCisi5Lii5byD55qE5o+Q5Lqk77yI5LuO5paw5Yiw5pen77yJ77yaXG4iCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjE4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgXCJkcm9wXCIgdG8gZXhwbGljaXRseSByZW1vdmUgYSBjb21taXQuXG4iCisiXG4iCisiVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mICIKKyJ3YXJuaW5ncy5cbiIKKyJUaGUgcG9zc2libGUgYmVoYXZpb3VycyBhcmU6IGlnbm9yZSwgd2FybiwgZXJyb3IuXG4iCisiXG4iCittc2dzdHIgIiIKKyLkuLrpgb/lhY3ov5nmnaHkv6Hmga/vvIzkvb/nlKggXCJkcm9wXCIg5oyH5Luk5pi+5byP5Zyw5Yig6Zmk5LiA5Liq5o+Q5Lqk44CCXG4iCisiXG4iCisi5L2/55SoICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyDmnaXkv67mlLnorablkYrnuqfliKvjgIJcbiIKKyLlj6/pgInlgLzmnInvvJppZ25vcmXjgIF3YXJu44CBZXJyb3LjgIJcbiIKKyJcbiIKKworIzogcmVmcy5jOjI2MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIG9iamVjdCEiCiBtc2dzdHIgIiVzIOayoeacieaMh+WQkeS4gOS4quacieaViOeahOWvueixoe+8gSIKIAotIzogcmVmcy5jOjU4MworIzogcmVmcy5jOjY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBkYW5nbGluZyBzeW1yZWYgJXMiCiBtc2dzdHIgIuW/veeVpeaCrOepuuespuWPt+W8leeUqCAlcyIKIAotIzogcmVmcy5jOjU4NSByZWYtZmlsdGVyLmM6MTk1MQorIzogcmVmcy5jOjY2OSByZWYtZmlsdGVyLmM6MjA5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBicm9rZW4gcmVmICVzIgogbXNnc3RyICLlv73nlaXmjZ/lnY/nmoTlvJXnlKggJXMiCiAKLSM6IHJlZnMuYzo3MTEKKyM6IHJlZnMuYzo4MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZzogJXMiCiBtc2dzdHIgIuaXoOazleS4uuWGmeWFpeaJk+W8gCAnJXMn77yaJXMiCiAKLSM6IHJlZnMuYzo3MjEgcmVmcy5jOjc3MgorIzogcmVmcy5jOjgxNCByZWZzLmM6ODY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIHJlZiAnJXMnIgogbXNnc3RyICLml6Dms5Xor7vlj5blvJXnlKggJyVzJyIKIAotIzogcmVmcy5jOjcyNworIzogcmVmcy5jOjgyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWYgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAi5byV55SoICclcycg5bey57uP5a2Y5ZyoIgogCi0jOiByZWZzLmM6NzMyCisjOiByZWZzLmM6ODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgb2JqZWN0IElEIHdoZW4gd3JpdGluZyAnJXMnIgogbXNnc3RyICLlhpnlhaUgJyVzJyDml7bmhI/lpJbnmoTlr7nosaEgSUQiCiAKLSM6IHJlZnMuYzo3NDAgc2VxdWVuY2VyLmM6Mzk0IHNlcXVlbmNlci5jOjI1MTAgc2VxdWVuY2VyLmM6MjYzNgotIzogc2VxdWVuY2VyLmM6MjY1MCBzZXF1ZW5jZXIuYzoyODc3IHNlcXVlbmNlci5jOjQ3MjUgc2VxdWVuY2VyLmM6NDc4OAotIzogd3JhcHBlci5jOjY1NgorIzogcmVmcy5jOjgzMyBzZXF1ZW5jZXIuYzo0MDUgc2VxdWVuY2VyLmM6Mjc5MyBzZXF1ZW5jZXIuYzoyOTk3CisjOiBzZXF1ZW5jZXIuYzozMDExIHNlcXVlbmNlci5jOjMyNjkgc2VxdWVuY2VyLmM6NTE3OSBzdHJidWYuYzoxMTQyCisjOiB3cmFwcGVyLmM6NjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIgogbXNnc3RyICLkuI3og73lhpnlhaUgJyVzJyIKIAotIzogcmVmcy5jOjc2NyBzZXF1ZW5jZXIuYzo0NzIzIHNlcXVlbmNlci5jOjQ3ODIgd3JhcHBlci5jOjIyNSB3cmFwcGVyLmM6Mzk1Ci0jOiBidWlsdGluL2FtLmM6NzI4CisjOiByZWZzLmM6ODYwIHN0cmJ1Zi5jOjExNDAgd3JhcHBlci5jOjE4OCB3cmFwcGVyLmM6MzU4IGJ1aWx0aW4vYW0uYzo3MTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTAzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIgogbXNnc3RyICLml6Dms5XmiZPlvIAgJyVzJyDov5vooYzlhpnlhaUiCiAKLSM6IHJlZnMuYzo3NzQKKyM6IHJlZnMuYzo4NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBvYmplY3QgSUQgd2hlbiBkZWxldGluZyAnJXMnIgogbXNnc3RyICLliKDpmaQgJyVzJyDml7bmhI/lpJbnmoTlr7nosaEgSUQiCiAKLSM6IHJlZnMuYzo5MDUKKyM6IHJlZnMuYzo5OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9nIGZvciByZWYgJXMgaGFzIGdhcCBhZnRlciAlcyIKIG1zZ3N0ciAi5byV55SoICVzIOeahOaXpeW/l+WcqCAlcyDkuYvlkI7mnInnvLrlj6MiCiAKLSM6IHJlZnMuYzo5MTEKKyM6IHJlZnMuYzoxMDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvZyBmb3IgcmVmICVzIHVuZXhwZWN0ZWRseSBlbmRlZCBvbiAlcyIKIG1zZ3N0ciAi5byV55SoICVzIOeahOaXpeW/l+aEj+Wklue7iOatouS6jiAlcyAiCiAKLSM6IHJlZnMuYzo5NjkKKyM6IHJlZnMuYzoxMDYzCiAjLCBjLWZvcm1hdAogbXNnaWQgImxvZyBmb3IgJXMgaXMgZW1wdHkiCiBtc2dzdHIgIiVzIOeahOaXpeW/l+S4uuepuiIKIAotIzogcmVmcy5jOjEwNjEKKyM6IHJlZnMuYzoxMTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZnVzaW5nIHRvIHVwZGF0ZSByZWYgd2l0aCBiYWQgbmFtZSAnJXMnIgogbXNnc3RyICLmi5Lnu53mm7TmlrDmnInplJnor6/lkI3np7AgJyVzJyDnmoTlvJXnlKgiCiAKLSM6IHJlZnMuYzoxMTM3CisjOiByZWZzLmM6MTIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1cGRhdGVfcmVmIGZhaWxlZCBmb3IgcmVmICclcyc6ICVzIgogbXNnc3RyICLlr7nlvJXnlKggJyVzJyDmiafooYwgdXBkYXRlX3JlZiDlpLHotKXvvJolcyIKIAotIzogcmVmcy5jOjE5MTEKKyM6IHJlZnMuYzoyMDIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm11bHRpcGxlIHVwZGF0ZXMgZm9yIHJlZiAnJXMnIG5vdCBhbGxvd2VkIgogbXNnc3RyICLkuI3lhYHorrjlr7nlvJXnlKggJyVzJyDlpJrmrKHmm7TmlrAiCiAKLSM6IHJlZnMuYzoxOTQzCisjOiByZWZzLmM6MjA1NQogbXNnaWQgInJlZiB1cGRhdGVzIGZvcmJpZGRlbiBpbnNpZGUgcXVhcmFudGluZSBlbnZpcm9ubWVudCIKIG1zZ3N0ciAi5Zyo6ZqU56a7546v5aKD5Lit56aB5q2i5pu05paw5byV55SoIgogCi0jOiByZWZzLmM6MjAzOSByZWZzLmM6MjA2OQorIzogcmVmcy5jOjIxNTEgcmVmcy5jOjIxODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJyVzJyIKIG1zZ3N0ciAiJyVzJyDlt7LlrZjlnKjvvIzml6Dms5XliJvlu7ogJyVzJyIKIAotIzogcmVmcy5jOjIwNDUgcmVmcy5jOjIwODAKKyM6IHJlZnMuYzoyMTU3IHJlZnMuYzoyMTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBwcm9jZXNzICclcycgYW5kICclcycgYXQgdGhlIHNhbWUgdGltZSIKIG1zZ3N0ciAi5peg5rOV5ZCM5pe25aSE55CGICclcycg5ZKMICclcyciCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyMjgKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbW92ZSByZWZlcmVuY2UgJXMiCiBtc2dzdHIgIuaXoOazleWIoOmZpOW8leeUqCAlcyIKIAotIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTI0MiByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTUzMgotIzogcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDIKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyNDggcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDEKKyM6IHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlICVzOiAlcyIKIG1zZ3N0ciAi5peg5rOV5Yig6Zmk5byV55SoICVz77yaJXMiCiAKLSM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyNDUgcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NDUKKyM6IHJlZnMvZmlsZXMtYmFja2VuZC5jOjEyNTEgcmVmcy9wYWNrZWQtYmFja2VuZC5jOjE1NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGRlbGV0ZSByZWZlcmVuY2VzOiAlcyIKIG1zZ3N0ciAi5peg5rOV5Yig6Zmk5byV55So77yaJXMiCkBAIC00MDIxLDM0OCArNTUxMCw0NzcgQEAKIG1zZ2lkICJpbnZhbGlkIHJlZnNwZWMgJyVzJyIKIG1zZ3N0ciAi5peg5pWI55qE5byV55So6KGo6L6+5byP77yaJyVzJyIKIAotIzogcmVmLWZpbHRlci5jOjM5IHd0LXN0YXR1cy5jOjE4NTUKKyM6IHJlZi1maWx0ZXIuYzo0MiB3dC1zdGF0dXMuYzoxOTM4CiBtc2dpZCAiZ29uZSIKIG1zZ3N0ciAi5Lii5aSxIgogCi0jOiByZWYtZmlsdGVyLmM6NDAKKyM6IHJlZi1maWx0ZXIuYzo0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhaGVhZCAlZCIKIG1zZ3N0ciAi6aKG5YWIICVkIgogCi0jOiByZWYtZmlsdGVyLmM6NDEKKyM6IHJlZi1maWx0ZXIuYzo0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJiZWhpbmQgJWQiCiBtc2dzdHIgIuiQveWQjiAlZCIKIAotIzogcmVmLWZpbHRlci5jOjQyCisjOiByZWYtZmlsdGVyLmM6NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWhlYWQgJWQsIGJlaGluZCAlZCIKIG1zZ3N0ciAi6aKG5YWIICVk77yM6JC95ZCOICVkIgogCi0jOiByZWYtZmlsdGVyLmM6MTM4CisjOiByZWYtZmlsdGVyLmM6MTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIGZvcm1hdDogJSUoY29sb3I6PGNvbG9yPikiCiBtc2dzdHIgIuacn+acm+eahOagvOW8j++8miUlKGNvbG9yOjzpopzoibI+KSIKIAotIzogcmVmLWZpbHRlci5jOjE0MAorIzogcmVmLWZpbHRlci5jOjE2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgY29sb3I6ICUlKGNvbG9yOiVzKSIKIG1zZ3N0ciAi5pyq6IO96K+G5Yir55qE6aKc6Imy77yaJSUoY29sb3I6JXMpIgogCi0jOiByZWYtZmlsdGVyLmM6MTYyCisjOiByZWYtZmlsdGVyLmM6MTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludGVnZXIgdmFsdWUgZXhwZWN0ZWQgcmVmbmFtZTpsc3RyaXA9JXMiCiBtc2dzdHIgIuacn+acm+aVtOaVsOWAvCByZWZuYW1lOmxzdHJpcD0lcyIKIAotIzogcmVmLWZpbHRlci5jOjE2NgorIzogcmVmLWZpbHRlci5jOjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnRlZ2VyIHZhbHVlIGV4cGVjdGVkIHJlZm5hbWU6cnN0cmlwPSVzIgogbXNnc3RyICLmnJ/mnJvmlbTmlbDlgLwgcmVmbmFtZTpyc3RyaXA9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNjgKKyM6IHJlZi1maWx0ZXIuYzoxOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKCVzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIuacquiDveivhuWIq+eahCAlJSglcykg5Y+C5pWw77yaJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoyMjMKKyM6IHJlZi1maWx0ZXIuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJSUob2JqZWN0dHlwZSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCiBtc2dzdHIgIiUlKG9iamVjdHR5cGUpIOS4jeW4puWPguaVsCIKIAotIzogcmVmLWZpbHRlci5jOjIzNQorIzogcmVmLWZpbHRlci5jOjI3MgogIywgYy1mb3JtYXQKLW1zZ2lkICIlJShvYmplY3RzaXplKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKLW1zZ3N0ciAiJSUob2JqZWN0c2l6ZSkg5LiN5bim5Y+C5pWwIgorbXNnaWQgInVucmVjb2duaXplZCAlJShvYmplY3RzaXplKSBhcmd1bWVudDogJXMiCittc2dzdHIgIuacquiDveivhuWIq+eahCAlJShvYmplY3RzaXplKSDlj4LmlbDvvJolcyIKIAotIzogcmVmLWZpbHRlci5jOjI0NworIzogcmVmLWZpbHRlci5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlJShkZWx0YWJhc2UpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgorbXNnc3RyICIlJShkZWx0YWJhc2UpIOS4jeW4puWPguaVsCIKKworIzogcmVmLWZpbHRlci5jOjI5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlJShib2R5KSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIKIG1zZ3N0ciAiJSUoYm9keSkg5LiN5bim5Y+C5pWwIgogCi0jOiByZWYtZmlsdGVyLmM6MjU2CisjOiByZWYtZmlsdGVyLmM6MzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiUlKHN1YmplY3QpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgogbXNnc3RyICIlJShzdWJqZWN0KSDkuI3luKblj4LmlbAiCiAKLSM6IHJlZi1maWx0ZXIuYzoyNzgKKyM6IHJlZi1maWx0ZXIuYzozMjMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biAlJSh0cmFpbGVycykgYXJndW1lbnQ6ICVzIgogbXNnc3RyICLmnKrnn6XnmoQgJSUodHJhaWxlcnMpIOWPguaVsO+8miVzIgogCi0jOiByZWYtZmlsdGVyLmM6MzA3CisjOiByZWYtZmlsdGVyLmM6MzUyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBvc2l0aXZlIHZhbHVlIGV4cGVjdGVkIGNvbnRlbnRzOmxpbmVzPSVzIgogbXNnc3RyICLmnJ/mnJvkuIDkuKrmraPmlbAgY29udGVudHM6bGluZXM9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozMDkKKyM6IHJlZi1maWx0ZXIuYzozNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGNvbnRlbnRzKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIuacquiDveivhuWIq+eahCAlJShjb250ZW50cykg5Y+C5pWw77yaJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozMjQKKyM6IHJlZi1maWx0ZXIuYzozNjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgb2JqZWN0bmFtZTpzaG9ydD0lcyIKIG1zZ3N0ciAi5pyf5pyb5LiA5Liq5q2j5pWwIG9iamVjdG5hbWU6c2hvcnQ9JXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozMjgKKyM6IHJlZi1maWx0ZXIuYzozNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKG9iamVjdG5hbWUpIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAi5pyq6IO96K+G5Yir55qEICUlKG9iamVjdG5hbWUpIOWPguaVsO+8miVzIgogCi0jOiByZWYtZmlsdGVyLmM6MzU4CisjOiByZWYtZmlsdGVyLmM6NDAzCiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGVkIGZvcm1hdDogJSUoYWxpZ246PHdpZHRoPiw8cG9zaXRpb24+KSIKIG1zZ3N0ciAi5pyf5pyb55qE5qC85byP77yaJSUoYWxpZ246POWuveW6pj4sPOS9jee9rj4pIgogCi0jOiByZWYtZmlsdGVyLmM6MzcwCisjOiByZWYtZmlsdGVyLmM6NDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBwb3NpdGlvbjolcyIKIG1zZ3N0ciAi5pyq6IO96K+G5Yir55qE5L2N572u77yaJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzozNzcKKyM6IHJlZi1maWx0ZXIuYzo0MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkIHdpZHRoOiVzIgogbXNnc3RyICLmnKrog73or4bliKvnmoTlrr3luqbvvJolcyIKIAotIzogcmVmLWZpbHRlci5jOjM4NgorIzogcmVmLWZpbHRlci5jOjQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bnJlY29nbml6ZWQgJSUoYWxpZ24pIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAi5pyq6IO96K+G5Yir55qEICUlKGFsaWduKSDlj4LmlbDvvJolcyIKIAotIzogcmVmLWZpbHRlci5jOjM5NAorIzogcmVmLWZpbHRlci5jOjQzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJwb3NpdGl2ZSB3aWR0aCBleHBlY3RlZCB3aXRoIHRoZSAlJShhbGlnbikgYXRvbSIKIG1zZ3N0ciAi5YWD57SgICUlKGFsaWduKSDpnIDopoHkuIDkuKrmraPmlbDnmoTlrr3luqYiCiAKLSM6IHJlZi1maWx0ZXIuYzo0MTIKKyM6IHJlZi1maWx0ZXIuYzo0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5yZWNvZ25pemVkICUlKGlmKSBhcmd1bWVudDogJXMiCiBtc2dzdHIgIuacquiDveivhuWIq+eahCAlJShpZikg5Y+C5pWw77yaJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzo1MDgKKyM6IHJlZi1maWx0ZXIuYzo1NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGZpZWxkIG5hbWU6ICUuKnMiCiBtc2dzdHIgIuagvOW8j+mUmeivr+eahOWtl+auteWQje+8miUuKnMiCiAKLSM6IHJlZi1maWx0ZXIuYzo1MzUKKyM6IHJlZi1maWx0ZXIuYzo1ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBmaWVsZCBuYW1lOiAlLipzIgogbXNnc3RyICLmnKrnn6XnmoTlrZfmrrXlkI3vvJolLipzIgogCi0jOiByZWYtZmlsdGVyLmM6NTM5CisjOiByZWYtZmlsdGVyLmM6NTkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgYSBnaXQgcmVwb3NpdG9yeSwgYnV0IHRoZSBmaWVsZCAnJS4qcycgcmVxdWlyZXMgYWNjZXNzIHRvIG9iamVjdCBkYXRhIgogbXNnc3RyICLkuI3mmK/kuIDkuKogZ2l0IOS7k+W6k++8jOS9huaYr+Wtl+autSAnJS4qcycg6ZyA6KaB6K6/6Zeu5a+56LGh5pWw5o2uIgogCi0jOiByZWYtZmlsdGVyLmM6NjYzCisjOiByZWYtZmlsdGVyLmM6NzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoaWYpIGF0b20gdXNlZCB3aXRob3V0IGEgJSUodGhlbikgYXRvbSIKIG1zZ3N0ciAi5qC85byP77ya5L2/55So5LqGICUlKGlmKSDlhYPntKDogIzmsqHmnIkgJSUodGhlbikg5YWD57SgIgogCi0jOiByZWYtZmlsdGVyLmM6NzI2CisjOiByZWYtZmlsdGVyLmM6Nzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIHdpdGhvdXQgYW4gJSUoaWYpIGF0b20iCiBtc2dzdHIgIuagvOW8j++8muS9v+eUqOS6hiAlJSh0aGVuKSDlhYPntKDogIzmsqHmnIkgJSUoaWYpIOWFg+e0oCIKIAotIzogcmVmLWZpbHRlci5jOjcyOAorIzogcmVmLWZpbHRlci5jOjc3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKHRoZW4pIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKIG1zZ3N0ciAi5qC85byP77yaJSUodGhlbikg5YWD57Sg55So5LqG5aSa5qyhIgogCi0jOiByZWYtZmlsdGVyLmM6NzMwCisjOiByZWYtZmlsdGVyLmM6NzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIGFmdGVyICUlKGVsc2UpIgogbXNnc3RyICLmoLzlvI/vvJolJSh0aGVuKSDlhYPntKDnlKjlnKjkuoYgJSUoZWxzZSkg5LmL5ZCOIgogCi0jOiByZWYtZmlsdGVyLmM6NzU4CisjOiByZWYtZmlsdGVyLmM6ODA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYW4gJSUoaWYpIGF0b20iCiBtc2dzdHIgIuagvOW8j++8muS9v+eUqOS6hiAlJShlbHNlKSDlhYPntKDogIzmsqHmnIkgJSUoaWYpIOWFg+e0oCIKIAotIzogcmVmLWZpbHRlci5jOjc2MAorIzogcmVmLWZpbHRlci5jOjgxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCB3aXRob3V0IGEgJSUodGhlbikgYXRvbSIKIG1zZ3N0ciAi5qC85byP77ya5L2/55So5LqGICUlKGVsc2UpIOWFg+e0oOiAjOayoeaciSAlJSh0aGVuKSDlhYPntKAiCiAKLSM6IHJlZi1maWx0ZXIuYzo3NjIKKyM6IHJlZi1maWx0ZXIuYzo4MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgbW9yZSB0aGFuIG9uY2UiCiBtc2dzdHIgIuagvOW8j++8miUlKGVsc2UpIOWFg+e0oOeUqOS6huWkmuasoSIKIAotIzogcmVmLWZpbHRlci5jOjc3NworIzogcmVmLWZpbHRlci5jOjgyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JtYXQ6ICUlKGVuZCkgYXRvbSB1c2VkIHdpdGhvdXQgY29ycmVzcG9uZGluZyBhdG9tIgogbXNnc3RyICLmoLzlvI/vvJrkvb/nlKjkuoYgJSUoZW5kKSDlhYPntKDljbTmsqHmnInlroPnmoTlr7nlupTlhYPntKAiCiAKLSM6IHJlZi1maWx0ZXIuYzo4MzQKKyM6IHJlZi1maWx0ZXIuYzo4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIGZvcm1hdCBzdHJpbmcgJXMiCiBtc2dzdHIgIumUmeivr+eahOagvOW8j+WMluWtl+espuS4siAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE0MjQKKyM6IHJlZi1maWx0ZXIuYzoxNDg4CiAjLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nICVzKSIKLW1zZ3N0ciAi77yI6Z2e5YiG5pSv77yM5q2j5Y+Y5Z+6ICVz77yJIgorbXNnaWQgIm5vIGJyYW5jaCwgcmViYXNpbmcgJXMiCittc2dzdHIgIumdnuWIhuaUr++8jOato+WPmOWfuiAlcyIKIAotIzogcmVmLWZpbHRlci5jOjE0MjcKKyM6IHJlZi1maWx0ZXIuYzoxNDkxCiAjLCBjLWZvcm1hdAotbXNnaWQgIihubyBicmFuY2gsIHJlYmFzaW5nIGRldGFjaGVkIEhFQUQgJXMpIgotbXNnc3RyICLvvIjpnZ7liIbmlK/vvIzmraPlj5jln7rliIbnprvlpLTmjIfpkoggJXPvvIkiCittc2dpZCAibm8gYnJhbmNoLCByZWJhc2luZyBkZXRhY2hlZCBIRUFEICVzIgorbXNnc3RyICLpnZ7liIbmlK/vvIzmraPlj5jln7rliIbnprvlpLTmjIfpkoggJXMiCiAKLSM6IHJlZi1maWx0ZXIuYzoxNDMwCisjOiByZWYtZmlsdGVyLmM6MTQ5NAogIywgYy1mb3JtYXQKLW1zZ2lkICIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiCi1tc2dzdHIgIu+8iOmdnuWIhuaUr++8jOS6jOWIhuafpeaJvuW8gOWni+S6jiAlc++8iSIKK21zZ2lkICJubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzIgorbXNnc3RyICLpnZ7liIbmlK/vvIzkuozliIbmn6Xmib7lvIDlp4vkuo4gJXMiCiAKLSMuIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECi0jLiBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCi0jLgotIzogcmVmLWZpbHRlci5jOjE0MzgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgYXQgJXMpIgotbXNnc3RyICLvvIjlpLTmjIfpkojliIbnprvkuo4gJXPvvIkiCisjOiByZWYtZmlsdGVyLmM6MTUwNAorbXNnaWQgIm5vIGJyYW5jaCIKK21zZ3N0ciAi6Z2e5YiG5pSvIgogCi0jLiBUUkFOU0xBVE9SUzogbWFrZSBzdXJlIHRoaXMgbWF0Y2hlcyAiSEVBRAotIy4gZGV0YWNoZWQgZnJvbSAiIGluIHd0LXN0YXR1cy5jCi0jLgotIzogcmVmLWZpbHRlci5jOjE0NDUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiCi1tc2dzdHIgIu+8iOWktOaMh+mSiOWIhuemu+iHqiAlc++8iSIKLQotIzogcmVmLWZpbHRlci5jOjE0NDkKLW1zZ2lkICIobm8gYnJhbmNoKSIKLW1zZ3N0ciAi77yI6Z2e5YiG5pSv77yJIgotCi0jOiByZWYtZmlsdGVyLmM6MTQ4MyByZWYtZmlsdGVyLmM6MTYzOAorIzogcmVmLWZpbHRlci5jOjE1NDAgcmVmLWZpbHRlci5jOjE3NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBvYmplY3QgJXMgZm9yICVzIgogbXNnc3RyICLnvLrlpLEgJTIkcyDnmoTlr7nosaEgJTEkcyIKIAotIzogcmVmLWZpbHRlci5jOjE0OTEKKyM6IHJlZi1maWx0ZXIuYzoxNTUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhcnNlX29iamVjdF9idWZmZXIgZmFpbGVkIG9uICVzIGZvciAlcyIKIG1zZ3N0ciAicGFyc2Vfb2JqZWN0X2J1ZmZlciDlpLHotKXkuo4gJTIkcyDnmoQgJTEkcyIKIAotIzogcmVmLWZpbHRlci5jOjE4NTcKKyM6IHJlZi1maWx0ZXIuYzoyMDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hbGZvcm1lZCBvYmplY3QgYXQgJyVzJyIKIG1zZ3N0ciAi5qC85byP6ZSZ6K+v55qE5a+56LGhICclcyciCiAKLSM6IHJlZi1maWx0ZXIuYzoxOTQ2CisjOiByZWYtZmlsdGVyLmM6MjA5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyByZWYgd2l0aCBicm9rZW4gbmFtZSAlcyIKIG1zZ3N0ciAi5b+955Wl5bim5pyJ6ZSZ6K+v5ZCN56ewICVzIOeahOW8leeUqCIKIAotIzogcmVmLWZpbHRlci5jOjIyMzIKKyM6IHJlZi1maWx0ZXIuYzoyMzg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcm1hdDogJSUoZW5kKSBhdG9tIG1pc3NpbmciCiBtc2dzdHIgIuagvOW8j++8mue8uuWwkSAlJShlbmQpIOWFg+e0oCIKIAotIzogcmVmLWZpbHRlci5jOjIzMzgKKyM6IHJlZi1maWx0ZXIuYzoyNDg5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbWVyZ2VkIgorbXNnc3RyICLpgInpobkgYCVzJyDlkowgLS1tZXJnZWQg5LiN5YW85a65IgorCisjOiByZWYtZmlsdGVyLmM6MjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW5vLW1lcmdlZCIKK21zZ3N0ciAi6YCJ6aG5IGAlcycg5ZKMIC0tbm8tbWVyZ2VkIOS4jeWFvOWuuSIKKworIzogcmVmLWZpbHRlci5jOjI1MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICLmoLzlvI/plJnor6/nmoTlr7nosaHlkI0gJXMiCiAKLSM6IHJlbW90ZS5jOjYwNworIzogcmVmLWZpbHRlci5jOjI1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgbXVzdCBwb2ludCB0byBhIGNvbW1pdCIKK21zZ3N0ciAi6YCJ6aG5IGAlcycg5b+F6aG75oyH5ZCR5LiA5Liq5o+Q5LqkIgorCisjOiByZW1vdGUuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29uZmlnIHJlbW90ZSBzaG9ydGhhbmQgY2Fubm90IGJlZ2luIHdpdGggJy8nOiAlcyIKK21zZ3N0ciAi6YWN572u55qE6L+c56iL55+t5ZCN56ew5LiN6IO95LulICcvJyDlvIDlp4vvvJolcyIKKworIzogcmVtb3RlLmM6NDEzCittc2dpZCAibW9yZSB0aGFuIG9uZSByZWNlaXZlcGFjayBnaXZlbiwgdXNpbmcgdGhlIGZpcnN0IgorbXNnc3RyICLmj5DkvpvkuobkuIDkuKrku6XkuIrnmoQgcmVjZWl2ZXBhY2vvvIzkvb/nlKjnrKzkuIDkuKoiCisKKyM6IHJlbW90ZS5jOjQyMQorbXNnaWQgIm1vcmUgdGhhbiBvbmUgdXBsb2FkcGFjayBnaXZlbiwgdXNpbmcgdGhlIGZpcnN0IgorbXNnc3RyICLmj5DkvpvkuobkuIDkuKrku6XkuIrnmoQgdXBsb2FkcGFja++8jOS9v+eUqOesrOS4gOS4qiIKKworIzogcmVtb3RlLmM6NjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBmZXRjaCBib3RoICVzIGFuZCAlcyB0byAlcyIKIG1zZ3N0ciAi5LiN6IO95ZCM5pe26I635Y+WICVzIOWSjCAlcyDoh7MgJXMiCiAKLSM6IHJlbW90ZS5jOjYxMQorIzogcmVtb3RlLmM6NjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHVzdWFsbHkgdHJhY2tzICVzLCBub3QgJXMiCiBtc2dzdHIgIiVzIOmAmuW4uOi3n+i4qiAlc++8jOiAjOmdniAlcyIKIAotIzogcmVtb3RlLmM6NjE1CisjOiByZW1vdGUuYzo2MTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgdHJhY2tzIGJvdGggJXMgYW5kICVzIgogbXNnc3RyICIlcyDlkIzml7bot5/ouKogJXMg5ZKMICVzIgogCi0jOiByZW1vdGUuYzo2MjMKLW1zZ2lkICJJbnRlcm5hbCBlcnJvciIKLW1zZ3N0ciAi5YaF6YOo6ZSZ6K+vIgorIzogcmVtb3RlLmM6Njg3CisjLCBjLWZvcm1hdAorbXNnaWQgImtleSAnJXMnIG9mIHBhdHRlcm4gaGFkIG5vICcqJyIKK21zZ3N0ciAi5qih5byP55qE6ZSuICclcycg5rKh5pyJICcqJyIKIAotIzogcmVtb3RlLmM6MTU2OSByZW1vdGUuYzoxNjcwCisjOiByZW1vdGUuYzo2OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidmFsdWUgJyVzJyBvZiBwYXR0ZXJuIGhhcyBubyAnKiciCittc2dzdHIgIuaooeW8j+eahOWAvCAnJXMnIOayoeaciSAnKiciCisKKyM6IHJlbW90ZS5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3JjIHJlZnNwZWMgJXMgZG9lcyBub3QgbWF0Y2ggYW55IgorbXNnc3RyICLmupDlvJXnlKjooajovr7lvI8gJXMg5rKh5pyJ5Yy56YWNIgorCisjOiByZW1vdGUuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgInNyYyByZWZzcGVjICVzIG1hdGNoZXMgbW9yZSB0aGFuIG9uZSIKK21zZ3N0ciAi5rqQ5byV55So6KGo6L6+5byPICVzIOWMuemFjei2hei/h+S4gOS4qiIKKworIy4gVFJBTlNMQVRPUlM6ICJtYXRjaGVzICclcyclIiBpcyB0aGUgPGRzdD4gcGFydCBvZiAiZ2l0IHB1c2gKKyMuIDxyZW1vdGU+IDxzcmM+Ojxkc3Q+IiBwdXNoLCBhbmQgImJlaW5nIHB1c2hlZCAoJyVzJykiIGlzCisjLiB0aGUgPHNyYz4uCisjLgorIzogcmVtb3RlLmM6MTAyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlc3RpbmF0aW9uIHlvdSBwcm92aWRlZCBpcyBub3QgYSBmdWxsIHJlZm5hbWUgKGkuZS4sXG4iCisic3RhcnRpbmcgd2l0aCBcInJlZnMvXCIpLiBXZSB0cmllZCB0byBndWVzcyB3aGF0IHlvdSBtZWFudCBieTpcbiIKKyJcbiIKKyItIExvb2tpbmcgZm9yIGEgcmVmIHRoYXQgbWF0Y2hlcyAnJXMnIG9uIHRoZSByZW1vdGUgc2lkZS5cbiIKKyItIENoZWNraW5nIGlmIHRoZSA8c3JjPiBiZWluZyBwdXNoZWQgKCclcycpXG4iCisiICBpcyBhIHJlZiBpbiBcInJlZnMve2hlYWRzLHRhZ3N9L1wiLiBJZiBzbyB3ZSBhZGQgYSBjb3JyZXNwb25kaW5nXG4iCisiICByZWZzL3toZWFkcyx0YWdzfS8gcHJlZml4IG9uIHRoZSByZW1vdGUgc2lkZS5cbiIKKyJcbiIKKyJOZWl0aGVyIHdvcmtlZCwgc28gd2UgZ2F2ZSB1cC4gWW91IG11c3QgZnVsbHkgcXVhbGlmeSB0aGUgcmVmLiIKK21zZ3N0ciAiIgorIuaCqOaPkOS+m+eahOebruagh+S4jeaYr+S4gOS4quWujOaVtOeahOW8leeUqOWQjeensO+8iOWNs+S7pSBcInJlZnMvXCIg5byA5aS077yJ44CC5oiR5LusXG4iCisi6K+V552A54yc5rWL5oKo55qE5oOz5rOV77yaXG4iCisiXG4iCisiLSDlnKjov5znq6/mn6Xor6LlkowgJyVzJyDljLnphY3nmoTlvJXnlKjjgIJcbiIKKyItIOajgOafpeimgeaOqOmAgeeahCA8c3JjPu+8iCclcyfvvInmmK/kuI3mmK/lnKggXCJyZWZzL3toZWFkcyx0YWdzfS9cIiDkuK3nmoRcbiIKKyIgIOW8leeUqOOAguWmguaenOaYr++8jOaIkeS7rOS8muWcqOWvueW6lOeahOi/nOerr+a3u+WKoCByZWZzL3toZWFkcyx0YWdzfS8g5YmN57yA44CCXG4iCisiXG4iCisi6YO95LiN6KGM77yM5omA5Lul5oiR5Lus5bey5pS+5byD44CC5oKo5b+F6aG757uZ5Ye65a6M5pW055qE5byV55So44CCIgorCisjOiByZW1vdGUuYzoxMDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIGNvbW1pdCBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL2hlYWRzLyVzJz8iCittc2dzdHIgIiIKKyLlvJXnlKjooajovr7lvI/nmoQgPHNyYz4g5piv5LiA5Liq5o+Q5Lqk5a+56LGh44CC5oKo5piv5oOz5Yib5bu65LiA5Liq5paw55qE5YiG5pSv6ICM5ZCRXG4iCisiJyVzOnJlZnMvaGVhZHMvJXMnIOaOqOmAgeS5iO+8nyIKKworIzogcmVtb3RlLmM6MTA0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSB0YWcgb2JqZWN0LlxuIgorIkRpZCB5b3UgbWVhbiB0byBjcmVhdGUgYSBuZXcgdGFnIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy90YWdzLyVzJz8iCittc2dzdHIgIiIKKyLlvJXnlKjooajovr7lvI/nmoQgPHNyYz4g5piv5LiA5Liq5qCH562+5a+56LGh44CC5oKo5piv5oOz5Yib5bu65LiA5Liq5paw55qE5qCH562+6ICM5ZCRXG4iCisiJyVzOnJlZnMvdGFncy8lcycg5o6o6YCB5LmI77yfIgorCisjOiByZW1vdGUuYzoxMDUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIHRyZWUgb2JqZWN0LlxuIgorIkRpZCB5b3UgbWVhbiB0byB0YWcgYSBuZXcgdHJlZSBieSBwdXNoaW5nIHRvXG4iCisiJyVzOnJlZnMvdGFncy8lcyc/IgorbXNnc3RyICIiCisi5byV55So6KGo6L6+5byP55qEIDxzcmM+IOaYr+S4gOS4quagkeWvueixoeOAguaCqOaYr+aDs+S4uui/meS4quagkeWvueixoeWIm+W7uuagh+etvuiAjOWQkVxuIgorIiclczpyZWZzL3RhZ3MvJXMnIOaOqOmAgeS5iO+8nyIKKworIzogcmVtb3RlLmM6MTA1OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSBibG9iIG9iamVjdC5cbiIKKyJEaWQgeW91IG1lYW4gdG8gdGFnIGEgbmV3IGJsb2IgYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL3RhZ3MvJXMnPyIKK21zZ3N0ciAiIgorIuW8leeUqOihqOi+vuW8j+eahCA8c3JjPiDmmK/kuIDkuKrmlbDmja7lr7nosaHjgILmgqjmmK/mg7PkuLrov5nkuKrmlbDmja7lr7nosaHliJvlu7rmoIfnrb7ogIzlkJFcbiIKKyInJXM6cmVmcy90YWdzLyVzJyDmjqjpgIHkuYjvvJ8iCisKKyM6IHJlbW90ZS5jOjEwOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2Fubm90IGJlIHJlc29sdmVkIHRvIGJyYW5jaCIKK21zZ3N0ciAiJXMg5peg5rOV6KKr6Kej5p6Q5Li65YiG5pSvIgorCisjOiByZW1vdGUuYzoxMTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBkZWxldGUgJyVzJzogcmVtb3RlIHJlZiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi5peg5rOV5Yig6ZmkICclcyfvvJrov5znqIvlvJXnlKjkuI3lrZjlnKgiCisKKyM6IHJlbW90ZS5jOjExMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHN0IHJlZnNwZWMgJXMgbWF0Y2hlcyBtb3JlIHRoYW4gb25lIgorbXNnc3RyICLnm67moIflvJXnlKjooajovr7lvI8gJXMg5Yy56YWN6LaF6L+H5LiA5LiqIgorCisjOiByZW1vdGUuYzoxMTI0CisjLCBjLWZvcm1hdAorbXNnaWQgImRzdCByZWYgJXMgcmVjZWl2ZXMgZnJvbSBtb3JlIHRoYW4gb25lIHNyYyIKK21zZ3N0ciAi55uu5qCH5byV55SoICVzIOaOpeaUtui2hei/h+S4gOS4qua6kCIKKworIzogcmVtb3RlLmM6MTYyNyByZW1vdGUuYzoxNzI4CiBtc2dpZCAiSEVBRCBkb2VzIG5vdCBwb2ludCB0byBhIGJyYW5jaCIKIG1zZ3N0ciAiSEVBRCDmsqHmnInmjIflkJHkuIDkuKrliIbmlK8iCiAKLSM6IHJlbW90ZS5jOjE1NzgKKyM6IHJlbW90ZS5jOjE2MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gc3VjaCBicmFuY2g6ICclcyciCiBtc2dzdHIgIuayoeacieatpOWIhuaUr++8miclcyciCiAKLSM6IHJlbW90ZS5jOjE1ODEKKyM6IHJlbW90ZS5jOjE2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdXBzdHJlYW0gY29uZmlndXJlZCBmb3IgYnJhbmNoICclcyciCiBtc2dzdHIgIuWwmuacque7meWIhuaUryAnJXMnIOiuvue9ruS4iua4uCIKIAotIzogcmVtb3RlLmM6MTU4NworIzogcmVtb3RlLmM6MTY0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1cHN0cmVhbSBicmFuY2ggJyVzJyBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKIG1zZ3N0ciAi5LiK5ri45YiG5pSvICclcycg5rKh5pyJ5a2Y5YKo5Li65LiA5Liq6L+c56iL6Lef6Liq5YiG5pSvIgogCi0jOiByZW1vdGUuYzoxNjAyCisjOiByZW1vdGUuYzoxNjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgInB1c2ggZGVzdGluYXRpb24gJyVzJyBvbiByZW1vdGUgJyVzJyBoYXMgbm8gbG9jYWwgdHJhY2tpbmcgYnJhbmNoIgogbXNnc3RyICLmjqjpgIHnm67moIcgJyVzJyDoh7Pov5znqIsgJyVzJyDmsqHmnInmnKzlnLDot5/ouKrliIbmlK8iCiAKLSM6IHJlbW90ZS5jOjE2MTQKKyM6IHJlbW90ZS5jOjE2NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgaGFzIG5vIHJlbW90ZSBmb3IgcHVzaGluZyIKIG1zZ3N0ciAi5YiG5pSvICclcycg5rKh5pyJ6K6+572u6KaB5o6o6YCB55qE6L+c56iL5pyN5Yqh5ZmoIgogCi0jOiByZW1vdGUuYzoxNjI0CisjOiByZW1vdGUuYzoxNjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInB1c2ggcmVmc3BlY3MgZm9yICclcycgZG8gbm90IGluY2x1ZGUgJyVzJyIKIG1zZ3N0ciAi5ZCRICclcycg5o6o6YCB5byV55So6KeE5qC85pyq5YyF5ZCrICclcyciCiAKLSM6IHJlbW90ZS5jOjE2MzcKKyM6IHJlbW90ZS5jOjE2OTUKIG1zZ2lkICJwdXNoIGhhcyBubyBkZXN0aW5hdGlvbiAocHVzaC5kZWZhdWx0IGlzICdub3RoaW5nJykiCiBtc2dzdHIgIuaOqOmAgeaXoOebruagh++8iHB1c2guZGVmYXVsdCDmmK8gJ25vdGhpbmcn77yJIgogCi0jOiByZW1vdGUuYzoxNjU5CisjOiByZW1vdGUuYzoxNzE3CiBtc2dpZCAiY2Fubm90IHJlc29sdmUgJ3NpbXBsZScgcHVzaCB0byBhIHNpbmdsZSBkZXN0aW5hdGlvbiIKIG1zZ3N0ciAi5peg5rOV6Kej5p6QICdzaW1wbGUnIOaOqOmAgeiHs+S4gOS4quWNleeLrOeahOebruaghyIKIAotIzogcmVtb3RlLmM6MTkzNQorIzogcmVtb3RlLmM6MTg0MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgJXMiCittc2dzdHIgIuaXoOazleaJvuWIsOi/nOeoi+W8leeUqCAlcyIKKworIzogcmVtb3RlLmM6MTg1NgorIywgYy1mb3JtYXQKK21zZ2lkICIqIElnbm9yaW5nIGZ1bm55IHJlZiAnJXMnIGxvY2FsbHkiCittc2dzdHIgIiog5Zyo5pys5Zyw5b+955Wl5Y+v56yR55qE5byV55SoICclcyciCisKKyM6IHJlbW90ZS5jOjIwMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmFzZWQgb24gJyVzJywgYnV0IHRoZSB1cHN0cmVhbSBpcyBnb25lLlxuIgogbXNnc3RyICLmgqjnmoTliIbmlK/ln7rkuo4gJyVzJ++8jOS9huatpOS4iua4uOWIhuaUr+W3sue7j+S4jeWtmOWcqOOAglxuIgogCi0jOiByZW1vdGUuYzoxOTM5CisjOiByZW1vdGUuYzoyMDIzCiBtc2dpZCAiICAodXNlIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIgdG8gZml4dXApXG4iCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGJyYW5jaCAtLXVuc2V0LXVwc3RyZWFtXCIg5p2l5L+u5aSN77yJXG4iCiAKLSM6IHJlbW90ZS5jOjE5NDIKKyM6IHJlbW90ZS5jOjIwMjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgdXAgdG8gZGF0ZSB3aXRoICclcycuXG4iCiBtc2dzdHIgIuaCqOeahOWIhuaUr+S4juS4iua4uOWIhuaUryAnJXMnIOS4gOiHtOOAglxuIgogCi0jOiByZW1vdGUuYzoxOTQ2CisjOiByZW1vdGUuYzoyMDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdXIgYnJhbmNoIGFuZCAnJXMnIHJlZmVyIHRvIGRpZmZlcmVudCBjb21taXRzLlxuIgogbXNnc3RyICLmgqjnmoTliIbmlK/lkowgJyVzJyDmjIflkJHkuI3lkIznmoTmj5DkuqTjgIJcbiIKIAotIzogcmVtb3RlLmM6MTk0OQorIzogcmVtb3RlLmM6MjAzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh1c2UgXCIlc1wiIGZvciBkZXRhaWxzKVxuIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcIiVzXCIg5p+l55yL6K+m5oOF77yJXG4iCiAKLSM6IHJlbW90ZS5jOjE5NTMKKyM6IHJlbW90ZS5jOjIwMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXQuXG4iCiBtc2dpZF9wbHVyYWwgIllvdXIgYnJhbmNoIGlzIGFoZWFkIG9mICclcycgYnkgJWQgY29tbWl0cy5cbiIKIG1zZ3N0clswXSAi5oKo55qE5YiG5pSv6aKG5YWIICclcycg5YWxICVkIOS4quaPkOS6pOOAglxuIgogbXNnc3RyWzFdICLmgqjnmoTliIbmlK/pooblhYggJyVzJyDlhbEgJWQg5Liq5o+Q5Lqk44CCXG4iCiAKLSM6IHJlbW90ZS5jOjE5NTkKKyM6IHJlbW90ZS5jOjIwNDMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVzaFwiIHRvIHB1Ymxpc2ggeW91ciBsb2NhbCBjb21taXRzKVxuIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBwdXNoXCIg5p2l5Y+R5biD5oKo55qE5pys5Zyw5o+Q5Lqk77yJXG4iCiAKLSM6IHJlbW90ZS5jOjE5NjIKKyM6IHJlbW90ZS5jOjIwNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiWW91ciBicmFuY2ggaXMgYmVoaW5kICclcycgYnkgJWQgY29tbWl0LCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgogbXNnaWRfcGx1cmFsICIiCkBAIC00MzcxLDExICs1OTg5LDExIEBACiBtc2dzdHJbMV0gIuaCqOeahOWIhuaUr+iQveWQjiAnJXMnIOWFsSAlZCDkuKrmj5DkuqTvvIzlubbkuJTlj6/ku6Xlv6vov5vjgIJcbiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiByZW1vdGUuYzoxOTcwCisjOiByZW1vdGUuYzoyMDU0CiBtc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byB1cGRhdGUgeW91ciBsb2NhbCBicmFuY2gpXG4iCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHB1bGxcIiDmnaXmm7TmlrDmgqjnmoTmnKzlnLDliIbmlK/vvIlcbiIKIAotIzogcmVtb3RlLmM6MTk3MworIzogcmVtb3RlLmM6MjA1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKQEAgLTQzOTEsMTAgKzYwMDksMTUgQEAKICLlubbkuJTliIbliKvmnIkgJWQg5ZKMICVkIOWkhOS4jeWQjOeahOaPkOS6pOOAglxuIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHJlbW90ZS5jOjE5ODMKKyM6IHJlbW90ZS5jOjIwNjcKIG1zZ2lkICIgICh1c2UgXCJnaXQgcHVsbFwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpXG4iCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHB1bGxcIiDmnaXlkIjlubbov5znqIvliIbmlK/vvIlcbiIKIAorIzogcmVtb3RlLmM6MjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcGFyc2UgZXhwZWN0ZWQgb2JqZWN0IG5hbWUgJyVzJyIKK21zZ3N0ciAi5peg5rOV6Kej5p6Q5pyf5pyb55qE5a+56LGh5ZCNICclcyciCisKICM6IHJlcGxhY2Utb2JqZWN0LmM6MjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJlcGxhY2UgcmVmIG5hbWU6ICVzIgpAQCAtNDQxOCwxMSArNjA0MSw2IEBACiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHJlcmVyZSByZWNvcmQiCiBtc2dzdHIgIuaXoOazleWGmeWFpSByZXJlcmUg6K6w5b2VIgogCi0jOiByZXJlcmUuYzo0ODUgcmVyZXJlLmM6NjkyIHNlcXVlbmNlci5jOjMxMzYgc2VxdWVuY2VyLmM6MzE2MgotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgJyVzJyIKLW1zZ3N0ciAi5LiN6IO95YaZ5YWlICclcyciCi0KICM6IHJlcmVyZS5jOjQ5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ0aGVyZSB3ZXJlIGVycm9ycyB3aGlsZSB3cml0aW5nICclcycgKCVzKSIKQEAgLTQ0NzMsOCArNjA5MSw4IEBACiBtc2dpZCAiUmVjb3JkZWQgcHJlaW1hZ2UgZm9yICclcyciCiBtc2dzdHIgIuS4uiAnJXMnIOiusOW9lSBwcmVpbWFnZSIKIAotIzogcmVyZXJlLmM6ODgxIHN1Ym1vZHVsZS5jOjE3NjMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MTMKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDIzCisjOiByZXJlcmUuYzo4ODEgc3VibW9kdWxlLmM6MjA2NyBidWlsdGluL2xvZy5jOjE4NzEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDM2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5ICclcyciCiBtc2dzdHIgIuS4jeiDveWIm+W7uuebruW9lSAnJXMnIgpAQCAtNDUwOCwyOSArNjEyNiwzMyBAQAogbXNnaWQgInVuYWJsZSB0byBvcGVuIHJyLWNhY2hlIGRpcmVjdG9yeSIKIG1zZ3N0ciAi5LiN6IO95omT5byAIHJyLWNhY2hlIOebruW9lSIKIAotIzogcmV2aXNpb24uYzoyMzI0CisjOiByZXZpc2lvbi5jOjI0OTcKIG1zZ2lkICJ5b3VyIGN1cnJlbnQgYnJhbmNoIGFwcGVhcnMgdG8gYmUgYnJva2VuIgogbXNnc3RyICLmgqjnmoTlvZPliY3liIbmlK/lpb3lg4/ooqvmjZ/lnY8iCiAKLSM6IHJldmlzaW9uLmM6MjMyNworIzogcmV2aXNpb24uYzoyNTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggJyVzJyBkb2VzIG5vdCBoYXZlIGFueSBjb21taXRzIHlldCIKIG1zZ3N0ciAi5oKo55qE5b2T5YmN5YiG5pSvICclcycg5bCa5peg5Lu75L2V5o+Q5LqkIgogCi0jOiByZXZpc2lvbi5jOjI1MjMKKyM6IHJldmlzaW9uLmM6MjcwOAogbXNnaWQgIi0tZmlyc3QtcGFyZW50IGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYmlzZWN0IgogbXNnc3RyICItLWZpcnN0LXBhcmVudCDkuI4gLS1iaXNlY3Qg5LiN5YW85a65IgogCi0jOiBydW4tY29tbWFuZC5jOjc0MAorIzogcmV2aXNpb24uYzoyNzEyCittc2dpZCAiLUwgZG9lcyBub3QgeWV0IHN1cHBvcnQgZGlmZiBmb3JtYXRzIGJlc2lkZXMgLXAgYW5kIC1zIgorbXNnc3RyICItTCDlsJrkuI3mlK/mjIEgLXAg5ZKMIC1zIOS5i+WklueahOW3ruW8guagvOW8jyIKKworIzogcnVuLWNvbW1hbmQuYzo3NjIKIG1zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCiBtc2dzdHIgIuS4jeiDveaJk+W8gCAvZGV2L251bGwiCiAKLSM6IHJ1bi1jb21tYW5kLmM6MTIyOQorIzogcnVuLWNvbW1hbmQuYzoxMjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgYXN5bmMgdGhyZWFkOiAlcyIKIG1zZ3N0ciAi5LiN6IO95Yib5bu6IGFzeW5jIOe6v+eoi++8miVzIgogCi0jOiBydW4tY29tbWFuZC5jOjEyOTMKKyM6IHJ1bi1jb21tYW5kLmM6MTMzMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlICclcycgaG9vayB3YXMgaWdub3JlZCBiZWNhdXNlIGl0J3Mgbm90IHNldCBhcyBleGVjdXRhYmxlLlxuIgpAQCAtNDUzOSw3MCArNjE2MSw3NSBAQAogIuWboOS4uuayoeacieWwhumSqeWtkCAnJXMnIOiuvue9ruS4uuWPr+aJp+ihjO+8jOmSqeWtkOiiq+W/veeVpeOAguaCqOWPr+S7pemAmui/h1xuIgogIumFjee9riBgZ2l0IGNvbmZpZyBhZHZpY2UuaWdub3JlZEhvb2sgZmFsc2VgIOadpeWFs+mXrei/meadoeitpuWRiuOAgiIKIAotIzogc2VuZC1wYWNrLmM6MTQyCisjOiBzZW5kLXBhY2suYzoxNDQKIG1zZ2lkICJ1bmV4cGVjdGVkIGZsdXNoIHBhY2tldCB3aGlsZSByZWFkaW5nIHJlbW90ZSB1bnBhY2sgc3RhdHVzIgogbXNnc3RyICLor7vlj5bov5znqIvop6PljIXnirbmgIHml7bmlLbliLDmhI/lpJbnmoQgZmx1c2gg5YyFIgogCi0jOiBzZW5kLXBhY2suYzoxNDQKKyM6IHNlbmQtcGFjay5jOjE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgcmVtb3RlIHVucGFjayBzdGF0dXM6ICVzIgogbXNnc3RyICLkuI3og73op6PmnpDov5znqIvop6PljIXnirbmgIHvvJolcyIKIAotIzogc2VuZC1wYWNrLmM6MTQ2CisjOiBzZW5kLXBhY2suYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVtb3RlIHVucGFjayBmYWlsZWQ6ICVzIgogbXNnc3RyICLov5znqIvop6PljIXlpLHotKXvvJolcyIKIAotIzogc2VuZC1wYWNrLmM6MzA4CisjOiBzZW5kLXBhY2suYzozMDkKIG1zZ2lkICJmYWlsZWQgdG8gc2lnbiB0aGUgcHVzaCBjZXJ0aWZpY2F0ZSIKIG1zZ3N0ciAi5Li65o6o6YCB6K+B5Lmm562+5ZCN5aSx6LSlIgogCi0jOiBzZW5kLXBhY2suYzo0MjEKKyM6IHNlbmQtcGFjay5jOjQyMwogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQgcHVzaCIKIG1zZ3N0ciAi5o6l5pS256uv5LiN5pSv5oyB562+5ZCN5o6o6YCBIgogCi0jOiBzZW5kLXBhY2suYzo0MjMKKyM6IHNlbmQtcGFjay5jOjQyNQogbXNnaWQgIiIKICJub3Qgc2VuZGluZyBhIHB1c2ggY2VydGlmaWNhdGUgc2luY2UgdGhlIHJlY2VpdmluZyBlbmQgZG9lcyBub3Qgc3VwcG9ydCAtLSIKICJzaWduZWQgcHVzaCIKIG1zZ3N0ciAi5pyq5Y+R6YCB5o6o6YCB6K+B5Lmm77yM5Zug5Li65o6l5pS256uv5LiN5pSv5oyB562+5ZCN5o6o6YCBIgogCi0jOiBzZW5kLXBhY2suYzo0MzUKKyM6IHNlbmQtcGFjay5jOjQzNwogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1hdG9taWMgcHVzaCIKIG1zZ3N0ciAi5o6l5pS256uv5LiN5pSv5oyB5Y6f5a2Q5o6o6YCBIgogCi0jOiBzZW5kLXBhY2suYzo0NDAKKyM6IHNlbmQtcGFjay5jOjQ0MgogbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgcHVzaCBvcHRpb25zIgogbXNnc3RyICLmjqXmlLbnq6/kuI3mlK/mjIHmjqjpgIHpgInpobkiCiAKLSM6IHNlcXVlbmNlci5jOjE4MworIzogc2VxdWVuY2VyLmM6MTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY29tbWl0IG1lc3NhZ2UgY2xlYW51cCBtb2RlICclcyciCiBtc2dzdHIgIuaXoOaViOeahOaPkOS6pOS/oeaBr+a4heeQhuaooeW8jyAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoyODcKKyM6IHNlcXVlbmNlci5jOjI5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZGVsZXRlICclcyciCiBtc2dzdHIgIuaXoOazleWIoOmZpCAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzozMTMKKyM6IHNlcXVlbmNlci5jOjMxMyBidWlsdGluL3JlYmFzZS5jOjc4MSBidWlsdGluL3JlYmFzZS5jOjE3MDYgYnVpbHRpbi9ybS5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVtb3ZlICclcyciCittc2dzdHIgIuaXoOazleWIoOmZpCAnJXMnIgorCisjOiBzZXF1ZW5jZXIuYzozMjMKIG1zZ2lkICJyZXZlcnQiCiBtc2dzdHIgIui/mOWOnyIKIAotIzogc2VxdWVuY2VyLmM6MzE1CisjOiBzZXF1ZW5jZXIuYzozMjUKIG1zZ2lkICJjaGVycnktcGljayIKIG1zZ3N0ciAi5ouj6YCJIgogCi0jOiBzZXF1ZW5jZXIuYzozMTcKKyM6IHNlcXVlbmNlci5jOjMyNwogbXNnaWQgInJlYmFzZSAtaSIKIG1zZ3N0ciAicmViYXNlIC1pIgogCi0jOiBzZXF1ZW5jZXIuYzozMTkKKyM6IHNlcXVlbmNlci5jOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIGFjdGlvbjogJWQiCiBtc2dzdHIgIuacquefpeWKqOS9nO+8miVkIgogCi0jOiBzZXF1ZW5jZXIuYzozNzYKKyM6IHNlcXVlbmNlci5jOjM4NwogbXNnaWQgIiIKICJhZnRlciByZXNvbHZpbmcgdGhlIGNvbmZsaWN0cywgbWFyayB0aGUgY29ycmVjdGVkIHBhdGhzXG4iCiAid2l0aCAnZ2l0IGFkZCA8cGF0aHM+JyBvciAnZ2l0IHJtIDxwYXRocz4nIgpAQCAtNDYxMCw3ICs2MjM3LDcgQEAKICLlhrLnqoHop6PlhrPlrozmr5XlkI7vvIznlKggJ2dpdCBhZGQgPOi3r+W+hD4nIOaIliAnZ2l0IHJtIDzot6/lvoQ+J1xuIgogIuWRveS7pOagh+iusOS/ruato+WQjueahOaWh+S7tiIKIAotIzogc2VxdWVuY2VyLmM6Mzc5CisjOiBzZXF1ZW5jZXIuYzozOTAKIG1zZ2lkICIiCiAiYWZ0ZXIgcmVzb2x2aW5nIHRoZSBjb25mbGljdHMsIG1hcmsgdGhlIGNvcnJlY3RlZCBwYXRoc1xuIgogIndpdGggJ2dpdCBhZGQgPHBhdGhzPicgb3IgJ2dpdCBybSA8cGF0aHM+J1xuIgpAQCAtNDYxOSwxMTAgKzYyNDYsMTE0IEBACiAi5Yay56qB6Kej5Yaz5a6M5q+V5ZCO77yM55SoICdnaXQgYWRkIDzot6/lvoQ+JyDmiJYgJ2dpdCBybSA86Lev5b6EPidcbiIKICLlr7nkv67mraPlkI7nmoTmlofku7blgZrmoIforrDvvIznhLblkI7nlKggJ2dpdCBjb21taXQnIOaPkOS6pCIKIAotIzogc2VxdWVuY2VyLmM6MzkyIHNlcXVlbmNlci5jOjI2MzIKKyM6IHNlcXVlbmNlci5jOjQwMyBzZXF1ZW5jZXIuYzoyOTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBsb2NrICclcyciCiBtc2dzdHIgIuS4jeiDvemUgeWumiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzozOTkKKyM6IHNlcXVlbmNlci5jOjQxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgZW9sIHRvICclcyciCiBtc2dzdHIgIuS4jeiDveWwhuaNouihjOespuWGmeWFpSAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzo0MDQgc2VxdWVuY2VyLmM6MjUxNSBzZXF1ZW5jZXIuYzoyNjM4IHNlcXVlbmNlci5jOjI2NTIKLSM6IHNlcXVlbmNlci5jOjI4ODUKKyM6IHNlcXVlbmNlci5jOjQxNSBzZXF1ZW5jZXIuYzoyNzk4IHNlcXVlbmNlci5jOjI5OTkgc2VxdWVuY2VyLmM6MzAxMworIzogc2VxdWVuY2VyLmM6MzI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5a6M5oiQICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjQyNyBzZXF1ZW5jZXIuYzo5MjEgc2VxdWVuY2VyLmM6MTU5NCBzZXF1ZW5jZXIuYzoyNTM1Ci0jOiBzZXF1ZW5jZXIuYzoyODY3IHNlcXVlbmNlci5jOjI5NzQgYnVpbHRpbi9hbS5jOjI2MCBidWlsdGluL2NvbW1pdC5jOjc0NgotIzogYnVpbHRpbi9tZXJnZS5jOjEwODQgYnVpbHRpbi9yZWJhc2UuYzoxNTIKKyM6IHNlcXVlbmNlci5jOjQzOCBzZXF1ZW5jZXIuYzoxNzA3IHNlcXVlbmNlci5jOjI4MTggc2VxdWVuY2VyLmM6MzI1OQorIzogc2VxdWVuY2VyLmM6MzM2OCBidWlsdGluL2FtLmM6MjQ0IGJ1aWx0aW4vY29tbWl0LmM6NzgzIGJ1aWx0aW4vbWVyZ2UuYzoxMTE3CisjOiBidWlsdGluL3JlYmFzZS5jOjU4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgogbXNnc3RyICLkuI3og73or7vlj5YgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6NDUzCisjOiBzZXF1ZW5jZXIuYzo0NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAieW91ciBsb2NhbCBjaGFuZ2VzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzLiIKIG1zZ3N0ciAi5oKo55qE5pys5Zyw5L+u5pS55bCG6KKrJXPopobnm5bjgIIiCiAKLSM6IHNlcXVlbmNlci5jOjQ1NworIzogc2VxdWVuY2VyLmM6NDY4CiBtc2dpZCAiY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQuIgogbXNnc3RyICLmj5DkuqTmgqjnmoTkv67mlLnmiJbotK7ol4/lkI7lho3nu6fnu63jgIIiCiAKLSM6IHNlcXVlbmNlci5jOjQ4NgorIzogc2VxdWVuY2VyLmM6NTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmYXN0LWZvcndhcmQiCiBtc2dzdHIgIiVz77ya5b+r6L+bIgogCisjOiBzZXF1ZW5jZXIuYzo1MzkgYnVpbHRpbi90YWcuYzo1NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCittc2dzdHIgIuaXoOaViOeahOa4heeQhuaooeW8jyAlcyIKKwogIy4gVFJBTlNMQVRPUlM6ICVzIHdpbGwgYmUgInJldmVydCIsICJjaGVycnktcGljayIgb3IKICMuICJyZWJhc2UgLWkiLgogIy4KLSM6IHNlcXVlbmNlci5jOjU3NQorIzogc2VxdWVuY2VyLmM6NjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCiBtc2dzdHIgIiVz77ya5peg5rOV5YaZ5YWl5paw57Si5byV5paH5Lu2IgogCi0jOiBzZXF1ZW5jZXIuYzo1OTEKKyM6IHNlcXVlbmNlci5jOjY1MAogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZSIKIG1zZ3N0ciAi5LiN6IO95pu05paw57yT5a2Y5qCRIgogCi0jOiBzZXF1ZW5jZXIuYzo2MDQKKyM6IHNlcXVlbmNlci5jOjY2NAogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0IgogbXNnc3RyICLkuI3og73op6PmnpAgSEVBRCDmj5DkuqQiCiAKLSM6IHNlcXVlbmNlci5jOjY4NAorIzogc2VxdWVuY2VyLmM6NzQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGtleSBwcmVzZW50IGluICclLipzJyIKIG1zZ3N0ciAi5ZyoICclLipzJyDkuK3msqHmnIkga2V5IgogCi0jOiBzZXF1ZW5jZXIuYzo2OTUKKyM6IHNlcXVlbmNlci5jOjc1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZGVxdW90ZSB2YWx1ZSBvZiAnJXMnIgogbXNnc3RyICLml6Dms5XkuLogJyVzJyDnmoTlgLzljrvlvJXlj7ciCiAKLSM6IHNlcXVlbmNlci5jOjczMiB3cmFwcGVyLmM6MjI3IHdyYXBwZXIuYzozOTcgYnVpbHRpbi9hbS5jOjcxOQotIzogYnVpbHRpbi9hbS5jOjgxMSBidWlsdGluL21lcmdlLmM6MTA4MQorIzogc2VxdWVuY2VyLmM6NzkyIHdyYXBwZXIuYzoxOTAgd3JhcHBlci5jOjM2MCBidWlsdGluL2FtLmM6NzA1CisjOiBidWlsdGluL2FtLmM6Nzk3IGJ1aWx0aW4vbWVyZ2UuYzoxMTE0IGJ1aWx0aW4vcmViYXNlLmM6MTA3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIgogbXNnc3RyICLml6Dms5XmiZPlvIAgJyVzJyDov5vooYzor7vlj5YiCiAKLSM6IHNlcXVlbmNlci5jOjc0MgorIzogc2VxdWVuY2VyLmM6ODAyCiBtc2dpZCAiJ0dJVF9BVVRIT1JfTkFNRScgYWxyZWFkeSBnaXZlbiIKIG1zZ3N0ciAi5bey57uP57uZ5Ye6ICdHSVRfQVVUSE9SX05BTUUnIgogCi0jOiBzZXF1ZW5jZXIuYzo3NDcKKyM6IHNlcXVlbmNlci5jOjgwNwogbXNnaWQgIidHSVRfQVVUSE9SX0VNQUlMJyBhbHJlYWR5IGdpdmVuIgogbXNnc3RyICLlt7Lnu4/nu5nlh7ogJ0dJVF9BVVRIT1JfRU1BSUwnIgogCi0jOiBzZXF1ZW5jZXIuYzo3NTIKKyM6IHNlcXVlbmNlci5jOjgxMgogbXNnaWQgIidHSVRfQVVUSE9SX0RBVEUnIGFscmVhZHkgZ2l2ZW4iCiBtc2dzdHIgIuW3sue7j+e7meWHuiAnR0lUX0FVVEhPUl9EQVRFJyIKIAotIzogc2VxdWVuY2VyLmM6NzU2CisjOiBzZXF1ZW5jZXIuYzo4MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biB2YXJpYWJsZSAnJXMnIgogbXNnc3RyICLmnKrnn6Xlj5jph48gJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6NzYxCisjOiBzZXF1ZW5jZXIuYzo4MjEKIG1zZ2lkICJtaXNzaW5nICdHSVRfQVVUSE9SX05BTUUnIgogbXNnc3RyICLnvLrlsJEgJ0dJVF9BVVRIT1JfTkFNRSciCiAKLSM6IHNlcXVlbmNlci5jOjc2MworIzogc2VxdWVuY2VyLmM6ODIzCiBtc2dpZCAibWlzc2luZyAnR0lUX0FVVEhPUl9FTUFJTCciCiBtc2dzdHIgIue8uuWwkSAnR0lUX0FVVEhPUl9FTUFJTCciCiAKLSM6IHNlcXVlbmNlci5jOjc2NQorIzogc2VxdWVuY2VyLmM6ODI1CiBtc2dpZCAibWlzc2luZyAnR0lUX0FVVEhPUl9EQVRFJyIKIG1zZ3N0ciAi57y65bCRICdHSVRfQVVUSE9SX0RBVEUnIgogCi0jOiBzZXF1ZW5jZXIuYzo4MjUKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBkYXRlIGZvcm1hdCAnJXMnIGluICclcyciCi1tc2dzdHIgIiclMiRzJyDkuK3ml6DmlYjnmoTml6XmnJ/moLzlvI8gJyUxJHMnIgorIzogc2VxdWVuY2VyLmM6OTAyIHNlcXVlbmNlci5jOjE0MjcKK21zZ2lkICJtYWxmb3JtZWQgaWRlbnQgbGluZSIKK21zZ3N0ciAi6ZSZ6K+v55qE6Lqr5Lu95L+h5oGvIgogCi0jOiBzZXF1ZW5jZXIuYzo4NDIKKyM6IHNlcXVlbmNlci5jOjkyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAieW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWVcbiIKQEAgLTQ3NTEsMTUgKzYzODIsMTEgQEAKICJcbiIKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogCi0jOiBzZXF1ZW5jZXIuYzo5MzUKLW1zZ2lkICJ3cml0aW5nIHJvb3QgY29tbWl0IgotbXNnc3RyICLlhpnmoLnmj5DkuqQiCi0KLSM6IHNlcXVlbmNlci5jOjExNDIKKyM6IHNlcXVlbmNlci5jOjEyMTgKIG1zZ2lkICIncHJlcGFyZS1jb21taXQtbXNnJyBob29rIGZhaWxlZCIKIG1zZ3N0ciAiJ3ByZXBhcmUtY29tbWl0LW1zZycg6ZKp5a2Q5aSx6LSlIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTQ5CisjOiBzZXF1ZW5jZXIuYzoxMjI0CiBtc2dpZCAiIgogIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgogIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKQEAgLTQ3ODMsNyArNjQxMCw3IEBACiAiXG4iCiAiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgogCi0jOiBzZXF1ZW5jZXIuYzoxMTYyCisjOiBzZXF1ZW5jZXIuYzoxMjM3CiBtc2dpZCAiIgogIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgogIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKQEAgLTQ4MDYsMzAwICs2NDMzLDM1MyBAQAogIlxuIgogIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKIAotIzogc2VxdWVuY2VyLmM6MTIwMgorIzogc2VxdWVuY2VyLmM6MTI3OQogbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCiBtc2dzdHIgIuaXoOazleaJvuWIsOaWsOWIm+W7uueahOaPkOS6pCIKIAotIzogc2VxdWVuY2VyLmM6MTIwNAorIzogc2VxdWVuY2VyLmM6MTI4MQogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBuZXdseSBjcmVhdGVkIGNvbW1pdCIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q5paw5Yib5bu655qE5o+Q5LqkIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjUwCisjOiBzZXF1ZW5jZXIuYzoxMzI3CiBtc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgSEVBRCBhZnRlciBjcmVhdGluZyBjb21taXQiCiBtc2dzdHIgIuWIm+W7uuaPkOS6pOWQju+8jOS4jeiDveino+aekCBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjUyCisjOiBzZXF1ZW5jZXIuYzoxMzI5CiBtc2dpZCAiZGV0YWNoZWQgSEVBRCIKIG1zZ3N0ciAi5YiG56a75aS05oyH6ZKIIgogCiAjICDor5HogIXvvJrkuK3mloflrZfnrKbkuLLmi7zmjqXvvIzlj6/liKDpmaTliY3lr7znqbrmoLwKLSM6IHNlcXVlbmNlci5jOjEyNTYKKyM6IHNlcXVlbmNlci5jOjEzMzMKIG1zZ2lkICIgKHJvb3QtY29tbWl0KSIKIG1zZ3N0ciAi77yI5qC55o+Q5Lqk77yJIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjc3CisjOiBzZXF1ZW5jZXIuYzoxMzU0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQiCiBtc2dzdHIgIuS4jeiDveino+aekCBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoxMjc5CisjOiBzZXF1ZW5jZXIuYzoxMzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkhFQUQgJXMgaXMgbm90IGEgY29tbWl0ISIKIG1zZ3N0ciAiSEVBRCAlcyDkuI3mmK/kuIDkuKrmj5DkuqTvvIEiCiAKLSM6IHNlcXVlbmNlci5jOjEyODMgYnVpbHRpbi9jb21taXQuYzoxNTQzCisjOiBzZXF1ZW5jZXIuYzoxMzYwIHNlcXVlbmNlci5jOjE0NTggYnVpbHRpbi9jb21taXQuYzoxNTY5CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQgY29tbWl0IgogbXNnc3RyICLkuI3og73op6PmnpAgSEVBRCDmj5DkuqQiCiAKLSM6IHNlcXVlbmNlci5jOjEzMzQgc2VxdWVuY2VyLmM6MTkzNAorIzogc2VxdWVuY2VyLmM6MTQxMSBzZXF1ZW5jZXIuYzoyMDU1CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCBhdXRob3IiCiBtc2dzdHIgIuS4jeiDveino+aekOaPkOS6pOS9nOiAhSIKIAotIzogc2VxdWVuY2VyLmM6MTM0NCBidWlsdGluL2FtLmM6MTU4NSBidWlsdGluL21lcmdlLmM6Njc3CisjOiBzZXF1ZW5jZXIuYzoxNDMxCittc2dpZCAiY29ycnVwdGVkIGF1dGhvciB3aXRob3V0IGRhdGUgaW5mb3JtYXRpb24iCittc2dzdHIgIuaNn+Wdj+eahOayoeacieaXpeacn+eahOS9nOiAheS/oeaBryIKKworIzogc2VxdWVuY2VyLmM6MTQ0NyBidWlsdGluL2FtLmM6MTU2MSBidWlsdGluL21lcmdlLmM6Njg0CiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIKIG1zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUg5peg5rOV5YaZ5YWl5qCR5a+56LGhIgogCi0jOiBzZXF1ZW5jZXIuYzoxMzYxIHNlcXVlbmNlci5jOjE0MTYKKyM6IHNlcXVlbmNlci5jOjE0ODAgc2VxdWVuY2VyLmM6MTU1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBjb21taXQgbWVzc2FnZSBmcm9tICclcyciCiBtc2dzdHIgIuS4jeiDveS7jiAnJXMnIOivu+WPluaPkOS6pOivtOaYjiIKIAotIzogc2VxdWVuY2VyLmM6MTM4MyBidWlsdGluL2FtLmM6MTYwNiBidWlsdGluL2NvbW1pdC5jOjE2NDYgYnVpbHRpbi9tZXJnZS5jOjg1OAotIzogYnVpbHRpbi9tZXJnZS5jOjg4MworIzogc2VxdWVuY2VyLmM6MTUxNiBidWlsdGluL2FtLmM6MTU4MyBidWlsdGluL2NvbW1pdC5jOjE2NjggYnVpbHRpbi9tZXJnZS5jOjg4MworIzogYnVpbHRpbi9tZXJnZS5jOjkwOAogbXNnaWQgImZhaWxlZCB0byB3cml0ZSBjb21taXQgb2JqZWN0IgogbXNnc3RyICLlhpnmj5DkuqTlr7nosaHlpLHotKUiCiAKLSM6IHNlcXVlbmNlci5jOjE0NDMKKyM6IHNlcXVlbmNlci5jOjE1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAlcyIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q5o+Q5LqkICVzIgogCi0jOiBzZXF1ZW5jZXIuYzoxNDQ4CisjOiBzZXF1ZW5jZXIuYzoxNTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzIgogbXNnc3RyICLkuI3og73op6PmnpDniLbmj5DkuqQgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjE1NDYgc2VxdWVuY2VyLmM6MTY1NAorIzogc2VxdWVuY2VyLmM6MTY1NiBzZXF1ZW5jZXIuYzoxNzY3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gY29tbWFuZDogJWQiCiBtc2dzdHIgIuacquefpeWRveS7pO+8miVkIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjAxIHNlcXVlbmNlci5jOjE2MjYKKyM6IHNlcXVlbmNlci5jOjE3MTQgc2VxdWVuY2VyLmM6MTczOQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJWQgY29tbWl0cy4iCiBtc2dzdHIgIui/meaYr+S4gOS4qiAlZCDkuKrmj5DkuqTnmoTnu4TlkIjjgIIiCiAKLSM6IHNlcXVlbmNlci5jOjE2MTEgc2VxdWVuY2VyLmM6NDc0NAorIzogc2VxdWVuY2VyLmM6MTcyNAogbXNnaWQgIm5lZWQgYSBIRUFEIHRvIGZpeHVwIgogbXNnc3RyICLpnIDopoHkuIDkuKogSEVBRCDmnaXkv67lpI0iCiAKLSM6IHNlcXVlbmNlci5jOjE2MTMgc2VxdWVuY2VyLmM6MjkxMgorIzogc2VxdWVuY2VyLmM6MTcyNiBzZXF1ZW5jZXIuYzozMzA0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgSEVBRCIKIG1zZ3N0ciAi5LiN6IO96K+75Y+WIEhFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjE2MTUKKyM6IHNlcXVlbmNlci5jOjE3MjgKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBIRUFEJ3MgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIuS4jeiDveivu+WPliBIRUFEIOeahOaPkOS6pOivtOaYjiIKIAotIzogc2VxdWVuY2VyLmM6MTYyMQorIzogc2VxdWVuY2VyLmM6MTczNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgd3JpdGUgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95YaZICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjE2MjggZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ0MQorIzogc2VxdWVuY2VyLmM6MTc0MSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDk2CiBtc2dpZCAiVGhpcyBpcyB0aGUgMXN0IGNvbW1pdCBtZXNzYWdlOiIKIG1zZ3N0ciAi6L+Z5piv56ys5LiA5Liq5o+Q5Lqk6K+05piO77yaIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjM2CisjOiBzZXF1ZW5jZXIuYzoxNzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlIG9mICVzIgogbXNnc3RyICLkuI3og73or7vlj5YgJXMg55qE5o+Q5Lqk6K+05piOIgogCi0jOiBzZXF1ZW5jZXIuYzoxNjQzCisjOiBzZXF1ZW5jZXIuYzoxNzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgdGhlIGNvbW1pdCBtZXNzYWdlICMlZDoiCiBtc2dzdHIgIui/meaYr+aPkOS6pOivtOaYjiAjJWTvvJoiCiAKLSM6IHNlcXVlbmNlci5jOjE2NDkKKyM6IHNlcXVlbmNlci5jOjE3NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlIGNvbW1pdCBtZXNzYWdlICMlZCB3aWxsIGJlIHNraXBwZWQ6IgogbXNnc3RyICLmj5DkuqTor7TmmI4gIyVkIOWwhuiiq+i3s+i/h++8miIKIAotIzogc2VxdWVuY2VyLmM6MTczMgorIzogc2VxdWVuY2VyLmM6MTg1MAogbXNnaWQgInlvdXIgaW5kZXggZmlsZSBpcyB1bm1lcmdlZC4iCiBtc2dzdHIgIuaCqOeahOe0ouW8leaWh+S7tuacquWujOaIkOWQiOW5tuOAgiIKIAotIzogc2VxdWVuY2VyLmM6MTczOQorIzogc2VxdWVuY2VyLmM6MTg1NwogbXNnaWQgImNhbm5vdCBmaXh1cCByb290IGNvbW1pdCIKIG1zZ3N0ciAi5LiN6IO95L+u5aSN5qC55o+Q5LqkIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzU4CisjOiBzZXF1ZW5jZXIuYzoxODc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbW1pdCAlcyBpcyBhIG1lcmdlIGJ1dCBubyAtbSBvcHRpb24gd2FzIGdpdmVuLiIKIG1zZ3N0ciAi5o+Q5LqkICVzIOaYr+S4gOS4quWQiOW5tuaPkOS6pOS9huacquaPkOS+myAtbSDpgInpobnjgIIiCiAKLSM6IHNlcXVlbmNlci5jOjE3NjYKKyM6IHNlcXVlbmNlci5jOjE4ODQgc2VxdWVuY2VyLmM6MTg5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiCiBtc2dzdHIgIuaPkOS6pCAlcyDmsqHmnInnrKwgJWQg5Liq54i25o+Q5LqkIgogCi0jOiBzZXF1ZW5jZXIuYzoxNzcwCi0jLCBjLWZvcm1hdAotbXNnaWQgIm1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iCi1tc2dzdHIgIuaMh+WumuS6huS4u+e6v++8jOS9huaYr+aPkOS6pCAlcyDkuI3mmK/kuIDkuKrlkIjlubbmj5DkuqTjgIIiCi0KLSM6IHNlcXVlbmNlci5jOjE3NzYKKyM6IHNlcXVlbmNlci5jOjE4OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCiBtc2dzdHIgIuS4jeiDveW+l+WIsCAlcyDnmoTmj5DkuqTor7TmmI4iCiAKICMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSBhICJ0b2RvIiBjb21tYW5kIGxpa2UKICMuICJyZXZlcnQiIG9yICJwaWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEuCi0jOiBzZXF1ZW5jZXIuYzoxNzk1CisjOiBzZXF1ZW5jZXIuYzoxOTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKIG1zZ3N0ciAiJXPvvJrkuI3og73op6PmnpDniLbmj5DkuqQgJXMiCiAKLSM6IHNlcXVlbmNlci5jOjE4NjAKKyM6IHNlcXVlbmNlci5jOjE5ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlbmFtZSAnJXMnIHRvICclcyciCiBtc2dzdHIgIuS4jeiDveWwhiAnJXMnIOmHjeWRveWQjeS4uiAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTE1CisjOiBzZXF1ZW5jZXIuYzoyMDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiCiBtc2dzdHIgIuS4jeiDvei/mOWOnyAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTkxNgorIzogc2VxdWVuY2VyLmM6MjAzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCiBtc2dzdHIgIuS4jeiDveW6lOeUqCAlcy4uLiAlcyIKIAotIzogc2VxdWVuY2VyLmM6MTk3NAorIzogc2VxdWVuY2VyLmM6MjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKIG1zZ3N0ciAiZ2l0ICVz77ya5peg5rOV6K+75Y+W57Si5byVIgogCi0jOiBzZXF1ZW5jZXIuYzoxOTgxCisjOiBzZXF1ZW5jZXIuYzoyMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICJnaXQgJXPvvJrml6Dms5XliLfmlrDntKLlvJUiCiAKLSM6IHNlcXVlbmNlci5jOjIwNjIKKyM6IHNlcXVlbmNlci5jOjIxODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZG9lcyBub3QgYWNjZXB0IGFyZ3VtZW50czogJyVzJyIKIG1zZ3N0ciAiJXMg5LiN5o6l5Y+X5Y+C5pWw77yaJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MjA3MQorIzogc2VxdWVuY2VyLmM6MjE5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJtaXNzaW5nIGFyZ3VtZW50cyBmb3IgJXMiCiBtc2dzdHIgIue8uuWwkSAlcyDnmoTlj4LmlbAiCiAKLSM6IHNlcXVlbmNlci5jOjIxMzAKKyM6IHNlcXVlbmNlci5jOjIyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlICclLipzJyIKK21zZ3N0ciAi5peg5rOV6Kej5p6QICclLipzJyIKKworIzogc2VxdWVuY2VyLmM6MjI4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGxpbmUgJWQ6ICUuKnMiCiBtc2dzdHIgIuaXoOaViOihjCAlZO+8miUuKnMiCiAKLSM6IHNlcXVlbmNlci5jOjIxMzgKKyM6IHNlcXVlbmNlci5jOjIzMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90ICclcycgd2l0aG91dCBhIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAi5rKh5pyJ54i25o+Q5Lqk55qE5oOF5Ya15LiL5LiN6IO9ICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjIyMDkKKyM6IHNlcXVlbmNlci5jOjIzNDggYnVpbHRpbi9yZWJhc2UuYzoxNzIgYnVpbHRpbi9yZWJhc2UuYzoxOTcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjIzIGJ1aWx0aW4vcmViYXNlLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgorbXNnc3RyICLkuI3og73or7vlj5YgJyVzJ+OAgiIKKworIzogc2VxdWVuY2VyLmM6MjM4NAorbXNnaWQgImNhbmNlbGxpbmcgYSBjaGVycnkgcGlja2luZyBpbiBwcm9ncmVzcyIKK21zZ3N0ciAi5q2j5Zyo5Y+W5raI5LiA5Liq6L+b6KGM5Lit55qE5ouj6YCJIgorCisjOiBzZXF1ZW5jZXIuYzoyMzkxCittc2dpZCAiY2FuY2VsbGluZyBhIHJldmVydCBpbiBwcm9ncmVzcyIKK21zZ3N0ciAi5q2j5Zyo5Y+W5raI5LiA5Liq6L+b6KGM5Lit55qE6L+Y5Y6fIgorCisjOiBzZXF1ZW5jZXIuYzoyNDM1CiBtc2dpZCAicGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCiBtc2dzdHIgIuivt+eUqCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycg5p2l5L+u5pS544CCIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjExCisjOiBzZXF1ZW5jZXIuYzoyNDM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAnJXMnIgogbXNnc3RyICLkuI3lj6/nlKjnmoTmjIfku6TmuIXljZXvvJonJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjE2CisjOiBzZXF1ZW5jZXIuYzoyNDQyCiBtc2dpZCAibm8gY29tbWl0cyBwYXJzZWQuIgogbXNnc3RyICLmsqHmnInop6PmnpDmj5DkuqTjgIIiCiAKLSM6IHNlcXVlbmNlci5jOjIyMjcKKyM6IHNlcXVlbmNlci5jOjI0NTMKIG1zZ2lkICJjYW5ub3QgY2hlcnJ5LXBpY2sgZHVyaW5nIGEgcmV2ZXJ0LiIKIG1zZ3N0ciAi5LiN6IO95Zyo5Zue6YCA5Lit5omn6KGM5ouj6YCJ44CCIgogCi0jOiBzZXF1ZW5jZXIuYzoyMjI5CisjOiBzZXF1ZW5jZXIuYzoyNDU1CiBtc2dpZCAiY2Fubm90IHJldmVydCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgIuS4jeiDveWcqOaLo+mAieS4reaJp+ihjOWbnumAgOOAgiIKIAotIzogc2VxdWVuY2VyLmM6MjI5OQorIzogc2VxdWVuY2VyLmM6MjUzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgIiVzIOeahOWAvOaXoOaViO+8miVzIgogCi0jOiBzZXF1ZW5jZXIuYzoyMzgwCisjOiBzZXF1ZW5jZXIuYzoyNjMwCiBtc2dpZCAidW51c2FibGUgc3F1YXNoLW9udG8iCiBtc2dzdHIgIuS4jeWPr+eUqOeahCBzcXVhc2gtb250byIKIAotIzogc2VxdWVuY2VyLmM6MjM5NgorIzogc2VxdWVuY2VyLmM6MjY0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJyVzJyIKIG1zZ3N0ciAi5qC85byP6ZSZ6K+v55qE6YCJ6aG55riF5Y2V77yaJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MjQ3OSBzZXF1ZW5jZXIuYzo0MDA1CisjOiBzZXF1ZW5jZXIuYzoyNzM2IHNlcXVlbmNlci5jOjQ0NjMKIG1zZ2lkICJlbXB0eSBjb21taXQgc2V0IHBhc3NlZCIKIG1zZ3N0ciAi5o+Q5L6b5LqG56m655qE5o+Q5Lqk6ZuGIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDg3Ci1tc2dpZCAiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKLW1zZ3N0ciAi5LiA5Liq5ouj6YCJ5oiW6L+Y5Y6f5pON5L2c5bey5Zyo6L+b6KGMIgorIzogc2VxdWVuY2VyLmM6Mjc1MgorbXNnaWQgInJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgorbXNnc3RyICLkuIDkuKrov5jljp/mk43kvZzlt7LlnKjov5vooYwiCiAKLSM6IHNlcXVlbmNlci5jOjI0ODgKLW1zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgotbXNnc3RyICLlsJ3or5UgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLXF1aXQgfCAtLWFib3J0KVwiIgorIzogc2VxdWVuY2VyLmM6Mjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0cnkgXCJnaXQgcmV2ZXJ0ICgtLWNvbnRpbnVlIHwgJXMtLWFib3J0IHwgLS1xdWl0KVwiIgorbXNnc3RyICLlsJ3or5UgXCJnaXQgcmV2ZXJ0ICgtLWNvbnRpbnVlIHwgJXMtLWFib3J0IHwgLS1xdWl0KVwiIgogCi0jOiBzZXF1ZW5jZXIuYzoyNDkxCisjOiBzZXF1ZW5jZXIuYzoyNzU3Cittc2dpZCAiY2hlcnJ5LXBpY2sgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIKK21zZ3N0ciAi5ouj6YCJ5pON5L2c5bey5Zyo6L+b6KGMIgorCisjOiBzZXF1ZW5jZXIuYzoyNzU5CisjLCBjLWZvcm1hdAorbXNnaWQgInRyeSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8ICVzLS1hYm9ydCB8IC0tcXVpdClcIiIKK21zZ3N0ciAi5bCd6K+VIFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgJXMtLWFib3J0IHwgLS1xdWl0KVwiIgorCisjOiBzZXF1ZW5jZXIuYzoyNzczCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgc2VxdWVuY2VyIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICLkuI3og73liJvlu7rluo/liJfnm67lvZUgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MjUwNQorIzogc2VxdWVuY2VyLmM6Mjc4OAogbXNnaWQgImNvdWxkIG5vdCBsb2NrIEhFQUQiCiBtc2dzdHIgIuS4jeiDvemUgeWumiBIRUFEIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTYwIHNlcXVlbmNlci5jOjM3NjEKKyM6IHNlcXVlbmNlci5jOjI4NDggc2VxdWVuY2VyLmM6NDIwOQogbXNnaWQgIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIKIG1zZ3N0ciAi5ouj6YCJ5oiW6L+Y5Y6f5pON5L2c5bm25pyq6L+b6KGMIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTYyCisjOiBzZXF1ZW5jZXIuYzoyODUwIHNlcXVlbmNlci5jOjI4NjEKIG1zZ2lkICJjYW5ub3QgcmVzb2x2ZSBIRUFEIgogbXNnc3RyICLkuI3og73op6PmnpAgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6MjU2NCBzZXF1ZW5jZXIuYzoyNTk5CisjOiBzZXF1ZW5jZXIuYzoyODUyIHNlcXVlbmNlci5jOjI4OTYKIG1zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAi5LiN6IO95LuO5bCa5pyq5bu656uL55qE5YiG5pSv57uI5q2iIgogCi0jOiBzZXF1ZW5jZXIuYzoyNTg1IGJ1aWx0aW4vZ3JlcC5jOjcyMQorIzogc2VxdWVuY2VyLmM6Mjg4MiBidWlsdGluL2dyZXAuYzo3MzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gJyVzJyIKIG1zZ3N0ciAi5LiN6IO95omT5byAICclcyciCiAKLSM6IHNlcXVlbmNlci5jOjI1ODcKKyM6IHNlcXVlbmNlci5jOjI4ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJyVzJzogJXMiCiBtc2dzdHIgIuS4jeiDveivu+WPliAnJXMn77yaJXMiCiAKLSM6IHNlcXVlbmNlci5jOjI1ODgKKyM6IHNlcXVlbmNlci5jOjI4ODUKIG1zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICLmhI/lpJbnmoTmlofku7bnu5PmnZ8iCiAKLSM6IHNlcXVlbmNlci5jOjI1OTQKKyM6IHNlcXVlbmNlci5jOjI4OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAic3RvcmVkIHByZS1jaGVycnktcGljayBIRUFEIGZpbGUgJyVzJyBpcyBjb3JydXB0IgogbXNnc3RyICLkv53lrZjmi6PpgInmj5DkuqTliY3nmoQgSEVBRCDmlofku7YgJyVzJyDmjZ/lnY8iCiAKLSM6IHNlcXVlbmNlci5jOjI2MDUKKyM6IHNlcXVlbmNlci5jOjI5MDIKIG1zZ2lkICJZb3Ugc2VlbSB0byBoYXZlIG1vdmVkIEhFQUQuIE5vdCByZXdpbmRpbmcsIGNoZWNrIHlvdXIgSEVBRCEiCiBtc2dzdHIgIuaCqOWlveWDj+enu+WKqOS6hiBIRUFE44CC5pyq6IO95Zue6YCA77yM5qOA5p+l5oKo55qEIEhFQUTvvIEiCiAKLSM6IHNlcXVlbmNlci5jOjI3MDkgc2VxdWVuY2VyLmM6MzY3OQorIzogc2VxdWVuY2VyLmM6Mjk0MworbXNnaWQgIm5vIHJldmVydCBpbiBwcm9ncmVzcyIKK21zZ3N0ciAi5rKh5pyJ5q2j5Zyo6L+b6KGM55qE6L+Y5Y6fIgorCisjOiBzZXF1ZW5jZXIuYzoyOTUxCittc2dpZCAibm8gY2hlcnJ5LXBpY2sgaW4gcHJvZ3Jlc3MiCittc2dzdHIgIuayoeacieato+WcqOi/m+ihjOeahOaLo+mAiSIKKworIzogc2VxdWVuY2VyLmM6Mjk2MQorbXNnaWQgImZhaWxlZCB0byBza2lwIHRoZSBjb21taXQiCittc2dzdHIgIuaXoOazlei3s+i/h+i/meS4quaPkOS6pCIKKworIzogc2VxdWVuY2VyLmM6Mjk2OAorbXNnaWQgInRoZXJlIGlzIG5vdGhpbmcgdG8gc2tpcCIKK21zZ3N0ciAi5rKh5pyJ6KaB6Lez6L+H55qEIgorCisjOiBzZXF1ZW5jZXIuYzoyOTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJoYXZlIHlvdSBjb21taXR0ZWQgYWxyZWFkeT9cbiIKKyJ0cnkgXCJnaXQgJXMgLS1jb250aW51ZVwiIgorbXNnc3RyICIiCisi5oKo5bey57uP5o+Q5Lqk5LqG5LmI77yfXG4iCisi6K+V6K+VIFwiZ2l0ICVzIC0tY29udGludWVcIiIKKworIzogc2VxdWVuY2VyLmM6MzA5NSBzZXF1ZW5jZXIuYzo0MTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgJXMiCiBtc2dzdHIgIuS4jeiDveabtOaWsCAlcyIKIAotIzogc2VxdWVuY2VyLmM6Mjc0NyBzZXF1ZW5jZXIuYzozNjU5CisjOiBzZXF1ZW5jZXIuYzozMTM0IHNlcXVlbmNlci5jOjQxMDEKIG1zZ2lkICJjYW5ub3QgcmVhZCBIRUFEIgogbXNnc3RyICLkuI3og73or7vlj5YgSEVBRCIKIAotIzogc2VxdWVuY2VyLmM6Mjc2MgorIzogc2VxdWVuY2VyLmM6MzE1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gY29weSAnJXMnIHRvICclcyciCiBtc2dzdHIgIuaXoOazleaLt+i0nSAnJXMnIOiHsyAnJXMnIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzcwCisjOiBzZXF1ZW5jZXIuYzozMTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgY2FuIGFtZW5kIHRoZSBjb21taXQgbm93LCB3aXRoXG4iCkBAIC01MTE4LDI4ICs2Nzk4LDIzIEBACiAiXG4iCiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIAotIzogc2VxdWVuY2VyLmM6Mjc4MAorIzogc2VxdWVuY2VyLmM6MzE2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJXMuLi4gJS4qcyIKIG1zZ3N0ciAi5LiN6IO95bqU55SoICVzLi4uICUuKnMiCiAKLSM6IHNlcXVlbmNlci5jOjI3ODcKKyM6IHNlcXVlbmNlci5jOjMxNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IG1lcmdlICUuKnMiCiBtc2dzdHIgIuS4jeiDveWQiOW5tiAlLipzIgogCi0jOiBzZXF1ZW5jZXIuYzoyNzk4IHNlcXVlbmNlci5jOjI4MDIgYnVpbHRpbi9kaWZmdG9vbC5jOjY0MAorIzogc2VxdWVuY2VyLmM6MzE5MCBzZXF1ZW5jZXIuYzozMTk0IGJ1aWx0aW4vZGlmZnRvb2wuYzo2NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnIgogbXNnc3RyICLkuI3og73mi7fotJ0gJyVzJyDoh7MgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MjgyNCBzZXF1ZW5jZXIuYzozMjQyIGJ1aWx0aW4vcmViYXNlLmM6NTgwIGJ1aWx0aW4vcmViYXNlLmM6MTAxOQotIzogYnVpbHRpbi9yZWJhc2UuYzoxMzcyIGJ1aWx0aW4vcmViYXNlLmM6MTQyNgotbXNnaWQgImNvdWxkIG5vdCByZWFkIGluZGV4IgotbXNnc3RyICLkuI3og73or7vlj5bntKLlvJUiCi0KICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogc2VxdWVuY2VyLmM6MjgyOQorIzogc2VxdWVuY2VyLmM6MzIyMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhlY3V0aW9uIGZhaWxlZDogJXNcbiIKQEAgLTUxNTQsMTEgKzY4MjksMTEgQEAKICIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgogIlxuIgogCi0jOiBzZXF1ZW5jZXIuYzoyODM1CisjOiBzZXF1ZW5jZXIuYzozMjI3CiBtc2dpZCAiYW5kIG1hZGUgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWVcbiIKIG1zZ3N0ciAi5bm25LiU5L+u5pS557Si5byV5ZKML+aIluW3peS9nOWMulxuIgogCi0jOiBzZXF1ZW5jZXIuYzoyODQxCisjOiBzZXF1ZW5jZXIuYzozMjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJleGVjdXRpb24gc3VjY2VlZGVkOiAlc1xuIgpAQCAtNTE3NSw3NiArNjg1MCw3MiBAQAogIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAiXG4iCiAKLSM6IHNlcXVlbmNlci5jOjI5MDIKKyM6IHNlcXVlbmNlci5jOjMyOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWxsZWdhbCBsYWJlbCBuYW1lOiAnJS4qcyciCiBtc2dzdHIgIumdnuazleeahOagh+etvuWQjeensO+8miclLipzJyIKIAotIzogc2VxdWVuY2VyLmM6Mjk1NAorIzogc2VxdWVuY2VyLmM6MzM0OAogbXNnaWQgIndyaXRpbmcgZmFrZSByb290IGNvbW1pdCIKIG1zZ3N0ciAi5YaZ5Lyq5qC55o+Q5LqkIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTU5CisjOiBzZXF1ZW5jZXIuYzozMzUzCiBtc2dpZCAid3JpdGluZyBzcXVhc2gtb250byIKIG1zZ3N0ciAi5YaZ5YWlIHNxdWFzaC1vbnRvIgogCi0jOiBzZXF1ZW5jZXIuYzoyOTk3IGJ1aWx0aW4vcmViYXNlLmM6NTg1IGJ1aWx0aW4vcmViYXNlLmM6NTkxCisjOiBzZXF1ZW5jZXIuYzozMzkxIGJ1aWx0aW4vcmViYXNlLmM6ODc2IGJ1aWx0aW4vcmViYXNlLmM6ODgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMiCiBtc2dzdHIgIuaXoOazleaJvuWIsCAlcyDmjIflkJHnmoTmoJHjgIIiCiAKLSM6IHNlcXVlbmNlci5jOjMwMTUgYnVpbHRpbi9yZWJhc2UuYzo2MDQKLW1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgaW5kZXgiCi1tc2dzdHIgIuS4jeiDveWGmeWFpee0ouW8lSIKLQotIzogc2VxdWVuY2VyLmM6MzA0MgorIzogc2VxdWVuY2VyLmM6MzQzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSAnJXMnIgogbXNnc3RyICLml6Dms5Xop6PmnpAgJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6MzA2OAorIzogc2VxdWVuY2VyLmM6MzQ2NwogbXNnaWQgImNhbm5vdCBtZXJnZSB3aXRob3V0IGEgY3VycmVudCByZXZpc2lvbiIKIG1zZ3N0ciAi5rKh5pyJ5b2T5YmN54mI5pys5LiN6IO95ZCI5bm2IgogCi0jOiBzZXF1ZW5jZXIuYzozMDkwCisjOiBzZXF1ZW5jZXIuYzozNDg5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSAnJS4qcyciCiBtc2dzdHIgIuaXoOazleino+aekCAnJS4qcyciCiAKLSM6IHNlcXVlbmNlci5jOjMwOTkKKyM6IHNlcXVlbmNlci5jOjM0OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBtZXJnZTogJyUuKnMnIgogbXNnc3RyICLml6Dlj6/nlKjlkIjlubbvvJonJS4qcyciCiAKLSM6IHNlcXVlbmNlci5jOjMxMTEKKyM6IHNlcXVlbmNlci5jOjM1MTAKIG1zZ2lkICJvY3RvcHVzIG1lcmdlIGNhbm5vdCBiZSBleGVjdXRlZCBvbiB0b3Agb2YgYSBbbmV3IHJvb3RdIgogbXNnc3RyICLnq6DpsbzlkIjlubbkuI3og73lnKjkuIDkuKrmlrDnmoTmoLnmj5DkuqTkuIrmiafooYwiCiAKLSM6IHNlcXVlbmNlci5jOjMxMjYKKyM6IHNlcXVlbmNlci5jOjM1MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGdldCBjb21taXQgbWVzc2FnZSBvZiAnJXMnIgogbXNnc3RyICLkuI3og73ojrflj5YgJyVzJyDnmoTmj5DkuqTor7TmmI4iCiAKLSM6IHNlcXVlbmNlci5jOjMyNzQKKyM6IHNlcXVlbmNlci5jOjM2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGV2ZW4gYXR0ZW1wdCB0byBtZXJnZSAnJS4qcyciCiBtc2dzdHIgIueUmuiHs+S4jeiDveWwneivleWQiOW5tiAnJS4qcyciCiAKLSM6IHNlcXVlbmNlci5jOjMyOTAKKyM6IHNlcXVlbmNlci5jOjM3MDQKIG1zZ2lkICJtZXJnZTogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgogbXNnc3RyICLlkIjlubbvvJrml6Dms5XlhpnlhaXmlrDntKLlvJXmlofku7YiCiAKLSM6IHNlcXVlbmNlci5jOjMzNTggYnVpbHRpbi9yZWJhc2UuYzoyNjgKKyM6IHNlcXVlbmNlci5jOjM3NzMgYnVpbHRpbi9yZWJhc2UuYzo3MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guXG4iCiBtc2dzdHIgIuW3suW6lOeUqCBhdXRvc3Rhc2jjgIJcbiIKIAotIzogc2VxdWVuY2VyLmM6MzM3MAorIzogc2VxdWVuY2VyLmM6Mzc4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc3RvcmUgJXMiCiBtc2dzdHIgIuS4jeiDveWtmOWCqCAlcyIKIAotIzogc2VxdWVuY2VyLmM6MzM3MyBidWlsdGluL3JlYmFzZS5jOjI4NAorIzogc2VxdWVuY2VyLmM6Mzc4OCBidWlsdGluL3JlYmFzZS5jOjc0OSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJBcHBseWluZyBhdXRvc3Rhc2ggcmVzdWx0ZWQgaW4gY29uZmxpY3RzLlxuIgpAQCAtNTI1NSwzMSArNjkyNiwzMSBAQAogIuaCqOeahOS/ruaUueWuieWFqOWcsOS/neWtmOWcqOi0ruiXj+WMuuS4reOAglxuIgogIuaCqOWPr+S7peWcqOS7u+S9leaXtuWAmei/kOihjCBcImdpdCBzdGFzaCBwb3BcIiDmiJYgXCJnaXQgc3Rhc2ggZHJvcFwi44CCXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM0MjcKKyM6IHNlcXVlbmNlci5jOjM4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNoZWNrb3V0ICVzIgogbXNnc3RyICLkuI3og73mo4Dlh7ogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjM0NDEKKyM6IHNlcXVlbmNlci5jOjM4NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhIHZhbGlkIE9JRCIKLW1zZ3N0ciAiJXPvvJrkuI3mmK/kuIDkuKrmnInmlYjnmoQgT0lEIgorbXNnc3RyICIlc++8muS4jeaYr+S4gOS4quacieaViOeahOWvueixoSBJRCIKIAotIzogc2VxdWVuY2VyLmM6MzQ0NiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzI0CisjOiBzZXF1ZW5jZXIuYzozODY4IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3NzkKIG1zZ2lkICJjb3VsZCBub3QgZGV0YWNoIEhFQUQiCiBtc2dzdHIgIuS4jeiDveWIhuemu+WktOaMh+mSiCIKIAotIzogc2VxdWVuY2VyLmM6MzQ2MQorIzogc2VxdWVuY2VyLmM6Mzg4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkIGF0IEhFQURcbiIKIG1zZ3N0ciAi5YGc5q2i5ZyoIEhFQURcbiIKIAotIzogc2VxdWVuY2VyLmM6MzQ2MworIzogc2VxdWVuY2VyLmM6Mzg4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkIGF0ICVzXG4iCiBtc2dzdHIgIuWBnOatouWcqCAlc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzozNDcxCisjOiBzZXF1ZW5jZXIuYzozODkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgZXhlY3V0ZSB0aGUgdG9kbyBjb21tYW5kXG4iCkBAIC01Mjk5LDQ4ICs2OTcwLDQ4IEBACiAiICAgIGdpdCByZWJhc2UgLS1lZGl0LXRvZG9cbiIKICIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCiAKLSM6IHNlcXVlbmNlci5jOjM1NDMKKyM6IHNlcXVlbmNlci5jOjM5NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCBhdCAlcy4uLiAgJS4qc1xuIgogbXNnc3RyICLlgZzmraLlnKggJXMuLi4gJS4qc1xuIgogCi0jOiBzZXF1ZW5jZXIuYzozNjIyCisjOiBzZXF1ZW5jZXIuYzo0MDUwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gY29tbWFuZCAlZCIKIG1zZ3N0ciAi5pyq55+l5ZG95LukICVkIgogCi0jOiBzZXF1ZW5jZXIuYzozNjY3CisjOiBzZXF1ZW5jZXIuYzo0MTA5CiBtc2dpZCAiY291bGQgbm90IHJlYWQgb3JpZy1oZWFkIgogbXNnc3RyICLkuI3og73or7vlj5Ygb3JpZy1oZWFkIgogCi0jOiBzZXF1ZW5jZXIuYzozNjcyIHNlcXVlbmNlci5jOjQ3NDEKKyM6IHNlcXVlbmNlci5jOjQxMTQKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCAnb250byciCiBtc2dzdHIgIuS4jeiDveivu+WPliAnb250byciCiAKLSM6IHNlcXVlbmNlci5jOjM2ODYKKyM6IHNlcXVlbmNlci5jOjQxMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHVwZGF0ZSBIRUFEIHRvICVzIgogbXNnc3RyICLkuI3og73mm7TmlrAgSEVBRCDkuLogJXMiCiAKLSM6IHNlcXVlbmNlci5jOjM3NzIKKyM6IHNlcXVlbmNlci5jOjQyMjEKIG1zZ2lkICJjYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi5LiN6IO95Y+Y5Z+677ya5oKo5pyJ5pyq5pqC5a2Y55qE5Y+Y5pu044CCIgogCi0jOiBzZXF1ZW5jZXIuYzozNzgxCisjOiBzZXF1ZW5jZXIuYzo0MjMwCiBtc2dpZCAiY2Fubm90IGFtZW5kIG5vbi1leGlzdGluZyBjb21taXQiCiBtc2dzdHIgIuS4jeiDveS/ruihpeS4jeWtmOWcqOeahOaPkOS6pCIKIAotIzogc2VxdWVuY2VyLmM6Mzc4MworIzogc2VxdWVuY2VyLmM6NDIzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGZpbGU6ICclcyciCiBtc2dzdHIgIuaXoOaViOaWh+S7tu+8miclcyciCiAKLSM6IHNlcXVlbmNlci5jOjM3ODUKKyM6IHNlcXVlbmNlci5jOjQyMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjb250ZW50czogJyVzJyIKIG1zZ3N0ciAi5peg5pWI5YaF5a6577yaJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6Mzc4OAorIzogc2VxdWVuY2VyLmM6NDIzNwogbXNnaWQgIiIKICJcbiIKICJZb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiBQbGVhc2UsIGNvbW1pdCB0aGVtXG4iCkBAIC01MzQ5LDc5ICs3MDIwLDQyIEBACiAiXG4iCiAi5oKo55qE5bel5L2c5Yy65Lit5pyJ5pyq5o+Q5Lqk55qE5Y+Y5pu044CC6K+35YWI5o+Q5Lqk54S25ZCO5YaN5qyh6L+Q6KGMICdnaXQgcmViYXNlIC0tY29udGludWUn44CCIgogCi0jOiBzZXF1ZW5jZXIuYzozODI0IHNlcXVlbmNlci5jOjM4NjIKKyM6IHNlcXVlbmNlci5jOjQyNzMgc2VxdWVuY2VyLmM6NDMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3Qgd3JpdGUgZmlsZTogJyVzJyIKIG1zZ3N0ciAi5LiN6IO95YaZ5YWl5paH5Lu277yaJyVzJyIKIAotIzogc2VxdWVuY2VyLmM6Mzg3NworIzogc2VxdWVuY2VyLmM6NDMyNwogbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKIG1zZ3N0ciAi5LiN6IO95Yig6ZmkIENIRVJSWV9QSUNLX0hFQUQiCiAKLSM6IHNlcXVlbmNlci5jOjM4ODQKKyM6IHNlcXVlbmNlci5jOjQzMzQKIG1zZ2lkICJjb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi5LiN6IO95o+Q5Lqk5pqC5a2Y55qE5L+u5pS544CCIgogCi0jOiBzZXF1ZW5jZXIuYzozOTgyCisjOiBzZXF1ZW5jZXIuYzo0NDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgogbXNnc3RyICIlc++8muS4jeiDveaLo+mAieS4gOS4qiVzIgogCi0jOiBzZXF1ZW5jZXIuYzozOTg2CisjOiBzZXF1ZW5jZXIuYzo0NDQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgcmV2aXNpb24iCiBtc2dzdHIgIiVz77ya6ZSZ6K+v55qE54mI5pysIgogCi0jOiBzZXF1ZW5jZXIuYzo0MDIxCisjOiBzZXF1ZW5jZXIuYzo0NDc5CiBtc2dpZCAiY2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgogbXNnc3RyICLkuI3og73kvZzkuLrliJ3lp4vmj5DkuqTlm57pgIAiCiAKLSM6IHNlcXVlbmNlci5jOjQ0NjYKKyM6IHNlcXVlbmNlci5jOjQ5NTIKIG1zZ2lkICJtYWtlX3NjcmlwdDogdW5oYW5kbGVkIG9wdGlvbnMiCiBtc2dzdHIgIm1ha2Vfc2NyaXB077ya5pyJ5pyq6IO95aSE55CG55qE6YCJ6aG5IgogCi0jOiBzZXF1ZW5jZXIuYzo0NDY5CisjOiBzZXF1ZW5jZXIuYzo0OTU1CiBtc2dpZCAibWFrZV9zY3JpcHQ6IGVycm9yIHByZXBhcmluZyByZXZpc2lvbnMiCiBtc2dzdHIgIm1ha2Vfc2NyaXB077ya5YeG5aSH54mI5pys5pe26ZSZ6K+vIgogCi0jOiBzZXF1ZW5jZXIuYzo0NTA5IHNlcXVlbmNlci5jOjQ1NjUgc2VxdWVuY2VyLmM6NDg0MAotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bnVzYWJsZSB0b2RvIGxpc3Q6ICclcyciCi1tc2dzdHIgIuS4jeWPr+eUqOeahOW+heWKnuWIl+ihqO+8miclcyciCi0KLSM6IHNlcXVlbmNlci5jOjQ2MjAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotInVucmVjb2duaXplZCBzZXR0aW5nICVzIGZvciBvcHRpb24gcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suIElnbm9yaW5nLiIKLW1zZ3N0ciAi6YCJ6aG5IHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrIOeahOWAvCAlcyDml6Dms5Xor4bliKvjgILlt7Llv73nlaXjgIIiCi0KLSM6IHNlcXVlbmNlci5jOjQ2OTAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIldhcm5pbmc6IHNvbWUgY29tbWl0cyBtYXkgaGF2ZSBiZWVuIGRyb3BwZWQgYWNjaWRlbnRhbGx5LlxuIgotIkRyb3BwZWQgY29tbWl0cyAobmV3ZXIgdG8gb2xkZXIpOlxuIgotbXNnc3RyICIiCi0i6K2m5ZGK77ya5LiA5Lqb5o+Q5Lqk5Y+v6IO96KKr5oSP5aSW5Lii5byD44CCXG4iCi0i5Lii5byD55qE5o+Q5Lqk77yI5LuO5paw5Yiw5pen77yJ77yaXG4iCi0KLSM6IHNlcXVlbmNlci5jOjQ2OTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIlRvIGF2b2lkIHRoaXMgbWVzc2FnZSwgdXNlIFwiZHJvcFwiIHRvIGV4cGxpY2l0bHkgcmVtb3ZlIGEgY29tbWl0LlxuIgotIlxuIgotIlVzZSAnZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjaycgdG8gY2hhbmdlIHRoZSBsZXZlbCBvZiAiCi0id2FybmluZ3MuXG4iCi0iVGhlIHBvc3NpYmxlIGJlaGF2aW91cnMgYXJlOiBpZ25vcmUsIHdhcm4sIGVycm9yLlxuIgotIlxuIgotbXNnc3RyICIiCi0i5Li66YG/5YWN6L+Z5p2h5L+h5oGv77yM5L2/55SoIFwiZHJvcFwiIOaMh+S7pOaYvuW8j+WcsOWIoOmZpOS4gOS4quaPkOS6pOOAglxuIgotIlxuIgotIuS9v+eUqCAnZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjaycg5p2l5L+u5pS56K2m5ZGK57qn5Yir44CCXG4iCi0i5Y+v6YCJ5YC85pyJ77yaaWdub3Jl44CBd2FybuOAgWVycm9y44CCXG4iCi0iXG4iCi0KLSM6IHNlcXVlbmNlci5jOjQ3MTAKLSMsIGMtZm9ybWF0CisjOiBzZXF1ZW5jZXIuYzo1MTEzCiBtc2dpZCAiIgogIllvdSBjYW4gZml4IHRoaXMgd2l0aCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tIgogImNvbnRpbnVlJy5cbiIKQEAgLTU0MzAsNDAgKzcwNjQsMjQgQEAKICLmgqjlj6/ku6XnlKggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nIOS/ruato++8jOeEtuWQjuaJp+ihjCAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJ+OAglxuIgogIuaIluiAheaCqOWPr+S7peeUqCAnZ2l0IHJlYmFzZSAtLWFib3J0JyDnu4jmraLlj5jln7rjgIJcbiIKIAotIzogc2VxdWVuY2VyLmM6NDg0OCBzZXF1ZW5jZXIuYzo0ODg2CisjOiBzZXF1ZW5jZXIuYzo1MjI2IHNlcXVlbmNlci5jOjUyNDMKIG1zZ2lkICJub3RoaW5nIHRvIGRvIgogbXNnc3RyICLml6Dkuovlj6/lgZoiCiAKLSM6IHNlcXVlbmNlci5jOjQ4NTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiUmViYXNlICVzIG9udG8gJXMgKCVkIGNvbW1hbmQpIgotbXNnaWRfcGx1cmFsICJSZWJhc2UgJXMgb250byAlcyAoJWQgY29tbWFuZHMpIgotbXNnc3RyWzBdICLlj5jln7ogJXMg5YiwICVz77yIJWQg5Liq5o+Q5Lqk77yJIgotbXNnc3RyWzFdICLlj5jln7ogJXMg5YiwICVz77yIJWQg5Liq5o+Q5Lqk77yJIgotCi0jOiBzZXF1ZW5jZXIuYzo0ODY0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjb3B5ICclcycgdG8gJyVzJy4iCi1tc2dzdHIgIuS4jeiDveaLt+i0nSAnJXMnIOiHsyAnJXMn44CCIgotCi0jOiBzZXF1ZW5jZXIuYzo0ODY4IHNlcXVlbmNlci5jOjQ4OTcKLW1zZ2lkICJjb3VsZCBub3QgdHJhbnNmb3JtIHRoZSB0b2RvIGxpc3QiCi1tc2dzdHIgIuaXoOazleaUueWPmOW+heWKnuWIl+ihqCIKLQotIzogc2VxdWVuY2VyLmM6NDkwMAorIzogc2VxdWVuY2VyLmM6NTI1NwogbXNnaWQgImNvdWxkIG5vdCBza2lwIHVubmVjZXNzYXJ5IHBpY2sgY29tbWFuZHMiCiBtc2dzdHIgIuaXoOazlei3s+i/h+S4jeW/heimgeeahOaLo+mAiSIKIAotIzogc2VxdWVuY2VyLmM6NDk4MworIzogc2VxdWVuY2VyLmM6NTM1MQogbXNnaWQgInRoZSBzY3JpcHQgd2FzIGFscmVhZHkgcmVhcnJhbmdlZC4iCiBtc2dzdHIgIuiEmuacrOW3sue7j+mHjeaWsOe8luaOkuOAgiIKIAotIzogc2V0dXAuYzoxMjMKKyM6IHNldHVwLmM6MTI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IgogbXNnc3RyICInJXMnIOWcqOS7k+W6k+S5i+WkliIKIAotIzogc2V0dXAuYzoxNzIKKyM6IHNldHVwLmM6MTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlczogbm8gc3VjaCBwYXRoIGluIHRoZSB3b3JraW5nIHRyZWUuXG4iCkBAIC01NDcyLDcgKzcwOTAsNyBAQAogIiVz77ya5bel5L2c5Yy65Lit5peg5q2k6Lev5b6E44CCXG4iCiAi5L2/55So5ZG95LukICdnaXQgPOWRveS7pD4gLS0gPOi3r+W+hD4uLi4nIOadpeaMh+WumuacrOWcsOS4jeWtmOWcqOeahOi3r+W+hOOAgiIKIAotIzogc2V0dXAuYzoxODUKKyM6IHNldHVwLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogdW5rbm93biByZXZpc2lvbiBvciBwYXRoIG5vdCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgpAQCAtNTQ4MywxMiArNzEwMSwxMiBAQAogIuS9v+eUqCAnLS0nIOadpeWIhumalOeJiOacrOWSjOi3r+W+hO+8jOS+i+Wmgu+8mlxuIgogIidnaXQgPOWRveS7pD4gWzzniYjmnKw+Li4uXSAtLSBbPOaWh+S7tj4uLi5dJyIKIAotIzogc2V0dXAuYzoyMzQKKyM6IHNldHVwLmM6MjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9wdGlvbiAnJXMnIG11c3QgY29tZSBiZWZvcmUgbm9uLW9wdGlvbiBhcmd1bWVudHMiCiBtc2dzdHIgIumAiemhuSAnJXMnIOW/hemhu+WcqOWFtuS7lumdnumAiemhueWPguaVsOS5i+WJjSIKIAotIzogc2V0dXAuYzoyNTMKKyM6IHNldHVwLmM6MjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogYm90aCByZXZpc2lvbiBhbmQgZmlsZW5hbWVcbiIKQEAgLTU0OTksOTIgKzcxMTcsOTIgQEAKICLkvb/nlKggJy0tJyDmnaXliIbpmpTniYjmnKzlkozot6/lvoTvvIzkvovlpoLvvJpcbiIKICInZ2l0IDzlkb3ku6Q+IFs854mI5pysPi4uLl0gLS0gWzzmlofku7Y+Li4uXSciCiAKLSM6IHNldHVwLmM6Mzg5CisjOiBzZXR1cC5jOjM5MQogbXNnaWQgInVuYWJsZSB0byBzZXQgdXAgd29yayB0cmVlIHVzaW5nIGludmFsaWQgY29uZmlnIgogbXNnc3RyICLml6Dms5Xkvb/nlKjml6DmlYjphY3nva7mnaXliJvlu7rlt6XkvZzljLoiCiAKLSM6IHNldHVwLmM6MzkzCisjOiBzZXR1cC5jOjM5NQogbXNnaWQgInRoaXMgb3BlcmF0aW9uIG11c3QgYmUgcnVuIGluIGEgd29yayB0cmVlIgogbXNnc3RyICLor6Xmk43kvZzlv4XpobvlnKjkuIDkuKrlt6XkvZzljLrkuK3ov5DooYwiCiAKLSM6IHNldHVwLmM6NTI3CisjOiBzZXR1cC5jOjU0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJFeHBlY3RlZCBnaXQgcmVwbyB2ZXJzaW9uIDw9ICVkLCBmb3VuZCAlZCIKIG1zZ3N0ciAi5pyf5pybIGdpdCDku5PlupPniYjmnKwgPD0gJWTvvIzljbTlvpfliLAgJWQiCiAKLSM6IHNldHVwLmM6NTM1CisjOiBzZXR1cC5jOjU0OQogbXNnaWQgInVua25vd24gcmVwb3NpdG9yeSBleHRlbnNpb25zIGZvdW5kOiIKIG1zZ3N0ciAi5Y+R546w5pyq55+l55qE5LuT5bqT5omp5bGV77yaIgogCi0jOiBzZXR1cC5jOjU1NAorIzogc2V0dXAuYzo1NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3Igb3BlbmluZyAnJXMnIgogbXNnc3RyICLmiZPlvIAgJyVzJyDlh7rplJkiCiAKLSM6IHNldHVwLmM6NTU2CisjOiBzZXR1cC5jOjU3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ0b28gbGFyZ2UgdG8gYmUgYSAuZ2l0IGZpbGU6ICclcyciCiBtc2dzdHIgIuaWh+S7tuWkquWkp++8jOaXoOazleS9nOS4uiAuZ2l0IOaWh+S7tu+8miclcyciCiAKLSM6IHNldHVwLmM6NTU4CisjOiBzZXR1cC5jOjU3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciByZWFkaW5nICVzIgogbXNnc3RyICLor7vlj5YgJXMg5Ye66ZSZIgogCi0jOiBzZXR1cC5jOjU2MAorIzogc2V0dXAuYzo1NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBnaXRmaWxlIGZvcm1hdDogJXMiCiBtc2dzdHIgIuaXoOaViOeahCBnaXRmaWxlIOagvOW8j++8miVzIgogCi0jOiBzZXR1cC5jOjU2MgorIzogc2V0dXAuYzo1NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gcGF0aCBpbiBnaXRmaWxlOiAlcyIKIG1zZ3N0ciAi5ZyoIGdpdGZpbGUg5Lit5rKh5pyJ6Lev5b6E77yaJXMiCiAKLSM6IHNldHVwLmM6NTY0CisjOiBzZXR1cC5jOjU3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeTogJXMiCiBtc2dzdHIgIuS4jeaYr+S4gOS4qiBnaXQg5LuT5bqT77yaJXMiCiAKLSM6IHNldHVwLmM6NjYzCisjOiBzZXR1cC5jOjY3NwogIywgYy1mb3JtYXQKIG1zZ2lkICInJCVzJyB0b28gYmlnIgogbXNnc3RyICInJCVzJyDlpKrlpKciCiAKLSM6IHNldHVwLmM6Njc3CisjOiBzZXR1cC5jOjY5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeTogJyVzJyIKIG1zZ3N0ciAi5LiN5piv5LiA5LiqIGdpdCDku5PlupPvvJonJXMnIgogCi0jOiBzZXR1cC5jOjcwNiBzZXR1cC5jOjcwOCBzZXR1cC5jOjczOQorIzogc2V0dXAuYzo3MjAgc2V0dXAuYzo3MjIgc2V0dXAuYzo3NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZGlyIHRvICclcyciCiBtc2dzdHIgIuS4jeiDveWIh+aNouebruW9leWIsCAnJXMnIgogCi0jOiBzZXR1cC5jOjcxMSBzZXR1cC5jOjc2NyBzZXR1cC5jOjc3NyBzZXR1cC5jOjgxNiBzZXR1cC5jOjgyNCBzZXR1cC5jOjgzOQorIzogc2V0dXAuYzo3MjUgc2V0dXAuYzo3ODEgc2V0dXAuYzo3OTEgc2V0dXAuYzo4MzAgc2V0dXAuYzo4MzgKIG1zZ2lkICJjYW5ub3QgY29tZSBiYWNrIHRvIGN3ZCIKIG1zZ3N0ciAi5peg5rOV6L+U5Zue5b2T5YmN5bel5L2c55uu5b2VIgogCi0jOiBzZXR1cC5jOjgzNwotIywgYy1mb3JtYXQKLW1zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIKLW1zZ3N0ciAi5LiN5piv5LiA5LiqIGdpdCDku5PlupPvvIjmiJbogIXku7vkvZXniLbnm67lvZXvvInvvJolcyIKLQotIzogc2V0dXAuYzo4NDgKKyM6IHNldHVwLmM6ODUyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBzdGF0ICclKnMlcyVzJyIKIG1zZ3N0ciAi6I635Y+WICclKnMlcyVzJyDnirbmgIHvvIhzdGF077yJ5aSx6LSlIgogCi0jOiBzZXR1cC5jOjEwNzgKKyM6IHNldHVwLmM6MTA5MAogbXNnaWQgIlVuYWJsZSB0byByZWFkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCiBtc2dzdHIgIuS4jeiDveivu+WPluW9k+WJjeW3peS9nOebruW9lSIKIAotIzogc2V0dXAuYzoxMDkwIHNldHVwLmM6MTA5NgorIzogc2V0dXAuYzoxMDk5IHNldHVwLmM6MTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY2hhbmdlIHRvICclcyciCiBtc2dzdHIgIuS4jeiDveWIh+aNouWIsCAnJXMnIgogCi0jOiBzZXR1cC5jOjExMDkKKyM6IHNldHVwLmM6MTExMAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IG9mIHRoZSBwYXJlbnQgZGlyZWN0b3JpZXMpOiAlcyIKK21zZ3N0ciAi5LiN5piv5LiA5LiqIGdpdCDku5PlupPvvIjmiJbogIXku7vkvZXniLbnm67lvZXvvInvvJolcyIKKworIzogc2V0dXAuYzoxMTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IHBhcmVudCB1cCB0byBtb3VudCBwb2ludCAlcylcbiIKQEAgLTU1OTMsNyArNzIxMSw3IEBACiAi5LiN5piv5LiA5LiqIGdpdCDku5PlupPvvIjmiJbogIXnm7Toh7PmjILovb3ngrkgJXMg55qE5Lu75L2V54i255uu5b2V77yJXG4iCiAi5YGc5q2i5Zyo5paH5Lu257O757uf6L6555WM77yI5pyq6K6+572uIEdJVF9ESVNDT1ZFUllfQUNST1NTX0ZJTEVTWVNURU3vvInjgIIiCiAKLSM6IHNldHVwLmM6MTE5MgorIzogc2V0dXAuYzoxMjI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJwcm9ibGVtIHdpdGggY29yZS5zaGFyZWRSZXBvc2l0b3J5IGZpbGVtb2RlIHZhbHVlICgwJS4zbykuXG4iCkBAIC01NjAyLDM3MSArNzIyMCw0NTMgQEAKICLlj4LmlbAgY29yZS5zaGFyZWRSZXBvc2l0b3J5IOeahOaWh+S7tuWxnuaAp+WAvOaciemXrumimO+8iDAlLjNv77yJ44CCXG4iCiAi5paH5Lu25bGe5Li75b+F6aG75aeL57uI5oul5pyJ6K+75YaZ5p2D6ZmQ44CCIgogCi0jOiBzZXR1cC5jOjEyMzUKKyM6IHNldHVwLmM6MTI3MQogbXNnaWQgIm9wZW4gL2Rldi9udWxsIG9yIGR1cCBmYWlsZWQiCiBtc2dzdHIgIuS4jeiDveaJk+W8gOaIluiAheWkjeWItiAvZGV2L251bGwiCiAKLSM6IHNldHVwLmM6MTI1MAorIzogc2V0dXAuYzoxMjg2CiBtc2dpZCAiZm9yayBmYWlsZWQiCiBtc2dzdHIgImZvcmsg5aSx6LSlIgogCi0jOiBzZXR1cC5jOjEyNTUKKyM6IHNldHVwLmM6MTI5MQogbXNnaWQgInNldHNpZCBmYWlsZWQiCiBtc2dzdHIgInNldHNpZCDlpLHotKUiCiAKLSM6IHNoYTEtZmlsZS5jOjM4MQorIzogc2hhMS1maWxlLmM6NDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCBkaXJlY3RvcnkgJXMgZG9lcyBub3QgZXhpc3Q7IGNoZWNrIC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMiCiBtc2dzdHIgIuWvueixoeebruW9lSAlcyDkuI3lrZjlnKjvvIzmo4Dmn6UgLmdpdC9vYmplY3RzL2luZm8vYWx0ZXJuYXRlcyIKIAotIzogc2hhMS1maWxlLmM6NDMyCisjOiBzaGExLWZpbGUuYzo1MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG5vcm1hbGl6ZSBhbHRlcm5hdGUgb2JqZWN0IHBhdGg6ICVzIgogbXNnc3RyICLml6Dms5Xop4TojIPljJblpIfnlKjlr7nosaHot6/lvoTvvJolcyIKIAotIzogc2hhMS1maWxlLmM6NTAzCisjOiBzaGExLWZpbGUuYzo1NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlnbm9yaW5nIGFsdGVybmF0ZSBvYmplY3Qgc3RvcmVzLCBuZXN0aW5nIHRvbyBkZWVwIgogbXNnc3RyICIlc++8muW/veeVpeWkh+eUqOWvueixoeW6k++8jOW1jOWll+Wkqua3sSIKIAotIzogc2hhMS1maWxlLmM6NTEwCisjOiBzaGExLWZpbGUuYzo1ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG5vcm1hbGl6ZSBvYmplY3QgZGlyZWN0b3J5OiAlcyIKIG1zZ3N0ciAi5peg5rOV6KeE6IyD5YyW5a+56LGh55uu5b2VOiAlcyIKIAotIzogc2hhMS1maWxlLmM6NTY1CisjOiBzaGExLWZpbGUuYzo2MjUKIG1zZ2lkICJ1bmFibGUgdG8gZmRvcGVuIGFsdGVybmF0ZXMgbG9ja2ZpbGUiCiBtc2dzdHIgIuaXoOazlSBmZG9wZW4g5pu/5o2i6ZSB5paH5Lu2IgogCi0jOiBzaGExLWZpbGUuYzo1ODMKKyM6IHNoYTEtZmlsZS5jOjY0MwogbXNnaWQgInVuYWJsZSB0byByZWFkIGFsdGVybmF0ZXMgZmlsZSIKIG1zZ3N0ciAi5peg5rOV6K+75Y+W5pu/5Luj5paH5Lu2IgogCi0jOiBzaGExLWZpbGUuYzo1OTAKKyM6IHNoYTEtZmlsZS5jOjY1MAogbXNnaWQgInVuYWJsZSB0byBtb3ZlIG5ldyBhbHRlcm5hdGVzIGZpbGUgaW50byBwbGFjZSIKIG1zZ3N0ciAi5peg5rOV5bCG5paw55qE5pu/5Luj5paH5Lu256e75Yqo5Yiw5L2NIgogCi0jOiBzaGExLWZpbGUuYzo2MjUKKyM6IHNoYTEtZmlsZS5jOjY4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIui3r+W+hCAnJXMnIOS4jeWtmOWcqCIKIAotIzogc2hhMS1maWxlLmM6NjUxCisjOiBzaGExLWZpbGUuYzo3MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBhcyBhIGxpbmtlZCBjaGVja291dCBpcyBub3Qgc3VwcG9ydGVkIHlldC4iCiBtc2dzdHIgIuWwmuS4jeaUr+aMgeWwhuWPguiAg+S7k+W6kyAnJXMnIOS9nOS4uuS4gOS4qumTvuaOpeajgOWHuuOAgiIKIAotIzogc2hhMS1maWxlLmM6NjU3CisjOiBzaGExLWZpbGUuYzo3MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBub3QgYSBsb2NhbCByZXBvc2l0b3J5LiIKIG1zZ3N0ciAi5Y+C6ICD5LuT5bqTICclcycg5LiN5piv5LiA5Liq5pys5Zyw5LuT5bqT44CCIgogCi0jOiBzaGExLWZpbGUuYzo2NjMKKyM6IHNoYTEtZmlsZS5jOjcyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIHNoYWxsb3ciCiBtc2dzdHIgIuWPguiAg+S7k+W6kyAnJXMnIOaYr+S4gOS4qua1heWFi+mahiIKIAotIzogc2hhMS1maWxlLmM6NjcxCisjOiBzaGExLWZpbGUuYzo3MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIHJlcG9zaXRvcnkgJyVzJyBpcyBncmFmdGVkIgogbXNnc3RyICLlj4LogIPku5PlupMgJyVzJyDlt7Looqvnp7vmpI0iCiAKLSM6IHNoYTEtZmlsZS5jOjc4MQorIzogc2hhMS1maWxlLmM6NzkxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbGluZSB3aGlsZSBwYXJzaW5nIGFsdGVybmF0ZSByZWZzOiAlcyIKK21zZ3N0ciAi6Kej5p6Q5aSH55So5byV55So5pe25peg5pWI55qE6KGM77yaJXMiCisKKyM6IHNoYTEtZmlsZS5jOjk0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJhdHRlbXB0aW5nIHRvIG1tYXAgJTxQUkl1TUFYPiBvdmVyIGxpbWl0ICU8UFJJdU1BWD4iCiBtc2dzdHIgIuWwneivlSBtbWFwICU8UFJJdU1BWD7vvIzotoXov4fkuobmnIDlpKflgLwgJTxQUkl1TUFYPiIKIAotIzogc2hhMS1maWxlLmM6ODA2CisjOiBzaGExLWZpbGUuYzo5NjQKIG1zZ2lkICJtbWFwIGZhaWxlZCIKIG1zZ3N0ciAibW1hcCDlpLHotKUiCiAKLSM6IHNoYTEtZmlsZS5jOjk3MworIzogc2hhMS1maWxlLmM6MTEyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgZmlsZSAlcyBpcyBlbXB0eSIKIG1zZ3N0ciAi5a+56LGh5paH5Lu2ICVzIOS4uuepuiIKIAotIzogc2hhMS1maWxlLmM6MTA5MyBzaGExLWZpbGUuYzoyMjE1CisjOiBzaGExLWZpbGUuYzoxMjUyIHNoYTEtZmlsZS5jOjIzOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29ycnVwdCBsb29zZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAi5o2f5Z2P55qE5p2+5pWj5a+56LGhICclcyciCiAKLSM6IHNoYTEtZmlsZS5jOjEwOTUgc2hhMS1maWxlLmM6MjIxOQorIzogc2hhMS1maWxlLmM6MTI1NCBzaGExLWZpbGUuYzoyMzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgImdhcmJhZ2UgYXQgZW5kIG9mIGxvb3NlIG9iamVjdCAnJXMnIgogbXNnc3RyICLmnb7mlaPlr7nosaEgJyVzJyDlkI7pnaLmnInlnoPlnL7mlbDmja4iCiAKLSM6IHNoYTEtZmlsZS5jOjExMzcKKyM6IHNoYTEtZmlsZS5jOjEyOTYKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCB0eXBlIgogbXNnc3RyICLml6DmlYjnmoTlr7nosaHnsbvlnosiCiAKLSM6IHNoYTEtZmlsZS5jOjEyMTkKKyM6IHNoYTEtZmlsZS5jOjEzODAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayAlcyBoZWFkZXIgd2l0aCAtLWFsbG93LXVua25vd24tdHlwZSIKIG1zZ3N0ciAi5peg5rOV55SoIC0tYWxsb3ctdW5rbm93bi10eXBlIOWPguaVsOino+W8gCAlcyDlpLTkv6Hmga8iCiAKLSM6IHNoYTEtZmlsZS5jOjEyMjIKKyM6IHNoYTEtZmlsZS5jOjEzODMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVucGFjayAlcyBoZWFkZXIiCiBtc2dzdHIgIuaXoOazleino+W8gCAlcyDlpLTpg6giCiAKLSM6IHNoYTEtZmlsZS5jOjEyMjgKKyM6IHNoYTEtZmlsZS5jOjEzODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHBhcnNlICVzIGhlYWRlciB3aXRoIC0tYWxsb3ctdW5rbm93bi10eXBlIgogbXNnc3RyICLml6Dms5XnlKggLS1hbGxvdy11bmtub3duLXR5cGUg5Y+C5pWw6Kej5p6QICVzIOWktOS/oeaBryIKIAotIzogc2hhMS1maWxlLmM6MTIzMQorIzogc2hhMS1maWxlLmM6MTM5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJXMgaGVhZGVyIgogbXNnc3RyICLml6Dms5Xop6PmnpAgJXMg5aS06YOoIgogCi0jOiBzaGExLWZpbGUuYzoxNDIyCisjOiBzaGExLWZpbGUuYzoxNTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAi6K+75Y+W5a+56LGhICVzIOWksei0pSIKIAotIzogc2hhMS1maWxlLmM6MTQyNgorIzogc2hhMS1maWxlLmM6MTU4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBsYWNlbWVudCAlcyBub3QgZm91bmQgZm9yICVzIgogbXNnc3RyICLmib7kuI3liLAgJTIkcyDnmoTmm7/ku6MgJTEkcyIKIAotIzogc2hhMS1maWxlLmM6MTQzMAorIzogc2hhMS1maWxlLmM6MTU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJsb29zZSBvYmplY3QgJXMgKHN0b3JlZCBpbiAlcykgaXMgY29ycnVwdCIKIG1zZ3N0ciAi5p2+5pWj5a+56LGhICVz77yI5L+d5a2Y5ZyoICVz77yJ5bey5o2f5Z2PIgogCi0jOiBzaGExLWZpbGUuYzoxNDM0CisjOiBzaGExLWZpbGUuYzoxNTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tlZCBvYmplY3QgJXMgKHN0b3JlZCBpbiAlcykgaXMgY29ycnVwdCIKIG1zZ3N0ciAi5omT5YyF5a+56LGhICVz77yI5L+d5a2Y5ZyoICVz77yJ5bey5o2f5Z2PIgogCi0jOiBzaGExLWZpbGUuYzoxNTM2CisjOiBzaGExLWZpbGUuYzoxNjk5CiAjLCBjLWZvcm1hdAotbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzaGExIGZpbGVuYW1lICVzIgotbXNnc3RyICLml6Dms5XlhpnlhaUgc2hhMSDmlofku7blkI0gJXMiCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZpbGUgJXMiCittc2dzdHIgIuaXoOazleWGmeaWh+S7tiAlcyIKIAotIzogc2hhMS1maWxlLmM6MTU0MworIzogc2hhMS1maWxlLmM6MTcwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gc2V0IHBlcm1pc3Npb24gdG8gJyVzJyIKIG1zZ3N0ciAi5peg5rOV5Li6ICclcycg6K6+572u5p2D6ZmQIgogCi0jOiBzaGExLWZpbGUuYzoxNTUwCisjOiBzaGExLWZpbGUuYzoxNzEzCiBtc2dpZCAiZmlsZSB3cml0ZSBlcnJvciIKIG1zZ3N0ciAi5paH5Lu25YaZ6ZSZ6K+vIgogCi0jOiBzaGExLWZpbGUuYzoxNTY5Ci1tc2dpZCAiZXJyb3Igd2hlbiBjbG9zaW5nIHNoYTEgZmlsZSIKLW1zZ3N0ciAi5YWz6ZetIHNoYTEg5paH5Lu25pe25Ye66ZSZIgorIzogc2hhMS1maWxlLmM6MTczMgorbXNnaWQgImVycm9yIHdoZW4gY2xvc2luZyBsb29zZSBvYmplY3QgZmlsZSIKK21zZ3N0ciAi5YWz6Zet5p2+5pWj5a+56LGh5paH5Lu25pe25Ye66ZSZIgogCi0jOiBzaGExLWZpbGUuYzoxNjM1CisjOiBzaGExLWZpbGUuYzoxNzk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc3VmZmljaWVudCBwZXJtaXNzaW9uIGZvciBhZGRpbmcgYW4gb2JqZWN0IHRvIHJlcG9zaXRvcnkgZGF0YWJhc2UgJXMiCiBtc2dzdHIgIuadg+mZkOS4jei2s++8jOaXoOazleWcqOS7k+W6k+WvueixoeW6kyAlcyDkuK3mt7vliqDlr7nosaEiCiAKLSM6IHNoYTEtZmlsZS5jOjE2MzcKKyM6IHNoYTEtZmlsZS5jOjE3OTkKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgogbXNnc3RyICLml6Dms5XliJvlu7rkuLTml7bmlofku7YiCiAKLSM6IHNoYTEtZmlsZS5jOjE2NjEKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc2hhMSBmaWxlIgotbXNnc3RyICLml6Dms5XlhpnlhaUgc2hhMSDmlofku7YiCisjOiBzaGExLWZpbGUuYzoxODIzCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGxvb3NlIG9iamVjdCBmaWxlIgorbXNnc3RyICLkuI3og73lhpnmnb7mlaPlr7nosaHmlofku7YiCiAKLSM6IHNoYTEtZmlsZS5jOjE2NjcKKyM6IHNoYTEtZmlsZS5jOjE4MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgbmV3IG9iamVjdCAlcyAoJWQpIgogbXNnc3RyICLkuI3og73ljovnvKnmlrDlr7nosaEgJXPvvIglZO+8iSIKIAotIzogc2hhMS1maWxlLmM6MTY3MQorIzogc2hhMS1maWxlLmM6MTgzMwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWZsYXRlRW5kIG9uIG9iamVjdCAlcyBmYWlsZWQgKCVkKSIKIG1zZ3N0ciAi5Zyo5a+56LGhICVzIOS4iuiwg+eUqCBkZWZsYXRlRW5kIOWksei0pe+8iCVk77yJIgogCi0jOiBzaGExLWZpbGUuYzoxNjc1CisjOiBzaGExLWZpbGUuYzoxODM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbmZ1c2VkIGJ5IHVuc3RhYmxlIG9iamVjdCBzb3VyY2UgZGF0YSBmb3IgJXMiCiBtc2dzdHIgIuiiqyAlcyDnmoTkuI3nqLPlrprlr7nosaHmupDmlbDmja7mkJ7ns4rmtoLkuoYiCiAKLSM6IHNoYTEtZmlsZS5jOjE2ODUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5MTgKKyM6IHNoYTEtZmlsZS5jOjE4NDcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo5MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHV0aW1lKCkgb24gJXMiCiBtc2dzdHIgIuWcqCAlcyDkuIrosIPnlKggdXRpbWUoKSDlpLHotKUiCiAKLSM6IHNoYTEtZmlsZS5jOjE3NjAKKyM6IHNoYTEtZmlsZS5jOjE5MjIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiY2Fubm90IHJlYWQgc2hhMV9maWxlIGZvciAlcyIKLW1zZ3N0ciAi5LiN6IO95LuOICVzIOivu+WPliBzaGExIOaWh+S7tiIKK21zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgZm9yICVzIgorbXNnc3RyICLkuI3og73or7vlj5blr7nosaEgJXMiCiAKLSM6IHNoYTEtZmlsZS5jOjE4MDUKKyM6IHNoYTEtZmlsZS5jOjE5NjIKIG1zZ2lkICJjb3JydXB0IGNvbW1pdCIKIG1zZ3N0ciAi5o2f5Z2P55qE5o+Q5LqkIgogCi0jOiBzaGExLWZpbGUuYzoxODEzCisjOiBzaGExLWZpbGUuYzoxOTcwCiBtc2dpZCAiY29ycnVwdCB0YWciCiBtc2dzdHIgIuaNn+Wdj+eahOagh+etviIKIAotIzogc2hhMS1maWxlLmM6MTkxMgorIzogc2hhMS1maWxlLmM6MjA2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGVycm9yIHdoaWxlIGluZGV4aW5nICVzIgogbXNnc3RyICLntKLlvJUgJXMg5pe26K+75Y+W6ZSZ6K+vIgogCi0jOiBzaGExLWZpbGUuYzoxOTE1CisjOiBzaGExLWZpbGUuYzoyMDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgInNob3J0IHJlYWQgd2hpbGUgaW5kZXhpbmcgJXMiCiBtc2dzdHIgIue0ouW8lSAlcyDml7bor7vlhaXkuI3lrozmlbQiCiAKLSM6IHNoYTEtZmlsZS5jOjE5ODggc2hhMS1maWxlLmM6MTk5NworIzogc2hhMS1maWxlLmM6MjE0NSBzaGExLWZpbGUuYzoyMTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5zZXJ0IGludG8gZGF0YWJhc2UiCiBtc2dzdHIgIiVz77ya5o+S5YWl5pWw5o2u5bqT5aSx6LSlIgogCi0jOiBzaGExLWZpbGUuYzoyMDAzCisjOiBzaGExLWZpbGUuYzoyMTYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBmaWxlIHR5cGUiCiBtc2dzdHIgIiVz77ya5LiN5pSv5oyB55qE5paH5Lu257G75Z6LIgogCi0jOiBzaGExLWZpbGUuYzoyMDI3CisjOiBzaGExLWZpbGUuYzoyMTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIG9iamVjdCIKIG1zZ3N0ciAiJXMg5LiN5piv5LiA5Liq5pyJ5pWI55qE5a+56LGhIgogCi0jOiBzaGExLWZpbGUuYzoyMDI5CisjOiBzaGExLWZpbGUuYzoyMTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkICclcycgb2JqZWN0IgogbXNnc3RyICIlcyDkuI3mmK/kuIDkuKrmnInmlYjnmoQgJyVzJyDlr7nosaEiCiAKLSM6IHNoYTEtZmlsZS5jOjIwNTYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU0CisjOiBzaGExLWZpbGUuYzoyMjEzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKIG1zZ3N0ciAi5LiN6IO95omT5byAICVzIgogCi0jOiBzaGExLWZpbGUuYzoyMjI2IHNoYTEtZmlsZS5jOjIyNzgKKyM6IHNoYTEtZmlsZS5jOjI0MDMgc2hhMS1maWxlLmM6MjQ1NQogIywgYy1mb3JtYXQKLW1zZ2lkICJzaGExIG1pc21hdGNoIGZvciAlcyAoZXhwZWN0ZWQgJXMpIgotbXNnc3RyICIlcyDnmoQgc2hhMSDkuI3ljLnphY3vvIjpooTmnJ8gJXPvvIkiCittc2dpZCAiaGFzaCBtaXNtYXRjaCBmb3IgJXMgKGV4cGVjdGVkICVzKSIKK21zZ3N0ciAiJXMg55qE5ZOI5biM5YC85LiN5Yy56YWN77yI6aKE5pyfICVz77yJIgogCi0jOiBzaGExLWZpbGUuYzoyMjUwCisjOiBzaGExLWZpbGUuYzoyNDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBtbWFwICVzIgogbXNnc3RyICLkuI3og70gbW1hcCAlcyIKIAotIzogc2hhMS1maWxlLmM6MjI1NQorIzogc2hhMS1maWxlLmM6MjQzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gdW5wYWNrIGhlYWRlciBvZiAlcyIKIG1zZ3N0ciAi5peg5rOV6Kej5Y6L57ypICVzIOeahOWktOmDqCIKIAotIzogc2hhMS1maWxlLmM6MjI2MQorIzogc2hhMS1maWxlLmM6MjQzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgaGVhZGVyIG9mICVzIgogbXNnc3RyICLml6Dms5Xop6PmnpAgJXMg55qE5aS06YOoIgogCi0jOiBzaGExLWZpbGUuYzoyMjcyCisjOiBzaGExLWZpbGUuYzoyNDQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB1bnBhY2sgY29udGVudHMgb2YgJXMiCiBtc2dzdHIgIuaXoOazleino+WOi+e8qSAlcyDnmoTlhoXlrrkiCiAKLSM6IHNoYTEtbmFtZS5jOjQ3NgorIzogc2hhMS1uYW1lLmM6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgInNob3J0IFNIQTEgJXMgaXMgYW1iaWd1b3VzIgogbXNnc3RyICLnn60gU0hBMSAlcyDlrZjlnKjmrafkuYkiCiAKLSM6IHNoYTEtbmFtZS5jOjQ4NworIzogc2hhMS1uYW1lLmM6NDk4CiBtc2dpZCAiVGhlIGNhbmRpZGF0ZXMgYXJlOiIKIG1zZ3N0ciAi5YCZ6YCJ6ICF5pyJ77yaIgogCi0jOiBzaGExLW5hbWUuYzo3NzAKKyM6IHNoYTEtbmFtZS5jOjc5NwogbXNnaWQgIiIKICJHaXQgbm9ybWFsbHkgbmV2ZXIgY3JlYXRlcyBhIHJlZiB0aGF0IGVuZHMgd2l0aCA0MCBoZXggY2hhcmFjdGVyc1xuIgogImJlY2F1c2UgaXQgd2lsbCBiZSBpZ25vcmVkIHdoZW4geW91IGp1c3Qgc3BlY2lmeSA0MC1oZXguIFRoZXNlIHJlZnNcbiIKICJtYXkgYmUgY3JlYXRlZCBieSBtaXN0YWtlLiBGb3IgZXhhbXBsZSxcbiIKICJcbiIKLSIgIGdpdCBjaGVja291dCAtYiAkYnIgJChnaXQgcmV2LXBhcnNlIC4uLilcbiIKKyIgIGdpdCBzd2l0Y2ggLWMgJGJyICQoZ2l0IHJldi1wYXJzZSAuLi4pXG4iCiAiXG4iCiAid2hlcmUgXCIkYnJcIiBpcyBzb21laG93IGVtcHR5IGFuZCBhIDQwLWhleCByZWYgaXMgY3JlYXRlZC4gUGxlYXNlXG4iCiAiZXhhbWluZSB0aGVzZSByZWZzIGFuZCBtYXliZSBkZWxldGUgdGhlbS4gVHVybiB0aGlzIG1lc3NhZ2Ugb2ZmIGJ5XG4iCiAicnVubmluZyBcImdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNlXCIiCiBtc2dzdHIgIiIKLSJHaXQg6YCa5bi45LiN5Lya5Yib5bu65LiA5Liq5LulNDDkvY3ljYHlha3ov5vliLblrZfnrKblkb3lkI3nmoTlvJXnlKjvvIzlm6DkuLrlvZPkvaDmj5Dkvps0MOS9jVxuIgotIuWNgeWFrei/m+WItuWtl+espuaXtuWwhuiiq+W/veeVpeOAguS4jei/h+i/meS6m+W8leeUqOS5n+WPr+iDveiiq+mUmeivr+WcsOWIm+W7uuOAguS+i+Wmgu+8mlxuIgorIkdpdCDpgJrluLjkuI3kvJrliJvlu7rkuIDkuKrku6U0MOS4quWNgeWFrei/m+WItuWtl+espue7k+WwvueahOW8leeUqO+8jOWboOS4uuW9k+aCqOWPquaPkOS+mzQwXG4iCisi5Liq5Y2B5YWt6L+b5Yi25a2X56ym5pe25bCG6KKr5b+955Wl44CC6L+Z5Lqb5byV55So5Y+v6IO96KKr6ZSZ6K+v5Zyw5Yib5bu644CC5L6L5aaC77yaXG4iCiAiXG4iCi0iICBnaXQgY2hlY2tvdXQgLWIgJGJyICQoZ2l0IHJldi1wYXJzZSAuLi4pXG4iCisiICBnaXQgc3dpdGNoIC1jICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgogIlxuIgotIuW9kyBcIiRiclwiIOepuueZveaXtuS4gOS4qjQw5L2N5Y2B5YWt6L+b5Yi255qE5byV55So5bCG6KKr5Yib5bu644CC6K+35qOA5p+l6L+Z5Lqb5byV55So77yMXG4iCi0i5Y+v6IO96ZyA6KaB5Yig6Zmk5a6D5Lus44CC55SoIFwiZ2l0IGNvbmZpZyBhZHZpY2Uub2JqZWN0TmFtZVdhcm5pbmcgZmFsc2VcIlxuIgotIuWRveS7pOWFs+mXreacrOa2iOaBr+mAmuefpeOAgiIKKyLlvZMgXCIkYnJcIiDmn5Dnp43ljp/lm6Dnqbrnmb3ml7bvvIzkuIDkuKo0MOS9jeWNgeWFrei/m+WItueahOW8leeUqOWwhuiiq+WIm+W7uuOAguivt+ajgOafpei/meS6m1xuIgorIuW8leeUqO+8jOWPr+iDvemcgOimgeWIoOmZpOWug+S7rOOAgui/kOihjCBcImdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nXG4iCisiZmFsc2VcIiDlkb3ku6TlhbPpl63mnKzmtojmga/pgJrnn6XjgIIiCiAKLSM6IHN1Ym1vZHVsZS5jOjExNiBzdWJtb2R1bGUuYzoxNDUKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBnaWJpYnl0ZQorIzogc3RyYnVmLmM6ODIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IEdpQiIKK21zZ3N0ciAiJXUuJTIuMnUgR2lCIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggZ2liaWJ5dGUvc2Vjb25kCisjOiBzdHJidWYuYzo4MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgR2lCL3MiCittc2dzdHIgIiV1LiUyLjJ1IEdpQi9zIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggbWViaWJ5dGUKKyM6IHN0cmJ1Zi5jOjgzMgorIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBNaUIiCittc2dzdHIgIiV1LiUyLjJ1IE1pQiIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IG1lYmlieXRlL3NlY29uZAorIzogc3RyYnVmLmM6ODM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IE1pQi9zIgorbXNnc3RyICIldS4lMi4ydSBNaUIvcyIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IGtpYmlieXRlCisjOiBzdHJidWYuYzo4NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgS2lCIgorbXNnc3RyICIldS4lMi4ydSBLaUIiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBraWJpYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjg0MworIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBLaUIvcyIKK21zZ3N0ciAiJXUuJTIuMnUgS2lCL3MiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBieXRlCisjOiBzdHJidWYuYzo4NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUgYnl0ZSIKK21zZ2lkX3BsdXJhbCAiJXUgYnl0ZXMiCittc2dzdHJbMF0gIiV1IOWtl+iKgiIKK21zZ3N0clsxXSAiJXUg5a2X6IqCIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjg1MQorIywgYy1mb3JtYXQKK21zZ2lkICIldSBieXRlL3MiCittc2dpZF9wbHVyYWwgIiV1IGJ5dGVzL3MiCittc2dzdHJbMF0gIiV1IOWtl+iKgi/np5IiCittc2dzdHJbMV0gIiV1IOWtl+iKgi/np5IiCisKKyM6IHN0cmJ1Zi5jOjExNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGVkaXQgJyVzJyIKK21zZ3N0ciAi5LiN6IO957yW6L6RICclcyciCisKKyM6IHN1Ym1vZHVsZS5jOjExNCBzdWJtb2R1bGUuYzoxNDMKIG1zZ2lkICJDYW5ub3QgY2hhbmdlIHVubWVyZ2VkIC5naXRtb2R1bGVzLCByZXNvbHZlIG1lcmdlIGNvbmZsaWN0cyBmaXJzdCIKIG1zZ3N0ciAi5peg5rOV5L+u5pS55pyq5ZCI5bm255qEIC5naXRtb2R1bGVz77yM5YWI6Kej5Yaz5ZCI5bm25Yay56qBIgogCi0jOiBzdWJtb2R1bGUuYzoxMjAgc3VibW9kdWxlLmM6MTQ5CisjOiBzdWJtb2R1bGUuYzoxMTggc3VibW9kdWxlLmM6MTQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHNlY3Rpb24gaW4gLmdpdG1vZHVsZXMgd2hlcmUgcGF0aD0lcyIKIG1zZ3N0ciAi5peg5rOV5ZyoIC5naXRtb2R1bGVzIOS4reaJvuWIsCBwYXRoPSVzIOeahOWwj+iKgiIKIAotIzogc3VibW9kdWxlLmM6MTU2CisjOiBzdWJtb2R1bGUuYzoxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSAuZ2l0bW9kdWxlcyBlbnRyeSBmb3IgJXMiCiBtc2dzdHIgIuaXoOazleenu+mZpCAlcyDnmoQgLmdpdG1vZHVsZXMg5p2h55uuIgogCi0jOiBzdWJtb2R1bGUuYzoxNjcKKyM6IHN1Ym1vZHVsZS5jOjE2NQogbXNnaWQgInN0YWdpbmcgdXBkYXRlZCAuZ2l0bW9kdWxlcyBmYWlsZWQiCiBtc2dzdHIgIuWwhuabtOaWsOWQjiAuZ2l0bW9kdWxlcyDmt7vliqDmmoLlrZjljLrlpLHotKUiCiAKLSM6IHN1Ym1vZHVsZS5jOjMyOQorIzogc3VibW9kdWxlLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImluIHVucG9wdWxhdGVkIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICLkvY3kuo7mnKrmo4Dlh7rnmoTlrZDmqKHnu4QgJyVzJyIKIAotIzogc3VibW9kdWxlLmM6MzYwCisjOiBzdWJtb2R1bGUuYzozNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgogbXNnc3RyICLot6/lvoTop4TmoLwgJyVzJyDlnKjlrZDmqKHnu4QgJyUuKnMnIOS4rSIKIAotIzogc3VibW9kdWxlLmM6ODU3CisjOiBzdWJtb2R1bGUuYzo5MTAKICMsIGMtZm9ybWF0CiBtc2dpZCAic3VibW9kdWxlIGVudHJ5ICclcycgKCVzKSBpcyBhICVzLCBub3QgYSBjb21taXQiCiBtc2dzdHIgIuWtkOaooee7hOadoeebriAnJXMn77yIJXPvvInmmK/kuIDkuKogJXPvvIzkuI3mmK/kuIDkuKrmj5DkuqQiCiAKLSM6IHN1Ym1vZHVsZS5jOjEwOTcgYnVpbHRpbi9icmFuY2guYzo2NTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5ODUKKyM6IHN1Ym1vZHVsZS5jOjExNDcgYnVpbHRpbi9icmFuY2guYzo2ODAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIwMTYKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSBIRUFEIGFzIGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAi5peg5rOV5bCGIEhFQUQg6Kej5p6Q5Li65pyJ5pWI5byV55So44CCIgogCi0jOiBzdWJtb2R1bGUuYzoxNDA0CisjOiBzdWJtb2R1bGUuYzoxNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBhY2Nlc3Mgc3VibW9kdWxlICclcyciCittc2dzdHIgIuaXoOazleiuv+mXruWtkOaooee7hCAnJXMnIgorCisjOiBzdWJtb2R1bGUuYzoxNjUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgbm90IHJlY29nbml6ZWQgYXMgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi5peg5rOV5bCGICclcycg6K+G5Yir5Li65LiA5LiqIGdpdCDku5PlupMiCiAKLSM6IHN1Ym1vZHVsZS5jOjE1NDIKKyM6IHN1Ym1vZHVsZS5jOjE3ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXJ0ICdnaXQgc3RhdHVzJyBpbiBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5Zyo5a2Q5qih57uEICclcycg5Lit5ZCv5YqoICdnaXQgc3RhdHVzJyIKIAotIzogc3VibW9kdWxlLmM6MTU1NQorIzogc3VibW9kdWxlLmM6MTgwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcnVuICdnaXQgc3RhdHVzJyBpbiBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5Zyo5a2Q5qih57uEICclcycg5Lit5omn6KGMICdnaXQgc3RhdHVzJyIKIAotIzogc3VibW9kdWxlLmM6MTY0OAorIzogc3VibW9kdWxlLmM6MTgxNworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgdW5zZXQgY29yZS53b3JrdHJlZSBzZXR0aW5nIGluIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICLml6Dms5XlnKjlrZDmqKHnu4QgJyVzJyDkuK3lj5bmtoggY29yZS53b3JrdHJlZSDnmoTorr7nva4iCisKKyM6IHN1Ym1vZHVsZS5jOjE5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAic3VibW9kdWxlICclcycgaGFzIGRpcnR5IGluZGV4IgogbXNnc3RyICLlrZDmqKHnu4QgJyVzJyDkuK3mnInohI/ntKLlvJUiCiAKLSM6IHN1Ym1vZHVsZS5jOjE3MDAKKyM6IHN1Ym1vZHVsZS5jOjE5NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlICclcycgY291bGQgbm90IGJlIHVwZGF0ZWQuIgogbXNnc3RyICLlrZDmqKHnu4QgJyVzJyDml6Dms5Xooqvmm7TmlrDjgIIiCiAKLSM6IHN1Ym1vZHVsZS5jOjE3NDcKKyM6IHN1Ym1vZHVsZS5jOjIwMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VibW9kdWxlIGdpdCBkaXIgJyVzJyBpcyBpbnNpZGUgZ2l0IGRpciAnJS4qcyciCittc2dzdHIgIuWtkOaooee7hCBnaXQg55uu5b2VICclcycg5L2N5LqOIGdpdCDnm67lvZUgJyUuKnMnIOS4rSIKKworIzogc3VibW9kdWxlLmM6MjA0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicmVsb2NhdGVfZ2l0ZGlyIGZvciBzdWJtb2R1bGUgJyVzJyB3aXRoIG1vcmUgdGhhbiBvbmUgd29ya3RyZWUgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAi5LiN5pSv5oyB5a+55pyJ5aSa5Liq5bel5L2c5Yy655qE5a2Q5qih57uEICclcycg5omn6KGMIHJlbG9jYXRlX2dpdGRpciIKIAotIzogc3VibW9kdWxlLmM6MTc1OSBzdWJtb2R1bGUuYzoxODE1CisjOiBzdWJtb2R1bGUuYzoyMDYwIHN1Ym1vZHVsZS5jOjIxMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGxvb2t1cCBuYW1lIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95p+l6K+i5a2Q5qih57uEICclcycg55qE5ZCN56ewIgogCi0jOiBzdWJtb2R1bGUuYzoxNzY2CisjOiBzdWJtb2R1bGUuYzoyMDY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZnVzaW5nIHRvIG1vdmUgJyVzJyBpbnRvIGFuIGV4aXN0aW5nIGdpdCBkaXIiCittc2dzdHIgIuemgeatouenu+WKqCAnJXMnIOWIsOeOsOWtmCBnaXQg55uu5b2V5LitIgorCisjOiBzdWJtb2R1bGUuYzoyMDcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJNaWdyYXRpbmcgZ2l0IGRpcmVjdG9yeSBvZiAnJXMlcycgZnJvbVxuIgpAQCAtNTk3Nyw0MCArNzY3Nyw0MCBAQAogIiclcycg6L+B56e76IezXG4iCiAiJyVzJ1xuIgogCi0jOiBzdWJtb2R1bGUuYzoxODUwCisjOiBzdWJtb2R1bGUuYzoyMTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWN1cnNlIGludG8gc3VibW9kdWxlICclcyciCiBtc2dzdHIgIuaXoOazlemAkuW9kui/m+WtkOaooee7hOi3r+W+hCAnJXMnIgogCi0jOiBzdWJtb2R1bGUuYzoxODk0CisjOiBzdWJtb2R1bGUuYzoyMTk4CiBtc2dpZCAiY291bGQgbm90IHN0YXJ0IGxzLWZpbGVzIGluIC4uIgogbXNnc3RyICLml6Dms5XlnKggLi4g5Lit5ZCv5YqoIGxzLWZpbGVzIgogCi0jOiBzdWJtb2R1bGUuYzoxOTMzCisjOiBzdWJtb2R1bGUuYzoyMjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgImxzLXRyZWUgcmV0dXJuZWQgdW5leHBlY3RlZCByZXR1cm4gY29kZSAlZCIKIG1zZ3N0ciAibHMtdHJlZSDov5Tlm57mnKrnn6Xov5Tlm57lgLwgJWQiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzoyMzIKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaWdub3Jpbmcgc3VzcGljaW91cyBzdWJtb2R1bGUgbmFtZTogJXMiCiBtc2dzdHIgIuW/veeVpeWPr+eWkeeahOWtkOaooee7hOWQjeensO+8miVzIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6Mjk2CisjOiBzdWJtb2R1bGUtY29uZmlnLmM6MzAzCiBtc2dpZCAibmVnYXRpdmUgdmFsdWVzIG5vdCBhbGxvd2VkIGZvciBzdWJtb2R1bGUuZmV0Y2hqb2JzIgogbXNnc3RyICJzdWJtb2R1bGUuZmV0Y2hqb2JzIOS4jeWFgeiuuOS4uui0n+WAvCIKIAotIzogc3VibW9kdWxlLWNvbmZpZy5jOjM5MAorIzogc3VibW9kdWxlLWNvbmZpZy5jOjQwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyAnJXMnIHdoaWNoIG1heSBiZSBpbnRlcnByZXRlZCBhcyBhIGNvbW1hbmQtbGluZSBvcHRpb246ICVzIgogbXNnc3RyICLlv73nlaXlj6/og73ooqvop6PmnpDkuLrlkb3ku6TooYzpgInpobnnmoQgJyVzJ++8miVzIgogCi0jOiBzdWJtb2R1bGUtY29uZmlnLmM6NDc5CisjOiBzdWJtb2R1bGUtY29uZmlnLmM6NDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzIgogbXNnc3RyICIlcyDnmoTlgLzml6DmlYgiCiAKLSM6IHN1Ym1vZHVsZS1jb25maWcuYzo3NTQKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo3NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIKIG1zZ3N0ciAi5LiN6IO95pu05pawIC5naXRtb2R1bGVzIOadoeebriAlcyIKQEAgLTYwNDUsNyArNzc0NSw3IEBACiBtc2dpZCAiY291bGQgbm90IHJlYWQgZnJvbSBzdGRpbiIKIG1zZ3N0ciAi5LiN6IO96Ieq5qCH5YeG6L6T5YWl6K+75Y+WIgogCi0jOiB0cmFpbGVyLmM6MTAxMSBidWlsdGluL2FtLmM6NDcKKyM6IHRyYWlsZXIuYzoxMDExIHdyYXBwZXIuYzo2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHN0YXQgJXMiCiBtc2dzdHIgIuS4jeiDveWvuSAlcyDosIPnlKggc3RhdCIKQEAgLTYwNzQsNDYgKzc3NzQsNTQgQEAKIG1zZ2lkICJXb3VsZCBzZXQgdXBzdHJlYW0gb2YgJyVzJyB0byAnJXMnIG9mICclcydcbiIKIG1zZ3N0ciAi5bCG6KaB6K6+572uICclMSRzJyDnmoTkuIrmuLjkuLogJyUzJHMnIOeahCAnJTIkcydcbiIKIAotIzogdHJhbnNwb3J0LmM6MTQyCisjOiB0cmFuc3BvcnQuYzoxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgYnVuZGxlICclcyciCiBtc2dzdHIgIuaXoOazleivu+WPliBidW5kbGUgJyVzJyIKIAotIzogdHJhbnNwb3J0LmM6MjA4CisjOiB0cmFuc3BvcnQuYzoyMTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhbnNwb3J0OiBpbnZhbGlkIGRlcHRoIG9wdGlvbiAnJXMnIgogbXNnc3RyICLkvKDovpPvvJrml6DmlYjnmoTmt7HluqbpgInpobkgJyVzJyIKIAotIzogdHJhbnNwb3J0LmM6NjE2CisjOiB0cmFuc3BvcnQuYzoyNjYKK21zZ2lkICJzZWUgcHJvdG9jb2wudmVyc2lvbiBpbiAnZ2l0IGhlbHAgY29uZmlnJyBmb3IgbW9yZSBkZXRhaWxzIgorbXNnc3RyICLmn6XnnIsgJ2dpdCBoZWxwIGNvbmZpZycg5Lit55qEIHByb3RvY29sLnZlcnNpb24g6I635Y+W5pu05aSa5L+h5oGvIgorCisjOiB0cmFuc3BvcnQuYzoyNjcKK21zZ2lkICJzZXJ2ZXIgb3B0aW9ucyByZXF1aXJlIHByb3RvY29sIHZlcnNpb24gMiBvciBsYXRlciIKK21zZ3N0ciAi5pyN5Yqh56uv6YCJ6aG56ZyA6KaB54mI5pysIDIg5Y2P6K6u5oiW5pu06auYIgorCisjOiB0cmFuc3BvcnQuYzo2MzIKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgdHJhbnNwb3J0LmNvbG9yLiogY29uZmlnIgogbXNnc3RyICLkuI3og73op6PmnpAgdHJhbnNwb3J0LmNvbG9yLiog6YWN572uIgogCi0jOiB0cmFuc3BvcnQuYzo2ODkKKyM6IHRyYW5zcG9ydC5jOjcwNQogbXNnaWQgInN1cHBvcnQgZm9yIHByb3RvY29sIHYyIG5vdCBpbXBsZW1lbnRlZCB5ZXQiCiBtc2dzdHIgIuWNj+iuriB2MiDnmoTmlK/mjIHlsJrmnKrlrp7njrAiCiAKLSM6IHRyYW5zcG9ydC5jOjgxNgorIzogdHJhbnNwb3J0LmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gdmFsdWUgZm9yIGNvbmZpZyAnJXMnOiAlcyIKIG1zZ3N0ciAi6YWN572uICclcycg55qE5Y+W5YC85pyq55+l77yaJXMiCiAKLSM6IHRyYW5zcG9ydC5jOjg4MgorIzogdHJhbnNwb3J0LmM6ODk3CiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYW5zcG9ydCAnJXMnIG5vdCBhbGxvd2VkIgogbXNnc3RyICLkvKDovpMgJyVzJyDkuI3lhYHorrgiCiAKLSM6IHRyYW5zcG9ydC5jOjkzNgorIzogdHJhbnNwb3J0LmM6OTQ5CiBtc2dpZCAiZ2l0LW92ZXItcnN5bmMgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCIKIG1zZ3N0ciAi5LiN5YaN5pSv5oyBIGdpdC1vdmVyLXJzeW5jIgogCi0jOiB0cmFuc3BvcnQuYzoxMDMxCisjOiB0cmFuc3BvcnQuYzoxMDQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHN1Ym1vZHVsZSBwYXRocyBjb250YWluIGNoYW5nZXMgdGhhdCBjYW5cbiIKICJub3QgYmUgZm91bmQgb24gYW55IHJlbW90ZTpcbiIKIG1zZ3N0ciAi5LiL5YiX5a2Q5qih57uE6Lev5b6E5omA5YyF5ZCr55qE5L+u5pS55Zyo5Lu75L2V6L+c56iL5rqQ5Lit6YO95om+5LiN5Yiw77yaXG4iCiAKLSM6IHRyYW5zcG9ydC5jOjEwMzUKKyM6IHRyYW5zcG9ydC5jOjEwNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNjE0MCwxMzYgKzc4NDgsMTM2IEBACiAi5Lul5o6o6YCB6Iez6L+c56iL44CCXG4iCiAiXG4iCiAKLSM6IHRyYW5zcG9ydC5jOjEwNDMKKyM6IHRyYW5zcG9ydC5jOjEwNTYKIG1zZ2lkICJBYm9ydGluZy4iCiBtc2dzdHIgIuato+WcqOe7iOatouOAgiIKIAotIzogdHJhbnNwb3J0LmM6MTE4MgorIzogdHJhbnNwb3J0LmM6MTIwMQogbXNnaWQgImZhaWxlZCB0byBwdXNoIGFsbCBuZWVkZWQgc3VibW9kdWxlcyIKIG1zZ3N0ciAi5LiN6IO95o6o6YCB5YWo6YOo6ZyA6KaB55qE5a2Q5qih57uEIgogCi0jOiB0cmFuc3BvcnQuYzoxMzE1IHRyYW5zcG9ydC1oZWxwZXIuYzo2NDMKKyM6IHRyYW5zcG9ydC5jOjEzNDUgdHJhbnNwb3J0LWhlbHBlci5jOjY1NgogbXNnaWQgIm9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sIgogbXNnc3RyICLljY/orq7kuI3mlK/mjIHor6Xmk43kvZwiCiAKLSM6IHRyYW5zcG9ydC5jOjE0MTkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiaW52YWxpZCBsaW5lIHdoaWxlIHBhcnNpbmcgYWx0ZXJuYXRlIHJlZnM6ICVzIgotbXNnc3RyICLop6PmnpDlpIfnlKjlvJXnlKjml7bml6DmlYjnmoTooYzvvJolcyIKLQotIzogdHJhbnNwb3J0LWhlbHBlci5jOjUxIHRyYW5zcG9ydC1oZWxwZXIuYzo4MAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjYxIHRyYW5zcG9ydC1oZWxwZXIuYzo5MAogbXNnaWQgImZ1bGwgd3JpdGUgdG8gcmVtb3RlIGhlbHBlciBmYWlsZWQiCiBtc2dzdHIgIuWujOaVtOWGmeWFpei/nOeoi+WKqeaJi+Wksei0pSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZmluZCByZW1vdGUgaGVscGVyIGZvciAnJXMnIgogbXNnc3RyICLml6Dms5XkuLogJyVzJyDmib7liLDov5znqIvliqnmiYsiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDggdHJhbnNwb3J0LWhlbHBlci5jOjU1NworIzogdHJhbnNwb3J0LWhlbHBlci5jOjE2MCB0cmFuc3BvcnQtaGVscGVyLmM6NTcwCiBtc2dpZCAiY2FuJ3QgZHVwIGhlbHBlciBvdXRwdXQgZmQiCiBtc2dzdHIgIuaXoOazleWkjeWItuWKqeaJi+i+k+WHuuaWh+S7tuWPpeafhCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjE5OQorIzogdHJhbnNwb3J0LWhlbHBlci5jOjIxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidW5rbm93biBtYW5kYXRvcnkgY2FwYWJpbGl0eSAlczsgdGhpcyByZW1vdGUgaGVscGVyIHByb2JhYmx5IG5lZWRzIG5ld2VyICIKICJ2ZXJzaW9uIG9mIEdpdCIKIG1zZ3N0ciAi5pyq55+l55qE5by65Yi26IO95YqbICVz77yM6K+l6L+c56iL5Yqp5omL5Y+v6IO96ZyA6KaB5paw54mI5pys55qER2l0IgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MjA1CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MjE3CiBtc2dpZCAidGhpcyByZW1vdGUgaGVscGVyIHNob3VsZCBpbXBsZW1lbnQgcmVmc3BlYyBjYXBhYmlsaXR5IgogbXNnc3RyICLov5znqIvliqnmiYvpnIDopoHlrp7njrAgcmVmc3BlYyDog73lipsiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoyNzIgdHJhbnNwb3J0LWhlbHBlci5jOjQxMgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjI4NCB0cmFuc3BvcnQtaGVscGVyLmM6NDI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHVuZXhwZWN0ZWRseSBzYWlkOiAnJXMnIgogbXNnc3RyICIlcyDmhI/lpJblnLDor7TvvJonJXMnIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NDAxCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGFsc28gbG9ja2VkICVzIgogbXNnc3RyICIlcyDkuZ/plIHlrprkuoYgJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo0NzkKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo0OTIKIG1zZ2lkICJjb3VsZG4ndCBydW4gZmFzdC1pbXBvcnQiCiBtc2dzdHIgIuS4jeiDveaJp+ihjCBmYXN0LWltcG9ydCIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjUwMgorIzogdHJhbnNwb3J0LWhlbHBlci5jOjUxNQogbXNnaWQgImVycm9yIHdoaWxlIHJ1bm5pbmcgZmFzdC1pbXBvcnQiCiBtc2dzdHIgIuaJp+ihjCBmYXN0LWltcG9ydCDlh7rplJkiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1MzEgdHJhbnNwb3J0LWhlbHBlci5jOjEwOTEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1NDQgdHJhbnNwb3J0LWhlbHBlci5jOjExMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgcmVmICVzIgogbXNnc3RyICLml6Dms5Xor7vlj5blvJXnlKggJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1NzYKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biByZXNwb25zZSB0byBjb25uZWN0OiAlcyIKIG1zZ3N0ciAi6L+e5o6l5pe25pyq55+l55qE5ZON5bqU77yaJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1OTgKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2MTEKIG1zZ2lkICJzZXR0aW5nIHJlbW90ZSBzZXJ2aWNlIHBhdGggbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbCIKIG1zZ3N0ciAi5Y2P6K6u5LiN5pSv5oyB6K6+572u6L+c56iL5pyN5Yqh6Lev5b6EIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NjAwCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjEzCiBtc2dpZCAiaW52YWxpZCByZW1vdGUgc2VydmljZSBwYXRoIgogbXNnc3RyICLml6DmlYjnmoTov5znqIvmnI3liqHot6/lvoQiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2NDYKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3QgY29ubmVjdCB0byBzdWJzZXJ2aWNlICVzIgogbXNnc3RyICLkuI3og73ov57mjqXliLDlrZDmnI3liqEgJXMiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo3MTMKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXhwZWN0ZWQgb2svZXJyb3IsIGhlbHBlciBzYWlkICclcyciCiBtc2dzdHIgIumihOacnyBvay9lcnJvcu+8jOWKqeaJi+ivtCAnJXMnIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6NzY2CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6Nzg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImhlbHBlciByZXBvcnRlZCB1bmV4cGVjdGVkIHN0YXR1cyBvZiAlcyIKIG1zZ3N0ciAi5Yqp5omL5oql5ZGKICVzIOeahOaEj+WklueKtuaAgSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjgyNworIzogdHJhbnNwb3J0LWhlbHBlci5jOjg0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCBkcnktcnVuIgogbXNnc3RyICLliqnmiYsgJXMg5LiN5pSv5oyBIGRyeS1ydW4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4MzAKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQiCiBtc2dzdHIgIuWKqeaJiyAlcyDkuI3mlK/mjIEgLS1zaWduZWQiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4MzMKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQ9aWYtYXNrZWQiCiBtc2dzdHIgIuWKqeaJiyAlcyDkuI3mlK/mjIEgLS1zaWduZWQ9aWYtYXNrZWQiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NDAKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgLS1hdG9taWMiCittc2dzdHIgIuWKqeaJiyAlcyDkuI3mlK/mjIEgLS1hdG9taWMiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgJ3B1c2gtb3B0aW9uJyIKIG1zZ3N0ciAi5Yqp5omLICVzIOS4jeaUr+aMgSAncHVzaC1vcHRpb24nIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6OTMyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6OTY0CiBtc2dpZCAicmVtb3RlLWhlbHBlciBkb2Vzbid0IHN1cHBvcnQgcHVzaDsgcmVmc3BlYyBuZWVkZWQiCiBtc2dzdHIgInJlbW90ZS1oZXBlciDkuI3mlK/mjIEgcHVzaO+8jOmcgOimgeW8leeUqOihqOi+vuW8jyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjkzNworIzogdHJhbnNwb3J0LWhlbHBlci5jOjk2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAnZm9yY2UnIgogbXNnc3RyICLliqnmiYsgJXMg5LiN5pSv5oyBICdmb3JjZSciCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5ODQKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDE2CiBtc2dpZCAiY291bGRuJ3QgcnVuIGZhc3QtZXhwb3J0IgogbXNnc3RyICLml6Dms5XmiafooYwgZmFzdC1leHBvcnQiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzo5ODkKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDIxCiBtc2dpZCAiZXJyb3Igd2hpbGUgcnVubmluZyBmYXN0LWV4cG9ydCIKIG1zZ3N0ciAi5omn6KGMIGZhc3QtZXhwb3J0IOaXtuWHuumUmSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwMTQKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJObyByZWZzIGluIGNvbW1vbiBhbmQgbm9uZSBzcGVjaWZpZWQ7IGRvaW5nIG5vdGhpbmcuXG4iCkBAIC02Mjc4LDQ3ICs3OTg2LDQ3IEBACiAi5rKh5pyJ5YWx5ZCM55qE5byV55So5bm25LiU5Lmf5rKh5pyJ5oyH5a6a77yM5LuA5LmI5Lmf5LiN5Lya5YGa44CCXG4iCiAi5Y+v6IO95oKo5bqU6K+l5oyH5a6a5LiA5Liq5YiG5pSv5aaCICdtYXN0ZXIn44CCXG4iCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDc3CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTExOQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxmb3JtZWQgcmVzcG9uc2UgaW4gcmVmIGxpc3Q6ICVzIgogbXNnc3RyICLlvJXnlKjliJfooajkuK3moLzlvI/plJnor6/nmoTlk43lupTvvJolcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEyMzEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQoJXMpIGZhaWxlZCIKIG1zZ3N0ciAi6K+75Y+W77yIJXPvvInlpLHotKUiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMjU4CisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3cml0ZSglcykgZmFpbGVkIgogbXNnc3RyICLlhpnvvIglc++8ieWksei0pSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMDcKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHRocmVhZCBmYWlsZWQiCiBtc2dzdHIgIiVzIOe6v+eoi+Wksei0pSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzMTEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHRocmVhZCBmYWlsZWQgdG8gam9pbjogJXMiCiBtc2dzdHIgIiVzIOe6v+eoi+etieW+heWksei0pe+8miVzIgogCi0jOiB0cmFuc3BvcnQtaGVscGVyLmM6MTMzMCB0cmFuc3BvcnQtaGVscGVyLmM6MTMzNAorIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNzAgdHJhbnNwb3J0LWhlbHBlci5jOjEzNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3Qgc3RhcnQgdGhyZWFkIGZvciBjb3B5aW5nIGRhdGE6ICVzIgogbXNnc3RyICLkuI3og73lkK/liqjnur/nqIvmnaXmi7fotJ3mlbDmja7vvJolcyIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNzEKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHByb2Nlc3MgZmFpbGVkIHRvIHdhaXQiCiBtc2dzdHIgIiVzIOi/m+eoi+etieW+heWksei0pSIKIAotIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNzUKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHByb2Nlc3MgZmFpbGVkIgogbXNnc3RyICIlcyDov5vnqIvlpLHotKUiCiAKLSM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMzkzIHRyYW5zcG9ydC1oZWxwZXIuYzoxNDAyCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTQzMyB0cmFuc3BvcnQtaGVscGVyLmM6MTQ0MgogbXNnaWQgImNhbid0IHN0YXJ0IHRocmVhZCBmb3IgY29weWluZyBkYXRhIgogbXNnc3RyICLkuI3og73lkK/liqjnur/nqIvmnaXmi7fotJ3mlbDmja4iCiAKQEAgLTYzMzQsMTEgKzgwNDIsMTYgQEAKIG1zZ2lkICJlbXB0eSBmaWxlbmFtZSBpbiB0cmVlIGVudHJ5IgogbXNnc3RyICLmoJHlr7nosaHmnaHnm67kuK3nqbrnmoTmlofku7blkI0iCiAKLSM6IHRyZWUtd2Fsay5jOjExNQorIzogdHJlZS13YWxrLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZW5hbWUgaW4gdHJlZSBlbnRyeSBjb250YWlucyBiYWNrc2xhc2g6ICclcyciCittc2dzdHIgIuagkeadoeebruS4reeahOaWh+S7tuWQjeWMheWQq+WPjeaWnOadoO+8miclcyciCisKKyM6IHRyZWUtd2Fsay5jOjEyNAogbXNnaWQgInRvby1zaG9ydCB0cmVlIGZpbGUiCiBtc2dzdHIgIuWkquefreeahOagkeaWh+S7tiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTEyCisjOiB1bnBhY2stdHJlZXMuYzoxMTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OlxuIgpAQCAtNjM0Nyw3ICs4MDYwLDcgQEAKICLmgqjlr7nkuIvliJfmlofku7bnmoTmnKzlnLDkv67mlLnlsIbooqvmo4Dlh7rmk43kvZzopobnm5bvvJpcbiIKICIlJXPor7flnKjliIfmjaLliIbmlK/liY3mj5DkuqTmiJbotK7ol4/mgqjnmoTkv67mlLnjgIIiCiAKLSM6IHVucGFjay10cmVlcy5jOjExNAorIzogdW5wYWNrLXRyZWVzLmM6MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKQEAgLTYzNTYsNyArODA2OSw3IEBACiAi5oKo5a+55LiL5YiX5paH5Lu255qE5pys5Zyw5L+u5pS55bCG6KKr5qOA5Ye65pON5L2c6KaG55uW77yaXG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMTcKKyM6IHVucGFjay10cmVlcy5jOjExNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC02MzY1LDcgKzgwNzgsNyBAQAogIuaCqOWvueS4i+WIl+aWh+S7tueahOacrOWcsOS/ruaUueWwhuiiq+WQiOW5tuaTjeS9nOimhueblu+8mlxuIgogIiUlc+ivt+WcqOWQiOW5tuWJjeaPkOS6pOaIlui0ruiXj+aCqOeahOS/ruaUueOAgiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTE5CisjOiB1bnBhY2stdHJlZXMuYzoxMTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgpAQCAtNjM3NCw3ICs4MDg3LDcgQEAKICLmgqjlr7nkuIvliJfmlofku7bnmoTmnKzlnLDkv67mlLnlsIbooqvlkIjlubbmk43kvZzopobnm5bvvJpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEyMgorIzogdW5wYWNrLXRyZWVzLmM6MTIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTYzODMsNyArODA5Niw3IEBACiAi5oKo5a+55LiL5YiX5paH5Lu255qE5pys5Zyw5L+u5pS55bCG6KKrICVzIOimhueblu+8mlxuIgogIiUlc+ivt+WcqCAlcyDkuYvliY3mj5DkuqTmiJbotK7ol4/mgqjnmoTkv67mlLnjgIIiCiAKLSM6IHVucGFjay10cmVlcy5jOjEyNAorIzogdW5wYWNrLXRyZWVzLmM6MTIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTYzOTIsNyArODEwNSw3IEBACiAi5oKo5a+55LiL5YiX5paH5Lu255qE5pys5Zyw5L+u5pS55bCG6KKrICVzIOimhueblu+8mlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTI5CisjOiB1bnBhY2stdHJlZXMuYzoxMjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVwZGF0aW5nIHRoZSBmb2xsb3dpbmcgZGlyZWN0b3JpZXMgd291bGQgbG9zZSB1bnRyYWNrZWQgZmlsZXMgaW4gdGhlbTpcbiIKQEAgLTY0MDEsNyArODExNCw3IEBACiAi5pu05paw5aaC5LiL55uu5b2V5bCG5Lya5Lii5aSx5YW25Lit5pyq6Lef6Liq55qE5paH5Lu277yaXG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjEzMworIzogdW5wYWNrLXRyZWVzLmM6MTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBjaGVja291dDpcbiIKQEAgLTY0MTAsNyArODEyMyw3IEBACiAi5bel5L2c5Yy65Lit5LiL5YiX5pyq6Lef6Liq55qE5paH5Lu25bCG5Lya5Zug5Li65qOA5Ye65pON5L2c6ICM6KKr5Yig6Zmk77yaXG4iCiAiJSVz6K+35Zyo5YiH5o2i5YiG5pSv5LmL5YmN56e75Yqo5oiW5Yig6Zmk44CCIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxMzUKKyM6IHVucGFjay10cmVlcy5jOjEzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCkBAIC02NDE5LDcgKzgxMzIsNyBAQAogIuW3peS9nOWMuuS4reS4i+WIl+acqui3n+i4queahOaWh+S7tuWwhuS8muWboOS4uuajgOWHuuaTjeS9nOiAjOiiq+WIoOmZpO+8mlxuIgogIiUlcyIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTM4CisjOiB1bnBhY2stdHJlZXMuYzoxMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IG1lcmdlOlxuIgpAQCAtNjQyOCw3ICs4MTQxLDcgQEAKICLlt6XkvZzljLrkuK3kuIvliJfmnKrot5/ouKrnmoTmlofku7blsIbkvJrlm6DkuLrlkIjlubbmk43kvZzogIzooqvliKDpmaTvvJpcbiIKICIlJXPor7flnKjlkIjlubbliY3np7vliqjmiJbliKDpmaTjgIIiCiAKLSM6IHVucGFjay10cmVlcy5jOjE0MAorIzogdW5wYWNrLXRyZWVzLmM6MTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKQEAgLTY0MzcsNyArODE1MCw3IEBACiAi5bel5L2c5Yy65Lit5LiL5YiX5pyq6Lef6Liq55qE5paH5Lu25bCG5Lya5Zug5Li65ZCI5bm25pON5L2c6ICM6KKr5Yig6Zmk77yaXG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDMKKyM6IHVucGFjay10cmVlcy5jOjE0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCkBAIC02NDQ2LDcgKzgxNTksNyBAQAogIuW3peS9nOWMuuS4reS4i+WIl+acqui3n+i4queahOaWh+S7tuWwhuS8muWboOS4uiAlcyDmk43kvZzogIzooqvliKDpmaTvvJpcbiIKICIlJXPor7flnKggJXMg5YmN56e75Yqo5oiW5Yig6Zmk44CCIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNDUKKyM6IHVucGFjay10cmVlcy5jOjE0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCkBAIC02NDU1LDcgKzgxNjgsNyBAQAogIuW3peS9nOWMuuS4reS4i+WIl+acqui3n+i4queahOaWh+S7tuWwhuS8muWboOS4uiAlcyDmk43kvZzogIzooqvliKDpmaTvvJpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE1MQorIzogdW5wYWNrLXRyZWVzLmM6MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgpAQCAtNjQ2NSw3ICs4MTc4LDcgQEAKICLlt6XkvZzljLrkuK3kuIvliJfmnKrot5/ouKrnmoTmlofku7blsIbkvJrlm6DkuLrmo4Dlh7rmk43kvZzogIzooqvopobnm5bvvJpcbiIKICIlJXPor7flnKjliIfmjaLliIbmlK/liY3np7vliqjmiJbliKDpmaTjgIIiCiAKLSM6IHVucGFjay10cmVlcy5jOjE1MworIzogdW5wYWNrLXRyZWVzLmM6MTUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgIgpAQCAtNjQ3NSw3ICs4MTg4LDcgQEAKICLlt6XkvZzljLrkuK3kuIvliJfmnKrot5/ouKrnmoTmlofku7blsIbkvJrlm6DkuLrmo4Dlh7rmk43kvZzogIzooqvopobnm5bvvJpcbiIKICIlJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE1NgorIzogdW5wYWNrLXRyZWVzLmM6MTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCkBAIC02NDg0LDcgKzgxOTcsNyBAQAogIuW3peS9nOWMuuS4reS4i+WIl+acqui3n+i4queahOaWh+S7tuWwhuS8muWboOS4uuWQiOW5tuaTjeS9nOiAjOiiq+imhueblu+8mlxuIgogIiUlc+ivt+WcqOWQiOW5tuWJjeenu+WKqOaIluWIoOmZpOOAgiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTU4CisjOiB1bnBhY2stdHJlZXMuYzoxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKQEAgLTY0OTMsNyArODIwNiw3IEBACiAi5bel5L2c5Yy65Lit5LiL5YiX5pyq6Lef6Liq55qE5paH5Lu25bCG5Lya5Zug5Li65ZCI5bm25pON5L2c6ICM6KKr6KaG55uW77yaXG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNjEKKyM6IHVucGFjay10cmVlcy5jOjE1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgpAQCAtNjUwMiw3ICs4MjE1LDcgQEAKICLlt6XkvZzljLrkuK3kuIvliJfmnKrot5/ouKrnmoTmlofku7blsIbkvJrlm6DkuLogJXMg5pON5L2c6ICM6KKr6KaG55uW77yaXG4iCiAiJSVz6K+35ZyoICVzIOWJjeenu+WKqOaIluWIoOmZpOOAgiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MTYzCisjOiB1bnBhY2stdHJlZXMuYzoxNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKQEAgLTY1MTEsMTIgKzgyMjQsMTIgQEAKICLlt6XkvZzljLrkuK3kuIvliJfmnKrot5/ouKrnmoTmlofku7blsIbkvJrlm6DkuLogJXMg5pON5L2c6ICM6KKr6KaG55uW77yaXG4iCiAiJSVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNzEKKyM6IHVucGFjay10cmVlcy5jOjE2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJFbnRyeSAnJXMnIG92ZXJsYXBzIHdpdGggJyVzJy4gIENhbm5vdCBiaW5kLiIKIG1zZ3N0ciAi5p2h55uuICclcycg5ZKMICclcycg6YeN5Y+g44CC5peg5rOV5ZCI5bm244CCIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNzQKKyM6IHVucGFjay10cmVlcy5jOjE3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBzcGFyc2UgY2hlY2tvdXQ6IHRoZSBmb2xsb3dpbmcgZW50cmllcyBhcmUgbm90IHVwIHRvIGRhdGU6XG4iCkBAIC02NTI1LDcgKzgyMzgsNyBAQAogIuaXoOazleabtOaWsOeogOeWj+ajgOWHuu+8muWmguS4i+adoeebruS4jeaYr+acgOaWsO+8mlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxNzYKKyM6IHVucGFjay10cmVlcy5jOjE3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgc3BhcnNlIGNoZWNrb3V0ICIKQEAgLTY1MzUsNyArODI0OCw3IEBACiAi5bel5L2c5Yy65Lit5LiL5YiX5paH5Lu25bCG6KKr56iA55aP5qOA5Ye65pu05paw5omA6KaG55uW77yaXG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjE3OAorIzogdW5wYWNrLXRyZWVzLmM6MTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IHNwYXJzZSBjaGVja291dCAiCkBAIC02NTQ1LDcgKzgyNTgsNyBAQAogIuW3peS9nOWMuuS4reS4i+WIl+aWh+S7tuWwhuiiq+eogOeWj+ajgOWHuuabtOaWsOaJgOWIoOmZpO+8mlxuIgogIiVzIgogCi0jOiB1bnBhY2stdHJlZXMuYzoxODAKKyM6IHVucGFjay10cmVlcy5jOjE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IHVwZGF0ZSBzdWJtb2R1bGU6XG4iCkBAIC02NTU0LDE2ICs4MjY3LDE2IEBACiAi5peg5rOV5pu05paw5a2Q5qih57uE77yaXG4iCiAiJXMiCiAKLSM6IHVucGFjay10cmVlcy5jOjI1NAorIzogdW5wYWNrLXRyZWVzLmM6MjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nXG4iCi1tc2dzdHIgIue7iOatouS4rVxuIgorbXNnc3RyICLmraPlnKjnu4jmraJcbiIKIAotIzogdW5wYWNrLXRyZWVzLmM6MzM2Ci1tc2dpZCAiQ2hlY2tpbmcgb3V0IGZpbGVzIgotbXNnc3RyICLmraPlnKjmo4Dlh7rmlofku7YiCisjOiB1bnBhY2stdHJlZXMuYzozMTcKK21zZ2lkICJVcGRhdGluZyBmaWxlcyIKK21zZ3N0ciAi5q2j5Zyo5pu05paw5paH5Lu2IgogCi0jOiB1bnBhY2stdHJlZXMuYzozNjgKKyM6IHVucGFjay10cmVlcy5jOjM0OQogbXNnaWQgIiIKICJ0aGUgZm9sbG93aW5nIHBhdGhzIGhhdmUgY29sbGlkZWQgKGUuZy4gY2FzZS1zZW5zaXRpdmUgcGF0aHNcbiIKICJvbiBhIGNhc2UtaW5zZW5zaXRpdmUgZmlsZXN5c3RlbSkgYW5kIG9ubHkgb25lIGZyb20gdGhlIHNhbWVcbiIKQEAgLTY1NzIsNiArODI4NSwxMCBAQAogIuS7peS4i+i3r+W+hOWPkeeUn+eisOaSnu+8iOWmgu+8muWcqOS4jeWMuuWIhuWkp+Wwj+WGmeeahOaWh+S7tuezu+e7n+S4iueahOWMuuWIhuWkp+Wwj+WGmeeahOi3r+W+hO+8ie+8jFxuIgogIuW5tuS4lOeisOaSnue7hOS4reWPquacieS4gOS4quaWh+S7tuWtmOWcqOW3peS9nOWMuuS4re+8mlxuIgogCisjOiB1bnBhY2stdHJlZXMuYzoxNDQxCittc2dpZCAiVXBkYXRpbmcgaW5kZXggZmxhZ3MiCittc2dzdHIgIuato+WcqOabtOaWsOe0ouW8leagh+W/lyIKKwogIzogdXJsbWF0Y2guYzoxNjMKIG1zZ2lkICJpbnZhbGlkIFVSTCBzY2hlbWUgbmFtZSBvciBtaXNzaW5nICc6Ly8nIHN1ZmZpeCIKIG1zZ3N0ciAi5peg5pWI55qEIFVSTCDmlrnmoYjlkI3np7DmiJbkuKLlpLEgJzovLycg5ZCO57yAIgpAQCAtNjYwMSwyMDYgKzgzMTgsMjExIEBACiBtc2dpZCAiaW52YWxpZCAnLi4nIHBhdGggc2VnbWVudCIKIG1zZ3N0ciAi5peg5pWI55qEICcuLicg6Lev5b6E54mH5q61IgogCi0jOiB3b3JrdHJlZS5jOjI0OSBidWlsdGluL2FtLmM6MjEwMAorIzogd29ya3RyZWUuYzoyNTggYnVpbHRpbi9hbS5jOjIwODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJyVzJyIKIG1zZ3N0ciAi6K+75Y+WICclcycg5aSx6LSlIgogCi0jOiB3b3JrdHJlZS5jOjI5NQorIzogd29ya3RyZWUuYzozMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBhdCBtYWluIHdvcmtpbmcgdHJlZSBpcyBub3QgdGhlIHJlcG9zaXRvcnkgZGlyZWN0b3J5IgogbXNnc3RyICLlnKjkuLvlt6XkvZzljLrnmoQgJyVzJyDkuI3mmK/ku5PlupPnm67lvZUiCiAKLSM6IHdvcmt0cmVlLmM6MzA2CisjOiB3b3JrdHJlZS5jOjMxNQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGZpbGUgZG9lcyBub3QgY29udGFpbiBhYnNvbHV0ZSBwYXRoIHRvIHRoZSB3b3JraW5nIHRyZWUgbG9jYXRpb24iCiBtc2dzdHIgIuaWh+S7tiAnJXMnIOS4jeWMheWQq+W3peS9nOWMuueahOe7neWvuei3r+W+hCIKIAotIzogd29ya3RyZWUuYzozMTgKKyM6IHdvcmt0cmVlLmM6MzI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIiclcycg5LiN5a2Y5ZyoIgogCi0jOiB3b3JrdHJlZS5jOjMyNAorIzogd29ya3RyZWUuYzozMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSAuZ2l0IGZpbGUsIGVycm9yIGNvZGUgJWQiCiBtc2dzdHIgIiclcycg5LiN5piv5LiA5LiqIC5naXQg5paH5Lu277yM6ZSZ6K+v56CBICVkIgogCi0jOiB3b3JrdHJlZS5jOjMzMgorIzogd29ya3RyZWUuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBkb2VzIG5vdCBwb2ludCBiYWNrIHRvICclcyciCiBtc2dzdHIgIiclcycg5rKh5pyJ5oyH5Zue5YiwICclcyciCiAKLSM6IHdyYXBwZXIuYzoyMjMgd3JhcHBlci5jOjM5MworIzogd3JhcHBlci5jOjE4NiB3cmFwcGVyLmM6MzU2CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmciCiBtc2dzdHIgIuaXoOazleaJk+W8gCAnJXMnIOi/m+ihjOivu+WGmSIKIAotIzogd3JhcHBlci5jOjQyNCB3cmFwcGVyLmM6NjI0CisjOiB3cmFwcGVyLmM6Mzg3IHdyYXBwZXIuYzo1ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgogbXNnc3RyICLkuI3og73orr/pl64gJyVzJyIKIAotIzogd3JhcHBlci5jOjYzMgorIzogd3JhcHBlci5jOjU5NgogbXNnaWQgInVuYWJsZSB0byBnZXQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKIG1zZ3N0ciAi5LiN6IO96I635Y+W5b2T5YmN5bel5L2c55uu5b2VIgogCi0jOiB3dC1zdGF0dXMuYzoxNTQKKyM6IHd0LXN0YXR1cy5jOjE1OAogbXNnaWQgIlVubWVyZ2VkIHBhdGhzOiIKIG1zZ3N0ciAi5pyq5ZCI5bm255qE6Lev5b6E77yaIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE4MSB3dC1zdGF0dXMuYzoyMDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgotbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCByZXNldCAlcyA85paH5Lu2Pi4uLlwiIOS7peWPlua2iOaaguWtmO+8iSIKKyM6IHd0LXN0YXR1cy5jOjE4NyB3dC1zdGF0dXMuYzoyMTkKK21zZ2lkICIgICh1c2UgXCJnaXQgcmVzdG9yZSAtLXN0YWdlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKK21zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcmVzdG9yZSAtLXN0YWdlZCA85paH5Lu2Pi4uLlwiIOS7peWPlua2iOaaguWtmO+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxODMgd3Qtc3RhdHVzLmM6MjEwCisjOiB3dC1zdGF0dXMuYzoxOTAgd3Qtc3RhdHVzLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgKHVzZSBcImdpdCByZXN0b3JlIC0tc291cmNlPSVzIC0tc3RhZ2VkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgorbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCByZXN0b3JlIC0tc291cmNlPSVzIC0tc3RhZ2VkIDzmlofku7Y+Li4uXCIg5Lul5Y+W5raI5pqC5a2Y77yJIgorCisjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKKyM6IHd0LXN0YXR1cy5jOjE5MyB3dC1zdGF0dXMuYzoyMjUKIG1zZ2lkICIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHJtIC0tY2FjaGVkIDzmlofku7Y+Li4uXCIg5Lul5Y+W5raI5pqC5a2Y77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE4NworIzogd3Qtc3RhdHVzLmM6MTk3CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZCA8ZmlsZT4uLi5cIiB0byBtYXJrIHJlc29sdXRpb24pIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBhZGQgPOaWh+S7tj4uLi5cIiDmoIforrDop6PlhrPmlrnmoYjvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTg5IHd0LXN0YXR1cy5jOjE5MworIzogd3Qtc3RhdHVzLmM6MTk5IHd0LXN0YXR1cy5jOjIwMwogbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQvcm0gPGZpbGU+Li4uXCIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKSIKIG1zZ3N0ciAiICDvvIjphYzmg4Xkvb/nlKggXCJnaXQgYWRkL3JtIDzmlofku7Y+Li4uXCIg5qCH6K6w6Kej5Yaz5pa55qGI77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE5MQorIzogd3Qtc3RhdHVzLmM6MjAxCiBtc2dpZCAiICAodXNlIFwiZ2l0IHJtIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHJtIDzmlofku7Y+Li4uXCIg5qCH6K6w6Kej5Yaz5pa55qGI77yJIgogCi0jOiB3dC1zdGF0dXMuYzoyMDIgd3Qtc3RhdHVzLmM6MTA0MgorIzogd3Qtc3RhdHVzLmM6MjExIHd0LXN0YXR1cy5jOjEwNzQKIG1zZ2lkICJDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoiCiBtc2dzdHIgIuimgeaPkOS6pOeahOWPmOabtO+8miIKIAotIzogd3Qtc3RhdHVzLmM6MjIwIHd0LXN0YXR1cy5jOjEwNTEKKyM6IHd0LXN0YXR1cy5jOjIzNCB3dC1zdGF0dXMuYzoxMDgzCiBtc2dpZCAiQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6IgogbXNnc3RyICLlsJrmnKrmmoLlrZjku6XlpIfmj5DkuqTnmoTlj5jmm7TvvJoiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MjI0CisjOiB3dC1zdGF0dXMuYzoyMzgKIG1zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgYWRkIDzmlofku7Y+Li4uXCIg5pu05paw6KaB5o+Q5Lqk55qE5YaF5a6577yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjIyNgorIzogd3Qtc3RhdHVzLmM6MjQwCiBtc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGFkZC9ybSA85paH5Lu2Pi4uLlwiIOabtOaWsOimgeaPkOS6pOeahOWGheWuue+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoyMjcKKyM6IHd0LXN0YXR1cy5jOjI0MQogbXNnaWQgIiIKLSIgICh1c2UgXCJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKLW1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgY2hlY2tvdXQgLS0gPOaWh+S7tj4uLi5cIiDkuKLlvIPlt6XkvZzljLrnmoTmlLnliqjvvIkiCisiICAodXNlIFwiZ2l0IHJlc3RvcmUgPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKK21zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcmVzdG9yZSA85paH5Lu2Pi4uLlwiIOS4ouW8g+W3peS9nOWMuueahOaUueWKqO+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoyMjkKKyM6IHd0LXN0YXR1cy5jOjI0MwogbXNnaWQgIiAgKGNvbW1pdCBvciBkaXNjYXJkIHRoZSB1bnRyYWNrZWQgb3IgbW9kaWZpZWQgY29udGVudCBpbiBzdWJtb2R1bGVzKSIKIG1zZ3N0ciAiICDvvIjmj5DkuqTmiJbkuKLlvIPlrZDmqKHnu4TkuK3mnKrot5/ouKrmiJbkv67mlLnnmoTlhoXlrrnvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MjQxCisjOiB3dC1zdGF0dXMuYzoyNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAodXNlIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0ICVzIDzmlofku7Y+Li4uXCIg5Lul5YyF5ZCr6KaB5o+Q5Lqk55qE5YaF5a6577yJIgogCi0jOiB3dC1zdGF0dXMuYzoyNTYKKyM6IHd0LXN0YXR1cy5jOjI2OAogbXNnaWQgImJvdGggZGVsZXRlZDoiCiBtc2dzdHIgIuWPjOaWueWIoOmZpO+8miIKIAotIzogd3Qtc3RhdHVzLmM6MjU4CisjOiB3dC1zdGF0dXMuYzoyNzAKIG1zZ2lkICJhZGRlZCBieSB1czoiCiBtc2dzdHIgIueUseaIkeS7rOa3u+WKoO+8miIKIAotIzogd3Qtc3RhdHVzLmM6MjYwCisjOiB3dC1zdGF0dXMuYzoyNzIKIG1zZ2lkICJkZWxldGVkIGJ5IHRoZW06IgogbXNnc3RyICLnlLHku5bku6zliKDpmaTvvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2MgorIzogd3Qtc3RhdHVzLmM6Mjc0CiBtc2dpZCAiYWRkZWQgYnkgdGhlbToiCiBtc2dzdHIgIueUseS7luS7rOa3u+WKoO+8miIKIAotIzogd3Qtc3RhdHVzLmM6MjY0CisjOiB3dC1zdGF0dXMuYzoyNzYKIG1zZ2lkICJkZWxldGVkIGJ5IHVzOiIKIG1zZ3N0ciAi55Sx5oiR5Lus5Yig6Zmk77yaIgogCi0jOiB3dC1zdGF0dXMuYzoyNjYKKyM6IHd0LXN0YXR1cy5jOjI3OAogbXNnaWQgImJvdGggYWRkZWQ6IgogbXNnc3RyICLlj4zmlrnmt7vliqDvvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjI2OAorIzogd3Qtc3RhdHVzLmM6MjgwCiBtc2dpZCAiYm90aCBtb2RpZmllZDoiCiBtc2dzdHIgIuWPjOaWueS/ruaUue+8miIKIAotIzogd3Qtc3RhdHVzLmM6Mjc4CisjOiB3dC1zdGF0dXMuYzoyOTAKIG1zZ2lkICJuZXcgZmlsZToiCiBtc2dzdHIgIuaWsOaWh+S7tu+8miIKIAotIzogd3Qtc3RhdHVzLmM6MjgwCisjOiB3dC1zdGF0dXMuYzoyOTIKIG1zZ2lkICJjb3BpZWQ6IgogbXNnc3RyICLmi7fotJ3vvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjI4MgorIzogd3Qtc3RhdHVzLmM6Mjk0CiBtc2dpZCAiZGVsZXRlZDoiCiBtc2dzdHIgIuWIoOmZpO+8miIKIAotIzogd3Qtc3RhdHVzLmM6Mjg0CisjOiB3dC1zdGF0dXMuYzoyOTYKIG1zZ2lkICJtb2RpZmllZDoiCiBtc2dzdHIgIuS/ruaUue+8miIKIAotIzogd3Qtc3RhdHVzLmM6Mjg2CisjOiB3dC1zdGF0dXMuYzoyOTgKIG1zZ2lkICJyZW5hbWVkOiIKIG1zZ3N0ciAi6YeN5ZG95ZCN77yaIgogCi0jOiB3dC1zdGF0dXMuYzoyODgKKyM6IHd0LXN0YXR1cy5jOjMwMAogbXNnaWQgInR5cGVjaGFuZ2U6IgogbXNnc3RyICLnsbvlnovlj5jmm7TvvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjI5MAorIzogd3Qtc3RhdHVzLmM6MzAyCiBtc2dpZCAidW5rbm93bjoiCiBtc2dzdHIgIuacquefpe+8miIKIAotIzogd3Qtc3RhdHVzLmM6MjkyCisjOiB3dC1zdGF0dXMuYzozMDQKIG1zZ2lkICJ1bm1lcmdlZDoiCiBtc2dzdHIgIuacquWQiOW5tu+8miIKIAogIyAg6K+R6ICF77ya5pyr5bC+5Lik5Liq5a2X6IqC5Y+v6IO96KKr5Yig5YeP77yM5aaC5p6c57+76K+R5Li65Lit5paH5qCH54K55Lya5Ye6546w5Y2K5Liq5rGJ5a2XCi0jOiB3dC1zdGF0dXMuYzozNzIKKyM6IHd0LXN0YXR1cy5jOjM4NAogbXNnaWQgIm5ldyBjb21taXRzLCAiCiBtc2dzdHIgIuaWsOaPkOS6pCwgIgogCiAjICDor5HogIXvvJrmnKvlsL7kuKTkuKrlrZfoioLlj6/og73ooqvliKDlh4/vvIzlpoLmnpznv7vor5HkuLrkuK3mlofmoIfngrnkvJrlh7rnjrDljYrkuKrmsYnlrZcKLSM6IHd0LXN0YXR1cy5jOjM3NAorIzogd3Qtc3RhdHVzLmM6Mzg2CiBtc2dpZCAibW9kaWZpZWQgY29udGVudCwgIgogbXNnc3RyICLkv67mlLnnmoTlhoXlrrksICIKIAogIyAg6K+R6ICF77ya5pyr5bC+5Lik5Liq5a2X6IqC5Y+v6IO96KKr5Yig5YeP77yM5aaC5p6c57+76K+R5Li65Lit5paH5qCH54K55Lya5Ye6546w5Y2K5Liq5rGJ5a2XCi0jOiB3dC1zdGF0dXMuYzozNzYKKyM6IHd0LXN0YXR1cy5jOjM4OAogbXNnaWQgInVudHJhY2tlZCBjb250ZW50LCAiCiBtc2dzdHIgIuacqui3n+i4queahOWGheWuuSwgIgogCi0jOiB3dC1zdGF0dXMuYzo4ODAKKyM6IHd0LXN0YXR1cy5jOjkwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3VyIHN0YXNoIGN1cnJlbnRseSBoYXMgJWQgZW50cnkiCiBtc2dpZF9wbHVyYWwgIllvdXIgc3Rhc2ggY3VycmVudGx5IGhhcyAlZCBlbnRyaWVzIgogbXNnc3RyWzBdICLmgqjnmoTotK7ol4/ljLrlvZPliY3mnIkgJWQg5p2h6K6w5b2VIgogbXNnc3RyWzFdICLmgqjnmoTotK7ol4/ljLrlvZPliY3mnIkgJWQg5p2h6K6w5b2VIgogCi0jOiB3dC1zdGF0dXMuYzo5MTIKKyM6IHd0LXN0YXR1cy5jOjkzOAogbXNnaWQgIlN1Ym1vZHVsZXMgY2hhbmdlZCBidXQgbm90IHVwZGF0ZWQ6IgogbXNnc3RyICLlrZDmqKHnu4Tlt7Lkv67mlLnkvYblsJrmnKrmm7TmlrDvvJoiCiAKLSM6IHd0LXN0YXR1cy5jOjkxNAorIzogd3Qtc3RhdHVzLmM6OTQwCiBtc2dpZCAiU3VibW9kdWxlIGNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKIG1zZ3N0ciAi6KaB5o+Q5Lqk55qE5a2Q5qih57uE5Y+Y5pu077yaIgogCi0jOiB3dC1zdGF0dXMuYzo5OTYKKyM6IHd0LXN0YXR1cy5jOjEwMjIKIG1zZ2lkICIiCiAiRG8gbm90IG1vZGlmeSBvciByZW1vdmUgdGhlIGxpbmUgYWJvdmUuXG4iCiAiRXZlcnl0aGluZyBiZWxvdyBpdCB3aWxsIGJlIGlnbm9yZWQuIgpAQCAtNjgwOCw3NyArODUzMCw4OCBAQAogIuS4jeimgeaUueWKqOaIluWIoOmZpOS4iumdoueahOS4gOihjOOAglxuIgogIuWFtuS4i+aJgOacieWGheWuuemDveWwhuiiq+W/veeVpeOAgiIKIAotIzogd3Qtc3RhdHVzLmM6MTA5NworIzogd3Qtc3RhdHVzLmM6MTExNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSXQgdG9vayAlLjJmIHNlY29uZHMgdG8gY29tcHV0ZSB0aGUgYnJhbmNoIGFoZWFkL2JlaGluZCB2YWx1ZXMuXG4iCisiWW91IGNhbiB1c2UgJy0tbm8tYWhlYWQtYmVoaW5kJyB0byBhdm9pZCB0aGlzLlxuIgorbXNnc3RyICIiCisiXG4iCisi6Iqx5LqGICUuMmYg56eS5omN6K6h566X5Ye65YiG5pSv55qE6aKG5YWIL+iQveWQjuiMg+WbtOOAglxuIgorIuS4uumBv+WFje+8jOaCqOWPr+S7peS9v+eUqCAnLS1uby1haGVhZC1iZWhpbmQn44CCXG4iCisKKyM6IHd0LXN0YXR1cy5jOjExNDQKIG1zZ2lkICJZb3UgaGF2ZSB1bm1lcmdlZCBwYXRocy4iCiBtc2dzdHIgIuaCqOacieWwmuacquWQiOW5tueahOi3r+W+hOOAgiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMTAwCisjOiB3dC1zdGF0dXMuYzoxMTQ3CiBtc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuIFwiZ2l0IGNvbW1pdFwiKSIKIG1zZ3N0ciAiICDvvIjop6PlhrPlhrLnqoHlubbov5DooYwgXCJnaXQgY29tbWl0XCLvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTEwMgorIzogd3Qtc3RhdHVzLmM6MTE0OQogbXNnaWQgIiAgKHVzZSBcImdpdCBtZXJnZSAtLWFib3J0XCIgdG8gYWJvcnQgdGhlIG1lcmdlKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgbWVyZ2UgLS1hYm9ydFwiIOe7iOatouWQiOW5tu+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTEwNgorIzogd3Qtc3RhdHVzLmM6MTE1MwogbXNnaWQgIkFsbCBjb25mbGljdHMgZml4ZWQgYnV0IHlvdSBhcmUgc3RpbGwgbWVyZ2luZy4iCiBtc2dzdHIgIuaJgOacieWGsueqgeW3suino+WGs+S9huaCqOS7jeWkhOS6juWQiOW5tuS4reOAgiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMTA5CisjOiB3dC1zdGF0dXMuYzoxMTU2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdFwiIHRvIGNvbmNsdWRlIG1lcmdlKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgY29tbWl0XCIg57uT5p2f5ZCI5bm277yJIgogCi0jOiB3dC1zdGF0dXMuYzoxMTE4CisjOiB3dC1zdGF0dXMuYzoxMTY1CiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGFuIGFtIHNlc3Npb24uIgogbXNnc3RyICLmgqjmraPlpITkuo4gYW0g5pON5L2c6L+H56iL5Lit44CCIgogCi0jOiB3dC1zdGF0dXMuYzoxMTIxCisjOiB3dC1zdGF0dXMuYzoxMTY4CiBtc2dpZCAiVGhlIGN1cnJlbnQgcGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICLlvZPliY3nmoTooaXkuIHkuLrnqbrjgIIiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTEyNQorIzogd3Qtc3RhdHVzLmM6MTE3MgogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IGFtIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAg77yI6Kej5Yaz5Yay56qB77yM54S25ZCO6L+Q6KGMIFwiZ2l0IGFtIC0tY29udGludWVcIu+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMTI3CisjOiB3dC1zdGF0dXMuYzoxMTc0CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGFtIC0tc2tpcFwiIOi3s+i/h+atpOihpeS4ge+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMTI5CisjOiB3dC1zdGF0dXMuYzoxMTc2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBhbSAtLWFib3J0XCIg5oGi5aSN5Y6f5pyJ5YiG5pSv77yJIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYwCisjOiB3dC1zdGF0dXMuYzoxMzA5CiBtc2dpZCAiZ2l0LXJlYmFzZS10b2RvIGlzIG1pc3NpbmcuIgogbXNnc3RyICJnaXQtcmViYXNlLXRvZG8g5Lii5aSx44CCIgogCi0jOiB3dC1zdGF0dXMuYzoxMjYyCisjOiB3dC1zdGF0dXMuYzoxMzExCiBtc2dpZCAiTm8gY29tbWFuZHMgZG9uZS4iCiBtc2dzdHIgIuayoeacieWRveS7pOiiq+aJp+ihjOOAgiIKIAotIzogd3Qtc3RhdHVzLmM6MTI2NQorIzogd3Qtc3RhdHVzLmM6MTMxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJMYXN0IGNvbW1hbmQgZG9uZSAoJWQgY29tbWFuZCBkb25lKToiCiBtc2dpZF9wbHVyYWwgIkxhc3QgY29tbWFuZHMgZG9uZSAoJWQgY29tbWFuZHMgZG9uZSk6IgogbXNnc3RyWzBdICLmnIDlkI7kuIDmnaHlkb3ku6Tlt7LlrozmiJDvvIglZCDmnaHlkb3ku6TooqvmiafooYzvvInvvJoiCiBtc2dzdHJbMV0gIuacgOWQjueahOWRveS7pOW3suWujOaIkO+8iCVkIOadoeWRveS7pOiiq+aJp+ihjO+8ie+8miIKIAotIzogd3Qtc3RhdHVzLmM6MTI3NgorIzogd3Qtc3RhdHVzLmM6MTMyNQogIywgYy1mb3JtYXQKIG1zZ2lkICIgIChzZWUgbW9yZSBpbiBmaWxlICVzKSIKIG1zZ3N0ciAiICDvvIjmm7TlpJrlj4Lop4Hmlofku7YgJXPvvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjEyODEKKyM6IHd0LXN0YXR1cy5jOjEzMzAKIG1zZ2lkICJObyBjb21tYW5kcyByZW1haW5pbmcuIgogbXNnc3RyICLmnKrliankuIvku7vkvZXlkb3ku6TjgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjEyODQKKyM6IHd0LXN0YXR1cy5jOjEzMzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTmV4dCBjb21tYW5kIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZCk6IgogbXNnaWRfcGx1cmFsICJOZXh0IGNvbW1hbmRzIHRvIGRvICglZCByZW1haW5pbmcgY29tbWFuZHMpOiIKQEAgLTY4ODYsMTY5ICs4NjE5LDE4OSBAQAogbXNnc3RyWzFdICLmjqXkuIvmnaXopoHmiafooYznmoTlkb3ku6TvvIjliankvZkgJWQg5p2h5ZG95Luk77yJ77yaIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEyOTIKKyM6IHd0LXN0YXR1cy5jOjEzNDEKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIgdG8gdmlldyBhbmQgZWRpdCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIOadpeafpeeci+WSjOe8lui+ke+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTMwNAorIzogd3Qtc3RhdHVzLmM6MTM1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKIG1zZ3N0ciAi5oKo5Zyo5omn6KGM5bCG5YiG5pSvICclcycg5Y+Y5Z+65YiwICclcycg55qE5pON5L2c44CCIgogCi0jOiB3dC1zdGF0dXMuYzoxMzA5CisjOiB3dC1zdGF0dXMuYzoxMzU4CiBtc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgogbXNnc3RyICLmgqjlnKjmiafooYzlj5jln7rmk43kvZzjgIIiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTMyMgorIzogd3Qtc3RhdHVzLmM6MTM3MQogbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgogbXNnc3RyICIgIO+8iOino+WGs+WGsueqge+8jOeEtuWQjui/kOihjCBcImdpdCByZWJhc2UgLS1jb250aW51ZVwi77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEzMjQKKyM6IHd0LXN0YXR1cy5jOjEzNzMKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiDot7Pov4fmraTooaXkuIHvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTMyNgorIzogd3Qtc3RhdHVzLmM6MTM3NQogbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHRvIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcmViYXNlIC0tYWJvcnRcIiDku6Xmo4Dlh7rljp/mnInliIbmlK/vvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTMzMworIzogd3Qtc3RhdHVzLmM6MTM4MgogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICDvvIjmiYDmnInlhrLnqoHlt7Lop6PlhrPvvJrov5DooYwgXCJnaXQgcmViYXNlIC0tY29udGludWVcIu+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTMzNworIzogd3Qtc3RhdHVzLmM6MTM4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICLmgqjlnKjmiafooYzlsIbliIbmlK8gJyVzJyDlj5jln7rliLAgJyVzJyDnmoTmk43kvZzml7bmi4bliIbmj5DkuqTjgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNDIKKyM6IHd0LXN0YXR1cy5jOjEzOTEKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKIG1zZ3N0ciAi5oKo5Zyo5omn6KGM5Y+Y5Z+65pON5L2c5pe25ouG5YiG5o+Q5Lqk44CCIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEzNDUKKyM6IHd0LXN0YXR1cy5jOjEzOTQKIG1zZ2lkICIgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICDvvIjkuIDml6bmgqjlt6XkvZznm67lvZXmj5DkuqTlubLlh4DlkI7vvIzov5DooYwgXCJnaXQgcmViYXNlIC0tY29udGludWVcIu+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTM0OQorIzogd3Qtc3RhdHVzLmM6MTM5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgogbXNnc3RyICLmgqjlnKjmiafooYzlsIbliIbmlK8gJyVzJyDlj5jln7rliLAgJyVzJyDnmoTmk43kvZzml7bnvJbovpHmj5DkuqTjgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjEzNTQKKyM6IHd0LXN0YXR1cy5jOjE0MDMKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCiBtc2dzdHIgIuaCqOWcqOaJp+ihjOWPmOWfuuaTjeS9nOaXtue8lui+keaPkOS6pOOAgiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMzU3CisjOiB3dC1zdGF0dXMuYzoxNDA2CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKIG1zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgY29tbWl0IC0tYW1lbmRcIiDkv67ooaXlvZPliY3mj5DkuqTvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTM1OQorIzogd3Qtc3RhdHVzLmM6MTQwOAogbXNnaWQgIiIKICIgICh1c2UgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKSIKIG1zZ3N0ciAiICDvvIjlvZPmgqjlr7nmgqjnmoTkv67mlLnmu6HmhI/lkI7miafooYwgXCJnaXQgcmViYXNlIC0tY29udGludWVcIu+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTM2OAorIzogd3Qtc3RhdHVzLmM6MTQxOQorbXNnaWQgIkNoZXJyeS1waWNrIGN1cnJlbnRseSBpbiBwcm9ncmVzcy4iCittc2dzdHIgIuaLo+mAieaTjeS9nOato+WcqOi/m+ihjOS4reOAgiIKKworIzogd3Qtc3RhdHVzLmM6MTQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgogbXNnc3RyICLmgqjlnKjmiafooYzmi6PpgInmj5DkuqQgJXMg55qE5pON5L2c44CCIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEzNzMKKyM6IHd0LXN0YXR1cy5jOjE0MjkKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKIG1zZ3N0ciAiICDvvIjop6PlhrPlhrLnqoHlubbov5DooYwgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwi77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEzNzYKKyM6IHd0LXN0YXR1cy5jOjE0MzIKK21zZ2lkICIgIChydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHRvIGNvbnRpbnVlKSIKK21zZ3N0ciAiICDvvIjmiafooYwgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIOS7pee7p+e7re+8iSIKKworIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8CisjOiB3dC1zdGF0dXMuYzoxNDM1CiBtc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCiBtc2dzdHIgIiAg77yI5omA5pyJ5Yay56qB5bey6Kej5Yaz77ya6L+Q6KGMIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIu+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMzc4CisjOiB3dC1zdGF0dXMuYzoxNDM3Cittc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCittc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGNoZXJyeS1waWNrIC0tc2tpcFwiIOi3s+i/h+atpOihpeS4ge+8iSIKKworIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8CisjOiB3dC1zdGF0dXMuYzoxNDM5CiBtc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCiBtc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiDku6Xlj5bmtojmi6PpgInmk43kvZzvvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjEzODYKKyM6IHd0LXN0YXR1cy5jOjE0NDkKK21zZ2lkICJSZXZlcnQgY3VycmVudGx5IGluIHByb2dyZXNzLiIKK21zZ3N0ciAi6L+Y5Y6f5pON5L2c5q2j5Zyo6KGM5Lit44CCIgorCisjOiB3dC1zdGF0dXMuYzoxNDUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJldmVydGluZyBjb21taXQgJXMuIgogbXNnc3RyICLmgqjlnKjmiafooYzlj43ovazmj5DkuqQgJXMg55qE5pON5L2c44CCIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjEzOTEKKyM6IHd0LXN0YXR1cy5jOjE0NTgKIG1zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCi1tc2dzdHIgIiAg77yI6Kej5Yaz5Yay56qB5bm26L+Q6KGMIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCLvvIkiCittc2dzdHIgIiAg77yI6Kej5Yaz5Yay56qB5bm25omn6KGMIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCLvvIkiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogd3Qtc3RhdHVzLmM6MTM5NAorIzogd3Qtc3RhdHVzLmM6MTQ2MQorbXNnaWQgIiAgKHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiIHRvIGNvbnRpbnVlKSIKK21zZ3N0ciAiICDvvIjmiafooYwgXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIiDku6Xnu6fnu63vvIkiCisKKyMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAorIzogd3Qtc3RhdHVzLmM6MTQ2NAogbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKLW1zZ3N0ciAiICDvvIjmiYDmnInlhrLnqoHlt7Lop6PlhrPvvJrov5DooYwgXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIu+8iSIKK21zZ3N0ciAiICDvvIjmiYDmnInlhrLnqoHlt7Lop6PlhrPvvJrmiafooYwgXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIu+8iSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxMzk2CisjOiB3dC1zdGF0dXMuYzoxNDY2Cittc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgorbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCByZXZlcnQgLS1za2lwXCIg6Lez6L+H5q2k6KGl5LiB77yJIgorCisjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKKyM6IHd0LXN0YXR1cy5jOjE0NjgKIG1zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCByZXZlcnQgLS1hYm9ydFwiIOS7peWPlua2iOWPjei9rOaPkOS6pOaTjeS9nO+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTQwNgorIzogd3Qtc3RhdHVzLmM6MTQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcsIHN0YXJ0ZWQgZnJvbSBicmFuY2ggJyVzJy4iCiBtc2dzdHIgIuaCqOWcqOaJp+ihjOS7juWIhuaUryAnJXMnIOW8gOWni+eahOS6jOWIhuafpeaJvuaTjeS9nOOAgiIKIAotIzogd3Qtc3RhdHVzLmM6MTQxMAorIzogd3Qtc3RhdHVzLmM6MTQ4MgogbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCiBtc2dzdHIgIuaCqOWcqOaJp+ihjOS6jOWIhuafpeaJvuaTjeS9nOOAgiIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxNDEzCisjOiB3dC1zdGF0dXMuYzoxNDg1CiBtc2dpZCAiICAodXNlIFwiZ2l0IGJpc2VjdCByZXNldFwiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpIgogbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBiaXNlY3QgcmVzZXRcIiDku6Xlm57liLDljp/mnInliIbmlK/vvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MTEKKyM6IHd0LXN0YXR1cy5jOjE2OTQKIG1zZ2lkICJPbiBicmFuY2ggIgogbXNnc3RyICLkvY3kuo7liIbmlK8gIgogCi0jOiB3dC1zdGF0dXMuYzoxNjE4CisjOiB3dC1zdGF0dXMuYzoxNzAxCiBtc2dpZCAiaW50ZXJhY3RpdmUgcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKIG1zZ3N0ciAi5Lqk5LqS5byP5Y+Y5Z+65pON5L2c5q2j5Zyo6L+b6KGM5Lit77yb6IezICIKIAotIzogd3Qtc3RhdHVzLmM6MTYyMAorIzogd3Qtc3RhdHVzLmM6MTcwMwogbXNnaWQgInJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCiBtc2dzdHIgIuWPmOWfuuaTjeS9nOato+WcqOi/m+ihjOS4re+8m+iHsyAiCiAKLSM6IHd0LXN0YXR1cy5jOjE2MjUKLW1zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKLW1zZ3N0ciAi5aS05oyH6ZKI5YiG56a75LqOICIKLQotIzogd3Qtc3RhdHVzLmM6MTYyNwotbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCi1tc2dzdHIgIuWktOaMh+mSiOWIhuemu+iHqiAiCi0KLSM6IHd0LXN0YXR1cy5jOjE2MzAKKyM6IHd0LXN0YXR1cy5jOjE3MTMKIG1zZ2lkICJOb3QgY3VycmVudGx5IG9uIGFueSBicmFuY2guIgogbXNnc3RyICLlvZPliY3kuI3lnKjku7vkvZXliIbmlK/kuIrjgIIiCiAKLSM6IHd0LXN0YXR1cy5jOjE2NDcKKyM6IHd0LXN0YXR1cy5jOjE3MzAKIG1zZ2lkICJJbml0aWFsIGNvbW1pdCIKIG1zZ3N0ciAi5Yid5aeL5o+Q5LqkIgogCi0jOiB3dC1zdGF0dXMuYzoxNjQ4CisjOiB3dC1zdGF0dXMuYzoxNzMxCiBtc2dpZCAiTm8gY29tbWl0cyB5ZXQiCiBtc2dzdHIgIuWwmuaXoOaPkOS6pCIKIAotIzogd3Qtc3RhdHVzLmM6MTY2MgorIzogd3Qtc3RhdHVzLmM6MTc0NQogbXNnaWQgIlVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi5pyq6Lef6Liq55qE5paH5Lu2IgogCi0jOiB3dC1zdGF0dXMuYzoxNjY0CisjOiB3dC1zdGF0dXMuYzoxNzQ3CiBtc2dpZCAiSWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAi5b+955Wl55qE5paH5Lu2IgogCi0jOiB3dC1zdGF0dXMuYzoxNjY4CisjOiB3dC1zdGF0dXMuYzoxNzUxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCkBAIC03MDU4LDIyMSArODgxMSwyMjYgQEAKICLogJfotLnkuoYgJS4yZiDnp5Lku6XmnprkuL7mnKrot5/ouKrnmoTmlofku7bjgIInc3RhdHVzIC11bm8nIOS5n+iuuOiDveaPkOmrmOmAn+W6pu+8jFxuIgogIuS9huaCqOmcgOimgeWwj+W/g+S4jeimgeW/mOS6hua3u+WKoOaWsOaWh+S7tu+8iOWPguingSAnZ2l0IGhlbHAgc3RhdHVzJ++8ieOAgiIKIAotIzogd3Qtc3RhdHVzLmM6MTY3NAorIzogd3Qtc3RhdHVzLmM6MTc1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCVzIgogbXNnc3RyICLmnKrot5/ouKrnmoTmlofku7bmsqHmnInliJflh7olcyIKIAogIyAg6K+R6ICF77ya5Lit5paH5a2X56ym5Liy5ou85o6l77yM5Y+v5Yig6Zmk5YmN5a+856m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxNjc2CisjOiB3dC1zdGF0dXMuYzoxNzU5CiBtc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKIG1zZ3N0ciAi77yI5L2/55SoIC11IOWPguaVsOaYvuekuuacqui3n+i4queahOaWh+S7tu+8iSIKIAotIzogd3Qtc3RhdHVzLmM6MTY4MgorIzogd3Qtc3RhdHVzLmM6MTc2NQogbXNnaWQgIk5vIGNoYW5nZXMiCiBtc2dzdHIgIuayoeacieS/ruaUuSIKIAotIzogd3Qtc3RhdHVzLmM6MTY4NworIzogd3Qtc3RhdHVzLmM6MTc3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKIG1zZ3N0ciAi5L+u5pS55bCa5pyq5Yqg5YWl5o+Q5Lqk77yI5L2/55SoIFwiZ2l0IGFkZFwiIOWSjC/miJYgXCJnaXQgY29tbWl0IC1hXCLvvIlcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTY5MAorIzogd3Qtc3RhdHVzLmM6MTc3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdFxuIgogbXNnc3RyICLkv67mlLnlsJrmnKrliqDlhaXmj5DkuqRcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTY5MworIzogd3Qtc3RhdHVzLmM6MTc3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgogInRyYWNrKVxuIgogbXNnc3RyICLmj5DkuqTkuLrnqbrvvIzkvYbmmK/lrZjlnKjlsJrmnKrot5/ouKrnmoTmlofku7bvvIjkvb/nlKggXCJnaXQgYWRkXCIg5bu656uL6Lef6Liq77yJXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE2OTYKKyM6IHd0LXN0YXR1cy5jOjE3NzkKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50XG4iCiBtc2dzdHIgIuaPkOS6pOS4uuepuu+8jOS9huaYr+WtmOWcqOWwmuacqui3n+i4queahOaWh+S7tlxuIgogCiAjICDor5HogIXvvJrkuK3mloflrZfnrKbkuLLmi7zmjqXvvIzlj6/liKDpmaTliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE2OTkKKyM6IHd0LXN0YXR1cy5jOjE3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCiBtc2dzdHIgIuaXoOaWh+S7tuimgeaPkOS6pO+8iOWIm+W7ui/mi7fotJ3mlofku7blubbkvb/nlKggXCJnaXQgYWRkXCIg5bu656uL6Lef6Liq77yJXG4iCiAKLSM6IHd0LXN0YXR1cy5jOjE3MDIgd3Qtc3RhdHVzLmM6MTcwNworIzogd3Qtc3RhdHVzLmM6MTc4NSB3dC1zdGF0dXMuYzoxNzkwCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0XG4iCiBtc2dzdHIgIuaXoOaWh+S7tuimgeaPkOS6pFxuIgogCiAjICDor5HogIXvvJrkuK3mloflrZfnrKbkuLLmi7zmjqXvvIzlj6/liKDpmaTliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE3MDUKKyM6IHd0LXN0YXR1cy5jOjE3ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcylcbiIKIG1zZ3N0ciAi5peg5paH5Lu26KaB5o+Q5Lqk77yI5L2/55SoIC11IOaYvuekuuacqui3n+i4queahOaWh+S7tu+8iVxuIgogCiAjICDor5HogIXvvJrkuK3mloflrZfnrKbkuLLmi7zmjqXvvIzlj6/liKDpmaTliY3lr7znqbrmoLwKLSM6IHd0LXN0YXR1cy5jOjE3MDkKKyM6IHd0LXN0YXR1cy5jOjE3OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAibm90aGluZyB0byBjb21taXQsIHdvcmtpbmcgdHJlZSBjbGVhblxuIgogbXNnc3RyICLml6Dmlofku7bopoHmj5DkuqTvvIzlubLlh4DnmoTlt6XkvZzljLpcbiIKIAotIzogd3Qtc3RhdHVzLmM6MTgyMgorIzogd3Qtc3RhdHVzLmM6MTkwNQogbXNnaWQgIk5vIGNvbW1pdHMgeWV0IG9uICIKIG1zZ3N0ciAi5bCa5peg5o+Q5Lqk5ZyoICIKIAotIzogd3Qtc3RhdHVzLmM6MTgyNgorIzogd3Qtc3RhdHVzLmM6MTkwOQogbXNnaWQgIkhFQUQgKG5vIGJyYW5jaCkiCiBtc2dzdHIgIkhFQUTvvIjpnZ7liIbmlK/vvIkiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NTcKKyM6IHd0LXN0YXR1cy5jOjE5NDAKIG1zZ2lkICJkaWZmZXJlbnQiCiBtc2dzdHIgIuS4jeWQjCIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5Y+l5bC+56m65qC8Ci0jOiB3dC1zdGF0dXMuYzoxODU5IHd0LXN0YXR1cy5jOjE4NjcKKyM6IHd0LXN0YXR1cy5jOjE5NDIgd3Qtc3RhdHVzLmM6MTk1MAogbXNnaWQgImJlaGluZCAiCiBtc2dzdHIgIuiQveWQjiAiCiAKLSM6IHd0LXN0YXR1cy5jOjE4NjIgd3Qtc3RhdHVzLmM6MTg2NQorIzogd3Qtc3RhdHVzLmM6MTk0NSB3dC1zdGF0dXMuYzoxOTQ4CiBtc2dpZCAiYWhlYWQgIgogbXNnc3RyICLpooblhYggIgogCiAjLiBUUkFOU0xBVE9SUzogdGhlIGFjdGlvbiBpcyBlLmcuICJwdWxsIHdpdGggcmViYXNlIgotIzogd3Qtc3RhdHVzLmM6MjM3NAorIzogd3Qtc3RhdHVzLmM6MjQ3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgJXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICLkuI3og70lc++8muaCqOacieacquaaguWtmOeahOWPmOabtOOAgiIKIAotIzogd3Qtc3RhdHVzLmM6MjM4MAorIzogd3Qtc3RhdHVzLmM6MjQ3NgogbXNnaWQgImFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi5Y+m5aSW77yM5oKo55qE57Si5byV5Lit5YyF5ZCr5pyq5o+Q5Lqk55qE5Y+Y5pu044CCIgogCi0jOiB3dC1zdGF0dXMuYzoyMzgyCisjOiB3dC1zdGF0dXMuYzoyNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCAlczogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi5LiN6IO9JXPvvJrmgqjnmoTntKLlvJXkuK3ljIXlkKvmnKrmj5DkuqTnmoTlj5jmm7TjgIIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjQKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1OCBidWlsdGluL2Nsb25lLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKK21zZ3N0ciAi5Yig6ZmkICclcycg5aSx6LSlIgorCisjOiBidWlsdGluL2FkZC5jOjI2CiBtc2dpZCAiZ2l0IGFkZCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBhZGQgWzzpgInpobk+XSBbLS1dIDzot6/lvoTop4TmoLw+Li4uIgogCi0jOiBidWlsdGluL2FkZC5jOjgzCisjOiBidWlsdGluL2FkZC5jOjg3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCiBtc2dzdHIgIuaEj+WklueahOW3ruW8gueKtuaAgSAlYyIKIAotIzogYnVpbHRpbi9hZGQuYzo4OCBidWlsdGluL2NvbW1pdC5jOjI4NAorIzogYnVpbHRpbi9hZGQuYzo5MiBidWlsdGluL2NvbW1pdC5jOjI4OAogbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKIG1zZ3N0ciAi5pu05paw5paH5Lu25aSx6LSlIgogCi0jOiBidWlsdGluL2FkZC5jOjk4CisjOiBidWlsdGluL2FkZC5jOjEwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdmUgJyVzJ1xuIgogbXNnc3RyICLliKDpmaQgJyVzJ1xuIgogCi0jOiBidWlsdGluL2FkZC5jOjE3MworIzogYnVpbHRpbi9hZGQuYzoxNzcKIG1zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlZnJlc2hpbmcgdGhlIGluZGV4OiIKIG1zZ3N0ciAi5Yi35paw57Si5byV5LmL5ZCO5bCa5pyq6KKr5pqC5a2Y55qE5Y+Y5pu077yaIgogCi0jOiBidWlsdGluL2FkZC5jOjIzMyBidWlsdGluL3Jldi1wYXJzZS5jOjg5NQorIzogYnVpbHRpbi9hZGQuYzoyNTIgYnVpbHRpbi9yZXYtcGFyc2UuYzo4OTkKIG1zZ2lkICJDb3VsZCBub3QgcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIuS4jeiDveivu+WPlue0ouW8lSIKIAotIzogYnVpbHRpbi9hZGQuYzoyNDQKKyM6IGJ1aWx0aW4vYWRkLmM6MjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmcuIgogbXNnc3RyICLml6Dms5XkuLrlhpnlhaXmiZPlvIAgJyVzJ+OAgiIKIAotIzogYnVpbHRpbi9hZGQuYzoyNDgKKyM6IGJ1aWx0aW4vYWRkLmM6MjY3CiBtc2dpZCAiQ291bGQgbm90IHdyaXRlIHBhdGNoIgogbXNnc3RyICLkuI3og73nlJ/miJDooaXkuIEiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjUxCisjOiBidWlsdGluL2FkZC5jOjI3MAogbXNnaWQgImVkaXRpbmcgcGF0Y2ggZmFpbGVkIgogbXNnc3RyICLnvJbovpHooaXkuIHlpLHotKUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjU0CisjOiBidWlsdGluL2FkZC5jOjI3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgogbXNnc3RyICLkuI3og73lr7kgJyVzJyDosIPnlKggc3RhdCIKIAotIzogYnVpbHRpbi9hZGQuYzoyNTYKKyM6IGJ1aWx0aW4vYWRkLmM6Mjc1CiBtc2dpZCAiRW1wdHkgcGF0Y2guIEFib3J0ZWQuIgogbXNnc3RyICLnqbrooaXkuIHjgILlvILluLjnu4jmraLjgIIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjYxCisjOiBidWlsdGluL2FkZC5jOjI4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgYXBwbHkgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95bqU55SoICclcyciCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MjY5CisjOiBidWlsdGluL2FkZC5jOjI4OAogbXNnaWQgIlRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKIG1zZ3N0ciAi5LiL5YiX6Lev5b6E5qC55o2u5oKo55qE5LiA5LiqIC5naXRpZ25vcmUg5paH5Lu26ICM6KKr5b+955Wl77yaXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjg5IGJ1aWx0aW4vY2xlYW4uYzo5MDcgYnVpbHRpbi9mZXRjaC5jOjEzNyBidWlsdGluL212LmM6MTIzCi0jOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU2IGJ1aWx0aW4vcHVsbC5jOjIxMyBidWlsdGluL3B1c2guYzo1NTcKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM0NSBidWlsdGluL3JtLmM6MjQwIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY1CisjOiBidWlsdGluL2FkZC5jOjMwOCBidWlsdGluL2NsZWFuLmM6OTEwIGJ1aWx0aW4vZmV0Y2guYzoxNjMgYnVpbHRpbi9tdi5jOjEyNAorIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1NiBidWlsdGluL3B1bGwuYzoyMjMgYnVpbHRpbi9wdXNoLmM6NTQ4CisjOiBidWlsdGluL3JlbW90ZS5jOjEzNDQgYnVpbHRpbi9ybS5jOjI0MSBidWlsdGluL3NlbmQtcGFjay5jOjE2NQogbXNnaWQgImRyeSBydW4iCiBtc2dzdHIgIua8lOS5oCIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTIKKyM6IGJ1aWx0aW4vYWRkLmM6MzExCiBtc2dpZCAiaW50ZXJhY3RpdmUgcGlja2luZyIKIG1zZ3N0ciAi5Lqk5LqS5byP5ouj6YCJIgogCi0jOiBidWlsdGluL2FkZC5jOjI5MyBidWlsdGluL2NoZWNrb3V0LmM6MTI1OCBidWlsdGluL3Jlc2V0LmM6MzA1CisjOiBidWlsdGluL2FkZC5jOjMxMiBidWlsdGluL2NoZWNrb3V0LmM6MTQ4MiBidWlsdGluL3Jlc2V0LmM6MzA3CiBtc2dpZCAic2VsZWN0IGh1bmtzIGludGVyYWN0aXZlbHkiCiBtc2dzdHIgIuS6pOS6kuW8j+aMkemAieaVsOaNruWdlyIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTQKKyM6IGJ1aWx0aW4vYWRkLmM6MzEzCiBtc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgogbXNnc3RyICLnvJbovpHlvZPliY3lt67lvILlubblupTnlKgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk1CisjOiBidWlsdGluL2FkZC5jOjMxNAogbXNnaWQgImFsbG93IGFkZGluZyBvdGhlcndpc2UgaWdub3JlZCBmaWxlcyIKIG1zZ3N0ciAi5YWB6K645re75Yqg5b+955Wl55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2FkZC5jOjI5NgorIzogYnVpbHRpbi9hZGQuYzozMTUKIG1zZ2lkICJ1cGRhdGUgdHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi5pu05paw5bey6Lef6Liq55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2FkZC5jOjI5NworIzogYnVpbHRpbi9hZGQuYzozMTYKIG1zZ2lkICJyZW5vcm1hbGl6ZSBFT0wgb2YgdHJhY2tlZCBmaWxlcyAoaW1wbGllcyAtdSkiCiBtc2dzdHIgIuWvueW3sui3n+i4quaWh+S7tu+8iOaal+WQqyAtde+8iemHjeaWsOW9kuS4gOaNouihjOespiIKIAotIzogYnVpbHRpbi9hZGQuYzoyOTgKKyM6IGJ1aWx0aW4vYWRkLmM6MzE3CiBtc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCB0aGUgcGF0aCB3aWxsIGJlIGFkZGVkIGxhdGVyIgogbXNnc3RyICLlj6rorrDlvZXvvIzor6Xot6/lvoTnqI3lkI7lho3mt7vliqAiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6Mjk5CisjOiBidWlsdGluL2FkZC5jOjMxOAogbXNnaWQgImFkZCBjaGFuZ2VzIGZyb20gYWxsIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi5re75Yqg5omA5pyJ5pS55Y+Y55qE5bey6Lef6Liq5paH5Lu25ZKM5pyq6Lef6Liq5paH5Lu2IgogCi0jOiBidWlsdGluL2FkZC5jOjMwMgorIzogYnVpbHRpbi9hZGQuYzozMjEKIG1zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKIG1zZ3N0ciAi5b+955Wl5bel5L2c5Yy65Lit56e76Zmk55qE6Lev5b6E77yI5ZKMIC0tbm8tYWxsIOebuOWQjO+8iSIKIAotIzogYnVpbHRpbi9hZGQuYzozMDQKKyM6IGJ1aWx0aW4vYWRkLmM6MzIzCiBtc2dpZCAiZG9uJ3QgYWRkLCBvbmx5IHJlZnJlc2ggdGhlIGluZGV4IgogbXNnc3RyICLkuI3mt7vliqDvvIzlj6rliLfmlrDntKLlvJUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA1CisjOiBidWlsdGluL2FkZC5jOjMyNAogbXNnaWQgImp1c3Qgc2tpcCBmaWxlcyB3aGljaCBjYW5ub3QgYmUgYWRkZWQgYmVjYXVzZSBvZiBlcnJvcnMiCiBtc2dzdHIgIui3s+i/h+WboOWHuumUmeS4jeiDvea3u+WKoOeahOaWh+S7tiIKIAotIzogYnVpbHRpbi9hZGQuYzozMDYKKyM6IGJ1aWx0aW4vYWRkLmM6MzI1CiBtc2dpZCAiY2hlY2sgaWYgLSBldmVuIG1pc3NpbmcgLSBmaWxlcyBhcmUgaWdub3JlZCBpbiBkcnkgcnVuIgogbXNnc3RyICLmo4Dmn6XlnKjmvJTkuaDmqKHlvI/kuIvmlofku7bvvIjljbPkvb/kuI3lrZjlnKjvvInmmK/lkKbooqvlv73nlaUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzA4IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkwCisjOiBidWlsdGluL2FkZC5jOjMyNyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDQKIG1zZ2lkICJvdmVycmlkZSB0aGUgZXhlY3V0YWJsZSBiaXQgb2YgdGhlIGxpc3RlZCBmaWxlcyIKIG1zZ3N0ciAi6KaG55uW5YiX6KGo6YeM5paH5Lu255qE5Y+v5omn6KGM5L2NIgogCi0jOiBidWlsdGluL2FkZC5jOjMxMAorIzogYnVpbHRpbi9hZGQuYzozMjkKIG1zZ2lkICJ3YXJuIHdoZW4gYWRkaW5nIGFuIGVtYmVkZGVkIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuWIm+W7uuS4gOS4quW1jOWFpeW8j+S7k+W6k+aXtue7meS6iOitpuWRiiIKIAotIzogYnVpbHRpbi9hZGQuYzozMjUKKyM6IGJ1aWx0aW4vYWRkLmM6MzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UndmUgYWRkZWQgYW5vdGhlciBnaXQgcmVwb3NpdG9yeSBpbnNpZGUgeW91ciBjdXJyZW50IHJlcG9zaXRvcnkuXG4iCkBAIC03Mjg5LDkgKzkwNDcsOCBAQAogIlxuIgogIlNlZSBcImdpdCBoZWxwIHN1Ym1vZHVsZVwiIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKIG1zZ3N0ciAiIgotIuaCqOWcqOW9k+WJjeS7k+W6k+S4rea3u+WKoOS6huWPpuWkluS4gOS4qkdpdOS7k+W6k+OAguWFi+mahuWkluWxgueahOS7k+W6k+WwhuS4jeWMheWQq+W1jOWFpeS7k+W6k+eahOWGheWuue+8jOW5tiIKLSLkuJTkuI3nn6XpgZPor6XlpoLkvZXojrflj5blroPjgIJcbiIKLSLlpoLmnpzmgqjopoHmt7vliqDkuIDkuKrlrZDmqKHnu4TvvIzkvb/nlKjvvJpcbiIKKyLmgqjlnKjlvZPliY3ku5PlupPkuK3mt7vliqDkuoblj6bkuIDkuKpHaXTku5PlupPjgILlhYvpmoblpJblsYLnmoTku5PlupPlsIbkuI3ljIXlkKvltYzlhaXku5PlupPnmoRcbiIKKyLlhoXlrrnvvIzlubbkuJTkuI3nn6XpgZPor6XlpoLkvZXojrflj5blroPjgILlpoLmnpzmgqjopoHmt7vliqDkuIDkuKrlrZDmqKHnu4TvvIzkvb/nlKjvvJpcbiIKICJcbiIKICJcdGdpdCBzdWJtb2R1bGUgYWRkIDx1cmw+ICVzXG4iCiAiXG4iCkBAIC03MzAxLDE0NiArOTA1OCwxNjAgQEAKICJcbiIKICLlj4Lop4EgXCJnaXQgaGVscCBzdWJtb2R1bGVcIiDojrflj5bmm7TlpJrkv6Hmga/jgIIiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6MzUzCisjOiBidWlsdGluL2FkZC5jOjM3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRpbmcgZW1iZWRkZWQgZ2l0IHJlcG9zaXRvcnk6ICVzIgogbXNnc3RyICLmraPlnKjmt7vliqDltYzlhaXlvI8gZ2l0IOS7k+W6k++8miVzIgogCi0jOiBidWlsdGluL2FkZC5jOjM3MQorIzogYnVpbHRpbi9hZGQuYzozOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKIG1zZ3N0ciAi5L2/55SoIC1mIOWPguaVsOWmguaenOaCqOehruWunuimgea3u+WKoOWug+S7rOOAglxuIgogCi0jOiBidWlsdGluL2FkZC5jOjM3OQorIzogYnVpbHRpbi9hZGQuYzo0MDAKIG1zZ2lkICJhZGRpbmcgZmlsZXMgZmFpbGVkIgogbXNnc3RyICLmt7vliqDmlofku7blpLHotKUiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDE3CisjOiBidWlsdGluL2FkZC5jOjQyOCBidWlsdGluL2NvbW1pdC5jOjM0OAorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0taW50ZXJhY3RpdmUvLS1wYXRjaCIKK21zZ3N0ciAiLS1wYXRoc3BlYy1mcm9tLWZpbGUg5LiOIC0taW50ZXJhY3RpdmUvLS1wYXRjaCDkuI3lhbzlrrkiCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDM0Cittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1lZGl0IgorbXNnc3RyICItLXBhdGhzcGVjLWZyb20tZmlsZSDkuI4gLS1lZGl0IOS4jeWFvOWuuSIKKworIzogYnVpbHRpbi9hZGQuYzo0NDYKIG1zZ2lkICItQSBhbmQgLXUgYXJlIG11dHVhbGx5IGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLUEg5ZKMIC11IOmAiemhueS6kuaWpSIKIAotIzogYnVpbHRpbi9hZGQuYzo0MjQKKyM6IGJ1aWx0aW4vYWRkLmM6NDQ5CiBtc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKIG1zZ3N0ciAi6YCJ6aG5IC0taWdub3JlLW1pc3Npbmcg5Y+q6IO95ZKMIC0tZHJ5LXJ1biDlkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDI4CisjOiBidWlsdGluL2FkZC5jOjQ1MwogIywgYy1mb3JtYXQKIG1zZ2lkICItLWNobW9kIHBhcmFtICclcycgbXVzdCBiZSBlaXRoZXIgLXggb3IgK3giCiBtc2dzdHIgIuWPguaVsCAtLWNobW9kIOWPluWAvCAnJXMnIOW/hemhu+aYryAteCDmiJYgK3giCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDQzCisjOiBidWlsdGluL2FkZC5jOjQ3MSBidWlsdGluL2NoZWNrb3V0LmM6MTY0OCBidWlsdGluL2NvbW1pdC5jOjM1NAorIzogYnVpbHRpbi9yZXNldC5jOjMyNworbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIHBhdGhzcGVjIGFyZ3VtZW50cyIKK21zZ3N0ciAiLS1wYXRoc3BlYy1mcm9tLWZpbGUg5LiO6Lev5b6E6KGo6L6+5byP5Y+C5pWw5LiN5YW85a65IgorCisjOiBidWlsdGluL2FkZC5jOjQ3OCBidWlsdGluL2NoZWNrb3V0LmM6MTY2MCBidWlsdGluL2NvbW1pdC5jOjM2MAorIzogYnVpbHRpbi9yZXNldC5jOjMzMworbXNnaWQgIi0tcGF0aHNwZWMtZmlsZS1udWwgcmVxdWlyZXMgLS1wYXRoc3BlYy1mcm9tLWZpbGUiCittc2dzdHIgIi0tcGF0aHNwZWMtZmlsZS1udWwg6ZyA6KaBIC0tcGF0aHNwZWMtZnJvbS1maWxlIgorCisjOiBidWlsdGluL2FkZC5jOjQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJOb3RoaW5nIHNwZWNpZmllZCwgbm90aGluZyBhZGRlZC5cbiIKIG1zZ3N0ciAi5rKh5pyJ5oyH5a6a5paH5Lu277yM5Lmf5rKh5pyJ5paH5Lu26KKr5re75Yqg44CCXG4iCiAKLSM6IGJ1aWx0aW4vYWRkLmM6NDQ0CisjOiBidWlsdGluL2FkZC5jOjQ4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYXliZSB5b3Ugd2FudGVkIHRvIHNheSAnZ2l0IGFkZCAuJz9cbiIKIG1zZ3N0ciAi5Lmf6K645oKo5oOz6KaB5omn6KGMICdnaXQgYWRkIC4n77yfXG4iCiAKLSM6IGJ1aWx0aW4vYW0uYzozNjMKKyM6IGJ1aWx0aW4vYW0uYzozNDcKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgYXV0aG9yIHNjcmlwdCIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q5L2c6ICF6ISa5pysIgogCi0jOiBidWlsdGluL2FtLmM6NDQ3CisjOiBidWlsdGluL2FtLmM6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgd2FzIGRlbGV0ZWQgYnkgdGhlIGFwcGx5cGF0Y2gtbXNnIGhvb2siCiBtc2dzdHIgIiclcycg6KKrIGFwcGx5cGF0Y2gtbXNnIOmSqeWtkOWIoOmZpCIKIAotIzogYnVpbHRpbi9hbS5jOjQ4OAorIzogYnVpbHRpbi9hbS5jOjQ3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJNYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCiBtc2dzdHIgIumdnuazleeahOi+k+WFpeihjO+8miclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vYW0uYzo1MjUKKyM6IGJ1aWx0aW4vYW0uYzo1MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIGNvcHkgbm90ZXMgZnJvbSAnJXMnIHRvICclcyciCiBtc2dzdHIgIuS7jiAnJXMnIOaLt+i0neazqOino+WIsCAnJXMnIOaXtuWksei0pSIKIAotIzogYnVpbHRpbi9hbS5jOjU1MQorIzogYnVpbHRpbi9hbS5jOjUzNwogbXNnaWQgImZzZWVrIGZhaWxlZCIKIG1zZ3N0ciAiZnNlZWsg5aSx6LSlIgogCi0jOiBidWlsdGluL2FtLmM6NzM5CisjOiBidWlsdGluL2FtLmM6NzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXRjaCAnJXMnIgogbXNnc3RyICLml6Dms5Xop6PmnpDooaXkuIEgJyVzJyIKIAotIzogYnVpbHRpbi9hbS5jOjgwNAorIzogYnVpbHRpbi9hbS5jOjc5MAogbXNnaWQgIk9ubHkgb25lIFN0R0lUIHBhdGNoIHNlcmllcyBjYW4gYmUgYXBwbGllZCBhdCBvbmNlIgogbXNnc3RyICLkuIDmrKHlj6rog73mnInkuIDkuKogU3RHSVQg6KGl5LiB6Zif5YiX6KKr5bqU55SoIgogCi0jOiBidWlsdGluL2FtLmM6ODUyCisjOiBidWlsdGluL2FtLmM6ODM4CiBtc2dpZCAiaW52YWxpZCB0aW1lc3RhbXAiCiBtc2dzdHIgIuaXoOaViOeahOaXtumXtOaIsyIKIAotIzogYnVpbHRpbi9hbS5jOjg1NyBidWlsdGluL2FtLmM6ODY5CisjOiBidWlsdGluL2FtLmM6ODQzIGJ1aWx0aW4vYW0uYzo4NTUKIG1zZ2lkICJpbnZhbGlkIERhdGUgbGluZSIKIG1zZ3N0ciAi5peg5pWI55qE5pel5pyf6KGMIgogCi0jOiBidWlsdGluL2FtLmM6ODY0CisjOiBidWlsdGluL2FtLmM6ODUwCiBtc2dpZCAiaW52YWxpZCB0aW1lem9uZSBvZmZzZXQiCiBtc2dzdHIgIuaXoOaViOeahOaXtuWMuuWBj+enu+WAvCIKIAotIzogYnVpbHRpbi9hbS5jOjk1NworIzogYnVpbHRpbi9hbS5jOjk0MwogbXNnaWQgIlBhdGNoIGZvcm1hdCBkZXRlY3Rpb24gZmFpbGVkLiIKIG1zZ3N0ciAi6KGl5LiB5qC85byP5o6i5rWL5aSx6LSl44CCIgogCi0jOiBidWlsdGluL2FtLmM6OTYyIGJ1aWx0aW4vY2xvbmUuYzo0MDgKKyM6IGJ1aWx0aW4vYW0uYzo5NDggYnVpbHRpbi9jbG9uZS5jOjQwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgogbXNnc3RyICLliJvlu7rnm67lvZUgJyVzJyDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vYW0uYzo5NjcKKyM6IGJ1aWx0aW4vYW0uYzo5NTMKIG1zZ2lkICJGYWlsZWQgdG8gc3BsaXQgcGF0Y2hlcy4iCiBtc2dzdHIgIuaLhuWIhuihpeS4geWksei0peOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjEwOTcgYnVpbHRpbi9jb21taXQuYzozNjkKLW1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgaW5kZXggZmlsZSIKLW1zZ3N0ciAi5peg5rOV5YaZ5YWl57Si5byV5paH5Lu2IgotCi0jOiBidWlsdGluL2FtLmM6MTExMQorIzogYnVpbHRpbi9hbS5jOjEwODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHByb2JsZW0sIHJ1biBcIiVzIC0tY29udGludWVcIi4iCiBtc2dzdHIgIuW9k+aCqOino+WGs+i/meS4gOmXrumimO+8jOaJp+ihjCBcIiVzIC0tY29udGludWVcIuOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjExMTIKKyM6IGJ1aWx0aW4vYW0uYzoxMDg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCIlcyAtLXNraXBcIiBpbnN0ZWFkLiIKIG1zZ3N0ciAi5aaC5p6c5oKo5oOz6KaB6Lez6L+H6L+Z5LiA6KGl5LiB77yM5YiZ5omn6KGMIFwiJXMgLS1za2lwXCLjgIIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMTEzCisjOiBidWlsdGluL2FtLmM6MTA4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJUbyByZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIHN0b3AgcGF0Y2hpbmcsIHJ1biBcIiVzIC0tYWJvcnRcIi4iCiBtc2dzdHIgIuiLpeimgeWkjeWOn+iHs+WOn+Wni+WIhuaUr+W5tuWBnOatouihpeS4geaTjeS9nO+8jOaJp+ihjCBcIiVzIC0tYWJvcnRcIuOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjExOTYKKyM6IGJ1aWx0aW4vYW0uYzoxMTY5CiBtc2dpZCAiUGF0Y2ggc2VudCB3aXRoIGZvcm1hdD1mbG93ZWQ7IHNwYWNlIGF0IHRoZSBlbmQgb2YgbGluZXMgbWlnaHQgYmUgbG9zdC4iCiBtc2dzdHIgIuihpeS4geS9v+eUqCBmb3JtYXQ9Zmxvd2VkIOagvOW8j+WPkemAge+8jOihjOWwvueahOepuuagvOWPr+iDveS8muS4ouWkseOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjEyMjQKKyM6IGJ1aWx0aW4vYW0uYzoxMTk3CiBtc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIgogbXNnc3RyICLooaXkuIHkuLrnqbrjgIIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxMjkwCisjOiBidWlsdGluL2FtLmM6MTI2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIGF1dGhvciBsaW5lIGluIGNvbW1pdCAlcyIKK21zZ3N0ciAi5Zyo5o+Q5LqkICVzIOS4ree8uuWkseS9nOiAheihjCIKKworIzogYnVpbHRpbi9hbS5jOjEyNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBpZGVudCBsaW5lOiAlLipzIgogbXNnc3RyICLml6DmlYjnmoTouqvku73moIfor4bvvJolLipzIgogCi0jOiBidWlsdGluL2FtLmM6MTMxMgotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29tbWl0ICVzIgotbXNnc3RyICLkuI3og73op6PmnpDmj5DkuqQgJXMiCi0KLSM6IGJ1aWx0aW4vYW0uYzoxNTA4CisjOiBidWlsdGluL2FtLmM6MTQ4NAogbXNnaWQgIlJlcG9zaXRvcnkgbGFja3MgbmVjZXNzYXJ5IGJsb2JzIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCiBtc2dzdHIgIuS7k+W6k+e8uuS5j+W/heimgeeahOaVsOaNruWvueixoeS7pei/m+ihjOS4ieaWueWQiOW5tuOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjE1MTAKKyM6IGJ1aWx0aW4vYW0uYzoxNDg2CiBtc2dpZCAiVXNpbmcgaW5kZXggaW5mbyB0byByZWNvbnN0cnVjdCBhIGJhc2UgdHJlZS4uLiIKIG1zZ3N0ciAi5L2/55So57Si5byV5p2l6YeN5bu65LiA5Liq77yI5LiJ5pa55ZCI5bm255qE77yJ5Z+656GA55uu5b2V5qCRLi4uIgogCi0jOiBidWlsdGluL2FtLmM6MTUyOQorIzogYnVpbHRpbi9hbS5jOjE1MDUKIG1zZ2lkICIiCiAiRGlkIHlvdSBoYW5kIGVkaXQgeW91ciBwYXRjaD9cbiIKICJJdCBkb2VzIG5vdCBhcHBseSB0byBibG9icyByZWNvcmRlZCBpbiBpdHMgaW5kZXguIgpAQCAtNzQ0OCwyOCArOTIxOSwyNCBAQAogIuaCqOaYr+WQpuabvuaJi+WKqOe8lui+kei/h+aCqOeahOihpeS4ge+8n1xuIgogIuaXoOazleW6lOeUqOihpeS4geWIsOe0ouW8leS4reeahOaVsOaNruWvueixoeS4iuOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjE1MzUKKyM6IGJ1aWx0aW4vYW0uYzoxNTExCiBtc2dpZCAiRmFsbGluZyBiYWNrIHRvIHBhdGNoaW5nIGJhc2UgYW5kIDMtd2F5IG1lcmdlLi4uIgogbXNnc3RyICLlm57okL3liLDln7rnoYDniYjmnKzkuIrmiZPooaXkuIHlj4rov5vooYzkuInmlrnlkIjlubYuLi4iCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNTYxCisjOiBidWlsdGluL2FtLmM6MTUzNwogbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4iCiBtc2dzdHIgIuaXoOazleWQiOW5tuWPmOabtOOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjE1OTMKKyM6IGJ1aWx0aW4vYW0uYzoxNTY5CiBtc2dpZCAiYXBwbHlpbmcgdG8gYW4gZW1wdHkgaGlzdG9yeSIKIG1zZ3N0ciAi5q2j5bqU55So5Yiw5LiA5Liq56m65Y6G5Y+y5LiKIgogCi0jOiBidWlsdGluL2FtLmM6MTYzOSBidWlsdGluL2FtLmM6MTY0MworIzogYnVpbHRpbi9hbS5jOjE2MTYgYnVpbHRpbi9hbS5jOjE2MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc3VtZTogJXMgZG9lcyBub3QgZXhpc3QuIgogbXNnc3RyICLml6Dms5Xnu6fnu63vvJolcyDkuI3lrZjlnKjjgIIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNjU5Ci1tc2dpZCAiY2Fubm90IGJlIGludGVyYWN0aXZlIHdpdGhvdXQgc3RkaW4gY29ubmVjdGVkIHRvIGEgdGVybWluYWwuIgotbXNnc3RyICLmoIflh4bovpPlhaXmsqHmnInlkoznu4jnq6/lhbPogZTvvIzkuI3og73ov5vooYzkuqTkupLlvI/mk43kvZzjgIIiCi0KLSM6IGJ1aWx0aW4vYW0uYzoxNjY0CisjOiBidWlsdGluL2FtLmM6MTYzOAogbXNnaWQgIkNvbW1pdCBCb2R5IGlzOiIKIG1zZ3N0ciAi5o+Q5Lqk5YaF5a655Li677yaIgogCkBAIC03NDc4LDM0ICs5MjQ1LDM5IEBACiAjLiBpbiB5b3VyIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2gKICMuIGlucHV0IGF0IHRoaXMgcG9pbnQuCiAjLgotIzogYnVpbHRpbi9hbS5jOjE2NzQKKyM6IGJ1aWx0aW4vYW0uYzoxNjQ4CisjLCBjLWZvcm1hdAogbXNnaWQgIkFwcGx5PyBbeV1lcy9bbl1vL1tlXWRpdC9bdl1pZXcgcGF0Y2gvW2FdY2NlcHQgYWxsOiAiCiBtc2dzdHIgIuW6lOeUqO+8n+aYr1t5XS/lkKZbbl0v57yW6L6RW2VdL+afpeeci+ihpeS4gVt2XS/lupTnlKjmiYDmnIlbYV3vvJoiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzI0CisjOiBidWlsdGluL2FtLmM6MTY5NSBidWlsdGluL2NvbW1pdC5jOjM5NAorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBpbmRleCBmaWxlIgorbXNnc3RyICLml6Dms5XlhpnlhaXntKLlvJXmlofku7YiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNjk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRpcnR5IGluZGV4OiBjYW5ub3QgYXBwbHkgcGF0Y2hlcyAoZGlydHk6ICVzKSIKIG1zZ3N0ciAi6ISP57Si5byV77ya5LiN6IO95bqU55So6KGl5LiB77yI6ISP5paH5Lu277yaJXPvvIkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoxNzY0IGJ1aWx0aW4vYW0uYzoxODMyCisjOiBidWlsdGluL2FtLmM6MTczOSBidWlsdGluL2FtLmM6MTgwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJBcHBseWluZzogJS4qcyIKIG1zZ3N0ciAi5bqU55So77yaJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE3ODEKKyM6IGJ1aWx0aW4vYW0uYzoxNzU2CiBtc2dpZCAiTm8gY2hhbmdlcyAtLSBQYXRjaCBhbHJlYWR5IGFwcGxpZWQuIgogbXNnc3RyICLmsqHmnInlj5jmm7Qg4oCU4oCUIOihpeS4geW3sue7j+W6lOeUqOi/h+OAgiIKIAotIzogYnVpbHRpbi9hbS5jOjE3ODcKKyM6IGJ1aWx0aW4vYW0uYzoxNzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhdGNoIGZhaWxlZCBhdCAlcyAlLipzIgogbXNnc3RyICLmiZPooaXkuIHlpLHotKXkuo4gJXMgJS4qcyIKIAotIzogYnVpbHRpbi9hbS5jOjE3OTEKKyM6IGJ1aWx0aW4vYW0uYzoxNzY2CiBtc2dpZCAiVXNlICdnaXQgYW0gLS1zaG93LWN1cnJlbnQtcGF0Y2gnIHRvIHNlZSB0aGUgZmFpbGVkIHBhdGNoIgogbXNnc3RyICLnlKggJ2dpdCBhbSAtLXNob3ctY3VycmVudC1wYXRjaCcg5ZG95Luk5p+l55yL5aSx6LSl55qE6KGl5LiBIgogCi0jOiBidWlsdGluL2FtLmM6MTgzNQorIzogYnVpbHRpbi9hbS5jOjE4MTAKIG1zZ2lkICIiCiAiTm8gY2hhbmdlcyAtIGRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/XG4iCiAiSWYgdGhlcmUgaXMgbm90aGluZyBsZWZ0IHRvIHN0YWdlLCBjaGFuY2VzIGFyZSB0aGF0IHNvbWV0aGluZyBlbHNlXG4iCkBAIC03NTE1LDcgKzkyODcsNyBAQAogIuWmguaenOayoeacieS7gOS5iOimgea3u+WKoOWIsOaaguWtmOWMuueahO+8jOWImeW+iOWPr+iDveaYr+WFtuWug+aPkOS6pOW3sue7j+W8leWFpeS6huebuOWQjOeahOWPmOabtOOAglxuIgogIuaCqOS5n+iuuOaDs+imgei3s+i/h+i/meS4quihpeS4geOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjE4NDIKKyM6IGJ1aWx0aW4vYW0uYzoxODE3CiBtc2dpZCAiIgogIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCiAiWW91IHNob3VsZCAnZ2l0IGFkZCcgZWFjaCBmaWxlIHdpdGggcmVzb2x2ZWQgY29uZmxpY3RzIHRvIG1hcmsgdGhlbSBhcyAiCkBAIC03NTI2LDE1OSArOTI5OCwxNTkgQEAKICLmgqjlupTor6Xlr7nlt7Lnu4/lhrLnqoHop6PlhrPnmoTmr4/kuIDkuKrmlofku7bmiafooYwgJ2dpdCBhZGQnIOadpeagh+iusOW3sue7j+WujOaIkOOAgiBcbiIKICLkvaDlj6/ku6Xlr7kgXCLnlLHku5bku6zliKDpmaRcIiDnmoTmlofku7bmiafooYwgYGdpdCBybWAg5ZG95Luk44CCIgogCi0jOiBidWlsdGluL2FtLmM6MTk0OSBidWlsdGluL2FtLmM6MTk1MyBidWlsdGluL2FtLmM6MTk2NSBidWlsdGluL3Jlc2V0LmM6MzI4Ci0jOiBidWlsdGluL3Jlc2V0LmM6MzM2CisjOiBidWlsdGluL2FtLmM6MTkyNCBidWlsdGluL2FtLmM6MTkyOCBidWlsdGluL2FtLmM6MTk0MCBidWlsdGluL3Jlc2V0LmM6MzQ2CisjOiBidWlsdGluL3Jlc2V0LmM6MzU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJy4iCiBtc2dzdHIgIuS4jeiDveino+aekOWvueixoSAnJXMn44CCIgogCi0jOiBidWlsdGluL2FtLmM6MjAwMQorIzogYnVpbHRpbi9hbS5jOjE5NzYKIG1zZ2lkICJmYWlsZWQgdG8gY2xlYW4gaW5kZXgiCiBtc2dzdHIgIua4heepuue0ouW8leWksei0pSIKIAotIzogYnVpbHRpbi9hbS5jOjIwMzYKKyM6IGJ1aWx0aW4vYW0uYzoyMDIwCiBtc2dpZCAiIgogIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRCBzaW5jZSB0aGUgbGFzdCAnYW0nIGZhaWx1cmUuXG4iCiAiTm90IHJld2luZGluZyB0byBPUklHX0hFQUQiCiBtc2dzdHIgIuaCqOWlveWDj+WcqOS4iuS4gOasoSAnYW0nIOWksei0peWQjuenu+WKqOS6hiBIRUFE44CC5pyq5Zue6YCA6IezIE9SSUdfSEVBRCIKIAotIzogYnVpbHRpbi9hbS5jOjIxMjkKKyM6IGJ1aWx0aW4vYW0uYzoyMTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yIC0tcGF0Y2gtZm9ybWF0OiAlcyIKIG1zZ3N0ciAi5peg5pWI55qEIC0tcGF0Y2gtZm9ybWF0IOWAvO+8miVzIgogCi0jOiBidWlsdGluL2FtLmM6MjE2NQorIzogYnVpbHRpbi9hbS5jOjIxNTMKIG1zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKIG1zZ3N0ciAiZ2l0IGFtIFs86YCJ6aG5Pl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKIAotIzogYnVpbHRpbi9hbS5jOjIxNjYKKyM6IGJ1aWx0aW4vYW0uYzoyMTU0CiBtc2dpZCAiZ2l0IGFtIFs8b3B0aW9ucz5dICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCkiCiBtc2dzdHIgImdpdCBhbSBbPOmAiemhuT5dICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTcyCisjOiBidWlsdGluL2FtLmM6MjE2MAogbXNnaWQgInJ1biBpbnRlcmFjdGl2ZWx5IgogbXNnc3RyICLku6XkuqTkupLlvI/mlrnlvI/ov5DooYwiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTc0CisjOiBidWlsdGluL2FtLmM6MjE2MgogbXNnaWQgImhpc3RvcmljYWwgb3B0aW9uIC0tIG5vLW9wIgogbXNnc3RyICLogIHnmoTlj4LmlbAg4oCU4oCUIOaXoOS9nOeUqCIKIAotIzogYnVpbHRpbi9hbS5jOjIxNzYKKyM6IGJ1aWx0aW4vYW0uYzoyMTY0CiBtc2dpZCAiYWxsb3cgZmFsbCBiYWNrIG9uIDN3YXkgbWVyZ2luZyBpZiBuZWVkZWQiCiBtc2dzdHIgIuWmguaenOW/heimge+8jOWFgeiuuOS9v+eUqOS4ieaWueWQiOW5tuOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjIxNzcgYnVpbHRpbi9pbml0LWRiLmM6NDg2IGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NTgKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA2CisjOiBidWlsdGluL2FtLmM6MjE2NSBidWlsdGluL2luaXQtZGIuYzo0OTQgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1OAorIzogYnVpbHRpbi9yZXBhY2suYzozMDQgYnVpbHRpbi9zdGFzaC5jOjgxMQogbXNnaWQgImJlIHF1aWV0IgogbXNnc3RyICLpnZnpu5jmqKHlvI8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTc5CisjOiBidWlsdGluL2FtLmM6MjE2NwogbXNnaWQgImFkZCBhIFNpZ25lZC1vZmYtYnkgbGluZSB0byB0aGUgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIuWcqOaPkOS6pOivtOaYjuS4rea3u+WKoOS4gOS4qiBTaWduZWQtb2ZmLWJ5IOetvuWQjSIKIAotIzogYnVpbHRpbi9hbS5jOjIxODIKKyM6IGJ1aWx0aW4vYW0uYzoyMTcwCiBtc2dpZCAicmVjb2RlIGludG8gdXRmOCAoZGVmYXVsdCkiCiBtc2dzdHIgIuS9v+eUqCB1dGY4IOWtl+espumbhu+8iOm7mOiupO+8iSIKIAotIzogYnVpbHRpbi9hbS5jOjIxODQKKyM6IGJ1aWx0aW4vYW0uYzoyMTcyCiBtc2dpZCAicGFzcyAtayBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKIG1zZ3N0ciAi5ZCRIGdpdC1tYWlsaW5mbyDkvKDpgJIgLWsg5Y+C5pWwIgogCi0jOiBidWlsdGluL2FtLmM6MjE4NgorIzogYnVpbHRpbi9hbS5jOjIxNzQKIG1zZ2lkICJwYXNzIC1iIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgogbXNnc3RyICLlkJEgZ2l0LW1haWxpbmZvIOS8oOmAkiAtYiDlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTg4CisjOiBidWlsdGluL2FtLmM6MjE3NgogbXNnaWQgInBhc3MgLW0gZmxhZyB0byBnaXQtbWFpbGluZm8iCiBtc2dzdHIgIuWQkSBnaXQtbWFpbGluZm8g5Lyg6YCSIC1tIOWPguaVsCIKIAotIzogYnVpbHRpbi9hbS5jOjIxOTAKKyM6IGJ1aWx0aW4vYW0uYzoyMTc4CiBtc2dpZCAicGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGZvciBtYm94IGZvcm1hdCIKIG1zZ3N0ciAi6ZKI5a+5IG1ib3gg5qC85byP77yM5ZCRIGdpdC1tYWlsc3BsaXQg5Lyg6YCSIC0ta2VlcC1jciDlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMTkzCisjOiBidWlsdGluL2FtLmM6MjE4MQogbXNnaWQgImRvIG5vdCBwYXNzIC0ta2VlcC1jciBmbGFnIHRvIGdpdC1tYWlsc3BsaXQgaW5kZXBlbmRlbnQgb2YgYW0ua2VlcGNyIgogbXNnc3RyICLkuI3lkJEgZ2l0LW1haWxzcGxpdCDkvKDpgJIgLS1rZWVwLWNyIOWPguaVsO+8jOimhuebliBhbS5rZWVwY3Ig55qE6K6+572uIgogCi0jOiBidWlsdGluL2FtLmM6MjE5NgorIzogYnVpbHRpbi9hbS5jOjIxODQKIG1zZ2lkICJzdHJpcCBldmVyeXRoaW5nIGJlZm9yZSBhIHNjaXNzb3JzIGxpbmUiCiBtc2dzdHIgIuS4ouW8g+ijgeWIh+e6v+WJjeeahOaJgOacieWGheWuuSIKIAorIzogYnVpbHRpbi9hbS5jOjIxODYgYnVpbHRpbi9hbS5jOjIxODkgYnVpbHRpbi9hbS5jOjIxOTIgYnVpbHRpbi9hbS5jOjIxOTUKICM6IGJ1aWx0aW4vYW0uYzoyMTk4IGJ1aWx0aW4vYW0uYzoyMjAxIGJ1aWx0aW4vYW0uYzoyMjA0IGJ1aWx0aW4vYW0uYzoyMjA3Ci0jOiBidWlsdGluL2FtLmM6MjIxMCBidWlsdGluL2FtLmM6MjIxMyBidWlsdGluL2FtLmM6MjIxNiBidWlsdGluL2FtLmM6MjIxOQotIzogYnVpbHRpbi9hbS5jOjIyMjUKKyM6IGJ1aWx0aW4vYW0uYzoyMjEzCiBtc2dpZCAicGFzcyBpdCB0aHJvdWdoIGdpdC1hcHBseSIKIG1zZ3N0ciAi5Lyg6YCS57uZIGdpdC1hcHBseSIKIAotIzogYnVpbHRpbi9hbS5jOjIyMTUgYnVpbHRpbi9jb21taXQuYzoxMzQwIGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MQotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc0IGJ1aWx0aW4vZ3JlcC5jOjg2OCBidWlsdGluL21lcmdlLmM6MjM5Ci0jOiBidWlsdGluL3B1bGwuYzoxNTEgYnVpbHRpbi9wdWxsLmM6MjA5IGJ1aWx0aW4vcmViYXNlLmM6ODU0Ci0jOiBidWlsdGluL3JlcGFjay5jOjMxNyBidWlsdGluL3JlcGFjay5jOjMyMSBidWlsdGluL3JlcGFjay5jOjMyMwotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MSBidWlsdGluL3Nob3ctcmVmLmM6MTcxIGJ1aWx0aW4vdGFnLmM6Mzg2Ci0jOiBwYXJzZS1vcHRpb25zLmg6MTQ0IHBhcnNlLW9wdGlvbnMuaDoxNDYgcGFyc2Utb3B0aW9ucy5oOjI2OAorIzogYnVpbHRpbi9hbS5jOjIyMDMgYnVpbHRpbi9jb21taXQuYzoxMzg2IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc2IGJ1aWx0aW4vZ3JlcC5jOjg4MyBidWlsdGluL21lcmdlLmM6MjQ5CisjOiBidWlsdGluL3B1bGwuYzoxNjAgYnVpbHRpbi9wdWxsLmM6MjE5IGJ1aWx0aW4vcmViYXNlLmM6MTQ2OQorIzogYnVpbHRpbi9yZXBhY2suYzozMTUgYnVpbHRpbi9yZXBhY2suYzozMTkgYnVpbHRpbi9yZXBhY2suYzozMjEKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAgYnVpbHRpbi9zaG93LXJlZi5jOjE3MiBidWlsdGluL3RhZy5jOjQwMworIzogcGFyc2Utb3B0aW9ucy5oOjE1NCBwYXJzZS1vcHRpb25zLmg6MTc1IHBhcnNlLW9wdGlvbnMuaDozMTYKIG1zZ2lkICJuIgogbXNnc3RyICJuIgogCi0jOiBidWlsdGluL2FtLmM6MjIyMSBidWlsdGluL2JyYW5jaC5jOjYzNyBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM4Ci0jOiBidWlsdGluL3JlcGxhY2UuYzo1NDQgYnVpbHRpbi90YWcuYzo0MjIgYnVpbHRpbi92ZXJpZnktdGFnLmM6MzkKKyM6IGJ1aWx0aW4vYW0uYzoyMjA5IGJ1aWx0aW4vYnJhbmNoLmM6NjYxIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1NSBidWlsdGluL3RhZy5jOjQzNyBidWlsdGluL3ZlcmlmeS10YWcuYzozOAogbXNnaWQgImZvcm1hdCIKIG1zZ3N0ciAi5qC85byPIgogCi0jOiBidWlsdGluL2FtLmM6MjIyMgorIzogYnVpbHRpbi9hbS5jOjIyMTAKIG1zZ2lkICJmb3JtYXQgdGhlIHBhdGNoKGVzKSBhcmUgaW4iCiBtc2dzdHIgIuihpeS4geeahOagvOW8jyIKIAotIzogYnVpbHRpbi9hbS5jOjIyMjgKKyM6IGJ1aWx0aW4vYW0uYzoyMjE2CiBtc2dpZCAib3ZlcnJpZGUgZXJyb3IgbWVzc2FnZSB3aGVuIHBhdGNoIGZhaWx1cmUgb2NjdXJzIgogbXNnc3RyICLmiZPooaXkuIHlpLHotKXml7bmmL7npLrnmoTplJnor6/kv6Hmga8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjMwCisjOiBidWlsdGluL2FtLmM6MjIxOAogbXNnaWQgImNvbnRpbnVlIGFwcGx5aW5nIHBhdGNoZXMgYWZ0ZXIgcmVzb2x2aW5nIGEgY29uZmxpY3QiCiBtc2dzdHIgIuWGsueqgeino+WGs+WQjue7p+e7reW6lOeUqOihpeS4gSIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzMKKyM6IGJ1aWx0aW4vYW0uYzoyMjIxCiBtc2dpZCAic3lub255bXMgZm9yIC0tY29udGludWUiCiBtc2dzdHIgIuWSjCAtLWNvbnRpbnVlIOWQjOS5iSIKIAotIzogYnVpbHRpbi9hbS5jOjIyMzYKKyM6IGJ1aWx0aW4vYW0uYzoyMjI0CiBtc2dpZCAic2tpcCB0aGUgY3VycmVudCBwYXRjaCIKIG1zZ3N0ciAi6Lez6L+H5b2T5YmN6KGl5LiBIgogCi0jOiBidWlsdGluL2FtLmM6MjIzOQorIzogYnVpbHRpbi9hbS5jOjIyMjcKIG1zZ2lkICJyZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIGFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24uIgogbXNnc3RyICLmgaLlpI3ljp/lp4vliIbmlK/lubbnu4jmraLmiZPooaXkuIHmk43kvZzjgIIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjQyCisjOiBidWlsdGluL2FtLmM6MjIzMAogbXNnaWQgImFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24gYnV0IGtlZXAgSEVBRCB3aGVyZSBpdCBpcy4iCiBtc2dzdHIgIue7iOatouihpeS4geaTjeS9nOS9huS/neaMgSBIRUFEIOS4jeWPmOOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDUKKyM6IGJ1aWx0aW4vYW0uYzoyMjMzCiBtc2dpZCAic2hvdyB0aGUgcGF0Y2ggYmVpbmcgYXBwbGllZC4iCiBtc2dzdHIgIuaYvuekuuato+WcqOW6lOeUqOeahOihpeS4geOAgiIKIAotIzogYnVpbHRpbi9hbS5jOjIyNDkKKyM6IGJ1aWx0aW4vYW0uYzoyMjM3CiBtc2dpZCAibGllIGFib3V0IGNvbW1pdHRlciBkYXRlIgogbXNnc3RyICLlsIbkvZzogIXml6XmnJ/kvZzkuLrmj5DkuqTml6XmnJ8iCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjUxCisjOiBidWlsdGluL2FtLmM6MjIzOQogbXNnaWQgInVzZSBjdXJyZW50IHRpbWVzdGFtcCBmb3IgYXV0aG9yIGRhdGUiCiBtc2dzdHIgIueUqOW9k+WJjeaXtumXtOS9nOS4uuS9nOiAheaXpeacnyIKIAotIzogYnVpbHRpbi9hbS5jOjIyNTMgYnVpbHRpbi9jb21taXQuYzoxNDgzIGJ1aWx0aW4vbWVyZ2UuYzoyNzMKLSM6IGJ1aWx0aW4vcHVsbC5jOjE4NCBidWlsdGluL3JlYmFzZS5jOjg5OCBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODMKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEzIGJ1aWx0aW4vdGFnLmM6NDAyCisjOiBidWlsdGluL2FtLmM6MjI0MSBidWlsdGluL2NvbW1pdC10cmVlLmM6MTIwIGJ1aWx0aW4vY29tbWl0LmM6MTUwNworIzogYnVpbHRpbi9tZXJnZS5jOjI4NiBidWlsdGluL3B1bGwuYzoxOTQgYnVpbHRpbi9yZWJhc2UuYzo1MDkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxMyBidWlsdGluL3JldmVydC5jOjExNyBidWlsdGluL3RhZy5jOjQxOAogbXNnaWQgImtleS1pZCIKIG1zZ3N0ciAia2V5LWlkIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NCBidWlsdGluL3JlYmFzZS5jOjg5OSBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODQKKyM6IGJ1aWx0aW4vYW0uYzoyMjQyIGJ1aWx0aW4vcmViYXNlLmM6NTEwIGJ1aWx0aW4vcmViYXNlLmM6MTUxNAogbXNnaWQgIkdQRy1zaWduIGNvbW1pdHMiCiBtc2dzdHIgIuS9v+eUqCBHUEcg562+5ZCN5o+Q5LqkIgogCi0jOiBidWlsdGluL2FtLmM6MjI1NworIzogYnVpbHRpbi9hbS5jOjIyNDUKIG1zZ2lkICIoaW50ZXJuYWwgdXNlIGZvciBnaXQtcmViYXNlKSIKIG1zZ3N0ciAi77yI5YaF6YOo5L2/55So77yM55So5LqOIGdpdC1yZWJhc2XvvIkiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMjc1CisjOiBidWlsdGluL2FtLmM6MjI2MwogbXNnaWQgIiIKICJUaGUgLWIvLS1iaW5hcnkgb3B0aW9uIGhhcyBiZWVuIGEgbm8tb3AgZm9yIGxvbmcgdGltZSwgYW5kXG4iCiAiaXQgd2lsbCBiZSByZW1vdmVkLiBQbGVhc2UgZG8gbm90IHVzZSBpdCBhbnltb3JlLiIKQEAgLTc2ODYsMTYgKzk0NTgsMTYgQEAKICLlj4LmlbAgLWIvLS1iaW5hcnkg5bey57uP5b6I6ZW/5pe26Ze05LiN5YGa5Lu75L2V5a6e6LSo5pON5L2c5LqG77yM5bm25LiU5bCG6KKr56e76Zmk44CCXG4iCiAi6K+35LiN6KaB5YaN5L2/55So5a6D5LqG44CCIgogCi0jOiBidWlsdGluL2FtLmM6MjI4MgorIzogYnVpbHRpbi9hbS5jOjIyNzAKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCiBtc2dzdHIgIuivu+WPlue0ouW8leWksei0pSIKIAotIzogYnVpbHRpbi9hbS5jOjIyOTcKKyM6IGJ1aWx0aW4vYW0uYzoyMjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgInByZXZpb3VzIHJlYmFzZSBkaXJlY3RvcnkgJXMgc3RpbGwgZXhpc3RzIGJ1dCBtYm94IGdpdmVuLiIKIG1zZ3N0ciAi5LmL5YmN55qE5Y+Y5Z+655uu5b2VICVzIOS7jeeEtuWtmOWcqO+8jOS9huWNtOaPkOS+m+S6hiBtYm9444CCIgogCi0jOiBidWlsdGluL2FtLmM6MjMyMQorIzogYnVpbHRpbi9hbS5jOjIzMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN0cmF5ICVzIGRpcmVjdG9yeSBmb3VuZC5cbiIKQEAgLTc3MDQsMTAgKzk0NzYsMTQgQEAKICLlj5HnjrDkuobplJnor6/nmoQgJXMg55uu5b2V44CCXG4iCiAi5L2/55SoIFwiZ2l0IGFtIC0tYWJvcnRcIiDliKDpmaTlroPjgIIiCiAKLSM6IGJ1aWx0aW4vYW0uYzoyMzI3CisjOiBidWlsdGluL2FtLmM6MjMxNQogbXNnaWQgIlJlc29sdmUgb3BlcmF0aW9uIG5vdCBpbiBwcm9ncmVzcywgd2UgYXJlIG5vdCByZXN1bWluZy4iCiBtc2dzdHIgIuino+WGs+aTjeS9nOacqui/m+ihjO+8jOaIkeS7rOS4jeS8mue7p+e7reOAgiIKIAorIzogYnVpbHRpbi9hbS5jOjIzMjUKK21zZ2lkICJpbnRlcmFjdGl2ZSBtb2RlIHJlcXVpcmVzIHBhdGNoZXMgb24gdGhlIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAi5Lqk5LqS5byP5qih5byP6ZyA6KaB5ZG95Luk6KGM5LiK5o+Q5L6b6KGl5LiBIgorCiAjOiBidWlsdGluL2FwcGx5LmM6OAogbXNnaWQgImdpdCBhcHBseSBbPG9wdGlvbnM+XSBbPHBhdGNoPi4uLl0iCiBtc2dzdHIgImdpdCBhcHBseSBbPOmAiemhuT5dIFs86KGl5LiBPi4uLl0iCkBAIC03NzI1LDg1ICs5NTAxLDI5NCBAQAogbXNnaWQgImdpdCBhcmNoaXZlOiBSZW1vdGUgd2l0aCBubyBVUkwiCiBtc2dzdHIgImdpdCBhcmNoaXZl77ya5pyq5o+Q5L6b6L+c56iLIFVSTCIKIAotIzogYnVpbHRpbi9hcmNoaXZlLmM6NTgKKyM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjYxCiBtc2dpZCAiZ2l0IGFyY2hpdmU6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBhIGZsdXNoIHBhY2tldCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmXvvJrmnJ/mnJvmmK8gQUNLL05BS++8jOWNtOW+l+WIsCBmbHVzaCDljIUiCiAKLSM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjYxCisjOiBidWlsdGluL2FyY2hpdmUuYzo2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgYXJjaGl2ZTogTkFDSyAlcyIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmXvvJpOQUNLICVzIgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2NAorIzogYnVpbHRpbi9hcmNoaXZlLmM6NjUKIG1zZ2lkICJnaXQgYXJjaGl2ZTogcHJvdG9jb2wgZXJyb3IiCiBtc2dzdHIgImdpdCBhcmNoaXZl77ya5Y2P6K6u6ZSZ6K+vIgogCi0jOiBidWlsdGluL2FyY2hpdmUuYzo2OAorIzogYnVpbHRpbi9hcmNoaXZlLmM6NjkKIG1zZ2lkICJnaXQgYXJjaGl2ZTogZXhwZWN0ZWQgYSBmbHVzaCIKIG1zZ3N0ciAiZ2l0IGFyY2hpdmXvvJrlupTmnInkuIDkuKogZmx1c2gg5YyFIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTIKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMgogbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLW5leHQtYWxsIFstLW5vLWNoZWNrb3V0XSIKIG1zZ3N0ciAiZ2l0IGJpc2VjdC0taGVscGVyIC0tbmV4dC1hbGwgWy0tbm8tY2hlY2tvdXRdIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTMKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMwogbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLXdyaXRlLXRlcm1zIDxiYWRfdGVybT4gPGdvb2RfdGVybT4iCiBtc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLXdyaXRlLXRlcm1zIDzlnY8t5pyv6K+tPiA85aW9Leacr+ivrT4iCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNAorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI0CiBtc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNsZWFuLXN0YXRlIgogbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2xlYW4tc3RhdGUiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo0NgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI1Cittc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXJlc2V0IFs8Y29tbWl0Pl0iCittc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1yZXNldCBbPOaPkOS6pD5dIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjYKK21zZ2lkICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXdyaXRlIFstLW5vLWxvZ10gPHN0YXRlPiA8cmV2aXNpb24+IDxnb29kX3Rlcm0+ICIKKyI8YmFkX3Rlcm0+IgorbXNnc3RyICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LXdyaXRlIFstLW5vLWxvZ10gPOeKtuaAgT4gPOeJiOacrD4gPOWlvS3mnK/or60+IDzlnY8t5pyv6K+tIgorIj4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNworbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2hlY2stYW5kLXNldC10ZXJtcyA8Y29tbWFuZD4gPGdvb2RfdGVybT4gIgorIjxiYWRfdGVybT4iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2hlY2stYW5kLXNldC10ZXJtcyA85ZG95LukPiA85aW9Leacr+ivrT4gPOWdjy3mnK/or60+IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjgKK21zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtbmV4dC1jaGVjayA8Z29vZF90ZXJtPiA8YmFkX3Rlcm0+IFs8dGVybT5dIgorbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtbmV4dC1jaGVjayA85aW9Leacr+ivrT4gPOWdjy3mnK/or60+IFs85pyv6K+tPl0iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyOQorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtdGVybXMgWy0tdGVybS1nb29kIHwgLS10ZXJtLW9sZCB8IC0tdGVybS1iYWQgfCAtLSIKKyJ0ZXJtLW5ld10iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtdGVybXMgWy0tdGVybS1nb29kIHwgLS10ZXJtLW9sZCB8IC0tdGVybS1iYWQgfCAtLSIKKyJ0ZXJtLW5ld10iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozMAorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtc3RhcnQgWy0tdGVybS17b2xkLGdvb2R9PTx0ZXJtPiAtLXRlcm0te25ldyxiYWR9IgorIj08dGVybT5dWy0tbm8tY2hlY2tvdXRdIFs8YmFkPiBbPGdvb2Q+Li4uXV0gWy0tXSBbPHBhdGhzPi4uLl0iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtc3RhcnQgWy0tdGVybS17b2xkLGdvb2R9PTzmnK/or60+IC0tdGVybS17bmV3LGJhZH0iCisiPTzmnK/or60+XVstLW5vLWNoZWNrb3V0XSBbPOWdjz4gWzzlpb0+Li4uXV0gWy0tXSBbPOi3r+W+hD4uLi5dIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0ZXJtIgogbXNnc3RyICInJXMnIOS4jeaYr+S4gOS4quacieaViOeahOacr+ivrSIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjUwCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FuJ3QgdXNlIHRoZSBidWlsdGluIGNvbW1hbmQgJyVzJyBhcyBhIHRlcm0iCiBtc2dzdHIgIuS4jeiDveS9v+eUqOWGhee9ruWRveS7pCAnJXMnIOS9nOS4uuacr+ivrSIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYwCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbid0IGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgdGVybSAnJXMnIgogbXNnc3RyICLkuI3og73kv67mlLnmnK/or60gJyVzJyDnmoTlkKvkuYkiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo3MQorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjExMQogbXNnaWQgInBsZWFzZSB1c2UgdHdvIGRpZmZlcmVudCB0ZXJtcyIKIG1zZ3N0ciAi6K+35L2/55So5Lik5Liq5LiN5ZCM55qE5pyv6K+tIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NzgKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMTgKIG1zZ2lkICJjb3VsZCBub3Qgb3BlbiB0aGUgZmlsZSBCSVNFQ1RfVEVSTVMiCiBtc2dzdHIgIuS4jeiDveaJk+W8gOaWh+S7tiBCSVNFQ1RfVEVSTVMiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMjAKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2UgYXJlIG5vdCBiaXNlY3RpbmcuXG4iCittc2dzdHIgIuaIkeS7rOayoeacieWcqOS6jOWIhuafpeaJvuOAglxuIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgY29tbWl0IgorbXNnc3RyICInJXMnIOS4jeaYr+S4gOS4quacieaViOeahOaPkOS6pCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE3MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY291bGQgbm90IGNoZWNrIG91dCBvcmlnaW5hbCBIRUFEICclcycuIFRyeSAnZ2l0IGJpc2VjdCByZXNldCA8Y29tbWl0PicuIgorbXNnc3RyICLkuI3og73mo4Dlh7rljp/lp4sgSEVBRCAnJXMn44CC5bCd6K+VICdnaXQgYmlzZWN0IHJlc2V0IDzmj5DkuqQ+J+OAgiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgYmlzZWN0X3dyaXRlIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5Z2P55qEIGJpc2VjdF93cml0ZSDlj4LmlbDvvJolcyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjIyMQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBnZXQgdGhlIG9pZCBvZiB0aGUgcmV2ICclcyciCittc2dzdHIgIuaXoOazleiOt+WPlueJiOacrCAnJXMnIOeahOWvueixoSBJRCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBvcGVuIHRoZSBmaWxlICclcyciCittc2dzdHIgIuaXoOazleaJk+W8gOaWh+S7tiAnJXMnIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgY29tbWFuZDogeW91J3JlIGN1cnJlbnRseSBpbiBhICVzLyVzIGJpc2VjdCIKK21zZ3N0ciAi5peg5pWI55qE5ZG95Luk77ya5oKo5b2T5YmN5q2j5aSE5LqO5LiA5LiqICVzLyVzIOS6jOWIhuafpeaJvuS4rSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IG5lZWQgdG8gZ2l2ZSBtZSBhdCBsZWFzdCBvbmUgJXMgYW5kICVzIHJldmlzaW9uLlxuIgorIllvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCAlc1wiIGFuZCBcImdpdCBiaXNlY3QgJXNcIiBmb3IgdGhhdC4iCittc2dzdHIgIiIKKyLmgqjpnIDopoHnu5nmiJHoh7PlsJHkuIDkuKogJXMg5ZKM5LiA5LiqICVzIOeJiOacrOOAglxuIgorIuS4uuatpOaCqOWPr+S7peeUqCBcImdpdCBiaXNlY3QgJXNcIiDlkowgXCJnaXQgYmlzZWN0ICVzXCLjgIIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBuZWVkIHRvIHN0YXJ0IGJ5IFwiZ2l0IGJpc2VjdCBzdGFydFwiLlxuIgorIllvdSB0aGVuIG5lZWQgdG8gZ2l2ZSBtZSBhdCBsZWFzdCBvbmUgJXMgYW5kICVzIHJldmlzaW9uLlxuIgorIllvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCAlc1wiIGFuZCBcImdpdCBiaXNlY3QgJXNcIiBmb3IgdGhhdC4iCittc2dzdHIgIiIKKyLmgqjpnIDopoHmiafooYwgXCJnaXQgYmlzZWN0IHN0YXJ0XCIg5p2l5byA5aeL44CCXG4iCisi54S25ZCO6ZyA6KaB5o+Q5L6b5oiR6Iez5bCR5LiA5LiqICVzIOWSjOS4gOS4qiAlcyDniYjmnKzjgIJcbiIKKyLkuLrmraTmgqjlj6/ku6XnlKggXCJnaXQgYmlzZWN0ICVzXCIg5ZKMIFwiZ2l0IGJpc2VjdCAlc1wiIOWRveS7pOOAgiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICJiaXNlY3Rpbmcgb25seSB3aXRoIGEgJXMgY29tbWl0IgorbXNnc3RyICLlnKjlj6rmnInkuIDkuKogJXMg5o+Q5Lqk55qE5oOF5Ya15LiL5LqM5YiG5p+l5om+IgorCisjICDor5HogIXvvJrms6jmhI/kv53mjIHlj6XlsL7nqbrmoLwKKyMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbWV0gYW5kIFtuXSBpbiB5b3VyCisjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CisjLiBhdCB0aGlzIHBvaW50LgorIy4KKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozMzAKK21zZ2lkICJBcmUgeW91IHN1cmUgW1kvbl0/ICIKK21zZ3N0ciAi5oKo56Gu6K6k5LmIW1kvbl3vvJ8gIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Mzc3Cittc2dpZCAibm8gdGVybXMgZGVmaW5lZCIKK21zZ3N0ciAi5pyq5a6a5LmJ5pyv6K+tIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGN1cnJlbnQgdGVybXMgYXJlICVzIGZvciB0aGUgb2xkIHN0YXRlXG4iCisiYW5kICVzIGZvciB0aGUgbmV3IHN0YXRlLlxuIgorbXNnc3RyICLmgqjlvZPliY3pkojlr7nml6fnirbmgIHnmoTmnK/or63mmK8gJXPvvIzlr7nmlrDnirbmgIHnmoTmnK/or63mmK8gJXPjgIJcbiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiaW52YWxpZCBhcmd1bWVudCAlcyBmb3IgJ2dpdCBiaXNlY3QgdGVybXMnLlxuIgorIlN1cHBvcnRlZCBvcHRpb25zIGFyZTogLS10ZXJtLWdvb2R8LS10ZXJtLW9sZCBhbmQgLS10ZXJtLWJhZHwtLXRlcm0tbmV3LiIKK21zZ3N0ciAiIgorIuWRveS7pCAnZ2l0IGJpc2VjdCB0ZXJtcycg55qE5Y+C5pWwICVzIOaXoOaViOOAglxuIgorIuaUr+aMgeeahOmAiemhueacie+8mi0tdGVybS1nb29kfC0tdGVybS1vbGQg5ZKMIC0tdGVybS1iYWR8LS10ZXJtLW5ld+OAgiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uOiAnJXMnIgorbXNnc3RyICLmnKror4bliKvnmoTpgInpobnvvJonJXMnIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgdmFsaWQgcmV2aXNpb24iCittc2dzdHIgIiclcycg55yL6LW35p2l5LiN5piv5LiA5Liq5pyJ5pWI55qE54mI5pysIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTEyCittc2dpZCAiYmFkIEhFQUQgLSBJIG5lZWQgYSBIRUFEIgorbXNnc3RyICLlnY/nmoQgSEVBRCAtIOaIkemcgOimgeS4gOS4qiBIRUFEIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNraW5nIG91dCAnJXMnIGZhaWxlZC4gVHJ5ICdnaXQgYmlzZWN0IHN0YXJ0IDx2YWxpZC1icmFuY2g+Jy4iCittc2dzdHIgIuajgOWHuiAnJXMnIOWksei0peOAguWwneivlSAnZ2l0IGJpc2VjdCBzdGFydCA85pyJ5pWI5YiG5pSvPifjgIIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1NDgKK21zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgorbXNnc3RyICLkuI3kvJrlnKjlgZrkuoYgY2ctc2VlayDnmoTmoJHkuIrlgZrkuozliIbmn6Xmib4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1NTEKK21zZ2lkICJiYWQgSEVBRCAtIHN0cmFuZ2Ugc3ltYm9saWMgcmVmIgorbXNnc3RyICLlnY/nmoQgSEVBRCAtIOWlh+aAqueahOespuWPt+W8leeUqCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHJlZjogJyVzJyIKK21zZ3N0ciAi5peg5pWI55qE5byV55So77yaJyVzJyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzMQogbXNnaWQgInBlcmZvcm0gJ2dpdCBiaXNlY3QgbmV4dCciCiBtc2dzdHIgIuaJp+ihjCAnZ2l0IGJpc2VjdCBuZXh0JyIKIAotIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjEyMgorIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzMwogbXNnaWQgIndyaXRlIHRoZSB0ZXJtcyB0byAuZ2l0L0JJU0VDVF9URVJNUyIKIG1zZ3N0ciAi5bCG5pyv6K+t5YaZ5YWlIC5naXQvQklTRUNUX1RFUk1TIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTI0CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM1CiBtc2dpZCAiY2xlYW51cCB0aGUgYmlzZWN0aW9uIHN0YXRlIgogbXNnc3RyICLmuIXpmaTkuozliIbmn6Xmib7nirbmgIEiCiAKLSM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMjYKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2MzcKIG1zZ2lkICJjaGVjayBmb3IgZXhwZWN0ZWQgcmV2cyIKIG1zZ3N0ciAi5qOA5p+l6aKE5pyf55qE54mI5pysIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTI4CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM5Cittc2dpZCAicmVzZXQgdGhlIGJpc2VjdGlvbiBzdGF0ZSIKK21zZ3N0ciAi5riF6Zmk5LqM5YiG5p+l5om+54q25oCBIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQxCittc2dpZCAid3JpdGUgb3V0IHRoZSBiaXNlY3Rpb24gc3RhdGUgaW4gQklTRUNUX0xPRyIKK21zZ3N0ciAi5bCG5LqM5YiG5p+l5om+55qE54q25oCB5YaZ5YWlIEJJU0VDVF9MT0ciCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDMKK21zZ2lkICJjaGVjayBhbmQgc2V0IHRlcm1zIGluIGEgYmlzZWN0aW9uIHN0YXRlIgorbXNnc3RyICLlnKjkuIDkuKrkuozliIbmn6Xmib7nirbmgIHkuK3mo4Dmn6Xlkozorr7nva7mnK/or60iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDUKK21zZ2lkICJjaGVjayB3aGV0aGVyIGJhZCBvciBnb29kIHRlcm1zIGV4aXN0IgorbXNnc3RyICLmo4Dmn6XlnY/nmoTmiJblpb3nmoTmnK/or63mmK/lkKblrZjlnKgiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NDcKK21zZ2lkICJwcmludCBvdXQgdGhlIGJpc2VjdCB0ZXJtcyIKK21zZ3N0ciAi5omT5Y2w5LqM5YiG5p+l5om+5pyv6K+tIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQ5Cittc2dpZCAic3RhcnQgdGhlIGJpc2VjdCBzZXNzaW9uIgorbXNnc3RyICLlkK/liqjkuozliIbmn6Xmib7ov4fnqIsiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NTEKIG1zZ2lkICJ1cGRhdGUgQklTRUNUX0hFQUQgaW5zdGVhZCBvZiBjaGVja2luZyBvdXQgdGhlIGN1cnJlbnQgY29tbWl0IgogbXNnc3RyICLmm7TmlrAgQklTRUNUX0hFQUQg6ICM6Z2e5qOA5Ye65b2T5YmN5o+Q5LqkIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTQzCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjUzCittc2dpZCAibm8gbG9nIGZvciBCSVNFQ1RfV1JJVEUiCittc2dzdHIgIkJJU0VDVF9XUklURSDml6Dml6Xlv5ciCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2NzAKIG1zZ2lkICItLXdyaXRlLXRlcm1zIHJlcXVpcmVzIHR3byBhcmd1bWVudHMiCiBtc2dzdHIgIi0td3JpdGUtdGVybXMg6ZyA6KaB5Lik5Liq5Y+C5pWwIgogCi0jOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTQ3CisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Njc0CiBtc2dpZCAiLS1iaXNlY3QtY2xlYW4tc3RhdGUgcmVxdWlyZXMgbm8gYXJndW1lbnRzIgotbXNnc3RyICItLWJpc2VjdC1jbGVhbi1zdGF0ZSDkuI3pnIDopoHlj4LmlbAiCittc2dzdHIgIi0tYmlzZWN0LWNsZWFuLXN0YXRlIOS4jeW4puWPguaVsCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY4MQorbXNnaWQgIi0tYmlzZWN0LXJlc2V0IHJlcXVpcmVzIGVpdGhlciBubyBhcmd1bWVudCBvciBhIGNvbW1pdCIKK21zZ3N0ciAiLS1iaXNlY3QtcmVzZXQg5peg6ZyA5Y+C5pWw5oiW6ICF6ZyA6KaB5LiA5Liq5o+Q5LqkIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Njg1Cittc2dpZCAiLS1iaXNlY3Qtd3JpdGUgcmVxdWlyZXMgZWl0aGVyIDQgb3IgNSBhcmd1bWVudHMiCittc2dzdHIgIi0tYmlzZWN0LXdyaXRlIOmcgOimgSA0IOaIliA1IOS4quWPguaVsCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY5MQorbXNnaWQgIi0tY2hlY2stYW5kLXNldC10ZXJtcyByZXF1aXJlcyAzIGFyZ3VtZW50cyIKK21zZ3N0ciAiLS1jaGVjay1hbmQtc2V0LXRlcm1zIOmcgOimgSAzIOS4quWPguaVsCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY5NworbXNnaWQgIi0tYmlzZWN0LW5leHQtY2hlY2sgcmVxdWlyZXMgMiBvciAzIGFyZ3VtZW50cyIKK21zZ3N0ciAiLS1iaXNlY3QtbmV4dC1jaGVjayDpnIDopoEgMiDmiJYgMyDkuKrlj4LmlbAiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo3MDMKK21zZ2lkICItLWJpc2VjdC10ZXJtcyByZXF1aXJlcyAwIG9yIDEgYXJndW1lbnQiCittc2dzdHIgIi0tYmlzZWN0LXRlcm1zIOmcgOimgSAwIOaIliAxIOS4quWPguaVsCIKIAogIzogYnVpbHRpbi9ibGFtZS5jOjMxCiBtc2dpZCAiZ2l0IGJsYW1lIFs8b3B0aW9ucz5dIFs8cmV2LW9wdHM+XSBbPHJldj5dIFstLV0gPGZpbGU+IgpAQCAtNzgxMywxMzMgKzk3OTgsMTQ2IEBACiBtc2dpZCAiPHJldi1vcHRzPiBhcmUgZG9jdW1lbnRlZCBpbiBnaXQtcmV2LWxpc3QoMSkiCiBtc2dzdHIgIjzniYjmnKzpgInpobk+IOeahOaWh+aho+iusOW9leWcqCBnaXQtcmV2LWxpc3QoMSkg5LitIgogCi0jOiBidWlsdGluL2JsYW1lLmM6NDA2CisjOiBidWlsdGluL2JsYW1lLmM6NDA5CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGVjdGluZyBhIGNvbG9yOiAlcyIKIG1zZ3N0ciAi5pyf5pyb5LiA5Liq6aKc6Imy77yaJXMiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo0MTMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo0MTYKIG1zZ2lkICJtdXN0IGVuZCB3aXRoIGEgY29sb3IiCiBtc2dzdHIgIuW/hemhu+S7peS4gOS4quminOiJsue7k+WwviIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjcwMAorIzogYnVpbHRpbi9ibGFtZS5jOjcyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNvbG9yICclcycgaW4gY29sb3IuYmxhbWUucmVwZWF0ZWRMaW5lcyIKIG1zZ3N0ciAi6K6+572uIGNvbG9yLmJsYW1lLnJlcGVhdGVkTGluZXMg5Lit55qE5peg5pWI6aKc6ImyICclcyciCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3MTgKKyM6IGJ1aWx0aW4vYmxhbWUuYzo3NDcKIG1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciBibGFtZS5jb2xvcmluZyIKIG1zZ3N0ciAi6K6+572uIGJsYW1lLmNvbG9yaW5nIOS4reeahOaXoOaViOWPluWAvCIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5MworIzogYnVpbHRpbi9ibGFtZS5jOjgyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCByZXZpc2lvbiAlcyB0byBpZ25vcmUiCittc2dzdHIgIuS4jeiDveaJvuWIsOimgeW/veeVpeeahOeJiOacrCAlcyIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg0NAogbXNnaWQgIlNob3cgYmxhbWUgZW50cmllcyBhcyB3ZSBmaW5kIHRoZW0sIGluY3JlbWVudGFsbHkiCiBtc2dzdHIgIuWinumHj+W8j+WcsOaYvuekuuWPkeeOsOeahCBibGFtZSDmnaHnm64iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDUKIG1zZ2lkICJTaG93IGJsYW5rIFNIQS0xIGZvciBib3VuZGFyeSBjb21taXRzIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLovrnnlYzmj5DkuqTmmL7npLrnqbrnmoQgU0hBLTHvvIjpu5jorqTvvJrlhbPpl63vvIkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTUKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDYKIG1zZ2lkICJEbyBub3QgdHJlYXQgcm9vdCBjb21taXRzIGFzIGJvdW5kYXJpZXMgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIuS4jeaKiuagueaPkOS6pOS9nOS4uui+ueeVjO+8iOm7mOiupO+8muWFs+mXre+8iSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5NgorIzogYnVpbHRpbi9ibGFtZS5jOjg0NwogbXNnaWQgIlNob3cgd29yayBjb3N0IHN0YXRpc3RpY3MiCiBtc2dzdHIgIuaYvuekuuWRveS7pOa2iOiAl+e7n+iuoSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjc5NworIzogYnVpbHRpbi9ibGFtZS5jOjg0OAogbXNnaWQgIkZvcmNlIHByb2dyZXNzIHJlcG9ydGluZyIKIG1zZ3N0ciAi5by65Yi26L+b5bqm5pi+56S6IgogCi0jOiBidWlsdGluL2JsYW1lLmM6Nzk4CisjOiBidWlsdGluL2JsYW1lLmM6ODQ5CiBtc2dpZCAiU2hvdyBvdXRwdXQgc2NvcmUgZm9yIGJsYW1lIGVudHJpZXMiCiBtc2dzdHIgIuaYvuekuuWIpOaWrSBibGFtZSDmnaHnm67kvY3np7vnmoTlvpfliIbor4rmlq3kv6Hmga8iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo3OTkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTAKIG1zZ2lkICJTaG93IG9yaWdpbmFsIGZpbGVuYW1lIChEZWZhdWx0OiBhdXRvKSIKIG1zZ3N0ciAi5pi+56S65Y6f5aeL5paH5Lu25ZCN77yI6buY6K6k77ya6Ieq5Yqo77yJIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODAwCisjOiBidWlsdGluL2JsYW1lLmM6ODUxCiBtc2dpZCAiU2hvdyBvcmlnaW5hbCBsaW5lbnVtYmVyIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLmmL7npLrljp/lp4vnmoTooYzlj7fvvIjpu5jorqTvvJrlhbPpl63vvIkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTIKIG1zZ2lkICJTaG93IGluIGEgZm9ybWF0IGRlc2lnbmVkIGZvciBtYWNoaW5lIGNvbnN1bXB0aW9uIgogbXNnc3RyICLmmL7npLrkuLrkuIDkuKrpgILlkIjmnLrlmajor7vlj5bnmoTmoLzlvI8iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDIKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTMKIG1zZ2lkICJTaG93IHBvcmNlbGFpbiBmb3JtYXQgd2l0aCBwZXItbGluZSBjb21taXQgaW5mb3JtYXRpb24iCiBtc2dzdHIgIuS4uuavj+S4gOihjOaYvuekuuacuuWZqOmAgueUqOeahOaPkOS6pOS/oeaBryIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwMworIzogYnVpbHRpbi9ibGFtZS5jOjg1NAogbXNnaWQgIlVzZSB0aGUgc2FtZSBvdXRwdXQgbW9kZSBhcyBnaXQtYW5ub3RhdGUgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIuS9v+eUqOWSjCBnaXQtYW5ub3RhdGUg55u45ZCM55qE6L6T5Ye65qih5byP77yI6buY6K6k77ya5YWz6Zet77yJIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA0CisjOiBidWlsdGluL2JsYW1lLmM6ODU1CiBtc2dpZCAiU2hvdyByYXcgdGltZXN0YW1wIChEZWZhdWx0OiBvZmYpIgogbXNnc3RyICLmmL7npLrljp/lp4vml7bpl7TmiLPvvIjpu5jorqTvvJrlhbPpl63vvIkiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MDUKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTYKIG1zZ2lkICJTaG93IGxvbmcgY29tbWl0IFNIQTEgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIuaYvuekuumVv+eahCBTSEExIOaPkOS6pOWPt++8iOm7mOiupO+8muWFs+mXre+8iSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwNgorIzogYnVpbHRpbi9ibGFtZS5jOjg1NwogbXNnaWQgIlN1cHByZXNzIGF1dGhvciBuYW1lIGFuZCB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCiBtc2dzdHIgIumakOiXj+S9nOiAheWQjeWtl+WSjOaXtumXtOaIs++8iOm7mOiupO+8muWFs+mXre+8iSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwNworIzogYnVpbHRpbi9ibGFtZS5jOjg1OAogbXNnaWQgIlNob3cgYXV0aG9yIGVtYWlsIGluc3RlYWQgb2YgbmFtZSAoRGVmYXVsdDogb2ZmKSIKIG1zZ3N0ciAi5pi+56S65L2c6ICF55qE6YKu566x6ICM5LiN5piv5ZCN5a2X77yI6buY6K6k77ya5YWz6Zet77yJIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODA4CisjOiBidWlsdGluL2JsYW1lLmM6ODU5CiBtc2dpZCAiSWdub3JlIHdoaXRlc3BhY2UgZGlmZmVyZW5jZXMiCiBtc2dzdHIgIuW/veeVpeepuueZveW3ruW8giIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgwOQorIzogYnVpbHRpbi9ibGFtZS5jOjg2MCBidWlsdGluL2xvZy5jOjE3MDIKK21zZ2lkICJyZXYiCittc2dzdHIgIueJiOacrCIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg2MAorbXNnaWQgIklnbm9yZSA8cmV2PiB3aGVuIGJsYW1pbmciCittc2dzdHIgIuWcqOaJp+ihjCBibGFtZSDmk43kvZzml7blv73nlaUgPOeJiOacrD4iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjEKK21zZ2lkICJJZ25vcmUgcmV2aXNpb25zIGZyb20gPGZpbGU+IgorbXNnc3RyICLlv73nlaXmnaXoh6ogPOaWh+S7tj4g5Lit55qE54mI5pysIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODYyCiBtc2dpZCAiY29sb3IgcmVkdW5kYW50IG1ldGFkYXRhIGZyb20gcHJldmlvdXMgbGluZSBkaWZmZXJlbnRseSIKIG1zZ3N0ciAi5L2/55So6aKc6Imy6Ze06ZqU6L6T5Ye65LiO5YmN5LiA6KGM5LiN5ZCM55qE6YeN5aSN5YWD5L+h5oGvIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODEwCisjOiBidWlsdGluL2JsYW1lLmM6ODYzCiBtc2dpZCAiY29sb3IgbGluZXMgYnkgYWdlIgogbXNnc3RyICLkvp3mja7ml7bpl7TnnYDoibIiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MTcKLW1zZ2lkICJVc2UgYW4gZXhwZXJpbWVudGFsIGhldXJpc3RpYyB0byBpbXByb3ZlIGRpZmZzIgotbXNnc3RyICLkvb/nlKjkuIDkuKror5XpqozmgKfnmoTlkK/lj5HlvI/nrpfms5XmlLnov5vlt67lvILmmL7npLoiCi0KLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MTkKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjQKIG1zZ2lkICJTcGVuZCBleHRyYSBjeWNsZXMgdG8gZmluZCBiZXR0ZXIgbWF0Y2giCiBtc2dzdHIgIuiKsei0uemineWklueahOW+queOr+adpeaJvuWIsOabtOWlveeahOWMuemFjSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyMAorIzogYnVpbHRpbi9ibGFtZS5jOjg2NQogbXNnaWQgIlVzZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiBjYWxsaW5nIGdpdC1yZXYtbGlzdCIKIG1zZ3N0ciAi5L2/55So5p2l6IeqIDzmlofku7Y+IOeahOS/ruiuoumbhuiAjOS4jeaYr+iwg+eUqCBnaXQtcmV2LWxpc3QiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjEKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjYKIG1zZ2lkICJVc2UgPGZpbGU+J3MgY29udGVudHMgYXMgdGhlIGZpbmFsIGltYWdlIgogbXNnc3RyICLkvb/nlKggPOaWh+S7tj4g55qE5YaF5a655L2c5Li65pyA57uI55qE5Zu+54mHIgogCi0jOiBidWlsdGluL2JsYW1lLmM6ODIyIGJ1aWx0aW4vYmxhbWUuYzo4MjMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjcgYnVpbHRpbi9ibGFtZS5jOjg2OAogbXNnaWQgInNjb3JlIgogbXNnc3RyICLlvpfliIYiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjIKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjcKIG1zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICLmib7liLDmlofku7blhoXlj4rot6jmlofku7bnmoTooYzmi7fotJ0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjgKIG1zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgogbXNnc3RyICLmib7liLDmlofku7blhoXlj4rot6jmlofku7bnmoTooYznp7vliqgiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4MjQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjkKIG1zZ2lkICJuLG0iCiBtc2dzdHIgIm4sbSIKIAotIzogYnVpbHRpbi9ibGFtZS5jOjgyNAorIzogYnVpbHRpbi9ibGFtZS5jOjg2OQogbXNnaWQgIlByb2Nlc3Mgb25seSBsaW5lIHJhbmdlIG4sbSwgY291bnRpbmcgZnJvbSAxIgogbXNnc3RyICLlj6rlpITnkIbooYzojIPlm7TlnKggbiDlkowgbSDkuYvpl7TnmoTvvIzku44gMSDlvIDlp4siCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzo4NzMKKyM6IGJ1aWx0aW4vYmxhbWUuYzo5MjEKIG1zZ2lkICItLXByb2dyZXNzIGNhbid0IGJlIHVzZWQgd2l0aCAtLWluY3JlbWVudGFsIG9yIHBvcmNlbGFpbiBmb3JtYXRzIgogbXNnc3RyICItLXByb2dyZXNzIOS4jeiDveWSjCAtLWluY3JlbWVudGFsIOaIliAtLXBvcmNlbGFpbiDlkIzml7bkvb/nlKgiCiAKQEAgLTc5NTEsMTggKzk5NDksMTggQEAKICMuIHlvdXIgbGFuZ3VhZ2UgbWF5IG5lZWQgbW9yZSBvciBmZXdlciBkaXNwbGF5CiAjLiBjb2x1bW5zLgogIy4KLSM6IGJ1aWx0aW4vYmxhbWUuYzo5MjQKKyM6IGJ1aWx0aW4vYmxhbWUuYzo5NzIKIG1zZ2lkICI0IHllYXJzLCAxMSBtb250aHMgYWdvIgogbXNnc3RyICI0IOW5tCAxMSDkuKrmnIjliY0iCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoxMDExCisjOiBidWlsdGluL2JsYW1lLmM6MTA3OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lIgogbXNnaWRfcGx1cmFsICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lcyIKIG1zZ3N0clswXSAi5paH5Lu2ICVzIOWPquaciSAlbHUg6KGMIgogbXNnc3RyWzFdICLmlofku7YgJXMg5Y+q5pyJICVsdSDooYwiCiAKLSM6IGJ1aWx0aW4vYmxhbWUuYzoxMDU3CisjOiBidWlsdGluL2JsYW1lLmM6MTEyNQogbXNnaWQgIkJsYW1pbmcgbGluZXMiCiBtc2dzdHIgIui/vei4quS7o+eggeihjCIKIApAQCAtNzk5NSw3ICs5OTkzLDcgQEAKIG1zZ3N0ciAiZ2l0IGJyYW5jaCBbPOmAiemhuT5dIFstciB8IC1hXSBbLS1mb3JtYXRdIgogCiAjICDor5HogIXvvJrkv53mjIHljp/mjaLooYzmoLzlvI/vvIzlnKjovpPlh7rml7YgJXMg55qE5pu/5Luj5YaF5a655Lya6K6p5a2X56ym5Liy5Y+Y6ZW/Ci0jOiBidWlsdGluL2JyYW5jaC5jOjE1MQorIzogYnVpbHRpbi9icmFuY2guYzoxNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImRlbGV0aW5nIGJyYW5jaCAnJXMnIHRoYXQgaGFzIGJlZW4gbWVyZ2VkIHRvXG4iCkBAIC04MDA1LDcgKzEwMDAzLDcgQEAKICIgICAgICAgICAnJXMn77yM5L2G5pyq5ZCI5bm25YiwIEhFQUTjgIIiCiAKICMgIOivkeiAhe+8muS/neaMgeWOn+aNouihjOagvOW8j++8jOWcqOi+k+WHuuaXtiAlcyDnmoTmm7/ku6PlhoXlrrnkvJrorqnlrZfnrKbkuLLlj5jplb8KLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTU1CisjOiBidWlsdGluL2JyYW5jaC5jOjE1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGRlbGV0aW5nIGJyYW5jaCAnJXMnIHRoYXQgaXMgbm90IHlldCBtZXJnZWQgdG9cbiIKQEAgLTgwMTQsMTIgKzEwMDEyLDEyIEBACiAi5bm25pyq5Yig6Zmk5YiG5pSvICclcyfvvIwg6Jm954S25a6D5bey57uP5ZCI5bm25YiwIEhFQUTvvIxcbiIKICIgICAgICAgICDnhLbogIzljbTlsJrmnKrooqvlkIjlubbliLDliIbmlK8gJyVzJyDjgIIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MTY5CisjOiBidWlsdGluL2JyYW5jaC5jOjE3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZG4ndCBsb29rIHVwIGNvbW1pdCBvYmplY3QgZm9yICclcyciCiBtc2dzdHIgIuaXoOazleafpeivoiAnJXMnIOaMh+WQkeeahOaPkOS6pOWvueixoSIKIAotIzogYnVpbHRpbi9icmFuY2guYzoxNzMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgYnJhbmNoICclcycgaXMgbm90IGZ1bGx5IG1lcmdlZC5cbiIKQEAgLTgwMjgsMTEyICsxMDAyNiwxMjEgQEAKICLliIbmlK8gJyVzJyDmsqHmnInlrozlhajlkIjlubbjgIJcbiIKICLlpoLmnpzmgqjnoa7orqTopoHliKDpmaTlroPvvIzmiafooYwgJ2dpdCBicmFuY2ggLUQgJXMn44CCIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjE4NgorIzogYnVpbHRpbi9icmFuY2guYzoxODkKIG1zZ2lkICJVcGRhdGUgb2YgY29uZmlnLWZpbGUgZmFpbGVkIgogbXNnc3RyICLmm7TmlrDphY3nva7mlofku7blpLHotKUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjE3CisjOiBidWlsdGluL2JyYW5jaC5jOjIyMAogbXNnaWQgImNhbm5vdCB1c2UgLWEgd2l0aCAtZCIKIG1zZ3N0ciAi5LiN6IO95bCGIC1hIOWSjCAtZCDlkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjIzCisjOiBidWlsdGluL2JyYW5jaC5jOjIyNgogbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgSEVBRCIKIG1zZ3N0ciAi5peg5rOV5p+l6K+iIEhFQUQg5oyH5ZCR55qE5o+Q5Lqk5a+56LGhIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjIzNworIzogYnVpbHRpbi9icmFuY2guYzoyNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBicmFuY2ggJyVzJyBjaGVja2VkIG91dCBhdCAnJXMnIgogbXNnc3RyICLml6Dms5XliKDpmaTmo4Dlh7rkuo4gJyUyJHMnIOeahOWIhuaUryAnJTEkcyfjgIIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjUyCisjOiBidWlsdGluL2JyYW5jaC5jOjI1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAi5pyq6IO95om+5Yiw6L+c56iL6Lef6Liq5YiG5pSvICclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjUzCisjOiBidWlsdGluL2JyYW5jaC5jOjI1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJicmFuY2ggJyVzJyBub3QgZm91bmQuIgogbXNnc3RyICLliIbmlK8gJyVzJyDmnKrlj5HnjrDjgIIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6MjY4CisjOiBidWlsdGluL2JyYW5jaC5jOjI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJFcnJvciBkZWxldGluZyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICclcyciCiBtc2dzdHIgIuaXoOazleWIoOmZpOi/nOeoi+i3n+i4quWIhuaUryAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI2OQorIzogYnVpbHRpbi9icmFuY2guYzoyNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGVsZXRpbmcgYnJhbmNoICclcyciCiBtc2dzdHIgIuaXoOazleWIoOmZpOWIhuaUryAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjI3NgorIzogYnVpbHRpbi9icmFuY2guYzoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRlZCByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICLlt7LliKDpmaTov5znqIvot5/ouKrliIbmlK8gJXPvvIjmm77kuLogJXPvvInjgIJcbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzoyNzcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbGV0ZWQgYnJhbmNoICVzICh3YXMgJXMpLlxuIgogbXNnc3RyICLlt7LliKDpmaTliIbmlK8gJXPvvIjmm77kuLogJXPvvInjgIJcbiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo0MjEgYnVpbHRpbi90YWcuYzo1OQorIzogYnVpbHRpbi9icmFuY2guYzo0MjkgYnVpbHRpbi90YWcuYzo2MQogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBmb3JtYXQgc3RyaW5nIgogbXNnc3RyICLkuI3og73op6PmnpDmoLzlvI/ljJblrZfnrKbkuLIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDU4CisjOiBidWlsdGluL2JyYW5jaC5jOjQ2MAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQiCittc2dzdHIgIuS4jeiDveino+aekCBIRUFEIOaPkOS6pCIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSEVBRCAoJXMpIHBvaW50cyBvdXRzaWRlIG9mIHJlZnMvaGVhZHMvIgorbXNnc3RyICJIRUFEICglcykg5oyH5ZCRIHJlZnMvaGVhZHMvIOS5i+WkliIKKworIzogYnVpbHRpbi9icmFuY2guYzo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoICVzIGlzIGJlaW5nIHJlYmFzZWQgYXQgJXMiCiBtc2dzdHIgIuWIhuaUryAlcyDmraPooqvlj5jln7rliLAgJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDYyCisjOiBidWlsdGluL2JyYW5jaC5jOjQ4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJCcmFuY2ggJXMgaXMgYmVpbmcgYmlzZWN0ZWQgYXQgJXMiCiBtc2dzdHIgIuWIhuaUryAlcyDmraPooqvkuozliIbmn6Xmib7kuo4gJXMiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NDc5CisjOiBidWlsdGluL2JyYW5jaC5jOjUwMgogbXNnaWQgImNhbm5vdCBjb3B5IHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAi5peg5rOV5ou36LSd5b2T5YmN5YiG5pSv5Zug5Li65LiN5aSE5LqO5Lu75L2V5YiG5pSv5LiK44CCIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ4MQorIzogYnVpbHRpbi9icmFuY2guYzo1MDQKIG1zZ2lkICJjYW5ub3QgcmVuYW1lIHRoZSBjdXJyZW50IGJyYW5jaCB3aGlsZSBub3Qgb24gYW55LiIKIG1zZ3N0ciAi5peg5rOV6YeN5ZG95ZCN5b2T5YmN5YiG5pSv5Zug5Li65LiN5aSE5LqO5Lu75L2V5YiG5pSv5LiK44CCIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjQ5MgorIzogYnVpbHRpbi9icmFuY2guYzo1MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCBicmFuY2ggbmFtZTogJyVzJyIKIG1zZ3N0ciAi5peg5pWI55qE5YiG5pSv5ZCN77yaJyVzJyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1MTkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQyCiBtc2dpZCAiQnJhbmNoIHJlbmFtZSBmYWlsZWQiCiBtc2dzdHIgIuWIhuaUr+mHjeWRveWQjeWksei0pSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1MjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTQ0CiBtc2dpZCAiQnJhbmNoIGNvcHkgZmFpbGVkIgogbXNnc3RyICLliIbmlK/mi7fotJ3lpLHotKUiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTI1CisjOiBidWlsdGluL2JyYW5jaC5jOjU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJDcmVhdGVkIGEgY29weSBvZiBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIgogbXNnc3RyICLlt7LkuLrplJnor6/lkb3lkI3nmoTliIbmlK8gJyVzJyDliJvlu7rkuobkuIDkuKrlia/mnKwiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTI4CisjOiBidWlsdGluL2JyYW5jaC5jOjU1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW5hbWVkIGEgbWlzbmFtZWQgYnJhbmNoICclcycgYXdheSIKIG1zZ3N0ciAi5bey5bCG6ZSZ6K+v5ZG95ZCN55qE5YiG5pSvICclcycg6YeN5ZG95ZCNIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjUzNAorIzogYnVpbHRpbi9icmFuY2guYzo1NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQnJhbmNoIHJlbmFtZWQgdG8gJXMsIGJ1dCBIRUFEIGlzIG5vdCB1cGRhdGVkISIKIG1zZ3N0ciAi5YiG5pSv6YeN5ZG95ZCN5Li6ICVz77yM5L2GIEhFQUQg5rKh5pyJ5pu05paw77yBIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU0MworIzogYnVpbHRpbi9icmFuY2guYzo1NjYKIG1zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIuWIhuaUr+iiq+mHjeWRveWQje+8jOS9huabtOaWsOmFjee9ruaWh+S7tuWksei0pSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NDUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTY4CiBtc2dpZCAiQnJhbmNoIGlzIGNvcGllZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCiBtc2dzdHIgIuWIhuaUr+W3suaLt+i0ne+8jOS9huabtOaWsOmFjee9ruaWh+S7tuWksei0pSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo1NjEKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2hcbiIKQEAgLTgxNDQsMjM5ICsxMDE1MSwyODIgQEAKICIgICVzXG4iCiAi5LulICclYycg5byA5aS055qE6KGM5bCG6KKr6L+H5ruk44CCXG4iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk0CisjOiBidWlsdGluL2JyYW5jaC5jOjYxOAogbXNnaWQgIkdlbmVyaWMgb3B0aW9ucyIKIG1zZ3N0ciAi6YCa55So6YCJ6aG5IgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NgorIzogYnVpbHRpbi9icmFuY2guYzo2MjAKIG1zZ2lkICJzaG93IGhhc2ggYW5kIHN1YmplY3QsIGdpdmUgdHdpY2UgZm9yIHVwc3RyZWFtIGJyYW5jaCIKIG1zZ3N0ciAi5pi+56S65ZOI5biM5YC85ZKM5Li76aKY77yM6Iul5Y+C5pWw5Ye6546w5Lik5qyh5YiZ5pi+56S65LiK5ri45YiG5pSvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjU5NworIzogYnVpbHRpbi9icmFuY2guYzo2MjEKIG1zZ2lkICJzdXBwcmVzcyBpbmZvcm1hdGlvbmFsIG1lc3NhZ2VzIgogbXNnc3RyICLkuI3mmL7npLrkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NTk4CisjOiBidWlsdGluL2JyYW5jaC5jOjYyMgogbXNnaWQgInNldCB1cCB0cmFja2luZyBtb2RlIChzZWUgZ2l0LXB1bGwoMSkpIgogbXNnc3RyICLorr7nva7ot5/ouKrmqKHlvI/vvIjlj4Lop4EgZ2l0LXB1bGwoMSnvvIkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAwCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNAogbXNnaWQgImRvIG5vdCB1c2UiCiBtc2dzdHIgIuS4jeimgeS9v+eUqCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDIgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTgwCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNiBidWlsdGluL3JlYmFzZS5jOjUwNQogbXNnaWQgInVwc3RyZWFtIgogbXNnc3RyICLkuIrmuLgiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjAyCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNgogbXNnaWQgImNoYW5nZSB0aGUgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAi5pS55Y+Y5LiK5ri45L+h5oGvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwMwotbXNnaWQgIlVuc2V0IHRoZSB1cHN0cmVhbSBpbmZvIgorIzogYnVpbHRpbi9icmFuY2guYzo2MjcKK21zZ2lkICJ1bnNldCB0aGUgdXBzdHJlYW0gaW5mbyIKIG1zZ3N0ciAi5Y+W5raI5LiK5ri45L+h5oGv55qE6K6+572uIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwNAorIzogYnVpbHRpbi9icmFuY2guYzo2MjgKIG1zZ2lkICJ1c2UgY29sb3JlZCBvdXRwdXQiCiBtc2dzdHIgIuS9v+eUqOW9qeiJsui+k+WHuiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MDUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI5CiBtc2dpZCAiYWN0IG9uIHJlbW90ZS10cmFja2luZyBicmFuY2hlcyIKIG1zZ3N0ciAi5L2c55So5LqO6L+c56iL6Lef6Liq5YiG5pSvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYwNyBidWlsdGluL2JyYW5jaC5jOjYwOQorIzogYnVpbHRpbi9icmFuY2guYzo2MzEgYnVpbHRpbi9icmFuY2guYzo2MzMKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgY29udGFpbiB0aGUgY29tbWl0IgogbXNnc3RyICLlj6rmiZPljbDljIXlkKvor6Xmj5DkuqTnmoTliIbmlK8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjA4IGJ1aWx0aW4vYnJhbmNoLmM6NjEwCisjOiBidWlsdGluL2JyYW5jaC5jOjYzMiBidWlsdGluL2JyYW5jaC5jOjYzNAogbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgIuWPquaJk+WNsOS4jeWMheWQq+ivpeaPkOS6pOeahOWIhuaUryIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MTMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM3CiBtc2dpZCAiU3BlY2lmaWMgZ2l0LWJyYW5jaCBhY3Rpb25zOiIKIG1zZ3N0ciAi5YW35L2T55qEIGdpdC1icmFuY2gg5Yqo5L2c77yaIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxNAorIzogYnVpbHRpbi9icmFuY2guYzo2MzgKIG1zZ2lkICJsaXN0IGJvdGggcmVtb3RlLXRyYWNraW5nIGFuZCBsb2NhbCBicmFuY2hlcyIKIG1zZ3N0ciAi5YiX5Ye66L+c56iL6Lef6Liq5Y+K5pys5Zyw5YiG5pSvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxNgorIzogYnVpbHRpbi9icmFuY2guYzo2NDAKIG1zZ2lkICJkZWxldGUgZnVsbHkgbWVyZ2VkIGJyYW5jaCIKIG1zZ3N0ciAi5Yig6Zmk5a6M5YWo5ZCI5bm255qE5YiG5pSvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxNworIzogYnVpbHRpbi9icmFuY2guYzo2NDEKIG1zZ2lkICJkZWxldGUgYnJhbmNoIChldmVuIGlmIG5vdCBtZXJnZWQpIgogbXNnc3RyICLliKDpmaTliIbmlK/vvIjljbPkvb/msqHmnInlkIjlubbvvIkiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjE4CisjOiBidWlsdGluL2JyYW5jaC5jOjY0MgogbXNnaWQgIm1vdmUvcmVuYW1lIGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIgogbXNnc3RyICLnp7vliqgv6YeN5ZG95ZCN5LiA5Liq5YiG5pSv77yM5Lul5Y+K5a6D55qE5byV55So5pel5b+XIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYxOQorIzogYnVpbHRpbi9icmFuY2guYzo2NDMKIG1zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgogbXNnc3RyICLnp7vliqgv6YeN5ZG95ZCN5LiA5Liq5YiG5pSv77yM5Y2z5L2/55uu5qCH5bey5a2Y5ZyoIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMAorIzogYnVpbHRpbi9icmFuY2guYzo2NDQKIG1zZ2lkICJjb3B5IGEgYnJhbmNoIGFuZCBpdHMgcmVmbG9nIgogbXNnc3RyICLmi7fotJ3kuIDkuKrliIbmlK/lkozlroPnmoTlvJXnlKjml6Xlv5ciCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIxCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NQogbXNnaWQgImNvcHkgYSBicmFuY2gsIGV2ZW4gaWYgdGFyZ2V0IGV4aXN0cyIKIG1zZ3N0ciAi5ou36LSd5LiA5Liq5YiG5pSv77yM5Y2z5L2/55uu5qCH5bey5a2Y5ZyoIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMgorIzogYnVpbHRpbi9icmFuY2guYzo2NDYKIG1zZ2lkICJsaXN0IGJyYW5jaCBuYW1lcyIKIG1zZ3N0ciAi5YiX5Ye65YiG5pSv5ZCNIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyMworIzogYnVpbHRpbi9icmFuY2guYzo2NDcKK21zZ2lkICJzaG93IGN1cnJlbnQgYnJhbmNoIG5hbWUiCittc2dzdHIgIuaYvuekuuW9k+WJjeWIhuaUr+WQjSIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NDgKIG1zZ2lkICJjcmVhdGUgdGhlIGJyYW5jaCdzIHJlZmxvZyIKIG1zZ3N0ciAi5Yib5bu65YiG5pSv55qE5byV55So5pel5b+XIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyNQorIzogYnVpbHRpbi9icmFuY2guYzo2NTAKIG1zZ2lkICJlZGl0IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJyYW5jaCIKIG1zZ3N0ciAi5qCH6K6w5YiG5pSv55qE5o+P6L+wIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyNgorIzogYnVpbHRpbi9icmFuY2guYzo2NTEKIG1zZ2lkICJmb3JjZSBjcmVhdGlvbiwgbW92ZS9yZW5hbWUsIGRlbGV0aW9uIgogbXNnc3RyICLlvLrliLbliJvlu7rjgIHnp7vliqgv6YeN5ZG95ZCN44CB5Yig6ZmkIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyNworIzogYnVpbHRpbi9icmFuY2guYzo2NTIKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAi5Y+q5omT5Y2w5bey57uP5ZCI5bm255qE5YiG5pSvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjYyOAorIzogYnVpbHRpbi9icmFuY2guYzo2NTMKIG1zZ2lkICJwcmludCBvbmx5IGJyYW5jaGVzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgIuWPquaJk+WNsOWwmuacquWQiOW5tueahOWIhuaUryIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MjkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU0CiBtc2dpZCAibGlzdCBicmFuY2hlcyBpbiBjb2x1bW5zIgogbXNnc3RyICLku6XliJfnmoTmlrnlvI/mmL7npLrliIbmlK8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDAgYnVpbHRpbi9scy1yZW1vdGUuYzo3MAotIzogYnVpbHRpbi90YWcuYzo0MTUKLW1zZ2lkICJrZXkiCi1tc2dzdHIgImtleSIKLQotIzogYnVpbHRpbi9icmFuY2guYzo2MzEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MSBidWlsdGluL2xzLXJlbW90ZS5jOjcxCi0jOiBidWlsdGluL3RhZy5jOjQxNgotbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKLW1zZ3N0ciAi5o6S5bqP55qE5a2X5q615ZCNIgotCi0jOiBidWlsdGluL2JyYW5jaC5jOjYzMyBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQzIGJ1aWx0aW4vbm90ZXMuYzo0MTUKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTggYnVpbHRpbi9ub3Rlcy5jOjU3OCBidWlsdGluL25vdGVzLmM6NTgxCi0jOiBidWlsdGluL3RhZy5jOjQxOAorIzogYnVpbHRpbi9icmFuY2guYzo2NTcgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MiBidWlsdGluL25vdGVzLmM6NDE1CisjOiBidWlsdGluL25vdGVzLmM6NDE4IGJ1aWx0aW4vbm90ZXMuYzo1ODEgYnVpbHRpbi9ub3Rlcy5jOjU4NAorIzogYnVpbHRpbi90YWcuYzo0MzMKIG1zZ2lkICJvYmplY3QiCiBtc2dzdHIgIuWvueixoSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzQKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU4CiBtc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyBvZiB0aGUgb2JqZWN0IgogbXNnc3RyICLlj6rmiZPljbDmjIflkJHor6Xlr7nosaHnmoTliIbmlK8iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM2IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDkgYnVpbHRpbi90YWcuYzo0MjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDggYnVpbHRpbi90YWcuYzo0NDAKIG1zZ2lkICJzb3J0aW5nIGFuZCBmaWx0ZXJpbmcgYXJlIGNhc2UgaW5zZW5zaXRpdmUiCiBtc2dzdHIgIuaOkuW6j+WSjOi/h+a7pOWxnuS6juWkp+Wwj+WGmeS4jeaVj+aEnyIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2MzcgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOCBidWlsdGluL3RhZy5jOjQyMwotIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzkKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYxIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzggYnVpbHRpbi90YWcuYzo0MzgKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CiBtc2dpZCAiZm9ybWF0IHRvIHVzZSBmb3IgdGhlIG91dHB1dCIKIG1zZ3N0ciAi6L6T5Ye65qC85byPIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjY2MCBidWlsdGluL2Nsb25lLmM6NzM5CisjOiBidWlsdGluL2JyYW5jaC5jOjY4NCBidWlsdGluL2Nsb25lLmM6Nzg0CiBtc2dpZCAiSEVBRCBub3QgZm91bmQgYmVsb3cgcmVmcy9oZWFkcyEiCiBtc2dzdHIgIkhFQUQg5rKh5pyJ5L2N5LqOIC9yZWZzL2hlYWRzIOS5i+S4i++8gSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2ODMKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzA4CiBtc2dpZCAiLS1jb2x1bW4gYW5kIC0tdmVyYm9zZSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWNvbHVtbiDlkowgLS12ZXJib3NlIOS4jeWFvOWuuSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo2OTggYnVpbHRpbi9icmFuY2guYzo3NDkgYnVpbHRpbi9icmFuY2guYzo3NTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIzIGJ1aWx0aW4vYnJhbmNoLmM6Nzc3IGJ1aWx0aW4vYnJhbmNoLmM6Nzg2CiBtc2dpZCAiYnJhbmNoIG5hbWUgcmVxdWlyZWQiCiBtc2dzdHIgIuW/hemhu+aPkOS+m+WIhuaUr+WQjSIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3MjUKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzUzCiBtc2dpZCAiQ2Fubm90IGdpdmUgZGVzY3JpcHRpb24gdG8gZGV0YWNoZWQgSEVBRCIKIG1zZ3N0ciAi5LiN6IO95ZCR5YiG56a75aS05oyH6ZKI5o+Q5L6b5o+P6L+wIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjczMAorIzogYnVpbHRpbi9icmFuY2guYzo3NTgKIG1zZ2lkICJjYW5ub3QgZWRpdCBkZXNjcmlwdGlvbiBvZiBtb3JlIHRoYW4gb25lIGJyYW5jaCIKIG1zZ3N0ciAi5LiN6IO95Li65LiA5Liq5Lul5LiK55qE5YiG5pSv57yW6L6R5o+P6L+wIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjczNworIzogYnVpbHRpbi9icmFuY2guYzo3NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gY29tbWl0IG9uIGJyYW5jaCAnJXMnIHlldC4iCiBtc2dzdHIgIuWIhuaUryAnJXMnIOWwmuaXoOaPkOS6pOOAgiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NDAKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIGJyYW5jaCBuYW1lZCAnJXMnLiIKIG1zZ3N0ciAi5rKh5pyJ5YiG5pSvICclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzU1CisjOiBidWlsdGluL2JyYW5jaC5jOjc4MwogbXNnaWQgInRvbyBtYW55IGJyYW5jaGVzIGZvciBhIGNvcHkgb3BlcmF0aW9uIgogbXNnc3RyICLkuLrmi7fotJ3mk43kvZzmj5DkvpvkuoblpKrlpJrnmoTliIbmlK/lkI0iCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY0CisjOiBidWlsdGluL2JyYW5jaC5jOjc5MgogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyBmb3IgYSByZW5hbWUgb3BlcmF0aW9uIgogbXNnc3RyICLkuLrph43lkb3lkI3mk43kvZzmj5DkvpvkuoblpKrlpJrnmoTlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzY5CisjOiBidWlsdGluL2JyYW5jaC5jOjc5NwogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyB0byBzZXQgbmV3IHVwc3RyZWFtIgogbXNnc3RyICLkuLrorr7nva7mlrDkuIrmuLjmj5DkvpvkuoblpKrlpJrnmoTlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6NzczCisjOiBidWlsdGluL2JyYW5jaC5jOjgwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY291bGQgbm90IHNldCB1cHN0cmVhbSBvZiBIRUFEIHRvICVzIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIuaXoOazleiuvue9riBIRUFEIOeahOS4iua4uOS4uiAlc++8jOWboOS4uiBIRUFEIOayoeacieaMh+WQkeS7u+S9leWIhuaUr+OAgiIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3NzYgYnVpbHRpbi9icmFuY2guYzo3OTgKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA0IGJ1aWx0aW4vYnJhbmNoLmM6ODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggYnJhbmNoICclcyciCiBtc2dzdHIgIuayoeacieatpOWIhuaUryAnJXMnIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjc4MAorIzogYnVpbHRpbi9icmFuY2guYzo4MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCiBtc2dzdHIgIuWIhuaUryAnJXMnIOS4jeWtmOWcqCIKIAotIzogYnVpbHRpbi9icmFuY2guYzo3OTIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODIxCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIHRvIHVuc2V0IHVwc3RyZWFtIgogbXNnc3RyICLkuLrlj5bmtojkuIrmuLjorr7nva7mk43kvZzmj5DkvpvkuoblpKrlpJrnmoTlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk2CisjOiBidWlsdGluL2JyYW5jaC5jOjgyNQogbXNnaWQgImNvdWxkIG5vdCB1bnNldCB1cHN0cmVhbSBvZiBIRUFEIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCiBtc2dzdHIgIuaXoOazleWPlua2iCBIRUFEIOeahOS4iua4uOiuvue9ruWboOS4uuWug+ayoeacieaMh+WQkeS4gOS4quWIhuaUryIKIAotIzogYnVpbHRpbi9icmFuY2guYzo4MDIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkJyYW5jaCAnJXMnIGhhcyBubyB1cHN0cmVhbSBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi5YiG5pSvICclcycg5rKh5pyJ5LiK5ri45L+h5oGvIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgxMgotbXNnaWQgIi1hIGFuZCAtciBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgbWFrZSBzZW5zZSB3aXRoIGEgYnJhbmNoIG5hbWUiCi1tc2dzdHIgIidnaXQgYnJhbmNoJyDnmoQgLWEg5ZKMIC1yIOmAiemhueW4puS4gOS4quWIhuaUr+WQjeWPguaVsOayoeacieaEj+S5iSIKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQxCittc2dpZCAiIgorIlRoZSAtYSwgYW5kIC1yLCBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgdGFrZSBhIGJyYW5jaCBuYW1lLlxuIgorIkRpZCB5b3UgbWVhbiB0byB1c2U6IC1hfC1yIC0tbGlzdCA8cGF0dGVybj4/IgorbXNnc3RyICIiCisiJ2dpdCBicmFuY2gnIOeahCAtYSDlkowgLXIg6YCJ6aG55LiN5bim5LiA5Liq5YiG5pSv5ZCN44CCXG4iCisi5oKo5piv5ZCm5oOz6KaB5L2/55So77yaLWF8LXIgLS1saXN0IDzmqKHlvI8+77yfIgogCi0jOiBidWlsdGluL2JyYW5jaC5jOjgxNQorIzogYnVpbHRpbi9icmFuY2guYzo4NDUKIG1zZ2lkICIiCiAidGhlICctLXNldC11cHN0cmVhbScgb3B0aW9uIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuIFBsZWFzZSB1c2UgJy0tdHJhY2snIG9yICIKICInLS1zZXQtdXBzdHJlYW0tdG8nIGluc3RlYWQuIgogbXNnc3RyICIiCiAi5LiN5YaN5pSv5oyB6YCJ6aG5ICctLXNldC11cHN0cmVhbSfjgILor7fkvb/nlKggJy0tdHJhY2snIOaIliAnLS1zZXQtdXBzdHJlYW0tdG8n44CCIgogCi0jOiBidWlsdGluL2J1bmRsZS5jOjQ1CisjOiBidWlsdGluL2J1bmRsZS5jOjE1IGJ1aWx0aW4vYnVuZGxlLmM6MjMKK21zZ2lkICJnaXQgYnVuZGxlIGNyZWF0ZSBbPG9wdGlvbnM+XSA8ZmlsZT4gPGdpdC1yZXYtbGlzdCBhcmdzPiIKK21zZ3N0ciAiZ2l0IGJ1bmRsZSBjcmVhdGUgWzzpgInpobk+XSA85paH5Lu2PiA8Z2l0LXJldi1saXN0IOWPguaVsD4iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTYgYnVpbHRpbi9idW5kbGUuYzoyOAorbXNnaWQgImdpdCBidW5kbGUgdmVyaWZ5IFs8b3B0aW9ucz5dIDxmaWxlPiIKK21zZ3N0ciAiZ2l0IGJ1bmRsZSB2ZXJpZnkgWzzpgInpobk+XSA85paH5Lu2PiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxNyBidWlsdGluL2J1bmRsZS5jOjMzCittc2dpZCAiZ2l0IGJ1bmRsZSBsaXN0LWhlYWRzIDxmaWxlPiBbPHJlZm5hbWU+Li4uXSIKK21zZ3N0ciAiZ2l0IGJ1bmRsZSBsaXN0LWhlYWRzIDzmlofku7Y+IFs85byV55So5ZCNPi4uLl0iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTggYnVpbHRpbi9idW5kbGUuYzozOAorbXNnaWQgImdpdCBidW5kbGUgdW5idW5kbGUgPGZpbGU+IFs8cmVmbmFtZT4uLi5dIgorbXNnc3RyICJnaXQgYnVuZGxlIHVuYnVuZGxlIDzmlofku7Y+IFs85byV55So5ZCNPi4uLl0iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NjYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjI4Cittc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCittc2dzdHIgIuS4jeaYvuekuui/m+W6puihqCIKKworIzogYnVpbHRpbi9idW5kbGUuYzo2OCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzAKK21zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgorbXNnc3RyICLmmL7npLrov5vluqbooagiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjMyCittc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCittc2dzdHIgIuWcqOWvueixoeWGmeWFpemYtuauteaYvuekuui/m+W6puihqCIKKworIzogYnVpbHRpbi9idW5kbGUuYzo3MyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzUKK21zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCittc2dzdHIgIuW9k+i/m+W6puihqOaYvuekuuaXtuexu+S8vOS6jiAtLWFsbC1wcm9ncmVzcyIKKworIzogYnVpbHRpbi9idW5kbGUuYzo5MworbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIGNyZWF0ZSBhIGJ1bmRsZS4iCittc2dzdHIgIumcgOimgeS4gOS4quS7k+W6k+adpeWIm+W7uuWMheOAgiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxMDQKK21zZ2lkICJkbyBub3Qgc2hvdyBidW5kbGUgZGV0YWlscyIKK21zZ3N0ciAi5LiN5pi+56S6IGJ1bmRsZSDnu4boioIiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIG9rYXlcbiIKIG1zZ3N0ciAiJXMg5Y+v5LulXG4iCiAKLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NTgKLW1zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byBjcmVhdGUgYSBidW5kbGUuIgotbXNnc3RyICLpnIDopoHkuIDkuKrku5PlupPmnaXliJvlu7rljIXjgIIiCi0KLSM6IGJ1aWx0aW4vYnVuZGxlLmM6NjIKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTYwCiBtc2dpZCAiTmVlZCBhIHJlcG9zaXRvcnkgdG8gdW5idW5kbGUuIgogbXNnc3RyICLpnIDopoHkuIDkuKrku5PlupPmnaXop6PljIXjgIIiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1ODcKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTY4IGJ1aWx0aW4vcmVtb3RlLmM6MTYwOQorbXNnaWQgImJlIHZlcmJvc2U7IG11c3QgYmUgcGxhY2VkIGJlZm9yZSBhIHN1YmNvbW1hbmQiCittc2dzdHIgIuWGl+mVv+i+k+WHuu+8m+W/hemhu+e9ruS6juWtkOWRveS7pOS5i+WJjSIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxOTAgYnVpbHRpbi9yZW1vdGUuYzoxNjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gc3ViY29tbWFuZDogJXMiCittc2dzdHIgIuacquefpeWtkOWRveS7pO+8miVzIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NTk1CiBtc2dpZCAiIgogImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC0iCiAicCB8IDx0eXBlPiB8IC0tdGV4dGNvbnYgfCAtLWZpbHRlcnMpIFstLXBhdGg9PHBhdGg+XSA8b2JqZWN0PiIKQEAgLTgzODQsNyArMTA0MzQsNyBAQAogImdpdCBjYXQtZmlsZSAoLXQgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1zIFstLWFsbG93LXVua25vd24tdHlwZV0gfCAtZSB8IC0iCiAicCB8IDznsbvlnos+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycykgWy0tcGF0aD086Lev5b6EPl0gPOWvueixoT4iCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1ODgKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1OTYKIG1zZ2lkICIiCiAiZ2l0IGNhdC1maWxlICgtLWJhdGNoIHwgLS1iYXRjaC1jaGVjaykgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS10ZXh0Y29udiB8IC0tIgogImZpbHRlcnNdIgpAQCAtODM5MiwxMzIgKzEwNDQyLDEzMiBAQAogImdpdCBjYXQtZmlsZSAoLS1iYXRjaCB8IC0tYmF0Y2gtY2hlY2spIFstLWZvbGxvdy1zeW1saW5rc10gWy0tdGV4dGNvbnYgfCAtLSIKICJmaWx0ZXJzXSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYwOQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYxNwogbXNnaWQgIm9ubHkgb25lIGJhdGNoIG9wdGlvbiBtYXkgYmUgc3BlY2lmaWVkIgogbXNnc3RyICLlj6rog73mjIflrprkuIDkuKrmibnlpITnkIbpgInpobkiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MjcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzUKIG1zZ2lkICI8dHlwZT4gY2FuIGJlIG9uZSBvZjogYmxvYiwgdHJlZSwgY29tbWl0LCB0YWciCiBtc2dzdHIgIjznsbvlnos+IOWPr+S7peaYr+WFtuS4reS5i+S4gO+8mmJsb2LjgIF0cmVl44CBY29tbWl044CBdGFnIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjI4CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM2CiBtc2dpZCAic2hvdyBvYmplY3QgdHlwZSIKIG1zZ3N0ciAi5pi+56S65a+56LGh57G75Z6LIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjI5CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM3CiBtc2dpZCAic2hvdyBvYmplY3Qgc2l6ZSIKIG1zZ3N0ciAi5pi+56S65a+56LGh5aSn5bCPIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjMxCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM5CiBtc2dpZCAiZXhpdCB3aXRoIHplcm8gd2hlbiB0aGVyZSdzIG5vIGVycm9yIgogbXNnc3RyICLlvZPmsqHmnInplJnor6/ml7bpgIDlh7rlubbov5Tlm57pm7YiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MzIKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDAKIG1zZ2lkICJwcmV0dHktcHJpbnQgb2JqZWN0J3MgY29udGVudCIKIG1zZ3N0ciAi576O6KeC5Zyw5omT5Y2w5a+56LGh55qE5YaF5a65IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjM0CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQyCiBtc2dpZCAiZm9yIGJsb2Igb2JqZWN0cywgcnVuIHRleHRjb252IG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgIuWvueS6juaVsOaNruWvueixoe+8jOWvueWFtuWGheWuueWBmuaWh+acrOi9rOaNoiIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNgorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NAogbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biBmaWx0ZXJzIG9uIG9iamVjdCdzIGNvbnRlbnQiCiBtc2dzdHIgIuWvueS6juaVsOaNruWvueixoe+8jOWvueWFtuWGheWuueWBmui/h+a7pCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNyBnaXQtc3VibW9kdWxlLnNoOjg1NworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NSBnaXQtc3VibW9kdWxlLnNoOjk5MgogbXNnaWQgImJsb2IiCiBtc2dzdHIgIuaVsOaNruWvueixoSIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzOAorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0NgogbXNnaWQgInVzZSBhIHNwZWNpZmljIHBhdGggZm9yIC0tdGV4dGNvbnYvLS1maWx0ZXJzIgogbXNnc3RyICLlr7nkuo4gLS10ZXh0Y29udi8tLWZpbHRlcnMg5L2/55So5LiA5Liq54m55a6a55qE6Lev5b6EIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjQwCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQ4CiBtc2dpZCAiYWxsb3cgLXMgYW5kIC10IHRvIHdvcmsgd2l0aCBicm9rZW4vY29ycnVwdCBvYmplY3RzIgogbXNnc3RyICLlhYHorrggLXMg5ZKMIC10IOWvueaNn+Wdj+eahOWvueixoeeUn+aViCIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0MQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0OQogbXNnaWQgImJ1ZmZlciAtLWJhdGNoIG91dHB1dCIKIG1zZ3N0ciAi57yT5YayIC0tYmF0Y2gg55qE6L6T5Ye6IgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjQzCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjUxCiBtc2dpZCAic2hvdyBpbmZvIGFuZCBjb250ZW50IG9mIG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLmmL7npLrku47moIflh4bovpPlhaXmj5DkvpvnmoTlr7nosaHnmoTkv6Hmga/lkozlhoXlrrkiCiAKLSM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDcKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTUKIG1zZ2lkICJzaG93IGluZm8gYWJvdXQgb2JqZWN0cyBmZWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIuaYvuekuuS7juagh+WHhui+k+WFpeaPkOS+m+eahOWvueixoeeahOS/oeaBryIKIAotIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1MQorIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1OQogbXNnaWQgImZvbGxvdyBpbi10cmVlIHN5bWxpbmtzICh1c2VkIHdpdGggLS1iYXRjaCBvciAtLWJhdGNoLWNoZWNrKSIKIG1zZ3N0ciAi6Lef6ZqP5qCR5YaF56ym5Y+36ZO+5o6l77yI5ZKMIC0tYmF0Y2gg5oiWIC0tYmF0Y2gtY2hlY2sg5YWx55So77yJIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjUzCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjYxCiBtc2dpZCAic2hvdyBhbGwgb2JqZWN0cyB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjayIKIG1zZ3N0ciAi5L2/55SoIC0tYmF0Y2gg5oiWIC0tYmF0Y2gtY2hlY2sg5Y+C5pWw5pi+56S65omA5pyJ5a+56LGhIgogCi0jOiBidWlsdGluL2NhdC1maWxlLmM6NjU1CisjOiBidWlsdGluL2NhdC1maWxlLmM6NjYzCiBtc2dpZCAiZG8gbm90IG9yZGVyIC0tYmF0Y2gtYWxsLW9iamVjdHMgb3V0cHV0IgogbXNnc3RyICLkuI3opoHlr7kgLS1iYXRjaC1hbGwtb2JqZWN0cyDnmoTovpPlh7rmjpLluo8iCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEyCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMwogbXNnaWQgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSBbLS1dIDxwYXRobmFtZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPOWxnuaApz4uLi5dIFstLV0gPOi3r+W+hOWQjT4uLi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjEzCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxNAogbXNnaWQgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IDxhdHRyPi4uLl0iCiBtc2dzdHIgImdpdCBjaGVjay1hdHRyIC0tc3RkaW4gWy16XSBbLWEgfCAtLWFsbCB8IDzlsZ7mgKc+Li4uXSIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjAKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxCiBtc2dpZCAicmVwb3J0IGFsbCBhdHRyaWJ1dGVzIHNldCBvbiBmaWxlIgogbXNnc3RyICLmiqXlkYrorr7nva7lnKjmlofku7bkuIrnmoTmiYDmnInlsZ7mgKciCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIxCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMgogbXNnaWQgInVzZSAuZ2l0YXR0cmlidXRlcyBvbmx5IGZyb20gdGhlIGluZGV4IgogbXNnc3RyICLlj6rkvb/nlKjntKLlvJXkuK3nmoQgLmdpdGF0dHJpYnV0ZXMiCiAKLSM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIyIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjQgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjMgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNSBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAyCiBtc2dpZCAicmVhZCBmaWxlIG5hbWVzIGZyb20gc3RkaW4iCiBtc2dzdHIgIuS7juagh+WHhui+k+WFpeivu+WHuuaWh+S7tuWQjSIKIAotIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjQgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNgorIzogYnVpbHRpbi9jaGVjay1hdHRyLmM6MjUgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyNwogbXNnaWQgInRlcm1pbmF0ZSBpbnB1dCBhbmQgb3V0cHV0IHJlY29yZHMgYnkgYSBOVUwgY2hhcmFjdGVyIgogbXNnc3RyICLovpPlhaXlkozovpPlh7rnmoTorrDlvZXkvb/nlKggTlVMIOWtl+espue7iOe7kyIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMCBidWlsdGluL2NoZWNrb3V0LmM6MTIzNCBidWlsdGluL2djLmM6NTE3Ci0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDk1CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjIxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDM1IGJ1aWx0aW4vZ2MuYzo1MzcKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDYKIG1zZ2lkICJzdXBwcmVzcyBwcm9ncmVzcyByZXBvcnRpbmciCiBtc2dzdHIgIuS4jeaYvuekuui/m+W6puaKpeWRiiIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOAorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyOQogbXNnaWQgInNob3cgbm9uLW1hdGNoaW5nIGlucHV0IHBhdGhzIgogbXNnc3RyICLmmL7npLrmnKrljLnphY3nmoTovpPlhaXot6/lvoQiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MzAKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MzEKIG1zZ2lkICJpZ25vcmUgaW5kZXggd2hlbiBjaGVja2luZyIKIG1zZ3N0ciAi5qOA5p+l5pe25b+955Wl57Si5byVIgogCi0jOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE1OQorIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjAKIG1zZ2lkICJjYW5ub3Qgc3BlY2lmeSBwYXRobmFtZXMgd2l0aCAtLXN0ZGluIgogbXNnc3RyICLkuI3og73lkIzml7bmjIflrprot6/lvoTlj4ogLS1zdGRpbiDlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYyCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MwogbXNnaWQgIi16IG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCAtLXN0ZGluIgogbXNnc3RyICIteiDpnIDopoHlkowgLS1zdGRpbiDlj4LmlbDlhbHnlKjmiY3mnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY0CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2NQogbXNnaWQgIm5vIHBhdGggc3BlY2lmaWVkIgogbXNnc3RyICLmnKrmjIflrprot6/lvoQiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY4CisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2OQogbXNnaWQgIi0tcXVpZXQgaXMgb25seSB2YWxpZCB3aXRoIGEgc2luZ2xlIHBhdGhuYW1lIgogbXNnc3RyICLlj4LmlbAgLS1xdWlldCDlj6rlnKjmj5DkvpvkuIDkuKrot6/lvoTlkI3ml7bmnInmlYgiCiAKLSM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTcwCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MQogbXNnaWQgImNhbm5vdCBoYXZlIGJvdGggLS1xdWlldCBhbmQgLS12ZXJib3NlIgogbXNnc3RyICLkuI3og73lkIzml7bmj5DkvpsgLS1xdWlldCDlkowgLS12ZXJib3NlIOWPguaVsCIKIAotIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzMKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTc0CiBtc2dpZCAiLS1ub24tbWF0Y2hpbmcgaXMgb25seSB2YWxpZCB3aXRoIC0tdmVyYm9zZSIKIG1zZ3N0ciAiLS1ub24tbWF0Y2hpbmcg6YCJ6aG55Y+q5Zyo5L2/55SoIC0tdmVyYm9zZSDml7bmnInmlYgiCiAKQEAgLTg1MzgsNTQgKzEwNTg4LDU0IEBACiBtc2dpZCAibm8gY29udGFjdHMgc3BlY2lmaWVkIgogbXNnc3RyICLmnKrmjIflrprogZTns7vlnLDlnYAiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxMjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxMzEKIG1zZ2lkICJnaXQgY2hlY2tvdXQtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V0LWluZGV4IFs86YCJ6aG5Pl0gWy0tXSBbPOaWh+S7tj4uLi5dIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTQ1CisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTQ4CiBtc2dpZCAic3RhZ2Ugc2hvdWxkIGJlIGJldHdlZW4gMSBhbmQgMyBvciBhbGwiCiBtc2dzdHIgIue0ouW8leWAvOW6lOivpeWPluWAvCAxIOWIsCAzIOaIluiAhSBhbGwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjQKIG1zZ2lkICJjaGVjayBvdXQgYWxsIGZpbGVzIGluIHRoZSBpbmRleCIKIG1zZ3N0ciAi5qOA5Ye657Si5byV5Yy655qE5omA5pyJ5paH5Lu2IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTYyCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY1CiBtc2dpZCAiZm9yY2Ugb3ZlcndyaXRlIG9mIGV4aXN0aW5nIGZpbGVzIgogbXNnc3RyICLlvLrliLbopobnm5bnjrDmnInnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjcKIG1zZ2lkICJubyB3YXJuaW5nIGZvciBleGlzdGluZyBmaWxlcyBhbmQgZmlsZXMgbm90IGluIGluZGV4IgogbXNnc3RyICLlrZjlnKjmiJbkuI3lnKjntKLlvJXkuK3nmoTmlofku7bpg73msqHmnInorablkYoiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNjkKIG1zZ2lkICJkb24ndCBjaGVja291dCBuZXcgZmlsZXMiCiBtc2dzdHIgIuS4jeajgOWHuuaWsOaWh+S7tiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2OAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3MQogbXNnaWQgInVwZGF0ZSBzdGF0IGluZm9ybWF0aW9uIGluIHRoZSBpbmRleCBmaWxlIgogbXNnc3RyICLmm7TmlrDntKLlvJXkuK3mlofku7bnmoTnirbmgIHkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzUKIG1zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIuS7juagh+WHhui+k+WFpeivu+WPlui3r+W+hOWIl+ihqCIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NwogbXNnaWQgIndyaXRlIHRoZSBjb250ZW50IHRvIHRlbXBvcmFyeSBmaWxlcyIKIG1zZ3N0ciAi5bCG5YaF5a655YaZ5YWl5Li05pe25paH5Lu2IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc1IGJ1aWx0aW4vY29sdW1uLmM6MzEKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzY4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzcxCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM3OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1MwotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY2OAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OCBidWlsdGluL2NvbHVtbi5jOjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4NSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NzkKIG1zZ2lkICJzdHJpbmciCiBtc2dzdHIgIuWtl+espuS4siIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3NgorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OQogbXNnaWQgIndoZW4gY3JlYXRpbmcgZmlsZXMsIHByZXBlbmQgPHN0cmluZz4iCiBtc2dzdHIgIuWcqOWIm+W7uuaWh+S7tuaXtu+8jOWcqOWJjemdouWKoOS4iiA85a2X56ym5LiyPiIKIAotIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OAorIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE4MQogbXNnaWQgImNvcHkgb3V0IHRoZSBmaWxlcyBmcm9tIG5hbWVkIHN0YWdlIgogbXNnc3RyICLku47mjIflrprmmoLlrZjljLrkuK3mi7flh7rmlofku7YiCiAKQEAgLTg1OTcsMTA2ICsxMDY0NywxNTkgQEAKIG1zZ2lkICJnaXQgY2hlY2tvdXQgWzxvcHRpb25zPl0gWzxicmFuY2g+XSAtLSA8ZmlsZT4uLi4iCiBtc2dzdHIgImdpdCBjaGVja291dCBbPOmAiemhuT5dIFs85YiG5pSvPl0gLS0gPOaWh+S7tj4uLi4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDQgYnVpbHRpbi9jaGVja291dC5jOjE3NworIzogYnVpbHRpbi9jaGVja291dC5jOjM3Cittc2dpZCAiZ2l0IHN3aXRjaCBbPG9wdGlvbnM+XSBbPGJyYW5jaD5dIgorbXNnc3RyICJnaXQgc3dpdGNoIFs86YCJ6aG5Pl0gWzzliIbmlK8+XSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjQyCittc2dpZCAiZ2l0IHJlc3RvcmUgWzxvcHRpb25zPl0gWy0tc291cmNlPTxicmFuY2g+XSA8ZmlsZT4uLi4iCittc2dzdHIgImdpdCByZXN0b3JlIFs86YCJ6aG5Pl0gWy0tc291cmNlPTzliIbmlK8+XSA85paH5Lu2Pi4uLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NSBidWlsdGluL2NoZWNrb3V0LmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG91ciB2ZXJzaW9uIgogbXNnc3RyICLot6/lvoQgJyVzJyDmsqHmnInmiJHku6znmoTniYjmnKwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDYgYnVpbHRpbi9jaGVja291dC5jOjE3OQorIzogYnVpbHRpbi9jaGVja291dC5jOjE3NyBidWlsdGluL2NoZWNrb3V0LmM6MjE2CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIHRoZWlyIHZlcnNpb24iCiBtc2dzdHIgIui3r+W+hCAnJXMnIOayoeacieS7luS7rOeahOeJiOacrCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjE2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjE5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSBhbGwgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICLot6/lvoQgJyVzJyDmsqHmnInlhajpg6jlv4XpnIDnmoTniYjmnKwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMDYKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgbmVjZXNzYXJ5IHZlcnNpb25zIgogbXNnc3RyICLot6/lvoQgJyVzJyDmsqHmnInlv4XpnIDnmoTniYjmnKwiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyMjQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnOiBjYW5ub3QgbWVyZ2UiCiBtc2dzdHIgInBhdGggJyVzJ++8muaXoOazleWQiOW5tiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI0MAorIzogYnVpbHRpbi9jaGVja291dC5jOjI3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gYWRkIG1lcmdlIHJlc3VsdCBmb3IgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5Li6ICclcycg5re75Yqg5ZCI5bm257uT5p6cIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MjYyIGJ1aWx0aW4vY2hlY2tvdXQuYzoyNjUgYnVpbHRpbi9jaGVja291dC5jOjI2OAotIzogYnVpbHRpbi9jaGVja291dC5jOjI3MQorIzogYnVpbHRpbi9jaGVja291dC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJSZWNyZWF0ZWQgJWQgbWVyZ2UgY29uZmxpY3QiCittc2dpZF9wbHVyYWwgIlJlY3JlYXRlZCAlZCBtZXJnZSBjb25mbGljdHMiCittc2dzdHJbMF0gIumHjeaWsOWIm+W7uuS6hiAlZCDkuKrlkIjlubblhrLnqoEiCittc2dzdHJbMV0gIumHjeaWsOWIm+W7uuS6hiAlZCDkuKrlkIjlubblhrLnqoEiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXBkYXRlZCAlZCBwYXRoIGZyb20gJXMiCittc2dpZF9wbHVyYWwgIlVwZGF0ZWQgJWQgcGF0aHMgZnJvbSAlcyIKK21zZ3N0clswXSAi5LuOICUyJHMg5pu05paw5LqGICUxJGQg5Liq6Lev5b6EIgorbXNnc3RyWzFdICLku44gJTIkcyDmm7TmlrDkuoYgJTEkZCDkuKrot6/lvoQiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXBkYXRlZCAlZCBwYXRoIGZyb20gdGhlIGluZGV4IgorbXNnaWRfcGx1cmFsICJVcGRhdGVkICVkIHBhdGhzIGZyb20gdGhlIGluZGV4IgorbXNnc3RyWzBdICLku47ntKLlvJXljLrmm7TmlrDkuoYgJWQg5Liq6Lev5b6EIgorbXNnc3RyWzFdICLku47ntKLlvJXljLrmm7TmlrDkuoYgJWQg5Liq6Lev5b6EIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDEyIGJ1aWx0aW4vY2hlY2tvdXQuYzo0MTUgYnVpbHRpbi9jaGVja291dC5jOjQxOAorIzogYnVpbHRpbi9jaGVja291dC5jOjQyMgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggdXBkYXRpbmcgcGF0aHMiCiBtc2dzdHIgIiclcycg5LiN6IO95Zyo5pu05paw6Lev5b6E5pe25L2/55SoIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Mjc0IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MjUgYnVpbHRpbi9jaGVja291dC5jOjQyOAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCiBtc2dzdHIgIiclcycg5LiN6IO95ZKMICVzIOWQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjI4MAorIzogYnVpbHRpbi9jaGVja291dC5jOjQzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3QgdXBkYXRlIHBhdGhzIGFuZCBzd2l0Y2ggdG8gYnJhbmNoICclcycgYXQgdGhlIHNhbWUgdGltZS4iCiBtc2dzdHIgIuS4jeiDveWQjOaXtuabtOaWsOi3r+W+hOW5tuWIh+aNouWIsOWIhuaUryclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozNDkgYnVpbHRpbi9jaGVja291dC5jOjM1NgorIzogYnVpbHRpbi9jaGVja291dC5jOjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyICclcycgb3IgJyVzJyBpcyBzcGVjaWZpZWQiCittc2dzdHIgIiclcycg5oiWICclcycg6YO95rKh5pyJ5oyH5a6aIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgbXVzdCBiZSB1c2VkIHdoZW4gJyVzJyBpcyBub3Qgc3BlY2lmaWVkIgorbXNnc3RyICLmnKrmjIflrpogJyUyJHMnIOaXtu+8jOW/hemhu+S9v+eUqCAnJTEkcyciCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NDUgYnVpbHRpbi9jaGVja291dC5jOjQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIG9yICclcycgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKK21zZ3N0ciAiJyVzJyDmiJYgJyVzJyDkuI3og73lkowgJXMg5LiA6LW35L2/55SoIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTA5IGJ1aWx0aW4vY2hlY2tvdXQuYzo1MTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicGF0aCAnJXMnIGlzIHVubWVyZ2VkIgogbXNnc3RyICLot6/lvoQgJyVzJyDmnKrlkIjlubYiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2MDgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo2ODIgYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo4MgogbXNnaWQgInlvdSBuZWVkIHRvIHJlc29sdmUgeW91ciBjdXJyZW50IGluZGV4IGZpcnN0IgogbXNnc3RyICLmgqjpnIDopoHlhYjop6PlhrPlvZPliY3ntKLlvJXnmoTlhrLnqoEiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3NDUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBjb250aW51ZSB3aXRoIHN0YWdlZCBjaGFuZ2VzIGluIHRoZSBmb2xsb3dpbmcgZmlsZXM6XG4iCisiJXMiCittc2dzdHIgIiIKKyLkuI3og73nu6fnu63vvIzkuIvliJfmlofku7bmnInmmoLlrZjnmoTkv67mlLnvvJpcbiIKKyIlcyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjgzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW4gbm90IGRvIHJlZmxvZyBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAi5LiN6IO95a+5ICclcycg5omn6KGMIHJlZmxvZyDmk43kvZzvvJolc1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6Nzg2CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODc3CiBtc2dpZCAiSEVBRCBpcyBub3cgYXQiCiBtc2dzdHIgIkhFQUQg55uu5YmN5L2N5LqOIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6NzkwIGJ1aWx0aW4vY2xvbmUuYzo2OTIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4ODEgYnVpbHRpbi9jbG9uZS5jOjcxNgogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgSEVBRCIKIG1zZ3N0ciAi5LiN6IO95pu05pawIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTQKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAi6YeN572u5YiG5pSvICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjc5NworIzogYnVpbHRpbi9jaGVja291dC5jOjg4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJBbHJlYWR5IG9uICclcydcbiIKIG1zZ3N0ciAi5bey57uP5L2N5LqOICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgwMQorIzogYnVpbHRpbi9jaGVja291dC5jOjg5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhbmQgcmVzZXQgYnJhbmNoICclcydcbiIKIG1zZ3N0ciAi5YiH5o2i5bm26YeN572u5YiG5pSvICclcydcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjgwMyBidWlsdGluL2NoZWNrb3V0LmM6MTE2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjg5NCBidWlsdGluL2NoZWNrb3V0LmM6MTI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJyVzJ1xuIgogbXNnc3RyICLliIfmjaLliLDkuIDkuKrmlrDliIbmlK8gJyVzJ1xuIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6ODA1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN3aXRjaGVkIHRvIGJyYW5jaCAnJXMnXG4iCiBtc2dzdHIgIuWIh+aNouWIsOWIhuaUryAnJXMnXG4iCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogYnVpbHRpbi9jaGVja291dC5jOjg1NgorIzogYnVpbHRpbi9jaGVja291dC5jOjk0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgLi4uIGFuZCAlZCBtb3JlLlxuIgogbXNnc3RyICIgLi4uIOWPiuWFtuWugyAlZCDkuKrjgIJcbiIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjg2MgorIzogYnVpbHRpbi9jaGVja291dC5jOjk1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV2FybmluZzogeW91IGFyZSBsZWF2aW5nICVkIGNvbW1pdCBiZWhpbmQsIG5vdCBjb25uZWN0ZWQgdG9cbiIKQEAgLTg3MTcsNyArMTA4MjAsNyBAQAogIlxuIgogIiVzXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4ODEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIGtlZXAgaXQgYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgpAQCAtODc0NCwxNjcgKzEwODQ3LDI1MyBAQAogIiBnaXQgYnJhbmNoIDzmlrDliIbmlK/lkI0+ICVzXG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5MTMKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDA3CiBtc2dpZCAiaW50ZXJuYWwgZXJyb3IgaW4gcmV2aXNpb24gd2FsayIKIG1zZ3N0ciAi5Zyo54mI5pys6YGN5Y6G5pe26YGH5Yiw5YaF6YOo6ZSZ6K+vIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6OTE3CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxMQogbXNnaWQgIlByZXZpb3VzIEhFQUQgcG9zaXRpb24gd2FzIgogbXNnc3RyICLkuYvliY3nmoQgSEVBRCDkvY3nva7mmK8iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NDUgYnVpbHRpbi9jaGVja291dC5jOjExNjEKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDUxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjg2CiBtc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKIG1zZ3N0ciAi5oKo5L2N5LqO5LiA5Liq5bCa5pyq5Yid5aeL5YyW55qE5YiG5pSvIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTA2NgorIzogYnVpbHRpbi9jaGVja291dC5jOjExNzgKK21zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQiCittc2dzdHIgIumihOacn+WPquacieS4gOS4quW8leeUqCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjExOTUKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSBvbmUgcmVmZXJlbmNlIGV4cGVjdGVkLCAlZCBnaXZlbi4iCiBtc2dzdHIgIuW6lOWPquacieS4gOS4quW8leeUqO+8jOWNtOe7meWHuuS6hiAlZCDkuKoiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMTA3IGJ1aWx0aW4vd29ya3RyZWUuYzoyODkgYnVpbHRpbi93b3JrdHJlZS5jOjQ0NAorIzogYnVpbHRpbi9jaGVja291dC5jOjEyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiclcycgY291bGQgYmUgYm90aCBhIGxvY2FsIGZpbGUgYW5kIGEgdHJhY2tpbmcgYnJhbmNoLlxuIgorIlBsZWFzZSB1c2UgLS0gKGFuZCBvcHRpb25hbGx5IC0tbm8tZ3Vlc3MpIHRvIGRpc2FtYmlndWF0ZSIKK21zZ3N0ciAiIgorIiclcycg5pei5Y+v5Lul5piv5LiA5Liq5pys5Zyw5paH5Lu277yM5Lmf5Y+v5Lul5piv5LiA5Liq6Lef6Liq5YiG5pSv44CCXG4iCisi6K+35L2/55SoIC0t77yI5ZKM5Y+v6YCJ55qEIC0tbm8tZ3Vlc3PvvInmnaXmtojpmaTmrafkuYkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQ1IGJ1aWx0aW4vd29ya3RyZWUuYzoyOTAgYnVpbHRpbi93b3JrdHJlZS5jOjQ1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZTogJXMiCiBtc2dzdHIgIuaXoOaViOW8leeUqO+8miVzIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTEzNgorIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTggYnVpbHRpbi9jaGVja291dC5jOjE2MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVmZXJlbmNlIGlzIG5vdCBhIHRyZWU6ICVzIgogbXNnc3RyICLlvJXnlKjkuI3mmK/kuIDkuKrmoJHvvJolcyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNzUKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzA1CisjLCBjLWZvcm1hdAorbXNnaWQgImEgYnJhbmNoIGlzIGV4cGVjdGVkLCBnb3QgdGFnICclcyciCittc2dzdHIgIuacn+acm+S4gOS4quWIhuaUr++8jOW+l+WIsOagh+etviAnJXMnIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMwNworIywgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IHJlbW90ZSBicmFuY2ggJyVzJyIKK21zZ3N0ciAi5pyf5pyb5LiA5Liq5YiG5pSv77yM5b6X5Yiw6L+c56iL5YiG5pSvICclcyciCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzA4IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImEgYnJhbmNoIGlzIGV4cGVjdGVkLCBnb3QgJyVzJyIKK21zZ3N0ciAi5pyf5pyb5LiA5Liq5YiG5pSv77yM5b6X5YiwICclcyciCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzExCisjLCBjLWZvcm1hdAorbXNnaWQgImEgYnJhbmNoIGlzIGV4cGVjdGVkLCBnb3QgY29tbWl0ICclcyciCittc2dzdHIgIuacn+acm+S4gOS4quWIhuaUr++8jOW+l+WIsOaPkOS6pCAnJXMnIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMyNworbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCB3aGlsZSBtZXJnaW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgbWVyZ2UgLS1xdWl0XCIgb3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorbXNnc3RyICIiCisi5LiN6IO95Zyo5ZCI5bm25pe25YiH5o2i5YiG5pSvXG4iCisi6ICD6JmR5L2/55SoIFwiZ2l0IG1lcmdlIC0tcXVpdFwiIOaIliBcImdpdCB3b3JrdHJlZSBhZGRcIuOAgiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMzEKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggaW4gdGhlIG1pZGRsZSBvZiBhbiBhbSBzZXNzaW9uXG4iCisiQ29uc2lkZXIgXCJnaXQgYW0gLS1xdWl0XCIgb3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorbXNnc3RyICIiCisi5LiN6IO95Zyo5LiA5LiqIGFtIOS8muivneacn+mXtOWIh+aNouWIhuaUr1xuIgorIuiAg+iZkeS9v+eUqCBcImdpdCBhbSAtLXF1aXRcIiDmiJYgXCJnaXQgd29ya3RyZWUgYWRkXCLjgIIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzM1Cittc2dpZCAiIgorImNhbm5vdCBzd2l0Y2ggYnJhbmNoIHdoaWxlIHJlYmFzaW5nXG4iCisiQ29uc2lkZXIgXCJnaXQgcmViYXNlIC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorIuS4jeiDveWcqOWPmOWfuuaXtuWIh+aNouWIhuaUr1xuIgorIuiAg+iZkeS9v+eUqCBcImdpdCByZWJhc2UgLS1xdWl0XCIg5oiWIFwiZ2l0IHdvcmt0cmVlIGFkZFwi44CCIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMzOQorbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCB3aGlsZSBjaGVycnktcGlja2luZ1xuIgorIkNvbnNpZGVyIFwiZ2l0IGNoZXJyeS1waWNrIC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorIuS4jeiDveWcqOaLo+mAieaXtuWIh+aNouWIhuaUr1xuIgorIuiAg+iZkeS9v+eUqCBcImdpdCBjaGVycnktcGljayAtLXF1aXRcIiDmiJYgXCJnaXQgd29ya3RyZWUgYWRkXCLjgIIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzQzCittc2dpZCAiIgorImNhbm5vdCBzd2l0Y2ggYnJhbmNoIHdoaWxlIHJldmVydGluZ1xuIgorIkNvbnNpZGVyIFwiZ2l0IHJldmVydCAtLXF1aXRcIiBvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCittc2dzdHIgIiIKKyLkuI3og73lnKjov5jljp/ml7bliIfmjaLliIbmlK9cbiIKKyLogIPomZHkvb/nlKggXCJnaXQgcmV2ZXJ0IC0tcXVpdFwiIOaIliBcImdpdCB3b3JrdHJlZSBhZGRcIuOAgiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzNDcKK21zZ2lkICJ5b3UgYXJlIHN3aXRjaGluZyBicmFuY2ggd2hpbGUgYmlzZWN0aW5nIgorbXNnc3RyICLmgqjlnKjmiafooYzkuozliIbmn6Xmib7ml7bliIfmjaLliIbmlK8iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzU0CiBtc2dpZCAicGF0aHMgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIui3r+W+hOS4jeiDveWSjOWIh+aNouWIhuaUr+WQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjExNzggYnVpbHRpbi9jaGVja291dC5jOjExODIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzU3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzYxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzY1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCiBtc2dzdHIgIiclcycg5LiN6IO95ZKM5YiH5o2i5YiG5pSv5ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTE4NiBidWlsdGluL2NoZWNrb3V0LmM6MTE4OSBidWlsdGluL2NoZWNrb3V0LmM6MTE5NAotIzogYnVpbHRpbi9jaGVja291dC5jOjExOTcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzY5IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzcyIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzc1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM4MCBidWlsdGluL2NoZWNrb3V0LmM6MTM4NQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggJyVzJyIKIG1zZ3N0ciAiJyVzJyDkuI3og73lkowgJyVzJyDlkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjAyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM4MgorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGNhbm5vdCB0YWtlIDxzdGFydC1wb2ludD4iCittc2dzdHIgIiclcycg5LiN5bimIDzotbflp4vngrk+IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3dpdGNoIGJyYW5jaCB0byBhIG5vbi1jb21taXQgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95YiH5o2i5YiG5pSv5Yiw5LiA5Liq6Z2e5o+Q5LqkICclcyciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjM1IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjM3IGJ1aWx0aW4vY2xvbmUuYzoxMTkKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY5IGJ1aWx0aW4vcmVtb3RlLmM6MTcxIGJ1aWx0aW4vd29ya3RyZWUuYzo0ODgKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTAKLW1zZ2lkICJicmFuY2giCi1tc2dzdHIgIuWIhuaUryIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzk3Cittc2dpZCAibWlzc2luZyBicmFuY2ggb3IgY29tbWl0IGFyZ3VtZW50IgorbXNnc3RyICLnvLrlsJHliIbmlK/miJbmj5DkuqTlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjM2Ci1tc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCi1tc2dzdHIgIuWIm+W7uuW5tuajgOWHuuS4gOS4quaWsOeahOWIhuaUryIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyMzgKLW1zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgotbXNnc3RyICLliJvlu7ov6YeN572u5bm25qOA5Ye65LiA5Liq5YiG5pSvIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTIzOQotbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCi1tc2dzdHIgIuS4uuaWsOeahOWIhuaUr+WIm+W7uuW8leeUqOaXpeW/lyIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDAgYnVpbHRpbi93b3JrdHJlZS5jOjQ5MgotbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKLW1zZ3N0ciAiSEVBRCDku47mjIflrprnmoTmj5DkuqTliIbnprsiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQxCi1tc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCi1tc2dzdHIgIuS4uuaWsOeahOWIhuaUr+iuvue9ruS4iua4uOS/oeaBryIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNDMKLW1zZ2lkICJuZXctYnJhbmNoIgotbXNnc3RyICLmlrDliIbmlK8iCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQzCi1tc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgotbXNnc3RyICLmlrDnmoTmsqHmnInniLbmj5DkuqTnmoTliIbmlK8iCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQ1Ci1tc2dpZCAiY2hlY2tvdXQgb3VyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgotbXNnc3RyICLlr7nlsJrmnKrlkIjlubbnmoTmlofku7bmo4Dlh7rmiJHku6znmoTniYjmnKwiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQ4Ci1tc2dpZCAiY2hlY2tvdXQgdGhlaXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCi1tc2dzdHIgIuWvueWwmuacquWQiOW5tueahOaWh+S7tuajgOWHuuS7luS7rOeahOeJiOacrCIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTAKLW1zZ2lkICJmb3JjZSBjaGVja291dCAodGhyb3cgYXdheSBsb2NhbCBtb2RpZmljYXRpb25zKSIKLW1zZ3N0ciAi5by65Yi25qOA5Ye677yI5Lii5byD5pys5Zyw5L+u5pS577yJIgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1MgotbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgotbXNnc3RyICLlkozmlrDnmoTliIbmlK/miafooYzkuInmlrnlkIjlubYiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjU0IGJ1aWx0aW4vbWVyZ2UuYzoyNzUKLW1zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCi1tc2dzdHIgIuabtOaWsOW/veeVpeeahOaWh+S7tu+8iOm7mOiupO+8iSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNTYgYnVpbHRpbi9sb2cuYzoxNTczIHBhcnNlLW9wdGlvbnMuaDoyNzQKLW1zZ2lkICJzdHlsZSIKLW1zZ3N0ciAi6aOO5qC8IgotCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1NwotbXNnaWQgImNvbmZsaWN0IHN0eWxlIChtZXJnZSBvciBkaWZmMykiCi1tc2dzdHIgIuWGsueqgei+k+WHuumjjuagvO+8iG1lcmdlIOaIliBkaWZmM++8iSIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjAKLW1zZ2lkICJkbyBub3QgbGltaXQgcGF0aHNwZWNzIHRvIHNwYXJzZSBlbnRyaWVzIG9ubHkiCi1tc2dzdHIgIuWvuei3r+W+hOS4jeWBmueogOeWj+ajgOWHuueahOmZkOWItiIKLQotIzogYnVpbHRpbi9jaGVja291dC5jOjEyNjIKLW1zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyIKLW1zZ3N0ciAi5LqM5qyh54yc5rWLJ2dpdCBjaGVja291dCA85peg5q2k5YiG5pSvPiciCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY0Ci1tc2dpZCAiZG8gbm90IGNoZWNrIGlmIGFub3RoZXIgd29ya3RyZWUgaXMgaG9sZGluZyB0aGUgZ2l2ZW4gcmVmIgotbXNnc3RyICLkuI3mo4Dmn6XmjIflrprnmoTlvJXnlKjmmK/lkKbooqvlhbbku5blt6XkvZzljLrmiYDljaDnlKgiCi0KLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjY4IGJ1aWx0aW4vY2xvbmUuYzo4NiBidWlsdGluL2ZldGNoLmM6MTQxCi0jOiBidWlsdGluL21lcmdlLmM6MjcyIGJ1aWx0aW4vcHVsbC5jOjEyOSBidWlsdGluL3B1c2guYzo1NzIKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDM5IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjUyCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExMyBidWlsdGluL2ZldGNoLmM6MTY3IGJ1aWx0aW4vbWVyZ2UuYzoyODUKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjI3IGJ1aWx0aW4vcHVsbC5jOjEzOCBidWlsdGluL3B1c2guYzo1NjMKICM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc0CiBtc2dpZCAiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgogbXNnc3RyICLlvLrliLbmmL7npLrov5vluqbmiqXlkYoiCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjk4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ0MAorbXNnaWQgInBlcmZvcm0gYSAzLXdheSBtZXJnZSB3aXRoIHRoZSBuZXcgYnJhbmNoIgorbXNnc3RyICLlkozmlrDnmoTliIbmlK/miafooYzkuInmlrnlkIjlubYiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDQxIGJ1aWx0aW4vbG9nLmM6MTY5MCBwYXJzZS1vcHRpb25zLmg6MzIyCittc2dpZCAic3R5bGUiCittc2dzdHIgIumjjuagvCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NDIKK21zZ2lkICJjb25mbGljdCBzdHlsZSAobWVyZ2Ugb3IgZGlmZjMpIgorbXNnc3RyICLlhrLnqoHovpPlh7rpo47moLzvvIhtZXJnZSDmiJYgZGlmZjPvvIkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU0IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDMKK21zZ2lkICJkZXRhY2ggSEVBRCBhdCBuYW1lZCBjb21taXQiCittc2dzdHIgIkhFQUQg5LuO5oyH5a6a55qE5o+Q5Lqk5YiG56a7IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ1NQorbXNnaWQgInNldCB1cHN0cmVhbSBpbmZvIGZvciBuZXcgYnJhbmNoIgorbXNnc3RyICLkuLrmlrDnmoTliIbmlK/orr7nva7kuIrmuLjkv6Hmga8iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU3Cittc2dpZCAiZm9yY2UgY2hlY2tvdXQgKHRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucykiCittc2dzdHIgIuW8uuWItuajgOWHuu+8iOS4ouW8g+acrOWcsOS/ruaUue+8iSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTkKK21zZ2lkICJuZXctYnJhbmNoIgorbXNnc3RyICLmlrDliIbmlK8iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU5Cittc2dpZCAibmV3IHVucGFyZW50ZWQgYnJhbmNoIgorbXNnc3RyICLmlrDnmoTmsqHmnInniLbmj5DkuqTnmoTliIbmlK8iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDYxIGJ1aWx0aW4vbWVyZ2UuYzoyODgKK21zZ2lkICJ1cGRhdGUgaWdub3JlZCBmaWxlcyAoZGVmYXVsdCkiCittc2dzdHIgIuabtOaWsOW/veeVpeeahOaWh+S7tu+8iOm7mOiupO+8iSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NjQKK21zZ2lkICJkbyBub3QgY2hlY2sgaWYgYW5vdGhlciB3b3JrdHJlZSBpcyBob2xkaW5nIHRoZSBnaXZlbiByZWYiCittc2dzdHIgIuS4jeajgOafpeaMh+WumueahOW8leeUqOaYr+WQpuiiq+WFtuS7luW3peS9nOWMuuaJgOWNoOeUqCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NzcKK21zZ2lkICJjaGVja291dCBvdXIgdmVyc2lvbiBmb3IgdW5tZXJnZWQgZmlsZXMiCittc2dzdHIgIuWvueWwmuacquWQiOW5tueahOaWh+S7tuajgOWHuuaIkeS7rOeahOeJiOacrCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0ODAKK21zZ2lkICJjaGVja291dCB0aGVpciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKK21zZ3N0ciAi5a+55bCa5pyq5ZCI5bm255qE5paH5Lu25qOA5Ye65LuW5Lus55qE54mI5pysIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ4NAorbXNnaWQgImRvIG5vdCBsaW1pdCBwYXRoc3BlY3MgdG8gc3BhcnNlIGVudHJpZXMgb25seSIKK21zZ3N0ciAi5a+56Lev5b6E5LiN5YGa56iA55aP5qOA5Ye655qE6ZmQ5Yi2IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTUzNwogbXNnaWQgIi1iLCAtQiBhbmQgLS1vcnBoYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLWLjgIEtQiDlkowgLS1vcnBoYW4g5piv5LqS5pal55qEIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTMxNQorIzogYnVpbHRpbi9jaGVja291dC5jOjE1NDAKK21zZ2lkICItcCBhbmQgLS1vdmVybGF5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi1wIOWSjCAtLW92ZXJsYXkg5LqS5palIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTU3NwogbXNnaWQgIi0tdHJhY2sgbmVlZHMgYSBicmFuY2ggbmFtZSIKIG1zZ3N0ciAiLS10cmFjayDpnIDopoHkuIDkuKrliIbmlK/lkI0iCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzIwCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTU4MgogbXNnaWQgIm1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKIG1zZ3N0ciAi57y65bCR5YiG5pSv5ZCN77yM5bCd6K+VIC1iIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1NworIzogYnVpbHRpbi9jaGVja291dC5jOjE2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlc29sdmUgJXMiCittc2dzdHIgIuaXoOazleino+aekCAlcyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE2MzEKIG1zZ2lkICJpbnZhbGlkIHBhdGggc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAi5peg5pWI55qE6Lev5b6E6KeE5qC8IgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM2NAorIzogYnVpbHRpbi9jaGVja291dC5jOjE2MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSBjb21taXQgYW5kIGEgYnJhbmNoICclcycgY2Fubm90IGJlIGNyZWF0ZWQgZnJvbSBpdCIKIG1zZ3N0ciAiJyVzJyDkuI3mmK/kuIDkuKrmj5DkuqTvvIzkuI3og73ln7rkuo7lroPliJvlu7rliIbmlK8gJyVzJyIKIAotIzogYnVpbHRpbi9jaGVja291dC5jOjEzNjgKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQgJyVzJyIKIG1zZ3N0ciAiZ2l0IGNoZWNrb3V077yaLS1kZXRhY2gg5LiN6IO95o6l5pS26Lev5b6E5Y+C5pWwICclcyciCiAKLSM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzcyCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY1MQorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tZGV0YWNoIgorbXNnc3RyICItLXBhdGhzcGVjLWZyb20tZmlsZSDkuI4gLS1kZXRhY2gg5LiN5YW85a65IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY1NCBidWlsdGluL3Jlc2V0LmM6MzI0Cittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1wYXRjaCIKK21zZ3N0ciAiLS1wYXRoc3BlYy1mcm9tLWZpbGUg5LiOIC0tcGF0Y2gg5LiN5YW85a65IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY2NQogbXNnaWQgIiIKICJnaXQgY2hlY2tvdXQ6IC0tb3Vycy8tLXRoZWlycywgLS1mb3JjZSBhbmQgLS1tZXJnZSBhcmUgaW5jb21wYXRpYmxlIHdoZW5cbiIKICJjaGVja2luZyBvdXQgb2YgdGhlIGluZGV4LiIKIG1zZ3N0ciAiIgogImdpdCBjaGVja291dO+8muWcqOS7jue0ouW8leajgOWHuuaXtu+8jC0tb3Vycy8tLXRoZWlyc+OAgS0tZm9yY2Ug5ZKMIC0tbWVyZ2Ug5LiN5YW85a6544CCIgogCi0jOiBidWlsdGluL2NoZWNrb3V0LmM6MTM5MgorIzogYnVpbHRpbi9jaGVja291dC5jOjE2NzAKK21zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHBhdGgocykgdG8gcmVzdG9yZSIKK21zZ3N0ciAi5oKo5b+F6aG75oyH5a6a5LiA5Liq6KaB5oGi5aSN55qE6Lev5b6EIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBtYXRjaGVkIG1vcmUgdGhhbiBvbmUgcmVtb3RlIHRyYWNraW5nIGJyYW5jaC5cbiIKQEAgLTg5MzIsMzggKzExMTIxLDEwNSBAQAogIuWmguaenOaCqOaAu+aYr+WWnOasouS9v+eUqOaooeeziueahOeugOefreWIhuaUr+WQjSA8bmFtZT7vvIzogIzkuI3llpzmrKLlpoIgJ29yaWdpbicg55qE6L+c56iLXG4iCiAi5LuT5bqT5ZCN77yM5Y+v5Lul5Zyo6YWN572u5Lit6K6+572uIGNoZWNrb3V0LmRlZmF1bHRSZW1vdGU9b3JpZ2lu44CCIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MjcKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE0IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE2IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY1CisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc2NyBidWlsdGluL2Nsb25lLmM6MTIxIGJ1aWx0aW4vcmVtb3RlLmM6MTY5CisjOiBidWlsdGluL3JlbW90ZS5jOjE3MSBidWlsdGluL3dvcmt0cmVlLmM6NDk5IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDEKK21zZ2lkICJicmFuY2giCittc2dzdHIgIuWIhuaUryIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MTUKK21zZ2lkICJjcmVhdGUgYW5kIGNoZWNrb3V0IGEgbmV3IGJyYW5jaCIKK21zZ3N0ciAi5Yib5bu65bm25qOA5Ye65LiA5Liq5paw55qE5YiG5pSvIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcxNworbXNnaWQgImNyZWF0ZS9yZXNldCBhbmQgY2hlY2tvdXQgYSBicmFuY2giCittc2dzdHIgIuWIm+W7ui/ph43nva7lubbmo4Dlh7rkuIDkuKrliIbmlK8iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE4Cittc2dpZCAiY3JlYXRlIHJlZmxvZyBmb3IgbmV3IGJyYW5jaCIKK21zZ3N0ciAi5Li65paw55qE5YiG5pSv5Yib5bu65byV55So5pel5b+XIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcyMAorbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IGNoZWNrb3V0IDxuby1zdWNoLWJyYW5jaD4nIChkZWZhdWx0KSIKK21zZ3N0ciAi5LqM5qyh54yc5rWLICdnaXQgY2hlY2tvdXQgPOaXoOatpOWIhuaUrz4n77yI6buY6K6k77yJIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcyMQorbXNnaWQgInVzZSBvdmVybGF5IG1vZGUgKGRlZmF1bHQpIgorbXNnc3RyICLkvb/nlKjlj6DliqDmqKHlvI/vvIjpu5jorqTvvIkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY2Cittc2dpZCAiY3JlYXRlIGFuZCBzd2l0Y2ggdG8gYSBuZXcgYnJhbmNoIgorbXNnc3RyICLliJvlu7rlubbliIfmjaLkuIDkuKrmlrDliIbmlK8iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzY4Cittc2dpZCAiY3JlYXRlL3Jlc2V0IGFuZCBzd2l0Y2ggdG8gYSBicmFuY2giCittc2dzdHIgIuWIm+W7ui/ph43nva7lubbliIfmjaLkuIDkuKrliIbmlK8iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzcwCittc2dpZCAic2Vjb25kIGd1ZXNzICdnaXQgc3dpdGNoIDxuby1zdWNoLWJyYW5jaD4nIgorbXNnc3RyICLkuozmrKHnjJzmtYsgJ2dpdCBzd2l0Y2ggPOaXoOatpOWIhuaUrz4nIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc3MgorbXNnaWQgInRocm93IGF3YXkgbG9jYWwgbW9kaWZpY2F0aW9ucyIKK21zZ3N0ciAi5Lii5byD5pys5Zyw5L+u5pS5IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgwNAorbXNnaWQgIndoaWNoIHRyZWUtaXNoIHRvIGNoZWNrb3V0IGZyb20iCittc2dzdHIgIuimgeajgOWHuuWTquS4gOS4quagkSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MDYKK21zZ2lkICJyZXN0b3JlIHRoZSBpbmRleCIKK21zZ3N0ciAi5oGi5aSN57Si5byVIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgwOAorbXNnaWQgInJlc3RvcmUgdGhlIHdvcmtpbmcgdHJlZSAoZGVmYXVsdCkiCittc2dzdHIgIuaBouWkjeW3peS9nOWMuu+8iOm7mOiupO+8iSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MTAKK21zZ2lkICJpZ25vcmUgdW5tZXJnZWQgZW50cmllcyIKK21zZ3N0ciAi5b+955Wl5pyq5ZCI5bm25p2h55uuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTgxMQorbXNnaWQgInVzZSBvdmVybGF5IG1vZGUiCittc2dzdHIgIuS9v+eUqOWPoOWKoOaooeW8jyIKKworIzogYnVpbHRpbi9jbGVhbi5jOjI4CiBtc2dpZCAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDxwYXR0ZXJuPl0gWy14IHwgLVhdIFstLV0gPHBhdGhzPi4uLiIKIG1zZ3N0ciAiIgogImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDzmqKHlvI8+XSBbLXggfCAtWF0gWy0tXSA86Lev5b6EPi4uLiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMxCisjOiBidWlsdGluL2NsZWFuLmM6MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3ZpbmcgJXNcbiIKIG1zZ3N0ciAi5q2j5Yig6ZmkICVzXG4iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzozMgorIzogYnVpbHRpbi9jbGVhbi5jOjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIldvdWxkIHJlbW92ZSAlc1xuIgogbXNnc3RyICLlsIbliKDpmaQgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjMzCisjOiBidWlsdGluL2NsZWFuLmM6MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgcmVwb3NpdG9yeSAlc1xuIgogbXNnc3RyICLlv73nlaXku5PlupMgJXNcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjM0CisjOiBidWlsdGluL2NsZWFuLmM6MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiV291bGQgc2tpcCByZXBvc2l0b3J5ICVzXG4iCiBtc2dzdHIgIuWwhuW/veeVpeS7k+W6kyAlc1xuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzUKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICVzIgogbXNnc3RyICLliKDpmaQgJXMg5aSx6LSlIgogCi0jOiBidWlsdGluL2NsZWFuLmM6Mjk4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTc5CisjOiBidWlsdGluL2NsZWFuLmM6MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGxzdGF0ICVzXG4iCittc2dzdHIgIuS4jeiDveWvuSAlcyDosIPnlKggbHN0YXRcbiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjMwMSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiUHJvbXB0IGhlbHA6XG4iCkBAIC04OTc2LDcgKzExMjMyLDcgQEAKICJmb28gICAgICAgIC0g6YCa6L+H5ZSv5LiA5YmN57yA6YCJ5oup5LiA5Liq6YCJ6aG5XG4iCiAiICAgICAgICAgICAtIO+8iOepuu+8ieS7gOS5iOS5n+S4jemAieaLqVxuIgogCi0jOiBidWlsdGluL2NsZWFuLmM6MzAyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTg4CisjOiBidWlsdGluL2NsZWFuLmM6MzA1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQcm9tcHQgaGVscDpcbiIKQEAgLTg5OTcsMzggKzExMjUzLDMzIEBACiAiKiAgICAgICAgICAtIOmAieaLqeaJgOaciemAiemhuVxuIgogIiAgICAgICAgICAgLSDvvIjnqbrvvInnu5PmnZ/pgInmi6lcbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjUxOCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU1NAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NTkKKyM6IGJ1aWx0aW4vY2xlYW4uYzo1MjEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo1NzAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTc1CiAjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKIG1zZ2lkICJIdWggKCVzKT9cbiIKIG1zZ3N0ciAi5Zev77yIJXPvvInvvJ9cbiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY2MAorIzogYnVpbHRpbi9jbGVhbi5jOjY2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnB1dCBpZ25vcmUgcGF0dGVybnM+PiAiCiBtc2dzdHIgIui+k+WFpeaooeeJiOS7peaOkumZpOadoeebrj4+ICIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjY5NworIzogYnVpbHRpbi9jbGVhbi5jOjcwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJXQVJOSU5HOiBDYW5ub3QgZmluZCBpdGVtcyBtYXRjaGVkIGJ5OiAlcyIKIG1zZ3N0ciAi6K2m5ZGK77ya5peg5rOV5om+5Yiw5ZKMICVzIOWMuemFjeeahOadoeebriIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjcxOAorIzogYnVpbHRpbi9jbGVhbi5jOjcyMQogbXNnaWQgIlNlbGVjdCBpdGVtcyB0byBkZWxldGUiCiBtc2dzdHIgIumAieaLqeimgeWIoOmZpOeahOadoeebriIKIAogIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBrZWVwIFt5L05dIGFzIGlzCi0jOiBidWlsdGluL2NsZWFuLmM6NzU5CisjOiBidWlsdGluL2NsZWFuLmM6NzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbW92ZSAlcyBbeS9OXT8gIgogbXNnc3RyICLliKDpmaQgJXMgW3kvTl3vvJ8iCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo3ODQgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzE3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIkJ5ZS5cbiIKLW1zZ3N0ciAi5YaN6KeB44CCXG4iCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzo3OTIKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3OTUKIG1zZ2lkICIiCiAiY2xlYW4gICAgICAgICAgICAgICAtIHN0YXJ0IGNsZWFuaW5nXG4iCiAiZmlsdGVyIGJ5IHBhdHRlcm4gICAtIGV4Y2x1ZGUgaXRlbXMgZnJvbSBkZWxldGlvblxuIgpAQCAtOTA0NiwyMTcgKzExMjk3LDIyNyBAQAogImhlbHAgICAgICAgICAgICAgICAgLSDmmL7npLrmnKzluK7liqlcbiIKICI/ICAgICAgICAgICAgICAgICAgIC0g5pi+56S65aaC5L2V5Zyo5o+Q56S656ym5LiL6YCJ5oup55qE5biu5YqpIgogCi0jOiBidWlsdGluL2NsZWFuLmM6ODE5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc5MwotbXNnaWQgIioqKiBDb21tYW5kcyAqKioiCi1tc2dzdHIgIioqKiDlkb3ku6QgKioqIgotCi0jOiBidWlsdGluL2NsZWFuLmM6ODIwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc5MAotbXNnaWQgIldoYXQgbm93IgotbXNnc3RyICLor7fpgInmi6kiCi0KLSM6IGJ1aWx0aW4vY2xlYW4uYzo4MjgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo4MzEKIG1zZ2lkICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtOiIKIG1zZ2lkX3BsdXJhbCAiV291bGQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgaXRlbXM6IgogbXNnc3RyWzBdICLlsIbliKDpmaTlpoLkuIvmnaHnm67vvJoiCiBtc2dzdHJbMV0gIuWwhuWIoOmZpOWmguS4i+adoeebru+8miIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjg0NAorIzogYnVpbHRpbi9jbGVhbi5jOjg0NwogbXNnaWQgIk5vIG1vcmUgZmlsZXMgdG8gY2xlYW4sIGV4aXRpbmcuIgogbXNnc3RyICLmsqHmnInopoHmuIXnkIbnmoTmlofku7bvvIzpgIDlh7rjgIIiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MDYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MDkKIG1zZ2lkICJkbyBub3QgcHJpbnQgbmFtZXMgb2YgZmlsZXMgcmVtb3ZlZCIKIG1zZ3N0ciAi5LiN5omT5Y2w5Yig6Zmk5paH5Lu255qE5ZCN56ewIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTA4CisjOiBidWlsdGluL2NsZWFuLmM6OTExCiBtc2dpZCAiZm9yY2UiCiBtc2dzdHIgIuW8uuWItiIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkwOQorIzogYnVpbHRpbi9jbGVhbi5jOjkxMgogbXNnaWQgImludGVyYWN0aXZlIGNsZWFuaW5nIgogbXNnc3RyICLkuqTkupLlvI/muIXpmaQiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTEKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTQKIG1zZ2lkICJyZW1vdmUgd2hvbGUgZGlyZWN0b3JpZXMiCiBtc2dzdHIgIuWIoOmZpOaVtOS4quebruW9lSIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjkxMiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ1IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDcKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4NiBidWlsdGluL2xvZy5jOjE2NiBidWlsdGluL2xvZy5jOjE2OAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NiBidWlsdGluL25hbWUtcmV2LmM6NDE1IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTcKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTUgYnVpbHRpbi9kZXNjcmliZS5jOjU0OCBidWlsdGluL2Rlc2NyaWJlLmM6NTUwCisjOiBidWlsdGluL2dyZXAuYzo5MDEgYnVpbHRpbi9sb2cuYzoxNzcgYnVpbHRpbi9sb2cuYzoxNzkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTcgYnVpbHRpbi9uYW1lLXJldi5jOjQ2NCBidWlsdGluL25hbWUtcmV2LmM6NDY2CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc5CiBtc2dpZCAicGF0dGVybiIKIG1zZ3N0ciAi5qih5byPIgogCi0jOiBidWlsdGluL2NsZWFuLmM6OTEzCisjOiBidWlsdGluL2NsZWFuLmM6OTE2CiBtc2dpZCAiYWRkIDxwYXR0ZXJuPiB0byBpZ25vcmUgcnVsZXMiCiBtc2dzdHIgIua3u+WKoCA85qih5byPPiDliLDlv73nlaXop4TliJkiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTQKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTcKIG1zZ2lkICJyZW1vdmUgaWdub3JlZCBmaWxlcywgdG9vIgogbXNnc3RyICLkuZ/liKDpmaTlv73nlaXnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MTYKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTkKIG1zZ2lkICJyZW1vdmUgb25seSBpZ25vcmVkIGZpbGVzIgogbXNnc3RyICLlj6rliKDpmaTlv73nlaXnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MzQKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MzcKIG1zZ2lkICIteCBhbmQgLVggY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiCiBtc2dzdHIgIi14IOWSjCAtWCDkuI3og73lkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vY2xlYW4uYzo5MzgKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5NDEKIG1zZ2lkICIiCiAiY2xlYW4ucmVxdWlyZUZvcmNlIHNldCB0byB0cnVlIGFuZCBuZWl0aGVyIC1pLCAtbiwgbm9yIC1mIGdpdmVuOyByZWZ1c2luZyB0byAiCiAiY2xlYW4iCiBtc2dzdHIgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2Ug6K6+572u5Li6IHRydWUg5LiU5pyq5o+Q5L6bIC1p44CBLW4g5oiWIC1mIOmAiemhue+8jOaLkue7neaJp+ihjOa4heeQhuWKqOS9nCIKIAotIzogYnVpbHRpbi9jbGVhbi5jOjk0MQorIzogYnVpbHRpbi9jbGVhbi5jOjk0NAogbXNnaWQgIiIKICJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgIgogInJlZnVzaW5nIHRvIGNsZWFuIgogbXNnc3RyICIiCiAiY2xlYW4ucmVxdWlyZUZvcmNlIOm7mOiupOS4uiB0cnVlIOS4lOacquaPkOS+myAtaeOAgS1uIOaIliAtZiDpgInpobnvvIzmi5Lnu53miafooYzmuIXnkIbliqjkvZwiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MworIzogYnVpbHRpbi9jbG9uZS5jOjQ1CiBtc2dpZCAiZ2l0IGNsb25lIFs8b3B0aW9ucz5dIFstLV0gPHJlcG8+IFs8ZGlyPl0iCiBtc2dzdHIgImdpdCBjbG9uZSBbPOmAiemhuT5dIFstLV0gPOS7k+W6kz4gWzzot6/lvoQ+XSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg4CisjOiBidWlsdGluL2Nsb25lLmM6OTMKIG1zZ2lkICJkb24ndCBjcmVhdGUgYSBjaGVja291dCIKIG1zZ3N0ciAi5LiN5Yib5bu65LiA5Liq5qOA5Ye6IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODkgYnVpbHRpbi9jbG9uZS5jOjkxIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4MQorIzogYnVpbHRpbi9jbG9uZS5jOjk0IGJ1aWx0aW4vY2xvbmUuYzo5NiBidWlsdGluL2luaXQtZGIuYzo0ODkKIG1zZ2lkICJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuWIm+W7uuS4gOS4que6r+S7k+W6kyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkzCisjOiBidWlsdGluL2Nsb25lLmM6OTgKIG1zZ2lkICJjcmVhdGUgYSBtaXJyb3IgcmVwb3NpdG9yeSAoaW1wbGllcyBiYXJlKSIKIG1zZ3N0ciAi5Yib5bu65LiA5Liq6ZWc5YOP5LuT5bqT77yI5Lmf5piv57qv5LuT5bqT77yJIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDAKIG1zZ2lkICJ0byBjbG9uZSBmcm9tIGEgbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi5LuO5pys5Zyw5LuT5bqT5YWL6ZqGIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIKIG1zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKIG1zZ3N0ciAi5LiN5L2/55So5pys5Zyw56Gs6ZO+5o6l77yM5aeL57uI5aSN5Yi2IgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTkKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDQKIG1zZ2lkICJzZXR1cCBhcyBzaGFyZWQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi6K6+572u5Li65YWx5Lqr5LuT5bqTIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxIGJ1aWx0aW4vY2xvbmUuYzoxMDUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcKIG1zZ2lkICJwYXRoc3BlYyIKIG1zZ3N0ciAi6Lev5b6E6KeE5qC8IgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxIGJ1aWx0aW4vY2xvbmUuYzoxMDUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcKIG1zZ2lkICJpbml0aWFsaXplIHN1Ym1vZHVsZXMgaW4gdGhlIGNsb25lIgogbXNnc3RyICLlnKjlhYvpmobml7bliJ3lp4vljJblrZDmqKHnu4QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBjbG9uZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgIuW5tuWPkeWFi+mahueahOWtkOaooee7hOeahOaVsOmHjyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOSBidWlsdGluL2luaXQtZGIuYzo0NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTEgYnVpbHRpbi9pbml0LWRiLmM6NDg2CiBtc2dpZCAidGVtcGxhdGUtZGlyZWN0b3J5IgogbXNnc3RyICLmqKHmnb/nm67lvZUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAgYnVpbHRpbi9pbml0LWRiLmM6NDc5CisjOiBidWlsdGluL2Nsb25lLmM6MTEyIGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NwogbXNnaWQgImRpcmVjdG9yeSBmcm9tIHdoaWNoIHRlbXBsYXRlcyB3aWxsIGJlIHVzZWQiCiBtc2dzdHIgIuaooeadv+ebruW9leWwhuiiq+S9v+eUqCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMiBidWlsdGluL2Nsb25lLmM6MTE0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzc1Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg1NgorIzogYnVpbHRpbi9jbG9uZS5jOjExNCBidWlsdGluL2Nsb25lLmM6MTE2IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzkyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NQogbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5IgogbXNnc3RyICLlj4LogIPku5PlupMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzcKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODU4CisjOiBidWlsdGluL2Nsb25lLmM6MTE4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzk0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NwogbXNnaWQgInVzZSAtLXJlZmVyZW5jZSBvbmx5IHdoaWxlIGNsb25pbmciCiBtc2dzdHIgIuS7heWcqOWFi+mahuaXtuWPguiAgyAtLXJlZmVyZW5jZSDmjIflkJHnmoTmnKzlnLDku5PlupMiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTcgYnVpbHRpbi9jb2x1bW4uYzoyNyBidWlsdGluL21lcmdlLWZpbGUuYzo0NgotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzAxIGJ1aWx0aW4vcmVwYWNrLmM6MzI5CisjOiBidWlsdGluL2Nsb25lLmM6MTE5IGJ1aWx0aW4vY29sdW1uLmM6MjcgYnVpbHRpbi9tZXJnZS1maWxlLmM6NDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5NCBidWlsdGluL3JlcGFjay5jOjMyNwogbXNnaWQgIm5hbWUiCiBtc2dzdHIgIuWQjeensCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExOAorIzogYnVpbHRpbi9jbG9uZS5jOjEyMAogbXNnaWQgInVzZSA8bmFtZT4gaW5zdGVhZCBvZiAnb3JpZ2luJyB0byB0cmFjayB1cHN0cmVhbSIKIG1zZ3N0ciAi5L2/55SoIDzlkI3np7A+IOiAjOS4jeaYryAnb3JpZ2luJyDljrvot5/ouKrkuIrmuLgiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjAKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjIKIG1zZ2lkICJjaGVja291dCA8YnJhbmNoPiBpbnN0ZWFkIG9mIHRoZSByZW1vdGUncyBIRUFEIgogbXNnc3RyICLmo4Dlh7ogPOWIhuaUrz4g6ICM5LiN5piv6L+c56iLIEhFQUQiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjQKIG1zZ2lkICJwYXRoIHRvIGdpdC11cGxvYWQtcGFjayBvbiB0aGUgcmVtb3RlIgogbXNnc3RyICLov5znqIsgZ2l0LXVwbG9hZC1wYWNrIOi3r+W+hCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEyMyBidWlsdGluL2ZldGNoLmM6MTQyIGJ1aWx0aW4vZ3JlcC5jOjgyNQotIzogYnVpbHRpbi9wdWxsLmM6MjE3CisjOiBidWlsdGluL2Nsb25lLmM6MTI1IGJ1aWx0aW4vZmV0Y2guYzoxNjggYnVpbHRpbi9ncmVwLmM6ODQwCisjOiBidWlsdGluL3B1bGwuYzoyMjcKIG1zZ2lkICJkZXB0aCIKIG1zZ3N0ciAi5rex5bqmIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI0CisjOiBidWlsdGluL2Nsb25lLmM6MTI2CiBtc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgogbXNnc3RyICLliJvlu7rkuIDkuKrmjIflrprmt7HluqbnmoTmtYXlhYvpmoYiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjUgYnVpbHRpbi9mZXRjaC5jOjE0NCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjcgYnVpbHRpbi9mZXRjaC5jOjE3MCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODMKIG1zZ2lkICJ0aW1lIgogbXNnc3RyICLml7bpl7QiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMjYKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjgKIG1zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIHNpbmNlIGEgc3BlY2lmaWMgdGltZSIKIG1zZ3N0ciAi5LuO5LiA5Liq54m55a6a5pe26Ze05Yib5bu65LiA5Liq5rWF5YWL6ZqGIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI3IGJ1aWx0aW4vZmV0Y2guYzoxNDYgYnVpbHRpbi9mZXRjaC5jOjE2OQotIzogYnVpbHRpbi9yZWJhc2UuYzo4MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjkgYnVpbHRpbi9mZXRjaC5jOjE3MiBidWlsdGluL2ZldGNoLmM6MTk1CisjOiBidWlsdGluL3JlYmFzZS5jOjE0NDUKIG1zZ2lkICJyZXZpc2lvbiIKIG1zZ3N0ciAi54mI5pysIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTI4IGJ1aWx0aW4vZmV0Y2guYzoxNDcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzAgYnVpbHRpbi9mZXRjaC5jOjE3MwogbXNnaWQgImRlZXBlbiBoaXN0b3J5IG9mIHNoYWxsb3cgY2xvbmUsIGV4Y2x1ZGluZyByZXYiCiBtc2dzdHIgIua3seWMlua1heWFi+mahueahOWOhuWPsu+8jOmZpOS6hueJueWumueJiOacrCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzMAorIzogYnVpbHRpbi9jbG9uZS5jOjEzMgogbXNnaWQgImNsb25lIG9ubHkgb25lIGJyYW5jaCwgSEVBRCBvciAtLWJyYW5jaCIKIG1zZ3N0ciAi5Y+q5YWL6ZqG5LiA5Liq5YiG5pSv44CBSEVBRCDmiJYgLS1icmFuY2giCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzIKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzQKIG1zZ2lkICJkb24ndCBjbG9uZSBhbnkgdGFncywgYW5kIG1ha2UgbGF0ZXIgZmV0Y2hlcyBub3QgdG8gZm9sbG93IHRoZW0iCiBtc2dzdHIgIuS4jeimgeWFi+mahuS7u+S9leagh+etvu+8jOW5tuS4lOWQjue7reiOt+WPluaTjeS9nOS5n+S4jeS4i+i9veWug+S7rCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzNAorIzogYnVpbHRpbi9jbG9uZS5jOjEzNgogbXNnaWQgImFueSBjbG9uZWQgc3VibW9kdWxlcyB3aWxsIGJlIHNoYWxsb3ciCiBtc2dzdHIgIuWtkOaooee7hOWwhuS7pea1heS4i+i9veaooeW8j+WFi+mahiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzNSBidWlsdGluL2luaXQtZGIuYzo0ODcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMzcgYnVpbHRpbi9pbml0LWRiLmM6NDk1CiBtc2dpZCAiZ2l0ZGlyIgogbXNnc3RyICJnaXTnm67lvZUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzYgYnVpbHRpbi9pbml0LWRiLmM6NDg4CisjOiBidWlsdGluL2Nsb25lLmM6MTM4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NgogbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgImdpdOebruW9leWSjOW3peS9nOWMuuWIhuemuyIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEzNworIzogYnVpbHRpbi9jbG9uZS5jOjEzOQogbXNnaWQgImtleT12YWx1ZSIKIG1zZ3N0ciAia2V5PXZhbHVlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTM4CisjOiBidWlsdGluL2Nsb25lLmM6MTQwCiBtc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgogbXNnc3RyICLlnKjmlrDku5PlupPkuK3orr7nva7phY3nva7kv6Hmga8iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMzkgYnVpbHRpbi9mZXRjaC5jOjE2NSBidWlsdGluL3B1bGwuYzoyMzAKLSM6IGJ1aWx0aW4vcHVzaC5jOjU4MworIzogYnVpbHRpbi9jbG9uZS5jOjE0MiBidWlsdGluL2ZldGNoLmM6MTkwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MyBidWlsdGluL3NlbmQtcGFjay5jOjE3MgorbXNnaWQgInNlcnZlci1zcGVjaWZpYyIKK21zZ3N0ciAic2VydmVyLXNwZWNpZmljIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTQyIGJ1aWx0aW4vZmV0Y2guYzoxOTAgYnVpbHRpbi9scy1yZW1vdGUuYzo3NgorIzogYnVpbHRpbi9wdXNoLmM6NTczIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTczCittc2dpZCAib3B0aW9uIHRvIHRyYW5zbWl0IgorbXNnc3RyICLkvKDovpPpgInpobkiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDMgYnVpbHRpbi9mZXRjaC5jOjE5MSBidWlsdGluL3B1bGwuYzoyNDAKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3NAogbXNnaWQgInVzZSBJUHY0IGFkZHJlc3NlcyBvbmx5IgogbXNnc3RyICLlj6rkvb/nlKggSVB2NCDlnLDlnYAiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxNDEgYnVpbHRpbi9mZXRjaC5jOjE2NyBidWlsdGluL3B1bGwuYzoyMzMKLSM6IGJ1aWx0aW4vcHVzaC5jOjU4NQorIzogYnVpbHRpbi9jbG9uZS5jOjE0NSBidWlsdGluL2ZldGNoLmM6MTkzIGJ1aWx0aW4vcHVsbC5jOjI0MworIzogYnVpbHRpbi9wdXNoLmM6NTc2CiBtc2dpZCAidXNlIElQdjYgYWRkcmVzc2VzIG9ubHkiCiBtc2dzdHIgIuWPquS9v+eUqCBJUHY2IOWcsOWdgCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjI3OQorIzogYnVpbHRpbi9jbG9uZS5jOjE0OQorbXNnaWQgImFueSBjbG9uZWQgc3VibW9kdWxlcyB3aWxsIHVzZSB0aGVpciByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgorbXNnc3RyICLku7vkvZXlhYvpmobnmoTlrZDmqKHnu4TlsIbkvb/nlKjlroPku6znmoTov5znqIvot5/ouKrliIbmlK8iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNTEKK21zZ2lkICJpbml0aWFsaXplIHNwYXJzZS1jaGVja291dCBmaWxlIHRvIGluY2x1ZGUgb25seSBmaWxlcyBhdCByb290IgorbXNnc3RyICLliJ3lp4vljJbnqIDnlo/mo4Dlh7rmlofku7bvvIzlj6rljIXlkKvmoLnnm67lvZXmlofku7YiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoyODcKIG1zZ2lkICIiCiAiTm8gZGlyZWN0b3J5IG5hbWUgY291bGQgYmUgZ3Vlc3NlZC5cbiIKICJQbGVhc2Ugc3BlY2lmeSBhIGRpcmVjdG9yeSBvbiB0aGUgY29tbWFuZCBsaW5lIgpAQCAtOTI2NCwxODAgKzExNTI1LDE3OSBAQAogIuaXoOazleeMnOWIsOebruW9leWQjeOAglxuIgogIuivt+WcqOWRveS7pOihjOaMh+WumuS4gOS4quebruW9lSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjMzMgorIzogYnVpbHRpbi9jbG9uZS5jOjM0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbmZvOiBDb3VsZCBub3QgYWRkIGFsdGVybmF0ZSBmb3IgJyVzJzogJXNcbiIKIG1zZ3N0ciAiaW5mbzog5LiN6IO95Li6ICclcycg5re75Yqg5LiA5Liq5aSH55So77yaJXNcbiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQwNAotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgotbXNnc3RyICLmiZPlvIAgJyVzJyDlpLHotKUiCi0KLSM6IGJ1aWx0aW4vY2xvbmUuYzo0MTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzIOWtmOWcqOS4lOS4jeaYr+S4gOS4quebruW9lSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjQyNgorIzogYnVpbHRpbi9jbG9uZS5jOjQzMAogIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gc3RhdCAlc1xuIgotbXNnc3RyICLlr7kgJXMg6LCD55SoIHN0YXQg5aSx6LSlXG4iCittc2dpZCAiZmFpbGVkIHRvIHN0YXJ0IGl0ZXJhdG9yIG92ZXIgJyVzJyIKK21zZ3N0ciAi5peg5rOV5ZyoICclcycg5LiK5ZCv5Yqo6L+t5Luj5ZmoIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NDQzCi0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKLW1zZ3N0ciAi5Yig6ZmkICclcycg5aSx6LSlIgotCi0jOiBidWlsdGluL2Nsb25lLmM6NDQ4CisjOiBidWlsdGluL2Nsb25lLmM6NDYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgbGluayAnJXMnIgogbXNnc3RyICLliJvlu7rpk77mjqUgJyVzJyDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNvcHkgZmlsZSB0byAnJXMnIgogbXNnc3RyICLmi7fotJ3mlofku7boh7MgJyVzJyDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0NzgKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGl0ZXJhdGUgb3ZlciAnJXMnIgorbXNnc3RyICLml6Dms5XlnKggJyVzJyDkuIrov63ku6MiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZG9uZS5cbiIKIG1zZ3N0ciAi5a6M5oiQ44CCXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo0OTIKKyM6IGJ1aWx0aW4vY2xvbmUuYzo1MDgKIG1zZ2lkICIiCiAiQ2xvbmUgc3VjY2VlZGVkLCBidXQgY2hlY2tvdXQgZmFpbGVkLlxuIgogIllvdSBjYW4gaW5zcGVjdCB3aGF0IHdhcyBjaGVja2VkIG91dCB3aXRoICdnaXQgc3RhdHVzJ1xuIgotImFuZCByZXRyeSB0aGUgY2hlY2tvdXQgd2l0aCAnZ2l0IGNoZWNrb3V0IC1mIEhFQUQnXG4iCisiYW5kIHJldHJ5IHdpdGggJ2dpdCByZXN0b3JlIC0tc291cmNlPUhFQUQgOi8nXG4iCiBtc2dzdHIgIiIKICLlhYvpmobmiJDlip/vvIzkvYbmmK/mo4Dlh7rlpLHotKXjgIJcbiIKICLmgqjlj6/ku6XpgJrov4cgJ2dpdCBzdGF0dXMnIOajgOafpeWTquS6m+W3suiiq+ajgOWHuu+8jOeEtuWQjuS9v+eUqOWRveS7pFxuIgotIidnaXQgY2hlY2tvdXQgLWYgSEVBRCcg6YeN6K+VXG4iCisiJ2dpdCByZXN0b3JlIC0tc291cmNlPUhFQUQgOi8nIOmHjeivlVxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NTY5CisjOiBidWlsdGluL2Nsb25lLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIHJlbW90ZSBicmFuY2ggJXMgdG8gY2xvbmUuIgogbXNnc3RyICLkuI3og73lj5HnjrDopoHlhYvpmobnmoTov5znqIvliIbmlK8gJXPjgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo2ODAKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSAlcyIKIG1zZ3N0ciAi5LiN6IO95pu05pawICVzIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzMwCisjOiBidWlsdGluL2Nsb25lLmM6NzUyCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgc3BhcnNlLWNoZWNrb3V0IgorbXNnc3RyICLml6Dms5XliJ3lp4vljJbnqIDnlo/mo4Dlh7oiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo3NzUKIG1zZ2lkICJyZW1vdGUgSEVBRCByZWZlcnMgdG8gbm9uZXhpc3RlbnQgcmVmLCB1bmFibGUgdG8gY2hlY2tvdXQuXG4iCiBtc2dzdHIgIui/nOeoiyBIRUFEIOaMh+WQkeS4gOS4quS4jeWtmOWcqOeahOW8leeUqO+8jOaXoOazleajgOWHuuOAglxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6NzYxCisjOiBidWlsdGluL2Nsb25lLmM6ODA2CiBtc2dpZCAidW5hYmxlIHRvIGNoZWNrb3V0IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi5LiN6IO95qOA5Ye65bel5L2c5Yy6IgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODA2CisjOiBidWlsdGluL2Nsb25lLmM6ODU2CiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHBhcmFtZXRlcnMgdG8gY29uZmlnIGZpbGUiCiBtc2dzdHIgIuaXoOazleWwhuWPguaVsOWGmeWFpemFjee9ruaWh+S7tiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjg2OQorIzogYnVpbHRpbi9jbG9uZS5jOjkxOQogbXNnaWQgImNhbm5vdCByZXBhY2sgdG8gY2xlYW4gdXAiCiBtc2dzdHIgIuaXoOazleaJp+ihjCByZXBhY2sg5p2l5riF55CGIgogCi0jOiBidWlsdGluL2Nsb25lLmM6ODcxCisjOiBidWlsdGluL2Nsb25lLmM6OTIxCiBtc2dpZCAiY2Fubm90IHVubGluayB0ZW1wb3JhcnkgYWx0ZXJuYXRlcyBmaWxlIgogbXNnc3RyICLml6Dms5XliKDpmaTkuLTml7bnmoQgYWx0ZXJuYXRlcyDmlofku7YiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MTEgYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQxCisjOiBidWlsdGluL2Nsb25lLmM6OTU5IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk0OAogbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCiBtc2dzdHIgIuWkquWkmuWPguaVsOOAgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjkxNQorIzogYnVpbHRpbi9jbG9uZS5jOjk2MwogbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSByZXBvc2l0b3J5IHRvIGNsb25lLiIKIG1zZ3N0ciAi5oKo5b+F6aG75oyH5a6a5LiA5Liq5LuT5bqT5p2l5YWL6ZqG44CCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTI4CisjOiBidWlsdGluL2Nsb25lLmM6OTc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiLS1iYXJlIOWSjCAtLW9yaWdpbiAlcyDpgInpobnkuI3lhbzlrrnjgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzo5MzEKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NzkKIG1zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKIG1zZ3N0ciAiLS1iYXJlIOWSjCAtLXNlcGFyYXRlLWdpdC1kaXIg6YCJ6aG55LiN5YW85a6544CCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTQ0CisjOiBidWlsdGluL2Nsb25lLmM6OTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAi5LuT5bqTICclcycg5LiN5a2Y5ZyoIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTUwIGJ1aWx0aW4vZmV0Y2guYzoxNjA2CisjOiBidWlsdGluL2Nsb25lLmM6OTk4IGJ1aWx0aW4vZmV0Y2guYzoxNzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKIG1zZ3N0ciAi5rex5bqmICVzIOS4jeaYr+S4gOS4quato+aVsCIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk2MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzdGluYXRpb24gcGF0aCAnJXMnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYW4gZW1wdHkgZGlyZWN0b3J5LiIKIG1zZ3N0ciAi55uu5qCH6Lev5b6EICclcycg5bey57uP5a2Y5Zyo77yM5bm25LiU5LiN5piv5LiA5Liq56m655uu5b2V44CCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6OTcwCisjOiBidWlsdGluL2Nsb25lLmM6MTAxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCiBtc2dzdHIgIuW3peS9nOWMuiAnJXMnIOW3sue7j+WtmOWcqOOAgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk4NSBidWlsdGluL2Nsb25lLmM6MTAwNiBidWlsdGluL2RpZmZ0b29sLmM6MjcxCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Mjk1IGJ1aWx0aW4vd29ya3RyZWUuYzozMjUKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDMzIGJ1aWx0aW4vY2xvbmUuYzoxMDU0IGJ1aWx0aW4vZGlmZnRvb2wuYzoyNzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTg2NiBidWlsdGluL3dvcmt0cmVlLmM6MzAyIGJ1aWx0aW4vd29ya3RyZWUuYzozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBsZWFkaW5nIGRpcmVjdG9yaWVzIG9mICclcyciCiBtc2dzdHIgIuS4jeiDveS4uiAnJXMnIOWIm+W7uuWFiOWvvOebruW9lSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjk5MAorIzogYnVpbHRpbi9jbG9uZS5jOjEwMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSB3b3JrIHRyZWUgZGlyICclcyciCiBtc2dzdHIgIuS4jeiDveWIm+W7uuW3peS9nOWMuuebruW9lSAnJXMnIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAxMAorIzogYnVpbHRpbi9jbG9uZS5jOjEwNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2xvbmluZyBpbnRvIGJhcmUgcmVwb3NpdG9yeSAnJXMnLi4uXG4iCiBtc2dzdHIgIuWFi+mahuWIsOe6r+S7k+W6kyAnJXMnLi4uXG4iCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMDEyCisjOiBidWlsdGluL2Nsb25lLmM6MTA2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgogbXNnc3RyICLmraPlhYvpmobliLAgJyVzJy4uLlxuIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTAzNgorIzogYnVpbHRpbi9jbG9uZS5jOjEwODQKIG1zZ2lkICIiCiAiY2xvbmUgLS1yZWN1cnNpdmUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBib3RoIC0tcmVmZXJlbmNlIGFuZCAtLXJlZmVyZW5jZS1pZi0iCiAiYWJsZSIKIG1zZ3N0ciAiY2xvbmUgLS1yZWN1cnNpdmUg5ZKMIC0tcmVmZXJlbmNlIOS7peWPiiAtLXJlZmVyZW5jZS1pZi1hYmxlIOS4jeWFvOWuuSIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjEwOTcKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTQ4CiBtc2dpZCAiLS1kZXB0aCBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIi0tZGVwdGgg5Zyo5pys5Zyw5YWL6ZqG5pe26KKr5b+955Wl77yM6K+35pS555SoIGZpbGU6Ly8g5Y2P6K6u44CCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTA5OQorIzogYnVpbHRpbi9jbG9uZS5jOjExNTAKIG1zZ2lkICItLXNoYWxsb3ctc2luY2UgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICItLXNoYWxsb3ctc2luY2Ug5Zyo5pys5Zyw5YWL6ZqG5pe26KKr5b+955Wl77yM6K+35pS555SoIGZpbGU6Ly8g5Y2P6K6u44CCIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTEwMQorIzogYnVpbHRpbi9jbG9uZS5jOjExNTIKIG1zZ2lkICItLXNoYWxsb3ctZXhjbHVkZSBpcyBpZ25vcmVkIGluIGxvY2FsIGNsb25lczsgdXNlIGZpbGU6Ly8gaW5zdGVhZC4iCiBtc2dzdHIgIi0tc2hhbGxvdy1leGNsdWRlIOWcqOacrOWcsOWFi+mahuaXtuiiq+W/veeVpe+8jOivt+aUueeUqCBmaWxlOi8vIOWNj+iuruOAgiIKIAotIzogYnVpbHRpbi9jbG9uZS5jOjExMDMKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTU0CiBtc2dpZCAiLS1maWx0ZXIgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgogbXNnc3RyICItLWZpbHRlciDlnKjmnKzlnLDlhYvpmobml7booqvlv73nlaXvvIzor7fmlLnnlKggZmlsZTovLyDljY/orq7jgIIiCiAKLSM6IGJ1aWx0aW4vY2xvbmUuYzoxMTA2CisjOiBidWlsdGluL2Nsb25lLmM6MTE1NwogbXNnaWQgInNvdXJjZSByZXBvc2l0b3J5IGlzIHNoYWxsb3csIGlnbm9yaW5nIC0tbG9jYWwiCiBtc2dzdHIgIua6kOS7k+W6k+aYr+a1heWFi+mahu+8jOW/veeVpSAtLWxvY2FsIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTExMQorIzogYnVpbHRpbi9jbG9uZS5jOjExNjIKIG1zZ2lkICItLWxvY2FsIGlzIGlnbm9yZWQiCiBtc2dzdHIgIi0tbG9jYWwg6KKr5b+955WlIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE4MSBidWlsdGluL2Nsb25lLmM6MTE4OQorIzogYnVpbHRpbi9jbG9uZS5jOjEyMzcgYnVpbHRpbi9jbG9uZS5jOjEyNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUmVtb3RlIGJyYW5jaCAlcyBub3QgZm91bmQgaW4gdXBzdHJlYW0gJXMiCiBtc2dzdHIgIui/nOeoi+WIhuaUryAlcyDlnKjkuIrmuLggJXMg5pyq5Y+R546wIgogCi0jOiBidWlsdGluL2Nsb25lLmM6MTE5MgorIzogYnVpbHRpbi9jbG9uZS5jOjEyNDgKIG1zZ2lkICJZb3UgYXBwZWFyIHRvIGhhdmUgY2xvbmVkIGFuIGVtcHR5IHJlcG9zaXRvcnkuIgogbXNnc3RyICLmgqjkvLzkuY7lhYvpmobkuobkuIDkuKrnqbrku5PlupPjgIIiCiAKQEAgLTk0NzMsMTUgKzExNzMzLDgzIEBACiBtc2dpZCAiLS1jb21tYW5kIG11c3QgYmUgdGhlIGZpcnN0IGFyZ3VtZW50IgogbXNnc3RyICItLWNvbW1hbmQg5b+F6aG75piv56ys5LiA5Liq5Y+C5pWwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQwCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTgKK21zZ2lkICIiCisiZ2l0IGNvbW1pdC10cmVlIFsoLXAgPHBhcmVudD4pLi4uXSBbLVNbPGtleWlkPl1dIFsoLW0gPG1lc3NhZ2U+KS4uLl0gWygtRiAiCisiPGZpbGU+KS4uLl0gPHRyZWU+IgorbXNnc3RyICIiCisiZ2l0IGNvbW1pdC10cmVlIFsoLXAgPOeItuaPkOS6pD4pLi4uXSBbLVNbPGtleWlkPl1dIFsoLW0gPOa2iOaBrz4pLi4uXSBbKC1GIDzmlofku7YiCisiPikuLi5dIDzmoJE+IgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHVwbGljYXRlIHBhcmVudCAlcyBpZ25vcmVkIgorbXNnc3RyICLlv73nlaXph43lpI3nmoTniLbmj5DkuqQgJXMiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzo1NiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTM2IGJ1aWx0aW4vbG9nLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgorbXNnc3RyICLkuI3mmK/kuIDkuKrmnInmlYjnmoTlr7nosaHlkI0gJXMiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byBvcGVuICclcyciCittc2dzdHIgImdpdCBjb21taXQtdHJlZe+8muaXoOazleaJk+W8gCAnJXMnIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gcmVhZCAnJXMnIgorbXNnc3RyICJnaXQgY29tbWl0LXRyZWXvvJrml6Dms5Xor7vlj5YgJyVzJyIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIGNsb3NlICclcyciCittc2dzdHIgImdpdCBjb21taXQtdHJlZe+8muaXoOazleWFs+mXrSAnJXMnIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTExCittc2dpZCAicGFyZW50IgorbXNnc3RyICLniLbmj5DkuqQiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTIKK21zZ2lkICJpZCBvZiBhIHBhcmVudCBjb21taXQgb2JqZWN0IgorbXNnc3RyICLniLbmj5DkuqTlr7nosaEgSUQiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTQgYnVpbHRpbi9jb21taXQuYzoxNDk2IGJ1aWx0aW4vbWVyZ2UuYzoyNzAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MDkgYnVpbHRpbi9ub3Rlcy5jOjU3NSBidWlsdGluL3N0YXNoLmM6MTQ2OQorIzogYnVpbHRpbi90YWcuYzo0MTIKK21zZ2lkICJtZXNzYWdlIgorbXNnc3RyICLor7TmmI4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTUgYnVpbHRpbi9jb21taXQuYzoxNDk2Cittc2dpZCAiY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgIuaPkOS6pOivtOaYjiIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExOAorbXNnaWQgInJlYWQgY29tbWl0IGxvZyBtZXNzYWdlIGZyb20gZmlsZSIKK21zZ3N0ciAi5LuO5paH5Lu25Lit6K+75Y+W5o+Q5Lqk6K+05piOIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTIxIGJ1aWx0aW4vY29tbWl0LmM6MTUwOCBidWlsdGluL21lcmdlLmM6Mjg3CisjOiBidWlsdGluL3B1bGwuYzoxOTUgYnVpbHRpbi9yZXZlcnQuYzoxMTgKK21zZ2lkICJHUEcgc2lnbiBjb21taXQiCittc2dzdHIgIkdQRyDmj5DkuqTnrb7lkI0iCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMzMKK21zZ2lkICJtdXN0IGdpdmUgZXhhY3RseSBvbmUgdHJlZSIKK21zZ3N0ciAi5b+F6aG757K+56Gu5Zyw5o+Q5L6b5LiA5Liq5qCRIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTQwCittc2dpZCAiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gcmVhZCIKK21zZ3N0ciAiZ2l0IGNvbW1pdC10cmVl77ya6K+75Y+W5aSx6LSlIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjQxCiBtc2dpZCAiZ2l0IGNvbW1pdCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBjb21taXQgWzzpgInpobk+XSBbLS1dIDzot6/lvoTop4TmoLw+Li4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1CisjOiBidWlsdGluL2NvbW1pdC5jOjQ2CiBtc2dpZCAiZ2l0IHN0YXR1cyBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCiBtc2dzdHIgImdpdCBzdGF0dXMgWzzpgInpobk+XSBbLS1dIDzot6/lvoTop4TmoLw+Li4uIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjUwCisjOiBidWlsdGluL2NvbW1pdC5jOjUxCiBtc2dpZCAiIgogIllvdSBhc2tlZCB0byBhbWVuZCB0aGUgbW9zdCByZWNlbnQgY29tbWl0LCBidXQgZG9pbmcgc28gd291bGQgbWFrZVxuIgogIml0IGVtcHR5LiBZb3UgY2FuIHJlcGVhdCB5b3VyIGNvbW1hbmQgd2l0aCAtLWFsbG93LWVtcHR5LCBvciB5b3UgY2FuXG4iCkBAIC05NDkwLDcgKzExODE4LDcgQEAKICLmgqjopoHkv67ooaXmnIDov5HnmoTmj5DkuqTvvIzkvYbov5nkuYjlgZrkvJrorqnlroPmiJDkuLrnqbrmj5DkuqTjgILmgqjlj6/ku6Xph43lpI3mgqjnmoTlkb3ku6TlubbluKbkuIpcbiIKICItLWFsbG93LWVtcHR5IOmAiemhue+8jOaIluiAheaCqOWPr+eUqOWRveS7pCBcImdpdCByZXNldCBIRUFEXlwiIOaVtOS4quWIoOmZpOivpeaPkOS6pOOAglxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU1CisjOiBidWlsdGluL2NvbW1pdC5jOjU2CiBtc2dpZCAiIgogIlRoZSBwcmV2aW91cyBjaGVycnktcGljayBpcyBub3cgZW1wdHksIHBvc3NpYmx5IGR1ZSB0byBjb25mbGljdCByZXNvbHV0aW9uLlxuIgogIklmIHlvdSB3aXNoIHRvIGNvbW1pdCBpdCBhbnl3YXksIHVzZTpcbiIKQEAgLTk1MDQsMTE4ICsxMTgzMiwxMzEgQEAKICIgICAgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5XG4iCiAiXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjIKLW1zZ2lkICJPdGhlcndpc2UsIHBsZWFzZSB1c2UgJ2dpdCByZXNldCdcbiIKLW1zZ3N0ciAi5ZCm5YiZ77yM6K+35L2/55So5ZG95LukICdnaXQgcmVzZXQnXG4iCisjOiBidWlsdGluL2NvbW1pdC5jOjYzCittc2dpZCAiT3RoZXJ3aXNlLCBwbGVhc2UgdXNlICdnaXQgY2hlcnJ5LXBpY2sgLS1za2lwJ1xuIgorbXNnc3RyICLlkKbliJnvvIzor7fkvb/nlKggJ2dpdCBjaGVycnktcGljayAtLXNraXAnXG4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjYKIG1zZ2lkICIiCisiYW5kIHRoZW4gdXNlOlxuIgorIlxuIgorIiAgICBnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVxuIgorIlxuIgorInRvIHJlc3VtZSBjaGVycnktcGlja2luZyB0aGUgcmVtYWluaW5nIGNvbW1pdHMuXG4iCiAiSWYgeW91IHdpc2ggdG8gc2tpcCB0aGlzIGNvbW1pdCwgdXNlOlxuIgogIlxuIgotIiAgICBnaXQgcmVzZXRcbiIKKyIgICAgZ2l0IGNoZXJyeS1waWNrIC0tc2tpcFxuIgogIlxuIgotIlRoZW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHdpbGwgcmVzdW1lIGNoZXJyeS1waWNraW5nXG4iCi0idGhlIHJlbWFpbmluZyBjb21taXRzLlxuIgogbXNnc3RyICIiCi0i5aaC5p6c5oKo5oOz6Lez6L+H6L+Z5Liq5o+Q5Lqk77yM5L2/55So5ZG95Luk77yaXG4iCisi54S25ZCO5L2/55So77yaXG4iCiAiXG4iCi0iICAgIGdpdCByZXNldFxuIgorIiAgICBnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVxuIgogIlxuIgotIueEtuWQjuaJp+ihjCBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIg57un57ut5a+55YW25L2Z5o+Q5Lqk5omn6KGM5ouj6YCJXG4iCi0i5pON5L2c44CCXG4iCisi5p2l57un57ut5ouj6YCJ5Ymp5L2Z5o+Q5Lqk44CC5aaC5p6c5oKo5oOz6Lez6L+H5q2k5o+Q5Lqk77yM5L2/55So77yaXG4iCisiXG4iCisiICAgIGdpdCBjaGVycnktcGljayAtLXNraXBcbiIKKyJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzozMTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzE1CiBtc2dpZCAiZmFpbGVkIHRvIHVucGFjayBIRUFEIHRyZWUgb2JqZWN0IgogbXNnc3RyICLop6PljIUgSEVBRCDmoJHlr7nosaHlpLHotKUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzUyCisjOiBidWlsdGluL2NvbW1pdC5jOjM1MQorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiLS1wYXRoc3BlYy1mcm9tLWZpbGUg5ZKMIC1hIOWcqOS4gOi1t+ayoeacieaEj+S5iSIKKworIzogYnVpbHRpbi9jb21taXQuYzozNjQKK21zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCittc2dzdHIgIuWPguaVsCAtLWluY2x1ZGUvLS1vbmx5IOS4jei3n+i3r+W+hOayoeacieaEj+S5ieOAgiIKKworIzogYnVpbHRpbi9jb21taXQuYzozNzYKIG1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKIG1zZ3N0ciAi5LiN6IO95Yib5bu65Li05pe257Si5byVIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjM1OAorIzogYnVpbHRpbi9jb21taXQuYzozODIKIG1zZ2lkICJpbnRlcmFjdGl2ZSBhZGQgZmFpbGVkIgogbXNnc3RyICLkuqTkupLlvI/mt7vliqDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzcxCisjOiBidWlsdGluL2NvbW1pdC5jOjM5NgogbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgdGVtcG9yYXJ5IGluZGV4IgogbXNnc3RyICLml6Dms5Xmm7TmlrDkuLTml7bntKLlvJUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MzczCisjOiBidWlsdGluL2NvbW1pdC5jOjM5OAogbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgbWFpbiBjYWNoZSB0cmVlIgogbXNnc3RyICLkuI3og73mm7TmlrDmoJHnmoTkuLvnvJPlrZgiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6Mzk4IGJ1aWx0aW4vY29tbWl0LmM6NDIxIGJ1aWx0aW4vY29tbWl0LmM6NDY3CisjOiBidWlsdGluL2NvbW1pdC5jOjQyMyBidWlsdGluL2NvbW1pdC5jOjQ0NiBidWlsdGluL2NvbW1pdC5jOjQ5MgogbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXdfaW5kZXggZmlsZSIKIG1zZ3N0ciAi5peg5rOV5YaZIG5ld19pbmRleCDmlofku7YiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDUwCisjOiBidWlsdGluL2NvbW1pdC5jOjQ3NQogbXNnaWQgImNhbm5vdCBkbyBhIHBhcnRpYWwgY29tbWl0IGR1cmluZyBhIG1lcmdlLiIKIG1zZ3N0ciAi5Zyo5ZCI5bm26L+H56iL5Lit5LiN6IO95YGa6YOo5YiG5o+Q5Lqk44CCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjQ1MgorIzogYnVpbHRpbi9jb21taXQuYzo0NzcKIG1zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCiBtc2dzdHIgIuWcqOaLo+mAiei/h+eoi+S4reS4jeiDveWBmumDqOWIhuaPkOS6pOOAgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo0NjAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDg1CiBtc2dpZCAiY2Fubm90IHJlYWQgdGhlIGluZGV4IgogbXNnc3RyICLml6Dms5Xor7vlj5bntKLlvJUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NDc5CisjOiBidWlsdGluL2NvbW1pdC5jOjUwNAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0ZW1wb3JhcnkgaW5kZXggZmlsZSIKIG1zZ3N0ciAi5peg5rOV5YaZ5Li05pe257Si5byV5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU3NworIzogYnVpbHRpbi9jb21taXQuYzo2MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICclcycgbGFja3MgYXV0aG9yIGhlYWRlciIKIG1zZ3N0ciAi5o+Q5LqkICclcycg57y65bCR5L2c6ICF5L+h5oGvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU3OQorIzogYnVpbHRpbi9jb21taXQuYzo2MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY29tbWl0ICclcycgaGFzIG1hbGZvcm1lZCBhdXRob3IgbGluZSIKIG1zZ3N0ciAi5o+Q5LqkICclcycg5pyJ5qC85byP6ZSZ6K+v55qE5L2c6ICF5L+h5oGvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjU5OAorIzogYnVpbHRpbi9jb21taXQuYzo2MjMKIG1zZ2lkICJtYWxmb3JtZWQgLS1hdXRob3IgcGFyYW1ldGVyIgogbXNnc3RyICLmoLzlvI/plJnor6/nmoQgLS1hdXRob3Ig5Y+C5pWwIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY1MAorIzogYnVpbHRpbi9jb21taXQuYzo2NzYKIG1zZ2lkICIiCiAidW5hYmxlIHRvIHNlbGVjdCBhIGNvbW1lbnQgY2hhcmFjdGVyIHRoYXQgaXMgbm90IHVzZWRcbiIKICJpbiB0aGUgY3VycmVudCBjb21taXQgbWVzc2FnZSIKIG1zZ3N0ciAi5peg5rOV6YCJ5oup5LiA5Liq5pyq6KKr5b2T5YmN5o+Q5Lqk6K+05piO5L2/55So55qE5rOo6YeK5a2X56ymIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY4NyBidWlsdGluL2NvbW1pdC5jOjcyMCBidWlsdGluL2NvbW1pdC5jOjEwNDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NzE0IGJ1aWx0aW4vY29tbWl0LmM6NzQ3IGJ1aWx0aW4vY29tbWl0LmM6MTA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgbG9va3VwIGNvbW1pdCAlcyIKIG1zZ3N0ciAi5LiN6IO95p+l6K+i5o+Q5LqkICVzIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjY5OSBidWlsdGluL3Nob3J0bG9nLmM6MzE3CisjOiBidWlsdGluL2NvbW1pdC5jOjcyNiBidWlsdGluL3Nob3J0bG9nLmM6MzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIihyZWFkaW5nIGxvZyBtZXNzYWdlIGZyb20gc3RhbmRhcmQgaW5wdXQpXG4iCiBtc2dzdHIgIu+8iOato+S7juagh+WHhui+k+WFpeS4reivu+WPluaXpeW/l+S/oeaBr++8iVxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwMQorIzogYnVpbHRpbi9jb21taXQuYzo3MjgKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZnJvbSBzdGFuZGFyZCBpbnB1dCIKIG1zZ3N0ciAi5LiN6IO95LuO5qCH5YeG6L6T5YWl5Lit6K+75Y+W5pel5b+X5L+h5oGvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjcwNQorIzogYnVpbHRpbi9jb21taXQuYzo3MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHJlYWQgbG9nIGZpbGUgJyVzJyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+W5pel5b+X5paH5Lu2ICclcyciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzM0IGJ1aWx0aW4vY29tbWl0LmM6NzQyCisjOiBidWlsdGluL2NvbW1pdC5jOjc2MyBidWlsdGluL2NvbW1pdC5jOjc3OQogbXNnaWQgImNvdWxkIG5vdCByZWFkIFNRVUFTSF9NU0ciCiBtc2dzdHIgIuS4jeiDveivu+WPliBTUVVBU0hfTVNHIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjczOQorIzogYnVpbHRpbi9jb21taXQuYzo3NzAKIG1zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NU0ciCiBtc2dzdHIgIuS4jeiDveivu+WPliBNRVJHRV9NU0ciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6NzkzCisjOiBidWlsdGluL2NvbW1pdC5jOjgzMAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBjb21taXQgdGVtcGxhdGUiCiBtc2dzdHIgIuS4jeiDveWGmeaPkOS6pOaooeeJiCIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTk2MjksNyArMTE5NzAsNyBAQAogIlx0JXNcbiIKICLnhLblkI7ph43or5XjgIJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MTYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTk2NDMsNyArMTE5ODQsNyBAQAogIlx0JXNcbiIKICLnhLblkI7ph43or5XjgIJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MjkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC05NjUyLDcgKzExOTkzLDcgQEAKICLor7fkuLrmgqjnmoTlj5jmm7TovpPlhaXmj5DkuqTor7TmmI7jgILku6UgJyVjJyDlvIDlp4vnmoTooYzlsIbooqvlv73nlaXvvIzogIzkuIDkuKrnqbrnmoTmj5DkuqRcbiIKICLor7TmmI7lsIbkvJrnu4jmraLmj5DkuqTjgIJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzo4MzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJQbGVhc2UgZW50ZXIgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB5b3VyIGNoYW5nZXMuIExpbmVzIHN0YXJ0aW5nXG4iCkBAIC05NjYzLDQwNyArMTIwMDQsMzkxIEBACiAi5Lmf5Y+v5Lul5Yig6Zmk5a6D5Lus44CC5LiA5Liq56m655qE5o+Q5Lqk6K+05piO5bCG5Lya57uI5q2i5o+Q5Lqk44CCXG4iCiAKICMgIOivkeiAhe+8muS4uuS/neivgeWcqOi+k+WHuuS4reWvuem9kO+8jOazqOaEj+iwg+aVtOWPpeS4reepuuagvO+8gQotIzogYnVpbHRpbi9jb21taXQuYzo4NTQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODkyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzQXV0aG9yOiAgICAlLipzIDwlLipzPiIKIG1zZ3N0ciAiJXPkvZzogIXvvJogICUuKnMgPCUuKnM+IgogCiAjICDor5HogIXvvJrkuLrkv53or4HlnKjovpPlh7rkuK3lr7npvZDvvIzms6jmhI/osIPmlbTlj6XkuK3nqbrmoLzvvIEKLSM6IGJ1aWx0aW4vY29tbWl0LmM6ODYyCisjOiBidWlsdGluL2NvbW1pdC5jOjkwMAogIywgYy1mb3JtYXQKIG1zZ2lkICIlc0RhdGU6ICAgICAgJXMiCiBtc2dzdHIgIiVz5pel5pyf77yaICAlcyIKIAogIyAg6K+R6ICF77ya5Li65L+d6K+B5Zyo6L6T5Ye65Lit5a+56b2Q77yM5rOo5oSP6LCD5pW05Y+l5Lit56m65qC877yBCi0jOiBidWlsdGluL2NvbW1pdC5jOjg2OQorIzogYnVpbHRpbi9jb21taXQuYzo5MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXNDb21taXR0ZXI6ICUuKnMgPCUuKnM+IgogbXNnc3RyICIlc+aPkOS6pOiAhe+8miUuKnMgPCUuKnM+IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjg4NworIzogYnVpbHRpbi9jb21taXQuYzo5MjUKIG1zZ2lkICJDYW5ub3QgcmVhZCBpbmRleCIKIG1zZ3N0ciAi5peg5rOV6K+75Y+W57Si5byVIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk1MworIzogYnVpbHRpbi9jb21taXQuYzo5OTIKIG1zZ2lkICJFcnJvciBidWlsZGluZyB0cmVlcyIKIG1zZ3N0ciAi5peg5rOV5Yib5bu65qCR5a+56LGhIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjk2NyBidWlsdGluL3RhZy5jOjI1OAorIzogYnVpbHRpbi9jb21taXQuYzoxMDA2IGJ1aWx0aW4vdGFnLmM6Mjc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlBsZWFzZSBzdXBwbHkgdGhlIG1lc3NhZ2UgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbi5cbiIKIG1zZ3N0ciAi6K+35L2/55SoIC1tIOaIliAtRiDpgInpobnmj5Dkvpvmj5DkuqTor7TmmI7jgIJcbiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMDExCisjOiBidWlsdGluL2NvbW1pdC5jOjEwNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiLS1hdXRob3IgJyVzJyBpcyBub3QgJ05hbWUgPGVtYWlsPicgYW5kIG1hdGNoZXMgbm8gZXhpc3RpbmcgYXV0aG9yIgogbXNnc3RyICItLWF1dGhvciAnJXMnIOS4jeaYryAn5aeT5ZCNIDzpgq7nrrE+JyDmoLzlvI/vvIzkuJTmnKrog73lnKjnjrDmnInkvZzogIXkuK3mib7liLDljLnphY0iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTAyNQorIzogYnVpbHRpbi9jb21taXQuYzoxMDY0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgaWdub3JlZCBtb2RlICclcyciCiBtc2dzdHIgIuaXoOaViOeahOW/veeVpeaooeW8jyAnJXMnIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEwMzkgYnVpbHRpbi9jb21taXQuYzoxMjc2CisjOiBidWlsdGluL2NvbW1pdC5jOjEwODIgYnVpbHRpbi9jb21taXQuYzoxMzIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKIG1zZ3N0ciAi5peg5pWI55qE5pyq6L+96Liq5paH5Lu25Y+C5pWwICclcyciCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTA3NworIzogYnVpbHRpbi9jb21taXQuYzoxMTIyCiBtc2dpZCAiLS1sb25nIGFuZCAteiBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWxvbmcg5ZKMIC16IOmAiemhueS4jeWFvOWuuSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTEwCisjOiBidWlsdGluL2NvbW1pdC5jOjExNjYKIG1zZ2lkICJVc2luZyBib3RoIC0tcmVzZXQtYXV0aG9yIGFuZCAtLWF1dGhvciBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICLlkIzml7bkvb/nlKggLS1yZXNldC1hdXRob3Ig5ZKMIC0tYXV0aG9yIOayoeacieaEj+S5iSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTE5CisjOiBidWlsdGluL2NvbW1pdC5jOjExNzUKIG1zZ2lkICJZb3UgaGF2ZSBub3RoaW5nIHRvIGFtZW5kLiIKIG1zZ3N0ciAi5oKo5rKh5pyJ5Y+v5L+u6KGl55qE5o+Q5Lqk44CCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMjIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE3OAogbXNnaWQgIllvdSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIC0tIGNhbm5vdCBhbWVuZC4iCiBtc2dzdHIgIuaCqOato+WkhOS6juS4gOS4quWQiOW5tui/h+eoi+S4rSAtLSDml6Dms5Xkv67ooaXmj5DkuqTjgIIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyNAorIzogYnVpbHRpbi9jb21taXQuYzoxMTgwCiBtc2dpZCAiWW91IGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgY2hlcnJ5LXBpY2sgLS0gY2Fubm90IGFtZW5kLiIKIG1zZ3N0ciAi5oKo5q2j5aSE5LqO5LiA5Liq5ouj6YCJ6L+H56iL5LitIC0tIOaXoOazleS/ruihpeaPkOS6pOOAgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTI3CisjOiBidWlsdGluL2NvbW1pdC5jOjExODMKIG1zZ2lkICJPcHRpb25zIC0tc3F1YXNoIGFuZCAtLWZpeHVwIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgogbXNnc3RyICLpgInpobkgLS1zcXVhc2gg5ZKMIC0tZml4dXAg5LiN6IO95ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExMzcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE5MwogbXNnaWQgIk9ubHkgb25lIG9mIC1jLy1DLy1GLy0tZml4dXAgY2FuIGJlIHVzZWQuIgogbXNnc3RyICLlj6rog73nlKjkuIDkuKogLWMvLUMvLUYvLS1maXh1cCDpgInpobnjgIIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTEzOQorIzogYnVpbHRpbi9jb21taXQuYzoxMTk1CiBtc2dpZCAiT3B0aW9uIC1tIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC1jLy1DLy1GLiIKIG1zZ3N0ciAi6YCJ6aG5IC1tIOS4jeiDveWSjCAtYy8tQy8tRiDlkIzml7bkvb/nlKjjgIIiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE0NworIzogYnVpbHRpbi9jb21taXQuYzoxMjAzCiBtc2dpZCAiLS1yZXNldC1hdXRob3IgY2FuIGJlIHVzZWQgb25seSB3aXRoIC1DLCAtYyBvciAtLWFtZW5kLiIKIG1zZ3N0ciAiLS1yZXNldC1hdXRob3Ig5Y+q6IO95ZKMIC1D44CBLWMg5oiWIC0tYW1lbmQg5ZCM5pe25L2/55So44CCIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjExNjQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyMAogbXNnaWQgIk9ubHkgb25lIG9mIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIGNhbiBiZSB1c2VkLiIKIG1zZ3N0ciAi5Y+q6IO955So5LiA5LiqIC0taW5jbHVkZS8tLW9ubHkvLS1hbGwvLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIOmAiemhueOAgiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMTY2Ci1tc2dpZCAiTm8gcGF0aHMgd2l0aCAtLWluY2x1ZGUvLS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UuIgotbXNnc3RyICLlj4LmlbAgLS1pbmNsdWRlLy0tb25seSDkuI3ot5/ot6/lvoTmsqHmnInmhI/kuYnjgIIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4MCBidWlsdGluL3RhZy5jOjU0NgorIzogYnVpbHRpbi9jb21taXQuYzoxMjI2CiAjLCBjLWZvcm1hdAotbXNnaWQgIkludmFsaWQgY2xlYW51cCBtb2RlICVzIgotbXNnc3RyICLml6DmlYjnmoTmuIXnkIbmqKHlvI8gJXMiCittc2dpZCAicGF0aHMgJyVzIC4uLicgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICLot6/lvoQgICclcyAuLi4nIOWSjCAtYSDpgInpobnlkIzml7bkvb/nlKjmsqHmnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTE4NQotbXNnaWQgIlBhdGhzIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZS4iCi1tc2dzdHIgIui3r+W+hOWSjCAtYSDpgInpobnlkIzml7bkvb/nlKjmsqHmnInmhI/kuYnjgIIiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxMSBidWlsdGluL2NvbW1pdC5jOjE0OTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM1NyBidWlsdGluL2NvbW1pdC5jOjE1MTkKIG1zZ2lkICJzaG93IHN0YXR1cyBjb25jaXNlbHkiCiBtc2dzdHIgIuS7peeugOa0geeahOagvOW8j+aYvuekuueKtuaAgSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxMzEzIGJ1aWx0aW4vY29tbWl0LmM6MTQ5NworIzogYnVpbHRpbi9jb21taXQuYzoxMzU5IGJ1aWx0aW4vY29tbWl0LmM6MTUyMQogbXNnaWQgInNob3cgYnJhbmNoIGluZm9ybWF0aW9uIgogbXNnc3RyICLmmL7npLrliIbmlK/kv6Hmga8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxNQorIzogYnVpbHRpbi9jb21taXQuYzoxMzYxCiBtc2dpZCAic2hvdyBzdGFzaCBpbmZvcm1hdGlvbiIKIG1zZ3N0ciAi5pi+56S66LSu6JeP5Yy65L+h5oGvIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTcgYnVpbHRpbi9jb21taXQuYzoxNDk5CisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjMgYnVpbHRpbi9jb21taXQuYzoxNTIzCiBtc2dpZCAiY29tcHV0ZSBmdWxsIGFoZWFkL2JlaGluZCB2YWx1ZXMiCiBtc2dzdHIgIuiuoeeul+WujOaVtOeahOmihuWFiC/okL3lkI7lgLwiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMxOQorIzogYnVpbHRpbi9jb21taXQuYzoxMzY1CiBtc2dpZCAidmVyc2lvbiIKIG1zZ3N0ciAi54mI5pysIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMTkgYnVpbHRpbi9jb21taXQuYzoxNTAxIGJ1aWx0aW4vcHVzaC5jOjU1OAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjYzOQorIzogYnVpbHRpbi9jb21taXQuYzoxMzY1IGJ1aWx0aW4vY29tbWl0LmM6MTUyNSBidWlsdGluL3B1c2guYzo1NDkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NTAKIG1zZ2lkICJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIKIG1zZ3N0ciAi5py65Zmo5Y+v6K+755qE6L6T5Ye6IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMjIgYnVpbHRpbi9jb21taXQuYzoxNTAzCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjggYnVpbHRpbi9jb21taXQuYzoxNTI3CiBtc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgogbXNnc3RyICLku6Xplb/moLzlvI/mmL7npLrnirbmgIHvvIjpu5jorqTvvIkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyNSBidWlsdGluL2NvbW1pdC5jOjE1MDYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3MSBidWlsdGluL2NvbW1pdC5jOjE1MzAKIG1zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKIG1zZ3N0ciAi5p2h55uu5LulIE5VTCDlrZfnrKbnu5PlsL4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyNyBidWlsdGluL2NvbW1pdC5jOjEzMzEgYnVpbHRpbi9jb21taXQuYzoxNTA5Ci0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAwNyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxMCBidWlsdGluL3JlYmFzZS5jOjkxMAotIzogYnVpbHRpbi90YWcuYzo0MDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3MyBidWlsdGluL2NvbW1pdC5jOjEzNzcgYnVpbHRpbi9jb21taXQuYzoxNTMzCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1MyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1NgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTkgYnVpbHRpbi9yZWJhc2UuYzoxNTI1IHBhcnNlLW9wdGlvbnMuaDozMzYKIG1zZ2lkICJtb2RlIgogbXNnc3RyICLmqKHlvI8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMyOCBidWlsdGluL2NvbW1pdC5jOjE1MDkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3NCBidWlsdGluL2NvbW1pdC5jOjE1MzMKIG1zZ2lkICJzaG93IHVudHJhY2tlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IGFsbCwgbm9ybWFsLCBuby4gKERlZmF1bHQ6IGFsbCkiCiBtc2dzdHIgIuaYvuekuuacqui3n+i4queahOaWh+S7tu+8jOKAnOaooeW8j+KAneeahOWPr+mAieWPguaVsO+8mmFsbOOAgW5vcm1hbOOAgW5v44CC77yI6buY6K6k77yaYWxs77yJIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3OAogbXNnaWQgIiIKICJzaG93IGlnbm9yZWQgZmlsZXMsIG9wdGlvbmFsIG1vZGVzOiB0cmFkaXRpb25hbCwgbWF0Y2hpbmcsIG5vLiAoRGVmYXVsdDogIgogInRyYWRpdGlvbmFsKSIKIG1zZ3N0ciAiIgogIuaYvuekuuW3suW/veeVpeeahOaWh+S7tu+8jOWPr+mAieaooeW8j++8mnRyYWRpdGlvbmFs44CBbWF0Y2hpbmfjgIFub+OAgu+8iOm7mOiupO+8mnRyYWRpdGlvbmFs77yJIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzQgcGFyc2Utb3B0aW9ucy5oOjE2NAorIzogYnVpbHRpbi9jb21taXQuYzoxMzgwIHBhcnNlLW9wdGlvbnMuaDoxOTIKIG1zZ2lkICJ3aGVuIgogbXNnc3RyICLkvZXml7YiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNQorIzogYnVpbHRpbi9jb21taXQuYzoxMzgxCiBtc2dpZCAiIgogImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgogIihEZWZhdWx0OiBhbGwpIgogbXNnc3RyICIiCiAi5b+955Wl5a2Q5qih57uE55qE5pu05pS577yM4oCc5L2V5pe24oCd55qE5Y+v6YCJ5Y+C5pWw77yaYWxs44CBZGlydHnjgIF1bnRyYWNrZWTjgILvvIjpu5jorqTvvJphbGzvvIkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTMzNworIzogYnVpbHRpbi9jb21taXQuYzoxMzgzCiBtc2dpZCAibGlzdCB1bnRyYWNrZWQgZmlsZXMgaW4gY29sdW1ucyIKIG1zZ3N0ciAi5Lul5YiX55qE5pa55byP5pi+56S65pyq6Lef6Liq55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzMzgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4NAogbXNnaWQgImRvIG5vdCBkZXRlY3QgcmVuYW1lcyIKIG1zZ3N0ciAi5LiN5qOA5rWL6YeN5ZG95ZCNIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjEzNDAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM4NgogbXNnaWQgImRldGVjdCByZW5hbWVzLCBvcHRpb25hbGx5IHNldCBzaW1pbGFyaXR5IGluZGV4IgogbXNnc3RyICLmo4DmtYvph43lkb3lkI3vvIzlj6/ku6Xorr7nva7ntKLlvJXnm7jkvLzluqYiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2MAorIzogYnVpbHRpbi9jb21taXQuYzoxNDA2CiBtc2dpZCAiVW5zdXBwb3J0ZWQgY29tYmluYXRpb24gb2YgaWdub3JlZCBhbmQgdW50cmFja2VkLWZpbGVzIGFyZ3VtZW50cyIKIG1zZ3N0ciAi5LiN5pSv5oyB5bey5b+955Wl5ZKM5pyq6Lef6Liq5paH5Lu25Y+C5pWw55qE57uE5ZCIIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4OQogbXNnaWQgInN1cHByZXNzIHN1bW1hcnkgYWZ0ZXIgc3VjY2Vzc2Z1bCBjb21taXQiCiBtc2dzdHIgIuaPkOS6pOaIkOWKn+WQjuS4jeaYvuekuuamgui/sOS/oeaBryIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY2CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTAKIG1zZ2lkICJzaG93IGRpZmYgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgIuWcqOaPkOS6pOivtOaYjuaooeadv+mHjOaYvuekuuW3ruW8giIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDY4CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTIKIG1zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgogbXNnc3RyICLmj5DkuqTor7TmmI7pgInpobkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ2OSBidWlsdGluL21lcmdlLmM6MjYzIGJ1aWx0aW4vdGFnLmM6Mzk3CisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTMgYnVpbHRpbi9tZXJnZS5jOjI3NCBidWlsdGluL3RhZy5jOjQxNAogbXNnaWQgInJlYWQgbWVzc2FnZSBmcm9tIGZpbGUiCiBtc2dzdHIgIuS7juaWh+S7tuS4reivu+WPluaPkOS6pOivtOaYjiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTQKIG1zZ2lkICJhdXRob3IiCiBtc2dzdHIgIuS9nOiAhSIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDcwCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTQKIG1zZ2lkICJvdmVycmlkZSBhdXRob3IgZm9yIGNvbW1pdCIKIG1zZ3N0ciAi5o+Q5Lqk5pe26KaG55uW5L2c6ICFIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzEgYnVpbHRpbi9nYy5jOjUxOAorIzogYnVpbHRpbi9jb21taXQuYzoxNDk1IGJ1aWx0aW4vZ2MuYzo1MzgKIG1zZ2lkICJkYXRlIgogbXNnc3RyICLml6XmnJ8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MQorIzogYnVpbHRpbi9jb21taXQuYzoxNDk1CiBtc2dpZCAib3ZlcnJpZGUgZGF0ZSBmb3IgY29tbWl0IgogbXNnc3RyICLmj5DkuqTml7bopobnm5bml6XmnJ8iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MiBidWlsdGluL21lcmdlLmM6MjU5IGJ1aWx0aW4vbm90ZXMuYzo0MDkKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NzIgYnVpbHRpbi90YWcuYzozOTUKLW1zZ2lkICJtZXNzYWdlIgotbXNnc3RyICLor7TmmI4iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MgotbXNnaWQgImNvbW1pdCBtZXNzYWdlIgotbXNnc3RyICLmj5DkuqTor7TmmI4iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3MyBidWlsdGluL2NvbW1pdC5jOjE0NzQgYnVpbHRpbi9jb21taXQuYzoxNDc1Ci0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzYgcmVmLWZpbHRlci5oOjkyIHBhcnNlLW9wdGlvbnMuaDoyODAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NyBidWlsdGluL2NvbW1pdC5jOjE0OTggYnVpbHRpbi9jb21taXQuYzoxNDk5CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDAgcGFyc2Utb3B0aW9ucy5oOjMyOCByZWYtZmlsdGVyLmg6OTIKIG1zZ2lkICJjb21taXQiCiBtc2dzdHIgIuaPkOS6pCIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDczCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTcKIG1zZ2lkICJyZXVzZSBhbmQgZWRpdCBtZXNzYWdlIGZyb20gc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAi6YeN55So5bm257yW6L6R5oyH5a6a5o+Q5Lqk55qE5o+Q5Lqk6K+05piOIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzQKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OAogbXNnaWQgInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICLph43nlKjmjIflrprmj5DkuqTnmoTmj5DkuqTor7TmmI4iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NQorIzogYnVpbHRpbi9jb21taXQuYzoxNDk5CiBtc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gZml4dXAgc3BlY2lmaWVkIGNvbW1pdCIKIG1zZ3N0ciAi5L2/55SoIGF1dG9zcXVhc2gg5qC85byP55qE5o+Q5Lqk6K+05piO55So5Lul5L+u5q2j5oyH5a6a55qE5o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzYKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwMAogbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIHNxdWFzaCBzcGVjaWZpZWQgY29tbWl0IgogbXNnc3RyICLkvb/nlKggYXV0b3NxdWFzaCDmoLzlvI/nmoTmj5DkuqTor7TmmI7nlKjku6XljovnvKnoh7PmjIflrprnmoTmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3NworIzogYnVpbHRpbi9jb21taXQuYzoxNTAxCiBtc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKIG1zZ3N0ciAi546w5Zyo5bCG6K+l5o+Q5Lqk55qE5L2c6ICF5pS55Li65oiR77yI5ZKMIC1DLy1jLy0tYW1lbmQg5Y+C5pWw5YWx55So77yJIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0NzggYnVpbHRpbi9sb2cuYzoxNTIwIGJ1aWx0aW4vbWVyZ2UuYzoyNzYKLSM6IGJ1aWx0aW4vcHVsbC5jOjE1NSBidWlsdGluL3JldmVydC5jOjEwNgorIzogYnVpbHRpbi9jb21taXQuYzoxNTAyIGJ1aWx0aW4vbG9nLmM6MTYzNCBidWlsdGluL21lcmdlLmM6Mjg5CisjOiBidWlsdGluL3B1bGwuYzoxNjQgYnVpbHRpbi9yZXZlcnQuYzoxMTAKIG1zZ2lkICJhZGQgU2lnbmVkLW9mZi1ieToiCiBtc2dzdHIgIua3u+WKoCBTaWduZWQtb2ZmLWJ5OiDnrb7lkI0iCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ3OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTAzCiBtc2dpZCAidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIgogbXNnc3RyICLkvb/nlKjmjIflrprnmoTmqKHmnb/mlofku7YiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MAorIzogYnVpbHRpbi9jb21taXQuYzoxNTA0CiBtc2dpZCAiZm9yY2UgZWRpdCBvZiBjb21taXQiCiBtc2dzdHIgIuW8uuWItue8lui+keaPkOS6pCIKIAotIyAg6K+R6ICF77ya5Y+v6YCJ5YC877yM5LiN6IO957+76K+R77yI5oiW5piv5Y6f5paH5Lit56yU6K+v77yM5bqU5Li6IG1vZGXvvIkKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MQotbXNnaWQgImRlZmF1bHQiCi1tc2dzdHIgImRlZmF1bHQiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MSBidWlsdGluL3RhZy5jOjQwMQotbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCi1tc2dzdHIgIuiuvue9ruWmguS9leWIoOmZpOaPkOS6pOivtOaYjumHjOeahOepuuagvOWSjCPms6jph4oiCi0KLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ4MgorIzogYnVpbHRpbi9jb21taXQuYzoxNTA2CiBtc2dpZCAiaW5jbHVkZSBzdGF0dXMgaW4gY29tbWl0IG1lc3NhZ2UgdGVtcGxhdGUiCiBtc2dzdHIgIuWcqOaPkOS6pOivtOaYjuaooeadv+mHjOWMheWQq+eKtuaAgeS/oeaBryIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNDg0IGJ1aWx0aW4vbWVyZ2UuYzoyNzQgYnVpbHRpbi9wdWxsLmM6MTg1Ci0jOiBidWlsdGluL3JldmVydC5jOjExNAotbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKLW1zZ3N0ciAiR1BHIOaPkOS6pOetvuWQjSIKLQotIzogYnVpbHRpbi9jb21taXQuYzoxNDg3CisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTEKIG1zZ2lkICJDb21taXQgY29udGVudHMgb3B0aW9ucyIKIG1zZ3N0ciAi5o+Q5Lqk5YaF5a656YCJ6aG5IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMgogbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKIG1zZ3N0ciAi5o+Q5Lqk5omA5pyJ5pS55Yqo55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0ODkKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMwogbXNnaWQgImFkZCBzcGVjaWZpZWQgZmlsZXMgdG8gaW5kZXggZm9yIGNvbW1pdCIKIG1zZ3N0ciAi5re75Yqg5oyH5a6a55qE5paH5Lu25Yiw57Si5byV5Yy6562J5b6F5o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNAogbXNnaWQgImludGVyYWN0aXZlbHkgYWRkIGZpbGVzIgogbXNnc3RyICLkuqTkupLlvI/mt7vliqDmlofku7YiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MQorIzogYnVpbHRpbi9jb21taXQuYzoxNTE1CiBtc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKIG1zZ3N0ciAi5Lqk5LqS5byP5re75Yqg5Y+Y5pu0IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTIKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNgogbXNnaWQgImNvbW1pdCBvbmx5IHNwZWNpZmllZCBmaWxlcyIKIG1zZ3N0ciAi5Y+q5o+Q5Lqk5oyH5a6a55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE0OTMKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxNwogbXNnaWQgImJ5cGFzcyBwcmUtY29tbWl0IGFuZCBjb21taXQtbXNnIGhvb2tzIgogbXNnc3RyICLnu5Xov4cgcHJlLWNvbW1pdCDlkowgY29tbWl0LW1zZyDpkqnlrZAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NAorIzogYnVpbHRpbi9jb21taXQuYzoxNTE4CiBtc2dpZCAic2hvdyB3aGF0IHdvdWxkIGJlIGNvbW1pdHRlZCIKIG1zZ3N0ciAi5pi+56S65bCG6KaB5o+Q5Lqk55qE5YaF5a65IgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MDcKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzMQogbXNnaWQgImFtZW5kIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAi5L+u5pS55YWI5YmN55qE5o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MDgKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUzMgogbXNnaWQgImJ5cGFzcyBwb3N0LXJld3JpdGUgaG9vayIKIG1zZ3N0ciAi57uV6L+HIHBvc3QtcmV3cml0ZSDpkqnlrZAiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMworIzogYnVpbHRpbi9jb21taXQuYzoxNTM5CiBtc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKIG1zZ3N0ciAi5YWB6K645LiA5Liq56m65o+Q5LqkIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE1MTUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTU0MQogbXNnaWQgIm9rIHRvIHJlY29yZCBhIGNoYW5nZSB3aXRoIGFuIGVtcHR5IG1lc3NhZ2UiCiBtc2dzdHIgIuWFgeiuuOepuueahOaPkOS6pOivtOaYjiIKIAotIzogYnVpbHRpbi9jb21taXQuYzoxNTg4CisjOiBidWlsdGluL2NvbW1pdC5jOjE2MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29ycnVwdCBNRVJHRV9IRUFEIGZpbGUgKCVzKSIKIG1zZ3N0ciAi5o2f5Z2P55qEIE1FUkdFX0hFQUQg5paH5Lu277yIJXPvvIkiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTU5NQorIzogYnVpbHRpbi9jb21taXQuYzoxNjIxCiBtc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTU9ERSIKIG1zZ3N0ciAi5LiN6IO96K+75Y+WIE1FUkdFX01PREUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAorIzogYnVpbHRpbi9jb21taXQuYzoxNjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZWFkIGNvbW1pdCBtZXNzYWdlOiAlcyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+W5o+Q5Lqk6K+05piO77yaJXMiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LmM6MTYyNQorIzogYnVpbHRpbi9jb21taXQuYzoxNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkFib3J0aW5nIGNvbW1pdCBkdWUgdG8gZW1wdHkgY29tbWl0IG1lc3NhZ2UuXG4iCiBtc2dzdHIgIue7iOatouaPkOS6pOWboOS4uuaPkOS6pOivtOaYjuS4uuepuuOAglxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2MzAKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iCiBtc2dzdHIgIue7iOatouaPkOS6pO+8m+aCqOacquabtOaUueadpeiHquaooeeJiOeahOaPkOS6pOivtOaYjuOAglxuIgogCi0jOiBidWlsdGluL2NvbW1pdC5jOjE2NjUKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY4NgogbXNnaWQgIiIKICJyZXBvc2l0b3J5IGhhcyBiZWVuIHVwZGF0ZWQsIGJ1dCB1bmFibGUgdG8gd3JpdGVcbiIKICJuZXdfaW5kZXggZmlsZS4gQ2hlY2sgdGhhdCBkaXNrIGlzIG5vdCBmdWxsIGFuZCBxdW90YSBpc1xuIgotIm5vdCBleGNlZWRlZCwgYW5kIHRoZW4gXCJnaXQgcmVzZXQgSEVBRFwiIHRvIHJlY292ZXIuIgorIm5vdCBleGNlZWRlZCwgYW5kIHRoZW4gXCJnaXQgcmVzdG9yZSAtLXN0YWdlZCA6L1wiIHRvIHJlY292ZXIuIgogbXNnc3RyICIiCi0i5LuT5bqT5bey5pu05paw77yM5L2G5peg5rOV5YaZIG5ld19pbmRleCDmlofku7bjgILmo4Dmn6XmmK/lkKbno4Hnm5jlt7Lmu6FcbiIKLSLmiJbno4Hnm5jphY3pop3lt7LogJflsL3vvIznhLblkI7miafooYwgXCJnaXQgcmVzZXQgSEVBRFwiIOaBouWkjeOAgiIKKyLku5PlupPlt7Lmm7TmlrDvvIzkvYbml6Dms5XlhpkgbmV3X2luZGV4IOaWh+S7tuOAguajgOafpeaYr+WQpuejgeebmOW3sua7oeaIllxuIgorIuejgeebmOmFjemineW3suiAl+Wwve+8jOeEtuWQjuaJp+ihjCBcImdpdCByZXN0b3JlIC0tc3RhZ2VkIDovXCIg5oGi5aSN44CCIgogCi0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwCi1tc2dpZCAiZ2l0IGNvbW1pdC1ncmFwaCBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSIKLW1zZ3N0ciAiZ2l0IGNvbW1pdC1ncmFwaCBbLS1vYmplY3QtZGlyIDzlr7nosaHnm67lvZU+XSIKLQotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjIzCi1tc2dpZCAiZ2l0IGNvbW1pdC1ncmFwaCByZWFkIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgotbXNnc3RyICJnaXQgY29tbWl0LWdyYXBoIHJlYWQgWy0tb2JqZWN0LWRpciA85a+56LGh55uu5b2VPl0iCi0KLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTIgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxOAotbXNnaWQgImdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IFstLW9iamVjdC1kaXIgPG9iamRpcj5dIgotbXNnc3RyICJnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSBbLS1vYmplY3QtZGlyIDzlr7nosaHnm67lvZU+XSIKLQotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMyBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjI4CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExIGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTcKIG1zZ2lkICIiCi0iZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSBbLS1hcHBlbmRdIFstLXJlYWNoYWJsZXwtLSIKLSJzdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIgorImdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IFstLW9iamVjdC1kaXIgPG9iamRpcj5dIFstLXNoYWxsb3ddIFstLVtuby1dcHJvZ3Jlc3NdIgogbXNnc3RyICIiCi0iZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSBbLS1vYmplY3QtZGlyIDzlr7nosaHnm67lvZU+XSBbLS1hcHBlbmRdIFstLXJlYWNoYWJsZXwtLSIKLSJzdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIgorImdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IFstLW9iamVjdC1kaXIgPOWvueixoeebruW9lT5dIFstLXNoYWxsb3ddIFstLSIKKyJbbm8tXXByb2dyZXNzXSIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo0OCBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjc4Ci0jOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEzMiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjE5MCBidWlsdGluL2ZldGNoLmM6MTUzCi0jOiBidWlsdGluL2xvZy5jOjE1NDAKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTIgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoyMgorbXNnaWQgIiIKKyJnaXQgY29tbWl0LWdyYXBoIHdyaXRlIFstLW9iamVjdC1kaXIgPG9iamRpcj5dIFstLWFwcGVuZHwtLXNwbGl0XSBbLS0iCisicmVhY2hhYmxlfC0tc3RkaW4tcGFja3N8LS1zdGRpbi1jb21taXRzXSBbLS1bbm8tXXByb2dyZXNzXSA8c3BsaXQgb3B0aW9ucz4iCittc2dzdHIgIiIKKyJnaXQgY29tbWl0LWdyYXBoIHdyaXRlIFstLW9iamVjdC1kaXIgPOWvueixoeebruW9lT5dIFstLWFwcGVuZHwtLXNwbGl0XSBbLS0iCisicmVhY2hhYmxlfC0tc3RkaW4tcGFja3N8LS1zdGRpbi1jb21taXRzXSBbLS1bbm8tXXByb2dyZXNzXSA8c3BsaXQgb3B0aW9ucz4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NDggYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMDMKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTg3IGJ1aWx0aW4vZmV0Y2guYzoxNzkgYnVpbHRpbi9sb2cuYzoxNjU3CiBtc2dpZCAiZGlyIgogbXNnc3RyICLnm67lvZUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NDkgYnVpbHRpbi9jb21taXQtZ3JhcGguYzo3OQotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzMgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxOTEKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NDkgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMDQKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTg4CiBtc2dpZCAiVGhlIG9iamVjdCBkaXJlY3RvcnkgdG8gc3RvcmUgdGhlIGdyYXBoIgogbXNnc3RyICLkv53lrZjlm77lvaLnmoTlr7nosaHnm67lvZUiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTM1CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjUxCittc2dpZCAiaWYgdGhlIGNvbW1pdC1ncmFwaCBpcyBzcGxpdCwgb25seSB2ZXJpZnkgdGhlIHRpcCBmaWxlIgorbXNnc3RyICLlpoLmnpzmj5DkuqTlm77lvaLooqvmi4bliIbvvIzlj6rpqozor4HlpLTkuIDkuKrmlofku7YiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6NzMgdC9oZWxwZXIvdGVzdC1yZWFkLWdyYXBoLmM6MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gY29tbWl0LWdyYXBoICclcyciCittc2dzdHIgIuaXoOazleaJk+W8gOaPkOS6pOWbvuW9oiAnJXMnIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwNgogbXNnaWQgInN0YXJ0IHdhbGsgYXQgYWxsIHJlZnMiCiBtc2dzdHIgIuW8gOWni+mBjeWOhuaJgOacieW8leeUqCIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzcKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTA4CiBtc2dpZCAic2NhbiBwYWNrLWluZGV4ZXMgbGlzdGVkIGJ5IHN0ZGluIGZvciBjb21taXRzIgogbXNnc3RyICLku47moIflh4bovpPlhaXkuK3nmoTljIXntKLlvJXmlofku7bliJfooajkuK3miavmj4/mj5DkuqQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTM5CisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExMAogbXNnaWQgInN0YXJ0IHdhbGsgYXQgY29tbWl0cyBsaXN0ZWQgYnkgc3RkaW4iCiBtc2dzdHIgIuS7juagh+WHhui+k+WFpeS4reeahOaPkOS6pOW8gOWni+aJq+aPjyIKIAotIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxNDEKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTEyCiBtc2dpZCAiaW5jbHVkZSBhbGwgY29tbWl0cyBhbHJlYWR5IGluIHRoZSBjb21taXQtZ3JhcGggZmlsZSIKIG1zZ3N0ciAi5YyF5ZCrIGNvbW1pdC1ncmFwaCDmlofku7bkuK3lt7LmnInmiYDmnInmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTUwCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExNQorbXNnaWQgImFsbG93IHdyaXRpbmcgYW4gaW5jcmVtZW50YWwgY29tbWl0LWdyYXBoIGZpbGUiCittc2dzdHIgIuWFgeiuuOWGmeS4gOS4quWinumHj+aPkOS6pOWbvuW9ouaWh+S7tiIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMTcgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMjEKK21zZ2lkICJtYXhpbXVtIG51bWJlciBvZiBjb21taXRzIGluIGEgbm9uLWJhc2Ugc3BsaXQgY29tbWl0LWdyYXBoIgorbXNnc3RyICLlnKjpnZ7ln7rmnKzmi4bliIbmj5DkuqTlm77lvaLkuK3nmoTmnIDlpKfmj5DkuqTmlbAiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTE5Cittc2dpZCAibWF4aW11bSByYXRpbyBiZXR3ZWVuIHR3byBsZXZlbHMgb2YgYSBzcGxpdCBjb21taXQtZ3JhcGgiCittc2dzdHIgIuS4gOS4quaLhuWIhuaPkOS6pOWbvuW9oueahOS4pOS4que6p+WIq+S5i+mXtOeahOacgOWkp+avlOeOhyIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzcKIG1zZ2lkICJ1c2UgYXQgbW9zdCBvbmUgb2YgLS1yZWFjaGFibGUsIC0tc3RkaW4tY29tbWl0cywgb3IgLS1zdGRpbi1wYWNrcyIKIG1zZ3N0ciAi5LiN6IO95ZCM5pe25L2/55SoIC0tcmVhY2hhYmxl44CBLS1zdGRpbi1jb21taXRzIOaIliAtLXN0ZGluLXBhY2tzIgogCkBAIC0xMDA3MSw3ICsxMjM5Niw3IEBACiBtc2dpZCAiZ2l0IGNvbmZpZyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGNvbmZpZyBbPOmAiemhuT5dIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjEwMworIzogYnVpbHRpbi9jb25maWcuYzoxMDMgYnVpbHRpbi9lbnYtLWhlbHBlci5jOjIzCiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCAtLXR5cGUgYXJndW1lbnQsICVzIgogbXNnc3RyICLmnKrog73or4bliKvnmoQgLS10eXBlIOWPguaVsO+8jCVzIgpAQCAtMTAxNzYsNyArMTI1MDEsNyBAQAogbXNnaWQgIlR5cGUiCiBtc2dzdHIgIuexu+WeiyIKIAotIzogYnVpbHRpbi9jb25maWcuYzoxNDcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ3IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzozOAogbXNnaWQgInZhbHVlIGlzIGdpdmVuIHRoaXMgdHlwZSIKIG1zZ3N0ciAi5Y+W5YC85Li66K+l57G75Z6LIgogCkBAIC0xMDIyMCw3ICsxMjU0NSw3IEBACiBtc2dpZCAic2hvdyBvcmlnaW4gb2YgY29uZmlnIChmaWxlLCBzdGFuZGFyZCBpbnB1dCwgYmxvYiwgY29tbWFuZCBsaW5lKSIKIG1zZ3N0ciAi5pi+56S66YWN572u55qE5p2l5rqQ77yI5paH5Lu244CB5qCH5YeG6L6T5YWl44CB5pWw5o2u5a+56LGh77yM5oiW5ZG95Luk6KGM77yJIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE1OAorIzogYnVpbHRpbi9jb25maWcuYzoxNTggYnVpbHRpbi9lbnYtLWhlbHBlci5jOjQwCiBtc2dpZCAidmFsdWUiCiBtc2dzdHIgIuWPluWAvCIKIApAQCAtMTAyMjgsNDggKzEyNTUzLDQ4IEBACiBtc2dpZCAid2l0aCAtLWdldCwgdXNlIGRlZmF1bHQgdmFsdWUgd2hlbiBtaXNzaW5nIGVudHJ5IgogbXNnc3RyICLkvb/nlKggLS1nZXQg5Y+C5pWw77yM5b2T57y65bCR6K6+572u5pe25L2/55So6buY6K6k5YC8IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE3MQorIzogYnVpbHRpbi9jb25maWcuYzoxNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cywgc2hvdWxkIGJlICVkIgogbXNnc3RyICLplJnor6/nmoTlj4LmlbDkuKrmlbDvvIzlupTor6XkuLogJWQg5LiqIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjE3MworIzogYnVpbHRpbi9jb25maWcuYzoxNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cywgc2hvdWxkIGJlIGZyb20gJWQgdG8gJWQiCiBtc2dzdHIgIumUmeivr+eahOWPguaVsOS4quaVsO+8jOW6lOivpeS4uuS7jiAlZCDkuKrliLAgJWQg5LiqIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjMwNworIzogYnVpbHRpbi9jb25maWcuYzozMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBrZXkgcGF0dGVybjogJXMiCiBtc2dzdHIgIuaXoOaViOmUruWQjeaooeW8j++8miVzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjM0MworIzogYnVpbHRpbi9jb25maWcuYzozNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGZvcm1hdCBkZWZhdWx0IGNvbmZpZyB2YWx1ZTogJXMiCiBtc2dzdHIgIuagvOW8j+WMlum7mOiupOmFjee9ruWAvOWksei0pe+8miVzIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjQwMAorIzogYnVpbHRpbi9jb25maWcuYzo0MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHBhcnNlIGNvbG9yICclcyciCiBtc2dzdHIgIuaXoOazleino+aekOminOiJsiAnJXMnIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjQ0MgorIzogYnVpbHRpbi9jb25maWcuYzo0NDMKIG1zZ2lkICJ1bmFibGUgdG8gcGFyc2UgZGVmYXVsdCBjb2xvciB2YWx1ZSIKIG1zZ3N0ciAi5peg5rOV6Kej5p6Q6buY6K6k6aKc6Imy5YC8IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjQ5NSBidWlsdGluL2NvbmZpZy5jOjc0MQorIzogYnVpbHRpbi9jb25maWcuYzo0OTYgYnVpbHRpbi9jb25maWcuYzo3NDIKIG1zZ2lkICJub3QgaW4gYSBnaXQgZGlyZWN0b3J5IgogbXNnc3RyICLkuI3lnKggZ2l0IOS7k+W6k+S4rSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo0OTgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDk5CiBtc2dpZCAid3JpdGluZyB0byBzdGRpbiBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICLkuI3mlK/mjIHlhpnliLDmoIflh4bovpPlhaUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NTAxCisjOiBidWlsdGluL2NvbmZpZy5jOjUwMgogbXNnaWQgIndyaXRpbmcgY29uZmlnIGJsb2JzIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIuS4jeaUr+aMgeWGmeWIsOmFjee9ruaVsOaNruWvueixoSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo1ODYKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIjIFRoaXMgaXMgR2l0J3MgcGVyLXVzZXIgY29uZmlndXJhdGlvbiBmaWxlLlxuIgpAQCAtMTAyODQsMjMgKzEyNjA5LDIzIEBACiAiI1x0bmFtZSA9ICVzXG4iCiAiI1x0ZW1haWwgPSAlc1xuIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjYxMAorIzogYnVpbHRpbi9jb25maWcuYzo2MTEKIG1zZ2lkICJvbmx5IG9uZSBjb25maWcgZmlsZSBhdCBhIHRpbWUiCiBtc2dzdHIgIuS4gOasoeWPquiDveacieS4gOS4qumFjee9ruaWh+S7tiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTUKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjE2CiBtc2dpZCAiLS1sb2NhbCBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIGdpdCByZXBvc2l0b3J5IgogbXNnc3RyICItLWxvY2FsIOWPquiDveWcqOS4gOS4quS7k+W6k+WGheS9v+eUqCIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2MTgKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjE5CiBtc2dpZCAiLS1ibG9iIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIi0tYmxvYiDlj6rog73lnKjkuIDkuKrku5PlupPlhoXkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NjM3CisjOiBidWlsdGluL2NvbmZpZy5jOjYzOAogbXNnaWQgIiRIT01FIG5vdCBzZXQiCiBtc2dzdHIgIiRIT01FIOacquiuvue9riIKIAotIzogYnVpbHRpbi9jb25maWcuYzo2NTcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjU4CiBtc2dpZCAiIgogIi0td29ya3RyZWUgY2Fubm90IGJlIHVzZWQgd2l0aCBtdWx0aXBsZSB3b3JraW5nIHRyZWVzIHVubGVzcyB0aGUgY29uZmlnXG4iCiAiZXh0ZW5zaW9uIHdvcmt0cmVlQ29uZmlnIGlzIGVuYWJsZWQuIFBsZWFzZSByZWFkIFwiQ09ORklHVVJBVElPTiBGSUxFXCJcbiIKQEAgLTEwMzA5LDUxICsxMjYzNCw1MSBAQAogIuS4jeiDveWSjOWkmuS4quW3peS9nOWMuuS4gOi1t+S9v+eUqCAtLXdvcmt0cmVl77yM6Zmk6Z2e5ZCv55SoIHdvcmt0cmVlQ29uZmlnIOmFjee9ruaJqeWxleOAglxuIgogIuivpuaDheivt+mYheivu+KAnGdpdCBoZWxwIHdvcmt0cmVl4oCd55qE4oCcQ09ORklHVVJBVElPTiBGSUxF4oCd5bCP6IqCIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY4NworIzogYnVpbHRpbi9jb25maWcuYzo2ODgKIG1zZ2lkICItLWdldC1jb2xvciBhbmQgdmFyaWFibGUgdHlwZSBhcmUgaW5jb2hlcmVudCIKIG1zZ3N0ciAiLS1nZXQtY29sb3Ig5ZKM5Y+Y6YeP57G75Z6L5LiN5YW85a65IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjY5MgorIzogYnVpbHRpbi9jb25maWcuYzo2OTMKIG1zZ2lkICJvbmx5IG9uZSBhY3Rpb24gYXQgYSB0aW1lIgogbXNnc3RyICLkuIDmrKHlj6rog73mnInkuIDkuKrliqjkvZwiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzA1CisjOiBidWlsdGluL2NvbmZpZy5jOjcwNgogbXNnaWQgIi0tbmFtZS1vbmx5IGlzIG9ubHkgYXBwbGljYWJsZSB0byAtLWxpc3Qgb3IgLS1nZXQtcmVnZXhwIgogbXNnc3RyICItLW5hbWUtb25seSDku4XpgILnlKjkuo4gLS1saXN0IOaIliAtLWdldC1yZWdleHAiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzExCisjOiBidWlsdGluL2NvbmZpZy5jOjcxMgogbXNnaWQgIiIKICItLXNob3ctb3JpZ2luIGlzIG9ubHkgYXBwbGljYWJsZSB0byAtLWdldCwgLS1nZXQtYWxsLCAtLWdldC1yZWdleHAsIGFuZCAtLSIKICJsaXN0IgogbXNnc3RyICItLXNob3ctb3JpZ2luIOS7hemAgueUqOS6jiAtLWdldOOAgS0tZ2V0LWFsbOOAgS0tZ2V0LXJlZ2V4cCDlkowgLS1saXN0IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjcxNworIzogYnVpbHRpbi9jb25maWcuYzo3MTgKIG1zZ2lkICItLWRlZmF1bHQgaXMgb25seSBhcHBsaWNhYmxlIHRvIC0tZ2V0IgogbXNnc3RyICItLWRlZmF1bHQg5LuF6YCC55So5LqOIC0tZ2V0IgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjczMAorIzogYnVpbHRpbi9jb25maWcuYzo3MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgY29uZmlnIGZpbGUgJyVzJyIKIG1zZ3N0ciAi5peg5rOV6K+75Y+W6YWN572u5paH5Lu2ICclcyciCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzMzCisjOiBidWlsdGluL2NvbmZpZy5jOjczNAogbXNnaWQgImVycm9yIHByb2Nlc3NpbmcgY29uZmlnIGZpbGUocykiCiBtc2dzdHIgIuWkhOeQhumFjee9ruaWh+S7tuWHuumUmSIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NDMKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzQ0CiBtc2dpZCAiZWRpdGluZyBzdGRpbiBpcyBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICLkuI3mlK/mjIHnvJbovpHmoIflh4bovpPlhaUiCiAKLSM6IGJ1aWx0aW4vY29uZmlnLmM6NzQ1CisjOiBidWlsdGluL2NvbmZpZy5jOjc0NgogbXNnaWQgImVkaXRpbmcgYmxvYnMgaXMgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAi5LiN5pSv5oyB57yW6L6R5pWw5o2u5a+56LGhIgogCi0jOiBidWlsdGluL2NvbmZpZy5jOjc1OQorIzogYnVpbHRpbi9jb25maWcuYzo3NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBjb25maWd1cmF0aW9uIGZpbGUgJXMiCiBtc2dzdHIgIuS4jeiDveWIm+W7uumFjee9ruaWh+S7tiAlcyIKIAotIzogYnVpbHRpbi9jb25maWcuYzo3NzIKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzczCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjYW5ub3Qgb3ZlcndyaXRlIG11bHRpcGxlIHZhbHVlcyB3aXRoIGEgc2luZ2xlIHZhbHVlXG4iCkBAIC0xMDM2Miw3ICsxMjY4Nyw3IEBACiAi5peg5rOV55So5LiA5Liq5YC86KaG55uW5aSa5Liq5YC8XG4iCiAiICAgICAgIOS9v+eUqOS4gOS4quato+WImeihqOi+vuW8j+OAgS0tYWRkIOaIliAtLXJlcGxhY2UtYWxsIOadpeS/ruaUuSAlc+OAgiIKIAotIzogYnVpbHRpbi9jb25maWcuYzo4NDYgYnVpbHRpbi9jb25maWcuYzo4NTcKKyM6IGJ1aWx0aW4vY29uZmlnLmM6ODQ3IGJ1aWx0aW4vY29uZmlnLmM6ODU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIHN1Y2ggc2VjdGlvbjogJXMiCiBtc2dzdHIgIuaXoOatpOWwj+iKgu+8miVzIgpAQCAtMTAzOTUsMzcgKzEyNzIwLDM3IEBACiBtc2dpZCAiYW5ub3RhdGVkIgogbXNnc3RyICLpmYTms6jnmoQiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBub3QgYXZhaWxhYmxlIgogbXNnc3RyICLpmYTms6jmoIfnrb4gJXMg5peg5pWIIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImFubm90YXRlZCB0YWcgJXMgaGFzIG5vIGVtYmVkZGVkIG5hbWUiCiBtc2dzdHIgIumZhOazqOagh+etviAlcyDmsqHmnInltYzlhaXlkI3np7AiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyODEKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgaXMgcmVhbGx5ICclcycgaGVyZSIKIG1zZ3N0ciAi5qCH562+ICclcycg55qE56Gu5piv5ZyoICclcyciCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMjIKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzozMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gdGFnIGV4YWN0bHkgbWF0Y2hlcyAnJXMnIgogbXNnc3RyICLmsqHmnInmoIfnrb7lh4bnoa7ljLnphY0gJyVzJyIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjMyNAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjMyNwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBleGFjdCBtYXRjaCBvbiByZWZzIG9yIHRhZ3MsIHNlYXJjaGluZyB0byBkZXNjcmliZVxuIgogbXNnc3RyICLmsqHmnInnsr7noa7ljLnphY3liLDlvJXnlKjmiJbmoIfnrb7vvIznu6fnu63mkJzntKLov5vooYzmj4/ov7BcbiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjM3OAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjM4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJmaW5pc2hlZCBzZWFyY2ggYXQgJXNcbiIKIG1zZ3N0ciAi5a6M5oiQ5pCc57SiICVzXG4iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk5vIGFubm90YXRlZCB0YWdzIGNhbiBkZXNjcmliZSAnJXMnLlxuIgpAQCAtMTA0MzQsNyArMTI3NTksNyBAQAogIuayoeaciemZhOazqOagh+etvuiDveaPj+i/sCAnJXMn44CCXG4iCiAi54S26ICM77yM5a2Y5Zyo5pyq6ZmE5rOo5qCH562+77ya5bCd6K+VIC0tdGFnc+OAgiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwOAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTm8gdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKQEAgLTEwNDQzLDEyICsxMjc2OCwxMiBAQAogIuayoeacieagh+etvuiDveaPj+i/sCAnJXMn44CCXG4iCiAi5bCd6K+VIC0tYWx3YXlz77yM5oiW6ICF5Yib5bu65LiA5Lqb5qCH562+44CCIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDM4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXZlcnNlZCAlbHUgY29tbWl0c1xuIgogbXNnc3RyICLlt7LpgY3ljoYgJWx1IOS4quaPkOS6pFxuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQxCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NDQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJtb3JlIHRoYW4gJWkgdGFncyBmb3VuZDsgbGlzdGVkICVpIG1vc3QgcmVjZW50XG4iCkBAIC0xMDQ1NywxMTggKzEyNzgyLDExOCBAQAogIuWPkeeOsOWkmuS6jiAlaSDkuKrmoIfnrb7vvIzliJflh7rmnIDov5HnmoQgJWkg5LiqXG4iCiAi5ZyoICVzIOaUvuW8g+aQnOe0olxuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTA5CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc2NyaWJlICVzXG4iCiBtc2dzdHIgIuaPj+i/sCAlc1xuIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTEyIGJ1aWx0aW4vbG9nLmM6NTEzCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhIHZhbGlkIG9iamVjdCBuYW1lICVzIgogbXNnc3RyICLkuI3mmK/kuIDkuKrmnInmlYjnmoTlr7nosaHlkI0gJXMiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MjAKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbmVpdGhlciBhIGNvbW1pdCBub3IgYmxvYiIKIG1zZ3N0ciAiJXMg5pei5LiN5piv5o+Q5Lqk5Lmf5LiN5piv5pWw5o2u5a+56LGhIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM0CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM3CiBtc2dpZCAiZmluZCB0aGUgdGFnIHRoYXQgY29tZXMgYWZ0ZXIgdGhlIGNvbW1pdCIKIG1zZ3N0ciAi5a+75om+6K+l5o+Q5Lqk5LmL5ZCO55qE5qCH562+IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM1CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM4CiBtc2dpZCAiZGVidWcgc2VhcmNoIHN0cmF0ZWd5IG9uIHN0ZGVyciIKIG1zZ3N0ciAi5Zyo5qCH5YeG6ZSZ6K+v5LiK6LCD6K+V5pCc57Si562W55WlIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM2CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTM5CiBtc2dpZCAidXNlIGFueSByZWYiCiBtc2dzdHIgIuS9v+eUqOS7u+aEj+W8leeUqCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjUzNworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MAogbXNnaWQgInVzZSBhbnkgdGFnLCBldmVuIHVuYW5ub3RhdGVkIgogbXNnc3RyICLkvb/nlKjku7vmhI/moIfnrb7vvIzljbPkvb/mnKrpmYTluKbms6jph4oiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzgKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDEKIG1zZ2lkICJhbHdheXMgdXNlIGxvbmcgZm9ybWF0IgogbXNnc3RyICLlp4vnu4jkvb/nlKjplb/mj5DkuqTlj7fmoLzlvI8iCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzkKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDIKIG1zZ2lkICJvbmx5IGZvbGxvdyBmaXJzdCBwYXJlbnQiCiBtc2dzdHIgIuWPqui3n+maj+esrOS4gOS4queItuaPkOS6pCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0NQogbXNnaWQgIm9ubHkgb3V0cHV0IGV4YWN0IG1hdGNoZXMiCiBtc2dzdHIgIuWPqui+k+WHuueyvuehruWMuemFjSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0NAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0NwogbXNnaWQgImNvbnNpZGVyIDxuPiBtb3N0IHJlY2VudCB0YWdzIChkZWZhdWx0OiAxMCkiCiBtc2dzdHIgIuiAg+iZkeacgOi/kSA8bj4g5Liq5qCH562+77yI6buY6K6k77yaMTDvvIkiCiAKLSM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDYKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDkKIG1zZ2lkICJvbmx5IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICLlj6rogIPomZHljLnphY0gPOaooeW8jz4g55qE5qCH562+IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ4CisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUxCiBtc2dpZCAiZG8gbm90IGNvbnNpZGVyIHRhZ3MgbWF0Y2hpbmcgPHBhdHRlcm4+IgogbXNnc3RyICLkuI3ogIPomZHljLnphY0gPOaooeW8jz4g55qE5qCH562+IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUwIGJ1aWx0aW4vbmFtZS1yZXYuYzo0MjQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTMgYnVpbHRpbi9uYW1lLXJldi5jOjQ3MwogbXNnaWQgInNob3cgYWJicmV2aWF0ZWQgY29tbWl0IG9iamVjdCBhcyBmYWxsYmFjayIKIG1zZ3N0ciAi5pi+56S6566A5YaZ55qE5o+Q5Lqk5Y+35L2c5Li65ZCO5aSHIgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NTUxIGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTQKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTQgYnVpbHRpbi9kZXNjcmliZS5jOjU1NwogbXNnaWQgIm1hcmsiCiBtc2dzdHIgIuagh+iusCIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1NQogbXNnaWQgImFwcGVuZCA8bWFyaz4gb24gZGlydHkgd29ya2luZyB0cmVlIChkZWZhdWx0OiBcIi1kaXJ0eVwiKSIKIG1zZ3N0ciAi5a+55LqO6ISP5bel5L2c5Yy677yM6L+95YqgIDzmoIforrA+77yI6buY6K6k77yaXCItZGlydHlcIu+8iSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1NQorIzogYnVpbHRpbi9kZXNjcmliZS5jOjU1OAogbXNnaWQgImFwcGVuZCA8bWFyaz4gb24gYnJva2VuIHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItYnJva2VuXCIpIgogbXNnc3RyICLlr7nkuo7mjZ/lnY/nmoTlt6XkvZzljLrvvIzov73liqAgPOagh+iusD7vvIjpu5jorqTvvJpcIi1icm9rZW5cIu+8iSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjU3MworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU3NgogbXNnaWQgIi0tbG9uZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFiYnJldj0wIgogbXNnc3RyICItLWxvbmcg5LiOIC0tYWJicmV2PTAg5LiN5YW85a65IgogCi0jOiBidWlsdGluL2Rlc2NyaWJlLmM6NjAyCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NjA1CiBtc2dpZCAiTm8gbmFtZXMgZm91bmQsIGNhbm5vdCBkZXNjcmliZSBhbnl0aGluZy4iCiBtc2dzdHIgIuayoeacieWPkeeOsOWQjeensO+8jOaXoOazleaPj+i/sOS7u+S9leS4nOilv+OAgiIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjY1MgorIzogYnVpbHRpbi9kZXNjcmliZS5jOjY1NgogbXNnaWQgIi0tZGlydHkgaXMgaW5jb21wYXRpYmxlIHdpdGggY29tbWl0LWlzaGVzIgogbXNnc3RyICItLWRpcnR5IOS4juaPkOS6pOWPt+S4jeWFvOWuuSIKIAotIzogYnVpbHRpbi9kZXNjcmliZS5jOjY1NAorIzogYnVpbHRpbi9kZXNjcmliZS5jOjY1OAogbXNnaWQgIi0tYnJva2VuIGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKIG1zZ3N0ciAiLS1icm9rZW4g5LiO5o+Q5Lqk5Y+35LiN5YW85a65IgogCi0jOiBidWlsdGluL2RpZmYuYzo4MworIzogYnVpbHRpbi9kaWZmLmM6ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJzogbm90IGEgcmVndWxhciBmaWxlIG9yIHN5bWxpbmsiCiBtc2dzdHIgIiclcyfvvJrkuI3mmK/kuIDkuKrmraPop4Tmlofku7bmiJbnrKblj7fpk77mjqUiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjIzNAorIzogYnVpbHRpbi9kaWZmLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb3B0aW9uOiAlcyIKIG1zZ3N0ciAi5peg5pWI6YCJ6aG577yaJXMiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjM2MworIzogYnVpbHRpbi9kaWZmLmM6MzUwCiBtc2dpZCAiTm90IGEgZ2l0IHJlcG9zaXRvcnkiCiBtc2dzdHIgIuS4jeaYr+S4gOS4qiBnaXQg5LuT5bqTIgogCi0jOiBidWlsdGluL2RpZmYuYzo0MDcKKyM6IGJ1aWx0aW4vZGlmZi5jOjM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIG9iamVjdCAnJXMnIGdpdmVuLiIKIG1zZ3N0ciAi5o+Q5L6b5LqG5peg5pWI5a+56LGhICclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQxNgorIzogYnVpbHRpbi9kaWZmLmM6NDAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm1vcmUgdGhhbiB0d28gYmxvYnMgZ2l2ZW46ICclcyciCiBtc2dzdHIgIuaPkOS+m+S6hui2hei/h+S4pOS4quaVsOaNruWvueixoe+8miclcyciCiAKLSM6IGJ1aWx0aW4vZGlmZi5jOjQyMQorIzogYnVpbHRpbi9kaWZmLmM6NDA4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuaGFuZGxlZCBvYmplY3QgJyVzJyBnaXZlbi4iCiBtc2dzdHIgIuaXoOazleWkhOeQhueahOWvueixoSAnJXMn44CCIgpAQCAtMTA2MDUsMzE4ICsxMjkzMCw0MjEgQEAKICLkuI3mlK/mjIHlnKjnm67lvZXmr5TovoPmqKHlvI/vvIgnLWQnIOWSjCAnLS1kaXItZGlmZifvvInkuK3ph4fnlKjnu4TlkIjlt67lvILmoLzlvI/vvIgnLWMnIOWSjCAnLS0iCiAiY2Mn77yJ44CCIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjMzCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgImJvdGggZmlsZXMgbW9kaWZpZWQ6ICclcycgYW5kICclcycuIgogbXNnc3RyICLkuKTkuKrmlofku7bpg73ooqvkv67mlLnvvJonJXMnIOWSjCAnJXMn44CCIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjM1CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjM2CiBtc2dpZCAid29ya2luZyB0cmVlIGZpbGUgaGFzIGJlZW4gbGVmdC4iCiBtc2dzdHIgIuW3peS9nOWMuuaWh+S7tuiiq+eVmeS6huS4i+adpeOAgiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0NgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0ZW1wb3JhcnkgZmlsZXMgZXhpc3QgaW4gJyVzJy4iCiBtc2dzdHIgIuS4tOaXtuaWh+S7tuWtmOWcqOS6jiAnJXMn44CCIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NjQ3CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjQ4CiBtc2dpZCAieW91IG1heSB3YW50IHRvIGNsZWFudXAgb3IgcmVjb3ZlciB0aGVzZS4iCiBtc2dzdHIgIuaCqOWPr+iDveaDs+imgea4heeQhuaIluiAheaBouWkjeWug+S7rOOAgiIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5NgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5NwogbXNnaWQgInVzZSBgZGlmZi5ndWl0b29sYCBpbnN0ZWFkIG9mIGBkaWZmLnRvb2xgIgogbXNnc3RyICLkvb/nlKggYGRpZmYuZ3VpdG9vbGAg5Luj5pu/IGBkaWZmLnRvb2xgIgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6Njk4CisjOiBidWlsdGluL2RpZmZ0b29sLmM6Njk5CiBtc2dpZCAicGVyZm9ybSBhIGZ1bGwtZGlyZWN0b3J5IGRpZmYiCiBtc2dzdHIgIuaJp+ihjOS4gOS4quWFqOebruW9leW3ruW8guavlOi+gyIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMAorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMQogbXNnaWQgImRvIG5vdCBwcm9tcHQgYmVmb3JlIGxhdW5jaGluZyBhIGRpZmYgdG9vbCIKIG1zZ3N0ciAi5ZCv5Yqo5beu5byC5q+U6L6D5bel5YW35LmL5YmN5LiN5o+Q56S6IgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzA1CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA2CiBtc2dpZCAidXNlIHN5bWxpbmtzIGluIGRpci1kaWZmIG1vZGUiCiBtc2dzdHIgIuWcqCBkaXItZGlmZiDmqKHlvI/kuK3kvb/nlKjnrKblj7fpk77mjqUiCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDcKIG1zZ2lkICJ0b29sIgogbXNnc3RyICLlt6XlhbciCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDcKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDgKIG1zZ2lkICJ1c2UgdGhlIHNwZWNpZmllZCBkaWZmIHRvb2wiCiBtc2dzdHIgIuS9v+eUqOaMh+WumueahOW3ruW8guavlOi+g+W3peWFtyIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwOQorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMAogbXNnaWQgInByaW50IGEgbGlzdCBvZiBkaWZmIHRvb2xzIHRoYXQgbWF5IGJlIHVzZWQgd2l0aCBgLS10b29sYCIKIG1zZ3N0ciAi5pi+56S65Y+v5Lul55So5ZyoIGAtLXRvb2xgIOWPguaVsOWQjueahOW3ruW8guW3peWFt+WIl+ihqCIKIAotIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMgorIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMwogbXNnaWQgIiIKICJtYWtlICdnaXQtZGlmZnRvb2wnIGV4aXQgd2hlbiBhbiBpbnZva2VkIGRpZmYgdG9vbCByZXR1cm5zIGEgbm9uIC0gemVybyBleGl0ICIKICJjb2RlIgogbXNnc3RyICLlvZPmiafooYwgZGlmZiDlt6Xlhbfov5Tlm57pnZ7pm7bpgIDlh7rnoIHml7bvvIzkvb8gJ2dpdC1kaWZmdG9vbCcg6YCA5Ye6IgogCi0jOiBidWlsdGluL2RpZmZ0b29sLmM6NzE1CisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzE2CiBtc2dpZCAic3BlY2lmeSBhIGN1c3RvbSBjb21tYW5kIGZvciB2aWV3aW5nIGRpZmZzIgogbXNnc3RyICLmjIflrprkuIDkuKrnlKjkuo7mn6XnnIvlt67lvILnmoToh6rlrprkuYnlkb3ku6QiCiAKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTcKK21zZ2lkICJwYXNzZWQgdG8gYGRpZmZgIgorbXNnc3RyICLkvKDpgJLnu5kgYGRpZmZgIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzMyCittc2dpZCAiZGlmZnRvb2wgcmVxdWlyZXMgd29ya3RyZWUgb3IgLS1uby1pbmRleCIKK21zZ3N0ciAiZGlmZnRvb2wg6KaB5rGC5bel5L2c5Yy65oiW6ICFIC0tbm8taW5kZXgiCisKICM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MzkKK21zZ2lkICItLWRpci1kaWZmIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbm8taW5kZXgiCittc2dzdHIgIi0tZGlyLWRpZmYg5ZKMIC0tbm8taW5kZXgg5LiN5YW85a65IgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzQyCittc2dpZCAiLS1ndWksIC0tdG9vbCBhbmQgLS1leHRjbWQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1ndWnjgIEtLXRvb2wg5ZKMIC0tZXh0Y21kIOS6kuaWpSIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc1MAogbXNnaWQgIm5vIDx0b29sPiBnaXZlbiBmb3IgLS10b29sPTx0b29sPiIKIG1zZ3N0ciAi5rKh5pyJ5Li6IC0tdG9vbD085bel5YW3PiDlj4LmlbDmj5DkvpsgPOW3peWFtz4iCiAKLSM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3NDYKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3NTcKIG1zZ2lkICJubyA8Y21kPiBnaXZlbiBmb3IgLS1leHRjbWQ9PGNtZD4iCiBtc2dzdHIgIuayoeacieS4uiAtLWV4dGNtZD085ZG95LukPiDlj4LmlbDmj5DkvpsgPOWRveS7pD4iCiAKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo2Cittc2dpZCAiZ2l0IGVudi0taGVscGVyIC0tdHlwZT1bYm9vbHx1bG9uZ10gPG9wdGlvbnM+IDxlbnYtdmFyPiIKK21zZ3N0ciAiZ2l0IGVudi0taGVscGVyIC0tdHlwZT1bYm9vbHx1bG9uZ10gPOmAiemhuT4gPOeOr+Wig+WPmOmHjz4iCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzozNyBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKK21zZ2lkICJ0eXBlIgorbXNnc3RyICLnsbvlnosiCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo0MQorbXNnaWQgImRlZmF1bHQgZm9yIGdpdF9lbnZfKiguLi4pIHRvIGZhbGwgYmFjayBvbiIKK21zZ3N0ciAiZ2l0X2Vudl8qKC4uLikg55qE6buY6K6k5YC8IgorCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6NDMKK21zZ2lkICJiZSBxdWlldCBvbmx5IHVzZSBnaXRfZW52XyooKSB2YWx1ZSBhcyBleGl0IGNvZGUiCittc2dzdHIgIuWuiemdmeaooeW8j++8jOWPquS9v+eUqCBnaXRfZW52XyooKSDnmoTlgLzkvZzkuLrpgIDlh7rnoIEiCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYC0tZGVmYXVsdCcgZXhwZWN0cyBhIGJvb2xlYW4gdmFsdWUgd2l0aCBgLS10eXBlPWJvb2xgLCBub3QgYCVzYCIKK21zZ3N0ciAi6YCJ6aG5IGAtLWRlZmF1bHQnIOWSjCBgdHlwZT1ib29sYCDmnJ/mnJvkuIDkuKrluIPlsJTlgLzvvIzkuI3mmK8gYCVzYCIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvcHRpb24gYC0tZGVmYXVsdCcgZXhwZWN0cyBhbiB1bnNpZ25lZCBsb25nIHZhbHVlIHdpdGggYC0tdHlwZT11bG9uZ2AsIG5vdCBgIgorIiVzYCIKK21zZ3N0ciAi6YCJ6aG5IGAtLWRlZmF1bHQnIOWSjCBgdHlwZT11bG9uZ2Ag5pyf5pyb5LiA5Liq5peg56ym5Y+36ZW/5pW05Z6L77yM5LiN5pivIGAlc2AiCisKICM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoyOQogbXNnaWQgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3Qtb3B0c10iCiBtc2dzdHIgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3Qtb3B0c10iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDA2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6ODUyCittc2dpZCAiRXJyb3I6IENhbm5vdCBleHBvcnQgbmVzdGVkIHRhZ3MgdW5sZXNzIC0tbWFyay10YWdzIGlzIHNwZWNpZmllZC4iCittc2dzdHIgIumUmeivr++8mumZpOmdnuaMh+WumiAtLW1hcmstdGFnc++8jOWQpuWImeaXoOazleWvvOWHuuW1jOWll+agh+etvuOAgiIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTIKIG1zZ2lkICJzaG93IHByb2dyZXNzIGFmdGVyIDxuPiBvYmplY3RzIgogbXNnc3RyICLlnKggPG4+IOS4quWvueixoeS5i+WQjuaYvuekuui/m+W6piIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMDgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTU0CiBtc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIHNpZ25lZCB0YWdzIgogbXNnc3RyICLpgInmi6nlpoLkvZXlpITnkIbnrb7lkI3moIfnrb4iCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDExCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1NwogbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiB0YWdzIHRoYXQgdGFnIGZpbHRlcmVkIG9iamVjdHMiCiBtc2dzdHIgIumAieaLqeW9k+agh+etvuaMh+WQkeiiq+i/h+a7pOWvueixoeaXtuivpeagh+etvueahOWkhOeQhuaWueW8jyIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTQKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTYwCittc2dpZCAic2VsZWN0IGhhbmRsaW5nIG9mIGNvbW1pdCBtZXNzYWdlcyBpbiBhbiBhbHRlcm5hdGUgZW5jb2RpbmciCittc2dzdHIgIumAieaLqeS9v+eUqOWkh+eUqOe8lueggeWkhOeQhuaPkOS6pOivtOaYjiIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjMKIG1zZ2lkICJEdW1wIG1hcmtzIHRvIHRoaXMgZmlsZSIKIG1zZ3N0ciAi5oqK5qCH6K6w5a2Y5YKo5Yiw6L+Z5Liq5paH5Lu2IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAxNgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjUKIG1zZ2lkICJJbXBvcnQgbWFya3MgZnJvbSB0aGlzIGZpbGUiCiBtc2dzdHIgIuS7jui/meS4quaWh+S7tuWvvOWFpeagh+iusCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMTgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY5Cittc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIGlmIGl0IGV4aXN0cyIKK21zZ3N0ciAi5LuO6K+l5paH5Lu25a+85YWl5qCH6K6w77yI5aaC5p6c5a2Y5Zyo55qE6K+d77yJIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3MQogbXNnaWQgIkZha2UgYSB0YWdnZXIgd2hlbiB0YWdzIGxhY2sgb25lIgogbXNnc3RyICLlvZPmoIfnrb7nvLrlsJHmoIforrDogIXlrZfmrrXml7bvvIzlgYfoo4Xmj5DkvpvkuIDkuKoiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDIwCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3MwogbXNnaWQgIk91dHB1dCBmdWxsIHRyZWUgZm9yIGVhY2ggY29tbWl0IgogbXNnc3RyICLmr4/mrKHmj5DkuqTpg73ovpPlh7rmlbTkuKrmoJEiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDIyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3NQogbXNnaWQgIlVzZSB0aGUgZG9uZSBmZWF0dXJlIHRvIHRlcm1pbmF0ZSB0aGUgc3RyZWFtIgogbXNnc3RyICLkvb/nlKggZG9uZSDlip/og73mnaXnu4jmraLmtYEiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDIzCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3NgogbXNnaWQgIlNraXAgb3V0cHV0IG9mIGJsb2IgZGF0YSIKIG1zZ3N0ciAi6Lez6L+H5pWw5o2u5a+56LGh55qE6L6T5Ye6IgogCi0jOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTAyNCBidWlsdGluL2xvZy5jOjE1ODgKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTc3IGJ1aWx0aW4vbG9nLmM6MTcwNQogbXNnaWQgInJlZnNwZWMiCiBtc2dzdHIgIuW8leeUqOinhOagvCIKIAotIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjEwMjUKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTc4CiBtc2dpZCAiQXBwbHkgcmVmc3BlYyB0byBleHBvcnRlZCByZWZzIgogbXNnc3RyICLlr7nlr7zlh7rnmoTlvJXnlKjlupTnlKjlvJXnlKjop4TmoLwiCiAKLSM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMDI2CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3OQogbXNnaWQgImFub255bWl6ZSBvdXRwdXQiCiBtc2dzdHIgIuWMv+WQjei+k+WHuiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjI4CisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE4MQorbXNnaWQgIlJlZmVyZW5jZSBwYXJlbnRzIHdoaWNoIGFyZSBub3QgaW4gZmFzdC1leHBvcnQgc3RyZWFtIGJ5IG9iamVjdCBpZCIKK21zZ3N0ciAi5byV55So54i25a+56LGhIElEIOS4jeWcqCBmYXN0LWV4cG9ydCDmtYHkuK0iCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTgzCittc2dpZCAiU2hvdyBvcmlnaW5hbCBvYmplY3QgaWRzIG9mIGJsb2JzL2NvbW1pdHMiCittc2dzdHIgIuaYvuekuuaVsOaNruWvueixoS/mj5DkuqTnmoTljp/lp4vlr7nosaEgSUQiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTg1Cittc2dpZCAiTGFiZWwgdGFncyB3aXRoIG1hcmsgaWRzIgorbXNnc3RyICLlr7nluKbmnInmoIforrAgSUQg55qE5qCH562+5YGa5qCH6K6wIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTIyMAorbXNnaWQgIkNhbm5vdCBwYXNzIGJvdGggLS1pbXBvcnQtbWFya3MgYW5kIC0taW1wb3J0LW1hcmtzLWlmLWV4aXN0cyIKK21zZ3N0ciAi5LiN6IO95ZCM5pe25Lyg6YCS5Y+C5pWwIC0taW1wb3J0LW1hcmtzIOWSjCAtLWltcG9ydC1tYXJrcy1pZi1leGlzdHMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNAogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIFs86YCJ6aG5Pl0gWzzku5PlupM+IFs85byV55So6KeE5qC8Pi4uLl1dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MjkKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNQogbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSA8Z3JvdXA+IgogbXNnc3RyICJnaXQgZmV0Y2ggWzzpgInpobk+XSA857uEPiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMwCisjOiBidWlsdGluL2ZldGNoLmM6MzYKIG1zZ2lkICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPG9wdGlvbnM+XSBbKDxyZXBvc2l0b3J5PiB8IDxncm91cD4pLi4uXSIKIG1zZ3N0ciAiZ2l0IGZldGNoIC0tbXVsdGlwbGUgWzzpgInpobk+XSBbKDzku5PlupM+IHwgPOe7hD4pLi4uXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjMxCisjOiBidWlsdGluL2ZldGNoLmM6MzcKIG1zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCiBtc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPOmAiemhuT5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE1IGJ1aWx0aW4vcHVsbC5jOjE5NAorIzogYnVpbHRpbi9mZXRjaC5jOjExNgorbXNnaWQgImZldGNoLnBhcmFsbGVsIGNhbm5vdCBiZSBuZWdhdGl2ZSIKK21zZ3N0ciAiZmV0Y2gucGFyYWxsZWwg5LiN6IO95Li66LSf5pWwIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTM5IGJ1aWx0aW4vcHVsbC5jOjIwNAogbXNnaWQgImZldGNoIGZyb20gYWxsIHJlbW90ZXMiCiBtc2dzdHIgIuS7juaJgOacieeahOi/nOeoi+aKk+WPliIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExNyBidWlsdGluL3B1bGwuYzoxOTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDEgYnVpbHRpbi9wdWxsLmM6MjQ4Cittc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9mZXRjaCIKK21zZ3N0ciAi5Li6IGdpdCBwdWxsL2ZldGNoIOiuvue9ruS4iua4uCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MyBidWlsdGluL3B1bGwuYzoyMDcKIG1zZ2lkICJhcHBlbmQgdG8gLmdpdC9GRVRDSF9IRUFEIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmciCiBtc2dzdHIgIui/veWKoOWIsCAuZ2l0L0ZFVENIX0hFQUQg6ICM5LiN5piv6KaG55uW5a6DIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTE5IGJ1aWx0aW4vcHVsbC5jOjIwMAorIzogYnVpbHRpbi9mZXRjaC5jOjE0NSBidWlsdGluL3B1bGwuYzoyMTAKIG1zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCiBtc2dzdHIgIuS4iuS8oOWMheWIsOi/nOeoi+eahOi3r+W+hCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMAorIzogYnVpbHRpbi9mZXRjaC5jOjE0NgogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCByZWZlcmVuY2UiCiBtc2dzdHIgIuW8uuWItuimhuebluacrOWcsOW8leeUqCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEyMgorIzogYnVpbHRpbi9mZXRjaC5jOjE0OAogbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKIG1zZ3N0ciAi5LuO5aSa5Liq6L+c56iL5oqT5Y+WIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI0IGJ1aWx0aW4vcHVsbC5jOjIwNAorIzogYnVpbHRpbi9mZXRjaC5jOjE1MCBidWlsdGluL3B1bGwuYzoyMTQKIG1zZ2lkICJmZXRjaCBhbGwgdGFncyBhbmQgYXNzb2NpYXRlZCBvYmplY3RzIgogbXNnc3RyICLmipPlj5bmiYDmnInnmoTmoIfnrb7lkozlhbPogZTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMjYKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTIKIG1zZ2lkICJkbyBub3QgZmV0Y2ggYWxsIHRhZ3MgKC0tbm8tdGFncykiCiBtc2dzdHIgIuS4jeaKk+WPluS7u+S9leagh+etvigtLW5vLXRhZ3MpIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTI4CisjOiBidWlsdGluL2ZldGNoLmM6MTU0CiBtc2dpZCAibnVtYmVyIG9mIHN1Ym1vZHVsZXMgZmV0Y2hlZCBpbiBwYXJhbGxlbCIKIG1zZ3N0ciAi5a2Q5qih57uE6I635Y+W55qE5bm25Y+R5pWwIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMwIGJ1aWx0aW4vcHVsbC5jOjIwNworIzogYnVpbHRpbi9mZXRjaC5jOjE1NiBidWlsdGluL3B1bGwuYzoyMTcKIG1zZ2lkICJwcnVuZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoZXMgbm8gbG9uZ2VyIG9uIHJlbW90ZSIKIG1zZ3N0ciAi5riF6Zmk6L+c56iL5bey57uP5LiN5a2Y5Zyo55qE5YiG5pSv55qE6Lef6Liq5YiG5pSvIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTMyCisjOiBidWlsdGluL2ZldGNoLmM6MTU4CiBtc2dpZCAicHJ1bmUgbG9jYWwgdGFncyBubyBsb25nZXIgb24gcmVtb3RlIGFuZCBjbG9iYmVyIGNoYW5nZWQgdGFncyIKIG1zZ3N0ciAi5riF6Zmk6L+c56iL5LiN5a2Y5Zyo55qE5pys5Zyw5qCH562+77yM5bm25LiU5pu/5o2i5Y+Y5pu05qCH562+IgogCiAjICDor5HogIXvvJrlj6/pgInlgLzvvIzkuI3og73nv7vor5EKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMzMgYnVpbHRpbi9mZXRjaC5jOjE1NiBidWlsdGluL3B1bGwuYzoxMzIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTkgYnVpbHRpbi9mZXRjaC5jOjE4MiBidWlsdGluL3B1bGwuYzoxNDEKIG1zZ2lkICJvbi1kZW1hbmQiCiBtc2dzdHIgIm9uLWRlbWFuZCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzNAorIzogYnVpbHRpbi9mZXRjaC5jOjE2MAogbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIuaOp+WItuWtkOaooee7hOeahOmAkuW9kuaKk+WPliIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEzOCBidWlsdGluL3B1bGwuYzoyMTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjQgYnVpbHRpbi9wdWxsLmM6MjI1CiBtc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCiBtc2dzdHIgIuS/neaMgeS4i+i9veWMhSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE0MAorIzogYnVpbHRpbi9mZXRjaC5jOjE2NgogbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgogbXNnc3RyICLlhYHorrjmm7TmlrAgSEVBRCDlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNDMgYnVpbHRpbi9mZXRjaC5jOjE0OSBidWlsdGluL3B1bGwuYzoyMTgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjkgYnVpbHRpbi9mZXRjaC5jOjE3NSBidWlsdGluL3B1bGwuYzoyMjgKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgogbXNnc3RyICLmt7HljJbmtYXlhYvpmobnmoTljoblj7IiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNDUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzEKIG1zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IHJlcG9zaXRvcnkgYmFzZWQgb24gdGltZSIKIG1zZ3N0ciAi5Z+65LqO5pe26Ze05p2l5rex5YyW5rWF5YWL6ZqG55qE5Y6G5Y+yIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTUxIGJ1aWx0aW4vcHVsbC5jOjIyMQorIzogYnVpbHRpbi9mZXRjaC5jOjE3NyBidWlsdGluL3B1bGwuYzoyMzEKIG1zZ2lkICJjb252ZXJ0IHRvIGEgY29tcGxldGUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi6L2s5o2i5Li65LiA5Liq5a6M5pW055qE5LuT5bqTIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU0CisjOiBidWlsdGluL2ZldGNoLmM6MTgwCiBtc2dpZCAicHJlcGVuZCB0aGlzIHRvIHN1Ym1vZHVsZSBwYXRoIG91dHB1dCIKIG1zZ3N0ciAi5Zyo5a2Q5qih57uE6Lev5b6E6L6T5Ye655qE5YmN6Z2i5Yqg5LiK5q2k55uu5b2VIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU3CisjOiBidWlsdGluL2ZldGNoLmM6MTgzCiBtc2dpZCAiIgogImRlZmF1bHQgZm9yIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIChsb3dlciBwcmlvcml0eSB0aGFuIGNvbmZpZyAiCiAiZmlsZXMpIgogbXNnc3RyICLpgJLlvZLojrflj5blrZDmqKHnu4TnmoTnvLrnnIHlgLzvvIjmr5TphY3nva7mlofku7bkvJjlhYjnuqfkvY7vvIkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjEgYnVpbHRpbi9wdWxsLmM6MjI0CisjOiBidWlsdGluL2ZldGNoLmM6MTg3IGJ1aWx0aW4vcHVsbC5jOjIzNAogbXNnaWQgImFjY2VwdCByZWZzIHRoYXQgdXBkYXRlIC5naXQvc2hhbGxvdyIKIG1zZ3N0ciAi5o6l5Y+X5pu05pawIC5naXQvc2hhbGxvdyDnmoTlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjIgYnVpbHRpbi9wdWxsLmM6MjI2CisjOiBidWlsdGluL2ZldGNoLmM6MTg4IGJ1aWx0aW4vcHVsbC5jOjIzNgogbXNnaWQgInJlZm1hcCIKIG1zZ3N0ciAi5byV55So5pig5bCEIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTYzIGJ1aWx0aW4vcHVsbC5jOjIyNworIzogYnVpbHRpbi9mZXRjaC5jOjE4OSBidWlsdGluL3B1bGwuYzoyMzcKIG1zZ2lkICJzcGVjaWZ5IGZldGNoIHJlZm1hcCIKIG1zZ3N0ciAi5oyH5a6a6I635Y+W5pON5L2c55qE5byV55So5pig5bCEIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTY0IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzcgYnVpbHRpbi9wdXNoLmM6NTgyCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE3MgotbXNnaWQgInNlcnZlci1zcGVjaWZpYyIKLW1zZ3N0ciAic2VydmVyLXNwZWNpZmljIgotCi0jOiBidWlsdGluL2ZldGNoLmM6MTY0IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzcgYnVpbHRpbi9wdXNoLmM6NTgyCi0jOiBidWlsdGluL3NlbmQtcGFjay5jOjE3MwotbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKLW1zZ3N0ciAi5Lyg6L6T6YCJ6aG5IgotCi0jOiBidWlsdGluL2ZldGNoLmM6MTcwCisjOiBidWlsdGluL2ZldGNoLmM6MTk2CiBtc2dpZCAicmVwb3J0IHRoYXQgd2UgaGF2ZSBvbmx5IG9iamVjdHMgcmVhY2hhYmxlIGZyb20gdGhpcyBvYmplY3QiCiBtc2dzdHIgIuaKpeWRiuaIkeS7rOWPquaLpeacieS7juivpeWvueixoeW8gOWni+WPr+i+vueahOWvueixoSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjQ3MAorIzogYnVpbHRpbi9mZXRjaC5jOjE5OQorbXNnaWQgInJ1biAnZ2MgLS1hdXRvJyBhZnRlciBmZXRjaGluZyIKK21zZ3N0ciAi6I635Y+W5ZCO5omn6KGMICdnYyAtLWF1dG8nIgorCisjOiBidWlsdGluL2ZldGNoLmM6MjAxIGJ1aWx0aW4vcHVsbC5jOjI0NgorbXNnaWQgImNoZWNrIGZvciBmb3JjZWQtdXBkYXRlcyBvbiBhbGwgdXBkYXRlZCBicmFuY2hlcyIKK21zZ3N0ciAi5Zyo5omA5pyJ5pu05paw5YiG5pSv5LiK5qOA5p+l5by65Yi25pu05pawIgorCisjOiBidWlsdGluL2ZldGNoLmM6MjAzCittc2dpZCAid3JpdGUgdGhlIGNvbW1pdC1ncmFwaCBhZnRlciBmZXRjaGluZyIKK21zZ3N0ciAi5oqT5Y+W5ZCO5YaZ5o+Q5Lqk5Zu+IgorCisjOiBidWlsdGluL2ZldGNoLmM6NTEzCiBtc2dpZCAiQ291bGRuJ3QgZmluZCByZW1vdGUgcmVmIEhFQUQiCiBtc2dzdHIgIuaXoOazleWPkeeOsOi/nOeoiyBIRUFEIOW8leeUqCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjYwOQorIzogYnVpbHRpbi9mZXRjaC5jOjY1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJjb25maWd1cmF0aW9uIGZldGNoLm91dHB1dCBjb250YWlucyBpbnZhbGlkIHZhbHVlICVzIgogbXNnc3RyICLphY3nva7lj5jph48gZmV0Y2gub3V0cHV0IOWMheWQq+aXoOaViOWAvCAlcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcwMgorIzogYnVpbHRpbi9mZXRjaC5jOjc1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgbm90IGZvdW5kIgogbXNnc3RyICLlr7nosaEgJXMg5pyq5Y+R546wIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzA2CisjOiBidWlsdGluL2ZldGNoLmM6NzU1CiBtc2dpZCAiW3VwIHRvIGRhdGVdIgogbXNnc3RyICJb5pyA5pawXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjcxOSBidWlsdGluL2ZldGNoLmM6NzM1IGJ1aWx0aW4vZmV0Y2guYzo4MDcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NjggYnVpbHRpbi9mZXRjaC5jOjc4NCBidWlsdGluL2ZldGNoLmM6ODU2CiBtc2dpZCAiW3JlamVjdGVkXSIKIG1zZ3N0ciAiW+W3suaLkue7nV0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3MjAKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NjkKIG1zZ2lkICJjYW4ndCBmZXRjaCBpbiBjdXJyZW50IGJyYW5jaCIKIG1zZ3N0ciAi5b2T5YmN5YiG5pSv5LiL5LiN6IO95omn6KGM6I635Y+W5pON5L2cIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzMwCisjOiBidWlsdGluL2ZldGNoLmM6Nzc5CiBtc2dpZCAiW3RhZyB1cGRhdGVdIgogbXNnc3RyICJb5qCH562+5pu05pawXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjczMSBidWlsdGluL2ZldGNoLmM6NzcxIGJ1aWx0aW4vZmV0Y2guYzo3ODcKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MDIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3ODAgYnVpbHRpbi9mZXRjaC5jOjgxNyBidWlsdGluL2ZldGNoLmM6ODM5CisjOiBidWlsdGluL2ZldGNoLmM6ODUxCiBtc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYiCiBtc2dzdHIgIuS4jeiDveabtOaWsOacrOWcsOW8leeUqCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjczNQorIzogYnVpbHRpbi9mZXRjaC5jOjc4NAogbXNnaWQgIndvdWxkIGNsb2JiZXIgZXhpc3RpbmcgdGFnIgogbXNnc3RyICLkvJrnoLTlnY/njrDmnInnmoTmoIfnrb4iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo3NTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4MDYKIG1zZ2lkICJbbmV3IHRhZ10iCiBtc2dzdHIgIlvmlrDmoIfnrb5dIgogCi0jOiBidWlsdGluL2ZldGNoLmM6NzYwCisjOiBidWlsdGluL2ZldGNoLmM6ODA5CiBtc2dpZCAiW25ldyBicmFuY2hdIgogbXNnc3RyICJb5paw5YiG5pSvXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjc2MworIzogYnVpbHRpbi9mZXRjaC5jOjgxMgogbXNnaWQgIltuZXcgcmVmXSIKIG1zZ3N0ciAiW+aWsOW8leeUqF0iCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MDIKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTEKIG1zZ2lkICJmb3JjZWQgdXBkYXRlIgogbXNnc3RyICLlvLrliLbmm7TmlrAiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4MDcKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTYKIG1zZ2lkICJub24tZmFzdC1mb3J3YXJkIgogbXNnc3RyICLpnZ7lv6vov5siCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo4NTMKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NzcKK21zZ2lkICIiCisiRmV0Y2ggbm9ybWFsbHkgaW5kaWNhdGVzIHdoaWNoIGJyYW5jaGVzIGhhZCBhIGZvcmNlZCB1cGRhdGUsXG4iCisiYnV0IHRoYXQgY2hlY2sgaGFzIGJlZW4gZGlzYWJsZWQuIFRvIHJlLWVuYWJsZSwgdXNlICctLXNob3ctZm9yY2VkLXVwZGF0ZXMnXG4iCisiZmxhZyBvciBydW4gJ2dpdCBjb25maWcgZmV0Y2guc2hvd0ZvcmNlZFVwZGF0ZXMgdHJ1ZScuIgorbXNnc3RyICIiCisi6I635Y+W5pON5L2c6YCa5bi45pi+56S65ZOq5Lqb5YiG5pSv5Y+R55Sf5LqG5by65Yi25pu05paw77yM5L2G6K+l5qOA5p+l5bey6KKr56aB55So44CCXG4iCisi6KaB6YeN5paw5ZCv55So77yM6K+35L2/55SoICctLXNob3ctZm9yY2VkLXVwZGF0ZXMnIOmAiemhueaIlui/kOihjFxuIgorIidnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzIHRydWUn44CCIgorCisjOiBidWlsdGluL2ZldGNoLmM6ODgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBjaGVjayBmb3JjZWQgdXBkYXRlcy4gWW91IGNhbiB1c2VcbiIKKyInLS1uby1zaG93LWZvcmNlZC11cGRhdGVzJyBvciBydW4gJ2dpdCBjb25maWcgZmV0Y2guc2hvd0ZvcmNlZFVwZGF0ZXMgIgorImZhbHNlJ1xuIgorIiB0byBhdm9pZCB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisi6Iqx5LqGICUuMmYg56eS5p2l5qOA5p+l5by65Yi25pu05paw44CC5oKo5Y+v5Lul5L2/55SoICctLW5vLXNob3ctZm9yY2VkLXVwZGF0ZXMnXG4iCisi5oiW6L+Q6KGMICdnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzIGZhbHNlJyDku6Xpgb/lhY3mraTpobnmo4Dmn6XjgIJcbiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjkxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzXG4iCiBtc2dzdHIgIiVzIOacquWPkemAgeaJgOacieW/hemcgOeahOWvueixoVxuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6ODc0CisjOiBidWlsdGluL2ZldGNoLmM6OTMyCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlamVjdCAlcyBiZWNhdXNlIHNoYWxsb3cgcm9vdHMgYXJlIG5vdCBhbGxvd2VkIHRvIGJlIHVwZGF0ZWQiCiBtc2dzdHIgIuaLkue7nSAlcyDlm6DkuLrmtYXlhYvpmobkuI3lhYHorrjooqvmm7TmlrAiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzo5NjMgYnVpbHRpbi9mZXRjaC5jOjEwODUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE3IGJ1aWx0aW4vZmV0Y2guYzoxMTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZyb20gJS4qc1xuIgogbXNnc3RyICLmnaXoh6ogJS4qc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6OTc0CisjOiBidWlsdGluL2ZldGNoLmM6MTAyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAic29tZSBsb2NhbCByZWZzIGNvdWxkIG5vdCBiZSB1cGRhdGVkOyB0cnkgcnVubmluZ1xuIgpAQCAtMTA5MjYsMTIwICsxMzM1NCwxNTAgQEAKICIgJ2dpdCByZW1vdGUgcHJ1bmUgJXMnIOadpeWIoOmZpOaXp+eahOOAgeacieWGsueqgeeahOWIhuaUryIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiBidWlsdGluL2ZldGNoLmM6MTA1NQorIzogYnVpbHRpbi9mZXRjaC5jOjExMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgKCVzIHdpbGwgYmVjb21lIGRhbmdsaW5nKSIKIG1zZ3N0ciAiICAg77yIJXMg5bCG5oiQ5Li65oKs56m654q25oCB77yJIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMDU2CisjOiBidWlsdGluL2ZldGNoLmM6MTEyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAoJXMgaGFzIGJlY29tZSBkYW5nbGluZykiCiBtc2dzdHIgIiAgIO+8iCVzIOW3suaIkOS4uuaCrOepuueKtuaAge+8iSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwODgKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTU4CiBtc2dpZCAiW2RlbGV0ZWRdIgogbXNnc3RyICJb5bey5Yig6ZmkXSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjEwODkgYnVpbHRpbi9yZW1vdGUuYzoxMDM2CisjOiBidWlsdGluL2ZldGNoLmM6MTE1OSBidWlsdGluL3JlbW90ZS5jOjEwMzUKIG1zZ2lkICIobm9uZSkiCiBtc2dzdHIgIu+8iOaXoO+8iSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjExMTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlZnVzaW5nIHRvIGZldGNoIGludG8gY3VycmVudCBicmFuY2ggJXMgb2Ygbm9uLWJhcmUgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi5ouS57ud6I635Y+W5Yiw6Z2e57qv5LuT5bqT55qE5b2T5YmN5YiG5pSvICVzIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTEzMQorIzogYnVpbHRpbi9mZXRjaC5jOjEyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKIG1zZ3N0ciAi6YCJ6aG5IFwiJXNcIiDnmoTlgLwgXCIlc1wiIOWvueS6jiAlcyDmmK/ml6DmlYjnmoQiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxMTM0CisjOiBidWlsdGluL2ZldGNoLmM6MTIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJPcHRpb24gXCIlc1wiIGlzIGlnbm9yZWQgZm9yICVzXG4iCiBtc2dzdHIgIumAiemhuSBcIiVzXCIg5Li6ICVzIOaJgOW/veeVpVxuIgogCisjOiBidWlsdGluL2ZldGNoLmM6MTQxMgorbXNnaWQgIm11bHRpcGxlIGJyYW5jaGVzIGRldGVjdGVkLCBpbmNvbXBhdGlibGUgd2l0aCAtLXNldC11cHN0cmVhbSIKK21zZ3N0ciAi5qOA5rWL5Yiw5aSa5YiG5pSv77yM5ZKMIC0tc2V0LXVwc3RyZWFtIOS4jeWFvOWuuSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MjcKK21zZ2lkICJub3Qgc2V0dGluZyB1cHN0cmVhbSBmb3IgYSByZW1vdGUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCIKK21zZ3N0ciAi5rKh5pyJ5Li65LiA5Liq6L+c56iL6Lef6Liq5YiG5pSv6K6+572u5LiK5ri4IgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQyOQorbXNnaWQgIm5vdCBzZXR0aW5nIHVwc3RyZWFtIGZvciBhIHJlbW90ZSB0YWciCittc2dzdHIgIuayoeacieS4uuS4gOS4qui/nOeoi+agh+etvuiuvue9ruS4iua4uCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MzEKK21zZ2lkICJ1bmtub3duIGJyYW5jaCB0eXBlIgorbXNnc3RyICLmnKrnn6XnmoTliIbmlK/nsbvlnosiCisKICM6IGJ1aWx0aW4vZmV0Y2guYzoxNDMzCittc2dpZCAiIgorIm5vIHNvdXJjZSBicmFuY2ggZm91bmQuXG4iCisieW91IG5lZWQgdG8gc3BlY2lmeSBleGFjdGx5IG9uZSBicmFuY2ggd2l0aCB0aGUgLS1zZXQtdXBzdHJlYW0gb3B0aW9uLiIKK21zZ3N0ciAiIgorIuacquWPkeeOsOa6kOWIhuaUr+OAglxuIgorIuaCqOmcgOimgeS9v+eUqCAtLXNldC11cHN0cmVhbSDpgInpobnmjIflrprkuIDkuKrliIbmlK/jgIIiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTU5IGJ1aWx0aW4vZmV0Y2guYzoxNjIyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZldGNoaW5nICVzXG4iCiBtc2dzdHIgIuato+WcqOiOt+WPliAlc1xuIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTQzNSBidWlsdGluL3JlbW90ZS5jOjEwMAorIzogYnVpbHRpbi9mZXRjaC5jOjE1NjkgYnVpbHRpbi9mZXRjaC5jOjE2MjQgYnVpbHRpbi9yZW1vdGUuYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgogbXNnc3RyICLkuI3og73ojrflj5YgJXMiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNDgxIGJ1aWx0aW4vZmV0Y2guYzoxNjQ5Ci1tc2dpZCAiIgotIi0tZmlsdGVyIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB0aGUgcmVtb3RlIGNvbmZpZ3VyZWQgaW4gY29yZS5wYXJ0aWFsQ2xvbmUiCi1tc2dzdHIgIuWPquWPr+S7peWwhiAtLWZpbHRlciDnlKjkuo7lnKggY29yZS5wYXJ0aWFsQ2xvbmUg5Lit6YWN572u55qE6L+c56iL5LuT5bqTIgorIzogYnVpbHRpbi9mZXRjaC5jOjE1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGZldGNoICclcycgKGV4aXQgY29kZTogJWQpXG4iCittc2dzdHIgIuaXoOazleiOt+WPliAnJXMn77yI6YCA5Ye656CB77yaJWTvvIlcbiIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1MDQKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjg0CiBtc2dpZCAiIgogIk5vIHJlbW90ZSByZXBvc2l0b3J5IHNwZWNpZmllZC4gIFBsZWFzZSwgc3BlY2lmeSBlaXRoZXIgYSBVUkwgb3IgYVxuIgogInJlbW90ZSBuYW1lIGZyb20gd2hpY2ggbmV3IHJldmlzaW9ucyBzaG91bGQgYmUgZmV0Y2hlZC4iCiBtc2dzdHIgIuacquaMh+Wumui/nOeoi+S7k+W6k+OAguivt+mAmui/h+S4gOS4qiBVUkwg5oiW6L+c56iL5LuT5bqT5ZCN5oyH5a6a77yM55So5Lul6I635Y+W5paw5o+Q5Lqk44CCIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU0MQorIzogYnVpbHRpbi9mZXRjaC5jOjE3MjEKIG1zZ2lkICJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgdGFnIG5hbWUuIgogbXNnc3RyICLmgqjpnIDopoHmjIflrprkuIDkuKrmoIfnrb7lkI3np7DjgIIiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNTkwCisjOiBidWlsdGluL2ZldGNoLmM6MTc3MQogbXNnaWQgIk5lZ2F0aXZlIGRlcHRoIGluIC0tZGVlcGVuIGlzIG5vdCBzdXBwb3J0ZWQiCiBtc2dzdHIgIi0tZGVlcGVuIOS4jeaUr+aMgei0n+aVsOa3seW6piIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE1OTIKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzczCiBtc2dpZCAiLS1kZWVwZW4gYW5kIC0tZGVwdGggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLS1kZWVwZW4g5ZKMIC0tZGVwdGgg5piv5LqS5pal55qEIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU5NworIzogYnVpbHRpbi9mZXRjaC5jOjE3NzgKIG1zZ2lkICItLWRlcHRoIGFuZCAtLXVuc2hhbGxvdyBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIKIG1zZ3N0ciAiLS1kZXB0aCDlkowgLS11bnNoYWxsb3cg5LiN6IO95ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL2ZldGNoLmM6MTU5OQorIzogYnVpbHRpbi9mZXRjaC5jOjE3ODAKIG1zZ2lkICItLXVuc2hhbGxvdyBvbiBhIGNvbXBsZXRlIHJlcG9zaXRvcnkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAi5a+55LqO5LiA5Liq5a6M5pW055qE5LuT5bqT77yM5Y+C5pWwIC0tdW5zaGFsbG93IOayoeacieaEj+S5iSIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MTUKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzk2CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgdGFrZSBhIHJlcG9zaXRvcnkgYXJndW1lbnQiCiBtc2dzdHIgImZldGNoIC0tYWxsIOS4jeiDveW4puS4gOS4quS7k+W6k+WPguaVsCIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MTcKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzk4CiBtc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgbWFrZSBzZW5zZSB3aXRoIHJlZnNwZWNzIgogbXNnc3RyICJmZXRjaCAtLWFsbCDluKblvJXnlKjop4TmoLzmsqHmnInku7vkvZXmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vZmV0Y2guYzoxNjI2CisjOiBidWlsdGluL2ZldGNoLmM6MTgwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlbW90ZSBvciByZW1vdGUgZ3JvdXA6ICVzIgogbXNnc3RyICLmsqHmnInov5nmoLfnmoTov5znqIvmiJbov5znqIvnu4TvvJolcyIKIAotIzogYnVpbHRpbi9mZXRjaC5jOjE2MzMKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODE0CiBtc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICLojrflj5bnu4TlubbmjIflrprlvJXnlKjop4TmoLzmsqHmnInmhI/kuYkiCiAKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODMyCittc2dpZCAiIgorIi0tZmlsdGVyIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB0aGUgcmVtb3RlIGNvbmZpZ3VyZWQgaW4gZXh0ZW5zaW9ucy4iCisicGFydGlhbGNsb25lIgorbXNnc3RyICLlj6rlj6/ku6XlsIYgLS1maWx0ZXIg55So5LqO5ZyoIGV4dGVuc2lvbnMucGFydGlhbENsb25lIOS4remFjee9rueahOi/nOeoi+S7k+W6kyIKKwogIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6MTgKIG1zZ2lkICIiCiAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZXNzYWdlPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKIG1zZ3N0ciAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDzor7TmmI4+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSA85paH5Lu2Pl0iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3MgorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc0CiBtc2dpZCAicG9wdWxhdGUgbG9nIHdpdGggYXQgbW9zdCA8bj4gZW50cmllcyBmcm9tIHNob3J0bG9nIgogbXNnc3RyICLlkJHmj5DkuqTor7TmmI7kuK3mnIDlpJrlpI3liLbmjIflrprmnaHnm67vvIjlkIjlubbogIzmnaXnmoTmj5DkuqTvvInnmoTnroDnn63or7TmmI4iCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NQorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc3CiBtc2dpZCAiYWxpYXMgZm9yIC0tbG9nIChkZXByZWNhdGVkKSIKIG1zZ3N0ciAi5Y+C5pWwIC0tbG9nIOeahOWIq+WQje+8iOW3suW8g+eUqO+8iSIKIAotIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6Njc4CisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2ODAKIG1zZ2lkICJ0ZXh0IgogbXNnc3RyICLmlofmnKwiCiAKLSM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3OQorIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjgxCiBtc2dpZCAidXNlIDx0ZXh0PiBhcyBzdGFydCBvZiBtZXNzYWdlIgogbXNnc3RyICLkvb/nlKggPOaWh+acrD4g5L2c5Li65o+Q5Lqk6K+05piO55qE5byA5aeLIgogCi0jOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2ODAKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY4MgogbXNnaWQgImZpbGUgdG8gcmVhZCBmcm9tIgogbXNnc3RyICLku47mlofku7bkuK3or7vlj5YiCiAKQEAgLTExMDc5LDkxICsxMzUzNywyNzQgQEAKIG1zZ2lkICJzaG93IG9ubHkgPG4+IG1hdGNoZWQgcmVmcyIKIG1zZ3N0ciAi5Y+q5pi+56S6IDxuPiDkuKrljLnphY3nmoTlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzkgYnVpbHRpbi90YWcuYzo0MjQKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzkgYnVpbHRpbi90YWcuYzo0MzkKIG1zZ2lkICJyZXNwZWN0IGZvcm1hdCBjb2xvcnMiCiBtc2dzdHIgIumBteeFp+agvOW8j+S4reeahOminOiJsui+k+WHuiIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0MgogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBwb2ludHMgYXQgdGhlIGdpdmVuIG9iamVjdCIKIG1zZ3N0ciAi5Y+q5omT5Y2w5oyH5ZCR57uZ5a6a5a+56LGh55qE5byV55SoIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ1CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ0CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAi5Y+q5omT5Y2w5bey57uP5ZCI5bm255qE5byV55SoIgogCi0jOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ2CisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjQ1CiBtc2dpZCAicHJpbnQgb25seSByZWZzIHRoYXQgYXJlIG5vdCBtZXJnZWQiCiBtc2dzdHIgIuWPquaJk+WNsOayoeacieWQiOW5tueahOW8leeUqCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NgogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgIuWPquaJk+WNsOWMheWQq+ivpeaPkOS6pOeahOW8leeUqCIKIAotIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0OAorIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NwogbXNnaWQgInByaW50IG9ubHkgcmVmcyB3aGljaCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgIuWPquaJk+WNsOS4jeWMheWQq+ivpeaPkOS6pOeahOW8leeUqCIKIAotIzogYnVpbHRpbi9mc2NrLmM6NTk4Ci1tc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yaWVzIgotbXNnc3RyICLmo4Dmn6Xlr7nosaHnm67lvZXkuK0iCisjOiBidWlsdGluL2ZzY2suYzo2OCBidWlsdGluL2ZzY2suYzoxNDcgYnVpbHRpbi9mc2NrLmM6MTQ4Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAi5pyq55+lIgogCi0jOiBidWlsdGluL2ZzY2suYzo2OTMKKyMuIFRSQU5TTEFUT1JTOiBlLmcuIGVycm9yIGluIHRyZWUgMDFiZmRhOiA8bW9yZSBleHBsYW5hdGlvbj4KKyM6IGJ1aWx0aW4vZnNjay5jOjEwMCBidWlsdGluL2ZzY2suYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgaW4gJXMgJXM6ICVzIgorbXNnc3RyICIlcyAlcyDplJnor6/vvJolcyIKKworIy4gVFJBTlNMQVRPUlM6IGUuZy4gd2FybmluZyBpbiB0cmVlIDAxYmZkYTogPG1vcmUgZXhwbGFuYXRpb24+CisjOiBidWlsdGluL2ZzY2suYzoxMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZyBpbiAlcyAlczogJXMiCittc2dzdHIgIiVzICVzIOitpuWRiu+8miVzIgorCisjOiBidWlsdGluL2ZzY2suYzoxNDMgYnVpbHRpbi9mc2NrLmM6MTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImJyb2tlbiBsaW5rIGZyb20gJTdzICVzIgorbXNnc3RyICLmnaXoh6ogJTdzICVzIOeahOaNn+Wdj+eahOmTvuaOpSIKKworIzogYnVpbHRpbi9mc2NrLmM6MTU1Cittc2dpZCAid3Jvbmcgb2JqZWN0IHR5cGUgaW4gbGluayIKK21zZ3N0ciAi6ZO+5o6l5Lit6ZSZ6K+v55qE5a+56LGh57G75Z6LIgorCisjOiBidWlsdGluL2ZzY2suYzoxNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImJyb2tlbiBsaW5rIGZyb20gJTdzICVzXG4iCisiICAgICAgICAgICAgICB0byAlN3MgJXMiCittc2dzdHIgIiIKKyLmjZ/lnY/nmoTpk77mjqXmnaXoh6rkuo4gJTdzICVzXG4iCisiICAgICAgICAgICAgICDliLAgJTdzICVzIgorCisjOiBidWlsdGluL2ZzY2suYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyAlcyAlcyIKK21zZ3N0ciAi57y65aSxICVzICVzIgorCisjOiBidWlsdGluL2ZzY2suYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgJXMgJXMiCittc2dzdHIgIuS4jeWPr+i+viAlcyAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgImRhbmdsaW5nICVzICVzIgorbXNnc3RyICLmgqznqbogJXMgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjMzOQorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbG9zdC1mb3VuZCIKK21zZ3N0ciAi5LiN6IO95Yib5bu6IGxvc3QtZm91bmQiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjM1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZmluaXNoICclcyciCittc2dzdHIgIuS4jeiDveWujOaIkCAnJXMnIgorCisjOiBidWlsdGluL2ZzY2suYzozNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgJXMiCittc2dzdHIgIuato+WcqOajgOafpSAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSAoJWQgb2JqZWN0cykiCittc2dzdHIgIuato+WcqOajgOafpei/numAmuaAp++8iCVkIOS4quWvueixoe+8iSIKKworIzogYnVpbHRpbi9mc2NrLmM6NDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nICVzICVzIgorbXNnc3RyICLmraPlnKjmo4Dmn6UgJXMgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQyOQorbXNnaWQgImJyb2tlbiBsaW5rcyIKK21zZ3N0ciAi5o2f5Z2P55qE6ZO+5o6lIgorCisjOiBidWlsdGluL2ZzY2suYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicm9vdCAlcyIKK21zZ3N0ciAi5qC5ICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnZ2VkICVzICVzICglcykgaW4gJXMiCittc2dzdHIgIuagh+iusCAlcyAlcyAoJXMpIOS6jiAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgY29ycnVwdCBvciBtaXNzaW5nIgorbXNnc3RyICIlc++8muWvueixoeaNn+Wdj+aIluS4ouWksSIKKworIzogYnVpbHRpbi9mc2NrLmM6NTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHJlZmxvZyBlbnRyeSAlcyIKK21zZ3N0ciAiJXPvvJrml6DmlYjnmoTlvJXnlKjml6Xlv5fmnaHnm64gJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyByZWZsb2cgJXMtPiVzIgorbXNnc3RyICLmraPlnKjmo4Dmn6XlvJXnlKjml6Xlv5cgJXMtPiVzIgorCisjOiBidWlsdGluL2ZzY2suYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgc2hhMSBwb2ludGVyICVzIgorbXNnc3RyICIlc++8muaXoOaViOeahCBzaGExIOaMh+mSiCAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBjb21taXQiCittc2dzdHIgIiVz77ya5LiN5piv5LiA5Liq5o+Q5LqkIgorCisjOiBidWlsdGluL2ZzY2suYzo2MDkKK21zZ2lkICJub3RpY2U6IE5vIGRlZmF1bHQgcmVmZXJlbmNlcyIKK21zZ3N0ciAi5rOo5oSP77ya5peg6buY6K6k5byV55SoIgorCisjOiBidWlsdGluL2ZzY2suYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBjb3JydXB0IG9yIG1pc3Npbmc6ICVzIgorbXNnc3RyICIlc++8muWvueixoeaNn+Wdj+aIluS4ouWkse+8miVzIgorCisjOiBidWlsdGluL2ZzY2suYzo2MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBjb3VsZCBub3QgYmUgcGFyc2VkOiAlcyIKK21zZ3N0ciAiJXPvvJrkuI3og73op6PmnpDlr7nosaHvvJolcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzaGExIGZpbGU6ICVzIgorbXNnc3RyICLlnY/nmoQgc2hhMSDmlofku7bvvJolcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NjcyCittc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yeSIKK21zZ3N0ciAi5q2j5Zyo5qOA5p+l5a+56LGh55uu5b2VIgorCisjOiBidWlsdGluL2ZzY2suYzo2NzUKK21zZ2lkICJDaGVja2luZyBvYmplY3QgZGlyZWN0b3JpZXMiCittc2dzdHIgIuato+WcqOajgOafpeWvueixoeebruW9lSIKKworIzogYnVpbHRpbi9mc2NrLmM6NjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nICVzIGxpbmsiCittc2dzdHIgIuato+WcqOajgOafpSAlcyDpk77mjqUiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY5NSBidWlsdGluL2luZGV4LXBhY2suYzo4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCAlcyIKK21zZ3N0ciAi5peg5pWI55qEICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo3MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcG9pbnRzIHRvIHNvbWV0aGluZyBzdHJhbmdlICglcykiCittc2dzdHIgIiVzIOaMh+WQkeWlh+aAqueahOS4nOilv++8iCVz77yJIgorCisjOiBidWlsdGluL2ZzY2suYzo3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaGVkIEhFQUQgcG9pbnRzIGF0IG5vdGhpbmciCittc2dzdHIgIiVz77ya5YiG56a75aS05oyH6ZKI55qE5oyH5ZCR5LiN5a2Y5ZyoIgorCisjOiBidWlsdGluL2ZzY2suYzo3MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90aWNlOiAlcyBwb2ludHMgdG8gYW4gdW5ib3JuIGJyYW5jaCAoJXMpIgorbXNnc3RyICLms6jmhI/vvJolcyDmjIflkJHkuIDkuKrlsJrmnKror57nlJ/nmoTliIbmlK/vvIglc++8iSIKKworIzogYnVpbHRpbi9mc2NrLmM6NzI0Cittc2dpZCAiQ2hlY2tpbmcgY2FjaGUgdHJlZSIKK21zZ3N0ciAi5q2j5Zyo5qOA5p+l57yT5a2Y5qCRIgorCisjOiBidWlsdGluL2ZzY2suYzo3MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgc2hhMSBwb2ludGVyIGluIGNhY2hlLXRyZWUiCittc2dzdHIgIiVz77yaY2FjaGUtdHJlZSDkuK3ml6DmlYjnmoQgc2hhMSDmjIfpkogiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjczOAorbXNnaWQgIm5vbi10cmVlIGluIGNhY2hlLXRyZWUiCittc2dzdHIgImNhY2hlLXRyZWUg5Lit6Z2e5qCR5a+56LGhIgorCisjOiBidWlsdGluL2ZzY2suYzo3NjkKIG1zZ2lkICJnaXQgZnNjayBbPG9wdGlvbnM+XSBbPG9iamVjdD4uLi5dIgogbXNnc3RyICJnaXQgZnNjayBbPOmAiemhuT5dIFs85a+56LGhPi4uLl0iCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjY5OQorIzogYnVpbHRpbi9mc2NrLmM6Nzc1CiBtc2dpZCAic2hvdyB1bnJlYWNoYWJsZSBvYmplY3RzIgogbXNnc3RyICLmmL7npLrkuI3lj6/ovr7nmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwMAorIzogYnVpbHRpbi9mc2NrLmM6Nzc2CiBtc2dpZCAic2hvdyBkYW5nbGluZyBvYmplY3RzIgogbXNnc3RyICLmmL7npLrmgqznqbrnmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwMQorIzogYnVpbHRpbi9mc2NrLmM6Nzc3CiBtc2dpZCAicmVwb3J0IHRhZ3MiCiBtc2dzdHIgIuaKpeWRiuagh+etviIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzAyCisjOiBidWlsdGluL2ZzY2suYzo3NzgKIG1zZ2lkICJyZXBvcnQgcm9vdCBub2RlcyIKIG1zZ3N0ciAi5oql5ZGK5qC56IqC54K5IgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDMKKyM6IGJ1aWx0aW4vZnNjay5jOjc3OQogbXNnaWQgIm1ha2UgaW5kZXggb2JqZWN0cyBoZWFkIG5vZGVzIgogbXNnc3RyICLlsIbntKLlvJXkuqbkvZzkuLrmo4Dmn6XnmoTlpLToioLngrkiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwNAorIzogYnVpbHRpbi9mc2NrLmM6NzgwCiBtc2dpZCAibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIgogbXNnc3RyICLlsIblvJXnlKjml6Xlv5fkvZzkuLrmo4Dmn6XnmoTlpLToioLngrnvvIjpu5jorqTvvIkiCiAKLSM6IGJ1aWx0aW4vZnNjay5jOjcwNQorIzogYnVpbHRpbi9mc2NrLmM6NzgxCiBtc2dpZCAiYWxzbyBjb25zaWRlciBwYWNrcyBhbmQgYWx0ZXJuYXRlIG9iamVjdHMiCiBtc2dzdHIgIuS5n+iAg+iZkeWMheWSjOWkh+eUqOWvueixoSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzA2CisjOiBidWlsdGluL2ZzY2suYzo3ODIKIG1zZ2lkICJjaGVjayBvbmx5IGNvbm5lY3Rpdml0eSIKIG1zZ3N0ciAi5LuF5qOA5p+l6L+e6YCa5oCnIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDcKKyM6IGJ1aWx0aW4vZnNjay5jOjc4MwogbXNnaWQgImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIKIG1zZ3N0ciAi5ZCv55So5pu05Lil5qC855qE5qOA5p+lIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MDkKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NQogbXNnaWQgIndyaXRlIGRhbmdsaW5nIG9iamVjdHMgaW4gLmdpdC9sb3N0LWZvdW5kIgogbXNnc3RyICLlsIbmgqznqbrlr7nosaHlhpnlhaUgLmdpdC9sb3N0LWZvdW5kIOS4rSIKIAotIzogYnVpbHRpbi9mc2NrLmM6NzEwIGJ1aWx0aW4vcHJ1bmUuYzoxMTAKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NiBidWlsdGluL3BydW5lLmM6MTMyCiBtc2dpZCAic2hvdyBwcm9ncmVzcyIKIG1zZ3N0ciAi5pi+56S66L+b5bqmIgogCi0jOiBidWlsdGluL2ZzY2suYzo3MTEKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NwogbXNnaWQgInNob3cgdmVyYm9zZSBuYW1lcyBmb3IgcmVhY2hhYmxlIG9iamVjdHMiCiBtc2dzdHIgIuaYvuekuuWPr+i+vuWvueixoeeahOivpue7huWQjeensCIKIAotIzogYnVpbHRpbi9mc2NrLmM6Nzc2CisjOiBidWlsdGluL2ZzY2suYzo4NDYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MjI1CiBtc2dpZCAiQ2hlY2tpbmcgb2JqZWN0cyIKLW1zZ3N0ciAi5qOA5p+l5a+56LGh5LitIgorbXNnc3RyICLmraPlnKjmo4Dmn6Xlr7nosaEiCiAKLSM6IGJ1aWx0aW4vZ2MuYzozNAorIzogYnVpbHRpbi9mc2NrLmM6ODc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgbWlzc2luZyIKK21zZ3N0ciAiJXPvvJrlr7nosaHnvLrlpLEiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHBhcmFtZXRlcjogZXhwZWN0ZWQgc2hhMSwgZ290ICclcyciCittc2dzdHIgIuaXoOaViOeahOWPguaVsO+8muacn+acmyBzaGEx77yM5b6X5YiwICclcyciCisKKyM6IGJ1aWx0aW4vZ2MuYzozNQogbXNnaWQgImdpdCBnYyBbPG9wdGlvbnM+XSIKIG1zZ3N0ciAiZ2l0IGdjIFs86YCJ6aG5Pl0iCiAKQEAgLTExMTcyLDE3ICsxMzgxMywyMiBAQAogbXNnaWQgIkZhaWxlZCB0byBmc3RhdCAlczogJXMiCiBtc2dzdHIgIuWvuSAlcyDosIPnlKggZnN0YXQg5aSx6LSl77yaJXMiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0NjEgYnVpbHRpbi9pbml0LWRiLmM6NTUKKyM6IGJ1aWx0aW4vZ2MuYzoxMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICclcycgdmFsdWUgJyVzJyIKK21zZ3N0ciAi5peg5rOV6Kej5p6QICclcycg5YC8ICclcyciCisKKyM6IGJ1aWx0aW4vZ2MuYzo0NzUgYnVpbHRpbi9pbml0LWRiLmM6NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0YXQgJyVzJyIKIG1zZ3N0ciAi5LiN6IO95a+5ICclcycg6LCD55SoIHN0YXQiCiAKLSM6IGJ1aWx0aW4vZ2MuYzo0NzAgYnVpbHRpbi9ub3Rlcy5jOjI0MCBidWlsdGluL3RhZy5jOjUxMAorIzogYnVpbHRpbi9nYy5jOjQ4NCBidWlsdGluL25vdGVzLmM6MjQwIGJ1aWx0aW4vdGFnLmM6NTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWFkICclcyciCiBtc2dzdHIgIuS4jeiDveivu+WPliAnJXMnIgogCi0jOiBidWlsdGluL2djLmM6NDc3CisjOiBidWlsdGluL2djLmM6NDkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJUaGUgbGFzdCBnYyBydW4gcmVwb3J0ZWQgdGhlIGZvbGxvd2luZy4gUGxlYXNlIGNvcnJlY3QgdGhlIHJvb3QgY2F1c2VcbiIKQEAgLTExMTk2LDczICsxMzg0Miw3MyBAQAogIlxuIgogIiVzIgogCi0jOiBidWlsdGluL2djLmM6NTE5CisjOiBidWlsdGluL2djLmM6NTM5CiBtc2dpZCAicHJ1bmUgdW5yZWZlcmVuY2VkIG9iamVjdHMiCiBtc2dzdHIgIua4hemZpOacquW8leeUqOeahOWvueixoSIKIAotIzogYnVpbHRpbi9nYy5jOjUyMQorIzogYnVpbHRpbi9nYy5jOjU0MQogbXNnaWQgImJlIG1vcmUgdGhvcm91Z2ggKGluY3JlYXNlZCBydW50aW1lKSIKIG1zZ3N0ciAi5pu05b275bqV77yI5aKe5Yqg6L+Q6KGM5pe26Ze077yJIgogCi0jOiBidWlsdGluL2djLmM6NTIyCisjOiBidWlsdGluL2djLmM6NTQyCiBtc2dpZCAiZW5hYmxlIGF1dG8tZ2MgbW9kZSIKIG1zZ3N0ciAi5ZCv55So6Ieq5Yqo5Z6D5Zy+5Zue5pS25qih5byPIgogCi0jOiBidWlsdGluL2djLmM6NTI1CisjOiBidWlsdGluL2djLmM6NTQ1CiBtc2dpZCAiZm9yY2UgcnVubmluZyBnYyBldmVuIGlmIHRoZXJlIG1heSBiZSBhbm90aGVyIGdjIHJ1bm5pbmciCiBtc2dzdHIgIuW8uuWItuaJp+ihjCBnYyDljbPkvb/lj6blpJbkuIDkuKogZ2Mg5q2j5Zyo5omn6KGMIgogCi0jOiBidWlsdGluL2djLmM6NTI4CisjOiBidWlsdGluL2djLmM6NTQ4CiBtc2dpZCAicmVwYWNrIGFsbCBvdGhlciBwYWNrcyBleGNlcHQgdGhlIGxhcmdlc3QgcGFjayIKIG1zZ3N0ciAi6Zmk5LqG5pyA5aSn55qE5YyF5LmL5aSW77yM5a+55omA5pyJ5YW25a6D5YyF5paH5Lu26YeN5paw5omT5YyFIgogCi0jOiBidWlsdGluL2djLmM6NTQ1CisjOiBidWlsdGluL2djLmM6NTY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnYy5sb2dleHBpcnkgdmFsdWUgJXMiCiBtc2dzdHIgIuino+aekCBnYy5sb2dleHBpcnkg55qE5YC8ICVzIOWksei0pSIKIAotIzogYnVpbHRpbi9nYy5jOjU1NgorIzogYnVpbHRpbi9nYy5jOjU3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJ1bmUgZXhwaXJ5IHZhbHVlICVzIgogbXNnc3RyICLop6PmnpDmuIXpmaTmnJ/pmZDlgLwgJXMg5aSx6LSlIgogCi0jOiBidWlsdGluL2djLmM6NTc2CisjOiBidWlsdGluL2djLmM6NTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBpbiBiYWNrZ3JvdW5kIGZvciBvcHRpbXVtIHBlcmZvcm1hbmNlLlxuIgogbXNnc3RyICLoh6rliqjlnKjlkI7lj7DmiafooYzku5PlupPmiZPljIXku6XmsYLmnIDkvbPmgKfog73jgIJcbiIKIAotIzogYnVpbHRpbi9nYy5jOjU3OAorIzogYnVpbHRpbi9nYy5jOjU5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCiBtc2dzdHIgIuiHquWKqOaJk+WMheS7k+W6k+S7peaxguacgOS9s+aAp+iDveOAglxuIgogCi0jOiBidWlsdGluL2djLmM6NTc5CisjOiBidWlsdGluL2djLmM6NTk5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNlZSBcImdpdCBoZWxwIGdjXCIgZm9yIG1hbnVhbCBob3VzZWtlZXBpbmcuXG4iCiBtc2dzdHIgIuaJi+W3pee7tOaKpOWPguingSBcImdpdCBoZWxwIGdjXCLjgIJcbiIKIAotIzogYnVpbHRpbi9nYy5jOjYxOQorIzogYnVpbHRpbi9nYy5jOjYzOQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZ2MgaXMgYWxyZWFkeSBydW5uaW5nIG9uIG1hY2hpbmUgJyVzJyBwaWQgJTxQUkl1TUFYPiAodXNlIC0tZm9yY2UgaWYgbm90KSIKIG1zZ3N0ciAiIgogIuW3sue7j+acieS4gOS4qiBnYyDmraPov5DooYzlnKjmnLrlmaggJyVzJyBwaWQgJTxQUkl1TUFYPu+8iOWmguaenOS4jeaYr++8jOS9v+eUqCAtLWZvcmNl77yJIgogCi0jOiBidWlsdGluL2djLmM6NjcwCisjOiBidWlsdGluL2djLmM6Njk0CiBtc2dpZCAiIgogIlRoZXJlIGFyZSB0b28gbWFueSB1bnJlYWNoYWJsZSBsb29zZSBvYmplY3RzOyBydW4gJ2dpdCBwcnVuZScgdG8gcmVtb3ZlIHRoZW0uIgogbXNnc3RyICLmnInlpKrlpJrkuI3lj6/ovr7nmoTmnb7mlaPlr7nosaHvvIzov5DooYwgJ2dpdCBwcnVuZScg5Yig6Zmk5a6D5Lus44CCIgogCi0jOiBidWlsdGluL2dyZXAuYzoyOAorIzogYnVpbHRpbi9ncmVwLmM6MjkKIG1zZ2lkICJnaXQgZ3JlcCBbPG9wdGlvbnM+XSBbLWVdIDxwYXR0ZXJuPiBbPHJldj4uLi5dIFtbLS1dIDxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBncmVwIFs86YCJ6aG5Pl0gWy1lXSA85qih5byPPiBbPOeJiOacrD4uLi5dIFtbLS1dIDzot6/lvoQ+Li4uXSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MjI0CisjOiBidWlsdGluL2dyZXAuYzoyMjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ3JlcDogZmFpbGVkIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICJncmVw77ya5peg5rOV5Yib5bu657q/56iL77yaJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjI3OAorIzogYnVpbHRpbi9ncmVwLmM6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkgZm9yICVzIgogbXNnc3RyICLkuLogJTIkcyDorr7lrprnmoTnur/nqIvmlbAgKCUxJGQpIOaXoOaViCIKQEAgLTExMjcxLDI2MyArMTM5MTcsMjYzIEBACiAjLiB2YXJpYWJsZSBmb3IgdHdlYWtpbmcgdGhyZWFkcywgY3VycmVudGx5CiAjLiBncmVwLnRocmVhZHMKICMuCi0jOiBidWlsdGluL2dyZXAuYzoyODYgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUwNiBidWlsdGluL2luZGV4LXBhY2suYzoxNjk3Ci0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MTkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjI4NyBidWlsdGluL2luZGV4LXBhY2suYzoxNTM0IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyB0aHJlYWRzIHN1cHBvcnQsIGlnbm9yaW5nICVzIgogbXNnc3RyICLmsqHmnInnur/nqIvmlK/mjIHvvIzlv73nlaUgJXMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjQ1OCBidWlsdGluL2dyZXAuYzo1NzkgYnVpbHRpbi9ncmVwLmM6NjIwCisjOiBidWlsdGluL2dyZXAuYzo0NjcgYnVpbHRpbi9ncmVwLmM6NTkyIGJ1aWx0aW4vZ3JlcC5jOjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCB0cmVlICglcykiCiBtc2dzdHIgIuaXoOazleivu+WPluagke+8iCVz77yJIgogCi0jOiBidWlsdGluL2dyZXAuYzo2MzUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjY1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ3JlcCBmcm9tIG9iamVjdCBvZiB0eXBlICVzIgogbXNnc3RyICLml6Dms5XmipPlj5bmnaXoh6rkuo4gJXMg57G75Z6L55qE5a+56LGhIgogCi0jOiBidWlsdGluL2dyZXAuYzo3MDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjcxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJzd2l0Y2ggYCVjJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICLlvIDlhbMgYCVjJyDmnJ/mnJvkuIDkuKrmlbDlrZflgLwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgwMAorIzogYnVpbHRpbi9ncmVwLmM6ODE1CiBtc2dpZCAic2VhcmNoIGluIGluZGV4IGluc3RlYWQgb2YgaW4gdGhlIHdvcmsgdHJlZSIKIG1zZ3N0ciAi5Zyo57Si5byV5Yy65pCc57Si6ICM5LiN5piv5Zyo5bel5L2c5Yy6IgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxNwogbXNnaWQgImZpbmQgaW4gY29udGVudHMgbm90IG1hbmFnZWQgYnkgZ2l0IgogbXNnc3RyICLlnKjmnKrooqsgZ2l0IOeuoeeQhueahOWGheWuueS4reafpeaJviIKIAogIyAg6K+R6ICF77ya5Lit5paH5a2X56ym5Liy5ou85o6l77yM5Y+v5Yig6Zmk5YmN5a+856m65qC8Ci0jOiBidWlsdGluL2dyZXAuYzo4MDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgxOQogbXNnaWQgInNlYXJjaCBpbiBib3RoIHRyYWNrZWQgYW5kIHVudHJhY2tlZCBmaWxlcyIKIG1zZ3N0ciAi5Zyo6Lef6Liq5ZKM5pyq6Lef6Liq55qE5paH5Lu25Lit5pCc57SiIgogCi0jOiBidWlsdGluL2dyZXAuYzo4MDYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyMQogbXNnaWQgImlnbm9yZSBmaWxlcyBzcGVjaWZpZWQgdmlhICcuZ2l0aWdub3JlJyIKIG1zZ3N0ciAi5b+955WlICcuZ2l0aWdub3JlJyDljIXlkKvnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgwOAorIzogYnVpbHRpbi9ncmVwLmM6ODIzCiBtc2dpZCAicmVjdXJzaXZlbHkgc2VhcmNoIGluIGVhY2ggc3VibW9kdWxlIgogbXNnc3RyICLlnKjmr4/kuIDkuKrlrZDmqKHnu4TkuK3pgJLlvZLmkJzntKIiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxMQorIzogYnVpbHRpbi9ncmVwLmM6ODI2CiBtc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgIuaYvuekuuacquWMuemFjeeahOihjCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODEzCisjOiBidWlsdGluL2dyZXAuYzo4MjgKIG1zZ2lkICJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIgogbXNnc3RyICLkuI3ljLrliIblpKflsI/lhpnljLnphY0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxNQorIzogYnVpbHRpbi9ncmVwLmM6ODMwCiBtc2dpZCAibWF0Y2ggcGF0dGVybnMgb25seSBhdCB3b3JkIGJvdW5kYXJpZXMiCiBtc2dzdHIgIuWPquWcqOWNleivjei+ueeVjOWMuemFjeaooeW8jyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODE3CisjOiBidWlsdGluL2dyZXAuYzo4MzIKIG1zZ2lkICJwcm9jZXNzIGJpbmFyeSBmaWxlcyBhcyB0ZXh0IgogbXNnc3RyICLmiorkuozov5vliLbmlofku7blvZPlgZrmlofmnKzlpITnkIYiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgxOQorIzogYnVpbHRpbi9ncmVwLmM6ODM0CiBtc2dpZCAiZG9uJ3QgbWF0Y2ggcGF0dGVybnMgaW4gYmluYXJ5IGZpbGVzIgogbXNnc3RyICLkuI3lnKjkuozov5vliLbmlofku7bkuK3ljLnphY3mqKHlvI8iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgyMgorIzogYnVpbHRpbi9ncmVwLmM6ODM3CiBtc2dpZCAicHJvY2VzcyBiaW5hcnkgZmlsZXMgd2l0aCB0ZXh0Y29udiBmaWx0ZXJzIgogbXNnc3RyICLnlKggdGV4dGNvbnYg6L+H5ruk5Zmo5aSE55CG5LqM6L+b5Yi25paH5Lu2IgogCi0jOiBidWlsdGluL2dyZXAuYzo4MjQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzOQogbXNnaWQgInNlYXJjaCBpbiBzdWJkaXJlY3RvcmllcyAoZGVmYXVsdCkiCiBtc2dzdHIgIuWcqOWtkOebruW9leS4reWvu+aJvu+8iOm7mOiupO+8iSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODI2CisjOiBidWlsdGluL2dyZXAuYzo4NDEKIG1zZ2lkICJkZXNjZW5kIGF0IG1vc3QgPGRlcHRoPiBsZXZlbHMiCiBtc2dzdHIgIuacgOWkmuS7peaMh+WumueahOa3seW6puWQkeS4i+Wvu+aJviIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODMwCisjOiBidWlsdGluL2dyZXAuYzo4NDUKIG1zZ2lkICJ1c2UgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyIKIG1zZ3N0ciAi5L2/55So5omp5bGV55qEIFBPU0lYIOato+WImeihqOi+vuW8jyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODMzCisjOiBidWlsdGluL2dyZXAuYzo4NDgKIG1zZ2lkICJ1c2UgYmFzaWMgUE9TSVggcmVndWxhciBleHByZXNzaW9ucyAoZGVmYXVsdCkiCiBtc2dzdHIgIuS9v+eUqOWfuuacrOeahCBQT1NJWCDmraPliJnooajovr7lvI/vvIjpu5jorqTvvIkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjgzNgorIzogYnVpbHRpbi9ncmVwLmM6ODUxCiBtc2dpZCAiaW50ZXJwcmV0IHBhdHRlcm5zIGFzIGZpeGVkIHN0cmluZ3MiCiBtc2dzdHIgIuaKiuaooeW8j+ino+aekOS4uuWbuuWumueahOWtl+espuS4siIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODM5CisjOiBidWlsdGluL2dyZXAuYzo4NTQKIG1zZ2lkICJ1c2UgUGVybC1jb21wYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCiBtc2dzdHIgIuS9v+eUqCBQZXJsIOWFvOWuueeahOato+WImeihqOi+vuW8jyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQyCisjOiBidWlsdGluL2dyZXAuYzo4NTcKIG1zZ2lkICJzaG93IGxpbmUgbnVtYmVycyIKIG1zZ3N0ciAi5pi+56S66KGM5Y+3IgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1OAogbXNnaWQgInNob3cgY29sdW1uIG51bWJlciBvZiBmaXJzdCBtYXRjaCIKIG1zZ3N0ciAi5pi+56S656ys5LiA5Liq5Yy56YWN55qE5YiX5Y+3IgogCi0jOiBidWlsdGluL2dyZXAuYzo4NDQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1OQogbXNnaWQgImRvbid0IHNob3cgZmlsZW5hbWVzIgogbXNnc3RyICLkuI3mmL7npLrmlofku7blkI0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0NQorIzogYnVpbHRpbi9ncmVwLmM6ODYwCiBtc2dpZCAic2hvdyBmaWxlbmFtZXMiCiBtc2dzdHIgIuaYvuekuuaWh+S7tuWQjSIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODQ3CisjOiBidWlsdGluL2dyZXAuYzo4NjIKIG1zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgogbXNnc3RyICLmmL7npLrnm7jlr7nkuo7pobbnuqfnm67lvZXnmoTmlofku7blkI0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg0OQorIzogYnVpbHRpbi9ncmVwLmM6ODY0CiBtc2dpZCAic2hvdyBvbmx5IGZpbGVuYW1lcyBpbnN0ZWFkIG9mIG1hdGNoaW5nIGxpbmVzIgogbXNnc3RyICLlj6rmmL7npLrmlofku7blkI3ogIzkuI3mmL7npLrljLnphY3nmoTooYwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg1MQorIzogYnVpbHRpbi9ncmVwLmM6ODY2CiBtc2dpZCAic3lub255bSBmb3IgLS1maWxlcy13aXRoLW1hdGNoZXMiCiBtc2dzdHIgIuWSjCAtLWZpbGVzLXdpdGgtbWF0Y2hlcyDlkIzkuYkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg1NAorIzogYnVpbHRpbi9ncmVwLmM6ODY5CiBtc2dpZCAic2hvdyBvbmx5IHRoZSBuYW1lcyBvZiBmaWxlcyB3aXRob3V0IG1hdGNoIgogbXNnc3RyICLlj6rmmL7npLrmnKrljLnphY3nmoTmlofku7blkI0iCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg1NgorIzogYnVpbHRpbi9ncmVwLmM6ODcxCiBtc2dpZCAicHJpbnQgTlVMIGFmdGVyIGZpbGVuYW1lcyIKIG1zZ3N0ciAi5Zyo5paH5Lu25ZCN5ZCO6L6T5Ye6IE5VTCDlrZfnrKYiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg1OQorIzogYnVpbHRpbi9ncmVwLmM6ODc0CiBtc2dpZCAic2hvdyBvbmx5IG1hdGNoaW5nIHBhcnRzIG9mIGEgbGluZSIKIG1zZ3N0ciAi5Y+q5pi+56S66KGM5Lit55qE5Yy56YWN55qE6YOo5YiGIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NgogbXNnaWQgInNob3cgdGhlIG51bWJlciBvZiBtYXRjaGVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCiBtc2dzdHIgIuaYvuekuuaAu+WMuemFjeihjOaVsO+8jOiAjOS4jeaYvuekuuWMuemFjeeahOihjCIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODYyCisjOiBidWlsdGluL2dyZXAuYzo4NzcKIG1zZ2lkICJoaWdobGlnaHQgbWF0Y2hlcyIKIG1zZ3N0ciAi6auY5Lqu5pi+56S65Yy56YWN6aG5IgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjQKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3OQogbXNnaWQgInByaW50IGVtcHR5IGxpbmUgYmV0d2VlbiBtYXRjaGVzIGZyb20gZGlmZmVyZW50IGZpbGVzIgogbXNnc3RyICLlnKjkuI3lkIzmlofku7bnmoTljLnphY3pobnkuYvpl7TmiZPljbDnqbrooYwiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg2NgorIzogYnVpbHRpbi9ncmVwLmM6ODgxCiBtc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKIG1zZ3N0ciAi5Y+q5Zyo5ZCM5LiA5paH5Lu255qE5Yy56YWN6aG555qE5LiK6Z2i5pi+56S65LiA5qyh5paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NjkKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg4NAogbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIGFuZCBhZnRlciBtYXRjaGVzIgogbXNnc3RyICLmmL7npLrljLnphY3pobnliY3lkI7nmoQgPG4+IOihjOS4iuS4i+aWhyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODcyCisjOiBidWlsdGluL2dyZXAuYzo4ODcKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBtYXRjaGVzIgogbXNnc3RyICLmmL7npLrljLnphY3pobnliY0gPG4+IOihjOS4iuS4i+aWhyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODc0CisjOiBidWlsdGluL2dyZXAuYzo4ODkKIG1zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCiBtc2dzdHIgIuaYvuekuuWMuemFjemhueWQjiA8bj4g6KGM5LiK5LiL5paHIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NzYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5MQogbXNnaWQgInVzZSA8bj4gd29ya2VyIHRocmVhZHMiCiBtc2dzdHIgIuS9v+eUqCA8bj4g5Liq5bel5L2c57q/56iLIgogCi0jOiBidWlsdGluL2dyZXAuYzo4NzcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5MgogbXNnaWQgInNob3J0Y3V0IGZvciAtQyBOVU0iCiBtc2dzdHIgIuW/q+aNt+mUriAtQyDmlbDlrZciCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4MAorIzogYnVpbHRpbi9ncmVwLmM6ODk1CiBtc2dpZCAic2hvdyBhIGxpbmUgd2l0aCB0aGUgZnVuY3Rpb24gbmFtZSBiZWZvcmUgbWF0Y2hlcyIKIG1zZ3N0ciAi5Zyo5Yy56YWN55qE5YmN6Z2i5pi+56S65LiA6KGM5Ye95pWw5ZCNIgogCi0jOiBidWlsdGluL2dyZXAuYzo4ODIKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg5NwogbXNnaWQgInNob3cgdGhlIHN1cnJvdW5kaW5nIGZ1bmN0aW9uIgogbXNnc3RyICLmmL7npLrmiYDlnKjlh73mlbDnmoTliY3lkI7lhoXlrrkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjg4NQorIzogYnVpbHRpbi9ncmVwLmM6OTAwCiBtc2dpZCAicmVhZCBwYXR0ZXJucyBmcm9tIGZpbGUiCiBtc2dzdHIgIuS7juaWh+S7tuivu+WPluaooeW8jyIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg3CisjOiBidWlsdGluL2dyZXAuYzo5MDIKIG1zZ2lkICJtYXRjaCA8cGF0dGVybj4iCiBtc2dzdHIgIuWMuemFjSA85qih5byPPiIKIAotIzogYnVpbHRpbi9ncmVwLmM6ODg5CisjOiBidWlsdGluL2dyZXAuYzo5MDQKIG1zZ2lkICJjb21iaW5lIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIC1lIgogbXNnc3RyICLnu4TlkIjnlKggLWUg5Y+C5pWw6K6+5a6a55qE5qih5byPIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDEKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkxNgogbXNnaWQgImluZGljYXRlIGhpdCB3aXRoIGV4aXQgc3RhdHVzIHdpdGhvdXQgb3V0cHV0IgogbXNnc3RyICLkuI3ovpPlh7rvvIzogIznlKjpgIDlh7rnoIHmoIfor4blkb3kuK3nirbmgIEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwMworIzogYnVpbHRpbi9ncmVwLmM6OTE4CiBtc2dpZCAic2hvdyBvbmx5IG1hdGNoZXMgZnJvbSBmaWxlcyB0aGF0IG1hdGNoIGFsbCBwYXR0ZXJucyIKIG1zZ3N0ciAi5Y+q5pi+56S65Yy56YWN5omA5pyJ5qih5byP55qE5paH5Lu25Lit55qE5Yy56YWNIgogCi0jOiBidWlsdGluL2dyZXAuYzo5MDUKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkyMAogbXNnaWQgInNob3cgcGFyc2UgdHJlZSBmb3IgZ3JlcCBleHByZXNzaW9uIgogbXNnc3RyICLmmL7npLogZ3JlcCDooajovr7lvI/nmoTop6PmnpDmoJEiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjkwOQorIzogYnVpbHRpbi9ncmVwLmM6OTI0CiBtc2dpZCAicGFnZXIiCiBtc2dzdHIgIuWIhumhtSIKIAotIzogYnVpbHRpbi9ncmVwLmM6OTA5CisjOiBidWlsdGluL2dyZXAuYzo5MjQKIG1zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKIG1zZ3N0ciAi5YiG6aG15pi+56S65Yy56YWN55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2dyZXAuYzo5MTMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjkyOAogbXNnaWQgImFsbG93IGNhbGxpbmcgb2YgZ3JlcCgxKSAoaWdub3JlZCBieSB0aGlzIGJ1aWxkKSIKIG1zZ3N0ciAi5YWB6K646LCD55SoIGdyZXAoMSnvvIjmnKzmrKHmnoTlu7rlv73nlaXvvIkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjk3NworIzogYnVpbHRpbi9ncmVwLmM6OTkyCiBtc2dpZCAibm8gcGF0dGVybiBnaXZlbiIKIG1zZ3N0ciAi5pyq5o+Q5L6b5Yy56YWN5qih5byPIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDEzCisjOiBidWlsdGluL2dyZXAuYzoxMDI4CiBtc2dpZCAiLS1uby1pbmRleCBvciAtLXVudHJhY2tlZCBjYW5ub3QgYmUgdXNlZCB3aXRoIHJldnMiCiBtc2dzdHIgIi0tbm8taW5kZXgg5oiWIC0tdW50cmFja2VkIOS4jeiDveWSjOeJiOacrOWQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTAyMAorIzogYnVpbHRpbi9ncmVwLmM6MTAzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSByZXZpc2lvbjogJXMiCiBtc2dzdHIgIuS4jeiDveino+aekOeJiOacrO+8miVzIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMDUxCisjOiBidWlsdGluL2dyZXAuYzoxMDY3CiBtc2dpZCAiaW52YWxpZCBvcHRpb24gY29tYmluYXRpb24sIGlnbm9yaW5nIC0tdGhyZWFkcyIKIG1zZ3N0ciAi5peg5pWI55qE6YCJ6aG557uE5ZCI77yM5b+955WlIC0tdGhyZWFkcyIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTA1NCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzOTcKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDAwCiBtc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAtLXRocmVhZHMiCiBtc2dzdHIgIuayoeaciee6v+eoi+aUr+aMge+8jOW/veeVpSAtLXRocmVhZHMiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwNTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUwMyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MTYKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNzMgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUzMSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgdGhyZWFkcyBzcGVjaWZpZWQgKCVkKSIKIG1zZ3N0ciAi5oyH5a6a55qE57q/56iL5pWw5peg5pWI77yIJWTvvIkiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjEwODAKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwOTYKIG1zZ2lkICItLW9wZW4tZmlsZXMtaW4tcGFnZXIgb25seSB3b3JrcyBvbiB0aGUgd29ya3RyZWUiCiBtc2dzdHIgIi0tb3Blbi1maWxlcy1pbi1wYWdlciDku4XnlKjkuo7lt6XkvZzljLoiCiAKLSM6IGJ1aWx0aW4vZ3JlcC5jOjExMDMKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMTkKIG1zZ2lkICJvcHRpb24gbm90IHN1cHBvcnRlZCB3aXRoIC0tcmVjdXJzZS1zdWJtb2R1bGVzIgogbXNnc3RyICLpgInpobnkuI3mlK/mjIHlkowgLS1yZWN1cnNlLXN1Ym1vZHVsZXMg5YWx55SoIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMTA5CisjOiBidWlsdGluL2dyZXAuYzoxMTI1CiBtc2dpZCAiLS1jYWNoZWQgb3IgLS11bnRyYWNrZWQgY2Fubm90IGJlIHVzZWQgd2l0aCAtLW5vLWluZGV4IgogbXNnc3RyICItLWNhY2hlZCDmiJYgLS11bnRyYWNrZWQg5LiN6IO95LiOIC0tbm8taW5kZXgg5ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL2dyZXAuYzoxMTE1CisjOiBidWlsdGluL2dyZXAuYzoxMTMxCiBtc2dpZCAiLS1bbm8tXWV4Y2x1ZGUtc3RhbmRhcmQgY2Fubm90IGJlIHVzZWQgZm9yIHRyYWNrZWQgY29udGVudHMiCiBtc2dzdHIgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIOS4jeiDveeUqOS6juW3sui3n+i4quWGheWuuSIKIAotIzogYnVpbHRpbi9ncmVwLmM6MTEyMworIzogYnVpbHRpbi9ncmVwLmM6MTEzOQogbXNnaWQgImJvdGggLS1jYWNoZWQgYW5kIHRyZWVzIGFyZSBnaXZlbiIKIG1zZ3N0ciAi5ZCM5pe257uZ5Ye65LqGIC0tY2FjaGVkIOWSjOagkeWvueixoSIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjg0CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODUKIG1zZ2lkICIiCiAiZ2l0IGhhc2gtb2JqZWN0IFstdCA8dHlwZT5dIFstd10gWy0tcGF0aD08ZmlsZT4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCiAiWy0tXSA8ZmlsZT4uLi4iCkBAIC0xMTUzNSwzNiArMTQxODEsMzIgQEAKICJnaXQgaGFzaC1vYmplY3QgWy10IDznsbvlnos+XSBbLXddIFstLXBhdGg9POaWh+S7tj4gfCAtLW5vLWZpbHRlcnNdIFstLXN0ZGluXSAiCiAiWy0tXSA85paH5Lu2Pi4uLiIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjg1CisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODYKIG1zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCiBtc2dzdHIgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk3Ci1tc2dpZCAidHlwZSIKLW1zZ3N0ciAi57G75Z6LIgotCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTcKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAogbXNnaWQgIm9iamVjdCB0eXBlIgogbXNnc3RyICLlr7nosaHnsbvlnosiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo5OAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5CiBtc2dpZCAid3JpdGUgdGhlIG9iamVjdCBpbnRvIHRoZSBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgIuWwhuWvueixoeWGmeWFpeWvueixoeaVsOaNruW6kyIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQogbXNnaWQgInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIgogbXNnc3RyICLku47moIflh4bovpPlhaXor7vlj5blr7nosaEiCiAKLSM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDIKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDMKIG1zZ2lkICJzdG9yZSBmaWxlIGFzIGlzIHdpdGhvdXQgZmlsdGVycyIKIG1zZ3N0ciAi5Y6f5qC35a2Y5YKo5paH5Lu25LiN5L2/55So6L+H5ruk5ZmoIgogCi0jOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTAzCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA0CiBtc2dpZCAiIgogImp1c3QgaGFzaCBhbnkgcmFuZG9tIGdhcmJhZ2UgdG8gY3JlYXRlIGNvcnJ1cHQgb2JqZWN0cyBmb3IgZGVidWdnaW5nIEdpdCIKIG1zZ3N0ciAi5YWB6K645a+55Lu75oSP6ZqP5py65Z6D5Zy+5pWw5o2u5YGa5pWj5YiX5p2l5Yib5bu65o2f5Z2P55qE5a+56LGh5Lul5L6/6LCD6K+VIEdpdCIKIAotIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwNAorIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwNQogbXNnaWQgInByb2Nlc3MgZmlsZSBhcyBpdCB3ZXJlIGZyb20gdGhpcyBwYXRoIgogbXNnc3RyICLlpITnkIbmlofku7blubblgYforr7lhbbmnaXoh6rkuo7mraTot6/lvoQiCiAKQEAgLTExNjA0LDMwICsxNDI0NiwzMCBAQAogbXNnaWQgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW4gfCAtLXdlYiB8IC0taW5mb10gWzxjb21tYW5kPl0iCiBtc2dzdHIgImdpdCBoZWxwIFstLWFsbF0gWy0tZ3VpZGVzXSBbLS1tYW4gfCAtLXdlYiB8IC0taW5mb10gWzzlkb3ku6Q+XSIKIAotIzogYnVpbHRpbi9oZWxwLmM6NzMKKyM6IGJ1aWx0aW4vaGVscC5jOjc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVucmVjb2duaXplZCBoZWxwIGZvcm1hdCAnJXMnIgogbXNnc3RyICLmnKrog73or4bliKvnmoTluK7liqnmoLzlvI8gJyVzJyIKIAotIzogYnVpbHRpbi9oZWxwLmM6MTAwCisjOiBidWlsdGluL2hlbHAuYzoxMDQKIG1zZ2lkICJGYWlsZWQgdG8gc3RhcnQgZW1hY3NjbGllbnQuIgogbXNnc3RyICLml6Dms5XlkK/liqggZW1hY3NjbGllbnTjgIIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjExMworIzogYnVpbHRpbi9oZWxwLmM6MTE3CiBtc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVtYWNzY2xpZW50IHZlcnNpb24uIgogbXNnc3RyICLml6Dms5Xop6PmnpAgZW1hY3NjbGllbnQg54mI5pys44CCIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMjEKKyM6IGJ1aWx0aW4vaGVscC5jOjEyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJlbWFjc2NsaWVudCB2ZXJzaW9uICclZCcgdG9vIG9sZCAoPCAyMikuIgogbXNnc3RyICJlbWFjc2NsaWVudCDniYjmnKwgJyVkJyDlpKrogIHvvIg8IDIy77yJ44CCIgogCi0jOiBidWlsdGluL2hlbHAuYzoxMzkgYnVpbHRpbi9oZWxwLmM6MTYxIGJ1aWx0aW4vaGVscC5jOjE3MSBidWlsdGluL2hlbHAuYzoxNzkKKyM6IGJ1aWx0aW4vaGVscC5jOjE0MyBidWlsdGluL2hlbHAuYzoxNjUgYnVpbHRpbi9oZWxwLmM6MTc1IGJ1aWx0aW4vaGVscC5jOjE4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gZXhlYyAnJXMnIgogbXNnc3RyICLmiafooYwgJyVzJyDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIxNworIzogYnVpbHRpbi9oZWxwLmM6MjIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBwYXRoIGZvciB1bnN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtMTE2MzYsNyArMTQyNzgsNyBAQAogIiclcyfvvJrkuI3mlK/mjIHnmoQgbWFuIOaJi+WGjOafpeeci+WZqOeahOi3r+W+hOOAglxuIgogIuivt+S9v+eUqCAnbWFuLjzlt6Xlhbc+LmNtZCfjgIIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjIyOQorIzogYnVpbHRpbi9oZWxwLmM6MjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICInJXMnOiBjbWQgZm9yIHN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgpAQCAtMTE2NDUsMzI3ICsxNDI4NywzMTcgQEAKICInJXMnOiDmlK/mjIHnmoQgbWFuIOaJi+WGjOafpeeci+WZqOWRveS7pOOAglxuIgogIuivt+S9v+eUqCAnbWFuLjzlt6Xlhbc+LnBhdGgn44CCIgogCi0jOiBidWlsdGluL2hlbHAuYzozNDYKKyM6IGJ1aWx0aW4vaGVscC5jOjM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnOiB1bmtub3duIG1hbiB2aWV3ZXIuIgogbXNnc3RyICInJXMn77ya5pyq55+l55qEIG1hbiDmn6XnnIvlmajjgIIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjM2MworIzogYnVpbHRpbi9oZWxwLmM6MzY3CiBtc2dpZCAibm8gbWFuIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICLmsqHmnIkgbWFuIOafpeeci+WZqOWkhOeQhuatpOivt+axgiIKIAotIzogYnVpbHRpbi9oZWxwLmM6MzcxCisjOiBidWlsdGluL2hlbHAuYzozNzUKIG1zZ2lkICJubyBpbmZvIHZpZXdlciBoYW5kbGVkIHRoZSByZXF1ZXN0IgogbXNnc3RyICLmsqHmnIkgaW5mbyDmn6XnnIvlmajlpITnkIbmraTor7fmsYIiCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQzMCBidWlsdGluL2hlbHAuYzo0NDEgZ2l0LmM6MzIyCisjOiBidWlsdGluL2hlbHAuYzo0MzQgYnVpbHRpbi9oZWxwLmM6NDQ1IGdpdC5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFsaWFzZWQgdG8gJyVzJyIKIG1zZ3N0ciAiJyVzJyDmmK8gJyVzJyDnmoTliKvlkI0iCiAKLSM6IGJ1aWx0aW4vaGVscC5jOjQ0NAorIzogYnVpbHRpbi9oZWxwLmM6NDQ4IGdpdC5jOjM2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgYWxpYXMuJXMgc3RyaW5nOiAlcyIKIG1zZ3N0ciAi5Z2P55qEIGFsaWFzLiVzIOWtl+espuS4su+8miVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0NzMgYnVpbHRpbi9oZWxwLmM6NTAzCisjOiBidWlsdGluL2hlbHAuYzo0NzcgYnVpbHRpbi9oZWxwLmM6NTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVzYWdlOiAlcyVzIgogbXNnc3RyICLnlKjms5XvvJolcyVzIgogCi0jOiBidWlsdGluL2hlbHAuYzo0ODcKKyM6IGJ1aWx0aW4vaGVscC5jOjQ5MQogbXNnaWQgIidnaXQgaGVscCBjb25maWcnIGZvciBtb3JlIGluZm9ybWF0aW9uIgogbXNnc3RyICInZ2l0IGhlbHAgY29uZmlnJyDojrflj5bmm7TlpJrkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4NAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm9iamVjdCB0eXBlIG1pc21hdGNoIGF0ICVzIgogbXNnc3RyICIlcyDnmoTlr7nosaHnsbvlnovkuI3ljLnphY0iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjIwNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRpZCBub3QgcmVjZWl2ZSBleHBlY3RlZCBvYmplY3QgJXMiCiBtc2dzdHIgIuacquiDveiOt+WPlumihOacn+eahOWvueixoSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjA3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzOiBleHBlY3RlZCB0eXBlICVzLCBmb3VuZCAlcyIKIG1zZ3N0ciAi5a+56LGhICVz77ya5bqU5Li657G75Z6LICVz77yM5Y205pivICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyNDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZmlsbCAlZCBieXRlIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgZmlsbCAlZCBieXRlcyIKIG1zZ3N0clswXSAi5peg5rOV5aGr5YWFICVkIOWtl+iKgiIKIG1zZ3N0clsxXSAi5peg5rOV5aGr5YWFICVkIOWtl+iKgiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjU5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjgKIG1zZ2lkICJlYXJseSBFT0YiCiBtc2dzdHIgIui/h+aXqeeahOaWh+S7tue7k+adn+espu+8iEVPRu+8iSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjYwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjkKIG1zZ2lkICJyZWFkIGVycm9yIG9uIGlucHV0IgogbXNnc3RyICLovpPlhaXkuIrnmoTor7vplJnor68iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI3MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MjgxCiBtc2dpZCAidXNlZCBtb3JlIGJ5dGVzIHRoYW4gd2VyZSBhdmFpbGFibGUiCiBtc2dzdHIgIueUqOaOieS6hui2hei/h+WPr+eUqOeahOWtl+iKgiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6Mjc5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTk4CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyODggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo2MDQKIG1zZ2lkICJwYWNrIHRvbyBsYXJnZSBmb3IgY3VycmVudCBkZWZpbml0aW9uIG9mIG9mZl90IgogbXNnc3RyICLljIXlpKrlpKfotoXov4fkuoblvZPliY0gb2ZmX3Qg55qE5a6a5LmJIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoyODIgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjk0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyOTEgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjk1CiBtc2dpZCAicGFjayBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBzaXplIgogbXNnc3RyICLljIXotoXov4fkuobmnIDlpKflhYHorrjlgLwiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5NwotIywgYy1mb3JtYXQKLW1zZ2lkICJ1bmFibGUgdG8gY3JlYXRlICclcyciCi1tc2dzdHIgIuS4jeiDveWIm+W7uiAnJXMnIgotCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBwYWNrZmlsZSAnJXMnIgogbXNnc3RyICLml6Dms5XmiZPlvIDljIXmlofku7YgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzE3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMjYKIG1zZ2lkICJwYWNrIHNpZ25hdHVyZSBtaXNtYXRjaCIKIG1zZ3N0ciAi5YyF562+5ZCN5LiN5Yy56YWNIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjMyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIHZlcnNpb24gJTxQUkl1MzI+IHVuc3VwcG9ydGVkIgogbXNnc3RyICLkuI3mlK/mjIHljIXniYjmnKwgJTxQUkl1MzI+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzozMzcKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrIGhhcyBiYWQgb2JqZWN0IGF0IG9mZnNldCAlPFBSSXVNQVg+OiAlcyIKIG1zZ3N0ciAi5YyF5Lit5pyJ6ZSZ6K+v55qE5a+56LGh5L2N5LqO5YGP56e76YePICU8UFJJdU1BWD7vvJolcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NDU3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo0NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW5mbGF0ZSByZXR1cm5lZCAlZCIKIG1zZ3N0ciAi6Kej5Y6L57yp6L+U5ZueICVkIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo1MDYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUxNQogbXNnaWQgIm9mZnNldCB2YWx1ZSBvdmVyZmxvdyBmb3IgZGVsdGEgYmFzZSBvYmplY3QiCiBtc2dzdHIgIuWBj+enu+WAvOimhuebluS6hiBkZWx0YSDln7rlh4blr7nosaEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUxNAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTIzCiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgaXMgb3V0IG9mIGJvdW5kIgogbXNnc3RyICJkZWx0YSDln7rlh4blgY/np7votornlYwiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjUyMgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTMxCiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gb2JqZWN0IHR5cGUgJWQiCiBtc2dzdHIgIuacquefpeWvueixoeexu+WeiyAlZCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTUzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NjIKIG1zZ2lkICJjYW5ub3QgcHJlYWQgcGFjayBmaWxlIgogbXNnc3RyICLml6Dms5Xor7vlj5bljIXmlofku7YiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU1NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTY0CiAjLCBjLWZvcm1hdAogbXNnaWQgInByZW1hdHVyZSBlbmQgb2YgcGFjayBmaWxlLCAlPFBSSXVNQVg+IGJ5dGUgbWlzc2luZyIKIG1zZ2lkX3BsdXJhbCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZXMgbWlzc2luZyIKIG1zZ3N0clswXSAi5YyF5paH5Lu26L+H5pep57uT5p2f77yM57y65bCRICU8UFJJdU1BWD4g5a2X6IqCIgogbXNnc3RyWzFdICLljIXmlofku7bov4fml6nnu5PmnZ/vvIznvLrlsJEgJTxQUkl1TUFYPiDlrZfoioIiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjU4MQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTkwCiBtc2dpZCAic2VyaW91cyBpbmZsYXRlIGluY29uc2lzdGVuY3kiCiBtc2dzdHIgIuino+WOi+e8qeS4pemHjeeahOS4jeS4gOiHtCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzI2IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjczMiBidWlsdGluL2luZGV4LXBhY2suYzo3NTUKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc5NCBidWlsdGluL2luZGV4LXBhY2suYzo4MDMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjczNSBidWlsdGluL2luZGV4LXBhY2suYzo3NDEgYnVpbHRpbi9pbmRleC1wYWNrLmM6NzY0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MDMgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNIQTEgQ09MTElTSU9OIEZPVU5EIFdJVEggJXMgISIKIG1zZ3N0ciAi5Y+R546wICVzIOWHuueOsCBTSEExIOWGsueqge+8gSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzI5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTUxCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwNQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzM4IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTU3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxNyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCAlcyIKIG1zZ3N0ciAi5LiN6IO96K+7ICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo3OTIKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgaW5mbyAlcyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+W546w5a2Y5a+56LGh5L+h5oGvICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MDAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgJXMiCiBtc2dzdHIgIuS4jeiDveivu+WPlueOsOWtmOWvueixoSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODE0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBibG9iIG9iamVjdCAlcyIKIG1zZ3N0ciAi5peg5pWI55qE5pWw5o2u5a+56LGhICVzIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzo4MTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODM2CisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MjYgYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ1CiBtc2dpZCAiZnNjayBlcnJvciBpbiBwYWNrZWQgb2JqZWN0IgogbXNnc3RyICLlr7nmiZPljIXlr7nosaEgZnNjayDmo4Dmn6Xlh7rplJkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzMwotIywgYy1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkICVzIgotbXNnc3RyICLml6DmlYjnmoQgJXMiCi0KLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgzOAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBhbGwgY2hpbGQgb2JqZWN0cyBvZiAlcyBhcmUgcmVhY2hhYmxlIgogbXNnc3RyICIlcyDnmoTmiYDmnInlrZDlr7nosaHlubbpnZ7pg73lj6/ovr4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkxMCBidWlsdGluL2luZGV4LXBhY2suYzo5NDEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkxOSBidWlsdGluL2luZGV4LXBhY2suYzo5NTAKIG1zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCiBtc2dzdHIgIuW6lOeUqCBkZWx0YSDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMDkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMTgKIG1zZ2lkICJSZWNlaXZpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi5o6l5pS25a+56LGh5LitIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTA5CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4CiBtc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi57Si5byV5a+56LGh5LitIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTQzCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTUyCiBtc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgogbXNnc3RyICLljIXlhrLnqoHvvIhTSEExIOS4jeWMuemFje+8iSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE0OAorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NwogbXNnaWQgImNhbm5vdCBmc3RhdCBwYWNrZmlsZSIKIG1zZ3N0ciAi5LiN6IO95a+55YyF5paH5Lu26LCD55SoIGZzdGF0IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTUxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTYwCiBtc2dpZCAicGFjayBoYXMganVuayBhdCB0aGUgZW5kIgogbXNnc3RyICLljIXnmoTnu5PlsL7mnInlnoPlnL7mlbDmja4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNjMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExNzIKIG1zZ2lkICJjb25mdXNpb24gYmV5b25kIGluc2FuaXR5IGluIHBhcnNlX3BhY2tfb2JqZWN0cygpIgogbXNnc3RyICJwYXJzZV9wYWNrX29iamVjdHMoKSDkuK3pgYfliLDkuI3lj6/nkIbllrvnmoTpl67popgiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExODYKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExOTUKIG1zZ2lkICJSZXNvbHZpbmcgZGVsdGFzIgogbXNnc3RyICLlpITnkIYgZGVsdGEg5LitIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk2IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ5MgorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTIwNSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgogbXNnc3RyICLkuI3og73liJvlu7rnur/nqIvvvJolcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTIzNworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI0NgogbXNnaWQgImNvbmZ1c2lvbiBiZXlvbmQgaW5zYW5pdHkiCiBtc2dzdHIgIuS4jeWPr+eQhuWWuyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI0MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3QiCiBtc2dpZF9wbHVyYWwgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdHMiCiBtc2dzdHJbMF0gIuWujOaIkCAlZCDkuKrmnKzlnLDlr7nosaEiCiBtc2dzdHJbMV0gIuWujOaIkCAlZCDkuKrmnKzlnLDlr7nosaEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTUKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5leHBlY3RlZCB0YWlsIGNoZWNrc3VtIGZvciAlcyAoZGlzayBjb3JydXB0aW9uPykiCiBtc2dzdHIgIuWvuSAlcyDnmoTlsL7pg6jmoKHpqozlh7rnjrDmhI/lpJbvvIjno4Hnm5jmjZ/lnY/vvJ/vvIkiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YSIKIG1zZ2lkX3BsdXJhbCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YXMiCiBtc2dzdHJbMF0gIuWMheaciSAlZCDkuKrmnKrop6PlhrPnmoQgZGVsdGEiCiBtc2dzdHJbMV0gIuWMheaciSAlZCDkuKrmnKrop6PlhrPnmoQgZGVsdGEiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyODMKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgYXBwZW5kZWQgb2JqZWN0ICglZCkiCiBtc2dzdHIgIuS4jeiDveWOi+e8qemZhOWKoOWvueixoe+8iCVk77yJIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzYwCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvY2FsIG9iamVjdCAlcyBpcyBjb3JydXB0IgogbXNnc3RyICLmnKzlnLDlr7nosaEgJXMg5bey5o2f5Z2PIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzc0CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgogbXNnc3RyICLljIXmlofku7blkI0gJyVzJyDmsqHmnInku6UgJy5wYWNrJyDnu5PlsL4iCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEzOTkKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHdyaXRlICVzIGZpbGUgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5YaZ5YWlICVzIOaWh+S7tiAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDA3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjbG9zZSB3cml0dGVuICVzIGZpbGUgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5YWz6Zet5bey5YaZ5YWl55qEICVzIOaWh+S7tiAnJXMnIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDMxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDU5CiBtc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCiBtc2dzdHIgIuWFs+mXreWMheaWh+S7tuaXtuWHuumUmSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ0NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3MwogbXNnaWQgImNhbm5vdCBzdG9yZSBwYWNrIGZpbGUiCiBtc2dzdHIgIuaXoOazleWtmOWCqOWMheaWh+S7tiIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ1MworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4MQogbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgogbXNnc3RyICLml6Dms5XlrZjlgqjntKLlvJXmlofku7YiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0OTcgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzI3CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTI1IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjcxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogbXNnc3RyICLlnY/nmoQgcGFjay5pbmRleHZlcnNpb249JTxQUkl1MzI+IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTY1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgZmlsZSAnJXMnIgogbXNnc3RyICLml6Dms5XmiZPlvIDnjrDlrZjljIXmlofku7YgJyVzJyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU2NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTU5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgb3BlbiBleGlzdGluZyBwYWNrIGlkeCBmaWxlIGZvciAnJXMnIgogbXNnc3RyICLml6Dms5XkuLogJXMg5omT5byA5YyF57Si5byV5paH5Lu2IgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjE1CisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vbiBkZWx0YTogJWQgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJub24gZGVsdGE6ICVkIG9iamVjdHMiCiBtc2dzdHJbMF0gIumdniBkZWx0Ye+8miVkIOS4quWvueixoSIKIG1zZ3N0clsxXSAi6Z2eIGRlbHRh77yaJWQg5Liq5a+56LGhIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjIyCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0IgogbXNnaWRfcGx1cmFsICJjaGFpbiBsZW5ndGggPSAlZDogJWx1IG9iamVjdHMiCiBtc2dzdHJbMF0gIumTvumVvyA9ICVkOiAlbHUg5a+56LGhIgogbXNnc3RyWzFdICLpk77plb8gPSAlZDogJWx1IOWvueixoSIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY1OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTY4OQogbXNnaWQgIkNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIgogbXNnc3RyICLml6Dms5Xov5Tlm57lvZPliY3lt6XkvZznm67lvZUiCiAKLSM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3MDggYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcxMQotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTcyNyBidWlsdGluL2luZGV4LXBhY2suYzoxNzMxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzM4IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NDEKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NTcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgJXMiCiBtc2dzdHIgIumUmeivr+mAiemhuSAlcyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0NworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc3NwogbXNnaWQgIi0tZml4LXRoaW4gY2Fubm90IGJlIHVzZWQgd2l0aG91dCAtLXN0ZGluIgogbXNnc3RyICItLWZpeC10aGluIOS4jeiDveWSjCAtLXN0ZGluIOWQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc0OQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc3OQogbXNnaWQgIi0tc3RkaW4gcmVxdWlyZXMgYSBnaXQgcmVwb3NpdG9yeSIKIG1zZ3N0ciAiLS1zdGRpbiDpnIDopoHkuIDkuKogZ2l0IOS7k+W6kyIKIAotIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc1NQorIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTc4NQogbXNnaWQgIi0tdmVyaWZ5IHdpdGggbm8gcGFja2ZpbGUgbmFtZSBnaXZlbiIKIG1zZ3N0ciAiLS12ZXJpZnkg5rKh5pyJ5o+Q5L6b5YyF5paH5Lu25ZCN5Y+C5pWwIgogCi0jOiBidWlsdGluL2luZGV4LXBhY2suYzoxODAzIGJ1aWx0aW4vdW5wYWNrLW9iamVjdHMuYzo1ODAKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4MzMgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjU4MQogbXNnaWQgImZzY2sgZXJyb3IgaW4gcGFjayBvYmplY3RzIgogbXNnc3RyICLlnKjmiZPljIXlr7nosaHkuK0gZnNjayDmo4Dmn6Xlh7rplJkiCiAKQEAgLTEyMDA5LDQyICsxNDY0MSw0MiBAQAogbXNnaWQgIm5vdCBjb3B5aW5nIHRlbXBsYXRlcyBmcm9tICclcyc6ICVzIgogbXNnc3RyICLmsqHmnInku44gJyVzJyDlpI3liLbmqKHniYjvvJolcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6MzI5CisjOiBidWlsdGluL2luaXQtZGIuYzozMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGhhbmRsZSBmaWxlIHR5cGUgJWQiCiBtc2dzdHIgIuS4jeiDveWkhOeQhiAlZCDnsbvlnovnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzMgorIzogYnVpbHRpbi9pbml0LWRiLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBtb3ZlICVzIHRvICVzIgogbXNnc3RyICLkuI3og73np7vliqggJXMg6IezICVzIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzozNDkgYnVpbHRpbi9pbml0LWRiLmM6MzUyCisjOiBidWlsdGluL2luaXQtZGIuYzozNTQgYnVpbHRpbi9pbml0LWRiLmM6MzU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICIlcyDlt7Lnu4/lrZjlnKgiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQwNQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3Rpbmcgc2hhcmVkIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAi6YeN5paw5Yid5aeL5YyW5bey5a2Y5Zyo55qE5YWx5LqrIEdpdCDku5PlupPkuo4gJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MDYKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAi6YeN5paw5Yid5aeL5YyW5bey5a2Y5Zyo55qEIEdpdCDku5PlupPkuo4gJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0MTAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgogbXNnc3RyICLlt7LliJ3lp4vljJbnqbrnmoTlhbHkuqsgR2l0IOS7k+W6k+S6jiAlcyVzXG4iCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxMQorIzogYnVpbHRpbi9pbml0LWRiLmM6NDE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkluaXRpYWxpemVkIGVtcHR5IEdpdCByZXBvc2l0b3J5IGluICVzJXNcbiIKIG1zZ3N0ciAi5bey5Yid5aeL5YyW56m655qEIEdpdCDku5PlupPkuo4gJXMlc1xuIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0NjAKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ2OAogbXNnaWQgIiIKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT08dGVtcGxhdGUtZGlyZWN0b3J5Pl0gWy0tIgogInNoYXJlZFs9PHBlcm1pc3Npb25zPl1dIFs8ZGlyZWN0b3J5Pl0iCkBAIC0xMjA1MiwzNyArMTQ2ODQsMzcgQEAKICJnaXQgaW5pdCBbLXEgfCAtLXF1aWV0XSBbLS1iYXJlXSBbLS10ZW1wbGF0ZT085qih5p2/55uu5b2VPl0gWy0tc2hhcmVkWz085p2D6ZmQPl1dICIKICJbPOebruW9lT5dIgogCi0jOiBidWlsdGluL2luaXQtZGIuYzo0ODMKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5MQogbXNnaWQgInBlcm1pc3Npb25zIgogbXNnc3RyICLmnYPpmZAiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ4NAorIzogYnVpbHRpbi9pbml0LWRiLmM6NDkyCiBtc2dpZCAic3BlY2lmeSB0aGF0IHRoZSBnaXQgcmVwb3NpdG9yeSBpcyB0byBiZSBzaGFyZWQgYW1vbmdzdCBzZXZlcmFsIHVzZXJzIgogbXNnc3RyICLmjIflrpogZ2l0IOS7k+W6k+aYr+WkmuS4queUqOaIt+S5i+mXtOWFseS6q+eahCIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTE4IGJ1aWx0aW4vaW5pdC1kYi5jOjUyMworIzogYnVpbHRpbi9pbml0LWRiLmM6NTI5IGJ1aWx0aW4vaW5pdC1kYi5jOjUzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgbWtkaXIgJXMiCiBtc2dzdHIgIuS4jeiDveWIm+W7uuebruW9lSAlcyIKIAotIzogYnVpbHRpbi9pbml0LWRiLmM6NTI3CisjOiBidWlsdGluL2luaXQtZGIuYzo1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNoZGlyIHRvICVzIgogbXNnc3RyICLkuI3og73liIfmjaLnm67lvZXliLAgJXMiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU0OAorIzogYnVpbHRpbi9pbml0LWRiLmM6NTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIlcyAob3IgLS13b3JrLXRyZWU9PGRpcmVjdG9yeT4pIG5vdCBhbGxvd2VkIHdpdGhvdXQgc3BlY2lmeWluZyAlcyAob3IgLS1naXQtIgogImRpcj08ZGlyZWN0b3J5PikiCiBtc2dzdHIgIuS4jeWFgeiuuCAlc++8iOaIliAtLXdvcmstdHJlZT0855uu5b2VPu+8ieiAjOayoeacieaMh+WumiAlc++8iOaIliAtLWdpdC1kaXI9POebruW9lT7vvIkiCiAKLSM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU3NgorIzogYnVpbHRpbi9pbml0LWRiLmM6NTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBhY2Nlc3Mgd29yayB0cmVlICclcyciCiBtc2dzdHIgIuS4jeiDveiuv+mXruW3peS9nOWMuiAnJXMnIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjE1CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjE2CiBtc2dpZCAiIgogImdpdCBpbnRlcnByZXQtdHJhaWxlcnMgWy0taW4tcGxhY2VdIFstLXRyaW0tZW1wdHldIFsoLS10cmFpbGVyICIKICI8dG9rZW4+Wyg9fDopPHZhbHVlPl0pLi4uXSBbPGZpbGU+Li4uXSIKQEAgLTEyMDkwLDU2MSArMTQ3MjIsNTY2IEBACiAiZ2l0IGludGVycHJldC10cmFpbGVycyBbLS1pbi1wbGFjZV0gWy0tdHJpbS1lbXB0eV0gWygtLXRyYWlsZXIgPOmUrj5bKD18Oik85YC8IgogIj5dKS4uLl0gWzzmlofku7Y+Li4uXSIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NQogbXNnaWQgImVkaXQgZmlsZXMgaW4gcGxhY2UiCiBtc2dzdHIgIuWcqOWOn+S9jee8lui+keaWh+S7tiIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NQorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5NgogbXNnaWQgInRyaW0gZW1wdHkgdHJhaWxlcnMiCiBtc2dzdHIgIuWIoOmZpOepuueahOWwvumDqOe9suWQjSIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5OAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzo5OQogbXNnaWQgIndoZXJlIHRvIHBsYWNlIHRoZSBuZXcgdHJhaWxlciIKIG1zZ3N0ciAi5Zyo5ZOq6YeM5pS+572u5paw55qE5bC+6YOo572y5ZCNIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDEKIG1zZ2lkICJhY3Rpb24gaWYgdHJhaWxlciBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAi5b2T5bC+6YOo572y5ZCN5bey57uP5a2Y5Zyo5pe25omA6YeH5Y+W55qE5Yqo5L2cIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwMgorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDMKIG1zZ2lkICJhY3Rpb24gaWYgdHJhaWxlciBpcyBtaXNzaW5nIgogbXNnc3RyICLlvZPlsL7pg6jnvbLlkI3nvLrlpLHml7bmiYDph4flj5bnmoTliqjkvZwiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA0CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNQogbXNnaWQgIm91dHB1dCBvbmx5IHRoZSB0cmFpbGVycyIKIG1zZ3N0ciAi5Y+q6L6T5Ye65bC+6YOo572y5ZCNIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNQorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDYKIG1zZ2lkICJkbyBub3QgYXBwbHkgY29uZmlnIHJ1bGVzIgogbXNnc3RyICLkuI3opoHlupTnlKjphY3nva7op4TliJkiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA2CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNwogbXNnaWQgImpvaW4gd2hpdGVzcGFjZS1jb250aW51ZWQgdmFsdWVzIgogbXNnc3RyICLov57mjqXnqbrnmb3mipjooYznmoTlgLwiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA3CisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwOAogbXNnaWQgInNldCBwYXJzaW5nIG9wdGlvbnMiCiBtc2dzdHIgIuiuvue9ruino+aekOmAiemhuSIKIAotIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDkKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTEwCiBtc2dpZCAiZG8gbm90IHRyZWF0IC0tLSBzcGVjaWFsbHkiCiBtc2dzdHIgIuS4jeimgeWvuSAtLS0g54m55q6K5aSE55CGIgogCi0jOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMAorIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMTEKIG1zZ2lkICJ0cmFpbGVyIgogbXNnc3RyICLlsL7pg6jnvbLlkI0iCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTExCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMgogbXNnaWQgInRyYWlsZXIocykgdG8gYWRkIgogbXNnc3RyICLopoHmt7vliqDnmoTlsL7pg6jnvbLlkI0iCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTIwCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEyMwogbXNnaWQgIi0tdHJhaWxlciB3aXRoIC0tb25seS1pbnB1dCBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLXRyYWlsZXIg5ZKMIC0tb25seS1pbnB1dCDlkIzml7bkvb/nlKjmsqHmnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTMwCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEzMwogbXNnaWQgIm5vIGlucHV0IGZpbGUgZ2l2ZW4gZm9yIGluLXBsYWNlIGVkaXRpbmciCiBtc2dzdHIgIuayoeaciee7meWHuuimgeWOn+S9jee8lui+keeahOaWh+S7tiIKIAotIzogYnVpbHRpbi9sb2cuYzo1NAorIzogYnVpbHRpbi9sb2cuYzo1NgogbXNnaWQgImdpdCBsb2cgWzxvcHRpb25zPl0gWzxyZXZpc2lvbi1yYW5nZT5dIFtbLS1dIDxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBsb2cgWzzpgInpobk+XSBbPOeJiOacrOiMg+WbtD5dIFtbLS1dIDzot6/lvoQ+Li4uXSIKIAotIzogYnVpbHRpbi9sb2cuYzo1NQorIzogYnVpbHRpbi9sb2cuYzo1NwogbXNnaWQgImdpdCBzaG93IFs8b3B0aW9ucz5dIDxvYmplY3Q+Li4uIgogbXNnc3RyICJnaXQgc2hvdyBbPOmAiemhuT5dIDzlr7nosaE+Li4uIgogCi0jOiBidWlsdGluL2xvZy5jOjk5CisjOiBidWlsdGluL2xvZy5jOjExMAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIC0tZGVjb3JhdGUgb3B0aW9uOiAlcyIKIG1zZ3N0ciAi5peg5pWI55qEIC0tZGVjb3JhdGUg6YCJ6aG577yaJXMiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTYyCi1tc2dpZCAic3VwcHJlc3MgZGlmZiBvdXRwdXQiCi1tc2dzdHIgIuS4jeaYvuekuuW3ruW8gui+k+WHuiIKLQotIzogYnVpbHRpbi9sb2cuYzoxNjMKKyM6IGJ1aWx0aW4vbG9nLmM6MTc0CiBtc2dpZCAic2hvdyBzb3VyY2UiCiBtc2dzdHIgIuaYvuekuua6kCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTc1CiBtc2dpZCAiVXNlIG1haWwgbWFwIGZpbGUiCiBtc2dzdHIgIuS9v+eUqOmCruS7tuaYoOWwhOaWh+S7tiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTc3CiBtc2dpZCAib25seSBkZWNvcmF0ZSByZWZzIHRoYXQgbWF0Y2ggPHBhdHRlcm4+IgogbXNnc3RyICLlj6rkv67ppbDkuI4gPOaooeW8jz4g5Yy56YWN55qE5byV55SoIgogCi0jOiBidWlsdGluL2xvZy5jOjE2OAorIzogYnVpbHRpbi9sb2cuYzoxNzkKIG1zZ2lkICJkbyBub3QgZGVjb3JhdGUgcmVmcyB0aGF0IG1hdGNoIDxwYXR0ZXJuPiIKIG1zZ3N0ciAi5LiN5L+u6aWw5ZKMIDzmqKHlvI8+IOWMuemFjeeahOW8leeUqCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjkKKyM6IGJ1aWx0aW4vbG9nLmM6MTgwCiBtc2dpZCAiZGVjb3JhdGUgb3B0aW9ucyIKIG1zZ3N0ciAi5L+u6aWw6YCJ6aG5IgogCi0jOiBidWlsdGluL2xvZy5jOjE3MgorIzogYnVpbHRpbi9sb2cuYzoxODMKIG1zZ2lkICJQcm9jZXNzIGxpbmUgcmFuZ2UgbixtIGluIGZpbGUsIGNvdW50aW5nIGZyb20gMSIKIG1zZ3N0ciAi5aSE55CG5paH5Lu25Lit56ysIG4g5YiwIG0g5LmL6Ze055qE6KGM77yM5LuOIDEg5byA5aeLIgogCi0jOiBidWlsdGluL2xvZy5jOjI3MAorIzogYnVpbHRpbi9sb2cuYzoyODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmluYWwgb3V0cHV0OiAlZCAlc1xuIgogbXNnc3RyICLmnIDnu4jovpPlh7rvvJolZCAlc1xuIgogCi0jOiBidWlsdGluL2xvZy5jOjUyMgorIzogYnVpbHRpbi9sb2cuYzo1MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZ2l0IHNob3cgJXM6IGJhZCBmaWxlIgogbXNnc3RyICJnaXQgc2hvdyAlczog5o2f5Z2P55qE5paH5Lu2IgogCi0jOiBidWlsdGluL2xvZy5jOjUzNyBidWlsdGluL2xvZy5jOjYzMQorIzogYnVpbHRpbi9sb2cuYzo1NTAgYnVpbHRpbi9sb2cuYzo2NDUKICMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IHJlYWQgb2JqZWN0ICVzIgorbXNnaWQgImNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+W5a+56LGhICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjY1NQorIzogYnVpbHRpbi9sb2cuYzo2NzAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biB0eXBlOiAlZCIKK21zZ2lkICJ1bmtub3duIHR5cGU6ICVkIgogbXNnc3RyICLmnKrnn6XnsbvlnovvvJolZCIKIAotIzogYnVpbHRpbi9sb2cuYzo3NzYKKyM6IGJ1aWx0aW4vbG9nLmM6ODE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNvdmVyIGZyb20gZGVzY3JpcHRpb24gbW9kZSIKK21zZ3N0ciAiJXPvvJrku47mj4/ov7DnlJ/miJDpmYTlh73nmoTmqKHlvI/ml6DmlYgiCisKKyM6IGJ1aWx0aW4vbG9nLmM6ODIxCiBtc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKIG1zZ3N0ciAiZm9ybWF0LmhlYWRlcnMg5rKh5pyJ5YC8IgogCi0jOiBidWlsdGluL2xvZy5jOjg3NworIzogYnVpbHRpbi9sb2cuYzo5MzYKIG1zZ2lkICJuYW1lIG9mIG91dHB1dCBkaXJlY3RvcnkgaXMgdG9vIGxvbmciCiBtc2dzdHIgIui+k+WHuuebruW9leWQjeWkqumVvyIKIAotIzogYnVpbHRpbi9sb2cuYzo4OTMKKyM6IGJ1aWx0aW4vbG9nLmM6OTUyCiAjLCBjLWZvcm1hdAotbXNnaWQgIkNhbm5vdCBvcGVuIHBhdGNoIGZpbGUgJXMiCittc2dpZCAiY2Fubm90IG9wZW4gcGF0Y2ggZmlsZSAlcyIKIG1zZ3N0ciAi5peg5rOV5omT5byA6KGl5LiB5paH5Lu2ICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjkxMAotbXNnaWQgIk5lZWQgZXhhY3RseSBvbmUgcmFuZ2UuIgotbXNnc3RyICLlj6rpnIDopoHkuIDkuKrojIPlm7TjgIIiCisjOiBidWlsdGluL2xvZy5jOjk2OQorbXNnaWQgIm5lZWQgZXhhY3RseSBvbmUgcmFuZ2UiCittc2dzdHIgIuWPqumcgOimgeS4gOS4quiMg+WbtCIKIAotIzogYnVpbHRpbi9sb2cuYzo5MjAKLW1zZ2lkICJOb3QgYSByYW5nZS4iCi1tc2dzdHIgIuS4jeaYr+S4gOS4quiMg+WbtOOAgiIKKyM6IGJ1aWx0aW4vbG9nLmM6OTc5Cittc2dpZCAibm90IGEgcmFuZ2UiCittc2dzdHIgIuS4jeaYr+S4gOS4quiMg+WbtCIKIAotIzogYnVpbHRpbi9sb2cuYzoxMDQzCi1tc2dpZCAiQ292ZXIgbGV0dGVyIG5lZWRzIGVtYWlsIGZvcm1hdCIKLW1zZ3N0ciAi5L+h5bCB6ZyA6KaB6YKu5Lu25Zyw5Z2A5qC85byPIgorIzogYnVpbHRpbi9sb2cuYzoxMTQzCittc2dpZCAiY292ZXIgbGV0dGVyIG5lZWRzIGVtYWlsIGZvcm1hdCIKK21zZ3N0ciAi6ZmE5Ye96ZyA6KaB6YKu5Lu25Zyw5Z2A5qC85byPIgogCi0jOiBidWlsdGluL2xvZy5jOjExMTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTE0OQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgY292ZXItbGV0dGVyIGZpbGUiCittc2dzdHIgIuaXoOazleWIm+W7uumZhOWHveaWh+S7tiIKKworIzogYnVpbHRpbi9sb2cuYzoxMjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgImluc2FuZSBpbi1yZXBseS10bzogJXMiCiBtc2dzdHIgIuS4jeato+W4uOeahCBpbi1yZXBseS10b++8miVzIgogCi0jOiBidWlsdGluL2xvZy5jOjExNDYKKyM6IGJ1aWx0aW4vbG9nLmM6MTI1NQogbXNnaWQgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcHRpb25zPl0gWzxzaW5jZT4gfCA8cmV2aXNpb24tcmFuZ2U+XSIKIG1zZ3N0ciAiZ2l0IGZvcm1hdC1wYXRjaCBbPOmAiemhuT5dIFs85LuOPiB8IDzniYjmnKzojIPlm7Q+XSIKIAotIzogYnVpbHRpbi9sb2cuYzoxMjA0Ci1tc2dpZCAiVHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iCisjOiBidWlsdGluL2xvZy5jOjEzMTMKK21zZ2lkICJ0d28gb3V0cHV0IGRpcmVjdG9yaWVzPyIKIG1zZ3N0ciAi5Lik5Liq6L6T5Ye655uu5b2V77yfIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMTEgYnVpbHRpbi9sb2cuYzoyMDU0IGJ1aWx0aW4vbG9nLmM6MjA1NiBidWlsdGluL2xvZy5jOjIwNjgKKyM6IGJ1aWx0aW4vbG9nLmM6MTQyNCBidWlsdGluL2xvZy5jOjIxOTcgYnVpbHRpbi9sb2cuYzoyMTk5IGJ1aWx0aW4vbG9nLmM6MjIxMQogIywgYy1mb3JtYXQKLW1zZ2lkICJVbmtub3duIGNvbW1pdCAlcyIKK21zZ2lkICJ1bmtub3duIGNvbW1pdCAlcyIKIG1zZ3N0ciAi5pyq55+l5o+Q5LqkICVzIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMjEgYnVpbHRpbi9ub3Rlcy5jOjg5NCBidWlsdGluL3RhZy5jOjUyNgorIzogYnVpbHRpbi9sb2cuYzoxNDM0IGJ1aWx0aW4vcmVwbGFjZS5jOjU4IGJ1aWx0aW4vcmVwbGFjZS5jOjIwNworIzogYnVpbHRpbi9yZXBsYWNlLmM6MjEwCiAjLCBjLWZvcm1hdAotbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgotbXNnc3RyICLml6Dms5Xop6PmnpAgJyVzJyDkuLrkuIDkuKrmnInmlYjlvJXnlKjjgIIiCittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZiIKK21zZ3N0ciAi5peg5rOV5bCGICclcycg6Kej5p6Q5Li65LiA5Liq5pyJ5pWI5byV55SoIgogCi0jOiBidWlsdGluL2xvZy5jOjEzMjYKLW1zZ2lkICJDb3VsZCBub3QgZmluZCBleGFjdCBtZXJnZSBiYXNlLiIKLW1zZ3N0ciAi5LiN6IO95om+5Yiw5YeG56Gu55qE5ZCI5bm25Z+657q/44CCIgorIzogYnVpbHRpbi9sb2cuYzoxNDM5Cittc2dpZCAiY291bGQgbm90IGZpbmQgZXhhY3QgbWVyZ2UgYmFzZSIKK21zZ3N0ciAi5LiN6IO95om+5Yiw5YeG56Gu55qE5ZCI5bm25Z+657q/IgogCi0jOiBidWlsdGluL2xvZy5jOjEzMzAKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ0MwogbXNnaWQgIiIKLSJGYWlsZWQgdG8gZ2V0IHVwc3RyZWFtLCBpZiB5b3Ugd2FudCB0byByZWNvcmQgYmFzZSBjb21taXQgYXV0b21hdGljYWxseSxcbiIKKyJmYWlsZWQgdG8gZ2V0IHVwc3RyZWFtLCBpZiB5b3Ugd2FudCB0byByZWNvcmQgYmFzZSBjb21taXQgYXV0b21hdGljYWxseSxcbiIKICJwbGVhc2UgdXNlIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8gdG8gdHJhY2sgYSByZW1vdGUgYnJhbmNoLlxuIgotIk9yIHlvdSBjb3VsZCBzcGVjaWZ5IGJhc2UgY29tbWl0IGJ5IC0tYmFzZT08YmFzZS1jb21taXQtaWQ+IG1hbnVhbGx5LiIKKyJPciB5b3UgY291bGQgc3BlY2lmeSBiYXNlIGNvbW1pdCBieSAtLWJhc2U9PGJhc2UtY29tbWl0LWlkPiBtYW51YWxseSIKIG1zZ3N0ciAiIgogIuaXoOazleW+l+WIsOS4iua4uOWcsOWdgO+8jOWmguaenOS9oOaDs+iHquWKqOiusOW9leWfuue6v+aPkOS6pO+8jOivt+S9v+eUqOWRveS7pFxuIgogImdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG8g5p2l6Lef6Liq5LiA5Liq6L+c56iL5YiG5pSv44CC5oiW6ICF5L2g5Y+v5Lul6YCa6L+HXG4iCi0i5Y+C5pWwIC0tYmFzZT085Z+657q/5o+Q5LqkPiDmiYvliqjmjIflrprkuIDkuKrln7rnur/mj5DkuqTjgIIiCisi5Y+C5pWwIC0tYmFzZT085Z+657q/5o+Q5LqkPiDmiYvliqjmjIflrprkuIDkuKrln7rnur/mj5DkuqQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM1MAotbXNnaWQgIkZhaWxlZCB0byBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCisjOiBidWlsdGluL2xvZy5jOjE0NjMKK21zZ2lkICJmYWlsZWQgdG8gZmluZCBleGFjdCBtZXJnZSBiYXNlIgogbXNnc3RyICLml6Dms5Xmib7liLDlh4bnoa7nmoTlkIjlubbln7rnur8iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM2MQorIzogYnVpbHRpbi9sb2cuYzoxNDc0CiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkIGJlIHRoZSBhbmNlc3RvciBvZiByZXZpc2lvbiBsaXN0IgogbXNnc3RyICLln7rnur/mj5DkuqTlupTor6XmmK/niYjmnKzliJfooajnmoTnpZblhYgiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTM2NQorIzogYnVpbHRpbi9sb2cuYzoxNDc4CiBtc2dpZCAiYmFzZSBjb21taXQgc2hvdWxkbid0IGJlIGluIHJldmlzaW9uIGxpc3QiCiBtc2dzdHIgIuWfuue6v+aPkOS6pOS4jeW6lOivpeWHuueOsOWcqOeJiOacrOWIl+ihqOS4rSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNDE4CisjOiBidWlsdGluL2xvZy5jOjE1MzEKIG1zZ2lkICJjYW5ub3QgZ2V0IHBhdGNoIGlkIgogbXNnc3RyICLml6Dms5XlvpfliLDooaXkuIEgaWQiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTQ3MAorIzogYnVpbHRpbi9sb2cuYzoxNTgzCiBtc2dpZCAiZmFpbGVkIHRvIGluZmVyIHJhbmdlLWRpZmYgcmFuZ2VzIgogbXNnc3RyICLml6Dms5Xmjqjmlq0gcmFuZ2UtZGlmZiDojIPlm7QiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUxNQorIzogYnVpbHRpbi9sb2cuYzoxNjI5CiBtc2dpZCAidXNlIFtQQVRDSCBuL21dIGV2ZW4gd2l0aCBhIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAi5L2/55SoIFtQQVRDSCBuL21d77yM5Y2z5L2/5Y+q5pyJ5LiA5Liq6KGl5LiBIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MTgKKyM6IGJ1aWx0aW4vbG9nLmM6MTYzMgogbXNnaWQgInVzZSBbUEFUQ0hdIGV2ZW4gd2l0aCBtdWx0aXBsZSBwYXRjaGVzIgogbXNnc3RyICLkvb/nlKggW1BBVENIXe+8jOWNs+S9v+acieWkmuS4quihpeS4gSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTIyCisjOiBidWlsdGluL2xvZy5jOjE2MzYKIG1zZ2lkICJwcmludCBwYXRjaGVzIHRvIHN0YW5kYXJkIG91dCIKIG1zZ3N0ciAi5omT5Y2w6KGl5LiB5Yiw5qCH5YeG6L6T5Ye6IgogCi0jOiBidWlsdGluL2xvZy5jOjE1MjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTYzOAogbXNnaWQgImdlbmVyYXRlIGEgY292ZXIgbGV0dGVyIgotbXNnc3RyICLnlJ/miJDkuIDlsIHpmYTkv6EiCittc2dzdHIgIueUn+aIkOS4gOWwgemZhOWHvSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTI2CisjOiBidWlsdGluL2xvZy5jOjE2NDAKIG1zZ2lkICJ1c2Ugc2ltcGxlIG51bWJlciBzZXF1ZW5jZSBmb3Igb3V0cHV0IGZpbGUgbmFtZXMiCiBtc2dzdHIgIuS9v+eUqOeugOWNleeahOaVsOWtl+W6j+WIl+S9nOS4uui+k+WHuuaWh+S7tuWQjSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTI3CisjOiBidWlsdGluL2xvZy5jOjE2NDEKIG1zZ2lkICJzZngiCiBtc2dzdHIgIuWQjue8gCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTI4CisjOiBidWlsdGluL2xvZy5jOjE2NDIKIG1zZ2lkICJ1c2UgPHNmeD4gaW5zdGVhZCBvZiAnLnBhdGNoJyIKIG1zZ3N0ciAi5L2/55SoIDzlkI7nvIA+IOS7o+abvyAnLnBhdGNoJyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTMwCisjOiBidWlsdGluL2xvZy5jOjE2NDQKIG1zZ2lkICJzdGFydCBudW1iZXJpbmcgcGF0Y2hlcyBhdCA8bj4gaW5zdGVhZCBvZiAxIgogbXNnc3RyICLooaXkuIHku6UgPG4+IOW8gOWni+e8luWPt++8jOiAjOS4jeaYrzEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzMgorIzogYnVpbHRpbi9sb2cuYzoxNjQ2CiBtc2dpZCAibWFyayB0aGUgc2VyaWVzIGFzIE50aCByZS1yb2xsIgogbXNnc3RyICLmoIforrDooaXkuIHns7vliJfmmK/nrKzlh6DmrKHph43liLYiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTUzNAorIzogYnVpbHRpbi9sb2cuYzoxNjQ4CiBtc2dpZCAiVXNlIFtSRkMgUEFUQ0hdIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAi5L2/55SoIFtSRkMgUEFUQ0hdIOS7o+abvyBbUEFUQ0hdIgogCi0jOiBidWlsdGluL2xvZy5jOjE1MzcKKyM6IGJ1aWx0aW4vbG9nLmM6MTY1MQorbXNnaWQgImNvdmVyLWZyb20tZGVzY3JpcHRpb24tbW9kZSIKK21zZ3N0ciAi5LuO5YiG5pSv5o+P6L+w6I635Y+W6ZmE5Ye955qE5qih5byPIgorCisjOiBidWlsdGluL2xvZy5jOjE2NTIKK21zZ2lkICJnZW5lcmF0ZSBwYXJ0cyBvZiBhIGNvdmVyIGxldHRlciBiYXNlZCBvbiBhIGJyYW5jaCdzIGRlc2NyaXB0aW9uIgorbXNnc3RyICLln7rkuo7kuIDkuKrliIbmlK/mj4/ov7DnlJ/miJDpg6jliIbpmYTlh70iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY1NAogbXNnaWQgIlVzZSBbPHByZWZpeD5dIGluc3RlYWQgb2YgW1BBVENIXSIKIG1zZ3N0ciAi5L2/55SoIFs85YmN57yAPl0g5Luj5pu/IFtQQVRDSF0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MAorIzogYnVpbHRpbi9sb2cuYzoxNjU3CiBtc2dpZCAic3RvcmUgcmVzdWx0aW5nIGZpbGVzIGluIDxkaXI+IgogbXNnc3RyICLmiornu5Pmnpzmlofku7blrZjlgqjlnKggPOebruW9lT4iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0MworIzogYnVpbHRpbi9sb2cuYzoxNjYwCiBtc2dpZCAiZG9uJ3Qgc3RyaXAvYWRkIFtQQVRDSF0iCiBtc2dzdHIgIuS4jeWIoOmZpC/mt7vliqAgW1BBVENIXSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTQ2CisjOiBidWlsdGluL2xvZy5jOjE2NjMKIG1zZ2lkICJkb24ndCBvdXRwdXQgYmluYXJ5IGRpZmZzIgogbXNnc3RyICLkuI3ovpPlh7rkuozov5vliLblt67lvIIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU0OAorIzogYnVpbHRpbi9sb2cuYzoxNjY1CiBtc2dpZCAib3V0cHV0IGFsbC16ZXJvIGhhc2ggaW4gRnJvbSBoZWFkZXIiCiBtc2dzdHIgIuWcqCBGcm9tIOWktOS/oeaBr+S4rei+k+WHuuWFqOS4uumbtueahOWTiOW4jOWAvCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTUwCisjOiBidWlsdGluL2xvZy5jOjE2NjcKIG1zZ2lkICJkb24ndCBpbmNsdWRlIGEgcGF0Y2ggbWF0Y2hpbmcgYSBjb21taXQgdXBzdHJlYW0iCiBtc2dzdHIgIuS4jeWMheWQq+W3suWcqOS4iua4uOaPkOS6pOS4reeahOihpeS4gSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTUyCisjOiBidWlsdGluL2xvZy5jOjE2NjkKIG1zZ2lkICJzaG93IHBhdGNoIGZvcm1hdCBpbnN0ZWFkIG9mIGRlZmF1bHQgKHBhdGNoICsgc3RhdCkiCiBtc2dzdHIgIuaYvuekuue6r+ihpeS4geagvOW8j+iAjOmdnum7mOiupOeahO+8iOihpeS4gSvnirbmgIHvvIkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NAorIzogYnVpbHRpbi9sb2cuYzoxNjcxCiBtc2dpZCAiTWVzc2FnaW5nIgogbXNnc3RyICLpgq7ku7blj5HpgIEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NQorIzogYnVpbHRpbi9sb2cuYzoxNjcyCiBtc2dpZCAiaGVhZGVyIgogbXNnc3RyICJoZWFkZXIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU1NgorIzogYnVpbHRpbi9sb2cuYzoxNjczCiBtc2dpZCAiYWRkIGVtYWlsIGhlYWRlciIKIG1zZ3N0ciAi5re75Yqg6YKu5Lu25aS0IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTcgYnVpbHRpbi9sb2cuYzoxNTU5CisjOiBidWlsdGluL2xvZy5jOjE2NzQgYnVpbHRpbi9sb2cuYzoxNjc2CiBtc2dpZCAiZW1haWwiCiBtc2dzdHIgIumCruS7tuWcsOWdgCIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTU3CisjOiBidWlsdGluL2xvZy5jOjE2NzQKIG1zZ2lkICJhZGQgVG86IGhlYWRlciIKIG1zZ3N0ciAi5re75Yqg5pS25Lu25Lq6IgogCi0jOiBidWlsdGluL2xvZy5jOjE1NTkKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3NgogbXNnaWQgImFkZCBDYzogaGVhZGVyIgogbXNnc3RyICLmt7vliqDmioTpgIEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2MQorIzogYnVpbHRpbi9sb2cuYzoxNjc4CiBtc2dpZCAiaWRlbnQiCiBtc2dzdHIgIuagh+ivhiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTYyCisjOiBidWlsdGluL2xvZy5jOjE2NzkKIG1zZ2lkICJzZXQgRnJvbSBhZGRyZXNzIHRvIDxpZGVudD4gKG9yIGNvbW1pdHRlciBpZGVudCBpZiBhYnNlbnQpIgogbXNnc3RyICLlsIYgRnJvbSDlnLDlnYDorr7nva7kuLogPOagh+ivhj7vvIjlpoLoi6XkuI3mj5DkvpvvvIzliJnnlKjmj5DkuqTogIUgSUQg5YGa5Li65Zyw5Z2A77yJIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NjQKKyM6IGJ1aWx0aW4vbG9nLmM6MTY4MQogbXNnaWQgIm1lc3NhZ2UtaWQiCiBtc2dzdHIgIumCruS7tuagh+ivhiIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTY1CisjOiBidWlsdGluL2xvZy5jOjE2ODIKIG1zZ2lkICJtYWtlIGZpcnN0IG1haWwgYSByZXBseSB0byA8bWVzc2FnZS1pZD4iCiBtc2dzdHIgIuS9v+esrOS4gOWwgemCruS7tuS9nOS4uuWvuSA86YKu5Lu25qCH6K+GPiDnmoTlm57lpI0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU2NiBidWlsdGluL2xvZy5jOjE1NjkKKyM6IGJ1aWx0aW4vbG9nLmM6MTY4MyBidWlsdGluL2xvZy5jOjE2ODYKIG1zZ2lkICJib3VuZGFyeSIKIG1zZ3N0ciAi6L6555WMIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NjcKKyM6IGJ1aWx0aW4vbG9nLmM6MTY4NAogbXNnaWQgImF0dGFjaCB0aGUgcGF0Y2giCiBtc2dzdHIgIumZhOS7tuaWueW8j+a3u+WKoOihpeS4gSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTcwCisjOiBidWlsdGluL2xvZy5jOjE2ODcKIG1zZ2lkICJpbmxpbmUgdGhlIHBhdGNoIgogbXNnc3RyICLlhoXogZTmmL7npLrooaXkuIEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU3NAorIzogYnVpbHRpbi9sb2cuYzoxNjkxCiBtc2dpZCAiZW5hYmxlIG1lc3NhZ2UgdGhyZWFkaW5nLCBzdHlsZXM6IHNoYWxsb3csIGRlZXAiCiBtc2dzdHIgIuWQr+eUqOmCruS7tue6v+e0ou+8jOmjjuagvO+8mua1he+8jOa3sSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc2CisjOiBidWlsdGluL2xvZy5jOjE2OTMKIG1zZ2lkICJzaWduYXR1cmUiCiBtc2dzdHIgIuetvuWQjSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc3CisjOiBidWlsdGluL2xvZy5jOjE2OTQKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUiCiBtc2dzdHIgIua3u+WKoOS4gOS4quetvuWQjSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTc4CisjOiBidWlsdGluL2xvZy5jOjE2OTUKIG1zZ2lkICJiYXNlLWNvbW1pdCIKIG1zZ3N0ciAi5Z+657q/5o+Q5LqkIgogCi0jOiBidWlsdGluL2xvZy5jOjE1NzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5NgogbXNnaWQgImFkZCBwcmVyZXF1aXNpdGUgdHJlZSBpbmZvIHRvIHRoZSBwYXRjaCBzZXJpZXMiCiBtc2dzdHIgIuS4uuihpeS4geWIl+ihqOa3u+WKoOWJjee9ruagkeS/oeaBryIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTgxCisjOiBidWlsdGluL2xvZy5jOjE2OTgKIG1zZ2lkICJhZGQgYSBzaWduYXR1cmUgZnJvbSBhIGZpbGUiCiBtc2dzdHIgIuS7juaWh+S7tua3u+WKoOS4gOS4quetvuWQjSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTgyCisjOiBidWlsdGluL2xvZy5jOjE2OTkKIG1zZ2lkICJkb24ndCBwcmludCB0aGUgcGF0Y2ggZmlsZW5hbWVzIgogbXNnc3RyICLkuI3opoHmiZPljbDooaXkuIHmlofku7blkI0iCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU4NAorIzogYnVpbHRpbi9sb2cuYzoxNzAxCiBtc2dpZCAic2hvdyBwcm9ncmVzcyB3aGlsZSBnZW5lcmF0aW5nIHBhdGNoZXMiCiBtc2dzdHIgIuWcqOeUn+aIkOihpeS4geaXtuaYvuekuui/m+W6piIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTg1Ci1tc2dpZCAicmV2IgotbXNnc3RyICLniYjmnKwiCi0KLSM6IGJ1aWx0aW4vbG9nLmM6MTU4NgorIzogYnVpbHRpbi9sb2cuYzoxNzAzCiBtc2dpZCAic2hvdyBjaGFuZ2VzIGFnYWluc3QgPHJldj4gaW4gY292ZXIgbGV0dGVyIG9yIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAi5Zyo6ZmE5Ye95oiW5Y2V5Liq6KGl5LiB5Lit5pi+56S65ZKMIDxyZXY+IOeahOW3ruW8giIKIAotIzogYnVpbHRpbi9sb2cuYzoxNTg5CisjOiBidWlsdGluL2xvZy5jOjE3MDYKIG1zZ2lkICJzaG93IGNoYW5nZXMgYWdhaW5zdCA8cmVmc3BlYz4gaW4gY292ZXIgbGV0dGVyIG9yIHNpbmdsZSBwYXRjaCIKIG1zZ3N0ciAi5Zyo6ZmE5Ye95oiW5Y2V5Liq6KGl5LiB5Lit5pi+56S65ZKMIDxyZWZzcGVjPiDnmoTlt67lvIIiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTU5MQorIzogYnVpbHRpbi9sb2cuYzoxNzA4CiBtc2dpZCAicGVyY2VudGFnZSBieSB3aGljaCBjcmVhdGlvbiBpcyB3ZWlnaHRlZCIKIG1zZ3N0ciAi5Yib5bu65p2D6YeN55qE55m+5YiG5q+UIgogCi0jOiBidWlsdGluL2xvZy5jOjE2NjYKKyM6IGJ1aWx0aW4vbG9nLmM6MTc5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICVzIgogbXNnc3RyICLljIXlkKvml6DmlYjnmoTouqvku73moIfor4bvvJolcyIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjgxCisjOiBidWlsdGluL2xvZy5jOjE4MDcKIG1zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKIG1zZ3N0ciAiLW4g5ZKMIC1rIOS6kuaWpSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNjgzCisjOiBidWlsdGluL2xvZy5jOjE4MDkKIG1zZ2lkICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIGFuZCAtayBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgogbXNnc3RyICItLXN1YmplY3QtcHJlZml4Ly0tcmZjIOWSjCAtayDkupLmlqUiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY5MQorIzogYnVpbHRpbi9sb2cuYzoxODE3CiBtc2dpZCAiLS1uYW1lLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1uYW1lLW9ubHkg5peg5oSP5LmJIgogCi0jOiBidWlsdGluL2xvZy5jOjE2OTMKKyM6IGJ1aWx0aW4vbG9nLmM6MTgxOQogbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKIG1zZ3N0ciAiLS1uYW1lLXN0YXR1cyDml6DmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTY5NQorIzogYnVpbHRpbi9sb2cuYzoxODIxCiBtc2dpZCAiLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWNoZWNrIOaXoOaEj+S5iSIKIAotIzogYnVpbHRpbi9sb2cuYzoxNzI3CisjOiBidWlsdGluL2xvZy5jOjE4NTQKIG1zZ2lkICJzdGFuZGFyZCBvdXRwdXQsIG9yIGRpcmVjdG9yeSwgd2hpY2ggb25lPyIKIG1zZ3N0ciAi5qCH5YeG6L6T5Ye65oiW55uu5b2V77yM5ZOq5LiA5Liq77yfIgogCi0jOiBidWlsdGluL2xvZy5jOjE3MjkKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKLW1zZ3N0ciAi5LiN6IO95Yib5bu655uu5b2VICclcyciCi0KLSM6IGJ1aWx0aW4vbG9nLmM6MTgxNgorIzogYnVpbHRpbi9sb2cuYzoxOTU4CiBtc2dpZCAiLS1pbnRlcmRpZmYgcmVxdWlyZXMgLS1jb3Zlci1sZXR0ZXIgb3Igc2luZ2xlIHBhdGNoIgogbXNnc3RyICItLWludGVyZGlmZiDpnIDopoEgLS1jb3Zlci1sZXR0ZXIg5oiW5Y2V5LiA6KGl5LiBIgogCi0jOiBidWlsdGluL2xvZy5jOjE4MjAKKyM6IGJ1aWx0aW4vbG9nLmM6MTk2MgogbXNnaWQgIkludGVyZGlmZjoiCiBtc2dzdHIgIueJiOacrOmXtOW3ruW8gu+8miIKIAotIzogYnVpbHRpbi9sb2cuYzoxODIxCisjOiBidWlsdGluL2xvZy5jOjE5NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW50ZXJkaWZmIGFnYWluc3QgdiVkOiIKIG1zZ3N0ciAi5a+5IHYlZCDnmoTniYjmnKzlt67lvILvvJoiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTgyNworIzogYnVpbHRpbi9sb2cuYzoxOTY5CiBtc2dpZCAiLS1jcmVhdGlvbi1mYWN0b3IgcmVxdWlyZXMgLS1yYW5nZS1kaWZmIgogbXNnc3RyICItLWNyZWF0aW9uLWZhY3RvciDpnIDopoEgLS1yYW5nZS1kaWZmIgogCi0jOiBidWlsdGluL2xvZy5jOjE4MzEKKyM6IGJ1aWx0aW4vbG9nLmM6MTk3MwogbXNnaWQgIi0tcmFuZ2UtZGlmZiByZXF1aXJlcyAtLWNvdmVyLWxldHRlciBvciBzaW5nbGUgcGF0Y2giCiBtc2dzdHIgIi0tcmFuZ2UtZGlmZiDpnIDopoEgLS1jb3Zlci1sZXR0ZXIg5oiW5Y2V5LiA6KGl5LiBIgogCi0jOiBidWlsdGluL2xvZy5jOjE4MzkKKyM6IGJ1aWx0aW4vbG9nLmM6MTk4MQogbXNnaWQgIlJhbmdlLWRpZmY6IgogbXNnc3RyICLojIPlm7Tlt67lvILvvJoiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTg0MAorIzogYnVpbHRpbi9sb2cuYzoxOTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJhbmdlLWRpZmYgYWdhaW5zdCB2JWQ6IgogbXNnc3RyICLlr7kgdiVkIOeahOiMg+WbtOW3ruW8gu+8miIKIAotIzogYnVpbHRpbi9sb2cuYzoxODUxCisjOiBidWlsdGluL2xvZy5jOjE5OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgc2lnbmF0dXJlIGZpbGUgJyVzJyIKIG1zZ3N0ciAi5peg5rOV6K+75Y+W562+5ZCN5paH5Lu2ICclcyciCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTg4NworIzogYnVpbHRpbi9sb2cuYzoyMDI5CiBtc2dpZCAiR2VuZXJhdGluZyBwYXRjaGVzIgogbXNnc3RyICLnlJ/miJDooaXkuIEiCiAKLSM6IGJ1aWx0aW4vbG9nLmM6MTkzMQotbXNnaWQgIkZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgorIzogYnVpbHRpbi9sb2cuYzoyMDczCittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZXMiCiBtc2dzdHIgIuaXoOazleWIm+W7uui+k+WHuuaWh+S7tiIKIAotIzogYnVpbHRpbi9sb2cuYzoxOTg5CisjOiBidWlsdGluL2xvZy5jOjIxMzIKIG1zZ2lkICJnaXQgY2hlcnJ5IFstdl0gWzx1cHN0cmVhbT4gWzxoZWFkPiBbPGxpbWl0Pl1dXSIKIG1zZ3N0ciAiZ2l0IGNoZXJyeSBbLXZdIFs85LiK5ri4PiBbPOWktD4gWzzpmZDliLY+XV1dIgogCi0jOiBidWlsdGluL2xvZy5jOjIwNDMKKyM6IGJ1aWx0aW4vbG9nLmM6MjE4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCiBtc2dzdHIgIuS4jeiDveaJvuWIsOi3n+i4queahOi/nOeoi+WIhuaUr++8jOivt+aJi+W3peaMh+WumiA85LiK5ri4PuOAglxuIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NDY5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDcwCiBtc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgogbXNnc3RyICJnaXQgbHMtZmlsZXMgWzzpgInpobk+XSBbPOaWh+S7tj4uLi5dIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI2CiBtc2dpZCAiaWRlbnRpZnkgdGhlIGZpbGUgc3RhdHVzIHdpdGggdGFncyIKIG1zZ3N0ciAi55So5qCH562+5qCH6K+G5paH5Lu255qE54q25oCBIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTI3CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI4CiBtc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCiBtc2dzdHIgIuS9v+eUqOWwj+WGmeWtl+avjeihqOekuiAn5YGH6K6+5pyq5pS55Y+Y55qEJyDmlofku7YiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MjkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzAKIG1zZ2lkICJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdmc21vbml0b3IgY2xlYW4nIGZpbGVzIgogbXNnc3RyICLkvb/nlKjlsI/lhpnlrZfmr43ooajnpLogJ2ZzbW9uaXRvciBjbGVhbicg5paH5Lu2IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTMxCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTMyCiBtc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCiBtc2dzdHIgIuaYvuekuue8k+WtmOeahOaWh+S7tu+8iOm7mOiupO+8iSIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzMworIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNAogbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLmmL7npLrlt7LliKDpmaTnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzUKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzYKIG1zZ2lkICJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIuaYvuekuuW3suS/ruaUueeahOaWh+S7tiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNworIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOAogbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKIG1zZ3N0ciAi5pi+56S65YW25a6D5paH5Lu2IgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTM5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQwCiBtc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIuaYvuekuuW/veeVpeeahOaWh+S7tiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MgorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MwogbXNnaWQgInNob3cgc3RhZ2VkIGNvbnRlbnRzJyBvYmplY3QgbmFtZSBpbiB0aGUgb3V0cHV0IgogbXNnc3RyICLmmL7npLrmmoLlrZjljLrlhoXlrrnnmoTlr7nosaHlkI3np7AiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDQKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKIG1zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgogbXNnc3RyICLmmL7npLrmlofku7bns7vnu5/pnIDopoHliKDpmaTnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDYKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDcKIG1zZ2lkICJzaG93ICdvdGhlcicgZGlyZWN0b3JpZXMnIG5hbWVzIG9ubHkiCiBtc2dzdHIgIuWPquaYvuekuuKAnOWFtuS7luKAneebruW9leeahOWQjeensCIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OQogbXNnaWQgInNob3cgbGluZSBlbmRpbmdzIG9mIGZpbGVzIgogbXNnc3RyICLmmL7npLrmlofku7bmjaLooYznrKbmoLzlvI8iCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTAKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTEKIG1zZ2lkICJkb24ndCBzaG93IGVtcHR5IGRpcmVjdG9yaWVzIgogbXNnc3RyICLkuI3mmL7npLrnqbrnm67lvZUiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTMKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTQKIG1zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCiBtc2dzdHIgIuaYvuekuuacquWQiOW5tueahOaWh+S7tiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NQorIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NgogbXNnaWQgInNob3cgcmVzb2x2ZS11bmRvIGluZm9ybWF0aW9uIgogbXNnc3RyICLmmL7npLogcmVzb2x2ZS11bmRvIOS/oeaBryIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1OAogbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKIG1zZ3N0ciAi5Yy56YWN5o6S6Zmk5paH5Lu255qE5qih5byPIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTYwCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTYxCiBtc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKIG1zZ3N0ciAi5LuOIDzmlofku7Y+IOS4reivu+WPluaOkumZpOaooeW8jyIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU2MworIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NAogbXNnaWQgInJlYWQgYWRkaXRpb25hbCBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgcGF0dGVybnMgaW4gPGZpbGU+IgogbXNnc3RyICLku44gPOaWh+S7tj4g6K+75Y+W6aKd5aSW55qE5q+P5Liq55uu5b2V55qE5o6S6Zmk5qih5byPIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTY1CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY2CiBtc2dpZCAiYWRkIHRoZSBzdGFuZGFyZCBnaXQgZXhjbHVzaW9ucyIKIG1zZ3N0ciAi5re75Yqg5qCH5YeG55qEIGdpdCDmjpLpmaQiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NjkKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzAKIG1zZ2lkICJtYWtlIHRoZSBvdXRwdXQgcmVsYXRpdmUgdG8gdGhlIHByb2plY3QgdG9wIGRpcmVjdG9yeSIKIG1zZ3N0ciAi5pi+56S655u45a+55LqO6aG257qn55uu5b2V55qE5paH5Lu25ZCNIgogCi0jOiBidWlsdGluL2xzLWZpbGVzLmM6NTcyCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTczCiBtc2dpZCAicmVjdXJzZSB0aHJvdWdoIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIuWcqOWtkOaooee7hOS4remAkuW9kiIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU3NAorIzogYnVpbHRpbi9scy1maWxlcy5jOjU3NQogbXNnaWQgImlmIGFueSA8ZmlsZT4gaXMgbm90IGluIHRoZSBpbmRleCwgdHJlYXQgdGhpcyBhcyBhbiBlcnJvciIKIG1zZ3N0ciAi5aaC5p6c5Lu75L2VIDzmlofku7Y+IOmDveS4jeWcqOe0ouW8leWMuu+8jOinhuS4uumUmeivryIKIAotIzogYnVpbHRpbi9scy1maWxlcy5jOjU3NQotbXNnaWQgInRyZWUtaXNoIgotbXNnc3RyICLmoJHmiJbmj5DkuqQiCi0KICM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzYKLW1zZ2lkICJwcmV0ZW5kIHRoYXQgcGF0aHMgcmVtb3ZlZCBzaW5jZSA8dHJlZS1pc2g+IGFyZSBzdGlsbCBwcmVzZW50IgotbXNnc3RyICLlgYfoo4Xoh6rku44gPOagkeaIluaPkOS6pD4g5LmL5ZCO5Yig6Zmk55qE6Lev5b6E5LuN54S25a2Y5ZyoIgorbXNnaWQgInRyZWUtaXNoIgorbXNnc3RyICLmoJHlr7nosaEiCiAKLSM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzgKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzcKK21zZ2lkICJwcmV0ZW5kIHRoYXQgcGF0aHMgcmVtb3ZlZCBzaW5jZSA8dHJlZS1pc2g+IGFyZSBzdGlsbCBwcmVzZW50IgorbXNnc3RyICLlgYfoo4Xoh6rku44gPOagkeWvueixoT4g5LmL5ZCO5Yig6Zmk55qE6Lev5b6E5LuN54S25a2Y5ZyoIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc5CiBtc2dpZCAic2hvdyBkZWJ1Z2dpbmcgZGF0YSIKIG1zZ3N0ciAi5pi+56S66LCD6K+V5pWw5o2uIgogCkBAIC0xMjY2Miw3ICsxNTI5OSw3IEBACiBtc2dpZCAiZG8gbm90IHByaW50IHJlbW90ZSBVUkwiCiBtc2dzdHIgIuS4jeaJk+WNsOi/nOeoiyBVUkwiCiAKLSM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjAgYnVpbHRpbi9scy1yZW1vdGUuYzo2MiBidWlsdGluL3JlYmFzZS5jOjkwMworIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MCBidWlsdGluL2xzLXJlbW90ZS5jOjYyIGJ1aWx0aW4vcmViYXNlLmM6MTUxOAogbXNnaWQgImV4ZWMiCiBtc2dzdHIgImV4ZWMiCiAKQEAgLTEyNjg2LDE3ICsxNTMyMywxNyBAQAogbXNnaWQgInRha2UgdXJsLjxiYXNlPi5pbnN0ZWFkT2YgaW50byBhY2NvdW50IgogbXNnc3RyICLlj4LogIMgdXJsLjxiYXNlPi5pbnN0ZWFkT2Yg6K6+572uIgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjczCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjcyCiBtc2dpZCAiZXhpdCB3aXRoIGV4aXQgY29kZSAyIGlmIG5vIG1hdGNoaW5nIHJlZnMgYXJlIGZvdW5kIgogbXNnc3RyICLoi6XmnKrmib7liLDljLnphY3nmoTlvJXnlKjliJnku6XpgIDlh7rnoIEy6YCA5Ye6IgogCi0jOiBidWlsdGluL2xzLXJlbW90ZS5jOjc2CisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjc1CiBtc2dpZCAic2hvdyB1bmRlcmx5aW5nIHJlZiBpbiBhZGRpdGlvbiB0byB0aGUgb2JqZWN0IHBvaW50ZWQgYnkgaXQiCiBtc2dzdHIgIumZpOS6huaYvuekuuaMh+WQkeeahOWvueixoeWklu+8jOaYvuekuuaMh+WQkeeahOW8leeUqOWQjSIKIAogIzogYnVpbHRpbi9scy10cmVlLmM6MzAKIG1zZ2lkICJnaXQgbHMtdHJlZSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgotbXNnc3RyICJnaXQgbHMtdHJlZSBbPOmAiemhuT5dIDzmoJHmiJbmj5DkuqQ+IFs86Lev5b6EPi4uLl0iCittc2dzdHIgImdpdCBscy10cmVlIFs86YCJ6aG5Pl0gPOagkeWvueixoT4gWzzot6/lvoQ+Li4uXSIKIAogIzogYnVpbHRpbi9scy10cmVlLmM6MTI4CiBtc2dpZCAib25seSBzaG93IHRyZWVzIgpAQCAtMTI3MzUsMjU2ICsxNTM3MiwyNzcgQEAKIG1zZ2lkICJlbXB0eSBtYm94OiAnJXMnIgogbXNnc3RyICLnqbrnmoQgbWJveO+8miclcyciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1MgorIzogYnVpbHRpbi9tZXJnZS5jOjU1CiBtc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIFs8Y29tbWl0Pi4uLl0iCiBtc2dzdHIgImdpdCBtZXJnZSBbPOmAiemhuT5dIFs85o+Q5LqkPi4uLl0iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo1MworIzogYnVpbHRpbi9tZXJnZS5jOjU2CiBtc2dpZCAiZ2l0IG1lcmdlIC0tYWJvcnQiCiBtc2dzdHIgImdpdCBtZXJnZSAtLWFib3J0IgogCi0jOiBidWlsdGluL21lcmdlLmM6NTQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1NwogbXNnaWQgImdpdCBtZXJnZSAtLWNvbnRpbnVlIgogbXNnc3RyICJnaXQgbWVyZ2UgLS1jb250aW51ZSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExMQorIzogYnVpbHRpbi9tZXJnZS5jOjExOAogbXNnaWQgInN3aXRjaCBgbScgcmVxdWlyZXMgYSB2YWx1ZSIKIG1zZ3N0ciAi5byA5YWzIGBtJyDpnIDopoHkuIDkuKrlgLwiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNzcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgcmVxdWlyZXMgYSB2YWx1ZSIKK21zZ3N0ciAi6YCJ6aG5IGAlcycg6ZyA6KaB5LiA5Liq5YC8IgorCisjOiBidWlsdGluL21lcmdlLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBmaW5kIG1lcmdlIHN0cmF0ZWd5ICclcycuXG4iCiBtc2dzdHIgIuS4jeiDveaJvuWIsOWQiOW5tuetlueVpSAnJXMn44CCXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNzgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXZhaWxhYmxlIHN0cmF0ZWdpZXMgYXJlOiIKIG1zZ3N0ciAi5Y+v55So55qE562W55Wl5pyJ77yaIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTgzCisjOiBidWlsdGluL21lcmdlLmM6MTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkF2YWlsYWJsZSBjdXN0b20gc3RyYXRlZ2llcyBhcmU6IgogbXNnc3RyICLlj6/nlKjnmoToh6rlrprkuYnnrZbnlaXmnInvvJoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzQgYnVpbHRpbi9wdWxsLmM6MTQzCisjOiBidWlsdGluL21lcmdlLmM6MjQ0IGJ1aWx0aW4vcHVsbC5jOjE1MgogbXNnaWQgImRvIG5vdCBzaG93IGEgZGlmZnN0YXQgYXQgdGhlIGVuZCBvZiB0aGUgbWVyZ2UiCiBtc2dzdHIgIuWcqOWQiOW5tueahOacgOWQjuS4jeaYvuekuuW3ruW8gue7n+iuoSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjIzNyBidWlsdGluL3B1bGwuYzoxNDYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDcgYnVpbHRpbi9wdWxsLmM6MTU1CiBtc2dpZCAic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgogbXNnc3RyICLlnKjlkIjlubbnmoTmnIDlkI7mmL7npLrlt67lvILnu5/orqEiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyMzggYnVpbHRpbi9wdWxsLmM6MTQ5CisjOiBidWlsdGluL21lcmdlLmM6MjQ4IGJ1aWx0aW4vcHVsbC5jOjE1OAogbXNnaWQgIihzeW5vbnltIHRvIC0tc3RhdCkiCiBtc2dzdHIgIu+8iOWSjCAtLXN0YXQg5ZCM5LmJ77yJIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQwIGJ1aWx0aW4vcHVsbC5jOjE1MgorIzogYnVpbHRpbi9tZXJnZS5jOjI1MCBidWlsdGluL3B1bGwuYzoxNjEKIG1zZ2lkICJhZGQgKGF0IG1vc3QgPG4+KSBlbnRyaWVzIGZyb20gc2hvcnRsb2cgdG8gbWVyZ2UgY29tbWl0IG1lc3NhZ2UiCiBtc2dzdHIgIuWcqOWQiOW5tuaPkOS6pOS/oeaBr+S4rea3u+WKoO+8iOacgOWkmiA8bj4g5p2h77yJ57K+566A5o+Q5Lqk6K6w5b2VIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQzIGJ1aWx0aW4vcHVsbC5jOjE1OAorIzogYnVpbHRpbi9tZXJnZS5jOjI1MyBidWlsdGluL3B1bGwuYzoxNjcKIG1zZ2lkICJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIKIG1zZ3N0ciAi5Yib5bu65LiA5Liq5Y2V54us55qE5o+Q5Lqk6ICM5LiN5piv5YGa5LiA5qyh5ZCI5bm2IgogCi0jOiBidWlsdGluL21lcmdlLmM6MjQ1IGJ1aWx0aW4vcHVsbC5jOjE2MQorIzogYnVpbHRpbi9tZXJnZS5jOjI1NSBidWlsdGluL3B1bGwuYzoxNzAKIG1zZ2lkICJwZXJmb3JtIGEgY29tbWl0IGlmIHRoZSBtZXJnZSBzdWNjZWVkcyAoZGVmYXVsdCkiCiBtc2dzdHIgIuWmguaenOWQiOW5tuaIkOWKn++8jOaJp+ihjOS4gOasoeaPkOS6pO+8iOm7mOiupO+8iSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI0NyBidWlsdGluL3B1bGwuYzoxNjQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTcgYnVpbHRpbi9wdWxsLmM6MTczCiBtc2dpZCAiZWRpdCBtZXNzYWdlIGJlZm9yZSBjb21taXR0aW5nIgogbXNnc3RyICLlnKjmj5DkuqTliY3nvJbovpHmj5DkuqTor7TmmI4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDgKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTkKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQgKGRlZmF1bHQpIgogbXNnc3RyICLlhYHorrjlv6vov5vvvIjpu5jorqTvvIkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTAgYnVpbHRpbi9wdWxsLmM6MTcwCisjOiBidWlsdGluL21lcmdlLmM6MjYxIGJ1aWx0aW4vcHVsbC5jOjE4MAogbXNnaWQgImFib3J0IGlmIGZhc3QtZm9yd2FyZCBpcyBub3QgcG9zc2libGUiCiBtc2dzdHIgIuWmguaenOS4jeiDveW/q+i/m+WwseaUvuW8g+WQiOW5tiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NCBidWlsdGluL3B1bGwuYzoxNzMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjUgYnVpbHRpbi9wdWxsLmM6MTgzCiBtc2dpZCAidmVyaWZ5IHRoYXQgdGhlIG5hbWVkIGNvbW1pdCBoYXMgYSB2YWxpZCBHUEcgc2lnbmF0dXJlIgogbXNnc3RyICLpqozor4HmjIflrprnmoTmj5DkuqTmmK/lkKbljIXlkKvkuIDkuKrmnInmlYjnmoQgR1BHIOetvuWQjSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NSBidWlsdGluL25vdGVzLmM6Nzg0IGJ1aWx0aW4vcHVsbC5jOjE3NwotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTYgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg2IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEwCisjOiBidWlsdGluL21lcmdlLmM6MjY2IGJ1aWx0aW4vbm90ZXMuYzo3ODcgYnVpbHRpbi9wdWxsLmM6MTg3CisjOiBidWlsdGluL3JlYmFzZS5jOjUxMiBidWlsdGluL3JlYmFzZS5jOjE1MzEgYnVpbHRpbi9yZXZlcnQuYzoxMTQKIG1zZ2lkICJzdHJhdGVneSIKIG1zZ3N0ciAi562W55WlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjU2IGJ1aWx0aW4vcHVsbC5jOjE3OAorIzogYnVpbHRpbi9tZXJnZS5jOjI2NyBidWlsdGluL3B1bGwuYzoxODgKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSB0byB1c2UiCiBtc2dzdHIgIuimgeS9v+eUqOeahOWQiOW5tuetlueVpSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI1NyBidWlsdGluL3B1bGwuYzoxODEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNjggYnVpbHRpbi9wdWxsLmM6MTkxCiBtc2dpZCAib3B0aW9uPXZhbHVlIgogbXNnc3RyICJvcHRpb249dmFsdWUiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTggYnVpbHRpbi9wdWxsLmM6MTgyCisjOiBidWlsdGluL21lcmdlLmM6MjY5IGJ1aWx0aW4vcHVsbC5jOjE5MgogbXNnaWQgIm9wdGlvbiBmb3Igc2VsZWN0ZWQgbWVyZ2Ugc3RyYXRlZ3kiCiBtc2dzdHIgIuaJgOmAieeahOWQiOW5tuetlueVpeeahOmAiemhuSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2MAorIzogYnVpbHRpbi9tZXJnZS5jOjI3MQogbXNnaWQgIm1lcmdlIGNvbW1pdCBtZXNzYWdlIChmb3IgYSBub24tZmFzdC1mb3J3YXJkIG1lcmdlKSIKIG1zZ3N0ciAi5ZCI5bm255qE5o+Q5Lqk6K+05piO77yI6ZKI5a+56Z2e5b+r6L+b5byP5ZCI5bm277yJIgogCi0jOiBidWlsdGluL21lcmdlLmM6MjY3CisjOiBidWlsdGluL21lcmdlLmM6Mjc4CiBtc2dpZCAiYWJvcnQgdGhlIGN1cnJlbnQgaW4tcHJvZ3Jlc3MgbWVyZ2UiCiBtc2dzdHIgIuaUvuW8g+W9k+WJjeato+WcqOi/m+ihjOeahOWQiOW5tiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI2OQorIworIzogYnVpbHRpbi9tZXJnZS5jOjI4MAorbXNnaWQgIi0tYWJvcnQgYnV0IGxlYXZlIGluZGV4IGFuZCB3b3JraW5nIHRyZWUgYWxvbmUiCittc2dzdHIgIi0tYWJvcnTvvIzkvYbmmK/kv53nlZnntKLlvJXlkozlt6XkvZzljLoiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODIKIG1zZ2lkICJjb250aW51ZSB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKIG1zZ3N0ciAi57un57ut5b2T5YmN5q2j5Zyo6L+b6KGM55qE5ZCI5bm2IgogCi0jOiBidWlsdGluL21lcmdlLmM6MjcxIGJ1aWx0aW4vcHVsbC5jOjE4OQorIzogYnVpbHRpbi9tZXJnZS5jOjI4NCBidWlsdGluL3B1bGwuYzoxOTkKIG1zZ2lkICJhbGxvdyBtZXJnaW5nIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgIuWFgeiuuOWQiOW5tuS4jeebuOWFs+eahOWOhuWPsiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjI3NwotbXNnaWQgInZlcmlmeSBjb21taXQtbXNnIGhvb2siCi1tc2dzdHIgIuagoemqjCBjb21taXQtbXNnIOmSqeWtkCIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyOTAKK21zZ2lkICJieXBhc3MgcHJlLW1lcmdlLWNvbW1pdCBhbmQgY29tbWl0LW1zZyBob29rcyIKK21zZ3N0ciAi57uV6L+HIHByZS1tZXJnZS1jb21taXQg5ZKMIGNvbW1pdC1tc2cg6ZKp5a2QIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzAyCisjOiBidWlsdGluL21lcmdlLmM6MzA3CiBtc2dpZCAiY291bGQgbm90IHJ1biBzdGFzaC4iCiBtc2dzdHIgIuS4jeiDvei/kOihjOi0ruiXj+OAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjMwNworIzogYnVpbHRpbi9tZXJnZS5jOjMxMgogbXNnaWQgInN0YXNoIGZhaWxlZCIKIG1zZ3N0ciAi6LSu6JeP5aSx6LSlIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzEyCisjOiBidWlsdGluL21lcmdlLmM6MzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdDogJXMiCiBtc2dzdHIgIuS4jeaYr+S4gOS4quacieaViOWvueixoe+8miVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6MzM0IGJ1aWx0aW4vbWVyZ2UuYzozNTEKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMzkgYnVpbHRpbi9tZXJnZS5jOjM1NgogbXNnaWQgInJlYWQtdHJlZSBmYWlsZWQiCiBtc2dzdHIgIuivu+WPluagkeWksei0pSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiBidWlsdGluL21lcmdlLmM6MzgxCisjOiBidWlsdGluL21lcmdlLmM6Mzg2CiBtc2dpZCAiIChub3RoaW5nIHRvIHNxdWFzaCkiCiBtc2dzdHIgIiDvvIjml6Dlj6/ljovnvKnvvIkiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzozOTIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCAtLSBub3QgdXBkYXRpbmcgSEVBRFxuIgogbXNnc3RyICLljovnvKnmj5DkuqQgLS0g5pyq5pu05pawIEhFQURcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjQ0MgorIzogYnVpbHRpbi9tZXJnZS5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBtZXJnZSBtZXNzYWdlIC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCiBtc2dzdHIgIuaXoOWQiOW5tuS/oeaBryAtLSDmnKrmm7TmlrAgSEVBRFxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6NDkzCisjOiBidWlsdGluL21lcmdlLmM6NDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBjb21taXQiCiBtc2dzdHIgIiclcycg5rKh5pyJ5oyH5ZCR5LiA5Liq5o+Q5LqkIgogCi0jOiBidWlsdGluL21lcmdlLmM6NTgwCisjOiBidWlsdGluL21lcmdlLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkJhZCBicmFuY2guJXMubWVyZ2VvcHRpb25zIHN0cmluZzogJXMiCiBtc2dzdHIgIuWdj+eahCBicmFuY2guJXMubWVyZ2VvcHRpb25zIOWtl+espuS4su+8miVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzAxCisjOiBidWlsdGluL21lcmdlLmM6NzA1CiBtc2dpZCAiTm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKIG1zZ3N0ciAi5pyq5aSE55CG5Lik5Liq5aS05ZCI5bm25LmL5aSW55qE5Lu75L2V5pON5L2c44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzE1CisjOiBidWlsdGluL21lcmdlLmM6NzE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVua25vd24gb3B0aW9uIGZvciBtZXJnZS1yZWN1cnNpdmU6IC1YJXMiCiBtc2dzdHIgIm1lcmdlLXJlY3Vyc2l2ZSDnmoTmnKrnn6XpgInpobnvvJotWCVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzMwCisjOiBidWlsdGluL21lcmdlLmM6NzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byB3cml0ZSAlcyIKIG1zZ3N0ciAi5LiN6IO95YaZICVzIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzgyCisjOiBidWlsdGluL21lcmdlLmM6Nzg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZWFkIGZyb20gJyVzJyIKIG1zZ3N0ciAi5LiN6IO95LuOICclcycg6K+75Y+WIgogCi0jOiBidWlsdGluL21lcmdlLmM6NzkxCisjOiBidWlsdGluL21lcmdlLmM6Nzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vdCBjb21taXR0aW5nIG1lcmdlOyB1c2UgJ2dpdCBjb21taXQnIHRvIGNvbXBsZXRlIHRoZSBtZXJnZS5cbiIKIG1zZ3N0ciAi5pyq5o+Q5Lqk5ZCI5bm277yM5L2/55SoICdnaXQgY29tbWl0JyDlrozmiJDmraTmrKHlkIjlubbjgIJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjc5NwotIywgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDEKIG1zZ2lkICIiCiAiUGxlYXNlIGVudGVyIGEgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB3aHkgdGhpcyBtZXJnZSBpcyBuZWNlc3NhcnksXG4iCiAiZXNwZWNpYWxseSBpZiBpdCBtZXJnZXMgYW4gdXBkYXRlZCB1cHN0cmVhbSBpbnRvIGEgdG9waWMgYnJhbmNoLlxuIgogIlxuIgotIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQsIGFuZCBhbiBlbXB0eSBtZXNzYWdlIGFib3J0c1xuIgotInRoZSBjb21taXQuXG4iCiBtc2dzdHIgIiIKICLor7fovpPlhaXkuIDkuKrmj5DkuqTkv6Hmga/ku6Xop6Pph4rmraTlkIjlubbnmoTlv4XopoHmgKfvvIzlsKTlhbbmmK/lsIbkuIDkuKrmm7TmlrDlkI7nmoTkuIrmuLjliIbmlK9cbiIKICLlkIjlubbliLDkuLvpopjliIbmlK/jgIJcbiIKICJcbiIKLSLku6UgJyVjJyDlvIDlpLTnmoTooYzlsIbooqvlv73nlaXvvIzogIzkuJTnqbrmj5DkuqTor7TmmI7lsIbkvJrnu4jmraLmj5DkuqTjgIJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjgzMworIzogYnVpbHRpbi9tZXJnZS5jOjgwNgorbXNnaWQgIkFuIGVtcHR5IG1lc3NhZ2UgYWJvcnRzIHRoZSBjb21taXQuXG4iCittc2dzdHIgIuepuueahOaPkOS6pOivtOaYjuS8mue7iOatouaPkOS6pOOAglxuIgorCisjOiBidWlsdGluL21lcmdlLmM6ODA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMaW5lcyBzdGFydGluZyB3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLCBhbmQgYW4gZW1wdHkgbWVzc2FnZSBhYm9ydHNcbiIKKyJ0aGUgY29tbWl0LlxuIgorbXNnc3RyICLku6UgJyVjJyDlvIDlp4vnmoTooYzlsIbooqvlv73nlaXvvIzogIznqbrnmoTmj5DkuqTor7TmmI7lsIbnu4jmraLmj5DkuqTjgIJcbiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjg2MgogbXNnaWQgIkVtcHR5IGNvbW1pdCBtZXNzYWdlLiIKIG1zZ3N0ciAi56m65o+Q5Lqk5L+h5oGv44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6ODUyCisjOiBidWlsdGluL21lcmdlLmM6ODc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIldvbmRlcmZ1bC5cbiIKIG1zZ3N0ciAi5aSq5qOS5LqG44CCXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5MDUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIGZhaWxlZDsgZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBjb21taXQgdGhlIHJlc3VsdC5cbiIKIG1zZ3N0ciAi6Ieq5Yqo5ZCI5bm25aSx6LSl77yM5L+u5q2j5Yay56qB54S25ZCO5o+Q5Lqk5L+u5q2j55qE57uT5p6c44CCXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NDQKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5NzcKIG1zZ2lkICJObyBjdXJyZW50IGJyYW5jaC4iCiBtc2dzdHIgIuayoeacieW9k+WJjeWIhuaUr+OAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjk0NgorIzogYnVpbHRpbi9tZXJnZS5jOjk3OQogbXNnaWQgIk5vIHJlbW90ZSBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi5b2T5YmN5YiG5pSv5rKh5pyJ5a+55bqU55qE6L+c56iL5LuT5bqT44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6OTQ4CisjOiBidWlsdGluL21lcmdlLmM6OTgxCiBtc2dpZCAiTm8gZGVmYXVsdCB1cHN0cmVhbSBkZWZpbmVkIGZvciB0aGUgY3VycmVudCBicmFuY2guIgogbXNnc3RyICLlvZPliY3liIbmlK/msqHmnInlrprkuYnpu5jorqTnmoTkuIrmuLjliIbmlK/jgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzo5NTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gcmVtb3RlLXRyYWNraW5nIGJyYW5jaCBmb3IgJXMgZnJvbSAlcyIKIG1zZ3N0ciAi5a+55LqOICVzIOayoeacieadpeiHqiAlcyDnmoTov5znqIvot5/ouKrliIbmlK8iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMDEwCisjOiBidWlsdGluL21lcmdlLmM6MTA0MwogIywgYy1mb3JtYXQKIG1zZ2lkICJCYWQgdmFsdWUgJyVzJyBpbiBlbnZpcm9ubWVudCAnJXMnIgogbXNnc3RyICLnjq/looMgJyUyJHMnIOS4reWtmOWcqOWdj+eahOWPluWAvCAnJTEkcyciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTEzCisjOiBidWlsdGluL21lcmdlLmM6MTE0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCiBtc2dzdHIgIuS4jeiDveWcqCAlcyDkuK3lkIjlubbvvJolcyIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjExNDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMTgwCiBtc2dpZCAibm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIuS4jeiDveWQiOW5tiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNTAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjgzCiBtc2dpZCAiLS1hYm9ydCBleHBlY3RzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAiLS1hYm9ydCDkuI3luKblj4LmlbAiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjU0CisjOiBidWlsdGluL21lcmdlLmM6MTI4NwogbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIHRvIGFib3J0IChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKIG1zZ3N0ciAi5rKh5pyJ6KaB57uI5q2i55qE5ZCI5bm277yITUVSR0VfSEVBRCDkuKLlpLHvvInjgIIiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjY2CisjOiBidWlsdGluL21lcmdlLmM6MTI5NgorbXNnaWQgIi0tcXVpdCBleHBlY3RzIG5vIGFyZ3VtZW50cyIKK21zZ3N0ciAiLS1xdWl0IOS4jeW4puWPguaVsCIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEzMDkKIG1zZ2lkICItLWNvbnRpbnVlIGV4cGVjdHMgbm8gYXJndW1lbnRzIgogbXNnc3RyICItLWNvbnRpbnVlIOS4jeW4puWPguaVsCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyNzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzEzCiBtc2dpZCAiVGhlcmUgaXMgbm8gbWVyZ2UgaW4gcHJvZ3Jlc3MgKE1FUkdFX0hFQUQgbWlzc2luZykuIgogbXNnc3RyICLmsqHmnInov5vooYzkuK3nmoTlkIjlubbvvIhNRVJHRV9IRUFEIOS4ouWkse+8ieOAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyODYKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzI5CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKQEAgLTEyOTkyLDcgKzE1NjUwLDcgQEAKICLmgqjlsJrmnKrnu5PmnZ/mgqjnmoTlkIjlubbvvIjlrZjlnKggTUVSR0VfSEVBRO+8ieOAglxuIgogIuivt+WcqOWQiOW5tuWJjeWFiOaPkOS6pOaCqOeahOS/ruaUueOAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEyOTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzM2CiBtc2dpZCAiIgogIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBjaGVycnktcGljayAoQ0hFUlJZX1BJQ0tfSEVBRCBleGlzdHMpLlxuIgogIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKQEAgLTEzMDAwLDkyICsxNTY1OCw5NiBAQAogIuaCqOWwmuacque7k+adn+aCqOeahOaLo+mAie+8iOWtmOWcqCBDSEVSUllfUElDS19IRUFE77yJ44CCXG4iCiAi6K+35Zyo5ZCI5bm25YmN5YWI5o+Q5Lqk5oKo55qE5L+u5pS544CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTI5NgorIzogYnVpbHRpbi9tZXJnZS5jOjEzMzkKIG1zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCiBtc2dzdHIgIuaCqOWwmuacque7k+adn+aCqOeahOaLo+mAie+8iOWtmOWcqCBDSEVSUllfUElDS19IRUFE77yJ44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMwNQorIzogYnVpbHRpbi9tZXJnZS5jOjEzNTMKIG1zZ2lkICJZb3UgY2Fubm90IGNvbWJpbmUgLS1zcXVhc2ggd2l0aCAtLW5vLWZmLiIKLW1zZ3N0ciAi5oKo5LiN6IO95bCGIC0tc3F1YXNoIOS4jiAtLW5vLWZmIOWQjOaXtuS9v+eUqOOAgiIKK21zZ3N0ciAi5oKo5LiN6IO95bCGIC0tc3F1YXNoIOWSjCAtLW5vLWZmIOe7hOWQiOS9v+eUqOOAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzU1Cittc2dpZCAiWW91IGNhbm5vdCBjb21iaW5lIC0tc3F1YXNoIHdpdGggLS1jb21taXQuIgorbXNnc3RyICLmgqjkuI3og73lsIYgLS1zcXVhc2gg5ZKMIC0tY29tbWl0IOe7hOWQiOS9v+eUqOOAgiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEzNzEKIG1zZ2lkICJObyBjb21taXQgc3BlY2lmaWVkIGFuZCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSBub3Qgc2V0LiIKIG1zZ3N0ciAi5pyq5oyH5a6a5o+Q5Lqk5bm25LiUIG1lcmdlLmRlZmF1bHRUb1Vwc3RyZWFtIOacquiuvue9ruOAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzg4CiBtc2dpZCAiU3F1YXNoIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQgbm90IHN1cHBvcnRlZCB5ZXQiCiBtc2dzdHIgIuWwmuS4jeaUr+aMgeWIsOepuuWIhuaUr+eahOWOi+e8qeaPkOS6pCIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMzIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzkwCiBtc2dpZCAiTm9uLWZhc3QtZm9yd2FyZCBjb21taXQgZG9lcyBub3QgbWFrZSBzZW5zZSBpbnRvIGFuIGVtcHR5IGhlYWQiCiBtc2dzdHIgIuWIsOepuuWIhuaUr+eahOmdnuW/q+i/m+W8j+aPkOS6pOayoeacieaEj+S5iSIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjEzMzcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIC0gbm90IHNvbWV0aGluZyB3ZSBjYW4gbWVyZ2UiCiBtc2dzdHIgIiVzIC0g5LiN6IO96KKr5ZCI5bm2IgogCi0jOiBidWlsdGluL21lcmdlLmM6MTMzOQorIzogYnVpbHRpbi9tZXJnZS5jOjEzOTcKIG1zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgogbXNnc3RyICLlj6rog73lsIbkuIDkuKrmj5DkuqTlkIjlubbliLDnqbrliIbmlK/kuIoiCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDIxCisjOiBidWlsdGluL21lcmdlLmM6MTQ3NgogbXNnaWQgInJlZnVzaW5nIHRvIG1lcmdlIHVucmVsYXRlZCBoaXN0b3JpZXMiCiBtc2dzdHIgIuaLkue7neWQiOW5tuaXoOWFs+eahOWOhuWPsiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0MzAKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDg1CiBtc2dpZCAiQWxyZWFkeSB1cCB0byBkYXRlLiIKIG1zZ3N0ciAi5bey57uP5piv5pyA5paw55qE44CCIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTQ0MAorIzogYnVpbHRpbi9tZXJnZS5jOjE0OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRpbmcgJXMuLiVzXG4iCiBtc2dzdHIgIuabtOaWsCAlcy4uJXNcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0ODIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyByZWFsbHkgdHJpdmlhbCBpbi1pbmRleCBtZXJnZS4uLlxuIgogbXNnc3RyICLlsJ3or5XpnZ7luLjlsI/nmoTntKLlvJXlhoXlkIjlubYuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE0ODkKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vcGUuXG4iCiBtc2dzdHIgIuaXoOOAglxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUxNAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NjkKIG1zZ2lkICJBbHJlYWR5IHVwIHRvIGRhdGUuIFllZWFoISIKIG1zZ3N0ciAi5bey57uP5piv5pyA5paw55qE44CC6IC277yBIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTUyMAorIzogYnVpbHRpbi9tZXJnZS5jOjE1NzUKIG1zZ2lkICJOb3QgcG9zc2libGUgdG8gZmFzdC1mb3J3YXJkLCBhYm9ydGluZy4iCiBtc2dzdHIgIuaXoOazleW/q+i/m++8jOe7iOatouOAgiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NDMgYnVpbHRpbi9tZXJnZS5jOjE2MjIKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNTk4IGJ1aWx0aW4vbWVyZ2UuYzoxNjYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJld2luZGluZyB0aGUgdHJlZSB0byBwcmlzdGluZS4uLlxuIgogbXNnc3RyICLlsIbmoJHlm57mu5roh7Pljp/lp4vnirbmgIEuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE1NDcKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjAyCiAjLCBjLWZvcm1hdAogbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgogbXNnc3RyICLlsJ3or5XlkIjlubbnrZbnlaUgJXMuLi5cbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTMKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIG1lcmdlIHN0cmF0ZWd5IGhhbmRsZWQgdGhlIG1lcmdlLlxuIgogbXNnc3RyICLmsqHmnInlkIjlubbnrZbnlaXlpITnkIbmraTlkIjlubbjgIJcbiIKIAotIzogYnVpbHRpbi9tZXJnZS5jOjE2MTUKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIk1lcmdlIHdpdGggc3RyYXRlZ3kgJXMgZmFpbGVkLlxuIgogbXNnc3RyICLkvb/nlKjnrZbnlaUgJXMg5ZCI5bm25aSx6LSl44CCXG4iCiAKLSM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjI0CisjOiBidWlsdGluL21lcmdlLmM6MTY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKIG1zZ3N0ciAi5L2/55SoICVzIOS7peWHhuWkh+aJi+W3peino+WGs+OAglxuIgogCi0jOiBidWlsdGluL21lcmdlLmM6MTYzNgorIzogYnVpbHRpbi9tZXJnZS5jOjE2NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiQXV0b21hdGljIG1lcmdlIHdlbnQgd2VsbDsgc3RvcHBlZCBiZWZvcmUgY29tbWl0dGluZyBhcyByZXF1ZXN0ZWRcbiIKIG1zZ3N0ciAi6Ieq5Yqo5ZCI5bm26L+b5bGV6aG65Yip77yM5oyJ6KaB5rGC5Zyo5o+Q5Lqk5YmN5YGc5q2iXG4iCkBAIC0xMzE3MCwzMyArMTU4MzIsMzMgQEAKIG1zZ2lkICJzZXQgbGFiZWxzIGZvciBmaWxlMS9vcmlnLWZpbGUvZmlsZTIiCiBtc2dzdHIgIuS4uiDmlofku7YxL+WIneWni+aWh+S7ti/mlofku7YyIOiuvue9ruagh+etviIKIAotIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo0NQorIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIG9wdGlvbiAlcyIKIG1zZ3N0ciAi5pyq55+l6YCJ6aG5ICVzIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjUxCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKIG1zZ3N0ciAi5LiN6IO96Kej5p6Q5a+56LGhICclcyciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTUKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgYmFzZS4gSWdub3JpbmcgJXMuIgogbXNnaWRfcGx1cmFsICJjYW5ub3QgaGFuZGxlIG1vcmUgdGhhbiAlZCBiYXNlcy4gSWdub3JpbmcgJXMuIgogbXNnc3RyWzBdICLml6Dms5XlpITnkIYgJWQg5p2h5Lul5LiK55qE5Z+657q/44CC5b+955WlICVz44CCIgogbXNnc3RyWzFdICLml6Dms5XlpITnkIYgJWQg5p2h5Lul5LiK55qE5Z+657q/44CC5b+955WlICVz44CCIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjYzCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjY1CiBtc2dpZCAibm90IGhhbmRsaW5nIGFueXRoaW5nIG90aGVyIHRoYW4gdHdvIGhlYWRzIG1lcmdlLiIKIG1zZ3N0ciAi5LiN6IO95aSE55CG5Lik5Liq5aS05ZCI5bm25LmL5aSW55qE5Lu75L2V5pON5L2c44CCIgogCi0jOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjY5IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzEKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzQgYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3NgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSByZWYgJyVzJyIKIG1zZ3N0ciAi5peg5rOV6Kej5p6Q5byV55SoICclcyciCiAKLSM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NzcKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTWVyZ2luZyAlcyB3aXRoICVzXG4iCiBtc2dzdHIgIuWQiOW5tiAlcyDlkowgJXNcbiIKQEAgLTEzMjA5LDcgKzE1ODcxLDcgQEAKIG1zZ2lkICJpbnB1dCBpcyBOVUwgdGVybWluYXRlZCIKIG1zZ3N0ciAi6L6T5YWl5LulIE5VTCDlrZfnrKbnu4jmraIiCiAKLSM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU1IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI1CisjOiBidWlsdGluL21rdHJlZS5jOjE1NSBidWlsdGluL3dyaXRlLXRyZWUuYzoyNgogbXNnaWQgImFsbG93IG1pc3Npbmcgb2JqZWN0cyIKIG1zZ3N0ciAi5YWB6K645Lii5aSx55qE5a+56LGhIgogCkBAIC0xMzIxNywxNTYgKzE1ODc5LDE2OCBAQAogbXNnaWQgImFsbG93IGNyZWF0aW9uIG9mIG1vcmUgdGhhbiBvbmUgdHJlZSIKIG1zZ3N0ciAi5YWB6K645Yib5bu65LiA5Liq5Lul5LiK55qE5qCRIgogCi0jOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo4Ci1tc2dpZCAiZ2l0IG11bHRpLXBhY2staW5kZXggWy0tb2JqZWN0LWRpcj08ZGlyPl0gKHdyaXRlfHZlcmlmeSkiCi1tc2dzdHIgImdpdCBtdWx0aS1wYWNrLWluZGV4IFstLW9iamVjdC1kaXI9POebruW9lT5dICh3cml0ZXx2ZXJpZnkpIgorIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6OQorbXNnaWQgIiIKKyJnaXQgbXVsdGktcGFjay1pbmRleCBbPG9wdGlvbnM+XSAod3JpdGV8dmVyaWZ5fGV4cGlyZXxyZXBhY2sgLS1iYXRjaC0iCisic2l6ZT08c2l6ZT4pIgorbXNnc3RyICJnaXQgbXVsdGktcGFjay1pbmRleCBbPOmAiemhuT5dICh3cml0ZXx2ZXJpZnl8ZXhwaXJlfHJlcGFjayAtLWJhdGNoLXNpemU9POWkp+Wwjz4pIgogCi0jOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzoyMQorIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6MjYKIG1zZ2lkICJvYmplY3QgZGlyZWN0b3J5IGNvbnRhaW5pbmcgc2V0IG9mIHBhY2tmaWxlIGFuZCBwYWNrLWluZGV4IHBhaXJzIgogbXNnc3RyICLljIXlkKvmiJDlr7nljIXmlofku7blkozljIXntKLlvJXnmoTlr7nosaHnm67lvZUiCiAKLSM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjM5CisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzoyOQorbXNnaWQgIiIKKyJkdXJpbmcgcmVwYWNrLCBjb2xsZWN0IHBhY2stZmlsZXMgb2Ygc21hbGxlciBzaXplIGludG8gYSBiYXRjaCB0aGF0IGlzICIKKyJsYXJnZXIgdGhhbiB0aGlzIHNpemUiCittc2dzdHIgIuWcqCByZXBhY2sg5pyf6Ze077yM5bCG6L6D5bCP5bC65a+455qE5YyF5paH5Lu25pS26ZuG5Yiw5aSn5LqO5q2k5aSn5bCP55qE5om55qyh5LitIgorCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo1MCBidWlsdGluL3BydW5lLXBhY2tlZC5jOjY3CiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICLlpKrlpJrlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgInVucmVjb2duaXplZCB2ZXJiOiAlcyIKLW1zZ3N0ciAi5pyq6IO96K+G5Yir55qE5Yqo5L2c77yaJXMiCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo2MAorbXNnaWQgIi0tYmF0Y2gtc2l6ZSBvcHRpb24gaXMgb25seSBmb3IgJ3JlcGFjaycgc3ViY29tbWFuZCIKK21zZ3N0ciAiLS1iYXRjaC1zaXplIOmAiemhueS7heeUqOS6jiAncmVwYWNrJyDlrZDlkb3ku6QiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxNworIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1YmNvbW1hbmQ6ICVzIgorbXNnc3RyICLmnKror4bliKvnmoTlrZDlkb3ku6TvvJolcyIKKworIzogYnVpbHRpbi9tdi5jOjE4CiBtc2dpZCAiZ2l0IG12IFs8b3B0aW9ucz5dIDxzb3VyY2U+Li4uIDxkZXN0aW5hdGlvbj4iCiBtc2dzdHIgImdpdCBtdiBbPOmAiemhuT5dIDzmupA+Li4uIDznm67moIc+IgogCi0jOiBidWlsdGluL212LmM6ODIKKyM6IGJ1aWx0aW4vbXYuYzo4MwogIywgYy1mb3JtYXQKIG1zZ2lkICJEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCiBtc2dzdHIgIuebruW9lSAlcyDlnKjntKLlvJXkuK3lubbkuJTkuI3mmK/lrZDmqKHnu4TvvJ8iCiAKLSM6IGJ1aWx0aW4vbXYuYzo4NAorIzogYnVpbHRpbi9tdi5jOjg1CiBtc2dpZCAiUGxlYXNlIHN0YWdlIHlvdXIgY2hhbmdlcyB0byAuZ2l0bW9kdWxlcyBvciBzdGFzaCB0aGVtIHRvIHByb2NlZWQiCiBtc2dzdHIgIuivt+WwhuaCqOeahOS/ruaUueaaguWtmOWIsCAuZ2l0bW9kdWxlcyDkuK3miJbotK7ol4/lkI7lho3nu6fnu60iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMDIKKyM6IGJ1aWx0aW4vbXYuYzoxMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJS4qcyBpcyBpbiBpbmRleCIKIG1zZ3N0ciAiJS4qcyDlnKjntKLlvJXkuK0iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMjQKKyM6IGJ1aWx0aW4vbXYuYzoxMjUKIG1zZ2lkICJmb3JjZSBtb3ZlL3JlbmFtZSBldmVuIGlmIHRhcmdldCBleGlzdHMiCiBtc2dzdHIgIuW8uuWItuenu+WKqC/ph43lkb3ku6TvvIzljbPkvb/nm67moIflrZjlnKgiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxMjYKKyM6IGJ1aWx0aW4vbXYuYzoxMjcKIG1zZ2lkICJza2lwIG1vdmUvcmVuYW1lIGVycm9ycyIKIG1zZ3N0ciAi6Lez6L+H56e75YqoL+mHjeWRveWQjemUmeivryIKIAotIzogYnVpbHRpbi9tdi5jOjE2OAorIzogYnVpbHRpbi9tdi5jOjE2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXN0aW5hdGlvbiAnJXMnIGlzIG5vdCBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAi55uu5qCHICclcycg5LiN5piv5LiA5Liq55uu5b2VIgogCi0jOiBidWlsdGluL212LmM6MTc5CisjOiBidWlsdGluL212LmM6MTgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNoZWNraW5nIHJlbmFtZSBvZiAnJXMnIHRvICclcydcbiIKIG1zZ3N0ciAi5qOA5p+lICclcycg5YiwICclcycg55qE6YeN5ZG95ZCNXG4iCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODMKKyM6IGJ1aWx0aW4vbXYuYzoxODQKIG1zZ2lkICJiYWQgc291cmNlIgogbXNnc3RyICLlnY/nmoTmupAiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODYKKyM6IGJ1aWx0aW4vbXYuYzoxODcKIG1zZ2lkICJjYW4gbm90IG1vdmUgZGlyZWN0b3J5IGludG8gaXRzZWxmIgogbXNnc3RyICLkuI3og73lsIbnm67lvZXnp7vliqjliLDoh6rouqsiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxODkKKyM6IGJ1aWx0aW4vbXYuYzoxOTAKIG1zZ2lkICJjYW5ub3QgbW92ZSBkaXJlY3Rvcnkgb3ZlciBmaWxlIgogbXNnc3RyICLkuI3og73lsIbnm67lvZXnp7vliqjliLDmlofku7YiCiAKLSM6IGJ1aWx0aW4vbXYuYzoxOTgKKyM6IGJ1aWx0aW4vbXYuYzoxOTkKIG1zZ2lkICJzb3VyY2UgZGlyZWN0b3J5IGlzIGVtcHR5IgogbXNnc3RyICLmupDnm67lvZXkuLrnqboiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMjMKKyM6IGJ1aWx0aW4vbXYuYzoyMjQKIG1zZ2lkICJub3QgdW5kZXIgdmVyc2lvbiBjb250cm9sIgogbXNnc3RyICLkuI3lnKjniYjmnKzmjqfliLbkuYvkuIsiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyMjYKKyM6IGJ1aWx0aW4vbXYuYzoyMjcKIG1zZ2lkICJkZXN0aW5hdGlvbiBleGlzdHMiCiBtc2dzdHIgIuebruagh+W3suWtmOWcqCIKIAotIzogYnVpbHRpbi9tdi5jOjIzNAorIzogYnVpbHRpbi9tdi5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJvdmVyd3JpdGluZyAnJXMnIgogbXNnc3RyICLopobnm5YgJyVzJyIKIAotIzogYnVpbHRpbi9tdi5jOjIzNworIzogYnVpbHRpbi9tdi5jOjIzOAogbXNnaWQgIkNhbm5vdCBvdmVyd3JpdGUiCiBtc2dzdHIgIuS4jeiDveimhuebliIKIAotIzogYnVpbHRpbi9tdi5jOjI0MAorIzogYnVpbHRpbi9tdi5jOjI0MQogbXNnaWQgIm11bHRpcGxlIHNvdXJjZXMgZm9yIHRoZSBzYW1lIHRhcmdldCIKIG1zZ3N0ciAi5ZCM5LiA55uu5qCH5YW35pyJ5aSa5Liq5rqQIgogCi0jOiBidWlsdGluL212LmM6MjQyCisjOiBidWlsdGluL212LmM6MjQzCiBtc2dpZCAiZGVzdGluYXRpb24gZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICLnm67moIfnm67lvZXkuI3lrZjlnKgiCiAKLSM6IGJ1aWx0aW4vbXYuYzoyNDkKKyM6IGJ1aWx0aW4vbXYuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMsIHNvdXJjZT0lcywgZGVzdGluYXRpb249JXMiCiBtc2dzdHIgIiVz77yM5rqQPSVz77yM55uu5qCHPSVzIgogCi0jOiBidWlsdGluL212LmM6MjcwCisjOiBidWlsdGluL212LmM6MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlJlbmFtaW5nICVzIHRvICVzXG4iCiBtc2dzdHIgIumHjeWRveWQjSAlcyDoh7MgJXNcbiIKIAotIzogYnVpbHRpbi9tdi5jOjI3NiBidWlsdGluL3JlbW90ZS5jOjcxNyBidWlsdGluL3JlcGFjay5jOjUxMQorIzogYnVpbHRpbi9tdi5jOjI3NyBidWlsdGluL3JlbW90ZS5jOjcxNiBidWlsdGluL3JlcGFjay5jOjUxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZW5hbWluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAi6YeN5ZG95ZCNICclcycg5aSx6LSlIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6MzU1CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDAzCiBtc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIDxjb21taXQ+Li4uIgogbXNnc3RyICJnaXQgbmFtZS1yZXYgWzzpgInpobk+XSA85o+Q5LqkPi4uLiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjM1NgorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwNAogbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSAtLWFsbCIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs86YCJ6aG5Pl0gLS1hbGwiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzozNTcKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDUKIG1zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gLS1zdGRpbiIKIG1zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs86YCJ6aG5Pl0gLS1zdGRpbiIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxMworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2MgogbXNnaWQgInByaW50IG9ubHkgbmFtZXMgKG5vIFNIQS0xKSIKIG1zZ3N0ciAi5Y+q5omT5Y2w5ZCN56ew77yI5pegIFNIQS0x77yJIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDE0CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDYzCiBtc2dpZCAib25seSB1c2UgdGFncyB0byBuYW1lIHRoZSBjb21taXRzIgogbXNnc3RyICLlj6rkvb/nlKjmoIfnrb7mnaXlkb3lkI3mj5DkuqQiCiAKLSM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MTYKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjUKIG1zZ2lkICJvbmx5IHVzZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAi5Y+q5L2/55So5ZKMIDzmqKHlvI8+IOebuOWMuemFjeeahOW8leeUqCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQxOAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2NwogbXNnaWQgImlnbm9yZSByZWZzIG1hdGNoaW5nIDxwYXR0ZXJuPiIKIG1zZ3N0ciAi5b+955Wl5ZKMIDzmqKHlvI8+IOebuOWMuemFjeeahOW8leeUqCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQyMAorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2OQogbXNnaWQgImxpc3QgYWxsIGNvbW1pdHMgcmVhY2hhYmxlIGZyb20gYWxsIHJlZnMiCiBtc2dzdHIgIuWIl+WHuuWPr+S7peS7juaJgOacieW8leeUqOiuv+mXrueahOaPkOS6pCIKIAotIzogYnVpbHRpbi9uYW1lLXJldi5jOjQyMQorIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ3MAogbXNnaWQgInJlYWQgZnJvbSBzdGRpbiIKIG1zZ3N0ciAi5LuO5qCH5YeG6L6T5YWl6K+75Y+WIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDIyCisjOiBidWlsdGluL25hbWUtcmV2LmM6NDcxCiBtc2dpZCAiYWxsb3cgdG8gcHJpbnQgYHVuZGVmaW5lZGAgbmFtZXMgKGRlZmF1bHQpIgogbXNnc3RyICLlhYHorrjmiZPljbAgYOacquWumuS5iWAg55qE5ZCN56ew77yI6buY6K6k77yJIgogCi0jOiBidWlsdGluL25hbWUtcmV2LmM6NDI4CisjOiBidWlsdGluL25hbWUtcmV2LmM6NDc3CiBtc2dpZCAiZGVyZWZlcmVuY2UgdGFncyBpbiB0aGUgaW5wdXQgKGludGVybmFsIHVzZSkiCiBtc2dzdHIgIuWPjeWQkeino+aekOi+k+WFpeS4reeahOagh+etvu+8iOWGhemDqOS9v+eUqO+8iSIKIApAQCAtMTM1MTAsMTQgKzE2MTg0LDE0IEBACiBtc2dpZCAidGhlIG5vdGUgY29udGVudHMgaGF2ZSBiZWVuIGxlZnQgaW4gJXMiCiBtc2dzdHIgIuazqOino+WGheWuueiiq+eVmeWcqCAlcyDkuK0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzoyNDIgYnVpbHRpbi90YWcuYzo1MTMKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNDIgYnVpbHRpbi90YWcuYzo1MzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IG9wZW4gb3IgcmVhZCAnJXMnIgogbXNnc3RyICLkuI3og73miZPlvIDmiJbor7vlj5YgJyVzJyIKIAogIzogYnVpbHRpbi9ub3Rlcy5jOjI2MyBidWlsdGluL25vdGVzLmM6MzEzIGJ1aWx0aW4vbm90ZXMuYzozMTUKLSM6IGJ1aWx0aW4vbm90ZXMuYzozODMgYnVpbHRpbi9ub3Rlcy5jOjQzOCBidWlsdGluL25vdGVzLmM6NTI0Ci0jOiBidWlsdGluL25vdGVzLmM6NTI5IGJ1aWx0aW4vbm90ZXMuYzo2MDcgYnVpbHRpbi9ub3Rlcy5jOjY2OQorIzogYnVpbHRpbi9ub3Rlcy5jOjM4MyBidWlsdGluL25vdGVzLmM6NDM4IGJ1aWx0aW4vbm90ZXMuYzo1MjYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzEgYnVpbHRpbi9ub3Rlcy5jOjYxMCBidWlsdGluL25vdGVzLmM6NjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgogbXNnc3RyICLml6Dms5Xop6PmnpAgJyVzJyDkuLrkuIDkuKrmnInmlYjlvJXnlKjjgIIiCkBAIC0xMzU1MCwzOCArMTYyMjQsMzggQEAKIG1zZ2lkICJyZWZ1c2luZyB0byAlcyBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCiBtc2dzdHIgIuaLkue7neWQkSAlMiRz77yI5ZyoIHJlZnMvbm90ZXMvIOS5i+Wklu+8iSUxJHPms6jop6MiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozNzYgYnVpbHRpbi9ub3Rlcy5jOjQzMSBidWlsdGluL25vdGVzLmM6NTA3Ci0jOiBidWlsdGluL25vdGVzLmM6NTE5IGJ1aWx0aW4vbm90ZXMuYzo1OTUgYnVpbHRpbi9ub3Rlcy5jOjY2MgotIzogYnVpbHRpbi9ub3Rlcy5jOjgxMiBidWlsdGluL25vdGVzLmM6OTU5IGJ1aWx0aW4vbm90ZXMuYzo5ODAKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzYgYnVpbHRpbi9ub3Rlcy5jOjQzMSBidWlsdGluL25vdGVzLmM6NTA5CisjOiBidWlsdGluL25vdGVzLmM6NTIxIGJ1aWx0aW4vbm90ZXMuYzo1OTggYnVpbHRpbi9ub3Rlcy5jOjY2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjgxNSBidWlsdGluL25vdGVzLmM6OTYzIGJ1aWx0aW4vbm90ZXMuYzo5ODUKIG1zZ2lkICJ0b28gbWFueSBwYXJhbWV0ZXJzIgogbXNnc3RyICLlj4LmlbDlpKrlpJoiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzozODkgYnVpbHRpbi9ub3Rlcy5jOjY3NQorIzogYnVpbHRpbi9ub3Rlcy5jOjM4OSBidWlsdGluL25vdGVzLmM6Njc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG5vdGUgZm91bmQgZm9yIG9iamVjdCAlcy4iCiBtc2dzdHIgIuacquWPkeeOsOWvueixoSAlcyDnmoTms6jop6PjgIIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTAgYnVpbHRpbi9ub3Rlcy5jOjU3MworIzogYnVpbHRpbi9ub3Rlcy5jOjQxMCBidWlsdGluL25vdGVzLmM6NTc2CiBtc2dpZCAibm90ZSBjb250ZW50cyBhcyBhIHN0cmluZyIKIG1zZ3N0ciAi5rOo6Kej5YaF5a655L2c5Li65LiA5Liq5a2X56ym5LiyIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDEzIGJ1aWx0aW4vbm90ZXMuYzo1NzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTMgYnVpbHRpbi9ub3Rlcy5jOjU3OQogbXNnaWQgIm5vdGUgY29udGVudHMgaW4gYSBmaWxlIgogbXNnc3RyICLms6jop6PlhoXlrrnliLDkuIDkuKrmlofku7bkuK0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTYgYnVpbHRpbi9ub3Rlcy5jOjU3OQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxNiBidWlsdGluL25vdGVzLmM6NTgyCiBtc2dpZCAicmV1c2UgYW5kIGVkaXQgc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICLph43nlKjlkoznvJbovpHmjIflrprnmoTms6jop6Plr7nosaEiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MTkgYnVpbHRpbi9ub3Rlcy5jOjU4MgorIzogYnVpbHRpbi9ub3Rlcy5jOjQxOSBidWlsdGluL25vdGVzLmM6NTg1CiBtc2dpZCAicmV1c2Ugc3BlY2lmaWVkIG5vdGUgb2JqZWN0IgogbXNnc3RyICLph43nlKjmjIflrprnmoTms6jop6Plr7nosaEiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MjIgYnVpbHRpbi9ub3Rlcy5jOjU4NQorIzogYnVpbHRpbi9ub3Rlcy5jOjQyMiBidWlsdGluL25vdGVzLmM6NTg4CiBtc2dpZCAiYWxsb3cgc3RvcmluZyBlbXB0eSBub3RlIgogbXNnc3RyICLlhYHorrjkv53lrZjnqbrnmb3ms6jph4oiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0MjMgYnVpbHRpbi9ub3Rlcy5jOjQ5NAorIzogYnVpbHRpbi9ub3Rlcy5jOjQyMyBidWlsdGluL25vdGVzLmM6NDk2CiBtc2dpZCAicmVwbGFjZSBleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAi5pu/5o2i5bey5a2Y5Zyo55qE5rOo6KejIgogCkBAIC0xMzU5Miw0MSArMTYyNjYsNDEgQEAKICJleGlzdGluZyBub3RlcyIKIG1zZ3N0ciAi5LiN6IO95re75Yqg5rOo6Kej44CC5Y+R546w5a+56LGhICVzIOW3suWtmOWcqOazqOino+OAguS9v+eUqCAnLWYnIOimhueblueOsOWtmOazqOinoyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ2MyBidWlsdGluL25vdGVzLmM6NTQyCisjOiBidWlsdGluL25vdGVzLmM6NDYzIGJ1aWx0aW4vbm90ZXMuYzo1NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3ZlcndyaXRpbmcgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlc1xuIgogbXNnc3RyICLopobnm5blr7nosaEgJXMg546w5a2Y5rOo6KejXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo0NzQgYnVpbHRpbi9ub3Rlcy5jOjYzNCBidWlsdGluL25vdGVzLmM6ODk5CisjOiBidWlsdGluL25vdGVzLmM6NDc1IGJ1aWx0aW4vbm90ZXMuYzo2MzcgYnVpbHRpbi9ub3Rlcy5jOjkwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJSZW1vdmluZyBub3RlIGZvciBvYmplY3QgJXNcbiIKIG1zZ3N0ciAi5Yig6Zmk5a+56LGhICVzIOeahOazqOino1xuIgogCi0jOiBidWlsdGluL25vdGVzLmM6NDk1CisjOiBidWlsdGluL25vdGVzLmM6NDk3CiBtc2dpZCAicmVhZCBvYmplY3RzIGZyb20gc3RkaW4iCiBtc2dzdHIgIuS7juagh+WHhui+k+WFpeivu+WPluWvueixoSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjQ5NworIzogYnVpbHRpbi9ub3Rlcy5jOjQ5OQogbXNnaWQgImxvYWQgcmV3cml0aW5nIGNvbmZpZyBmb3IgPGNvbW1hbmQ+IChpbXBsaWVzIC0tc3RkaW4pIgogbXNnc3RyICLph43mlrDliqDovb0gPOWRveS7pD4g55qE6YWN572u77yI6ZqQ5ZCrIC0tc3RkaW7vvIkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1MTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MTcKIG1zZ2lkICJ0b28gZmV3IHBhcmFtZXRlcnMiCiBtc2dzdHIgIuWPguaVsOWkquWwkSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjUzNgorIzogYnVpbHRpbi9ub3Rlcy5jOjUzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGNvcHkgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSAiCiAiZXhpc3Rpbmcgbm90ZXMiCiBtc2dzdHIgIuS4jeiDveaLt+i0neazqOino+OAguWPkeeOsOWvueixoSAlcyDlt7LlrZjlnKjms6jop6PjgILkvb/nlKggJy1mJyDopobnm5bnjrDlrZjms6jop6MiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo1NDgKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAibWlzc2luZyBub3RlcyBvbiBzb3VyY2Ugb2JqZWN0ICVzLiBDYW5ub3QgY29weS4iCiBtc2dzdHIgIua6kOWvueixoSAlcyDnvLrlsJHms6jop6PjgILkuI3og73mi7fotJ3jgIIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2MDAKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2MDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSAtbS8tRi8tYy8tQyBvcHRpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgJ2VkaXQnIHN1YmNvbW1hbmQuXG4iCkBAIC0xMzYzNSw5NyArMTYzMDksOTcgQEAKICLlrZDlkb3ku6QgJ2VkaXQnIOeahOmAiemhuSAtbS8tRi8tYy8tQyDlt7LlvIPnlKjjgIJcbiIKICLor7fmjaLnlKggJ2dpdCBub3RlcyBhZGQgLWYgLW0vLUYvLWMvLUMn44CCXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2OTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2OTgKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgogbXNnc3RyICLliKDpmaTlvJXnlKggTk9URVNfTUVSR0VfUEFSVElBTCDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo2OTcKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MDAKIG1zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIHJlZiBOT1RFU19NRVJHRV9SRUYiCiBtc2dzdHIgIuWIoOmZpOW8leeUqCBOT1RFU19NRVJHRV9SRUYg5aSx6LSlIgogCi0jOiBidWlsdGluL25vdGVzLmM6Njk5CisjOiBidWlsdGluL25vdGVzLmM6NzAyCiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnZ2l0IG5vdGVzIG1lcmdlJyB3b3JrdHJlZSIKIG1zZ3N0ciAi5Yig6ZmkICdnaXQgbm90ZXMgbWVyZ2UnIOW3peS9nOWMuuWksei0pSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjcxOQorIzogYnVpbHRpbi9ub3Rlcy5jOjcyMgogbXNnaWQgImZhaWxlZCB0byByZWFkIHJlZiBOT1RFU19NRVJHRV9QQVJUSUFMIgogbXNnc3RyICLor7vlj5blvJXnlKggTk9URVNfTUVSR0VfUEFSVElBTCDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MjEKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjQKIG1zZ2lkICJjb3VsZCBub3QgZmluZCBjb21taXQgZnJvbSBOT1RFU19NRVJHRV9QQVJUSUFMLiIKIG1zZ3N0ciAi5peg5rOV5LuOIE5PVEVTX01FUkdFX1BBUlRJQUwg5Lit5om+5Yiw5o+Q5Lqk44CCIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzIzCisjOiBidWlsdGluL25vdGVzLmM6NzI2CiBtc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgogbXNnc3RyICLml6Dms5Xku44gTk9URVNfTUVSR0VfUEFSVElBTCDkuK3op6PmnpDmj5DkuqTjgIIiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3MzYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MzkKIG1zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBOT1RFU19NRVJHRV9SRUYiCiBtc2dzdHIgIuino+aekCBOT1RFU19NRVJHRV9SRUYg5aSx6LSlIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzM5CisjOiBidWlsdGluL25vdGVzLmM6NzQyCiBtc2dpZCAiZmFpbGVkIHRvIGZpbmFsaXplIG5vdGVzIG1lcmdlIgogbXNnc3RyICLml6Dms5XlrozmiJDms6jop6PlkIjlubYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3NjUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5rbm93biBub3RlcyBtZXJnZSBzdHJhdGVneSAlcyIKIG1zZ3N0ciAi5pyq55+l55qE5rOo6Kej5ZCI5bm2562W55WlICVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6NzgxCisjOiBidWlsdGluL25vdGVzLmM6Nzg0CiBtc2dpZCAiR2VuZXJhbCBvcHRpb25zIgogbXNnc3RyICLpgJrnlKjpgInpobkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODYKIG1zZ2lkICJNZXJnZSBvcHRpb25zIgogbXNnc3RyICLlkIjlubbpgInpobkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo3ODUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODgKIG1zZ2lkICIiCiAicmVzb2x2ZSBub3RlcyBjb25mbGljdHMgdXNpbmcgdGhlIGdpdmVuIHN0cmF0ZWd5IChtYW51YWwvb3Vycy90aGVpcnMvdW5pb24vIgogImNhdF9zb3J0X3VuaXEpIgogbXNnc3RyICLkvb/nlKjmjIflrprnmoTnrZbnlaXop6PlhrPms6jop6PlhrLnqoEgKG1hbnVhbC9vdXJzL3RoZWlycy91bmlvbi9jYXRfc29ydF91bmlxKSIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4NworIzogYnVpbHRpbi9ub3Rlcy5jOjc5MAogbXNnaWQgIkNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCiBtc2dzdHIgIuaPkOS6pOacquWQiOW5tueahOazqOinoyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc4OQorIzogYnVpbHRpbi9ub3Rlcy5jOjc5MgogbXNnaWQgImZpbmFsaXplIG5vdGVzIG1lcmdlIGJ5IGNvbW1pdHRpbmcgdW5tZXJnZWQgbm90ZXMiCiBtc2dzdHIgIumAmui/h+aPkOS6pOacquWQiOW5tueahOazqOino+adpeWujOaIkOazqOino+WQiOW5tiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5MQorIzogYnVpbHRpbi9ub3Rlcy5jOjc5NAogbXNnaWQgIkFib3J0aW5nIG5vdGVzIG1lcmdlIHJlc29sdXRpb24iCiBtc2dzdHIgIuS4reatouazqOino+WQiOW5tueahOaWueahiCIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjc5MworIzogYnVpbHRpbi9ub3Rlcy5jOjc5NgogbXNnaWQgImFib3J0IG5vdGVzIG1lcmdlIgogbXNnc3RyICLkuK3mraLms6jop6PlkIjlubYiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MDQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MDcKIG1zZ2lkICJjYW5ub3QgbWl4IC0tY29tbWl0LCAtLWFib3J0IG9yIC1zLy0tc3RyYXRlZ3kiCiBtc2dzdHIgIuS4jeiDvea3t+eUqCAtLWNvbW1pdOOAgS0tYWJvcnQg5oiWIC1zLy0tc3RyYXRlZ3kiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4MTIKIG1zZ2lkICJtdXN0IHNwZWNpZnkgYSBub3RlcyByZWYgdG8gbWVyZ2UiCiBtc2dzdHIgIuW/hemhu+aMh+WumuS4gOS4quazqOino+W8leeUqOadpeWQiOW5tiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjgzMworIzogYnVpbHRpbi9ub3Rlcy5jOjgzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIC1zLy0tc3RyYXRlZ3k6ICVzIgogbXNnc3RyICLmnKrnn6XnmoQgLXMvLS1zdHJhdGVnee+8miVzIgogCi0jOiBidWlsdGluL25vdGVzLmM6ODcwCisjOiBidWlsdGluL25vdGVzLmM6ODczCiAjLCBjLWZvcm1hdAogbXNnaWQgImEgbm90ZXMgbWVyZ2UgaW50byAlcyBpcyBhbHJlYWR5IGluLXByb2dyZXNzIGF0ICVzIgogbXNnc3RyICLkvY3kuo4gJTIkcyDnmoTkuIDkuKrliLAgJTEkcyDkuK3nmoTms6jop6PlkIjlubbmraPlnKjmiafooYzkuK0iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NzMKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0b3JlIGxpbmsgdG8gY3VycmVudCBub3RlcyByZWYgKCVzKSIKIG1zZ3N0ciAi5peg5rOV5a2Y5YKo6ZO+5o6l5Yiw5b2T5YmN55qE5rOo6Kej5byV55So77yIJXPvvIkiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo4NzUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkF1dG9tYXRpYyBub3RlcyBtZXJnZSBmYWlsZWQuIEZpeCBjb25mbGljdHMgaW4gJXMgYW5kIGNvbW1pdCB0aGUgcmVzdWx0IHdpdGggIgpAQCAtMTM3MzUsMTY5ICsxNjQwOSwxNzMgQEAKICLoh6rliqjlkIjlubbor7TmmI7lpLHotKXjgILkv67mlLkgJXMg5Lit55qE5Yay56qB5bm25LiU5L2/55So5ZG95LukICdnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQnIOaPkCIKICLkuqTnu5PmnpzvvIzmiJbogIXkvb/nlKjlkb3ku6QgJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0JyDnu4jmraLlkIjlubbjgIJcbiIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjg5NworIzogYnVpbHRpbi9ub3Rlcy5jOjg5NyBidWlsdGluL3RhZy5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmLiIKK21zZ3N0ciAi5peg5rOV6Kej5p6QICclcycg5Li65LiA5Liq5pyJ5pWI5byV55So44CCIgorCisjOiBidWlsdGluL25vdGVzLmM6OTAwCiAjLCBjLWZvcm1hdAogbXNnaWQgIk9iamVjdCAlcyBoYXMgbm8gbm90ZVxuIgogbXNnc3RyICLlr7nosaEgJXMg5rKh5pyJ5rOo6KejXG4iCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5MDkKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MTIKIG1zZ2lkICJhdHRlbXB0IHRvIHJlbW92ZSBub24tZXhpc3RlbnQgbm90ZSBpcyBub3QgYW4gZXJyb3IiCiBtc2dzdHIgIuWwneivleWIoOmZpOS4jeWtmOWcqOeahOazqOino+S4jeaYr+S4gOS4qumUmeivryIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjkxMgorIzogYnVpbHRpbi9ub3Rlcy5jOjkxNQogbXNnaWQgInJlYWQgb2JqZWN0IG5hbWVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLku47moIflh4bovpPlhaXor7vlj5blr7nosaHlkI3np7AiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5NTAgYnVpbHRpbi9wcnVuZS5jOjEwOCBidWlsdGluL3dvcmt0cmVlLmM6MTY0CisjOiBidWlsdGluL25vdGVzLmM6OTU0IGJ1aWx0aW4vcHJ1bmUuYzoxMzAgYnVpbHRpbi93b3JrdHJlZS5jOjE2NAogbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKIG1zZ3N0ciAi5LiN5Yig6Zmk77yM5Y+q5pi+56S6IgogCi0jOiBidWlsdGluL25vdGVzLmM6OTUxCisjOiBidWlsdGluL25vdGVzLmM6OTU1CiBtc2dpZCAicmVwb3J0IHBydW5lZCBub3RlcyIKIG1zZ3N0ciAi5oql5ZGK5riF6Zmk55qE5rOo6KejIgogCi0jOiBidWlsdGluL25vdGVzLmM6OTkzCisjOiBidWlsdGluL25vdGVzLmM6OTk4CiBtc2dpZCAibm90ZXMtcmVmIgogbXNnc3RyICLms6jop6PlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vbm90ZXMuYzo5OTQKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5OTkKIG1zZ2lkICJ1c2Ugbm90ZXMgZnJvbSA8bm90ZXMtcmVmPiIKIG1zZ3N0ciAi5LuOIDzms6jop6PlvJXnlKg+IOS9v+eUqOazqOinoyIKIAotIzogYnVpbHRpbi9ub3Rlcy5jOjEwMjkKKyM6IGJ1aWx0aW4vbm90ZXMuYzoxMDM0IGJ1aWx0aW4vc3Rhc2guYzoxNjA3CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gc3ViY29tbWFuZDogJXMiCiBtc2dzdHIgIuacquefpeWtkOWRveS7pO+8miVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjUxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjUyCiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgWzxvcHRpb25zPi4uLl0gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgImdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgWzzpgInpobk+Li4uXSBbPCA85byV55So5YiX6KGoPiB8IDwgPOWvueixoeWIl+ihqD5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjUyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjUzCiBtc2dpZCAiIgogImdpdCBwYWNrLW9iamVjdHMgWzxvcHRpb25zPi4uLl0gPGJhc2UtbmFtZT4gWzwgPHJlZi1saXN0PiB8IDwgPG9iamVjdC1saXN0Pl0iCiBtc2dzdHIgImdpdCBwYWNrLW9iamVjdHMgWzzpgInpobk+Li4uXSA85YmN57yA5ZCN56ewPiBbPCA85byV55So5YiX6KGoPiB8IDwgPOWvueixoeWIl+ihqD5dIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjQyMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHBhY2tlZCBvYmplY3QgQ1JDIGZvciAlcyIKIG1zZ3N0ciAiJXMg6ZSZ55qE5YyF5a+56LGhIENSQyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo0MzMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvcnJ1cHQgcGFja2VkIG9iamVjdCBmb3IgJXMiCiBtc2dzdHIgIiVzIOaNn+Wdj+eahOWMheWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1NjQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlY3Vyc2l2ZSBkZWx0YSBkZXRlY3RlZCBmb3Igb2JqZWN0ICVzIgogbXNnc3RyICLlj5HnjrDlr7nosaEgJXMg6YCS5b2SIGRlbHRhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc3NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAib3JkZXJlZCAldSBvYmplY3RzLCBleHBlY3RlZCAlPFBSSXUzMj4iCiBtc2dzdHIgIuaOkuW6j+S6hiAldSDkuKrlr7nosaHvvIzpooTmnJ8gJTxQUkl1MzI+IOS4qiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3ODgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgInBhY2tmaWxlIGlzIGludmFsaWQ6ICVzIgogbXNnc3RyICLml6DmlYjnmoTljIXmlofku7bvvJolcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuIHBhY2tmaWxlIGZvciByZXVzZTogJXMiCiBtc2dzdHIgIuaXoOazleS4uumHjeeUqOaJk+W8gOWMheaWh+S7tu+8miVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjc5NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4MDIKIG1zZ2lkICJ1bmFibGUgdG8gc2VlayBpbiByZXVzZWQgcGFja2ZpbGUiCiBtc2dzdHIgIuaXoOazleWcqOmHjeeUqOeahOWMheaWh+S7tuS4reafpeaJviIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4MDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODEzCiBtc2dpZCAidW5hYmxlIHRvIHJlYWQgZnJvbSByZXVzZWQgcGFja2ZpbGUiCiBtc2dzdHIgIuaXoOazleivu+WPlue0ouW8leaWh+S7tiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4MzUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODQxCiBtc2dpZCAiZGlzYWJsaW5nIGJpdG1hcCB3cml0aW5nLCBwYWNrcyBhcmUgc3BsaXQgZHVlIHRvIHBhY2sucGFja1NpemVMaW1pdCIKIG1zZ3N0ciAi56aB55SoIGJpdG1hcCDlhpnlhaXvvIzlm6DkuLogcGFjay5wYWNrU2l6ZUxpbWl0IOiuvue9ruS9v+W+l+WMheiiq+WIh+WIhuS4uuWkmuS4qiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo4NDgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODU0CiBtc2dpZCAiV3JpdGluZyBvYmplY3RzIgogbXNnc3RyICLlhpnlhaXlr7nosaHkuK0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTEwIGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6ODgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTE3IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXMiCiBtc2dzdHIgIuWvuSAlcyDosIPnlKggc3RhdCDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTYzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjk3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3cm90ZSAlPFBSSXUzMj4gb2JqZWN0cyB3aGlsZSBleHBlY3RpbmcgJTxQUkl1MzI+IgogbXNnc3RyICLlhpnlhaUgJTxQUkl1MzI+IOS4quWvueixoeiAjOmihOacnyAlPFBSSXUzMj4g5LiqIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjExNTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTE2NAogbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgYXMgc29tZSBvYmplY3RzIGFyZSBub3QgYmVpbmcgcGFja2VkIgogbXNnc3RyICLnpoHnlKggYml0bWFwIOWGmeWFpe+8jOWboOS4uuS4gOS6m+WvueixoeWwhuS4jeS8muiiq+aJk+WMhSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTg1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE1OTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgb3ZlcmZsb3cgaW4gcGFjayBmb3IgJXMiCiBtc2dzdHIgIiVzIOWOi+e8qeS4rSBkZWx0YSDln7rlh4blgY/np7votornlYwiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTU5NAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNjAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IG91dCBvZiBib3VuZCBmb3IgJXMiCiBtc2dzdHIgIiVzIOeahCBkZWx0YSDln7rlh4blgY/np7votornlYwiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTg2MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODcwCiBtc2dpZCAiQ291bnRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi5a+56LGh6K6h5pWw5LitIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE5OTgKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjAwMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IHNpemUgb2YgJXMiCiBtc2dzdHIgIuS4jeiDveW+l+WIsCAlcyDnmoTlpKflsI8iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjAxMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDE1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYXJzZSBvYmplY3QgaGVhZGVyIG9mICVzIgogbXNnc3RyICLml6Dms5Xop6PmnpDlr7nosaEgJXMg5aS05L+h5oGvIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwODMgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyMDk5Ci0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMDkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA4NSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjExMQogIywgYy1mb3JtYXQKIG1zZ2lkICJvYmplY3QgJXMgY2Fubm90IGJlIHJlYWQiCiBtc2dzdHIgIuWvueixoSAlcyDml6Dms5Xor7vlj5YiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA4NiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA4OCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAib2JqZWN0ICVzIGluY29uc2lzdGVudCBvYmplY3QgbGVuZ3RoICglPFBSSXVNQVg+IHZzICU8UFJJdU1BWD4pIgogbXNnc3RyICLlr7nosaEgJXMg5LiN5LiA6Ie055qE5a+56LGh6ZW/5bqm77yIJTxQUkl1TUFYPiB2cyAlPFBSSXVNQVg+77yJIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjEyNQogbXNnaWQgInN1Ym9wdGltYWwgcGFjayAtIG91dCBvZiBtZW1vcnkiCiBtc2dzdHIgIuasoeS8mO+8iHN1Ym9wdGltYWzvvInmiZPljIUgLSDlhoXlrZjkuI3otrMiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjQ1MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNDQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkRlbHRhIGNvbXByZXNzaW9uIHVzaW5nIHVwIHRvICVkIHRocmVhZHMiCiBtc2dzdHIgIuS9v+eUqCAlZCDkuKrnur/nqIvov5vooYzljovnvKkiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjU4MworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBwYWNrIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gdGFnICVzIgogbXNnc3RyICLml6Dms5XkuLrmoIfnrb4gJXMg5Y6L57yp5a+56LGhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NzAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY1OQogbXNnaWQgIkNvbXByZXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgIuWOi+e8qeWvueixoeS4rSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNjc2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NjUKIG1zZ2lkICJpbmNvbnNpc3RlbmN5IHdpdGggZGVsdGEgY291bnQiCiBtc2dzdHIgIuS4jeS4gOiHtOeahOW3ruW8guiuoeaVsCIKIAotIwotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzUzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImV4cGVjdGVkIGVkZ2Ugb2JqZWN0IElELCBnb3QgZ2FyYmFnZTpcbiIKQEAgLTEzOTA2LDcgKzE2NTg0LDcgQEAKICLpooTmnJ/ovrnnlYzlr7nosaHvvIhlZGdlIG9iamVjdO+8iUlE77yM5Y205b6X5Yiw5Z6D5Zy+5pWw5o2u77yaXG4iCiAiICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NTkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjc0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiZXhwZWN0ZWQgb2JqZWN0IElELCBnb3QgZ2FyYmFnZTpcbiIKQEAgLTEzOTE1LDI0NyArMTY1OTMsMjM5IEBACiAi6aKE5pyf5a+56LGhIElE77yM5Y205b6X5Yiw5Z6D5Zy+5pWw5o2u77yaXG4iCiAiICVzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjg0NgogbXNnaWQgImludmFsaWQgdmFsdWUgZm9yIC0tbWlzc2luZyIKIG1zZ3N0ciAi6YCJ6aG5IC0tbWlzc2luZyDnmoTlgLzml6DmlYgiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkxNiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwMjQKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjkwNSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMwMTMKIG1zZ2lkICJjYW5ub3Qgb3BlbiBwYWNrIGluZGV4IgogbXNnc3RyICLml6Dms5XmiZPlvIDljIXmlofku7bntKLlvJUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Mjk0NworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyOTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvb3NlIG9iamVjdCBhdCAlcyBjb3VsZCBub3QgYmUgZXhhbWluZWQiCiBtc2dzdHIgIuaXoOazleajgOafpSAlcyDlpITnmoTmnb7mlaPlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzAzMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDIxCiBtc2dpZCAidW5hYmxlIHRvIGZvcmNlIGxvb3NlIG9iamVjdCIKIG1zZ3N0ciAi5peg5rOV5by65Yi25p2+5pWj5a+56LGhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMjIKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzExMwogIywgYy1mb3JtYXQKIG1zZ2lkICJub3QgYSByZXYgJyVzJyIKIG1zZ3N0ciAi5LiN5piv5LiA5Liq54mI5pysICclcyciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzEyNQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCByZXZpc2lvbiAnJXMnIgogbXNnc3RyICLlnY/nmoTniYjmnKwgJyVzJyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTUwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxNDEKIG1zZ2lkICJ1bmFibGUgdG8gYWRkIHJlY2VudCBvYmplY3RzIgogbXNnc3RyICLml6Dms5Xmt7vliqDmnIDov5HnmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIwMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuc3VwcG9ydGVkIGluZGV4IHZlcnNpb24gJXMiCiBtc2dzdHIgIuS4jeaUr+aMgeeahOe0ouW8leeJiOacrCAlcyIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjA3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGluZGV4IHZlcnNpb24gJyVzJyIKIG1zZ3N0ciAi5Z2P55qE57Si5byV54mI5pysICclcyciCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzNwotbXNnaWQgImRvIG5vdCBzaG93IHByb2dyZXNzIG1ldGVyIgotbXNnc3RyICLkuI3mmL7npLrov5vluqbooagiCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzOQotbXNnaWQgInNob3cgcHJvZ3Jlc3MgbWV0ZXIiCi1tc2dzdHIgIuaYvuekuui/m+W6puihqCIKLQotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQxCi1tc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCi1tc2dzdHIgIuWcqOWvueixoeWGmeWFpemYtuauteaYvuekuui/m+W6puihqCIKLQotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQ0Ci1tc2dpZCAic2ltaWxhciB0byAtLWFsbC1wcm9ncmVzcyB3aGVuIHByb2dyZXNzIG1ldGVyIGlzIHNob3duIgotbXNnc3RyICLlvZPov5vluqbooajmmL7npLrml7bnsbvkvLzkuo4gLS1hbGwtcHJvZ3Jlc3MiCi0KLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM2CiBtc2dpZCAiPHZlcnNpb24+Wyw8b2Zmc2V0Pl0iCiBtc2dzdHIgIjzniYjmnKw+Wyw85YGP56e7Pl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM3CiBtc2dpZCAid3JpdGUgdGhlIHBhY2sgaW5kZXggZmlsZSBpbiB0aGUgc3BlY2lmaWVkIGlkeCBmb3JtYXQgdmVyc2lvbiIKIG1zZ3N0ciAi55So5oyH5a6a55qEIGlkeCDmoLzlvI/niYjmnKzmnaXlhpnljIXntKLlvJXmlofku7YiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQwCiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggb3V0cHV0IHBhY2sgZmlsZSIKIG1zZ3N0ciAi5q+P5Liq6L6T5Ye65YyF55qE5pyA5aSn5bC65a+4IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0MgogbXNnaWQgImlnbm9yZSBib3Jyb3dlZCBvYmplY3RzIGZyb20gYWx0ZXJuYXRlIG9iamVjdCBzdG9yZSIKIG1zZ3N0ciAi5b+955Wl5LuO5aSH55So5a+56LGh5a2Y5YKo6YeM5YCf55So5a+56LGhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NAogbXNnaWQgImlnbm9yZSBwYWNrZWQgb2JqZWN0cyIKIG1zZ3N0ciAi5b+955Wl5YyF5a+56LGhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0NgogbXNnaWQgImxpbWl0IHBhY2sgd2luZG93IGJ5IG9iamVjdHMiCiBtc2dzdHIgIumZkOWItuaJk+WMheeql+WPo+eahOWvueixoeaVsCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDgKIG1zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBtZW1vcnkgaW4gYWRkaXRpb24gdG8gb2JqZWN0IGxpbWl0IgogbXNnc3RyICLpmaTlr7nosaHmlbDph4/pmZDliLblpJborr7nva7miZPljIXnqpflj6PnmoTlhoXlrZjpmZDliLYiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjUwCiBtc2dpZCAibWF4aW11bSBsZW5ndGggb2YgZGVsdGEgY2hhaW4gYWxsb3dlZCBpbiB0aGUgcmVzdWx0aW5nIHBhY2siCiBtc2dzdHIgIuaJk+WMheWFgeiuuOeahCBkZWx0YSDpk77nmoTmnIDlpKfplb/luqYiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2MQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjUyCiBtc2dpZCAicmV1c2UgZXhpc3RpbmcgZGVsdGFzIgogbXNnc3RyICLph43nlKjlt7LlrZjlnKjnmoQgZGVsdGFzIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1NAogbXNnaWQgInJldXNlIGV4aXN0aW5nIG9iamVjdHMiCiBtc2dzdHIgIumHjeeUqOW3suWtmOWcqOeahOWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjY1CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTYKIG1zZ2lkICJ1c2UgT0ZTX0RFTFRBIG9iamVjdHMiCiBtc2dzdHIgIuS9v+eUqCBPRlNfREVMVEEg5a+56LGhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1OAogbXNnaWQgInVzZSB0aHJlYWRzIHdoZW4gc2VhcmNoaW5nIGZvciBiZXN0IGRlbHRhIG1hdGNoZXMiCiBtc2dzdHIgIuS9v+eUqOe6v+eoi+afpeivouacgOS9syBkZWx0YSDljLnphY0iCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjYwCiBtc2dpZCAiZG8gbm90IGNyZWF0ZSBhbiBlbXB0eSBwYWNrIG91dHB1dCIKIG1zZ3N0ciAi5LiN5Yib5bu656m655qE5YyF6L6T5Ye6IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2MgogbXNnaWQgInJlYWQgcmV2aXNpb24gYXJndW1lbnRzIGZyb20gc3RhbmRhcmQgaW5wdXQiCiBtc2dzdHIgIuS7juagh+WHhui+k+WFpeivu+WPlueJiOacrOWPt+WPguaVsCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjczCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjQKIG1zZ2lkICJsaW1pdCB0aGUgb2JqZWN0cyB0byB0aG9zZSB0aGF0IGFyZSBub3QgeWV0IHBhY2tlZCIKIG1zZ3N0ciAi6ZmQ5Yi26YKj5Lqb5bCa5pyq5omT5YyF55qE5a+56LGhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NwogbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgogbXNnc3RyICLljIXmi6zlj6/ku6Xku47ku7vkvZXlvJXnlKjorr/pl67liLDnmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3OQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjcwCiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIGJ5IHJlZmxvZyBlbnRyaWVzIgogbXNnc3RyICLljIXmi6zooqvlvJXnlKjml6Xlv5flvJXnlKjliLDnmoTlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjczCiBtc2dpZCAiaW5jbHVkZSBvYmplY3RzIHJlZmVycmVkIHRvIGJ5IHRoZSBpbmRleCIKIG1zZ3N0ciAi5YyF5ous6KKr57Si5byV5byV55So5Yiw55qE5a+56LGhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3NgogbXNnaWQgIm91dHB1dCBwYWNrIHRvIHN0ZG91dCIKIG1zZ3N0ciAi6L6T5Ye65YyF5Yiw5qCH5YeG6L6T5Ye6IgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3OAogbXNnaWQgImluY2x1ZGUgdGFnIG9iamVjdHMgdGhhdCByZWZlciB0byBvYmplY3RzIHRvIGJlIHBhY2tlZCIKIG1zZ3N0ciAi5YyF5ous6YKj5Lqb5byV55So5LqG5b6F5omT5YyF5a+56LGh55qE5qCH562+5a+56LGhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODkKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4MAogbXNnaWQgImtlZXAgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAi57u05oyB5LiN5Y+v6L6+55qE5a+56LGhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4MgogbXNnaWQgInBhY2sgbG9vc2UgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAi5omT5YyF5p2+5pWj55qE5LiN5Y+v6L6+5a+56LGhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTMKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4NAogbXNnaWQgInVucGFjayB1bnJlYWNoYWJsZSBvYmplY3RzIG5ld2VyIHRoYW4gPHRpbWU+IgogbXNnc3RyICLlsIbmr5Tnu5nlrpogPOaXtumXtD4g5paw55qE5peg5rOV6K6/6Zeu55qE5a+56LGh6Kej5YyFIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4NworbXNnaWQgInVzZSB0aGUgc3BhcnNlIHJlYWNoYWJpbGl0eSBhbGdvcml0aG0iCittc2dzdHIgIuS9v+eUqOeogOeWj+WPr+i+vuaAp+eul+azlSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg5CiBtc2dpZCAiY3JlYXRlIHRoaW4gcGFja3MiCiBtc2dzdHIgIuWIm+W7uueyvueugOWMhSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTEKIG1zZ2lkICJjcmVhdGUgcGFja3Mgc3VpdGFibGUgZm9yIHNoYWxsb3cgZmV0Y2hlcyIKIG1zZ3N0ciAi5Yib5bu66YCC5ZCI5rWF5YWL6ZqG5LuT5bqT6I635Y+W55qE5YyFIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDAKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5MwogbXNnaWQgImlnbm9yZSBwYWNrcyB0aGF0IGhhdmUgY29tcGFuaW9uIC5rZWVwIGZpbGUiCiBtc2dzdHIgIuW/veeVpemFjeaciSAua2VlcCDmlofku7bnmoTljIUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwMgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk1CiBtc2dpZCAiaWdub3JlIHRoaXMgcGFjayIKIG1zZ3N0ciAi5b+955Wl6K+lIHBhY2siCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwNAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk3CiBtc2dpZCAicGFjayBjb21wcmVzc2lvbiBsZXZlbCIKIG1zZ3N0ciAi5omT5YyF5Y6L57yp57qn5YirIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDYKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI5OQogbXNnaWQgImRvIG5vdCBoaWRlIGNvbW1pdHMgYnkgZ3JhZnRzIgogbXNnc3RyICLmmL7npLrooqvnp7vmpI3pmpDol4/nmoTmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMwOAorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzAxCiBtc2dpZCAidXNlIGEgYml0bWFwIGluZGV4IGlmIGF2YWlsYWJsZSB0byBzcGVlZCB1cCBjb3VudGluZyBvYmplY3RzIgogbXNnc3RyICLkvb/nlKggYml0bWFwIOe0ouW8le+8iOWmguaenOacieeahOivne+8ieS7peaPkOmrmOWvueixoeiuoeaVsOaXtueahOmAn+W6piIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzEwCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDMKIG1zZ2lkICJ3cml0ZSBhIGJpdG1hcCBpbmRleCB0b2dldGhlciB3aXRoIHRoZSBwYWNrIGluZGV4IgogbXNnc3RyICLlnKjlu7rnq4vljIXntKLlvJXnmoTlkIzml7bliJvlu7ogYml0bWFwIOe0ouW8lSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzEzCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDcKK21zZ2lkICJ3cml0ZSBhIGJpdG1hcCBpbmRleCBpZiBwb3NzaWJsZSIKK21zZ3N0ciAi5aaC5p6c5Y+v6IO977yM5YaZIGJpdG1hcCDntKLlvJUiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxMQogbXNnaWQgImhhbmRsaW5nIGZvciBtaXNzaW5nIG9iamVjdHMiCiBtc2dzdHIgIuWkhOeQhuS4ouWkseeahOWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzE2CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTQKIG1zZ2lkICJkbyBub3QgcGFjayBvYmplY3RzIGluIHByb21pc29yIHBhY2tmaWxlcyIKIG1zZ3N0ciAi5LiN6KaB5omT5YyFIHByb21pc29yIOWMheaWh+S7tuS4reeahOWvueixoSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzE4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTYKIG1zZ2lkICJyZXNwZWN0IGlzbGFuZHMgZHVyaW5nIGRlbHRhIGNvbXByZXNzaW9uIgogbXNnc3RyICLlnKjlop7ph4/ljovnvKnml7blj4LogIPmlbDmja7lspsiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM0MgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbHRhIGNoYWluIGRlcHRoICVkIGlzIHRvbyBkZWVwLCBmb3JjaW5nICVkIgogbXNnc3RyICLlop7ph4/pk77mt7HluqYgJWQg5aSq5rex5LqG77yM5by65Yi25Li6ICVkIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzNDcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJwYWNrLmRlbHRhQ2FjaGVMaW1pdCBpcyB0b28gaGlnaCwgZm9yY2luZyAlZCIKIG1zZ3N0ciAi6YWN572uIHBhY2suZGVsdGFDYWNoZUxpbWl0IOWkqumrmOS6hu+8jOW8uuWItuS4uiAlZCIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDAxCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDQKIG1zZ2lkICItLW1heC1wYWNrLXNpemUgY2Fubm90IGJlIHVzZWQgdG8gYnVpbGQgYSBwYWNrIGZvciB0cmFuc2ZlciIKIG1zZ3N0ciAi5LiN6IO95L2/55SoIC0tbWF4LXBhY2stc2l6ZSDmnaXmnoTlu7rkvKDovpPnlKjnmoTljIXmlofku7YiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwMworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDA2CiBtc2dpZCAibWluaW11bSBwYWNrIHNpemUgbGltaXQgaXMgMSBNaUIiCiBtc2dzdHIgIuacgOWwj+eahOWMheaWh+S7tuWkp+Wwj+aYryAxIE1pQiIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDA4CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MTEKIG1zZ2lkICItLXRoaW4gY2Fubm90IGJlIHVzZWQgdG8gYnVpbGQgYW4gaW5kZXhhYmxlIHBhY2siCiBtc2dzdHIgIi0tdGhpbiDkuI3og73nlKjkuo7liJvlu7rkuIDkuKrlj6/ntKLlvJXljIUiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQxMQorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDE0CiBtc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtLXVucGFjay11bnJlYWNoYWJsZSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWtlZXAtdW5yZWFjaGFibGUg5ZKMIC0tdW5wYWNrLXVucmVhY2hhYmxlIOS4jeWFvOWuuSIKIAotIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDE3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MjAKIG1zZ2lkICJjYW5ub3QgdXNlIC0tZmlsdGVyIHdpdGhvdXQgLS1zdGRvdXQiCiBtc2dzdHIgIuS4jeiDveWcqOayoeaciSAtLXN0ZG91dCDnmoTmg4XlhrXkuIvkvb/nlKggLS1maWx0ZXIiCiAKLSM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQ3NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDgxCiBtc2dpZCAiRW51bWVyYXRpbmcgb2JqZWN0cyIKIG1zZ3N0ciAi5p6a5Li+5a+56LGhIgogCi0jOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0OTUKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzUxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJUb3RhbCAlPFBSSXUzMj4gKGRlbHRhICU8UFJJdTMyPiksIHJldXNlZCAlPFBSSXUzMj4gKGRlbHRhICU8UFJJdTMyPikiCiBtc2dzdHIgIuaAu+WFsSAlPFBSSXUzMj4g77yI5beu5byCICU8UFJJdTMyPu+8ie+8jOWkjeeUqCAlPFBSSXUzMj4g77yI5beu5byCICU8UFJJdTMyPu+8iSIKIAotIzogYnVpbHRpbi9wYWNrLXJlZnMuYzo3CisjOiBidWlsdGluL3BhY2stcmVmcy5jOjgKIG1zZ2lkICJnaXQgcGFjay1yZWZzIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgcGFjay1yZWZzIFs86YCJ6aG5Pl0iCiAKLSM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTUKKyM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTYKIG1zZ2lkICJwYWNrIGV2ZXJ5dGhpbmciCiBtc2dzdHIgIuaJk+WMheS4gOWIhyIKIAotIzogYnVpbHRpbi9wYWNrLXJlZnMuYzoxNgorIzogYnVpbHRpbi9wYWNrLXJlZnMuYzoxNwogbXNnaWQgInBydW5lIGxvb3NlIHJlZnMgKGRlZmF1bHQpIgogbXNnc3RyICLmuIXpmaTmnb7mlaPnmoTlvJXnlKjvvIjpu5jorqTvvIkiCiAKQEAgLTE0MTcxLDg2ICsxNjg0MSw4NiBAQAogbXNnaWQgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tcHJvZ3Jlc3NdIFstLWV4cGlyZSA8dGltZT5dIFstLV0gWzxoZWFkPi4uLl0iCiBtc2dzdHIgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tcHJvZ3Jlc3NdIFstLWV4cGlyZSA85pe26Ze0Pl0gWy0tXSBbPGhlYWQ+Li4uXSIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjEwOQorIzogYnVpbHRpbi9wcnVuZS5jOjEzMQogbXNnaWQgInJlcG9ydCBwcnVuZWQgb2JqZWN0cyIKIG1zZ3N0ciAi5oql5ZGK5riF6Zmk55qE5a+56LGhIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTEyCisjOiBidWlsdGluL3BydW5lLmM6MTM0CiBtc2dpZCAiZXhwaXJlIG9iamVjdHMgb2xkZXIgdGhhbiA8dGltZT4iCiBtc2dzdHIgIuS9v+aXqeS6jue7meWumuaXtumXtOeahOWvueixoei/h+acnyIKIAotIzogYnVpbHRpbi9wcnVuZS5jOjExNAorIzogYnVpbHRpbi9wcnVuZS5jOjEzNgogbXNnaWQgImxpbWl0IHRyYXZlcnNhbCB0byBvYmplY3RzIG91dHNpZGUgcHJvbWlzb3IgcGFja2ZpbGVzIgogbXNnc3RyICLpmZDliLbpgY3ljoYgcHJvbWlzb3Ig5YyF5Lul5aSW55qE5a+56LGhIgogCi0jOiBidWlsdGluL3BydW5lLmM6MTI5CisjOiBidWlsdGluL3BydW5lLmM6MTUwCiBtc2dpZCAiY2Fubm90IHBydW5lIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgogbXNnc3RyICLkuI3og73lnKjnj43lk4Hku5PlupPkuK3miafooYzmuIXnkIbmk43kvZwiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjYwIGJ1aWx0aW4vcHVsbC5jOjYyCisjOiBidWlsdGluL3B1bGwuYzo2NiBidWlsdGluL3B1bGwuYzo2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCiBtc2dzdHIgIiVzIOeahOWAvOaXoOaViO+8miVzIgogCi0jOiBidWlsdGluL3B1bGwuYzo4MgorIzogYnVpbHRpbi9wdWxsLmM6ODgKIG1zZ2lkICJnaXQgcHVsbCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1bGwgWzzpgInpobk+XSBbPOS7k+W6kz4gWzzlvJXnlKjop4TmoLw+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjEzMworIzogYnVpbHRpbi9wdWxsLmM6MTQyCiBtc2dpZCAiY29udHJvbCBmb3IgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIuaOp+WItuWtkOaooee7hOeahOmAkuW9kuiOt+WPliIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTM3CisjOiBidWlsdGluL3B1bGwuYzoxNDYKIG1zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gbWVyZ2luZyIKIG1zZ3N0ciAi5ZKM5ZCI5bm255u45YWz55qE6YCJ6aG5IgogCi0jOiBidWlsdGluL3B1bGwuYzoxNDAKKyM6IGJ1aWx0aW4vcHVsbC5jOjE0OQogbXNnaWQgImluY29ycG9yYXRlIGNoYW5nZXMgYnkgcmViYXNpbmcgcmF0aGVyIHRoYW4gbWVyZ2luZyIKIG1zZ3N0ciAi5L2/55So5Y+Y5Z+65pON5L2c5Y+W5Luj5ZCI5bm25pON5L2c5Lul5ZCI5YWl5L+u5pS5IgogCi0jOiBidWlsdGluL3B1bGwuYzoxNjcgYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTQ3IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIyCisjOiBidWlsdGluL3B1bGwuYzoxNzcgYnVpbHRpbi9yZWJhc2UuYzo0NjcgYnVpbHRpbi9yZXZlcnQuYzoxMjYKIG1zZ2lkICJhbGxvdyBmYXN0LWZvcndhcmQiCiBtc2dzdHIgIuWFgeiuuOW/q+i/m+W8jyIKIAotIzogYnVpbHRpbi9wdWxsLmM6MTc2CisjOiBidWlsdGluL3B1bGwuYzoxODYKIG1zZ2lkICJhdXRvbWF0aWNhbGx5IHN0YXNoL3N0YXNoIHBvcCBiZWZvcmUgYW5kIGFmdGVyIHJlYmFzZSIKIG1zZ3N0ciAi5Y+Y5Z+65pON5L2c5YmN5ZCO5omn6KGM6Ieq5Yqo6LSu6JeP5ZKM5by55Ye66LSu6JePIgogCi0jOiBidWlsdGluL3B1bGwuYzoxOTIKKyM6IGJ1aWx0aW4vcHVsbC5jOjIwMgogbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBmZXRjaGluZyIKIG1zZ3N0ciAi5ZKM6I635Y+W55u45YWz55qE5Y+C5pWwIgogCi0jOiBidWlsdGluL3B1bGwuYzoyMDIKKyM6IGJ1aWx0aW4vcHVsbC5jOjIxMgogbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCBicmFuY2giCiBtc2dzdHIgIuW8uuWItuimhuebluacrOWcsOWIhuaUryIKIAotIzogYnVpbHRpbi9wdWxsLmM6MjEwCisjOiBidWlsdGluL3B1bGwuYzoyMjAKIG1zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBwdWxsZWQgaW4gcGFyYWxsZWwiCiBtc2dzdHIgIuW5tuWPkeaLieWPlueahOWtkOaooee7hOeahOaVsOmHjyIKIAotIzogYnVpbHRpbi9wdWxsLmM6MzA1CisjOiBidWlsdGluL3B1bGwuYzozMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgcHVsbC5mZjogJXMiCiBtc2dzdHIgInB1bGwuZmYg55qE5Y+W5YC85peg5pWI77yaJXMiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyMQorIzogYnVpbHRpbi9wdWxsLmM6NDM3CiBtc2dpZCAiIgogIlRoZXJlIGlzIG5vIGNhbmRpZGF0ZSBmb3IgcmViYXNpbmcgYWdhaW5zdCBhbW9uZyB0aGUgcmVmcyB0aGF0IHlvdSBqdXN0ICIKICJmZXRjaGVkLiIKIG1zZ3N0ciAi5Zyo5oKo5Yia5Yia6I635Y+W5Yiw55qE5byV55So5Lit5rKh5pyJ5Y+Y5Z+65pON5L2c55qE5YCZ6YCJ44CCIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MjMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzOQogbXNnaWQgIiIKICJUaGVyZSBhcmUgbm8gY2FuZGlkYXRlcyBmb3IgbWVyZ2luZyBhbW9uZyB0aGUgcmVmcyB0aGF0IHlvdSBqdXN0IGZldGNoZWQuIgogbXNnc3RyICLlnKjmgqjliJrliJrojrflj5bliLDnmoTlvJXnlKjkuK3msqHmnInlkIjlubbmk43kvZznmoTlgJnpgInjgIIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQyNAorIzogYnVpbHRpbi9wdWxsLmM6NDQwCiBtc2dpZCAiIgogIkdlbmVyYWxseSB0aGlzIG1lYW5zIHRoYXQgeW91IHByb3ZpZGVkIGEgd2lsZGNhcmQgcmVmc3BlYyB3aGljaCBoYWQgbm9cbiIKICJtYXRjaGVzIG9uIHRoZSByZW1vdGUgZW5kLiIKIG1zZ3N0ciAi6YCa5bi46L+Z5oSP5ZGz552A5oKo5o+Q5L6b5LqG5LiA5Liq6YCa6YWN56ym5byV55So6KeE5qC85L2G5pyq6IO95ZKM6L+c56uv5Yy56YWN44CCIgogCi0jOiBidWlsdGluL3B1bGwuYzo0MjcKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFza2VkIHRvIHB1bGwgZnJvbSB0aGUgcmVtb3RlICclcycsIGJ1dCBkaWQgbm90IHNwZWNpZnlcbiIKQEAgLTE0MjYwLDQyICsxNjkzMCw0MiBAQAogIuaCqOimgeaxguS7jui/nOeoiyAnJXMnIOaLieWPlu+8jOS9huaYr+acquaMh+WumuS4gOS4quWIhuaUr+OAguWboOS4uui/meS4jeaYr+W9k+WJjVxuIgogIuWIhuaUr+m7mOiupOeahOi/nOeoi+S7k+W6k++8jOaCqOW/hemhu+WcqOWRveS7pOihjOS4reaMh+WumuS4gOS4quWIhuaUr+WQjeOAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDMyIGJ1aWx0aW4vcmViYXNlLmM6NzYxIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzMKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ0OCBidWlsdGluL3JlYmFzZS5jOjEzNzUgZ2l0LXBhcnNlLXJlbW90ZS5zaDo3MwogbXNnaWQgIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC4iCiBtc2dzdHIgIuaCqOW9k+WJjeS4jeWcqOS4gOS4quWIhuaUr+S4iuOAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NDM0IGJ1aWx0aW4vcHVsbC5jOjQ0OSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc5CisjOiBidWlsdGluL3B1bGwuYzo0NTAgYnVpbHRpbi9wdWxsLmM6NDY1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKIG1zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gcmViYXNlIGFnYWluc3QuIgogbXNnc3RyICLor7fmjIflrprmgqjopoHlj5jln7rliLDlk6rkuIDkuKrliIbmlK/jgIIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzNiBidWlsdGluL3B1bGwuYzo0NTEgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgorIzogYnVpbHRpbi9wdWxsLmM6NDUyIGJ1aWx0aW4vcHVsbC5jOjQ2NyBnaXQtcGFyc2UtcmVtb3RlLnNoOjgyCiBtc2dpZCAiUGxlYXNlIHNwZWNpZnkgd2hpY2ggYnJhbmNoIHlvdSB3YW50IHRvIG1lcmdlIHdpdGguIgogbXNnc3RyICLor7fmjIflrprmgqjopoHlkIjlubblk6rkuIDkuKrliIbmlK/jgIIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzNyBidWlsdGluL3B1bGwuYzo0NTIKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1MyBidWlsdGluL3B1bGwuYzo0NjgKIG1zZ2lkICJTZWUgZ2l0LXB1bGwoMSkgZm9yIGRldGFpbHMuIgogbXNnc3RyICLor6bop4EgZ2l0LXB1bGwoMSnjgIIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzOSBidWlsdGluL3B1bGwuYzo0NDUgYnVpbHRpbi9wdWxsLmM6NDU0Ci0jOiBidWlsdGluL3JlYmFzZS5jOjc2NyBnaXQtcGFyc2UtcmVtb3RlLnNoOjY0CisjOiBidWlsdGluL3B1bGwuYzo0NTUgYnVpbHRpbi9wdWxsLmM6NDYxIGJ1aWx0aW4vcHVsbC5jOjQ3MAorIzogYnVpbHRpbi9yZWJhc2UuYzoxMzgxIGdpdC1wYXJzZS1yZW1vdGUuc2g6NjQKIG1zZ2lkICI8cmVtb3RlPiIKIG1zZ3N0ciAiPOi/nOeoiz4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQzOSBidWlsdGluL3B1bGwuYzo0NTQgYnVpbHRpbi9wdWxsLmM6NDU5Ci0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1NTYgZ2l0LXBhcnNlLXJlbW90ZS5zaDo2NQorIzogYnVpbHRpbi9wdWxsLmM6NDU1IGJ1aWx0aW4vcHVsbC5jOjQ3MCBidWlsdGluL3B1bGwuYzo0NzUKKyM6IGdpdC1wYXJzZS1yZW1vdGUuc2g6NjUKIG1zZ2lkICI8YnJhbmNoPiIKIG1zZ3N0ciAiPOWIhuaUrz4iCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ0NyBidWlsdGluL3JlYmFzZS5jOjc1OSBnaXQtcGFyc2UtcmVtb3RlLnNoOjc1CisjOiBidWlsdGluL3B1bGwuYzo0NjMgYnVpbHRpbi9yZWJhc2UuYzoxMzczIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKIG1zZ2lkICJUaGVyZSBpcyBubyB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKIG1zZ3N0ciAi5b2T5YmN5YiG5pSv5rKh5pyJ6Lef6Liq5L+h5oGv44CCIgogCi0jOiBidWlsdGluL3B1bGwuYzo0NTYgZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQorIzogYnVpbHRpbi9wdWxsLmM6NDcyIGdpdC1wYXJzZS1yZW1vdGUuc2g6OTUKIG1zZ2lkICIiCiAiSWYgeW91IHdpc2ggdG8gc2V0IHRyYWNraW5nIGluZm9ybWF0aW9uIGZvciB0aGlzIGJyYW5jaCB5b3UgY2FuIGRvIHNvIHdpdGg6IgogbXNnc3RyICLlpoLmnpzmgqjmg7PopoHkuLrmraTliIbmlK/liJvlu7rot5/ouKrkv6Hmga/vvIzmgqjlj6/ku6XmiafooYzvvJoiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjQ2MQorIzogYnVpbHRpbi9wdWxsLmM6NDc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3VyIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVzIHRvIG1lcmdlIHdpdGggdGhlIHJlZiAnJXMnXG4iCkBAIC0xNDMwNCwzMiArMTY5NzQsMzIgQEAKICLmgqjnmoTphY3nva7kuK3mjIflrpropoHlkIjlubbov5znqIvnmoTlvJXnlKggJyVzJ++8jFxuIgogIuS9huaYr+ayoeacieiOt+WPluWIsOi/meS4quW8leeUqOOAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6NTY1CisjOiBidWlsdGluL3B1bGwuYzo1ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGFjY2VzcyBjb21taXQgJXMiCiBtc2dzdHIgIuaXoOazleiuv+mXruaPkOS6pCAlcyIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODQzCisjOiBidWlsdGluL3B1bGwuYzo4NjcKIG1zZ2lkICJpZ25vcmluZyAtLXZlcmlmeS1zaWduYXR1cmVzIGZvciByZWJhc2UiCiBtc2dzdHIgIuS4uuWPmOWfuuaTjeS9nOW/veeVpSAtLXZlcmlmeS1zaWduYXR1cmVzIgogCi0jOiBidWlsdGluL3B1bGwuYzo4OTEKKyM6IGJ1aWx0aW4vcHVsbC5jOjkyMgogbXNnaWQgIi0tW25vLV1hdXRvc3Rhc2ggb3B0aW9uIGlzIG9ubHkgdmFsaWQgd2l0aCAtLXJlYmFzZS4iCiBtc2dzdHIgIi0tW25vLV1hdXRvc3Rhc2gg6YCJ6aG55Y+q5Zyo5L2/55SoIC0tcmViYXNlIOaXtuacieaViOOAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6ODk5CisjOiBidWlsdGluL3B1bGwuYzo5MzAKIG1zZ2lkICJVcGRhdGluZyBhbiB1bmJvcm4gYnJhbmNoIHdpdGggY2hhbmdlcyBhZGRlZCB0byB0aGUgaW5kZXguIgogbXNnc3RyICLmm7TmlrDlsJrmnKror57nlJ/nmoTliIbmlK/vvIzlj5jmm7Tmt7vliqDoh7PntKLlvJXjgIIiCiAKLSM6IGJ1aWx0aW4vcHVsbC5jOjkwMgorIzogYnVpbHRpbi9wdWxsLmM6OTM0CiBtc2dpZCAicHVsbCB3aXRoIHJlYmFzZSIKIG1zZ3N0ciAi5Y+Y5Z+65byP5ouJ5Y+WIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MDMKKyM6IGJ1aWx0aW4vcHVsbC5jOjkzNQogbXNnaWQgInBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCiBtc2dzdHIgIuivt+aPkOS6pOaIlui0ruiXj+Wug+S7rOOAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTI4CisjOiBidWlsdGluL3B1bGwuYzo5NjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImZldGNoIHVwZGF0ZWQgdGhlIGN1cnJlbnQgYnJhbmNoIGhlYWQuXG4iCkBAIC0xNDMzOSw3ICsxNzAwOSw3IEBACiAiZmV0Y2gg5pu05paw5LqG5b2T5YmN55qE5YiG5pSv44CC5b+r6L+b5oKo55qE5bel5L2c5Yy6XG4iCiAi6Iez5o+Q5LqkICVz44CCIgogCi0jOiBidWlsdGluL3B1bGwuYzo5MzQKKyM6IGJ1aWx0aW4vcHVsbC5jOjk2NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiQ2Fubm90IGZhc3QtZm9yd2FyZCB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKQEAgLTE0MzU2LDE1ICsxNzAyNiwxNSBAQAogIiQgZ2l0IHJlc2V0IC0taGFyZFxuIgogIuaBouWkjeS5i+WJjeeahOeKtuaAgeOAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTQ5CisjOiBidWlsdGluL3B1bGwuYzo5ODEKIG1zZ2lkICJDYW5ub3QgbWVyZ2UgbXVsdGlwbGUgYnJhbmNoZXMgaW50byBlbXB0eSBoZWFkLiIKIG1zZ3N0ciAi5peg5rOV5bCG5aSa5Liq5YiG5pSv5ZCI5bm25Yiw56m65YiG5pSv44CCIgogCi0jOiBidWlsdGluL3B1bGwuYzo5NTMKKyM6IGJ1aWx0aW4vcHVsbC5jOjk4NQogbXNnaWQgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcy4iCiBtc2dzdHIgIuaXoOazleWPmOWfuuWIsOWkmuS4quWIhuaUr+OAgiIKIAotIzogYnVpbHRpbi9wdWxsLmM6OTYwCisjOiBidWlsdGluL3B1bGwuYzo5OTIKIG1zZ2lkICJjYW5ub3QgcmViYXNlIHdpdGggbG9jYWxseSByZWNvcmRlZCBzdWJtb2R1bGUgbW9kaWZpY2F0aW9ucyIKIG1zZ3N0ciAi5pys5Zyw5a2Q5qih57uE5Lit5pyJ5L+u5pS577yM5peg5rOV5Y+Y5Z+6IgogCkBAIC0xNDM3MiwxNSArMTcwNDIsMTUgQEAKIG1zZ2lkICJnaXQgcHVzaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKIG1zZ3N0ciAiZ2l0IHB1c2ggWzzpgInpobk+XSBbPOS7k+W6kz4gWzzlvJXnlKjop4TmoLw+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjExMQorIzogYnVpbHRpbi9wdXNoLmM6MTEyCiBtc2dpZCAidGFnIHNob3J0aGFuZCB3aXRob3V0IDx0YWc+IgogbXNnc3RyICLmoIfnrb7lkI7pnaLmnKrmj5DkvpsgPOagh+etvj4g5Y+C5pWwIgogCi0jOiBidWlsdGluL3B1c2guYzoxMjEKKyM6IGJ1aWx0aW4vcHVzaC5jOjEyMgogbXNnaWQgIi0tZGVsZXRlIG9ubHkgYWNjZXB0cyBwbGFpbiB0YXJnZXQgcmVmIG5hbWVzIgogbXNnc3RyICItLWRlbGV0ZSDlj6rmjqXlj5fnroDljZXnmoTnm67moIflvJXnlKjlkI0iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE2NQorIzogYnVpbHRpbi9wdXNoLmM6MTY4CiBtc2dpZCAiIgogIlxuIgogIlRvIGNob29zZSBlaXRoZXIgb3B0aW9uIHBlcm1hbmVudGx5LCBzZWUgcHVzaC5kZWZhdWx0IGluICdnaXQgaGVscCBjb25maWcnLiIKQEAgLTE0Mzg4LDcgKzE3MDU4LDcgQEAKICJcbiIKICLkuLrkuobmsLjkuYXlnLDpgInmi6nku7vkuIDpgInpobnvvIzlj4Lop4EgJ2dpdCBoZWxwIGNvbmZpZycg5Lit55qEIHB1c2guZGVmYXVsdOOAgiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTY4CisjOiBidWlsdGluL3B1c2guYzoxNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSB1cHN0cmVhbSBicmFuY2ggb2YgeW91ciBjdXJyZW50IGJyYW5jaCBkb2VzIG5vdCBtYXRjaFxuIgpAQCAtMTQ0MTIsNyArMTcwODIsNyBAQAogIiAgICBnaXQgcHVzaCAlcyBIRUFEXG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjE4MworIzogYnVpbHRpbi9wdXNoLmM6MTg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgb24gYSBicmFuY2guXG4iCkBAIC0xNDQyNiw3ICsxNzA5Niw3IEBACiAiXG4iCiAiICAgIGdpdCBwdXNoICVzIEhFQUQ6POi/nOeoi+WIhuaUr+WQjeWtlz5cbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MTk3CisjOiBidWlsdGluL3B1c2guYzoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbm8gdXBzdHJlYW0gYnJhbmNoLlxuIgpAQCAtMTQ0MzksMTIgKzE3MTA5LDEyIEBACiAiXG4iCiAiICAgIGdpdCBwdXNoIC0tc2V0LXVwc3RyZWFtICVzICVzXG4iCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjIwNQorIzogYnVpbHRpbi9wdXNoLmM6MjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBjdXJyZW50IGJyYW5jaCAlcyBoYXMgbXVsdGlwbGUgdXBzdHJlYW0gYnJhbmNoZXMsIHJlZnVzaW5nIHRvIHB1c2guIgogbXNnc3RyICLlvZPliY3liIbmlK8gJXMg5pyJ5aSa5Liq5LiK5ri45YiG5pSv77yM5ouS57ud5o6o6YCB44CCIgogCi0jOiBidWlsdGluL3B1c2guYzoyMDgKKyM6IGJ1aWx0aW4vcHVzaC5jOjIxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiWW91IGFyZSBwdXNoaW5nIHRvIHJlbW90ZSAnJXMnLCB3aGljaCBpcyBub3QgdGhlIHVwc3RyZWFtIG9mXG4iCkBAIC0xNDQ1NCwxMiArMTcxMjQsMTIgQEAKICLmgqjmraPmjqjpgIHoh7Pov5znqIsgJyVzJ++8iOWFtuW5tumdnuW9k+WJjeWIhuaUryAnJXMnIOeahOS4iua4uO+8ie+8jFxuIgogIuiAjOayoeacieWRiuivieaIkeimgeaOqOmAgeS7gOS5iOOAgeabtOaWsOWTquS4qui/nOeoi+WIhuaUr+OAgiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjY3CisjOiBidWlsdGluL3B1c2guYzoyNzAKIG1zZ2lkICIiCiAiWW91IGRpZG4ndCBzcGVjaWZ5IGFueSByZWZzcGVjcyB0byBwdXNoLCBhbmQgcHVzaC5kZWZhdWx0IGlzIFwibm90aGluZ1wiLiIKIG1zZ3N0ciAi5oKo5rKh5pyJ5Li65o6o6YCB5oyH5a6a5Lu75L2V5byV55So6KeE5qC877yM5bm25LiUIHB1c2guZGVmYXVsdCDkuLogXCJub3RoaW5nXCLjgIIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI3NAorIzogYnVpbHRpbi9wdXNoLmM6Mjc3CiBtc2dpZCAiIgogIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0aXAgb2YgeW91ciBjdXJyZW50IGJyYW5jaCBpcyBiZWhpbmRcbiIKICJpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LiBJbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzIChlLmcuXG4iCkBAIC0xNDQ3MCw3ICsxNzE0MCw3IEBACiAi5YaN5qyh5o6o6YCB5YmN77yM5YWI5LiO6L+c56iL5Y+Y5pu05ZCI5bm277yI5aaCICdnaXQgcHVsbCAuLi4n77yJ44CC6K+m6KeBXG4iCiAiJ2dpdCBwdXNoIC0taGVscCcg5Lit55qEICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIOWwj+iKguOAgiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjgwCisjOiBidWlsdGluL3B1c2guYzoyODMKIG1zZ2lkICIiCiAiVXBkYXRlcyB3ZXJlIHJlamVjdGVkIGJlY2F1c2UgYSBwdXNoZWQgYnJhbmNoIHRpcCBpcyBiZWhpbmQgaXRzIHJlbW90ZVxuIgogImNvdW50ZXJwYXJ0LiBDaGVjayBvdXQgdGhpcyBicmFuY2ggYW5kIGludGVncmF0ZSB0aGUgcmVtb3RlIGNoYW5nZXNcbiIKQEAgLTE0NDgxLDcgKzE3MTUxLDcgQEAKICLmo4Dlh7ror6XliIbmlK/lubbmlbTlkIjov5znqIvlj5jmm7TvvIjlpoIgJ2dpdCBwdWxsIC4uLifvvInvvIznhLblkI7lho3mjqjpgIHjgILor6bop4FcbiIKICInZ2l0IHB1c2ggLS1oZWxwJyDkuK3nmoQgJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycg5bCP6IqC44CCIgogCi0jOiBidWlsdGluL3B1c2guYzoyODYKKyM6IGJ1aWx0aW4vcHVzaC5jOjI4OQogbXNnaWQgIiIKICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcmVtb3RlIGNvbnRhaW5zIHdvcmsgdGhhdCB5b3UgZG9cbiIKICJub3QgaGF2ZSBsb2NhbGx5LiBUaGlzIGlzIHVzdWFsbHkgY2F1c2VkIGJ5IGFub3RoZXIgcmVwb3NpdG9yeSBwdXNoaW5nXG4iCkBAIC0xNDQ5NCwxMSArMTcxNjQsMTEgQEAKICLvvIjlpoIgJ2dpdCBwdWxsIC4uLifvvInjgIJcbiIKICLor6bop4EgJ2dpdCBwdXNoIC0taGVscCcg5Lit55qEICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIOWwj+iKguOAgiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MjkzCisjOiBidWlsdGluL3B1c2guYzoyOTYKIG1zZ2lkICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGFnIGFscmVhZHkgZXhpc3RzIGluIHRoZSByZW1vdGUuIgogbXNnc3RyICLmm7TmlrDooqvmi5Lnu53vvIzlm6DkuLror6XmoIfnrb7lnKjov5znqIvlt7Lnu4/lrZjlnKjjgIIiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjI5NgorIzogYnVpbHRpbi9wdXNoLmM6Mjk5CiBtc2dpZCAiIgogIllvdSBjYW5ub3QgdXBkYXRlIGEgcmVtb3RlIHJlZiB0aGF0IHBvaW50cyBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgogIm9yIHVwZGF0ZSBhIHJlbW90ZSByZWYgdG8gbWFrZSBpdCBwb2ludCBhdCBhIG5vbi1jb21taXQgb2JqZWN0LFxuIgpAQCAtMTQ1MDcsMjIgKzE3MTc3LDk5IEBACiAi5aaC5p6c5LiN5L2/55SoICctLWZvcmNlJyDlj4LmlbDvvIzmgqjkuI3og73mm7TmlrDkuIDkuKrmjIflkJHpnZ7mj5DkuqTlr7nosaHnmoTov5znqIvlvJXnlKjvvIxcbiIKICLkuZ/kuI3og73mm7TmlrDov5znqIvlvJXnlKjorqnlhbbmjIflkJHkuIDkuKrpnZ7mj5DkuqTlr7nosaHjgIJcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzU3CisjOiBidWlsdGluL3B1c2guYzozNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHVzaGluZyB0byAlc1xuIgogbXNnc3RyICLmjqjpgIHliLAgJXNcbiIKIAotIzogYnVpbHRpbi9wdXNoLmM6MzYxCisjOiBidWlsdGluL3B1c2guYzozNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHB1c2ggc29tZSByZWZzIHRvICclcyciCiBtc2dzdHIgIuaOqOmAgeS4gOS6m+W8leeUqOWIsCAnJXMnIOWksei0pSIKIAotIzogYnVpbHRpbi9wdXNoLmM6Mzk1CisjOiBidWlsdGluL3B1c2guYzo1NDIKK21zZ2lkICJyZXBvc2l0b3J5IgorbXNnc3RyICLku5PlupMiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MyBidWlsdGluL3NlbmQtcGFjay5jOjE2NAorbXNnaWQgInB1c2ggYWxsIHJlZnMiCittc2dzdHIgIuaOqOmAgeaJgOacieW8leeUqCIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2Cittc2dpZCAibWlycm9yIGFsbCByZWZzIgorbXNnc3RyICLplZzlg4/miYDmnInlvJXnlKgiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NgorbXNnaWQgImRlbGV0ZSByZWZzIgorbXNnc3RyICLliKDpmaTlvJXnlKgiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NworbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKK21zZ3N0ciAi5o6o6YCB5qCH562+77yI5LiN6IO95L2/55SoIC0tYWxsIG9yIC0tbWlycm9y77yJIgorCisjOiBidWlsdGluL3B1c2guYzo1NTAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjcKK21zZ2lkICJmb3JjZSB1cGRhdGVzIgorbXNnc3RyICLlvLrliLbmm7TmlrAiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MiBidWlsdGluL3NlbmQtcGFjay5jOjE4MQorbXNnaWQgIjxyZWZuYW1lPjo8ZXhwZWN0PiIKK21zZ3N0ciAiPOW8leeUqOWQjT46POacn+acm+WAvD4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MyBidWlsdGluL3NlbmQtcGFjay5jOjE4MgorbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgorbXNnc3RyICLopoHmsYLlvJXnlKjml6fnmoTlj5blgLzkuLrorr7lrprlgLwiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1NgorbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIKK21zZ3N0ciAi5o6n5Yi25a2Q5qih57uE55qE6YCS5b2S5o6o6YCBIgorCisjOiBidWlsdGluL3B1c2guYzo1NTggYnVpbHRpbi9zZW5kLXBhY2suYzoxNzUKK21zZ2lkICJ1c2UgdGhpbiBwYWNrIgorbXNnc3RyICLkvb/nlKjnsr7nroDmiZPljIUiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1OSBidWlsdGluL3B1c2guYzo1NjAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCittc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCittc2dzdHIgIuaOpeaUtuWMheeoi+W6jyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTYxCittc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCittc2dzdHIgIuiuvue9riBnaXQgcHVsbC9zdGF0dXMg55qE5LiK5ri4IgorCisjOiBidWlsdGluL3B1c2guYzo1NjQKK21zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKK21zZ3N0ciAi5riF6Zmk5pys5Zyw5Yig6Zmk55qE5byV55SoIgorCisjOiBidWlsdGluL3B1c2guYzo1NjYKK21zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKK21zZ3N0ciAi57uV6L+HIHByZS1wdXNoIOmSqeWtkCIKKworIzogYnVpbHRpbi9wdXNoLmM6NTY3Cittc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgorbXNnc3RyICLmjqjpgIHnvLrlpLHkvYbmnInlhbPnmoTmoIfnrb4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MCBidWlsdGluL3NlbmQtcGFjay5jOjE2OQorbXNnaWQgIkdQRyBzaWduIHRoZSBwdXNoIgorbXNnc3RyICLnlKggR1BHIOS4uuaOqOmAgeetvuWQjSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTcyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2Cittc2dpZCAicmVxdWVzdCBhdG9taWMgdHJhbnNhY3Rpb24gb24gcmVtb3RlIHNpZGUiCittc2dzdHIgIumcgOimgei/nOerr+aUr+aMgeWOn+WtkOS6i+WKoSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTkwCittc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCittc2dzdHIgIi0tZGVsZXRlIOS4jiAtLWFsbOOAgS0tbWlycm9yIOWPiiAtLXRhZ3Mg5LiN5YW85a65IgorCisjOiBidWlsdGluL3B1c2guYzo1OTIKK21zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKK21zZ3N0ciAiLS1kZWxldGUg5pyq5o6l5Lu75L2V5byV55So5rKh5pyJ5oSP5LmJIgorCisjOiBidWlsdGluL3B1c2guYzo2MTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKIG1zZ3N0ciAi5Z2P55qE5LuT5bqTICclcyciCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjM5NgorIzogYnVpbHRpbi9wdXNoLmM6NjEzCiBtc2dpZCAiIgogIk5vIGNvbmZpZ3VyZWQgcHVzaCBkZXN0aW5hdGlvbi5cbiIKICJFaXRoZXIgc3BlY2lmeSB0aGUgVVJMIGZyb20gdGhlIGNvbW1hbmQtbGluZSBvciBjb25maWd1cmUgYSByZW1vdGUgIgpAQCAtMTQ1NDMsMTA0ICsxNzI5MCwyNyBAQAogIlxuIgogIiAgICBnaXQgcHVzaCA85ZCN56ewPlxuIgogCi0jOiBidWlsdGluL3B1c2guYzo1NTEKLW1zZ2lkICJyZXBvc2l0b3J5IgotbXNnc3RyICLku5PlupMiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1MiBidWlsdGluL3NlbmQtcGFjay5jOjE2NAotbXNnaWQgInB1c2ggYWxsIHJlZnMiCi1tc2dzdHIgIuaOqOmAgeaJgOacieW8leeUqCIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTUzIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2Ci1tc2dpZCAibWlycm9yIGFsbCByZWZzIgotbXNnc3RyICLplZzlg4/miYDmnInlvJXnlKgiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1NQotbXNnaWQgImRlbGV0ZSByZWZzIgotbXNnc3RyICLliKDpmaTlvJXnlKgiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU1NgotbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKLW1zZ3N0ciAi5o6o6YCB5qCH562+77yI5LiN6IO95L2/55SoIC0tYWxsIG9yIC0tbWlycm9y77yJIgotCi0jOiBidWlsdGluL3B1c2guYzo1NTkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjcKLW1zZ2lkICJmb3JjZSB1cGRhdGVzIgotbXNnc3RyICLlvLrliLbmm7TmlrAiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU2MSBidWlsdGluL3NlbmQtcGFjay5jOjE4MQotbXNnaWQgIjxyZWZuYW1lPjo8ZXhwZWN0PiIKLW1zZ3N0ciAiPOW8leeUqOWQjT46POacn+acm+WAvD4iCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU2MiBidWlsdGluL3NlbmQtcGFjay5jOjE4MgotbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgotbXNnc3RyICLopoHmsYLlvJXnlKjml6fnmoTlj5blgLzkuLrorr7lrprlgLwiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU2NQotbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIKLW1zZ3N0ciAi5o6n5Yi25a2Q5qih57uE55qE6YCS5b2S5o6o6YCBIgotCi0jOiBidWlsdGluL3B1c2guYzo1NjcgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzUKLW1zZ2lkICJ1c2UgdGhpbiBwYWNrIgotbXNnc3RyICLkvb/nlKjnsr7nroDmiZPljIUiCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU2OCBidWlsdGluL3B1c2guYzo1NjkgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKLSM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCi1tc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCi1tc2dzdHIgIuaOpeaUtuWMheeoi+W6jyIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTcwCi1tc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCi1tc2dzdHIgIuiuvue9riBnaXQgcHVsbC9zdGF0dXMg55qE5LiK5ri4IgotCi0jOiBidWlsdGluL3B1c2guYzo1NzMKLW1zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKLW1zZ3N0ciAi5riF6Zmk5pys5Zyw5Yig6Zmk55qE5byV55SoIgotCi0jOiBidWlsdGluL3B1c2guYzo1NzUKLW1zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKLW1zZ3N0ciAi57uV6L+HIHByZS1wdXNoIOmSqeWtkCIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTc2Ci1tc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgotbXNnc3RyICLmjqjpgIHnvLrlpLHkvYbmnInlhbPnmoTmoIfnrb4iCi0KLSM6IGJ1aWx0aW4vcHVzaC5jOjU3OSBidWlsdGluL3NlbmQtcGFjay5jOjE2OQotbXNnaWQgIkdQRyBzaWduIHRoZSBwdXNoIgotbXNnc3RyICLnlKggR1BHIOS4uuaOqOmAgeetvuWQjSIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTgxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2Ci1tc2dpZCAicmVxdWVzdCBhdG9taWMgdHJhbnNhY3Rpb24gb24gcmVtb3RlIHNpZGUiCi1tc2dzdHIgIumcgOimgei/nOerr+aUr+aMgeWOn+WtkOS6i+WKoSIKLQotIzogYnVpbHRpbi9wdXNoLmM6NTk5Ci1tc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCi1tc2dzdHIgIi0tZGVsZXRlIOS4jiAtLWFsbOOAgS0tbWlycm9yIOWPiiAtLXRhZ3Mg5LiN5YW85a65IgotCi0jOiBidWlsdGluL3B1c2guYzo2MDEKLW1zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKLW1zZ3N0ciAiLS1kZWxldGUg5pyq5o6l5Lu75L2V5byV55So5rKh5pyJ5oSP5LmJIgotCi0jOiBidWlsdGluL3B1c2guYzo2MDQKKyM6IGJ1aWx0aW4vcHVzaC5jOjYyOAogbXNnaWQgIi0tYWxsIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1hbGwg5ZKMIC0tdGFncyDkuI3lhbzlrrkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjYwNgorIzogYnVpbHRpbi9wdXNoLmM6NjMwCiBtc2dpZCAiLS1hbGwgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiLS1hbGwg5LiN6IO95ZKM5byV55So6KeE5qC85ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL3B1c2guYzo2MTAKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzNAogbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1taXJyb3Ig5ZKMIC0tdGFncyDkuI3lhbzlrrkiCiAKLSM6IGJ1aWx0aW4vcHVzaC5jOjYxMgorIzogYnVpbHRpbi9wdXNoLmM6NjM2CiBtc2dpZCAiLS1taXJyb3IgY2FuJ3QgYmUgY29tYmluZWQgd2l0aCByZWZzcGVjcyIKIG1zZ3N0ciAiLS1taXJyb3Ig5LiN6IO95ZKM5byV55So6KeE5qC85ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL3B1c2guYzo2MTUKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzOQogbXNnaWQgIi0tYWxsIGFuZCAtLW1pcnJvciBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWFsbCDlkowgLS1taXJyb3Ig5LiN5YW85a65IgogCi0jOiBidWlsdGluL3B1c2guYzo2MzQKKyM6IGJ1aWx0aW4vcHVzaC5jOjY0MwogbXNnaWQgInB1c2ggb3B0aW9ucyBtdXN0IG5vdCBoYXZlIG5ldyBsaW5lIGNoYXJhY3RlcnMiCiBtc2dzdHIgIuaOqOmAgemAiemhueS4jeiDveacieaNouihjOespiIKIApAQCAtMTQ2NTYsMjggKzE3MzI2LDM2IEBACiBtc2dpZCAiZ2l0IHJhbmdlLWRpZmYgWzxvcHRpb25zPl0gPGJhc2U+IDxvbGQtdGlwPiA8bmV3LXRpcD4iCiBtc2dzdHIgImdpdCByYW5nZS1kaWZmIFs86YCJ6aG5Pl0gPGJhc2U+IDxvbGQtdGlwPiA8bmV3LXRpcD4iCiAKLSM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjIxCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyMgogbXNnaWQgIlBlcmNlbnRhZ2UgYnkgd2hpY2ggY3JlYXRpb24gaXMgd2VpZ2h0ZWQiCiBtc2dzdHIgIuWIm+W7uuadg+mHjeeahOeZvuWIhuavlCIKIAotIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjMKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjI0CiBtc2dpZCAidXNlIHNpbXBsZSBkaWZmIGNvbG9ycyIKIG1zZ3N0ciAi5L2/55So566A5Y2V5beu5byC6aKc6ImyIgogCi0jOiBidWlsdGluL3JhbmdlLWRpZmYuYzo2MSBidWlsdGluL3JhbmdlLWRpZmYuYzo2NQorIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjYKK21zZ2lkICJub3RlcyIKK21zZ3N0ciAi5rOo6KejIgorCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyNgorbXNnaWQgInBhc3NlZCB0byAnZ2l0IGxvZyciCittc2dzdHIgIuS8oOmAkue7mSAnZ2l0IGxvZyciCisKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjUwIGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIC4uIGluIHJhbmdlOiAnJXMnIgogbXNnc3RyICLmsqHmnInlnKjojIPlm7TkuK3kvb/nlKggLi7vvJonJXMnIgogCi0jOiBidWlsdGluL3JhbmdlLWRpZmYuYzo3NQorIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NjQKIG1zZ2lkICJzaW5nbGUgYXJnIGZvcm1hdCBtdXN0IGJlIHN5bW1ldHJpYyByYW5nZSIKIG1zZ3N0ciAi5Y2V5Liq5Y+C5pWw5qC85byP5b+F6aG75piv5a+556ew6IyD5Zu077yI5Y2z5YyF5ZCrLi4u77yJIgogCi0jOiBidWlsdGluL3JhbmdlLWRpZmYuYzo5MAorIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NzkKIG1zZ2lkICJuZWVkIHR3byBjb21taXQgcmFuZ2VzIgogbXNnc3RyICLpnIDopoHkuKTkuKrmj5DkuqTojIPlm7QiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDEKIG1zZ2lkICIiCiAiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxwcmVmaXg+KSAiCiAiWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLXNwYXJzZS1jaGVja291dF0gWy0tIgpAQCAtMTQ2ODcsMTE4ICsxNzM2NSwzMDYgQEAKICJ1IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLXNwYXJzZS1jaGVja291dF0gWy0tIgogImluZGV4LW91dHB1dD085paH5Lu2Pl0gKC0tZW1wdHkgfCA85qCR5a+56LGhMT4gWzzmoJHlr7nosaEyPiBbPOagkeWvueixoTM+XV0pIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyMworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjQKIG1zZ2lkICJ3cml0ZSByZXN1bHRpbmcgaW5kZXggdG8gPGZpbGU+IgogbXNnc3RyICLlsIbntKLlvJXnu5PmnpzlhpnlhaUgPOaWh+S7tj4iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI2CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyNwogbXNnaWQgIm9ubHkgZW1wdHkgdGhlIGluZGV4IgogbXNnc3RyICLlj6rmmK/muIXnqbrntKLlvJUiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI4CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEyOQogbXNnaWQgIk1lcmdpbmciCiBtc2dzdHIgIuWQiOW5tiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzAKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMxCiBtc2dpZCAicGVyZm9ybSBhIG1lcmdlIGluIGFkZGl0aW9uIHRvIGEgcmVhZCIKIG1zZ3N0ciAi6K+75Y+W5LmL5L2Z5YaN5omn6KGM5LiA5Liq5ZCI5bm2IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMgorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzMKIG1zZ2lkICIzLXdheSBtZXJnZSBpZiBubyBmaWxlIGxldmVsIG1lcmdpbmcgcmVxdWlyZWQiCiBtc2dzdHIgIuWmguaenOayoeacieaWh+S7tue6p+WQiOW5tumcgOimge+8jOaJp+ihjOS4ieaWueWQiOW5tiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzQKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM1CiBtc2dpZCAiMy13YXkgbWVyZ2UgaW4gcHJlc2VuY2Ugb2YgYWRkcyBhbmQgcmVtb3ZlcyIKIG1zZ3N0ciAi5a2Y5Zyo5re75Yqg5ZKM5Yig6Zmk5pe277yM5Lmf5omn6KGM5LiJ5pa55ZCI5bm2IgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNgorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzcKIG1zZ2lkICJzYW1lIGFzIC1tLCBidXQgZGlzY2FyZCB1bm1lcmdlZCBlbnRyaWVzIgogbXNnc3RyICLnsbvkvLzkuo4gLW3vvIzkvYbkuKLlvIPmnKrlkIjlubbnmoTmnaHnm64iCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM3CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOAogbXNnaWQgIjxzdWJkaXJlY3Rvcnk+LyIKIG1zZ3N0ciAiPOWtkOebruW9lT4vIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzOAorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzkKIG1zZ2lkICJyZWFkIHRoZSB0cmVlIGludG8gdGhlIGluZGV4IHVuZGVyIDxzdWJkaXJlY3Rvcnk+LyIKIG1zZ3N0ciAi6K+75Y+W5qCR5a+56LGh5Yiw57Si5byV55qEIDzlrZDnm67lvZU+LyDkuIsiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQxCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0MgogbXNnaWQgInVwZGF0ZSB3b3JraW5nIHRyZWUgd2l0aCBtZXJnZSByZXN1bHQiCiBtc2dzdHIgIueUqOWQiOW5tueahOe7k+aenOabtOaWsOW3peS9nOWMuiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDMKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ0CiBtc2dpZCAiZ2l0aWdub3JlIgogbXNnc3RyICJnaXRpZ25vcmUiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ0CisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NQogbXNnaWQgImFsbG93IGV4cGxpY2l0bHkgaWdub3JlZCBmaWxlcyB0byBiZSBvdmVyd3JpdHRlbiIKIG1zZ3N0ciAi5YWB6K645b+955Wl5paH5Lu25Lit6K6+5a6a55qE5paH5Lu25Y+v5Lul6KKr6KaG55uWIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0NworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDgKIG1zZ2lkICJkb24ndCBjaGVjayB0aGUgd29ya2luZyB0cmVlIGFmdGVyIG1lcmdpbmciCiBtc2dzdHIgIuWQiOW5tuWQjuS4jeajgOafpeW3peS9nOWMuiIKIAotIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDgKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTQ5CiBtc2dpZCAiZG9uJ3QgdXBkYXRlIHRoZSBpbmRleCBvciB0aGUgd29yayB0cmVlIgogbXNnc3RyICLkuI3mm7TmlrDntKLlvJXljLrlkozlt6XkvZzljLoiCiAKLSM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTUwCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1MQogbXNnaWQgInNraXAgYXBwbHlpbmcgc3BhcnNlIGNoZWNrb3V0IGZpbHRlciIKIG1zZ3N0ciAi6Lez6L+H5bqU55So56iA55aP5qOA5Ye66L+H5ruk5ZmoIgogCi0jOiBidWlsdGluL3JlYWQtdHJlZS5jOjE1MgorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTMKIG1zZ2lkICJkZWJ1ZyB1bnBhY2stdHJlZXMiCiBtc2dzdHIgIuiwg+ivlSB1bnBhY2stdHJlZXMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MjkKLW1zZ2lkICIiCi0iZ2l0IHJlYmFzZSBbLWldIFtvcHRpb25zXSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPl0gWzx1cHN0cmVhbT5dICIKLSJbPGJyYW5jaD5dIgotbXNnc3RyICIiCi0iZ2l0IHJlYmFzZSBbLWldIFvpgInpobldIFstLWV4ZWMgPOWRveS7pD5dIFstLW9udG8gPOaWsOWfuue6vz5dIFs85LiK5ri4Pl0gWzzliIbmlK8+XSIKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTU3Cittc2dpZCAic3VwcHJlc3MgZmVlZGJhY2sgbWVzc2FnZXMiCittc2dzdHIgIuaKkeWItuWPjemmiOS/oeaBryIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzozMQorIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxODgKK21zZ2lkICJZb3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKK21zZ3N0ciAi5oKo6ZyA6KaB5YWI6Kej5Yaz5b2T5YmN57Si5byV55qE5Yay56qBIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjMyCittc2dpZCAiIgorImdpdCByZWJhc2UgWy1pXSBbb3B0aW9uc10gWy0tZXhlYyA8Y21kPl0gWy0tb250byA8bmV3YmFzZT4gfCAtLWtlZXAtYmFzZV0gIgorIls8dXBzdHJlYW0+IFs8YnJhbmNoPl1dIgorbXNnc3RyICIiCisiZ2l0IHJlYmFzZSBbLWldIFtvcHRpb25zXSBbLS1leGVjIDzlkb3ku6Q+XSBbLS1vbnRvIDzmlrDln7rnur8+IHwgLS1rZWVwLWJhc2VdIFs8IgorIuS4iua4uD4gWzzliIbmlK8+XV0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzQKIG1zZ2lkICIiCiAiZ2l0IHJlYmFzZSBbLWldIFtvcHRpb25zXSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPl0gLS1yb290IFs8YnJhbmNoPl0iCiBtc2dzdHIgIiIKICJnaXQgcmViYXNlIFstaV0gW+mAiemhuV0gWy0tZXhlYyA85ZG95LukPl0gWy0tb250byA85paw5Z+657q/Pl0gLS1yb290IFs85YiG5pSvPl0iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MzMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzYKIG1zZ2lkICJnaXQgcmViYXNlIC0tY29udGludWUgfCAtLWFib3J0IHwgLS1za2lwIHwgLS1lZGl0LXRvZG8iCiBtc2dzdHIgImdpdCByZWJhc2UgLS1jb250aW51ZSB8IC0tYWJvcnQgfCAtLXNraXAgfCAtLWVkaXQtdG9kbyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTc3IGJ1aWx0aW4vcmViYXNlLmM6MjAxIGJ1aWx0aW4vcmViYXNlLmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVudXNhYmxlIHRvZG8gbGlzdDogJyVzJyIKK21zZ3N0ciAi5LiN5Y+v55So55qE5b6F5Yqe5YiX6KGo77yaJyVzJyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxODYgYnVpbHRpbi9yZWJhc2UuYzoyMTIgYnVpbHRpbi9yZWJhc2UuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlICclcycuIgorbXNnc3RyICLkuI3og73lhpnlhaUgJyVzJ+OAgiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyNzEKK21zZ2lkICJubyBIRUFEPyIKK21zZ3N0ciAi5rKh5pyJIEhFQUTvvJ8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICVzIgorbXNnc3RyICLml6Dms5XliJvlu7rkuLTml7bnmoQgJXMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzA0Cittc2dpZCAiY291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCittc2dzdHIgIuaXoOazleagh+iusOS4uuS6pOS6kuW8jyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzozNjIKK21zZ2lkICJjb3VsZCBub3QgZ2VuZXJhdGUgdG9kbyBsaXN0IgorbXNnc3RyICLml6Dms5XnlJ/miJDlvoXlip7liJfooagiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDAyCittc2dpZCAiYSBiYXNlIGNvbW1pdCBtdXN0IGJlIHByb3ZpZGVkIHdpdGggLS11cHN0cmVhbSBvciAtLW9udG8iCittc2dzdHIgIuS9v+eUqCAtLXVwc3RyZWFtIOaIliAtLW9udG8g5b+F6aG75o+Q5L6b5LiA5Liq5Z+657q/5o+Q5LqkIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ1NworbXNnaWQgImdpdCByZWJhc2UtLWludGVyYWN0aXZlIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgcmViYXNlLS1pbnRlcmFjdGl2ZSBbPOmAiemhuT5dIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ2OQorbXNnaWQgImtlZXAgZW1wdHkgY29tbWl0cyIKK21zZ3N0ciAi5L+d5oyB56m65o+Q5LqkIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3MSBidWlsdGluL3JldmVydC5jOjEyOAorbXNnaWQgImFsbG93IGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKK21zZ3N0ciAi5YWB6K645o+Q5Lqk6K+05piO5Li656m6IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3MgorbXNnaWQgInJlYmFzZSBtZXJnZSBjb21taXRzIgorbXNnc3RyICLlr7nlkIjlubbmj5DkuqTlj5jln7oiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDc0Cittc2dpZCAia2VlcCBvcmlnaW5hbCBicmFuY2ggcG9pbnRzIG9mIGNvdXNpbnMiCittc2dzdHIgIuS/neaMgeWFhOW8n+aPkOS6pOeahOWOn+Wni+WIhuaUr+eCuSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzYKK21zZ2lkICJtb3ZlIGNvbW1pdHMgdGhhdCBiZWdpbiB3aXRoIHNxdWFzaCEvZml4dXAhIgorbXNnc3RyICLnp7vliqjku6Ugc3F1YXNoIS9maXh1cCEg5byA5aS055qE5o+Q5LqkIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3NworbXNnaWQgInNpZ24gY29tbWl0cyIKK21zZ3N0ciAi562+5ZCN5o+Q5LqkIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3OSBidWlsdGluL3JlYmFzZS5jOjE0NTUKK21zZ2lkICJkaXNwbGF5IGEgZGlmZnN0YXQgb2Ygd2hhdCBjaGFuZ2VkIHVwc3RyZWFtIgorbXNnc3RyICLmmL7npLrkuIrmuLjlj5jljJbnmoTlt67lvILnu5/orqEiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDgxCittc2dpZCAiY29udGludWUgcmViYXNlIgorbXNnc3RyICLnu6fnu63lj5jln7oiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDgzCittc2dpZCAic2tpcCBjb21taXQiCittc2dzdHIgIui3s+i/h+aPkOS6pCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0ODQKK21zZ2lkICJlZGl0IHRoZSB0b2RvIGxpc3QiCittc2dzdHIgIuWPmOWfuuW+heWKnuWIl+ihqCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0ODYKK21zZ2lkICJzaG93IHRoZSBjdXJyZW50IHBhdGNoIgorbXNnc3RyICLmmL7npLrlvZPliY3ooaXkuIEiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDg5Cittc2dpZCAic2hvcnRlbiBjb21taXQgaWRzIGluIHRoZSB0b2RvIGxpc3QiCittc2dzdHIgIue8qeefreW+heWKnuWIl+ihqOS4reeahOaPkOS6pOWPtyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTEKK21zZ2lkICJleHBhbmQgY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICLmianlsZXlvoXlip7liJfooajkuK3nmoTmj5DkuqTlj7ciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDkzCittc2dpZCAiY2hlY2sgdGhlIHRvZG8gbGlzdCIKK21zZ3N0ciAi5qOA5p+l5b6F5Yqe5YiX6KGoIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ5NQorbXNnaWQgInJlYXJyYW5nZSBmaXh1cC9zcXVhc2ggbGluZXMiCittc2dzdHIgIumHjeaWsOaOkuWIlyBmaXh1cC9zcXVhc2gg6KGMIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ5NworbXNnaWQgImluc2VydCBleGVjIGNvbW1hbmRzIGluIHRvZG8gbGlzdCIKK21zZ3N0ciAi5Zyo5b6F5Yqe5YiX6KGo5Lit5o+S5YWlIGV4ZWMg5omn6KGM5ZG95LukIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ5OAorbXNnaWQgIm9udG8iCittc2dzdHIgIm9udG8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTAxCittc2dpZCAicmVzdHJpY3QtcmV2aXNpb24iCittc2dzdHIgInJlc3RyaWN0LXJldmlzaW9uIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwMQorbXNnaWQgInJlc3RyaWN0IHJldmlzaW9uIgorbXNnc3RyICLpmZDliLbniYjmnKwiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTAzCittc2dpZCAic3F1YXNoLW9udG8iCittc2dzdHIgInNxdWFzaC1vbnRvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwNAorbXNnaWQgInNxdWFzaCBvbnRvIgorbXNnc3RyICJzcXVhc2ggb250byIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDYKK21zZ2lkICJ0aGUgdXBzdHJlYW0gY29tbWl0IgorbXNnc3RyICLkuIrmuLjmj5DkuqQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA4Cittc2dpZCAiaGVhZC1uYW1lIgorbXNnc3RyICJoZWFkLW5hbWUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA4Cittc2dpZCAiaGVhZCBuYW1lIgorbXNnc3RyICJoZWFkIOWQjeensCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTMKK21zZ2lkICJyZWJhc2Ugc3RyYXRlZ3kiCittc2dzdHIgIuWPmOWfuuetlueVpSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTQKK21zZ2lkICJzdHJhdGVneS1vcHRzIgorbXNnc3RyICJzdHJhdGVneS1vcHRzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxNQorbXNnaWQgInN0cmF0ZWd5IG9wdGlvbnMiCittc2dzdHIgIuetlueVpemAiemhuSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTYKK21zZ2lkICJzd2l0Y2gtdG8iCittc2dzdHIgIuWIh+aNouWIsCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTcKK21zZ2lkICJ0aGUgYnJhbmNoIG9yIGNvbW1pdCB0byBjaGVja291dCIKK21zZ3N0ciAi6KaB5qOA5Ye655qE5YiG5pSv5oiW5o+Q5LqkIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOAorbXNnaWQgIm9udG8tbmFtZSIKK21zZ3N0ciAib250by1uYW1lIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOAorbXNnaWQgIm9udG8gbmFtZSIKK21zZ3N0ciAib250byBuYW1lIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOQorbXNnaWQgImNtZCIKK21zZ3N0ciAiY21kIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUxOQorbXNnaWQgInRoZSBjb21tYW5kIHRvIHJ1biIKK21zZ3N0ciAi6KaB5omn6KGM55qE5ZG95LukIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUyMiBidWlsdGluL3JlYmFzZS5jOjE1NDAKK21zZ2lkICJhdXRvbWF0aWNhbGx5IHJlLXNjaGVkdWxlIGFueSBgZXhlY2AgdGhhdCBmYWlscyIKK21zZ3N0ciAi6Ieq5Yqo6YeN5paw5a6J5o6S5Lu75L2V5aSx6LSl55qEIGBleGVjYCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1NDAKK21zZ2lkICItLVtuby1dcmViYXNlLWNvdXNpbnMgaGFzIG5vIGVmZmVjdCB3aXRob3V0IC0tcmViYXNlLW1lcmdlcyIKK21zZ3N0ciAi5LiN5L2/55SoIC0tcmViYXNlLW1lcmdlc++8jOWImSAtLVtuby1dcmViYXNlLWNvdXNpbnMg5rKh5pyJ5pWI5p6cIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjU1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyByZXF1aXJlcyBhbiBpbnRlcmFjdGl2ZSByZWJhc2UiCiBtc2dzdHIgIiVzIOmcgOimgeS6pOS6kuW8j+WPmOWfuiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNzEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NjA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBnZXQgJ29udG8nOiAnJXMnIgogbXNnc3RyICLml6Dms5Xojrflj5YgJ29udG8n77yaJyVzJyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxODYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NjIzCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgb3JpZy1oZWFkOiAnJXMnIgogbXNnc3RyICLml6DmlYjnmoTljp/lp4sgaGVhZO+8miclcyciCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MjE0CisjOiBidWlsdGluL3JlYmFzZS5jOjY0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJpZ25vcmluZyBpbnZhbGlkIGFsbG93X3JlcmVyZV9hdXRvdXBkYXRlOiAnJXMnIgogbXNnc3RyICLlv73nlaXml6DmlYjnmoQgYWxsb3dfcmVyZXJlX2F1dG91cGRhdGXvvJonJXMnIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjI1OQorIzogYnVpbHRpbi9yZWJhc2UuYzo3MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHJlYWQgJyVzJyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+WICclcyciCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6Mjc3CisjOiBidWlsdGluL3JlYmFzZS5jOjc0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgc3RvcmUgJXMiCiBtc2dzdHIgIuS4jeiDveWtmOWCqCAlcyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzozMzcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6ODQ5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBIRUFEIHJldmlzaW9uIgorbXNnc3RyICLkuI3og73noa7lrpogSEVBRCDniYjmnKwiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6OTcyIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MQogbXNnaWQgIiIKICJSZXNvbHZlIGFsbCBjb25mbGljdHMgbWFudWFsbHksIG1hcmsgdGhlbSBhcyByZXNvbHZlZCB3aXRoXG4iCiAiXCJnaXQgYWRkL3JtIDxjb25mbGljdGVkX2ZpbGVzPlwiLCB0aGVuIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiLlxuIgpAQCAtMTQ4MTEsMTEgKzE3Njc3LDI1IEBACiAiXCJnaXQgcmViYXNlIC0tc2tpcFwiIOWRveS7pOi3s+i/h+i/meS4quaPkOS6pOOAguWmguaenOaDs+imgee7iOatouaJp+ihjOW5tuWbnuWIsFxuIgogIlwiZ2l0IHJlYmFzZVwiIOaJp+ihjOS5i+WJjeeahOeKtuaAge+8jOaJp+ihjCBcImdpdCByZWJhc2UgLS1hYm9ydFwi44CCIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjU2MQotbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgSEVBRCByZXZpc2lvbiIKLW1zZ3N0ciAi5LiN6IO956Gu5a6aIEhFQUQg54mI5pysIgorIzogYnVpbHRpbi9yZWJhc2UuYzoxMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJnaXQgZW5jb3VudGVyZWQgYW4gZXJyb3Igd2hpbGUgcHJlcGFyaW5nIHRoZSBwYXRjaGVzIHRvIHJlcGxheVxuIgorInRoZXNlIHJldmlzaW9uczpcbiIKKyJcbiIKKyIgICAgJXNcbiIKKyJcbiIKKyJBcyBhIHJlc3VsdCwgZ2l0IGNhbm5vdCByZWJhc2UgdGhlbS4iCittc2dzdHIgIiIKKyJcbiIKKyLlnKjkuLrph43mlL7ov5nkupvniYjmnKzogIzlh4blpIfooaXkuIHml7bvvIxnaXQg6YGH5Yiw5LqG5LiA5Liq6ZSZ6K+v77yaXG4iCisiXG4iCisiICAgICVzXG4iCisiXG4iCisi5Zug5q2kIGdpdCDml6Dms5Xlr7nlhbblj5jln7rjgIIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6NzUzCisjOiBidWlsdGluL3JlYmFzZS5jOjEzNjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiVzXG4iCkBAIC0xNDgzMiw3ICsxNzcxMiw3IEBACiAiICAgIGdpdCByZWJhc2UgJzxicmFuY2g+J1xuIgogIlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjc2OQorIzogYnVpbHRpbi9yZWJhc2UuYzoxMzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDpcbiIKQEAgLTE0ODQ1LDE0OSArMTc3MjUsMTgxIEBACiAiICAgIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG89JXMvPGJyYW5jaD4gJXNcbiIKICJcbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4MzIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQxMworbXNnaWQgImV4ZWMgY29tbWFuZHMgY2Fubm90IGNvbnRhaW4gbmV3bGluZXMiCittc2dzdHIgImV4ZWMg5ZG95Luk5LiN6IO95YyF5ZCr5o2i6KGM56ymIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0MTcKK21zZ2lkICJlbXB0eSBleGVjIGNvbW1hbmQiCittc2dzdHIgIuepuueahCBleGVjIOWRveS7pCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDQ2CiBtc2dpZCAicmViYXNlIG9udG8gZ2l2ZW4gYnJhbmNoIGluc3RlYWQgb2YgdXBzdHJlYW0iCiBtc2dzdHIgIuWPmOWfuuWIsOe7meWumueahOWIhuaUr+iAjOmdnuS4iua4uCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4MzQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ0OAorbXNnaWQgInVzZSB0aGUgbWVyZ2UtYmFzZSBvZiB1cHN0cmVhbSBhbmQgYnJhbmNoIGFzIHRoZSBjdXJyZW50IGJhc2UiCittc2dzdHIgIuS9v+eUqOS4iua4uOWSjOWIhuaUr+eahOWQiOW5tuWfuue6v+WBmuS4uuW9k+WJjeWfuue6vyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDUwCiBtc2dpZCAiYWxsb3cgcHJlLXJlYmFzZSBob29rIHRvIHJ1biIKIG1zZ3N0ciAi5YWB6K645omn6KGMIHByZS1yZWJhc2Ug6ZKp5a2QIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjgzNgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDUyCiBtc2dpZCAiYmUgcXVpZXQuIGltcGxpZXMgLS1uby1zdGF0IgogbXNnc3RyICLlronpnZnjgILmmpfnpLogLS1uby1zdGF0IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjgzOQotbXNnaWQgImRpc3BsYXkgYSBkaWZmc3RhdCBvZiB3aGF0IGNoYW5nZWQgdXBzdHJlYW0iCi1tc2dzdHIgIuaYvuekuuS4iua4uOWPmOWMlueahCBkaWZmc3RhdCIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzo4NDIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1OAogbXNnaWQgImRvIG5vdCBzaG93IGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbSIKLW1zZ3N0ciAi5LiN5pi+56S65LiK5ri45Y+Y5YyW55qEIGRpZmZzdGF0IgorbXNnc3RyICLkuI3mmL7npLrkuIrmuLjlj5jljJbnmoTlt67lvILnu5/orqEiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODQ1CisjOiBidWlsdGluL3JlYmFzZS5jOjE0NjEKIG1zZ2lkICJhZGQgYSBTaWduZWQtb2ZmLWJ5OiBsaW5lIHRvIGVhY2ggY29tbWl0IgogbXNnc3RyICLkuLrmr4/kuIDkuKrmj5DkuqTmt7vliqDkuIDkuKogU2lnbmVkLW9mZi1ieTog562+5ZCNIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg0NyBidWlsdGluL3JlYmFzZS5jOjg1MSBidWlsdGluL3JlYmFzZS5jOjg1MwotbXNnaWQgInBhc3NlZCB0byAnZ2l0IGFtJyIKLW1zZ3N0ciAi5Lyg6YCS57uZICdnaXQgYW0nIgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDY0Cittc2dpZCAibWFrZSBjb21taXR0ZXIgZGF0ZSBtYXRjaCBhdXRob3IgZGF0ZSIKK21zZ3N0ciAi6K6p5o+Q5Lqk6ICF5pel5pyf5Yy56YWN5L2c6ICF5pel5pyfIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg1NSBidWlsdGluL3JlYmFzZS5jOjg1NworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDY2Cittc2dpZCAiaWdub3JlIGF1dGhvciBkYXRlIGFuZCB1c2UgY3VycmVudCBkYXRlIgorbXNnc3RyICLlv73nlaXkvZzogIXml6XmnJ/lubbkvb/nlKjlvZPliY3ml6XmnJ8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ2OAorbXNnaWQgInN5bm9ueW0gb2YgLS1yZXNldC1hdXRob3ItZGF0ZSIKK21zZ3N0ciAiLS1yZXNldC1hdXRob3ItZGF0ZSDnmoTlkIzkuYnor40iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3MCBidWlsdGluL3JlYmFzZS5jOjE0NzQKIG1zZ2lkICJwYXNzZWQgdG8gJ2dpdCBhcHBseSciCiBtc2dzdHIgIuS8oOmAkue7mSAnZ2l0IGFwcGx5JyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NTkgYnVpbHRpbi9yZWJhc2UuYzo4NjIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3MgorbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIHdoaXRlc3BhY2UiCittc2dzdHIgIuW/veeVpeepuueZveWtl+espueahOWPmOabtCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDc2IGJ1aWx0aW4vcmViYXNlLmM6MTQ3OQogbXNnaWQgImNoZXJyeS1waWNrIGFsbCBjb21taXRzLCBldmVuIGlmIHVuY2hhbmdlZCIKIG1zZ3N0ciAi5ouj6YCJ5omA5pyJ5o+Q5Lqk77yM5Y2z5L2/5pyq5L+u5pS5IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg2NAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDgxCiBtc2dpZCAiY29udGludWUiCiBtc2dzdHIgIue7p+e7rSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4NjcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ4NAogbXNnaWQgInNraXAgY3VycmVudCBwYXRjaCBhbmQgY29udGludWUiCiBtc2dzdHIgIui3s+i/h+W9k+WJjeihpeS4geW5tue7p+e7rSIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiBidWlsdGluL3JlYmFzZS5jOjg2OQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDg2CiBtc2dpZCAiYWJvcnQgYW5kIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoIgogbXNnc3RyICLnu4jmraLlubbmo4Dlh7rljp/mnInliIbmlK8iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODcyCisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODkKIG1zZ2lkICJhYm9ydCBidXQga2VlcCBIRUFEIHdoZXJlIGl0IGlzIgogbXNnc3RyICLnu4jmraLkvYbkv53mjIEgSEVBRCDkuI3lj5giCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODczCisjOiBidWlsdGluL3JlYmFzZS5jOjE0OTAKIG1zZ2lkICJlZGl0IHRoZSB0b2RvIGxpc3QgZHVyaW5nIGFuIGludGVyYWN0aXZlIHJlYmFzZSIKIG1zZ3N0ciAi5Zyo5Lqk5LqS5byP5Y+Y5Z+65Lit57yW6L6R5b6F5Yqe5YiX6KGoIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg3NgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDkzCiBtc2dpZCAic2hvdyB0aGUgcGF0Y2ggZmlsZSBiZWluZyBhcHBsaWVkIG9yIG1lcmdlZCIKIG1zZ3N0ciAi5pi+56S65q2j5Zyo5bqU55So5oiW5ZCI5bm255qE6KGl5LiB5paH5Lu2IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg3OQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDk2CiBtc2dpZCAidXNlIG1lcmdpbmcgc3RyYXRlZ2llcyB0byByZWJhc2UiCiBtc2dzdHIgIuS9v+eUqOWQiOW5tuetlueVpei/m+ihjOWPmOWfuiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4ODMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwMAogbXNnaWQgImxldCB0aGUgdXNlciBlZGl0IHRoZSBsaXN0IG9mIGNvbW1pdHMgdG8gcmViYXNlIgogbXNnc3RyICLorqnnlKjmiLfnvJbovpHopoHlj5jln7rnmoTmj5DkuqTliJfooagiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODg3Ci1tc2dpZCAidHJ5IHRvIHJlY3JlYXRlIG1lcmdlcyBpbnN0ZWFkIG9mIGlnbm9yaW5nIHRoZW0iCi1tc2dzdHIgIuWwneivlemHjeW7uuWQiOW5tuaPkOS6pOiAjOmdnuW/veeVpeWug+S7rCIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwNAorbXNnaWQgIihERVBSRUNBVEVEKSB0cnkgdG8gcmVjcmVhdGUgbWVyZ2VzIGluc3RlYWQgb2YgaWdub3JpbmcgdGhlbSIKK21zZ3N0ciAi77yI5bey5byD55So77yJ5bCd6K+V6YeN5bu65ZCI5bm25o+Q5Lqk6ICM6Z2e5b+955Wl5a6D5LusIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjg5MQotbXNnaWQgImFsbG93IHJlcmVyZSB0byB1cGRhdGUgaW5kZXggd2l0aCByZXNvbHZlZCBjb25mbGljdCIKLW1zZ3N0ciAi5YWB6K64IHJlcmVyZSDnlKjlt7Lop6PlhrPnmoTlhrLnqoHmm7TmlrDntKLlvJUiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6ODk0CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MDkKIG1zZ2lkICJwcmVzZXJ2ZSBlbXB0eSBjb21taXRzIGR1cmluZyByZWJhc2UiCiBtc2dzdHIgIuWPmOWfuuaXtuS/neeVmeepuuaPkOS6pCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo4OTYKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxMQogbXNnaWQgIm1vdmUgY29tbWl0cyB0aGF0IGJlZ2luIHdpdGggc3F1YXNoIS9maXh1cCEgdW5kZXIgLWkiCiBtc2dzdHIgIuWcqCAtaSDkuqTkupLmqKHlvI/kuIvvvIznp7vliqjku6Ugc3F1YXNoIS9maXh1cCEg5byA5aS055qE5o+Q5LqkIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkwMgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTE3CiBtc2dpZCAiYXV0b21hdGljYWxseSBzdGFzaC9zdGFzaCBwb3AgYmVmb3JlIGFuZCBhZnRlciIKIG1zZ3N0ciAi5Zyo5pON5L2c5YmN5ZCO5omn6KGM6Ieq5Yqo6LSu6JeP5ZKM5by55Ye66LSu6JePIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkwNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTE5CiBtc2dpZCAiYWRkIGV4ZWMgbGluZXMgYWZ0ZXIgZWFjaCBjb21taXQgb2YgdGhlIGVkaXRhYmxlIGxpc3QiCiBtc2dzdHIgIuWPr+e8lui+keWIl+ihqOeahOavj+S4gOS4quaPkOS6pOS4i+mdouWinuWKoOS4gOihjCBleGVjIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkwOAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTIzCiBtc2dpZCAiYWxsb3cgcmViYXNpbmcgY29tbWl0cyB3aXRoIGVtcHR5IG1lc3NhZ2VzIgogbXNnc3RyICLlhYHorrjpkojlr7nnqbrmj5DkuqTor7TmmI7nmoTmj5DkuqTlj5jln7oiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTExCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MjYKIG1zZ2lkICJ0cnkgdG8gcmViYXNlIG1lcmdlcyBpbnN0ZWFkIG9mIHNraXBwaW5nIHRoZW0iCiBtc2dzdHIgIuWwneivleWvueWQiOW5tuaPkOS6pOWPmOWfuuiAjOS4jeaYr+W/veeVpeWug+S7rCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5MTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyOQogbXNnaWQgInVzZSAnbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQnIHRvIHJlZmluZSB1cHN0cmVhbSIKIG1zZ3N0ciAi5L2/55SoICdtZXJnZS1iYXNlIC0tZm9yay1wb2ludCcg5p2l5LyY5YyW5LiK5ri4IgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkxNgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTMxCiBtc2dpZCAidXNlIHRoZSBnaXZlbiBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAi5L2/55So57uZ5a6a55qE5ZCI5bm2562W55WlIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkxOCBidWlsdGluL3JldmVydC5jOjExMQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTMzIGJ1aWx0aW4vcmV2ZXJ0LmM6MTE1CiBtc2dpZCAib3B0aW9uIgogbXNnc3RyICLpgInpobkiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6OTE5CisjOiBidWlsdGluL3JlYmFzZS5jOjE1MzQKIG1zZ2lkICJwYXNzIHRoZSBhcmd1bWVudCB0aHJvdWdoIHRvIHRoZSBtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAi5bCG5Y+C5pWw5Lyg6YCS57uZ5ZCI5bm2562W55WlIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkyMgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTM3CiBtc2dpZCAicmViYXNlIGFsbCByZWFjaGFibGUgY29tbWl0cyB1cCB0byB0aGUgcm9vdChzKSIKIG1zZ3N0ciAi5bCG5omA5pyJ5Y+v6L6+55qE5o+Q5Lqk5Y+Y5Z+65Yiw5qC55o+Q5LqkIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjkzOAotIywgYy1mb3JtYXQKLW1zZ2lkICJjb3VsZCBub3QgZXhlYyAlcyIKLW1zZ3N0ciAi5LiN6IO95omn6KGMICVzIgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNTU0Cittc2dpZCAiIgorInRoZSByZWJhc2UudXNlQnVpbHRpbiBzdXBwb3J0IGhhcyBiZWVuIHJlbW92ZWQhXG4iCisiU2VlIGl0cyBlbnRyeSBpbiAnZ2l0IGhlbHAgY29uZmlnJyBmb3IgZGV0YWlscy4iCittc2dzdHIgIiIKKyLlr7kgcmViYXNlLnVzZUJ1aWx0aW4g55qE5pSv5oyB5bey6KKr5Yig6Zmk77yBXG4iCisi6K+m6KeBICdnaXQgaGVscCBjb25maWcnIOS4reeahOadoeebruOAgiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5NTYgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6MjEzCisjOiBidWlsdGluL3JlYmFzZS5jOjE1NjAKIG1zZ2lkICJJdCBsb29rcyBsaWtlICdnaXQgYW0nIGlzIGluIHByb2dyZXNzLiBDYW5ub3QgcmViYXNlLiIKIG1zZ3N0ciAi55yL6LW35p2lICdnaXQtYW0nIOato+WcqOaJp+ihjOS4reOAguaXoOazleWPmOWfuuOAgiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzo5OTcgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6Mzk1CisjOiBidWlsdGluL3JlYmFzZS5jOjE2MDEKK21zZ2lkICIiCisiZ2l0IHJlYmFzZSAtLXByZXNlcnZlLW1lcmdlcyBpcyBkZXByZWNhdGVkLiBVc2UgLS1yZWJhc2UtbWVyZ2VzIGluc3RlYWQuIgorbXNnc3RyICJnaXQgcmViYXNlIC0tcHJlc2VydmUtbWVyZ2VzIOiiq+W8g+eUqOOAgueUqCAtLXJlYmFzZS1tZXJnZXMg5Luj5pu/44CCIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2MDYKK21zZ2lkICJjYW5ub3QgY29tYmluZSAnLS1rZWVwLWJhc2UnIHdpdGggJy0tb250byciCittc2dzdHIgIuS4jeiDveWwhiAnLS1rZWVwLWJhc2UnIOWSjCAnLS1vbnRvJyDnu4TlkIjkvb/nlKgiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYwOAorbXNnaWQgImNhbm5vdCBjb21iaW5lICctLWtlZXAtYmFzZScgd2l0aCAnLS1yb290JyIKK21zZ3N0ciAi5LiN6IO95bCGICctLWtlZXAtYmFzZScg5ZKMICctLXJvb3QnIOe7hOWQiOS9v+eUqCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjEyCiBtc2dpZCAiTm8gcmViYXNlIGluIHByb2dyZXNzPyIKIG1zZ3N0ciAi5rKh5pyJ5q2j5Zyo6L+b6KGM55qE5Y+Y5Z+677yfIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEwMDEgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NDA2CisjOiBidWlsdGluL3JlYmFzZS5jOjE2MTYKIG1zZ2lkICJUaGUgLS1lZGl0LXRvZG8gYWN0aW9uIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGludGVyYWN0aXZlIHJlYmFzZS4iCiBtc2dzdHIgIuWKqOS9nCAtLWVkaXQtdG9kbyDlj6rog73nlKjlnKjkuqTkupLlvI/lj5jln7rov4fnqIvkuK3jgIIiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTAxNSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0MTMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYzOQogbXNnaWQgIkNhbm5vdCByZWFkIEhFQUQiCiBtc2dzdHIgIuS4jeiDveivu+WPliBIRUFEIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEwMjggZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NDE2CisjOiBidWlsdGluL3JlYmFzZS5jOjE2NTEKIG1zZ2lkICIiCiAiWW91IG11c3QgZWRpdCBhbGwgbWVyZ2UgY29uZmxpY3RzIGFuZCB0aGVuXG4iCiAibWFyayB0aGVtIGFzIHJlc29sdmVkIHVzaW5nIGdpdCBhZGQiCkBAIC0xNDk5NSwyMSArMTc5MDcsMTYgQEAKICLmgqjlv4XpobvnvJbovpHmiYDmnInnmoTlkIjlubblhrLnqoHvvIznhLblkI7pgJrov4cgZ2l0IGFkZFxuIgogIuWRveS7pOWwhuWug+S7rOagh+iusOS4uuW3suino+WGsyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDQ3CisjOiBidWlsdGluL3JlYmFzZS5jOjE2NzAKIG1zZ2lkICJjb3VsZCBub3QgZGlzY2FyZCB3b3JrdHJlZSBjaGFuZ2VzIgogbXNnc3RyICLml6Dms5XkuKLlvIPlt6XkvZzljLrlj5jmm7QiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTA2NgorIzogYnVpbHRpbi9yZWJhc2UuYzoxNjg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBtb3ZlIGJhY2sgdG8gJXMiCiBtc2dzdHIgIuaXoOazleenu+WbniAlcyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMDc3IGJ1aWx0aW4vcm0uYzozNjgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiY291bGQgbm90IHJlbW92ZSAnJXMnIgotbXNnc3RyICLml6Dms5XliKDpmaQgJyVzJyIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTAzCisjOiBidWlsdGluL3JlYmFzZS5jOjE3MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkl0IHNlZW1zIHRoYXQgdGhlcmUgaXMgYWxyZWFkeSBhICVzIGRpcmVjdG9yeSwgYW5kXG4iCkBAIC0xNTAyOCwzMzUgKzE3OTM1LDE2MCBAQAogIlx0JXNcbiIKICLnhLblkI7lho3ph43mlrDmiafooYzjgIIg5Li66YG/5YWN5Lii5aSx6YeN6KaB5pWw5o2u77yM5oiR5bey57uP5YGc5q2i5b2T5YmN5pON5L2c44CCXG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTEyNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxNzU3CiBtc2dpZCAic3dpdGNoIGBDJyBleHBlY3RzIGEgbnVtZXJpY2FsIHZhbHVlIgogbXNnc3RyICLlvIDlhbMgYEMnIOacn+acm+S4gOS4quaVsOWtl+WAvCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMTYxCisjOiBidWlsdGluL3JlYmFzZS5jOjE3OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBtb2RlOiAlcyIKIG1zZ3N0ciAi5pyq55+l5qih5byP77yaJXMiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTE4MworIzogYnVpbHRpbi9yZWJhc2UuYzoxODIwCiBtc2dpZCAiLS1zdHJhdGVneSByZXF1aXJlcyAtLW1lcmdlIG9yIC0taW50ZXJhY3RpdmUiCiBtc2dzdHIgIi0tc3RyYXRlZ3kg6ZyA6KaBIC0tbWVyZ2Ug5oiWIC0taW50ZXJhY3RpdmUiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTIyNgotIywgYy1mb3JtYXQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg2MAorbXNnaWQgIi0tcmVzY2hlZHVsZS1mYWlsZWQtZXhlYyByZXF1aXJlcyAtLWV4ZWMgb3IgLS1pbnRlcmFjdGl2ZSIKK21zZ3N0ciAiLS1yZXNjaGVkdWxlLWZhaWxlZC1leGVjIOmcgOimgSAtLWV4ZWMg5oiWIC0taW50ZXJhY3RpdmUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg3MgorbXNnaWQgImNhbm5vdCBjb21iaW5lIGFtIG9wdGlvbnMgd2l0aCBlaXRoZXIgaW50ZXJhY3RpdmUgb3IgbWVyZ2Ugb3B0aW9ucyIKK21zZ3N0ciAi5LiN6IO95bCGIGFtIOmAiemhueS4juS6pOS6kuaIluWQiOW5tumAiemhueWQjOaXtuS9v+eUqCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxODkxCittc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0tcHJlc2VydmUtbWVyZ2VzJyB3aXRoICctLXJlYmFzZS1tZXJnZXMnIgorbXNnc3RyICLkuI3og73lsIYgJy0tcHJlc2VydmUtbWVyZ2VzJyDlkowgJy0tcmViYXNlLW1lcmdlcycg5ZCM5pe25L2/55SoIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4OTUKIG1zZ2lkICIiCi0iZXJyb3I6IGNhbm5vdCBjb21iaW5lIGludGVyYWN0aXZlIG9wdGlvbnMgKC0taW50ZXJhY3RpdmUsIC0tZXhlYywgLS1yZWJhc2UtIgotIm1lcmdlcywgLS1wcmVzZXJ2ZS1tZXJnZXMsIC0ta2VlcC1lbXB0eSwgLS1yb290ICsgLS1vbnRvKSB3aXRoIGFtIG9wdGlvbnMgIgotIiglcykiCisiZXJyb3I6IGNhbm5vdCBjb21iaW5lICctLXByZXNlcnZlLW1lcmdlcycgd2l0aCAnLS1yZXNjaGVkdWxlLWZhaWxlZC1leGVjJyIKIG1zZ3N0ciAiIgotIumUmeivr++8muaXoOazleWQjOaXtuS9v+eUqOS6pOS6kuW8j+mAiemhue+8iC0taW50ZXJhY3RpdmUsIC0tZXhlYywgLS1yZWJhc2UtbWVyZ2VzLCAtLXByZXNlcnZlLSIKLSJtZXJnZXMsIC0ta2VlcC1lbXB0eSwgLS1yb290ICsgLS1vbnRv77yJ5ZKMIGFtIOmAiemhue+8iCVz77yJIgorIumUmeivr++8muS4jeiDveWwhiAnLS1wcmVzZXJ2ZS1tZXJnZXMnIOWSjCAnLS1yZXNjaGVkdWxlLWZhaWxlZC1leGVjJyDlkIzml7bkvb/nlKgiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTIzMQotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iZXJyb3I6IGNhbm5vdCBjb21iaW5lIG1lcmdlIG9wdGlvbnMgKC0tbWVyZ2UsIC0tc3RyYXRlZ3ksIC0tc3RyYXRlZ3ktb3B0aW9uKSAiCi0id2l0aCBhbSBvcHRpb25zICglcykiCi1tc2dzdHIgIumUmeivr++8muS4jeiDvee7hOWQiOWQiOW5tumAiemhue+8iC0tbWVyZ2XjgIEtLXN0cmF0ZWd544CBLS1zdHJhdGVneS1vcHRpb27vvInlkowgYW0g6YCJ6aG577yIJXPvvIkiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI1MSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1MzYKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcHJlc2VydmUtbWVyZ2VzJyB3aXRoICctLXJlYmFzZS1tZXJnZXMnIgotbXNnc3RyICLplJnor6/vvJrkuI3og73nu4TlkIggJy0tcHJlc2VydmUtbWVyZ2VzJyDlkowgJy0tcmViYXNlLW1lcmdlcyciCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI1NiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1NDIKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneS1vcHRpb24nIgotbXNnc3RyICLplJnor6/vvJrkuI3og73nu4TlkIggJy0tcmViYXNlLW1lcmdlcycg5ZKMICctLXN0cmF0ZWd5LW9wdGlvbiciCi0KLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTI1OSBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1NDQKLW1zZ2lkICJlcnJvcjogY2Fubm90IGNvbWJpbmUgJy0tcmViYXNlLW1lcmdlcycgd2l0aCAnLS1zdHJhdGVneSciCi1tc2dzdHIgIumUmeivr++8muS4jeiDvee7hOWQiCAnLS1yZWJhc2UtbWVyZ2VzJyDlkowgJy0tc3RyYXRlZ3knIgotCi0jOiBidWlsdGluL3JlYmFzZS5jOjEyODMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTkxOQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICclcyciCiBtc2dzdHIgIuaXoOaViOeahOS4iua4uCAnJXMnIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEyODkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTkyNQogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgbmV3IHJvb3QgY29tbWl0IgogbXNnc3RyICLkuI3og73liJvlu7rmlrDnmoTmoLnmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTMwNworIzogYnVpbHRpbi9yZWJhc2UuYzoxOTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcyc6IG5lZWQgZXhhY3RseSBvbmUgbWVyZ2UgYmFzZSB3aXRoIGJyYW5jaCIKK21zZ3N0ciAiJyVzJ++8muWPqumcgOimgeS4juWIhuaUr+eahOS4gOS4quWQiOW5tuWfuue6vyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxOTU0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcyc6IG5lZWQgZXhhY3RseSBvbmUgbWVyZ2UgYmFzZSIKIG1zZ3N0ciAiJyVzJ++8muWPqumcgOimgeS4gOS4quWQiOW5tuWfuue6vyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxMzE0CisjOiBidWlsdGluL3JlYmFzZS5jOjE5NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQgJyVzJyIKIG1zZ3N0ciAi5rKh5pyJ5oyH5ZCR5LiA5Liq5pyJ5pWI55qE5o+Q5LqkICclcyciCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTMzOQorIzogYnVpbHRpbi9yZWJhc2UuYzoxOTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhdGFsOiBubyBzdWNoIGJyYW5jaC9jb21taXQgJyVzJyIKLW1zZ3N0ciAi5Lil6YeN6ZSZ6K+v77ya5peg5q2k5YiG5pSvL+aPkOS6pCAnJXMnIgorbXNnc3RyICLoh7Tlkb3plJnor6/vvJrml6DmraTliIbmlK8v5o+Q5LqkICclcyciCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTM0NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MzcKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTMwCisjOiBidWlsdGluL3JlYmFzZS5jOjE5OTUgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJObyBzdWNoIHJlZjogJXMiCiBtc2dzdHIgIuayoeaciei/meagt+eahOW8leeUqO+8miVzIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzNTkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjAwNgogbXNnaWQgIkNvdWxkIG5vdCByZXNvbHZlIEhFQUQgdG8gYSByZXZpc2lvbiIKIG1zZ3N0ciAi5peg5rOV5bCGIEhFQUQg6Kej5p6Q5Li65LiA5Liq54mI5pysIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjEzOTkgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NjY1CisjOiBidWlsdGluL3JlYmFzZS5jOjIwNDQKIG1zZ2lkICJDYW5ub3QgYXV0b3N0YXNoIgogbXNnc3RyICLml6Dms5UgYXV0b3N0YXNoIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0MDIKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmV4cGVjdGVkIHN0YXNoIHJlc3BvbnNlOiAnJXMnIgogbXNnc3RyICLmhI/lpJbnmoQgc3Rhc2gg5ZON5bqU77yaJyVzJyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDA4CisjOiBidWlsdGluL3JlYmFzZS5jOjIwNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgZm9yICclcyciCiBtc2dzdHIgIuS4jeiDveS4uiAnJXMnIOWIm+W7uuebruW9lSIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDExCisjOiBidWlsdGluL3JlYmFzZS5jOjIwNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ3JlYXRlZCBhdXRvc3Rhc2g6ICVzXG4iCiBtc2dzdHIgIuWIm+W7uuS6hiBhdXRvc3Rhc2jvvJolc1xuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0MTQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA1OQogbXNnaWQgImNvdWxkIG5vdCByZXNldCAtLWhhcmQiCiBtc2dzdHIgIuaXoOazlSByZXNldCAtLWhhcmQiCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQxNSBidWlsdGluL3Jlc2V0LmM6MTEzCi0jLCBjLWZvcm1hdAotbXNnaWQgIkhFQUQgaXMgbm93IGF0ICVzIgotbXNnc3RyICJIRUFEIOeOsOWcqOS9jeS6jiAlcyIKLQotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDMxIGdpdC1sZWdhY3ktcmViYXNlLnNoOjY3NAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMDY4CiBtc2dpZCAiUGxlYXNlIGNvbW1pdCBvciBzdGFzaCB0aGVtLiIKIG1zZ3N0ciAi6K+35o+Q5Lqk5oiW6LSu6JeP5L+u5pS544CCIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0NTgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgJyVzJyIKIG1zZ3N0ciAi5peg5rOV6Kej5p6QICclcyciCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3MAorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTA4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCBzd2l0Y2ggdG8gJXMiCiBtc2dzdHIgIuaXoOazleWIh+aNouWIsCAlcyIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDgxIGdpdC1sZWdhY3ktcmViYXNlLnNoOjY5NwotIywgc2gtZm9ybWF0CisjOiBidWlsdGluL3JlYmFzZS5jOjIxMTkKIG1zZ2lkICJIRUFEIGlzIHVwIHRvIGRhdGUuIgogbXNnc3RyICJIRUFEIOaYr+acgOaWsOeahOOAgiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNDgzCisjOiBidWlsdGluL3JlYmFzZS5jOjIxMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ3VycmVudCBicmFuY2ggJXMgaXMgdXAgdG8gZGF0ZS5cbiIKIG1zZ3N0ciAi5b2T5YmN5YiG5pSvICVzIOaYr+acgOaWsOeahOOAglxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0OTEgZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzA3Ci0jLCBzaC1mb3JtYXQKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEyOQogbXNnaWQgIkhFQUQgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCiBtc2dzdHIgIkhFQUQg5piv5pyA5paw55qE77yM5by65Yi25Y+Y5Z+644CCIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE0OTMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJDdXJyZW50IGJyYW5jaCAlcyBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkLlxuIgogbXNnc3RyICLlvZPliY3liIbmlK8gJXMg5piv5pyA5paw55qE77yM5by65Yi25Y+Y5Z+644CCXG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwMSBnaXQtbGVnYWN5LXJlYmFzZS5zaDoyMDgKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEzOQogbXNnaWQgIlRoZSBwcmUtcmViYXNlIGhvb2sgcmVmdXNlZCB0byByZWJhc2UuIgogbXNnc3RyICJwcmUtcmViYXNlIOmSqeWtkOaLkue7neS6huWPmOWfuuaTjeS9nOOAgiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNTA4CisjOiBidWlsdGluL3JlYmFzZS5jOjIxNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2hhbmdlcyB0byAlczpcbiIKIG1zZ3N0ciAi5YiwICVzIOeahOWPmOabtO+8mlxuIgogCi0jOiBidWlsdGluL3JlYmFzZS5jOjE1MTEKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJDaGFuZ2VzIGZyb20gJXMgdG8gJXM6XG4iCiBtc2dzdHIgIuS7jiAlcyDliLAgJXMg55qE5Y+Y5pu077yaXG4iCiAKLSM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzNgorIzogYnVpbHRpbi9yZWJhc2UuYzoyMTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLlxuIgogbXNnc3RyICLpppblhYjvvIzlm57pgIDlpLTmjIfpkojku6Xkvr/lnKjlhbbkuIrph43mlL7mgqjnmoTlt6XkvZwuLi5cbiIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNTQzCisjOiBidWlsdGluL3JlYmFzZS5jOjIxODMKIG1zZ2lkICJDb3VsZCBub3QgZGV0YWNoIEhFQUQiCiBtc2dzdHIgIuaXoOazleWIhuemu+WktOaMh+mSiCIKIAotIzogYnVpbHRpbi9yZWJhc2UuYzoxNTUyCisjOiBidWlsdGluL3JlYmFzZS5jOjIxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkZWQgJXMgdG8gJXMuXG4iCiBtc2dzdHIgIuW/q+i/myAlcyDliLAgJXPjgIJcbiIKIAotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MjQKLW1zZ2lkICJubyBIRUFEPyIKLW1zZ3N0ciAi5rKh5pyJIEhFQUTvvJ8iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjUxCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICVzIgotbXNnc3RyICLml6Dms5XliJvlu7rkuLTml7bnmoQgJXMiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjU3Ci1tc2dpZCAiY291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCi1tc2dzdHIgIuaXoOazleagh+iusOS4uuS6pOS6kuW8jyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTAxCi0jLCBjLWZvcm1hdAotbXNnaWQgImNvdWxkIG5vdCBvcGVuICVzIgotbXNnc3RyICLml6Dms5XmiZPlvIAgJXMiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjExNAotbXNnaWQgImNvdWxkIG5vdCBnZW5lcmF0ZSB0b2RvIGxpc3QiCi1tc2dzdHIgIuaXoOazleeUn+aIkOW+heWKnuWIl+ihqCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTI5Ci1tc2dpZCAiZ2l0IHJlYmFzZS0taW50ZXJhY3RpdmUgWzxvcHRpb25zPl0iCi1tc2dzdHIgImdpdCByZWJhc2UtLWludGVyYWN0aXZlIFs86YCJ6aG5Pl0iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE0OAotbXNnaWQgImtlZXAgZW1wdHkgY29tbWl0cyIKLW1zZ3N0ciAi5L+d5oyB56m65o+Q5LqkIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNTAgYnVpbHRpbi9yZXZlcnQuYzoxMjQKLW1zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCi1tc2dzdHIgIuWFgeiuuOaPkOS6pOivtOaYjuS4uuepuiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTUxCi1tc2dpZCAicmViYXNlIG1lcmdlIGNvbW1pdHMiCi1tc2dzdHIgIuWvueWQiOW5tuaPkOS6pOWPmOWfuiIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTUzCi1tc2dpZCAia2VlcCBvcmlnaW5hbCBicmFuY2ggcG9pbnRzIG9mIGNvdXNpbnMiCi1tc2dzdHIgIuS/neaMgeWFhOW8n+aPkOS6pOeahOWOn+Wni+WIhuaUr+eCuSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTU1Ci1tc2dpZCAibW92ZSBjb21taXRzIHRoYXQgYmVnaW4gd2l0aCBzcXVhc2ghL2ZpeHVwISIKLW1zZ3N0ciAi56e75Yqo5LulIHNxdWFzaCEvZml4dXAhIOW8gOWktOeahOaPkOS6pCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTU2Ci1tc2dpZCAic2lnbiBjb21taXRzIgotbXNnc3RyICLnrb7lkI3mj5DkuqQiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE1OAotbXNnaWQgImNvbnRpbnVlIHJlYmFzZSIKLW1zZ3N0ciAi57un57ut5Y+Y5Z+6IgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjAKLW1zZ2lkICJza2lwIGNvbW1pdCIKLW1zZ3N0ciAi6Lez6L+H5o+Q5LqkIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjEKLW1zZ2lkICJlZGl0IHRoZSB0b2RvIGxpc3QiCi1tc2dzdHIgIuWPmOWfuuW+heWKnuWIl+ihqCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTYzCi1tc2dpZCAic2hvdyB0aGUgY3VycmVudCBwYXRjaCIKLW1zZ3N0ciAi5pi+56S65b2T5YmN6KGl5LiBIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjYKLW1zZ2lkICJzaG9ydGVuIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKLW1zZ3N0ciAi57yp55+t5b6F5Yqe5YiX6KGo5Lit55qE5o+Q5Lqk5Y+3IgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNjgKLW1zZ2lkICJleHBhbmQgY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgotbXNnc3RyICLmianlsZXlvoXlip7liJfooajkuK3nmoTmj5DkuqTlj7ciCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3MAotbXNnaWQgImNoZWNrIHRoZSB0b2RvIGxpc3QiCi1tc2dzdHIgIuajgOafpeW+heWKnuWIl+ihqCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTcyCi1tc2dpZCAicmVhcnJhbmdlIGZpeHVwL3NxdWFzaCBsaW5lcyIKLW1zZ3N0ciAi6YeN5paw5o6S5YiXIGZpeHVwL3NxdWFzaCDooYwiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3NAotbXNnaWQgImluc2VydCBleGVjIGNvbW1hbmRzIGluIHRvZG8gbGlzdCIKLW1zZ3N0ciAi5Zyo5b6F5Yqe5YiX6KGo5Lit5o+S5YWlIGV4ZWMg5omn6KGM5ZG95LukIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzUKLW1zZ2lkICJvbnRvIgotbXNnc3RyICJvbnRvIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxNzcKLW1zZ2lkICJyZXN0cmljdC1yZXZpc2lvbiIKLW1zZ3N0ciAicmVzdHJpY3QtcmV2aXNpb24iCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3NwotbXNnaWQgInJlc3RyaWN0IHJldmlzaW9uIgotbXNnc3RyICLpmZDliLbniYjmnKwiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE3OAotbXNnaWQgInNxdWFzaC1vbnRvIgotbXNnc3RyICJzcXVhc2gtb250byIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTc5Ci1tc2dpZCAic3F1YXNoIG9udG8iCi1tc2dzdHIgInNxdWFzaCBvbnRvIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODEKLW1zZ2lkICJ0aGUgdXBzdHJlYW0gY29tbWl0IgotbXNnc3RyICLkuIrmuLjmj5DkuqQiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE4MgotbXNnaWQgImhlYWQtbmFtZSIKLW1zZ3N0ciAiaGVhZC1uYW1lIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODIKLW1zZ2lkICJoZWFkIG5hbWUiCi1tc2dzdHIgImhlYWQg5ZCN56ewIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxODcKLW1zZ2lkICJyZWJhc2Ugc3RyYXRlZ3kiCi1tc2dzdHIgIuWPmOWfuuetlueVpSIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg4Ci1tc2dpZCAic3RyYXRlZ3ktb3B0cyIKLW1zZ3N0ciAic3RyYXRlZ3ktb3B0cyIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTg5Ci1tc2dpZCAic3RyYXRlZ3kgb3B0aW9ucyIKLW1zZ3N0ciAi562W55Wl6YCJ6aG5IgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTAKLW1zZ2lkICJzd2l0Y2gtdG8iCi1tc2dzdHIgIuWIh+aNouWIsCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkxCi1tc2dpZCAidGhlIGJyYW5jaCBvciBjb21taXQgdG8gY2hlY2tvdXQiCi1tc2dzdHIgIuimgeajgOWHuueahOWIhuaUr+aIluaPkOS6pCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkyCi1tc2dpZCAib250by1uYW1lIgotbXNnc3RyICJvbnRvLW5hbWUiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjE5MgotbXNnaWQgIm9udG8gbmFtZSIKLW1zZ3N0ciAib250byBuYW1lIgotCi0jOiBidWlsdGluL3JlYmFzZS0taW50ZXJhY3RpdmUuYzoxOTMKLW1zZ2lkICJjbWQiCi1tc2dzdHIgImNtZCIKLQotIzogYnVpbHRpbi9yZWJhc2UtLWludGVyYWN0aXZlLmM6MTkzCi1tc2dpZCAidGhlIGNvbW1hbmQgdG8gcnVuIgotbXNnc3RyICLopoHmiafooYznmoTlkb3ku6QiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjIyMAotbXNnaWQgIi0tW25vLV1yZWJhc2UtY291c2lucyBoYXMgbm8gZWZmZWN0IHdpdGhvdXQgLS1yZWJhc2UtbWVyZ2VzIgotbXNnc3RyICLkuI3kvb/nlKggLS1yZWJhc2UtbWVyZ2Vz77yM5YiZIC0tW25vLV1yZWJhc2UtY291c2lucyDmsqHmnInmlYjmnpwiCi0KLSM6IGJ1aWx0aW4vcmViYXNlLS1pbnRlcmFjdGl2ZS5jOjIyNgotbXNnaWQgImEgYmFzZSBjb21taXQgbXVzdCBiZSBwcm92aWRlZCB3aXRoIC0tdXBzdHJlYW0gb3IgLS1vbnRvIgotbXNnc3RyICLkvb/nlKggLS11cHN0cmVhbSDmiJYgLS1vbnRvIOW/hemhu+aPkOS+m+S4gOS4quWfuue6v+aPkOS6pCIKLQotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzozMworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzozMgogbXNnaWQgImdpdCByZWNlaXZlLXBhY2sgPGdpdC1kaXI+IgogbXNnc3RyICJnaXQgcmVjZWl2ZS1wYWNrIDzku5PlupPnm67lvZU+IgogCkBAIC0xNTQwNSwxOSArMTgxMzcsNzQgQEAKICJcbiIKICLoi6XopoHlsY/olL3mraTkv6Hmga/vvIzmgqjlj6/ku6Xorr7nva7lroPkuLogJ3JlZnVzZSfjgIIiCiAKLSM6IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTkyOQorIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTM2CiBtc2dpZCAicXVpZXQiCiBtc2dzdHIgIumdmem7mOaooeW8jyIKIAotIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTQzCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjE5NTAKIG1zZ2lkICJZb3UgbXVzdCBzcGVjaWZ5IGEgZGlyZWN0b3J5LiIKIG1zZ3N0ciAi5oKo5b+F6aG75oyH5a6a5LiA5Liq55uu5b2V44CCIgogCi0jOiBidWlsdGluL3JlZmxvZy5jOjU2MyBidWlsdGluL3JlZmxvZy5jOjU2OAorIzogYnVpbHRpbi9yZWZsb2cuYzoxNworbXNnaWQgIiIKKyJnaXQgcmVmbG9nIGV4cGlyZSBbLS1leHBpcmU9PHRpbWU+XSBbLS1leHBpcmUtdW5yZWFjaGFibGU9PHRpbWU+XSBbLS0iCisicmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1zdGFsZS1maXhdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gWy0tYWxsXSAiCisiPHJlZnM+Li4uIgorbXNnc3RyICIiCisiZ2l0IHJlZmxvZyBleHBpcmUgWy0tZXhwaXJlPTzml7bpl7Q+XSBbLS1leHBpcmUtdW5yZWFjaGFibGU9POaXtumXtD5dIFstLSIKKyJyZXdyaXRlXSBbLS11cGRhdGVyZWZdIFstLXN0YWxlLWZpeF0gWy0tZHJ5LXJ1biB8IC1uXSBbLS12ZXJib3NlXSBbLS1hbGxdIDzlvJUiCisi55SoPi4uLiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzoyMgorbXNnaWQgIiIKKyJnaXQgcmVmbG9nIGRlbGV0ZSBbLS1yZXdyaXRlXSBbLS11cGRhdGVyZWZdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gIgorIjxyZWZzPi4uLiIKK21zZ3N0ciAiIgorImdpdCByZWZsb2cgZGVsZXRlIFstLXJld3JpdGVdIFstLXVwZGF0ZXJlZl0gWy0tZHJ5LXJ1biB8IC1uXSBbLS12ZXJib3NlXSA85byVIgorIueUqD4uLi4iCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6MjUKK21zZ2lkICJnaXQgcmVmbG9nIGV4aXN0cyA8cmVmPiIKK21zZ3N0ciAiZ2l0IHJlZmxvZyBleGlzdHMgPOW8leeUqD4iCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NTY3IGJ1aWx0aW4vcmVmbG9nLmM6NTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgogbXNnc3RyICInJXMnIOS4jeaYr+S4gOS4quacieaViOeahOaXtumXtOaIsyIKIAorIzogYnVpbHRpbi9yZWZsb2cuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWFya2luZyByZWFjaGFibGUgb2JqZWN0cy4uLiIKK21zZ3N0ciAi5q2j5Zyo5qCH6K6w5Y+v6L6+5a+56LGhLi4uIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjY0MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBwb2ludHMgbm93aGVyZSEiCittc2dzdHIgIiVzIOaMh+WQkeS4jeWtmOWcqO+8gSIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo2OTUKK21zZ2lkICJubyByZWZsb2cgc3BlY2lmaWVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAi5pyq5oyH5a6a6KaB5Yig6Zmk55qE5byV55So5pel5b+XIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjcwNAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSByZWZsb2c6ICVzIgorbXNnc3RyICLkuI3mmK/kuIDkuKrlvJXnlKjml6Xlv5fvvJolcyIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo3MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gcmVmbG9nIGZvciAnJXMnIgorbXNnc3RyICLmsqHmnIkgJyVzJyDnmoTlvJXnlKjml6Xlv5ciCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVmIGZvcm1hdDogJXMiCittc2dzdHIgIuaXoOaViOeahOW8leeUqOagvOW8j++8miVzIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjc2NAorbXNnaWQgImdpdCByZWZsb2cgWyBzaG93IHwgZXhwaXJlIHwgZGVsZXRlIHwgZXhpc3RzIF0iCittc2dzdHIgImdpdCByZWZsb2cgWyBzaG93IHwgZXhwaXJlIHwgZGVsZXRlIHwgZXhpc3RzIF0iCisKICM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYKIG1zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCiBtc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSIKQEAgLTE1NTc3LDcgKzE4MzY0LDcgQEAKIG1zZ2lkICIoZGVsZXRlKSIKIG1zZ3N0ciAi77yI5Yig6Zmk77yJIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjYyOSBidWlsdGluL3JlbW90ZS5jOjc2NSBidWlsdGluL3JlbW90ZS5jOjg2NAorIzogYnVpbHRpbi9yZW1vdGUuYzo2MjkgYnVpbHRpbi9yZW1vdGUuYzo3NjQgYnVpbHRpbi9yZW1vdGUuYzo4NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCByZW1vdGU6ICclcyciCiBtc2dzdHIgIuayoeacieatpOi/nOeoi+S7k+W6k++8miclcyciCkBAIC0xNTU5OCwxNyArMTgzODUsMTcgQEAKICJcdCVzXG4iCiAiXHTlpoLmnpzlv4XopoHor7fmiYvliqjmm7TmlrDphY3nva7jgIIiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6NzAyCisjOiBidWlsdGluL3JlbW90ZS5jOjcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAi5Yig6ZmkICclcycg5aSx6LSlIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjczNgorIzogYnVpbHRpbi9yZW1vdGUuYzo3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3JlYXRpbmcgJyVzJyBmYWlsZWQiCiBtc2dzdHIgIuWIm+W7uiAnJXMnIOWksei0pSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo4MDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6ODAxCiBtc2dpZCAiIgogIk5vdGU6IEEgYnJhbmNoIG91dHNpZGUgdGhlIHJlZnMvcmVtb3Rlcy8gaGllcmFyY2h5IHdhcyBub3QgcmVtb3ZlZDtcbiIKICJ0byBkZWxldGUgaXQsIHVzZToiCkBAIC0xNTYxOCwxMTggKzE4NDA1LDExOCBAQAogbXNnc3RyWzBdICLms6jmhI/vvJpyZWYvcmVtb3RlcyDlsYLnuqfkuYvlpJbnmoTkuIDkuKrliIbmlK/mnKrooqvnp7vpmaTjgILopoHliKDpmaTlroPvvIzkvb/nlKjvvJoiCiBtc2dzdHJbMV0gIuazqOaEj++8mnJlZi9yZW1vdGVzIOWxgue6p+S5i+WklueahOS4gOS6m+WIhuaUr+acquiiq+enu+mZpOOAguimgeWIoOmZpOWug+S7rO+8jOS9v+eUqO+8miIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo4MTYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgY29uZmlnIHNlY3Rpb24gJyVzJyIKIG1zZ3N0ciAi5LiN6IO956e76Zmk6YWN572u5bCP6IqCICclcyciCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE3CisjOiBidWlsdGluL3JlbW90ZS5jOjkxNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgbmV3IChuZXh0IGZldGNoIHdpbGwgc3RvcmUgaW4gcmVtb3Rlcy8lcykiCiBtc2dzdHIgIiDmlrDnmoTvvIjkuIvkuIDmrKHojrflj5blsIblrZjlgqjkuo4gcmVtb3Rlcy8lc++8iSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5MjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTE5CiBtc2dpZCAiIHRyYWNrZWQiCiBtc2dzdHIgIiDlt7Lot5/ouKoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTIyCisjOiBidWlsdGluL3JlbW90ZS5jOjkyMQogbXNnaWQgIiBzdGFsZSAodXNlICdnaXQgcmVtb3RlIHBydW5lJyB0byByZW1vdmUpIgogbXNnc3RyICIg6L+H5pe277yI5L2/55SoICdnaXQgcmVtb3RlIHBydW5lJyDmnaXnp7vpmaTvvIkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTI0CisjOiBidWlsdGluL3JlbW90ZS5jOjkyMwogbXNnaWQgIiA/Pz8iCiBtc2dzdHIgIiA/Pz8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY1CisjOiBidWlsdGluL3JlbW90ZS5jOjk2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGJyYW5jaC4lcy5tZXJnZTsgY2Fubm90IHJlYmFzZSBvbnRvID4gMSBicmFuY2giCiBtc2dzdHIgIuaXoOaViOeahCBicmFuY2guJXMubWVyZ2XvvIzkuI3og73lj5jln7rliLDkuIDkuKrku6XkuIrnmoTliIbmlK8iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc0CisjOiBidWlsdGluL3JlbW90ZS5jOjk3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIGludGVyYWN0aXZlbHkgb250byByZW1vdGUgJXMiCiBtc2dzdHIgIuS6pOS6kuW8j+WPmOWfuuWIsOi/nOeoiyAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5NzYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSAod2l0aCBtZXJnZXMpIG9udG8gcmVtb3RlICVzIgogbXNnc3RyICLkuqTkupLlvI/lj5jln7rvvIjlkKvlkIjlubbmj5DkuqTvvInliLDov5znqIsgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc5CisjOiBidWlsdGluL3JlbW90ZS5jOjk3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWJhc2VzIG9udG8gcmVtb3RlICVzIgogbXNnc3RyICLlj5jln7rliLDov5znqIsgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6OTgzCisjOiBidWlsdGluL3JlbW90ZS5jOjk4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIgbWVyZ2VzIHdpdGggcmVtb3RlICVzIgogbXNnc3RyICIg5LiO6L+c56iLICVzIOWQiOW5tiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5ODYKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKIG1zZ3N0ciAi5LiO6L+c56iLICVzIOWQiOW5tiIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzo5ODkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiUtKnMgICAgYW5kIHdpdGggcmVtb3RlICVzXG4iCiBtc2dzdHIgIiUtKnMgICAg5Lul5Y+K5ZKM6L+c56iLICVzXG4iCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzMgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMxCiBtc2dpZCAiY3JlYXRlIgogbXNnc3RyICLliJvlu7oiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM0CiBtc2dpZCAiZGVsZXRlIgogbXNnc3RyICLliKDpmaQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzOQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMDM4CiBtc2dpZCAidXAgdG8gZGF0ZSIKIG1zZ3N0ciAi5pyA5pawIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNDIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MQogbXNnaWQgImZhc3QtZm9yd2FyZGFibGUiCiBtc2dzdHIgIuWPr+W/q+i/myIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ1CisjOiBidWlsdGluL3JlbW90ZS5jOjEwNDQKIG1zZ2lkICJsb2NhbCBvdXQgb2YgZGF0ZSIKIG1zZ3N0ciAi5pys5Zyw5bey6L+H5pe2IgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTIKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1MQogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyDlvLrliLbmjqjpgIHoh7MgJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJS0qcyAoJXMpIgogbXNnc3RyICIgICAgJS0qcyDmjqjpgIHoh7MgJS0qcyAoJXMpIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEwNTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1OAogIywgYy1mb3JtYXQKIG1zZ2lkICIgICAgJS0qcyBmb3JjZXMgdG8gJXMiCiBtc2dzdHIgIiAgICAlLSpzIOW8uuWItuaOqOmAgeiHsyAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMDYyCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgICUtKnMgcHVzaGVzIHRvICVzIgogbXNnc3RyICIgICAgJS0qcyDmjqjpgIHoh7MgJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTEzMAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTI5CiBtc2dpZCAiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiCiBtc2dzdHIgIuS4jeafpeivoui/nOeoiyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU3CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiKiByZW1vdGUgJXMiCiBtc2dzdHIgIiog6L+c56iLICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNTgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEZldGNoIFVSTDogJXMiCiBtc2dzdHIgIiAg6I635Y+W5Zyw5Z2A77yaJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE1OSBidWlsdGluL3JlbW90ZS5jOjExNzUgYnVpbHRpbi9yZW1vdGUuYzoxMzE0CisjOiBidWlsdGluL3JlbW90ZS5jOjExNTggYnVpbHRpbi9yZW1vdGUuYzoxMTc0IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMwogbXNnaWQgIihubyBVUkwpIgogbXNnc3RyICIo5pegIFVSTCkiCiAKQEAgLTE1NzM3LDMyICsxODUyNCwzMiBAQAogIy4gd2l0aCB0aGUgb25lIGluICIgRmV0Y2ggVVJMOiAlcyIKICMuIHRyYW5zbGF0aW9uLgogIy4KLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MyBidWlsdGluL3JlbW90ZS5jOjExNzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3MiBidWlsdGluL3JlbW90ZS5jOjExNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBQdXNoICBVUkw6ICVzIgogbXNnc3RyICIgIOaOqOmAgeWcsOWdgO+8miVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExNzcgYnVpbHRpbi9yZW1vdGUuYzoxMTc5IGJ1aWx0aW4vcmVtb3RlLmM6MTE4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OCBidWlsdGluL3JlbW90ZS5jOjExODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBIRUFEIGJyYW5jaDogJXMiCiBtc2dzdHIgIiAgSEVBRCDliIbmlK/vvJolcyIKIAogIyAg6K+R6ICF77ya5Lit5paH5a2X56ym5Liy5ou85o6l77yM5Y+v5Yig6Zmk5YmN5a+856m65qC8Ci0jOiBidWlsdGluL3JlbW90ZS5jOjExNzcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NgogbXNnaWQgIihub3QgcXVlcmllZCkiCiBtc2dzdHIgIu+8iOacquafpeivou+8iSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc5CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzgKIG1zZ2lkICIodW5rbm93bikiCiBtc2dzdHIgIu+8iOacquefpe+8iSIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMTgzCisjOiBidWlsdGluL3JlbW90ZS5jOjExODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiAgSEVBRCBicmFuY2ggKHJlbW90ZSBIRUFEIGlzIGFtYmlndW91cywgbWF5IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nKTpcbiIKIG1zZ3N0ciAiICBIRUFEIOWIhuaUr++8iOi/nOeoiyBIRUFEIOaooeeziu+8jOWPr+iDveaYr+S4i+WIl+S4reeahOS4gOS4qu+8ie+8mlxuIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjExOTUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICIgIFJlbW90ZSBicmFuY2g6JXMiCiBtc2dpZF9wbHVyYWwgIiAgUmVtb3RlIGJyYW5jaGVzOiVzIgpAQCAtMTU3NzAsMTY0ICsxODU1NywxNTUgQEAKIG1zZ3N0clsxXSAiICDov5znqIvliIbmlK/vvJolcyIKIAogIyAg6K+R6ICF77ya5Lit5paH5a2X56ym5Liy5ou85o6l77yM5Y+v5Yig6Zmk5YmN5a+856m65qC8Ci0jOiBidWlsdGluL3JlbW90ZS5jOjExOTggYnVpbHRpbi9yZW1vdGUuYzoxMjI0CisjOiBidWlsdGluL3JlbW90ZS5jOjExOTcgYnVpbHRpbi9yZW1vdGUuYzoxMjIzCiBtc2dpZCAiIChzdGF0dXMgbm90IHF1ZXJpZWQpIgogbXNnc3RyICLvvIjnirbmgIHmnKrmn6Xor6LvvIkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNworIzogYnVpbHRpbi9yZW1vdGUuYzoxMjA2CiBtc2dpZCAiICBMb2NhbCBicmFuY2ggY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCiBtc2dpZF9wbHVyYWwgIiAgTG9jYWwgYnJhbmNoZXMgY29uZmlndXJlZCBmb3IgJ2dpdCBwdWxsJzoiCiBtc2dzdHJbMF0gIiAg5Li6ICdnaXQgcHVsbCcg6YWN572u55qE5pys5Zyw5YiG5pSv77yaIgogbXNnc3RyWzFdICIgIOS4uiAnZ2l0IHB1bGwnIOmFjee9rueahOacrOWcsOWIhuaUr++8miIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjE1CisjOiBidWlsdGluL3JlbW90ZS5jOjEyMTQKIG1zZ2lkICIgIExvY2FsIHJlZnMgd2lsbCBiZSBtaXJyb3JlZCBieSAnZ2l0IHB1c2gnIgogbXNnc3RyICIgIOacrOWcsOW8leeUqOWwhuWcqCAnZ2l0IHB1c2gnIOaXtuiiq+mVnOWDjyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjIxCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiICBMb2NhbCByZWYgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKIG1zZ2lkX3BsdXJhbCAiICBMb2NhbCByZWZzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCiBtc2dzdHJbMF0gIiAg5Li6ICdnaXQgcHVzaCcg6YWN572u55qE5pys5Zyw5byV55SoJXPvvJoiCiBtc2dzdHJbMV0gIiAg5Li6ICdnaXQgcHVzaCcg6YWN572u55qE5pys5Zyw5byV55SoJXPvvJoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MgorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQxCiBtc2dpZCAic2V0IHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCBhY2NvcmRpbmcgdG8gcmVtb3RlIgogbXNnc3RyICLmoLnmja7ov5znqIvorr7nva4gcmVmcy9yZW1vdGVzLzzlkI3np7A+L0hFQUQiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjQzCiBtc2dpZCAiZGVsZXRlIHJlZnMvcmVtb3Rlcy88bmFtZT4vSEVBRCIKIG1zZ3N0ciAi5Yig6ZmkIHJlZnMvcmVtb3Rlcy885ZCN56ewPi9IRUFEIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNTkKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1OAogbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgcmVtb3RlIEhFQUQiCiBtc2dzdHIgIuaXoOazleehruWumui/nOeoiyBIRUFEIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEyNjEKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI2MAogbXNnaWQgIk11bHRpcGxlIHJlbW90ZSBIRUFEIGJyYW5jaGVzLiBQbGVhc2UgY2hvb3NlIG9uZSBleHBsaWNpdGx5IHdpdGg6IgogbXNnc3RyICLlpJrkuKrov5znqIsgSEVBRCDliIbmlK/jgILor7fmmI7noa7lnLDpgInmi6nkuIDkuKrnlKjlkb3ku6TvvJoiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI3MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgJXMiCiBtc2dzdHIgIuaXoOazleWIoOmZpCAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMjc5CisjOiBidWlsdGluL3JlbW90ZS5jOjEyNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm90IGEgdmFsaWQgcmVmOiAlcyIKIG1zZ3N0ciAi5LiN5piv5LiA5Liq5pyJ5pWI5byV55So77yaJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBzZXR1cCAlcyIKIG1zZ3N0ciAi5LiN6IO96K6+572uICVzIgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI5OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMjk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAlcyB3aWxsIGJlY29tZSBkYW5nbGluZyEiCiBtc2dzdHIgIiAlcyDlsIbmiJDkuLrmgqznqbrnirbmgIHvvIEiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzAwCisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICVzIGhhcyBiZWNvbWUgZGFuZ2xpbmchIgogbXNnc3RyICIgJXMg5bey5oiQ5Li65oKs56m654q25oCB77yBIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMTAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcnVuaW5nICVzIgogbXNnc3RyICLkv67liaogJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMxMQorIzogYnVpbHRpbi9yZW1vdGUuYzoxMzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlVSTDogJXMiCiBtc2dzdHIgIlVSTO+8miVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzMjcKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIgKiBbd291bGQgcHJ1bmVdICVzIgogbXNnc3RyICIgKiBb5bCG5Yig6ZmkXSAlcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxMzMwCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiICogW3BydW5lZF0gJXMiCiBtc2dzdHIgIiAqIFvlt7LliKDpmaRdICVzIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjEzNzUKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM3NAogbXNnaWQgInBydW5lIHJlbW90ZXMgYWZ0ZXIgZmV0Y2hpbmciCiBtc2dzdHIgIuaKk+WPluWQjua4hemZpOi/nOeoiyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDM4IGJ1aWx0aW4vcmVtb3RlLmM6MTQ5MiBidWlsdGluL3JlbW90ZS5jOjE1NjAKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQzNyBidWlsdGluL3JlbW90ZS5jOjE0OTEgYnVpbHRpbi9yZW1vdGUuYzoxNTU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIk5vIHN1Y2ggcmVtb3RlICclcyciCiBtc2dzdHIgIuayoeacieatpOi/nOeoiyAnJXMnIgogCi0jOiBidWlsdGluL3JlbW90ZS5jOjE0NTQKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ1MwogbXNnaWQgImFkZCBicmFuY2giCiBtc2dzdHIgIua3u+WKoOWIhuaUryIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNDYxCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjAKIG1zZ2lkICJubyByZW1vdGUgc3BlY2lmaWVkIgogbXNnc3RyICLmnKrmjIflrprov5znqIsiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3OAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDc3CiBtc2dpZCAicXVlcnkgcHVzaCBVUkxzIHJhdGhlciB0aGFuIGZldGNoIFVSTHMiCiBtc2dzdHIgIuafpeivouaOqOmAgSBVUkwg5Zyw5Z2A77yM6ICM6Z2e6I635Y+WIFVSTCDlnLDlnYAiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ4MAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNDc5CiBtc2dpZCAicmV0dXJuIGFsbCBVUkxzIgogbXNnc3RyICLov5Tlm57miYDmnIkgVVJMIOWcsOWdgCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTA4CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gVVJMcyBjb25maWd1cmVkIGZvciByZW1vdGUgJyVzJyIKIG1zZ3N0ciAi5rKh5pyJ57uZ6L+c56iL5LuT5bqTICclcycg6K6+5a6aIFVSTCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM0CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzMKIG1zZ2lkICJtYW5pcHVsYXRlIHB1c2ggVVJMcyIKIG1zZ3N0ciAi5pON5L2c5o6o6YCBIFVSTFMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTUzNgorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM1CiBtc2dpZCAiYWRkIFVSTCIKIG1zZ3N0ciAi5re75YqgIFVSTCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTM4CisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzcKIG1zZ2lkICJkZWxldGUgVVJMcyIKIG1zZ3N0ciAi5Yig6ZmkIFVSTFMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU0NQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTQ0CiBtc2dpZCAiLS1hZGQgLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIgogbXNnc3RyICItLWFkZCAtLWRlbGV0ZSDml6DmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgb2xkIFVSTCBwYXR0ZXJuOiAlcyIKIG1zZ3N0ciAi5peg5pWI55qE5penIFVSTCDljLnphY3mqKHniYjvvJolcyIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkyCisjOiBidWlsdGluL3JlbW90ZS5jOjE1OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gc3VjaCBVUkwgZm91bmQ6ICVzIgogbXNnc3RyICLmnKrmib7liLDmraQgVVJM77yaJXMiCiAKLSM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5NAorIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkzCiBtc2dpZCAiV2lsbCBub3QgZGVsZXRlIGFsbCBub24tcHVzaCBVUkxzIgogbXNnc3RyICLlsIbkuI3kvJrliKDpmaTmiYDmnInpnZ7mjqjpgIEgVVJMIOWcsOWdgCIKIAotIzogYnVpbHRpbi9yZW1vdGUuYzoxNjEwCi1tc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKLW1zZ3N0ciAi5YaX6ZW/6L6T5Ye677yb5b+F6aG7572u5LqO5a2Q5ZG95Luk5LmL5YmNIgotCi0jOiBidWlsdGluL3JlbW90ZS5jOjE2NDEKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKLW1zZ3N0ciAi5pyq55+l5a2Q5ZG95Luk77yaJXMiCi0KLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjMKIG1zZ2lkICJnaXQgcmVwYWNrIFs8b3B0aW9ucz5dIgogbXNnc3RyICJnaXQgcmVwYWNrIFs86YCJ6aG5Pl0iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MjcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjgKIG1zZ2lkICIiCiAiSW5jcmVtZW50YWwgcmVwYWNrcyBhcmUgaW5jb21wYXRpYmxlIHdpdGggYml0bWFwIGluZGV4ZXMuICBVc2VcbiIKICItLW5vLXdyaXRlLWJpdG1hcC1pbmRleCBvciBkaXNhYmxlIHRoZSBwYWNrLndyaXRlYml0bWFwcyBjb25maWd1cmF0aW9uLiIKQEAgLTE1OTM1LDk1ICsxODcxMywxMjcgQEAKICLlop7ph48gcmVwYWNrIOWSjCBiaXRtYXAg57Si5byV5LiN5YW85a6544CCICDkvb/nlKggLS1uby13cml0ZS1iaXRtYXAtaW5kZXhcbiIKICLmiJbnpoHnlKggcGFjay53cml0ZWJpdG1hcHMg6YWN572u44CCIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjI5NAorIzogYnVpbHRpbi9yZXBhY2suYzoxOTEKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgcGFjay1vYmplY3RzIHRvIHJlcGFjayBwcm9taXNvciBvYmplY3RzIgorbXNnc3RyICLml6Dms5XlvIDlp4sgcGFjay1vYmplY3RzIOadpemHjeaWsOaJk+WMhSBwcm9taXNvciDlr7nosaEiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjMwIGJ1aWx0aW4vcmVwYWNrLmM6NDE2Cittc2dpZCAicmVwYWNrOiBFeHBlY3RpbmcgZnVsbCBoZXggb2JqZWN0IElEIGxpbmVzIG9ubHkgZnJvbSBwYWNrLW9iamVjdHMuIgorbXNnc3RyICJyZXBhY2vvvJrmnJ/mnJvmnaXoh6ogcGFjay1vYmplY3RzIOeahOWujOaVtOWNgeWFrei/m+WItuWvueixoSBJROOAgiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyNTQKK21zZ2lkICJjb3VsZCBub3QgZmluaXNoIHBhY2stb2JqZWN0cyB0byByZXBhY2sgcHJvbWlzb3Igb2JqZWN0cyIKK21zZ3N0ciAi5peg5rOV5a6M5oiQIHBhY2stb2JqZWN0cyDmnaXph43mlrDmiZPljIUgcHJvbWlzb3Ig5a+56LGhIgorCisjOiBidWlsdGluL3JlcGFjay5jOjI5MgogbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgogbXNnc3RyICLmiYDmnInlhoXlrrnmiZPljIXliLDkuIDkuKrljIXmlofku7bkuK0iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk2CisjOiBidWlsdGluL3JlcGFjay5jOjI5NAogbXNnaWQgInNhbWUgYXMgLWEsIGFuZCB0dXJuIHVucmVhY2hhYmxlIG9iamVjdHMgbG9vc2UiCiBtc2dzdHIgIuWSjCAtYSDnm7jlkIzvvIzlubblsIbkuI3lj6/ovr7nmoTlr7nosaHorr7kuLrmnb7mlaPlr7nosaEiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk5CisjOiBidWlsdGluL3JlcGFjay5jOjI5NwogbXNnaWQgInJlbW92ZSByZWR1bmRhbnQgcGFja3MsIGFuZCBydW4gZ2l0LXBydW5lLXBhY2tlZCIKIG1zZ3N0ciAi5Yig6Zmk5aSa5L2Z55qE5YyF77yM6L+Q6KGMIGdpdC1wcnVuZS1wYWNrZWQiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzAxCisjOiBidWlsdGluL3JlcGFjay5jOjI5OQogbXNnaWQgInBhc3MgLS1uby1yZXVzZS1kZWx0YSB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICLlkJEgZ2l0LXBhY2stb2JqZWN0cyDkvKDpgJLlj4LmlbAgLS1uby1yZXVzZS1kZWx0YSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMDMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzAxCiBtc2dpZCAicGFzcyAtLW5vLXJldXNlLW9iamVjdCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICLlkJEgZ2l0LXBhY2stb2JqZWN0cyDkvKDpgJLlj4LmlbAgLS1uby1yZXVzZS1vYmplY3QiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA1CisjOiBidWlsdGluL3JlcGFjay5jOjMwMwogbXNnaWQgImRvIG5vdCBydW4gZ2l0LXVwZGF0ZS1zZXJ2ZXItaW5mbyIKIG1zZ3N0ciAi5LiN6L+Q6KGMIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA4CisjOiBidWlsdGluL3JlcGFjay5jOjMwNgogbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgogbXNnc3RyICLlkJEgZ2l0LXBhY2stb2JqZWN0cyDkvKDpgJLlj4LmlbAgLS1sb2NhbCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTAKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzA4CiBtc2dpZCAid3JpdGUgYml0bWFwIGluZGV4IgogbXNnc3RyICLlhpkgYml0bWFwIOe0ouW8lSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTIKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEwCiBtc2dpZCAicGFzcyAtLWRlbHRhLWlzbGFuZHMgdG8gZ2l0LXBhY2stb2JqZWN0cyIKIG1zZ3N0ciAi5ZCRIGdpdC1wYWNrLW9iamVjdHMg5Lyg6YCS5Y+C5pWwIC0tZGVsdGEtaXNsYW5kcyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTMKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzExCiBtc2dpZCAiYXBwcm94aWRhdGUiCiBtc2dzdHIgIui/keS8vOaXpeacnyIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzEyCiBtc2dpZCAid2l0aCAtQSwgZG8gbm90IGxvb3NlbiBvYmplY3RzIG9sZGVyIHRoYW4gdGhpcyIKIG1zZ3N0ciAi5L2/55SoIC1B77yM5LiN6KaB5bCG5pep5LqO57uZ5a6a5pe26Ze055qE5a+56LGh6L+H5pyfIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMxNgorIzogYnVpbHRpbi9yZXBhY2suYzozMTQKIG1zZ2lkICJ3aXRoIC1hLCByZXBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyIKIG1zZ3N0ciAi5L2/55SoIC1hIO+8jOmHjeaWsOWvueS4jeWPr+i+vuWvueixoeaJk+WMhSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMTgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE2CiBtc2dpZCAic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIgogbXNnc3RyICLnlKjkuo7lop7ph4/ljovnvKnnmoTnqpflj6PlgLwiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE5IGJ1aWx0aW4vcmVwYWNrLmM6MzI1CisjOiBidWlsdGluL3JlcGFjay5jOjMxNyBidWlsdGluL3JlcGFjay5jOjMyMwogbXNnaWQgImJ5dGVzIgogbXNnc3RyICLlrZfoioIiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzIwCisjOiBidWlsdGluL3JlcGFjay5jOjMxOAogbXNnaWQgInNhbWUgYXMgdGhlIGFib3ZlLCBidXQgbGltaXQgbWVtb3J5IHNpemUgaW5zdGVhZCBvZiBlbnRyaWVzIGNvdW50IgogbXNnc3RyICLlkozkuIrpnaLnmoTnm7jkvLzvvIzkvYbpmZDliLblhoXlrZjlpKflsI/ogIzpnZ7mnaHnm67mlbAiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzIyCisjOiBidWlsdGluL3JlcGFjay5jOjMyMAogbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBkZWx0YSBkZXB0aCIKIG1zZ3N0ciAi6ZmQ5Yi25pyA5aSn5aKe6YeP5rex5bqmIgogCi0jOiBidWlsdGluL3JlcGFjay5jOjMyNAorIzogYnVpbHRpbi9yZXBhY2suYzozMjIKIG1zZ2lkICJsaW1pdHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHRocmVhZHMiCiBtc2dzdHIgIumZkOWItuacgOWkp+e6v+eoi+aVsCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMjYKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI0CiBtc2dpZCAibWF4aW11bSBzaXplIG9mIGVhY2ggcGFja2ZpbGUiCiBtc2dzdHIgIuavj+S4quWMheaWh+S7tueahOacgOWkp+WwuuWvuCIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozMjgKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzI2CiBtc2dpZCAicmVwYWNrIG9iamVjdHMgaW4gcGFja3MgbWFya2VkIHdpdGggLmtlZXAiCiBtc2dzdHIgIuWvueagh+iusOS4uiAua2VlcCDnmoTljIXkuK3nmoTlr7nosaHph43mlrDmiZPljIUiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzMwCisjOiBidWlsdGluL3JlcGFjay5jOjMyOAogbXNnaWQgImRvIG5vdCByZXBhY2sgdGhpcyBwYWNrIgogbXNnc3RyICLkuI3opoHlr7nor6XljIXmlofku7bph43mlrDmiZPljIUiCiAKLSM6IGJ1aWx0aW4vcmVwYWNrLmM6MzQwCisjOiBidWlsdGluL3JlcGFjay5jOjMzOAogbXNnaWQgImNhbm5vdCBkZWxldGUgcGFja3MgaW4gYSBwcmVjaW91cy1vYmplY3RzIHJlcG8iCiBtc2dzdHIgIuS4jeiDveWIoOmZpOePjeWTgeS7k+W6k+S4reeahOaJk+WMheaWh+S7tiIKIAotIzogYnVpbHRpbi9yZXBhY2suYzozNDQKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzQyCiBtc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtQSBhcmUgaW5jb21wYXRpYmxlIgogbXNnc3RyICItLWtlZXAtdW5yZWFjaGFibGUg5ZKMIC1BIOS4jeWFvOWuuSIKIAotIzogYnVpbHRpbi9yZXBhY2suYzo1MjcKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6NDI1Cittc2dpZCAiTm90aGluZyBuZXcgdG8gcGFjay4iCittc2dzdHIgIuayoeacieaWsOeahOimgeaJk+WMheOAgiIKKworIzogYnVpbHRpbi9yZXBhY2suYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IFNvbWUgcGFja3MgaW4gdXNlIGhhdmUgYmVlbiByZW5hbWVkIGJ5XG4iCisiV0FSTklORzogcHJlZml4aW5nIG9sZC0gdG8gdGhlaXIgbmFtZSwgaW4gb3JkZXIgdG9cbiIKKyJXQVJOSU5HOiByZXBsYWNlIHRoZW0gd2l0aCB0aGUgbmV3IHZlcnNpb24gb2YgdGhlXG4iCisiV0FSTklORzogZmlsZS4gIEJ1dCB0aGUgb3BlcmF0aW9uIGZhaWxlZCwgYW5kIHRoZVxuIgorIldBUk5JTkc6IGF0dGVtcHQgdG8gcmVuYW1lIHRoZW0gYmFjayB0byB0aGVpclxuIgorIldBUk5JTkc6IG9yaWdpbmFsIG5hbWVzIGFsc28gZmFpbGVkLlxuIgorIldBUk5JTkc6IFBsZWFzZSByZW5hbWUgdGhlbSBpbiAlcyBtYW51YWxseTpcbiIKK21zZ3N0ciAiIgorIuitpuWRiu+8muS4uuS6huWwhuWMheaWh+S7tuabv+aNouS4uuaWsOeJiOacrO+8jOS4gOS6m+S9v+eUqOS4reeahOWMheW3sue7j1xuIgorIuitpuWRiu+8mumAmui/h+a3u+WKoCBvbGQtIOWJjee8gOeahOaWueW8j+mHjeWRveWQjeOAguS9huaYr+aTjeS9nOWksei0pe+8jFxuIgorIuitpuWRiu+8muW5tuS4lOWwneivlemHjeWRveWQjeaUueWbnuWOn+acieaWh+S7tuWQjeeahOaTjeS9nOS5n+Wksei0peOAglxuIgorIuitpuWRiu+8muivt+aJi+WKqOWwhiAlcyDkuIvnmoTov5nkupvmlofku7bph43lkb3lkI3vvJpcbiIKKworIzogYnVpbHRpbi9yZXBhY2suYzo1MzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnJXMnIgogbXNnc3RyICLliKDpmaQgJyVzJyDlpLHotKUiCkBAIC0xNjA1MiwxMiArMTg4NjIsNyBAQAogbXNnaWQgImdpdCByZXBsYWNlIFstLWZvcm1hdD08Zm9ybWF0Pl0gWy1sIFs8cGF0dGVybj5dXSIKIG1zZ3N0ciAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PTzmoLzlvI8+XSBbLWwgWzzmqKHlvI8+XV0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU4IGJ1aWx0aW4vcmVwbGFjZS5jOjIwMyBidWlsdGluL3JlcGxhY2UuYzoyMDYKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZiIKLW1zZ3N0ciAi5peg5rOV5bCGICclcycg6Kej5p6Q5Li65LiA5Liq5pyJ5pWI5byV55SoIgotCi0jOiBidWlsdGluL3JlcGxhY2UuYzo4NgorIzogYnVpbHRpbi9yZXBsYWNlLmM6OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImludmFsaWQgcmVwbGFjZSBmb3JtYXQgJyVzJ1xuIgpAQCAtMTYwNjYsMjcgKzE4ODcxLDI3IEBACiAi5peg5pWI55qE5pu/5o2i5qC85byPICclcydcbiIKICLmnInmlYjnmoTmoLzlvI/mnIkgJ3Nob3J0J+OAgSdtZWRpdW0nIOWSjCAnbG9uZyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjEyMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTI1CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcGxhY2UgcmVmICclcycgbm90IGZvdW5kIgogbXNnc3RyICLmnKrlj5HnjrDmm7/mjaLlvJXnlKggJyVzJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTM3CisjOiBidWlsdGluL3JlcGxhY2UuYzoxNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRGVsZXRlZCByZXBsYWNlIHJlZiAnJXMnIgogbXNnc3RyICLlt7LliKDpmaTmm7/mjaLlvJXnlKggJyVzJyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTQ5CisjOiBidWlsdGluL3JlcGxhY2UuYzoxNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCByZWYgbmFtZSIKIG1zZ3N0ciAiJyVzJyDkuI3mmK/kuIDkuKrmnInmlYjnmoTlvJXnlKjlkI0iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE1NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlcGxhY2UgcmVmICclcycgYWxyZWFkeSBleGlzdHMiCiBtc2dzdHIgIuabv+aNouW8leeUqCAnJXMnIOW3sue7j+WtmOWcqCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MTc0CisjOiBidWlsdGluL3JlcGxhY2UuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIk9iamVjdHMgbXVzdCBiZSBvZiB0aGUgc2FtZSB0eXBlLlxuIgpAQCAtMTYwOTcsMTA3ICsxODkwMiwxMTIgQEAKICInJXMnIOaMh+WQkSAnJXMnIOexu+Wei+eahOabv+aNouWvueixoVxuIgogIuiAjCAnJXMnIOaMh+WQkSAnJXMnIOexu+Wei+eahOabv+aNouWvueixoeOAgiIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjI1CisjOiBidWlsdGluL3JlcGxhY2UuYzoyMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgIuaXoOazleS4uuWGmeWFpeaJk+W8gCAlcyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjM4CisjOiBidWlsdGluL3JlcGxhY2UuYzoyNDIKIG1zZ2lkICJjYXQtZmlsZSByZXBvcnRlZCBmYWlsdXJlIgogbXNnc3RyICJjYXQtZmlsZSDmiqXlkYrlpLHotKUiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI1NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIGZvciByZWFkaW5nIgogbXNnc3RyICLml6Dms5XkuLror7vlj5bmiZPlvIAgJXMiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI2OAorIzogYnVpbHRpbi9yZXBsYWNlLmM6MjcyCiBtc2dpZCAidW5hYmxlIHRvIHNwYXduIG1rdHJlZSIKIG1zZ3N0ciAi5peg5rOV5ZCv5YqoIG1rdHJlZSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MjcyCisjOiBidWlsdGluL3JlcGxhY2UuYzoyNzYKIG1zZ2lkICJ1bmFibGUgdG8gcmVhZCBmcm9tIG1rdHJlZSIKIG1zZ3N0ciAi5peg5rOV5LuOIG1rdHJlZSDor7vlj5YiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI4MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjg1CiBtc2dpZCAibWt0cmVlIHJlcG9ydGVkIGZhaWx1cmUiCiBtc2dzdHIgIm1rdHJlZSDmiqXlkYrlpLHotKUiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI4NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6Mjg5CiBtc2dpZCAibWt0cmVlIGRpZCBub3QgcmV0dXJuIGFuIG9iamVjdCBuYW1lIgogbXNnc3RyICJta3RyZWUg5rKh5pyJ6L+U5Zue5LiA5Liq5a+56LGh5ZCNIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzoyOTQKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI5OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZnN0YXQgJXMiCiBtc2dzdHIgIuaXoOazleWvuSAlcyDmiafooYwgZnN0YXQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI5OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6MzAzCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIG9iamVjdCB0byBkYXRhYmFzZSIKIG1zZ3N0ciAi5peg5rOV5ZCR5pWw5o2u5bqT5YaZ5YWl5a+56LGhIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozMTggYnVpbHRpbi9yZXBsYWNlLmM6MzcxIGJ1aWx0aW4vcmVwbGFjZS5jOjQxNQotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDQ1CisjOiBidWlsdGluL3JlcGxhY2UuYzozMjIgYnVpbHRpbi9yZXBsYWNlLmM6Mzc4IGJ1aWx0aW4vcmVwbGFjZS5jOjQyMworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBhIHZhbGlkIG9iamVjdCBuYW1lOiAnJXMnIgogbXNnc3RyICLkuI3mmK/kuIDkuKrmnInmlYjnmoTlr7nosaHlkI3vvJonJXMnIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozMjIKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gZ2V0IG9iamVjdCB0eXBlIGZvciAlcyIKIG1zZ3N0ciAi5peg5rOV5b6X5YiwICVzIOeahOWvueixoeexu+WeiyIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6MzM4CisjOiBidWlsdGluL3JlcGxhY2UuYzozNDIKIG1zZ2lkICJlZGl0aW5nIG9iamVjdCBmaWxlIGZhaWxlZCIKIG1zZ3N0ciAi57yW6L6R5a+56LGh5paH5Lu25aSx6LSlIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzozNDcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJuZXcgb2JqZWN0IGlzIHRoZSBzYW1lIGFzIHRoZSBvbGQgb25lOiAnJXMnIgogbXNnc3RyICLmlrDlr7nosaHlkozml6flr7nosaHnm7jlkIzvvJonJXMnIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0MDcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgJXMgYXMgYSBjb21taXQiCittc2dzdHIgIuaXoOazleWwhiAlcyDop6PmnpDkuLrkuIDkuKrmj5DkuqQiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbWVyZ2V0YWcgaW4gY29tbWl0ICclcyciCiBtc2dzdHIgIuaPkOS6pCAnJXMnIOS4reWQq+acieaNn+Wdj+eahOWQiOW5tuagh+etviIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDA5CisjOiBidWlsdGluL3JlcGxhY2UuYzo0MTcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFsZm9ybWVkIG1lcmdldGFnIGluIGNvbW1pdCAnJXMnIgogbXNnc3RyICLmj5DkuqQgJyVzJyDkuK3lkKvmnInmoLzlvI/plJnor6/nmoTlkIjlubbmoIfnrb4iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQyMQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJvcmlnaW5hbCBjb21taXQgJyVzJyBjb250YWlucyBtZXJnZXRhZyAnJXMnIHRoYXQgaXMgZGlzY2FyZGVkOyB1c2UgLS1lZGl0ICIKICJpbnN0ZWFkIG9mIC0tZ3JhZnQiCiBtc2dzdHIgIuWOn+Wni+aPkOS6pCAnJXMnIOWMheWQq+W3sue7j+S4ouW8g+eahOWQiOW5tuagh+etviAnJXMn77yM5L2/55SoIC0tZWRpdCDku6Pmm78gLS1ncmFmdCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NDYwCisjOiBidWlsdGluL3JlcGxhY2UuYzo0NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAidGhlIG9yaWdpbmFsIGNvbW1pdCAnJXMnIGhhcyBhIGdwZyBzaWduYXR1cmUiCiBtc2dzdHIgIuWOn+Wni+aPkOS6pCAnJXMnIOS4reacieS4gOS4qiBncGcg562+5ZCNIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo0NjEKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2OQogbXNnaWQgInRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGluIHRoZSByZXBsYWNlbWVudCBjb21taXQhIgogbXNnc3RyICLlnKjmm7/mjaLnmoTmj5DkuqTkuK3nrb7lkI3lsIbooqvnp7vpmaTvvIEiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ3MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCB3cml0ZSByZXBsYWNlbWVudCBjb21taXQgZm9yOiAnJXMnIgogbXNnc3RyICLkuI3og73kuLogJyVzJyDlhpnmm7/mjaLmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ3OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgImdyYWZ0IGZvciAnJXMnIHVubmVjZXNzYXJ5IgogbXNnc3RyICLlr7kgJyVzJyDnp7vmpI3msqHmnInlv4XopoEiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ4MgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NDkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5ldyBjb21taXQgaXMgdGhlIHNhbWUgYXMgdGhlIG9sZCBvbmU6ICclcyciCiBtc2dzdHIgIuaWsOaPkOS6pOWSjOaXp+eahOS4gOagt++8miclcyciCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUxNQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJjb3VsZCBub3QgY29udmVydCB0aGUgZm9sbG93aW5nIGdyYWZ0KHMpOlxuIgpAQCAtMTYyMDYsNzEgKzE5MDE2LDcxIEBACiAi5LiN6IO96L2s5o2i5LiL5YiX56e75qSN77yaXG4iCiAiJXMiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUzNgorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQ3CiBtc2dpZCAibGlzdCByZXBsYWNlIHJlZnMiCiBtc2dzdHIgIuWIl+WHuuabv+aNoueahOW8leeUqCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM3CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDgKIG1zZ2lkICJkZWxldGUgcmVwbGFjZSByZWZzIgogbXNnc3RyICLliKDpmaTmm7/mjaLnmoTlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUzOAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTQ5CiBtc2dpZCAiZWRpdCBleGlzdGluZyBvYmplY3QiCiBtc2dzdHIgIue8lui+keeOsOWtmOeahOWvueixoSIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTM5CisjOiBidWlsdGluL3JlcGxhY2UuYzo1NTAKIG1zZ2lkICJjaGFuZ2UgYSBjb21taXQncyBwYXJlbnRzIgogbXNnc3RyICLkv67mlLnkuIDkuKrmj5DkuqTnmoTniLbmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0MAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTUxCiBtc2dpZCAiY29udmVydCBleGlzdGluZyBncmFmdCBmaWxlIgogbXNnc3RyICLovazmjaLnjrDlrZjnmoTnp7vmpI3mlofku7YiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTUyCiBtc2dpZCAicmVwbGFjZSB0aGUgcmVmIGlmIGl0IGV4aXN0cyIKIG1zZ3N0ciAi5aaC5p6c5a2Y5Zyo5YiZ5pu/5o2i5byV55SoIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NDMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1NAogbXNnaWQgImRvIG5vdCBwcmV0dHktcHJpbnQgY29udGVudHMgZm9yIC0tZWRpdCIKIG1zZ3N0ciAi5LiN6KaB5Li6IC0tZWRpdCDmk43kvZznvo7op4LmmL7npLrlhoXlrrkiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0NAorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU1CiBtc2dpZCAidXNlIHRoaXMgZm9ybWF0IgogbXNnc3RyICLkvb/nlKjmraTmoLzlvI8iCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1NworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTY4CiBtc2dpZCAiLS1mb3JtYXQgY2Fubm90IGJlIHVzZWQgd2hlbiBub3QgbGlzdGluZyIKIG1zZ3N0ciAi5LiN5YiX5Ye65pe25LiN6IO95L2/55SoIC0tZm9ybWF0IgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1NjUKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU3NgogbXNnaWQgIi1mIG9ubHkgbWFrZXMgc2Vuc2Ugd2hlbiB3cml0aW5nIGEgcmVwbGFjZW1lbnQiCiBtc2dzdHIgIuWPquacieWGmeS4gOS4quabv+aNouaXtiAtZiDmiY3mnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU2OQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTgwCiBtc2dpZCAiLS1yYXcgb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tZWRpdCIKIG1zZ3N0ciAiLS1yYXcg5Y+q5pyJ5ZKMIC0tZWRpdCDlhbHnlKjmiY3mnInmhI/kuYkiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU3NQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTg2CiBtc2dpZCAiLWQgbmVlZHMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50IgogbXNnc3RyICItZCDpnIDopoHoh7PlsJHkuIDkuKrlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU4MQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NTkyCiBtc2dpZCAiYmFkIG51bWJlciBvZiBhcmd1bWVudHMiCiBtc2dzdHIgIumUmeivr+eahOWPguaVsOS4quaVsCIKIAotIzogYnVpbHRpbi9yZXBsYWNlLmM6NTg3CisjOiBidWlsdGluL3JlcGxhY2UuYzo1OTgKIG1zZ2lkICItZSBuZWVkcyBleGFjdGx5IG9uZSBhcmd1bWVudCIKIG1zZ3N0ciAiLWUg6ZyA6KaB5LiU5LuF6ZyA6KaB5LiA5Liq5Y+C5pWwIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1OTMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYwNAogbXNnaWQgIi1nIG5lZWRzIGF0IGxlYXN0IG9uZSBhcmd1bWVudCIKIG1zZ3N0ciAiLWcg6ZyA6KaB6Iez5bCR5LiA5Liq5Y+C5pWwIgogCi0jOiBidWlsdGluL3JlcGxhY2UuYzo1OTkKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYxMAogbXNnaWQgIi0tY29udmVydC1ncmFmdC1maWxlIHRha2VzIG5vIGFyZ3VtZW50IgogbXNnc3RyICItLWNvbnZlcnQtZ3JhZnQtZmlsZSDkuI3luKblj4LmlbAiCiAKLSM6IGJ1aWx0aW4vcmVwbGFjZS5jOjYwNQorIzogYnVpbHRpbi9yZXBsYWNlLmM6NjE2CiBtc2dpZCAib25seSBvbmUgcGF0dGVybiBjYW4gYmUgZ2l2ZW4gd2l0aCAtbCIKIG1zZ3N0ciAi5Y+q6IO95Li6IC1sIOaPkOS+m+S4gOS4quaooeW8jyIKIApAQCAtMTYyODYsMTI2ICsxOTA5NiwxMzggQEAKIG1zZ2lkICInZ2l0IHJlcmVyZSBmb3JnZXQnIHdpdGhvdXQgcGF0aHMgaXMgZGVwcmVjYXRlZCIKIG1zZ3N0ciAi5rKh5pyJ6Lev5b6E55qEICdnaXQgcmVyZXJlIGZvcmdldCcg5bey57uP6L+H5pe2IgogCi0jOiBidWlsdGluL3JlcmVyZS5jOjExMQorIzogYnVpbHRpbi9yZXJlcmUuYzoxMTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5hYmxlIHRvIGdlbmVyYXRlIGRpZmYgZm9yICclcyciCiBtc2dzdHIgIuaXoOazleS4uiAnJXMnIOeUn+aIkOW3ruW8giIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMxCisjOiBidWlsdGluL3Jlc2V0LmM6MzIKIG1zZ2lkICIiCiAiZ2l0IHJlc2V0IFstLW1peGVkIHwgLS1zb2Z0IHwgLS1oYXJkIHwgLS1tZXJnZSB8IC0ta2VlcF0gWy1xXSBbPGNvbW1pdD5dIgogbXNnc3RyICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs85o+Q5LqkPl0iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMgotbXNnaWQgImdpdCByZXNldCBbLXFdIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRocz4uLi4iCi1tc2dzdHIgImdpdCByZXNldCBbLXFdIFs85qCR5oiW5o+Q5LqkPl0gWy0tXSA86Lev5b6EPi4uLiIKLQogIzogYnVpbHRpbi9yZXNldC5jOjMzCi1tc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRocz4uLi5dIgotbXNnc3RyICJnaXQgcmVzZXQgLS1wYXRjaCBbPOagkeaIluaPkOS6pD5dIFstLV0gWzzot6/lvoQ+Li4uXSIKK21zZ2lkICJnaXQgcmVzZXQgWy1xXSBbPHRyZWUtaXNoPl0gWy0tXSA8cGF0aHNwZWM+Li4uIgorbXNnc3RyICJnaXQgcmVzZXQgWy1xXSBbPOagkeWvueixoT5dIFstLV0gPOi3r+W+hOihqOi+vuW8jz4uLi4iCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOQorIzogYnVpbHRpbi9yZXNldC5jOjM0Cittc2dpZCAiIgorImdpdCByZXNldCBbLXFdIFstLXBhdGhzcGVjLWZyb20tZmlsZSBbLS1wYXRoc3BlYy1maWxlLW51bF1dIFs8dHJlZS1pc2g+XSIKK21zZ3N0ciAiIgorImdpdCByZXNldCBbLXFdIFstLXBhdGhzcGVjLWZyb20tZmlsZSBbLS1wYXRoc3BlYy1maWxlLW51bF1dIFs85qCR5a+56LGhPl0iCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNQorbXNnaWQgImdpdCByZXNldCAtLXBhdGNoIFs8dHJlZS1pc2g+XSBbLS1dIFs8cGF0aHNwZWM+Li4uXSIKK21zZ3N0ciAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzzmoJHlr7nosaE+XSBbLS1dIFs86Lev5b6E6KGo6L6+5byPPi4uLl0iCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgIm1peGVkIgogbXNnc3RyICLmt7fmnYIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOQorIzogYnVpbHRpbi9yZXNldC5jOjQxCiBtc2dpZCAic29mdCIKIG1zZ3N0ciAi6L2v5oCnIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgImhhcmQiCiBtc2dzdHIgIuehrOaApyIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM5CisjOiBidWlsdGluL3Jlc2V0LmM6NDEKIG1zZ2lkICJtZXJnZSIKIG1zZ3N0ciAi5ZCI5bm2IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzkKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQogbXNnaWQgImtlZXAiCiBtc2dzdHIgIuS/neaMgSIKIAotIzogYnVpbHRpbi9yZXNldC5jOjgwCisjOiBidWlsdGluL3Jlc2V0LmM6ODIKIG1zZ2lkICJZb3UgZG8gbm90IGhhdmUgYSB2YWxpZCBIRUFELiIKIG1zZ3N0ciAi5oKo5rKh5pyJ5LiA5Liq5pyJ5pWI55qEIEhFQUTjgIIiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzo4MgorIzogYnVpbHRpbi9yZXNldC5jOjg0CiBtc2dpZCAiRmFpbGVkIHRvIGZpbmQgdHJlZSBvZiBIRUFELiIKIG1zZ3N0ciAi5peg5rOV5om+5YiwIEhFQUQg5oyH5ZCR55qE5qCR44CCIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6ODgKKyM6IGJ1aWx0aW4vcmVzZXQuYzo5MAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gZmluZCB0cmVlIG9mICVzLiIKIG1zZ3N0ciAi5peg5rOV5om+5YiwICVzIOaMh+WQkeeahOagkeOAgiIKIAorIzogYnVpbHRpbi9yZXNldC5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICJIRUFEIGlzIG5vdyBhdCAlcyIKK21zZ3N0ciAiSEVBRCDnjrDlnKjkvY3kuo4gJXMiCisKICMgIOivkeiAhe+8muaxieWtl+S5i+mXtOaXoOepuuagvO+8jOaVheWIoOmZpCVz5YmN5ZCO56m65qC8Ci0jOiBidWlsdGluL3Jlc2V0LmM6MTkyCisjOiBidWlsdGluL3Jlc2V0LmM6MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBkbyBhICVzIHJlc2V0IGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZS4iCiBtc2dzdHIgIuWcqOWQiOW5tui/h+eoi+S4reS4jeiDveWBmiVz6YeN572u5pON5L2c44CCIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MjkyCisjOiBidWlsdGluL3Jlc2V0LmM6Mjk0IGJ1aWx0aW4vc3Rhc2guYzo1MTkgYnVpbHRpbi9zdGFzaC5jOjU5NAorIzogYnVpbHRpbi9zdGFzaC5jOjYxOAogbXNnaWQgImJlIHF1aWV0LCBvbmx5IHJlcG9ydCBlcnJvcnMiCiBtc2dzdHIgIuWuiemdmeaooeW8j++8jOWPquaKpeWRiumUmeivryIKIAotIzogYnVpbHRpbi9yZXNldC5jOjI5NAorIzogYnVpbHRpbi9yZXNldC5jOjI5NgogbXNnaWQgInJlc2V0IEhFQUQgYW5kIGluZGV4IgogbXNnc3RyICLph43nva4gSEVBRCDlkozntKLlvJUiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzoyOTUKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTcKIG1zZ2lkICJyZXNldCBvbmx5IEhFQUQiCiBtc2dzdHIgIuWPqumHjee9riBIRUFEIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6Mjk3IGJ1aWx0aW4vcmVzZXQuYzoyOTkKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTkgYnVpbHRpbi9yZXNldC5jOjMwMQogbXNnaWQgInJlc2V0IEhFQUQsIGluZGV4IGFuZCB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIumHjee9riBIRUFE44CB57Si5byV5ZKM5bel5L2c5Yy6IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzAxCisjOiBidWlsdGluL3Jlc2V0LmM6MzAzCiBtc2dpZCAicmVzZXQgSEVBRCBidXQga2VlcCBsb2NhbCBjaGFuZ2VzIgogbXNnc3RyICLph43nva4gSEVBRCDkvYbkv53lrZjmnKzlnLDlj5jmm7QiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozMDcKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMDkKIG1zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHJlbW92ZWQgcGF0aHMgd2lsbCBiZSBhZGRlZCBsYXRlciIKIG1zZ3N0ciAi5bCG5Yig6Zmk55qE6Lev5b6E5qCH6K6w5Li656iN5ZCO5re75YqgIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzI1CisjOiBidWlsdGluL3Jlc2V0LmM6MzQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZXZpc2lvbi4iCiBtc2dzdHIgIuaXoOazleWwhiAnJXMnIOino+aekOS4uuS4gOS4quacieaViOeahOeJiOacrOOAgiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjMzMworIzogYnVpbHRpbi9yZXNldC5jOjM1MQogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgdHJlZS4iCiBtc2dzdHIgIuaXoOazleWwhiAnJXMnIOino+aekOS4uuS4gOS4quacieaViOeahOagkeWvueixoeOAgiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM0MgorIzogYnVpbHRpbi9yZXNldC5jOjM2MAogbXNnaWQgIi0tcGF0Y2ggaXMgaW5jb21wYXRpYmxlIHdpdGggLS17aGFyZCxtaXhlZCxzb2Z0fSIKIG1zZ3N0ciAiLS1wYXRjaCDkuI4gLS17aGFyZOOAgW1peGVk44CBc29mdH0g6YCJ6aG55LiN5YW85a65IgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzUxCisjOiBidWlsdGluL3Jlc2V0LmM6MzcwCiBtc2dpZCAiLS1taXhlZCB3aXRoIHBhdGhzIGlzIGRlcHJlY2F0ZWQ7IHVzZSAnZ2l0IHJlc2V0IC0tIDxwYXRocz4nIGluc3RlYWQuIgogbXNnc3RyICItLW1peGVkIOW4pui3r+W+hOW3suW8g+eUqO+8jOiAjOaYr+eUqCAnZ2l0IHJlc2V0IC0tIDzot6/lvoQ+J+OAgiIKIAogIyAg6K+R6ICF77ya5rGJ5a2X5LmL6Ze05peg56m65qC877yM5pWF5Yig6ZmkJXPliY3lkI7nqbrmoLwKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNTMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IGRvICVzIHJlc2V0IHdpdGggcGF0aHMuIgogbXNnc3RyICLkuI3og73luKbot6/lvoTov5vooYwlc+mHjee9ruOAgiIKIAogIyAg6K+R6ICF77ya5rGJ5a2X5LmL6Ze05peg56m65qC877yM5pWF5Yig6ZmkJXPliY3lkI7nqbrmoLwKLSM6IGJ1aWx0aW4vcmVzZXQuYzozNjMKKyM6IGJ1aWx0aW4vcmVzZXQuYzozODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcmVzZXQgaXMgbm90IGFsbG93ZWQgaW4gYSBiYXJlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuS4jeiDveWvuee6r+S7k+W6k+i/m+ihjCVz6YeN572uIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6MzY3CisjOiBidWlsdGluL3Jlc2V0LmM6MzkxCiBtc2dpZCAiLU4gY2FuIG9ubHkgYmUgdXNlZCB3aXRoIC0tbWl4ZWQiCiBtc2dzdHIgIi1OIOWPquiDveWSjCAtLW1peGVkIOWQjOaXtuS9v+eUqCIKIAotIzogYnVpbHRpbi9yZXNldC5jOjM4NworIzogYnVpbHRpbi9yZXNldC5jOjQxMgogbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVzZXQ6IgogbXNnc3RyICLph43nva7lkI7lj5bmtojmmoLlrZjnmoTlj5jmm7TvvJoiCiAKLSM6IGJ1aWx0aW4vcmVzZXQuYzozOTAKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTY0MTcsNTMgKzE5MjM5LDQ4IEBACiAi6YeN572u5ZCO77yM5p6a5Li+5pyq5pqC5a2Y5Y+Y5pu06Iqx6LS55LqGICUuMmYg56eS44CCIOaCqOWPr+S7peS9v+eUqCAnLS1xdWlldCcg6YG/5YWN5q2k5oOF5Ya144CCXG4iCiAi5bCG6YWN572u5Y+Y6YePIHJlc2V0LnF1aWV0IOiuvue9ruS4uiB0cnVlIOWPr+S9v+WFtuaIkOS4uum7mOiupOWAvOOAglxuIgogCi0jOiBidWlsdGluL3Jlc2V0LmM6NDAwCisjOiBidWlsdGluL3Jlc2V0LmM6NDI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCByZXNldCBpbmRleCBmaWxlIHRvIHJldmlzaW9uICclcycuIgogbXNnc3RyICLkuI3og73ph43nva7ntKLlvJXmlofku7boh7PniYjmnKwgJyVzJ+OAgiIKIAotIzogYnVpbHRpbi9yZXNldC5jOjQwNAorIzogYnVpbHRpbi9yZXNldC5jOjQyOQogbXNnaWQgIkNvdWxkIG5vdCB3cml0ZSBuZXcgaW5kZXggZmlsZS4iCiBtc2dzdHIgIuS4jeiDveWGmeWFpeaWsOeahOe0ouW8leaWh+S7tuOAgiIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjQwMworIzogYnVpbHRpbi9yZXYtbGlzdC5jOjQxMQogbXNnaWQgImNhbm5vdCBjb21iaW5lIC0tZXhjbHVkZS1wcm9taXNvci1vYmplY3RzIGFuZCAtLW1pc3NpbmciCiBtc2dzdHIgIuS4jeiDveWQjOaXtuS9v+eUqCAtLWV4Y2x1ZGUtcHJvbWlzb3Itb2JqZWN0cyDlkowgLS1taXNzaW5nIOmAiemhuSIKIAotIzogYnVpbHRpbi9yZXYtbGlzdC5jOjQ2MQorIzogYnVpbHRpbi9yZXYtbGlzdC5jOjQ3MgogbXNnaWQgIm9iamVjdCBmaWx0ZXJpbmcgcmVxdWlyZXMgLS1vYmplY3RzIgogbXNnc3RyICLlr7nosaHov4fmu6TpnIDopoEgLS1vYmplY3RzIgogCi0jOiBidWlsdGluL3Jldi1saXN0LmM6NDY0Ci0jLCBjLWZvcm1hdAotbXNnaWQgImludmFsaWQgc3BhcnNlIHZhbHVlICclcyciCi1tc2dzdHIgIuaXoOaViOeahOeogOeWj+WAvCAnJXMnIgotCi0jOiBidWlsdGluL3Jldi1saXN0LmM6NTA1CisjOiBidWlsdGluL3Jldi1saXN0LmM6NTIyCiBtc2dpZCAicmV2LWxpc3QgZG9lcyBub3Qgc3VwcG9ydCBkaXNwbGF5IG9mIG5vdGVzIgogbXNnc3RyICJyZXYtbGlzdCDkuI3mlK/mjIHmmL7npLrms6jop6MiCiAKLSM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo1MDgKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo1MjUKIG1zZ2lkICJjYW5ub3QgY29tYmluZSAtLXVzZS1iaXRtYXAtaW5kZXggd2l0aCBvYmplY3QgZmlsdGVyaW5nIgogbXNnc3RyICLkuI3og73lsIYgLS11c2UtYml0bWFwLWluZGV4IOWSjOWvueixoei/h+a7pOe7hOWQiOS9v+eUqCIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MDcKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDA4CiBtc2dpZCAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs8b3B0aW9ucz5dIC0tIFs8YXJncz4uLi5dIgogbXNnc3RyICJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgWzzpgInpobk+XSAtLSBbPOWPguaVsD4uLi5dIgogCi0jOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxMgorIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTMKIG1zZ2lkICJrZWVwIHRoZSBgLS1gIHBhc3NlZCBhcyBhbiBhcmciCiBtc2dzdHIgIuS/neaMgSBgLS1gIOS9nOS4uuS4gOS4quWPguaVsOS8oOmAkiIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTQKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDE1CiBtc2dpZCAic3RvcCBwYXJzaW5nIGFmdGVyIHRoZSBmaXJzdCBub24tb3B0aW9uIGFyZ3VtZW50IgogbXNnc3RyICLpgYfliLDnrKzkuIDkuKrpnZ7pgInpobnlj4LmlbDlkI7lgZzmraLop6PmnpAiCiAKLSM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NDE3CisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQxOAogbXNnaWQgIm91dHB1dCBpbiBzdHVjayBsb25nIGZvcm0iCiBtc2dzdHIgIuS7peWbuuWumumVv+agvOW8j+i+k+WHuiIKIAotIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo1NTAKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTUxCiBtc2dpZCAiIgogImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXVxuIgogIiAgIG9yOiBnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgWzxhcmc+Li4uXVxuIgpAQCAtMTY0OTMsNzIgKzE5MzEwLDgxIEBACiBtc2dpZCAiZ2l0IGNoZXJyeS1waWNrIDxzdWJjb21tYW5kPiIKIG1zZ3N0ciAiZ2l0IGNoZXJyeS1waWNrIDzlrZDlkb3ku6Q+IgogCi0jOiBidWlsdGluL3JldmVydC5jOjkxCisjOiBidWlsdGluL3JldmVydC5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgYSBudW1iZXIgZ3JlYXRlciB0aGFuIHplcm8iCittc2dzdHIgIumAiemhuSBgJXMnIOacn+acm+S4gOS4quWkp+S6jumbtueahOaVsOWtlyIKKworIzogYnVpbHRpbi9yZXZlcnQuYzo5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXMgY2Fubm90IGJlIHVzZWQgd2l0aCAlcyIKIG1zZ3N0ciAiJXPvvJolcyDkuI3og73lkowgJXMg5ZCM5pe25L2/55SoIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKIG1zZ2lkICJlbmQgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgogbXNnc3RyICLnu4jmraLlj43ovazmiJbmi6PpgInmk43kvZwiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAxCisjOiBidWlsdGluL3JldmVydC5jOjEwMwogbXNnaWQgInJlc3VtZSByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCiBtc2dzdHIgIue7p+e7reWPjei9rOaIluaLo+mAieaTjeS9nCIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CiBtc2dpZCAiY2FuY2VsIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKIG1zZ3N0ciAi5Y+W5raI5Y+N6L2s5oiW5ouj6YCJ5pON5L2cIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEwMworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDUKK21zZ2lkICJza2lwIGN1cnJlbnQgY29tbWl0IGFuZCBjb250aW51ZSIKK21zZ3N0ciAi6Lez6L+H5b2T5YmN5o+Q5Lqk5bm257un57utIgorCisjOiBidWlsdGluL3JldmVydC5jOjEwNwogbXNnaWQgImRvbid0IGF1dG9tYXRpY2FsbHkgY29tbWl0IgogbXNnc3RyICLkuI3opoHoh6rliqjmj5DkuqQiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA0CisjOiBidWlsdGluL3JldmVydC5jOjEwOAogbXNnaWQgImVkaXQgdGhlIGNvbW1pdCBtZXNzYWdlIgogbXNnc3RyICLnvJbovpHmj5DkuqTor7TmmI4iCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA3CisjOiBidWlsdGluL3JldmVydC5jOjExMQogbXNnaWQgInBhcmVudC1udW1iZXIiCiBtc2dzdHIgIueItue8luWPtyIKIAotIzogYnVpbHRpbi9yZXZlcnQuYzoxMDgKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyCiBtc2dpZCAic2VsZWN0IG1haW5saW5lIHBhcmVudCIKIG1zZ3N0ciAi6YCJ5oup5Li75bmy54i25o+Q5Lqk57yW5Y+3IgogCi0jOiBidWlsdGluL3JldmVydC5jOjExMAorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTQKIG1zZ2lkICJtZXJnZSBzdHJhdGVneSIKIG1zZ3N0ciAi5ZCI5bm2562W55WlIgogCi0jOiBidWlsdGluL3JldmVydC5jOjExMgorIzogYnVpbHRpbi9yZXZlcnQuYzoxMTYKIG1zZ2lkICJvcHRpb24gZm9yIG1lcmdlIHN0cmF0ZWd5IgogbXNnc3RyICLlkIjlubbnrZbnlaXnmoTpgInpobkiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTIxCisjOiBidWlsdGluL3JldmVydC5jOjEyNQogbXNnaWQgImFwcGVuZCBjb21taXQgbmFtZSIKIG1zZ3N0ciAi6L+95Yqg5o+Q5Lqk5ZCN56ewIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyMworIzogYnVpbHRpbi9yZXZlcnQuYzoxMjcKIG1zZ2lkICJwcmVzZXJ2ZSBpbml0aWFsbHkgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAi5L+d55WZ5Yid5aeL5YyW55qE56m65o+Q5LqkIgogCi0jOiBidWlsdGluL3JldmVydC5jOjEyNQorIzogYnVpbHRpbi9yZXZlcnQuYzoxMjkKIG1zZ2lkICJrZWVwIHJlZHVuZGFudCwgZW1wdHkgY29tbWl0cyIKIG1zZ3N0ciAi5L+d5oyB5aSa5L2Z55qE44CB56m655qE5o+Q5LqkIgogCi0jOiBidWlsdGluL3JldmVydC5jOjIxOQorIzogYnVpbHRpbi9yZXZlcnQuYzoyMzIKIG1zZ2lkICJyZXZlcnQgZmFpbGVkIgogbXNnc3RyICLov5jljp/lpLHotKUiCiAKLSM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjMyCisjOiBidWlsdGluL3JldmVydC5jOjI0NQogbXNnaWQgImNoZXJyeS1waWNrIGZhaWxlZCIKIG1zZ3N0ciAi5ouj6YCJ5aSx6LSlIgogCi0jOiBidWlsdGluL3JtLmM6MTgKKyM6IGJ1aWx0aW4vcm0uYzoxOQogbXNnaWQgImdpdCBybSBbPG9wdGlvbnM+XSBbLS1dIDxmaWxlPi4uLiIKIG1zZ3N0ciAiZ2l0IHJtIFs86YCJ6aG5Pl0gWy0tXSA85paH5Lu2Pi4uLiIKIAotIzogYnVpbHRpbi9ybS5jOjIwNgorIzogYnVpbHRpbi9ybS5jOjIwNwogbXNnaWQgIiIKICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIHN0YWdlZCBjb250ZW50IGRpZmZlcmVudCBmcm9tIGJvdGggdGhlXG4iCiAiZmlsZSBhbmQgdGhlIEhFQUQ6IgpAQCAtMTY1NjgsNyArMTkzOTQsNyBAQAogbXNnc3RyWzBdICLlpoLkuIvmlofku7blhbbmmoLlrZjnmoTlhoXlrrnlkozlt6XkvZzljLrlj4ogSEVBRCDkuK3nmoTpg73kuI3kuIDmoLfvvJoiCiBtc2dzdHJbMV0gIuWmguS4i+aWh+S7tuWFtuaaguWtmOeahOWGheWuueWSjOW3peS9nOWMuuWPiiBIRUFEIOS4reeahOmDveS4jeS4gOagt++8miIKIAotIzogYnVpbHRpbi9ybS5jOjIxMQorIzogYnVpbHRpbi9ybS5jOjIxMgogbXNnaWQgIiIKICJcbiIKICIodXNlIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtMTY1NzYsMTMgKzE5NDAyLDEzIEBACiAiXG4iCiAi77yI5L2/55SoIC1mIOW8uuWItuWIoOmZpO+8iSIKIAotIzogYnVpbHRpbi9ybS5jOjIxNQorIzogYnVpbHRpbi9ybS5jOjIxNgogbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKIG1zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCiBtc2dzdHJbMF0gIuS4i+WIl+aWh+S7tue0ouW8leS4reacieWPmOabtCIKIG1zZ3N0clsxXSAi5LiL5YiX5paH5Lu257Si5byV5Lit5pyJ5Y+Y5pu0IgogCi0jOiBidWlsdGluL3JtLmM6MjE5IGJ1aWx0aW4vcm0uYzoyMjgKKyM6IGJ1aWx0aW4vcm0uYzoyMjAgYnVpbHRpbi9ybS5jOjIyOQogbXNnaWQgIiIKICJcbiIKICIodXNlIC0tY2FjaGVkIHRvIGtlZXAgdGhlIGZpbGUsIG9yIC1mIHRvIGZvcmNlIHJlbW92YWwpIgpAQCAtMTY1OTAsNDIgKzE5NDE2LDQyIEBACiAiXG4iCiAi77yI5L2/55SoIC0tY2FjaGVkIOS/neeVmeacrOWcsOaWh+S7tu+8jOaIlueUqCAtZiDlvLrliLbliKDpmaTvvIkiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyMjUKKyM6IGJ1aWx0aW4vcm0uYzoyMjYKIG1zZ2lkICJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIGxvY2FsIG1vZGlmaWNhdGlvbnM6IgogbXNnaWRfcGx1cmFsICJ0aGUgZm9sbG93aW5nIGZpbGVzIGhhdmUgbG9jYWwgbW9kaWZpY2F0aW9uczoiCiBtc2dzdHJbMF0gIuWmguS4i+aWh+S7tuacieacrOWcsOS/ruaUue+8miIKIG1zZ3N0clsxXSAi5aaC5LiL5paH5Lu25pyJ5pys5Zyw5L+u5pS577yaIgogCi0jOiBidWlsdGluL3JtLmM6MjQxCisjOiBidWlsdGluL3JtLmM6MjQyCiBtc2dpZCAiZG8gbm90IGxpc3QgcmVtb3ZlZCBmaWxlcyIKIG1zZ3N0ciAi5LiN5YiX5Ye65Yig6Zmk55qE5paH5Lu2IgogCi0jOiBidWlsdGluL3JtLmM6MjQyCisjOiBidWlsdGluL3JtLmM6MjQzCiBtc2dpZCAib25seSByZW1vdmUgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgIuWPquS7jue0ouW8leWMuuWIoOmZpCIKIAotIzogYnVpbHRpbi9ybS5jOjI0MworIzogYnVpbHRpbi9ybS5jOjI0NAogbXNnaWQgIm92ZXJyaWRlIHRoZSB1cC10by1kYXRlIGNoZWNrIgogbXNnc3RyICLlv73nlaXmlofku7bmm7TmlrDnirbmgIHmo4Dmn6UiCiAKLSM6IGJ1aWx0aW4vcm0uYzoyNDQKKyM6IGJ1aWx0aW4vcm0uYzoyNDUKIG1zZ2lkICJhbGxvdyByZWN1cnNpdmUgcmVtb3ZhbCIKIG1zZ3N0ciAi5YWB6K646YCS5b2S5Yig6ZmkIgogCi0jOiBidWlsdGluL3JtLmM6MjQ2CisjOiBidWlsdGluL3JtLmM6MjQ3CiBtc2dpZCAiZXhpdCB3aXRoIGEgemVybyBzdGF0dXMgZXZlbiBpZiBub3RoaW5nIG1hdGNoZWQiCiBtc2dzdHIgIuWNs+S9v+ayoeacieWMuemFje+8jOS5n+S7pembtueKtuaAgemAgOWHuiIKIAotIzogYnVpbHRpbi9ybS5jOjI4OAorIzogYnVpbHRpbi9ybS5jOjI4OQogbXNnaWQgInBsZWFzZSBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgogbXNnc3RyICLor7flsIbmgqjnmoTkv67mlLnmmoLlrZjliLAgLmdpdG1vZHVsZXMg5Lit5oiW6LSu6JeP5ZCO5YaN57un57utIgogCi0jOiBidWlsdGluL3JtLmM6MzA2CisjOiBidWlsdGluL3JtLmM6MzA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCByZW1vdmluZyAnJXMnIHJlY3Vyc2l2ZWx5IHdpdGhvdXQgLXIiCiBtc2dzdHIgIuacquaPkOS+myAtciDpgInpobnkuI3kvJrpgJLlvZLliKDpmaQgJyVzJyIKIAotIzogYnVpbHRpbi9ybS5jOjM0NQorIzogYnVpbHRpbi9ybS5jOjM0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJnaXQgcm06IHVuYWJsZSB0byByZW1vdmUgJXMiCiBtc2dzdHIgImdpdCBybe+8muS4jeiDveWIoOmZpCAlcyIKQEAgLTE2NjU3LDE4ICsxOTQ4Myw2IEBACiBtc2dpZCAicHJpbnQgc3RhdHVzIGZyb20gcmVtb3RlIGhlbHBlciIKIG1zZ3N0ciAi5omT5Y2w5p2l6Ieq6L+c56iLIGhlbHBlciDnmoTnirbmgIEiCiAKLSM6IGJ1aWx0aW4vc2VydmUuYzo3Ci1tc2dpZCAiZ2l0IHNlcnZlIFs8b3B0aW9ucz5dIgotbXNnc3RyICJnaXQgc2VydmUgWzzpgInpobk+XSIKLQotIzogYnVpbHRpbi9zZXJ2ZS5jOjE3IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyMwotbXNnaWQgInF1aXQgYWZ0ZXIgYSBzaW5nbGUgcmVxdWVzdC9yZXNwb25zZSBleGNoYW5nZSIKLW1zZ3N0ciAi5Zyo5LiA5qyh5Y2V54us55qE6K+35rGCL+WTjeW6lOS5i+WQjumAgOWHuiIKLQotIzogYnVpbHRpbi9zZXJ2ZS5jOjE5Ci1tc2dpZCAiZXhpdCBpbW1lZGlhdGVseSBhZnRlciBhZHZlcnRpc2luZyBjYXBhYmlsaXRpZXMiCi1tc2dzdHIgIuWvueiDveWKm+W5v+WRiuS5i+WQjueri+WNs+mAgOWHuiIKLQogIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE0CiBtc2dpZCAiZ2l0IHNob3J0bG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSA8cGF0aD4uLi5dIgogbXNnc3RyICJnaXQgc2hvcnRsb2cgWzzpgInpobk+XSBbPOeJiOacrOiMg+WbtD5dIFtbLS1dIDzot6/lvoQ+Li4uXSIKQEAgLTE2NzAxLDcgKzE5NTE1LDcgQEAKIG1zZ2lkICJMaW5ld3JhcCBvdXRwdXQiCiBtc2dzdHIgIuaKmOihjOi+k+WHuiIKIAotIzogYnVpbHRpbi9zaG9ydGxvZy5jOjI5OQorIzogYnVpbHRpbi9zaG9ydGxvZy5jOjMwMQogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyBnaXZlbiBvdXRzaWRlIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuS7k+W6k+WkluaJp+ihjOaPkOS+m+S6huWkquWkmueahOWPguaVsCIKIApAQCAtMTY3MjgsMTE4ICsxOTU0MiwxMTggQEAKIG1zZ3N0clswXSAi5b+955WlICVz77yM5peg5rOV5aSE55CGICVkIOS4quS7peS4iueahOW8leeUqCIKIG1zZ3N0clsxXSAi5b+955WlICVz77yM5peg5rOV5aSE55CGICVkIOS4quS7peS4iueahOW8leeUqCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjU0OQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaGluZyByZWZzIHdpdGggJXMiCiBtc2dzdHIgIuayoeacieWSjCAlcyDljLnphY3nmoTlvJXnlKgiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDYKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKIG1zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCiBtc2dzdHIgIuaYvuekuui/nOeoi+i3n+i4queahOWSjOacrOWcsOeahOWIhuaUryIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0OAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NwogbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgogbXNnc3RyICLmmL7npLrov5znqIvot5/ouKrnmoTliIbmlK8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTAKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDkKIG1zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgogbXNnc3RyICLnnYDoibIgJyohKy0nIOWIsOebuOW6lOeahOWIhuaUryIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MQogbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgogbXNnc3RyICLmmL7npLrlhbHlkIznpZblhYjlkI7nmoQgPG4+IOS4quaPkOS6pCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MwogbXNnaWQgInN5bm9ueW0gdG8gbW9yZT0tMSIKIG1zZ3N0ciAi5ZKMIG1vcmU9LTEg5ZCM5LmJIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU1CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0CiBtc2dpZCAic3VwcHJlc3MgbmFtaW5nIHN0cmluZ3MiCiBtc2dzdHIgIuS4jeaYvuekuuWtl+espuS4suWRveWQjSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NgogbXNnaWQgImluY2x1ZGUgdGhlIGN1cnJlbnQgYnJhbmNoIgogbXNnc3RyICLljIXmi6zlvZPliY3liIbmlK8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTkKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKIG1zZ2lkICJuYW1lIGNvbW1pdHMgd2l0aCB0aGVpciBvYmplY3QgbmFtZXMiCiBtc2dzdHIgIuS7peWvueixoeWQjeWtl+WRveWQjeaPkOS6pCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MAogbXNnaWQgInNob3cgcG9zc2libGUgbWVyZ2UgYmFzZXMiCiBtc2dzdHIgIuaYvuekuuWPr+iDveWQiOW5tueahOWfuue6vyIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MgogbXNnaWQgInNob3cgcmVmcyB1bnJlYWNoYWJsZSBmcm9tIGFueSBvdGhlciByZWYiCiBtc2dzdHIgIuaYvuekuuayoeacieS7u+S9leW8leeUqOeahOeahOW8leeUqCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NAogbXNnaWQgInNob3cgY29tbWl0cyBpbiB0b3BvbG9naWNhbCBvcmRlciIKIG1zZ3N0ciAi5Lul5ouT5omR6aG65bqP5pi+56S65o+Q5LqkIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY4CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY3CiBtc2dpZCAic2hvdyBvbmx5IGNvbW1pdHMgbm90IG9uIHRoZSBmaXJzdCBicmFuY2giCiBtc2dzdHIgIuWPquaYvuekuuS4jeWcqOesrOS4gOS4quWIhuaUr+S4iueahOaPkOS6pCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3MAorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OQogbXNnaWQgInNob3cgbWVyZ2VzIHJlYWNoYWJsZSBmcm9tIG9ubHkgb25lIHRpcCIKIG1zZ3N0ciAi5pi+56S65LuF5LiA5Liq5YiG5pSv5Y+v6K6/6Zeu55qE5ZCI5bm25o+Q5LqkIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjcyCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjcxCiBtc2dpZCAidG9wb2xvZ2ljYWxseSBzb3J0LCBtYWludGFpbmluZyBkYXRlIG9yZGVyIHdoZXJlIHBvc3NpYmxlIgogbXNnc3RyICLmi5PmiZHmlrnlvI/mjpLluo/vvIzlubblsL3lj6/og73lnLDkv53mjIHml6XmnJ/pobrluo8iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzUKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzQKIG1zZ2lkICI8bj5bLDxiYXNlPl0iCiBtc2dzdHIgIjxuPlssPGJhc2U+XSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NQogbXNnaWQgInNob3cgPG4+IG1vc3QgcmVjZW50IHJlZi1sb2cgZW50cmllcyBzdGFydGluZyBhdCBiYXNlIgogbXNnc3RyICLmmL7npLrku47otbflp4vngrnlvIDlp4vnmoQgPG4+IOadoeacgOi/keeahOW8leeUqOaXpeW/l+iusOW9lSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxMgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxMQogbXNnaWQgIiIKICItLXJlZmxvZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50IG9yIC0tbWVyZ2UtYmFzZSIKIG1zZ3N0ciAiLS1yZWZsb2cg5ZKMIC0tYWxs44CBLS1yZW1vdGVz44CBLS1pbmRlcGVuZGVudCDmiJYgLS1tZXJnZS1iYXNlIOS4jeWFvOWuuSIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczNgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczNQogbXNnaWQgIm5vIGJyYW5jaGVzIGdpdmVuLCBhbmQgSEVBRCBpcyBub3QgdmFsaWQiCiBtc2dzdHIgIuacquaPkOS+m+WIhuaUr++8jOS4lCBIRUFEIOaXoOaViCIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczOQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczOAogbXNnaWQgIi0tcmVmbG9nIG9wdGlvbiBuZWVkcyBvbmUgYnJhbmNoIG5hbWUiCiBtc2dzdHIgIumAiemhuSAtLXJlZmxvZyDpnIDopoHkuIDkuKrliIbmlK/lkI0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3NDIKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAib25seSAlZCBlbnRyeSBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgogbXNnaWRfcGx1cmFsICJvbmx5ICVkIGVudHJpZXMgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKIG1zZ3N0clswXSAi5LiA5qyh5Y+q6IO95pi+56S6ICVkIOS4quadoeebruOAgiIKIG1zZ3N0clsxXSAi5LiA5qyh5Y+q6IO95pi+56S6ICVkIOS4quadoeebruOAgiIKIAotIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjc0NgorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjc0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWNoIHJlZiAlcyIKIG1zZ3N0ciAi5peg5q2k5byV55SoICVzIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMwCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldi4iCiBtc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldnMuIgogbXNnc3RyWzBdICLkuI3og73lpITnkIYgJWQg5Liq5Lul5LiK55qE54mI5pys44CCIgogbXNnc3RyWzFdICLkuI3og73lpITnkIYgJWQg5Liq5Lul5LiK55qE54mI5pys44CCIgogCi0jOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM0CisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmLiIKIG1zZ3N0ciAiJyVzJyDkuI3mmK/kuIDkuKrmnInmlYjnmoTlvJXnlKjjgIIiCiAKLSM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzcKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbmQgY29tbWl0ICVzICglcykiCiBtc2dzdHIgIuS4jeiDveaJvuWIsOaPkOS6pCAlc++8iCVz77yJIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTEKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxMgogbXNnaWQgIiIKICJnaXQgc2hvdy1yZWYgWy1xIHwgLS1xdWlldF0gWy0tdmVyaWZ5XSBbLS1oZWFkXSBbLWQgfCAtLWRlcmVmZXJlbmNlXSBbLXMgfCAtLSIKICJoYXNoWz08bj5dXSBbLS1hYmJyZXZbPTxuPl1dIFstLXRhZ3NdIFstLWhlYWRzXSBbLS1dIFs8cGF0dGVybj4uLi5dIgpAQCAtMTY4NDcsNDIgKzE5NjYxLDMxNyBAQAogImdpdCBzaG93LXJlZiBbLXEgfCAtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZCB8IC0tZGVyZWZlcmVuY2VdIFstcyB8IC0tIgogImhhc2hbPTxuPl1dIFstLWFiYnJldls9PG4+XV0gWy0tdGFnc10gWy0taGVhZHNdIFstLV0gWzzmqKHlvI8+Li4uXSIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjEyCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTMKIG1zZ2lkICJnaXQgc2hvdy1yZWYgLS1leGNsdWRlLWV4aXN0aW5nWz08cGF0dGVybj5dIgogbXNnc3RyICJnaXQgc2hvdy1yZWYgLS1leGNsdWRlLWV4aXN0aW5nWz085qih5byPPl0iCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjEKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjIKIG1zZ2lkICJvbmx5IHNob3cgdGFncyAoY2FuIGJlIGNvbWJpbmVkIHdpdGggaGVhZHMpIgogbXNnc3RyICLlj6rmmL7npLrmoIfnrb7vvIjlj6/ku6XlkozlpLTlhbHnlKjvvIkiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjIKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjMKIG1zZ2lkICJvbmx5IHNob3cgaGVhZHMgKGNhbiBiZSBjb21iaW5lZCB3aXRoIHRhZ3MpIgogbXNnc3RyICLlj6rmmL7npLrlpLTvvIjlj6/ku6XlkozmoIfnrb7lhbHnlKjvvIkiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjMKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjQKIG1zZ2lkICJzdHJpY3RlciByZWZlcmVuY2UgY2hlY2tpbmcsIHJlcXVpcmVzIGV4YWN0IHJlZiBwYXRoIgogbXNnc3RyICLmm7TkuKXmoLznmoTlvJXnlKjmo4DmtYvvvIzpnIDopoHnsr7noa7nmoTlvJXnlKjot6/lvoQiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjYgYnVpbHRpbi9zaG93LXJlZi5jOjE2OAorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE2NyBidWlsdGluL3Nob3ctcmVmLmM6MTY5CiBtc2dpZCAic2hvdyB0aGUgSEVBRCByZWZlcmVuY2UsIGV2ZW4gaWYgaXQgd291bGQgYmUgZmlsdGVyZWQgb3V0IgogbXNnc3RyICLmmL7npLogSEVBRCDlvJXnlKjvvIzljbPkvb/ooqvov4fmu6TmjokiCiAKLSM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzAKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzEKIG1zZ2lkICJkZXJlZmVyZW5jZSB0YWdzIGludG8gb2JqZWN0IElEcyIKIG1zZ3N0ciAi6L2s5o2i5qCH562+5Yiw5a+56LGhIElEIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTcyCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTczCiBtc2dpZCAib25seSBzaG93IFNIQTEgaGFzaCB1c2luZyA8bj4gZGlnaXRzIgogbXNnc3RyICLlj6rmmL7npLrkvb/nlKggPG4+IOS4quaVsOWtl+eahCBTSEExIOWTiOW4jCIKIAotIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3NwogbXNnaWQgImRvIG5vdCBwcmludCByZXN1bHRzIHRvIHN0ZG91dCAodXNlZnVsIHdpdGggLS12ZXJpZnkpIgogbXNnc3RyICLkuI3miZPljbDnu5PmnpzliLDmoIflh4bovpPlh7rvvIjkvovlpoLkuI4gLS12ZXJpZnkg5Y+C5pWw5YWx55So77yJIgogCi0jOiBidWlsdGluL3Nob3ctcmVmLmM6MTc4CisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc5CiBtc2dpZCAic2hvdyByZWZzIGZyb20gc3RkaW4gdGhhdCBhcmVuJ3QgaW4gbG9jYWwgcmVwb3NpdG9yeSIKIG1zZ3N0ciAi5pi+56S65LuO5qCH5YeG6L6T5YWl5Lit6K+75YWl55qE5LiN5Zyo5pys5Zyw5LuT5bqT5Lit55qE5byV55SoIgogCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjIwCittc2dpZCAiZ2l0IHNwYXJzZS1jaGVja291dCAoaW5pdHxsaXN0fHNldHxkaXNhYmxlKSA8b3B0aW9ucz4iCittc2dzdHIgImdpdCBzcGFyc2UtY2hlY2tvdXQgKGluaXR8bGlzdHxzZXR8ZGlzYWJsZSkgPOmAiemhuT4iCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6NjEKK21zZ2lkICJ0aGlzIHdvcmt0cmVlIGlzIG5vdCBzcGFyc2UgKHNwYXJzZS1jaGVja291dCBmaWxlIG1heSBub3QgZXhpc3QpIgorbXNnc3RyICLmnKzlt6XkvZzljLrkuI3mmK/nqIDnlo/mqKHlvI/vvIjnqIDnlo/mo4Dlh7rmlofku7blj6/og73kuI3lrZjlnKjvvIkiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MjIwCittc2dpZCAiZmFpbGVkIHRvIHNldCBleHRlbnNpb25zLndvcmt0cmVlQ29uZmlnIHNldHRpbmciCittc2dzdHIgIuaXoOazleiuvue9riBleHRlbnNpb25zLndvcmt0cmVlQ29uZmlnIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjIzNworbXNnaWQgImdpdCBzcGFyc2UtY2hlY2tvdXQgaW5pdCBbLS1jb25lXSIKK21zZ3N0ciAiZ2l0IHNwYXJzZS1jaGVja291dCBpbml0IFstLWNvbmVdIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI1NgorbXNnaWQgImluaXRpYWxpemUgdGhlIHNwYXJzZS1jaGVja291dCBpbiBjb25lIG1vZGUiCittc2dzdHIgIuWIneWni+WMlueogOeWj+ajgOWHuuS4uiBjb25lIOaooeW8jyIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzoyNjIKK21zZ2lkICJpbml0aWFsaXplIHNwYXJzZS1jaGVja291dCIKK21zZ3N0ciAi5Yid5aeL5YyW56iA55aP5qOA5Ye6IgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiAnJXMnIgorbXNnc3RyICLml6Dms5XmiZPlvIAgJyVzJyIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzozNjEKK21zZ2lkICJnaXQgc3BhcnNlLWNoZWNrb3V0IHNldCAoLS1zdGRpbiB8IDxwYXR0ZXJucz4pIgorbXNnc3RyICJnaXQgc3BhcnNlLWNoZWNrb3V0IHNldCAoLS1zdGRpbiB8IDzmqKHlvI8+KSIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzozNzgKK21zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gc3RhbmRhcmQgaW4iCittc2dzdHIgIuS7juagh+WHhui+k+WFpeivu+WPluaooeW8jyIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzozODQKK21zZ2lkICJzZXQgc3BhcnNlLWNoZWNrb3V0IHBhdHRlcm5zIgorbXNnc3RyICLorr7nva7nqIDnlo/mo4Dlh7rmqKHlvI8iCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6NDQ3Cittc2dpZCAiZGlzYWJsZSBzcGFyc2UtY2hlY2tvdXQiCittc2dzdHIgIuemgeeUqOeogOeWj+ajgOWHuiIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo0NTkKK21zZ2lkICJlcnJvciB3aGlsZSByZWZyZXNoaW5nIHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICLliLfmlrDlt6XkvZznm67lvZXml7blh7rplJkiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyMiBidWlsdGluL3N0YXNoLmM6MzcKK21zZ2lkICJnaXQgc3Rhc2ggbGlzdCBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHN0YXNoIGxpc3QgWzzpgInpobk+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjIzIGJ1aWx0aW4vc3Rhc2guYzo0MgorbXNnaWQgImdpdCBzdGFzaCBzaG93IFs8b3B0aW9ucz5dIFs8c3Rhc2g+XSIKK21zZ3N0ciAiZ2l0IHN0YXNoIHNob3cgWzzpgInpobk+XSBbPHN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNCBidWlsdGluL3N0YXNoLmM6NDcKK21zZ2lkICJnaXQgc3Rhc2ggZHJvcCBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggZHJvcCBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjUKK21zZ2lkICJnaXQgc3Rhc2ggKCBwb3AgfCBhcHBseSApIFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggKCBwb3AgfCBhcHBseSApIFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjYgYnVpbHRpbi9zdGFzaC5jOjYyCittc2dpZCAiZ2l0IHN0YXNoIGJyYW5jaCA8YnJhbmNobmFtZT4gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggYnJhbmNoIDzliIbmlK/lkI0+IFs8c3Rhc2g+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjI3IGJ1aWx0aW4vc3Rhc2guYzo2NworbXNnaWQgImdpdCBzdGFzaCBjbGVhciIKK21zZ3N0ciAiZ2l0IHN0YXNoIGNsZWFyIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjggYnVpbHRpbi9zdGFzaC5jOjc3Cittc2dpZCAiIgorImdpdCBzdGFzaCBbcHVzaCBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKyIgICAgICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gWy1tfC0tbWVzc2FnZSA8bWVzc2FnZT5dXG4iCisiICAgICAgICAgIFstLV0gWzxwYXRoc3BlYz4uLi5dXSIKK21zZ3N0ciAiIgorImdpdCBzdGFzaCBbcHVzaCBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKyIgICAgICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gWy1tfC0tbWVzc2FnZSA85raI5oGvPl1cbiIKKyIgICAgICAgICAgWy0tXSBbPOi3r+W+hOinhOagvD4uLi5dXSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjMxIGJ1aWx0aW4vc3Rhc2guYzo4NAorbXNnaWQgIiIKKyJnaXQgc3Rhc2ggc2F2ZSBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKyIgICAgICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gWzxtZXNzYWdlPl0iCittc2dzdHIgIiIKKyJnaXQgc3Rhc2ggc2F2ZSBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKyIgICAgICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gWzzmtojmga8+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjUyCittc2dpZCAiZ2l0IHN0YXNoIHBvcCBbLS1pbmRleF0gWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIKK21zZ3N0ciAiZ2l0IHN0YXNoIHBvcCBbLS1pbmRleF0gWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU3Cittc2dpZCAiZ2l0IHN0YXNoIGFwcGx5IFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggYXBwbHkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo3MgorbXNnaWQgImdpdCBzdGFzaCBzdG9yZSBbLW18LS1tZXNzYWdlIDxtZXNzYWdlPl0gWy1xfC0tcXVpZXRdIDxjb21taXQ+IgorbXNnc3RyICJnaXQgc3Rhc2ggc3RvcmUgWy1tfC0tbWVzc2FnZSA85raI5oGvPl0gWy1xfC0tcXVpZXRdIDzmj5DkuqQ+IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCittc2dzdHIgIiclcycg5LiN5YOP5piv5LiA5Liq6LSu6JeP5o+Q5LqkIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6JXMiCittc2dzdHIgIuaMh+WumuS6huWkquWkmueahOeJiOacrO+8miVzIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTYxIGdpdC1sZWdhY3ktc3Rhc2guc2g6NTQ5Cittc2dpZCAiTm8gc3Rhc2ggZW50cmllcyBmb3VuZC4iCittc2dzdHIgIuacquWPkeeOsOi0ruiXj+adoeebruOAgiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCByZWZlcmVuY2UiCittc2dzdHIgIiVzIOS4jeaYr+S4gOS4quacieaViOeahOW8leeUqOWQjSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjIyNCBnaXQtbGVnYWN5LXN0YXNoLnNoOjc1Cittc2dpZCAiZ2l0IHN0YXNoIGNsZWFyIHdpdGggcGFyYW1ldGVycyBpcyB1bmltcGxlbWVudGVkIgorbXNnc3RyICJnaXQgc3Rhc2ggY2xlYXIg5LiN5pSv5oyB5Y+C5pWwIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDAzCittc2dpZCAiY2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgorbXNnc3RyICLml6Dms5XlnKjlkIjlubbov4fnqIvlupTnlKjotK7ol48iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGdlbmVyYXRlIGRpZmYgJXNeIS4iCittc2dzdHIgIuaXoOazleeUn+aIkOW3ruW8giAlc14hLiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQyMQorbXNnaWQgImNvbmZsaWN0cyBpbiBpbmRleC5Ucnkgd2l0aG91dCAtLWluZGV4LiIKK21zZ3N0ciAi57Si5byV5Lit5pyJ5Yay56qB44CC5bCd6K+V5LiN55SoIC0taW5kZXjjgIIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MjcKK21zZ2lkICJjb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgorbXNnc3RyICLkuI3og73kv53lrZjntKLlvJXmoJEiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MzYKK21zZ2lkICJjb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCIKK21zZ3N0ciAi5peg5rOV5LuO6LSu6JeP5p2h55uu5Lit5oGi5aSN5pyq6Lef6Liq5paH5Lu2IgorCisjOiBidWlsdGluL3N0YXNoLmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lcmdpbmcgJXMgd2l0aCAlcyIKK21zZ3N0ciAi5q2j5Zyo5ZCI5bm2ICVzIOWSjCAlcyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQ2MCBnaXQtbGVnYWN5LXN0YXNoLnNoOjY4MQorbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKK21zZ3N0ciAi57Si5byV5pyq5LuO6LSu6JeP5Lit5oGi5aSN44CCIgorCisjOiBidWlsdGluL3N0YXNoLmM6NTIxIGJ1aWx0aW4vc3Rhc2guYzo2MjAKK21zZ2lkICJhdHRlbXB0IHRvIHJlY3JlYXRlIHRoZSBpbmRleCIKK21zZ3N0ciAi5bCd6K+V6YeN5bu657Si5byVIgorCisjOiBidWlsdGluL3N0YXNoLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRyb3BwZWQgJXMgKCVzKSIKK21zZ3N0ciAi5Lii5byD5LqGICVz77yIJXPvvIkiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgorbXNnc3RyICIlc++8muaXoOazleS4ouW8g+i0ruiXj+adoeebriIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKK21zZ3N0ciAiJyVzJyDkuI3mmK/kuIDkuKrotK7ol4/lvJXnlKgiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo2MzIgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2OTUKK21zZ2lkICJUaGUgc3Rhc2ggZW50cnkgaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIKK21zZ3N0ciAi6LSu6JeP5p2h55uu6KKr5L+d55WZ5Lul5aSH5oKo5YaN5qyh6ZyA6KaB44CCIgorCisjOiBidWlsdGluL3N0YXNoLmM6NjU1IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzEzCittc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICLmnKrmjIflrprliIbmlK/lkI0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo3OTUgYnVpbHRpbi9zdGFzaC5jOjgzMgorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgdXBkYXRlICVzIHdpdGggJXMiCittc2dzdHIgIuaXoOazleeUqCAlMiRzIOabtOaWsCAlMSRzIgorCisjOiBidWlsdGluL3N0YXNoLmM6ODEzIGJ1aWx0aW4vc3Rhc2guYzoxNDcwIGJ1aWx0aW4vc3Rhc2guYzoxNTA2Cittc2dpZCAic3Rhc2ggbWVzc2FnZSIKK21zZ3N0ciAi6LSu6JeP6K+05piOIgorCisjOiBidWlsdGluL3N0YXNoLmM6ODIzCittc2dpZCAiXCJnaXQgc3Rhc2ggc3RvcmVcIiByZXF1aXJlcyBvbmUgPGNvbW1pdD4gYXJndW1lbnQiCittc2dzdHIgIlwiZ2l0IHN0YXNoIHN0b3JlXCIg6ZyA6KaB5LiA5LiqIDzmj5DkuqQ+IOWPguaVsCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEwNDUgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMTgKK21zZ2lkICJObyBjaGFuZ2VzIHNlbGVjdGVkIgorbXNnc3RyICLmsqHmnInpgInmi6nlj5jmm7QiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTQ1IGdpdC1sZWdhY3ktc3Rhc2guc2g6MTUwCittc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCittc2dzdHIgIuaCqOWwmuacquW7uueri+WIneWni+aPkOS6pCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExNzIgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoxNjUKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKK21zZ3N0ciAi5peg5rOV5L+d5a2Y5b2T5YmN57Si5byV54q25oCBIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTE4MSBnaXQtbGVnYWN5LXN0YXNoLnNoOjE4MAorbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSB1bnRyYWNrZWQgZmlsZXMiCittc2dzdHIgIuaXoOazleS/neWtmOacqui3n+i4quaWh+S7tiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExOTIgYnVpbHRpbi9zdGFzaC5jOjEyMDEgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMDEKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjE0Cittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCittc2dzdHIgIuaXoOazleS/neWtmOW9k+WJjeW3peS9nOWMuueKtuaAgSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyMjkgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMzQKK21zZ2lkICJDYW5ub3QgcmVjb3JkIHdvcmtpbmcgdHJlZSBzdGF0ZSIKK21zZ3N0ciAi5LiN6IO96K6w5b2V5bel5L2c5Yy654q25oCBIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTI3OCBnaXQtbGVnYWN5LXN0YXNoLnNoOjMzOAorbXNnaWQgIkNhbid0IHVzZSAtLXBhdGNoIGFuZCAtLWluY2x1ZGUtdW50cmFja2VkIG9yIC0tYWxsIGF0IHRoZSBzYW1lIHRpbWUiCittc2dzdHIgIuS4jeiDveWQjOaXtuS9v+eUqOWPguaVsCAtLXBhdGNoIOWSjCAtLWluY2x1ZGUtdW50cmFja2VkIOaIliAtLWFsbCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyOTQKK21zZ2lkICJEaWQgeW91IGZvcmdldCB0byAnZ2l0IGFkZCc/IgorbXNnc3RyICLmgqjmmK/lkKblv5jkuobmiafooYwgJ2dpdCBhZGQn77yfIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTMwOSBnaXQtbGVnYWN5LXN0YXNoLnNoOjM0NgorbXNnaWQgIk5vIGxvY2FsIGNoYW5nZXMgdG8gc2F2ZSIKK21zZ3N0ciAi5rKh5pyJ6KaB5L+d5a2Y55qE5pys5Zyw5L+u5pS5IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTMxNiBnaXQtbGVnYWN5LXN0YXNoLnNoOjM1MQorbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgorbXNnc3RyICLml6Dms5XliJ3lp4vljJbotK7ol48iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzMxIGdpdC1sZWdhY3ktc3Rhc2guc2g6MzU1Cittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgorbXNnc3RyICLml6Dms5Xkv53lrZjlvZPliY3nirbmgIEiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBpbmRleCBzdGF0ZSAlcyIKK21zZ3N0ciAi5L+d5a2Y5bel5L2c55uu5b2V5ZKM57Si5byV54q25oCBICVzIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQyNiBnaXQtbGVnYWN5LXN0YXNoLnNoOjM4NQorbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKK21zZ3N0ciAi5peg5rOV5Yig6Zmk5bel5L2c5Yy65Y+Y5pu0IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ2MSBidWlsdGluL3N0YXNoLmM6MTQ5NworbXNnaWQgImtlZXAgaW5kZXgiCittc2dzdHIgIuS/neaMgee0ouW8lSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjMgYnVpbHRpbi9zdGFzaC5jOjE0OTkKK21zZ2lkICJzdGFzaCBpbiBwYXRjaCBtb2RlIgorbXNnc3RyICLku6XooaXkuIHmqKHlvI/otK7ol48iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDY0IGJ1aWx0aW4vc3Rhc2guYzoxNTAwCittc2dpZCAicXVpZXQgbW9kZSIKK21zZ3N0ciAi6Z2Z6buY5qih5byPIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ2NiBidWlsdGluL3N0YXNoLmM6MTUwMgorbXNnaWQgImluY2x1ZGUgdW50cmFja2VkIGZpbGVzIGluIHN0YXNoIgorbXNnc3RyICLotK7ol4/kuK3ljIXlkKvmnKrot5/ouKrmlofku7YiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDY4IGJ1aWx0aW4vc3Rhc2guYzoxNTA0Cittc2dpZCAiaW5jbHVkZSBpZ25vcmUgZmlsZXMiCittc2dzdHIgIuWMheWQq+W/veeVpeeahOaWh+S7tiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE1NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGV4ZWMgJXMiCittc2dzdHIgIuS4jeiDveaJp+ihjCAlcyIKKwogIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTgKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLXMgfCAtLXN0cmlwLWNvbW1lbnRzXSIKIG1zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1zIHwgLS1zdHJpcC1jb21tZW50c10iCkBAIC0xNjg5MSw0OCArMTk5ODAsNDggQEAKIG1zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogbXNnc3RyICJnaXQgc3RyaXBzcGFjZSBbLWMgfCAtLWNvbW1lbnQtbGluZXNdIgogCi0jOiBidWlsdGluL3N0cmlwc3BhY2UuYzozNgorIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzcKIG1zZ2lkICJza2lwIGFuZCByZW1vdmUgYWxsIGxpbmVzIHN0YXJ0aW5nIHdpdGggY29tbWVudCBjaGFyYWN0ZXIiCiBtc2dzdHIgIui3s+i/h+WSjOenu+mZpOaJgOacieeahOazqOmHiuihjCIKIAotIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzkKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjQwCiBtc2dpZCAicHJlcGVuZCBjb21tZW50IGNoYXJhY3RlciBhbmQgc3BhY2UgdG8gZWFjaCBsaW5lIgogbXNnc3RyICLkuLrmr4/kuIDooYznmoTooYzpppbmt7vliqDms6jph4rnrKblkoznqbrmoLwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkzOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4cGVjdGluZyBhIGZ1bGwgcmVmIG5hbWUsIGdvdCAlcyIKIG1zZ3N0ciAi5pyf5pyb5LiA5Liq5a6M5pW055qE5byV55So5ZCN56ew77yM5Y205b6X5YiwICVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjEKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NAogbXNnaWQgInN1Ym1vZHVsZS0taGVscGVyIHByaW50LWRlZmF1bHQtcmVtb3RlIHRha2VzIG5vIGFyZ3VtZW50cyIKIG1zZ3N0ciAic3VibW9kdWxlLS1oZWxwZXIgcHJpbnQtZGVmYXVsdC1yZW1vdGUg5LiN5bim5Y+C5pWwIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHN0cmlwIG9uZSBjb21wb25lbnQgb2ZmIHVybCAnJXMnIgogbXNnc3RyICLml6Dms5Xku44gdXJsICclcycg5Yml56a75LiA5Liq57uE5Lu2IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDA3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzYzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDEwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzgwCiBtc2dpZCAiYWx0ZXJuYXRpdmUgYW5jaG9yIGZvciByZWxhdGl2ZSBwYXRocyIKIG1zZ3N0ciAi55u45a+56Lev5b6E55qE5pu/5Luj6ZSa6K6w77yIYW5jaG9y77yJIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDEyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDE1CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBsaXN0IFstLXByZWZpeD086Lev5b6EPl0gWzzot6/lvoQ+Li4uXSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ2OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjI2Ci0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQ5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDcyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiTm8gdXJsIGZvdW5kIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIGluIC5naXRtb2R1bGVzIgogbXNnc3RyICLlnKggLmdpdG1vZHVsZXMg5Lit5pyq5om+5Yiw5a2Q5qih57uEICclcycg55qEIHVybCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJFbnRlcmluZyAnJXMnXG4iCiBtc2dzdHIgIui/m+WFpSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9jb21tYW5kIHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cyBmb3IgJXNcbiIKQEAgLTE2OTQxLDcgKzIwMDMwLDcgQEAKICLlr7kgJXMg5omn6KGMIHJ1bl9jb21tYW5kIOi/lOWbnumdnumbtuWAvOOAglxuIgogIi4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NDUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9jb21tYW5kIHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cyB3aGlsZSByZWN1cnNpbmcgaW4gdGhlIG5lc3RlZCAiCkBAIC0xNjk1MSwxMjAgKzIwMDQwLDExOSBAQAogIuWcqOmAkuW9kiAlcyDnmoTlrZDmqKHnu4TmiafooYwgcnVuX2NvbW1hbmQg5pe26L+U5Zue6Z2e6Zu25YC844CCXG4iCiAiLiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2MQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NQogbXNnaWQgIlN1cHByZXNzIG91dHB1dCBvZiBlbnRlcmluZyBlYWNoIHN1Ym1vZHVsZSBjb21tYW5kIgogbXNnc3RyICLpmLvmraLov5vlhaXmr4/kuIDkuKrlrZDmqKHnu4Tlkb3ku6TnmoTovpPlh7oiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNDgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1NjcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTMKIG1zZ2lkICJSZWN1cnNlIGludG8gbmVzdGVkIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIumAkuW9kui/m+WFpeW1jOWll+WtkOaooee7hOS4rSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2OAotbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBmb3JlYWNoIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIDxjb21tYW5kPiIKLW1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGZvcmVhY2ggWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gPOWRveS7pD4iCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTcyCittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGZvcmVhY2ggWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWy0tXSA8Y29tbWFuZD4iCittc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBmb3JlYWNoIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIFstLV0gPOWRveS7pD4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTUKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNvdWxkIG5vdCBsb29rIHVwIGNvbmZpZ3VyYXRpb24gJyVzJy4gQXNzdW1pbmcgdGhpcyByZXBvc2l0b3J5IGlzIGl0cyBvd24gIgogImF1dGhvcml0YXRpdmUgdXBzdHJlYW0uIgogbXNnc3RyICLml6Dms5Xmib7liLDphY3nva4gJyVzJ+OAguWBh+Wumui/meS4quS7k+W6k+aYr+WFtuiHqui6q+eahOWumOaWueS4iua4uOOAgiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2NwogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICLml6Dms5XkuLrlrZDmqKHnu4QgJyVzJyDms6jlhowgdXJsIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjY3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSAnJXMnICglcykgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCi1tc2dzdHIgIuWtkOaooee7hCAnJXMn77yIJXPvvInmnKrlr7not6/lvoQgJyVzJyDms6jlhoxcbiIKK21zZ3N0ciAi5a2Q5qih57uEICclcyfvvIglc++8ieW3suWvuei3r+W+hCAnJXMnIOazqOWGjFxuIgogCi0jCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6Njc3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGNvbW1hbmQgdXBkYXRlIG1vZGUgc3VnZ2VzdGVkIGZvciBzdWJtb2R1bGUgJyVzJ1xuIgogbXNnc3RyICLorablkYrvvJrlu7rorq7lrZDmqKHnu4QgJyVzJyDkvb/nlKjlkb3ku6Tmm7TmlrDmqKHlvI9cbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4NAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXBkYXRlIG1vZGUgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIuaXoOazleS4uuWtkOaooee7hCAnJXMnIOazqOWGjOabtOaWsOaooeW8jyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcwNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjcxMAogbXNnaWQgIlN1cHByZXNzIG91dHB1dCBmb3IgaW5pdGlhbGl6aW5nIGEgc3VibW9kdWxlIgogbXNnc3RyICLpmLvmraLlrZDmqKHnu4TliJ3lp4vljJbnmoTovpPlh7oiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MTEKLW1zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPHBhdGg+XSIKLW1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzzot6/lvoQ+XSIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MTUKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgaW5pdCBbPG9wdGlvbnM+XSBbPHBhdGg+XSIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzzpgInpobk+XSBbPOi3r+W+hD5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzgzIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MDkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3ODcgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjkxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBzdWJtb2R1bGUgbWFwcGluZyBmb3VuZCBpbiAuZ2l0bW9kdWxlcyBmb3IgcGF0aCAnJXMnIgogbXNnc3RyICLlnKggLmdpdG1vZHVsZXMg5Lit5rKh5pyJ5Y+R546w6Lev5b6EICclcycg55qE5a2Q5qih57uE5pig5bCEIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODIyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODI3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgcmVmIGluc2lkZSB0aGUgc3VibW9kdWxlICclcyciCiBtc2dzdHIgIuaXoOazleino+aekOWtkOaooee7hCAnJXMnIOeahCBIRUFEIOW8leeUqCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg0OSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAxOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg1NCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTAyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICLpgJLlvZLlrZDmqKHnu4QgJyVzJyDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NzMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NzggYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODkKIG1zZ2lkICJTdXBwcmVzcyBzdWJtb2R1bGUgc3RhdHVzIG91dHB1dCIKIG1zZ3N0ciAi6Zi75q2i5a2Q5qih57uE54q25oCB6L6T5Ye6IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODc5CiBtc2dpZCAiIgogIlVzZSBjb21taXQgc3RvcmVkIGluIHRoZSBpbmRleCBpbnN0ZWFkIG9mIHRoZSBvbmUgc3RvcmVkIGluIHRoZSBzdWJtb2R1bGUgIgogIkhFQUQiCiBtc2dzdHIgIuS9v+eUqOWtmOWCqOWcqOe0ouW8leS4reeahOaPkOS6pO+8jOiAjOmdnuWtmOWCqOWcqOWtkOaooee7hCBIRUFEIOS4reeahOaPkOS6pCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3NQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg4MAogbXNnaWQgInJlY3Vyc2UgaW50byBuZXN0ZWQgc3VibW9kdWxlcyIKIG1zZ3N0ciAi6YCS5b2S6L+b5YWl5bWM5aWX5a2Q5qih57uE5LitIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODgwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODg1CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZSBzdGF0dXMgWy0tcXVpZXRdIFstLWNhY2hlZF0gWy0tcmVjdXJzaXZlXSBbPHBhdGg+Li4uXSIKIG1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZSBzdGF0dXMgWy0tcXVpZXRdIFstLWNhY2hlZF0gWy0tcmVjdXJzaXZlXSBbPOi3r+W+hD4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTA5CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIG5hbWUgPHBhdGg+IgogbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA86Lev5b6EPiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk2OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJTeW5jaHJvbml6aW5nIHN1Ym1vZHVsZSB1cmwgZm9yICclcydcbiIKIG1zZ3N0ciAi5Li6ICclcycg5ZCM5q2l5a2Q5qih57uEIHVybFxuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWdpc3RlciB1cmwgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCiBtc2dzdHIgIuaXoOazleS4uuWtkOaooee7hOi3r+W+hCAnJXMnIOazqOWGjCB1cmwiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5ODgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgZGVmYXVsdCByZW1vdGUgZm9yIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICLml6Dms5XlvpfliLDlrZDmqKHnu4QgJyVzJyDnmoTpu5jorqTov5znqIvlhbPogZQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5OTkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byB1cGRhdGUgcmVtb3RlIGZvciBzdWJtb2R1bGUgJyVzJyIKIG1zZ3N0ciAi5peg5rOV5Li65a2Q5qih57uEICclcycg5pu05paw6L+c56iL5YWz6IGUIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA0NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTEKIG1zZ2lkICJTdXBwcmVzcyBvdXRwdXQgb2Ygc3luY2hyb25pemluZyBzdWJtb2R1bGUgdXJsIgogbXNnc3RyICLpmLvmraLlrZDmqKHnu4QgdXJsIOWQjOatpeeahOi+k+WHuiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwNTMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDU4CiBtc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHN5bmMgWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWzxwYXRoPl0iCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBzeW5jIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIFs86Lev5b6EPl0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTA3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTExMgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlIHdvcmsgdHJlZSAnJXMnIGNvbnRhaW5zIGEgLmdpdCBkaXJlY3RvcnkgKHVzZSAncm0gLXJmJyBpZiB5b3UgIgpAQCAtMTcwNzMsODcgKzIwMTYxLDEwMyBAQAogIuWtkOaooee7hOW3peS9nOWMuiAnJXMnIOWMheWQq+S4gOS4qiAuZ2l0IOebruW9le+8iOWmguaenOaCqOehrumcgOWIoOmZpOWug+WPiuWFtuWFqOmDqOWOhuWPsu+8jOS9v+eUqCAncm0gIgogIi1yZicg5ZG95Luk77yJIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTExOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlN1Ym1vZHVsZSB3b3JrIHRyZWUgJyVzJyBjb250YWlucyBsb2NhbCBtb2RpZmljYXRpb25zOyB1c2UgJy1mJyB0byBkaXNjYXJkICIKICJ0aGVtIgogbXNnc3RyICLlrZDmqKHnu4Tlt6XkvZzljLogJyVzJyDljIXlkKvmnKzlnLDkv67mlLnvvJvkvb/nlKggJy1mJyDkuKLlvIPlroPku6wiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTI3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEzMgogIywgYy1mb3JtYXQKIG1zZ2lkICJDbGVhcmVkIGRpcmVjdG9yeSAnJXMnXG4iCiBtc2dzdHIgIuW3sua4hemZpOebruW9lSAnJXMnXG4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTI5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEzNAogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIHN1Ym1vZHVsZSB3b3JrIHRyZWUgJyVzJ1xuIgogbXNnc3RyICLml6Dms5Xnp7vpmaTlrZDmqKHnu4Tlt6XkvZzljLogJyVzJ1xuIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEzOAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IGNyZWF0ZSBlbXB0eSBzdWJtb2R1bGUgZGlyZWN0b3J5ICVzIgogbXNnc3RyICLkuI3og73liJvlu7rnqbrnmoTlrZDmqKHnu4Tnm67lvZUgJXMiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTU0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MQogIywgYy1mb3JtYXQKIG1zZ2lkICJTdWJtb2R1bGUgJyVzJyAoJXMpIHVucmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCiBtc2dzdHIgIuWtkOaooee7hCAnJXMn77yIJXPvvInmnKrlr7not6/lvoQgJyVzJyDms6jlhoxcbiIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTkwCiBtc2dpZCAiUmVtb3ZlIHN1Ym1vZHVsZSB3b3JraW5nIHRyZWVzIGV2ZW4gaWYgdGhleSBjb250YWluIGxvY2FsIGNoYW5nZXMiCiBtc2dzdHIgIuWIoOmZpOWtkOaooee7hOW3peS9nOWMuu+8jOWNs+S9v+WMheWQq+acrOWcsOS/ruaUuSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExODQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTkxCiBtc2dpZCAiVW5yZWdpc3RlciBhbGwgc3VibW9kdWxlcyIKIG1zZ3N0ciAi5bCG5omA5pyJ5a2Q5qih57uE5Y+W5raI5rOo5YaMIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE4OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExOTYKIG1zZ2lkICIiCiAiZ2l0IHN1Ym1vZHVsZSBkZWluaXQgWy0tcXVpZXRdIFstZiB8IC0tZm9yY2VdIFstLWFsbCB8IFstLV0gWzxwYXRoPi4uLl1dIgogbXNnc3RyICIiCiAiZ2l0IHN1Ym1vZHVsZSBkZWluaXQgWy0tcXVpZXRdIFstZiB8IC0tZm9yY2VdIFstLWFsbCB8IFstLV0gWzzot6/lvoQ+Li4uXV0iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMjAzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTIxMAogbXNnaWQgIlVzZSAnLS1hbGwnIGlmIHlvdSByZWFsbHkgd2FudCB0byBkZWluaXRpYWxpemUgYWxsIHN1Ym1vZHVsZXMiCiBtc2dzdHIgIuWmguaenOaCqOehruWunuaDs+imgeWvueaJgOacieWtkOaooee7hOaJp+ihjOWPlua2iOWIneWni+WMlu+8jOivt+S9v+eUqCAnLS1hbGwnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTI5NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTMwMAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyNzUKK21zZ2lkICIiCisiQW4gYWx0ZXJuYXRlIGNvbXB1dGVkIGZyb20gYSBzdXBlcnByb2plY3QncyBhbHRlcm5hdGUgaXMgaW52YWxpZC5cbiIKKyJUbyBhbGxvdyBHaXQgdG8gY2xvbmUgd2l0aG91dCBhbiBhbHRlcm5hdGUgaW4gc3VjaCBhIGNhc2UsIHNldFxuIgorInN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IHRvICdpbmZvJyBvciwgZXF1aXZhbGVudGx5LCBjbG9uZSB3aXRoXG4iCisiJy0tcmVmZXJlbmNlLWlmLWFibGUnIGluc3RlYWQgb2YgJy0tcmVmZXJlbmNlJy4iCittc2dzdHIgIiIKKyLku47kuIDkuKrniLbpobnnm67nmoTlpIfnlKjku5PlupPkuK3orqHnrpflh7rnmoTlpIfnlKjku5PlupPml6DmlYjjgIJcbiIKKyLmraTlnLrmma/kuIvvvIzorr7nva4gc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kg5Li6ICdpbmZvJ++8jOS7peWFgeiuuFxuIgorIkdpdCDkuI3kvb/nlKjlpIfnlKjku5PlupPlhYvpmobvvIzmiJbogIXnrYnmlYjlnLDkvb/nlKggJy0tcmVmZXJlbmNlLWlmLWFibGUnIOiAjOmdnlxuIgorIictLXJlZmVyZW5jZScg5p2l5YWL6ZqG44CCIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTMxNCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJzdWJtb2R1bGUgJyVzJyBjYW5ub3QgYWRkIGFsdGVybmF0ZTogJXMiCiBtc2dzdHIgIuWtkOaooee7hCAnJXMnIOS4jeiDvea3u+WKoOS7k+W6k+Wkh+mAie+8miVzIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTMzNgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgaXMgbm90IHJlY29nbml6ZWQiCiBtc2dzdHIgIuS4jeiDveivhuWIqyBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSDnmoTlj5blgLwgJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNDMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlZhbHVlICclcycgZm9yIHN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhdGlvbiBpcyBub3QgcmVjb2duaXplZCIKIG1zZ3N0ciAi5LiN6IO96K+G5YirIHN1Ym1vZHVsZS5hbHRlcm5hdGVMb2NhaW9uIOeahOWPluWAvCAnJXMnIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODMKIG1zZ2lkICJ3aGVyZSB0aGUgbmV3IHN1Ym1vZHVsZSB3aWxsIGJlIGNsb25lZCB0byIKIG1zZ3N0ciAi5paw55qE5a2Q5qih57uE5bCG6KaB5YWL6ZqG55qE6Lev5b6EIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM2OQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODYKIG1zZ2lkICJuYW1lIG9mIHRoZSBuZXcgc3VibW9kdWxlIgogbXNnc3RyICLmlrDlrZDmqKHnu4TnmoTlkI3np7AiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzcyCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4OQogbXNnaWQgInVybCB3aGVyZSB0byBjbG9uZSB0aGUgc3VibW9kdWxlIGZyb20iCiBtc2dzdHIgIuWFi+mahuWtkOaooee7hOeahCB1cmwg5Zyw5Z2AIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTcKIG1zZ2lkICJkZXB0aCBmb3Igc2hhbGxvdyBjbG9uZXMiCiBtc2dzdHIgIua1heWFi+mahueahOa3seW6piIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODMgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NjgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDAwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODk3CiBtc2dpZCAiZm9yY2UgY2xvbmluZyBwcm9ncmVzcyIKIG1zZ3N0ciAi5by65Yi25pi+56S65YWL6ZqG6L+b5bqmIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MDIgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTkKK21zZ2lkICJkaXNhbGxvdyBjbG9uaW5nIGludG8gbm9uLWVtcHR5IGRpcmVjdG9yeSIKK21zZ3N0ciAi5LiN5YWB6K645YWL6ZqG5Yiw5LiA5Liq6Z2e56m655uu5b2VIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQwNwogbXNnaWQgIiIKICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSAiCiAiPHJlcG9zaXRvcnk+XSBbLS1uYW1lIDxuYW1lPl0gWy0tZGVwdGggPGRlcHRoPl0gLS11cmwgPHVybD4gLS1wYXRoIDxwYXRoPiIKQEAgLTE3MTYxLDEzNCArMjAyNjUsMTUyIEBACiAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD086Lev5b6EPl0gWy0tcXVpZXRdIFstLXJlZmVyZW5jZSA85LuT5bqTPl0gIgogIlstLW5hbWUgPOWQjeWtlz5dIFstLWRlcHRoIDzmt7HluqY+XSAtLXVybCA8dXJsPiAtLXBhdGggPOi3r+W+hD4iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDE5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZ1c2luZyB0byBjcmVhdGUvdXNlICclcycgaW4gYW5vdGhlciBzdWJtb2R1bGUncyBnaXQgZGlyIgorbXNnc3RyICLmi5Lnu53lnKjlj6bkuIDkuKrlrZDmqKHnu4TnmoQgZ2l0IGRpciDkuK3liJvlu7ov5L2/55SoICclcyciCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDQyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNsb25lIG9mICclcycgaW50byBzdWJtb2R1bGUgcGF0aCAnJXMnIGZhaWxlZCIKIG1zZ3N0ciAi5peg5rOV5YWL6ZqGICclcycg5Yiw5a2Q5qih57uE6Lev5b6EICclcyciCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDMzCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3Rvcnkgbm90IGVtcHR5OiAnJXMnIgorbXNnc3RyICLnm67lvZXpnZ7nqbrvvJonJXMnIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ1OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZ2V0IHN1Ym1vZHVsZSBkaXJlY3RvcnkgZm9yICclcyciCiBtc2dzdHIgIuaXoOazleW+l+WIsCAnJXMnIOeahOWtkOaooee7hOebruW9lSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDk0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdXBkYXRlIG1vZGUgJyVzJyBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKIG1zZ3N0ciAi5a2Q5qih57uEICclMiRzJyDnmoTmm7TmlrDmqKHlvI8gJyUxJHMnIOaXoOaViCIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NzMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkludmFsaWQgdXBkYXRlIG1vZGUgJyVzJyBjb25maWd1cmVkIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgogbXNnc3RyICLkuLrlrZDmqKHnu4QgJyUyJHMnIOmFjee9rueahOabtOaWsOaooeW8jyAnJTEkcycg5peg5pWIIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTU2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE1OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyVzJyBub3QgaW5pdGlhbGl6ZWQiCiBtc2dzdHIgIuWtkOaooee7hCAnJXMnIOWwmuacquWIneWni+WMliIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE1NzAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTk4CiBtc2dpZCAiTWF5YmUgeW91IHdhbnQgdG8gdXNlICd1cGRhdGUgLS1pbml0Jz8iCiBtc2dzdHIgIuS5n+iuuOaCqOaDs+imgeaJp+ihjCAndXBkYXRlIC0taW5pdCfvvJ8iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjAwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTYyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJTa2lwcGluZyB1bm1lcmdlZCBzdWJtb2R1bGUgJXMiCiBtc2dzdHIgIueVpei/h+acquWQiOW5tueahOWtkOaooee7hCAlcyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE2MjkKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNraXBwaW5nIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICLnlaXov4flrZDmqKHnu4QgJyVzJyIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE3NzMKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnLiBSZXRyeSBzY2hlZHVsZWQiCiBtc2dzdHIgIuWFi+mahiAnJXMnIOWksei0peOAguaMieiuoeWIkumHjeivlSIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE3ODQKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnIGEgc2Vjb25kIHRpbWUsIGFib3J0aW5nIgogbXNnc3RyICLnrKzkuozmrKHlsJ3or5XlhYvpmoYgJyVzJyDlpLHotKXvvIzpgIDlh7oiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODQ3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDg5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg3NiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjEyMAogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICLliLDlt6XkvZzljLrnmoTot6/lvoQiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODUwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg3OQogbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlLCBhY3Jvc3MgbmVzdGVkIHN1Ym1vZHVsZSBib3VuZGFyaWVzIgogbXNnc3RyICLlt6XkvZzljLrkuK3nmoTot6/lvoTvvIzpgJLlvZLltYzlpZflrZDmqKHnu4QiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODU0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4MwogbXNnaWQgInJlYmFzZSwgbWVyZ2UsIGNoZWNrb3V0IG9yIG5vbmUiCiBtc2dzdHIgInJlYmFzZeOAgW1lcmdl44CBY2hlY2tvdXQg5oiWIG5vbmUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODYwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4OQogbXNnaWQgIkNyZWF0ZSBhIHNoYWxsb3cgY2xvbmUgdHJ1bmNhdGVkIHRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHJldmlzaW9ucyIKIG1zZ3N0ciAi5Yib5bu65LiA5Liq5oyH5a6a5rex5bqm55qE5rWF5YWL6ZqGIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2MworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTIKIG1zZ2lkICJwYXJhbGxlbCBqb2JzIgogbXNnc3RyICLlubblj5Hku7vliqEiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODY1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5NAogbXNnaWQgIndoZXRoZXIgdGhlIGluaXRpYWwgY2xvbmUgc2hvdWxkIGZvbGxvdyB0aGUgc2hhbGxvdyByZWNvbW1lbmRhdGlvbiIKIG1zZ3N0ciAi5Yid5aeL5YWL6ZqG5piv5ZCm5bqU6K+l6YG15a6I5o6o6I2Q55qE5rWF5YWL6ZqG6YCJ6aG5IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg2NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTUKIG1zZ2lkICJkb24ndCBwcmludCBjbG9uaW5nIHByb2dyZXNzIgogbXNnc3RyICLkuI3opoHovpPlh7rlhYvpmobov5vluqYiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODczCi1tc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZV9jbG9uZSBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKLW1zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHVwZGF0ZV9jbG9uZSBbLS1wcmVmaXg9POi3r+W+hD5dIFs86Lev5b6EPi4uLl0iCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkwNAorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGUtY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCittc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGUtY2xvbmUgWy0tcHJlZml4PTzot6/lvoQ+XSBbPOi3r+W+hD4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5MTcKIG1zZ2lkICJiYWQgdmFsdWUgZm9yIHVwZGF0ZSBwYXJhbWV0ZXIiCiBtc2dzdHIgInVwZGF0ZSDlj4LmlbDlj5blgLzplJnor68iCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTM0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTk2NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiU3VibW9kdWxlICglcykgYnJhbmNoIGNvbmZpZ3VyZWQgdG8gaW5oZXJpdCBicmFuY2ggZnJvbSBzdXBlcnByb2plY3QsIGJ1dCAiCiAidGhlIHN1cGVycHJvamVjdCBpcyBub3Qgb24gYW55IGJyYW5jaCIKIG1zZ3N0ciAi5a2Q5qih57uE77yIJXPvvInnmoTliIbmlK/phY3nva7kuLrnu6fmib/kuIrnuqfpobnnm67nmoTliIbmlK/vvIzkvYbmmK/kuIrnuqfpobnnm67kuI3lnKjku7vkvZXliIbmlK/kuIoiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDU3CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjA4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZ2V0IGEgcmVwb3NpdG9yeSBoYW5kbGUgZm9yIHN1Ym1vZHVsZSAnJXMnIgogbXNnc3RyICLml6Dms5XojrflvpflrZDmqKHnu4QgJyVzJyDnmoTku5PlupPlj6Xmn4QiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDkwCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjEyMQogbXNnaWQgInJlY3Vyc2UgaW50byBzdWJtb2R1bGVzIgogbXNnc3RyICLlnKjlrZDmqKHnu4TkuK3pgJLlvZIiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDk2Ci1tc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGVtYmVkLWdpdC1kaXIgWzxwYXRoPi4uLl0iCi1tc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBlbWJlZC1naXQtZGlyIFs86Lev5b6EPi4uLl0iCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjEyNworbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBhYnNvcmItZ2l0LWRpcnMgWzxvcHRpb25zPl0gWzxwYXRoPi4uLl0iCittc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBhYnNvcmItZ2l0LWRpcnMgWzzpgInpobk+XSBbPOi3r+W+hD4uLi5dIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE1MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxODMKIG1zZ2lkICJjaGVjayBpZiBpdCBpcyBzYWZlIHRvIHdyaXRlIHRvIHRoZSAuZ2l0bW9kdWxlcyBmaWxlIgogbXNnc3RyICLmo4Dmn6XlhpnlhaUgLmdpdG1vZHVsZXMg5paH5Lu25piv5ZCm5a6J5YWoIgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE1NwotbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgbmFtZSBbdmFsdWVdIgotbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIG5hbWUgW3ZhbHVlXSIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTg2Cittc2dpZCAidW5zZXQgdGhlIGNvbmZpZyBpbiB0aGUgLmdpdG1vZHVsZXMgZmlsZSIKK21zZ3N0ciAi5Y+W5raIIC5naXRtb2R1bGVzIOaWh+S7tuS4reeahOiuvue9riIKIAotIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxNTgKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTkxCittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyA8bmFtZT4gWzx2YWx1ZT5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIDzlkI3np7A+IFs85YC8Pl0iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTkyCittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLXVuc2V0IDxuYW1lPiIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLXVuc2V0IDzlkI3np7A+IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE5MwogbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgLS1jaGVjay13cml0ZWFibGUiCiBtc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgLS1jaGVjay13cml0ZWFibGUiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTc1IGdpdC1zdWJtb2R1bGUuc2g6MTY5CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjIxMiBnaXQtc3VibW9kdWxlLnNoOjE3MwogIywgc2gtZm9ybWF0CiBtc2dpZCAicGxlYXNlIG1ha2Ugc3VyZSB0aGF0IHRoZSAuZ2l0bW9kdWxlcyBmaWxlIGlzIGluIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIuivt+ehruiupCAuZ2l0bW9kdWxlcyDmlofku7blnKjlt6XkvZzljLrph4wiCiAKLSM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjI1CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjI2MiBnaXQuYzo0MzMgZ2l0LmM6Njg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGRvZXNuJ3Qgc3VwcG9ydCAtLXN1cGVyLXByZWZpeCIKIG1zZ3N0ciAiJXMg5LiN5pSv5oyBIC0tc3VwZXItcHJlZml4IgogCi0jOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjIzMQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCBzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIgogbXNnc3RyICInJXMnIOS4jeaYr+S4gOS4quacieaViOeahCBzdWJtb2R1bGUtLWhlbHBlciDlrZDlkb3ku6QiCkBAIC0xNzMyMywxNiArMjA0NDUsMTcgQEAKIAogIzogYnVpbHRpbi90YWcuYzoyNQogbXNnaWQgIiIKLSJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGtleS1pZD5dIFstZl0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+XSA8dGFnbmFtZT4gIgotIls8aGVhZD5dIgorImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT5dXG4iCisiXHRcdDx0YWduYW1lPiBbPGhlYWQ+XSIKIG1zZ3N0ciAiIgotImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPOivtOaYjj4gfCAtRiA85paH5Lu2Pl0gPOagh+etvuWQjT4gWzzlpLQ+XSIKKyJnaXQgdGFnIFstYSB8IC1zIHwgLXUgPGtleS1pZD5dIFstZl0gWy1tIDzmtojmga8+IHwgLUYgPOaWh+S7tj5dXG4iCisiXHRcdDzmoIfnrb7lkI0+IFs85aS0Pl0iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjYKKyM6IGJ1aWx0aW4vdGFnLmM6MjcKIG1zZ2lkICJnaXQgdGFnIC1kIDx0YWduYW1lPi4uLiIKIG1zZ3N0ciAiZ2l0IHRhZyAtZCA85qCH562+5ZCNPi4uLiIKIAotIzogYnVpbHRpbi90YWcuYzoyNworIzogYnVpbHRpbi90YWcuYzoyOAogbXNnaWQgIiIKICJnaXQgdGFnIC1sIFstbls8bnVtPl1dIFstLWNvbnRhaW5zIDxjb21taXQ+XSBbLS1uby1jb250YWlucyA8Y29tbWl0Pl0gWy0tIgogInBvaW50cy1hdCA8b2JqZWN0Pl1cbiIKQEAgLTE3MzQyLDIxICsyMDQ2NSwyMSBAQAogImF0IDzlr7nosaE+XVxuIgogIlx0XHRbLS1mb3JtYXQ9POagvOW8jz5dIFstLVtuby1dbWVyZ2VkIFs85o+Q5LqkPl1dIFs85qih5byPPi4uLl0iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjkKKyM6IGJ1aWx0aW4vdGFnLmM6MzAKIG1zZ2lkICJnaXQgdGFnIC12IFstLWZvcm1hdD08Zm9ybWF0Pl0gPHRhZ25hbWU+Li4uIgogbXNnc3RyICJnaXQgdGFnIC12IFstLWZvcm1hdD085qC85byPPl0gPOagh+etvuWQjT4uLi4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6ODcKKyM6IGJ1aWx0aW4vdGFnLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAidGFnICclcycgbm90IGZvdW5kLiIKIG1zZ3N0ciAi5pyq5Y+R546w5qCH562+ICclcyfjgIIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTAzCisjOiBidWlsdGluL3RhZy5jOjEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJEZWxldGVkIHRhZyAnJXMnICh3YXMgJXMpXG4iCiBtc2dzdHIgIuW3suWIoOmZpOagh+etviAnJXMn77yI5pu+5Li6ICVz77yJXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTMzCisjOiBidWlsdGluL3RhZy5jOjEzNQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xNzM2OSw3ICsyMDQ5Miw3IEBACiAiICAlc1xuIgogIuS7pSAnJWMnIOW8gOWktOeahOihjOWwhuiiq+W/veeVpeOAglxuIgogCi0jOiBidWlsdGluL3RhZy5jOjEzNworIzogYnVpbHRpbi90YWcuYzoxMzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMTczODMsMzU4ICsyMDUwNiwzNzUgQEAKICIgICVzXG4iCiAi5LulICclYycg5byA5aS055qE6KGM5bCG6KKr5L+d55WZ77yM5aaC5p6c5oKo5oS/5oSP5Lmf5Y+v5Lul5Yig6Zmk5a6D5Lus44CCXG4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MTkxCisjOiBidWlsdGluL3RhZy5jOjE5OAogbXNnaWQgInVuYWJsZSB0byBzaWduIHRoZSB0YWciCiBtc2dzdHIgIuaXoOazleetvue9suagh+etviIKIAotIzogYnVpbHRpbi90YWcuYzoxOTMKKyM6IGJ1aWx0aW4vdGFnLmM6MjAwCiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlIHRhZyBmaWxlIgogbXNnc3RyICLml6Dms5XlhpnmoIfnrb7mlofku7YiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6MjE4CisjOiBidWlsdGluL3RhZy5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmUgY3JlYXRlZCBhIG5lc3RlZCB0YWcuIFRoZSBvYmplY3QgcmVmZXJyZWQgdG8gYnkgeW91ciBuZXcgdGFnIGlzXG4iCisiYWxyZWFkeSBhIHRhZy4gSWYgeW91IG1lYW50IHRvIHRhZyB0aGUgb2JqZWN0IHRoYXQgaXQgcG9pbnRzIHRvLCB1c2U6XG4iCisiXG4iCisiXHRnaXQgdGFnIC1mICVzICVzXnt9IgorbXNnc3RyICIiCisi5oKo5Yib5bu65LqG5LiA5Liq5bWM5aWX55qE5qCH562+44CC5oKo55qE5paw5qCH562+5oyH5ZCR55qE5a+56LGh5bey57uP5piv5LiA5Liq5qCH562+44CC5aaC5p6c5oKo5oOz6KaBXG4iCisi5a+55YW25oyH5ZCR55qE55uu5qCH5Yib5bu65qCH562+77yM5L2/55So77yaXG4iCisiXG4iCisiXHRnaXQgdGFnIC1mICVzICVzXnt9IgorCisjOiBidWlsdGluL3RhZy5jOjIzMgogbXNnaWQgImJhZCBvYmplY3QgdHlwZS4iCiBtc2dzdHIgIuWdj+eahOWvueixoeexu+Wei+OAgiIKIAotIzogYnVpbHRpbi90YWcuYzoyNjcKKyM6IGJ1aWx0aW4vdGFnLmM6Mjg0CiBtc2dpZCAibm8gdGFnIG1lc3NhZ2U/IgogbXNnc3RyICLml6DmoIfnrb7or7TmmI7vvJ8iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6Mjc0CisjOiBidWlsdGluL3RhZy5jOjI5MQogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGUgdGFnIG1lc3NhZ2UgaGFzIGJlZW4gbGVmdCBpbiAlc1xuIgogbXNnc3RyICLmoIfnrb7or7TmmI7ooqvkv53nlZnlnKggJXNcbiIKIAotIzogYnVpbHRpbi90YWcuYzozODUKKyM6IGJ1aWx0aW4vdGFnLmM6NDAyCiBtc2dpZCAibGlzdCB0YWcgbmFtZXMiCiBtc2dzdHIgIuWIl+WHuuagh+etvuWQjeensCIKIAotIzogYnVpbHRpbi90YWcuYzozODcKKyM6IGJ1aWx0aW4vdGFnLmM6NDA0CiBtc2dpZCAicHJpbnQgPG4+IGxpbmVzIG9mIGVhY2ggdGFnIG1lc3NhZ2UiCiBtc2dzdHIgIuavj+S4quagh+etvuS/oeaBr+aJk+WNsCA8bj4g6KGMIgogCi0jOiBidWlsdGluL3RhZy5jOjM4OQorIzogYnVpbHRpbi90YWcuYzo0MDYKIG1zZ2lkICJkZWxldGUgdGFncyIKIG1zZ3N0ciAi5Yig6Zmk5qCH562+IgogCi0jOiBidWlsdGluL3RhZy5jOjM5MAorIzogYnVpbHRpbi90YWcuYzo0MDcKIG1zZ2lkICJ2ZXJpZnkgdGFncyIKIG1zZ3N0ciAi6aqM6K+B5qCH562+IgogCi0jOiBidWlsdGluL3RhZy5jOjM5MgorIzogYnVpbHRpbi90YWcuYzo0MDkKIG1zZ2lkICJUYWcgY3JlYXRpb24gb3B0aW9ucyIKIG1zZ3N0ciAi5qCH562+5Yib5bu66YCJ6aG5IgogCi0jOiBidWlsdGluL3RhZy5jOjM5NAorIzogYnVpbHRpbi90YWcuYzo0MTEKIG1zZ2lkICJhbm5vdGF0ZWQgdGFnLCBuZWVkcyBhIG1lc3NhZ2UiCiBtc2dzdHIgIumZhOazqOagh+etvu+8jOmcgOimgeS4gOS4quivtOaYjiIKIAotIzogYnVpbHRpbi90YWcuYzozOTYKKyM6IGJ1aWx0aW4vdGFnLmM6NDEzCiBtc2dpZCAidGFnIG1lc3NhZ2UiCiBtc2dzdHIgIuagh+etvuivtOaYjiIKIAotIzogYnVpbHRpbi90YWcuYzozOTgKKyM6IGJ1aWx0aW4vdGFnLmM6NDE1CiBtc2dpZCAiZm9yY2UgZWRpdCBvZiB0YWcgbWVzc2FnZSIKIG1zZ3N0ciAi5by65Yi257yW6L6R5qCH562+6K+05piOIgogCi0jOiBidWlsdGluL3RhZy5jOjM5OQorIzogYnVpbHRpbi90YWcuYzo0MTYKIG1zZ2lkICJhbm5vdGF0ZWQgYW5kIEdQRy1zaWduZWQgdGFnIgogbXNnc3RyICLpmYTms6jlubbpmYTliqAgR1BHIOetvuWQjeeahOagh+etviIKIAotIzogYnVpbHRpbi90YWcuYzo0MDMKKyM6IGJ1aWx0aW4vdGFnLmM6NDE5CiBtc2dpZCAidXNlIGFub3RoZXIga2V5IHRvIHNpZ24gdGhlIHRhZyIKIG1zZ3N0ciAi5L2/55So5Y+m5aSW55qE56eB6ZKl562+5ZCN6K+l5qCH562+IgogCi0jOiBidWlsdGluL3RhZy5jOjQwNAorIzogYnVpbHRpbi90YWcuYzo0MjAKIG1zZ2lkICJyZXBsYWNlIHRoZSB0YWcgaWYgZXhpc3RzIgogbXNnc3RyICLlpoLmnpzlrZjlnKjvvIzmm7/mjaLnjrDmnInnmoTmoIfnrb4iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA1IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2OQorIzogYnVpbHRpbi90YWcuYzo0MjEgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY5CiBtc2dpZCAiY3JlYXRlIGEgcmVmbG9nIgogbXNnc3RyICLliJvlu7rlvJXnlKjml6Xlv5ciCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA3CisjOiBidWlsdGluL3RhZy5jOjQyMwogbXNnaWQgIlRhZyBsaXN0aW5nIG9wdGlvbnMiCiBtc2dzdHIgIuagh+etvuWIl+ihqOmAiemhuSIKIAotIzogYnVpbHRpbi90YWcuYzo0MDgKKyM6IGJ1aWx0aW4vdGFnLmM6NDI0CiBtc2dpZCAic2hvdyB0YWcgbGlzdCBpbiBjb2x1bW5zIgogbXNnc3RyICLku6XliJfnmoTmlrnlvI/mmL7npLrmoIfnrb7liJfooagiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDA5IGJ1aWx0aW4vdGFnLmM6NDExCisjOiBidWlsdGluL3RhZy5jOjQyNSBidWlsdGluL3RhZy5jOjQyNwogbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKIG1zZ3N0ciAi5Y+q5omT5Y2w5YyF5ZCr6K+l5o+Q5Lqk55qE5qCH562+IgogCi0jOiBidWlsdGluL3RhZy5jOjQxMCBidWlsdGluL3RhZy5jOjQxMgorIzogYnVpbHRpbi90YWcuYzo0MjYgYnVpbHRpbi90YWcuYzo0MjgKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCiBtc2dzdHIgIuWPquaJk+WNsOS4jeWMheWQq+ivpeaPkOS6pOeahOagh+etviIKIAotIzogYnVpbHRpbi90YWcuYzo0MTMKKyM6IGJ1aWx0aW4vdGFnLmM6NDI5CiBtc2dpZCAicHJpbnQgb25seSB0YWdzIHRoYXQgYXJlIG1lcmdlZCIKIG1zZ3N0ciAi5Y+q5omT5Y2w5bey57uP5ZCI5bm255qE5qCH562+IgogCi0jOiBidWlsdGluL3RhZy5jOjQxNAorIzogYnVpbHRpbi90YWcuYzo0MzAKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbm90IG1lcmdlZCIKIG1zZ3N0ciAi5Y+q5omT5Y2w5bCa5pyq5ZCI5bm255qE5qCH562+IgogCi0jOiBidWlsdGluL3RhZy5jOjQxOQorIzogYnVpbHRpbi90YWcuYzo0MzQKIG1zZ2lkICJwcmludCBvbmx5IHRhZ3Mgb2YgdGhlIG9iamVjdCIKIG1zZ3N0ciAi5Y+q5omT5Y2w5oyH5ZCR6K+l5a+56LGh55qE5qCH562+IgogCi0jOiBidWlsdGluL3RhZy5jOjQ2MworIzogYnVpbHRpbi90YWcuYzo0ODIKIG1zZ2lkICItLWNvbHVtbiBhbmQgLW4gYXJlIGluY29tcGF0aWJsZSIKIG1zZ3N0ciAiLS1jb2x1bW4g5ZKMIC1uIOS4jeWFvOWuuSIKIAotIzogYnVpbHRpbi90YWcuYzo0ODUKKyM6IGJ1aWx0aW4vdGFnLmM6NTA0CiBtc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgIi1uIOmAiemhueWPquWFgeiuuOeUqOWcqOWIl+ihqOaYvuekuuaooeW8jyIKIAotIzogYnVpbHRpbi90YWcuYzo0ODcKKyM6IGJ1aWx0aW4vdGFnLmM6NTA2CiBtc2dpZCAiLS1jb250YWlucyBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKIG1zZ3N0ciAiLS1jb250YWlucyDpgInpobnlj6rlhYHorrjnlKjlnKjliJfooajmmL7npLrmqKHlvI8iCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NDg5CisjOiBidWlsdGluL3RhZy5jOjUwOAogbXNnaWQgIi0tbm8tY29udGFpbnMgb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCiBtc2dzdHIgIi0tbm8tY29udGFpbnMg6YCJ6aG55Y+q5YWB6K6455So5Zyo5YiX6KGo5pi+56S65qih5byPIgogCi0jOiBidWlsdGluL3RhZy5jOjQ5MQorIzogYnVpbHRpbi90YWcuYzo1MTAKIG1zZ2lkICItLXBvaW50cy1hdCBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKIG1zZ3N0ciAiLS1wb2ludHMtYXQg6YCJ6aG55Y+q5YWB6K6455So5Zyo5YiX6KGo5pi+56S65qih5byPIgogCi0jOiBidWlsdGluL3RhZy5jOjQ5MworIzogYnVpbHRpbi90YWcuYzo1MTIKIG1zZ2lkICItLW1lcmdlZCBhbmQgLS1uby1tZXJnZWQgb3B0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKIG1zZ3N0ciAiLS1tZXJnZWQg5ZKMIC0tbm8tbWVyZ2VkIOmAiemhueWPquWFgeiuuOeUqOWcqOWIl+ihqOaYvuekuuaooeW8jyIKIAotIzogYnVpbHRpbi90YWcuYzo1MDQKKyM6IGJ1aWx0aW4vdGFnLmM6NTIzCiBtc2dpZCAib25seSBvbmUgLUYgb3IgLW0gb3B0aW9uIGlzIGFsbG93ZWQuIgogbXNnc3RyICLlj6rlhYHorrjkuIDkuKogLUYg5oiWIC1tIOmAiemhueOAgiIKIAotIzogYnVpbHRpbi90YWcuYzo1MjMKKyM6IGJ1aWx0aW4vdGFnLmM6NTQyCiBtc2dpZCAidG9vIG1hbnkgcGFyYW1zIgogbXNnc3RyICLlpKrlpJrlj4LmlbAiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTI5CisjOiBidWlsdGluL3RhZy5jOjU0OAogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHRhZyBuYW1lLiIKIG1zZ3N0ciAiJyVzJyDkuI3mmK/kuIDkuKrmnInmlYjnmoTmoIfnrb7lkI3np7DjgIIiCiAKLSM6IGJ1aWx0aW4vdGFnLmM6NTM0CisjOiBidWlsdGluL3RhZy5jOjU1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0YWcgJyVzJyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAi5qCH562+ICclcycg5bey5a2Y5ZyoIgogCi0jOiBidWlsdGluL3RhZy5jOjU2NQorIzogYnVpbHRpbi90YWcuYzo1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgogbXNnc3RyICLlt7Lmm7TmlrDmoIfnrb4gJyVzJ++8iOabvuS4uiAlc++8iVxuIgogCi0jOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTAwCisjOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTAxCiBtc2dpZCAiVW5wYWNraW5nIG9iamVjdHMiCiBtc2dzdHIgIuWxleW8gOWvueixoeS4rSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo4MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAlcyIKIG1zZ3N0ciAi5Yib5bu655uu5b2VICVzIOWksei0pSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBmaWxlICVzIgogbXNnc3RyICLliJvlu7rmlofku7YgJXMg5aSx6LSlIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBmaWxlICVzIgogbXNnc3RyICLliKDpmaTmlofku7YgJXMg5aSx6LSlIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExMyBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIxOQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTUgYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSBkaXJlY3RvcnkgJXMiCiBtc2dzdHIgIuWIoOmZpOebruW9lSAlcyDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTM4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICJUZXN0aW5nIG10aW1lIGluICclcycgIgogbXNnc3RyICLlnKggJyVzJyDkuK3mtYvor5UgbXRpbWUgIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1MgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNTQKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBhZGRpbmcgYSBuZXcgZmlsZSIKIG1zZ3N0ciAi5re75Yqg5LiA5Liq5paw5paH5Lu25ZCO77yM55uu5b2V55qE54q25oCB5L+h5oGv5pyq5pS55Y+YIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE2NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxNjcKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBhZGRpbmcgYSBuZXcgZGlyZWN0b3J5IgogbXNnc3RyICLmt7vliqDkuIDkuKrmlrDnm67lvZXlkI7vvIznm67lvZXnmoTnirbmgIHkv6Hmga/mnKrmlLnlj5giCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTc4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE4MAogbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciB1cGRhdGluZyBhIGZpbGUiCiBtc2dzdHIgIuabtOaWsOS4gOS4quaWh+S7tuWQju+8jOebruW9leeahOeKtuaAgeS/oeaBr+iiq+S/ruaUuSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxODkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTkxCiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBjaGFuZ2VzIGFmdGVyIGFkZGluZyBhIGZpbGUgaW5zaWRlIHN1YmRpcmVjdG9yeSIKIG1zZ3N0ciAi5Zyo5a2Q55uu5b2V5Lit5re75Yqg5paH5Lu25ZCO77yM55uu5b2V55qE54q25oCB5L+h5oGv6KKr5L+u5pS5IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjIwMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMDIKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGRvZXMgbm90IGNoYW5nZSBhZnRlciBkZWxldGluZyBhIGZpbGUiCiBtc2dzdHIgIuWIoOmZpOS4gOS4quaWh+S7tuWQju+8jOebruW9leeahOeKtuaAgeS/oeaBr+acquaUueWPmCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMTMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE1CiBtc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIuWIoOmZpOS4gOS4quebruW9leWQju+8jOebruW9leeahOeKtuaAgeS/oeaBr+acquaUueWPmCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMjAKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjIyCiBtc2dpZCAiIE9LIgogbXNnc3RyICIgT0siCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6NTg4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjU5MQogbXNnaWQgImdpdCB1cGRhdGUtaW5kZXggWzxvcHRpb25zPl0gWy0tXSBbPGZpbGU+Li4uXSIKIG1zZ3N0ciAiZ2l0IHVwZGF0ZS1pbmRleCBbPOmAiemhuT5dIFstLV0gWzzmlofku7Y+Li4uXSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NjEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc0CiBtc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgogbXNnc3RyICLlvZPntKLlvJXpnIDopoHmm7TmlrDml7bnu6fnu63liLfmlrAiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY0CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk3NwogbXNnaWQgInJlZnJlc2g6IGlnbm9yZSBzdWJtb2R1bGVzIgogbXNnc3RyICLliLfmlrDvvJrlv73nlaXlrZDmqKHnu4QiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MAogbXNnaWQgImRvIG5vdCBpZ25vcmUgbmV3IGZpbGVzIgogbXNnc3RyICLkuI3lv73nlaXmlrDnmoTmlofku7YiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTY5CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MgogbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgogbXNnc3RyICLorqnmlofku7bmm7/mjaLnm67lvZXvvIjlj43kuYvkuqbnhLbvvIkiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTcxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NAogbXNnaWQgIm5vdGljZSBmaWxlcyBtaXNzaW5nIGZyb20gd29ya3RyZWUiCiBtc2dzdHIgIumAmuefpeaWh+S7tuS7juW3peS9nOWMuuS4ouWksSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg2CiBtc2dpZCAicmVmcmVzaCBldmVuIGlmIGluZGV4IGNvbnRhaW5zIHVubWVyZ2VkIGVudHJpZXMiCiBtc2dzdHIgIuWNs+S9v+e0ouW8leWMuuWMheWQq+acquWQiOW5tueahOadoeebruS5n+aJp+ihjOWIt+aWsCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5NzYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg5CiBtc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgogbXNnc3RyICLliLfmlrDnu5/orqHkv6Hmga8iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTgwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5MwogbXNnaWQgImxpa2UgLS1yZWZyZXNoLCBidXQgaWdub3JlIGFzc3VtZS11bmNoYW5nZWQgc2V0dGluZyIKIG1zZ3N0ciAi57G75Ly85LqOIC0tcmVmcmVzaO+8jOS9huaYr+W/veeVpSBhc3N1bWUtdW5jaGFuZ2VkIOiuvue9riIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTk3CiBtc2dpZCAiPG1vZGU+LDxvYmplY3Q+LDxwYXRoPiIKIG1zZ3N0ciAiPOWtmOWPluaooeW8jz4sPOWvueixoT4sPOi3r+W+hD4iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg1CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5OAogbXNnaWQgImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAi5re75Yqg5oyH5a6a55qE5p2h55uu5Yiw57Si5byV5Yy6IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA4CiBtc2dpZCAibWFyayBmaWxlcyBhcyBcIm5vdCBjaGFuZ2luZ1wiIgogbXNnc3RyICLmiormlofku7bmoIforrDkuLogXCLmsqHmnInlj5jmm7RcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5OTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxMQogbXNnaWQgImNsZWFyIGFzc3VtZWQtdW5jaGFuZ2VkIGJpdCIKIG1zZ3N0ciAi5riF6ZmkIGFzc3VtZWQtdW5jaGFuZ2VkIOS9jSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTQKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIFwiaW5kZXgtb25seVwiIgogbXNnc3RyICLmiormlofku7bmoIforrDkuLogXCLku4XntKLlvJVcIiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAzCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTcKIG1zZ2lkICJjbGVhciBza2lwLXdvcmt0cmVlIGJpdCIKIG1zZ3N0ciAi5riF6ZmkIHNraXAtd29ya3RyZWUg5L2NIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDYKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyMAorbXNnaWQgImRvIG5vdCB0b3VjaCBpbmRleC1vbmx5IGVudHJpZXMiCittc2dzdHIgIuS4jeimgeinpueisOS7hee0ouW8leadoeebriIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDIyCiBtc2dpZCAiYWRkIHRvIGluZGV4IG9ubHk7IGRvIG5vdCBhZGQgY29udGVudCB0byBvYmplY3QgZGF0YWJhc2UiCiBtc2dzdHIgIuWPqua3u+WKoOWIsOe0ouW8leWMuu+8m+S4jea3u+WKoOWvueixoeWIsOWvueixoeW6kyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDA4CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjQKIG1zZ2lkICJyZW1vdmUgbmFtZWQgcGF0aHMgZXZlbiBpZiBwcmVzZW50IGluIHdvcmt0cmVlIgogbXNnc3RyICLljbPkvb/lrZjlnKjlt6XkvZzljLrph4zvvIzkuZ/liKDpmaTot6/lvoQiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxMAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI2CiBtc2dpZCAid2l0aCAtLXN0ZGluOiBpbnB1dCBsaW5lcyBhcmUgdGVybWluYXRlZCBieSBudWxsIGJ5dGVzIgogbXNnc3RyICLmkLrluKYgLS1zdGRpbu+8mui+k+WFpeeahOihjOS7pSBudWxsIOWtl+espue7iOatoiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDEyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjgKIG1zZ2lkICJyZWFkIGxpc3Qgb2YgcGF0aHMgdG8gYmUgdXBkYXRlZCBmcm9tIHN0YW5kYXJkIGlucHV0IgogbXNnc3RyICLku47moIflh4bovpPlhaXkuK3or7vlj5bpnIDopoHmm7TmlrDnmoTot6/lvoTliJfooagiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxNgorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDMyCiBtc2dpZCAiYWRkIGVudHJpZXMgZnJvbSBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIuS7juagh+WHhui+k+WFpea3u+WKoOadoeebruWIsOe0ouW8leWMuiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDIwCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzYKIG1zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCiBtc2dzdHIgIuS4uuaMh+WumuaWh+S7tumHjeaWsOeUn+aIkOesrDLlkoznrKwz5pqC5a2Y5Yy6IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0MAogbXNnaWQgIm9ubHkgdXBkYXRlIGVudHJpZXMgdGhhdCBkaWZmZXIgZnJvbSBIRUFEIgogbXNnc3RyICLlj6rmm7TmlrDkuI4gSEVBRCDkuI3lkIznmoTmnaHnm64iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyOAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQ0CiBtc2dpZCAiaWdub3JlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKIG1zZ3N0ciAi5b+955Wl5bel5L2c5Yy65Lii5aSx55qE5paH5Lu2IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0NwogbXNnaWQgInJlcG9ydCBhY3Rpb25zIHRvIHN0YW5kYXJkIG91dHB1dCIKIG1zZ3N0ciAi5Zyo5qCH5YeG6L6T5Ye65pi+56S65pON5L2cIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0OQogbXNnaWQgIihmb3IgcG9yY2VsYWlucykgZm9yZ2V0IHNhdmVkIHVucmVzb2x2ZWQgY29uZmxpY3RzIgogbXNnc3RyICIoZm9yIHBvcmNlbGFpbnMpIOW/mOiusOS/neWtmOeahOacquino+WGs+eahOWGsueqgSIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDM3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNTMKIG1zZ2lkICJ3cml0ZSBpbmRleCBpbiB0aGlzIGZvcm1hdCIKIG1zZ3N0ciAi5Lul6L+Z56eN5qC85byP5YaZ5YWl57Si5byV5Yy6IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1NQogbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIHNwbGl0IGluZGV4IgogbXNnc3RyICLlkK/nlKjmiJbnpoHnlKjntKLlvJXmi4bliIYiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0MQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDU3CiBtc2dpZCAiZW5hYmxlL2Rpc2FibGUgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICLlkK/nlKgv56aB55So5a+55pyq6Lef6Liq5paH5Lu255qE57yT5a2YIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDMKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1OQogbXNnaWQgInRlc3QgaWYgdGhlIGZpbGVzeXN0ZW0gc3VwcG9ydHMgdW50cmFja2VkIGNhY2hlIgogbXNnc3RyICLmtYvor5Xmlofku7bns7vnu5/mmK/lkKbmlK/mjIHmnKrot5/ouKrmlofku7bnvJPlrZgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDYxCiBtc2dpZCAiZW5hYmxlIHVudHJhY2tlZCBjYWNoZSB3aXRob3V0IHRlc3RpbmcgdGhlIGZpbGVzeXN0ZW0iCiBtc2dzdHIgIuaXoOmcgOajgOa1i+aWh+S7tuezu+e7n++8jOWQr+eUqOWvueacqui3n+i4quaWh+S7tueahOe8k+WtmCIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDQ3CisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNjMKIG1zZ2lkICJ3cml0ZSBvdXQgdGhlIGluZGV4IGV2ZW4gaWYgaXMgbm90IGZsYWdnZWQgYXMgY2hhbmdlZCIKIG1zZ3N0ciAi5Y2z5L2/5rKh5pyJ6KKr5qCH6K6w5Li65bey5pu05pS577yM5Lmf6KaB5YaZ5Ye657Si5byVIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA2NQogbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIGZpbGUgc3lzdGVtIG1vbml0b3IiCiBtc2dzdHIgIuWQr+eUqOaIluemgeeUqOaWh+S7tuezu+e7n+ebkeaOpyIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDUxCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNjcKIG1zZ2lkICJtYXJrIGZpbGVzIGFzIGZzbW9uaXRvciB2YWxpZCIKIG1zZ3N0ciAi5qCH6K6w5paH5Lu25Li6IGZzbW9uaXRvciDmnInmlYgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1NAorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDcwCiBtc2dpZCAiY2xlYXIgZnNtb25pdG9yIHZhbGlkIGJpdCIKIG1zZ3N0ciAi5riF6ZmkIGZzbW9uaXRvciDmnInmlYjkvY0iCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE1MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTczCiBtc2dpZCAiIgogImNvcmUuc3BsaXRJbmRleCBpcyBzZXQgdG8gZmFsc2U7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCiAiZW5hYmxlIHNwbGl0IGluZGV4IgogbXNnc3RyICIiCiAiY29yZS5zcGxpdEluZGV4IOiiq+iuvue9ruS4uiBmYWxzZeOAguWmguaenOaCqOehruWunuimgeWQr+eUqOe0ouW8leaLhuWIhu+8jOivt+WIoOmZpOaIluS/ruaUueWug+OAgiIKIAotIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTYyCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExODIKIG1zZ2lkICIiCiAiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byB0cnVlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gIgogImRpc2FibGUgc3BsaXQgaW5kZXgiCiBtc2dzdHIgIiIKICJjb3JlLnNwbGl0SW5kZXgg6KKr6K6+572u5Li6IHRydWXjgILlpoLmnpzmgqjnoa7lrp7opoHnpoHnlKjntKLlvJXmi4bliIbvvIzor7fliKDpmaTmiJbkv67mlLnlroPjgIIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE3MworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTk0CiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCAiCiAidG8gZGlzYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgpAQCAtMTc3NDIsMTEgKzIwODgyLDExIEBACiAiY29yZS51bnRyYWNrZWRDYWNoZSDooqvorr7nva7kuLogdHJ1ZeOAguWmguaenOaCqOehruWunuimgeemgeeUqOacqui3n+i4quaWh+S7tue8k+WtmO+8jOivt+WIoOmZpOaIluS/riIKICLmlLnlroPjgIIiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE3NworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTk4CiBtc2dpZCAiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIgogbXNnc3RyICLnvJPlrZjmnKrot5/ouKrmlofku7booqvnpoHnlKgiCiAKLSM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE4NQorIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjA2CiBtc2dpZCAiIgogImNvcmUudW50cmFja2VkQ2FjaGUgaXMgc2V0IHRvIGZhbHNlOyByZW1vdmUgb3IgY2hhbmdlIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgIgogInRvIGVuYWJsZSB0aGUgdW50cmFja2VkIGNhY2hlIgpAQCAtMTc3NTQsMjUgKzIwODk0LDI1IEBACiAiY29yZS51bnRyYWNrZWRDYWNoZSDooqvorr7nva7kuLogZmFsc2XjgILlpoLmnpzmgqjnoa7lrp7opoHlkK/nlKjmnKrot5/ouKrmlofku7bnvJPlrZjvvIzor7fliKDpmaTmiJYiCiAi5L+u5pS55a6D44CCIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExODkKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnRyYWNrZWQgY2FjaGUgZW5hYmxlZCBmb3IgJyVzJyIKIG1zZ3N0ciAi57yT5a2Y5pyq6Lef6Liq5paH5Lu25ZyoICclcycg5ZCv55SoIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExOTcKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIxOAogbXNnaWQgImNvcmUuZnNtb25pdG9yIGlzIHVuc2V0OyBzZXQgaXQgaWYgeW91IHJlYWxseSB3YW50IHRvIGVuYWJsZSBmc21vbml0b3IiCiBtc2dzdHIgImNvcmUuZnNtb25pdG9yIOacquiuvue9ru+8m+WmguaenOaDs+imgeWQr+eUqCBmc21vbml0b3Ig6K+36K6+572u6K+l6YCJ6aG5IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMDEKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIyMgogbXNnaWQgImZzbW9uaXRvciBlbmFibGVkIgogbXNnc3RyICJmc21vbml0b3Ig6KKr5ZCv55SoIgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMDQKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIyNQogbXNnaWQgIiIKICJjb3JlLmZzbW9uaXRvciBpcyBzZXQ7IHJlbW92ZSBpdCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGlzYWJsZSBmc21vbml0b3IiCiBtc2dzdHIgImNvcmUuZnNtb25pdG9yIOW3suiuvue9ru+8m+WmguaenOaDs+imgeemgeeUqCBmc21vbml0b3Ig6K+356e76Zmk6K+l6YCJ6aG5IgogCi0jOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMDgKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIyOQogbXNnaWQgImZzbW9uaXRvciBkaXNhYmxlZCIKIG1zZ3N0ciAiZnNtb25pdG9yIOiiq+emgeeUqCIKIApAQCAtMTc4MTYsNiArMjA5NTYsMTAgQEAKIG1zZ2lkICJnaXQgdXBsb2FkLXBhY2sgWzxvcHRpb25zPl0gPGRpcj4iCiBtc2dzdHIgImdpdCB1cGxvYWQtcGFjayBbPOmAiemhuT5dIDznm67lvZU+IgogCisjOiBidWlsdGluL3VwbG9hZC1wYWNrLmM6MjMgdC9oZWxwZXIvdGVzdC1zZXJ2ZS12Mi5jOjE3Cittc2dpZCAicXVpdCBhZnRlciBhIHNpbmdsZSByZXF1ZXN0L3Jlc3BvbnNlIGV4Y2hhbmdlIgorbXNnc3RyICLlnKjkuIDmrKHljZXni6znmoTor7fmsYIv5ZON5bqU5LmL5ZCO6YCA5Ye6IgorCiAjOiBidWlsdGluL3VwbG9hZC1wYWNrLmM6MjUKIG1zZ2lkICJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGluaXRpYWwgcmVmIGFkdmVydGlzZW1lbnQiCiBtc2dzdHIgIuWcqOWIneWni+eahOW8leeUqOW5v+WRiuWQjueri+WNs+mAgOWHuiIKQEAgLTE3ODI4LDE1ICsyMDk3MiwxNSBAQAogbXNnaWQgImludGVycnVwdCB0cmFuc2ZlciBhZnRlciA8bj4gc2Vjb25kcyBvZiBpbmFjdGl2aXR5IgogbXNnc3RyICLkuI3mtLvliqggPG4+IOenkumSn+WQjue7iOatouS8oOi+kyIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6MjAKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjE5CiBtc2dpZCAiZ2l0IHZlcmlmeS1jb21taXQgWy12IHwgLS12ZXJib3NlXSA8Y29tbWl0Pi4uLiIKIG1zZ3N0ciAiZ2l0IHZlcmlmeS1jb21taXQgWy12IHwgLS12ZXJib3NlXSA85o+Q5LqkPi4uLiIKIAotIzogYnVpbHRpbi92ZXJpZnktY29tbWl0LmM6NzYKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjY4CiBtc2dpZCAicHJpbnQgY29tbWl0IGNvbnRlbnRzIgogbXNnc3RyICLmiZPljbDmj5DkuqTlhoXlrrkiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjc3IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM4CisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzo2OSBidWlsdGluL3ZlcmlmeS10YWcuYzozNwogbXNnaWQgInByaW50IHJhdyBncGcgc3RhdHVzIG91dHB1dCIKIG1zZ3N0ciAi5omT5Y2w5Y6f5aeLIGdwZyDnirbmgIHovpPlh7oiCiAKQEAgLTE3ODUyLDExICsyMDk5NiwxMSBAQAogbXNnaWQgInNob3cgc3RhdGlzdGljcyBvbmx5IgogbXNnc3RyICLlj6rmmL7npLrnu5/orqEiCiAKLSM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjE5CisjOiBidWlsdGluL3ZlcmlmeS10YWcuYzoxOAogbXNnaWQgImdpdCB2ZXJpZnktdGFnIFstdiB8IC0tdmVyYm9zZV0gWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnPi4uLiIKIG1zZ3N0ciAiZ2l0IHZlcmlmeS10YWcgWy12IHwgLS12ZXJib3NlXSBbLS1mb3JtYXQ9POagvOW8jz5dIDzmoIfnrb4+Li4uIgogCi0jOiBidWlsdGluL3ZlcmlmeS10YWcuYzozNworIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzYKIG1zZ2lkICJwcmludCB0YWcgY29udGVudHMiCiBtc2dzdHIgIuaJk+WNsOagh+etvuWGheWuuSIKIApAQCAtMTc4ODgsNyArMjEwMzIsNyBAQAogbXNnaWQgImdpdCB3b3JrdHJlZSB1bmxvY2sgPHBhdGg+IgogbXNnc3RyICJnaXQgd29ya3RyZWUgdW5sb2NrIDzot6/lvoQ+IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjAgYnVpbHRpbi93b3JrdHJlZS5jOjg3MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjYwIGJ1aWx0aW4vd29ya3RyZWUuYzo4OTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGRlbGV0ZSAnJXMnIgogbXNnc3RyICLliKDpmaQgJyVzJyDlpLHotKUiCkBAIC0xNzk2MSwxMjAgKzIxMTA1LDEyMCBAQAogIiclcycg5piv5LiA5Liq5Lii5aSx5L2G5bey57uP5rOo5YaM55qE5bel5L2c5Yy677yM5L2/55SoXG4iCiAiJ2FkZCAtZicg6KaG55uW77yM5oiWICdwcnVuZScg5oiWICdyZW1vdmUnIOa4hemZpCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjMwOQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSBvZiAnJXMnIgogbXNnc3RyICLkuI3og73liJvlu7rnm67lvZUgJyVzJyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQyOCBidWlsdGluL3dvcmt0cmVlLmM6NDM0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDM5IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChuZXcgYnJhbmNoICclcycpIgogbXNnc3RyICLlh4blpIflt6XkvZzljLrvvIjmlrDliIbmlK8gJyVzJ++8iSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQzMAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKHJlc2V0dGluZyBicmFuY2ggJyVzJzsgd2FzIGF0ICVzKSIKIG1zZ3N0ciAi5YeG5aSH5bel5L2c5Yy677yI6YeN572u5YiG5pSvICclcyfvvIzkuYvliY3kuLogJXPvvIkiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0MzkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChjaGVja2luZyBvdXQgJyVzJykiCiBtc2dzdHIgIuWHhuWkh+W3peS9nOWMuu+8iOajgOWHuiAnJXMn77yJIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDQ1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlByZXBhcmluZyB3b3JrdHJlZSAoZGV0YWNoZWQgSEVBRCAlcykiCiBtc2dzdHIgIuWHhuWkh+W3peS9nOWMuu+8iOWIhuemu+WktOaMh+mSiCAlc++8iSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ4NgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5NwogbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGV2ZW4gaWYgYWxyZWFkeSBjaGVja2VkIG91dCBpbiBvdGhlciB3b3JrdHJlZSIKIG1zZ3N0ciAi5qOA5Ye6IDzliIbmlK8+77yM5Y2z5L2/5bey57uP6KKr5qOA5Ye65Yiw5YW25a6D5bel5L2c5Yy6IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDg5CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTAwCiBtc2dpZCAiY3JlYXRlIGEgbmV3IGJyYW5jaCIKIG1zZ3N0ciAi5Yib5bu65LiA5Liq5paw5YiG5pSvIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDkxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTAyCiBtc2dpZCAiY3JlYXRlIG9yIHJlc2V0IGEgYnJhbmNoIgogbXNnc3RyICLliJvlu7rmiJbph43nva7kuIDkuKrliIbmlK8iCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDQKIG1zZ2lkICJwb3B1bGF0ZSB0aGUgbmV3IHdvcmtpbmcgdHJlZSIKIG1zZ3N0ciAi55Sf5oiQ5paw55qE5bel5L2c5Yy6IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NDk0CisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA1CiBtc2dpZCAia2VlcCB0aGUgbmV3IHdvcmtpbmcgdHJlZSBsb2NrZWQiCiBtc2dzdHIgIumUgeWumuaWsOW3peS9nOWMuiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ5NworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwOAogbXNnaWQgInNldCB1cCB0cmFja2luZyBtb2RlIChzZWUgZ2l0LWJyYW5jaCgxKSkiCiBtc2dzdHIgIuiuvue9rui3n+i4quaooeW8j++8iOWPguingSBnaXQtYnJhbmNoKDEp77yJIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NTAwCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTExCiBtc2dpZCAidHJ5IHRvIG1hdGNoIHRoZSBuZXcgYnJhbmNoIG5hbWUgd2l0aCBhIHJlbW90ZS10cmFja2luZyBicmFuY2giCiBtc2dzdHIgIuWwneivleS4uuaWsOWIhuaUr+WQjeWMuemFjeS4gOS4qui/nOeoi+i3n+i4quWIhuaUryIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjUxOQogbXNnaWQgIi1iLCAtQiwgYW5kIC0tZGV0YWNoIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCiBtc2dzdHIgIi1i44CBLUIg5ZKMIC0tZGV0YWNoIOaYr+S6kuaWpeeahCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjU2OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjU4MAogbXNnaWQgIi0tW25vLV10cmFjayBjYW4gb25seSBiZSB1c2VkIGlmIGEgbmV3IGJyYW5jaCBpcyBjcmVhdGVkIgogbXNnc3RyICLlj6rog73lnKjliJvlu7rmlrDliIbmlK/ml7bkvb/nlKjpgInpobkgLS1bbm8tXXRyYWNrICIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY2OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY4MAogbXNnaWQgInJlYXNvbiBmb3IgbG9ja2luZyIKIG1zZ3N0ciAi6ZSB5a6a5Y6f5ZugIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjgxIGJ1aWx0aW4vd29ya3RyZWUuYzo3MTQgYnVpbHRpbi93b3JrdHJlZS5jOjc3MgotIzogYnVpbHRpbi93b3JrdHJlZS5jOjg5OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5MiBidWlsdGluL3dvcmt0cmVlLmM6NzI1IGJ1aWx0aW4vd29ya3RyZWUuYzo3OTkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBub3QgYSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIiclcycg5LiN5piv5LiA5Liq5bel5L2c5Yy6IgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NjgzIGJ1aWx0aW4vd29ya3RyZWUuYzo3MTYKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2OTQgYnVpbHRpbi93b3JrdHJlZS5jOjcyNwogbXNnaWQgIlRoZSBtYWluIHdvcmtpbmcgdHJlZSBjYW5ub3QgYmUgbG9ja2VkIG9yIHVubG9ja2VkIgogbXNnc3RyICLkuLvlt6XkvZzljLrml6Dms5XooqvliqDplIHmiJbop6PplIEiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODgKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2OTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCwgcmVhc29uOiAlcyIKIG1zZ3N0ciAiJyVzJyDlt7LooqvplIHlrprvvIzljp/lm6DvvJolcyIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIGFscmVhZHkgbG9ja2VkIgogbXNnc3RyICInJXMnIOW3suiiq+mUgeWumiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjcxOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjcyOQogIywgYy1mb3JtYXQKIG1zZ2lkICInJXMnIGlzIG5vdCBsb2NrZWQiCiBtc2dzdHIgIiclcycg5pyq6KKr6ZSB5a6aIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6NzQzCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NzcwCiBtc2dpZCAid29ya2luZyB0cmVlcyBjb250YWluaW5nIHN1Ym1vZHVsZXMgY2Fubm90IGJlIG1vdmVkIG9yIHJlbW92ZWQiCiBtc2dzdHIgIuS4jeiDveenu+WKqOaIluWIoOmZpOWMheWQq+WtkOaooee7hOeahOW3peS9nOWMuiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc1MQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3OAogbXNnaWQgImZvcmNlIG1vdmUgZXZlbiBpZiB3b3JrdHJlZSBpcyBkaXJ0eSBvciBsb2NrZWQiCiBtc2dzdHIgIuW8uuWItuenu+WKqO+8jOWNs+S9v+W3peS9nOWMuuaYr+iEj+eahOaIluW3sumUgeWumiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3NCBidWlsdGluL3dvcmt0cmVlLmM6OTAxCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODAxIGJ1aWx0aW4vd29ya3RyZWUuYzo5MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJyVzJyBpcyBhIG1haW4gd29ya2luZyB0cmVlIgogbXNnc3RyICInJXMnIOaYr+S4gOS4quS4u+W3peS9nOWMuiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3OQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjgwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJjb3VsZCBub3QgZmlndXJlIG91dCBkZXN0aW5hdGlvbiBuYW1lIGZyb20gJyVzJyIKIG1zZ3N0ciAi5peg5rOV5LuOICclcycg566X5Ye655uu5qCH5ZCN56ewIgogCi0jOiBidWlsdGluL3dvcmt0cmVlLmM6Nzg1CisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInRhcmdldCAnJXMnIGFscmVhZHkgZXhpc3RzIgogbXNnc3RyICLnm67moIcgJyVzJyDlt7LlrZjlnKgiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3OTMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogImNhbm5vdCBtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZSwgbG9jayByZWFzb246ICVzXG4iCkBAIC0xODA4Myw3ICsyMTIyNyw3IEBACiAi5peg5rOV56e75Yqo5LiA5Liq6ZSB5a6a55qE5bel5L2c5Yy677yM6ZSB5a6a5Y6f5Zug77yaJXNcbiIKICLkvb/nlKggJ21vdmUgLWYgLWYnIOimhuebluaIluWFiOino+mUgSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc5NQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjgyMgogbXNnaWQgIiIKICJjYW5ub3QgbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWU7XG4iCiAidXNlICdtb3ZlIC1mIC1mJyB0byBvdmVycmlkZSBvciB1bmxvY2sgZmlyc3QiCkBAIC0xODA5MSwzNiArMjEyMzUsMzYgQEAKICLml6Dms5Xnp7vliqjkuIDkuKrplIHlrprnmoTlt6XkvZzljLrvvIxcbiIKICLkvb/nlKggJ21vdmUgLWYgLWYnIOimhuebluaIluWFiOino+mUgSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjc5OAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ2YWxpZGF0aW9uIGZhaWxlZCwgY2Fubm90IG1vdmUgd29ya2luZyB0cmVlOiAlcyIKIG1zZ3N0ciAi6aqM6K+B5aSx6LSl77yM5peg5rOV56e75Yqo5bel5L2c5Yy677yaJXMiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MDMKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG1vdmUgJyVzJyB0byAnJXMnIgogbXNnc3RyICLnp7vliqggJyVzJyDliLAgJyVzJyDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NTEKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJ1biAnZ2l0IHN0YXR1cycgb24gJyVzJyIKIG1zZ3N0ciAi5ZyoICclcycg5Lit5omn6KGMICdnaXQgc3RhdHVzJyDlpLHotKUiCiAKLSM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NTUKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4ODIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJyVzJyBpcyBkaXJ0eSwgdXNlIC0tZm9yY2UgdG8gZGVsZXRlIGl0IgotbXNnc3RyICInJXMnIOaYr+iEj+eahO+8jOS9v+eUqCAtLWZvcmNlIOWIoOmZpCIKK21zZ2lkICInJXMnIGNvbnRhaW5zIG1vZGlmaWVkIG9yIHVudHJhY2tlZCBmaWxlcywgdXNlIC0tZm9yY2UgdG8gZGVsZXRlIGl0IgorbXNnc3RyICInJXMnIOWMheWQq+S/ruaUueaIluacqui3n+i4queahOaWh+S7tu+8jOS9v+eUqCAtLWZvcmNlIOWIoOmZpCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjg2MAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjg4NwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcnVuICdnaXQgc3RhdHVzJyBvbiAnJXMnLCBjb2RlICVkIgogbXNnc3RyICLlnKggJyVzJyDkuK3miafooYwgJ2dpdCBzdGF0dXMnIOWksei0pe+8jOmAgOWHuueggSAlZCIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjg4MworIzogYnVpbHRpbi93b3JrdHJlZS5jOjkxMAogbXNnaWQgImZvcmNlIHJlbW92YWwgZXZlbiBpZiB3b3JrdHJlZSBpcyBkaXJ0eSBvciBsb2NrZWQiCiBtc2dzdHIgIuW8uuWItuWIoOmZpO+8jOWNs+S9v+W3peS9nOWMuuaYr+iEj+eahOaIluW3sumUgeWumiIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjkwNgorIzogYnVpbHRpbi93b3JrdHJlZS5jOjkzMwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiY2Fubm90IHJlbW92ZSBhIGxvY2tlZCB3b3JraW5nIHRyZWUsIGxvY2sgcmVhc29uOiAlc1xuIgpAQCAtMTgxMjksNyArMjEyNzMsNyBAQAogIuaXoOazleWIoOmZpOS4gOS4qumUgeWumueahOW3peS9nOWMuu+8jOmUgeWumuWOn+WboO+8miVzXG4iCiAi5L2/55SoICdyZW1vdmUgLWYgLWYnIOimhuebluaIluWFiOino+mUgSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjkwOAorIzogYnVpbHRpbi93b3JrdHJlZS5jOjkzNQogbXNnaWQgIiIKICJjYW5ub3QgcmVtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZTtcbiIKICJ1c2UgJ3JlbW92ZSAtZiAtZicgdG8gb3ZlcnJpZGUgb3IgdW5sb2NrIGZpcnN0IgpAQCAtMTgxMzcsMjggKzIxMjgxLDQzIEBACiAi5peg5rOV5Yig6Zmk5LiA5Liq6ZSB5a6a55qE5bel5L2c5Yy677yMXG4iCiAi5L2/55SoICdyZW1vdmUgLWYgLWYnIOimhuebluaIluWFiOino+mUgSIKIAotIzogYnVpbHRpbi93b3JrdHJlZS5jOjkxMQorIzogYnVpbHRpbi93b3JrdHJlZS5jOjkzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ2YWxpZGF0aW9uIGZhaWxlZCwgY2Fubm90IHJlbW92ZSB3b3JraW5nIHRyZWU6ICVzIgogbXNnc3RyICLpqozor4HlpLHotKXvvIzml6Dms5XliKDpmaTlt6XkvZzljLrvvJolcyIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MTQKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjE1CiBtc2dpZCAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTxwcmVmaXg+L10iCiBtc2dzdHIgImdpdCB3cml0ZS10cmVlIFstLW1pc3Npbmctb2tdIFstLXByZWZpeD085YmN57yAPi9dIgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzoyNworIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjgKIG1zZ2lkICI8cHJlZml4Pi8iCiBtc2dzdHIgIjzliY3nvIA+LyIKIAotIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MjgKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI5CiBtc2dpZCAid3JpdGUgdHJlZSBvYmplY3QgZm9yIGEgc3ViZGlyZWN0b3J5IDxwcmVmaXg+IgogbXNnc3RyICLlsIYgPOWJjee8gD4g5a2Q55uu5b2V5YaF5a655YaZ5Yiw5LiA5Liq5qCR5a+56LGhIgogCi0jOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMAorIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MzEKIG1zZ2lkICJvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nIgogbXNnc3RyICLlj6rlr7nosIPor5XmnInnlKgiCiAKLSM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjIyMgorIzogZmFzdC1pbXBvcnQuYzozMTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4cGVjdGVkICdtYXJrJyBjb21tYW5kLCBnb3QgJXMiCittc2dzdHIgIumihOacnyAnbWFyaycg5ZG95Luk77yM5b6X5YiwICVzIgorCisjOiBmYXN0LWltcG9ydC5jOjMxMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhwZWN0ZWQgJ3RvJyBjb21tYW5kLCBnb3QgJXMiCittc2dzdHIgIumihOacnyAndG8nIOWRveS7pO+8jOW+l+WIsCAlcyIKKworIzogZmFzdC1pbXBvcnQuYzozMjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImZlYXR1cmUgJyVzJyBmb3JiaWRkZW4gaW4gaW5wdXQgd2l0aG91dCAtLWFsbG93LXVuc2FmZS1mZWF0dXJlcyIKK21zZ3N0ciAi5LiN5bimIC0tYWxsb3ctdW5zYWZlLWZlYXR1cmVzIOeahOi+k+WFpeS4reemgeatouS9v+eUqOWKn+iDvSAnJXMnIgorCisjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyMjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlRoZSBwZXJtaXNzaW9ucyBvbiB5b3VyIHNvY2tldCBkaXJlY3RvcnkgYXJlIHRvbyBsb29zZTsgb3RoZXJcbiIKQEAgLTE4MTcxLDcgKzIxMzMwLDcgQEAKICJcbiIKICJcdGNobW9kIDA3MDAgJXMiCiAKLSM6IGNyZWRlbnRpYWwtY2FjaGUtLWRhZW1vbi5jOjI3MQorIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcyCiBtc2dpZCAicHJpbnQgZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHN0ZGVyciIKIG1zZ3N0ciAi6LCD6K+V5L+h5oGv6L6T5Ye65Yiw5qCH5YeG6ZSZ6K+vIgogCkBAIC0xODE4NCw2ICsyMTM0MywxNCBAQAogbXNnaWQgInRvbyBtYW55IGNvbW1pdHMgbWFya2VkIHJlYWNoYWJsZSIKIG1zZ3N0ciAi5aSq5aSa5o+Q5Lqk5qCH6K6w5Li65Y+v6L6+IgogCisjOiB0L2hlbHBlci90ZXN0LXNlcnZlLXYyLmM6NworbXNnaWQgInRlc3QtdG9vbCBzZXJ2ZS12MiBbPG9wdGlvbnM+XSIKK21zZ3N0ciAidGVzdC10b29sIHNlcnZlLXYyIFs86YCJ6aG5Pl0iCisKKyM6IHQvaGVscGVyL3Rlc3Qtc2VydmUtdjIuYzoxOQorbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgYWR2ZXJ0aXNpbmcgY2FwYWJpbGl0aWVzIgorbXNnc3RyICLlr7nog73lipvlub/lkYrkuYvlkI7nq4vljbPpgIDlh7oiCisKICM6IGdpdC5jOjI3CiBtc2dpZCAiIgogImdpdCBbLS12ZXJzaW9uXSBbLS1oZWxwXSBbLUMgPHBhdGg+XSBbLWMgPG5hbWU+PTx2YWx1ZT5dXG4iCkBAIC0xODIwNCw5OSArMjEzNzEsMTUxIEBACiBtc2dpZCAiIgogIidnaXQgaGVscCAtYScgYW5kICdnaXQgaGVscCAtZycgbGlzdCBhdmFpbGFibGUgc3ViY29tbWFuZHMgYW5kIHNvbWVcbiIKICJjb25jZXB0IGd1aWRlcy4gU2VlICdnaXQgaGVscCA8Y29tbWFuZD4nIG9yICdnaXQgaGVscCA8Y29uY2VwdD4nXG4iCi0idG8gcmVhZCBhYm91dCBhIHNwZWNpZmljIHN1YmNvbW1hbmQgb3IgY29uY2VwdC4iCisidG8gcmVhZCBhYm91dCBhIHNwZWNpZmljIHN1YmNvbW1hbmQgb3IgY29uY2VwdC5cbiIKKyJTZWUgJ2dpdCBoZWxwIGdpdCcgZm9yIGFuIG92ZXJ2aWV3IG9mIHRoZSBzeXN0ZW0uIgogbXNnc3RyICIiCiAi5ZG95LukICdnaXQgaGVscCAtYScg5ZKMICdnaXQgaGVscCAtZycg5pi+56S65Y+v55So55qE5a2Q5ZG95Luk5ZKM5LiA5Lqb5qaC5b+15biu5Yqp44CCXG4iCiAi5p+l55yLICdnaXQgaGVscCA85ZG95LukPicg5oiWICdnaXQgaGVscCA85qaC5b+1Picg5Lul6I635Y+W57uZ5a6a5a2Q5ZG95Luk5oiW5qaC5b+155qEXG4iCi0i5biu5Yqp44CCIgorIuW4ruWKqeOAglxuIgorIuacieWFs+ezu+e7n+eahOamgui/sO+8jOafpeeciyAnZ2l0IGhlbHAgZ2l0J+OAgiIKIAotIzogZ2l0LmM6MTczCisjOiBnaXQuYzoxODYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gZGlyZWN0b3J5IGdpdmVuIGZvciAtLWdpdC1kaXJcbiIKIG1zZ3N0ciAi5rKh5pyJ5Li6IC0tZ2l0LWRpciDmj5Dkvpvnm67lvZVcbiIKIAotIzogZ2l0LmM6MTg3CisjOiBnaXQuYzoyMDAKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbmFtZXNwYWNlIGdpdmVuIGZvciAtLW5hbWVzcGFjZVxuIgogbXNnc3RyICLmsqHmnInkuLogLS1uYW1lc3BhY2Ug5o+Q5L6b5ZG95ZCN56m66Ze0XG4iCiAKLSM6IGdpdC5jOjIwMQorIzogZ2l0LmM6MjE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLS13b3JrLXRyZWVcbiIKIG1zZ3N0ciAi5rKh5pyJ5Li6IC0td29yay10cmVlIOaPkOS+m+ebruW9lVxuIgogCi0jOiBnaXQuYzoyMTUKKyM6IGdpdC5jOjIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBwcmVmaXggZ2l2ZW4gZm9yIC0tc3VwZXItcHJlZml4XG4iCiBtc2dzdHIgIuayoeacieS4uiAtLXN1cGVyLXByZWZpeCDmj5DkvpvliY3nvIBcbiIKIAotIzogZ2l0LmM6MjM3CisjOiBnaXQuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiLWMgZXhwZWN0cyBhIGNvbmZpZ3VyYXRpb24gc3RyaW5nXG4iCiBtc2dzdHIgIuW6lOS4uiAtYyDmj5DkvpvkuIDkuKrphY3nva7lrZfnrKbkuLJcbiIKIAotIzogZ2l0LmM6Mjc1CisjOiBnaXQuYzoyODgKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gZGlyZWN0b3J5IGdpdmVuIGZvciAtQ1xuIgogbXNnc3RyICLmsqHmnInkuLogLUMg5o+Q5L6b55uu5b2VXG4iCiAKLSM6IGdpdC5jOjMwMAorIzogZ2l0LmM6MzE0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVua25vd24gb3B0aW9uOiAlc1xuIgogbXNnc3RyICLmnKrnn6XpgInpobnvvJolc1xuIgogCi0jOiBnaXQuYzo3MTkKKyM6IGdpdC5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ3aGlsZSBleHBhbmRpbmcgYWxpYXMgJyVzJzogJyVzJyIKK21zZ3N0ciAi5Zyo5omp5bGV5Yir5ZCNICclcycg5pe277yaJyVzJyIKKworIzogZ2l0LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJhbGlhcyAnJXMnIGNoYW5nZXMgZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuIgorIllvdSBjYW4gdXNlICchZ2l0JyBpbiB0aGUgYWxpYXMgdG8gZG8gdGhpcyIKK21zZ3N0ciAiIgorIuWIq+WQjSAnJXMnIOS/ruaUueeOr+Wig+WPmOmHj+OAguaCqOWPr+S7peS9v+eUqOWcqOWIq+WQjeS4rVxuIgorIuS9v+eUqCAnIWdpdCciCisKKyM6IGdpdC5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJlbXB0eSBhbGlhcyBmb3IgJXMiCittc2dzdHIgIiVzIOeahOepuuWIq+WQjSIKKworIzogZ2l0LmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY3Vyc2l2ZSBhbGlhczogJXMiCittc2dzdHIgIumAkuW9kueahOWIq+WQje+8miVzIgorCisjOiBnaXQuYzo0NTkKK21zZ2lkICJ3cml0ZSBmYWlsdXJlIG9uIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAi5Zyo5qCH5YeG6L6T5Ye65YaZ5YWl5aSx6LSlIgorCisjOiBnaXQuYzo0NjEKK21zZ2lkICJ1bmtub3duIHdyaXRlIGZhaWx1cmUgb24gc3RhbmRhcmQgb3V0cHV0IgorbXNnc3RyICLliLDmoIflh4bovpPlh7rnmoTmnKrnn6XlhpnlhaXplJnor68iCisKKyM6IGdpdC5jOjQ2MworbXNnaWQgImNsb3NlIGZhaWxlZCBvbiBzdGFuZGFyZCBvdXRwdXQiCittc2dzdHIgIuagh+WHhui+k+WHuuWFs+mXreWksei0pSIKKworIzogZ2l0LmM6NzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImFsaWFzIGxvb3AgZGV0ZWN0ZWQ6IGV4cGFuc2lvbiBvZiAnJXMnIGRvZXMgbm90IHRlcm1pbmF0ZTolcyIKIG1zZ3N0ciAi5qOA5rWL5Yiw5Yir5ZCN5b6q546v77yaJyVzJ+eahOaJqeWxleacque7iOatou+8miVzIgogCi0jOiBnaXQuYzo4MDIKKyM6IGdpdC5jOjg0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgaGFuZGxlICVzIGFzIGEgYnVpbHRpbiIKK21zZ3N0ciAi5LiN6IO95L2c5Li65YaF572u5ZG95Luk5aSE55CGICVzIgorCisjOiBnaXQuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisi55So5rOV77yaJXNcbiIKKyJcbiIKKworIzogZ2l0LmM6ODc2CiAjLCBjLWZvcm1hdAogbXNnaWQgImV4cGFuc2lvbiBvZiBhbGlhcyAnJXMnIGZhaWxlZDsgJyVzJyBpcyBub3QgYSBnaXQgY29tbWFuZFxuIgogbXNnc3RyICLlsZXlvIDliKvlkI3lkb3ku6QgJyVzJyDlpLHotKXvvIwnJXMnIOS4jeaYr+S4gOS4qiBnaXQg5ZG95LukXG4iCiAKLSM6IGdpdC5jOjgxNAorIzogZ2l0LmM6ODg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBydW4gY29tbWFuZCAnJXMnOiAlc1xuIgogbXNnc3RyICLov5DooYzlkb3ku6QgJyVzJyDlpLHotKXvvJolc1xuIgogCi0jOiBodHRwLmM6Mzc0CisjOiBodHRwLmM6Mzc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5lZ2F0aXZlIHZhbHVlIGZvciBodHRwLnBvc3RidWZmZXI7IGRlZmF1bHRpbmcgdG8gJWQiCiBtc2dzdHIgImh0dHAucG9zdGJ1ZmZlciDkuLrotJ/lgLzvvIzpu5jorqTkuLogJWQiCiAKLSM6IGh0dHAuYzozOTUKKyM6IGh0dHAuYzozOTkKIG1zZ2lkICJEZWxlZ2F0aW9uIGNvbnRyb2wgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjIyLjAiCiBtc2dzdHIgIuS4jeaUr+aMgeWnlOaJmOaOp+WItu+8jOWboOS4uiBjVVJMIDwgNy4yMi4wIgogCi0jOiBodHRwLmM6NDA0CisjOiBodHRwLmM6NDA4CiBtc2dpZCAiUHVibGljIGtleSBwaW5uaW5nIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgogbXNnc3RyICLkuI3mlK/mjIHlhazpkqXmlofku7bplIHlrprvvIzlm6DkuLogY1VSTCA8IDcuNDQuMCIKIAotIzogaHR0cC5jOjgzNworIzogaHR0cC5jOjg3NgogbXNnaWQgIkNVUkxTU0xPUFRfTk9fUkVWT0tFIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy40NC4wIgogbXNnc3RyICLkuI3mlK/mjIEgQ1VSTFNTTE9QVF9OT19SRVZPS0XvvIzlm6DkuLogY1VSTCA8IDcuNDQuMCIKIAotIzogaHR0cC5jOjkxMAorIzogaHR0cC5jOjk0OQogbXNnaWQgIlByb3RvY29sIHJlc3RyaWN0aW9ucyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuMTkuNCIKIG1zZ3N0ciAi5LiN5pSv5oyB5Y2P6K6u6ZmQ5Yi277yM5Zug5Li6IGNVUkwgPCA3LjE5LjQiCiAKLSM6IGh0dHAuYzoxMDQ2CisjOiBodHRwLmM6MTA4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVbnN1cHBvcnRlZCBTU0wgYmFja2VuZCAnJXMnLiBTdXBwb3J0ZWQgU1NMIGJhY2tlbmRzOiIKIG1zZ3N0ciAi5LiN5pSv5oyB55qEIFNTTCDlkI7nq68gJyVzJ+OAguaUr+aMgeeahCBTU0wg5ZCO56uv77yaIgogCi0jOiBodHRwLmM6MTA1MworIzogaHR0cC5jOjEwOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IHNldCBTU0wgYmFja2VuZCB0byAnJXMnOiBjVVJMIHdhcyBidWlsdCB3aXRob3V0IFNTTCBiYWNrZW5kcyIKIG1zZ3N0ciAi5peg5rOV6K6+572uIFNTTCDlkI7nq6/kuLogJyVzJ++8mmNVUkw6IGNVUkwg5rKh5pyJ5L2/55SoIFNTTCDlkI7nq6/mnoTlu7oiCiAKLSM6IGh0dHAuYzoxMDU3CisjOiBodHRwLmM6MTA5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3Qgc2V0IFNTTCBiYWNrZW5kIHRvICclcyc6IGFscmVhZHkgc2V0IgogbXNnc3RyICLml6Dms5XlsIYgU1NMIOWQjuerr+iuvue9ruS4uiAnJXMn77ya5bey57uP6K6+572uIgogCi0jOiBodHRwLmM6MTkyMQorIzogaHR0cC5jOjE5NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInVuYWJsZSB0byB1cGRhdGUgdXJsIGJhc2UgZnJvbSByZWRpcmVjdGlvbjpcbiIKQEAgLTE4MzA3LDM5ICsyMTUyNiwxNzYgQEAKICIgICAgIOivt+axgu+8miVzXG4iCiAiICAg6YeN5a6a5ZCR77yaJXMiCiAKLSM6IHJlbW90ZS1jdXJsLmM6NDAxCisjOiByZW1vdGUtY3VybC5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHF1b3RpbmcgaW4gcHVzaC1vcHRpb24gdmFsdWU6ICclcyciCittc2dzdHIgIuWcqCBwdXNoLW9wdGlvbiDlj5blgLzkuK3ml6DmlYjnmoTlvJXlj7fvvJonJXMnIgorCisjOiByZW1vdGUtY3VybC5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICIlc2luZm8vcmVmcyBub3QgdmFsaWQ6IGlzIHRoaXMgYSBnaXQgcmVwb3NpdG9yeT8iCittc2dzdHIgIiVzaW5mby9yZWZzIOaXoOaViO+8mui/meaYr+S4gOS4qiBnaXQg5LuT5bqT5LmI77yfIgorCisjOiByZW1vdGUtY3VybC5jOjM2NAorbXNnaWQgImludmFsaWQgc2VydmVyIHJlc3BvbnNlOyBleHBlY3RlZCBzZXJ2aWNlLCBnb3QgZmx1c2ggcGFja2V0IgorbXNnc3RyICLml6DmlYjnmoTmnI3liqHnq6/lk43lupTjgILpooTmnJ/mnI3liqHvvIzlvpfliLAgZmx1c2gg5YyFIgorCisjOiByZW1vdGUtY3VybC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNlcnZlciByZXNwb25zZTsgZ290ICclcyciCittc2dzdHIgIuaXoOaViOeahOacjeWKoeerr+WTjeW6lO+8jOW+l+WIsCAnJXMnIgorCisjOiByZW1vdGUtY3VybC5jOjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZXBvc2l0b3J5ICclcycgbm90IGZvdW5kIgorbXNnc3RyICLku5PlupMgJyVzJyDmnKrmib7liLAiCisKKyM6IHJlbW90ZS1jdXJsLmM6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIkF1dGhlbnRpY2F0aW9uIGZhaWxlZCBmb3IgJyVzJyIKK21zZ3N0ciAiJyVzJyDpibTmnYPlpLHotKUiCisKKyM6IHJlbW90ZS1jdXJsLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhY2Nlc3MgJyVzJzogJXMiCittc2dzdHIgIuaXoOazleiuv+mXriAnJXMn77yaJXMiCisKKyM6IHJlbW90ZS1jdXJsLmM6NDY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZGlyZWN0aW5nIHRvICVzIgogbXNnc3RyICLph43lrprlkJHliLAgJXMiCiAKLSM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oOjYwCisjOiByZW1vdGUtY3VybC5jOjU5MworbXNnaWQgInNob3VsZG4ndCBoYXZlIEVPRiB3aGVuIG5vdCBnZW50bGUgb24gRU9GIgorbXNnc3RyICLlvZPmsqHmnInorr7nva7muKnlkozlpITnkIbmlofku7bnu5PmnZ/nrKbvvIhFT0bvvInml7bvvIzkuI3lupTor6XmnInmlofku7bnu5PmnZ/nrKYiCisKKyM6IHJlbW90ZS1jdXJsLmM6NjczCittc2dpZCAidW5hYmxlIHRvIHJld2luZCBycGMgcG9zdCBkYXRhIC0gdHJ5IGluY3JlYXNpbmcgaHR0cC5wb3N0QnVmZmVyIgorbXNnc3RyICLml6Dms5XlgJLlm54gcnBjIHBvc3Qg5pWw5o2uIC0g5bCd6K+V5aKe5YqgIGh0dHAucG9zdEJ1ZmZlciIKKworIzogcmVtb3RlLWN1cmwuYzo3MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUlBDIGZhaWxlZDsgJXMiCittc2dzdHIgIlJQQyDlpLHotKXjgIIlcyIKKworIzogcmVtb3RlLWN1cmwuYzo3NzMKK21zZ2lkICJjYW5ub3QgaGFuZGxlIHB1c2hlcyB0aGlzIGJpZyIKK21zZ3N0ciAi5LiN6IO95aSE55CG6L+Z5LmI5aSn55qE5o6o6YCBIgorCisjOiByZW1vdGUtY3VybC5jOjg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGVmbGF0ZSByZXF1ZXN0OyB6bGliIGRlZmxhdGUgZXJyb3IgJWQiCittc2dzdHIgIuS4jeiDveWOi+e8qeivt+axgu+8jHpsaWIg5Y6L57yp6ZSZ6K+vICVkIgorCisjOiByZW1vdGUtY3VybC5jOjg5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGVmbGF0ZSByZXF1ZXN0OyB6bGliIGVuZCBlcnJvciAlZCIKK21zZ3N0ciAi5LiN6IO95Y6L57yp6K+35rGC77yMemxpYiDnu5PmnZ/plJnor68gJWQiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTAyMworbXNnaWQgImR1bWIgaHR0cCB0cmFuc3BvcnQgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAi5ZORIGh0dHAg5Lyg6L6T5LiN5pSv5oyBIHNoYWxsbG93IOiDveWKmyIKKworIzogcmVtb3RlLWN1cmwuYzoxMDM3Cittc2dpZCAiZmV0Y2ggZmFpbGVkLiIKK21zZ3N0ciAi6I635Y+W5aSx6LSl44CCIgorCisjOiByZW1vdGUtY3VybC5jOjEwODUKK21zZ2lkICJjYW5ub3QgZmV0Y2ggYnkgc2hhMSBvdmVyIHNtYXJ0IGh0dHAiCittc2dzdHIgIuaXoOazlemAmui/h+aZuuiDvSBIVFRQIOiOt+WPliBzaGExIgorCisjOiByZW1vdGUtY3VybC5jOjExMjkgcmVtb3RlLWN1cmwuYzoxMTM1CisjLCBjLWZvcm1hdAorbXNnaWQgInByb3RvY29sIGVycm9yOiBleHBlY3RlZCBzaGEvcmVmLCBnb3QgJyVzJyIKK21zZ3N0ciAi5Y2P6K6u6ZSZ6K+v77ya5pyf5pybIHNoYS9yZWbvvIzljbTlvpfliLAgJyVzJyIKKworIzogcmVtb3RlLWN1cmwuYzoxMTQ3IHJlbW90ZS1jdXJsLmM6MTI2MQorIywgYy1mb3JtYXQKK21zZ2lkICJodHRwIHRyYW5zcG9ydCBkb2VzIG5vdCBzdXBwb3J0ICVzIgorbXNnc3RyICJodHRwIOS8oOi+k+WNj+iuruS4jeaUr+aMgSAlcyIKKworIzogcmVtb3RlLWN1cmwuYzoxMTgzCittc2dpZCAiZ2l0LWh0dHAtcHVzaCBmYWlsZWQiCittc2dzdHIgImdpdC1odHRwLXB1c2gg5aSx6LSlIgorCisjOiByZW1vdGUtY3VybC5jOjEzNjcKK21zZ2lkICJyZW1vdGUtY3VybDogdXNhZ2U6IGdpdCByZW1vdGUtY3VybCA8cmVtb3RlPiBbPHVybD5dIgorbXNnc3RyICJyZW1vdGUtY3VybO+8mueUqOazle+8mmdpdCByZW1vdGUtY3VybCA86L+c56iLPiBbPHVybD5dIgorCisjOiByZW1vdGUtY3VybC5jOjEzOTkKK21zZ2lkICJyZW1vdGUtY3VybDogZXJyb3IgcmVhZGluZyBjb21tYW5kIHN0cmVhbSBmcm9tIGdpdCIKK21zZ3N0ciAicmVtb3RlLWN1cmzvvJrplJnor6/or7vlj5bmnaXoh6ogZ2l0IOeahOWRveS7pOa1gSIKKworIzogcmVtb3RlLWN1cmwuYzoxNDA2Cittc2dpZCAicmVtb3RlLWN1cmw6IGZldGNoIGF0dGVtcHRlZCB3aXRob3V0IGEgbG9jYWwgcmVwbyIKK21zZ3N0ciAicmVtb3RlLWN1cmzvvJrlsJ3or5XmsqHmnInmnKzlnLDku5PlupPkuIvojrflj5YiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUtY3VybDogdW5rbm93biBjb21tYW5kICclcycgZnJvbSBnaXQiCittc2dzdHIgInJlbW90ZS1jdXJs77ya5pyq55+l55qE5p2l6IeqIGdpdCDnmoTlkb3ku6QgJyVzJyIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmg6ODUKIG1zZ2lkICJhcmdzIgogbXNnc3RyICLlj4LmlbAiCiAKLSM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oOjYxCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaDo4NgogbXNnaWQgIm9iamVjdCBmaWx0ZXJpbmciCiBtc2dzdHIgIuWvueixoei/h+a7pCIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjE1NAorIzogcGFyc2Utb3B0aW9ucy5oOjE4MwogbXNnaWQgImV4cGlyeS1kYXRlIgogbXNnc3RyICLliLDmnJ/ml7bpl7QiCiAKLSM6IHBhcnNlLW9wdGlvbnMuaDoxNjkKKyM6IHBhcnNlLW9wdGlvbnMuaDoxOTcKIG1zZ2lkICJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiCiBtc2dzdHIgIuepuuaTjeS9nO+8iOWQkeWQjuWFvOWuue+8iSIKIAotIzogcGFyc2Utb3B0aW9ucy5oOjI2MQorIzogcGFyc2Utb3B0aW9ucy5oOjMwOQogbXNnaWQgImJlIG1vcmUgdmVyYm9zZSIKIG1zZ3N0ciAi5pu05Yqg6K+m57uGIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjYzCisjOiBwYXJzZS1vcHRpb25zLmg6MzExCiBtc2dpZCAiYmUgbW9yZSBxdWlldCIKIG1zZ3N0ciAi5pu05Yqg5a6J6Z2ZIgogCi0jOiBwYXJzZS1vcHRpb25zLmg6MjY5CisjOiBwYXJzZS1vcHRpb25zLmg6MzE3CiBtc2dpZCAidXNlIDxuPiBkaWdpdHMgdG8gZGlzcGxheSBTSEEtMXMiCiBtc2dzdHIgIueUqCA8bj4g5L2N5pWw5a2X5pi+56S6IFNIQS0xIOWTiOW4jOWAvCIKIAorIzogcGFyc2Utb3B0aW9ucy5oOjMzNgorbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCittc2dzdHIgIuiuvue9ruWmguS9leWIoOmZpOaPkOS6pOivtOaYjumHjOeahOepuuagvOWSjCPms6jph4oiCisKKyM6IHBhcnNlLW9wdGlvbnMuaDozMzcKK21zZ2lkICJyZWFkIHBhdGhzcGVjIGZyb20gZmlsZSIKK21zZ3N0ciAi5LuO5paH5Lu26K+75Y+W6Lev5b6E6KGo6L6+5byPIgorCisjOiBwYXJzZS1vcHRpb25zLmg6MzM4Cittc2dpZCAiIgorIndpdGggLS1wYXRoc3BlYy1mcm9tLWZpbGUsIHBhdGhzcGVjIGVsZW1lbnRzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgorbXNnc3RyICLkvb/nlKggLS1wYXRoc3BlYy1mcm9tLWZpbGXvvIzot6/lvoTooajovr7lvI/nlKjnqbrlrZfnrKbliIbpmpQiCisKKyM6IHJlZi1maWx0ZXIuaDoxMDEKK21zZ2lkICJrZXkiCittc2dzdHIgImtleSIKKworIzogcmVmLWZpbHRlci5oOjEwMQorbXNnaWQgImZpZWxkIG5hbWUgdG8gc29ydCBvbiIKK21zZ3N0ciAi5o6S5bqP55qE5a2X5q615ZCNIgorCisjOiByZXJlcmUuaDo0NAorbXNnaWQgInVwZGF0ZSB0aGUgaW5kZXggd2l0aCByZXVzZWQgY29uZmxpY3QgcmVzb2x1dGlvbiBpZiBwb3NzaWJsZSIKK21zZ3N0ciAi5aaC5p6c5Y+v6IO977yM6YeN55So5Yay56qB6Kej5Yaz5pu05paw57Si5byVIgorCisjOiB3dC1zdGF0dXMuaDo2NworbXNnaWQgIkhFQUQgZGV0YWNoZWQgYXQgIgorbXNnc3RyICLlpLTmjIfpkojliIbnprvkuo4gIgorCisjOiB3dC1zdGF0dXMuaDo2OAorbXNnaWQgIkhFQUQgZGV0YWNoZWQgZnJvbSAiCittc2dzdHIgIuWktOaMh+mSiOWIhuemu+iHqiAiCisKICM6IGNvbW1hbmQtbGlzdC5oOjUwCiBtc2dpZCAiQWRkIGZpbGUgY29udGVudHMgdG8gdGhlIGluZGV4IgogbXNnc3RyICLmt7vliqDmlofku7blhoXlrrnoh7PntKLlvJUiCkBAIC0xODQyNiw3ICsyMTc4Miw3IEBACiAKICM6IGNvbW1hbmQtbGlzdC5oOjcxCiBtc2dpZCAiQ2xvbmUgYSByZXBvc2l0b3J5IGludG8gYSBuZXcgZGlyZWN0b3J5IgotbXNnc3RyICLlhYvpmobkuIDkuKrku5PlupPliLDkuIDkuKrmlrDnm67lvZUiCittc2dzdHIgIuWFi+mahuS7k+W6k+WIsOS4gOS4quaWsOebruW9lSIKIAogIzogY29tbWFuZC1saXN0Lmg6NzIKIG1zZ2lkICJEaXNwbGF5IGRhdGEgaW4gY29sdW1ucyIKQEAgLTE4NTQ2LDcgKzIxOTAyLDcgQEAKIAogIzogY29tbWFuZC1saXN0Lmg6MTAxCiBtc2dpZCAiRXh0cmFjdCBjb21taXQgSUQgZnJvbSBhbiBhcmNoaXZlIGNyZWF0ZWQgdXNpbmcgZ2l0LWFyY2hpdmUiCi1tc2dzdHIgIuS7jiBnaXQtYXJjaGl2ZSDliJvlu7rnmoTlvZLmoaPmlofku7bkuK3mj5Dlj5bmj5DkuqRJRCIKK21zZ3N0ciAi5LuOIGdpdC1hcmNoaXZlIOWIm+W7uueahOW9kuaho+aWh+S7tuS4reaPkOWPluaPkOS6pCBJRCIKIAogIzogY29tbWFuZC1saXN0Lmg6MTAyCiBtc2dpZCAiUHJpbnQgbGluZXMgbWF0Y2hpbmcgYSBwYXR0ZXJuIgpAQCAtMTg1NTgsNyArMjE5MTQsNyBAQAogCiAjOiBjb21tYW5kLWxpc3QuaDoxMDQKIG1zZ2lkICJDb21wdXRlIG9iamVjdCBJRCBhbmQgb3B0aW9uYWxseSBjcmVhdGVzIGEgYmxvYiBmcm9tIGEgZmlsZSIKLW1zZ3N0ciAi5LuO5LiA5Liq5paH5Lu26K6h566X5a+56LGhSUTvvIzlubblj6/ku6XliJvlu7ogYmxvYiDmlbDmja7lr7nosaEiCittc2dzdHIgIuS7juS4gOS4quaWh+S7tuiuoeeul+WvueixoSBJRO+8jOW5tuWPr+S7peWIm+W7uiBibG9iIOaVsOaNruWvueixoSIKIAogIzogY29tbWFuZC1saXN0Lmg6MTA1CiBtc2dpZCAiRGlzcGxheSBoZWxwIGluZm9ybWF0aW9uIGFib3V0IEdpdCIKQEAgLTE4NTkzLDcgKzIxOTQ5LDcgQEAKIG1zZ3N0ciAi5ZyoIGdpdHdlYiDkuK3ljbPml7bmtY/op4jmgqjnmoTlt6XkvZzku5PlupMiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjExMwotbXNnaWQgImFkZCBvciBwYXJzZSBzdHJ1Y3R1cmVkIGluZm9ybWF0aW9uIGluIGNvbW1pdCBtZXNzYWdlcyIKK21zZ2lkICJBZGQgb3IgcGFyc2Ugc3RydWN0dXJlZCBpbmZvcm1hdGlvbiBpbiBjb21taXQgbWVzc2FnZXMiCiBtc2dzdHIgIua3u+WKoOaIluino+aekOaPkOS6pOivtOaYjuS4reeahOe7k+aehOWMluS/oeaBryIKIAogIzogY29tbWFuZC1saXN0Lmg6MTE0CkBAIC0xODY5OSw3ICsyMjA1NSw3IEBACiAKICM6IGNvbW1hbmQtbGlzdC5oOjEzOQogbXNnaWQgIkNvbXB1dGUgdW5pcXVlIElEIGZvciBhIHBhdGNoIgotbXNnc3RyICLorqHnrpfkuIDkuKrooaXkuIHnmoTllK/kuIBJRCIKK21zZ3N0ciAi6K6h566X5LiA5Liq6KGl5LiB55qE5ZSv5LiAIElEIgogCiAjOiBjb21tYW5kLWxpc3QuaDoxNDAKIG1zZ2lkICJQcnVuZSBhbGwgdW5yZWFjaGFibGUgb2JqZWN0cyBmcm9tIHRoZSBvYmplY3QgZGF0YWJhc2UiCkBAIC0xODc2NiwyMjEgKzIyMTIyLDIzMyBAQAogbXNnc3RyICLph43nva7lvZPliY0gSEVBRCDliLDmjIflrprnirbmgIEiCiAKICM6IGNvbW1hbmQtbGlzdC5oOjE1NgorbXNnaWQgIlJlc3RvcmUgd29ya2luZyB0cmVlIGZpbGVzIgorbXNnc3RyICLmgaLlpI3lt6XkvZzljLrmlofku7YiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE1NwogbXNnaWQgIlJldmVydCBzb21lIGV4aXN0aW5nIGNvbW1pdHMiCiBtc2dzdHIgIuWbnumAgOS4gOS6m+eOsOWtmOaPkOS6pCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTU3CisjOiBjb21tYW5kLWxpc3QuaDoxNTgKIG1zZ2lkICJMaXN0cyBjb21taXQgb2JqZWN0cyBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIiCiBtc2dzdHIgIuaMieaXtumXtOmhuuW6j+WIl+WHuuaPkOS6pOWvueixoSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTU4CisjOiBjb21tYW5kLWxpc3QuaDoxNTkKIG1zZ2lkICJQaWNrIG91dCBhbmQgbWFzc2FnZSBwYXJhbWV0ZXJzIgogbXNnc3RyICLpgInlh7rlubblpITnkIblj4LmlbAiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE1OQorIzogY29tbWFuZC1saXN0Lmg6MTYwCiBtc2dpZCAiUmVtb3ZlIGZpbGVzIGZyb20gdGhlIHdvcmtpbmcgdHJlZSBhbmQgZnJvbSB0aGUgaW5kZXgiCiBtc2dzdHIgIuS7juW3peS9nOWMuuWSjOe0ouW8leS4reWIoOmZpOaWh+S7tiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTYwCisjOiBjb21tYW5kLWxpc3QuaDoxNjEKIG1zZ2lkICJTZW5kIGEgY29sbGVjdGlvbiBvZiBwYXRjaGVzIGFzIGVtYWlscyIKIG1zZ3N0ciAi6YCa6L+H55S15a2Q6YKu5Lu25Y+R6YCB5LiA57uE6KGl5LiBIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjEKKyM6IGNvbW1hbmQtbGlzdC5oOjE2MgogbXNnaWQgIlB1c2ggb2JqZWN0cyBvdmVyIEdpdCBwcm90b2NvbCB0byBhbm90aGVyIHJlcG9zaXRvcnkiCiBtc2dzdHIgIuS9v+eUqCBHaXQg5Y2P6K6u5o6o6YCB5a+56LGh5Yiw5Y+m5LiA5Liq5LuT5bqTIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjIKKyM6IGNvbW1hbmQtbGlzdC5oOjE2MwogbXNnaWQgIlJlc3RyaWN0ZWQgbG9naW4gc2hlbGwgZm9yIEdpdC1vbmx5IFNTSCBhY2Nlc3MiCiBtc2dzdHIgIuWPquWFgeiuuCBHaXQgU1NIIOiuv+mXrueahOWPl+mZkOeZu+W9lXNoZWxsIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjMKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NAogbXNnaWQgIlN1bW1hcml6ZSAnZ2l0IGxvZycgb3V0cHV0IgogbXNnc3RyICInZ2l0IGxvZycg6L6T5Ye65pGY6KaBIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjQKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NQogbXNnaWQgIlNob3cgdmFyaW91cyB0eXBlcyBvZiBvYmplY3RzIgogbXNnc3RyICLmmL7npLrlkITnp43nsbvlnovnmoTlr7nosaEiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2NQorIzogY29tbWFuZC1saXN0Lmg6MTY2CiBtc2dpZCAiU2hvdyBicmFuY2hlcyBhbmQgdGhlaXIgY29tbWl0cyIKIG1zZ3N0ciAi5pi+56S65YiG5pSv5ZKM5o+Q5LqkIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNjYKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NwogbXNnaWQgIlNob3cgcGFja2VkIGFyY2hpdmUgaW5kZXgiCiBtc2dzdHIgIuaYvuekuuaJk+WMheW9kuaho+e0ouW8lSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTY3CisjOiBjb21tYW5kLWxpc3QuaDoxNjgKIG1zZ2lkICJMaXN0IHJlZmVyZW5jZXMgaW4gYSBsb2NhbCByZXBvc2l0b3J5IgogbXNnc3RyICLmmL7npLrmnKzlnLDku5PlupPkuK3nmoTlvJXnlKgiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2OAorIzogY29tbWFuZC1saXN0Lmg6MTY5CiBtc2dpZCAiR2l0J3MgaTE4biBzZXR1cCBjb2RlIGZvciBzaGVsbCBzY3JpcHRzIgogbXNnc3RyICLkuLogc2hlbGwg6ISa5pys5YeG5aSH55qEIEdpdCDlm73pmYXljJborr7nva7ku6PnoIEiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE2OQorIzogY29tbWFuZC1saXN0Lmg6MTcwCiBtc2dpZCAiQ29tbW9uIEdpdCBzaGVsbCBzY3JpcHQgc2V0dXAgY29kZSIKIG1zZ3N0ciAi5bi455So55qEIEdpdCBzaGVsbCDohJrmnKzorr7nva7ku6PnoIEiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3MAorIzogY29tbWFuZC1saXN0Lmg6MTcxCittc2dpZCAiSW5pdGlhbGl6ZSBhbmQgbW9kaWZ5IHRoZSBzcGFyc2UtY2hlY2tvdXQiCittc2dzdHIgIuWIneWni+WMluWPiuS/ruaUueeogOeWj+ajgOWHuiIKKworIzogY29tbWFuZC1saXN0Lmg6MTcyCiBtc2dpZCAiU3Rhc2ggdGhlIGNoYW5nZXMgaW4gYSBkaXJ0eSB3b3JraW5nIGRpcmVjdG9yeSBhd2F5IgogbXNnc3RyICLotK7ol4/ohI/lt6XkvZzljLrkuK3nmoTkv67mlLkiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE3MQorIzogY29tbWFuZC1saXN0Lmg6MTczCiBtc2dpZCAiQWRkIGZpbGUgY29udGVudHMgdG8gdGhlIHN0YWdpbmcgYXJlYSIKIG1zZ3N0ciAi5bCG5paH5Lu25YaF5a655re75Yqg5Yiw57Si5byVIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzIKKyM6IGNvbW1hbmQtbGlzdC5oOjE3NAogbXNnaWQgIlNob3cgdGhlIHdvcmtpbmcgdHJlZSBzdGF0dXMiCiBtc2dzdHIgIuaYvuekuuW3peS9nOWMuueKtuaAgSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTczCisjOiBjb21tYW5kLWxpc3QuaDoxNzUKIG1zZ2lkICJSZW1vdmUgdW5uZWNlc3Nhcnkgd2hpdGVzcGFjZSIKIG1zZ3N0ciAi5Yig6Zmk5LiN5b+F6KaB55qE56m655m95a2X56ymIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzQKKyM6IGNvbW1hbmQtbGlzdC5oOjE3NgogbXNnaWQgIkluaXRpYWxpemUsIHVwZGF0ZSBvciBpbnNwZWN0IHN1Ym1vZHVsZXMiCiBtc2dzdHIgIuWIneWni+WMluOAgeabtOaWsOaIluajgOafpeWtkOaooee7hCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTc1CisjOiBjb21tYW5kLWxpc3QuaDoxNzcKIG1zZ2lkICJCaWRpcmVjdGlvbmFsIG9wZXJhdGlvbiBiZXR3ZWVuIGEgU3VidmVyc2lvbiByZXBvc2l0b3J5IGFuZCBHaXQiCiBtc2dzdHIgIlN1YmVyc2lvbiDku5PlupPlkowgR2l0IOS5i+mXtOeahOWPjOWQkeaTjeS9nCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTc2CisjOiBjb21tYW5kLWxpc3QuaDoxNzgKK21zZ2lkICJTd2l0Y2ggYnJhbmNoZXMiCittc2dzdHIgIuWIh+aNouWIhuaUryIKKworIzogY29tbWFuZC1saXN0Lmg6MTc5CiBtc2dpZCAiUmVhZCwgbW9kaWZ5IGFuZCBkZWxldGUgc3ltYm9saWMgcmVmcyIKIG1zZ3N0ciAi6K+75Y+W44CB5L+u5pS55ZKM5Yig6Zmk56ym5Y+35byV55SoIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzcKKyM6IGNvbW1hbmQtbGlzdC5oOjE4MAogbXNnaWQgIkNyZWF0ZSwgbGlzdCwgZGVsZXRlIG9yIHZlcmlmeSBhIHRhZyBvYmplY3Qgc2lnbmVkIHdpdGggR1BHIgogbXNnc3RyICLliJvlu7rjgIHliJflh7rjgIHliKDpmaTmiJbmoKHpqozkuIDkuKogR1BHIOetvuWQjeeahOagh+etvuWvueixoSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTc4CisjOiBjb21tYW5kLWxpc3QuaDoxODEKIG1zZ2lkICJDcmVhdGVzIGEgdGVtcG9yYXJ5IGZpbGUgd2l0aCBhIGJsb2IncyBjb250ZW50cyIKIG1zZ3N0ciAi55SoIGJsb2Ig5pWw5o2u5a+56LGh55qE5YaF5a655Yib5bu65LiA5Liq5Li05pe25paH5Lu2IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxNzkKKyM6IGNvbW1hbmQtbGlzdC5oOjE4MgogbXNnaWQgIlVucGFjayBvYmplY3RzIGZyb20gYSBwYWNrZWQgYXJjaGl2ZSIKIG1zZ3N0ciAi5LuO5omT5YyF5paH5Lu25Lit6Kej5Y6L57yp5a+56LGhIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODAKKyM6IGNvbW1hbmQtbGlzdC5oOjE4MwogbXNnaWQgIlJlZ2lzdGVyIGZpbGUgY29udGVudHMgaW4gdGhlIHdvcmtpbmcgdHJlZSB0byB0aGUgaW5kZXgiCiBtc2dzdHIgIuWwhuW3peS9nOWMuueahOaWh+S7tuWGheWuueazqOWGjOWIsOe0ouW8lSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTgxCisjOiBjb21tYW5kLWxpc3QuaDoxODQKIG1zZ2lkICJVcGRhdGUgdGhlIG9iamVjdCBuYW1lIHN0b3JlZCBpbiBhIHJlZiBzYWZlbHkiCiBtc2dzdHIgIuWuieWFqOWcsOabtOaWsOWtmOWCqOS6juW8leeUqOS4reeahOWvueixoeWQjeensCIKIAotIzogY29tbWFuZC1saXN0Lmg6MTgyCisjOiBjb21tYW5kLWxpc3QuaDoxODUKIG1zZ2lkICJVcGRhdGUgYXV4aWxpYXJ5IGluZm8gZmlsZSB0byBoZWxwIGR1bWIgc2VydmVycyIKIG1zZ3N0ciAi5pu05paw6L6F5Yqp5L+h5oGv5paH5Lu25Lul5biu5Yqp5ZOR5Y2P6K6u5pyN5YqhIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxODMKKyM6IGNvbW1hbmQtbGlzdC5oOjE4NgogbXNnaWQgIlNlbmQgYXJjaGl2ZSBiYWNrIHRvIGdpdC1hcmNoaXZlIgogbXNnc3RyICLlsIblrZjmoaPlj5HpgIHlm54gZ2l0LWFyY2hpdmUiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4NAorIzogY29tbWFuZC1saXN0Lmg6MTg3CiBtc2dpZCAiU2VuZCBvYmplY3RzIHBhY2tlZCBiYWNrIHRvIGdpdC1mZXRjaC1wYWNrIgogbXNnc3RyICLlsIblr7nosaHljovnvKnljIXlj5HpgIHlm54gZ2l0LWZldGNoLXBhY2siCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4NQorIzogY29tbWFuZC1saXN0Lmg6MTg4CiBtc2dpZCAiU2hvdyBhIEdpdCBsb2dpY2FsIHZhcmlhYmxlIgogbXNnc3RyICLmmL7npLrkuIDkuKpHaXTpgLvovpHlj5jph48iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4NgorIzogY29tbWFuZC1saXN0Lmg6MTg5CiBtc2dpZCAiQ2hlY2sgdGhlIEdQRyBzaWduYXR1cmUgb2YgY29tbWl0cyIKIG1zZ3N0ciAi5qOA5p+lIEdQRyDmj5DkuqTnrb7lkI0iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4NworIzogY29tbWFuZC1saXN0Lmg6MTkwCiBtc2dpZCAiVmFsaWRhdGUgcGFja2VkIEdpdCBhcmNoaXZlIGZpbGVzIgogbXNnc3RyICLmoKHpqozmiZPljIXnmoRHaXTlrZjku5Pmlofku7YiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4OAorIzogY29tbWFuZC1saXN0Lmg6MTkxCiBtc2dpZCAiQ2hlY2sgdGhlIEdQRyBzaWduYXR1cmUgb2YgdGFncyIKIG1zZ3N0ciAi5qOA5p+l5qCH562+55qEIEdQRyDnrb7lkI0iCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE4OQorIzogY29tbWFuZC1saXN0Lmg6MTkyCiBtc2dpZCAiR2l0IHdlYiBpbnRlcmZhY2UgKHdlYiBmcm9udGVuZCB0byBHaXQgcmVwb3NpdG9yaWVzKSIKIG1zZ3N0ciAiR2l0IHdlYiDnlYzpnaLvvIhHaXQg5LuT5bqT55qEIHdlYiDliY3nq6/vvIkiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5MAorIzogY29tbWFuZC1saXN0Lmg6MTkzCiBtc2dpZCAiU2hvdyBsb2dzIHdpdGggZGlmZmVyZW5jZSBlYWNoIGNvbW1pdCBpbnRyb2R1Y2VzIgogbXNnc3RyICLmmL7npLrmr4/kuIDkuKrmj5DkuqTlvJXlhaXnmoTlt67lvILml6Xlv5ciCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5MQorIzogY29tbWFuZC1saXN0Lmg6MTk0CiBtc2dpZCAiTWFuYWdlIG11bHRpcGxlIHdvcmtpbmcgdHJlZXMiCiBtc2dzdHIgIueuoeeQhuWkmuS4quW3peS9nOWMuiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTkyCisjOiBjb21tYW5kLWxpc3QuaDoxOTUKIG1zZ2lkICJDcmVhdGUgYSB0cmVlIG9iamVjdCBmcm9tIHRoZSBjdXJyZW50IGluZGV4IgogbXNnc3RyICLku47lvZPliY3ntKLlvJXliJvlu7rkuIDkuKrmoJHlr7nosaEiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjE5MworIzogY29tbWFuZC1saXN0Lmg6MTk2CiBtc2dpZCAiRGVmaW5pbmcgYXR0cmlidXRlcyBwZXIgcGF0aCIKIG1zZ3N0ciAi5a6a5LmJ6Lev5b6E55qE5bGe5oCnIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTQKKyM6IGNvbW1hbmQtbGlzdC5oOjE5NwogbXNnaWQgIkdpdCBjb21tYW5kLWxpbmUgaW50ZXJmYWNlIGFuZCBjb252ZW50aW9ucyIKIG1zZ3N0ciAiR2l0IOWRveS7pOihjOeVjOmdouWSjOe6puWumiIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk1CisjOiBjb21tYW5kLWxpc3QuaDoxOTgKIG1zZ2lkICJBIEdpdCBjb3JlIHR1dG9yaWFsIGZvciBkZXZlbG9wZXJzIgogbXNnc3RyICLpnaLlkJHlvIDlj5HkurrlkZjnmoQgR2l0IOaguOW/g+aVmeeoiyIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk2CisjOiBjb21tYW5kLWxpc3QuaDoxOTkKIG1zZ2lkICJHaXQgZm9yIENWUyB1c2VycyIKIG1zZ3N0ciAi6YCC5ZCIIENWUyDnlKjmiLfnmoQgR2l0IOW4ruWKqSIKIAotIzogY29tbWFuZC1saXN0Lmg6MTk3CisjOiBjb21tYW5kLWxpc3QuaDoyMDAKIG1zZ2lkICJUd2Vha2luZyBkaWZmIG91dHB1dCIKIG1zZ3N0ciAi6LCD5pW05beu5byC6L6T5Ye6IgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTgKKyM6IGNvbW1hbmQtbGlzdC5oOjIwMQogbXNnaWQgIkEgdXNlZnVsIG1pbmltdW0gc2V0IG9mIGNvbW1hbmRzIGZvciBFdmVyeWRheSBHaXQiCiBtc2dzdHIgIuavj+S4gOWkqSBHaXQg55qE5LiA57uE5pyJ55So55qE5pyA5bCP5ZG95Luk6ZuG5ZCIIgogCi0jOiBjb21tYW5kLWxpc3QuaDoxOTkKKyM6IGNvbW1hbmQtbGlzdC5oOjIwMgogbXNnaWQgIkEgR2l0IEdsb3NzYXJ5IgogbXNnc3RyICJHaXQg6K+N5rGH6KGoIgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDAKKyM6IGNvbW1hbmQtbGlzdC5oOjIwMwogbXNnaWQgIkhvb2tzIHVzZWQgYnkgR2l0IgogbXNnc3RyICJHaXQg5L2/55So55qE6ZKp5a2QIgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDEKKyM6IGNvbW1hbmQtbGlzdC5oOjIwNAogbXNnaWQgIlNwZWNpZmllcyBpbnRlbnRpb25hbGx5IHVudHJhY2tlZCBmaWxlcyB0byBpZ25vcmUiCiBtc2dzdHIgIuW/veeVpeaMh+WumueahOacqui3n+i4quaWh+S7tiIKIAotIzogY29tbWFuZC1saXN0Lmg6MjAyCisjOiBjb21tYW5kLWxpc3QuaDoyMDUKIG1zZ2lkICJEZWZpbmluZyBzdWJtb2R1bGUgcHJvcGVydGllcyIKIG1zZ3N0ciAi5a6a5LmJ5a2Q5qih57uE5bGe5oCnIgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDMKKyM6IGNvbW1hbmQtbGlzdC5oOjIwNgogbXNnaWQgIkdpdCBuYW1lc3BhY2VzIgogbXNnc3RyICJHaXQg5ZCN5a2X56m66Ze0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDQKKyM6IGNvbW1hbmQtbGlzdC5oOjIwNwogbXNnaWQgIkdpdCBSZXBvc2l0b3J5IExheW91dCIKIG1zZ3N0ciAiR2l0IOS7k+W6k+W4g+WxgCIKIAotIzogY29tbWFuZC1saXN0Lmg6MjA1CisjOiBjb21tYW5kLWxpc3QuaDoyMDgKIG1zZ2lkICJTcGVjaWZ5aW5nIHJldmlzaW9ucyBhbmQgcmFuZ2VzIGZvciBHaXQiCiBtc2dzdHIgIuaMh+WumiBHaXQg55qE54mI5pys5ZKM54mI5pys6IyD5Zu0IgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDYKKyM6IGNvbW1hbmQtbGlzdC5oOjIwOQorbXNnaWQgIk1vdW50aW5nIG9uZSByZXBvc2l0b3J5IGluc2lkZSBhbm90aGVyIgorbXNnc3RyICLlsIbkuIDkuKrku5PlupPlronoo4XliLDlj6blpJbkuIDkuKrku5PlupPkuK0iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjIxMAogbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdDogcGFydCB0d28iCiBtc2dzdHIgIuS4gOS4qiBHaXQg5pWZ56iL77ya56ys5LqM6YOo5YiGIgogCi0jOiBjb21tYW5kLWxpc3QuaDoyMDcKKyM6IGNvbW1hbmQtbGlzdC5oOjIxMQogbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdCIKIG1zZ3N0ciAi5LiA5LiqIEdpdCDmlZnnqIsiCiAKLSM6IGNvbW1hbmQtbGlzdC5oOjIwOAorIzogY29tbWFuZC1saXN0Lmg6MjEyCiBtc2dpZCAiQW4gb3ZlcnZpZXcgb2YgcmVjb21tZW5kZWQgd29ya2Zsb3dzIHdpdGggR2l0IgogbXNnc3RyICJHaXQg5o6o6I2Q55qE5bel5L2c5rWB5qaC6KeIIgogCi0jOiByZXJlcmUuaDo0NAotbXNnaWQgInVwZGF0ZSB0aGUgaW5kZXggd2l0aCByZXVzZWQgY29uZmxpY3QgcmVzb2x1dGlvbiBpZiBwb3NzaWJsZSIKLW1zZ3N0ciAi5aaC5p6c5Y+v6IO977yM6YeN55So5Yay56qB6Kej5Yaz5pu05paw57Si5byVIgotCiAjOiBnaXQtYmlzZWN0LnNoOjU0CiBtc2dpZCAiWW91IG5lZWQgdG8gc3RhcnQgYnkgXCJnaXQgYmlzZWN0IHN0YXJ0XCIiCiBtc2dzdHIgIuaCqOmcgOimgeaJp+ihjCBcImdpdCBiaXNlY3Qgc3RhcnRcIiDmnaXlvIDlp4siCkBAIC0xODk5MywxMzMgKzIyMzYxLDQ5IEBACiBtc2dpZCAiRG8geW91IHdhbnQgbWUgdG8gZG8gaXQgZm9yIHlvdSBbWS9uXT8gIgogbXNnc3RyICLmgqjmg7PorqnmiJHkuLrmgqjov5nmoLflgZrkuYhbWS9uXe+8nyAiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MTIxCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJ1bnJlY29nbmlzZWQgb3B0aW9uOiAnJGFyZyciCi1tc2dzdHIgIuacquiDveivhuWIq+eahOmAiemhue+8mickYXJnJyIKLQotIzogZ2l0LWJpc2VjdC5zaDoxMjUKLSMsIHNoLWZvcm1hdAotbXNnaWQgIickYXJnJyBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYSB2YWxpZCByZXZpc2lvbiIKLW1zZ3N0ciAiJyRhcmcnIOeci+i1t+adpeS4jeWDj+aYr+S4gOS4quacieaViOeahOeJiOacrCIKLQotIzogZ2l0LWJpc2VjdC5zaDoxNTQKLW1zZ2lkICJCYWQgSEVBRCAtIEkgbmVlZCBhIEhFQUQiCi1tc2dzdHIgIuWdj+eahCBIRUFEIC0g5oiR6ZyA6KaB5LiA5LiqIEhFQUQiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTY3Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iQ2hlY2tpbmcgb3V0ICckc3RhcnRfaGVhZCcgZmFpbGVkLiBUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPHZhbGlkLWJyYW5jaD4nLiIKLW1zZ3N0ciAi5qOA5Ye6ICckc3RhcnRfaGVhZCcg5aSx6LSl44CC5bCd6K+VICdnaXQgYmlzZWN0IHJlc2V0IDzmnInmlYjliIbmlK8+J+OAgiIKLQotIzogZ2l0LWJpc2VjdC5zaDoxNzcKLW1zZ2lkICJ3b24ndCBiaXNlY3Qgb24gY2ctc2VlaydlZCB0cmVlIgotbXNnc3RyICLkuI3kvJrlnKjlgZrkuoYgY2ctc2VlayDnmoTmoJHkuIrlgZrkuozliIbmn6Xmib4iCi0KLSM6IGdpdC1iaXNlY3Quc2g6MTgxCi1tc2dpZCAiQmFkIEhFQUQgLSBzdHJhbmdlIHN5bWJvbGljIHJlZiIKLW1zZ3N0ciAi5Z2P55qEIEhFQUQgLSDlpYfmgKrnmoTnrKblj7flvJXnlKgiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MjMzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJCYWQgYmlzZWN0X3dyaXRlIGFyZ3VtZW50OiAkc3RhdGUiCi1tc2dzdHIgIuWdj+eahCBiaXNlY3Rfd3JpdGUg5Y+C5pWw77yaJHN0YXRlIgotCi0jOiBnaXQtYmlzZWN0LnNoOjI0NgorIzogZ2l0LWJpc2VjdC5zaDoxMDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRhcmciCiBtc2dzdHIgIuWdj+eahOi+k+WFpeeJiOacrO+8miRhcmciCiAKLSM6IGdpdC1iaXNlY3Quc2g6MjY1CisjOiBnaXQtYmlzZWN0LnNoOjEyMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiQmFkIHJldiBpbnB1dDogJGJpc2VjdGVkX2hlYWQiCiBtc2dzdHIgIuWdj+eahOi+k+WFpeeJiOacrO+8miRiaXNlY3RlZF9oZWFkIgogCi0jOiBnaXQtYmlzZWN0LnNoOjI3NAorIzogZ2l0LWJpc2VjdC5zaDoxMzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRyZXYiCiBtc2dzdHIgIuWdj+eahOi+k+WFpeeJiOacrO+8miRyZXYiCiAKLSM6IGdpdC1iaXNlY3Quc2g6MjgzCisjOiBnaXQtYmlzZWN0LnNoOjEzOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJ2dpdCBiaXNlY3QgJFRFUk1fQkFEJyBjYW4gdGFrZSBvbmx5IG9uZSBhcmd1bWVudC4iCiBtc2dzdHIgIidnaXQgYmlzZWN0ICRURVJNX0JBRCcg5Y+q6IO95bim5LiA5Liq5Y+C5pWw44CCIgogCi0jOiBnaXQtYmlzZWN0LnNoOjMwNgotIywgc2gtZm9ybWF0Ci1tc2dpZCAiV2FybmluZzogYmlzZWN0aW5nIG9ubHkgd2l0aCBhICRURVJNX0JBRCBjb21taXQuIgotbXNnc3RyICLorablkYrvvJrlnKjku4XmnInkuIDkuKrlnY/vvIgkVEVSTV9CQUTvvInmj5DkuqTkuIvov5vooYzkuozliIbmn6Xmib7jgIIiCi0KLSMgIOivkeiAhe+8muazqOaEj+S/neaMgeWPpeWwvuepuuagvAotIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtZXSBhbmQgW25dIGluIHlvdXIKLSMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKLSMuIGF0IHRoaXMgcG9pbnQuCi0jOiBnaXQtYmlzZWN0LnNoOjMxMgotbXNnaWQgIkFyZSB5b3Ugc3VyZSBbWS9uXT8gIgotbXNnc3RyICLmgqjnoa7orqTkuYhbWS9uXe+8nyAiCi0KLSM6IGdpdC1iaXNlY3Quc2g6MzI0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iWW91IG5lZWQgdG8gZ2l2ZSBtZSBhdCBsZWFzdCBvbmUgJGJhZF9zeW4gYW5kIG9uZSAkZ29vZF9zeW4gcmV2aXNpb24uXG4iCi0iKFlvdSBjYW4gdXNlIFwiZ2l0IGJpc2VjdCAkYmFkX3N5blwiIGFuZCBcImdpdCBiaXNlY3QgJGdvb2Rfc3luXCIgZm9yIHRoYXQuKSIKLW1zZ3N0ciAiIgotIuaCqOmcgOimgee7meaIkeiHs+WwkeS4gOS4quWlveeJiOacrOWSjOS4gOS4quWdj+eJiOacrOOAglxuIgotIu+8iOS4uuatpOaCqOWPr+S7peeUqCBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiDlkowgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiIOWRveS7pOOAgu+8iSIKLQotIzogZ2l0LWJpc2VjdC5zaDozMjcKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJZb3UgbmVlZCB0byBzdGFydCBieSBcImdpdCBiaXNlY3Qgc3RhcnRcIi5cbiIKLSJZb3UgdGhlbiBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICRnb29kX3N5biBhbmQgb25lICRiYWRfc3luIHJldmlzaW9uLlxuIgotIihZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJGJhZF9zeW5cIiBhbmQgXCJnaXQgYmlzZWN0ICRnb29kX3N5blwiIGZvciB0aGF0LikiCi1tc2dzdHIgIiIKLSLmgqjpnIDopoHmiafooYwgXCJnaXQgYmlzZWN0IHN0YXJ0XCIg5p2l5byA5aeL44CCXG4iCi0i54S25ZCO6ZyA6KaB5o+Q5L6b5oiR6Iez5bCR5LiA5Liq5aW954mI5pys5ZKM5LiA5Liq5Z2P54mI5pys44CCXG4iCi0i77yI5Li65q2k5oKo5Y+v5Lul55SoIFwiZ2l0IGJpc2VjdCAkYmFkX3N5blwiIOWSjCBcImdpdCBiaXNlY3QgJGdvb2Rfc3luXCIg5ZG95Luk44CC77yJIgotCi0jOiBnaXQtYmlzZWN0LnNoOjM5OCBnaXQtYmlzZWN0LnNoOjUxMgotbXNnaWQgIldlIGFyZSBub3QgYmlzZWN0aW5nLiIKLW1zZ3N0ciAi5oiR5Lus5rKh5pyJ5Zyo5LqM5YiG5p+l5om+44CCIgotCi0jOiBnaXQtYmlzZWN0LnNoOjQwNQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiJyRpbnZhbGlkJyBpcyBub3QgYSB2YWxpZCBjb21taXQiCi1tc2dzdHIgIickaW52YWxpZCcg5LiN5piv5LiA5Liq5pyJ5pWI55qE5o+Q5LqkIgotCi0jOiBnaXQtYmlzZWN0LnNoOjQxNAotIywgc2gtZm9ybWF0Ci1tc2dpZCAiIgotIkNvdWxkIG5vdCBjaGVjayBvdXQgb3JpZ2luYWwgSEVBRCAnJGJyYW5jaCcuXG4iCi0iVHJ5ICdnaXQgYmlzZWN0IHJlc2V0IDxjb21taXQ+Jy4iCi1tc2dzdHIgIiIKLSLkuI3og73mo4Dlh7rljp/lp4sgSEVBRCAnJGJyYW5jaCfjgIJcbiIKLSLlsJ3or5UgJ2dpdCBiaXNlY3QgcmVzZXQgPOaPkOS6pD4n44CCIgotCi0jOiBnaXQtYmlzZWN0LnNoOjQyMgorIzogZ2l0LWJpc2VjdC5zaDoyMDkKIG1zZ2lkICJObyBsb2dmaWxlIGdpdmVuIgogbXNnc3RyICLmnKrmj5Dkvpvml6Xlv5fmlofku7YiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDIzCisjOiBnaXQtYmlzZWN0LnNoOjIxMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlYWQgJGZpbGUgZm9yIHJlcGxheWluZyIKIG1zZ3N0ciAi5LiN6IO96K+75Y+WICRmaWxlIOadpemHjeaUviIKIAotIzogZ2l0LWJpc2VjdC5zaDo0NDQKKyM6IGdpdC1iaXNlY3Quc2g6MjMyCiBtc2dpZCAiPz8gd2hhdCBhcmUgeW91IHRhbGtpbmcgYWJvdXQ/IgogbXNnc3RyICI/PyDmgqjlnKjor7Tku4DkuYg/IgogCi0jOiBnaXQtYmlzZWN0LnNoOjQ1MworIzogZ2l0LWJpc2VjdC5zaDoyNDEKIG1zZ2lkICJiaXNlY3QgcnVuIGZhaWxlZDogbm8gY29tbWFuZCBwcm92aWRlZC4iCiBtc2dzdHIgIuS6jOWIhuafpeaJvui/kOihjOWksei0pe+8muayoeacieaPkOS+m+WRveS7pOOAgiIKIAotIzogZ2l0LWJpc2VjdC5zaDo0NTgKKyM6IGdpdC1iaXNlY3Quc2g6MjQ2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJydW5uaW5nICRjb21tYW5kIgogbXNnc3RyICLov5DooYwgJGNvbW1hbmQiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NDY1CisjOiBnaXQtYmlzZWN0LnNoOjI1MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogImJpc2VjdCBydW4gZmFpbGVkOlxuIgpAQCAtMTkxMjgsMTEgKzIyNDEyLDExIEBACiAi5LqM5YiG5p+l5om+6L+Q6KGM5aSx6LSl77yaXG4iCiAi5ZG95LukICckY29tbWFuZCcg55qE6YCA5Ye656CBICRyZXMg5bCP5LqOIDAg5oiW5aSn5LqO562J5LqOIDEyOCIKIAotIzogZ2l0LWJpc2VjdC5zaDo0OTEKKyM6IGdpdC1iaXNlY3Quc2g6Mjc5CiBtc2dpZCAiYmlzZWN0IHJ1biBjYW5ub3QgY29udGludWUgYW55IG1vcmUiCiBtc2dzdHIgIuS6jOWIhuafpeaJvuS4jeiDvee7p+e7rei/kOihjCIKIAotIzogZ2l0LWJpc2VjdC5zaDo0OTcKKyM6IGdpdC1iaXNlY3Quc2g6Mjg1CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiYmlzZWN0IHJ1biBmYWlsZWQ6XG4iCkBAIC0xOTE0MSwyNyArMjI0MjUsMTMgQEAKICLkuozliIbmn6Xmib7ov5DooYzlpLHotKXvvJpcbiIKICInYmlzZWN0X3N0YXRlICRzdGF0ZScg6YCA5Ye656CB5Li6ICRyZXMiCiAKLSM6IGdpdC1iaXNlY3Quc2g6NTA0CisjOiBnaXQtYmlzZWN0LnNoOjI5MgogbXNnaWQgImJpc2VjdCBydW4gc3VjY2VzcyIKIG1zZ3N0ciAi5LqM5YiG5p+l5om+6L+Q6KGM5oiQ5YqfIgogCi0jOiBnaXQtYmlzZWN0LnNoOjUzMwotIywgc2gtZm9ybWF0Ci1tc2dpZCAiSW52YWxpZCBjb21tYW5kOiB5b3UncmUgY3VycmVudGx5IGluIGEgJFRFUk1fQkFELyRURVJNX0dPT0QgYmlzZWN0LiIKLW1zZ3N0ciAi5peg5pWI55qE5ZG95Luk77ya5oKo5b2T5YmN5q2j5aSE5LqO5LiA5LiqICRURVJNX0JBRC8kVEVSTV9HT09EIOS6jOWIhuafpeaJvuOAgiIKLQotIzogZ2l0LWJpc2VjdC5zaDo1NjcKLW1zZ2lkICJubyB0ZXJtcyBkZWZpbmVkIgotbXNnc3RyICLmnKrlrprkuYnmnK/or60iCi0KLSM6IGdpdC1iaXNlY3Quc2g6NTg0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICIiCi0iaW52YWxpZCBhcmd1bWVudCAkYXJnIGZvciAnZ2l0IGJpc2VjdCB0ZXJtcycuXG4iCi0iU3VwcG9ydGVkIG9wdGlvbnMgYXJlOiAtLXRlcm0tZ29vZHwtLXRlcm0tb2xkIGFuZCAtLXRlcm0tYmFkfC0tdGVybS1uZXcuIgotbXNnc3RyICIiCi0i5Y+C5pWwICRhcmcg5a+55ZG95LukICdnaXQgYmlzZWN0IHRlcm1zJyDml6DmlYjjgIJcbiIKLSLmlK/mjIHnmoTpgInpobnmnInvvJotLXRlcm0tZ29vZHwtLXRlcm0tb2xkIOWSjCAtLXRlcm0tYmFkfC0tdGVybS1uZXfjgIIiCisjOiBnaXQtYmlzZWN0LnNoOjMwMAorbXNnaWQgIldlIGFyZSBub3QgYmlzZWN0aW5nLiIKK21zZ3N0ciAi5oiR5Lus5rKh5pyJ5Zyo5LqM5YiG5p+l5om+44CCIgogCiAjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo0NgogbXNnaWQgIiIKQEAgLTE5MjAxLDI1OSArMjI0NzEsMTEzIEBACiBtc2dpZCAiU2ltcGxlIG1lcmdlIGRpZCBub3Qgd29yaywgdHJ5aW5nIGF1dG9tYXRpYyBtZXJnZS4iCiBtc2dzdHIgIueugOWNleWQiOW5tuacqueUn+aViO+8jOWwneivleiHquWKqOWQiOW5tuOAgiIKIAotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NDM0Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDb3VsZCBub3QgbW92ZSBiYWNrIHRvICRoZWFkX25hbWUiCi1tc2dzdHIgIuaXoOazleenu+WbniAkaGVhZF9uYW1lIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo0NjAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiIKLSJJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIGFscmVhZHkgYSAkc3RhdGVfZGlyX2Jhc2UgZGlyZWN0b3J5LCBhbmRcbiIKLSJJIHdvbmRlciBpZiB5b3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW5vdGhlciByZWJhc2UuICBJZiB0aGF0IGlzIHRoZVxuIgotImNhc2UsIHBsZWFzZSB0cnlcbiIKLSJcdCRjbWRfbGl2ZV9yZWJhc2VcbiIKLSJJZiB0aGF0IGlzIG5vdCB0aGUgY2FzZSwgcGxlYXNlXG4iCi0iXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxuIgotImFuZCBydW4gbWUgYWdhaW4uICBJIGFtIHN0b3BwaW5nIGluIGNhc2UgeW91IHN0aWxsIGhhdmUgc29tZXRoaW5nXG4iCi0idmFsdWFibGUgdGhlcmUuIgotbXNnc3RyICIiCi0i5aW95YOP5bey5pyJICRzdGF0ZV9kaXJfYmFzZSDnm67lvZXvvIzmiJHmgIDnlpHmgqjmraPlpITkuo7lj6blpJbkuIDkuKrlj5jln7rmk43kvZxcbiIKLSLov4fnqIvkuK3jgIIg5aaC5p6c5piv6L+Z5qC377yM6K+35omn6KGMXG4iCi0iXHQkY21kX2xpdmVfcmViYXNlXG4iCi0i5aaC5p6c5LiN5piv6L+Z5qC377yM6K+35omn6KGMXG4iCi0iXHQkY21kX2NsZWFyX3N0YWxlX3JlYmFzZVxuIgotIueEtuWQjuWGjemHjeaWsOaJp+ihjOWPmOWfuuaTjeS9nOOAgiDkuLrpgb/lhY3kuKLlpLHph43opoHmlbDmja7vvIzmiJHlt7Lnu4/lgZzmraLlvZPliY3mk43kvZzjgIIiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjUyNQotbXNnaWQgImVycm9yOiBjYW5ub3QgY29tYmluZSAnLS1zaWdub2ZmJyB3aXRoICctLXByZXNlcnZlLW1lcmdlcyciCi1tc2dzdHIgIumUmeivr++8muS4jeiDvee7hOWQiCAnLS1zaWdub2ZmJyDlkowgJy0tcHJlc2VydmUtbWVyZ2VzJyIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NTcwCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICckdXBzdHJlYW1fbmFtZSciCi1tc2dzdHIgIuaXoOaViOeahOS4iua4uCAnJHVwc3RyZWFtX25hbWUnIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo1OTQKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG1lcmdlIGJhc2VzIgotbXNnc3RyICIkb250b19uYW1lOiDmnInkuIDkuKrku6XkuIrnmoTlkIjlubbln7rlh4YiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjU5NyBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2MDEKLSMsIHNoLWZvcm1hdAotbXNnaWQgIiRvbnRvX25hbWU6IHRoZXJlIGlzIG5vIG1lcmdlIGJhc2UiCi1tc2dzdHIgIiRvbnRvX25hbWU6IOayoeacieWQiOW5tuWfuuWHhiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NjA2Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJEb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIGNvbW1pdDogJG9udG9fbmFtZSIKLW1zZ3N0ciAi5rKh5pyJ5oyH5ZCR5LiA5Liq5pyJ5pWI55qE5o+Q5Lqk77yaJG9udG9fbmFtZSIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NjMyCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2gvY29tbWl0ICckYnJhbmNoX25hbWUnIgotbXNnc3RyICLkuKXph43plJnor6/vvJrml6DmraTliIbmlK8v5o+Q5LqkICckYnJhbmNoX25hbWUnIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2NzAKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkNyZWF0ZWQgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgotbXNnc3RyICLliJvlu7rkuoYgYXV0b3N0YXNoOiAkc3Rhc2hfYWJicmV2IgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo2OTkKLSMsIHNoLWZvcm1hdAotbXNnaWQgIkN1cnJlbnQgYnJhbmNoICRicmFuY2hfbmFtZSBpcyB1cCB0byBkYXRlLiIKLW1zZ3N0ciAi5b2T5YmN5YiG5pSvICRicmFuY2hfbmFtZSDmmK/mnIDmlrDnmoTjgIIiCi0KLSM6IGdpdC1sZWdhY3ktcmViYXNlLnNoOjcwOQotIywgc2gtZm9ybWF0Ci1tc2dpZCAiQ3VycmVudCBicmFuY2ggJGJyYW5jaF9uYW1lIGlzIHVwIHRvIGRhdGUsIHJlYmFzZSBmb3JjZWQuIgotbXNnc3RyICLlvZPliY3liIbmlK8gJGJyYW5jaF9uYW1lIOaYr+acgOaWsOeahO+8jOW8uuWItuWPmOWfuuOAgiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzIzCi0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDaGFuZ2VzIHRvICRvbnRvOiIKLW1zZ3N0ciAi5YiwICRvbnRvIOeahOWPmOabtO+8miIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzI1Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJDaGFuZ2VzIGZyb20gJG1iIHRvICRvbnRvOiIKLW1zZ3N0ciAi5LuOICRtYiDliLAgJG9udG8g55qE5Y+Y5pu077yaIgotCi0jOiBnaXQtbGVnYWN5LXJlYmFzZS5zaDo3MzYKLW1zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4iCi1tc2dzdHIgIummluWFiO+8jOWbnumAgOWIhuaUr+S7peS+v+WcqOS4iumdoumHjeaUvuaCqOeahOW3peS9nC4uLiIKLQotIzogZ2l0LWxlZ2FjeS1yZWJhc2Uuc2g6NzQ2Ci0jLCBzaC1mb3JtYXQKLW1zZ2lkICJGYXN0LWZvcndhcmRlZCAkYnJhbmNoX25hbWUgdG8gJG9udG9fbmFtZS4iCi1tc2dzdHIgIuW/q+i/myAkYnJhbmNoX25hbWUg6IezICRvbnRvX25hbWXjgIIiCi0KLSM6IGdpdC1zdGFzaC5zaDo2MQotbXNnaWQgImdpdCBzdGFzaCBjbGVhciB3aXRoIHBhcmFtZXRlcnMgaXMgdW5pbXBsZW1lbnRlZCIKLW1zZ3N0ciAiZ2l0IHN0YXNoIGNsZWFyIOS4jeaUr+aMgeWPguaVsCIKLQotIzogZ2l0LXN0YXNoLnNoOjEwOAotbXNnaWQgIllvdSBkbyBub3QgaGF2ZSB0aGUgaW5pdGlhbCBjb21taXQgeWV0IgotbXNnc3RyICLmgqjlsJrmnKrlu7rnq4vliJ3lp4vmj5DkuqQiCi0KLSM6IGdpdC1zdGFzaC5zaDoxMjMKLW1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKLW1zZ3N0ciAi5peg5rOV5L+d5a2Y5b2T5YmN57Si5byV54q25oCBIgotCi0jOiBnaXQtc3Rhc2guc2g6MTM4Ci1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIHVudHJhY2tlZCBmaWxlcyIKLW1zZ3N0ciAi5peg5rOV5L+d5a2Y5pyq6Lef6Liq5paH5Lu2IgotCi0jOiBnaXQtc3Rhc2guc2g6MTU4IGdpdC1zdGFzaC5zaDoxNzEKLW1zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCB3b3JrdHJlZSBzdGF0ZSIKLW1zZ3N0ciAi5peg5rOV5L+d5a2Y5b2T5YmN5bel5L2c5Yy654q25oCBIgotCi0jOiBnaXQtc3Rhc2guc2g6MTc1Ci1tc2dpZCAiTm8gY2hhbmdlcyBzZWxlY3RlZCIKLW1zZ3N0ciAi5rKh5pyJ6YCJ5oup5Y+Y5pu0IgotCi0jOiBnaXQtc3Rhc2guc2g6MTc4CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjIyMQogbXNnaWQgIkNhbm5vdCByZW1vdmUgdGVtcG9yYXJ5IGluZGV4IChjYW4ndCBoYXBwZW4pIgogbXNnc3RyICLml6Dms5XliKDpmaTkuLTml7bntKLlvJXvvIjkuI3lupTlj5HnlJ/vvIkiCiAKLSM6IGdpdC1zdGFzaC5zaDoxOTEKLW1zZ2lkICJDYW5ub3QgcmVjb3JkIHdvcmtpbmcgdHJlZSBzdGF0ZSIKLW1zZ3N0ciAi5LiN6IO96K6w5b2V5bel5L2c5Yy654q25oCBIgotCi0jOiBnaXQtc3Rhc2guc2g6MjI5CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjI3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHVwZGF0ZSAkcmVmX3N0YXNoIHdpdGggJHdfY29tbWl0IgogbXNnc3RyICLml6Dms5XnlKggJHdfY29tbWl0IOabtOaWsCAkcmVmX3N0YXNoIgogCi0jOiBnaXQtc3Rhc2guc2g6MjgxCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjMyNAogIywgc2gtZm9ybWF0CiBtc2dpZCAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggcHVzaCc6ICRvcHRpb24iCiBtc2dzdHIgIumUmeivr++8midzdGFzaCBwdXNoJyDnmoTmnKrnn6XpgInpobnvvJokb3B0aW9uIgogCi0jOiBnaXQtc3Rhc2guc2g6Mjk1Ci1tc2dpZCAiQ2FuJ3QgdXNlIC0tcGF0Y2ggYW5kIC0taW5jbHVkZS11bnRyYWNrZWQgb3IgLS1hbGwgYXQgdGhlIHNhbWUgdGltZSIKLW1zZ3N0ciAi5LiN6IO95ZCM5pe25L2/55So5Y+C5pWwIC0tcGF0Y2gg5ZKMIC0taW5jbHVkZS11bnRyYWNrZWQg5oiWIC0tYWxsIgotCi0jOiBnaXQtc3Rhc2guc2g6MzAzCi1tc2dpZCAiTm8gbG9jYWwgY2hhbmdlcyB0byBzYXZlIgotbXNnc3RyICLmsqHmnInopoHkv53lrZjnmoTmnKzlnLDkv67mlLkiCi0KLSM6IGdpdC1zdGFzaC5zaDozMDgKLW1zZ2lkICJDYW5ub3QgaW5pdGlhbGl6ZSBzdGFzaCIKLW1zZ3N0ciAi5peg5rOV5Yid5aeL5YyW6LSu6JePIgotCi0jOiBnaXQtc3Rhc2guc2g6MzEyCi1tc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgotbXNnc3RyICLml6Dms5Xkv53lrZjlvZPliY3nirbmgIEiCi0KLSM6IGdpdC1zdGFzaC5zaDozMTMKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MzU2CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJTYXZlZCB3b3JraW5nIGRpcmVjdG9yeSBhbmQgaW5kZXggc3RhdGUgJHN0YXNoX21zZyIKIG1zZ3N0ciAi5L+d5a2Y5bel5L2c55uu5b2V5ZKM57Si5byV54q25oCBICRzdGFzaF9tc2ciCiAKLSM6IGdpdC1zdGFzaC5zaDozNDIKLW1zZ2lkICJDYW5ub3QgcmVtb3ZlIHdvcmt0cmVlIGNoYW5nZXMiCi1tc2dzdHIgIuaXoOazleWIoOmZpOW3peS9nOWMuuWPmOabtCIKLQotIzogZ2l0LXN0YXNoLnNoOjQ5MAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1MzYKICMsIHNoLWZvcm1hdAogbXNnaWQgInVua25vd24gb3B0aW9uOiAkb3B0IgogbXNnc3RyICLmnKrnn6XpgInpobk6ICRvcHQiCiAKLSM6IGdpdC1zdGFzaC5zaDo1MDMKLW1zZ2lkICJObyBzdGFzaCBlbnRyaWVzIGZvdW5kLiIKLW1zZ3N0ciAi5pyq5Y+R546w6LSu6JeP5p2h55uu44CCIgotCi0jOiBnaXQtc3Rhc2guc2g6NTEwCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjU1NgogIywgc2gtZm9ybWF0CiBtc2dpZCAiVG9vIG1hbnkgcmV2aXNpb25zIHNwZWNpZmllZDogJFJFViIKIG1zZ3N0ciAi5oyH5a6a5LqG5aSq5aSa55qE54mI5pys77yaJFJFViIKIAotIzogZ2l0LXN0YXNoLnNoOjUyNQorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1NzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIiRyZWZlcmVuY2UgaXMgbm90IGEgdmFsaWQgcmVmZXJlbmNlIgogbXNnc3RyICIkcmVmZXJlbmNlIOS4jeaYr+S4gOS4quacieaViOeahOW8leeUqCIKIAotIzogZ2l0LXN0YXNoLnNoOjU1MworIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1OTkKICMsIHNoLWZvcm1hdAogbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCiBtc2dzdHIgIickYXJncycg5LiN5piv6LSu6JeP5byP5o+Q5LqkIgogCi0jOiBnaXQtc3Rhc2guc2g6NTY0CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYxMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRhcmdzJyBpcyBub3QgYSBzdGFzaCByZWZlcmVuY2UiCiBtc2dzdHIgIickYXJncycg5LiN5piv5LiA5Liq6LSu6JeP5byV55SoIgogCi0jOiBnaXQtc3Rhc2guc2g6NTcyCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYxOAogbXNnaWQgInVuYWJsZSB0byByZWZyZXNoIGluZGV4IgogbXNnc3RyICLml6Dms5XliLfmlrDntKLlvJUiCiAKLSM6IGdpdC1zdGFzaC5zaDo1NzYKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjIyCiBtc2dpZCAiQ2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgogbXNnc3RyICLml6Dms5XlnKjlkIjlubbov4fnqIvlupTnlKjotK7ol48iCiAKLSM6IGdpdC1zdGFzaC5zaDo1ODQKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjMwCiBtc2dpZCAiQ29uZmxpY3RzIGluIGluZGV4LiBUcnkgd2l0aG91dCAtLWluZGV4LiIKIG1zZ3N0ciAi57Si5byV5Lit5pyJ5Yay56qB44CC5bCd6K+V5LiN5L2/55SoIC0taW5kZXjjgIIiCiAKLSM6IGdpdC1zdGFzaC5zaDo1ODYKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjMyCiBtc2dpZCAiQ291bGQgbm90IHNhdmUgaW5kZXggdHJlZSIKIG1zZ3N0ciAi5LiN6IO95L+d5a2Y57Si5byV5qCRIgogCi0jOiBnaXQtc3Rhc2guc2g6NTk1CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjY0MQogbXNnaWQgIkNvdWxkIG5vdCByZXN0b3JlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHN0YXNoIGVudHJ5IgogbXNnc3RyICLml6Dms5Xku47otK7ol4/mnaHnm67kuK3mgaLlpI3mnKrot5/ouKrmlofku7YiCiAKLSM6IGdpdC1zdGFzaC5zaDo2MjAKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NjY2CiBtc2dpZCAiQ2Fubm90IHVuc3RhZ2UgbW9kaWZpZWQgZmlsZXMiCiBtc2dzdHIgIuaXoOazleWwhuS/ruaUueeahOaWh+S7tuWPlua2iOaaguWtmCIKIAotIzogZ2l0LXN0YXNoLnNoOjYzNQotbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKLW1zZ3N0ciAi57Si5byV5pyq5LuO6LSu6JeP5Lit5oGi5aSN44CCIgotCi0jOiBnaXQtc3Rhc2guc2g6NjQ5Ci1tc2dpZCAiVGhlIHN0YXNoIGVudHJ5IGlzIGtlcHQgaW4gY2FzZSB5b3UgbmVlZCBpdCBhZ2Fpbi4iCi1tc2dzdHIgIui0ruiXj+adoeebruiiq+S/neeVmeS7peWkh+aCqOWGjeasoemcgOimgeOAgiIKLQotIzogZ2l0LXN0YXNoLnNoOjY1OAorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo3MDQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkRyb3BwZWQgJHtSRVZ9ICgkcykiCiBtc2dzdHIgIuS4ouW8g+S6hiAke1JFVn0gKCRzKSIKIAotIzogZ2l0LXN0YXNoLnNoOjY1OQorIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo3MDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiR7UkVWfTogQ291bGQgbm90IGRyb3Agc3Rhc2ggZW50cnkiCiBtc2dzdHIgIiR7UkVWfe+8muaXoOazleS4ouW8g+i0ruiXj+adoeebriIKIAotIzogZ2l0LXN0YXNoLnNoOjY2NwotbXNnaWQgIk5vIGJyYW5jaCBuYW1lIHNwZWNpZmllZCIKLW1zZ3N0ciAi5pyq5oyH5a6a5YiG5pSv5ZCNIgotCi0jOiBnaXQtc3Rhc2guc2g6NzQ2CisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjc5MgogbXNnaWQgIihUbyByZXN0b3JlIHRoZW0gdHlwZSBcImdpdCBzdGFzaCBhcHBseVwiKSIKIG1zZ3N0ciAi77yI5Li65oGi5aSN5pWw5o2u6L6T5YWlIFwiZ2l0IHN0YXNoIGFwcGx5XCLvvIkiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MTk4CisjOiBnaXQtc3VibW9kdWxlLnNoOjIwMgogbXNnaWQgIlJlbGF0aXZlIHBhdGggY2FuIG9ubHkgYmUgdXNlZCBmcm9tIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICLlj6rog73lnKjlt6XkvZzljLrnmoTpobbnuqfnm67lvZXkuK3kvb/nlKjnm7jlr7not6/lvoQiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjA4CisjOiBnaXQtc3VibW9kdWxlLnNoOjIxMgogIywgc2gtZm9ybWF0CiBtc2dpZCAicmVwbyBVUkw6ICckcmVwbycgbXVzdCBiZSBhYnNvbHV0ZSBvciBiZWdpbiB3aXRoIC4vfC4uLyIKIG1zZ3N0ciAi5LuT5bqTIFVSTO+8mickcmVwbycg5b+F6aG75piv57ud5a+56Lev5b6E5oiW5LulIC4vfC4uLyDotbflp4siCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjI3CisjOiBnaXQtc3VibW9kdWxlLnNoOjIzMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJyRzbV9wYXRoJyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgaW5kZXgiCiBtc2dzdHIgIickc21fcGF0aCcg5bey57uP5a2Y5Zyo5LqO57Si5byV5LitIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzMAorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMzQKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGluZGV4IGFuZCBpcyBub3QgYSBzdWJtb2R1bGUiCiBtc2dzdHIgIickc21fcGF0aCcg5bey57uP5a2Y5Zyo5LqO57Si5byV5Lit5LiU5LiN5piv5LiA5Liq5a2Q5qih57uEIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjIzNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIickc21fcGF0aCcgZG9lcyBub3QgaGF2ZSBhIGNvbW1pdCBjaGVja2VkIG91dCIKK21zZ3N0ciAiJyRzbV9wYXRoJyDmsqHmnInmo4Dlh7rnmoTmj5DkuqQiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBwYXRoIGlzIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKQEAgLTE5NDY0LDIyICsyMjU4OCwyMiBAQAogIiRzbV9wYXRoXG4iCiAi5aaC5p6c5oKo56Gu5a6e5oOz5re75Yqg5a6D77yM5L2/55SoIC1mIOWPguaVsOOAgiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNTkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjcwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJBZGRpbmcgZXhpc3RpbmcgcmVwbyBhdCAnJHNtX3BhdGgnIHRvIHRoZSBpbmRleCIKIG1zZ3N0ciAi5re75Yqg5L2N5LqOICckc21fcGF0aCcg55qE546w5a2Y5LuT5bqT5Yiw57Si5byVIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI2MQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIickc21fcGF0aCcgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5vdCBhIHZhbGlkIGdpdCByZXBvIgogbXNnc3RyICInJHNtX3BhdGgnIOW3suWtmOWcqOS4lOS4jeaYr+S4gOS4quacieaViOeahCBnaXQg5LuT5bqTIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI2OQorIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODAKICMsIHNoLWZvcm1hdAogbXNnaWQgIkEgZ2l0IGRpcmVjdG9yeSBmb3IgJyRzbV9uYW1lJyBpcyBmb3VuZCBsb2NhbGx5IHdpdGggcmVtb3RlKHMpOiIKIG1zZ3N0ciAi5pys5Zyw5Y+R546wICckc21fbmFtZScg55qE5LiA5LiqIGdpdCDnm67lvZXvvIzkuI7lhbblr7nlupTnmoTov5znqIvku5PlupPvvJoiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6MjcxCisjOiBnaXQtc3VibW9kdWxlLnNoOjI4MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIklmIHlvdSB3YW50IHRvIHJldXNlIHRoaXMgbG9jYWwgZ2l0IGRpcmVjdG9yeSBpbnN0ZWFkIG9mIGNsb25pbmcgYWdhaW4gZnJvbVxuIgpAQCAtMTk0OTQsNDkgKzIyNjE4LDUxIEBACiAi5L2/55SoICctLWZvcmNlJyDpgInpobnjgILlpoLmnpzmnKzlnLAgZ2l0IOebruW9leS4jeaYr+ato+ehrueahOS7k+W6k1xuIgogIuaIluiAheaCqOS4jeehruWumui/memHjOeahOWQq+S5ie+8jOS9v+eUqCAnLS1uYW1lJyDpgInpobnpgInmi6nlj6blpJbnmoTlkI3np7DjgIIiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6Mjc3CisjOiBnaXQtc3VibW9kdWxlLnNoOjI4OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVhY3RpdmF0aW5nIGxvY2FsIGdpdCBkaXJlY3RvcnkgZm9yIHN1Ym1vZHVsZSAnJHNtX25hbWUnLiIKIG1zZ3N0ciAi5r+A5rS75pys5ZywIGdpdCDnm67lvZXliLDlrZDmqKHnu4QgJyRzbV9uYW1lJ+OAgiIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODkKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzAwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gY2hlY2tvdXQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIuS4jeiDveajgOWHuuWtkOaooee7hCAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjI5NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDozMDUKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBhZGQgc3VibW9kdWxlICckc21fcGF0aCciCiBtc2dzdHIgIuaXoOazlea3u+WKoOWtkOaooee7hCAnJHNtX3BhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjMwMworIzogZ2l0LXN1Ym1vZHVsZS5zaDozMTQKICMsIHNoLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKIG1zZ3N0ciAi5peg5rOV5rOo5YaM5a2Q5qih57uEICckc21fcGF0aCciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NTYzCisjOiBnaXQtc3VibW9kdWxlLnNoOjU4MAogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIGZpbmQgY3VycmVudCByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5peg5rOV5Zyo5a2Q5qih57uE6Lev5b6EICckZGlzcGxheXBhdGgnIOS4reaJvuWIsOW9k+WJjeeJiOacrCIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1NzMKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTkwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRzbV9wYXRoJyIKIG1zZ3N0ciAi5peg5rOV5Zyo5a2Q5qih57uE6Lev5b6EICckc21fcGF0aCcg5Lit6I635Y+WIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjU3OAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo1OTUKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJVbmFibGUgdG8gZmluZCBjdXJyZW50ICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAiCiAiJyRzbV9wYXRoJyIKIG1zZ3N0ciAi5peg5rOV5Zyo5a2Q5qih57uE6Lev5b6EICckc21fcGF0aCcg5Lit5om+5Yiw5b2T5YmN54mI5pysICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo1OTYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjEzCiAjLCBzaC1mb3JtYXQKLW1zZ2lkICJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCi1tc2dzdHIgIuaXoOazleWcqOWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJyDkuK3ojrflj5YiCittc2dpZCAiIgorIlVuYWJsZSB0byBmZXRjaCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJzsgdHJ5aW5nIHRvIGRpcmVjdGx5IGZldGNoICIKKyIkc2hhMToiCittc2dzdHIgIuaXoOazleWcqOWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJyDkuK3ojrflj5bvvIzlsJ3or5Xnm7TmjqXojrflj5YgJHNoYTHvvJoiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjAyCisjOiBnaXQtc3VibW9kdWxlLnNoOjYxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkZldGNoZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcsIGJ1dCBpdCBkaWQgbm90IGNvbnRhaW4gJHNoYTEuICIKQEAgLTE5NTQ0LDc0ICsyMjY3MCw3NCBAQAogbXNnc3RyICIiCiAi6I635Y+W5LqG5a2Q5qih57uE6Lev5b6EICckZGlzcGxheXBhdGgn77yM5L2G5piv5a6D5rKh5pyJ5YyF5ZCrICRzaGEx44CC55u05o6l6I635Y+W6K+l5o+Q5Lqk5aSx6LSl44CCIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYwOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjYKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgogbXNnc3RyICLml6Dms5XlnKjlrZDmqKHnu4Tot6/lvoQgJyRkaXNwbGF5cGF0aCcg5Lit5qOA5Ye6ICckc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjEwCisjOiBnaXQtc3VibW9kdWxlLnNoOjYyNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IGNoZWNrZWQgb3V0ICckc2hhMSciCiBtc2dzdHIgIuWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJ++8muajgOWHuiAnJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYxNAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzEKICMsIHNoLWZvcm1hdAogbXNnaWQgIlVuYWJsZSB0byByZWJhc2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5peg5rOV5Zyo5a2Q5qih57uE6Lev5b6EICckZGlzcGxheXBhdGgnIOS4reWPmOWfuiAnJHNoYTEnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjYxNQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzIKICMsIHNoLWZvcm1hdAogbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiByZWJhc2VkIGludG8gJyRzaGExJyIKIG1zZ3N0ciAi5a2Q5qih57uE6Lev5b6EICckZGlzcGxheXBhdGgn77ya5Y+Y5Z+66IezICckc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjIwCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5hYmxlIHRvIG1lcmdlICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuaXoOazleWQiOW5tiAnJHNoYTEnIOWIsOWtkOaooee7hOi3r+W+hCAnJGRpc3BsYXlwYXRoJyDkuK0iCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjIxCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IG1lcmdlZCBpbiAnJHNoYTEnIgogbXNnc3RyICLlrZDmqKHnu4Tot6/lvoQgJyRkaXNwbGF5cGF0aCfvvJrlt7LlkIjlubblhaUgJyRzaGExJyIKIAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjYKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NjQzCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpb24gb2YgJyRjb21tYW5kICRzaGExJyBmYWlsZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCiBtc2dzdHIgIuWcqOWtkOaooee7hCAnJGRpc3BsYXlwYXRoJyDkuK3miafooYwgJyRjb21tYW5kICRzaGExJyDlpLHotKUiCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjI3CisjOiBnaXQtc3VibW9kdWxlLnNoOjY0NAogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6ICckY29tbWFuZCAkc2hhMSciCiBtc2dzdHIgIuWtkOaooee7hCAnJGRpc3BsYXlwYXRoJ++8mickY29tbWFuZCAkc2hhMSciCiAKLSM6IGdpdC1zdWJtb2R1bGUuc2g6NjU4CisjOiBnaXQtc3VibW9kdWxlLnNoOjY3NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKIG1zZ3N0ciAi5peg5rOV6YCS5b2S6L+b5a2Q5qih57uE6Lev5b6EICckZGlzcGxheXBhdGgnIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjc1NAorIzogZ2l0LXN1Ym1vZHVsZS5zaDo4ODYKIG1zZ2lkICJUaGUgLS1jYWNoZWQgb3B0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhlIC0tZmlsZXMgb3B0aW9uIgogbXNnc3RyICLpgInpobkgLS1jYWNoZWQg5LiN6IO95ZKM6YCJ6aG5IC0tZmlsZXMg5ZCM5pe25L2/55SoIgogCi0jOiBnaXQtc3VibW9kdWxlLnNoOjgwNgorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5MzgKICMsIHNoLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgbW9kZSAkbW9kX2RzdCIKIG1zZ3N0ciAi5oSP5aSW55qE5qih5byPICRtb2RfZHN0IgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGdpdC1zdWJtb2R1bGUuc2g6ODI2CisjOiBnaXQtc3VibW9kdWxlLnNoOjk1OAogIywgc2gtZm9ybWF0CiBtc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfc3JjIgogbXNnc3RyICIgIOitpuWRiu+8miRkaXNwbGF5X25hbWUg5pyq5YyF5ZCr5o+Q5LqkICRzaGExX3NyYyIKIAogIyAg6K+R6ICF77ya5rOo5oSP5L+d5oyB5YmN5a+856m65qC8Ci0jOiBnaXQtc3VibW9kdWxlLnNoOjgyOQorIzogZ2l0LXN1Ym1vZHVsZS5zaDo5NjEKICMsIHNoLWZvcm1hdAogbXNnaWQgIiAgV2FybjogJGRpc3BsYXlfbmFtZSBkb2Vzbid0IGNvbnRhaW4gY29tbWl0ICRzaGExX2RzdCIKIG1zZ3N0ciAiICDorablkYrvvJokZGlzcGxheV9uYW1lIOacquWMheWQq+aPkOS6pCAkc2hhMV9kc3QiCiAKICMgIOivkeiAhe+8muazqOaEj+S/neaMgeWJjeWvvOepuuagvAotIzogZ2l0LXN1Ym1vZHVsZS5zaDo4MzIKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTY0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICIgIFdhcm46ICRkaXNwbGF5X25hbWUgZG9lc24ndCBjb250YWluIGNvbW1pdHMgJHNoYTFfc3JjIGFuZCAkc2hhMV9kc3QiCiBtc2dzdHIgIiAg6K2m5ZGK77yaJGRpc3BsYXlfbmFtZSDmnKrljIXlkKvmj5DkuqQgJHNoYTFfc3JjIOWSjCAkc2hhMV9kc3QiCkBAIC0xOTYyMSwxMiArMjI3NDcsMjEgQEAKIG1zZ2lkICJTZWUgZ2l0LSR7Y21kfSgxKSBmb3IgZGV0YWlscy4iCiBtc2dzdHIgIuivpuingSBnaXQtJHtjbWR9KDEp44CCIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTM2CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTA5Cittc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guIgorbXNnc3RyICLlt7LlupTnlKggYXV0b3N0YXNo44CCIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTEyCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgc3RvcmUgJHN0YXNoX3NoYTEiCittc2dzdHIgIuS4jeiDveWtmOWCqCAkc3Rhc2hfc2hhMSIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjE5MQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmViYXNpbmcgKCRuZXdfY291bnQvJHRvdGFsKSIKIG1zZ3N0ciAi5Y+Y5Z+65Lit77yIJG5ld19jb3VudC8kdG90YWzvvIkiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoxNTIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMDcKIG1zZ2lkICIiCiAiXG4iCiAiQ29tbWFuZHM6XG4iCkBAIC0xOTY2NCw3ICsyMjc5OSw3IEBACiAiXG4iCiAi5Y+v5Lul5a+56L+Z5Lqb6KGM6YeN5paw5o6S5bqP77yM5bCG5LuO5LiK6Iez5LiL5omn6KGM44CCXG4iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMTUKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyNzAKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJZb3UgY2FuIGFtZW5kIHRoZSBjb21taXQgbm93LCB3aXRoXG4iCkBAIC0xOTY4Myw4MyArMjI4MTgsODMgQEAKICJcbiIKICJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjI0MAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjI5NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiJHNoYTE6IG5vdCBhIGNvbW1pdCB0aGF0IGNhbiBiZSBwaWNrZWQiCiBtc2dzdHIgIiRzaGEx77ya5LiN5piv5LiA5Liq5Y+v5Lul6KKr5ouj6YCJ55qE5o+Q5LqkIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Mjc5CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MzM0CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIGNvbW1pdCBuYW1lOiAkc2hhMSIKIG1zZ3N0ciAi5peg5pWI55qE5o+Q5Lqk5ZCN77yaJHNoYTEiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozMDkKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozNjQKIG1zZ2lkICJDYW5ub3Qgd3JpdGUgY3VycmVudCBjb21taXQncyByZXBsYWNlbWVudCBzaGExIgogbXNnc3RyICLkuI3og73lhpnlhaXlvZPliY3mj5DkuqTnmoTmm7/ku6Mgc2hhMSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM2MAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQxNQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRmFzdC1mb3J3YXJkIHRvICRzaGExIgogbXNnc3RyICLlv6vov5vliLAgJHNoYTEiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozNjIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MTcKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBmYXN0LWZvcndhcmQgdG8gJHNoYTEiCiBtc2dzdHIgIuS4jeiDveW/q+i/m+WIsCAkc2hhMSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM3MQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQyNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IG1vdmUgSEVBRCB0byAkZmlyc3RfcGFyZW50IgogbXNnc3RyICLkuI3og73np7vliqggSEVBRCDliLAgJGZpcnN0X3BhcmVudCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM3NgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQzMQogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmVmdXNpbmcgdG8gc3F1YXNoIGEgbWVyZ2U6ICRzaGExIgogbXNnc3RyICLmi5Lnu53ljovnvKnkuIDkuKrlkIjlubbvvJokc2hhMSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM5NAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ0OQogIywgc2gtZm9ybWF0CiBtc2dpZCAiRXJyb3IgcmVkb2luZyBtZXJnZSAkc2hhMSIKIG1zZ3N0ciAi5peg5rOV6YeN5YGa5ZCI5bm2ICRzaGExIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDAzCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDU4CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgcGljayAkc2hhMSIKIG1zZ3N0ciAi5LiN6IO95ouj6YCJICRzaGExIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDEyCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDY3CiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIHRoZSBjb21taXQgbWVzc2FnZSAjJHtufToiCiBtc2dzdHIgIui/meaYr+aPkOS6pOivtOaYjiAjJHtufe+8miIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQxNworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ3MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiVGhlIGNvbW1pdCBtZXNzYWdlICMke259IHdpbGwgYmUgc2tpcHBlZDoiCiBtc2dzdHIgIuaPkOS6pOivtOaYjiAjJHtufSDlsIbooqvot7Pov4fvvJoiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0MjgKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0ODMKICMsIHNoLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAkY291bnQgY29tbWl0LiIKIG1zZ2lkX3BsdXJhbCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICRjb3VudCBjb21taXRzLiIKIG1zZ3N0clswXSAi6L+Z5piv5LiA5LiqICRjb3VudCDkuKrmj5DkuqTnmoTnu4TlkIjjgIIiCiBtc2dzdHJbMV0gIui/meaYr+S4gOS4qiAkY291bnQg5Liq5o+Q5Lqk55qE57uE5ZCI44CCIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDM3CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDkyCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDYW5ub3Qgd3JpdGUgJGZpeHVwX21zZyIKIG1zZ3N0ciAi5LiN6IO95YaZ5YWlICRmaXh1cF9tc2ciCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NDAKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0OTUKIG1zZ2lkICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgMiBjb21taXRzLiIKIG1zZ3N0ciAi6L+Z5piv5LiA5LiqIDIg5Liq5o+Q5Lqk55qE57uE5ZCI44CCIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDgxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MjQKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MjcKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MzYgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU3OQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU4MgogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ291bGQgbm90IGFwcGx5ICRzaGExLi4uICRyZXN0IgogbXNnc3RyICLkuI3og73lupTnlKggJHNoYTEuLi4gJHJlc3QiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1NTYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2MTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIiIKICJDb3VsZCBub3QgYW1lbmQgY29tbWl0IGFmdGVyIHN1Y2Nlc3NmdWxseSBwaWNraW5nICRzaGExLi4uICRyZXN0XG4iCkBAIC0xOTc3MiwzMiArMjI5MDcsMzIgQEAKICLov5npgJrluLjmmK/lm6DkuLrnqbrnmoTmj5DkuqTor7TmmI7vvIzmiJbogIUgcHJlLWNvbW1pdCDpkqnlrZDmiafooYzlpLHotKXjgILlpoLmnpzmmK8gcHJlLWNvbW1pdFxuIgogIumSqeWtkOaJp+ihjOWksei0pe+8jOS9oOWPr+iDvemcgOimgeWcqOmHjeWGmeaPkOS6pOivtOaYjuWJjeino+WGs+i/meS4qumXrumimOOAgiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU3MQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYyNgogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCBhdCAkc2hhMV9hYmJyZXYuLi4gJHJlc3QiCiBtc2dzdHIgIuWBnOatouWcqCAkc2hhMV9hYmJyZXYuLi4gJHJlc3QiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1ODYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NDEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCAnJHNxdWFzaF9zdHlsZScgd2l0aG91dCBhIHByZXZpb3VzIGNvbW1pdCIKIG1zZ3N0ciAi5rKh5pyJ54i25o+Q5Lqk55qE5oOF5Ya15LiL5LiN6IO9ICckc3F1YXNoX3N0eWxlJyIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYyOAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY4MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiRXhlY3V0aW5nOiAkcmVzdCIKIG1zZ3N0ciAi5omn6KGM77yaJHJlc3QiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2MzYKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2OTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkV4ZWN1dGlvbiBmYWlsZWQ6ICRyZXN0IgogbXNnc3RyICLmiafooYzlpLHotKXvvJokcmVzdCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjYzOAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY5MwogbXNnaWQgImFuZCBtYWRlIGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlIgogbXNnc3RyICLlubbkuJTkv67mlLnntKLlvJXlkowv5oiW5bel5L2c5Yy6IgogCiAjICDor5HogIXvvJrms6jmhI/kv53mjIHliY3lr7znqbrmoLwKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NDAKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2OTUKIG1zZ2lkICIiCiAiWW91IGNhbiBmaXggdGhlIHByb2JsZW0sIGFuZCB0aGVuIHJ1blxuIgogIlxuIgpAQCAtMTk4MDgsNyArMjI5NDMsNyBAQAogIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgogCiAjLiBUUkFOU0xBVE9SUzogYWZ0ZXIgdGhlc2UgbGluZXMgaXMgYSBjb21tYW5kIHRvIGJlIGlzc3VlZCBieSB0aGUgdXNlcgotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY1MworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjcwOAogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIkV4ZWN1dGlvbiBzdWNjZWVkZWQ6ICRyZXN0XG4iCkBAIC0xOTgyMiwyNSArMjI5NTcsMjUgQEAKICJcbiIKICJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjY2NAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjcxOQogIywgc2gtZm9ybWF0CiBtc2dpZCAiVW5rbm93biBjb21tYW5kOiAkY29tbWFuZCAkc2hhMSAkcmVzdCIKIG1zZ3N0ciAi5pyq55+l5ZG95Luk77yaJGNvbW1hbmQgJHNoYTEgJHJlc3QiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2NjUKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3MjAKIG1zZ2lkICJQbGVhc2UgZml4IHRoaXMgdXNpbmcgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nLiIKIG1zZ3N0ciAi6KaB5L+u5pS56K+35L2/55So5ZG95LukICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJ+OAgiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjcwMAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc1NQogIywgc2gtZm9ybWF0CiBtc2dpZCAiU3VjY2Vzc2Z1bGx5IHJlYmFzZWQgYW5kIHVwZGF0ZWQgJGhlYWRfbmFtZS4iCiBtc2dzdHIgIuaIkOWKn+WPmOWfuuW5tuabtOaWsCAkaGVhZF9uYW1l44CCIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzU3CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODEyCiBtc2dpZCAiQ291bGQgbm90IHJlbW92ZSBDSEVSUllfUElDS19IRUFEIgogbXNnc3RyICLkuI3og73liKDpmaQgQ0hFUlJZX1BJQ0tfSEVBRCIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc2MgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgxNwogIywgc2gtZm9ybWF0CiBtc2dpZCAiIgogIllvdSBoYXZlIHN0YWdlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLlxuIgpAQCAtMTk4NjksNTEgKzIzMDA0LDUxIEBACiAiXG4iCiAiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc3OQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgzNAogbXNnaWQgIkVycm9yIHRyeWluZyB0byBmaW5kIHRoZSBhdXRob3IgaWRlbnRpdHkgdG8gYW1lbmQgY29tbWl0IgogbXNnc3RyICLlnKjkv67ooaXmj5DkuqTkuK3mn6Xmib7kvZzogIXkv6Hmga/ml7bpgYfliLDplJnor68iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo3ODQKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MzkKIG1zZ2lkICIiCiAiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlIGNvbW1pdCB0aGVtXG4iCiAiZmlyc3QgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnIGFnYWluLiIKIG1zZ3N0ciAiIgogIuaCqOeahOW3peS9nOWMuuS4reacieacquaPkOS6pOeahOWPmOabtOOAguivt+WFiOaPkOS6pOeEtuWQjuWGjeasoei/kOihjCAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJ+OAgiIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjc4OSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzkzCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODQ0IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NDgKIG1zZ2lkICJDb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi5LiN6IO95o+Q5Lqk5pqC5a2Y55qE5L+u5pS544CCIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODI0IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MTAKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NzkgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk2NQogbXNnaWQgIkNvdWxkIG5vdCBleGVjdXRlIGVkaXRvciIKIG1zZ3N0ciAi5peg5rOV6L+Q6KGM57yW6L6R5ZmoIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODQ1CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTAwCiAjLCBzaC1mb3JtYXQKIG1zZ2lkICJDb3VsZCBub3QgY2hlY2tvdXQgJHN3aXRjaF90byIKIG1zZ3N0ciAi5LiN6IO95qOA5Ye6ICRzd2l0Y2hfdG8iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NTIKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MDcKIG1zZ2lkICJObyBIRUFEPyIKIG1zZ3N0ciAi5rKh5pyJIEhFQUTvvJ8iCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NTMKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MDgKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICRzdGF0ZV9kaXIiCiBtc2dzdHIgIuS4jeiDveWIm+W7uuS4tOaXtiAkc3RhdGVfZGlyIgogCi0jOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODU2CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTExCiBtc2dpZCAiQ291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCiBtc2dzdHIgIuS4jeiDveagh+iusOS4uuS6pOS6kuW8jyIKIAotIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg4OAorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk0MwogIywgc2gtZm9ybWF0CiBtc2dpZCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZCkiCiBtc2dpZF9wbHVyYWwgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmRzKSIKIG1zZ3N0clswXSAi5Y+Y5Z+6ICRzaG9ydHJldmlzaW9ucyDliLAgJHNob3J0b250b++8iCR0b2RvY291bnQg5Liq5o+Q5Lqk77yJIgogbXNnc3RyWzFdICLlj5jln7ogJHNob3J0cmV2aXNpb25zIOWIsCAkc2hvcnRvbnRv77yIJHRvZG9jb3VudCDkuKrmj5DkuqTvvIkiCiAKLSM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5NDIgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk0NworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk5NyBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTAwMgogbXNnaWQgIkNvdWxkIG5vdCBpbml0IHJld3JpdHRlbiBjb21taXRzIgogbXNnc3RyICLkuI3og73lr7nph43lhpnmj5DkuqTov5vooYzliJ3lp4vljJYiCiAKQEAgLTE5OTIyLDE3MyArMjMwNTcsMTA5IEBACiBtc2dpZCAidXNhZ2U6ICRkYXNobGVzcyAkVVNBR0UiCiBtc2dzdHIgIueUqOazle+8miRkYXNobGVzcyAkVVNBR0UiCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoxOTAKKyM6IGdpdC1zaC1zZXR1cC5zaDoxOTEKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCBjaGRpciB0byAkY2R1cCwgdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUiCiBtc2dzdHIgIuS4jeiDveWIh+aNouebruW9leWIsCAkY2R1cO+8jOW3peS9nOWMuueahOmhtue6p+ebruW9lSIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjE5OSBnaXQtc2gtc2V0dXAuc2g6MjA2CisjOiBnaXQtc2gtc2V0dXAuc2g6MjAwIGdpdC1zaC1zZXR1cC5zaDoyMDcKICMsIHNoLWZvcm1hdAogbXNnaWQgImZhdGFsOiAkcHJvZ3JhbV9uYW1lIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgYSB3b3JraW5nIHRyZWUuIgotbXNnc3RyICLkuKXph43plJnor6/vvJokcHJvZ3JhbV9uYW1lIOS4jeiDveWcqOayoeacieW3peS9nOWMuueahOaDheWGteS4i+S9v+eUqCIKK21zZ3N0ciAi6Ie05ZG96ZSZ6K+v77yaJHByb2dyYW1fbmFtZSDkuI3og73lnKjmsqHmnInlt6XkvZzljLrnmoTmg4XlhrXkuIvkvb/nlKgiCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoyMjAKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjEKIG1zZ2lkICJDYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi5LiN6IO95Y+Y5Z+677ya5oKo5pyJ5pyq5pqC5a2Y55qE5Y+Y5pu044CCIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MjIzCisjOiBnaXQtc2gtc2V0dXAuc2g6MjI0CiBtc2dpZCAiQ2Fubm90IHJld3JpdGUgYnJhbmNoZXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICLkuI3og73ph43lhpnliIbmlK/vvJrmgqjmnInmnKrmmoLlrZjnmoTlj5jmm7TjgIIiCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoyMjYKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjcKIG1zZ2lkICJDYW5ub3QgcHVsbCB3aXRoIHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCiBtc2dzdHIgIuaXoOazlemAmui/h+WPmOWfuuaWueW8j+aLieWPlu+8muaCqOacieacquaaguWtmOeahOWPmOabtOOAgiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjIyOQorIzogZ2l0LXNoLXNldHVwLnNoOjIzMAogIywgc2gtZm9ybWF0CiBtc2dpZCAiQ2Fubm90ICRhY3Rpb246IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgogbXNnc3RyICLkuI3og70gJGFjdGlvbu+8muaCqOacieacquaaguWtmOeahOWPmOabtOOAgiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjI0MgorIzogZ2l0LXNoLXNldHVwLnNoOjI0MwogbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCiBtc2dzdHIgIuS4jeiDveWPmOWfuu+8muaCqOeahOe0ouW8leS4reWMheWQq+acquaPkOS6pOeahOWPmOabtOOAgiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjI0NQorIzogZ2l0LXNoLXNldHVwLnNoOjI0NgogbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICLml6Dms5XpgJrov4flj5jln7rmlrnlvI/mi4nlj5bvvJrmgqjnmoTntKLlvJXkuK3ljIXlkKvmnKrmj5DkuqTnmoTlj5jmm7TjgIIiCiAKLSM6IGdpdC1zaC1zZXR1cC5zaDoyNDgKKyM6IGdpdC1zaC1zZXR1cC5zaDoyNDkKICMsIHNoLWZvcm1hdAogbXNnaWQgIkNhbm5vdCAkYWN0aW9uOiBZb3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgogbXNnc3RyICLkuI3og70gJGFjdGlvbu+8muaCqOeahOe0ouW8leS4reWMheWQq+acquaPkOS6pOeahOWPmOabtOOAgiIKIAotIzogZ2l0LXNoLXNldHVwLnNoOjI1MgorIzogZ2l0LXNoLXNldHVwLnNoOjI1MwogbXNnaWQgIkFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKIG1zZ3N0ciAi6ICM5LiU5oKo55qE57Si5byV5Lit5YyF5ZCr5pyq5o+Q5Lqk55qE5Y+Y5pu044CCIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6MzcyCisjOiBnaXQtc2gtc2V0dXAuc2g6MzczCiBtc2dpZCAiWW91IG5lZWQgdG8gcnVuIHRoaXMgY29tbWFuZCBmcm9tIHRoZSB0b3BsZXZlbCBvZiB0aGUgd29ya2luZyB0cmVlLiIKIG1zZ3N0ciAi5oKo6ZyA6KaB5Zyo5bel5L2c5Yy655qE6aG257qn55uu5b2V5Lit6L+Q6KGM6L+Z5Liq5ZG95Luk44CCIgogCi0jOiBnaXQtc2gtc2V0dXAuc2g6Mzc3CisjOiBnaXQtc2gtc2V0dXAuc2g6Mzc4CiBtc2dpZCAiVW5hYmxlIHRvIGRldGVybWluZSBhYnNvbHV0ZSBwYXRoIG9mIGdpdCBkaXJlY3RvcnkiCiBtc2dzdHIgIuS4jeiDveehruWumiBnaXQg55uu5b2V55qE57ud5a+56Lev5b6EIgogCiAjLiBUUkFOU0xBVE9SUzogeW91IGNhbiBhZGp1c3QgdGhpcyB0byBhbGlnbiAiZ2l0IGFkZCAtaSIgc3RhdHVzIG1lbnUKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTk2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIlMTJzICUxMnMgJXMiCiBtc2dzdHIgIiUxMnMgJTEycyAlcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKLW1zZ2lkICJzdGFnZWQiCi1tc2dzdHIgIue8k+WtmCIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxOTcKLW1zZ2lkICJ1bnN0YWdlZCIKLW1zZ3N0ciAi5pyq57yT5a2YIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI1MyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI3OAotbXNnaWQgImJpbmFyeSIKLW1zZ3N0ciAi5LqM6L+b5Yi2IgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI2MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMxNgotbXNnaWQgIm5vdGhpbmciCi1tc2dzdHIgIuaXoCIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyOTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMTMKLW1zZ2lkICJ1bmNoYW5nZWQiCi1tc2dzdHIgIuayoeacieS/ruaUuSIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MDkKLSMsIHBlcmwtZm9ybWF0Ci1tc2dpZCAiYWRkZWQgJWQgcGF0aFxuIgotbXNnaWRfcGx1cmFsICJhZGRlZCAlZCBwYXRoc1xuIgotbXNnc3RyWzBdICLlop7liqDkuoYgJWQg5Liq6Lev5b6EXG4iCi1tc2dzdHJbMV0gIuWinuWKoOS6hiAlZCDkuKrot6/lvoRcbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MTIKLSMsIHBlcmwtZm9ybWF0Ci1tc2dpZCAidXBkYXRlZCAlZCBwYXRoXG4iCi1tc2dpZF9wbHVyYWwgInVwZGF0ZWQgJWQgcGF0aHNcbiIKLW1zZ3N0clswXSAi5pu05paw5LqGICVkIOS4qui3r+W+hFxuIgotbXNnc3RyWzFdICLmm7TmlrDkuoYgJWQg5Liq6Lev5b6EXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjE1Ci0jLCBwZXJsLWZvcm1hdAotbXNnaWQgInJldmVydGVkICVkIHBhdGhcbiIKLW1zZ2lkX3BsdXJhbCAicmV2ZXJ0ZWQgJWQgcGF0aHNcbiIKLW1zZ3N0clswXSAi6L+Y5Y6f5LqGICVkIOS4qui3r+W+hFxuIgotbXNnc3RyWzFdICLov5jljp/kuoYgJWQg5Liq6Lev5b6EXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjE4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYzNAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ0b3VjaGVkICVkIHBhdGhcbiIKIG1zZ2lkX3BsdXJhbCAidG91Y2hlZCAlZCBwYXRoc1xuIgogbXNnc3RyWzBdICLop6bnorDkuoYgJWQg5Liq6Lev5b6EXG4iCiBtc2dzdHJbMV0gIuinpueisOS6hiAlZCDkuKrot6/lvoRcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MjcKLW1zZ2lkICJVcGRhdGUiCi1tc2dzdHIgIuabtOaWsCIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2MzkKLW1zZ2lkICJSZXZlcnQiCi1tc2dzdHIgIui/mOWOnyIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDo2NjIKLSMsIHBlcmwtZm9ybWF0Ci1tc2dpZCAibm90ZTogJXMgaXMgdW50cmFja2VkIG5vdy5cbiIKLW1zZ3N0ciAi6K+05piO77yaJXMg546w5bey5oiQ5Li65pyq6Lef6Liq55qE44CCXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjczCi1tc2dpZCAiQWRkIHVudHJhY2tlZCIKLW1zZ3N0ciAi5re75Yqg5pyq6Lef6Liq55qEIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY3OQotbXNnaWQgIk5vIHVudHJhY2tlZCBmaWxlcy5cbiIKLW1zZ3N0ciAi5rKh5pyJ5pyq6Lef6Liq55qE5paH5Lu244CCXG4iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAzMworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDUzCiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciBzdGFnaW5nLiIKIG1zZ3N0ciAi5aaC5p6c6KGl5LiB6IO95bmy5YeA5Zyw5bqU55So77yM57yW6L6R5Z2X5bCG56uL5Y2z5qCH6K6w5Li65pqC5a2Y44CCIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwMzYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1NgogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3Igc3Rhc2hpbmcuIgogbXNnc3RyICLlpoLmnpzooaXkuIHog73lubLlh4DlnLDlupTnlKjvvIznvJbovpHlnZflsIbnq4vljbPmoIforrDkuLrotK7ol4/jgIIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTAzOQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDU5CiBtc2dpZCAiIgogIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCiAibWFya2VkIGZvciB1bnN0YWdpbmcuIgogbXNnc3RyICLlpoLmnpzooaXkuIHog73lubLlh4DlnLDlupTnlKjvvIznvJbovpHlnZflsIbnq4vljbPmoIforrDkuLrmnKrmmoLlrZjjgIIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA2MiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNzEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA3NwogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgYXBwbHlpbmcuIgogbXNnc3RyICLlpoLmnpzooaXkuIHog73lubLlh4DlnLDlupTnlKjvvIznvJbovpHlnZflsIbnq4vljbPmoIforrDkuLrlupTnlKjjgIIiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA0NSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNDgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA2NSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA3NAogbXNnaWQgIiIKICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgogIm1hcmtlZCBmb3IgZGlzY2FyZGluZy4iCiBtc2dzdHIgIuWmguaenOihpeS4geiDveW5suWHgOWcsOW6lOeUqO+8jOe8lui+keWdl+Wwhueri+WNs+agh+iusOS4uuS4ouW8g+OAgiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDg1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTEKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHdyaXRpbmc6ICVzIgogbXNnc3RyICLkuLrlhpnlhaXmiZPlvIDlnZfnvJbovpHmlofku7blpLHotKXvvJolcyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDg2Ci1tc2dpZCAiTWFudWFsIGh1bmsgZWRpdCBtb2RlIC0tIHNlZSBib3R0b20gZm9yIGEgcXVpY2sgZ3VpZGUuXG4iCi1tc2dzdHIgIuaJi+WKqOWdl+e8lui+keaooeW8jyAtLSDmn6XnnIvlupXpg6jnmoTlv6vpgJ/mjIfljZfjgIJcbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDkyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIi0tLVxuIgpAQCAtMjAxMDEsMzMgKzIzMTcyLDEyIEBACiAi6KaB5Yig6ZmkICclcycg5byA5aeL55qE6KGM77yM5Yig6Zmk5a6D5Lus44CCXG4iCiAi5LulICVzIOW8gOWni+eahOihjOWwhuiiq+WIoOmZpOOAglxuIgogCi0jLiBUUkFOU0xBVE9SUzogJ2l0JyByZWZlcnMgdG8gdGhlIHBhdGNoIG1lbnRpb25lZCBpbiB0aGUgcHJldmlvdXMgbWVzc2FnZXMuCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMDAKLW1zZ2lkICIiCi0iSWYgaXQgZG9lcyBub3QgYXBwbHkgY2xlYW5seSwgeW91IHdpbGwgYmUgZ2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG9cbiIKLSJlZGl0IGFnYWluLiAgSWYgYWxsIGxpbmVzIG9mIHRoZSBodW5rIGFyZSByZW1vdmVkLCB0aGVuIHRoZSBlZGl0IGlzXG4iCi0iYWJvcnRlZCBhbmQgdGhlIGh1bmsgaXMgbGVmdCB1bmNoYW5nZWQuXG4iCi1tc2dzdHIgIiIKLSLlpoLmnpzkuI3og73lubLlh4DlnLDlupTnlKjvvIzmgqjlsIbmnInmnLrkvJrph43mlrDnvJbovpHjgILlpoLmnpzor6XlnZfnmoTlhajpg6jlhoXlrrnliKDpmaTvvIzliJlcbiIKLSLmraTmrKHnvJbovpHooqvnu4jmraLvvIzor6XlnZfkuI3kvJrooqvkv67mlLnjgIJcbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTE0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExNDAKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gaHVuayBlZGl0IGZpbGUgZm9yIHJlYWRpbmc6ICVzIgogbXNnc3RyICLml6Dms5Xor7vlj5blnZfnvJbovpHmlofku7bvvJolcyIKIAotIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgW3kvbl0KLSMuIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgdGhhdCBpbnB1dAotIy4gYXQgdGhpcyBwb2ludC4KLSMuIENvbnNpZGVyIHRyYW5zbGF0aW5nIChzYXlpbmcgIm5vIiBkaXNjYXJkcyEpIGFzCi0jLiAoc2F5aW5nICJuIiBmb3IgIm5vIiBkaXNjYXJkcyEpIGlmIHRoZSB0cmFuc2xhdGlvbgotIy4gb2YgdGhlIHdvcmQgIm5vIiBkb2VzIG5vdCBzdGFydCB3aXRoIG4uCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMTMKLW1zZ2lkICIiCi0iWW91ciBlZGl0ZWQgaHVuayBkb2VzIG5vdCBhcHBseS4gRWRpdCBhZ2FpbiAoc2F5aW5nIFwibm9cIiBkaXNjYXJkcyEpIFt5L25dPyAiCi1tc2dzdHIgIuaCqOeahOe8lui+keWdl+S4jeiDveiiq+W6lOeUqOOAgumHjeaWsOe8lui+ke+8iOmAieaLqSBcIm5vXCIg5Lii5byD77yB77yJIFt5L25dPyAiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTIyMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQ4CiBtc2dpZCAiIgogInkgLSBzdGFnZSB0aGlzIGh1bmtcbiIKICJuIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVua1xuIgpAQCAtMjAxNDEsNyArMjMxOTEsNyBAQAogImEgLSDmmoLlrZjor6XlnZflkozmnKzmlofku7bkuK3lkI7pnaLnmoTlhajpg6jlnZdcbiIKICJkIC0g5LiN5pqC5a2Y6K+l5Z2X5ZKM5pys5paH5Lu25Lit5ZCO6Z2i55qE5YWo6YOo5Z2XIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyMjgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI1NAogbXNnaWQgIiIKICJ5IC0gc3Rhc2ggdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCBzdGFzaCB0aGlzIGh1bmtcbiIKQEAgLTIwMTU1LDcgKzIzMjA1LDcgQEAKICJhIC0g6LSu6JeP6K+l5Z2X5ZKM5pys5paH5Lu25Lit5ZCO6Z2i55qE5YWo6YOo5Z2XXG4iCiAiZCAtIOS4jei0ruiXj+ivpeWdl+WSjOacrOaWh+S7tuS4reWQjumdoueahOWFqOmDqOWdlyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjM0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNjAKIG1zZ2lkICIiCiAieSAtIHVuc3RhZ2UgdGhpcyBodW5rXG4iCiAibiAtIGRvIG5vdCB1bnN0YWdlIHRoaXMgaHVua1xuIgpAQCAtMjAxNjksNyArMjMyMTksNyBAQAogImEgLSDkuI3mmoLlrZjor6XlnZflkozmnKzmlofku7bkuK3lkI7pnaLnmoTlhajpg6jlnZdcbiIKICJkIC0g5LiN6KaB5LiN5pqC5a2Y6K+l5Z2X5ZKM5pys5paH5Lu25Lit5ZCO6Z2i55qE5YWo6YOo5Z2XIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNDAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI2NgogbXNnaWQgIiIKICJ5IC0gYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4XG4iCiAibiAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXhcbiIKQEAgLTIwMTgzLDcgKzIzMjMzLDcgQEAKICJhIC0g5bqU55So6K+l5Z2X5ZKM5pys5paH5Lu25Lit5ZCO6Z2i55qE5YWo6YOo5Z2XXG4iCiAiZCAtIOS4jeimgeW6lOeUqOivpeWdl+WSjOacrOaWh+S7tuS4reWQjumdoueahOWFqOmDqOWdlyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjQ2CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNzIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjkwCiBtc2dpZCAiIgogInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCiAibiAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIHdvcmt0cmVlXG4iCkBAIC0yMDE5Nyw3ICsyMzI0Nyw3IEBACiAiYSAtIOS4ouW8g+ivpeWdl+WSjOacrOaWh+S7tuS4reWQjumdoueahOWFqOmDqOWdl1xuIgogImQgLSDkuI3opoHkuKLlvIPor6XlnZflkozmnKzmlofku7bkuK3lkI7pnaLnmoTlhajpg6jlnZciCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI1MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjc4CiBtc2dpZCAiIgogInkgLSBkaXNjYXJkIHRoaXMgaHVuayBmcm9tIGluZGV4IGFuZCB3b3JrdHJlZVxuIgogIm4gLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWVcbiIKQEAgLTIwMjExLDcgKzIzMjYxLDcgQEAKICJhIC0g5Lii5byD6K+l5Z2X5ZKM5pys5paH5Lu25Lit5ZCO6Z2i55qE5YWo6YOo5Z2XXG4iCiAiZCAtIOS4jeimgeS4ouW8g+ivpeWdl+WSjOacrOaWh+S7tuS4reWQjumdoueahOWFqOmDqOWdlyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjU4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyODQKIG1zZ2lkICIiCiAieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKICJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWVcbiIKQEAgLTIwMjI1LDcgKzIzMjc1LDIxIEBACiAiYSAtIOW6lOeUqOivpeWdl+WSjOacrOaWh+S7tuS4reWQjumdoueahOWFqOmDqOWdl1xuIgogImQgLSDkuI3opoHlupTnlKjor6XlnZflkozmnKzmlofku7bkuK3lkI7pnaLnmoTlhajpg6jlnZciCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3MworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjk2Cittc2dpZCAiIgorInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gd29ya3RyZWVcbiIKKyJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byB3b3JrdHJlZVxuIgorInEgLSBxdWl0OyBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gYXBwbHkgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKKyJkIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgorbXNnc3RyICIiCisieSAtIOWcqOW3peS9nOWMuuS4reW6lOeUqOivpeWdl1xuIgorIm4gLSDkuI3opoHlnKjlt6XkvZzljLrkuK3lupTnlKjor6XlnZdcbiIKKyJxIC0g6YCA5Ye644CC5LiN6KaB5bqU55So6K+l5Z2X5Y+K5ZCO6Z2i55qE5YWo6YOo5Z2XXG4iCisiYSAtIOW6lOeUqOivpeWdl+WSjOacrOaWh+S7tuS4reWQjumdoueahOWFqOmDqOWdl1xuIgorImQgLSDkuI3opoHlupTnlKjor6XlnZflkozmnKzmlofku7bkuK3lkI7pnaLnmoTlhajpg6jlnZciCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMQogbXNnaWQgIiIKICJnIC0gc2VsZWN0IGEgaHVuayB0byBnbyB0b1xuIgogIi8gLSBzZWFyY2ggZm9yIGEgaHVuayBtYXRjaGluZyB0aGUgZ2l2ZW4gcmVnZXhcbiIKQEAgLTIwMjQ3LDIxMSArMjMzMTEsMTk4IEBACiAiZSAtIOaJi+WKqOe8lui+keW9k+WJjeWdl1xuIgogIj8gLSDmmL7npLrluK7liqlcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA0CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNDIKIG1zZ2lkICJUaGUgc2VsZWN0ZWQgaHVua3MgZG8gbm90IGFwcGx5IHRvIHRoZSBpbmRleCFcbiIKIG1zZ3N0ciAi6YCJ5Lit55qE5Z2X5LiN6IO95bqU55So5Yiw57Si5byV77yBXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMwNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzQzCiBtc2dpZCAiQXBwbHkgdGhlbSB0byB0aGUgd29ya3RyZWUgYW55d2F5PyAiCiBtc2dzdHIgIuaXoOiuuuWmguS9lemDveimgeW6lOeUqOWIsOW3peS9nOWMuuS5iO+8nyIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzA4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNDYKIG1zZ2lkICJOb3RoaW5nIHdhcyBhcHBsaWVkLlxuIgogbXNnc3RyICLmnKrlupTnlKjjgIJcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzE5CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNTcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiaWdub3JpbmcgdW5tZXJnZWQ6ICVzXG4iCiBtc2dzdHIgIuW/veeVpeacquWQiOWFpeeahO+8miVzXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMyOAotbXNnaWQgIk9ubHkgYmluYXJ5IGZpbGVzIGNoYW5nZWQuXG4iCi1tc2dzdHIgIuWPquacieS6jOi/m+WItuaWh+S7tuiiq+S/ruaUueOAglxuIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzMzAKLW1zZ2lkICJObyBjaGFuZ2VzLlxuIgotbXNnc3RyICLmsqHmnInkv67mlLnjgIJcbiIKLQotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzM4Ci1tc2dpZCAiUGF0Y2ggdXBkYXRlIgotbXNnc3RyICLooaXkuIHmm7TmlrAiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5MAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDI4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIG1vZGUgY2hhbmdlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICLmmoLlrZjmqKHlvI/lj5jmm7QgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5MQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDI5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICLmmoLlrZjliKDpmaTliqjkvZwgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM5MgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDMwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAi5pqC5a2Y6K+l5Z2XIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzMwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFzaCBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAi6LSu6JeP5qih5byP5Y+Y5pu0IFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTYKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzNAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFzaCBkZWxldGlvbiBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAi6LSu6JeP5Yig6Zmk5Yqo5L2cIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzOTcKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzNQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTdGFzaCB0aGlzIGh1bmsgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIui0ruiXj+ivpeWdlyBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDAwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5zdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAi5Y+W5raI5pqC5a2Y5qih5byP5Y+Y5pu0IFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MDEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzOQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJVbnN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICLlj5bmtojmmoLlrZjliKDpmaTliqjkvZwgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVuc3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICLlj5bmtojmmoLlrZjor6XlnZcgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IG1vZGUgY2hhbmdlIHRvIGluZGV4IFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICLlsIbmqKHlvI/lj5jmm7TlupTnlKjliLDntKLlvJUgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQwNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQ0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IFt5LG4scSxhLGQlcyw/XT8gIgotbXNnc3RyICLlsIbliKDpmaTlupTnlKjliLDntKLlvJUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIuWwhuWIoOmZpOaTjeS9nOW6lOeUqOWIsOe0ouW8lSBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDA3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICLlsIbor6XlnZflupTnlKjliLDntKLlvJUgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxMAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQ4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ2MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIuS7juW3peS9nOWMuuS4reS4ouW8g+aooeW8j+WPmOabtCBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDExCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAi5LuO5bel5L2c5Yy65Lit5Lii5byD5Yig6Zmk5Yqo5L2cIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MTIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKIG1zZ3N0ciAi5LuO5bel5L2c5Yy65Lit5Lii5byD6K+l5Z2XIFt5LG4scSxhLGQlcyw/XT8gIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MTUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJEaXNjYXJkIG1vZGUgY2hhbmdlIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICLku47ntKLlvJXlkozlt6XkvZzljLrkuK3kuKLlvIPmqKHlvI/lj5jmm7QgW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQxNgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIuS7jue0ouW8leWSjOW3peS9nOWMuuS4reS4ouW8g+WIoOmZpCBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDE3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIuS7jue0ouW8leWSjOW3peS9nOWMuuS4reS4ouW8g+ivpeWdlyBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDIwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgogbXNnc3RyICLlsIbmqKHlvI/lj5jmm7TlupTnlKjliLDntKLlvJXlkozlt6XkvZzljLogW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyMQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU5CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKLW1zZ3N0ciAi5bCG5Yig6Zmk5bqU55So5Yiw57Si5byV5ZKM5bel5L2c5Yy6IFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICLlsIbliKDpmaTmk43kvZzlupTnlKjliLDntKLlvJXlkozlt6XkvZzljLogW3ksbixxLGEsZCVzLD9dPyAiCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyMgorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDYwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCiBtc2dzdHIgIuWwhuivpeWdl+W6lOeUqOWIsOe0ouW8leWSjOW3peS9nOWMuiBbeSxuLHEsYSxkJXMsP10/ICIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTIyCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIuWwhuaooeW8j+WPmOabtOW6lOeUqOWIsOW3peS9nOWMuiBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY5CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICLlsIbliKDpmaTmk43kvZzlupTnlKjliLDlt6XkvZzljLogW3ksbixxLGEsZCVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ3MAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIuWwhuivpeWdl+W6lOeUqOWIsOW3peS9nOWMuiBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTcwCiBtc2dpZCAiTm8gb3RoZXIgaHVua3MgdG8gZ290b1xuIgogbXNnc3RyICLmsqHmnInlhbblroPlj6/kvpvot7PovaznmoTlnZdcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTI5Ci1tc2dpZCAiZ28gdG8gd2hpY2ggaHVuayAoPHJldD4gdG8gc2VlIG1vcmUpPyAiCi1tc2dzdHIgIui3s+i9rOWIsOWTquS4quWdl++8iDzlm57ovaY+IOafpeeci+abtOWkmu+8ie+8nyAiCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTUzMQotbXNnaWQgImdvIHRvIHdoaWNoIGh1bms/ICIKLW1zZ3N0ciAi6Lez6L2s5Yiw5ZOq5Liq5Z2X77yfIgotCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NDAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU4OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJJbnZhbGlkIG51bWJlcjogJyVzJ1xuIgogbXNnc3RyICLml6DmlYjmlbDlrZfvvJonJXMnXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU0NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTkzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNvcnJ5LCBvbmx5ICVkIGh1bmsgYXZhaWxhYmxlLlxuIgogbXNnaWRfcGx1cmFsICJTb3JyeSwgb25seSAlZCBodW5rcyBhdmFpbGFibGUuXG4iCiBtc2dzdHJbMF0gIuWvueS4jei1t++8jOWPquaciSAlZCDkuKrlj6/nlKjlnZfjgIJcbiIKIG1zZ3N0clsxXSAi5a+55LiN6LW377yM5Y+q5pyJICVkIOS4quWPr+eUqOWdl+OAglxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzEKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYxOQogbXNnaWQgIk5vIG90aGVyIGh1bmtzIHRvIHNlYXJjaFxuIgogbXNnc3RyICLmsqHmnInlhbblroPlj6/kvpvmn6Xmib7nmoTlnZdcbiIKIAotIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTc1Ci1tc2dpZCAic2VhcmNoIGZvciByZWdleD8gIgotbXNnc3RyICLkvb/nlKjmraPliJnooajovr7lvI/mkJzntKLvvJ8iCi0KLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTU4OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjM2CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIk1hbGZvcm1lZCBzZWFyY2ggcmVnZXhwICVzOiAlc1xuIgogbXNnc3RyICLplJnor6/nmoTmraPliJnooajovr7lvI8gJXPvvJolc1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1OTgKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY0NgogbXNnaWQgIk5vIGh1bmsgbWF0Y2hlcyB0aGUgZ2l2ZW4gcGF0dGVyblxuIgotbXNnc3RyICLmsqHmnInlkoznu5nlrprmqKHlvI/nm7jljLnphY3nmoTlv6tcbiIKK21zZ3N0ciAi5rKh5pyJ5ZKM57uZ5a6a5qih5byP55u45Yy56YWN55qE5Z2XXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYxMCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MzIKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY1OCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2ODAKIG1zZ2lkICJObyBwcmV2aW91cyBodW5rXG4iCiBtc2dzdHIgIuayoeacieWJjeS4gOS4quWdl1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjM4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjg2CiBtc2dpZCAiTm8gbmV4dCBodW5rXG4iCiBtc2dzdHIgIuayoeacieS4i+S4gOS4quWdl1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NDQKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY5MgogbXNnaWQgIlNvcnJ5LCBjYW5ub3Qgc3BsaXQgdGhpcyBodW5rXG4iCiBtc2dzdHIgIuWvueS4jei1t++8jOS4jeiDveaLhuWIhui/meS4quWdl1xuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY5OAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTcGxpdCBpbnRvICVkIGh1bmsuXG4iCiBtc2dpZF9wbHVyYWwgIlNwbGl0IGludG8gJWQgaHVua3MuXG4iCiBtc2dzdHJbMF0gIuaLhuWIhuS4uiAlZCDlnZfjgIJcbiIKIG1zZ3N0clsxXSAi5ouG5YiG5Li6ICVkIOWdl+OAglxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NjAKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcwOAogbXNnaWQgIlNvcnJ5LCBjYW5ub3QgZWRpdCB0aGlzIGh1bmtcbiIKIG1zZ3N0ciAi5a+55LiN6LW377yM5LiN6IO957yW6L6R6L+Z5Liq5Z2XXG4iCiAKLSM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTcwNgotbXNnaWQgIlJldmlldyBkaWZmIgotbXNnc3RyICLmo4Dop4YgZGlmZiIKLQogIy4gVFJBTlNMQVRPUlM6IHBsZWFzZSBkbyBub3QgdHJhbnNsYXRlIHRoZSBjb21tYW5kIG5hbWVzCiAjLiAnc3RhdHVzJywgJ3VwZGF0ZScsICdyZXZlcnQnLCBldGMuCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MjUKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc3MwogbXNnaWQgIiIKICJzdGF0dXMgICAgICAgIC0gc2hvdyBwYXRocyB3aXRoIGNoYW5nZXNcbiIKICJ1cGRhdGUgICAgICAgIC0gYWRkIHdvcmtpbmcgdHJlZSBzdGF0ZSB0byB0aGUgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzXG4iCkBAIC0yMDQ2OCwxOCArMjM1MTksMTkgQEAKICJkaWZmICAgICAgICAgIC0g5pi+56S6IEhFQUQg5ZKM57Si5byV6Ze05beu5byCXG4iCiAiYWRkIHVudHJhY2tlZCAtIOa3u+WKoOacqui3n+i4quaWh+S7tueahOWGheWuueiHs+aaguWtmOWIl+ihqFxuIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NDIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzQ3Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NTAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzU3Ci0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzY3CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3OTAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzk1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3OTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODA1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MDggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODE1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODI1CiBtc2dpZCAibWlzc2luZyAtLSIKIG1zZ3N0ciAi57y65aSxIC0tIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjMKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyMQogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1bmtub3duIC0tcGF0Y2ggbW9kZTogJXMiCiBtc2dzdHIgIuacquefpeeahCAtLXBhdGNoIOaooeW8j++8miVzIgogCi0jOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzc1CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MjcgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODMzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImludmFsaWQgYXJndW1lbnQgJXMsIGV4cGVjdGluZyAtLSIKIG1zZ3N0ciAi5peg5pWI55qE5Y+C5pWwICVz77yM5pyf5pyb5pivIC0tIgpAQCAtMjA0OTIsNjYgKzIzNTQ0LDY2IEBACiBtc2dpZCAibG9jYWwgdGltZSBvZmZzZXQgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDI0IGhvdXJzXG4iCiBtc2dzdHIgIuacrOWcsOaXtumXtOWBj+enu+mHj+Wkp+S6juetieS6jiAyNCDlsI/ml7ZcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoyMTkgZ2l0LXNlbmQtZW1haWwucGVybDoyMjUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjIzIGdpdC1zZW5kLWVtYWlsLnBlcmw6MjI5CiBtc2dpZCAidGhlIGVkaXRvciBleGl0ZWQgdW5jbGVhbmx5LCBhYm9ydGluZyBldmVyeXRoaW5nIgogbXNnc3RyICLnvJbovpHlmajpnZ7mraPluLjpgIDlh7rvvIznu4jmraLmiYDmnInmk43kvZwiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzAyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMxMAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIiCiAiJyVzJyBjb250YWlucyBhbiBpbnRlcm1lZGlhdGUgdmVyc2lvbiBvZiB0aGUgZW1haWwgeW91IHdlcmUgY29tcG9zaW5nLlxuIgogbXNnc3RyICInJXMnIOWMheWQq+aCqOato+WcqOe8luWGmeeahOS4gOS4quS4remXtOeJiOacrOeahOmCruS7tuOAglxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjMwNworIzogZ2l0LXNlbmQtZW1haWwucGVybDozMTUKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJyVzLmZpbmFsJyBjb250YWlucyB0aGUgY29tcG9zZWQgZW1haWwuXG4iCiBtc2dzdHIgIiclcy5maW5hbCcg5YyF5ZCr57yW6L6R55qE6YKu5Lu244CCXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzI2CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQwOAogbXNnaWQgIi0tZHVtcC1hbGlhc2VzIGluY29tcGF0aWJsZSB3aXRoIG90aGVyIG9wdGlvbnNcbiIKIG1zZ3N0ciAiLS1kdW1wLWFsaWFzZXMg5ZKM5YW25a6D6YCJ6aG55LiN5YW85a65XG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mzk1IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjUwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ4MSBnaXQtc2VuZC1lbWFpbC5wZXJsOjY4MwogbXNnaWQgIkNhbm5vdCBydW4gZ2l0IGZvcm1hdC1wYXRjaCBmcm9tIG91dHNpZGUgYSByZXBvc2l0b3J5XG4iCiBtc2dzdHIgIuS4jeiDveWcqOS7k+W6k+S5i+Wklui/kOihjCBnaXQgZm9ybWF0LXBhdGNoXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Mzk4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ4NAogbXNnaWQgIiIKICJgYmF0Y2gtc2l6ZWAgYW5kIGByZWxvZ2luYCBtdXN0IGJlIHNwZWNpZmllZCB0b2dldGhlciAodmlhIGNvbW1hbmQtbGluZSBvciAiCiAiY29uZmlndXJhdGlvbiBvcHRpb24pXG4iCiBtc2dzdHIgImBiYXRjaC1zaXplYCDlkowgYHJlbG9naW5gIOW/hemhu+WQjOaXtuWumuS5ie+8iOmAmui/h+WRveS7pOihjOaIluiAhemFjee9rumAiemhue+8iVxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQ2OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo0OTcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiVW5rbm93biAtLXN1cHByZXNzLWNjIGZpZWxkOiAnJXMnXG4iCiBtc2dzdHIgIuacquefpeeahCAtLXN1cHByZXNzLWNjIOWtl+aute+8miclcydcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo0OTcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTI4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlVua25vd24gLS1jb25maXJtIHNldHRpbmc6ICclcydcbiIKIG1zZ3N0ciAi5pyq55+l55qEIC0tY29uZmlybSDorr7nva7vvJonJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTI1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU1NgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBhbGlhcyB3aXRoIHF1b3RlcyBpcyBub3Qgc3VwcG9ydGVkOiAlc1xuIgogbXNnc3RyICLorablkYrvvJrkuI3mlK/mjIHluKblvJXlj7fnmoQgc2VuZG1haWwg5Yir5ZCN77yaJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTU4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IGA6aW5jbHVkZTpgIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCiBtc2dzdHIgIuitpuWRiu+8muS4jeaUr+aMgSBgOmluY2x1ZGU6YO+8miVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTI5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU2MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiBgL2ZpbGVgIG9yIGB8cGlwZWAgcmVkaXJlY3Rpb24gbm90IHN1cHBvcnRlZDogJXNcbiIKIG1zZ3N0ciAi6K2m5ZGK77ya5LiN5pSv5oyBIGAvZmlsZWAg5oiWIGB8cGlwZWAg6YeN5a6a5ZCR77yaJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MzQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTY1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6IHNlbmRtYWlsIGxpbmUgaXMgbm90IHJlY29nbml6ZWQ6ICVzXG4iCiBtc2dzdHIgIuitpuWRiu+8muS4jeiDveivhuWIq+eahCBzZW5kbWFpbCDooYzvvJolc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjYxNgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NDkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIkZpbGUgJyVzJyBleGlzdHMgYnV0IGl0IGNvdWxkIGFsc28gYmUgdGhlIHJhbmdlIG9mIGNvbW1pdHNcbiIKQEAgLTIwNTY2LDIxICsyMzYxOCwyMSBAQAogIiAgICAqIOWmguaenOWQq+S5ieS4uuS4gOS4quaWh+S7tu+8jOS9v+eUqCBcIi4vJXNcIu+8jOaIluiAhVxuIgogIiAgICAqIOWmguaenOWQq+S5ieS4uuS4gOS4quiMg+WbtO+8jOS9v+eUqCAtLWZvcm1hdC1wYXRjaCDpgInpobnjgIJcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2MzcKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjcwCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkZhaWxlZCB0byBvcGVuZGlyICVzOiAlcyIKIG1zZ3N0ciAi5peg5rOV5omT5byA55uu5b2VICVzOiAlcyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NjEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njk0CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiIKICJmYXRhbDogJXM6ICVzXG4iCiAid2FybmluZzogbm8gcGF0Y2hlcyB3ZXJlIHNlbnRcbiIKIG1zZ3N0ciAiIgotIuS4pemHje+8miVz77yaJXNcbiIKKyLoh7Tlkb3plJnor6/vvJolc++8miVzXG4iCiAi6K2m5ZGK77ya6KGl5LiB5pyq6IO95Y+R6YCBXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NjcyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcwNQogbXNnaWQgIiIKICJcbiIKICJObyBwYXRjaCBmaWxlcyBzcGVjaWZpZWQhXG4iCkBAIC0yMDU5MCwxNyArMjM2NDIsMTcgQEAKICLmnKrmjIflrprooaXkuIHmlofku7bvvIFcbiIKICJcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo2ODUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzE4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIk5vIHN1YmplY3QgbGluZSBpbiAlcz8iCiBtc2dzdHIgIuWcqCAlcyDkuK3msqHmnInmoIfpopjooYzvvJ8iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6Njk1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcyOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiBmb3Igd3JpdGluZyAlczogJXMiCiBtc2dzdHIgIuS4uuWGmeWFpeaJk+W8gCAlcyDlpLHotKU6ICVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcwNgorIzogZ2l0LXNlbmQtZW1haWwucGVybDo3MzkKIG1zZ2lkICIiCiAiTGluZXMgYmVnaW5uaW5nIGluIFwiR0lUOlwiIHdpbGwgYmUgcmVtb3ZlZC5cbiIKICJDb25zaWRlciBpbmNsdWRpbmcgYW4gb3ZlcmFsbCBkaWZmc3RhdCBvciB0YWJsZSBvZiBjb250ZW50c1xuIgpAQCAtMjA2MDksNDEgKzIzNjYxLDQxIEBACiAiQ2xlYXIgdGhlIGJvZHkgY29udGVudCBpZiB5b3UgZG9uJ3Qgd2lzaCB0byBzZW5kIGEgc3VtbWFyeS5cbiIKIG1zZ3N0ciAiIgogIuS7pSBcIkdJVDpcIiDlvIDlpLTnmoTooYzlsIbooqvliKDpmaTjgIJcbiIKLSLogIPomZHljIXlkKvkuIDkuKrmlbTkvZPnmoQgZGlmZnN0YXQg5oiW6ICF5oKo5q2j5Zyo5YaZ55qE6KGl5LiB55qE55uu5b2V44CCXG4iCisi6ICD6JmR5YyF5ZCr5LiA5Liq5pW05L2T55qE5beu5byC57uf6K6h5oiW6ICF5oKo5q2j5Zyo5YaZ55qE6KGl5LiB55qE55uu5b2V44CCXG4iCiAiXG4iCiAi5aaC5p6c5oKo5LiN5oOz5Y+R6YCB5pGY6KaB77yM5riF6Zmk5YaF5a6544CCXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzMwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc2MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlczogJXMiCiBtc2dzdHIgIuaXoOazleaJk+W8gCAlczogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzQ3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc4MAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcy5maW5hbDogJXMiCiBtc2dzdHIgIuaXoOazleaJk+W8gCAlcy5maW5hbDogJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzkwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgyMwogbXNnaWQgIlN1bW1hcnkgZW1haWwgaXMgZW1wdHksIHNraXBwaW5nIGl0XG4iCiBtc2dzdHIgIuaRmOimgemCruS7tuS4uuepuu+8jOi3s+i/h1xuIgogCiAjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGtlZXAgW3kvTl0gYXMgaXMuCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjgyNQorIzogZ2l0LXNlbmQtZW1haWwucGVybDo4NTgKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVzZSA8JXM+IFt5L05dPyAiCiBtc2dzdHIgIuaCqOehruiupOimgeS9v+eUqCA8JXM+IFt5L05d77yfIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg4MAorIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MTMKIG1zZ2lkICIiCiAiVGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgOGJpdCwgYnV0IGRvIG5vdCBkZWNsYXJlIGEgQ29udGVudC1UcmFuc2Zlci0iCiAiRW5jb2RpbmcuXG4iCiBtc2dzdHIgIuWmguS4i+aWh+S7tuWQqyA4Yml0IOWGheWuue+8jOS9huayoeacieWjsOaYjuS4gOS4qiBDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n44CCXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODg1CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjkxOAogbXNnaWQgIldoaWNoIDhiaXQgZW5jb2Rpbmcgc2hvdWxkIEkgZGVjbGFyZSBbVVRGLThdPyAiCiBtc2dzdHIgIuimgeWjsOaYjiA4Yml0IOS4uuS7gOS5iOagt+eahOe8lueggeagvOW8jyBbVVRGLThd77yfIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjg5MworIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MjYKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiIgogIlJlZnVzaW5nIHRvIHNlbmQgYmVjYXVzZSB0aGUgcGF0Y2hcbiIKQEAgLTIwNjU1LDIwICsyMzcwNywyMCBAQAogIlx0JXNcbiIKICLljIXlkKvmqKHniYjmoIfpopggJyoqKiBTVUJKRUNUIEhFUkUgKioqJ+OAguWmguaenOehruWunuaDs+imgeWPkemAge+8jOS9v+eUqOWPguaVsCAtLWZvcmNl44CCXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTEyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjk0NQogbXNnaWQgIlRvIHdob20gc2hvdWxkIHRoZSBlbWFpbHMgYmUgc2VudCAoaWYgYW55b25lKT8iCiBtc2dzdHIgIumCruS7tuWwhuimgeWPkemAgee7meiwge+8nyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MzAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTYzCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImZhdGFsOiBhbGlhcyAnJXMnIGV4cGFuZHMgdG8gaXRzZWxmXG4iCi1tc2dzdHIgIuS4pemHje+8muWIq+WQjSAnJXMnIOaJqeWxleS4uuWug+iHquW3sVxuIgorbXNnc3RyICLoh7Tlkb3plJnor6/vvJrliKvlkI0gJyVzJyDmianlsZXkuLrlroPoh6rlt7FcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDo5NDIKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTc1CiBtc2dpZCAiTWVzc2FnZS1JRCB0byBiZSB1c2VkIGFzIEluLVJlcGx5LVRvIGZvciB0aGUgZmlyc3QgZW1haWwgKGlmIGFueSk/ICIKIG1zZ3N0ciAiTWVzc2FnZS1JRCDooqvnlKjkvZznrKzkuIDlsIHpgq7ku7bnmoQgSW4tUmVwbHktVG8g77yfIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwMDAgZ2l0LXNlbmQtZW1haWwucGVybDoxMDA4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwMzMgZ2l0LXNlbmQtZW1haWwucGVybDoxMDQxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgImVycm9yOiB1bmFibGUgdG8gZXh0cmFjdCBhIHZhbGlkIGFkZHJlc3MgZnJvbTogJXNcbiIKIG1zZ3N0ciAi6ZSZ6K+v77ya5LiN6IO95LuOICVzIOS4reaPkOWPluS4gOS4quacieaViOeahOmCruS7tuWcsOWdgFxuIgpAQCAtMjA2NzYsMTYgKzIzNzI4LDE2IEBACiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3FdIFtkXSBbZV0gaW4geW91cgogIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAogIy4gYXQgdGhpcyBwb2ludC4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTAxMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDQ1CiBtc2dpZCAiV2hhdCB0byBkbyB3aXRoIHRoaXMgYWRkcmVzcz8gKFtxXXVpdHxbZF1yb3B8W2VdZGl0KTogIgogbXNnc3RyICLlpoLkvZXlpITnkIbov5nkuKrlnLDlnYDvvJ8oW3FddWl0fFtkXXJvcHxbZV1kaXQp77yaIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEzMjkKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM2MgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJDQSBwYXRoIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIKIG1zZ3N0ciAiQ0Eg6Lev5b6EIFwiJXNcIiDkuI3lrZjlnKgiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQxMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDQ1CiBtc2dpZCAiIgogIiAgICBUaGUgQ2MgbGlzdCBhYm92ZSBoYXMgYmVlbiBleHBhbmRlZCBieSBhZGRpdGlvbmFsXG4iCiAiICAgIGFkZHJlc3NlcyBmb3VuZCBpbiB0aGUgcGF0Y2ggY29tbWl0IG1lc3NhZ2UuIEJ5IGRlZmF1bHRcbiIKQEAgLTIwNzEwLDEyOCArMjM3NjIsMTI4IEBACiAjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW3ldIFtuXSBbZV0gW3FdIFthXSBpbiB5b3VyCiAjLiB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoIGlucHV0CiAjLiBhdCB0aGlzIHBvaW50LgotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDI3CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjAKIG1zZ2lkICJTZW5kIHRoaXMgZW1haWw/IChbeV1lc3xbbl1vfFtlXWRpdHxbcV11aXR8W2FdbGwpOiAiCiBtc2dzdHIgIuWPkemAgei/meWwgemCruS7tu+8nyhbeV1lc3xbbl1vfFtlXWRpdHxbcV11aXR8W2FdbGwpOiAiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQzMAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDYzCiBtc2dpZCAiU2VuZCB0aGlzIGVtYWlsIHJlcGx5IHJlcXVpcmVkIgogbXNnc3RyICLlj5HpgIHopoHmsYLnmoTpgq7ku7blm57lpI0iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ1OAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNDkxCiBtc2dpZCAiVGhlIHJlcXVpcmVkIFNNVFAgc2VydmVyIGlzIG5vdCBwcm9wZXJseSBkZWZpbmVkLiIKIG1zZ3N0ciAi6KaB5rGC55qEIFNNVFAg5pyN5Yqh5Zmo5pyq6KKr5q2j56Gu5a6a5LmJ44CCIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MDUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUzOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBTVEFSVFRMUyEgJXMiCiBtc2dzdHIgIuacjeWKoeWZqOS4jeaUr+aMgSBTVEFSVFRMU++8gSVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MTAgZ2l0LXNlbmQtZW1haWwucGVybDoxNTE0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDMgZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIlNUQVJUVExTIGZhaWxlZCEgJXMiCiBtc2dzdHIgIlNUQVJUVExTIOWksei0pe+8gSVzIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MjMKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU1NgogbXNnaWQgIlVuYWJsZSB0byBpbml0aWFsaXplIFNNVFAgcHJvcGVybHkuIENoZWNrIGNvbmZpZyBhbmQgdXNlIC0tc210cC1kZWJ1Zy4iCiBtc2dzdHIgIuaXoOazleato+ehruWcsOWIneWni+WMliBTTVRQ44CC5qOA5p+l6YWN572u5bm25L2/55SoIC0tc210cC1kZWJ1Z+OAgiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiRmFpbGVkIHRvIHNlbmQgJXNcbiIKIG1zZ3N0ciAi5peg5rOV5Y+R6YCBICVzXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU0NAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc3CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRyeS1TZW50ICVzXG4iCiBtc2dzdHIgIua8lOS5oOWPkemAgSAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDQKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3NwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJTZW50ICVzXG4iCiBtc2dzdHIgIuato+WPkemAgSAlc1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3OQogbXNnaWQgIkRyeS1PSy4gTG9nIHNheXM6XG4iCiBtc2dzdHIgIua8lOS5oOaIkOWKn+OAguaXpeW/l+ivtO+8mlxuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3OQogbXNnaWQgIk9LLiBMb2cgc2F5czpcbiIKIG1zZ3N0ciAiT0vjgILml6Xlv5for7TvvJpcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTU4CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1OTEKIG1zZ2lkICJSZXN1bHQ6ICIKIG1zZ3N0ciAi57uT5p6c77yaIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NjEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU5NAogbXNnaWQgIlJlc3VsdDogT0tcbiIKIG1zZ3N0ciAi57uT5p6c77yaT0tcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc5CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2MTIKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiY2FuJ3Qgb3BlbiBmaWxlICVzIgogbXNnc3RyICLml6Dms5XmiZPlvIDmlofku7YgJXMiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYyNiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NDYKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY1OSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NzkKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiKG1ib3gpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiKG1ib3gpIOa3u+WKoCBjY++8miVzIOiHquihjCAnJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTYzMgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNjY1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIihtYm94KSBBZGRpbmcgdG86ICVzIGZyb20gbGluZSAnJXMnXG4iCiBtc2dzdHIgIihtYm94KSDmt7vliqAgdG/vvJolcyDoh6rooYwgJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2ODUKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTcxOAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIobm9uLW1ib3gpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKIG1zZ3N0ciAiKG5vbi1tYm94KSDmt7vliqAgY2PvvJolcyDoh6rooYwgJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE3MjAKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc1MwogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoYm9keSkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgogbXNnc3RyICIoYm9keSkg5re75YqgIGNjOiAlcyDoh6rooYwgJyVzJ1xuIgogCi0jOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4MzEKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg2NAogIywgcGVybC1mb3JtYXQKIG1zZ2lkICIoJXMpIENvdWxkIG5vdCBleGVjdXRlICclcyciCiBtc2dzdHIgIiglcykg5LiN6IO95omn6KGMICclcyciCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTgzOAorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODcxCiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiglcykgQWRkaW5nICVzOiAlcyBmcm9tOiAnJXMnXG4iCiBtc2dzdHIgIiglcykg5re75YqgICVzOiAlcyDoh6rvvJonJXMnXG4iCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTg0MgorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODc1CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIiglcykgZmFpbGVkIHRvIGNsb3NlIHBpcGUgdG8gJyVzJyIKIG1zZ3N0ciAiKCVzKSDml6Dms5XlhbPpl63nrqHpgZPoh7MgJyVzJyIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODcyCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5MDUKIG1zZ2lkICJjYW5ub3Qgc2VuZCBtZXNzYWdlIGFzIDdiaXQiCiBtc2dzdHIgIuS4jeiDveS7pSA3Yml0IOW9ouW8j+WPkemAgeS/oeaBryIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODgwCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5MTMKIG1zZ2lkICJpbnZhbGlkIHRyYW5zZmVyIGVuY29kaW5nIgogbXNnc3RyICLml6DmlYjnmoTkvKDpgIHnvJbnoIEiCiAKLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTkyMSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NzMgZ2l0LXNlbmQtZW1haWwucGVybDoxOTgzCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NTQgZ2l0LXNlbmQtZW1haWwucGVybDoyMDA2IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjAxNgogIywgcGVybC1mb3JtYXQKIG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlczogJXNcbiIKIG1zZ3N0ciAi5LiN6IO95omT5byAICVz77yaJXNcbiIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTI0CisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NTcKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiJXM6IHBhdGNoIGNvbnRhaW5zIGEgbGluZSBsb25nZXIgdGhhbiA5OTggY2hhcmFjdGVycyIKIG1zZ3N0ciAiJXPvvJrooaXkuIHljIXlkKvkuIDkuKrotoXov4cgOTk4IOWtl+espueahOihjCIKIAotIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTQxCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NzQKICMsIHBlcmwtZm9ybWF0CiBtc2dpZCAiU2tpcHBpbmcgJXMgd2l0aCBiYWNrdXAgc3VmZml4ICclcycuXG4iCiBtc2dzdHIgIueVpei/hyAlcyDlkKvlpIfku73lkI7nvIAgJyVzJ+OAglxuIgogCiAjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGtlZXAgIlt5fE5dIiBhcyBpcy4KLSM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk0NQorIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTc4CiAjLCBwZXJsLWZvcm1hdAogbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBzZW5kICVzPyBbeXxOXTogIgogbXNnc3RyICLmgqjnnJ/nmoTopoHlj5HpgIEgJXPvvJ9beXxOXe+8miIKZGlmZiAtLWdpdCBhL3BvL3poX1RXLnBvIGIvcG8vemhfVFcucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWIwY2Q2ZAotLS0gL2Rldi9udWxsCisrKyBiL3BvL3poX1RXLnBvCkBAIC0wLDAgKzEsMjQwMDAgQEAKKyMgQ2hpbmVzZSAodHJhZGl0aW9uYWwpIHRyYW5zbGF0aW9ucyBmb3IgR2l0IHBhY2thZ2UKKyMgR2l0IOWll+ijnei7n+mrlOeahOe5gemrlOS4reaWh+e/u+itry4KKyMgQ29weXJpZ2h0IChDKSAyMDEyLDIwMTMgSmlhbmcgWGluIDx3b3JsZGhlbGxvLm5ldCBBVCBnbWFpbC5jb20+CisjIENvcHlyaWdodCAoQykgMjAxOSwyMDE5IFlpLUp5dW4gUGFuIDxwYW45MzQxMkBnbWFpbC5jb20+CisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBHaXQgcGFja2FnZS4KKyMgQ29udHJpYnV0b3JzIChDTik6CisjICAgLSBGYW5neWkgWmhvdSA8bWUgQVQgZmFuZ3lpLmlvPgorIyAgIC0gSmlhbmcgWGluIDx3b3JsZGhlbGxvLm5ldCBBVCBnbWFpbC5jb20+CisjICAgLSBMaWFuIENoZW5nIDxyaHl0aG0ubWFpbCBBVCBnbWFpbC5jb20+CisjICAgLSBSYXkgQ2hlbiA8b2xkc2hhcnAgQVQgZ21haWwuY29tPgorIyAgIC0gUmlrdSA8bHUucmlrdSBBVCBnbWFpbC5jb20+CisjICAgLSBUaHluc29uIDxsYW54aW5nY2FuIEFUIGdtYWlsLmNvbT4KKyMgICAtIHdzMzM4OSA8d2lsbHNtaXRoMzM4OSBBVCBnbWFpbC5jb20+CisjICAgLSBXYW5nIFNoZW5nIDx3YW5nc2hlbmcyMDA4bG92ZSBBVCAxNjMuY29tPgorIyAgIC0g5L6d5LqRIDxsaWx5ZGp3ZyBBVCBnbWFpbC5jb20+CisjICAgLSBZaWNoYW8gWXUgPHl5YzE5OTIgQVQgZ21haWwuY29tPgorIyAgIC0gWmh1YW5nIFlhIDx6aHVhbmd5YSBBVCBtZS5jb20+CisjIENvbnRyaWJ1dG9ycyAoVFcpOgorIworIyAgR2l0IGdsb3NzYXJ5IGZvciBDaGluZXNlIHRyYW5zbGF0b3JzCisjCisjICAgRW5nbGlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgQ2hpbmVzZQorIyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyAgIDMtd2F5IG1lcmdlICAgICAgICAgICAgICAgICAgICAgIHwgIOS4ieaWueWQiOS9tQorIyAgIGFiYnJldmlhdGUgICAgICAgICAgICAgICAgICAgICAgIHwgIOewoeWvq++8iOeahCBTSEEtMSDlgLzvvIkKKyMgICBhbHRlcm5hdGUgb2JqZWN0IGRhdGFiYXNlICAgICAgICB8ICDlgpnnlKjnianku7bluqsKKyMgICBhbWVuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDkv67oo5wKKyMgICBhbmNlc3RvciAgICAgICAgICAgICAgICAgICAgICAgICB8ICDnpZblhYjvvIznpZblhYjmj5DkuqQKKyMgICBhbm5vdGF0ZWQgdGFnICAgICAgICAgICAgICAgICAgICB8ICDpmYToqLvmqJnnsaQKKyMgICBiYXJlIHJlcG9zaXRvcnkgICAgICAgICAgICAgICAgICB8ICDntJTniYjmnKzluqsKKyMgICBiaXNlY3QgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDkuozliIblsIvmib4KKyMgICBibG9iIG9iamVjdCAgICAgICAgICAgICAgICAgICAgICB8ICDos4fmlpnnianku7YKKyMgICBicmFuY2ggICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDliIbmlK8KKyMgICBidW5kbGUgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDljIUKKyMgICBieXBhc3MgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDnuZ7pgY4KKyMgICBjYWNoZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDntKLlvJXvvIjnmoTliKXnqLHvvIkKKyMgICBjaGFpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDvvIjmj5DkuqTvvInpj4gKKyMgICBjaGFuZ2VzZXQgICAgICAgICAgICAgICAgICAgICAgICB8ICDorormm7Tpm4YKKyMgICBjaGVja291dCAgICAgICAgICAgICAgICAgICAgICAgICB8ICDnsL3lh7oKKyMgICBjaGVja3N1bSAgICAgICAgICAgICAgICAgICAgICAgICB8ICDmoKHpqZfvvIzmoKHpqZflkowKKyMgICBjaGVycnktcGlja2luZyAgICAgICAgICAgICAgICAgICB8ICDmj4DpgbgKKyMgICBjbGVhbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDkub7mt6jvvIjnmoTlt6XkvZzljYDvvIkKKyMgICBjbG9uZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDopIfoo70KKyMgICBjb21taXQgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDmj5DkuqQKKyMgICBjb21taXQgbWVzc2FnZSAgICAgICAgICAgICAgICAgICB8ICDmj5DkuqToqqrmmI4KKyMgICBjb21taXQgb2JqZWN0ICAgICAgICAgICAgICAgICAgICB8ICDmj5DkuqTnianku7YKKyMgICBjb21taXQtaXNoIChhbHNvIGNvbW1pdHRpc2gpICAgICB8ICDmj5DkuqTomZ8KKyMgICBjb25mbGljdCAgICAgICAgICAgICAgICAgICAgICAgICB8ICDooZ3nqoEKKyMgICBjb3JlIEdpdCAgICAgICAgICAgICAgICAgICAgICAgICB8ICDmoLjlv4MgR2l0IOW3peWFtworIyAgIGNvdmVyIGxldHRlciAgICAgICAgICAgICAgICAgICAgIHwgIOmZhOWHvQorIyAgIERBRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIOacieWQkeeEoeeSsOWclgorIyAgIGRhbmdsaW5nIG9iamVjdCAgICAgICAgICAgICAgICAgIHwgIOaHuOepuueJqeS7tgorIyAgIGRldGFjaGVkIEhFQUQgICAgICAgICAgICAgICAgICAgIHwgIOWIhumboumWi+mgreaMh+aomQorIyAgIGRpcmVjdG9yeSAgICAgICAgICAgICAgICAgICAgICAgIHwgIOebrumMhAorIyAgIGRpcnR5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIOmrku+8iOeahOW3peS9nOWNgO+8iQorIyAgIGR1bWIgSFRUUCBwcm90b2NvbCAgICAgICAgICAgICAgIHwgIOWVniBIVFRQIOWNlOWumgorIyAgIGV2aWwgbWVyZ2UgICAgICAgICAgICAgICAgICAgICAgIHwgIOWjnuWQiOS9te+8iOWQiOS9teW8leWFpeS6hueItuaPkOS6pOaykuacieeahOS/ruaUue+8iQorIyAgIGZhc3QtZm9yd2FyZCAgICAgICAgICAgICAgICAgICAgIHwgIOW/q+i9iQorIyAgIGZldGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIOWPluW+lworIyAgIGZpbGUgc3lzdGVtICAgICAgICAgICAgICAgICAgICAgIHwgIOaqlOahiOezu+e1sQorIyAgIGZvcmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIOihjeeUnworIyAgIEdpdCBhcmNoaXZlICAgICAgICAgICAgICAgICAgICAgIHwgIOeJiOacrOW6q++8iOWwjeaWvCBhcmNoIOS9v+eUqOiAhe+8iQorIyAgIGdpdGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGdpdGZpbGXvvIjniYjmnKzluqvpgKPntZDmqpTmoYjvvIkKKyMgICBncmFmdHMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDvvIjmj5DkuqTvvInnp7vmpI0KKyMgICBoYXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDpm5zmuYrlgLwKKyMgICBIRUFEICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBIRUFE77yI6ZaL6aCt5oyH5qiZ77yM5Lqm5Y2z55uu5YmN5YiG5pSv77yJCisjICAgaGVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg6aCt44CB5YiG5pSvCisjICAgaGVhZCByZWYgICAgICAgICAgICAgICAgICAgICAgICAgfCAg5YiG5pSvCisjICAgaGVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg5qiZ6aCt6KiK5oGvCisjICAgaG9vayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg5o6b6YmkCisjICAgaHVuayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg5L+u6KOc5qqU54mH5q61CisjICAgaW5kZXggICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg57Si5byVCisjICAgaW5kZXggZW50cnkgICAgICAgICAgICAgICAgICAgICAgfCAg57Si5byV5qKd55uuCisjICAgbG9vc2Ugb2JqZWN0ICAgICAgICAgICAgICAgICAgICAgfCAg6ayG5pWj54mp5Lu2CisjICAgbG9vc2UgcmVmcyAgICAgICAgICAgICAgICAgICAgICAgfCAg6ayG5pWj5byV55SoCisjICAgbWFzdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbWFzdGVy77yI6aCQ6Kit5YiG5pSv5ZCN77yJCisjICAgbWVyZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg5ZCI5L21CisjICAgb2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg54mp5Lu2CisjICAgb2JqZWN0IGRhdGFiYXNlICAgICAgICAgICAgICAgICAgfCAg54mp5Lu25bqrCisjICAgb2JqZWN0IGlkZW50aWZpZXIgICAgICAgICAgICAgICAgfCAg54mp5Lu26K2Y5Yil5YWDCisjICAgb2JqZWN0IG5hbWUgICAgICAgICAgICAgICAgICAgICAgfCAg54mp5Lu25ZCN56ixCisjICAgb2JqZWN0IHR5cGUgICAgICAgICAgICAgICAgICAgICAgfCAg54mp5Lu26aGe5Z6LCisjICAgb2N0b3B1cyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg56ug6a2a5byP5ZCI5L2177yI5YWp5YiG5pSv5Lul5LiK55qE5ZCI5L2177yJCisjICAgb3JpZ2luICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgb3JpZ2lu77yI6aCQ6Kit55qE6YGg56uv5ZCN56ix77yJCisjICAgcGFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg5YyFCisjICAgcGFjayBpbmRleCAgICAgICAgICAgICAgICAgICAgICAgfCAg5YyF57Si5byVCisjICAgcGFja2ZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgfCAg5YyF5qqU5qGICisjICAgcGFyZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg54i25o+Q5LqkCisjICAgcGF0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg5L+u6KOc5qqUCisjICAgcGF0aHNwZWMgICAgICAgICAgICAgICAgICAgICAgICAgfCAg6Lev5b6R6KaP5qC8CisjICAgcGF0dGVybiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg5qih5byPCisjICAgcGlja2F4ZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg5oyW5o6YCisjICAgcGx1bWJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgfCAg566h5Lu277yIR2l0IOW6leWxpOaguOW/g+aMh+S7pOeahOWIpeeose+8iQorIyAgIHBvcmNlbGFpbiAgICAgICAgICAgICAgICAgICAgICAgIHwgIOeTt+S7tu+8iEdpdCDkuIrlsaTlsIHoo53mjIfku6TnmoTliKXnqLHvvIkKKyMgICBwcmVjaW91cy1vYmplY3RzIHJlcG8gICAgICAgICAgICB8ICDnj43lk4HniYjmnKzluqsKKyMgICBwcnVuZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDmuIXpmaQKKyMgICBwdWxsICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDmi4nvvIzmi4nlj5YKKyMgICBwdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDmjqjvvIzmjqjpgIEKKyMgICByZWFjaGFibGUgICAgICAgICAgICAgICAgICAgICAgICB8ICDlj6/ku6Xlj5blvpcKKyMgICByZWJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDph43lrprln7rlupUKKyMgICByZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDlvJXnlKgKKyMgICByZWZsb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDlvJXnlKjml6XoqowKKyMgICByZWZzcGVjICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDlvJXnlKjopo/moLwKKyMgICByZW1vdGUgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDpgaDnq6/vvIzpgaDnq6/niYjmnKzluqsKKyMgICByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICAgICAgICAgICB8ICDpgaDnq6/ov73ouaTliIbmlK8KKyMgICByZXBsYXkgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDph43mlL4KKyMgICByZXBvICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDniYjmnKzluqsKKyMgICByZXBvc2l0b3J5ICAgICAgICAgICAgICAgICAgICAgICB8ICDniYjmnKzluqsKKyMgICByZXNvbHZlICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDvvIjooZ3nqoHvvInop6PmsboKKyMgICByZXZlcnQgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDpgoTljp/mj5DkuqQKKyMgICByZXZpc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICDniYjmnKwKKyMgICByZXdpbmQgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDpgoTljp8gKEZ1enp5KQorIyAgIFNDTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIOWOn+Wni+eivOeuoeeQhu+8iOW3peWFt++8iQorIyAgIFNIQS0xICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFNIQS0x77yI5a6J5YWo6Zuc5rmK5ryU566X5rOVMe+8iQorIyAgIHNoYWxsb3cgcmVwb3NpdG9yeSAgICAgICAgICAgICAgIHwgIOa3uu+8iOikh+ijve+8ieeJiOacrOW6qworIyAgIHNpZ25lZCB0YWcgICAgICAgICAgICAgICAgICAgICAgIHwgIOewveWQjeaomeexpAorIyAgIHNtYXJ0IEhUVFAgcHJvdG9jb2wgICAgICAgICAgICAgIHwgIOaZuuaFpyBIVFRQIOWNlOWumgorIyAgIHNxdWFzaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIOWjk+e4rgorIyAgIHN0YWdlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG4uIOaaq+WtmOWNgO+8iOWNs+e0ouW8le+8iTsgdi4g5pqr5a2YCisjICAgc3Rhc2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbi4g5YSy6JeP5Y2AOyB2LiDlhLLol48KKyMgICBzdWJtb2R1bGUgICAgICAgICAgICAgICAgICAgICAgICB8ICDlrZDmqKHntYQKKyMgICBzeW1yZWYgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDnrKbomZ/lvJXnlKgKKyMgICB0YWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBuLiDmqJnnsaQ7IHYuIOaJk+aomeexpAorIyAgIHRhZyBvYmplY3QgICAgICAgICAgICAgICAgICAgICAgIHwgIOaomeexpOeJqeS7tgorIyAgIHRhZ2dlciAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIOaJk+aomeexpOiAhQorIyAgIHRvcGljIGJyYW5jaCAgICAgICAgICAgICAgICAgICAgIHwgIOS4u+mhjOWIhuaUrworIyAgIHRyYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIOi/vei5pAorIyAgIHRyYWlsZXIgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIOWwvumDqOe9suWQjQorIyAgIHRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIOaoue+8iOW3peS9nOWNgOaIluaoueeLgOeJqeS7tu+8iQorIyAgIHRyZWUgb2JqZWN0ICAgICAgICAgICAgICAgICAgICAgIHwgIOaoueeLgOeJqeS7tgorIyAgIHRyZWUtaXNoIChhbHNvIHRyZWVpc2gpICAgICAgICAgIHwgIOaoueeLgOeJqeS7tu+8iOaIluWPr+S7peino+aekOeCuuS4gOaoueeLgOeJqeS7tu+8iQorIyAgIHVubWVyZ2VkIGluZGV4ICAgICAgICAgICAgICAgICAgIHwgIOacquWQiOS9tee0ouW8lQorIyAgIHVucGFjayAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIOino+WMhQorIyAgIHVucmVhY2hhYmxlIG9iamVjdCAgICAgICAgICAgICAgIHwgIOeEoeazleWPluW+l+eJqeS7tgorIyAgIHVuc3RhZ2UgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIOWPlua2iOaaq+WtmAorIyAgIHVwc3RyZWFtICAgICAgICAgICAgICAgICAgICAgICAgIHwgIOS4iua4uAorIyAgIHVwc3RyZWFtIGJyYW5jaCAgICAgICAgICAgICAgICAgIHwgIOS4iua4uOWIhuaUrworIyAgIHdvcmtpbmcgdHJlZSAgICAgICAgICAgICAgICAgICAgIHwgIOW3peS9nOWNgAorIworIyBwYW45MzQxMiA8cGFuOTM0MTJAZ21haWwuY29tPiwgMjAxOS4KK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IEdpdFxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBHaXQgTWFpbGluZyBMaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPlxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE5LTEyLTMwIDA4OjQ4KzA4MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE5LTEyLTMxIDIxOjA2KzA4MDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IHBhbjkzNDEyIDxwYW45MzQxMkBnbWFpbC5jb20+XG4iCisiTGFuZ3VhZ2UtVGVhbTogQ2hpbmVzZSA8Y2hpbmVzZS1sMTBuQGdvb2dsZWdyb3Vwcy5jb20+XG4iCisiTGFuZ3VhZ2U6IHpoX0NOXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiWC1aaENvbnZlcnRlcjog57mB5YyW5aesIGRpY3QtZjRiYzYxN2UtcjkxMCBAIDIwMTkvMTEvMTYgMjA6MjM6MTIgfCIKKyIgaHR0cHM6Ly96aGNvbnZlcnQub3JnXG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCisiWC1HZW5lcmF0b3I6IExva2FsaXplIDE5LjEyLjBcbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MzQ3CisjLCBjLWZvcm1hdAorI3wgbXNnaWQgIkh1aCAoJXMpP1xuIgorbXNnaWQgIkh1aCAoJXMpPyIKK21zZ3N0ciAi5Zev77yIJXPvvInvvJ8iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjUwMCBhZGQtaW50ZXJhY3RpdmUuYzo4MDEgc2VxdWVuY2VyLmM6MzIxNgorIzogc2VxdWVuY2VyLmM6MzY1NiBidWlsdGluL3JlYmFzZS5jOjg3MSBidWlsdGluL3JlYmFzZS5jOjE2NDMKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjAxOSBidWlsdGluL3JlYmFzZS5jOjIwNjMKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBpbmRleCIKK21zZ3N0ciAi5LiN6IO96K6A5Y+W57Si5byVIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo1NTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyNjkKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Mjk0Cittc2dpZCAiYmluYXJ5IgorbXNnc3RyICLkuozpgLLkvY0iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjYxMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjI3OAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMzIKK21zZ2lkICJub3RoaW5nIgorbXNnc3RyICLnhKEiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjYxNCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjMxNAorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDozMjkKK21zZ2lkICJ1bmNoYW5nZWQiCittc2dzdHIgIuaykuacieS/ruaUuSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NjUxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjQzCittc2dpZCAiVXBkYXRlIgorbXNnc3RyICLmm7TmlrAiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjY2OCBhZGQtaW50ZXJhY3RpdmUuYzo4NTYKKyMsIGMtZm9ybWF0CisjfCBtc2dpZCAiY291bGQgbm90IHN0YXQgJyVzJyIKK21zZ2lkICJjb3VsZCBub3Qgc3RhZ2UgJyVzJyIKK21zZ3N0ciAi5LiN6IO95pqr5a2YICclcyciCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjY3NCBhZGQtaW50ZXJhY3RpdmUuYzo4NjMgc2VxdWVuY2VyLmM6MzQwOQorIzogYnVpbHRpbi9yZWJhc2UuYzo4OTUKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgaW5kZXgiCittc2dzdHIgIuS4jeiDveWvq+WFpee0ouW8lSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6Njc3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjI4CisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJ1cGRhdGVkICVkIHBhdGhcbiIKK21zZ2lkX3BsdXJhbCAidXBkYXRlZCAlZCBwYXRoc1xuIgorbXNnc3RyWzBdICLmm7TmlrDkuoYgJWQg5YCL6Lev5b6RXG4iCittc2dzdHJbMV0gIuabtOaWsOS6hiAlZCDlgIvot6/lvpFcbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6Njk1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Njc4CisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJub3RlOiAlcyBpcyB1bnRyYWNrZWQgbm93LlxuIgorbXNnc3RyICLoqqrmmI7vvJolcyDnj77lt7LmiJDngrrmnKrov73ouaTnmoTjgIJcbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NzAwIGFwcGx5LmM6NDEwOCBidWlsdGluL2NoZWNrb3V0LmM6MjgxCisjOiBidWlsdGluL3Jlc2V0LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1ha2VfY2FjaGVfZW50cnkgZmFpbGVkIGZvciBwYXRoICclcyciCittc2dzdHIgIuWwjei3r+W+kSAnJXMnIOeahCBtYWtlX2NhY2hlX2VudHJ5IOWLleS9nOWkseaVlyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6NzMwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjU1Cittc2dpZCAiUmV2ZXJ0IgorbXNnc3RyICLpgoTljp8iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjc0NgorI3wgbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBIRUFEIgorbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBIRUFEXnt0cmVlfSIKK21zZ3N0ciAi5LiN6IO96Kej5p6QIEhFQURee+aouX0iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjc4NCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjYzMQorIywgYy1mb3JtYXQsIHBlcmwtZm9ybWF0Cittc2dpZCAicmV2ZXJ0ZWQgJWQgcGF0aFxuIgorbXNnaWRfcGx1cmFsICJyZXZlcnRlZCAlZCBwYXRoc1xuIgorbXNnc3RyWzBdICLpgoTljp/kuoYgJWQg5YCL6Lev5b6RXG4iCittc2dzdHJbMV0gIumChOWOn+S6hiAlZCDlgIvot6/lvpFcbiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6ODM1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6Njk1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVudHJhY2tlZCBmaWxlcy5cbiIKK21zZ3N0ciAi5rKS5pyJ5pyq6L+96Lmk55qE5qqU5qGI44CCXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjgzOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjY4OQorbXNnaWQgIkFkZCB1bnRyYWNrZWQiCittc2dzdHIgIuaWsOWinuacqui/vei5pOeahCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6ODY2IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjI1CisjLCBjLWZvcm1hdCwgcGVybC1mb3JtYXQKK21zZ2lkICJhZGRlZCAlZCBwYXRoXG4iCittc2dpZF9wbHVyYWwgImFkZGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gIuWinuWKoOS6hiAlZCDlgIvot6/lvpFcbiIKK21zZ3N0clsxXSAi5aKe5Yqg5LqGICVkIOWAi+i3r+W+kVxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo4OTYKKyMsIGMtZm9ybWF0CisjfCBtc2dpZCAiaWdub3JpbmcgdW5tZXJnZWQ6ICVzXG4iCittc2dpZCAiaWdub3JpbmcgdW5tZXJnZWQ6ICVzIgorbXNnc3RyICLlv73nlaXmnKrlkIjkvbXvvJolcyIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTA4IGFkZC1wYXRjaC5jOjEzMzEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIk9ubHkgYmluYXJ5IGZpbGVzIGNoYW5nZWQuXG4iCittc2dzdHIgIuWPquacieS6jOmAsuS9jeaqlOahiOiiq+S/ruaUueOAglxuIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5MTAgYWRkLXBhdGNoLmM6MTMyOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gY2hhbmdlcy5cbiIKK21zZ3N0ciAi5rKS5pyJ5L+u5pS544CCXG4iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjkxNCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNzYKK21zZ2lkICJQYXRjaCB1cGRhdGUiCittc2dzdHIgIuS/ruijnOaqlOabtOaWsCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTUzIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc1NAorbXNnaWQgIlJldmlldyBkaWZmIgorbXNnc3RyICLmqqLoppYgZGlmZiIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTgxCisjfCBtc2dpZCAic2hvdyBtYXRjaGluZyBmaWxlcyBpbiB0aGUgcGFnZXIiCittc2dpZCAic2hvdyBwYXRocyB3aXRoIGNoYW5nZXMiCittc2dzdHIgIumhr+ekuuacieiuiuabtOeahOi3r+W+kSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTgzCittc2dpZCAiYWRkIHdvcmtpbmcgdHJlZSBzdGF0ZSB0byB0aGUgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzIgorbXNnc3RyICLliqDlhaXlt6XkvZzljYDni4DmhYvoh7PmmqvlrZjliJfooagiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4NQorbXNnaWQgInJldmVydCBzdGFnZWQgc2V0IG9mIGNoYW5nZXMgYmFjayB0byB0aGUgSEVBRCB2ZXJzaW9uIgorbXNnc3RyICLpgoTljp/kv67mlLnnmoTmmqvlrZjpm4boh7MgSEVBRCDniYjmnKwiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjk4NworI3wgbXNnaWQgInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IgorbXNnaWQgInBpY2sgaHVua3MgYW5kIHVwZGF0ZSBzZWxlY3RpdmVseSIKK21zZ3N0ciAi5oyR6YG45Y2A5aGK5Lim6YG45pOH5oCn5pu05pawIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5ODkKKyN8IG1zZ2lkICJyZXNldCBIRUFEIGFuZCBpbmRleCIKK21zZ2lkICJ2aWV3IGRpZmYgYmV0d2VlbiBIRUFEIGFuZCBpbmRleCIKK21zZ3N0ciAi5qqi6KaWIEhFQUQg5Y+K57Si5byV5LmL6ZaT55qE5beu55WwIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzo5OTEKK21zZ2lkICJhZGQgY29udGVudHMgb2YgdW50cmFja2VkIGZpbGVzIHRvIHRoZSBzdGFnZWQgc2V0IG9mIGNoYW5nZXMiCittc2dzdHIgIuWKoOWFpeacqui/vei5pOaqlOahiOeahOWFp+WuueiHs+aaq+WtmOWIl+ihqCIKKworIzogYWRkLWludGVyYWN0aXZlLmM6OTk5IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNDgKK21zZ2lkICJQcm9tcHQgaGVscDoiCittc2dzdHIgIuaPkOekuuiqquaYju+8miIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAwMQorI3wgbXNnaWQgInNlbGVjdCBtYWlubGluZSBwYXJlbnQiCittc2dpZCAic2VsZWN0IGEgc2luZ2xlIGl0ZW0iCittc2dzdHIgIumBuOaTh+WWruS4gOmgheebriIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAwMworI3wgbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBzaWduZWQgdGFncyIKK21zZ2lkICJzZWxlY3QgYSByYW5nZSBvZiBpdGVtcyIKK21zZ3N0ciAi6YG45pOH6aCF55uu56+E5ZyNIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDA1CisjfCBtc2dpZCAiJXMgaGFzIG11bHRpcGxlIHZhbHVlcyIKK21zZ2lkICJzZWxlY3QgbXVsdGlwbGUgcmFuZ2VzIgorbXNnc3RyICLpgbjmk4flpJrlgIvnr4TlnI0iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwMDcgYWRkLWludGVyYWN0aXZlLmM6MTA1MgorbXNnaWQgInNlbGVjdCBpdGVtIGJhc2VkIG9uIHVuaXF1ZSBwcmVmaXgiCittc2dzdHIgIuWfuuaWvOWUr+S4gOWJjee2tOmBuOaTh+mgheebriIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAwOQorI3wgbXNnaWQgInVzZSBzcGVjaWZpZWQgdGVtcGxhdGUgZmlsZSIKK21zZ2lkICJ1bnNlbGVjdCBzcGVjaWZpZWQgaXRlbXMiCittc2dzdHIgIuWPlua2iOmBuOaTh+aMh+WumumgheebriIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAxMQorI3wgbXNnaWQgImNob29zZSBhIGRpZmYgYWxnb3JpdGhtIgorbXNnaWQgImNob29zZSBhbGwgaXRlbXMiCittc2dzdHIgIumBuOaTh+aJgOaciemgheebriIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTAxMworbXNnaWQgIihlbXB0eSkgZmluaXNoIHNlbGVjdGluZyIKK21zZ3N0ciAi77yI56m677yJ5a6M5oiQ6YG45Y+WIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDUwCisjfCBtc2dpZCAiJXMgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKK21zZ2lkICJzZWxlY3QgYSBudW1iZXJlZCBpdGVtIgorbXNnc3RyICLpgbjmk4fnt6jomZ/pgY7nmoTpoIXnm64iCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNTQKKyN8IG1zZ2lkICJlbXB0eSBleGVjIGNvbW1hbmQiCittc2dpZCAiKGVtcHR5KSBzZWxlY3Qgbm90aGluZyIKK21zZ3N0ciAi77yI56m677yJ5YWo5LiN6YG45Y+WIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMDYyIGJ1aWx0aW4vY2xlYW4uYzo4MjIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODUxCittc2dpZCAiKioqIENvbW1hbmRzICoqKiIKK21zZ3N0ciAiKioqIOaMh+S7pCAqKioiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjEwNjMgYnVpbHRpbi9jbGVhbi5jOjgyMyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4NDgKK21zZ2lkICJXaGF0IG5vdyIKK21zZ3N0ciAi6KuL6YG45pOHIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MjEzCittc2dpZCAic3RhZ2VkIgorbXNnc3RyICLlv6vlj5YiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjExMTUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMTMKK21zZ2lkICJ1bnN0YWdlZCIKK21zZ3N0ciAi5pyq5b+r5Y+WIgorCisjOiBhZGQtaW50ZXJhY3RpdmUuYzoxMTE1IGFwcGx5LmM6NDk2NSBhcHBseS5jOjQ5NjggYnVpbHRpbi9hbS5jOjIxOTcKKyM6IGJ1aWx0aW4vYW0uYzoyMjAwIGJ1aWx0aW4vY2xvbmUuYzoxMjMgYnVpbHRpbi9mZXRjaC5jOjE0NAorIzogYnVpbHRpbi9tZXJnZS5jOjI3MyBidWlsdGluL3B1bGwuYzoyMDkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQwOQorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNzkgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODIKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODc4CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjExOSBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjIxMworbXNnaWQgInBhdGgiCittc2dzdHIgIui3r+W+kSIKKworIzogYWRkLWludGVyYWN0aXZlLmM6MTEyMgorI3wgbXNnaWQgImNvdWxkIG5vdCByZWFkIGluZGV4IgorbXNnaWQgImNvdWxkIG5vdCByZWZyZXNoIGluZGV4IgorbXNnc3RyICLnhKHms5Xph43mlrDmlbTnkIbntKLlvJUiCisKKyM6IGFkZC1pbnRlcmFjdGl2ZS5jOjExMzYgYnVpbHRpbi9jbGVhbi5jOjc4NyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnllLlxuIgorbXNnc3RyICLlho3opovjgIJcbiIKKworIzogYWRkLXBhdGNoLmM6MTUKKyMsIGMtZm9ybWF0CisjfCBtc2dpZCAiU3RhZ2UgbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCVzLD9dPyAiCittc2dpZCAiU3RhZ2UgbW9kZSBjaGFuZ2UgW3ksbixhLHEsZCVzLD9dPyAiCittc2dzdHIgIuaaq+WtmOaooeW8j+iuiuabtCBbeSxuLGEscSxkJXMsP13vvJ8iCisKKyM6IGFkZC1wYXRjaC5jOjE2CisjLCBjLWZvcm1hdAorI3wgbXNnaWQgIlN0YWdlIGRlbGV0aW9uIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnaWQgIlN0YWdlIGRlbGV0aW9uIFt5LG4sYSxxLGQlcyw/XT8gIgorbXNnc3RyICLmmqvlrZjliKrpmaTli5XkvZwgW3ksbixhLHEsZCVzLD9d77yfIgorCisjOiBhZGQtcGF0Y2guYzoxNworIywgYy1mb3JtYXQKKyN8IG1zZ2lkICJTdGFnZSB0aGlzIGh1bmsgW3ksbixxLGEsZCVzLD9dPyAiCittc2dpZCAiU3RhZ2UgdGhpcyBodW5rIFt5LG4sYSxxLGQlcyw/XT8gIgorbXNnc3RyICLmmqvlrZjmraTljYDloYogW3ksbixhLHEsZCVzLD9d77yfIgorCisjOiBhZGQtcGF0Y2guYzoxMTEKKyMsIGMtZm9ybWF0CisjfCBtc2dpZCAiY291bGQgbm90IHBhcnNlIGdpdCBoZWFkZXIgJyUuKnMnIgorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBodW5rIGhlYWRlciAnJS4qcyciCittc2dzdHIgIueEoeazleino+aekOWNgOWhiuaomemgrSAnJS4qcyciCisKKyM6IGFkZC1wYXRjaC5jOjEzMCBhZGQtcGF0Y2guYzoxMzQKKyMsIGMtZm9ybWF0CisjfCBtc2dpZCAiY291bGQgbm90IHBhcnNlIGdpdCBoZWFkZXIgJyUuKnMnIgorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb2xvcmVkIGh1bmsgaGVhZGVyICclLipzJyIKK21zZ3N0ciAi54Sh5rOV6Kej5p6Q5LiK6Imy6YGO55qE5Y2A5aGK5qiZ6aCtICclLipzJyIKKworIzogYWRkLXBhdGNoLmM6MTc2CisjfCBtc2dpZCAiY291bGQgbm90IHBhcnNlICVzIgorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBkaWZmIgorbXNnc3RyICLnhKHms5Xop6PmnpDlt67nlbAgKGRpZmYpIgorCisjOiBhZGQtcGF0Y2guYzoxOTQKKyN8IG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICVzIgorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb2xvcmVkIGRpZmYiCittc2dzdHIgIueEoeazleino+aekOS4iuiJsumBjueahOW3rueVsCAoZGlmZikiCisKKyM6IGFkZC1wYXRjaC5jOjUwOAorIywgYy1mb3JtYXQKKyN8IG1zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gJXMiCittc2dpZCAiIgorImV4cGVjdGVkIGNvbnRleHQgbGluZSAjJWQgaW5cbiIKKyIlLipzIgorbXNnc3RyICIiCisi5oeJ5pyJ5LiK5LiL5paH6KGMICMlZCDmlrxcbiIKKyIlLipzIgorCisjOiBhZGQtcGF0Y2guYzo1MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImh1bmtzIGRvIG5vdCBvdmVybGFwOlxuIgorIiUuKnNcbiIKKyJcdGRvZXMgbm90IGVuZCB3aXRoOlxuIgorIiUuKnMiCittc2dzdHIgIiIKKyLljYDloYrmnKrph43nlorvvJpcbiIKKyIlLipzXG4iCisiXHTkuI3ku6XkuIvov7DntZDlsL7vvJpcbiIKKyIlLipzIgorCisjOiBhZGQtcGF0Y2guYzo3OTkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTEyCittc2dpZCAiTWFudWFsIGh1bmsgZWRpdCBtb2RlIC0tIHNlZSBib3R0b20gZm9yIGEgcXVpY2sgZ3VpZGUuXG4iCittc2dzdHIgIuaJi+WLleWNgOWhiue3qOi8r+aooeW8jyAtLSDmqqLoppblupXpg6jnmoTlv6vpgJ/mjIfljZfjgIJcbiIKKworIzogYWRkLXBhdGNoLmM6ODAzCisjLCBjLWZvcm1hdAorI3wgbXNnaWQgIiIKKyN8ICItLS1cbiIKKyN8ICJUbyByZW1vdmUgJyVzJyBsaW5lcywgbWFrZSB0aGVtICcgJyBsaW5lcyAoY29udGV4dCkuXG4iCisjfCAiVG8gcmVtb3ZlICclcycgbGluZXMsIGRlbGV0ZSB0aGVtLlxuIgorI3wgIkxpbmVzIHN0YXJ0aW5nIHdpdGggJXMgd2lsbCBiZSByZW1vdmVkLlxuIgorbXNnaWQgIiIKKyItLS1cbiIKKyJUbyByZW1vdmUgJyVjJyBsaW5lcywgbWFrZSB0aGVtICcgJyBsaW5lcyAoY29udGV4dCkuXG4iCisiVG8gcmVtb3ZlICclYycgbGluZXMsIGRlbGV0ZSB0aGVtLlxuIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJWMgd2lsbCBiZSByZW1vdmVkLlxuIgorbXNnc3RyICIiCisiLS0tXG4iCisi6KaB5Yiq6ZmkICclYycg6ZaL5aeL55qE6KGM77yM5L2/5YW25oiQ54K6ICcgJyDplovlp4vnmoTooYzvvIjkuIrkuIvmlofvvInjgIJcbiIKKyLopoHliKrpmaQgJyVjJyDplovlp4vnmoTooYzvvIzliKrpmaTlroPlgJHjgIJcbiIKKyLku6UgJWMg6ZaL5aeL55qE6KGM5bCH6KKr5Yiq6Zmk44CCXG4iCisKKyM6IGFkZC1wYXRjaC5jOjgxMAorI3wgbXNnaWQgIiIKKyN8ICJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgorI3wgIm1hcmtlZCBmb3Igc3RhZ2luZy4iCittc2dpZCAiIgorIklmIHRoZSBwYXRjaCBhcHBsaWVzIGNsZWFubHksIHRoZSBlZGl0ZWQgaHVuayB3aWxsIGltbWVkaWF0ZWx5IGJlXG4iCisibWFya2VkIGZvciBzdGFnaW5nLlxuIgorbXNnc3RyICLlpoLmnpzkv67oo5zmqpTog73kub7mt6jlnLDlpZfnlKjvvIznt6jovK/loYrlsIfnq4vljbPmqJnoqJjngrrmmqvlrZjjgIJcbiIKKworIy4gVFJBTlNMQVRPUlM6ICdpdCcgcmVmZXJzIHRvIHRoZSBwYXRjaCBtZW50aW9uZWQgaW4gdGhlIHByZXZpb3VzIG1lc3NhZ2VzLgorIzogYWRkLXBhdGNoLmM6ODE4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTEyNgorbXNnaWQgIiIKKyJJZiBpdCBkb2VzIG5vdCBhcHBseSBjbGVhbmx5LCB5b3Ugd2lsbCBiZSBnaXZlbiBhbiBvcHBvcnR1bml0eSB0b1xuIgorImVkaXQgYWdhaW4uICBJZiBhbGwgbGluZXMgb2YgdGhlIGh1bmsgYXJlIHJlbW92ZWQsIHRoZW4gdGhlIGVkaXQgaXNcbiIKKyJhYm9ydGVkIGFuZCB0aGUgaHVuayBpcyBsZWZ0IHVuY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorIuWmguaenOS4jeiDveS5vua3qOWcsOWll+eUqO+8jOaCqOWwh+acieapn+acg+mHjeaWsOe3qOi8r+OAguWmguaenOatpOWNgOWhiueahOWFqOmDqOWFp+WuueWIqumZpO+8jOWJh1xuIgorIuatpOasoee3qOi8r+iiq+e1guatou+8jOatpOWNgOWhiuS4jeacg+iiq+S/ruaUueOAglxuIgorCisjOiBhZGQtcGF0Y2guYzo4NTEKKyN8IG1zZ2lkICJjb3VsZCBub3QgcGFyc2UgZ2l0IGhlYWRlciAnJS4qcyciCittc2dpZCAiY291bGQgbm90IHBhcnNlIGh1bmsgaGVhZGVyIgorbXNnc3RyICLnhKHms5Xop6PmnpDljYDloYrmqJnpoK0iCisKKyM6IGFkZC1wYXRjaC5jOjg5NSBhZGQtcGF0Y2guYzoxMjk0Cittc2dpZCAiJ2dpdCBhcHBseSAtLWNhY2hlZCcgZmFpbGVkIgorbXNnc3RyICLjgIxnaXQgYXBwbHkgLS1jYWNoZWTjgI3lpLHmlZciCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIFt5L25dCisjLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IHRoYXQgaW5wdXQgYXQgdGhpcyBwb2ludC4KKyMuIENvbnNpZGVyIHRyYW5zbGF0aW5nIChzYXlpbmcgIm5vIiBkaXNjYXJkcyEpIGFzCisjLiAoc2F5aW5nICJuIiBmb3IgIm5vIiBkaXNjYXJkcyEpIGlmIHRoZSB0cmFuc2xhdGlvbgorIy4gb2YgdGhlIHdvcmQgIm5vIiBkb2VzIG5vdCBzdGFydCB3aXRoIG4uCisjLgorIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgW3kvbl0KKyMuIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgdGhhdCBpbnB1dAorIy4gYXQgdGhpcyBwb2ludC4KKyMuIENvbnNpZGVyIHRyYW5zbGF0aW5nIChzYXlpbmcgIm5vIiBkaXNjYXJkcyEpIGFzCisjLiAoc2F5aW5nICJuIiBmb3IgIm5vIiBkaXNjYXJkcyEpIGlmIHRoZSB0cmFuc2xhdGlvbgorIy4gb2YgdGhlIHdvcmQgIm5vIiBkb2VzIG5vdCBzdGFydCB3aXRoIG4uCisjOiBhZGQtcGF0Y2guYzo5NTIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjM5Cittc2dpZCAiIgorIllvdXIgZWRpdGVkIGh1bmsgZG9lcyBub3QgYXBwbHkuIEVkaXQgYWdhaW4gKHNheWluZyBcIm5vXCIgZGlzY2FyZHMhKSBbeS9uXT8gIgorbXNnc3RyICLmgqjnmoTnt6jovK/loYrkuI3og73ooqvmh4nnlKjjgILph43mlrDnt6jovK/vvIjpgbjmk4cgXCJub1wiIOaNqOajhO+8ge+8iSBbeS9uXT8gIgorCisjOiBhZGQtcGF0Y2guYzoxMDA5CisjfCBtc2dpZCAiIgorI3wgInkgLSBzdGFnZSB0aGlzIGh1bmtcbiIKKyN8ICJuIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVua1xuIgorI3wgInEgLSBxdWl0OyBkbyBub3Qgc3RhZ2UgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyN8ICJhIC0gc3RhZ2UgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKKyN8ICJkIC0gZG8gbm90IHN0YWdlIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgorbXNnaWQgIiIKKyJ5IC0gc3RhZ2UgdGhpcyBodW5rXG4iCisibiAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmtcbiIKKyJxIC0gcXVpdDsgZG8gbm90IHN0YWdlIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIHN0YWdlIHRoaXMgYW5kIGFsbCB0aGUgcmVtYWluaW5nIGh1bmtzXG4iCisiZCAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmsgbm9yIGFueSBvZiB0aGUgcmVtYWluaW5nIGh1bmtzXG4iCittc2dzdHIgIiIKKyJ5IC0g5pqr5a2Y5q2k5Y2A5aGKXG4iCisibiAtIOS4jeimgeaaq+WtmOatpOWNgOWhilxuIgorInEgLSDpm6LplovjgILkuI3mmqvlrZjmraTljYDloYrlj4rlvozpnaLnmoTlhajpg6jljYDloYpcbiIKKyJhIC0g5pqr5a2Y6YCZ5YCL5Y2A5aGK5Y+K5omA5pyJ5Ymp6aSY5Y2A5aGKXG4iCisiZCAtIOS4jeaaq+WtmOmAmeWAi+WNgOWhiuWPiuS7u+S9leWJqemkmOWNgOWhilxuIgorCisjOiBhZGQtcGF0Y2guYzoxMDE2CisjfCBtc2dpZCAiIgorI3wgImcgLSBzZWxlY3QgYSBodW5rIHRvIGdvIHRvXG4iCisjfCAiLyAtIHNlYXJjaCBmb3IgYSBodW5rIG1hdGNoaW5nIHRoZSBnaXZlbiByZWdleFxuIgorI3wgImogLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgbmV4dCB1bmRlY2lkZWQgaHVua1xuIgorI3wgIkogLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgbmV4dCBodW5rXG4iCisjfCAiayAtIGxlYXZlIHRoaXMgaHVuayB1bmRlY2lkZWQsIHNlZSBwcmV2aW91cyB1bmRlY2lkZWQgaHVua1xuIgorI3wgIksgLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgcHJldmlvdXMgaHVua1xuIgorI3wgInMgLSBzcGxpdCB0aGUgY3VycmVudCBodW5rIGludG8gc21hbGxlciBodW5rc1xuIgorI3wgImUgLSBtYW51YWxseSBlZGl0IHRoZSBjdXJyZW50IGh1bmtcbiIKKyN8ICI/IC0gcHJpbnQgaGVscFxuIgorbXNnaWQgIiIKKyJqIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIG5leHQgdW5kZWNpZGVkIGh1bmtcbiIKKyJKIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIG5leHQgaHVua1xuIgorImsgLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgcHJldmlvdXMgdW5kZWNpZGVkIGh1bmtcbiIKKyJLIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIHByZXZpb3VzIGh1bmtcbiIKKyJnIC0gc2VsZWN0IGEgaHVuayB0byBnbyB0b1xuIgorIi8gLSBzZWFyY2ggZm9yIGEgaHVuayBtYXRjaGluZyB0aGUgZ2l2ZW4gcmVnZXhcbiIKKyJzIC0gc3BsaXQgdGhlIGN1cnJlbnQgaHVuayBpbnRvIHNtYWxsZXIgaHVua3NcbiIKKyJlIC0gbWFudWFsbHkgZWRpdCB0aGUgY3VycmVudCBodW5rXG4iCisiPyAtIHByaW50IGhlbHBcbiIKK21zZ3N0ciAiIgorImogLSDntq3mjIHmraTljYDloYrmnKrmsbrni4DmhYvvvIzmqqLoppbkuIvkuIDlgIvmnKrmsbrlrprljYDloYpcbiIKKyJKIC0g57at5oyB5q2k5Y2A5aGK5pyq5rG654uA5oWL77yM5qqi6KaW5LiL5LiA5YCL5Y2A5aGKXG4iCisiayAtIOe2reaMgeatpOWNgOWhiuacquaxuueLgOaFi++8jOaqouimluS4iuS4gOWAi+acquaxuuWumuWNgOWhilxuIgorIksgLSDntq3mjIHmraTljYDloYrmnKrmsbrni4DmhYvvvIzmqqLoppbkuIrkuIDlgIvljYDloYpcbiIKKyJnIC0g6YG45pOH6KaB6Lez6L2J6Iez55qE5Y2A5aGKXG4iCisiLyAtIOWwi+aJvuespuWQiOaPkOS+m+S5i+ato+imj+ihqOekuuW8j+eahOWNgOWhilxuIgorInMgLSDliIblibLnm67liY3ljYDloYrngrrmm7TlsI/nmoTljYDloYpcbiIKKyJlIC0g5omL5YuV57eo6Lyv55uu5YmN5Y2A5aGKXG4iCisiPyAtIOmhr+ekuuiqquaYjlxuIgorCisjOiBhZGQtcGF0Y2guYzoxMTM3IGFkZC1wYXRjaC5jOjExNDcKKyN8IG1zZ2lkICJObyBwcmV2aW91cyBodW5rXG4iCittc2dpZCAiTm8gcHJldmlvdXMgaHVuayIKK21zZ3N0ciAi5rKS5pyJ5LiK5LiA5YCL5Y2A5aGKIgorCisjOiBhZGQtcGF0Y2guYzoxMTQyIGFkZC1wYXRjaC5jOjExNTIKKyN8IG1zZ2lkICJObyBuZXh0IGh1bmtcbiIKK21zZ2lkICJObyBuZXh0IGh1bmsiCittc2dzdHIgIuaykuacieS4i+S4gOWAi+WNgOWhiiIKKworIzogYWRkLXBhdGNoLmM6MTE1OAorI3wgbXNnaWQgIk5vIG90aGVyIGh1bmtzIHRvIGdvdG9cbiIKK21zZ2lkICJObyBvdGhlciBodW5rcyB0byBnb3RvIgorbXNnc3RyICLmspLmnInlhbblroPlj6/kvpvot7PovYnnmoTljYDloYoiCisKKyM6IGFkZC1wYXRjaC5jOjExNjkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTc3Cittc2dpZCAiZ28gdG8gd2hpY2ggaHVuayAoPHJldD4gdG8gc2VlIG1vcmUpPyAiCittc2dzdHIgIui3s+i9ieWIsOWTquWAi+WNgOWhiu+8iDxFbnRlcj4g5qqi6KaW5pu05aSa77yJ77yfICIKKworIzogYWRkLXBhdGNoLmM6MTE3MCBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE1NzkKK21zZ2lkICJnbyB0byB3aGljaCBodW5rPyAiCittc2dzdHIgIui3s+i9ieWIsOWTquWAi+WNgOWhiu+8nyIKKworIzogYWRkLXBhdGNoLmM6MTE4MQorIywgYy1mb3JtYXQKKyN8IG1zZ2lkICJJbnZhbGlkIG51bWJlcjogJyVzJ1xuIgorbXNnaWQgIkludmFsaWQgbnVtYmVyOiAnJXMnIgorbXNnc3RyICLnhKHmlYjmlbjlrZfvvJonJXMnIgorCisjOiBhZGQtcGF0Y2guYzoxMTg2CisjLCBjLWZvcm1hdAorI3wgbXNnaWQgIlNvcnJ5LCBvbmx5ICVkIGh1bmsgYXZhaWxhYmxlLlxuIgorI3wgbXNnaWRfcGx1cmFsICJTb3JyeSwgb25seSAlZCBodW5rcyBhdmFpbGFibGUuXG4iCittc2dpZCAiU29ycnksIG9ubHkgJWQgaHVuayBhdmFpbGFibGUuIgorbXNnaWRfcGx1cmFsICJTb3JyeSwgb25seSAlZCBodW5rcyBhdmFpbGFibGUuIgorbXNnc3RyWzBdICLlsI3kuI3otbfvvIzlj6rmnIkgJWQg5YCL5Y+v55So5Y2A5aGK44CCIgorbXNnc3RyWzFdICLlsI3kuI3otbfvvIzlj6rmnIkgJWQg5YCL5Y+v55So5Y2A5aGK44CCIgorCisjOiBhZGQtcGF0Y2guYzoxMTk1CisjfCBtc2dpZCAiTm8gb3RoZXIgaHVua3MgdG8gc2VhcmNoXG4iCittc2dpZCAiTm8gb3RoZXIgaHVua3MgdG8gc2VhcmNoIgorbXNnc3RyICLmspLmnInlhbblroPlj6/kvpvlsIvmib7nmoTljYDloYoiCisKKyM6IGFkZC1wYXRjaC5jOjEyMDEgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjIzCittc2dpZCAic2VhcmNoIGZvciByZWdleD8gIgorbXNnc3RyICLkvb/nlKjmraPopo/ooajnpLrlvI/mkJzlsIvvvJ8iCisKKyM6IGFkZC1wYXRjaC5jOjEyMTYKKyMsIGMtZm9ybWF0CisjfCBtc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzXG4iCittc2dpZCAiTWFsZm9ybWVkIHNlYXJjaCByZWdleHAgJXM6ICVzIgorbXNnc3RyICLpjK/oqqTnmoTmraPopo/ooajnpLrlvI8gJXPvvJolcyIKKworIzogYWRkLXBhdGNoLmM6MTIzMworI3wgbXNnaWQgIk5vIGh1bmsgbWF0Y2hlcyB0aGUgZ2l2ZW4gcGF0dGVyblxuIgorbXNnaWQgIk5vIGh1bmsgbWF0Y2hlcyB0aGUgZ2l2ZW4gcGF0dGVybiIKK21zZ3N0ciAi5rKS5pyJ5ZKM5o+Q5L6b5qih5byP55u456ym5ZCI55qE5Y2A5aGKIgorCisjOiBhZGQtcGF0Y2guYzoxMjQwCisjfCBtc2dpZCAiU29ycnksIGNhbm5vdCBzcGxpdCB0aGlzIGh1bmtcbiIKK21zZ2lkICJTb3JyeSwgY2Fubm90IHNwbGl0IHRoaXMgaHVuayIKK21zZ3N0ciAi5bCN5LiN6LW377yM5LiN6IO95YiG5Ymy6YCZ5YCL5Y2A5aGKIgorCisjOiBhZGQtcGF0Y2guYzoxMjQ0CisjLCBjLWZvcm1hdAorI3wgbXNnaWQgIlNwbGl0IGludG8gJWQgaHVuay5cbiIKKyN8IG1zZ2lkX3BsdXJhbCAiU3BsaXQgaW50byAlZCBodW5rcy5cbiIKK21zZ2lkICJTcGxpdCBpbnRvICVkIGh1bmtzLiIKK21zZ3N0ciAi5YiG5Ymy54K6ICVkIOWhiuOAgiIKKworIzogYWRkLXBhdGNoLmM6MTI0OAorI3wgbXNnaWQgIlNvcnJ5LCBjYW5ub3QgZWRpdCB0aGlzIGh1bmtcbiIKK21zZ2lkICJTb3JyeSwgY2Fubm90IGVkaXQgdGhpcyBodW5rIgorbXNnc3RyICLlsI3kuI3otbfvvIzkuI3og73nt6jovK/pgJnlgIvljYDloYoiCisKKyM6IGFkdmljZS5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIlc2hpbnQ6ICUuKnMlc1xuIgorbXNnc3RyICIlc+aPkOekuu+8miUuKnMlc1xuIgorCisjOiBhZHZpY2UuYzoxNjQKK21zZ2lkICJDaGVycnktcGlja2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIueEoeazleaPgOmBuO+8jOWboOeCuuaCqOacieacquWQiOS9teeahOaqlOahiOOAgiIKKworIzogYWR2aWNlLmM6MTY2Cittc2dpZCAiQ29tbWl0dGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIueEoeazleaPkOS6pO+8jOWboOeCuuaCqOacieacquWQiOS9teeahOaqlOahiOOAgiIKKworIzogYWR2aWNlLmM6MTY4Cittc2dpZCAiTWVyZ2luZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIueEoeazleWQiOS9te+8jOWboOeCuuaCqOacieacquWQiOS9teeahOaqlOahiOOAgiIKKworIzogYWR2aWNlLmM6MTcwCittc2dpZCAiUHVsbGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iCittc2dzdHIgIueEoeazleaLieWPlu+8jOWboOeCuuaCqOacieacquWQiOS9teeahOaqlOahiOOAgiIKKworIzogYWR2aWNlLmM6MTcyCittc2dpZCAiUmV2ZXJ0aW5nIGlzIG5vdCBwb3NzaWJsZSBiZWNhdXNlIHlvdSBoYXZlIHVubWVyZ2VkIGZpbGVzLiIKK21zZ3N0ciAi54Sh5rOV6YKE5Y6f5o+Q5Lqk77yM5Zug54K65oKo5pyJ5pyq5ZCI5L2155qE5qqU5qGI44CCIgorCisjOiBhZHZpY2UuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSXQgaXMgbm90IHBvc3NpYmxlIHRvICVzIGJlY2F1c2UgeW91IGhhdmUgdW5tZXJnZWQgZmlsZXMuIgorbXNnc3RyICLnhKHms5UgJXPvvIzlm6DngrrmgqjmnInmnKrlkIjkvbXnmoTmqpTmoYjjgIIiCisKKyM6IGFkdmljZS5jOjE4MgorbXNnaWQgIiIKKyJGaXggdGhlbSB1cCBpbiB0aGUgd29yayB0cmVlLCBhbmQgdGhlbiB1c2UgJ2dpdCBhZGQvcm0gPGZpbGU+J1xuIgorImFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbiBhbmQgbWFrZSBhIGNvbW1pdC4iCittc2dzdHIgIiIKKyLoq4vlnKjlt6XkvZzljYDmlLnmraPmqpTmoYjvvIznhLblvozphYzmg4Xkvb/nlKggJ2dpdCBhZGQvcm0gPOaqlOahiD4nIOaMh+S7pOaomeiomFxuIgorIuino+axuuaWueahiOS4puaPkOS6pOOAgiIKKworIzogYWR2aWNlLmM6MTkwCittc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIGFuIHVucmVzb2x2ZWQgY29uZmxpY3QuIgorbXNnc3RyICLlm6DngrrlrZjlnKjmnKrop6PmsbrnmoTooZ3nqoHogIzpm6LplovjgIIiCisKKyM6IGFkdmljZS5jOjE5NSBidWlsdGluL21lcmdlLmM6MTMzMgorbXNnaWQgIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLiIKK21zZ3N0ciAi5oKo5bCa5pyq57WQ5p2f5oKo55qE5ZCI5L2177yI5a2Y5ZyoIE1FUkdFX0hFQUTvvInjgIIiCisKKyM6IGFkdmljZS5jOjE5NworbXNnaWQgIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgbWVyZ2luZy4iCittc2dzdHIgIuiri+WcqOWQiOS9teWJjeWFiOaPkOS6pOaCqOeahOS/ruaUueOAgiIKKworIzogYWR2aWNlLmM6MTk4Cittc2dpZCAiRXhpdGluZyBiZWNhdXNlIG9mIHVuZmluaXNoZWQgbWVyZ2UuIgorbXNnc3RyICLlm6DngrrlrZjlnKjmnKrlrozmiJDnmoTlkIjkvbXogIzpm6LplovjgIIiCisKKyM6IGFkdmljZS5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90ZTogc3dpdGNoaW5nIHRvICclcycuXG4iCisiXG4iCisiWW91IGFyZSBpbiAnZGV0YWNoZWQgSEVBRCcgc3RhdGUuIFlvdSBjYW4gbG9vayBhcm91bmQsIG1ha2UgZXhwZXJpbWVudGFsXG4iCisiY2hhbmdlcyBhbmQgY29tbWl0IHRoZW0sIGFuZCB5b3UgY2FuIGRpc2NhcmQgYW55IGNvbW1pdHMgeW91IG1ha2UgaW4gdGhpc1xuIgorInN0YXRlIHdpdGhvdXQgaW1wYWN0aW5nIGFueSBicmFuY2hlcyBieSBzd2l0Y2hpbmcgYmFjayB0byBhIGJyYW5jaC5cbiIKKyJcbiIKKyJJZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBuZXcgYnJhbmNoIHRvIHJldGFpbiBjb21taXRzIHlvdSBjcmVhdGUsIHlvdSBtYXlcbiIKKyJkbyBzbyAobm93IG9yIGxhdGVyKSBieSB1c2luZyAtYyB3aXRoIHRoZSBzd2l0Y2ggY29tbWFuZC4gRXhhbXBsZTpcbiIKKyJcbiIKKyIgIGdpdCBzd2l0Y2ggLWMgPG5ldy1icmFuY2gtbmFtZT5cbiIKKyJcbiIKKyJPciB1bmRvIHRoaXMgb3BlcmF0aW9uIHdpdGg6XG4iCisiXG4iCisiICBnaXQgc3dpdGNoIC1cbiIKKyJcbiIKKyJUdXJuIG9mZiB0aGlzIGFkdmljZSBieSBzZXR0aW5nIGNvbmZpZyB2YXJpYWJsZSBhZHZpY2UuZGV0YWNoZWRIZWFkIHRvICIKKyJmYWxzZVxuIgorIlxuIgorbXNnc3RyICIiCisi5rOo5oSP77ya5q2j5Zyo5YiH5o+b5YiwICclcyfjgIJcbiIKKyJcbiIKKyLmgqjmraPomZXmlrzliIbpm6LplovpoK3mjIfmqJnni4DmhYvjgILmgqjlj6/ku6XmqqLoppbjgIHlgZrlr6bpqZfmgKfnmoTkv67mlLnlj4rmj5DkuqTvvIzkuKbkuJTmgqjlj6/ku6XlnKjliIciCisi5o+bXG4iCisi5Zue5LiA5YCL5YiG5pSv5pmC77yM5o2o5qOE5Zyo5q2k54uA5oWL5LiL5omA5YGa55qE5o+Q5Lqk6ICM5LiN5bCN5YiG5pSv6YCg5oiQ5b2x6Z+/44CCXG4iCisiXG4iCisi5aaC5p6c5oKo5oOz6KaB6YCP6YGO5bu656uL5YiG5pSv5L6G5L+d55WZ5Zyo5q2k54uA5oWL5LiL5omA5YGa55qE5o+Q5Lqk77yM5oKo5Y+v5Lul6YCP6YGO5ZyoIHN3aXRjaCDmjIfku6RcbiIKKyLkuK3mlrDlop7lj4PmlbggLWMg5L6G5a+m54++77yI54++5Zyo5oiW56iN5b6M77yJ44CC5L6L5aaC77yaXG4iCisiXG4iCisiICBnaXQgc3dpdGNoIC1jIDzmlrDliIbmlK/lkI0+XG4iCisiXG4iCisi5oiW6ICF5b6p5Y6f5q2k5YuV5L2c77yaXG4iCisiXG4iCisiICBnaXQgc3dpdGNoIC1cbiIKKyJcbiIKKyLpgI/pgY7lsIfoqK3lrprorormlbggYWR2aWNlLmRldGFjaGVkSGVhZCDoqK3lrprngrogZmFsc2Ug5L6G6Zec6ZaJ5q2k5bu66K2wXG4iCisiXG4iCisKKyM6IGFsaWFzLmM6NTAKK21zZ2lkICJjbWRsaW5lIGVuZHMgd2l0aCBcXCIKK21zZ3N0ciAi5oyH5Luk5YiX5LulIFxcIOe1kOWwviIKKworIzogYWxpYXMuYzo1MQorbXNnaWQgInVuY2xvc2VkIHF1b3RlIgorbXNnc3RyICLmnKrplonlkIjnmoTlvJXomZ8iCisKKyM6IGFwcGx5LmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHdoaXRlc3BhY2Ugb3B0aW9uICclcyciCittc2dzdHIgIuacquiDveitmOWIpeeahOepuueZveWtl+WFg+mBuOmghSAnJXMnIgorCisjOiBhcHBseS5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCB3aGl0ZXNwYWNlIGlnbm9yZSBvcHRpb24gJyVzJyIKK21zZ3N0ciAi5pyq6IO96K2Y5Yil55qE56m655m95a2X5YWD5b+955Wl6YG46aCFICclcyciCisKKyM6IGFwcGx5LmM6MTM1Cittc2dpZCAiLS1yZWplY3QgYW5kIC0tM3dheSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iCittc2dzdHIgIi0tcmVqZWN0IOWSjCAtLTN3YXkg5LiN6IO95ZCM5pmC5L2/55So44CCIgorCisjOiBhcHBseS5jOjEzNworbXNnaWQgIi0tY2FjaGVkIGFuZCAtLTN3YXkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIuIgorbXNnc3RyICItLWNhY2hlZCDlkowgLS0zd2F5IOS4jeiDveWQjOaZguS9v+eUqOOAgiIKKworIzogYXBwbHkuYzoxNDAKK21zZ2lkICItLTN3YXkgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCittc2dzdHIgIi0tM3dheSDlnKjniYjmnKzluqvkuYvlpJYiCisKKyM6IGFwcGx5LmM6MTUxCittc2dpZCAiLS1pbmRleCBvdXRzaWRlIGEgcmVwb3NpdG9yeSIKK21zZ3N0ciAiLS1pbmRleCDlnKjniYjmnKzluqvkuYvlpJYiCisKKyM6IGFwcGx5LmM6MTU0Cittc2dpZCAiLS1jYWNoZWQgb3V0c2lkZSBhIHJlcG9zaXRvcnkiCittc2dzdHIgIi0tY2FjaGVkIOWcqOeJiOacrOW6q+S5i+WkliIKKworIzogYXBwbHkuYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHByZXBhcmUgdGltZXN0YW1wIHJlZ2V4cCAlcyIKK21zZ3N0ciAi54Sh5rOV5rqW5YKZ5pmC6ZaT5oiz5q2j6KaP6KGo56S65byPICVzIgorCisjOiBhcHBseS5jOjgxMAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWdleGVjIHJldHVybmVkICVkIGZvciBpbnB1dDogJXMiCittc2dzdHIgInJlZ2V4ZWMg6L+U5ZueICVk77yM6Ly45YWl54K677yaJXMiCisKKyM6IGFwcGx5LmM6ODg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmaW5kIGZpbGVuYW1lIGluIHBhdGNoIGF0IGxpbmUgJWQiCittc2dzdHIgIuS4jeiDveWcqOS/ruijnOaqlOeahOesrCAlZCDooYzmib7liLDmqpTmoYjlkI0iCisKKyM6IGFwcGx5LmM6OTIyCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsLCBnb3QgJXMgb24gbGluZSAlZCIKK21zZ3N0ciAiZ2l0IGFwcGx577ya6Yyv6Kqk55qEIGdpdC1kaWZmIC0g5oeJ54K6IC9kZXYvbnVsbO+8jOS9huWcqOesrCAlMiRkIOihjOW+l+WIsCAlMSRzIgorCisjOiBhcHBseS5jOjkyOAorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgYXBwbHk6IGJhZCBnaXQtZGlmZiAtIGluY29uc2lzdGVudCBuZXcgZmlsZW5hbWUgb24gbGluZSAlZCIKK21zZ3N0ciAiZ2l0IGFwcGx577ya6Yyv6Kqk55qEIGdpdC1kaWZmIC0g56ysICVkIOihjOS4iuaWsOaqlOahiOWQjeS4jeS4gOiHtCIKKworIzogYXBwbHkuYzo5MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGFwcGx5OiBiYWQgZ2l0LWRpZmYgLSBpbmNvbnNpc3RlbnQgb2xkIGZpbGVuYW1lIG9uIGxpbmUgJWQiCittc2dzdHIgImdpdCBhcHBsee+8mumMr+iqpOeahCBnaXQtZGlmZiAtIOesrCAlZCDooYzkuIroiIrmqpTmoYjlkI3kuI3kuIDoh7QiCisKKyM6IGFwcGx5LmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcHBseTogYmFkIGdpdC1kaWZmIC0gZXhwZWN0ZWQgL2Rldi9udWxsIG9uIGxpbmUgJWQiCittc2dzdHIgImdpdCBhcHBsee+8mumMr+iqpOeahCBnaXQtZGlmZiAtIOesrCAlZCDooYzomZXmh4nngrogL2Rldi9udWxsIgorCisjOiBhcHBseS5jOjk2MworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG1vZGUgb24gbGluZSAlZDogJXMiCittc2dzdHIgIuesrCAlZCDooYzljIXlkKvnhKHmlYjmqpTmoYjmqKHlvI/vvJolcyIKKworIzogYXBwbHkuYzoxMjgyCisjLCBjLWZvcm1hdAorbXNnaWQgImluY29uc2lzdGVudCBoZWFkZXIgbGluZXMgJWQgYW5kICVkIgorbXNnc3RyICLkuI3kuIDoh7TnmoTmqpTmoYjpoK3vvIwlZCDooYzlkowgJWQg6KGMIgorCisjOiBhcHBseS5jOjEzNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImdpdCBkaWZmIGhlYWRlciBsYWNrcyBmaWxlbmFtZSBpbmZvcm1hdGlvbiB3aGVuIHJlbW92aW5nICVkIGxlYWRpbmcgcGF0aG5hbWUgIgorImNvbXBvbmVudCAobGluZSAlZCkiCittc2dpZF9wbHVyYWwgIiIKKyJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gd2hlbiByZW1vdmluZyAlZCBsZWFkaW5nIHBhdGhuYW1lICIKKyJjb21wb25lbnRzIChsaW5lICVkKSIKK21zZ3N0clswXSAi55W256e76ZmkICVkIOWAi+WJjeWwjui3r+W+keW+jCBnaXQgZGlmZiDpoK3nvLrkuY/mqpTmoYjlkI3oqIrmga/vvIjnrKwgJWQg6KGM77yJIgorbXNnc3RyWzFdICLnlbbnp7vpmaQgJWQg5YCL5YmN5bCO6Lev5b6R5b6MIGdpdCBkaWZmIOmgree8uuS5j+aqlOahiOWQjeioiuaBr++8iOesrCAlZCDooYzvvIkiCisKKyM6IGFwcGx5LmM6MTM4NQorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgZGlmZiBoZWFkZXIgbGFja3MgZmlsZW5hbWUgaW5mb3JtYXRpb24gKGxpbmUgJWQpIgorbXNnc3RyICJnaXQgZGlmZiDnmoTmqJnpoK3oqIrmga/kuK3nvLrkuY/mqpTmoYjlkI3oqIrmga/vvIjnrKwgJWQg6KGM77yJIgorCisjOiBhcHBseS5jOjE0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb3VudDogdW5leHBlY3RlZCBsaW5lOiAlLipzIgorbXNnc3RyICJyZWNvdW5077ya5oSP5aSW55qE6KGM77yaJS4qcyIKKworIzogYXBwbHkuYzoxNTUwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGNoIGZyYWdtZW50IHdpdGhvdXQgaGVhZGVyIGF0IGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgIuesrCAlZCDooYznmoTkv67oo5zmqpTniYfmrrXmspLmnInmqJnpoK3oqIrmga/vvJolLipzIgorCisjOiBhcHBseS5jOjE3NTMKK21zZ2lkICJuZXcgZmlsZSBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKK21zZ3N0ciAi5paw5qqU5qGI5L6d6LO06IiK5YWn5a65IgorCisjOiBhcHBseS5jOjE3NTUKK21zZ2lkICJkZWxldGVkIGZpbGUgc3RpbGwgaGFzIGNvbnRlbnRzIgorbXNnc3RyICLliKrpmaTnmoTmqpTmoYjku43mnInlhaflrrkiCisKKyM6IGFwcGx5LmM6MTc4OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IHBhdGNoIGF0IGxpbmUgJWQiCittc2dzdHIgIuS/ruijnOaqlOWcqOesrCAlZCDooYznmbznj77mkI3lo54iCisKKyM6IGFwcGx5LmM6MTgyNgorIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgZmlsZSAlcyBkZXBlbmRzIG9uIG9sZCBjb250ZW50cyIKK21zZ3N0ciAi5paw5qqU5qGIICVzIOS+neiztOiIiuWFp+WuuSIKKworIzogYXBwbHkuYzoxODI4CisjLCBjLWZvcm1hdAorbXNnaWQgImRlbGV0ZWQgZmlsZSAlcyBzdGlsbCBoYXMgY29udGVudHMiCittc2dzdHIgIuWIqumZpOeahOaqlOahiCAlcyDku43mnInlhaflrrkiCisKKyM6IGFwcGx5LmM6MTgzMQorIywgYy1mb3JtYXQKK21zZ2lkICIqKiB3YXJuaW5nOiBmaWxlICVzIGJlY29tZXMgZW1wdHkgYnV0IGlzIG5vdCBkZWxldGVkIgorbXNnc3RyICIqKiDorablkYrvvJrmqpTmoYggJXMg5oiQ54K656m65qqU5qGI5L2G5Lim5pyq5Yiq6ZmkIgorCisjOiBhcHBseS5jOjE5NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29ycnVwdCBiaW5hcnkgcGF0Y2ggYXQgbGluZSAlZDogJS4qcyIKK21zZ3N0ciAi5LqM6YCy5L2N5L+u6KOc5qqU5Zyo56ysICVkIOihjOaQjeWjnu+8miUuKnMiCisKKyM6IGFwcGx5LmM6MjAxNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgYmluYXJ5IHBhdGNoIGF0IGxpbmUgJWQiCittc2dzdHIgIuacquiDveitmOWIpeeahOS6jOmAsuS9jeS/ruijnOaqlOS9jeaWvOesrCAlZCDooYwiCisKKyM6IGFwcGx5LmM6MjE3NworIywgYy1mb3JtYXQKK21zZ2lkICJwYXRjaCB3aXRoIG9ubHkgZ2FyYmFnZSBhdCBsaW5lICVkIgorbXNnc3RyICLkv67oo5zmqpTmoYjnmoTnrKwgJWQg6KGM5Y+q5pyJ5Z6D5Zy+6LOH5paZIgorCisjOiBhcHBseS5jOjIyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3ltbGluayAlcyIKK21zZ3N0ciAi54Sh5rOV6K6A5Y+W56ym6Jmf6YCj57WQICVzIgorCisjOiBhcHBseS5jOjIyNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIG9wZW4gb3IgcmVhZCAlcyIKK21zZ3N0ciAi5LiN6IO96ZaL5ZWf5oiW6K6A5Y+WICVzIgorCisjOiBhcHBseS5jOjI5MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdGFydCBvZiBsaW5lOiAnJWMnIgorbXNnc3RyICLnhKHmlYjnmoTooYzpppblrZflhYPvvJonJWMnIgorCisjOiBhcHBseS5jOjMwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVuayAjJWQgc3VjY2VlZGVkIGF0ICVkIChvZmZzZXQgJWQgbGluZSkuIgorbXNnaWRfcGx1cmFsICJIdW5rICMlZCBzdWNjZWVkZWQgYXQgJWQgKG9mZnNldCAlZCBsaW5lcykuIgorbXNnc3RyWzBdICLljYDloYogIyVkIOaIkOWKn+Wll+eUqOaWvCAlZO+8iOS9jeenuyAlZCDooYzvvIkiCittc2dzdHJbMV0gIuWNgOWhiiAjJWQg5oiQ5Yqf5aWX55So5pa8ICVk77yI5L2N56e7ICVkIOihjO+8iSIKKworIzogYXBwbHkuYzozMDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnRleHQgcmVkdWNlZCB0byAoJWxkLyVsZCkgdG8gYXBwbHkgZnJhZ21lbnQgYXQgJWQiCittc2dzdHIgIuS4iuS4i+aWh+a4m+WwkeWIsO+8iCVsZC8lbGTvvInku6XlnKjnrKwgJWQg6KGM5aWX55So5L+u6KOc5qqU54mH5q61IgorCisjOiBhcHBseS5jOjMwNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIndoaWxlIHNlYXJjaGluZyBmb3I6XG4iCisiJS4qcyIKK21zZ3N0ciAiIgorIueVtuafpeipou+8mlxuIgorIiUuKnMiCisKKyM6IGFwcGx5LmM6MzA5NworIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIGJpbmFyeSBwYXRjaCBkYXRhIGZvciAnJXMnIgorbXNnc3RyICLnvLrlsJEgJyVzJyDnmoTkuozpgLLkvY3kv67oo5zmqpTos4fmlpkiCisKKyM6IGFwcGx5LmM6MzEwNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmV2ZXJzZS1hcHBseSBhIGJpbmFyeSBwYXRjaCB3aXRob3V0IHRoZSByZXZlcnNlIGh1bmsgdG8gJyVzJyIKK21zZ3N0ciAi5LiN6IO95Y+N5ZCR5aWX55So5LiA5YCL57y65bCR5YiwICclcycg55qE5Y+N5ZCR6LOH5paZ5Y2A5aGK55qE5LqM6YCy5L2N5L+u6KOc5qqUIgorCisjOiBhcHBseS5jOjMxNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFwcGx5IGJpbmFyeSBwYXRjaCB0byAnJXMnIHdpdGhvdXQgZnVsbCBpbmRleCBsaW5lIgorbXNnc3RyICLkuI3og73lnKggJyVzJyDkuIrlpZfnlKjmspLmnInlrozmlbTntKLlvJXooYznmoTkuozpgLLkvY3kv67oo5zmqpQiCisKKyM6IGFwcGx5LmM6MzE2MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIHBhdGNoIGFwcGxpZXMgdG8gJyVzJyAoJXMpLCB3aGljaCBkb2VzIG5vdCBtYXRjaCB0aGUgY3VycmVudCBjb250ZW50cy4iCittc2dzdHIgIuS/ruijnOaqlOWll+eUqOWIsCAnJXMn77yIJXPvvInvvIzkvYbmmK/lkoznm67liY3lhaflrrnkuI3nrKblkIjjgIIiCisKKyM6IGFwcGx5LmM6MzE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGF0Y2ggYXBwbGllcyB0byBhbiBlbXB0eSAnJXMnIGJ1dCBpdCBpcyBub3QgZW1wdHkiCittc2dzdHIgIuS/ruijnOaqlOWll+eUqOWIsOepuuaqlOahiCAnJXMn77yM5L2G5YW25Lim6Z2e56m65qqU5qGIIgorCisjOiBhcHBseS5jOjMxODgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG5lY2Vzc2FyeSBwb3N0aW1hZ2UgJXMgZm9yICclcycgY2Fubm90IGJlIHJlYWQiCittc2dzdHIgIueEoeazleiugOWPliAnJTIkcycg5b+F6ZyA55qE55uu5qiZ5qqU5qGIICUxJHMiCisKKyM6IGFwcGx5LmM6MzIwMQorIywgYy1mb3JtYXQKK21zZ2lkICJiaW5hcnkgcGF0Y2ggZG9lcyBub3QgYXBwbHkgdG8gJyVzJyIKK21zZ3N0ciAi5LqM6YCy5L2N5L+u6KOc5qqU5pyq5aWX55So5YiwICclcyciCisKKyM6IGFwcGx5LmM6MzIwNworIywgYy1mb3JtYXQKK21zZ2lkICJiaW5hcnkgcGF0Y2ggdG8gJyVzJyBjcmVhdGVzIGluY29ycmVjdCByZXN1bHQgKGV4cGVjdGluZyAlcywgZ290ICVzKSIKK21zZ3N0ciAi5YiwICclcycg55qE5LqM6YCy5L2N5L+u6KOc5qqU55Si55Sf5LqG5LiN5q2j56K655qE57WQ5p6c77yI5oeJ54K6ICVz77yM5Y2754K6ICVz77yJIgorCisjOiBhcHBseS5jOjMyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0Y2ggZmFpbGVkOiAlczolbGQiCittc2dzdHIgIuaJk+S/ruijnOaqlOWkseaVl++8miVzOiVsZCIKKworIzogYXBwbHkuYzozMzUxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVja291dCAlcyIKK21zZ3N0ciAi5LiN6IO957C95Ye6ICVzIgorCisjOiBhcHBseS5jOjM0MDMgYXBwbHkuYzozNDE0IGFwcGx5LmM6MzQ2MCBtaWR4LmM6NjEgc2V0dXAuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXMiCittc2dzdHIgIueEoeazleiugOWPliAlcyIKKworIzogYXBwbHkuYzozNDExCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRpbmcgZnJvbSAnJXMnIGJleW9uZCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIuiugOWPluS9jeaWvOespuiZn+mAo+e1kOS4reeahCAnJXMnIgorCisjOiBhcHBseS5jOjM0NDAgYXBwbHkuYzozNjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJXMgaGFzIGJlZW4gcmVuYW1lZC9kZWxldGVkIgorbXNnc3RyICLot6/lvpEgJXMg5bey57aT6KKr6YeN5paw5ZG95ZCNL+WIqumZpCIKKworIzogYXBwbHkuYzozNTI2IGFwcGx5LmM6MzY5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgiCittc2dzdHIgIiVz77ya5LiN5a2Y5Zyo5pa857Si5byV5LitIgorCisjOiBhcHBseS5jOjM1MzUgYXBwbHkuYzozNzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBtYXRjaCBpbmRleCIKK21zZ3N0ciAiJXPvvJrlkozntKLlvJXkuI3nrKblkIgiCisKKyM6IGFwcGx5LmM6MzU3MAorbXNnaWQgInJlcG9zaXRvcnkgbGFja3MgdGhlIG5lY2Vzc2FyeSBibG9iIHRvIGZhbGwgYmFjayBvbiAzLXdheSBtZXJnZS4iCittc2dzdHIgIueJiOacrOW6q+e8uuS5j+W/heimgeeahOizh+aWmeeJqeS7tuS7pemAsuihjOS4ieaWueWQiOS9teOAgiIKKworIzogYXBwbHkuYzozNTczCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhbGxpbmcgYmFjayB0byB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKK21zZ3N0ciAi5Zue6JC95Yiw5LiJ5pa55ZCI5L21Li4uXG4iCisKKyM6IGFwcGx5LmM6MzU4OSBhcHBseS5jOjM1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgdGhlIGN1cnJlbnQgY29udGVudHMgb2YgJyVzJyIKK21zZ3N0ciAi54Sh5rOV6K6A5Y+WICclcycg55qE55uu5YmN5YWn5a65IgorCisjOiBhcHBseS5jOjM2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGZhbGwgYmFjayBvbiB0aHJlZS13YXkgbWVyZ2UuLi5cbiIKK21zZ3N0ciAi54Sh5rOV5Zue6JC95Yiw5LiJ5pa55ZCI5L21Li4uXG4iCisKKyM6IGFwcGx5LmM6MzYxOQorIywgYy1mb3JtYXQKK21zZ2lkICJBcHBsaWVkIHBhdGNoIHRvICclcycgd2l0aCBjb25mbGljdHMuXG4iCittc2dzdHIgIuWll+eUqOS/ruijnOaqlOWIsCAnJXMnIOWtmOWcqOihneeqgeOAglxuIgorCisjOiBhcHBseS5jOjM2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXBwbGllZCBwYXRjaCB0byAnJXMnIGNsZWFubHkuXG4iCittc2dzdHIgIuaIkOWKn+Wll+eUqOS/ruijnOaqlOWIsCAnJXMn44CCXG4iCisKKyM6IGFwcGx5LmM6MzY1MAorbXNnaWQgInJlbW92YWwgcGF0Y2ggbGVhdmVzIGZpbGUgY29udGVudHMiCittc2dzdHIgIuenu+mZpOS/ruijnOaqlOS7jeeVmeS4i+S6huaqlOahiOWFp+WuuSIKKworIzogYXBwbHkuYzozNzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cm9uZyB0eXBlIgorbXNnc3RyICIlc++8mumMr+iqpOmhnuWeiyIKKworIzogYXBwbHkuYzozNzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyB0eXBlICVvLCBleHBlY3RlZCAlbyIKK21zZ3N0ciAiJXMg55qE6aGe5Z6L5pivICVv77yM5oeJ54K6ICVvIgorCisjOiBhcHBseS5jOjM4NzYgYXBwbHkuYzozODc4IHJlYWQtY2FjaGUuYzo4MzAgcmVhZC1jYWNoZS5jOjg1NgorIzogcmVhZC1jYWNoZS5jOjEzMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBwYXRoICclcyciCittc2dzdHIgIueEoeaViOi3r+W+kSAnJXMnIgorCisjOiBhcHBseS5jOjM5MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgZXhpc3RzIGluIGluZGV4IgorbXNnc3RyICIlc++8muW3sue2k+WtmOWcqOaWvOe0ouW8leS4rSIKKworIzogYXBwbHkuYzozOTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGV4aXN0cyBpbiB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXPvvJrlt7LntpPlrZjlnKjmlrzlt6XkvZzljYDkuK0iCisKKyM6IGFwcGx5LmM6Mzk1NworIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykiCittc2dzdHIgIiUyJHMg55qE5paw5qih5byP77yIJTEkb++8ieWSjOiIiuaooeW8j++8iCUzJG/vvInkuI3nrKblkIgiCisKKyM6IGFwcGx5LmM6Mzk2MgorIywgYy1mb3JtYXQKK21zZ2lkICJuZXcgbW9kZSAoJW8pIG9mICVzIGRvZXMgbm90IG1hdGNoIG9sZCBtb2RlICglbykgb2YgJXMiCittc2dzdHIgIiUyJHMg55qE5paw5qih5byP77yIJTEkb++8ieWSjCAlNCRzIOeahOiIiuaooeW8j++8iCUzJG/vvInkuI3nrKblkIgiCisKKyM6IGFwcGx5LmM6Mzk4MgorIywgYy1mb3JtYXQKK21zZ2lkICJhZmZlY3RlZCBmaWxlICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAi5Y+X5b2x6Z+/55qE5qqU5qGIICclcycg5L2N5pa856ym6Jmf6YCj57WQ5LitIgorCisjOiBhcHBseS5jOjM5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhdGNoIGRvZXMgbm90IGFwcGx5IgorbXNnc3RyICIlc++8muS/ruijnOaqlOacquWll+eUqCIKKworIzogYXBwbHkuYzo0MDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nIHBhdGNoICVzLi4uIgorbXNnc3RyICLmraPlnKjmqqLmn6Xkv67oo5zmqpQgJXMuLi4iCisKKyM6IGFwcGx5LmM6NDA5MworIywgYy1mb3JtYXQKK21zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyBmb3Igc3VibW9kdWxlICVzIgorbXNnc3RyICLlrZDmqKHntYQgJXMg55qEIHNoYTEg6KiK5oGv57y65bCR5oiW54Sh5pWIIgorCisjOiBhcHBseS5jOjQxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZSBjaGFuZ2UgZm9yICVzLCB3aGljaCBpcyBub3QgaW4gY3VycmVudCBIRUFEIgorbXNnc3RyICIlcyDnmoTmqKHlvI/orormm7TvvIzkvYblroPkuI3lnKjnm67liY0gSEVBRCDkuK0iCisKKyM6IGFwcGx5LmM6NDEwMworIywgYy1mb3JtYXQKK21zZ2lkICJzaGExIGluZm9ybWF0aW9uIGlzIGxhY2tpbmcgb3IgdXNlbGVzcyAoJXMpLiIKK21zZ3N0ciAic2hhMSDoqIrmga/nvLrlsJHmiJbnhKHmlYjvvIglc++8ieOAgiIKKworIzogYXBwbHkuYzo0MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBhZGQgJXMgdG8gdGVtcG9yYXJ5IGluZGV4IgorbXNnc3RyICLkuI3og73lnKjmmqvmmYLntKLlvJXkuK3mlrDlop4gJXMiCisKKyM6IGFwcGx5LmM6NDEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdGVtcG9yYXJ5IGluZGV4IHRvICVzIgorbXNnc3RyICLkuI3og73miormmqvmmYLntKLlvJXlr6vlhaXliLAgJXMiCisKKyM6IGFwcGx5LmM6NDI2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVtb3ZlICVzIGZyb20gaW5kZXgiCittc2dzdHIgIuS4jeiDveW+nue0ouW8leS4reenu+mZpCAlcyIKKworIzogYXBwbHkuYzo0Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvcnJ1cHQgcGF0Y2ggZm9yIHN1Ym1vZHVsZSAlcyIKK21zZ3N0ciAi5a2Q5qih57WEICVzIOaQjeWjnueahOS/ruijnOaqlCIKKworIzogYXBwbHkuYzo0MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBzdGF0IG5ld2x5IGNyZWF0ZWQgZmlsZSAnJXMnIgorbXNnc3RyICLkuI3og73lsI3lu7rnq4vmqpTmoYggJyVzJyDlkbzlj6sgc3RhdCIKKworIzogYXBwbHkuYzo0MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgYmFja2luZyBzdG9yZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlICVzIgorbXNnc3RyICLkuI3og73ngrrlu7rnq4vmqpTmoYggJXMg5bu656uL5b6M56uv5YSy5a2YIgorCisjOiBhcHBseS5jOjQzMTQgYXBwbHkuYzo0NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhZGQgY2FjaGUgZW50cnkgZm9yICVzIgorbXNnc3RyICLnhKHms5XngrogJXMg5paw5aKe5b+r5Y+W5qKd55uuIgorCisjOiBhcHBseS5jOjQzNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIHRvICclcyciCittc2dzdHIgIuWvq+WFpSAnJXMnIOWkseaVlyIKKworIzogYXBwbHkuYzo0MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgZmlsZSAnJXMnIgorbXNnc3RyICLpl5zplonmqpTmoYggJyVzJyIKKworIzogYXBwbHkuYzo0NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICclcycgbW9kZSAlbyIKK21zZ3N0ciAi5LiN6IO95a+r5YWl5qqU5qGIICclcycg5qyK6ZmQICVvIgorCisjOiBhcHBseS5jOjQ1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXBwbGllZCBwYXRjaCAlcyBjbGVhbmx5LiIKK21zZ3N0ciAi5oiQ5Yqf5aWX55So5L+u6KOc5qqUICVz44CCIgorCisjOiBhcHBseS5jOjQ1MzcKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAi5YWn6YOo6Yyv6KqkIgorCisjOiBhcHBseS5jOjQ1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXBwbHlpbmcgcGF0Y2ggJSVzIHdpdGggJWQgcmVqZWN0Li4uIgorbXNnaWRfcGx1cmFsICJBcHBseWluZyBwYXRjaCAlJXMgd2l0aCAlZCByZWplY3RzLi4uIgorbXNnc3RyWzBdICLlpZfnlKggJSVzIOWAi+S/ruijnOaqlO+8jOWFtuS4rSAlZCDlgIvooqvmi5LntZUuLi4iCittc2dzdHJbMV0gIuWll+eUqCAlJXMg5YCL5L+u6KOc5qqU77yM5YW25LitICVkIOWAi+iiq+aLkue1lS4uLiIKKworIzogYXBwbHkuYzo0NTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInRydW5jYXRpbmcgLnJlaiBmaWxlbmFtZSB0byAlLipzLnJlaiIKK21zZ3N0ciAi5oiq55+tIC5yZWog5qqU5qGI5ZCN54K6ICUuKnMucmVqIgorCisjOiBhcHBseS5jOjQ1NTkgYnVpbHRpbi9mZXRjaC5jOjkwMSBidWlsdGluL2ZldGNoLmM6MTE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAi5LiN6IO96ZaL5ZWfICVzIgorCisjOiBhcHBseS5jOjQ1NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHVuayAjJWQgYXBwbGllZCBjbGVhbmx5LiIKK21zZ3N0ciAi56ysICMlZCDlgIvniYfmrrXmiJDlip/mh4nnlKjjgIIiCisKKyM6IGFwcGx5LmM6NDU3NworIywgYy1mb3JtYXQKK21zZ2lkICJSZWplY3RlZCBodW5rICMlZC4iCittc2dzdHIgIuaLkue1leesrCAjJWQg5YCL54mH5q6144CCIgorCisjOiBhcHBseS5jOjQ2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBlZCBwYXRjaCAnJXMnLiIKK21zZ3N0ciAi55Wl6YGO5L+u6KOc5qqUICclcyfjgIIiCisKKyM6IGFwcGx5LmM6NDcwNAorbXNnaWQgInVucmVjb2duaXplZCBpbnB1dCIKK21zZ3N0ciAi5pyq6IO96K2Y5Yil55qE6Ly45YWlIgorCisjOiBhcHBseS5jOjQ3MjQKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBpbmRleCBmaWxlIgorbXNnc3RyICLnhKHms5XoroDlj5bntKLlvJXmqpTmoYgiCisKKyM6IGFwcGx5LmM6NDg4MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBvcGVuIHBhdGNoICclcyc6ICVzIgorbXNnc3RyICLkuI3og73plovllZ/kv67oo5zmqpQgJyVzJ++8miVzIgorCisjOiBhcHBseS5jOjQ5MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3F1ZWxjaGVkICVkIHdoaXRlc3BhY2UgZXJyb3IiCittc2dpZF9wbHVyYWwgInNxdWVsY2hlZCAlZCB3aGl0ZXNwYWNlIGVycm9ycyIKK21zZ3N0clswXSAi5oqR5Yi25LiL5LuN5pyJICVkIOWAi+epuueZveWtl+WFg+iqpOeUqCIKK21zZ3N0clsxXSAi5oqR5Yi25LiL5LuN5pyJICVkIOWAi+epuueZveWtl+WFg+iqpOeUqCIKKworIzogYXBwbHkuYzo0OTE0IGFwcGx5LmM6NDkyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBsaW5lIGFkZHMgd2hpdGVzcGFjZSBlcnJvcnMuIgorbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhZGQgd2hpdGVzcGFjZSBlcnJvcnMuIgorbXNnc3RyWzBdICIlZCDooYzmlrDlop7kuobnqbrnmb3lrZflhYPoqqTnlKjjgIIiCittc2dzdHJbMV0gIiVkIOihjOaWsOWinuS6huepuueZveWtl+WFg+iqpOeUqOOAgiIKKworIzogYXBwbHkuYzo0OTIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGxpbmUgYXBwbGllZCBhZnRlciBmaXhpbmcgd2hpdGVzcGFjZSBlcnJvcnMuIgorbXNnaWRfcGx1cmFsICIlZCBsaW5lcyBhcHBsaWVkIGFmdGVyIGZpeGluZyB3aGl0ZXNwYWNlIGVycm9ycy4iCittc2dzdHJbMF0gIuS/ruW+qeepuueZvemMr+iqpOW+jO+8jOaHieeUqOS6hiAlZCDooYzjgIIiCittc2dzdHJbMV0gIuS/ruW+qeepuueZvemMr+iqpOW+jO+8jOaHieeUqOS6hiAlZCDooYzjgIIiCisKKyM6IGFwcGx5LmM6NDkzOCBidWlsdGluL2FkZC5jOjU3OSBidWlsdGluL212LmM6MzAxIGJ1aWx0aW4vcm0uYzozOTAKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgbmV3IGluZGV4IGZpbGUiCittc2dzdHIgIueEoeazleWvq+WFpeaWsOe0ouW8leaqlOahiCIKKworIzogYXBwbHkuYzo0OTY2Cittc2dpZCAiZG9uJ3QgYXBwbHkgY2hhbmdlcyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0aCIKK21zZ3N0ciAi5LiN6KaB5oeJ55So6IiH57Wm5Ye66Lev5b6R5ZCR56ym5ZCI55qE6K6K5pu0IgorCisjOiBhcHBseS5jOjQ5NjkKK21zZ2lkICJhcHBseSBjaGFuZ2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXRoIgorbXNnc3RyICLmh4nnlKjoiIfntablh7rot6/lvpHlkJHnrKblkIjnmoTorormm7QiCisKKyM6IGFwcGx5LmM6NDk3MSBidWlsdGluL2FtLmM6MjIwNgorbXNnaWQgIm51bSIKK21zZ3N0ciAi5pW45a2XIgorCisjOiBhcHBseS5jOjQ5NzIKK21zZ2lkICJyZW1vdmUgPG51bT4gbGVhZGluZyBzbGFzaGVzIGZyb20gdHJhZGl0aW9uYWwgZGlmZiBwYXRocyIKK21zZ3N0ciAi5b6e5YKz57Wx55qEIGRpZmYg6Lev5b6R5Lit56e76Zmk5oyH5a6a5pW46YeP55qE5YmN5bCO5pac57eaIgorCisjOiBhcHBseS5jOjQ5NzUKK21zZ2lkICJpZ25vcmUgYWRkaXRpb25zIG1hZGUgYnkgdGhlIHBhdGNoIgorbXNnc3RyICLlv73nlaXkv67oo5zmqpTkuK3nmoTmlrDlop7nmoTmqpTmoYgiCisKKyM6IGFwcGx5LmM6NDk3NworbXNnaWQgImluc3RlYWQgb2YgYXBwbHlpbmcgdGhlIHBhdGNoLCBvdXRwdXQgZGlmZnN0YXQgZm9yIHRoZSBpbnB1dCIKK21zZ3N0ciAi5LiN5aWX55So5L+u6KOc5qqU77yM6ICM5piv6aGv56S66Ly45YWl55qE5beu55Ww57Wx6KiI77yIZGlmZnN0YXTvvIkiCisKKyM6IGFwcGx5LmM6NDk4MQorbXNnaWQgInNob3cgbnVtYmVyIG9mIGFkZGVkIGFuZCBkZWxldGVkIGxpbmVzIGluIGRlY2ltYWwgbm90YXRpb24iCittc2dzdHIgIuS7peWNgemAsuS9jeaVuOmhr+ekuuaWsOWinuWSjOWIqumZpOeahOihjOaVuCIKKworIzogYXBwbHkuYzo0OTgzCittc2dpZCAiaW5zdGVhZCBvZiBhcHBseWluZyB0aGUgcGF0Y2gsIG91dHB1dCBhIHN1bW1hcnkgZm9yIHRoZSBpbnB1dCIKK21zZ3N0ciAi5LiN5aWX55So5L+u6KOc5qqU77yM6ICM5piv6aGv56S66Ly45YWl55qE5qaC6KaBIgorCisjOiBhcHBseS5jOjQ5ODUKK21zZ2lkICJpbnN0ZWFkIG9mIGFwcGx5aW5nIHRoZSBwYXRjaCwgc2VlIGlmIHRoZSBwYXRjaCBpcyBhcHBsaWNhYmxlIgorbXNnc3RyICLkuI3lpZfnlKjkv67oo5zmqpTvvIzogIzmmK/mqqLoppbkv67oo5zmqpTmmK/lkKblj6/mh4nnlKgiCisKKyM6IGFwcGx5LmM6NDk4NworbXNnaWQgIm1ha2Ugc3VyZSB0aGUgcGF0Y2ggaXMgYXBwbGljYWJsZSB0byB0aGUgY3VycmVudCBpbmRleCIKK21zZ3N0ciAi56K66KqN5L+u6KOc5qqU5Y+v5Lul5aWX55So5Yiw55uu5YmN57Si5byVIgorCisjOiBhcHBseS5jOjQ5ODkKK21zZ2lkICJtYXJrIG5ldyBmaWxlcyB3aXRoIGBnaXQgYWRkIC0taW50ZW50LXRvLWFkZGAiCittc2dzdHIgIuS9v+eUqOaMh+S7pCBgZ2l0IGFkZCAtLWludGVudC10by1hZGRgIOaomeiomOaWsOWinuaqlOahiCIKKworIzogYXBwbHkuYzo0OTkxCittc2dpZCAiYXBwbHkgYSBwYXRjaCB3aXRob3V0IHRvdWNoaW5nIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgIuWll+eUqOS/ruijnOaqlOiAjOS4jeS/ruaUueW3peS9nOWNgCIKKworIzogYXBwbHkuYzo0OTkzCittc2dpZCAiYWNjZXB0IGEgcGF0Y2ggdGhhdCB0b3VjaGVzIG91dHNpZGUgdGhlIHdvcmtpbmcgYXJlYSIKK21zZ3N0ciAi5o6l5Y+X5L+u5pS55bel5L2c5Y2A5LmL5aSW5qqU5qGI55qE5L+u6KOc5qqUIgorCisjOiBhcHBseS5jOjQ5OTYKK21zZ2lkICJhbHNvIGFwcGx5IHRoZSBwYXRjaCAodXNlIHdpdGggLS1zdGF0Ly0tc3VtbWFyeS8tLWNoZWNrKSIKK21zZ3N0ciAi6YKE5aWX55So5q2k5L+u6KOc5qqU77yI6IiHIC0tc3RhdC8tLXN1bW1hcnkvLS1jaGVjayDpgbjpoIXlkIzmmYLkvb/nlKjvvIkiCisKKyM6IGFwcGx5LmM6NDk5OAorbXNnaWQgImF0dGVtcHQgdGhyZWUtd2F5IG1lcmdlIGlmIGEgcGF0Y2ggZG9lcyBub3QgYXBwbHkiCittc2dzdHIgIuWmguaenOS4gOWAi+S/ruijnOaqlOS4jeiDveaHieeUqOWJh+WYl+ippuS4ieaWueWQiOS9tSIKKworIzogYXBwbHkuYzo1MDAwCittc2dpZCAiYnVpbGQgYSB0ZW1wb3JhcnkgaW5kZXggYmFzZWQgb24gZW1iZWRkZWQgaW5kZXggaW5mb3JtYXRpb24iCittc2dzdHIgIuW7uueri+S4gOWAi+aaq+aZgue0ouW8leWfuuaWvOW1jOWFpeeahOe0ouW8leioiuaBryIKKworIzogYXBwbHkuYzo1MDAzIGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzMgYnVpbHRpbi9scy1maWxlcy5jOjUyNAorbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgorbXNnc3RyICLot6/lvpHku6UgTlVMIOWtl+WFg+WIhumalCIKKworIzogYXBwbHkuYzo1MDA1Cittc2dpZCAiZW5zdXJlIGF0IGxlYXN0IDxuPiBsaW5lcyBvZiBjb250ZXh0IG1hdGNoIgorbXNnc3RyICLnorrkv53oh7PlsJHnrKblkIggPG4+IOihjOS4iuS4i+aWhyIKKworIzogYXBwbHkuYzo1MDA2IGJ1aWx0aW4vYW0uYzoyMTg1IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6OTgKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAwIGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAyCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTAgYnVpbHRpbi9yZWJhc2UuYzoxNDc0Cittc2dpZCAiYWN0aW9uIgorbXNnc3RyICLli5XkvZwiCisKKyM6IGFwcGx5LmM6NTAwNworbXNnaWQgImRldGVjdCBuZXcgb3IgbW9kaWZpZWQgbGluZXMgdGhhdCBoYXZlIHdoaXRlc3BhY2UgZXJyb3JzIgorbXNnc3RyICLmqqLmn6XmlrDlop7lkozkv67mlLnnmoTooYzkuK3plpPnmoTnqbrnmb3lrZflhYPmv6vnlKgiCisKKyM6IGFwcGx5LmM6NTAxMCBhcHBseS5jOjUwMTMKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIHdoZW4gZmluZGluZyBjb250ZXh0IgorbXNnc3RyICLlsIvmib7kuIrkuIvmlofmmYLlv73nlaXnqbrnmb3lrZflhYPnmoTorormm7QiCisKKyM6IGFwcGx5LmM6NTAxNgorbXNnaWQgImFwcGx5IHRoZSBwYXRjaCBpbiByZXZlcnNlIgorbXNnc3RyICLlj43lkJHlpZfnlKjkv67oo5zmqpQiCisKKyM6IGFwcGx5LmM6NTAxOAorbXNnaWQgImRvbid0IGV4cGVjdCBhdCBsZWFzdCBvbmUgbGluZSBvZiBjb250ZXh0IgorbXNnc3RyICLnhKHpnIDoh7PlsJHkuIDooYzkuIrkuIvmlociCisKKyM6IGFwcGx5LmM6NTAyMAorbXNnaWQgImxlYXZlIHRoZSByZWplY3RlZCBodW5rcyBpbiBjb3JyZXNwb25kaW5nICoucmVqIGZpbGVzIgorbXNnc3RyICLlsIfmi5LntZXnmoTkv67oo5zmqpTniYfmrrXlhLLlrZjlnKjlsI3mh4nnmoQgKi5yZWog5qqU5qGI5LitIgorCisjOiBhcHBseS5jOjUwMjIKK21zZ2lkICJhbGxvdyBvdmVybGFwcGluZyBodW5rcyIKK21zZ3N0ciAi5YWB6Kix6YeN55aK55qE5L+u6KOc5qqU54mH5q61IgorCisjOiBhcHBseS5jOjUwMjMgYnVpbHRpbi9hZGQuYzozMDkgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoyMgorIzogYnVpbHRpbi9jb21taXQuYzoxMzU1IGJ1aWx0aW4vY291bnQtb2JqZWN0cy5jOjk4IGJ1aWx0aW4vZnNjay5jOjc3NAorIzogYnVpbHRpbi9sb2cuYzoyMTY2IGJ1aWx0aW4vbXYuYzoxMjMgYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjgKK21zZ2lkICJiZSB2ZXJib3NlIgorbXNnc3RyICLoqbPntLDovLjlh7oiCisKKyM6IGFwcGx5LmM6NTAyNQorbXNnaWQgInRvbGVyYXRlIGluY29ycmVjdGx5IGRldGVjdGVkIG1pc3NpbmcgbmV3LWxpbmUgYXQgdGhlIGVuZCBvZiBmaWxlIgorbXNnc3RyICLlhYHoqLHkuI3mraPnorrnmoTmqpTmoYjmnKvlsL7mj5vooYznrKbomZ8iCisKKyM6IGFwcGx5LmM6NTAyOAorbXNnaWQgImRvIG5vdCB0cnVzdCB0aGUgbGluZSBjb3VudHMgaW4gdGhlIGh1bmsgaGVhZGVycyIKK21zZ3N0ciAi5LiN5L+h5Lu75L+u6KOc5qqU54mH5q6155qE5qiZ6aCt6KiK5oGv5Lit55qE6KGM6JmfIgorCisjOiBhcHBseS5jOjUwMzAgYnVpbHRpbi9hbS5jOjIxOTQKK21zZ2lkICJyb290IgorbXNnc3RyICLmoLnnm67pjIQiCisKKyM6IGFwcGx5LmM6NTAzMQorbXNnaWQgInByZXBlbmQgPHJvb3Q+IHRvIGFsbCBmaWxlbmFtZXMiCittc2dzdHIgIueCuuaJgOacieaqlOahiOWQjeWJjeaWsOWiniA85qC555uu6YyEPiIKKworIzogYXJjaGl2ZS5jOjE0Cittc2dpZCAiZ2l0IGFyY2hpdmUgWzxvcHRpb25zPl0gPHRyZWUtaXNoPiBbPHBhdGg+Li4uXSIKK21zZ3N0ciAiZ2l0IGFyY2hpdmUgWzzpgbjpoIU+XSA85qi55oiW5o+Q5LqkPiBbPOi3r+W+kT4uLi5dIgorCisjOiBhcmNoaXZlLmM6MTUKK21zZ2lkICJnaXQgYXJjaGl2ZSAtLWxpc3QiCittc2dzdHIgImdpdCBhcmNoaXZlIC0tbGlzdCIKKworIzogYXJjaGl2ZS5jOjE2Cittc2dpZCAiIgorImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSBbPG9wdGlvbnM+XSA8dHJlZS1pc2g+IFs8cGF0aD4uLi5dIgorbXNnc3RyICJnaXQgYXJjaGl2ZSAtLXJlbW90ZSA854mI5pys5bqrPiBbLS1leGVjIDzmjIfku6Q+XSBbPOmBuOmghT5dIDzmqLnmiJbmj5DkuqQ+IFs86Lev5b6RPi4uLl0iCisKKyM6IGFyY2hpdmUuYzoxNworbXNnaWQgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDxyZXBvPiBbLS1leGVjIDxjbWQ+XSAtLWxpc3QiCittc2dzdHIgImdpdCBhcmNoaXZlIC0tcmVtb3RlIDzniYjmnKzluqs+IFstLWV4ZWMgPOaMh+S7pD5dIC0tbGlzdCIKKworIzogYXJjaGl2ZS5jOjM3MiBidWlsdGluL2FkZC5jOjE4MCBidWlsdGluL2FkZC5jOjU1NSBidWlsdGluL3JtLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGhzcGVjICclcycgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZXMiCittc2dzdHIgIui3r+W+keimj+agvCAnJXMnIOacquespuWQiOS7u+S9leaqlOahiCIKKworIzogYXJjaGl2ZS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlZjogJS4qcyIKK21zZ3N0ciAi54Sh5q2k5byV55So77yaJS4qcyIKKworIzogYXJjaGl2ZS5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJXMiCittc2dzdHIgIuS4jeaYr+S4gOWAi+acieaViOeahOeJqeS7tuWQje+8miVzIgorCisjOiBhcmNoaXZlLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIHRyZWUgb2JqZWN0OiAlcyIKK21zZ3N0ciAi5LiN5piv5LiA5YCL5qi554uA54mp5Lu277yaJXMiCisKKyM6IGFyY2hpdmUuYzo0MjYKK21zZ2lkICJjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGlzIHVudHJhY2tlZCIKK21zZ3N0ciAi55uu5YmN5bel5L2c55uu6YyE5pyq6KKr6L+96LmkIgorCisjOiBhcmNoaXZlLmM6NDU3Cittc2dpZCAiZm10IgorbXNnc3RyICLmoLzlvI8iCisKKyM6IGFyY2hpdmUuYzo0NTcKK21zZ2lkICJhcmNoaXZlIGZvcm1hdCIKK21zZ3N0ciAi5q245qqU5qC85byPIgorCisjOiBhcmNoaXZlLmM6NDU4IGJ1aWx0aW4vbG9nLmM6MTY1MworbXNnaWQgInByZWZpeCIKK21zZ3N0ciAi5YmN57a0IgorCisjOiBhcmNoaXZlLmM6NDU5Cittc2dpZCAicHJlcGVuZCBwcmVmaXggdG8gZWFjaCBwYXRobmFtZSBpbiB0aGUgYXJjaGl2ZSIKK21zZ3N0ciAi54K65q245qqU5Lit5q+P5YCL6Lev5b6R5ZCN5Yqg5LiK5YmN57a0IgorCisjOiBhcmNoaXZlLmM6NDYwIGJ1aWx0aW4vYmxhbWUuYzo4NjEgYnVpbHRpbi9ibGFtZS5jOjg2NSBidWlsdGluL2JsYW1lLmM6ODY2CisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTE3IGJ1aWx0aW4vY29uZmlnLmM6MTI5IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTYyCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2NCBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2OCBidWlsdGluL2dyZXAuYzo4OTkKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDUgYnVpbHRpbi9scy1maWxlcy5jOjU2MCBidWlsdGluL2xzLWZpbGVzLmM6NTYzCisjOiBidWlsdGluL25vdGVzLmM6NDEyIGJ1aWx0aW4vbm90ZXMuYzo1NzggYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjMKKyM6IHBhcnNlLW9wdGlvbnMuaDoxOTAKK21zZ2lkICJmaWxlIgorbXNnc3RyICLmqpTmoYgiCisKKyM6IGFyY2hpdmUuYzo0NjEgYnVpbHRpbi9hcmNoaXZlLmM6OTAKK21zZ2lkICJ3cml0ZSB0aGUgYXJjaGl2ZSB0byB0aGlzIGZpbGUiCittc2dzdHIgIuatuOaqlOWvq+WFpeatpOaqlOahiCIKKworIzogYXJjaGl2ZS5jOjQ2MworbXNnaWQgInJlYWQgLmdpdGF0dHJpYnV0ZXMgaW4gd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIuiugOWPluW3peS9nOWNgOS4reeahCAuZ2l0YXR0cmlidXRlcyIKKworIzogYXJjaGl2ZS5jOjQ2NAorbXNnaWQgInJlcG9ydCBhcmNoaXZlZCBmaWxlcyBvbiBzdGRlcnIiCittc2dzdHIgIuWcqOaomea6lumMr+iqpOS4iuWgseWRiuatuOaqlOaqlOahiCIKKworIzogYXJjaGl2ZS5jOjQ2NQorbXNnaWQgInN0b3JlIG9ubHkiCittc2dzdHIgIuWPquWEsuWtmCIKKworIzogYXJjaGl2ZS5jOjQ2NgorbXNnaWQgImNvbXByZXNzIGZhc3RlciIKK21zZ3N0ciAi5aOT57iu6YCf5bqm5pu05b+rIgorCisjOiBhcmNoaXZlLmM6NDc0Cittc2dpZCAiY29tcHJlc3MgYmV0dGVyIgorbXNnc3RyICLlo5PnuK7mlYjmnpzmm7Tlpb0iCisKKyM6IGFyY2hpdmUuYzo0NzcKK21zZ2lkICJsaXN0IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiCittc2dzdHIgIuWIl+WHuuaUr+aPtOeahOatuOaqlOagvOW8jyIKKworIzogYXJjaGl2ZS5jOjQ3OSBidWlsdGluL2FyY2hpdmUuYzo5MSBidWlsdGluL2Nsb25lLmM6MTEzIGJ1aWx0aW4vY2xvbmUuYzoxMTYKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzkxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODg0Cittc2dpZCAicmVwbyIKK21zZ3N0ciAi54mI5pys5bqrIgorCisjOiBhcmNoaXZlLmM6NDgwIGJ1aWx0aW4vYXJjaGl2ZS5jOjkyCittc2dpZCAicmV0cmlldmUgdGhlIGFyY2hpdmUgZnJvbSByZW1vdGUgcmVwb3NpdG9yeSA8cmVwbz4iCittc2dzdHIgIuW+numBoOerr+eJiOacrOW6q++8iDzniYjmnKzluqs+77yJ5pO35Y+W5q245qqU5qqU5qGIIgorCisjOiBhcmNoaXZlLmM6NDgxIGJ1aWx0aW4vYXJjaGl2ZS5jOjkzIGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTUKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0OTgKK21zZ2lkICJjb21tYW5kIgorbXNnc3RyICLmjIfku6QiCisKKyM6IGFyY2hpdmUuYzo0ODIgYnVpbHRpbi9hcmNoaXZlLmM6OTQKK21zZ2lkICJwYXRoIHRvIHRoZSByZW1vdGUgZ2l0LXVwbG9hZC1hcmNoaXZlIGNvbW1hbmQiCittc2dzdHIgIumBoOerryBnaXQtdXBsb2FkLWFyY2hpdmUg5oyH5Luk55qE6Lev5b6RIgorCisjOiBhcmNoaXZlLmM6NDg5Cittc2dpZCAiVW5leHBlY3RlZCBvcHRpb24gLS1yZW1vdGUiCittc2dzdHIgIuacquefpeWPg+aVuCAtLXJlbW90ZSIKKworIzogYXJjaGl2ZS5jOjQ5MQorbXNnaWQgIk9wdGlvbiAtLWV4ZWMgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tcmVtb3RlIgorbXNnc3RyICLpgbjpoIUgLS1leGVjIOWPquiDveWSjCAtLXJlbW90ZSDlkIzmmYLkvb/nlKgiCisKKyM6IGFyY2hpdmUuYzo0OTMKK21zZ2lkICJVbmV4cGVjdGVkIG9wdGlvbiAtLW91dHB1dCIKK21zZ3N0ciAi5pyq55+l5Y+D5pW4IC0tb3V0cHV0IgorCisjOiBhcmNoaXZlLmM6NTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gYXJjaGl2ZSBmb3JtYXQgJyVzJyIKK21zZ3N0ciAi5pyq55+l5q245qqU5qC85byPICclcyciCisKKyM6IGFyY2hpdmUuYzo1MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXJndW1lbnQgbm90IHN1cHBvcnRlZCBmb3IgZm9ybWF0ICclcyc6IC0lZCIKK21zZ3N0ciAi5Y+D5pW45LiN5pSv5o+05q2k5qC85byPICclcyfvvJotJWQiCisKKyM6IGFyY2hpdmUtdGFyLmM6MTI1IGFyY2hpdmUtemlwLmM6MzUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzdHJlYW0gYmxvYiAlcyIKK21zZ3N0ciAi5LiN6IO96ZaL5ZWf6LOH5paZ54mp5Lu2ICVzIgorCisjOiBhcmNoaXZlLXRhci5jOjI2NiBhcmNoaXZlLXppcC5jOjM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlIG1vZGU6IDAlbyAoU0hBMTogJXMpIgorbXNnc3RyICLkuI3mlK/mj7TnmoTmqpTmoYjmqKHlvI/vvJowJW8gKFNIQTE6ICVzKSIKKworIzogYXJjaGl2ZS10YXIuYzoyOTMgYXJjaGl2ZS16aXAuYzozNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgIuS4jeiDveiugOWPliAlcyIKKworIzogYXJjaGl2ZS10YXIuYzo0NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHN0YXJ0ICclcycgZmlsdGVyIgorbXNnc3RyICLnhKHms5XllZ/li5UgJyVzJyDpgY7mv77lmagiCisKKyM6IGFyY2hpdmUtdGFyLmM6NDY4Cittc2dpZCAidW5hYmxlIHRvIHJlZGlyZWN0IGRlc2NyaXB0b3IiCittc2dzdHIgIueEoeazlemHjeWumuWQkeaPj+i/sOespiIKKworIzogYXJjaGl2ZS10YXIuYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBmaWx0ZXIgcmVwb3J0ZWQgZXJyb3IiCittc2dzdHIgIiclcycg6YGO5r++5Zmo5aCx5ZGK5LqG6Yyv6KqkIgorCisjOiBhcmNoaXZlLXppcC5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoIGlzIG5vdCB2YWxpZCBVVEYtODogJXMiCittc2dzdHIgIui3r+W+keS4jeaYr+acieaViOeahCBVVEYtOO+8miVzIgorCisjOiBhcmNoaXZlLXppcC5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoIHRvbyBsb25nICglZCBjaGFycywgU0hBMTogJXMpOiAlcyIKK21zZ3N0ciAi6Lev5b6R5aSq6ZW377yIJWQg5a2X5YWD77yMU0hBMe+8miVz77yJ77yaJXMiCisKKyM6IGFyY2hpdmUtemlwLmM6NDc5IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjMwIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgImRlZmxhdGUgZXJyb3IgKCVkKSIKK21zZ3N0ciAi5aOT57iu6Yyv6KqkICglZCkiCisKKyM6IGFyY2hpdmUtemlwLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWVzdGFtcCB0b28gbGFyZ2UgZm9yIHRoaXMgc3lzdGVtOiAlPFBSSXVNQVg+IgorbXNnc3RyICLlsI3mlrzmnKzns7vntbHmmYLplpPmiLPlpKrlpKfvvJolPFBSSXVNQVg+IgorCisjOiBhdHRyLmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiUuKnMgaXMgbm90IGEgdmFsaWQgYXR0cmlidXRlIG5hbWUiCittc2dzdHIgIiUuKnMg5LiN5piv5LiA5YCL5pyJ5pWI55qE5bGs5oCn5ZCNIgorCisjOiBhdHRyLmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbGxvd2VkOiAlczolZCIKK21zZ3N0ciAi5LiN5YWB6KixICVz77yaJXM6JWQiCisKKyM6IGF0dHIuYzo0MDkKK21zZ2lkICIiCisiTmVnYXRpdmUgcGF0dGVybnMgYXJlIGlnbm9yZWQgaW4gZ2l0IGF0dHJpYnV0ZXNcbiIKKyJVc2UgJ1xcIScgZm9yIGxpdGVyYWwgbGVhZGluZyBleGNsYW1hdGlvbi4iCittc2dzdHIgIiIKKyLlj43lkJHmqKHlvI/lnKggZ2l0IGF0dHJpYnV0ZXMg5Lit6KKr5b+955WlXG4iCisi55W25a2X5Liy56K65a+m6KaB5Lul6ama5ZiG6Jmf6ZaL5aeL5pmC77yM5L2/55SoICdcXCEn44CCIgorCisjOiBiaXNlY3QuYzo0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkbHkgcXVvdGVkIGNvbnRlbnQgaW4gZmlsZSAnJXMnOiAlcyIKK21zZ3N0ciAi5qqU5qGIICclcycg5YyF5ZCr6Yyv6Kqk55qE5byV55So5qC85byP77yaJXMiCisKKyM6IGJpc2VjdC5jOjY3OAorIywgYy1mb3JtYXQKK21zZ2lkICJXZSBjYW5ub3QgYmlzZWN0IG1vcmUhXG4iCittc2dzdHIgIuaIkeWAkeeEoeazlemAsuihjOabtOWkmueahOS6jOWIhuWwi+aJvu+8gVxuIgorCisjOiBiaXNlY3QuYzo3MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGEgdmFsaWQgY29tbWl0IG5hbWUgJXMiCittc2dzdHIgIuS4jeaYr+S4gOWAi+acieaViOeahOaPkOS6pOWQjSAlcyIKKworIzogYmlzZWN0LmM6NzU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgbWVyZ2UgYmFzZSAlcyBpcyBiYWQuXG4iCisiVGhpcyBtZWFucyB0aGUgYnVnIGhhcyBiZWVuIGZpeGVkIGJldHdlZW4gJXMgYW5kIFslc10uXG4iCittc2dzdHIgIiIKKyLlkIjkvbXln7rnpI4gJXMg5piv5aOe55qE44CCXG4iCisi6YCZ5oSP5ZGz6JGX5LuL5pa8ICVzIOWSjCBbJXNdIOS5i+mWk+eahCBidWcg5bey57aT6KKr5L+u5b6p44CCXG4iCisKKyM6IGJpc2VjdC5jOjc2MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIG1lcmdlIGJhc2UgJXMgaXMgbmV3LlxuIgorIlRoZSBwcm9wZXJ0eSBoYXMgY2hhbmdlZCBiZXR3ZWVuICVzIGFuZCBbJXNdLlxuIgorbXNnc3RyICIiCisi5ZCI5L215Z+656SOICVzIOaYr+aWsOeahOOAglxuIgorIuS7i+aWvCAlcyDlkowgWyVzXSDkuYvplpPnmoTlsazmgKflt7LntpPooqvkv67mlLnjgIJcbiIKKworIzogYmlzZWN0LmM6NzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgbWVyZ2UgYmFzZSAlcyBpcyAlcy5cbiIKKyJUaGlzIG1lYW5zIHRoZSBmaXJzdCAnJXMnIGNvbW1pdCBpcyBiZXR3ZWVuICVzIGFuZCBbJXNdLlxuIgorbXNnc3RyICIiCisi5ZCI5L215Z+656SOICVzIOaYryAlc+OAglxuIgorIumAmeaEj+WRs+iRl+esrOS4gOWAiyAnJXMnIOaPkOS6pOS9jeaWvCAlcyDlkowgWyVzXSDkuYvplpPjgIJcbiIKKworIzogYmlzZWN0LmM6Nzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJTb21lICVzIHJldnMgYXJlIG5vdCBhbmNlc3RvcnMgb2YgdGhlICVzIHJldi5cbiIKKyJnaXQgYmlzZWN0IGNhbm5vdCB3b3JrIHByb3Blcmx5IGluIHRoaXMgY2FzZS5cbiIKKyJNYXliZSB5b3UgbWlzdG9vayAlcyBhbmQgJXMgcmV2cz9cbiIKK21zZ3N0ciAiIgorIuS4gOS6myAlcyDniYjmnKzkuI3mmK8gJXMg54mI5pys55qE56WW5YWI44CCXG4iCisi6YCZ56iu5oOF5rOB5LiLIGdpdCDkuozliIblsIvmib7nhKHms5XmraPluLjlt6XkvZzjgIJcbiIKKyLmgqjlj6/og73lvITpjK/kuoYgJXMg5ZKMICVzIOeJiOacrO+8n1xuIgorCisjOiBiaXNlY3QuYzo3ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInRoZSBtZXJnZSBiYXNlIGJldHdlZW4gJXMgYW5kIFslc10gbXVzdCBiZSBza2lwcGVkLlxuIgorIlNvIHdlIGNhbm5vdCBiZSBzdXJlIHRoZSBmaXJzdCAlcyBjb21taXQgaXMgYmV0d2VlbiAlcyBhbmQgJXMuXG4iCisiV2UgY29udGludWUgYW55d2F5LiIKK21zZ3N0ciAiIgorIuS7i+aWvCAlcyDlkowgWyVzXSDnmoTlkIjkvbXln7rnpI7kuIDlrprooqvlv73nlaXkuobjgIJcbiIKKyLmiYDku6XmiJHlgJHnhKHms5Xnorroqo3nrKzkuIDlgIsgJXMg5o+Q5Lqk5piv5ZCm5LuL5pa8ICVzIOWSjCAlcyDkuYvplpPjgIJcbiIKKyLmiJHlgJHku43oiIrnubznuozjgIIiCisKKyM6IGJpc2VjdC5jOjgyMgorIywgYy1mb3JtYXQKK21zZ2lkICJCaXNlY3Rpbmc6IGEgbWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZFxuIgorbXNnc3RyICLkuozliIblsIvmib7kuK3vvJrlkIjkvbXln7rnpI7lv4XpoIjmmK/ntpPpgY7muKzoqabnmoRcbiIKKworIzogYmlzZWN0LmM6ODY1CisjLCBjLWZvcm1hdAorbXNnaWQgImEgJXMgcmV2aXNpb24gaXMgbmVlZGVkIgorbXNnc3RyICLpnIDopoHkuIDlgIsgJXMg54mI5pysIgorCisjOiBiaXNlY3QuYzo4ODQgYnVpbHRpbi9ub3Rlcy5jOjE3NyBidWlsdGluL3RhZy5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGZpbGUgJyVzJyIKK21zZ3N0ciAi5LiN6IO95bu656uL5qqU5qGIICclcyciCisKKyM6IGJpc2VjdC5jOjkyOCBidWlsdGluL21lcmdlLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGZpbGUgJyVzJyIKK21zZ3N0ciAi5LiN6IO96K6A5Y+W5qqU5qGIICclcyciCisKKyM6IGJpc2VjdC5jOjk1OAorbXNnaWQgInJlYWRpbmcgYmlzZWN0IHJlZnMgZmFpbGVkIgorbXNnc3RyICLoroDlj5bkuozliIblsIvmib7lvJXnlKjlpLHmlZciCisKKyM6IGJpc2VjdC5jOjk3NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB3YXMgYm90aCAlcyBhbmQgJXNcbiIKK21zZ3N0ciAiJXMg5ZCM5pmC54K6ICVzIOWSjCAlc1xuIgorCisjOiBiaXNlY3QuYzo5ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vIHRlc3RhYmxlIGNvbW1pdCBmb3VuZC5cbiIKKyJNYXliZSB5b3Ugc3RhcnRlZCB3aXRoIGJhZCBwYXRoIHBhcmFtZXRlcnM/XG4iCittc2dzdHIgIiIKKyLmspLmnInnmbznj77lj6/muKzoqabnmoTmj5DkuqTjgIJcbiIKKyLlj6/og73mgqjlnKjln7fooYzmmYLkvb/nlKjkuobpjK/oqqTnmoTot6/lvpHlj4PmlbjvvJ9cbiIKKworIzogYmlzZWN0LmM6MTAwNAorIywgYy1mb3JtYXQKK21zZ2lkICIocm91Z2hseSAlZCBzdGVwKSIKK21zZ2lkX3BsdXJhbCAiKHJvdWdobHkgJWQgc3RlcHMpIgorbXNnc3RyWzBdICLvvIjlpKfmpoIgJWQg5q2l77yJIgorbXNnc3RyWzFdICLvvIjlpKfmpoIgJWQg5q2l77yJIgorCisjLiBUUkFOU0xBVE9SUzogdGhlIGxhc3QgJXMgd2lsbCBiZSByZXBsYWNlZCB3aXRoICIocm91Z2hseSAlZAorIy4gc3RlcHMpIiB0cmFuc2xhdGlvbi4KKyMuCisjOiBiaXNlY3QuYzoxMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJpc2VjdGluZzogJWQgcmV2aXNpb24gbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKK21zZ2lkX3BsdXJhbCAiQmlzZWN0aW5nOiAlZCByZXZpc2lvbnMgbGVmdCB0byB0ZXN0IGFmdGVyIHRoaXMgJXNcbiIKK21zZ3N0clswXSAi5LqM5YiG5bCL5om+5Lit77ya5Zyo5q2k5LmL5b6M77yM6YKE5YmpICVkIOWAi+eJiOacrOW+hea4rOippiAlc1xuIgorbXNnc3RyWzFdICLkuozliIblsIvmib7kuK3vvJrlnKjmraTkuYvlvozvvIzpgoTliakgJWQg5YCL54mI5pys5b6F5ris6KmmICVzXG4iCisKKyM6IGJsYW1lLmM6MjcwMAorbXNnaWQgIi0tY29udGVudHMgYW5kIC0tcmV2ZXJzZSBkbyBub3QgYmxlbmQgd2VsbC4iCittc2dzdHIgIi0tY29udGVudHMg5ZKMIC0tcmV2ZXJzZSDkuI3og73mt7fnlKjjgIIiCisKKyM6IGJsYW1lLmM6MjcxNAorbXNnaWQgImNhbm5vdCB1c2UgLS1jb250ZW50cyB3aXRoIGZpbmFsIGNvbW1pdCBvYmplY3QgbmFtZSIKK21zZ3N0ciAi5LiN6IO95bCHIC0tY29udGVudHMg5ZKM5pyA57WC55qE5o+Q5Lqk54mp5Lu25ZCN5YWx55SoIgorCisjOiBibGFtZS5jOjI3MzUKK21zZ2lkICItLXJldmVyc2UgYW5kIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgc3BlY2lmaWVkIGxhdGVzdCBjb21taXQiCittc2dzdHIgIi0tcmV2ZXJzZSDlkowgLS1maXJzdC1wYXJlbnQg5YWx55So77yM6ZyA6KaB5oyH5a6a5pyA5paw55qE5o+Q5LqkIgorCisjOiBibGFtZS5jOjI3NDQgYnVuZGxlLmM6MTY3IHJlZi1maWx0ZXIuYzoyMjAzIHJlbW90ZS5jOjE5NDEgc2VxdWVuY2VyLmM6MjA5MworIzogc2VxdWVuY2VyLmM6NDQ2MCBidWlsdGluL2NvbW1pdC5jOjEwNDAgYnVpbHRpbi9sb2cuYzozODggYnVpbHRpbi9sb2cuYzo5OTEKKyM6IGJ1aWx0aW4vbG9nLmM6MTUyMCBidWlsdGluL2xvZy5jOjE5MjUgYnVpbHRpbi9sb2cuYzoyMjE1IGJ1aWx0aW4vbWVyZ2UuYzo0MTEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzEyOCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxNDMKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoxOTIKK21zZ2lkICJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIKK21zZ3N0ciAi54mI5pys6YGN5q236Kit5a6a5aSx5pWXIgorCisjOiBibGFtZS5jOjI3NjIKK21zZ2lkICIiCisiLS1yZXZlcnNlIC0tZmlyc3QtcGFyZW50IHRvZ2V0aGVyIHJlcXVpcmUgcmFuZ2UgYWxvbmcgZmlyc3QtcGFyZW50IGNoYWluIgorbXNnc3RyICItLXJldmVyc2Ug5ZKMIC0tZmlyc3QtcGFyZW50IOWFseeUqO+8jOmcgOimgeesrOS4gOelluWFiOmPiOS4iueahOaPkOS6pOevhOWcjSIKKworIzogYmxhbWUuYzoyNzczCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcGF0aCAlcyBpbiAlcyIKK21zZ3N0ciAi5ZyoICUyJHMg5Lit54Sh5q2k6Lev5b6RICUxJHMiCisKKyM6IGJsYW1lLmM6Mjc4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBibG9iICVzIGZvciBwYXRoICVzIgorbXNnc3RyICLkuI3og73ngrrot6/lvpEgJTIkcyDoroDlj5bos4fmlpnnianku7YgJTEkcyIKKworIzogYnJhbmNoLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkFmdGVyIGZpeGluZyB0aGUgZXJyb3IgY2F1c2UgeW91IG1heSB0cnkgdG8gZml4IHVwXG4iCisidGhlIHJlbW90ZSB0cmFja2luZyBpbmZvcm1hdGlvbiBieSBpbnZva2luZ1xuIgorIlwiZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10bz0lcyVzJXNcIi4iCittc2dzdHIgIiIKKyJcbiIKKyLlnKjkv67lvqnpjK/oqqTlvozvvIzmgqjlj6/ku6XlmJfoqabkv67mlLnpgaDnq6/ov73ouaTliIbmlK/vvIzpgI/pgY7ln7fooYzmjIfku6RcbiIKKyJcImdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG89JXMlcyVzXCIg44CCIgorCisjOiBicmFuY2guYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBicmFuY2ggJXMgYXMgaXRzIG93biB1cHN0cmVhbS4iCittc2dzdHIgIuacquioreWumuWIhuaUryAlcyDkvZzngrrlroPoh6rlt7HnmoTkuIrmuLjjgIIiCisKKyM6IGJyYW5jaC5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgYnJhbmNoICclcycgZnJvbSAnJXMnIGJ5IHJlYmFzaW5nLiIKK21zZ3N0ciAi5YiG5pSvICclMSRzJyDoqK3lrprngrrkvb/nlKjph43lrprln7rlupXkvobov73ouaTkvoboh6ogJyUzJHMnIOeahOmBoOerr+WIhuaUryAnJTIkcyfjgIIiCisKKyM6IGJyYW5jaC5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgYnJhbmNoICclcycgZnJvbSAnJXMnLiIKK21zZ3N0ciAi5YiG5pSvICclMSRzJyDoqK3lrprngrrov73ouaTkvoboh6ogJyUzJHMnIOeahOmBoOerr+WIhuaUryAnJTIkcyfjgIIiCisKKyM6IGJyYW5jaC5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayBsb2NhbCBicmFuY2ggJyVzJyBieSByZWJhc2luZy4iCittc2dzdHIgIuWIhuaUryAnJXMnIOioreWumueCuuS9v+eUqOmHjeWumuWfuuW6leS+hui/vei5pOacrOapn+WIhuaUryAnJXMn44CCIgorCisjOiBicmFuY2guYzo5OQorIywgYy1mb3JtYXQKK21zZ2lkICJCcmFuY2ggJyVzJyBzZXQgdXAgdG8gdHJhY2sgbG9jYWwgYnJhbmNoICclcycuIgorbXNnc3RyICLliIbmlK8gJyVzJyDoqK3lrprngrrov73ouaTmnKzmqZ/liIbmlK8gJyVzJ+OAgiIKKworIzogYnJhbmNoLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgcmVmICclcycgYnkgcmViYXNpbmcuIgorbXNnc3RyICLliIbmlK8gJyVzJyDoqK3lrprngrrkvb/nlKjph43lrprln7rlupXkvobov73ouaTpgaDnq6/lvJXnlKggJyVzJ+OAgiIKKworIzogYnJhbmNoLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayByZW1vdGUgcmVmICclcycuIgorbXNnc3RyICLliIbmlK8gJyVzJyDoqK3lrprngrrov73ouaTpgaDnq6/lvJXnlKggJyVzJ+OAgiIKKworIzogYnJhbmNoLmM6MTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAnJXMnIHNldCB1cCB0byB0cmFjayBsb2NhbCByZWYgJyVzJyBieSByZWJhc2luZy4iCittc2dzdHIgIuWIhuaUryAnJXMnIOioreWumueCuuS9v+eUqOmHjeWumuWfuuW6leS+hui/vei5pOacrOapn+W8leeUqCAnJXMn44CCIgorCisjOiBicmFuY2guYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJhbmNoICclcycgc2V0IHVwIHRvIHRyYWNrIGxvY2FsIHJlZiAnJXMnLiIKK21zZ3N0ciAi5YiG5pSvICclcycg6Kit5a6a54K66L+96Lmk5pys5qmf5byV55SoICclcyfjgIIiCisKKyM6IGJyYW5jaC5jOjExOQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB1cHN0cmVhbSBicmFuY2ggY29uZmlndXJhdGlvbiIKK21zZ3N0ciAi54Sh5rOV5a+r5YWl5LiK5ri45YiG5pSv6Kit5a6aIgorCisjOiBicmFuY2guYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHRyYWNraW5nOiBhbWJpZ3VvdXMgaW5mb3JtYXRpb24gZm9yIHJlZiAlcyIKK21zZ3N0ciAi5pyq6L+96Lmk77ya5byV55SoICVzIOacieatp+e+qSIKKworIzogYnJhbmNoLmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgYnJhbmNoIG5hbWUuIgorbXNnc3RyICInJXMnIOS4jeaYr+S4gOWAi+acieaViOeahOWIhuaUr+WQjeeoseOAgiIKKworIzogYnJhbmNoLmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIkEgYnJhbmNoIG5hbWVkICclcycgYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICLkuIDlgIvliIbmlK/lkI0gJyVzJyDlt7LntpPlrZjlnKjjgIIiCisKKyM6IGJyYW5jaC5jOjIxMworbXNnaWQgIkNhbm5vdCBmb3JjZSB1cGRhdGUgdGhlIGN1cnJlbnQgYnJhbmNoLiIKK21zZ3N0ciAi54Sh5rOV5by35Yi25pu05paw55uu5YmN5YiG5pSv44CCIgorCisjOiBicmFuY2guYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHNldHVwIHRyYWNraW5nIGluZm9ybWF0aW9uOyBzdGFydGluZyBwb2ludCAnJXMnIGlzIG5vdCBhIGJyYW5jaC4iCittc2dzdHIgIueEoeazleioreWumui/vei5pOioiuaBr++8m+i1t+Wni+m7niAnJXMnIOS4jeaYr+S4gOWAi+WIhuaUr+OAgiIKKworIzogYnJhbmNoLmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSByZXF1ZXN0ZWQgdXBzdHJlYW0gYnJhbmNoICclcycgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIuiri+axgueahOS4iua4uOWIhuaUryAnJXMnIOS4jeWtmOWcqCIKKworIzogYnJhbmNoLmM6MjM3Cittc2dpZCAiIgorIlxuIgorIklmIHlvdSBhcmUgcGxhbm5pbmcgb24gYmFzaW5nIHlvdXIgd29yayBvbiBhbiB1cHN0cmVhbVxuIgorImJyYW5jaCB0aGF0IGFscmVhZHkgZXhpc3RzIGF0IHRoZSByZW1vdGUsIHlvdSBtYXkgbmVlZCB0b1xuIgorInJ1biBcImdpdCBmZXRjaFwiIHRvIHJldHJpZXZlIGl0LlxuIgorIlxuIgorIklmIHlvdSBhcmUgcGxhbm5pbmcgdG8gcHVzaCBvdXQgYSBuZXcgbG9jYWwgYnJhbmNoIHRoYXRcbiIKKyJ3aWxsIHRyYWNrIGl0cyByZW1vdGUgY291bnRlcnBhcnQsIHlvdSBtYXkgd2FudCB0byB1c2VcbiIKKyJcImdpdCBwdXNoIC11XCIgdG8gc2V0IHRoZSB1cHN0cmVhbSBjb25maWcgYXMgeW91IHB1c2guIgorbXNnc3RyICIiCisiXG4iCisi5aaC5p6c5oKo5q2j6KiI5YqD5Z+65pa86YGg56uv5LiA5YCL54++5a2Y55qE5LiK5ri45YiG5pSv6ZaL5aeL5L2g55qE5bel5L2c77yMXG4iCisi5oKo5Y+v6IO96ZyA6KaB5Z+36KGMIFwiZ2l0IGZldGNoXCIg5L6G5Y+W5b6X5YiG5pSv44CCXG4iCisiXG4iCisi5aaC5p6c5oKo5q2j6KiI5YqD5o6o6YCB5LiA5YCL6IO96IiH5bCN5oeJ6YGg56uv5YiG5pSv5bu656uL6L+96Lmk55qE5paw55qE5pys5qmf5YiG5pSv77yMXG4iCisi5oKo5Y+v6IO96ZyA6KaB5L2/55SoIFwiZ2l0IHB1c2ggLXVcIiDmjqjpgIHliIbmlK/kuKboqK3lrprlkozkuIrmuLjnmoTpl5zoga/jgIIiCisKKyM6IGJyYW5jaC5jOjI4MQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJy4iCittc2dzdHIgIuS4jeaYr+S4gOWAi+acieaViOeahOeJqeS7tuWQje+8miclcyfjgIIiCisKKyM6IGJyYW5jaC5jOjMwMQorIywgYy1mb3JtYXQKK21zZ2lkICJBbWJpZ3VvdXMgb2JqZWN0IG5hbWU6ICclcycuIgorbXNnc3RyICLmrafnvqnnmoTnianku7blkI3vvJonJXMn44CCIgorCisjOiBicmFuY2guYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGEgdmFsaWQgYnJhbmNoIHBvaW50OiAnJXMnLiIKK21zZ3N0ciAi54Sh5pWI55qE5YiG5pSv6bue77yaJyVzJ+OAgiIKKworIzogYnJhbmNoLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgYWxyZWFkeSBjaGVja2VkIG91dCBhdCAnJXMnIgorbXNnc3RyICInJXMnIOW3sue2k+ewveWHuuWIsCAnJXMnIgorCisjOiBicmFuY2guYzozODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSEVBRCBvZiB3b3JraW5nIHRyZWUgJXMgaXMgbm90IHVwZGF0ZWQiCittc2dzdHIgIuW3peS9nOWNgCAlcyDnmoQgSEVBRCDmjIflkJHmspLmnInooqvmm7TmlrAiCisKKyM6IGJ1bmRsZS5jOjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZG9lcyBub3QgbG9vayBsaWtlIGEgdjIgYnVuZGxlIGZpbGUiCittc2dzdHIgIiclcycg5LiN5YOP5piv5LiA5YCLIHYyIOeJiOacrOeahOWMheaqlOahiCIKKworIzogYnVuZGxlLmM6NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIGhlYWRlcjogJXMlcyAoJWQpIgorbXNnc3RyICLmnKrog73orZjliKXnmoTljIXpoK3vvJolcyVzICglZCkiCisKKyM6IGJ1bmRsZS5jOjkwIHJlcmVyZS5jOjQ4MCByZXJlcmUuYzo2OTAgc2VxdWVuY2VyLmM6MjM0NCBzZXF1ZW5jZXIuYzozMTA4CisjOiBidWlsdGluL2NvbW1pdC5jOjgxMQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIgorbXNnc3RyICLkuI3og73plovllZ8gJyVzJyIKKworIzogYnVuZGxlLmM6MTQzCittc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyB0aGVzZSBwcmVyZXF1aXNpdGUgY29tbWl0czoiCittc2dzdHIgIueJiOacrOW6q+S4ree8uuWwkemAmeS6m+W/heWCmeeahOaPkOS6pO+8miIKKworIzogYnVuZGxlLmM6MTQ2Cittc2dpZCAibmVlZCBhIHJlcG9zaXRvcnkgdG8gdmVyaWZ5IGEgYnVuZGxlIgorbXNnc3RyICLpnIDopoHniYjmnKzluqvpqZforYnkuIDlgIvljIUiCisKKyM6IGJ1bmRsZS5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYnVuZGxlIGNvbnRhaW5zIHRoaXMgcmVmOiIKK21zZ2lkX3BsdXJhbCAiVGhlIGJ1bmRsZSBjb250YWlucyB0aGVzZSAlZCByZWZzOiIKK21zZ3N0clswXSAi6YCZ5YCL5YyF5Lit5ZCr5pyJ6YCZ5YCL5byV55So77yaIgorbXNnc3RyWzFdICLpgJnlgIvljIXkuK3lkKvmnIkgJWQg5YCL5byV55So77yaIgorCisjOiBidW5kbGUuYzoyMDQKK21zZ2lkICJUaGUgYnVuZGxlIHJlY29yZHMgYSBjb21wbGV0ZSBoaXN0b3J5LiIKK21zZ3N0ciAi6YCZ5YCL5YyF6KiY6YyE5LiA5YCL5a6M5pW05q235Y+y44CCIgorCisjOiBidW5kbGUuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJ1bmRsZSByZXF1aXJlcyB0aGlzIHJlZjoiCittc2dpZF9wbHVyYWwgIlRoZSBidW5kbGUgcmVxdWlyZXMgdGhlc2UgJWQgcmVmczoiCittc2dzdHJbMF0gIumAmeWAi+WMhemcgOimgemAmeWAi+W8leeUqO+8miIKK21zZ3N0clsxXSAi6YCZ5YCL5YyF6ZyA6KaBICVkIOWAi+W8leeUqO+8miIKKworIzogYnVuZGxlLmM6MjczCittc2dpZCAidW5hYmxlIHRvIGR1cCBidW5kbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAi54Sh5rOV6KSH6KO9IGJ1bmRsZSDmj4/ov7DnrKYiCisKKyM6IGJ1bmRsZS5jOjI4MAorbXNnaWQgIkNvdWxkIG5vdCBzcGF3biBwYWNrLW9iamVjdHMiCittc2dzdHIgIuS4jeiDveeUn+aIkCBwYWNrLW9iamVjdHMg6YCy56iLIgorCisjOiBidW5kbGUuYzoyOTEKK21zZ2lkICJwYWNrLW9iamVjdHMgZGllZCIKK21zZ3N0ciAicGFjay1vYmplY3RzIOe1guatoiIKKworIzogYnVuZGxlLmM6MzMzCittc2dpZCAicmV2LWxpc3QgZGllZCIKK21zZ3N0ciAicmV2LWxpc3Qg57WC5q2iIgorCisjOiBidW5kbGUuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmICclcycgaXMgZXhjbHVkZWQgYnkgdGhlIHJldi1saXN0IG9wdGlvbnMiCittc2dzdHIgIuW8leeUqCAnJXMnIOiiqyByZXYtbGlzdCDpgbjpoIXmjpLpmaQiCisKKyM6IGJ1bmRsZS5jOjQ2MSBidWlsdGluL2xvZy5jOjIwMyBidWlsdGluL2xvZy5jOjE4MTQgYnVpbHRpbi9zaG9ydGxvZy5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLmnKrog73orZjliKXnmoTlj4PmlbjvvJolcyIKKworIzogYnVuZGxlLmM6NDY5Cittc2dpZCAiUmVmdXNpbmcgdG8gY3JlYXRlIGVtcHR5IGJ1bmRsZS4iCittc2dzdHIgIuS4jeiDveW7uueri+epuuWMheOAgiIKKworIzogYnVuZGxlLmM6NDc5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgJyVzJyIKK21zZ3N0ciAi5LiN6IO95bu656uLICclcyciCisKKyM6IGJ1bmRsZS5jOjUwNAorbXNnaWQgImluZGV4LXBhY2sgZGllZCIKK21zZ3N0ciAiaW5kZXgtcGFjayDntYLmraIiCisKKyM6IGNvbG9yLmM6Mjk2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29sb3IgdmFsdWU6ICUuKnMiCittc2dzdHIgIueEoeaViOeahOmhj+iJsuWAvO+8miUuKnMiCisKKyM6IGNvbW1pdC5jOjUxIHNlcXVlbmNlci5jOjI4MTEgYnVpbHRpbi9hbS5jOjM1NCBidWlsdGluL2FtLmM6Mzk4CisjOiBidWlsdGluL2FtLmM6MTM2NiBidWlsdGluL2FtLmM6MjAwOSBidWlsdGluL3JlcGxhY2UuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlICVzIgorbXNnc3RyICLkuI3og73op6PmnpAgJXMiCisKKyM6IGNvbW1pdC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIGlzIG5vdCBhIGNvbW1pdCEiCittc2dzdHIgIiVzICVzIOS4jeaYr+S4gOWAi+aPkOS6pO+8gSIKKworIzogY29tbWl0LmM6MTkzCittc2dpZCAiIgorIlN1cHBvcnQgZm9yIDxHSVRfRElSPi9pbmZvL2dyYWZ0cyBpcyBkZXByZWNhdGVkXG4iCisiYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSBHaXQgdmVyc2lvbi5cbiIKKyJcbiIKKyJQbGVhc2UgdXNlIFwiZ2l0IHJlcGxhY2UgLS1jb252ZXJ0LWdyYWZ0LWZpbGVcIlxuIgorInRvIGNvbnZlcnQgdGhlIGdyYWZ0cyBpbnRvIHJlcGxhY2UgcmVmcy5cbiIKKyJcbiIKKyJUdXJuIHRoaXMgbWVzc2FnZSBvZmYgYnkgcnVubmluZ1xuIgorIlwiZ2l0IGNvbmZpZyBhZHZpY2UuZ3JhZnRGaWxlRGVwcmVjYXRlZCBmYWxzZVwiIgorbXNnc3RyICIiCisi5bCNIDxHSVRfRElSPi9pbmZvL2dyYWZ0cyDnmoTmlK/mj7Tlt7Looqvmo4TnlKjvvIzkuKblsIflnKhcbiIKKyLmnKrkvobnmoRHaXTniYjmnKzkuK3ooqvnp7vpmaTjgIJcbiIKKyJcbiIKKyLoq4vkvb/nlKggXCJnaXQgcmVwbGFjZSAtLWNvbnZlcnQtZ3JhZnQtZmlsZVwiIOWwh1xuIgorImdyYWZ0cyDovYnmj5vngrrlj5bku6PlvJXnlKjjgIJcbiIKKyJcbiIKKyLoqK3lrpogXCJnaXQgY29uZmlnIGFkdmljZS5ncmFmdEZpbGVEZXByZWNhdGVkIGZhbHNlXCJcbiIKKyLlj6/pl5zplonmnKzmtojmga8iCisKKyM6IGNvbW1pdC5jOjExNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29tbWl0ICVzIGhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSwgYWxsZWdlZGx5IGJ5ICVzLiIKK21zZ3N0ciAi5o+Q5LqkICVzIOacieS4gOWAi+mdnuWPr+S/oeeahOiBsueoseS+huiHqiAlcyDnmoQgR1BHIOewveWQjeOAgiIKKworIzogY29tbWl0LmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJDb21taXQgJXMgaGFzIGEgYmFkIEdQRyBzaWduYXR1cmUgYWxsZWdlZGx5IGJ5ICVzLiIKK21zZ3N0ciAi5o+Q5LqkICVzIOacieS4gOWAi+mMr+iqpOeahOiBsueoseS+huiHqiAlcyDnmoQgR1BHIOewveWQjeOAgiIKKworIzogY29tbWl0LmM6MTE1OAorIywgYy1mb3JtYXQKK21zZ2lkICJDb21taXQgJXMgZG9lcyBub3QgaGF2ZSBhIEdQRyBzaWduYXR1cmUuIgorbXNnc3RyICLmj5DkuqQgJXMg5rKS5pyJIEdQRyDnsL3lkI3jgIIiCisKKyM6IGNvbW1pdC5jOjExNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ29tbWl0ICVzIGhhcyBhIGdvb2QgR1BHIHNpZ25hdHVyZSBieSAlc1xuIgorbXNnc3RyICLmj5DkuqQgJXMg5pyJ5LiA5YCL5L6G6IeqICVzIOeahOWlveeahCBHUEcg57C95ZCN44CCXG4iCisKKyM6IGNvbW1pdC5jOjE0MTUKK21zZ2lkICIiCisiV2FybmluZzogY29tbWl0IG1lc3NhZ2UgZGlkIG5vdCBjb25mb3JtIHRvIFVURi04LlxuIgorIllvdSBtYXkgd2FudCB0byBhbWVuZCBpdCBhZnRlciBmaXhpbmcgdGhlIG1lc3NhZ2UsIG9yIHNldCB0aGUgY29uZmlnXG4iCisidmFyaWFibGUgaTE4bi5jb21taXRlbmNvZGluZyB0byB0aGUgZW5jb2RpbmcgeW91ciBwcm9qZWN0IHVzZXMuXG4iCittc2dzdHIgIiIKKyLorablkYrvvJrmj5DkuqToqqrmmI7kuI3nrKblkIggVVRGLTgg5a2X5YWD57eo56K844CCXG4iCisi5oKo5Y+v5Lul6YCP6YGO5L+u6KOc5o+Q5Lqk5L6G5pS55q2j5o+Q5Lqk6Kqq5piO77yM5oiW6ICF5bCH6Kit5a6a6K6K5pW4IGkxOG4uY29tbWl0ZW5jb2RpbmdcbiIKKyLoqK3lrprngrrmgqjpoIXnm67miYDnlKjnmoTlrZflhYPnt6jnorzjgIJcbiIKKworIzogY29tbWl0LWdyYXBoLmM6MTMwCittc2dpZCAiY29tbWl0LWdyYXBoIGZpbGUgaXMgdG9vIHNtYWxsIgorbXNnc3RyICLmj5DkuqTlnJblvaLmqpTmoYjlpKrlsI8iCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE5NQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggc2lnbmF0dXJlICVYIGRvZXMgbm90IG1hdGNoIHNpZ25hdHVyZSAlWCIKK21zZ3N0ciAi5o+Q5Lqk5ZyW5b2i57C95ZCNICVYIOWSjOewveWQjSAlWCDkuI3nrKblkIgiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggdmVyc2lvbiAlWCBkb2VzIG5vdCBtYXRjaCB2ZXJzaW9uICVYIgorbXNnc3RyICLmj5DkuqTlnJblvaLniYjmnKwgJVgg5ZKM54mI5pysICVYIOS4jeespuWQiCIKKworIzogY29tbWl0LWdyYXBoLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBoYXNoIHZlcnNpb24gJVggZG9lcyBub3QgbWF0Y2ggdmVyc2lvbiAlWCIKK21zZ3N0ciAi5o+Q5Lqk5ZyW5b2i6Zuc5rmK54mI5pysICVYIOWSjOeJiOacrCAlWCDkuI3nrKblkIgiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIzMgorbXNnaWQgImNvbW1pdC1ncmFwaCBjaHVuayBsb29rdXAgdGFibGUgZW50cnkgbWlzc2luZzsgZmlsZSBtYXkgYmUgaW5jb21wbGV0ZSIKK21zZ3N0ciAi5o+Q5Lqk5ZyW5b2i5Y2A5aGK5bCL5om+6KGo5qKd55uu6YG65aSx77yM5qqU5qGI5Y+v6IO95LiN5a6M5pW0IgorCisjOiBjb21taXQtZ3JhcGguYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIGltcHJvcGVyIGNodW5rIG9mZnNldCAlMDh4JTA4eCIKK21zZ3N0ciAi5o+Q5Lqk5ZyW5b2i5LiN5q2j56K655qE5Y2A5aGK5L2N56e7ICUwOHglMDh4IgorCisjOiBjb21taXQtZ3JhcGguYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIGNodW5rIGlkICUwOHggYXBwZWFycyBtdWx0aXBsZSB0aW1lcyIKK21zZ3N0ciAi5o+Q5Lqk5ZyW5b2i5Y2A5aGKIGlkICUwOHgg5Ye654++5LqG5aSa5qyhIgorCisjOiBjb21taXQtZ3JhcGguYzozNTAKK21zZ2lkICJjb21taXQtZ3JhcGggaGFzIG5vIGJhc2UgZ3JhcGhzIGNodW5rIgorbXNnc3RyICLmj5DkuqTlnJblvaLmspLmnInln7rnpI7lnJblvaLljYDloYoiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjM2MAorbXNnaWQgImNvbW1pdC1ncmFwaCBjaGFpbiBkb2VzIG5vdCBtYXRjaCIKK21zZ3N0ciAi5o+Q5Lqk5ZyW5b2i6Y+I5LiN56ym5ZCIIgorCisjOiBjb21taXQtZ3JhcGguYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjb21taXQtZ3JhcGggY2hhaW46IGxpbmUgJyVzJyBub3QgYSBoYXNoIgorbXNnc3RyICLnhKHmlYjnmoTmj5DkuqTlnJblvaLpj4jvvJrooYwgJyVzJyDkuI3mmK/kuIDlgIvpm5zmuYrlgLwiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjQzMworbXNnaWQgInVuYWJsZSB0byBmaW5kIGFsbCBjb21taXQtZ3JhcGggZmlsZXMiCittc2dzdHIgIueEoeazleaJvuWIsOaJgOacieaPkOS6pOWcluW9ouaqlOahiCIKKworIzogY29tbWl0LWdyYXBoLmM6NTY0IGNvbW1pdC1ncmFwaC5jOjYyNAorbXNnaWQgImludmFsaWQgY29tbWl0IHBvc2l0aW9uLiBjb21taXQtZ3JhcGggaXMgbGlrZWx5IGNvcnJ1cHQiCittc2dzdHIgIueEoeaViOeahOaPkOS6pOS9jee9ruOAguaPkOS6pOWcluW9ouWPr+iDveW3suaQjeWjniIKKworIzogY29tbWl0LWdyYXBoLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmaW5kIGNvbW1pdCAlcyIKK21zZ3N0ciAi54Sh5rOV5om+5Yiw5o+Q5LqkICVzIgorCisjOiBjb21taXQtZ3JhcGguYzo4NTggYnVpbHRpbi9hbS5jOjEyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCAlcyIKK21zZ3N0ciAi5LiN6IO96Kej5p6Q5o+Q5LqkICVzIgorCisjOiBjb21taXQtZ3JhcGguYzoxMDE3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZ2V0IHR5cGUgb2Ygb2JqZWN0ICVzIgorbXNnc3RyICLnhKHms5XnjbLlvpfnianku7YgJXMg6aGe5Z6LIgorCisjOiBjb21taXQtZ3JhcGguYzoxMDQ5Cittc2dpZCAiTG9hZGluZyBrbm93biBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAi5q2j5Zyo6LyJ5YWl5o+Q5Lqk5ZyW5Lit55qE5bey55+l5o+Q5LqkIgorCisjOiBjb21taXQtZ3JhcGguYzoxMDY2Cittc2dpZCAiRXhwYW5kaW5nIHJlYWNoYWJsZSBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAi5q2j5Zyo5pO05bGV5o+Q5Lqk5ZyW5Lit55qE5Y+v5Lul5Y+W5b6X5o+Q5LqkIgorCisjOiBjb21taXQtZ3JhcGguYzoxMDg1Cittc2dpZCAiQ2xlYXJpbmcgY29tbWl0IG1hcmtzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAi5q2j5Zyo5riF6Zmk5o+Q5Lqk5ZyW5Lit55qE5o+Q5Lqk5qiZ6KiYIgorCisjOiBjb21taXQtZ3JhcGguYzoxMTA0Cittc2dpZCAiQ29tcHV0aW5nIGNvbW1pdCBncmFwaCBnZW5lcmF0aW9uIG51bWJlcnMiCittc2dzdHIgIuato+WcqOioiOeul+aPkOS6pOWcluS4luS7o+aVuOWtlyIKKworIzogY29tbWl0LWdyYXBoLmM6MTE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBpbiAlZCBwYWNrIgorbXNnaWRfcGx1cmFsICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBpbiAlZCBwYWNrcyIKK21zZ3N0clswXSAi5q2j5ZyoICVkIOWAi+WMheS4reWwi+aJvuaPkOS6pOWclueahOaPkOS6pCIKK21zZ3N0clsxXSAi5q2j5ZyoICVkIOWAi+WMheS4reWwi+aJvuaPkOS6pOWclueahOaPkOS6pCIKKworIzogY29tbWl0LWdyYXBoLmM6MTE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBhZGRpbmcgcGFjayAlcyIKK21zZ3N0ciAi5paw5aKe5YyFICVzIOeZvOeUn+mMr+iqpCIKKworIzogY29tbWl0LWdyYXBoLmM6MTE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBvcGVuaW5nIGluZGV4IGZvciAlcyIKK21zZ3N0ciAi54K6ICVzIOmWi+WVn+e0ouW8leeZvOeUn+mMr+iqpCIKKworIzogY29tbWl0LWdyYXBoLmM6MTIyMAorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5kaW5nIGNvbW1pdHMgZm9yIGNvbW1pdCBncmFwaCBmcm9tICVkIHJlZiIKK21zZ2lkX3BsdXJhbCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGggZnJvbSAlZCByZWZzIgorbXNnc3RyWzBdICLmraPlnKjlvp4gJWQg5YCL5byV55So5Lit5bCL5om+5o+Q5Lqk5ZyW55qE5o+Q5LqkIgorbXNnc3RyWzFdICLmraPlnKjlvp4gJWQg5YCL5byV55So5Lit5bCL5om+5o+Q5Lqk5ZyW55qE5o+Q5LqkIgorCisjOiBjb21taXQtZ3JhcGguYzoxMjQwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29tbWl0IG9iamVjdCBpZDogJXMiCittc2dzdHIgIueEoeaViOeahOaPkOS6pOeJqeS7tiBJRO+8miVzIgorCisjOiBjb21taXQtZ3JhcGguYzoxMjU1Cittc2dpZCAiRmluZGluZyBjb21taXRzIGZvciBjb21taXQgZ3JhcGggYW1vbmcgcGFja2VkIG9iamVjdHMiCittc2dzdHIgIuato+WcqOaJk+WMheeJqeS7tuS4reWwi+aJvuaPkOS6pOWclueahOaPkOS6pCIKKworIzogY29tbWl0LWdyYXBoLmM6MTI3MAorbXNnaWQgIkNvdW50aW5nIGRpc3RpbmN0IGNvbW1pdHMgaW4gY29tbWl0IGdyYXBoIgorbXNnc3RyICLmraPlnKjoqIjnrpfmj5DkuqTlnJbkuK3kuI3lkIznmoTmj5DkuqQiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEzMDAKK21zZ2lkICJGaW5kaW5nIGV4dHJhIGVkZ2VzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAi5q2j5Zyo5bCL5om+5o+Q5Lqk5ZyW5Lit6aGN5aSW55qE6YKKIgorCisjOiBjb21taXQtZ3JhcGguYzoxMzQ2Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGNvcnJlY3QgbnVtYmVyIG9mIGJhc2UgZ3JhcGggaWRzIgorbXNnc3RyICLnhKHms5Xlr6vlhaXmraPnorrmlbjph4/nmoTln7rnpI7lnJblvaIgSUQiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEzNzkgbWlkeC5jOjgxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJXMiCittc2dzdHIgIuS4jeiDveeCuiAlcyDlu7rnq4vlhYjlsI7nm67pjIQiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjEzOTEgYnVpbHRpbi9pbmRleC1wYWNrLmM6MzA2IGJ1aWx0aW4vcmVwYWNrLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgJyVzJyIKK21zZ3N0ciAi5LiN6IO95bu656uLICclcyciCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGluZyBvdXQgY29tbWl0IGdyYXBoIGluICVkIHBhc3MiCittc2dpZF9wbHVyYWwgIldyaXRpbmcgb3V0IGNvbW1pdCBncmFwaCBpbiAlZCBwYXNzZXMiCittc2dzdHJbMF0gIuato+WcqOeUqCAlZCDmraXlr6vlh7rmj5DkuqTlnJYiCittc2dzdHJbMV0gIuato+WcqOeUqCAlZCDmraXlr6vlh7rmj5DkuqTlnJYiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE0OTIKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiBjb21taXQtZ3JhcGggY2hhaW4gZmlsZSIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWf5o+Q5Lqk5ZyW5b2i6Y+I5qqU5qGIIgorCisjOiBjb21taXQtZ3JhcGguYzoxNTA0Cittc2dpZCAiZmFpbGVkIHRvIHJlbmFtZSBiYXNlIGNvbW1pdC1ncmFwaCBmaWxlIgorbXNnc3RyICLnhKHms5Xph43mlrDlkb3lkI3ln7rnpI7mj5DkuqTlnJblvaLmqpTmoYgiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE1MjQKK21zZ2lkICJmYWlsZWQgdG8gcmVuYW1lIHRlbXBvcmFyeSBjb21taXQtZ3JhcGggZmlsZSIKK21zZ3N0ciAi54Sh5rOV6YeN5paw5ZG95ZCN5pqr5pmC5o+Q5Lqk5ZyW5b2i5qqU5qGIIgorCisjOiBjb21taXQtZ3JhcGguYzoxNjM1Cittc2dpZCAiU2Nhbm5pbmcgbWVyZ2VkIGNvbW1pdHMiCittc2dzdHIgIuato+WcqOaOg+aPj+WQiOS9teaPkOS6pCIKKworIzogY29tbWl0LWdyYXBoLmM6MTY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGR1cGxpY2F0ZSBjb21taXQgaWQgJXMiCittc2dzdHIgIuaEj+WklueahOmHjeikh+aPkOS6pCBJRCAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MTY3MAorbXNnaWQgIk1lcmdpbmcgY29tbWl0LWdyYXBoIgorbXNnc3RyICLmraPlnKjlkIjkvbXmj5DkuqTlnJblvaIiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGNvbW1pdCBncmFwaCBmb3JtYXQgY2Fubm90IHdyaXRlICVkIGNvbW1pdHMiCittc2dzdHIgIuaPkOS6pOWcluagvOW8j+S4jeiDveWvq+WFpSAlZCDlgIvmj5DkuqQiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE4NzEKK21zZ2lkICJ0b28gbWFueSBjb21taXRzIHRvIHdyaXRlIGdyYXBoIgorbXNnc3RyICLmj5DkuqTlpKrlpJrkuI3og73nlavlnJYiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE5NjEKK21zZ2lkICJ0aGUgY29tbWl0LWdyYXBoIGZpbGUgaGFzIGluY29ycmVjdCBjaGVja3N1bSBhbmQgaXMgbGlrZWx5IGNvcnJ1cHQiCittc2dzdHIgIuaPkOS6pOWcluaqlOahiOeahOe4veWSjOaqouafpeeivOmMr+iqpO+8jOWPr+iDveW3sue2k+aQjeWjniIKKworIzogY29tbWl0LWdyYXBoLmM6MTk3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggaGFzIGluY29ycmVjdCBPSUQgb3JkZXI6ICVzIHRoZW4gJXMiCittc2dzdHIgIuaPkOS6pOWcluW9oueahOeJqeS7tiBJRCDpoIbluo/kuI3mraPnorrvvJolcyDnhLblvowgJXMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjE5ODEgY29tbWl0LWdyYXBoLmM6MTk5NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQtZ3JhcGggaGFzIGluY29ycmVjdCBmYW5vdXQgdmFsdWU6IGZhbm91dFslZF0gPSAldSAhPSAldSIKK21zZ3N0ciAi5o+Q5Lqk5ZyW5b2i5pyJ5LiN5q2j56K655qE5omH5Ye65YC877yaZmFub3V0WyVkXSA9ICV1ICE9ICV1IgorCisjOiBjb21taXQtZ3JhcGguYzoxOTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb21taXQgJXMgZnJvbSBjb21taXQtZ3JhcGgiCittc2dzdHIgIueEoeazleW+nuaPkOS6pOWcluW9ouS4reino+aekOaPkOS6pCAlcyIKKworIzogY29tbWl0LWdyYXBoLmM6MjAwNgorbXNnaWQgIlZlcmlmeWluZyBjb21taXRzIGluIGNvbW1pdCBncmFwaCIKK21zZ3N0ciAi5q2j5Zyo6amX6K2J5o+Q5Lqk5ZyW5Lit55qE5o+Q5LqkIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDIwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb21taXQgJXMgZnJvbSBvYmplY3QgZGF0YWJhc2UgZm9yIGNvbW1pdC1ncmFwaCIKK21zZ3N0ciAi54Sh5rOV5b6e5o+Q5Lqk5ZyW5b2i55qE54mp5Lu25bqr5Lit6Kej5p6Q5o+Q5LqkICVzIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDI3CisjLCBjLWZvcm1hdAorbXNnaWQgInJvb3QgdHJlZSBPSUQgZm9yIGNvbW1pdCAlcyBpbiBjb21taXQtZ3JhcGggaXMgJXMgIT0gJXMiCittc2dzdHIgIuaPkOS6pOWcluW9ouS4reeahOaPkOS6pCAlcyDnmoTmoLnmqLnni4Dnianku7YgSUQg5pivICVzICE9ICVzIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBwYXJlbnQgbGlzdCBmb3IgY29tbWl0ICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICLmj5DkuqQgJXMg55qE5o+Q5Lqk5ZyW5b2i54i25o+Q5Lqk5YiX6KGo5aSq6ZW35LqGIgorCisjOiBjb21taXQtZ3JhcGguYzoyMDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBwYXJlbnQgZm9yICVzIGlzICVzICE9ICVzIgorbXNnc3RyICIlcyDnmoTmj5DkuqTlnJblvaLniLbmj5DkuqTmmK8gJXMgIT0gJXMiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0LWdyYXBoIHBhcmVudCBsaXN0IGZvciBjb21taXQgJXMgdGVybWluYXRlcyBlYXJseSIKK21zZ3N0ciAi5o+Q5LqkICVzIOeahOaPkOS6pOWcluW9oueItuaPkOS6pOWIl+ihqOmBjuaXqee1guatoiIKKworIzogY29tbWl0LWdyYXBoLmM6MjA2NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY29tbWl0LWdyYXBoIGhhcyBnZW5lcmF0aW9uIG51bWJlciB6ZXJvIGZvciBjb21taXQgJXMsIGJ1dCBub24temVybyBlbHNld2hlcmUiCittc2dzdHIgIuaPkOS6pOWcluW9ouS4reaPkOS6pCAlcyDnmoTkuJbku6PomZ/mmK/pm7bvvIzkvYblhbblroPlnLDmlrnpnZ7pm7YiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvbW1pdC1ncmFwaCBoYXMgbm9uLXplcm8gZ2VuZXJhdGlvbiBudW1iZXIgZm9yIGNvbW1pdCAlcywgYnV0IHplcm8gZWxzZXdoZXJlIgorbXNnc3RyICLmj5DkuqTlnJblvaLkuK3mj5DkuqQgJXMg55qE5LiW5Luj6Jmf6Z2e6Zu277yM5L2G5YW25a6D5Zyw5pa55piv6Zu2IgorCisjOiBjb21taXQtZ3JhcGguYzoyMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdC1ncmFwaCBnZW5lcmF0aW9uIGZvciBjb21taXQgJXMgaXMgJXUgIT0gJXUiCittc2dzdHIgIuaPkOS6pOWcluW9ouS4reeahOaPkOS6pCAlcyDnmoTkuJbku6PomZ/mmK8gJXUgIT0gJXUiCisKKyM6IGNvbW1pdC1ncmFwaC5jOjIwODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0IGRhdGUgZm9yIGNvbW1pdCAlcyBpbiBjb21taXQtZ3JhcGggaXMgJTxQUkl1TUFYPiAhPSAlPFBSSXVNQVg+IgorbXNnc3RyICLmj5DkuqTlnJblvaLkuK3mj5DkuqQgJXMg55qE5o+Q5Lqk5pel5pyf5pivICU8UFJJdU1BWD4gIT0gJTxQUkl1TUFYPiIKKworIzogY29tcGF0L29ic3RhY2suYzo0MDYgY29tcGF0L29ic3RhY2suYzo0MDgKK21zZ2lkICJtZW1vcnkgZXhoYXVzdGVkIgorbXNnc3RyICLoqJjmhrbpq5TogJfnm6EiCisKKyM6IGNvbmZpZy5jOjEyNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiZXhjZWVkZWQgbWF4aW11bSBpbmNsdWRlIGRlcHRoICglZCkgd2hpbGUgaW5jbHVkaW5nXG4iCisiXHQlc1xuIgorImZyb21cbiIKKyJcdCVzXG4iCisiVGhpcyBtaWdodCBiZSBkdWUgdG8gY2lyY3VsYXIgaW5jbHVkZXMuIgorbXNnc3RyICIiCisi6LaF6YGO5LqG5pyA5aSn5YyF5ZCr5rex5bqm77yIJTEkZO+8ie+8jOeVtuW+nlxuIgorIlx0JTMkc1xuIgorIuWMheWQq1xuIgorIlx0JTIkc1xuIgorIumAmeWPr+iDveaYr+WboOeCuuW+queSsOWMheWQq+OAgiIKKworIzogY29uZmlnLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBleHBhbmQgaW5jbHVkZSBwYXRoICclcyciCittc2dzdHIgIueEoeazleaTtOWxleWMheWQq+i3r+W+kSAnJXMnIgorCisjOiBjb25maWcuYzoxNTEKK21zZ2lkICJyZWxhdGl2ZSBjb25maWcgaW5jbHVkZXMgbXVzdCBjb21lIGZyb20gZmlsZXMiCittc2dzdHIgIuebuOWwjei3r+W+keeahOioreWumuaqlOahiOW8leeUqOW/hemgiOS+huiHquaWvOaqlOahiCIKKworIzogY29uZmlnLmM6MTk3Cittc2dpZCAicmVsYXRpdmUgY29uZmlnIGluY2x1ZGUgY29uZGl0aW9uYWxzIG11c3QgY29tZSBmcm9tIGZpbGVzIgorbXNnc3RyICLnm7jlsI3ot6/lvpHnmoToqK3lrprmqpTmoYjmop3ku7blvJXnlKjlv4XpoIjkvoboh6rmlrzmqpTmoYgiCisKKyM6IGNvbmZpZy5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXkgZG9lcyBub3QgY29udGFpbiBhIHNlY3Rpb246ICVzIgorbXNnc3RyICLpjbXlkI3mspLmnInljIXlkKvkuIDlgIvlsI/nr4DlkI3nqLHvvJolcyIKKworIzogY29uZmlnLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgImtleSBkb2VzIG5vdCBjb250YWluIHZhcmlhYmxlIG5hbWU6ICVzIgorbXNnc3RyICLpjbXlkI3mspLmnInljIXlkKvorormlbjlkI3vvJolcyIKKworIzogY29uZmlnLmM6NDA2IHNlcXVlbmNlci5jOjI1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBrZXk6ICVzIgorbXNnc3RyICLnhKHmlYjpjbXlkI3vvJolcyIKKworIzogY29uZmlnLmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQga2V5IChuZXdsaW5lKTogJXMiCittc2dzdHIgIueEoeaViOmNteWQje+8iOacieaPm+ihjOespuiZn++8ie+8miVzIgorCisjOiBjb25maWcuYzo0NDggY29uZmlnLmM6NDYwCisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIGNvbmZpZyBwYXJhbWV0ZXI6ICVzIgorbXNnc3RyICLlgb3oqK3lrprlj4PmlbjvvJolcyIKKworIzogY29uZmlnLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIGZvcm1hdCBpbiAlcyIKK21zZ3N0ciAiJXMg5Lit5qC85byP6Yyv6KqkIgorCisjOiBjb25maWcuYzo4MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGJsb2IgJXMiCittc2dzdHIgIuizh+aWmeeJqeS7tiAlMiRzIOS4remMr+iqpOeahOioreWumuihjCAlMSRkIgorCisjOiBjb25maWcuYzo4MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGZpbGUgJXMiCittc2dzdHIgIuaqlOahiCAlMiRzIOS4remMr+iqpOeahOioreWumuihjCAlMSRkIgorCisjOiBjb25maWcuYzo4MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIHN0YW5kYXJkIGlucHV0IgorbXNnc3RyICLmqJnmupbovLjlhaXkuK3pjK/oqqTnmoToqK3lrprooYwgJWQiCisKKyM6IGNvbmZpZy5jOjgzMworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gc3VibW9kdWxlLWJsb2IgJXMiCittc2dzdHIgIuWtkOaooee1hOizh+aWmeeJqeS7tiAlMiRzIOS4remMr+iqpOeahOioreWumuihjCAlMSRkIgorCisjOiBjb25maWcuYzo4MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbmZpZyBsaW5lICVkIGluIGNvbW1hbmQgbGluZSAlcyIKK21zZ3N0ciAi5oyH5Luk5YiXICUyJHMg5Lit6Yyv6Kqk55qE6Kit5a6a6KGMICUxJGQiCisKKyM6IGNvbmZpZy5jOjg0MQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29uZmlnIGxpbmUgJWQgaW4gJXMiCittc2dzdHIgIuWcqCAlMiRzIOS4remMr+iqpOeahOioreWumuihjCAlMSRkIgorCisjOiBjb25maWcuYzo5NzgKK21zZ2lkICJvdXQgb2YgcmFuZ2UiCittc2dzdHIgIui2heWHuuevhOWcjSIKKworIzogY29uZmlnLmM6OTc4Cittc2dpZCAiaW52YWxpZCB1bml0IgorbXNnc3RyICLnhKHmlYjnmoTllq7kvY0iCisKKyM6IGNvbmZpZy5jOjk3OQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJzogJXMiCittc2dzdHIgIuioreWumuiuiuaVuCAnJTIkcycg55qE5pW45a2X5Y+W5YC8ICclMSRzJyDoqK3lrprpjK/oqqTvvJolMyRzIgorCisjOiBjb25maWcuYzo5OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gYmxvYiAlczogJXMiCittc2dzdHIgIuizh+aWmeeJqeS7tiAlMyRzIOS4reioreWumuiuiuaVuCAnJTIkcycg6Yyv6Kqk55qE5Y+W5YC8ICclMSRzJ++8miU0JHMiCisKKyM6IGNvbmZpZy5jOjEwMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gZmlsZSAlczogJXMiCittc2dzdHIgIuaqlOahiCAlMyRzIOS4reioreWumuiuiuaVuCAnJTIkcycg6Yyv6Kqk55qE5Y+W5YC8ICclMSRzJ++8miU0JHMiCisKKyM6IGNvbmZpZy5jOjEwMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG51bWVyaWMgY29uZmlnIHZhbHVlICclcycgZm9yICclcycgaW4gc3RhbmRhcmQgaW5wdXQ6ICVzIgorbXNnc3RyICLmqJnmupbovLjlhaXkuK3oqK3lrprorormlbggJyUyJHMnIOmMr+iqpOeahOWPluWAvCAnJTEkcyfvvJolMyRzIgorCisjOiBjb25maWcuYzoxMDA3CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluIHN1Ym1vZHVsZS1ibG9iICVzOiAlcyIKK21zZ3N0ciAi5a2Q5qih57WE6LOH5paZICUzJHMg5Lit6Kit5a6a6K6K5pW4ICclMiRzJyDpjK/oqqTnmoTlj5blgLwgJyUxJHMn77yaJTQkcyIKKworIzogY29uZmlnLmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgbnVtZXJpYyBjb25maWcgdmFsdWUgJyVzJyBmb3IgJyVzJyBpbiBjb21tYW5kIGxpbmUgJXM6ICVzIgorbXNnc3RyICLmjIfku6TliJcgJTMkcyDkuK3oqK3lrprorormlbggJyUyJHMnIOmMr+iqpOeahOWPluWAvCAnJTEkcyfvvJolNCRzIgorCisjOiBjb25maWcuYzoxMDEzCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAnJXMnIGZvciAnJXMnIGluICVzOiAlcyIKK21zZ3N0ciAi5ZyoICUzJHMg5Lit6Kit5a6a6K6K5pW4ICclMiRzJyDpjK/oqqTnmoTlj5blgLwgJyUxJHMn77yaJTQkcyIKKworIzogY29uZmlnLmM6MTEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhwYW5kIHVzZXIgZGlyIGluOiAnJXMnIgorbXNnc3RyICLnhKHms5Xmk7TlsZXkvb/nlKjogIXnm67pjITvvJonJXMnIgorCisjOiBjb25maWcuYzoxMTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZm9yICclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgorbXNnc3RyICInJTIkcycg55qE5YC8ICclMSRzJyDkuI3mmK/kuIDlgIvmnInmlYjnmoTmmYLplpPmiLMiCisKKyM6IGNvbmZpZy5jOjEyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWJicmV2IGxlbmd0aCBvdXQgb2YgcmFuZ2U6ICVkIgorbXNnc3RyICLnuK7lr6vplbfluqbotoXlh7rnr4TlnI3vvJolZCIKKworIzogY29uZmlnLmM6MTIyMiBjb25maWcuYzoxMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCB6bGliIGNvbXByZXNzaW9uIGxldmVsICVkIgorbXNnc3RyICLpjK/oqqTnmoQgemxpYiDlo5PnuK7ntJrliKUgJWQiCisKKyM6IGNvbmZpZy5jOjEzMjUKK21zZ2lkICJjb3JlLmNvbW1lbnRDaGFyIHNob3VsZCBvbmx5IGJlIG9uZSBjaGFyYWN0ZXIiCittc2dzdHIgImNvcmUuY29tbWVudENoYXIg5oeJ6Kmy5piv5LiA5YCL5a2X5YWDIgorCisjOiBjb25maWcuYzoxMzU4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbW9kZSBmb3Igb2JqZWN0IGNyZWF0aW9uOiAlcyIKK21zZ3N0ciAi54Sh5pWI55qE54mp5Lu25bu656uL5qih5byP77yaJXMiCisKKyM6IGNvbmZpZy5jOjE0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsZm9ybWVkIHZhbHVlIGZvciAlcyIKK21zZ3N0ciAiJXMg55qE5Y+W5YC85qC85byP6Yyv6KqkIgorCisjOiBjb25maWcuYzoxNDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCB2YWx1ZSBmb3IgJXM6ICVzIgorbXNnc3RyICIlcyDnmoTlj5blgLzmoLzlvI/pjK/oqqTvvJolcyIKKworIzogY29uZmlnLmM6MTQ1NworbXNnaWQgIm11c3QgYmUgb25lIG9mIG5vdGhpbmcsIG1hdGNoaW5nLCBzaW1wbGUsIHVwc3RyZWFtIG9yIGN1cnJlbnQiCittc2dzdHIgIuW/hemgiOaYr+WFtuS4reS5i+S4gO+8mm5vdGhpbmfjgIFtYXRjaGluZ+OAgXNpbXBsZeOAgXVwc3RyZWFtIOaIliBjdXJyZW50IgorCisjOiBjb25maWcuYzoxNTE4IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcGFjayBjb21wcmVzc2lvbiBsZXZlbCAlZCIKK21zZ3N0ciAi6Yyv6Kqk55qE5omT5YyF5aOT57iu57Sa5YilICVkIgorCisjOiBjb25maWcuYzoxNjM5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBsb2FkIGNvbmZpZyBibG9iIG9iamVjdCAnJXMnIgorbXNnc3RyICLnhKHms5Xlvp7os4fmlpnnianku7YgJyVzJyDovInlhaXoqK3lrpoiCisKKyM6IGNvbmZpZy5jOjE2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmZXJlbmNlICclcycgZG9lcyBub3QgcG9pbnQgdG8gYSBibG9iIgorbXNnc3RyICLlvJXnlKggJyVzJyDmspLmnInmjIflkJHkuIDlgIvos4fmlpnnianku7YiCisKKyM6IGNvbmZpZy5jOjE2NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgY29uZmlnIGJsb2IgJyVzJyIKK21zZ3N0ciAi5LiN6IO96Kej5p6Q6Kit5a6a54mp5Lu2ICclcyciCisKKyM6IGNvbmZpZy5jOjE2ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIgorbXNnc3RyICLop6PmnpAgJXMg5aSx5pWXIgorCisjOiBjb25maWcuYzoxNzQ1Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1hbmQtbGluZSBjb25maWciCittc2dzdHIgIueEoeazleino+aekOaMh+S7pOWIl+S4reeahOioreWumiIKKworIzogY29uZmlnLmM6MjA5NgorbXNnaWQgInVua25vd24gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyIKK21zZ3N0ciAi5Zyo6K6A5Y+W6Kit5a6a5qqU5qGI5pmC6YGH5Yiw5pyq55+l6Yyv6KqkIgorCisjOiBjb25maWcuYzoyMjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgJXM6ICclcyciCittc2dzdHIgIueEoeaViCAlc++8miclcyciCisKKyM6IGNvbmZpZy5jOjIzMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BsaXRJbmRleC5tYXhQZXJjZW50Q2hhbmdlIHZhbHVlICclZCcgc2hvdWxkIGJlIGJldHdlZW4gMCBhbmQgMTAwIgorbXNnc3RyICJzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2Ug55qE5Y+W5YC8ICclZCcg5oeJ6Kmy5LuL5pa8IDAg5ZKMIDEwMCDkuYvplpMiCisKKyM6IGNvbmZpZy5jOjIzNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlICclcycgZnJvbSBjb21tYW5kLWxpbmUgY29uZmlnIgorbXNnc3RyICLnhKHms5Xop6PmnpDmjIfku6TliJfoqK3lrprkuK3nmoQgJyVzJyIKKworIzogY29uZmlnLmM6MjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29uZmlnIHZhcmlhYmxlICclcycgaW4gZmlsZSAnJXMnIGF0IGxpbmUgJWQiCittc2dzdHIgIuWcqOaqlOahiCAnJTIkcycg55qE56ysICUzJGQg6KGM55m854++6Yyv6Kqk55qE6Kit5a6a6K6K5pW4ICclMSRzJyIKKworIzogY29uZmlnLmM6MjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNlY3Rpb24gbmFtZSAnJXMnIgorbXNnc3RyICLnhKHmlYjnmoTlsI/nr4DlkI3nqLEgJyVzJyIKKworIzogY29uZmlnLmM6MjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbXVsdGlwbGUgdmFsdWVzIgorbXNnc3RyICIlcyDmnInlpJrlgIvlj5blgLwiCisKKyM6IGNvbmZpZy5jOjI1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIG5ldyBjb25maWd1cmF0aW9uIGZpbGUgJXMiCittc2dzdHIgIuWvq+WFpeaWsOeahOioreWumuaqlOahiCAlcyDlpLHmlZciCisKKyM6IGNvbmZpZy5jOjI3NTMgY29uZmlnLmM6MzA3NworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgbG9jayBjb25maWcgZmlsZSAlcyIKK21zZ3N0ciAi5LiN6IO96Y6W5a6a6Kit5a6a5qqU5qGIICVzIgorCisjOiBjb25maWcuYzoyNzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW5pbmcgJXMiCittc2dzdHIgIumWi+WVnyAlcyIKKworIzogY29uZmlnLmM6Mjc5OSBidWlsdGluL2NvbmZpZy5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHBhdHRlcm46ICVzIgorbXNnc3RyICLnhKHmlYjmqKHlvI/vvJolcyIKKworIzogY29uZmlnLmM6MjgyNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbmZpZyBmaWxlICVzIgorbXNnc3RyICLnhKHmlYjnmoToqK3lrprmqpTmoYggJXMiCisKKyM6IGNvbmZpZy5jOjI4MzcgY29uZmlnLmM6MzA5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmc3RhdCBvbiAlcyBmYWlsZWQiCittc2dzdHIgIuWwjSAlcyDlkbzlj6sgZnN0YXQg5aSx5pWXIgorCisjOiBjb25maWcuYzoyODQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBtbWFwICclcyciCittc2dzdHIgIuS4jeiDvSBtbWFwICclcyciCisKKyM6IGNvbmZpZy5jOjI4NTcgY29uZmlnLmM6MzA5NQorIywgYy1mb3JtYXQKK21zZ2lkICJjaG1vZCBvbiAlcyBmYWlsZWQiCittc2dzdHIgIuWwjSAlcyDlkbzlj6sgY2htb2Qg5aSx5pWXIgorCisjOiBjb25maWcuYzoyOTQyIGNvbmZpZy5jOjMxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbmZpZyBmaWxlICVzIgorbXNnc3RyICLkuI3og73lr6vlhaXoqK3lrprmqpTmoYggJXMiCisKKyM6IGNvbmZpZy5jOjI5NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHNldCAnJXMnIHRvICclcyciCittc2dzdHIgIuS4jeiDveioreWumiAnJXMnIOeCuiAnJXMnIgorCisjOiBjb25maWcuYzoyOTc4IGJ1aWx0aW4vcmVtb3RlLmM6NzgxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB1bnNldCAnJXMnIgorbXNnc3RyICLkuI3og73lj5bmtojoqK3lrpogJyVzJyIKKworIzogY29uZmlnLmM6MzA2OAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNlY3Rpb24gbmFtZTogJXMiCittc2dzdHIgIueEoeaViOeahOWwj+evgOWQjeeose+8miVzIgorCisjOiBjb25maWcuYzozMjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgdmFsdWUgZm9yICclcyciCittc2dzdHIgIiVzIOeahOWPluWAvOe8uuWwkSIKKworIzogY29ubmVjdC5jOjYxCittc2dpZCAidGhlIHJlbW90ZSBlbmQgaHVuZyB1cCB1cG9uIGluaXRpYWwgY29udGFjdCIKK21zZ3N0ciAi6YGg56uv5Zyo5Yid5aeL6YCj57ea5pmC5Y2z5o6b5pa3IgorCisjOiBjb25uZWN0LmM6NjMKK21zZ2lkICIiCisiQ291bGQgbm90IHJlYWQgZnJvbSByZW1vdGUgcmVwb3NpdG9yeS5cbiIKKyJcbiIKKyJQbGVhc2UgbWFrZSBzdXJlIHlvdSBoYXZlIHRoZSBjb3JyZWN0IGFjY2VzcyByaWdodHNcbiIKKyJhbmQgdGhlIHJlcG9zaXRvcnkgZXhpc3RzLiIKK21zZ3N0ciAiIgorIueEoeazleiugOWPlumBoOerr+eJiOacrOW6q+OAglxuIgorIlxuIgorIuiri+eiuuiqjeaCqOacieato+eiuueahOWtmOWPluasiumZkOS4puS4lOeJiOacrOW6q+WtmOWcqOOAgiIKKworIzogY29ubmVjdC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlcnZlciBkb2Vzbid0IHN1cHBvcnQgJyVzJyIKK21zZ3N0ciAi5Ly65pyN5Zmo5LiN5pSv5o+0ICclcyciCisKKyM6IGNvbm5lY3QuYzoxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VydmVyIGRvZXNuJ3Qgc3VwcG9ydCBmZWF0dXJlICclcyciCittc2dzdHIgIuS8uuacjeWZqOS4jeaUr+aPtOeJueaApyAnJXMnIgorCisjOiBjb25uZWN0LmM6MTE0Cittc2dpZCAiZXhwZWN0ZWQgZmx1c2ggYWZ0ZXIgY2FwYWJpbGl0aWVzIgorbXNnc3RyICLlnKjog73lipvkuYvlvozmh4nngrrkuIDlgIsgZmx1c2gg5YyFIgorCisjOiBjb25uZWN0LmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIGNhcGFiaWxpdGllcyBhZnRlciBmaXJzdCBsaW5lICclcyciCittc2dzdHIgIuW/veeVpeesrOS4gOihjCAnJXMnIOS5i+W+jOeahOiDveWKm+ashOS9jSIKKworIzogY29ubmVjdC5jOjI1MgorbXNnaWQgInByb3RvY29sIGVycm9yOiB1bmV4cGVjdGVkIGNhcGFiaWxpdGllc157fSIKK21zZ3N0ciAi5Y2U5a6a6Yyv6Kqk77ya5oSP5aSW55qEIGNhcGFiaWxpdGllc157fSIKKworIzogY29ubmVjdC5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJwcm90b2NvbCBlcnJvcjogZXhwZWN0ZWQgc2hhbGxvdyBzaGEtMSwgZ290ICclcyciCittc2dzdHIgIuWNlOWumumMr+iqpO+8mumgkOacn+a3uuikh+ijvSBzaGEtMe+8jOWNu+W+l+WIsCAnJXMnIgorCisjOiBjb25uZWN0LmM6Mjc1Cittc2dpZCAicmVwb3NpdG9yeSBvbiB0aGUgb3RoZXIgZW5kIGNhbm5vdCBiZSBzaGFsbG93IgorbXNnc3RyICLlj6bkuIDnq6/nmoTniYjmnKzluqvkuI3og73mmK/mt7ropIfoo73niYjmnKzluqsiCisKKyM6IGNvbm5lY3QuYzozMTMKK21zZ2lkICJpbnZhbGlkIHBhY2tldCIKK21zZ3N0ciAi54Sh5pWI5bCB5YyFIgorCisjOiBjb25uZWN0LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgInByb3RvY29sIGVycm9yOiB1bmV4cGVjdGVkICclcyciCittc2dzdHIgIuWNlOWumumMr+iqpO+8muaEj+WklueahCAnJXMnIgorCisjOiBjb25uZWN0LmM6NDQxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbHMtcmVmcyByZXNwb25zZTogJXMiCittc2dzdHIgIueEoeaViOeahCBscy1yZWZzIOWbnuaHie+8miVzIgorCisjOiBjb25uZWN0LmM6NDQ1Cittc2dpZCAiZXhwZWN0ZWQgZmx1c2ggYWZ0ZXIgcmVmIGxpc3RpbmciCittc2dzdHIgIuWcqOW8leeUqOWIl+ihqOS5i+W+jOaHieipsuacieS4gOWAiyBmbHVzaCDljIUiCisKKyM6IGNvbm5lY3QuYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJvdG9jb2wgJyVzJyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLkuI3mlK/mj7QgJyVzJyDljZTlrpoiCisKKyM6IGNvbm5lY3QuYzo1OTUKK21zZ2lkICJ1bmFibGUgdG8gc2V0IFNPX0tFRVBBTElWRSBvbiBzb2NrZXQiCittc2dzdHIgIueEoeazleeCuiBzb2NrZXQg6Kit5a6aIFNPX0tFRVBBTElWRSIKKworIzogY29ubmVjdC5jOjYzNSBjb25uZWN0LmM6Njk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkxvb2tpbmcgdXAgJXMgLi4uICIKK21zZ3N0ciAi5bCL5om+ICVzIC4uLiIKKworIzogY29ubmVjdC5jOjYzOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gbG9vayB1cCAlcyAocG9ydCAlcykgKCVzKSIKK21zZ3N0ciAi54Sh5rOV5bCL5om+ICVz77yI5Z+gICVz77yJ77yIJXPvvIkiCisKKyMuIFRSQU5TTEFUT1JTOiB0aGlzIGlzIHRoZSBlbmQgb2YgIkxvb2tpbmcgdXAgJXMgLi4uICIKKyM6IGNvbm5lY3QuYzo2NDMgY29ubmVjdC5jOjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiZG9uZS5cbiIKKyJDb25uZWN0aW5nIHRvICVzIChwb3J0ICVzKSAuLi4gIgorbXNnc3RyICIiCisi5a6M5oiQ44CCXG4iCisi6YCj57ea5YiwICVz77yI5Z+gICVz77yJLi4uICIKKworIzogY29ubmVjdC5jOjY2NSBjb25uZWN0LmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1bmFibGUgdG8gY29ubmVjdCB0byAlczpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIueEoeazlemAo+e3muWIsCAlc++8mlxuIgorIiVzIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBpcyB0aGUgZW5kIG9mICJDb25uZWN0aW5nIHRvICVzIChwb3J0ICVzKSAuLi4gIgorIzogY29ubmVjdC5jOjY3MSBjb25uZWN0LmM6NzQ4Cittc2dpZCAiZG9uZS4iCittc2dzdHIgIuWujOaIkOOAgiIKKworIzogY29ubmVjdC5jOjcwMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gbG9vayB1cCAlcyAoJXMpIgorbXNnc3RyICLnhKHms5XlsIvmib4gJXPvvIglc++8iSIKKworIzogY29ubmVjdC5jOjcwOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHBvcnQgJXMiCittc2dzdHIgIuacquefpeWfoCAlcyIKKworIzogY29ubmVjdC5jOjg0NSBjb25uZWN0LmM6MTE3NQorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJhbmdlIGhvc3RuYW1lICclcycgYmxvY2tlZCIKK21zZ3N0ciAi5bey6Zi75q2i5aWH5oCq55qE5Li75qmf5ZCN56ixICclcyciCisKKyM6IGNvbm5lY3QuYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RyYW5nZSBwb3J0ICclcycgYmxvY2tlZCIKK21zZ3N0ciAi5bey6Zi75q2i5aWH5oCq55qE5Z+g6JmfICclcyciCisKKyM6IGNvbm5lY3QuYzo4NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXJ0IHByb3h5ICVzIgorbXNnc3RyICLkuI3og73llZ/li5Xku6PnkIYgJXMiCisKKyM6IGNvbm5lY3QuYzo5MjgKK21zZ2lkICJubyBwYXRoIHNwZWNpZmllZDsgc2VlICdnaXQgaGVscCBwdWxsJyBmb3IgdmFsaWQgdXJsIHN5bnRheCIKK21zZ3N0ciAi5pyq5oyH5a6a6Lev5b6R77yM5Z+36KGMICdnaXQgaGVscCBwdWxsJyDmqqLoppbmnInmlYjnmoQgdXJsIOiqnuazlSIKKworIzogY29ubmVjdC5jOjExMjMKK21zZ2lkICJzc2ggdmFyaWFudCAnc2ltcGxlJyBkb2VzIG5vdCBzdXBwb3J0IC00IgorbXNnc3RyICJzc2gg6K6K6auUICdzaW1wbGUnIOS4jeaUr+aPtCAtNCIKKworIzogY29ubmVjdC5jOjExMzUKK21zZ2lkICJzc2ggdmFyaWFudCAnc2ltcGxlJyBkb2VzIG5vdCBzdXBwb3J0IC02IgorbXNnc3RyICJzc2gg6K6K6auUICdzaW1wbGUnIOS4jeaUr+aPtCAtNiIKKworIzogY29ubmVjdC5jOjExNTIKK21zZ2lkICJzc2ggdmFyaWFudCAnc2ltcGxlJyBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgcG9ydCIKK21zZ3N0ciAic3NoIOiuiumrlCAnc2ltcGxlJyDkuI3mlK/mj7ToqK3lrprln6AiCisKKyM6IGNvbm5lY3QuYzoxMjY0CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cmFuZ2UgcGF0aG5hbWUgJyVzJyBibG9ja2VkIgorbXNnc3RyICLlt7LpmLvmraLlpYfmgKrnmoTot6/lvpHlkI0gJyVzJyIKKworIzogY29ubmVjdC5jOjEzMTEKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAi54Sh5rOVIGZvcmsiCisKKyM6IGNvbm5lY3RlZC5jOjg5IGJ1aWx0aW4vZnNjay5jOjIwOCBidWlsdGluL3BydW5lLmM6NDMKK21zZ2lkICJDaGVja2luZyBjb25uZWN0aXZpdHkiCittc2dzdHIgIuato+WcqOaqouafpemAo+mAmuaApyIKKworIzogY29ubmVjdGVkLmM6MTAxCittc2dpZCAiQ291bGQgbm90IHJ1biAnZ2l0IHJldi1saXN0JyIKK21zZ3N0ciAi5LiN6IO95Z+36KGMICdnaXQgcmV2LWxpc3QnIgorCisjOiBjb25uZWN0ZWQuYzoxMjEKK21zZ2lkICJmYWlsZWQgd3JpdGUgdG8gcmV2LWxpc3QiCittc2dzdHIgIuWvq+WFpSByZXYtbGlzdCDlpLHmlZciCisKKyM6IGNvbm5lY3RlZC5jOjEyOAorbXNnaWQgImZhaWxlZCB0byBjbG9zZSByZXYtbGlzdCdzIHN0ZGluIgorbXNnc3RyICLpl5zplokgcmV2LWxpc3Qg55qE5qiZ5rqW6Ly45YWl5aSx5pWXIgorCisjOiBjb252ZXJ0LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgY3JsZl9hY3Rpb24gJWQiCittc2dzdHIgIumdnuazleeahCBjcmxmIOWLleS9nCAlZCIKKworIzogY29udmVydC5jOjIwNworIywgYy1mb3JtYXQKK21zZ2lkICJDUkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IExGIGluICVzIgorbXNnc3RyICIlcyDkuK3nmoQgQ1JMRiDlsIfooqsgTEYg5Y+W5LujIgorCisjOiBjb252ZXJ0LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDUkxGIHdpbGwgYmUgcmVwbGFjZWQgYnkgTEYgaW4gJXMuXG4iCisiVGhlIGZpbGUgd2lsbCBoYXZlIGl0cyBvcmlnaW5hbCBsaW5lIGVuZGluZ3MgaW4geW91ciB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorIiVzIOS4reeahCBDUkxGIOWwh+iiqyBMRiDlj5bku6PjgII8XG4iCisi5Zyo5bel5L2c5Y2A5Lit6Kmy5qqU5qGI5LuN5L+d5oyB5Y6f5pyJ55qE5o+b6KGM56ym6Jmf44CCIgorCisjOiBjb252ZXJ0LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxGIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMiCittc2dzdHIgIuaqlOahiCAlcyDkuK3nmoQgTEYg5bCH6KKrIENSTEYg5Y+W5LujIgorCisjOiBjb252ZXJ0LmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMRiB3aWxsIGJlIHJlcGxhY2VkIGJ5IENSTEYgaW4gJXMuXG4iCisiVGhlIGZpbGUgd2lsbCBoYXZlIGl0cyBvcmlnaW5hbCBsaW5lIGVuZGluZ3MgaW4geW91ciB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorIiVzIOS4reeahCBMRiDlsIfooqsgQ1JMRiDlj5bku6PjgIJcbiIKKyLlnKjlt6XkvZzljYDkuK3oqbLmqpTmoYjku43kv53mjIHljp/mnInnmoTmj5vooYznrKbomZ8iCisKKyM6IGNvbnZlcnQuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQk9NIGlzIHByb2hpYml0ZWQgaW4gJyVzJyBpZiBlbmNvZGVkIGFzICVzIgorbXNnc3RyICLlpoLmnpzkvb/nlKggJTIkcyDnt6jnorzvvIznpoHmraLlnKggJyUxJHMnIOS4reS9v+eUqCBCT00iCisKKyM6IGNvbnZlcnQuYzoyOTEKKyMsIGMtZm9ybWF0CisjfCBtc2dpZCAiIgorI3wgIlRoZSBmaWxlICclcycgY29udGFpbnMgYSBieXRlIG9yZGVyIG1hcmsgKEJPTSkuIFBsZWFzZSB1c2UgVVRGLSVzIGFzICIKKyN8ICJ3b3JraW5nLXRyZWUtZW5jb2RpbmcuIgorbXNnaWQgIiIKKyJUaGUgZmlsZSAnJXMnIGNvbnRhaW5zIGEgYnl0ZSBvcmRlciBtYXJrIChCT00pLiBQbGVhc2UgdXNlIFVURi0lLipzIGFzICIKKyJ3b3JraW5nLXRyZWUtZW5jb2RpbmcuIgorbXNnc3RyICLmqpTmoYggJyVzJyDljIXlkKvkvY3lhYPntYTpoIbluo/mqJnoqJjvvIhCT03vvInjgILoq4vkvb/nlKggVVRGLSUuKnMg5L2c54K65bel5L2c5Y2A57eo56K844CCIgorCisjOiBjb252ZXJ0LmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJPTSBpcyByZXF1aXJlZCBpbiAnJXMnIGlmIGVuY29kZWQgYXMgJXMiCittc2dzdHIgIuWmguaenOe3qOeivOeCuiAlMiRz77yM6ZyA6KaB5ZyoICclMSRzJyDkuK3kvb/nlKggQk9NIgorCisjOiBjb252ZXJ0LmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZmlsZSAnJXMnIGlzIG1pc3NpbmcgYSBieXRlIG9yZGVyIG1hcmsgKEJPTSkuIFBsZWFzZSB1c2UgVVRGLSVzQkUgb3IgVVRGLSIKKyIlc0xFIChkZXBlbmRpbmcgb24gdGhlIGJ5dGUgb3JkZXIpIGFzIHdvcmtpbmctdHJlZS1lbmNvZGluZy4iCittc2dzdHIgIiIKKyLmqpTmoYggJyVzJyDnvLrlsJHkuIDlgIvkvY3lhYPntYTpoIbluo/mqJnoqJjvvIhCT03vvInjgILoq4vkvb/nlKggVVRGLSVzQkUgb3IgVVRGLSVzTEXvvIjlj5bmsbrmlrwiCisi5a2X56+A5bqP77yJ5L2c54K65bel5L2c5Y2A57eo56K844CCIgorCisjOiBjb252ZXJ0LmM6NDE5IGNvbnZlcnQuYzo0OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGVuY29kZSAnJXMnIGZyb20gJXMgdG8gJXMiCittc2dzdHIgIueEoeazleWwjSAnJXMnIOmAsuihjOW+niAlcyDliLAgJXMg55qE57eo56K8IgorCisjOiBjb252ZXJ0LmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgImVuY29kaW5nICclcycgZnJvbSAlcyB0byAlcyBhbmQgYmFjayBpcyBub3QgdGhlIHNhbWUiCittc2dzdHIgIuWwhyclcycg55qE57eo56K85b6eICVzIOWIsCAlcyDkvobov7TovYnmj5vkuI3kuIDoh7QiCisKKyM6IGNvbnZlcnQuYzo2NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZvcmsgdG8gcnVuIGV4dGVybmFsIGZpbHRlciAnJXMnIgorbXNnc3RyICLkuI3og70gZm9yayDku6Xln7fooYzlpJbpg6jpgY7mv77lmaggJyVzJyIKKworIzogY29udmVydC5jOjY4OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmVlZCB0aGUgaW5wdXQgdG8gZXh0ZXJuYWwgZmlsdGVyICclcyciCittc2dzdHIgIuS4jeiDveWwh+i8uOWFpeWCs+mBnue1puWklumDqOmBjua/vuWZqCAnJXMnIgorCisjOiBjb252ZXJ0LmM6Njk1CisjLCBjLWZvcm1hdAorbXNnaWQgImV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCAlZCIKK21zZ3N0ciAi5aSW6YOo6YGO5r++5ZmoICclcycg5aSx5pWX56K8ICVkIgorCisjOiBjb252ZXJ0LmM6NzMwIGNvbnZlcnQuYzo3MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZCBmcm9tIGV4dGVybmFsIGZpbHRlciAnJXMnIGZhaWxlZCIKK21zZ3N0ciAi5b6e5aSW6YOo6YGO5r++5ZmoICclcycg6K6A5Y+W5aSx5pWXIgorCisjOiBjb252ZXJ0LmM6NzM2IGNvbnZlcnQuYzo3OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXh0ZXJuYWwgZmlsdGVyICclcycgZmFpbGVkIgorbXNnc3RyICLlpJbpg6jpgY7mv77lmaggJyVzJyDlpLHmlZciCisKKyM6IGNvbnZlcnQuYzo4MzkKK21zZ2lkICJ1bmV4cGVjdGVkIGZpbHRlciB0eXBlIgorbXNnc3RyICLmhI/lpJbnmoTpgY7mv77poZ7lnosiCisKKyM6IGNvbnZlcnQuYzo4NTAKK21zZ2lkICJwYXRoIG5hbWUgdG9vIGxvbmcgZm9yIGV4dGVybmFsIGZpbHRlciIKK21zZ3N0ciAi5aSW6YOo6YGO5r++5Zmo55qE6Lev5b6R5ZCN5aSq6ZW3IgorCisjOiBjb252ZXJ0LmM6OTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJleHRlcm5hbCBmaWx0ZXIgJyVzJyBpcyBub3QgYXZhaWxhYmxlIGFueW1vcmUgYWx0aG91Z2ggbm90IGFsbCBwYXRocyBoYXZlICIKKyJiZWVuIGZpbHRlcmVkIgorbXNnc3RyICLlpJbpg6jpgY7mv77lmaggJyVzJyDkuI3lho3lj6/nlKjvvIzkvYbkuKbpnZ7miYDmnInot6/lvpHpg73lt7LpgY7mv74iCisKKyM6IGNvbnZlcnQuYzoxMjIzCittc2dpZCAidHJ1ZS9mYWxzZSBhcmUgbm8gdmFsaWQgd29ya2luZy10cmVlLWVuY29kaW5ncyIKK21zZ3N0ciAidHJ1ZS9mYWxzZSDkuI3mmK/mnInmlYjnmoTlt6XkvZzljYDnt6jnorwiCisKKyM6IGNvbnZlcnQuYzoxNDExIGNvbnZlcnQuYzoxNDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbGVhbiBmaWx0ZXIgJyVzJyBmYWlsZWQiCittc2dzdHIgIiVz77yaY2xlYW4g6YGO5r++5ZmoICclcycg5aSx5pWXIgorCisjOiBjb252ZXJ0LmM6MTQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc211ZGdlIGZpbHRlciAlcyBmYWlsZWQiCittc2dzdHIgIiVz77yac211ZGdlIOmBjua/vuWZqCAlcyDlpLHmlZciCisKKyM6IGRhdGUuYzoxMzgKK21zZ2lkICJpbiB0aGUgZnV0dXJlIgorbXNnc3RyICLlnKjlsIfkvoYiCisKKyM6IGRhdGUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTxQUkl1TUFYPiBzZWNvbmQgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHNlY29uZHMgYWdvIgorbXNnc3RyWzBdICIlPFBSSXVNQVg+IOenkumQmOWJjSIKK21zZ3N0clsxXSAiJTxQUkl1TUFYPiDnp5LpkJjliY0iCisKKyM6IGRhdGUuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTxQUkl1TUFYPiBtaW51dGUgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1pbnV0ZXMgYWdvIgorbXNnc3RyWzBdICIlPFBSSXVNQVg+IOWIhumQmOWJjSIKK21zZ3N0clsxXSAiJTxQUkl1TUFYPiDliIbpkJjliY0iCisKKyM6IGRhdGUuYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTxQUkl1TUFYPiBob3VyIGFnbyIKK21zZ2lkX3BsdXJhbCAiJTxQUkl1TUFYPiBob3VycyBhZ28iCittc2dzdHJbMF0gIiU8UFJJdU1BWD4g5bCP5pmC5YmNIgorbXNnc3RyWzFdICIlPFBSSXVNQVg+IOWwj+aZguWJjSIKKworIzogZGF0ZS5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlPFBSSXVNQVg+IGRheSBhZ28iCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4gZGF5cyBhZ28iCittc2dzdHJbMF0gIiU8UFJJdU1BWD4g5aSp5YmNIgorbXNnc3RyWzFdICIlPFBSSXVNQVg+IOWkqeWJjSIKKworIzogZGF0ZS5jOjE3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlPFBSSXVNQVg+IHdlZWsgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHdlZWtzIGFnbyIKK21zZ3N0clswXSAiJTxQUkl1TUFYPiDlkajliY0iCittc2dzdHJbMV0gIiU8UFJJdU1BWD4g5ZGo5YmNIgorCisjOiBkYXRlLmM6MTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiU8UFJJdU1BWD4gbW9udGggYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IG1vbnRocyBhZ28iCittc2dzdHJbMF0gIiU8UFJJdU1BWD4g5YCL5pyI5YmNIgorbXNnc3RyWzFdICIlPFBSSXVNQVg+IOWAi+aciOWJjSIKKworIzogZGF0ZS5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlPFBSSXVNQVg+IHllYXIiCittc2dpZF9wbHVyYWwgIiU8UFJJdU1BWD4geWVhcnMiCittc2dzdHJbMF0gIiU8UFJJdU1BWD4g5bm0IgorbXNnc3RyWzFdICIlPFBSSXVNQVg+IOW5tCIKKworIy4gVFJBTlNMQVRPUlM6ICIlcyIgaXMgIjxuPiB5ZWFycyIKKyM6IGRhdGUuYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMsICU8UFJJdU1BWD4gbW9udGggYWdvIgorbXNnaWRfcGx1cmFsICIlcywgJTxQUkl1TUFYPiBtb250aHMgYWdvIgorbXNnc3RyWzBdICIlcyAlPFBSSXVNQVg+IOWAi+aciOWJjSIKK21zZ3N0clsxXSAiJXMgJTxQUkl1TUFYPiDlgIvmnIjliY0iCisKKyM6IGRhdGUuYzoxOTcgZGF0ZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlPFBSSXVNQVg+IHllYXIgYWdvIgorbXNnaWRfcGx1cmFsICIlPFBSSXVNQVg+IHllYXJzIGFnbyIKK21zZ3N0clswXSAiJTxQUkl1TUFYPiDlubTliY0iCittc2dzdHJbMV0gIiU8UFJJdU1BWD4g5bm05YmNIgorCisjOiBkZWx0YS1pc2xhbmRzLmM6MjcyCittc2dpZCAiUHJvcGFnYXRpbmcgaXNsYW5kIG1hcmtzIgorbXNnc3RyICLmraPlnKjlgrPmkq3os4fmlpnls7bmqJnoqJgiCisKKyM6IGRlbHRhLWlzbGFuZHMuYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHRyZWUgb2JqZWN0ICVzIgorbXNnc3RyICLlo57nmoTmqLnni4Dnianku7YgJXMiCisKKyM6IGRlbHRhLWlzbGFuZHMuYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGxvYWQgaXNsYW5kIHJlZ2V4IGZvciAnJXMnOiAlcyIKK21zZ3N0ciAi5pyq6IO96LyJ5YWlICclcycg55qE6LOH5paZ5bO25q2j6KaP6KGo56S65byP77yaJXMiCisKKyM6IGRlbHRhLWlzbGFuZHMuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaXNsYW5kIHJlZ2V4IGZyb20gY29uZmlnIGhhcyB0b28gbWFueSBjYXB0dXJlIGdyb3VwcyAobWF4PSVkKSIKK21zZ3N0ciAi5L6G6IeqIGNvbmZpZyDnmoTos4fmlpnls7bmraPopo/ooajnpLrlvI/mnInlpKrlpJrnmoTmjZXnjbLntYTvvIjmnIDlpJogJWQg5YCL77yJIgorCisjOiBkZWx0YS1pc2xhbmRzLmM6NDY3CisjLCBjLWZvcm1hdAorbXNnaWQgIk1hcmtlZCAlZCBpc2xhbmRzLCBkb25lLlxuIgorbXNnc3RyICLlt7LmqJnoqJggJWQg5YCL6LOH5paZ5bO277yM57WQ5p2f44CCXG4iCisKKyM6IGRpZmZjb3JlLW9yZGVyLmM6MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgb3JkZXJmaWxlICclcyciCittc2dzdHIgIuiugOWPluaOkuW6j+aqlOahiCAnJXMnIOWkseaVlyIKKworIzogZGlmZmNvcmUtcmVuYW1lLmM6NTQzCittc2dpZCAiUGVyZm9ybWluZyBpbmV4YWN0IHJlbmFtZSBkZXRlY3Rpb24iCittc2dzdHIgIuato+WcqOmAsuihjOmdnueyvueiuueahOmHjeaWsOWRveWQjeWBtea4rCIKKworIzogZGlmZi1uby1pbmRleC5jOjIzOAorbXNnaWQgImdpdCBkaWZmIC0tbm8taW5kZXggWzxvcHRpb25zPl0gPHBhdGg+IDxwYXRoPiIKK21zZ3N0ciAiZ2l0IGRpZmYgLS1uby1pbmRleCBbPOmBuOmghT5dIDzot6/lvpE+IDzot6/lvpE+IgorCisjOiBkaWZmLW5vLWluZGV4LmM6MjYzCittc2dpZCAiIgorIk5vdCBhIGdpdCByZXBvc2l0b3J5LiBVc2UgLS1uby1pbmRleCB0byBjb21wYXJlIHR3byBwYXRocyBvdXRzaWRlIGEgd29ya2luZyAiCisidHJlZSIKK21zZ3N0ciAi5LiN5piv5LiA5YCLIGdpdCDniYjmnKzluqvjgILkvb/nlKggLS1uby1pbmRleCDmr5TovIPlt6XkvZzljYDkuYvlpJbnmoTlhanlgIvot6/lvpEiCisKKyMgIOitr+iAhe+8muiri+e2reaMgeWJjeWwjuepuuagvAorIzogZGlmZi5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIgIEZhaWxlZCB0byBwYXJzZSBkaXJzdGF0IGN1dC1vZmYgcGVyY2VudGFnZSAnJXMnXG4iCittc2dzdHIgIiAg54Sh5rOV6Kej5p6QIGRpcnN0YXQg5oiq5q2i77yIY3V0LW9mZu+8ieeZvuWIhuavlCAnJXMnXG4iCisKKyMgIOitr+iAhe+8muiri+e2reaMgeWJjeWwjuepuuagvAorIzogZGlmZi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIFVua25vd24gZGlyc3RhdCBwYXJhbWV0ZXIgJyVzJ1xuIgorbXNnc3RyICIgIOacquefpeeahCBkaXJzdGF0IOWPg+aVuCAnJXMnXG4iCisKKyM6IGRpZmYuYzoyOTYKK21zZ2lkICIiCisiY29sb3IgbW92ZWQgc2V0dGluZyBtdXN0IGJlIG9uZSBvZiAnbm8nLCAnZGVmYXVsdCcsICdibG9ja3MnLCAnemVicmEnLCAiCisiJ2RpbW1lZC16ZWJyYScsICdwbGFpbiciCittc2dzdHIgIiIKKyLnp7vli5XnmoTpoY/oibLoqK3lrprlv4XpoIjmmK8gJ25vJ+OAgSdkZWZhdWx0J+OAgSdibG9ja3Mn44CBJ3plYnJhJ+OAgSdkaW1tZWRfemVicmEnIOaIliAiCisiJ3BsYWluJyIKKworIzogZGlmZi5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidW5rbm93biBjb2xvci1tb3ZlZC13cyBtb2RlICclcycsIHBvc3NpYmxlIHZhbHVlcyBhcmUgJ2lnbm9yZS1zcGFjZS1jaGFuZ2UnLCAiCisiJ2lnbm9yZS1zcGFjZS1hdC1lb2wnLCAnaWdub3JlLWFsbC1zcGFjZScsICdhbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UnIgorbXNnc3RyICIiCisi5pyq55+l55qEIGNvbG9yLW1vdmVkLXdzIOaooeW8jyAnJXMn77yM5Y+v6IO955qE5Y+W5YC85pyJICdpZ25vcmUtc3BhY2UtY2hhbmdlJ+OAgSdpZ25vcmUtIgorInNwYWNlLWF0LWVvbCfjgIEnaWdub3JlLWFsbC1zcGFjZSfjgIEnYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlJyIKKworIzogZGlmZi5jOjMzMgorbXNnaWQgIiIKKyJjb2xvci1tb3ZlZC13czogYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyICIKKyJ3aGl0ZXNwYWNlIG1vZGVzIgorbXNnc3RyICJjb2xvci1tb3ZlZC13c++8mmFsbG93LWluZGVudGF0aW9uLWNoYW5nZSDkuI3og73oiIflhbblroPnqbrnmb3lrZflhYPmqKHlvI/lhbHnlKgiCisKKyM6IGRpZmYuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biB2YWx1ZSBmb3IgJ2RpZmYuc3VibW9kdWxlJyBjb25maWcgdmFyaWFibGU6ICclcyciCittc2dzdHIgIuioreWumuiuiuaVuCAnZGlmZi5zdWJtb2R1bGUnIOacquefpeeahOWPluWAvO+8miclcyciCisKKyM6IGRpZmYuYzo0NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZvdW5kIGVycm9ycyBpbiAnZGlmZi5kaXJzdGF0JyBjb25maWcgdmFyaWFibGU6XG4iCisiJXMiCittc2dzdHIgIiIKKyLnmbznj77oqK3lrprorormlbggJ2RpZmYuZGlyc3RhdCcg5Lit55qE6Yyv6Kqk77yaXG4iCisiJXMiCisKKyM6IGRpZmYuYzo0MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgImV4dGVybmFsIGRpZmYgZGllZCwgc3RvcHBpbmcgYXQgJXMiCittc2dzdHIgIuWklumDqCBkaWZmIOmboumWi++8jOWBnOatouWcqCAlcyIKKworIzogZGlmZi5jOjQ1NDcKK21zZ2lkICItLW5hbWUtb25seSwgLS1uYW1lLXN0YXR1cywgLS1jaGVjayBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1uYW1lLW9ubHnjgIEtLW5hbWUtc3RhdHVz44CBLS1jaGVjayDlkowgLXMg5piv5LqS5pal55qEIgorCisjOiBkaWZmLmM6NDU1MAorbXNnaWQgIi1HLCAtUyBhbmQgLS1maW5kLW9iamVjdCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItR+OAgS1TIOWSjCAtLWZpbmQtb2JqZWN0IOaYr+S6kuaWpeeahCIKKworIzogZGlmZi5jOjQ2MjgKK21zZ2lkICItLWZvbGxvdyByZXF1aXJlcyBleGFjdGx5IG9uZSBwYXRoc3BlYyIKK21zZ3N0ciAiLS1mb2xsb3cg5piO56K66KaB5rGC5Y+q6Lef5LiA5YCL6Lev5b6R6KaP5qC8IgorCisjOiBkaWZmLmM6NDY3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIC0tc3RhdCB2YWx1ZTogJXMiCittc2dzdHIgIueEoeaViOeahCAtLXN0YXQg5YC877yaJXMiCisKKyM6IGRpZmYuYzo0NjgxIGRpZmYuYzo0Njg2IGRpZmYuYzo0NjkxIGRpZmYuYzo0Njk2IGRpZmYuYzo1MjA5CisjOiBwYXJzZS1vcHRpb25zLmM6MTk5IHBhcnNlLW9wdGlvbnMuYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhwZWN0cyBhIG51bWVyaWNhbCB2YWx1ZSIKK21zZ3N0ciAiJXMg5pyf5pyb5LiA5YCL5pW45a2X5YC8IgorCisjOiBkaWZmLmM6NDcxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmFpbGVkIHRvIHBhcnNlIC0tZGlyc3RhdC8tWCBvcHRpb24gcGFyYW1ldGVyOlxuIgorIiVzIgorbXNnc3RyICIiCisi54Sh5rOV6Kej5p6QIC0tZGlyc3RhdC8tWCDpgbjpoIXnmoTlj4PmlbjvvJpcbiIKKyIlcyIKKworIzogZGlmZi5jOjQ3OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjaGFuZ2UgY2xhc3MgJyVjJyBpbiAtLWRpZmYtZmlsdGVyPSVzIgorbXNnc3RyICItLWRpZmYtZmlsdGVyPSUyJHMg5Lit5pyq55+l55qE6K6K5pu06aGeICclMSRjJyIKKworIzogZGlmZi5jOjQ4MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB2YWx1ZSBhZnRlciB3cy1lcnJvci1oaWdobGlnaHQ9JS4qcyIKK21zZ3N0ciAid3MtZXJyb3ItaGlnaGxpZ2h0PSUuKnMg5LmL5b6M5pyq55+l55qE5YC8IgorCisjOiBkaWZmLmM6NDgzNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICLkuI3og73op6PmnpAgJyVzJyIKKworIzogZGlmZi5jOjQ4ODYgZGlmZi5jOjQ4OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhwZWN0cyA8bj4vPG0+IGZvcm0iCittc2dzdHIgIiVzIOacn+acmyA8bj4vPG0+IOagvOW8jyIKKworIzogZGlmZi5jOjQ5MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhwZWN0cyBhIGNoYXJhY3RlciwgZ290ICclcyciCittc2dzdHIgIiVzIOacn+acm+S4gOWAi+Wtl+WFg++8jOW+l+WIsCAnJXMnIgorCisjOiBkaWZmLmM6NDkyNQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgLS1jb2xvci1tb3ZlZCBhcmd1bWVudDogJXMiCittc2dzdHIgIuWjnueahCAtLWNvbG9yLW1vdmVkIOWPg+aVuO+8miVzIgorCisjOiBkaWZmLmM6NDk0NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG1vZGUgJyVzJyBpbiAtLWNvbG9yLW1vdmVkLXdzIgorbXNnc3RyICItLWNvbG9yLW1vdmVkLXdzIOS4reeahOeEoeaViOaooeW8jyAnJXMnICIKKworIzogZGlmZi5jOjQ5ODQKK21zZ2lkICIiCisib3B0aW9uIGRpZmYtYWxnb3JpdGhtIGFjY2VwdHMgXCJteWVyc1wiLCBcIm1pbmltYWxcIiwgXCJwYXRpZW5jZVwiIGFuZCAiCisiXCJoaXN0b2dyYW1cIiIKK21zZ3N0ciAiZGlmZi1hbGdvcml0aG0g6YG46aCF5pyJIFwibXllcnNcIuOAgVwibWluaW1hbFwi44CBXCJwYXRpZW5jZVwiIOWSjCBcImhpc3RvZ3JhbVwiIgorCisjOiBkaWZmLmM6NTAyMCBkaWZmLmM6NTA0MAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvICVzIgorbXNnc3RyICIlcyDnmoTlj4PmlbjnhKHmlYgiCisKKyM6IGRpZmYuYzo1MTc4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXN1Ym1vZHVsZSBvcHRpb24gcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICLnhKHms5Xop6PmnpAgLS1zdWJtb2R1bGUg6YG46aCF55qE5Y+D5pW477yaJyVzJyIKKworIzogZGlmZi5jOjUyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIC0td29yZC1kaWZmIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5aOe55qEIC0td29yZC1kaWZmIOWPg+aVuO+8miVzIgorCisjOiBkaWZmLmM6NTI1NworbXNnaWQgIkRpZmYgb3V0cHV0IGZvcm1hdCBvcHRpb25zIgorbXNnc3RyICLlt67nlbDovLjlh7rmoLzlvI/ljJbpgbjpoIUiCisKKyM6IGRpZmYuYzo1MjU5IGRpZmYuYzo1MjY1Cittc2dpZCAiZ2VuZXJhdGUgcGF0Y2giCittc2dzdHIgIueUn+aIkOS/ruijnOaqlCIKKworIzogZGlmZi5jOjUyNjIgYnVpbHRpbi9sb2cuYzoxNzMKK21zZ2lkICJzdXBwcmVzcyBkaWZmIG91dHB1dCIKK21zZ3N0ciAi5LiN6aGv56S65beu55Ww6Ly45Ye6IgorCisjOiBkaWZmLmM6NTI2NyBkaWZmLmM6NTM4MSBkaWZmLmM6NTM4OAorbXNnaWQgIjxuPiIKK21zZ3N0ciAiPG4+IgorCisjOiBkaWZmLmM6NTI2OCBkaWZmLmM6NTI3MQorbXNnaWQgImdlbmVyYXRlIGRpZmZzIHdpdGggPG4+IGxpbmVzIGNvbnRleHQiCittc2dzdHIgIueUn+aIkOWQqyA8bj4g6KGM5LiK5LiL5paH55qE5beu55WwIgorCisjOiBkaWZmLmM6NTI3MworbXNnaWQgImdlbmVyYXRlIHRoZSBkaWZmIGluIHJhdyBmb3JtYXQiCittc2dzdHIgIueUn+aIkOWOn+Wni+agvOW8j+eahOW3rueVsCIKKworIzogZGlmZi5jOjUyNzYKK21zZ2lkICJzeW5vbnltIGZvciAnLXAgLS1yYXcnIgorbXNnc3RyICLlkowgJy1wIC0tcmF3JyDlkIznvqkiCisKKyM6IGRpZmYuYzo1MjgwCittc2dpZCAic3lub255bSBmb3IgJy1wIC0tc3RhdCciCittc2dzdHIgIuWSjCAnLXAgLS1zdGF0JyDlkIznvqkiCisKKyM6IGRpZmYuYzo1Mjg0Cittc2dpZCAibWFjaGluZSBmcmllbmRseSAtLXN0YXQiCittc2dzdHIgIuapn+WZqOWPi+WlveeahCAtLXN0YXQiCisKKyM6IGRpZmYuYzo1Mjg3Cittc2dpZCAib3V0cHV0IG9ubHkgdGhlIGxhc3QgbGluZSBvZiAtLXN0YXQiCittc2dzdHIgIuWPqui8uOWHuiAtLXN0YXQg55qE5pyA5b6M5LiA6KGMIgorCisjOiBkaWZmLmM6NTI4OSBkaWZmLmM6NTI5NworbXNnaWQgIjxwYXJhbTEscGFyYW0yPi4uLiIKK21zZ3N0ciAiPOWPg+aVuDEs5Y+D5pW4Mj4uLi4iCisKKyM6IGRpZmYuYzo1MjkwCittc2dpZCAiIgorIm91dHB1dCB0aGUgZGlzdHJpYnV0aW9uIG9mIHJlbGF0aXZlIGFtb3VudCBvZiBjaGFuZ2VzIGZvciBlYWNoIHN1Yi1kaXJlY3RvcnkiCittc2dzdHIgIui8uOWHuuavj+WAi+WtkOebrumMhOebuOWwjeiuiuabtOeahOWIhuW4gyIKKworIzogZGlmZi5jOjUyOTQKK21zZ2lkICJzeW5vbnltIGZvciAtLWRpcnN0YXQ9Y3VtdWxhdGl2ZSIKK21zZ3N0ciAi5ZKMIC0tZGlyc3RhdD1jdW11bGF0aXZlIOWQjOe+qSIKKworIzogZGlmZi5jOjUyOTgKK21zZ2lkICJzeW5vbnltIGZvciAtLWRpcnN0YXQ9ZmlsZXMscGFyYW0xLHBhcmFtMi4uLiIKK21zZ3N0ciAi5pivIC0tZGlyc3RhdD1maWxlcyxwYXJhbTEscGFyYW0yLi4uIOeahOWQjOe+qeipniIKKworIzogZGlmZi5jOjUzMDIKK21zZ2lkICJ3YXJuIGlmIGNoYW5nZXMgaW50cm9kdWNlIGNvbmZsaWN0IG1hcmtlcnMgb3Igd2hpdGVzcGFjZSBlcnJvcnMiCittc2dzdHIgIuWmguaenOiuiuabtOS4reW8leWFpeihneeqgeWumueVjOespuaIluepuueZvemMr+iqpO+8jOe1puWHuuitpuWRiiIKKworIzogZGlmZi5jOjUzMDUKK21zZ2lkICJjb25kZW5zZWQgc3VtbWFyeSBzdWNoIGFzIGNyZWF0aW9ucywgcmVuYW1lcyBhbmQgbW9kZSBjaGFuZ2VzIgorbXNnc3RyICLnsr7nsKHmkZjopoHvvIzkvovlpoLlu7rnq4vjgIHph43mlrDlkb3lkI3lkozmqKHlvI/orormm7QiCisKKyM6IGRpZmYuYzo1MzA4Cittc2dpZCAic2hvdyBvbmx5IG5hbWVzIG9mIGNoYW5nZWQgZmlsZXMiCittc2dzdHIgIuWPqumhr+ekuuiuiuabtOaqlOahiOeahOaqlOahiOWQjSIKKworIzogZGlmZi5jOjUzMTEKK21zZ2lkICJzaG93IG9ubHkgbmFtZXMgYW5kIHN0YXR1cyBvZiBjaGFuZ2VkIGZpbGVzIgorbXNnc3RyICLlj6rpoa/npLrorormm7TmqpTmoYjnmoTmqpTmoYjlkI3lkozni4DmhYsiCisKKyM6IGRpZmYuYzo1MzEzCittc2dpZCAiPHdpZHRoPlssPG5hbWUtd2lkdGg+Wyw8Y291bnQ+XV0iCittc2dzdHIgIjzlr6zluqY+Wyw85qqU5qGI5ZCN5a+s5bqmPlssPOasoeaVuD5dXSIKKworIzogZGlmZi5jOjUzMTQKK21zZ2lkICJnZW5lcmF0ZSBkaWZmc3RhdCIKK21zZ3N0ciAi55Sf5oiQ5beu55Ww57Wx6KiI77yIZGlmZnN0YXTvvIkiCisKKyM6IGRpZmYuYzo1MzE2IGRpZmYuYzo1MzE5IGRpZmYuYzo1MzIyCittc2dpZCAiPHdpZHRoPiIKK21zZ3N0ciAiPOWvrOW6pj4iCisKKyM6IGRpZmYuYzo1MzE3Cittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBhIGdpdmVuIHdpZHRoIgorbXNnc3RyICLkvb/nlKjmj5DkvpvnmoTplbfluqbnlJ/miJDlt67nlbDntbHoqIgiCisKKyM6IGRpZmYuYzo1MzIwCittc2dpZCAiZ2VuZXJhdGUgZGlmZnN0YXQgd2l0aCBhIGdpdmVuIG5hbWUgd2lkdGgiCittc2dzdHIgIuS9v+eUqOaPkOS+m+eahOaqlOahiOWQjemVt+W6pueUn+aIkOW3rueVsOe1seioiCIKKworIzogZGlmZi5jOjUzMjMKK21zZ2lkICJnZW5lcmF0ZSBkaWZmc3RhdCB3aXRoIGEgZ2l2ZW4gZ3JhcGggd2lkdGgiCittc2dzdHIgIuS9v+eUqOaPkOS+m+eahOWcluW9oumVt+W6pueUn+aIkOW3rueVsOe1seioiCIKKworIzogZGlmZi5jOjUzMjUKK21zZ2lkICI8Y291bnQ+IgorbXNnc3RyICI85qyh5pW4PiIKKworIzogZGlmZi5jOjUzMjYKK21zZ2lkICJnZW5lcmF0ZSBkaWZmc3RhdCB3aXRoIGxpbWl0ZWQgbGluZXMiCittc2dzdHIgIueUn+aIkOaciemZkOihjOaVuOeahOW3rueVsOe1seioiCIKKworIzogZGlmZi5jOjUzMjkKK21zZ2lkICJnZW5lcmF0ZSBjb21wYWN0IHN1bW1hcnkgaW4gZGlmZnN0YXQiCittc2dzdHIgIueUn+aIkOW3rueVsOe1seioiOeahOewoea9lOaRmOimgSIKKworIzogZGlmZi5jOjUzMzIKK21zZ2lkICJvdXRwdXQgYSBiaW5hcnkgZGlmZiB0aGF0IGNhbiBiZSBhcHBsaWVkIgorbXNnc3RyICLovLjlh7rkuIDlgIvlj6/ku6Xmh4nnlKjnmoTkuozpgLLkvY3lt67nlbAiCisKKyM6IGRpZmYuYzo1MzM1Cittc2dpZCAic2hvdyBmdWxsIHByZS0gYW5kIHBvc3QtaW1hZ2Ugb2JqZWN0IG5hbWVzIG9uIHRoZSBcImluZGV4XCIgbGluZXMiCittc2dzdHIgIuWcqCBcImluZGV4XCIg6KGM6aGv56S65a6M5pW055qE5YmN5b6M54mp5Lu25ZCN56ixIgorCisjOiBkaWZmLmM6NTMzNworbXNnaWQgInNob3cgY29sb3JlZCBkaWZmIgorbXNnc3RyICLpoa/npLrluLbpoY/oibLnmoTlt67nlbAiCisKKyM6IGRpZmYuYzo1MzM4Cittc2dpZCAiPGtpbmQ+IgorbXNnc3RyICI86aGe5Z6LPiIKKworIzogZGlmZi5jOjUzMzkKK21zZ2lkICIiCisiaGlnaGxpZ2h0IHdoaXRlc3BhY2UgZXJyb3JzIGluIHRoZSAnY29udGV4dCcsICdvbGQnIG9yICduZXcnIGxpbmVzIGluIHRoZSAiCisiZGlmZiIKK21zZ3N0ciAi5bCN5pa85beu55Ww5Lit55qE5LiK5LiL5paH44CB6IiK55qE5ZKM5paw55qE6KGM77yM5Yqg5Lqu6aGv56S66Yyv6Kqk55qE56m655m95a2X5YWDIgorCisjOiBkaWZmLmM6NTM0MgorbXNnaWQgIiIKKyJkbyBub3QgbXVuZ2UgcGF0aG5hbWVzIGFuZCB1c2UgTlVMcyBhcyBvdXRwdXQgZmllbGQgdGVybWluYXRvcnMgaW4gLS1yYXcgb3IgIgorIi0tbnVtc3RhdCIKK21zZ3N0ciAiIgorIuWcqCAtLXJhdyDmiJbogIUgLS1udW1zdGF0IOS4re+8jOS4jeWwjei3r+W+keWtl+WFg+i9ieaqlOS4puS9v+eUqCBOVUwg5a2X5YWD5YGa54K66Ly45Ye65qyE5L2N55qE5YiG6ZqUIgorIuespiIKKworIzogZGlmZi5jOjUzNDUgZGlmZi5jOjUzNDggZGlmZi5jOjUzNTEgZGlmZi5jOjU0NTcKK21zZ2lkICI8cHJlZml4PiIKK21zZ3N0ciAiPOWJjee2tD4iCisKKyM6IGRpZmYuYzo1MzQ2Cittc2dpZCAic2hvdyB0aGUgZ2l2ZW4gc291cmNlIHByZWZpeCBpbnN0ZWFkIG9mIFwiYS9cIiIKK21zZ3N0ciAi6aGv56S65o+Q5L6b55qE5rqQ5YmN57a05Y+W5LujIFwiYS9cIiIKKworIzogZGlmZi5jOjUzNDkKK21zZ2lkICJzaG93IHRoZSBnaXZlbiBkZXN0aW5hdGlvbiBwcmVmaXggaW5zdGVhZCBvZiBcImIvXCIiCittc2dzdHIgIumhr+ekuuaPkOS+m+eahOebruaomeWJjee2tOWPluS7oyBcImIvXCIiCisKKyM6IGRpZmYuYzo1MzUyCittc2dpZCAicHJlcGVuZCBhbiBhZGRpdGlvbmFsIHByZWZpeCB0byBldmVyeSBsaW5lIG9mIG91dHB1dCIKK21zZ3N0ciAi6Ly45Ye655qE5q+P5LiA6KGM6ZmE5Yqg5YmN57a0IgorCisjOiBkaWZmLmM6NTM1NQorbXNnaWQgImRvIG5vdCBzaG93IGFueSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gcHJlZml4IgorbXNnc3RyICLkuI3poa/npLrku7vkvZXmupDlkoznm67mqJnliY3ntrQiCisKKyM6IGRpZmYuYzo1MzU4Cittc2dpZCAic2hvdyBjb250ZXh0IGJldHdlZW4gZGlmZiBodW5rcyB1cCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBsaW5lcyIKK21zZ3N0ciAi6aGv56S65oyH5a6a6KGM5pW455qE5beu55Ww5Y2A5aGK6ZaT55qE5LiK5LiL5paHIgorCisjOiBkaWZmLmM6NTM2MiBkaWZmLmM6NTM2NyBkaWZmLmM6NTM3MgorbXNnaWQgIjxjaGFyPiIKK21zZ3N0ciAiPOWtl+WFgz4iCisKKyM6IGRpZmYuYzo1MzYzCittc2dpZCAic3BlY2lmeSB0aGUgY2hhcmFjdGVyIHRvIGluZGljYXRlIGEgbmV3IGxpbmUgaW5zdGVhZCBvZiAnKyciCittc2dzdHIgIuaMh+WumuS4gOWAi+Wtl+WFg+WPluS7oyAnKycg5L6G6KGo56S65paw55qE5LiA6KGMIgorCisjOiBkaWZmLmM6NTM2OAorbXNnaWQgInNwZWNpZnkgdGhlIGNoYXJhY3RlciB0byBpbmRpY2F0ZSBhbiBvbGQgbGluZSBpbnN0ZWFkIG9mICctJyIKK21zZ3N0ciAi5oyH5a6a5LiA5YCL5a2X5YWD5Y+W5LujICctJyDkvobooajnpLroiIrnmoTkuIDooYwiCisKKyM6IGRpZmYuYzo1MzczCittc2dpZCAic3BlY2lmeSB0aGUgY2hhcmFjdGVyIHRvIGluZGljYXRlIGEgY29udGV4dCBpbnN0ZWFkIG9mICcgJyIKK21zZ3N0ciAi5oyH5a6a5LiA5YCL5a2X5YWD5Y+W5LujICcgJyDkvobooajnpLrkuIDooYzkuIrkuIvmlociCisKKyM6IGRpZmYuYzo1Mzc2Cittc2dpZCAiRGlmZiByZW5hbWUgb3B0aW9ucyIKK21zZ3N0ciAi5beu55Ww6YeN5paw5ZG95ZCN6YG46aCFIgorCisjOiBkaWZmLmM6NTM3NworbXNnaWQgIjxuPlsvPG0+XSIKK21zZ3N0ciAiPG4+Wy88bT5dIgorCisjOiBkaWZmLmM6NTM3OAorbXNnaWQgImJyZWFrIGNvbXBsZXRlIHJld3JpdGUgY2hhbmdlcyBpbnRvIHBhaXJzIG9mIGRlbGV0ZSBhbmQgY3JlYXRlIgorbXNnc3RyICLlsIflrozlhajph43lr6vnmoTorormm7TmiZPnoLTngrrmiJDlsI3nmoTliKrpmaTlkozlu7rnq4siCisKKyM6IGRpZmYuYzo1MzgyCittc2dpZCAiZGV0ZWN0IHJlbmFtZXMiCittc2dzdHIgIuaqoua4rOmHjeaWsOWRveWQjSIKKworIzogZGlmZi5jOjUzODYKK21zZ2lkICJvbWl0IHRoZSBwcmVpbWFnZSBmb3IgZGVsZXRlcyIKK21zZ3N0ciAi55yB55Wl5Yiq6Zmk5YuV5L2c55qE5beu55Ww6Ly45Ye6IgorCisjOiBkaWZmLmM6NTM4OQorbXNnaWQgImRldGVjdCBjb3BpZXMiCittc2dzdHIgIuaqoua4rOikh+ijvSIKKworIzogZGlmZi5jOjUzOTMKK21zZ2lkICJ1c2UgdW5tb2RpZmllZCBmaWxlcyBhcyBzb3VyY2UgdG8gZmluZCBjb3BpZXMiCittc2dzdHIgIuS9v+eUqOacquS/ruaUueeahOaqlOahiOWBmueCuueZvOePvuikh+ijveeahOa6kCIKKworIzogZGlmZi5jOjUzOTUKK21zZ2lkICJkaXNhYmxlIHJlbmFtZSBkZXRlY3Rpb24iCittc2dzdHIgIuemgeeUqOmHjeaWsOWRveWQjeWBtea4rCIKKworIzogZGlmZi5jOjUzOTgKK21zZ2lkICJ1c2UgZW1wdHkgYmxvYnMgYXMgcmVuYW1lIHNvdXJjZSIKK21zZ3N0ciAi5L2/55So56m655qE6LOH5paZ54mp5Lu25YGa54K66YeN5paw5ZG95ZCN55qE5rqQIgorCisjOiBkaWZmLmM6NTQwMAorbXNnaWQgImNvbnRpbnVlIGxpc3RpbmcgdGhlIGhpc3Rvcnkgb2YgYSBmaWxlIGJleW9uZCByZW5hbWVzIgorbXNnc3RyICLnubznuozliJflh7rmqpTmoYjph43mlrDlkb3lkI3ku6XlpJbnmoTmrbflj7LoqJjpjIQiCisKKyM6IGRpZmYuYzo1NDAzCittc2dpZCAiIgorInByZXZlbnQgcmVuYW1lL2NvcHkgZGV0ZWN0aW9uIGlmIHRoZSBudW1iZXIgb2YgcmVuYW1lL2NvcHkgdGFyZ2V0cyBleGNlZWRzICIKKyJnaXZlbiBsaW1pdCIKK21zZ3N0ciAi5aaC5p6c6YeN5paw5ZG95ZCNL+ikh+ijveebruaomei2hemBjuaPkOS+m+eahOmZkOWItu+8jOemgeatoumHjeaWsOWRveWQjS/opIfoo73mqqLmuKwiCisKKyM6IGRpZmYuYzo1NDA1Cittc2dpZCAiRGlmZiBhbGdvcml0aG0gb3B0aW9ucyIKK21zZ3N0ciAi5beu55Ww5ryU566X5rOV6YG46aCFIgorCisjOiBkaWZmLmM6NTQwNworbXNnaWQgInByb2R1Y2UgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIGRpZmYiCittc2dzdHIgIueUn+aIkOWEmOWPr+iDveWwj+eahOW3rueVsCIKKworIzogZGlmZi5jOjU0MTAKK21zZ2lkICJpZ25vcmUgd2hpdGVzcGFjZSB3aGVuIGNvbXBhcmluZyBsaW5lcyIKK21zZ3N0ciAi6KGM5q+U6LyD5pmC5b+955Wl56m655m95a2X5YWDIgorCisjOiBkaWZmLmM6NTQxMworbXNnaWQgImlnbm9yZSBjaGFuZ2VzIGluIGFtb3VudCBvZiB3aGl0ZXNwYWNlIgorbXNnc3RyICLlv73nlaXnqbrnmb3lrZflhYPnmoTorormm7QiCisKKyM6IGRpZmYuYzo1NDE2Cittc2dpZCAiaWdub3JlIGNoYW5nZXMgaW4gd2hpdGVzcGFjZSBhdCBFT0wiCittc2dzdHIgIuW/veeVpeihjOWwvueahOepuueZveWtl+WFg+iuiuabtCIKKworIzogZGlmZi5jOjU0MTkKK21zZ2lkICJpZ25vcmUgY2Fycmllci1yZXR1cm4gYXQgdGhlIGVuZCBvZiBsaW5lIgorbXNnc3RyICLlv73nlaXooYzlsL7nmoRFbnRlcuespu+8iENS77yJIgorCisjOiBkaWZmLmM6NTQyMgorbXNnaWQgImlnbm9yZSBjaGFuZ2VzIHdob3NlIGxpbmVzIGFyZSBhbGwgYmxhbmsiCittc2dzdHIgIuW/veeVpeaVtOihjOmDveaYr+epuueZveeahOiuiuabtCIKKworIzogZGlmZi5jOjU0MjUKK21zZ2lkICJoZXVyaXN0aWMgdG8gc2hpZnQgZGlmZiBodW5rIGJvdW5kYXJpZXMgZm9yIGVhc3kgcmVhZGluZyIKK21zZ3N0ciAi5ZWf55m85byP6L2J5o+b5beu55Ww6YKK55WM5Lul5L6/6Zax6K6AIgorCisjOiBkaWZmLmM6NTQyOAorbXNnaWQgImdlbmVyYXRlIGRpZmYgdXNpbmcgdGhlIFwicGF0aWVuY2UgZGlmZlwiIGFsZ29yaXRobSIKK21zZ3N0ciAi5L2/55SoIFwicGF0aWVuY2UgZGlmZlwiIOa8lOeul+azleeUn+aIkOW3rueVsCIKKworIzogZGlmZi5jOjU0MzIKK21zZ2lkICJnZW5lcmF0ZSBkaWZmIHVzaW5nIHRoZSBcImhpc3RvZ3JhbSBkaWZmXCIgYWxnb3JpdGhtIgorbXNnc3RyICLkvb/nlKggXCJoaXN0b2dyYW0gZGlmZlwiIOa8lOeul+azleeUn+aIkOW3rueVsCIKKworIzogZGlmZi5jOjU0MzQKK21zZ2lkICI8YWxnb3JpdGhtPiIKK21zZ3N0ciAiPOa8lOeul+azlT4iCisKKyM6IGRpZmYuYzo1NDM1Cittc2dpZCAiY2hvb3NlIGEgZGlmZiBhbGdvcml0aG0iCittc2dzdHIgIumBuOaTh+S4gOWAi+W3rueVsOa8lOeul+azlSIKKworIzogZGlmZi5jOjU0MzcKK21zZ2lkICI8dGV4dD4iCittc2dzdHIgIjzmloflrZc+IgorCisjOiBkaWZmLmM6NTQzOAorbXNnaWQgImdlbmVyYXRlIGRpZmYgdXNpbmcgdGhlIFwiYW5jaG9yZWQgZGlmZlwiIGFsZ29yaXRobSIKK21zZ3N0ciAi5L2/55SoIFwiYW5jaG9yZWQgZGlmZlwiIOa8lOeul+azleeUn+aIkOW3rueVsCIKKworIzogZGlmZi5jOjU0NDAgZGlmZi5jOjU0NDkgZGlmZi5jOjU0NTIKK21zZ2lkICI8bW9kZT4iCittc2dzdHIgIjzmqKHlvI8+IgorCisjOiBkaWZmLmM6NTQ0MQorbXNnaWQgInNob3cgd29yZCBkaWZmLCB1c2luZyA8bW9kZT4gdG8gZGVsaW1pdCBjaGFuZ2VkIHdvcmRzIgorbXNnc3RyICLpoa/npLrllq7oqZ7lt67nlbDvvIzkvb/nlKggPOaooeW8jz4g5YiG6ZqU6K6K5pu055qE5Zau6KmeIgorCisjOiBkaWZmLmM6NTQ0MyBkaWZmLmM6NTQ0NiBkaWZmLmM6NTQ5MQorbXNnaWQgIjxyZWdleD4iCittc2dzdHIgIjzmraPliYc+IgorCisjOiBkaWZmLmM6NTQ0NAorbXNnaWQgInVzZSA8cmVnZXg+IHRvIGRlY2lkZSB3aGF0IGEgd29yZCBpcyIKK21zZ3N0ciAi5L2/55SoIDzmraPopo/ooajnpLrlvI8+IOeiuuWumuS9leeCuuS4gOWAi+ipniIKKworIzogZGlmZi5jOjU0NDcKK21zZ2lkICJlcXVpdmFsZW50IHRvIC0td29yZC1kaWZmPWNvbG9yIC0td29yZC1kaWZmLXJlZ2V4PTxyZWdleD4iCittc2dzdHIgIuebuOeVtuaWvCAtLXdvcmQtZGlmZj1jb2xvciAtLXdvcmQtZGlmZi1yZWdleD085q2j5YmHPiIKKworIzogZGlmZi5jOjU0NTAKK21zZ2lkICJtb3ZlZCBsaW5lcyBvZiBjb2RlIGFyZSBjb2xvcmVkIGRpZmZlcmVudGx5IgorbXNnc3RyICLnp7vli5XnmoTnqIvlvI/norzooYznlKjkuI3lkIzmlrnlvI/okZfoibIiCisKKyM6IGRpZmYuYzo1NDUzCittc2dpZCAiaG93IHdoaXRlIHNwYWNlcyBhcmUgaWdub3JlZCBpbiAtLWNvbG9yLW1vdmVkIgorbXNnc3RyICLlnKggLS1jb2xvci1tb3ZlZCDkuIvlpoLkvZXlv73nlaXnqbrnmb3lrZflhYMiCisKKyM6IGRpZmYuYzo1NDU2Cittc2dpZCAiT3RoZXIgZGlmZiBvcHRpb25zIgorbXNnc3RyICLlhbblroPlt67nlbDpgbjpoIUiCisKKyM6IGRpZmYuYzo1NDU4Cittc2dpZCAid2hlbiBydW4gZnJvbSBzdWJkaXIsIGV4Y2x1ZGUgY2hhbmdlcyBvdXRzaWRlIGFuZCBzaG93IHJlbGF0aXZlIHBhdGhzIgorbXNnc3RyICLnlbblvp7lrZDnm67pjITln7fooYzvvIzmjpLpmaTnm67pjITkuYvlpJbnmoTorormm7TkuKbpoa/npLrnm7jlsI3ot6/lvpEiCisKKyM6IGRpZmYuYzo1NDYyCittc2dpZCAidHJlYXQgYWxsIGZpbGVzIGFzIHRleHQiCittc2dzdHIgIuaKiuaJgOacieaqlOahiOeVtuWBmuaWh+Wtl+iZleeQhiIKKworIzogZGlmZi5jOjU0NjQKK21zZ2lkICJzd2FwIHR3byBpbnB1dHMsIHJldmVyc2UgdGhlIGRpZmYiCittc2dzdHIgIuS6pOaPm+WFqeWAi+i8uOWFpe+8jOWPjei9ieW3rueVsCIKKworIzogZGlmZi5jOjU0NjYKK21zZ2lkICJleGl0IHdpdGggMSBpZiB0aGVyZSB3ZXJlIGRpZmZlcmVuY2VzLCAwIG90aGVyd2lzZSIKK21zZ3N0ciAi5pyJ5beu55Ww5pmC6Zui6ZaL56K854K6IDHvvIzlkKbliYfngrogMCIKKworIzogZGlmZi5jOjU0NjgKK21zZ2lkICJkaXNhYmxlIGFsbCBvdXRwdXQgb2YgdGhlIHByb2dyYW0iCittc2dzdHIgIuemgeeUqOacrOeoi+W8j+eahOaJgOaciei8uOWHuiIKKworIzogZGlmZi5jOjU0NzAKK21zZ2lkICJhbGxvdyBhbiBleHRlcm5hbCBkaWZmIGhlbHBlciB0byBiZSBleGVjdXRlZCIKK21zZ3N0ciAi5YWB6Kix5Z+36KGM5LiA5YCL5aSW6YOo55qE5beu55Ww5Yqp5omLIgorCisjOiBkaWZmLmM6NTQ3MgorbXNnaWQgInJ1biBleHRlcm5hbCB0ZXh0IGNvbnZlcnNpb24gZmlsdGVycyB3aGVuIGNvbXBhcmluZyBiaW5hcnkgZmlsZXMiCittc2dzdHIgIueVtuavlOi8g+S6jOmAsuS9jeaqlOahiOaZgu+8jOWft+ihjOWklumDqOeahOaWh+Wtl+i9ieaPm+mBjua/vuWZqCIKKworIzogZGlmZi5jOjU0NzQKK21zZ2lkICI8d2hlbj4iCittc2dzdHIgIjzkvZXmmYI+IgorCisjOiBkaWZmLmM6NTQ3NQorbXNnaWQgImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMgaW4gdGhlIGRpZmYgZ2VuZXJhdGlvbiIKK21zZ3N0ciAi5Zyo55Sf5oiQ5beu55Ww5pmC77yM5b+955Wl5a2Q5qih57WE55qE5pu05pS5IgorCisjOiBkaWZmLmM6NTQ3OAorbXNnaWQgIjxmb3JtYXQ+IgorbXNnc3RyICI85qC85byPPiIKKworIzogZGlmZi5jOjU0NzkKK21zZ2lkICJzcGVjaWZ5IGhvdyBkaWZmZXJlbmNlcyBpbiBzdWJtb2R1bGVzIGFyZSBzaG93biIKK21zZ3N0ciAi5oyH5a6a5a2Q5qih57WE55qE5beu55Ww5aaC5L2V6aGv56S6IgorCisjOiBkaWZmLmM6NTQ4MworbXNnaWQgImhpZGUgJ2dpdCBhZGQgLU4nIGVudHJpZXMgZnJvbSB0aGUgaW5kZXgiCittc2dzdHIgIumaseiXj+e0ouW8leS4rSAnZ2l0IGFkZCAtTicg5qKd55uuIgorCisjOiBkaWZmLmM6NTQ4NgorbXNnaWQgInRyZWF0ICdnaXQgYWRkIC1OJyBlbnRyaWVzIGFzIHJlYWwgaW4gdGhlIGluZGV4IgorbXNnc3RyICLlsIfntKLlvJXkuK0gJ2dpdCBhZGQgLU4nIOaineebrueVtuWBmuecn+WvpueahCIKKworIzogZGlmZi5jOjU0ODgKK21zZ2lkICI8c3RyaW5nPiIKK21zZ3N0ciAiPOWtl+S4sj4iCisKKyM6IGRpZmYuYzo1NDg5Cittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisic3RyaW5nIgorbXNnc3RyICLlsIvmib7mlLnororkuobmjIflrprlrZfkuLLlh7rnj77mrKHmlbjnmoTlt67nlbAiCisKKyM6IGRpZmYuYzo1NDkyCittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisicmVnZXgiCittc2dzdHIgIuWwi+aJvuaUueiuiuaMh+Wumuato+WJh+espuWQiOWHuuePvuasoeaVuOeahOW3rueVsCIKKworIzogZGlmZi5jOjU0OTUKK21zZ2lkICJzaG93IGFsbCBjaGFuZ2VzIGluIHRoZSBjaGFuZ2VzZXQgd2l0aCAtUyBvciAtRyIKK21zZ3N0ciAi6aGv56S65L2/55SoIC1TIOaIliAtRyDnmoTorormm7Tpm4bnmoTmiYDmnInorormm7QiCisKKyM6IGRpZmYuYzo1NDk4Cittc2dpZCAidHJlYXQgPHN0cmluZz4gaW4gLVMgYXMgZXh0ZW5kZWQgUE9TSVggcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICLlsIcgLVMg55qEIDxzdHJpbmc+IOeVtuWBmuaTtOWxleeahCBQT1NJWCDmraPopo/ooajnpLrlvI8iCisKKyM6IGRpZmYuYzo1NTAxCittc2dpZCAiY29udHJvbCB0aGUgb3JkZXIgaW4gd2hpY2ggZmlsZXMgYXBwZWFyIGluIHRoZSBvdXRwdXQiCittc2dzdHIgIuaOp+WItui8uOWHuuS4reeahOaqlOahiOmhr+ekuumghuW6jyIKKworIzogZGlmZi5jOjU1MDIKK21zZ2lkICI8b2JqZWN0LWlkPiIKK21zZ3N0ciAiPOeJqeS7tiBJRD4iCisKKyM6IGRpZmYuYzo1NTAzCittc2dpZCAiIgorImxvb2sgZm9yIGRpZmZlcmVuY2VzIHRoYXQgY2hhbmdlIHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2YgdGhlIHNwZWNpZmllZCAiCisib2JqZWN0IgorbXNnc3RyICLlsIvmib7mlLnorormjIflrprnianku7blh7rnj77mrKHmlbjnmoTlt67nlbAiCisKKyM6IGRpZmYuYzo1NTA1Cittc2dpZCAiWyhBfEN8RHxNfFJ8VHxVfFh8QikuLi5bKl1dIgorbXNnc3RyICJbKEF8Q3xEfE18UnxUfFV8WHxCKS4uLlsqXV0iCisKKyM6IGRpZmYuYzo1NTA2Cittc2dpZCAic2VsZWN0IGZpbGVzIGJ5IGRpZmYgdHlwZSIKK21zZ3N0ciAi6YCP6YGO5beu55Ww6aGe5Z6L6YG45pOH5qqU5qGIIgorCisjOiBkaWZmLmM6NTUwOAorbXNnaWQgIjxmaWxlPiIKK21zZ3N0ciAiPOaqlOahiD4iCisKKyM6IGRpZmYuYzo1NTA5Cittc2dpZCAiT3V0cHV0IHRvIGEgc3BlY2lmaWMgZmlsZSIKK21zZ3N0ciAi6Ly45Ye65Yiw5LiA5YCL5oyH5a6a55qE5qqU5qGIIgorCisjOiBkaWZmLmM6NjE2NAorbXNnaWQgImluZXhhY3QgcmVuYW1lIGRldGVjdGlvbiB3YXMgc2tpcHBlZCBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgorbXNnc3RyICLlm6DngrrmqpTmoYjlpKrlpJrvvIznlaXpgY7kuI3lmrTmoLznmoTph43mlrDlkb3lkI3mqqLmn6XjgIIiCisKKyM6IGRpZmYuYzo2MTY3Cittc2dpZCAib25seSBmb3VuZCBjb3BpZXMgZnJvbSBtb2RpZmllZCBwYXRocyBkdWUgdG8gdG9vIG1hbnkgZmlsZXMuIgorbXNnc3RyICLlm6DngrrmqpTmoYjlpKrlpJrvvIzlj6rlnKjkv67mlLnnmoTot6/lvpHkuK3lsIvmib7opIfoo73jgIIiCisKKyM6IGRpZmYuYzo2MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ5b3UgbWF5IHdhbnQgdG8gc2V0IHlvdXIgJXMgdmFyaWFibGUgdG8gYXQgbGVhc3QgJWQgYW5kIHJldHJ5IHRoZSBjb21tYW5kLiIKK21zZ3N0ciAi5oKo5Y+v6IO95oOz6KaB5bCH6K6K5pW4ICVzIOioreWumueCuuiHs+WwkSAlZCDkuKblho3mrKHln7fooYzmraTmjIfku6TjgIIiCisKKyM6IGRpci5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoc3BlYyAnJXMnIGRpZCBub3QgbWF0Y2ggYW55IGZpbGUocykga25vd24gdG8gZ2l0IgorbXNnc3RyICLot6/lvpHopo/moLwgJyVzJyDmnKrnrKblkIjku7vkvZUgZ2l0IOW3suefpeaqlOahiCIKKworIzogZGlyLmM6NjY0CisjLCBjLWZvcm1hdAorI3wgbXNnaWQgInVucmVjb2duaXplZCBvcHRpb246ICclcyciCittc2dpZCAidW5yZWNvZ25pemVkIHBhdHRlcm46ICclcyciCittc2dzdHIgIueEoeazleitmOWIpeaoo+W8j++8muOAjCVz44CNIgorCisjOiBkaXIuYzo2ODIgZGlyLmM6Njk2CisjLCBjLWZvcm1hdAorI3wgbXNnaWQgInVucmVjb2duaXplZCBvcHRpb246ICclcyciCittc2dpZCAidW5yZWNvZ25pemVkIG5lZ2F0aXZlIHBhdHRlcm46ICclcyciCittc2dzdHIgIueEoeazleitmOWIpeWPjeWQkeaooeW8j++8muOAjCVz44CNIgorCisjOiBkaXIuYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBzcGFyc2UtY2hlY2tvdXQgZmlsZSBtYXkgaGF2ZSBpc3N1ZXM6IHBhdHRlcm4gJyVzJyBpcyByZXBlYXRlZCIKK21zZ3N0ciAi5oKo55qE56iA55aP57C95Ye65qqU5qGI5Y+v6IO95pyJ5ZWP6aGM77ya44CMJXPjgI3mqKPlvI/ph43opIciCisKKyM6IGRpci5jOjcyNAorbXNnaWQgImRpc2FibGluZyBjb25lIHBhdHRlcm4gbWF0Y2hpbmciCittc2dzdHIgIuWBnOeUqCBjb25lIOaoo+W8j+espuWQiOaooeW8jyIKKworIzogZGlyLmM6MTEwMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdXNlICVzIGFzIGFuIGV4Y2x1ZGUgZmlsZSIKK21zZ3N0ciAi5LiN6IO95bCHICVzIOeUqOS9nOaOkumZpOaqlOahiCIKKworIzogZGlyLmM6MjA3OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgb3BlbiBkaXJlY3RvcnkgJyVzJyIKK21zZ3N0ciAi5LiN6IO96ZaL5ZWf55uu6YyEICclcyciCisKKyM6IGRpci5jOjI0MTUKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGtlcm5lbCBuYW1lIGFuZCBpbmZvcm1hdGlvbiIKK21zZ3N0ciAi54Sh5rOV542y5b6X5qC45b+D5ZCN56ix5ZKM6KiK5oGvIgorCisjOiBkaXIuYzoyNTM5Cittc2dpZCAidW50cmFja2VkIGNhY2hlIGlzIGRpc2FibGVkIG9uIHRoaXMgc3lzdGVtIG9yIGxvY2F0aW9uIgorbXNnc3RyICLlv6vlj5bmnKrov73ouaTmqpTmoYjlnKjmnKzns7vntbHmiJbkvY3nva7kuK3ooqvnpoHnlKgiCisKKyM6IGRpci5jOjMzNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5kZXggZmlsZSBjb3JydXB0IGluIHJlcG8gJXMiCittc2dzdHIgIueJiOacrOW6qyAlcyDkuK3nmoTntKLlvJXmqpTmoYjmkI3lo54iCisKKyM6IGRpci5jOjMzODggZGlyLmM6MzM5MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yaWVzIGZvciAlcyIKK21zZ3N0ciAi5LiN6IO954K6ICVzIOW7uueri+ebrumMhCIKKworIzogZGlyLmM6MzQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgbWlncmF0ZSBnaXQgZGlyZWN0b3J5IGZyb20gJyVzJyB0byAnJXMnIgorbXNnc3RyICLkuI3og73lvp4gJyVzJyDpgbfnp7sgZ2l0IOebrumMhOWIsCAnJXMnIgorCisjOiBlZGl0b3IuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJoaW50OiBXYWl0aW5nIGZvciB5b3VyIGVkaXRvciB0byBjbG9zZSB0aGUgZmlsZS4uLiVjIgorbXNnc3RyICLmj5DnpLrvvJrnrYnlvoXmgqjnmoTnt6jovK/lmajpl5zplonmqpTmoYguLi4lYyIKKworIzogZW50cnkuYzoxNzgKK21zZ2lkICJGaWx0ZXJpbmcgY29udGVudCIKK21zZ3N0ciAi6YGO5r++5YWn5a65IgorCisjOiBlbnRyeS5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc3RhdCBmaWxlICclcyciCittc2dzdHIgIuS4jeiDveWwjeaqlOahiCAnJXMnIOWRvOWPqyBzdGF0IgorCisjOiBlbnZpcm9ubWVudC5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgZ2l0IG5hbWVzcGFjZSBwYXRoIFwiJXNcIiIKK21zZ3N0ciAi6Yyv6Kqk55qEIGdpdCDlkI3lrZfnqbrplpPot6/lvpEgXCIlc1wiIgorCisjOiBlbnZpcm9ubWVudC5jOjMzMQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgc2V0IEdJVF9ESVIgdG8gJyVzJyIKK21zZ3N0ciAi5LiN6IO96Kit5a6aIEdJVF9ESVIg54K6ICclcyciCisKKyM6IGV4ZWMtY21kLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGFyZ3MgdG8gcnVuICVzIgorbXNnc3RyICLln7fooYwgJXMg55qE5Y+D5pW45aSq5aSaIgorCisjOiBmZXRjaC1wYWNrLmM6MTUwCittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGV4cGVjdGVkIHNoYWxsb3cgbGlzdCIKK21zZ3N0ciAiZ2l0IGZldGNoLXBhY2vvvJrmh4nngrogc2hhbGxvdyDliJfooagiCisKKyM6IGZldGNoLXBhY2suYzoxNTMKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgYSBmbHVzaCBwYWNrZXQgYWZ0ZXIgc2hhbGxvdyBsaXN0IgorbXNnc3RyICJnaXQgZmV0Y2gtcGFja++8muWcqOa3uuikh+ijveWIl+ihqOS5i+W+jOacn+acm+S4gOWAiyBmbHVzaCDljIUiCisKKyM6IGZldGNoLXBhY2suYzoxNjQKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290IGEgZmx1c2ggcGFja2V0IgorbXNnc3RyICJnaXQgZmV0Y2gtcGFja++8muacn+acmyBBQ0svTkFL77yM5Y275b6X5YiwIGZsdXNoIOWMhSIKKworIzogZmV0Y2gtcGFjay5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgZmV0Y2gtcGFjazogZXhwZWN0ZWQgQUNLL05BSywgZ290ICclcyciCittc2dzdHIgImdpdCBmZXRjaC1wYWNr77ya5oeJ54K6IEFDSy9OQUvvvIzljbvlvpfliLAgJyVzJyIKKworIzogZmV0Y2gtcGFjay5jOjE5NQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0byByZW1vdGUiCittc2dzdHIgIueEoeazleWvq+WIsOmBoOerryIKKworIzogZmV0Y2gtcGFjay5jOjI1NworbXNnaWQgIi0tc3RhdGVsZXNzLXJwYyByZXF1aXJlcyBtdWx0aV9hY2tfZGV0YWlsZWQiCittc2dzdHIgIi0tc3RhdGVsZXNzLXJwYyDpnIDopoEgbXVsdGlfYWNrX2RldGFpbGVkIgorCisjOiBmZXRjaC1wYWNrLmM6MzU2IGZldGNoLXBhY2suYzoxMzQwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2hhbGxvdyBsaW5lOiAlcyIKK21zZ3N0ciAi54Sh5pWI55qEIHNoYWxsb3cg6KiK5oGv77yaJXMiCisKKyM6IGZldGNoLXBhY2suYzozNjIgZmV0Y2gtcGFjay5jOjEzNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB1bnNoYWxsb3cgbGluZTogJXMiCittc2dzdHIgIueEoeaViOeahCB1bnNoYWxsb3cg6KiK5oGv77yaJXMiCisKKyM6IGZldGNoLXBhY2suYzozNjQgZmV0Y2gtcGFjay5jOjEzNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0IG5vdCBmb3VuZDogJXMiCittc2dzdHIgIueJqeS7tuacquaJvuWIsO+8miVzIgorCisjOiBmZXRjaC1wYWNrLmM6MzY3IGZldGNoLXBhY2suYzoxMzUxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGluIG9iamVjdDogJXMiCittc2dzdHIgIueJqeS7tuS4reeZvOeUn+mMr+iqpO+8miVzIgorCisjOiBmZXRjaC1wYWNrLmM6MzY5IGZldGNoLXBhY2suYzoxMzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHNoYWxsb3cgZm91bmQ6ICVzIgorbXNnc3RyICLmnKrnmbznj74gc2hhbGxvd++8miVzIgorCisjOiBmZXRjaC1wYWNrLmM6MzcyIGZldGNoLXBhY2suYzoxMzU3CisjLCBjLWZvcm1hdAorbXNnaWQgImV4cGVjdGVkIHNoYWxsb3cvdW5zaGFsbG93LCBnb3QgJXMiCittc2dzdHIgIuaHieeCuiBzaGFsbG93L3Vuc2hhbGxvd++8jOWNu+W+l+WIsCAlcyIKKworIzogZmV0Y2gtcGFjay5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICJnb3QgJXMgJWQgJXMiCittc2dzdHIgIuW+l+WIsCAlcyAlZCAlcyIKKworIzogZmV0Y2gtcGFjay5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNvbW1pdCAlcyIKK21zZ3N0ciAi54Sh5pWI5o+Q5LqkICVzIgorCisjOiBmZXRjaC1wYWNrLmM6NDYyCittc2dpZCAiZ2l2aW5nIHVwIgorbXNnc3RyICLmlL7mo4QiCisKKyM6IGZldGNoLXBhY2suYzo0NzUgcHJvZ3Jlc3MuYzozMjMKK21zZ2lkICJkb25lIgorbXNnc3RyICLlrozmiJAiCisKKyM6IGZldGNoLXBhY2suYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ290ICVzICglZCkgJXMiCittc2dzdHIgIuW+l+WIsCAlcyAoJWQpICVzIgorCisjOiBmZXRjaC1wYWNrLmM6NTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1hcmtpbmcgJXMgYXMgY29tcGxldGUiCittc2dzdHIgIuaomeiomCAlcyDngrrlrozmiJAiCisKKyM6IGZldGNoLXBhY2suYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxyZWFkeSBoYXZlICVzICglcykiCittc2dzdHIgIuW3sue2k+aciSAlc++8iCVz77yJIgorCisjOiBmZXRjaC1wYWNrLmM6ODE4Cittc2dpZCAiZmV0Y2gtcGFjazogdW5hYmxlIHRvIGZvcmsgb2ZmIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCittc2dzdHIgImZldGNoLXBhY2vvvJrnhKHms5XooY3nlJ8gc2lkZWJhbmQg5aSa6Lev6Ly45Ye6IgorCisjOiBmZXRjaC1wYWNrLmM6ODI2Cittc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBwYWNrIGhlYWRlciIKK21zZ3N0ciAi5Y2U5a6a6Yyv6Kqk77ya5aOe55qE5YyF6aCtIgorCisjOiBmZXRjaC1wYWNrLmM6OTAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZldGNoLXBhY2s6IHVuYWJsZSB0byBmb3JrIG9mZiAlcyIKK21zZ3N0ciAiZmV0Y2gtcGFja++8mueEoeazleihjeeUn+mAsueoiyAlcyIKKworIzogZmV0Y2gtcGFjay5jOjkxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgIiVzIOWkseaVlyIKKworIzogZmV0Y2gtcGFjay5jOjkxOAorbXNnaWQgImVycm9yIGluIHNpZGViYW5kIGRlbXVsdGlwbGV4ZXIiCittc2dzdHIgInNpZGViYW5kIOWkmui3r+i8uOWHuueZvOeUn+mMr+iqpCIKKworIzogZmV0Y2gtcGFjay5jOjk2NQorIywgYy1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgdmVyc2lvbiBpcyAlLipzIgorbXNnc3RyICLkvLrmnI3lmajniYjmnKwgJS4qcyIKKworIzogZmV0Y2gtcGFjay5jOjk3MCBmZXRjaC1wYWNrLmM6OTc2IGZldGNoLXBhY2suYzo5NzkgZmV0Y2gtcGFjay5jOjk4NQorIzogZmV0Y2gtcGFjay5jOjk4OSBmZXRjaC1wYWNrLmM6OTkzIGZldGNoLXBhY2suYzo5OTcgZmV0Y2gtcGFjay5jOjEwMDEKKyM6IGZldGNoLXBhY2suYzoxMDA1IGZldGNoLXBhY2suYzoxMDA5IGZldGNoLXBhY2suYzoxMDEzIGZldGNoLXBhY2suYzoxMDE3CisjOiBmZXRjaC1wYWNrLmM6MTAyMyBmZXRjaC1wYWNrLmM6MTAyOSBmZXRjaC1wYWNrLmM6MTAzNCBmZXRjaC1wYWNrLmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgc3VwcG9ydHMgJXMiCittc2dzdHIgIuS8uuacjeWZqOaUr+aPtCAlcyIKKworIzogZmV0Y2gtcGFjay5jOjk3MgorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgY2xpZW50cyIKK21zZ3N0ciAi5Ly65pyN5Zmo5LiN5pSv5o+0IHNoYWxsbG93IOeUqOaItuerryIKKworIzogZmV0Y2gtcGFjay5jOjEwMzIKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLXNoYWxsb3ctc2luY2UiCittc2dzdHIgIuS8uuacjeWZqOS4jeaUr+aPtCAtLXNoYWxsb3ctc2luY2UiCisKKyM6IGZldGNoLXBhY2suYzoxMDM3Cittc2dpZCAiU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgLS1zaGFsbG93LWV4Y2x1ZGUiCittc2dzdHIgIuS8uuacjeWZqOS4jeaUr+aPtCAtLXNoYWxsb3ctZXhjbHVkZSIKKworIzogZmV0Y2gtcGFjay5jOjEwNDEKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCAtLWRlZXBlbiIKK21zZ3N0ciAi5Ly65pyN5Zmo5LiN5pSv5o+0IC0tZGVlcGVuIgorCisjOiBmZXRjaC1wYWNrLmM6MTA1OAorbXNnaWQgIm5vIGNvbW1vbiBjb21taXRzIgorbXNnc3RyICLmspLmnInlhbHlkIznmoTmj5DkuqQiCisKKyM6IGZldGNoLXBhY2suYzoxMDcwIGZldGNoLXBhY2suYzoxNTM2Cittc2dpZCAiZ2l0IGZldGNoLXBhY2s6IGZldGNoIGZhaWxlZC4iCittc2dzdHIgImdpdCBmZXRjaC1wYWNr77ya5Y+W5b6X5aSx5pWX44CCIgorCisjOiBmZXRjaC1wYWNrLmM6MTIwOQorbXNnaWQgIlNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IHNoYWxsb3cgcmVxdWVzdHMiCittc2dzdHIgIuS8uuacjeWZqOS4jeaUr+aPtCBzaGFsbGxvdyDoq4vmsYIiCisKKyM6IGZldGNoLXBhY2suYzoxMjE2Cittc2dpZCAiU2VydmVyIHN1cHBvcnRzIGZpbHRlciIKK21zZ3N0ciAi5Ly65pyN5Zmo5pSv5o+0IGZpbHRlciIKKworIzogZmV0Y2gtcGFjay5jOjEyMzkKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgcmVxdWVzdCB0byByZW1vdGUiCittc2dzdHIgIueEoeazleWwh+iri+axguWvq+WIsOmBoOerryIKKworIzogZmV0Y2gtcGFjay5jOjEyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBzZWN0aW9uIGhlYWRlciAnJXMnIgorbXNnc3RyICLoroDlj5bnr4DmqJnpoYwgJyVzJyDnmbznlJ/pjK/oqqQiCisKKyM6IGZldGNoLXBhY2suYzoxMjYzCisjLCBjLWZvcm1hdAorbXNnaWQgImV4cGVjdGVkICclcycsIHJlY2VpdmVkICclcyciCittc2dzdHIgIumgkOacnyAnJXMn77yM5b6X5YiwICclcyciCisKKyM6IGZldGNoLXBhY2suYzoxMzAzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgYWNrbm93bGVkZ21lbnQgbGluZTogJyVzJyIKK21zZ3N0ciAi5oSP5aSW55qE56K66KqN6KGM77yaJyVzJyIKKworIzogZmV0Y2gtcGFjay5jOjEzMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcHJvY2Vzc2luZyBhY2tzOiAlZCIKK21zZ3N0ciAi6JmV55CGIGFjayDnmbznlJ/pjK/oqqTvvJolZCIKKworIzogZmV0Y2gtcGFjay5jOjEzMTgKK21zZ2lkICJleHBlY3RlZCBwYWNrZmlsZSB0byBiZSBzZW50IGFmdGVyICdyZWFkeSciCittc2dzdHIgIumgkOacn+WcqCAncmVhZHknIOS5i+W+jOWCs+mAgSBwYWNrZmlsZSIKKworIzogZmV0Y2gtcGFjay5jOjEzMjAKK21zZ2lkICJleHBlY3RlZCBubyBvdGhlciBzZWN0aW9ucyB0byBiZSBzZW50IGFmdGVyIG5vICdyZWFkeSciCittc2dzdHIgIuWcqOaykuaciSAncmVhZHknIOS4jeaHieipsuWCs+mAgeWFtuWug+Wwj+evgCIKKworIzogZmV0Y2gtcGFjay5jOjEzNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcHJvY2Vzc2luZyBzaGFsbG93IGluZm86ICVkIgorbXNnc3RyICLomZXnkIbmt7ropIfoo73oqIrmga/nmbznlJ/pjK/oqqTvvJolZCIKKworIzogZmV0Y2gtcGFjay5jOjE0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhwZWN0ZWQgd2FudGVkLXJlZiwgZ290ICclcyciCittc2dzdHIgIumgkOacnyB3YW50ZWQtcmVm77yM5b6X5YiwICclcyciCisKKyM6IGZldGNoLXBhY2suYzoxNDE0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgd2FudGVkLXJlZjogJyVzJyIKK21zZ3N0ciAi5oSP5aSW55qEIHdhbnRlZC1yZWbvvJonJXMnIgorCisjOiBmZXRjaC1wYWNrLmM6MTQxOQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBwcm9jZXNzaW5nIHdhbnRlZCByZWZzOiAlZCIKK21zZ3N0ciAi6JmV55CG6KaB5Y+W5b6X55qE5byV55So55m855Sf6Yyv6Kqk77yaJWQiCisKKyM6IGZldGNoLXBhY2suYzoxNzYyCittc2dpZCAibm8gbWF0Y2hpbmcgcmVtb3RlIGhlYWQiCittc2dzdHIgIuaykuacieespuWQiOeahOmBoOerr+WIhuaUryIKKworIzogZmV0Y2gtcGFjay5jOjE3ODUgYnVpbHRpbi9jbG9uZS5jOjY4OAorbXNnaWQgInJlbW90ZSBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzIgorbXNnc3RyICLpgaDnq6/mspLmnInlgrPpgIHmiYDmnInlv4XpnIDnmoTnianku7YiCisKKyM6IGZldGNoLXBhY2suYzoxODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggcmVtb3RlIHJlZiAlcyIKK21zZ3N0ciAi5rKS5pyJ6YCZ5qij55qE6YGg56uv5byV55SoICVzIgorCisjOiBmZXRjaC1wYWNrLmM6MTgxNQorIywgYy1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3QgYWxsb3cgcmVxdWVzdCBmb3IgdW5hZHZlcnRpc2VkIG9iamVjdCAlcyIKK21zZ3N0ciAi5Ly65pyN5Zmo5LiN5YWB6Kix6KuL5rGC5pyq5YWs6ZaL55qE54mp5Lu2ICVzIgorCisjOiBncGctaW50ZXJmYWNlLmM6MjIzCittc2dpZCAiY291bGQgbm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAi5LiN6IO95bu656uL5pqr5a2Y5qqUIgorCisjOiBncGctaW50ZXJmYWNlLmM6MjI2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB3cml0aW5nIGRldGFjaGVkIHNpZ25hdHVyZSB0byAnJXMnIgorbXNnc3RyICLnhKHms5XlsIfliIbpm6LlvI/nsL3lkI3lr6vlhaUgJyVzJyIKKworIzogZ3BnLWludGVyZmFjZS5jOjM5MAorbXNnaWQgImdwZyBmYWlsZWQgdG8gc2lnbiB0aGUgZGF0YSIKK21zZ3N0ciAiZ3BnIOeEoeazleeCuuizh+aWmeewveWQjSIKKworIzogZ3JhcGguYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmUgaW52YWxpZCBjb2xvciAnJS4qcycgaW4gbG9nLmdyYXBoQ29sb3JzIgorbXNnc3RyICLlv73nlaUgbG9nLmdyYXBoQ29sb3JzIOS4reeEoeaViOeahOmhj+iJsiAnJS4qcyciCisKKyM6IGdyZXAuYzo2NjgKK21zZ2lkICIiCisiZ2l2ZW4gcGF0dGVybiBjb250YWlucyBOVUxMIGJ5dGUgKHZpYSAtZiA8ZmlsZT4pLiBUaGlzIGlzIG9ubHkgc3VwcG9ydGVkICIKKyJ3aXRoIC1QIHVuZGVyIFBDUkUgdjIiCittc2dzdHIgIiIKKyLmj5DkvpvnmoTmqKHlvI/ljIXlkKsgTlVMTCDlrZflhYPvvIjpgJrpgY4gLWYgPOaqlOahiD4g5Y+D5pW477yJ44CC5Y+q5pyJIFBDUkUgdjIg5LiL55qEIC1QIOaUr+aPtOatpCIKKyLlip/og70iCisKKyM6IGdyZXAuYzoyMTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcyc6IHVuYWJsZSB0byByZWFkICVzIgorbXNnc3RyICInJXMn77ya54Sh5rOV6K6A5Y+WICVzIgorCisjOiBncmVwLmM6MjE0MSBzZXR1cC5jOjE2NSBidWlsdGluL2Nsb25lLmM6NDExIGJ1aWx0aW4vZGlmZi5jOjgyCisjOiBidWlsdGluL3JtLmM6MTM1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzdGF0ICclcyciCittc2dzdHIgIuWwjSAnJXMnIOWRvOWPqyBzdGF0IOWkseaVlyIKKworIzogZ3JlcC5jOjIxNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJzogc2hvcnQgcmVhZCIKK21zZ3N0ciAiJyVzJ++8muiugOWPluS4jeWujOaVtCIKKworIzogaGVscC5jOjIzCittc2dpZCAic3RhcnQgYSB3b3JraW5nIGFyZWEgKHNlZSBhbHNvOiBnaXQgaGVscCB0dXRvcmlhbCkiCittc2dzdHIgIumWi+Wni+S4gOWAi+W3peS9nOWNgO+8iOWPg+imi++8mmdpdCBoZWxwIHR1dG9yaWFs77yJIgorCisjOiBoZWxwLmM6MjQKK21zZ2lkICJ3b3JrIG9uIHRoZSBjdXJyZW50IGNoYW5nZSAoc2VlIGFsc286IGdpdCBoZWxwIGV2ZXJ5ZGF5KSIKK21zZ3N0ciAi5Zyo55uu5YmN6K6K5pu05LiK5bel5L2c77yI5Y+D6KaL77yaZ2l0IGhlbHAgZXZlcnlkYXnvvIkiCisKKyM6IGhlbHAuYzoyNQorbXNnaWQgImV4YW1pbmUgdGhlIGhpc3RvcnkgYW5kIHN0YXRlIChzZWUgYWxzbzogZ2l0IGhlbHAgcmV2aXNpb25zKSIKK21zZ3N0ciAi5qqi5p+l5q235Y+y5ZKM54uA5oWL77yI5Y+D6KaL77yaZ2l0IGhlbHAgcmV2aXNpb25z77yJIgorCisjOiBoZWxwLmM6MjYKK21zZ2lkICJncm93LCBtYXJrIGFuZCB0d2VhayB5b3VyIGNvbW1vbiBoaXN0b3J5IgorbXNnc3RyICLmk7TlsZXjgIHmqJnoqJjlkozoqr/moKHmgqjnmoTmrbflj7LoqJjpjIQiCisKKyM6IGhlbHAuYzoyNworbXNnaWQgImNvbGxhYm9yYXRlIChzZWUgYWxzbzogZ2l0IGhlbHAgd29ya2Zsb3dzKSIKK21zZ3N0ciAi5Y2U5ZCM77yI5Y+D6KaL77yaZ2l0IGhlbHAgd29ya2Zsb3dz77yJIgorCisjOiBoZWxwLmM6MzEKK21zZ2lkICJNYWluIFBvcmNlbGFpbiBDb21tYW5kcyIKK21zZ3N0ciAi5Li76KaB55qE5LiK5bGk5oyH5LukIgorCisjOiBoZWxwLmM6MzIKK21zZ2lkICJBbmNpbGxhcnkgQ29tbWFuZHMgLyBNYW5pcHVsYXRvcnMiCittc2dzdHIgIui8lOWKqeaMh+S7pC/li5XkvZzogIUiCisKKyM6IGhlbHAuYzozMworbXNnaWQgIkFuY2lsbGFyeSBDb21tYW5kcyAvIEludGVycm9nYXRvcnMiCittc2dzdHIgIui8lOWKqeaMh+S7pC/oqaLllY/ogIUiCisKKyM6IGhlbHAuYzozNAorbXNnaWQgIkludGVyYWN0aW5nIHdpdGggT3RoZXJzIgorbXNnc3RyICLoiIflhbblroPns7vntbHkupLli5UiCisKKyM6IGhlbHAuYzozNQorbXNnaWQgIkxvdy1sZXZlbCBDb21tYW5kcyAvIE1hbmlwdWxhdG9ycyIKK21zZ3N0ciAi5L2O57Sa5oyH5LukL+WLleS9nOiAhSIKKworIzogaGVscC5jOjM2Cittc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gSW50ZXJyb2dhdG9ycyIKK21zZ3N0ciAi5L2O57Sa5oyH5LukL+ipouWVj+iAhSIKKworIzogaGVscC5jOjM3CisjfCBtc2dpZCAiTG93LWxldmVsIENvbW1hbmRzIC8gU3luY2hpbmcgUmVwb3NpdG9yaWVzIgorbXNnaWQgIkxvdy1sZXZlbCBDb21tYW5kcyAvIFN5bmNpbmcgUmVwb3NpdG9yaWVzIgorbXNnc3RyICLkvY7ntJrmjIfku6QgLyDlkIzmraXniYjmnKzluqsiCisKKyM6IGhlbHAuYzozOAorbXNnaWQgIkxvdy1sZXZlbCBDb21tYW5kcyAvIEludGVybmFsIEhlbHBlcnMiCittc2dzdHIgIuS9jue0muaMh+S7pC/lhafpg6jliqnmiYsiCisKKyM6IGhlbHAuYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXZhaWxhYmxlIGdpdCBjb21tYW5kcyBpbiAnJXMnIgorbXNnc3RyICLlnKggJyVzJyDkuIvlj6/nlKjnmoQgZ2l0IOaMh+S7pCIKKworIzogaGVscC5jOjMwNQorbXNnaWQgImdpdCBjb21tYW5kcyBhdmFpbGFibGUgZnJvbSBlbHNld2hlcmUgb24geW91ciAkUEFUSCIKK21zZ3N0ciAi5ZyoICRQQVRIIOi3r+W+keS4reeahOWFtuS7luWcsOaWueWPr+eUqOeahCBnaXQg5oyH5LukIgorCisjOiBoZWxwLmM6MzE0Cittc2dpZCAiVGhlc2UgYXJlIGNvbW1vbiBHaXQgY29tbWFuZHMgdXNlZCBpbiB2YXJpb3VzIHNpdHVhdGlvbnM6IgorbXNnc3RyICLpgJnkupvmmK/lkITnqK7loLTlkIjluLjopovnmoQgR2l0IOaMh+S7pO+8miIKKworIzogaGVscC5jOjM2MyBnaXQuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIGxpc3RpbmcgdHlwZSAnJXMnIgorbXNnc3RyICLkuI3mlK/mj7TnmoTmjIfku6TliJfooajpoZ7lnosgJyVzJyIKKworIzogaGVscC5jOjQwMworbXNnaWQgIlRoZSBjb21tb24gR2l0IGd1aWRlcyBhcmU6IgorbXNnc3RyICLmnIDluLjnlKjnmoQgR2l0IOWaruWwjuacie+8miIKKworIzogaGVscC5jOjUxMgorbXNnaWQgIlNlZSAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyB0byByZWFkIGFib3V0IGEgc3BlY2lmaWMgc3ViY29tbWFuZCIKK21zZ3N0ciAi5Z+36KGM44CAJ2dpdCBoZWxwIDxjb21tYW5kPicg5L6G5qqi6KaW54m55a6a5a2Q5oyH5LukIgorCisjOiBoZWxwLmM6NTE3Cittc2dpZCAiRXh0ZXJuYWwgY29tbWFuZHMiCittc2dzdHIgIuWklumDqOaMh+S7pCIKKworIzogaGVscC5jOjUzMgorbXNnaWQgIkNvbW1hbmQgYWxpYXNlcyIKK21zZ3N0ciAi5oyH5Luk5Yil5ZCNIgorCisjOiBoZWxwLmM6NTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyInJXMnIGFwcGVhcnMgdG8gYmUgYSBnaXQgY29tbWFuZCwgYnV0IHdlIHdlcmUgbm90XG4iCisiYWJsZSB0byBleGVjdXRlIGl0LiBNYXliZSBnaXQtJXMgaXMgYnJva2VuPyIKK21zZ3N0ciAiIgorIiclcycg5YOP5piv5LiA5YCLIGdpdCDmjIfku6TvvIzkvYbljbvnhKHms5Xln7fooYzjgIJcbiIKKyLlj6/og73mmK8gZ2l0LSVzIOWPl+aQje+8nyIKKworIzogaGVscC5jOjY1NQorbXNnaWQgIlVoIG9oLiBZb3VyIHN5c3RlbSByZXBvcnRzIG5vIEdpdCBjb21tYW5kcyBhdCBhbGwuIgorbXNnc3RyICLllInlkYDvvIzmgqjnmoTns7vntbHkuK3mnKrnmbznj74gR2l0IOaMh+S7pOOAgiIKKworIzogaGVscC5jOjY3NworIywgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBZb3UgY2FsbGVkIGEgR2l0IGNvbW1hbmQgbmFtZWQgJyVzJywgd2hpY2ggZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICLorablkYrvvJrmgqjln7fooYzkuobkuIDlgIvkuKbkuI3lrZjlnKjnmoQgR2l0IOaMh+S7pCAnJXMn44CCIgorCisjOiBoZWxwLmM6NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvbnRpbnVpbmcgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCB5b3UgbWVhbnQgJyVzJy4iCittc2dzdHIgIuWBh+WumuS9oOaDs+imgeeahOaYryAnJXMnIOS4pue5vOe6jOOAgiIKKworIzogaGVscC5jOjY4NworIywgYy1mb3JtYXQKK21zZ2lkICJDb250aW51aW5nIGluICUwLjFmIHNlY29uZHMsIGFzc3VtaW5nIHRoYXQgeW91IG1lYW50ICclcycuIgorbXNnc3RyICLlgYflrprkvaDmg7PopoHnmoTmmK8gJyUyJHMn77yM5ZyoICUxJDAuMWYg56eS6ZCY5b6M57m857qM44CCIgorCisjOiBoZWxwLmM6Njk1CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdDogJyVzJyBpcyBub3QgYSBnaXQgY29tbWFuZC4gU2VlICdnaXQgLS1oZWxwJy4iCittc2dzdHIgImdpdO+8miclcycg5LiN5piv5LiA5YCLIGdpdCDmjIfku6TjgILlj4PoposgJ2dpdCAtLWhlbHAn44CCIgorCisjOiBoZWxwLmM6Njk5Cittc2dpZCAiIgorIlxuIgorIlRoZSBtb3N0IHNpbWlsYXIgY29tbWFuZCBpcyIKK21zZ2lkX3BsdXJhbCAiIgorIlxuIgorIlRoZSBtb3N0IHNpbWlsYXIgY29tbWFuZHMgYXJlIgorbXNnc3RyWzBdICIiCisiXG4iCisi5pyA6aGe5Ly855qE5oyH5Luk5pyJIgorbXNnc3RyWzFdICIiCisiXG4iCisi5pyA6aGe5Ly855qE5oyH5Luk5pyJIgorCisjOiBoZWxwLmM6NzE0Cittc2dpZCAiZ2l0IHZlcnNpb24gWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCB2ZXJzaW9uIFs86YG46aCFPl0iCisKKyM6IGhlbHAuYzo3ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIC0gJXMiCittc2dzdHIgIiVz77yaJXMgLSAlcyIKKworIzogaGVscC5jOjc4NworbXNnaWQgIiIKKyJcbiIKKyJEaWQgeW91IG1lYW4gdGhpcz8iCittc2dpZF9wbHVyYWwgIiIKKyJcbiIKKyJEaWQgeW91IG1lYW4gb25lIG9mIHRoZXNlPyIKK21zZ3N0clswXSAiIgorIlxuIgorIuaCqOaMh+eahOaYr+mAmeWAi+WXju+8nyIKK21zZ3N0clsxXSAiIgorIlxuIgorIuaCqOaMh+eahOaYr+mAmeWFtuS4reeahOafkOS4gOWAi+WXju+8nyIKKworIzogaWRlbnQuYzozNDkKK21zZ2lkICIiCisiXG4iCisiKioqIFBsZWFzZSB0ZWxsIG1lIHdobyB5b3UgYXJlLlxuIgorIlxuIgorIlJ1blxuIgorIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwieW91QGV4YW1wbGUuY29tXCJcbiIKKyIgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwiWW91ciBOYW1lXCJcbiIKKyJcbiIKKyJ0byBzZXQgeW91ciBhY2NvdW50J3MgZGVmYXVsdCBpZGVudGl0eS5cbiIKKyJPbWl0IC0tZ2xvYmFsIHRvIHNldCB0aGUgaWRlbnRpdHkgb25seSBpbiB0aGlzIHJlcG9zaXRvcnkuXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiog6KuL5ZGK6Ki05oiR5L2g5piv6Kqw44CCXG4iCisiXG4iCisi5Z+36KGMXG4iCisiXG4iCisiICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgXCJ5b3VAZXhhbXBsZS5jb21cIlxuIgorIiAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCJZb3VyIE5hbWVcIlxuIgorIlxuIgorIuS+huioreWumuaCqOW4s+iZn+eahOmgkOiorei6q+S7veaomeiomOOAglxuIgorIuWmguaenOWDheWcqOacrOeJiOacrOW6q+ioreWumui6q+S7veaomeiomO+8jOWJh+ecgeeVpSAtLWdsb2JhbCDlj4PmlbjjgIJcbiIKKworIzogaWRlbnQuYzozNzkKK21zZ2lkICJubyBlbWFpbCB3YXMgZ2l2ZW4gYW5kIGF1dG8tZGV0ZWN0aW9uIGlzIGRpc2FibGVkIgorbXNnc3RyICLmnKrmj5Dkvpvkv6Hku7bkvY3lnYDkuJToh6rli5XlgbXmuKzooqvnpoHnlKgiCisKKyM6IGlkZW50LmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhdXRvLWRldGVjdCBlbWFpbCBhZGRyZXNzIChnb3QgJyVzJykiCittc2dzdHIgIueEoeazleiHquWLleWBtea4rOS/oeS7tuS9jeWdgO+8iOW+l+WIsCAnJXMn77yJIgorCisjOiBpZGVudC5jOjQwMQorbXNnaWQgIm5vIG5hbWUgd2FzIGdpdmVuIGFuZCBhdXRvLWRldGVjdGlvbiBpcyBkaXNhYmxlZCIKK21zZ3N0ciAi5pyq5o+Q5L6b5aeT5ZCN5LiU6Ieq5YuV5YG15ris6KKr56aB55SoIgorCisjOiBpZGVudC5jOjQwNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYXV0by1kZXRlY3QgbmFtZSAoZ290ICclcycpIgorbXNnc3RyICLnhKHms5Xoh6rli5XlgbXmuKzlp5PlkI3vvIjlvpfliLAgJyVzJ++8iSIKKworIzogaWRlbnQuYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1wdHkgaWRlbnQgbmFtZSAoZm9yIDwlcz4pIG5vdCBhbGxvd2VkIgorbXNnc3RyICLkuI3lhYHoqLHnqbrnmoTlp5PlkI3vvIjlsI3mlrwgPCVzPu+8iSIKKworIzogaWRlbnQuYzo0MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibmFtZSBjb25zaXN0cyBvbmx5IG9mIGRpc2FsbG93ZWQgY2hhcmFjdGVyczogJXMiCittc2dzdHIgIuWnk+WQjeS4reWDheWMheWQq+emgeeUqOWtl+WFg++8miVzIgorCisjOiBpZGVudC5jOjQzNiBidWlsdGluL2NvbW1pdC5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGRhdGUgZm9ybWF0OiAlcyIKK21zZ3N0ciAi54Sh5pWI55qE5pel5pyf5qC85byP77yaJXMiCisKKyM6IGxpc3Qtb2JqZWN0cy5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJlbnRyeSAnJXMnIGluIHRyZWUgJXMgaGFzIHRyZWUgbW9kZSwgYnV0IGlzIG5vdCBhIHRyZWUiCittc2dzdHIgIuaouSAlMiRzIOS4reeahOaineebriAnJTEkcycg5YW35pyJ5qi555qE5bGs5oCn77yM5L2G5LiN5piv5LiA5YCL5qi554uA54mp5Lu2IgorCisjOiBsaXN0LW9iamVjdHMuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW50cnkgJyVzJyBpbiB0cmVlICVzIGhhcyBibG9iIG1vZGUsIGJ1dCBpcyBub3QgYSBibG9iIgorbXNnc3RyICLmqLkgJTIkcyDkuK3nmoTmop3nm64gJyUxJHMnIOWFt+acieizh+aWmeeJqeS7tueahOWxrOaAp++8jOS9huS4jeaYr+S4gOWAi+izh+aWmeeJqeS7tiIKKworIzogbGlzdC1vYmplY3RzLmM6Mzc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBsb2FkIHJvb3QgdHJlZSBmb3IgY29tbWl0ICVzIgorbXNnc3RyICLnhKHms5Xngrrmj5DkuqQgJXMg6LyJ5YWl5qC55qi5IgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBhY2Nlc3Mgc3BhcnNlIGJsb2IgaW4gJyVzJyIKK21zZ3N0ciAi5LiN6IO95a2Y5Y+WICclcycg5Lit55qE56iA55aP6LOH5paZ54mp5Lu2IgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSBzcGFyc2UgZmlsdGVyIGRhdGEgaW4gJXMiCittc2dzdHIgIueEoeazleino+aekCAlcyDkuK3nmoTnqIDnlo/pgY7mv77lmajos4fmlpkiCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjU4Cittc2dpZCAiZXhwZWN0ZWQgJ3RyZWU6PGRlcHRoPiciCittc2dzdHIgIuacn+acmyAndHJlZTo85rex5bqmPiciCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjczCittc2dpZCAic3BhcnNlOnBhdGggZmlsdGVycyBzdXBwb3J0IGhhcyBiZWVuIGRyb3BwZWQiCittc2dzdHIgInNwYXJzZTpwYXRoIOmBjua/vuWZqOaUr+aPtOW3suiiq+WIqumZpCIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBmaWx0ZXItc3BlYyAnJXMnIgorbXNnc3RyICLnhKHmlYjnmoTpgY7mv77lmajooajpgZTlvI8gJyVzJyIKKworIzogbGlzdC1vYmplY3RzLWZpbHRlci1vcHRpb25zLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgZXNjYXBlIGNoYXIgaW4gc3ViLWZpbHRlci1zcGVjOiAnJWMnIgorbXNnc3RyICLlv4XpoIjlsI0gc3ViLWZpbHRlci1zcGVjIOS4reeahOWtl+WFg+mAsuihjOi9iee+qe+8miclYyciCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5jOjE0NAorbXNnaWQgImV4cGVjdGVkIHNvbWV0aGluZyBhZnRlciBjb21iaW5lOiIKK21zZ3N0ciAi5pyf5pyb5Zyo57WE5ZCI5b6M5pyJ5LiA5Lqb5p2x6KW/77yaIgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuYzoyMjYKK21zZ2lkICJtdWx0aXBsZSBmaWx0ZXItc3BlY3MgY2Fubm90IGJlIGNvbWJpbmVkIgorbXNnc3RyICLkuI3og73mt7fnlKjlpJrnqK7pgY7mv77opo/moLwiCisKKyM6IGxvY2tmaWxlLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVbmFibGUgdG8gY3JlYXRlICclcy5sb2NrJzogJXMuXG4iCisiXG4iCisiQW5vdGhlciBnaXQgcHJvY2VzcyBzZWVtcyB0byBiZSBydW5uaW5nIGluIHRoaXMgcmVwb3NpdG9yeSwgZS5nLlxuIgorImFuIGVkaXRvciBvcGVuZWQgYnkgJ2dpdCBjb21taXQnLiBQbGVhc2UgbWFrZSBzdXJlIGFsbCBwcm9jZXNzZXNcbiIKKyJhcmUgdGVybWluYXRlZCB0aGVuIHRyeSBhZ2Fpbi4gSWYgaXQgc3RpbGwgZmFpbHMsIGEgZ2l0IHByb2Nlc3NcbiIKKyJtYXkgaGF2ZSBjcmFzaGVkIGluIHRoaXMgcmVwb3NpdG9yeSBlYXJsaWVyOlxuIgorInJlbW92ZSB0aGUgZmlsZSBtYW51YWxseSB0byBjb250aW51ZS4iCittc2dzdHIgIiIKKyLnhKHms5Xlu7rnq4sgJyVzLmxvY2sn77yaJXPjgIJcbiIKKyJcbiIKKyLkvLzkuY7lj6blpJbkuIDlgIsgZ2l0IOmAsueoi+WcqOmAmeWAi+eJiOacrOW6q+S4reWft+ihjO+8jOS+i+Wmgu+8midnaXQgY29tbWl0JyDmjIfku6TmiZNcbiIKKyLplovkuobkuIDlgIvnt6jovK/lmajjgILoq4vnorroqo3miYDmnInpgLLnqIvpg73lt7LntpPpl5zplonnhLblvozph43oqabjgILlpoLmnpzku43nhLbloLHpjK/vvIxcbiIKKyLlj6/og73kuYvliY3mnInkuIDlgIsgZ2l0IOmAsueoi+WcqOmAmeWAi+eJiOacrOW6q+S4reeVsOW4uOmboumWi++8mlxuIgorIuaJi+WLleWIqumZpOmAmeWAi+aqlOahiOWGjee5vOe6jOOAgiIKKworIzogbG9ja2ZpbGUuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGNyZWF0ZSAnJXMubG9jayc6ICVzIgorbXNnc3RyICLkuI3og73lu7rnq4sgJyVzLmxvY2sn77yaJXMiCisKKyM6IG1lcmdlLmM6NDEKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgY2FjaGUiCittc2dzdHIgIuiugOWPluW/q+WPluWkseaVlyIKKworIzogbWVyZ2UuYzoxMDcgcmVyZXJlLmM6NzIwIGJ1aWx0aW4vYW0uYzoxODc0IGJ1aWx0aW4vYW0uYzoxOTA4CisjOiBidWlsdGluL2NoZWNrb3V0LmM6NTM5IGJ1aWx0aW4vY2hlY2tvdXQuYzo3OTggYnVpbHRpbi9jbG9uZS5jOjgwOQorIzogYnVpbHRpbi9zdGFzaC5jOjI2NAorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKK21zZ3N0ciAi54Sh5rOV5a+r5paw55qE57Si5byV5qqU5qGIIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNjcKK21zZ2lkICIoYmFkIGNvbW1pdClcbiIKK21zZ3N0ciAi77yI5aOe5o+Q5Lqk77yJXG4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJhZGRfY2FjaGVpbmZvIGZhaWxlZCBmb3IgcGF0aCAnJXMnOyBtZXJnZSBhYm9ydGluZy4iCittc2dzdHIgImFkZF9jYWNoZWluZm8g5bCN6Lev5b6RICclcycg5Z+36KGM5aSx5pWX77yM5ZCI5L2157WC5q2i44CCIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWRkX2NhY2hlaW5mbyBmYWlsZWQgdG8gcmVmcmVzaCBmb3IgcGF0aCAnJXMnOyBtZXJnZSBhYm9ydGluZy4iCittc2dzdHIgImFkZF9jYWNoZWluZm8g54Sh5rOV6YeN5paw5pW055CG6Lev5b6RICclcyfvvIzlkIjkvbXntYLmraLjgIIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBhdGggJyVzJyVzIgorbXNnc3RyICLlu7rnq4vot6/lvpEgJyVzJyVzIOWkseaVlyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6ODk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbW92aW5nICVzIHRvIG1ha2Ugcm9vbSBmb3Igc3ViZGlyZWN0b3J5XG4iCittc2dzdHIgIuWIqumZpCAlcyDku6Xkvr/ngrrlrZDnm67pjITnlZnlh7rnqbrplpNcbiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTEwIG1lcmdlLXJlY3Vyc2l2ZS5jOjkyOQorbXNnaWQgIjogcGVyaGFwcyBhIEQvRiBjb25mbGljdD8iCittc2dzdHIgIu+8muWPr+iDveaYr+S4gOWAi+ebrumMhC/mqpTmoYjooZ3nqoHvvJ8iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjkxOQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZ1c2luZyB0byBsb3NlIHVudHJhY2tlZCBmaWxlIGF0ICclcyciCittc2dzdHIgIuaLkue1leaNqOajhCAnJXMnIOS4reeahOacqui/vei5pOaqlOahiCIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTYwIGJ1aWx0aW4vY2F0LWZpbGUuYzo0MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMgJyVzJyIKK21zZ3N0ciAi5LiN6IO96K6A5Y+W54mp5Lu2ICVzICclcyciCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjk2NQorIywgYy1mb3JtYXQKK21zZ2lkICJibG9iIGV4cGVjdGVkIGZvciAlcyAnJXMnIgorbXNnc3RyICIlcyAnJXMnIOaHieeCuuizh+aWmeeJqeS7tiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6OTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyc6ICVzIgorbXNnc3RyICLplovllZ8gJyVzJyDlpLHmlZfvvJolcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTAwMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc3ltbGluayAnJXMnOiAlcyIKK21zZ3N0ciAi5bu656uL56ym6Jmf6YCj57WQICclcycg5aSx5pWX77yaJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEwMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGtub3cgd2hhdCB0byBkbyB3aXRoICUwNm8gJXMgJyVzJyIKK21zZ3N0ciAi5LiN55+l6YGT5aaC5L2V6JmV55CGICUwNm8gJXMgJyVzJyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChub3QgY2hlY2tlZCBvdXQpIgorbXNnc3RyICLnhKHms5XlkIjkvbXlrZDmqKHntYQgJXMg77yI5rKS5pyJ57C95Ye677yJIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKGNvbW1pdHMgbm90IHByZXNlbnQpIgorbXNnc3RyICLnhKHms5XlkIjkvbXlrZDmqKHntYQgJXPvvIjmj5DkuqTkuI3lrZjlnKjvvIkiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAoY29tbWl0cyBkb24ndCBmb2xsb3cgbWVyZ2UtYmFzZSkiCittc2dzdHIgIueEoeazleWQiOS9teWtkOaooee1hCAlcyDvvIjmj5DkuqTmnKrot5/pmqjlkIjkvbXln7rnpI7vvIkiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyMjEgbWVyZ2UtcmVjdXJzaXZlLmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJGYXN0LWZvcndhcmRpbmcgc3VibW9kdWxlICVzIHRvIHRoZSBmb2xsb3dpbmcgY29tbWl0OiIKK21zZ3N0ciAi5a2Q5qih57WEICVzIOW/q+i9ieWIsOWmguS4i+aPkOS6pO+8miIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTIyNCBtZXJnZS1yZWN1cnNpdmUuYzoxMjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhc3QtZm9yd2FyZGluZyBzdWJtb2R1bGUgJXMiCittc2dzdHIgIuW/q+i9ieWtkOaooee1hCAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTI1OQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gbWVyZ2Ugc3VibW9kdWxlICVzIChtZXJnZSBmb2xsb3dpbmcgY29tbWl0cyBub3QgZm91bmQpIgorbXNnc3RyICLnhKHms5XlkIjkvbXlrZDmqKHntYQgJXMg77yI5rKS55m854++5ZCI5L216Lef6Zqo55qE5o+Q5Lqk77yJIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBzdWJtb2R1bGUgJXMgKG5vdCBmYXN0LWZvcndhcmQpIgorbXNnc3RyICLnhKHms5XlkIjkvbXlrZDmqKHntYQgJXPvvIjpnZ7lv6vovYnvvIkiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNjQKK21zZ2lkICJGb3VuZCBhIHBvc3NpYmxlIG1lcmdlIHJlc29sdXRpb24gZm9yIHRoZSBzdWJtb2R1bGU6XG4iCittc2dzdHIgIuaJvuWIsOWtkOaooee1hOeahOS4gOWAi+WPr+iDveeahOWQiOS9teaWueahiO+8mlxuIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxMjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJZiB0aGlzIGlzIGNvcnJlY3Qgc2ltcGx5IGFkZCBpdCB0byB0aGUgaW5kZXggZm9yIGV4YW1wbGVcbiIKKyJieSB1c2luZzpcbiIKKyJcbiIKKyIgIGdpdCB1cGRhdGUtaW5kZXggLS1jYWNoZWluZm8gMTYwMDAwICVzIFwiJXNcIlxuIgorIlxuIgorIndoaWNoIHdpbGwgYWNjZXB0IHRoaXMgc3VnZ2VzdGlvbi5cbiIKK21zZ3N0ciAiIgorIuWmguaenOmAmeWAi+ato+eiuu+8jOWwh+WFtuaWsOWinuWIsOe0ouW8le+8jOS+i+WmguS9v+eUqOaMh+S7pO+8mlxuIgorIlxuIgorIiAgZ2l0IHVwZGF0ZS1pbmRleCAtLWNhY2hlaW5mbyAxNjAwMDAgJXMgXCIlc1wiXG4iCisiXG4iCisi5Lul5o6l5Y+X5q2k5bu66K2w44CCXG4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG1lcmdlIHN1Ym1vZHVsZSAlcyAobXVsdGlwbGUgbWVyZ2VzIGZvdW5kKSIKK21zZ3N0ciAi54Sh5rOV5ZCI5L215a2Q5qih57WEICVzIO+8iOeZvOePvuWkmuWAi+WQiOS9te+8iSIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM0OQorbXNnaWQgIkZhaWxlZCB0byBleGVjdXRlIGludGVybmFsIG1lcmdlIgorbXNnc3RyICLnhKHms5Xln7fooYzlhafpg6jlkIjkvbUiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjEzNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGFkZCAlcyB0byBkYXRhYmFzZSIKK21zZ3N0ciAi5LiN6IO95paw5aKeICVzIOiHs+eJqeS7tuW6qyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJBdXRvLW1lcmdpbmcgJXMiCittc2dzdHIgIuiHquWLleWQiOS9tSAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJFcnJvcjogUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAlczsgd3JpdGluZyB0byAlcyBpbnN0ZWFkLiIKK21zZ3N0ciAi6Yyv6Kqk77ya5ouS57WV6YG65aSx5pyq6L+96Lmk5qqU5qGIICclcyfvvIzogIzmmK/lr6vlhaUgJXPjgIIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyBsZWZ0ICIKKyJpbiB0cmVlLiIKK21zZ3N0ciAiIgorIuihneeqge+8iCUxJHMv5Yiq6Zmk77yJ77yaJTIkcyDlnKggJTMkcyDkuK3ooqvliKrpmaTvvIzlnKggJTUkcyDkuK3ooqsgJTQkc+OAgiU3JHMg55qEICU2JHMg54mIIgorIuacrOiiq+S/neeVmeOAgiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTQ4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKCVzL2RlbGV0ZSk6ICVzIGRlbGV0ZWQgaW4gJXMgYW5kICVzIHRvICVzIGluICVzLiBWZXJzaW9uICVzIG9mICVzICIKKyJsZWZ0IGluIHRyZWUuIgorbXNnc3RyICIiCisi6KGd56qB77yIJTEkcy/liKrpmaTvvInvvJolMiRzIOWcqCAlMyRzIOS4reiiq+WIqumZpO+8jOWcqCAlNiRzIOS4reeahCAlNSRzIOiiqyAlNCRz44CCJTgkcyDnmoQgIgorIiU3JHMg54mI5pys6KKr5L+d55WZ44CCIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoJXMvZGVsZXRlKTogJXMgZGVsZXRlZCBpbiAlcyBhbmQgJXMgaW4gJXMuIFZlcnNpb24gJXMgb2YgJXMgbGVmdCAiCisiaW4gdHJlZSBhdCAlcy4iCittc2dzdHIgIiIKKyLooZ3nqoHvvIglMSRzL+WIqumZpO+8ie+8miUyJHMg5ZyoICUzJHMg5Lit6KKr5Yiq6Zmk77yM5ZyoICU1JHMg5Lit6KKrICU0JHPjgIIlNyRzIOeahCAlNiRzIOeJiCIKKyLmnKzkv53nlZnlnKggJTgkcyDkuK3jgIIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUICglcy9kZWxldGUpOiAlcyBkZWxldGVkIGluICVzIGFuZCAlcyB0byAlcyBpbiAlcy4gVmVyc2lvbiAlcyBvZiAlcyAiCisibGVmdCBpbiB0cmVlIGF0ICVzLiIKK21zZ3N0ciAiIgorIuihneeqge+8iCUxJHMv5Yiq6Zmk77yJ77yaJTIkcyDlnKggJTMkcyDkuK3ooqvliKrpmaTvvIzlnKggJTYkcyDkuK3nmoQgJTUkcyDooqsgJTQkc+OAgiU4JHMg55qEICIKKyIlNyRzIOeJiOacrOS/neeVmeWcqCAlOSRzIOS4reOAgiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTUzNAorbXNnaWQgInJlbmFtZSIKK21zZ3N0ciAi6YeN5paw5ZG95ZCNIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNTM0Cittc2dpZCAicmVuYW1lZCIKK21zZ3N0ciAi6YeN5paw5ZG95ZCNIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjE0IG1lcmdlLXJlY3Vyc2l2ZS5jOjI1MzAgbWVyZ2UtcmVjdXJzaXZlLmM6MzE3NQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWZ1c2luZyB0byBsb3NlIGRpcnR5IGZpbGUgYXQgJXMiCittc2dzdHIgIuaLkue1lemBuuWksemrkuaqlOahiCAnJXMnIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJXMsIGV2ZW4gdGhvdWdoIGl0J3MgaW4gdGhlIHdheS4iCittc2dzdHIgIuaLkue1leWcqCAnJXMnIOiZleWkseWOu+acqui/vei5pOaqlOahiO+8jOWNs+S9v+Wug+WtmOWcqOaWvOmHjeaWsOWRveWQjeS4reOAgiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTY4MgorIywgYy1mb3JtYXQKK21zZ2lkICJDT05GTElDVCAocmVuYW1lL2FkZCk6IFJlbmFtZSAlcy0+JXMgaW4gJXMuICBBZGRlZCAlcyBpbiAlcyIKK21zZ3N0ciAi6KGd56qB77yI6YeN5paw5ZG95ZCNL+aWsOWinu+8ie+8muWcqCAlMyRzIOS4remHjeaWsOWRveWQjSAlMSRzLT4lMiRz44CC5ZyoICU1JHMg5Lit5paw5aKeICU0JHMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjE3MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBkaXJlY3RvcnkgaW4gJXMgYWRkaW5nIGFzICVzIGluc3RlYWQiCittc2dzdHIgIiVzIOaYryAlcyDkuK3nmoTkuIDlgIvnm67pjITogIzlt7IgJXMg54K65ZCN6KKr5paw5aKeIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxNzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgJXM7IGFkZGluZyBhcyAlcyBpbnN0ZWFkIgorbXNnc3RyICLmi5LntZXpgbrlpLHmnKrov73ouaTmqpTmoYggJyVzJ++8jOiAjOaYr+aWsOWinueCuiAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTczNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpOiBSZW5hbWUgXCIlc1wiLT5cIiVzXCIgaW4gYnJhbmNoIFwiJXNcIiByZW5hbWUgXCIlcyIKKyJcIi0+XCIlc1wiIGluIFwiJXNcIiVzIgorbXNnc3RyICIiCisi6KGd56qB77yI6YeN5paw5ZG95ZCNL+mHjeaWsOWRveWQje+8ie+8muWcqOWIhuaUryBcIiUzJHNcIiDkuK3ph43mlrDlkb3lkI0gXCIlMSRzXCItPlwiJTIkc1wi77yM5ZyoIgorIuWIhuaUryBcIiU2JHNcIiDkuK3ph43mlrDlkb3lkI0gXCIlNCRzXCItPlwiJTUkc1wiJTckcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MTc0MgorbXNnaWQgIiAobGVmdCB1bnJlc29sdmVkKSIKK21zZ3N0ciAi77yI55WZ5LiL5pyq6Kej5rG677yJIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzoxODUxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lICVzLT4lcyBpbiAlcy4gUmVuYW1lICVzLT4lcyBpbiAlcyIKK21zZ3N0ciAiIgorIuihneeqge+8iOmHjeaWsOWRveWQjS/ph43mlrDlkb3lkI3vvInvvJrlnKggJTMkcyDkuK3ph43mlrDlkb3lkI0gJTEkcy0+JTIkc++8jOWcqCAlNiRzIOS4remHjeaWsOWRveWQjSAiCisiJTQkcy0+JTUkcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjExNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKGRpcmVjdG9yeSByZW5hbWUgc3BsaXQpOiBVbmNsZWFyIHdoZXJlIHRvIHBsYWNlICVzIGJlY2F1c2UgIgorImRpcmVjdG9yeSAlcyB3YXMgcmVuYW1lZCB0byBtdWx0aXBsZSBvdGhlciBkaXJlY3Rvcmllcywgd2l0aCBubyBkZXN0aW5hdGlvbiAiCisiZ2V0dGluZyBhIG1ham9yaXR5IG9mIHRoZSBmaWxlcy4iCittc2dzdHIgIiIKKyLooZ3nqoHvvIjliIblibLnmoTnm67pjITph43mlrDlkb3lkI3vvInvvJrkuI3muIXmpZogJXMg5oeJ6Kmy5pS+5Zyo5ZOq6KOh77yM5Zug54K655uu6YyEICVzIOiiq+mHjeaWsOWRveWQjeWIsCIKKyLlpJrlgIvlhbblroPnm67pjITvvIzmspLmnInnm67pjITljIXlkKvlpKfpg6jliIbmqpTmoYjjgIIiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUIChpbXBsaWNpdCBkaXIgcmVuYW1lKTogRXhpc3RpbmcgZmlsZS9kaXIgYXQgJXMgaW4gdGhlIHdheSBvZiAiCisiaW1wbGljaXQgZGlyZWN0b3J5IHJlbmFtZShzKSBwdXR0aW5nIHRoZSBmb2xsb3dpbmcgcGF0aChzKSB0aGVyZTogJXMuIgorbXNnc3RyICIiCisi6KGd56qB77yI6Zqx5byP55uu6YyE6YeN5paw5ZG95ZCN77yJ77ya6JmV5pa86Zqx5byP55uu6YyE6YeN5paw5ZG95ZCN55qE54++5a2Y5qqU5qGIL+ebrumMhCAlc++8jOWwh+S7peS4i+i3r+W+kSIKKyLmlL7lnKjvvJolc+OAgiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ09ORkxJQ1QgKGltcGxpY2l0IGRpciByZW5hbWUpOiBDYW5ub3QgbWFwIG1vcmUgdGhhbiBvbmUgcGF0aCB0byAlczsgIgorImltcGxpY2l0IGRpcmVjdG9yeSByZW5hbWVzIHRyaWVkIHRvIHB1dCB0aGVzZSBwYXRocyB0aGVyZTogJXMiCittc2dzdHIgIiIKKyLooZ3nqoHvvIjpmrHlvI/nm67pjITph43mlrDlkb3lkI3vvInvvJrnhKHms5XmmKDlsITkuIDlgIvku6XkuIrot6/lvpHliLAgJXPvvIzpmrHlvI/nm67pjITph43mlrDlkb3lkI3lmJfoqablsIfpgJkiCisi5Lqb6Lev5b6R5pS+572u5pa85q2k77yaJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjIyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKTogUmVuYW1lIGRpcmVjdG9yeSAlcy0+JXMgaW4gJXMuIFJlbmFtZSBkaXJlY3RvcnkgJXMtIgorIj4lcyBpbiAlcyIKK21zZ3N0ciAiIgorIuihneeqge+8iOmHjeaWsOWRveWQjS/ph43mlrDlkb3lkI3vvInvvJrlnKggJTMkcyDkuK3ph43mlrDlkb3lkI3nm67pjIQgJTEkcy0+JTIkc++8jOWcqCAlNiRzIOS4remHjeaWsCIKKyLlkb3lkI3nm67pjIQgJTQkcy0+JTUkcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogQXZvaWRpbmcgYXBwbHlpbmcgJXMgLT4gJXMgcmVuYW1lIHRvICVzLCBiZWNhdXNlICVzIGl0c2VsZiB3YXMgIgorInJlbmFtZWQuIgorbXNnc3RyICLorablkYrvvJrpgb/lhY3mh4nnlKggJXMgLT4gJXMg55qE6YeN5paw5ZG95ZCN5YiwICVz77yM5Zug54K6ICVzIOacrOi6q+W3suiiq+mHjeaWsOWRveWQjeOAgiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAxOQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgJXMiCittc2dzdHIgIuS4jeiDveiugOWPlueJqeS7tiAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzAyMgorIywgYy1mb3JtYXQKK21zZ2lkICJvYmplY3QgJXMgaXMgbm90IGEgYmxvYiIKK21zZ3N0ciAi54mp5Lu2ICVzIOS4jeaYr+S4gOWAi+izh+aWmeeJqeS7tiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA4NgorbXNnaWQgIm1vZGlmeSIKK21zZ3N0ciAi5L+u5pS5IgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMDg2Cittc2dpZCAibW9kaWZpZWQiCittc2dzdHIgIuS/ruaUuSIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzA5OAorbXNnaWQgImNvbnRlbnQiCittc2dzdHIgIuWFp+WuuSIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzEwMgorbXNnaWQgImFkZC9hZGQiCittc2dzdHIgIuaWsOWini/mlrDlop4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBlZCAlcyAobWVyZ2VkIHNhbWUgYXMgZXhpc3RpbmcpIgorbXNnc3RyICLnlaXpgY4gJXPvvIjlt7LntpPlgZrpgY7nm7jlkIzlkIjkvbXvvIkiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxNDcgZ2l0LXN1Ym1vZHVsZS5zaDo5OTMKK21zZ2lkICJzdWJtb2R1bGUiCittc2dzdHIgIuWtkOaooee1hCIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzE0OAorIywgYy1mb3JtYXQKK21zZ2lkICJDT05GTElDVCAoJXMpOiBNZXJnZSBjb25mbGljdCBpbiAlcyIKK21zZ3N0ciAi6KGd56qB77yIJXPvvInvvJrlkIjkvbXooZ3nqoHmlrwgJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMxNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGFzICVzIGluc3RlYWQiCittc2dzdHIgIuiAjOaYr+S7pSAlcyDngrrlkI3mlrDlop4iCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjMyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlBhdGggdXBkYXRlZDogJXMgYWRkZWQgaW4gJXMgaW5zaWRlIGEgZGlyZWN0b3J5IHRoYXQgd2FzIHJlbmFtZWQgaW4gJXM7ICIKKyJtb3ZpbmcgaXQgdG8gJXMuIgorbXNnc3RyICLot6/lvpHlt7Lmm7TmlrDvvJolcyDmlrDlop7liLAgJXPvvIzkvY3mlrzkuIDlgIvooqvph43mlrDlkb3lkI3liLAgJXMg55qE55uu6YyE5Lit77yM5bCH5YW256e75YuV5YiwICVz44CCIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMjY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoZmlsZSBsb2NhdGlvbik6ICVzIGFkZGVkIGluICVzIGluc2lkZSBhIGRpcmVjdG9yeSB0aGF0IHdhcyByZW5hbWVkICIKKyJpbiAlcywgc3VnZ2VzdGluZyBpdCBzaG91bGQgcGVyaGFwcyBiZSBtb3ZlZCB0byAlcy4iCittc2dzdHIgIiIKKyLooZ3nqoHvvIjmqpTmoYjkvY3nva7vvInvvJolcyDmlrDlop7liLAgJXPvvIzkvY3mlrzkuIDlgIvooqvph43mlrDlkb3lkI3ngrogJXMg55qE55uu6YyE5Lit77yM5bu66K2w5bCH5YW256e7IgorIuWLleWIsCAlc+OAgiIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzI2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGF0aCB1cGRhdGVkOiAlcyByZW5hbWVkIHRvICVzIGluICVzLCBpbnNpZGUgYSBkaXJlY3RvcnkgdGhhdCB3YXMgcmVuYW1lZCBpbiAiCisiJXM7IG1vdmluZyBpdCB0byAlcy4iCittc2dzdHIgIiIKKyLot6/lvpHlt7Lmm7TmlrDvvJolMSRzIOmHjeaWsOWRveWQjeeCuiAlMyRzIOS4reeahCAlMiRz77yM6ICM6Kmy55uu6YyE6KKr6YeN5paw5ZG95ZCN5YiwICU0JHMg5Lit77yM5bCHIgorIuWFtuenu+WLleWIsCAlNSRz44CCIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDT05GTElDVCAoZmlsZSBsb2NhdGlvbik6ICVzIHJlbmFtZWQgdG8gJXMgaW4gJXMsIGluc2lkZSBhIGRpcmVjdG9yeSB0aGF0ICIKKyJ3YXMgcmVuYW1lZCBpbiAlcywgc3VnZ2VzdGluZyBpdCBzaG91bGQgcGVyaGFwcyBiZSBtb3ZlZCB0byAlcy4iCittc2dzdHIgIiIKKyLooZ3nqoHvvIjmqpTmoYjkvY3nva7vvInvvJolMSRzIOmHjeaWsOWRveWQjeeCuiAlMyRzIOS4reeahCAlMiRz77yM6ICM6Kmy55uu6YyE6KKr6YeN5paw5ZG95ZCN5YiwICU0JHMgIgorIuS4re+8jOW7uuitsOWwh+WFtuenu+WLleWIsCAlNSRz44CCIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozMzg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbW92aW5nICVzIgorbXNnc3RyICLliKrpmaQgJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MDgKK21zZ2lkICJmaWxlL2RpcmVjdG9yeSIKK21zZ3N0ciAi5qqU5qGIL+ebrumMhCIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQxMworbXNnaWQgImRpcmVjdG9yeS9maWxlIgorbXNnc3RyICLnm67pjIQv5qqU5qGIIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNPTkZMSUNUICglcyk6IFRoZXJlIGlzIGEgZGlyZWN0b3J5IHdpdGggbmFtZSAlcyBpbiAlcy4gQWRkaW5nICVzIGFzICVzIgorbXNnc3RyICLooZ3nqoHvvIglMSRz77yJ77ya5ZyoICUzJHMg5Lit5pyJ5LiA5YCL5ZCN54K6ICUyJHMg55qE55uu6YyE44CC5LulICU1JHMg54K65ZCN5paw5aKeICU0JHMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nICVzIgorbXNnc3RyICLmlrDlop4gJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ09ORkxJQ1QgKGFkZC9hZGQpOiBNZXJnZSBjb25mbGljdCBpbiAlcyIKK21zZ3N0ciAi6KGd56qB77yIYWRkL2FkZO+8ie+8muWQiOS9teihneeqgeaWvCAlcyIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQ4MgorbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZSEiCittc2dzdHIgIuW3sue2k+aYr+acgOaWsOeahO+8gSIKKworIzogbWVyZ2UtcmVjdXJzaXZlLmM6MzQ5MQorIywgYy1mb3JtYXQKK21zZ2lkICJtZXJnaW5nIG9mIHRyZWVzICVzIGFuZCAlcyBmYWlsZWQiCittc2dzdHIgIueEoeazleWQiOS9teaouSAlcyDlkowgJXMiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM1OTUKK21zZ2lkICJNZXJnaW5nOiIKK21zZ3N0ciAi5ZCI5L2177yaIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNjA4CisjLCBjLWZvcm1hdAorbXNnaWQgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcjoiCittc2dpZF9wbHVyYWwgImZvdW5kICV1IGNvbW1vbiBhbmNlc3RvcnM6IgorbXNnc3RyWzBdICLnmbznj74gJXUg5YCL5YWx5ZCM56WW5YWI77yaIgorbXNnc3RyWzFdICLnmbznj74gJXUg5YCL5YWx5ZCM56WW5YWI77yaIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozNjU4Cittc2dpZCAibWVyZ2UgcmV0dXJuZWQgbm8gY29tbWl0IgorbXNnc3RyICLlkIjkvbXmnKrov5Tlm57mj5DkuqQiCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlOlxuIgorIiAgJXMiCittc2dzdHIgIiIKKyLmgqjlsI3kuIvliJfmqpTmoYjnmoTmnKzmqZ/kv67mlLnlsIfooqvlkIjkvbXli5XkvZzopobok4vvvJpcbiIKKyIgICVzIgorCisjOiBtZXJnZS1yZWN1cnNpdmUuYzozODE0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBwYXJzZSBvYmplY3QgJyVzJyIKK21zZ3N0ciAi5LiN6IO96Kej5p6Q54mp5Lu2ICclcyciCisKKyM6IG1lcmdlLXJlY3Vyc2l2ZS5jOjM4MzIgYnVpbHRpbi9tZXJnZS5jOjY5NCBidWlsdGluL21lcmdlLmM6ODc0Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGluZGV4LiIKK21zZ3N0ciAi5LiN6IO95a+r5YWl57Si5byV44CCIgorCisjOiBtaWR4LmM6NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVsdGktcGFjay1pbmRleCBmaWxlICVzIGlzIHRvbyBzbWFsbCIKK21zZ3N0ciAi5aSa5YyF57Si5byV5qqU5qGIICVzIOWkquWwjyIKKworIzogbWlkeC5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIm11bHRpLXBhY2staW5kZXggc2lnbmF0dXJlIDB4JTA4eCBkb2VzIG5vdCBtYXRjaCBzaWduYXR1cmUgMHglMDh4IgorbXNnc3RyICLlpJrljIXntKLlvJXnsL3lkI0gMHglMDh4IOWSjOewveWQjSAweCUwOHgg5LiN56ym5ZCIIgorCisjOiBtaWR4LmM6ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVsdGktcGFjay1pbmRleCB2ZXJzaW9uICVkIG5vdCByZWNvZ25pemVkIgorbXNnc3RyICJtdWx0aS1wYWNrLWluZGV4IOeJiOacrCAlZCDkuI3og73ooqvorZjliKUiCisKKyM6IG1pZHguYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJoYXNoIHZlcnNpb24gJXUgZG9lcyBub3QgbWF0Y2giCittc2dzdHIgIuaVo+WIl+eJiOacrCAldSDkuI3nrKblkIgiCisKKyM6IG1pZHguYzoxMDgKK21zZ2lkICJpbnZhbGlkIGNodW5rIG9mZnNldCAodG9vIGxhcmdlKSIKK21zZ3N0ciAi54Sh5pWI55qE5Y2A5aGK5L2N56e777yI5aSq5aSn77yJIgorCisjOiBtaWR4LmM6MTMyCittc2dpZCAidGVybWluYXRpbmcgbXVsdGktcGFjay1pbmRleCBjaHVuayBpZCBhcHBlYXJzIGVhcmxpZXIgdGhhbiBleHBlY3RlZCIKK21zZ3N0ciAi57WC5q2i5aSa5YyF57Si5byV5Y2A5aGKIGlkIOWHuuePvuaZgumWk+aXqeaWvOmgkOacnyIKKworIzogbWlkeC5jOjE0NQorbXNnaWQgIm11bHRpLXBhY2staW5kZXggbWlzc2luZyByZXF1aXJlZCBwYWNrLW5hbWUgY2h1bmsiCittc2dzdHIgIuWkmuWMhee0ouW8lee8uuWwkeW/hemcgOeahOWMheWQjeWhiiIKKworIzogbWlkeC5jOjE0NworbXNnaWQgIm11bHRpLXBhY2staW5kZXggbWlzc2luZyByZXF1aXJlZCBPSUQgZmFub3V0IGNodW5rIgorbXNnc3RyICLlpJrljIXntKLlvJXnvLrlsJHlv4XpnIDnmoTnianku7YgSUQg5omH5Ye65aGKIgorCisjOiBtaWR4LmM6MTQ5Cittc2dpZCAibXVsdGktcGFjay1pbmRleCBtaXNzaW5nIHJlcXVpcmVkIE9JRCBsb29rdXAgY2h1bmsiCittc2dzdHIgIuWkmuWMhee0ouW8lee8uuWwkeW/hemcgOeahOeJqeS7tiBJRCDmn6XoqaLloYoiCisKKyM6IG1pZHguYzoxNTEKK21zZ2lkICJtdWx0aS1wYWNrLWluZGV4IG1pc3NpbmcgcmVxdWlyZWQgb2JqZWN0IG9mZnNldHMgY2h1bmsiCittc2dzdHIgIuWkmuWMhee0ouW8lee8uuWwkeW/hemcgOeahOeJqeS7tuS9jeenu+WhiiIKKworIzogbWlkeC5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJtdWx0aS1wYWNrLWluZGV4IHBhY2sgbmFtZXMgb3V0IG9mIG9yZGVyOiAnJXMnIGJlZm9yZSAnJXMnIgorbXNnc3RyICLlpJrljIXntKLlvJXljIXlkI3nhKHluo/vvJonJXMnIOWcqCAnJXMnIOS5i+WJjSIKKworIzogbWlkeC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcGFjay1pbnQtaWQ6ICV1ICgldSB0b3RhbCBwYWNrcykiCittc2dzdHIgIumMr+eahCBwYWNrLWludC1pZO+8miV177yI5YWx5pyJICV1IOWAi+WMhe+8iSIKKworIzogbWlkeC5jOjI2MAorbXNnaWQgIm11bHRpLXBhY2staW5kZXggc3RvcmVzIGEgNjQtYml0IG9mZnNldCwgYnV0IG9mZl90IGlzIHRvbyBzbWFsbCIKK21zZ3N0ciAi5aSa5YyF57Si5byV5YSy5a2Y5LiA5YCLNjTkvY3kvY3np7vvvIzkvYbmmK8gb2ZmX3Qg5aSq5bCPIgorCisjOiBtaWR4LmM6Mjg4Cittc2dpZCAiZXJyb3IgcHJlcGFyaW5nIHBhY2tmaWxlIGZyb20gbXVsdGktcGFjay1pbmRleCIKK21zZ3N0ciAi5b6e5aSa5YyF57Si5byV5rqW5YKZIHBhY2tmaWxlIOaZgueZvOeUn+mMr+iqpCIKKworIzogbWlkeC5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhY2tmaWxlICclcyciCittc2dzdHIgIuaWsOWiniBwYWNrZmlsZSAnJXMnIOWkseaVlyIKKworIzogbWlkeC5jOjQ3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBwYWNrLWluZGV4ICclcyciCittc2dzdHIgIumWi+WVn+WMhee0ouW8lSAnJXMnIOWkseaVlyIKKworIzogbWlkeC5jOjUzOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbG9jYXRlIG9iamVjdCAlZCBpbiBwYWNrZmlsZSIKK21zZ3N0ciAi5ZyoIHBhY2tmaWxlIOS4reWumuS9jeeJqeS7tiAlZCDlpLHmlZciCisKKyM6IG1pZHguYzo4NDIKKyN8IG1zZ2lkICJlcnJvciBwcmVwYXJpbmcgcGFja2ZpbGUgZnJvbSBtdWx0aS1wYWNrLWluZGV4IgorbXNnaWQgIkFkZGluZyBwYWNrZmlsZXMgdG8gbXVsdGktcGFjay1pbmRleCIKK21zZ3N0ciAi5q2j5Zyo5paw5aKeIHBhY2tmaWxlIOiHs+WkmuWMhee0ouW8lSIKKworIzogbWlkeC5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJkaWQgbm90IHNlZSBwYWNrLWZpbGUgJXMgdG8gZHJvcCIKK21zZ3N0ciAi5rKS5pyJ55yL5Yiw6KaB5o2o5qOE55qE5YyF5qqU5qGIICVzIgorCisjOiBtaWR4LmM6OTczCisjfCBtc2dpZCAiV3JpdGUgYW5kIHZlcmlmeSBtdWx0aS1wYWNrLWluZGV4ZXMiCittc2dpZCAiV3JpdGluZyBjaHVua3MgdG8gbXVsdGktcGFjay1pbmRleCIKK21zZ3N0ciAi5a+r5YWl5Y2A5aGK6Iez5aSa5YyF57Si5byVIgorCisjOiBtaWR4LmM6MTA1MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2xlYXIgbXVsdGktcGFjay1pbmRleCBhdCAlcyIKK21zZ3N0ciAi5riF55CG5L2N5pa8ICVzIOeahOWkmuWMhee0ouW8leWkseaVlyIKKworIzogbWlkeC5jOjExMDgKK21zZ2lkICJMb29raW5nIGZvciByZWZlcmVuY2VkIHBhY2tmaWxlcyIKK21zZ3N0ciAi5q2j5Zyo5bCL5om+5byV55So55qEIHBhY2tmaWxlIgorCisjOiBtaWR4LmM6MTEyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisib2lkIGZhbm91dCBvdXQgb2Ygb3JkZXI6IGZhbm91dFslZF0gPSAlPFBSSXgzMj4gPiAlPFBSSXgzMj4gPSBmYW5vdXRbJWRdIgorbXNnc3RyICLnianku7YgSUQg5omH5Ye654Sh5bqP77yaZmFub3V0WyVkXSA9ICU8UFJJeDMyPiA+ICU8UFJJeDMyPiA9IGZhbm91dFslZF0iCisKKyM6IG1pZHguYzoxMTI4CisjfCBtc2dpZCAiVmVyaWZ5aW5nIE9JRCBvcmRlciBpbiBNSURYIgorbXNnaWQgIlZlcmlmeWluZyBPSUQgb3JkZXIgaW4gbXVsdGktcGFjay1pbmRleCIKK21zZ3N0ciAi5q2j5Zyo6amX6K2J5aSa5YyF57Si5byV5Lit55qE54mp5Lu2IElEIOmghuW6jyIKKworIzogbWlkeC5jOjExMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAib2lkIGxvb2t1cCBvdXQgb2Ygb3JkZXI6IG9pZFslZF0gPSAlcyA+PSAlcyA9IG9pZFslZF0iCittc2dzdHIgIueJqeS7tiBJRCDmn6XoqaLnhKHluo/vvJpvaWRbJWRdID0gJXMgPj0gJXMgPSBvaWRbJWRdIgorCisjOiBtaWR4LmM6MTE1NworbXNnaWQgIlNvcnRpbmcgb2JqZWN0cyBieSBwYWNrZmlsZSIKK21zZ3N0ciAi6YCP6YGOIHBhY2tmaWxlIOeCuueJqeS7tuaOkuW6jyIKKworIzogbWlkeC5jOjExNjQKK21zZ2lkICJWZXJpZnlpbmcgb2JqZWN0IG9mZnNldHMiCittc2dzdHIgIuato+WcqOmpl+itieeJqeS7tuS9jeenuyIKKworIzogbWlkeC5jOjExODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGxvYWQgcGFjayBlbnRyeSBmb3Igb2lkWyVkXSA9ICVzIgorbXNnc3RyICLngrogb2lkWyVkXSA9ICVzIOi8ieWFpeWMheaineebruWkseaVlyIKKworIzogbWlkeC5jOjExODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGxvYWQgcGFjay1pbmRleCBmb3IgcGFja2ZpbGUgJXMiCittc2dzdHIgIueCuiBwYWNrZmlsZSAlcyDovInlhaXljIXntKLlvJXlpLHmlZciCisKKyM6IG1pZHguYzoxMTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImluY29ycmVjdCBvYmplY3Qgb2Zmc2V0IGZvciBvaWRbJWRdID0gJXM6ICU8UFJJeDY0PiAhPSAlPFBSSXg2ND4iCittc2dzdHIgIm9pZFslZF0gPSAlcyDpjK/oqqTnmoTnianku7bkvY3np7vvvJolPFBSSXg2ND4gIT0gJTxQUkl4NjQ+IgorCisjOiBtaWR4LmM6MTIyMAorI3wgbXNnaWQgInBydW5lIHVucmVmZXJlbmNlZCBvYmplY3RzIgorbXNnaWQgIkNvdW50aW5nIHJlZmVyZW5jZWQgb2JqZWN0cyIKK21zZ3N0ciAi5q2j5Zyo6KiI566X5byV55So54mp5Lu2IgorCisjOiBtaWR4LmM6MTIzMAorI3wgbXNnaWQgIkxvb2tpbmcgZm9yIHJlZmVyZW5jZWQgcGFja2ZpbGVzIgorbXNnaWQgIkZpbmRpbmcgYW5kIGRlbGV0aW5nIHVucmVmZXJlbmNlZCBwYWNrZmlsZXMiCittc2dzdHIgIuato+WcqOWwi+aJvuS4puWIqumZpOaykuacieWPg+iAg+eahCBwYWNrZmlsZSIKKworIzogbWlkeC5jOjEzODgKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgcGFjay1vYmplY3RzIgorbXNnc3RyICLkuI3og73plovlp4sgcGFjay1vYmplY3RzIgorCisjOiBtaWR4LmM6MTQwNworbXNnaWQgImNvdWxkIG5vdCBmaW5pc2ggcGFjay1vYmplY3RzIgorbXNnc3RyICLkuI3og73ntZDmnZ8gcGFjay1vYmplY3RzIgorCisjOiBuYW1lLWhhc2guYzo1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsYXp5X2RpciB0aHJlYWQ6ICVzIgorbXNnc3RyICLkuI3og73lu7rnq4sgbGF6eV9kaXIg5Z+36KGM57eS77yaJXMiCisKKyM6IG5hbWUtaGFzaC5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIGxhenlfbmFtZSB0aHJlYWQ6ICVzIgorbXNnc3RyICLkuI3og73lu7rnq4sgbGF6eV9uYW1lIOWft+ihjOe3ku+8miVzIgorCisjOiBuYW1lLWhhc2guYzo1NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGpvaW4gbGF6eV9uYW1lIHRocmVhZDogJXMiCittc2dzdHIgIuS4jeiDveWKoOWFpSBsYXN5X25hbWUg5Z+36KGM57eS77yaJXMiCisKKyM6IG5vdGVzLW1lcmdlLmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgcHJldmlvdXMgbm90ZXMgbWVyZ2UgKCVzIGV4aXN0cykuXG4iCisiUGxlYXNlLCB1c2UgJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcgb3IgJ2dpdCBub3RlcyBtZXJnZSAtLWFib3J0JyB0byAiCisiY29tbWl0L2Fib3J0IHRoZSBwcmV2aW91cyBtZXJnZSBiZWZvcmUgeW91IHN0YXJ0IGEgbmV3IG5vdGVzIG1lcmdlLiIKK21zZ3N0ciAiIgorIuaCqOeahOWJjeS4gOasoeWCmeiou+WQiOS9teWwmuacque1kOadn++8iOWtmOWcqCAlc++8ieOAglxuIgorIuWcqOmWi+Wni+S4gOWAi+aWsOeahOWCmeiou+WQiOS9teS5i+WJje+8jOiri+S9v+eUqCAnZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0JyDmiJbogIUgJ2dpdCAiCisibm90ZXMgbWVyZ2UgLS1hYm9ydCcg5L6G5o+Q5LqkL+e1guatouWJjeS4gOasoeWQiOS9teOAgiIKKworIzogbm90ZXMtbWVyZ2UuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG5vdGVzIG1lcmdlICglcyBleGlzdHMpLiIKK21zZ3N0ciAi5oKo5bCa5pyq57WQ5p2f5YKZ6Ki75ZCI5L2177yI5a2Y5ZyoICVz77yJ44CCIgorCisjOiBub3Rlcy11dGlscy5jOjQ2Cittc2dpZCAiQ2Fubm90IGNvbW1pdCB1bmluaXRpYWxpemVkL3VucmVmZXJlbmNlZCBub3RlcyB0cmVlIgorbXNnc3RyICLkuI3og73mj5DkuqTmnKrliJ3lp4vljJYv5pyq5byV55So55qE6Ki76Kej5qi5IgorCisjOiBub3Rlcy11dGlscy5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgbm90ZXMucmV3cml0ZU1vZGUgdmFsdWU6ICclcyciCittc2dzdHIgIuWjnueahCBub3Rlcy5yZXdyaXRlTW9kZSDlgLzvvJonJXMnIgorCisjOiBub3Rlcy11dGlscy5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWZ1c2luZyB0byByZXdyaXRlIG5vdGVzIGluICVzIChvdXRzaWRlIG9mIHJlZnMvbm90ZXMvKSIKK21zZ3N0ciAi5ouS57WV5ZCRICVz77yI5ZyoIHJlZnMvbm90ZXMvIOS5i+Wklu+8ieWvq+WFpeiou+inoyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyB0aGUgbmFtZSBvZgorIy4gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgc2Vjb25kICVzIGlzCisjLiBpdHMgdmFsdWUuCisjLgorIzogbm90ZXMtdXRpbHMuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkICVzIHZhbHVlOiAnJXMnIgorbXNnc3RyICLlo57nmoQgJXMg5YC877yaJyVzJyIKKworIzogb2JqZWN0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBvYmplY3QgdHlwZSBcIiVzXCIiCittc2dzdHIgIueEoeaViOeahOeJqeS7tumhnuWeiyBcIiVzXCIiCisKKyM6IG9iamVjdC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICJvYmplY3QgJXMgaXMgYSAlcywgbm90IGEgJXMiCittc2dzdHIgIueJqeS7tiAlcyDmmK/kuIDlgIsgJXPvvIzkuI3mmK/kuIDlgIsgJXMiCisKKyM6IG9iamVjdC5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICJvYmplY3QgJXMgaGFzIHVua25vd24gdHlwZSBpZCAlZCIKK21zZ3N0ciAi54mp5Lu2ICVzIOacieacquefpeeahOmhnuWeiyBpZCAlZCIKKworIzogb2JqZWN0LmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYXJzZSBvYmplY3Q6ICVzIgorbXNnc3RyICLkuI3og73op6PmnpDnianku7bvvJolcyIKKworIzogb2JqZWN0LmM6MjY2IG9iamVjdC5jOjI3NworIywgYy1mb3JtYXQKK21zZ2lkICJoYXNoIG1pc21hdGNoICVzIgorbXNnc3RyICLpm5zmuYrlgLzoiIcgJXMg5LiN56ym5ZCIIgorCisjOiBwYWNrZmlsZS5jOjY0MQorbXNnaWQgIm9mZnNldCBiZWZvcmUgZW5kIG9mIHBhY2tmaWxlIChicm9rZW4gLmlkeD8pIgorbXNnc3RyICLkvY3np7vph4/lnKggcGFja2ZpbGUg57WQ5p2f5LmL5YmN77yI5pCN5aOe55qEIC5pZHjvvJ/vvIkiCisKKyM6IHBhY2tmaWxlLmM6MTg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJvZmZzZXQgYmVmb3JlIHN0YXJ0IG9mIHBhY2sgaW5kZXggZm9yICVzIChjb3JydXB0IGluZGV4PykiCittc2dzdHIgIuS9jeenu+mHj+WcqCAlcyDnmoTljIXntKLlvJXplovlp4vkuYvliY3vvIjmkI3lo57nmoTntKLlvJXvvJ/vvIkiCisKKyM6IHBhY2tmaWxlLmM6MTg5MgorIywgYy1mb3JtYXQKK21zZ2lkICJvZmZzZXQgYmV5b25kIGVuZCBvZiBwYWNrIGluZGV4IGZvciAlcyAodHJ1bmNhdGVkIGluZGV4PykiCittc2dzdHIgIuS9jeenu+mHj+i2iumBjuS6hiAlcyDnmoTljIXntKLlvJXnmoTntZDlsL7vvIjooqvmiKrmlrfnmoTntKLlvJXvvJ/vvIkiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzozOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhIHZhbHVlIgorbXNnc3RyICIlcyDpnIDopoHkuIDlgIvlgLwiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBpbmNvbXBhdGlibGUgd2l0aCAlcyIKK21zZ3N0ciAiJXMg6IiHICVzIOS4jeebuOWuuSIKKworIzogcGFyc2Utb3B0aW9ucy5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIDogaW5jb21wYXRpYmxlIHdpdGggc29tZXRoaW5nIGVsc2UiCittc2dzdHIgIiVz77ya5ZKM5YW25a6D55qE5LiN55u45a65IgorCisjOiBwYXJzZS1vcHRpb25zLmM6OTIgcGFyc2Utb3B0aW9ucy5jOjk2IHBhcnNlLW9wdGlvbnMuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGFrZXMgbm8gdmFsdWUiCittc2dzdHIgIiVzIOS4jeWPluWAvCIKKworIzogcGFyc2Utb3B0aW9ucy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzbid0IGF2YWlsYWJsZSIKK21zZ3N0ciAiJXMg5LiN5Y+v55SoIgorCisjOiBwYXJzZS1vcHRpb25zLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGV4cGVjdHMgYSBub24tbmVnYXRpdmUgaW50ZWdlciB2YWx1ZSB3aXRoIGFuIG9wdGlvbmFsIGsvbS9nIHN1ZmZpeCIKK21zZ3N0ciAiJXMg5pyf5pyb5LiA5YCL6Z2e6LKg5pW05pW45ZKM5LiA5YCL5Y+v6YG455qEIGsvbS9nIOW+jOe2tCIKKworIzogcGFyc2Utb3B0aW9ucy5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbWJpZ3VvdXMgb3B0aW9uOiAlcyAoY291bGQgYmUgLS0lcyVzIG9yIC0tJXMlcykiCittc2dzdHIgIuacieatp+e+qeeahOmBuOmghe+8miVz77yI5Y+v5Lul5pivIC0tJXMlcyDmiJYgLS0lcyVz77yJIgorCisjOiBwYXJzZS1vcHRpb25zLmM6NDIzIHBhcnNlLW9wdGlvbnMuYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlkIHlvdSBtZWFuIGAtLSVzYCAod2l0aCB0d28gZGFzaGVzID8pIgorbXNnc3RyICLkvaDnmoTmhI/mgJ3mmK8gYC0tJXNg77yI5pyJ5YWp5YCL55+t57ea77yf77yJIgorCisjOiBwYXJzZS1vcHRpb25zLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIGAlcyciCittc2dzdHIgIuacquefpemBuOmghSBgJXMnIgorCisjOiBwYXJzZS1vcHRpb25zLmM6ODYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc3dpdGNoIGAlYyciCittc2dzdHIgIuacquefpemWi+mXnCBgJWMnIgorCisjOiBwYXJzZS1vcHRpb25zLmM6ODY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbm9uLWFzY2lpIG9wdGlvbiBpbiBzdHJpbmc6IGAlcyciCittc2dzdHIgIuWtl+S4suS4reacquefpeeahOmdniBhc2NpaSDlrZflhYPpgbjpoIXvvJpgJXMnIgorCisjOiBwYXJzZS1vcHRpb25zLmM6ODg4Cittc2dpZCAiLi4uIgorbXNnc3RyICIuLi4iCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo5MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNhZ2U6ICVzIgorbXNnc3RyICLnlKjms5XvvJolcyIKKworIy4gVFJBTlNMQVRPUlM6IHRoZSBjb2xvbiBoZXJlIHNob3VsZCBhbGlnbiB3aXRoIHRoZQorIy4gb25lIGluICJ1c2FnZTogJXMiIHRyYW5zbGF0aW9uLgorIy4KKyM6IHBhcnNlLW9wdGlvbnMuYzo5MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgb3I6ICVzIgorbXNnc3RyICIgIOaIlu+8miVzIgorCisjICDora/ogIXvvJrngrrkv53orYnlnKjovLjlh7rkuK3lsI3pvYrvvIzms6jmhI/oqr/mlbTlj6XkuK3nqbrmoLzvvIEKKyM6IHBhcnNlLW9wdGlvbnMuYzo5MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICVzIgorbXNnc3RyICIgICAgJXMiCisKKyM6IHBhcnNlLW9wdGlvbnMuYzo5NTUKK21zZ2lkICItTlVNIgorbXNnc3RyICIt5pW45a2XIgorCisjOiBwYXJzZS1vcHRpb25zLmM6OTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsaWFzIG9mIC0tJXMiCittc2dzdHIgIi0tJXMg55qE5Yil5ZCNIgorCisjOiBwYXJzZS1vcHRpb25zLWNiLmM6MjAgcGFyc2Utb3B0aW9ucy1jYi5jOjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCittc2dzdHIgIumBuOmghSBgJXMnIOacn+acm+S4gOWAi+aVuOWtl+WAvCIKKworIzogcGFyc2Utb3B0aW9ucy1jYi5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCBleHBpcmF0aW9uIGRhdGUgJyVzJyIKK21zZ3N0ciAi5qC85byP6Yyv6Kqk55qE5Yiw5pyf5pmC6ZaT77yaJyVzJyIKKworIzogcGFyc2Utb3B0aW9ucy1jYi5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGV4cGVjdHMgXCJhbHdheXNcIiwgXCJhdXRvXCIsIG9yIFwibmV2ZXJcIiIKK21zZ3N0ciAi6YG46aCFIGAlcycg5pyf5pybIFwiYWx3YXlzXCLjgIFcImF1dG9cIiDmiJYgXCJuZXZlclwiIgorCisjOiBwYXJzZS1vcHRpb25zLWNiLmM6MTMwIHBhcnNlLW9wdGlvbnMtY2IuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsZm9ybWVkIG9iamVjdCBuYW1lICclcyciCittc2dzdHIgIuagvOW8j+mMr+iqpOeahOeJqeS7tuWQjSAnJXMnIgorCisjOiBwYXRoLmM6OTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBtYWtlICVzIHdyaXRhYmxlIGJ5IGdyb3VwIgorbXNnc3RyICLkuI3og73oqK3lrpogJXMg54K657WE5Y+v5a+rIgorCisjOiBwYXRoc3BlYy5jOjEzMAorbXNnaWQgIkVzY2FwZSBjaGFyYWN0ZXIgJ1xcJyBub3QgYWxsb3dlZCBhcyBsYXN0IGNoYXJhY3RlciBpbiBhdHRyIHZhbHVlIgorbXNnc3RyICLot7PohKvlrZflhYMgJ1xcJyDkuI3og73kvZzngrrlsazmgKflgLznmoTmnIDlvozkuIDlgIvlrZflhYMiCisKKyM6IHBhdGhzcGVjLmM6MTQ4Cittc2dpZCAiT25seSBvbmUgJ2F0dHI6JyBzcGVjaWZpY2F0aW9uIGlzIGFsbG93ZWQuIgorbXNnc3RyICLlj6rlhYHoqLHkuIDlgIsgJ2F0dHI6JyDopo/moLzjgIIiCisKKyM6IHBhdGhzcGVjLmM6MTUxCittc2dpZCAiYXR0ciBzcGVjIG11c3Qgbm90IGJlIGVtcHR5IgorbXNnc3RyICLlsazmgKfopo/moLzkuI3og73ngrrnqboiCisKKyM6IHBhdGhzcGVjLmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXR0cmlidXRlIG5hbWUgJXMiCittc2dzdHIgIueEoeaViOeahOWxrOaAp+WQjSAlcyIKKworIzogcGF0aHNwZWMuYzoyNTkKK21zZ2lkICJnbG9iYWwgJ2dsb2InIGFuZCAnbm9nbG9iJyBwYXRoc3BlYyBzZXR0aW5ncyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICLlhajln5/nmoQgJ2dsb2InIOWSjCAnbm9nbG9iJyDot6/lvpHopo/moLzoqK3lrprkuI3nm7jlrrkiCisKKyM6IHBhdGhzcGVjLmM6MjY2Cittc2dpZCAiIgorImdsb2JhbCAnbGl0ZXJhbCcgcGF0aHNwZWMgc2V0dGluZyBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgZ2xvYmFsICIKKyJwYXRoc3BlYyBzZXR0aW5ncyIKK21zZ3N0ciAi5YWo5Z+f55qEICdsaXRlcmFsJyDot6/lvpHopo/moLzoqK3lrprlkozlhbblroPnmoTlhajln5/ot6/lvpHopo/moLzoqK3lrprkuI3nm7jlrrkiCisKKyM6IHBhdGhzcGVjLmM6MzA2Cittc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXIgZm9yIHBhdGhzcGVjIG1hZ2ljICdwcmVmaXgnIgorbXNnc3RyICLot6/lvpHopo/moLzljIXlkKvnhKHmlYjnmoTnpZ7lpYfliY3ntrQiCisKKyM6IHBhdGhzcGVjLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGF0aHNwZWMgbWFnaWMgJyUuKnMnIGluICclcyciCittc2dzdHIgIuWcqOi3r+W+keimj+agvCAnJTMkcycg5Lit54Sh5pWI55qE56We5aWH5YmN57a0ICclMiQuKjEkcyciCisKKyM6IHBhdGhzcGVjLmM6MzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIk1pc3NpbmcgJyknIGF0IHRoZSBlbmQgb2YgcGF0aHNwZWMgbWFnaWMgaW4gJyVzJyIKK21zZ3N0ciAi6Lev5b6R6KaP5qC8ICclcycg55qE56We5aWH5YmN57a057WQ5bC+5bCR5LqG5LiA5YCLICcpJyIKKworIzogcGF0aHNwZWMuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pbXBsZW1lbnRlZCBwYXRoc3BlYyBtYWdpYyAnJWMnIGluICclcyciCittc2dzdHIgIui3r+W+keimj+agvCAnJTIkcycg5Lit5YyF5ZCr5pyq5a+m54++55qE56We5aWH5YmN57a0ICclMSRjJyIKKworIzogcGF0aHNwZWMuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICdsaXRlcmFsJyBhbmQgJ2dsb2InIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiVz77yaJ2xpdGVyYWwnIOWSjCAnZ2xvYicg5LiN55u45a65IgorCisjOiBwYXRoc3BlYy5jOjQ0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiCittc2dzdHIgIiVz77yaJyVzJyDlnKjniYjmnKzluqvkuYvlpJYiCisKKyM6IHBhdGhzcGVjLmM6NTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgKG1uZW1vbmljOiAnJWMnKSIKK21zZ3N0ciAiJyVzJ++8iOWKqeiomOespu+8miclYyfvvIkiCisKKyM6IHBhdGhzcGVjLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXRoc3BlYyBtYWdpYyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29tbWFuZDogJXMiCittc2dzdHIgIiVz77ya6Lev5b6R6KaP5qC856We5aWH5YmN57a05LiN6KKr5q2k5oyH5Luk5pSv5o+077yaJXMiCisKKyM6IHBhdGhzcGVjLmM6NTkzCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGhzcGVjICclcycgaXMgYmV5b25kIGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAi6Lev5b6R6KaP5qC8ICclcycg5L2N5pa856ym6Jmf6YCj57WQ5LitIgorCisjOiBwYXRoc3BlYy5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lIGlzIGJhZGx5IHF1b3RlZDogJXMiCittc2dzdHIgIuafkOihjOS4jeaHieipsuiiq+aLrOiZn+aLrOS9j++8miVzIgorCisjOiBwa3QtbGluZS5jOjkyCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGZsdXNoIHBhY2tldCIKK21zZ3N0ciAi54Sh5rOV5a+rIGZsdXNoIOWMhSIKKworIzogcGt0LWxpbmUuYzo5OQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBkZWxpbSBwYWNrZXQiCittc2dzdHIgIueEoeazleWvqyBkZWxpbSDljIUiCisKKyM6IHBrdC1saW5lLmM6MTA2Cittc2dpZCAiZmx1c2ggcGFja2V0IHdyaXRlIGZhaWxlZCIKK21zZ3N0ciAiZmx1c2gg5YyF5a+r6Yyv6KqkIgorCisjOiBwa3QtbGluZS5jOjE0NiBwa3QtbGluZS5jOjIzMgorbXNnaWQgInByb3RvY29sIGVycm9yOiBpbXBvc3NpYmx5IGxvbmcgbGluZSIKK21zZ3N0ciAi5Y2U5a6a6Yyv6Kqk77ya5LiN5Y+v6IO955qE6ZW36KGMIgorCisjOiBwa3QtbGluZS5jOjE2MiBwa3QtbGluZS5jOjE2NAorbXNnaWQgInBhY2tldCB3cml0ZSB3aXRoIGZvcm1hdCBmYWlsZWQiCittc2dzdHIgIuagvOW8j+WMluWMheWvq+WFpemMr+iqpCIKKworIzogcGt0LWxpbmUuYzoxOTYKK21zZ2lkICJwYWNrZXQgd3JpdGUgZmFpbGVkIC0gZGF0YSBleGNlZWRzIG1heCBwYWNrZXQgc2l6ZSIKK21zZ3N0ciAi5a+r5bCB5YyF5aSx5pWX77ya6LOH5paZ6LaF6YGO5LqG5YyF55qE5pyA5aSn6ZW35bqmIgorCisjOiBwa3QtbGluZS5jOjIwMyBwa3QtbGluZS5jOjIxMAorbXNnaWQgInBhY2tldCB3cml0ZSBmYWlsZWQiCittc2dzdHIgIuWwgeWMheWvq+WFpeWkseaVlyIKKworIzogcGt0LWxpbmUuYzoyOTUKK21zZ2lkICJyZWFkIGVycm9yIgorbXNnc3RyICLoroDlj5bpjK/oqqQiCisKKyM6IHBrdC1saW5lLmM6MzAzCittc2dpZCAidGhlIHJlbW90ZSBlbmQgaHVuZyB1cCB1bmV4cGVjdGVkbHkiCittc2dzdHIgIumBoOerr+aEj+WkluaOm+aWt+S6hiIKKworIzogcGt0LWxpbmUuYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJvdG9jb2wgZXJyb3I6IGJhZCBsaW5lIGxlbmd0aCBjaGFyYWN0ZXI6ICUuNHMiCittc2dzdHIgIuWNlOWumumMr+iqpO+8mumMr+iqpOeahOihjOmVt+W6puWtl+S4su+8miUuNHMiCisKKyM6IHBrdC1saW5lLmM6MzQxIHBrdC1saW5lLmM6MzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInByb3RvY29sIGVycm9yOiBiYWQgbGluZSBsZW5ndGggJWQiCittc2dzdHIgIuWNlOWumumMr+iqpO+8mumMr+iqpOeahOihjOmVt+W6piAlZCIKKworIzogcGt0LWxpbmUuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlIGVycm9yOiAlcyIKK21zZ3N0ciAi6YGg56uv6Yyv6Kqk77yaJXMiCisKKyM6IHByZWxvYWQtaW5kZXguYzoxMTkKK21zZ2lkICJSZWZyZXNoaW5nIGluZGV4IgorbXNnc3RyICLmraPlnKjph43mlrDmlbTnkIbntKLlvJUiCisKKyM6IHByZWxvYWQtaW5kZXguYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWRlZCBsc3RhdDogJXMiCittc2dzdHIgIueEoeazleW7uueri+Wft+ihjOe3kiBsc3RhdO+8miVzIgorCisjOiBwcmV0dHkuYzo5ODEKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgLS1wcmV0dHkgZm9ybWF0IgorbXNnc3RyICLkuI3og73op6PmnpAgLS1wcmV0dHkg5qC85byPIgorCisjOiBwcm9taXNvci1yZW1vdGUuYzoyMworbXNnaWQgIlJlbW90ZSB3aXRoIG5vIFVSTCIKK21zZ3N0ciAi6YGg56uv5pyq6Kit5a6aIFVSTCIKKworIzogcHJvbWlzb3ItcmVtb3RlLmM6NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJvbWlzb3IgcmVtb3RlIG5hbWUgY2Fubm90IGJlZ2luIHdpdGggJy8nOiAlcyIKK21zZ3N0ciAicHJvbWlzb3Ig6YGg56uv5ZCN56ix5LiN6IO95LulICcvJyDplovlp4vvvJolcyIKKworIzogcmFuZ2UtZGlmZi5jOjc1Cittc2dpZCAiY291bGQgbm90IHN0YXJ0IGBsb2dgIgorbXNnc3RyICLkuI3og73llZ/li5UgYGxvZ2AiCisKKyM6IHJhbmdlLWRpZmYuYzo3NworbXNnaWQgImNvdWxkIG5vdCByZWFkIGBsb2dgIG91dHB1dCIKK21zZ3N0ciAi5LiN6IO96K6A5Y+WIGBsb2dgIOeahOi8uOWHuiIKKworIzogcmFuZ2UtZGlmZi5jOjk2IHNlcXVlbmNlci5jOjUxNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAnJXMnIgorbXNnc3RyICLkuI3og73op6PmnpDmj5DkuqQgJyVzJyIKKworIzogcmFuZ2UtZGlmZi5jOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgZ2l0IGhlYWRlciAnJS4qcyciCittc2dzdHIgIueEoeazleino+aekCBnaXQg6aCtICclLipzJyIKKworIzogcmFuZ2UtZGlmZi5jOjI4NQorbXNnaWQgImZhaWxlZCB0byBnZW5lcmF0ZSBkaWZmIgorbXNnc3RyICLnlJ/miJAgZGlmZiDlpLHmlZciCisKKyM6IHJhbmdlLWRpZmYuYzo1MTggcmFuZ2UtZGlmZi5jOjUyMAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgbG9nIGZvciAnJXMnIgorbXNnc3RyICLkuI3og73op6PmnpAgJyVzJyDnmoTml6XoqowiCisKKyM6IHJlYWQtY2FjaGUuYzo2ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgYWRkIGZpbGUgYWxpYXMgJyVzJyAoJyVzJyBhbHJlYWR5IGV4aXN0cyBpbiBpbmRleCkiCittc2dzdHIgIuWwh+S4jeacg+aWsOWinuaqlOahiOWIpeWQjSAnJXMn77yIJyVzJyDlt7LntpPlrZjlnKjmlrzntKLlvJXkuK3vvIkiCisKKyM6IHJlYWQtY2FjaGUuYzo2OTYKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGFuIGVtcHR5IGJsb2IgaW4gdGhlIG9iamVjdCBkYXRhYmFzZSIKK21zZ3N0ciAi5LiN6IO95Zyo54mp5Lu26LOH5paZ5bqr5Lit5bu656uL56m655qE6LOH5paZ54mp5Lu2IgorCisjOiByZWFkLWNhY2hlLmM6NzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4gb25seSBhZGQgcmVndWxhciBmaWxlcywgc3ltYm9saWMgbGlua3Mgb3IgZ2l0LWRpcmVjdG9yaWVzIgorbXNnc3RyICIlc++8muWPquiDveaWsOWinuS4gOiIrOaqlOahiOOAgeespuiZn+mAo+e1kOaIliBnaXQg55uu6YyEIgorCisjOiByZWFkLWNhY2hlLmM6NzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZG9lcyBub3QgaGF2ZSBhIGNvbW1pdCBjaGVja2VkIG91dCIKK21zZ3N0ciAiJyVzJyDmspLmnInnsL3lh7rkuIDlgIvmj5DkuqQiCisKKyM6IHJlYWQtY2FjaGUuYzo3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGluZGV4IGZpbGUgJyVzJyIKK21zZ3N0ciAi54Sh5rOV57Si5byV5qqU5qGIICclcyciCisKKyM6IHJlYWQtY2FjaGUuYzo3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFkZCAnJXMnIHRvIGluZGV4IgorbXNnc3RyICLnhKHms5XlnKjntKLlvJXkuK3mlrDlop4gJyVzJyIKKworIzogcmVhZC1jYWNoZS5jOjgwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gc3RhdCAnJXMnIgorbXNnc3RyICLnhKHms5XlsI0gJXMg5Z+36KGMIHN0YXQiCisKKyM6IHJlYWQtY2FjaGUuYzoxMzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgYXBwZWFycyBhcyBib3RoIGEgZmlsZSBhbmQgYXMgYSBkaXJlY3RvcnkiCittc2dzdHIgIiclcycg55yL6LW35L6G5pei5piv5qqU5qGI5Y+I5piv55uu6YyEIgorCisjOiByZWFkLWNhY2hlLmM6MTUzMQorbXNnaWQgIlJlZnJlc2ggaW5kZXgiCittc2dzdHIgIumHjeaWsOaVtOeQhue0ouW8lSIKKworIzogcmVhZC1jYWNoZS5jOjE2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImluZGV4LnZlcnNpb24gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCisiVXNpbmcgdmVyc2lvbiAlaSIKK21zZ3N0ciAiIgorIuioreWumuS6hiBpbmRleC52ZXJzaW9u77yM5L2G5piv5Y+W5YC854Sh5pWI44CCXG4iCisi5L2/55So54mI5pysICVpIgorCisjOiByZWFkLWNhY2hlLmM6MTY1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiR0lUX0lOREVYX1ZFUlNJT04gc2V0LCBidXQgdGhlIHZhbHVlIGlzIGludmFsaWQuXG4iCisiVXNpbmcgdmVyc2lvbiAlaSIKK21zZ3N0ciAiIgorIuioreWumuS6hiBHSVRfSU5ERVhfVkVSU0lPTu+8jOS9huaYr+WPluWAvOeEoeaViOOAglxuIgorIuS9v+eUqOeJiOacrCAlaSIKKworIzogcmVhZC1jYWNoZS5jOjE3MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNpZ25hdHVyZSAweCUwOHgiCittc2dzdHIgIuWjnueahOewveWQjSAweCUwOHgiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzE1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBpbmRleCB2ZXJzaW9uICVkIgorbXNnc3RyICLlo57nmoTntKLlvJXniYjmnKwgJWQiCisKKyM6IHJlYWQtY2FjaGUuYzoxNzI0Cittc2dpZCAiYmFkIGluZGV4IGZpbGUgc2hhMSBzaWduYXR1cmUiCittc2dzdHIgIuWjnueahOe0ouW8leaqlOahiCBzaGExIOewveWQjSIKKworIzogcmVhZC1jYWNoZS5jOjE3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5kZXggdXNlcyAlLjRzIGV4dGVuc2lvbiwgd2hpY2ggd2UgZG8gbm90IHVuZGVyc3RhbmQiCittc2dzdHIgIue0ouW8leS9v+eUqOS4jeiiq+aUr+aPtOeahCAlLjRzIOaTtOWxlSIKKworIworIzogcmVhZC1jYWNoZS5jOjE3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgJS40cyBleHRlbnNpb24iCittc2dzdHIgIuW/veeVpSAlLjRzIOaTtOWxlSIKKworIzogcmVhZC1jYWNoZS5jOjE3OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBpbmRleCBlbnRyeSBmb3JtYXQgMHglMDh4IgorbXNnc3RyICLmnKrnn6XnmoTntKLlvJXmop3nm67moLzlvI8gMHglMDh4IgorCisjOiByZWFkLWNhY2hlLmM6MTgwOQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgbmFtZSBmaWVsZCBpbiB0aGUgaW5kZXgsIG5lYXIgcGF0aCAnJXMnIgorbXNnc3RyICLntKLlvJXkuK3pnaDov5Hot6/lvpEgJyVzJyDmnInpjK/oqqTnmoTlkI3nqLHmrITkvY0iCisKKyM6IHJlYWQtY2FjaGUuYzoxODY2Cittc2dpZCAidW5vcmRlcmVkIHN0YWdlIGVudHJpZXMgaW4gaW5kZXgiCittc2dzdHIgIue0ouW8leS4reacieacquaOkuW6j+eahOaaq+WtmOaineebriIKKworIzogcmVhZC1jYWNoZS5jOjE4NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVsdGlwbGUgc3RhZ2UgZW50cmllcyBmb3IgbWVyZ2VkIGZpbGUgJyVzJyIKK21zZ3N0ciAi5ZCI5L215qqU5qGIICclcycg5pyJ5aSa5YCL5pqr5a2Y5qKd55uuIgorCisjOiByZWFkLWNhY2hlLmM6MTg3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm9yZGVyZWQgc3RhZ2UgZW50cmllcyBmb3IgJyVzJyIKK21zZ3N0ciAiJyVzJyDnmoTmnKrmjpLluo/mmqvlrZjmop3nm64iCisKKyM6IHJlYWQtY2FjaGUuYzoxOTc4IHJlYWQtY2FjaGUuYzoyMjY2IHJlcmVyZS5jOjU2NSByZXJlcmUuYzo1OTkgcmVyZXJlLmM6MTExMQorIzogYnVpbHRpbi9hZGQuYzo0OTkgYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzggYnVpbHRpbi9jaGVja291dC5jOjQ3MAorIzogYnVpbHRpbi9jaGVja291dC5jOjY1NCBidWlsdGluL2NsZWFuLmM6OTY3IGJ1aWx0aW4vY29tbWl0LmM6MzY3CisjOiBidWlsdGluL2RpZmYtdHJlZS5jOjEyMCBidWlsdGluL2dyZXAuYzo0OTkgYnVpbHRpbi9tdi5jOjE0NQorIzogYnVpbHRpbi9yZXNldC5jOjI0NiBidWlsdGluL3JtLmM6MjcxIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzozMzIKK21zZ2lkICJpbmRleCBmaWxlIGNvcnJ1cHQiCittc2dzdHIgIue0ouW8leaqlOahiOaQjeWjniIKKworIzogcmVhZC1jYWNoZS5jOjIxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsb2FkX2NhY2hlX2VudHJpZXMgdGhyZWFkOiAlcyIKK21zZ3N0ciAi54Sh5rOV5bu656uLIGxvYWRfY2FjaGVfZW50cmllcyDln7fooYznt5LvvJolcyIKKworIzogcmVhZC1jYWNoZS5jOjIxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGpvaW4gbG9hZF9jYWNoZV9lbnRyaWVzIHRocmVhZDogJXMiCittc2dzdHIgIueEoeazleWKoOWFpSBsb2FkX2NhY2hlX2VudHJpZXMg5Z+36KGM57eS77yaJXMiCisKKyM6IHJlYWQtY2FjaGUuYzoyMTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmRleCBmaWxlIG9wZW4gZmFpbGVkIgorbXNnc3RyICIlc++8mumWi+WVn+e0ouW8leaqlOahiOWkseaVlyIKKworIzogcmVhZC1jYWNoZS5jOjIxNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBzdGF0IHRoZSBvcGVuIGluZGV4IgorbXNnc3RyICIlc++8muS4jeiDveWwjemWi+WVn+eahOe0ouW8leWft+ihjCBzdGF0IOWLleS9nCIKKworIzogcmVhZC1jYWNoZS5jOjIxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluZGV4IGZpbGUgc21hbGxlciB0aGFuIGV4cGVjdGVkIgorbXNnc3RyICIlc++8mue0ouW8leaqlOahiOavlOmgkOacn+eahOWwjyIKKworIzogcmVhZC1jYWNoZS5jOjIxNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBtYXAgaW5kZXggZmlsZSIKK21zZ3N0ciAiJXPvvJrnhKHms5XlsI3ntKLlvJXmqpTmoYjln7fooYwgbWFwIOWLleS9nCIKKworIzogcmVhZC1jYWNoZS5jOjIyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBsb2FkX2luZGV4X2V4dGVuc2lvbnMgdGhyZWFkOiAlcyIKK21zZ3N0ciAi54Sh5rOV5bu656uLIGxvYWRfaW5kZXhfZXh0ZW5zaW9ucyDln7fooYznt5LvvJolcyIKKworIzogcmVhZC1jYWNoZS5jOjIyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGpvaW4gbG9hZF9pbmRleF9leHRlbnNpb25zIHRocmVhZDogJXMiCittc2dzdHIgIueEoeazleWKoOWFpSBsb2FkX2luZGV4X2V4dGVuc2lvbnMg5Z+36KGM57eS77yaJXMiCisKKyM6IHJlYWQtY2FjaGUuYzoyMjc4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmcmVzaGVuIHNoYXJlZCBpbmRleCAnJXMnIgorbXNnc3RyICLnhKHms5Xph43mlrDmlbTnkIblhbHkuqvntKLlvJUgJyVzJyIKKworIzogcmVhZC1jYWNoZS5jOjIzMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYnJva2VuIGluZGV4LCBleHBlY3QgJXMgaW4gJXMsIGdvdCAlcyIKK21zZ3N0ciAi5pCN5aOe55qE57Si5byV77yM5pyf5pyb5ZyoICUyJHMg5Lit55qEICUxJHPvvIzlvpfliLAgJTMkcyIKKworIzogcmVhZC1jYWNoZS5jOjMwMjEgc3RyYnVmLmM6MTE0NSB3cmFwcGVyLmM6NjIyIGJ1aWx0aW4vbWVyZ2UuYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjbG9zZSAnJXMnIgorbXNnc3RyICLkuI3og73pl5zplokgJyVzJyIKKworIzogcmVhZC1jYWNoZS5jOjMxMjQgc2VxdWVuY2VyLmM6MjQyOSBzZXF1ZW5jZXIuYzo0MDY5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGF0ICclcyciCittc2dzdHIgIuS4jeiDveWwjSAnJXMnIOWRvOWPqyBzdGF0IgorCisjOiByZWFkLWNhY2hlLmM6MzEzNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiBnaXQgZGlyOiAlcyIKK21zZ3N0ciAi5LiN6IO96ZaL5ZWfIGdpdCDnm67pjITvvJolcyIKKworIzogcmVhZC1jYWNoZS5jOjMxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHVubGluazogJXMiCittc2dzdHIgIueEoeazleWIqumZpO+8miVzIgorCisjOiByZWFkLWNhY2hlLmM6MzE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZml4IHBlcm1pc3Npb24gYml0cyBvbiAnJXMnIgorbXNnc3RyICLkuI3og73kv67lvqkgJyVzJyDnmoTmrIrpmZDkvY0iCisKKyM6IHJlYWQtY2FjaGUuYzozMzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZHJvcCB0byBzdGFnZSAjMCIKK21zZ3N0ciAiJXPvvJrkuI3og73okL3liLDmmqvlrZjljYAgIzAiCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1bnJlY29nbml6ZWQgc2V0dGluZyAlcyBmb3Igb3B0aW9uIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiBJZ25vcmluZy4iCittc2dzdHIgIumBuOmghSByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjayDnmoTlgLwgJXMg54Sh5rOV6K2Y5Yil44CC5bey5b+955Wl44CCIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzozNQorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKKyJwLCBwaWNrIDxjb21taXQ+ID0gdXNlIGNvbW1pdFxuIgorInIsIHJld29yZCA8Y29tbWl0PiA9IHVzZSBjb21taXQsIGJ1dCBlZGl0IHRoZSBjb21taXQgbWVzc2FnZVxuIgorImUsIGVkaXQgPGNvbW1pdD4gPSB1c2UgY29tbWl0LCBidXQgc3RvcCBmb3IgYW1lbmRpbmdcbiIKKyJzLCBzcXVhc2ggPGNvbW1pdD4gPSB1c2UgY29tbWl0LCBidXQgbWVsZCBpbnRvIHByZXZpb3VzIGNvbW1pdFxuIgorImYsIGZpeHVwIDxjb21taXQ+ID0gbGlrZSBcInNxdWFzaFwiLCBidXQgZGlzY2FyZCB0aGlzIGNvbW1pdCdzIGxvZyBtZXNzYWdlXG4iCisieCwgZXhlYyA8Y29tbWFuZD4gPSBydW4gY29tbWFuZCAodGhlIHJlc3Qgb2YgdGhlIGxpbmUpIHVzaW5nIHNoZWxsXG4iCisiYiwgYnJlYWsgPSBzdG9wIGhlcmUgKGNvbnRpbnVlIHJlYmFzZSBsYXRlciB3aXRoICdnaXQgcmViYXNlIC0tY29udGludWUnKVxuIgorImQsIGRyb3AgPGNvbW1pdD4gPSByZW1vdmUgY29tbWl0XG4iCisibCwgbGFiZWwgPGxhYmVsPiA9IGxhYmVsIGN1cnJlbnQgSEVBRCB3aXRoIGEgbmFtZVxuIgorInQsIHJlc2V0IDxsYWJlbD4gPSByZXNldCBIRUFEIHRvIGEgbGFiZWxcbiIKKyJtLCBtZXJnZSBbLUMgPGNvbW1pdD4gfCAtYyA8Y29tbWl0Pl0gPGxhYmVsPiBbIyA8b25lbGluZT5dXG4iCisiLiAgICAgICBjcmVhdGUgYSBtZXJnZSBjb21taXQgdXNpbmcgdGhlIG9yaWdpbmFsIG1lcmdlIGNvbW1pdCdzXG4iCisiLiAgICAgICBtZXNzYWdlIChvciB0aGUgb25lbGluZSwgaWYgbm8gb3JpZ2luYWwgbWVyZ2UgY29tbWl0IHdhc1xuIgorIi4gICAgICAgc3BlY2lmaWVkKS4gVXNlIC1jIDxjb21taXQ+IHRvIHJld29yZCB0aGUgY29tbWl0IG1lc3NhZ2UuXG4iCisiXG4iCisiVGhlc2UgbGluZXMgY2FuIGJlIHJlLW9yZGVyZWQ7IHRoZXkgYXJlIGV4ZWN1dGVkIGZyb20gdG9wIHRvIGJvdHRvbS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIuaMh+S7pDpcbiIKKyJwLCBwaWNrIDzmj5DkuqQ+ID0g5L2/55So5o+Q5LqkXG4iCisiciwgcmV3b3JkIDzmj5DkuqQ+ID0g5L2/55So5o+Q5Lqk77yM5L2G5L+u5pS55o+Q5Lqk6Kqq5piOXG4iCisiZSwgZWRpdCA85o+Q5LqkPiA9IOS9v+eUqOaPkOS6pO+8jOmAsuWFpSBzaGVsbCDku6Xkvr/pgLLooYzmj5DkuqTkv67oo5xcbiIKKyJzLCBzcXVhc2ggPOaPkOS6pD4gPSDkvb/nlKjmj5DkuqTvvIzkvYbono3lkIjliLDliY3kuIDlgIvmj5DkuqRcbiIKKyJmLCBmaXh1cCA85o+Q5LqkPiA9IOmhnuS8vOaWvCBcInNxdWFzaFwi77yM5L2G5o2o5qOE5o+Q5Lqk6Kqq5piO5pel6KqMXG4iCisieCwgZXhlYyA85oyH5LukPiA9IOS9v+eUqCBzaGVsbCDln7fooYzmjIfku6TvvIjmraTooYzlianppJjpg6jliIbvvIlcbiIKKyJiLCBicmVhayA9IOWcqOatpOiZleWBnOatou+8iOS9v+eUqCAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyDnubznuozph43lrprln7rlupXvvIlcbiIKKyJkLCBkcm9wIDzmj5DkuqQ+ID0g5Yiq6Zmk5o+Q5LqkXG4iCisibCwgbGFiZWwgPGxhYmVsPiA9IOeCuuebruWJjSBIRUFEIOaJk+S4iuaomeiomFxuIgorInQsIHJlc2V0IDxsYWJlbD4gPSDph43oqK0gSEVBRCDliLDoqbLmqJnoqJhcbiIKKyJtLCBtZXJnZSBbLUMgPGNvbW1pdD4gfCAtYyA8Y29tbWl0Pl0gPGxhYmVsPiBbIyA8b25lbGluZT5dXG4iCisiLiAgICAgICDlu7rnq4vkuIDlgIvlkIjkvbXmj5DkuqTvvIzkuKbkvb/nlKjljp/lp4vnmoTlkIjkvbXmj5DkuqToqqrmmI7vvIjlpoLmnpzmspLmnInmjIflrppcbiIKKyIuICAgICAgIOWOn+Wni+aPkOS6pO+8jOS9v+eUqOWCmeiou+mDqOWIhueahCBvbmVsaW5lIOS9nOeCuuaPkOS6pOiqquaYju+8ieOAguS9v+eUqFxuIgorIi4gICAgICAgLWMgPOaPkOS6pD4g5Y+v5Lul57eo6Lyv5o+Q5Lqk6Kqq5piO44CCXG4iCisiXG4iCisi5Y+v5Lul5bCN6YCZ5Lqb6KGM6YeN5paw5o6S5bqP77yM5bCH5b6e5LiK6Iez5LiL5Z+36KGM44CCXG4iCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kKSIKK21zZ2lkX3BsdXJhbCAiUmViYXNlICVzIG9udG8gJXMgKCVkIGNvbW1hbmRzKSIKK21zZ3N0clswXSAi6YeN5a6a5Z+65bqVICVzIOWIsCAlc++8iCVkIOWAi+aPkOS6pO+8iSIKK21zZ3N0clsxXSAi6YeN5a6a5Z+65bqVICVzIOWIsCAlc++8iCVkIOWAi+aPkOS6pO+8iSIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6NjUgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjIyOAorbXNnaWQgIiIKKyJcbiIKKyJEbyBub3QgcmVtb3ZlIGFueSBsaW5lLiBVc2UgJ2Ryb3AnIGV4cGxpY2l0bHkgdG8gcmVtb3ZlIGEgY29tbWl0LlxuIgorbXNnc3RyICIiCisiXG4iCisi5LiN6KaB5Yiq6Zmk5Lu75oSP5LiA6KGM44CC5L2/55SoICdkcm9wJyDpoa/lvI/lnLDliKrpmaTkuIDlgIvmj5DkuqTjgIJcbiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6NjggZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjIzMgorbXNnaWQgIiIKKyJcbiIKKyJJZiB5b3UgcmVtb3ZlIGEgbGluZSBoZXJlIFRIQVQgQ09NTUlUIFdJTEwgQkUgTE9TVC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIuWmguaenOaCqOWcqOmAmeijoeWIqumZpOS4gOihjO+8jOWwjeaHieeahOaPkOS6pOWwh+acg+mBuuWkseOAglxuIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo3NCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODcxCittc2dpZCAiIgorIlxuIgorIllvdSBhcmUgZWRpdGluZyB0aGUgdG9kbyBmaWxlIG9mIGFuIG9uZ29pbmcgaW50ZXJhY3RpdmUgcmViYXNlLlxuIgorIlRvIGNvbnRpbnVlIHJlYmFzZSBhZnRlciBlZGl0aW5nLCBydW46XG4iCisiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisi5oKo5q2j5Zyo5L+u5pS56YCy6KGM5Lit55qE5LqS5YuV5byP6YeN5a6a5Z+65bqV5b6F6L6m5YiX6KGo44CC6Iul6KaB5Zyo57eo6Lyv57WQ5p2f5b6M57m857qM6YeN5a6a5Z+65bqV77yMXG4iCisi6KuL5Z+36KGM77yaXG4iCisiICAgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorIlxuIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzo3OSBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTQ4Cittc2dpZCAiIgorIlxuIgorIkhvd2V2ZXIsIGlmIHlvdSByZW1vdmUgZXZlcnl0aGluZywgdGhlIHJlYmFzZSB3aWxsIGJlIGFib3J0ZWQuXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyLnhLbogIzvvIzlpoLmnpzmgqjliKrpmaTlhajpg6jlhaflrrnvvIzph43lrprln7rlupXli5XkvZzlsIfmnIPntYLmraLjgIJcbiIKKyJcbiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6ODUgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk1NQorbXNnaWQgIk5vdGUgdGhhdCBlbXB0eSBjb21taXRzIGFyZSBjb21tZW50ZWQgb3V0IgorbXNnc3RyICLms6jmhI/nqbrmj5DkuqTlt7LooqvlgpnoqLvmjokiCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjEwNSByZXJlcmUuYzo0ODUgcmVyZXJlLmM6NjkyIHNlcXVlbmNlci5jOjM1MzYKKyM6IHNlcXVlbmNlci5jOjM1NjIgc2VxdWVuY2VyLmM6NTI2MyBidWlsdGluL2ZzY2suYzozNDYgYnVpbHRpbi9yZWJhc2UuYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHdyaXRlICclcyciCittc2dzdHIgIuS4jeiDveWvq+WFpSAnJXMnIgorCisjOiByZWJhc2UtaW50ZXJhY3RpdmUuYzoxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAi5LiN6IO96KSH6KO9ICclcycg6IezICclcyfjgIIiCisKKyM6IHJlYmFzZS1pbnRlcmFjdGl2ZS5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV2FybmluZzogc29tZSBjb21taXRzIG1heSBoYXZlIGJlZW4gZHJvcHBlZCBhY2NpZGVudGFsbHkuXG4iCisiRHJvcHBlZCBjb21taXRzIChuZXdlciB0byBvbGRlcik6XG4iCittc2dzdHIgIiIKKyLorablkYrvvJrkuIDkupvmj5DkuqTlj6/og73ooqvmhI/lpJbmjajmo4TjgIJcbiIKKyLmjajmo4TnmoTmj5DkuqTvvIjlvp7mlrDliLDoiIrvvInvvJpcbiIKKworIzogcmViYXNlLWludGVyYWN0aXZlLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUbyBhdm9pZCB0aGlzIG1lc3NhZ2UsIHVzZSBcImRyb3BcIiB0byBleHBsaWNpdGx5IHJlbW92ZSBhIGNvbW1pdC5cbiIKKyJcbiIKKyJVc2UgJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHRvIGNoYW5nZSB0aGUgbGV2ZWwgb2YgIgorIndhcm5pbmdzLlxuIgorIlRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIueCuumBv+WFjemAmeaineioiuaBr++8jOS9v+eUqCBcImRyb3BcIiDmjIfku6Tpoa/lvI/lnLDliKrpmaTkuIDlgIvmj5DkuqTjgIJcbiIKKyJcbiIKKyLkvb/nlKggJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIOS+huS/ruaUueitpuWRiue0muWIpeOAglxuIgorIuWPr+mBuOWAvOacie+8mmlnbm9yZeOAgXdhcm7jgIFlcnJvcuOAglxuIgorIlxuIgorCisjOiByZWZzLmM6MjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgb2JqZWN0ISIKK21zZ3N0ciAiJXMg5rKS5pyJ5oyH5ZCR5LiA5YCL5pyJ5pWI55qE54mp5Lu277yBIgorCisjOiByZWZzLmM6NjY3CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIGRhbmdsaW5nIHN5bXJlZiAlcyIKK21zZ3N0ciAi5b+955Wl5oe456m656ym6Jmf5byV55SoICVzIgorCisjOiByZWZzLmM6NjY5IHJlZi1maWx0ZXIuYzoyMDk4CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIGJyb2tlbiByZWYgJXMiCittc2dzdHIgIuW/veeVpeaQjeWjnueahOW8leeUqCAlcyIKKworIzogcmVmcy5jOjgwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nOiAlcyIKK21zZ3N0ciAi54Sh5rOV54K65a+r5YWl6ZaL5ZWfICclcyfvvJolcyIKKworIzogcmVmcy5jOjgxNCByZWZzLmM6ODY1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIHJlZiAnJXMnIgorbXNnc3RyICLnhKHms5XoroDlj5blvJXnlKggJyVzJyIKKworIzogcmVmcy5jOjgyMAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWYgJyVzJyBhbHJlYWR5IGV4aXN0cyIKK21zZ3N0ciAi5byV55SoICclcycg5bey57aT5a2Y5ZyoIgorCisjOiByZWZzLmM6ODI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgb2JqZWN0IElEIHdoZW4gd3JpdGluZyAnJXMnIgorbXNnc3RyICLlr6vlhaUgJyVzJyDmmYLmhI/lpJbnmoTnianku7YgSUQiCisKKyM6IHJlZnMuYzo4MzMgc2VxdWVuY2VyLmM6NDA1IHNlcXVlbmNlci5jOjI3OTMgc2VxdWVuY2VyLmM6Mjk5NworIzogc2VxdWVuY2VyLmM6MzAxMSBzZXF1ZW5jZXIuYzozMjY5IHNlcXVlbmNlci5jOjUxNzkgc3RyYnVmLmM6MTE0MgorIzogd3JhcHBlci5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIKK21zZ3N0ciAi5LiN6IO95a+r5YWlICclcyciCisKKyM6IHJlZnMuYzo4NjAgc3RyYnVmLmM6MTE0MCB3cmFwcGVyLmM6MTg4IHdyYXBwZXIuYzozNTggYnVpbHRpbi9hbS5jOjcxNAorIzogYnVpbHRpbi9yZWJhc2UuYzoxMDMxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciCittc2dzdHIgIueEoeazlemWi+WVnyAnJXMnIOmAsuihjOWvq+WFpSIKKworIzogcmVmcy5jOjg2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIG9iamVjdCBJRCB3aGVuIGRlbGV0aW5nICclcyciCittc2dzdHIgIuWIqumZpCAnJXMnIOaZguaEj+WklueahOeJqeS7tiBJRCIKKworIzogcmVmcy5jOjk5OAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2cgZm9yIHJlZiAlcyBoYXMgZ2FwIGFmdGVyICVzIgorbXNnc3RyICLlvJXnlKggJXMg55qE5pel6KqM5ZyoICVzIOS5i+W+jOaciee8uuWPoyIKKworIzogcmVmcy5jOjEwMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9nIGZvciByZWYgJXMgdW5leHBlY3RlZGx5IGVuZGVkIG9uICVzIgorbXNnc3RyICLlvJXnlKggJXMg55qE5pel6KqM5oSP5aSW57WC5q2i5pa8ICVzICIKKworIzogcmVmcy5jOjEwNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9nIGZvciAlcyBpcyBlbXB0eSIKK21zZ3N0ciAiJXMg55qE5pel6KqM54K656m6IgorCisjOiByZWZzLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZ1c2luZyB0byB1cGRhdGUgcmVmIHdpdGggYmFkIG5hbWUgJyVzJyIKK21zZ3N0ciAi5ouS57WV5pu05paw5pyJ6Yyv6Kqk5ZCN56ixICclcycg55qE5byV55SoIgorCisjOiByZWZzLmM6MTIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1cGRhdGVfcmVmIGZhaWxlZCBmb3IgcmVmICclcyc6ICVzIgorbXNnc3RyICLlsI3lvJXnlKggJyVzJyDln7fooYwgdXBkYXRlX3JlZiDlpLHmlZfvvJolcyIKKworIzogcmVmcy5jOjIwMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVsdGlwbGUgdXBkYXRlcyBmb3IgcmVmICclcycgbm90IGFsbG93ZWQiCittc2dzdHIgIuS4jeWFgeioseWwjeW8leeUqCAnJXMnIOWkmuasoeabtOaWsCIKKworIzogcmVmcy5jOjIwNTUKK21zZ2lkICJyZWYgdXBkYXRlcyBmb3JiaWRkZW4gaW5zaWRlIHF1YXJhbnRpbmUgZW52aXJvbm1lbnQiCittc2dzdHIgIuWcqOmalOmboueSsOWig+S4reemgeatouabtOaWsOW8leeUqCIKKworIzogcmVmcy5jOjIxNTEgcmVmcy5jOjIxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJyVzJyIKK21zZ3N0ciAiJyVzJyDlt7LlrZjlnKjvvIznhKHms5Xlu7rnq4sgJyVzJyIKKworIzogcmVmcy5jOjIxNTcgcmVmcy5jOjIxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHByb2Nlc3MgJyVzJyBhbmQgJyVzJyBhdCB0aGUgc2FtZSB0aW1lIgorbXNnc3RyICLnhKHms5XlkIzmmYLomZXnkIYgJyVzJyDlkowgJyVzJyIKKworIzogcmVmcy9maWxlcy1iYWNrZW5kLmM6MTIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVtb3ZlIHJlZmVyZW5jZSAlcyIKK21zZ3N0ciAi54Sh5rOV5Yiq6Zmk5byV55SoICVzIgorCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxMjQ4IHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTQxCisjOiByZWZzL3BhY2tlZC1iYWNrZW5kLmM6MTU1MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZGVsZXRlIHJlZmVyZW5jZSAlczogJXMiCittc2dzdHIgIueEoeazleWIqumZpOW8leeUqCAlc++8miVzIgorCisjOiByZWZzL2ZpbGVzLWJhY2tlbmQuYzoxMjUxIHJlZnMvcGFja2VkLWJhY2tlbmQuYzoxNTU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBkZWxldGUgcmVmZXJlbmNlczogJXMiCittc2dzdHIgIueEoeazleWIqumZpOW8leeUqO+8miVzIgorCisjOiByZWZzcGVjLmM6MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVmc3BlYyAnJXMnIgorbXNnc3RyICLnhKHmlYjnmoTlvJXnlKjooajpgZTlvI/vvJonJXMnIgorCisjOiByZWYtZmlsdGVyLmM6NDIgd3Qtc3RhdHVzLmM6MTkzOAorbXNnaWQgImdvbmUiCittc2dzdHIgIumBuuWksSIKKworIzogcmVmLWZpbHRlci5jOjQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFoZWFkICVkIgorbXNnc3RyICLpoJjlhYggJWQiCisKKyM6IHJlZi1maWx0ZXIuYzo0NAorIywgYy1mb3JtYXQKK21zZ2lkICJiZWhpbmQgJWQiCittc2dzdHIgIuiQveW+jCAlZCIKKworIzogcmVmLWZpbHRlci5jOjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImFoZWFkICVkLCBiZWhpbmQgJWQiCittc2dzdHIgIumgmOWFiCAlZO+8jOiQveW+jCAlZCIKKworIzogcmVmLWZpbHRlci5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJleHBlY3RlZCBmb3JtYXQ6ICUlKGNvbG9yOjxjb2xvcj4pIgorbXNnc3RyICLmnJ/mnJvnmoTmoLzlvI/vvJolJShjb2xvcjo86aGP6ImyPikiCisKKyM6IHJlZi1maWx0ZXIuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIGNvbG9yOiAlJShjb2xvcjolcykiCittc2dzdHIgIuacquiDveitmOWIpeeahOmhj+iJsu+8miUlKGNvbG9yOiVzKSIKKworIzogcmVmLWZpbHRlci5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlZ2VyIHZhbHVlIGV4cGVjdGVkIHJlZm5hbWU6bHN0cmlwPSVzIgorbXNnc3RyICLmnJ/mnJvmlbTmlbjlgLwgcmVmbmFtZTpsc3RyaXA9JXMiCisKKyM6IHJlZi1maWx0ZXIuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZWdlciB2YWx1ZSBleHBlY3RlZCByZWZuYW1lOnJzdHJpcD0lcyIKK21zZ3N0ciAi5pyf5pyb5pW05pW45YC8IHJlZm5hbWU6cnN0cmlwPSVzIgorCisjOiByZWYtZmlsdGVyLmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCAlJSglcykgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLmnKrog73orZjliKXnmoQgJSUoJXMpIOWPg+aVuO+8miVzIgorCisjOiByZWYtZmlsdGVyLmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlKG9iamVjdHR5cGUpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgorbXNnc3RyICIlJShvYmplY3R0eXBlKSDkuI3luLblj4PmlbgiCisKKyM6IHJlZi1maWx0ZXIuYzoyNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkICUlKG9iamVjdHNpemUpIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5pyq6IO96K2Y5Yil55qEICUlKG9iamVjdHNpemUpIOWPg+aVuO+8miVzIgorCisjOiByZWYtZmlsdGVyLmM6MjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlKGRlbHRhYmFzZSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCittc2dzdHIgIiUlKGRlbHRhYmFzZSkg5LiN5bi25Y+D5pW4IgorCisjOiByZWYtZmlsdGVyLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlKGJvZHkpIGRvZXMgbm90IHRha2UgYXJndW1lbnRzIgorbXNnc3RyICIlJShib2R5KSDkuI3luLblj4PmlbgiCisKKyM6IHJlZi1maWx0ZXIuYzozMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSUoc3ViamVjdCkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiCittc2dzdHIgIiUlKHN1YmplY3QpIOS4jeW4tuWPg+aVuCIKKworIzogcmVmLWZpbHRlci5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duICUlKHRyYWlsZXJzKSBhcmd1bWVudDogJXMiCittc2dzdHIgIuacquefpeeahCAlJSh0cmFpbGVycykg5Y+D5pW477yaJXMiCisKKyM6IHJlZi1maWx0ZXIuYzozNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAicG9zaXRpdmUgdmFsdWUgZXhwZWN0ZWQgY29udGVudHM6bGluZXM9JXMiCittc2dzdHIgIuacn+acm+S4gOWAi+ato+aVuCBjb250ZW50czpsaW5lcz0lcyIKKworIzogcmVmLWZpbHRlci5jOjM1NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUoY29udGVudHMpIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5pyq6IO96K2Y5Yil55qEICUlKGNvbnRlbnRzKSDlj4PmlbjvvJolcyIKKworIzogcmVmLWZpbHRlci5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJwb3NpdGl2ZSB2YWx1ZSBleHBlY3RlZCBvYmplY3RuYW1lOnNob3J0PSVzIgorbXNnc3RyICLmnJ/mnJvkuIDlgIvmraPmlbggb2JqZWN0bmFtZTpzaG9ydD0lcyIKKworIzogcmVmLWZpbHRlci5jOjM3MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUob2JqZWN0bmFtZSkgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLmnKrog73orZjliKXnmoQgJSUob2JqZWN0bmFtZSkg5Y+D5pW477yaJXMiCisKKyM6IHJlZi1maWx0ZXIuYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhwZWN0ZWQgZm9ybWF0OiAlJShhbGlnbjo8d2lkdGg+LDxwb3NpdGlvbj4pIgorbXNnc3RyICLmnJ/mnJvnmoTmoLzlvI/vvJolJShhbGlnbjo85a+s5bqmPiw85L2N572uPikiCisKKyM6IHJlZi1maWx0ZXIuYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHBvc2l0aW9uOiVzIgorbXNnc3RyICLmnKrog73orZjliKXnmoTkvY3nva7vvJolcyIKKworIzogcmVmLWZpbHRlci5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgd2lkdGg6JXMiCittc2dzdHIgIuacquiDveitmOWIpeeahOWvrOW6pu+8miVzIgorCisjOiByZWYtZmlsdGVyLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCAlJShhbGlnbikgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLmnKrog73orZjliKXnmoQgJSUoYWxpZ24pIOWPg+aVuO+8miVzIgorCisjOiByZWYtZmlsdGVyLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgInBvc2l0aXZlIHdpZHRoIGV4cGVjdGVkIHdpdGggdGhlICUlKGFsaWduKSBhdG9tIgorbXNnc3RyICLlhYPntKAgJSUoYWxpZ24pIOmcgOimgeS4gOWAi+ato+aVuOeahOWvrOW6piIKKworIzogcmVmLWZpbHRlci5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgJSUoaWYpIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5pyq6IO96K2Y5Yil55qEICUlKGlmKSDlj4PmlbjvvJolcyIKKworIzogcmVmLWZpbHRlci5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgZmllbGQgbmFtZTogJS4qcyIKK21zZ3N0ciAi5qC85byP6Yyv6Kqk55qE5qyE5L2N5ZCN77yaJS4qcyIKKworIzogcmVmLWZpbHRlci5jOjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpZWxkIG5hbWU6ICUuKnMiCittc2dzdHIgIuacquefpeeahOashOS9jeWQje+8miUuKnMiCisKKyM6IHJlZi1maWx0ZXIuYzo1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5vdCBhIGdpdCByZXBvc2l0b3J5LCBidXQgdGhlIGZpZWxkICclLipzJyByZXF1aXJlcyBhY2Nlc3MgdG8gb2JqZWN0IGRhdGEiCittc2dzdHIgIuS4jeaYr+S4gOWAiyBnaXQg54mI5pys5bqr77yM5L2G5piv5qyE5L2NICclLipzJyDpnIDopoHlrZjlj5bnianku7bos4fmlpkiCisKKyM6IHJlZi1maWx0ZXIuYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShpZikgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgorbXNnc3RyICLmoLzlvI/vvJrkvb/nlKjkuoYgJSUoaWYpIOWFg+e0oOiAjOaykuaciSAlJSh0aGVuKSDlhYPntKAiCisKKyM6IHJlZi1maWx0ZXIuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKK21zZ3N0ciAi5qC85byP77ya5L2/55So5LqGICUlKHRoZW4pIOWFg+e0oOiAjOaykuaciSAlJShpZikg5YWD57SgIgorCisjOiByZWYtZmlsdGVyLmM6Nzc5CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUodGhlbikgYXRvbSB1c2VkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICLmoLzlvI/vvJolJSh0aGVuKSDlhYPntKDnlKjkuoblpJrmrKEiCisKKyM6IHJlZi1maWx0ZXIuYzo3ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJSh0aGVuKSBhdG9tIHVzZWQgYWZ0ZXIgJSUoZWxzZSkiCittc2dzdHIgIuagvOW8j++8miUlKHRoZW4pIOWFg+e0oOeUqOWcqOS6hiAlJShlbHNlKSDkuYvlvowiCisKKyM6IHJlZi1maWx0ZXIuYzo4MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ybWF0OiAlJShlbHNlKSBhdG9tIHVzZWQgd2l0aG91dCBhbiAlJShpZikgYXRvbSIKK21zZ3N0ciAi5qC85byP77ya5L2/55So5LqGICUlKGVsc2UpIOWFg+e0oOiAjOaykuaciSAlJShpZikg5YWD57SgIgorCisjOiByZWYtZmlsdGVyLmM6ODExCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoZWxzZSkgYXRvbSB1c2VkIHdpdGhvdXQgYSAlJSh0aGVuKSBhdG9tIgorbXNnc3RyICLmoLzlvI/vvJrkvb/nlKjkuoYgJSUoZWxzZSkg5YWD57Sg6ICM5rKS5pyJICUlKHRoZW4pIOWFg+e0oCIKKworIzogcmVmLWZpbHRlci5jOjgxMworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JtYXQ6ICUlKGVsc2UpIGF0b20gdXNlZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAi5qC85byP77yaJSUoZWxzZSkg5YWD57Sg55So5LqG5aSa5qyhIgorCisjOiByZWYtZmlsdGVyLmM6ODI4CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoZW5kKSBhdG9tIHVzZWQgd2l0aG91dCBjb3JyZXNwb25kaW5nIGF0b20iCittc2dzdHIgIuagvOW8j++8muS9v+eUqOS6hiAlJShlbmQpIOWFg+e0oOWNu+aykuacieWug+eahOWwjeaHieWFg+e0oCIKKworIzogcmVmLWZpbHRlci5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgZm9ybWF0IHN0cmluZyAlcyIKK21zZ3N0ciAi6Yyv6Kqk55qE5qC85byP5YyW5a2X5LiyICVzIgorCisjOiByZWYtZmlsdGVyLmM6MTQ4OAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBicmFuY2gsIHJlYmFzaW5nICVzIgorbXNnc3RyICLpnZ7liIbmlK/vvIzmraPph43lrprln7rlupUgJXMiCisKKyM6IHJlZi1maWx0ZXIuYzoxNDkxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGJyYW5jaCwgcmViYXNpbmcgZGV0YWNoZWQgSEVBRCAlcyIKK21zZ3N0ciAi6Z2e5YiG5pSv77yM5q2j6YeN5a6a5Z+65bqV5YiG6Zui6ZaL6aCt5oyH5qiZICVzIgorCisjOiByZWYtZmlsdGVyLmM6MTQ5NAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBicmFuY2gsIGJpc2VjdCBzdGFydGVkIG9uICVzIgorbXNnc3RyICLpnZ7liIbmlK/vvIzkuozliIblsIvmib7plovlp4vmlrwgJXMiCisKKyM6IHJlZi1maWx0ZXIuYzoxNTA0Cittc2dpZCAibm8gYnJhbmNoIgorbXNnc3RyICLpnZ7liIbmlK8iCisKKyM6IHJlZi1maWx0ZXIuYzoxNTQwIHJlZi1maWx0ZXIuYzoxNzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3Npbmcgb2JqZWN0ICVzIGZvciAlcyIKK21zZ3N0ciAi57y65bCRICUyJHMg55qE54mp5Lu2ICUxJHMiCisKKyM6IHJlZi1maWx0ZXIuYzoxNTUwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnNlX29iamVjdF9idWZmZXIgZmFpbGVkIG9uICVzIGZvciAlcyIKK21zZ3N0ciAicGFyc2Vfb2JqZWN0X2J1ZmZlciDlpLHmlZfmlrwgJTIkcyDnmoQgJTEkcyIKKworIzogcmVmLWZpbHRlci5jOjIwMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsZm9ybWVkIG9iamVjdCBhdCAnJXMnIgorbXNnc3RyICLmoLzlvI/pjK/oqqTnmoTnianku7YgJyVzJyIKKworIzogcmVmLWZpbHRlci5jOjIwOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgcmVmIHdpdGggYnJva2VuIG5hbWUgJXMiCittc2dzdHIgIuW/veeVpeW4tuaciemMr+iqpOWQjeeosSAlcyDnmoTlvJXnlKgiCisKKyM6IHJlZi1maWx0ZXIuYzoyMzg5CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcm1hdDogJSUoZW5kKSBhdG9tIG1pc3NpbmciCittc2dzdHIgIuagvOW8j++8mue8uuWwkSAlJShlbmQpIOWFg+e0oCIKKworIzogcmVmLWZpbHRlci5jOjI0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1tZXJnZWQiCittc2dzdHIgIumBuOmghSBgJXMnIOWSjCAtLW1lcmdlZCDkuI3nm7jlrrkiCisKKyM6IHJlZi1maWx0ZXIuYzoyNDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiBgJXMnIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbm8tbWVyZ2VkIgorbXNnc3RyICLpgbjpoIUgYCVzJyDlkowgLS1uby1tZXJnZWQg5LiN55u45a65IgorCisjOiByZWYtZmlsdGVyLmM6MjUwMgorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgb2JqZWN0IG5hbWUgJXMiCittc2dzdHIgIuagvOW8j+mMr+iqpOeahOeJqeS7tuWQjSAlcyIKKworIzogcmVmLWZpbHRlci5jOjI1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIGAlcycgbXVzdCBwb2ludCB0byBhIGNvbW1pdCIKK21zZ3N0ciAi6YG46aCFIGAlcycg5b+F6aCI5oyH5ZCR5LiA5YCL5o+Q5LqkIgorCisjOiByZW1vdGUuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29uZmlnIHJlbW90ZSBzaG9ydGhhbmQgY2Fubm90IGJlZ2luIHdpdGggJy8nOiAlcyIKK21zZ3N0ciAi6Kit5a6a55qE6YGg56uv55+t5ZCN56ix5LiN6IO95LulICcvJyDplovlp4vvvJolcyIKKworIzogcmVtb3RlLmM6NDEzCittc2dpZCAibW9yZSB0aGFuIG9uZSByZWNlaXZlcGFjayBnaXZlbiwgdXNpbmcgdGhlIGZpcnN0IgorbXNnc3RyICLmj5DkvpvkuobkuIDlgIvku6XkuIrnmoQgcmVjZWl2ZXBhY2vvvIzkvb/nlKjnrKzkuIDlgIsiCisKKyM6IHJlbW90ZS5jOjQyMQorbXNnaWQgIm1vcmUgdGhhbiBvbmUgdXBsb2FkcGFjayBnaXZlbiwgdXNpbmcgdGhlIGZpcnN0IgorbXNnc3RyICLmj5DkvpvkuobkuIDlgIvku6XkuIrnmoQgdXBsb2FkcGFja++8jOS9v+eUqOesrOS4gOWAiyIKKworIzogcmVtb3RlLmM6NjExCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBmZXRjaCBib3RoICVzIGFuZCAlcyB0byAlcyIKK21zZ3N0ciAi5LiN6IO95ZCM5pmC5Y+W5b6XICVzIOWSjCAlcyDoh7MgJXMiCisKKyM6IHJlbW90ZS5jOjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c3VhbGx5IHRyYWNrcyAlcywgbm90ICVzIgorbXNnc3RyICIlcyDpgJrluLjov73ouaQgJXPvvIzogIzpnZ4gJXMiCisKKyM6IHJlbW90ZS5jOjYxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0cmFja3MgYm90aCAlcyBhbmQgJXMiCittc2dzdHIgIiVzIOWQjOaZgui/vei5pCAlcyDlkowgJXMiCisKKyM6IHJlbW90ZS5jOjY4NworIywgYy1mb3JtYXQKK21zZ2lkICJrZXkgJyVzJyBvZiBwYXR0ZXJuIGhhZCBubyAnKiciCittc2dzdHIgIuaooeW8j+eahOmNtSAnJXMnIOaykuaciSAnKiciCisKKyM6IHJlbW90ZS5jOjY5NworIywgYy1mb3JtYXQKK21zZ2lkICJ2YWx1ZSAnJXMnIG9mIHBhdHRlcm4gaGFzIG5vICcqJyIKK21zZ3N0ciAi5qih5byP55qE5YC8ICclcycg5rKS5pyJICcqJyIKKworIzogcmVtb3RlLmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICJzcmMgcmVmc3BlYyAlcyBkb2VzIG5vdCBtYXRjaCBhbnkiCittc2dzdHIgIua6kOW8leeUqOihqOmBlOW8jyAlcyDmspLmnInnrKblkIgiCisKKyM6IHJlbW90ZS5jOjEwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3JjIHJlZnNwZWMgJXMgbWF0Y2hlcyBtb3JlIHRoYW4gb25lIgorbXNnc3RyICLmupDlvJXnlKjooajpgZTlvI8gJXMg56ym5ZCI6LaF6YGO5LiA5YCLIgorCisjLiBUUkFOU0xBVE9SUzogIm1hdGNoZXMgJyVzJyUiIGlzIHRoZSA8ZHN0PiBwYXJ0IG9mICJnaXQgcHVzaAorIy4gPHJlbW90ZT4gPHNyYz46PGRzdD4iIHB1c2gsIGFuZCAiYmVpbmcgcHVzaGVkICgnJXMnKSIgaXMKKyMuIHRoZSA8c3JjPi4KKyMuCisjOiByZW1vdGUuYzoxMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVzdGluYXRpb24geW91IHByb3ZpZGVkIGlzIG5vdCBhIGZ1bGwgcmVmbmFtZSAoaS5lLixcbiIKKyJzdGFydGluZyB3aXRoIFwicmVmcy9cIikuIFdlIHRyaWVkIHRvIGd1ZXNzIHdoYXQgeW91IG1lYW50IGJ5OlxuIgorIlxuIgorIi0gTG9va2luZyBmb3IgYSByZWYgdGhhdCBtYXRjaGVzICclcycgb24gdGhlIHJlbW90ZSBzaWRlLlxuIgorIi0gQ2hlY2tpbmcgaWYgdGhlIDxzcmM+IGJlaW5nIHB1c2hlZCAoJyVzJylcbiIKKyIgIGlzIGEgcmVmIGluIFwicmVmcy97aGVhZHMsdGFnc30vXCIuIElmIHNvIHdlIGFkZCBhIGNvcnJlc3BvbmRpbmdcbiIKKyIgIHJlZnMve2hlYWRzLHRhZ3N9LyBwcmVmaXggb24gdGhlIHJlbW90ZSBzaWRlLlxuIgorIlxuIgorIk5laXRoZXIgd29ya2VkLCBzbyB3ZSBnYXZlIHVwLiBZb3UgbXVzdCBmdWxseSBxdWFsaWZ5IHRoZSByZWYuIgorbXNnc3RyICIiCisi5oKo5o+Q5L6b55qE55uu5qiZ5LiN5piv5LiA5YCL5a6M5pW055qE5byV55So5ZCN56ix77yI5Y2z5LulIFwicmVmcy9cIiDplovpoK3vvInjgILmiJHlgJFcbiIKKyLoqabokZfnjJzmuKzmgqjnmoTmg7Pms5XvvJpcbiIKKyJcbiIKKyItIOWcqOmBoOerr+afpeipouWSjCAnJXMnIOespuWQiOeahOW8leeUqOOAglxuIgorIi0g5qqi5p+l6KaB5o6o6YCB55qEIDxzcmM+77yIJyVzJ++8ieaYr+S4jeaYr+WcqCBcInJlZnMve2hlYWRzLHRhZ3N9L1wiIOS4reeahFxuIgorIiAg5byV55So44CC5aaC5p6c5piv77yM5oiR5YCR5pyD5Zyo5bCN5oeJ55qE6YGg56uv5paw5aKeIHJlZnMve2hlYWRzLHRhZ3N9LyDliY3ntrTjgIJcbiIKKyJcbiIKKyLpg73kuI3ooYzvvIzmiYDku6XmiJHlgJHlt7LmlL7mo4TjgILmgqjlv4XpoIjntablh7rlrozmlbTnmoTlvJXnlKjjgIIiCisKKyM6IHJlbW90ZS5jOjEwNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSA8c3JjPiBwYXJ0IG9mIHRoZSByZWZzcGVjIGlzIGEgY29tbWl0IG9iamVjdC5cbiIKKyJEaWQgeW91IG1lYW4gdG8gY3JlYXRlIGEgbmV3IGJyYW5jaCBieSBwdXNoaW5nIHRvXG4iCisiJyVzOnJlZnMvaGVhZHMvJXMnPyIKK21zZ3N0ciAiIgorIuW8leeUqOihqOmBlOW8j+eahCA8c3JjPiDmmK/kuIDlgIvmj5DkuqTnianku7bjgILmgqjmmK/mg7Plu7rnq4vkuIDlgIvmlrDnmoTliIbmlK/ogIzlkJFcbiIKKyInJXM6cmVmcy9oZWFkcy8lcycg5o6o6YCB5ZeO77yfIgorCisjOiByZW1vdGUuYzoxMDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIHRhZyBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIGNyZWF0ZSBhIG5ldyB0YWcgYnkgcHVzaGluZyB0b1xuIgorIiclczpyZWZzL3RhZ3MvJXMnPyIKK21zZ3N0ciAiIgorIuW8leeUqOihqOmBlOW8j+eahCA8c3JjPiDmmK/kuIDlgIvmqJnnsaTnianku7bjgILmgqjmmK/mg7Plu7rnq4vkuIDlgIvmlrDnmoTmqJnnsaTogIzlkJFcbiIKKyInJXM6cmVmcy90YWdzLyVzJyDmjqjpgIHll47vvJ8iCisKKyM6IHJlbW90ZS5jOjEwNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSA8c3JjPiBwYXJ0IG9mIHRoZSByZWZzcGVjIGlzIGEgdHJlZSBvYmplY3QuXG4iCisiRGlkIHlvdSBtZWFuIHRvIHRhZyBhIG5ldyB0cmVlIGJ5IHB1c2hpbmcgdG9cbiIKKyInJXM6cmVmcy90YWdzLyVzJz8iCittc2dzdHIgIiIKKyLlvJXnlKjooajpgZTlvI/nmoQgPHNyYz4g5piv5LiA5YCL5qi554uA54mp5Lu244CC5oKo5piv5oOz54K66YCZ5YCL5qi554uA54mp5Lu25bu656uL5qiZ57Gk6ICM5ZCRXG4iCisiJyVzOnJlZnMvdGFncy8lcycg5o6o6YCB5ZeO77yfIgorCisjOiByZW1vdGUuYzoxMDU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIGJsb2Igb2JqZWN0LlxuIgorIkRpZCB5b3UgbWVhbiB0byB0YWcgYSBuZXcgYmxvYiBieSBwdXNoaW5nIHRvXG4iCisiJyVzOnJlZnMvdGFncy8lcyc/IgorbXNnc3RyICIiCisi5byV55So6KGo6YGU5byP55qEIDxzcmM+IOaYr+S4gOWAi+izh+aWmeeJqeS7tuOAguaCqOaYr+aDs+eCuumAmeWAi+izh+aWmeeJqeS7tuW7uueri+aomeexpOiAjOWQkVxuIgorIiclczpyZWZzL3RhZ3MvJXMnIOaOqOmAgeWXju+8nyIKKworIzogcmVtb3RlLmM6MTA5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYnJhbmNoIgorbXNnc3RyICIlcyDnhKHms5Xooqvop6PmnpDngrrliIbmlK8iCisKKyM6IHJlbW90ZS5jOjExMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGRlbGV0ZSAnJXMnOiByZW1vdGUgcmVmIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLnhKHms5XliKrpmaQgJyVzJ++8mumBoOerr+W8leeUqOS4jeWtmOWcqCIKKworIzogcmVtb3RlLmM6MTExNworIywgYy1mb3JtYXQKK21zZ2lkICJkc3QgcmVmc3BlYyAlcyBtYXRjaGVzIG1vcmUgdGhhbiBvbmUiCittc2dzdHIgIuebruaomeW8leeUqOihqOmBlOW8jyAlcyDnrKblkIjotoXpgY7kuIDlgIsiCisKKyM6IHJlbW90ZS5jOjExMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHN0IHJlZiAlcyByZWNlaXZlcyBmcm9tIG1vcmUgdGhhbiBvbmUgc3JjIgorbXNnc3RyICLnm67mqJnlvJXnlKggJXMg5o6l5pS26LaF6YGO5LiA5YCL5rqQIgorCisjOiByZW1vdGUuYzoxNjI3IHJlbW90ZS5jOjE3MjgKK21zZ2lkICJIRUFEIGRvZXMgbm90IHBvaW50IHRvIGEgYnJhbmNoIgorbXNnc3RyICJIRUFEIOaykuacieaMh+WQkeS4gOWAi+WIhuaUryIKKworIzogcmVtb3RlLmM6MTYzNgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIGJyYW5jaDogJyVzJyIKK21zZ3N0ciAi5rKS5pyJ5q2k5YiG5pSv77yaJyVzJyIKKworIzogcmVtb3RlLmM6MTYzOQorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1cHN0cmVhbSBjb25maWd1cmVkIGZvciBicmFuY2ggJyVzJyIKK21zZ3N0ciAi5bCa5pyq57Wm5YiG5pSvICclcycg6Kit5a6a5LiK5ri4IgorCisjOiByZW1vdGUuYzoxNjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVwc3RyZWFtIGJyYW5jaCAnJXMnIG5vdCBzdG9yZWQgYXMgYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgorbXNnc3RyICLkuIrmuLjliIbmlK8gJyVzJyDmspLmnInlhLLlrZjngrrkuIDlgIvpgaDnq6/ov73ouaTliIbmlK8iCisKKyM6IHJlbW90ZS5jOjE2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAicHVzaCBkZXN0aW5hdGlvbiAnJXMnIG9uIHJlbW90ZSAnJXMnIGhhcyBubyBsb2NhbCB0cmFja2luZyBicmFuY2giCittc2dzdHIgIuaOqOmAgeebruaomSAnJXMnIOiHs+mBoOerryAnJXMnIOaykuacieacrOapn+i/vei5pOWIhuaUryIKKworIzogcmVtb3RlLmM6MTY3MgorIywgYy1mb3JtYXQKK21zZ2lkICJicmFuY2ggJyVzJyBoYXMgbm8gcmVtb3RlIGZvciBwdXNoaW5nIgorbXNnc3RyICLliIbmlK8gJyVzJyDmspLmnInoqK3lrpropoHmjqjpgIHnmoTpgaDnq6/kvLrmnI3lmagiCisKKyM6IHJlbW90ZS5jOjE2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicHVzaCByZWZzcGVjcyBmb3IgJyVzJyBkbyBub3QgaW5jbHVkZSAnJXMnIgorbXNnc3RyICLlkJEgJyVzJyDmjqjpgIHlvJXnlKjopo/moLzmnKrljIXlkKsgJyVzJyIKKworIzogcmVtb3RlLmM6MTY5NQorbXNnaWQgInB1c2ggaGFzIG5vIGRlc3RpbmF0aW9uIChwdXNoLmRlZmF1bHQgaXMgJ25vdGhpbmcnKSIKK21zZ3N0ciAi5o6o6YCB54Sh55uu5qiZ77yIcHVzaC5kZWZhdWx0IOaYryAnbm90aGluZyfvvIkiCisKKyM6IHJlbW90ZS5jOjE3MTcKK21zZ2lkICJjYW5ub3QgcmVzb2x2ZSAnc2ltcGxlJyBwdXNoIHRvIGEgc2luZ2xlIGRlc3RpbmF0aW9uIgorbXNnc3RyICLnhKHms5Xop6PmnpAgJ3NpbXBsZScg5o6o6YCB6Iez5LiA5YCL5Zau542o55qE55uu5qiZIgorCisjOiByZW1vdGUuYzoxODQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgcmVtb3RlIHJlZiAlcyIKK21zZ3N0ciAi54Sh5rOV5om+5Yiw6YGg56uv5byV55SoICVzIgorCisjOiByZW1vdGUuYzoxODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiogSWdub3JpbmcgZnVubnkgcmVmICclcycgbG9jYWxseSIKK21zZ3N0ciAiKiDlnKjmnKzmqZ/lv73nlaXlj6/nrJHnmoTlvJXnlKggJyVzJyIKKworIzogcmVtb3RlLmM6MjAxOQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIGJyYW5jaCBpcyBiYXNlZCBvbiAnJXMnLCBidXQgdGhlIHVwc3RyZWFtIGlzIGdvbmUuXG4iCittc2dzdHIgIuaCqOeahOWIhuaUr+WfuuaWvCAnJXMn77yM5L2G5q2k5LiK5ri45YiG5pSv5bey57aT5LiN5a2Y5Zyo44CCXG4iCisKKyM6IHJlbW90ZS5jOjIwMjMKK21zZ2lkICIgICh1c2UgXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiB0byBmaXh1cClcbiIKK21zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgYnJhbmNoIC0tdW5zZXQtdXBzdHJlYW1cIiDkvobkv67lvqnvvIlcbiIKKworIzogcmVtb3RlLmM6MjAyNgorIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIGJyYW5jaCBpcyB1cCB0byBkYXRlIHdpdGggJyVzJy5cbiIKK21zZ3N0ciAi5oKo55qE5YiG5pSv6IiH5LiK5ri45YiG5pSvICclcycg5LiA6Ie044CCXG4iCisKKyM6IHJlbW90ZS5jOjIwMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91ciBicmFuY2ggYW5kICclcycgcmVmZXIgdG8gZGlmZmVyZW50IGNvbW1pdHMuXG4iCittc2dzdHIgIuaCqOeahOWIhuaUr+WSjCAnJXMnIOaMh+WQkeS4jeWQjOeahOaPkOS6pOOAglxuIgorCisjOiByZW1vdGUuYzoyMDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgKHVzZSBcIiVzXCIgZm9yIGRldGFpbHMpXG4iCittc2dzdHIgIiAg77yI5L2/55SoIFwiJXNcIiDmqqLoppboqbPmg4XvvIlcbiIKKworIzogcmVtb3RlLmM6MjAzNworIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIGJyYW5jaCBpcyBhaGVhZCBvZiAnJXMnIGJ5ICVkIGNvbW1pdC5cbiIKK21zZ2lkX3BsdXJhbCAiWW91ciBicmFuY2ggaXMgYWhlYWQgb2YgJyVzJyBieSAlZCBjb21taXRzLlxuIgorbXNnc3RyWzBdICLmgqjnmoTliIbmlK/poJjlhYggJyVzJyDlhbEgJWQg5YCL5o+Q5Lqk44CCXG4iCittc2dzdHJbMV0gIuaCqOeahOWIhuaUr+mgmOWFiCAnJXMnIOWFsSAlZCDlgIvmj5DkuqTjgIJcbiIKKworIzogcmVtb3RlLmM6MjA0MworbXNnaWQgIiAgKHVzZSBcImdpdCBwdXNoXCIgdG8gcHVibGlzaCB5b3VyIGxvY2FsIGNvbW1pdHMpXG4iCittc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHB1c2hcIiDkvobnmbzluIPmgqjnmoTmnKzmqZ/mj5DkuqTvvIlcbiIKKworIzogcmVtb3RlLmM6MjA0NgorIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIGJyYW5jaCBpcyBiZWhpbmQgJyVzJyBieSAlZCBjb21taXQsIGFuZCBjYW4gYmUgZmFzdC1mb3J3YXJkZWQuXG4iCittc2dpZF9wbHVyYWwgIiIKKyJZb3VyIGJyYW5jaCBpcyBiZWhpbmQgJyVzJyBieSAlZCBjb21taXRzLCBhbmQgY2FuIGJlIGZhc3QtZm9yd2FyZGVkLlxuIgorbXNnc3RyWzBdICLmgqjnmoTliIbmlK/okL3lvowgJyVzJyDlhbEgJWQg5YCL5o+Q5Lqk77yM5Lim5LiU5Y+v5Lul5b+r6L2J44CCXG4iCittc2dzdHJbMV0gIuaCqOeahOWIhuaUr+iQveW+jCAnJXMnIOWFsSAlZCDlgIvmj5DkuqTvvIzkuKbkuJTlj6/ku6Xlv6vovYnjgIJcbiIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiByZW1vdGUuYzoyMDU0Cittc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byB1cGRhdGUgeW91ciBsb2NhbCBicmFuY2gpXG4iCittc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHB1bGxcIiDkvobmm7TmlrDmgqjnmoTmnKzmqZ/liIbmlK/vvIlcbiIKKworIzogcmVtb3RlLmM6MjA1NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBicmFuY2ggYW5kICclcycgaGF2ZSBkaXZlcmdlZCxcbiIKKyJhbmQgaGF2ZSAlZCBhbmQgJWQgZGlmZmVyZW50IGNvbW1pdCBlYWNoLCByZXNwZWN0aXZlbHkuXG4iCittc2dpZF9wbHVyYWwgIiIKKyJZb3VyIGJyYW5jaCBhbmQgJyVzJyBoYXZlIGRpdmVyZ2VkLFxuIgorImFuZCBoYXZlICVkIGFuZCAlZCBkaWZmZXJlbnQgY29tbWl0cyBlYWNoLCByZXNwZWN0aXZlbHkuXG4iCittc2dzdHJbMF0gIiIKKyLmgqjnmoTliIbmlK/lkowgJyVzJyDlh7rnj77kuoblgY/pm6LvvIxcbiIKKyLkuKbkuJTliIbliKXmnIkgJWQg5ZKMICVkIOiZleS4jeWQjOeahOaPkOS6pOOAglxuIgorbXNnc3RyWzFdICIiCisi5oKo55qE5YiG5pSv5ZKMICclcycg5Ye654++5LqG5YGP6Zui77yMXG4iCisi5Lim5LiU5YiG5Yil5pyJICVkIOWSjCAlZCDomZXkuI3lkIznmoTmj5DkuqTjgIJcbiIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiByZW1vdGUuYzoyMDY3Cittc2dpZCAiICAodXNlIFwiZ2l0IHB1bGxcIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKVxuIgorbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBwdWxsXCIg5L6G5ZCI5L216YGg56uv5YiG5pSv77yJXG4iCisKKyM6IHJlbW90ZS5jOjIyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHBhcnNlIGV4cGVjdGVkIG9iamVjdCBuYW1lICclcyciCittc2dzdHIgIueEoeazleino+aekOacn+acm+eahOeJqeS7tuWQjSAnJXMnIgorCisjOiByZXBsYWNlLW9iamVjdC5jOjIxCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByZXBsYWNlIHJlZiBuYW1lOiAlcyIKK21zZ3N0ciAi6Yyv6Kqk55qE5Y+W5Luj5byV55So5ZCN56ix77yaJXMiCisKKyM6IHJlcGxhY2Utb2JqZWN0LmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZHVwbGljYXRlIHJlcGxhY2UgcmVmOiAlcyIKK21zZ3N0ciAi6YeN6KSH55qE5Y+W5Luj5byV55So77yaJXMiCisKKyM6IHJlcGxhY2Utb2JqZWN0LmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVwbGFjZSBkZXB0aCB0b28gaGlnaCBmb3Igb2JqZWN0ICVzIgorbXNnc3RyICLnianku7YgJXMg55qE5Y+W5Luj5bGk57Sa5aSq5rexIgorCisjOiByZXJlcmUuYzoyMTcgcmVyZXJlLmM6MjI2IHJlcmVyZS5jOjIyOQorbXNnaWQgImNvcnJ1cHQgTUVSR0VfUlIiCittc2dzdHIgIuaQjeWjnueahCBNRVJHRV9SUiIKKworIzogcmVyZXJlLmM6MjY0IHJlcmVyZS5jOjI2OQorbXNnaWQgInVuYWJsZSB0byB3cml0ZSByZXJlcmUgcmVjb3JkIgorbXNnc3RyICLnhKHms5Xlr6vlhaUgcmVyZXJlIOiomOmMhCIKKworIzogcmVyZXJlLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZXJlIHdlcmUgZXJyb3JzIHdoaWxlIHdyaXRpbmcgJyVzJyAoJXMpIgorbXNnc3RyICLlr6vlhaUgJyVzJyAoJXMpIOaZgueZvOeUn+mMr+iqpCIKKworIzogcmVyZXJlLmM6NDk4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBmbHVzaCAnJXMnIgorbXNnc3RyICLph43mlrDmlbTnkIYgJyVzJyDlpLHmlZciCisKKyM6IHJlcmVyZS5jOjUwMyByZXJlcmUuYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBjb25mbGljdCBodW5rcyBpbiAnJXMnIgorbXNnc3RyICLkuI3og73op6PmnpAgJyVzJyDkuK3nmoTooZ3nqoHloYoiCisKKyM6IHJlcmVyZS5jOjY4NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdXRpbWUoKSBvbiAnJXMnIgorbXNnc3RyICLlnKggJyVzJyDkuIrlkbzlj6sgdXRpbWUoKSDlpLHmlZciCisKKyM6IHJlcmVyZS5jOjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0aW5nICclcycgZmFpbGVkIgorbXNnc3RyICLlr6vlhaUgJyVzJyDlpLHmlZciCisKKyM6IHJlcmVyZS5jOjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFnZWQgJyVzJyB1c2luZyBwcmV2aW91cyByZXNvbHV0aW9uLiIKK21zZ3N0ciAi5L2/55So5LmL5YmN55qE6Kej5rG65pa55qGI5pqr5a2YICclcyfjgIIiCisKKyM6IHJlcmVyZS5jOjc1MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWNvcmRlZCByZXNvbHV0aW9uIGZvciAnJXMnLiIKK21zZ3N0ciAi5bey6KiY6YyEICclcycg55qE6Kej5rG65pa55qGI44CCIgorCisjOiByZXJlcmUuYzo3ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVzb2x2ZWQgJyVzJyB1c2luZyBwcmV2aW91cyByZXNvbHV0aW9uLiIKK21zZ3N0ciAi5L2/55So5LmL5YmN55qE6Kej5rG65pa55qGI6Kej5rG6ICclcyfjgIIiCisKKyM6IHJlcmVyZS5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdW5saW5rIHN0cmF5ICclcyciCittc2dzdHIgIuS4jeiDveWIqumZpCBzdHJheSAnJXMnIgorCisjOiByZXJlcmUuYzo4MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVjb3JkZWQgcHJlaW1hZ2UgZm9yICclcyciCittc2dzdHIgIueCuiAnJXMnIOiomOmMhCBwcmVpbWFnZSIKKworIzogcmVyZXJlLmM6ODgxIHN1Ym1vZHVsZS5jOjIwNjcgYnVpbHRpbi9sb2cuYzoxODcxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQzNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSAnJXMnIgorbXNnc3RyICLkuI3og73lu7rnq4vnm67pjIQgJyVzJyIKKworIzogcmVyZXJlLmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdXBkYXRlIGNvbmZsaWN0ZWQgc3RhdGUgaW4gJyVzJyIKK21zZ3N0ciAi5pu05pawICclcycg5Lit55qE6KGd56qB54uA5oWL5aSx5pWXIgorCisjOiByZXJlcmUuYzoxMDY4IHJlcmVyZS5jOjEwNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gcmVtZW1iZXJlZCByZXNvbHV0aW9uIGZvciAnJXMnIgorbXNnc3RyICLmspLmnInngrogJyVzJyDoqJjmhrbnmoTop6PmsbrmlrnmoYgiCisKKyM6IHJlcmVyZS5jOjEwNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHVubGluayAnJXMnIgorbXNnc3RyICLkuI3og73liKrpmaQgJyVzJyIKKworIzogcmVyZXJlLmM6MTA4NworIywgYy1mb3JtYXQKK21zZ2lkICJVcGRhdGVkIHByZWltYWdlIGZvciAnJXMnIgorbXNnc3RyICLlt7LngrogJyVzJyDmm7TmlrAgcHJlaW1hZ2UiCisKKyM6IHJlcmVyZS5jOjEwOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yZ290IHJlc29sdXRpb24gZm9yICclcydcbiIKK21zZ3N0ciAi5b+Y6KiYICclcycg55qE6Kej5rG65pa55qGIXG4iCisKKyM6IHJlcmVyZS5jOjExOTkKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiByci1jYWNoZSBkaXJlY3RvcnkiCittc2dzdHIgIuS4jeiDvemWi+WVnyByci1jYWNoZSDnm67pjIQiCisKKyM6IHJldmlzaW9uLmM6MjQ5NworbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggYXBwZWFycyB0byBiZSBicm9rZW4iCittc2dzdHIgIuaCqOeahOebruWJjeWIhuaUr+WlveWDj+iiq+aQjeWjniIKKworIzogcmV2aXNpb24uYzoyNTAwCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgY3VycmVudCBicmFuY2ggJyVzJyBkb2VzIG5vdCBoYXZlIGFueSBjb21taXRzIHlldCIKK21zZ3N0ciAi5oKo55qE55uu5YmN5YiG5pSvICclcycg5bCa54Sh5Lu75L2V5o+Q5LqkIgorCisjOiByZXZpc2lvbi5jOjI3MDgKK21zZ2lkICItLWZpcnN0LXBhcmVudCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWJpc2VjdCIKK21zZ3N0ciAiLS1maXJzdC1wYXJlbnQg6IiHIC0tYmlzZWN0IOS4jeebuOWuuSIKKworIzogcmV2aXNpb24uYzoyNzEyCittc2dpZCAiLUwgZG9lcyBub3QgeWV0IHN1cHBvcnQgZGlmZiBmb3JtYXRzIGJlc2lkZXMgLXAgYW5kIC1zIgorbXNnc3RyICItTCDlsJrkuI3mlK/mj7QgLXAg5ZKMIC1zIOS5i+WklueahOW3rueVsOagvOW8jyIKKworIzogcnVuLWNvbW1hbmQuYzo3NjIKK21zZ2lkICJvcGVuIC9kZXYvbnVsbCBmYWlsZWQiCittc2dzdHIgIuS4jeiDvemWi+WVnyAvZGV2L251bGwiCisKKyM6IHJ1bi1jb21tYW5kLmM6MTI2OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGFzeW5jIHRocmVhZDogJXMiCittc2dzdHIgIuS4jeiDveW7uueriyBhc3luYyDln7fooYznt5LvvJolcyIKKworIzogcnVuLWNvbW1hbmQuYzoxMzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgJyVzJyBob29rIHdhcyBpZ25vcmVkIGJlY2F1c2UgaXQncyBub3Qgc2V0IGFzIGV4ZWN1dGFibGUuXG4iCisiWW91IGNhbiBkaXNhYmxlIHRoaXMgd2FybmluZyB3aXRoIGBnaXQgY29uZmlnIGFkdmljZS5pZ25vcmVkSG9vayBmYWxzZWAuIgorbXNnc3RyICIiCisi5Zug54K65rKS5pyJ5bCH5o6b6YmkICclcycg6Kit5a6a54K65Y+v5Z+36KGM77yM5o6b6Ymk6KKr5b+955Wl44CC5oKo5Y+v5Lul6YCP6YGOXG4iCisi6Kit5a6aIGBnaXQgY29uZmlnIGFkdmljZS5pZ25vcmVkSG9vayBmYWxzZWAg5L6G6Zec6ZaJ6YCZ5qKd6K2m5ZGK44CCIgorCisjOiBzZW5kLXBhY2suYzoxNDQKK21zZ2lkICJ1bmV4cGVjdGVkIGZsdXNoIHBhY2tldCB3aGlsZSByZWFkaW5nIHJlbW90ZSB1bnBhY2sgc3RhdHVzIgorbXNnc3RyICLoroDlj5bpgaDnq6/op6PljIXni4DmhYvmmYLmlLbliLDmhI/lpJbnmoQgZmx1c2gg5YyFIgorCisjOiBzZW5kLXBhY2suYzoxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIHJlbW90ZSB1bnBhY2sgc3RhdHVzOiAlcyIKK21zZ3N0ciAi5LiN6IO96Kej5p6Q6YGg56uv6Kej5YyF54uA5oWL77yaJXMiCisKKyM6IHNlbmQtcGFjay5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUgdW5wYWNrIGZhaWxlZDogJXMiCittc2dzdHIgIumBoOerr+ino+WMheWkseaVl++8miVzIgorCisjOiBzZW5kLXBhY2suYzozMDkKK21zZ2lkICJmYWlsZWQgdG8gc2lnbiB0aGUgcHVzaCBjZXJ0aWZpY2F0ZSIKK21zZ3N0ciAi54K65o6o6YCB6K2J5pu457Gk5ZCN5aSx5pWXIgorCisjOiBzZW5kLXBhY2suYzo0MjMKK21zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkIHB1c2giCittc2dzdHIgIuaOpeaUtuerr+S4jeaUr+aPtOewveWQjeaOqOmAgSIKKworIzogc2VuZC1wYWNrLmM6NDI1Cittc2dpZCAiIgorIm5vdCBzZW5kaW5nIGEgcHVzaCBjZXJ0aWZpY2F0ZSBzaW5jZSB0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IC0tIgorInNpZ25lZCBwdXNoIgorbXNnc3RyICLmnKrlgrPpgIHmjqjpgIHorYnmm7jvvIzlm6DngrrmjqXmlLbnq6/kuI3mlK/mj7TnsL3lkI3mjqjpgIEiCisKKyM6IHNlbmQtcGFjay5jOjQzNworbXNnaWQgInRoZSByZWNlaXZpbmcgZW5kIGRvZXMgbm90IHN1cHBvcnQgLS1hdG9taWMgcHVzaCIKK21zZ3N0ciAi5o6l5pS256uv5LiN5pSv5o+05Y6f5a2Q5o6o6YCBIgorCisjOiBzZW5kLXBhY2suYzo0NDIKK21zZ2lkICJ0aGUgcmVjZWl2aW5nIGVuZCBkb2VzIG5vdCBzdXBwb3J0IHB1c2ggb3B0aW9ucyIKK21zZ3N0ciAi5o6l5pS256uv5LiN5pSv5o+05o6o6YCB6YG46aCFIgorCisjOiBzZXF1ZW5jZXIuYzoxODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjb21taXQgbWVzc2FnZSBjbGVhbnVwIG1vZGUgJyVzJyIKK21zZ3N0ciAi54Sh5pWI55qE5o+Q5Lqk6KiK5oGv5riF55CG5qih5byPICclcyciCisKKyM6IHNlcXVlbmNlci5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZGVsZXRlICclcyciCittc2dzdHIgIueEoeazleWIqumZpCAnJXMnIgorCisjOiBzZXF1ZW5jZXIuYzozMTMgYnVpbHRpbi9yZWJhc2UuYzo3ODEgYnVpbHRpbi9yZWJhc2UuYzoxNzA2IGJ1aWx0aW4vcm0uYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlbW92ZSAnJXMnIgorbXNnc3RyICLnhKHms5XliKrpmaQgJyVzJyIKKworIzogc2VxdWVuY2VyLmM6MzIzCittc2dpZCAicmV2ZXJ0IgorbXNnc3RyICLpgoTljp8iCisKKyM6IHNlcXVlbmNlci5jOjMyNQorbXNnaWQgImNoZXJyeS1waWNrIgorbXNnc3RyICLmj4DpgbgiCisKKyM6IHNlcXVlbmNlci5jOjMyNworbXNnaWQgInJlYmFzZSAtaSIKK21zZ3N0ciAicmViYXNlIC1pIgorCisjOiBzZXF1ZW5jZXIuYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVkIgorbXNnc3RyICLmnKrnn6Xli5XkvZzvvJolZCIKKworIzogc2VxdWVuY2VyLmM6Mzg3Cittc2dpZCAiIgorImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKKyJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPiciCittc2dzdHIgIiIKKyLooZ3nqoHop6PmsbrlroznlaLlvozvvIznlKggJ2dpdCBhZGQgPOi3r+W+kT4nIOaIliAnZ2l0IHJtIDzot6/lvpE+J1xuIgorIuaMh+S7pOaomeiomOS/ruato+W+jOeahOaqlOahiCIKKworIzogc2VxdWVuY2VyLmM6MzkwCittc2dpZCAiIgorImFmdGVyIHJlc29sdmluZyB0aGUgY29uZmxpY3RzLCBtYXJrIHRoZSBjb3JyZWN0ZWQgcGF0aHNcbiIKKyJ3aXRoICdnaXQgYWRkIDxwYXRocz4nIG9yICdnaXQgcm0gPHBhdGhzPidcbiIKKyJhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCAnZ2l0IGNvbW1pdCciCittc2dzdHIgIiIKKyLooZ3nqoHop6PmsbrlroznlaLlvozvvIznlKggJ2dpdCBhZGQgPOi3r+W+kT4nIOaIliAnZ2l0IHJtIDzot6/lvpE+J1xuIgorIuWwjeS/ruato+W+jOeahOaqlOahiOWBmuaomeiomO+8jOeEtuW+jOeUqCAnZ2l0IGNvbW1pdCcg5o+Q5LqkIgorCisjOiBzZXF1ZW5jZXIuYzo0MDMgc2VxdWVuY2VyLmM6Mjk5MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgbG9jayAnJXMnIgorbXNnc3RyICLkuI3og73pjpblrpogJyVzJyIKKworIzogc2VxdWVuY2VyLmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSBlb2wgdG8gJyVzJyIKK21zZ3N0ciAi5LiN6IO95bCH5o+b6KGM56ym6Jmf5a+r5YWlICclcyciCisKKyM6IHNlcXVlbmNlci5jOjQxNSBzZXF1ZW5jZXIuYzoyNzk4IHNlcXVlbmNlci5jOjI5OTkgc2VxdWVuY2VyLmM6MzAxMworIzogc2VxdWVuY2VyLmM6MzI3NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgJyVzJyIKK21zZ3N0ciAi54Sh5rOV5a6M5oiQICclcyciCisKKyM6IHNlcXVlbmNlci5jOjQzOCBzZXF1ZW5jZXIuYzoxNzA3IHNlcXVlbmNlci5jOjI4MTggc2VxdWVuY2VyLmM6MzI1OQorIzogc2VxdWVuY2VyLmM6MzM2OCBidWlsdGluL2FtLmM6MjQ0IGJ1aWx0aW4vY29tbWl0LmM6NzgzIGJ1aWx0aW4vbWVyZ2UuYzoxMTE3CisjOiBidWlsdGluL3JlYmFzZS5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCAnJXMnIgorbXNnc3RyICLkuI3og73oroDlj5YgJyVzJyIKKworIzogc2VxdWVuY2VyLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlcy4iCittc2dzdHIgIuaCqOeahOacrOapn+S/ruaUueWwh+iiqyVz6KaG6JOL44CCIgorCisjOiBzZXF1ZW5jZXIuYzo0NjgKK21zZ2lkICJjb21taXQgeW91ciBjaGFuZ2VzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZC4iCittc2dzdHIgIuaPkOS6pOaCqOeahOS/ruaUueaIluWEsuiXj+W+jOWGjee5vOe6jOOAgiIKKworIzogc2VxdWVuY2VyLmM6NTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYXN0LWZvcndhcmQiCittc2dzdHIgIiVz77ya5b+r6L2JIgorCisjOiBzZXF1ZW5jZXIuYzo1MzkgYnVpbHRpbi90YWcuYzo1NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBjbGVhbnVwIG1vZGUgJXMiCittc2dzdHIgIueEoeaViOeahOa4heeQhuaooeW8jyAlcyIKKworIy4gVFJBTlNMQVRPUlM6ICVzIHdpbGwgYmUgInJldmVydCIsICJjaGVycnktcGljayIgb3IKKyMuICJyZWJhc2UgLWkiLgorIy4KKyM6IHNlcXVlbmNlci5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIgorbXNnc3RyICIlc++8mueEoeazleWvq+WFpeaWsOe0ouW8leaqlOahiCIKKworIzogc2VxdWVuY2VyLmM6NjUwCittc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBjYWNoZSB0cmVlIgorbXNnc3RyICLkuI3og73mm7TmlrDlv6vlj5bmqLkiCisKKyM6IHNlcXVlbmNlci5jOjY2NAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIEhFQUQgY29tbWl0IgorbXNnc3RyICLkuI3og73op6PmnpAgSEVBRCDmj5DkuqQiCisKKyM6IHNlcXVlbmNlci5jOjc0NAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBrZXkgcHJlc2VudCBpbiAnJS4qcyciCittc2dzdHIgIuWcqCAnJS4qcycg5Lit5rKS5pyJIGtleSIKKworIzogc2VxdWVuY2VyLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBkZXF1b3RlIHZhbHVlIG9mICclcyciCittc2dzdHIgIueEoeazleeCuiAnJXMnIOeahOWAvOWOu+W8leiZnyIKKworIzogc2VxdWVuY2VyLmM6NzkyIHdyYXBwZXIuYzoxOTAgd3JhcHBlci5jOjM2MCBidWlsdGluL2FtLmM6NzA1CisjOiBidWlsdGluL2FtLmM6Nzk3IGJ1aWx0aW4vbWVyZ2UuYzoxMTE0IGJ1aWx0aW4vcmViYXNlLmM6MTA3NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciByZWFkaW5nIgorbXNnc3RyICLnhKHms5XplovllZ8gJyVzJyDpgLLooYzoroDlj5YiCisKKyM6IHNlcXVlbmNlci5jOjgwMgorbXNnaWQgIidHSVRfQVVUSE9SX05BTUUnIGFscmVhZHkgZ2l2ZW4iCittc2dzdHIgIuW3sue2k+e1puWHuiAnR0lUX0FVVEhPUl9OQU1FJyIKKworIzogc2VxdWVuY2VyLmM6ODA3Cittc2dpZCAiJ0dJVF9BVVRIT1JfRU1BSUwnIGFscmVhZHkgZ2l2ZW4iCittc2dzdHIgIuW3sue2k+e1puWHuiAnR0lUX0FVVEhPUl9FTUFJTCciCisKKyM6IHNlcXVlbmNlci5jOjgxMgorbXNnaWQgIidHSVRfQVVUSE9SX0RBVEUnIGFscmVhZHkgZ2l2ZW4iCittc2dzdHIgIuW3sue2k+e1puWHuiAnR0lUX0FVVEhPUl9EQVRFJyIKKworIzogc2VxdWVuY2VyLmM6ODE2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdmFyaWFibGUgJyVzJyIKK21zZ3N0ciAi5pyq55+l6K6K5pW4ICclcyciCisKKyM6IHNlcXVlbmNlci5jOjgyMQorbXNnaWQgIm1pc3NpbmcgJ0dJVF9BVVRIT1JfTkFNRSciCittc2dzdHIgIue8uuWwkSAnR0lUX0FVVEhPUl9OQU1FJyIKKworIzogc2VxdWVuY2VyLmM6ODIzCittc2dpZCAibWlzc2luZyAnR0lUX0FVVEhPUl9FTUFJTCciCittc2dzdHIgIue8uuWwkSAnR0lUX0FVVEhPUl9FTUFJTCciCisKKyM6IHNlcXVlbmNlci5jOjgyNQorbXNnaWQgIm1pc3NpbmcgJ0dJVF9BVVRIT1JfREFURSciCittc2dzdHIgIue8uuWwkSAnR0lUX0FVVEhPUl9EQVRFJyIKKworIzogc2VxdWVuY2VyLmM6OTAyIHNlcXVlbmNlci5jOjE0MjcKKyN8IG1zZ2lkICJtYWxmb3JtZWQgaW5wdXQgbGluZTogJyVzJy4iCittc2dpZCAibWFsZm9ybWVkIGlkZW50IGxpbmUiCittc2dzdHIgIuitmOWIpeihjOeahOagvOW8j+mMr+iqpCIKKworIzogc2VxdWVuY2VyLmM6OTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ5b3UgaGF2ZSBzdGFnZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZVxuIgorIklmIHRoZXNlIGNoYW5nZXMgYXJlIG1lYW50IHRvIGJlIHNxdWFzaGVkIGludG8gdGhlIHByZXZpb3VzIGNvbW1pdCwgcnVuOlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCisiXG4iCisiSWYgdGhleSBhcmUgbWVhbnQgdG8gZ28gaW50byBhIG5ldyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgJXNcbiIKKyJcbiIKKyJJbiBib3RoIGNhc2VzLCBvbmNlIHlvdSdyZSBkb25lLCBjb250aW51ZSB3aXRoOlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCittc2dzdHIgIiIKKyLmgqjnmoTlt6XkvZzljYDkuK3lrZjlnKjlt7LmmqvlrZjnmoTkv67mlLlcbiIKKyLlpoLmnpzpgJnkupvkv67mlLnpnIDopoHooqvkvbXlhaXliY3kuIDlgIvmj5DkuqTvvIzln7fooYzvvJpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAlc1xuIgorIlxuIgorIuWmguaenOmAmeS6m+S/ruaUueimgeW9ouaIkOS4gOWAi+aWsOaPkOS6pO+8jOWft+ihjO+8mlxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAlc1xuIgorIlxuIgorIueEoeirluWTqueoruaDheazge+8jOeVtuaCqOWujOaIkOaPkOS6pO+8jOe5vOe6jOWft+ihjO+8mlxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisKKyM6IHNlcXVlbmNlci5jOjEyMTgKK21zZ2lkICIncHJlcGFyZS1jb21taXQtbXNnJyBob29rIGZhaWxlZCIKK21zZ3N0ciAiJ3ByZXBhcmUtY29tbWl0LW1zZycg5o6b6Ymk5aSx5pWXIgorCisjOiBzZXF1ZW5jZXIuYzoxMjI0Cittc2dpZCAiIgorIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgorIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKKyJZb3UgY2FuIHN1cHByZXNzIHRoaXMgbWVzc2FnZSBieSBzZXR0aW5nIHRoZW0gZXhwbGljaXRseS4gUnVuIHRoZVxuIgorImZvbGxvd2luZyBjb21tYW5kIGFuZCBmb2xsb3cgdGhlIGluc3RydWN0aW9ucyBpbiB5b3VyIGVkaXRvciB0byBlZGl0XG4iCisieW91ciBjb25maWd1cmF0aW9uIGZpbGU6XG4iCisiXG4iCisiICAgIGdpdCBjb25maWcgLS1nbG9iYWwgLS1lZGl0XG4iCisiXG4iCisiQWZ0ZXIgZG9pbmcgdGhpcywgeW91IG1heSBmaXggdGhlIGlkZW50aXR5IHVzZWQgZm9yIHRoaXMgY29tbWl0IHdpdGg6XG4iCisiXG4iCisiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgorbXNnc3RyICIiCisi5oKo55qE5aeT5ZCN5ZKM5L+h5Lu25L2N5Z2A5Z+65pa855m75YWl5ZCN56ix5ZKM5Li75qmf5ZCN56ix6Ieq5YuV6Kit5a6a44CC6KuL5qqi5p+l5a6D5YCR5q2j56K6XG4iCisi6IiH5ZCm44CC5oKo5Y+v5Lul5bCN5YW26YCy6KGM6Kit5a6a5Lul5YWN5YaN5Ye654++5pys5o+Q56S66KiK5oGv44CC5Z+36KGM5aaC5LiL5oyH5Luk5Zyo57eo6Lyv5ZmoXG4iCisi5Lit57eo6Lyv5oKo55qE6Kit5a6a5qqU5qGI77yaXG4iCisiXG4iCisiICAgIGdpdCBjb25maWcgLS1nbG9iYWwgLS1lZGl0XG4iCisiXG4iCisi6Kit5a6a5a6M55Wi5b6M77yM5oKo5Y+v5Lul55So5LiL6Z2i55qE5oyH5Luk5L6G5L+u5q2j5pys5qyh5o+Q5Lqk5omA5L2/55So55qE5L2/55So6ICF6Lqr5Lu977yaXG4iCisiXG4iCisiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgorCisjOiBzZXF1ZW5jZXIuYzoxMjM3Cittc2dpZCAiIgorIllvdXIgbmFtZSBhbmQgZW1haWwgYWRkcmVzcyB3ZXJlIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseSBiYXNlZFxuIgorIm9uIHlvdXIgdXNlcm5hbWUgYW5kIGhvc3RuYW1lLiBQbGVhc2UgY2hlY2sgdGhhdCB0aGV5IGFyZSBhY2N1cmF0ZS5cbiIKKyJZb3UgY2FuIHN1cHByZXNzIHRoaXMgbWVzc2FnZSBieSBzZXR0aW5nIHRoZW0gZXhwbGljaXRseTpcbiIKKyJcbiIKKyIgICAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCJZb3VyIE5hbWVcIlxuIgorIiAgICBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgeW91QGV4YW1wbGUuY29tXG4iCisiXG4iCisiQWZ0ZXIgZG9pbmcgdGhpcywgeW91IG1heSBmaXggdGhlIGlkZW50aXR5IHVzZWQgZm9yIHRoaXMgY29tbWl0IHdpdGg6XG4iCisiXG4iCisiICAgIGdpdCBjb21taXQgLS1hbWVuZCAtLXJlc2V0LWF1dGhvclxuIgorbXNnc3RyICIiCisi5oKo55qE5aeT5ZCN5ZKM5L+h5Lu25L2N5Z2A5Z+65pa855m75YWl5ZCN56ix5ZKM5Li75qmf5ZCN56ix6Ieq5YuV6Kit5a6a44CC6KuL5qqi5p+l5a6D5YCR5q2j56K6XG4iCisi6IiH5ZCm44CC5oKo5Y+v5Lul5bCN5YW26YCy6KGM6Kit5a6a5Lul5YWN5YaN5Ye654++5pys5o+Q56S66KiK5oGv77yaXG4iCisiXG4iCisiICAgIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lIFwiWW91ciBOYW1lXCJcbiIKKyIgICAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIHlvdUBleGFtcGxlLmNvbVxuIgorIlxuIgorIuioreWumuWujOeVouW+jO+8jOaCqOWPr+S7peeUqOS4i+mdoueahOaMh+S7pOS+huS/ruato+acrOasoeaPkOS6pOaJgOS9v+eUqOeahOS9v+eUqOiAhei6q+S7ve+8mlxuIgorIlxuIgorIiAgICBnaXQgY29tbWl0IC0tYW1lbmQgLS1yZXNldC1hdXRob3JcbiIKKworIzogc2VxdWVuY2VyLmM6MTI3OQorbXNnaWQgImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiCittc2dzdHIgIueEoeazleaJvuWIsOaWsOW7uueri+eahOaPkOS6pCIKKworIzogc2VxdWVuY2VyLmM6MTI4MQorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBuZXdseSBjcmVhdGVkIGNvbW1pdCIKK21zZ3N0ciAi5LiN6IO96Kej5p6Q5paw5bu656uL55qE5o+Q5LqkIgorCisjOiBzZXF1ZW5jZXIuYzoxMzI3Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgSEVBRCBhZnRlciBjcmVhdGluZyBjb21taXQiCittc2dzdHIgIuW7uueri+aPkOS6pOW+jO+8jOS4jeiDveino+aekCBIRUFEIgorCisjOiBzZXF1ZW5jZXIuYzoxMzI5Cittc2dpZCAiZGV0YWNoZWQgSEVBRCIKK21zZ3N0ciAi5YiG6Zui6ZaL6aCt5oyH5qiZIgorCisjICDora/ogIXvvJrkuK3mloflrZfkuLLmi7zmjqXvvIzlj6/liKrpmaTliY3lsI7nqbrmoLwKKyM6IHNlcXVlbmNlci5jOjEzMzMKK21zZ2lkICIgKHJvb3QtY29tbWl0KSIKK21zZ3N0ciAiICjmoLnmj5DkuqQpIgorCisjOiBzZXF1ZW5jZXIuYzoxMzU0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIEhFQUQiCittc2dzdHIgIuS4jeiDveino+aekCBIRUFEIgorCisjOiBzZXF1ZW5jZXIuYzoxMzU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkhFQUQgJXMgaXMgbm90IGEgY29tbWl0ISIKK21zZ3N0ciAiSEVBRCAlcyDkuI3mmK/kuIDlgIvmj5DkuqTvvIEiCisKKyM6IHNlcXVlbmNlci5jOjEzNjAgc2VxdWVuY2VyLmM6MTQ1OCBidWlsdGluL2NvbW1pdC5jOjE1NjkKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgSEVBRCBjb21taXQiCittc2dzdHIgIuS4jeiDveino+aekCBIRUFEIOaPkOS6pCIKKworIzogc2VxdWVuY2VyLmM6MTQxMSBzZXF1ZW5jZXIuYzoyMDU1Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCBhdXRob3IiCittc2dzdHIgIuS4jeiDveino+aekOaPkOS6pOS9nOiAhSIKKworIzogc2VxdWVuY2VyLmM6MTQzMQorI3wgbXNnaWQgInJlZnJlc2ggc3RhdCBpbmZvcm1hdGlvbiIKK21zZ2lkICJjb3JydXB0ZWQgYXV0aG9yIHdpdGhvdXQgZGF0ZSBpbmZvcm1hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzZXF1ZW5jZXIuYzoxNDQ3IGJ1aWx0aW4vYW0uYzoxNTYxIGJ1aWx0aW4vbWVyZ2UuYzo2ODQKK21zZ2lkICJnaXQgd3JpdGUtdHJlZSBmYWlsZWQgdG8gd3JpdGUgYSB0cmVlIgorbXNnc3RyICJnaXQgd3JpdGUtdHJlZSDnhKHms5Xlr6vlhaXmqLnni4Dnianku7YiCisKKyM6IHNlcXVlbmNlci5jOjE0ODAgc2VxdWVuY2VyLmM6MTU1MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBjb21taXQgbWVzc2FnZSBmcm9tICclcyciCittc2dzdHIgIuS4jeiDveW+niAnJXMnIOiugOWPluaPkOS6pOiqquaYjiIKKworIzogc2VxdWVuY2VyLmM6MTUxNiBidWlsdGluL2FtLmM6MTU4MyBidWlsdGluL2NvbW1pdC5jOjE2NjggYnVpbHRpbi9tZXJnZS5jOjg4MworIzogYnVpbHRpbi9tZXJnZS5jOjkwOAorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBjb21taXQgb2JqZWN0IgorbXNnc3RyICLlr6vmj5DkuqTnianku7blpLHmlZciCisKKyM6IHNlcXVlbmNlci5jOjE1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIGNvbW1pdCAlcyIKK21zZ3N0ciAi5LiN6IO96Kej5p6Q5o+Q5LqkICVzIgorCisjOiBzZXF1ZW5jZXIuYzoxNTgyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBwYXJlbnQgY29tbWl0ICVzIgorbXNnc3RyICLkuI3og73op6PmnpDniLbmj5DkuqQgJXMiCisKKyM6IHNlcXVlbmNlci5jOjE2NTYgc2VxdWVuY2VyLmM6MTc2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbW1hbmQ6ICVkIgorbXNnc3RyICLmnKrnn6XmjIfku6TvvJolZCIKKworIzogc2VxdWVuY2VyLmM6MTcxNCBzZXF1ZW5jZXIuYzoxNzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAlZCBjb21taXRzLiIKK21zZ3N0ciAi6YCZ5piv5LiA5YCLICVkIOWAi+aPkOS6pOeahOe1hOWQiOOAgiIKKworIzogc2VxdWVuY2VyLmM6MTcyNAorbXNnaWQgIm5lZWQgYSBIRUFEIHRvIGZpeHVwIgorbXNnc3RyICLpnIDopoHkuIDlgIsgSEVBRCDkvobkv67lvqkiCisKKyM6IHNlcXVlbmNlci5jOjE3MjYgc2VxdWVuY2VyLmM6MzMwNAorbXNnaWQgImNvdWxkIG5vdCByZWFkIEhFQUQiCittc2dzdHIgIuS4jeiDveiugOWPliBIRUFEIgorCisjOiBzZXF1ZW5jZXIuYzoxNzI4Cittc2dpZCAiY291bGQgbm90IHJlYWQgSEVBRCdzIGNvbW1pdCBtZXNzYWdlIgorbXNnc3RyICLkuI3og73oroDlj5YgSEVBRCDnmoTmj5DkuqToqqrmmI4iCisKKyM6IHNlcXVlbmNlci5jOjE3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICclcyciCittc2dzdHIgIuS4jeiDveWvqyAnJXMnIgorCisjOiBzZXF1ZW5jZXIuYzoxNzQxIGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0OTYKK21zZ2lkICJUaGlzIGlzIHRoZSAxc3QgY29tbWl0IG1lc3NhZ2U6IgorbXNnc3RyICLpgJnmmK/nrKzkuIDlgIvmj5DkuqToqqrmmI7vvJoiCisKKyM6IHNlcXVlbmNlci5jOjE3NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgY29tbWl0IG1lc3NhZ2Ugb2YgJXMiCittc2dzdHIgIuS4jeiDveiugOWPliAlcyDnmoTmj5DkuqToqqrmmI4iCisKKyM6IHNlcXVlbmNlci5jOjE3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBpcyB0aGUgY29tbWl0IG1lc3NhZ2UgIyVkOiIKK21zZ3N0ciAi6YCZ5piv5o+Q5Lqk6Kqq5piOICMlZO+8miIKKworIzogc2VxdWVuY2VyLmM6MTc2MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgY29tbWl0IG1lc3NhZ2UgIyVkIHdpbGwgYmUgc2tpcHBlZDoiCittc2dzdHIgIuaPkOS6pOiqquaYjiAjJWQg5bCH6KKr6Lez6YGO77yaIgorCisjOiBzZXF1ZW5jZXIuYzoxODUwCittc2dpZCAieW91ciBpbmRleCBmaWxlIGlzIHVubWVyZ2VkLiIKK21zZ3N0ciAi5oKo55qE57Si5byV5qqU5qGI5pyq5a6M5oiQ5ZCI5L2144CCIgorCisjOiBzZXF1ZW5jZXIuYzoxODU3Cittc2dpZCAiY2Fubm90IGZpeHVwIHJvb3QgY29tbWl0IgorbXNnc3RyICLkuI3og73kv67lvqnmoLnmj5DkuqQiCisKKyM6IHNlcXVlbmNlci5jOjE4NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0ICVzIGlzIGEgbWVyZ2UgYnV0IG5vIC1tIG9wdGlvbiB3YXMgZ2l2ZW4uIgorbXNnc3RyICLmj5DkuqQgJXMg5piv5LiA5YCL5ZCI5L215o+Q5Lqk5L2G5pyq5o+Q5L6bIC1tIOmBuOmgheOAgiIKKworIzogc2VxdWVuY2VyLmM6MTg4NCBzZXF1ZW5jZXIuYzoxODkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIKK21zZ3N0ciAi5o+Q5LqkICVzIOaykuacieesrCAlZCDlgIvniLbmj5DkuqQiCisKKyM6IHNlcXVlbmNlci5jOjE4OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCBjb21taXQgbWVzc2FnZSBmb3IgJXMiCittc2dzdHIgIuS4jeiDveW+l+WIsCAlcyDnmoTmj5DkuqToqqrmmI4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgd2lsbCBiZSBhICJ0b2RvIiBjb21tYW5kIGxpa2UKKyMuICJyZXZlcnQiIG9yICJwaWNrIiwgdGhlIHNlY29uZCAlcyBhIFNIQTEuCisjOiBzZXF1ZW5jZXIuYzoxOTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcGFyc2UgcGFyZW50IGNvbW1pdCAlcyIKK21zZ3N0ciAiJXPvvJrkuI3og73op6PmnpDniLbmj5DkuqQgJXMiCisKKyM6IHNlcXVlbmNlci5jOjE5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlbmFtZSAnJXMnIHRvICclcyciCittc2dzdHIgIuS4jeiDveWwhyAnJXMnIOmHjeaWsOWRveWQjeeCuiAnJXMnIgorCisjOiBzZXF1ZW5jZXIuYzoyMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiCittc2dzdHIgIuS4jeiDvemChOWOnyAlcy4uLiAlcyIKKworIzogc2VxdWVuY2VyLmM6MjAzOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgYXBwbHkgJXMuLi4gJXMiCittc2dzdHIgIuS4jeiDveaHieeUqCAlcy4uLiAlcyIKKworIzogc2VxdWVuY2VyLmM6MjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgJXM6IGZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIKK21zZ3N0ciAiZ2l0ICVz77ya54Sh5rOV6K6A5Y+W57Si5byVIgorCisjOiBzZXF1ZW5jZXIuYzoyMTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCAlczogZmFpbGVkIHRvIHJlZnJlc2ggdGhlIGluZGV4IgorbXNnc3RyICJnaXQgJXPvvJrnhKHms5Xph43mlrDmlbTnkIbntKLlvJUiCisKKyM6IHNlcXVlbmNlci5jOjIxODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgYWNjZXB0IGFyZ3VtZW50czogJyVzJyIKK21zZ3N0ciAiJXMg5LiN5o6l5Y+X5Y+D5pW477yaJyVzJyIKKworIzogc2VxdWVuY2VyLmM6MjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIGFyZ3VtZW50cyBmb3IgJXMiCittc2dzdHIgIue8uuWwkSAlcyDnmoTlj4PmlbgiCisKKyM6IHNlcXVlbmNlci5jOjIyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlICclLipzJyIKK21zZ3N0ciAi54Sh5rOV6Kej5p6QICclLipzJyIKKworIzogc2VxdWVuY2VyLmM6MjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGxpbmUgJWQ6ICUuKnMiCittc2dzdHIgIueEoeaViOihjCAlZO+8miUuKnMiCisKKyM6IHNlcXVlbmNlci5jOjIzMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90ICclcycgd2l0aG91dCBhIHByZXZpb3VzIGNvbW1pdCIKK21zZ3N0ciAi5rKS5pyJ54i25o+Q5Lqk55qE5oOF5rOB5LiL5LiN6IO9ICclcyciCisKKyM6IHNlcXVlbmNlci5jOjIzNDggYnVpbHRpbi9yZWJhc2UuYzoxNzIgYnVpbHRpbi9yZWJhc2UuYzoxOTcKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjIzIGJ1aWx0aW4vcmViYXNlLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkICclcycuIgorbXNnc3RyICLkuI3og73oroDlj5YgJyVzJ+OAgiIKKworIzogc2VxdWVuY2VyLmM6MjM4NAorbXNnaWQgImNhbmNlbGxpbmcgYSBjaGVycnkgcGlja2luZyBpbiBwcm9ncmVzcyIKK21zZ3N0ciAi5q2j5Zyo5Y+W5raI5LiA5YCL6YCy6KGM5Lit55qE5o+A6YG4IgorCisjOiBzZXF1ZW5jZXIuYzoyMzkxCittc2dpZCAiY2FuY2VsbGluZyBhIHJldmVydCBpbiBwcm9ncmVzcyIKK21zZ3N0ciAi5q2j5Zyo5Y+W5raI5LiA5YCL6YCy6KGM5Lit55qE6YKE5Y6fIgorCisjOiBzZXF1ZW5jZXIuYzoyNDM1Cittc2dpZCAicGxlYXNlIGZpeCB0aGlzIHVzaW5nICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJy4iCittc2dzdHIgIuiri+eUqCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycg5L6G5L+u5pS544CCIgorCisjOiBzZXF1ZW5jZXIuYzoyNDM3CisjLCBjLWZvcm1hdAorbXNnaWQgInVudXNhYmxlIGluc3RydWN0aW9uIHNoZWV0OiAnJXMnIgorbXNnc3RyICLkuI3lj6/nlKjnmoTmjIfku6TmuIXllq7vvJonJXMnIgorCisjOiBzZXF1ZW5jZXIuYzoyNDQyCittc2dpZCAibm8gY29tbWl0cyBwYXJzZWQuIgorbXNnc3RyICLmspLmnInop6PmnpDmj5DkuqTjgIIiCisKKyM6IHNlcXVlbmNlci5jOjI0NTMKK21zZ2lkICJjYW5ub3QgY2hlcnJ5LXBpY2sgZHVyaW5nIGEgcmV2ZXJ0LiIKK21zZ3N0ciAi5LiN6IO95Zyo6YKE5Y6f5o+Q5Lqk5Lit5Z+36KGM5o+A6YG444CCIgorCisjOiBzZXF1ZW5jZXIuYzoyNDU1Cittc2dpZCAiY2Fubm90IHJldmVydCBkdXJpbmcgYSBjaGVycnktcGljay4iCittc2dzdHIgIuS4jeiDveWcqOaPgOmBuOS4reWft+ihjOmChOWOn+aPkOS6pOOAgiIKKworIzogc2VxdWVuY2VyLmM6MjUzMworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlczogJXMiCittc2dzdHIgIiVzIOeahOWAvOeEoeaViO+8miVzIgorCisjOiBzZXF1ZW5jZXIuYzoyNjMwCittc2dpZCAidW51c2FibGUgc3F1YXNoLW9udG8iCittc2dzdHIgIuS4jeWPr+eUqOeahCBzcXVhc2gtb250byIKKworIzogc2VxdWVuY2VyLmM6MjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxmb3JtZWQgb3B0aW9ucyBzaGVldDogJyVzJyIKK21zZ3N0ciAi5qC85byP6Yyv6Kqk55qE6YG46aCF5riF5Zau77yaJyVzJyIKKworIzogc2VxdWVuY2VyLmM6MjczNiBzZXF1ZW5jZXIuYzo0NDYzCittc2dpZCAiZW1wdHkgY29tbWl0IHNldCBwYXNzZWQiCittc2dzdHIgIuaPkOS+m+S6huepuueahOaPkOS6pOmbhiIKKworIzogc2VxdWVuY2VyLmM6Mjc1MgorbXNnaWQgInJldmVydCBpcyBhbHJlYWR5IGluIHByb2dyZXNzIgorbXNnc3RyICLkuIDlgIvpgoTljp/li5XkvZzlt7LlnKjpgLLooYwiCisKKyM6IHNlcXVlbmNlci5jOjI3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJ5IFwiZ2l0IHJldmVydCAoLS1jb250aW51ZSB8ICVzLS1hYm9ydCB8IC0tcXVpdClcIiIKK21zZ3N0ciAi5ZiX6KmmIFwiZ2l0IHJldmVydCAoLS1jb250aW51ZSB8ICVzLS1hYm9ydCB8IC0tcXVpdClcIiIKKworIzogc2VxdWVuY2VyLmM6Mjc1NworbXNnaWQgImNoZXJyeS1waWNrIGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MiCittc2dzdHIgIuaPgOmBuOWLleS9nOW3suWcqOmAsuihjCIKKworIzogc2VxdWVuY2VyLmM6Mjc1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ0cnkgXCJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAlcy0tYWJvcnQgfCAtLXF1aXQpXCIiCittc2dzdHIgIuWYl+ippiBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8ICVzLS1hYm9ydCB8IC0tcXVpdClcIiIKKworIzogc2VxdWVuY2VyLmM6Mjc3MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJyVzJyIKK21zZ3N0ciAi5LiN6IO95bu656uL5bqP5YiX55uu6YyEICclcyciCisKKyM6IHNlcXVlbmNlci5jOjI3ODgKK21zZ2lkICJjb3VsZCBub3QgbG9jayBIRUFEIgorbXNnc3RyICLkuI3og73pjpblrpogSEVBRCIKKworIzogc2VxdWVuY2VyLmM6Mjg0OCBzZXF1ZW5jZXIuYzo0MjA5Cittc2dpZCAibm8gY2hlcnJ5LXBpY2sgb3IgcmV2ZXJ0IGluIHByb2dyZXNzIgorbXNnc3RyICLmj4DpgbjmiJbpgoTljp/li5XkvZzkuKbmnKrpgLLooYwiCisKKyM6IHNlcXVlbmNlci5jOjI4NTAgc2VxdWVuY2VyLmM6Mjg2MQorbXNnaWQgImNhbm5vdCByZXNvbHZlIEhFQUQiCittc2dzdHIgIuS4jeiDveino+aekCBIRUFEIgorCisjOiBzZXF1ZW5jZXIuYzoyODUyIHNlcXVlbmNlci5jOjI4OTYKK21zZ2lkICJjYW5ub3QgYWJvcnQgZnJvbSBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKK21zZ3N0ciAi5LiN6IO95b6e5bCa5pyq5bu656uL55qE5YiG5pSv57WC5q2iIgorCisjOiBzZXF1ZW5jZXIuYzoyODgyIGJ1aWx0aW4vZ3JlcC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAnJXMnIgorbXNnc3RyICLkuI3og73plovllZ8gJyVzJyIKKworIzogc2VxdWVuY2VyLmM6Mjg4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAnJXMnOiAlcyIKK21zZ3N0ciAi5LiN6IO96K6A5Y+WICclcyfvvJolcyIKKworIzogc2VxdWVuY2VyLmM6Mjg4NQorbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCittc2dzdHIgIuaEj+WklueahOaqlOahiOe1kOadnyIKKworIzogc2VxdWVuY2VyLmM6Mjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJzdG9yZWQgcHJlLWNoZXJyeS1waWNrIEhFQUQgZmlsZSAnJXMnIGlzIGNvcnJ1cHQiCittc2dzdHIgIuWEsuWtmOaPgOmBuOaPkOS6pOWJjeeahCBIRUFEIOaqlOahiCAnJXMnIOaQjeWjniIKKworIzogc2VxdWVuY2VyLmM6MjkwMgorbXNnaWQgIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRC4gTm90IHJld2luZGluZywgY2hlY2sgeW91ciBIRUFEISIKK21zZ3N0ciAi5oKo5aW95YOP56e75YuV5LqGIEhFQUTjgILmnKrog73pgoTljp/vvIzmqqLmn6XmgqjnmoQgSEVBRO+8gSIKKworIzogc2VxdWVuY2VyLmM6Mjk0MworbXNnaWQgIm5vIHJldmVydCBpbiBwcm9ncmVzcyIKK21zZ3N0ciAi5rKS5pyJ5q2j5Zyo6YCy6KGM55qE6YKE5Y6fIgorCisjOiBzZXF1ZW5jZXIuYzoyOTUxCittc2dpZCAibm8gY2hlcnJ5LXBpY2sgaW4gcHJvZ3Jlc3MiCittc2dzdHIgIuaykuacieato+WcqOmAsuihjOeahOaPgOmBuCIKKworIzogc2VxdWVuY2VyLmM6Mjk2MQorbXNnaWQgImZhaWxlZCB0byBza2lwIHRoZSBjb21taXQiCittc2dzdHIgIueEoeazlei3s+mBjumAmeWAi+aPkOS6pCIKKworIzogc2VxdWVuY2VyLmM6Mjk2OAorbXNnaWQgInRoZXJlIGlzIG5vdGhpbmcgdG8gc2tpcCIKK21zZ3N0ciAi5rKS5pyJ6KaB6Lez6YGO55qEIgorCisjOiBzZXF1ZW5jZXIuYzoyOTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJoYXZlIHlvdSBjb21taXR0ZWQgYWxyZWFkeT9cbiIKKyJ0cnkgXCJnaXQgJXMgLS1jb250aW51ZVwiIgorbXNnc3RyICIiCisi5oKo5bey57aT5o+Q5Lqk5LqG5ZeO77yfXG4iCisi6Kmm6KmmIFwiZ2l0ICVzIC0tY29udGludWVcIiIKKworIzogc2VxdWVuY2VyLmM6MzA5NSBzZXF1ZW5jZXIuYzo0MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgJXMiCittc2dzdHIgIuS4jeiDveabtOaWsCAlcyIKKworIzogc2VxdWVuY2VyLmM6MzEzNCBzZXF1ZW5jZXIuYzo0MTAxCittc2dpZCAiY2Fubm90IHJlYWQgSEVBRCIKK21zZ3N0ciAi5LiN6IO96K6A5Y+WIEhFQUQiCisKKyM6IHNlcXVlbmNlci5jOjMxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNvcHkgJyVzJyB0byAnJXMnIgorbXNnc3RyICLnhKHms5XopIfoo70gJyVzJyDoh7MgJyVzJyIKKworIzogc2VxdWVuY2VyLmM6MzE1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGNhbiBhbWVuZCB0aGUgY29tbWl0IG5vdywgd2l0aFxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCisiXG4iCisiT25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcywgcnVuXG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKK21zZ3N0ciAiIgorIuaCqOePvuWcqOWPr+S7peS/ruijnOmAmeWAi+aPkOS6pO+8jOS9v+eUqFxuIgorIlxuIgorIiAgZ2l0IGNvbW1pdCAtLWFtZW5kICVzXG4iCisiXG4iCisi55W25oKo5bCN6K6K5pu05oSf5Yiw5ru/5oSP77yM5Z+36KGMXG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKworIzogc2VxdWVuY2VyLmM6MzE2OQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgYXBwbHkgJXMuLi4gJS4qcyIKK21zZ3N0ciAi5LiN6IO95oeJ55SoICVzLi4uICUuKnMiCisKKyM6IHNlcXVlbmNlci5jOjMxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG1lcmdlICUuKnMiCittc2dzdHIgIuS4jeiDveWQiOS9tSAlLipzIgorCisjOiBzZXF1ZW5jZXIuYzozMTkwIHNlcXVlbmNlci5jOjMxOTQgYnVpbHRpbi9kaWZmdG9vbC5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY29weSAnJXMnIHRvICclcyciCittc2dzdHIgIuS4jeiDveikh+ijvSAnJXMnIOiHsyAnJXMnIgorCisjICDora/ogIXvvJroq4vntq3mjIHliY3lsI7nqbrmoLwKKyM6IHNlcXVlbmNlci5jOjMyMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImV4ZWN1dGlvbiBmYWlsZWQ6ICVzXG4iCisiJXNZb3UgY2FuIGZpeCB0aGUgcHJvYmxlbSwgYW5kIHRoZW4gcnVuXG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIuWft+ihjOWkseaVl++8miVzXG4iCisiJXPmgqjlj6/ku6XmlLnmraPoqbLllY/poYzvvIznhLblvozln7fooYxcbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorIlxuIgorCisjOiBzZXF1ZW5jZXIuYzozMjI3Cittc2dpZCAiYW5kIG1hZGUgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWVcbiIKK21zZ3N0ciAi5Lim5LiU5L+u5pS557Si5byV5ZKML+aIluW3peS9nOWNgFxuIgorCisjOiBzZXF1ZW5jZXIuYzozMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJleGVjdXRpb24gc3VjY2VlZGVkOiAlc1xuIgorImJ1dCBsZWZ0IGNoYW5nZXMgdG8gdGhlIGluZGV4IGFuZC9vciB0aGUgd29ya2luZyB0cmVlXG4iCisiQ29tbWl0IG9yIHN0YXNoIHlvdXIgY2hhbmdlcywgYW5kIHRoZW4gcnVuXG4iCisiXG4iCisiICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIuWft+ihjOaIkOWKn++8miVzXG4iCisi5L2G5piv5Zyo57Si5byV5ZKML+aIluW3peS9nOWNgOS4reWtmOWcqOiuiuabtFxuIgorIuaPkOS6pOaIluWEsuiXj+S/ruaUue+8jOeEtuW+jOWft+ihjFxuIgorIlxuIgorIiAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisiXG4iCisKKyM6IHNlcXVlbmNlci5jOjMyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBsYWJlbCBuYW1lOiAnJS4qcyciCittc2dzdHIgIumdnuazleeahOaomeexpOWQjeeose+8miclLipzJyIKKworIzogc2VxdWVuY2VyLmM6MzM0OAorbXNnaWQgIndyaXRpbmcgZmFrZSByb290IGNvbW1pdCIKK21zZ3N0ciAi5a+r5YG95qC55o+Q5LqkIgorCisjOiBzZXF1ZW5jZXIuYzozMzUzCittc2dpZCAid3JpdGluZyBzcXVhc2gtb250byIKK21zZ3N0ciAi5a+r5YWlIHNxdWFzaC1vbnRvIgorCisjOiBzZXF1ZW5jZXIuYzozMzkxIGJ1aWx0aW4vcmViYXNlLmM6ODc2IGJ1aWx0aW4vcmViYXNlLmM6ODgyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBmaW5kIHRyZWUgb2YgJXMiCittc2dzdHIgIueEoeazleaJvuWIsCAlcyDmjIflkJHnmoTmqLnjgIIiCisKKyM6IHNlcXVlbmNlci5jOjM0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlc29sdmUgJyVzJyIKK21zZ3N0ciAi54Sh5rOV6Kej5p6QICclcyciCisKKyM6IHNlcXVlbmNlci5jOjM0NjcKK21zZ2lkICJjYW5ub3QgbWVyZ2Ugd2l0aG91dCBhIGN1cnJlbnQgcmV2aXNpb24iCittc2dzdHIgIuaykuacieebruWJjeeJiOacrOS4jeiDveWQiOS9tSIKKworIzogc2VxdWVuY2VyLmM6MzQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJyUuKnMnIgorbXNnc3RyICLnhKHms5Xop6PmnpAgJyUuKnMnIgorCisjOiBzZXF1ZW5jZXIuYzozNDk4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdGhpbmcgdG8gbWVyZ2U6ICclLipzJyIKK21zZ3N0ciAi54Sh5Y+v55So5ZCI5L2177yaJyUuKnMnIgorCisjOiBzZXF1ZW5jZXIuYzozNTEwCittc2dpZCAib2N0b3B1cyBtZXJnZSBjYW5ub3QgYmUgZXhlY3V0ZWQgb24gdG9wIG9mIGEgW25ldyByb290XSIKK21zZ3N0ciAi56ug6a2a5ZCI5Lim5LiN6IO95Zyo5LiA5YCL5paw55qE5qC55o+Q5Lqk5LiK5Z+36KGMIgorCisjOiBzZXF1ZW5jZXIuYzozNTI2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBnZXQgY29tbWl0IG1lc3NhZ2Ugb2YgJyVzJyIKK21zZ3N0ciAi5LiN6IO95Y+W5b6XICclcycg55qE5o+Q5Lqk6Kqq5piOIgorCisjOiBzZXF1ZW5jZXIuYzozNjg4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBldmVuIGF0dGVtcHQgdG8gbWVyZ2UgJyUuKnMnIgorbXNnc3RyICLnlJroh7PkuI3og73lmJfoqablkIjkvbUgJyUuKnMnIgorCisjOiBzZXF1ZW5jZXIuYzozNzA0Cittc2dpZCAibWVyZ2U6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIKK21zZ3N0ciAi5ZCI5L2177ya54Sh5rOV5a+r5YWl5paw57Si5byV5qqU5qGIIgorCisjOiBzZXF1ZW5jZXIuYzozNzczIGJ1aWx0aW4vcmViYXNlLmM6NzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGxpZWQgYXV0b3N0YXNoLlxuIgorbXNnc3RyICLlt7Lmh4nnlKggYXV0b3N0YXNo44CCXG4iCisKKyM6IHNlcXVlbmNlci5jOjM3ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0b3JlICVzIgorbXNnc3RyICLkuI3og73lhLLlrZggJXMiCisKKyM6IHNlcXVlbmNlci5jOjM3ODggYnVpbHRpbi9yZWJhc2UuYzo3NDkgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjExMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQXBwbHlpbmcgYXV0b3N0YXNoIHJlc3VsdGVkIGluIGNvbmZsaWN0cy5cbiIKKyJZb3VyIGNoYW5nZXMgYXJlIHNhZmUgaW4gdGhlIHN0YXNoLlxuIgorIllvdSBjYW4gcnVuIFwiZ2l0IHN0YXNoIHBvcFwiIG9yIFwiZ2l0IHN0YXNoIGRyb3BcIiBhdCBhbnkgdGltZS5cbiIKK21zZ3N0ciAiIgorIuaHieeUqCBhdXRvc3Rhc2gg5bCO6Ie06KGd56qB44CCXG4iCisi5oKo55qE5L+u5pS55a6J5YWo5Zyw5YSy5a2Y5Zyo5YSy6JeP5Y2A5Lit44CCXG4iCisi5oKo5Y+v5Lul5Zyo5Lu75L2V5pmC5YCZ5Z+36KGMIFwiZ2l0IHN0YXNoIHBvcFwiIOaIliBcImdpdCBzdGFzaCBkcm9wXCLjgIJcbiIKKworIzogc2VxdWVuY2VyLmM6Mzg0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY2hlY2tvdXQgJXMiCittc2dzdHIgIuS4jeiDveewveWHuiAlcyIKKworIzogc2VxdWVuY2VyLmM6Mzg2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgT0lEIgorbXNnc3RyICIlc++8muS4jeaYr+S4gOWAi+acieaViOeahOeJqeS7tiBJRCIKKworIzogc2VxdWVuY2VyLmM6Mzg2OCBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Nzc5Cittc2dpZCAiY291bGQgbm90IGRldGFjaCBIRUFEIgorbXNnc3RyICLkuI3og73liIbpm6LplovpoK3mjIfmqJkiCisKKyM6IHNlcXVlbmNlci5jOjM4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RvcHBlZCBhdCBIRUFEXG4iCittc2dzdHIgIuWBnOatouWcqCBIRUFEXG4iCisKKyM6IHNlcXVlbmNlci5jOjM4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RvcHBlZCBhdCAlc1xuIgorbXNnc3RyICLlgZzmraLlnKggJXNcbiIKKworIzogc2VxdWVuY2VyLmM6Mzg5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ291bGQgbm90IGV4ZWN1dGUgdGhlIHRvZG8gY29tbWFuZFxuIgorIlxuIgorIiAgICAlLipzXG4iCisiSXQgaGFzIGJlZW4gcmVzY2hlZHVsZWQ7IFRvIGVkaXQgdGhlIGNvbW1hbmQgYmVmb3JlIGNvbnRpbnVpbmcsIHBsZWFzZVxuIgorImVkaXQgdGhlIHRvZG8gbGlzdCBmaXJzdDpcbiIKKyJcbiIKKyIgICAgZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1xuIgorIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIKK21zZ3N0ciAiIgorIueEoeazleWft+ihjOW+hei+puaMh+S7pFxuIgorIlxuIgorIiAgICAlLipzXG4iCisi5bey6KKr6YeN5paw5a6J5o6S77yM5Zyo57m857qM5LmL5YmN57eo6Lyv5oyH5Luk77yM6KuL5YWI57eo6Lyv5b6F6L6m5YiX6KGo77yaXG4iCisiXG4iCisiICAgIGdpdCByZWJhc2UgLS1lZGl0LXRvZG9cbiIKKyIgICAgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXG4iCisKKyM6IHNlcXVlbmNlci5jOjM5NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RvcHBlZCBhdCAlcy4uLiAgJS4qc1xuIgorbXNnc3RyICLlgZzmraLlnKggJXMuLi4gJS4qc1xuIgorCisjOiBzZXF1ZW5jZXIuYzo0MDUwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tbWFuZCAlZCIKK21zZ3N0ciAi5pyq55+l5oyH5LukICVkIgorCisjOiBzZXF1ZW5jZXIuYzo0MTA5Cittc2dpZCAiY291bGQgbm90IHJlYWQgb3JpZy1oZWFkIgorbXNnc3RyICLkuI3og73oroDlj5Ygb3JpZy1oZWFkIgorCisjOiBzZXF1ZW5jZXIuYzo0MTE0Cittc2dpZCAiY291bGQgbm90IHJlYWQgJ29udG8nIgorbXNnc3RyICLkuI3og73oroDlj5YgJ29udG8nIgorCisjOiBzZXF1ZW5jZXIuYzo0MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB1cGRhdGUgSEVBRCB0byAlcyIKK21zZ3N0ciAi5LiN6IO95pu05pawIEhFQUQg54K6ICVzIgorCisjOiBzZXF1ZW5jZXIuYzo0MjIxCittc2dpZCAiY2Fubm90IHJlYmFzZTogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIuS4jeiDvemHjeWumuWfuuW6le+8muaCqOacieacquaaq+WtmOeahOiuiuabtOOAgiIKKworIzogc2VxdWVuY2VyLmM6NDIzMAorbXNnaWQgImNhbm5vdCBhbWVuZCBub24tZXhpc3RpbmcgY29tbWl0IgorbXNnc3RyICLkuI3og73kv67oo5zkuI3lrZjlnKjnmoTmj5DkuqQiCisKKyM6IHNlcXVlbmNlci5jOjQyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBmaWxlOiAnJXMnIgorbXNnc3RyICLnhKHmlYjmqpTmoYjvvJonJXMnIgorCisjOiBzZXF1ZW5jZXIuYzo0MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29udGVudHM6ICclcyciCittc2dzdHIgIueEoeaViOWFp+Wuue+8miclcyciCisKKyM6IHNlcXVlbmNlci5jOjQyMzcKK21zZ2lkICIiCisiXG4iCisiWW91IGhhdmUgdW5jb21taXR0ZWQgY2hhbmdlcyBpbiB5b3VyIHdvcmtpbmcgdHJlZS4gUGxlYXNlLCBjb21taXQgdGhlbVxuIgorImZpcnN0IGFuZCB0aGVuIHJ1biAnZ2l0IHJlYmFzZSAtLWNvbnRpbnVlJyBhZ2Fpbi4iCittc2dzdHIgIiIKKyJcbiIKKyLmgqjnmoTlt6XkvZzljYDkuK3mnInmnKrmj5DkuqTnmoTorormm7TjgILoq4vlhYjmj5DkuqTnhLblvozlho3mrKHln7fooYwgJ2dpdCByZWJhc2UgLS1jb250aW51ZSfjgIIiCisKKyM6IHNlcXVlbmNlci5jOjQyNzMgc2VxdWVuY2VyLmM6NDMxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgZmlsZTogJyVzJyIKK21zZ3N0ciAi5LiN6IO95a+r5YWl5qqU5qGI77yaJyVzJyIKKworIzogc2VxdWVuY2VyLmM6NDMyNworbXNnaWQgImNvdWxkIG5vdCByZW1vdmUgQ0hFUlJZX1BJQ0tfSEVBRCIKK21zZ3N0ciAi5LiN6IO95Yiq6ZmkIENIRVJSWV9QSUNLX0hFQUQiCisKKyM6IHNlcXVlbmNlci5jOjQzMzQKK21zZ2lkICJjb3VsZCBub3QgY29tbWl0IHN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAi5LiN6IO95o+Q5Lqk5pqr5a2Y55qE5L+u5pS544CCIgorCisjOiBzZXF1ZW5jZXIuYzo0NDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGVycnktcGljayBhICVzIgorbXNnc3RyICIlc++8muS4jeiDveaPgOmBuOS4gOWAiyVzIgorCisjOiBzZXF1ZW5jZXIuYzo0NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgcmV2aXNpb24iCittc2dzdHIgIiVz77ya6Yyv6Kqk55qE54mI5pysIgorCisjOiBzZXF1ZW5jZXIuYzo0NDc5Cittc2dpZCAiY2FuJ3QgcmV2ZXJ0IGFzIGluaXRpYWwgY29tbWl0IgorbXNnc3RyICLkuI3og73kvZzngrrliJ3lp4vmj5DkuqTpgoTljp/mj5DkuqQiCisKKyM6IHNlcXVlbmNlci5jOjQ5NTIKK21zZ2lkICJtYWtlX3NjcmlwdDogdW5oYW5kbGVkIG9wdGlvbnMiCittc2dzdHIgIm1ha2Vfc2NyaXB077ya5pyJ5pyq6IO96JmV55CG55qE6YG46aCFIgorCisjOiBzZXF1ZW5jZXIuYzo0OTU1Cittc2dpZCAibWFrZV9zY3JpcHQ6IGVycm9yIHByZXBhcmluZyByZXZpc2lvbnMiCittc2dzdHIgIm1ha2Vfc2NyaXB077ya5rqW5YKZ54mI5pys5pmC6Yyv6KqkIgorCisjOiBzZXF1ZW5jZXIuYzo1MTEzCittc2dpZCAiIgorIllvdSBjYW4gZml4IHRoaXMgd2l0aCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tIgorImNvbnRpbnVlJy5cbiIKKyJPciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSAtLWFib3J0Jy5cbiIKK21zZ3N0ciAiIgorIuaCqOWPr+S7peeUqCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycg5L+u5q2j77yM54S25b6M5Z+36KGMICdnaXQgcmViYXNlIC0tY29udGludWUn44CCXG4iCisi5oiW6ICF5oKo5Y+v5Lul55SoICdnaXQgcmViYXNlIC0tYWJvcnQnIOe1guatoumHjeWumuWfuuW6leOAglxuIgorCisjOiBzZXF1ZW5jZXIuYzo1MjI2IHNlcXVlbmNlci5jOjUyNDMKK21zZ2lkICJub3RoaW5nIHRvIGRvIgorbXNnc3RyICLnhKHkuovlj6/lgZoiCisKKyM6IHNlcXVlbmNlci5jOjUyNTcKK21zZ2lkICJjb3VsZCBub3Qgc2tpcCB1bm5lY2Vzc2FyeSBwaWNrIGNvbW1hbmRzIgorbXNnc3RyICLnhKHms5Xot7PpgY7kuI3lv4XopoHnmoTmj4DpgbgiCisKKyM6IHNlcXVlbmNlci5jOjUzNTEKK21zZ2lkICJ0aGUgc2NyaXB0IHdhcyBhbHJlYWR5IHJlYXJyYW5nZWQuIgorbXNnc3RyICLohbPmnKzlt7LntpPph43mlrDnt6jmjpLjgIIiCisKKyM6IHNldHVwLmM6MTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgb3V0c2lkZSByZXBvc2l0b3J5IgorbXNnc3RyICInJXMnIOWcqOeJiOacrOW6q+S5i+WkliIKKworIzogc2V0dXAuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBubyBzdWNoIHBhdGggaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKKyJVc2UgJ2dpdCA8Y29tbWFuZD4gLS0gPHBhdGg+Li4uJyB0byBzcGVjaWZ5IHBhdGhzIHRoYXQgZG8gbm90IGV4aXN0IGxvY2FsbHkuIgorbXNnc3RyICIiCisiJXPvvJrlt6XkvZzljYDkuK3nhKHmraTot6/lvpHjgIJcbiIKKyLkvb/nlKjmjIfku6QgJ2dpdCA85oyH5LukPiAtLSA86Lev5b6RPi4uLicg5L6G5oyH5a6a5pys5qmf5LiN5a2Y5Zyo55qE6Lev5b6R44CCIgorCisjOiBzZXR1cC5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IHVua25vd24gcmV2aXNpb24gb3IgcGF0aCBub3QgaW4gdGhlIHdvcmtpbmcgdHJlZS5cbiIKKyJVc2UgJy0tJyB0byBzZXBhcmF0ZSBwYXRocyBmcm9tIHJldmlzaW9ucywgbGlrZSB0aGlzOlxuIgorIidnaXQgPGNvbW1hbmQ+IFs8cmV2aXNpb24+Li4uXSAtLSBbPGZpbGU+Li4uXSciCittc2dzdHIgIiIKKyLmnInmrafnvqnnmoTlj4PmlbggJyVzJ++8muacquefpeeahOeJiOacrOaIlui3r+W+keS4jeWtmOWcqOaWvOW3peS9nOWNgOS4reOAglxuIgorIuS9v+eUqCAnLS0nIOS+huWIhumalOeJiOacrOWSjOi3r+W+ke+8jOS+i+Wmgu+8mlxuIgorIidnaXQgPOaMh+S7pD4gWzzniYjmnKw+Li4uXSAtLSBbPOaqlOahiD4uLi5dJyIKKworIzogc2V0dXAuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgbXVzdCBjb21lIGJlZm9yZSBub24tb3B0aW9uIGFyZ3VtZW50cyIKK21zZ3N0ciAi6YG46aCFICclcycg5b+F6aCI5Zyo5YW25LuW6Z2e6YG46aCF5Y+D5pW45LmL5YmNIgorCisjOiBzZXR1cC5jOjI1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYW1iaWd1b3VzIGFyZ3VtZW50ICclcyc6IGJvdGggcmV2aXNpb24gYW5kIGZpbGVuYW1lXG4iCisiVXNlICctLScgdG8gc2VwYXJhdGUgcGF0aHMgZnJvbSByZXZpc2lvbnMsIGxpa2UgdGhpczpcbiIKKyInZ2l0IDxjb21tYW5kPiBbPHJldmlzaW9uPi4uLl0gLS0gWzxmaWxlPi4uLl0nIgorbXNnc3RyICIiCisi5pyJ5q2n576p55qE5Y+D5pW4ICclcyfvvJrlj6/lkIzmmYLmmK/niYjmnKzlkozmqpTmoYhcbiIKKyLkvb/nlKggJy0tJyDkvobliIbpmpTniYjmnKzlkozot6/lvpHvvIzkvovlpoLvvJpcbiIKKyInZ2l0IDzmjIfku6Q+IFs854mI5pysPi4uLl0gLS0gWzzmqpTmoYg+Li4uXSciCisKKyM6IHNldHVwLmM6MzkxCittc2dpZCAidW5hYmxlIHRvIHNldCB1cCB3b3JrIHRyZWUgdXNpbmcgaW52YWxpZCBjb25maWciCittc2dzdHIgIueEoeazleS9v+eUqOeEoeaViOioreWumuS+huW7uueri+W3peS9nOWNgCIKKworIzogc2V0dXAuYzozOTUKK21zZ2lkICJ0aGlzIG9wZXJhdGlvbiBtdXN0IGJlIHJ1biBpbiBhIHdvcmsgdHJlZSIKK21zZ3N0ciAi6Kmy5YuV5L2c5b+F6aCI5Zyo5LiA5YCL5bel5L2c5Y2A5Lit5Z+36KGMIgorCisjOiBzZXR1cC5jOjU0MQorIywgYy1mb3JtYXQKK21zZ2lkICJFeHBlY3RlZCBnaXQgcmVwbyB2ZXJzaW9uIDw9ICVkLCBmb3VuZCAlZCIKK21zZ3N0ciAi5pyf5pybIGdpdCDniYjmnKzluqvniYjmnKwgPD0gJWTvvIzljbvlvpfliLAgJWQiCisKKyM6IHNldHVwLmM6NTQ5Cittc2dpZCAidW5rbm93biByZXBvc2l0b3J5IGV4dGVuc2lvbnMgZm91bmQ6IgorbXNnc3RyICLnmbznj77mnKrnn6XnmoTniYjmnKzluqvmk7TlsZXvvJoiCisKKyM6IHNldHVwLmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIG9wZW5pbmcgJyVzJyIKK21zZ3N0ciAi6ZaL5ZWfICclcycg55m855Sf6Yyv6KqkIgorCisjOiBzZXR1cC5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbGFyZ2UgdG8gYmUgYSAuZ2l0IGZpbGU6ICclcyciCittc2dzdHIgIuaqlOahiOWkquWkp++8jOeEoeazleS9nOeCuiAuZ2l0IOaqlOahiO+8miclcyciCisKKyM6IHNldHVwLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHJlYWRpbmcgJXMiCittc2dzdHIgIuiugOWPliAlcyDnmbznlJ/pjK/oqqQiCisKKyM6IHNldHVwLmM6NTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZ2l0ZmlsZSBmb3JtYXQ6ICVzIgorbXNnc3RyICLnhKHmlYjnmoQgZ2l0ZmlsZSDmoLzlvI/vvJolcyIKKworIzogc2V0dXAuYzo1NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gcGF0aCBpbiBnaXRmaWxlOiAlcyIKK21zZ3N0ciAi5ZyoIGdpdGZpbGUg5Lit5rKS5pyJ6Lev5b6R77yaJXMiCisKKyM6IHNldHVwLmM6NTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGdpdCByZXBvc2l0b3J5OiAlcyIKK21zZ3N0ciAi5LiN5piv5LiA5YCLIGdpdCDniYjmnKzluqvvvJolcyIKKworIzogc2V0dXAuYzo2NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyQlcycgdG9vIGJpZyIKK21zZ3N0ciAiJyQlcycg5aSq5aSnIgorCisjOiBzZXR1cC5jOjY5MQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBnaXQgcmVwb3NpdG9yeTogJyVzJyIKK21zZ3N0ciAi5LiN5piv5LiA5YCLIGdpdCDniYjmnKzluqvvvJonJXMnIgorCisjOiBzZXR1cC5jOjcyMCBzZXR1cC5jOjcyMiBzZXR1cC5jOjc1MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJyVzJyIKK21zZ3N0ciAi5LiN6IO95YiH5o+b55uu6YyE5YiwICclcyciCisKKyM6IHNldHVwLmM6NzI1IHNldHVwLmM6NzgxIHNldHVwLmM6NzkxIHNldHVwLmM6ODMwIHNldHVwLmM6ODM4Cittc2dpZCAiY2Fubm90IGNvbWUgYmFjayB0byBjd2QiCittc2dzdHIgIueEoeazlei/lOWbnuebruWJjeW3peS9nOebrumMhCIKKworIzogc2V0dXAuYzo4NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHN0YXQgJyUqcyVzJXMnIgorbXNnc3RyICLlj5blvpcgJyUqcyVzJXMnIOeLgOaFi++8iHN0YXTvvInlpLHmlZciCisKKyM6IHNldHVwLmM6MTA5MAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIuS4jeiDveiugOWPluebruWJjeW3peS9nOebrumMhCIKKworIzogc2V0dXAuYzoxMDk5IHNldHVwLmM6MTEwNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHRvICclcyciCittc2dzdHIgIuS4jeiDveWIh+aPm+WIsCAnJXMnIgorCisjOiBzZXR1cC5jOjExMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBvZiB0aGUgcGFyZW50IGRpcmVjdG9yaWVzKTogJXMiCittc2dzdHIgIuS4jeaYr+S4gOWAiyBnaXQg54mI5pys5bqr77yI5oiW6ICF5Lu75L2V54i255uu6YyE77yJ77yaJXMiCisKKyM6IHNldHVwLmM6MTExNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBwYXJlbnQgdXAgdG8gbW91bnQgcG9pbnQgJXMpXG4iCisiU3RvcHBpbmcgYXQgZmlsZXN5c3RlbSBib3VuZGFyeSAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSBub3Qgc2V0KS4iCittc2dzdHIgIiIKKyLkuI3mmK/kuIDlgIsgZ2l0IOeJiOacrOW6q++8iOaIluiAheebtOiHs+aOm+i8iem7niAlcyDnmoTku7vkvZXniLbnm67pjITvvIlcbiIKKyLlgZzmraLlnKjmqpTmoYjns7vntbHpgornlYzvvIjmnKroqK3lrpogR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTe+8ieOAgiIKKworIzogc2V0dXAuYzoxMjI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJwcm9ibGVtIHdpdGggY29yZS5zaGFyZWRSZXBvc2l0b3J5IGZpbGVtb2RlIHZhbHVlICgwJS4zbykuXG4iCisiVGhlIG93bmVyIG9mIGZpbGVzIG11c3QgYWx3YXlzIGhhdmUgcmVhZCBhbmQgd3JpdGUgcGVybWlzc2lvbnMuIgorbXNnc3RyICIiCisi5Y+D5pW4IGNvcmUuc2hhcmVkUmVwb3NpdG9yeSDnmoTmqpTmoYjlsazmgKflgLzmnInllY/poYzvvIgwJS4zb++8ieOAglxuIgorIuaqlOahiOaJgOacieiAheW/hemgiOWni+e1guaTgeacieiugOWvq+asiumZkOOAgiIKKworIzogc2V0dXAuYzoxMjcxCittc2dpZCAib3BlbiAvZGV2L251bGwgb3IgZHVwIGZhaWxlZCIKK21zZ3N0ciAi5LiN6IO96ZaL5ZWf5oiW6ICF6KSH6KO9IC9kZXYvbnVsbCIKKworIzogc2V0dXAuYzoxMjg2Cittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgImZvcmsg5aSx5pWXIgorCisjOiBzZXR1cC5jOjEyOTEKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJzZXRzaWQg5aSx5pWXIgorCisjOiBzaGExLWZpbGUuYzo0NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0IGRpcmVjdG9yeSAlcyBkb2VzIG5vdCBleGlzdDsgY2hlY2sgLmdpdC9vYmplY3RzL2luZm8vYWx0ZXJuYXRlcyIKK21zZ3N0ciAi54mp5Lu255uu6YyEICVzIOS4jeWtmOWcqO+8jOaqouafpSAuZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzIgorCisjOiBzaGExLWZpbGUuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIG5vcm1hbGl6ZSBhbHRlcm5hdGUgb2JqZWN0IHBhdGg6ICVzIgorbXNnc3RyICLnhKHms5Xopo/nr4TljJblgpnnlKjnianku7bot6/lvpHvvJolcyIKKworIzogc2hhMS1maWxlLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBhbHRlcm5hdGUgb2JqZWN0IHN0b3JlcywgbmVzdGluZyB0b28gZGVlcCIKK21zZ3N0ciAiJXPvvJrlv73nlaXlgpnnlKjnianku7bluqvvvIzltYzlpZflpKrmt7EiCisKKyM6IHNoYTEtZmlsZS5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gbm9ybWFsaXplIG9iamVjdCBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICLnhKHms5Xopo/nr4TljJbnianku7bnm67pjIQ6ICVzIgorCisjOiBzaGExLWZpbGUuYzo2MjUKK21zZ2lkICJ1bmFibGUgdG8gZmRvcGVuIGFsdGVybmF0ZXMgbG9ja2ZpbGUiCittc2dzdHIgIueEoeazlSBmZG9wZW4g5Y+W5Luj6Y6W5qqU5qGIIgorCisjOiBzaGExLWZpbGUuYzo2NDMKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBhbHRlcm5hdGVzIGZpbGUiCittc2dzdHIgIueEoeazleiugOWPluabv+S7o+aqlOahiCIKKworIzogc2hhMS1maWxlLmM6NjUwCittc2dpZCAidW5hYmxlIHRvIG1vdmUgbmV3IGFsdGVybmF0ZXMgZmlsZSBpbnRvIHBsYWNlIgorbXNnc3RyICLnhKHms5XlsIfmlrDnmoTmm7/ku6PmqpTmoYjnp7vli5XliLDkvY0iCisKKyM6IHNoYTEtZmlsZS5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoICclcycgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIui3r+W+kSAnJXMnIOS4jeWtmOWcqCIKKworIzogc2hhMS1maWxlLmM6NzExCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgYXMgYSBsaW5rZWQgY2hlY2tvdXQgaXMgbm90IHN1cHBvcnRlZCB5ZXQuIgorbXNnc3RyICLlsJrkuI3mlK/mj7TlsIflj4PogIPniYjmnKzluqsgJyVzJyDkvZzngrrkuIDlgIvpgKPntZDnsL3lh7rjgIIiCisKKyM6IHNoYTEtZmlsZS5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIG5vdCBhIGxvY2FsIHJlcG9zaXRvcnkuIgorbXNnc3RyICLlj4PogIPniYjmnKzluqsgJyVzJyDkuI3mmK/kuIDlgIvmnKzmqZ/niYjmnKzluqvjgIIiCisKKyM6IHNoYTEtZmlsZS5jOjcyMworIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSAnJXMnIGlzIHNoYWxsb3ciCittc2dzdHIgIuWPg+iAg+eJiOacrOW6qyAnJXMnIOaYr+S4gOWAi+a3uuikh+ijvSIKKworIzogc2hhMS1maWxlLmM6NzMxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZmVyZW5jZSByZXBvc2l0b3J5ICclcycgaXMgZ3JhZnRlZCIKK21zZ3N0ciAi5Y+D6ICD54mI5pys5bqrICclcycg5bey6KKr56e75qSNIgorCisjOiBzaGExLWZpbGUuYzo3OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBsaW5lIHdoaWxlIHBhcnNpbmcgYWx0ZXJuYXRlIHJlZnM6ICVzIgorbXNnc3RyICLop6PmnpDlgpnnlKjlvJXnlKjmmYLnhKHmlYjnmoTooYzvvJolcyIKKworIzogc2hhMS1maWxlLmM6OTQzCisjLCBjLWZvcm1hdAorbXNnaWQgImF0dGVtcHRpbmcgdG8gbW1hcCAlPFBSSXVNQVg+IG92ZXIgbGltaXQgJTxQUkl1TUFYPiIKK21zZ3N0ciAi5ZiX6KmmIG1tYXAgJTxQUkl1TUFYPu+8jOi2hemBjuS6huacgOWkp+WAvCAlPFBSSXVNQVg+IgorCisjOiBzaGExLWZpbGUuYzo5NjQKK21zZ2lkICJtbWFwIGZhaWxlZCIKK21zZ3N0ciAibW1hcCDlpLHmlZciCisKKyM6IHNoYTEtZmlsZS5jOjExMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0IGZpbGUgJXMgaXMgZW1wdHkiCittc2dzdHIgIueJqeS7tuaqlOahiCAlcyDngrrnqboiCisKKyM6IHNoYTEtZmlsZS5jOjEyNTIgc2hhMS1maWxlLmM6MjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3JydXB0IGxvb3NlIG9iamVjdCAnJXMnIgorbXNnc3RyICLmkI3lo57nmoTprIbmlaPnianku7YgJyVzJyIKKworIzogc2hhMS1maWxlLmM6MTI1NCBzaGExLWZpbGUuYzoyMzk2CisjLCBjLWZvcm1hdAorbXNnaWQgImdhcmJhZ2UgYXQgZW5kIG9mIGxvb3NlIG9iamVjdCAnJXMnIgorbXNnc3RyICLprIbmlaPnianku7YgJyVzJyDlvozpnaLmnInlnoPlnL7os4fmlpkiCisKKyM6IHNoYTEtZmlsZS5jOjEyOTYKK21zZ2lkICJpbnZhbGlkIG9iamVjdCB0eXBlIgorbXNnc3RyICLnhKHmlYjnmoTnianku7bpoZ7lnosiCisKKyM6IHNoYTEtZmlsZS5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHVucGFjayAlcyBoZWFkZXIgd2l0aCAtLWFsbG93LXVua25vd24tdHlwZSIKK21zZ3N0ciAi54Sh5rOV55SoIC0tYWxsb3ctdW5rbm93bi10eXBlIOWPg+aVuOino+mWiyAlcyDmqJnpoK3oqIrmga8iCisKKyM6IHNoYTEtZmlsZS5jOjEzODMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHVucGFjayAlcyBoZWFkZXIiCittc2dzdHIgIueEoeazleino+mWiyAlcyDpoK3pg6giCisKKyM6IHNoYTEtZmlsZS5jOjEzODkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlICVzIGhlYWRlciB3aXRoIC0tYWxsb3ctdW5rbm93bi10eXBlIgorbXNnc3RyICLnhKHms5XnlKggLS1hbGxvdy11bmtub3duLXR5cGUg5Y+D5pW46Kej5p6QICVzIOaomemgreioiuaBryIKKworIzogc2hhMS1maWxlLmM6MTM5MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgJXMgaGVhZGVyIgorbXNnc3RyICLnhKHms5Xop6PmnpAgJXMg6aCt6YOoIgorCisjOiBzaGExLWZpbGUuYzoxNTg0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIG9iamVjdCAlcyIKK21zZ3N0ciAi6K6A5Y+W54mp5Lu2ICVzIOWkseaVlyIKKworIzogc2hhMS1maWxlLmM6MTU4OAorIywgYy1mb3JtYXQKK21zZ2lkICJyZXBsYWNlbWVudCAlcyBub3QgZm91bmQgZm9yICVzIgorbXNnc3RyICLmib7kuI3liLAgJTIkcyDnmoTmm7/ku6MgJTEkcyIKKworIzogc2hhMS1maWxlLmM6MTU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJsb29zZSBvYmplY3QgJXMgKHN0b3JlZCBpbiAlcykgaXMgY29ycnVwdCIKK21zZ3N0ciAi6ayG5pWj54mp5Lu2ICVz77yI5YSy5a2Y5ZyoICVz77yJ5bey5pCN5aOeIgorCisjOiBzaGExLWZpbGUuYzoxNTk2CisjLCBjLWZvcm1hdAorbXNnaWQgInBhY2tlZCBvYmplY3QgJXMgKHN0b3JlZCBpbiAlcykgaXMgY29ycnVwdCIKK21zZ3N0ciAi5omT5YyF54mp5Lu2ICVz77yI5YSy5a2Y5ZyoICVz77yJ5bey5pCN5aOeIgorCisjOiBzaGExLWZpbGUuYzoxNjk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBmaWxlICVzIgorbXNnc3RyICLnhKHms5Xlr6vmqpTmoYggJXMiCisKKyM6IHNoYTEtZmlsZS5jOjE3MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHNldCBwZXJtaXNzaW9uIHRvICclcyciCittc2dzdHIgIueEoeazleeCuiAnJXMnIOioreWumuasiumZkCIKKworIzogc2hhMS1maWxlLmM6MTcxMworbXNnaWQgImZpbGUgd3JpdGUgZXJyb3IiCittc2dzdHIgIuaqlOahiOWvq+mMr+iqpCIKKworIzogc2hhMS1maWxlLmM6MTczMgorbXNnaWQgImVycm9yIHdoZW4gY2xvc2luZyBsb29zZSBvYmplY3QgZmlsZSIKK21zZ3N0ciAi6Zec6ZaJ6ayG5pWj54mp5Lu25qqU5qGI5pmC55m855Sf6Yyv6KqkIgorCisjOiBzaGExLWZpbGUuYzoxNzk3CisjLCBjLWZvcm1hdAorbXNnaWQgImluc3VmZmljaWVudCBwZXJtaXNzaW9uIGZvciBhZGRpbmcgYW4gb2JqZWN0IHRvIHJlcG9zaXRvcnkgZGF0YWJhc2UgJXMiCittc2dzdHIgIuasiumZkOS4jei2s++8jOeEoeazleWcqOeJiOacrOW6q+eJqeS7tuW6qyAlcyDkuK3mlrDlop7nianku7YiCisKKyM6IHNoYTEtZmlsZS5jOjE3OTkKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICLnhKHms5Xlu7rnq4vmmqvlrZjmqpQiCisKKyM6IHNoYTEtZmlsZS5jOjE4MjMKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbG9vc2Ugb2JqZWN0IGZpbGUiCittc2dzdHIgIuS4jeiDveWvq+mshuaVo+eJqeS7tuaqlOahiCIKKworIzogc2hhMS1maWxlLmM6MTgyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZGVmbGF0ZSBuZXcgb2JqZWN0ICVzICglZCkiCittc2dzdHIgIuS4jeiDveWjk+e4ruaWsOeJqeS7tiAlc++8iCVk77yJIgorCisjOiBzaGExLWZpbGUuYzoxODMzCisjLCBjLWZvcm1hdAorbXNnaWQgImRlZmxhdGVFbmQgb24gb2JqZWN0ICVzIGZhaWxlZCAoJWQpIgorbXNnc3RyICLlnKjnianku7YgJXMg5LiK5ZG85Y+rIGRlZmxhdGVFbmQg5aSx5pWX77yIJWTvvIkiCisKKyM6IHNoYTEtZmlsZS5jOjE4MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29uZnVzZWQgYnkgdW5zdGFibGUgb2JqZWN0IHNvdXJjZSBkYXRhIGZvciAlcyIKK21zZ3N0ciAi6KKrICVzIOeahOS4jeepqeWumueJqeS7tua6kOizh+aWmeaQnueziuWhl+S6hiIKKworIzogc2hhMS1maWxlLmM6MTg0NyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjkyNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdXRpbWUoKSBvbiAlcyIKK21zZ3N0ciAi5ZyoICVzIOS4iuWRvOWPqyB1dGltZSgpIOWkseaVlyIKKworIzogc2hhMS1maWxlLmM6MTkyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBvYmplY3QgZm9yICVzIgorbXNnc3RyICLkuI3og73oroDlj5bnianku7YgJXMiCisKKyM6IHNoYTEtZmlsZS5jOjE5NjIKK21zZ2lkICJjb3JydXB0IGNvbW1pdCIKK21zZ3N0ciAi5pCN5aOe55qE5o+Q5LqkIgorCisjOiBzaGExLWZpbGUuYzoxOTcwCittc2dpZCAiY29ycnVwdCB0YWciCittc2dzdHIgIuaQjeWjnueahOaomeexpCIKKworIzogc2hhMS1maWxlLmM6MjA2OQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIHdoaWxlIGluZGV4aW5nICVzIgorbXNnc3RyICLntKLlvJUgJXMg5pmC6K6A5Y+W6Yyv6KqkIgorCisjOiBzaGExLWZpbGUuYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgInNob3J0IHJlYWQgd2hpbGUgaW5kZXhpbmcgJXMiCittc2dzdHIgIue0ouW8lSAlcyDmmYLoroDlhaXkuI3lrozmlbQiCisKKyM6IHNoYTEtZmlsZS5jOjIxNDUgc2hhMS1maWxlLmM6MjE1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluc2VydCBpbnRvIGRhdGFiYXNlIgorbXNnc3RyICIlc++8muaPkuWFpeizh+aWmeW6q+WkseaVlyIKKworIzogc2hhMS1maWxlLmM6MjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5zdXBwb3J0ZWQgZmlsZSB0eXBlIgorbXNnc3RyICIlc++8muS4jeaUr+aPtOeahOaqlOahiOmhnuWeiyIKKworIzogc2hhMS1maWxlLmM6MjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBvYmplY3QiCittc2dzdHIgIiVzIOS4jeaYr+S4gOWAi+acieaViOeahOeJqeS7tiIKKworIzogc2hhMS1maWxlLmM6MjE4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCAnJXMnIG9iamVjdCIKK21zZ3N0ciAiJXMg5LiN5piv5LiA5YCL5pyJ5pWI55qEICclcycg54mp5Lu2IgorCisjOiBzaGExLWZpbGUuYzoyMjEzIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKK21zZ3N0ciAi5LiN6IO96ZaL5ZWfICVzIgorCisjOiBzaGExLWZpbGUuYzoyNDAzIHNoYTEtZmlsZS5jOjI0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaGFzaCBtaXNtYXRjaCBmb3IgJXMgKGV4cGVjdGVkICVzKSIKK21zZ3N0ciAiJXMg55qE6Zuc5rmK5YC85LiN56ym5ZCI77yI6aCQ5pyfICVz77yJIgorCisjOiBzaGExLWZpbGUuYzoyNDI3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBtbWFwICVzIgorbXNnc3RyICLkuI3og70gbW1hcCAlcyIKKworIzogc2hhMS1maWxlLmM6MjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gdW5wYWNrIGhlYWRlciBvZiAlcyIKK21zZ3N0ciAi54Sh5rOV6Kej5aOT57iuICVzIOeahOmgremDqCIKKworIzogc2hhMS1maWxlLmM6MjQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgaGVhZGVyIG9mICVzIgorbXNnc3RyICLnhKHms5Xop6PmnpAgJXMg55qE6aCt6YOoIgorCisjOiBzaGExLWZpbGUuYzoyNDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byB1bnBhY2sgY29udGVudHMgb2YgJXMiCittc2dzdHIgIueEoeazleino+Wjk+e4riAlcyDnmoTlhaflrrkiCisKKyM6IHNoYTEtbmFtZS5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJzaG9ydCBTSEExICVzIGlzIGFtYmlndW91cyIKK21zZ3N0ciAi55+tIFNIQTEgJXMg5a2Y5Zyo5q2n576pIgorCisjOiBzaGExLW5hbWUuYzo0OTgKK21zZ2lkICJUaGUgY2FuZGlkYXRlcyBhcmU6IgorbXNnc3RyICLlgJnpgbjogIXmnInvvJoiCisKKyM6IHNoYTEtbmFtZS5jOjc5NworbXNnaWQgIiIKKyJHaXQgbm9ybWFsbHkgbmV2ZXIgY3JlYXRlcyBhIHJlZiB0aGF0IGVuZHMgd2l0aCA0MCBoZXggY2hhcmFjdGVyc1xuIgorImJlY2F1c2UgaXQgd2lsbCBiZSBpZ25vcmVkIHdoZW4geW91IGp1c3Qgc3BlY2lmeSA0MC1oZXguIFRoZXNlIHJlZnNcbiIKKyJtYXkgYmUgY3JlYXRlZCBieSBtaXN0YWtlLiBGb3IgZXhhbXBsZSxcbiIKKyJcbiIKKyIgIGdpdCBzd2l0Y2ggLWMgJGJyICQoZ2l0IHJldi1wYXJzZSAuLi4pXG4iCisiXG4iCisid2hlcmUgXCIkYnJcIiBpcyBzb21laG93IGVtcHR5IGFuZCBhIDQwLWhleCByZWYgaXMgY3JlYXRlZC4gUGxlYXNlXG4iCisiZXhhbWluZSB0aGVzZSByZWZzIGFuZCBtYXliZSBkZWxldGUgdGhlbS4gVHVybiB0aGlzIG1lc3NhZ2Ugb2ZmIGJ5XG4iCisicnVubmluZyBcImdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nIGZhbHNlXCIiCittc2dzdHIgIiIKKyJHaXQg6YCa5bi45LiN5pyD5bu656uL5LiA5YCL5LulNDDlgIvljYHlha3pgLLkvY3lrZflhYPntZDlsL7nmoTlvJXnlKjvvIzlm6Dngrrnlbbmgqjlj6rmj5Dkvps0MFxuIgorIuWAi+WNgeWFremAsuS9jeWtl+WFg+aZguWwh+iiq+W/veeVpeOAgumAmeS6m+W8leeUqOWPr+iDveiiq+mMr+iqpOWcsOW7uueri+OAguS+i+Wmgu+8mlxuIgorIlxuIgorIiAgZ2l0IHN3aXRjaCAtYyAkYnIgJChnaXQgcmV2LXBhcnNlIC4uLilcbiIKKyJcbiIKKyLnlbYgXCIkYnJcIiDmn5DnqK7ljp/lm6Dnqbrnmb3mmYLvvIzkuIDlgIs0MOS9jeWNgeWFremAsuS9jeeahOW8leeUqOWwh+iiq+W7uueri+OAguiri+aqouafpemAmeS6m1xuIgorIuW8leeUqO+8jOWPr+iDvemcgOimgeWIqumZpOWug+WAkeOAguWft+ihjCBcImdpdCBjb25maWcgYWR2aWNlLm9iamVjdE5hbWVXYXJuaW5nXG4iCisiZmFsc2VcIiDmjIfku6Tpl5zplonmnKzmtojmga/pgJrnn6XjgIIiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBnaWJpYnl0ZQorIzogc3RyYnVmLmM6ODIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IEdpQiIKK21zZ3N0ciAiJXUuJTIuMnUgR2lCIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggZ2liaWJ5dGUvc2Vjb25kCisjOiBzdHJidWYuYzo4MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgR2lCL3MiCittc2dzdHIgIiV1LiUyLjJ1IEdpQi9zIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggbWViaWJ5dGUKKyM6IHN0cmJ1Zi5jOjgzMgorIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBNaUIiCittc2dzdHIgIiV1LiUyLjJ1IE1pQiIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IG1lYmlieXRlL3NlY29uZAorIzogc3RyYnVmLmM6ODM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiV1LiUyLjJ1IE1pQi9zIgorbXNnc3RyICIldS4lMi4ydSBNaUIvcyIKKworIy4gVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IGtpYmlieXRlCisjOiBzdHJidWYuYzo4NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUuJTIuMnUgS2lCIgorbXNnc3RyICIldS4lMi4ydSBLaUIiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBraWJpYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjg0MworIywgYy1mb3JtYXQKK21zZ2lkICIldS4lMi4ydSBLaUIvcyIKK21zZ3N0ciAiJXUuJTIuMnUgS2lCL3MiCisKKyMuIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBieXRlCisjOiBzdHJidWYuYzo4NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXUgYnl0ZSIKK21zZ2lkX3BsdXJhbCAiJXUgYnl0ZXMiCittc2dzdHJbMF0gIiV1IOS9jeWFg+e1hCIKK21zZ3N0clsxXSAiJXUg5L2N5YWD57WEIgorCisjLiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggYnl0ZS9zZWNvbmQKKyM6IHN0cmJ1Zi5jOjg1MQorIywgYy1mb3JtYXQKK21zZ2lkICIldSBieXRlL3MiCittc2dpZF9wbHVyYWwgIiV1IGJ5dGVzL3MiCittc2dzdHJbMF0gIiV1IOS9jeWFg+e1hC/np5IiCittc2dzdHJbMV0gIiV1IOS9jeWFg+e1hC/np5IiCisKKyM6IHN0cmJ1Zi5jOjExNDkKKyMsIGMtZm9ybWF0CisjfCBtc2dpZCAiY291bGQgbm90IHJlYWQgJyVzJyIKK21zZ2lkICJjb3VsZCBub3QgZWRpdCAnJXMnIgorbXNnc3RyICLnhKHms5Xnt6jovK8gJyVzJyIKKworIzogc3VibW9kdWxlLmM6MTE0IHN1Ym1vZHVsZS5jOjE0MworbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdW5tZXJnZWQgLmdpdG1vZHVsZXMsIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIGZpcnN0IgorbXNnc3RyICLnhKHms5Xkv67mlLnmnKrlkIjkvbXnmoQgLmdpdG1vZHVsZXPvvIzlhYjop6PmsbrlkIjkvbXooZ3nqoEiCisKKyM6IHN1Ym1vZHVsZS5jOjExOCBzdWJtb2R1bGUuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGZpbmQgc2VjdGlvbiBpbiAuZ2l0bW9kdWxlcyB3aGVyZSBwYXRoPSVzIgorbXNnc3RyICLnhKHms5XlnKggLmdpdG1vZHVsZXMg5Lit5om+5YiwIHBhdGg9JXMg55qE5bCP56+AIgorCisjOiBzdWJtb2R1bGUuYzoxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHJlbW92ZSAuZ2l0bW9kdWxlcyBlbnRyeSBmb3IgJXMiCittc2dzdHIgIueEoeazleenu+mZpCAlcyDnmoQgLmdpdG1vZHVsZXMg5qKd55uuIgorCisjOiBzdWJtb2R1bGUuYzoxNjUKK21zZ2lkICJzdGFnaW5nIHVwZGF0ZWQgLmdpdG1vZHVsZXMgZmFpbGVkIgorbXNnc3RyICLlsIfmm7TmlrDlvowgLmdpdG1vZHVsZXMg5paw5aKe5pqr5a2Y5Y2A5aSx5pWXIgorCisjOiBzdWJtb2R1bGUuYzozMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW4gdW5wb3B1bGF0ZWQgc3VibW9kdWxlICclcyciCittc2dzdHIgIuS9jeaWvOacquewveWHuueahOWtkOaooee1hCAnJXMnIgorCisjOiBzdWJtb2R1bGUuYzozNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGF0aHNwZWMgJyVzJyBpcyBpbiBzdWJtb2R1bGUgJyUuKnMnIgorbXNnc3RyICLot6/lvpHopo/moLwgJyVzJyDlnKjlrZDmqKHntYQgJyUuKnMnIOS4rSIKKworIzogc3VibW9kdWxlLmM6OTEwCisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSBlbnRyeSAnJXMnICglcykgaXMgYSAlcywgbm90IGEgY29tbWl0IgorbXNnc3RyICLlrZDmqKHntYTmop3nm64gJyVzJ++8iCVz77yJ5piv5LiA5YCLICVz77yM5LiN5piv5LiA5YCL5o+Q5LqkIgorCisjOiBzdWJtb2R1bGUuYzoxMTQ3IGJ1aWx0aW4vYnJhbmNoLmM6NjgwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMDE2Cittc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgSEVBRCBhcyBhIHZhbGlkIHJlZi4iCittc2dzdHIgIueEoeazleWwhyBIRUFEIOino+aekOeCuuacieaViOW8leeUqOOAgiIKKworIzogc3VibW9kdWxlLmM6MTQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgYWNjZXNzIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICLnhKHms5XlrZjlj5blrZDmqKHntYQgJyVzJyIKKworIzogc3VibW9kdWxlLmM6MTY1MQorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIG5vdCByZWNvZ25pemVkIGFzIGEgZ2l0IHJlcG9zaXRvcnkiCittc2dzdHIgIueEoeazleWwhyAnJXMnIOitmOWIpeeCuuS4gOWAiyBnaXQg54mI5pys5bqrIgorCisjOiBzdWJtb2R1bGUuYzoxNzg5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzdGFydCAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCittc2dzdHIgIueEoeazleWcqOWtkOaooee1hCAnJXMnIOS4reWVn+WLlSAnZ2l0IHN0YXR1cyciCisKKyM6IHN1Ym1vZHVsZS5jOjE4MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJ1biAnZ2l0IHN0YXR1cycgaW4gc3VibW9kdWxlICclcyciCittc2dzdHIgIueEoeazleWcqOWtkOaooee1hCAnJXMnIOS4reWft+ihjCAnZ2l0IHN0YXR1cyciCisKKyM6IHN1Ym1vZHVsZS5jOjE4MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVuc2V0IGNvcmUud29ya3RyZWUgc2V0dGluZyBpbiBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAi54Sh5rOV5Zyo5a2Q5qih57WEICclcycg5Lit5Y+W5raIIGNvcmUud29ya3RyZWUg55qE6Kit5a6aIgorCisjOiBzdWJtb2R1bGUuYzoxOTA3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSAnJXMnIGhhcyBkaXJ0eSBpbmRleCIKK21zZ3N0ciAi5a2Q5qih57WEICclcycg5Lit5pyJ6auS57Si5byVIgorCisjOiBzdWJtb2R1bGUuYzoxOTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Ym1vZHVsZSAnJXMnIGNvdWxkIG5vdCBiZSB1cGRhdGVkLiIKK21zZ3N0ciAi5a2Q5qih57WEICclcycg54Sh5rOV6KKr5pu05paw44CCIgorCisjOiBzdWJtb2R1bGUuYzoyMDI3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1Ym1vZHVsZSBnaXQgZGlyICclcycgaXMgaW5zaWRlIGdpdCBkaXIgJyUuKnMnIgorbXNnc3RyICLjgIwlc+OAjeWtkOaooee1hCBnaXQg55uu6YyE5Zyo44CMJS4qc+OAjWdpdCDot6/lvpHkuK0iCisKKyM6IHN1Ym1vZHVsZS5jOjIwNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInJlbG9jYXRlX2dpdGRpciBmb3Igc3VibW9kdWxlICclcycgd2l0aCBtb3JlIHRoYW4gb25lIHdvcmt0cmVlIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIuS4jeaUr+aPtOWwjeacieWkmuWAi+W3peS9nOWNgOeahOWtkOaooee1hCAnJXMnIOWft+ihjCByZWxvY2F0ZV9naXRkaXIiCisKKyM6IHN1Ym1vZHVsZS5jOjIwNjAgc3VibW9kdWxlLmM6MjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgbG9va3VwIG5hbWUgZm9yIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICLkuI3og73mn6XoqaLlrZDmqKHntYQgJyVzJyDnmoTlkI3nqLEiCisKKyM6IHN1Ym1vZHVsZS5jOjIwNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmdXNpbmcgdG8gbW92ZSAnJXMnIGludG8gYW4gZXhpc3RpbmcgZ2l0IGRpciIKK21zZ3N0ciAi5ouS57WV56e75YuV44CMJXPjgI3oh7Pnj77lrZggZ2l0IOebrumMhCIKKworIzogc3VibW9kdWxlLmM6MjA3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTWlncmF0aW5nIGdpdCBkaXJlY3Rvcnkgb2YgJyVzJXMnIGZyb21cbiIKKyInJXMnIHRvXG4iCisiJyVzJ1xuIgorbXNnc3RyICIiCisi5bCHICclcyVzJyDnmoQgZ2l0IOebrumMhOW+nlxuIgorIiclcycg6YG356e76IezXG4iCisiJyVzJ1xuIgorCisjOiBzdWJtb2R1bGUuYzoyMTU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWN1cnNlIGludG8gc3VibW9kdWxlICclcyciCittc2dzdHIgIueEoeazlemBnui/tOWtkOaooee1hOi3r+W+kSAnJXMnIgorCisjOiBzdWJtb2R1bGUuYzoyMTk4Cittc2dpZCAiY291bGQgbm90IHN0YXJ0IGxzLWZpbGVzIGluIC4uIgorbXNnc3RyICLnhKHms5XlnKggLi4g5Lit5ZWf5YuVIGxzLWZpbGVzIgorCisjOiBzdWJtb2R1bGUuYzoyMjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImxzLXRyZWUgcmV0dXJuZWQgdW5leHBlY3RlZCByZXR1cm4gY29kZSAlZCIKK21zZ3N0ciAibHMtdHJlZSDov5Tlm57mnKrnn6Xov5Tlm57lgLwgJWQiCisKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3Jpbmcgc3VzcGljaW91cyBzdWJtb2R1bGUgbmFtZTogJXMiCittc2dzdHIgIuW/veeVpeWPr+eWkeeahOWtkOaooee1hOWQjeeose+8miVzIgorCisjOiBzdWJtb2R1bGUtY29uZmlnLmM6MzAzCittc2dpZCAibmVnYXRpdmUgdmFsdWVzIG5vdCBhbGxvd2VkIGZvciBzdWJtb2R1bGUuZmV0Y2hqb2JzIgorbXNnc3RyICJzdWJtb2R1bGUuZmV0Y2hqb2JzIOS4jeWFgeioseeCuuiyoOWAvCIKKworIzogc3VibW9kdWxlLWNvbmZpZy5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyAnJXMnIHdoaWNoIG1heSBiZSBpbnRlcnByZXRlZCBhcyBhIGNvbW1hbmQtbGluZSBvcHRpb246ICVzIgorbXNnc3RyICLlv73nlaXlj6/og73ooqvop6PmnpDngrrmjIfku6TliJfpgbjpoIXnmoQgJyVzJ++8miVzIgorCisjOiBzdWJtb2R1bGUtY29uZmlnLmM6NDk4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdmFsdWUgZm9yICVzIgorbXNnc3RyICIlcyDnmoTlgLznhKHmlYgiCisKKyM6IHN1Ym1vZHVsZS1jb25maWcuYzo3NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVwZGF0ZSAuZ2l0bW9kdWxlcyBlbnRyeSAlcyIKK21zZ3N0ciAi5LiN6IO95pu05pawIC5naXRtb2R1bGVzIOaineebriAlcyIKKworIzogdHJhaWxlci5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICJydW5uaW5nIHRyYWlsZXIgY29tbWFuZCAnJXMnIGZhaWxlZCIKK21zZ3N0ciAi5Z+36KGMIHRyYWlsZXIg5oyH5LukICclcycg5aSx5pWXIgorCisjOiB0cmFpbGVyLmM6NDg1IHRyYWlsZXIuYzo0OTAgdHJhaWxlci5jOjQ5NSB0cmFpbGVyLmM6NTQ5IHRyYWlsZXIuYzo1NTMKKyM6IHRyYWlsZXIuYzo1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB2YWx1ZSAnJXMnIGZvciBrZXkgJyVzJyIKK21zZ3N0ciAi6Y21ICclMiRzJyDnmoTmnKrnn6Xlj5blgLwgJyUxJHMnIgorCisjOiB0cmFpbGVyLmM6NTM5IHRyYWlsZXIuYzo1NDQgYnVpbHRpbi9yZW1vdGUuYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9yZSB0aGFuIG9uZSAlcyIKK21zZ3N0ciAi5aSa5pa85LiA5YCLICVzIgorCisjOiB0cmFpbGVyLmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgImVtcHR5IHRyYWlsZXIgdG9rZW4gaW4gdHJhaWxlciAnJS4qcyciCittc2dzdHIgIuewveWQjSAnJS4qcycg55qE6Y2154K656m6IgorCisjOiB0cmFpbGVyLmM6NzUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGlucHV0IGZpbGUgJyVzJyIKK21zZ3N0ciAi5LiN6IO96K6A5Y+W6Ly45YWl5qqU5qGIICclcyciCisKKyM6IHRyYWlsZXIuYzo3NTMKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBmcm9tIHN0ZGluIgorbXNnc3RyICLkuI3og73oh6rmqJnmupbovLjlhaXoroDlj5YiCisKKyM6IHRyYWlsZXIuYzoxMDExIHdyYXBwZXIuYzo2NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHN0YXQgJXMiCittc2dzdHIgIuS4jeiDveWwjSAlcyDlkbzlj6sgc3RhdCIKKworIzogdHJhaWxlci5jOjEwMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyBpcyBub3QgYSByZWd1bGFyIGZpbGUiCittc2dzdHIgIuaqlOahiCAlcyDkuI3mmK/kuIDlgIvmraPopo/mqpTmoYgiCisKKyM6IHRyYWlsZXIuYzoxMDE1CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMgaXMgbm90IHdyaXRhYmxlIGJ5IHVzZXIiCittc2dzdHIgIuaqlOahiCAlcyDkvb/nlKjogIXkuI3lj6/lr6siCisKKyM6IHRyYWlsZXIuYzoxMDI3Cittc2dpZCAiY291bGQgbm90IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIuS4jeiDvemWi+WVn+aaq+WtmOaqlCIKKworIzogdHJhaWxlci5jOjEwNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlbmFtZSB0ZW1wb3JhcnkgZmlsZSB0byAlcyIKK21zZ3N0ciAi5LiN6IO96YeN5paw5ZG95ZCN5pqr5a2Y5qqU54K6ICVzIgorCisjOiB0cmFuc3BvcnQuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgc2V0IHVwc3RyZWFtIG9mICclcycgdG8gJyVzJyBvZiAnJXMnXG4iCittc2dzdHIgIuWwh+imgeioreWumiAnJTEkcycg55qE5LiK5ri454K6ICclMyRzJyDnmoQgJyUyJHMnXG4iCisKKyM6IHRyYW5zcG9ydC5jOjE0NQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBidW5kbGUgJyVzJyIKK21zZ3N0ciAi54Sh5rOV6K6A5Y+WIGJ1bmRsZSAnJXMnIgorCisjOiB0cmFuc3BvcnQuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJhbnNwb3J0OiBpbnZhbGlkIGRlcHRoIG9wdGlvbiAnJXMnIgorbXNnc3RyICLlgrPovLjvvJrnhKHmlYjnmoTmt7HluqbpgbjpoIUgJyVzJyIKKworIzogdHJhbnNwb3J0LmM6MjY2Cittc2dpZCAic2VlIHByb3RvY29sLnZlcnNpb24gaW4gJ2dpdCBoZWxwIGNvbmZpZycgZm9yIG1vcmUgZGV0YWlscyIKK21zZ3N0ciAi5qqi6KaWICdnaXQgaGVscCBjb25maWcnIOS4reeahCBwcm90b2NvbC52ZXJzaW9uIOWPluW+l+abtOWkmuioiuaBryIKKworIzogdHJhbnNwb3J0LmM6MjY3Cittc2dpZCAic2VydmVyIG9wdGlvbnMgcmVxdWlyZSBwcm90b2NvbCB2ZXJzaW9uIDIgb3IgbGF0ZXIiCittc2dzdHIgIuacjeWLmeerr+mBuOmghemcgOimgeeJiOacrCAyIOWNlOWumuaIluabtOmrmCIKKworIzogdHJhbnNwb3J0LmM6NjMyCittc2dpZCAiY291bGQgbm90IHBhcnNlIHRyYW5zcG9ydC5jb2xvci4qIGNvbmZpZyIKK21zZ3N0ciAi5LiN6IO96Kej5p6QIHRyYW5zcG9ydC5jb2xvci4qIOioreWumiIKKworIzogdHJhbnNwb3J0LmM6NzA1Cittc2dpZCAic3VwcG9ydCBmb3IgcHJvdG9jb2wgdjIgbm90IGltcGxlbWVudGVkIHlldCIKK21zZ3N0ciAi5Y2U5a6aIHYyIOeahOaUr+aPtOWwmuacquWvpuePviIKKworIzogdHJhbnNwb3J0LmM6ODMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdmFsdWUgZm9yIGNvbmZpZyAnJXMnOiAlcyIKK21zZ3N0ciAi6Kit5a6aICclcycg55qE5Y+W5YC85pyq55+l77yaJXMiCisKKyM6IHRyYW5zcG9ydC5jOjg5NworIywgYy1mb3JtYXQKK21zZ2lkICJ0cmFuc3BvcnQgJyVzJyBub3QgYWxsb3dlZCIKK21zZ3N0ciAi5YKz6Ly4ICclcycg5LiN5YWB6KixIgorCisjOiB0cmFuc3BvcnQuYzo5NDkKK21zZ2lkICJnaXQtb3Zlci1yc3luYyBpcyBubyBsb25nZXIgc3VwcG9ydGVkIgorbXNnc3RyICLkuI3lho3mlK/mj7QgZ2l0LW92ZXItcnN5bmMiCisKKyM6IHRyYW5zcG9ydC5jOjEwNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgc3VibW9kdWxlIHBhdGhzIGNvbnRhaW4gY2hhbmdlcyB0aGF0IGNhblxuIgorIm5vdCBiZSBmb3VuZCBvbiBhbnkgcmVtb3RlOlxuIgorbXNnc3RyICLkuIvliJflrZDmqKHntYTot6/lvpHmiYDljIXlkKvnmoTkv67mlLnlnKjku7vkvZXpgaDnq6/mupDkuK3pg73mib7kuI3liLDvvJpcbiIKKworIzogdHJhbnNwb3J0LmM6MTA0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiUGxlYXNlIHRyeVxuIgorIlxuIgorIlx0Z2l0IHB1c2ggLS1yZWN1cnNlLXN1Ym1vZHVsZXM9b24tZGVtYW5kXG4iCisiXG4iCisib3IgY2QgdG8gdGhlIHBhdGggYW5kIHVzZVxuIgorIlxuIgorIlx0Z2l0IHB1c2hcbiIKKyJcbiIKKyJ0byBwdXNoIHRoZW0gdG8gYSByZW1vdGUuXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyLoq4vlmJfoqaZcbiIKKyJcbiIKKyJcdGdpdCBwdXNoIC0tcmVjdXJzZS1zdWJtb2R1bGVzPW9uLWRlbWFuZFxuIgorIlxuIgorIuaIluiAhemAsuWFpeWIsOWtkOebrumMhOWft+ihjFxuIgorIlxuIgorIlx0Z2l0IHB1c2hcbiIKKyJcbiIKKyLku6XmjqjpgIHoh7PpgaDnq6/jgIJcbiIKKyJcbiIKKworIzogdHJhbnNwb3J0LmM6MTA1NgorbXNnaWQgIkFib3J0aW5nLiIKK21zZ3N0ciAi5q2j5Zyo57WC5q2i44CCIgorCisjOiB0cmFuc3BvcnQuYzoxMjAxCittc2dpZCAiZmFpbGVkIHRvIHB1c2ggYWxsIG5lZWRlZCBzdWJtb2R1bGVzIgorbXNnc3RyICLkuI3og73mjqjpgIHlhajpg6jpnIDopoHnmoTlrZDmqKHntYQiCisKKyM6IHRyYW5zcG9ydC5jOjEzNDUgdHJhbnNwb3J0LWhlbHBlci5jOjY1NgorbXNnaWQgIm9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sIgorbXNnc3RyICLljZTlrprkuI3mlK/mj7ToqbLli5XkvZwiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2MSB0cmFuc3BvcnQtaGVscGVyLmM6OTAKK21zZ2lkICJmdWxsIHdyaXRlIHRvIHJlbW90ZSBoZWxwZXIgZmFpbGVkIgorbXNnc3RyICLlrozmlbTlr6vlhaXpgaDnq6/liqnmiYvlpLHmlZciCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZpbmQgcmVtb3RlIGhlbHBlciBmb3IgJyVzJyIKK21zZ3N0ciAi54Sh5rOV54K6ICclcycg5om+5Yiw6YGg56uv5Yqp5omLIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTYwIHRyYW5zcG9ydC1oZWxwZXIuYzo1NzAKK21zZ2lkICJjYW4ndCBkdXAgaGVscGVyIG91dHB1dCBmZCIKK21zZ3N0ciAi54Sh5rOV6KSH6KO95Yqp5omL6Ly45Ye65qqU5qGI5Y+l5p+EIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1bmtub3duIG1hbmRhdG9yeSBjYXBhYmlsaXR5ICVzOyB0aGlzIHJlbW90ZSBoZWxwZXIgcHJvYmFibHkgbmVlZHMgbmV3ZXIgIgorInZlcnNpb24gb2YgR2l0IgorbXNnc3RyICLmnKrnn6XnmoTlvLfliLbog73lipsgJXPvvIzoqbLpgaDnq6/liqnmiYvlj6/og73pnIDopoHmlrDniYjmnKznmoRHaXQiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoyMTcKK21zZ2lkICJ0aGlzIHJlbW90ZSBoZWxwZXIgc2hvdWxkIGltcGxlbWVudCByZWZzcGVjIGNhcGFiaWxpdHkiCittc2dzdHIgIumBoOerr+WKqeaJi+mcgOimgeWvpuePviByZWZzcGVjIOiDveWKmyIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjI4NCB0cmFuc3BvcnQtaGVscGVyLmM6NDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuZXhwZWN0ZWRseSBzYWlkOiAnJXMnIgorbXNnc3RyICIlcyDmhI/lpJblnLDoqqrvvJonJXMnIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFsc28gbG9ja2VkICVzIgorbXNnc3RyICIlcyDkuZ/pjpblrprkuoYgJXMiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo0OTIKK21zZ2lkICJjb3VsZG4ndCBydW4gZmFzdC1pbXBvcnQiCittc2dzdHIgIuS4jeiDveWft+ihjCBmYXN0LWltcG9ydCIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjUxNQorbXNnaWQgImVycm9yIHdoaWxlIHJ1bm5pbmcgZmFzdC1pbXBvcnQiCittc2dzdHIgIuWft+ihjCBmYXN0LWltcG9ydCDnmbznlJ/pjK/oqqQiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1NDQgdHJhbnNwb3J0LWhlbHBlci5jOjExMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgcmVmICVzIgorbXNnc3RyICLnhKHms5XoroDlj5blvJXnlKggJXMiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biByZXNwb25zZSB0byBjb25uZWN0OiAlcyIKK21zZ3N0ciAi6YCj57ea5pmC5pyq55+l55qE5Zue5oeJ77yaJXMiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2MTEKK21zZ2lkICJzZXR0aW5nIHJlbW90ZSBzZXJ2aWNlIHBhdGggbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbCIKK21zZ3N0ciAi5Y2U5a6a5LiN5pSv5o+06Kit5a6a6YGg56uv5pyN5YuZ6Lev5b6RIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6NjEzCittc2dpZCAiaW52YWxpZCByZW1vdGUgc2VydmljZSBwYXRoIgorbXNnc3RyICLnhKHmlYjnmoTpgaDnq6/mnI3li5not6/lvpEiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo2NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgY29ubmVjdCB0byBzdWJzZXJ2aWNlICVzIgorbXNnc3RyICLkuI3og73pgKPnt5rliLDlrZDmnI3li5kgJXMiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo3MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhwZWN0ZWQgb2svZXJyb3IsIGhlbHBlciBzYWlkICclcyciCittc2dzdHIgIumgkOacnyBvay9lcnJvcu+8jOWKqeaJi+iqqiAnJXMnIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6Nzg4CisjLCBjLWZvcm1hdAorbXNnaWQgImhlbHBlciByZXBvcnRlZCB1bmV4cGVjdGVkIHN0YXR1cyBvZiAlcyIKK21zZ3N0ciAi5Yqp5omL5aCx5ZGKICVzIOeahOaEj+WklueLgOaFiyIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjg0OQorIywgYy1mb3JtYXQKK21zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCBkcnktcnVuIgorbXNnc3RyICLliqnmiYsgJXMg5LiN5pSv5o+0IGRyeS1ydW4iCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQiCittc2dzdHIgIuWKqeaJiyAlcyDkuI3mlK/mj7QgLS1zaWduZWQiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgLS1zaWduZWQ9aWYtYXNrZWQiCittc2dzdHIgIuWKqeaJiyAlcyDkuI3mlK/mj7QgLS1zaWduZWQ9aWYtYXNrZWQiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgLS1hdG9taWMiCittc2dzdHIgIuWKqeaJiyAlcyDkuI3mlK/mj7QgLS1hdG9taWMiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzo4NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaGVscGVyICVzIGRvZXMgbm90IHN1cHBvcnQgJ3B1c2gtb3B0aW9uJyIKK21zZ3N0ciAi5Yqp5omLICVzIOS4jeaUr+aPtCAncHVzaC1vcHRpb24nIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6OTY0Cittc2dpZCAicmVtb3RlLWhlbHBlciBkb2Vzbid0IHN1cHBvcnQgcHVzaDsgcmVmc3BlYyBuZWVkZWQiCittc2dzdHIgInJlbW90ZS1oZXBlciDkuI3mlK/mj7QgcHVzaO+8jOmcgOimgeW8leeUqOihqOmBlOW8jyIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjk2OQorIywgYy1mb3JtYXQKK21zZ2lkICJoZWxwZXIgJXMgZG9lcyBub3Qgc3VwcG9ydCAnZm9yY2UnIgorbXNnc3RyICLliqnmiYsgJXMg5LiN5pSv5o+0ICdmb3JjZSciCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDE2Cittc2dpZCAiY291bGRuJ3QgcnVuIGZhc3QtZXhwb3J0IgorbXNnc3RyICLnhKHms5Xln7fooYwgZmFzdC1leHBvcnQiCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMDIxCittc2dpZCAiZXJyb3Igd2hpbGUgcnVubmluZyBmYXN0LWV4cG9ydCIKK21zZ3N0ciAi5Z+36KGMIGZhc3QtZXhwb3J0IOaZgueZvOeUn+mMr+iqpCIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEwNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vIHJlZnMgaW4gY29tbW9uIGFuZCBub25lIHNwZWNpZmllZDsgZG9pbmcgbm90aGluZy5cbiIKKyJQZXJoYXBzIHlvdSBzaG91bGQgc3BlY2lmeSBhIGJyYW5jaCBzdWNoIGFzICdtYXN0ZXInLlxuIgorbXNnc3RyICIiCisi5rKS5pyJ5YWx5ZCM55qE5byV55So5Lim5LiU5Lmf5rKS5pyJ5oyH5a6a77yM5LuA6bq85Lmf5LiN5pyD5YGa44CCXG4iCisi5Y+v6IO95oKo5oeJ6Kmy5oyH5a6a5LiA5YCL5YiG5pSv5aaCICdtYXN0ZXIn44CCXG4iCisKKyM6IHRyYW5zcG9ydC1oZWxwZXIuYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1hbGZvcm1lZCByZXNwb25zZSBpbiByZWYgbGlzdDogJXMiCittc2dzdHIgIuW8leeUqOWIl+ihqOS4reagvOW8j+mMr+iqpOeahOWbnuaHie+8miVzIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkKCVzKSBmYWlsZWQiCittc2dzdHIgIuiugOWPlu+8iCVz77yJ5aSx5pWXIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTI5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSglcykgZmFpbGVkIgorbXNnc3RyICLlr6vvvIglc++8ieWkseaVlyIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGhyZWFkIGZhaWxlZCIKK21zZ3N0ciAiJXMg5Z+36KGM57eS5aSx5pWXIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTM1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0aHJlYWQgZmFpbGVkIHRvIGpvaW46ICVzIgorbXNnc3RyICIlcyDln7fooYznt5LnrYnlvoXlpLHmlZfvvJolcyIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjEzNzAgdHJhbnNwb3J0LWhlbHBlci5jOjEzNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc3RhcnQgdGhyZWFkIGZvciBjb3B5aW5nIGRhdGE6ICVzIgorbXNnc3RyICLkuI3og73llZ/li5Xln7fooYznt5LkvobopIfoo73os4fmlpnvvJolcyIKKworIzogdHJhbnNwb3J0LWhlbHBlci5jOjE0MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcHJvY2VzcyBmYWlsZWQgdG8gd2FpdCIKK21zZ3N0ciAiJXMg6YCy56iL562J5b6F5aSx5pWXIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTQxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBwcm9jZXNzIGZhaWxlZCIKK21zZ3N0ciAiJXMg6YCy56iL5aSx5pWXIgorCisjOiB0cmFuc3BvcnQtaGVscGVyLmM6MTQzMyB0cmFuc3BvcnQtaGVscGVyLmM6MTQ0MgorbXNnaWQgImNhbid0IHN0YXJ0IHRocmVhZCBmb3IgY29weWluZyBkYXRhIgorbXNnc3RyICLkuI3og73llZ/li5Xln7fooYznt5LkvobopIfoo73os4fmlpkiCisKKyM6IHRyZWUtd2Fsay5jOjMzCittc2dpZCAidG9vLXNob3J0IHRyZWUgb2JqZWN0IgorbXNnc3RyICLlpKrnn63nmoTmqLnni4Dnianku7YiCisKKyM6IHRyZWUtd2Fsay5jOjM5Cittc2dpZCAibWFsZm9ybWVkIG1vZGUgaW4gdHJlZSBlbnRyeSIKK21zZ3N0ciAi5qi554uA54mp5Lu25Lit55qE5qKd55uu5qih5byP6Yyv6KqkIgorCisjOiB0cmVlLXdhbGsuYzo0MworbXNnaWQgImVtcHR5IGZpbGVuYW1lIGluIHRyZWUgZW50cnkiCittc2dzdHIgIuaoueeLgOeJqeS7tuaineebruS4reepuueahOaqlOahiOWQjSIKKworIzogdHJlZS13YWxrLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZW5hbWUgaW4gdHJlZSBlbnRyeSBjb250YWlucyBiYWNrc2xhc2g6ICclcyciCittc2dzdHIgIuaoueeLgOeJqeS7tuS4reeahOaqlOahiOWQjeeoseacieWPjeaWnOe3mu+8miclcyciCisKKyM6IHRyZWUtd2Fsay5jOjEyNAorbXNnaWQgInRvby1zaG9ydCB0cmVlIGZpbGUiCittc2dzdHIgIuWkquefreeahOaoueaqlOahiCIKKworIzogdW5wYWNrLXRyZWVzLmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKKyIlJXNQbGVhc2UgY29tbWl0IHlvdXIgY2hhbmdlcyBvciBzdGFzaCB0aGVtIGJlZm9yZSB5b3Ugc3dpdGNoIGJyYW5jaGVzLiIKK21zZ3N0ciAiIgorIuaCqOWwjeS4i+WIl+aqlOahiOeahOacrOapn+S/ruaUueWwh+iiq+ewveWHuuWLleS9nOimhuiTi++8mlxuIgorIiUlc+iri+WcqOWIh+aPm+WIhuaUr+WJjeaPkOS6pOaIluWEsuiXj+aCqOeahOS/ruaUueOAgiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBjaGVja291dDpcbiIKKyIlJXMiCittc2dzdHIgIiIKKyLmgqjlsI3kuIvliJfmqpTmoYjnmoTmnKzmqZ/kv67mlLnlsIfooqvnsL3lh7rli5XkvZzopobok4vvvJpcbiIKKyIlJXMiCisKKyM6IHVucGFjay10cmVlcy5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCisiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKK21zZ3N0ciAiIgorIuaCqOWwjeS4i+WIl+aqlOahiOeahOacrOapn+S/ruaUueWwh+iiq+WQiOS9teWLleS9nOimhuiTi++8mlxuIgorIiUlc+iri+WcqOWQiOS9teWJjeaPkOS6pOaIluWEsuiXj+aCqOeahOS/ruaUueOAgiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKKyIlJXMiCittc2dzdHIgIiIKKyLmgqjlsI3kuIvliJfmqpTmoYjnmoTmnKzmqZ/kv67mlLnlsIfooqvlkIjkvbXli5XkvZzopobok4vvvJpcbiIKKyIlJXMiCisKKyM6IHVucGFjay10cmVlcy5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBsb2NhbCBjaGFuZ2VzIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgJXM6XG4iCisiJSVzUGxlYXNlIGNvbW1pdCB5b3VyIGNoYW5nZXMgb3Igc3Rhc2ggdGhlbSBiZWZvcmUgeW91ICVzLiIKK21zZ3N0ciAiIgorIuaCqOWwjeS4i+WIl+aqlOahiOeahOacrOapn+S/ruaUueWwh+iiqyAlcyDopobok4vvvJpcbiIKKyIlJXPoq4vlnKggJXMg5LmL5YmN5o+Q5Lqk5oiW5YSy6JeP5oKo55qE5L+u5pS544CCIgorCisjOiB1bnBhY2stdHJlZXMuYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdXIgbG9jYWwgY2hhbmdlcyB0byB0aGUgZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5ICVzOlxuIgorIiUlcyIKK21zZ3N0ciAiIgorIuaCqOWwjeS4i+WIl+aqlOahiOeahOacrOapn+S/ruaUueWwh+iiqyAlcyDopobok4vvvJpcbiIKKyIlJXMiCisKKyM6IHVucGFjay10cmVlcy5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXBkYXRpbmcgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyB3b3VsZCBsb3NlIHVudHJhY2tlZCBmaWxlcyBpbiB0aGVtOlxuIgorIiVzIgorbXNnc3RyICIiCisi5pu05paw5aaC5LiL55uu6YyE5bCH5pyD6YG65aSx5YW25Lit5pyq6L+96Lmk55qE5qqU5qGI77yaXG4iCisiJXMiCisKKyM6IHVucGFjay10cmVlcy5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgY2hlY2tvdXQ6XG4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgorbXNnc3RyICIiCisi5bel5L2c5Y2A5Lit5LiL5YiX5pyq6L+96Lmk55qE5qqU5qGI5bCH5pyD5Zug54K657C95Ye65YuV5L2c6ICM6KKr5Yiq6Zmk77yaXG4iCisiJSVz6KuL5Zyo5YiH5o+b5YiG5pSv5LmL5YmN56e75YuV5oiW5Yiq6Zmk44CCIgorCisjOiB1bnBhY2stdHJlZXMuYzoxMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSByZW1vdmVkIGJ5IGNoZWNrb3V0OlxuIgorIiUlcyIKK21zZ3N0ciAiIgorIuW3peS9nOWNgOS4reS4i+WIl+acqui/vei5pOeahOaqlOahiOWwh+acg+WboOeCuuewveWHuuWLleS9nOiAjOiiq+WIqumZpO+8mlxuIgorIiUlcyIKKworIzogdW5wYWNrLXRyZWVzLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKK21zZ3N0ciAiIgorIuW3peS9nOWNgOS4reS4i+WIl+acqui/vei5pOeahOaqlOahiOWwh+acg+WboOeCuuWQiOS9teWLleS9nOiAjOiiq+WIqumZpO+8mlxuIgorIiUlc+iri+WcqOWQiOS9teWJjeenu+WLleaIluWIqumZpOOAgiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBtZXJnZTpcbiIKKyIlJXMiCittc2dzdHIgIiIKKyLlt6XkvZzljYDkuK3kuIvliJfmnKrov73ouaTnmoTmqpTmoYjlsIfmnIPlm6DngrrlkIjkvbXli5XkvZzogIzooqvliKrpmaTvvJpcbiIKKyIlJXMiCisKKyM6IHVucGFjay10cmVlcy5jOjE0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIHJlbW92ZWQgYnkgJXM6XG4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSAlcy4iCittc2dzdHIgIiIKKyLlt6XkvZzljYDkuK3kuIvliJfmnKrov73ouaTnmoTmqpTmoYjlsIfmnIPlm6DngrogJXMg5YuV5L2c6ICM6KKr5Yiq6Zmk77yaXG4iCisiJSVz6KuL5ZyoICVzIOWJjeenu+WLleaIluWIqumZpOOAgiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSAlczpcbiIKKyIlJXMiCittc2dzdHIgIiIKKyLlt6XkvZzljYDkuK3kuIvliJfmnKrov73ouaTnmoTmqpTmoYjlsIfmnIPlm6DngrogJXMg5YuV5L2c6ICM6KKr5Yiq6Zmk77yaXG4iCisiJSVzIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCisiY2hlY2tvdXQ6XG4iCisiJSVzUGxlYXNlIG1vdmUgb3IgcmVtb3ZlIHRoZW0gYmVmb3JlIHlvdSBzd2l0Y2ggYnJhbmNoZXMuIgorbXNnc3RyICIiCisi5bel5L2c5Y2A5Lit5LiL5YiX5pyq6L+96Lmk55qE5qqU5qGI5bCH5pyD5Zug54K657C95Ye65YuV5L2c6ICM6KKr6KaG6JOL77yaXG4iCisiJSVz6KuL5Zyo5YiH5o+b5YiG5pSv5YmN56e75YuV5oiW5Yiq6Zmk44CCIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCisiY2hlY2tvdXQ6XG4iCisiJSVzIgorbXNnc3RyICIiCisi5bel5L2c5Y2A5Lit5LiL5YiX5pyq6L+96Lmk55qE5qqU5qGI5bCH5pyD5Zug54K657C95Ye65YuV5L2c6ICM6KKr6KaG6JOL77yaXG4iCisiJSVzIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZTpcbiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91IG1lcmdlLiIKK21zZ3N0ciAiIgorIuW3peS9nOWNgOS4reS4i+WIl+acqui/vei5pOeahOaqlOahiOWwh+acg+WboOeCuuWQiOS9teWLleS9nOiAjOiiq+imhuiTi++8mlxuIgorIiUlc+iri+WcqOWQiOS9teWJjeenu+WLleaIluWIqumZpOOAgiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgbWVyZ2U6XG4iCisiJSVzIgorbXNnc3RyICIiCisi5bel5L2c5Y2A5Lit5LiL5YiX5pyq6L+96Lmk55qE5qqU5qGI5bCH5pyD5Zug54K65ZCI5L215YuV5L2c6ICM6KKr6KaG6JOL77yaXG4iCisiJSVzIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKKyIlJXNQbGVhc2UgbW92ZSBvciByZW1vdmUgdGhlbSBiZWZvcmUgeW91ICVzLiIKK21zZ3N0ciAiIgorIuW3peS9nOWNgOS4reS4i+WIl+acqui/vei5pOeahOaqlOahiOWwh+acg+WboOeCuiAlcyDli5XkvZzogIzooqvopobok4vvvJpcbiIKKyIlJXPoq4vlnKggJXMg5YmN56e75YuV5oiW5Yiq6Zmk44CCIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlczpcbiIKKyIlJXMiCittc2dzdHIgIiIKKyLlt6XkvZzljYDkuK3kuIvliJfmnKrov73ouaTnmoTmqpTmoYjlsIfmnIPlm6DngrogJXMg5YuV5L2c6ICM6KKr6KaG6JOL77yaXG4iCisiJSVzIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRW50cnkgJyVzJyBvdmVybGFwcyB3aXRoICclcycuICBDYW5ub3QgYmluZC4iCittc2dzdHIgIuaineebriAnJXMnIOWSjCAnJXMnIOmHjeeWiuOAgueEoeazleWQiOS9teOAgiIKKworIzogdW5wYWNrLXRyZWVzLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW5ub3QgdXBkYXRlIHNwYXJzZSBjaGVja291dDogdGhlIGZvbGxvd2luZyBlbnRyaWVzIGFyZSBub3QgdXAgdG8gZGF0ZTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIueEoeazleabtOaWsOeogOeWj+ewveWHuu+8muWmguS4i+aineebruS4jeaYr+acgOaWsO+8mlxuIgorIiVzIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBmb2xsb3dpbmcgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IHNwYXJzZSBjaGVja291dCAiCisidXBkYXRlOlxuIgorIiVzIgorbXNnc3RyICIiCisi5bel5L2c5Y2A5Lit5LiL5YiX5qqU5qGI5bCH6KKr56iA55aP57C95Ye65pu05paw5omA6KaG6JOL77yaXG4iCisiJXMiCisKKyM6IHVucGFjay10cmVlcy5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgcmVtb3ZlZCBieSBzcGFyc2UgY2hlY2tvdXQgIgorInVwZGF0ZTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIuW3peS9nOWNgOS4reS4i+WIl+aqlOahiOWwh+iiq+eogOeWj+ewveWHuuabtOaWsOaJgOWIqumZpO+8mlxuIgorIiVzIgorCisjOiB1bnBhY2stdHJlZXMuYzoxNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNhbm5vdCB1cGRhdGUgc3VibW9kdWxlOlxuIgorIiVzIgorbXNnc3RyICIiCisi54Sh5rOV5pu05paw5a2Q5qih57WE77yaXG4iCisiJXMiCisKKyM6IHVucGFjay10cmVlcy5jOjI1NQorIywgYy1mb3JtYXQKK21zZ2lkICJBYm9ydGluZ1xuIgorbXNnc3RyICLmraPlnKjntYLmraJcbiIKKworIzogdW5wYWNrLXRyZWVzLmM6MzE3Cittc2dpZCAiVXBkYXRpbmcgZmlsZXMiCittc2dzdHIgIuato+WcqOabtOaWsOaqlOahiCIKKworIzogdW5wYWNrLXRyZWVzLmM6MzQ5Cittc2dpZCAiIgorInRoZSBmb2xsb3dpbmcgcGF0aHMgaGF2ZSBjb2xsaWRlZCAoZS5nLiBjYXNlLXNlbnNpdGl2ZSBwYXRoc1xuIgorIm9uIGEgY2FzZS1pbnNlbnNpdGl2ZSBmaWxlc3lzdGVtKSBhbmQgb25seSBvbmUgZnJvbSB0aGUgc2FtZVxuIgorImNvbGxpZGluZyBncm91cCBpcyBpbiB0aGUgd29ya2luZyB0cmVlOlxuIgorbXNnc3RyICIiCisi5Lul5LiL6Lev5b6R55m855Sf56Kw5pKe77yI5aaC77ya5Zyo5LiN5Y2A5YiG5aSn5bCP5a+r55qE5qqU5qGI57O757Wx5LiK55qE5Y2A5YiG5aSn5bCP5a+r55qE6Lev5b6R77yJ77yMXG4iCisi5Lim5LiU56Kw5pKe57WE5Lit5Y+q5pyJ5LiA5YCL5qqU5qGI5a2Y5Zyo5bel5L2c5Y2A5Lit77yaXG4iCisKKyM6IHVucGFjay10cmVlcy5jOjE0NDEKKyN8IG1zZ2lkICJVcGRhdGluZyBmaWxlcyIKK21zZ2lkICJVcGRhdGluZyBpbmRleCBmbGFncyIKK21zZ3N0ciAi5q2j5Zyo5pu05paw57Si5byV5peX5qiZIgorCisjOiB1cmxtYXRjaC5jOjE2MworbXNnaWQgImludmFsaWQgVVJMIHNjaGVtZSBuYW1lIG9yIG1pc3NpbmcgJzovLycgc3VmZml4IgorbXNnc3RyICLnhKHmlYjnmoQgVVJMIOaWueahiOWQjeeoseaIlumBuuWksSAnOi8vJyDlvozntrQiCisKKyM6IHVybG1hdGNoLmM6MTg3IHVybG1hdGNoLmM6MzQ2IHVybG1hdGNoLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgJVhYIGVzY2FwZSBzZXF1ZW5jZSIKK21zZ3N0ciAi54Sh5pWI55qEICVYWCDovYnnvqnluo/liJciCisKKyM6IHVybG1hdGNoLmM6MjE1Cittc2dpZCAibWlzc2luZyBob3N0IGFuZCBzY2hlbWUgaXMgbm90ICdmaWxlOiciCittc2dzdHIgIue8uuWwkeS4u+apn+WQjeeoseS4lCBVUkwg5pa55qGI5LiN5pivICdmaWxlOiciCisKKyM6IHVybG1hdGNoLmM6MjMyCittc2dpZCAiYSAnZmlsZTonIFVSTCBtYXkgbm90IGhhdmUgYSBwb3J0IG51bWJlciIKK21zZ3N0ciAi5LiA5YCLICdmaWxlOicgVVJMIOS4jeaHieipsuWMheWQq+WfoOiZnyIKKworIzogdXJsbWF0Y2guYzoyNDcKK21zZ2lkICJpbnZhbGlkIGNoYXJhY3RlcnMgaW4gaG9zdCBuYW1lIgorbXNnc3RyICLkuLvmqZ/lkI3nqLHkuK3ljIXlkKvnhKHmlYjnmoTlrZflhYMiCisKKyM6IHVybG1hdGNoLmM6MjkyIHVybG1hdGNoLmM6MzAzCittc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciIKK21zZ3N0ciAi54Sh5pWI55qE5Z+g6JmfIgorCisjOiB1cmxtYXRjaC5jOjM3MQorbXNnaWQgImludmFsaWQgJy4uJyBwYXRoIHNlZ21lbnQiCittc2dzdHIgIueEoeaViOeahCAnLi4nIOi3r+W+keeJh+autSIKKworIzogd29ya3RyZWUuYzoyNTggYnVpbHRpbi9hbS5jOjIwODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJyVzJyIKK21zZ3N0ciAi6K6A5Y+WICclcycg5aSx5pWXIgorCisjOiB3b3JrdHJlZS5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGF0IG1haW4gd29ya2luZyB0cmVlIGlzIG5vdCB0aGUgcmVwb3NpdG9yeSBkaXJlY3RvcnkiCittc2dzdHIgIuWcqOS4u+W3peS9nOWNgOeahCAnJXMnIOS4jeaYr+eJiOacrOW6q+ebrumMhCIKKworIzogd29ya3RyZWUuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBmaWxlIGRvZXMgbm90IGNvbnRhaW4gYWJzb2x1dGUgcGF0aCB0byB0aGUgd29ya2luZyB0cmVlIGxvY2F0aW9uIgorbXNnc3RyICLmqpTmoYggJyVzJyDkuI3ljIXlkKvlt6XkvZzljYDnmoTntZXlsI3ot6/lvpEiCisKKyM6IHdvcmt0cmVlLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiclcycg5LiN5a2Y5ZyoIgorCisjOiB3b3JrdHJlZS5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIC5naXQgZmlsZSwgZXJyb3IgY29kZSAlZCIKK21zZ3N0ciAiJyVzJyDkuI3mmK/kuIDlgIsgLmdpdCDmqpTmoYjvvIzpjK/oqqTnorwgJWQiCisKKyM6IHdvcmt0cmVlLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgZG9lcyBub3QgcG9pbnQgYmFjayB0byAnJXMnIgorbXNnc3RyICInJXMnIOaykuacieaMh+WbnuWIsCAnJXMnIgorCisjOiB3cmFwcGVyLmM6MTg2IHdyYXBwZXIuYzozNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IG9wZW4gJyVzJyBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWfICclcycg6YCy6KGM6K6A5a+rIgorCisjOiB3cmFwcGVyLmM6Mzg3IHdyYXBwZXIuYzo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnIgorbXNnc3RyICLkuI3og73lrZjlj5YgJyVzJyIKKworIzogd3JhcHBlci5jOjU5NgorbXNnaWQgInVuYWJsZSB0byBnZXQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAi5LiN6IO95Y+W5b6X55uu5YmN5bel5L2c55uu6YyEIgorCisjOiB3dC1zdGF0dXMuYzoxNTgKK21zZ2lkICJVbm1lcmdlZCBwYXRoczoiCittc2dzdHIgIuacquWQiOS9teeahOi3r+W+ke+8miIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiB3dC1zdGF0dXMuYzoxODcgd3Qtc3RhdHVzLmM6MjE5Cittc2dpZCAiICAodXNlIFwiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiCittc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPOaqlOahiD4uLi5cIiDku6Xlj5bmtojmmqvlrZjvvIkiCisKKyMgIOitr+iAhe+8muiri+e2reaMgeWJjeWwjuepuuagvAorIzogd3Qtc3RhdHVzLmM6MTkwIHd0LXN0YXR1cy5jOjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICIgICh1c2UgXCJnaXQgcmVzdG9yZSAtLXNvdXJjZT0lcyAtLXN0YWdlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIKK21zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcmVzdG9yZSAtLXNvdXJjZT0lcyAtLXN0YWdlZCA85qqU5qGIPi4uLlwiIOS7peWPlua2iOaaq+WtmO+8iSIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiB3dC1zdGF0dXMuYzoxOTMgd3Qtc3RhdHVzLmM6MjI1Cittc2dpZCAiICAodXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIgorbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBybSAtLWNhY2hlZCA85qqU5qGIPi4uLlwiIOS7peWPlua2iOaaq+WtmO+8iSIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiB3dC1zdGF0dXMuYzoxOTcKK21zZ2lkICIgICh1c2UgXCJnaXQgYWRkIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCittc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGFkZCA85qqU5qGIPi4uLlwiIOaomeiomOino+axuuaWueahiO+8iSIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiB3dC1zdGF0dXMuYzoxOTkgd3Qtc3RhdHVzLmM6MjAzCittc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pIgorbXNnc3RyICIgIO+8iOmFjOaDheS9v+eUqCBcImdpdCBhZGQvcm0gPOaqlOahiD4uLi5cIiDmqJnoqJjop6PmsbrmlrnmoYjvvIkiCisKKyMgIOitr+iAhe+8muiri+e2reaMgeWJjeWwjuepuuagvAorIzogd3Qtc3RhdHVzLmM6MjAxCittc2dpZCAiICAodXNlIFwiZ2l0IHJtIDxmaWxlPi4uLlwiIHRvIG1hcmsgcmVzb2x1dGlvbikiCittc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHJtIDzmqpTmoYg+Li4uXCIg5qiZ6KiY6Kej5rG65pa55qGI77yJIgorCisjOiB3dC1zdGF0dXMuYzoyMTEgd3Qtc3RhdHVzLmM6MTA3NAorbXNnaWQgIkNoYW5nZXMgdG8gYmUgY29tbWl0dGVkOiIKK21zZ3N0ciAi6KaB5o+Q5Lqk55qE6K6K5pu077yaIgorCisjOiB3dC1zdGF0dXMuYzoyMzQgd3Qtc3RhdHVzLmM6MTA4MworbXNnaWQgIkNoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OiIKK21zZ3N0ciAi5bCa5pyq5pqr5a2Y5Lul5YKZ5o+Q5Lqk55qE6K6K5pu077yaIgorCisjICDora/ogIXvvJroq4vntq3mjIHliY3lsI7nqbrmoLwKKyM6IHd0LXN0YXR1cy5jOjIzOAorbXNnaWQgIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIgorbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBhZGQgPOaqlOahiD4uLi5cIiDmm7TmlrDopoHmj5DkuqTnmoTlhaflrrnvvIkiCisKKyMgIOitr+iAhe+8muiri+e2reaMgeWJjeWwjuepuuagvAorIzogd3Qtc3RhdHVzLmM6MjQwCittc2dpZCAiICAodXNlIFwiZ2l0IGFkZC9ybSA8ZmlsZT4uLi5cIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiCittc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGFkZC9ybSA85qqU5qGIPi4uLlwiIOabtOaWsOimgeaPkOS6pOeahOWFp+Wuue+8iSIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiB3dC1zdGF0dXMuYzoyNDEKK21zZ2lkICIiCisiICAodXNlIFwiZ2l0IHJlc3RvcmUgPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIKK21zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcmVzdG9yZSA85qqU5qGIPi4uLlwiIOaNqOajhOW3peS9nOWNgOeahOaUueWLle+8iSIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiB3dC1zdGF0dXMuYzoyNDMKK21zZ2lkICIgIChjb21taXQgb3IgZGlzY2FyZCB0aGUgdW50cmFja2VkIG9yIG1vZGlmaWVkIGNvbnRlbnQgaW4gc3VibW9kdWxlcykiCittc2dzdHIgIiAg77yI5o+Q5Lqk5oiW5o2o5qOE5a2Q5qih57WE5Lit5pyq6L+96Lmk5oiW5L+u5pS555qE5YWn5a6577yJIgorCisjICDora/ogIXvvJroq4vntq3mjIHliY3lsI7nqbrmoLwKKyM6IHd0LXN0YXR1cy5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICh1c2UgXCJnaXQgJXMgPGZpbGU+Li4uXCIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIKK21zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgJXMgPOaqlOahiD4uLi5cIiDku6XljIXlkKvopoHmj5DkuqTnmoTlhaflrrnvvIkiCisKKyM6IHd0LXN0YXR1cy5jOjI2OAorbXNnaWQgImJvdGggZGVsZXRlZDoiCittc2dzdHIgIumbmeaWueWIqumZpO+8miIKKworIzogd3Qtc3RhdHVzLmM6MjcwCittc2dpZCAiYWRkZWQgYnkgdXM6IgorbXNnc3RyICLnlLHmiJHlgJHmlrDlop7vvJoiCisKKyM6IHd0LXN0YXR1cy5jOjI3MgorbXNnaWQgImRlbGV0ZWQgYnkgdGhlbToiCittc2dzdHIgIueUseS7luWAkeWIqumZpO+8miIKKworIzogd3Qtc3RhdHVzLmM6Mjc0Cittc2dpZCAiYWRkZWQgYnkgdGhlbToiCittc2dzdHIgIueUseS7luWAkeaWsOWinu+8miIKKworIzogd3Qtc3RhdHVzLmM6Mjc2Cittc2dpZCAiZGVsZXRlZCBieSB1czoiCittc2dzdHIgIueUseaIkeWAkeWIqumZpO+8miIKKworIzogd3Qtc3RhdHVzLmM6Mjc4Cittc2dpZCAiYm90aCBhZGRlZDoiCittc2dzdHIgIumbmeaWueaWsOWinu+8miIKKworIzogd3Qtc3RhdHVzLmM6MjgwCittc2dpZCAiYm90aCBtb2RpZmllZDoiCittc2dzdHIgIumbmeaWueS/ruaUue+8miIKKworIzogd3Qtc3RhdHVzLmM6MjkwCittc2dpZCAibmV3IGZpbGU6IgorbXNnc3RyICLmlrDmqpTmoYjvvJoiCisKKyM6IHd0LXN0YXR1cy5jOjI5MgorbXNnaWQgImNvcGllZDoiCittc2dzdHIgIuikh+ijve+8miIKKworIzogd3Qtc3RhdHVzLmM6Mjk0Cittc2dpZCAiZGVsZXRlZDoiCittc2dzdHIgIuWIqumZpO+8miIKKworIzogd3Qtc3RhdHVzLmM6Mjk2Cittc2dpZCAibW9kaWZpZWQ6IgorbXNnc3RyICLkv67mlLnvvJoiCisKKyM6IHd0LXN0YXR1cy5jOjI5OAorbXNnaWQgInJlbmFtZWQ6IgorbXNnc3RyICLph43mlrDlkb3lkI3vvJoiCisKKyM6IHd0LXN0YXR1cy5jOjMwMAorbXNnaWQgInR5cGVjaGFuZ2U6IgorbXNnc3RyICLpoZ7lnovorormm7TvvJoiCisKKyM6IHd0LXN0YXR1cy5jOjMwMgorbXNnaWQgInVua25vd246IgorbXNnc3RyICLmnKrnn6XvvJoiCisKKyM6IHd0LXN0YXR1cy5jOjMwNAorbXNnaWQgInVubWVyZ2VkOiIKK21zZ3N0ciAi5pyq5ZCI5L2177yaIgorCisjICDora/ogIXvvJrmnKvlsL7lhanlgIvkvY3lhYPntYTlj6/og73ooqvliKrmuJvvvIzlpoLmnpznv7vora/ngrrkuK3mlofmqJnpu57mnIPlh7rnj77ljYrlgIvmvKLlrZcKKyM6IHd0LXN0YXR1cy5jOjM4NAorbXNnaWQgIm5ldyBjb21taXRzLCAiCittc2dzdHIgIuaWsOaPkOS6pCwgIgorCisjICDora/ogIXvvJrmnKvlsL7lhanlgIvkvY3lhYPntYTlj6/og73ooqvliKrmuJvvvIzlpoLmnpznv7vora/ngrrkuK3mlofmqJnpu57mnIPlh7rnj77ljYrlgIvmvKLlrZcKKyM6IHd0LXN0YXR1cy5jOjM4NgorbXNnaWQgIm1vZGlmaWVkIGNvbnRlbnQsICIKK21zZ3N0ciAi5L+u5pS555qE5YWn5a65LCAiCisKKyMgIOitr+iAhe+8muacq+WwvuWFqeWAi+S9jeWFg+e1hOWPr+iDveiiq+WIqua4m++8jOWmguaenOe/u+itr+eCuuS4reaWh+aomem7nuacg+WHuuePvuWNiuWAi+a8ouWtlworIzogd3Qtc3RhdHVzLmM6Mzg4Cittc2dpZCAidW50cmFja2VkIGNvbnRlbnQsICIKK21zZ3N0ciAi5pyq6L+96Lmk55qE5YWn5a65LCAiCisKKyM6IHd0LXN0YXR1cy5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICJZb3VyIHN0YXNoIGN1cnJlbnRseSBoYXMgJWQgZW50cnkiCittc2dpZF9wbHVyYWwgIllvdXIgc3Rhc2ggY3VycmVudGx5IGhhcyAlZCBlbnRyaWVzIgorbXNnc3RyWzBdICLmgqjnmoTlhLLol4/ljYDnm67liY3mnIkgJWQg5qKd57SA6YyEIgorbXNnc3RyWzFdICLmgqjnmoTlhLLol4/ljYDnm67liY3mnIkgJWQg5qKd57SA6YyEIgorCisjOiB3dC1zdGF0dXMuYzo5MzgKK21zZ2lkICJTdWJtb2R1bGVzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkOiIKK21zZ3N0ciAi5a2Q5qih57WE5bey5L+u5pS55L2G5bCa5pyq5pu05paw77yaIgorCisjOiB3dC1zdGF0dXMuYzo5NDAKK21zZ2lkICJTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6IgorbXNnc3RyICLopoHmj5DkuqTnmoTlrZDmqKHntYTorormm7TvvJoiCisKKyM6IHd0LXN0YXR1cy5jOjEwMjIKK21zZ2lkICIiCisiRG8gbm90IG1vZGlmeSBvciByZW1vdmUgdGhlIGxpbmUgYWJvdmUuXG4iCisiRXZlcnl0aGluZyBiZWxvdyBpdCB3aWxsIGJlIGlnbm9yZWQuIgorbXNnc3RyICIiCisi5LiN6KaB5pS55YuV5oiW5Yiq6Zmk5LiK6Z2i55qE5LiA6KGM44CCXG4iCisi5YW25LiL5omA5pyJ5YWn5a656YO95bCH6KKr5b+955Wl44CCIgorCisjOiB3dC1zdGF0dXMuYzoxMTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBjb21wdXRlIHRoZSBicmFuY2ggYWhlYWQvYmVoaW5kIHZhbHVlcy5cbiIKKyJZb3UgY2FuIHVzZSAnLS1uby1haGVhZC1iZWhpbmQnIHRvIGF2b2lkIHRoaXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLoirHkuoYgJS4yZiDnp5LmiY3oqIjnrpflh7rliIbmlK/nmoTpoJjlhYgv6JC95b6M56+E5ZyN44CCXG4iCisi54K66YG/5YWN77yM5oKo5Y+v5Lul5L2/55SoICctLW5vLWFoZWFkLWJlaGluZCfjgIJcbiIKKworIzogd3Qtc3RhdHVzLmM6MTE0NAorbXNnaWQgIllvdSBoYXZlIHVubWVyZ2VkIHBhdGhzLiIKK21zZ3N0ciAi5oKo5pyJ5bCa5pyq5ZCI5L2155qE6Lev5b6R44CCIgorCisjICDora/ogIXvvJroq4vntq3mjIHliY3lsI7nqbrmoLwKKyM6IHd0LXN0YXR1cy5jOjExNDcKK21zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY29tbWl0XCIpIgorbXNnc3RyICIgIO+8iOino+axuuihneeqgeS4puWft+ihjCBcImdpdCBjb21taXRcIu+8iSIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiB3dC1zdGF0dXMuYzoxMTQ5Cittc2dpZCAiICAodXNlIFwiZ2l0IG1lcmdlIC0tYWJvcnRcIiB0byBhYm9ydCB0aGUgbWVyZ2UpIgorbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBtZXJnZSAtLWFib3J0XCIg57WC5q2i5ZCI5L2177yJIgorCisjOiB3dC1zdGF0dXMuYzoxMTUzCittc2dpZCAiQWxsIGNvbmZsaWN0cyBmaXhlZCBidXQgeW91IGFyZSBzdGlsbCBtZXJnaW5nLiIKK21zZ3N0ciAi5omA5pyJ6KGd56qB5bey6Kej5rG65L2G5oKo5LuN6JmV5pa85ZCI5L215Lit44CCIgorCisjICDora/ogIXvvJroq4vntq3mjIHliY3lsI7nqbrmoLwKKyM6IHd0LXN0YXR1cy5jOjExNTYKK21zZ2lkICIgICh1c2UgXCJnaXQgY29tbWl0XCIgdG8gY29uY2x1ZGUgbWVyZ2UpIgorbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBjb21taXRcIiDntZDmnZ/lkIjkvbXvvIkiCisKKyM6IHd0LXN0YXR1cy5jOjExNjUKK21zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvbi4iCittc2dzdHIgIuaCqOato+iZleaWvCBhbSDli5XkvZzpgY7nqIvkuK3jgIIiCisKKyM6IHd0LXN0YXR1cy5jOjExNjgKK21zZ2lkICJUaGUgY3VycmVudCBwYXRjaCBpcyBlbXB0eS4iCittc2dzdHIgIuebruWJjeeahOS/ruijnOaqlOeCuuepuuOAgiIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiB3dC1zdGF0dXMuYzoxMTcyCittc2dpZCAiICAoZml4IGNvbmZsaWN0cyBhbmQgdGhlbiBydW4gXCJnaXQgYW0gLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiICDvvIjop6PmsbrooZ3nqoHvvIznhLblvozln7fooYwgXCJnaXQgYW0gLS1jb250aW51ZVwi77yJIgorCisjICDora/ogIXvvJroq4vntq3mjIHliY3lsI7nqbrmoLwKKyM6IHd0LXN0YXR1cy5jOjExNzQKK21zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1za2lwXCIgdG8gc2tpcCB0aGlzIHBhdGNoKSIKK21zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgYW0gLS1za2lwXCIg6Lez6YGO5q2k5L+u6KOc5qqU77yJIgorCisjICDora/ogIXvvJroq4vntq3mjIHliY3lsI7nqbrmoLwKKyM6IHd0LXN0YXR1cy5jOjExNzYKK21zZ2lkICIgICh1c2UgXCJnaXQgYW0gLS1hYm9ydFwiIHRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCkiCittc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGFtIC0tYWJvcnRcIiDlvqnljp/ljp/mnInliIbmlK/vvIkiCisKKyM6IHd0LXN0YXR1cy5jOjEzMDkKK21zZ2lkICJnaXQtcmViYXNlLXRvZG8gaXMgbWlzc2luZy4iCittc2dzdHIgImdpdC1yZWJhc2UtdG9kbyDpgbrlpLHjgIIiCisKKyM6IHd0LXN0YXR1cy5jOjEzMTEKK21zZ2lkICJObyBjb21tYW5kcyBkb25lLiIKK21zZ3N0ciAi5rKS5pyJ5oyH5Luk6KKr5Z+36KGM44CCIgorCisjOiB3dC1zdGF0dXMuYzoxMzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY29tbWFuZCBkb25lICglZCBjb21tYW5kIGRvbmUpOiIKK21zZ2lkX3BsdXJhbCAiTGFzdCBjb21tYW5kcyBkb25lICglZCBjb21tYW5kcyBkb25lKToiCittc2dzdHJbMF0gIuacgOW+jOS4gOaineaMh+S7pOW3suWujOaIkO+8iCVkIOaineaMh+S7pOiiq+Wft+ihjO+8ie+8miIKK21zZ3N0clsxXSAi5pyA5b6M55qE5oyH5Luk5bey5a6M5oiQ77yIJWQg5qKd5oyH5Luk6KKr5Z+36KGM77yJ77yaIgorCisjOiB3dC1zdGF0dXMuYzoxMzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgKHNlZSBtb3JlIGluIGZpbGUgJXMpIgorbXNnc3RyICIgIO+8iOabtOWkmuWPg+imi+aqlOahiCAlc++8iSIKKworIzogd3Qtc3RhdHVzLmM6MTMzMAorbXNnaWQgIk5vIGNvbW1hbmRzIHJlbWFpbmluZy4iCittc2dzdHIgIuacquWJqeS4i+S7u+S9leaMh+S7pOOAgiIKKworIzogd3Qtc3RhdHVzLmM6MTMzMworIywgYy1mb3JtYXQKK21zZ2lkICJOZXh0IGNvbW1hbmQgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kKToiCittc2dpZF9wbHVyYWwgIk5leHQgY29tbWFuZHMgdG8gZG8gKCVkIHJlbWFpbmluZyBjb21tYW5kcyk6IgorbXNnc3RyWzBdICLmjqXkuIvkvobopoHln7fooYznmoTmjIfku6TvvIjlianppJggJWQg5qKd5oyH5Luk77yJ77yaIgorbXNnc3RyWzFdICLmjqXkuIvkvobopoHln7fooYznmoTmjIfku6TvvIjlianppJggJWQg5qKd5oyH5Luk77yJ77yaIgorCisjICDora/ogIXvvJroq4vntq3mjIHliY3lsI7nqbrmoLwKKyM6IHd0LXN0YXR1cy5jOjEzNDEKK21zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tZWRpdC10b2RvXCIgdG8gdmlldyBhbmQgZWRpdCkiCittc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1wiIOS+huaqouimluWSjOe3qOi8r++8iSIKKworIzogd3Qtc3RhdHVzLmM6MTM1MworIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJyVzJyBvbiAnJXMnLiIKK21zZ3N0ciAi5oKo5Zyo5Z+36KGM5bCH5YiG5pSvICclcycg6YeN5a6a5Z+65bqV5YiwICclcycg55qE5YuV5L2c44CCIgorCisjOiB3dC1zdGF0dXMuYzoxMzU4Cittc2dpZCAiWW91IGFyZSBjdXJyZW50bHkgcmViYXNpbmcuIgorbXNnc3RyICLmgqjlnKjln7fooYzph43lrprln7rlupXli5XkvZzjgIIiCisKKyMgIOitr+iAhe+8muiri+e2reaMgeWJjeWwjuepuuagvAorIzogd3Qtc3RhdHVzLmM6MTM3MQorbXNnaWQgIiAgKGZpeCBjb25mbGljdHMgYW5kIHRoZW4gcnVuIFwiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlXCIpIgorbXNnc3RyICIgIO+8iOino+axuuihneeqge+8jOeEtuW+jOWft+ihjCBcImdpdCByZWJhc2UgLS1jb250aW51ZVwi77yJIgorCisjICDora/ogIXvvJroq4vntq3mjIHliY3lsI7nqbrmoLwKKyM6IHd0LXN0YXR1cy5jOjEzNzMKK21zZ2lkICIgICh1c2UgXCJnaXQgcmViYXNlIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCittc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IHJlYmFzZSAtLXNraXBcIiDot7PpgY7mraTkv67oo5zmqpTvvIkiCisKKyMgIOitr+iAhe+8muiri+e2reaMgeWJjeWwjuepuuagvAorIzogd3Qtc3RhdHVzLmM6MTM3NQorbXNnaWQgIiAgKHVzZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHRvIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoKSIKK21zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgcmViYXNlIC0tYWJvcnRcIiDku6XnsL3lh7rljp/mnInliIbmlK/vvIkiCisKKyMgIOitr+iAhe+8muiri+e2reaMgeWJjeWwjuepuuagvAorIzogd3Qtc3RhdHVzLmM6MTM4MgorbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiICDvvIjmiYDmnInooZ3nqoHlt7Lop6PmsbrvvJrln7fooYwgXCJnaXQgcmViYXNlIC0tY29udGludWVcIu+8iSIKKworIzogd3Qtc3RhdHVzLmM6MTM4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGFyZSBjdXJyZW50bHkgc3BsaXR0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgorbXNnc3RyICLmgqjlnKjln7fooYzlsIfliIbmlK8gJyVzJyDph43lrprln7rlupXliLAgJyVzJyDnmoTli5XkvZzmmYLliIblibLmj5DkuqTjgIIiCisKKyM6IHd0LXN0YXR1cy5jOjEzOTEKK21zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBzcGxpdHRpbmcgYSBjb21taXQgZHVyaW5nIGEgcmViYXNlLiIKK21zZ3N0ciAi5oKo5Zyo5Z+36KGM6YeN5a6a5Z+65bqV5YuV5L2c5pmC5YiG5Ymy5o+Q5Lqk44CCIgorCisjICDora/ogIXvvJroq4vntq3mjIHliY3lsI7nqbrmoLwKKyM6IHd0LXN0YXR1cy5jOjEzOTQKK21zZ2lkICIgIChPbmNlIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4sIHJ1biBcImdpdCByZWJhc2UgLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiICDvvIjkuIDml6bmgqjlt6XkvZznm67pjITmj5DkuqTkub7mt6jlvozvvIzln7fooYwgXCJnaXQgcmViYXNlIC0tY29udGludWVcIu+8iSIKKworIzogd3Qtc3RhdHVzLmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IHdoaWxlIHJlYmFzaW5nIGJyYW5jaCAnJXMnIG9uICclcycuIgorbXNnc3RyICLmgqjlnKjln7fooYzlsIfliIbmlK8gJyVzJyDph43lrprln7rlupXliLAgJyVzJyDnmoTli5XkvZzmmYLnt6jovK/mj5DkuqTjgIIiCisKKyM6IHd0LXN0YXR1cy5jOjE0MDMKK21zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBlZGl0aW5nIGEgY29tbWl0IGR1cmluZyBhIHJlYmFzZS4iCittc2dzdHIgIuaCqOWcqOWft+ihjOmHjeWumuWfuuW6leWLleS9nOaZgue3qOi8r+aPkOS6pOOAgiIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiB3dC1zdGF0dXMuYzoxNDA2Cittc2dpZCAiICAodXNlIFwiZ2l0IGNvbW1pdCAtLWFtZW5kXCIgdG8gYW1lbmQgdGhlIGN1cnJlbnQgY29tbWl0KSIKK21zZ3N0ciAiICDvvIjkvb/nlKggXCJnaXQgY29tbWl0IC0tYW1lbmRcIiDkv67oo5znm67liY3mj5DkuqTvvIkiCisKKyMgIOitr+iAhe+8muiri+e2reaMgeWJjeWwjuepuuagvAorIzogd3Qtc3RhdHVzLmM6MTQwOAorbXNnaWQgIiIKKyIgICh1c2UgXCJnaXQgcmViYXNlIC0tY29udGludWVcIiBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggeW91ciBjaGFuZ2VzKSIKK21zZ3N0ciAiICDvvIjnlbbmgqjlsI3mgqjnmoTkv67mlLnmu7/mhI/lvozln7fooYwgXCJnaXQgcmViYXNlIC0tY29udGludWVcIu+8iSIKKworIzogd3Qtc3RhdHVzLmM6MTQxOQorbXNnaWQgIkNoZXJyeS1waWNrIGN1cnJlbnRseSBpbiBwcm9ncmVzcy4iCittc2dzdHIgIuaPgOmBuOWLleS9nOato+WcqOmAsuihjOS4reOAgiIKKworIzogd3Qtc3RhdHVzLmM6MTQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIgorbXNnc3RyICLmgqjlnKjln7fooYzmj4Dpgbjmj5DkuqQgJXMg55qE5YuV5L2c44CCIgorCisjICDora/ogIXvvJroq4vntq3mjIHliY3lsI7nqbrmoLwKKyM6IHd0LXN0YXR1cy5jOjE0MjkKK21zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiICDvvIjop6PmsbrooZ3nqoHkuKbln7fooYwgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwi77yJIgorCisjICDora/ogIXvvJroq4vntq3mjIHliY3lsI7nqbrmoLwKKyM6IHd0LXN0YXR1cy5jOjE0MzIKK21zZ2lkICIgIChydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHRvIGNvbnRpbnVlKSIKK21zZ3N0ciAiICDvvIjln7fooYwgXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIOS7pee5vOe6jO+8iSIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiB3dC1zdGF0dXMuYzoxNDM1Cittc2dpZCAiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIikiCittc2dzdHIgIiAg77yI5omA5pyJ6KGd56qB5bey6Kej5rG677ya5Z+36KGMIFwiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWVcIu+8iSIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiB3dC1zdGF0dXMuYzoxNDM3Cittc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tc2tpcFwiIHRvIHNraXAgdGhpcyBwYXRjaCkiCittc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGNoZXJyeS1waWNrIC0tc2tpcFwiIOi3s+mBjuatpOS/ruijnOaqlO+8iSIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiB3dC1zdGF0dXMuYzoxNDM5Cittc2dpZCAiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiCittc2dzdHIgIiAg77yI5L2/55SoIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiDku6Xlj5bmtojmj4Dpgbjli5XkvZzvvIkiCisKKyM6IHd0LXN0YXR1cy5jOjE0NDkKK21zZ2lkICJSZXZlcnQgY3VycmVudGx5IGluIHByb2dyZXNzLiIKK21zZ3N0ciAi6YKE5Y6f5YuV5L2c5q2j5Zyo6KGM5Lit44CCIgorCisjOiB3dC1zdGF0dXMuYzoxNDUyCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IHJldmVydGluZyBjb21taXQgJXMuIgorbXNnc3RyICLmgqjlnKjln7fooYzlj43ovYnmj5DkuqQgJXMg55qE5YuV5L2c44CCIgorCisjICDora/ogIXvvJroq4vntq3mjIHliY3lsI7nqbrmoLwKKyM6IHd0LXN0YXR1cy5jOjE0NTgKK21zZ2lkICIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiCittc2dzdHIgIiAg77yI6Kej5rG66KGd56qB5Lim5Z+36KGMIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCLvvIkiCisKKyMgIOitr+iAhe+8muiri+e2reaMgeWJjeWwjuepuuagvAorIzogd3Qtc3RhdHVzLmM6MTQ2MQorbXNnaWQgIiAgKHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiIHRvIGNvbnRpbnVlKSIKK21zZ3N0ciAiICDvvIjln7fooYwgXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIiDku6XnubznuozvvIkiCisKKyMgIOitr+iAhe+8muiri+e2reaMgeWJjeWwjuepuuagvAorIzogd3Qtc3RhdHVzLmM6MTQ2NAorbXNnaWQgIiAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biBcImdpdCByZXZlcnQgLS1jb250aW51ZVwiKSIKK21zZ3N0ciAiICDvvIjmiYDmnInooZ3nqoHlt7Lop6PmsbrvvJrln7fooYwgXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIu+8iSIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiB3dC1zdGF0dXMuYzoxNDY2Cittc2dpZCAiICAodXNlIFwiZ2l0IHJldmVydCAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIgorbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCByZXZlcnQgLS1za2lwXCIg6Lez6YGO5q2k5L+u6KOc5qqU77yJIgorCisjICDora/ogIXvvJroq4vntq3mjIHliY3lsI7nqbrmoLwKKyM6IHd0LXN0YXR1cy5jOjE0NjgKK21zZ2lkICIgICh1c2UgXCJnaXQgcmV2ZXJ0IC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIHJldmVydCBvcGVyYXRpb24pIgorbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCByZXZlcnQgLS1hYm9ydFwiIOS7peWPlua2iOWPjei9ieaPkOS6pOWLleS9nO+8iSIKKworIzogd3Qtc3RhdHVzLmM6MTQ3OAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgYXJlIGN1cnJlbnRseSBiaXNlY3RpbmcsIHN0YXJ0ZWQgZnJvbSBicmFuY2ggJyVzJy4iCittc2dzdHIgIuaCqOWcqOWft+ihjOW+nuWIhuaUryAnJXMnIOmWi+Wni+eahOS6jOWIhuWwi+aJvuWLleS9nOOAgiIKKworIzogd3Qtc3RhdHVzLmM6MTQ4MgorbXNnaWQgIllvdSBhcmUgY3VycmVudGx5IGJpc2VjdGluZy4iCittc2dzdHIgIuaCqOWcqOWft+ihjOS6jOWIhuWwi+aJvuWLleS9nOOAgiIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiB3dC1zdGF0dXMuYzoxNDg1Cittc2dpZCAiICAodXNlIFwiZ2l0IGJpc2VjdCByZXNldFwiIHRvIGdldCBiYWNrIHRvIHRoZSBvcmlnaW5hbCBicmFuY2gpIgorbXNnc3RyICIgIO+8iOS9v+eUqCBcImdpdCBiaXNlY3QgcmVzZXRcIiDnsL3lh7rljp/mnInliIbmlK/vvIkiCisKKyM6IHd0LXN0YXR1cy5jOjE2OTQKK21zZ2lkICJPbiBicmFuY2ggIgorbXNnc3RyICLkvY3mlrzliIbmlK8gIgorCisjOiB3dC1zdGF0dXMuYzoxNzAxCittc2dpZCAiaW50ZXJhY3RpdmUgcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICIKK21zZ3N0ciAi5LqS5YuV5byP6YeN5a6a5Z+65bqV5YuV5L2c5q2j5Zyo6YCy6KGM5Lit77yb6IezICIKKworIzogd3Qtc3RhdHVzLmM6MTcwMworbXNnaWQgInJlYmFzZSBpbiBwcm9ncmVzczsgb250byAiCittc2dzdHIgIumHjeWumuWfuuW6leWLleS9nOato+WcqOmAsuihjOS4re+8m+iHsyAiCisKKyM6IHd0LXN0YXR1cy5jOjE3MTMKK21zZ2lkICJOb3QgY3VycmVudGx5IG9uIGFueSBicmFuY2guIgorbXNnc3RyICLnm67liY3kuI3lnKjku7vkvZXliIbmlK/kuIrjgIIiCisKKyM6IHd0LXN0YXR1cy5jOjE3MzAKK21zZ2lkICJJbml0aWFsIGNvbW1pdCIKK21zZ3N0ciAi5Yid5aeL5o+Q5LqkIgorCisjOiB3dC1zdGF0dXMuYzoxNzMxCittc2dpZCAiTm8gY29tbWl0cyB5ZXQiCittc2dzdHIgIuWwmueEoeaPkOS6pCIKKworIzogd3Qtc3RhdHVzLmM6MTc0NQorbXNnaWQgIlVudHJhY2tlZCBmaWxlcyIKK21zZ3N0ciAi5pyq6L+96Lmk55qE5qqU5qGIIgorCisjOiB3dC1zdGF0dXMuYzoxNzQ3Cittc2dpZCAiSWdub3JlZCBmaWxlcyIKK21zZ3N0ciAi5b+955Wl55qE5qqU5qGIIgorCisjOiB3dC1zdGF0dXMuYzoxNzUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW50cmFja2VkIGZpbGVzLiAnc3RhdHVzIC11bm8nXG4iCisibWF5IHNwZWVkIGl0IHVwLCBidXQgeW91IGhhdmUgdG8gYmUgY2FyZWZ1bCBub3QgdG8gZm9yZ2V0IHRvIGFkZFxuIgorIm5ldyBmaWxlcyB5b3Vyc2VsZiAoc2VlICdnaXQgaGVscCBzdGF0dXMnKS4iCittc2dzdHIgIiIKKyLogJfosrvkuoYgJS4yZiDnp5Lku6XmnproiInmnKrov73ouaTnmoTmqpTmoYjjgIInc3RhdHVzIC11bm8nIOS5n+ioseiDveaPkOmrmOmAn+W6pu+8jFxuIgorIuS9huaCqOmcgOimgeWwj+W/g+S4jeimgeW/mOS6huaWsOWinuaWsOaqlOahiO+8iOWPg+imiyAnZ2l0IGhlbHAgc3RhdHVzJ++8ieOAgiIKKworIzogd3Qtc3RhdHVzLmM6MTc1NworIywgYy1mb3JtYXQKK21zZ2lkICJVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCVzIgorbXNnc3RyICLmnKrov73ouaTnmoTmqpTmoYjmspLmnInliJflh7olcyIKKworIyAg6K2v6ICF77ya5Lit5paH5a2X5Liy5ou85o6l77yM5Y+v5Yiq6Zmk5YmN5bCO56m65qC8CisjOiB3dC1zdGF0dXMuYzoxNzU5Cittc2dpZCAiICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKSIKK21zZ3N0ciAi77yI5L2/55SoIC11IOWPg+aVuOmhr+ekuuacqui/vei5pOeahOaqlOahiO+8iSIKKworIzogd3Qtc3RhdHVzLmM6MTc2NQorbXNnaWQgIk5vIGNoYW5nZXMiCittc2dzdHIgIuaykuacieS/ruaUuSIKKworIzogd3Qtc3RhdHVzLmM6MTc3MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIilcbiIKK21zZ3N0ciAi5L+u5pS55bCa5pyq5Yqg5YWl5o+Q5Lqk77yI5L2/55SoIFwiZ2l0IGFkZFwiIOWSjC/miJYgXCJnaXQgY29tbWl0IC1hXCLvvIlcbiIKKworIzogd3Qtc3RhdHVzLmM6MTc3MworIywgYy1mb3JtYXQKK21zZ2lkICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdFxuIgorbXNnc3RyICLkv67mlLnlsJrmnKrliqDlhaXmj5DkuqRcbiIKKworIzogd3Qtc3RhdHVzLmM6MTc3NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50ICh1c2UgXCJnaXQgYWRkXCIgdG8gIgorInRyYWNrKVxuIgorbXNnc3RyICLmj5DkuqTngrrnqbrvvIzkvYbmmK/lrZjlnKjlsJrmnKrov73ouaTnmoTmqpTmoYjvvIjkvb/nlKggXCJnaXQgYWRkXCIg5bu656uL6L+96Lmk77yJXG4iCisKKyM6IHd0LXN0YXR1cy5jOjE3NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90aGluZyBhZGRlZCB0byBjb21taXQgYnV0IHVudHJhY2tlZCBmaWxlcyBwcmVzZW50XG4iCittc2dzdHIgIuaPkOS6pOeCuuepuu+8jOS9huaYr+WtmOWcqOWwmuacqui/vei5pOeahOaqlOahiFxuIgorCisjICDora/ogIXvvJrkuK3mloflrZfkuLLmi7zmjqXvvIzlj6/liKrpmaTliY3lsI7nqbrmoLwKKyM6IHd0LXN0YXR1cy5jOjE3ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90aGluZyB0byBjb21taXQgKGNyZWF0ZS9jb3B5IGZpbGVzIGFuZCB1c2UgXCJnaXQgYWRkXCIgdG8gdHJhY2spXG4iCittc2dzdHIgIueEoeaqlOahiOimgeaPkOS6pO+8iOW7uueriy/opIfoo73mqpTmoYjkuKbkvb/nlKggXCJnaXQgYWRkXCIg5bu656uL6L+96Lmk77yJXG4iCisKKyM6IHd0LXN0YXR1cy5jOjE3ODUgd3Qtc3RhdHVzLmM6MTc5MAorIywgYy1mb3JtYXQKK21zZ2lkICJub3RoaW5nIHRvIGNvbW1pdFxuIgorbXNnc3RyICLnhKHmqpTmoYjopoHmj5DkuqRcbiIKKworIyAg6K2v6ICF77ya5Lit5paH5a2X5Liy5ou85o6l77yM5Y+v5Yiq6Zmk5YmN5bCO56m65qC8CisjOiB3dC1zdGF0dXMuYzoxNzg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0ICh1c2UgLXUgdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpXG4iCittc2dzdHIgIueEoeaqlOahiOimgeaPkOS6pO+8iOS9v+eUqCAtdSDpoa/npLrmnKrov73ouaTnmoTmqpTmoYjvvIlcbiIKKworIyAg6K2v6ICF77ya5Lit5paH5a2X5Liy5ou85o6l77yM5Y+v5Yiq6Zmk5YmN5bCO56m65qC8CisjOiB3dC1zdGF0dXMuYzoxNzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUgY2xlYW5cbiIKK21zZ3N0ciAi5rKS5pyJ6KaB5o+Q5Lqk55qE5qqU5qGI77yM5bel5L2c5Y2A54K65Lm+5reo54uA5oWLXG4iCisKKyM6IHd0LXN0YXR1cy5jOjE5MDUKK21zZ2lkICJObyBjb21taXRzIHlldCBvbiAiCittc2dzdHIgIuWwmueEoeaPkOS6pOWcqCAiCisKKyM6IHd0LXN0YXR1cy5jOjE5MDkKK21zZ2lkICJIRUFEIChubyBicmFuY2gpIgorbXNnc3RyICJIRUFE77yI6Z2e5YiG5pSv77yJIgorCisjOiB3dC1zdGF0dXMuYzoxOTQwCittc2dpZCAiZGlmZmVyZW50IgorbXNnc3RyICLkuI3lkIwiCisKKyMgIOitr+iAhe+8muiri+e2reaMgeWPpeWwvuepuuagvAorIzogd3Qtc3RhdHVzLmM6MTk0MiB3dC1zdGF0dXMuYzoxOTUwCittc2dpZCAiYmVoaW5kICIKK21zZ3N0ciAi6JC95b6MICIKKworIzogd3Qtc3RhdHVzLmM6MTk0NSB3dC1zdGF0dXMuYzoxOTQ4Cittc2dpZCAiYWhlYWQgIgorbXNnc3RyICLpoJjlhYggIgorCisjLiBUUkFOU0xBVE9SUzogdGhlIGFjdGlvbiBpcyBlLmcuICJwdWxsIHdpdGggcmViYXNlIgorIzogd3Qtc3RhdHVzLmM6MjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgJXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICLkuI3og70lc++8muaCqOacieacquaaq+WtmOeahOiuiuabtOOAgiIKKworIzogd3Qtc3RhdHVzLmM6MjQ3NgorbXNnaWQgImFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAi5Y+m5aSW77yM5oKo55qE57Si5byV5Lit5YyF5ZCr5pyq5o+Q5Lqk55qE6K6K5pu044CCIgorCisjOiB3dC1zdGF0dXMuYzoyNDc4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCAlczogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAi5LiN6IO9JXPvvJrmgqjnmoTntKLlvJXkuK3ljIXlkKvmnKrmj5DkuqTnmoTorormm7TjgIIiCisKKyM6IGNvbXBhdC9wcmVjb21wb3NlX3V0ZjguYzo1OCBidWlsdGluL2Nsb25lLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJyVzJyIKK21zZ3N0ciAi5Yiq6ZmkICclcycg5aSx5pWXIgorCisjOiBidWlsdGluL2FkZC5jOjI2Cittc2dpZCAiZ2l0IGFkZCBbPG9wdGlvbnM+XSBbLS1dIDxwYXRoc3BlYz4uLi4iCittc2dzdHIgImdpdCBhZGQgWzzpgbjpoIU+XSBbLS1dIDzot6/lvpHopo/moLw+Li4uIgorCisjOiBidWlsdGluL2FkZC5jOjg3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZGlmZiBzdGF0dXMgJWMiCittc2dzdHIgIuaEj+WklueahOW3rueVsOeLgOaFiyAlYyIKKworIzogYnVpbHRpbi9hZGQuYzo5MiBidWlsdGluL2NvbW1pdC5jOjI4OAorbXNnaWQgInVwZGF0aW5nIGZpbGVzIGZhaWxlZCIKK21zZ3N0ciAi5pu05paw5qqU5qGI5aSx5pWXIgorCisjOiBidWlsdGluL2FkZC5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmUgJyVzJ1xuIgorbXNnc3RyICLliKrpmaQgJyVzJ1xuIgorCisjOiBidWlsdGluL2FkZC5jOjE3NworbXNnaWQgIlVuc3RhZ2VkIGNoYW5nZXMgYWZ0ZXIgcmVmcmVzaGluZyB0aGUgaW5kZXg6IgorbXNnc3RyICLph43mlrDmlbTnkIbntKLlvJXkuYvlvozlsJrmnKrooqvmmqvlrZjnmoTorormm7TvvJoiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MjUyIGJ1aWx0aW4vcmV2LXBhcnNlLmM6ODk5Cittc2dpZCAiQ291bGQgbm90IHJlYWQgdGhlIGluZGV4IgorbXNnc3RyICLkuI3og73oroDlj5bntKLlvJUiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmcuIgorbXNnc3RyICLnhKHms5Xngrrlr6vlhaXplovllZ8gJyVzJ+OAgiIKKworIzogYnVpbHRpbi9hZGQuYzoyNjcKK21zZ2lkICJDb3VsZCBub3Qgd3JpdGUgcGF0Y2giCittc2dzdHIgIuS4jeiDveeUn+aIkOS/ruijnOaqlCIKKworIzogYnVpbHRpbi9hZGQuYzoyNzAKK21zZ2lkICJlZGl0aW5nIHBhdGNoIGZhaWxlZCIKK21zZ3N0ciAi57eo6Lyv5L+u6KOc5qqU5aSx5pWXIgorCisjOiBidWlsdGluL2FkZC5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgc3RhdCAnJXMnIgorbXNnc3RyICLkuI3og73lsI0gJyVzJyDlkbzlj6sgc3RhdCIKKworIzogYnVpbHRpbi9hZGQuYzoyNzUKK21zZ2lkICJFbXB0eSBwYXRjaC4gQWJvcnRlZC4iCittc2dzdHIgIuepuuS/ruijnOaqlOOAgueVsOW4uOe1guatouOAgiIKKworIzogYnVpbHRpbi9hZGQuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGFwcGx5ICclcyciCittc2dzdHIgIuS4jeiDveaHieeUqCAnJXMnIgorCisjOiBidWlsdGluL2FkZC5jOjI4OAorbXNnaWQgIlRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKK21zZ3N0ciAi5LiL5YiX6Lev5b6R5qC55pOa5oKo55qE5LiA5YCLIC5naXRpZ25vcmUg5qqU5qGI6ICM6KKr5b+955Wl77yaXG4iCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzA4IGJ1aWx0aW4vY2xlYW4uYzo5MTAgYnVpbHRpbi9mZXRjaC5jOjE2MyBidWlsdGluL212LmM6MTI0CisjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjU2IGJ1aWx0aW4vcHVsbC5jOjIyMyBidWlsdGluL3B1c2guYzo1NDgKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTM0NCBidWlsdGluL3JtLmM6MjQxIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY1Cittc2dpZCAiZHJ5IHJ1biIKK21zZ3N0ciAi5ris6Kmm5Z+36KGMIgorCisjOiBidWlsdGluL2FkZC5jOjMxMQorbXNnaWQgImludGVyYWN0aXZlIHBpY2tpbmciCittc2dzdHIgIuS6kuWLleW8j+aPgOmBuCIKKworIzogYnVpbHRpbi9hZGQuYzozMTIgYnVpbHRpbi9jaGVja291dC5jOjE0ODIgYnVpbHRpbi9yZXNldC5jOjMwNworbXNnaWQgInNlbGVjdCBodW5rcyBpbnRlcmFjdGl2ZWx5IgorbXNnc3RyICLkupLli5XlvI/mjJHpgbjos4fmlpnljYDloYoiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzEzCittc2dpZCAiZWRpdCBjdXJyZW50IGRpZmYgYW5kIGFwcGx5IgorbXNnc3RyICLnt6jovK/nm67liY3lt67nlbDkuKbmh4nnlKgiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzE0Cittc2dpZCAiYWxsb3cgYWRkaW5nIG90aGVyd2lzZSBpZ25vcmVkIGZpbGVzIgorbXNnc3RyICLlhYHoqLHmlrDlop7lv73nlaXnmoTmqpTmoYgiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzE1Cittc2dpZCAidXBkYXRlIHRyYWNrZWQgZmlsZXMiCittc2dzdHIgIuabtOaWsOW3sui/vei5pOeahOaqlOahiCIKKworIzogYnVpbHRpbi9hZGQuYzozMTYKK21zZ2lkICJyZW5vcm1hbGl6ZSBFT0wgb2YgdHJhY2tlZCBmaWxlcyAoaW1wbGllcyAtdSkiCittc2dzdHIgIuWwjeW3sui/vei5pOaqlOahiO+8iOmaseWQqyAtde+8iemHjeaWsOatuOS4gOaPm+ihjOespuiZnyIKKworIzogYnVpbHRpbi9hZGQuYzozMTcKK21zZ2lkICJyZWNvcmQgb25seSB0aGUgZmFjdCB0aGF0IHRoZSBwYXRoIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCittc2dzdHIgIuWPquiomOmMhO+8jOipsui3r+W+keeojeW+jOWGjeaWsOWiniIKKworIzogYnVpbHRpbi9hZGQuYzozMTgKK21zZ2lkICJhZGQgY2hhbmdlcyBmcm9tIGFsbCB0cmFja2VkIGFuZCB1bnRyYWNrZWQgZmlsZXMiCittc2dzdHIgIuaWsOWinuaJgOacieaUueiuiueahOW3sui/vei5pOaqlOahiOWSjOacqui/vei5pOaqlOahiCIKKworIzogYnVpbHRpbi9hZGQuYzozMjEKK21zZ2lkICJpZ25vcmUgcGF0aHMgcmVtb3ZlZCBpbiB0aGUgd29ya2luZyB0cmVlIChzYW1lIGFzIC0tbm8tYWxsKSIKK21zZ3N0ciAi5b+955Wl5bel5L2c5Y2A5Lit56e76Zmk55qE6Lev5b6R77yI5ZKMIC0tbm8tYWxsIOebuOWQjO+8iSIKKworIzogYnVpbHRpbi9hZGQuYzozMjMKK21zZ2lkICJkb24ndCBhZGQsIG9ubHkgcmVmcmVzaCB0aGUgaW5kZXgiCittc2dzdHIgIuS4jeaWsOWinu+8jOWPqumHjeaWsOaVtOeQhue0ouW8lSIKKworIzogYnVpbHRpbi9hZGQuYzozMjQKK21zZ2lkICJqdXN0IHNraXAgZmlsZXMgd2hpY2ggY2Fubm90IGJlIGFkZGVkIGJlY2F1c2Ugb2YgZXJyb3JzIgorbXNnc3RyICLot7PpgY7lm6DnmbznlJ/pjK/oqqTkuI3og73mlrDlop7nmoTmqpTmoYgiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzI1Cittc2dpZCAiY2hlY2sgaWYgLSBldmVuIG1pc3NpbmcgLSBmaWxlcyBhcmUgaWdub3JlZCBpbiBkcnkgcnVuIgorbXNnc3RyICLmqqLmn6XlnKjmuKzoqabln7fooYzmqKHlvI/kuIvmqpTmoYjvvIjljbPkvb/kuI3lrZjlnKjvvInmmK/lkKbooqvlv73nlaUiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzI3IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAwNAorbXNnaWQgIm92ZXJyaWRlIHRoZSBleGVjdXRhYmxlIGJpdCBvZiB0aGUgbGlzdGVkIGZpbGVzIgorbXNnc3RyICLopobok4vliJfooajoo6HmqpTmoYjnmoTlj6/ln7fooYzkvY0iCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzI5Cittc2dpZCAid2FybiB3aGVuIGFkZGluZyBhbiBlbWJlZGRlZCByZXBvc2l0b3J5IgorbXNnc3RyICLlu7rnq4vkuIDlgIvltYzlhaXlvI/niYjmnKzluqvmmYLntabkuojorablkYoiCisKKyM6IGJ1aWx0aW4vYWRkLmM6MzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UndmUgYWRkZWQgYW5vdGhlciBnaXQgcmVwb3NpdG9yeSBpbnNpZGUgeW91ciBjdXJyZW50IHJlcG9zaXRvcnkuXG4iCisiQ2xvbmVzIG9mIHRoZSBvdXRlciByZXBvc2l0b3J5IHdpbGwgbm90IGNvbnRhaW4gdGhlIGNvbnRlbnRzIG9mXG4iCisidGhlIGVtYmVkZGVkIHJlcG9zaXRvcnkgYW5kIHdpbGwgbm90IGtub3cgaG93IHRvIG9idGFpbiBpdC5cbiIKKyJJZiB5b3UgbWVhbnQgdG8gYWRkIGEgc3VibW9kdWxlLCB1c2U6XG4iCisiXG4iCisiXHRnaXQgc3VibW9kdWxlIGFkZCA8dXJsPiAlc1xuIgorIlxuIgorIklmIHlvdSBhZGRlZCB0aGlzIHBhdGggYnkgbWlzdGFrZSwgeW91IGNhbiByZW1vdmUgaXQgZnJvbSB0aGVcbiIKKyJpbmRleCB3aXRoOlxuIgorIlxuIgorIlx0Z2l0IHJtIC0tY2FjaGVkICVzXG4iCisiXG4iCisiU2VlIFwiZ2l0IGhlbHAgc3VibW9kdWxlXCIgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICIiCisi5oKo5Zyo55uu5YmN54mI5pys5bqr5Lit5paw5aKe5LqG5Y+m5aSW5LiA5YCLR2l054mI5pys5bqr44CC6KSH6KO95aSW5bGk55qE54mI5pys5bqr5bCH5LiN5YyF5ZCr5bWM5YWl54mI5pys5bqr55qEIgorIuWFp+Wuue+8jOS4puS4lOS4jeefpemBk+ipsuWmguS9leWPluW+l+Wug+OAglxuIgorIuWmguaenOaCqOimgeaWsOWinuS4gOWAi+WtkOaooee1hO+8jOS9v+eUqO+8mlxuIgorIlxuIgorIlx0Z2l0IHN1Ym1vZHVsZSBhZGQgPHVybD4gJXNcbiIKKyJcbiIKKyLlpoLmnpzmgqjkuI3lsI/lv4PmlrDlop7kuobpgJnlgIvot6/lvpHvvIzlj6/ku6XnlKjkuIvpnaLnmoTmjIfku6TlsIflhbblvp7ntKLlvJXkuK3liKrpmaTvvJpcbiIKKyJcbiIKKyJcdGdpdCBybSAtLWNhY2hlZCAlc1xuIgorIlxuIgorIuWPg+imiyBcImdpdCBoZWxwIHN1Ym1vZHVsZVwiIOWPluW+l+abtOWkmuioiuaBr+OAgiIKKworIzogYnVpbHRpbi9hZGQuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWRkaW5nIGVtYmVkZGVkIGdpdCByZXBvc2l0b3J5OiAlcyIKK21zZ3N0ciAi5q2j5Zyo5paw5aKe5bWM5YWl5byPIGdpdCDniYjmnKzluqvvvJolcyIKKworIzogYnVpbHRpbi9hZGQuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS5cbiIKK21zZ3N0ciAi5L2/55SoIC1mIOWPg+aVuOWmguaenOaCqOeiuuWvpuimgeaWsOWinuWug+WAkeOAglxuIgorCisjOiBidWlsdGluL2FkZC5jOjQwMAorbXNnaWQgImFkZGluZyBmaWxlcyBmYWlsZWQiCittc2dzdHIgIuaWsOWinuaqlOahiOWkseaVlyIKKworIzogYnVpbHRpbi9hZGQuYzo0MjggYnVpbHRpbi9jb21taXQuYzozNDgKKyN8IG1zZ2lkICItLWZpcnN0LXBhcmVudCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWJpc2VjdCIKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWludGVyYWN0aXZlLy0tcGF0Y2giCittc2dzdHIgIi0tcGF0aHNwZWMtZnJvbS1maWxlIOiIhyAtLWludGVyYWN0aXZlLy0tcGF0Y2gg5LiN55u45a65IgorCisjOiBidWlsdGluL2FkZC5jOjQzNAorI3wgbXNnaWQgIi0tZmlyc3QtcGFyZW50IGlzIGluY29tcGF0aWJsZSB3aXRoIC0tYmlzZWN0IgorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tZWRpdCIKK21zZ3N0ciAiLS1wYXRoc3BlYy1mcm9tLWZpbGUg6IiHIC0tZWRpdCDkuI3nm7jlrrkiCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDQ2Cittc2dpZCAiLUEgYW5kIC11IGFyZSBtdXR1YWxseSBpbmNvbXBhdGlibGUiCittc2dzdHIgIi1BIOWSjCAtdSDpgbjpoIXkupLmlqUiCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDQ5Cittc2dpZCAiT3B0aW9uIC0taWdub3JlLW1pc3NpbmcgY2FuIG9ubHkgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tZHJ5LXJ1biIKK21zZ3N0ciAi6YG46aCFIC0taWdub3JlLW1pc3Npbmcg5Y+q6IO95ZKMIC0tZHJ5LXJ1biDlkIzmmYLkvb/nlKgiCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tY2htb2QgcGFyYW0gJyVzJyBtdXN0IGJlIGVpdGhlciAteCBvciAreCIKK21zZ3N0ciAi5Y+D5pW4IC0tY2htb2Qg5Y+W5YC8ICclcycg5b+F6aCI5pivIC14IOaIliAreCIKKworIzogYnVpbHRpbi9hZGQuYzo0NzEgYnVpbHRpbi9jaGVja291dC5jOjE2NDggYnVpbHRpbi9jb21taXQuYzozNTQKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMjcKKyN8IG1zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIC0te2hhcmQsbWl4ZWQsc29mdH0iCittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggcGF0aHNwZWMgYXJndW1lbnRzIgorbXNnc3RyICItLXBhdGhzcGVjLWZyb20tZmlsZSDoiIcgPOi3r+W+keimj+agvD4g5Y+D5pW45LiN55u45a65IgorCisjOiBidWlsdGluL2FkZC5jOjQ3OCBidWlsdGluL2NoZWNrb3V0LmM6MTY2MCBidWlsdGluL2NvbW1pdC5jOjM2MAorIzogYnVpbHRpbi9yZXNldC5jOjMzMworbXNnaWQgIi0tcGF0aHNwZWMtZmlsZS1udWwgcmVxdWlyZXMgLS1wYXRoc3BlYy1mcm9tLWZpbGUiCittc2dzdHIgIi0tcGF0aHNwZWMtZmlsZS1udWwg6ZyA6KaBIC0tcGF0aHNwZWMtZnJvbS1maWxlIgorCisjOiBidWlsdGluL2FkZC5jOjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJOb3RoaW5nIHNwZWNpZmllZCwgbm90aGluZyBhZGRlZC5cbiIKK21zZ3N0ciAi5rKS5pyJ5oyH5a6a5qqU5qGI77yM5Lmf5rKS5pyJ5qqU5qGI6KKr5paw5aKe44CCXG4iCisKKyM6IGJ1aWx0aW4vYWRkLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heWJlIHlvdSB3YW50ZWQgdG8gc2F5ICdnaXQgYWRkIC4nP1xuIgorbXNnc3RyICLkuZ/oqLHmgqjmg7PopoHln7fooYwgJ2dpdCBhZGQgLifvvJ9cbiIKKworIzogYnVpbHRpbi9hbS5jOjM0NworbXNnaWQgImNvdWxkIG5vdCBwYXJzZSBhdXRob3Igc2NyaXB0IgorbXNnc3RyICLkuI3og73op6PmnpDkvZzogIXohbPmnKwiCisKKyM6IGJ1aWx0aW4vYW0uYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyB3YXMgZGVsZXRlZCBieSB0aGUgYXBwbHlwYXRjaC1tc2cgaG9vayIKK21zZ3N0ciAiJyVzJyDooqsgYXBwbHlwYXRjaC1tc2cg5o6b6Ymk5Yiq6ZmkIgorCisjOiBidWlsdGluL2FtLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIk1hbGZvcm1lZCBpbnB1dCBsaW5lOiAnJXMnLiIKK21zZ3N0ciAi6Z2e5rOV55qE6Ly45YWl6KGM77yaJyVzJ+OAgiIKKworIzogYnVpbHRpbi9hbS5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gY29weSBub3RlcyBmcm9tICclcycgdG8gJyVzJyIKK21zZ3N0ciAi5b6eICclcycg6KSH6KO96Ki76Kej5YiwICclcycg5pmC5aSx5pWXIgorCisjOiBidWlsdGluL2FtLmM6NTM3Cittc2dpZCAiZnNlZWsgZmFpbGVkIgorbXNnc3RyICJmc2VlayDlpLHmlZciCisKKyM6IGJ1aWx0aW4vYW0uYzo3MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHBhcnNlIHBhdGNoICclcyciCittc2dzdHIgIueEoeazleino+aekOS/ruijnOaqlCAnJXMnIgorCisjOiBidWlsdGluL2FtLmM6NzkwCittc2dpZCAiT25seSBvbmUgU3RHSVQgcGF0Y2ggc2VyaWVzIGNhbiBiZSBhcHBsaWVkIGF0IG9uY2UiCittc2dzdHIgIuS4gOasoeWPquiDveacieS4gOWAiyBTdEdJVCDkv67oo5zmqpTkvYfliJfooqvmh4nnlKgiCisKKyM6IGJ1aWx0aW4vYW0uYzo4MzgKK21zZ2lkICJpbnZhbGlkIHRpbWVzdGFtcCIKK21zZ3N0ciAi54Sh5pWI55qE5pmC6ZaT5oizIgorCisjOiBidWlsdGluL2FtLmM6ODQzIGJ1aWx0aW4vYW0uYzo4NTUKK21zZ2lkICJpbnZhbGlkIERhdGUgbGluZSIKK21zZ3N0ciAi54Sh5pWI55qE5pel5pyf6KGMIgorCisjOiBidWlsdGluL2FtLmM6ODUwCittc2dpZCAiaW52YWxpZCB0aW1lem9uZSBvZmZzZXQiCittc2dzdHIgIueEoeaViOeahOaZguWNgOS9jeenu+WAvCIKKworIzogYnVpbHRpbi9hbS5jOjk0MworbXNnaWQgIlBhdGNoIGZvcm1hdCBkZXRlY3Rpb24gZmFpbGVkLiIKK21zZ3N0ciAi5L+u6KOc5qqU5qC85byP5YG15ris5aSx5pWX44CCIgorCisjOiBidWlsdGluL2FtLmM6OTQ4IGJ1aWx0aW4vY2xvbmUuYzo0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXJlY3RvcnkgJyVzJyIKK21zZ3N0ciAi5bu656uL55uu6YyEICclcycg5aSx5pWXIgorCisjOiBidWlsdGluL2FtLmM6OTUzCittc2dpZCAiRmFpbGVkIHRvIHNwbGl0IHBhdGNoZXMuIgorbXNnc3RyICLliIblibLkv67oo5zmqpTlpLHmlZfjgIIiCisKKyM6IGJ1aWx0aW4vYW0uYzoxMDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIldoZW4geW91IGhhdmUgcmVzb2x2ZWQgdGhpcyBwcm9ibGVtLCBydW4gXCIlcyAtLWNvbnRpbnVlXCIuIgorbXNnc3RyICLnlbbmgqjop6PmsbrpgJnkuIDllY/poYzvvIzln7fooYwgXCIlcyAtLWNvbnRpbnVlXCLjgIIiCisKKyM6IGJ1aWx0aW4vYW0uYzoxMDg1CisjLCBjLWZvcm1hdAorbXNnaWQgIklmIHlvdSBwcmVmZXIgdG8gc2tpcCB0aGlzIHBhdGNoLCBydW4gXCIlcyAtLXNraXBcIiBpbnN0ZWFkLiIKK21zZ3N0ciAi5aaC5p6c5oKo5oOz6KaB6Lez6YGO6YCZ5LiA5L+u6KOc5qqU77yM5YmH5Z+36KGMIFwiJXMgLS1za2lwXCLjgIIiCisKKyM6IGJ1aWx0aW4vYW0uYzoxMDg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRvIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGJyYW5jaCBhbmQgc3RvcCBwYXRjaGluZywgcnVuIFwiJXMgLS1hYm9ydFwiLiIKK21zZ3N0ciAi6Iul6KaB5b6p5Y6f6Iez5Y6f5aeL5YiG5pSv5Lim5YGc5q2i5L+u6KOc5qqU5YuV5L2c77yM5Z+36KGMIFwiJXMgLS1hYm9ydFwi44CCIgorCisjOiBidWlsdGluL2FtLmM6MTE2OQorbXNnaWQgIlBhdGNoIHNlbnQgd2l0aCBmb3JtYXQ9Zmxvd2VkOyBzcGFjZSBhdCB0aGUgZW5kIG9mIGxpbmVzIG1pZ2h0IGJlIGxvc3QuIgorbXNnc3RyICLkv67oo5zmqpTkvb/nlKggZm9ybWF0PWZsb3dlZCDmoLzlvI/lgrPpgIHvvIzooYzlsL7nmoTnqbrmoLzlj6/og73mnIPpgbrlpLHjgIIiCisKKyM6IGJ1aWx0aW4vYW0uYzoxMTk3Cittc2dpZCAiUGF0Y2ggaXMgZW1wdHkuIgorbXNnc3RyICLkv67oo5zmqpTngrrnqbrjgIIiCisKKyM6IGJ1aWx0aW4vYW0uYzoxMjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgYXV0aG9yIGxpbmUgaW4gY29tbWl0ICVzIgorbXNnc3RyICLlnKjmj5DkuqQgJXMg5Lit57y65bCR5L2c6ICF6KGMIgorCisjOiBidWlsdGluL2FtLmM6MTI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkZW50IGxpbmU6ICUuKnMiCittc2dzdHIgIueEoeaViOeahOi6q+S7veaomeiomO+8miUuKnMiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNDg0Cittc2dpZCAiUmVwb3NpdG9yeSBsYWNrcyBuZWNlc3NhcnkgYmxvYnMgdG8gZmFsbCBiYWNrIG9uIDMtd2F5IG1lcmdlLiIKK21zZ3N0ciAi54mI5pys5bqr57y65LmP5b+F6KaB55qE6LOH5paZ54mp5Lu25Lul6YCy6KGM5LiJ5pa55ZCI5L2144CCIgorCisjOiBidWlsdGluL2FtLmM6MTQ4NgorbXNnaWQgIlVzaW5nIGluZGV4IGluZm8gdG8gcmVjb25zdHJ1Y3QgYSBiYXNlIHRyZWUuLi4iCittc2dzdHIgIuS9v+eUqOe0ouW8leS+humHjeW7uuS4gOWAi++8iOS4ieaWueWQiOS9teeahO+8ieWfuuekjuebrumMhOaouS4uLiIKKworIzogYnVpbHRpbi9hbS5jOjE1MDUKK21zZ2lkICIiCisiRGlkIHlvdSBoYW5kIGVkaXQgeW91ciBwYXRjaD9cbiIKKyJJdCBkb2VzIG5vdCBhcHBseSB0byBibG9icyByZWNvcmRlZCBpbiBpdHMgaW5kZXguIgorbXNnc3RyICIiCisi5oKo5piv5ZCm5pu+5omL5YuV57eo6Lyv6YGO5oKo55qE5L+u6KOc5qqU77yfXG4iCisi54Sh5rOV5aWX55So5L+u6KOc5qqU5Yiw57Si5byV5Lit55qE6LOH5paZ54mp5Lu25LiK44CCIgorCisjOiBidWlsdGluL2FtLmM6MTUxMQorbXNnaWQgIkZhbGxpbmcgYmFjayB0byBwYXRjaGluZyBiYXNlIGFuZCAzLXdheSBtZXJnZS4uLiIKK21zZ3N0ciAi5Zue6JC95Yiw5Z+656SO54mI5pys5LiK5omT5L+u6KOc5qqU5Y+K6YCy6KGM5LiJ5pa55ZCI5L21Li4uIgorCisjOiBidWlsdGluL2FtLmM6MTUzNworbXNnaWQgIkZhaWxlZCB0byBtZXJnZSBpbiB0aGUgY2hhbmdlcy4iCittc2dzdHIgIueEoeazleWQiOS9teiuiuabtOOAgiIKKworIzogYnVpbHRpbi9hbS5jOjE1NjkKK21zZ2lkICJhcHBseWluZyB0byBhbiBlbXB0eSBoaXN0b3J5IgorbXNnc3RyICLmraPlpZfnlKjliLDkuIDlgIvnqbrmrbflj7LkuIoiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNjE2IGJ1aWx0aW4vYW0uYzoxNjIwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZXN1bWU6ICVzIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAi54Sh5rOV57m857qM77yaJXMg5LiN5a2Y5Zyo44CCIgorCisjOiBidWlsdGluL2FtLmM6MTYzOAorbXNnaWQgIkNvbW1pdCBCb2R5IGlzOiIKK21zZ3N0ciAi5o+Q5Lqk5YWn5a6554K677yaIgorCisjICDora/ogIXvvJroq4vntq3mjIHlj6XlsL7nqbrmoLwKKyMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbeV0sIFtuXSwgW2VdLCBbdl0gYW5kIFthXQorIy4gaW4geW91ciB0cmFuc2xhdGlvbi4gVGhlIHByb2dyYW0gd2lsbCBvbmx5IGFjY2VwdCBFbmdsaXNoCisjLiBpbnB1dCBhdCB0aGlzIHBvaW50LgorIy4KKyM6IGJ1aWx0aW4vYW0uYzoxNjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkFwcGx5PyBbeV1lcy9bbl1vL1tlXWRpdC9bdl1pZXcgcGF0Y2gvW2FdY2NlcHQgYWxsOiAiCittc2dzdHIgIuWll+eUqO+8n+aYr1t5XS/lkKZbbl0v57eo6LyvW2VdL+aqouimluS/ruijnOaqlFt2XS/mh4nnlKjmiYDmnIlbYV3vvJoiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNjk1IGJ1aWx0aW4vY29tbWl0LmM6Mzk0Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIGluZGV4IGZpbGUiCittc2dzdHIgIueEoeazleWvq+WFpee0ouW8leaqlOahiCIKKworIzogYnVpbHRpbi9hbS5jOjE2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlydHkgaW5kZXg6IGNhbm5vdCBhcHBseSBwYXRjaGVzIChkaXJ0eTogJXMpIgorbXNnc3RyICLpq5LntKLlvJXvvJrkuI3og73lpZfnlKjkv67oo5zmqpTvvIjpq5LmqpTmoYjvvJolc++8iSIKKworIzogYnVpbHRpbi9hbS5jOjE3MzkgYnVpbHRpbi9hbS5jOjE4MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXBwbHlpbmc6ICUuKnMiCittc2dzdHIgIuaHieeUqO+8miUuKnMiCisKKyM6IGJ1aWx0aW4vYW0uYzoxNzU2Cittc2dpZCAiTm8gY2hhbmdlcyAtLSBQYXRjaCBhbHJlYWR5IGFwcGxpZWQuIgorbXNnc3RyICLmspLmnInorormm7Qg4oCU4oCUIOS/ruijnOaqlOW3sue2k+aHieeUqOmBjuOAgiIKKworIzogYnVpbHRpbi9hbS5jOjE3NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGF0Y2ggZmFpbGVkIGF0ICVzICUuKnMiCittc2dzdHIgIuaJk+S/ruijnOaqlOWkseaVl+aWvCAlcyAlLipzIgorCisjOiBidWlsdGluL2FtLmM6MTc2NgorbXNnaWQgIlVzZSAnZ2l0IGFtIC0tc2hvdy1jdXJyZW50LXBhdGNoJyB0byBzZWUgdGhlIGZhaWxlZCBwYXRjaCIKK21zZ3N0ciAi55SoICdnaXQgYW0gLS1zaG93LWN1cnJlbnQtcGF0Y2gnIOaMh+S7pOaqouimluWkseaVl+eahOS/ruijnOaqlCIKKworIzogYnVpbHRpbi9hbS5jOjE4MTAKK21zZ2lkICIiCisiTm8gY2hhbmdlcyAtIGRpZCB5b3UgZm9yZ2V0IHRvIHVzZSAnZ2l0IGFkZCc/XG4iCisiSWYgdGhlcmUgaXMgbm90aGluZyBsZWZ0IHRvIHN0YWdlLCBjaGFuY2VzIGFyZSB0aGF0IHNvbWV0aGluZyBlbHNlXG4iCisiYWxyZWFkeSBpbnRyb2R1Y2VkIHRoZSBzYW1lIGNoYW5nZXM7IHlvdSBtaWdodCB3YW50IHRvIHNraXAgdGhpcyBwYXRjaC4iCittc2dzdHIgIiIKKyLmspLmnInorormm7Qg4oCU4oCUIOaCqOaYr+S4jeaYr+W/mOS6huWft+ihjCAnZ2l0IGFkZCfvvJ9cbiIKKyLlpoLmnpzmspLmnInku4DpurzopoHmlrDlop7liLDmmqvlrZjljYDnmoTvvIzliYflvojlj6/og73mmK/lhbblroPmj5DkuqTlt7LntpPlvJXlhaXkuobnm7jlkIznmoTorormm7TjgIJcbiIKKyLmgqjkuZ/oqLHmg7PopoHot7PpgY7pgJnlgIvkv67oo5zmqpTjgIIiCisKKyM6IGJ1aWx0aW4vYW0uYzoxODE3Cittc2dpZCAiIgorIllvdSBzdGlsbCBoYXZlIHVubWVyZ2VkIHBhdGhzIGluIHlvdXIgaW5kZXguXG4iCisiWW91IHNob3VsZCAnZ2l0IGFkZCcgZWFjaCBmaWxlIHdpdGggcmVzb2x2ZWQgY29uZmxpY3RzIHRvIG1hcmsgdGhlbSBhcyAiCisic3VjaC5cbiIKKyJZb3UgbWlnaHQgcnVuIGBnaXQgcm1gIG9uIGEgZmlsZSB0byBhY2NlcHQgXCJkZWxldGVkIGJ5IHRoZW1cIiBmb3IgaXQuIgorbXNnc3RyICIiCisi5Zyo5oKo55qE57Si5byV5Lit5LuN5a2Y5Zyo5pyq5ZCI5L2155qE6Lev5b6R44CCXG4iCisi5oKo5oeJ6Kmy5bCN5bey57aT6KGd56qB6Kej5rG655qE5q+P5LiA5YCL5qqU5qGI5Z+36KGMICdnaXQgYWRkJyDkvobmqJnoqJjlt7LntpPlrozmiJDjgIIgXG4iCisi5L2g5Y+v5Lul5bCNIFwi55Sx5LuW5YCR5Yiq6ZmkXCIg55qE5qqU5qGI5Z+36KGMIGBnaXQgcm1gIOaMh+S7pOOAgiIKKworIzogYnVpbHRpbi9hbS5jOjE5MjQgYnVpbHRpbi9hbS5jOjE5MjggYnVpbHRpbi9hbS5jOjE5NDAgYnVpbHRpbi9yZXNldC5jOjM0NgorIzogYnVpbHRpbi9yZXNldC5jOjM1NAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcycuIgorbXNnc3RyICLkuI3og73op6PmnpDnianku7YgJyVzJ+OAgiIKKworIzogYnVpbHRpbi9hbS5jOjE5NzYKK21zZ2lkICJmYWlsZWQgdG8gY2xlYW4gaW5kZXgiCittc2dzdHIgIua4heepuue0ouW8leWkseaVlyIKKworIzogYnVpbHRpbi9hbS5jOjIwMjAKK21zZ2lkICIiCisiWW91IHNlZW0gdG8gaGF2ZSBtb3ZlZCBIRUFEIHNpbmNlIHRoZSBsYXN0ICdhbScgZmFpbHVyZS5cbiIKKyJOb3QgcmV3aW5kaW5nIHRvIE9SSUdfSEVBRCIKK21zZ3N0ciAi5oKo5aW95YOP5Zyo5LiK5LiA5qyhICdhbScg5aSx5pWX5b6M56e75YuV5LqGIEhFQUTjgILmnKrpgoTljp/oh7MgT1JJR19IRUFEIgorCisjOiBidWlsdGluL2FtLmM6MjExNworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlIGZvciAtLXBhdGNoLWZvcm1hdDogJXMiCittc2dzdHIgIueEoeaViOeahCAtLXBhdGNoLWZvcm1hdCDlgLzvvJolcyIKKworIzogYnVpbHRpbi9hbS5jOjIxNTMKK21zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKK21zZ3N0ciAiZ2l0IGFtIFs86YG46aCFPl0gWyg8bWJveD4gfCA8TWFpbGRpcj4pLi4uXSIKKworIzogYnVpbHRpbi9hbS5jOjIxNTQKK21zZ2lkICJnaXQgYW0gWzxvcHRpb25zPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKK21zZ3N0ciAiZ2l0IGFtIFs86YG46aCFPl0gKC0tY29udGludWUgfCAtLXNraXAgfCAtLWFib3J0KSIKKworIzogYnVpbHRpbi9hbS5jOjIxNjAKK21zZ2lkICJydW4gaW50ZXJhY3RpdmVseSIKK21zZ3N0ciAi5Lul5LqS5YuV5byP5pa55byP5Z+36KGMIgorCisjOiBidWlsdGluL2FtLmM6MjE2MgorbXNnaWQgImhpc3RvcmljYWwgb3B0aW9uIC0tIG5vLW9wIgorbXNnc3RyICLogIHnmoTlj4Pmlbgg4oCU4oCUIOeEoeS9nOeUqCIKKworIzogYnVpbHRpbi9hbS5jOjIxNjQKK21zZ2lkICJhbGxvdyBmYWxsIGJhY2sgb24gM3dheSBtZXJnaW5nIGlmIG5lZWRlZCIKK21zZ3N0ciAi5aaC5p6c5b+F6KaB77yM5YWB6Kix5L2/55So5LiJ5pa55ZCI5L2144CCIgorCisjOiBidWlsdGluL2FtLmM6MjE2NSBidWlsdGluL2luaXQtZGIuYzo0OTQgYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo1OAorIzogYnVpbHRpbi9yZXBhY2suYzozMDQgYnVpbHRpbi9zdGFzaC5jOjgxMQorbXNnaWQgImJlIHF1aWV0IgorbXNnc3RyICLpnZzpu5jmqKHlvI8iCisKKyM6IGJ1aWx0aW4vYW0uYzoyMTY3Cittc2dpZCAiYWRkIGEgU2lnbmVkLW9mZi1ieSBsaW5lIHRvIHRoZSBjb21taXQgbWVzc2FnZSIKK21zZ3N0ciAi5Zyo5o+Q5Lqk6Kqq5piO5Lit5paw5aKe5LiA5YCLIFNpZ25lZC1vZmYtYnkg57C95ZCNIgorCisjOiBidWlsdGluL2FtLmM6MjE3MAorbXNnaWQgInJlY29kZSBpbnRvIHV0ZjggKGRlZmF1bHQpIgorbXNnc3RyICLkvb/nlKggdXRmOCDlrZflhYPpm4bvvIjpoJDoqK3vvIkiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMTcyCittc2dpZCAicGFzcyAtayBmbGFnIHRvIGdpdC1tYWlsaW5mbyIKK21zZ3N0ciAi5ZCRIGdpdC1tYWlsaW5mbyDlgrPpgZ4gLWsg5Y+D5pW4IgorCisjOiBidWlsdGluL2FtLmM6MjE3NAorbXNnaWQgInBhc3MgLWIgZmxhZyB0byBnaXQtbWFpbGluZm8iCittc2dzdHIgIuWQkSBnaXQtbWFpbGluZm8g5YKz6YGeIC1iIOWPg+aVuCIKKworIzogYnVpbHRpbi9hbS5jOjIxNzYKK21zZ2lkICJwYXNzIC1tIGZsYWcgdG8gZ2l0LW1haWxpbmZvIgorbXNnc3RyICLlkJEgZ2l0LW1haWxpbmZvIOWCs+mBniAtbSDlj4PmlbgiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMTc4Cittc2dpZCAicGFzcyAtLWtlZXAtY3IgZmxhZyB0byBnaXQtbWFpbHNwbGl0IGZvciBtYm94IGZvcm1hdCIKK21zZ3N0ciAi6Yed5bCNIG1ib3gg5qC85byP77yM5ZCRIGdpdC1tYWlsc3BsaXQg5YKz6YGeIC0ta2VlcC1jciDlj4PmlbgiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMTgxCittc2dpZCAiZG8gbm90IHBhc3MgLS1rZWVwLWNyIGZsYWcgdG8gZ2l0LW1haWxzcGxpdCBpbmRlcGVuZGVudCBvZiBhbS5rZWVwY3IiCittc2dzdHIgIuS4jeWQkSBnaXQtbWFpbHNwbGl0IOWCs+mBniAtLWtlZXAtY3Ig5Y+D5pW477yM6KaG6JOLIGFtLmtlZXBjciDnmoToqK3lrpoiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMTg0Cittc2dpZCAic3RyaXAgZXZlcnl0aGluZyBiZWZvcmUgYSBzY2lzc29ycyBsaW5lIgorbXNnc3RyICLmjajmo4Too4HliIfnt5rliY3nmoTmiYDmnInlhaflrrkiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMTg2IGJ1aWx0aW4vYW0uYzoyMTg5IGJ1aWx0aW4vYW0uYzoyMTkyIGJ1aWx0aW4vYW0uYzoyMTk1CisjOiBidWlsdGluL2FtLmM6MjE5OCBidWlsdGluL2FtLmM6MjIwMSBidWlsdGluL2FtLmM6MjIwNCBidWlsdGluL2FtLmM6MjIwNworIzogYnVpbHRpbi9hbS5jOjIyMTMKK21zZ2lkICJwYXNzIGl0IHRocm91Z2ggZ2l0LWFwcGx5IgorbXNnc3RyICLlgrPpgZ7ntaYgZ2l0LWFwcGx5IgorCisjOiBidWlsdGluL2FtLmM6MjIwMyBidWlsdGluL2NvbW1pdC5jOjEzODYgYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjczCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzYgYnVpbHRpbi9ncmVwLmM6ODgzIGJ1aWx0aW4vbWVyZ2UuYzoyNDkKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2MCBidWlsdGluL3B1bGwuYzoyMTkgYnVpbHRpbi9yZWJhc2UuYzoxNDY5CisjOiBidWlsdGluL3JlcGFjay5jOjMxNSBidWlsdGluL3JlcGFjay5jOjMxOSBidWlsdGluL3JlcGFjay5jOjMyMQorIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MCBidWlsdGluL3Nob3ctcmVmLmM6MTcyIGJ1aWx0aW4vdGFnLmM6NDAzCisjOiBwYXJzZS1vcHRpb25zLmg6MTU0IHBhcnNlLW9wdGlvbnMuaDoxNzUgcGFyc2Utb3B0aW9ucy5oOjMxNgorbXNnaWQgIm4iCittc2dzdHIgIm4iCisKKyM6IGJ1aWx0aW4vYW0uYzoyMjA5IGJ1aWx0aW4vYnJhbmNoLmM6NjYxIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzgKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1NSBidWlsdGluL3RhZy5jOjQzNyBidWlsdGluL3ZlcmlmeS10YWcuYzozOAorbXNnaWQgImZvcm1hdCIKK21zZ3N0ciAi5qC85byPIgorCisjOiBidWlsdGluL2FtLmM6MjIxMAorbXNnaWQgImZvcm1hdCB0aGUgcGF0Y2goZXMpIGFyZSBpbiIKK21zZ3N0ciAi5L+u6KOc5qqU55qE5qC85byPIgorCisjOiBidWlsdGluL2FtLmM6MjIxNgorbXNnaWQgIm92ZXJyaWRlIGVycm9yIG1lc3NhZ2Ugd2hlbiBwYXRjaCBmYWlsdXJlIG9jY3VycyIKK21zZ3N0ciAi5omT5L+u6KOc5qqU5aSx5pWX5pmC6aGv56S655qE6Yyv6Kqk6KiK5oGvIgorCisjOiBidWlsdGluL2FtLmM6MjIxOAorbXNnaWQgImNvbnRpbnVlIGFwcGx5aW5nIHBhdGNoZXMgYWZ0ZXIgcmVzb2x2aW5nIGEgY29uZmxpY3QiCittc2dzdHIgIuihneeqgeino+axuuW+jOe5vOe6jOWll+eUqOS/ruijnOaqlCIKKworIzogYnVpbHRpbi9hbS5jOjIyMjEKK21zZ2lkICJzeW5vbnltcyBmb3IgLS1jb250aW51ZSIKK21zZ3N0ciAi5ZKMIC0tY29udGludWUg5ZCM576pIgorCisjOiBidWlsdGluL2FtLmM6MjIyNAorbXNnaWQgInNraXAgdGhlIGN1cnJlbnQgcGF0Y2giCittc2dzdHIgIui3s+mBjuebruWJjeS/ruijnOaqlCIKKworIzogYnVpbHRpbi9hbS5jOjIyMjcKK21zZ2lkICJyZXN0b3JlIHRoZSBvcmlnaW5hbCBicmFuY2ggYW5kIGFib3J0IHRoZSBwYXRjaGluZyBvcGVyYXRpb24uIgorbXNnc3RyICLlvqnljp/ljp/lp4vliIbmlK/kuKbntYLmraLmiZPkv67oo5zmqpTli5XkvZzjgIIiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMjMwCittc2dpZCAiYWJvcnQgdGhlIHBhdGNoaW5nIG9wZXJhdGlvbiBidXQga2VlcCBIRUFEIHdoZXJlIGl0IGlzLiIKK21zZ3N0ciAi57WC5q2i5L+u6KOc5qqU5YuV5L2c5L2G5L+d5oyBIEhFQUQg5LiN6K6K44CCIgorCisjOiBidWlsdGluL2FtLmM6MjIzMworbXNnaWQgInNob3cgdGhlIHBhdGNoIGJlaW5nIGFwcGxpZWQuIgorbXNnc3RyICLpoa/npLrmraPlnKjlpZfnlKjnmoTkv67oo5zmqpTjgIIiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMjM3Cittc2dpZCAibGllIGFib3V0IGNvbW1pdHRlciBkYXRlIgorbXNnc3RyICLlsIfkvZzogIXml6XmnJ/kvZzngrrmj5DkuqTml6XmnJ8iCisKKyM6IGJ1aWx0aW4vYW0uYzoyMjM5Cittc2dpZCAidXNlIGN1cnJlbnQgdGltZXN0YW1wIGZvciBhdXRob3IgZGF0ZSIKK21zZ3N0ciAi55So55uu5YmN5pmC6ZaT5L2c54K65L2c6ICF5pel5pyfIgorCisjOiBidWlsdGluL2FtLmM6MjI0MSBidWlsdGluL2NvbW1pdC10cmVlLmM6MTIwIGJ1aWx0aW4vY29tbWl0LmM6MTUwNworIzogYnVpbHRpbi9tZXJnZS5jOjI4NiBidWlsdGluL3B1bGwuYzoxOTQgYnVpbHRpbi9yZWJhc2UuYzo1MDkKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUxMyBidWlsdGluL3JldmVydC5jOjExNyBidWlsdGluL3RhZy5jOjQxOAorbXNnaWQgImtleS1pZCIKK21zZ3N0ciAia2V5LWlkIgorCisjOiBidWlsdGluL2FtLmM6MjI0MiBidWlsdGluL3JlYmFzZS5jOjUxMCBidWlsdGluL3JlYmFzZS5jOjE1MTQKK21zZ2lkICJHUEctc2lnbiBjb21taXRzIgorbXNnc3RyICLkvb/nlKggR1BHIOewveWQjeaPkOS6pCIKKworIzogYnVpbHRpbi9hbS5jOjIyNDUKK21zZ2lkICIoaW50ZXJuYWwgdXNlIGZvciBnaXQtcmViYXNlKSIKK21zZ3N0ciAi77yI5YWn6YOo5L2/55So77yM55So5pa8IGdpdC1yZWJhc2XvvIkiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMjYzCittc2dpZCAiIgorIlRoZSAtYi8tLWJpbmFyeSBvcHRpb24gaGFzIGJlZW4gYSBuby1vcCBmb3IgbG9uZyB0aW1lLCBhbmRcbiIKKyJpdCB3aWxsIGJlIHJlbW92ZWQuIFBsZWFzZSBkbyBub3QgdXNlIGl0IGFueW1vcmUuIgorbXNnc3RyICIiCisi5Y+D5pW4IC1iLy0tYmluYXJ5IOW3sue2k+W+iOmVt+aZgumWk+S4jeWBmuS7u+S9leWvpuizquWLleS9nOS6hu+8jOS4puS4lOWwh+iiq+enu+mZpOOAglxuIgorIuiri+S4jeimgeWGjeS9v+eUqOWug+S6huOAgiIKKworIzogYnVpbHRpbi9hbS5jOjIyNzAKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aGUgaW5kZXgiCittc2dzdHIgIuiugOWPlue0ouW8leWkseaVlyIKKworIzogYnVpbHRpbi9hbS5jOjIyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJldmlvdXMgcmViYXNlIGRpcmVjdG9yeSAlcyBzdGlsbCBleGlzdHMgYnV0IG1ib3ggZ2l2ZW4uIgorbXNnc3RyICLkuYvliY3nmoTph43lrprln7rlupXnm67pjIQgJXMg5LuN54S25a2Y5Zyo77yM5L2G5Y275o+Q5L6b5LqGIG1ib3jjgIIiCisKKyM6IGJ1aWx0aW4vYW0uYzoyMzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJTdHJheSAlcyBkaXJlY3RvcnkgZm91bmQuXG4iCisiVXNlIFwiZ2l0IGFtIC0tYWJvcnRcIiB0byByZW1vdmUgaXQuIgorbXNnc3RyICIiCisi55m854++5LqG6Yyv6Kqk55qEICVzIOebrumMhOOAglxuIgorIuS9v+eUqCBcImdpdCBhbSAtLWFib3J0XCIg5Yiq6Zmk5a6D44CCIgorCisjOiBidWlsdGluL2FtLmM6MjMxNQorbXNnaWQgIlJlc29sdmUgb3BlcmF0aW9uIG5vdCBpbiBwcm9ncmVzcywgd2UgYXJlIG5vdCByZXN1bWluZy4iCittc2dzdHIgIuino+axuuWLleS9nOacqumAsuihjO+8jOaIkeWAkeS4jeacg+e5vOe6jOOAgiIKKworIzogYnVpbHRpbi9hbS5jOjIzMjUKK21zZ2lkICJpbnRlcmFjdGl2ZSBtb2RlIHJlcXVpcmVzIHBhdGNoZXMgb24gdGhlIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAi5LqS5YuV5byP5qih5byP6ZyA6KaB5oyH5Luk5YiX5LiK5o+Q5L6b5L+u6KOc5qqUIgorCisjOiBidWlsdGluL2FwcGx5LmM6OAorbXNnaWQgImdpdCBhcHBseSBbPG9wdGlvbnM+XSBbPHBhdGNoPi4uLl0iCittc2dzdHIgImdpdCBhcHBseSBbPOmBuOmghT5dIFs85L+u6KOc5qqUPi4uLl0iCisKKyM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjE3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgYXJjaGl2ZSBmaWxlICclcyciCittc2dzdHIgIuS4jeiDveW7uueri+atuOaqlOaqlOahiCAnJXMnIgorCisjOiBidWlsdGluL2FyY2hpdmUuYzoyMAorbXNnaWQgImNvdWxkIG5vdCByZWRpcmVjdCBvdXRwdXQiCittc2dzdHIgIuS4jeiDvemHjeWumuWQkei8uOWHuiIKKworIzogYnVpbHRpbi9hcmNoaXZlLmM6MzcKK21zZ2lkICJnaXQgYXJjaGl2ZTogUmVtb3RlIHdpdGggbm8gVVJMIgorbXNnc3RyICJnaXQgYXJjaGl2Ze+8muacquaPkOS+m+mBoOerryBVUkwiCisKKyM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjYxCittc2dpZCAiZ2l0IGFyY2hpdmU6IGV4cGVjdGVkIEFDSy9OQUssIGdvdCBhIGZsdXNoIHBhY2tldCIKK21zZ3N0ciAiZ2l0IGFyY2hpdmXvvJrmnJ/mnJvmmK8gQUNLL05BS++8jOWNu+W+l+WIsCBmbHVzaCDljIUiCisKKyM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY0CisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBhcmNoaXZlOiBOQUNLICVzIgorbXNnc3RyICJnaXQgYXJjaGl2Ze+8mk5BQ0sgJXMiCisKKyM6IGJ1aWx0aW4vYXJjaGl2ZS5jOjY1Cittc2dpZCAiZ2l0IGFyY2hpdmU6IHByb3RvY29sIGVycm9yIgorbXNnc3RyICJnaXQgYXJjaGl2Ze+8muWNlOWumumMr+iqpCIKKworIzogYnVpbHRpbi9hcmNoaXZlLmM6NjkKK21zZ2lkICJnaXQgYXJjaGl2ZTogZXhwZWN0ZWQgYSBmbHVzaCIKK21zZ3N0ciAiZ2l0IGFyY2hpdmXvvJrmh4nmnInkuIDlgIsgZmx1c2gg5YyFIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjIKK21zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1uZXh0LWFsbCBbLS1uby1jaGVja291dF0iCittc2dzdHIgImdpdCBiaXNlY3QtLWhlbHBlciAtLW5leHQtYWxsIFstLW5vLWNoZWNrb3V0XSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjIzCittc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0td3JpdGUtdGVybXMgPGJhZF90ZXJtPiA8Z29vZF90ZXJtPiIKK21zZ3N0ciAiZ2l0IGJpc2VjdC0taGVscGVyIC0td3JpdGUtdGVybXMgPOWjni3ooZPoqp4+IDzlpb0t6KGT6KqePiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI0Cittc2dpZCAiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNsZWFuLXN0YXRlIgorbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2xlYW4tc3RhdGUiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyNQorbXNnaWQgImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC1yZXNldCBbPGNvbW1pdD5dIgorbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtcmVzZXQgWzzmj5DkuqQ+XSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI2Cittc2dpZCAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC13cml0ZSBbLS1uby1sb2ddIDxzdGF0ZT4gPHJldmlzaW9uPiA8Z29vZF90ZXJtPiAiCisiPGJhZF90ZXJtPiIKK21zZ3N0ciAiIgorImdpdCBiaXNlY3QtLWhlbHBlciAtLWJpc2VjdC13cml0ZSBbLS1uby1sb2ddIDzni4DmhYs+IDzniYjmnKw+IDzlpb0t6KGT6KqePiA85aOeLeihk+iqniIKKyI+IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjcKK21zZ2lkICIiCisiZ2l0IGJpc2VjdC0taGVscGVyIC0tYmlzZWN0LWNoZWNrLWFuZC1zZXQtdGVybXMgPGNvbW1hbmQ+IDxnb29kX3Rlcm0+ICIKKyI8YmFkX3Rlcm0+IgorbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtY2hlY2stYW5kLXNldC10ZXJtcyA85oyH5LukPiA85aW9Leihk+iqnj4gPOWjni3ooZPoqp4+IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjgKK21zZ2lkICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtbmV4dC1jaGVjayA8Z29vZF90ZXJtPiA8YmFkX3Rlcm0+IFs8dGVybT5dIgorbXNnc3RyICJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtbmV4dC1jaGVjayA85aW9Leihk+iqnj4gPOWjni3ooZPoqp4+IFs86KGT6KqePl0iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyOQorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtdGVybXMgWy0tdGVybS1nb29kIHwgLS10ZXJtLW9sZCB8IC0tdGVybS1iYWQgfCAtLSIKKyJ0ZXJtLW5ld10iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3QtdGVybXMgWy0tdGVybS1nb29kIHwgLS10ZXJtLW9sZCB8IC0tdGVybS1iYWQgfCAtLSIKKyJ0ZXJtLW5ld10iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozMAorbXNnaWQgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtc3RhcnQgWy0tdGVybS17b2xkLGdvb2R9PTx0ZXJtPiAtLXRlcm0te25ldyxiYWR9IgorIj08dGVybT5dWy0tbm8tY2hlY2tvdXRdIFs8YmFkPiBbPGdvb2Q+Li4uXV0gWy0tXSBbPHBhdGhzPi4uLl0iCittc2dzdHIgIiIKKyJnaXQgYmlzZWN0LS1oZWxwZXIgLS1iaXNlY3Qtc3RhcnQgWy0tdGVybS17b2xkLGdvb2R9PTzooZPoqp4+IC0tdGVybS17bmV3LGJhZH0iCisiPTzooZPoqp4+XVstLW5vLWNoZWNrb3V0XSBbPOWjnj4gWzzlpb0+Li4uXV0gWy0tXSBbPOi3r+W+kT4uLi5dIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCB0ZXJtIgorbXNnc3RyICInJXMnIOS4jeaYr+S4gOWAi+acieaViOeahOihk+iqniIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHVzZSB0aGUgYnVpbHRpbiBjb21tYW5kICclcycgYXMgYSB0ZXJtIgorbXNnc3RyICLkuI3og73kvb/nlKjlhaflu7rmjIfku6QgJyVzJyDkvZzngrrooZPoqp4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSB0ZXJtICclcyciCittc2dzdHIgIuS4jeiDveS/ruaUueihk+iqniAnJXMnIOeahOWQq+e+qSIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjExMQorbXNnaWQgInBsZWFzZSB1c2UgdHdvIGRpZmZlcmVudCB0ZXJtcyIKK21zZ3N0ciAi6KuL5L2/55So5YWp5YCL5LiN5ZCM55qE6KGT6KqeIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTE4Cittc2dpZCAiY291bGQgbm90IG9wZW4gdGhlIGZpbGUgQklTRUNUX1RFUk1TIgorbXNnc3RyICLkuI3og73plovllZ/mqpTmoYggQklTRUNUX1RFUk1TIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIldlIGFyZSBub3QgYmlzZWN0aW5nLlxuIgorbXNnc3RyICLmiJHlgJHmspLmnInlnKjkuozliIblsIvmib7jgIJcbiIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjE2MworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIGNvbW1pdCIKK21zZ3N0ciAiJyVzJyDkuI3mmK/kuIDlgIvmnInmlYjnmoTmj5DkuqQiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoxNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvdWxkIG5vdCBjaGVjayBvdXQgb3JpZ2luYWwgSEVBRCAnJXMnLiBUcnkgJ2dpdCBiaXNlY3QgcmVzZXQgPGNvbW1pdD4nLiIKK21zZ3N0ciAi5LiN6IO957C95Ye65Y6f5aeLIEhFQUQgJyVzJ+OAguWYl+ippiAnZ2l0IGJpc2VjdCByZXNldCA85o+Q5LqkPifjgIIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIGJpc2VjdF93cml0ZSBhcmd1bWVudDogJXMiCittc2dzdHIgIuWjnueahCBiaXNlY3Rfd3JpdGUg5Y+D5pW477yaJXMiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZ2V0IHRoZSBvaWQgb2YgdGhlIHJldiAnJXMnIgorbXNnc3RyICLnhKHms5Xlj5blvpfniYjmnKwgJyVzJyDnmoTnianku7YgSUQiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qgb3BlbiB0aGUgZmlsZSAnJXMnIgorbXNnc3RyICLnhKHms5XplovllZ/mqpTmoYggJyVzJyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGNvbW1hbmQ6IHlvdSdyZSBjdXJyZW50bHkgaW4gYSAlcy8lcyBiaXNlY3QiCittc2dzdHIgIueEoeaViOeahOaMh+S7pO+8muaCqOebruWJjeato+iZleaWvOS4gOWAiyAlcy8lcyDkuozliIblsIvmib7kuK0iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICVzIGFuZCAlcyByZXZpc2lvbi5cbiIKKyJZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJXNcIiBhbmQgXCJnaXQgYmlzZWN0ICVzXCIgZm9yIHRoYXQuIgorbXNnc3RyICIiCisi5oKo6ZyA6KaB57Wm5oiR6Iez5bCR5LiA5YCLICVzIOWSjOS4gOWAiyAlcyDniYjmnKzjgIJcbiIKKyLngrrmraTmgqjlj6/ku6XnlKggXCJnaXQgYmlzZWN0ICVzXCIg5ZKMIFwiZ2l0IGJpc2VjdCAlc1wi44CCIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgbmVlZCB0byBzdGFydCBieSBcImdpdCBiaXNlY3Qgc3RhcnRcIi5cbiIKKyJZb3UgdGhlbiBuZWVkIHRvIGdpdmUgbWUgYXQgbGVhc3Qgb25lICVzIGFuZCAlcyByZXZpc2lvbi5cbiIKKyJZb3UgY2FuIHVzZSBcImdpdCBiaXNlY3QgJXNcIiBhbmQgXCJnaXQgYmlzZWN0ICVzXCIgZm9yIHRoYXQuIgorbXNnc3RyICIiCisi5oKo6ZyA6KaB5Z+36KGMIFwiZ2l0IGJpc2VjdCBzdGFydFwiIOS+humWi+Wni+OAglxuIgorIueEtuW+jOmcgOimgeaPkOS+m+aIkeiHs+WwkeS4gOWAiyAlcyDlkozkuIDlgIsgJXMg54mI5pys44CCXG4iCisi54K65q2k5oKo5Y+v5Lul55SoIFwiZ2l0IGJpc2VjdCAlc1wiIOWSjCBcImdpdCBiaXNlY3QgJXNcIiDmjIfku6TjgIIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmlzZWN0aW5nIG9ubHkgd2l0aCBhICVzIGNvbW1pdCIKK21zZ3N0ciAi5Zyo5Y+q5pyJ5LiA5YCLICVzIOaPkOS6pOeahOaDheazgeS4i+S6jOWIhuWwi+aJviIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5Y+l5bC+56m65qC8CisjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW1ldIGFuZCBbbl0gaW4geW91cgorIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAorIy4gYXQgdGhpcyBwb2ludC4KKyMuCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6MzMwCittc2dpZCAiQXJlIHlvdSBzdXJlIFtZL25dPyAiCittc2dzdHIgIuaCqOeiuuiqjeWXjltZL25d77yfICIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjM3NworbXNnaWQgIm5vIHRlcm1zIGRlZmluZWQiCittc2dzdHIgIuacquWumue+qeihk+iqniIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91ciBjdXJyZW50IHRlcm1zIGFyZSAlcyBmb3IgdGhlIG9sZCBzdGF0ZVxuIgorImFuZCAlcyBmb3IgdGhlIG5ldyBzdGF0ZS5cbiIKK21zZ3N0ciAi5oKo55uu5YmN6Yed5bCN6IiK54uA5oWL55qE6KGT6Kqe5pivICVz77yM5bCN5paw54uA5oWL55qE6KGT6Kqe5pivICVz44CCXG4iCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImludmFsaWQgYXJndW1lbnQgJXMgZm9yICdnaXQgYmlzZWN0IHRlcm1zJy5cbiIKKyJTdXBwb3J0ZWQgb3B0aW9ucyBhcmU6IC0tdGVybS1nb29kfC0tdGVybS1vbGQgYW5kIC0tdGVybS1iYWR8LS10ZXJtLW5ldy4iCittc2dzdHIgIiIKKyLmjIfku6QgJ2dpdCBiaXNlY3QgdGVybXMnIOeahOWPg+aVuCAlcyDnhKHmlYjjgIJcbiIKKyLmlK/mj7TnmoTpgbjpoIXmnInvvJotLXRlcm0tZ29vZHwtLXRlcm0tb2xkIOWSjCAtLXRlcm0tYmFkfC0tdGVybS1uZXfjgIIiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo0NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbjogJyVzJyIKK21zZ3N0ciAi5pyq6K2Y5Yil55qE6YG46aCF77yaJyVzJyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGRvZXMgbm90IGFwcGVhciB0byBiZSBhIHZhbGlkIHJldmlzaW9uIgorbXNnc3RyICInJXMnIOeci+i1t+S+huS4jeaYr+S4gOWAi+acieaViOeahOeJiOacrCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjUxMgorbXNnaWQgImJhZCBIRUFEIC0gSSBuZWVkIGEgSEVBRCIKK21zZ3N0ciAi5aOe55qEIEhFQUQgLSDmiJHpnIDopoHkuIDlgIsgSEVBRCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVja2luZyBvdXQgJyVzJyBmYWlsZWQuIFRyeSAnZ2l0IGJpc2VjdCBzdGFydCA8dmFsaWQtYnJhbmNoPicuIgorbXNnc3RyICLnsL3lh7ogJyVzJyDlpLHmlZfjgILlmJfoqaYgJ2dpdCBiaXNlY3Qgc3RhcnQgPOacieaViOWIhuaUrz4n44CCIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTQ4Cittc2dpZCAid29uJ3QgYmlzZWN0IG9uIGNnLXNlZWsnZWQgdHJlZSIKK21zZ3N0ciAi5LiN5pyD5Zyo5YGa5LqGIGNnLXNlZWsg55qE5qi55LiK5YGa5LqM5YiG5bCL5om+IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NTUxCittc2dpZCAiYmFkIEhFQUQgLSBzdHJhbmdlIHN5bWJvbGljIHJlZiIKK21zZ3N0ciAi5aOe55qEIEhFQUQgLSDlpYfmgKrnmoTnrKbomZ/lvJXnlKgiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCByZWY6ICclcyciCittc2dzdHIgIueEoeaViOeahOW8leeUqO+8miclcyciCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2MzEKK21zZ2lkICJwZXJmb3JtICdnaXQgYmlzZWN0IG5leHQnIgorbXNnc3RyICLln7fooYwgJ2dpdCBiaXNlY3QgbmV4dCciCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2MzMKK21zZ2lkICJ3cml0ZSB0aGUgdGVybXMgdG8gLmdpdC9CSVNFQ1RfVEVSTVMiCittc2dzdHIgIuWwh+ihk+iqnuWvq+WFpSAuZ2l0L0JJU0VDVF9URVJNUyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzNQorbXNnaWQgImNsZWFudXAgdGhlIGJpc2VjdGlvbiBzdGF0ZSIKK21zZ3N0ciAi5riF6Zmk5LqM5YiG5bCL5om+54uA5oWLIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjM3Cittc2dpZCAiY2hlY2sgZm9yIGV4cGVjdGVkIHJldnMiCittc2dzdHIgIuaqouafpemgkOacn+eahOeJiOacrCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjYzOQorbXNnaWQgInJlc2V0IHRoZSBiaXNlY3Rpb24gc3RhdGUiCittc2dzdHIgIua4hemZpOS6jOWIhuWwi+aJvueLgOaFiyIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0MQorbXNnaWQgIndyaXRlIG91dCB0aGUgYmlzZWN0aW9uIHN0YXRlIGluIEJJU0VDVF9MT0ciCittc2dzdHIgIuWwh+S6jOWIhuWwi+aJvueahOeLgOaFi+Wvq+WFpSBCSVNFQ1RfTE9HIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQzCittc2dpZCAiY2hlY2sgYW5kIHNldCB0ZXJtcyBpbiBhIGJpc2VjdGlvbiBzdGF0ZSIKK21zZ3N0ciAi5Zyo5LiA5YCL5LqM5YiG5bCL5om+54uA5oWL5Lit5qqi5p+l5ZKM6Kit5a6a6KGT6KqeIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQ1Cittc2dpZCAiY2hlY2sgd2hldGhlciBiYWQgb3IgZ29vZCB0ZXJtcyBleGlzdCIKK21zZ3N0ciAi5qqi5p+l5aOe55qE5oiW5aW955qE6KGT6Kqe5piv5ZCm5a2Y5ZyoIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjQ3Cittc2dpZCAicHJpbnQgb3V0IHRoZSBiaXNlY3QgdGVybXMiCittc2dzdHIgIuWIl+WNsOS6jOWIhuWwi+aJvuihk+iqniIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY0OQorbXNnaWQgInN0YXJ0IHRoZSBiaXNlY3Qgc2Vzc2lvbiIKK21zZ3N0ciAi5ZWf5YuV5LqM5YiG5bCL5om+6YGO56iLIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjUxCittc2dpZCAidXBkYXRlIEJJU0VDVF9IRUFEIGluc3RlYWQgb2YgY2hlY2tpbmcgb3V0IHRoZSBjdXJyZW50IGNvbW1pdCIKK21zZ3N0ciAi5pu05pawIEJJU0VDVF9IRUFEIOiAjOmdnuewveWHuuebruWJjeaPkOS6pCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY1MworbXNnaWQgIm5vIGxvZyBmb3IgQklTRUNUX1dSSVRFIgorbXNnc3RyICJCSVNFQ1RfV1JJVEUg54Sh5pel6KqMIgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjcwCittc2dpZCAiLS13cml0ZS10ZXJtcyByZXF1aXJlcyB0d28gYXJndW1lbnRzIgorbXNnc3RyICItLXdyaXRlLXRlcm1zIOmcgOimgeWFqeWAi+WPg+aVuCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjY3NAorbXNnaWQgIi0tYmlzZWN0LWNsZWFuLXN0YXRlIHJlcXVpcmVzIG5vIGFyZ3VtZW50cyIKK21zZ3N0ciAiLS1iaXNlY3QtY2xlYW4tc3RhdGUg5LiN5bi25Y+D5pW4IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjgxCittc2dpZCAiLS1iaXNlY3QtcmVzZXQgcmVxdWlyZXMgZWl0aGVyIG5vIGFyZ3VtZW50IG9yIGEgY29tbWl0IgorbXNnc3RyICItLWJpc2VjdC1yZXNldCDnhKHpnIDlj4PmlbjmiJbogIXpnIDopoHkuIDlgIvmj5DkuqQiCisKKyM6IGJ1aWx0aW4vYmlzZWN0LS1oZWxwZXIuYzo2ODUKK21zZ2lkICItLWJpc2VjdC13cml0ZSByZXF1aXJlcyBlaXRoZXIgNCBvciA1IGFyZ3VtZW50cyIKK21zZ3N0ciAiLS1iaXNlY3Qtd3JpdGUg6ZyA6KaBIDQg5oiWIDUg5YCL5Y+D5pW4IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6NjkxCittc2dpZCAiLS1jaGVjay1hbmQtc2V0LXRlcm1zIHJlcXVpcmVzIDMgYXJndW1lbnRzIgorbXNnc3RyICItLWNoZWNrLWFuZC1zZXQtdGVybXMg6ZyA6KaBIDMg5YCL5Y+D5pW4IgorCisjOiBidWlsdGluL2Jpc2VjdC0taGVscGVyLmM6Njk3Cittc2dpZCAiLS1iaXNlY3QtbmV4dC1jaGVjayByZXF1aXJlcyAyIG9yIDMgYXJndW1lbnRzIgorbXNnc3RyICItLWJpc2VjdC1uZXh0LWNoZWNrIOmcgOimgSAyIOaIliAzIOWAi+WPg+aVuCIKKworIzogYnVpbHRpbi9iaXNlY3QtLWhlbHBlci5jOjcwMworbXNnaWQgIi0tYmlzZWN0LXRlcm1zIHJlcXVpcmVzIDAgb3IgMSBhcmd1bWVudCIKK21zZ3N0ciAiLS1iaXNlY3QtdGVybXMg6ZyA6KaBIDAg5oiWIDEg5YCL5Y+D5pW4IgorCisjOiBidWlsdGluL2JsYW1lLmM6MzEKK21zZ2lkICJnaXQgYmxhbWUgWzxvcHRpb25zPl0gWzxyZXYtb3B0cz5dIFs8cmV2Pl0gWy0tXSA8ZmlsZT4iCittc2dzdHIgImdpdCBibGFtZSBbPOmBuOmghT5dIFs854mI5pys6YG46aCFPl0gWzzniYjmnKw+XSBbLS1dIDzmqpTmoYg+IgorCisjOiBidWlsdGluL2JsYW1lLmM6MzYKK21zZ2lkICI8cmV2LW9wdHM+IGFyZSBkb2N1bWVudGVkIGluIGdpdC1yZXYtbGlzdCgxKSIKK21zZ3N0ciAiPOeJiOacrOmBuOmghT4g55qE5qqU5qGI6KiY6YyE5ZyoIGdpdC1yZXYtbGlzdCgxKSDkuK0iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhwZWN0aW5nIGEgY29sb3I6ICVzIgorbXNnc3RyICLmnJ/mnJvkuIDlgIvpoY/oibLvvJolcyIKKworIzogYnVpbHRpbi9ibGFtZS5jOjQxNgorbXNnaWQgIm11c3QgZW5kIHdpdGggYSBjb2xvciIKK21zZ3N0ciAi5b+F6aCI5Lul5LiA5YCL6aGP6Imy57WQ5bC+IgorCisjOiBidWlsdGluL2JsYW1lLmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY29sb3IgJyVzJyBpbiBjb2xvci5ibGFtZS5yZXBlYXRlZExpbmVzIgorbXNnc3RyICLoqK3lrpogY29sb3IuYmxhbWUucmVwZWF0ZWRMaW5lcyDkuK3nmoTnhKHmlYjpoY/oibIgJyVzJyIKKworIzogYnVpbHRpbi9ibGFtZS5jOjc0NworbXNnaWQgImludmFsaWQgdmFsdWUgZm9yIGJsYW1lLmNvbG9yaW5nIgorbXNnc3RyICLoqK3lrpogYmxhbWUuY29sb3Jpbmcg5Lit55qE54Sh5pWI5Y+W5YC8IgorCisjOiBidWlsdGluL2JsYW1lLmM6ODIyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHJldmlzaW9uICVzIHRvIGlnbm9yZSIKK21zZ3N0ciAi5LiN6IO95om+5Yiw6KaB5b+955Wl55qE54mI5pysICVzIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODQ0Cittc2dpZCAiU2hvdyBibGFtZSBlbnRyaWVzIGFzIHdlIGZpbmQgdGhlbSwgaW5jcmVtZW50YWxseSIKK21zZ3N0ciAi5aKe6YeP5byP5Zyw6aGv56S655m854++55qEIGJsYW1lIOaineebriIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg0NQorbXNnaWQgIlNob3cgYmxhbmsgU0hBLTEgZm9yIGJvdW5kYXJ5IGNvbW1pdHMgKERlZmF1bHQ6IG9mZikiCittc2dzdHIgIumCiueVjOaPkOS6pOmhr+ekuuepuueahCBTSEEtMe+8iOmgkOiore+8mumXnOmWie+8iSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg0NgorbXNnaWQgIkRvIG5vdCB0cmVhdCByb290IGNvbW1pdHMgYXMgYm91bmRhcmllcyAoRGVmYXVsdDogb2ZmKSIKK21zZ3N0ciAi5LiN5oqK5qC55o+Q5Lqk5L2c54K66YKK55WM77yI6aCQ6Kit77ya6Zec6ZaJ77yJIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODQ3Cittc2dpZCAiU2hvdyB3b3JrIGNvc3Qgc3RhdGlzdGljcyIKK21zZ3N0ciAi6aGv56S65oyH5Luk5raI6ICX57Wx6KiIIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODQ4Cittc2dpZCAiRm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgorbXNnc3RyICLlvLfliLbpgLLluqbpoa/npLoiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NDkKK21zZ2lkICJTaG93IG91dHB1dCBzY29yZSBmb3IgYmxhbWUgZW50cmllcyIKK21zZ3N0ciAi6aGv56S65Yik5pa3IGJsYW1lIOaineebruS9jeenu+eahOW+l+WIhuiouuaWt+ioiuaBryIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg1MAorbXNnaWQgIlNob3cgb3JpZ2luYWwgZmlsZW5hbWUgKERlZmF1bHQ6IGF1dG8pIgorbXNnc3RyICLpoa/npLrljp/lp4vmqpTmoYjlkI3vvIjpoJDoqK3vvJroh6rli5XvvIkiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTEKK21zZ2lkICJTaG93IG9yaWdpbmFsIGxpbmVudW1iZXIgKERlZmF1bHQ6IG9mZikiCittc2dzdHIgIumhr+ekuuWOn+Wni+eahOihjOiZn++8iOmgkOiore+8mumXnOmWie+8iSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg1MgorbXNnaWQgIlNob3cgaW4gYSBmb3JtYXQgZGVzaWduZWQgZm9yIG1hY2hpbmUgY29uc3VtcHRpb24iCittc2dzdHIgIumhr+ekuueCuuS4gOWAi+mBqeWQiOapn+WZqOiugOWPlueahOagvOW8jyIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg1MworbXNnaWQgIlNob3cgcG9yY2VsYWluIGZvcm1hdCB3aXRoIHBlci1saW5lIGNvbW1pdCBpbmZvcm1hdGlvbiIKK21zZ3N0ciAi54K65q+P5LiA6KGM6aGv56S65qmf5Zmo6YGp55So55qE5o+Q5Lqk6KiK5oGvIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODU0Cittc2dpZCAiVXNlIHRoZSBzYW1lIG91dHB1dCBtb2RlIGFzIGdpdC1hbm5vdGF0ZSAoRGVmYXVsdDogb2ZmKSIKK21zZ3N0ciAi5L2/55So5ZKMIGdpdC1hbm5vdGF0ZSDnm7jlkIznmoTovLjlh7rmqKHlvI/vvIjpoJDoqK3vvJrpl5zplonvvIkiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTUKK21zZ2lkICJTaG93IHJhdyB0aW1lc3RhbXAgKERlZmF1bHQ6IG9mZikiCittc2dzdHIgIumhr+ekuuWOn+Wni+aZgumWk+aIs++8iOmgkOiore+8mumXnOmWie+8iSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg1NgorbXNnaWQgIlNob3cgbG9uZyBjb21taXQgU0hBMSAoRGVmYXVsdDogb2ZmKSIKK21zZ3N0ciAi6aGv56S66ZW355qEIFNIQTEg5o+Q5Lqk6Jmf77yI6aCQ6Kit77ya6Zec6ZaJ77yJIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODU3Cittc2dpZCAiU3VwcHJlc3MgYXV0aG9yIG5hbWUgYW5kIHRpbWVzdGFtcCAoRGVmYXVsdDogb2ZmKSIKK21zZ3N0ciAi6Zqx6JeP5L2c6ICF5ZCN5a2X5ZKM5pmC6ZaT5oiz77yI6aCQ6Kit77ya6Zec6ZaJ77yJIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODU4Cittc2dpZCAiU2hvdyBhdXRob3IgZW1haWwgaW5zdGVhZCBvZiBuYW1lIChEZWZhdWx0OiBvZmYpIgorbXNnc3RyICLpoa/npLrkvZzogIXnmoTkv6HnrrHogIzkuI3mmK/lkI3lrZfvvIjpoJDoqK3vvJrpl5zplonvvIkiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NTkKK21zZ2lkICJJZ25vcmUgd2hpdGVzcGFjZSBkaWZmZXJlbmNlcyIKK21zZ3N0ciAi5b+955Wl56m655m95beu55WwIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODYwIGJ1aWx0aW4vbG9nLmM6MTcwMgorbXNnaWQgInJldiIKK21zZ3N0ciAi54mI5pysIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODYwCittc2dpZCAiSWdub3JlIDxyZXY+IHdoZW4gYmxhbWluZyIKK21zZ3N0ciAi5Zyo5Z+36KGMIGJsYW1lIOWLleS9nOaZguW/veeVpSA854mI5pysPiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg2MQorbXNnaWQgIklnbm9yZSByZXZpc2lvbnMgZnJvbSA8ZmlsZT4iCittc2dzdHIgIuW/veeVpeS+huiHqiA85qqU5qGIPiDkuK3nmoTniYjmnKwiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjIKK21zZ2lkICJjb2xvciByZWR1bmRhbnQgbWV0YWRhdGEgZnJvbSBwcmV2aW91cyBsaW5lIGRpZmZlcmVudGx5IgorbXNnc3RyICLkvb/nlKjpoY/oibLplpPpmpTovLjlh7roiIfliY3kuIDooYzkuI3lkIznmoTph43opIflhYPoqIrmga8iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjMKK21zZ2lkICJjb2xvciBsaW5lcyBieSBhZ2UiCittc2dzdHIgIuS+neaTmuaZgumWk+iRl+iJsiIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg2NAorbXNnaWQgIlNwZW5kIGV4dHJhIGN5Y2xlcyB0byBmaW5kIGJldHRlciBtYXRjaCIKK21zZ3N0ciAi6Iqx6LK76aGN5aSW55qE5b6q55Kw5L6G5om+5Yiw5pu05aW955qE56ym5ZCIIgorCisjOiBidWlsdGluL2JsYW1lLmM6ODY1Cittc2dpZCAiVXNlIHJldmlzaW9ucyBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIGNhbGxpbmcgZ2l0LXJldi1saXN0IgorbXNnc3RyICLkvb/nlKjkvoboh6ogPOaqlOahiD4g55qE5L+u6KiC6ZuG6ICM5LiN5piv5ZG85Y+rIGdpdC1yZXYtbGlzdCIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg2NgorbXNnaWQgIlVzZSA8ZmlsZT4ncyBjb250ZW50cyBhcyB0aGUgZmluYWwgaW1hZ2UiCittc2dzdHIgIuS9v+eUqCA85qqU5qGIPiDnmoTlhaflrrnkvZzngrrmnIDntYLnmoTlnJbniYciCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjcgYnVpbHRpbi9ibGFtZS5jOjg2OAorbXNnaWQgInNjb3JlIgorbXNnc3RyICLlvpfliIYiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjcKK21zZ2lkICJGaW5kIGxpbmUgY29waWVzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgorbXNnc3RyICLmib7liLDmqpTmoYjlhaflj4rot6jmqpTmoYjnmoTooYzopIfoo70iCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjgKK21zZ2lkICJGaW5kIGxpbmUgbW92ZW1lbnRzIHdpdGhpbiBhbmQgYWNyb3NzIGZpbGVzIgorbXNnc3RyICLmib7liLDmqpTmoYjlhaflj4rot6jmqpTmoYjnmoTooYznp7vli5UiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo4NjkKK21zZ2lkICJuLG0iCittc2dzdHIgIm4sbSIKKworIzogYnVpbHRpbi9ibGFtZS5jOjg2OQorbXNnaWQgIlByb2Nlc3Mgb25seSBsaW5lIHJhbmdlIG4sbSwgY291bnRpbmcgZnJvbSAxIgorbXNnc3RyICLlj6romZXnkIbooYznr4TlnI3lnKggbiDlkowgbSDkuYvplpPnmoTvvIzlvp4gMSDplovlp4siCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzo5MjEKK21zZ2lkICItLXByb2dyZXNzIGNhbid0IGJlIHVzZWQgd2l0aCAtLWluY3JlbWVudGFsIG9yIHBvcmNlbGFpbiBmb3JtYXRzIgorbXNnc3RyICItLXByb2dyZXNzIOS4jeiDveWSjCAtLWluY3JlbWVudGFsIOaIliAtLXBvcmNlbGFpbiDlkIzmmYLkvb/nlKgiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIHN0cmluZyBpcyB1c2VkIHRvIHRlbGwgdXMgdGhlCisjLiBtYXhpbXVtIGRpc3BsYXkgd2lkdGggZm9yIGEgcmVsYXRpdmUgdGltZXN0YW1wIGluCisjLiAiZ2l0IGJsYW1lIiBvdXRwdXQuICBGb3IgQyBsb2NhbGUsICI0IHllYXJzLCAxMQorIy4gbW9udGhzIGFnbyIsIHdoaWNoIHRha2VzIDIyIHBsYWNlcywgaXMgdGhlIGxvbmdlc3QKKyMuIGFtb25nIHZhcmlvdXMgZm9ybXMgb2YgcmVsYXRpdmUgdGltZXN0YW1wcywgYnV0CisjLiB5b3VyIGxhbmd1YWdlIG1heSBuZWVkIG1vcmUgb3IgZmV3ZXIgZGlzcGxheQorIy4gY29sdW1ucy4KKyMuCisjOiBidWlsdGluL2JsYW1lLmM6OTcyCittc2dpZCAiNCB5ZWFycywgMTEgbW9udGhzIGFnbyIKK21zZ3N0ciAiNCDlubQgMTEg5YCL5pyI5YmNIgorCisjOiBidWlsdGluL2JsYW1lLmM6MTA3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lIgorbXNnaWRfcGx1cmFsICJmaWxlICVzIGhhcyBvbmx5ICVsdSBsaW5lcyIKK21zZ3N0clswXSAi5qqU5qGIICVzIOWPquaciSAlbHUg6KGMIgorbXNnc3RyWzFdICLmqpTmoYggJXMg5Y+q5pyJICVsdSDooYwiCisKKyM6IGJ1aWx0aW4vYmxhbWUuYzoxMTI1Cittc2dpZCAiQmxhbWluZyBsaW5lcyIKK21zZ3N0ciAi6L+96Lmk56iL5byP56K86KGMIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjI5Cittc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSBbLXIgfCAtYV0gWy0tbWVyZ2VkIHwgLS1uby1tZXJnZWRdIgorbXNnc3RyICJnaXQgYnJhbmNoIFs86YG46aCFPl0gWy1yIHwgLWFdIFstLW1lcmdlZCB8IC0tbm8tbWVyZ2VkXSIKKworIzogYnVpbHRpbi9icmFuY2guYzozMAorbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gWy1sXSBbLWZdIDxicmFuY2gtbmFtZT4gWzxzdGFydC1wb2ludD5dIgorbXNnc3RyICJnaXQgYnJhbmNoIFs86YG46aCFPl0gWy1sXSBbLWZdIDzliIbmlK/lkI0+IFs86LW35aeL6buePl0iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzEKK21zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstcl0gKC1kIHwgLUQpIDxicmFuY2gtbmFtZT4uLi4iCittc2dzdHIgImdpdCBicmFuY2ggWzzpgbjpoIU+XSBbLXJdICgtZCB8IC1EKSA85YiG5pSv5ZCNPi4uLiIKKworIzogYnVpbHRpbi9icmFuY2guYzozMgorbXNnaWQgImdpdCBicmFuY2ggWzxvcHRpb25zPl0gKC1tIHwgLU0pIFs8b2xkLWJyYW5jaD5dIDxuZXctYnJhbmNoPiIKK21zZ3N0ciAiZ2l0IGJyYW5jaCBbPOmBuOmghT5dICgtbSB8IC1NKSBbPOiIiuWIhuaUrz5dIDzmlrDliIbmlK8+IgorCisjOiBidWlsdGluL2JyYW5jaC5jOjMzCittc2dpZCAiZ2l0IGJyYW5jaCBbPG9wdGlvbnM+XSAoLWMgfCAtQykgWzxvbGQtYnJhbmNoPl0gPG5ldy1icmFuY2g+IgorbXNnc3RyICJnaXQgYnJhbmNoIFs86YG46aCFPl0gKC1jIHwgLUMpIFs86ICB5YiG5pSvPl0gPOaWsOWIhuaUrz4iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzQKK21zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1wb2ludHMtYXRdIgorbXNnc3RyICJnaXQgYnJhbmNoIFs86YG46aCFPl0gWy1yIHwgLWFdIFstLXBvaW50cy1hdF0iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MzUKK21zZ2lkICJnaXQgYnJhbmNoIFs8b3B0aW9ucz5dIFstciB8IC1hXSBbLS1mb3JtYXRdIgorbXNnc3RyICJnaXQgYnJhbmNoIFs86YG46aCFPl0gWy1yIHwgLWFdIFstLWZvcm1hdF0iCisKKyMgIOitr+iAhe+8muS/neaMgeWOn+aPm+ihjOagvOW8j++8jOWcqOi8uOWHuuaZgiAlcyDnmoTmm7/ku6PlhaflrrnmnIPorpPlrZfkuLLororplbcKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGhhcyBiZWVuIG1lcmdlZCB0b1xuIgorIiAgICAgICAgICclcycsIGJ1dCBub3QgeWV0IG1lcmdlZCB0byBIRUFELiIKK21zZ3N0ciAiIgorIuWwh+imgeWIqumZpOeahOWIhuaUryAnJXMnIOW3sue2k+iiq+WQiOS9teWIsFxuIgorIiAgICAgICAgICclcyfvvIzkvYbmnKrlkIjkvbXliLAgSEVBROOAgiIKKworIyAg6K2v6ICF77ya5L+d5oyB5Y6f5o+b6KGM5qC85byP77yM5Zyo6Ly45Ye65pmCICVzIOeahOabv+S7o+WFp+Wuueacg+iuk+Wtl+S4suiuiumVtworIzogYnVpbHRpbi9icmFuY2guYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5vdCBkZWxldGluZyBicmFuY2ggJyVzJyB0aGF0IGlzIG5vdCB5ZXQgbWVyZ2VkIHRvXG4iCisiICAgICAgICAgJyVzJywgZXZlbiB0aG91Z2ggaXQgaXMgbWVyZ2VkIHRvIEhFQUQuIgorbXNnc3RyICIiCisi5Lim5pyq5Yiq6Zmk5YiG5pSvICclcyfvvIwg6ZuW54S25a6D5bey57aT5ZCI5L215YiwIEhFQUTvvIxcbiIKKyIgICAgICAgICDnhLbogIzljbvlsJrmnKrooqvlkIjkvbXliLDliIbmlK8gJyVzJyDjgIIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgJyVzJyIKK21zZ3N0ciAi54Sh5rOV5p+l6KmiICclcycg5oyH5ZCR55qE5o+Q5Lqk54mp5Lu2IgorCisjOiBidWlsdGluL2JyYW5jaC5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGJyYW5jaCAnJXMnIGlzIG5vdCBmdWxseSBtZXJnZWQuXG4iCisiSWYgeW91IGFyZSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBpdCwgcnVuICdnaXQgYnJhbmNoIC1EICVzJy4iCittc2dzdHIgIiIKKyLliIbmlK8gJyVzJyDmspLmnInlrozlhajlkIjkvbXjgIJcbiIKKyLlpoLmnpzmgqjnorroqo3opoHliKrpmaTlroPvvIzln7fooYwgJ2dpdCBicmFuY2ggLUQgJXMn44CCIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjE4OQorbXNnaWQgIlVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCittc2dzdHIgIuabtOaWsOioreWumuaqlOahiOWkseaVlyIKKworIzogYnVpbHRpbi9icmFuY2guYzoyMjAKK21zZ2lkICJjYW5ub3QgdXNlIC1hIHdpdGggLWQiCittc2dzdHIgIuS4jeiDveWwhyAtYSDlkowgLWQg5ZCM5pmC5L2/55SoIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjIyNgorbXNnaWQgIkNvdWxkbid0IGxvb2sgdXAgY29tbWl0IG9iamVjdCBmb3IgSEVBRCIKK21zZ3N0ciAi54Sh5rOV5p+l6KmiIEhFQUQg5oyH5ZCR55qE5o+Q5Lqk54mp5Lu2IgorCisjOiBidWlsdGluL2JyYW5jaC5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZGVsZXRlIGJyYW5jaCAnJXMnIGNoZWNrZWQgb3V0IGF0ICclcyciCittc2dzdHIgIueEoeazleWIqumZpOewveWHuuaWvCAnJTIkcycg55qE5YiG5pSvICclMSRzJ+OAgiIKKworIzogYnVpbHRpbi9icmFuY2guYzoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnJXMnIG5vdCBmb3VuZC4iCittc2dzdHIgIuacquiDveaJvuWIsOmBoOerr+i/vei5pOWIhuaUryAnJXMn44CCIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJicmFuY2ggJyVzJyBub3QgZm91bmQuIgorbXNnc3RyICLliIbmlK8gJyVzJyDmnKrnmbznj77jgIIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkVycm9yIGRlbGV0aW5nIHJlbW90ZS10cmFja2luZyBicmFuY2ggJyVzJyIKK21zZ3N0ciAi54Sh5rOV5Yiq6Zmk6YGg56uv6L+96Lmk5YiG5pSvICclcyciCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6MjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkVycm9yIGRlbGV0aW5nIGJyYW5jaCAnJXMnIgorbXNnc3RyICLnhKHms5XliKrpmaTliIbmlK8gJyVzJyIKKworIzogYnVpbHRpbi9icmFuY2guYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGVsZXRlZCByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICVzICh3YXMgJXMpLlxuIgorbXNnc3RyICLlt7LliKrpmaTpgaDnq6/ov73ouaTliIbmlK8gJXPvvIjmm77ngrogJXPvvInjgIJcbiIKKworIzogYnVpbHRpbi9icmFuY2guYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGVsZXRlZCBicmFuY2ggJXMgKHdhcyAlcykuXG4iCittc2dzdHIgIuW3suWIqumZpOWIhuaUryAlc++8iOabvueCuiAlc++8ieOAglxuIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQyOSBidWlsdGluL3RhZy5jOjYxCittc2dpZCAidW5hYmxlIHRvIHBhcnNlIGZvcm1hdCBzdHJpbmciCittc2dzdHIgIuS4jeiDveino+aekOagvOW8j+WMluWtl+S4siIKKworIzogYnVpbHRpbi9icmFuY2guYzo0NjAKK21zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSBIRUFEIgorbXNnc3RyICLkuI3og73op6PmnpAgSEVBRCDmj5DkuqQiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkhFQUQgKCVzKSBwb2ludHMgb3V0c2lkZSBvZiByZWZzL2hlYWRzLyIKK21zZ3N0ciAiSEVBRCAoJXMpIOaMh+WQkSByZWZzL2hlYWRzLyDkuYvlpJYiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCAlcyBpcyBiZWluZyByZWJhc2VkIGF0ICVzIgorbXNnc3RyICLliIbmlK8gJXMg5q2j6KKr6YeN5a6a5Z+65bqV5YiwICVzIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJCcmFuY2ggJXMgaXMgYmVpbmcgYmlzZWN0ZWQgYXQgJXMiCittc2dzdHIgIuWIhuaUryAlcyDmraPooqvkuozliIblsIvmib7mlrwgJXMiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTAyCittc2dpZCAiY2Fubm90IGNvcHkgdGhlIGN1cnJlbnQgYnJhbmNoIHdoaWxlIG5vdCBvbiBhbnkuIgorbXNnc3RyICLnhKHms5XopIfoo73nm67liY3liIbmlK/lm6DngrrkuI3omZXmlrzku7vkvZXliIbmlK/kuIrjgIIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTA0Cittc2dpZCAiY2Fubm90IHJlbmFtZSB0aGUgY3VycmVudCBicmFuY2ggd2hpbGUgbm90IG9uIGFueS4iCittc2dzdHIgIueEoeazlemHjeaWsOWRveWQjeebruWJjeWIhuaUr+WboOeCuuS4jeiZleaWvOS7u+S9leWIhuaUr+S4iuOAgiIKKworIzogYnVpbHRpbi9icmFuY2guYzo1MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBicmFuY2ggbmFtZTogJyVzJyIKK21zZ3N0ciAi54Sh5pWI55qE5YiG5pSv5ZCN77yaJyVzJyIKKworIzogYnVpbHRpbi9icmFuY2guYzo1NDIKK21zZ2lkICJCcmFuY2ggcmVuYW1lIGZhaWxlZCIKK21zZ3N0ciAi5YiG5pSv6YeN5paw5ZG95ZCN5aSx5pWXIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjU0NAorbXNnaWQgIkJyYW5jaCBjb3B5IGZhaWxlZCIKK21zZ3N0ciAi5YiG5pSv6KSH6KO95aSx5pWXIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgY29weSBvZiBhIG1pc25hbWVkIGJyYW5jaCAnJXMnIgorbXNnc3RyICLlt7LngrrpjK/oqqTlkb3lkI3nmoTliIbmlK8gJyVzJyDlu7rnq4vkuobkuIDlgIvlia/mnKwiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbmFtZWQgYSBtaXNuYW1lZCBicmFuY2ggJyVzJyBhd2F5IgorbXNnc3RyICLlt7LlsIfpjK/oqqTlkb3lkI3nmoTliIbmlK8gJyVzJyDph43mlrDlkb3lkI0iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyYW5jaCByZW5hbWVkIHRvICVzLCBidXQgSEVBRCBpcyBub3QgdXBkYXRlZCEiCittc2dzdHIgIuWIhuaUr+mHjeaWsOWRveWQjeeCuiAlc++8jOS9hiBIRUFEIOaykuacieabtOaWsO+8gSIKKworIzogYnVpbHRpbi9icmFuY2guYzo1NjYKK21zZ2lkICJCcmFuY2ggaXMgcmVuYW1lZCwgYnV0IHVwZGF0ZSBvZiBjb25maWctZmlsZSBmYWlsZWQiCittc2dzdHIgIuWIhuaUr+iiq+mHjeaWsOWRveWQje+8jOS9huabtOaWsOioreWumuaqlOahiOWkseaVlyIKKworIzogYnVpbHRpbi9icmFuY2guYzo1NjgKK21zZ2lkICJCcmFuY2ggaXMgY29waWVkLCBidXQgdXBkYXRlIG9mIGNvbmZpZy1maWxlIGZhaWxlZCIKK21zZ3N0ciAi5YiG5pSv5bey6KSH6KO977yM5L2G5pu05paw6Kit5a6a5qqU5qGI5aSx5pWXIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGxlYXNlIGVkaXQgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgYnJhbmNoXG4iCisiICAlc1xuIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIHN0cmlwcGVkLlxuIgorbXNnc3RyICIiCisi6KuL57eo6Lyv5YiG5pSv55qE5o+P6L+wXG4iCisiICAlc1xuIgorIuS7pSAnJWMnIOmWi+mgreeahOihjOWwh+iiq+mBjua/vuOAglxuIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYxOAorbXNnaWQgIkdlbmVyaWMgb3B0aW9ucyIKK21zZ3N0ciAi6YCa55So6YG46aCFIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYyMAorbXNnaWQgInNob3cgaGFzaCBhbmQgc3ViamVjdCwgZ2l2ZSB0d2ljZSBmb3IgdXBzdHJlYW0gYnJhbmNoIgorbXNnc3RyICLpoa/npLrpm5zmuYrlgLzlkozkuLvpoYzvvIzoi6Xlj4Pmlbjlh7rnj77lhanmrKHliYfpoa/npLrkuIrmuLjliIbmlK8iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjIxCittc2dpZCAic3VwcHJlc3MgaW5mb3JtYXRpb25hbCBtZXNzYWdlcyIKK21zZ3N0ciAi5LiN6aGv56S66KiK5oGvIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYyMgorbXNnaWQgInNldCB1cCB0cmFja2luZyBtb2RlIChzZWUgZ2l0LXB1bGwoMSkpIgorbXNnc3RyICLoqK3lrprov73ouaTmqKHlvI/vvIjlj4PoposgZ2l0LXB1bGwoMSnvvIkiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI0Cittc2dpZCAiZG8gbm90IHVzZSIKK21zZ3N0ciAi5LiN6KaB5L2/55SoIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYyNiBidWlsdGluL3JlYmFzZS5jOjUwNQorbXNnaWQgInVwc3RyZWFtIgorbXNnc3RyICLkuIrmuLgiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI2Cittc2dpZCAiY2hhbmdlIHRoZSB1cHN0cmVhbSBpbmZvIgorbXNnc3RyICLmlLnororkuIrmuLjoqIrmga8iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjI3CisjfCBtc2dpZCAiVW5zZXQgdGhlIHVwc3RyZWFtIGluZm8iCittc2dpZCAidW5zZXQgdGhlIHVwc3RyZWFtIGluZm8iCittc2dzdHIgIuWPlua2iOS4iua4uOizh+ioiuioreWumiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MjgKK21zZ2lkICJ1c2UgY29sb3JlZCBvdXRwdXQiCittc2dzdHIgIuS9v+eUqOW9qeiJsui8uOWHuiIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MjkKK21zZ2lkICJhY3Qgb24gcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgorbXNnc3RyICLkvZznlKjmlrzpgaDnq6/ov73ouaTliIbmlK8iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjMxIGJ1aWx0aW4vYnJhbmNoLmM6NjMzCittc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAi5Y+q5YiX5Y2w5YyF5ZCr6Kmy5o+Q5Lqk55qE5YiG5pSvIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjYzMiBidWlsdGluL2JyYW5jaC5jOjYzNAorbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBkb24ndCBjb250YWluIHRoZSBjb21taXQiCittc2dzdHIgIuWPquWIl+WNsOS4jeWMheWQq+ipsuaPkOS6pOeahOWIhuaUryIKKworIzogYnVpbHRpbi9icmFuY2guYzo2MzcKK21zZ2lkICJTcGVjaWZpYyBnaXQtYnJhbmNoIGFjdGlvbnM6IgorbXNnc3RyICLlhbfpq5TnmoQgZ2l0LWJyYW5jaCDli5XkvZzvvJoiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjM4Cittc2dpZCAibGlzdCBib3RoIHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCittc2dzdHIgIuWIl+WHuumBoOerr+i/vei5pOWPiuacrOapn+WIhuaUryIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NDAKK21zZ2lkICJkZWxldGUgZnVsbHkgbWVyZ2VkIGJyYW5jaCIKK21zZ3N0ciAi5Yiq6Zmk5a6M5YWo5ZCI5L2155qE5YiG5pSvIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY0MQorbXNnaWQgImRlbGV0ZSBicmFuY2ggKGV2ZW4gaWYgbm90IG1lcmdlZCkiCittc2dzdHIgIuWIqumZpOWIhuaUr++8iOWNs+S9v+aykuacieWQiOS9te+8iSIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NDIKK21zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCBhbmQgaXRzIHJlZmxvZyIKK21zZ3N0ciAi56e75YuVL+mHjeaWsOWRveWQjeS4gOWAi+WIhuaUr++8jOS7peWPiuWug+eahOW8leeUqOaXpeiqjCIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NDMKK21zZ2lkICJtb3ZlL3JlbmFtZSBhIGJyYW5jaCwgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgorbXNnc3RyICLnp7vli5Uv6YeN5paw5ZG95ZCN5LiA5YCL5YiG5pSv77yM5Y2z5L2/55uu5qiZ5bey5a2Y5ZyoIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NAorbXNnaWQgImNvcHkgYSBicmFuY2ggYW5kIGl0cyByZWZsb2ciCittc2dzdHIgIuikh+ijveS4gOWAi+WIhuaUr+WSjOWug+eahOW8leeUqOaXpeiqjCIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NDUKK21zZ2lkICJjb3B5IGEgYnJhbmNoLCBldmVuIGlmIHRhcmdldCBleGlzdHMiCittc2dzdHIgIuikh+ijveS4gOWAi+WIhuaUr++8jOWNs+S9v+ebruaomeW3suWtmOWcqCIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NDYKK21zZ2lkICJsaXN0IGJyYW5jaCBuYW1lcyIKK21zZ3N0ciAi5YiX5Ye65YiG5pSv5ZCNIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY0NworbXNnaWQgInNob3cgY3VycmVudCBicmFuY2ggbmFtZSIKK21zZ3N0ciAi6aGv56S655uu5YmN5YiG5pSv5ZCNIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY0OAorbXNnaWQgImNyZWF0ZSB0aGUgYnJhbmNoJ3MgcmVmbG9nIgorbXNnc3RyICLlu7rnq4vliIbmlK/nmoTlvJXnlKjml6XoqowiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUwCittc2dpZCAiZWRpdCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBicmFuY2giCittc2dzdHIgIuaomeiomOWIhuaUr+eahOaPj+i/sCIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NTEKK21zZ2lkICJmb3JjZSBjcmVhdGlvbiwgbW92ZS9yZW5hbWUsIGRlbGV0aW9uIgorbXNnc3RyICLlvLfliLblu7rnq4vjgIHnp7vli5Uv6YeN5paw5ZG95ZCN44CB5Yiq6ZmkIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjY1MgorbXNnaWQgInByaW50IG9ubHkgYnJhbmNoZXMgdGhhdCBhcmUgbWVyZ2VkIgorbXNnc3RyICLlj6rliJfljbDlt7LntpPlkIjkvbXnmoTliIbmlK8iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjUzCittc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgorbXNnc3RyICLlj6rliJfljbDlsJrmnKrlkIjkvbXnmoTliIbmlK8iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU0Cittc2dpZCAibGlzdCBicmFuY2hlcyBpbiBjb2x1bW5zIgorbXNnc3RyICLku6XliJfnmoTmlrnlvI/poa/npLrliIbmlK8iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU3IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDIgYnVpbHRpbi9ub3Rlcy5jOjQxNQorIzogYnVpbHRpbi9ub3Rlcy5jOjQxOCBidWlsdGluL25vdGVzLmM6NTgxIGJ1aWx0aW4vbm90ZXMuYzo1ODQKKyM6IGJ1aWx0aW4vdGFnLmM6NDMzCittc2dpZCAib2JqZWN0IgorbXNnc3RyICLnianku7YiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjU4Cittc2dpZCAicHJpbnQgb25seSBicmFuY2hlcyBvZiB0aGUgb2JqZWN0IgorbXNnc3RyICLlj6rliJfljbDmjIflkJHoqbLnianku7bnmoTliIbmlK8iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NjYwIGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDggYnVpbHRpbi90YWcuYzo0NDAKK21zZ2lkICJzb3J0aW5nIGFuZCBmaWx0ZXJpbmcgYXJlIGNhc2UgaW5zZW5zaXRpdmUiCittc2dzdHIgIuaOkuW6j+WSjOmBjua/vuWxrOaWvOWkp+Wwj+Wvq+S4jeaVj+aEnyIKKworIzogYnVpbHRpbi9icmFuY2guYzo2NjEgYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozOCBidWlsdGluL3RhZy5jOjQzOAorIzogYnVpbHRpbi92ZXJpZnktdGFnLmM6MzgKK21zZ2lkICJmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0IgorbXNnc3RyICLovLjlh7rmoLzlvI8iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Njg0IGJ1aWx0aW4vY2xvbmUuYzo3ODQKK21zZ2lkICJIRUFEIG5vdCBmb3VuZCBiZWxvdyByZWZzL2hlYWRzISIKK21zZ3N0ciAiSEVBRCDmspLmnInkvY3mlrwgL3JlZnMvaGVhZHMg5LmL5LiL77yBIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjcwOAorbXNnaWQgIi0tY29sdW1uIGFuZCAtLXZlcmJvc2UgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiLS1jb2x1bW4g5ZKMIC0tdmVyYm9zZSDkuI3nm7jlrrkiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzIzIGJ1aWx0aW4vYnJhbmNoLmM6Nzc3IGJ1aWx0aW4vYnJhbmNoLmM6Nzg2Cittc2dpZCAiYnJhbmNoIG5hbWUgcmVxdWlyZWQiCittc2dzdHIgIuW/hemgiOaPkOS+m+WIhuaUr+WQjSIKKworIzogYnVpbHRpbi9icmFuY2guYzo3NTMKK21zZ2lkICJDYW5ub3QgZ2l2ZSBkZXNjcmlwdGlvbiB0byBkZXRhY2hlZCBIRUFEIgorbXNnc3RyICLkuI3og73lkJHliIbpm6LplovpoK3mjIfmqJnmj5Dkvpvmj4/ov7AiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6NzU4Cittc2dpZCAiY2Fubm90IGVkaXQgZGVzY3JpcHRpb24gb2YgbW9yZSB0aGFuIG9uZSBicmFuY2giCittc2dzdHIgIuS4jeiDveeCuuS4gOWAi+S7peS4iueahOWIhuaUr+e3qOi8r+aPj+i/sCIKKworIzogYnVpbHRpbi9icmFuY2guYzo3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gY29tbWl0IG9uIGJyYW5jaCAnJXMnIHlldC4iCittc2dzdHIgIuWIhuaUryAnJXMnIOWwmueEoeaPkOS6pOOAgiIKKworIzogYnVpbHRpbi9icmFuY2guYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gYnJhbmNoIG5hbWVkICclcycuIgorbXNnc3RyICLmspLmnInliIbmlK8gJyVzJ+OAgiIKKworIzogYnVpbHRpbi9icmFuY2guYzo3ODMKK21zZ2lkICJ0b28gbWFueSBicmFuY2hlcyBmb3IgYSBjb3B5IG9wZXJhdGlvbiIKK21zZ3N0ciAi54K66KSH6KO95YuV5L2c5o+Q5L6b5LqG5aSq5aSa55qE5YiG5pSv5ZCNIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjc5MgorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyBmb3IgYSByZW5hbWUgb3BlcmF0aW9uIgorbXNnc3RyICLngrrph43mlrDlkb3lkI3li5XkvZzmj5DkvpvkuoblpKrlpJrnmoTlj4PmlbgiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6Nzk3Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIHRvIHNldCBuZXcgdXBzdHJlYW0iCittc2dzdHIgIueCuuioreWumuaWsOS4iua4uOaPkOS+m+S6huWkquWkmueahOWPg+aVuCIKKworIzogYnVpbHRpbi9icmFuY2guYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvdWxkIG5vdCBzZXQgdXBzdHJlYW0gb2YgSEVBRCB0byAlcyB3aGVuIGl0IGRvZXMgbm90IHBvaW50IHRvIGFueSBicmFuY2guIgorbXNnc3RyICLnhKHms5XoqK3lrpogSEVBRCDnmoTkuIrmuLjngrogJXPvvIzlm6DngrogSEVBRCDmspLmnInmjIflkJHku7vkvZXliIbmlK/jgIIiCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODA0IGJ1aWx0aW4vYnJhbmNoLmM6ODI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Y2ggYnJhbmNoICclcyciCittc2dzdHIgIuaykuacieatpOWIhuaUryAnJXMnIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjgwOAorIywgYy1mb3JtYXQKK21zZ2lkICJicmFuY2ggJyVzJyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi5YiG5pSvICclcycg5LiN5a2Y5ZyoIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjgyMQorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyB0byB1bnNldCB1cHN0cmVhbSIKK21zZ3N0ciAi54K65Y+W5raI5LiK5ri46Kit5a6a5YuV5L2c5o+Q5L6b5LqG5aSq5aSa55qE5Y+D5pW4IgorCisjOiBidWlsdGluL2JyYW5jaC5jOjgyNQorbXNnaWQgImNvdWxkIG5vdCB1bnNldCB1cHN0cmVhbSBvZiBIRUFEIHdoZW4gaXQgZG9lcyBub3QgcG9pbnQgdG8gYW55IGJyYW5jaC4iCittc2dzdHIgIueEoeazleWPlua2iCBIRUFEIOeahOS4iua4uOioreWumuWboOeCuuWug+aykuacieaMh+WQkeS4gOWAi+WIhuaUryIKKworIzogYnVpbHRpbi9icmFuY2guYzo4MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJhbmNoICclcycgaGFzIG5vIHVwc3RyZWFtIGluZm9ybWF0aW9uIgorbXNnc3RyICLliIbmlK8gJyVzJyDmspLmnInkuIrmuLjoqIrmga8iCisKKyM6IGJ1aWx0aW4vYnJhbmNoLmM6ODQxCittc2dpZCAiIgorIlRoZSAtYSwgYW5kIC1yLCBvcHRpb25zIHRvICdnaXQgYnJhbmNoJyBkbyBub3QgdGFrZSBhIGJyYW5jaCBuYW1lLlxuIgorIkRpZCB5b3UgbWVhbiB0byB1c2U6IC1hfC1yIC0tbGlzdCA8cGF0dGVybj4/IgorbXNnc3RyICIiCisiJ2dpdCBicmFuY2gnIOeahCAtYSDlkowgLXIg6YG46aCF5LiN5bi25LiA5YCL5YiG5pSv5ZCN44CCXG4iCisi5oKo5piv5ZCm5oOz6KaB5L2/55So77yaLWF8LXIgLS1saXN0IDzmqKHlvI8+77yfIgorCisjOiBidWlsdGluL2JyYW5jaC5jOjg0NQorbXNnaWQgIiIKKyJ0aGUgJy0tc2V0LXVwc3RyZWFtJyBvcHRpb24gaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gUGxlYXNlIHVzZSAnLS10cmFjaycgb3IgIgorIictLXNldC11cHN0cmVhbS10bycgaW5zdGVhZC4iCittc2dzdHIgIuS4jeWGjeaUr+aPtOmBuOmghSAnLS1zZXQtdXBzdHJlYW0n44CC6KuL5L2/55SoICctLXRyYWNrJyDmiJYgJy0tc2V0LXVwc3RyZWFtLXRvJ+OAgiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxNSBidWlsdGluL2J1bmRsZS5jOjIzCisjfCBtc2dpZCAiZ2l0IHJlbW90ZSBhZGQgWzxvcHRpb25zPl0gPG5hbWU+IDx1cmw+IgorbXNnaWQgImdpdCBidW5kbGUgY3JlYXRlIFs8b3B0aW9ucz5dIDxmaWxlPiA8Z2l0LXJldi1saXN0IGFyZ3M+IgorbXNnc3RyICJnaXQgYnVuZGxlIGNyZWF0ZSBbPOmBuOmghT5dIDzmqpTmoYg+IDxnaXQtcmV2LWxpc3Qg5Y+D5pW4PiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxNiBidWlsdGluL2J1bmRsZS5jOjI4CisjfCBtc2dpZCAiZ2l0IHJtIFs8b3B0aW9ucz5dIFstLV0gPGZpbGU+Li4uIgorbXNnaWQgImdpdCBidW5kbGUgdmVyaWZ5IFs8b3B0aW9ucz5dIDxmaWxlPiIKK21zZ3N0ciAiZ2l0IGJ1bmRsZSB2ZXJpZnkgWzzpgbjpoIU+XSA85qqU5qGIPiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxNyBidWlsdGluL2J1bmRsZS5jOjMzCittc2dpZCAiZ2l0IGJ1bmRsZSBsaXN0LWhlYWRzIDxmaWxlPiBbPHJlZm5hbWU+Li4uXSIKK21zZ3N0ciAiZ2l0IGJ1bmRsZSBsaXN0LWhlYWRzIDzmqpTmoYg+IFs85Y+D6ICD5ZCN56ixPi4uLl0iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6MTggYnVpbHRpbi9idW5kbGUuYzozOAorbXNnaWQgImdpdCBidW5kbGUgdW5idW5kbGUgPGZpbGU+IFs8cmVmbmFtZT4uLi5dIgorbXNnc3RyICJnaXQgYnVuZGxlIHVuYnVuZGxlIDzmqpTmoYg+IFs85Y+D6ICD5ZCN56ixPi4uLl0iCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NjYgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjI4Cittc2dpZCAiZG8gbm90IHNob3cgcHJvZ3Jlc3MgbWV0ZXIiCittc2dzdHIgIuS4jemhr+ekuumAsuW6puihqCIKKworIzogYnVpbHRpbi9idW5kbGUuYzo2OCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzAKK21zZ2lkICJzaG93IHByb2dyZXNzIG1ldGVyIgorbXNnc3RyICLpoa/npLrpgLLluqbooagiCisKKyM6IGJ1aWx0aW4vYnVuZGxlLmM6NzAgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjMyCittc2dpZCAic2hvdyBwcm9ncmVzcyBtZXRlciBkdXJpbmcgb2JqZWN0IHdyaXRpbmcgcGhhc2UiCittc2dzdHIgIuWcqOeJqeS7tuWvq+WFpemajuautemhr+ekuumAsuW6puihqCIKKworIzogYnVpbHRpbi9idW5kbGUuYzo3MyBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyMzUKK21zZ2lkICJzaW1pbGFyIHRvIC0tYWxsLXByb2dyZXNzIHdoZW4gcHJvZ3Jlc3MgbWV0ZXIgaXMgc2hvd24iCittc2dzdHIgIueVtumAsuW6puihqOmhr+ekuuaZgumhnuS8vOaWvCAtLWFsbC1wcm9ncmVzcyIKKworIzogYnVpbHRpbi9idW5kbGUuYzo5MworbXNnaWQgIk5lZWQgYSByZXBvc2l0b3J5IHRvIGNyZWF0ZSBhIGJ1bmRsZS4iCittc2dzdHIgIumcgOimgeS4gOWAi+eJiOacrOW6q+S+huW7uueri+WMheOAgiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxMDQKKyN8IG1zZ2lkICJkbyBub3Qgc2hvdyBwZWVsZWQgdGFncyIKK21zZ2lkICJkbyBub3Qgc2hvdyBidW5kbGUgZGV0YWlscyIKK21zZ3N0ciAi5LiN6aGv56S65YyFIChidW5kbGUpIOips+e0sOizh+ioiiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgb2theVxuIgorbXNnc3RyICIlcyDlj6/ku6VcbiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxNjAKK21zZ2lkICJOZWVkIGEgcmVwb3NpdG9yeSB0byB1bmJ1bmRsZS4iCittc2dzdHIgIumcgOimgeS4gOWAi+eJiOacrOW6q+S+huino+WMheOAgiIKKworIzogYnVpbHRpbi9idW5kbGUuYzoxNjggYnVpbHRpbi9yZW1vdGUuYzoxNjA5Cittc2dpZCAiYmUgdmVyYm9zZTsgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIGEgc3ViY29tbWFuZCIKK21zZ3N0ciAi6Kmz57Sw6Ly45Ye677yb5b+F6aCI572u5pa85a2Q5oyH5Luk5LmL5YmNIgorCisjOiBidWlsdGluL2J1bmRsZS5jOjE5MCBidWlsdGluL3JlbW90ZS5jOjE2NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBzdWJjb21tYW5kOiAlcyIKK21zZ3N0ciAi5pyq55+l5a2Q5oyH5Luk77yaJXMiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo1OTUKK21zZ2lkICIiCisiZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1lIHwgLSIKKyJwIHwgPHR5cGU+IHwgLS10ZXh0Y29udiB8IC0tZmlsdGVycykgWy0tcGF0aD08cGF0aD5dIDxvYmplY3Q+IgorbXNnc3RyICIiCisiZ2l0IGNhdC1maWxlICgtdCBbLS1hbGxvdy11bmtub3duLXR5cGVdIHwgLXMgWy0tYWxsb3ctdW5rbm93bi10eXBlXSB8IC1lIHwgLSIKKyJwIHwgPOmhnuWeiz4gfCAtLXRleHRjb252IHwgLS1maWx0ZXJzKSBbLS1wYXRoPTzot6/lvpE+XSA854mp5Lu2PiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjU5NgorbXNnaWQgIiIKKyJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIFstLXRleHRjb252IHwgLS0iCisiZmlsdGVyc10iCittc2dzdHIgIiIKKyJnaXQgY2F0LWZpbGUgKC0tYmF0Y2ggfCAtLWJhdGNoLWNoZWNrKSBbLS1mb2xsb3ctc3ltbGlua3NdIFstLXRleHRjb252IHwgLS0iCisiZmlsdGVyc10iCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2MTcKK21zZ2lkICJvbmx5IG9uZSBiYXRjaCBvcHRpb24gbWF5IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAi5Y+q6IO95oyH5a6a5LiA5YCL5om55qyh6JmV55CG6YG46aCFIgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjM1Cittc2dpZCAiPHR5cGU+IGNhbiBiZSBvbmUgb2Y6IGJsb2IsIHRyZWUsIGNvbW1pdCwgdGFnIgorbXNnc3RyICI86aGe5Z6LPiDlj6/ku6XmmK/lhbbkuK3kuYvkuIDvvJpibG9i44CBdHJlZeOAgWNvbW1pdOOAgXRhZyIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNgorbXNnaWQgInNob3cgb2JqZWN0IHR5cGUiCittc2dzdHIgIumhr+ekuueJqeS7tumhnuWeiyIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzNworbXNnaWQgInNob3cgb2JqZWN0IHNpemUiCittc2dzdHIgIumhr+ekuueJqeS7tuWkp+WwjyIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjYzOQorbXNnaWQgImV4aXQgd2l0aCB6ZXJvIHdoZW4gdGhlcmUncyBubyBlcnJvciIKK21zZ3N0ciAi55W25rKS5pyJ6Yyv6Kqk5pmC6Zui6ZaL5Lim6L+U5Zue6Zu2IgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjQwCittc2dpZCAicHJldHR5LXByaW50IG9iamVjdCdzIGNvbnRlbnQiCittc2dzdHIgIue+juingOWcsOWIl+WNsOeJqeS7tueahOWFp+WuuSIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0MgorbXNnaWQgImZvciBibG9iIG9iamVjdHMsIHJ1biB0ZXh0Y29udiBvbiBvYmplY3QncyBjb250ZW50IgorbXNnc3RyICLlsI3mlrzos4fmlpnnianku7bvvIzlsI3lhbblhaflrrnlgZrmloflrZfovYnmj5siCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDQKK21zZ2lkICJmb3IgYmxvYiBvYmplY3RzLCBydW4gZmlsdGVycyBvbiBvYmplY3QncyBjb250ZW50IgorbXNnc3RyICLlsI3mlrzos4fmlpnnianku7bvvIzlsI3lhbblhaflrrnlgZrpgY7mv74iCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDUgZ2l0LXN1Ym1vZHVsZS5zaDo5OTIKK21zZ2lkICJibG9iIgorbXNnc3RyICLos4fmlpnnianku7YiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDYKK21zZ2lkICJ1c2UgYSBzcGVjaWZpYyBwYXRoIGZvciAtLXRleHRjb252Ly0tZmlsdGVycyIKK21zZ3N0ciAi5bCN5pa8IC0tdGV4dGNvbnYvLS1maWx0ZXJzIOS9v+eUqOS4gOWAi+eJueWumueahOi3r+W+kSIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY0OAorbXNnaWQgImFsbG93IC1zIGFuZCAtdCB0byB3b3JrIHdpdGggYnJva2VuL2NvcnJ1cHQgb2JqZWN0cyIKK21zZ3N0ciAi5YWB6KixIC1zIOWSjCAtdCDlsI3mkI3lo57nmoTnianku7bnlJ/mlYgiCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NDkKK21zZ2lkICJidWZmZXIgLS1iYXRjaCBvdXRwdXQiCittc2dzdHIgIue3qeihnSAtLWJhdGNoIOeahOi8uOWHuiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY1MQorbXNnaWQgInNob3cgaW5mbyBhbmQgY29udGVudCBvZiBvYmplY3RzIGZlZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKK21zZ3N0ciAi6aGv56S65b6e5qiZ5rqW6Ly45YWl5o+Q5L6b55qE54mp5Lu255qE6KiK5oGv5ZKM5YWn5a65IgorCisjOiBidWlsdGluL2NhdC1maWxlLmM6NjU1Cittc2dpZCAic2hvdyBpbmZvIGFib3V0IG9iamVjdHMgZmVkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgorbXNnc3RyICLpoa/npLrlvp7mqJnmupbovLjlhaXmj5DkvpvnmoTnianku7bnmoToqIrmga8iCisKKyM6IGJ1aWx0aW4vY2F0LWZpbGUuYzo2NTkKK21zZ2lkICJmb2xsb3cgaW4tdHJlZSBzeW1saW5rcyAodXNlZCB3aXRoIC0tYmF0Y2ggb3IgLS1iYXRjaC1jaGVjaykiCittc2dzdHIgIui3n+maqOaoueWFp+espuiZn+mAo+e1kO+8iOWSjCAtLWJhdGNoIOaIliAtLWJhdGNoLWNoZWNrIOWFseeUqO+8iSIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY2MQorbXNnaWQgInNob3cgYWxsIG9iamVjdHMgd2l0aCAtLWJhdGNoIG9yIC0tYmF0Y2gtY2hlY2siCittc2dzdHIgIuS9v+eUqCAtLWJhdGNoIOaIliAtLWJhdGNoLWNoZWNrIOWPg+aVuOmhr+ekuuaJgOacieeJqeS7tiIKKworIzogYnVpbHRpbi9jYXQtZmlsZS5jOjY2MworbXNnaWQgImRvIG5vdCBvcmRlciAtLWJhdGNoLWFsbC1vYmplY3RzIG91dHB1dCIKK21zZ3N0ciAi5LiN6KaB5bCNIC0tYmF0Y2gtYWxsLW9iamVjdHMg55qE6Ly45Ye65o6S5bqPIgorCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoxMworbXNnaWQgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSBbLS1dIDxwYXRobmFtZT4uLi4iCittc2dzdHIgImdpdCBjaGVjay1hdHRyIFstYSB8IC0tYWxsIHwgPOWxrOaApz4uLi5dIFstLV0gPOi3r+W+keWQjT4uLi4iCisKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjE0Cittc2dpZCAiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgPGF0dHI+Li4uXSIKK21zZ3N0ciAiZ2l0IGNoZWNrLWF0dHIgLS1zdGRpbiBbLXpdIFstYSB8IC0tYWxsIHwgPOWxrOaApz4uLi5dIgorCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMQorbXNnaWQgInJlcG9ydCBhbGwgYXR0cmlidXRlcyBzZXQgb24gZmlsZSIKK21zZ3N0ciAi5aCx5ZGK6Kit5a6a5Zyo5qqU5qGI5LiK55qE5omA5pyJ5bGs5oCnIgorCisjOiBidWlsdGluL2NoZWNrLWF0dHIuYzoyMgorbXNnaWQgInVzZSAuZ2l0YXR0cmlidXRlcyBvbmx5IGZyb20gdGhlIGluZGV4IgorbXNnc3RyICLlj6rkvb/nlKjntKLlvJXkuK3nmoQgLmdpdGF0dHJpYnV0ZXMiCisKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjIzIGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjUgYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMgorbXNnaWQgInJlYWQgZmlsZSBuYW1lcyBmcm9tIHN0ZGluIgorbXNnc3RyICLlvp7mqJnmupbovLjlhaXoroDlh7rmqpTmoYjlkI0iCisKKyM6IGJ1aWx0aW4vY2hlY2stYXR0ci5jOjI1IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjcKK21zZ2lkICJ0ZXJtaW5hdGUgaW5wdXQgYW5kIG91dHB1dCByZWNvcmRzIGJ5IGEgTlVMIGNoYXJhY3RlciIKK21zZ3N0ciAi6Ly45YWl5ZKM6Ly45Ye655qE57SA6YyE5L2/55SoIE5VTCDlrZflhYPntYLntZAiCisKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MjEgYnVpbHRpbi9jaGVja291dC5jOjE0MzUgYnVpbHRpbi9nYy5jOjUzNworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwNgorbXNnaWQgInN1cHByZXNzIHByb2dyZXNzIHJlcG9ydGluZyIKK21zZ3N0ciAi5LiN6aGv56S66YCy5bqm5aCx5ZGKIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjI5Cittc2dpZCAic2hvdyBub24tbWF0Y2hpbmcgaW5wdXQgcGF0aHMiCittc2dzdHIgIumhr+ekuuacquespuWQiOeahOi8uOWFpei3r+W+kSIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzozMQorbXNnaWQgImlnbm9yZSBpbmRleCB3aGVuIGNoZWNraW5nIgorbXNnc3RyICLmqqLmn6XmmYLlv73nlaXntKLlvJUiCisKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTYwCittc2dpZCAiY2Fubm90IHNwZWNpZnkgcGF0aG5hbWVzIHdpdGggLS1zdGRpbiIKK21zZ3N0ciAi5LiN6IO95ZCM5pmC5oyH5a6a6Lev5b6R5Y+KIC0tc3RkaW4g5Y+D5pW4IgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE2MworbXNnaWQgIi16IG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCAtLXN0ZGluIgorbXNnc3RyICIteiDpnIDopoHlkowgLS1zdGRpbiDlj4PmlbjlhbHnlKjmiY3mnInmhI/nvqkiCisKKyM6IGJ1aWx0aW4vY2hlY2staWdub3JlLmM6MTY1Cittc2dpZCAibm8gcGF0aCBzcGVjaWZpZWQiCittc2dzdHIgIuacquaMh+Wumui3r+W+kSIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNjkKK21zZ2lkICItLXF1aWV0IGlzIG9ubHkgdmFsaWQgd2l0aCBhIHNpbmdsZSBwYXRobmFtZSIKK21zZ3N0ciAi5Y+D5pW4IC0tcXVpZXQg5Y+q5Zyo5o+Q5L6b5LiA5YCL6Lev5b6R5ZCN5pmC5pyJ5pWIIgorCisjOiBidWlsdGluL2NoZWNrLWlnbm9yZS5jOjE3MQorbXNnaWQgImNhbm5vdCBoYXZlIGJvdGggLS1xdWlldCBhbmQgLS12ZXJib3NlIgorbXNnc3RyICLkuI3og73lkIzmmYLmj5DkvpsgLS1xdWlldCDlkowgLS12ZXJib3NlIOWPg+aVuCIKKworIzogYnVpbHRpbi9jaGVjay1pZ25vcmUuYzoxNzQKK21zZ2lkICItLW5vbi1tYXRjaGluZyBpcyBvbmx5IHZhbGlkIHdpdGggLS12ZXJib3NlIgorbXNnc3RyICItLW5vbi1tYXRjaGluZyDpgbjpoIXlj6rlnKjkvb/nlKggLS12ZXJib3NlIOaZguacieaViCIKKworIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6OQorbXNnaWQgImdpdCBjaGVjay1tYWlsbWFwIFs8b3B0aW9ucz5dIDxjb250YWN0Pi4uLiIKK21zZ3N0ciAiZ2l0IGNoZWNrLW1haWxtYXAgWzzpgbjpoIU+XSA86IGv57mr5L2N5Z2APi4uLiIKKworIzogYnVpbHRpbi9jaGVjay1tYWlsbWFwLmM6MTQKK21zZ2lkICJhbHNvIHJlYWQgY29udGFjdHMgZnJvbSBzdGRpbiIKK21zZ3N0ciAi6YKE5b6e5qiZ5rqW6Ly45YWl6K6A5Y+W6IGv57mr5L2N5Z2AIgorCisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzoyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcGFyc2UgY29udGFjdDogJXMiCittc2dzdHIgIuS4jeiDveino+aekOiBr+e5q+S9jeWdgO+8miVzIgorCisjOiBidWlsdGluL2NoZWNrLW1haWxtYXAuYzo0OAorbXNnaWQgIm5vIGNvbnRhY3RzIHNwZWNpZmllZCIKK21zZ3N0ciAi5pyq5oyH5a6a6IGv57mr5L2N5Z2AIgorCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTMxCittc2dpZCAiZ2l0IGNoZWNrb3V0LWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCittc2dzdHIgImdpdCBjaGVja291dC1pbmRleCBbPOmBuOmghT5dIFstLV0gWzzmqpTmoYg+Li4uXSIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE0OAorbXNnaWQgInN0YWdlIHNob3VsZCBiZSBiZXR3ZWVuIDEgYW5kIDMgb3IgYWxsIgorbXNnc3RyICLntKLlvJXlgLzmh4noqbLlj5blgLwgMSDliLAgMyDmiJbogIUgYWxsIgorCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY0Cittc2dpZCAiY2hlY2sgb3V0IGFsbCBmaWxlcyBpbiB0aGUgaW5kZXgiCittc2dzdHIgIuewveWHuue0ouW8leWNgOeahOaJgOacieaqlOahiCIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE2NQorbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBleGlzdGluZyBmaWxlcyIKK21zZ3N0ciAi5by35Yi26KaG6JOL54++5pyJ55qE5qqU5qGIIgorCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY3Cittc2dpZCAibm8gd2FybmluZyBmb3IgZXhpc3RpbmcgZmlsZXMgYW5kIGZpbGVzIG5vdCBpbiBpbmRleCIKK21zZ3N0ciAi5a2Y5Zyo5oiW5LiN5Zyo57Si5byV5Lit55qE5qqU5qGI6YO95rKS5pyJ6K2m5ZGKIgorCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTY5Cittc2dpZCAiZG9uJ3QgY2hlY2tvdXQgbmV3IGZpbGVzIgorbXNnc3RyICLkuI3nsL3lh7rmlrDmqpTmoYgiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzEKK21zZ2lkICJ1cGRhdGUgc3RhdCBpbmZvcm1hdGlvbiBpbiB0aGUgaW5kZXggZmlsZSIKK21zZ3N0ciAi5pu05paw57Si5byV5Lit5qqU5qGI55qE54uA5oWL6KiK5oGvIgorCisjOiBidWlsdGluL2NoZWNrb3V0LWluZGV4LmM6MTc1Cittc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IgorbXNnc3RyICLlvp7mqJnmupbovLjlhaXoroDlj5bot6/lvpHliJfooagiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQtaW5kZXguYzoxNzcKK21zZ2lkICJ3cml0ZSB0aGUgY29udGVudCB0byB0ZW1wb3JhcnkgZmlsZXMiCittc2dzdHIgIuWwh+WFp+WuueWvq+WFpeaaq+WtmOaqlCIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OCBidWlsdGluL2NvbHVtbi5jOjMxCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4NSBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM4OAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzOTYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODIKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NzkKK21zZ2lkICJzdHJpbmciCittc2dzdHIgIuWtl+S4siIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE3OQorbXNnaWQgIndoZW4gY3JlYXRpbmcgZmlsZXMsIHByZXBlbmQgPHN0cmluZz4iCittc2dzdHIgIuWcqOW7uueri+aqlOahiOaZgu+8jOWcqOWJjemdouWKoOS4iiA85a2X5LiyPiIKKworIzogYnVpbHRpbi9jaGVja291dC1pbmRleC5jOjE4MQorbXNnaWQgImNvcHkgb3V0IHRoZSBmaWxlcyBmcm9tIG5hbWVkIHN0YWdlIgorbXNnc3RyICLlvp7mjIflrprmmqvlrZjljYDkuK3mi7flh7rmqpTmoYgiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMQorbXNnaWQgImdpdCBjaGVja291dCBbPG9wdGlvbnM+XSA8YnJhbmNoPiIKK21zZ3N0ciAiZ2l0IGNoZWNrb3V0IFs86YG46aCFPl0gPOWIhuaUrz4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozMgorbXNnaWQgImdpdCBjaGVja291dCBbPG9wdGlvbnM+XSBbPGJyYW5jaD5dIC0tIDxmaWxlPi4uLiIKK21zZ3N0ciAiZ2l0IGNoZWNrb3V0IFs86YG46aCFPl0gWzzliIbmlK8+XSAtLSA85qqU5qGIPi4uLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjM3Cittc2dpZCAiZ2l0IHN3aXRjaCBbPG9wdGlvbnM+XSBbPGJyYW5jaD5dIgorbXNnc3RyICJnaXQgc3dpdGNoIFs86YG46aCFPl0gWzzliIbmlK8+XSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjQyCittc2dpZCAiZ2l0IHJlc3RvcmUgWzxvcHRpb25zPl0gWy0tc291cmNlPTxicmFuY2g+XSA8ZmlsZT4uLi4iCittc2dzdHIgImdpdCByZXN0b3JlIFs86YG46aCFPl0gWy0tc291cmNlPTzliIbmlK8+XSA85qqU5qGIPi4uLiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NSBidWlsdGluL2NoZWNrb3V0LmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG91ciB2ZXJzaW9uIgorbXNnc3RyICLot6/lvpEgJyVzJyDmspLmnInmiJHlgJHnmoTniYjmnKwiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzcgYnVpbHRpbi9jaGVja291dC5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoICclcycgZG9lcyBub3QgaGF2ZSB0aGVpciB2ZXJzaW9uIgorbXNnc3RyICLot6/lvpEgJyVzJyDmspLmnInku5blgJHnmoTniYjmnKwiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGF0aCAnJXMnIGRvZXMgbm90IGhhdmUgYWxsIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKK21zZ3N0ciAi6Lev5b6RICclcycg5rKS5pyJ5YWo6YOo5b+F6ZyA55qE54mI5pysIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJyVzJyBkb2VzIG5vdCBoYXZlIG5lY2Vzc2FyeSB2ZXJzaW9ucyIKK21zZ3N0ciAi6Lev5b6RICclcycg5rKS5pyJ5b+F6ZyA55qE54mI5pysIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgInBhdGggJyVzJzogY2Fubm90IG1lcmdlIgorbXNnc3RyICJwYXRoICclcyfvvJrnhKHms5XlkIjkvbUiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoyNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGFkZCBtZXJnZSByZXN1bHQgZm9yICclcyciCittc2dzdHIgIueEoeazleeCuiAnJXMnIOaWsOWinuWQiOS9tee1kOaenCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJSZWNyZWF0ZWQgJWQgbWVyZ2UgY29uZmxpY3QiCittc2dpZF9wbHVyYWwgIlJlY3JlYXRlZCAlZCBtZXJnZSBjb25mbGljdHMiCittc2dzdHJbMF0gIumHjeaWsOW7uueri+S6hiAlZCDlgIvlkIjkvbXooZ3nqoEiCittc2dzdHJbMV0gIumHjeaWsOW7uueri+S6hiAlZCDlgIvlkIjkvbXooZ3nqoEiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXBkYXRlZCAlZCBwYXRoIGZyb20gJXMiCittc2dpZF9wbHVyYWwgIlVwZGF0ZWQgJWQgcGF0aHMgZnJvbSAlcyIKK21zZ3N0clswXSAi5b6eICUyJHMg5pu05paw5LqGICUxJGQg5YCL6Lev5b6RIgorbXNnc3RyWzFdICLlvp4gJTIkcyDmm7TmlrDkuoYgJTEkZCDlgIvot6/lvpEiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXBkYXRlZCAlZCBwYXRoIGZyb20gdGhlIGluZGV4IgorbXNnaWRfcGx1cmFsICJVcGRhdGVkICVkIHBhdGhzIGZyb20gdGhlIGluZGV4IgorbXNnc3RyWzBdICLlvp7ntKLlvJXljYDmm7TmlrDkuoYgJWQg5YCL6Lev5b6RIgorbXNnc3RyWzFdICLlvp7ntKLlvJXljYDmm7TmlrDkuoYgJWQg5YCL6Lev5b6RIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDEyIGJ1aWx0aW4vY2hlY2tvdXQuYzo0MTUgYnVpbHRpbi9jaGVja291dC5jOjQxOAorIzogYnVpbHRpbi9jaGVja291dC5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGNhbm5vdCBiZSB1c2VkIHdpdGggdXBkYXRpbmcgcGF0aHMiCittc2dzdHIgIiclcycg5LiN6IO95Zyo5pu05paw6Lev5b6R5pmC5L2/55SoIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDI1IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgorbXNnc3RyICInJXMnIOS4jeiDveWSjCAlcyDlkIzmmYLkvb/nlKgiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHVwZGF0ZSBwYXRocyBhbmQgc3dpdGNoIHRvIGJyYW5jaCAnJXMnIGF0IHRoZSBzYW1lIHRpbWUuIgorbXNnc3RyICLkuI3og73lkIzmmYLmm7TmlrDot6/lvpHkuKbliIfmj5vliLDliIbmlK8nJXMn44CCIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgJyVzJyBvciAnJXMnIGlzIHNwZWNpZmllZCIKK21zZ3N0ciAiJyVzJyDmiJYgJyVzJyDpg73mspLmnInmjIflrpoiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBtdXN0IGJlIHVzZWQgd2hlbiAnJXMnIGlzIG5vdCBzcGVjaWZpZWQiCittc2dzdHIgIuacquaMh+WumiAnJTIkcycg5pmC77yM5b+F6aCI5L2/55SoICclMSRzJyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjQ0NSBidWlsdGluL2NoZWNrb3V0LmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgb3IgJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICVzIgorbXNnc3RyICInJXMnIOaIliAnJXMnIOS4jeiDveWSjCAlcyDkuIDotbfkvb/nlKgiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo1MDkgYnVpbHRpbi9jaGVja291dC5jOjUxNgorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRoICclcycgaXMgdW5tZXJnZWQiCittc2dzdHIgIui3r+W+kSAnJXMnIOacquWQiOS9tSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjY4MiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjgyCittc2dpZCAieW91IG5lZWQgdG8gcmVzb2x2ZSB5b3VyIGN1cnJlbnQgaW5kZXggZmlyc3QiCittc2dzdHIgIuaCqOmcgOimgeWFiOino+axuuebruWJjee0ouW8leeahOihneeqgSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjczMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IGNvbnRpbnVlIHdpdGggc3RhZ2VkIGNoYW5nZXMgaW4gdGhlIGZvbGxvd2luZyBmaWxlczpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIuS4jeiDvee5vOe6jO+8jOS4i+WIl+aqlOahiOacieaaq+WtmOeahOS/ruaUue+8mlxuIgorIiVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbiBub3QgZG8gcmVmbG9nIGZvciAnJXMnOiAlc1xuIgorbXNnc3RyICLkuI3og73lsI0gJyVzJyDln7fooYwgcmVmbG9nIOWLleS9nO+8miVzXG4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4NzcKK21zZ2lkICJIRUFEIGlzIG5vdyBhdCIKK21zZ3N0ciAiSEVBRCDnm67liY3kvY3mlrwiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4ODEgYnVpbHRpbi9jbG9uZS5jOjcxNgorbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgSEVBRCIKK21zZ3N0ciAi5LiN6IO95pu05pawIEhFQUQiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVzZXQgYnJhbmNoICclcydcbiIKK21zZ3N0ciAi6YeN6Kit5YiG5pSvICclcydcbiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJBbHJlYWR5IG9uICclcydcbiIKK21zZ3N0ciAi5bey57aT5L2N5pa8ICclcydcbiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjg5MgorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hlZCB0byBhbmQgcmVzZXQgYnJhbmNoICclcydcbiIKK21zZ3N0ciAi5YiH5o+b5Lim6YeN6Kit5YiG5pSvICclcydcbiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjg5NCBidWlsdGluL2NoZWNrb3V0LmM6MTI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJyVzJ1xuIgorbXNnc3RyICLliIfmj5vliLDkuIDlgIvmlrDliIbmlK8gJyVzJ1xuIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6ODk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGVkIHRvIGJyYW5jaCAnJXMnXG4iCittc2dzdHIgIuWIh+aPm+WIsOWIhuaUryAnJXMnXG4iCisKKyMgIOitr+iAhe+8muiri+e2reaMgeWJjeWwjuepuuagvAorIzogYnVpbHRpbi9jaGVja291dC5jOjk0NworIywgYy1mb3JtYXQKK21zZ2lkICIgLi4uIGFuZCAlZCBtb3JlLlxuIgorbXNnc3RyICIgLi4uIOWPiuWFtuWugyAlZCDlgIvjgIJcbiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjk1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV2FybmluZzogeW91IGFyZSBsZWF2aW5nICVkIGNvbW1pdCBiZWhpbmQsIG5vdCBjb25uZWN0ZWQgdG9cbiIKKyJhbnkgb2YgeW91ciBicmFuY2hlczpcbiIKKyJcbiIKKyIlc1xuIgorbXNnaWRfcGx1cmFsICIiCisiV2FybmluZzogeW91IGFyZSBsZWF2aW5nICVkIGNvbW1pdHMgYmVoaW5kLCBub3QgY29ubmVjdGVkIHRvXG4iCisiYW55IG9mIHlvdXIgYnJhbmNoZXM6XG4iCisiXG4iCisiJXNcbiIKK21zZ3N0clswXSAiIgorIuitpuWRiu+8muaCqOato+S4n+S4iyAlZCDlgIvmj5DkuqTvvIzmnKrlkozku7vkvZXliIbmlK/pl5zoga/vvJpcbiIKKyJcbiIKKyIlc1xuIgorbXNnc3RyWzFdICIiCisi6K2m5ZGK77ya5oKo5q2j5Lif5LiLICVkIOWAi+aPkOS6pO+8jOacquWSjOS7u+S9leWIhuaUr+mXnOiBr++8mlxuIgorIlxuIgorIiVzXG4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzo5NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIklmIHlvdSB3YW50IHRvIGtlZXAgaXQgYnkgY3JlYXRpbmcgYSBuZXcgYnJhbmNoLCB0aGlzIG1heSBiZSBhIGdvb2QgdGltZVxuIgorInRvIGRvIHNvIHdpdGg6XG4iCisiXG4iCisiIGdpdCBicmFuY2ggPG5ldy1icmFuY2gtbmFtZT4gJXNcbiIKKyJcbiIKK21zZ2lkX3BsdXJhbCAiIgorIklmIHlvdSB3YW50IHRvIGtlZXAgdGhlbSBieSBjcmVhdGluZyBhIG5ldyBicmFuY2gsIHRoaXMgbWF5IGJlIGEgZ29vZCB0aW1lXG4iCisidG8gZG8gc28gd2l0aDpcbiIKKyJcbiIKKyIgZ2l0IGJyYW5jaCA8bmV3LWJyYW5jaC1uYW1lPiAlc1xuIgorIlxuIgorbXNnc3RyWzBdICIiCisi5aaC5p6c5oKo5oOz6KaB6YCP6YGO5bu656uL5paw5YiG5pSv5YSy5a2Y5a6D77yM6YCZ5Y+v6IO95piv5LiA5YCL5aW95pmC5YCZ44CCXG4iCisi5aaC5LiL5YuV5L2c77yaXG4iCisiXG4iCisiIGdpdCBicmFuY2ggPOaWsOWIhuaUr+WQjT4gJXNcbiIKKyJcbiIKK21zZ3N0clsxXSAiIgorIuWmguaenOaCqOaDs+imgemAj+mBjuW7uueri+aWsOWIhuaUr+WEsuWtmOWug+WAke+8jOmAmeWPr+iDveaYr+S4gOWAi+WlveaZguWAmeOAglxuIgorIuWmguS4i+WLleS9nO+8mlxuIgorIlxuIgorIiBnaXQgYnJhbmNoIDzmlrDliIbmlK/lkI0+ICVzXG4iCisiXG4iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDA3Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IgaW4gcmV2aXNpb24gd2FsayIKK21zZ3N0ciAi5Zyo54mI5pys6YGN5q235pmC6YGH5Yiw5YWn6YOo6Yyv6KqkIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTAxMQorbXNnaWQgIlByZXZpb3VzIEhFQUQgcG9zaXRpb24gd2FzIgorbXNnc3RyICLkuYvliY3nmoQgSEVBRCDkvY3nva7mmK8iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMDUxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjg2Cittc2dpZCAiWW91IGFyZSBvbiBhIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybiIKK21zZ3N0ciAi5oKo5L2N5pa85LiA5YCL5bCa5pyq5Yid5aeL5YyW55qE5YiG5pSvIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE3OAorbXNnaWQgIm9ubHkgb25lIHJlZmVyZW5jZSBleHBlY3RlZCIKK21zZ3N0ciAi6aCQ5pyf5Y+q5pyJ5LiA5YCL5byV55SoIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTE5NQorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IG9uZSByZWZlcmVuY2UgZXhwZWN0ZWQsICVkIGdpdmVuLiIKK21zZ3N0ciAi5oeJ5Y+q5pyJ5LiA5YCL5byV55So77yM5Y2757Wm5Ye65LqGICVkIOWAiyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiclcycgY291bGQgYmUgYm90aCBhIGxvY2FsIGZpbGUgYW5kIGEgdHJhY2tpbmcgYnJhbmNoLlxuIgorIlBsZWFzZSB1c2UgLS0gKGFuZCBvcHRpb25hbGx5IC0tbm8tZ3Vlc3MpIHRvIGRpc2FtYmlndWF0ZSIKK21zZ3N0ciAiIgorIiclcycg5pei5Y+v5Lul5piv5LiA5YCL5pys5qmf5qqU5qGI77yM5Lmf5Y+v5Lul5piv5LiA5YCL6L+96Lmk5YiG5pSv44CCXG4iCisi6KuL5L2/55SoIC0t77yI5ZKM5Y+v6YG455qEIC0tbm8tZ3Vlc3PvvInkvobmtojpmaTmrafnvqkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMjQ1IGJ1aWx0aW4vd29ya3RyZWUuYzoyOTAgYnVpbHRpbi93b3JrdHJlZS5jOjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHJlZmVyZW5jZTogJXMiCittc2dzdHIgIueEoeaViOW8leeUqO+8miVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTI1OCBidWlsdGluL2NoZWNrb3V0LmM6MTYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZlcmVuY2UgaXMgbm90IGEgdHJlZTogJXMiCittc2dzdHIgIuW8leeUqOS4jeaYr+S4gOWAi+aoue+8miVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMwNQorIywgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IHRhZyAnJXMnIgorbXNnc3RyICLmnJ/mnJvkuIDlgIvliIbmlK/vvIzlvpfliLDmqJnnsaQgJyVzJyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSBicmFuY2ggaXMgZXhwZWN0ZWQsIGdvdCByZW1vdGUgYnJhbmNoICclcyciCittc2dzdHIgIuacn+acm+S4gOWAi+WIhuaUr++8jOW+l+WIsOmBoOerr+WIhuaUryAnJXMnIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMwOCBidWlsdGluL2NoZWNrb3V0LmM6MTMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290ICclcyciCittc2dzdHIgIuacn+acm+S4gOWAi+WIhuaUr++8jOW+l+WIsCAnJXMnIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMxMQorIywgYy1mb3JtYXQKK21zZ2lkICJhIGJyYW5jaCBpcyBleHBlY3RlZCwgZ290IGNvbW1pdCAnJXMnIgorbXNnc3RyICLmnJ/mnJvkuIDlgIvliIbmlK/vvIzlvpfliLDmj5DkuqQgJyVzJyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMjcKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgbWVyZ2luZ1xuIgorIkNvbnNpZGVyIFwiZ2l0IG1lcmdlIC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorIuS4jeiDveWcqOWQiOS9teaZguWIh+aPm+WIhuaUr1xuIgorIuiAg+aFruS9v+eUqCBcImdpdCBtZXJnZSAtLXF1aXRcIiDmiJYgXCJnaXQgd29ya3RyZWUgYWRkXCLjgIIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzMxCittc2dpZCAiIgorImNhbm5vdCBzd2l0Y2ggYnJhbmNoIGluIHRoZSBtaWRkbGUgb2YgYW4gYW0gc2Vzc2lvblxuIgorIkNvbnNpZGVyIFwiZ2l0IGFtIC0tcXVpdFwiIG9yIFwiZ2l0IHdvcmt0cmVlIGFkZFwiLiIKK21zZ3N0ciAiIgorIuS4jeiDveWcqCBhbSDlt6XkvZzpmo7mrrXmnJ/plpPliIfmj5vliIbmlK9cbiIKKyLogIPmha7kvb/nlKggXCJnaXQgYW0gLS1xdWl0XCIg5oiWIFwiZ2l0IHdvcmt0cmVlIGFkZFwi44CCIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTMzNQorbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCB3aGlsZSByZWJhc2luZ1xuIgorIkNvbnNpZGVyIFwiZ2l0IHJlYmFzZSAtLXF1aXRcIiBvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCittc2dzdHIgIiIKKyLkuI3og73lnKjph43lrprln7rlupXmmYLliIfmj5vliIbmlK9cbiIKKyLogIPmha7kvb/nlKggXCJnaXQgcmViYXNlIC0tcXVpdFwiIOaIliBcImdpdCB3b3JrdHJlZSBhZGRcIuOAgiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjEzMzkKK21zZ2lkICIiCisiY2Fubm90IHN3aXRjaCBicmFuY2ggd2hpbGUgY2hlcnJ5LXBpY2tpbmdcbiIKKyJDb25zaWRlciBcImdpdCBjaGVycnktcGljayAtLXF1aXRcIiBvciBcImdpdCB3b3JrdHJlZSBhZGRcIi4iCittc2dzdHIgIiIKKyLkuI3og73lnKjmj4DpgbjmmYLliIfmj5vliIbmlK9cbiIKKyLogIPmha7kvb/nlKggXCJnaXQgY2hlcnJ5LXBpY2sgLS1xdWl0XCIg5oiWIFwiZ2l0IHdvcmt0cmVlIGFkZFwi44CCIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM0MworbXNnaWQgIiIKKyJjYW5ub3Qgc3dpdGNoIGJyYW5jaCB3aGlsZSByZXZlcnRpbmdcbiIKKyJDb25zaWRlciBcImdpdCByZXZlcnQgLS1xdWl0XCIgb3IgXCJnaXQgd29ya3RyZWUgYWRkXCIuIgorbXNnc3RyICIiCisi5LiN6IO95Zyo6YKE5Y6f5pmC5YiH5o+b5YiG5pSvXG4iCisi6ICD5oWu5L2/55SoIFwiZ2l0IHJldmVydCAtLXF1aXRcIiDmiJYgXCJnaXQgd29ya3RyZWUgYWRkXCLjgIIiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzQ3Cittc2dpZCAieW91IGFyZSBzd2l0Y2hpbmcgYnJhbmNoIHdoaWxlIGJpc2VjdGluZyIKK21zZ3N0ciAi5oKo5Zyo5Z+36KGM5LqM5YiG5bCL5om+5pmC5YiH5o+b5YiG5pSvIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM1NAorbXNnaWQgInBhdGhzIGNhbm5vdCBiZSB1c2VkIHdpdGggc3dpdGNoaW5nIGJyYW5jaGVzIgorbXNnc3RyICLot6/lvpHkuI3og73lkozliIfmj5vliIbmlK/lkIzmmYLkvb/nlKgiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzU3IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzYxIGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgY2Fubm90IGJlIHVzZWQgd2l0aCBzd2l0Y2hpbmcgYnJhbmNoZXMiCittc2dzdHIgIiclcycg5LiN6IO95ZKM5YiH5o+b5YiG5pSv5ZCM5pmC5L2/55SoIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM2OSBidWlsdGluL2NoZWNrb3V0LmM6MTM3MiBidWlsdGluL2NoZWNrb3V0LmM6MTM3NQorIzogYnVpbHRpbi9jaGVja291dC5jOjEzODAgYnVpbHRpbi9jaGVja291dC5jOjEzODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBjYW5ub3QgYmUgdXNlZCB3aXRoICclcyciCittc2dzdHIgIiclcycg5LiN6IO95ZKMICclcycg5ZCM5pmC5L2/55SoIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM4MgorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGNhbm5vdCB0YWtlIDxzdGFydC1wb2ludD4iCittc2dzdHIgIiclcycg5LiN5bi2IDzotbflp4vpu54+IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgc3dpdGNoIGJyYW5jaCB0byBhIG5vbi1jb21taXQgJyVzJyIKK21zZ3N0ciAi5LiN6IO95YiH5o+b5YiG5pSv5Yiw5LiA5YCL6Z2e5o+Q5LqkICclcyciCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxMzk3Cittc2dpZCAibWlzc2luZyBicmFuY2ggb3IgY29tbWl0IGFyZ3VtZW50IgorbXNnc3RyICLnvLrlsJHliIbmlK/miJbmj5DkuqTlj4PmlbgiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDM5IGJ1aWx0aW4vY2xvbmUuYzo5MSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjUyCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExMyBidWlsdGluL2ZldGNoLmM6MTY3IGJ1aWx0aW4vbWVyZ2UuYzoyODUKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjI3IGJ1aWx0aW4vcHVsbC5jOjEzOCBidWlsdGluL3B1c2guYzo1NjMKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc0Cittc2dpZCAiZm9yY2UgcHJvZ3Jlc3MgcmVwb3J0aW5nIgorbXNnc3RyICLlvLfliLbpoa/npLrpgLLluqbloLHlkYoiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDQwCittc2dpZCAicGVyZm9ybSBhIDMtd2F5IG1lcmdlIHdpdGggdGhlIG5ldyBicmFuY2giCittc2dzdHIgIuWSjOaWsOeahOWIhuaUr+Wft+ihjOS4ieaWueWQiOS9tSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NDEgYnVpbHRpbi9sb2cuYzoxNjkwIHBhcnNlLW9wdGlvbnMuaDozMjIKK21zZ2lkICJzdHlsZSIKK21zZ3N0ciAi6aKo5qC8IgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ0MgorbXNnaWQgImNvbmZsaWN0IHN0eWxlIChtZXJnZSBvciBkaWZmMykiCittc2dzdHIgIuihneeqgei8uOWHuumiqOagvO+8iG1lcmdlIOaIliBkaWZmM++8iSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTQgYnVpbHRpbi93b3JrdHJlZS5jOjUwMworbXNnaWQgImRldGFjaCBIRUFEIGF0IG5hbWVkIGNvbW1pdCIKK21zZ3N0ciAiSEVBRCDlvp7mjIflrprnmoTmj5DkuqTliIbpm6IiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDU1Cittc2dpZCAic2V0IHVwc3RyZWFtIGluZm8gZm9yIG5ldyBicmFuY2giCittc2dzdHIgIueCuuaWsOeahOWIhuaUr+ioreWumuS4iua4uOioiuaBryIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTcKK21zZ2lkICJmb3JjZSBjaGVja291dCAodGhyb3cgYXdheSBsb2NhbCBtb2RpZmljYXRpb25zKSIKK21zZ3N0ciAi5by35Yi257C95Ye677yI5o2o5qOE5pys5qmf5L+u5pS577yJIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ1OQorbXNnaWQgIm5ldy1icmFuY2giCittc2dzdHIgIuaWsOWIhuaUryIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NTkKK21zZ2lkICJuZXcgdW5wYXJlbnRlZCBicmFuY2giCittc2dzdHIgIuaWsOeahOaykuacieeItuaPkOS6pOeahOWIhuaUryIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE0NjEgYnVpbHRpbi9tZXJnZS5jOjI4OAorbXNnaWQgInVwZGF0ZSBpZ25vcmVkIGZpbGVzIChkZWZhdWx0KSIKK21zZ3N0ciAi5pu05paw5b+955Wl55qE5qqU5qGI77yI6aCQ6Kit77yJIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ2NAorbXNnaWQgImRvIG5vdCBjaGVjayBpZiBhbm90aGVyIHdvcmt0cmVlIGlzIGhvbGRpbmcgdGhlIGdpdmVuIHJlZiIKK21zZ3N0ciAi5LiN5qqi5p+l5oyH5a6a55qE5byV55So5piv5ZCm6KKr5YW25LuW5bel5L2c5Y2A5omA5Y2g55SoIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ3NworbXNnaWQgImNoZWNrb3V0IG91ciB2ZXJzaW9uIGZvciB1bm1lcmdlZCBmaWxlcyIKK21zZ3N0ciAi5bCN5bCa5pyq5ZCI5L2155qE5qqU5qGI57C95Ye65oiR5YCR55qE54mI5pysIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTQ4MAorbXNnaWQgImNoZWNrb3V0IHRoZWlyIHZlcnNpb24gZm9yIHVubWVyZ2VkIGZpbGVzIgorbXNnc3RyICLlsI3lsJrmnKrlkIjkvbXnmoTmqpTmoYjnsL3lh7rku5blgJHnmoTniYjmnKwiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNDg0Cittc2dpZCAiZG8gbm90IGxpbWl0IHBhdGhzcGVjcyB0byBzcGFyc2UgZW50cmllcyBvbmx5IgorbXNnc3RyICLlsI3ot6/lvpHkuI3lgZrnqIDnlo/nsL3lh7rnmoTpmZDliLYiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTM3Cittc2dpZCAiLWIsIC1CIGFuZCAtLW9ycGhhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItYuOAgS1CIOWSjCAtLW9ycGhhbiDmmK/kupLmlqXnmoQiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNTQwCittc2dpZCAiLXAgYW5kIC0tb3ZlcmxheSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItcCDlkowgLS1vdmVybGF5IOS6kuaWpSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE1NzcKK21zZ2lkICItLXRyYWNrIG5lZWRzIGEgYnJhbmNoIG5hbWUiCittc2dzdHIgIi0tdHJhY2sg6ZyA6KaB5LiA5YCL5YiG5pSv5ZCNIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTU4MgorbXNnaWQgIm1pc3NpbmcgYnJhbmNoIG5hbWU7IHRyeSAtYiIKK21zZ3N0ciAi57y65bCR5YiG5pSv5ZCN77yM5ZiX6KmmIC1iIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVzb2x2ZSAlcyIKK21zZ3N0ciAi54Sh5rOV6Kej5p6QICVzIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTYzMQorbXNnaWQgImludmFsaWQgcGF0aCBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICLnhKHmlYjnmoTot6/lvpHopo/moLwiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgY29tbWl0IGFuZCBhIGJyYW5jaCAnJXMnIGNhbm5vdCBiZSBjcmVhdGVkIGZyb20gaXQiCittc2dzdHIgIiclcycg5LiN5piv5LiA5YCL5o+Q5Lqk77yM5LiN6IO95Z+65pa85a6D5bu656uL5YiG5pSvICclcyciCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjQyCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBjaGVja291dDogLS1kZXRhY2ggZG9lcyBub3QgdGFrZSBhIHBhdGggYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAiZ2l0IGNoZWNrb3V077yaLS1kZXRhY2gg5LiN6IO95o6l5pS26Lev5b6R5Y+D5pW4ICclcyciCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjUxCisjfCBtc2dpZCAiLS1maXJzdC1wYXJlbnQgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1iaXNlY3QiCittc2dpZCAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1kZXRhY2giCittc2dzdHIgIi0tcGF0aHNwZWMtZnJvbS1maWxlIOiIhyAtLWRldGFjaCDkuI3nm7jlrrkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjU0IGJ1aWx0aW4vcmVzZXQuYzozMjQKKyN8IG1zZ2lkICItLWZpcnN0LXBhcmVudCBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWJpc2VjdCIKK21zZ2lkICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLXBhdGNoIgorbXNnc3RyICItLXBhdGhzcGVjLWZyb20tZmlsZSDoiIcgLS1wYXRjaCDkuI3nm7jlrrkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNjY1Cittc2dpZCAiIgorImdpdCBjaGVja291dDogLS1vdXJzLy0tdGhlaXJzLCAtLWZvcmNlIGFuZCAtLW1lcmdlIGFyZSBpbmNvbXBhdGlibGUgd2hlblxuIgorImNoZWNraW5nIG91dCBvZiB0aGUgaW5kZXguIgorbXNnc3RyICJnaXQgY2hlY2tvdXTvvJrlnKjlvp7ntKLlvJXnsL3lh7rmmYLvvIwtLW91cnMvLS10aGVpcnPjgIEtLWZvcmNlIOWSjCAtLW1lcmdlIOS4jeebuOWuueOAgiIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE2NzAKK21zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHBhdGgocykgdG8gcmVzdG9yZSIKK21zZ3N0ciAi5oKo5b+F6aCI5oyH5a6a5LiA5YCL6KaB5b6p5Y6f55qE6Lev5b6RIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTY4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJyVzJyBtYXRjaGVkIG1vcmUgdGhhbiBvbmUgcmVtb3RlIHRyYWNraW5nIGJyYW5jaC5cbiIKKyJXZSBmb3VuZCAlZCByZW1vdGVzIHdpdGggYSByZWZlcmVuY2UgdGhhdCBtYXRjaGVkLiBTbyB3ZSBmZWxsIGJhY2tcbiIKKyJvbiB0cnlpbmcgdG8gcmVzb2x2ZSB0aGUgYXJndW1lbnQgYXMgYSBwYXRoLCBidXQgZmFpbGVkIHRoZXJlIHRvbyFcbiIKKyJcbiIKKyJJZiB5b3UgbWVhbnQgdG8gY2hlY2sgb3V0IGEgcmVtb3RlIHRyYWNraW5nIGJyYW5jaCBvbiwgZS5nLiAnb3JpZ2luJyxcbiIKKyJ5b3UgY2FuIGRvIHNvIGJ5IGZ1bGx5IHF1YWxpZnlpbmcgdGhlIG5hbWUgd2l0aCB0aGUgLS10cmFjayBvcHRpb246XG4iCisiXG4iCisiICAgIGdpdCBjaGVja291dCAtLXRyYWNrIG9yaWdpbi88bmFtZT5cbiIKKyJcbiIKKyJJZiB5b3UnZCBsaWtlIHRvIGFsd2F5cyBoYXZlIGNoZWNrb3V0cyBvZiBhbiBhbWJpZ3VvdXMgPG5hbWU+IHByZWZlclxuIgorIm9uZSByZW1vdGUsIGUuZy4gdGhlICdvcmlnaW4nIHJlbW90ZSwgY29uc2lkZXIgc2V0dGluZ1xuIgorImNoZWNrb3V0LmRlZmF1bHRSZW1vdGU9b3JpZ2luIGluIHlvdXIgY29uZmlnLiIKK21zZ3N0ciAiIgorIiclcycg56ym5ZCI5LqG5LiA5YCL5Lul5LiK55qE6YGg56uv6L+96Lmk5YiG5pSv44CCXG4iCisi5oiR5YCR55m854++ICVkIOWAi+mBoOerr+eJiOacrOW6q+WFt+acieWQjOWQjeWIhuaUr+OAguaJgOS7peaIkeWAkei9ieiAjOWYl+ippuWwh+mAmeWAi+WPg+aVuOino+aekOeCulxuIgorIui3r+W+ke+8jOS9huaYr+S5n+WkseaVl+S6hu+8gVxuIgorIlxuIgorIuWmguaenOaCqOaDs+imgeewveWHuuS4gOWAi+mBoOerr+i/vei5pOWIhuaUr++8jOS+i+WmguWcqOmBoOerr+eJiOacrOW6qyAnb3JpZ2luJyDkuIrnmoTvvIzmgqjlj6/ku6VcbiIKKyLkvb/nlKjliIbmlK/lhajlkI3lkowgLS10cmFjayDpgbjpoIXvvJpcbiIKKyJcbiIKKyIgICAgZ2l0IGNoZWNrb3V0IC0tdHJhY2sgb3JpZ2luLzxuYW1lPlxuIgorIlxuIgorIuWmguaenOaCqOe4veaYr+WWnOatoeS9v+eUqOaooeeziueahOewoeefreWIhuaUr+WQjSA8bmFtZT7vvIzogIzkuI3llpzmraHlpoIgJ29yaWdpbicg55qE6YGg56uvXG4iCisi54mI5pys5bqr5ZCN77yM5Y+v5Lul5Zyo6Kit5a6a5Lit6Kit5a6aIGNoZWNrb3V0LmRlZmF1bHRSZW1vdGU9b3JpZ2lu44CCIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcxNCBidWlsdGluL2NoZWNrb3V0LmM6MTcxNiBidWlsdGluL2NoZWNrb3V0LmM6MTc2NQorIzogYnVpbHRpbi9jaGVja291dC5jOjE3NjcgYnVpbHRpbi9jbG9uZS5jOjEyMSBidWlsdGluL3JlbW90ZS5jOjE2OQorIzogYnVpbHRpbi9yZW1vdGUuYzoxNzEgYnVpbHRpbi93b3JrdHJlZS5jOjQ5OSBidWlsdGluL3dvcmt0cmVlLmM6NTAxCittc2dpZCAiYnJhbmNoIgorbXNnc3RyICLliIbmlK8iCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxNzE1Cittc2dpZCAiY3JlYXRlIGFuZCBjaGVja291dCBhIG5ldyBicmFuY2giCittc2dzdHIgIuW7uueri+S4puewveWHuuS4gOWAi+aWsOeahOWIhuaUryIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MTcKK21zZ2lkICJjcmVhdGUvcmVzZXQgYW5kIGNoZWNrb3V0IGEgYnJhbmNoIgorbXNnc3RyICLlu7rnq4sv6YeN6Kit5Lim57C95Ye65LiA5YCL5YiG5pSvIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTcxOAorbXNnaWQgImNyZWF0ZSByZWZsb2cgZm9yIG5ldyBicmFuY2giCittc2dzdHIgIueCuuaWsOeahOWIhuaUr+W7uueri+W8leeUqOaXpeiqjCIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MjAKK21zZ2lkICJzZWNvbmQgZ3Vlc3MgJ2dpdCBjaGVja291dCA8bm8tc3VjaC1icmFuY2g+JyAoZGVmYXVsdCkiCittc2dzdHIgIuS6jOasoeeMnOa4rCAnZ2l0IGNoZWNrb3V0IDznhKHmraTliIbmlK8+J++8iOmgkOiore+8iSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3MjEKK21zZ2lkICJ1c2Ugb3ZlcmxheSBtb2RlIChkZWZhdWx0KSIKK21zZ3N0ciAi5L2/55So55aK5Yqg5qih5byP77yI6aCQ6Kit77yJIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc2NgorbXNnaWQgImNyZWF0ZSBhbmQgc3dpdGNoIHRvIGEgbmV3IGJyYW5jaCIKK21zZ3N0ciAi5bu656uL5Lim5YiH5o+b5LiA5YCL5paw5YiG5pSvIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc2OAorbXNnaWQgImNyZWF0ZS9yZXNldCBhbmQgc3dpdGNoIHRvIGEgYnJhbmNoIgorbXNnc3RyICLlu7rnq4sv6YeN6Kit5Lim5YiH5o+b5LiA5YCL5YiG5pSvIgorCisjOiBidWlsdGluL2NoZWNrb3V0LmM6MTc3MAorbXNnaWQgInNlY29uZCBndWVzcyAnZ2l0IHN3aXRjaCA8bm8tc3VjaC1icmFuY2g+JyIKK21zZ3N0ciAi5LqM5qyh54yc5risICdnaXQgc3dpdGNoIDznhKHmraTliIbmlK8+JyIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE3NzIKK21zZ2lkICJ0aHJvdyBhd2F5IGxvY2FsIG1vZGlmaWNhdGlvbnMiCittc2dzdHIgIuaNqOajhOacrOapn+S/ruaUuSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MDQKK21zZ2lkICJ3aGljaCB0cmVlLWlzaCB0byBjaGVja291dCBmcm9tIgorbXNnc3RyICLopoHnsL3lh7rlk6rkuIDlgIvmqLkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODA2Cittc2dpZCAicmVzdG9yZSB0aGUgaW5kZXgiCittc2dzdHIgIuW+qeWOn+e0ouW8lSIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MDgKK21zZ2lkICJyZXN0b3JlIHRoZSB3b3JraW5nIHRyZWUgKGRlZmF1bHQpIgorbXNnc3RyICLlvqnljp/lt6XkvZzljYDvvIjpoJDoqK3vvIkiCisKKyM6IGJ1aWx0aW4vY2hlY2tvdXQuYzoxODEwCittc2dpZCAiaWdub3JlIHVubWVyZ2VkIGVudHJpZXMiCittc2dzdHIgIuW/veeVpeacquWQiOS9teaineebriIKKworIzogYnVpbHRpbi9jaGVja291dC5jOjE4MTEKK21zZ2lkICJ1c2Ugb3ZlcmxheSBtb2RlIgorbXNnc3RyICLkvb/nlKjnlorliqDmqKHlvI8iCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzoyOAorbXNnaWQgIiIKKyJnaXQgY2xlYW4gWy1kXSBbLWZdIFstaV0gWy1uXSBbLXFdIFstZSA8cGF0dGVybj5dIFsteCB8IC1YXSBbLS1dIDxwYXRocz4uLi4iCittc2dzdHIgImdpdCBjbGVhbiBbLWRdIFstZl0gWy1pXSBbLW5dIFstcV0gWy1lIDzmqKHlvI8+XSBbLXggfCAtWF0gWy0tXSA86Lev5b6RPi4uLiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbW92aW5nICVzXG4iCittc2dzdHIgIuato+WIqumZpCAlc1xuIgorCisjOiBidWlsdGluL2NsZWFuLmM6MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgcmVtb3ZlICVzXG4iCittc2dzdHIgIuWwh+WIqumZpCAlc1xuIgorCisjOiBidWlsdGluL2NsZWFuLmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgcmVwb3NpdG9yeSAlc1xuIgorbXNnc3RyICLlv73nlaXniYjmnKzluqsgJXNcbiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHNraXAgcmVwb3NpdG9yeSAlc1xuIgorbXNnc3RyICLlsIflv73nlaXniYjmnKzluqsgJXNcbiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgJXMiCittc2dzdHIgIuWIqumZpCAlcyDlpLHmlZciCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzozNworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgbHN0YXQgJXNcbiIKK21zZ3N0ciAi5LiN6IO95bCNICVzIOWRvOWPqyBsc3RhdFxuIgorCisjOiBidWlsdGluL2NsZWFuLmM6MzAxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQcm9tcHQgaGVscDpcbiIKKyIxICAgICAgICAgIC0gc2VsZWN0IGEgbnVtYmVyZWQgaXRlbVxuIgorImZvbyAgICAgICAgLSBzZWxlY3QgaXRlbSBiYXNlZCBvbiB1bmlxdWUgcHJlZml4XG4iCisiICAgICAgICAgICAtIChlbXB0eSkgc2VsZWN0IG5vdGhpbmdcbiIKK21zZ3N0ciAiIgorIuWNlOWKqe+8mlxuIgorIjEgICAgICAgICAgLSDpgI/pgY7nt6jomZ/pgbjmk4fkuIDlgIvpgbjpoIVcbiIKKyJmb28gICAgICAgIC0g6YCP6YGO5ZSv5LiA5YmN57a06YG45pOH5LiA5YCL6YG46aCFXG4iCisiICAgICAgICAgICAtIO+8iOepuu+8ieS7gOm6vOS5n+S4jemBuOaTh1xuIgorCisjOiBidWlsdGluL2NsZWFuLmM6MzA1IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQcm9tcHQgaGVscDpcbiIKKyIxICAgICAgICAgIC0gc2VsZWN0IGEgc2luZ2xlIGl0ZW1cbiIKKyIzLTUgICAgICAgIC0gc2VsZWN0IGEgcmFuZ2Ugb2YgaXRlbXNcbiIKKyIyLTMsNi05ICAgIC0gc2VsZWN0IG11bHRpcGxlIHJhbmdlc1xuIgorImZvbyAgICAgICAgLSBzZWxlY3QgaXRlbSBiYXNlZCBvbiB1bmlxdWUgcHJlZml4XG4iCisiLS4uLiAgICAgICAtIHVuc2VsZWN0IHNwZWNpZmllZCBpdGVtc1xuIgorIiogICAgICAgICAgLSBjaG9vc2UgYWxsIGl0ZW1zXG4iCisiICAgICAgICAgICAtIChlbXB0eSkgZmluaXNoIHNlbGVjdGluZ1xuIgorbXNnc3RyICIiCisi5Y2U5Yqp77yaXG4iCisiMSAgICAgICAgICAtIOmBuOaTh+S4gOWAi+mBuOmghVxuIgorIjMtNSAgICAgICAgLSDpgbjmk4fkuIDlgIvnr4TlnI3lhafnmoTmiYDmnInpgbjpoIVcbiIKKyIyLTMsNi05ICAgIC0g6YG45pOH5aSa5YCL56+E5ZyN5YWn55qE5omA5pyJ6YG46aCFXG4iCisiZm9vICAgICAgICAtIOmAj+mBjuWUr+S4gOWJjee2tOmBuOaTh+S4gOWAi+mBuOmghVxuIgorIi0uLi4gICAgICAgLSDlj43pgbjnibnlrprnmoTpgbjpoIVcbiIKKyIqICAgICAgICAgIC0g6YG45pOH5omA5pyJ6YG46aCFXG4iCisiICAgICAgICAgICAtIO+8iOepuu+8iee1kOadn+mBuOaTh1xuIgorCisjOiBidWlsdGluL2NsZWFuLmM6NTIxIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NTcwCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjU3NQorIywgYy1mb3JtYXQsIHBlcmwtZm9ybWF0Cittc2dpZCAiSHVoICglcyk/XG4iCittc2dzdHIgIuWXr++8iCVz77yJ77yfXG4iCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5wdXQgaWdub3JlIHBhdHRlcm5zPj4gIgorbXNnc3RyICLovLjlhaXnr4TmnKzku6XmjpLpmaTmop3nm64+PiAiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogQ2Fubm90IGZpbmQgaXRlbXMgbWF0Y2hlZCBieTogJXMiCittc2dzdHIgIuitpuWRiu+8mueEoeazleaJvuWIsOWSjCAlcyDnrKblkIjnmoTmop3nm64iCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo3MjEKK21zZ2lkICJTZWxlY3QgaXRlbXMgdG8gZGVsZXRlIgorbXNnc3RyICLpgbjmk4fopoHliKrpmaTnmoTmop3nm64iCisKKyMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8ga2VlcCBbeS9OXSBhcyBpcworIzogYnVpbHRpbi9jbGVhbi5jOjc2MgorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1vdmUgJXMgW3kvTl0/ICIKK21zZ3N0ciAi5Yiq6ZmkICVzIFt5L05d77yfIgorCisjOiBidWlsdGluL2NsZWFuLmM6Nzk1Cittc2dpZCAiIgorImNsZWFuICAgICAgICAgICAgICAgLSBzdGFydCBjbGVhbmluZ1xuIgorImZpbHRlciBieSBwYXR0ZXJuICAgLSBleGNsdWRlIGl0ZW1zIGZyb20gZGVsZXRpb25cbiIKKyJzZWxlY3QgYnkgbnVtYmVycyAgIC0gc2VsZWN0IGl0ZW1zIHRvIGJlIGRlbGV0ZWQgYnkgbnVtYmVyc1xuIgorImFzayBlYWNoICAgICAgICAgICAgLSBjb25maXJtIGVhY2ggZGVsZXRpb24gKGxpa2UgXCJybSAtaVwiKVxuIgorInF1aXQgICAgICAgICAgICAgICAgLSBzdG9wIGNsZWFuaW5nXG4iCisiaGVscCAgICAgICAgICAgICAgICAtIHRoaXMgc2NyZWVuXG4iCisiPyAgICAgICAgICAgICAgICAgICAtIGhlbHAgZm9yIHByb21wdCBzZWxlY3Rpb24iCittc2dzdHIgIiIKKyJjbGVhbiAgICAgICAgICAgICAgIC0g6ZaL5aeL5riF55CGXG4iCisiZmlsdGVyIGJ5IHBhdHRlcm4gICAtIOmAj+mBjuevhOacrOaOkumZpOimgeWIqumZpOeahOaineebrlxuIgorInNlbGVjdCBieSBudW1iZXJzICAgLSDpgI/pgY7mlbjlrZfpgbjmk4fopoHliKrpmaTnmoTmop3nm65cbiIKKyJhc2sgZWFjaCAgICAgICAgICAgIC0g6Yed5bCN5Yiq6Zmk6YCQ5LiA6Kmi5ZWP77yI5bCx5YOPIFwicm0gLWlcIu+8iVxuIgorInF1aXQgICAgICAgICAgICAgICAgLSDlgZzmraLliKrpmaTkuKbpm6LplotcbiIKKyJoZWxwICAgICAgICAgICAgICAgIC0g6aGv56S65pys5Y2U5YqpXG4iCisiPyAgICAgICAgICAgICAgICAgICAtIOmhr+ekuuWmguS9leWcqOaPkOekuuespuS4i+mBuOaTh+eahOWNlOWKqSIKKworIzogYnVpbHRpbi9jbGVhbi5jOjgzMQorbXNnaWQgIldvdWxkIHJlbW92ZSB0aGUgZm9sbG93aW5nIGl0ZW06IgorbXNnaWRfcGx1cmFsICJXb3VsZCByZW1vdmUgdGhlIGZvbGxvd2luZyBpdGVtczoiCittc2dzdHJbMF0gIuWwh+WIqumZpOWmguS4i+aineebru+8miIKK21zZ3N0clsxXSAi5bCH5Yiq6Zmk5aaC5LiL5qKd55uu77yaIgorCisjOiBidWlsdGluL2NsZWFuLmM6ODQ3Cittc2dpZCAiTm8gbW9yZSBmaWxlcyB0byBjbGVhbiwgZXhpdGluZy4iCittc2dzdHIgIuaykuacieimgea4heeQhueahOaqlOahiO+8jOmboumWi+OAgiIKKworIzogYnVpbHRpbi9jbGVhbi5jOjkwOQorbXNnaWQgImRvIG5vdCBwcmludCBuYW1lcyBvZiBmaWxlcyByZW1vdmVkIgorbXNnc3RyICLkuI3liJfljbDliKrpmaTmqpTmoYjnmoTlkI3nqLEiCisKKyM6IGJ1aWx0aW4vY2xlYW4uYzo5MTEKK21zZ2lkICJmb3JjZSIKK21zZ3N0ciAi5by35Yi2IgorCisjOiBidWlsdGluL2NsZWFuLmM6OTEyCittc2dpZCAiaW50ZXJhY3RpdmUgY2xlYW5pbmciCittc2dzdHIgIuS6kuWLleW8j+a4hemZpCIKKworIzogYnVpbHRpbi9jbGVhbi5jOjkxNAorbXNnaWQgInJlbW92ZSB3aG9sZSBkaXJlY3RvcmllcyIKK21zZ3N0ciAi5Yiq6Zmk5pW05YCL55uu6YyEIgorCisjOiBidWlsdGluL2NsZWFuLmM6OTE1IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NDggYnVpbHRpbi9kZXNjcmliZS5jOjU1MAorIzogYnVpbHRpbi9ncmVwLmM6OTAxIGJ1aWx0aW4vbG9nLmM6MTc3IGJ1aWx0aW4vbG9nLmM6MTc5CisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTU3IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjQgYnVpbHRpbi9uYW1lLXJldi5jOjQ2NgorIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3OQorbXNnaWQgInBhdHRlcm4iCittc2dzdHIgIuaooeW8jyIKKworIzogYnVpbHRpbi9jbGVhbi5jOjkxNgorbXNnaWQgImFkZCA8cGF0dGVybj4gdG8gaWdub3JlIHJ1bGVzIgorbXNnc3RyICLmlrDlop4gPOaooeW8jz4g5Yiw5b+955Wl6KaP5YmHIgorCisjOiBidWlsdGluL2NsZWFuLmM6OTE3Cittc2dpZCAicmVtb3ZlIGlnbm9yZWQgZmlsZXMsIHRvbyIKK21zZ3N0ciAi5Lmf5Yiq6Zmk5b+955Wl55qE5qqU5qGIIgorCisjOiBidWlsdGluL2NsZWFuLmM6OTE5Cittc2dpZCAicmVtb3ZlIG9ubHkgaWdub3JlZCBmaWxlcyIKK21zZ3N0ciAi5Y+q5Yiq6Zmk5b+955Wl55qE5qqU5qGIIgorCisjOiBidWlsdGluL2NsZWFuLmM6OTM3Cittc2dpZCAiLXggYW5kIC1YIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgorbXNnc3RyICIteCDlkowgLVgg5LiN6IO95ZCM5pmC5L2/55SoIgorCisjOiBidWlsdGluL2NsZWFuLmM6OTQxCittc2dpZCAiIgorImNsZWFuLnJlcXVpcmVGb3JjZSBzZXQgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgcmVmdXNpbmcgdG8gIgorImNsZWFuIgorbXNnc3RyICJjbGVhbi5yZXF1aXJlRm9yY2Ug6Kit5a6a54K6IHRydWUg5LiU5pyq5o+Q5L6bIC1p44CBLW4g5oiWIC1mIOmBuOmghe+8jOaLkue1leWft+ihjOa4heeQhuWLleS9nCIKKworIzogYnVpbHRpbi9jbGVhbi5jOjk0NAorbXNnaWQgIiIKKyJjbGVhbi5yZXF1aXJlRm9yY2UgZGVmYXVsdHMgdG8gdHJ1ZSBhbmQgbmVpdGhlciAtaSwgLW4sIG5vciAtZiBnaXZlbjsgIgorInJlZnVzaW5nIHRvIGNsZWFuIgorbXNnc3RyICJjbGVhbi5yZXF1aXJlRm9yY2Ug6aCQ6Kit54K6IHRydWUg5LiU5pyq5o+Q5L6bIC1p44CBLW4g5oiWIC1mIOmBuOmghe+8jOaLkue1leWft+ihjOa4heeQhuWLleS9nCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjQ1Cittc2dpZCAiZ2l0IGNsb25lIFs8b3B0aW9ucz5dIFstLV0gPHJlcG8+IFs8ZGlyPl0iCittc2dzdHIgImdpdCBjbG9uZSBbPOmBuOmghT5dIFstLV0gPOeJiOacrOW6qz4gWzzot6/lvpE+XSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjkzCittc2dpZCAiZG9uJ3QgY3JlYXRlIGEgY2hlY2tvdXQiCittc2dzdHIgIuS4jeW7uueri+S4gOWAi+ewveWHuiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjk0IGJ1aWx0aW4vY2xvbmUuYzo5NiBidWlsdGluL2luaXQtZGIuYzo0ODkKK21zZ2lkICJjcmVhdGUgYSBiYXJlIHJlcG9zaXRvcnkiCittc2dzdHIgIuW7uueri+S4gOWAi+e0lOeJiOacrOW6qyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjk4Cittc2dpZCAiY3JlYXRlIGEgbWlycm9yIHJlcG9zaXRvcnkgKGltcGxpZXMgYmFyZSkiCittc2dzdHIgIuW7uueri+S4gOWAi+mPoeWDj+eJiOacrOW6q++8iOS5n+aYr+e0lOeJiOacrOW6q++8iSIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMAorbXNnaWQgInRvIGNsb25lIGZyb20gYSBsb2NhbCByZXBvc2l0b3J5IgorbXNnc3RyICLlvp7mnKzmqZ/niYjmnKzluqvopIfoo70iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDIKK21zZ2lkICJkb24ndCB1c2UgbG9jYWwgaGFyZGxpbmtzLCBhbHdheXMgY29weSIKK21zZ3N0ciAi5LiN5L2/55So5pys5qmf56Gs6YCj57WQ77yM5aeL57WC6KSH6KO9IgorCisjOiBidWlsdGluL2Nsb25lLmM6MTA0Cittc2dpZCAic2V0dXAgYXMgc2hhcmVkIHJlcG9zaXRvcnkiCittc2dzdHIgIuioreWumueCuuWFseS6q+eJiOacrOW6qyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwNworbXNnaWQgInBhdGhzcGVjIgorbXNnc3RyICLot6/lvpHopo/moLwiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDcKK21zZ2lkICJpbml0aWFsaXplIHN1Ym1vZHVsZXMgaW4gdGhlIGNsb25lIgorbXNnc3RyICLlnKjopIfoo73mmYLliJ3lp4vljJblrZDmqKHntYQiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTAKK21zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBjbG9uZWQgaW4gcGFyYWxsZWwiCittc2dzdHIgIuS4pueZvOikh+ijveeahOWtkOaooee1hOeahOaVuOmHjyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjExMSBidWlsdGluL2luaXQtZGIuYzo0ODYKK21zZ2lkICJ0ZW1wbGF0ZS1kaXJlY3RvcnkiCittc2dzdHIgIuevhOacrOebrumMhCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjExMiBidWlsdGluL2luaXQtZGIuYzo0ODcKK21zZ2lkICJkaXJlY3RvcnkgZnJvbSB3aGljaCB0ZW1wbGF0ZXMgd2lsbCBiZSB1c2VkIgorbXNnc3RyICLnr4TmnKznm67pjITlsIfooqvkvb/nlKgiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTQgYnVpbHRpbi9jbG9uZS5jOjExNiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTM5MgorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODUKK21zZ2lkICJyZWZlcmVuY2UgcmVwb3NpdG9yeSIKK21zZ3N0ciAi5Y+D6ICD54mI5pys5bqrIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTE4IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzk0CisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg4NworbXNnaWQgInVzZSAtLXJlZmVyZW5jZSBvbmx5IHdoaWxlIGNsb25pbmciCittc2dzdHIgIuWDheWcqOikh+ijveaZguWPg+iAgyAtLXJlZmVyZW5jZSDmjIflkJHnmoTmnKzmqZ/niYjmnKzluqsiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMTkgYnVpbHRpbi9jb2x1bW4uYzoyNyBidWlsdGluL21lcmdlLWZpbGUuYzo0NgorIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk0IGJ1aWx0aW4vcmVwYWNrLmM6MzI3Cittc2dpZCAibmFtZSIKK21zZ3N0ciAi5ZCN56ixIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTIwCittc2dpZCAidXNlIDxuYW1lPiBpbnN0ZWFkIG9mICdvcmlnaW4nIHRvIHRyYWNrIHVwc3RyZWFtIgorbXNnc3RyICLkvb/nlKggPOWQjeeosT4g6ICM5LiN5pivICdvcmlnaW4nIOWOu+i/vei5pOS4iua4uCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEyMgorbXNnaWQgImNoZWNrb3V0IDxicmFuY2g+IGluc3RlYWQgb2YgdGhlIHJlbW90ZSdzIEhFQUQiCittc2dzdHIgIuewveWHuiA85YiG5pSvPiDogIzkuI3mmK/pgaDnq68gSEVBRCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEyNAorbXNnaWQgInBhdGggdG8gZ2l0LXVwbG9hZC1wYWNrIG9uIHRoZSByZW1vdGUiCittc2dzdHIgIumBoOerryBnaXQtdXBsb2FkLXBhY2sg6Lev5b6RIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTI1IGJ1aWx0aW4vZmV0Y2guYzoxNjggYnVpbHRpbi9ncmVwLmM6ODQwCisjOiBidWlsdGluL3B1bGwuYzoyMjcKK21zZ2lkICJkZXB0aCIKK21zZ3N0ciAi5rex5bqmIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTI2Cittc2dpZCAiY3JlYXRlIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGF0IGRlcHRoIgorbXNnc3RyICLlu7rnq4vkuIDlgIvmjIflrprmt7HluqbnmoTmt7ropIfoo70iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjcgYnVpbHRpbi9mZXRjaC5jOjE3MCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODMKK21zZ2lkICJ0aW1lIgorbXNnc3RyICLmmYLplpMiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjgKK21zZ2lkICJjcmVhdGUgYSBzaGFsbG93IGNsb25lIHNpbmNlIGEgc3BlY2lmaWMgdGltZSIKK21zZ3N0ciAi5b6e5LiA5YCL54m55a6a5pmC6ZaT5bu656uL5LiA5YCL5re66KSH6KO9IgorCisjOiBidWlsdGluL2Nsb25lLmM6MTI5IGJ1aWx0aW4vZmV0Y2guYzoxNzIgYnVpbHRpbi9mZXRjaC5jOjE5NQorIzogYnVpbHRpbi9yZWJhc2UuYzoxNDQ1Cittc2dpZCAicmV2aXNpb24iCittc2dzdHIgIueJiOacrCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEzMCBidWlsdGluL2ZldGNoLmM6MTczCittc2dpZCAiZGVlcGVuIGhpc3Rvcnkgb2Ygc2hhbGxvdyBjbG9uZSwgZXhjbHVkaW5nIHJldiIKK21zZ3N0ciAi5rex5YyW5re66KSH6KO955qE5q235Y+y77yM6Zmk5LqG54m55a6a54mI5pysIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTMyCittc2dpZCAiY2xvbmUgb25seSBvbmUgYnJhbmNoLCBIRUFEIG9yIC0tYnJhbmNoIgorbXNnc3RyICLlj6ropIfoo73kuIDlgIvliIbmlK/jgIFIRUFEIOaIliAtLWJyYW5jaCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEzNAorbXNnaWQgImRvbid0IGNsb25lIGFueSB0YWdzLCBhbmQgbWFrZSBsYXRlciBmZXRjaGVzIG5vdCB0byBmb2xsb3cgdGhlbSIKK21zZ3N0ciAi5LiN6KaB6KSH6KO95Lu75L2V5qiZ57Gk77yM5Lim5LiU5b6M57qM5Y+W5b6X5YuV5L2c5Lmf5LiN5LiL6LyJ5a6D5YCRIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTM2Cittc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgYmUgc2hhbGxvdyIKK21zZ3N0ciAi5a2Q5qih57WE5bCH5Lul5re65LiL6LyJ5qih5byP6KSH6KO9IgorCisjOiBidWlsdGluL2Nsb25lLmM6MTM3IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NQorbXNnaWQgImdpdGRpciIKK21zZ3N0ciAiZ2l055uu6YyEIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTM4IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5NgorbXNnaWQgInNlcGFyYXRlIGdpdCBkaXIgZnJvbSB3b3JraW5nIHRyZWUiCittc2dzdHIgImdpdOebrumMhOWSjOW3peS9nOWNgOWIhumboiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEzOQorbXNnaWQgImtleT12YWx1ZSIKK21zZ3N0ciAia2V5PXZhbHVlIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTQwCittc2dpZCAic2V0IGNvbmZpZyBpbnNpZGUgdGhlIG5ldyByZXBvc2l0b3J5IgorbXNnc3RyICLlnKjmlrDniYjmnKzluqvkuK3oqK3lrproqK3lrproqIrmga8iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxNDIgYnVpbHRpbi9mZXRjaC5jOjE5MCBidWlsdGluL2xzLXJlbW90ZS5jOjc2CisjOiBidWlsdGluL3B1c2guYzo1NzMgYnVpbHRpbi9zZW5kLXBhY2suYzoxNzIKK21zZ2lkICJzZXJ2ZXItc3BlY2lmaWMiCittc2dzdHIgInNlcnZlci1zcGVjaWZpYyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjE0MiBidWlsdGluL2ZldGNoLmM6MTkwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzYKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MyBidWlsdGluL3NlbmQtcGFjay5jOjE3MworbXNnaWQgIm9wdGlvbiB0byB0cmFuc21pdCIKK21zZ3N0ciAi5YKz6Ly46YG46aCFIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTQzIGJ1aWx0aW4vZmV0Y2guYzoxOTEgYnVpbHRpbi9wdWxsLmM6MjQwCisjOiBidWlsdGluL3B1c2guYzo1NzQKK21zZ2lkICJ1c2UgSVB2NCBhZGRyZXNzZXMgb25seSIKK21zZ3N0ciAi5Y+q5L2/55SoIElQdjQg5L2N5Z2AIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTQ1IGJ1aWx0aW4vZmV0Y2guYzoxOTMgYnVpbHRpbi9wdWxsLmM6MjQzCisjOiBidWlsdGluL3B1c2guYzo1NzYKK21zZ2lkICJ1c2UgSVB2NiBhZGRyZXNzZXMgb25seSIKK21zZ3N0ciAi5Y+q5L2/55SoIElQdjYg5L2N5Z2AIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTQ5Cittc2dpZCAiYW55IGNsb25lZCBzdWJtb2R1bGVzIHdpbGwgdXNlIHRoZWlyIHJlbW90ZS10cmFja2luZyBicmFuY2giCittc2dzdHIgIuS7u+S9leikh+ijveeahOWtkOaooee1hOWwh+S9v+eUqOWug+WAkeeahOmBoOerr+i/vei5pOWIhuaUryIKKworIzogYnVpbHRpbi9jbG9uZS5jOjE1MQorbXNnaWQgImluaXRpYWxpemUgc3BhcnNlLWNoZWNrb3V0IGZpbGUgdG8gaW5jbHVkZSBvbmx5IGZpbGVzIGF0IHJvb3QiCittc2dzdHIgIuWIneWni+WMlueogOeWj+ewveWHuuaqlOahiO+8jOWPquWMheWQq+agueebrumMhOS4reeahOaqlOahiCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjI4NworbXNnaWQgIiIKKyJObyBkaXJlY3RvcnkgbmFtZSBjb3VsZCBiZSBndWVzc2VkLlxuIgorIlBsZWFzZSBzcGVjaWZ5IGEgZGlyZWN0b3J5IG9uIHRoZSBjb21tYW5kIGxpbmUiCittc2dzdHIgIiIKKyLnhKHms5XnjJzliLDnm67pjITlkI3jgIJcbiIKKyLoq4vlnKjmjIfku6TliJfmjIflrprkuIDlgIvnm67pjIQiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5mbzogQ291bGQgbm90IGFkZCBhbHRlcm5hdGUgZm9yICclcyc6ICVzXG4iCittc2dzdHIgImluZm86IOS4jeiDveeCuiAnJXMnIOaWsOWinuS4gOWAi+WCmeeUqO+8miVzXG4iCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZXhpc3RzIGFuZCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzIOWtmOWcqOS4lOS4jeaYr+S4gOWAi+ebrumMhCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc3RhcnQgaXRlcmF0b3Igb3ZlciAnJXMnIgorbXNnc3RyICLnhKHms5XlnKggJyVzJyDkuIrllZ/li5Xnlorku6PlmagiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo0NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBsaW5rICclcyciCittc2dzdHIgIuW7uueri+mAo+e1kCAnJXMnIOWkseaVlyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29weSBmaWxlIHRvICclcyciCittc2dzdHIgIuikh+ijveaqlOahiOiHsyAnJXMnIOWkseaVlyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gaXRlcmF0ZSBvdmVyICclcyciCittc2dzdHIgIueEoeazleWcqCAnJXMnIOS4iueWiuS7oyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjQ5NAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lLlxuIgorbXNnc3RyICLlrozmiJDjgIJcbiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjUwOAorbXNnaWQgIiIKKyJDbG9uZSBzdWNjZWVkZWQsIGJ1dCBjaGVja291dCBmYWlsZWQuXG4iCisiWW91IGNhbiBpbnNwZWN0IHdoYXQgd2FzIGNoZWNrZWQgb3V0IHdpdGggJ2dpdCBzdGF0dXMnXG4iCisiYW5kIHJldHJ5IHdpdGggJ2dpdCByZXN0b3JlIC0tc291cmNlPUhFQUQgOi8nXG4iCittc2dzdHIgIiIKKyLopIfoo73miJDlip/vvIzkvYbmmK/nsL3lh7rlpLHmlZfjgIJcbiIKKyLmgqjlj6/ku6XpgI/pgY4gJ2dpdCBzdGF0dXMnIOaqouafpeWTquS6m+W3suiiq+ewveWHuu+8jOeEtuW+jOS9v+eUqOaMh+S7pFxuIgorIidnaXQgcmVzdG9yZSAtLXNvdXJjZT1IRUFEIDovJyDph43oqaZcbiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZmluZCByZW1vdGUgYnJhbmNoICVzIHRvIGNsb25lLiIKK21zZ3N0ciAi5LiN6IO955m854++6KaB6KSH6KO955qE6YGg56uv5YiG5pSvICVz44CCIgorCisjOiBidWlsdGluL2Nsb25lLmM6NzA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byB1cGRhdGUgJXMiCittc2dzdHIgIuS4jeiDveabtOaWsCAlcyIKKworIzogYnVpbHRpbi9jbG9uZS5jOjc1MgorI3wgbXNnaWQgImZhaWxlZCB0byBmaW5hbGl6ZSAnJXMnIgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIHNwYXJzZS1jaGVja291dCIKK21zZ3N0ciAi54Sh5rOV5Yid5aeL5YyW56iA55aP57C95Ye6IgorCisjOiBidWlsdGluL2Nsb25lLmM6Nzc1Cittc2dpZCAicmVtb3RlIEhFQUQgcmVmZXJzIHRvIG5vbmV4aXN0ZW50IHJlZiwgdW5hYmxlIHRvIGNoZWNrb3V0LlxuIgorbXNnc3RyICLpgaDnq68gSEVBRCDmjIflkJHkuIDlgIvkuI3lrZjlnKjnmoTlvJXnlKjvvIznhKHms5XnsL3lh7rjgIJcbiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjgwNgorbXNnaWQgInVuYWJsZSB0byBjaGVja291dCB3b3JraW5nIHRyZWUiCittc2dzdHIgIuS4jeiDveewveWHuuW3peS9nOWNgCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjg1NgorbXNnaWQgInVuYWJsZSB0byB3cml0ZSBwYXJhbWV0ZXJzIHRvIGNvbmZpZyBmaWxlIgorbXNnc3RyICLnhKHms5XlsIflj4Pmlbjlr6vlhaXoqK3lrprmqpTmoYgiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5MTkKK21zZ2lkICJjYW5ub3QgcmVwYWNrIHRvIGNsZWFuIHVwIgorbXNnc3RyICLnhKHms5Xln7fooYwgcmVwYWNrIOS+hua4heeQhiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjkyMQorbXNnaWQgImNhbm5vdCB1bmxpbmsgdGVtcG9yYXJ5IGFsdGVybmF0ZXMgZmlsZSIKK21zZ3N0ciAi54Sh5rOV5Yiq6Zmk5pqr5pmC55qEIGFsdGVybmF0ZXMg5qqU5qGIIgorCisjOiBidWlsdGluL2Nsb25lLmM6OTU5IGJ1aWx0aW4vcmVjZWl2ZS1wYWNrLmM6MTk0OAorbXNnaWQgIlRvbyBtYW55IGFyZ3VtZW50cy4iCittc2dzdHIgIuWkquWkmuWPg+aVuOOAgiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjk2MworbXNnaWQgIllvdSBtdXN0IHNwZWNpZnkgYSByZXBvc2l0b3J5IHRvIGNsb25lLiIKK21zZ3N0ciAi5oKo5b+F6aCI5oyH5a6a5LiA5YCL54mI5pys5bqr5L6G6KSH6KO944CCIgorCisjOiBidWlsdGluL2Nsb25lLmM6OTc2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tYmFyZSBhbmQgLS1vcmlnaW4gJXMgb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlLiIKK21zZ3N0ciAiLS1iYXJlIOWSjCAtLW9yaWdpbiAlcyDpgbjpoIXkuI3nm7jlrrnjgIIiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzo5NzkKK21zZ2lkICItLWJhcmUgYW5kIC0tc2VwYXJhdGUtZ2l0LWRpciBhcmUgaW5jb21wYXRpYmxlLiIKK21zZ3N0ciAiLS1iYXJlIOWSjCAtLXNlcGFyYXRlLWdpdC1kaXIg6YG46aCF5LiN55u45a6544CCIgorCisjOiBidWlsdGluL2Nsb25lLmM6OTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi54mI5pys5bqrICclcycg5LiN5a2Y5ZyoIgorCisjOiBidWlsdGluL2Nsb25lLmM6OTk4IGJ1aWx0aW4vZmV0Y2guYzoxNzg3CisjLCBjLWZvcm1hdAorbXNnaWQgImRlcHRoICVzIGlzIG5vdCBhIHBvc2l0aXZlIG51bWJlciIKK21zZ3N0ciAi5rex5bqmICVzIOS4jeaYr+S4gOWAi+ato+aVuCIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVzdGluYXRpb24gcGF0aCAnJXMnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYW4gZW1wdHkgZGlyZWN0b3J5LiIKK21zZ3N0ciAi55uu5qiZ6Lev5b6RICclcycg5bey57aT5a2Y5Zyo77yM5Lim5LiU5LiN5piv5LiA5YCL56m655uu6YyE44CCIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3b3JraW5nIHRyZWUgJyVzJyBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIuW3peS9nOWNgCAnJXMnIOW3sue2k+WtmOWcqOOAgiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEwMzMgYnVpbHRpbi9jbG9uZS5jOjEwNTQgYnVpbHRpbi9kaWZmdG9vbC5jOjI3MQorIzogYnVpbHRpbi9sb2cuYzoxODY2IGJ1aWx0aW4vd29ya3RyZWUuYzozMDIgYnVpbHRpbi93b3JrdHJlZS5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGxlYWRpbmcgZGlyZWN0b3JpZXMgb2YgJyVzJyIKK21zZ3N0ciAi5LiN6IO954K6ICclcycg5bu656uL5YWI5bCO55uu6YyEIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTAzOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHdvcmsgdHJlZSBkaXIgJyVzJyIKK21zZ3N0ciAi5LiN6IO95bu656uL5bel5L2c5Y2A55uu6YyEICclcyciCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMDU4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNsb25pbmcgaW50byBiYXJlIHJlcG9zaXRvcnkgJyVzJy4uLlxuIgorbXNnc3RyICLopIfoo73liLDntJTniYjmnKzluqsgJyVzJy4uLlxuIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTA2MAorIywgYy1mb3JtYXQKK21zZ2lkICJDbG9uaW5nIGludG8gJyVzJy4uLlxuIgorbXNnc3RyICLmraPopIfoo73liLAgJyVzJy4uLlxuIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTA4NAorbXNnaWQgIiIKKyJjbG9uZSAtLXJlY3Vyc2l2ZSBpcyBub3QgY29tcGF0aWJsZSB3aXRoIGJvdGggLS1yZWZlcmVuY2UgYW5kIC0tcmVmZXJlbmNlLWlmLSIKKyJhYmxlIgorbXNnc3RyICJjbG9uZSAtLXJlY3Vyc2l2ZSDlkowgLS1yZWZlcmVuY2Ug5Lul5Y+KIC0tcmVmZXJlbmNlLWlmLWFibGUg5LiN55u45a65IgorCisjOiBidWlsdGluL2Nsb25lLmM6MTE0OAorbXNnaWQgIi0tZGVwdGggaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgorbXNnc3RyICItLWRlcHRoIOWcqOacrOapn+ikh+ijveaZguiiq+W/veeVpe+8jOiri+aUueeUqCBmaWxlOi8vIOWNlOWumuOAgiIKKworIzogYnVpbHRpbi9jbG9uZS5jOjExNTAKK21zZ2lkICItLXNoYWxsb3ctc2luY2UgaXMgaWdub3JlZCBpbiBsb2NhbCBjbG9uZXM7IHVzZSBmaWxlOi8vIGluc3RlYWQuIgorbXNnc3RyICItLXNoYWxsb3ctc2luY2Ug5Zyo5pys5qmf6KSH6KO95pmC6KKr5b+955Wl77yM6KuL5pS555SoIGZpbGU6Ly8g5Y2U5a6a44CCIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTE1MgorbXNnaWQgIi0tc2hhbGxvdy1leGNsdWRlIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKK21zZ3N0ciAiLS1zaGFsbG93LWV4Y2x1ZGUg5Zyo5pys5qmf6KSH6KO95pmC6KKr5b+955Wl77yM6KuL5pS555SoIGZpbGU6Ly8g5Y2U5a6a44CCIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTE1NAorbXNnaWQgIi0tZmlsdGVyIGlzIGlnbm9yZWQgaW4gbG9jYWwgY2xvbmVzOyB1c2UgZmlsZTovLyBpbnN0ZWFkLiIKK21zZ3N0ciAiLS1maWx0ZXIg5Zyo5pys5qmf6KSH6KO95pmC6KKr5b+955Wl77yM6KuL5pS555SoIGZpbGU6Ly8g5Y2U5a6a44CCIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTE1NworbXNnaWQgInNvdXJjZSByZXBvc2l0b3J5IGlzIHNoYWxsb3csIGlnbm9yaW5nIC0tbG9jYWwiCittc2dzdHIgIua6kOeJiOacrOW6q+aYr+a3uuikh+ijve+8jOW/veeVpSAtLWxvY2FsIgorCisjOiBidWlsdGluL2Nsb25lLmM6MTE2MgorbXNnaWQgIi0tbG9jYWwgaXMgaWdub3JlZCIKK21zZ3N0ciAiLS1sb2NhbCDooqvlv73nlaUiCisKKyM6IGJ1aWx0aW4vY2xvbmUuYzoxMjM3IGJ1aWx0aW4vY2xvbmUuYzoxMjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbW90ZSBicmFuY2ggJXMgbm90IGZvdW5kIGluIHVwc3RyZWFtICVzIgorbXNnc3RyICLpgaDnq6/liIbmlK8gJXMg5Zyo5LiK5ri4ICVzIOacqueZvOePviIKKworIzogYnVpbHRpbi9jbG9uZS5jOjEyNDgKK21zZ2lkICJZb3UgYXBwZWFyIHRvIGhhdmUgY2xvbmVkIGFuIGVtcHR5IHJlcG9zaXRvcnkuIgorbXNnc3RyICLmgqjkvLzkuY7opIfoo73kuobkuIDlgIvnqbrniYjmnKzluqvjgIIiCisKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MTAKK21zZ2lkICJnaXQgY29sdW1uIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgY29sdW1uIFs86YG46aCFPl0iCisKKyM6IGJ1aWx0aW4vY29sdW1uLmM6MjcKK21zZ2lkICJsb29rdXAgY29uZmlnIHZhcnMiCittc2dzdHIgIuWwi+aJvuioreWumuiuiuaVuCIKKworIzogYnVpbHRpbi9jb2x1bW4uYzoyOCBidWlsdGluL2NvbHVtbi5jOjI5Cittc2dpZCAibGF5b3V0IHRvIHVzZSIKK21zZ3N0ciAi6KaB5L2/55So55qE6YWN572uIgorCisjOiBidWlsdGluL2NvbHVtbi5jOjMwCittc2dpZCAiTWF4aW11bSB3aWR0aCIKK21zZ3N0ciAi5pyA5aSn5a+s5bqmIgorCisjOiBidWlsdGluL2NvbHVtbi5jOjMxCittc2dpZCAiUGFkZGluZyBzcGFjZSBvbiBsZWZ0IGJvcmRlciIKK21zZ3N0ciAi5bem6YKK5qGG55qE5aGr5YWF56m66ZaTIgorCisjOiBidWlsdGluL2NvbHVtbi5jOjMyCittc2dpZCAiUGFkZGluZyBzcGFjZSBvbiByaWdodCBib3JkZXIiCittc2dzdHIgIuWPs+mCiuahhueahOWhq+WFheepuumWkyIKKworIzogYnVpbHRpbi9jb2x1bW4uYzozMworbXNnaWQgIlBhZGRpbmcgc3BhY2UgYmV0d2VlbiBjb2x1bW5zIgorbXNnc3RyICLlhanliJfkuYvplpPnmoTloavlhYXnqbrplpMiCisKKyM6IGJ1aWx0aW4vY29sdW1uLmM6NTEKK21zZ2lkICItLWNvbW1hbmQgbXVzdCBiZSB0aGUgZmlyc3QgYXJndW1lbnQiCittc2dzdHIgIi0tY29tbWFuZCDlv4XpoIjmmK/nrKzkuIDlgIvlj4PmlbgiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxOAorbXNnaWQgIiIKKyJnaXQgY29tbWl0LXRyZWUgWygtcCA8cGFyZW50PikuLi5dIFstU1s8a2V5aWQ+XV0gWygtbSA8bWVzc2FnZT4pLi4uXSBbKC1GICIKKyI8ZmlsZT4pLi4uXSA8dHJlZT4iCittc2dzdHIgIiIKKyJnaXQgY29tbWl0LXRyZWUgWygtcCA854i25o+Q5LqkPikuLi5dIFstU1s8a2V5aWQ+XV0gWygtbSA85raI5oGvPikuLi5dIFsoLUYgPOaqlOahiCIKKyI+KS4uLl0gPOaouT4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzozMQorIywgYy1mb3JtYXQKK21zZ2lkICJkdXBsaWNhdGUgcGFyZW50ICVzIGlnbm9yZWQiCittc2dzdHIgIuW/veeVpemHjeikh+eahOeItuaPkOS6pCAlcyIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjU2IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMzYgYnVpbHRpbi9sb2cuYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiCittc2dzdHIgIuS4jeaYr+S4gOWAi+acieaViOeahOeJqeS7tuWQjSAlcyIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImdpdCBjb21taXQtdHJlZTogZmFpbGVkIHRvIG9wZW4gJyVzJyIKK21zZ3N0ciAiZ2l0IGNvbW1pdC10cmVl77ya54Sh5rOV6ZaL5ZWfICclcyciCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byByZWFkICclcyciCittc2dzdHIgImdpdCBjb21taXQtdHJlZe+8mueEoeazleiugOWPliAnJXMnIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IGNvbW1pdC10cmVlOiBmYWlsZWQgdG8gY2xvc2UgJyVzJyIKK21zZ3N0ciAiZ2l0IGNvbW1pdC10cmVl77ya54Sh5rOV6Zec6ZaJICclcyciCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMTEKK21zZ2lkICJwYXJlbnQiCittc2dzdHIgIueItuaPkOS6pCIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExMgorbXNnaWQgImlkIG9mIGEgcGFyZW50IGNvbW1pdCBvYmplY3QiCittc2dzdHIgIueItuaPkOS6pOeJqeS7tiBJRCIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExNCBidWlsdGluL2NvbW1pdC5jOjE0OTYgYnVpbHRpbi9tZXJnZS5jOjI3MAorIzogYnVpbHRpbi9ub3Rlcy5jOjQwOSBidWlsdGluL25vdGVzLmM6NTc1IGJ1aWx0aW4vc3Rhc2guYzoxNDY5CisjOiBidWlsdGluL3RhZy5jOjQxMgorbXNnaWQgIm1lc3NhZ2UiCittc2dzdHIgIuiqquaYjiIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjExNSBidWlsdGluL2NvbW1pdC5jOjE0OTYKK21zZ2lkICJjb21taXQgbWVzc2FnZSIKK21zZ3N0ciAi5o+Q5Lqk6Kqq5piOIgorCisjOiBidWlsdGluL2NvbW1pdC10cmVlLmM6MTE4Cittc2dpZCAicmVhZCBjb21taXQgbG9nIG1lc3NhZ2UgZnJvbSBmaWxlIgorbXNnc3RyICLlvp7mqpTmoYjkuK3oroDlj5bmj5DkuqToqqrmmI4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxMjEgYnVpbHRpbi9jb21taXQuYzoxNTA4IGJ1aWx0aW4vbWVyZ2UuYzoyODcKKyM6IGJ1aWx0aW4vcHVsbC5jOjE5NSBidWlsdGluL3JldmVydC5jOjExOAorbXNnaWQgIkdQRyBzaWduIGNvbW1pdCIKK21zZ3N0ciAiR1BHIOaPkOS6pOewveWQjSIKKworIzogYnVpbHRpbi9jb21taXQtdHJlZS5jOjEzMworbXNnaWQgIm11c3QgZ2l2ZSBleGFjdGx5IG9uZSB0cmVlIgorbXNnc3RyICLlv4XpoIjnsr7norrlnLDmj5DkvpvkuIDlgIvmqLkiCisKKyM6IGJ1aWx0aW4vY29tbWl0LXRyZWUuYzoxNDAKK21zZ2lkICJnaXQgY29tbWl0LXRyZWU6IGZhaWxlZCB0byByZWFkIgorbXNnc3RyICJnaXQgY29tbWl0LXRyZWXvvJroroDlj5blpLHmlZciCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDEKK21zZ2lkICJnaXQgY29tbWl0IFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKK21zZ3N0ciAiZ2l0IGNvbW1pdCBbPOmBuOmghT5dIFstLV0gPOi3r+W+keimj+agvD4uLi4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDYKK21zZ2lkICJnaXQgc3RhdHVzIFs8b3B0aW9ucz5dIFstLV0gPHBhdGhzcGVjPi4uLiIKK21zZ3N0ciAiZ2l0IHN0YXR1cyBbPOmBuOmghT5dIFstLV0gPOi3r+W+keimj+agvD4uLi4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NTEKK21zZ2lkICIiCisiWW91IGFza2VkIHRvIGFtZW5kIHRoZSBtb3N0IHJlY2VudCBjb21taXQsIGJ1dCBkb2luZyBzbyB3b3VsZCBtYWtlXG4iCisiaXQgZW1wdHkuIFlvdSBjYW4gcmVwZWF0IHlvdXIgY29tbWFuZCB3aXRoIC0tYWxsb3ctZW1wdHksIG9yIHlvdSBjYW5cbiIKKyJyZW1vdmUgdGhlIGNvbW1pdCBlbnRpcmVseSB3aXRoIFwiZ2l0IHJlc2V0IEhFQUReXCIuXG4iCittc2dzdHIgIiIKKyLmgqjopoHkv67oo5zmnIDov5HnmoTmj5DkuqTvvIzkvYbpgJnpurzlgZrmnIPorpPlroPmiJDngrrnqbrmj5DkuqTjgILmgqjlj6/ku6Xph43opIfmgqjnmoTmjIfku6TkuKbluLbkuIpcbiIKKyItLWFsbG93LWVtcHR5IOmBuOmghe+8jOaIluiAheaCqOWPr+eUqOaMh+S7pCBcImdpdCByZXNldCBIRUFEXlwiIOaVtOWAi+WIqumZpOipsuaPkOS6pOOAglxuIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjU2Cittc2dpZCAiIgorIlRoZSBwcmV2aW91cyBjaGVycnktcGljayBpcyBub3cgZW1wdHksIHBvc3NpYmx5IGR1ZSB0byBjb25mbGljdCByZXNvbHV0aW9uLlxuIgorIklmIHlvdSB3aXNoIHRvIGNvbW1pdCBpdCBhbnl3YXksIHVzZTpcbiIKKyJcbiIKKyIgICAgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5XG4iCisiXG4iCittc2dzdHIgIiIKKyLkuYvliY3nmoTmj4Dpgbjli5XkvZznj77lnKjmmK/kuIDlgIvnqbrmj5DkuqTvvIzlj6/og73mmK/nlLHooZ3nqoHop6PmsbrlsI7oh7TnmoTjgILlpoLmnpzmgqjnhKHoq5blpoLkvZVcbiIKKyLkuZ/opoHmj5DkuqTvvIzkvb/nlKjmjIfku6TvvJpcbiIKKyJcbiIKKyIgICAgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5XG4iCisiXG4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjMKK21zZ2lkICJPdGhlcndpc2UsIHBsZWFzZSB1c2UgJ2dpdCBjaGVycnktcGljayAtLXNraXAnXG4iCittc2dzdHIgIuWQpuWJh++8jOiri+S9v+eUqCAnZ2l0IGNoZXJyeS1waWNrIC0tc2tpcCdcbiIKKworIzogYnVpbHRpbi9jb21taXQuYzo2NgorbXNnaWQgIiIKKyJhbmQgdGhlbiB1c2U6XG4iCisiXG4iCisiICAgIGdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXG4iCisiXG4iCisidG8gcmVzdW1lIGNoZXJyeS1waWNraW5nIHRoZSByZW1haW5pbmcgY29tbWl0cy5cbiIKKyJJZiB5b3Ugd2lzaCB0byBza2lwIHRoaXMgY29tbWl0LCB1c2U6XG4iCisiXG4iCisiICAgIGdpdCBjaGVycnktcGljayAtLXNraXBcbiIKKyJcbiIKK21zZ3N0ciAiIgorIueEtuW+jOS9v+eUqO+8mlxuIgorIlxuIgorIiAgICBnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVxuIgorIlxuIgorIuS+hue5vOe6jOaPgOmBuOWJqemkmOaPkOS6pOOAguWmguaenOaCqOaDs+i3s+mBjuatpOaPkOS6pO+8jOS9v+eUqO+8mlxuIgorIlxuIgorIiAgICBnaXQgY2hlcnJ5LXBpY2sgLS1za2lwXG4iCisiXG4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzE1Cittc2dpZCAiZmFpbGVkIHRvIHVucGFjayBIRUFEIHRyZWUgb2JqZWN0IgorbXNnc3RyICLop6PljIUgSEVBRCDmqLnni4Dnianku7blpLHmlZciCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MzUxCisjfCBtc2dpZCAicGF0aHMgJyVzIC4uLicgd2l0aCAtYSBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnaWQgIi0tcGF0aHNwZWMtZnJvbS1maWxlIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiLS1wYXRoc3BlYy1mcm9tLWZpbGUg5ZKMIC1hIOWQjOaZguS9v+eUqOaykuacieaEj+e+qSIKKworIzogYnVpbHRpbi9jb21taXQuYzozNjQKK21zZ2lkICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iCittc2dzdHIgIuWPg+aVuCAtLWluY2x1ZGUvLS1vbmx5IOS4jei3n+i3r+W+keaykuacieaEj+e+qeOAgiIKKworIzogYnVpbHRpbi9jb21taXQuYzozNzYKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIHRlbXBvcmFyeSBpbmRleCIKK21zZ3N0ciAi5LiN6IO95bu656uL5pqr5pmC57Si5byVIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjM4MgorbXNnaWQgImludGVyYWN0aXZlIGFkZCBmYWlsZWQiCittc2dzdHIgIuS6kuWLleW8j+aWsOWinuWkseaVlyIKKworIzogYnVpbHRpbi9jb21taXQuYzozOTYKK21zZ2lkICJ1bmFibGUgdG8gdXBkYXRlIHRlbXBvcmFyeSBpbmRleCIKK21zZ3N0ciAi54Sh5rOV5pu05paw5pqr5pmC57Si5byVIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjM5OAorbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgbWFpbiBjYWNoZSB0cmVlIgorbXNnc3RyICLkuI3og73mm7TmlrDmqLnnmoTkuLvlv6vlj5YiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NDIzIGJ1aWx0aW4vY29tbWl0LmM6NDQ2IGJ1aWx0aW4vY29tbWl0LmM6NDkyCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIG5ld19pbmRleCBmaWxlIgorbXNnc3RyICLnhKHms5Xlr6sgbmV3X2luZGV4IOaqlOahiCIKKworIzogYnVpbHRpbi9jb21taXQuYzo0NzUKK21zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBtZXJnZS4iCittc2dzdHIgIuWcqOWQiOS9temBjueoi+S4reS4jeiDveWBmumDqOWIhuaPkOS6pOOAgiIKKworIzogYnVpbHRpbi9jb21taXQuYzo0NzcKK21zZ2lkICJjYW5ub3QgZG8gYSBwYXJ0aWFsIGNvbW1pdCBkdXJpbmcgYSBjaGVycnktcGljay4iCittc2dzdHIgIuWcqOaPgOmBuOmBjueoi+S4reS4jeiDveWBmumDqOWIhuaPkOS6pOOAgiIKKworIzogYnVpbHRpbi9jb21taXQuYzo0ODUKK21zZ2lkICJjYW5ub3QgcmVhZCB0aGUgaW5kZXgiCittc2dzdHIgIueEoeazleiugOWPlue0ouW8lSIKKworIzogYnVpbHRpbi9jb21taXQuYzo1MDQKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgdGVtcG9yYXJ5IGluZGV4IGZpbGUiCittc2dzdHIgIueEoeazleWvq+aaq+aZgue0ouW8leaqlOahiCIKKworIzogYnVpbHRpbi9jb21taXQuYzo2MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tbWl0ICclcycgbGFja3MgYXV0aG9yIGhlYWRlciIKK21zZ3N0ciAi5o+Q5LqkICclcycg57y65bCR5L2c6ICF6KiK5oGvIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjb21taXQgJyVzJyBoYXMgbWFsZm9ybWVkIGF1dGhvciBsaW5lIgorbXNnc3RyICLmj5DkuqQgJyVzJyDmnInmoLzlvI/pjK/oqqTnmoTkvZzogIXoqIrmga8iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6NjIzCittc2dpZCAibWFsZm9ybWVkIC0tYXV0aG9yIHBhcmFtZXRlciIKK21zZ3N0ciAi5qC85byP6Yyv6Kqk55qEIC0tYXV0aG9yIOWPg+aVuCIKKworIzogYnVpbHRpbi9jb21taXQuYzo2NzYKK21zZ2lkICIiCisidW5hYmxlIHRvIHNlbGVjdCBhIGNvbW1lbnQgY2hhcmFjdGVyIHRoYXQgaXMgbm90IHVzZWRcbiIKKyJpbiB0aGUgY3VycmVudCBjb21taXQgbWVzc2FnZSIKK21zZ3N0ciAi54Sh5rOV6YG45pOH5LiA5YCL5pyq6KKr55uu5YmN5o+Q5Lqk6Kqq5piO5L2/55So55qE5YKZ6Ki75a2X5YWDIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjcxNCBidWlsdGluL2NvbW1pdC5jOjc0NyBidWlsdGluL2NvbW1pdC5jOjEwOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGxvb2t1cCBjb21taXQgJXMiCittc2dzdHIgIuS4jeiDveafpeipouaPkOS6pCAlcyIKKworIzogYnVpbHRpbi9jb21taXQuYzo3MjYgYnVpbHRpbi9zaG9ydGxvZy5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICIocmVhZGluZyBsb2cgbWVzc2FnZSBmcm9tIHN0YW5kYXJkIGlucHV0KVxuIgorbXNnc3RyICLvvIjmraPlvp7mqJnmupbovLjlhaXkuK3oroDlj5bml6XoqozoqIrmga/vvIlcbiIKKworIzogYnVpbHRpbi9jb21taXQuYzo3MjgKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZnJvbSBzdGFuZGFyZCBpbnB1dCIKK21zZ3N0ciAi5LiN6IO95b6e5qiZ5rqW6Ly45YWl5Lit6K6A5Y+W5pel6KqM6KiK5oGvIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjczMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBsb2cgZmlsZSAnJXMnIgorbXNnc3RyICLkuI3og73oroDlj5bml6XoqozmqpTmoYggJyVzJyIKKworIzogYnVpbHRpbi9jb21taXQuYzo3NjMgYnVpbHRpbi9jb21taXQuYzo3NzkKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBTUVVBU0hfTVNHIgorbXNnc3RyICLkuI3og73oroDlj5YgU1FVQVNIX01TRyIKKworIzogYnVpbHRpbi9jb21taXQuYzo3NzAKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBNRVJHRV9NU0ciCittc2dzdHIgIuS4jeiDveiugOWPliBNRVJHRV9NU0ciCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODMwCittc2dpZCAiY291bGQgbm90IHdyaXRlIGNvbW1pdCB0ZW1wbGF0ZSIKK21zZ3N0ciAi5LiN6IO95a+r5o+Q5Lqk56+E5pysIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjg0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSXQgbG9va3MgbGlrZSB5b3UgbWF5IGJlIGNvbW1pdHRpbmcgYSBtZXJnZS5cbiIKKyJJZiB0aGlzIGlzIG5vdCBjb3JyZWN0LCBwbGVhc2UgcmVtb3ZlIHRoZSBmaWxlXG4iCisiXHQlc1xuIgorImFuZCB0cnkgYWdhaW4uXG4iCittc2dzdHIgIiIKKyJcbiIKKyLkvLzkuY7mgqjmraPlnKjlgZrkuIDlgIvlkIjkvbXmj5DkuqTjgILlpoLmnpzkuI3lsI3vvIzoq4vliKrpmaTmqpTmoYhcbiIKKyJcdCVzXG4iCisi54S25b6M6YeN6Kmm44CCXG4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJJdCBsb29rcyBsaWtlIHlvdSBtYXkgYmUgY29tbWl0dGluZyBhIGNoZXJyeS1waWNrLlxuIgorIklmIHRoaXMgaXMgbm90IGNvcnJlY3QsIHBsZWFzZSByZW1vdmUgdGhlIGZpbGVcbiIKKyJcdCVzXG4iCisiYW5kIHRyeSBhZ2Fpbi5cbiIKK21zZ3N0ciAiIgorIlxuIgorIuS8vOS5juaCqOato+WcqOWBmuS4gOWAi+aPgOmBuOaPkOS6pOOAguWmguaenOS4jeWwje+8jOiri+WIqumZpOaqlOahiFxuIgorIlx0JXNcbiIKKyLnhLblvozph43oqabjgIJcbiIKKworIzogYnVpbHRpbi9jb21taXQuYzo4NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlBsZWFzZSBlbnRlciB0aGUgY29tbWl0IG1lc3NhZ2UgZm9yIHlvdXIgY2hhbmdlcy4gTGluZXMgc3RhcnRpbmdcbiIKKyJ3aXRoICclYycgd2lsbCBiZSBpZ25vcmVkLCBhbmQgYW4gZW1wdHkgbWVzc2FnZSBhYm9ydHMgdGhlIGNvbW1pdC5cbiIKK21zZ3N0ciAiIgorIuiri+eCuuaCqOeahOiuiuabtOi8uOWFpeaPkOS6pOiqquaYjuOAguS7pSAnJWMnIOmWi+Wni+eahOihjOWwh+iiq+W/veeVpe+8jOiAjOS4gOWAi+epuueahOaPkOS6pFxuIgorIuiqquaYjuWwh+acg+e1guatouaPkOS6pOOAglxuIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGxlYXNlIGVudGVyIHRoZSBjb21taXQgbWVzc2FnZSBmb3IgeW91ciBjaGFuZ2VzLiBMaW5lcyBzdGFydGluZ1xuIgorIndpdGggJyVjJyB3aWxsIGJlIGtlcHQ7IHlvdSBtYXkgcmVtb3ZlIHRoZW0geW91cnNlbGYgaWYgeW91IHdhbnQgdG8uXG4iCisiQW4gZW1wdHkgbWVzc2FnZSBhYm9ydHMgdGhlIGNvbW1pdC5cbiIKK21zZ3N0ciAiIgorIuiri+eCuuaCqOeahOiuiuabtOi8uOWFpeaPkOS6pOiqquaYjuOAguS7pSAnJWMnIOmWi+Wni+eahOihjOWwh+iiq+S/neeVme+8jOWmguaenOaCqOWOn+aEj1xuIgorIuS5n+WPr+S7peWIqumZpOWug+WAkeOAguS4gOWAi+epuueahOaPkOS6pOiqquaYjuWwh+acg+e1guatouaPkOS6pOOAglxuIgorCisjICDora/ogIXvvJrngrrkv53orYnlnKjovLjlh7rkuK3lsI3pvYrvvIzms6jmhI/oqr/mlbTlj6XkuK3nqbrmoLzvvIEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6ODkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzQXV0aG9yOiAgICAlLipzIDwlLipzPiIKK21zZ3N0ciAiJXPkvZzogIXvvJogICUuKnMgPCUuKnM+IgorCisjICDora/ogIXvvJrngrrkv53orYnlnKjovLjlh7rkuK3lsI3pvYrvvIzms6jmhI/oqr/mlbTlj6XkuK3nqbrmoLzvvIEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzRGF0ZTogICAgICAlcyIKK21zZ3N0ciAiJXPml6XmnJ/vvJogICVzIgorCisjICDora/ogIXvvJrngrrkv53orYnlnKjovLjlh7rkuK3lsI3pvYrvvIzms6jmhI/oqr/mlbTlj6XkuK3nqbrmoLzvvIEKKyM6IGJ1aWx0aW4vY29tbWl0LmM6OTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzQ29tbWl0dGVyOiAlLipzIDwlLipzPiIKK21zZ3N0ciAiJXPmj5DkuqTogIXvvJolLipzIDwlLipzPiIKKworIzogYnVpbHRpbi9jb21taXQuYzo5MjUKK21zZ2lkICJDYW5ub3QgcmVhZCBpbmRleCIKK21zZ3N0ciAi54Sh5rOV6K6A5Y+W57Si5byVIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjk5MgorbXNnaWQgIkVycm9yIGJ1aWxkaW5nIHRyZWVzIgorbXNnc3RyICLnhKHms5Xlu7rnq4vmqLnni4Dnianku7YiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTAwNiBidWlsdGluL3RhZy5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICJQbGVhc2Ugc3VwcGx5IHRoZSBtZXNzYWdlIHVzaW5nIGVpdGhlciAtbSBvciAtRiBvcHRpb24uXG4iCittc2dzdHIgIuiri+S9v+eUqCAtbSDmiJYgLUYg6YG46aCF5o+Q5L6b5o+Q5Lqk6Kqq5piO44CCXG4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTA1MAorIywgYy1mb3JtYXQKK21zZ2lkICItLWF1dGhvciAnJXMnIGlzIG5vdCAnTmFtZSA8ZW1haWw+JyBhbmQgbWF0Y2hlcyBubyBleGlzdGluZyBhdXRob3IiCittc2dzdHIgIi0tYXV0aG9yICclcycg5LiN5pivICflp5PlkI0gPOS/oeeusT4nIOagvOW8j++8jOS4lOacquiDveWcqOePvuacieS9nOiAheS4reaJvuWIsOespuWQiCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgaWdub3JlZCBtb2RlICclcyciCittc2dzdHIgIueEoeaViOeahOW/veeVpeaooeW8jyAnJXMnIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEwODIgYnVpbHRpbi9jb21taXQuYzoxMzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdW50cmFja2VkIGZpbGVzIG1vZGUgJyVzJyIKK21zZ3N0ciAi54Sh5pWI55qE5pyq6L+96Lmk5qqU5qGI5Y+D5pW4ICclcyciCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTEyMgorbXNnaWQgIi0tbG9uZyBhbmQgLXogYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiLS1sb25nIOWSjCAteiDpgbjpoIXkuI3nm7jlrrkiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTE2NgorbXNnaWQgIlVzaW5nIGJvdGggLS1yZXNldC1hdXRob3IgYW5kIC0tYXV0aG9yIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIuWQjOaZguS9v+eUqCAtLXJlc2V0LWF1dGhvciDlkowgLS1hdXRob3Ig5rKS5pyJ5oSP576pIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjExNzUKK21zZ2lkICJZb3UgaGF2ZSBub3RoaW5nIHRvIGFtZW5kLiIKK21zZ3N0ciAi5oKo5rKS5pyJ5Y+v5L+u6KOc55qE5o+Q5Lqk44CCIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjExNzgKK21zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSAtLSBjYW5ub3QgYW1lbmQuIgorbXNnc3RyICLmgqjmraPomZXmlrzkuIDlgIvlkIjkvbXpgY7nqIvkuK0gLS0g54Sh5rOV5L+u6KOc5o+Q5Lqk44CCIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjExODAKK21zZ2lkICJZb3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSBjaGVycnktcGljayAtLSBjYW5ub3QgYW1lbmQuIgorbXNnc3RyICLmgqjmraPomZXmlrzkuIDlgIvmj4DpgbjpgY7nqIvkuK0gLS0g54Sh5rOV5L+u6KOc5o+Q5Lqk44CCIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjExODMKK21zZ2lkICJPcHRpb25zIC0tc3F1YXNoIGFuZCAtLWZpeHVwIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgorbXNnc3RyICLpgbjpoIUgLS1zcXVhc2gg5ZKMIC0tZml4dXAg5LiN6IO95ZCM5pmC5L2/55SoIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjExOTMKK21zZ2lkICJPbmx5IG9uZSBvZiAtYy8tQy8tRi8tLWZpeHVwIGNhbiBiZSB1c2VkLiIKK21zZ3N0ciAi5Y+q6IO955So5LiA5YCLIC1jLy1DLy1GLy0tZml4dXAg6YG46aCF44CCIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjExOTUKK21zZ2lkICJPcHRpb24gLW0gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggLWMvLUMvLUYuIgorbXNnc3RyICLpgbjpoIUgLW0g5LiN6IO95ZKMIC1jLy1DLy1GIOWQjOaZguS9v+eUqOOAgiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMjAzCittc2dpZCAiLS1yZXNldC1hdXRob3IgY2FuIGJlIHVzZWQgb25seSB3aXRoIC1DLCAtYyBvciAtLWFtZW5kLiIKK21zZ3N0ciAiLS1yZXNldC1hdXRob3Ig5Y+q6IO95ZKMIC1D44CBLWMg5oiWIC0tYW1lbmQg5ZCM5pmC5L2/55So44CCIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEyMjAKK21zZ2lkICJPbmx5IG9uZSBvZiAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCBjYW4gYmUgdXNlZC4iCittc2dzdHIgIuWPquiDveeUqOS4gOWAiyAtLWluY2x1ZGUvLS1vbmx5Ly0tYWxsLy0taW50ZXJhY3RpdmUvLS1wYXRjaCDpgbjpoIXjgIIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTIyNgorIywgYy1mb3JtYXQKK21zZ2lkICJwYXRocyAnJXMgLi4uJyB3aXRoIC1hIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIui3r+W+kSAgJyVzIC4uLicg5ZKMIC1hIOmBuOmgheWQjOaZguS9v+eUqOaykuacieaEj+e+qSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzU3IGJ1aWx0aW4vY29tbWl0LmM6MTUxOQorbXNnaWQgInNob3cgc3RhdHVzIGNvbmNpc2VseSIKK21zZ3N0ciAi5Lul57Ch5r2U55qE5qC85byP6aGv56S654uA5oWLIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNTkgYnVpbHRpbi9jb21taXQuYzoxNTIxCittc2dpZCAic2hvdyBicmFuY2ggaW5mb3JtYXRpb24iCittc2dzdHIgIumhr+ekuuWIhuaUr+ioiuaBryIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzYxCittc2dpZCAic2hvdyBzdGFzaCBpbmZvcm1hdGlvbiIKK21zZ3N0ciAi6aGv56S65YSy6JeP5Y2A6KiK5oGvIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjMgYnVpbHRpbi9jb21taXQuYzoxNTIzCittc2dpZCAiY29tcHV0ZSBmdWxsIGFoZWFkL2JlaGluZCB2YWx1ZXMiCittc2dzdHIgIuioiOeul+WujOaVtOeahOmgmOWFiC/okL3lvozlgLwiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM2NQorbXNnaWQgInZlcnNpb24iCittc2dzdHIgIueJiOacrCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzY1IGJ1aWx0aW4vY29tbWl0LmM6MTUyNSBidWlsdGluL3B1c2guYzo1NDkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2NTAKK21zZ2lkICJtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCIKK21zZ3N0ciAi5qmf5Zmo5Y+v6K6A55qE6Ly45Ye6IgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNjggYnVpbHRpbi9jb21taXQuYzoxNTI3Cittc2dpZCAic2hvdyBzdGF0dXMgaW4gbG9uZyBmb3JtYXQgKGRlZmF1bHQpIgorbXNnc3RyICLku6XplbfmoLzlvI/poa/npLrni4DmhYvvvIjpoJDoqK3vvIkiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3MSBidWlsdGluL2NvbW1pdC5jOjE1MzAKK21zZ2lkICJ0ZXJtaW5hdGUgZW50cmllcyB3aXRoIE5VTCIKK21zZ3N0ciAi5qKd55uu5LulIE5VTCDlrZflhYPntZDlsL4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3MyBidWlsdGluL2NvbW1pdC5jOjEzNzcgYnVpbHRpbi9jb21taXQuYzoxNTMzCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1MyBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1NgorIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNTkgYnVpbHRpbi9yZWJhc2UuYzoxNTI1IHBhcnNlLW9wdGlvbnMuaDozMzYKK21zZ2lkICJtb2RlIgorbXNnc3RyICLmqKHlvI8iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTM3NCBidWlsdGluL2NvbW1pdC5jOjE1MzMKK21zZ2lkICJzaG93IHVudHJhY2tlZCBmaWxlcywgb3B0aW9uYWwgbW9kZXM6IGFsbCwgbm9ybWFsLCBuby4gKERlZmF1bHQ6IGFsbCkiCittc2dzdHIgIumhr+ekuuacqui/vei5pOeahOaqlOahiO+8jOOAjOaooeW8j+OAjeeahOWPr+mBuOWPg+aVuO+8mmFsbOOAgW5vcm1hbOOAgW5v44CC77yI6aCQ6Kit77yaYWxs77yJIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzNzgKK21zZ2lkICIiCisic2hvdyBpZ25vcmVkIGZpbGVzLCBvcHRpb25hbCBtb2RlczogdHJhZGl0aW9uYWwsIG1hdGNoaW5nLCBuby4gKERlZmF1bHQ6ICIKKyJ0cmFkaXRpb25hbCkiCittc2dzdHIgIumhr+ekuuW3suW/veeVpeeahOaqlOahiO+8jOWPr+mBuOaooeW8j++8mnRyYWRpdGlvbmFs44CBbWF0Y2hpbmfjgIFub+OAgu+8iOmgkOiore+8mnRyYWRpdGlvbmFs77yJIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzODAgcGFyc2Utb3B0aW9ucy5oOjE5MgorbXNnaWQgIndoZW4iCittc2dzdHIgIuS9leaZgiIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzgxCittc2dpZCAiIgorImlnbm9yZSBjaGFuZ2VzIHRvIHN1Ym1vZHVsZXMsIG9wdGlvbmFsIHdoZW46IGFsbCwgZGlydHksIHVudHJhY2tlZC4gIgorIihEZWZhdWx0OiBhbGwpIgorbXNnc3RyICLlv73nlaXlrZDmqKHntYTnmoTmm7TmlLnvvIzjgIzkvZXmmYLjgI3nmoTlj6/pgbjlj4PmlbjvvJphbGzjgIFkaXJ0eeOAgXVudHJhY2tlZOOAgu+8iOmgkOiore+8mmFsbO+8iSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzgzCittc2dpZCAibGlzdCB1bnRyYWNrZWQgZmlsZXMgaW4gY29sdW1ucyIKK21zZ3N0ciAi5Lul5YiX55qE5pa55byP6aGv56S65pyq6L+96Lmk55qE5qqU5qGIIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjEzODQKK21zZ2lkICJkbyBub3QgZGV0ZWN0IHJlbmFtZXMiCittc2dzdHIgIuS4jeaqoua4rOmHjeaWsOWRveWQjSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxMzg2Cittc2dpZCAiZGV0ZWN0IHJlbmFtZXMsIG9wdGlvbmFsbHkgc2V0IHNpbWlsYXJpdHkgaW5kZXgiCittc2dzdHIgIuaqoua4rOmHjeaWsOWRveWQje+8jOWPr+S7peioreWumue0ouW8leebuOS8vOW6piIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDA2Cittc2dpZCAiVW5zdXBwb3J0ZWQgY29tYmluYXRpb24gb2YgaWdub3JlZCBhbmQgdW50cmFja2VkLWZpbGVzIGFyZ3VtZW50cyIKK21zZ3N0ciAi5LiN5pSv5o+05bey5b+955Wl5ZKM5pyq6L+96Lmk5qqU5qGI5Y+D5pW455qE57WE5ZCIIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0ODkKK21zZ2lkICJzdXBwcmVzcyBzdW1tYXJ5IGFmdGVyIHN1Y2Nlc3NmdWwgY29tbWl0IgorbXNnc3RyICLmj5DkuqTmiJDlip/lvozkuI3poa/npLrmpoLov7DoqIrmga8iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MAorbXNnaWQgInNob3cgZGlmZiBpbiBjb21taXQgbWVzc2FnZSB0ZW1wbGF0ZSIKK21zZ3N0ciAi5Zyo5o+Q5Lqk6Kqq5piO56+E5pys6KOh6aGv56S65beu55WwIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTIKK21zZ2lkICJDb21taXQgbWVzc2FnZSBvcHRpb25zIgorbXNnc3RyICLmj5DkuqToqqrmmI7pgbjpoIUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5MyBidWlsdGluL21lcmdlLmM6Mjc0IGJ1aWx0aW4vdGFnLmM6NDE0Cittc2dpZCAicmVhZCBtZXNzYWdlIGZyb20gZmlsZSIKK21zZ3N0ciAi5b6e5qqU5qGI5Lit6K6A5Y+W5o+Q5Lqk6Kqq5piOIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTQKK21zZ2lkICJhdXRob3IiCittc2dzdHIgIuS9nOiAhSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDk0Cittc2dpZCAib3ZlcnJpZGUgYXV0aG9yIGZvciBjb21taXQiCittc2dzdHIgIuaPkOS6pOaZguimhuiTi+S9nOiAhSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNDk1IGJ1aWx0aW4vZ2MuYzo1MzgKK21zZ2lkICJkYXRlIgorbXNnc3RyICLml6XmnJ8iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NQorbXNnaWQgIm92ZXJyaWRlIGRhdGUgZm9yIGNvbW1pdCIKK21zZ3N0ciAi5o+Q5Lqk5pmC6KaG6JOL5pel5pyfIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE0OTcgYnVpbHRpbi9jb21taXQuYzoxNDk4IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OQorIzogYnVpbHRpbi9jb21taXQuYzoxNTAwIHBhcnNlLW9wdGlvbnMuaDozMjggcmVmLWZpbHRlci5oOjkyCittc2dpZCAiY29tbWl0IgorbXNnc3RyICLmj5DkuqQiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5NworbXNnaWQgInJldXNlIGFuZCBlZGl0IG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgorbXNnc3RyICLph43nlKjkuKbnt6jovK/mjIflrprmj5DkuqTnmoTmj5DkuqToqqrmmI4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OAorbXNnaWQgInJldXNlIG1lc3NhZ2UgZnJvbSBzcGVjaWZpZWQgY29tbWl0IgorbXNnc3RyICLph43nlKjmjIflrprmj5DkuqTnmoTmj5DkuqToqqrmmI4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTQ5OQorbXNnaWQgInVzZSBhdXRvc3F1YXNoIGZvcm1hdHRlZCBtZXNzYWdlIHRvIGZpeHVwIHNwZWNpZmllZCBjb21taXQiCittc2dzdHIgIuS9v+eUqCBhdXRvc3F1YXNoIOagvOW8j+eahOaPkOS6pOiqquaYjueUqOS7peS/ruato+aMh+WumueahOaPkOS6pCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNTAwCittc2dpZCAidXNlIGF1dG9zcXVhc2ggZm9ybWF0dGVkIG1lc3NhZ2UgdG8gc3F1YXNoIHNwZWNpZmllZCBjb21taXQiCittc2dzdHIgIuS9v+eUqCBhdXRvc3F1YXNoIOagvOW8j+eahOaPkOS6pOiqquaYjueUqOS7peWjk+e4ruiHs+aMh+WumueahOaPkOS6pCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNTAxCittc2dpZCAidGhlIGNvbW1pdCBpcyBhdXRob3JlZCBieSBtZSBub3cgKHVzZWQgd2l0aCAtQy8tYy8tLWFtZW5kKSIKK21zZ3N0ciAi54++5Zyo5bCH6Kmy5o+Q5Lqk55qE5L2c6ICF5pS554K65oiR77yI5ZKMIC1DLy1jLy0tYW1lbmQg5Y+D5pW45YWx55So77yJIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MDIgYnVpbHRpbi9sb2cuYzoxNjM0IGJ1aWx0aW4vbWVyZ2UuYzoyODkKKyM6IGJ1aWx0aW4vcHVsbC5jOjE2NCBidWlsdGluL3JldmVydC5jOjExMAorbXNnaWQgImFkZCBTaWduZWQtb2ZmLWJ5OiIKK21zZ3N0ciAi5paw5aKeIFNpZ25lZC1vZmYtYnk6IOewveWQjSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNTAzCittc2dpZCAidXNlIHNwZWNpZmllZCB0ZW1wbGF0ZSBmaWxlIgorbXNnc3RyICLkvb/nlKjmjIflrprnmoTnr4TmnKzmqpTmoYgiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwNAorbXNnaWQgImZvcmNlIGVkaXQgb2YgY29tbWl0IgorbXNnc3RyICLlvLfliLbnt6jovK/mj5DkuqQiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUwNgorbXNnaWQgImluY2x1ZGUgc3RhdHVzIGluIGNvbW1pdCBtZXNzYWdlIHRlbXBsYXRlIgorbXNnc3RyICLlnKjmj5DkuqToqqrmmI7nr4TmnKzoo6HljIXlkKvni4DmhYvoqIrmga8iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMQorbXNnaWQgIkNvbW1pdCBjb250ZW50cyBvcHRpb25zIgorbXNnc3RyICLmj5DkuqTlhaflrrnpgbjpoIUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTUxMgorbXNnaWQgImNvbW1pdCBhbGwgY2hhbmdlZCBmaWxlcyIKK21zZ3N0ciAi5o+Q5Lqk5omA5pyJ5pS55YuV55qE5qqU5qGIIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTMKK21zZ2lkICJhZGQgc3BlY2lmaWVkIGZpbGVzIHRvIGluZGV4IGZvciBjb21taXQiCittc2dzdHIgIuaWsOWinuaMh+WumueahOaqlOahiOWIsOe0ouW8leWNgOetieW+heaPkOS6pCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNTE0Cittc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgZmlsZXMiCittc2dzdHIgIuS6kuWLleW8j+aWsOWinuaqlOahiCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNTE1Cittc2dpZCAiaW50ZXJhY3RpdmVseSBhZGQgY2hhbmdlcyIKK21zZ3N0ciAi5LqS5YuV5byP5paw5aKe6K6K5pu0IgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MTYKK21zZ2lkICJjb21taXQgb25seSBzcGVjaWZpZWQgZmlsZXMiCittc2dzdHIgIuWPquaPkOS6pOaMh+WumueahOaqlOahiCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNTE3Cittc2dpZCAiYnlwYXNzIHByZS1jb21taXQgYW5kIGNvbW1pdC1tc2cgaG9va3MiCittc2dzdHIgIue5numBjiBwcmUtY29tbWl0IOWSjCBjb21taXQtbXNnIOaOm+mJpCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNTE4Cittc2dpZCAic2hvdyB3aGF0IHdvdWxkIGJlIGNvbW1pdHRlZCIKK21zZ3N0ciAi6aGv56S65bCH6KaB5o+Q5Lqk55qE5YWn5a65IgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1MzEKK21zZ2lkICJhbWVuZCBwcmV2aW91cyBjb21taXQiCittc2dzdHIgIuS/ruaUueWFiOWJjeeahOaPkOS6pCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNTMyCittc2dpZCAiYnlwYXNzIHBvc3QtcmV3cml0ZSBob29rIgorbXNnc3RyICLnuZ7pgY4gcG9zdC1yZXdyaXRlIOaOm+mJpCIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNTM5Cittc2dpZCAib2sgdG8gcmVjb3JkIGFuIGVtcHR5IGNoYW5nZSIKK21zZ3N0ciAi5YWB6Kix5LiA5YCL56m65o+Q5LqkIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE1NDEKK21zZ2lkICJvayB0byByZWNvcmQgYSBjaGFuZ2Ugd2l0aCBhbiBlbXB0eSBtZXNzYWdlIgorbXNnc3RyICLlhYHoqLHnqbrnmoTmj5DkuqToqqrmmI4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTYxNAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3JydXB0IE1FUkdFX0hFQUQgZmlsZSAoJXMpIgorbXNnc3RyICLmkI3lo57nmoQgTUVSR0VfSEVBRCDmqpTmoYjvvIglc++8iSIKKworIzogYnVpbHRpbi9jb21taXQuYzoxNjIxCittc2dpZCAiY291bGQgbm90IHJlYWQgTUVSR0VfTU9ERSIKK21zZ3N0ciAi5LiN6IO96K6A5Y+WIE1FUkdFX01PREUiCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY0MAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZTogJXMiCittc2dzdHIgIuS4jeiDveiugOWPluaPkOS6pOiqquaYju+8miVzIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWJvcnRpbmcgY29tbWl0IGR1ZSB0byBlbXB0eSBjb21taXQgbWVzc2FnZS5cbiIKK21zZ3N0ciAi57WC5q2i5o+Q5Lqk5Zug54K65o+Q5Lqk6Kqq5piO54K656m644CCXG4iCisKKyM6IGJ1aWx0aW4vY29tbWl0LmM6MTY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJBYm9ydGluZyBjb21taXQ7IHlvdSBkaWQgbm90IGVkaXQgdGhlIG1lc3NhZ2UuXG4iCittc2dzdHIgIue1guatouaPkOS6pO+8m+aCqOacquabtOaUueS+huiHquevhOacrOeahOaPkOS6pOiqquaYjuOAglxuIgorCisjOiBidWlsdGluL2NvbW1pdC5jOjE2ODYKK21zZ2lkICIiCisicmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLCBidXQgdW5hYmxlIHRvIHdyaXRlXG4iCisibmV3X2luZGV4IGZpbGUuIENoZWNrIHRoYXQgZGlzayBpcyBub3QgZnVsbCBhbmQgcXVvdGEgaXNcbiIKKyJub3QgZXhjZWVkZWQsIGFuZCB0aGVuIFwiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgOi9cIiB0byByZWNvdmVyLiIKK21zZ3N0ciAiIgorIueJiOacrOW6q+W3suabtOaWsO+8jOS9hueEoeazleWvqyBuZXdfaW5kZXgg5qqU5qGI44CC5qqi5p+l5piv5ZCm56OB56Kf5bey5ru/5oiWXG4iCisi56OB56Kf6YWN6aGN5bey6ICX55uh77yM54S25b6M5Z+36KGMIFwiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgOi9cIiDlvqnljp/jgIIiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTEgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxNworbXNnaWQgIiIKKyJnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSBbLS1vYmplY3QtZGlyIDxvYmpkaXI+XSBbLS1zaGFsbG93XSBbLS1bbm8tXXByb2dyZXNzXSIKK21zZ3N0ciAiIgorImdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IFstLW9iamVjdC1kaXIgPOeJqeS7tuebrumMhD5dIFstLXNoYWxsb3ddIFstLSIKKyJbbm8tXXByb2dyZXNzXSIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjIyCittc2dpZCAiIgorImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0gWy0tYXBwZW5kfC0tc3BsaXRdIFstLSIKKyJyZWFjaGFibGV8LS1zdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIFstLVtuby1dcHJvZ3Jlc3NdIDxzcGxpdCBvcHRpb25zPiIKK21zZ3N0ciAiIgorImdpdCBjb21taXQtZ3JhcGggd3JpdGUgWy0tb2JqZWN0LWRpciA854mp5Lu255uu6YyEPl0gWy0tYXBwZW5kfC0tc3BsaXRdIFstLSIKKyJyZWFjaGFibGV8LS1zdGRpbi1wYWNrc3wtLXN0ZGluLWNvbW1pdHNdIFstLVtuby1dcHJvZ3Jlc3NdIDxzcGxpdCBvcHRpb25zPiIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo0OCBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwMworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxODcgYnVpbHRpbi9mZXRjaC5jOjE3OSBidWlsdGluL2xvZy5jOjE2NTcKK21zZ2lkICJkaXIiCittc2dzdHIgIuebrumMhCIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo0OSBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjEwNAorIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxODgKK21zZ2lkICJUaGUgb2JqZWN0IGRpcmVjdG9yeSB0byBzdG9yZSB0aGUgZ3JhcGgiCittc2dzdHIgIuWEsuWtmOWcluW9oueahOeJqeS7tuebrumMhCIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzo1MQorbXNnaWQgImlmIHRoZSBjb21taXQtZ3JhcGggaXMgc3BsaXQsIG9ubHkgdmVyaWZ5IHRoZSB0aXAgZmlsZSIKK21zZ3N0ciAi5aaC5p6c5o+Q5Lqk5ZyW5b2i6KKr5YiG5Ymy77yM5Y+q6amX6K2J6aCt5LiA5YCL5qqU5qGIIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjczIHQvaGVscGVyL3Rlc3QtcmVhZC1ncmFwaC5jOjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGNvbW1pdC1ncmFwaCAnJXMnIgorbXNnc3RyICLnhKHms5XplovllZ/mj5DkuqTlnJblvaIgJyVzJyIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMDYKK21zZ2lkICJzdGFydCB3YWxrIGF0IGFsbCByZWZzIgorbXNnc3RyICLplovlp4vpgY3mrbfmiYDmnInlvJXnlKgiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTA4Cittc2dpZCAic2NhbiBwYWNrLWluZGV4ZXMgbGlzdGVkIGJ5IHN0ZGluIGZvciBjb21taXRzIgorbXNnc3RyICLlvp7mqJnmupbovLjlhaXkuK3nmoTljIXntKLlvJXmqpTmoYjliJfooajkuK3mjoPmj4/mj5DkuqQiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTEwCittc2dpZCAic3RhcnQgd2FsayBhdCBjb21taXRzIGxpc3RlZCBieSBzdGRpbiIKK21zZ3N0ciAi5b6e5qiZ5rqW6Ly45YWl5Lit55qE5o+Q5Lqk6ZaL5aeL5o6D5o+PIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExMgorbXNnaWQgImluY2x1ZGUgYWxsIGNvbW1pdHMgYWxyZWFkeSBpbiB0aGUgY29tbWl0LWdyYXBoIGZpbGUiCittc2dzdHIgIuWMheWQqyBjb21taXQtZ3JhcGgg5qqU5qGI5Lit5bey5pyJ5omA5pyJ5o+Q5LqkIgorCisjOiBidWlsdGluL2NvbW1pdC1ncmFwaC5jOjExNQorbXNnaWQgImFsbG93IHdyaXRpbmcgYW4gaW5jcmVtZW50YWwgY29tbWl0LWdyYXBoIGZpbGUiCittc2dzdHIgIuWFgeioseWvq+S4gOWAi+WinumHj+aPkOS6pOWcluW9ouaqlOahiCIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMTcgYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMjEKK21zZ2lkICJtYXhpbXVtIG51bWJlciBvZiBjb21taXRzIGluIGEgbm9uLWJhc2Ugc3BsaXQgY29tbWl0LWdyYXBoIgorbXNnc3RyICLlnKjpnZ7ln7rmnKzliIblibLmj5DkuqTlnJblvaLkuK3nmoTmnIDlpKfmj5DkuqTmlbgiCisKKyM6IGJ1aWx0aW4vY29tbWl0LWdyYXBoLmM6MTE5Cittc2dpZCAibWF4aW11bSByYXRpbyBiZXR3ZWVuIHR3byBsZXZlbHMgb2YgYSBzcGxpdCBjb21taXQtZ3JhcGgiCittc2dzdHIgIuS4gOWAi+WIhuWJsuaPkOS6pOWcluW9oueahOWFqeWAi+e0muWIpeS5i+mWk+eahOacgOWkp+avlOeOhyIKKworIzogYnVpbHRpbi9jb21taXQtZ3JhcGguYzoxMzcKK21zZ2lkICJ1c2UgYXQgbW9zdCBvbmUgb2YgLS1yZWFjaGFibGUsIC0tc3RkaW4tY29tbWl0cywgb3IgLS1zdGRpbi1wYWNrcyIKK21zZ3N0ciAi5LiN6IO95ZCM5pmC5L2/55SoIC0tcmVhY2hhYmxl44CBLS1zdGRpbi1jb21taXRzIOaIliAtLXN0ZGluLXBhY2tzIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjExCittc2dpZCAiZ2l0IGNvbmZpZyBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IGNvbmZpZyBbPOmBuOmghT5dIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEwMyBidWlsdGluL2Vudi0taGVscGVyLmM6MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIC0tdHlwZSBhcmd1bWVudCwgJXMiCittc2dzdHIgIuacquiDveitmOWIpeeahCAtLXR5cGUg5Y+D5pW477yMJXMiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTE1Cittc2dpZCAib25seSBvbmUgdHlwZSBhdCBhIHRpbWUiCittc2dzdHIgIuS4gOasoeWPquiDveS4gOWAi+mhnuWeiyIKKworIzogYnVpbHRpbi9jb25maWcuYzoxMjQKK21zZ2lkICJDb25maWcgZmlsZSBsb2NhdGlvbiIKK21zZ3N0ciAi6Kit5a6a5qqU5qGI5L2N572uIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEyNQorbXNnaWQgInVzZSBnbG9iYWwgY29uZmlnIGZpbGUiCittc2dzdHIgIuS9v+eUqOWFqOWfn+ioreWumuaqlOahiCIKKworIzogYnVpbHRpbi9jb25maWcuYzoxMjYKK21zZ2lkICJ1c2Ugc3lzdGVtIGNvbmZpZyBmaWxlIgorbXNnc3RyICLkvb/nlKjns7vntbHntJroqK3lrprmqpTmoYgiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTI3Cittc2dpZCAidXNlIHJlcG9zaXRvcnkgY29uZmlnIGZpbGUiCittc2dzdHIgIuS9v+eUqOeJiOacrOW6q+e0muioreWumuaqlOahiCIKKworIzogYnVpbHRpbi9jb25maWcuYzoxMjgKK21zZ2lkICJ1c2UgcGVyLXdvcmt0cmVlIGNvbmZpZyBmaWxlIgorbXNnc3RyICLkvb/nlKjlt6XkvZzljYDntJrliKXnmoToqK3lrprmqpTmoYgiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTI5Cittc2dpZCAidXNlIGdpdmVuIGNvbmZpZyBmaWxlIgorbXNnc3RyICLkvb/nlKjmjIflrprnmoToqK3lrprmqpTmoYgiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTMwCittc2dpZCAiYmxvYi1pZCIKK21zZ3N0ciAi6LOH5paZ54mp5Lu2IElEIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEzMAorbXNnaWQgInJlYWQgY29uZmlnIGZyb20gZ2l2ZW4gYmxvYiBvYmplY3QiCittc2dzdHIgIuW+nuaPkOS+m+eahOizh+aWmeeJqeS7tuiugOWPluioreWumiIKKworIzogYnVpbHRpbi9jb25maWcuYzoxMzEKK21zZ2lkICJBY3Rpb24iCittc2dzdHIgIuWLleS9nCIKKworIzogYnVpbHRpbi9jb25maWcuYzoxMzIKK21zZ2lkICJnZXQgdmFsdWU6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKK21zZ3N0ciAi5Y+W5b6X5YC877yabmFtZSBbdmFsdWUtcmVnZXhdIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEzMworbXNnaWQgImdldCBhbGwgdmFsdWVzOiBrZXkgW3ZhbHVlLXJlZ2V4XSIKK21zZ3N0ciAi542y5b6X5omA5pyJ55qE5YC877yaa2V5IFt2YWx1ZS1yZWdleF0iCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTM0Cittc2dpZCAiZ2V0IHZhbHVlcyBmb3IgcmVnZXhwOiBuYW1lLXJlZ2V4IFt2YWx1ZS1yZWdleF0iCittc2dzdHIgIuagueaTmuato+imj+ihqOekuuW8j+eNsuW+l+WAvO+8mm5hbWUtcmVnZXggW3ZhbHVlLXJlZ2V4XSIKKworIzogYnVpbHRpbi9jb25maWcuYzoxMzUKK21zZ2lkICJnZXQgdmFsdWUgc3BlY2lmaWMgZm9yIHRoZSBVUkw6IHNlY3Rpb25bLnZhcl0gVVJMIgorbXNnc3RyICLnjbLlvpcgVVJMIOWPluWAvO+8mnNlY3Rpb25bLnZhcl0gVVJMIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEzNgorbXNnaWQgInJlcGxhY2UgYWxsIG1hdGNoaW5nIHZhcmlhYmxlczogbmFtZSB2YWx1ZSBbdmFsdWVfcmVnZXhdIgorbXNnc3RyICLlj5bku6PmiYDmnInnrKblkIjnmoTorormlbjvvJpuYW1lIHZhbHVlIFt2YWx1ZV9yZWdleF0iCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTM3Cittc2dpZCAiYWRkIGEgbmV3IHZhcmlhYmxlOiBuYW1lIHZhbHVlIgorbXNnc3RyICLmlrDlop7kuIDlgIvmlrDnmoTorormlbjvvJpuYW1lIHZhbHVlIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjEzOAorbXNnaWQgInJlbW92ZSBhIHZhcmlhYmxlOiBuYW1lIFt2YWx1ZS1yZWdleF0iCittc2dzdHIgIuWIqumZpOS4gOWAi+iuiuaVuO+8mm5hbWUgW3ZhbHVlLXJlZ2V4XSIKKworIzogYnVpbHRpbi9jb25maWcuYzoxMzkKK21zZ2lkICJyZW1vdmUgYWxsIG1hdGNoZXM6IG5hbWUgW3ZhbHVlLXJlZ2V4XSIKK21zZ3N0ciAi5Yiq6Zmk5omA5pyJ56ym5ZCI6aCF77yabmFtZSBbdmFsdWUtcmVnZXhdIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE0MAorbXNnaWQgInJlbmFtZSBzZWN0aW9uOiBvbGQtbmFtZSBuZXctbmFtZSIKK21zZ3N0ciAi6YeN5paw5ZG95ZCN5bCP56+A77yab2xkLW5hbWUgbmV3LW5hbWUiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQxCittc2dpZCAicmVtb3ZlIGEgc2VjdGlvbjogbmFtZSIKK21zZ3N0ciAi5Yiq6Zmk5LiA5YCL5bCP56+A77yabmFtZSIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNDIKK21zZ2lkICJsaXN0IGFsbCIKK21zZ3N0ciAi5YWo6YOo5YiX5Ye6IgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE0MworbXNnaWQgIm9wZW4gYW4gZWRpdG9yIgorbXNnc3RyICLplovllZ/kuIDlgIvnt6jovK/lmagiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ0Cittc2dpZCAiZmluZCB0aGUgY29sb3IgY29uZmlndXJlZDogc2xvdCBbZGVmYXVsdF0iCittc2dzdHIgIueNsuW+l+ioreWumueahOmhj+iJsu+8muioreWumiBb6aCQ6KitXSIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNDUKK21zZ2lkICJmaW5kIHRoZSBjb2xvciBzZXR0aW5nOiBzbG90IFtzdGRvdXQtaXMtdHR5XSIKK21zZ3N0ciAi542y5b6X6aGP6Imy6Kit5a6a77ya6Kit5a6aIFtzdGRvdXQtaXMtdHR5XSIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNDYKK21zZ2lkICJUeXBlIgorbXNnc3RyICLpoZ7lnosiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ3IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzozOAorbXNnaWQgInZhbHVlIGlzIGdpdmVuIHRoaXMgdHlwZSIKK21zZ3N0ciAi5Y+W5YC854K66Kmy6aGe5Z6LIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE0OAorbXNnaWQgInZhbHVlIGlzIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIKK21zZ3N0ciAi5YC85pivIFwidHJ1ZVwiIOaIliBcImZhbHNlXCIiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTQ5Cittc2dpZCAidmFsdWUgaXMgZGVjaW1hbCBudW1iZXIiCittc2dzdHIgIuWAvOaYr+WNgemAsuS9jeaVuCIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNTAKK21zZ2lkICJ2YWx1ZSBpcyAtLWJvb2wgb3IgLS1pbnQiCittc2dzdHIgIuWAvOaYryAtLWJvb2wgb3IgLS1pbnQiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTUxCittc2dpZCAidmFsdWUgaXMgYSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSBuYW1lKSIKK21zZ3N0ciAi5YC85piv5LiA5YCL6Lev5b6R77yI5qqU5qGI5oiW55uu6YyE5ZCN77yJIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE1MgorbXNnaWQgInZhbHVlIGlzIGFuIGV4cGlyeSBkYXRlIgorbXNnc3RyICLlgLzmmK/kuIDlgIvliLDmnJ/ml6XmnJ8iCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTUzCittc2dpZCAiT3RoZXIiCittc2dzdHIgIuWFtuWugyIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNTQKK21zZ2lkICJ0ZXJtaW5hdGUgdmFsdWVzIHdpdGggTlVMIGJ5dGUiCittc2dzdHIgIue1guatouWAvOaYryBOVUwg5L2N5YWD57WEIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE1NQorbXNnaWQgInNob3cgdmFyaWFibGUgbmFtZXMgb25seSIKK21zZ3N0ciAi5Y+q6aGv56S66K6K5pW45ZCNIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE1NgorbXNnaWQgInJlc3BlY3QgaW5jbHVkZSBkaXJlY3RpdmVzIG9uIGxvb2t1cCIKK21zZ3N0ciAi5p+l6Kmi5pmC5Y+D54WnIGluY2x1ZGUg5oyH5Luk6YGe6L+05bCL5om+IgorCisjOiBidWlsdGluL2NvbmZpZy5jOjE1NworbXNnaWQgInNob3cgb3JpZ2luIG9mIGNvbmZpZyAoZmlsZSwgc3RhbmRhcmQgaW5wdXQsIGJsb2IsIGNvbW1hbmQgbGluZSkiCittc2dzdHIgIumhr+ekuuioreWumueahOS+hua6kO+8iOaqlOahiOOAgeaomea6lui8uOWFpeOAgeizh+aWmeeJqeS7tu+8jOaIluaMh+S7pOWIl++8iSIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNTggYnVpbHRpbi9lbnYtLWhlbHBlci5jOjQwCittc2dpZCAidmFsdWUiCittc2dzdHIgIuWPluWAvCIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNTgKK21zZ2lkICJ3aXRoIC0tZ2V0LCB1c2UgZGVmYXVsdCB2YWx1ZSB3aGVuIG1pc3NpbmcgZW50cnkiCittc2dzdHIgIuS9v+eUqCAtLWdldCDkvYbmnKrmjIflrprlj4PmlbjmmYLmiYDkvb/nlKjnmoTpoJDoqK3lgLwiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMsIHNob3VsZCBiZSAlZCIKK21zZ3N0ciAi6Yyv6Kqk55qE5Y+D5pW45YCL5pW477yM5oeJ6Kmy54K6ICVkIOWAiyIKKworIzogYnVpbHRpbi9jb25maWcuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cywgc2hvdWxkIGJlIGZyb20gJWQgdG8gJWQiCittc2dzdHIgIumMr+iqpOeahOWPg+aVuOWAi+aVuO+8jOaHieipsueCuuW+niAlZCDlgIvliLAgJWQg5YCLIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGtleSBwYXR0ZXJuOiAlcyIKK21zZ3N0ciAi54Sh5pWI6Y215ZCN5qih5byP77yaJXMiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBmb3JtYXQgZGVmYXVsdCBjb25maWcgdmFsdWU6ICVzIgorbXNnc3RyICLmoLzlvI/ljJbpoJDoqK3oqK3lrprlgLzlpLHmlZfvvJolcyIKKworIzogYnVpbHRpbi9jb25maWcuYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHBhcnNlIGNvbG9yICclcyciCittc2dzdHIgIueEoeazleino+aekOmhj+iJsiAnJXMnIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjQ0MworbXNnaWQgInVuYWJsZSB0byBwYXJzZSBkZWZhdWx0IGNvbG9yIHZhbHVlIgorbXNnc3RyICLnhKHms5Xop6PmnpDpoJDoqK3poY/oibLlgLwiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDk2IGJ1aWx0aW4vY29uZmlnLmM6NzQyCittc2dpZCAibm90IGluIGEgZ2l0IGRpcmVjdG9yeSIKK21zZ3N0ciAi5LiN5ZyoIGdpdCDniYjmnKzluqvkuK0iCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NDk5Cittc2dpZCAid3JpdGluZyB0byBzdGRpbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLkuI3mlK/mj7Tlr6vliLDmqJnmupbovLjlhaUiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NTAyCittc2dpZCAid3JpdGluZyBjb25maWcgYmxvYnMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAi5LiN5pSv5o+05a+r5Yiw6Kit5a6a6LOH5paZ54mp5Lu2IgorCisjOiBidWlsdGluL2NvbmZpZy5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIyBUaGlzIGlzIEdpdCdzIHBlci11c2VyIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiIKKyJbdXNlcl1cbiIKKyIjIFBsZWFzZSBhZGFwdCBhbmQgdW5jb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZXM6XG4iCisiI1x0bmFtZSA9ICVzXG4iCisiI1x0ZW1haWwgPSAlc1xuIgorbXNnc3RyICIiCisiIyBUaGlzIGlzIEdpdCdzIHBlci11c2VyIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiIKKyJbdXNlcl1cbiIKKyIjIFBsZWFzZSBhZGFwdCBhbmQgdW5jb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZXM6XG4iCisiI1x0bmFtZSA9ICVzXG4iCisiI1x0ZW1haWwgPSAlc1xuIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjYxMQorbXNnaWQgIm9ubHkgb25lIGNvbmZpZyBmaWxlIGF0IGEgdGltZSIKK21zZ3N0ciAi5LiA5qyh5Y+q6IO95pyJ5LiA5YCL6Kit5a6a5qqU5qGIIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjYxNgorbXNnaWQgIi0tbG9jYWwgY2FuIG9ubHkgYmUgdXNlZCBpbnNpZGUgYSBnaXQgcmVwb3NpdG9yeSIKK21zZ3N0ciAiLS1sb2NhbCDlj6rog73lnKjkuIDlgIvniYjmnKzluqvlhafkvb/nlKgiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjE5Cittc2dpZCAiLS1ibG9iIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgZ2l0IHJlcG9zaXRvcnkiCittc2dzdHIgIi0tYmxvYiDlj6rog73lnKjkuIDlgIvniYjmnKzluqvlhafkvb/nlKgiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NjM4Cittc2dpZCAiJEhPTUUgbm90IHNldCIKK21zZ3N0ciAiJEhPTUUg5pyq6Kit5a6aIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjY1OAorbXNnaWQgIiIKKyItLXdvcmt0cmVlIGNhbm5vdCBiZSB1c2VkIHdpdGggbXVsdGlwbGUgd29ya2luZyB0cmVlcyB1bmxlc3MgdGhlIGNvbmZpZ1xuIgorImV4dGVuc2lvbiB3b3JrdHJlZUNvbmZpZyBpcyBlbmFibGVkLiBQbGVhc2UgcmVhZCBcIkNPTkZJR1VSQVRJT04gRklMRVwiXG4iCisic2VjdGlvbiBpbiBcImdpdCBoZWxwIHdvcmt0cmVlXCIgZm9yIGRldGFpbHMiCittc2dzdHIgIiIKKyLkuI3og73lkozlpJrlgIvlt6XkvZzljYDkuIDotbfkvb/nlKggLS13b3JrdHJlZe+8jOmZpOmdnuWVn+eUqCB3b3JrdHJlZUNvbmZpZyDoqK3lrprmk7TlsZXjgIJcbiIKKyLoqbPmg4Xoq4vplrHoroDjgIxnaXQgaGVscCB3b3JrdHJlZeOAjeeahOOAjENPTkZJR1VSQVRJT04gRklMReOAjeWwj+evgCIKKworIzogYnVpbHRpbi9jb25maWcuYzo2ODgKK21zZ2lkICItLWdldC1jb2xvciBhbmQgdmFyaWFibGUgdHlwZSBhcmUgaW5jb2hlcmVudCIKK21zZ3N0ciAiLS1nZXQtY29sb3Ig5ZKM6K6K5pW46aGe5Z6L5LiN55u45a65IgorCisjOiBidWlsdGluL2NvbmZpZy5jOjY5MworbXNnaWQgIm9ubHkgb25lIGFjdGlvbiBhdCBhIHRpbWUiCittc2dzdHIgIuS4gOasoeWPquiDveacieS4gOWAi+WLleS9nCIKKworIzogYnVpbHRpbi9jb25maWcuYzo3MDYKK21zZ2lkICItLW5hbWUtb25seSBpcyBvbmx5IGFwcGxpY2FibGUgdG8gLS1saXN0IG9yIC0tZ2V0LXJlZ2V4cCIKK21zZ3N0ciAiLS1uYW1lLW9ubHkg5YOF6YGp55So5pa8IC0tbGlzdCDmiJYgLS1nZXQtcmVnZXhwIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjcxMgorbXNnaWQgIiIKKyItLXNob3ctb3JpZ2luIGlzIG9ubHkgYXBwbGljYWJsZSB0byAtLWdldCwgLS1nZXQtYWxsLCAtLWdldC1yZWdleHAsIGFuZCAtLSIKKyJsaXN0IgorbXNnc3RyICItLXNob3ctb3JpZ2luIOWDhemBqeeUqOaWvCAtLWdldOOAgS0tZ2V0LWFsbOOAgS0tZ2V0LXJlZ2V4cCDlkowgLS1saXN0IgorCisjOiBidWlsdGluL2NvbmZpZy5jOjcxOAorbXNnaWQgIi0tZGVmYXVsdCBpcyBvbmx5IGFwcGxpY2FibGUgdG8gLS1nZXQiCittc2dzdHIgIi0tZGVmYXVsdCDlg4XpgannlKjmlrwgLS1nZXQiCisKKyM6IGJ1aWx0aW4vY29uZmlnLmM6NzMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWFkIGNvbmZpZyBmaWxlICclcyciCittc2dzdHIgIueEoeazleiugOWPluioreWumuaqlOahiCAnJXMnIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjczNAorbXNnaWQgImVycm9yIHByb2Nlc3NpbmcgY29uZmlnIGZpbGUocykiCittc2dzdHIgIuiZleeQhuioreWumuaqlOahiOeZvOeUn+mMr+iqpCIKKworIzogYnVpbHRpbi9jb25maWcuYzo3NDQKK21zZ2lkICJlZGl0aW5nIHN0ZGluIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIuS4jeaUr+aPtOe3qOi8r+aomea6lui8uOWFpSIKKworIzogYnVpbHRpbi9jb25maWcuYzo3NDYKK21zZ2lkICJlZGl0aW5nIGJsb2JzIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIuS4jeaUr+aPtOe3qOi8r+izh+aWmeeJqeS7tiIKKworIzogYnVpbHRpbi9jb25maWcuYzo3NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBjb25maWd1cmF0aW9uIGZpbGUgJXMiCittc2dzdHIgIuS4jeiDveW7uueri+ioreWumuaqlOahiCAlcyIKKworIzogYnVpbHRpbi9jb25maWcuYzo3NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBvdmVyd3JpdGUgbXVsdGlwbGUgdmFsdWVzIHdpdGggYSBzaW5nbGUgdmFsdWVcbiIKKyIgICAgICAgVXNlIGEgcmVnZXhwLCAtLWFkZCBvciAtLXJlcGxhY2UtYWxsIHRvIGNoYW5nZSAlcy4iCittc2dzdHIgIiIKKyLnhKHms5XnlKjkuIDlgIvlgLzopobok4vlpJrlgIvlgLxcbiIKKyIgICAgICAg5L2/55So5LiA5YCL5q2j6KaP6KGo56S65byP44CBLS1hZGQg5oiWIC0tcmVwbGFjZS1hbGwg5L6G5L+u5pS5ICVz44CCIgorCisjOiBidWlsdGluL2NvbmZpZy5jOjg0NyBidWlsdGluL2NvbmZpZy5jOjg1OAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHNlY3Rpb246ICVzIgorbXNnc3RyICLnhKHmraTlsI/nr4DvvJolcyIKKworIzogYnVpbHRpbi9jb3VudC1vYmplY3RzLmM6OTAKK21zZ2lkICJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIgorbXNnc3RyICJnaXQgY291bnQtb2JqZWN0cyBbLXZdIFstSCB8IC0taHVtYW4tcmVhZGFibGVdIgorCisjOiBidWlsdGluL2NvdW50LW9iamVjdHMuYzoxMDAKK21zZ2lkICJwcmludCBzaXplcyBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXQiCittc2dzdHIgIuS7peS9v+eUqOiAheWPr+iugOeahOagvOW8j+mhr+ekuuWkp+WwjyIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjI2Cittc2dpZCAiZ2l0IGRlc2NyaWJlIFs8b3B0aW9ucz5dIFs8Y29tbWl0LWlzaD4uLi5dIgorbXNnc3RyICJnaXQgZGVzY3JpYmUgWzzpgbjpoIU+XSBbPOaPkOS6pOiZnz4uLi5dIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MjcKK21zZ2lkICJnaXQgZGVzY3JpYmUgWzxvcHRpb25zPl0gLS1kaXJ0eSIKK21zZ3N0ciAiZ2l0IGRlc2NyaWJlIFs86YG46aCFPl0gLS1kaXJ0eSIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjYyCittc2dpZCAiaGVhZCIKK21zZ3N0ciAi6aCtIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NjIKK21zZ2lkICJsaWdodHdlaWdodCIKK21zZ3N0ciAi6LyV6YeP57Sa55qEIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NjIKK21zZ2lkICJhbm5vdGF0ZWQiCittc2dzdHIgIumZhOiou+eahCIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbm5vdGF0ZWQgdGFnICVzIG5vdCBhdmFpbGFibGUiCittc2dzdHIgIumZhOiou+aomeexpCAlcyDnhKHmlYgiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYW5ub3RhdGVkIHRhZyAlcyBoYXMgbm8gZW1iZWRkZWQgbmFtZSIKK21zZ3N0ciAi6ZmE6Ki75qiZ57GkICVzIOaykuacieW1jOWFpeWQjeeosSIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjI4MQorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyByZWFsbHkgJyVzJyBoZXJlIgorbXNnc3RyICLmqJnnsaQgJyVzJyDnmoTnorrmmK/lnKggJyVzJyIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICJubyB0YWcgZXhhY3RseSBtYXRjaGVzICclcyciCittc2dzdHIgIuaykuacieaomeexpOa6lueiuuespuWQiCAnJXMnIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIGV4YWN0IG1hdGNoIG9uIHJlZnMgb3IgdGFncywgc2VhcmNoaW5nIHRvIGRlc2NyaWJlXG4iCittc2dzdHIgIuaykuacieeyvueiuuespuWQiOWIsOW8leeUqOaIluaomeexpO+8jOe5vOe6jOaQnOWwi+mAsuihjOaPj+i/sFxuIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgImZpbmlzaGVkIHNlYXJjaCBhdCAlc1xuIgorbXNnc3RyICLlrozmiJDmkJzlsIsgJXNcbiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQwNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm8gYW5ub3RhdGVkIHRhZ3MgY2FuIGRlc2NyaWJlICclcycuXG4iCisiSG93ZXZlciwgdGhlcmUgd2VyZSB1bmFubm90YXRlZCB0YWdzOiB0cnkgLS10YWdzLiIKK21zZ3N0ciAiIgorIuaykuaciemZhOiou+aomeexpOiDveaPj+i/sCAnJXMn44CCXG4iCisi54S26ICM77yM5a2Y5Zyo5pyq6ZmE6Ki75qiZ57Gk77ya5ZiX6KmmIC0tdGFnc+OAgiIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjQxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm8gdGFncyBjYW4gZGVzY3JpYmUgJyVzJy5cbiIKKyJUcnkgLS1hbHdheXMsIG9yIGNyZWF0ZSBzb21lIHRhZ3MuIgorbXNnc3RyICIiCisi5rKS5pyJ5qiZ57Gk6IO95o+P6L+wICclcyfjgIJcbiIKKyLlmJfoqaYgLS1hbHdheXPvvIzmiJbogIXlu7rnq4vkuIDkupvmqJnnsaTjgIIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJhdmVyc2VkICVsdSBjb21taXRzXG4iCittc2dzdHIgIuW3sumBjeattyAlbHUg5YCL5o+Q5LqkXG4iCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vcmUgdGhhbiAlaSB0YWdzIGZvdW5kOyBsaXN0ZWQgJWkgbW9zdCByZWNlbnRcbiIKKyJnYXZlIHVwIHNlYXJjaCBhdCAlc1xuIgorbXNnc3RyICIiCisi55m854++5aSa5pa8ICVpIOWAi+aomeexpO+8jOWIl+WHuuacgOi/keeahCAlaSDlgItcbiIKKyLlnKggJXMg5pS+5qOE5pCc5bCLXG4iCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVzY3JpYmUgJXNcbiIKK21zZ3N0ciAi5o+P6L+wICVzXG4iCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGEgdmFsaWQgb2JqZWN0IG5hbWUgJXMiCittc2dzdHIgIuS4jeaYr+S4gOWAi+acieaViOeahOeJqeS7tuWQjSAlcyIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjUyMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBuZWl0aGVyIGEgY29tbWl0IG5vciBibG9iIgorbXNnc3RyICIlcyDml6LkuI3mmK/mj5DkuqTkuZ/kuI3mmK/os4fmlpnnianku7YiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzcKK21zZ2lkICJmaW5kIHRoZSB0YWcgdGhhdCBjb21lcyBhZnRlciB0aGUgY29tbWl0IgorbXNnc3RyICLlsIvmib7oqbLmj5DkuqTkuYvlvoznmoTmqJnnsaQiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzgKK21zZ2lkICJkZWJ1ZyBzZWFyY2ggc3RyYXRlZ3kgb24gc3RkZXJyIgorbXNnc3RyICLlnKjmqJnmupbpjK/oqqTkuIrpmaTpjK/mkJzlsIvnrZbnlaUiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1MzkKK21zZ2lkICJ1c2UgYW55IHJlZiIKK21zZ3N0ciAi5L2/55So5Lu75oSP5byV55SoIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQwCittc2dpZCAidXNlIGFueSB0YWcsIGV2ZW4gdW5hbm5vdGF0ZWQiCittc2dzdHIgIuS9v+eUqOS7u+aEj+aomeexpO+8jOWNs+S9v+acqumZhOW4tuWCmeiouyIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MQorbXNnaWQgImFsd2F5cyB1c2UgbG9uZyBmb3JtYXQiCittc2dzdHIgIuWni+e1guS9v+eUqOmVt+aPkOS6pOiZn+agvOW8jyIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0MgorbXNnaWQgIm9ubHkgZm9sbG93IGZpcnN0IHBhcmVudCIKK21zZ3N0ciAi5Y+q6Lef6Zqo56ys5LiA5YCL54i25o+Q5LqkIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ1Cittc2dpZCAib25seSBvdXRwdXQgZXhhY3QgbWF0Y2hlcyIKK21zZ3N0ciAi5Y+q6Ly45Ye657K+56K656ym5ZCIIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTQ3Cittc2dpZCAiY29uc2lkZXIgPG4+IG1vc3QgcmVjZW50IHRhZ3MgKGRlZmF1bHQ6IDEwKSIKK21zZ3N0ciAi6ICD5oWu5pyA6L+RIDxuPiDlgIvmqJnnsaTvvIjpoJDoqK3vvJoxMO+8iSIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjU0OQorbXNnaWQgIm9ubHkgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgIuWPquiAg+aFruespuWQiCA85qih5byPPiDnmoTmqJnnsaQiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTEKK21zZ2lkICJkbyBub3QgY29uc2lkZXIgdGFncyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgIuS4jeiAg+aFruespuWQiCA85qih5byPPiDnmoTmqJnnsaQiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTMgYnVpbHRpbi9uYW1lLXJldi5jOjQ3MworbXNnaWQgInNob3cgYWJicmV2aWF0ZWQgY29tbWl0IG9iamVjdCBhcyBmYWxsYmFjayIKK21zZ3N0ciAi6aGv56S657Ch5a+r55qE5o+Q5Lqk6Jmf5L2c54K65b6M5YKZIgorCisjOiBidWlsdGluL2Rlc2NyaWJlLmM6NTU0IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTcKK21zZ2lkICJtYXJrIgorbXNnc3RyICLmqJnoqJgiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTUKK21zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGRpcnR5IHdvcmtpbmcgdHJlZSAoZGVmYXVsdDogXCItZGlydHlcIikiCittc2dzdHIgIuWwjeaWvOmrkuW3peS9nOWNgO+8jOi/veWKoCA85qiZ6KiYPu+8iOmgkOiore+8mlwiLWRpcnR5XCLvvIkiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NTgKK21zZ2lkICJhcHBlbmQgPG1hcms+IG9uIGJyb2tlbiB3b3JraW5nIHRyZWUgKGRlZmF1bHQ6IFwiLWJyb2tlblwiKSIKK21zZ3N0ciAi5bCN5pa85pCN5aOe55qE5bel5L2c5Y2A77yM6L+95YqgIDzmqJnoqJg+77yI6aCQ6Kit77yaXCItYnJva2VuXCLvvIkiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo1NzYKK21zZ2lkICItLWxvbmcgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hYmJyZXY9MCIKK21zZ3N0ciAiLS1sb25nIOiIhyAtLWFiYnJldj0wIOS4jeebuOWuuSIKKworIzogYnVpbHRpbi9kZXNjcmliZS5jOjYwNQorbXNnaWQgIk5vIG5hbWVzIGZvdW5kLCBjYW5ub3QgZGVzY3JpYmUgYW55dGhpbmcuIgorbXNnc3RyICLmspLmnInnmbznj77lkI3nqLHvvIznhKHms5Xmj4/ov7Dku7vkvZXmnbHopb/jgIIiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTYKK21zZ2lkICItLWRpcnR5IGlzIGluY29tcGF0aWJsZSB3aXRoIGNvbW1pdC1pc2hlcyIKK21zZ3N0ciAiLS1kaXJ0eSDoiIfmj5DkuqTomZ/kuI3nm7jlrrkiCisKKyM6IGJ1aWx0aW4vZGVzY3JpYmUuYzo2NTgKK21zZ2lkICItLWJyb2tlbiBpcyBpbmNvbXBhdGlibGUgd2l0aCBjb21taXQtaXNoZXMiCittc2dzdHIgIi0tYnJva2VuIOiIh+aPkOS6pOiZn+S4jeebuOWuuSIKKworIzogYnVpbHRpbi9kaWZmLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJzogbm90IGEgcmVndWxhciBmaWxlIG9yIHN5bWxpbmsiCittc2dzdHIgIiclcyfvvJrkuI3mmK/kuIDlgIvmraPopo/mqpTmoYjmiJbnrKbomZ/pgKPntZAiCisKKyM6IGJ1aWx0aW4vZGlmZi5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG9wdGlvbjogJXMiCittc2dzdHIgIueEoeaViOmBuOmghe+8miVzIgorCisjOiBidWlsdGluL2RpZmYuYzozNTAKK21zZ2lkICJOb3QgYSBnaXQgcmVwb3NpdG9yeSIKK21zZ3N0ciAi5LiN5piv5LiA5YCLIGdpdCDniYjmnKzluqsiCisKKyM6IGJ1aWx0aW4vZGlmZi5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIG9iamVjdCAnJXMnIGdpdmVuLiIKK21zZ3N0ciAi5o+Q5L6b5LqG54Sh5pWI54mp5Lu2ICclcyfjgIIiCisKKyM6IGJ1aWx0aW4vZGlmZi5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICJtb3JlIHRoYW4gdHdvIGJsb2JzIGdpdmVuOiAnJXMnIgorbXNnc3RyICLmj5DkvpvkuobotoXpgY7lhanlgIvos4fmlpnnianku7bvvJonJXMnIgorCisjOiBidWlsdGluL2RpZmYuYzo0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5oYW5kbGVkIG9iamVjdCAnJXMnIGdpdmVuLiIKK21zZ3N0ciAi54Sh5rOV6JmV55CG55qE54mp5Lu2ICclcyfjgIIiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzozMAorbXNnaWQgImdpdCBkaWZmdG9vbCBbPG9wdGlvbnM+XSBbPGNvbW1pdD4gWzxjb21taXQ+XV0gWy0tXSBbPHBhdGg+Li4uXSIKK21zZ3N0ciAiZ2l0IGRpZmZ0b29sIFs86YG46aCFPl0gWzzmj5DkuqQ+IFs85o+Q5LqkPl1dIFstLV0gWzzot6/lvpE+Li4uXSIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjI2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQ6ICVkIgorbXNnc3RyICLlpLHmlZfvvJolZCIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBzeW1saW5rICVzIgorbXNnc3RyICLnhKHms5XoroDlj5bnrKbomZ/pgKPntZAgJXMiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgc3ltbGluayBmaWxlICVzIgorbXNnc3RyICLnhKHms5XoroDlj5bnrKbomZ/pgKPntZDmqpTmoYggJXMiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgb2JqZWN0ICVzIGZvciBzeW1saW5rICVzIgorbXNnc3RyICLnhKHms5XoroDlj5bnrKbomZ/pgKPntZAgJTIkcyDmjIflkJHnmoTnianku7YgJTEkcyIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjQxMworbXNnaWQgIiIKKyJjb21iaW5lZCBkaWZmIGZvcm1hdHMoJy1jJyBhbmQgJy0tY2MnKSBhcmUgbm90IHN1cHBvcnRlZCBpblxuIgorImRpcmVjdG9yeSBkaWZmIG1vZGUoJy1kJyBhbmQgJy0tZGlyLWRpZmYnKS4iCittc2dzdHIgIiIKKyLkuI3mlK/mj7TlnKjnm67pjITmr5TovIPmqKHlvI/vvIgnLWQnIOWSjCAnLS1kaXItZGlmZifvvInkuK3mjqHnlKjntYTlkIjlt67nlbDmoLzlvI/vvIgnLWMnIOWSjCAnLS0iCisiY2Mn77yJ44CCIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgImJvdGggZmlsZXMgbW9kaWZpZWQ6ICclcycgYW5kICclcycuIgorbXNnc3RyICLlhanlgIvmqpTmoYjpg73ooqvkv67mlLnvvJonJXMnIOWSjCAnJXMn44CCIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjM2Cittc2dpZCAid29ya2luZyB0cmVlIGZpbGUgaGFzIGJlZW4gbGVmdC4iCittc2dzdHIgIuW3peS9nOWNgOaqlOahiOiiq+eVmeS6huS4i+S+huOAgiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICJ0ZW1wb3JhcnkgZmlsZXMgZXhpc3QgaW4gJyVzJy4iCittc2dzdHIgIuaaq+WtmOaqlOWtmOWcqOaWvCAnJXMn44CCIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NjQ4Cittc2dpZCAieW91IG1heSB3YW50IHRvIGNsZWFudXAgb3IgcmVjb3ZlciB0aGVzZS4iCittc2dzdHIgIuaCqOWPr+iDveaDs+imgea4heeQhuaIluiAheW+qeWOn+Wug+WAkeOAgiIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjY5NworbXNnaWQgInVzZSBgZGlmZi5ndWl0b29sYCBpbnN0ZWFkIG9mIGBkaWZmLnRvb2xgIgorbXNnc3RyICLkvb/nlKggYGRpZmYuZ3VpdG9vbGAg5Luj5pu/IGBkaWZmLnRvb2xgIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6Njk5Cittc2dpZCAicGVyZm9ybSBhIGZ1bGwtZGlyZWN0b3J5IGRpZmYiCittc2dzdHIgIuWft+ihjOS4gOWAi+WFqOebrumMhOW3rueVsOavlOi8gyIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcwMQorbXNnaWQgImRvIG5vdCBwcm9tcHQgYmVmb3JlIGxhdW5jaGluZyBhIGRpZmYgdG9vbCIKK21zZ3N0ciAi5ZWf5YuV5beu55Ww5q+U6LyD5bel5YW35LmL5YmN5LiN5o+Q56S6IgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzA2Cittc2dpZCAidXNlIHN5bWxpbmtzIGluIGRpci1kaWZmIG1vZGUiCittc2dzdHIgIuWcqCBkaXItZGlmZiDmqKHlvI/kuK3kvb/nlKjnrKbomZ/pgKPntZAiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDcKK21zZ2lkICJ0b29sIgorbXNnc3RyICLlt6XlhbciCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MDgKK21zZ2lkICJ1c2UgdGhlIHNwZWNpZmllZCBkaWZmIHRvb2wiCittc2dzdHIgIuS9v+eUqOaMh+WumueahOW3rueVsOavlOi8g+W3peWFtyIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMAorbXNnaWQgInByaW50IGEgbGlzdCBvZiBkaWZmIHRvb2xzIHRoYXQgbWF5IGJlIHVzZWQgd2l0aCBgLS10b29sYCIKK21zZ3N0ciAi6aGv56S65Y+v5Lul55So5ZyoIGAtLXRvb2xgIOWPg+aVuOW+jOeahOW3rueVsOW3peWFt+WIl+ihqCIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjcxMworbXNnaWQgIiIKKyJtYWtlICdnaXQtZGlmZnRvb2wnIGV4aXQgd2hlbiBhbiBpbnZva2VkIGRpZmYgdG9vbCByZXR1cm5zIGEgbm9uIC0gemVybyBleGl0ICIKKyJjb2RlIgorbXNnc3RyICLnlbbln7fooYwgZGlmZiDlt6Xlhbfov5Tlm57pnZ7pm7bpm6LplovnorzmmYLvvIzkvb8gJ2dpdC1kaWZmdG9vbCcg6Zui6ZaLIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzE2Cittc2dpZCAic3BlY2lmeSBhIGN1c3RvbSBjb21tYW5kIGZvciB2aWV3aW5nIGRpZmZzIgorbXNnc3RyICLmjIflrprkuIDlgIvnlKjmlrzmqqLoppblt67nlbDnmoToh6roqILmjIfku6QiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MTcKK21zZ2lkICJwYXNzZWQgdG8gYGRpZmZgIgorbXNnc3RyICLlgrPpgZ7ntaYgYGRpZmZgIgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzMyCittc2dpZCAiZGlmZnRvb2wgcmVxdWlyZXMgd29ya3RyZWUgb3IgLS1uby1pbmRleCIKK21zZ3N0ciAiZGlmZnRvb2wg6KaB5rGC5bel5L2c5Y2A5oiW6ICFIC0tbm8taW5kZXgiCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3MzkKK21zZ2lkICItLWRpci1kaWZmIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tbm8taW5kZXgiCittc2dzdHIgIi0tZGlyLWRpZmYg5ZKMIC0tbm8taW5kZXgg5LiN55u45a65IgorCisjOiBidWlsdGluL2RpZmZ0b29sLmM6NzQyCittc2dpZCAiLS1ndWksIC0tdG9vbCBhbmQgLS1leHRjbWQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1ndWnjgIEtLXRvb2wg5ZKMIC0tZXh0Y21kIOS6kuaWpSIKKworIzogYnVpbHRpbi9kaWZmdG9vbC5jOjc1MAorbXNnaWQgIm5vIDx0b29sPiBnaXZlbiBmb3IgLS10b29sPTx0b29sPiIKK21zZ3N0ciAi5rKS5pyJ54K6IC0tdG9vbD085bel5YW3PiDlj4Pmlbjmj5DkvpsgPOW3peWFtz4iCisKKyM6IGJ1aWx0aW4vZGlmZnRvb2wuYzo3NTcKK21zZ2lkICJubyA8Y21kPiBnaXZlbiBmb3IgLS1leHRjbWQ9PGNtZD4iCittc2dzdHIgIuaykuacieeCuiAtLWV4dGNtZD085oyH5LukPiDlj4Pmlbjmj5DkvpsgPOaMh+S7pD4iCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo2Cittc2dpZCAiZ2l0IGVudi0taGVscGVyIC0tdHlwZT1bYm9vbHx1bG9uZ10gPG9wdGlvbnM+IDxlbnYtdmFyPiIKK21zZ3N0ciAiZ2l0IGVudi0taGVscGVyIC0tdHlwZT1bYm9vbHx1bG9uZ10gPOmBuOmghT4gPOeSsOWig+iuiuaVuD4iCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzozNyBidWlsdGluL2hhc2gtb2JqZWN0LmM6OTgKK21zZ2lkICJ0eXBlIgorbXNnc3RyICLpoZ7lnosiCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo0MQorbXNnaWQgImRlZmF1bHQgZm9yIGdpdF9lbnZfKiguLi4pIHRvIGZhbGwgYmFjayBvbiIKK21zZ3N0ciAiZ2l0X2Vudl8qKC4uLikg55qE6aCQ6Kit5YC8IgorCisjOiBidWlsdGluL2Vudi0taGVscGVyLmM6NDMKK21zZ2lkICJiZSBxdWlldCBvbmx5IHVzZSBnaXRfZW52XyooKSB2YWx1ZSBhcyBleGl0IGNvZGUiCittc2dzdHIgIuWuiemdnOaooeW8j++8jOWPquS9v+eUqCBnaXRfZW52XyooKSDnmoTlgLzkvZzngrrpm6LplovnorwiCisKKyM6IGJ1aWx0aW4vZW52LS1oZWxwZXIuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYC0tZGVmYXVsdCcgZXhwZWN0cyBhIGJvb2xlYW4gdmFsdWUgd2l0aCBgLS10eXBlPWJvb2xgLCBub3QgYCVzYCIKK21zZ3N0ciAi6YG46aCFIGAtLWRlZmF1bHQnIOWSjCBgdHlwZT1ib29sYCDmnJ/mnJvkuIDlgIvluIPmnpflgLzvvIzkuI3mmK8gYCVzYCIKKworIzogYnVpbHRpbi9lbnYtLWhlbHBlci5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvcHRpb24gYC0tZGVmYXVsdCcgZXhwZWN0cyBhbiB1bnNpZ25lZCBsb25nIHZhbHVlIHdpdGggYC0tdHlwZT11bG9uZ2AsIG5vdCBgIgorIiVzYCIKK21zZ3N0ciAi6YG46aCFIGAtLWRlZmF1bHQnIOWSjCBgdHlwZT11bG9uZ2Ag5pyf5pyb5LiA5YCL54Sh56ym6Jmf6ZW35pW05Z6L77yM5LiN5pivIGAlc2AiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoyOQorbXNnaWQgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3Qtb3B0c10iCittc2dzdHIgImdpdCBmYXN0LWV4cG9ydCBbcmV2LWxpc3Qtb3B0c10iCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzo4NTIKK21zZ2lkICJFcnJvcjogQ2Fubm90IGV4cG9ydCBuZXN0ZWQgdGFncyB1bmxlc3MgLS1tYXJrLXRhZ3MgaXMgc3BlY2lmaWVkLiIKK21zZ3N0ciAi6Yyv6Kqk77ya6Zmk6Z2e5oyH5a6aIC0tbWFyay10YWdz77yM5ZCm5YmH54Sh5rOV5Yyv5Ye65bWM5aWX5qiZ57Gk44CCIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1MgorbXNnaWQgInNob3cgcHJvZ3Jlc3MgYWZ0ZXIgPG4+IG9iamVjdHMiCittc2dzdHIgIuWcqCA8bj4g5YCL54mp5Lu25LmL5b6M6aGv56S66YCy5bqmIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1NAorbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiBzaWduZWQgdGFncyIKK21zZ3N0ciAi6YG45pOH5aaC5L2V6JmV55CG57C95ZCN5qiZ57GkIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE1NworbXNnaWQgInNlbGVjdCBoYW5kbGluZyBvZiB0YWdzIHRoYXQgdGFnIGZpbHRlcmVkIG9iamVjdHMiCittc2dzdHIgIumBuOaTh+eVtuaomeexpOaMh+WQkeiiq+mBjua/vueJqeS7tuaZguipsuaomeexpOeahOiZleeQhuaWueW8jyIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNjAKK21zZ2lkICJzZWxlY3QgaGFuZGxpbmcgb2YgY29tbWl0IG1lc3NhZ2VzIGluIGFuIGFsdGVybmF0ZSBlbmNvZGluZyIKK21zZ3N0ciAi6YG45pOH5L2/55So5YKZ55So57eo56K86JmV55CG5o+Q5Lqk6Kqq5piOIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE2MworbXNnaWQgIkR1bXAgbWFya3MgdG8gdGhpcyBmaWxlIgorbXNnc3RyICLmiormqJnoqJjlhLLlrZjliLDpgJnlgIvmqpTmoYgiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY1Cittc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIgorbXNnc3RyICLlvp7pgJnlgIvmqpTmoYjljK/lhaXmqJnoqJgiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTY5Cittc2dpZCAiSW1wb3J0IG1hcmtzIGZyb20gdGhpcyBmaWxlIGlmIGl0IGV4aXN0cyIKK21zZ3N0ciAi5b6e6Kmy5qqU5qGI5Yyv5YWl5qiZ6KiY77yI5aaC5p6c5a2Y5Zyo55qE6Kmx77yJIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3MQorbXNnaWQgIkZha2UgYSB0YWdnZXIgd2hlbiB0YWdzIGxhY2sgb25lIgorbXNnc3RyICLnlbbmqJnnsaTnvLrlsJHmqJnoqJjogIXmrITkvY3mmYLvvIzlgYfoo53mj5DkvpvkuIDlgIsiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTczCittc2dpZCAiT3V0cHV0IGZ1bGwgdHJlZSBmb3IgZWFjaCBjb21taXQiCittc2dzdHIgIuavj+asoeaPkOS6pOmDvei8uOWHuuaVtOWAi+aouSIKKworIzogYnVpbHRpbi9mYXN0LWV4cG9ydC5jOjExNzUKK21zZ2lkICJVc2UgdGhlIGRvbmUgZmVhdHVyZSB0byB0ZXJtaW5hdGUgdGhlIHN0cmVhbSIKK21zZ3N0ciAi5L2/55SoIGRvbmUg5Yqf6IO95L6G57WC5q2i5rWBIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3NgorbXNnaWQgIlNraXAgb3V0cHV0IG9mIGJsb2IgZGF0YSIKK21zZ3N0ciAi6Lez6YGO6LOH5paZ54mp5Lu255qE6Ly45Ye6IgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE3NyBidWlsdGluL2xvZy5jOjE3MDUKK21zZ2lkICJyZWZzcGVjIgorbXNnc3RyICLlvJXnlKjopo/moLwiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTc4Cittc2dpZCAiQXBwbHkgcmVmc3BlYyB0byBleHBvcnRlZCByZWZzIgorbXNnc3RyICLlsI3ljK/lh7rnmoTlvJXnlKjmh4nnlKjlvJXnlKjopo/moLwiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTc5Cittc2dpZCAiYW5vbnltaXplIG91dHB1dCIKK21zZ3N0ciAi5Yy/5ZCN6Ly45Ye6IgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTE4MQorbXNnaWQgIlJlZmVyZW5jZSBwYXJlbnRzIHdoaWNoIGFyZSBub3QgaW4gZmFzdC1leHBvcnQgc3RyZWFtIGJ5IG9iamVjdCBpZCIKK21zZ3N0ciAi5byV55So54i254mp5Lu2IElEIOS4jeWcqCBmYXN0LWV4cG9ydCDmtYHkuK0iCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTgzCittc2dpZCAiU2hvdyBvcmlnaW5hbCBvYmplY3QgaWRzIG9mIGJsb2JzL2NvbW1pdHMiCittc2dzdHIgIumhr+ekuuizh+aWmeeJqeS7ti/mj5DkuqTnmoTljp/lp4vnianku7YgSUQiCisKKyM6IGJ1aWx0aW4vZmFzdC1leHBvcnQuYzoxMTg1Cittc2dpZCAiTGFiZWwgdGFncyB3aXRoIG1hcmsgaWRzIgorbXNnc3RyICLlsI3luLbmnInmqJnoqJggSUQg55qE5qiZ57Gk5YGa5qiZ6KiYIgorCisjOiBidWlsdGluL2Zhc3QtZXhwb3J0LmM6MTIyMAorbXNnaWQgIkNhbm5vdCBwYXNzIGJvdGggLS1pbXBvcnQtbWFya3MgYW5kIC0taW1wb3J0LW1hcmtzLWlmLWV4aXN0cyIKK21zZ3N0ciAi5LiN6IO95ZCM5pmC5YKz6YGe5Y+D5pW4IC0taW1wb3J0LW1hcmtzIOWSjCAtLWltcG9ydC1tYXJrcy1pZi1leGlzdHMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNAorbXNnaWQgImdpdCBmZXRjaCBbPG9wdGlvbnM+XSBbPHJlcG9zaXRvcnk+IFs8cmVmc3BlYz4uLi5dXSIKK21zZ3N0ciAiZ2l0IGZldGNoIFs86YG46aCFPl0gWzzniYjmnKzluqs+IFs85byV55So6KaP5qC8Pi4uLl1dIgorCisjOiBidWlsdGluL2ZldGNoLmM6MzUKK21zZ2lkICJnaXQgZmV0Y2ggWzxvcHRpb25zPl0gPGdyb3VwPiIKK21zZ3N0ciAiZ2l0IGZldGNoIFs86YG46aCFPl0gPOe1hD4iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzozNgorbXNnaWQgImdpdCBmZXRjaCAtLW11bHRpcGxlIFs8b3B0aW9ucz5dIFsoPHJlcG9zaXRvcnk+IHwgPGdyb3VwPikuLi5dIgorbXNnc3RyICJnaXQgZmV0Y2ggLS1tdWx0aXBsZSBbPOmBuOmghT5dIFsoPOeJiOacrOW6qz4gfCA857WEPikuLi5dIgorCisjOiBidWlsdGluL2ZldGNoLmM6MzcKK21zZ2lkICJnaXQgZmV0Y2ggLS1hbGwgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCBmZXRjaCAtLWFsbCBbPOmBuOmghT5dIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTE2Cittc2dpZCAiZmV0Y2gucGFyYWxsZWwgY2Fubm90IGJlIG5lZ2F0aXZlIgorbXNnc3RyICJmZXRjaC5wYXJhbGxlbCDkuI3og73ngrrosqDmlbgiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMzkgYnVpbHRpbi9wdWxsLmM6MjA0Cittc2dpZCAiZmV0Y2ggZnJvbSBhbGwgcmVtb3RlcyIKK21zZ3N0ciAi5b6e5omA5pyJ55qE6YGg56uv5oqT5Y+WIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQxIGJ1aWx0aW4vcHVsbC5jOjI0OAorbXNnaWQgInNldCB1cHN0cmVhbSBmb3IgZ2l0IHB1bGwvZmV0Y2giCittc2dzdHIgIueCuiBnaXQgcHVsbC9mZXRjaCDoqK3lrprkuIrmuLgiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDMgYnVpbHRpbi9wdWxsLmM6MjA3Cittc2dpZCAiYXBwZW5kIHRvIC5naXQvRkVUQ0hfSEVBRCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIgorbXNnc3RyICLov73liqDliLAgLmdpdC9GRVRDSF9IRUFEIOiAjOS4jeaYr+imhuiTi+WugyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0NSBidWlsdGluL3B1bGwuYzoyMTAKK21zZ2lkICJwYXRoIHRvIHVwbG9hZCBwYWNrIG9uIHJlbW90ZSBlbmQiCittc2dzdHIgIuS4iuWCs+WMheWIsOmBoOerr+eahOi3r+W+kSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0NgorbXNnaWQgImZvcmNlIG92ZXJ3cml0ZSBvZiBsb2NhbCByZWZlcmVuY2UiCittc2dzdHIgIuW8t+WItuimhuiTi+acrOapn+W8leeUqCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0OAorbXNnaWQgImZldGNoIGZyb20gbXVsdGlwbGUgcmVtb3RlcyIKK21zZ3N0ciAi5b6e5aSa5YCL6YGg56uv5oqT5Y+WIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTUwIGJ1aWx0aW4vcHVsbC5jOjIxNAorbXNnaWQgImZldGNoIGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMiCittc2dzdHIgIuaKk+WPluaJgOacieeahOaomeexpOWSjOmXnOiBr+eJqeS7tiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE1MgorbXNnaWQgImRvIG5vdCBmZXRjaCBhbGwgdGFncyAoLS1uby10YWdzKSIKK21zZ3N0ciAi5LiN5oqT5Y+W5Lu75L2V5qiZ57GkKC0tbm8tdGFncykiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTQKK21zZ2lkICJudW1iZXIgb2Ygc3VibW9kdWxlcyBmZXRjaGVkIGluIHBhcmFsbGVsIgorbXNnc3RyICLlrZDmqKHntYTlj5blvpfnmoTkuKbnmbzmlbgiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTYgYnVpbHRpbi9wdWxsLmM6MjE3Cittc2dpZCAicHJ1bmUgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIG5vIGxvbmdlciBvbiByZW1vdGUiCittc2dzdHIgIua4hemZpOmBoOerr+W3sue2k+S4jeWtmOWcqOeahOWIhuaUr+eahOi/vei5pOWIhuaUryIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE1OAorbXNnaWQgInBydW5lIGxvY2FsIHRhZ3Mgbm8gbG9uZ2VyIG9uIHJlbW90ZSBhbmQgY2xvYmJlciBjaGFuZ2VkIHRhZ3MiCittc2dzdHIgIua4hemZpOmBoOerr+S4jeWtmOWcqOeahOacrOapn+aomeexpO+8jOS4puS4lOWPluS7o+iuiuabtOaomeexpCIKKworIyAg6K2v6ICF77ya5Y+v6YG45YC877yM5LiN6IO957+76K2vCisjOiBidWlsdGluL2ZldGNoLmM6MTU5IGJ1aWx0aW4vZmV0Y2guYzoxODIgYnVpbHRpbi9wdWxsLmM6MTQxCittc2dpZCAib24tZGVtYW5kIgorbXNnc3RyICJvbi1kZW1hbmQiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjAKK21zZ2lkICJjb250cm9sIHJlY3Vyc2l2ZSBmZXRjaGluZyBvZiBzdWJtb2R1bGVzIgorbXNnc3RyICLmjqfliLblrZDmqKHntYTnmoTpgZ7ov7TmipPlj5YiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjQgYnVpbHRpbi9wdWxsLmM6MjI1Cittc2dpZCAia2VlcCBkb3dubG9hZGVkIHBhY2siCittc2dzdHIgIuS/neaMgeS4i+i8ieWMhSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE2NgorbXNnaWQgImFsbG93IHVwZGF0aW5nIG9mIEhFQUQgcmVmIgorbXNnc3RyICLlhYHoqLHmm7TmlrAgSEVBRCDlvJXnlKgiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjkgYnVpbHRpbi9mZXRjaC5jOjE3NSBidWlsdGluL3B1bGwuYzoyMjgKK21zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IGNsb25lIgorbXNnc3RyICLmt7HljJbmt7ropIfoo73nmoTmrbflj7IiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzEKK21zZ2lkICJkZWVwZW4gaGlzdG9yeSBvZiBzaGFsbG93IHJlcG9zaXRvcnkgYmFzZWQgb24gdGltZSIKK21zZ3N0ciAi5Z+65pa85pmC6ZaT5L6G5rex5YyW5re66KSH6KO955qE5q235Y+yIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTc3IGJ1aWx0aW4vcHVsbC5jOjIzMQorbXNnaWQgImNvbnZlcnQgdG8gYSBjb21wbGV0ZSByZXBvc2l0b3J5IgorbXNnc3RyICLovYnmj5vngrrkuIDlgIvlrozmlbTnmoTniYjmnKzluqsiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODAKK21zZ2lkICJwcmVwZW5kIHRoaXMgdG8gc3VibW9kdWxlIHBhdGggb3V0cHV0IgorbXNnc3RyICLlnKjlrZDmqKHntYTot6/lvpHovLjlh7rnmoTliY3pnaLliqDkuIrmraTnm67pjIQiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODMKK21zZ2lkICIiCisiZGVmYXVsdCBmb3IgcmVjdXJzaXZlIGZldGNoaW5nIG9mIHN1Ym1vZHVsZXMgKGxvd2VyIHByaW9yaXR5IHRoYW4gY29uZmlnICIKKyJmaWxlcykiCittc2dzdHIgIumBnui/tOWPluW+l+WtkOaooee1hOeahOmgkOioreWAvO+8iOavlOioreWumuaqlOahiOWEquWFiOW6puS9ju+8iSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE4NyBidWlsdGluL3B1bGwuYzoyMzQKK21zZ2lkICJhY2NlcHQgcmVmcyB0aGF0IHVwZGF0ZSAuZ2l0L3NoYWxsb3ciCittc2dzdHIgIuaOpeWPl+abtOaWsCAuZ2l0L3NoYWxsb3cg55qE5byV55SoIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTg4IGJ1aWx0aW4vcHVsbC5jOjIzNgorbXNnaWQgInJlZm1hcCIKK21zZ3N0ciAi5byV55So5pig5bCEIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTg5IGJ1aWx0aW4vcHVsbC5jOjIzNworbXNnaWQgInNwZWNpZnkgZmV0Y2ggcmVmbWFwIgorbXNnc3RyICLmjIflrprlj5blvpfli5XkvZznmoTlvJXnlKjmmKDlsIQiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxOTYKK21zZ2lkICJyZXBvcnQgdGhhdCB3ZSBoYXZlIG9ubHkgb2JqZWN0cyByZWFjaGFibGUgZnJvbSB0aGlzIG9iamVjdCIKK21zZ3N0ciAi5aCx5ZGK5oiR5YCR5Y+q5pOB5pyJ5b6e6Kmy54mp5Lu26ZaL5aeL5Y+v5Lul5Y+W5b6X55qE54mp5Lu2IgorCisjOiBidWlsdGluL2ZldGNoLmM6MTk5Cittc2dpZCAicnVuICdnYyAtLWF1dG8nIGFmdGVyIGZldGNoaW5nIgorbXNnc3RyICLlj5blvpflvozln7fooYwgJ2djIC0tYXV0byciCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMDEgYnVpbHRpbi9wdWxsLmM6MjQ2Cittc2dpZCAiY2hlY2sgZm9yIGZvcmNlZC11cGRhdGVzIG9uIGFsbCB1cGRhdGVkIGJyYW5jaGVzIgorbXNnc3RyICLlnKjmiYDmnInmm7TmlrDliIbmlK/kuIrmqqLmn6XlvLfliLbmm7TmlrAiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoyMDMKKyMsIGZ1enp5CisjfCBtc2dpZCAicHJ1bmUgcmVtb3RlcyBhZnRlciBmZXRjaGluZyIKK21zZ2lkICJ3cml0ZSB0aGUgY29tbWl0LWdyYXBoIGFmdGVyIGZldGNoaW5nIgorbXNnc3RyICLmipPlj5blvozmuIXpmaTpgaDnq68iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo1MTMKK21zZ2lkICJDb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgSEVBRCIKK21zZ3N0ciAi54Sh5rOV55m854++6YGg56uvIEhFQUQg5byV55SoIgorCisjOiBidWlsdGluL2ZldGNoLmM6NjUzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbmZpZ3VyYXRpb24gZmV0Y2gub3V0cHV0IGNvbnRhaW5zIGludmFsaWQgdmFsdWUgJXMiCittc2dzdHIgIuioreWumuiuiuaVuCBmZXRjaC5vdXRwdXQg5YyF5ZCr54Sh5pWI5YC8ICVzIgorCisjOiBidWlsdGluL2ZldGNoLmM6NzUxCisjLCBjLWZvcm1hdAorbXNnaWQgIm9iamVjdCAlcyBub3QgZm91bmQiCittc2dzdHIgIueJqeS7tiAlcyDmnKrnmbznj74iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3NTUKK21zZ2lkICJbdXAgdG8gZGF0ZV0iCittc2dzdHIgIlvmnIDmlrBdIgorCisjOiBidWlsdGluL2ZldGNoLmM6NzY4IGJ1aWx0aW4vZmV0Y2guYzo3ODQgYnVpbHRpbi9mZXRjaC5jOjg1NgorbXNnaWQgIltyZWplY3RlZF0iCittc2dzdHIgIlvlt7Lmi5LntZVdIgorCisjOiBidWlsdGluL2ZldGNoLmM6NzY5Cittc2dpZCAiY2FuJ3QgZmV0Y2ggaW4gY3VycmVudCBicmFuY2giCittc2dzdHIgIuebruWJjeWIhuaUr+S4i+S4jeiDveWft+ihjOWPluW+l+WLleS9nCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjc3OQorbXNnaWQgIlt0YWcgdXBkYXRlXSIKK21zZ3N0ciAiW+aomeexpOabtOaWsF0iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo3ODAgYnVpbHRpbi9mZXRjaC5jOjgxNyBidWlsdGluL2ZldGNoLmM6ODM5CisjOiBidWlsdGluL2ZldGNoLmM6ODUxCittc2dpZCAidW5hYmxlIHRvIHVwZGF0ZSBsb2NhbCByZWYiCittc2dzdHIgIuS4jeiDveabtOaWsOacrOapn+W8leeUqCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjc4NAorbXNnaWQgIndvdWxkIGNsb2JiZXIgZXhpc3RpbmcgdGFnIgorbXNnc3RyICLmnIPnoLTlo57nj77mnInnmoTmqJnnsaQiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4MDYKK21zZ2lkICJbbmV3IHRhZ10iCittc2dzdHIgIlvmlrDmqJnnsaRdIgorCisjOiBidWlsdGluL2ZldGNoLmM6ODA5Cittc2dpZCAiW25ldyBicmFuY2hdIgorbXNnc3RyICJb5paw5YiG5pSvXSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjgxMgorbXNnaWQgIltuZXcgcmVmXSIKK21zZ3N0ciAiW+aWsOW8leeUqF0iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTEKK21zZ2lkICJmb3JjZWQgdXBkYXRlIgorbXNnc3RyICLlvLfliLbmm7TmlrAiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NTYKK21zZ2lkICJub24tZmFzdC1mb3J3YXJkIgorbXNnc3RyICLpnZ7lv6vovYkiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzo4NzcKK21zZ2lkICIiCisiRmV0Y2ggbm9ybWFsbHkgaW5kaWNhdGVzIHdoaWNoIGJyYW5jaGVzIGhhZCBhIGZvcmNlZCB1cGRhdGUsXG4iCisiYnV0IHRoYXQgY2hlY2sgaGFzIGJlZW4gZGlzYWJsZWQuIFRvIHJlLWVuYWJsZSwgdXNlICctLXNob3ctZm9yY2VkLXVwZGF0ZXMnXG4iCisiZmxhZyBvciBydW4gJ2dpdCBjb25maWcgZmV0Y2guc2hvd0ZvcmNlZFVwZGF0ZXMgdHJ1ZScuIgorbXNnc3RyICIiCisi5Y+W5b6X5YuV5L2c6YCa5bi46aGv56S65ZOq5Lqb5YiG5pSv55m855Sf5LqG5by35Yi25pu05paw77yM5L2G6Kmy5qqi5p+l5bey6KKr56aB55So44CCXG4iCisi6KaB6YeN5paw5ZWf55So77yM6KuL5L2/55SoICctLXNob3ctZm9yY2VkLXVwZGF0ZXMnIOmBuOmgheaIluWft+ihjFxuIgorIidnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzIHRydWUn44CCIgorCisjOiBidWlsdGluL2ZldGNoLmM6ODgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBjaGVjayBmb3JjZWQgdXBkYXRlcy4gWW91IGNhbiB1c2VcbiIKKyInLS1uby1zaG93LWZvcmNlZC11cGRhdGVzJyBvciBydW4gJ2dpdCBjb25maWcgZmV0Y2guc2hvd0ZvcmNlZFVwZGF0ZXMgIgorImZhbHNlJ1xuIgorIiB0byBhdm9pZCB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisi6Iqx5LqGICUuMmYg56eS5L6G5qqi5p+l5by35Yi25pu05paw44CC5oKo5Y+v5Lul5L2/55SoICctLW5vLXNob3ctZm9yY2VkLXVwZGF0ZXMnXG4iCisi5oiW5Z+36KGMICdnaXQgY29uZmlnIGZldGNoLnNob3dGb3JjZWRVcGRhdGVzIGZhbHNlJyDku6Xpgb/lhY3mraTpoIXmqqLmn6XjgIJcbiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkaWQgbm90IHNlbmQgYWxsIG5lY2Vzc2FyeSBvYmplY3RzXG4iCittc2dzdHIgIiVzIOacquWCs+mAgeaJgOacieW/hemcgOeahOeJqeS7tlxuIgorCisjOiBidWlsdGluL2ZldGNoLmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlamVjdCAlcyBiZWNhdXNlIHNoYWxsb3cgcm9vdHMgYXJlIG5vdCBhbGxvd2VkIHRvIGJlIHVwZGF0ZWQiCittc2dzdHIgIuaLkue1lSAlcyDlm6Dngrrmt7ropIfoo73kuI3lhYHoqLHooqvmm7TmlrAiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMDE3IGJ1aWx0aW4vZmV0Y2guYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZyb20gJS4qc1xuIgorbXNnc3RyICLkvoboh6ogJS4qc1xuIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTAyOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic29tZSBsb2NhbCByZWZzIGNvdWxkIG5vdCBiZSB1cGRhdGVkOyB0cnkgcnVubmluZ1xuIgorIiAnZ2l0IHJlbW90ZSBwcnVuZSAlcycgdG8gcmVtb3ZlIGFueSBvbGQsIGNvbmZsaWN0aW5nIGJyYW5jaGVzIgorbXNnc3RyICIiCisi5LiA5Lqb5pys5qmf5byV55So5LiN6IO96KKr5pu05paw77yb5ZiX6Kmm5Z+36KGMXG4iCisiICdnaXQgcmVtb3RlIHBydW5lICVzJyDkvobliKrpmaToiIrnmoTjgIHmnInooZ3nqoHnmoTliIbmlK8iCisKKyMgIOitr+iAhe+8muiri+e2reaMgeWJjeWwjuepuuagvAorIzogYnVpbHRpbi9mZXRjaC5jOjExMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgKCVzIHdpbGwgYmVjb21lIGRhbmdsaW5nKSIKK21zZ3N0ciAiICAg77yIJXMg5bCH5oiQ54K65oe456m654uA5oWL77yJIgorCisjICDora/ogIXvvJroq4vntq3mjIHliY3lsI7nqbrmoLwKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICglcyBoYXMgYmVjb21lIGRhbmdsaW5nKSIKK21zZ3N0ciAiICAg77yIJXMg5bey5oiQ54K65oe456m654uA5oWL77yJIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTE1OAorbXNnaWQgIltkZWxldGVkXSIKK21zZ3N0ciAiW+W3suWIqumZpF0iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMTU5IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNQorbXNnaWQgIihub25lKSIKK21zZ3N0ciAi77yI54Sh77yJIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTE4MgorIywgYy1mb3JtYXQKK21zZ2lkICJSZWZ1c2luZyB0byBmZXRjaCBpbnRvIGN1cnJlbnQgYnJhbmNoICVzIG9mIG5vbi1iYXJlIHJlcG9zaXRvcnkiCittc2dzdHIgIuaLkue1leWPluW+l+WIsOmdnue0lOeJiOacrOW6q+eahOebruWJjeWIhuaUryAlcyIKKworIzogYnVpbHRpbi9mZXRjaC5jOjEyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiT3B0aW9uIFwiJXNcIiB2YWx1ZSBcIiVzXCIgaXMgbm90IHZhbGlkIGZvciAlcyIKK21zZ3N0ciAi6YG46aCFIFwiJXNcIiDnmoTlgLwgXCIlc1wiIOWwjeaWvCAlcyDmmK/nhKHmlYjnmoQiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIk9wdGlvbiBcIiVzXCIgaXMgaWdub3JlZCBmb3IgJXNcbiIKK21zZ3N0ciAi6YG46aCFIFwiJXNcIiDngrogJXMg5omA5b+955WlXG4iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDEyCisjfCBtc2dpZCAibXVsdGlwbGUgYnJhbmNoIGRldGVjdGVkLCBpbmNvbXBhdGlibGUgd2l0aCAtLXNldC11cHN0cmVhbSIKK21zZ2lkICJtdWx0aXBsZSBicmFuY2hlcyBkZXRlY3RlZCwgaW5jb21wYXRpYmxlIHdpdGggLS1zZXQtdXBzdHJlYW0iCittc2dzdHIgIuaqoua4rOWIsOWkmuWIhuaUr++8jOWSjCAtLXNldC11cHN0cmVhbSDkuI3nm7jlrrkiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDI3Cittc2dpZCAibm90IHNldHRpbmcgdXBzdHJlYW0gZm9yIGEgcmVtb3RlIHJlbW90ZS10cmFja2luZyBicmFuY2giCittc2dzdHIgIuaykuacieeCuuS4gOWAi+mBoOerr+i/vei5pOWIhuaUr+ioreWumuS4iua4uCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE0MjkKK21zZ2lkICJub3Qgc2V0dGluZyB1cHN0cmVhbSBmb3IgYSByZW1vdGUgdGFnIgorbXNnc3RyICLmspLmnInngrrkuIDlgIvpgaDnq6/mqJnnsaToqK3lrprkuIrmuLgiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNDMxCittc2dpZCAidW5rbm93biBicmFuY2ggdHlwZSIKK21zZ3N0ciAi5pyq55+l55qE5YiG5pSv6aGe5Z6LIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTQzMworbXNnaWQgIiIKKyJubyBzb3VyY2UgYnJhbmNoIGZvdW5kLlxuIgorInlvdSBuZWVkIHRvIHNwZWNpZnkgZXhhY3RseSBvbmUgYnJhbmNoIHdpdGggdGhlIC0tc2V0LXVwc3RyZWFtIG9wdGlvbi4iCittc2dzdHIgIiIKKyLmnKrnmbznj77mupDliIbmlK/jgIJcbiIKKyLmgqjpnIDopoHkvb/nlKggLS1zZXQtdXBzdHJlYW0g6YG46aCF5oyH5a6a5LiA5YCL5YiG5pSv44CCIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTU1OSBidWlsdGluL2ZldGNoLmM6MTYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJGZXRjaGluZyAlc1xuIgorbXNnc3RyICLmraPlnKjlj5blvpcgJXNcbiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE1NjkgYnVpbHRpbi9mZXRjaC5jOjE2MjQgYnVpbHRpbi9yZW1vdGUuYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGZldGNoICVzIgorbXNnc3RyICLkuI3og73lj5blvpcgJXMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNTgxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmZXRjaCAnJXMnIChleGl0IGNvZGU6ICVkKVxuIgorbXNnc3RyICLnhKHms5Xlj5blvpcgJyVzJ++8iOmboumWi+eivO+8miVk77yJXG4iCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNjg0Cittc2dpZCAiIgorIk5vIHJlbW90ZSByZXBvc2l0b3J5IHNwZWNpZmllZC4gIFBsZWFzZSwgc3BlY2lmeSBlaXRoZXIgYSBVUkwgb3IgYVxuIgorInJlbW90ZSBuYW1lIGZyb20gd2hpY2ggbmV3IHJldmlzaW9ucyBzaG91bGQgYmUgZmV0Y2hlZC4iCittc2dzdHIgIuacquaMh+WumumBoOerr+eJiOacrOW6q+OAguiri+mAj+mBjuS4gOWAiyBVUkwg5oiW6YGg56uv54mI5pys5bqr5ZCN5oyH5a6a77yM55So5Lul5Y+W5b6X5paw5o+Q5Lqk44CCIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTcyMQorbXNnaWQgIllvdSBuZWVkIHRvIHNwZWNpZnkgYSB0YWcgbmFtZS4iCittc2dzdHIgIuaCqOmcgOimgeaMh+WumuS4gOWAi+aomeexpOWQjeeoseOAgiIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE3NzEKK21zZ2lkICJOZWdhdGl2ZSBkZXB0aCBpbiAtLWRlZXBlbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICItLWRlZXBlbiDkuI3mlK/mj7TosqDmlbjmt7HluqYiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzczCittc2dpZCAiLS1kZWVwZW4gYW5kIC0tZGVwdGggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1kZWVwZW4g5ZKMIC0tZGVwdGgg5piv5LqS5pal55qEIgorCisjOiBidWlsdGluL2ZldGNoLmM6MTc3OAorbXNnaWQgIi0tZGVwdGggYW5kIC0tdW5zaGFsbG93IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIgorbXNnc3RyICItLWRlcHRoIOWSjCAtLXVuc2hhbGxvdyDkuI3og73lkIzmmYLkvb/nlKgiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzgwCittc2dpZCAiLS11bnNoYWxsb3cgb24gYSBjb21wbGV0ZSByZXBvc2l0b3J5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIuWwjeaWvOS4gOWAi+WujOaVtOeahOeJiOacrOW6q++8jOWPg+aVuCAtLXVuc2hhbGxvdyDmspLmnInmhI/nvqkiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxNzk2Cittc2dpZCAiZmV0Y2ggLS1hbGwgZG9lcyBub3QgdGFrZSBhIHJlcG9zaXRvcnkgYXJndW1lbnQiCittc2dzdHIgImZldGNoIC0tYWxsIOS4jeiDveW4tuS4gOWAi+eJiOacrOW6q+WPg+aVuCIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE3OTgKK21zZ2lkICJmZXRjaCAtLWFsbCBkb2VzIG5vdCBtYWtlIHNlbnNlIHdpdGggcmVmc3BlY3MiCittc2dzdHIgImZldGNoIC0tYWxsIOW4tuW8leeUqOimj+agvOaykuacieS7u+S9leaEj+e+qSIKKworIzogYnVpbHRpbi9mZXRjaC5jOjE4MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gc3VjaCByZW1vdGUgb3IgcmVtb3RlIGdyb3VwOiAlcyIKK21zZ3N0ciAi5rKS5pyJ6YCZ5qij55qE6YGg56uv5oiW6YGg56uv57WE77yaJXMiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODE0Cittc2dpZCAiRmV0Y2hpbmcgYSBncm91cCBhbmQgc3BlY2lmeWluZyByZWZzcGVjcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICLlj5blvpfntYTkuKbmjIflrprlvJXnlKjopo/moLzmspLmnInmhI/nvqkiCisKKyM6IGJ1aWx0aW4vZmV0Y2guYzoxODMyCittc2dpZCAiIgorIi0tZmlsdGVyIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB0aGUgcmVtb3RlIGNvbmZpZ3VyZWQgaW4gZXh0ZW5zaW9ucy4iCisicGFydGlhbGNsb25lIgorbXNnc3RyICLlj6rlj6/ku6XlsIcgLS1maWx0ZXIg55So5pa85ZyoIGV4dGVuc2lvbnMucGFydGlhbENsb25lIOS4reioreWumueahOmBoOerr+eJiOacrOW6qyIKKworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6MTgKK21zZ2lkICIiCisiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDxtZXNzYWdlPl0gWy0tbG9nWz08bj5dIHwgLS1uby1sb2ddIFstLWZpbGUgPGZpbGU+XSIKK21zZ3N0ciAiZ2l0IGZtdC1tZXJnZS1tc2cgWy1tIDzoqqrmmI4+XSBbLS1sb2dbPTxuPl0gfCAtLW5vLWxvZ10gWy0tZmlsZSA85qqU5qGIPl0iCisKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY3NAorbXNnaWQgInBvcHVsYXRlIGxvZyB3aXRoIGF0IG1vc3QgPG4+IGVudHJpZXMgZnJvbSBzaG9ydGxvZyIKK21zZ3N0ciAi5ZCR5o+Q5Lqk6Kqq5piO5Lit5pyA5aSa6KSH6KO95oyH5a6a5qKd55uu77yI5ZCI5L216ICM5L6G55qE5o+Q5Lqk77yJ55qE57Ch55+t6Kqq5piOIgorCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2NzcKK21zZ2lkICJhbGlhcyBmb3IgLS1sb2cgKGRlcHJlY2F0ZWQpIgorbXNnc3RyICLlj4PmlbggLS1sb2cg55qE5Yil5ZCN77yI5bey5qOE55So77yJIgorCisjOiBidWlsdGluL2ZtdC1tZXJnZS1tc2cuYzo2ODAKK21zZ2lkICJ0ZXh0IgorbXNnc3RyICLmloflrZciCisKKyM6IGJ1aWx0aW4vZm10LW1lcmdlLW1zZy5jOjY4MQorbXNnaWQgInVzZSA8dGV4dD4gYXMgc3RhcnQgb2YgbWVzc2FnZSIKK21zZ3N0ciAi5L2/55SoIDzmloflrZc+IOS9nOeCuuaPkOS6pOiqquaYjueahOmWi+WniyIKKworIzogYnVpbHRpbi9mbXQtbWVyZ2UtbXNnLmM6NjgyCittc2dpZCAiZmlsZSB0byByZWFkIGZyb20iCittc2dzdHIgIuW+nuaqlOahiOS4reiugOWPliIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMAorbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWzxvcHRpb25zPl0gWzxwYXR0ZXJuPl0iCittc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWzzpgbjpoIU+XSBbPOaooeW8jz5dIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjExCittc2dpZCAiZ2l0IGZvci1lYWNoLXJlZiBbLS1wb2ludHMtYXQgPG9iamVjdD5dIgorbXNnc3RyICJnaXQgZm9yLWVhY2gtcmVmIFstLXBvaW50cy1hdCA854mp5Lu2Pl0iCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MTIKK21zZ2lkICJnaXQgZm9yLWVhY2gtcmVmIFsoLS1tZXJnZWQgfCAtLW5vLW1lcmdlZCkgWzxjb21taXQ+XV0iCittc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWygtLW1lcmdlZCB8IC0tbm8tbWVyZ2VkKSBbPOaPkOS6pD5dXSIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzoxMworbXNnaWQgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzxjb21taXQ+XV0gWy0tbm8tY29udGFpbnMgWzxjb21taXQ+XV0iCittc2dzdHIgImdpdCBmb3ItZWFjaC1yZWYgWy0tY29udGFpbnMgWzzmj5DkuqQ+XV0gWy0tbm8tY29udGFpbnMgWzzmj5DkuqQ+XV0iCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MjgKK21zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHNoZWxscyIKK21zZ3N0ciAi5byV55So5Y2g5L2N56ym6YGp55So5pa8IHNoZWxscyIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozMAorbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgcGVybCIKK21zZ3N0ciAi5byV55So5Y2g5L2N56ym6YGp55So5pa8IHBlcmwiCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6MzIKK21zZ2lkICJxdW90ZSBwbGFjZWhvbGRlcnMgc3VpdGFibHkgZm9yIHB5dGhvbiIKK21zZ3N0ciAi5byV55So5Y2g5L2N56ym6YGp55So5pa8IHB5dGhvbiIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzozNAorbXNnaWQgInF1b3RlIHBsYWNlaG9sZGVycyBzdWl0YWJseSBmb3IgVGNsIgorbXNnc3RyICLlvJXnlKjljaDkvY3nrKbpgannlKjmlrwgVGNsIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM3Cittc2dpZCAic2hvdyBvbmx5IDxuPiBtYXRjaGVkIHJlZnMiCittc2dzdHIgIuWPqumhr+ekuiA8bj4g5YCL56ym5ZCI55qE5byV55SoIgorCisjOiBidWlsdGluL2Zvci1lYWNoLXJlZi5jOjM5IGJ1aWx0aW4vdGFnLmM6NDM5Cittc2dpZCAicmVzcGVjdCBmb3JtYXQgY29sb3JzIgorbXNnc3RyICLpgbXnhafmoLzlvI/kuK3nmoTpoY/oibLovLjlh7oiCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDIKK21zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggcG9pbnRzIGF0IHRoZSBnaXZlbiBvYmplY3QiCittc2dzdHIgIuWPquWIl+WNsOaMh+WQkeaPkOS+m+eJqeS7tueahOW8leeUqCIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NAorbXNnaWQgInByaW50IG9ubHkgcmVmcyB0aGF0IGFyZSBtZXJnZWQiCittc2dzdHIgIuWPquWIl+WNsOW3sue2k+WQiOS9teeahOW8leeUqCIKKworIzogYnVpbHRpbi9mb3ItZWFjaC1yZWYuYzo0NQorbXNnaWQgInByaW50IG9ubHkgcmVmcyB0aGF0IGFyZSBub3QgbWVyZ2VkIgorbXNnc3RyICLlj6rliJfljbDmspLmnInlkIjkvbXnmoTlvJXnlKgiCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDYKK21zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggY29udGFpbiB0aGUgY29tbWl0IgorbXNnc3RyICLlj6rliJfljbDljIXlkKvoqbLmj5DkuqTnmoTlvJXnlKgiCisKKyM6IGJ1aWx0aW4vZm9yLWVhY2gtcmVmLmM6NDcKK21zZ2lkICJwcmludCBvbmx5IHJlZnMgd2hpY2ggZG9uJ3QgY29udGFpbiB0aGUgY29tbWl0IgorbXNnc3RyICLlj6rliJfljbDkuI3ljIXlkKvoqbLmj5DkuqTnmoTlvJXnlKgiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY4IGJ1aWx0aW4vZnNjay5jOjE0NyBidWlsdGluL2ZzY2suYzoxNDgKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICLmnKrnn6UiCisKKyMuIFRSQU5TTEFUT1JTOiBlLmcuIGVycm9yIGluIHRyZWUgMDFiZmRhOiA8bW9yZSBleHBsYW5hdGlvbj4KKyM6IGJ1aWx0aW4vZnNjay5jOjEwMCBidWlsdGluL2ZzY2suYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgaW4gJXMgJXM6ICVzIgorbXNnc3RyICIlcyAlcyDpjK/oqqTvvJolcyIKKworIy4gVFJBTlNMQVRPUlM6IGUuZy4gd2FybmluZyBpbiB0cmVlIDAxYmZkYTogPG1vcmUgZXhwbGFuYXRpb24+CisjOiBidWlsdGluL2ZzY2suYzoxMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZyBpbiAlcyAlczogJXMiCittc2dzdHIgIiVzICVzIOitpuWRiu+8miVzIgorCisjOiBidWlsdGluL2ZzY2suYzoxNDMgYnVpbHRpbi9mc2NrLmM6MTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImJyb2tlbiBsaW5rIGZyb20gJTdzICVzIgorbXNnc3RyICLkvoboh6ogJTdzICVzIOeahOaQjeWjnueahOmAo+e1kCIKKworIzogYnVpbHRpbi9mc2NrLmM6MTU1Cittc2dpZCAid3Jvbmcgb2JqZWN0IHR5cGUgaW4gbGluayIKK21zZ3N0ciAi6YCj57WQ5Lit6Yyv6Kqk55qE54mp5Lu26aGe5Z6LIgorCisjOiBidWlsdGluL2ZzY2suYzoxNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImJyb2tlbiBsaW5rIGZyb20gJTdzICVzXG4iCisiICAgICAgICAgICAgICB0byAlN3MgJXMiCittc2dzdHIgIiIKKyLmkI3lo57nmoTpgKPntZDkvoboh6rmlrwgJTdzICVzXG4iCisiICAgICAgICAgICAgICDliLAgJTdzICVzIgorCisjOiBidWlsdGluL2ZzY2suYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyAlcyAlcyIKK21zZ3N0ciAi57y65bCRICVzICVzIgorCisjOiBidWlsdGluL2ZzY2suYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgJXMgJXMiCittc2dzdHIgIueEoeazleWPluW+lyAlcyAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgImRhbmdsaW5nICVzICVzIgorbXNnc3RyICLmh7jnqbogJXMgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjMzOQorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgbG9zdC1mb3VuZCIKK21zZ3N0ciAi5LiN6IO95bu656uLIGxvc3QtZm91bmQiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjM1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZmluaXNoICclcyciCittc2dzdHIgIuS4jeiDveWujOaIkCAnJXMnIgorCisjOiBidWlsdGluL2ZzY2suYzozNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hlY2tpbmcgJXMiCittc2dzdHIgIuato+WcqOaqouafpSAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nIGNvbm5lY3Rpdml0eSAoJWQgb2JqZWN0cykiCittc2dzdHIgIuato+WcqOaqouafpemAo+mAmuaAp++8iCVkIOWAi+eJqeS7tu+8iSIKKworIzogYnVpbHRpbi9mc2NrLmM6NDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nICVzICVzIgorbXNnc3RyICLmraPlnKjmqqLmn6UgJXMgJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjQyOQorbXNnaWQgImJyb2tlbiBsaW5rcyIKK21zZ3N0ciAi5pCN5aOe55qE6YCj57WQIgorCisjOiBidWlsdGluL2ZzY2suYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicm9vdCAlcyIKK21zZ3N0ciAi5qC5ICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnZ2VkICVzICVzICglcykgaW4gJXMiCittc2dzdHIgIuaomeiomCAlcyAlcyAoJXMpIOaWvCAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvYmplY3QgY29ycnVwdCBvciBtaXNzaW5nIgorbXNnc3RyICIlc++8mueJqeS7tuaQjeWjnuaIlumBuuWksSIKKworIzogYnVpbHRpbi9mc2NrLmM6NTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHJlZmxvZyBlbnRyeSAlcyIKK21zZ3N0ciAiJXPvvJrnhKHmlYjnmoTlvJXnlKjml6Xoqozmop3nm64gJXMiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyByZWZsb2cgJXMtPiVzIgorbXNnc3RyICLmraPlnKjmqqLmn6XlvJXnlKjml6XoqowgJXMtPiVzIgorCisjOiBidWlsdGluL2ZzY2suYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgc2hhMSBwb2ludGVyICVzIgorbXNnc3RyICIlc++8mueEoeaViOeahCBzaGExIOaMh+aomSAlcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBjb21taXQiCittc2dzdHIgIiVz77ya5LiN5piv5LiA5YCL5o+Q5LqkIgorCisjOiBidWlsdGluL2ZzY2suYzo2MDkKK21zZ2lkICJub3RpY2U6IE5vIGRlZmF1bHQgcmVmZXJlbmNlcyIKK21zZ3N0ciAi5rOo5oSP77ya54Sh6aCQ6Kit5byV55SoIgorCisjOiBidWlsdGluL2ZzY2suYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBjb3JydXB0IG9yIG1pc3Npbmc6ICVzIgorbXNnc3RyICIlc++8mueJqeS7tuaQjeWjnuaIlumBuuWkse+8miVzIgorCisjOiBidWlsdGluL2ZzY2suYzo2MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9iamVjdCBjb3VsZCBub3QgYmUgcGFyc2VkOiAlcyIKK21zZ3N0ciAiJXPvvJrkuI3og73op6PmnpDnianku7bvvJolcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzaGExIGZpbGU6ICVzIgorbXNnc3RyICLlo57nmoQgc2hhMSDmqpTmoYjvvJolcyIKKworIzogYnVpbHRpbi9mc2NrLmM6NjcyCittc2dpZCAiQ2hlY2tpbmcgb2JqZWN0IGRpcmVjdG9yeSIKK21zZ3N0ciAi5q2j5Zyo5qqi5p+l54mp5Lu255uu6YyEIgorCisjOiBidWlsdGluL2ZzY2suYzo2NzUKK21zZ2lkICJDaGVja2luZyBvYmplY3QgZGlyZWN0b3JpZXMiCittc2dzdHIgIuato+WcqOaqouafpeeJqeS7tuebrumMhCIKKworIzogYnVpbHRpbi9mc2NrLmM6NjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoZWNraW5nICVzIGxpbmsiCittc2dzdHIgIuato+WcqOaqouafpSAlcyDpgKPntZAiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjY5NSBidWlsdGluL2luZGV4LXBhY2suYzo4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCAlcyIKK21zZ3N0ciAi54Sh5pWI55qEICVzIgorCisjOiBidWlsdGluL2ZzY2suYzo3MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcG9pbnRzIHRvIHNvbWV0aGluZyBzdHJhbmdlICglcykiCittc2dzdHIgIiVzIOaMh+WQkeWlh+aAqueahOadseilv++8iCVz77yJIgorCisjOiBidWlsdGluL2ZzY2suYzo3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaGVkIEhFQUQgcG9pbnRzIGF0IG5vdGhpbmciCittc2dzdHIgIiVz77ya5YiG6Zui6ZaL6aCt5oyH5qiZ55qE5oyH5ZCR5LiN5a2Y5ZyoIgorCisjOiBidWlsdGluL2ZzY2suYzo3MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90aWNlOiAlcyBwb2ludHMgdG8gYW4gdW5ib3JuIGJyYW5jaCAoJXMpIgorbXNnc3RyICLms6jmhI/vvJolcyDmjIflkJHkuIDlgIvlsJrmnKroqpXnlJ/nmoTliIbmlK/vvIglc++8iSIKKworIzogYnVpbHRpbi9mc2NrLmM6NzI0Cittc2dpZCAiQ2hlY2tpbmcgY2FjaGUgdHJlZSIKK21zZ3N0ciAi5q2j5Zyo5qqi5p+l5b+r5Y+W5qi5IgorCisjOiBidWlsdGluL2ZzY2suYzo3MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgc2hhMSBwb2ludGVyIGluIGNhY2hlLXRyZWUiCittc2dzdHIgIiVz77yaY2FjaGUtdHJlZSDkuK3nhKHmlYjnmoQgc2hhMSDmjIfmqJkiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjczOAorbXNnaWQgIm5vbi10cmVlIGluIGNhY2hlLXRyZWUiCittc2dzdHIgImNhY2hlLXRyZWUg5Lit6Z2e5qi554uA54mp5Lu2IgorCisjOiBidWlsdGluL2ZzY2suYzo3NjkKK21zZ2lkICJnaXQgZnNjayBbPG9wdGlvbnM+XSBbPG9iamVjdD4uLi5dIgorbXNnc3RyICJnaXQgZnNjayBbPOmBuOmghT5dIFs854mp5Lu2Pi4uLl0iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjc3NQorbXNnaWQgInNob3cgdW5yZWFjaGFibGUgb2JqZWN0cyIKK21zZ3N0ciAi6aGv56S654Sh5rOV5Y+W5b6X55qE54mp5Lu2IgorCisjOiBidWlsdGluL2ZzY2suYzo3NzYKK21zZ2lkICJzaG93IGRhbmdsaW5nIG9iamVjdHMiCittc2dzdHIgIumhr+ekuuaHuOepuueahOeJqeS7tiIKKworIzogYnVpbHRpbi9mc2NrLmM6Nzc3Cittc2dpZCAicmVwb3J0IHRhZ3MiCittc2dzdHIgIuWgseWRiuaomeexpCIKKworIzogYnVpbHRpbi9mc2NrLmM6Nzc4Cittc2dpZCAicmVwb3J0IHJvb3Qgbm9kZXMiCittc2dzdHIgIuWgseWRiuagueevgOm7niIKKworIzogYnVpbHRpbi9mc2NrLmM6Nzc5Cittc2dpZCAibWFrZSBpbmRleCBvYmplY3RzIGhlYWQgbm9kZXMiCittc2dzdHIgIuWwh+e0ouW8leS6puS9nOeCuuaqouafpeeahOmgreevgOm7niIKKworIzogYnVpbHRpbi9mc2NrLmM6NzgwCittc2dpZCAibWFrZSByZWZsb2dzIGhlYWQgbm9kZXMgKGRlZmF1bHQpIgorbXNnc3RyICLlsIflvJXnlKjml6XoqozkvZzngrrmqqLmn6XnmoTpoK3nr4Dpu57vvIjpoJDoqK3vvIkiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjc4MQorbXNnaWQgImFsc28gY29uc2lkZXIgcGFja3MgYW5kIGFsdGVybmF0ZSBvYmplY3RzIgorbXNnc3RyICLkuZ/ogIPmha7ljIXlkozlgpnnlKjnianku7YiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjc4MgorbXNnaWQgImNoZWNrIG9ubHkgY29ubmVjdGl2aXR5IgorbXNnc3RyICLlg4XmqqLmn6XpgKPpgJrmgKciCisKKyM6IGJ1aWx0aW4vZnNjay5jOjc4MworbXNnaWQgImVuYWJsZSBtb3JlIHN0cmljdCBjaGVja2luZyIKK21zZ3N0ciAi5ZWf55So5pu05Zq05qC855qE5qqi5p+lIgorCisjOiBidWlsdGluL2ZzY2suYzo3ODUKK21zZ2lkICJ3cml0ZSBkYW5nbGluZyBvYmplY3RzIGluIC5naXQvbG9zdC1mb3VuZCIKK21zZ3N0ciAi5bCH5oe456m654mp5Lu25a+r5YWlIC5naXQvbG9zdC1mb3VuZCDkuK0iCisKKyM6IGJ1aWx0aW4vZnNjay5jOjc4NiBidWlsdGluL3BydW5lLmM6MTMyCittc2dpZCAic2hvdyBwcm9ncmVzcyIKK21zZ3N0ciAi6aGv56S66YCy5bqmIgorCisjOiBidWlsdGluL2ZzY2suYzo3ODcKK21zZ2lkICJzaG93IHZlcmJvc2UgbmFtZXMgZm9yIHJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICLpoa/npLrlj6/ku6Xlj5blvpfnianku7bnmoToqbPntLDlkI3nqLEiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjg0NiBidWlsdGluL2luZGV4LXBhY2suYzoyMjUKK21zZ2lkICJDaGVja2luZyBvYmplY3RzIgorbXNnc3RyICLmraPlnKjmqqLmn6Xnianku7YiCisKKyM6IGJ1aWx0aW4vZnNjay5jOjg3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2JqZWN0IG1pc3NpbmciCittc2dzdHIgIiVz77ya54mp5Lu257y65bCRIgorCisjOiBidWlsdGluL2ZzY2suYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBwYXJhbWV0ZXI6IGV4cGVjdGVkIHNoYTEsIGdvdCAnJXMnIgorbXNnc3RyICLnhKHmlYjnmoTlj4PmlbjvvJrmnJ/mnJsgc2hhMe+8jOW+l+WIsCAnJXMnIgorCisjOiBidWlsdGluL2djLmM6MzUKK21zZ2lkICJnaXQgZ2MgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCBnYyBbPOmBuOmghT5dIgorCisjOiBidWlsdGluL2djLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGZzdGF0ICVzOiAlcyIKK21zZ3N0ciAi5bCNICVzIOWRvOWPqyBmc3RhdCDlpLHmlZfvvJolcyIKKworIzogYnVpbHRpbi9nYy5jOjEyNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJyVzJyB2YWx1ZSAnJXMnIgorbXNnc3RyICLnhKHms5Xop6PmnpAgJyVzJyDlgLwgJyVzJyIKKworIzogYnVpbHRpbi9nYy5jOjQ3NSBidWlsdGluL2luaXQtZGIuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAnJXMnIgorbXNnc3RyICLkuI3og73lsI0gJyVzJyDlkbzlj6sgc3RhdCIKKworIzogYnVpbHRpbi9nYy5jOjQ4NCBidWlsdGluL25vdGVzLmM6MjQwIGJ1aWx0aW4vdGFnLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICclcyciCittc2dzdHIgIuS4jeiDveiugOWPliAnJXMnIgorCisjOiBidWlsdGluL2djLmM6NDkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgbGFzdCBnYyBydW4gcmVwb3J0ZWQgdGhlIGZvbGxvd2luZy4gUGxlYXNlIGNvcnJlY3QgdGhlIHJvb3QgY2F1c2VcbiIKKyJhbmQgcmVtb3ZlICVzLlxuIgorIkF1dG9tYXRpYyBjbGVhbnVwIHdpbGwgbm90IGJlIHBlcmZvcm1lZCB1bnRpbCB0aGUgZmlsZSBpcyByZW1vdmVkLlxuIgorIlxuIgorIiVzIgorbXNnc3RyICIiCisi5pyA5b6M5LiA5qyhIGdjIOWLleS9nOWgseWRiuWmguS4i+ioiuaBr+OAguiri+aqouafpeWOn+WboOS4puWIqumZpCAlc+OAglxuIgorIuWcqOipsuaqlOahiOiiq+WIqumZpOS5i+WJje+8jOiHquWLlea4heeQhuWwh+S4jeacg+Wft+ihjOOAglxuIgorIlxuIgorIiVzIgorCisjOiBidWlsdGluL2djLmM6NTM5Cittc2dpZCAicHJ1bmUgdW5yZWZlcmVuY2VkIG9iamVjdHMiCittc2dzdHIgIua4hemZpOacquW8leeUqOeahOeJqeS7tiIKKworIzogYnVpbHRpbi9nYy5jOjU0MQorbXNnaWQgImJlIG1vcmUgdGhvcm91Z2ggKGluY3JlYXNlZCBydW50aW1lKSIKK21zZ3N0ciAi5pu05b655bqV77yI5aKe5Yqg5Z+36KGM5pmC6ZaT77yJIgorCisjOiBidWlsdGluL2djLmM6NTQyCittc2dpZCAiZW5hYmxlIGF1dG8tZ2MgbW9kZSIKK21zZ3N0ciAi5ZWf55So6Ieq5YuV5Z6D5Zy+5Zue5pS25qih5byPIgorCisjOiBidWlsdGluL2djLmM6NTQ1Cittc2dpZCAiZm9yY2UgcnVubmluZyBnYyBldmVuIGlmIHRoZXJlIG1heSBiZSBhbm90aGVyIGdjIHJ1bm5pbmciCittc2dzdHIgIuW8t+WItuWft+ihjCBnYyDljbPkvb/lj6blpJbkuIDlgIsgZ2Mg5q2j5Zyo5Z+36KGMIgorCisjOiBidWlsdGluL2djLmM6NTQ4Cittc2dpZCAicmVwYWNrIGFsbCBvdGhlciBwYWNrcyBleGNlcHQgdGhlIGxhcmdlc3QgcGFjayIKK21zZ3N0ciAi6Zmk5LqG5pyA5aSn55qE5YyF5LmL5aSW77yM5bCN5omA5pyJ5YW25a6D5YyF5qqU5qGI6YeN5paw5omT5YyFIgorCisjOiBidWlsdGluL2djLmM6NTY1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnYy5sb2dleHBpcnkgdmFsdWUgJXMiCittc2dzdHIgIuino+aekCBnYy5sb2dleHBpcnkg55qE5YC8ICVzIOWkseaVlyIKKworIzogYnVpbHRpbi9nYy5jOjU3NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJ1bmUgZXhwaXJ5IHZhbHVlICVzIgorbXNnc3RyICLop6PmnpDmuIXpmaTmnJ/pmZDlgLwgJXMg5aSx5pWXIgorCisjOiBidWlsdGluL2djLmM6NTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkF1dG8gcGFja2luZyB0aGUgcmVwb3NpdG9yeSBpbiBiYWNrZ3JvdW5kIGZvciBvcHRpbXVtIHBlcmZvcm1hbmNlLlxuIgorbXNnc3RyICLoh6rli5XlnKjlvozlj7Dln7fooYzniYjmnKzluqvmiZPljIXku6XmsYLmnIDkvbPmgKfog73jgIJcbiIKKworIzogYnVpbHRpbi9nYy5jOjU5OAorIywgYy1mb3JtYXQKK21zZ2lkICJBdXRvIHBhY2tpbmcgdGhlIHJlcG9zaXRvcnkgZm9yIG9wdGltdW0gcGVyZm9ybWFuY2UuXG4iCittc2dzdHIgIuiHquWLleaJk+WMheeJiOacrOW6q+S7peaxguacgOS9s+aAp+iDveOAglxuIgorCisjOiBidWlsdGluL2djLmM6NTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlZSBcImdpdCBoZWxwIGdjXCIgZm9yIG1hbnVhbCBob3VzZWtlZXBpbmcuXG4iCittc2dzdHIgIuaJi+WLlee2reitt+WPg+imiyBcImdpdCBoZWxwIGdjXCLjgIJcbiIKKworIzogYnVpbHRpbi9nYy5jOjYzOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiZ2MgaXMgYWxyZWFkeSBydW5uaW5nIG9uIG1hY2hpbmUgJyVzJyBwaWQgJTxQUkl1TUFYPiAodXNlIC0tZm9yY2UgaWYgbm90KSIKK21zZ3N0ciAiZ2Mg5bey5Zyo44CMJXPjgI3mqZ/lmaggcGlkICU8UFJJdU1BWD4g5Z+36KGM77yI5aaC5p6c5LiN5piv77yM5L2/55SoIC0tZm9yY2XvvIkiCisKKyM6IGJ1aWx0aW4vZ2MuYzo2OTQKK21zZ2lkICIiCisiVGhlcmUgYXJlIHRvbyBtYW55IHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHM7IHJ1biAnZ2l0IHBydW5lJyB0byByZW1vdmUgdGhlbS4iCittc2dzdHIgIuacieWkquWkmueEoeazleWPluW+l+eahOmshuaVo+eJqeS7tu+8jOWft+ihjCAnZ2l0IHBydW5lJyDliKrpmaTlroPlgJHjgIIiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjI5Cittc2dpZCAiZ2l0IGdyZXAgWzxvcHRpb25zPl0gWy1lXSA8cGF0dGVybj4gWzxyZXY+Li4uXSBbWy0tXSA8cGF0aD4uLi5dIgorbXNnc3RyICJnaXQgZ3JlcCBbPOmBuOmghT5dIFstZV0gPOaooeW8jz4gWzzniYjmnKw+Li4uXSBbWy0tXSA86Lev5b6RPi4uLl0iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJncmVwOiBmYWlsZWQgdG8gY3JlYXRlIHRocmVhZDogJXMiCittc2dzdHIgImdyZXDvvJrnhKHms5Xlu7rnq4vln7fooYznt5LvvJolcyIKKworIzogYnVpbHRpbi9ncmVwLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkgZm9yICVzIgorbXNnc3RyICLngrogJTIkcyDoqK3lrprnmoTln7fooYznt5LmlbggKCUxJGQpIOeEoeaViCIKKworIy4gVFJBTlNMQVRPUlM6ICVzIGlzIHRoZSBjb25maWd1cmF0aW9uCisjLiB2YXJpYWJsZSBmb3IgdHdlYWtpbmcgdGhyZWFkcywgY3VycmVudGx5CisjLiBncmVwLnRocmVhZHMKKyMuCisjOiBidWlsdGluL2dyZXAuYzoyODcgYnVpbHRpbi9pbmRleC1wYWNrLmM6MTUzNCBidWlsdGluL2luZGV4LXBhY2suYzoxNzI3CisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdGhyZWFkcyBzdXBwb3J0LCBpZ25vcmluZyAlcyIKK21zZ3N0ciAi5rKS5pyJ5Z+36KGM57eS5pSv5o+077yM5b+955WlICVzIgorCisjOiBidWlsdGluL2dyZXAuYzo0NjcgYnVpbHRpbi9ncmVwLmM6NTkyIGJ1aWx0aW4vZ3JlcC5jOjYzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCB0cmVlICglcykiCittc2dzdHIgIueEoeazleiugOWPluaoue+8iCVz77yJIgorCisjOiBidWlsdGluL2dyZXAuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGdyZXAgZnJvbSBvYmplY3Qgb2YgdHlwZSAlcyIKK21zZ3N0ciAi54Sh5rOV5oqT5Y+W5L6G6Ieq5pa8ICVzIOmhnuWei+eahOeJqeS7tiIKKworIzogYnVpbHRpbi9ncmVwLmM6NzE2CisjLCBjLWZvcm1hdAorbXNnaWQgInN3aXRjaCBgJWMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCittc2dzdHIgIumWi+mXnCBgJWMnIOacn+acm+S4gOWAi+aVuOWtl+WAvCIKKworIzogYnVpbHRpbi9ncmVwLmM6ODE1Cittc2dpZCAic2VhcmNoIGluIGluZGV4IGluc3RlYWQgb2YgaW4gdGhlIHdvcmsgdHJlZSIKK21zZ3N0ciAi5Zyo57Si5byV5Y2A5pCc5bCL6ICM5LiN5piv5Zyo5bel5L2c5Y2AIgorCisjOiBidWlsdGluL2dyZXAuYzo4MTcKK21zZ2lkICJmaW5kIGluIGNvbnRlbnRzIG5vdCBtYW5hZ2VkIGJ5IGdpdCIKK21zZ3N0ciAi5Zyo5pyq6KKrIGdpdCDnrqHnkIbnmoTlhaflrrnkuK3lsIvmib4iCisKKyMgIOitr+iAhe+8muS4reaWh+Wtl+S4suaLvOaOpe+8jOWPr+WIqumZpOWJjeWwjuepuuagvAorIzogYnVpbHRpbi9ncmVwLmM6ODE5Cittc2dpZCAic2VhcmNoIGluIGJvdGggdHJhY2tlZCBhbmQgdW50cmFja2VkIGZpbGVzIgorbXNnc3RyICLlnKjov73ouaTlkozmnKrov73ouaTnmoTmqpTmoYjkuK3mkJzlsIsiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyMQorbXNnaWQgImlnbm9yZSBmaWxlcyBzcGVjaWZpZWQgdmlhICcuZ2l0aWdub3JlJyIKK21zZ3N0ciAi5b+955WlICcuZ2l0aWdub3JlJyDljIXlkKvnmoTmqpTmoYgiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgyMworbXNnaWQgInJlY3Vyc2l2ZWx5IHNlYXJjaCBpbiBlYWNoIHN1Ym1vZHVsZSIKK21zZ3N0ciAi5Zyo5q+P5LiA5YCL5a2Q5qih57WE5Lit6YGe6L+05pCc5bCLIgorCisjOiBidWlsdGluL2dyZXAuYzo4MjYKK21zZ2lkICJzaG93IG5vbi1tYXRjaGluZyBsaW5lcyIKK21zZ3N0ciAi6aGv56S65pyq56ym5ZCI55qE6KGMIgorCisjOiBidWlsdGluL2dyZXAuYzo4MjgKK21zZ2lkICJjYXNlIGluc2Vuc2l0aXZlIG1hdGNoaW5nIgorbXNnc3RyICLkuI3ljYDliIblpKflsI/lr6vnrKblkIgiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzMAorbXNnaWQgIm1hdGNoIHBhdHRlcm5zIG9ubHkgYXQgd29yZCBib3VuZGFyaWVzIgorbXNnc3RyICLlj6rlnKjllq7oqZ7pgornlYznrKblkIjmqKHlvI8iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzMgorbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIGFzIHRleHQiCittc2dzdHIgIuaKiuS6jOmAsuS9jeaqlOahiOeVtuWBmuaWh+Wtl+iZleeQhiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODM0Cittc2dpZCAiZG9uJ3QgbWF0Y2ggcGF0dGVybnMgaW4gYmluYXJ5IGZpbGVzIgorbXNnc3RyICLkuI3lnKjkuozpgLLkvY3mqpTmoYjkuK3nrKblkIjmqKHlvI8iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjgzNworbXNnaWQgInByb2Nlc3MgYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVycyIKK21zZ3N0ciAi55SoIHRleHRjb252IOmBjua/vuWZqOiZleeQhuS6jOmAsuS9jeaqlOahiCIKKworIzogYnVpbHRpbi9ncmVwLmM6ODM5Cittc2dpZCAic2VhcmNoIGluIHN1YmRpcmVjdG9yaWVzIChkZWZhdWx0KSIKK21zZ3N0ciAi5Zyo5a2Q55uu6YyE5Lit5bCL5om+77yI6aCQ6Kit77yJIgorCisjOiBidWlsdGluL2dyZXAuYzo4NDEKK21zZ2lkICJkZXNjZW5kIGF0IG1vc3QgPGRlcHRoPiBsZXZlbHMiCittc2dzdHIgIuacgOWkmuS7peaMh+WumueahOa3seW6puWQkeS4i+Wwi+aJviIKKworIzogYnVpbHRpbi9ncmVwLmM6ODQ1Cittc2dpZCAidXNlIGV4dGVuZGVkIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCittc2dzdHIgIuS9v+eUqOaTtOWxleeahCBQT1NJWCDmraPopo/ooajnpLrlvI8iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg0OAorbXNnaWQgInVzZSBiYXNpYyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIChkZWZhdWx0KSIKK21zZ3N0ciAi5L2/55So5Z+65pys55qEIFBPU0lYIOato+imj+ihqOekuuW8j++8iOmgkOiore+8iSIKKworIzogYnVpbHRpbi9ncmVwLmM6ODUxCittc2dpZCAiaW50ZXJwcmV0IHBhdHRlcm5zIGFzIGZpeGVkIHN0cmluZ3MiCittc2dzdHIgIuaKiuaooeW8j+ino+aekOeCuuWbuuWumueahOWtl+S4siIKKworIzogYnVpbHRpbi9ncmVwLmM6ODU0Cittc2dpZCAidXNlIFBlcmwtY29tcGF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgorbXNnc3RyICLkvb/nlKggUGVybCDnm7jlrrnnmoTmraPopo/ooajnpLrlvI8iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1NworbXNnaWQgInNob3cgbGluZSBudW1iZXJzIgorbXNnc3RyICLpoa/npLrooYzomZ8iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg1OAorbXNnaWQgInNob3cgY29sdW1uIG51bWJlciBvZiBmaXJzdCBtYXRjaCIKK21zZ3N0ciAi6aGv56S656ys5LiA5YCL56ym5ZCI55qE5YiX6JmfIgorCisjOiBidWlsdGluL2dyZXAuYzo4NTkKK21zZ2lkICJkb24ndCBzaG93IGZpbGVuYW1lcyIKK21zZ3N0ciAi5LiN6aGv56S65qqU5qGI5ZCNIgorCisjOiBidWlsdGluL2dyZXAuYzo4NjAKK21zZ2lkICJzaG93IGZpbGVuYW1lcyIKK21zZ3N0ciAi6aGv56S65qqU5qGI5ZCNIgorCisjOiBidWlsdGluL2dyZXAuYzo4NjIKK21zZ2lkICJzaG93IGZpbGVuYW1lcyByZWxhdGl2ZSB0byB0b3AgZGlyZWN0b3J5IgorbXNnc3RyICLpoa/npLrnm7jlsI3mlrzpoILntJrnm67pjITnmoTmqpTmoYjlkI0iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg2NAorbXNnaWQgInNob3cgb25seSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBtYXRjaGluZyBsaW5lcyIKK21zZ3N0ciAi5Y+q6aGv56S65qqU5qGI5ZCN6ICM5LiN6aGv56S656ym5ZCI55qE6KGMIgorCisjOiBidWlsdGluL2dyZXAuYzo4NjYKK21zZ2lkICJzeW5vbnltIGZvciAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKK21zZ3N0ciAi5ZKMIC0tZmlsZXMtd2l0aC1tYXRjaGVzIOWQjOe+qSIKKworIzogYnVpbHRpbi9ncmVwLmM6ODY5Cittc2dpZCAic2hvdyBvbmx5IHRoZSBuYW1lcyBvZiBmaWxlcyB3aXRob3V0IG1hdGNoIgorbXNnc3RyICLlj6rpoa/npLrmnKrnrKblkIjnmoTmqpTmoYjlkI0iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3MQorbXNnaWQgInByaW50IE5VTCBhZnRlciBmaWxlbmFtZXMiCittc2dzdHIgIuWcqOaqlOahiOWQjeW+jOi8uOWHuiBOVUwg5a2X5YWDIgorCisjOiBidWlsdGluL2dyZXAuYzo4NzQKK21zZ2lkICJzaG93IG9ubHkgbWF0Y2hpbmcgcGFydHMgb2YgYSBsaW5lIgorbXNnc3RyICLlj6rpoa/npLrooYzkuK3nmoTnrKblkIjnmoTpg6jliIYiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg3NgorbXNnaWQgInNob3cgdGhlIG51bWJlciBvZiBtYXRjaGVzIGluc3RlYWQgb2YgbWF0Y2hpbmcgbGluZXMiCittc2dzdHIgIumhr+ekuue4veespuWQiOihjOaVuO+8jOiAjOS4jemhr+ekuuespuWQiOeahOihjCIKKworIzogYnVpbHRpbi9ncmVwLmM6ODc3Cittc2dpZCAiaGlnaGxpZ2h0IG1hdGNoZXMiCittc2dzdHIgIumrmOS6rumhr+ekuuespuWQiOmghSIKKworIzogYnVpbHRpbi9ncmVwLmM6ODc5Cittc2dpZCAicHJpbnQgZW1wdHkgbGluZSBiZXR3ZWVuIG1hdGNoZXMgZnJvbSBkaWZmZXJlbnQgZmlsZXMiCittc2dzdHIgIuWcqOS4jeWQjOaqlOahiOeahOespuWQiOmgheS5i+mWk+WIl+WNsOepuuihjCIKKworIzogYnVpbHRpbi9ncmVwLmM6ODgxCittc2dpZCAic2hvdyBmaWxlbmFtZSBvbmx5IG9uY2UgYWJvdmUgbWF0Y2hlcyBmcm9tIHNhbWUgZmlsZSIKK21zZ3N0ciAi5Y+q5Zyo5ZCM5LiA5qqU5qGI55qE56ym5ZCI6aCF55qE5LiK6Z2i6aGv56S65LiA5qyh5qqU5qGI5ZCNIgorCisjOiBidWlsdGluL2dyZXAuYzo4ODQKK21zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGJlZm9yZSBhbmQgYWZ0ZXIgbWF0Y2hlcyIKK21zZ3N0ciAi6aGv56S656ym5ZCI6aCF5YmN5b6M55qEIDxuPiDooYzkuIrkuIvmlociCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjg4NworbXNnaWQgInNob3cgPG4+IGNvbnRleHQgbGluZXMgYmVmb3JlIG1hdGNoZXMiCittc2dzdHIgIumhr+ekuuespuWQiOmgheWJjSA8bj4g6KGM5LiK5LiL5paHIgorCisjOiBidWlsdGluL2dyZXAuYzo4ODkKK21zZ2lkICJzaG93IDxuPiBjb250ZXh0IGxpbmVzIGFmdGVyIG1hdGNoZXMiCittc2dzdHIgIumhr+ekuuespuWQiOmgheW+jCA8bj4g6KGM5LiK5LiL5paHIgorCisjOiBidWlsdGluL2dyZXAuYzo4OTEKK21zZ2lkICJ1c2UgPG4+IHdvcmtlciB0aHJlYWRzIgorbXNnc3RyICLkvb/nlKggPG4+IOWAi+W3peS9nOWft+ihjOe3kiIKKworIzogYnVpbHRpbi9ncmVwLmM6ODkyCittc2dpZCAic2hvcnRjdXQgZm9yIC1DIE5VTSIKK21zZ3N0ciAi5b+r5o236Y21IC1DIOaVuOWtlyIKKworIzogYnVpbHRpbi9ncmVwLmM6ODk1Cittc2dpZCAic2hvdyBhIGxpbmUgd2l0aCB0aGUgZnVuY3Rpb24gbmFtZSBiZWZvcmUgbWF0Y2hlcyIKK21zZ3N0ciAi5Zyo56ym5ZCI55qE5YmN6Z2i6aGv56S65LiA6KGM5Ye95pW45ZCNIgorCisjOiBidWlsdGluL2dyZXAuYzo4OTcKK21zZ2lkICJzaG93IHRoZSBzdXJyb3VuZGluZyBmdW5jdGlvbiIKK21zZ3N0ciAi6aGv56S65omA5Zyo5Ye95pW455qE5YmN5b6M5YWn5a65IgorCisjOiBidWlsdGluL2dyZXAuYzo5MDAKK21zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gZmlsZSIKK21zZ3N0ciAi5b6e5qqU5qGI6K6A5Y+W5qih5byPIgorCisjOiBidWlsdGluL2dyZXAuYzo5MDIKK21zZ2lkICJtYXRjaCA8cGF0dGVybj4iCittc2dzdHIgIuespuWQiCA85qih5byPPiIKKworIzogYnVpbHRpbi9ncmVwLmM6OTA0Cittc2dpZCAiY29tYmluZSBwYXR0ZXJucyBzcGVjaWZpZWQgd2l0aCAtZSIKK21zZ3N0ciAi57WE5ZCI55SoIC1lIOWPg+aVuOioreWumueahOaooeW8jyIKKworIzogYnVpbHRpbi9ncmVwLmM6OTE2Cittc2dpZCAiaW5kaWNhdGUgaGl0IHdpdGggZXhpdCBzdGF0dXMgd2l0aG91dCBvdXRwdXQiCittc2dzdHIgIuS4jei8uOWHuu+8jOiAjOeUqOmboumWi+eivOaomeiomOWRveS4reeLgOaFiyIKKworIzogYnVpbHRpbi9ncmVwLmM6OTE4Cittc2dpZCAic2hvdyBvbmx5IG1hdGNoZXMgZnJvbSBmaWxlcyB0aGF0IG1hdGNoIGFsbCBwYXR0ZXJucyIKK21zZ3N0ciAi5Y+q6aGv56S656ym5ZCI5omA5pyJ5qih5byP55qE5qqU5qGI5Lit55qE56ym5ZCIIgorCisjOiBidWlsdGluL2dyZXAuYzo5MjAKK21zZ2lkICJzaG93IHBhcnNlIHRyZWUgZm9yIGdyZXAgZXhwcmVzc2lvbiIKK21zZ3N0ciAi6aGv56S6IGdyZXAg6KGo6YGU5byP55qE6Kej5p6Q5qi5IgorCisjOiBidWlsdGluL2dyZXAuYzo5MjQKK21zZ2lkICJwYWdlciIKK21zZ3N0ciAi5YiG6aCBIgorCisjOiBidWlsdGluL2dyZXAuYzo5MjQKK21zZ2lkICJzaG93IG1hdGNoaW5nIGZpbGVzIGluIHRoZSBwYWdlciIKK21zZ3N0ciAi5YiG6aCB6aGv56S656ym5ZCI55qE5qqU5qGIIgorCisjOiBidWlsdGluL2dyZXAuYzo5MjgKK21zZ2lkICJhbGxvdyBjYWxsaW5nIG9mIGdyZXAoMSkgKGlnbm9yZWQgYnkgdGhpcyBidWlsZCkiCittc2dzdHIgIuWFgeioseWRvOWPqyBncmVwKDEp77yI5pys5qyh5qeL5bu65b+955Wl77yJIgorCisjOiBidWlsdGluL2dyZXAuYzo5OTIKK21zZ2lkICJubyBwYXR0ZXJuIGdpdmVuIgorbXNnc3RyICLmnKrmj5DkvpvnrKblkIjmqKHlvI8iCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwMjgKK21zZ2lkICItLW5vLWluZGV4IG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggcmV2cyIKK21zZ3N0ciAiLS1uby1pbmRleCDmiJYgLS11bnRyYWNrZWQg5LiN6IO95ZKM54mI5pys5ZCM5pmC5L2/55SoIgorCisjOiBidWlsdGluL2dyZXAuYzoxMDM2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlIHJldmlzaW9uOiAlcyIKK21zZ3N0ciAi5LiN6IO96Kej5p6Q54mI5pys77yaJXMiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjEwNjcKK21zZ2lkICJpbnZhbGlkIG9wdGlvbiBjb21iaW5hdGlvbiwgaWdub3JpbmcgLS10aHJlYWRzIgorbXNnc3RyICLnhKHmlYjnmoTpgbjpoIXntYTlkIjvvIzlv73nlaUgLS10aHJlYWRzIgorCisjOiBidWlsdGluL2dyZXAuYzoxMDcwIGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwMAorbXNnaWQgIm5vIHRocmVhZHMgc3VwcG9ydCwgaWdub3JpbmcgLS10aHJlYWRzIgorbXNnc3RyICLmspLmnInln7fooYznt5LmlK/mj7TvvIzlv73nlaUgLS10aHJlYWRzIgorCisjOiBidWlsdGluL2dyZXAuYzoxMDczIGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MzEgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzA1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHRocmVhZHMgc3BlY2lmaWVkICglZCkiCittc2dzdHIgIuaMh+WumueahOWft+ihjOe3kuaVuOeEoeaViO+8iCVk77yJIgorCisjOiBidWlsdGluL2dyZXAuYzoxMDk2Cittc2dpZCAiLS1vcGVuLWZpbGVzLWluLXBhZ2VyIG9ubHkgd29ya3Mgb24gdGhlIHdvcmt0cmVlIgorbXNnc3RyICItLW9wZW4tZmlsZXMtaW4tcGFnZXIg5YOF55So5pa85bel5L2c5Y2AIgorCisjOiBidWlsdGluL2dyZXAuYzoxMTE5Cittc2dpZCAib3B0aW9uIG5vdCBzdXBwb3J0ZWQgd2l0aCAtLXJlY3Vyc2Utc3VibW9kdWxlcyIKK21zZ3N0ciAi6YG46aCF5LiN5pSv5o+05ZKMIC0tcmVjdXJzZS1zdWJtb2R1bGVzIOWFseeUqCIKKworIzogYnVpbHRpbi9ncmVwLmM6MTEyNQorbXNnaWQgIi0tY2FjaGVkIG9yIC0tdW50cmFja2VkIGNhbm5vdCBiZSB1c2VkIHdpdGggLS1uby1pbmRleCIKK21zZ3N0ciAiLS1jYWNoZWQg5oiWIC0tdW50cmFja2VkIOS4jeiDveiIhyAtLW5vLWluZGV4IOWQjOaZguS9v+eUqCIKKworIzogYnVpbHRpbi9ncmVwLmM6MTEzMQorbXNnaWQgIi0tW25vLV1leGNsdWRlLXN0YW5kYXJkIGNhbm5vdCBiZSB1c2VkIGZvciB0cmFja2VkIGNvbnRlbnRzIgorbXNnc3RyICItLVtuby1dZXhjbHVkZS1zdGFuZGFyZCDkuI3og73nlKjmlrzlt7Lov73ouaTlhaflrrkiCisKKyM6IGJ1aWx0aW4vZ3JlcC5jOjExMzkKK21zZ2lkICJib3RoIC0tY2FjaGVkIGFuZCB0cmVlcyBhcmUgZ2l2ZW4iCittc2dzdHIgIuWQjOaZgue1puWHuuS6hiAtLWNhY2hlZCDlkozmqLnni4Dnianku7YiCisKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzo4NQorbXNnaWQgIiIKKyJnaXQgaGFzaC1vYmplY3QgWy10IDx0eXBlPl0gWy13XSBbLS1wYXRoPTxmaWxlPiB8IC0tbm8tZmlsdGVyc10gWy0tc3RkaW5dICIKKyJbLS1dIDxmaWxlPi4uLiIKK21zZ3N0ciAiIgorImdpdCBoYXNoLW9iamVjdCBbLXQgPOmhnuWeiz5dIFstd10gWy0tcGF0aD085qqU5qGIPiB8IC0tbm8tZmlsdGVyc10gWy0tc3RkaW5dICIKKyJbLS1dIDzmqpTmoYg+Li4uIgorCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6ODYKK21zZ2lkICJnaXQgaGFzaC1vYmplY3QgIC0tc3RkaW4tcGF0aHMiCittc2dzdHIgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKKworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk4Cittc2dpZCAib2JqZWN0IHR5cGUiCittc2dzdHIgIueJqeS7tumhnuWeiyIKKworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjk5Cittc2dpZCAid3JpdGUgdGhlIG9iamVjdCBpbnRvIHRoZSBvYmplY3QgZGF0YWJhc2UiCittc2dzdHIgIuWwh+eJqeS7tuWvq+WFpeeJqeS7tuizh+aWmeW6qyIKKworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwMQorbXNnaWQgInJlYWQgdGhlIG9iamVjdCBmcm9tIHN0ZGluIgorbXNnc3RyICLlvp7mqJnmupbovLjlhaXoroDlj5bnianku7YiCisKKyM6IGJ1aWx0aW4vaGFzaC1vYmplY3QuYzoxMDMKK21zZ2lkICJzdG9yZSBmaWxlIGFzIGlzIHdpdGhvdXQgZmlsdGVycyIKK21zZ3N0ciAi5Y6f5qij5YSy5a2Y5qqU5qGI5LiN5L2/55So6YGO5r++5ZmoIgorCisjOiBidWlsdGluL2hhc2gtb2JqZWN0LmM6MTA0Cittc2dpZCAiIgorImp1c3QgaGFzaCBhbnkgcmFuZG9tIGdhcmJhZ2UgdG8gY3JlYXRlIGNvcnJ1cHQgb2JqZWN0cyBmb3IgZGVidWdnaW5nIEdpdCIKK21zZ3N0ciAi5YWB6Kix5bCN5Lu75oSP6Zqo5qmf5Z6D5Zy+6LOH5paZ5YGa5pWj5YiX5L6G5bu656uL5pCN5aOe55qE54mp5Lu25Lul5L6/6Zmk6YyvIEdpdCIKKworIzogYnVpbHRpbi9oYXNoLW9iamVjdC5jOjEwNQorbXNnaWQgInByb2Nlc3MgZmlsZSBhcyBpdCB3ZXJlIGZyb20gdGhpcyBwYXRoIgorbXNnc3RyICLomZXnkIbmqpTmoYjkuKblgYfoqK3lhbbkvoboh6rmlrzmraTot6/lvpEiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQ2Cittc2dpZCAicHJpbnQgYWxsIGF2YWlsYWJsZSBjb21tYW5kcyIKK21zZ3N0ciAi5YiX5Y2w5omA5pyJ5Y+v55So55qE5oyH5LukIgorCisjOiBidWlsdGluL2hlbHAuYzo0NworbXNnaWQgImV4Y2x1ZGUgZ3VpZGVzIgorbXNnc3RyICLmjpLpmaTlmq7lsI4iCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQ4Cittc2dpZCAicHJpbnQgbGlzdCBvZiB1c2VmdWwgZ3VpZGVzIgorbXNnc3RyICLpoa/npLrmnInnlKjnmoTmjIfljZfliJfooagiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQ5Cittc2dpZCAicHJpbnQgYWxsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgbmFtZXMiCittc2dzdHIgIuWIl+WNsOaJgOacieioreWumuiuiuaVuOWQjeeosSIKKworIzogYnVpbHRpbi9oZWxwLmM6NTEKK21zZ2lkICJzaG93IG1hbiBwYWdlIgorbXNnc3RyICLpoa/npLogbWFuIOaJi+WGiiIKKworIzogYnVpbHRpbi9oZWxwLmM6NTIKK21zZ2lkICJzaG93IG1hbnVhbCBpbiB3ZWIgYnJvd3NlciIKK21zZ3N0ciAi5ZyoIHdlYiDngI/opr3lmajkuK3poa/npLrmiYvlhooiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjU0Cittc2dpZCAic2hvdyBpbmZvIHBhZ2UiCittc2dzdHIgIumhr+ekuiBpbmZvIOaJi+WGiiIKKworIzogYnVpbHRpbi9oZWxwLmM6NTYKK21zZ2lkICJwcmludCBjb21tYW5kIGRlc2NyaXB0aW9uIgorbXNnc3RyICLliJfljbDmjIfku6Tmj4/ov7AiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjYxCittc2dpZCAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPGNvbW1hbmQ+XSIKK21zZ3N0ciAiZ2l0IGhlbHAgWy0tYWxsXSBbLS1ndWlkZXNdIFstLW1hbiB8IC0td2ViIHwgLS1pbmZvXSBbPOaMh+S7pD5dIgorCisjOiBidWlsdGluL2hlbHAuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgaGVscCBmb3JtYXQgJyVzJyIKK21zZ3N0ciAi5pyq6IO96K2Y5Yil55qE5Y2U5Yqp5qC85byPICclcyciCisKKyM6IGJ1aWx0aW4vaGVscC5jOjEwNAorbXNnaWQgIkZhaWxlZCB0byBzdGFydCBlbWFjc2NsaWVudC4iCittc2dzdHIgIueEoeazleWVn+WLlSBlbWFjc2NsaWVudOOAgiIKKworIzogYnVpbHRpbi9oZWxwLmM6MTE3Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVtYWNzY2xpZW50IHZlcnNpb24uIgorbXNnc3RyICLnhKHms5Xop6PmnpAgZW1hY3NjbGllbnQg54mI5pys44CCIgorCisjOiBidWlsdGluL2hlbHAuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZW1hY3NjbGllbnQgdmVyc2lvbiAnJWQnIHRvbyBvbGQgKDwgMjIpLiIKK21zZ3N0ciAiZW1hY3NjbGllbnQg54mI5pysICclZCcg5aSq6ICB77yIPCAyMu+8ieOAgiIKKworIzogYnVpbHRpbi9oZWxwLmM6MTQzIGJ1aWx0aW4vaGVscC5jOjE2NSBidWlsdGluL2hlbHAuYzoxNzUgYnVpbHRpbi9oZWxwLmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjICclcyciCittc2dzdHIgIuWft+ihjCAnJXMnIOWkseaVlyIKKworIzogYnVpbHRpbi9oZWxwLmM6MjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyInJXMnOiBwYXRoIGZvciB1bnN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgorIlBsZWFzZSBjb25zaWRlciB1c2luZyAnbWFuLjx0b29sPi5jbWQnIGluc3RlYWQuIgorbXNnc3RyICIiCisiJyVzJ++8muS4jeaUr+aPtOeahCBtYW4g5omL5YaK5qqi6KaW5Zmo55qE6Lev5b6R44CCXG4iCisi6KuL5L2/55SoICdtYW4uPOW3peWFtz4uY21kJ+OAgiIKKworIzogYnVpbHRpbi9oZWxwLmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyInJXMnOiBjbWQgZm9yIHN1cHBvcnRlZCBtYW4gdmlld2VyLlxuIgorIlBsZWFzZSBjb25zaWRlciB1c2luZyAnbWFuLjx0b29sPi5wYXRoJyBpbnN0ZWFkLiIKK21zZ3N0ciAiIgorIiclcyc6IOaUr+aPtOeahCBtYW4g5omL5YaK5qqi6KaW5Zmo5oyH5Luk44CCXG4iCisi6KuL5L2/55SoICdtYW4uPOW3peWFtz4ucGF0aCfjgIIiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjM1MAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnOiB1bmtub3duIG1hbiB2aWV3ZXIuIgorbXNnc3RyICInJXMn77ya5pyq55+l55qEIG1hbiDmqqLoppblmajjgIIiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjM2NworbXNnaWQgIm5vIG1hbiB2aWV3ZXIgaGFuZGxlZCB0aGUgcmVxdWVzdCIKK21zZ3N0ciAi5rKS5pyJIG1hbiDmqqLoppblmajomZXnkIbmraToq4vmsYIiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjM3NQorbXNnaWQgIm5vIGluZm8gdmlld2VyIGhhbmRsZWQgdGhlIHJlcXVlc3QiCittc2dzdHIgIuaykuaciSBpbmZvIOaqouimluWZqOiZleeQhuatpOiri+axgiIKKworIzogYnVpbHRpbi9oZWxwLmM6NDM0IGJ1aWx0aW4vaGVscC5jOjQ0NSBnaXQuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBhbGlhc2VkIHRvICclcyciCittc2dzdHIgIiclcycg5pivICclcycg55qE5Yil5ZCNIgorCisjOiBidWlsdGluL2hlbHAuYzo0NDggZ2l0LmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBhbGlhcy4lcyBzdHJpbmc6ICVzIgorbXNnc3RyICLlo57nmoQgYWxpYXMuJXMg5a2X5Liy77yaJXMiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQ3NyBidWlsdGluL2hlbHAuYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNhZ2U6ICVzJXMiCittc2dzdHIgIueUqOazle+8miVzJXMiCisKKyM6IGJ1aWx0aW4vaGVscC5jOjQ5MQorbXNnaWQgIidnaXQgaGVscCBjb25maWcnIGZvciBtb3JlIGluZm9ybWF0aW9uIgorbXNnc3RyICInZ2l0IGhlbHAgY29uZmlnJyDlj5blvpfmm7TlpJroqIrmga8iCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4NQorIywgYy1mb3JtYXQKK21zZ2lkICJvYmplY3QgdHlwZSBtaXNtYXRjaCBhdCAlcyIKK21zZ3N0ciAiJXMg55qE54mp5Lu26aGe5Z6L5LiN56ym5ZCIIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlkIG5vdCByZWNlaXZlIGV4cGVjdGVkIG9iamVjdCAlcyIKK21zZ3N0ciAi5pyq6IO95Y+W5b6X6aCQ5pyf55qE54mp5Lu2ICVzIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0ICVzOiBleHBlY3RlZCB0eXBlICVzLCBmb3VuZCAlcyIKK21zZ3N0ciAi54mp5Lu2ICVz77ya5oeJ54K66aGe5Z6LICVz77yM5Y275pivICVzIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbGwgJWQgYnl0ZSIKK21zZ2lkX3BsdXJhbCAiY2Fubm90IGZpbGwgJWQgYnl0ZXMiCittc2dzdHJbMF0gIueEoeazleWhq+WFhSAlZCDkvY3lhYPntYQiCittc2dzdHJbMV0gIueEoeazleWhq+WFhSAlZCDkvY3lhYPntYQiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI2OAorbXNnaWQgImVhcmx5IEVPRiIKK21zZ3N0ciAi6YGO5pep55qE5qqU5qGI57WQ5p2f56ym77yIRU9G77yJIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoyNjkKK21zZ2lkICJyZWFkIGVycm9yIG9uIGlucHV0IgorbXNnc3RyICLovLjlhaXkuIrnmoToroDpjK/oqqQiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4MQorbXNnaWQgInVzZWQgbW9yZSBieXRlcyB0aGFuIHdlcmUgYXZhaWxhYmxlIgorbXNnc3RyICLnlKjmjonkuobotoXpgY7lj6/nlKjnmoTkvY3lhYPntYQiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI4OCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjYwNAorbXNnaWQgInBhY2sgdG9vIGxhcmdlIGZvciBjdXJyZW50IGRlZmluaXRpb24gb2Ygb2ZmX3QiCittc2dzdHIgIuWMheWkquWkp+i2hemBjuS6huebruWJjSBvZmZfdCDnmoTlrprnvqkiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjI5MSBidWlsdGluL3VucGFjay1vYmplY3RzLmM6OTUKK21zZ2lkICJwYWNrIGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIHNpemUiCittc2dzdHIgIuWMhei2hemBjuS6huacgOWkp+WFgeioseWAvCIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHBhY2tmaWxlICclcyciCittc2dzdHIgIueEoeazlemWi+WVnyBwYWNrZmlsZSAnJXMnIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMjYKK21zZ2lkICJwYWNrIHNpZ25hdHVyZSBtaXNtYXRjaCIKK21zZ3N0ciAi5YyF57C95ZCN5LiN56ym5ZCIIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFjayB2ZXJzaW9uICU8UFJJdTMyPiB1bnN1cHBvcnRlZCIKK21zZ3N0ciAi5LiN5pSv5o+05YyF54mI5pysICU8UFJJdTMyPiIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInBhY2sgaGFzIGJhZCBvYmplY3QgYXQgb2Zmc2V0ICU8UFJJdU1BWD46ICVzIgorbXNnc3RyICLljIXkuK3mnInpjK/oqqTnmoTnianku7bkvY3mlrzkvY3np7vph48gJTxQUkl1TUFYPu+8miVzIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo0NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5mbGF0ZSByZXR1cm5lZCAlZCIKK21zZ3N0ciAi6Kej5aOT57iu6L+U5ZueICVkIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MTUKK21zZ2lkICJvZmZzZXQgdmFsdWUgb3ZlcmZsb3cgZm9yIGRlbHRhIGJhc2Ugb2JqZWN0IgorbXNnc3RyICLkvY3np7vlgLzopobok4vkuoYgZGVsdGEg5Z+65rqW54mp5Lu2IgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1MjMKK21zZ2lkICJkZWx0YSBiYXNlIG9mZnNldCBpcyBvdXQgb2YgYm91bmQiCittc2dzdHIgImRlbHRhIOWfuua6luS9jeenu+i2iueVjCIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb2JqZWN0IHR5cGUgJWQiCittc2dzdHIgIuacquefpeeJqeS7tumhnuWeiyAlZCIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTYyCittc2dpZCAiY2Fubm90IHByZWFkIHBhY2sgZmlsZSIKK21zZ3N0ciAi54Sh5rOV6K6A5Y+W5YyF5qqU5qGIIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo1NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJlbWF0dXJlIGVuZCBvZiBwYWNrIGZpbGUsICU8UFJJdU1BWD4gYnl0ZSBtaXNzaW5nIgorbXNnaWRfcGx1cmFsICJwcmVtYXR1cmUgZW5kIG9mIHBhY2sgZmlsZSwgJTxQUkl1TUFYPiBieXRlcyBtaXNzaW5nIgorbXNnc3RyWzBdICLljIXmqpTmoYjpgY7ml6nntZDmnZ/vvIznvLrlsJEgJTxQUkl1TUFYPiDkvY3lhYPntYQiCittc2dzdHJbMV0gIuWMheaqlOahiOmBjuaXqee1kOadn++8jOe8uuWwkSAlPFBSSXVNQVg+IOS9jeWFg+e1hCIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NTkwCittc2dpZCAic2VyaW91cyBpbmZsYXRlIGluY29uc2lzdGVuY3kiCittc2dzdHIgIuino+Wjk+e4ruWatOmHjeeahOS4jeS4gOiHtCIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6NzM1IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjc0MSBidWlsdGluL2luZGV4LXBhY2suYzo3NjQKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwMyBidWlsdGluL2luZGV4LXBhY2suYzo4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU0hBMSBDT0xMSVNJT04gRk9VTkQgV0lUSCAlcyAhIgorbXNnc3RyICLnmbznj74gJXMg5Ye654++IFNIQTEg6KGd56qB77yBIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo3MzggYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTcKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjE3IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWFkICVzIgorbXNnc3RyICLkuI3og73oroAgJXMiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCBleGlzdGluZyBvYmplY3QgaW5mbyAlcyIKK21zZ3N0ciAi5LiN6IO96K6A5Y+W54++5a2Y54mp5Lu26KiK5oGvICVzIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzo4MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgZXhpc3Rpbmcgb2JqZWN0ICVzIgorbXNnc3RyICLkuI3og73oroDlj5bnj77lrZjnianku7YgJXMiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyMworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGJsb2Igb2JqZWN0ICVzIgorbXNnc3RyICLnhKHmlYjnmoTos4fmlpnnianku7YgJXMiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjgyNiBidWlsdGluL2luZGV4LXBhY2suYzo4NDUKK21zZ2lkICJmc2NrIGVycm9yIGluIHBhY2tlZCBvYmplY3QiCittc2dzdHIgIuWwjeaJk+WMheeJqeS7tiBmc2NrIOaqouafpeeZvOeUn+mMr+iqpCIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6ODQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhbGwgY2hpbGQgb2JqZWN0cyBvZiAlcyBhcmUgcmVhY2hhYmxlIgorbXNnc3RyICIlcyDnmoTmiYDmnInlrZDnianku7bkuKbpnZ7pg73lj6/ku6Xlj5blvpciCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjkxOSBidWlsdGluL2luZGV4LXBhY2suYzo5NTAKK21zZ2lkICJmYWlsZWQgdG8gYXBwbHkgZGVsdGEiCittc2dzdHIgIuaHieeUqCBkZWx0YSDlpLHmlZciCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjExMTgKK21zZ2lkICJSZWNlaXZpbmcgb2JqZWN0cyIKK21zZ3N0ciAi5o6l5pS254mp5Lu25LitIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTE4Cittc2dpZCAiSW5kZXhpbmcgb2JqZWN0cyIKK21zZ3N0ciAi57Si5byV54mp5Lu25LitIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTUyCittc2dpZCAicGFjayBpcyBjb3JydXB0ZWQgKFNIQTEgbWlzbWF0Y2gpIgorbXNnc3RyICLljIXooZ3nqoHvvIhTSEExIOS4jeespuWQiO+8iSIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE1NworbXNnaWQgImNhbm5vdCBmc3RhdCBwYWNrZmlsZSIKK21zZ3N0ciAi5LiN6IO95bCNIHBhY2tmaWxlIOWRvOWPqyBmc3RhdCIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTE2MAorbXNnaWQgInBhY2sgaGFzIGp1bmsgYXQgdGhlIGVuZCIKK21zZ3N0ciAi5YyF55qE57WQ5bC+5pyJ5Z6D5Zy+6LOH5paZIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTcyCittc2dpZCAiY29uZnVzaW9uIGJleW9uZCBpbnNhbml0eSBpbiBwYXJzZV9wYWNrX29iamVjdHMoKSIKK21zZ3N0ciAicGFyc2VfcGFja19vYmplY3RzKCkg5Lit6YGH5Yiw5LiN5Y+v55CG5Za755qE5ZWP6aGMIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMTk1Cittc2dpZCAiUmVzb2x2aW5nIGRlbHRhcyIKK21zZ3N0ciAi6JmV55CGIGRlbHRhIOS4rSIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTIwNSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSB0aHJlYWQ6ICVzIgorbXNnc3RyICLkuI3og73lu7rnq4vln7fooYznt5LvvJolcyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI0NgorbXNnaWQgImNvbmZ1c2lvbiBiZXlvbmQgaW5zYW5pdHkiCittc2dzdHIgIuS4jeWPr+eQhuWWuyIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTI1MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb21wbGV0ZWQgd2l0aCAlZCBsb2NhbCBvYmplY3QiCittc2dpZF9wbHVyYWwgImNvbXBsZXRlZCB3aXRoICVkIGxvY2FsIG9iamVjdHMiCittc2dzdHJbMF0gIuWujOaIkCAlZCDlgIvmnKzmqZ/nianku7YiCittc2dzdHJbMV0gIuWujOaIkCAlZCDlgIvmnKzmqZ/nianku7YiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCB0YWlsIGNoZWNrc3VtIGZvciAlcyAoZGlzayBjb3JydXB0aW9uPykiCittc2dzdHIgIuWwjSAlcyDnmoTlsL7pg6jnuL3lkozmqqLmn6Xlh7rnj77mhI/lpJbvvIjno4Hnop/mkI3lo57vvJ/vvIkiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YSIKK21zZ2lkX3BsdXJhbCAicGFjayBoYXMgJWQgdW5yZXNvbHZlZCBkZWx0YXMiCittc2dzdHJbMF0gIuWMheaciSAlZCDlgIvmnKrop6PmsbrnmoQgZGVsdGEiCittc2dzdHJbMV0gIuWMheaciSAlZCDlgIvmnKrop6PmsbrnmoQgZGVsdGEiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjEyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGRlZmxhdGUgYXBwZW5kZWQgb2JqZWN0ICglZCkiCittc2dzdHIgIuS4jeiDveWjk+e4rumZhOWKoOeJqeS7tu+8iCVk77yJIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxMzg4CisjLCBjLWZvcm1hdAorbXNnaWQgImxvY2FsIG9iamVjdCAlcyBpcyBjb3JydXB0IgorbXNnc3RyICLmnKzmqZ/nianku7YgJXMg5bey5pCN5aOeIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDAyCisjLCBjLWZvcm1hdAorbXNnaWQgInBhY2tmaWxlIG5hbWUgJyVzJyBkb2VzIG5vdCBlbmQgd2l0aCAnLnBhY2snIgorbXNnc3RyICJwYWNrZmlsZSDlkI3nqLEgJyVzJyDmspLmnInku6UgJy5wYWNrJyDntZDlsL4iCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE0MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIGZpbGUgJyVzJyIKK21zZ3N0ciAi54Sh5rOV5a+r5YWlICVzIOaqlOahiCAnJXMnIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDM1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjbG9zZSB3cml0dGVuICVzIGZpbGUgJyVzJyIKK21zZ3N0ciAi54Sh5rOV6Zec6ZaJ5bey5a+r5YWl55qEICVzIOaqlOahiCAnJXMnIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNDU5Cittc2dpZCAiZXJyb3Igd2hpbGUgY2xvc2luZyBwYWNrIGZpbGUiCittc2dzdHIgIumXnOmWieWMheaqlOahiOaZgueZvOeUn+mMr+iqpCIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ3MworbXNnaWQgImNhbm5vdCBzdG9yZSBwYWNrIGZpbGUiCittc2dzdHIgIueEoeazleWEsuWtmOWMheaqlOahiCIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTQ4MQorbXNnaWQgImNhbm5vdCBzdG9yZSBpbmRleCBmaWxlIgorbXNnc3RyICLnhKHms5XlhLLlrZjntKLlvJXmqpTmoYgiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1MjUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCittc2dzdHIgIuWjnueahCBwYWNrLmluZGV4dmVyc2lvbj0lPFBSSXUzMj4iCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gZXhpc3RpbmcgcGFjayBmaWxlICclcyciCittc2dzdHIgIueEoeazlemWi+WVn+ePvuWtmOWMheaqlOahiCAnJXMnIgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuIGV4aXN0aW5nIHBhY2sgaWR4IGZpbGUgZm9yICclcyciCittc2dzdHIgIueEoeazleeCuiAlcyDplovllZ/ljIXntKLlvJXmqpTmoYgiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uIGRlbHRhOiAlZCBvYmplY3QiCittc2dpZF9wbHVyYWwgIm5vbiBkZWx0YTogJWQgb2JqZWN0cyIKK21zZ3N0clswXSAi6Z2eIGRlbHRh77yaJWQg5YCL54mp5Lu2IgorbXNnc3RyWzFdICLpnZ4gZGVsdGHvvJolZCDlgIvnianku7YiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhaW4gbGVuZ3RoID0gJWQ6ICVsdSBvYmplY3QiCittc2dpZF9wbHVyYWwgImNoYWluIGxlbmd0aCA9ICVkOiAlbHUgb2JqZWN0cyIKK21zZ3N0clswXSAi6Y+I6ZW3ID0gJWQ6ICVsdSDnianku7YiCittc2dzdHJbMV0gIumPiOmVtyA9ICVkOiAlbHUg54mp5Lu2IgorCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNjg5Cittc2dpZCAiQ2Fubm90IGNvbWUgYmFjayB0byBjd2QiCittc2dzdHIgIueEoeazlei/lOWbnuebruWJjeW3peS9nOebrumMhCIKKworIzogYnVpbHRpbi9pbmRleC1wYWNrLmM6MTczOCBidWlsdGluL2luZGV4LXBhY2suYzoxNzQxCisjOiBidWlsdGluL2luZGV4LXBhY2suYzoxNzU3IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIgorbXNnc3RyICLpjK/oqqTpgbjpoIUgJXMiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NzcKK21zZ2lkICItLWZpeC10aGluIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgLS1zdGRpbiIKK21zZ3N0ciAiLS1maXgtdGhpbiDkuI3og73lkowgLS1zdGRpbiDlkIzmmYLkvb/nlKgiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3NzkKK21zZ2lkICItLXN0ZGluIHJlcXVpcmVzIGEgZ2l0IHJlcG9zaXRvcnkiCittc2dzdHIgIi0tc3RkaW4g6ZyA6KaB5LiA5YCLIGdpdCDniYjmnKzluqsiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE3ODUKK21zZ2lkICItLXZlcmlmeSB3aXRoIG5vIHBhY2tmaWxlIG5hbWUgZ2l2ZW4iCittc2dzdHIgIi0tdmVyaWZ5IOaykuacieaPkOS+myBwYWNrZmlsZSDlkI3nqLHlj4PmlbgiCisKKyM6IGJ1aWx0aW4vaW5kZXgtcGFjay5jOjE4MzMgYnVpbHRpbi91bnBhY2stb2JqZWN0cy5jOjU4MQorbXNnaWQgImZzY2sgZXJyb3IgaW4gcGFjayBvYmplY3RzIgorbXNnc3RyICLlnKjmiZPljIXnianku7bkuK0gZnNjayDmqqLmn6XnmbznlJ/pjK/oqqQiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjYxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzdGF0IHRlbXBsYXRlICclcyciCittc2dzdHIgIuS4jeiDveWwjeevhOacrCAnJXMnIOWRvOWPqyBzdGF0IgorCisjOiBidWlsdGluL2luaXQtZGIuYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbmRpciAnJXMnIgorbXNnc3RyICLkuI3og73plovllZ/nm67pjIQgJyVzJyIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWRsaW5rICclcyciCittc2dzdHIgIuS4jeiDveiugOWPlumAo+e1kCAnJXMnIgorCisjOiBidWlsdGluL2luaXQtZGIuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3ltbGluayAnJXMnICclcyciCittc2dzdHIgIuS4jeiDveiHqiAnJXMnIOWIsCAnJXMnIOW7uueri+espuiZn+mAo+e1kCIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNvcHkgJyVzJyB0byAnJXMnIgorbXNnc3RyICLkuI3og73opIfoo70gJyVzJyDoh7MgJyVzJyIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdGVtcGxhdGUgJXMiCittc2dzdHIgIuW/veeVpeevhOacrCAlcyIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgInRlbXBsYXRlcyBub3QgZm91bmQgaW4gJXMiCittc2dzdHIgIuaykuacieWcqCAlcyDkuK3mib7liLDnr4TmnKwiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgY29weWluZyB0ZW1wbGF0ZXMgZnJvbSAnJXMnOiAlcyIKK21zZ3N0ciAi5rKS5pyJ5b6eICclcycg6KSH6KO956+E5pys77yaJXMiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gaGFuZGxlIGZpbGUgdHlwZSAlZCIKK21zZ3N0ciAi5LiN6IO96JmV55CGICVkIOmhnuWei+eahOaqlOahiCIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBtb3ZlICVzIHRvICVzIgorbXNnc3RyICLkuI3og73np7vli5UgJXMg6IezICVzIgorCisjOiBidWlsdGluL2luaXQtZGIuYzozNTQgYnVpbHRpbi9pbml0LWRiLmM6MzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZXhpc3RzIgorbXNnc3RyICIlcyDlt7LntpPlrZjlnKgiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICJSZWluaXRpYWxpemVkIGV4aXN0aW5nIHNoYXJlZCBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCittc2dzdHIgIumHjeaWsOWIneWni+WMluW3suWtmOWcqOeahOWFseS6qyBHaXQg54mI5pys5bqr5pa8ICVzJXNcbiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlaW5pdGlhbGl6ZWQgZXhpc3RpbmcgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICLph43mlrDliJ3lp4vljJblt7LlrZjlnKjnmoQgR2l0IOeJiOacrOW6q+aWvCAlcyVzXG4iCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBzaGFyZWQgR2l0IHJlcG9zaXRvcnkgaW4gJXMlc1xuIgorbXNnc3RyICLlt7LliJ3lp4vljJbnqbrnmoTlhbHkuqsgR2l0IOeJiOacrOW6q+aWvCAlcyVzXG4iCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQxOQorIywgYy1mb3JtYXQKK21zZ2lkICJJbml0aWFsaXplZCBlbXB0eSBHaXQgcmVwb3NpdG9yeSBpbiAlcyVzXG4iCittc2dzdHIgIuW3suWIneWni+WMluepuueahCBHaXQg54mI5pys5bqr5pa8ICVzJXNcbiIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NDY4Cittc2dpZCAiIgorImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTx0ZW1wbGF0ZS1kaXJlY3Rvcnk+XSBbLS0iCisic2hhcmVkWz08cGVybWlzc2lvbnM+XV0gWzxkaXJlY3Rvcnk+XSIKK21zZ3N0ciAiIgorImdpdCBpbml0IFstcSB8IC0tcXVpZXRdIFstLWJhcmVdIFstLXRlbXBsYXRlPTznr4TmnKznm67pjIQ+XSBbLS1zaGFyZWRbPTzmrIrpmZA+XV0gIgorIls855uu6YyEPl0iCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5MQorbXNnaWQgInBlcm1pc3Npb25zIgorbXNnc3RyICLmrIrpmZAiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjQ5MgorbXNnaWQgInNwZWNpZnkgdGhhdCB0aGUgZ2l0IHJlcG9zaXRvcnkgaXMgdG8gYmUgc2hhcmVkIGFtb25nc3Qgc2V2ZXJhbCB1c2VycyIKK21zZ3N0ciAi5oyH5a6aIGdpdCDniYjmnKzluqvmmK/lpJrlgIvkvb/nlKjogIXkuYvplpPlhbHkuqvnmoQiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUyOSBidWlsdGluL2luaXQtZGIuYzo1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1rZGlyICVzIgorbXNnc3RyICLkuI3og73lu7rnq4vnm67pjIQgJXMiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjUzOAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hkaXIgdG8gJXMiCittc2dzdHIgIuS4jeiDveWIh+aPm+ebrumMhOWIsCAlcyIKKworIzogYnVpbHRpbi9pbml0LWRiLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlcyAob3IgLS13b3JrLXRyZWU9PGRpcmVjdG9yeT4pIG5vdCBhbGxvd2VkIHdpdGhvdXQgc3BlY2lmeWluZyAlcyAob3IgLS1naXQtIgorImRpcj08ZGlyZWN0b3J5PikiCittc2dzdHIgIuS4jeWFgeiosSAlc++8iOaIliAtLXdvcmstdHJlZT0855uu6YyEPu+8ieiAjOaykuacieaMh+WumiAlc++8iOaIliAtLWdpdC1kaXI9POebrumMhD7vvIkiCisKKyM6IGJ1aWx0aW4vaW5pdC1kYi5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgYWNjZXNzIHdvcmsgdHJlZSAnJXMnIgorbXNnc3RyICLkuI3og73lrZjlj5blt6XkvZzljYAgJyVzJyIKKworIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxNgorbXNnaWQgIiIKKyJnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIFstLWluLXBsYWNlXSBbLS10cmltLWVtcHR5XSBbKC0tdHJhaWxlciAiCisiPHRva2VuPlsoPXw6KTx2YWx1ZT5dKS4uLl0gWzxmaWxlPi4uLl0iCittc2dzdHIgIiIKKyJnaXQgaW50ZXJwcmV0LXRyYWlsZXJzIFstLWluLXBsYWNlXSBbLS10cmltLWVtcHR5XSBbKC0tdHJhaWxlciA86Y21PlsoPXw6KTzlgLwiCisiPl0pLi4uXSBbPOaqlOahiD4uLi5dIgorCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk1Cittc2dpZCAiZWRpdCBmaWxlcyBpbiBwbGFjZSIKK21zZ3N0ciAi5Zyo5Y6f5L2N57eo6Lyv5qqU5qGIIgorCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk2Cittc2dpZCAidHJpbSBlbXB0eSB0cmFpbGVycyIKK21zZ3N0ciAi5Yiq6Zmk56m655qE5bC+6YOo572y5ZCNIgorCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjk5Cittc2dpZCAid2hlcmUgdG8gcGxhY2UgdGhlIG5ldyB0cmFpbGVyIgorbXNnc3RyICLlnKjlk6roo6HmlL7nva7mlrDnmoTlsL7pg6jnvbLlkI0iCisKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTAxCittc2dpZCAiYWN0aW9uIGlmIHRyYWlsZXIgYWxyZWFkeSBleGlzdHMiCittc2dzdHIgIueVtuWwvumDqOe9suWQjeW3sue2k+WtmOWcqOaZguaJgOaOoeWPlueahOWLleS9nCIKKworIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMDMKK21zZ2lkICJhY3Rpb24gaWYgdHJhaWxlciBpcyBtaXNzaW5nIgorbXNnc3RyICLnlbblsL7pg6jnvbLlkI3nvLrlsJHmmYLmiYDmjqHlj5bnmoTli5XkvZwiCisKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA1Cittc2dpZCAib3V0cHV0IG9ubHkgdGhlIHRyYWlsZXJzIgorbXNnc3RyICLlj6rovLjlh7rlsL7pg6jnvbLlkI0iCisKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA2Cittc2dpZCAiZG8gbm90IGFwcGx5IGNvbmZpZyBydWxlcyIKK21zZ3N0ciAi5LiN6KaB5oeJ55So6Kit5a6a6KaP5YmHIgorCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEwNworbXNnaWQgImpvaW4gd2hpdGVzcGFjZS1jb250aW51ZWQgdmFsdWVzIgorbXNnc3RyICLpgKPnt5rnqbrnmb3mipjooYznmoTlgLwiCisKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTA4Cittc2dpZCAic2V0IHBhcnNpbmcgb3B0aW9ucyIKK21zZ3N0ciAi6Kit5a6a6Kej5p6Q6YG46aCFIgorCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjExMAorbXNnaWQgImRvIG5vdCB0cmVhdCAtLS0gc3BlY2lhbGx5IgorbXNnc3RyICLkuI3opoHlsI0gLS0tIOeJueauiuiZleeQhiIKKworIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMTEKK21zZ2lkICJ0cmFpbGVyIgorbXNnc3RyICLlsL7pg6jnvbLlkI0iCisKKyM6IGJ1aWx0aW4vaW50ZXJwcmV0LXRyYWlsZXJzLmM6MTEyCittc2dpZCAidHJhaWxlcihzKSB0byBhZGQiCittc2dzdHIgIuimgeaWsOWinueahOWwvumDqOe9suWQjSIKKworIzogYnVpbHRpbi9pbnRlcnByZXQtdHJhaWxlcnMuYzoxMjMKK21zZ2lkICItLXRyYWlsZXIgd2l0aCAtLW9ubHktaW5wdXQgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiLS10cmFpbGVyIOWSjCAtLW9ubHktaW5wdXQg5ZCM5pmC5L2/55So5rKS5pyJ5oSP576pIgorCisjOiBidWlsdGluL2ludGVycHJldC10cmFpbGVycy5jOjEzMworbXNnaWQgIm5vIGlucHV0IGZpbGUgZ2l2ZW4gZm9yIGluLXBsYWNlIGVkaXRpbmciCittc2dzdHIgIuaykuaciee1puWHuuimgeWOn+S9jee3qOi8r+eahOaqlOahiCIKKworIzogYnVpbHRpbi9sb2cuYzo1NgorbXNnaWQgImdpdCBsb2cgWzxvcHRpb25zPl0gWzxyZXZpc2lvbi1yYW5nZT5dIFtbLS1dIDxwYXRoPi4uLl0iCittc2dzdHIgImdpdCBsb2cgWzzpgbjpoIU+XSBbPOeJiOacrOevhOWcjT5dIFtbLS1dIDzot6/lvpE+Li4uXSIKKworIzogYnVpbHRpbi9sb2cuYzo1NworbXNnaWQgImdpdCBzaG93IFs8b3B0aW9ucz5dIDxvYmplY3Q+Li4uIgorbXNnc3RyICJnaXQgc2hvdyBbPOmBuOmghT5dIDznianku7Y+Li4uIgorCisjOiBidWlsdGluL2xvZy5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIC0tZGVjb3JhdGUgb3B0aW9uOiAlcyIKK21zZ3N0ciAi54Sh5pWI55qEIC0tZGVjb3JhdGUg6YG46aCF77yaJXMiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTc0Cittc2dpZCAic2hvdyBzb3VyY2UiCittc2dzdHIgIumhr+ekuua6kCIKKworIzogYnVpbHRpbi9sb2cuYzoxNzUKK21zZ2lkICJVc2UgbWFpbCBtYXAgZmlsZSIKK21zZ3N0ciAi5L2/55So5L+h5Lu25pig5bCE5qqU5qGIIgorCisjOiBidWlsdGluL2xvZy5jOjE3NworbXNnaWQgIm9ubHkgZGVjb3JhdGUgcmVmcyB0aGF0IG1hdGNoIDxwYXR0ZXJuPiIKK21zZ3N0ciAi5Y+q5L+u6aO+6IiHIDzmqKHlvI8+IOespuWQiOeahOW8leeUqCIKKworIzogYnVpbHRpbi9sb2cuYzoxNzkKK21zZ2lkICJkbyBub3QgZGVjb3JhdGUgcmVmcyB0aGF0IG1hdGNoIDxwYXR0ZXJuPiIKK21zZ3N0ciAi5LiN5L+u6aO+5ZKMIDzmqKHlvI8+IOespuWQiOeahOW8leeUqCIKKworIzogYnVpbHRpbi9sb2cuYzoxODAKK21zZ2lkICJkZWNvcmF0ZSBvcHRpb25zIgorbXNnc3RyICLkv67po77pgbjpoIUiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTgzCittc2dpZCAiUHJvY2VzcyBsaW5lIHJhbmdlIG4sbSBpbiBmaWxlLCBjb3VudGluZyBmcm9tIDEiCittc2dzdHIgIuiZleeQhuaqlOahiOS4reesrCBuIOWIsCBtIOS5i+mWk+eahOihjO+8jOW+niAxIOmWi+WniyIKKworIzogYnVpbHRpbi9sb2cuYzoyODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluYWwgb3V0cHV0OiAlZCAlc1xuIgorbXNnc3RyICLmnIDntYLovLjlh7rvvJolZCAlc1xuIgorCisjOiBidWlsdGluL2xvZy5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICJnaXQgc2hvdyAlczogYmFkIGZpbGUiCittc2dzdHIgImdpdCBzaG93ICVzOiDmkI3lo57nmoTmqpTmoYgiCisKKyM6IGJ1aWx0aW4vbG9nLmM6NTUwIGJ1aWx0aW4vbG9nLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIG9iamVjdCAlcyIKK21zZ3N0ciAi5LiN6IO96K6A5Y+W54mp5Lu2ICVzIgorCisjOiBidWlsdGluL2xvZy5jOjY3MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHR5cGU6ICVkIgorbXNnc3RyICLmnKrnn6XpoZ7lnovvvJolZCIKKworIzogYnVpbHRpbi9sb2cuYzo4MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY292ZXIgZnJvbSBkZXNjcmlwdGlvbiBtb2RlIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6ODIxCittc2dpZCAiZm9ybWF0LmhlYWRlcnMgd2l0aG91dCB2YWx1ZSIKK21zZ3N0ciAiZm9ybWF0LmhlYWRlcnMg5rKS5pyJ5YC8IgorCisjOiBidWlsdGluL2xvZy5jOjkzNgorbXNnaWQgIm5hbWUgb2Ygb3V0cHV0IGRpcmVjdG9yeSBpcyB0b28gbG9uZyIKK21zZ3N0ciAi6Ly45Ye655uu6YyE5ZCN5aSq6ZW3IgorCisjOiBidWlsdGluL2xvZy5jOjk1MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXRjaCBmaWxlICVzIgorbXNnc3RyICLnhKHms5XplovllZ/kv67oo5zmqpTmoYggJXMiCisKKyM6IGJ1aWx0aW4vbG9nLmM6OTY5Cittc2dpZCAibmVlZCBleGFjdGx5IG9uZSByYW5nZSIKK21zZ3N0ciAi5Y+q6ZyA6KaB5LiA5YCL56+E5ZyNIgorCisjOiBidWlsdGluL2xvZy5jOjk3OQorbXNnaWQgIm5vdCBhIHJhbmdlIgorbXNnc3RyICLkuI3mmK/kuIDlgIvnr4TlnI0iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTE0MworbXNnaWQgImNvdmVyIGxldHRlciBuZWVkcyBlbWFpbCBmb3JtYXQiCittc2dzdHIgIumZhOWHvemcgOimgeS/oeS7tuS9jeWdgOagvOW8jyIKKworIzogYnVpbHRpbi9sb2cuYzoxMTQ5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBjb3Zlci1sZXR0ZXIgZmlsZSIKK21zZ3N0ciAi54Sh5rOV5bu656uL6ZmE5Ye95qqU5qGIIgorCisjOiBidWlsdGluL2xvZy5jOjEyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5zYW5lIGluLXJlcGx5LXRvOiAlcyIKK21zZ3N0ciAi5LiN5q2j5bi455qEIGluLXJlcGx5LXRv77yaJXMiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTI1NQorbXNnaWQgImdpdCBmb3JtYXQtcGF0Y2ggWzxvcHRpb25zPl0gWzxzaW5jZT4gfCA8cmV2aXNpb24tcmFuZ2U+XSIKK21zZ3N0ciAiZ2l0IGZvcm1hdC1wYXRjaCBbPOmBuOmghT5dIFs85b6ePiB8IDzniYjmnKznr4TlnI0+XSIKKworIzogYnVpbHRpbi9sb2cuYzoxMzEzCittc2dpZCAidHdvIG91dHB1dCBkaXJlY3Rvcmllcz8iCittc2dzdHIgIuWFqeWAi+i8uOWHuuebrumMhO+8nyIKKworIzogYnVpbHRpbi9sb2cuYzoxNDI0IGJ1aWx0aW4vbG9nLmM6MjE5NyBidWlsdGluL2xvZy5jOjIxOTkgYnVpbHRpbi9sb2cuYzoyMjExCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tbWl0ICVzIgorbXNnc3RyICLmnKrnn6Xmj5DkuqQgJXMiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzNCBidWlsdGluL3JlcGxhY2UuYzo1OCBidWlsdGluL3JlcGxhY2UuYzoyMDcKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmVmIgorbXNnc3RyICLnhKHms5XlsIcgJyVzJyDop6PmnpDngrrkuIDlgIvmnInmlYjlvJXnlKgiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTQzOQorbXNnaWQgImNvdWxkIG5vdCBmaW5kIGV4YWN0IG1lcmdlIGJhc2UiCittc2dzdHIgIuS4jeiDveaJvuWIsOa6lueiuueahOWQiOS9teWfuuekjiIKKworIzogYnVpbHRpbi9sb2cuYzoxNDQzCittc2dpZCAiIgorImZhaWxlZCB0byBnZXQgdXBzdHJlYW0sIGlmIHlvdSB3YW50IHRvIHJlY29yZCBiYXNlIGNvbW1pdCBhdXRvbWF0aWNhbGx5LFxuIgorInBsZWFzZSB1c2UgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10byB0byB0cmFjayBhIHJlbW90ZSBicmFuY2guXG4iCisiT3IgeW91IGNvdWxkIHNwZWNpZnkgYmFzZSBjb21taXQgYnkgLS1iYXNlPTxiYXNlLWNvbW1pdC1pZD4gbWFudWFsbHkiCittc2dzdHIgIiIKKyLnhKHms5XlvpfliLDkuIrmuLjkvY3lnYDvvIzlpoLmnpzkvaDmg7Poh6rli5XoqJjpjITln7rnpI7mj5DkuqTvvIzoq4vkvb/nlKjmjIfku6RcbiIKKyJnaXQgYnJhbmNoIC0tc2V0LXVwc3RyZWFtLXRvIOS+hui/vei5pOS4gOWAi+mBoOerr+WIhuaUr+OAguaIluiAheS9oOWPr+S7pemAj+mBjlxuIgorIuWPg+aVuCAtLWJhc2U9POWfuuekjuaPkOS6pD4g5omL5YuV5oyH5a6a5LiA5YCL5Z+656SO5o+Q5LqkIgorCisjOiBidWlsdGluL2xvZy5jOjE0NjMKK21zZ2lkICJmYWlsZWQgdG8gZmluZCBleGFjdCBtZXJnZSBiYXNlIgorbXNnc3RyICLnhKHms5Xmib7liLDmupbnorrnmoTlkIjkvbXln7rnpI4iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTQ3NAorbXNnaWQgImJhc2UgY29tbWl0IHNob3VsZCBiZSB0aGUgYW5jZXN0b3Igb2YgcmV2aXNpb24gbGlzdCIKK21zZ3N0ciAi5Z+656SO5o+Q5Lqk5oeJ6Kmy5piv54mI5pys5YiX6KGo55qE56WW5YWIIgorCisjOiBidWlsdGluL2xvZy5jOjE0NzgKK21zZ2lkICJiYXNlIGNvbW1pdCBzaG91bGRuJ3QgYmUgaW4gcmV2aXNpb24gbGlzdCIKK21zZ3N0ciAi5Z+656SO5o+Q5Lqk5LiN5oeJ6Kmy5Ye654++5Zyo54mI5pys5YiX6KGo5LitIgorCisjOiBidWlsdGluL2xvZy5jOjE1MzEKK21zZ2lkICJjYW5ub3QgZ2V0IHBhdGNoIGlkIgorbXNnc3RyICLnhKHms5XlvpfliLDkv67oo5zmqpQgaWQiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTU4MworbXNnaWQgImZhaWxlZCB0byBpbmZlciByYW5nZS1kaWZmIHJhbmdlcyIKK21zZ3N0ciAi54Sh5rOV5o6o5pa3IHJhbmdlLWRpZmYg56+E5ZyNIgorCisjOiBidWlsdGluL2xvZy5jOjE2MjkKK21zZ2lkICJ1c2UgW1BBVENIIG4vbV0gZXZlbiB3aXRoIGEgc2luZ2xlIHBhdGNoIgorbXNnc3RyICLkvb/nlKggW1BBVENIIG4vbV3vvIzljbPkvb/lj6rmnInkuIDlgIvkv67oo5zmqpQiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTYzMgorbXNnaWQgInVzZSBbUEFUQ0hdIGV2ZW4gd2l0aCBtdWx0aXBsZSBwYXRjaGVzIgorbXNnc3RyICLkvb/nlKggW1BBVENIXe+8jOWNs+S9v+acieWkmuWAi+S/ruijnOaqlCIKKworIzogYnVpbHRpbi9sb2cuYzoxNjM2Cittc2dpZCAicHJpbnQgcGF0Y2hlcyB0byBzdGFuZGFyZCBvdXQiCittc2dzdHIgIuWIl+WNsOS/ruijnOaqlOWIsOaomea6lui8uOWHuiIKKworIzogYnVpbHRpbi9sb2cuYzoxNjM4Cittc2dpZCAiZ2VuZXJhdGUgYSBjb3ZlciBsZXR0ZXIiCittc2dzdHIgIueUn+aIkOS4gOWwgemZhOWHvSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjQwCittc2dpZCAidXNlIHNpbXBsZSBudW1iZXIgc2VxdWVuY2UgZm9yIG91dHB1dCBmaWxlIG5hbWVzIgorbXNnc3RyICLkvb/nlKjnsKHllq7nmoTmlbjlrZfluo/liJfkvZzngrrovLjlh7rmqpTmoYjlkI0iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY0MQorbXNnaWQgInNmeCIKK21zZ3N0ciAi5b6M57a0IgorCisjOiBidWlsdGluL2xvZy5jOjE2NDIKK21zZ2lkICJ1c2UgPHNmeD4gaW5zdGVhZCBvZiAnLnBhdGNoJyIKK21zZ3N0ciAi5L2/55SoIDzlvozntrQ+IOS7o+abvyAnLnBhdGNoJyIKKworIzogYnVpbHRpbi9sb2cuYzoxNjQ0Cittc2dpZCAic3RhcnQgbnVtYmVyaW5nIHBhdGNoZXMgYXQgPG4+IGluc3RlYWQgb2YgMSIKK21zZ3N0ciAi5L+u6KOc5qqU5LulIDxuPiDplovlp4vnt6jomZ/vvIzogIzkuI3mmK8xIgorCisjOiBidWlsdGluL2xvZy5jOjE2NDYKK21zZ2lkICJtYXJrIHRoZSBzZXJpZXMgYXMgTnRoIHJlLXJvbGwiCittc2dzdHIgIuaomeiomOS/ruijnOaqlOezu+WIl+aYr+esrOW5vuasoemHjeijvSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjQ4Cittc2dpZCAiVXNlIFtSRkMgUEFUQ0hdIGluc3RlYWQgb2YgW1BBVENIXSIKK21zZ3N0ciAi5L2/55SoIFtSRkMgUEFUQ0hdIOS7o+abvyBbUEFUQ0hdIgorCisjOiBidWlsdGluL2xvZy5jOjE2NTEKK21zZ2lkICJjb3Zlci1mcm9tLWRlc2NyaXB0aW9uLW1vZGUiCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9sb2cuYzoxNjUyCittc2dpZCAiZ2VuZXJhdGUgcGFydHMgb2YgYSBjb3ZlciBsZXR0ZXIgYmFzZWQgb24gYSBicmFuY2gncyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGluL2xvZy5jOjE2NTQKK21zZ2lkICJVc2UgWzxwcmVmaXg+XSBpbnN0ZWFkIG9mIFtQQVRDSF0iCittc2dzdHIgIuS9v+eUqCBbPOWJjee2tD5dIOS7o+abvyBbUEFUQ0hdIgorCisjOiBidWlsdGluL2xvZy5jOjE2NTcKK21zZ2lkICJzdG9yZSByZXN1bHRpbmcgZmlsZXMgaW4gPGRpcj4iCittc2dzdHIgIuaKiue1kOaenOaqlOahiOWEsuWtmOWcqCA855uu6YyEPiIKKworIzogYnVpbHRpbi9sb2cuYzoxNjYwCittc2dpZCAiZG9uJ3Qgc3RyaXAvYWRkIFtQQVRDSF0iCittc2dzdHIgIuS4jeWIqumZpC/mlrDlop4gW1BBVENIXSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjYzCittc2dpZCAiZG9uJ3Qgb3V0cHV0IGJpbmFyeSBkaWZmcyIKK21zZ3N0ciAi5LiN6Ly45Ye65LqM6YCy5L2N5beu55WwIgorCisjOiBidWlsdGluL2xvZy5jOjE2NjUKK21zZ2lkICJvdXRwdXQgYWxsLXplcm8gaGFzaCBpbiBGcm9tIGhlYWRlciIKK21zZ3N0ciAi5ZyoIEZyb20g5qiZ6aCt6KiK5oGv5Lit6Ly45Ye65YWo54K66Zu255qE6Zuc5rmK5YC8IgorCisjOiBidWlsdGluL2xvZy5jOjE2NjcKK21zZ2lkICJkb24ndCBpbmNsdWRlIGEgcGF0Y2ggbWF0Y2hpbmcgYSBjb21taXQgdXBzdHJlYW0iCittc2dzdHIgIuS4jeWMheWQq+W3suWcqOS4iua4uOaPkOS6pOS4reeahOS/ruijnOaqlCIKKworIzogYnVpbHRpbi9sb2cuYzoxNjY5Cittc2dpZCAic2hvdyBwYXRjaCBmb3JtYXQgaW5zdGVhZCBvZiBkZWZhdWx0IChwYXRjaCArIHN0YXQpIgorbXNnc3RyICLpoa/npLrntJTkv67oo5zmqpTmoLzlvI/ogIzpnZ7poJDoqK3nmoTvvIjkv67oo5zmqpQr54uA5oWL77yJIgorCisjOiBidWlsdGluL2xvZy5jOjE2NzEKK21zZ2lkICJNZXNzYWdpbmciCittc2dzdHIgIuS/oeS7tuWCs+mAgSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjcyCittc2dpZCAiaGVhZGVyIgorbXNnc3RyICJoZWFkZXIiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3MworbXNnaWQgImFkZCBlbWFpbCBoZWFkZXIiCittc2dzdHIgIuaWsOWinuS/oeS7tumgrSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjc0IGJ1aWx0aW4vbG9nLmM6MTY3NgorbXNnaWQgImVtYWlsIgorbXNnc3RyICLkv6Hku7bkvY3lnYAiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3NAorbXNnaWQgImFkZCBUbzogaGVhZGVyIgorbXNnc3RyICLmlrDlop7mlLbku7bkuroiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3NgorbXNnaWQgImFkZCBDYzogaGVhZGVyIgorbXNnc3RyICLmlrDlop7mioTpgIEiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3OAorbXNnaWQgImlkZW50IgorbXNnc3RyICLmqJnoqJgiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY3OQorbXNnaWQgInNldCBGcm9tIGFkZHJlc3MgdG8gPGlkZW50PiAob3IgY29tbWl0dGVyIGlkZW50IGlmIGFic2VudCkiCittc2dzdHIgIuWwhyBGcm9tIOS9jeWdgOioreWumueCuiA85qiZ6KiYPu+8iOWmguiLpeS4jeaPkOS+m++8jOWJh+eUqOaPkOS6pOiAhSBJRCDlgZrngrrkvY3lnYDvvIkiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY4MQorbXNnaWQgIm1lc3NhZ2UtaWQiCittc2dzdHIgIuS/oeS7tuaomeiomCIKKworIzogYnVpbHRpbi9sb2cuYzoxNjgyCittc2dpZCAibWFrZSBmaXJzdCBtYWlsIGEgcmVwbHkgdG8gPG1lc3NhZ2UtaWQ+IgorbXNnc3RyICLkvb/nrKzkuIDlsIHkv6Hku7bkvZzngrrlsI0gPOS/oeS7tuaomeiomD4g55qE5Zue6KaGIgorCisjOiBidWlsdGluL2xvZy5jOjE2ODMgYnVpbHRpbi9sb2cuYzoxNjg2Cittc2dpZCAiYm91bmRhcnkiCittc2dzdHIgIumCiueVjCIKKworIzogYnVpbHRpbi9sb2cuYzoxNjg0Cittc2dpZCAiYXR0YWNoIHRoZSBwYXRjaCIKK21zZ3N0ciAi6ZmE5Lu25pa55byP5paw5aKe5L+u6KOc5qqUIgorCisjOiBidWlsdGluL2xvZy5jOjE2ODcKK21zZ2lkICJpbmxpbmUgdGhlIHBhdGNoIgorbXNnc3RyICLlhafoga/poa/npLrkv67oo5zmqpQiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5MQorbXNnaWQgImVuYWJsZSBtZXNzYWdlIHRocmVhZGluZywgc3R5bGVzOiBzaGFsbG93LCBkZWVwIgorbXNnc3RyICLllZ/nlKjkv6Hku7bnt5rntKLvvIzpoqjmoLzvvJrmt7rvvIzmt7EiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTY5MworbXNnaWQgInNpZ25hdHVyZSIKK21zZ3N0ciAi57C95ZCNIgorCisjOiBidWlsdGluL2xvZy5jOjE2OTQKK21zZ2lkICJhZGQgYSBzaWduYXR1cmUiCittc2dzdHIgIuaWsOWinuS4gOWAi+ewveWQjSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjk1Cittc2dpZCAiYmFzZS1jb21taXQiCittc2dzdHIgIuWfuuekjuaPkOS6pCIKKworIzogYnVpbHRpbi9sb2cuYzoxNjk2Cittc2dpZCAiYWRkIHByZXJlcXVpc2l0ZSB0cmVlIGluZm8gdG8gdGhlIHBhdGNoIHNlcmllcyIKK21zZ3N0ciAi54K65L+u6KOc5qqU5YiX6KGo5paw5aKe5YmN572u5qi56KiK5oGvIgorCisjOiBidWlsdGluL2xvZy5jOjE2OTgKK21zZ2lkICJhZGQgYSBzaWduYXR1cmUgZnJvbSBhIGZpbGUiCittc2dzdHIgIuW+nuaqlOahiOaWsOWinuS4gOWAi+ewveWQjSIKKworIzogYnVpbHRpbi9sb2cuYzoxNjk5Cittc2dpZCAiZG9uJ3QgcHJpbnQgdGhlIHBhdGNoIGZpbGVuYW1lcyIKK21zZ3N0ciAi5LiN6KaB5YiX5Y2w5L+u6KOc5qqU5qqU5qGI5ZCNIgorCisjOiBidWlsdGluL2xvZy5jOjE3MDEKK21zZ2lkICJzaG93IHByb2dyZXNzIHdoaWxlIGdlbmVyYXRpbmcgcGF0Y2hlcyIKK21zZ3N0ciAi5Zyo55Sf5oiQ5L+u6KOc5qqU5pmC6aGv56S66YCy5bqmIgorCisjOiBidWlsdGluL2xvZy5jOjE3MDMKK21zZ2lkICJzaG93IGNoYW5nZXMgYWdhaW5zdCA8cmV2PiBpbiBjb3ZlciBsZXR0ZXIgb3Igc2luZ2xlIHBhdGNoIgorbXNnc3RyICLlnKjpmYTlh73miJbllq7lgIvkv67oo5zmqpTkuK3poa/npLrlkowgPHJldj4g55qE5beu55WwIgorCisjOiBidWlsdGluL2xvZy5jOjE3MDYKK21zZ2lkICJzaG93IGNoYW5nZXMgYWdhaW5zdCA8cmVmc3BlYz4gaW4gY292ZXIgbGV0dGVyIG9yIHNpbmdsZSBwYXRjaCIKK21zZ3N0ciAi5Zyo6ZmE5Ye95oiW5Zau5YCL5L+u6KOc5qqU5Lit6aGv56S65ZKMIDxyZWZzcGVjPiDnmoTlt67nlbAiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTcwOAorbXNnaWQgInBlcmNlbnRhZ2UgYnkgd2hpY2ggY3JlYXRpb24gaXMgd2VpZ2h0ZWQiCittc2dzdHIgIuW7uueri+asiumHjeeahOeZvuWIhuavlCIKKworIzogYnVpbHRpbi9sb2cuYzoxNzkyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnQgbGluZTogJXMiCittc2dzdHIgIuWMheWQq+eEoeaViOeahOi6q+S7veaomeiomO+8miVzIgorCisjOiBidWlsdGluL2xvZy5jOjE4MDcKK21zZ2lkICItbiBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLW4g5ZKMIC1rIOS6kuaWpSIKKworIzogYnVpbHRpbi9sb2cuYzoxODA5Cittc2dpZCAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyBhbmQgLWsgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1zdWJqZWN0LXByZWZpeC8tLXJmYyDlkowgLWsg5LqS5palIgorCisjOiBidWlsdGluL2xvZy5jOjE4MTcKK21zZ2lkICItLW5hbWUtb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICItLW5hbWUtb25seSDnhKHmhI/nvqkiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTgxOQorbXNnaWQgIi0tbmFtZS1zdGF0dXMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiLS1uYW1lLXN0YXR1cyDnhKHmhI/nvqkiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTgyMQorbXNnaWQgIi0tY2hlY2sgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiLS1jaGVjayDnhKHmhI/nvqkiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTg1NAorbXNnaWQgInN0YW5kYXJkIG91dHB1dCwgb3IgZGlyZWN0b3J5LCB3aGljaCBvbmU/IgorbXNnc3RyICLmqJnmupbovLjlh7rmiJbnm67pjITvvIzlk6rkuIDlgIvvvJ8iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTk1OAorbXNnaWQgIi0taW50ZXJkaWZmIHJlcXVpcmVzIC0tY292ZXItbGV0dGVyIG9yIHNpbmdsZSBwYXRjaCIKK21zZ3N0ciAiLS1pbnRlcmRpZmYg6ZyA6KaBIC0tY292ZXItbGV0dGVyIOaIluWWruS4gOS/ruijnOaqlCIKKworIzogYnVpbHRpbi9sb2cuYzoxOTYyCittc2dpZCAiSW50ZXJkaWZmOiIKK21zZ3N0ciAi54mI5pys6ZaT5beu55Ww77yaIgorCisjOiBidWlsdGluL2xvZy5jOjE5NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJkaWZmIGFnYWluc3QgdiVkOiIKK21zZ3N0ciAi5bCNIHYlZCDnmoTniYjmnKzlt67nlbDvvJoiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTk2OQorbXNnaWQgIi0tY3JlYXRpb24tZmFjdG9yIHJlcXVpcmVzIC0tcmFuZ2UtZGlmZiIKK21zZ3N0ciAiLS1jcmVhdGlvbi1mYWN0b3Ig6ZyA6KaBIC0tcmFuZ2UtZGlmZiIKKworIzogYnVpbHRpbi9sb2cuYzoxOTczCittc2dpZCAiLS1yYW5nZS1kaWZmIHJlcXVpcmVzIC0tY292ZXItbGV0dGVyIG9yIHNpbmdsZSBwYXRjaCIKK21zZ3N0ciAiLS1yYW5nZS1kaWZmIOmcgOimgSAtLWNvdmVyLWxldHRlciDmiJbllq7kuIDkv67oo5zmqpQiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTk4MQorbXNnaWQgIlJhbmdlLWRpZmY6IgorbXNnc3RyICLnr4TlnI3lt67nlbDvvJoiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTk4MgorIywgYy1mb3JtYXQKK21zZ2lkICJSYW5nZS1kaWZmIGFnYWluc3QgdiVkOiIKK21zZ3N0ciAi5bCNIHYlZCDnmoTnr4TlnI3lt67nlbDvvJoiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MTk5MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzaWduYXR1cmUgZmlsZSAnJXMnIgorbXNnc3RyICLnhKHms5XoroDlj5bnsL3lkI3mqpTmoYggJyVzJyIKKworIzogYnVpbHRpbi9sb2cuYzoyMDI5Cittc2dpZCAiR2VuZXJhdGluZyBwYXRjaGVzIgorbXNnc3RyICLnlJ/miJDkv67oo5zmqpQiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MjA3MworbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGZpbGVzIgorbXNnc3RyICLnhKHms5Xlu7rnq4vovLjlh7rmqpTmoYgiCisKKyM6IGJ1aWx0aW4vbG9nLmM6MjEzMgorbXNnaWQgImdpdCBjaGVycnkgWy12XSBbPHVwc3RyZWFtPiBbPGhlYWQ+IFs8bGltaXQ+XV1dIgorbXNnc3RyICJnaXQgY2hlcnJ5IFstdl0gWzzkuIrmuLg+IFs86aCtPiBbPOmZkOWItj5dXV0iCisKKyM6IGJ1aWx0aW4vbG9nLmM6MjE4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ291bGQgbm90IGZpbmQgYSB0cmFja2VkIHJlbW90ZSBicmFuY2gsIHBsZWFzZSBzcGVjaWZ5IDx1cHN0cmVhbT4gbWFudWFsbHkuXG4iCittc2dzdHIgIuS4jeiDveaJvuWIsOi/vei5pOeahOmBoOerr+WIhuaUr++8jOiri+aJi+WLleaMh+WumiA85LiK5ri4PuOAglxuIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NDcwCittc2dpZCAiZ2l0IGxzLWZpbGVzIFs8b3B0aW9ucz5dIFs8ZmlsZT4uLi5dIgorbXNnc3RyICJnaXQgbHMtZmlsZXMgWzzpgbjpoIU+XSBbPOaqlOahiD4uLi5dIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI2Cittc2dpZCAiaWRlbnRpZnkgdGhlIGZpbGUgc3RhdHVzIHdpdGggdGFncyIKK21zZ3N0ciAi55So5qiZ57Gk5qiZ6KiY5qqU5qGI55qE54uA5oWLIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTI4Cittc2dpZCAidXNlIGxvd2VyY2FzZSBsZXR0ZXJzIGZvciAnYXNzdW1lIHVuY2hhbmdlZCcgZmlsZXMiCittc2dzdHIgIuS9v+eUqOWwj+Wvq+Wtl+avjeihqOekuiAn5YGH6Kit5pyq5pS56K6K55qEJyDmqpTmoYgiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzAKK21zZ2lkICJ1c2UgbG93ZXJjYXNlIGxldHRlcnMgZm9yICdmc21vbml0b3IgY2xlYW4nIGZpbGVzIgorbXNnc3RyICLkvb/nlKjlsI/lr6vlrZfmr43ooajnpLogJ2ZzbW9uaXRvciBjbGVhbicg5qqU5qGIIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTMyCittc2dpZCAic2hvdyBjYWNoZWQgZmlsZXMgaW4gdGhlIG91dHB1dCAoZGVmYXVsdCkiCittc2dzdHIgIumhr+ekuuW/q+WPlueahOaqlOahiO+8iOmgkOiore+8iSIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjUzNAorbXNnaWQgInNob3cgZGVsZXRlZCBmaWxlcyBpbiB0aGUgb3V0cHV0IgorbXNnc3RyICLpoa/npLrlt7LliKrpmaTnmoTmqpTmoYgiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1MzYKK21zZ2lkICJzaG93IG1vZGlmaWVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCittc2dzdHIgIumhr+ekuuW3suS/ruaUueeahOaqlOahiCIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjUzOAorbXNnaWQgInNob3cgb3RoZXIgZmlsZXMgaW4gdGhlIG91dHB1dCIKK21zZ3N0ciAi6aGv56S65YW25a6D5qqU5qGIIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTQwCittc2dpZCAic2hvdyBpZ25vcmVkIGZpbGVzIGluIHRoZSBvdXRwdXQiCittc2dzdHIgIumhr+ekuuW/veeVpeeahOaqlOahiCIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU0MworbXNnaWQgInNob3cgc3RhZ2VkIGNvbnRlbnRzJyBvYmplY3QgbmFtZSBpbiB0aGUgb3V0cHV0IgorbXNnc3RyICLpoa/npLrmmqvlrZjljYDlhaflrrnnmoTnianku7blkI3nqLEiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDUKK21zZ2lkICJzaG93IGZpbGVzIG9uIHRoZSBmaWxlc3lzdGVtIHRoYXQgbmVlZCB0byBiZSByZW1vdmVkIgorbXNnc3RyICLpoa/npLrmqpTmoYjns7vntbHpnIDopoHliKrpmaTnmoTmqpTmoYgiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NDcKK21zZ2lkICJzaG93ICdvdGhlcicgZGlyZWN0b3JpZXMnIG5hbWVzIG9ubHkiCittc2dzdHIgIuWPqumhr+ekuuOAjOWFtuS7luOAjeebrumMhOeahOWQjeeosSIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU0OQorbXNnaWQgInNob3cgbGluZSBlbmRpbmdzIG9mIGZpbGVzIgorbXNnc3RyICLpoa/npLrmqpTmoYjmj5vooYznrKbomZ/moLzlvI8iCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTEKK21zZ2lkICJkb24ndCBzaG93IGVtcHR5IGRpcmVjdG9yaWVzIgorbXNnc3RyICLkuI3poa/npLrnqbrnm67pjIQiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NTQKK21zZ2lkICJzaG93IHVubWVyZ2VkIGZpbGVzIGluIHRoZSBvdXRwdXQiCittc2dzdHIgIumhr+ekuuacquWQiOS9teeahOaqlOahiCIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1NgorbXNnaWQgInNob3cgcmVzb2x2ZS11bmRvIGluZm9ybWF0aW9uIgorbXNnc3RyICLpoa/npLogcmVzb2x2ZS11bmRvIOioiuaBryIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU1OAorbXNnaWQgInNraXAgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIKK21zZ3N0ciAi56ym5ZCI5o6S6Zmk5qqU5qGI55qE5qih5byPIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTYxCittc2dpZCAiZXhjbHVkZSBwYXR0ZXJucyBhcmUgcmVhZCBmcm9tIDxmaWxlPiIKK21zZ3N0ciAi5b6eIDzmqpTmoYg+IOS4reiugOWPluaOkumZpOaooeW8jyIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU2NAorbXNnaWQgInJlYWQgYWRkaXRpb25hbCBwZXItZGlyZWN0b3J5IGV4Y2x1ZGUgcGF0dGVybnMgaW4gPGZpbGU+IgorbXNnc3RyICLlvp4gPOaqlOahiD4g6K6A5Y+W6aGN5aSW55qE5q+P5YCL55uu6YyE55qE5o6S6Zmk5qih5byPIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTY2Cittc2dpZCAiYWRkIHRoZSBzdGFuZGFyZCBnaXQgZXhjbHVzaW9ucyIKK21zZ3N0ciAi5paw5aKe5qiZ5rqW55qEIGdpdCDmjpLpmaQiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzAKK21zZ2lkICJtYWtlIHRoZSBvdXRwdXQgcmVsYXRpdmUgdG8gdGhlIHByb2plY3QgdG9wIGRpcmVjdG9yeSIKK21zZ3N0ciAi6aGv56S655u45bCN5pa86aCC57Sa55uu6YyE55qE5qqU5qGI5ZCNIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTczCittc2dpZCAicmVjdXJzZSB0aHJvdWdoIHN1Ym1vZHVsZXMiCittc2dzdHIgIuWcqOWtkOaooee1hOS4remBnui/tCIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU3NQorbXNnaWQgImlmIGFueSA8ZmlsZT4gaXMgbm90IGluIHRoZSBpbmRleCwgdHJlYXQgdGhpcyBhcyBhbiBlcnJvciIKK21zZ3N0ciAi5aaC5p6c5Lu75L2VIDzmqpTmoYg+IOmDveS4jeWcqOe0ouW8leWNgO+8jOimlueCuumMr+iqpCIKKworIzogYnVpbHRpbi9scy1maWxlcy5jOjU3NgorbXNnaWQgInRyZWUtaXNoIgorbXNnc3RyICLmqLnmiJbmj5DkuqQiCisKKyM6IGJ1aWx0aW4vbHMtZmlsZXMuYzo1NzcKK21zZ2lkICJwcmV0ZW5kIHRoYXQgcGF0aHMgcmVtb3ZlZCBzaW5jZSA8dHJlZS1pc2g+IGFyZSBzdGlsbCBwcmVzZW50IgorbXNnc3RyICLlgYfoo53oh6rlvp4gPOaoueaIluaPkOS6pD4g5LmL5b6M5Yiq6Zmk55qE6Lev5b6R5LuN54S25a2Y5ZyoIgorCisjOiBidWlsdGluL2xzLWZpbGVzLmM6NTc5Cittc2dpZCAic2hvdyBkZWJ1Z2dpbmcgZGF0YSIKK21zZ3N0ciAi6aGv56S66Zmk6Yyv6LOH5paZIgorCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjkKK21zZ2lkICIiCisiZ2l0IGxzLXJlbW90ZSBbLS1oZWFkc10gWy0tdGFnc10gWy0tcmVmc10gWy0tdXBsb2FkLXBhY2s9PGV4ZWM+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgIFstcSB8IC0tcXVpZXRdIFstLWV4aXQtY29kZV0gWy0tZ2V0LXVybF1cbiIKKyIgICAgICAgICAgICAgICAgICAgICBbLS1zeW1yZWZdIFs8cmVwb3NpdG9yeT4gWzxyZWZzPi4uLl1dIgorbXNnc3RyICIiCisiZ2l0IGxzLXJlbW90ZSBbLS1oZWFkc10gWy0tdGFnc10gWy0tcmVmc10gWy0tdXBsb2FkLXBhY2s9PGV4ZWM+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgIFstcSB8IC0tcXVpZXRdIFstLWV4aXQtY29kZV0gWy0tZ2V0LXVybF1cbiIKKyIgICAgICAgICAgICAgICAgICAgICBbLS1zeW1yZWZdIFs854mI5pys5bqrPiBbPOW8leeUqD4uLi5dXSIKKworIzogYnVpbHRpbi9scy1yZW1vdGUuYzo1OQorbXNnaWQgImRvIG5vdCBwcmludCByZW1vdGUgVVJMIgorbXNnc3RyICLkuI3liJfljbDpgaDnq68gVVJMIgorCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjYwIGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjIgYnVpbHRpbi9yZWJhc2UuYzoxNTE4Cittc2dpZCAiZXhlYyIKK21zZ3N0ciAiZXhlYyIKKworIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2MSBidWlsdGluL2xzLXJlbW90ZS5jOjYzCittc2dpZCAicGF0aCBvZiBnaXQtdXBsb2FkLXBhY2sgb24gdGhlIHJlbW90ZSBob3N0IgorbXNnc3RyICLpgaDnq6/kuLvmqZ/kuIrnmoQgZ2l0LXVwbG9hZC1wYWNrIOi3r+W+kSIKKworIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2NQorbXNnaWQgImxpbWl0IHRvIHRhZ3MiCittc2dzdHIgIuWDhemZkOaWvOaomeexpCIKKworIzogYnVpbHRpbi9scy1yZW1vdGUuYzo2NgorbXNnaWQgImxpbWl0IHRvIGhlYWRzIgorbXNnc3RyICLlg4XpmZDmlrzliIbmlK8iCisKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NjcKK21zZ2lkICJkbyBub3Qgc2hvdyBwZWVsZWQgdGFncyIKK21zZ3N0ciAi5LiN6aGv56S65bey6Kej5p6Q55qE5qiZ57GkIgorCisjOiBidWlsdGluL2xzLXJlbW90ZS5jOjY5Cittc2dpZCAidGFrZSB1cmwuPGJhc2U+Lmluc3RlYWRPZiBpbnRvIGFjY291bnQiCittc2dzdHIgIuWPg+iAgyB1cmwuPGJhc2U+Lmluc3RlYWRPZiDoqK3lrpoiCisKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzIKK21zZ2lkICJleGl0IHdpdGggZXhpdCBjb2RlIDIgaWYgbm8gbWF0Y2hpbmcgcmVmcyBhcmUgZm91bmQiCittc2dzdHIgIuiLpeacquaJvuWIsOespuWQiOeahOW8leeUqOWJh+S7pemboumWi+eivDLpm6LplosiCisKKyM6IGJ1aWx0aW4vbHMtcmVtb3RlLmM6NzUKK21zZ2lkICJzaG93IHVuZGVybHlpbmcgcmVmIGluIGFkZGl0aW9uIHRvIHRoZSBvYmplY3QgcG9pbnRlZCBieSBpdCIKK21zZ3N0ciAi6Zmk5LqG6aGv56S65oyH5ZCR55qE54mp5Lu25aSW77yM6aGv56S65oyH5ZCR55qE5byV55So5ZCNIgorCisjOiBidWlsdGluL2xzLXRyZWUuYzozMAorbXNnaWQgImdpdCBscy10cmVlIFs8b3B0aW9ucz5dIDx0cmVlLWlzaD4gWzxwYXRoPi4uLl0iCittc2dzdHIgImdpdCBscy10cmVlIFs86YG46aCFPl0gPOaoueaIluaPkOS6pD4gWzzot6/lvpE+Li4uXSIKKworIzogYnVpbHRpbi9scy10cmVlLmM6MTI4Cittc2dpZCAib25seSBzaG93IHRyZWVzIgorbXNnc3RyICLlj6rpoa/npLrmqLkiCisKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzMAorbXNnaWQgInJlY3Vyc2UgaW50byBzdWJ0cmVlcyIKK21zZ3N0ciAi6YGe6L+05Yiw5a2Q5qi5IgorCisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzIKK21zZ2lkICJzaG93IHRyZWVzIHdoZW4gcmVjdXJzaW5nIgorbXNnc3RyICLnlbbpgZ7ov7TmmYLpoa/npLrmqLkiCisKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzNQorbXNnaWQgInRlcm1pbmF0ZSBlbnRyaWVzIHdpdGggTlVMIGJ5dGUiCittc2dzdHIgIuaineebruS7pSBOVUwg5a2X5YWD57WC5q2iIgorCisjOiBidWlsdGluL2xzLXRyZWUuYzoxMzYKK21zZ2lkICJpbmNsdWRlIG9iamVjdCBzaXplIgorbXNnc3RyICLljIXmi6znianku7blpKflsI8iCisKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjEzOCBidWlsdGluL2xzLXRyZWUuYzoxNDAKK21zZ2lkICJsaXN0IG9ubHkgZmlsZW5hbWVzIgorbXNnc3RyICLlj6rliJflh7rmqpTmoYjlkI0iCisKKyM6IGJ1aWx0aW4vbHMtdHJlZS5jOjE0MworbXNnaWQgInVzZSBmdWxsIHBhdGggbmFtZXMiCittc2dzdHIgIuS9v+eUqOaqlOahiOeahOWFqOi3r+W+kSIKKworIzogYnVpbHRpbi9scy10cmVlLmM6MTQ1Cittc2dpZCAibGlzdCBlbnRpcmUgdHJlZTsgbm90IGp1c3QgY3VycmVudCBkaXJlY3RvcnkgKGltcGxpZXMgLS1mdWxsLW5hbWUpIgorbXNnc3RyICLliJflh7rmlbTlgIvmqLnvvJvkuI3lg4Xlg4Xnm67liY3nm67pjITvvIjpmrHlkKsgLS1mdWxsLW5hbWXvvIkiCisKKyM6IGJ1aWx0aW4vbWFpbHNwbGl0LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgImVtcHR5IG1ib3g6ICclcyciCittc2dzdHIgIuepuueahCBtYm9477yaJyVzJyIKKworIzogYnVpbHRpbi9tZXJnZS5jOjU1Cittc2dpZCAiZ2l0IG1lcmdlIFs8b3B0aW9ucz5dIFs8Y29tbWl0Pi4uLl0iCittc2dzdHIgImdpdCBtZXJnZSBbPOmBuOmghT5dIFs85o+Q5LqkPi4uLl0iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1NgorbXNnaWQgImdpdCBtZXJnZSAtLWFib3J0IgorbXNnc3RyICJnaXQgbWVyZ2UgLS1hYm9ydCIKKworIzogYnVpbHRpbi9tZXJnZS5jOjU3Cittc2dpZCAiZ2l0IG1lcmdlIC0tY29udGludWUiCittc2dzdHIgImdpdCBtZXJnZSAtLWNvbnRpbnVlIgorCisjOiBidWlsdGluL21lcmdlLmM6MTE4Cittc2dpZCAic3dpdGNoIGBtJyByZXF1aXJlcyBhIHZhbHVlIgorbXNnc3RyICLplovpl5wgYG0nIOmcgOimgeS4gOWAi+WAvCIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE0MQorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyByZXF1aXJlcyBhIHZhbHVlIgorbXNnc3RyICLpgbjpoIUgYCVzJyDpnIDopoHkuIDlgIvlgLwiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGZpbmQgbWVyZ2Ugc3RyYXRlZ3kgJyVzJy5cbiIKK21zZ3N0ciAi5LiN6IO95om+5Yiw5ZCI5L21562W55WlICclcyfjgIJcbiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICJBdmFpbGFibGUgc3RyYXRlZ2llcyBhcmU6IgorbXNnc3RyICLlj6/nlKjnmoTnrZbnlaXmnInvvJoiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXZhaWxhYmxlIGN1c3RvbSBzdHJhdGVnaWVzIGFyZToiCittc2dzdHIgIuWPr+eUqOeahOiHquioguetlueVpeacie+8miIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI0NCBidWlsdGluL3B1bGwuYzoxNTIKK21zZ2lkICJkbyBub3Qgc2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgorbXNnc3RyICLlnKjlkIjkvbXnmoTmnIDlvozkuI3poa/npLrlt67nlbDntbHoqIgiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDcgYnVpbHRpbi9wdWxsLmM6MTU1Cittc2dpZCAic2hvdyBhIGRpZmZzdGF0IGF0IHRoZSBlbmQgb2YgdGhlIG1lcmdlIgorbXNnc3RyICLlnKjlkIjkvbXnmoTmnIDlvozpoa/npLrlt67nlbDntbHoqIgiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNDggYnVpbHRpbi9wdWxsLmM6MTU4Cittc2dpZCAiKHN5bm9ueW0gdG8gLS1zdGF0KSIKK21zZ3N0ciAi77yI5ZKMIC0tc3RhdCDlkIznvqnvvIkiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyNTAgYnVpbHRpbi9wdWxsLmM6MTYxCittc2dpZCAiYWRkIChhdCBtb3N0IDxuPikgZW50cmllcyBmcm9tIHNob3J0bG9nIHRvIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgorbXNnc3RyICLlnKjlkIjkvbXmj5DkuqToqIrmga/kuK3mlrDlop7vvIjmnIDlpJogPG4+IOaine+8ieeyvuewoeaPkOS6pOiomOmMhCIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI1MyBidWlsdGluL3B1bGwuYzoxNjcKK21zZ2lkICJjcmVhdGUgYSBzaW5nbGUgY29tbWl0IGluc3RlYWQgb2YgZG9pbmcgYSBtZXJnZSIKK21zZ3N0ciAi5bu656uL5LiA5YCL5Zau542o55qE5o+Q5Lqk6ICM5LiN5piv5YGa5LiA5qyh5ZCI5L21IgorCisjOiBidWlsdGluL21lcmdlLmM6MjU1IGJ1aWx0aW4vcHVsbC5jOjE3MAorbXNnaWQgInBlcmZvcm0gYSBjb21taXQgaWYgdGhlIG1lcmdlIHN1Y2NlZWRzIChkZWZhdWx0KSIKK21zZ3N0ciAi5aaC5p6c5ZCI5L215oiQ5Yqf77yM5Z+36KGM5LiA5qyh5o+Q5Lqk77yI6aCQ6Kit77yJIgorCisjOiBidWlsdGluL21lcmdlLmM6MjU3IGJ1aWx0aW4vcHVsbC5jOjE3MworbXNnaWQgImVkaXQgbWVzc2FnZSBiZWZvcmUgY29tbWl0dGluZyIKK21zZ3N0ciAi5Zyo5o+Q5Lqk5YmN57eo6Lyv5o+Q5Lqk6Kqq5piOIgorCisjOiBidWlsdGluL21lcmdlLmM6MjU5Cittc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIChkZWZhdWx0KSIKK21zZ3N0ciAi5YWB6Kix5b+r6L2J77yI6aCQ6Kit77yJIgorCisjOiBidWlsdGluL21lcmdlLmM6MjYxIGJ1aWx0aW4vcHVsbC5jOjE4MAorbXNnaWQgImFib3J0IGlmIGZhc3QtZm9yd2FyZCBpcyBub3QgcG9zc2libGUiCittc2dzdHIgIuWmguaenOS4jeiDveW/q+i9ieWwseaUvuajhOWQiOS9tSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI2NSBidWlsdGluL3B1bGwuYzoxODMKK21zZ2lkICJ2ZXJpZnkgdGhhdCB0aGUgbmFtZWQgY29tbWl0IGhhcyBhIHZhbGlkIEdQRyBzaWduYXR1cmUiCittc2dzdHIgIumpl+itieaMh+WumueahOaPkOS6pOaYr+WQpuWMheWQq+S4gOWAi+acieaViOeahCBHUEcg57C95ZCNIgorCisjOiBidWlsdGluL21lcmdlLmM6MjY2IGJ1aWx0aW4vbm90ZXMuYzo3ODcgYnVpbHRpbi9wdWxsLmM6MTg3CisjOiBidWlsdGluL3JlYmFzZS5jOjUxMiBidWlsdGluL3JlYmFzZS5jOjE1MzEgYnVpbHRpbi9yZXZlcnQuYzoxMTQKK21zZ2lkICJzdHJhdGVneSIKK21zZ3N0ciAi562W55WlIgorCisjOiBidWlsdGluL21lcmdlLmM6MjY3IGJ1aWx0aW4vcHVsbC5jOjE4OAorbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IHRvIHVzZSIKK21zZ3N0ciAi6KaB5L2/55So55qE5ZCI5L21562W55WlIgorCisjOiBidWlsdGluL21lcmdlLmM6MjY4IGJ1aWx0aW4vcHVsbC5jOjE5MQorbXNnaWQgIm9wdGlvbj12YWx1ZSIKK21zZ3N0ciAib3B0aW9uPXZhbHVlIgorCisjOiBidWlsdGluL21lcmdlLmM6MjY5IGJ1aWx0aW4vcHVsbC5jOjE5MgorbXNnaWQgIm9wdGlvbiBmb3Igc2VsZWN0ZWQgbWVyZ2Ugc3RyYXRlZ3kiCittc2dzdHIgIuaJgOmBuOeahOWQiOS9teetlueVpeeahOmBuOmghSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjI3MQorbXNnaWQgIm1lcmdlIGNvbW1pdCBtZXNzYWdlIChmb3IgYSBub24tZmFzdC1mb3J3YXJkIG1lcmdlKSIKK21zZ3N0ciAi5ZCI5L2155qE5o+Q5Lqk6Kqq5piO77yI6Yed5bCN6Z2e5b+r6L2J5byP5ZCI5L2177yJIgorCisjOiBidWlsdGluL21lcmdlLmM6Mjc4Cittc2dpZCAiYWJvcnQgdGhlIGN1cnJlbnQgaW4tcHJvZ3Jlc3MgbWVyZ2UiCittc2dzdHIgIuaUvuajhOebruWJjeato+WcqOmAsuihjOeahOWQiOS9tSIKKworIworIzogYnVpbHRpbi9tZXJnZS5jOjI4MAorbXNnaWQgIi0tYWJvcnQgYnV0IGxlYXZlIGluZGV4IGFuZCB3b3JraW5nIHRyZWUgYWxvbmUiCittc2dzdHIgIi0tYWJvcnTvvIzkvYbmmK/kv53nlZnntKLlvJXlkozlt6XkvZzljYAiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoyODIKK21zZ2lkICJjb250aW51ZSB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBtZXJnZSIKK21zZ3N0ciAi57m857qM55uu5YmN5q2j5Zyo6YCy6KGM55qE5ZCI5L21IgorCisjOiBidWlsdGluL21lcmdlLmM6Mjg0IGJ1aWx0aW4vcHVsbC5jOjE5OQorbXNnaWQgImFsbG93IG1lcmdpbmcgdW5yZWxhdGVkIGhpc3RvcmllcyIKK21zZ3N0ciAi5YWB6Kix5ZCI5Lim5LiN55u46Zec55qE5q235Y+yIgorCisjOiBidWlsdGluL21lcmdlLmM6MjkwCittc2dpZCAiYnlwYXNzIHByZS1tZXJnZS1jb21taXQgYW5kIGNvbW1pdC1tc2cgaG9va3MiCittc2dzdHIgIue5numBjiBwcmUtbWVyZ2UtY29tbWl0IOWSjCBjb21taXQtbXNnIOaOm+mJpCIKKworIzogYnVpbHRpbi9tZXJnZS5jOjMwNworbXNnaWQgImNvdWxkIG5vdCBydW4gc3Rhc2guIgorbXNnc3RyICLkuI3og73ln7fooYzlhLLol4/jgIIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozMTIKK21zZ2lkICJzdGFzaCBmYWlsZWQiCittc2dzdHIgIuWEsuiXj+WkseaVlyIKKworIzogYnVpbHRpbi9tZXJnZS5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSB2YWxpZCBvYmplY3Q6ICVzIgorbXNnc3RyICLkuI3mmK/kuIDlgIvmnInmlYjnianku7bvvJolcyIKKworIzogYnVpbHRpbi9tZXJnZS5jOjMzOSBidWlsdGluL21lcmdlLmM6MzU2Cittc2dpZCAicmVhZC10cmVlIGZhaWxlZCIKK21zZ3N0ciAi6K6A5Y+W5qi55aSx5pWXIgorCisjICDora/ogIXvvJroq4vntq3mjIHliY3lsI7nqbrmoLwKKyM6IGJ1aWx0aW4vbWVyZ2UuYzozODYKK21zZ2lkICIgKG5vdGhpbmcgdG8gc3F1YXNoKSIKK21zZ3N0ciAiIO+8iOeEoeWPr+Wjk+e4ru+8iSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjM5NworIywgYy1mb3JtYXQKK21zZ2lkICJTcXVhc2ggY29tbWl0IC0tIG5vdCB1cGRhdGluZyBIRUFEXG4iCittc2dzdHIgIuWjk+e4ruaPkOS6pCAtLSDmnKrmm7TmlrAgSEVBRFxuIgorCisjOiBidWlsdGluL21lcmdlLmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIG1lcmdlIG1lc3NhZ2UgLS0gbm90IHVwZGF0aW5nIEhFQURcbiIKK21zZ3N0ciAi54Sh5ZCI5L216KiK5oGvIC0tIOacquabtOaWsCBIRUFEXG4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo0OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBkb2VzIG5vdCBwb2ludCB0byBhIGNvbW1pdCIKK21zZ3N0ciAiJyVzJyDmspLmnInmjIflkJHkuIDlgIvmj5DkuqQiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMgc3RyaW5nOiAlcyIKK21zZ3N0ciAi5aOe55qEIGJyYW5jaC4lcy5tZXJnZW9wdGlvbnMg5a2X5Liy77yaJXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MDUKK21zZ2lkICJOb3QgaGFuZGxpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiB0d28gaGVhZHMgbWVyZ2UuIgorbXNnc3RyICLmnKromZXnkIblhanlgIvpoK3lkIjkvbXkuYvlpJbnmoTku7vkvZXli5XkvZzjgIIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBvcHRpb24gZm9yIG1lcmdlLXJlY3Vyc2l2ZTogLVglcyIKK21zZ3N0ciAibWVyZ2UtcmVjdXJzaXZlIOeahOacquefpemBuOmghe+8mi1YJXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgorbXNnc3RyICLkuI3og73lr6sgJXMiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHJlYWQgZnJvbSAnJXMnIgorbXNnc3RyICLkuI3og73lvp4gJyVzJyDoroDlj5YiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGNvbW1pdHRpbmcgbWVyZ2U7IHVzZSAnZ2l0IGNvbW1pdCcgdG8gY29tcGxldGUgdGhlIG1lcmdlLlxuIgorbXNnc3RyICLmnKrmj5DkuqTlkIjkuKbvvIzkvb/nlKggJ2dpdCBjb21taXQnIOWujOaIkOatpOasoeWQiOS9teOAglxuIgorCisjOiBidWlsdGluL21lcmdlLmM6ODAxCittc2dpZCAiIgorIlBsZWFzZSBlbnRlciBhIGNvbW1pdCBtZXNzYWdlIHRvIGV4cGxhaW4gd2h5IHRoaXMgbWVyZ2UgaXMgbmVjZXNzYXJ5LFxuIgorImVzcGVjaWFsbHkgaWYgaXQgbWVyZ2VzIGFuIHVwZGF0ZWQgdXBzdHJlYW0gaW50byBhIHRvcGljIGJyYW5jaC5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIuiri+i8uOWFpeS4gOWAi+aPkOS6pOioiuaBr+S7peino+mHi+atpOWQiOS9teeahOW/heimgeaAp++8jOWwpOWFtuaYr+Wwh+S4gOWAi+abtOaWsOW+jOeahOS4iua4uOWIhuaUr1xuIgorIuWQiOS9teWIsOS4u+mhjOWIhuaUr+OAglxuIgorIlxuIgorCisjOiBidWlsdGluL21lcmdlLmM6ODA2Cittc2dpZCAiQW4gZW1wdHkgbWVzc2FnZSBhYm9ydHMgdGhlIGNvbW1pdC5cbiIKK21zZ3N0ciAi56m655qE5o+Q5Lqk6Kqq5piO5pyD57WC5q2i5o+Q5Lqk44CCXG4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQsIGFuZCBhbiBlbXB0eSBtZXNzYWdlIGFib3J0c1xuIgorInRoZSBjb21taXQuXG4iCittc2dzdHIgIuS7pSAnJWMnIOmWi+Wni+eahOihjOWwh+iiq+W/veeVpe+8jOiAjOepuueahOaPkOS6pOiqquaYjuWwh+e1guatouaPkOS6pOOAglxuIgorCisjOiBidWlsdGluL21lcmdlLmM6ODYyCittc2dpZCAiRW1wdHkgY29tbWl0IG1lc3NhZ2UuIgorbXNnc3RyICLnqbrmj5DkuqToqIrmga/jgIIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiV29uZGVyZnVsLlxuIgorbXNnc3RyICLlpKrmo5LkuobjgIJcbiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjkzOAorIywgYy1mb3JtYXQKK21zZ2lkICJBdXRvbWF0aWMgbWVyZ2UgZmFpbGVkOyBmaXggY29uZmxpY3RzIGFuZCB0aGVuIGNvbW1pdCB0aGUgcmVzdWx0LlxuIgorbXNnc3RyICLoh6rli5XlkIjkvbXlpLHmlZfvvIzkv67mraPooZ3nqoHnhLblvozmj5DkuqTkv67mraPnmoTntZDmnpzjgIJcbiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjk3NworbXNnaWQgIk5vIGN1cnJlbnQgYnJhbmNoLiIKK21zZ3N0ciAi5rKS5pyJ55uu5YmN5YiG5pSv44CCIgorCisjOiBidWlsdGluL21lcmdlLmM6OTc5Cittc2dpZCAiTm8gcmVtb3RlIGZvciB0aGUgY3VycmVudCBicmFuY2guIgorbXNnc3RyICLnm67liY3liIbmlK/mspLmnInlsI3mh4nnmoTpgaDnq6/niYjmnKzluqvjgIIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzo5ODEKK21zZ2lkICJObyBkZWZhdWx0IHVwc3RyZWFtIGRlZmluZWQgZm9yIHRoZSBjdXJyZW50IGJyYW5jaC4iCittc2dzdHIgIuebruWJjeWIhuaUr+aykuacieWumue+qemgkOioreeahOS4iua4uOWIhuaUr+OAgiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJObyByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIGZvciAlcyBmcm9tICVzIgorbXNnc3RyICLlsI3mlrwgJXMg5rKS5pyJ5L6G6IeqICVzIOeahOmBoOerr+i/vei5pOWIhuaUryIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEwNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHZhbHVlICclcycgaW4gZW52aXJvbm1lbnQgJyVzJyIKK21zZ3N0ciAi55Kw5aKDICclMiRzJyDkuK3lrZjlnKjlo57nmoTlj5blgLwgJyUxJHMnIgorCisjOiBidWlsdGluL21lcmdlLmM6MTE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSBpbiAlczogJXMiCittc2dzdHIgIuS4jeiDveWcqCAlcyDkuK3lkIjkvbXvvJolcyIKKworIzogYnVpbHRpbi9tZXJnZS5jOjExODAKK21zZ2lkICJub3Qgc29tZXRoaW5nIHdlIGNhbiBtZXJnZSIKK21zZ3N0ciAi5LiN6IO95ZCI5L21IgorCisjOiBidWlsdGluL21lcmdlLmM6MTI4MworbXNnaWQgIi0tYWJvcnQgZXhwZWN0cyBubyBhcmd1bWVudHMiCittc2dzdHIgIi0tYWJvcnQg5LiN5bi25Y+D5pW4IgorCisjOiBidWlsdGluL21lcmdlLmM6MTI4NworbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIHRvIGFib3J0IChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKK21zZ3N0ciAi5rKS5pyJ6KaB57WC5q2i55qE5ZCI5L2177yITUVSR0VfSEVBRCDpgbrlpLHvvInjgIIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMjk2Cittc2dpZCAiLS1xdWl0IGV4cGVjdHMgbm8gYXJndW1lbnRzIgorbXNnc3RyICItLXF1aXQg5LiN5bi25Y+D5pW4IgorCisjOiBidWlsdGluL21lcmdlLmM6MTMwOQorbXNnaWQgIi0tY29udGludWUgZXhwZWN0cyBubyBhcmd1bWVudHMiCittc2dzdHIgIi0tY29udGludWUg5LiN5bi25Y+D5pW4IgorCisjOiBidWlsdGluL21lcmdlLmM6MTMxMworbXNnaWQgIlRoZXJlIGlzIG5vIG1lcmdlIGluIHByb2dyZXNzIChNRVJHRV9IRUFEIG1pc3NpbmcpLiIKK21zZ3N0ciAi5rKS5pyJ6YCy6KGM5Lit55qE5ZCI5L2177yITUVSR0VfSEVBRCDpgbrlpLHvvInjgIIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzI5Cittc2dpZCAiIgorIllvdSBoYXZlIG5vdCBjb25jbHVkZWQgeW91ciBtZXJnZSAoTUVSR0VfSEVBRCBleGlzdHMpLlxuIgorIlBsZWFzZSwgY29tbWl0IHlvdXIgY2hhbmdlcyBiZWZvcmUgeW91IG1lcmdlLiIKK21zZ3N0ciAiIgorIuaCqOWwmuacque1kOadn+aCqOeahOWQiOS9te+8iOWtmOWcqCBNRVJHRV9IRUFE77yJ44CCXG4iCisi6KuL5Zyo5ZCI5L215YmN5YWI5o+Q5Lqk5oKo55qE5L+u5pS544CCIgorCisjOiBidWlsdGluL21lcmdlLmM6MTMzNgorbXNnaWQgIiIKKyJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS5cbiIKKyJQbGVhc2UsIGNvbW1pdCB5b3VyIGNoYW5nZXMgYmVmb3JlIHlvdSBtZXJnZS4iCittc2dzdHIgIiIKKyLmgqjlsJrmnKrntZDmnZ/mgqjnmoTmj4DpgbjvvIjlrZjlnKggQ0hFUlJZX1BJQ0tfSEVBRO+8ieOAglxuIgorIuiri+WcqOWQiOS9teWJjeWFiOaPkOS6pOaCqOeahOS/ruaUueOAgiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEzMzkKK21zZ2lkICJZb3UgaGF2ZSBub3QgY29uY2x1ZGVkIHlvdXIgY2hlcnJ5LXBpY2sgKENIRVJSWV9QSUNLX0hFQUQgZXhpc3RzKS4iCittc2dzdHIgIuaCqOWwmuacque1kOadn+aCqOeahOaPgOmBuO+8iOWtmOWcqCBDSEVSUllfUElDS19IRUFE77yJ44CCIgorCisjOiBidWlsdGluL21lcmdlLmM6MTM1MworbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tbm8tZmYuIgorbXNnc3RyICLmgqjkuI3og73lsIcgLS1zcXVhc2gg5ZKMIC0tbm8tZmYg57WE5ZCI5L2/55So44CCIgorCisjOiBidWlsdGluL21lcmdlLmM6MTM1NQorbXNnaWQgIllvdSBjYW5ub3QgY29tYmluZSAtLXNxdWFzaCB3aXRoIC0tY29tbWl0LiIKK21zZ3N0ciAi5oKo5LiN6IO95bCHIC0tc3F1YXNoIOWSjCAtLWNvbW1pdCDntYTlkIjkvb/nlKjjgIIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzcxCittc2dpZCAiTm8gY29tbWl0IHNwZWNpZmllZCBhbmQgbWVyZ2UuZGVmYXVsdFRvVXBzdHJlYW0gbm90IHNldC4iCittc2dzdHIgIuacquaMh+WumuaPkOS6pOS4puS4lCBtZXJnZS5kZWZhdWx0VG9VcHN0cmVhbSDmnKroqK3lrprjgIIiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxMzg4Cittc2dpZCAiU3F1YXNoIGNvbW1pdCBpbnRvIGVtcHR5IGhlYWQgbm90IHN1cHBvcnRlZCB5ZXQiCittc2dzdHIgIuWwmuS4jeaUr+aPtOWIsOepuuWIhuaUr+eahOWjk+e4ruaPkOS6pCIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEzOTAKK21zZ2lkICJOb24tZmFzdC1mb3J3YXJkIGNvbW1pdCBkb2VzIG5vdCBtYWtlIHNlbnNlIGludG8gYW4gZW1wdHkgaGVhZCIKK21zZ3N0ciAi5Yiw56m65YiG5pSv55qE6Z2e5b+r6L2J5byP5o+Q5Lqk5rKS5pyJ5oSP576pIgorCisjOiBidWlsdGluL21lcmdlLmM6MTM5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAtIG5vdCBzb21ldGhpbmcgd2UgY2FuIG1lcmdlIgorbXNnc3RyICIlcyAtIOS4jeiDveiiq+WQiOS9tSIKKworIzogYnVpbHRpbi9tZXJnZS5jOjEzOTcKK21zZ2lkICJDYW4gbWVyZ2Ugb25seSBleGFjdGx5IG9uZSBjb21taXQgaW50byBlbXB0eSBoZWFkIgorbXNnc3RyICLlj6rog73lsIfkuIDlgIvmj5DkuqTlkIjkuKbliLDnqbrliIbmlK/kuIoiCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNDc2Cittc2dpZCAicmVmdXNpbmcgdG8gbWVyZ2UgdW5yZWxhdGVkIGhpc3RvcmllcyIKK21zZ3N0ciAi5ouS57WV5ZCI5L2154Sh6Zec55qE5q235Y+yIgorCisjOiBidWlsdGluL21lcmdlLmM6MTQ4NQorbXNnaWQgIkFscmVhZHkgdXAgdG8gZGF0ZS4iCittc2dzdHIgIuW3sue2k+aYr+acgOaWsOeahOOAgiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE0OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXBkYXRpbmcgJXMuLiVzXG4iCittc2dzdHIgIuabtOaWsCAlcy4uJXNcbiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHJlYWxseSB0cml2aWFsIGluLWluZGV4IG1lcmdlLi4uXG4iCittc2dzdHIgIuWYl+ippumdnuW4uOWwj+eahOe0ouW8leWFp+WQiOS9tS4uLlxuIgorCisjOiBidWlsdGluL21lcmdlLmM6MTU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3BlLlxuIgorbXNnc3RyICLnhKHjgIJcbiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE1NjkKK21zZ2lkICJBbHJlYWR5IHVwIHRvIGRhdGUuIFllZWFoISIKK21zZ3N0ciAi5bey57aT5piv5pyA5paw55qE44CC6IC277yBIgorCisjOiBidWlsdGluL21lcmdlLmM6MTU3NQorbXNnaWQgIk5vdCBwb3NzaWJsZSB0byBmYXN0LWZvcndhcmQsIGFib3J0aW5nLiIKK21zZ3N0ciAi54Sh5rOV5b+r6L2J77yM57WC5q2i44CCIgorCisjOiBidWlsdGluL21lcmdlLmM6MTU5OCBidWlsdGluL21lcmdlLmM6MTY2MworIywgYy1mb3JtYXQKK21zZ2lkICJSZXdpbmRpbmcgdGhlIHRyZWUgdG8gcHJpc3RpbmUuLi5cbiIKK21zZ3N0ciAi5bCH5qi55Zue5ru+6Iez5Y6f5aeL54uA5oWLLi4uXG4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UuYzoxNjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyBtZXJnZSBzdHJhdGVneSAlcy4uLlxuIgorbXNnc3RyICLlmJfoqablkIjkvbXnrZbnlaUgJXMuLi5cbiIKKworIzogYnVpbHRpbi9tZXJnZS5jOjE2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gbWVyZ2Ugc3RyYXRlZ3kgaGFuZGxlZCB0aGUgbWVyZ2UuXG4iCittc2dzdHIgIuaykuacieWQiOS9teetlueVpeiZleeQhuatpOWQiOS9teOAglxuIgorCisjOiBidWlsdGluL21lcmdlLmM6MTY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJNZXJnZSB3aXRoIHN0cmF0ZWd5ICVzIGZhaWxlZC5cbiIKK21zZ3N0ciAi5L2/55So562W55WlICVzIOWQiOS9teWkseaVl+OAglxuIgorCisjOiBidWlsdGluL21lcmdlLmM6MTY2NQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB0aGUgJXMgdG8gcHJlcGFyZSByZXNvbHZpbmcgYnkgaGFuZC5cbiIKK21zZ3N0ciAi5L2/55SoICVzIOS7pea6luWCmeaJi+WLleino+axuuOAglxuIgorCisjOiBidWlsdGluL21lcmdlLmM6MTY3NworIywgYy1mb3JtYXQKK21zZ2lkICJBdXRvbWF0aWMgbWVyZ2Ugd2VudCB3ZWxsOyBzdG9wcGVkIGJlZm9yZSBjb21taXR0aW5nIGFzIHJlcXVlc3RlZFxuIgorbXNnc3RyICLoh6rli5XlkIjkvbXpgLLlsZXpoIbliKnvvIzmjInopoHmsYLlnKjmj5DkuqTliY3lgZzmraJcbiIKKworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzIKK21zZ2lkICJnaXQgbWVyZ2UtYmFzZSBbLWEgfCAtLWFsbF0gPGNvbW1pdD4gPGNvbW1pdD4uLi4iCittc2dzdHIgImdpdCBtZXJnZS1iYXNlIFstYSB8IC0tYWxsXSA85o+Q5LqkPiA85o+Q5LqkPi4uLiIKKworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzMKK21zZ2lkICJnaXQgbWVyZ2UtYmFzZSBbLWEgfCAtLWFsbF0gLS1vY3RvcHVzIDxjb21taXQ+Li4uIgorbXNnc3RyICJnaXQgbWVyZ2UtYmFzZSBbLWEgfCAtLWFsbF0gLS1vY3RvcHVzIDzmj5DkuqQ+Li4uIgorCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzozNAorbXNnaWQgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPGNvbW1pdD4uLi4iCittc2dzdHIgImdpdCBtZXJnZS1iYXNlIC0taW5kZXBlbmRlbnQgPOaPkOS6pD4uLi4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjM1Cittc2dpZCAiZ2l0IG1lcmdlLWJhc2UgLS1pcy1hbmNlc3RvciA8Y29tbWl0PiA8Y29tbWl0PiIKK21zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgLS1pcy1hbmNlc3RvciA85o+Q5LqkPiA85o+Q5LqkPiIKKworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MzYKK21zZ2lkICJnaXQgbWVyZ2UtYmFzZSAtLWZvcmstcG9pbnQgPHJlZj4gWzxjb21taXQ+XSIKK21zZ3N0ciAiZ2l0IG1lcmdlLWJhc2UgLS1mb3JrLXBvaW50IDzlvJXnlKg+IFs85o+Q5LqkPl0iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjE1MworbXNnaWQgIm91dHB1dCBhbGwgY29tbW9uIGFuY2VzdG9ycyIKK21zZ3N0ciAi6Ly45Ye65omA5pyJ5YWx5ZCM55qE56WW5YWIIgorCisjOiBidWlsdGluL21lcmdlLWJhc2UuYzoxNTUKK21zZ2lkICJmaW5kIGFuY2VzdG9ycyBmb3IgYSBzaW5nbGUgbi13YXkgbWVyZ2UiCittc2dzdHIgIuWwi+aJvuS4gOWAi+Wkmui3r+WQiOS9teeahOelluWFiOaPkOS6pCIKKworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MTU3Cittc2dpZCAibGlzdCByZXZzIG5vdCByZWFjaGFibGUgZnJvbSBvdGhlcnMiCittc2dzdHIgIumhr+ekuuS4jeiDveiiq+WFtuS7luWtmOWPluWIsOeahOeJiOacrCIKKworIzogYnVpbHRpbi9tZXJnZS1iYXNlLmM6MTU5Cittc2dpZCAiaXMgdGhlIGZpcnN0IG9uZSBhbmNlc3RvciBvZiB0aGUgb3RoZXI/IgorbXNnc3RyICLnrKzkuIDlgIvmmK/lhbbku5bnmoTnpZblhYjmj5DkuqTll47vvJ8iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtYmFzZS5jOjE2MQorbXNnaWQgImZpbmQgd2hlcmUgPGNvbW1pdD4gZm9ya2VkIGZyb20gcmVmbG9nIG9mIDxyZWY+IgorbXNnc3RyICLmoLnmk5ogPOW8leeUqD4g55qE5byV55So5pel6KqM5bCL5om+IDzmj5DkuqQ+IOeahOihjeeUn+iZlSIKKworIzogYnVpbHRpbi9tZXJnZS1maWxlLmM6OQorbXNnaWQgIiIKKyJnaXQgbWVyZ2UtZmlsZSBbPG9wdGlvbnM+XSBbLUwgPG5hbWUxPiBbLUwgPG9yaWc+IFstTCA8bmFtZTI+XV1dIDxmaWxlMT4gIgorIjxvcmlnLWZpbGU+IDxmaWxlMj4iCittc2dzdHIgIiIKKyJnaXQgbWVyZ2UtZmlsZSBbPOmBuOmghT5dIFstTCA85qqU5qGIMT4gWy1MIDzliJ3lp4s+IFstTCA85ZCN5a2XMj5dXV0gPOaqlOahiDE+IDzliJ3lp4vmlociCisi5Lu2PiA85qqU5qGIMj4iCisKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjM1Cittc2dpZCAic2VuZCByZXN1bHRzIHRvIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAi5bCH57WQ5p6c5YKz6YCB5Yiw5qiZ5rqW6Ly45Ye6IgorCisjOiBidWlsdGluL21lcmdlLWZpbGUuYzozNgorbXNnaWQgInVzZSBhIGRpZmYzIGJhc2VkIG1lcmdlIgorbXNnc3RyICLkvb/nlKjln7rmlrwgZGlmZjMg55qE5ZCI5L21IgorCisjOiBidWlsdGluL21lcmdlLWZpbGUuYzozNworbXNnaWQgImZvciBjb25mbGljdHMsIHVzZSBvdXIgdmVyc2lvbiIKK21zZ3N0ciAi5aaC5p6c6KGd56qB77yM5L2/55So5oiR5YCR55qE54mI5pysIgorCisjOiBidWlsdGluL21lcmdlLWZpbGUuYzozOQorbXNnaWQgImZvciBjb25mbGljdHMsIHVzZSB0aGVpciB2ZXJzaW9uIgorbXNnc3RyICLlpoLmnpzooZ3nqoHvvIzkvb/nlKjku5blgJHnmoTniYjmnKwiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQxCittc2dpZCAiZm9yIGNvbmZsaWN0cywgdXNlIGEgdW5pb24gdmVyc2lvbiIKK21zZ3N0ciAi5aaC5p6c6KGd56qB77yM5L2/55So6IGv5ZCI54mI5pysIgorCisjOiBidWlsdGluL21lcmdlLWZpbGUuYzo0NAorbXNnaWQgImZvciBjb25mbGljdHMsIHVzZSB0aGlzIG1hcmtlciBzaXplIgorbXNnc3RyICLlpoLmnpzooZ3nqoHvvIzkvb/nlKjmjIflrprplbfluqbnmoTmqJnoqJgiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ1Cittc2dpZCAiZG8gbm90IHdhcm4gYWJvdXQgY29uZmxpY3RzIgorbXNnc3RyICLkuI3opoHorablkYrooZ3nqoEiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtZmlsZS5jOjQ3Cittc2dpZCAic2V0IGxhYmVscyBmb3IgZmlsZTEvb3JpZy1maWxlL2ZpbGUyIgorbXNnc3RyICLngrog5qqU5qGIMS/liJ3lp4vmqpTmoYgv5qqU5qGIMiDoqK3lrprmqJnnsaQiCisKKyM6IGJ1aWx0aW4vbWVyZ2UtcmVjdXJzaXZlLmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gJXMiCittc2dzdHIgIuacquefpemBuOmghSAlcyIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcGFyc2Ugb2JqZWN0ICclcyciCittc2dzdHIgIuS4jeiDveino+aekOeJqeS7tiAnJXMnIgorCisjOiBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIGJhc2UuIElnbm9yaW5nICVzLiIKK21zZ2lkX3BsdXJhbCAiY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgYmFzZXMuIElnbm9yaW5nICVzLiIKK21zZ3N0clswXSAi54Sh5rOV6JmV55CGICVkIOaineS7peS4iueahOWfuuekjuOAguW/veeVpSAlc+OAgiIKK21zZ3N0clsxXSAi54Sh5rOV6JmV55CGICVkIOaineS7peS4iueahOWfuuekjuOAguW/veeVpSAlc+OAgiIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo2NQorbXNnaWQgIm5vdCBoYW5kbGluZyBhbnl0aGluZyBvdGhlciB0aGFuIHR3byBoZWFkcyBtZXJnZS4iCittc2dzdHIgIuS4jeiDveiZleeQhuWFqeWAi+mgreWQiOS9teS5i+WklueahOS7u+S9leWLleS9nOOAgiIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo3NCBidWlsdGluL21lcmdlLXJlY3Vyc2l2ZS5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZXNvbHZlIHJlZiAnJXMnIgorbXNnc3RyICLnhKHms5Xop6PmnpDlvJXnlKggJyVzJyIKKworIzogYnVpbHRpbi9tZXJnZS1yZWN1cnNpdmUuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICJNZXJnaW5nICVzIHdpdGggJXNcbiIKK21zZ3N0ciAi5ZCI5L21ICVzIOWSjCAlc1xuIgorCisjOiBidWlsdGluL21rdHJlZS5jOjY2Cittc2dpZCAiZ2l0IG1rdHJlZSBbLXpdIFstLW1pc3NpbmddIFstLWJhdGNoXSIKK21zZ3N0ciAiZ2l0IG1rdHJlZSBbLXpdIFstLW1pc3NpbmddIFstLWJhdGNoXSIKKworIzogYnVpbHRpbi9ta3RyZWUuYzoxNTQKK21zZ2lkICJpbnB1dCBpcyBOVUwgdGVybWluYXRlZCIKK21zZ3N0ciAi6Ly45YWl5LulIE5VTCDlrZflhYPntYLmraIiCisKKyM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU1IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI2Cittc2dpZCAiYWxsb3cgbWlzc2luZyBvYmplY3RzIgorbXNnc3RyICLlhYHoqLHpgbrlpLHnmoTnianku7YiCisKKyM6IGJ1aWx0aW4vbWt0cmVlLmM6MTU2Cittc2dpZCAiYWxsb3cgY3JlYXRpb24gb2YgbW9yZSB0aGFuIG9uZSB0cmVlIgorbXNnc3RyICLlhYHoqLHlu7rnq4vkuIDlgIvku6XkuIrnmoTmqLkiCisKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjkKKyN8IG1zZ2lkICIiCisjfCAiZ2l0IG11bHRpLXBhY2staW5kZXggWy0tb2JqZWN0LWRpcj08ZGlyPl0gKHdyaXRlfHZlcmlmeXxleHBpcmV8cmVwYWNrIC0tIgorI3wgImJhdGNoLXNpemU9PHNpemU+KSIKK21zZ2lkICIiCisiZ2l0IG11bHRpLXBhY2staW5kZXggWzxvcHRpb25zPl0gKHdyaXRlfHZlcmlmeXxleHBpcmV8cmVwYWNrIC0tYmF0Y2gtIgorInNpemU9PHNpemU+KSIKK21zZ3N0ciAiIgorImdpdCBtdWx0aS1wYWNrLWluZGV4IFs86YG46aCFPl0gKHdyaXRlfHZlcmlmeXxleHBpcmV8cmVwYWNrIC0tYmF0Y2gtIgorInNpemU9POWkp+Wwjz4pIgorCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzoyNgorbXNnaWQgIm9iamVjdCBkaXJlY3RvcnkgY29udGFpbmluZyBzZXQgb2YgcGFja2ZpbGUgYW5kIHBhY2staW5kZXggcGFpcnMiCittc2dzdHIgIuWMheWQq+aIkOWwjSBwYWNrZmlsZSDlkozljIXntKLlvJXnmoTnianku7bnm67pjIQiCisKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjI5Cittc2dpZCAiIgorImR1cmluZyByZXBhY2ssIGNvbGxlY3QgcGFjay1maWxlcyBvZiBzbWFsbGVyIHNpemUgaW50byBhIGJhdGNoIHRoYXQgaXMgIgorImxhcmdlciB0aGFuIHRoaXMgc2l6ZSIKK21zZ3N0ciAi5ZyoIHJlcGFjayDmnJ/plpPvvIzlsIfovIPlsI/lsLrlr7jnmoTljIXmqpTmoYjmlLbpm4bliLDlpKfmlrzmraTlpKflsI/nmoTmibnmrKHkuK0iCisKKyM6IGJ1aWx0aW4vbXVsdGktcGFjay1pbmRleC5jOjUwIGJ1aWx0aW4vcHJ1bmUtcGFja2VkLmM6NjcKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgIuWkquWkmuWPg+aVuCIKKworIzogYnVpbHRpbi9tdWx0aS1wYWNrLWluZGV4LmM6NjAKK21zZ2lkICItLWJhdGNoLXNpemUgb3B0aW9uIGlzIG9ubHkgZm9yICdyZXBhY2snIHN1YmNvbW1hbmQiCittc2dzdHIgIi0tYmF0Y2gtc2l6ZSDpgbjpoIXlg4XnlKjmlrwgJ3JlcGFjaycg5a2Q5oyH5LukIgorCisjOiBidWlsdGluL211bHRpLXBhY2staW5kZXguYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc3ViY29tbWFuZDogJXMiCittc2dzdHIgIuacquitmOWIpeeahOWtkOaMh+S7pO+8miVzIgorCisjOiBidWlsdGluL212LmM6MTgKK21zZ2lkICJnaXQgbXYgWzxvcHRpb25zPl0gPHNvdXJjZT4uLi4gPGRlc3RpbmF0aW9uPiIKK21zZ3N0ciAiZ2l0IG12IFs86YG46aCFPl0gPOa6kD4uLi4gPOebruaomT4iCisKKyM6IGJ1aWx0aW4vbXYuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgJXMgaXMgaW4gaW5kZXggYW5kIG5vIHN1Ym1vZHVsZT8iCittc2dzdHIgIuebrumMhCAlcyDlnKjntKLlvJXkuK3kuKbkuJTkuI3mmK/lrZDmqKHntYTvvJ8iCisKKyM6IGJ1aWx0aW4vbXYuYzo4NQorbXNnaWQgIlBsZWFzZSBzdGFnZSB5b3VyIGNoYW5nZXMgdG8gLmdpdG1vZHVsZXMgb3Igc3Rhc2ggdGhlbSB0byBwcm9jZWVkIgorbXNnc3RyICLoq4vlsIfmgqjnmoTkv67mlLnmmqvlrZjliLAgLmdpdG1vZHVsZXMg5Lit5oiW5YSy6JeP5b6M5YaN57m857qMIgorCisjOiBidWlsdGluL212LmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiUuKnMgaXMgaW4gaW5kZXgiCittc2dzdHIgIiUuKnMg5Zyo57Si5byV5LitIgorCisjOiBidWlsdGluL212LmM6MTI1Cittc2dpZCAiZm9yY2UgbW92ZS9yZW5hbWUgZXZlbiBpZiB0YXJnZXQgZXhpc3RzIgorbXNnc3RyICLlvLfliLbnp7vli5Uv6YeN5oyH5Luk77yM5Y2z5L2/55uu5qiZ5a2Y5ZyoIgorCisjOiBidWlsdGluL212LmM6MTI3Cittc2dpZCAic2tpcCBtb3ZlL3JlbmFtZSBlcnJvcnMiCittc2dzdHIgIui3s+mBjuenu+WLlS/ph43mlrDlkb3lkI3pjK/oqqQiCisKKyM6IGJ1aWx0aW4vbXYuYzoxNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVzdGluYXRpb24gJyVzJyBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIuebruaomSAnJXMnIOS4jeaYr+S4gOWAi+ebrumMhCIKKworIzogYnVpbHRpbi9tdi5jOjE4MAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGVja2luZyByZW5hbWUgb2YgJyVzJyB0byAnJXMnXG4iCittc2dzdHIgIuaqouafpSAnJXMnIOWIsCAnJXMnIOeahOmHjeaWsOWRveWQjVxuIgorCisjOiBidWlsdGluL212LmM6MTg0Cittc2dpZCAiYmFkIHNvdXJjZSIKK21zZ3N0ciAi5aOe55qE5rqQIgorCisjOiBidWlsdGluL212LmM6MTg3Cittc2dpZCAiY2FuIG5vdCBtb3ZlIGRpcmVjdG9yeSBpbnRvIGl0c2VsZiIKK21zZ3N0ciAi5LiN6IO95bCH55uu6YyE56e75YuV5Yiw6Ieq6LqrIgorCisjOiBidWlsdGluL212LmM6MTkwCittc2dpZCAiY2Fubm90IG1vdmUgZGlyZWN0b3J5IG92ZXIgZmlsZSIKK21zZ3N0ciAi5LiN6IO95bCH55uu6YyE56e75YuV5Yiw5qqU5qGIIgorCisjOiBidWlsdGluL212LmM6MTk5Cittc2dpZCAic291cmNlIGRpcmVjdG9yeSBpcyBlbXB0eSIKK21zZ3N0ciAi5rqQ55uu6YyE54K656m6IgorCisjOiBidWlsdGluL212LmM6MjI0Cittc2dpZCAibm90IHVuZGVyIHZlcnNpb24gY29udHJvbCIKK21zZ3N0ciAi5LiN5Zyo54mI5pys5o6n5Yi25LmL5LiLIgorCisjOiBidWlsdGluL212LmM6MjI3Cittc2dpZCAiZGVzdGluYXRpb24gZXhpc3RzIgorbXNnc3RyICLnm67mqJnlt7LlrZjlnKgiCisKKyM6IGJ1aWx0aW4vbXYuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAib3ZlcndyaXRpbmcgJyVzJyIKK21zZ3N0ciAi6KaG6JOLICclcyciCisKKyM6IGJ1aWx0aW4vbXYuYzoyMzgKK21zZ2lkICJDYW5ub3Qgb3ZlcndyaXRlIgorbXNnc3RyICLkuI3og73opobok4siCisKKyM6IGJ1aWx0aW4vbXYuYzoyNDEKK21zZ2lkICJtdWx0aXBsZSBzb3VyY2VzIGZvciB0aGUgc2FtZSB0YXJnZXQiCittc2dzdHIgIuWQjOS4gOebruaomeWFt+acieWkmuWAi+a6kCIKKworIzogYnVpbHRpbi9tdi5jOjI0MworbXNnaWQgImRlc3RpbmF0aW9uIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi55uu5qiZ55uu6YyE5LiN5a2Y5ZyoIgorCisjOiBidWlsdGluL212LmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLCBzb3VyY2U9JXMsIGRlc3RpbmF0aW9uPSVzIgorbXNnc3RyICIlc++8jOa6kD0lc++8jOebruaomT0lcyIKKworIzogYnVpbHRpbi9tdi5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJSZW5hbWluZyAlcyB0byAlc1xuIgorbXNnc3RyICLph43mlrDlkb3lkI0gJXMg6IezICVzXG4iCisKKyM6IGJ1aWx0aW4vbXYuYzoyNzcgYnVpbHRpbi9yZW1vdGUuYzo3MTYgYnVpbHRpbi9yZXBhY2suYzo1MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVuYW1pbmcgJyVzJyBmYWlsZWQiCittc2dzdHIgIumHjeaWsOWRveWQjSAnJXMnIOWkseaVlyIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQwMworbXNnaWQgImdpdCBuYW1lLXJldiBbPG9wdGlvbnM+XSA8Y29tbWl0Pi4uLiIKK21zZ3N0ciAiZ2l0IG5hbWUtcmV2IFs86YG46aCFPl0gPOaPkOS6pD4uLi4iCisKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0MDQKK21zZ2lkICJnaXQgbmFtZS1yZXYgWzxvcHRpb25zPl0gLS1hbGwiCittc2dzdHIgImdpdCBuYW1lLXJldiBbPOmBuOmghT5dIC0tYWxsIgorCisjOiBidWlsdGluL25hbWUtcmV2LmM6NDA1Cittc2dpZCAiZ2l0IG5hbWUtcmV2IFs8b3B0aW9ucz5dIC0tc3RkaW4iCittc2dzdHIgImdpdCBuYW1lLXJldiBbPOmBuOmghT5dIC0tc3RkaW4iCisKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjIKK21zZ2lkICJwcmludCBvbmx5IG5hbWVzIChubyBTSEEtMSkiCittc2dzdHIgIuWPquWIl+WNsOWQjeeose+8iOeEoSBTSEEtMe+8iSIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ2MworbXNnaWQgIm9ubHkgdXNlIHRhZ3MgdG8gbmFtZSB0aGUgY29tbWl0cyIKK21zZ3N0ciAi5Y+q5L2/55So5qiZ57Gk5L6G5ZG95ZCN5o+Q5LqkIgorCisjOiBidWlsdGluL25hbWUtcmV2LmM6NDY1Cittc2dpZCAib25seSB1c2UgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgIuWPquS9v+eUqOWSjCA85qih5byPPiDnm7jnrKblkIjnmoTlvJXnlKgiCisKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjcKK21zZ2lkICJpZ25vcmUgcmVmcyBtYXRjaGluZyA8cGF0dGVybj4iCittc2dzdHIgIuW/veeVpeWSjCA85qih5byPPiDnm7jnrKblkIjnmoTlvJXnlKgiCisKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NjkKK21zZ2lkICJsaXN0IGFsbCBjb21taXRzIHJlYWNoYWJsZSBmcm9tIGFsbCByZWZzIgorbXNnc3RyICLliJflh7rlj6/ku6Xlvp7miYDmnInlvJXnlKjlrZjlj5bnmoTmj5DkuqQiCisKKyM6IGJ1aWx0aW4vbmFtZS1yZXYuYzo0NzAKK21zZ2lkICJyZWFkIGZyb20gc3RkaW4iCittc2dzdHIgIuW+nuaomea6lui8uOWFpeiugOWPliIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ3MQorbXNnaWQgImFsbG93IHRvIHByaW50IGB1bmRlZmluZWRgIG5hbWVzIChkZWZhdWx0KSIKK21zZ3N0ciAi5YWB6Kix5YiX5Y2wIGDmnKrlrprnvqlgIOeahOWQjeeose+8iOmgkOiore+8iSIKKworIzogYnVpbHRpbi9uYW1lLXJldi5jOjQ3NworbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW4gdGhlIGlucHV0IChpbnRlcm5hbCB1c2UpIgorbXNnc3RyICLlj43lkJHop6PmnpDovLjlhaXkuK3nmoTmqJnnsaTvvIjlhafpg6jkvb/nlKjvvIkiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyOAorbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIFtsaXN0IFs8b2JqZWN0Pl1dIgorbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDzoqLvop6PlvJXnlKg+XSBbbGlzdCBbPOeJqeS7tj5dXSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjI5Cittc2dpZCAiIgorImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGFkZCBbLWZdIFstLWFsbG93LWVtcHR5XSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT4gIgorInwgKC1jIHwgLUMpIDxvYmplY3Q+XSBbPG9iamVjdD5dIgorbXNnc3RyICIiCisiZ2l0IG5vdGVzIFstLXJlZiA86Ki76Kej5byV55SoPl0gYWRkIFstZl0gWy0tYWxsb3ctZW1wdHldIFstbSA86Kqq5piOPiB8IC1GIDzmqpTmoYg+ICIKKyJ8ICgtYyB8IC1DKSA854mp5Lu2Pl0gWzznianku7Y+XSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjMwCittc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gY29weSBbLWZdIDxmcm9tLW9iamVjdD4gPHRvLW9iamVjdD4iCittc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPOiou+ino+W8leeUqD5dIGNvcHkgWy1mXSA85rqQ54mp5Lu2PiA855uu5qiZ54mp5Lu2PiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjMxCittc2dpZCAiIgorImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGFwcGVuZCBbLS1hbGxvdy1lbXB0eV0gWy1tIDxtc2c+IHwgLUYgPGZpbGU+IHwgIgorIigtYyB8IC1DKSA8b2JqZWN0Pl0gWzxvYmplY3Q+XSIKK21zZ3N0ciAiIgorImdpdCBub3RlcyBbLS1yZWYgPOiou+ino+W8leeUqD5dIGFwcGVuZCBbLS1hbGxvdy1lbXB0eV0gWy1tIDzoqqrmmI4+IHwgLUYgPOaqlOahiD4gfCAiCisiKC1jIHwgLUMpIDznianku7Y+XSBbPOeJqeS7tj5dIgorCisjOiBidWlsdGluL25vdGVzLmM6MzIKK21zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBlZGl0IFstLWFsbG93LWVtcHR5XSBbPG9iamVjdD5dIgorbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDzoqLvop6PlvJXnlKg+XSBlZGl0IFstLWFsbG93LWVtcHR5XSBbPOeJqeS7tj5dIgorCisjOiBidWlsdGluL25vdGVzLmM6MzMKK21zZ2lkICJnaXQgbm90ZXMgWy0tcmVmIDxub3Rlcy1yZWY+XSBzaG93IFs8b2JqZWN0Pl0iCittc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPOiou+ino+W8leeUqD5dIHNob3cgWzznianku7Y+XSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjM0Cittc2dpZCAiIgorImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIG1lcmdlIFstdiB8IC1xXSBbLXMgPHN0cmF0ZWd5Pl0gPG5vdGVzLXJlZj4iCittc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPOiou+ino+W8leeUqD5dIG1lcmdlIFstdiB8IC1xXSBbLXMgPOetlueVpT4gXSA86Ki76Kej5byV55SoPiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjM1Cittc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFstdiB8IC1xXSIKK21zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0IFstdiB8IC1xXSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjM2Cittc2dpZCAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWy12IHwgLXFdIgorbXNnc3RyICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbLXYgfCAtcV0iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNworbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIHJlbW92ZSBbPG9iamVjdD4uLi5dIgorbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDzoqLvop6PlvJXnlKg+XSByZW1vdmUgWzznianku7Y+Li4uXSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjM4Cittc2dpZCAiZ2l0IG5vdGVzIFstLXJlZiA8bm90ZXMtcmVmPl0gcHJ1bmUgWy1uXSBbLXZdIgorbXNnc3RyICJnaXQgbm90ZXMgWy0tcmVmIDzoqLvop6PlvJXnlKg+XSBwcnVuZSBbLW5dIFstdl0iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozOQorbXNnaWQgImdpdCBub3RlcyBbLS1yZWYgPG5vdGVzLXJlZj5dIGdldC1yZWYiCittc2dzdHIgImdpdCBub3RlcyBbLS1yZWYgPOiou+ino+W8leeUqD5dIGdldC1yZWYiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0NAorbXNnaWQgImdpdCBub3RlcyBbbGlzdCBbPG9iamVjdD5dXSIKK21zZ3N0ciAiZ2l0IG5vdGVzIFtsaXN0IFs854mp5Lu2Pl1dIgorCisjOiBidWlsdGluL25vdGVzLmM6NDkKK21zZ2lkICJnaXQgbm90ZXMgYWRkIFs8b3B0aW9ucz5dIFs8b2JqZWN0Pl0iCittc2dzdHIgImdpdCBub3RlcyBhZGQgWzzpgbjpoIU+XSBbPOeJqeS7tj5dIgorCisjOiBidWlsdGluL25vdGVzLmM6NTQKK21zZ2lkICJnaXQgbm90ZXMgY29weSBbPG9wdGlvbnM+XSA8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+IgorbXNnc3RyICJnaXQgbm90ZXMgY29weSBbPOmBuOmghT5dIDzmupDnianku7Y+IDznm67mqJnnianku7Y+IgorCisjOiBidWlsdGluL25vdGVzLmM6NTUKK21zZ2lkICJnaXQgbm90ZXMgY29weSAtLXN0ZGluIFs8ZnJvbS1vYmplY3Q+IDx0by1vYmplY3Q+XS4uLiIKK21zZ3N0ciAiZ2l0IG5vdGVzIGNvcHkgLS1zdGRpbiBbPOa6kOeJqeS7tj4gPOebruaomeeJqeS7tj5dLi4uIgorCisjOiBidWlsdGluL25vdGVzLmM6NjAKK21zZ2lkICJnaXQgbm90ZXMgYXBwZW5kIFs8b3B0aW9ucz5dIFs8b2JqZWN0Pl0iCittc2dzdHIgImdpdCBub3RlcyBhcHBlbmQgWzzpgbjpoIU+XSBbPOeJqeS7tj5dIgorCisjOiBidWlsdGluL25vdGVzLmM6NjUKK21zZ2lkICJnaXQgbm90ZXMgZWRpdCBbPG9iamVjdD5dIgorbXNnc3RyICJnaXQgbm90ZXMgZWRpdCBbPOeJqeS7tj5dIgorCisjOiBidWlsdGluL25vdGVzLmM6NzAKK21zZ2lkICJnaXQgbm90ZXMgc2hvdyBbPG9iamVjdD5dIgorbXNnc3RyICJnaXQgbm90ZXMgc2hvdyBbPOeJqeS7tj5dIgorCisjOiBidWlsdGluL25vdGVzLmM6NzUKK21zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgWzxvcHRpb25zPl0gPG5vdGVzLXJlZj4iCittc2dzdHIgImdpdCBub3RlcyBtZXJnZSBbPOmBuOmghT5dIDzoqLvop6PlvJXnlKg+IgorCisjOiBidWlsdGluL25vdGVzLmM6NzYKK21zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1jb21taXQgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCBbPOmBuOmghT5dIgorCisjOiBidWlsdGluL25vdGVzLmM6NzcKK21zZ2lkICJnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IG5vdGVzIG1lcmdlIC0tYWJvcnQgWzzpgbjpoIU+XSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjgyCittc2dpZCAiZ2l0IG5vdGVzIHJlbW92ZSBbPG9iamVjdD5dIgorbXNnc3RyICJnaXQgbm90ZXMgcmVtb3ZlIFs854mp5Lu2Pl0iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NworbXNnaWQgImdpdCBub3RlcyBwcnVuZSBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IG5vdGVzIHBydW5lIFs86YG46aCFPl0iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MgorbXNnaWQgImdpdCBub3RlcyBnZXQtcmVmIgorbXNnc3RyICJnaXQgbm90ZXMgZ2V0LXJlZiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjk3Cittc2dpZCAiV3JpdGUvZWRpdCB0aGUgbm90ZXMgZm9yIHRoZSBmb2xsb3dpbmcgb2JqZWN0OiIKK21zZ3N0ciAi54K65LiL6Z2i55qE54mp5Lu25a+rL+e3qOi8r+iqquaYju+8miIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gc3RhcnQgJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKK21zZ3N0ciAi5LiN6IO954K654mp5Lu2ICclcycg6ZaL5aeLICdzaG93JyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjE1NAorbXNnaWQgImNvdWxkIG5vdCByZWFkICdzaG93JyBvdXRwdXQiCittc2dzdHIgIuS4jeiDveiugOWPliAnc2hvdycg55qE6Ly45Ye6IgorCisjOiBidWlsdGluL25vdGVzLmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBmaW5pc2ggJ3Nob3cnIGZvciBvYmplY3QgJyVzJyIKK21zZ3N0ciAi54Sh5rOV54K654mp5Lu2ICclcycg5a6M5oiQICdzaG93JyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjE5NworbXNnaWQgInBsZWFzZSBzdXBwbHkgdGhlIG5vdGUgY29udGVudHMgdXNpbmcgZWl0aGVyIC1tIG9yIC1GIG9wdGlvbiIKK21zZ3N0ciAi6KuL6YCP6YGOIC1tIOaIliAtRiDpgbjpoIXngrroqLvop6Pmj5DkvpvlhaflrrkiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyMDYKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgbm90ZSBvYmplY3QiCittc2dzdHIgIuS4jeiDveWvq+iou+ino+eJqeS7tiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbm90ZSBjb250ZW50cyBoYXZlIGJlZW4gbGVmdCBpbiAlcyIKK21zZ3N0ciAi6Ki76Kej5YWn5a656KKr55WZ5ZyoICVzIOS4rSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjI0MiBidWlsdGluL3RhZy5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgb3BlbiBvciByZWFkICclcyciCittc2dzdHIgIuS4jeiDvemWi+WVn+aIluiugOWPliAnJXMnIgorCisjOiBidWlsdGluL25vdGVzLmM6MjYzIGJ1aWx0aW4vbm90ZXMuYzozMTMgYnVpbHRpbi9ub3Rlcy5jOjMxNQorIzogYnVpbHRpbi9ub3Rlcy5jOjM4MyBidWlsdGluL25vdGVzLmM6NDM4IGJ1aWx0aW4vbm90ZXMuYzo1MjYKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MzEgYnVpbHRpbi9ub3Rlcy5jOjYxMCBidWlsdGluL25vdGVzLmM6NjcyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlICclcycgYXMgYSB2YWxpZCByZWYuIgorbXNnc3RyICLnhKHms5Xop6PmnpAgJyVzJyDngrrkuIDlgIvmnInmlYjlvJXnlKjjgIIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgb2JqZWN0ICclcycuIgorbXNnc3RyICLoroDlj5bnianku7YgJyVzJyDlpLHmlZfjgIIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzoyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgbm90ZSBkYXRhIGZyb20gbm9uLWJsb2Igb2JqZWN0ICclcycuIgorbXNnc3RyICLkuI3og73lvp7pnZ7os4fmlpnnianku7YgJyVzJyDkuK3oroDlj5boqLvop6Pos4fmlpnjgIIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsZm9ybWVkIGlucHV0IGxpbmU6ICclcycuIgorbXNnc3RyICLmoLzlvI/pjK/oqqTnmoTovLjlhaXooYzvvJonJXMn44CCIgorCisjOiBidWlsdGluL25vdGVzLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb3B5IG5vdGVzIGZyb20gJyVzJyB0byAnJXMnIgorbXNnc3RyICLlvp4gJyVzJyDopIfoo73oqLvop6PliLAgJyVzJyDmmYLlpLHmlZciCisKKyMuIFRSQU5TTEFUT1JTOiB0aGUgZmlyc3QgJXMgd2lsbCBiZSByZXBsYWNlZCBieSBhIGdpdAorIy4gbm90ZXMgY29tbWFuZDogJ2FkZCcsICdtZXJnZScsICdyZW1vdmUnLCBldGMuCisjLgorIzogYnVpbHRpbi9ub3Rlcy5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWZ1c2luZyB0byAlcyBub3RlcyBpbiAlcyAob3V0c2lkZSBvZiByZWZzL25vdGVzLykiCittc2dzdHIgIuaLkue1leWQkSAlMiRz77yI5ZyoIHJlZnMvbm90ZXMvIOS5i+Wklu+8iSUxJHPoqLvop6MiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozNzYgYnVpbHRpbi9ub3Rlcy5jOjQzMSBidWlsdGluL25vdGVzLmM6NTA5CisjOiBidWlsdGluL25vdGVzLmM6NTIxIGJ1aWx0aW4vbm90ZXMuYzo1OTggYnVpbHRpbi9ub3Rlcy5jOjY2NQorIzogYnVpbHRpbi9ub3Rlcy5jOjgxNSBidWlsdGluL25vdGVzLmM6OTYzIGJ1aWx0aW4vbm90ZXMuYzo5ODUKK21zZ2lkICJ0b28gbWFueSBwYXJhbWV0ZXJzIgorbXNnc3RyICLlj4PmlbjlpKrlpJoiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzozODkgYnVpbHRpbi9ub3Rlcy5jOjY3OAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBub3RlIGZvdW5kIGZvciBvYmplY3QgJXMuIgorbXNnc3RyICLmnKrnmbznj77nianku7YgJXMg55qE6Ki76Kej44CCIgorCisjOiBidWlsdGluL25vdGVzLmM6NDEwIGJ1aWx0aW4vbm90ZXMuYzo1NzYKK21zZ2lkICJub3RlIGNvbnRlbnRzIGFzIGEgc3RyaW5nIgorbXNnc3RyICLoqLvop6PlhaflrrnkvZzngrrkuIDlgIvlrZfkuLIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTMgYnVpbHRpbi9ub3Rlcy5jOjU3OQorbXNnaWQgIm5vdGUgY29udGVudHMgaW4gYSBmaWxlIgorbXNnc3RyICLoqLvop6PlhaflrrnliLDkuIDlgIvmqpTmoYjkuK0iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MTYgYnVpbHRpbi9ub3Rlcy5jOjU4MgorbXNnaWQgInJldXNlIGFuZCBlZGl0IHNwZWNpZmllZCBub3RlIG9iamVjdCIKK21zZ3N0ciAi6YeN55So5ZKM57eo6Lyv5oyH5a6a55qE6Ki76Kej54mp5Lu2IgorCisjOiBidWlsdGluL25vdGVzLmM6NDE5IGJ1aWx0aW4vbm90ZXMuYzo1ODUKK21zZ2lkICJyZXVzZSBzcGVjaWZpZWQgbm90ZSBvYmplY3QiCittc2dzdHIgIumHjeeUqOaMh+WumueahOiou+ino+eJqeS7tiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjQyMiBidWlsdGluL25vdGVzLmM6NTg4Cittc2dpZCAiYWxsb3cgc3RvcmluZyBlbXB0eSBub3RlIgorbXNnc3RyICLlhYHoqLHlhLLlrZjnqbrnmb3lgpnoqLsiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo0MjMgYnVpbHRpbi9ub3Rlcy5jOjQ5NgorbXNnaWQgInJlcGxhY2UgZXhpc3Rpbmcgbm90ZXMiCittc2dzdHIgIuWPluS7o+W3suWtmOWcqOeahOiou+inoyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2Fubm90IGFkZCBub3Rlcy4gRm91bmQgZXhpc3Rpbmcgbm90ZXMgZm9yIG9iamVjdCAlcy4gVXNlICctZicgdG8gb3ZlcndyaXRlICIKKyJleGlzdGluZyBub3RlcyIKK21zZ3N0ciAi5LiN6IO95paw5aKe6Ki76Kej44CC55m854++54mp5Lu2ICVzIOW3suWtmOWcqOiou+ino+OAguS9v+eUqCAnLWYnIOimhuiTi+ePvuWtmOiou+inoyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjQ2MyBidWlsdGluL25vdGVzLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIk92ZXJ3cml0aW5nIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXNcbiIKK21zZ3N0ciAi6KaG6JOL54mp5Lu2ICVzIOePvuWtmOiou+ino1xuIgorCisjOiBidWlsdGluL25vdGVzLmM6NDc1IGJ1aWx0aW4vbm90ZXMuYzo2MzcgYnVpbHRpbi9ub3Rlcy5jOjkwMgorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1vdmluZyBub3RlIGZvciBvYmplY3QgJXNcbiIKK21zZ3N0ciAi5Yiq6Zmk54mp5Lu2ICVzIOeahOiou+ino1xuIgorCisjOiBidWlsdGluL25vdGVzLmM6NDk3Cittc2dpZCAicmVhZCBvYmplY3RzIGZyb20gc3RkaW4iCittc2dzdHIgIuW+nuaomea6lui8uOWFpeiugOWPlueJqeS7tiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjQ5OQorbXNnaWQgImxvYWQgcmV3cml0aW5nIGNvbmZpZyBmb3IgPGNvbW1hbmQ+IChpbXBsaWVzIC0tc3RkaW4pIgorbXNnc3RyICLph43mlrDovInlhaUgPOaMh+S7pD4g55qE6Kit5a6a77yI6Zqx5ZCrIC0tc3RkaW7vvIkiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1MTcKK21zZ2lkICJ0b28gZmV3IHBhcmFtZXRlcnMiCittc2dzdHIgIuWPg+aVuOWkquWwkSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjUzOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2Fubm90IGNvcHkgbm90ZXMuIEZvdW5kIGV4aXN0aW5nIG5vdGVzIGZvciBvYmplY3QgJXMuIFVzZSAnLWYnIHRvIG92ZXJ3cml0ZSAiCisiZXhpc3Rpbmcgbm90ZXMiCittc2dzdHIgIuS4jeiDveikh+ijveiou+ino+OAgueZvOePvueJqeS7tiAlcyDlt7LlrZjlnKjoqLvop6PjgILkvb/nlKggJy1mJyDopobok4vnj77lrZjoqLvop6MiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyBub3RlcyBvbiBzb3VyY2Ugb2JqZWN0ICVzLiBDYW5ub3QgY29weS4iCittc2dzdHIgIua6kOeJqeS7tiAlcyDnvLrlsJHoqLvop6PjgILkuI3og73opIfoo73jgIIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo2MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSAtbS8tRi8tYy8tQyBvcHRpb25zIGhhdmUgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgJ2VkaXQnIHN1YmNvbW1hbmQuXG4iCisiUGxlYXNlIHVzZSAnZ2l0IG5vdGVzIGFkZCAtZiAtbS8tRi8tYy8tQycgaW5zdGVhZC5cbiIKK21zZ3N0ciAiIgorIuWtkOaMh+S7pCAnZWRpdCcg55qE6YG46aCFIC1tLy1GLy1jLy1DIOW3suajhOeUqOOAglxuIgorIuiri+aPm+eUqCAnZ2l0IG5vdGVzIGFkZCAtZiAtbS8tRi8tYy8tQyfjgIJcbiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjY5OAorbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCittc2dzdHIgIuWIqumZpOW8leeUqCBOT1RFU19NRVJHRV9QQVJUSUFMIOWkseaVlyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcwMAorbXNnaWQgImZhaWxlZCB0byBkZWxldGUgcmVmIE5PVEVTX01FUkdFX1JFRiIKK21zZ3N0ciAi5Yiq6Zmk5byV55SoIE5PVEVTX01FUkdFX1JFRiDlpLHmlZciCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MDIKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlICdnaXQgbm90ZXMgbWVyZ2UnIHdvcmt0cmVlIgorbXNnc3RyICLliKrpmaQgJ2dpdCBub3RlcyBtZXJnZScg5bel5L2c5Y2A5aSx5pWXIgorCisjOiBidWlsdGluL25vdGVzLmM6NzIyCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcmVmIE5PVEVTX01FUkdFX1BBUlRJQUwiCittc2dzdHIgIuiugOWPluW8leeUqCBOT1RFU19NRVJHRV9QQVJUSUFMIOWkseaVlyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjcyNAorbXNnaWQgImNvdWxkIG5vdCBmaW5kIGNvbW1pdCBmcm9tIE5PVEVTX01FUkdFX1BBUlRJQUwuIgorbXNnc3RyICLnhKHms5Xlvp4gTk9URVNfTUVSR0VfUEFSVElBTCDkuK3mib7liLDmj5DkuqTjgIIiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3MjYKK21zZ2lkICJjb3VsZCBub3QgcGFyc2UgY29tbWl0IGZyb20gTk9URVNfTUVSR0VfUEFSVElBTC4iCittc2dzdHIgIueEoeazleW+niBOT1RFU19NRVJHRV9QQVJUSUFMIOS4reino+aekOaPkOS6pOOAgiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjczOQorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIE5PVEVTX01FUkdFX1JFRiIKK21zZ3N0ciAi6Kej5p6QIE5PVEVTX01FUkdFX1JFRiDlpLHmlZciCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3NDIKK21zZ2lkICJmYWlsZWQgdG8gZmluYWxpemUgbm90ZXMgbWVyZ2UiCittc2dzdHIgIueEoeazleWujOaIkOiou+ino+WQiOS9tSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5vdGVzIG1lcmdlIHN0cmF0ZWd5ICVzIgorbXNnc3RyICLmnKrnn6XnmoToqLvop6PlkIjkvbXnrZbnlaUgJXMiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo3ODQKK21zZ2lkICJHZW5lcmFsIG9wdGlvbnMiCittc2dzdHIgIumAmueUqOmBuOmghSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc4NgorbXNnaWQgIk1lcmdlIG9wdGlvbnMiCittc2dzdHIgIuWQiOS9temBuOmghSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjc4OAorbXNnaWQgIiIKKyJyZXNvbHZlIG5vdGVzIGNvbmZsaWN0cyB1c2luZyB0aGUgZ2l2ZW4gc3RyYXRlZ3kgKG1hbnVhbC9vdXJzL3RoZWlycy91bmlvbi8iCisiY2F0X3NvcnRfdW5pcSkiCittc2dzdHIgIuS9v+eUqOaMh+WumueahOetlueVpeino+axuuiou+ino+ihneeqgSAobWFudWFsL291cnMvdGhlaXJzL3VuaW9uL2NhdF9zb3J0X3VuaXEpIgorCisjOiBidWlsdGluL25vdGVzLmM6NzkwCittc2dpZCAiQ29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKK21zZ3N0ciAi5o+Q5Lqk5pyq5ZCI5L2155qE6Ki76KejIgorCisjOiBidWlsdGluL25vdGVzLmM6NzkyCittc2dpZCAiZmluYWxpemUgbm90ZXMgbWVyZ2UgYnkgY29tbWl0dGluZyB1bm1lcmdlZCBub3RlcyIKK21zZ3N0ciAi6YCP6YGO5o+Q5Lqk5pyq5ZCI5L2155qE6Ki76Kej5L6G5a6M5oiQ6Ki76Kej5ZCI5L21IgorCisjOiBidWlsdGluL25vdGVzLmM6Nzk0Cittc2dpZCAiQWJvcnRpbmcgbm90ZXMgbWVyZ2UgcmVzb2x1dGlvbiIKK21zZ3N0ciAi5Lit5q2i6Ki76Kej5ZCI5L2155qE5pa55qGIIgorCisjOiBidWlsdGluL25vdGVzLmM6Nzk2Cittc2dpZCAiYWJvcnQgbm90ZXMgbWVyZ2UiCittc2dzdHIgIuS4reatouiou+ino+WQiOS9tSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjgwNworbXNnaWQgImNhbm5vdCBtaXggLS1jb21taXQsIC0tYWJvcnQgb3IgLXMvLS1zdHJhdGVneSIKK21zZ3N0ciAi5LiN6IO95re355SoIC0tY29tbWl044CBLS1hYm9ydCDmiJYgLXMvLS1zdHJhdGVneSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjgxMgorbXNnaWQgIm11c3Qgc3BlY2lmeSBhIG5vdGVzIHJlZiB0byBtZXJnZSIKK21zZ3N0ciAi5b+F6aCI5oyH5a6a5LiA5YCL6Ki76Kej5byV55So5L6G5ZCI5L21IgorCisjOiBidWlsdGluL25vdGVzLmM6ODM2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gLXMvLS1zdHJhdGVneTogJXMiCittc2dzdHIgIuacquefpeeahCAtcy8tLXN0cmF0ZWd577yaJXMiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYSBub3RlcyBtZXJnZSBpbnRvICVzIGlzIGFscmVhZHkgaW4tcHJvZ3Jlc3MgYXQgJXMiCittc2dzdHIgIuS9jeaWvCAlMiRzIOeahOS4gOWAi+WIsCAlMSRzIOS4reeahOiou+ino+WQiOS9teato+WcqOWft+ihjOS4rSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjg3NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc3RvcmUgbGluayB0byBjdXJyZW50IG5vdGVzIHJlZiAoJXMpIgorbXNnc3RyICLnhKHms5XlhLLlrZjpgKPntZDliLDnm67liY3nmoToqLvop6PlvJXnlKjvvIglc++8iSIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjg3OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQXV0b21hdGljIG5vdGVzIG1lcmdlIGZhaWxlZC4gRml4IGNvbmZsaWN0cyBpbiAlcyBhbmQgY29tbWl0IHRoZSByZXN1bHQgd2l0aCAiCisiJ2dpdCBub3RlcyBtZXJnZSAtLWNvbW1pdCcsIG9yIGFib3J0IHRoZSBtZXJnZSB3aXRoICdnaXQgbm90ZXMgbWVyZ2UgLS0iCisiYWJvcnQnLlxuIgorbXNnc3RyICIiCisi6Ieq5YuV5ZCI5L216Kqq5piO5aSx5pWX44CC5L+u5pS5ICVzIOS4reeahOihneeqgeS4puS4lOS9v+eUqOaMh+S7pCAnZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0JyDmj5AiCisi5Lqk57WQ5p6c77yM5oiW6ICF5L2/55So5oyH5LukICdnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCcg57WC5q2i5ZCI5L2144CCXG4iCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo4OTcgYnVpbHRpbi90YWcuYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHJlZi4iCittc2dzdHIgIueEoeazleino+aekCAnJXMnIOeCuuS4gOWAi+acieaViOW8leeUqOOAgiIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjkwMAorIywgYy1mb3JtYXQKK21zZ2lkICJPYmplY3QgJXMgaGFzIG5vIG5vdGVcbiIKK21zZ3N0ciAi54mp5Lu2ICVzIOaykuacieiou+ino1xuIgorCisjOiBidWlsdGluL25vdGVzLmM6OTEyCittc2dpZCAiYXR0ZW1wdCB0byByZW1vdmUgbm9uLWV4aXN0ZW50IG5vdGUgaXMgbm90IGFuIGVycm9yIgorbXNnc3RyICLlmJfoqabliKrpmaTkuI3lrZjlnKjnmoToqLvop6PkuI3mmK/kuIDlgIvpjK/oqqQiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5MTUKK21zZ2lkICJyZWFkIG9iamVjdCBuYW1lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCIKK21zZ3N0ciAi5b6e5qiZ5rqW6Ly45YWl6K6A5Y+W54mp5Lu25ZCN56ixIgorCisjOiBidWlsdGluL25vdGVzLmM6OTU0IGJ1aWx0aW4vcHJ1bmUuYzoxMzAgYnVpbHRpbi93b3JrdHJlZS5jOjE2NAorbXNnaWQgImRvIG5vdCByZW1vdmUsIHNob3cgb25seSIKK21zZ3N0ciAi5LiN5Yiq6Zmk77yM5Y+q6aGv56S6IgorCisjOiBidWlsdGluL25vdGVzLmM6OTU1Cittc2dpZCAicmVwb3J0IHBydW5lZCBub3RlcyIKK21zZ3N0ciAi5aCx5ZGK5riF6Zmk55qE6Ki76KejIgorCisjOiBidWlsdGluL25vdGVzLmM6OTk4Cittc2dpZCAibm90ZXMtcmVmIgorbXNnc3RyICLoqLvop6PlvJXnlKgiCisKKyM6IGJ1aWx0aW4vbm90ZXMuYzo5OTkKK21zZ2lkICJ1c2Ugbm90ZXMgZnJvbSA8bm90ZXMtcmVmPiIKK21zZ3N0ciAi5b6eIDzoqLvop6PlvJXnlKg+IOS9v+eUqOiou+inoyIKKworIzogYnVpbHRpbi9ub3Rlcy5jOjEwMzQgYnVpbHRpbi9zdGFzaC5jOjE2MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzdWJjb21tYW5kOiAlcyIKK21zZ3N0ciAi5pyq55+l5a2Q5oyH5Luk77yaJXMiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTIKK21zZ2lkICIiCisiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPG9wdGlvbnM+Li4uXSBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKK21zZ3N0ciAiZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCBbPOmBuOmghT4uLi5dIFs8IDzlvJXnlKjliJfooag+IHwgPCA854mp5Lu25YiX6KGoPl0iCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NTMKK21zZ2lkICIiCisiZ2l0IHBhY2stb2JqZWN0cyBbPG9wdGlvbnM+Li4uXSA8YmFzZS1uYW1lPiBbPCA8cmVmLWxpc3Q+IHwgPCA8b2JqZWN0LWxpc3Q+XSIKK21zZ3N0ciAiZ2l0IHBhY2stb2JqZWN0cyBbPOmBuOmghT4uLi5dIDzliY3ntrTlkI3nqLE+IFs8IDzlvJXnlKjliJfooag+IHwgPCA854mp5Lu25YiX6KGoPl0iCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBwYWNrZWQgb2JqZWN0IENSQyBmb3IgJXMiCittc2dzdHIgIiVzIOmMr+eahOWMheeJqeS7tiBDUkMiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvcnJ1cHQgcGFja2VkIG9iamVjdCBmb3IgJXMiCittc2dzdHIgIiVzIOaQjeWjnueahOWMheeJqeS7tiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjdXJzaXZlIGRlbHRhIGRldGVjdGVkIGZvciBvYmplY3QgJXMiCittc2dzdHIgIueZvOePvueJqeS7tiAlcyDpgZ7ov7QgZGVsdGEiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6NzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIm9yZGVyZWQgJXUgb2JqZWN0cywgZXhwZWN0ZWQgJTxQUkl1MzI+IgorbXNnc3RyICLmjpLluo/kuoYgJXUg5YCL54mp5Lu277yM6aCQ5pyfICU8UFJJdTMyPiDlgIsiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6Nzk0CisjLCBjLWZvcm1hdAorbXNnaWQgInBhY2tmaWxlIGlzIGludmFsaWQ6ICVzIgorbXNnc3RyICLnhKHmlYjnmoQgcGFja2ZpbGXvvJolcyIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzo3OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIG9wZW4gcGFja2ZpbGUgZm9yIHJldXNlOiAlcyIKK21zZ3N0ciAi54Sh5rOV54K66YeN55So6ZaL5ZWfIHBhY2tmaWxl77yaJXMiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODAyCittc2dpZCAidW5hYmxlIHRvIHNlZWsgaW4gcmV1c2VkIHBhY2tmaWxlIgorbXNnc3RyICLnhKHms5XlnKjph43nlKjnmoQgcGFja2ZpbGUg5Lit5bCL5om+IgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjgxMworbXNnaWQgInVuYWJsZSB0byByZWFkIGZyb20gcmV1c2VkIHBhY2tmaWxlIgorbXNnc3RyICLnhKHms5Xlvp7lvqnnlKjnmoQgcGFja2ZpbGUg5Lit6K6A5Y+WIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjg0MQorbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgcGFja3MgYXJlIHNwbGl0IGR1ZSB0byBwYWNrLnBhY2tTaXplTGltaXQiCittc2dzdHIgIuemgeeUqCBiaXRtYXAg5a+r5YWl77yM5Zug54K6IHBhY2sucGFja1NpemVMaW1pdCDoqK3lrprkvb/lvpfljIXooqvliIfliIbngrrlpJrlgIsiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6ODU0Cittc2dpZCAiV3JpdGluZyBvYmplY3RzIgorbXNnc3RyICLlr6vlhaXnianku7bkuK0iCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTE3IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHN0YXQgJXMiCittc2dzdHIgIuWwjSAlcyDlkbzlj6sgc3RhdCDlpLHmlZciCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6OTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIndyb3RlICU8UFJJdTMyPiBvYmplY3RzIHdoaWxlIGV4cGVjdGluZyAlPFBSSXUzMj4iCittc2dzdHIgIuWvq+WFpSAlPFBSSXUzMj4g5YCL54mp5Lu26ICM6aCQ5pyfICU8UFJJdTMyPiDlgIsiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MTE2NAorbXNnaWQgImRpc2FibGluZyBiaXRtYXAgd3JpdGluZywgYXMgc29tZSBvYmplY3RzIGFyZSBub3QgYmVpbmcgcGFja2VkIgorbXNnc3RyICLnpoHnlKggYml0bWFwIOWvq+WFpe+8jOWboOeCuuS4gOS6m+eJqeS7tuWwh+S4jeacg+iiq+aJk+WMhSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxNTkyCisjLCBjLWZvcm1hdAorbXNnaWQgImRlbHRhIGJhc2Ugb2Zmc2V0IG92ZXJmbG93IGluIHBhY2sgZm9yICVzIgorbXNnc3RyICIlcyDlo5PnuK7kuK0gZGVsdGEg5Z+65rqW5L2N56e76LaK55WMIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjE2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVsdGEgYmFzZSBvZmZzZXQgb3V0IG9mIGJvdW5kIGZvciAlcyIKK21zZ3N0ciAiJXMg55qEIGRlbHRhIOWfuua6luS9jeenu+i2iueVjCIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoxODcwCittc2dpZCAiQ291bnRpbmcgb2JqZWN0cyIKK21zZ3N0ciAi54mp5Lu26KiI5pW45LitIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGdldCBzaXplIG9mICVzIgorbXNnc3RyICLkuI3og73lvpfliLAgJXMg55qE5aSn5bCPIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIwMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHBhcnNlIG9iamVjdCBoZWFkZXIgb2YgJXMiCittc2dzdHIgIueEoeazleino+aekOeJqeS7tiAlcyDmqJnpoK3oqIrmga8iCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA4NSBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMDEKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjExMQorIywgYy1mb3JtYXQKK21zZ2lkICJvYmplY3QgJXMgY2Fubm90IGJlIHJlYWQiCittc2dzdHIgIueJqeS7tiAlcyDnhKHms5XoroDlj5YiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjA4OCBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAib2JqZWN0ICVzIGluY29uc2lzdGVudCBvYmplY3QgbGVuZ3RoICglPFBSSXVNQVg+IHZzICU8UFJJdU1BWD4pIgorbXNnc3RyICLnianku7YgJXMg5LiN5LiA6Ie055qE54mp5Lu26ZW35bqm77yIJTxQUkl1TUFYPiB2cyAlPFBSSXVNQVg+77yJIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjIxMjUKK21zZ2lkICJzdWJvcHRpbWFsIHBhY2sgLSBvdXQgb2YgbWVtb3J5IgorbXNnc3RyICLmrKHlhKrvvIhzdWJvcHRpbWFs77yJ5omT5YyFIC0g6KiY5oa26auU5LiN6LazIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGVsdGEgY29tcHJlc3Npb24gdXNpbmcgdXAgdG8gJWQgdGhyZWFkcyIKK21zZ3N0ciAi5L2/55SoICVkIOWAi+Wft+ihjOe3kumAsuihjOWjk+e4riIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzoyNTcyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBwYWNrIG9iamVjdHMgcmVhY2hhYmxlIGZyb20gdGFnICVzIgorbXNnc3RyICLnhKHms5XngrrmqJnnsaQgJXMg5aOT57iu54mp5Lu2IgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI2NTkKK21zZ2lkICJDb21wcmVzc2luZyBvYmplY3RzIgorbXNnc3RyICLlo5PnuK7nianku7bkuK0iCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MjY2NQorbXNnaWQgImluY29uc2lzdGVuY3kgd2l0aCBkZWx0YSBjb3VudCIKK21zZ3N0ciAi5LiN5LiA6Ie055qE5beu55Ww6KiI5pW4IgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImV4cGVjdGVkIGVkZ2Ugb2JqZWN0IElELCBnb3QgZ2FyYmFnZTpcbiIKKyIgJXMiCittc2dzdHIgIiIKKyLpoJDmnJ/pgornlYznianku7bvvIhlZGdlIG9iamVjdO+8iUlE77yM5Y275b6X5Yiw5Z6D5Zy+6LOH5paZ77yaXG4iCisiICVzIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImV4cGVjdGVkIG9iamVjdCBJRCwgZ290IGdhcmJhZ2U6XG4iCisiICVzIgorbXNnc3RyICIiCisi6aCQ5pyf54mp5Lu2IElE77yM5Y275b6X5Yiw5Z6D5Zy+6LOH5paZ77yaXG4iCisiICVzIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI4NDYKK21zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAtLW1pc3NpbmciCittc2dzdHIgIumBuOmghSAtLW1pc3Npbmcg55qE5YC854Sh5pWIIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MDUgYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDEzCittc2dpZCAiY2Fubm90IG9wZW4gcGFjayBpbmRleCIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWf5YyF5qqU5qGI57Si5byVIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjI5MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9vc2Ugb2JqZWN0IGF0ICVzIGNvdWxkIG5vdCBiZSBleGFtaW5lZCIKK21zZ3N0ciAi54Sh5rOV5qqi5p+lICVzIOiZleeahOmshuaVo+eJqeS7tiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMDIxCittc2dpZCAidW5hYmxlIHRvIGZvcmNlIGxvb3NlIG9iamVjdCIKK21zZ3N0ciAi54Sh5rOV5by35Yi26ayG5pWj54mp5Lu2IgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgcmV2ICclcyciCittc2dzdHIgIuS4jeaYr+S4gOWAi+eJiOacrCAnJXMnIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJldmlzaW9uICclcyciCittc2dzdHIgIuWjnueahOeJiOacrCAnJXMnIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMxNDEKK21zZ2lkICJ1bmFibGUgdG8gYWRkIHJlY2VudCBvYmplY3RzIgorbXNnc3RyICLnhKHms5XmlrDlop7mnIDov5HnmoTnianku7YiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBpbmRleCB2ZXJzaW9uICVzIgorbXNnc3RyICLkuI3mlK/mj7TnmoTntKLlvJXniYjmnKwgJXMiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgaW5kZXggdmVyc2lvbiAnJXMnIgorbXNnc3RyICLlo57nmoTntKLlvJXniYjmnKwgJyVzJyIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjM2Cittc2dpZCAiPHZlcnNpb24+Wyw8b2Zmc2V0Pl0iCittc2dzdHIgIjzniYjmnKw+Wyw85L2N56e7Pl0iCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzIzNworbXNnaWQgIndyaXRlIHRoZSBwYWNrIGluZGV4IGZpbGUgaW4gdGhlIHNwZWNpZmllZCBpZHggZm9ybWF0IHZlcnNpb24iCittc2dzdHIgIueUqOaMh+WumueahCBpZHgg5qC85byP54mI5pys5L6G5a+r5YyF57Si5byV5qqU5qGIIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDAKK21zZ2lkICJtYXhpbXVtIHNpemUgb2YgZWFjaCBvdXRwdXQgcGFjayBmaWxlIgorbXNnc3RyICLmr4/lgIvovLjlh7rljIXnmoTmnIDlpKflsLrlr7giCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI0MgorbXNnaWQgImlnbm9yZSBib3Jyb3dlZCBvYmplY3RzIGZyb20gYWx0ZXJuYXRlIG9iamVjdCBzdG9yZSIKK21zZ3N0ciAi5b+955Wl5b6e5YKZ55So54mp5Lu25YSy5a2Y6KOh5YCf55So54mp5Lu2IgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDQKK21zZ2lkICJpZ25vcmUgcGFja2VkIG9iamVjdHMiCittc2dzdHIgIuW/veeVpeWMheeJqeS7tiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjQ2Cittc2dpZCAibGltaXQgcGFjayB3aW5kb3cgYnkgb2JqZWN0cyIKK21zZ3N0ciAi6ZmQ5Yi25omT5YyF6KaW56qX55qE54mp5Lu25pW4IgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNDgKK21zZ2lkICJsaW1pdCBwYWNrIHdpbmRvdyBieSBtZW1vcnkgaW4gYWRkaXRpb24gdG8gb2JqZWN0IGxpbWl0IgorbXNnc3RyICLpmaTnianku7bmlbjph4/pmZDliLblpJboqK3lrprmiZPljIXoppbnqpfnmoToqJjmhrbpq5TpmZDliLYiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1MAorbXNnaWQgIm1heGltdW0gbGVuZ3RoIG9mIGRlbHRhIGNoYWluIGFsbG93ZWQgaW4gdGhlIHJlc3VsdGluZyBwYWNrIgorbXNnc3RyICLmiZPljIXlhYHoqLHnmoQgZGVsdGEg6Y+I55qE5pyA5aSn6ZW35bqmIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNTIKK21zZ2lkICJyZXVzZSBleGlzdGluZyBkZWx0YXMiCittc2dzdHIgIumHjeeUqOW3suWtmOWcqOeahCBkZWx0YXMiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI1NAorbXNnaWQgInJldXNlIGV4aXN0aW5nIG9iamVjdHMiCittc2dzdHIgIumHjeeUqOW3suWtmOWcqOeahOeJqeS7tiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU2Cittc2dpZCAidXNlIE9GU19ERUxUQSBvYmplY3RzIgorbXNnc3RyICLkvb/nlKggT0ZTX0RFTFRBIOeJqeS7tiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjU4Cittc2dpZCAidXNlIHRocmVhZHMgd2hlbiBzZWFyY2hpbmcgZm9yIGJlc3QgZGVsdGEgbWF0Y2hlcyIKK21zZ3N0ciAi5L2/55So5Z+36KGM57eS5p+l6Kmi5pyA5L2zIGRlbHRhIOespuWQiCIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjYwCittc2dpZCAiZG8gbm90IGNyZWF0ZSBhbiBlbXB0eSBwYWNrIG91dHB1dCIKK21zZ3N0ciAi5LiN5bu656uL56m655qE5YyF6Ly45Ye6IgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNjIKK21zZ2lkICJyZWFkIHJldmlzaW9uIGFyZ3VtZW50cyBmcm9tIHN0YW5kYXJkIGlucHV0IgorbXNnc3RyICLlvp7mqJnmupbovLjlhaXoroDlj5bniYjmnKzomZ/lj4PmlbgiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NAorbXNnaWQgImxpbWl0IHRoZSBvYmplY3RzIHRvIHRob3NlIHRoYXQgYXJlIG5vdCB5ZXQgcGFja2VkIgorbXNnc3RyICLpmZDliLbpgqPkupvlsJrmnKrmiZPljIXnmoTnianku7YiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI2NworbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWFjaGFibGUgZnJvbSBhbnkgcmVmZXJlbmNlIgorbXNnc3RyICLljIXmi6zlj6/ku6Xlvp7ku7vkvZXlvJXnlKjlrZjlj5bliLDnmoTnianku7YiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3MAorbXNnaWQgImluY2x1ZGUgb2JqZWN0cyByZWZlcnJlZCBieSByZWZsb2cgZW50cmllcyIKK21zZ3N0ciAi5YyF5ous6KKr5byV55So5pel6KqM5byV55So5Yiw55qE54mp5Lu2IgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzMKK21zZ2lkICJpbmNsdWRlIG9iamVjdHMgcmVmZXJyZWQgdG8gYnkgdGhlIGluZGV4IgorbXNnc3RyICLljIXmi6zooqvntKLlvJXlvJXnlKjliLDnmoTnianku7YiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI3NgorbXNnaWQgIm91dHB1dCBwYWNrIHRvIHN0ZG91dCIKK21zZ3N0ciAi6Ly45Ye65YyF5Yiw5qiZ5rqW6Ly45Ye6IgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyNzgKK21zZ2lkICJpbmNsdWRlIHRhZyBvYmplY3RzIHRoYXQgcmVmZXIgdG8gb2JqZWN0cyB0byBiZSBwYWNrZWQiCittc2dzdHIgIuWMheaLrOmCo+S6m+W8leeUqOS6huW+heaJk+WMheeJqeS7tueahOaomeexpOeJqeS7tiIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjgwCittc2dpZCAia2VlcCB1bnJlYWNoYWJsZSBvYmplY3RzIgorbXNnc3RyICLntq3mjIHnhKHms5Xlj5blvpfnmoTnianku7YiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzI4MgorbXNnaWQgInBhY2sgbG9vc2UgdW5yZWFjaGFibGUgb2JqZWN0cyIKK21zZ3N0ciAi5omT5YyF6ayG5pWj55qE54Sh5rOV5Y+W5b6X54mp5Lu2IgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODQKK21zZ2lkICJ1bnBhY2sgdW5yZWFjaGFibGUgb2JqZWN0cyBuZXdlciB0aGFuIDx0aW1lPiIKK21zZ3N0ciAi5bCH5q+U5o+Q5L6bIDzmmYLplpM+IOaWsOeahOeEoeazleWtmOWPlueahOeJqeS7tuino+WMhSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjg3Cittc2dpZCAidXNlIHRoZSBzcGFyc2UgcmVhY2hhYmlsaXR5IGFsZ29yaXRobSIKK21zZ3N0ciAi5L2/55So56iA55aP5Y+v5Lul5Y+W5b6X5oCn5ryU566X5rOVIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyODkKK21zZ2lkICJjcmVhdGUgdGhpbiBwYWNrcyIKK21zZ3N0ciAi5bu656uL57K+57Ch5YyFIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTEKK21zZ2lkICJjcmVhdGUgcGFja3Mgc3VpdGFibGUgZm9yIHNoYWxsb3cgZmV0Y2hlcyIKK21zZ3N0ciAi5bu656uL6YGp5ZCI5re66KSH6KO954mI5pys5bqr5Y+W5b6X55qE5YyFIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTMKK21zZ2lkICJpZ25vcmUgcGFja3MgdGhhdCBoYXZlIGNvbXBhbmlvbiAua2VlcCBmaWxlIgorbXNnc3RyICLlv73nlaXphY3mnIkgLmtlZXAg5qqU5qGI55qE5YyFIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTUKK21zZ2lkICJpZ25vcmUgdGhpcyBwYWNrIgorbXNnc3RyICLlv73nlaXoqbIgcGFjayIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMjk3Cittc2dpZCAicGFjayBjb21wcmVzc2lvbiBsZXZlbCIKK21zZ3N0ciAi5omT5YyF5aOT57iu57Sa5YilIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMyOTkKK21zZ2lkICJkbyBub3QgaGlkZSBjb21taXRzIGJ5IGdyYWZ0cyIKK21zZ3N0ciAi6aGv56S66KKr56e75qSN6Zqx6JeP55qE5o+Q5LqkIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDEKK21zZ2lkICJ1c2UgYSBiaXRtYXAgaW5kZXggaWYgYXZhaWxhYmxlIHRvIHNwZWVkIHVwIGNvdW50aW5nIG9iamVjdHMiCittc2dzdHIgIuS9v+eUqCBiaXRtYXAg57Si5byV77yI5aaC5p6c5pyJ55qE6Kmx77yJ5Lul5o+Q6auY54mp5Lu26KiI5pW45pmC55qE6YCf5bqmIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMDMKK21zZ2lkICJ3cml0ZSBhIGJpdG1hcCBpbmRleCB0b2dldGhlciB3aXRoIHRoZSBwYWNrIGluZGV4IgorbXNnc3RyICLlnKjlu7rnq4vljIXntKLlvJXnmoTlkIzmmYLlu7rnq4sgYml0bWFwIOe0ouW8lSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzA3Cittc2dpZCAid3JpdGUgYSBiaXRtYXAgaW5kZXggaWYgcG9zc2libGUiCittc2dzdHIgIuWmguaenOWPr+iDve+8jOWvqyBiaXRtYXAg57Si5byVIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTEKK21zZ2lkICJoYW5kbGluZyBmb3IgbWlzc2luZyBvYmplY3RzIgorbXNnc3RyICLomZXnkIbpgbrlpLHnmoTnianku7YiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzMxNAorbXNnaWQgImRvIG5vdCBwYWNrIG9iamVjdHMgaW4gcHJvbWlzb3IgcGFja2ZpbGVzIgorbXNnc3RyICLkuI3opoHmiZPljIUgcHJvbWlzb3IgcGFja2ZpbGUg5Lit55qE54mp5Lu2IgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjMzMTYKK21zZ2lkICJyZXNwZWN0IGlzbGFuZHMgZHVyaW5nIGRlbHRhIGNvbXByZXNzaW9uIgorbXNnc3RyICLlnKjlop7ph4/lo5PnuK7mmYLlj4PogIPos4fmlpnls7YiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJkZWx0YSBjaGFpbiBkZXB0aCAlZCBpcyB0b28gZGVlcCwgZm9yY2luZyAlZCIKK21zZ3N0ciAi5aKe6YeP6Y+I5rex5bqmICVkIOWkqua3seS6hu+8jOW8t+WItueCuiAlZCIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhY2suZGVsdGFDYWNoZUxpbWl0IGlzIHRvbyBoaWdoLCBmb3JjaW5nICVkIgorbXNnc3RyICLoqK3lrpogcGFjay5kZWx0YUNhY2hlTGltaXQg5aSq6auY5LqG77yM5by35Yi254K6ICVkIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0MDQKK21zZ2lkICItLW1heC1wYWNrLXNpemUgY2Fubm90IGJlIHVzZWQgdG8gYnVpbGQgYSBwYWNrIGZvciB0cmFuc2ZlciIKK21zZ3N0ciAi5LiN6IO95L2/55SoIC0tbWF4LXBhY2stc2l6ZSDkvobmp4vlu7rlgrPovLjnlKjnmoTljIXmqpTmoYgiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQwNgorbXNnaWQgIm1pbmltdW0gcGFjayBzaXplIGxpbWl0IGlzIDEgTWlCIgorbXNnc3RyICLmnIDlsI/nmoTljIXmqpTmoYjlpKflsI/mmK8gMSBNaUIiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzQxMQorbXNnaWQgIi0tdGhpbiBjYW5ub3QgYmUgdXNlZCB0byBidWlsZCBhbiBpbmRleGFibGUgcGFjayIKK21zZ3N0ciAiLS10aGluIOS4jeiDveeUqOaWvOW7uueri+S4gOWAi+WPr+e0ouW8leWMhSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDE0Cittc2dpZCAiLS1rZWVwLXVucmVhY2hhYmxlIGFuZCAtLXVucGFjay11bnJlYWNoYWJsZSBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICItLWtlZXAtdW5yZWFjaGFibGUg5ZKMIC0tdW5wYWNrLXVucmVhY2hhYmxlIOS4jeebuOWuuSIKKworIzogYnVpbHRpbi9wYWNrLW9iamVjdHMuYzozNDIwCittc2dpZCAiY2Fubm90IHVzZSAtLWZpbHRlciB3aXRob3V0IC0tc3Rkb3V0IgorbXNnc3RyICLkuI3og73lnKjmspLmnIkgLS1zdGRvdXQg55qE5oOF5rOB5LiL5L2/55SoIC0tZmlsdGVyIgorCisjOiBidWlsdGluL3BhY2stb2JqZWN0cy5jOjM0ODEKK21zZ2lkICJFbnVtZXJhdGluZyBvYmplY3RzIgorbXNnc3RyICLmnproiInnianku7YiCisKKyM6IGJ1aWx0aW4vcGFjay1vYmplY3RzLmM6MzUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCAlPFBSSXUzMj4gKGRlbHRhICU8UFJJdTMyPiksIHJldXNlZCAlPFBSSXUzMj4gKGRlbHRhICU8UFJJdTMyPikiCittc2dzdHIgIue4veWFsSAlPFBSSXUzMj4g77yI5beu55WwICU8UFJJdTMyPu+8ie+8jOW+qeeUqCAlPFBSSXUzMj4g77yI5beu55WwICU8UFJJdTMyPu+8iSIKKworIzogYnVpbHRpbi9wYWNrLXJlZnMuYzo4Cittc2dpZCAiZ2l0IHBhY2stcmVmcyBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHBhY2stcmVmcyBbPOmBuOmghT5dIgorCisjOiBidWlsdGluL3BhY2stcmVmcy5jOjE2Cittc2dpZCAicGFjayBldmVyeXRoaW5nIgorbXNnc3RyICLmiZPljIXkuIDliIciCisKKyM6IGJ1aWx0aW4vcGFjay1yZWZzLmM6MTcKK21zZ2lkICJwcnVuZSBsb29zZSByZWZzIChkZWZhdWx0KSIKK21zZ3N0ciAi5riF6Zmk6ayG5pWj55qE5byV55So77yI6aCQ6Kit77yJIgorCisjOiBidWlsdGluL3BydW5lLXBhY2tlZC5jOjkKK21zZ2lkICJnaXQgcHJ1bmUtcGFja2VkIFstbiB8IC0tZHJ5LXJ1bl0gWy1xIHwgLS1xdWlldF0iCittc2dzdHIgImdpdCBwcnVuZS1wYWNrZWQgWy1uIHwgLS1kcnktcnVuXSBbLXEgfCAtLXF1aWV0XSIKKworIzogYnVpbHRpbi9wcnVuZS1wYWNrZWQuYzo0MgorbXNnaWQgIlJlbW92aW5nIGR1cGxpY2F0ZSBvYmplY3RzIgorbXNnc3RyICLmraPlnKjliKrpmaTph43opIfnianku7YiCisKKyM6IGJ1aWx0aW4vcHJ1bmUuYzoxMgorbXNnaWQgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tcHJvZ3Jlc3NdIFstLWV4cGlyZSA8dGltZT5dIFstLV0gWzxoZWFkPi4uLl0iCittc2dzdHIgImdpdCBwcnVuZSBbLW5dIFstdl0gWy0tcHJvZ3Jlc3NdIFstLWV4cGlyZSA85pmC6ZaTPl0gWy0tXSBbPGhlYWQ+Li4uXSIKKworIzogYnVpbHRpbi9wcnVuZS5jOjEzMQorbXNnaWQgInJlcG9ydCBwcnVuZWQgb2JqZWN0cyIKK21zZ3N0ciAi5aCx5ZGK5riF6Zmk55qE54mp5Lu2IgorCisjOiBidWlsdGluL3BydW5lLmM6MTM0Cittc2dpZCAiZXhwaXJlIG9iamVjdHMgb2xkZXIgdGhhbiA8dGltZT4iCittc2dzdHIgIuS9v+aXqeaWvOaPkOS+m+aZgumWk+eahOeJqeS7tumBjuacnyIKKworIzogYnVpbHRpbi9wcnVuZS5jOjEzNgorbXNnaWQgImxpbWl0IHRyYXZlcnNhbCB0byBvYmplY3RzIG91dHNpZGUgcHJvbWlzb3IgcGFja2ZpbGVzIgorbXNnc3RyICLpmZDliLbpgY3mrbcgcHJvbWlzb3IgcGFja2ZpbGUg5Lul5aSW55qE54mp5Lu2IgorCisjOiBidWlsdGluL3BydW5lLmM6MTUwCittc2dpZCAiY2Fubm90IHBydW5lIGluIGEgcHJlY2lvdXMtb2JqZWN0cyByZXBvIgorbXNnc3RyICLkuI3og73lnKjnj43lk4HniYjmnKzluqvkuK3ln7fooYzmuIXnkIbli5XkvZwiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjY2IGJ1aWx0aW4vcHVsbC5jOjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWUgZm9yICVzOiAlcyIKK21zZ3N0ciAiJXMg55qE5YC854Sh5pWI77yaJXMiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjg4Cittc2dpZCAiZ2l0IHB1bGwgWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCittc2dzdHIgImdpdCBwdWxsIFs86YG46aCFPl0gWzzniYjmnKzluqs+IFs85byV55So6KaP5qC8Pi4uLl1dIgorCisjOiBidWlsdGluL3B1bGwuYzoxNDIKK21zZ2lkICJjb250cm9sIGZvciByZWN1cnNpdmUgZmV0Y2hpbmcgb2Ygc3VibW9kdWxlcyIKK21zZ3N0ciAi5o6n5Yi25a2Q5qih57WE55qE6YGe6L+05Y+W5b6XIgorCisjOiBidWlsdGluL3B1bGwuYzoxNDYKK21zZ2lkICJPcHRpb25zIHJlbGF0ZWQgdG8gbWVyZ2luZyIKK21zZ3N0ciAi5ZKM5ZCI5L2155u46Zec55qE6YG46aCFIgorCisjOiBidWlsdGluL3B1bGwuYzoxNDkKK21zZ2lkICJpbmNvcnBvcmF0ZSBjaGFuZ2VzIGJ5IHJlYmFzaW5nIHJhdGhlciB0aGFuIG1lcmdpbmciCittc2dzdHIgIuS9v+eUqOmHjeWumuWfuuW6leWLleS9nOWPluS7o+WQiOS9teWLleS9nOS7peWll+eUqOS/ruaUuSIKKworIzogYnVpbHRpbi9wdWxsLmM6MTc3IGJ1aWx0aW4vcmViYXNlLmM6NDY3IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI2Cittc2dpZCAiYWxsb3cgZmFzdC1mb3J3YXJkIgorbXNnc3RyICLlhYHoqLHlv6vovYnlvI8iCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjE4NgorbXNnaWQgImF1dG9tYXRpY2FsbHkgc3Rhc2gvc3Rhc2ggcG9wIGJlZm9yZSBhbmQgYWZ0ZXIgcmViYXNlIgorbXNnc3RyICLph43lrprln7rlupXli5XkvZzliY3lvozln7fooYzoh6rli5XlhLLol4/lkozlvYjlh7rlhLLol48iCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjIwMgorbXNnaWQgIk9wdGlvbnMgcmVsYXRlZCB0byBmZXRjaGluZyIKK21zZ3N0ciAi5ZKM5Y+W5b6X55u46Zec55qE5Y+D5pW4IgorCisjOiBidWlsdGluL3B1bGwuYzoyMTIKK21zZ2lkICJmb3JjZSBvdmVyd3JpdGUgb2YgbG9jYWwgYnJhbmNoIgorbXNnc3RyICLlvLfliLbopobok4vmnKzmqZ/liIbmlK8iCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjIyMAorbXNnaWQgIm51bWJlciBvZiBzdWJtb2R1bGVzIHB1bGxlZCBpbiBwYXJhbGxlbCIKK21zZ3N0ciAi5Lim55m85ouJ5Y+W55qE5a2Q5qih57WE55qE5pW46YePIgorCisjOiBidWlsdGluL3B1bGwuYzozMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZSBmb3IgcHVsbC5mZjogJXMiCittc2dzdHIgInB1bGwuZmYg55qE5Y+W5YC854Sh5pWI77yaJXMiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjQzNworbXNnaWQgIiIKKyJUaGVyZSBpcyBubyBjYW5kaWRhdGUgZm9yIHJlYmFzaW5nIGFnYWluc3QgYW1vbmcgdGhlIHJlZnMgdGhhdCB5b3UganVzdCAiCisiZmV0Y2hlZC4iCittc2dzdHIgIuWcqOaCqOWJm+WJm+WPluW+l+WIsOeahOW8leeUqOS4reaykuaciemHjeWumuWfuuW6leWLleS9nOeahOWAmemBuOOAgiIKKworIzogYnVpbHRpbi9wdWxsLmM6NDM5Cittc2dpZCAiIgorIlRoZXJlIGFyZSBubyBjYW5kaWRhdGVzIGZvciBtZXJnaW5nIGFtb25nIHRoZSByZWZzIHRoYXQgeW91IGp1c3QgZmV0Y2hlZC4iCittc2dzdHIgIuWcqOaCqOWJm+WJm+WPluW+l+WIsOeahOW8leeUqOS4reaykuacieWQiOS9teWLleS9nOeahOWAmemBuOOAgiIKKworIzogYnVpbHRpbi9wdWxsLmM6NDQwCittc2dpZCAiIgorIkdlbmVyYWxseSB0aGlzIG1lYW5zIHRoYXQgeW91IHByb3ZpZGVkIGEgd2lsZGNhcmQgcmVmc3BlYyB3aGljaCBoYWQgbm9cbiIKKyJtYXRjaGVzIG9uIHRoZSByZW1vdGUgZW5kLiIKK21zZ3N0ciAi6YCa5bi46YCZ5oSP5ZGz6JGX5oKo5o+Q5L6b5LqG5LiA6JCs55So5a2X5YWD5byV55So6KaP5qC85L2G5pyq6IO95ZKM6YGg56uv56ym5ZCI44CCIgorCisjOiBidWlsdGluL3B1bGwuYzo0NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBhc2tlZCB0byBwdWxsIGZyb20gdGhlIHJlbW90ZSAnJXMnLCBidXQgZGlkIG5vdCBzcGVjaWZ5XG4iCisiYSBicmFuY2guIEJlY2F1c2UgdGhpcyBpcyBub3QgdGhlIGRlZmF1bHQgY29uZmlndXJlZCByZW1vdGVcbiIKKyJmb3IgeW91ciBjdXJyZW50IGJyYW5jaCwgeW91IG11c3Qgc3BlY2lmeSBhIGJyYW5jaCBvbiB0aGUgY29tbWFuZCBsaW5lLiIKK21zZ3N0ciAiIgorIuaCqOimgeaxguW+numBoOerryAnJXMnIOaLieWPlu+8jOS9huaYr+acquaMh+WumuS4gOWAi+WIhuaUr+OAguWboOeCuumAmeS4jeaYr+ebruWJjVxuIgorIuWIhuaUr+mgkOioreeahOmBoOerr+eJiOacrOW6q++8jOaCqOW/hemgiOWcqOaMh+S7pOWIl+S4reaMh+WumuS4gOWAi+WIhuaUr+WQjeOAgiIKKworIzogYnVpbHRpbi9wdWxsLmM6NDQ4IGJ1aWx0aW4vcmViYXNlLmM6MTM3NSBnaXQtcGFyc2UtcmVtb3RlLnNoOjczCittc2dpZCAiWW91IGFyZSBub3QgY3VycmVudGx5IG9uIGEgYnJhbmNoLiIKK21zZ3N0ciAi5oKo55uu5YmN5LiN5Zyo5LiA5YCL5YiG5pSv5LiK44CCIgorCisjOiBidWlsdGluL3B1bGwuYzo0NTAgYnVpbHRpbi9wdWxsLmM6NDY1IGdpdC1wYXJzZS1yZW1vdGUuc2g6NzkKK21zZ2lkICJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gcmViYXNlIGFnYWluc3QuIgorbXNnc3RyICLoq4vmjIflrprmgqjopoHph43lrprln7rlupXliLDlk6rkuIDlgIvliIbmlK/jgIIiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1MiBidWlsdGluL3B1bGwuYzo0NjcgZ2l0LXBhcnNlLXJlbW90ZS5zaDo4MgorbXNnaWQgIlBsZWFzZSBzcGVjaWZ5IHdoaWNoIGJyYW5jaCB5b3Ugd2FudCB0byBtZXJnZSB3aXRoLiIKK21zZ3N0ciAi6KuL5oyH5a6a5oKo6KaB5ZCI5L215ZOq5LiA5YCL5YiG5pSv44CCIgorCisjOiBidWlsdGluL3B1bGwuYzo0NTMgYnVpbHRpbi9wdWxsLmM6NDY4Cittc2dpZCAiU2VlIGdpdC1wdWxsKDEpIGZvciBkZXRhaWxzLiIKK21zZ3N0ciAi6Kmz6KaLIGdpdC1wdWxsKDEp44CCIgorCisjOiBidWlsdGluL3B1bGwuYzo0NTUgYnVpbHRpbi9wdWxsLmM6NDYxIGJ1aWx0aW4vcHVsbC5jOjQ3MAorIzogYnVpbHRpbi9yZWJhc2UuYzoxMzgxIGdpdC1wYXJzZS1yZW1vdGUuc2g6NjQKK21zZ2lkICI8cmVtb3RlPiIKK21zZ3N0ciAiPOmBoOerrz4iCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjQ1NSBidWlsdGluL3B1bGwuYzo0NzAgYnVpbHRpbi9wdWxsLmM6NDc1CisjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjY1Cittc2dpZCAiPGJyYW5jaD4iCittc2dzdHIgIjzliIbmlK8+IgorCisjOiBidWlsdGluL3B1bGwuYzo0NjMgYnVpbHRpbi9yZWJhc2UuYzoxMzczIGdpdC1wYXJzZS1yZW1vdGUuc2g6NzUKK21zZ2lkICJUaGVyZSBpcyBubyB0cmFja2luZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGN1cnJlbnQgYnJhbmNoLiIKK21zZ3N0ciAi55uu5YmN5YiG5pSv5rKS5pyJ6L+96Lmk6KiK5oGv44CCIgorCisjOiBidWlsdGluL3B1bGwuYzo0NzIgZ2l0LXBhcnNlLXJlbW90ZS5zaDo5NQorbXNnaWQgIiIKKyJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDoiCittc2dzdHIgIuWmguaenOaCqOaDs+imgeeCuuatpOWIhuaUr+W7uueri+i/vei5pOioiuaBr++8jOaCqOWPr+S7peWft+ihjO+8miIKKworIzogYnVpbHRpbi9wdWxsLmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3VyIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVzIHRvIG1lcmdlIHdpdGggdGhlIHJlZiAnJXMnXG4iCisiZnJvbSB0aGUgcmVtb3RlLCBidXQgbm8gc3VjaCByZWYgd2FzIGZldGNoZWQuIgorbXNnc3RyICIiCisi5oKo55qE6Kit5a6a5Lit5oyH5a6a6KaB5ZCI5L216YGg56uv55qE5byV55SoICclcyfvvIxcbiIKKyLkvYbmmK/mspLmnInlj5blvpfliLDpgJnlgIvlvJXnlKjjgIIiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gYWNjZXNzIGNvbW1pdCAlcyIKK21zZ3N0ciAi54Sh5rOV5a2Y5Y+W5o+Q5LqkICVzIgorCisjOiBidWlsdGluL3B1bGwuYzo4NjcKK21zZ2lkICJpZ25vcmluZyAtLXZlcmlmeS1zaWduYXR1cmVzIGZvciByZWJhc2UiCittc2dzdHIgIueCuumHjeWumuWfuuW6leWLleS9nOW/veeVpSAtLXZlcmlmeS1zaWduYXR1cmVzIgorCisjOiBidWlsdGluL3B1bGwuYzo5MjIKK21zZ2lkICItLVtuby1dYXV0b3N0YXNoIG9wdGlvbiBpcyBvbmx5IHZhbGlkIHdpdGggLS1yZWJhc2UuIgorbXNnc3RyICItLVtuby1dYXV0b3N0YXNoIOmBuOmgheWPquWcqOS9v+eUqCAtLXJlYmFzZSDmmYLmnInmlYjjgIIiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjkzMAorbXNnaWQgIlVwZGF0aW5nIGFuIHVuYm9ybiBicmFuY2ggd2l0aCBjaGFuZ2VzIGFkZGVkIHRvIHRoZSBpbmRleC4iCittc2dzdHIgIuabtOaWsOWwmuacquiqleeUn+eahOWIhuaUr++8jOiuiuabtOaWsOWinuiHs+e0ouW8leOAgiIKKworIzogYnVpbHRpbi9wdWxsLmM6OTM0Cittc2dpZCAicHVsbCB3aXRoIHJlYmFzZSIKK21zZ3N0ciAi6YeN5a6a5Z+65bqV5byP5ouJ5Y+WIgorCisjOiBidWlsdGluL3B1bGwuYzo5MzUKK21zZ2lkICJwbGVhc2UgY29tbWl0IG9yIHN0YXNoIHRoZW0uIgorbXNnc3RyICLoq4vmj5DkuqTmiJblhLLol4/lroPlgJHjgIIiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjk2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiZmV0Y2ggdXBkYXRlZCB0aGUgY3VycmVudCBicmFuY2ggaGVhZC5cbiIKKyJmYXN0LWZvcndhcmRpbmcgeW91ciB3b3JraW5nIHRyZWUgZnJvbVxuIgorImNvbW1pdCAlcy4iCittc2dzdHIgIiIKKyJmZXRjaCDmm7TmlrDkuobnm67liY3nmoTliIbmlK/jgILlv6vovYnmgqjnmoTlt6XkvZzljYBcbiIKKyLoh7Pmj5DkuqQgJXPjgIIiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjk2NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2Fubm90IGZhc3QtZm9yd2FyZCB5b3VyIHdvcmtpbmcgdHJlZS5cbiIKKyJBZnRlciBtYWtpbmcgc3VyZSB0aGF0IHlvdSBzYXZlZCBhbnl0aGluZyBwcmVjaW91cyBmcm9tXG4iCisiJCBnaXQgZGlmZiAlc1xuIgorIm91dHB1dCwgcnVuXG4iCisiJCBnaXQgcmVzZXQgLS1oYXJkXG4iCisidG8gcmVjb3Zlci4iCittc2dzdHIgIiIKKyLmgqjnm67liY3nmoTlt6XkvZzljYDnhKHms5Xln7fooYzlv6vovYnli5XkvZzjgIJcbiIKKyLpppblhYjln7fooYzlpoLkuIvmjIfku6TvvJpcbiIKKyIkIGdpdCBkaWZmICVzXG4iCisi5Lul56K66KqN5omA5pyJ5pyJ55So55qE6LOH5paZ5Z2H5bey5YSy5a2Y44CC54S25b6M5Z+36KGM5LiL6Z2i55qE5oyH5LukXG4iCisiJCBnaXQgcmVzZXQgLS1oYXJkXG4iCisi5b6p5Y6f5LmL5YmN55qE54uA5oWL44CCIgorCisjOiBidWlsdGluL3B1bGwuYzo5ODEKK21zZ2lkICJDYW5ub3QgbWVyZ2UgbXVsdGlwbGUgYnJhbmNoZXMgaW50byBlbXB0eSBoZWFkLiIKK21zZ3N0ciAi54Sh5rOV5bCH5aSa5YCL5YiG5pSv5ZCI5L215Yiw56m65YiG5pSv44CCIgorCisjOiBidWlsdGluL3B1bGwuYzo5ODUKK21zZ2lkICJDYW5ub3QgcmViYXNlIG9udG8gbXVsdGlwbGUgYnJhbmNoZXMuIgorbXNnc3RyICLnhKHms5Xph43lrprln7rlupXliLDlpJrlgIvliIbmlK/jgIIiCisKKyM6IGJ1aWx0aW4vcHVsbC5jOjk5MgorbXNnaWQgImNhbm5vdCByZWJhc2Ugd2l0aCBsb2NhbGx5IHJlY29yZGVkIHN1Ym1vZHVsZSBtb2RpZmljYXRpb25zIgorbXNnc3RyICLmnKzmqZ/lrZDmqKHntYTkuK3mnInkv67mlLnvvIznhKHms5Xph43lrprln7rlupUiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjE5Cittc2dpZCAiZ2l0IHB1c2ggWzxvcHRpb25zPl0gWzxyZXBvc2l0b3J5PiBbPHJlZnNwZWM+Li4uXV0iCittc2dzdHIgImdpdCBwdXNoIFs86YG46aCFPl0gWzzniYjmnKzluqs+IFs85byV55So6KaP5qC8Pi4uLl1dIgorCisjOiBidWlsdGluL3B1c2guYzoxMTIKK21zZ2lkICJ0YWcgc2hvcnRoYW5kIHdpdGhvdXQgPHRhZz4iCittc2dzdHIgIuaomeexpOW+jOmdouacquaPkOS+myA85qiZ57GkPiDlj4PmlbgiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjEyMgorbXNnaWQgIi0tZGVsZXRlIG9ubHkgYWNjZXB0cyBwbGFpbiB0YXJnZXQgcmVmIG5hbWVzIgorbXNnc3RyICItLWRlbGV0ZSDlj6rmjqXlj5fnsKHllq7nmoTnm67mqJnlvJXnlKjlkI0iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjE2OAorbXNnaWQgIiIKKyJcbiIKKyJUbyBjaG9vc2UgZWl0aGVyIG9wdGlvbiBwZXJtYW5lbnRseSwgc2VlIHB1c2guZGVmYXVsdCBpbiAnZ2l0IGhlbHAgY29uZmlnJy4iCittc2dzdHIgIiIKKyJcbiIKKyLngrrkuobmsLjkuYXlnLDpgbjmk4fku7vkuIDpgbjpoIXvvIzlj4PoposgJ2dpdCBoZWxwIGNvbmZpZycg5Lit55qEIHB1c2guZGVmYXVsdOOAgiIKKworIzogYnVpbHRpbi9wdXNoLmM6MTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgdXBzdHJlYW0gYnJhbmNoIG9mIHlvdXIgY3VycmVudCBicmFuY2ggZG9lcyBub3QgbWF0Y2hcbiIKKyJ0aGUgbmFtZSBvZiB5b3VyIGN1cnJlbnQgYnJhbmNoLiAgVG8gcHVzaCB0byB0aGUgdXBzdHJlYW0gYnJhbmNoXG4iCisib24gdGhlIHJlbW90ZSwgdXNlXG4iCisiXG4iCisiICAgIGdpdCBwdXNoICVzIEhFQUQ6JXNcbiIKKyJcbiIKKyJUbyBwdXNoIHRvIHRoZSBicmFuY2ggb2YgdGhlIHNhbWUgbmFtZSBvbiB0aGUgcmVtb3RlLCB1c2VcbiIKKyJcbiIKKyIgICAgZ2l0IHB1c2ggJXMgSEVBRFxuIgorIiVzIgorbXNnc3RyICIiCisi5oKo55uu5YmN5YiG5pSv55qE5LiK5ri45YiG5pSv5ZKM5oKo55uu5YmN5YiG5pSv5ZCN5LiN56ym5ZCI77yM54K65o6o6YCB5Yiw6YGg56uv55qE5LiK5ri45YiG5pSv77yMXG4iCisi5L2/55SoXG4iCisiXG4iCisiICAgIGdpdCBwdXNoICVzIEhFQUQ6JXNcbiIKKyJcbiIKKyLngrrmjqjpgIHoh7PpgaDnq6/lkIzlkI3liIbmlK/vvIzkvb/nlKhcbiIKKyJcbiIKKyIgICAgZ2l0IHB1c2ggJXMgSEVBRFxuIgorIiVzIgorCisjOiBidWlsdGluL3B1c2guYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBhcmUgbm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaC5cbiIKKyJUbyBwdXNoIHRoZSBoaXN0b3J5IGxlYWRpbmcgdG8gdGhlIGN1cnJlbnQgKGRldGFjaGVkIEhFQUQpXG4iCisic3RhdGUgbm93LCB1c2VcbiIKKyJcbiIKKyIgICAgZ2l0IHB1c2ggJXMgSEVBRDo8bmFtZS1vZi1yZW1vdGUtYnJhbmNoPlxuIgorbXNnc3RyICIiCisi5oKo55uu5YmN5LiN5Zyo5LiA5YCL5YiG5pSv5LiK44CCXG4iCisi54++5Zyo54K65o6o6YCB55uu5YmN77yI5YiG6Zui6ZaL6aCt5oyH5qiZ77yJ55qE5q235Y+y77yM5L2/55SoXG4iCisiXG4iCisiICAgIGdpdCBwdXNoICVzIEhFQUQ6POmBoOerr+WIhuaUr+WQjeWtlz5cbiIKKworIzogYnVpbHRpbi9wdXNoLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgY3VycmVudCBicmFuY2ggJXMgaGFzIG5vIHVwc3RyZWFtIGJyYW5jaC5cbiIKKyJUbyBwdXNoIHRoZSBjdXJyZW50IGJyYW5jaCBhbmQgc2V0IHRoZSByZW1vdGUgYXMgdXBzdHJlYW0sIHVzZVxuIgorIlxuIgorIiAgICBnaXQgcHVzaCAtLXNldC11cHN0cmVhbSAlcyAlc1xuIgorbXNnc3RyICIiCisi55uu5YmN5YiG5pSvICVzIOaykuacieWwjeaHieeahOS4iua4uOWIhuaUr+OAglxuIgorIueCuuaOqOmAgeebruWJjeWIhuaUr+S4puW7uueri+iIh+mBoOerr+S4iua4uOeahOi/vei5pO+8jOS9v+eUqFxuIgorIlxuIgorIiAgICBnaXQgcHVzaCAtLXNldC11cHN0cmVhbSAlcyAlc1xuIgorCisjOiBidWlsdGluL3B1c2guYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYnJhbmNoICVzIGhhcyBtdWx0aXBsZSB1cHN0cmVhbSBicmFuY2hlcywgcmVmdXNpbmcgdG8gcHVzaC4iCittc2dzdHIgIuebruWJjeWIhuaUryAlcyDmnInlpJrlgIvkuIrmuLjliIbmlK/vvIzmi5LntZXmjqjpgIHjgIIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGFyZSBwdXNoaW5nIHRvIHJlbW90ZSAnJXMnLCB3aGljaCBpcyBub3QgdGhlIHVwc3RyZWFtIG9mXG4iCisieW91ciBjdXJyZW50IGJyYW5jaCAnJXMnLCB3aXRob3V0IHRlbGxpbmcgbWUgd2hhdCB0byBwdXNoXG4iCisidG8gdXBkYXRlIHdoaWNoIHJlbW90ZSBicmFuY2guIgorbXNnc3RyICIiCisi5oKo5q2j5o6o6YCB6Iez6YGg56uvICclcyfvvIjlhbbkuKbpnZ7nm67liY3liIbmlK8gJyVzJyDnmoTkuIrmuLjvvInvvIxcbiIKKyLogIzmspLmnInlkYroqLTmiJHopoHmjqjpgIHku4DpurzjgIHmm7TmlrDlk6rlgIvpgaDnq6/liIbmlK/jgIIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjI3MAorbXNnaWQgIiIKKyJZb3UgZGlkbid0IHNwZWNpZnkgYW55IHJlZnNwZWNzIHRvIHB1c2gsIGFuZCBwdXNoLmRlZmF1bHQgaXMgXCJub3RoaW5nXCIuIgorbXNnc3RyICLmgqjmspLmnInngrrmjqjpgIHmjIflrprku7vkvZXlvJXnlKjopo/moLzvvIzkuKbkuJQgcHVzaC5kZWZhdWx0IOeCuiBcIm5vdGhpbmdcIuOAgiIKKworIzogYnVpbHRpbi9wdXNoLmM6Mjc3Cittc2dpZCAiIgorIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSB0aXAgb2YgeW91ciBjdXJyZW50IGJyYW5jaCBpcyBiZWhpbmRcbiIKKyJpdHMgcmVtb3RlIGNvdW50ZXJwYXJ0LiBJbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzIChlLmcuXG4iCisiJ2dpdCBwdWxsIC4uLicpIGJlZm9yZSBwdXNoaW5nIGFnYWluLlxuIgorIlNlZSB0aGUgJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCcgZm9yIGRldGFpbHMuIgorbXNnc3RyICIiCisi5pu05paw6KKr5ouS57WV77yM5Zug54K65oKo55uu5YmN5YiG5pSv55qE5pyA5paw5o+Q5Lqk6JC95b6M5pa85YW25bCN5oeJ55qE6YGg56uv5YiG5pSv44CCXG4iCisi5YaN5qyh5o6o6YCB5YmN77yM5YWI6IiH6YGg56uv6K6K5pu05ZCI5L2177yI5aaCICdnaXQgcHVsbCAuLi4n77yJ44CC6Kmz6KaLXG4iCisiJ2dpdCBwdXNoIC0taGVscCcg5Lit55qEICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIOWwj+evgOOAgiIKKworIzogYnVpbHRpbi9wdXNoLmM6MjgzCittc2dpZCAiIgorIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIGEgcHVzaGVkIGJyYW5jaCB0aXAgaXMgYmVoaW5kIGl0cyByZW1vdGVcbiIKKyJjb3VudGVycGFydC4gQ2hlY2sgb3V0IHRoaXMgYnJhbmNoIGFuZCBpbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzXG4iCisiKGUuZy4gJ2dpdCBwdWxsIC4uLicpIGJlZm9yZSBwdXNoaW5nIGFnYWluLlxuIgorIlNlZSB0aGUgJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycgaW4gJ2dpdCBwdXNoIC0taGVscCcgZm9yIGRldGFpbHMuIgorbXNnc3RyICIiCisi5pu05paw6KKr5ouS57WV77yM5Zug54K65o6o6YCB55qE5LiA5YCL5YiG5pSv55qE5pyA5paw5o+Q5Lqk6JC95b6M5pa85YW25bCN5oeJ55qE6YGg56uv5YiG5pSv44CCXG4iCisi57C95Ye66Kmy5YiG5pSv5Lim5pW05ZCI6YGg56uv6K6K5pu077yI5aaCICdnaXQgcHVsbCAuLi4n77yJ77yM54S25b6M5YaN5o6o6YCB44CC6Kmz6KaLXG4iCisiJ2dpdCBwdXNoIC0taGVscCcg5Lit55qEICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIOWwj+evgOOAgiIKKworIzogYnVpbHRpbi9wdXNoLmM6Mjg5Cittc2dpZCAiIgorIlVwZGF0ZXMgd2VyZSByZWplY3RlZCBiZWNhdXNlIHRoZSByZW1vdGUgY29udGFpbnMgd29yayB0aGF0IHlvdSBkb1xuIgorIm5vdCBoYXZlIGxvY2FsbHkuIFRoaXMgaXMgdXN1YWxseSBjYXVzZWQgYnkgYW5vdGhlciByZXBvc2l0b3J5IHB1c2hpbmdcbiIKKyJ0byB0aGUgc2FtZSByZWYuIFlvdSBtYXkgd2FudCB0byBmaXJzdCBpbnRlZ3JhdGUgdGhlIHJlbW90ZSBjaGFuZ2VzXG4iCisiKGUuZy4sICdnaXQgcHVsbCAuLi4nKSBiZWZvcmUgcHVzaGluZyBhZ2Fpbi5cbiIKKyJTZWUgdGhlICdOb3RlIGFib3V0IGZhc3QtZm9yd2FyZHMnIGluICdnaXQgcHVzaCAtLWhlbHAnIGZvciBkZXRhaWxzLiIKK21zZ3N0ciAiIgorIuWboOeCuumBoOerr+eJiOacrOW6q+WMheWQq+aCqOacrOapn+WwmuS4jeWtmOWcqOeahOaPkOS6pO+8jOiAjOWwjuiHtOabtOaWsOiiq+aLkue1leOAgumAmemAmuW4uOaYr+WboOeCuuWPpuWkllxuIgorIuS4gOWAi+eJiOacrOW6q+W3suWQkeipsuW8leeUqOmAsuihjOS6huaOqOmAgeOAguWGjeasoeaOqOmAgeWJje+8jOaCqOWPr+iDvemcgOimgeWFiOaVtOWQiOmBoOerr+iuiuabtFxuIgorIu+8iOWmgiAnZ2l0IHB1bGwgLi4uJ++8ieOAglxuIgorIuips+imiyAnZ2l0IHB1c2ggLS1oZWxwJyDkuK3nmoQgJ05vdGUgYWJvdXQgZmFzdC1mb3J3YXJkcycg5bCP56+A44CCIgorCisjOiBidWlsdGluL3B1c2guYzoyOTYKK21zZ2lkICJVcGRhdGVzIHdlcmUgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgdGFnIGFscmVhZHkgZXhpc3RzIGluIHRoZSByZW1vdGUuIgorbXNnc3RyICLmm7TmlrDooqvmi5LntZXvvIzlm6DngrroqbLmqJnnsaTlnKjpgaDnq6/lt7LntpPlrZjlnKjjgIIiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjI5OQorbXNnaWQgIiIKKyJZb3UgY2Fubm90IHVwZGF0ZSBhIHJlbW90ZSByZWYgdGhhdCBwb2ludHMgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKKyJvciB1cGRhdGUgYSByZW1vdGUgcmVmIHRvIG1ha2UgaXQgcG9pbnQgYXQgYSBub24tY29tbWl0IG9iamVjdCxcbiIKKyJ3aXRob3V0IHVzaW5nIHRoZSAnLS1mb3JjZScgb3B0aW9uLlxuIgorbXNnc3RyICIiCisi5aaC5p6c5LiN5L2/55SoICctLWZvcmNlJyDlj4PmlbjvvIzmgqjkuI3og73mm7TmlrDkuIDlgIvmjIflkJHpnZ7mj5DkuqTnianku7bnmoTpgaDnq6/lvJXnlKjvvIxcbiIKKyLkuZ/kuI3og73mm7TmlrDpgaDnq6/lvJXnlKjorpPlhbbmjIflkJHkuIDlgIvpnZ7mj5DkuqTnianku7bjgIJcbiIKKworIzogYnVpbHRpbi9wdXNoLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlB1c2hpbmcgdG8gJXNcbiIKK21zZ3N0ciAi5o6o6YCB5YiwICVzXG4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjM2NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcHVzaCBzb21lIHJlZnMgdG8gJyVzJyIKK21zZ3N0ciAi5o6o6YCB5LiA5Lqb5byV55So5YiwICclcycg5aSx5pWXIgorCisjOiBidWlsdGluL3B1c2guYzo1NDIKK21zZ2lkICJyZXBvc2l0b3J5IgorbXNnc3RyICLniYjmnKzluqsiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0MyBidWlsdGluL3NlbmQtcGFjay5jOjE2NAorbXNnaWQgInB1c2ggYWxsIHJlZnMiCittc2dzdHIgIuaOqOmAgeaJgOacieW8leeUqCIKKworIzogYnVpbHRpbi9wdXNoLmM6NTQ0IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTY2Cittc2dpZCAibWlycm9yIGFsbCByZWZzIgorbXNnc3RyICLpj6Hlg4/miYDmnInlvJXnlKgiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NgorbXNnaWQgImRlbGV0ZSByZWZzIgorbXNnc3RyICLliKrpmaTlvJXnlKgiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU0NworbXNnaWQgInB1c2ggdGFncyAoY2FuJ3QgYmUgdXNlZCB3aXRoIC0tYWxsIG9yIC0tbWlycm9yKSIKK21zZ3N0ciAi5o6o6YCB5qiZ57Gk77yI5LiN6IO95L2/55SoIC0tYWxsIG9yIC0tbWlycm9y77yJIgorCisjOiBidWlsdGluL3B1c2guYzo1NTAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjcKK21zZ2lkICJmb3JjZSB1cGRhdGVzIgorbXNnc3RyICLlvLfliLbmm7TmlrAiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MiBidWlsdGluL3NlbmQtcGFjay5jOjE4MQorbXNnaWQgIjxyZWZuYW1lPjo8ZXhwZWN0PiIKK21zZ3N0ciAiPOW8leeUqOWQjT46POacn+acm+WAvD4iCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1MyBidWlsdGluL3NlbmQtcGFjay5jOjE4MgorbXNnaWQgInJlcXVpcmUgb2xkIHZhbHVlIG9mIHJlZiB0byBiZSBhdCB0aGlzIHZhbHVlIgorbXNnc3RyICLopoHmsYLlvJXnlKjoiIrnmoTlj5blgLzngrroqK3lrprlgLwiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1NgorbXNnaWQgImNvbnRyb2wgcmVjdXJzaXZlIHB1c2hpbmcgb2Ygc3VibW9kdWxlcyIKK21zZ3N0ciAi5o6n5Yi25a2Q5qih57WE55qE6YGe6L+05o6o6YCBIgorCisjOiBidWlsdGluL3B1c2guYzo1NTggYnVpbHRpbi9zZW5kLXBhY2suYzoxNzUKK21zZ2lkICJ1c2UgdGhpbiBwYWNrIgorbXNnc3RyICLkvb/nlKjnsr7nsKHmiZPljIUiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU1OSBidWlsdGluL3B1c2guYzo1NjAgYnVpbHRpbi9zZW5kLXBhY2suYzoxNjEKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYyCittc2dpZCAicmVjZWl2ZSBwYWNrIHByb2dyYW0iCittc2dzdHIgIuaOpeaUtuWMheeoi+W8jyIKKworIzogYnVpbHRpbi9wdXNoLmM6NTYxCittc2dpZCAic2V0IHVwc3RyZWFtIGZvciBnaXQgcHVsbC9zdGF0dXMiCittc2dzdHIgIuioreWumiBnaXQgcHVsbC9zdGF0dXMg55qE5LiK5ri4IgorCisjOiBidWlsdGluL3B1c2guYzo1NjQKK21zZ2lkICJwcnVuZSBsb2NhbGx5IHJlbW92ZWQgcmVmcyIKK21zZ3N0ciAi5riF6Zmk5pys5qmf5Yiq6Zmk55qE5byV55SoIgorCisjOiBidWlsdGluL3B1c2guYzo1NjYKK21zZ2lkICJieXBhc3MgcHJlLXB1c2ggaG9vayIKK21zZ3N0ciAi57me6YGOIHByZS1wdXNoIOaOm+mJpCIKKworIzogYnVpbHRpbi9wdXNoLmM6NTY3Cittc2dpZCAicHVzaCBtaXNzaW5nIGJ1dCByZWxldmFudCB0YWdzIgorbXNnc3RyICLmjqjpgIHnvLrlsJHkvYbmnInpl5znmoTmqJnnsaQiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjU3MCBidWlsdGluL3NlbmQtcGFjay5jOjE2OQorbXNnaWQgIkdQRyBzaWduIHRoZSBwdXNoIgorbXNnc3RyICLnlKggR1BHIOeCuuaOqOmAgeewveWQjSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTcyIGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc2Cittc2dpZCAicmVxdWVzdCBhdG9taWMgdHJhbnNhY3Rpb24gb24gcmVtb3RlIHNpZGUiCittc2dzdHIgIumcgOimgemBoOerr+aUr+aPtOWOn+WtkOS6i+WLmSIKKworIzogYnVpbHRpbi9wdXNoLmM6NTkwCittc2dpZCAiLS1kZWxldGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1hbGwsIC0tbWlycm9yIGFuZCAtLXRhZ3MiCittc2dzdHIgIi0tZGVsZXRlIOiIhyAtLWFsbOOAgS0tbWlycm9yIOWPiiAtLXRhZ3Mg5LiN55u45a65IgorCisjOiBidWlsdGluL3B1c2guYzo1OTIKK21zZ2lkICItLWRlbGV0ZSBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBhbnkgcmVmcyIKK21zZ3N0ciAiLS1kZWxldGUg5pyq5o6l5Lu75L2V5byV55So5rKS5pyJ5oSP576pIgorCisjOiBidWlsdGluL3B1c2guYzo2MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJlcG9zaXRvcnkgJyVzJyIKK21zZ3N0ciAi5aOe55qE54mI5pys5bqrICclcyciCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjYxMworbXNnaWQgIiIKKyJObyBjb25maWd1cmVkIHB1c2ggZGVzdGluYXRpb24uXG4iCisiRWl0aGVyIHNwZWNpZnkgdGhlIFVSTCBmcm9tIHRoZSBjb21tYW5kLWxpbmUgb3IgY29uZmlndXJlIGEgcmVtb3RlICIKKyJyZXBvc2l0b3J5IHVzaW5nXG4iCisiXG4iCisiICAgIGdpdCByZW1vdGUgYWRkIDxuYW1lPiA8dXJsPlxuIgorIlxuIgorImFuZCB0aGVuIHB1c2ggdXNpbmcgdGhlIHJlbW90ZSBuYW1lXG4iCisiXG4iCisiICAgIGdpdCBwdXNoIDxuYW1lPlxuIgorbXNnc3RyICIiCisi5rKS5pyJ6Kit5a6a5o6o6YCB55uu5qiZ44CCXG4iCisi5oiW6YCP6YGO5oyH5Luk5YiX5oyH5a6aIFVSTO+8jOaIlueUqOS4i+mdouaMh+S7pOioreWumuS4gOWAi+mBoOerr+eJiOacrOW6q1xuIgorIlxuIgorIiAgICBnaXQgcmVtb3RlIGFkZCA85ZCN56ixPiA85L2N5Z2APlxuIgorIlxuIgorIueEtuW+jOS9v+eUqOipsumBoOerr+eJiOacrOW6q+WQjeWft+ihjOaOqOmAgVxuIgorIlxuIgorIiAgICBnaXQgcHVzaCA85ZCN56ixPlxuIgorCisjOiBidWlsdGluL3B1c2guYzo2MjgKK21zZ2lkICItLWFsbCBhbmQgLS10YWdzIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIi0tYWxsIOWSjCAtLXRhZ3Mg5LiN55u45a65IgorCisjOiBidWlsdGluL3B1c2guYzo2MzAKK21zZ2lkICItLWFsbCBjYW4ndCBiZSBjb21iaW5lZCB3aXRoIHJlZnNwZWNzIgorbXNnc3RyICItLWFsbCDkuI3og73lkozlvJXnlKjopo/moLzlkIzmmYLkvb/nlKgiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzNAorbXNnaWQgIi0tbWlycm9yIGFuZCAtLXRhZ3MgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiLS1taXJyb3Ig5ZKMIC0tdGFncyDkuI3nm7jlrrkiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjYzNgorbXNnaWQgIi0tbWlycm9yIGNhbid0IGJlIGNvbWJpbmVkIHdpdGggcmVmc3BlY3MiCittc2dzdHIgIi0tbWlycm9yIOS4jeiDveWSjOW8leeUqOimj+agvOWQjOaZguS9v+eUqCIKKworIzogYnVpbHRpbi9wdXNoLmM6NjM5Cittc2dpZCAiLS1hbGwgYW5kIC0tbWlycm9yIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIi0tYWxsIOWSjCAtLW1pcnJvciDkuI3nm7jlrrkiCisKKyM6IGJ1aWx0aW4vcHVzaC5jOjY0MworbXNnaWQgInB1c2ggb3B0aW9ucyBtdXN0IG5vdCBoYXZlIG5ldyBsaW5lIGNoYXJhY3RlcnMiCittc2dzdHIgIuaOqOmAgemBuOmgheS4jeiDveacieaPm+ihjOespuiZnyIKKworIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6OAorbXNnaWQgImdpdCByYW5nZS1kaWZmIFs8b3B0aW9ucz5dIDxvbGQtYmFzZT4uLjxvbGQtdGlwPiA8bmV3LWJhc2U+Li48bmV3LXRpcD4iCittc2dzdHIgImdpdCByYW5nZS1kaWZmIFs86YG46aCFPl0gPG9sZC1iYXNlPi4uPG9sZC10aXA+IDxuZXctYmFzZT4uLjxuZXctdGlwPiIKKworIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6OQorbXNnaWQgImdpdCByYW5nZS1kaWZmIFs8b3B0aW9ucz5dIDxvbGQtdGlwPi4uLjxuZXctdGlwPiIKK21zZ3N0ciAiZ2l0IHJhbmdlLWRpZmYgWzzpgbjpoIU+XSA8b2xkLXRpcD4uLi48bmV3LXRpcD4iCisKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjEwCittc2dpZCAiZ2l0IHJhbmdlLWRpZmYgWzxvcHRpb25zPl0gPGJhc2U+IDxvbGQtdGlwPiA8bmV3LXRpcD4iCittc2dzdHIgImdpdCByYW5nZS1kaWZmIFs86YG46aCFPl0gPGJhc2U+IDxvbGQtdGlwPiA8bmV3LXRpcD4iCisKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjIyCittc2dpZCAiUGVyY2VudGFnZSBieSB3aGljaCBjcmVhdGlvbiBpcyB3ZWlnaHRlZCIKK21zZ3N0ciAi5bu656uL5qyK6YeN55qE55m+5YiG5q+UIgorCisjOiBidWlsdGluL3JhbmdlLWRpZmYuYzoyNAorbXNnaWQgInVzZSBzaW1wbGUgZGlmZiBjb2xvcnMiCittc2dzdHIgIuS9v+eUqOewoeWWruW3rueVsOmhj+iJsiIKKworIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjYKKyN8IG1zZ2lkICJub3Rlcy1yZWYiCittc2dpZCAibm90ZXMiCittc2dzdHIgIuiou+inoyIKKworIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6MjYKKyN8IG1zZ2lkICJwYXNzZWQgdG8gJ2dpdCBhbSciCittc2dpZCAicGFzc2VkIHRvICdnaXQgbG9nJyIKK21zZ3N0ciAi5YKz6YGe57WmICdnaXQgbG9nJyIKKworIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NTAgYnVpbHRpbi9yYW5nZS1kaWZmLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gLi4gaW4gcmFuZ2U6ICclcyciCittc2dzdHIgIuaykuacieWcqOevhOWcjeS4reS9v+eUqCAuLu+8miclcyciCisKKyM6IGJ1aWx0aW4vcmFuZ2UtZGlmZi5jOjY0Cittc2dpZCAic2luZ2xlIGFyZyBmb3JtYXQgbXVzdCBiZSBzeW1tZXRyaWMgcmFuZ2UiCittc2dzdHIgIuWWruWAi+WPg+aVuOagvOW8j+W/hemgiOaYr+WwjeeoseevhOWcje+8iOWNs+WMheWQqy4uLu+8iSIKKworIzogYnVpbHRpbi9yYW5nZS1kaWZmLmM6NzkKK21zZ2lkICJuZWVkIHR3byBjb21taXQgcmFuZ2VzIgorbXNnc3RyICLpnIDopoHlhanlgIvmj5DkuqTnr4TlnI0iCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6NDEKK21zZ2lkICIiCisiZ2l0IHJlYWQtdHJlZSBbKC1tIFstLXRyaXZpYWxdIFstLWFnZ3Jlc3NpdmVdIHwgLS1yZXNldCB8IC0tcHJlZml4PTxwcmVmaXg+KSAiCisiWy11IFstLWV4Y2x1ZGUtcGVyLWRpcmVjdG9yeT08Z2l0aWdub3JlPl0gfCAtaV1dIFstLW5vLXNwYXJzZS1jaGVja291dF0gWy0tIgorImluZGV4LW91dHB1dD08ZmlsZT5dICgtLWVtcHR5IHwgPHRyZWUtaXNoMT4gWzx0cmVlLWlzaDI+IFs8dHJlZS1pc2gzPl1dKSIKK21zZ3N0ciAiIgorImdpdCByZWFkLXRyZWUgWygtbSBbLS10cml2aWFsXSBbLS1hZ2dyZXNzaXZlXSB8IC0tcmVzZXQgfCAtLXByZWZpeD085YmN57a0PikgWy0iCisidSBbLS1leGNsdWRlLXBlci1kaXJlY3Rvcnk9PGdpdGlnbm9yZT5dIHwgLWldXSBbLS1uby1zcGFyc2UtY2hlY2tvdXRdIFstLSIKKyJpbmRleC1vdXRwdXQ9POaqlOahiD5dICgtLWVtcHR5IHwgPOaoueeLgOeJqeS7tjE+IFs85qi554uA54mp5Lu2Mj4gWzzmqLnni4Dnianku7YzPl1dKSIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjQKK21zZ2lkICJ3cml0ZSByZXN1bHRpbmcgaW5kZXggdG8gPGZpbGU+IgorbXNnc3RyICLlsIfntKLlvJXntZDmnpzlr6vlhaUgPOaqlOahiD4iCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTI3Cittc2dpZCAib25seSBlbXB0eSB0aGUgaW5kZXgiCittc2dzdHIgIuWPquaYr+a4heepuue0ouW8lSIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMjkKK21zZ2lkICJNZXJnaW5nIgorbXNnc3RyICLlkIjkvbUiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTMxCittc2dpZCAicGVyZm9ybSBhIG1lcmdlIGluIGFkZGl0aW9uIHRvIGEgcmVhZCIKK21zZ3N0ciAi6K6A5Y+W5LmL6aSY5YaN5Z+36KGM5LiA5YCL5ZCI5L21IgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzMworbXNnaWQgIjMtd2F5IG1lcmdlIGlmIG5vIGZpbGUgbGV2ZWwgbWVyZ2luZyByZXF1aXJlZCIKK21zZ3N0ciAi5aaC5p6c5rKS5pyJ5qqU5qGI57Sa5ZCI5L216ZyA6KaB77yM5Z+36KGM5LiJ5pa55ZCI5L21IgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjEzNQorbXNnaWQgIjMtd2F5IG1lcmdlIGluIHByZXNlbmNlIG9mIGFkZHMgYW5kIHJlbW92ZXMiCittc2dzdHIgIuWtmOWcqOaWsOWinuWSjOWIqumZpOaZgu+8jOS5n+Wft+ihjOS4ieaWueWQiOS9tSIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxMzcKK21zZ2lkICJzYW1lIGFzIC1tLCBidXQgZGlzY2FyZCB1bm1lcmdlZCBlbnRyaWVzIgorbXNnc3RyICLpoZ7kvLzmlrwgLW3vvIzkvYbmjajmo4TmnKrlkIjkvbXnmoTmop3nm64iCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM4Cittc2dpZCAiPHN1YmRpcmVjdG9yeT4vIgorbXNnc3RyICI85a2Q55uu6YyEPi8iCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTM5Cittc2dpZCAicmVhZCB0aGUgdHJlZSBpbnRvIHRoZSBpbmRleCB1bmRlciA8c3ViZGlyZWN0b3J5Pi8iCittc2dzdHIgIuiugOWPluaoueeLgOeJqeS7tuWIsOe0ouW8leeahCA85a2Q55uu6YyEPi8g5LiLIgorCisjOiBidWlsdGluL3JlYWQtdHJlZS5jOjE0MgorbXNnaWQgInVwZGF0ZSB3b3JraW5nIHRyZWUgd2l0aCBtZXJnZSByZXN1bHQiCittc2dzdHIgIueUqOWQiOS9teeahOe1kOaenOabtOaWsOW3peS9nOWNgCIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDQKK21zZ2lkICJnaXRpZ25vcmUiCittc2dzdHIgImdpdGlnbm9yZSIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDUKK21zZ2lkICJhbGxvdyBleHBsaWNpdGx5IGlnbm9yZWQgZmlsZXMgdG8gYmUgb3ZlcndyaXR0ZW4iCittc2dzdHIgIuWFgeioseW/veeVpeaqlOahiOS4reioreWumueahOaqlOahiOWPr+S7peiiq+imhuiTiyIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDgKK21zZ2lkICJkb24ndCBjaGVjayB0aGUgd29ya2luZyB0cmVlIGFmdGVyIG1lcmdpbmciCittc2dzdHIgIuWQiOS9teW+jOS4jeaqouafpeW3peS9nOWNgCIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNDkKK21zZ2lkICJkb24ndCB1cGRhdGUgdGhlIGluZGV4IG9yIHRoZSB3b3JrIHRyZWUiCittc2dzdHIgIuS4jeabtOaWsOe0ouW8leWNgOWSjOW3peS9nOWNgCIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTEKK21zZ2lkICJza2lwIGFwcGx5aW5nIHNwYXJzZSBjaGVja291dCBmaWx0ZXIiCittc2dzdHIgIui3s+mBjuaHieeUqOeogOeWj+ewveWHuumBjua/vuWZqCIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxNTMKK21zZ2lkICJkZWJ1ZyB1bnBhY2stdHJlZXMiCittc2dzdHIgIumZpOmMryB1bnBhY2stdHJlZXMiCisKKyM6IGJ1aWx0aW4vcmVhZC10cmVlLmM6MTU3Cittc2dpZCAic3VwcHJlc3MgZmVlZGJhY2sgbWVzc2FnZXMiCittc2dzdHIgIuaKkeWItuWbnumli+ioiuaBryIKKworIzogYnVpbHRpbi9yZWFkLXRyZWUuYzoxODgKKyN8IG1zZ2lkICJ5b3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKK21zZ2lkICJZb3UgbmVlZCB0byByZXNvbHZlIHlvdXIgY3VycmVudCBpbmRleCBmaXJzdCIKK21zZ3N0ciAi5oKo6ZyA6KaB5YWI6Kej5rG655uu5YmN57Si5byV55qE6KGd56qBIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjMyCittc2dpZCAiIgorImdpdCByZWJhc2UgWy1pXSBbb3B0aW9uc10gWy0tZXhlYyA8Y21kPl0gWy0tb250byA8bmV3YmFzZT4gfCAtLWtlZXAtYmFzZV0gIgorIls8dXBzdHJlYW0+IFs8YnJhbmNoPl1dIgorbXNnc3RyICIiCisiZ2l0IHJlYmFzZSBbLWldIFtvcHRpb25zXSBbLS1leGVjIDzmjIfku6Q+XSBbLS1vbnRvIDzmlrDln7rnpI4+IHwgLS1rZWVwLWJhc2VdIFs8IgorIuS4iua4uD4gWzzliIbmlK8+XV0iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzQKK21zZ2lkICIiCisiZ2l0IHJlYmFzZSBbLWldIFtvcHRpb25zXSBbLS1leGVjIDxjbWQ+XSBbLS1vbnRvIDxuZXdiYXNlPl0gLS1yb290IFs8YnJhbmNoPl0iCittc2dzdHIgImdpdCByZWJhc2UgWy1pXSBb6YG46aCFXSBbLS1leGVjIDzmjIfku6Q+XSBbLS1vbnRvIDzmlrDln7rnpI4+XSAtLXJvb3QgWzzliIbmlK8+XSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzozNgorbXNnaWQgImdpdCByZWJhc2UgLS1jb250aW51ZSB8IC0tYWJvcnQgfCAtLXNraXAgfCAtLWVkaXQtdG9kbyIKK21zZ3N0ciAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIHwgLS1hYm9ydCB8IC0tc2tpcCB8IC0tZWRpdC10b2RvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE3NyBidWlsdGluL3JlYmFzZS5jOjIwMSBidWlsdGluL3JlYmFzZS5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnVzYWJsZSB0b2RvIGxpc3Q6ICclcyciCittc2dzdHIgIuS4jeWPr+eUqOeahOW+hei+puWIl+ihqO+8miclcyciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg2IGJ1aWx0aW4vcmViYXNlLmM6MjEyIGJ1aWx0aW4vcmViYXNlLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB3cml0ZSAnJXMnLiIKK21zZ3N0ciAi5LiN6IO95a+r5YWlICclcyfjgIIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjcxCittc2dpZCAibm8gSEVBRD8iCittc2dzdHIgIuaykuaciSBIRUFE77yfIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIHRlbXBvcmFyeSAlcyIKK21zZ3N0ciAi54Sh5rOV5bu656uL5pqr5pmC55qEICVzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjMwNAorbXNnaWQgImNvdWxkIG5vdCBtYXJrIGFzIGludGVyYWN0aXZlIgorbXNnc3RyICLnhKHms5XmqJnoqJjngrrkupLli5XlvI8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MzYyCittc2dpZCAiY291bGQgbm90IGdlbmVyYXRlIHRvZG8gbGlzdCIKK21zZ3N0ciAi54Sh5rOV55Sf5oiQ5b6F6L6m5YiX6KGoIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQwMgorbXNnaWQgImEgYmFzZSBjb21taXQgbXVzdCBiZSBwcm92aWRlZCB3aXRoIC0tdXBzdHJlYW0gb3IgLS1vbnRvIgorbXNnc3RyICLkvb/nlKggLS11cHN0cmVhbSDmiJYgLS1vbnRvIOW/hemgiOaPkOS+m+S4gOWAi+WfuuekjuaPkOS6pCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NTcKK21zZ2lkICJnaXQgcmViYXNlLS1pbnRlcmFjdGl2ZSBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHJlYmFzZS0taW50ZXJhY3RpdmUgWzzpgbjpoIU+XSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NjkKK21zZ2lkICJrZWVwIGVtcHR5IGNvbW1pdHMiCittc2dzdHIgIuS/neaMgeepuuaPkOS6pCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzEgYnVpbHRpbi9yZXZlcnQuYzoxMjgKK21zZ2lkICJhbGxvdyBjb21taXRzIHdpdGggZW1wdHkgbWVzc2FnZXMiCittc2dzdHIgIuWFgeioseaPkOS6pOiqquaYjueCuuepuiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzIKK21zZ2lkICJyZWJhc2UgbWVyZ2UgY29tbWl0cyIKK21zZ3N0ciAi5bCN5ZCI5L215o+Q5Lqk6YeN5a6a5Z+65bqVIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ3NAorbXNnaWQgImtlZXAgb3JpZ2luYWwgYnJhbmNoIHBvaW50cyBvZiBjb3VzaW5zIgorbXNnc3RyICLkv53mjIHlhYTlvJ/mj5DkuqTnmoTljp/lp4vliIbmlK/pu54iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDc2Cittc2dpZCAibW92ZSBjb21taXRzIHRoYXQgYmVnaW4gd2l0aCBzcXVhc2ghL2ZpeHVwISIKK21zZ3N0ciAi56e75YuV5LulIHNxdWFzaCEvZml4dXAhIOmWi+mgreeahOaPkOS6pCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzcKK21zZ2lkICJzaWduIGNvbW1pdHMiCittc2dzdHIgIuewveWQjeaPkOS6pCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0NzkgYnVpbHRpbi9yZWJhc2UuYzoxNDU1Cittc2dpZCAiZGlzcGxheSBhIGRpZmZzdGF0IG9mIHdoYXQgY2hhbmdlZCB1cHN0cmVhbSIKK21zZ3N0ciAi6aGv56S65LiK5ri46K6K5YyW55qE5beu55Ww57Wx6KiIIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4MQorbXNnaWQgImNvbnRpbnVlIHJlYmFzZSIKK21zZ3N0ciAi57m857qM6YeN5a6a5Z+65bqVIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4MworbXNnaWQgInNraXAgY29tbWl0IgorbXNnc3RyICLot7PpgY7mj5DkuqQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDg0Cittc2dpZCAiZWRpdCB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICLph43lrprln7rlupXlvoXovqbliJfooagiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDg2Cittc2dpZCAic2hvdyB0aGUgY3VycmVudCBwYXRjaCIKK21zZ3N0ciAi6aGv56S655uu5YmN5L+u6KOc5qqUIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ4OQorbXNnaWQgInNob3J0ZW4gY29tbWl0IGlkcyBpbiB0aGUgdG9kbyBsaXN0IgorbXNnc3RyICLnuK7nn63lvoXovqbliJfooajkuK3nmoTmj5DkuqTomZ8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NDkxCittc2dpZCAiZXhwYW5kIGNvbW1pdCBpZHMgaW4gdGhlIHRvZG8gbGlzdCIKK21zZ3N0ciAi5pO05bGV5b6F6L6m5YiX6KGo5Lit55qE5o+Q5Lqk6JmfIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjQ5MworbXNnaWQgImNoZWNrIHRoZSB0b2RvIGxpc3QiCittc2dzdHIgIuaqouafpeW+hei+puWIl+ihqCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTUKK21zZ2lkICJyZWFycmFuZ2UgZml4dXAvc3F1YXNoIGxpbmVzIgorbXNnc3RyICLph43mlrDmjpLliJcgZml4dXAvc3F1YXNoIOihjCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTcKK21zZ2lkICJpbnNlcnQgZXhlYyBjb21tYW5kcyBpbiB0b2RvIGxpc3QiCittc2dzdHIgIuWcqOW+hei+puWIl+ihqOS4reaPkuWFpSBleGVjIOWft+ihjOaMh+S7pCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo0OTgKK21zZ2lkICJvbnRvIgorbXNnc3RyICJvbnRvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwMQorbXNnaWQgInJlc3RyaWN0LXJldmlzaW9uIgorbXNnc3RyICJyZXN0cmljdC1yZXZpc2lvbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDEKK21zZ2lkICJyZXN0cmljdCByZXZpc2lvbiIKK21zZ3N0ciAi6ZmQ5Yi254mI5pysIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwMworbXNnaWQgInNxdWFzaC1vbnRvIgorbXNnc3RyICJzcXVhc2gtb250byIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MDQKK21zZ2lkICJzcXVhc2ggb250byIKK21zZ3N0ciAic3F1YXNoIG9udG8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTA2Cittc2dpZCAidGhlIHVwc3RyZWFtIGNvbW1pdCIKK21zZ3N0ciAi5LiK5ri45o+Q5LqkIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwOAorbXNnaWQgImhlYWQtbmFtZSIKK21zZ3N0ciAiaGVhZC1uYW1lIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjUwOAorbXNnaWQgImhlYWQgbmFtZSIKK21zZ3N0ciAiaGVhZCDlkI3nqLEiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTEzCittc2dpZCAicmViYXNlIHN0cmF0ZWd5IgorbXNnc3RyICLph43lrprln7rlupXnrZbnlaUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE0Cittc2dpZCAic3RyYXRlZ3ktb3B0cyIKK21zZ3N0ciAic3RyYXRlZ3ktb3B0cyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTUKK21zZ2lkICJzdHJhdGVneSBvcHRpb25zIgorbXNnc3RyICLnrZbnlaXpgbjpoIUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE2Cittc2dpZCAic3dpdGNoLXRvIgorbXNnc3RyICLliIfmj5vliLAiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTE3Cittc2dpZCAidGhlIGJyYW5jaCBvciBjb21taXQgdG8gY2hlY2tvdXQiCittc2dzdHIgIuimgeewveWHuueahOWIhuaUr+aIluaPkOS6pCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTgKK21zZ2lkICJvbnRvLW5hbWUiCittc2dzdHIgIm9udG8tbmFtZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTgKK21zZ2lkICJvbnRvIG5hbWUiCittc2dzdHIgIm9udG8gbmFtZSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTkKK21zZ2lkICJjbWQiCittc2dzdHIgImNtZCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MTkKK21zZ2lkICJ0aGUgY29tbWFuZCB0byBydW4iCittc2dzdHIgIuimgeWft+ihjOeahOaMh+S7pCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1MjIgYnVpbHRpbi9yZWJhc2UuYzoxNTQwCittc2dpZCAiYXV0b21hdGljYWxseSByZS1zY2hlZHVsZSBhbnkgYGV4ZWNgIHRoYXQgZmFpbHMiCittc2dzdHIgIuiHquWLlemHjeaWsOWuieaOkuS7u+S9leWkseaVl+eahCBgZXhlY2AiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NTQwCittc2dpZCAiLS1bbm8tXXJlYmFzZS1jb3VzaW5zIGhhcyBubyBlZmZlY3Qgd2l0aG91dCAtLXJlYmFzZS1tZXJnZXMiCittc2dzdHIgIuS4jeS9v+eUqCAtLXJlYmFzZS1tZXJnZXPvvIzliYcgLS1bbm8tXXJlYmFzZS1jb3VzaW5zIOaykuacieaViOaenCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYW4gaW50ZXJhY3RpdmUgcmViYXNlIgorbXNnc3RyICIlcyDpnIDopoHkupLli5XlvI/ph43lrprln7rlupUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBnZXQgJ29udG8nOiAnJXMnIgorbXNnc3RyICLnhKHms5Xlj5blvpcgJ29udG8n77yaJyVzJyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo2MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBvcmlnLWhlYWQ6ICclcyciCittc2dzdHIgIueEoeaViOeahOWOn+WniyBoZWFk77yaJyVzJyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgaW52YWxpZCBhbGxvd19yZXJlcmVfYXV0b3VwZGF0ZTogJyVzJyIKK21zZ3N0ciAi5b+955Wl54Sh5pWI55qEIGFsbG93X3JlcmVyZV9hdXRvdXBkYXRl77yaJyVzJyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHJlYWQgJyVzJyIKK21zZ3N0ciAi5LiN6IO96K6A5Y+WICclcyciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBzdG9yZSAlcyIKK21zZ3N0ciAi5LiN6IO95YSy5a2YICVzIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjg0OQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgSEVBRCByZXZpc2lvbiIKK21zZ3N0ciAi5LiN6IO956K65a6aIEhFQUQg54mI5pysIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjk3MiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODEKK21zZ2lkICIiCisiUmVzb2x2ZSBhbGwgY29uZmxpY3RzIG1hbnVhbGx5LCBtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgd2l0aFxuIgorIlwiZ2l0IGFkZC9ybSA8Y29uZmxpY3RlZF9maWxlcz5cIiwgdGhlbiBydW4gXCJnaXQgcmViYXNlIC0tY29udGludWVcIi5cbiIKKyJZb3UgY2FuIGluc3RlYWQgc2tpcCB0aGlzIGNvbW1pdDogcnVuIFwiZ2l0IHJlYmFzZSAtLXNraXBcIi5cbiIKKyJUbyBhYm9ydCBhbmQgZ2V0IGJhY2sgdG8gdGhlIHN0YXRlIGJlZm9yZSBcImdpdCByZWJhc2VcIiwgcnVuIFwiZ2l0IHJlYmFzZSAtLSIKKyJhYm9ydFwiLiIKK21zZ3N0ciAiIgorIuaJi+WLleino+axuuaJgOacieihneeqge+8jOWft+ihjCBcImdpdCBhZGQvcm0gPOihneeqgeeahOaqlOahiD5cIiDmqJnoqJhcbiIKKyLooZ3nqoHlt7Lop6PmsbrvvIznhLblvozln7fooYwgXCJnaXQgcmViYXNlIC0tY29udGludWVcIuOAguaCqOS5n+WPr+S7peWft+ihjFxuIgorIlwiZ2l0IHJlYmFzZSAtLXNraXBcIiDmjIfku6Tot7PpgY7pgJnlgIvmj5DkuqTjgILlpoLmnpzmg7PopoHntYLmraLln7fooYzkuKblm57liLBcbiIKKyJcImdpdCByZWJhc2VcIiDln7fooYzkuYvliY3nmoTni4DmhYvvvIzln7fooYwgXCJnaXQgcmViYXNlIC0tYWJvcnRcIuOAgiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJnaXQgZW5jb3VudGVyZWQgYW4gZXJyb3Igd2hpbGUgcHJlcGFyaW5nIHRoZSBwYXRjaGVzIHRvIHJlcGxheVxuIgorInRoZXNlIHJldmlzaW9uczpcbiIKKyJcbiIKKyIgICAgJXNcbiIKKyJcbiIKKyJBcyBhIHJlc3VsdCwgZ2l0IGNhbm5vdCByZWJhc2UgdGhlbS4iCittc2dzdHIgIiIKKyJcbiIKKyLlnKjngrrph43mlL7pgJnkupvniYjmnKzogIzmupblgpnkv67oo5zmqpTmmYLvvIxnaXQg6YGH5Yiw5LqG5LiA5YCL6Yyv6Kqk77yaXG4iCisiXG4iCisiICAgICVzXG4iCisiXG4iCisi5Zug5q2kIGdpdCDnhKHms5XlsI3lhbbph43lrprln7rlupXjgIIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTM2NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXNcbiIKKyJQbGVhc2Ugc3BlY2lmeSB3aGljaCBicmFuY2ggeW91IHdhbnQgdG8gcmViYXNlIGFnYWluc3QuXG4iCisiU2VlIGdpdC1yZWJhc2UoMSkgZm9yIGRldGFpbHMuXG4iCisiXG4iCisiICAgIGdpdCByZWJhc2UgJzxicmFuY2g+J1xuIgorIlxuIgorbXNnc3RyICIiCisiJXNcbiIKKyLoq4vmjIflrprmgqjopoHph43lrprln7rlupXliLDlk6rlgIvliIbmlK/jgIJcbiIKKyLoqbPoposgZ2l0LXJlYmFzZSgxKeOAglxuIgorIlxuIgorIiAgICBnaXQgcmViYXNlICc8YnJhbmNoPidcbiIKKyJcbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxMzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJZiB5b3Ugd2lzaCB0byBzZXQgdHJhY2tpbmcgaW5mb3JtYXRpb24gZm9yIHRoaXMgYnJhbmNoIHlvdSBjYW4gZG8gc28gd2l0aDpcbiIKKyJcbiIKKyIgICAgZ2l0IGJyYW5jaCAtLXNldC11cHN0cmVhbS10bz0lcy88YnJhbmNoPiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisi5aaC5p6c5oKo5oOz6KaB54K65q2k5YiG5pSv5bu656uL6L+96Lmk6KiK5oGv77yM5oKo5Y+v5Lul5Z+36KGM77yaXG4iCisiXG4iCisiICAgIGdpdCBicmFuY2ggLS1zZXQtdXBzdHJlYW0tdG89JXMvPGJyYW5jaD4gJXNcbiIKKyJcbiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDEzCittc2dpZCAiZXhlYyBjb21tYW5kcyBjYW5ub3QgY29udGFpbiBuZXdsaW5lcyIKK21zZ3N0ciAiZXhlYyDmjIfku6TkuI3og73ljIXlkKvmj5vooYznrKbomZ8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQxNworbXNnaWQgImVtcHR5IGV4ZWMgY29tbWFuZCIKK21zZ3N0ciAi56m655qEIGV4ZWMg5oyH5LukIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NDYKK21zZ2lkICJyZWJhc2Ugb250byBnaXZlbiBicmFuY2ggaW5zdGVhZCBvZiB1cHN0cmVhbSIKK21zZ3N0ciAi6YeN5a6a5Z+65bqV5Yiw5o+Q5L6b55qE5YiG5pSv6ICM6Z2e5LiK5ri4IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NDgKK21zZ2lkICJ1c2UgdGhlIG1lcmdlLWJhc2Ugb2YgdXBzdHJlYW0gYW5kIGJyYW5jaCBhcyB0aGUgY3VycmVudCBiYXNlIgorbXNnc3RyICLkvb/nlKjkuIrmuLjlkozliIbmlK/nmoTlkIjkvbXln7rnpI7lgZrngrrnm67liY3ln7rnpI4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ1MAorbXNnaWQgImFsbG93IHByZS1yZWJhc2UgaG9vayB0byBydW4iCittc2dzdHIgIuWFgeioseWft+ihjCBwcmUtcmViYXNlIOaOm+mJpCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDUyCittc2dpZCAiYmUgcXVpZXQuIGltcGxpZXMgLS1uby1zdGF0IgorbXNnc3RyICLlronpnZzjgILmmpfnpLogLS1uby1zdGF0IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NTgKK21zZ2lkICJkbyBub3Qgc2hvdyBkaWZmc3RhdCBvZiB3aGF0IGNoYW5nZWQgdXBzdHJlYW0iCittc2dzdHIgIuS4jemhr+ekuuS4iua4uOiuiuWMlueahOW3rueVsOe1seioiCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDYxCittc2dpZCAiYWRkIGEgU2lnbmVkLW9mZi1ieTogbGluZSB0byBlYWNoIGNvbW1pdCIKK21zZ3N0ciAi54K65q+P5LiA5YCL5o+Q5Lqk5paw5aKe5LiA5YCLIFNpZ25lZC1vZmYtYnk6IOewveWQjSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDY0CisjfCBtc2dpZCAiR3JvdXAgYnkgY29tbWl0dGVyIHJhdGhlciB0aGFuIGF1dGhvciIKK21zZ2lkICJtYWtlIGNvbW1pdHRlciBkYXRlIG1hdGNoIGF1dGhvciBkYXRlIgorbXNnc3RyICLkvb/mj5DkuqTml6XmnJ/nrKblkIjmkrDlr6vml6XmnJ8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ2NgorbXNnaWQgImlnbm9yZSBhdXRob3IgZGF0ZSBhbmQgdXNlIGN1cnJlbnQgZGF0ZSIKK21zZ3N0ciAi5b+955Wl5pKw5a+r5pel5pyf77yM5L2/55So55uu5YmN5pel5pyfIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NjgKKyN8IG1zZ2lkICJzeW5vbnltIGZvciAtLWZpbGVzLXdpdGgtbWF0Y2hlcyIKK21zZ2lkICJzeW5vbnltIG9mIC0tcmVzZXQtYXV0aG9yLWRhdGUiCittc2dzdHIgIuWSjCAtLXJlc2V0LWF1dGhvci1kYXRlIOWQjOe+qSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDcwIGJ1aWx0aW4vcmViYXNlLmM6MTQ3NAorbXNnaWQgInBhc3NlZCB0byAnZ2l0IGFwcGx5JyIKK21zZ3N0ciAi5YKz6YGe57WmICdnaXQgYXBwbHknIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0NzIKKyN8IG1zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIGF0IEVPTCIKK21zZ2lkICJpZ25vcmUgY2hhbmdlcyBpbiB3aGl0ZXNwYWNlIgorbXNnc3RyICLlv73nlaXnqbrnmb3lrZflhYPorormm7QiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ3NiBidWlsdGluL3JlYmFzZS5jOjE0NzkKK21zZ2lkICJjaGVycnktcGljayBhbGwgY29tbWl0cywgZXZlbiBpZiB1bmNoYW5nZWQiCittc2dzdHIgIuaPgOmBuOaJgOacieaPkOS6pO+8jOWNs+S9v+acquS/ruaUuSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDgxCittc2dpZCAiY29udGludWUiCittc2dzdHIgIue5vOe6jCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDg0Cittc2dpZCAic2tpcCBjdXJyZW50IHBhdGNoIGFuZCBjb250aW51ZSIKK21zZ3N0ciAi6Lez6YGO55uu5YmN5L+u6KOc5qqU5Lim57m857qMIgorCisjICDora/ogIXvvJroq4vntq3mjIHliY3lsI7nqbrmoLwKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ4NgorbXNnaWQgImFib3J0IGFuZCBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCIKK21zZ3N0ciAi57WC5q2i5Lim57C95Ye65Y6f5pyJ5YiG5pSvIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE0ODkKK21zZ2lkICJhYm9ydCBidXQga2VlcCBIRUFEIHdoZXJlIGl0IGlzIgorbXNnc3RyICLntYLmraLkvYbkv53mjIEgSEVBRCDkuI3orooiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ5MAorbXNnaWQgImVkaXQgdGhlIHRvZG8gbGlzdCBkdXJpbmcgYW4gaW50ZXJhY3RpdmUgcmViYXNlIgorbXNnc3RyICLlnKjkupLli5XlvI/ph43lrprln7rlupXkuK3nt6jovK/lvoXovqbliJfooagiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTQ5MworbXNnaWQgInNob3cgdGhlIHBhdGNoIGZpbGUgYmVpbmcgYXBwbGllZCBvciBtZXJnZWQiCittc2dzdHIgIumhr+ekuuato+WcqOWll+eUqOaIluWQiOS9teeahOS/ruijnOaqlOahiCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNDk2Cittc2dpZCAidXNlIG1lcmdpbmcgc3RyYXRlZ2llcyB0byByZWJhc2UiCittc2dzdHIgIuS9v+eUqOWQiOS9teetlueVpemAsuihjOmHjeWumuWfuuW6lSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTAwCittc2dpZCAibGV0IHRoZSB1c2VyIGVkaXQgdGhlIGxpc3Qgb2YgY29tbWl0cyB0byByZWJhc2UiCittc2dzdHIgIuiuk+S9v+eUqOiAhee3qOi8r+imgemHjeWumuWfuuW6leeahOaPkOS6pOWIl+ihqCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTA0Cittc2dpZCAiKERFUFJFQ0FURUQpIHRyeSB0byByZWNyZWF0ZSBtZXJnZXMgaW5zdGVhZCBvZiBpZ25vcmluZyB0aGVtIgorbXNnc3RyICLvvIjlt7Lmo4TnlKjvvInlmJfoqabph43lu7rlkIjkvbXmj5DkuqTogIzpnZ7lv73nlaXlroPlgJEiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUwOQorbXNnaWQgInByZXNlcnZlIGVtcHR5IGNvbW1pdHMgZHVyaW5nIHJlYmFzZSIKK21zZ3N0ciAi6YeN5a6a5Z+65bqV5pmC5L+d55WZ56m65o+Q5LqkIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MTEKK21zZ2lkICJtb3ZlIGNvbW1pdHMgdGhhdCBiZWdpbiB3aXRoIHNxdWFzaCEvZml4dXAhIHVuZGVyIC1pIgorbXNnc3RyICLlnKggLWkg5LqS5YuV5qih5byP5LiL77yM56e75YuV5LulIHNxdWFzaCEvZml4dXAhIOmWi+mgreeahOaPkOS6pCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTE3Cittc2dpZCAiYXV0b21hdGljYWxseSBzdGFzaC9zdGFzaCBwb3AgYmVmb3JlIGFuZCBhZnRlciIKK21zZ3N0ciAi5Zyo5YuV5L2c5YmN5b6M5Z+36KGM6Ieq5YuV5YSy6JeP5ZKM5b2I5Ye65YSy6JePIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MTkKK21zZ2lkICJhZGQgZXhlYyBsaW5lcyBhZnRlciBlYWNoIGNvbW1pdCBvZiB0aGUgZWRpdGFibGUgbGlzdCIKK21zZ3N0ciAi5Y+v57eo6Lyv5YiX6KGo55qE5q+P5LiA5YCL5o+Q5Lqk5LiL6Z2i5aKe5Yqg5LiA6KGMIGV4ZWMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUyMworbXNnaWQgImFsbG93IHJlYmFzaW5nIGNvbW1pdHMgd2l0aCBlbXB0eSBtZXNzYWdlcyIKK21zZ3N0ciAi5YWB6Kix6Yed5bCN56m65o+Q5Lqk6Kqq5piO55qE5o+Q5Lqk6YeN5a6a5Z+65bqVIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE1MjYKK21zZ2lkICJ0cnkgdG8gcmViYXNlIG1lcmdlcyBpbnN0ZWFkIG9mIHNraXBwaW5nIHRoZW0iCittc2dzdHIgIuWYl+ippuWwjeWQiOS9teaPkOS6pOmHjeWumuWfuuW6leiAjOS4jeaYr+W/veeVpeWug+WAkSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTI5Cittc2dpZCAidXNlICdtZXJnZS1iYXNlIC0tZm9yay1wb2ludCcgdG8gcmVmaW5lIHVwc3RyZWFtIgorbXNnc3RyICLkvb/nlKggJ21lcmdlLWJhc2UgLS1mb3JrLXBvaW50JyDkvobmnIDkvbPljJbkuIrmuLgiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzMQorbXNnaWQgInVzZSB0aGUgZ2l2ZW4gbWVyZ2Ugc3RyYXRlZ3kiCittc2dzdHIgIuS9v+eUqOaPkOS+m+eahOWQiOS9teetlueVpSIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTMzIGJ1aWx0aW4vcmV2ZXJ0LmM6MTE1Cittc2dpZCAib3B0aW9uIgorbXNnc3RyICLpgbjpoIUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzNAorbXNnaWQgInBhc3MgdGhlIGFyZ3VtZW50IHRocm91Z2ggdG8gdGhlIG1lcmdlIHN0cmF0ZWd5IgorbXNnc3RyICLlsIflj4PmlbjlgrPpgZ7ntablkIjkvbXnrZbnlaUiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTUzNworbXNnaWQgInJlYmFzZSBhbGwgcmVhY2hhYmxlIGNvbW1pdHMgdXAgdG8gdGhlIHJvb3QocykiCittc2dzdHIgIuWwh+aJgOacieWPr+S7peWPluW+l+eahOaPkOS6pOmHjeWumuWfuuW6leWIsOagueaPkOS6pCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTU0Cittc2dpZCAiIgorInRoZSByZWJhc2UudXNlQnVpbHRpbiBzdXBwb3J0IGhhcyBiZWVuIHJlbW92ZWQhXG4iCisiU2VlIGl0cyBlbnRyeSBpbiAnZ2l0IGhlbHAgY29uZmlnJyBmb3IgZGV0YWlscy4iCittc2dzdHIgIiIKKyLlsI0gcmViYXNlLnVzZUJ1aWx0aW4g55qE5pSv5o+05bey6KKr5Yiq6Zmk77yBXG4iCisi6Kmz6KaLICdnaXQgaGVscCBjb25maWcnIOS4reeahOaineebruOAgiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNTYwCittc2dpZCAiSXQgbG9va3MgbGlrZSAnZ2l0IGFtJyBpcyBpbiBwcm9ncmVzcy4gQ2Fubm90IHJlYmFzZS4iCittc2dzdHIgIueci+i1t+S+hiAnZ2l0LWFtJyDmraPlnKjln7fooYzkuK3jgILnhKHms5Xph43lrprln7rlupXjgIIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYwMQorbXNnaWQgIiIKKyJnaXQgcmViYXNlIC0tcHJlc2VydmUtbWVyZ2VzIGlzIGRlcHJlY2F0ZWQuIFVzZSAtLXJlYmFzZS1tZXJnZXMgaW5zdGVhZC4iCittc2dzdHIgImdpdCByZWJhc2UgLS1wcmVzZXJ2ZS1tZXJnZXMg6KKr5qOE55So44CC55SoIC0tcmViYXNlLW1lcmdlcyDku6Pmm7/jgIIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYwNgorbXNnaWQgImNhbm5vdCBjb21iaW5lICctLWtlZXAtYmFzZScgd2l0aCAnLS1vbnRvJyIKK21zZ3N0ciAi5LiN6IO95bCHICctLWtlZXAtYmFzZScg5ZKMICctLW9udG8nIOe1hOWQiOS9v+eUqCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjA4Cittc2dpZCAiY2Fubm90IGNvbWJpbmUgJy0ta2VlcC1iYXNlJyB3aXRoICctLXJvb3QnIgorbXNnc3RyICLkuI3og73lsIcgJy0ta2VlcC1iYXNlJyDlkowgJy0tcm9vdCcg57WE5ZCI5L2/55SoIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2MTIKK21zZ2lkICJObyByZWJhc2UgaW4gcHJvZ3Jlc3M/IgorbXNnc3RyICLmspLmnInmraPlnKjpgLLooYznmoTph43lrprln7rlupXvvJ8iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTYxNgorbXNnaWQgIlRoZSAtLWVkaXQtdG9kbyBhY3Rpb24gY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgaW50ZXJhY3RpdmUgcmViYXNlLiIKK21zZ3N0ciAi5YuV5L2cIC0tZWRpdC10b2RvIOWPquiDveeUqOWcqOS6kuWLleW8j+mHjeWumuWfuuW6lemBjueoi+S4reOAgiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxNjM5Cittc2dpZCAiQ2Fubm90IHJlYWQgSEVBRCIKK21zZ3N0ciAi5LiN6IO96K6A5Y+WIEhFQUQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTY1MQorbXNnaWQgIiIKKyJZb3UgbXVzdCBlZGl0IGFsbCBtZXJnZSBjb25mbGljdHMgYW5kIHRoZW5cbiIKKyJtYXJrIHRoZW0gYXMgcmVzb2x2ZWQgdXNpbmcgZ2l0IGFkZCIKK21zZ3N0ciAiIgorIuaCqOW/hemgiOe3qOi8r+aJgOacieeahOWQiOS9teihneeqge+8jOeEtuW+jOmAj+mBjiBnaXQgYWRkXG4iCisi5oyH5Luk5bCH5a6D5YCR5qiZ6KiY54K65bey6Kej5rG6IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE2NzAKK21zZ2lkICJjb3VsZCBub3QgZGlzY2FyZCB3b3JrdHJlZSBjaGFuZ2VzIgorbXNnc3RyICLnhKHms5Xmjajmo4Tlt6XkvZzljYDorormm7QiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTY4OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgbW92ZSBiYWNrIHRvICVzIgorbXNnc3RyICLnhKHms5Xnp7vlm54gJXMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTczNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgJXMgZGlyZWN0b3J5LCBhbmRcbiIKKyJJIHdvbmRlciBpZiB5b3UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYW5vdGhlciByZWJhc2UuICBJZiB0aGF0IGlzIHRoZVxuIgorImNhc2UsIHBsZWFzZSB0cnlcbiIKKyJcdCVzXG4iCisiSWYgdGhhdCBpcyBub3QgdGhlIGNhc2UsIHBsZWFzZVxuIgorIlx0JXNcbiIKKyJhbmQgcnVuIG1lIGFnYWluLiAgSSBhbSBzdG9wcGluZyBpbiBjYXNlIHlvdSBzdGlsbCBoYXZlIHNvbWV0aGluZ1xuIgorInZhbHVhYmxlIHRoZXJlLlxuIgorbXNnc3RyICIiCisi5Ly85LmO5bey5pyJ5LiA5YCLICVzIOebrumMhO+8jOaIkeaHt+eWkeaCqOato+iZleaWvOWPpuWkluS4gOWAi+mHjeWumuWfuuW6leWLleS9nOmBjueoi+S4reOAglxuIgorIuWmguaenOaYr+mAmeaoo++8jOiri+Wft+ihjFxuIgorIlx0JXNcbiIKKyLlpoLmnpzkuI3mmK/pgJnmqKPvvIzoq4vln7fooYxcbiIKKyJcdCVzXG4iCisi54S25b6M5YaN6YeN5paw5Z+36KGM44CCIOeCuumBv+WFjemBuuWksemHjeimgeizh+aWme+8jOaIkeW3sue2k+WBnOatouebruWJjeWLleS9nOOAglxuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE3NTcKK21zZ2lkICJzd2l0Y2ggYEMnIGV4cGVjdHMgYSBudW1lcmljYWwgdmFsdWUiCittc2dzdHIgIumWi+mXnCBgQycg5pyf5pyb5LiA5YCL5pW45a2X5YC8IgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE3OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBtb2RlOiAlcyIKK21zZ3N0ciAi5pyq55+l5qih5byP77yaJXMiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTgyMAorbXNnaWQgIi0tc3RyYXRlZ3kgcmVxdWlyZXMgLS1tZXJnZSBvciAtLWludGVyYWN0aXZlIgorbXNnc3RyICItLXN0cmF0ZWd5IOmcgOimgSAtLW1lcmdlIOaIliAtLWludGVyYWN0aXZlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4NjAKK21zZ2lkICItLXJlc2NoZWR1bGUtZmFpbGVkLWV4ZWMgcmVxdWlyZXMgLS1leGVjIG9yIC0taW50ZXJhY3RpdmUiCittc2dzdHIgIi0tcmVzY2hlZHVsZS1mYWlsZWQtZXhlYyDpnIDopoEgLS1leGVjIOaIliAtLWludGVyYWN0aXZlIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE4NzIKK21zZ2lkICJjYW5ub3QgY29tYmluZSBhbSBvcHRpb25zIHdpdGggZWl0aGVyIGludGVyYWN0aXZlIG9yIG1lcmdlIG9wdGlvbnMiCittc2dzdHIgIuS4jeiDveWwhyBhbSDpgbjpoIXoiIfkupLli5XmiJblkIjkvbXpgbjpoIXlkIzmmYLkvb/nlKgiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTg5MQorbXNnaWQgImNhbm5vdCBjb21iaW5lICctLXByZXNlcnZlLW1lcmdlcycgd2l0aCAnLS1yZWJhc2UtbWVyZ2VzJyIKK21zZ3N0ciAi5LiN6IO95bCHICctLXByZXNlcnZlLW1lcmdlcycg5ZKMICctLXJlYmFzZS1tZXJnZXMnIOWQjOaZguS9v+eUqCIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxODk1Cittc2dpZCAiIgorImVycm9yOiBjYW5ub3QgY29tYmluZSAnLS1wcmVzZXJ2ZS1tZXJnZXMnIHdpdGggJy0tcmVzY2hlZHVsZS1mYWlsZWQtZXhlYyciCittc2dzdHIgIumMr+iqpO+8muS4jeiDveWwhyAnLS1wcmVzZXJ2ZS1tZXJnZXMnIOWSjCAnLS1yZXNjaGVkdWxlLWZhaWxlZC1leGVjJyDlkIzmmYLkvb/nlKgiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTkxOQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHVwc3RyZWFtICclcyciCittc2dzdHIgIueEoeaViOeahOS4iua4uCAnJXMnIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE5MjUKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIG5ldyByb290IGNvbW1pdCIKK21zZ3N0ciAi5LiN6IO95bu656uL5paw55qE5qC55o+Q5LqkIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJzogbmVlZCBleGFjdGx5IG9uZSBtZXJnZSBiYXNlIHdpdGggYnJhbmNoIgorbXNnc3RyICInJXMn77ya5Y+q6ZyA6KaB6IiH5YiG5pSv55qE5LiA5YCL5ZCI5L215Z+656SOIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE5NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJzogbmVlZCBleGFjdGx5IG9uZSBtZXJnZSBiYXNlIgorbXNnc3RyICInJXMn77ya5Y+q6ZyA6KaB5LiA5YCL5ZCI5L215Z+656SOIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjE5NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBjb21taXQgJyVzJyIKK21zZ3N0ciAi5rKS5pyJ5oyH5ZCR5LiA5YCL5pyJ5pWI55qE5o+Q5LqkICclcyciCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MTk4NworIywgYy1mb3JtYXQKK21zZ2lkICJmYXRhbDogbm8gc3VjaCBicmFuY2gvY29tbWl0ICclcyciCittc2dzdHIgIuiHtOWRvemMr+iqpO+8mueEoeatpOWIhuaUry/mj5DkuqQgJyVzJyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoxOTk1IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MAorIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gc3VjaCByZWY6ICVzIgorbXNnc3RyICLmspLmnInpgJnmqKPnmoTlvJXnlKjvvJolcyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMDA2Cittc2dpZCAiQ291bGQgbm90IHJlc29sdmUgSEVBRCB0byBhIHJldmlzaW9uIgorbXNnc3RyICLnhKHms5XlsIcgSEVBRCDop6PmnpDngrrkuIDlgIvniYjmnKwiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA0NAorbXNnaWQgIkNhbm5vdCBhdXRvc3Rhc2giCittc2dzdHIgIueEoeazlSBhdXRvc3Rhc2giCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA0NworIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHN0YXNoIHJlc3BvbnNlOiAnJXMnIgorbXNnc3RyICLmhI/lpJbnmoQgc3Rhc2gg5Zue5oeJ77yaJyVzJyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMDUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5IGZvciAnJXMnIgorbXNnc3RyICLkuI3og73ngrogJyVzJyDlu7rnq4vnm67pjIQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGF1dG9zdGFzaDogJXNcbiIKK21zZ3N0ciAi5bu656uL5LqGIGF1dG9zdGFzaO+8miVzXG4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA1OQorbXNnaWQgImNvdWxkIG5vdCByZXNldCAtLWhhcmQiCittc2dzdHIgIueEoeazlSByZXNldCAtLWhhcmQiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjA2OAorbXNnaWQgIlBsZWFzZSBjb21taXQgb3Igc3Rhc2ggdGhlbS4iCittc2dzdHIgIuiri+aPkOS6pOaIluWEsuiXj+S/ruaUueOAgiIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMDk1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAnJXMnIgorbXNnc3RyICLnhKHms5Xop6PmnpAgJyVzJyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMTA4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBzd2l0Y2ggdG8gJXMiCittc2dzdHIgIueEoeazleWIh+aPm+WIsCAlcyIKKworIzogYnVpbHRpbi9yZWJhc2UuYzoyMTE5Cittc2dpZCAiSEVBRCBpcyB1cCB0byBkYXRlLiIKK21zZ3N0ciAiSEVBRCDmmK/mnIDmlrDnmoTjgIIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJDdXJyZW50IGJyYW5jaCAlcyBpcyB1cCB0byBkYXRlLlxuIgorbXNnc3RyICLnm67liY3liIbmlK8gJXMg5piv5pyA5paw55qE44CCXG4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjEyOQorbXNnaWQgIkhFQUQgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC4iCittc2dzdHIgIkhFQUQg5piv5pyA5paw55qE77yM5by35Yi26YeN5a6a5Z+65bqV44CCIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjIxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3VycmVudCBicmFuY2ggJXMgaXMgdXAgdG8gZGF0ZSwgcmViYXNlIGZvcmNlZC5cbiIKK21zZ3N0ciAi55uu5YmN5YiG5pSvICVzIOaYr+acgOaWsOeahO+8jOW8t+WItumHjeWumuWfuuW6leOAglxuIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjIxMzkKK21zZ2lkICJUaGUgcHJlLXJlYmFzZSBob29rIHJlZnVzZWQgdG8gcmViYXNlLiIKK21zZ3N0ciAicHJlLXJlYmFzZSDmjpvpiaTmi5LntZXkuobph43lrprln7rlupXli5XkvZzjgIIiCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VzIHRvICVzOlxuIgorbXNnc3RyICLliLAgJXMg55qE6K6K5pu077yaXG4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VzIGZyb20gJXMgdG8gJXM6XG4iCittc2dzdHIgIuW+niAlcyDliLAgJXMg55qE6K6K5pu077yaXG4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi5cbiIKK21zZ3N0ciAi6aaW5YWI77yM6YKE5Y6f6ZaL6aCt5oyH5qiZ5Lul5L6/5Zyo5YW25LiK6YeN5pS+5oKo55qE5bel5L2cLi4uXG4iCisKKyM6IGJ1aWx0aW4vcmViYXNlLmM6MjE4MworbXNnaWQgIkNvdWxkIG5vdCBkZXRhY2ggSEVBRCIKK21zZ3N0ciAi54Sh5rOV5YiG6Zui6ZaL6aCt5oyH5qiZIgorCisjOiBidWlsdGluL3JlYmFzZS5jOjIxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFzdC1mb3J3YXJkZWQgJXMgdG8gJXMuXG4iCittc2dzdHIgIuW/q+i9iSAlcyDliLAgJXPjgIJcbiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzozMgorbXNnaWQgImdpdCByZWNlaXZlLXBhY2sgPGdpdC1kaXI+IgorbXNnc3RyICJnaXQgcmVjZWl2ZS1wYWNrIDzniYjmnKzluqvnm67pjIQ+IgorCisjOiBidWlsdGluL3JlY2VpdmUtcGFjay5jOjgzMAorbXNnaWQgIiIKKyJCeSBkZWZhdWx0LCB1cGRhdGluZyB0aGUgY3VycmVudCBicmFuY2ggaW4gYSBub24tYmFyZSByZXBvc2l0b3J5XG4iCisiaXMgZGVuaWVkLCBiZWNhdXNlIGl0IHdpbGwgbWFrZSB0aGUgaW5kZXggYW5kIHdvcmsgdHJlZSBpbmNvbnNpc3RlbnRcbiIKKyJ3aXRoIHdoYXQgeW91IHB1c2hlZCwgYW5kIHdpbGwgcmVxdWlyZSAnZ2l0IHJlc2V0IC0taGFyZCcgdG8gbWF0Y2hcbiIKKyJ0aGUgd29yayB0cmVlIHRvIEhFQUQuXG4iCisiXG4iCisiWW91IGNhbiBzZXQgdGhlICdyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJyBjb25maWd1cmF0aW9uIHZhcmlhYmxlXG4iCisidG8gJ2lnbm9yZScgb3IgJ3dhcm4nIGluIHRoZSByZW1vdGUgcmVwb3NpdG9yeSB0byBhbGxvdyBwdXNoaW5nIGludG9cbiIKKyJpdHMgY3VycmVudCBicmFuY2g7IGhvd2V2ZXIsIHRoaXMgaXMgbm90IHJlY29tbWVuZGVkIHVubGVzcyB5b3VcbiIKKyJhcnJhbmdlZCB0byB1cGRhdGUgaXRzIHdvcmsgdHJlZSB0byBtYXRjaCB3aGF0IHlvdSBwdXNoZWQgaW4gc29tZVxuIgorIm90aGVyIHdheS5cbiIKKyJcbiIKKyJUbyBzcXVlbGNoIHRoaXMgbWVzc2FnZSBhbmQgc3RpbGwga2VlcCB0aGUgZGVmYXVsdCBiZWhhdmlvdXIsIHNldFxuIgorIidyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJyBjb25maWd1cmF0aW9uIHZhcmlhYmxlIHRvICdyZWZ1c2UnLiIKK21zZ3N0ciAiIgorIumgkOioreemgeatouabtOaWsOmdnue0lOeJiOacrOW6q+eahOebruWJjeWIhuaUr++8jOWboOeCuuaCqOaOqOmAgeeahOWFp+WuueWwh+WwjuiHtOe0ouW8leWSjOW3peS9nOWNgFxuIgorIuS4jeS4gOiHtO+8jOS4puS4lOWwh+mcgOimgeWft+ihjCAnZ2l0IHJlc2V0IC0taGFyZCcg5bCH5bel5L2c5Y2A56ym5ZCI5YiwIEhFQUTjgIJcbiIKKyJcbiIKKyLmgqjlj6/ku6XlnKjpgaDnq6/niYjmnKzluqvkuK3oqK3lrpogJ3JlY2VpdmUuZGVueUN1cnJlbnRCcmFuY2gnIOioreWumuiuiuaVuOeCulxuIgorIidpZ25vcmUnIOaIliAnd2Fybicg5Lul5YWB6Kix5o6o6YCB5Yiw55uu5YmN5YiG5pSv44CC54S26ICM5LiN5o6o6Jam6YCZ6bq85YGa77yM6Zmk6Z2e5oKoXG4iCisi55So5p+Q56iu5pa55byP5bCH5YW25bel5L2c5Y2A5pu05paw6Iez5oKo5o6o6YCB55qE54uA5oWL44CCXG4iCisiXG4iCisi6Iul6KaB5bCB6Y6W5q2k6KiK5oGv5LiU5L+d5oyB6aCQ6Kit6KGM54K677yM6Kit5a6aICdyZWNlaXZlLmRlbnlDdXJyZW50QnJhbmNoJ1xuIgorIuioreWumuiuiuaVuOeCuiAncmVmdXNlJ+OAgiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzo4NTAKK21zZ2lkICIiCisiQnkgZGVmYXVsdCwgZGVsZXRpbmcgdGhlIGN1cnJlbnQgYnJhbmNoIGlzIGRlbmllZCwgYmVjYXVzZSB0aGUgbmV4dFxuIgorIidnaXQgY2xvbmUnIHdvbid0IHJlc3VsdCBpbiBhbnkgZmlsZSBjaGVja2VkIG91dCwgY2F1c2luZyBjb25mdXNpb24uXG4iCisiXG4iCisiWW91IGNhbiBzZXQgJ3JlY2VpdmUuZGVueURlbGV0ZUN1cnJlbnQnIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgdG9cbiIKKyInd2Fybicgb3IgJ2lnbm9yZScgaW4gdGhlIHJlbW90ZSByZXBvc2l0b3J5IHRvIGFsbG93IGRlbGV0aW5nIHRoZVxuIgorImN1cnJlbnQgYnJhbmNoLCB3aXRoIG9yIHdpdGhvdXQgYSB3YXJuaW5nIG1lc3NhZ2UuXG4iCisiXG4iCisiVG8gc3F1ZWxjaCB0aGlzIG1lc3NhZ2UsIHlvdSBjYW4gc2V0IGl0IHRvICdyZWZ1c2UnLiIKK21zZ3N0ciAiIgorIumgkOioreemgeatouWIqumZpOebruWJjeWIhuaUr++8jOWboOeCuuS4i+S4gOasoSAnZ2l0IGNsb25lJyDlsIfkuI3mnIPnsL3lh7rku7vkvZXmqpTmoYjvvIxcbiIKKyLlsI7oh7Tlm7Dmg5HjgIJcbiIKKyJcbiIKKyLmgqjlj6/ku6XlnKjpgaDnq6/niYjmnKzluqvkuK3oqK3lrpogJ3JlY2VpdmUuZGVueURlbGV0ZUN1cnJlbnQnIOioreWumuiuiuaVuOeCulxuIgorIid3YXJuJ++8iOmhr+ekuuitpuWRiuioiuaBr++8ieaIliAnaWdub3JlJ++8iOW/veeVpeitpuWRiuioiuaBr++8ieS7peWFgeioseWIqumZpOebruWJjeWIhuaUr+OAglxuIgorIlxuIgorIuiLpeimgeWwgemOluatpOioiuaBr++8jOaCqOWPr+S7peioreWumuWug+eCuiAncmVmdXNlJ+OAgiIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTM2Cittc2dpZCAicXVpZXQiCittc2dzdHIgIumdnOm7mOaooeW8jyIKKworIzogYnVpbHRpbi9yZWNlaXZlLXBhY2suYzoxOTUwCittc2dpZCAiWW91IG11c3Qgc3BlY2lmeSBhIGRpcmVjdG9yeS4iCittc2dzdHIgIuaCqOW/hemgiOaMh+WumuS4gOWAi+ebrumMhOOAgiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzoxNworbXNnaWQgIiIKKyJnaXQgcmVmbG9nIGV4cGlyZSBbLS1leHBpcmU9PHRpbWU+XSBbLS1leHBpcmUtdW5yZWFjaGFibGU9PHRpbWU+XSBbLS0iCisicmV3cml0ZV0gWy0tdXBkYXRlcmVmXSBbLS1zdGFsZS1maXhdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gWy0tYWxsXSAiCisiPHJlZnM+Li4uIgorbXNnc3RyICIiCisiZ2l0IHJlZmxvZyBleHBpcmUgWy0tZXhwaXJlPTzmmYLplpM+XSBbLS1leHBpcmUtdW5yZWFjaGFibGU9POaZgumWkz5dIFstLSIKKyJyZXdyaXRlXSBbLS11cGRhdGVyZWZdIFstLXN0YWxlLWZpeF0gWy0tZHJ5LXJ1biB8IC1uXSBbLS12ZXJib3NlXSBbLS1hbGxdIDzlvJUiCisi55SoPi4uLiIKKworIzogYnVpbHRpbi9yZWZsb2cuYzoyMgorbXNnaWQgIiIKKyJnaXQgcmVmbG9nIGRlbGV0ZSBbLS1yZXdyaXRlXSBbLS11cGRhdGVyZWZdIFstLWRyeS1ydW4gfCAtbl0gWy0tdmVyYm9zZV0gIgorIjxyZWZzPi4uLiIKK21zZ3N0ciAiIgorImdpdCByZWZsb2cgZGVsZXRlIFstLXJld3JpdGVdIFstLXVwZGF0ZXJlZl0gWy0tZHJ5LXJ1biB8IC1uXSBbLS12ZXJib3NlXSA85byVIgorIueUqD4uLi4iCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6MjUKK21zZ2lkICJnaXQgcmVmbG9nIGV4aXN0cyA8cmVmPiIKK21zZ3N0ciAiZ2l0IHJlZmxvZyBleGlzdHMgPOW8leeUqD4iCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NTY3IGJ1aWx0aW4vcmVmbG9nLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGltZXN0YW1wIgorbXNnc3RyICInJXMnIOS4jeaYr+S4gOWAi+acieaViOeahOaZgumWk+aIsyIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWFya2luZyByZWFjaGFibGUgb2JqZWN0cy4uLiIKK21zZ3N0ciAi5q2j5Zyo5qiZ6KiY5Y+v5Lul5Y+W5b6X54mp5Lu2Li4uIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjY0MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBwb2ludHMgbm93aGVyZSEiCittc2dzdHIgIiVzIOaMh+WQkeS4jeWtmOWcqO+8gSIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo2OTUKK21zZ2lkICJubyByZWZsb2cgc3BlY2lmaWVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAi5pyq5oyH5a6a6KaB5Yiq6Zmk55qE5byV55So5pel6KqMIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjcwNAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSByZWZsb2c6ICVzIgorbXNnc3RyICLkuI3mmK/kuIDlgIvlvJXnlKjml6XoqozvvJolcyIKKworIzogYnVpbHRpbi9yZWZsb2cuYzo3MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gcmVmbG9nIGZvciAnJXMnIgorbXNnc3RyICLmspLmnIkgJyVzJyDnmoTlvJXnlKjml6XoqowiCisKKyM6IGJ1aWx0aW4vcmVmbG9nLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcmVmIGZvcm1hdDogJXMiCittc2dzdHIgIueEoeaViOeahOW8leeUqOagvOW8j++8miVzIgorCisjOiBidWlsdGluL3JlZmxvZy5jOjc2NAorbXNnaWQgImdpdCByZWZsb2cgWyBzaG93IHwgZXhwaXJlIHwgZGVsZXRlIHwgZXhpc3RzIF0iCittc2dzdHIgImdpdCByZWZsb2cgWyBzaG93IHwgZXhwaXJlIHwgZGVsZXRlIHwgZXhpc3RzIF0iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTYKK21zZ2lkICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0iCittc2dzdHIgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNworbXNnaWQgIiIKKyJnaXQgcmVtb3RlIGFkZCBbLXQgPGJyYW5jaD5dIFstbSA8bWFzdGVyPl0gWy1mXSBbLS10YWdzIHwgLS1uby10YWdzXSBbLS0iCisibWlycm9yPTxmZXRjaHxwdXNoPl0gPG5hbWU+IDx1cmw+IgorbXNnc3RyICIiCisiZ2l0IHJlbW90ZSBhZGQgWy10IDzliIbmlK8+XSBbLW0gPG1hc3Rlcj5dIFstZl0gWy0tdGFncyB8IC0tbm8tdGFnc10gWy0tIgorIm1pcnJvcj08ZmV0Y2h8cHVzaD5dIDzlkI3nqLE+IDzkvY3lnYA+IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE4IGJ1aWx0aW4vcmVtb3RlLmM6MzgKK21zZ2lkICJnaXQgcmVtb3RlIHJlbmFtZSA8b2xkPiA8bmV3PiIKK21zZ3N0ciAiZ2l0IHJlbW90ZSByZW5hbWUgPOiIiuWQjeeosT4gPOaWsOWQjeeosT4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTkgYnVpbHRpbi9yZW1vdGUuYzo0MworbXNnaWQgImdpdCByZW1vdGUgcmVtb3ZlIDxuYW1lPiIKK21zZ3N0ciAiZ2l0IHJlbW90ZSByZW1vdmUgPOWQjeeosT4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjAgYnVpbHRpbi9yZW1vdGUuYzo0OAorbXNnaWQgImdpdCByZW1vdGUgc2V0LWhlYWQgPG5hbWU+ICgtYSB8IC0tYXV0byB8IC1kIHwgLS1kZWxldGUgfCA8YnJhbmNoPikiCittc2dzdHIgImdpdCByZW1vdGUgc2V0LWhlYWQgPOWQjeeosT4gKC1hIHwgLS1hdXRvIHwgLWQgfCAtLWRlbGV0ZSB8IDzliIbmlK8+KSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoyMQorbXNnaWQgImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSBzaG93IFstbl0gPG5hbWU+IgorbXNnc3RyICJnaXQgcmVtb3RlIFstdiB8IC0tdmVyYm9zZV0gc2hvdyBbLW5dIDzlkI3nqLE+IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjIyCittc2dpZCAiZ2l0IHJlbW90ZSBwcnVuZSBbLW4gfCAtLWRyeS1ydW5dIDxuYW1lPiIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBwcnVuZSBbLW4gfCAtLWRyeS1ydW5dIDzlkI3nqLE+IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjIzCittc2dpZCAiIgorImdpdCByZW1vdGUgWy12IHwgLS12ZXJib3NlXSB1cGRhdGUgWy1wIHwgLS1wcnVuZV0gWyg8Z3JvdXA+IHwgPHJlbW90ZT4pLi4uXSIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBbLXYgfCAtLXZlcmJvc2VdIHVwZGF0ZSBbLXAgfCAtLXBydW5lXSBbKDzntYQ+IHwgPOmBoOerrz4pLi4uXSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoyNAorbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIFstLWFkZF0gPG5hbWU+IDxicmFuY2g+Li4uIgorbXNnc3RyICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyBbLS1hZGRdIDzlkI3nqLE+IDzliIbmlK8+Li4uIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjI1IGJ1aWx0aW4vcmVtb3RlLmM6NzQKK21zZ2lkICJnaXQgcmVtb3RlIGdldC11cmwgWy0tcHVzaF0gWy0tYWxsXSA8bmFtZT4iCittc2dzdHIgImdpdCByZW1vdGUgZ2V0LXVybCBbLS1wdXNoXSBbLS1hbGxdIDzlkI3nqLE+IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjI2IGJ1aWx0aW4vcmVtb3RlLmM6NzkKK21zZ2lkICJnaXQgcmVtb3RlIHNldC11cmwgWy0tcHVzaF0gPG5hbWU+IDxuZXd1cmw+IFs8b2xkdXJsPl0iCittc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCBbLS1wdXNoXSA85ZCN56ixPiA85paw55qE5L2N5Z2APiBbPOiIiueahOS9jeWdgD5dIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjI3IGJ1aWx0aW4vcmVtb3RlLmM6ODAKK21zZ2lkICJnaXQgcmVtb3RlIHNldC11cmwgLS1hZGQgPG5hbWU+IDxuZXd1cmw+IgorbXNnc3RyICJnaXQgcmVtb3RlIHNldC11cmwgLS1hZGQgPOWQjeeosT4gPOaWsOeahOS9jeWdgD4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MjggYnVpbHRpbi9yZW1vdGUuYzo4MQorbXNnaWQgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA8bmFtZT4gPHVybD4iCittc2dzdHIgImdpdCByZW1vdGUgc2V0LXVybCAtLWRlbGV0ZSA85ZCN56ixPiA85L2N5Z2APiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzozMworbXNnaWQgImdpdCByZW1vdGUgYWRkIFs8b3B0aW9ucz5dIDxuYW1lPiA8dXJsPiIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBhZGQgWzzpgbjpoIU+XSA85ZCN56ixPiA85L2N5Z2APiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo1MworbXNnaWQgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIDxuYW1lPiA8YnJhbmNoPi4uLiIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBzZXQtYnJhbmNoZXMgPOWQjeeosT4gPOWIhuaUrz4uLi4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NTQKK21zZ2lkICJnaXQgcmVtb3RlIHNldC1icmFuY2hlcyAtLWFkZCA8bmFtZT4gPGJyYW5jaD4uLi4iCittc2dzdHIgImdpdCByZW1vdGUgc2V0LWJyYW5jaGVzIC0tYWRkIDzlkI3nqLE+IDzliIbmlK8+Li4uIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjU5Cittc2dpZCAiZ2l0IHJlbW90ZSBzaG93IFs8b3B0aW9ucz5dIDxuYW1lPiIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBzaG93IFs86YG46aCFPl0gPOWQjeeosT4iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NjQKK21zZ2lkICJnaXQgcmVtb3RlIHBydW5lIFs8b3B0aW9ucz5dIDxuYW1lPiIKK21zZ3N0ciAiZ2l0IHJlbW90ZSBwcnVuZSBbPOmBuOmghT5dIDzlkI3nqLE+IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjY5Cittc2dpZCAiZ2l0IHJlbW90ZSB1cGRhdGUgWzxvcHRpb25zPl0gWzxncm91cD4gfCA8cmVtb3RlPl0uLi4iCittc2dzdHIgImdpdCByZW1vdGUgdXBkYXRlIFs86YG46aCFPl0gWzzntYQ+IHwgPOmBoOerrz5dLi4uIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIlVwZGF0aW5nICVzIgorbXNnc3RyICLmm7TmlrAgJXMg5LitIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMAorbXNnaWQgIiIKKyItLW1pcnJvciBpcyBkYW5nZXJvdXMgYW5kIGRlcHJlY2F0ZWQ7IHBsZWFzZVxuIgorIlx0IHVzZSAtLW1pcnJvcj1mZXRjaCBvciAtLW1pcnJvcj1wdXNoIGluc3RlYWQiCittc2dzdHIgIiIKKyItLW1pcnJvciDpgbjpoIXljbHpmqrkuJTpgY7mmYLvvIzoq4vkvb/nlKggLS1taXJyb3I9ZmV0Y2hcbiIKKyJcdCDmiJYgLS1taXJyb3I9cHVzaCIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtaXJyb3IgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLmnKrnn6XnmoTpj6Hlg4/lj4PmlbjvvJolcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNjMKK21zZ2lkICJmZXRjaCB0aGUgcmVtb3RlIGJyYW5jaGVzIgorbXNnc3RyICLmipPlj5bpgaDnq6/nmoTliIbmlK8iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTY1Cittc2dpZCAiaW1wb3J0IGFsbCB0YWdzIGFuZCBhc3NvY2lhdGVkIG9iamVjdHMgd2hlbiBmZXRjaGluZyIKK21zZ3N0ciAi5oqT5Y+W5pmC5Yyv5YWl5omA5pyJ55qE5qiZ57Gk5ZKM6Zec6IGv54mp5Lu2IgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE2OAorbXNnaWQgIm9yIGRvIG5vdCBmZXRjaCBhbnkgdGFnIGF0IGFsbCAoLS1uby10YWdzKSIKK21zZ3N0ciAi5oiW5LiN5oqT5Y+W5Lu75L2V5qiZ57Gk77yILS1uby10YWdz77yJIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE3MAorbXNnaWQgImJyYW5jaChlcykgdG8gdHJhY2siCittc2dzdHIgIui/vei5pOeahOWIhuaUryIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNzEKK21zZ2lkICJtYXN0ZXIgYnJhbmNoIgorbXNnc3RyICLkuLvnt5rliIbmlK8iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTczCittc2dpZCAic2V0IHVwIHJlbW90ZSBhcyBhIG1pcnJvciB0byBwdXNoIHRvIG9yIGZldGNoIGZyb20iCittc2dzdHIgIuaKiumBoOerr+ioreWumueCuueUqOS7peaOqOmAgeaIluaKk+WPlueahOmPoeWDjyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxODUKK21zZ2lkICJzcGVjaWZ5aW5nIGEgbWFzdGVyIGJyYW5jaCBtYWtlcyBubyBzZW5zZSB3aXRoIC0tbWlycm9yIgorbXNnc3RyICLmjIflrprkuIDlgIsgbWFzdGVyIOWIhuaUr+S4puS9v+eUqCAtLW1pcnJvciDpgbjpoIXmspLmnInmhI/nvqkiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTg3Cittc2dpZCAic3BlY2lmeWluZyBicmFuY2hlcyB0byB0cmFjayBtYWtlcyBzZW5zZSBvbmx5IHdpdGggZmV0Y2ggbWlycm9ycyIKK21zZ3N0ciAi5oyH5a6a6KaB6L+96Lmk55qE5YiG5pSv5Y+q5Zyo6IiH5Y+W5b6X6Y+h5YOP5ZCM5pmC5L2/55So5omN5pyJ5oSP576pIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE5NCBidWlsdGluL3JlbW90ZS5jOjYzNgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdGUgJXMgYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICLpgaDnq68gJXMg5bey57aT5a2Y5Zyo44CCIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE5OCBidWlsdGluL3JlbW90ZS5jOjY0MAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlbW90ZSBuYW1lIgorbXNnc3RyICInJXMnIOS4jeaYr+S4gOWAi+acieaViOeahOmBoOerr+WQjeeosSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoyMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHNldHVwIG1hc3RlciAnJXMnIgorbXNnc3RyICLnhKHms5XoqK3lrpogbWFzdGVyICclcyciCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBnZXQgZmV0Y2ggbWFwIGZvciByZWZzcGVjICVzIgorbXNnc3RyICLnhKHms5XlvpfliLDlvJXnlKjopo/moLwgJXMg55qE5Y+W5b6X5YiX6KGoIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjQ0MyBidWlsdGluL3JlbW90ZS5jOjQ1MQorbXNnaWQgIihtYXRjaGluZykiCittc2dzdHIgIu+8iOespuWQiO+8iSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo0NTUKK21zZ2lkICIoZGVsZXRlKSIKK21zZ3N0ciAi77yI5Yiq6Zmk77yJIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjYyOSBidWlsdGluL3JlbW90ZS5jOjc2NCBidWlsdGluL3JlbW90ZS5jOjg2MworIywgYy1mb3JtYXQKK21zZ2lkICJObyBzdWNoIHJlbW90ZTogJyVzJyIKK21zZ3N0ciAi5rKS5pyJ5q2k6YGg56uv54mI5pys5bqr77yaJyVzJyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHJlbmFtZSBjb25maWcgc2VjdGlvbiAnJXMnIHRvICclcyciCittc2dzdHIgIuS4jeiDvemHjeaWsOWRveWQjeioreWumuWwj+evgCAnJXMnIOWIsCAnJXMnIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IHVwZGF0aW5nIG5vbi1kZWZhdWx0IGZldGNoIHJlZnNwZWNcbiIKKyJcdCVzXG4iCisiXHRQbGVhc2UgdXBkYXRlIHRoZSBjb25maWd1cmF0aW9uIG1hbnVhbGx5IGlmIG5lY2Vzc2FyeS4iCittc2dzdHIgIiIKKyLmspLmnInmm7TmlrDpnZ7poJDoqK3nmoTlj5blvpflvJXnlKjopo/moLxcbiIKKyJcdCVzXG4iCisiXHTlpoLmnpzlv4XopoHoq4vmiYvli5Xmm7TmlrDoqK3lrprjgIIiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgImRlbGV0aW5nICclcycgZmFpbGVkIgorbXNnc3RyICLliKrpmaQgJyVzJyDlpLHmlZciCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6NzM1CisjLCBjLWZvcm1hdAorbXNnaWQgImNyZWF0aW5nICclcycgZmFpbGVkIgorbXNnc3RyICLlu7rnq4sgJyVzJyDlpLHmlZciCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6ODAxCittc2dpZCAiIgorIk5vdGU6IEEgYnJhbmNoIG91dHNpZGUgdGhlIHJlZnMvcmVtb3Rlcy8gaGllcmFyY2h5IHdhcyBub3QgcmVtb3ZlZDtcbiIKKyJ0byBkZWxldGUgaXQsIHVzZToiCittc2dpZF9wbHVyYWwgIiIKKyJOb3RlOiBTb21lIGJyYW5jaGVzIG91dHNpZGUgdGhlIHJlZnMvcmVtb3Rlcy8gaGllcmFyY2h5IHdlcmUgbm90IHJlbW92ZWQ7XG4iCisidG8gZGVsZXRlIHRoZW0sIHVzZToiCittc2dzdHJbMF0gIuazqOaEj++8mnJlZi9yZW1vdGVzIOWxpOe0muS5i+WklueahOS4gOWAi+WIhuaUr+acquiiq+enu+mZpOOAguimgeWIqumZpOWug++8jOS9v+eUqO+8miIKK21zZ3N0clsxXSAi5rOo5oSP77yacmVmL3JlbW90ZXMg5bGk57Sa5LmL5aSW55qE5LiA5Lqb5YiG5pSv5pyq6KKr56e76Zmk44CC6KaB5Yiq6Zmk5a6D5YCR77yM5L2/55So77yaIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjgxNQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIGNvbmZpZyBzZWN0aW9uICclcyciCittc2dzdHIgIuS4jeiDveenu+mZpOioreWumuWwj+evgCAnJXMnIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjkxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgbmV3IChuZXh0IGZldGNoIHdpbGwgc3RvcmUgaW4gcmVtb3Rlcy8lcykiCittc2dzdHIgIiDmlrDnmoTvvIjkuIvkuIDmrKHlj5blvpflsIflhLLlrZjmlrwgcmVtb3Rlcy8lc++8iSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo5MTkKK21zZ2lkICIgdHJhY2tlZCIKK21zZ3N0ciAiIOW3sui/vei5pCIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo5MjEKK21zZ2lkICIgc3RhbGUgKHVzZSAnZ2l0IHJlbW90ZSBwcnVuZScgdG8gcmVtb3ZlKSIKK21zZ3N0ciAiIOmBjuaZgu+8iOS9v+eUqCAnZ2l0IHJlbW90ZSBwcnVuZScg5L6G56e76Zmk77yJIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjkyMworbXNnaWQgIiA/Pz8iCittc2dzdHIgIiA/Pz8iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTY0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYnJhbmNoLiVzLm1lcmdlOyBjYW5ub3QgcmViYXNlIG9udG8gPiAxIGJyYW5jaCIKK21zZ3N0ciAi54Sh5pWI55qEIGJyYW5jaC4lcy5tZXJnZe+8jOS4jeiDvemHjeWumuWfuuW6leWIsOS4gOWAi+S7peS4iueahOWIhuaUryIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo5NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmViYXNlcyBpbnRlcmFjdGl2ZWx5IG9udG8gcmVtb3RlICVzIgorbXNnc3RyICLkupLli5XlvI/ph43lrprln7rlupXliLDpgaDnq68gJXMiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYmFzZXMgaW50ZXJhY3RpdmVseSAod2l0aCBtZXJnZXMpIG9udG8gcmVtb3RlICVzIgorbXNnc3RyICLkupLli5XlvI/ph43lrprln7rlupXvvIjlkKvlkIjkvbXmj5DkuqTvvInliLDpgaDnq68gJXMiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTc4CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYmFzZXMgb250byByZW1vdGUgJXMiCittc2dzdHIgIumHjeWumuWfuuW6leWIsOmBoOerryAlcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIG1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKK21zZ3N0ciAiIOiIh+mBoOerryAlcyDlkIjkvbUiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6OTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1lcmdlcyB3aXRoIHJlbW90ZSAlcyIKK21zZ3N0ciAi6IiH6YGg56uvICVzIOWQiOS9tSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzo5ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0qcyAgICBhbmQgd2l0aCByZW1vdGUgJXNcbiIKK21zZ3N0ciAiJS0qcyAgICDku6Xlj4rlkozpgaDnq68gJXNcbiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDMxCittc2dpZCAiY3JlYXRlIgorbXNnc3RyICLlu7rnq4siCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTAzNAorbXNnaWQgImRlbGV0ZSIKK21zZ3N0ciAi5Yiq6ZmkIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEwMzgKK21zZ2lkICJ1cCB0byBkYXRlIgorbXNnc3RyICLmnIDmlrAiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA0MQorbXNnaWQgImZhc3QtZm9yd2FyZGFibGUiCittc2dzdHIgIuWPr+W/q+i9iSIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDQ0Cittc2dpZCAibG9jYWwgb3V0IG9mIGRhdGUiCittc2dzdHIgIuacrOapn+W3sumBjuaZgiIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAlLSpzIGZvcmNlcyB0byAlLSpzICglcykiCittc2dzdHIgIiAgICAlLSpzIOW8t+WItuaOqOmAgeiHsyAlLSpzICglcykiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJS0qcyAoJXMpIgorbXNnc3RyICIgICAgJS0qcyDmjqjpgIHoh7MgJS0qcyAoJXMpIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEwNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICUtKnMgZm9yY2VzIHRvICVzIgorbXNnc3RyICIgICAgJS0qcyDlvLfliLbmjqjpgIHoh7MgJXMiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTA2MQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgJS0qcyBwdXNoZXMgdG8gJXMiCittc2dzdHIgIiAgICAlLSpzIOaOqOmAgeiHsyAlcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTI5Cittc2dpZCAiZG8gbm90IHF1ZXJ5IHJlbW90ZXMiCittc2dzdHIgIuS4jeafpeipoumBoOerryIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiogcmVtb3RlICVzIgorbXNnc3RyICIqIOmBoOerryAlcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgRmV0Y2ggVVJMOiAlcyIKK21zZ3N0ciAiICDlj5blvpfkvY3lnYDvvJolcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTU4IGJ1aWx0aW4vcmVtb3RlLmM6MTE3NCBidWlsdGluL3JlbW90ZS5jOjEzMTMKK21zZ2lkICIobm8gVVJMKSIKK21zZ3N0ciAiKOeEoSBVUkwpIgorCisjLiBUUkFOU0xBVE9SUzogdGhlIGNvbG9uICc6JyBzaG91bGQgYWxpZ24KKyMuIHdpdGggdGhlIG9uZSBpbiAiIEZldGNoIFVSTDogJXMiCisjLiB0cmFuc2xhdGlvbi4KKyMuCisjOiBidWlsdGluL3JlbW90ZS5jOjExNzIgYnVpbHRpbi9yZW1vdGUuYzoxMTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgUHVzaCAgVVJMOiAlcyIKK21zZ3N0ciAiICDmjqjpgIHkvY3lnYDvvJolcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMTc2IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OCBidWlsdGluL3JlbW90ZS5jOjExODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBIRUFEIGJyYW5jaDogJXMiCittc2dzdHIgIiAgSEVBRCDliIbmlK/vvJolcyIKKworIyAg6K2v6ICF77ya5Lit5paH5a2X5Liy5ou85o6l77yM5Y+v5Yiq6Zmk5YmN5bCO56m65qC8CisjOiBidWlsdGluL3JlbW90ZS5jOjExNzYKK21zZ2lkICIobm90IHF1ZXJpZWQpIgorbXNnc3RyICLvvIjmnKrmn6XoqaLvvIkiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTE3OAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAi77yI5pyq55+l77yJIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjExODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgSEVBRCBicmFuY2ggKHJlbW90ZSBIRUFEIGlzIGFtYmlndW91cywgbWF5IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nKTpcbiIKK21zZ3N0ciAiICBIRUFEIOWIhuaUr++8iOmBoOerryBIRUFEIOaooeeziu+8jOWPr+iDveaYr+S4i+WIl+S4reeahOS4gOWAi++8ie+8mlxuIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjExOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBSZW1vdGUgYnJhbmNoOiVzIgorbXNnaWRfcGx1cmFsICIgIFJlbW90ZSBicmFuY2hlczolcyIKK21zZ3N0clswXSAiICDpgaDnq6/liIbmlK/vvJolcyIKK21zZ3N0clsxXSAiICDpgaDnq6/liIbmlK/vvJolcyIKKworIyAg6K2v6ICF77ya5Lit5paH5a2X5Liy5ou85o6l77yM5Y+v5Yiq6Zmk5YmN5bCO56m65qC8CisjOiBidWlsdGluL3JlbW90ZS5jOjExOTcgYnVpbHRpbi9yZW1vdGUuYzoxMjIzCittc2dpZCAiIChzdGF0dXMgbm90IHF1ZXJpZWQpIgorbXNnc3RyICLvvIjni4DmhYvmnKrmn6XoqaLvvIkiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIwNgorbXNnaWQgIiAgTG9jYWwgYnJhbmNoIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgorbXNnaWRfcGx1cmFsICIgIExvY2FsIGJyYW5jaGVzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVsbCc6IgorbXNnc3RyWzBdICIgIOeCuiAnZ2l0IHB1bGwnIOioreWumueahOacrOapn+WIhuaUr++8miIKK21zZ3N0clsxXSAiICDngrogJ2dpdCBwdWxsJyDoqK3lrprnmoTmnKzmqZ/liIbmlK/vvJoiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTIxNAorbXNnaWQgIiAgTG9jYWwgcmVmcyB3aWxsIGJlIG1pcnJvcmVkIGJ5ICdnaXQgcHVzaCciCittc2dzdHIgIiAg5pys5qmf5byV55So5bCH5ZyoICdnaXQgcHVzaCcg5pmC6KKr6Y+h5YOPIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBMb2NhbCByZWYgY29uZmlndXJlZCBmb3IgJ2dpdCBwdXNoJyVzOiIKK21zZ2lkX3BsdXJhbCAiICBMb2NhbCByZWZzIGNvbmZpZ3VyZWQgZm9yICdnaXQgcHVzaCclczoiCittc2dzdHJbMF0gIiAg54K6ICdnaXQgcHVzaCcg6Kit5a6a55qE5pys5qmf5byV55SoJXPvvJoiCittc2dzdHJbMV0gIiAg54K6ICdnaXQgcHVzaCcg6Kit5a6a55qE5pys5qmf5byV55SoJXPvvJoiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI0MQorbXNnaWQgInNldCByZWZzL3JlbW90ZXMvPG5hbWU+L0hFQUQgYWNjb3JkaW5nIHRvIHJlbW90ZSIKK21zZ3N0ciAi5qC55pOa6YGg56uv6Kit5a6aIHJlZnMvcmVtb3Rlcy885ZCN56ixPi9IRUFEIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNDMKK21zZ2lkICJkZWxldGUgcmVmcy9yZW1vdGVzLzxuYW1lPi9IRUFEIgorbXNnc3RyICLliKrpmaQgcmVmcy9yZW1vdGVzLzzlkI3nqLE+L0hFQUQiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI1OAorbXNnaWQgIkNhbm5vdCBkZXRlcm1pbmUgcmVtb3RlIEhFQUQiCittc2dzdHIgIueEoeazleeiuuWumumBoOerryBIRUFEIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNjAKK21zZ2lkICJNdWx0aXBsZSByZW1vdGUgSEVBRCBicmFuY2hlcy4gUGxlYXNlIGNob29zZSBvbmUgZXhwbGljaXRseSB3aXRoOiIKK21zZ3N0ciAi5aSa5YCL6YGg56uvIEhFQUQg5YiG5pSv44CC6KuL5piO56K65Zyw6YG45pOH5LiA5YCL55So5oyH5Luk77yaIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSAlcyIKK21zZ3N0ciAi54Sh5rOV5Yiq6ZmkICVzIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGEgdmFsaWQgcmVmOiAlcyIKK21zZ3N0ciAi5LiN5piv5LiA5YCL5pyJ5pWI5byV55So77yaJXMiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTI4MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgc2V0dXAgJXMiCittc2dzdHIgIuS4jeiDveioreWumiAlcyIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIHdpbGwgYmVjb21lIGRhbmdsaW5nISIKK21zZ3N0ciAiICVzIOWwh+aIkOeCuuaHuOepuueLgOaFi++8gSIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiBidWlsdGluL3JlbW90ZS5jOjEyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcyBiZWNvbWUgZGFuZ2xpbmchIgorbXNnc3RyICIgJXMg5bey5oiQ54K65oe456m654uA5oWL77yBIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJ1bmluZyAlcyIKK21zZ3N0ciAi5L+u5YmqICVzIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjEzMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVVJMOiAlcyIKK21zZ3N0ciAiVVJM77yaJXMiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTMyNgorIywgYy1mb3JtYXQKK21zZ2lkICIgKiBbd291bGQgcHJ1bmVdICVzIgorbXNnc3RyICIgKiBb5bCH5Yiq6ZmkXSAlcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAqIFtwcnVuZWRdICVzIgorbXNnc3RyICIgKiBb5bey5Yiq6ZmkXSAlcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxMzc0Cittc2dpZCAicHJ1bmUgcmVtb3RlcyBhZnRlciBmZXRjaGluZyIKK21zZ3N0ciAi5oqT5Y+W5b6M5riF6Zmk6YGg56uvIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE0MzcgYnVpbHRpbi9yZW1vdGUuYzoxNDkxIGJ1aWx0aW4vcmVtb3RlLmM6MTU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJObyBzdWNoIHJlbW90ZSAnJXMnIgorbXNnc3RyICLmspLmnInmraTpgaDnq68gJyVzJyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNDUzCittc2dpZCAiYWRkIGJyYW5jaCIKK21zZ3N0ciAi5paw5aKe5YiG5pSvIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NjAKK21zZ2lkICJubyByZW1vdGUgc3BlY2lmaWVkIgorbXNnc3RyICLmnKrmjIflrprpgaDnq68iCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTQ3NworbXNnaWQgInF1ZXJ5IHB1c2ggVVJMcyByYXRoZXIgdGhhbiBmZXRjaCBVUkxzIgorbXNnc3RyICLmn6XoqaLmjqjpgIEgVVJMIOS9jeWdgO+8jOiAjOmdnuWPluW+lyBVUkwg5L2N5Z2AIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE0NzkKK21zZ2lkICJyZXR1cm4gYWxsIFVSTHMiCittc2dzdHIgIui/lOWbnuaJgOaciSBVUkwg5L2N5Z2AIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gVVJMcyBjb25maWd1cmVkIGZvciByZW1vdGUgJyVzJyIKK21zZ3N0ciAi5rKS5pyJ57Wm6YGg56uv54mI5pys5bqrICclcycg6Kit5a6aIFVSTCIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTMzCittc2dpZCAibWFuaXB1bGF0ZSBwdXNoIFVSTHMiCittc2dzdHIgIuWLleS9nOaOqOmAgSBVUkxTIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzUKK21zZ2lkICJhZGQgVVJMIgorbXNnc3RyICLmlrDlop4gVVJMIgorCisjOiBidWlsdGluL3JlbW90ZS5jOjE1MzcKK21zZ2lkICJkZWxldGUgVVJMcyIKK21zZ3N0ciAi5Yiq6ZmkIFVSTCIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTQ0Cittc2dpZCAiLS1hZGQgLS1kZWxldGUgZG9lc24ndCBtYWtlIHNlbnNlIgorbXNnc3RyICItLWFkZCAtLWRlbGV0ZSDnhKHmhI/nvqkiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU4MworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG9sZCBVUkwgcGF0dGVybjogJXMiCittc2dzdHIgIueEoeaViOeahOiIiiBVUkwg56ym5ZCI56+E5pys77yaJXMiCisKKyM6IGJ1aWx0aW4vcmVtb3RlLmM6MTU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJObyBzdWNoIFVSTCBmb3VuZDogJXMiCittc2dzdHIgIuacquaJvuWIsOatpCBVUkzvvJolcyIKKworIzogYnVpbHRpbi9yZW1vdGUuYzoxNTkzCittc2dpZCAiV2lsbCBub3QgZGVsZXRlIGFsbCBub24tcHVzaCBVUkxzIgorbXNnc3RyICLlsIfkuI3mnIPliKrpmaTmiYDmnInpnZ7mjqjpgIEgVVJMIOS9jeWdgCIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyMworbXNnaWQgImdpdCByZXBhY2sgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCByZXBhY2sgWzzpgbjpoIU+XSIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyOAorbXNnaWQgIiIKKyJJbmNyZW1lbnRhbCByZXBhY2tzIGFyZSBpbmNvbXBhdGlibGUgd2l0aCBiaXRtYXAgaW5kZXhlcy4gIFVzZVxuIgorIi0tbm8td3JpdGUtYml0bWFwLWluZGV4IG9yIGRpc2FibGUgdGhlIHBhY2sud3JpdGViaXRtYXBzIGNvbmZpZ3VyYXRpb24uIgorbXNnc3RyICIiCisi5aKe6YePIHJlcGFjayDlkowgYml0bWFwIOe0ouW8leS4jeebuOWuueOAgiAg5L2/55SoIC0tbm8td3JpdGUtYml0bWFwLWluZGV4XG4iCisi5oiW56aB55SoIHBhY2sud3JpdGViaXRtYXBzIOioreWumuOAgiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoxOTEKK21zZ2lkICJjb3VsZCBub3Qgc3RhcnQgcGFjay1vYmplY3RzIHRvIHJlcGFjayBwcm9taXNvciBvYmplY3RzIgorbXNnc3RyICLnhKHms5Xplovlp4sgcGFjay1vYmplY3RzIOS+humHjeaWsOaJk+WMhSBwcm9taXNvciDnianku7YiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MjMwIGJ1aWx0aW4vcmVwYWNrLmM6NDE2Cittc2dpZCAicmVwYWNrOiBFeHBlY3RpbmcgZnVsbCBoZXggb2JqZWN0IElEIGxpbmVzIG9ubHkgZnJvbSBwYWNrLW9iamVjdHMuIgorbXNnc3RyICJyZXBhY2vvvJrmnJ/mnJvkvoboh6ogcGFjay1vYmplY3RzIOeahOWujOaVtOWNgeWFremAsuS9jeeJqeS7tiBJROOAgiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyNTQKK21zZ2lkICJjb3VsZCBub3QgZmluaXNoIHBhY2stb2JqZWN0cyB0byByZXBhY2sgcHJvbWlzb3Igb2JqZWN0cyIKK21zZ3N0ciAi54Sh5rOV5a6M5oiQIHBhY2stb2JqZWN0cyDkvobph43mlrDmiZPljIUgcHJvbWlzb3Ig54mp5Lu2IgorCisjOiBidWlsdGluL3JlcGFjay5jOjI5MgorbXNnaWQgInBhY2sgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYWNrIgorbXNnc3RyICLmiYDmnInlhaflrrnmiZPljIXliLDkuIDlgIvljIXmqpTmoYjkuK0iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6Mjk0Cittc2dpZCAic2FtZSBhcyAtYSwgYW5kIHR1cm4gdW5yZWFjaGFibGUgb2JqZWN0cyBsb29zZSIKK21zZ3N0ciAi5ZKMIC1hIOebuOWQjO+8jOS4puWwh+eEoeazleWPluW+l+eahOeJqeS7tuioreeCuumshuaVo+eJqeS7tiIKKworIzogYnVpbHRpbi9yZXBhY2suYzoyOTcKK21zZ2lkICJyZW1vdmUgcmVkdW5kYW50IHBhY2tzLCBhbmQgcnVuIGdpdC1wcnVuZS1wYWNrZWQiCittc2dzdHIgIuWIqumZpOWkmumkmOeahOWMhe+8jOWft+ihjCBnaXQtcHJ1bmUtcGFja2VkIgorCisjOiBidWlsdGluL3JlcGFjay5jOjI5OQorbXNnaWQgInBhc3MgLS1uby1yZXVzZS1kZWx0YSB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICLlkJEgZ2l0LXBhY2stb2JqZWN0cyDlgrPpgZ7lj4PmlbggLS1uby1yZXVzZS1kZWx0YSIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMDEKK21zZ2lkICJwYXNzIC0tbm8tcmV1c2Utb2JqZWN0IHRvIGdpdC1wYWNrLW9iamVjdHMiCittc2dzdHIgIuWQkSBnaXQtcGFjay1vYmplY3RzIOWCs+mBnuWPg+aVuCAtLW5vLXJldXNlLW9iamVjdCIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMDMKK21zZ2lkICJkbyBub3QgcnVuIGdpdC11cGRhdGUtc2VydmVyLWluZm8iCittc2dzdHIgIuS4jeWft+ihjCBnaXQtdXBkYXRlLXNlcnZlci1pbmZvIgorCisjOiBidWlsdGluL3JlcGFjay5jOjMwNgorbXNnaWQgInBhc3MgLS1sb2NhbCB0byBnaXQtcGFjay1vYmplY3RzIgorbXNnc3RyICLlkJEgZ2l0LXBhY2stb2JqZWN0cyDlgrPpgZ7lj4PmlbggLS1sb2NhbCIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMDgKK21zZ2lkICJ3cml0ZSBiaXRtYXAgaW5kZXgiCittc2dzdHIgIuWvqyBiaXRtYXAg57Si5byVIgorCisjOiBidWlsdGluL3JlcGFjay5jOjMxMAorbXNnaWQgInBhc3MgLS1kZWx0YS1pc2xhbmRzIHRvIGdpdC1wYWNrLW9iamVjdHMiCittc2dzdHIgIuWQkSBnaXQtcGFjay1vYmplY3RzIOWCs+mBnuWPg+aVuCAtLWRlbHRhLWlzbGFuZHMiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzExCittc2dpZCAiYXBwcm94aWRhdGUiCittc2dzdHIgIui/keS8vOaXpeacnyIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMTIKK21zZ2lkICJ3aXRoIC1BLCBkbyBub3QgbG9vc2VuIG9iamVjdHMgb2xkZXIgdGhhbiB0aGlzIgorbXNnc3RyICLkvb/nlKggLUHvvIzkuI3opoHlsIfml6nmlrzmj5DkvpvmmYLplpPnmoTnianku7bpgY7mnJ8iCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE0Cittc2dpZCAid2l0aCAtYSwgcmVwYWNrIHVucmVhY2hhYmxlIG9iamVjdHMiCittc2dzdHIgIuS9v+eUqCAtYSDvvIzph43mlrDlsI3nhKHms5Xlj5blvpfnianku7bmiZPljIUiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE2Cittc2dpZCAic2l6ZSBvZiB0aGUgd2luZG93IHVzZWQgZm9yIGRlbHRhIGNvbXByZXNzaW9uIgorbXNnc3RyICLnlKjmlrzlop7ph4/lo5PnuK7nmoToppbnqpflgLwiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzE3IGJ1aWx0aW4vcmVwYWNrLmM6MzIzCittc2dpZCAiYnl0ZXMiCittc2dzdHIgIuS9jeWFg+e1hCIKKworIzogYnVpbHRpbi9yZXBhY2suYzozMTgKK21zZ2lkICJzYW1lIGFzIHRoZSBhYm92ZSwgYnV0IGxpbWl0IG1lbW9yeSBzaXplIGluc3RlYWQgb2YgZW50cmllcyBjb3VudCIKK21zZ3N0ciAi5ZKM5LiK6Z2i55qE55u45Ly877yM5L2G6ZmQ5Yi26KiY5oa26auU5aSn5bCP6ICM6Z2e5qKd55uu5pW4IgorCisjOiBidWlsdGluL3JlcGFjay5jOjMyMAorbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBkZWx0YSBkZXB0aCIKK21zZ3N0ciAi6ZmQ5Yi25pyA5aSn5aKe6YeP5rex5bqmIgorCisjOiBidWlsdGluL3JlcGFjay5jOjMyMgorbXNnaWQgImxpbWl0cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcyIKK21zZ3N0ciAi6ZmQ5Yi25pyA5aSn5Z+36KGM57eS5pW4IgorCisjOiBidWlsdGluL3JlcGFjay5jOjMyNAorbXNnaWQgIm1heGltdW0gc2l6ZSBvZiBlYWNoIHBhY2tmaWxlIgorbXNnc3RyICLmr4/lgIsgcGFja2ZpbGUg55qE5pyA5aSn5bC65a+4IgorCisjOiBidWlsdGluL3JlcGFjay5jOjMyNgorbXNnaWQgInJlcGFjayBvYmplY3RzIGluIHBhY2tzIG1hcmtlZCB3aXRoIC5rZWVwIgorbXNnc3RyICLlsI3mqJnoqJjngrogLmtlZXAg55qE5YyF5Lit55qE54mp5Lu26YeN5paw5omT5YyFIgorCisjOiBidWlsdGluL3JlcGFjay5jOjMyOAorbXNnaWQgImRvIG5vdCByZXBhY2sgdGhpcyBwYWNrIgorbXNnc3RyICLkuI3opoHlsI3oqbLljIXmqpTmoYjph43mlrDmiZPljIUiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6MzM4Cittc2dpZCAiY2Fubm90IGRlbGV0ZSBwYWNrcyBpbiBhIHByZWNpb3VzLW9iamVjdHMgcmVwbyIKK21zZ3N0ciAi5LiN6IO95Yiq6Zmk54+N5ZOB54mI5pys5bqr5Lit55qE5omT5YyF5qqU5qGIIgorCisjOiBidWlsdGluL3JlcGFjay5jOjM0MgorbXNnaWQgIi0ta2VlcC11bnJlYWNoYWJsZSBhbmQgLUEgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiLS1rZWVwLXVucmVhY2hhYmxlIOWSjCAtQSDkuI3nm7jlrrkiCisKKyM6IGJ1aWx0aW4vcmVwYWNrLmM6NDI1Cittc2dpZCAiTm90aGluZyBuZXcgdG8gcGFjay4iCittc2dzdHIgIuaykuacieaWsOeahOimgeaJk+WMheOAgiIKKworIzogYnVpbHRpbi9yZXBhY2suYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IFNvbWUgcGFja3MgaW4gdXNlIGhhdmUgYmVlbiByZW5hbWVkIGJ5XG4iCisiV0FSTklORzogcHJlZml4aW5nIG9sZC0gdG8gdGhlaXIgbmFtZSwgaW4gb3JkZXIgdG9cbiIKKyJXQVJOSU5HOiByZXBsYWNlIHRoZW0gd2l0aCB0aGUgbmV3IHZlcnNpb24gb2YgdGhlXG4iCisiV0FSTklORzogZmlsZS4gIEJ1dCB0aGUgb3BlcmF0aW9uIGZhaWxlZCwgYW5kIHRoZVxuIgorIldBUk5JTkc6IGF0dGVtcHQgdG8gcmVuYW1lIHRoZW0gYmFjayB0byB0aGVpclxuIgorIldBUk5JTkc6IG9yaWdpbmFsIG5hbWVzIGFsc28gZmFpbGVkLlxuIgorIldBUk5JTkc6IFBsZWFzZSByZW5hbWUgdGhlbSBpbiAlcyBtYW51YWxseTpcbiIKK21zZ3N0ciAiIgorIuitpuWRiu+8mueCuuS6huWwh+WMheaqlOahiOWPluS7o+eCuuaWsOeJiOacrO+8jOS4gOS6m+S9v+eUqOS4reeahOWMheW3sue2k1xuIgorIuitpuWRiu+8mumAj+mBjuaWsOWiniBvbGQtIOWJjee2tOeahOaWueW8j+mHjeaWsOWRveWQjeOAguS9huaYr+WLleS9nOWkseaVl++8jFxuIgorIuitpuWRiu+8muS4puS4lOWYl+ippumHjeaWsOWRveWQjeaUueWbnuWOn+acieaqlOahiOWQjeeahOWLleS9nOS5n+WkseaVl+OAglxuIgorIuitpuWRiu+8muiri+aJi+WLleWwhyAlcyDkuIvnmoTpgJnkupvmqpTmoYjph43mlrDlkb3lkI3vvJpcbiIKKworIzogYnVpbHRpbi9yZXBhY2suYzo1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSAnJXMnIgorbXNnc3RyICLliKrpmaQgJyVzJyDlpLHmlZciCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIyCittc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSA8b2JqZWN0PiA8cmVwbGFjZW1lbnQ+IgorbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIDznianku7Y+IDzlj5bku6Pniak+IgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoyMworbXNnaWQgImdpdCByZXBsYWNlIFstZl0gLS1lZGl0IDxvYmplY3Q+IgorbXNnc3RyICJnaXQgcmVwbGFjZSBbLWZdIC0tZWRpdCA854mp5Lu2PiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MjQKK21zZ2lkICJnaXQgcmVwbGFjZSBbLWZdIC0tZ3JhZnQgPGNvbW1pdD4gWzxwYXJlbnQ+Li4uXSIKK21zZ3N0ciAiZ2l0IHJlcGxhY2UgWy1mXSAtLWdyYWZ0IDzmj5DkuqQ+IFs854i25o+Q5LqkPi4uLl0iCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI1Cittc2dpZCAiZ2l0IHJlcGxhY2UgWy1mXSAtLWNvbnZlcnQtZ3JhZnQtZmlsZSIKK21zZ3N0ciAiZ2l0IHJlcGxhY2UgWy1mXSAtLWNvbnZlcnQtZ3JhZnQtZmlsZSIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MjYKK21zZ2lkICJnaXQgcmVwbGFjZSAtZCA8b2JqZWN0Pi4uLiIKK21zZ3N0ciAiZ2l0IHJlcGxhY2UgLWQgPOeJqeS7tj4uLi4iCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI3Cittc2dpZCAiZ2l0IHJlcGxhY2UgWy0tZm9ybWF0PTxmb3JtYXQ+XSBbLWwgWzxwYXR0ZXJuPl1dIgorbXNnc3RyICJnaXQgcmVwbGFjZSBbLS1mb3JtYXQ9POagvOW8jz5dIFstbCBbPOaooeW8jz5dXSIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImludmFsaWQgcmVwbGFjZSBmb3JtYXQgJyVzJ1xuIgorInZhbGlkIGZvcm1hdHMgYXJlICdzaG9ydCcsICdtZWRpdW0nIGFuZCAnbG9uZyciCittc2dzdHIgIiIKKyLnhKHmlYjnmoTlj5bku6PmoLzlvI8gJyVzJ1xuIgorIuacieaViOeahOagvOW8j+aciSAnc2hvcnQn44CBJ21lZGl1bScg5ZKMICdsb25nJyIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlcGxhY2UgcmVmICclcycgbm90IGZvdW5kIgorbXNnc3RyICLmnKrnmbznj77lj5bku6PlvJXnlKggJyVzJyIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRlbGV0ZWQgcmVwbGFjZSByZWYgJyVzJyIKK21zZ3N0ciAi5bey5Yiq6Zmk5Y+W5Luj5byV55SoICclcyciCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHZhbGlkIHJlZiBuYW1lIgorbXNnc3RyICInJXMnIOS4jeaYr+S4gOWAi+acieaViOeahOW8leeUqOWQjSIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInJlcGxhY2UgcmVmICclcycgYWxyZWFkeSBleGlzdHMiCittc2dzdHIgIuWPluS7o+W8leeUqCAnJXMnIOW3sue2k+WtmOWcqCIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPYmplY3RzIG11c3QgYmUgb2YgdGhlIHNhbWUgdHlwZS5cbiIKKyInJXMnIHBvaW50cyB0byBhIHJlcGxhY2VkIG9iamVjdCBvZiB0eXBlICclcydcbiIKKyJ3aGlsZSAnJXMnIHBvaW50cyB0byBhIHJlcGxhY2VtZW50IG9iamVjdCBvZiB0eXBlICclcycuIgorbXNnc3RyICIiCisi54mp5Lu25b+F6aCI5bGs5pa85ZCM5LiA6aGe5Z6L44CCXG4iCisiJyVzJyDmjIflkJEgJyVzJyDpoZ7lnovnmoTlj5bku6Pnianku7ZcbiIKKyLogIwgJyVzJyDmjIflkJEgJyVzJyDpoZ7lnovnmoTlj5bku6Pnianku7bjgIIiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyBmb3Igd3JpdGluZyIKK21zZ3N0ciAi54Sh5rOV54K65a+r5YWl6ZaL5ZWfICVzIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoyNDIKK21zZ2lkICJjYXQtZmlsZSByZXBvcnRlZCBmYWlsdXJlIgorbXNnc3RyICJjYXQtZmlsZSDloLHlkYrlpLHmlZciCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyBmb3IgcmVhZGluZyIKK21zZ3N0ciAi54Sh5rOV54K66K6A5Y+W6ZaL5ZWfICVzIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoyNzIKK21zZ2lkICJ1bmFibGUgdG8gc3Bhd24gbWt0cmVlIgorbXNnc3RyICLnhKHms5XllZ/li5UgbWt0cmVlIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoyNzYKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBmcm9tIG1rdHJlZSIKK21zZ3N0ciAi54Sh5rOV5b6eIG1rdHJlZSDoroDlj5YiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI4NQorbXNnaWQgIm1rdHJlZSByZXBvcnRlZCBmYWlsdXJlIgorbXNnc3RyICJta3RyZWUg5aCx5ZGK5aSx5pWXIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzoyODkKK21zZ2lkICJta3RyZWUgZGlkIG5vdCByZXR1cm4gYW4gb2JqZWN0IG5hbWUiCittc2dzdHIgIm1rdHJlZSDmspLmnInov5Tlm57kuIDlgIvnianku7blkI0iCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZnN0YXQgJXMiCittc2dzdHIgIueEoeazleWwjSAlcyDln7fooYwgZnN0YXQiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjMwMworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBvYmplY3QgdG8gZGF0YWJhc2UiCittc2dzdHIgIueEoeazleWQkeizh+aWmeW6q+Wvq+WFpeeJqeS7tiIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MzIyIGJ1aWx0aW4vcmVwbGFjZS5jOjM3OCBidWlsdGluL3JlcGxhY2UuYzo0MjMKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSB2YWxpZCBvYmplY3QgbmFtZTogJyVzJyIKK21zZ3N0ciAi5LiN5piv5LiA5YCL5pyJ5pWI55qE54mp5Lu25ZCN77yaJyVzJyIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6MzI2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBnZXQgb2JqZWN0IHR5cGUgZm9yICVzIgorbXNnc3RyICLnhKHms5XlvpfliLAgJXMg55qE54mp5Lu26aGe5Z6LIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzozNDIKK21zZ2lkICJlZGl0aW5nIG9iamVjdCBmaWxlIGZhaWxlZCIKK21zZ3N0ciAi57eo6Lyv54mp5Lu25qqU5qGI5aSx5pWXIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzozNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibmV3IG9iamVjdCBpcyB0aGUgc2FtZSBhcyB0aGUgb2xkIG9uZTogJyVzJyIKK21zZ3N0ciAi5paw54mp5Lu25ZKM6IiK54mp5Lu255u45ZCM77yaJyVzJyIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBwYXJzZSAlcyBhcyBhIGNvbW1pdCIKK21zZ3N0ciAi54Sh5rOV5bCHICVzIOino+aekOeCuuS4gOWAi+aPkOS6pCIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBtZXJnZXRhZyBpbiBjb21taXQgJyVzJyIKK21zZ3N0ciAi5o+Q5LqkICclcycg5Lit5ZCr5pyJ5pCN5aOe55qE5ZCI5L215qiZ57GkIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo0MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsZm9ybWVkIG1lcmdldGFnIGluIGNvbW1pdCAnJXMnIgorbXNnc3RyICLmj5DkuqQgJyVzJyDkuK3lkKvmnInmoLzlvI/pjK/oqqTnmoTlkIjkvbXmqJnnsaQiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisib3JpZ2luYWwgY29tbWl0ICclcycgY29udGFpbnMgbWVyZ2V0YWcgJyVzJyB0aGF0IGlzIGRpc2NhcmRlZDsgdXNlIC0tZWRpdCAiCisiaW5zdGVhZCBvZiAtLWdyYWZ0IgorbXNnc3RyICLljp/lp4vmj5DkuqQgJyVzJyDljIXlkKvlt7LntpPmjajmo4TnmoTlkIjkvbXmqJnnsaQgJyVzJ++8jOS9v+eUqCAtLWVkaXQg5Luj5pu/IC0tZ3JhZnQiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3JpZ2luYWwgY29tbWl0ICclcycgaGFzIGEgZ3BnIHNpZ25hdHVyZSIKK21zZ3N0ciAi5Y6f5aeL5o+Q5LqkICclcycg5Lit5pyJ5LiA5YCLIGdwZyDnsL3lkI0iCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ2OQorbXNnaWQgInRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGluIHRoZSByZXBsYWNlbWVudCBjb21taXQhIgorbXNnc3RyICLlnKjlj5bku6PnmoTmj5DkuqTkuK3nsL3lkI3lsIfooqvnp7vpmaTvvIEiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjQ3OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3Qgd3JpdGUgcmVwbGFjZW1lbnQgY29tbWl0IGZvcjogJyVzJyIKK21zZ3N0ciAi5LiN6IO954K6ICclcycg5a+r5Y+W5Luj5o+Q5LqkIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JhZnQgZm9yICclcycgdW5uZWNlc3NhcnkiCittc2dzdHIgIuWwjSAnJXMnIOenu+akjeaykuacieW/heimgSIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NDkxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5ldyBjb21taXQgaXMgdGhlIHNhbWUgYXMgdGhlIG9sZCBvbmU6ICclcyciCittc2dzdHIgIuaWsOaPkOS6pOWSjOiIiueahOS4gOaoo++8miclcyciCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY291bGQgbm90IGNvbnZlcnQgdGhlIGZvbGxvd2luZyBncmFmdChzKTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIuS4jeiDvei9ieaPm+S4i+WIl+enu+akje+8mlxuIgorIiVzIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDcKK21zZ2lkICJsaXN0IHJlcGxhY2UgcmVmcyIKK21zZ3N0ciAi5YiX5Ye65Y+W5Luj55qE5byV55SoIgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo1NDgKK21zZ2lkICJkZWxldGUgcmVwbGFjZSByZWZzIgorbXNnc3RyICLliKrpmaTlj5bku6PnmoTlvJXnlKgiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU0OQorbXNnaWQgImVkaXQgZXhpc3Rpbmcgb2JqZWN0IgorbXNnc3RyICLnt6jovK/nj77lrZjnmoTnianku7YiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1MAorbXNnaWQgImNoYW5nZSBhIGNvbW1pdCdzIHBhcmVudHMiCittc2dzdHIgIuS/ruaUueS4gOWAi+aPkOS6pOeahOeItuaPkOS6pCIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTUxCittc2dpZCAiY29udmVydCBleGlzdGluZyBncmFmdCBmaWxlIgorbXNnc3RyICLovYnmj5vnj77lrZjnmoTnp7vmpI3mqpTmoYgiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU1MgorbXNnaWQgInJlcGxhY2UgdGhlIHJlZiBpZiBpdCBleGlzdHMiCittc2dzdHIgIuWmguaenOWtmOWcqOWJh+WPluS7o+W8leeUqCIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU0Cittc2dpZCAiZG8gbm90IHByZXR0eS1wcmludCBjb250ZW50cyBmb3IgLS1lZGl0IgorbXNnc3RyICLkuI3opoHngrogLS1lZGl0IOWLleS9nOe+juingOmhr+ekuuWFp+WuuSIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTU1Cittc2dpZCAidXNlIHRoaXMgZm9ybWF0IgorbXNnc3RyICLkvb/nlKjmraTmoLzlvI8iCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU2OAorbXNnaWQgIi0tZm9ybWF0IGNhbm5vdCBiZSB1c2VkIHdoZW4gbm90IGxpc3RpbmciCittc2dzdHIgIuS4jeWIl+WHuuaZguS4jeiDveS9v+eUqCAtLWZvcm1hdCIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTc2Cittc2dpZCAiLWYgb25seSBtYWtlcyBzZW5zZSB3aGVuIHdyaXRpbmcgYSByZXBsYWNlbWVudCIKK21zZ3N0ciAi5Y+q5pyJ5a+r5LiA5YCL5Y+W5Luj5pmCIC1mIOaJjeacieaEj+e+qSIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NTgwCittc2dpZCAiLS1yYXcgb25seSBtYWtlcyBzZW5zZSB3aXRoIC0tZWRpdCIKK21zZ3N0ciAiLS1yYXcg5Y+q5pyJ5ZKMIC0tZWRpdCDlhbHnlKjmiY3mnInmhI/nvqkiCisKKyM6IGJ1aWx0aW4vcmVwbGFjZS5jOjU4NgorbXNnaWQgIi1kIG5lZWRzIGF0IGxlYXN0IG9uZSBhcmd1bWVudCIKK21zZ3N0ciAiLWQg6ZyA6KaB6Iez5bCR5LiA5YCL5Y+D5pW4IgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo1OTIKK21zZ2lkICJiYWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAi6Yyv6Kqk55qE5Y+D5pW45YCL5pW4IgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo1OTgKK21zZ2lkICItZSBuZWVkcyBleGFjdGx5IG9uZSBhcmd1bWVudCIKK21zZ3N0ciAiLWUg6ZyA6KaB5LiU5YOF6ZyA6KaB5LiA5YCL5Y+D5pW4IgorCisjOiBidWlsdGluL3JlcGxhY2UuYzo2MDQKK21zZ2lkICItZyBuZWVkcyBhdCBsZWFzdCBvbmUgYXJndW1lbnQiCittc2dzdHIgIi1nIOmcgOimgeiHs+WwkeS4gOWAi+WPg+aVuCIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NjEwCittc2dpZCAiLS1jb252ZXJ0LWdyYWZ0LWZpbGUgdGFrZXMgbm8gYXJndW1lbnQiCittc2dzdHIgIi0tY29udmVydC1ncmFmdC1maWxlIOS4jeW4tuWPg+aVuCIKKworIzogYnVpbHRpbi9yZXBsYWNlLmM6NjE2Cittc2dpZCAib25seSBvbmUgcGF0dGVybiBjYW4gYmUgZ2l2ZW4gd2l0aCAtbCIKK21zZ3N0ciAi5Y+q6IO954K6IC1sIOaPkOS+m+S4gOWAi+aooeW8jyIKKworIzogYnVpbHRpbi9yZXJlcmUuYzoxMworbXNnaWQgImdpdCByZXJlcmUgW2NsZWFyIHwgZm9yZ2V0IDxwYXRoPi4uLiB8IHN0YXR1cyB8IHJlbWFpbmluZyB8IGRpZmYgfCBnY10iCittc2dzdHIgImdpdCByZXJlcmUgW2NsZWFyIHwgZm9yZ2V0IDzot6/lvpE+Li4uIHwgc3RhdHVzIHwgcmVtYWluaW5nIHwgZGlmZiB8IGdjXSIKKworIzogYnVpbHRpbi9yZXJlcmUuYzo2MAorbXNnaWQgInJlZ2lzdGVyIGNsZWFuIHJlc29sdXRpb25zIGluIGluZGV4IgorbXNnc3RyICLlnKjntKLlvJXkuK3oqLvlhorkub7mt6jnmoTop6PmsbrmlrnmoYgiCisKKyM6IGJ1aWx0aW4vcmVyZXJlLmM6NzkKK21zZ2lkICInZ2l0IHJlcmVyZSBmb3JnZXQnIHdpdGhvdXQgcGF0aHMgaXMgZGVwcmVjYXRlZCIKK21zZ3N0ciAi5rKS5pyJ6Lev5b6R55qEICdnaXQgcmVyZXJlIGZvcmdldCcg5bey57aT6YGO5pmCIgorCisjOiBidWlsdGluL3JlcmVyZS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZ2VuZXJhdGUgZGlmZiBmb3IgJyVzJyIKK21zZ3N0ciAi54Sh5rOV54K6ICclcycg55Sf5oiQ5beu55WwIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzIKK21zZ2lkICIiCisiZ2l0IHJlc2V0IFstLW1peGVkIHwgLS1zb2Z0IHwgLS1oYXJkIHwgLS1tZXJnZSB8IC0ta2VlcF0gWy1xXSBbPGNvbW1pdD5dIgorbXNnc3RyICJnaXQgcmVzZXQgWy0tbWl4ZWQgfCAtLXNvZnQgfCAtLWhhcmQgfCAtLW1lcmdlIHwgLS1rZWVwXSBbLXFdIFs85o+Q5LqkPl0iCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozMworI3wgbXNnaWQgImdpdCByZXNldCBbLXFdIFs8dHJlZS1pc2g+XSBbLS1dIDxwYXRocz4uLi4iCittc2dpZCAiZ2l0IHJlc2V0IFstcV0gWzx0cmVlLWlzaD5dIFstLV0gPHBhdGhzcGVjPi4uLiIKK21zZ3N0ciAiZ2l0IHJlc2V0IFstcV0gWzzmqLnmiJbmj5DkuqQ+XSBbLS1dIDzot6/lvpHopo/moLw+Li4uIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzQKK21zZ2lkICIiCisiZ2l0IHJlc2V0IFstcV0gWy0tcGF0aHNwZWMtZnJvbS1maWxlIFstLXBhdGhzcGVjLWZpbGUtbnVsXV0gWzx0cmVlLWlzaD5dIgorbXNnc3RyICJnaXQgcmVzZXQgWy1xXSBbLS1wYXRoc3BlYy1mcm9tLWZpbGUgWy0tcGF0aHNwZWMtZmlsZS1udWxdXSBbPOaoueaIluaPkOS6pD5dIgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzUKKyN8IG1zZ2lkICJnaXQgcmVzZXQgLS1wYXRjaCBbPHRyZWUtaXNoPl0gWy0tXSBbPHBhdGhzPi4uLl0iCittc2dpZCAiZ2l0IHJlc2V0IC0tcGF0Y2ggWzx0cmVlLWlzaD5dIFstLV0gWzxwYXRoc3BlYz4uLi5dIgorbXNnc3RyICJnaXQgcmVzZXQgLS1wYXRjaCBbPOaoueaIluaPkOS6pD5dIFstLV0gWzzot6/lvpHopo/moLw+Li4uXSIKKworIzogYnVpbHRpbi9yZXNldC5jOjQxCittc2dpZCAibWl4ZWQiCittc2dzdHIgIua3t+mbnCIKKworIzogYnVpbHRpbi9yZXNldC5jOjQxCittc2dpZCAic29mdCIKK21zZ3N0ciAi6Luf5oCnIgorCisjOiBidWlsdGluL3Jlc2V0LmM6NDEKK21zZ2lkICJoYXJkIgorbXNnc3RyICLnoazmgKciCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQorbXNnaWQgIm1lcmdlIgorbXNnc3RyICLlkIjkvbUiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MQorbXNnaWQgImtlZXAiCittc2dzdHIgIuS/neaMgSIKKworIzogYnVpbHRpbi9yZXNldC5jOjgyCittc2dpZCAiWW91IGRvIG5vdCBoYXZlIGEgdmFsaWQgSEVBRC4iCittc2dzdHIgIuaCqOaykuacieS4gOWAi+acieaViOeahCBIRUFE44CCIgorCisjOiBidWlsdGluL3Jlc2V0LmM6ODQKK21zZ2lkICJGYWlsZWQgdG8gZmluZCB0cmVlIG9mIEhFQUQuIgorbXNnc3RyICLnhKHms5Xmib7liLAgSEVBRCDmjIflkJHnmoTmqLnjgIIiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gZmluZCB0cmVlIG9mICVzLiIKK21zZ3N0ciAi54Sh5rOV5om+5YiwICVzIOaMh+WQkeeahOaoueOAgiIKKworIzogYnVpbHRpbi9yZXNldC5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICJIRUFEIGlzIG5vdyBhdCAlcyIKK21zZ3N0ciAiSEVBRCDnj77lnKjkvY3mlrwgJXMiCisKKyMgIOitr+iAhe+8mua8ouWtl+S5i+mWk+eEoeepuuagvO+8jOaVheWIqumZpCVz5YmN5b6M56m65qC8CisjOiBidWlsdGluL3Jlc2V0LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBkbyBhICVzIHJlc2V0IGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZS4iCittc2dzdHIgIuWcqOWQiOS9temBjueoi+S4reS4jeiDveWBmiVz6YeN6Kit5YuV5L2c44CCIgorCisjOiBidWlsdGluL3Jlc2V0LmM6Mjk0IGJ1aWx0aW4vc3Rhc2guYzo1MTkgYnVpbHRpbi9zdGFzaC5jOjU5NAorIzogYnVpbHRpbi9zdGFzaC5jOjYxOAorbXNnaWQgImJlIHF1aWV0LCBvbmx5IHJlcG9ydCBlcnJvcnMiCittc2dzdHIgIuWuiemdnOaooeW8j++8jOWPquWgseWRiumMr+iqpCIKKworIzogYnVpbHRpbi9yZXNldC5jOjI5NgorbXNnaWQgInJlc2V0IEhFQUQgYW5kIGluZGV4IgorbXNnc3RyICLph43oqK0gSEVBRCDlkozntKLlvJUiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzoyOTcKK21zZ2lkICJyZXNldCBvbmx5IEhFQUQiCittc2dzdHIgIuWPqumHjeiorSBIRUFEIgorCisjOiBidWlsdGluL3Jlc2V0LmM6Mjk5IGJ1aWx0aW4vcmVzZXQuYzozMDEKK21zZ2lkICJyZXNldCBIRUFELCBpbmRleCBhbmQgd29ya2luZyB0cmVlIgorbXNnc3RyICLph43oqK0gSEVBROOAgee0ouW8leWSjOW3peS9nOWNgCIKKworIzogYnVpbHRpbi9yZXNldC5jOjMwMworbXNnaWQgInJlc2V0IEhFQUQgYnV0IGtlZXAgbG9jYWwgY2hhbmdlcyIKK21zZ3N0ciAi6YeN6KitIEhFQUQg5L2G5YSy5a2Y5pys5qmf6K6K5pu0IgorCisjOiBidWlsdGluL3Jlc2V0LmM6MzA5Cittc2dpZCAicmVjb3JkIG9ubHkgdGhlIGZhY3QgdGhhdCByZW1vdmVkIHBhdGhzIHdpbGwgYmUgYWRkZWQgbGF0ZXIiCittc2dzdHIgIuWwh+WIqumZpOeahOi3r+W+keaomeiomOeCuueojeW+jOaWsOWiniIKKworIzogYnVpbHRpbi9yZXNldC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzb2x2ZSAnJXMnIGFzIGEgdmFsaWQgcmV2aXNpb24uIgorbXNnc3RyICLnhKHms5XlsIcgJyVzJyDop6PmnpDngrrkuIDlgIvmnInmlYjnmoTniYjmnKzjgIIiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc29sdmUgJyVzJyBhcyBhIHZhbGlkIHRyZWUuIgorbXNnc3RyICLnhKHms5XlsIcgJyVzJyDop6PmnpDngrrkuIDlgIvmnInmlYjnmoTmqLnni4Dnianku7bjgIIiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzozNjAKK21zZ2lkICItLXBhdGNoIGlzIGluY29tcGF0aWJsZSB3aXRoIC0te2hhcmQsbWl4ZWQsc29mdH0iCittc2dzdHIgIi0tcGF0Y2gg6IiHIC0te2hhcmTjgIFtaXhlZOOAgXNvZnR9IOmBuOmgheS4jeebuOWuuSIKKworIzogYnVpbHRpbi9yZXNldC5jOjM3MAorbXNnaWQgIi0tbWl4ZWQgd2l0aCBwYXRocyBpcyBkZXByZWNhdGVkOyB1c2UgJ2dpdCByZXNldCAtLSA8cGF0aHM+JyBpbnN0ZWFkLiIKK21zZ3N0ciAiLS1taXhlZCDluLbot6/lvpHlt7Lmo4TnlKjvvIzogIzmmK/nlKggJ2dpdCByZXNldCAtLSA86Lev5b6RPifjgIIiCisKKyMgIOitr+iAhe+8mua8ouWtl+S5i+mWk+eEoeepuuagvO+8jOaVheWIqumZpCVz5YmN5b6M56m65qC8CisjOiBidWlsdGluL3Jlc2V0LmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBkbyAlcyByZXNldCB3aXRoIHBhdGhzLiIKK21zZ3N0ciAi5LiN6IO95bi26Lev5b6R6YCy6KGMJXPph43oqK3jgIIiCisKKyMgIOitr+iAhe+8mua8ouWtl+S5i+mWk+eEoeepuuagvO+8jOaVheWIqumZpCVz5YmN5b6M56m65qC8CisjOiBidWlsdGluL3Jlc2V0LmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlc2V0IGlzIG5vdCBhbGxvd2VkIGluIGEgYmFyZSByZXBvc2l0b3J5IgorbXNnc3RyICLkuI3og73lsI3ntJTniYjmnKzluqvpgLLooYwlc+mHjeiorSIKKworIzogYnVpbHRpbi9yZXNldC5jOjM5MQorbXNnaWQgIi1OIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCAtLW1peGVkIgorbXNnc3RyICItTiDlj6rog73lkowgLS1taXhlZCDlkIzmmYLkvb/nlKgiCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MTIKK21zZ2lkICJVbnN0YWdlZCBjaGFuZ2VzIGFmdGVyIHJlc2V0OiIKK21zZ3N0ciAi6YeN6Kit5b6M5Y+W5raI5pqr5a2Y55qE6K6K5pu077yaIgorCisjOiBidWlsdGluL3Jlc2V0LmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBlbnVtZXJhdGUgdW5zdGFnZWQgY2hhbmdlcyBhZnRlciByZXNldC4gIFlvdSBjYW5cbiIKKyJ1c2UgJy0tcXVpZXQnIHRvIGF2b2lkIHRoaXMuICBTZXQgdGhlIGNvbmZpZyBzZXR0aW5nIHJlc2V0LnF1aWV0IHRvIHRydWVcbiIKKyJ0byBtYWtlIHRoaXMgdGhlIGRlZmF1bHQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLph43oqK3lvozvvIzmnproiInmnKrmmqvlrZjorormm7ToirHosrvkuoYgJS4yZiDnp5LjgIIg5oKo5Y+v5Lul5L2/55SoICctLXF1aWV0JyDpgb/lhY3mraTmg4Xms4HjgIJcbiIKKyLlsIfoqK3lrprorormlbggcmVzZXQucXVpZXQg6Kit5a6a54K6IHRydWUg5Y+v5L2/5YW25oiQ54K66aCQ6Kit5YC844CCXG4iCisKKyM6IGJ1aWx0aW4vcmVzZXQuYzo0MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHJlc2V0IGluZGV4IGZpbGUgdG8gcmV2aXNpb24gJyVzJy4iCittc2dzdHIgIuS4jeiDvemHjeioree0ouW8leaqlOahiOiHs+eJiOacrCAnJXMn44CCIgorCisjOiBidWlsdGluL3Jlc2V0LmM6NDI5Cittc2dpZCAiQ291bGQgbm90IHdyaXRlIG5ldyBpbmRleCBmaWxlLiIKK21zZ3N0ciAi5LiN6IO95a+r5YWl5paw55qE57Si5byV5qqU5qGI44CCIgorCisjOiBidWlsdGluL3Jldi1saXN0LmM6NDExCittc2dpZCAiY2Fubm90IGNvbWJpbmUgLS1leGNsdWRlLXByb21pc29yLW9iamVjdHMgYW5kIC0tbWlzc2luZyIKK21zZ3N0ciAi5LiN6IO95ZCM5pmC5L2/55SoIC0tZXhjbHVkZS1wcm9taXNvci1vYmplY3RzIOWSjCAtLW1pc3Npbmcg6YG46aCFIgorCisjOiBidWlsdGluL3Jldi1saXN0LmM6NDcyCittc2dpZCAib2JqZWN0IGZpbHRlcmluZyByZXF1aXJlcyAtLW9iamVjdHMiCittc2dzdHIgIueJqeS7tumBjua/vumcgOimgSAtLW9iamVjdHMiCisKKyM6IGJ1aWx0aW4vcmV2LWxpc3QuYzo1MjIKK21zZ2lkICJyZXYtbGlzdCBkb2VzIG5vdCBzdXBwb3J0IGRpc3BsYXkgb2Ygbm90ZXMiCittc2dzdHIgInJldi1saXN0IOS4jeaUr+aPtOmhr+ekuuiou+inoyIKKworIzogYnVpbHRpbi9yZXYtbGlzdC5jOjUyNQorbXNnaWQgImNhbm5vdCBjb21iaW5lIC0tdXNlLWJpdG1hcC1pbmRleCB3aXRoIG9iamVjdCBmaWx0ZXJpbmciCittc2dzdHIgIuS4jeiDveWwhyAtLXVzZS1iaXRtYXAtaW5kZXgg5ZKM54mp5Lu26YGO5r++57WE5ZCI5L2/55SoIgorCisjOiBidWlsdGluL3Jldi1wYXJzZS5jOjQwOAorbXNnaWQgImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXSIKK21zZ3N0ciAiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs86YG46aCFPl0gLS0gWzzlj4Pmlbg+Li4uXSIKKworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTMKK21zZ2lkICJrZWVwIHRoZSBgLS1gIHBhc3NlZCBhcyBhbiBhcmciCittc2dzdHIgIuS/neaMgSBgLS1gIOS9nOeCuuS4gOWAi+WPg+aVuOWCs+mBniIKKworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTUKK21zZ2lkICJzdG9wIHBhcnNpbmcgYWZ0ZXIgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQiCittc2dzdHIgIumBh+WIsOesrOS4gOWAi+mdnumBuOmgheWPg+aVuOW+jOWBnOatouino+aekCIKKworIzogYnVpbHRpbi9yZXYtcGFyc2UuYzo0MTgKK21zZ2lkICJvdXRwdXQgaW4gc3R1Y2sgbG9uZyBmb3JtIgorbXNnc3RyICLku6Xlm7rlrprplbfmoLzlvI/ovLjlh7oiCisKKyM6IGJ1aWx0aW4vcmV2LXBhcnNlLmM6NTUxCittc2dpZCAiIgorImdpdCByZXYtcGFyc2UgLS1wYXJzZW9wdCBbPG9wdGlvbnM+XSAtLSBbPGFyZ3M+Li4uXVxuIgorIiAgIG9yOiBnaXQgcmV2LXBhcnNlIC0tc3EtcXVvdGUgWzxhcmc+Li4uXVxuIgorIiAgIG9yOiBnaXQgcmV2LXBhcnNlIFs8b3B0aW9ucz5dIFs8YXJnPi4uLl1cbiIKKyJcbiIKKyJSdW4gXCJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgLWhcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgZmlyc3QgdXNhZ2UuIgorbXNnc3RyICIiCisiZ2l0IHJldi1wYXJzZSAtLXBhcnNlb3B0IFs86YG46aCFPl0gLS0gWzzlj4Pmlbg+Li4uXVxuIgorIiAgIOaIluiAhe+8mmdpdCByZXYtcGFyc2UgLS1zcS1xdW90ZSBbPOWPg+aVuD4uLi5dXG4iCisiICAg5oiW6ICF77yaZ2l0IHJldi1wYXJzZSBbPOmBuOmghT5dIFs85Y+D5pW4Pi4uLl1cbiIKKyJcbiIKKyLliJ3mrKHkvb/nlKjmmYLln7fooYwgXCJnaXQgcmV2LXBhcnNlIC0tcGFyc2VvcHQgLWhcIiDkvobnjbLlvpfmm7TlpJroqIrmga/jgIIiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjQKK21zZ2lkICJnaXQgcmV2ZXJ0IFs8b3B0aW9ucz5dIDxjb21taXQtaXNoPi4uLiIKK21zZ3N0ciAiZ2l0IHJldmVydCBbPOmBuOmghT5dIDzmj5DkuqTomZ8+Li4uIgorCisjOiBidWlsdGluL3JldmVydC5jOjI1Cittc2dpZCAiZ2l0IHJldmVydCA8c3ViY29tbWFuZD4iCittc2dzdHIgImdpdCByZXZlcnQgPOWtkOaMh+S7pD4iCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MzAKK21zZ2lkICJnaXQgY2hlcnJ5LXBpY2sgWzxvcHRpb25zPl0gPGNvbW1pdC1pc2g+Li4uIgorbXNnc3RyICJnaXQgY2hlcnJ5LXBpY2sgWzzpgbjpoIU+XSA85o+Q5Lqk6JmfPi4uLiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzozMQorbXNnaWQgImdpdCBjaGVycnktcGljayA8c3ViY29tbWFuZD4iCittc2dzdHIgImdpdCBjaGVycnktcGljayA85a2Q5oyH5LukPiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gYCVzJyBleHBlY3RzIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiB6ZXJvIgorbXNnc3RyICLpgbjpoIUgYCVzJyDmnJ/mnJvkuIDlgIvlpKfmlrzpm7bnmoTmlbjlrZciCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNhbm5vdCBiZSB1c2VkIHdpdGggJXMiCittc2dzdHIgIiVz77yaJXMg5LiN6IO95ZKMICVzIOWQjOaZguS9v+eUqCIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDIKK21zZ2lkICJlbmQgcmV2ZXJ0IG9yIGNoZXJyeS1waWNrIHNlcXVlbmNlIgorbXNnc3RyICLntYLmraLlj43ovYnmiJbmj4Dpgbjli5XkvZwiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTAzCittc2dpZCAicmVzdW1lIHJldmVydCBvciBjaGVycnktcGljayBzZXF1ZW5jZSIKK21zZ3N0ciAi57m857qM5Y+N6L2J5oiW5o+A6YG45YuV5L2cIgorCisjOiBidWlsdGluL3JldmVydC5jOjEwNAorbXNnaWQgImNhbmNlbCByZXZlcnQgb3IgY2hlcnJ5LXBpY2sgc2VxdWVuY2UiCittc2dzdHIgIuWPlua2iOWPjei9ieaIluaPgOmBuOWLleS9nCIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMDUKK21zZ2lkICJza2lwIGN1cnJlbnQgY29tbWl0IGFuZCBjb250aW51ZSIKK21zZ3N0ciAi6Lez6YGO55uu5YmN5o+Q5Lqk5Lim57m857qMIgorCisjOiBidWlsdGluL3JldmVydC5jOjEwNworbXNnaWQgImRvbid0IGF1dG9tYXRpY2FsbHkgY29tbWl0IgorbXNnc3RyICLkuI3opoHoh6rli5Xmj5DkuqQiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTA4Cittc2dpZCAiZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UiCittc2dzdHIgIue3qOi8r+aPkOS6pOiqquaYjiIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoxMTEKK21zZ2lkICJwYXJlbnQtbnVtYmVyIgorbXNnc3RyICLniLbnt6jomZ8iCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTEyCittc2dpZCAic2VsZWN0IG1haW5saW5lIHBhcmVudCIKK21zZ3N0ciAi6YG45pOH5Li75bm554i25o+Q5Lqk57eo6JmfIgorCisjOiBidWlsdGluL3JldmVydC5jOjExNAorbXNnaWQgIm1lcmdlIHN0cmF0ZWd5IgorbXNnc3RyICLlkIjkvbXnrZbnlaUiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTE2Cittc2dpZCAib3B0aW9uIGZvciBtZXJnZSBzdHJhdGVneSIKK21zZ3N0ciAi5ZCI5L21562W55Wl55qE6YG46aCFIgorCisjOiBidWlsdGluL3JldmVydC5jOjEyNQorbXNnaWQgImFwcGVuZCBjb21taXQgbmFtZSIKK21zZ3N0ciAi6L+95Yqg5o+Q5Lqk5ZCN56ixIgorCisjOiBidWlsdGluL3JldmVydC5jOjEyNworbXNnaWQgInByZXNlcnZlIGluaXRpYWxseSBlbXB0eSBjb21taXRzIgorbXNnc3RyICLkv53nlZnliJ3lp4vljJbnmoTnqbrmj5DkuqQiCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MTI5Cittc2dpZCAia2VlcCByZWR1bmRhbnQsIGVtcHR5IGNvbW1pdHMiCittc2dzdHIgIuS/neaMgeWkmumkmOeahOOAgeepuueahOaPkOS6pCIKKworIzogYnVpbHRpbi9yZXZlcnQuYzoyMzIKK21zZ2lkICJyZXZlcnQgZmFpbGVkIgorbXNnc3RyICLpgoTljp/lpLHmlZciCisKKyM6IGJ1aWx0aW4vcmV2ZXJ0LmM6MjQ1Cittc2dpZCAiY2hlcnJ5LXBpY2sgZmFpbGVkIgorbXNnc3RyICLmj4DpgbjlpLHmlZciCisKKyM6IGJ1aWx0aW4vcm0uYzoxOQorbXNnaWQgImdpdCBybSBbPG9wdGlvbnM+XSBbLS1dIDxmaWxlPi4uLiIKK21zZ3N0ciAiZ2l0IHJtIFs86YG46aCFPl0gWy0tXSA85qqU5qGIPi4uLiIKKworIzogYnVpbHRpbi9ybS5jOjIwNworbXNnaWQgIiIKKyJ0aGUgZm9sbG93aW5nIGZpbGUgaGFzIHN0YWdlZCBjb250ZW50IGRpZmZlcmVudCBmcm9tIGJvdGggdGhlXG4iCisiZmlsZSBhbmQgdGhlIEhFQUQ6IgorbXNnaWRfcGx1cmFsICIiCisidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIHN0YWdlZCBjb250ZW50IGRpZmZlcmVudCBmcm9tIGJvdGggdGhlXG4iCisiZmlsZSBhbmQgdGhlIEhFQUQ6IgorbXNnc3RyWzBdICLlpoLkuIvmqpTmoYjlhbbmmqvlrZjnmoTlhaflrrnlkozlt6XkvZzljYDlj4ogSEVBRCDkuK3nmoTpg73kuI3kuIDmqKPvvJoiCittc2dzdHJbMV0gIuWmguS4i+aqlOahiOWFtuaaq+WtmOeahOWFp+WuueWSjOW3peS9nOWNgOWPiiBIRUFEIOS4reeahOmDveS4jeS4gOaoo++8miIKKworIzogYnVpbHRpbi9ybS5jOjIxMgorbXNnaWQgIiIKKyJcbiIKKyIodXNlIC1mIHRvIGZvcmNlIHJlbW92YWwpIgorbXNnc3RyICIiCisiXG4iCisi77yI5L2/55SoIC1mIOW8t+WItuWIqumZpO+8iSIKKworIzogYnVpbHRpbi9ybS5jOjIxNgorbXNnaWQgInRoZSBmb2xsb3dpbmcgZmlsZSBoYXMgY2hhbmdlcyBzdGFnZWQgaW4gdGhlIGluZGV4OiIKK21zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGNoYW5nZXMgc3RhZ2VkIGluIHRoZSBpbmRleDoiCittc2dzdHJbMF0gIuS4i+WIl+aqlOahiOe0ouW8leS4reacieiuiuabtCIKK21zZ3N0clsxXSAi5LiL5YiX5qqU5qGI57Si5byV5Lit5pyJ6K6K5pu0IgorCisjOiBidWlsdGluL3JtLmM6MjIwIGJ1aWx0aW4vcm0uYzoyMjkKK21zZ2lkICIiCisiXG4iCisiKHVzZSAtLWNhY2hlZCB0byBrZWVwIHRoZSBmaWxlLCBvciAtZiB0byBmb3JjZSByZW1vdmFsKSIKK21zZ3N0ciAiIgorIlxuIgorIu+8iOS9v+eUqCAtLWNhY2hlZCDkv53nlZnmnKzmqZ/mqpTmoYjvvIzmiJbnlKggLWYg5by35Yi25Yiq6Zmk77yJIgorCisjOiBidWlsdGluL3JtLmM6MjI2Cittc2dpZCAidGhlIGZvbGxvd2luZyBmaWxlIGhhcyBsb2NhbCBtb2RpZmljYXRpb25zOiIKK21zZ2lkX3BsdXJhbCAidGhlIGZvbGxvd2luZyBmaWxlcyBoYXZlIGxvY2FsIG1vZGlmaWNhdGlvbnM6IgorbXNnc3RyWzBdICLlpoLkuIvmqpTmoYjmnInmnKzmqZ/kv67mlLnvvJoiCittc2dzdHJbMV0gIuWmguS4i+aqlOahiOacieacrOapn+S/ruaUue+8miIKKworIzogYnVpbHRpbi9ybS5jOjI0MgorbXNnaWQgImRvIG5vdCBsaXN0IHJlbW92ZWQgZmlsZXMiCittc2dzdHIgIuS4jeWIl+WHuuWIqumZpOeahOaqlOahiCIKKworIzogYnVpbHRpbi9ybS5jOjI0MworbXNnaWQgIm9ubHkgcmVtb3ZlIGZyb20gdGhlIGluZGV4IgorbXNnc3RyICLlj6rlvp7ntKLlvJXljYDliKrpmaQiCisKKyM6IGJ1aWx0aW4vcm0uYzoyNDQKK21zZ2lkICJvdmVycmlkZSB0aGUgdXAtdG8tZGF0ZSBjaGVjayIKK21zZ3N0ciAi5b+955Wl5qqU5qGI5pu05paw54uA5oWL5qqi5p+lIgorCisjOiBidWlsdGluL3JtLmM6MjQ1Cittc2dpZCAiYWxsb3cgcmVjdXJzaXZlIHJlbW92YWwiCittc2dzdHIgIuWFgeiosemBnui/tOWIqumZpCIKKworIzogYnVpbHRpbi9ybS5jOjI0NworbXNnaWQgImV4aXQgd2l0aCBhIHplcm8gc3RhdHVzIGV2ZW4gaWYgbm90aGluZyBtYXRjaGVkIgorbXNnc3RyICLljbPkvb/mspLmnInnrKblkIjvvIzkuZ/ku6Xpm7bni4DmhYvpm6LplosiCisKKyM6IGJ1aWx0aW4vcm0uYzoyODkKK21zZ2lkICJwbGVhc2Ugc3RhZ2UgeW91ciBjaGFuZ2VzIHRvIC5naXRtb2R1bGVzIG9yIHN0YXNoIHRoZW0gdG8gcHJvY2VlZCIKK21zZ3N0ciAi6KuL5bCH5oKo55qE5L+u5pS55pqr5a2Y5YiwIC5naXRtb2R1bGVzIOS4reaIluWEsuiXj+W+jOWGjee5vOe6jCIKKworIzogYnVpbHRpbi9ybS5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgcmVtb3ZpbmcgJyVzJyByZWN1cnNpdmVseSB3aXRob3V0IC1yIgorbXNnc3RyICLmnKrmj5DkvpsgLXIg6YG46aCF5LiN5pyD6YGe6L+05Yiq6ZmkICclcyciCisKKyM6IGJ1aWx0aW4vcm0uYzozNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ2l0IHJtOiB1bmFibGUgdG8gcmVtb3ZlICVzIgorbXNnc3RyICJnaXQgcm3vvJrkuI3og73liKrpmaQgJXMiCisKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MjAKK21zZ2lkICIiCisiZ2l0IHNlbmQtcGFjayBbLS1hbGwgfCAtLW1pcnJvcl0gWy0tZHJ5LXJ1bl0gWy0tZm9yY2VdIFstLXJlY2VpdmUtcGFjaz08Z2l0LSIKKyJyZWNlaXZlLXBhY2s+XSBbLS12ZXJib3NlXSBbLS10aGluXSBbLS1hdG9taWNdIFs8aG9zdD46XTxkaXJlY3Rvcnk+ICIKKyJbPHJlZj4uLi5dXG4iCisiICAtLWFsbCBhbmQgZXhwbGljaXQgPHJlZj4gc3BlY2lmaWNhdGlvbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKK21zZ3N0ciAiIgorImdpdCBzZW5kLXBhY2sgWy0tYWxsIHwgLS1taXJyb3JdIFstLWRyeS1ydW5dIFstLWZvcmNlXSBbLS1yZWNlaXZlLXBhY2s9PGdpdC0iCisicmVjZWl2ZS1wYWNrPl0gWy0tdmVyYm9zZV0gWy0tdGhpbl0gWy0tYXRvbWljXSBbPOS4u+apnz46XTznm67pjIQ+IFs85byV55SoPi4uLl1cbiIKKyIgIC0tYWxsIOWSjOaYjueiuueahCA85byV55SoPiDkupLmlqXjgIIiCisKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTYzCittc2dpZCAicmVtb3RlIG5hbWUiCittc2dzdHIgIumBoOerr+WQjeeosSIKKworIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzcKK21zZ2lkICJ1c2Ugc3RhdGVsZXNzIFJQQyBwcm90b2NvbCIKK21zZ3N0ciAi5L2/55So54Sh54uA5oWL55qEIFJQQyDljZTlrpoiCisKKyM6IGJ1aWx0aW4vc2VuZC1wYWNrLmM6MTc4Cittc2dpZCAicmVhZCByZWZzIGZyb20gc3RkaW4iCittc2dzdHIgIuW+nuaomea6lui8uOWFpeiugOWPluW8leeUqCIKKworIzogYnVpbHRpbi9zZW5kLXBhY2suYzoxNzkKK21zZ2lkICJwcmludCBzdGF0dXMgZnJvbSByZW1vdGUgaGVscGVyIgorbXNnc3RyICLliJfljbDkvoboh6rpgaDnq68gaGVscGVyIOeahOeLgOaFiyIKKworIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE0Cittc2dpZCAiZ2l0IHNob3J0bG9nIFs8b3B0aW9ucz5dIFs8cmV2aXNpb24tcmFuZ2U+XSBbWy0tXSA8cGF0aD4uLi5dIgorbXNnc3RyICJnaXQgc2hvcnRsb2cgWzzpgbjpoIU+XSBbPOeJiOacrOevhOWcjT5dIFtbLS1dIDzot6/lvpE+Li4uXSIKKworIzogYnVpbHRpbi9zaG9ydGxvZy5jOjE1Cittc2dpZCAiZ2l0IGxvZyAtLXByZXR0eT1zaG9ydCB8IGdpdCBzaG9ydGxvZyBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IGxvZyAtLXByZXR0eT1zaG9ydCB8IGdpdCBzaG9ydGxvZyBbPOmBuOmghT5dIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjY0Cittc2dpZCAiR3JvdXAgYnkgY29tbWl0dGVyIHJhdGhlciB0aGFuIGF1dGhvciIKK21zZ3N0ciAi5oyJ54Wn5o+Q5Lqk6ICF5YiG57WE6ICM5LiN5piv5L2c6ICFIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjY2Cittc2dpZCAic29ydCBvdXRwdXQgYWNjb3JkaW5nIHRvIHRoZSBudW1iZXIgb2YgY29tbWl0cyBwZXIgYXV0aG9yIgorbXNnc3RyICLmoLnmk5rmr4/lgIvkvZzogIXnmoTmj5DkuqTmlbjph4/mjpLluo8iCisKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzoyNjgKK21zZ2lkICJTdXBwcmVzcyBjb21taXQgZGVzY3JpcHRpb25zLCBvbmx5IHByb3ZpZGVzIGNvbW1pdCBjb3VudCIKK21zZ3N0ciAi6Zqx6JeP5o+Q5Lqk6Kqq5piO77yM5Y+q5o+Q5L6b5o+Q5Lqk5pW46YePIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjcwCittc2dpZCAiU2hvdyB0aGUgZW1haWwgYWRkcmVzcyBvZiBlYWNoIGF1dGhvciIKK21zZ3N0ciAi6aGv56S65q+P5YCL5L2c6ICF55qE6Zu75a2Q5L+h5Lu25L2N5Z2AIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjcxCittc2dpZCAiPHc+Wyw8aTE+Wyw8aTI+XV0iCittc2dzdHIgIjx3PlssPGkxPlssPGkyPl1dIgorCisjOiBidWlsdGluL3Nob3J0bG9nLmM6MjcyCittc2dpZCAiTGluZXdyYXAgb3V0cHV0IgorbXNnc3RyICLmipjooYzovLjlh7oiCisKKyM6IGJ1aWx0aW4vc2hvcnRsb2cuYzozMDEKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMgZ2l2ZW4gb3V0c2lkZSByZXBvc2l0b3J5IgorbXNnc3RyICLniYjmnKzluqvlpJbln7fooYzmj5DkvpvkuoblpKrlpJrnmoTlj4PmlbgiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzoxMworbXNnaWQgIiIKKyJnaXQgc2hvdy1icmFuY2ggWy1hIHwgLS1hbGxdIFstciB8IC0tcmVtb3Rlc10gWy0tdG9wby1vcmRlciB8IC0tZGF0ZS1vcmRlcl1cbiIKKyJcdFx0Wy0tY3VycmVudF0gWy0tY29sb3JbPTx3aGVuPl0gfCAtLW5vLWNvbG9yXSBbLS1zcGFyc2VdXG4iCisiXHRcdFstLW1vcmU9PG4+IHwgLS1saXN0IHwgLS1pbmRlcGVuZGVudCB8IC0tbWVyZ2UtYmFzZV1cbiIKKyJcdFx0Wy0tbm8tbmFtZSB8IC0tc2hhMS1uYW1lXSBbLS10b3BpY3NdIFsoPHJldj4gfCA8Z2xvYj4pLi4uXSIKK21zZ3N0ciAiIgorImdpdCBzaG93LWJyYW5jaCBbLWEgfCAtLWFsbF0gWy1yIHwgLS1yZW1vdGVzXSBbLS10b3BvLW9yZGVyIHwgLS1kYXRlLW9yZGVyXVxuIgorIlx0XHRbLS1jdXJyZW50XSBbLS1jb2xvcls9POS9leaZgj5dIHwgLS1uby1jb2xvcl0gWy0tc3BhcnNlXVxuIgorIlx0XHRbLS1tb3JlPTxuPiB8IC0tbGlzdCB8IC0taW5kZXBlbmRlbnQgfCAtLW1lcmdlLWJhc2VdXG4iCisiXHRcdFstLW5vLW5hbWUgfCAtLXNoYTEtbmFtZV0gWy0tdG9waWNzXSBbKDzniYjmnKw+IHwgPOiQrOeUqOWtl+WFgz4pLi4uXSIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjE3Cittc2dpZCAiZ2l0IHNob3ctYnJhbmNoICgtZyB8IC0tcmVmbG9nKVs9PG4+Wyw8YmFzZT5dXSBbLS1saXN0XSBbPHJlZj5dIgorbXNnc3RyICJnaXQgc2hvdy1icmFuY2ggKC1nIHwgLS1yZWZsb2cpWz08bj5bLDzotbflp4vpu54+XV0gWy0tbGlzdF0gWzzlvJXnlKg+XSIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmIgorbXNnaWRfcGx1cmFsICJpZ25vcmluZyAlczsgY2Fubm90IGhhbmRsZSBtb3JlIHRoYW4gJWQgcmVmcyIKK21zZ3N0clswXSAi5b+955WlICVz77yM54Sh5rOV6JmV55CGICVkIOWAi+S7peS4iueahOW8leeUqCIKK21zZ3N0clsxXSAi5b+955WlICVz77yM54Sh5rOV6JmV55CGICVkIOWAi+S7peS4iueahOW8leeUqCIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtYXRjaGluZyByZWZzIHdpdGggJXMiCittc2dzdHIgIuaykuacieWSjCAlcyDnrKblkIjnmoTlvJXnlKgiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDUKK21zZ2lkICJzaG93IHJlbW90ZS10cmFja2luZyBhbmQgbG9jYWwgYnJhbmNoZXMiCittc2dzdHIgIumhr+ekuumBoOerr+i/vei5pOeahOWSjOacrOapn+eahOWIhuaUryIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY0NworbXNnaWQgInNob3cgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzIgorbXNnc3RyICLpoa/npLrpgaDnq6/ov73ouaTnmoTliIbmlK8iCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NDkKK21zZ2lkICJjb2xvciAnKiErLScgY29ycmVzcG9uZGluZyB0byB0aGUgYnJhbmNoIgorbXNnc3RyICLokZfoibIgJyohKy0nIOWIsOebuOaHieeahOWIhuaUryIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MQorbXNnaWQgInNob3cgPG4+IG1vcmUgY29tbWl0cyBhZnRlciB0aGUgY29tbW9uIGFuY2VzdG9yIgorbXNnc3RyICLpoa/npLrlhbHlkIznpZblhYjlvoznmoQgPG4+IOWAi+aPkOS6pCIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1MworbXNnaWQgInN5bm9ueW0gdG8gbW9yZT0tMSIKK21zZ3N0ciAi5ZKMIG1vcmU9LTEg5ZCM576pIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjU0Cittc2dpZCAic3VwcHJlc3MgbmFtaW5nIHN0cmluZ3MiCittc2dzdHIgIuS4jemhr+ekuuWtl+S4suWRveWQjSIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY1NgorbXNnaWQgImluY2x1ZGUgdGhlIGN1cnJlbnQgYnJhbmNoIgorbXNnc3RyICLljIXmi6znm67liY3liIbmlK8iCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NTgKK21zZ2lkICJuYW1lIGNvbW1pdHMgd2l0aCB0aGVpciBvYmplY3QgbmFtZXMiCittc2dzdHIgIuS7peeJqeS7tuWQjeWtl+WRveWQjeaPkOS6pCIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MAorbXNnaWQgInNob3cgcG9zc2libGUgbWVyZ2UgYmFzZXMiCittc2dzdHIgIumhr+ekuuWPr+iDveWQiOS9teeahOWfuuekjiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2MgorbXNnaWQgInNob3cgcmVmcyB1bnJlYWNoYWJsZSBmcm9tIGFueSBvdGhlciByZWYiCittc2dzdHIgIumhr+ekuuaykuacieS7u+S9leW8leeUqOeahOeahOW8leeUqCIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2NAorbXNnaWQgInNob3cgY29tbWl0cyBpbiB0b3BvbG9naWNhbCBvcmRlciIKK21zZ3N0ciAi5Lul5ouT5pKy6aCG5bqP6aGv56S65o+Q5LqkIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjY3Cittc2dpZCAic2hvdyBvbmx5IGNvbW1pdHMgbm90IG9uIHRoZSBmaXJzdCBicmFuY2giCittc2dzdHIgIuWPqumhr+ekuuS4jeWcqOesrOS4gOWAi+WIhuaUr+S4iueahOaPkOS6pCIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY2OQorbXNnaWQgInNob3cgbWVyZ2VzIHJlYWNoYWJsZSBmcm9tIG9ubHkgb25lIHRpcCIKK21zZ3N0ciAi6aGv56S65YOF5LiA5YCL5YiG5pSv5Y+v5a2Y5Y+W55qE5ZCI5L215o+Q5LqkIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6NjcxCittc2dpZCAidG9wb2xvZ2ljYWxseSBzb3J0LCBtYWludGFpbmluZyBkYXRlIG9yZGVyIHdoZXJlIHBvc3NpYmxlIgorbXNnc3RyICLmi5PmkrLmlrnlvI/mjpLluo/vvIzkuKblhJjlj6/og73lnLDkv53mjIHml6XmnJ/poIbluo8iCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo2NzQKK21zZ2lkICI8bj5bLDxiYXNlPl0iCittc2dzdHIgIjxuPlssPGJhc2U+XSIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjY3NQorbXNnaWQgInNob3cgPG4+IG1vc3QgcmVjZW50IHJlZi1sb2cgZW50cmllcyBzdGFydGluZyBhdCBiYXNlIgorbXNnc3RyICLpoa/npLrlvp7otbflp4vpu57plovlp4vnmoQgPG4+IOaineacgOi/keeahOW8leeUqOaXpeiqjOiomOmMhCIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjcxMQorbXNnaWQgIiIKKyItLXJlZmxvZyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLWFsbCwgLS1yZW1vdGVzLCAtLWluZGVwZW5kZW50IG9yIC0tbWVyZ2UtYmFzZSIKK21zZ3N0ciAiLS1yZWZsb2cg5ZKMIC0tYWxs44CBLS1yZW1vdGVz44CBLS1pbmRlcGVuZGVudCDmiJYgLS1tZXJnZS1iYXNlIOS4jeebuOWuuSIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczNQorbXNnaWQgIm5vIGJyYW5jaGVzIGdpdmVuLCBhbmQgSEVBRCBpcyBub3QgdmFsaWQiCittc2dzdHIgIuacquaPkOS+m+WIhuaUr++8jOS4lCBIRUFEIOeEoeaViCIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjczOAorbXNnaWQgIi0tcmVmbG9nIG9wdGlvbiBuZWVkcyBvbmUgYnJhbmNoIG5hbWUiCittc2dzdHIgIumBuOmghSAtLXJlZmxvZyDpnIDopoHkuIDlgIvliIbmlK/lkI0iCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo3NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSAlZCBlbnRyeSBjYW4gYmUgc2hvd24gYXQgb25lIHRpbWUuIgorbXNnaWRfcGx1cmFsICJvbmx5ICVkIGVudHJpZXMgY2FuIGJlIHNob3duIGF0IG9uZSB0aW1lLiIKK21zZ3N0clswXSAi5LiA5qyh5Y+q6IO96aGv56S6ICVkIOWAi+aineebruOAgiIKK21zZ3N0clsxXSAi5LiA5qyh5Y+q6IO96aGv56S6ICVkIOWAi+aineebruOAgiIKKworIzogYnVpbHRpbi9zaG93LWJyYW5jaC5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICJubyBzdWNoIHJlZiAlcyIKK21zZ3N0ciAi54Sh5q2k5byV55SoICVzIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODMxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldi4iCittc2dpZF9wbHVyYWwgImNhbm5vdCBoYW5kbGUgbW9yZSB0aGFuICVkIHJldnMuIgorbXNnc3RyWzBdICLkuI3og73omZXnkIYgJWQg5YCL5Lul5LiK55qE54mI5pys44CCIgorbXNnc3RyWzFdICLkuI3og73omZXnkIYgJWQg5YCL5Lul5LiK55qE54mI5pys44CCIgorCisjOiBidWlsdGluL3Nob3ctYnJhbmNoLmM6ODM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgcmVmLiIKK21zZ3N0ciAiJyVzJyDkuI3mmK/kuIDlgIvmnInmlYjnmoTlvJXnlKjjgIIiCisKKyM6IGJ1aWx0aW4vc2hvdy1icmFuY2guYzo4MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgY29tbWl0ICVzICglcykiCittc2dzdHIgIuS4jeiDveaJvuWIsOaPkOS6pCAlc++8iCVz77yJIgorCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTIKK21zZ2lkICIiCisiZ2l0IHNob3ctcmVmIFstcSB8IC0tcXVpZXRdIFstLXZlcmlmeV0gWy0taGVhZF0gWy1kIHwgLS1kZXJlZmVyZW5jZV0gWy1zIHwgLS0iCisiaGFzaFs9PG4+XV0gWy0tYWJicmV2Wz08bj5dXSBbLS10YWdzXSBbLS1oZWFkc10gWy0tXSBbPHBhdHRlcm4+Li4uXSIKK21zZ3N0ciAiIgorImdpdCBzaG93LXJlZiBbLXEgfCAtLXF1aWV0XSBbLS12ZXJpZnldIFstLWhlYWRdIFstZCB8IC0tZGVyZWZlcmVuY2VdIFstcyB8IC0tIgorImhhc2hbPTxuPl1dIFstLWFiYnJldls9PG4+XV0gWy0tdGFnc10gWy0taGVhZHNdIFstLV0gWzzmqKHlvI8+Li4uXSIKKworIzogYnVpbHRpbi9zaG93LXJlZi5jOjEzCittc2dpZCAiZ2l0IHNob3ctcmVmIC0tZXhjbHVkZS1leGlzdGluZ1s9PHBhdHRlcm4+XSIKK21zZ3N0ciAiZ2l0IHNob3ctcmVmIC0tZXhjbHVkZS1leGlzdGluZ1s9POaooeW8jz5dIgorCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTYyCittc2dpZCAib25seSBzaG93IHRhZ3MgKGNhbiBiZSBjb21iaW5lZCB3aXRoIGhlYWRzKSIKK21zZ3N0ciAi5Y+q6aGv56S65qiZ57Gk77yI5Y+v5Lul5ZKM6aCt5YWx55So77yJIgorCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTYzCittc2dpZCAib25seSBzaG93IGhlYWRzIChjYW4gYmUgY29tYmluZWQgd2l0aCB0YWdzKSIKK21zZ3N0ciAi5Y+q6aGv56S66aCt77yI5Y+v5Lul5ZKM5qiZ57Gk5YWx55So77yJIgorCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTY0Cittc2dpZCAic3RyaWN0ZXIgcmVmZXJlbmNlIGNoZWNraW5nLCByZXF1aXJlcyBleGFjdCByZWYgcGF0aCIKK21zZ3N0ciAi5pu05Zq05qC855qE5byV55So5qqi5ris77yM6ZyA6KaB57K+56K655qE5byV55So6Lev5b6RIgorCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTY3IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNjkKK21zZ2lkICJzaG93IHRoZSBIRUFEIHJlZmVyZW5jZSwgZXZlbiBpZiBpdCB3b3VsZCBiZSBmaWx0ZXJlZCBvdXQiCittc2dzdHIgIumhr+ekuiBIRUFEIOW8leeUqO+8jOWNs+S9v+iiq+mBjua/vuaOiSIKKworIzogYnVpbHRpbi9zaG93LXJlZi5jOjE3MQorbXNnaWQgImRlcmVmZXJlbmNlIHRhZ3MgaW50byBvYmplY3QgSURzIgorbXNnc3RyICLovYnmj5vmqJnnsaTliLDnianku7YgSUQiCisKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzMKK21zZ2lkICJvbmx5IHNob3cgU0hBMSBoYXNoIHVzaW5nIDxuPiBkaWdpdHMiCittc2dzdHIgIuWPqumhr+ekuuS9v+eUqCA8bj4g5YCL5pW45a2X55qEIFNIQTEg6Zuc5rmKIgorCisjOiBidWlsdGluL3Nob3ctcmVmLmM6MTc3Cittc2dpZCAiZG8gbm90IHByaW50IHJlc3VsdHMgdG8gc3Rkb3V0ICh1c2VmdWwgd2l0aCAtLXZlcmlmeSkiCittc2dzdHIgIuS4jeWIl+WNsOe1kOaenOWIsOaomea6lui8uOWHuu+8iOS+i+WmguiIhyAtLXZlcmlmeSDlj4PmlbjlhbHnlKjvvIkiCisKKyM6IGJ1aWx0aW4vc2hvdy1yZWYuYzoxNzkKK21zZ2lkICJzaG93IHJlZnMgZnJvbSBzdGRpbiB0aGF0IGFyZW4ndCBpbiBsb2NhbCByZXBvc2l0b3J5IgorbXNnc3RyICLpoa/npLrlvp7mqJnmupbovLjlhaXkuK3oroDlhaXnmoTkuI3lnKjmnKzmqZ/niYjmnKzluqvkuK3nmoTlvJXnlKgiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MjAKK21zZ2lkICJnaXQgc3BhcnNlLWNoZWNrb3V0IChpbml0fGxpc3R8c2V0fGRpc2FibGUpIDxvcHRpb25zPiIKK21zZ3N0ciAiZ2l0IHNwYXJzZS1jaGVja291dCAoaW5pdHxsaXN0fHNldHxkaXNhYmxlKSA86YG46aCFPiIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzo2MQorbXNnaWQgInRoaXMgd29ya3RyZWUgaXMgbm90IHNwYXJzZSAoc3BhcnNlLWNoZWNrb3V0IGZpbGUgbWF5IG5vdCBleGlzdCkiCittc2dzdHIgIumAmeS4jeaYr+eogOeWj+W3peS9nOWNgO+8iHNwYXJzZS1jaGVja291dCDmqpTmoYjlj6/og73kuI3lrZjlnKjvvIkiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MjIwCittc2dpZCAiZmFpbGVkIHRvIHNldCBleHRlbnNpb25zLndvcmt0cmVlQ29uZmlnIHNldHRpbmciCittc2dzdHIgIueEoeazleioreWumiBleHRlbnNpb25zLndvcmt0cmVlQ29uZmlnIOioreWumiIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzoyMzcKK21zZ2lkICJnaXQgc3BhcnNlLWNoZWNrb3V0IGluaXQgWy0tY29uZV0iCittc2dzdHIgImdpdCBzcGFyc2UtY2hlY2tvdXQgaW5pdCBbLS1jb25lXSIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzoyNTYKK21zZ2lkICJpbml0aWFsaXplIHRoZSBzcGFyc2UtY2hlY2tvdXQgaW4gY29uZSBtb2RlIgorbXNnc3RyICLku6UgY29uZSDmqKHlvI/liJ3lp4vljJbnqIDnlo/nsL3lh7oiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6MjYyCisjfCBtc2dpZCAic2tpcCBhcHBseWluZyBzcGFyc2UgY2hlY2tvdXQgZmlsdGVyIgorbXNnaWQgImluaXRpYWxpemUgc3BhcnNlLWNoZWNrb3V0IgorbXNnc3RyICLliJ3lp4vljJbnqIDnlo/nsL3lh7oiCisKKyM6IGJ1aWx0aW4vc3BhcnNlLWNoZWNrb3V0LmM6Mjk1CisjLCBjLWZvcm1hdAorI3wgbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyc6ICVzIgorbXNnaWQgImZhaWxlZCB0byBvcGVuICclcyciCittc2dzdHIgIueEoeazlemWi+WVn+OAjCVz44CNIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjM2MQorI3wgbXNnaWQgImdpdCBoYXNoLW9iamVjdCAgLS1zdGRpbi1wYXRocyIKK21zZ2lkICJnaXQgc3BhcnNlLWNoZWNrb3V0IHNldCAoLS1zdGRpbiB8IDxwYXR0ZXJucz4pIgorbXNnc3RyICJnaXQgc3BhcnNlLWNoZWNrb3V0IHNldCAoLS1zdGRpbiB8IDzmqKPlvI8+KSIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzozNzgKKyN8IG1zZ2lkICJyZWFkIHVwZGF0ZXMgZnJvbSBzdGRpbiIKK21zZ2lkICJyZWFkIHBhdHRlcm5zIGZyb20gc3RhbmRhcmQgaW4iCittc2dzdHIgIuW+nuaomea6lui8uOWFpeiugOWPluaoo+W8jyIKKworIzogYnVpbHRpbi9zcGFyc2UtY2hlY2tvdXQuYzozODQKKyN8IG1zZ2lkICJza2lwIGFwcGx5aW5nIHNwYXJzZSBjaGVja291dCBmaWx0ZXIiCittc2dpZCAic2V0IHNwYXJzZS1jaGVja291dCBwYXR0ZXJucyIKK21zZ3N0ciAi6Kit5a6a56iA55aP57C95Ye65qij5byPIgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjQ0NworI3wgbXNnaWQgInNraXAgYXBwbHlpbmcgc3BhcnNlIGNoZWNrb3V0IGZpbHRlciIKK21zZ2lkICJkaXNhYmxlIHNwYXJzZS1jaGVja291dCIKK21zZ3N0ciAi5YGc55So56iA55aP57C95Ye6IgorCisjOiBidWlsdGluL3NwYXJzZS1jaGVja291dC5jOjQ1OQorI3wgbXNnaWQgInVuYWJsZSB0byBnZXQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ2lkICJlcnJvciB3aGlsZSByZWZyZXNoaW5nIHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICLph43mlrDmlbTnkIblt6XkvZznm67pjITmmYLnmbznlJ/pjK/oqqQiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyMiBidWlsdGluL3N0YXNoLmM6MzcKK21zZ2lkICJnaXQgc3Rhc2ggbGlzdCBbPG9wdGlvbnM+XSIKK21zZ3N0ciAiZ2l0IHN0YXNoIGxpc3QgWzzpgbjpoIU+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjIzIGJ1aWx0aW4vc3Rhc2guYzo0MgorbXNnaWQgImdpdCBzdGFzaCBzaG93IFs8b3B0aW9ucz5dIFs8c3Rhc2g+XSIKK21zZ3N0ciAiZ2l0IHN0YXNoIHNob3cgWzzpgbjpoIU+XSBbPHN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoyNCBidWlsdGluL3N0YXNoLmM6NDcKK21zZ2lkICJnaXQgc3Rhc2ggZHJvcCBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggZHJvcCBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjUKK21zZ2lkICJnaXQgc3Rhc2ggKCBwb3AgfCBhcHBseSApIFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggKCBwb3AgfCBhcHBseSApIFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjYgYnVpbHRpbi9zdGFzaC5jOjYyCittc2dpZCAiZ2l0IHN0YXNoIGJyYW5jaCA8YnJhbmNobmFtZT4gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggYnJhbmNoIDzliIbmlK/lkI0+IFs8c3Rhc2g+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjI3IGJ1aWx0aW4vc3Rhc2guYzo2NworbXNnaWQgImdpdCBzdGFzaCBjbGVhciIKK21zZ3N0ciAiZ2l0IHN0YXNoIGNsZWFyIgorCisjOiBidWlsdGluL3N0YXNoLmM6MjggYnVpbHRpbi9zdGFzaC5jOjc3Cittc2dpZCAiIgorImdpdCBzdGFzaCBbcHVzaCBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKyIgICAgICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gWy1tfC0tbWVzc2FnZSA8bWVzc2FnZT5dXG4iCisiICAgICAgICAgIFstLV0gWzxwYXRoc3BlYz4uLi5dXSIKK21zZ3N0ciAiIgorImdpdCBzdGFzaCBbcHVzaCBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKyIgICAgICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gWy1tfC0tbWVzc2FnZSA85raI5oGvPl1cbiIKKyIgICAgICAgICAgWy0tXSBbPOi3r+W+keimj+agvD4uLi5dXSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjMxIGJ1aWx0aW4vc3Rhc2guYzo4NAorbXNnaWQgIiIKKyJnaXQgc3Rhc2ggc2F2ZSBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKyIgICAgICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gWzxtZXNzYWdlPl0iCittc2dzdHIgIiIKKyJnaXQgc3Rhc2ggc2F2ZSBbLXB8LS1wYXRjaF0gWy1rfC0tW25vLV1rZWVwLWluZGV4XSBbLXF8LS1xdWlldF1cbiIKKyIgICAgICAgICAgWy11fC0taW5jbHVkZS11bnRyYWNrZWRdIFstYXwtLWFsbF0gWzzmtojmga8+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjUyCittc2dpZCAiZ2l0IHN0YXNoIHBvcCBbLS1pbmRleF0gWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIKK21zZ3N0ciAiZ2l0IHN0YXNoIHBvcCBbLS1pbmRleF0gWy1xfC0tcXVpZXRdIFs8c3Rhc2g+XSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU3Cittc2dpZCAiZ2l0IHN0YXNoIGFwcGx5IFstLWluZGV4XSBbLXF8LS1xdWlldF0gWzxzdGFzaD5dIgorbXNnc3RyICJnaXQgc3Rhc2ggYXBwbHkgWy0taW5kZXhdIFstcXwtLXF1aWV0XSBbPHN0YXNoPl0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo3MgorbXNnaWQgImdpdCBzdGFzaCBzdG9yZSBbLW18LS1tZXNzYWdlIDxtZXNzYWdlPl0gWy1xfC0tcXVpZXRdIDxjb21taXQ+IgorbXNnc3RyICJnaXQgc3Rhc2ggc3RvcmUgWy1tfC0tbWVzc2FnZSA85raI5oGvPl0gWy1xfC0tcXVpZXRdIDzmj5DkuqQ+IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgc3Rhc2gtbGlrZSBjb21taXQiCittc2dzdHIgIiclcycg5LiN5YOP5piv5LiA5YCL5YSy6JeP5o+Q5LqkIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6JXMiCittc2dzdHIgIuaMh+WumuS6huWkquWkmueahOeJiOacrO+8miVzIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTYxIGdpdC1sZWdhY3ktc3Rhc2guc2g6NTQ5Cittc2dpZCAiTm8gc3Rhc2ggZW50cmllcyBmb3VuZC4iCittc2dzdHIgIuacqueZvOePvuWEsuiXj+aineebruOAgiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCByZWZlcmVuY2UiCittc2dzdHIgIiVzIOS4jeaYr+S4gOWAi+acieaViOeahOW8leeUqOWQjSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjIyNCBnaXQtbGVnYWN5LXN0YXNoLnNoOjc1Cittc2dpZCAiZ2l0IHN0YXNoIGNsZWFyIHdpdGggcGFyYW1ldGVycyBpcyB1bmltcGxlbWVudGVkIgorbXNnc3RyICJnaXQgc3Rhc2ggY2xlYXIg5LiN5pSv5o+05Y+D5pW4IgorCisjOiBidWlsdGluL3N0YXNoLmM6NDAzCittc2dpZCAiY2Fubm90IGFwcGx5IGEgc3Rhc2ggaW4gdGhlIG1pZGRsZSBvZiBhIG1lcmdlIgorbXNnc3RyICLnhKHms5XlnKjlkIjkvbXpgY7nqIvlpZfnlKjlhLLol48iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGdlbmVyYXRlIGRpZmYgJXNeIS4iCittc2dzdHIgIueEoeazleeUn+aIkOW3rueVsCAlc14hLiIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQyMQorbXNnaWQgImNvbmZsaWN0cyBpbiBpbmRleC5Ucnkgd2l0aG91dCAtLWluZGV4LiIKK21zZ3N0ciAi57Si5byV5Lit5pyJ6KGd56qB44CC5ZiX6Kmm5LiN55SoIC0taW5kZXjjgIIiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MjcKK21zZ2lkICJjb3VsZCBub3Qgc2F2ZSBpbmRleCB0cmVlIgorbXNnc3RyICLkuI3og73lhLLlrZjntKLlvJXmqLkiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo0MzYKK21zZ2lkICJjb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCIKK21zZ3N0ciAi54Sh5rOV5b6e5YSy6JeP5qKd55uu5Lit5b6p5Y6f5pyq6L+96Lmk5qqU5qGIIgorCisjOiBidWlsdGluL3N0YXNoLmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lcmdpbmcgJXMgd2l0aCAlcyIKK21zZ3N0ciAi5q2j5Zyo5ZCI5L21ICVzIOWSjCAlcyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjQ2MCBnaXQtbGVnYWN5LXN0YXNoLnNoOjY4MQorbXNnaWQgIkluZGV4IHdhcyBub3QgdW5zdGFzaGVkLiIKK21zZ3N0ciAi57Si5byV5pyq5b6e5YSy6JeP5Lit5b6p5Y6f44CCIgorCisjOiBidWlsdGluL3N0YXNoLmM6NTIxIGJ1aWx0aW4vc3Rhc2guYzo2MjAKK21zZ2lkICJhdHRlbXB0IHRvIHJlY3JlYXRlIHRoZSBpbmRleCIKK21zZ3N0ciAi5ZiX6Kmm6YeN5bu657Si5byVIgorCisjOiBidWlsdGluL3N0YXNoLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRyb3BwZWQgJXMgKCVzKSIKK21zZ3N0ciAi5o2o5qOE5LqGICVz77yIJXPvvIkiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgorbXNnc3RyICIlc++8mueEoeazleaNqOajhOWEsuiXj+aineebriIKKworIzogYnVpbHRpbi9zdGFzaC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZSIKK21zZ3N0ciAiJyVzJyDkuI3mmK/kuIDlgIvlhLLol4/lvJXnlKgiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo2MzIgZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2OTUKK21zZ2lkICJUaGUgc3Rhc2ggZW50cnkgaXMga2VwdCBpbiBjYXNlIHlvdSBuZWVkIGl0IGFnYWluLiIKK21zZ3N0ciAi5YSy6JeP5qKd55uu6KKr5L+d55WZ5Lul5YKZ5oKo5YaN5qyh6ZyA6KaB44CCIgorCisjOiBidWlsdGluL3N0YXNoLmM6NjU1IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzEzCittc2dpZCAiTm8gYnJhbmNoIG5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICLmnKrmjIflrprliIbmlK/lkI0iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzo3OTUgYnVpbHRpbi9zdGFzaC5jOjgzMgorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgdXBkYXRlICVzIHdpdGggJXMiCittc2dzdHIgIueEoeazleeUqCAlMiRzIOabtOaWsCAlMSRzIgorCisjOiBidWlsdGluL3N0YXNoLmM6ODEzIGJ1aWx0aW4vc3Rhc2guYzoxNDcwIGJ1aWx0aW4vc3Rhc2guYzoxNTA2Cittc2dpZCAic3Rhc2ggbWVzc2FnZSIKK21zZ3N0ciAi5YSy6JeP6Kqq5piOIgorCisjOiBidWlsdGluL3N0YXNoLmM6ODIzCittc2dpZCAiXCJnaXQgc3Rhc2ggc3RvcmVcIiByZXF1aXJlcyBvbmUgPGNvbW1pdD4gYXJndW1lbnQiCittc2dzdHIgIlwiZ2l0IHN0YXNoIHN0b3JlXCIg6ZyA6KaB5LiA5YCLIDzmj5DkuqQ+IOWPg+aVuCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEwNDUgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMTgKK21zZ2lkICJObyBjaGFuZ2VzIHNlbGVjdGVkIgorbXNnc3RyICLmspLmnInpgbjmk4forormm7QiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMTQ1IGdpdC1sZWdhY3ktc3Rhc2guc2g6MTUwCittc2dpZCAiWW91IGRvIG5vdCBoYXZlIHRoZSBpbml0aWFsIGNvbW1pdCB5ZXQiCittc2dzdHIgIuaCqOWwmuacquW7uueri+WIneWni+aPkOS6pCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExNzIgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoxNjUKK21zZ2lkICJDYW5ub3Qgc2F2ZSB0aGUgY3VycmVudCBpbmRleCBzdGF0ZSIKK21zZ3N0ciAi54Sh5rOV5YSy5a2Y55uu5YmN57Si5byV54uA5oWLIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTE4MSBnaXQtbGVnYWN5LXN0YXNoLnNoOjE4MAorbXNnaWQgIkNhbm5vdCBzYXZlIHRoZSB1bnRyYWNrZWQgZmlsZXMiCittc2dzdHIgIueEoeazleWEsuWtmOacqui/vei5pOaqlOahiCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjExOTIgYnVpbHRpbi9zdGFzaC5jOjEyMDEgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMDEKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6MjE0Cittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgd29ya3RyZWUgc3RhdGUiCittc2dzdHIgIueEoeazleWEsuWtmOebruWJjeW3peS9nOWNgOeLgOaFiyIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyMjkgZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMzQKK21zZ2lkICJDYW5ub3QgcmVjb3JkIHdvcmtpbmcgdHJlZSBzdGF0ZSIKK21zZ3N0ciAi5LiN6IO96KiY6YyE5bel5L2c5Y2A54uA5oWLIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTI3OCBnaXQtbGVnYWN5LXN0YXNoLnNoOjMzOAorbXNnaWQgIkNhbid0IHVzZSAtLXBhdGNoIGFuZCAtLWluY2x1ZGUtdW50cmFja2VkIG9yIC0tYWxsIGF0IHRoZSBzYW1lIHRpbWUiCittc2dzdHIgIuS4jeiDveWQjOaZguS9v+eUqOWPg+aVuCAtLXBhdGNoIOWSjCAtLWluY2x1ZGUtdW50cmFja2VkIOaIliAtLWFsbCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjEyOTQKK21zZ2lkICJEaWQgeW91IGZvcmdldCB0byAnZ2l0IGFkZCc/IgorbXNnc3RyICLmgqjmmK/lkKblv5jkuobln7fooYwgJ2dpdCBhZGQn77yfIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTMwOSBnaXQtbGVnYWN5LXN0YXNoLnNoOjM0NgorbXNnaWQgIk5vIGxvY2FsIGNoYW5nZXMgdG8gc2F2ZSIKK21zZ3N0ciAi5rKS5pyJ6KaB5YSy5a2Y55qE5pys5qmf5L+u5pS5IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTMxNiBnaXQtbGVnYWN5LXN0YXNoLnNoOjM1MQorbXNnaWQgIkNhbm5vdCBpbml0aWFsaXplIHN0YXNoIgorbXNnc3RyICLnhKHms5XliJ3lp4vljJblhLLol48iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzMxIGdpdC1sZWdhY3ktc3Rhc2guc2g6MzU1Cittc2dpZCAiQ2Fubm90IHNhdmUgdGhlIGN1cnJlbnQgc3RhdHVzIgorbXNnc3RyICLnhKHms5XlhLLlrZjnm67liY3ni4DmhYsiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxMzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhdmVkIHdvcmtpbmcgZGlyZWN0b3J5IGFuZCBpbmRleCBzdGF0ZSAlcyIKK21zZ3N0ciAi5YSy5a2Y5bel5L2c55uu6YyE5ZKM57Si5byV54uA5oWLICVzIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQyNiBnaXQtbGVnYWN5LXN0YXNoLnNoOjM4NQorbXNnaWQgIkNhbm5vdCByZW1vdmUgd29ya3RyZWUgY2hhbmdlcyIKK21zZ3N0ciAi54Sh5rOV5Yiq6Zmk5bel5L2c5Y2A6K6K5pu0IgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ2MSBidWlsdGluL3N0YXNoLmM6MTQ5NworbXNnaWQgImtlZXAgaW5kZXgiCittc2dzdHIgIuS/neaMgee0ouW8lSIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE0NjMgYnVpbHRpbi9zdGFzaC5jOjE0OTkKK21zZ2lkICJzdGFzaCBpbiBwYXRjaCBtb2RlIgorbXNnc3RyICLku6Xkv67oo5zmqpTmqKHlvI/lhLLol48iCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDY0IGJ1aWx0aW4vc3Rhc2guYzoxNTAwCittc2dpZCAicXVpZXQgbW9kZSIKK21zZ3N0ciAi6Z2c6buY5qih5byPIgorCisjOiBidWlsdGluL3N0YXNoLmM6MTQ2NiBidWlsdGluL3N0YXNoLmM6MTUwMgorbXNnaWQgImluY2x1ZGUgdW50cmFja2VkIGZpbGVzIGluIHN0YXNoIgorbXNnc3RyICLlhLLol4/kuK3ljIXlkKvmnKrov73ouaTmqpTmoYgiCisKKyM6IGJ1aWx0aW4vc3Rhc2guYzoxNDY4IGJ1aWx0aW4vc3Rhc2guYzoxNTA0Cittc2dpZCAiaW5jbHVkZSBpZ25vcmUgZmlsZXMiCittc2dzdHIgIuWMheWQq+W/veeVpeeahOaqlOahiCIKKworIzogYnVpbHRpbi9zdGFzaC5jOjE1NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGV4ZWMgJXMiCittc2dzdHIgIuS4jeiDveWft+ihjCAlcyIKKworIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MTgKK21zZ2lkICJnaXQgc3RyaXBzcGFjZSBbLXMgfCAtLXN0cmlwLWNvbW1lbnRzXSIKK21zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1zIHwgLS1zdHJpcC1jb21tZW50c10iCisKKyM6IGJ1aWx0aW4vc3RyaXBzcGFjZS5jOjE5Cittc2dpZCAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKK21zZ3N0ciAiZ2l0IHN0cmlwc3BhY2UgWy1jIHwgLS1jb21tZW50LWxpbmVzXSIKKworIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6MzcKK21zZ2lkICJza2lwIGFuZCByZW1vdmUgYWxsIGxpbmVzIHN0YXJ0aW5nIHdpdGggY29tbWVudCBjaGFyYWN0ZXIiCittc2dzdHIgIui3s+mBjuWSjOenu+mZpOaJgOacieeahOWCmeiou+ihjCIKKworIzogYnVpbHRpbi9zdHJpcHNwYWNlLmM6NDAKK21zZ2lkICJwcmVwZW5kIGNvbW1lbnQgY2hhcmFjdGVyIGFuZCBzcGFjZSB0byBlYWNoIGxpbmUiCittc2dzdHIgIueCuuavj+S4gOihjOeahOihjOmmluaWsOWinuWCmeiou+espuWSjOepuuagvCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjQ3IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxOTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkV4cGVjdGluZyBhIGZ1bGwgcmVmIG5hbWUsIGdvdCAlcyIKK21zZ3N0ciAi5pyf5pyb5LiA5YCL5a6M5pW055qE5byV55So5ZCN56ix77yM5Y275b6X5YiwICVzIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjQKK21zZ2lkICJzdWJtb2R1bGUtLWhlbHBlciBwcmludC1kZWZhdWx0LXJlbW90ZSB0YWtlcyBubyBhcmd1bWVudHMiCittc2dzdHIgInN1Ym1vZHVsZS0taGVscGVyIHByaW50LWRlZmF1bHQtcmVtb3RlIOS4jeW4tuWPg+aVuCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RyaXAgb25lIGNvbXBvbmVudCBvZmYgdXJsICclcyciCittc2dzdHIgIueEoeazleW+niB1cmwgJyVzJyDliZ3pm6LkuIDlgIvlhYPku7YiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTAgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODAKK21zZ2lkICJhbHRlcm5hdGl2ZSBhbmNob3IgZm9yIHJlbGF0aXZlIHBhdGhzIgorbXNnc3RyICLnm7jlsI3ot6/lvpHnmoTmm7/ku6PpjKjoqJjvvIhhbmNob3LvvIkiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo0MTUKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbGlzdCBbLS1wcmVmaXg9PHBhdGg+XSBbPHBhdGg+Li4uXSIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGxpc3QgWy0tcHJlZml4PTzot6/lvpE+XSBbPOi3r+W+kT4uLi5dIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NDcyIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2MzAKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdXJsIGZvdW5kIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIGluIC5naXRtb2R1bGVzIgorbXNnc3RyICLlnKggLmdpdG1vZHVsZXMg5Lit5pyq5om+5Yiw5a2Q5qih57WEICclcycg55qEIHVybCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJFbnRlcmluZyAnJXMnXG4iCittc2dzdHIgIumAsuWFpSAnJXMnXG4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInJ1bl9jb21tYW5kIHJldHVybmVkIG5vbi16ZXJvIHN0YXR1cyBmb3IgJXNcbiIKKyIuIgorbXNnc3RyICIiCisi5bCNICVzIOWft+ihjCBydW5fY29tbWFuZCDov5Tlm57pnZ7pm7blgLzjgIJcbiIKKyIuIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJydW5fY29tbWFuZCByZXR1cm5lZCBub24temVybyBzdGF0dXMgd2hpbGUgcmVjdXJzaW5nIGluIHRoZSBuZXN0ZWQgIgorInN1Ym1vZHVsZXMgb2YgJXNcbiIKKyIuIgorbXNnc3RyICIiCisi5Zyo6YGe6L+0ICVzIOeahOWtkOaooee1hOWft+ihjCBydW5fY29tbWFuZCDmmYLov5Tlm57pnZ7pm7blgLzjgIJcbiIKKyIuIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTY1Cittc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IG9mIGVudGVyaW5nIGVhY2ggc3VibW9kdWxlIGNvbW1hbmQiCittc2dzdHIgIumYu+atoumAsuWFpeavj+S4gOWAi+WtkOaooee1hOaMh+S7pOeahOi8uOWHuiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjU2NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTA1MworbXNnaWQgIlJlY3Vyc2UgaW50byBuZXN0ZWQgc3VibW9kdWxlcyIKK21zZ3N0ciAi6YGe6L+06YCy5YWl5bWM5aWX5a2Q5qih57WE5LitIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NTcyCittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGZvcmVhY2ggWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWy0tXSA8Y29tbWFuZD4iCittc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBmb3JlYWNoIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIFstLV0gPOaMh+S7pD4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo1OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNvdWxkIG5vdCBsb29rIHVwIGNvbmZpZ3VyYXRpb24gJyVzJy4gQXNzdW1pbmcgdGhpcyByZXBvc2l0b3J5IGlzIGl0cyBvd24gIgorImF1dGhvcml0YXRpdmUgdXBzdHJlYW0uIgorbXNnc3RyICLnhKHms5Xmib7liLDoqK3lrpogJyVzJ+OAguWBh+WumumAmeWAi+eJiOacrOW6q+aYr+WFtuiHqui6q+eahOWumOaWueS4iua4uOOAgiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY2NworIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVnaXN0ZXIgdXJsIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgorbXNnc3RyICLnhKHms5XngrrlrZDmqKHntYQgJyVzJyDoqLvlhoogdXJsIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Ym1vZHVsZSAnJXMnICglcykgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCittc2dzdHIgIuWtkOaooee1hCAnJXMn77yIJXPvvInlt7LlsI3ot6/lvpEgJyVzJyDoqLvlhopcbiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjY4MQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjb21tYW5kIHVwZGF0ZSBtb2RlIHN1Z2dlc3RlZCBmb3Igc3VibW9kdWxlICclcydcbiIKK21zZ3N0ciAi6K2m5ZGK77ya5bu66K2w5a2Q5qih57WEICclcycg5L2/55So5oyH5Luk5pu05paw5qih5byPXG4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo2ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHVwZGF0ZSBtb2RlIGZvciBzdWJtb2R1bGUgcGF0aCAnJXMnIgorbXNnc3RyICLnhKHms5XngrrlrZDmqKHntYQgJyVzJyDoqLvlhormm7TmlrDmqKHlvI8iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo3MTAKK21zZ2lkICJTdXBwcmVzcyBvdXRwdXQgZm9yIGluaXRpYWxpemluZyBhIHN1Ym1vZHVsZSIKK21zZ3N0ciAi6Zi75q2i5a2Q5qih57WE5Yid5aeL5YyW55qE6Ly45Ye6IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6NzE1Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGluaXQgWzxvcHRpb25zPl0gWzxwYXRoPl0iCittc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBpbml0IFs86YG46aCFPl0gWzzot6/lvpE+XSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjc4NyBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHN1Ym1vZHVsZSBtYXBwaW5nIGZvdW5kIGluIC5naXRtb2R1bGVzIGZvciBwYXRoICclcyciCittc2dzdHIgIuWcqCAuZ2l0bW9kdWxlcyDkuK3mspLmnInnmbznj77ot6/lvpEgJyVzJyDnmoTlrZDmqKHntYTmmKDlsIQiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlc29sdmUgSEVBRCByZWYgaW5zaWRlIHRoZSBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAi54Sh5rOV6Kej5p6Q5a2Q5qih57WEICclcycg55qEIEhFQUQg5byV55SoIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODU0IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWN1cnNlIGludG8gc3VibW9kdWxlICclcyciCittc2dzdHIgIumBnui/tOWtkOaooee1hCAnJXMnIOWkseaVlyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjg3OCBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE4OQorbXNnaWQgIlN1cHByZXNzIHN1Ym1vZHVsZSBzdGF0dXMgb3V0cHV0IgorbXNnc3RyICLpmLvmraLlrZDmqKHntYTni4DmhYvovLjlh7oiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4NzkKK21zZ2lkICIiCisiVXNlIGNvbW1pdCBzdG9yZWQgaW4gdGhlIGluZGV4IGluc3RlYWQgb2YgdGhlIG9uZSBzdG9yZWQgaW4gdGhlIHN1Ym1vZHVsZSAiCisiSEVBRCIKK21zZ3N0ciAi5L2/55So5YSy5a2Y5Zyo57Si5byV5Lit55qE5o+Q5Lqk77yM6ICM6Z2e5YSy5a2Y5Zyo5a2Q5qih57WEIEhFQUQg5Lit55qE5o+Q5LqkIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6ODgwCittc2dpZCAicmVjdXJzZSBpbnRvIG5lc3RlZCBzdWJtb2R1bGVzIgorbXNnc3RyICLpgZ7ov7TpgLLlhaXltYzlpZflrZDmqKHntYTkuK0iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo4ODUKK21zZ2lkICJnaXQgc3VibW9kdWxlIHN0YXR1cyBbLS1xdWlldF0gWy0tY2FjaGVkXSBbLS1yZWN1cnNpdmVdIFs8cGF0aD4uLi5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlIHN0YXR1cyBbLS1xdWlldF0gWy0tY2FjaGVkXSBbLS1yZWN1cnNpdmVdIFs86Lev5b6RPi4uLl0iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5MDkKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgbmFtZSA8cGF0aD4iCittc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBuYW1lIDzot6/lvpE+IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6OTczCisjLCBjLWZvcm1hdAorbXNnaWQgIlN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCBmb3IgJyVzJ1xuIgorbXNnc3RyICLngrogJyVzJyDlkIzmraXlrZDmqKHntYQgdXJsXG4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzo5NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlZ2lzdGVyIHVybCBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKK21zZ3N0ciAi54Sh5rOV54K65a2Q5qih57WE6Lev5b6RICclcycg6Ki75YaKIHVybCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjk5MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRoZSBkZWZhdWx0IHJlbW90ZSBmb3Igc3VibW9kdWxlICclcyciCittc2dzdHIgIueEoeazleW+l+WIsOWtkOaooee1hCAnJXMnIOeahOmgkOioremBoOerr+mXnOiBryIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEwMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVwZGF0ZSByZW1vdGUgZm9yIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICLnhKHms5XngrrlrZDmqKHntYQgJyVzJyDmm7TmlrDpgaDnq6/pl5zoga8iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDUxCittc2dpZCAiU3VwcHJlc3Mgb3V0cHV0IG9mIHN5bmNocm9uaXppbmcgc3VibW9kdWxlIHVybCIKK21zZ3N0ciAi6Zi75q2i5a2Q5qih57WEIHVybCDlkIzmraXnmoTovLjlh7oiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMDU4Cittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIHN5bmMgWy0tcXVpZXRdIFstLXJlY3Vyc2l2ZV0gWzxwYXRoPl0iCittc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBzeW5jIFstLXF1aWV0XSBbLS1yZWN1cnNpdmVdIFs86Lev5b6RPl0iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJTdWJtb2R1bGUgd29yayB0cmVlICclcycgY29udGFpbnMgYSAuZ2l0IGRpcmVjdG9yeSAodXNlICdybSAtcmYnIGlmIHlvdSAiCisicmVhbGx5IHdhbnQgdG8gcmVtb3ZlIGl0IGluY2x1ZGluZyBhbGwgb2YgaXRzIGhpc3RvcnkpIgorbXNnc3RyICIiCisi5a2Q5qih57WE5bel5L2c5Y2AICclcycg5YyF5ZCr5LiA5YCLIC5naXQg55uu6YyE77yI5aaC5p6c5oKo56K66ZyA5Yiq6Zmk5a6D5Y+K5YW25YWo6YOo5q235Y+y77yM5L2/55SoICdybSAiCisiLXJmJyDmjIfku6TvvIkiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJTdWJtb2R1bGUgd29yayB0cmVlICclcycgY29udGFpbnMgbG9jYWwgbW9kaWZpY2F0aW9uczsgdXNlICctZicgdG8gZGlzY2FyZCAiCisidGhlbSIKK21zZ3N0ciAi5a2Q5qih57WE5bel5L2c5Y2AICclcycg5YyF5ZCr5pys5qmf5L+u5pS577yb5L2/55SoICctZicg5o2o5qOE5a6D5YCRIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJDbGVhcmVkIGRpcmVjdG9yeSAnJXMnXG4iCittc2dzdHIgIuW3sua4hemZpOebrumMhCAnJXMnXG4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCByZW1vdmUgc3VibW9kdWxlIHdvcmsgdHJlZSAnJXMnXG4iCittc2dzdHIgIueEoeazleenu+mZpOWtkOaooee1hOW3peS9nOWNgCAnJXMnXG4iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBjcmVhdGUgZW1wdHkgc3VibW9kdWxlIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAi5LiN6IO95bu656uL56m655qE5a2Q5qih57WE55uu6YyEICVzIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdWJtb2R1bGUgJyVzJyAoJXMpIHVucmVnaXN0ZXJlZCBmb3IgcGF0aCAnJXMnXG4iCittc2dzdHIgIuWtkOaooee1hCAnJXMn77yIJXPvvInmnKrlsI3ot6/lvpEgJyVzJyDoqLvlhopcbiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExOTAKK21zZ2lkICJSZW1vdmUgc3VibW9kdWxlIHdvcmtpbmcgdHJlZXMgZXZlbiBpZiB0aGV5IGNvbnRhaW4gbG9jYWwgY2hhbmdlcyIKK21zZ3N0ciAi5Yiq6Zmk5a2Q5qih57WE5bel5L2c5Y2A77yM5Y2z5L2/5YyF5ZCr5pys5qmf5L+u5pS5IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTE5MQorbXNnaWQgIlVucmVnaXN0ZXIgYWxsIHN1Ym1vZHVsZXMiCittc2dzdHIgIuWwh+aJgOacieWtkOaooee1hOWPlua2iOiou+WGiiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjExOTYKK21zZ2lkICIiCisiZ2l0IHN1Ym1vZHVsZSBkZWluaXQgWy0tcXVpZXRdIFstZiB8IC0tZm9yY2VdIFstLWFsbCB8IFstLV0gWzxwYXRoPi4uLl1dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlIGRlaW5pdCBbLS1xdWlldF0gWy1mIHwgLS1mb3JjZV0gWy0tYWxsIHwgWy0tXSBbPOi3r+W+kT4uLi5dXSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyMTAKK21zZ2lkICJVc2UgJy0tYWxsJyBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gZGVpbml0aWFsaXplIGFsbCBzdWJtb2R1bGVzIgorbXNnc3RyICLlpoLmnpzmgqjnorrlr6bmg7PopoHlsI3miYDmnInlrZDmqKHntYTln7fooYzlj5bmtojliJ3lp4vljJbvvIzoq4vkvb/nlKggJy0tYWxsJyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEyNzUKK21zZ2lkICIiCisiQW4gYWx0ZXJuYXRlIGNvbXB1dGVkIGZyb20gYSBzdXBlcnByb2plY3QncyBhbHRlcm5hdGUgaXMgaW52YWxpZC5cbiIKKyJUbyBhbGxvdyBHaXQgdG8gY2xvbmUgd2l0aG91dCBhbiBhbHRlcm5hdGUgaW4gc3VjaCBhIGNhc2UsIHNldFxuIgorInN1Ym1vZHVsZS5hbHRlcm5hdGVFcnJvclN0cmF0ZWd5IHRvICdpbmZvJyBvciwgZXF1aXZhbGVudGx5LCBjbG9uZSB3aXRoXG4iCisiJy0tcmVmZXJlbmNlLWlmLWFibGUnIGluc3RlYWQgb2YgJy0tcmVmZXJlbmNlJy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzMTQgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VibW9kdWxlICclcycgY2Fubm90IGFkZCBhbHRlcm5hdGU6ICVzIgorbXNnc3RyICLlrZDmqKHntYQgJyVzJyDkuI3og73mlrDlop7niYjmnKzluqvlgpnpgbjvvJolcyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUVycm9yU3RyYXRlZ3kgaXMgbm90IHJlY29nbml6ZWQiCittc2dzdHIgIuS4jeiDveitmOWIpSBzdWJtb2R1bGUuYWx0ZXJuYXRlRXJyb3JTdHJhdGVneSDnmoTlj5blgLwgJyVzJyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmFsdWUgJyVzJyBmb3Igc3VibW9kdWxlLmFsdGVybmF0ZUxvY2F0aW9uIGlzIG5vdCByZWNvZ25pemVkIgorbXNnc3RyICLkuI3og73orZjliKUgc3VibW9kdWxlLmFsdGVybmF0ZUxvY2Fpb24g55qE5Y+W5YC8ICclcyciCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzgzCittc2dpZCAid2hlcmUgdGhlIG5ldyBzdWJtb2R1bGUgd2lsbCBiZSBjbG9uZWQgdG8iCittc2dzdHIgIuaWsOeahOWtkOaooee1hOWwh+imgeikh+ijveeahOi3r+W+kSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjEzODYKK21zZ2lkICJuYW1lIG9mIHRoZSBuZXcgc3VibW9kdWxlIgorbXNnc3RyICLmlrDlrZDmqKHntYTnmoTlkI3nqLEiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzg5Cittc2dpZCAidXJsIHdoZXJlIHRvIGNsb25lIHRoZSBzdWJtb2R1bGUgZnJvbSIKK21zZ3N0ciAi6KSH6KO95a2Q5qih57WE55qEIHVybCDkvY3lnYAiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxMzk3Cittc2dpZCAiZGVwdGggZm9yIHNoYWxsb3cgY2xvbmVzIgorbXNnc3RyICLmt7ropIfoo73nmoTmt7HluqYiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDAwIGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODk3Cittc2dpZCAiZm9yY2UgY2xvbmluZyBwcm9ncmVzcyIKK21zZ3N0ciAi5by35Yi26aGv56S66KSH6KO96YCy5bqmIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTQwMiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg5OQorI3wgbXNnaWQgImFwcGx5aW5nIHRvIGFuIGVtcHR5IGhpc3RvcnkiCittc2dpZCAiZGlzYWxsb3cgY2xvbmluZyBpbnRvIG5vbi1lbXB0eSBkaXJlY3RvcnkiCittc2dzdHIgIuS4jeWFgeioseikh+ijveiHs+mdnuepuueZveebrumMhCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MDcKK21zZ2lkICIiCisiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNsb25lIFstLXByZWZpeD08cGF0aD5dIFstLXF1aWV0XSBbLS1yZWZlcmVuY2UgIgorIjxyZXBvc2l0b3J5Pl0gWy0tbmFtZSA8bmFtZT5dIFstLWRlcHRoIDxkZXB0aD5dIC0tdXJsIDx1cmw+IC0tcGF0aCA8cGF0aD4iCittc2dzdHIgIiIKKyJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY2xvbmUgWy0tcHJlZml4PTzot6/lvpE+XSBbLS1xdWlldF0gWy0tcmVmZXJlbmNlIDzniYjmnKzluqsiCisiPl0gWy0tbmFtZSA85ZCN5a2XPl0gWy0tZGVwdGggPOa3seW6pj5dIC0tdXJsIDx1cmw+IC0tcGF0aCA86Lev5b6RPiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVmdXNpbmcgdG8gY3JlYXRlL3VzZSAnJXMnIGluIGFub3RoZXIgc3VibW9kdWxlJ3MgZ2l0IGRpciIKK21zZ3N0ciAi5ouS57WV5Zyo5YW25LuW5a2Q5qih57WE55qEIGdpdCDot6/lvpHlu7rnq4vvvI/kvb/nlKjjgIwlc+OAjSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvbmUgb2YgJyVzJyBpbnRvIHN1Ym1vZHVsZSBwYXRoICclcycgZmFpbGVkIgorbXNnc3RyICLnhKHms5XopIfoo70gJyVzJyDliLDlrZDmqKHntYTot6/lvpEgJyVzJyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NDYKKyMsIGMtZm9ybWF0CisjfCBtc2dpZCAic291cmNlIGRpcmVjdG9yeSBpcyBlbXB0eSIKK21zZ2lkICJkaXJlY3Rvcnkgbm90IGVtcHR5OiAnJXMnIgorbXNnc3RyICLnm67pjITkuI3mmK/nqbrnmoTvvJrjgIwlc+OAjSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IGdldCBzdWJtb2R1bGUgZGlyZWN0b3J5IGZvciAnJXMnIgorbXNnc3RyICLnhKHms5XlvpfliLAgJyVzJyDnmoTlrZDmqKHntYTnm67pjIQiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXBkYXRlIG1vZGUgJyVzJyBmb3Igc3VibW9kdWxlIHBhdGggJyVzJyIKK21zZ3N0ciAi5a2Q5qih57WEICclMiRzJyDnmoTmm7TmlrDmqKHlvI8gJyUxJHMnIOeEoeaViCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE0OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1cGRhdGUgbW9kZSAnJXMnIGNvbmZpZ3VyZWQgZm9yIHN1Ym1vZHVsZSBwYXRoICclcyciCittc2dzdHIgIueCuuWtkOaooee1hCAnJTIkcycg6Kit5a6a55qE5pu05paw5qih5byPICclMSRzJyDnhKHmlYgiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICclcycgbm90IGluaXRpYWxpemVkIgorbXNnc3RyICLlrZDmqKHntYQgJyVzJyDlsJrmnKrliJ3lp4vljJYiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNTk4Cittc2dpZCAiTWF5YmUgeW91IHdhbnQgdG8gdXNlICd1cGRhdGUgLS1pbml0Jz8iCittc2dzdHIgIuS5n+ioseaCqOaDs+imgeWft+ihjCAndXBkYXRlIC0taW5pdCfvvJ8iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxNjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIHVubWVyZ2VkIHN1Ym1vZHVsZSAlcyIKK21zZ3N0ciAi55Wl6YGO5pyq5ZCI5L2155qE5a2Q5qih57WEICVzIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTY1NworIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBzdWJtb2R1bGUgJyVzJyIKK21zZ3N0ciAi55Wl6YGO5a2Q5qih57WEICclcyciCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBjbG9uZSAnJXMnLiBSZXRyeSBzY2hlZHVsZWQiCittc2dzdHIgIuikh+ijvSAnJXMnIOWkseaVl+OAguaMieioiOWKg+mHjeippiIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGNsb25lICclcycgYSBzZWNvbmQgdGltZSwgYWJvcnRpbmciCittc2dzdHIgIuesrOS6jOasoeWYl+ippuikh+ijvSAnJXMnIOWkseaVl++8jOmboumWiyIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4NzYgYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxMjAKK21zZ2lkICJwYXRoIGludG8gdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAi5Yiw5bel5L2c5Y2A55qE6Lev5b6RIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTg3OQorbXNnaWQgInBhdGggaW50byB0aGUgd29ya2luZyB0cmVlLCBhY3Jvc3MgbmVzdGVkIHN1Ym1vZHVsZSBib3VuZGFyaWVzIgorbXNnc3RyICLlt6XkvZzljYDkuK3nmoTot6/lvpHvvIzpgZ7ov7TltYzlpZflrZDmqKHntYQiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODgzCittc2dpZCAicmViYXNlLCBtZXJnZSwgY2hlY2tvdXQgb3Igbm9uZSIKK21zZ3N0ciAicmViYXNl44CBbWVyZ2XjgIFjaGVja291dCDmiJYgbm9uZSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4ODkKK21zZ2lkICJDcmVhdGUgYSBzaGFsbG93IGNsb25lIHRydW5jYXRlZCB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiByZXZpc2lvbnMiCittc2dzdHIgIuW7uueri+S4gOWAi+aMh+Wumua3seW6pueahOa3uuikh+ijvSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE4OTIKK21zZ2lkICJwYXJhbGxlbCBqb2JzIgorbXNnc3RyICLkuKbnmbzku7vli5kiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODk0Cittc2dpZCAid2hldGhlciB0aGUgaW5pdGlhbCBjbG9uZSBzaG91bGQgZm9sbG93IHRoZSBzaGFsbG93IHJlY29tbWVuZGF0aW9uIgorbXNnc3RyICLliJ3lp4vopIfoo73mmK/lkKbmh4noqbLpgbXlrojmjqjolqbnmoTmt7ropIfoo73pgbjpoIUiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoxODk1Cittc2dpZCAiZG9uJ3QgcHJpbnQgY2xvbmluZyBwcm9ncmVzcyIKK21zZ3N0ciAi5LiN6KaB6Ly45Ye66KSH6KO96YCy5bqmIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkwNAorbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGUtY2xvbmUgWy0tcHJlZml4PTxwYXRoPl0gWzxwYXRoPi4uLl0iCittc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciB1cGRhdGUtY2xvbmUgWy0tcHJlZml4PTzot6/lvpE+XSBbPOi3r+W+kT4uLi5dIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MTkxNworbXNnaWQgImJhZCB2YWx1ZSBmb3IgdXBkYXRlIHBhcmFtZXRlciIKK21zZ3N0ciAidXBkYXRlIOWPg+aVuOWPluWAvOmMr+iqpCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjE5NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlN1Ym1vZHVsZSAoJXMpIGJyYW5jaCBjb25maWd1cmVkIHRvIGluaGVyaXQgYnJhbmNoIGZyb20gc3VwZXJwcm9qZWN0LCBidXQgIgorInRoZSBzdXBlcnByb2plY3QgaXMgbm90IG9uIGFueSBicmFuY2giCittc2dzdHIgIuWtkOaooee1hO+8iCVz77yJ55qE5YiG5pSv6Kit5a6a54K657m85om/5LiK57Sa6aCF55uu55qE5YiG5pSv77yM5L2G5piv5LiK57Sa6aCF55uu5LiN5Zyo5Lu75L2V5YiG5pSv5LiKIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjA4OAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgZ2V0IGEgcmVwb3NpdG9yeSBoYW5kbGUgZm9yIHN1Ym1vZHVsZSAnJXMnIgorbXNnc3RyICLnhKHms5XnjbLlvpflrZDmqKHntYQgJyVzJyDnmoTniYjmnKzluqvlj6Xmn4QiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTIxCittc2dpZCAicmVjdXJzZSBpbnRvIHN1Ym1vZHVsZXMiCittc2dzdHIgIuWcqOWtkOaooee1hOS4remBnui/tCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxMjcKK21zZ2lkICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgYWJzb3JiLWdpdC1kaXJzIFs8b3B0aW9ucz5dIFs8cGF0aD4uLi5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgYWJzb3JiLWdpdC1kaXJzIFs86YG46aCFPl0gWzzot6/lvpE+Li4uXSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIxODMKK21zZ2lkICJjaGVjayBpZiBpdCBpcyBzYWZlIHRvIHdyaXRlIHRvIHRoZSAuZ2l0bW9kdWxlcyBmaWxlIgorbXNnc3RyICLmqqLmn6Xlr6vlhaUgLmdpdG1vZHVsZXMg5qqU5qGI5piv5ZCm5a6J5YWoIgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE4NgorbXNnaWQgInVuc2V0IHRoZSBjb25maWcgaW4gdGhlIC5naXRtb2R1bGVzIGZpbGUiCittc2dzdHIgIuWPlua2iCAuZ2l0bW9kdWxlcyDmqpTmoYjkuK3nmoToqK3lrpoiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTkxCittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyA8bmFtZT4gWzx2YWx1ZT5dIgorbXNnc3RyICJnaXQgc3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIDzlkI3nqLE+IFs85YC8Pl0iCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMTkyCittc2dpZCAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLXVuc2V0IDxuYW1lPiIKK21zZ3N0ciAiZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLXVuc2V0IDzlkI3nqLE+IgorCisjOiBidWlsdGluL3N1Ym1vZHVsZS0taGVscGVyLmM6MjE5MworbXNnaWQgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgLS1jaGVjay13cml0ZWFibGUiCittc2dzdHIgImdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgLS1jaGVjay13cml0ZWFibGUiCisKKyM6IGJ1aWx0aW4vc3VibW9kdWxlLS1oZWxwZXIuYzoyMjEyIGdpdC1zdWJtb2R1bGUuc2g6MTczCisjLCBzaC1mb3JtYXQKK21zZ2lkICJwbGVhc2UgbWFrZSBzdXJlIHRoYXQgdGhlIC5naXRtb2R1bGVzIGZpbGUgaXMgaW4gdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAi6KuL56K66KqNIC5naXRtb2R1bGVzIOaqlOahiOWcqOW3peS9nOWNgOijoSIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyNjIgZ2l0LmM6NDMzIGdpdC5jOjY4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2Vzbid0IHN1cHBvcnQgLS1zdXBlci1wcmVmaXgiCittc2dzdHIgIiVzIOS4jeaUr+aPtCAtLXN1cGVyLXByZWZpeCIKKworIzogYnVpbHRpbi9zdWJtb2R1bGUtLWhlbHBlci5jOjIyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB2YWxpZCBzdWJtb2R1bGUtLWhlbHBlciBzdWJjb21tYW5kIgorbXNnc3RyICInJXMnIOS4jeaYr+S4gOWAi+acieaViOeahCBzdWJtb2R1bGUtLWhlbHBlciDlrZDmjIfku6QiCisKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6OAorbXNnaWQgImdpdCBzeW1ib2xpYy1yZWYgWzxvcHRpb25zPl0gPG5hbWU+IFs8cmVmPl0iCittc2dzdHIgImdpdCBzeW1ib2xpYy1yZWYgWzzpgbjpoIU+XSA85ZCN56ixPiBbPOW8leeUqD5dIgorCisjOiBidWlsdGluL3N5bWJvbGljLXJlZi5jOjkKK21zZ2lkICJnaXQgc3ltYm9saWMtcmVmIC1kIFstcV0gPG5hbWU+IgorbXNnc3RyICJnaXQgc3ltYm9saWMtcmVmIC1kIFstcV0gPOWQjeeosT4iCisKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDAKK21zZ2lkICJzdXBwcmVzcyBlcnJvciBtZXNzYWdlIGZvciBub24tc3ltYm9saWMgKGRldGFjaGVkKSByZWZzIgorbXNnc3RyICLkuI3poa/npLrpnZ7nrKbomZ/vvIjliIbpm6LnmoTvvInlvJXnlKjnmoTpjK/oqqToqIrmga8iCisKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDEKK21zZ2lkICJkZWxldGUgc3ltYm9saWMgcmVmIgorbXNnc3RyICLliKrpmaTnrKbomZ/lvJXnlKgiCisKKyM6IGJ1aWx0aW4vc3ltYm9saWMtcmVmLmM6NDIKK21zZ2lkICJzaG9ydGVuIHJlZiBvdXRwdXQiCittc2dzdHIgIue4ruefreW8leeUqOi8uOWHuiIKKworIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjMKK21zZ2lkICJyZWFzb24iCittc2dzdHIgIuWOn+WboCIKKworIzogYnVpbHRpbi9zeW1ib2xpYy1yZWYuYzo0MyBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjMKK21zZ2lkICJyZWFzb24gb2YgdGhlIHVwZGF0ZSIKK21zZ3N0ciAi5pu05paw55qE5Y6f5ZugIgorCisjOiBidWlsdGluL3RhZy5jOjI1Cittc2dpZCAiIgorImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPG1zZz4gfCAtRiA8ZmlsZT5dXG4iCisiXHRcdDx0YWduYW1lPiBbPGhlYWQ+XSIKK21zZ3N0ciAiIgorImdpdCB0YWcgWy1hIHwgLXMgfCAtdSA8a2V5LWlkPl0gWy1mXSBbLW0gPOa2iOaBrz4gfCAtRiA85qqU5qGIPl1cbiIKKyJcdFx0POaomeexpOWQjT4gWzzpoK0+XSIKKworIzogYnVpbHRpbi90YWcuYzoyNworbXNnaWQgImdpdCB0YWcgLWQgPHRhZ25hbWU+Li4uIgorbXNnc3RyICJnaXQgdGFnIC1kIDzmqJnnsaTlkI0+Li4uIgorCisjOiBidWlsdGluL3RhZy5jOjI4Cittc2dpZCAiIgorImdpdCB0YWcgLWwgWy1uWzxudW0+XV0gWy0tY29udGFpbnMgPGNvbW1pdD5dIFstLW5vLWNvbnRhaW5zIDxjb21taXQ+XSBbLS0iCisicG9pbnRzLWF0IDxvYmplY3Q+XVxuIgorIlx0XHRbLS1mb3JtYXQ9PGZvcm1hdD5dIFstLVtuby1dbWVyZ2VkIFs8Y29tbWl0Pl1dIFs8cGF0dGVybj4uLi5dIgorbXNnc3RyICIiCisiZ2l0IHRhZyAtbCBbLW5bPOaVuOWtlz5dXSBbLS1jb250YWlucyA85o+Q5LqkPl0gWy0tbm8tY29udGFpbnMgPOaPkOS6pD5dIFstLXBvaW50cy0iCisiYXQgPOeJqeS7tj5dXG4iCisiXHRcdFstLWZvcm1hdD085qC85byPPl0gWy0tW25vLV1tZXJnZWQgWzzmj5DkuqQ+XV0gWzzmqKHlvI8+Li4uXSIKKworIzogYnVpbHRpbi90YWcuYzozMAorbXNnaWQgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTxmb3JtYXQ+XSA8dGFnbmFtZT4uLi4iCittc2dzdHIgImdpdCB0YWcgLXYgWy0tZm9ybWF0PTzmoLzlvI8+XSA85qiZ57Gk5ZCNPi4uLiIKKworIzogYnVpbHRpbi90YWcuYzo4OQorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBub3QgZm91bmQuIgorbXNnc3RyICLmnKrnmbznj77mqJnnsaQgJyVzJ+OAgiIKKworIzogYnVpbHRpbi90YWcuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGVsZXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgorbXNnc3RyICLlt7LliKrpmaTmqJnnsaQgJyVzJ++8iOabvueCuiAlc++8iVxuIgorCisjOiBidWlsdGluL3RhZy5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV3JpdGUgYSBtZXNzYWdlIGZvciB0YWc6XG4iCisiICAlc1xuIgorIkxpbmVzIHN0YXJ0aW5nIHdpdGggJyVjJyB3aWxsIGJlIGlnbm9yZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLovLjlhaXkuIDlgIvmqJnnsaToqqrmmI7vvJpcbiIKKyIgICVzXG4iCisi5LulICclYycg6ZaL6aCt55qE6KGM5bCH6KKr5b+955Wl44CCXG4iCisKKyM6IGJ1aWx0aW4vdGFnLmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXcml0ZSBhIG1lc3NhZ2UgZm9yIHRhZzpcbiIKKyIgICVzXG4iCisiTGluZXMgc3RhcnRpbmcgd2l0aCAnJWMnIHdpbGwgYmUga2VwdDsgeW91IG1heSByZW1vdmUgdGhlbSB5b3Vyc2VsZiBpZiB5b3UgIgorIndhbnQgdG8uXG4iCittc2dzdHIgIiIKKyJcbiIKKyLovLjlhaXkuIDlgIvmqJnnsaToqqrmmI7vvJpcbiIKKyIgICVzXG4iCisi5LulICclYycg6ZaL6aCt55qE6KGM5bCH6KKr5L+d55WZ77yM5aaC5p6c5oKo6aGY5oSP5Lmf5Y+v5Lul5Yiq6Zmk5a6D5YCR44CCXG4iCisKKyM6IGJ1aWx0aW4vdGFnLmM6MTk4Cittc2dpZCAidW5hYmxlIHRvIHNpZ24gdGhlIHRhZyIKK21zZ3N0ciAi54Sh5rOV57C9572y5qiZ57GkIgorCisjOiBidWlsdGluL3RhZy5jOjIwMAorbXNnaWQgInVuYWJsZSB0byB3cml0ZSB0YWcgZmlsZSIKK21zZ3N0ciAi54Sh5rOV5a+r5qiZ57Gk5qqU5qGIIgorCisjOiBidWlsdGluL3RhZy5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmUgY3JlYXRlZCBhIG5lc3RlZCB0YWcuIFRoZSBvYmplY3QgcmVmZXJyZWQgdG8gYnkgeW91ciBuZXcgdGFnIGlzXG4iCisiYWxyZWFkeSBhIHRhZy4gSWYgeW91IG1lYW50IHRvIHRhZyB0aGUgb2JqZWN0IHRoYXQgaXQgcG9pbnRzIHRvLCB1c2U6XG4iCisiXG4iCisiXHRnaXQgdGFnIC1mICVzICVzXnt9IgorbXNnc3RyICIiCisi5oKo5bu656uL5LqG5LiA5YCL5bWM5aWX55qE5qiZ57Gk44CC5oKo55qE5paw5qiZ57Gk5oyH5ZCR55qE54mp5Lu25bey57aT5piv5LiA5YCL5qiZ57Gk44CC5aaC5p6c5oKo5oOz6KaBXG4iCisi5bCN5YW25oyH5ZCR55qE55uu5qiZ5bu656uL5qiZ57Gk77yM5L2/55So77yaXG4iCisiXG4iCisiXHRnaXQgdGFnIC1mICVzICVzXnt9IgorCisjOiBidWlsdGluL3RhZy5jOjIzMgorbXNnaWQgImJhZCBvYmplY3QgdHlwZS4iCittc2dzdHIgIuWjnueahOeJqeS7tumhnuWei+OAgiIKKworIzogYnVpbHRpbi90YWcuYzoyODQKK21zZ2lkICJubyB0YWcgbWVzc2FnZT8iCittc2dzdHIgIueEoeaomeexpOiqquaYju+8nyIKKworIzogYnVpbHRpbi90YWcuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHRhZyBtZXNzYWdlIGhhcyBiZWVuIGxlZnQgaW4gJXNcbiIKK21zZ3N0ciAi5qiZ57Gk6Kqq5piO6KKr5L+d55WZ5ZyoICVzXG4iCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDAyCittc2dpZCAibGlzdCB0YWcgbmFtZXMiCittc2dzdHIgIuWIl+WHuuaomeexpOWQjeeosSIKKworIzogYnVpbHRpbi90YWcuYzo0MDQKK21zZ2lkICJwcmludCA8bj4gbGluZXMgb2YgZWFjaCB0YWcgbWVzc2FnZSIKK21zZ3N0ciAi5q+P5YCL5qiZ57Gk6KiK5oGv5YiX5Y2wIDxuPiDooYwiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDA2Cittc2dpZCAiZGVsZXRlIHRhZ3MiCittc2dzdHIgIuWIqumZpOaomeexpCIKKworIzogYnVpbHRpbi90YWcuYzo0MDcKK21zZ2lkICJ2ZXJpZnkgdGFncyIKK21zZ3N0ciAi6amX6K2J5qiZ57GkIgorCisjOiBidWlsdGluL3RhZy5jOjQwOQorbXNnaWQgIlRhZyBjcmVhdGlvbiBvcHRpb25zIgorbXNnc3RyICLmqJnnsaTlu7rnq4vpgbjpoIUiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDExCittc2dpZCAiYW5ub3RhdGVkIHRhZywgbmVlZHMgYSBtZXNzYWdlIgorbXNnc3RyICLpmYToqLvmqJnnsaTvvIzpnIDopoHkuIDlgIvoqqrmmI4iCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDEzCittc2dpZCAidGFnIG1lc3NhZ2UiCittc2dzdHIgIuaomeexpOiqquaYjiIKKworIzogYnVpbHRpbi90YWcuYzo0MTUKK21zZ2lkICJmb3JjZSBlZGl0IG9mIHRhZyBtZXNzYWdlIgorbXNnc3RyICLlvLfliLbnt6jovK/mqJnnsaToqqrmmI4iCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDE2Cittc2dpZCAiYW5ub3RhdGVkIGFuZCBHUEctc2lnbmVkIHRhZyIKK21zZ3N0ciAi6ZmE6Ki75Lim6ZmE5YqgIEdQRyDnsL3lkI3nmoTmqJnnsaQiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDE5Cittc2dpZCAidXNlIGFub3RoZXIga2V5IHRvIHNpZ24gdGhlIHRhZyIKK21zZ3N0ciAi5L2/55So5Y+m5aSW55qE56eB6ZGw57C95ZCN6Kmy5qiZ57GkIgorCisjOiBidWlsdGluL3RhZy5jOjQyMAorbXNnaWQgInJlcGxhY2UgdGhlIHRhZyBpZiBleGlzdHMiCittc2dzdHIgIuWmguaenOWtmOWcqO+8jOWPluS7o+ePvuacieeahOaomeexpCIKKworIzogYnVpbHRpbi90YWcuYzo0MjEgYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY5Cittc2dpZCAiY3JlYXRlIGEgcmVmbG9nIgorbXNnc3RyICLlu7rnq4vlvJXnlKjml6XoqowiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDIzCittc2dpZCAiVGFnIGxpc3Rpbmcgb3B0aW9ucyIKK21zZ3N0ciAi5qiZ57Gk5YiX6KGo6YG46aCFIgorCisjOiBidWlsdGluL3RhZy5jOjQyNAorbXNnaWQgInNob3cgdGFnIGxpc3QgaW4gY29sdW1ucyIKK21zZ3N0ciAi5Lul5YiX55qE5pa55byP6aGv56S65qiZ57Gk5YiX6KGoIgorCisjOiBidWlsdGluL3RhZy5jOjQyNSBidWlsdGluL3RhZy5jOjQyNworbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAi5Y+q5YiX5Y2w5YyF5ZCr6Kmy5o+Q5Lqk55qE5qiZ57GkIgorCisjOiBidWlsdGluL3RhZy5jOjQyNiBidWlsdGluL3RhZy5jOjQyOAorbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGRvbid0IGNvbnRhaW4gdGhlIGNvbW1pdCIKK21zZ3N0ciAi5Y+q5YiX5Y2w5LiN5YyF5ZCr6Kmy5o+Q5Lqk55qE5qiZ57GkIgorCisjOiBidWlsdGluL3RhZy5jOjQyOQorbXNnaWQgInByaW50IG9ubHkgdGFncyB0aGF0IGFyZSBtZXJnZWQiCittc2dzdHIgIuWPquWIl+WNsOW3sue2k+WQiOS9teeahOaomeexpCIKKworIzogYnVpbHRpbi90YWcuYzo0MzAKK21zZ2lkICJwcmludCBvbmx5IHRhZ3MgdGhhdCBhcmUgbm90IG1lcmdlZCIKK21zZ3N0ciAi5Y+q5YiX5Y2w5bCa5pyq5ZCI5L2155qE5qiZ57GkIgorCisjOiBidWlsdGluL3RhZy5jOjQzNAorbXNnaWQgInByaW50IG9ubHkgdGFncyBvZiB0aGUgb2JqZWN0IgorbXNnc3RyICLlj6rliJfljbDmjIflkJHoqbLnianku7bnmoTmqJnnsaQiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NDgyCittc2dpZCAiLS1jb2x1bW4gYW5kIC1uIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIi0tY29sdW1uIOWSjCAtbiDkuI3nm7jlrrkiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NTA0Cittc2dpZCAiLW4gb3B0aW9uIGlzIG9ubHkgYWxsb3dlZCBpbiBsaXN0IG1vZGUiCittc2dzdHIgIi1uIOmBuOmgheWPquWFgeioseeUqOWcqOWIl+ihqOmhr+ekuuaooeW8jyIKKworIzogYnVpbHRpbi90YWcuYzo1MDYKK21zZ2lkICItLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICItLWNvbnRhaW5zIOmBuOmgheWPquWFgeioseeUqOWcqOWIl+ihqOmhr+ekuuaooeW8jyIKKworIzogYnVpbHRpbi90YWcuYzo1MDgKK21zZ2lkICItLW5vLWNvbnRhaW5zIG9wdGlvbiBpcyBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICItLW5vLWNvbnRhaW5zIOmBuOmgheWPquWFgeioseeUqOWcqOWIl+ihqOmhr+ekuuaooeW8jyIKKworIzogYnVpbHRpbi90YWcuYzo1MTAKK21zZ2lkICItLXBvaW50cy1hdCBvcHRpb24gaXMgb25seSBhbGxvd2VkIGluIGxpc3QgbW9kZSIKK21zZ3N0ciAiLS1wb2ludHMtYXQg6YG46aCF5Y+q5YWB6Kix55So5Zyo5YiX6KGo6aGv56S65qih5byPIgorCisjOiBidWlsdGluL3RhZy5jOjUxMgorbXNnaWQgIi0tbWVyZ2VkIGFuZCAtLW5vLW1lcmdlZCBvcHRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW4gbGlzdCBtb2RlIgorbXNnc3RyICItLW1lcmdlZCDlkowgLS1uby1tZXJnZWQg6YG46aCF5Y+q5YWB6Kix55So5Zyo5YiX6KGo6aGv56S65qih5byPIgorCisjOiBidWlsdGluL3RhZy5jOjUyMworbXNnaWQgIm9ubHkgb25lIC1GIG9yIC1tIG9wdGlvbiBpcyBhbGxvd2VkLiIKK21zZ3N0ciAi5Y+q5YWB6Kix5LiA5YCLIC1GIOaIliAtbSDpgbjpoIXjgIIiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NTQyCittc2dpZCAidG9vIG1hbnkgcGFyYW1zIgorbXNnc3RyICLlpKrlpJrlj4PmlbgiCisKKyM6IGJ1aWx0aW4vdGFnLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgbm90IGEgdmFsaWQgdGFnIG5hbWUuIgorbXNnc3RyICInJXMnIOS4jeaYr+S4gOWAi+acieaViOeahOaomeexpOWQjeeoseOAgiIKKworIzogYnVpbHRpbi90YWcuYzo1NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgYWxyZWFkeSBleGlzdHMiCittc2dzdHIgIuaomeexpCAnJXMnIOW3suWtmOWcqCIKKworIzogYnVpbHRpbi90YWcuYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXBkYXRlZCB0YWcgJyVzJyAod2FzICVzKVxuIgorbXNnc3RyICLlt7Lmm7TmlrDmqJnnsaQgJyVzJ++8iOabvueCuiAlc++8iVxuIgorCisjOiBidWlsdGluL3VucGFjay1vYmplY3RzLmM6NTAxCittc2dpZCAiVW5wYWNraW5nIG9iamVjdHMiCittc2dzdHIgIuWxlemWi+eJqeS7tuS4rSIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAi5bu656uL55uu6YyEICVzIOWkseaVlyIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBmaWxlICVzIgorbXNnc3RyICLlu7rnq4vmqpTmoYggJXMg5aSx5pWXIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGVsZXRlIGZpbGUgJXMiCittc2dzdHIgIuWIqumZpOaqlOahiCAlcyDlpLHmlZciCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE1IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjIxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZWxldGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICLliKrpmaTnm67pjIQgJXMg5aSx5pWXIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJUZXN0aW5nIG10aW1lIGluICclcycgIgorbXNnc3RyICLlnKggJyVzJyDkuK3muKzoqaYgbXRpbWUgIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE1NAorbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gZG9lcyBub3QgY2hhbmdlIGFmdGVyIGFkZGluZyBhIG5ldyBmaWxlIgorbXNnc3RyICLmlrDlop7kuIDlgIvmlrDmqpTmoYjlvozvvIznm67pjITnmoTni4DmhYvoqIrmga/mnKrmlLnorooiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTY3Cittc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgYWRkaW5nIGEgbmV3IGRpcmVjdG9yeSIKK21zZ3N0ciAi5paw5aKe5LiA5YCL5paw55uu6YyE5b6M77yM55uu6YyE55qE54uA5oWL6KiK5oGv5pyq5pS56K6KIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjE4MAorbXNnaWQgImRpcmVjdG9yeSBzdGF0IGluZm8gY2hhbmdlcyBhZnRlciB1cGRhdGluZyBhIGZpbGUiCittc2dzdHIgIuabtOaWsOS4gOWAi+aqlOahiOW+jO+8jOebrumMhOeahOeLgOaFi+ioiuaBr+iiq+S/ruaUuSIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxOTEKK21zZ2lkICJkaXJlY3Rvcnkgc3RhdCBpbmZvIGNoYW5nZXMgYWZ0ZXIgYWRkaW5nIGEgZmlsZSBpbnNpZGUgc3ViZGlyZWN0b3J5IgorbXNnc3RyICLlnKjlrZDnm67pjITkuK3mlrDlop7mqpTmoYjlvozvvIznm67pjITnmoTni4DmhYvoqIrmga/ooqvkv67mlLkiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjAyCittc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBmaWxlIgorbXNnc3RyICLliKrpmaTkuIDlgIvmqpTmoYjlvozvvIznm67pjITnmoTni4DmhYvoqIrmga/mnKrmlLnorooiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MjE1Cittc2dpZCAiZGlyZWN0b3J5IHN0YXQgaW5mbyBkb2VzIG5vdCBjaGFuZ2UgYWZ0ZXIgZGVsZXRpbmcgYSBkaXJlY3RvcnkiCittc2dzdHIgIuWIqumZpOS4gOWAi+ebrumMhOW+jO+8jOebrumMhOeahOeLgOaFi+ioiuaBr+acquaUueiuiiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoyMjIKK21zZ2lkICIgT0siCittc2dzdHIgIiBPSyIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo1OTEKK21zZ2lkICJnaXQgdXBkYXRlLWluZGV4IFs8b3B0aW9ucz5dIFstLV0gWzxmaWxlPi4uLl0iCittc2dzdHIgImdpdCB1cGRhdGUtaW5kZXggWzzpgbjpoIU+XSBbLS1dIFs85qqU5qGIPi4uLl0iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc0Cittc2dpZCAiY29udGludWUgcmVmcmVzaCBldmVuIHdoZW4gaW5kZXggbmVlZHMgdXBkYXRlIgorbXNnc3RyICLnlbbntKLlvJXpnIDopoHmm7TmlrDmmYLnubznuozph43mlrDmlbTnkIYiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTc3Cittc2dpZCAicmVmcmVzaDogaWdub3JlIHN1Ym1vZHVsZXMiCittc2dzdHIgIumHjeaWsOaVtOeQhu+8muW/veeVpeWtkOaooee1hCIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzo5ODAKK21zZ2lkICJkbyBub3QgaWdub3JlIG5ldyBmaWxlcyIKK21zZ3N0ciAi5LiN5b+955Wl5paw55qE5qqU5qGIIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4MgorbXNnaWQgImxldCBmaWxlcyByZXBsYWNlIGRpcmVjdG9yaWVzIGFuZCB2aWNlLXZlcnNhIgorbXNnc3RyICLorpPmqpTmoYjlj5bku6Pnm67pjITvvIjlj43kuYvkuqbnhLbvvIkiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg0Cittc2dpZCAibm90aWNlIGZpbGVzIG1pc3NpbmcgZnJvbSB3b3JrdHJlZSIKK21zZ3N0ciAi6YCa55+l5qqU5qGI5b6e5bel5L2c5Y2A6YG65aSxIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk4NgorbXNnaWQgInJlZnJlc2ggZXZlbiBpZiBpbmRleCBjb250YWlucyB1bm1lcmdlZCBlbnRyaWVzIgorbXNnc3RyICLljbPkvb/ntKLlvJXljYDljIXlkKvmnKrlkIjkvbXnmoTmop3nm67kuZ/ln7fooYzph43mlrDmlbTnkIYiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTg5Cittc2dpZCAicmVmcmVzaCBzdGF0IGluZm9ybWF0aW9uIgorbXNnc3RyICLph43mlrDmlbTnkIbntbHoqIjoqIrmga8iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6OTkzCittc2dpZCAibGlrZSAtLXJlZnJlc2gsIGJ1dCBpZ25vcmUgYXNzdW1lLXVuY2hhbmdlZCBzZXR0aW5nIgorbXNnc3RyICLpoZ7kvLzmlrwgLS1yZWZyZXNo77yM5L2G5piv5b+955WlIGFzc3VtZS11bmNoYW5nZWQg6Kit5a6aIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5NworbXNnaWQgIjxtb2RlPiw8b2JqZWN0Piw8cGF0aD4iCittc2dzdHIgIjzlrZjlj5bmqKHlvI8+LDznianku7Y+LDzot6/lvpE+IgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjk5OAorbXNnaWQgImFkZCB0aGUgc3BlY2lmaWVkIGVudHJ5IHRvIHRoZSBpbmRleCIKK21zZ3N0ciAi5paw5aKe5oyH5a6a55qE5qKd55uu5Yiw57Si5byV5Y2AIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMDgKK21zZ2lkICJtYXJrIGZpbGVzIGFzIFwibm90IGNoYW5naW5nXCIiCittc2dzdHIgIuaKiuaqlOahiOaomeiomOeCuiBcIuaykuacieiuiuabtFwiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTEKK21zZ2lkICJjbGVhciBhc3N1bWVkLXVuY2hhbmdlZCBiaXQiCittc2dzdHIgIua4hemZpCBhc3N1bWVkLXVuY2hhbmdlZCDkvY0iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAxNAorbXNnaWQgIm1hcmsgZmlsZXMgYXMgXCJpbmRleC1vbmx5XCIiCittc2dzdHIgIuaKiuaqlOahiOaomeiomOeCuiBcIuWDhee0ouW8lVwiIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMTcKK21zZ2lkICJjbGVhciBza2lwLXdvcmt0cmVlIGJpdCIKK21zZ3N0ciAi5riF6ZmkIHNraXAtd29ya3RyZWUg5L2NIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMjAKK21zZ2lkICJkbyBub3QgdG91Y2ggaW5kZXgtb25seSBlbnRyaWVzIgorbXNnc3RyICLkuI3opoHlu7rnq4vlj6rmnInntKLlvJXnmoTpoIXnm64iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyMgorbXNnaWQgImFkZCB0byBpbmRleCBvbmx5OyBkbyBub3QgYWRkIGNvbnRlbnQgdG8gb2JqZWN0IGRhdGFiYXNlIgorbXNnc3RyICLlj6rmlrDlop7liLDntKLlvJXljYDvvJvkuI3mlrDlop7nianku7bliLDnianku7bluqsiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTAyNAorbXNnaWQgInJlbW92ZSBuYW1lZCBwYXRocyBldmVuIGlmIHByZXNlbnQgaW4gd29ya3RyZWUiCittc2dzdHIgIuWNs+S9v+WtmOWcqOW3peS9nOWNgOijoe+8jOS5n+WIqumZpOi3r+W+kSIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI2Cittc2dpZCAid2l0aCAtLXN0ZGluOiBpbnB1dCBsaW5lcyBhcmUgdGVybWluYXRlZCBieSBudWxsIGJ5dGVzIgorbXNnc3RyICLmlJzluLYgLS1zdGRpbu+8mui8uOWFpeeahOihjOS7pSBudWxsIOWtl+WFg+e1guatoiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDI4Cittc2dpZCAicmVhZCBsaXN0IG9mIHBhdGhzIHRvIGJlIHVwZGF0ZWQgZnJvbSBzdGFuZGFyZCBpbnB1dCIKK21zZ3N0ciAi5b6e5qiZ5rqW6Ly45YWl5Lit6K6A5Y+W6ZyA6KaB5pu05paw55qE6Lev5b6R5YiX6KGoIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzIKK21zZ2lkICJhZGQgZW50cmllcyBmcm9tIHN0YW5kYXJkIGlucHV0IHRvIHRoZSBpbmRleCIKK21zZ3N0ciAi5b6e5qiZ5rqW6Ly45YWl5paw5aKe5qKd55uu5Yiw57Si5byV5Y2AIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwMzYKK21zZ2lkICJyZXBvcHVsYXRlIHN0YWdlcyAjMiBhbmQgIzMgZm9yIHRoZSBsaXN0ZWQgcGF0aHMiCittc2dzdHIgIueCuuaMh+WumuaqlOahiOmHjeaWsOeUn+aIkOesrDLlkoznrKwz5pqr5a2Y5Y2AIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDAKK21zZ2lkICJvbmx5IHVwZGF0ZSBlbnRyaWVzIHRoYXQgZGlmZmVyIGZyb20gSEVBRCIKK21zZ3N0ciAi5Y+q5pu05paw6IiHIEhFQUQg5LiN5ZCM55qE5qKd55uuIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDQKK21zZ2lkICJpZ25vcmUgZmlsZXMgbWlzc2luZyBmcm9tIHdvcmt0cmVlIgorbXNnc3RyICLlv73nlaXlt6XkvZzljYDpgbrlpLHnmoTmqpTmoYgiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA0NworbXNnaWQgInJlcG9ydCBhY3Rpb25zIHRvIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAi5Zyo5qiZ5rqW6Ly45Ye66aGv56S65YuV5L2cIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNDkKK21zZ2lkICIoZm9yIHBvcmNlbGFpbnMpIGZvcmdldCBzYXZlZCB1bnJlc29sdmVkIGNvbmZsaWN0cyIKK21zZ3N0ciAiKGZvciBwb3JjZWxhaW5zKSDlv5joqJjlhLLlrZjnmoTmnKrop6PmsbrnmoTooZ3nqoEiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1MworbXNnaWQgIndyaXRlIGluZGV4IGluIHRoaXMgZm9ybWF0IgorbXNnc3RyICLku6XpgJnnqK7moLzlvI/lr6vlhaXntKLlvJXljYAiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1NQorbXNnaWQgImVuYWJsZSBvciBkaXNhYmxlIHNwbGl0IGluZGV4IgorbXNnc3RyICLllZ/nlKjmiJbnpoHnlKjntKLlvJXliIblibIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA1NworbXNnaWQgImVuYWJsZS9kaXNhYmxlIHVudHJhY2tlZCBjYWNoZSIKK21zZ3N0ciAi5ZWf55SoL+emgeeUqOWwjeacqui/vei5pOaqlOahiOeahOW/q+WPliIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDU5Cittc2dpZCAidGVzdCBpZiB0aGUgZmlsZXN5c3RlbSBzdXBwb3J0cyB1bnRyYWNrZWQgY2FjaGUiCittc2dzdHIgIua4rOippuaqlOahiOezu+e1seaYr+WQpuaUr+aPtOacqui/vei5pOaqlOahiOW/q+WPliIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDYxCittc2dpZCAiZW5hYmxlIHVudHJhY2tlZCBjYWNoZSB3aXRob3V0IHRlc3RpbmcgdGhlIGZpbGVzeXN0ZW0iCittc2dzdHIgIueEoemcgOaqoua4rOaqlOahiOezu+e1se+8jOWVn+eUqOWwjeacqui/vei5pOaqlOahiOeahOW/q+WPliIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDYzCittc2dpZCAid3JpdGUgb3V0IHRoZSBpbmRleCBldmVuIGlmIGlzIG5vdCBmbGFnZ2VkIGFzIGNoYW5nZWQiCittc2dzdHIgIuWNs+S9v+aykuacieiiq+aomeiomOeCuuW3suabtOaUue+8jOS5n+imgeWvq+WHuue0ouW8lSIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMDY1Cittc2dpZCAiZW5hYmxlIG9yIGRpc2FibGUgZmlsZSBzeXN0ZW0gbW9uaXRvciIKK21zZ3N0ciAi5ZWf55So5oiW56aB55So5qqU5qGI57O757Wx55uj5o6nIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEwNjcKK21zZ2lkICJtYXJrIGZpbGVzIGFzIGZzbW9uaXRvciB2YWxpZCIKK21zZ3N0ciAi5qiZ6KiY5qqU5qGI54K6IGZzbW9uaXRvciDmnInmlYgiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTA3MAorbXNnaWQgImNsZWFyIGZzbW9uaXRvciB2YWxpZCBiaXQiCittc2dzdHIgIua4hemZpCBmc21vbml0b3Ig5pyJ5pWI5L2NIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExNzMKK21zZ2lkICIiCisiY29yZS5zcGxpdEluZGV4IGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvICIKKyJlbmFibGUgc3BsaXQgaW5kZXgiCittc2dzdHIgImNvcmUuc3BsaXRJbmRleCDooqvoqK3lrprngrogZmFsc2XjgILlpoLmnpzmgqjnorrlr6bopoHllZ/nlKjntKLlvJXliIblibLvvIzoq4vliKrpmaTmiJbkv67mlLnlroPjgIIiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTE4MgorbXNnaWQgIiIKKyJjb3JlLnNwbGl0SW5kZXggaXMgc2V0IHRvIHRydWU7IHJlbW92ZSBvciBjaGFuZ2UgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byAiCisiZGlzYWJsZSBzcGxpdCBpbmRleCIKK21zZ3N0ciAiY29yZS5zcGxpdEluZGV4IOiiq+ioreWumueCuiB0cnVl44CC5aaC5p6c5oKo56K65a+m6KaB56aB55So57Si5byV5YiG5Ymy77yM6KuL5Yiq6Zmk5oiW5L+u5pS55a6D44CCIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjExOTQKK21zZ2lkICIiCisiY29yZS51bnRyYWNrZWRDYWNoZSBpcyBzZXQgdG8gdHJ1ZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKKyJ0byBkaXNhYmxlIHRoZSB1bnRyYWNrZWQgY2FjaGUiCittc2dzdHIgIiIKKyJjb3JlLnVudHJhY2tlZENhY2hlIOiiq+ioreWumueCuiB0cnVl44CC5aaC5p6c5oKo56K65a+m6KaB56aB55So5pyq6L+96Lmk5qqU5qGI5b+r5Y+W77yM6KuL5Yiq6Zmk5oiW5L+uIgorIuaUueWug+OAgiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMTk4Cittc2dpZCAiVW50cmFja2VkIGNhY2hlIGRpc2FibGVkIgorbXNnc3RyICLlv6vlj5bmnKrov73ouaTmqpTmoYjooqvnpoHnlKgiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIwNgorbXNnaWQgIiIKKyJjb3JlLnVudHJhY2tlZENhY2hlIGlzIHNldCB0byBmYWxzZTsgcmVtb3ZlIG9yIGNoYW5nZSBpdCwgaWYgeW91IHJlYWxseSB3YW50ICIKKyJ0byBlbmFibGUgdGhlIHVudHJhY2tlZCBjYWNoZSIKK21zZ3N0ciAiIgorImNvcmUudW50cmFja2VkQ2FjaGUg6KKr6Kit5a6a54K6IGZhbHNl44CC5aaC5p6c5oKo56K65a+m6KaB5ZWf55So5pyq6L+96Lmk5qqU5qGI5b+r5Y+W77yM6KuL5Yiq6Zmk5oiWIgorIuS/ruaUueWug+OAgiIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudHJhY2tlZCBjYWNoZSBlbmFibGVkIGZvciAnJXMnIgorbXNnc3RyICLlv6vlj5bmnKrov73ouaTmqpTmoYjlnKggJyVzJyDllZ/nlKgiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIxOAorbXNnaWQgImNvcmUuZnNtb25pdG9yIGlzIHVuc2V0OyBzZXQgaXQgaWYgeW91IHJlYWxseSB3YW50IHRvIGVuYWJsZSBmc21vbml0b3IiCittc2dzdHIgImNvcmUuZnNtb25pdG9yIOacquioreWumu+8m+WmguaenOaDs+imgeWVn+eUqCBmc21vbml0b3Ig6KuL6Kit5a6a6Kmy6YG46aCFIgorCisjOiBidWlsdGluL3VwZGF0ZS1pbmRleC5jOjEyMjIKK21zZ2lkICJmc21vbml0b3IgZW5hYmxlZCIKK21zZ3N0ciAiZnNtb25pdG9yIOiiq+WVn+eUqCIKKworIzogYnVpbHRpbi91cGRhdGUtaW5kZXguYzoxMjI1Cittc2dpZCAiIgorImNvcmUuZnNtb25pdG9yIGlzIHNldDsgcmVtb3ZlIGl0IGlmIHlvdSByZWFsbHkgd2FudCB0byBkaXNhYmxlIGZzbW9uaXRvciIKK21zZ3N0ciAiY29yZS5mc21vbml0b3Ig5bey6Kit5a6a77yb5aaC5p6c5oOz6KaB56aB55SoIGZzbW9uaXRvciDoq4vnp7vpmaToqbLpgbjpoIUiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLWluZGV4LmM6MTIyOQorbXNnaWQgImZzbW9uaXRvciBkaXNhYmxlZCIKK21zZ3N0ciAiZnNtb25pdG9yIOiiq+emgeeUqCIKKworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTAKK21zZ2lkICJnaXQgdXBkYXRlLXJlZiBbPG9wdGlvbnM+XSAtZCA8cmVmbmFtZT4gWzxvbGQtdmFsPl0iCittc2dzdHIgImdpdCB1cGRhdGUtcmVmIFs86YG46aCFPl0gLWQgPOW8leeUqOWQjT4gWzzoiIrlgLw+XSIKKworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MTEKK21zZ2lkICJnaXQgdXBkYXRlLXJlZiBbPG9wdGlvbnM+XSAgICA8cmVmbmFtZT4gPG5ldy12YWw+IFs8b2xkLXZhbD5dIgorbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbPOmBuOmghT5dICAgIDzlvJXnlKjlkI0+IDzmlrDlgLw+IFs86IiK5YC8Pl0iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjEyCittc2dpZCAiZ2l0IHVwZGF0ZS1yZWYgWzxvcHRpb25zPl0gLS1zdGRpbiBbLXpdIgorbXNnc3RyICJnaXQgdXBkYXRlLXJlZiBbPOmBuOmghT5dIC0tc3RkaW4gWy16XSIKKworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY0Cittc2dpZCAiZGVsZXRlIHRoZSByZWZlcmVuY2UiCittc2dzdHIgIuWIqumZpOW8leeUqCIKKworIzogYnVpbHRpbi91cGRhdGUtcmVmLmM6MzY2Cittc2dpZCAidXBkYXRlIDxyZWZuYW1lPiBub3QgdGhlIG9uZSBpdCBwb2ludHMgdG8iCittc2dzdHIgIuabtOaWsCA85byV55So5ZCNPiDmnKzouqvogIzkuI3mmK/lroPmjIflkJHnmoTlvJXnlKgiCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXJlZi5jOjM2NworbXNnaWQgInN0ZGluIGhhcyBOVUwtdGVybWluYXRlZCBhcmd1bWVudHMiCittc2dzdHIgIuaomea6lui8uOWFpeacieS7pSBOVUwg5a2X5YWD57WC5q2i55qE5Y+D5pW4IgorCisjOiBidWlsdGluL3VwZGF0ZS1yZWYuYzozNjgKK21zZ2lkICJyZWFkIHVwZGF0ZXMgZnJvbSBzdGRpbiIKK21zZ3N0ciAi5b6e5qiZ5rqW6Ly45YWl6K6A5Y+W5pu05pawIgorCisjOiBidWlsdGluL3VwZGF0ZS1zZXJ2ZXItaW5mby5jOjcKK21zZ2lkICJnaXQgdXBkYXRlLXNlcnZlci1pbmZvIFstLWZvcmNlXSIKK21zZ3N0ciAiZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyBbLS1mb3JjZV0iCisKKyM6IGJ1aWx0aW4vdXBkYXRlLXNlcnZlci1pbmZvLmM6MTUKK21zZ2lkICJ1cGRhdGUgdGhlIGluZm8gZmlsZXMgZnJvbSBzY3JhdGNoIgorbXNnc3RyICLlvp7poK3plovlp4vmm7TmlrDmqpTmoYjoqIrmga8iCisKKyM6IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoxMQorbXNnaWQgImdpdCB1cGxvYWQtcGFjayBbPG9wdGlvbnM+XSA8ZGlyPiIKK21zZ3N0ciAiZ2l0IHVwbG9hZC1wYWNrIFs86YG46aCFPl0gPOebrumMhD4iCisKKyM6IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyMyB0L2hlbHBlci90ZXN0LXNlcnZlLXYyLmM6MTcKK21zZ2lkICJxdWl0IGFmdGVyIGEgc2luZ2xlIHJlcXVlc3QvcmVzcG9uc2UgZXhjaGFuZ2UiCittc2dzdHIgIuWcqOS4gOasoeWWrueNqOeahOiri+axgi/lm57mh4nkuYvlvozpm6LplosiCisKKyM6IGJ1aWx0aW4vdXBsb2FkLXBhY2suYzoyNQorbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgaW5pdGlhbCByZWYgYWR2ZXJ0aXNlbWVudCIKK21zZ3N0ciAi5Zyo5Yid5aeL55qE5byV55So5buj5ZGK5b6M56uL5Y2z6Zui6ZaLIgorCisjOiBidWlsdGluL3VwbG9hZC1wYWNrLmM6MjcKK21zZ2lkICJkbyBub3QgdHJ5IDxkaXJlY3Rvcnk+Ly5naXQvIGlmIDxkaXJlY3Rvcnk+IGlzIG5vIEdpdCBkaXJlY3RvcnkiCittc2dzdHIgIuWmguaenCA855uu6YyEPiDkuI3mmK/kuIDlgIsgR2l0IOebrumMhO+8jOS4jeimgeWYl+ippiA855uu6YyEPi8uZ2l0LyIKKworIzogYnVpbHRpbi91cGxvYWQtcGFjay5jOjI5Cittc2dpZCAiaW50ZXJydXB0IHRyYW5zZmVyIGFmdGVyIDxuPiBzZWNvbmRzIG9mIGluYWN0aXZpdHkiCittc2dzdHIgIuS4jea0u+WLlSA8bj4g56eS6ZCY5b6M57WC5q2i5YKz6Ly4IgorCisjOiBidWlsdGluL3ZlcmlmeS1jb21taXQuYzoxOQorbXNnaWQgImdpdCB2ZXJpZnktY29tbWl0IFstdiB8IC0tdmVyYm9zZV0gPGNvbW1pdD4uLi4iCittc2dzdHIgImdpdCB2ZXJpZnktY29tbWl0IFstdiB8IC0tdmVyYm9zZV0gPOaPkOS6pD4uLi4iCisKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjY4Cittc2dpZCAicHJpbnQgY29tbWl0IGNvbnRlbnRzIgorbXNnc3RyICLliJfljbDmj5DkuqTlhaflrrkiCisKKyM6IGJ1aWx0aW4vdmVyaWZ5LWNvbW1pdC5jOjY5IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM3Cittc2dpZCAicHJpbnQgcmF3IGdwZyBzdGF0dXMgb3V0cHV0IgorbXNnc3RyICLliJfljbDljp/lp4sgZ3BnIOeLgOaFi+i8uOWHuiIKKworIzogYnVpbHRpbi92ZXJpZnktcGFjay5jOjU1Cittc2dpZCAiZ2l0IHZlcmlmeS1wYWNrIFstdiB8IC0tdmVyYm9zZV0gWy1zIHwgLS1zdGF0LW9ubHldIDxwYWNrPi4uLiIKK21zZ3N0ciAiZ2l0IHZlcmlmeS1wYWNrIFstdiB8IC0tdmVyYm9zZV0gWy1zIHwgLS1zdGF0LW9ubHldIDzljIU+Li4uIgorCisjOiBidWlsdGluL3ZlcmlmeS1wYWNrLmM6NjUKK21zZ2lkICJ2ZXJib3NlIgorbXNnc3RyICLoqbPntLDovLjlh7oiCisKKyM6IGJ1aWx0aW4vdmVyaWZ5LXBhY2suYzo2NworbXNnaWQgInNob3cgc3RhdGlzdGljcyBvbmx5IgorbXNnc3RyICLlj6rpoa/npLrntbHoqIgiCisKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjE4Cittc2dpZCAiZ2l0IHZlcmlmeS10YWcgWy12IHwgLS12ZXJib3NlXSBbLS1mb3JtYXQ9PGZvcm1hdD5dIDx0YWc+Li4uIgorbXNnc3RyICJnaXQgdmVyaWZ5LXRhZyBbLXYgfCAtLXZlcmJvc2VdIFstLWZvcm1hdD085qC85byPPl0gPOaomeexpD4uLi4iCisKKyM6IGJ1aWx0aW4vdmVyaWZ5LXRhZy5jOjM2Cittc2dpZCAicHJpbnQgdGFnIGNvbnRlbnRzIgorbXNnc3RyICLliJfljbDmqJnnsaTlhaflrrkiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNworbXNnaWQgImdpdCB3b3JrdHJlZSBhZGQgWzxvcHRpb25zPl0gPHBhdGg+IFs8Y29tbWl0LWlzaD5dIgorbXNnc3RyICJnaXQgd29ya3RyZWUgYWRkIFs86YG46aCFPl0gPOi3r+W+kT4gWzzmj5DkuqQ+XSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjE4Cittc2dpZCAiZ2l0IHdvcmt0cmVlIGxpc3QgWzxvcHRpb25zPl0iCittc2dzdHIgImdpdCB3b3JrdHJlZSBsaXN0IFs86YG46aCFPl0iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxOQorbXNnaWQgImdpdCB3b3JrdHJlZSBsb2NrIFs8b3B0aW9ucz5dIDxwYXRoPiIKK21zZ3N0ciAiZ2l0IHdvcmt0cmVlIGxvY2sgWzzpgbjpoIU+XSA86Lev5b6RPiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjIwCittc2dpZCAiZ2l0IHdvcmt0cmVlIG1vdmUgPHdvcmt0cmVlPiA8bmV3LXBhdGg+IgorbXNnc3RyICJnaXQgd29ya3RyZWUgbW92ZSA85bel5L2c5Y2APiA85paw6Lev5b6RPiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjIxCittc2dpZCAiZ2l0IHdvcmt0cmVlIHBydW5lIFs8b3B0aW9ucz5dIgorbXNnc3RyICJnaXQgd29ya3RyZWUgcHJ1bmUgWzzpgbjpoIU+XSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjIyCittc2dpZCAiZ2l0IHdvcmt0cmVlIHJlbW92ZSBbPG9wdGlvbnM+XSA8d29ya3RyZWU+IgorbXNnc3RyICJnaXQgd29ya3RyZWUgcmVtb3ZlIFs86YG46aCFPl0gPOW3peS9nOWNgD4iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoyMworbXNnaWQgImdpdCB3b3JrdHJlZSB1bmxvY2sgPHBhdGg+IgorbXNnc3RyICJnaXQgd29ya3RyZWUgdW5sb2NrIDzot6/lvpE+IgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NjAgYnVpbHRpbi93b3JrdHJlZS5jOjg5OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGVsZXRlICclcyciCittc2dzdHIgIuWIqumZpCAnJXMnIOWkseaVlyIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbW92aW5nIHdvcmt0cmVlcy8lczogbm90IGEgdmFsaWQgZGlyZWN0b3J5IgorbXNnc3RyICLliKrpmaTlt6XkvZzljYAvJXPvvJrkuI3mmK/kuIDlgIvmnInmlYjnmoTnm67pjIQiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLliKrpmaQgd29ya3RyZWVzLyVz77yaZ2l0ZGlyIOaqlOahiOS4jeWtmOWcqCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjkwIGJ1aWx0aW4vd29ya3RyZWUuYzo5OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IHVuYWJsZSB0byByZWFkIGdpdGRpciBmaWxlICglcykiCittc2dzdHIgIuWIqumZpCB3b3JrdHJlZXMvJXPvvJrnhKHms5XoroDlj5YgZ2l0ZGlyIOaqlOahiCAoJXMpIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IHNob3J0IHJlYWQgKGV4cGVjdGVkICU8UFJJdU1BWD4gYnl0ZXMsIHJlYWQgIgorIiU8UFJJdU1BWD4pIgorbXNnc3RyICLliKrpmaTlt6XkvZzmqLkvJXPvvJroroDlj5bpgY7nn63vvIjmnJ/mnJsgJTxQUkl1TUFYPiDkvY3lhYPntYTvvIzoroDlj5YgJTxQUkl1TUFYPu+8iSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGludmFsaWQgZ2l0ZGlyIGZpbGUiCittc2dzdHIgIuWIqumZpCB3b3JrdHJlZXMvJXPvvJrnhKHmlYjnmoQgZ2l0ZGlyIOaqlOahiCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjEyNgorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1vdmluZyB3b3JrdHJlZXMvJXM6IGdpdGRpciBmaWxlIHBvaW50cyB0byBub24tZXhpc3RlbnQgbG9jYXRpb24iCittc2dzdHIgIuWIqumZpCB3b3JrdHJlZXMvJXPvvJpnaXRkaXIg5qqU5qGI55qE5oyH5ZCR5LiN5a2Y5ZyoIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MTY1Cittc2dpZCAicmVwb3J0IHBydW5lZCB3b3JraW5nIHRyZWVzIgorbXNnc3RyICLloLHlkYrmuIXpmaTnmoTlt6XkvZzljYAiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzoxNjcKK21zZ2lkICJleHBpcmUgd29ya2luZyB0cmVlcyBvbGRlciB0aGFuIDx0aW1lPiIKK21zZ3N0ciAi5bCH5pep5pa8IDzmmYLplpM+IOeahOW3peS9nOWNgOmBjuacnyIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGFscmVhZHkgZXhpc3RzIgorbXNnc3RyICInJXMnIOW3sue2k+WtmOWcqCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmUtYWRkIHdvcmt0cmVlICclcyciCittc2dzdHIgIueEoeazleWGjeasoeaWsOWinuW3peS9nOWNgCAnJXMnIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyInJXMnIGlzIGEgbWlzc2luZyBidXQgbG9ja2VkIHdvcmt0cmVlO1xuIgorInVzZSAnYWRkIC1mIC1mJyB0byBvdmVycmlkZSwgb3IgJ3VubG9jaycgYW5kICdwcnVuZScgb3IgJ3JlbW92ZScgdG8gY2xlYXIiCittc2dzdHIgIiIKKyInJXMnIOaYr+S4gOWAi+mBuuWkseS9humOluWumueahOW3peS9nOWNgO+8jOS9v+eUqFxuIgorIidhZGQgLWYgLWYnIOimhuiTi++8jOaIliAndW5sb2NrJyDlkowgJ3BydW5lJyDmiJYgJ3JlbW92ZScg5riF6ZmkIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyInJXMnIGlzIGEgbWlzc2luZyBidXQgYWxyZWFkeSByZWdpc3RlcmVkIHdvcmt0cmVlO1xuIgorInVzZSAnYWRkIC1mJyB0byBvdmVycmlkZSwgb3IgJ3BydW5lJyBvciAncmVtb3ZlJyB0byBjbGVhciIKK21zZ3N0ciAiIgorIiclcycg5piv5LiA5YCL6YG65aSx5L2G5bey57aT6Ki75YaK55qE5bel5L2c5Y2A77yM5L2/55SoXG4iCisiJ2FkZCAtZicg6KaG6JOL77yM5oiWICdwcnVuZScg5oiWICdyZW1vdmUnIOa4hemZpCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSBvZiAnJXMnIgorbXNnc3RyICLkuI3og73lu7rnq4vnm67pjIQgJyVzJyIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQzOSBidWlsdGluL3dvcmt0cmVlLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXBhcmluZyB3b3JrdHJlZSAobmV3IGJyYW5jaCAnJXMnKSIKK21zZ3N0ciAi5rqW5YKZ5bel5L2c5Y2A77yI5paw5YiG5pSvICclcyfvvIkiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlcGFyaW5nIHdvcmt0cmVlIChyZXNldHRpbmcgYnJhbmNoICclcyc7IHdhcyBhdCAlcykiCittc2dzdHIgIua6luWCmeW3peS9nOWNgO+8iOmHjeioreWIhuaUryAnJXMn77yM5LmL5YmN54K6ICVz77yJIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXBhcmluZyB3b3JrdHJlZSAoY2hlY2tpbmcgb3V0ICclcycpIgorbXNnc3RyICLmupblgpnlt6XkvZzljYDvvIjnsL3lh7ogJyVzJ++8iSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVwYXJpbmcgd29ya3RyZWUgKGRldGFjaGVkIEhFQUQgJXMpIgorbXNnc3RyICLmupblgpnlt6XkvZzljYDvvIjliIbpm6LplovpoK3mjIfmqJkgJXPvvIkiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo0OTcKK21zZ2lkICJjaGVja291dCA8YnJhbmNoPiBldmVuIGlmIGFscmVhZHkgY2hlY2tlZCBvdXQgaW4gb3RoZXIgd29ya3RyZWUiCittc2dzdHIgIuewveWHuiA85YiG5pSvPu+8jOWNs+S9v+W3sue2k+iiq+ewveWHuuWIsOWFtuWug+W3peS9nOWNgCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwMAorbXNnaWQgImNyZWF0ZSBhIG5ldyBicmFuY2giCittc2dzdHIgIuW7uueri+S4gOWAi+aWsOWIhuaUryIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwMgorbXNnaWQgImNyZWF0ZSBvciByZXNldCBhIGJyYW5jaCIKK21zZ3N0ciAi5bu656uL5oiW6YeN6Kit5LiA5YCL5YiG5pSvIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6NTA0Cittc2dpZCAicG9wdWxhdGUgdGhlIG5ldyB3b3JraW5nIHRyZWUiCittc2dzdHIgIueUn+aIkOaWsOeahOW3peS9nOWNgCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUwNQorbXNnaWQgImtlZXAgdGhlIG5ldyB3b3JraW5nIHRyZWUgbG9ja2VkIgorbXNnc3RyICLpjpblrprmlrDlt6XkvZzljYAiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MDgKK21zZ2lkICJzZXQgdXAgdHJhY2tpbmcgbW9kZSAoc2VlIGdpdC1icmFuY2goMSkpIgorbXNnc3RyICLoqK3lrprov73ouaTmqKHlvI/vvIjlj4PoposgZ2l0LWJyYW5jaCgxKe+8iSIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjUxMQorbXNnaWQgInRyeSB0byBtYXRjaCB0aGUgbmV3IGJyYW5jaCBuYW1lIHdpdGggYSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoIgorbXNnc3RyICLlmJfoqabngrrmlrDliIbmlK/lkI3nrKblkIjkuIDlgIvpgaDnq6/ov73ouaTliIbmlK8iCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1MTkKK21zZ2lkICItYiwgLUIsIGFuZCAtLWRldGFjaCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItYuOAgS1CIOWSjCAtLWRldGFjaCDmmK/kupLmlqXnmoQiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo1ODAKK21zZ2lkICItLVtuby1ddHJhY2sgY2FuIG9ubHkgYmUgdXNlZCBpZiBhIG5ldyBicmFuY2ggaXMgY3JlYXRlZCIKK21zZ3N0ciAi5Y+q6IO95Zyo5bu656uL5paw5YiG5pSv5pmC5L2/55So6YG46aCFIC0tW25vLV10cmFjayAiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo2ODAKK21zZ2lkICJyZWFzb24gZm9yIGxvY2tpbmciCittc2dzdHIgIumOluWumuWOn+WboCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjY5MiBidWlsdGluL3dvcmt0cmVlLmM6NzI1IGJ1aWx0aW4vd29ya3RyZWUuYzo3OTkKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo5MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgYSB3b3JraW5nIHRyZWUiCittc2dzdHIgIiclcycg5LiN5piv5LiA5YCL5bel5L2c5Y2AIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6Njk0IGJ1aWx0aW4vd29ya3RyZWUuYzo3MjcKK21zZ2lkICJUaGUgbWFpbiB3b3JraW5nIHRyZWUgY2Fubm90IGJlIGxvY2tlZCBvciB1bmxvY2tlZCIKK21zZ3N0ciAi5Li75bel5L2c5Y2A54Sh5rOV6KKr5Yqg6Y6W5oiW6Kej6Y6WIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6Njk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgaXMgYWxyZWFkeSBsb2NrZWQsIHJlYXNvbjogJXMiCittc2dzdHIgIiclcycg5bey6KKr6Y6W5a6a77yM5Y6f5Zug77yaJXMiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBhbHJlYWR5IGxvY2tlZCIKK21zZ3N0ciAiJyVzJyDlt7LooqvpjpblrpoiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJyVzJyBpcyBub3QgbG9ja2VkIgorbXNnc3RyICInJXMnIOacquiiq+mOluWumiIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjc3MAorbXNnaWQgIndvcmtpbmcgdHJlZXMgY29udGFpbmluZyBzdWJtb2R1bGVzIGNhbm5vdCBiZSBtb3ZlZCBvciByZW1vdmVkIgorbXNnc3RyICLkuI3og73np7vli5XmiJbliKrpmaTljIXlkKvlrZDmqKHntYTnmoTlt6XkvZzljYAiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo3NzgKK21zZ2lkICJmb3JjZSBtb3ZlIGV2ZW4gaWYgd29ya3RyZWUgaXMgZGlydHkgb3IgbG9ja2VkIgorbXNnc3RyICLlvLfliLbnp7vli5XvvIzljbPkvb/lt6XkvZzljYDmmK/pq5LnmoTmiJblt7LpjpblrpoiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MDEgYnVpbHRpbi93b3JrdHJlZS5jOjkyOAorIywgYy1mb3JtYXQKK21zZ2lkICInJXMnIGlzIGEgbWFpbiB3b3JraW5nIHRyZWUiCittc2dzdHIgIiclcycg5piv5LiA5YCL5Li75bel5L2c5Y2AIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCBmaWd1cmUgb3V0IGRlc3RpbmF0aW9uIG5hbWUgZnJvbSAnJXMnIgorbXNnc3RyICLnhKHms5Xlvp4gJyVzJyDnrpflh7rnm67mqJnlkI3nqLEiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFyZ2V0ICclcycgYWxyZWFkeSBleGlzdHMiCittc2dzdHIgIuebruaomSAnJXMnIOW3suWtmOWcqCIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjgyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IG1vdmUgYSBsb2NrZWQgd29ya2luZyB0cmVlLCBsb2NrIHJlYXNvbjogJXNcbiIKKyJ1c2UgJ21vdmUgLWYgLWYnIHRvIG92ZXJyaWRlIG9yIHVubG9jayBmaXJzdCIKK21zZ3N0ciAiIgorIueEoeazleenu+WLleS4gOWAi+mOluWumueahOW3peS9nOWNgO+8jOmOluWumuWOn+WboO+8miVzXG4iCisi5L2/55SoICdtb3ZlIC1mIC1mJyDopobok4vmiJblhYjop6PpjpYiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MjIKK21zZ2lkICIiCisiY2Fubm90IG1vdmUgYSBsb2NrZWQgd29ya2luZyB0cmVlO1xuIgorInVzZSAnbW92ZSAtZiAtZicgdG8gb3ZlcnJpZGUgb3IgdW5sb2NrIGZpcnN0IgorbXNnc3RyICIiCisi54Sh5rOV56e75YuV5LiA5YCL6Y6W5a6a55qE5bel5L2c5Y2A77yMXG4iCisi5L2/55SoICdtb3ZlIC1mIC1mJyDopobok4vmiJblhYjop6PpjpYiCisKKyM6IGJ1aWx0aW4vd29ya3RyZWUuYzo4MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidmFsaWRhdGlvbiBmYWlsZWQsIGNhbm5vdCBtb3ZlIHdvcmtpbmcgdHJlZTogJXMiCittc2dzdHIgIumpl+itieWkseaVl++8jOeEoeazleenu+WLleW3peS9nOWNgO+8miVzIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODMwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3ZlICclcycgdG8gJyVzJyIKK21zZ3N0ciAi56e75YuVICclcycg5YiwICclcycg5aSx5pWXIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODc4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBydW4gJ2dpdCBzdGF0dXMnIG9uICclcyciCittc2dzdHIgIuWcqCAnJXMnIOS4reWft+ihjCAnZ2l0IHN0YXR1cycg5aSx5pWXIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiclcycgY29udGFpbnMgbW9kaWZpZWQgb3IgdW50cmFja2VkIGZpbGVzLCB1c2UgLS1mb3JjZSB0byBkZWxldGUgaXQiCittc2dzdHIgIiclcycg5YyF5ZCr5L+u5pS55oiW5pyq6L+96Lmk55qE5qqU5qGI77yM5L2/55SoIC0tZm9yY2Ug5Yiq6ZmkIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6ODg3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBydW4gJ2dpdCBzdGF0dXMnIG9uICclcycsIGNvZGUgJWQiCittc2dzdHIgIuWcqCAnJXMnIOS4reWft+ihjCAnZ2l0IHN0YXR1cycg5aSx5pWX77yM6Zui6ZaL56K8ICVkIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTEwCittc2dpZCAiZm9yY2UgcmVtb3ZhbCBldmVuIGlmIHdvcmt0cmVlIGlzIGRpcnR5IG9yIGxvY2tlZCIKK21zZ3N0ciAi5by35Yi25Yiq6Zmk77yM5Y2z5L2/5bel5L2c5Y2A5piv6auS55qE5oiW5bey6Y6W5a6aIgorCisjOiBidWlsdGluL3dvcmt0cmVlLmM6OTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjYW5ub3QgcmVtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZSwgbG9jayByZWFzb246ICVzXG4iCisidXNlICdyZW1vdmUgLWYgLWYnIHRvIG92ZXJyaWRlIG9yIHVubG9jayBmaXJzdCIKK21zZ3N0ciAiIgorIueEoeazleWIqumZpOS4gOWAi+mOluWumueahOW3peS9nOWNgO+8jOmOluWumuWOn+WboO+8miVzXG4iCisi5L2/55SoICdyZW1vdmUgLWYgLWYnIOimhuiTi+aIluWFiOino+mOliIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjkzNQorbXNnaWQgIiIKKyJjYW5ub3QgcmVtb3ZlIGEgbG9ja2VkIHdvcmtpbmcgdHJlZTtcbiIKKyJ1c2UgJ3JlbW92ZSAtZiAtZicgdG8gb3ZlcnJpZGUgb3IgdW5sb2NrIGZpcnN0IgorbXNnc3RyICIiCisi54Sh5rOV5Yiq6Zmk5LiA5YCL6Y6W5a6a55qE5bel5L2c5Y2A77yMXG4iCisi5L2/55SoICdyZW1vdmUgLWYgLWYnIOimhuiTi+aIluWFiOino+mOliIKKworIzogYnVpbHRpbi93b3JrdHJlZS5jOjkzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ2YWxpZGF0aW9uIGZhaWxlZCwgY2Fubm90IHJlbW92ZSB3b3JraW5nIHRyZWU6ICVzIgorbXNnc3RyICLpqZforYnlpLHmlZfvvIznhKHms5XliKrpmaTlt6XkvZzljYDvvJolcyIKKworIzogYnVpbHRpbi93cml0ZS10cmVlLmM6MTUKK21zZ2lkICJnaXQgd3JpdGUtdHJlZSBbLS1taXNzaW5nLW9rXSBbLS1wcmVmaXg9PHByZWZpeD4vXSIKK21zZ3N0ciAiZ2l0IHdyaXRlLXRyZWUgWy0tbWlzc2luZy1va10gWy0tcHJlZml4PTzliY3ntrQ+L10iCisKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI4Cittc2dpZCAiPHByZWZpeD4vIgorbXNnc3RyICI85YmN57a0Pi8iCisKKyM6IGJ1aWx0aW4vd3JpdGUtdHJlZS5jOjI5Cittc2dpZCAid3JpdGUgdHJlZSBvYmplY3QgZm9yIGEgc3ViZGlyZWN0b3J5IDxwcmVmaXg+IgorbXNnc3RyICLlsIcgPOWJjee2tD4g5a2Q55uu6YyE5YWn5a655a+r5Yiw5LiA5YCL5qi554uA54mp5Lu2IgorCisjOiBidWlsdGluL3dyaXRlLXRyZWUuYzozMQorbXNnaWQgIm9ubHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmciCittc2dzdHIgIuWPquWwjemZpOmMr+acieeUqCIKKworIzogZmFzdC1pbXBvcnQuYzozMTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4cGVjdGVkICdtYXJrJyBjb21tYW5kLCBnb3QgJXMiCittc2dzdHIgIumgkOacnyAnbWFyaycg5oyH5Luk77yM5b6X5YiwICVzIgorCisjOiBmYXN0LWltcG9ydC5jOjMxMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhwZWN0ZWQgJ3RvJyBjb21tYW5kLCBnb3QgJXMiCittc2dzdHIgIumgkOacnyAndG8nIOaMh+S7pO+8jOW+l+WIsCAlcyIKKworIzogZmFzdC1pbXBvcnQuYzozMjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImZlYXR1cmUgJyVzJyBmb3JiaWRkZW4gaW4gaW5wdXQgd2l0aG91dCAtLWFsbG93LXVuc2FmZS1mZWF0dXJlcyIKK21zZ3N0ciAiIgorCisjOiBjcmVkZW50aWFsLWNhY2hlLS1kYWVtb24uYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBwZXJtaXNzaW9ucyBvbiB5b3VyIHNvY2tldCBkaXJlY3RvcnkgYXJlIHRvbyBsb29zZTsgb3RoZXJcbiIKKyJ1c2VycyBtYXkgYmUgYWJsZSB0byByZWFkIHlvdXIgY2FjaGVkIGNyZWRlbnRpYWxzLiBDb25zaWRlciBydW5uaW5nOlxuIgorIlxuIgorIlx0Y2htb2QgMDcwMCAlcyIKK21zZ3N0ciAiIgorIuaCqOeahCBzb2NrZXQg55uu6YyE5qyK6ZmQ6YGO5pa85a+s6ayG77yM5YW25LuW5L2/55So6ICF5Y+v6IO95pyD6K6A5Y+W5oKo5b+r5Y+W55qE6KqN6K2J6KiK5oGv44CC6ICD5oWu5Z+3IgorIuihjO+8mlxuIgorIlxuIgorIlx0Y2htb2QgMDcwMCAlcyIKKworIzogY3JlZGVudGlhbC1jYWNoZS0tZGFlbW9uLmM6MjcyCittc2dpZCAicHJpbnQgZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHN0ZGVyciIKK21zZ3N0ciAi6Zmk6Yyv6KiK5oGv6Ly45Ye65Yiw5qiZ5rqW6Yyv6KqkIgorCisjOiB0L2hlbHBlci90ZXN0LXJlYWNoLmM6MTUyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvbW1pdCAlcyBpcyBub3QgbWFya2VkIHJlYWNoYWJsZSIKK21zZ3N0ciAi5o+Q5LqkICVzIOaykuacieaomeiomOeCuuWPr+S7peWPluW+lyIKKworIzogdC9oZWxwZXIvdGVzdC1yZWFjaC5jOjE2MgorbXNnaWQgInRvbyBtYW55IGNvbW1pdHMgbWFya2VkIHJlYWNoYWJsZSIKK21zZ3N0ciAi5aSq5aSa5o+Q5Lqk5qiZ6KiY54K65Y+v5Lul5Y+W5b6XIgorCisjOiB0L2hlbHBlci90ZXN0LXNlcnZlLXYyLmM6NworbXNnaWQgInRlc3QtdG9vbCBzZXJ2ZS12MiBbPG9wdGlvbnM+XSIKK21zZ3N0ciAidGVzdC10b29sIHNlcnZlLXYyIFs86YG46aCFPl0iCisKKyM6IHQvaGVscGVyL3Rlc3Qtc2VydmUtdjIuYzoxOQorbXNnaWQgImV4aXQgaW1tZWRpYXRlbHkgYWZ0ZXIgYWR2ZXJ0aXNpbmcgY2FwYWJpbGl0aWVzIgorbXNnc3RyICLlsI3og73lipvlu6PlkYrkuYvlvoznq4vljbPpm6LplosiCisKKyM6IGdpdC5jOjI3Cittc2dpZCAiIgorImdpdCBbLS12ZXJzaW9uXSBbLS1oZWxwXSBbLUMgPHBhdGg+XSBbLWMgPG5hbWU+PTx2YWx1ZT5dXG4iCisiICAgICAgICAgICBbLS1leGVjLXBhdGhbPTxwYXRoPl1dIFstLWh0bWwtcGF0aF0gWy0tbWFuLXBhdGhdIFstLWluZm8tcGF0aF1cbiIKKyIgICAgICAgICAgIFstcCB8IC0tcGFnaW5hdGUgfCAtUCB8IC0tbm8tcGFnZXJdIFstLW5vLXJlcGxhY2Utb2JqZWN0c10gWy0tIgorImJhcmVdXG4iCisiICAgICAgICAgICBbLS1naXQtZGlyPTxwYXRoPl0gWy0td29yay10cmVlPTxwYXRoPl0gWy0tbmFtZXNwYWNlPTxuYW1lPl1cbiIKKyIgICAgICAgICAgIDxjb21tYW5kPiBbPGFyZ3M+XSIKK21zZ3N0ciAiIgorImdpdCBbLS12ZXJzaW9uXSBbLS1oZWxwXSBbLUMgPOi3r+W+kT5dIFstYyA85ZCN56ixPj085Y+W5YC8Pl1cbiIKKyIgICAgICAgICAgIFstLWV4ZWMtcGF0aFs9POi3r+W+kT5dXSBbLS1odG1sLXBhdGhdIFstLW1hbi1wYXRoXSBbLS1pbmZvLXBhdGhdXG4iCisiICAgICAgICAgICBbLXAgfCAtLXBhZ2luYXRlIHwgLVAgfCAtLW5vLXBhZ2VyXSBbLS1uby1yZXBsYWNlLW9iamVjdHNdIFstLSIKKyJiYXJlXVxuIgorIiAgICAgICAgICAgWy0tZ2l0LWRpcj086Lev5b6RPl0gWy0td29yay10cmVlPTzot6/lvpE+XSBbLS1uYW1lc3BhY2U9POWQjeeosT5dXG4iCisiICAgICAgICAgICA85oyH5LukPiBbPOWPg+aVuD5dIgorCisjOiBnaXQuYzozNAorbXNnaWQgIiIKKyInZ2l0IGhlbHAgLWEnIGFuZCAnZ2l0IGhlbHAgLWcnIGxpc3QgYXZhaWxhYmxlIHN1YmNvbW1hbmRzIGFuZCBzb21lXG4iCisiY29uY2VwdCBndWlkZXMuIFNlZSAnZ2l0IGhlbHAgPGNvbW1hbmQ+JyBvciAnZ2l0IGhlbHAgPGNvbmNlcHQ+J1xuIgorInRvIHJlYWQgYWJvdXQgYSBzcGVjaWZpYyBzdWJjb21tYW5kIG9yIGNvbmNlcHQuXG4iCisiU2VlICdnaXQgaGVscCBnaXQnIGZvciBhbiBvdmVydmlldyBvZiB0aGUgc3lzdGVtLiIKK21zZ3N0ciAiIgorIuaMh+S7pCAnZ2l0IGhlbHAgLWEnIOWSjCAnZ2l0IGhlbHAgLWcnIOmhr+ekuuWPr+eUqOeahOWtkOaMh+S7pOWSjOS4gOS6m+amguW/teiqquaYjuOAglxuIgorIuaqouimliAnZ2l0IGhlbHAgPOaMh+S7pD4nIOaIliAnZ2l0IGhlbHAgPOamguW/tT4nIOS7peWPluW+l+aPkOS+m+WtkOaMh+S7pOaIluamguW/tVxuIgorIuiqquaYjuOAglxuIgorIuaciemXnOezu+e1seamgui/sO+8jOaqouimliAnZ2l0IGhlbHAgZ2l0J+OAgiIKKworIzogZ2l0LmM6MTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLS1naXQtZGlyXG4iCittc2dzdHIgIuaykuacieeCuiAtLWdpdC1kaXIg5o+Q5L6b55uu6YyEXG4iCisKKyM6IGdpdC5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBuYW1lc3BhY2UgZ2l2ZW4gZm9yIC0tbmFtZXNwYWNlXG4iCittc2dzdHIgIuaykuacieeCuiAtLW5hbWVzcGFjZSDmj5Dkvpvlkb3lkI3nqbrplpNcbiIKKworIzogZ2l0LmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGRpcmVjdG9yeSBnaXZlbiBmb3IgLS13b3JrLXRyZWVcbiIKK21zZ3N0ciAi5rKS5pyJ54K6IC0td29yay10cmVlIOaPkOS+m+ebrumMhFxuIgorCisjOiBnaXQuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gcHJlZml4IGdpdmVuIGZvciAtLXN1cGVyLXByZWZpeFxuIgorbXNnc3RyICLmspLmnInngrogLS1zdXBlci1wcmVmaXgg5o+Q5L6b5YmN57a0XG4iCisKKyM6IGdpdC5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICItYyBleHBlY3RzIGEgY29uZmlndXJhdGlvbiBzdHJpbmdcbiIKK21zZ3N0ciAi5oeJ54K6IC1jIOaPkOS+m+S4gOWAi+ioreWumuWtl+S4slxuIgorCisjOiBnaXQuYzoyODgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gZGlyZWN0b3J5IGdpdmVuIGZvciAtQ1xuIgorbXNnc3RyICLmspLmnInngrogLUMg5o+Q5L6b55uu6YyEXG4iCisKKyM6IGdpdC5jOjMxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbjogJXNcbiIKK21zZ3N0ciAi5pyq55+l6YG46aCF77yaJXNcbiIKKworIzogZ2l0LmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIndoaWxlIGV4cGFuZGluZyBhbGlhcyAnJXMnOiAnJXMnIgorbXNnc3RyICLlnKjmk7TlsZXliKXlkI0gJyVzJyDmmYLvvJonJXMnIgorCisjOiBnaXQuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImFsaWFzICclcycgY2hhbmdlcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4iCisiWW91IGNhbiB1c2UgJyFnaXQnIGluIHRoZSBhbGlhcyB0byBkbyB0aGlzIgorbXNnc3RyICIiCisi5Yil5ZCNICclcycg5L+u5pS555Kw5aKD6K6K5pW444CC5oKo5Y+v5Lul5L2/55So5Zyo5Yil5ZCN5LitXG4iCisi5L2/55SoICchZ2l0JyIKKworIzogZ2l0LmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgImVtcHR5IGFsaWFzIGZvciAlcyIKK21zZ3N0ciAiJXMg55qE56m65Yil5ZCNIgorCisjOiBnaXQuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjdXJzaXZlIGFsaWFzOiAlcyIKK21zZ3N0ciAi6YGe6L+055qE5Yil5ZCN77yaJXMiCisKKyM6IGdpdC5jOjQ1OQorbXNnaWQgIndyaXRlIGZhaWx1cmUgb24gc3RhbmRhcmQgb3V0cHV0IgorbXNnc3RyICLlnKjmqJnmupbovLjlh7rlr6vlhaXlpLHmlZciCisKKyM6IGdpdC5jOjQ2MQorbXNnaWQgInVua25vd24gd3JpdGUgZmFpbHVyZSBvbiBzdGFuZGFyZCBvdXRwdXQiCittc2dzdHIgIuWIsOaomea6lui8uOWHuueahOacquefpeWvq+WFpemMr+iqpCIKKworIzogZ2l0LmM6NDYzCittc2dpZCAiY2xvc2UgZmFpbGVkIG9uIHN0YW5kYXJkIG91dHB1dCIKK21zZ3N0ciAi5qiZ5rqW6Ly45Ye66Zec6ZaJ5aSx5pWXIgorCisjOiBnaXQuYzo3OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxpYXMgbG9vcCBkZXRlY3RlZDogZXhwYW5zaW9uIG9mICclcycgZG9lcyBub3QgdGVybWluYXRlOiVzIgorbXNnc3RyICLmqqLmuKzliLDliKXlkI3lvqrnkrDvvJonJXMn55qE5pO05bGV5pyq57WC5q2i77yaJXMiCisKKyM6IGdpdC5jOjg0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgaGFuZGxlICVzIGFzIGEgYnVpbHRpbiIKK21zZ3N0ciAi5LiN6IO95L2c54K65YWn5bu65oyH5Luk6JmV55CGICVzIgorCisjOiBnaXQuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisi55So5rOV77yaJXNcbiIKKyJcbiIKKworIzogZ2l0LmM6ODc2CisjLCBjLWZvcm1hdAorbXNnaWQgImV4cGFuc2lvbiBvZiBhbGlhcyAnJXMnIGZhaWxlZDsgJyVzJyBpcyBub3QgYSBnaXQgY29tbWFuZFxuIgorbXNnc3RyICLlsZXplovliKXlkI3mjIfku6QgJyVzJyDlpLHmlZfvvIwnJXMnIOS4jeaYr+S4gOWAiyBnaXQg5oyH5LukXG4iCisKKyM6IGdpdC5jOjg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcnVuIGNvbW1hbmQgJyVzJzogJXNcbiIKK21zZ3N0ciAi5Z+36KGM5oyH5LukICclcycg5aSx5pWX77yaJXNcbiIKKworIzogaHR0cC5jOjM3OAorIywgYy1mb3JtYXQKK21zZ2lkICJuZWdhdGl2ZSB2YWx1ZSBmb3IgaHR0cC5wb3N0YnVmZmVyOyBkZWZhdWx0aW5nIHRvICVkIgorbXNnc3RyICJodHRwLnBvc3RidWZmZXIg54K66LKg5YC877yM6aCQ6Kit54K6ICVkIgorCisjOiBodHRwLmM6Mzk5Cittc2dpZCAiRGVsZWdhdGlvbiBjb250cm9sIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjVVJMIDwgNy4yMi4wIgorbXNnc3RyICLkuI3mlK/mj7Tlp5ToqJfmjqfliLbvvIzlm6DngrogY1VSTCA8IDcuMjIuMCIKKworIzogaHR0cC5jOjQwOAorbXNnaWQgIlB1YmxpYyBrZXkgcGlubmluZyBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuNDQuMCIKK21zZ3N0ciAi5LiN5pSv5o+05YWs6ZGw5qqU5qGI6Y6W5a6a77yM5Zug54K6IGNVUkwgPCA3LjQ0LjAiCisKKyM6IGh0dHAuYzo4NzYKK21zZ2lkICJDVVJMU1NMT1BUX05PX1JFVk9LRSBub3Qgc3VwcG9ydGVkIHdpdGggY1VSTCA8IDcuNDQuMCIKK21zZ3N0ciAi5LiN5pSv5o+0IENVUkxTU0xPUFRfTk9fUkVWT0tF77yM5Zug54K6IGNVUkwgPCA3LjQ0LjAiCisKKyM6IGh0dHAuYzo5NDkKK21zZ2lkICJQcm90b2NvbCByZXN0cmljdGlvbnMgbm90IHN1cHBvcnRlZCB3aXRoIGNVUkwgPCA3LjE5LjQiCittc2dzdHIgIuS4jeaUr+aPtOWNlOWumumZkOWItu+8jOWboOeCuiBjVVJMIDwgNy4xOS40IgorCisjOiBodHRwLmM6MTA4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbnN1cHBvcnRlZCBTU0wgYmFja2VuZCAnJXMnLiBTdXBwb3J0ZWQgU1NMIGJhY2tlbmRzOiIKK21zZ3N0ciAi5LiN5pSv5o+055qEIFNTTCDlvoznq68gJyVzJ+OAguaUr+aPtOeahCBTU0wg5b6M56uv77yaIgorCisjOiBodHRwLmM6MTA5MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgc2V0IFNTTCBiYWNrZW5kIHRvICclcyc6IGNVUkwgd2FzIGJ1aWx0IHdpdGhvdXQgU1NMIGJhY2tlbmRzIgorbXNnc3RyICLnhKHms5XoqK3lrpogU1NMIOW+jOerr+eCuiAnJXMn77yaY1VSTDogY1VSTCDmspLmnInkvb/nlKggU1NMIOW+jOerr+ani+W7uiIKKworIzogaHR0cC5jOjEwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHNldCBTU0wgYmFja2VuZCB0byAnJXMnOiBhbHJlYWR5IHNldCIKK21zZ3N0ciAi54Sh5rOV5bCHIFNTTCDlvoznq6/oqK3lrprngrogJyVzJ++8muW3sue2k+ioreWumiIKKworIzogaHR0cC5jOjE5NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVuYWJsZSB0byB1cGRhdGUgdXJsIGJhc2UgZnJvbSByZWRpcmVjdGlvbjpcbiIKKyIgIGFza2VkIGZvcjogJXNcbiIKKyIgICByZWRpcmVjdDogJXMiCittc2dzdHIgIiIKKyLkuI3og73mm7TmlrDph43lrprlkJHnmoQgdXJsIGJhc2XvvJpcbiIKKyIgICAgIOiri+axgu+8miVzXG4iCisiICAg6YeN5a6a5ZCR77yaJXMiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcXVvdGluZyBpbiBwdXNoLW9wdGlvbiB2YWx1ZTogJyVzJyIKK21zZ3N0ciAi5ZyoIHB1c2gtb3B0aW9uIOWPluWAvOS4reeEoeaViOeahOW8leiZn++8miclcyciCisKKyM6IHJlbW90ZS1jdXJsLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzaW5mby9yZWZzIG5vdCB2YWxpZDogaXMgdGhpcyBhIGdpdCByZXBvc2l0b3J5PyIKK21zZ3N0ciAiJXNpbmZvL3JlZnMg54Sh5pWI77ya6YCZ5piv5LiA5YCLIGdpdCDniYjmnKzluqvll47vvJ8iCisKKyM6IHJlbW90ZS1jdXJsLmM6MzY0Cittc2dpZCAiaW52YWxpZCBzZXJ2ZXIgcmVzcG9uc2U7IGV4cGVjdGVkIHNlcnZpY2UsIGdvdCBmbHVzaCBwYWNrZXQiCittc2dzdHIgIueEoeaViOeahOacjeWLmeerr+WbnuaHieOAgumgkOacn+acjeWLme+8jOW+l+WIsCBmbHVzaCDljIUiCisKKyM6IHJlbW90ZS1jdXJsLmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2VydmVyIHJlc3BvbnNlOyBnb3QgJyVzJyIKK21zZ3N0ciAi54Sh5pWI55qE5pyN5YuZ56uv5Zue5oeJ77yM5b6X5YiwICclcyciCisKKyM6IHJlbW90ZS1jdXJsLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlcG9zaXRvcnkgJyVzJyBub3QgZm91bmQiCittc2dzdHIgIueJiOacrOW6qyAnJXMnIOacquaJvuWIsCIKKworIzogcmVtb3RlLWN1cmwuYzo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXV0aGVudGljYXRpb24gZmFpbGVkIGZvciAnJXMnIgorbXNnc3RyICInJXMnIOi6q+S7vempl+itieWkseaVlyIKKworIzogcmVtb3RlLWN1cmwuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGFjY2VzcyAnJXMnOiAlcyIKK21zZ3N0ciAi54Sh5rOV5a2Y5Y+WICclcyfvvJolcyIKKworIzogcmVtb3RlLWN1cmwuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVkaXJlY3RpbmcgdG8gJXMiCittc2dzdHIgIumHjeWumuWQkeWIsCAlcyIKKworIzogcmVtb3RlLWN1cmwuYzo1OTMKK21zZ2lkICJzaG91bGRuJ3QgaGF2ZSBFT0Ygd2hlbiBub3QgZ2VudGxlIG9uIEVPRiIKK21zZ3N0ciAi55W25rKS5pyJ6Kit5a6a5rqr5ZKM6JmV55CG5qqU5qGI57WQ5p2f56ym77yIRU9G77yJ5pmC77yM5LiN5oeJ6Kmy5pyJ5qqU5qGI57WQ5p2f56ymIgorCisjOiByZW1vdGUtY3VybC5jOjY3MworbXNnaWQgInVuYWJsZSB0byByZXdpbmQgcnBjIHBvc3QgZGF0YSAtIHRyeSBpbmNyZWFzaW5nIGh0dHAucG9zdEJ1ZmZlciIKK21zZ3N0ciAi54Sh5rOV6YKE5Y6fIHJwYyBwb3N0IOizh+aWmSAtIOWYl+ippuWinuWKoCBodHRwLnBvc3RCdWZmZXIiCisKKyM6IHJlbW90ZS1jdXJsLmM6NzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJQQyBmYWlsZWQ7ICVzIgorbXNnc3RyICJSUEMg5aSx5pWX44CCJXMiCisKKyM6IHJlbW90ZS1jdXJsLmM6NzczCittc2dpZCAiY2Fubm90IGhhbmRsZSBwdXNoZXMgdGhpcyBiaWciCittc2dzdHIgIuS4jeiDveiZleeQhumAmem6vOWkp+eahOaOqOmAgSIKKworIzogcmVtb3RlLWN1cmwuYzo4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRlZmxhdGUgcmVxdWVzdDsgemxpYiBkZWZsYXRlIGVycm9yICVkIgorbXNnc3RyICLkuI3og73lo5PnuK7oq4vmsYLvvIx6bGliIOWjk+e4rumMr+iqpCAlZCIKKworIzogcmVtb3RlLWN1cmwuYzo4OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRlZmxhdGUgcmVxdWVzdDsgemxpYiBlbmQgZXJyb3IgJWQiCittc2dzdHIgIuS4jeiDveWjk+e4ruiri+axgu+8jHpsaWIg57WQ5p2f6Yyv6KqkICVkIgorCisjOiByZW1vdGUtY3VybC5jOjEwMjMKK21zZ2lkICJkdW1iIGh0dHAgdHJhbnNwb3J0IGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjYXBhYmlsaXRpZXMiCittc2dzdHIgIuWVniBodHRwIOWCs+i8uOS4jeaUr+aPtCBzaGFsbGxvdyDog73lipsiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTAzNworbXNnaWQgImZldGNoIGZhaWxlZC4iCittc2dzdHIgIuWPluW+l+WkseaVl+OAgiIKKworIzogcmVtb3RlLWN1cmwuYzoxMDg1Cittc2dpZCAiY2Fubm90IGZldGNoIGJ5IHNoYTEgb3ZlciBzbWFydCBodHRwIgorbXNnc3RyICLnhKHms5XpgI/pgY7mmbrmhacgSFRUUCDlj5blvpcgc2hhMSIKKworIzogcmVtb3RlLWN1cmwuYzoxMTI5IHJlbW90ZS1jdXJsLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICJwcm90b2NvbCBlcnJvcjogZXhwZWN0ZWQgc2hhL3JlZiwgZ290ICclcyciCittc2dzdHIgIuWNlOWumumMr+iqpO+8muacn+acmyBzaGEvcmVm77yM5Y275b6X5YiwICclcyciCisKKyM6IHJlbW90ZS1jdXJsLmM6MTE0NyByZW1vdGUtY3VybC5jOjEyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaHR0cCB0cmFuc3BvcnQgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAiaHR0cCDlgrPovLjljZTlrprkuI3mlK/mj7QgJXMiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTE4MworbXNnaWQgImdpdC1odHRwLXB1c2ggZmFpbGVkIgorbXNnc3RyICJnaXQtaHR0cC1wdXNoIOWkseaVlyIKKworIzogcmVtb3RlLWN1cmwuYzoxMzY3Cittc2dpZCAicmVtb3RlLWN1cmw6IHVzYWdlOiBnaXQgcmVtb3RlLWN1cmwgPHJlbW90ZT4gWzx1cmw+XSIKK21zZ3N0ciAicmVtb3RlLWN1cmzvvJrnlKjms5XvvJpnaXQgcmVtb3RlLWN1cmwgPOmBoOerrz4gWzx1cmw+XSIKKworIzogcmVtb3RlLWN1cmwuYzoxMzk5Cittc2dpZCAicmVtb3RlLWN1cmw6IGVycm9yIHJlYWRpbmcgY29tbWFuZCBzdHJlYW0gZnJvbSBnaXQiCittc2dzdHIgInJlbW90ZS1jdXJs77ya6Yyv6Kqk6K6A5Y+W5L6G6IeqIGdpdCDnmoTmjIfku6TmtYEiCisKKyM6IHJlbW90ZS1jdXJsLmM6MTQwNgorbXNnaWQgInJlbW90ZS1jdXJsOiBmZXRjaCBhdHRlbXB0ZWQgd2l0aG91dCBhIGxvY2FsIHJlcG8iCittc2dzdHIgInJlbW90ZS1jdXJs77ya5ZiX6Kmm5rKS5pyJ5pys5qmf54mI5pys5bqr5LiL5Y+W5b6XIgorCisjOiByZW1vdGUtY3VybC5jOjE0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3RlLWN1cmw6IHVua25vd24gY29tbWFuZCAnJXMnIGZyb20gZ2l0IgorbXNnc3RyICJyZW1vdGUtY3VybO+8muacquefpeeahOS+huiHqiBnaXQg55qE5oyH5LukICclcyciCisKKyM6IGxpc3Qtb2JqZWN0cy1maWx0ZXItb3B0aW9ucy5oOjg1Cittc2dpZCAiYXJncyIKK21zZ3N0ciAi5Y+D5pW4IgorCisjOiBsaXN0LW9iamVjdHMtZmlsdGVyLW9wdGlvbnMuaDo4NgorbXNnaWQgIm9iamVjdCBmaWx0ZXJpbmciCittc2dzdHIgIueJqeS7tumBjua/viIKKworIzogcGFyc2Utb3B0aW9ucy5oOjE4MworbXNnaWQgImV4cGlyeS1kYXRlIgorbXNnc3RyICLliLDmnJ/mmYLplpMiCisKKyM6IHBhcnNlLW9wdGlvbnMuaDoxOTcKK21zZ2lkICJuby1vcCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkiCittc2dzdHIgIuepuuWLleS9nO+8iOWQkeW+jOebuOWuue+8iSIKKworIzogcGFyc2Utb3B0aW9ucy5oOjMwOQorbXNnaWQgImJlIG1vcmUgdmVyYm9zZSIKK21zZ3N0ciAi5pu05Yqg6Kmz57SwIgorCisjOiBwYXJzZS1vcHRpb25zLmg6MzExCittc2dpZCAiYmUgbW9yZSBxdWlldCIKK21zZ3N0ciAi5pu05Yqg5a6J6Z2cIgorCisjOiBwYXJzZS1vcHRpb25zLmg6MzE3Cittc2dpZCAidXNlIDxuPiBkaWdpdHMgdG8gZGlzcGxheSBTSEEtMXMiCittc2dzdHIgIueUqCA8bj4g5L2N5pW45a2X6aGv56S6IFNIQS0xIOmbnOa5iuWAvCIKKworIzogcGFyc2Utb3B0aW9ucy5oOjMzNgorbXNnaWQgImhvdyB0byBzdHJpcCBzcGFjZXMgYW5kICNjb21tZW50cyBmcm9tIG1lc3NhZ2UiCittc2dzdHIgIuioreWumuWmguS9leWIqumZpOaPkOS6pOiqquaYjuijoeeahOepuuagvOWSjCAj5YKZ6Ki7IgorCisjOiBwYXJzZS1vcHRpb25zLmg6MzM3CisjfCBtc2dpZCAicmVhZCBwYXR0ZXJucyBmcm9tIGZpbGUiCittc2dpZCAicmVhZCBwYXRoc3BlYyBmcm9tIGZpbGUiCittc2dzdHIgIuW+nuaqlOahiOiugOWPliA86Lev5b6R6KaP5qC8PiIKKworIzogcGFyc2Utb3B0aW9ucy5oOjMzOAorI3wgbXNnaWQgInBhdGhzIGFyZSBzZXBhcmF0ZWQgd2l0aCBOVUwgY2hhcmFjdGVyIgorbXNnaWQgIiIKKyJ3aXRoIC0tcGF0aHNwZWMtZnJvbS1maWxlLCBwYXRoc3BlYyBlbGVtZW50cyBhcmUgc2VwYXJhdGVkIHdpdGggTlVMIGNoYXJhY3RlciIKK21zZ3N0ciAi5aaC5L2/55SoIC0tcGF0aHNwZWMtZnJvbS1maWxl77yM5YmHIDzot6/lvpHopo/moLw+IOWFg+S7tuacg+S9v+eUqCBOVUwg5a2X5YWD5YiG6ZqUIgorCisjOiByZWYtZmlsdGVyLmg6MTAxCittc2dpZCAia2V5IgorbXNnc3RyICJrZXkiCisKKyM6IHJlZi1maWx0ZXIuaDoxMDEKK21zZ2lkICJmaWVsZCBuYW1lIHRvIHNvcnQgb24iCittc2dzdHIgIuaOkuW6j+eahOashOS9jeWQjSIKKworIzogcmVyZXJlLmg6NDQKK21zZ2lkICJ1cGRhdGUgdGhlIGluZGV4IHdpdGggcmV1c2VkIGNvbmZsaWN0IHJlc29sdXRpb24gaWYgcG9zc2libGUiCittc2dzdHIgIuWmguaenOWPr+iDve+8jOmHjeeUqOihneeqgeino+axuuabtOaWsOe0ouW8lSIKKworIzogd3Qtc3RhdHVzLmg6NjcKK21zZ2lkICJIRUFEIGRldGFjaGVkIGF0ICIKK21zZ3N0ciAi6ZaL6aCt5oyH5qiZ5YiG6Zui5pa8ICIKKworIzogd3Qtc3RhdHVzLmg6NjgKK21zZ2lkICJIRUFEIGRldGFjaGVkIGZyb20gIgorbXNnc3RyICLplovpoK3mjIfmqJnliIbpm6Loh6ogIgorCisjOiBjb21tYW5kLWxpc3QuaDo1MAorbXNnaWQgIkFkZCBmaWxlIGNvbnRlbnRzIHRvIHRoZSBpbmRleCIKK21zZ3N0ciAi5paw5aKe5qqU5qGI5YWn5a656Iez57Si5byVIgorCisjOiBjb21tYW5kLWxpc3QuaDo1MQorbXNnaWQgIkFwcGx5IGEgc2VyaWVzIG9mIHBhdGNoZXMgZnJvbSBhIG1haWxib3giCittc2dzdHIgIuWll+eUqOS/oeeuseagvOW8j+eahOezu+WIl+S/ruijnOaqlCIKKworIzogY29tbWFuZC1saXN0Lmg6NTIKK21zZ2lkICJBbm5vdGF0ZSBmaWxlIGxpbmVzIHdpdGggY29tbWl0IGluZm9ybWF0aW9uIgorbXNnc3RyICLkvb/nlKjmj5DkuqToqIrmga/lgpnoqLvmqpTmoYjooYwiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjUzCittc2dpZCAiQXBwbHkgYSBwYXRjaCB0byBmaWxlcyBhbmQvb3IgdG8gdGhlIGluZGV4IgorbXNnc3RyICLlpZfnlKjkuIDlgIvkv67oo5zmqpTliLDmqpTmoYjlkowv5oiW57Si5byV5Y2AIgorCisjOiBjb21tYW5kLWxpc3QuaDo1NAorbXNnaWQgIkltcG9ydCBhIEdOVSBBcmNoIHJlcG9zaXRvcnkgaW50byBHaXQiCittc2dzdHIgIuWwh+S4gOWAiyBHTlUgQXJjaCDniYjmnKzluqvljK/lhaXliLAgR2l0IgorCisjOiBjb21tYW5kLWxpc3QuaDo1NQorbXNnaWQgIkNyZWF0ZSBhbiBhcmNoaXZlIG9mIGZpbGVzIGZyb20gYSBuYW1lZCB0cmVlIgorbXNnc3RyICLln7rmlrzlkb3lkI3pgY7nmoTmqLnlu7rnq4vmqpTmoYjlsIHlrZgiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjU2Cittc2dpZCAiVXNlIGJpbmFyeSBzZWFyY2ggdG8gZmluZCB0aGUgY29tbWl0IHRoYXQgaW50cm9kdWNlZCBhIGJ1ZyIKK21zZ3N0ciAi6YCP6YGO5LqM5YiG5bCL5om+5a6a5L2N5byV5YWlIGJ1ZyDnmoTmj5DkuqQiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjU3Cittc2dpZCAiU2hvdyB3aGF0IHJldmlzaW9uIGFuZCBhdXRob3IgbGFzdCBtb2RpZmllZCBlYWNoIGxpbmUgb2YgYSBmaWxlIgorbXNnc3RyICLpoa/npLrmqpTmoYjmr4/kuIDooYzmnIDlvozkv67mlLnnmoTniYjmnKzlkozkv67mlLnogIUiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjU4Cittc2dpZCAiTGlzdCwgY3JlYXRlLCBvciBkZWxldGUgYnJhbmNoZXMiCittc2dzdHIgIuWIl+WHuuOAgeW7uueri+aIluWIqumZpOWIhuaUryIKKworIzogY29tbWFuZC1saXN0Lmg6NTkKK21zZ2lkICJNb3ZlIG9iamVjdHMgYW5kIHJlZnMgYnkgYXJjaGl2ZSIKK21zZ3N0ciAi6YCP6YGO5q245qqU56e75YuV54mp5Lu25ZKM5byV55SoIgorCisjOiBjb21tYW5kLWxpc3QuaDo2MAorbXNnaWQgIlByb3ZpZGUgY29udGVudCBvciB0eXBlIGFuZCBzaXplIGluZm9ybWF0aW9uIGZvciByZXBvc2l0b3J5IG9iamVjdHMiCittc2dzdHIgIuaPkOS+m+eJiOacrOW6q+eJqeS7tueahOWFp+WuueOAgemhnuWei+aIluWkp+WwjyIKKworIzogY29tbWFuZC1saXN0Lmg6NjEKK21zZ2lkICJEaXNwbGF5IGdpdGF0dHJpYnV0ZXMgaW5mb3JtYXRpb24iCittc2dzdHIgIumhr+ekuiBnaXRhdHRyaWJ1dGVzIOioiuaBryIKKworIzogY29tbWFuZC1saXN0Lmg6NjIKK21zZ2lkICJEZWJ1ZyBnaXRpZ25vcmUgLyBleGNsdWRlIGZpbGVzIgorbXNnc3RyICLpmaTpjK8gZ2l0aWdub3JlIC8gZXhjbHVkZSDmqpTmoYgiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjYzCittc2dpZCAiU2hvdyBjYW5vbmljYWwgbmFtZXMgYW5kIGVtYWlsIGFkZHJlc3NlcyBvZiBjb250YWN0cyIKK21zZ3N0ciAi6aGv56S66IGv57Wh5Lq655qE6KaP56+E5ZCN56ix5ZKM6Zu75a2Q5L+h5Lu2IgorCisjOiBjb21tYW5kLWxpc3QuaDo2NAorbXNnaWQgIlN3aXRjaCBicmFuY2hlcyBvciByZXN0b3JlIHdvcmtpbmcgdHJlZSBmaWxlcyIKK21zZ3N0ciAi5YiH5o+b5YiG5pSv5oiW5b6p5Y6f5bel5L2c5Y2A5qqU5qGIIgorCisjOiBjb21tYW5kLWxpc3QuaDo2NQorbXNnaWQgIkNvcHkgZmlsZXMgZnJvbSB0aGUgaW5kZXggdG8gdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAi5b6e57Si5byV6KSH6KO95qqU5qGI5Yiw5bel5L2c5Y2AIgorCisjOiBjb21tYW5kLWxpc3QuaDo2NgorbXNnaWQgIkVuc3VyZXMgdGhhdCBhIHJlZmVyZW5jZSBuYW1lIGlzIHdlbGwgZm9ybWVkIgorbXNnc3RyICLnorrkv53lvJXnlKjlkI3nqLHmoLzlvI/mraPnoroiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjY3Cittc2dpZCAiRmluZCBjb21taXRzIHlldCB0byBiZSBhcHBsaWVkIHRvIHVwc3RyZWFtIgorbXNnc3RyICLlsIvmib7lsJrmnKrlpZfnlKjliLDkuIrmuLjnmoTmj5DkuqQiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjY4Cittc2dpZCAiQXBwbHkgdGhlIGNoYW5nZXMgaW50cm9kdWNlZCBieSBzb21lIGV4aXN0aW5nIGNvbW1pdHMiCittc2dzdHIgIuaHieeUqOS4gOS6m+ePvuWtmOaPkOS6pOW8leWFpeeahOS/ruaUuSIKKworIzogY29tbWFuZC1saXN0Lmg6NjkKK21zZ2lkICJHcmFwaGljYWwgYWx0ZXJuYXRpdmUgdG8gZ2l0LWNvbW1pdCIKK21zZ3N0ciAiZ2l0LWNvbW1pdCDnmoTlnJblvaLmm7/ku6Pku4vpnaIiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjcwCittc2dpZCAiUmVtb3ZlIHVudHJhY2tlZCBmaWxlcyBmcm9tIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgIuW+nuW3peS9nOWNgOS4reWIqumZpOacqui/vei5pOaqlOahiCIKKworIzogY29tbWFuZC1saXN0Lmg6NzEKK21zZ2lkICJDbG9uZSBhIHJlcG9zaXRvcnkgaW50byBhIG5ldyBkaXJlY3RvcnkiCittc2dzdHIgIuikh+ijveeJiOacrOW6q+WIsOS4gOWAi+aWsOebrumMhCIKKworIzogY29tbWFuZC1saXN0Lmg6NzIKK21zZ2lkICJEaXNwbGF5IGRhdGEgaW4gY29sdW1ucyIKK21zZ3N0ciAi5Lul5YiX55qE5pa55byP6aGv56S66LOH5paZIgorCisjOiBjb21tYW5kLWxpc3QuaDo3MworbXNnaWQgIlJlY29yZCBjaGFuZ2VzIHRvIHRoZSByZXBvc2l0b3J5IgorbXNnc3RyICLoqJjpjITorormm7TliLDniYjmnKzluqsiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjc0Cittc2dpZCAiV3JpdGUgYW5kIHZlcmlmeSBHaXQgY29tbWl0LWdyYXBoIGZpbGVzIgorbXNnc3RyICLlr6vlhaXlkozpqZforYkgR2l0IOaPkOS6pOWcluaqlOahiCIKKworIzogY29tbWFuZC1saXN0Lmg6NzUKK21zZ2lkICJDcmVhdGUgYSBuZXcgY29tbWl0IG9iamVjdCIKK21zZ3N0ciAi5bu656uL5LiA5YCL5paw55qE5o+Q5Lqk54mp5Lu2IgorCisjOiBjb21tYW5kLWxpc3QuaDo3NgorbXNnaWQgIkdldCBhbmQgc2V0IHJlcG9zaXRvcnkgb3IgZ2xvYmFsIG9wdGlvbnMiCittc2dzdHIgIuWPluW+l+WSjOioreWumueJiOacrOW6q+aIluiAheWFqOWfn+mBuOmghSIKKworIzogY29tbWFuZC1saXN0Lmg6NzcKK21zZ2lkICJDb3VudCB1bnBhY2tlZCBudW1iZXIgb2Ygb2JqZWN0cyBhbmQgdGhlaXIgZGlzayBjb25zdW1wdGlvbiIKK21zZ3N0ciAi6KiI566X5pyq5omT5YyF54mp5Lu255qE5pW46YeP5ZKM56OB56Kf56m66ZaT5Y2g55SoIgorCisjOiBjb21tYW5kLWxpc3QuaDo3OAorbXNnaWQgIlJldHJpZXZlIGFuZCBzdG9yZSB1c2VyIGNyZWRlbnRpYWxzIgorbXNnc3RyICLmqqLntKLlkozlhLLlrZjkvb/nlKjogIXlr4bnorwiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjc5Cittc2dpZCAiSGVscGVyIHRvIHRlbXBvcmFyaWx5IHN0b3JlIHBhc3N3b3JkcyBpbiBtZW1vcnkiCittc2dzdHIgIuWcqOiomOaGtumrlOS4reaaq+aZguWEsuWtmOWvhueivOeahOWKqeaJiyIKKworIzogY29tbWFuZC1saXN0Lmg6ODAKK21zZ2lkICJIZWxwZXIgdG8gc3RvcmUgY3JlZGVudGlhbHMgb24gZGlzayIKK21zZ3N0ciAi5Zyo56OB56Kf5YSy5a2Y5a+G56K855qE5Yqp5omLIgorCisjOiBjb21tYW5kLWxpc3QuaDo4MQorbXNnaWQgIkV4cG9ydCBhIHNpbmdsZSBjb21taXQgdG8gYSBDVlMgY2hlY2tvdXQiCittc2dzdHIgIuWwh+S4gOWAi+aPkOS6pOWMr+WHuuWIsCBDVlMg57C95Ye65LitIgorCisjOiBjb21tYW5kLWxpc3QuaDo4MgorbXNnaWQgIlNhbHZhZ2UgeW91ciBkYXRhIG91dCBvZiBhbm90aGVyIFNDTSBwZW9wbGUgbG92ZSB0byBoYXRlIgorbXNnc3RyICLlvp7lj6blpJbkuIDlgIvkurrlgJHmhJvmgajnmoToqK3lrprnrqHnkIbns7vntbHkuK3mi6/mlZHkvaDnmoTos4fmlpkiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjgzCittc2dpZCAiQSBDVlMgc2VydmVyIGVtdWxhdG9yIGZvciBHaXQiCittc2dzdHIgIkdpdCDnmoTkuIDlgIsgQ1ZTIOacjeWLmeaooeaTrOWZqCIKKworIzogY29tbWFuZC1saXN0Lmg6ODQKK21zZ2lkICJBIHJlYWxseSBzaW1wbGUgc2VydmVyIGZvciBHaXQgcmVwb3NpdG9yaWVzIgorbXNnc3RyICLkuIDlgIvpnZ7luLjnsKHllq7nmoQgR2l0IOeJiOacrOW6q+S8uuacjeWZqCIKKworIzogY29tbWFuZC1saXN0Lmg6ODUKK21zZ2lkICJHaXZlIGFuIG9iamVjdCBhIGh1bWFuIHJlYWRhYmxlIG5hbWUgYmFzZWQgb24gYW4gYXZhaWxhYmxlIHJlZiIKK21zZ3N0ciAi5Z+65pa85LiA5YCL54++5a2Y55qE5byV55So54K65LiA5YCL54mp5Lu26LW35LiA5YCL5Y+v6K6A55qE5ZCN56ixIgorCisjOiBjb21tYW5kLWxpc3QuaDo4NgorbXNnaWQgIlNob3cgY2hhbmdlcyBiZXR3ZWVuIGNvbW1pdHMsIGNvbW1pdCBhbmQgd29ya2luZyB0cmVlLCBldGMiCittc2dzdHIgIumhr+ekuuaPkOS6pOS5i+mWk+OAgeaPkOS6pOWSjOW3peS9nOWNgOS5i+mWk+etieeahOW3rueVsCIKKworIzogY29tbWFuZC1saXN0Lmg6ODcKK21zZ2lkICJDb21wYXJlcyBmaWxlcyBpbiB0aGUgd29ya2luZyB0cmVlIGFuZCB0aGUgaW5kZXgiCittc2dzdHIgIuavlOi8g+W3peS9nOWNgOWSjOe0ouW8leWNgOS4reeahOaqlOahiCIKKworIzogY29tbWFuZC1saXN0Lmg6ODgKK21zZ2lkICJDb21wYXJlIGEgdHJlZSB0byB0aGUgd29ya2luZyB0cmVlIG9yIGluZGV4IgorbXNnc3RyICLlsIfkuIDlgIvmqLnlkozlt6XkvZzljYDmiJbntKLlvJXlgZrmr5TovIMiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjg5Cittc2dpZCAiQ29tcGFyZXMgdGhlIGNvbnRlbnQgYW5kIG1vZGUgb2YgYmxvYnMgZm91bmQgdmlhIHR3byB0cmVlIG9iamVjdHMiCittc2dzdHIgIuavlOi8g+WFqeWAi+aoueeLgOeJqeS7tueahOaqlOahiOWFp+WuueWSjOaooeW8jyIKKworIzogY29tbWFuZC1saXN0Lmg6OTAKK21zZ2lkICJTaG93IGNoYW5nZXMgdXNpbmcgY29tbW9uIGRpZmYgdG9vbHMiCittc2dzdHIgIuS9v+eUqOW4uOimi+eahOW3rueVsOW3peWFt+mhr+ekuuabtOaUuSIKKworIzogY29tbWFuZC1saXN0Lmg6OTEKK21zZ2lkICJHaXQgZGF0YSBleHBvcnRlciIKK21zZ3N0ciAiR2l0IOizh+aWmeWMr+WHuuWZqCIKKworIzogY29tbWFuZC1saXN0Lmg6OTIKK21zZ2lkICJCYWNrZW5kIGZvciBmYXN0IEdpdCBkYXRhIGltcG9ydGVycyIKK21zZ3N0ciAiR2l0IOW/q+mAn+izh+aWmeWMr+WFpeWZqOW+jOerryIKKworIzogY29tbWFuZC1saXN0Lmg6OTMKK21zZ2lkICJEb3dubG9hZCBvYmplY3RzIGFuZCByZWZzIGZyb20gYW5vdGhlciByZXBvc2l0b3J5IgorbXNnc3RyICLlvp7lj6blpJbkuIDlgIvniYjmnKzluqvkuIvovInnianku7blkozlvJXnlKgiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjk0Cittc2dpZCAiUmVjZWl2ZSBtaXNzaW5nIG9iamVjdHMgZnJvbSBhbm90aGVyIHJlcG9zaXRvcnkiCittc2dzdHIgIuW+nuWPpuS4gOWAi+eJiOacrOW6q+WPluW+l+e8uuWwkeeahOeJqeS7tiIKKworIzogY29tbWFuZC1saXN0Lmg6OTUKK21zZ2lkICJSZXdyaXRlIGJyYW5jaGVzIgorbXNnc3RyICLph43lr6vliIbmlK8iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjk2Cittc2dpZCAiUHJvZHVjZSBhIG1lcmdlIGNvbW1pdCBtZXNzYWdlIgorbXNnc3RyICLnlJ/miJDkuIDlgIvlkIjkvbXmj5DkuqToqIrmga8iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjk3Cittc2dpZCAiT3V0cHV0IGluZm9ybWF0aW9uIG9uIGVhY2ggcmVmIgorbXNnc3RyICLlsI3mr4/kuIDlgIvlvJXnlKjovLjlh7roqIrmga8gIgorCisjOiBjb21tYW5kLWxpc3QuaDo5OAorbXNnaWQgIlByZXBhcmUgcGF0Y2hlcyBmb3IgZS1tYWlsIHN1Ym1pc3Npb24iCittc2dzdHIgIua6luWCmembu+WtkOS/oeS7tuaPkOS6pOeahOS/ruijnOaqlCIKKworIzogY29tbWFuZC1saXN0Lmg6OTkKK21zZ2lkICJWZXJpZmllcyB0aGUgY29ubmVjdGl2aXR5IGFuZCB2YWxpZGl0eSBvZiB0aGUgb2JqZWN0cyBpbiB0aGUgZGF0YWJhc2UiCittc2dzdHIgIumpl+itieeJiOacrOW6q+S4reeJqeS7tueahOmAo+mAmuaAp+WSjOacieaViOaApyIKKworIzogY29tbWFuZC1saXN0Lmg6MTAwCittc2dpZCAiQ2xlYW51cCB1bm5lY2Vzc2FyeSBmaWxlcyBhbmQgb3B0aW1pemUgdGhlIGxvY2FsIHJlcG9zaXRvcnkiCittc2dzdHIgIua4hemZpOS4jeW/heimgeeahOaqlOahiOWSjOacgOS9s+WMluacrOapn+eJiOacrOW6qyIKKworIzogY29tbWFuZC1saXN0Lmg6MTAxCittc2dpZCAiRXh0cmFjdCBjb21taXQgSUQgZnJvbSBhbiBhcmNoaXZlIGNyZWF0ZWQgdXNpbmcgZ2l0LWFyY2hpdmUiCittc2dzdHIgIuW+niBnaXQtYXJjaGl2ZSDlu7rnq4vnmoTmrbjmqpTmqpTmoYjkuK3mk7flj5bmj5DkuqQgSUQiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEwMgorbXNnaWQgIlByaW50IGxpbmVzIG1hdGNoaW5nIGEgcGF0dGVybiIKK21zZ3N0ciAi6Ly45Ye65ZKM5qih5byP56ym5ZCI55qE6KGMIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMDMKK21zZ2lkICJBIHBvcnRhYmxlIGdyYXBoaWNhbCBpbnRlcmZhY2UgdG8gR2l0IgorbXNnc3RyICLkuIDlgIvkvr/mlJznmoQgR2l0IOWcluW9oueUqOaItuerryIKKworIzogY29tbWFuZC1saXN0Lmg6MTA0Cittc2dpZCAiQ29tcHV0ZSBvYmplY3QgSUQgYW5kIG9wdGlvbmFsbHkgY3JlYXRlcyBhIGJsb2IgZnJvbSBhIGZpbGUiCittc2dzdHIgIuW+nuS4gOWAi+aqlOahiOioiOeul+eJqeS7tiBJRO+8jOS4puWPr+S7peW7uueriyBibG9iIOizh+aWmeeJqeS7tiIKKworIzogY29tbWFuZC1saXN0Lmg6MTA1Cittc2dpZCAiRGlzcGxheSBoZWxwIGluZm9ybWF0aW9uIGFib3V0IEdpdCIKK21zZ3N0ciAi6aGv56S6IEdpdCDnmoToqqrmmI7oqIrmga8iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEwNgorbXNnaWQgIlNlcnZlciBzaWRlIGltcGxlbWVudGF0aW9uIG9mIEdpdCBvdmVyIEhUVFAiCittc2dzdHIgIkdpdCBIVFRQIOWNlOWumueahOacjeWLmeerr+WvpuePviIKKworIzogY29tbWFuZC1saXN0Lmg6MTA3Cittc2dpZCAiRG93bmxvYWQgZnJvbSBhIHJlbW90ZSBHaXQgcmVwb3NpdG9yeSB2aWEgSFRUUCIKK21zZ3N0ciAi6YCa6YGOIEhUVFAg5b6e6YGg56uvIEdpdCDniYjmnKzluqvkuIvovIkiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEwOAorbXNnaWQgIlB1c2ggb2JqZWN0cyBvdmVyIEhUVFAvREFWIHRvIGFub3RoZXIgcmVwb3NpdG9yeSIKK21zZ3N0ciAi6YCa6YGOIEhUVFAvREFWIOaOqOmAgeeJqeS7tuWPpuS4gOWAi+eJiOacrOW6qyIKKworIzogY29tbWFuZC1saXN0Lmg6MTA5Cittc2dpZCAiU2VuZCBhIGNvbGxlY3Rpb24gb2YgcGF0Y2hlcyBmcm9tIHN0ZGluIHRvIGFuIElNQVAgZm9sZGVyIgorbXNnc3RyICLlvp7mqJnmupbovLjlhaXlsIfkuIDntYTkv67oo5zmqpTlgrPpgIHliLBJTUFQ6LOH5paZ5aS+IgorCisjOiBjb21tYW5kLWxpc3QuaDoxMTAKK21zZ2lkICJCdWlsZCBwYWNrIGluZGV4IGZpbGUgZm9yIGFuIGV4aXN0aW5nIHBhY2tlZCBhcmNoaXZlIgorbXNnc3RyICLlvp7kuIDlgIvnj77lrZjnmoTljIXlrZjmqpTmqpTmoYjlu7rnq4vljIXntKLlvJUiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjExMQorbXNnaWQgIkNyZWF0ZSBhbiBlbXB0eSBHaXQgcmVwb3NpdG9yeSBvciByZWluaXRpYWxpemUgYW4gZXhpc3Rpbmcgb25lIgorbXNnc3RyICLlu7rnq4vkuIDlgIvnqbrnmoQgR2l0IOeJiOacrOW6q+aIlumHjeaWsOWIneWni+WMluS4gOWAi+W3suWtmOWcqOeahOeJiOacrOW6qyIKKworIzogY29tbWFuZC1saXN0Lmg6MTEyCittc2dpZCAiSW5zdGFudGx5IGJyb3dzZSB5b3VyIHdvcmtpbmcgcmVwb3NpdG9yeSBpbiBnaXR3ZWIiCittc2dzdHIgIuWcqCBnaXR3ZWIg5Lit5Y2z5pmC54CP6Ka95oKo55qE5bel5L2c54mI5pys5bqrIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMTMKK21zZ2lkICJBZGQgb3IgcGFyc2Ugc3RydWN0dXJlZCBpbmZvcm1hdGlvbiBpbiBjb21taXQgbWVzc2FnZXMiCittc2dzdHIgIuaWsOWinuaIluino+aekOaPkOS6pOiqquaYjuS4reeahOe1kOani+WMluioiuaBryIKKworIzogY29tbWFuZC1saXN0Lmg6MTE0Cittc2dpZCAiVGhlIEdpdCByZXBvc2l0b3J5IGJyb3dzZXIiCittc2dzdHIgIkdpdCDniYjmnKzluqvngI/opr3lmagiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjExNQorbXNnaWQgIlNob3cgY29tbWl0IGxvZ3MiCittc2dzdHIgIumhr+ekuuaPkOS6pOaXpeiqjCIKKworIzogY29tbWFuZC1saXN0Lmg6MTE2Cittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBhYm91dCBmaWxlcyBpbiB0aGUgaW5kZXggYW5kIHRoZSB3b3JraW5nIHRyZWUiCittc2dzdHIgIumhr+ekuue0ouW8leWSjOW3peS9nOWNgOS4reaqlOahiOeahOioiuaBryIKKworIzogY29tbWFuZC1saXN0Lmg6MTE3Cittc2dpZCAiTGlzdCByZWZlcmVuY2VzIGluIGEgcmVtb3RlIHJlcG9zaXRvcnkiCittc2dzdHIgIumhr+ekuuS4gOWAi+mBoOerr+eJiOacrOW6q+eahOW8leeUqCIKKworIzogY29tbWFuZC1saXN0Lmg6MTE4Cittc2dpZCAiTGlzdCB0aGUgY29udGVudHMgb2YgYSB0cmVlIG9iamVjdCIKK21zZ3N0ciAi6aGv56S65LiA5YCL5qi554uA54mp5Lu255qE5YWn5a65IgorCisjOiBjb21tYW5kLWxpc3QuaDoxMTkKK21zZ2lkICJFeHRyYWN0cyBwYXRjaCBhbmQgYXV0aG9yc2hpcCBmcm9tIGEgc2luZ2xlIGUtbWFpbCBtZXNzYWdlIgorbXNnc3RyICLlvp7llq7lgIvpm7vlrZDkv6Hku7bkuK3mk7flj5bkv67oo5zmqpTlkozkvZzogIXouqvku70iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEyMAorbXNnaWQgIlNpbXBsZSBVTklYIG1ib3ggc3BsaXR0ZXIgcHJvZ3JhbSIKK21zZ3N0ciAi57Ch5Zau55qEIFVOSVggbWJveCDkv6HnrrHliIfliIbnqIvlvI8iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEyMQorbXNnaWQgIkpvaW4gdHdvIG9yIG1vcmUgZGV2ZWxvcG1lbnQgaGlzdG9yaWVzIHRvZ2V0aGVyIgorbXNnc3RyICLlkIjkvbXlhanlgIvmiJbmm7TlpJrplovnmbzmrbflj7IiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEyMgorbXNnaWQgIkZpbmQgYXMgZ29vZCBjb21tb24gYW5jZXN0b3JzIGFzIHBvc3NpYmxlIGZvciBhIG1lcmdlIgorbXNnc3RyICLngrrkuoblkIjkvbXlsIvmib7lhJjlj6/og73lpb3nmoTlhazlhbHnpZblhYjmj5DkuqQiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEyMworbXNnaWQgIlJ1biBhIHRocmVlLXdheSBmaWxlIG1lcmdlIgorbXNnc3RyICLln7fooYzkuIDlgIvkuInot6/mqpTmoYjlkIjkvbUiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEyNAorbXNnaWQgIlJ1biBhIG1lcmdlIGZvciBmaWxlcyBuZWVkaW5nIG1lcmdpbmciCittc2dzdHIgIuWwjeaWvOmcgOimgeWQiOS9teeahOaqlOahiOWft+ihjOWQiOS9tSIKKworIzogY29tbWFuZC1saXN0Lmg6MTI1Cittc2dpZCAiVGhlIHN0YW5kYXJkIGhlbHBlciBwcm9ncmFtIHRvIHVzZSB3aXRoIGdpdC1tZXJnZS1pbmRleCIKK21zZ3N0ciAi6IiHIGdpdC1tZXJnZS1pbmRleCDkuIDotbfkvb/nlKjnmoTmqJnmupblmq7lsI7nqIvlvI8iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEyNgorbXNnaWQgIlJ1biBtZXJnZSBjb25mbGljdCByZXNvbHV0aW9uIHRvb2xzIHRvIHJlc29sdmUgbWVyZ2UgY29uZmxpY3RzIgorbXNnc3RyICLln7fooYzlkIjkvbXooZ3nqoHop6Pmsbrlt6Xlhbfku6Xop6PmsbrlkIjkvbXooZ3nqoEiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEyNworbXNnaWQgIlNob3cgdGhyZWUtd2F5IG1lcmdlIHdpdGhvdXQgdG91Y2hpbmcgaW5kZXgiCittc2dzdHIgIumhr+ekuuS4iei3r+WQiOS9teiAjOS4jeWLlee0ouW8lSIKKworIzogY29tbWFuZC1saXN0Lmg6MTI4Cittc2dpZCAiV3JpdGUgYW5kIHZlcmlmeSBtdWx0aS1wYWNrLWluZGV4ZXMiCittc2dzdHIgIuWvq+WFpeWSjOmpl+itieWkmuWMhee0ouW8lSIKKworIzogY29tbWFuZC1saXN0Lmg6MTI5Cittc2dpZCAiQ3JlYXRlcyBhIHRhZyBvYmplY3QiCittc2dzdHIgIuW7uueri+S4gOWAi+aomeexpOeJqeS7tiIKKworIzogY29tbWFuZC1saXN0Lmg6MTMwCittc2dpZCAiQnVpbGQgYSB0cmVlLW9iamVjdCBmcm9tIGxzLXRyZWUgZm9ybWF0dGVkIHRleHQiCittc2dzdHIgIuWfuuaWvCBscy10cmVlIOeahOagvOW8j+WMluaWh+Wtl+W7uueri+S4gOWAi+aoueeLgOeJqeS7tiIKKworIzogY29tbWFuZC1saXN0Lmg6MTMxCittc2dpZCAiTW92ZSBvciByZW5hbWUgYSBmaWxlLCBhIGRpcmVjdG9yeSwgb3IgYSBzeW1saW5rIgorbXNnc3RyICLnp7vli5XmiJbph43mlrDlkb3lkI3kuIDlgIvmqpTmoYjjgIHnm67pjITmiJbnrKbomZ/pgKPntZAiCisKKyMg5bCL5om+5o+Q5L6b54mI5pys55qE56ym6Jmf5ZCN56ixCisjOiBjb21tYW5kLWxpc3QuaDoxMzIKK21zZ2lkICJGaW5kIHN5bWJvbGljIG5hbWVzIGZvciBnaXZlbiByZXZzIgorbXNnc3RyICLlsIvmib7mj5DkvpvniYjmnKznmoTnrKbomZ/lkI3nqLEiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEzMworbXNnaWQgIkFkZCBvciBpbnNwZWN0IG9iamVjdCBub3RlcyIKK21zZ3N0ciAi5paw5aKe5oiW5qqi5p+l54mp5Lu25YKZ6Ki7IgorCisjOiBjb21tYW5kLWxpc3QuaDoxMzQKK21zZ2lkICJJbXBvcnQgZnJvbSBhbmQgc3VibWl0IHRvIFBlcmZvcmNlIHJlcG9zaXRvcmllcyIKK21zZ3N0ciAi5Yyv5YWl5ZKM5o+Q5Lqk5YiwIFBlcmZvcmNlIOeJiOacrOW6q+S4rSIKKworIzogY29tbWFuZC1saXN0Lmg6MTM1Cittc2dpZCAiQ3JlYXRlIGEgcGFja2VkIGFyY2hpdmUgb2Ygb2JqZWN0cyIKK21zZ3N0ciAi5bu656uL54mp5Lu255qE5a2Y5qqU5YyFIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMzYKK21zZ2lkICJGaW5kIHJlZHVuZGFudCBwYWNrIGZpbGVzIgorbXNnc3RyICLlsIvmib7lhpfppJjnmoTljIXmqpTmoYgiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjEzNworbXNnaWQgIlBhY2sgaGVhZHMgYW5kIHRhZ3MgZm9yIGVmZmljaWVudCByZXBvc2l0b3J5IGFjY2VzcyIKK21zZ3N0ciAi5omT5YyF6aCt5ZKM5qiZ57Gk5Lul5a+m54++6auY5pWI55qE54mI5pys5bqr5a2Y5Y+WIgorCisjOiBjb21tYW5kLWxpc3QuaDoxMzgKK21zZ2lkICJSb3V0aW5lcyB0byBoZWxwIHBhcnNpbmcgcmVtb3RlIHJlcG9zaXRvcnkgYWNjZXNzIHBhcmFtZXRlcnMiCittc2dzdHIgIuWNlOWKqeino+aekOmBoOerr+eJiOacrOW6q+WtmOWPluWPg+aVuOeahOS+i+eoiyIKKworIzogY29tbWFuZC1saXN0Lmg6MTM5Cittc2dpZCAiQ29tcHV0ZSB1bmlxdWUgSUQgZm9yIGEgcGF0Y2giCittc2dzdHIgIuioiOeul+S4gOWAi+S/ruijnOaqlOeahOWUr+S4gCBJRCIKKworIzogY29tbWFuZC1saXN0Lmg6MTQwCittc2dpZCAiUHJ1bmUgYWxsIHVucmVhY2hhYmxlIG9iamVjdHMgZnJvbSB0aGUgb2JqZWN0IGRhdGFiYXNlIgorbXNnc3RyICLliKrpmaTnianku7bluqvkuK3miYDmnInnhKHms5Xlj5blvpfnianku7YiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE0MQorbXNnaWQgIlJlbW92ZSBleHRyYSBvYmplY3RzIHRoYXQgYXJlIGFscmVhZHkgaW4gcGFjayBmaWxlcyIKK21zZ3N0ciAi5Yiq6Zmk5bey57aT5Zyo5YyF5qqU5qGI5Lit55qE5aSa6aSY54mp5Lu2IgorCisjOiBjb21tYW5kLWxpc3QuaDoxNDIKK21zZ2lkICJGZXRjaCBmcm9tIGFuZCBpbnRlZ3JhdGUgd2l0aCBhbm90aGVyIHJlcG9zaXRvcnkgb3IgYSBsb2NhbCBicmFuY2giCittc2dzdHIgIuWPluW+l+S4puaVtOWQiOWPpuWklueahOeJiOacrOW6q+aIluS4gOWAi+acrOapn+WIhuaUryIKKworIzogY29tbWFuZC1saXN0Lmg6MTQzCittc2dpZCAiVXBkYXRlIHJlbW90ZSByZWZzIGFsb25nIHdpdGggYXNzb2NpYXRlZCBvYmplY3RzIgorbXNnc3RyICLmm7TmlrDpgaDnq6/lvJXnlKjlkoznm7jpl5znmoTnianku7YiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE0NAorbXNnaWQgIkFwcGxpZXMgYSBxdWlsdCBwYXRjaHNldCBvbnRvIHRoZSBjdXJyZW50IGJyYW5jaCIKK21zZ3N0ciAi5bCH5LiA5YCLIHF1aWx0IOS/ruijnOaqlOmbhuWll+eUqOWIsOebruWJjeWIhuaUr+OAgiIKKworIzogY29tbWFuZC1saXN0Lmg6MTQ1Cittc2dpZCAiQ29tcGFyZSB0d28gY29tbWl0IHJhbmdlcyAoZS5nLiB0d28gdmVyc2lvbnMgb2YgYSBicmFuY2gpIgorbXNnc3RyICLmr5TovIPlhanlgIvmj5DkuqTnr4TlnI3vvIjlpoLkuIDlgIvliIbmlK/nmoTlhanlgIvniYjmnKzvvIkiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE0NgorbXNnaWQgIlJlYWRzIHRyZWUgaW5mb3JtYXRpb24gaW50byB0aGUgaW5kZXgiCittc2dzdHIgIuWwh+aoueioiuaBr+iugOWPluWIsOe0ouW8lSIKKworIzogY29tbWFuZC1saXN0Lmg6MTQ3Cittc2dpZCAiUmVhcHBseSBjb21taXRzIG9uIHRvcCBvZiBhbm90aGVyIGJhc2UgdGlwIgorbXNnc3RyICLlnKjlj6bkuIDlgIvliIbmlK/kuIrph43mlrDmh4nnlKjmj5DkuqQiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE0OAorbXNnaWQgIlJlY2VpdmUgd2hhdCBpcyBwdXNoZWQgaW50byB0aGUgcmVwb3NpdG9yeSIKK21zZ3N0ciAi5o6l5pS25o6o6YCB5Yiw54mI5pys5bqr5Lit55qE54mp5Lu2IgorCisjOiBjb21tYW5kLWxpc3QuaDoxNDkKK21zZ2lkICJNYW5hZ2UgcmVmbG9nIGluZm9ybWF0aW9uIgorbXNnc3RyICLnrqHnkIYgcmVmbG9nIOioiuaBryIKKworIzogY29tbWFuZC1saXN0Lmg6MTUwCittc2dpZCAiTWFuYWdlIHNldCBvZiB0cmFja2VkIHJlcG9zaXRvcmllcyIKK21zZ3N0ciAi566h55CG5bey6L+96Lmk54mI5pys5bqrIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNTEKK21zZ2lkICJQYWNrIHVucGFja2VkIG9iamVjdHMgaW4gYSByZXBvc2l0b3J5IgorbXNnc3RyICLmiZPljIXniYjmnKzluqvkuK3mnKrmiZPljIXnianku7YiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE1MgorbXNnaWQgIkNyZWF0ZSwgbGlzdCwgZGVsZXRlIHJlZnMgdG8gcmVwbGFjZSBvYmplY3RzIgorbXNnc3RyICLlu7rnq4vjgIHliJflh7rjgIHliKrpmaTnianku7blj5bku6PlvJXnlKgiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE1MworbXNnaWQgIkdlbmVyYXRlcyBhIHN1bW1hcnkgb2YgcGVuZGluZyBjaGFuZ2VzIgorbXNnc3RyICLnlJ/miJDlvoXlrprmm7TmlLnnmoTmkZjopoEiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE1NAorbXNnaWQgIlJldXNlIHJlY29yZGVkIHJlc29sdXRpb24gb2YgY29uZmxpY3RlZCBtZXJnZXMiCittc2dzdHIgIumHjeeUqOihneeqgeWQiOS9teeahOino+axuuaWueahiOiomOmMhCIKKworIzogY29tbWFuZC1saXN0Lmg6MTU1Cittc2dpZCAiUmVzZXQgY3VycmVudCBIRUFEIHRvIHRoZSBzcGVjaWZpZWQgc3RhdGUiCittc2dzdHIgIumHjeioreebruWJjSBIRUFEIOWIsOaMh+WumueLgOaFiyIKKworIzogY29tbWFuZC1saXN0Lmg6MTU2Cittc2dpZCAiUmVzdG9yZSB3b3JraW5nIHRyZWUgZmlsZXMiCittc2dzdHIgIuW+qeWOn+W3peS9nOWNgOaqlOahiCIKKworIzogY29tbWFuZC1saXN0Lmg6MTU3Cittc2dpZCAiUmV2ZXJ0IHNvbWUgZXhpc3RpbmcgY29tbWl0cyIKK21zZ3N0ciAi6YKE5Y6f5LiA5Lqb54++5a2Y5o+Q5LqkIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNTgKK21zZ2lkICJMaXN0cyBjb21taXQgb2JqZWN0cyBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXIiCittc2dzdHIgIuaMieaZgumWk+mghuW6j+WIl+WHuuaPkOS6pOeJqeS7tiIKKworIzogY29tbWFuZC1saXN0Lmg6MTU5Cittc2dpZCAiUGljayBvdXQgYW5kIG1hc3NhZ2UgcGFyYW1ldGVycyIKK21zZ3N0ciAi6YG45Ye65Lim6JmV55CG5Y+D5pW4IgorCisjOiBjb21tYW5kLWxpc3QuaDoxNjAKK21zZ2lkICJSZW1vdmUgZmlsZXMgZnJvbSB0aGUgd29ya2luZyB0cmVlIGFuZCBmcm9tIHRoZSBpbmRleCIKK21zZ3N0ciAi5b6e5bel5L2c5Y2A5ZKM57Si5byV5Lit5Yiq6Zmk5qqU5qGIIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNjEKK21zZ2lkICJTZW5kIGEgY29sbGVjdGlvbiBvZiBwYXRjaGVzIGFzIGVtYWlscyIKK21zZ3N0ciAi6YCP6YGO6Zu75a2Q5L+h5Lu25YKz6YCB5LiA57WE5L+u6KOc5qqUIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNjIKK21zZ2lkICJQdXNoIG9iamVjdHMgb3ZlciBHaXQgcHJvdG9jb2wgdG8gYW5vdGhlciByZXBvc2l0b3J5IgorbXNnc3RyICLkvb/nlKggR2l0IOWNlOWumuaOqOmAgeeJqeS7tuWIsOWPpuS4gOWAi+eJiOacrOW6qyIKKworIzogY29tbWFuZC1saXN0Lmg6MTYzCittc2dpZCAiUmVzdHJpY3RlZCBsb2dpbiBzaGVsbCBmb3IgR2l0LW9ubHkgU1NIIGFjY2VzcyIKK21zZ3N0ciAi5Y+q5YWB6KixIEdpdCBTU0gg5a2Y5Y+W55qE5Y+X6ZmQ55m75YWlc2hlbGwiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NAorbXNnaWQgIlN1bW1hcml6ZSAnZ2l0IGxvZycgb3V0cHV0IgorbXNnc3RyICInZ2l0IGxvZycg6Ly45Ye65pGY6KaBIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNjUKK21zZ2lkICJTaG93IHZhcmlvdXMgdHlwZXMgb2Ygb2JqZWN0cyIKK21zZ3N0ciAi6aGv56S65ZCE56iu6aGe5Z6L55qE54mp5Lu2IgorCisjOiBjb21tYW5kLWxpc3QuaDoxNjYKK21zZ2lkICJTaG93IGJyYW5jaGVzIGFuZCB0aGVpciBjb21taXRzIgorbXNnc3RyICLpoa/npLrliIbmlK/lkozmj5DkuqQiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE2NworbXNnaWQgIlNob3cgcGFja2VkIGFyY2hpdmUgaW5kZXgiCittc2dzdHIgIumhr+ekuuaJk+WMheatuOaqlOe0ouW8lSIKKworIzogY29tbWFuZC1saXN0Lmg6MTY4Cittc2dpZCAiTGlzdCByZWZlcmVuY2VzIGluIGEgbG9jYWwgcmVwb3NpdG9yeSIKK21zZ3N0ciAi6aGv56S65pys5qmf54mI5pys5bqr5Lit55qE5byV55SoIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNjkKK21zZ2lkICJHaXQncyBpMThuIHNldHVwIGNvZGUgZm9yIHNoZWxsIHNjcmlwdHMiCittc2dzdHIgIueCuiBzaGVsbCDohbPmnKzmupblgpnnmoQgR2l0IOWci+mam+WMluioreWumueoi+W8j+eivCIKKworIzogY29tbWFuZC1saXN0Lmg6MTcwCittc2dpZCAiQ29tbW9uIEdpdCBzaGVsbCBzY3JpcHQgc2V0dXAgY29kZSIKK21zZ3N0ciAi5bi455So55qEIEdpdCBzaGVsbCDohbPmnKzoqK3lrprnqIvlvI/norwiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MQorbXNnaWQgIkluaXRpYWxpemUgYW5kIG1vZGlmeSB0aGUgc3BhcnNlLWNoZWNrb3V0IgorbXNnc3RyICLliJ3lp4vljJbkuKbkv67mlLnnqIDnlo/nsL3lh7oiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3MgorbXNnaWQgIlN0YXNoIHRoZSBjaGFuZ2VzIGluIGEgZGlydHkgd29ya2luZyBkaXJlY3RvcnkgYXdheSIKK21zZ3N0ciAi5YSy6JeP6auS5bel5L2c5Y2A5Lit55qE5L+u5pS5IgorCisjOiBjb21tYW5kLWxpc3QuaDoxNzMKK21zZ2lkICJBZGQgZmlsZSBjb250ZW50cyB0byB0aGUgc3RhZ2luZyBhcmVhIgorbXNnc3RyICLlsIfmqpTmoYjlhaflrrnmlrDlop7liLDntKLlvJUiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3NAorbXNnaWQgIlNob3cgdGhlIHdvcmtpbmcgdHJlZSBzdGF0dXMiCittc2dzdHIgIumhr+ekuuW3peS9nOWNgOeLgOaFiyIKKworIzogY29tbWFuZC1saXN0Lmg6MTc1Cittc2dpZCAiUmVtb3ZlIHVubmVjZXNzYXJ5IHdoaXRlc3BhY2UiCittc2dzdHIgIuWIqumZpOS4jeW/heimgeeahOepuueZveWtl+WFgyIKKworIzogY29tbWFuZC1saXN0Lmg6MTc2Cittc2dpZCAiSW5pdGlhbGl6ZSwgdXBkYXRlIG9yIGluc3BlY3Qgc3VibW9kdWxlcyIKK21zZ3N0ciAi5Yid5aeL5YyW44CB5pu05paw5oiW5qqi5p+l5a2Q5qih57WEIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNzcKK21zZ2lkICJCaWRpcmVjdGlvbmFsIG9wZXJhdGlvbiBiZXR3ZWVuIGEgU3VidmVyc2lvbiByZXBvc2l0b3J5IGFuZCBHaXQiCittc2dzdHIgIlN1YnZlcnNpb24g54mI5pys5bqr5ZKMIEdpdCDkuYvplpPnmoTpm5nlkJHli5XkvZwiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE3OAorbXNnaWQgIlN3aXRjaCBicmFuY2hlcyIKK21zZ3N0ciAi5YiH5o+b5YiG5pSvIgorCisjOiBjb21tYW5kLWxpc3QuaDoxNzkKK21zZ2lkICJSZWFkLCBtb2RpZnkgYW5kIGRlbGV0ZSBzeW1ib2xpYyByZWZzIgorbXNnc3RyICLoroDlj5bjgIHkv67mlLnlkozliKrpmaTnrKbomZ/lvJXnlKgiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE4MAorbXNnaWQgIkNyZWF0ZSwgbGlzdCwgZGVsZXRlIG9yIHZlcmlmeSBhIHRhZyBvYmplY3Qgc2lnbmVkIHdpdGggR1BHIgorbXNnc3RyICLlu7rnq4vjgIHliJflh7rjgIHliKrpmaTmiJbpqZforYnkuIDlgIsgR1BHIOewveWQjeeahOaomeexpOeJqeS7tiIKKworIzogY29tbWFuZC1saXN0Lmg6MTgxCittc2dpZCAiQ3JlYXRlcyBhIHRlbXBvcmFyeSBmaWxlIHdpdGggYSBibG9iJ3MgY29udGVudHMiCittc2dzdHIgIueUqCBibG9iIOizh+aWmeeJqeS7tueahOWFp+WuueW7uueri+S4gOWAi+aaq+WtmOaqlCIKKworIzogY29tbWFuZC1saXN0Lmg6MTgyCittc2dpZCAiVW5wYWNrIG9iamVjdHMgZnJvbSBhIHBhY2tlZCBhcmNoaXZlIgorbXNnc3RyICLlvp7miZPljIXmqpTmoYjkuK3op6Plo5PnuK7nianku7YiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE4MworbXNnaWQgIlJlZ2lzdGVyIGZpbGUgY29udGVudHMgaW4gdGhlIHdvcmtpbmcgdHJlZSB0byB0aGUgaW5kZXgiCittc2dzdHIgIuWwh+W3peS9nOWNgOeahOaqlOahiOWFp+Wuueiou+WGiuWIsOe0ouW8lSIKKworIzogY29tbWFuZC1saXN0Lmg6MTg0Cittc2dpZCAiVXBkYXRlIHRoZSBvYmplY3QgbmFtZSBzdG9yZWQgaW4gYSByZWYgc2FmZWx5IgorbXNnc3RyICLlronlhajlnLDmm7TmlrDlhLLlrZjmlrzlvJXnlKjkuK3nmoTnianku7blkI3nqLEiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE4NQorbXNnaWQgIlVwZGF0ZSBhdXhpbGlhcnkgaW5mbyBmaWxlIHRvIGhlbHAgZHVtYiBzZXJ2ZXJzIgorbXNnc3RyICLmm7TmlrDovJTliqnoqIrmga/mqpTmoYjku6XljZTliqnllZ7ljZTlrprmnI3li5kiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE4NgorbXNnaWQgIlNlbmQgYXJjaGl2ZSBiYWNrIHRvIGdpdC1hcmNoaXZlIgorbXNnc3RyICLlsIflrZjmqpTlgrPpgIHlm54gZ2l0LWFyY2hpdmUiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE4NworbXNnaWQgIlNlbmQgb2JqZWN0cyBwYWNrZWQgYmFjayB0byBnaXQtZmV0Y2gtcGFjayIKK21zZ3N0ciAi5bCH54mp5Lu25aOT57iu5YyF5YKz6YCB5ZueIGdpdC1mZXRjaC1wYWNrIgorCisjOiBjb21tYW5kLWxpc3QuaDoxODgKK21zZ2lkICJTaG93IGEgR2l0IGxvZ2ljYWwgdmFyaWFibGUiCittc2dzdHIgIumhr+ekuiBHaXQg6YKP6Lyv6K6K5pW4IgorCisjOiBjb21tYW5kLWxpc3QuaDoxODkKK21zZ2lkICJDaGVjayB0aGUgR1BHIHNpZ25hdHVyZSBvZiBjb21taXRzIgorbXNnc3RyICLmqqLmn6UgR1BHIOaPkOS6pOewveWQjSIKKworIzogY29tbWFuZC1saXN0Lmg6MTkwCittc2dpZCAiVmFsaWRhdGUgcGFja2VkIEdpdCBhcmNoaXZlIGZpbGVzIgorbXNnc3RyICLpqZforYnmiZPljIXnmoQgR2l0IOWwgeWtmOaqlOahiCIKKworIzogY29tbWFuZC1saXN0Lmg6MTkxCittc2dpZCAiQ2hlY2sgdGhlIEdQRyBzaWduYXR1cmUgb2YgdGFncyIKK21zZ3N0ciAi5qqi5p+l5qiZ57Gk55qEIEdQRyDnsL3lkI0iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE5MgorbXNnaWQgIkdpdCB3ZWIgaW50ZXJmYWNlICh3ZWIgZnJvbnRlbmQgdG8gR2l0IHJlcG9zaXRvcmllcykiCittc2dzdHIgIkdpdCB3ZWIg5LuL6Z2i77yIR2l0IOeJiOacrOW6q+eahCB3ZWIg5YmN56uv77yJIgorCisjOiBjb21tYW5kLWxpc3QuaDoxOTMKK21zZ2lkICJTaG93IGxvZ3Mgd2l0aCBkaWZmZXJlbmNlIGVhY2ggY29tbWl0IGludHJvZHVjZXMiCittc2dzdHIgIumhr+ekuuavj+S4gOWAi+aPkOS6pOW8leWFpeeahOW3rueVsOaXpeiqjCIKKworIzogY29tbWFuZC1saXN0Lmg6MTk0Cittc2dpZCAiTWFuYWdlIG11bHRpcGxlIHdvcmtpbmcgdHJlZXMiCittc2dzdHIgIueuoeeQhuWkmuWAi+W3peS9nOWNgCIKKworIzogY29tbWFuZC1saXN0Lmg6MTk1Cittc2dpZCAiQ3JlYXRlIGEgdHJlZSBvYmplY3QgZnJvbSB0aGUgY3VycmVudCBpbmRleCIKK21zZ3N0ciAi5b6e55uu5YmN57Si5byV5bu656uL5LiA5YCL5qi554uA54mp5Lu2IgorCisjOiBjb21tYW5kLWxpc3QuaDoxOTYKK21zZ2lkICJEZWZpbmluZyBhdHRyaWJ1dGVzIHBlciBwYXRoIgorbXNnc3RyICLlrprnvqnot6/lvpHnmoTlsazmgKciCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE5NworbXNnaWQgIkdpdCBjb21tYW5kLWxpbmUgaW50ZXJmYWNlIGFuZCBjb252ZW50aW9ucyIKK21zZ3N0ciAiR2l0IOaMh+S7pOWIl+S7i+mdouWSjOe0hOWumiIKKworIzogY29tbWFuZC1saXN0Lmg6MTk4Cittc2dpZCAiQSBHaXQgY29yZSB0dXRvcmlhbCBmb3IgZGV2ZWxvcGVycyIKK21zZ3N0ciAi6Z2i5ZCR6ZaL55m85Lq65ZOh55qEIEdpdCDmoLjlv4PmlZnlrbgiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjE5OQorbXNnaWQgIkdpdCBmb3IgQ1ZTIHVzZXJzIgorbXNnc3RyICLpganlkIggQ1ZTIOS9v+eUqOiAheeahCBHaXQg5Y2U5YqpIgorCisjOiBjb21tYW5kLWxpc3QuaDoyMDAKK21zZ2lkICJUd2Vha2luZyBkaWZmIG91dHB1dCIKK21zZ3N0ciAi6Kq/5pW05beu55Ww6Ly45Ye6IgorCisjOiBjb21tYW5kLWxpc3QuaDoyMDEKK21zZ2lkICJBIHVzZWZ1bCBtaW5pbXVtIHNldCBvZiBjb21tYW5kcyBmb3IgRXZlcnlkYXkgR2l0IgorbXNnc3RyICLmr4/kuIDlpKkgR2l0IOeahOS4gOe1hOacieeUqOeahOacgOWwj+aMh+S7pOmbhuWQiCIKKworIzogY29tbWFuZC1saXN0Lmg6MjAyCittc2dpZCAiQSBHaXQgR2xvc3NhcnkiCittc2dzdHIgIkdpdCDoqZ7lvZnooagiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjIwMworbXNnaWQgIkhvb2tzIHVzZWQgYnkgR2l0IgorbXNnc3RyICJHaXQg5L2/55So55qE5o6b6YmkIgorCisjOiBjb21tYW5kLWxpc3QuaDoyMDQKK21zZ2lkICJTcGVjaWZpZXMgaW50ZW50aW9uYWxseSB1bnRyYWNrZWQgZmlsZXMgdG8gaWdub3JlIgorbXNnc3RyICLlv73nlaXmjIflrprnmoTmnKrov73ouaTmqpTmoYgiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjIwNQorbXNnaWQgIkRlZmluaW5nIHN1Ym1vZHVsZSBwcm9wZXJ0aWVzIgorbXNnc3RyICLlrprnvqnlrZDmqKHntYTlsazmgKciCisKKyM6IGNvbW1hbmQtbGlzdC5oOjIwNgorbXNnaWQgIkdpdCBuYW1lc3BhY2VzIgorbXNnc3RyICJHaXQg5ZCN5a2X56m66ZaTIgorCisjOiBjb21tYW5kLWxpc3QuaDoyMDcKK21zZ2lkICJHaXQgUmVwb3NpdG9yeSBMYXlvdXQiCittc2dzdHIgIkdpdCDniYjmnKzluqvphY3nva4iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjIwOAorbXNnaWQgIlNwZWNpZnlpbmcgcmV2aXNpb25zIGFuZCByYW5nZXMgZm9yIEdpdCIKK21zZ3N0ciAi5oyH5a6aIEdpdCDnmoTniYjmnKzlkozniYjmnKznr4TlnI0iCisKKyM6IGNvbW1hbmQtbGlzdC5oOjIwOQorbXNnaWQgIk1vdW50aW5nIG9uZSByZXBvc2l0b3J5IGluc2lkZSBhbm90aGVyIgorbXNnc3RyICLlnKjmn5DlgIvniYjmnKzluqvmjpvovInmn5DlgIvniYjmnKzluqsiCisKKyM6IGNvbW1hbmQtbGlzdC5oOjIxMAorbXNnaWQgIkEgdHV0b3JpYWwgaW50cm9kdWN0aW9uIHRvIEdpdDogcGFydCB0d28iCittc2dzdHIgIuS4gOWAiyBHaXQg5pWZ5a2477ya56ys5LqM6YOo5YiGIgorCisjOiBjb21tYW5kLWxpc3QuaDoyMTEKK21zZ2lkICJBIHR1dG9yaWFsIGludHJvZHVjdGlvbiB0byBHaXQiCittc2dzdHIgIuS4gOWAiyBHaXQg5pWZ5a24IgorCisjOiBjb21tYW5kLWxpc3QuaDoyMTIKK21zZ2lkICJBbiBvdmVydmlldyBvZiByZWNvbW1lbmRlZCB3b3JrZmxvd3Mgd2l0aCBHaXQiCittc2dzdHIgIkdpdCDmjqjolqbnmoTlt6XkvZzmtYHmpoLopr0iCisKKyM6IGdpdC1iaXNlY3Quc2g6NTQKK21zZ2lkICJZb3UgbmVlZCB0byBzdGFydCBieSBcImdpdCBiaXNlY3Qgc3RhcnRcIiIKK21zZ3N0ciAi5oKo6ZyA6KaB5Z+36KGMIFwiZ2l0IGJpc2VjdCBzdGFydFwiIOS+humWi+WniyIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5Y+l5bC+56m65qC8CisjLiBUUkFOU0xBVE9SUzogTWFrZSBzdXJlIHRvIGluY2x1ZGUgW1ldIGFuZCBbbl0gaW4geW91cgorIy4gdHJhbnNsYXRpb24uIFRoZSBwcm9ncmFtIHdpbGwgb25seSBhY2NlcHQgRW5nbGlzaCBpbnB1dAorIy4gYXQgdGhpcyBwb2ludC4KKyM6IGdpdC1iaXNlY3Quc2g6NjAKK21zZ2lkICJEbyB5b3Ugd2FudCBtZSB0byBkbyBpdCBmb3IgeW91IFtZL25dPyAiCittc2dzdHIgIuaCqOaDs+iuk+aIkeeCuuaCqOmAmeaoo+WBmuWXjltZL25d77yfICIKKworIzogZ2l0LWJpc2VjdC5zaDoxMDEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkJhZCByZXYgaW5wdXQ6ICRhcmciCittc2dzdHIgIuWjnueahOi8uOWFpeeJiOacrO+8miRhcmciCisKKyM6IGdpdC1iaXNlY3Quc2g6MTIxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJCYWQgcmV2IGlucHV0OiAkYmlzZWN0ZWRfaGVhZCIKK21zZ3N0ciAi5aOe55qE6Ly45YWl54mI5pys77yaJGJpc2VjdGVkX2hlYWQiCisKKyM6IGdpdC1iaXNlY3Quc2g6MTMwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJCYWQgcmV2IGlucHV0OiAkcmV2IgorbXNnc3RyICLlo57nmoTovLjlhaXniYjmnKzvvJokcmV2IgorCisjOiBnaXQtYmlzZWN0LnNoOjEzOQorIywgc2gtZm9ybWF0Cittc2dpZCAiJ2dpdCBiaXNlY3QgJFRFUk1fQkFEJyBjYW4gdGFrZSBvbmx5IG9uZSBhcmd1bWVudC4iCittc2dzdHIgIidnaXQgYmlzZWN0ICRURVJNX0JBRCcg5Y+q6IO95bi25LiA5YCL5Y+D5pW444CCIgorCisjOiBnaXQtYmlzZWN0LnNoOjIwOQorbXNnaWQgIk5vIGxvZ2ZpbGUgZ2l2ZW4iCittc2dzdHIgIuacquaPkOS+m+aXpeiqjOaqlOahiCIKKworIzogZ2l0LWJpc2VjdC5zaDoyMTAKKyMsIHNoLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICRmaWxlIGZvciByZXBsYXlpbmciCittc2dzdHIgIuS4jeiDveiugOWPliAkZmlsZSDkvobph43mlL4iCisKKyM6IGdpdC1iaXNlY3Quc2g6MjMyCittc2dpZCAiPz8gd2hhdCBhcmUgeW91IHRhbGtpbmcgYWJvdXQ/IgorbXNnc3RyICI/PyDmgqjlnKjoqqrku4Dpurw/IgorCisjOiBnaXQtYmlzZWN0LnNoOjI0MQorbXNnaWQgImJpc2VjdCBydW4gZmFpbGVkOiBubyBjb21tYW5kIHByb3ZpZGVkLiIKK21zZ3N0ciAi5LqM5YiG5bCL5om+5Z+36KGM5aSx5pWX77ya5rKS5pyJ5o+Q5L6b5oyH5Luk44CCIgorCisjOiBnaXQtYmlzZWN0LnNoOjI0NgorIywgc2gtZm9ybWF0Cittc2dpZCAicnVubmluZyAkY29tbWFuZCIKK21zZ3N0ciAi5Z+36KGMICRjb21tYW5kIgorCisjOiBnaXQtYmlzZWN0LnNoOjI1MworIywgc2gtZm9ybWF0Cittc2dpZCAiIgorImJpc2VjdCBydW4gZmFpbGVkOlxuIgorImV4aXQgY29kZSAkcmVzIGZyb20gJyRjb21tYW5kJyBpcyA8IDAgb3IgPj0gMTI4IgorbXNnc3RyICIiCisi5LqM5YiG5bCL5om+5Z+36KGM5aSx5pWX77yaXG4iCisi5oyH5LukICckY29tbWFuZCcg55qE6Zui6ZaL56K8ICRyZXMg5bCP5pa8IDAg5oiW5aSn5pa8562J5pa8IDEyOCIKKworIzogZ2l0LWJpc2VjdC5zaDoyNzkKK21zZ2lkICJiaXNlY3QgcnVuIGNhbm5vdCBjb250aW51ZSBhbnkgbW9yZSIKK21zZ3N0ciAi5LqM5YiG5bCL5om+5LiN6IO957m857qM5Z+36KGMIgorCisjOiBnaXQtYmlzZWN0LnNoOjI4NQorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorImJpc2VjdCBydW4gZmFpbGVkOlxuIgorIidiaXNlY3Rfc3RhdGUgJHN0YXRlJyBleGl0ZWQgd2l0aCBlcnJvciBjb2RlICRyZXMiCittc2dzdHIgIiIKKyLkuozliIblsIvmib7ln7fooYzlpLHmlZfvvJpcbiIKKyInYmlzZWN0X3N0YXRlICRzdGF0ZScg6Zui6ZaL56K854K6ICRyZXMiCisKKyM6IGdpdC1iaXNlY3Quc2g6MjkyCittc2dpZCAiYmlzZWN0IHJ1biBzdWNjZXNzIgorbXNnc3RyICLkuozliIblsIvmib7ln7fooYzmiJDlip8iCisKKyM6IGdpdC1iaXNlY3Quc2g6MzAwCittc2dpZCAiV2UgYXJlIG5vdCBiaXNlY3RpbmcuIgorbXNnc3RyICLmiJHlgJHmspLmnInlnKjkuozliIblsIvmib7jgIIiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjQ2Cittc2dpZCAiIgorIkVycm9yOiBZb3VyIGxvY2FsIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAiCisibWVyZ2UiCittc2dzdHIgIumMr+iqpO+8muaCqOWwjeS4i+WIl+aqlOahiOeahOacrOapn+S/ruaUueWwh+iiq+WQiOS9teWLleS9nOimhuiTiyIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NjEKK21zZ2lkICJBdXRvbWF0ZWQgbWVyZ2UgZGlkIG5vdCB3b3JrLiIKK21zZ3N0ciAi6Ieq5YuV5ZCI5L215pyq55Sf5pWI44CCIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo2MgorbXNnaWQgIlNob3VsZCBub3QgYmUgZG9pbmcgYW4gb2N0b3B1cy4iCittc2dzdHIgIuS4jeaHieipsuWft+ihjOeroOmtmuW8j+WQiOS9teOAgiIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6NzMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBmaW5kIGNvbW1vbiBjb21taXQgd2l0aCAkcHJldHR5X25hbWUiCittc2dzdHIgIueEoeazleaJvuWIsOWSjCAkcHJldHR5X25hbWUg55qE5Z+656SO5o+Q5LqkIgorCisjOiBnaXQtbWVyZ2Utb2N0b3B1cy5zaDo3NworIywgc2gtZm9ybWF0Cittc2dpZCAiQWxyZWFkeSB1cCB0byBkYXRlIHdpdGggJHByZXR0eV9uYW1lIgorbXNnc3RyICLlt7LntpPlkowgJHByZXR0eV9uYW1lIOS/neaMgeS4gOiHtCIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6ODkKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkZhc3QtZm9yd2FyZGluZyB0bzogJHByZXR0eV9uYW1lIgorbXNnc3RyICLlv6vovYnoh7PvvJokcHJldHR5X25hbWUiCisKKyM6IGdpdC1tZXJnZS1vY3RvcHVzLnNoOjk3CisjLCBzaC1mb3JtYXQKK21zZ2lkICJUcnlpbmcgc2ltcGxlIG1lcmdlIHdpdGggJHByZXR0eV9uYW1lIgorbXNnc3RyICLlmJfoqablkowgJHByZXR0eV9uYW1lIOeahOewoeWWruWQiOS9tSIKKworIzogZ2l0LW1lcmdlLW9jdG9wdXMuc2g6MTAyCittc2dpZCAiU2ltcGxlIG1lcmdlIGRpZCBub3Qgd29yaywgdHJ5aW5nIGF1dG9tYXRpYyBtZXJnZS4iCittc2dzdHIgIuewoeWWruWQiOS9teacqueUn+aViO+8jOWYl+ippuiHquWLleWQiOS9teOAgiIKKworIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDoyMjEKK21zZ2lkICJDYW5ub3QgcmVtb3ZlIHRlbXBvcmFyeSBpbmRleCAoY2FuJ3QgaGFwcGVuKSIKK21zZ3N0ciAi54Sh5rOV5Yiq6Zmk5pqr5pmC57Si5byV77yI5LiN5oeJ55m855Sf77yJIgorCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjI3MgorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHVwZGF0ZSAkcmVmX3N0YXNoIHdpdGggJHdfY29tbWl0IgorbXNnc3RyICLnhKHms5XnlKggJHdfY29tbWl0IOabtOaWsCAkcmVmX3N0YXNoIgorCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjMyNAorIywgc2gtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHVua25vd24gb3B0aW9uIGZvciAnc3Rhc2ggcHVzaCc6ICRvcHRpb24iCittc2dzdHIgIumMr+iqpO+8midzdGFzaCBwdXNoJyDnmoTmnKrnn6XpgbjpoIXvvJokb3B0aW9uIgorCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjM1NgorIywgc2gtZm9ybWF0Cittc2dpZCAiU2F2ZWQgd29ya2luZyBkaXJlY3RvcnkgYW5kIGluZGV4IHN0YXRlICRzdGFzaF9tc2ciCittc2dzdHIgIuWEsuWtmOW3peS9nOebrumMhOWSjOe0ouW8leeLgOaFiyAkc3Rhc2hfbXNnIgorCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjUzNgorIywgc2gtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb246ICRvcHQiCittc2dzdHIgIuacquefpemBuOmghTogJG9wdCIKKworIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo1NTYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRvbyBtYW55IHJldmlzaW9ucyBzcGVjaWZpZWQ6ICRSRVYiCittc2dzdHIgIuaMh+WumuS6huWkquWkmueahOeJiOacrO+8miRSRVYiCisKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NTcxCisjLCBzaC1mb3JtYXQKK21zZ2lkICIkcmVmZXJlbmNlIGlzIG5vdCBhIHZhbGlkIHJlZmVyZW5jZSIKK21zZ3N0ciAiJHJlZmVyZW5jZSDkuI3mmK/kuIDlgIvmnInmlYjnmoTlvJXnlKgiCisKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NTk5CisjLCBzaC1mb3JtYXQKK21zZ2lkICInJGFyZ3MnIGlzIG5vdCBhIHN0YXNoLWxpa2UgY29tbWl0IgorbXNnc3RyICInJGFyZ3MnIOS4jeaYr+WEsuiXj+W8j+aPkOS6pCIKKworIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2MTAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIickYXJncycgaXMgbm90IGEgc3Rhc2ggcmVmZXJlbmNlIgorbXNnc3RyICInJGFyZ3MnIOS4jeaYr+S4gOWAi+WEsuiXj+W8leeUqCIKKworIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2MTgKK21zZ2lkICJ1bmFibGUgdG8gcmVmcmVzaCBpbmRleCIKK21zZ3N0ciAi54Sh5rOV6YeN5paw5pW055CG57Si5byVIgorCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYyMgorbXNnaWQgIkNhbm5vdCBhcHBseSBhIHN0YXNoIGluIHRoZSBtaWRkbGUgb2YgYSBtZXJnZSIKK21zZ3N0ciAi54Sh5rOV5Zyo5ZCI5L216YGO56iL5aWX55So5YSy6JePIgorCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYzMAorbXNnaWQgIkNvbmZsaWN0cyBpbiBpbmRleC4gVHJ5IHdpdGhvdXQgLS1pbmRleC4iCittc2dzdHIgIue0ouW8leS4reacieihneeqgeOAguWYl+ippuS4jeS9v+eUqCAtLWluZGV444CCIgorCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjYzMgorbXNnaWQgIkNvdWxkIG5vdCBzYXZlIGluZGV4IHRyZWUiCittc2dzdHIgIuS4jeiDveWEsuWtmOe0ouW8leaouSIKKworIzogZ2l0LWxlZ2FjeS1zdGFzaC5zaDo2NDEKK21zZ2lkICJDb3VsZCBub3QgcmVzdG9yZSB1bnRyYWNrZWQgZmlsZXMgZnJvbSBzdGFzaCBlbnRyeSIKK21zZ3N0ciAi54Sh5rOV5b6e5YSy6JeP5qKd55uu5Lit5b6p5Y6f5pyq6L+96Lmk5qqU5qGIIgorCisjOiBnaXQtbGVnYWN5LXN0YXNoLnNoOjY2NgorbXNnaWQgIkNhbm5vdCB1bnN0YWdlIG1vZGlmaWVkIGZpbGVzIgorbXNnc3RyICLnhKHms5XlsIfkv67mlLnnmoTmqpTmoYjlj5bmtojmmqvlrZgiCisKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzA0CisjLCBzaC1mb3JtYXQKK21zZ2lkICJEcm9wcGVkICR7UkVWfSAoJHMpIgorbXNnc3RyICLmjajmo4TkuoYgJHtSRVZ9ICgkcykiCisKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzA1CisjLCBzaC1mb3JtYXQKK21zZ2lkICIke1JFVn06IENvdWxkIG5vdCBkcm9wIHN0YXNoIGVudHJ5IgorbXNnc3RyICIke1JFVn3vvJrnhKHms5Xmjajmo4TlhLLol4/mop3nm64iCisKKyM6IGdpdC1sZWdhY3ktc3Rhc2guc2g6NzkyCittc2dpZCAiKFRvIHJlc3RvcmUgdGhlbSB0eXBlIFwiZ2l0IHN0YXNoIGFwcGx5XCIpIgorbXNnc3RyICLvvIjngrrlvqnljp/os4fmlpnovLjlhaUgXCJnaXQgc3Rhc2ggYXBwbHlcIu+8iSIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyMDIKK21zZ2lkICJSZWxhdGl2ZSBwYXRoIGNhbiBvbmx5IGJlIHVzZWQgZnJvbSB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAi5Y+q6IO95Zyo5bel5L2c5Y2A55qE6aCC57Sa55uu6YyE5Lit5L2/55So55u45bCN6Lev5b6RIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjIxMgorIywgc2gtZm9ybWF0Cittc2dpZCAicmVwbyBVUkw6ICckcmVwbycgbXVzdCBiZSBhYnNvbHV0ZSBvciBiZWdpbiB3aXRoIC4vfC4uLyIKK21zZ3N0ciAi54mI5pys5bqrIFVSTO+8mickcmVwbycg5b+F6aCI5piv57WV5bCN6Lev5b6R5oiW5LulIC4vfC4uLyDotbflp4siCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjMxCisjLCBzaC1mb3JtYXQKK21zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCIKK21zZ3N0ciAiJyRzbV9wYXRoJyDlt7LntpPlrZjlnKjmlrzntKLlvJXkuK0iCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjM0CisjLCBzaC1mb3JtYXQKK21zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGluIHRoZSBpbmRleCBhbmQgaXMgbm90IGEgc3VibW9kdWxlIgorbXNnc3RyICInJHNtX3BhdGgnIOW3sue2k+WtmOWcqOaWvOe0ouW8leS4reS4lOS4jeaYr+S4gOWAi+WtkOaooee1hCIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNDEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIickc21fcGF0aCcgZG9lcyBub3QgaGF2ZSBhIGNvbW1pdCBjaGVja2VkIG91dCIKK21zZ3N0ciAiJyRzbV9wYXRoJyDmspLmnInnsL3lh7rnmoTmj5DkuqQiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjQ3CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyBwYXRoIGlzIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczpcbiIKKyIkc21fcGF0aFxuIgorIlVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIGl0LiIKK21zZ3N0ciAiIgorIuS7peS4i+i3r+W+keiiq+aCqOeahOS4gOWAiyAuZ2l0aWdub3JlIOaqlOahiOaJgOW/veeVpe+8mlxuIgorIiRzbV9wYXRoXG4iCisi5aaC5p6c5oKo56K65a+m5oOz5paw5aKe5a6D77yM5L2/55SoIC1mIOWPg+aVuOOAgiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyNzAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkFkZGluZyBleGlzdGluZyByZXBvIGF0ICckc21fcGF0aCcgdG8gdGhlIGluZGV4IgorbXNnc3RyICLmlrDlop7kvY3mlrwgJyRzbV9wYXRoJyDnmoTnj77lrZjniYjmnKzluqvliLDntKLlvJUiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjcyCisjLCBzaC1mb3JtYXQKK21zZ2lkICInJHNtX3BhdGgnIGFscmVhZHkgZXhpc3RzIGFuZCBpcyBub3QgYSB2YWxpZCBnaXQgcmVwbyIKK21zZ3N0ciAiJyRzbV9wYXRoJyDlt7LlrZjlnKjkuJTkuI3mmK/kuIDlgIvmnInmlYjnmoQgZ2l0IOeJiOacrOW6qyIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDoyODAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkEgZ2l0IGRpcmVjdG9yeSBmb3IgJyRzbV9uYW1lJyBpcyBmb3VuZCBsb2NhbGx5IHdpdGggcmVtb3RlKHMpOiIKK21zZ3N0ciAi5pys5qmf55m854++ICckc21fbmFtZScg55qE5LiA5YCLIGdpdCDnm67pjITvvIzoiIflhbblsI3mh4nnmoTpgaDnq6/niYjmnKzluqvvvJoiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MjgyCisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiSWYgeW91IHdhbnQgdG8gcmV1c2UgdGhpcyBsb2NhbCBnaXQgZGlyZWN0b3J5IGluc3RlYWQgb2YgY2xvbmluZyBhZ2FpbiBmcm9tXG4iCisiICAkcmVhbHJlcG9cbiIKKyJ1c2UgdGhlICctLWZvcmNlJyBvcHRpb24uIElmIHRoZSBsb2NhbCBnaXQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgY29ycmVjdCAiCisicmVwb1xuIgorIm9yIHlvdSBhcmUgdW5zdXJlIHdoYXQgdGhpcyBtZWFucyBjaG9vc2UgYW5vdGhlciBuYW1lIHdpdGggdGhlICctLW5hbWUnICIKKyJvcHRpb24uIgorbXNnc3RyICIiCisi5aaC5p6c5oKo5oOz6KaB6YeN55So6YCZ5YCL5pys5qmfIGdpdCDnm67pjITogIzpnZ7ph43mlrDopIfoo73oh6pcbiIKKyIgICRyZWFscmVwb1xuIgorIuS9v+eUqCAnLS1mb3JjZScg6YG46aCF44CC5aaC5p6c5pys5qmfIGdpdCDnm67pjITkuI3mmK/mraPnorrnmoTniYjmnKzluqtcbiIKKyLmiJbogIXmgqjkuI3norrlrprpgJnoo6HnmoTlkKvnvqnvvIzkvb/nlKggJy0tbmFtZScg6YG46aCF6YG45pOH5Y+m5aSW55qE5ZCN56ix44CCIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjI4OAorIywgc2gtZm9ybWF0Cittc2dpZCAiUmVhY3RpdmF0aW5nIGxvY2FsIGdpdCBkaXJlY3RvcnkgZm9yIHN1Ym1vZHVsZSAnJHNtX25hbWUnLiIKK21zZ3N0ciAi5ZWf5YuV5pys5qmfIGdpdCDnm67pjITliLDlrZDmqKHntYQgJyRzbV9uYW1lJ+OAgiIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDozMDAKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBjaGVja291dCBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKK21zZ3N0ciAi5LiN6IO957C95Ye65a2Q5qih57WEICckc21fcGF0aCciCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6MzA1CisjLCBzaC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkIHN1Ym1vZHVsZSAnJHNtX3BhdGgnIgorbXNnc3RyICLnhKHms5XmlrDlop7lrZDmqKHntYQgJyRzbV9wYXRoJyIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDozMTQKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWdpc3RlciBzdWJtb2R1bGUgJyRzbV9wYXRoJyIKK21zZ3N0ciAi54Sh5rOV6Ki75YaK5a2Q5qih57WEICckc21fcGF0aCciCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6NTgwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gZmluZCBjdXJyZW50IHJldmlzaW9uIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgorbXNnc3RyICLnhKHms5XlnKjlrZDmqKHntYTot6/lvpEgJyRkaXNwbGF5cGF0aCcg5Lit5om+5Yiw55uu5YmN54mI5pysIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjU5MAorIywgc2gtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGZldGNoIGluIHN1Ym1vZHVsZSBwYXRoICckc21fcGF0aCciCittc2dzdHIgIueEoeazleWcqOWtkOaooee1hOi3r+W+kSAnJHNtX3BhdGgnIOS4reWPluW+lyIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo1OTUKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJVbmFibGUgdG8gZmluZCBjdXJyZW50ICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSByZXZpc2lvbiBpbiBzdWJtb2R1bGUgcGF0aCAiCisiJyRzbV9wYXRoJyIKK21zZ3N0ciAi54Sh5rOV5Zyo5a2Q5qih57WE6Lev5b6RICckc21fcGF0aCcg5Lit5om+5Yiw55uu5YmN54mI5pysICR7cmVtb3RlX25hbWV9LyR7YnJhbmNofSIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MTMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJVbmFibGUgdG8gZmV0Y2ggaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc7IHRyeWluZyB0byBkaXJlY3RseSBmZXRjaCAiCisiJHNoYTE6IgorbXNnc3RyICLnhKHms5XlnKjlrZDmqKHntYTot6/lvpEgJyRkaXNwbGF5cGF0aCcg5Lit5Y+W5b6X77yM5ZiX6Kmm55u05o6l5Y+W5b6XICRzaGEx77yaIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjYxOQorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIkZldGNoZWQgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCcsIGJ1dCBpdCBkaWQgbm90IGNvbnRhaW4gJHNoYTEuICIKKyJEaXJlY3QgZmV0Y2hpbmcgb2YgdGhhdCBjb21taXQgZmFpbGVkLiIKK21zZ3N0ciAi5Y+W5b6X5LqG5a2Q5qih57WE6Lev5b6RICckZGlzcGxheXBhdGgn77yM5L2G5piv5a6D5rKS5pyJ5YyF5ZCrICRzaGEx44CC55u05o6l5Y+W5b6X6Kmy5o+Q5Lqk5aSx5pWX44CCIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjYyNgorIywgc2gtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIGNoZWNrb3V0ICckc2hhMScgaW4gc3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCciCittc2dzdHIgIueEoeazleWcqOWtkOaooee1hOi3r+W+kSAnJGRpc3BsYXlwYXRoJyDkuK3nsL3lh7ogJyRzaGExJyIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MjcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiBjaGVja2VkIG91dCAnJHNoYTEnIgorbXNnc3RyICLlrZDmqKHntYTot6/lvpEgJyRkaXNwbGF5cGF0aCfvvJrnsL3lh7ogJyRzaGExJyIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byByZWJhc2UgJyRzaGExJyBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAi54Sh5rOV5Zyo5a2Q5qih57WE6Lev5b6RICckZGlzcGxheXBhdGgnIOS4remHjeWumuWfuuW6lSAnJHNoYTEnIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzMgorIywgc2gtZm9ybWF0Cittc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IHJlYmFzZWQgaW50byAnJHNoYTEnIgorbXNnc3RyICLlrZDmqKHntYTot6/lvpEgJyRkaXNwbGF5cGF0aCfvvJrph43lrprln7rlupXoh7MgJyRzaGExJyIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2MzcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBtZXJnZSAnJHNoYTEnIGluIHN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnIgorbXNnc3RyICLnhKHms5XlkIjkvbUgJyRzaGExJyDliLDlrZDmqKHntYTot6/lvpEgJyRkaXNwbGF5cGF0aCcg5LitIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjYzOAorIywgc2gtZm9ybWF0Cittc2dpZCAiU3VibW9kdWxlIHBhdGggJyRkaXNwbGF5cGF0aCc6IG1lcmdlZCBpbiAnJHNoYTEnIgorbXNnc3RyICLlrZDmqKHntYTot6/lvpEgJyRkaXNwbGF5cGF0aCfvvJrlt7LlkIjkvbXlhaUgJyRzaGExJyIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NDMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGlvbiBvZiAnJGNvbW1hbmQgJHNoYTEnIGZhaWxlZCBpbiBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAi5Zyo5a2Q5qih57WEICckZGlzcGxheXBhdGgnIOS4reWft+ihjCAnJGNvbW1hbmQgJHNoYTEnIOWkseaVlyIKKworIzogZ2l0LXN1Ym1vZHVsZS5zaDo2NDQKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlN1Ym1vZHVsZSBwYXRoICckZGlzcGxheXBhdGgnOiAnJGNvbW1hbmQgJHNoYTEnIgorbXNnc3RyICLlrZDmqKHntYQgJyRkaXNwbGF5cGF0aCfvvJonJGNvbW1hbmQgJHNoYTEnIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjY3NQorIywgc2gtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlY3Vyc2UgaW50byBzdWJtb2R1bGUgcGF0aCAnJGRpc3BsYXlwYXRoJyIKK21zZ3N0ciAi54Sh5rOV6YGe6L+06YCy5a2Q5qih57WE6Lev5b6RICckZGlzcGxheXBhdGgnIgorCisjOiBnaXQtc3VibW9kdWxlLnNoOjg4NgorbXNnaWQgIlRoZSAtLWNhY2hlZCBvcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgLS1maWxlcyBvcHRpb24iCittc2dzdHIgIumBuOmghSAtLWNhY2hlZCDkuI3og73lkozpgbjpoIUgLS1maWxlcyDlkIzmmYLkvb/nlKgiCisKKyM6IGdpdC1zdWJtb2R1bGUuc2g6OTM4CisjLCBzaC1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIG1vZGUgJG1vZF9kc3QiCittc2dzdHIgIuaEj+WklueahOaooeW8jyAkbW9kX2RzdCIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiBnaXQtc3VibW9kdWxlLnNoOjk1OAorIywgc2gtZm9ybWF0Cittc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfc3JjIgorbXNnc3RyICIgIOitpuWRiu+8miRkaXNwbGF5X25hbWUg5pyq5YyF5ZCr5o+Q5LqkICRzaGExX3NyYyIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiBnaXQtc3VibW9kdWxlLnNoOjk2MQorIywgc2gtZm9ybWF0Cittc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXQgJHNoYTFfZHN0IgorbXNnc3RyICIgIOitpuWRiu+8miRkaXNwbGF5X25hbWUg5pyq5YyF5ZCr5o+Q5LqkICRzaGExX2RzdCIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiBnaXQtc3VibW9kdWxlLnNoOjk2NAorIywgc2gtZm9ybWF0Cittc2dpZCAiICBXYXJuOiAkZGlzcGxheV9uYW1lIGRvZXNuJ3QgY29udGFpbiBjb21taXRzICRzaGExX3NyYyBhbmQgJHNoYTFfZHN0IgorbXNnc3RyICIgIOitpuWRiu+8miRkaXNwbGF5X25hbWUg5pyq5YyF5ZCr5o+Q5LqkICRzaGExX3NyYyDlkowgJHNoYTFfZHN0IgorCisjOiBnaXQtcGFyc2UtcmVtb3RlLnNoOjg5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJTZWUgZ2l0LSR7Y21kfSgxKSBmb3IgZGV0YWlscy4iCittc2dzdHIgIuips+imiyBnaXQtJHtjbWR9KDEp44CCIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTA5Cittc2dpZCAiQXBwbGllZCBhdXRvc3Rhc2guIgorbXNnc3RyICLlt7Lmh4nnlKggYXV0b3N0YXNo44CCIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MTEyCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgc3RvcmUgJHN0YXNoX3NoYTEiCittc2dzdHIgIuS4jeiDveWEsuWtmCAkc3Rhc2hfc2hhMSIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjE5MQorIywgc2gtZm9ybWF0Cittc2dpZCAiUmViYXNpbmcgKCRuZXdfY291bnQvJHRvdGFsKSIKK21zZ3N0ciAi6YeN5a6a5Z+65bqV5Lit77yIJG5ld19jb3VudC8kdG90YWzvvIkiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDoyMDcKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCisicCwgcGljayA8Y29tbWl0PiA9IHVzZSBjb21taXRcbiIKKyJyLCByZXdvcmQgPGNvbW1pdD4gPSB1c2UgY29tbWl0LCBidXQgZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2VcbiIKKyJlLCBlZGl0IDxjb21taXQ+ID0gdXNlIGNvbW1pdCwgYnV0IHN0b3AgZm9yIGFtZW5kaW5nXG4iCisicywgc3F1YXNoIDxjb21taXQ+ID0gdXNlIGNvbW1pdCwgYnV0IG1lbGQgaW50byBwcmV2aW91cyBjb21taXRcbiIKKyJmLCBmaXh1cCA8Y29tbWl0PiA9IGxpa2UgXCJzcXVhc2hcIiwgYnV0IGRpc2NhcmQgdGhpcyBjb21taXQncyBsb2cgbWVzc2FnZVxuIgorIngsIGV4ZWMgPGNvbW1pdD4gPSBydW4gY29tbWFuZCAodGhlIHJlc3Qgb2YgdGhlIGxpbmUpIHVzaW5nIHNoZWxsXG4iCisiZCwgZHJvcCA8Y29tbWl0PiA9IHJlbW92ZSBjb21taXRcbiIKKyJsLCBsYWJlbCA8bGFiZWw+ID0gbGFiZWwgY3VycmVudCBIRUFEIHdpdGggYSBuYW1lXG4iCisidCwgcmVzZXQgPGxhYmVsPiA9IHJlc2V0IEhFQUQgdG8gYSBsYWJlbFxuIgorIm0sIG1lcmdlIFstQyA8Y29tbWl0PiB8IC1jIDxjb21taXQ+XSA8bGFiZWw+IFsjIDxvbmVsaW5lPl1cbiIKKyIuICAgICAgIGNyZWF0ZSBhIG1lcmdlIGNvbW1pdCB1c2luZyB0aGUgb3JpZ2luYWwgbWVyZ2UgY29tbWl0J3NcbiIKKyIuICAgICAgIG1lc3NhZ2UgKG9yIHRoZSBvbmVsaW5lLCBpZiBubyBvcmlnaW5hbCBtZXJnZSBjb21taXQgd2FzXG4iCisiLiAgICAgICBzcGVjaWZpZWQpLiBVc2UgLWMgPGNvbW1pdD4gdG8gcmV3b3JkIHRoZSBjb21taXQgbWVzc2FnZS5cbiIKKyJcbiIKKyJUaGVzZSBsaW5lcyBjYW4gYmUgcmUtb3JkZXJlZDsgdGhleSBhcmUgZXhlY3V0ZWQgZnJvbSB0b3AgdG8gYm90dG9tLlxuIgorbXNnc3RyICIiCisiXG4iCisi5oyH5LukOlxuIgorInAsIHBpY2sgPOaPkOS6pD4gPSDkvb/nlKjmj5DkuqRcbiIKKyJyLCByZXdvcmQgPOaPkOS6pD4gPSDkvb/nlKjmj5DkuqTvvIzkvYbkv67mlLnmj5DkuqToqqrmmI5cbiIKKyJlLCBlZGl0IDzmj5DkuqQ+ID0g5L2/55So5o+Q5Lqk77yM5L2G5YGc5LiL5L6G5L+u6KOcXG4iCisicywgc3F1YXNoIDzmj5DkuqQ+ID0g5L2/55So5o+Q5Lqk77yM5L2G6J6N5ZCI5Yiw5YmN5LiA5YCL5o+Q5LqkXG4iCisiZiwgZml4dXAgPOaPkOS6pD4gPSDpoZ7kvLzmlrwgXCJzcXVhc2hcIu+8jOS9huaNqOajhOaPkOS6pOiqquaYjuaXpeiqjFxuIgorIngsIGV4ZWMgPOaMh+S7pD4gPSDkvb/nlKggc2hlbGwg5Z+36KGM5oyH5Luk77yI5q2k6KGM5Ymp6aSY6YOo5YiG77yJXG4iCisiZCwgZHJvcCA85o+Q5LqkPiA9IOWIqumZpOaPkOS6pFxuIgorImwsIGxhYmVsIDzmqJnnsaQ+ID0g54K655uu5YmNIEhFQUQg5omT5LiK5qiZ57GkXG4iCisidCwgcmVzZXQgPOaomeexpD4gPSDph43oqK0gSEVBRCDliLDoqbLmqJnnsaRcbiIKKyJtLCBtZXJnZSBbLUMgPOaPkOS6pD4gfCAtYyA85o+Q5LqkPl0gPOaomeexpD4gWyMgPG9uZWxpbmU+XVxuIgorIi4gICAgICAg5bu656uL5LiA5YCL5ZCI5L215o+Q5Lqk77yM5Lim5L2/55So5Y6f5aeL55qE5ZCI5L215o+Q5Lqk6Kqq5piO77yI5aaC5p6c5rKS5pyJ5oyH5a6aXG4iCisiLiAgICAgICDljp/lp4vmj5DkuqTvvIzkvb/nlKjlgpnoqLvpg6jliIbnmoQgb25lbGluZSDkvZzngrrmj5DkuqToqqrmmI7vvInjgILkvb/nlKhcbiIKKyIuICAgICAgIC1jIDzmj5DkuqQ+IOWPr+S7pee3qOi8r+aPkOS6pOiqquaYjuOAglxuIgorIlxuIgorIuWPr+S7peWwjemAmeS6m+ihjOmHjeaWsOaOkuW6j++8jOWwh+W+nuS4iuiHs+S4i+Wft+ihjOOAglxuIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6MjcwCisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiWW91IGNhbiBhbWVuZCB0aGUgY29tbWl0IG5vdywgd2l0aFxuIgorIlxuIgorIlx0Z2l0IGNvbW1pdCAtLWFtZW5kICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisiT25jZSB5b3UgYXJlIHNhdGlzZmllZCB3aXRoIHlvdXIgY2hhbmdlcywgcnVuXG4iCisiXG4iCisiXHRnaXQgcmViYXNlIC0tY29udGludWUiCittc2dzdHIgIiIKKyLmgqjnj77lnKjlj6/ku6Xkv67oo5zpgJnlgIvmj5DkuqTvvIzkvb/nlKhcbiIKKyJcbiIKKyJcdGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIueVtuaCqOWwjeiuiuabtOaEn+WIsOa7v+aEj++8jOWft+ihjFxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Mjk1CisjLCBzaC1mb3JtYXQKK21zZ2lkICIkc2hhMTogbm90IGEgY29tbWl0IHRoYXQgY2FuIGJlIHBpY2tlZCIKK21zZ3N0ciAiJHNoYTHvvJrkuI3mmK/kuIDlgIvlj6/ku6Xooqvmj4DpgbjnmoTmj5DkuqQiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDozMzQKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkludmFsaWQgY29tbWl0IG5hbWU6ICRzaGExIgorbXNnc3RyICLnhKHmlYjnmoTmj5DkuqTlkI3vvJokc2hhMSIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjM2NAorbXNnaWQgIkNhbm5vdCB3cml0ZSBjdXJyZW50IGNvbW1pdCdzIHJlcGxhY2VtZW50IHNoYTEiCittc2dzdHIgIuS4jeiDveWvq+WFpeebruWJjeaPkOS6pOeahOabv+S7oyBzaGExIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDE1CisjLCBzaC1mb3JtYXQKK21zZ2lkICJGYXN0LWZvcndhcmQgdG8gJHNoYTEiCittc2dzdHIgIuW/q+i9ieWIsCAkc2hhMSIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQxNworIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGZhc3QtZm9yd2FyZCB0byAkc2hhMSIKK21zZ3N0ciAi5LiN6IO95b+r6L2J5YiwICRzaGExIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDI2CisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbW92ZSBIRUFEIHRvICRmaXJzdF9wYXJlbnQiCittc2dzdHIgIuS4jeiDveenu+WLlSBIRUFEIOWIsCAkZmlyc3RfcGFyZW50IgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDMxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJSZWZ1c2luZyB0byBzcXVhc2ggYSBtZXJnZTogJHNoYTEiCittc2dzdHIgIuaLkue1leWjk+e4ruS4gOWAi+WQiOS9te+8miRzaGExIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDQ5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJFcnJvciByZWRvaW5nIG1lcmdlICRzaGExIgorbXNnc3RyICLnhKHms5Xph43lgZrlkIjkvbUgJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NTgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBwaWNrICRzaGExIgorbXNnc3RyICLkuI3og73mj4DpgbggJHNoYTEiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0NjcKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgdGhlIGNvbW1pdCBtZXNzYWdlICMke259OiIKK21zZ3N0ciAi6YCZ5piv5o+Q5Lqk6Kqq5piOICMke25977yaIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NDcyCisjLCBzaC1mb3JtYXQKK21zZ2lkICJUaGUgY29tbWl0IG1lc3NhZ2UgIyR7bn0gd2lsbCBiZSBza2lwcGVkOiIKK21zZ3N0ciAi5o+Q5Lqk6Kqq5piOICMke259IOWwh+iiq+i3s+mBju+8miIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ4MworIywgc2gtZm9ybWF0Cittc2dpZCAiVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mICRjb3VudCBjb21taXQuIgorbXNnaWRfcGx1cmFsICJUaGlzIGlzIGEgY29tYmluYXRpb24gb2YgJGNvdW50IGNvbW1pdHMuIgorbXNnc3RyWzBdICLpgJnmmK/kuIDlgIsgJGNvdW50IOWAi+aPkOS6pOeahOe1hOWQiOOAgiIKK21zZ3N0clsxXSAi6YCZ5piv5LiA5YCLICRjb3VudCDlgIvmj5DkuqTnmoTntYTlkIjjgIIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo0OTIKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSAkZml4dXBfbXNnIgorbXNnc3RyICLkuI3og73lr6vlhaUgJGZpeHVwX21zZyIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjQ5NQorbXNnaWQgIlRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiAyIGNvbW1pdHMuIgorbXNnc3RyICLpgJnmmK/kuIDlgIsgMiDlgIvmj5DkuqTnmoTntYTlkIjjgIIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo1MzYgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU3OQorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjU4MgorIywgc2gtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGFwcGx5ICRzaGExLi4uICRyZXN0IgorbXNnc3RyICLkuI3og73mh4nnlKggJHNoYTEuLi4gJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2MTEKKyMsIHNoLWZvcm1hdAorbXNnaWQgIiIKKyJDb3VsZCBub3QgYW1lbmQgY29tbWl0IGFmdGVyIHN1Y2Nlc3NmdWxseSBwaWNraW5nICRzaGExLi4uICRyZXN0XG4iCisiVGhpcyBpcyBtb3N0IGxpa2VseSBkdWUgdG8gYW4gZW1wdHkgY29tbWl0IG1lc3NhZ2UsIG9yIHRoZSBwcmUtY29tbWl0IGhvb2tcbiIKKyJmYWlsZWQuIElmIHRoZSBwcmUtY29tbWl0IGhvb2sgZmFpbGVkLCB5b3UgbWF5IG5lZWQgdG8gcmVzb2x2ZSB0aGUgaXNzdWUgIgorImJlZm9yZVxuIgorInlvdSBhcmUgYWJsZSB0byByZXdvcmQgdGhlIGNvbW1pdC4iCittc2dzdHIgIiIKKyLkuI3og73lnKjmiJDlip/mj4DpgbggJHNoYTEuLi4gJHJlc3Qg5LmL5b6M5L+u6KOc5o+Q5LqkXG4iCisi6YCZ6YCa5bi45piv5Zug54K656m655qE5o+Q5Lqk6Kqq5piO77yM5oiW6ICFIHByZS1jb21taXQg5o6b6Ymk5Z+36KGM5aSx5pWX44CC5aaC5p6c5pivIHByZS1jb21taXRcbiIKKyLmjpvpiaTln7fooYzlpLHmlZfvvIzkvaDlj6/og73pnIDopoHlnKjph43lr6vmj5DkuqToqqrmmI7liY3op6PmsbrpgJnlgIvllY/poYzjgIIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2MjYKKyMsIHNoLWZvcm1hdAorbXNnaWQgIlN0b3BwZWQgYXQgJHNoYTFfYWJicmV2Li4uICRyZXN0IgorbXNnc3RyICLlgZzmraLlnKggJHNoYTFfYWJicmV2Li4uICRyZXN0IgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjQxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgJyRzcXVhc2hfc3R5bGUnIHdpdGhvdXQgYSBwcmV2aW91cyBjb21taXQiCittc2dzdHIgIuaykuacieeItuaPkOS6pOeahOaDheazgeS4i+S4jeiDvSAnJHNxdWFzaF9zdHlsZSciCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2ODMKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGluZzogJHJlc3QiCittc2dzdHIgIuWft+ihjO+8miRyZXN0IgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NjkxCisjLCBzaC1mb3JtYXQKK21zZ2lkICJFeGVjdXRpb24gZmFpbGVkOiAkcmVzdCIKK21zZ3N0ciAi5Z+36KGM5aSx5pWX77yaJHJlc3QiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo2OTMKK21zZ2lkICJhbmQgbWFkZSBjaGFuZ2VzIHRvIHRoZSBpbmRleCBhbmQvb3IgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAi5Lim5LiU5L+u5pS557Si5byV5ZKML+aIluW3peS9nOWNgCIKKworIyAg6K2v6ICF77ya6KuL57at5oyB5YmN5bCO56m65qC8CisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6Njk1Cittc2dpZCAiIgorIllvdSBjYW4gZml4IHRoZSBwcm9ibGVtLCBhbmQgdGhlbiBydW5cbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKK21zZ3N0ciAiIgorIuaCqOWPr+S7peino+axuumAmeWAi+WVj+mhjO+8jOeEtuW+jOWft+ihjFxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCisjLiBUUkFOU0xBVE9SUzogYWZ0ZXIgdGhlc2UgbGluZXMgaXMgYSBjb21tYW5kIHRvIGJlIGlzc3VlZCBieSB0aGUgdXNlcgorIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjcwOAorIywgc2gtZm9ybWF0Cittc2dpZCAiIgorIkV4ZWN1dGlvbiBzdWNjZWVkZWQ6ICRyZXN0XG4iCisiYnV0IGxlZnQgY2hhbmdlcyB0byB0aGUgaW5kZXggYW5kL29yIHRoZSB3b3JraW5nIHRyZWVcbiIKKyJDb21taXQgb3Igc3Rhc2ggeW91ciBjaGFuZ2VzLCBhbmQgdGhlbiBydW5cbiIKKyJcbiIKKyJcdGdpdCByZWJhc2UgLS1jb250aW51ZSIKK21zZ3N0ciAiIgorIuWft+ihjOaIkOWKn++8miRyZXN0XG4iCisi5L2G5piv5Zyo57Si5byV5ZKML+aIluW3peS9nOWNgOS4reWtmOWcqOiuiuabtOOAguaPkOS6pOaIluWEsuiXj+S/ruaUue+8jOeEtuW+jOWft+ihjFxuIgorIlxuIgorIlx0Z2l0IHJlYmFzZSAtLWNvbnRpbnVlIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzE5CisjLCBzaC1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICRjb21tYW5kICRzaGExICRyZXN0IgorbXNnc3RyICLmnKrnn6XmjIfku6TvvJokY29tbWFuZCAkc2hhMSAkcmVzdCIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjcyMAorbXNnaWQgIlBsZWFzZSBmaXggdGhpcyB1c2luZyAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycuIgorbXNnc3RyICLopoHkv67mlLnoq4vkvb/nlKjmjIfku6QgJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8n44CCIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6NzU1CisjLCBzaC1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgcmViYXNlZCBhbmQgdXBkYXRlZCAkaGVhZF9uYW1lLiIKK21zZ3N0ciAi5oiQ5Yqf6YeN5a6a5Z+65bqV5Lim5pu05pawICRoZWFkX25hbWXjgIIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4MTIKK21zZ2lkICJDb3VsZCBub3QgcmVtb3ZlIENIRVJSWV9QSUNLX0hFQUQiCittc2dzdHIgIuS4jeiDveWIqumZpCBDSEVSUllfUElDS19IRUFEIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODE3CisjLCBzaC1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWUuXG4iCisiSWYgdGhlc2UgY2hhbmdlcyBhcmUgbWVhbnQgdG8gYmVcbiIKKyJzcXVhc2hlZCBpbnRvIHRoZSBwcmV2aW91cyBjb21taXQsIHJ1bjpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgLS1hbWVuZCAkZ3BnX3NpZ25fb3B0X3F1b3RlZFxuIgorIlxuIgorIklmIHRoZXkgYXJlIG1lYW50IHRvIGdvIGludG8gYSBuZXcgY29tbWl0LCBydW46XG4iCisiXG4iCisiICBnaXQgY29tbWl0ICRncGdfc2lnbl9vcHRfcXVvdGVkXG4iCisiXG4iCisiSW4gYm90aCBjYXNlcywgb25jZSB5b3UncmUgZG9uZSwgY29udGludWUgd2l0aDpcbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorbXNnc3RyICIiCisi5oKo5bey5pqr5a2Y5LqG5bel5L2c5Y2A55qE5L+u5pS544CC5aaC5p6c6YCZ5Lqb5L+u5pS56KaB5aOT57iu5Yiw5YmN5LiA5YCL5o+Q5Lqk77yM5Z+36KGM77yaXG4iCisiXG4iCisiICBnaXQgY29tbWl0IC0tYW1lbmQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyLlpoLmnpzpgJnkupvorormm7TopoHlvaLmiJDkuIDlgIvmlrDmj5DkuqTvvIzln7fooYzvvJpcbiIKKyJcbiIKKyIgIGdpdCBjb21taXQgJGdwZ19zaWduX29wdF9xdW90ZWRcbiIKKyJcbiIKKyLnhKHoq5blk6rnqK7mg4Xms4HvvIznlbbmgqjlrozmiJDmj5DkuqTvvIznubznuozln7fooYzvvJpcbiIKKyJcbiIKKyIgIGdpdCByZWJhc2UgLS1jb250aW51ZVxuIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6ODM0Cittc2dpZCAiRXJyb3IgdHJ5aW5nIHRvIGZpbmQgdGhlIGF1dGhvciBpZGVudGl0eSB0byBhbWVuZCBjb21taXQiCittc2dzdHIgIuWcqOS/ruijnOaPkOS6pOS4reWwi+aJvuS9nOiAheioiuaBr+aZgumBh+WIsOmMr+iqpCIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjgzOQorbXNnaWQgIiIKKyJZb3UgaGF2ZSB1bmNvbW1pdHRlZCBjaGFuZ2VzIGluIHlvdXIgd29ya2luZyB0cmVlLiBQbGVhc2UgY29tbWl0IHRoZW1cbiIKKyJmaXJzdCBhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScgYWdhaW4uIgorbXNnc3RyICLmgqjnmoTlt6XkvZzljYDkuK3mnInmnKrmj5DkuqTnmoTorormm7TjgILoq4vlhYjmj5DkuqTnhLblvozlho3mrKHln7fooYwgJ2dpdCByZWJhc2UgLS1jb250aW51ZSfjgIIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NDQgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjg0OAorbXNnaWQgIkNvdWxkIG5vdCBjb21taXQgc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICLkuI3og73mj5DkuqTmmqvlrZjnmoTkv67mlLnjgIIiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo4NzkgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk2NQorbXNnaWQgIkNvdWxkIG5vdCBleGVjdXRlIGVkaXRvciIKK21zZ3N0ciAi54Sh5rOV5Z+36KGM57eo6Lyv5ZmoIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTAwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY2hlY2tvdXQgJHN3aXRjaF90byIKK21zZ3N0ciAi5LiN6IO957C95Ye6ICRzd2l0Y2hfdG8iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MDcKK21zZ2lkICJObyBIRUFEPyIKK21zZ3N0ciAi5rKS5pyJIEhFQUTvvJ8iCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5MDgKKyMsIHNoLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgdGVtcG9yYXJ5ICRzdGF0ZV9kaXIiCittc2dzdHIgIuS4jeiDveW7uueri+aaq+aZgiAkc3RhdGVfZGlyIgorCisjOiBnaXQtcmViYXNlLS1wcmVzZXJ2ZS1tZXJnZXMuc2g6OTExCittc2dpZCAiQ291bGQgbm90IG1hcmsgYXMgaW50ZXJhY3RpdmUiCittc2dzdHIgIuS4jeiDveaomeiomOeCuuS6kuWLleW8jyIKKworIzogZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjk0MworIywgc2gtZm9ybWF0Cittc2dpZCAiUmViYXNlICRzaG9ydHJldmlzaW9ucyBvbnRvICRzaG9ydG9udG8gKCR0b2RvY291bnQgY29tbWFuZCkiCittc2dpZF9wbHVyYWwgIlJlYmFzZSAkc2hvcnRyZXZpc2lvbnMgb250byAkc2hvcnRvbnRvICgkdG9kb2NvdW50IGNvbW1hbmRzKSIKK21zZ3N0clswXSAi6YeN5a6a5Z+65bqVICRzaG9ydHJldmlzaW9ucyDliLAgJHNob3J0b250b++8iCR0b2RvY291bnQg5YCL5o+Q5Lqk77yJIgorbXNnc3RyWzFdICLph43lrprln7rlupUgJHNob3J0cmV2aXNpb25zIOWIsCAkc2hvcnRvbnRv77yIJHRvZG9jb3VudCDlgIvmj5DkuqTvvIkiCisKKyM6IGdpdC1yZWJhc2UtLXByZXNlcnZlLW1lcmdlcy5zaDo5OTcgZ2l0LXJlYmFzZS0tcHJlc2VydmUtbWVyZ2VzLnNoOjEwMDIKK21zZ2lkICJDb3VsZCBub3QgaW5pdCByZXdyaXR0ZW4gY29tbWl0cyIKK21zZ3N0ciAi5LiN6IO95bCN6YeN5a+r5o+Q5Lqk6YCy6KGM5Yid5aeL5YyWIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6ODkgZ2l0LXNoLXNldHVwLnNoOjk0CisjLCBzaC1mb3JtYXQKK21zZ2lkICJ1c2FnZTogJGRhc2hsZXNzICRVU0FHRSIKK21zZ3N0ciAi55So5rOV77yaJGRhc2hsZXNzICRVU0FHRSIKKworIzogZ2l0LXNoLXNldHVwLnNoOjE5MQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGNoZGlyIHRvICRjZHVwLCB0aGUgdG9wbGV2ZWwgb2YgdGhlIHdvcmtpbmcgdHJlZSIKK21zZ3N0ciAi5LiN6IO95YiH5o+b55uu6YyE5YiwICRjZHVw77yM5bel5L2c5Y2A55qE6aCC57Sa55uu6YyEIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjAwIGdpdC1zaC1zZXR1cC5zaDoyMDcKKyMsIHNoLWZvcm1hdAorbXNnaWQgImZhdGFsOiAkcHJvZ3JhbV9uYW1lIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgYSB3b3JraW5nIHRyZWUuIgorbXNnc3RyICLoh7Tlkb3pjK/oqqTvvJokcHJvZ3JhbV9uYW1lIOS4jeiDveWcqOaykuacieW3peS9nOWNgOeahOaDheazgeS4i+S9v+eUqCIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyMQorbXNnaWQgIkNhbm5vdCByZWJhc2U6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIgorbXNnc3RyICLkuI3og73ph43lrprln7rlupXvvJrmgqjmnInmnKrmmqvlrZjnmoTorormm7TjgIIiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDoyMjQKK21zZ2lkICJDYW5ub3QgcmV3cml0ZSBicmFuY2hlczogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIuS4jeiDvemHjeWvq+WIhuaUr++8muaCqOacieacquaaq+WtmOeahOiuiuabtOOAgiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjIyNworbXNnaWQgIkNhbm5vdCBwdWxsIHdpdGggcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIKK21zZ3N0ciAi54Sh5rOV6YCP6YGO6YeN5a6a5Z+65bqV5pa55byP5ouJ5Y+W77ya5oKo5pyJ5pyq5pqr5a2Y55qE6K6K5pu044CCIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjMwCisjLCBzaC1mb3JtYXQKK21zZ2lkICJDYW5ub3QgJGFjdGlvbjogWW91IGhhdmUgdW5zdGFnZWQgY2hhbmdlcy4iCittc2dzdHIgIuS4jeiDvSAkYWN0aW9u77ya5oKo5pyJ5pyq5pqr5a2Y55qE6K6K5pu044CCIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjQzCittc2dpZCAiQ2Fubm90IHJlYmFzZTogWW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIKK21zZ3N0ciAi5LiN6IO96YeN5a6a5Z+65bqV77ya5oKo55qE57Si5byV5Lit5YyF5ZCr5pyq5o+Q5Lqk55qE6K6K5pu044CCIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjQ2Cittc2dpZCAiQ2Fubm90IHB1bGwgd2l0aCByZWJhc2U6IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIueEoeazlemAj+mBjumHjeWumuWfuuW6leaWueW8j+aLieWPlu+8muaCqOeahOe0ouW8leS4reWMheWQq+acquaPkOS6pOeahOiuiuabtOOAgiIKKworIzogZ2l0LXNoLXNldHVwLnNoOjI0OQorIywgc2gtZm9ybWF0Cittc2dpZCAiQ2Fubm90ICRhY3Rpb246IFlvdXIgaW5kZXggY29udGFpbnMgdW5jb21taXR0ZWQgY2hhbmdlcy4iCittc2dzdHIgIuS4jeiDvSAkYWN0aW9u77ya5oKo55qE57Si5byV5Lit5YyF5ZCr5pyq5o+Q5Lqk55qE6K6K5pu044CCIgorCisjOiBnaXQtc2gtc2V0dXAuc2g6MjUzCittc2dpZCAiQWRkaXRpb25hbGx5LCB5b3VyIGluZGV4IGNvbnRhaW5zIHVuY29tbWl0dGVkIGNoYW5nZXMuIgorbXNnc3RyICLogIzkuJTmgqjnmoTntKLlvJXkuK3ljIXlkKvmnKrmj5DkuqTnmoTorormm7TjgIIiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzMKK21zZ2lkICJZb3UgbmVlZCB0byBydW4gdGhpcyBjb21tYW5kIGZyb20gdGhlIHRvcGxldmVsIG9mIHRoZSB3b3JraW5nIHRyZWUuIgorbXNnc3RyICLmgqjpnIDopoHlnKjlt6XkvZzljYDnmoTpoILntJrnm67pjITkuK3ln7fooYzpgJnlgIvmjIfku6TjgIIiCisKKyM6IGdpdC1zaC1zZXR1cC5zaDozNzgKK21zZ2lkICJVbmFibGUgdG8gZGV0ZXJtaW5lIGFic29sdXRlIHBhdGggb2YgZ2l0IGRpcmVjdG9yeSIKK21zZ3N0ciAi5LiN6IO956K65a6aIGdpdCDnm67pjITnmoTntZXlsI3ot6/lvpEiCisKKyMuIFRSQU5TTEFUT1JTOiB5b3UgY2FuIGFkanVzdCB0aGlzIHRvIGFsaWduICJnaXQgYWRkIC1pIiBzdGF0dXMgbWVudQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoyMTIKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiJTEycyAlMTJzICVzIgorbXNnc3RyICIlMTJzICUxMnMgJXMiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6NjM0CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgInRvdWNoZWQgJWQgcGF0aFxuIgorbXNnaWRfcGx1cmFsICJ0b3VjaGVkICVkIHBhdGhzXG4iCittc2dzdHJbMF0gIuW7uueri+S6hiAlZCDlgIvot6/lvpFcbiIKK21zZ3N0clsxXSAi5bu656uL5LqGICVkIOWAi+i3r+W+kVxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNTMKK21zZ2lkICIiCisiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKKyJtYXJrZWQgZm9yIHN0YWdpbmcuIgorbXNnc3RyICLlpoLmnpzkv67oo5zmqpTog73kub7mt6jlnLDlpZfnlKjvvIznt6jovK/loYrlsIfnq4vljbPmqJnoqJjngrrmmqvlrZjjgIIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1NgorbXNnaWQgIiIKKyJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgorIm1hcmtlZCBmb3Igc3Rhc2hpbmcuIgorbXNnc3RyICLlpoLmnpzkv67oo5zmqpTog73kub7mt6jlnLDlpZfnlKjvvIznt6jovK/loYrlsIfnq4vljbPmqJnoqJjngrrlhLLol4/jgIIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTA1OQorbXNnaWQgIiIKKyJJZiB0aGUgcGF0Y2ggYXBwbGllcyBjbGVhbmx5LCB0aGUgZWRpdGVkIGh1bmsgd2lsbCBpbW1lZGlhdGVseSBiZVxuIgorIm1hcmtlZCBmb3IgdW5zdGFnaW5nLiIKK21zZ3N0ciAi5aaC5p6c5L+u6KOc5qqU6IO95Lm+5reo5Zyw5aWX55So77yM57eo6Lyv5aGK5bCH56uL5Y2z5qiZ6KiY54K65pyq5pqr5a2Y44CCIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjIgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDcxCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNzcKK21zZ2lkICIiCisiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKKyJtYXJrZWQgZm9yIGFwcGx5aW5nLiIKK21zZ3N0ciAi5aaC5p6c5L+u6KOc5qqU6IO95Lm+5reo5Zyw5aWX55So77yM57eo6Lyv5aGK5bCH56uL5Y2z5qiZ6KiY54K65oeJ55So44CCIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNjUgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMDY4CisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEwNzQKK21zZ2lkICIiCisiSWYgdGhlIHBhdGNoIGFwcGxpZXMgY2xlYW5seSwgdGhlIGVkaXRlZCBodW5rIHdpbGwgaW1tZWRpYXRlbHkgYmVcbiIKKyJtYXJrZWQgZm9yIGRpc2NhcmRpbmcuIgorbXNnc3RyICLlpoLmnpzkv67oo5zmqpTog73kub7mt6jlnLDlpZfnlKjvvIznt6jovK/loYrlsIfnq4vljbPmqJnoqJjngrrmjajmo4TjgIIiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTExMQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBodW5rIGVkaXQgZmlsZSBmb3Igd3JpdGluZzogJXMiCittc2dzdHIgIueCuuWvq+WFpemWi+WVn+WNgOWhiue3qOi8r+aqlOahiOWkseaVl++8miVzIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjExMTgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiIgorIi0tLVxuIgorIlRvIHJlbW92ZSAnJXMnIGxpbmVzLCBtYWtlIHRoZW0gJyAnIGxpbmVzIChjb250ZXh0KS5cbiIKKyJUbyByZW1vdmUgJyVzJyBsaW5lcywgZGVsZXRlIHRoZW0uXG4iCisiTGluZXMgc3RhcnRpbmcgd2l0aCAlcyB3aWxsIGJlIHJlbW92ZWQuXG4iCittc2dzdHIgIiIKKyItLS1cbiIKKyLopoHliKrpmaQgJyVzJyDplovlp4vnmoTooYzvvIzkvb/lhbbmiJDngrogJyAnIOmWi+Wni+eahOihjO+8iOS4iuS4i+aWh++8ieOAglxuIgorIuimgeWIqumZpCAnJXMnIOmWi+Wni+eahOihjO+8jOWIqumZpOWug+WAkeOAglxuIgorIuS7pSAlcyDplovlp4vnmoTooYzlsIfooqvliKrpmaTjgIJcbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMTQwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuIGh1bmsgZWRpdCBmaWxlIGZvciByZWFkaW5nOiAlcyIKK21zZ3N0ciAi54Sh5rOV6K6A5Y+W5Y2A5aGK57eo6Lyv5qqU5qGI77yaJXMiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI0OAorbXNnaWQgIiIKKyJ5IC0gc3RhZ2UgdGhpcyBodW5rXG4iCisibiAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmtcbiIKKyJxIC0gcXVpdDsgZG8gbm90IHN0YWdlIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIHN0YWdlIHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisiZCAtIGRvIG5vdCBzdGFnZSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAiIgorInkgLSDmmqvlrZjmraTljYDloYpcbiIKKyJuIC0g5LiN6KaB5pqr5a2Y5q2k5Y2A5aGKXG4iCisicSAtIOmboumWi+OAguS4jeaaq+WtmOatpOWNgOWhiuWPiuW+jOmdoueahOWFqOmDqOWNgOWhilxuIgorImEgLSDmmqvlrZjmraTljYDloYrlkozmnKzmqpTmoYjkuK3lvozpnaLnmoTlhajpg6jljYDloYpcbiIKKyJkIC0g5LiN5pqr5a2Y5q2k5Y2A5aGK5ZKM5pys5qqU5qGI5Lit5b6M6Z2i55qE5YWo6YOo5Y2A5aGKIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNTQKK21zZ2lkICIiCisieSAtIHN0YXNoIHRoaXMgaHVua1xuIgorIm4gLSBkbyBub3Qgc3Rhc2ggdGhpcyBodW5rXG4iCisicSAtIHF1aXQ7IGRvIG5vdCBzdGFzaCB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSBzdGFzaCB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorImQgLSBkbyBub3Qgc3Rhc2ggdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCittc2dzdHIgIiIKKyJ5IC0g5YSy6JeP5q2k5Y2A5aGKXG4iCisibiAtIOS4jeimgeWEsuiXj+atpOWNgOWhilxuIgorInEgLSDpm6LplovjgILkuI3lhLLol4/mraTljYDloYrlj4rlvozpnaLnmoTlhajpg6jljYDloYpcbiIKKyJhIC0g5YSy6JeP5q2k5Y2A5aGK5ZKM5pys5qqU5qGI5Lit5b6M6Z2i55qE5YWo6YOo5Y2A5aGKXG4iCisiZCAtIOS4jeWEsuiXj+atpOWNgOWhiuWSjOacrOaqlOahiOS4reW+jOmdoueahOWFqOmDqOWNgOWhiiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjYwCittc2dpZCAiIgorInkgLSB1bnN0YWdlIHRoaXMgaHVua1xuIgorIm4gLSBkbyBub3QgdW5zdGFnZSB0aGlzIGh1bmtcbiIKKyJxIC0gcXVpdDsgZG8gbm90IHVuc3RhZ2UgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gdW5zdGFnZSB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorImQgLSBkbyBub3QgdW5zdGFnZSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSBsYXRlciBodW5rcyBpbiB0aGUgZmlsZSIKK21zZ3N0ciAiIgorInkgLSDkuI3mmqvlrZjmraTljYDloYpcbiIKKyJuIC0g5LiN6KaB5LiN5pqr5a2Y5q2k5Y2A5aGKXG4iCisicSAtIOmboumWi+OAguS4jeimgeS4jeaaq+WtmOatpOWNgOWhiuWPiuW+jOmdoueahOWFqOmDqOWNgOWhilxuIgorImEgLSDkuI3mmqvlrZjmraTljYDloYrlkozmnKzmqpTmoYjkuK3lvozpnaLnmoTlhajpg6jljYDloYpcbiIKKyJkIC0g5LiN6KaB5LiN5pqr5a2Y5q2k5Y2A5aGK5ZKM5pys5qqU5qGI5Lit5b6M6Z2i55qE5YWo6YOo5Y2A5aGKIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEyNjYKK21zZ2lkICIiCisieSAtIGFwcGx5IHRoaXMgaHVuayB0byBpbmRleFxuIgorIm4gLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIHRvIGluZGV4XG4iCisicSAtIHF1aXQ7IGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSBhcHBseSB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorImQgLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCittc2dzdHIgIiIKKyJ5IC0g5Zyo57Si5byV5Lit5aWX55So5q2k5Y2A5aGKXG4iCisibiAtIOS4jeimgeWcqOe0ouW8leS4reWll+eUqOatpOWNgOWhilxuIgorInEgLSDpm6LplovjgILkuI3opoHlpZfnlKjmraTljYDloYrlj4rlvozpnaLnmoTlhajpg6jljYDloYpcbiIKKyJhIC0g5aWX55So5q2k5Y2A5aGK5ZKM5pys5qqU5qGI5Lit5b6M6Z2i55qE5YWo6YOo5Y2A5aGKXG4iCisiZCAtIOS4jeimgeWll+eUqOatpOWNgOWhiuWSjOacrOaqlOahiOS4reW+jOmdoueahOWFqOmDqOWNgOWhiiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjcyIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI5MAorbXNnaWQgIiIKKyJ5IC0gZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZVxuIgorIm4gLSBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSB3b3JrdHJlZVxuIgorInEgLSBxdWl0OyBkbyBub3QgZGlzY2FyZCB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSBkaXNjYXJkIHRoaXMgaHVuayBhbmQgYWxsIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlXG4iCisiZCAtIGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgorbXNnc3RyICIiCisieSAtIOWcqOW3peS9nOWNgOS4reaNqOajhOatpOWNgOWhilxuIgorIm4gLSDkuI3opoHlnKjlt6XkvZzljYDkuK3mjajmo4TmraTljYDloYpcbiIKKyJxIC0g6Zui6ZaL44CC5LiN6KaB5o2o5qOE5q2k5Y2A5aGK5Y+K5b6M6Z2i55qE5YWo6YOo5Y2A5aGKXG4iCisiYSAtIOaNqOajhOatpOWNgOWhiuWSjOacrOaqlOahiOS4reW+jOmdoueahOWFqOmDqOWNgOWhilxuIgorImQgLSDkuI3opoHmjajmo4TmraTljYDloYrlkozmnKzmqpTmoYjkuK3lvozpnaLnmoTlhajpg6jljYDloYoiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTI3OAorbXNnaWQgIiIKKyJ5IC0gZGlzY2FyZCB0aGlzIGh1bmsgZnJvbSBpbmRleCBhbmQgd29ya3RyZWVcbiIKKyJuIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlXG4iCisicSAtIHF1aXQ7IGRvIG5vdCBkaXNjYXJkIHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIHJlbWFpbmluZyBvbmVzXG4iCisiYSAtIGRpc2NhcmQgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKKyJkIC0gZG8gbm90IGRpc2NhcmQgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCittc2dzdHIgIiIKKyJ5IC0g5Zyo57Si5byV5ZKM5bel5L2c5Y2A5Lit5o2o5qOE5q2k5Y2A5aGKXG4iCisibiAtIOS4jeimgeWcqOe0ouW8leWSjOW3peS9nOWNgOS4reaNqOajhOatpOWNgOWhilxuIgorInEgLSDpm6LplovjgILkuI3opoHmjajmo4TmraTljYDloYrlj4rlvozpnaLnmoTlhajpg6jljYDloYpcbiIKKyJhIC0g5o2o5qOE5q2k5Y2A5aGK5ZKM5pys5qqU5qGI5Lit5b6M6Z2i55qE5YWo6YOo5Y2A5aGKXG4iCisiZCAtIOS4jeimgeaNqOajhOatpOWNgOWhiuWSjOacrOaqlOahiOS4reW+jOmdoueahOWFqOmDqOWNgOWhiiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjg0Cittc2dpZCAiIgorInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlXG4iCisibiAtIGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgdG8gaW5kZXggYW5kIHdvcmt0cmVlXG4iCisicSAtIHF1aXQ7IGRvIG5vdCBhcHBseSB0aGlzIGh1bmsgb3IgYW55IG9mIHRoZSByZW1haW5pbmcgb25lc1xuIgorImEgLSBhcHBseSB0aGlzIGh1bmsgYW5kIGFsbCBsYXRlciBodW5rcyBpbiB0aGUgZmlsZVxuIgorImQgLSBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGUiCittc2dzdHIgIiIKKyJ5IC0g5Zyo57Si5byV5ZKM5bel5L2c5Y2A5Lit5aWX55So5q2k5Y2A5aGKXG4iCisibiAtIOS4jeimgeWcqOe0ouW8leWSjOW3peS9nOWNgOS4reWll+eUqOatpOWNgOWhilxuIgorInEgLSDpm6LplovjgILkuI3opoHlpZfnlKjmraTljYDloYrlj4rlvozpnaLnmoTlhajpg6jljYDloYpcbiIKKyJhIC0g5aWX55So5q2k5Y2A5aGK5ZKM5pys5qqU5qGI5Lit5b6M6Z2i55qE5YWo6YOo5Y2A5aGKXG4iCisiZCAtIOS4jeimgeWll+eUqOatpOWNgOWhiuWSjOacrOaqlOahiOS4reW+jOmdoueahOWFqOmDqOWNgOWhiiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxMjk2Cittc2dpZCAiIgorInkgLSBhcHBseSB0aGlzIGh1bmsgdG8gd29ya3RyZWVcbiIKKyJuIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayB0byB3b3JrdHJlZVxuIgorInEgLSBxdWl0OyBkbyBub3QgYXBwbHkgdGhpcyBodW5rIG9yIGFueSBvZiB0aGUgcmVtYWluaW5nIG9uZXNcbiIKKyJhIC0gYXBwbHkgdGhpcyBodW5rIGFuZCBhbGwgbGF0ZXIgaHVua3MgaW4gdGhlIGZpbGVcbiIKKyJkIC0gZG8gbm90IGFwcGx5IHRoaXMgaHVuayBvciBhbnkgb2YgdGhlIGxhdGVyIGh1bmtzIGluIHRoZSBmaWxlIgorbXNnc3RyICIiCisieSAtIOWcqOW3peS9nOWNgOS4reWll+eUqOatpOWNgOWhilxuIgorIm4gLSDkuI3opoHlnKjlt6XkvZzljYDkuK3lpZfnlKjmraTljYDloYpcbiIKKyJxIC0g6Zui6ZaL44CC5LiN6KaB5aWX55So5q2k5Y2A5aGK5Y+K5b6M6Z2i55qE5YWo6YOo5Y2A5aGKXG4iCisiYSAtIOWll+eUqOatpOWNgOWhiuWSjOacrOaqlOahiOS4reW+jOmdoueahOWFqOmDqOWNgOWhilxuIgorImQgLSDkuI3opoHlpZfnlKjmraTljYDloYrlkozmnKzmqpTmoYjkuK3lvozpnaLnmoTlhajpg6jljYDloYoiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTMxMQorbXNnaWQgIiIKKyJnIC0gc2VsZWN0IGEgaHVuayB0byBnbyB0b1xuIgorIi8gLSBzZWFyY2ggZm9yIGEgaHVuayBtYXRjaGluZyB0aGUgZ2l2ZW4gcmVnZXhcbiIKKyJqIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIG5leHQgdW5kZWNpZGVkIGh1bmtcbiIKKyJKIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIG5leHQgaHVua1xuIgorImsgLSBsZWF2ZSB0aGlzIGh1bmsgdW5kZWNpZGVkLCBzZWUgcHJldmlvdXMgdW5kZWNpZGVkIGh1bmtcbiIKKyJLIC0gbGVhdmUgdGhpcyBodW5rIHVuZGVjaWRlZCwgc2VlIHByZXZpb3VzIGh1bmtcbiIKKyJzIC0gc3BsaXQgdGhlIGN1cnJlbnQgaHVuayBpbnRvIHNtYWxsZXIgaHVua3NcbiIKKyJlIC0gbWFudWFsbHkgZWRpdCB0aGUgY3VycmVudCBodW5rXG4iCisiPyAtIHByaW50IGhlbHBcbiIKK21zZ3N0ciAiIgorImcgLSDpgbjmk4fot7PovYnliLDkuIDlgIvljYDloYpcbiIKKyIvIC0g5bCL5om+5ZKM5o+Q5L6b5q2j6KaP6KGo56S65byP56ym5ZCI55qE5Y2A5aGKXG4iCisiaiAtIOe2reaMgeatpOWNgOWhiuacquaxuueLgOaFi++8jOaqouimluS4i+S4gOWAi+acquaxuuWumuWNgOWhilxuIgorIkogLSDntq3mjIHmraTljYDloYrmnKrmsbrni4DmhYvvvIzmqqLoppbkuIvkuIDlgIvljYDloYpcbiIKKyJrIC0g57at5oyB5q2k5Y2A5aGK5pyq5rG654uA5oWL77yM5qqi6KaW5LiK5LiA5YCL5pyq5rG65a6a5Y2A5aGKXG4iCisiSyAtIOe2reaMgeatpOWNgOWhiuacquaxuueLgOaFi++8jOaqouimluS4iuS4gOWAi+WNgOWhilxuIgorInMgLSDliIblibLnm67liY3ljYDloYrngrrmm7TlsI/nmoTljYDloYpcbiIKKyJlIC0g5omL5YuV57eo6Lyv55uu5YmN5Y2A5aGKXG4iCisiPyAtIOmhr+ekuuiqquaYjlxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNDIKK21zZ2lkICJUaGUgc2VsZWN0ZWQgaHVua3MgZG8gbm90IGFwcGx5IHRvIHRoZSBpbmRleCFcbiIKK21zZ3N0ciAi6YG45Lit55qE5Y2A5aGK5LiN6IO95aWX55So5Yiw57Si5byV77yBXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM0MworbXNnaWQgIkFwcGx5IHRoZW0gdG8gdGhlIHdvcmt0cmVlIGFueXdheT8gIgorbXNnc3RyICLnhKHoq5blpoLkvZXpg73opoHlpZfnlKjliLDlt6XkvZzljYDll47vvJ8iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTM0NgorbXNnaWQgIk5vdGhpbmcgd2FzIGFwcGxpZWQuXG4iCittc2dzdHIgIuacquWll+eUqOOAglxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjEzNTcKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5tZXJnZWQ6ICVzXG4iCittc2dzdHIgIuW/veeVpeacquWll+eUqOeahO+8miVzXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQyOAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAi5pqr5a2Y5qih5byP6K6K5pu0IFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MjkKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU3RhZ2UgZGVsZXRpb24gW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIuaaq+WtmOWIqumZpOWLleS9nCBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDMwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAi5pqr5a2Y5q2k5Y2A5aGKIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0MzMKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU3Rhc2ggbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIuWEsuiXj+aooeW8j+iuiuabtCBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDM0CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlN0YXNoIGRlbGV0aW9uIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICLlhLLol4/liKrpmaTli5XkvZwgW3ksbixxLGEsZCVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQzNQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTdGFzaCB0aGlzIGh1bmsgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIuWEsuiXj+atpOWNgOWhiiBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDM4CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlVuc3RhZ2UgbW9kZSBjaGFuZ2UgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIuWPlua2iOaaq+WtmOaooeW8j+iuiuabtCBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDM5CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlVuc3RhZ2UgZGVsZXRpb24gW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIuWPlua2iOaaq+WtmOWIqumZpOWLleS9nCBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlVuc3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICLlj5bmtojmmqvlrZjmraTljYDloYogW3ksbixxLGEsZCVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ0MworIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byBpbmRleCBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAi5bCH5qih5byP6K6K5pu05aWX55So5Yiw57Si5byVIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDQKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgZGVsZXRpb24gdG8gaW5kZXggW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIuWwh+WIqumZpOWLleS9nOWll+eUqOWIsOe0ouW8lSBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDQ1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IHRoaXMgaHVuayB0byBpbmRleCBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAi5bCH5q2k5Y2A5aGK5aWX55So5Yiw57Si5byVIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDYzCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkRpc2NhcmQgbW9kZSBjaGFuZ2UgZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAi5b6e5bel5L2c5Y2A5Lit5o2o5qOE5qih5byP6K6K5pu0IFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NDkgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY0CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAi5b6e5bel5L2c5Y2A5Lit5o2o5qOE5Yiq6Zmk5YuV5L2cIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NTAgZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIuW+nuW3peS9nOWNgOS4reaNqOajhOatpOWNgOWhiiBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDUzCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkRpc2NhcmQgbW9kZSBjaGFuZ2UgZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIuW+nue0ouW8leWSjOW3peS9nOWNgOS4reaNqOajhOaooeW8j+iuiuabtCBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU0CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkRpc2NhcmQgZGVsZXRpb24gZnJvbSBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIuW+nue0ouW8leWSjOW3peS9nOWNgOS4reaNqOajhOWIqumZpCBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkRpc2NhcmQgdGhpcyBodW5rIGZyb20gaW5kZXggYW5kIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICLlvp7ntKLlvJXlkozlt6XkvZzljYDkuK3mjajmo4TmraTljYDloYogW3ksbixxLGEsZCVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ1OAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSBtb2RlIGNoYW5nZSB0byBpbmRleCBhbmQgd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIuWwh+aooeW8j+iuiuabtOWll+eUqOWIsOe0ouW8leWSjOW3peS9nOWNgCBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDU5CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAi5bCH5Yiq6Zmk5YuV5L2c5aWX55So5Yiw57Si5byV5ZKM5bel5L2c5Y2AIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgdGhpcyBodW5rIHRvIGluZGV4IGFuZCB3b3JrdHJlZSBbeSxuLHEsYSxkJXMsP10/ICIKK21zZ3N0ciAi5bCH5q2k5Y2A5aGK5aWX55So5Yiw57Si5byV5ZKM5bel5L2c5Y2AIFt5LG4scSxhLGQlcyw/XT8gIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE0NjgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiQXBwbHkgbW9kZSBjaGFuZ2UgdG8gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIuWwh+aooeW8j+iuiuabtOWll+eUqOWIsOW3peS9nOWNgCBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNDY5CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFwcGx5IGRlbGV0aW9uIHRvIHdvcmt0cmVlIFt5LG4scSxhLGQlcyw/XT8gIgorbXNnc3RyICLlsIfliKrpmaTli5XkvZzlpZfnlKjliLDlt6XkvZzljYAgW3ksbixxLGEsZCVzLD9dPyAiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTQ3MAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJBcHBseSB0aGlzIGh1bmsgdG8gd29ya3RyZWUgW3ksbixxLGEsZCVzLD9dPyAiCittc2dzdHIgIuWwh+atpOWNgOWhiuWll+eUqOWIsOW3peS9nOWNgCBbeSxuLHEsYSxkJXMsP10/ICIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTcwCittc2dpZCAiTm8gb3RoZXIgaHVua3MgdG8gZ290b1xuIgorbXNnc3RyICLmspLmnInlhbblroPlj6/kvpvot7PovYnnmoTljYDloYpcbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTg4CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkludmFsaWQgbnVtYmVyOiAnJXMnXG4iCittc2dzdHIgIueEoeaViOaVuOWtl++8miclcydcbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNTkzCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlNvcnJ5LCBvbmx5ICVkIGh1bmsgYXZhaWxhYmxlLlxuIgorbXNnaWRfcGx1cmFsICJTb3JyeSwgb25seSAlZCBodW5rcyBhdmFpbGFibGUuXG4iCittc2dzdHJbMF0gIuWwjeS4jei1t++8jOWPquaciSAlZCDlgIvlj6/nlKjljYDloYrjgIJcbiIKK21zZ3N0clsxXSAi5bCN5LiN6LW377yM5Y+q5pyJICVkIOWAi+WPr+eUqOWNgOWhiuOAglxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2MTkKK21zZ2lkICJObyBvdGhlciBodW5rcyB0byBzZWFyY2hcbiIKK21zZ3N0ciAi5rKS5pyJ5YW25a6D5Y+v5L6b5bCL5om+55qE5Y2A5aGKXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTYzNgorIywgcGVybC1mb3JtYXQKK21zZ2lkICJNYWxmb3JtZWQgc2VhcmNoIHJlZ2V4cCAlczogJXNcbiIKK21zZ3N0ciAi6Yyv6Kqk55qE5q2j6KaP6KGo56S65byPICVz77yaJXNcbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjQ2Cittc2dpZCAiTm8gaHVuayBtYXRjaGVzIHRoZSBnaXZlbiBwYXR0ZXJuXG4iCittc2dzdHIgIuaykuacieWSjOaPkOS+m+aooeW8j+ebuOespuWQiOeahOWNgOWhilxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE2NTggZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjgwCittc2dpZCAiTm8gcHJldmlvdXMgaHVua1xuIgorbXNnc3RyICLmspLmnInliY3kuIDlgIvljYDloYpcbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjY3IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY4NgorbXNnaWQgIk5vIG5leHQgaHVua1xuIgorbXNnc3RyICLmspLmnInkuIvkuIDlgIvljYDloYpcbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNjkyCittc2dpZCAiU29ycnksIGNhbm5vdCBzcGxpdCB0aGlzIGh1bmtcbiIKK21zZ3N0ciAi5bCN5LiN6LW377yM5LiN6IO95YiG5Ymy6YCZ5YCL5Y2A5aGKXG4iCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTY5OAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTcGxpdCBpbnRvICVkIGh1bmsuXG4iCittc2dpZF9wbHVyYWwgIlNwbGl0IGludG8gJWQgaHVua3MuXG4iCittc2dzdHJbMF0gIuWIhuWJsueCuiAlZCDloYrjgIJcbiIKK21zZ3N0clsxXSAi5YiG5Ymy54K6ICVkIOWhiuOAglxuIgorCisjOiBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE3MDgKK21zZ2lkICJTb3JyeSwgY2Fubm90IGVkaXQgdGhpcyBodW5rXG4iCittc2dzdHIgIuWwjeS4jei1t++8jOS4jeiDvee3qOi8r+mAmeWAi+WNgOWhilxuIgorCisjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGRvIG5vdCB0cmFuc2xhdGUgdGhlIGNvbW1hbmQgbmFtZXMKKyMuICdzdGF0dXMnLCAndXBkYXRlJywgJ3JldmVydCcsIGV0Yy4KKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc3MworbXNnaWQgIiIKKyJzdGF0dXMgICAgICAgIC0gc2hvdyBwYXRocyB3aXRoIGNoYW5nZXNcbiIKKyJ1cGRhdGUgICAgICAgIC0gYWRkIHdvcmtpbmcgdHJlZSBzdGF0ZSB0byB0aGUgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzXG4iCisicmV2ZXJ0ICAgICAgICAtIHJldmVydCBzdGFnZWQgc2V0IG9mIGNoYW5nZXMgYmFjayB0byB0aGUgSEVBRCB2ZXJzaW9uXG4iCisicGF0Y2ggICAgICAgICAtIHBpY2sgaHVua3MgYW5kIHVwZGF0ZSBzZWxlY3RpdmVseVxuIgorImRpZmYgICAgICAgICAgLSB2aWV3IGRpZmYgYmV0d2VlbiBIRUFEIGFuZCBpbmRleFxuIgorImFkZCB1bnRyYWNrZWQgLSBhZGQgY29udGVudHMgb2YgdW50cmFja2VkIGZpbGVzIHRvIHRoZSBzdGFnZWQgc2V0IG9mICIKKyJjaGFuZ2VzXG4iCittc2dzdHIgIiIKKyJzdGF0dXMgICAgICAgIC0g6aGv56S65ZCr6K6K5pu055qE6Lev5b6RXG4iCisidXBkYXRlICAgICAgICAtIOaWsOWinuW3peS9nOWNgOeLgOaFi+iHs+aaq+WtmOWIl+ihqFxuIgorInJldmVydCAgICAgICAgLSDpgoTljp/kv67mlLnnmoTmmqvlrZjpm4boh7MgSEVBRCDniYjmnKxcbiIKKyJwYXRjaCAgICAgICAgIC0g5oyR6YG45Y2A5aGK5Lim5LiU5pyJ6YG45pOH5Zyw5pu05pawXG4iCisiZGlmZiAgICAgICAgICAtIOmhr+ekuiBIRUFEIOWSjOe0ouW8lemWk+W3rueVsFxuIgorImFkZCB1bnRyYWNrZWQgLSDmlrDlop7mnKrov73ouaTmqpTmoYjnmoTlhaflrrnoh7PmmqvlrZjliJfooahcbiIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzkwIGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTc5NQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxNzk4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgwNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODA4IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgxNQorIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODE5IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyNQorbXNnaWQgIm1pc3NpbmcgLS0iCittc2dzdHIgIue8uuWwkSAtLSIKKworIzogZ2l0LWFkZC0taW50ZXJhY3RpdmUucGVybDoxODIxCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgInVua25vd24gLS1wYXRjaCBtb2RlOiAlcyIKK21zZ3N0ciAi5pyq55+l55qEIC0tcGF0Y2gg5qih5byP77yaJXMiCisKKyM6IGdpdC1hZGQtLWludGVyYWN0aXZlLnBlcmw6MTgyNyBnaXQtYWRkLS1pbnRlcmFjdGl2ZS5wZXJsOjE4MzMKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAlcywgZXhwZWN0aW5nIC0tIgorbXNnc3RyICLnhKHmlYjnmoTlj4PmlbggJXPvvIzmnJ/mnJvmmK8gLS0iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM4Cittc2dpZCAibG9jYWwgem9uZSBkaWZmZXJzIGZyb20gR01UIGJ5IGEgbm9uLW1pbnV0ZSBpbnRlcnZhbFxuIgorbXNnc3RyICLmnKzmqZ/mmYLplpPlkowgR01UIOacieS4jeWIsOS4gOWIhumQmOmWk+malFxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1MQorbXNnaWQgImxvY2FsIHRpbWUgb2Zmc2V0IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAyNCBob3Vyc1xuIgorbXNnc3RyICLmnKzmqZ/mmYLplpPkvY3np7vph4/lpKfmlrznrYnmlrwgMjQg5bCP5pmCXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjIzIGdpdC1zZW5kLWVtYWlsLnBlcmw6MjI5Cittc2dpZCAidGhlIGVkaXRvciBleGl0ZWQgdW5jbGVhbmx5LCBhYm9ydGluZyBldmVyeXRoaW5nIgorbXNnc3RyICLnt6jovK/lmajpnZ7mraPluLjpm6LplovvvIzntYLmraLmiYDmnInli5XkvZwiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzEwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIiIKKyInJXMnIGNvbnRhaW5zIGFuIGludGVybWVkaWF0ZSB2ZXJzaW9uIG9mIHRoZSBlbWFpbCB5b3Ugd2VyZSBjb21wb3NpbmcuXG4iCittc2dzdHIgIiclcycg5YyF5ZCr5oKo5q2j5Zyo57eo5a+r55qE5LiA5YCL5Lit6ZaT54mI5pys55qE5L+h5Lu244CCXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MzE1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIiclcy5maW5hbCcgY29udGFpbnMgdGhlIGNvbXBvc2VkIGVtYWlsLlxuIgorbXNnc3RyICInJXMuZmluYWwnIOWMheWQq+e3qOi8r+eahOS/oeS7tuOAglxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjQwOAorbXNnaWQgIi0tZHVtcC1hbGlhc2VzIGluY29tcGF0aWJsZSB3aXRoIG90aGVyIG9wdGlvbnNcbiIKK21zZ3N0ciAiLS1kdW1wLWFsaWFzZXMg5ZKM5YW25a6D6YG46aCF5LiN55u45a65XG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NDgxIGdpdC1zZW5kLWVtYWlsLnBlcmw6NjgzCittc2dpZCAiQ2Fubm90IHJ1biBnaXQgZm9ybWF0LXBhdGNoIGZyb20gb3V0c2lkZSBhIHJlcG9zaXRvcnlcbiIKK21zZ3N0ciAi5LiN6IO95Zyo54mI5pys5bqr5LmL5aSW5Z+36KGMIGdpdCBmb3JtYXQtcGF0Y2hcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo0ODQKK21zZ2lkICIiCisiYGJhdGNoLXNpemVgIGFuZCBgcmVsb2dpbmAgbXVzdCBiZSBzcGVjaWZpZWQgdG9nZXRoZXIgKHZpYSBjb21tYW5kLWxpbmUgb3IgIgorImNvbmZpZ3VyYXRpb24gb3B0aW9uKVxuIgorbXNnc3RyICJgYmF0Y2gtc2l6ZWAg5ZKMIGByZWxvZ2luYCDlv4XpoIjlkIzmmYLlrprnvqnvvIjpgI/pgY7mjIfku6TliJfmiJbogIXoqK3lrprpgbjpoIXvvIlcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo0OTcKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiVW5rbm93biAtLXN1cHByZXNzLWNjIGZpZWxkOiAnJXMnXG4iCittc2dzdHIgIuacquefpeeahCAtLXN1cHByZXNzLWNjIOashOS9je+8miclcydcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1MjgKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiVW5rbm93biAtLWNvbmZpcm0gc2V0dGluZzogJyVzJ1xuIgorbXNnc3RyICLmnKrnn6XnmoQgLS1jb25maXJtIOioreWumu+8miclcydcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo1NTYKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAid2FybmluZzogc2VuZG1haWwgYWxpYXMgd2l0aCBxdW90ZXMgaXMgbm90IHN1cHBvcnRlZDogJXNcbiIKK21zZ3N0ciAi6K2m5ZGK77ya5LiN5pSv5o+05bi25byV6Jmf55qEIHNlbmRtYWlsIOWIpeWQje+8miVzXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTU4CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGA6aW5jbHVkZTpgIG5vdCBzdXBwb3J0ZWQ6ICVzXG4iCittc2dzdHIgIuitpuWRiu+8muS4jeaUr+aPtCBgOmluY2x1ZGU6YO+8miVzXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NTYwCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGAvZmlsZWAgb3IgYHxwaXBlYCByZWRpcmVjdGlvbiBub3Qgc3VwcG9ydGVkOiAlc1xuIgorbXNnc3RyICLorablkYrvvJrkuI3mlK/mj7QgYC9maWxlYCDmiJYgYHxwaXBlYCDph43lrprlkJHvvJolc1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjU2NQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBzZW5kbWFpbCBsaW5lIGlzIG5vdCByZWNvZ25pemVkOiAlc1xuIgorbXNnc3RyICLorablkYrvvJrkuI3og73orZjliKXnmoQgc2VuZG1haWwg6KGM77yaJXNcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NDkKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiIgorIkZpbGUgJyVzJyBleGlzdHMgYnV0IGl0IGNvdWxkIGFsc28gYmUgdGhlIHJhbmdlIG9mIGNvbW1pdHNcbiIKKyJ0byBwcm9kdWNlIHBhdGNoZXMgZm9yLiAgUGxlYXNlIGRpc2FtYmlndWF0ZSBieS4uLlxuIgorIlxuIgorIiAgICAqIFNheWluZyBcIi4vJXNcIiBpZiB5b3UgbWVhbiBhIGZpbGU7IG9yXG4iCisiICAgICogR2l2aW5nIC0tZm9ybWF0LXBhdGNoIG9wdGlvbiBpZiB5b3UgbWVhbiBhIHJhbmdlLlxuIgorbXNnc3RyICIiCisi5a2Y5Zyo5qqU5qGIICclcycg5L2G5piv5a6D5Lmf5Y+v6IO95piv5LiA5YCL55So5pa855Si55Sf5L+u6KOc5qqU5YiX6KGo55qE5o+Q5Lqk56+E5ZyN44CC6KuL55So5aaC5LiL5pa55rOV5raIIgorIumZpOatp+e+qe+8mlxuIgorIlxuIgorIiAgICAqIOWmguaenOWQq+e+qeeCuuS4gOWAi+aqlOahiO+8jOS9v+eUqCBcIi4vJXNcIu+8jOaIluiAhVxuIgorIiAgICAqIOWmguaenOWQq+e+qeeCuuS4gOWAi+evhOWcje+8jOS9v+eUqCAtLWZvcm1hdC1wYXRjaCDpgbjpoIXjgIJcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo2NzAKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW5kaXIgJXM6ICVzIgorbXNnc3RyICLnhKHms5XplovllZ/nm67pjIQgJXM6ICVzIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjY5NAorIywgcGVybC1mb3JtYXQKK21zZ2lkICIiCisiZmF0YWw6ICVzOiAlc1xuIgorIndhcm5pbmc6IG5vIHBhdGNoZXMgd2VyZSBzZW50XG4iCittc2dzdHIgIiIKKyLoh7Tlkb3pjK/oqqTvvJolc++8miVzXG4iCisi6K2m5ZGK77ya5L+u6KOc5qqU5pyq6IO95YKz6YCBXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6NzA1Cittc2dpZCAiIgorIlxuIgorIk5vIHBhdGNoIGZpbGVzIHNwZWNpZmllZCFcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIuacquaMh+WumuS/ruijnOaqlOahiO+8gVxuIgorIlxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcxOAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJObyBzdWJqZWN0IGxpbmUgaW4gJXM/IgorbXNnc3RyICLlnKggJXMg5Lit5rKS5pyJ5qiZ6aGM6KGM77yfIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjcyOAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gb3BlbiBmb3Igd3JpdGluZyAlczogJXMiCittc2dzdHIgIueCuuWvq+WFpemWi+WVnyAlcyDlpLHmlZc6ICVzIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjczOQorbXNnaWQgIiIKKyJMaW5lcyBiZWdpbm5pbmcgaW4gXCJHSVQ6XCIgd2lsbCBiZSByZW1vdmVkLlxuIgorIkNvbnNpZGVyIGluY2x1ZGluZyBhbiBvdmVyYWxsIGRpZmZzdGF0IG9yIHRhYmxlIG9mIGNvbnRlbnRzXG4iCisiZm9yIHRoZSBwYXRjaCB5b3UgYXJlIHdyaXRpbmcuXG4iCisiXG4iCisiQ2xlYXIgdGhlIGJvZHkgY29udGVudCBpZiB5b3UgZG9uJ3Qgd2lzaCB0byBzZW5kIGEgc3VtbWFyeS5cbiIKK21zZ3N0ciAiIgorIuS7pSBcIkdJVDpcIiDplovpoK3nmoTooYzlsIfooqvliKrpmaTjgIJcbiIKKyLogIPmha7ljIXlkKvkuIDlgIvmlbTpq5TnmoTlt67nlbDntbHoqIjmiJbogIXmgqjmraPlnKjlr6vnmoTkv67oo5zmqpTnmoTnm67pjITjgIJcbiIKKyJcbiIKKyLlpoLmnpzmgqjkuI3mg7PlgrPpgIHmkZjopoHvvIzmuIXpmaTlhaflrrnjgIJcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo3NjMKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXM6ICVzIgorbXNnc3RyICLnhKHms5XplovllZ8gJXM6ICVzIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjc4MAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcy5maW5hbDogJXMiCittc2dzdHIgIueEoeazlemWi+WVnyAlcy5maW5hbDogJXMiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODIzCittc2dpZCAiU3VtbWFyeSBlbWFpbCBpcyBlbXB0eSwgc2tpcHBpbmcgaXRcbiIKK21zZ3N0ciAi5pGY6KaB5L+h5Lu254K656m677yM6Lez6YGOXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBwbGVhc2Uga2VlcCBbeS9OXSBhcyBpcy4KKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6ODU4CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB1c2UgPCVzPiBbeS9OXT8gIgorbXNnc3RyICLmgqjnorroqo3opoHkvb/nlKggPCVzPiBbeS9OXe+8nyIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo5MTMKK21zZ2lkICIiCisiVGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgOGJpdCwgYnV0IGRvIG5vdCBkZWNsYXJlIGEgQ29udGVudC1UcmFuc2Zlci0iCisiRW5jb2RpbmcuXG4iCittc2dzdHIgIuWmguS4i+aqlOahiOWQqyA4Yml0IOWFp+Wuue+8jOS9huaykuacieiBsuaYjuS4gOWAiyBDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n44CCXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTE4Cittc2dpZCAiV2hpY2ggOGJpdCBlbmNvZGluZyBzaG91bGQgSSBkZWNsYXJlIFtVVEYtOF0/ICIKK21zZ3N0ciAi6KaB6IGy5piOIDhiaXQg54K65LuA6bq85qij55qE57eo56K85qC85byPIFtVVEYtOF3vvJ8iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTI2CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIiIKKyJSZWZ1c2luZyB0byBzZW5kIGJlY2F1c2UgdGhlIHBhdGNoXG4iCisiXHQlc1xuIgorImhhcyB0aGUgdGVtcGxhdGUgc3ViamVjdCAnKioqIFNVQkpFQ1QgSEVSRSAqKionLiBQYXNzIC0tZm9yY2UgaWYgeW91IHJlYWxseSAiCisid2FudCB0byBzZW5kLlxuIgorbXNnc3RyICIiCisi5ouS57WV5YKz6YCB77yM5Zug54K65L+u6KOc5qqUXG4iCisiXHQlc1xuIgorIuWMheWQq+evhOacrOaomemhjCAnKioqIFNVQkpFQ1QgSEVSRSAqKion44CC5aaC5p6c56K65a+m5oOz6KaB5YKz6YCB77yM5L2/55So5Y+D5pW4IC0tZm9yY2XjgIJcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDo5NDUKK21zZ2lkICJUbyB3aG9tIHNob3VsZCB0aGUgZW1haWxzIGJlIHNlbnQgKGlmIGFueW9uZSk/IgorbXNnc3RyICLkv6Hku7blsIfopoHlgrPpgIHntaboqrDvvJ8iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6OTYzCisjLCBwZXJsLWZvcm1hdAorbXNnaWQgImZhdGFsOiBhbGlhcyAnJXMnIGV4cGFuZHMgdG8gaXRzZWxmXG4iCittc2dzdHIgIuiHtOWRvemMr+iqpO+8muWIpeWQjSAnJXMnIOaTtOWxleeCuuWug+iHquW3sVxuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjk3NQorbXNnaWQgIk1lc3NhZ2UtSUQgdG8gYmUgdXNlZCBhcyBJbi1SZXBseS1UbyBmb3IgdGhlIGZpcnN0IGVtYWlsIChpZiBhbnkpPyAiCittc2dzdHIgIk1lc3NhZ2UtSUQg6KKr55So5L2c56ys5LiA5bCB5L+h5Lu255qEIEluLVJlcGx5LVRvIO+8nyIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxMDMzIGdpdC1zZW5kLWVtYWlsLnBlcmw6MTA0MQorIywgcGVybC1mb3JtYXQKK21zZ2lkICJlcnJvcjogdW5hYmxlIHRvIGV4dHJhY3QgYSB2YWxpZCBhZGRyZXNzIGZyb206ICVzXG4iCittc2dzdHIgIumMr+iqpO+8muS4jeiDveW+niAlcyDkuK3mk7flj5bkuIDlgIvmnInmlYjnmoTkv6Hku7bkvY3lnYBcbiIKKworIy4gVFJBTlNMQVRPUlM6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIFtxXSBbZF0gW2VdIGluIHlvdXIKKyMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKKyMuIGF0IHRoaXMgcG9pbnQuCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjEwNDUKK21zZ2lkICJXaGF0IHRvIGRvIHdpdGggdGhpcyBhZGRyZXNzPyAoW3FddWl0fFtkXXJvcHxbZV1kaXQpOiAiCittc2dzdHIgIuWmguS9leiZleeQhumAmeWAi+S9jeWdgO+8nyhbcV11aXR8W2Rdcm9wfFtlXWRpdCnvvJoiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTM2MgorIywgcGVybC1mb3JtYXQKK21zZ2lkICJDQSBwYXRoIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiQ0Eg6Lev5b6RIFwiJXNcIiDkuI3lrZjlnKgiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ0NQorbXNnaWQgIiIKKyIgICAgVGhlIENjIGxpc3QgYWJvdmUgaGFzIGJlZW4gZXhwYW5kZWQgYnkgYWRkaXRpb25hbFxuIgorIiAgICBhZGRyZXNzZXMgZm91bmQgaW4gdGhlIHBhdGNoIGNvbW1pdCBtZXNzYWdlLiBCeSBkZWZhdWx0XG4iCisiICAgIHNlbmQtZW1haWwgcHJvbXB0cyBiZWZvcmUgc2VuZGluZyB3aGVuZXZlciB0aGlzIG9jY3Vycy5cbiIKKyIgICAgVGhpcyBiZWhhdmlvciBpcyBjb250cm9sbGVkIGJ5IHRoZSBzZW5kZW1haWwuY29uZmlybVxuIgorIiAgICBjb25maWd1cmF0aW9uIHNldHRpbmcuXG4iCisiXG4iCisiICAgIEZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLCBydW4gJ2dpdCBzZW5kLWVtYWlsIC0taGVscCcuXG4iCisiICAgIFRvIHJldGFpbiB0aGUgY3VycmVudCBiZWhhdmlvciwgYnV0IHNxdWVsY2ggdGhpcyBtZXNzYWdlLFxuIgorIiAgICBydW4gJ2dpdCBjb25maWcgLS1nbG9iYWwgc2VuZGVtYWlsLmNvbmZpcm0gYXV0bycuXG4iCisiXG4iCittc2dzdHIgIiIKKyIgICAg5Lul5LiK55qE5oqE6YCB5YiX6KGo77yIQ2PvvInlt7LntpPnlKjkv67oo5zmqpTmj5DkuqToqIrmga/kuK3nmbznj77nmoTkvY3lnYDpgLLooYxcbiIKKyIgICAg5LqG5pO05bGV44CC6aCQ6KitIHNlbmQtZW1haWwg5pyD57Wm5Ye65o+Q56S644CC6YCZ5YCL6KGM54K65Y+v5Lul6YCP6YGOXG4iCisiICAgIHNlbmRlbWFpbC5jb25maXJtIOioreWumuioreWumuOAglxuIgorIlxuIgorIiAgICDmm7TlpJroqIrmga/vvIzln7fooYwgJ2dpdCBzZW5kLWVtYWlsIC0taGVscCfjgIJcbiIKKyIgICAg6KaB5L+d5oyB55uu5YmN6KGM54K677yM5L2G5LiN6aGv56S65q2k6KiK5oGv77yM5Z+36KGMICdnaXQgY29uZmlnIC0tZ2xvYmFsXG4iCisiICAgIHNlbmRlbWFpbC5jb25maXJtIGF1dG8n44CCXG4iCisiXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBbeV0gW25dIFtlXSBbcV0gW2FdIGluIHlvdXIKKyMuIHRyYW5zbGF0aW9uLiBUaGUgcHJvZ3JhbSB3aWxsIG9ubHkgYWNjZXB0IEVuZ2xpc2ggaW5wdXQKKyMuIGF0IHRoaXMgcG9pbnQuCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0NjAKK21zZ2lkICJTZW5kIHRoaXMgZW1haWw/IChbeV1lc3xbbl1vfFtlXWRpdHxbcV11aXR8W2FdbGwpOiAiCittc2dzdHIgIuWCs+mAgemAmeWwgeS/oeS7tu+8nyhbeV1lc3xbbl1vfFtlXWRpdHxbcV11aXR8W2FdbGwpOiAiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTQ2MworbXNnaWQgIlNlbmQgdGhpcyBlbWFpbCByZXBseSByZXF1aXJlZCIKK21zZ3N0ciAi5YKz6YCB6KaB5rGC55qE5L+h5Lu25Zue5b6pIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE0OTEKK21zZ2lkICJUaGUgcmVxdWlyZWQgU01UUCBzZXJ2ZXIgaXMgbm90IHByb3Blcmx5IGRlZmluZWQuIgorbXNnc3RyICLopoHmsYLnmoQgU01UUCDkvLrmnI3lmajmnKrooqvmraPnorrlrprnvqnjgIIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTUzOAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBTVEFSVFRMUyEgJXMiCittc2dzdHIgIuS8uuacjeWZqOS4jeaUr+aPtCBTVEFSVFRMU++8gSVzIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NDMgZ2l0LXNlbmQtZW1haWwucGVybDoxNTQ3CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIlNUQVJUVExTIGZhaWxlZCEgJXMiCittc2dzdHIgIlNUQVJUVExTIOWkseaVl++8gSVzIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NTYKK21zZ2lkICJVbmFibGUgdG8gaW5pdGlhbGl6ZSBTTVRQIHByb3Blcmx5LiBDaGVjayBjb25maWcgYW5kIHVzZSAtLXNtdHAtZGVidWcuIgorbXNnc3RyICLnhKHms5XmraPnorrlnLDliJ3lp4vljJYgU01UUOOAguaqouafpeioreWumuS4puS9v+eUqCAtLXNtdHAtZGVidWfjgIIiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3NAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2VuZCAlc1xuIgorbXNnc3RyICLnhKHms5XlgrPpgIEgJXNcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc3CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIkRyeS1TZW50ICVzXG4iCittc2dzdHIgIua4rOippuWft+ihjOWCs+mAgSAlc1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE1NzcKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU2VudCAlc1xuIgorbXNnc3RyICLmraPlgrPpgIEgJXNcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTc5Cittc2dpZCAiRHJ5LU9LLiBMb2cgc2F5czpcbiIKK21zZ3N0ciAi5ris6Kmm5Z+36KGM5oiQ5Yqf44CC5pel6KqM6Kqq77yaXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTU3OQorbXNnaWQgIk9LLiBMb2cgc2F5czpcbiIKK21zZ3N0ciAiT0vjgILml6XoqozoqqrvvJpcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTkxCittc2dpZCAiUmVzdWx0OiAiCittc2dzdHIgIue1kOaenO+8miIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNTk0Cittc2dpZCAiUmVzdWx0OiBPS1xuIgorbXNnc3RyICLntZDmnpzvvJpPS1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2MTIKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgb3BlbiBmaWxlICVzIgorbXNnc3RyICLnhKHms5XplovllZ/mqpTmoYggJXMiCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY1OSBnaXQtc2VuZC1lbWFpbC5wZXJsOjE2NzkKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiKG1ib3gpIEFkZGluZyBjYzogJXMgZnJvbSBsaW5lICclcydcbiIKK21zZ3N0ciAiKG1ib3gpIOaWsOWiniBjY++8miVzIOiHquihjCAnJXMnXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTY2NQorIywgcGVybC1mb3JtYXQKK21zZ2lkICIobWJveCkgQWRkaW5nIHRvOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgorbXNnc3RyICIobWJveCkg5paw5aKeIHRv77yaJXMg6Ieq6KGMICclcydcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxNzE4CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIihub24tbWJveCkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgorbXNnc3RyICIobm9uLW1ib3gpIOaWsOWiniBjY++8miVzIOiHquihjCAnJXMnXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTc1MworIywgcGVybC1mb3JtYXQKK21zZ2lkICIoYm9keSkgQWRkaW5nIGNjOiAlcyBmcm9tIGxpbmUgJyVzJ1xuIgorbXNnc3RyICIoYm9keSkg5paw5aKeIGNjOiAlcyDoh6rooYwgJyVzJ1xuIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NjQKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiKCVzKSBDb3VsZCBub3QgZXhlY3V0ZSAnJXMnIgorbXNnc3RyICIoJXMpIOS4jeiDveWft+ihjCAnJXMnIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE4NzEKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiKCVzKSBBZGRpbmcgJXM6ICVzIGZyb206ICclcydcbiIKK21zZ3N0ciAiKCVzKSDmlrDlop4gJXM6ICVzIOiHqu+8miclcydcbiIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxODc1CisjLCBwZXJsLWZvcm1hdAorbXNnaWQgIiglcykgZmFpbGVkIHRvIGNsb3NlIHBpcGUgdG8gJyVzJyIKK21zZ3N0ciAiKCVzKSDnhKHms5Xpl5zplonnrqHpgZPoh7MgJyVzJyIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTA1Cittc2dpZCAiY2Fubm90IHNlbmQgbWVzc2FnZSBhcyA3Yml0IgorbXNnc3RyICLkuI3og73ku6UgN2JpdCDlvaLlvI/lgrPpgIHoqIrmga8iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTkxMworbXNnaWQgImludmFsaWQgdHJhbnNmZXIgZW5jb2RpbmciCittc2dzdHIgIueEoeaViOeahOWCs+mAgee3qOeivCIKKworIzogZ2l0LXNlbmQtZW1haWwucGVybDoxOTU0IGdpdC1zZW5kLWVtYWlsLnBlcmw6MjAwNiBnaXQtc2VuZC1lbWFpbC5wZXJsOjIwMTYKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIG9wZW4gJXM6ICVzXG4iCittc2dzdHIgIuS4jeiDvemWi+WVnyAlc++8miVzXG4iCisKKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk1NworIywgcGVybC1mb3JtYXQKK21zZ2lkICIlczogcGF0Y2ggY29udGFpbnMgYSBsaW5lIGxvbmdlciB0aGFuIDk5OCBjaGFyYWN0ZXJzIgorbXNnc3RyICIlc++8muS/ruijnOaqlOWMheWQq+S4gOWAi+i2hemBjiA5OTgg5a2X5YWD55qE6KGMIgorCisjOiBnaXQtc2VuZC1lbWFpbC5wZXJsOjE5NzQKKyMsIHBlcmwtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgJXMgd2l0aCBiYWNrdXAgc3VmZml4ICclcycuXG4iCittc2dzdHIgIueVpemBjiAlcyDlkKvlgpnku73lvozntrQgJyVzJ+OAglxuIgorCisjLiBUUkFOU0xBVE9SUzogcGxlYXNlIGtlZXAgIlt5fE5dIiBhcyBpcy4KKyM6IGdpdC1zZW5kLWVtYWlsLnBlcmw6MTk3OAorIywgcGVybC1mb3JtYXQKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gc2VuZCAlcz8gW3l8Tl06ICIKK21zZ3N0ciAi5oKo55yf55qE6KaB5YKz6YCBICVz77yfW3l8Tl3vvJoiCisKKyMsIGMtZm9ybWF0CisjfiBtc2dpZCAidW5hYmxlIHRvIGdldCB0cmVlIGZvciAlcyIKKyN+IG1zZ3N0ciAi54Sh5rOV5b6X5YiwICVzIOeahOaoueeLgOeJqeS7tiIKKworI34gbXNnaWQgIlVzZSBhbiBleHBlcmltZW50YWwgaGV1cmlzdGljIHRvIGltcHJvdmUgZGlmZnMiCisjfiBtc2dzdHIgIuS9v+eUqOS4gOWAi+Wvpumpl+aAp+eahOWVn+eZvOW8j+a8lOeul+azleaUuemAsuW3rueVsOmhr+ekuiIKKworI34gbXNnaWQgImdpdCBjb21taXQtZ3JhcGggWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCisjfiBtc2dzdHIgImdpdCBjb21taXQtZ3JhcGggWy0tb2JqZWN0LWRpciA854mp5Lu255uu6YyEPl0iCisKKyN+IG1zZ2lkICJnaXQgY29tbWl0LWdyYXBoIHJlYWQgWy0tb2JqZWN0LWRpciA8b2JqZGlyPl0iCisjfiBtc2dzdHIgImdpdCBjb21taXQtZ3JhcGggcmVhZCBbLS1vYmplY3QtZGlyIDznianku7bnm67pjIQ+XSIKZGlmZiAtLWdpdCBhL3BwYy9zaGExLmMgYi9wcGMvc2hhMS5jCmluZGV4IGVjNmExOTIuLjFiNzA1Y2UgMTAwNjQ0Ci0tLSBhL3BwYy9zaGExLmMKKysrIGIvcHBjL3NoYTEuYwpAQCAtMTAsOCArMTAsOCBAQAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgInNoYTEuaCIKIAotZXh0ZXJuIHZvaWQgcHBjX3NoYTFfY29yZSh1aW50MzJfdCAqaGFzaCwgY29uc3QgdW5zaWduZWQgY2hhciAqcCwKLQkJCSAgdW5zaWduZWQgaW50IG5ibG9ja3MpOwordm9pZCBwcGNfc2hhMV9jb3JlKHVpbnQzMl90ICpoYXNoLCBjb25zdCB1bnNpZ25lZCBjaGFyICpwLAorCQkgICB1bnNpZ25lZCBpbnQgbmJsb2Nrcyk7CiAKIGludCBwcGNfU0hBMV9Jbml0KHBwY19TSEFfQ1RYICpjKQogewpkaWZmIC0tZ2l0IGEvcHJlbG9hZC1pbmRleC5jIGIvcHJlbG9hZC1pbmRleC5jCmluZGV4IGM3ZGMzZjIuLmVkNmVhYTQgMTAwNjQ0Ci0tLSBhL3ByZWxvYWQtaW5kZXguYworKysgYi9wcmVsb2FkLWluZGV4LmMKQEAgLTgsNiArOCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAicHJvZ3Jlc3MuaCIKICNpbmNsdWRlICJ0aHJlYWQtdXRpbHMuaCIKKyNpbmNsdWRlICJyZXBvc2l0b3J5LmgiCiAKIC8qCiAgKiBNb3N0bHkgcmFuZG9tbHkgY2hvc2VuIG1heGltdW0gdGhyZWFkIGNvdW50czogd2UKQEAgLTc3LDcgKzc4LDcgQEAKIAkJaWYgKGllX21hdGNoX3N0YXQoaW5kZXgsIGNlLCAmc3QsIENFX01BVENIX1JBQ1lfSVNfRElSVFl8Q0VfTUFUQ0hfSUdOT1JFX0ZTTU9OSVRPUikpCiAJCQljb250aW51ZTsKIAkJY2VfbWFya191cHRvZGF0ZShjZSk7Ci0JCW1hcmtfZnNtb25pdG9yX3ZhbGlkKGNlKTsKKwkJbWFya19mc21vbml0b3JfdmFsaWQoaW5kZXgsIGNlKTsKIAl9IHdoaWxlICgtLW5yID4gMCk7CiAJaWYgKHAtPnByb2dyZXNzKSB7CiAJCXN0cnVjdCBwcm9ncmVzc19kYXRhICpwZCA9IHAtPnByb2dyZXNzOwpAQCAtMTQ2LDEyICsxNDcsMTIgQEAKIAl0cmFjZV9wZXJmb3JtYW5jZV9sZWF2ZSgicHJlbG9hZCBpbmRleCIpOwogfQogCi1pbnQgcmVhZF9pbmRleF9wcmVsb2FkKHN0cnVjdCBpbmRleF9zdGF0ZSAqaW5kZXgsCi0JCSAgICAgICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAotCQkgICAgICAgdW5zaWduZWQgaW50IHJlZnJlc2hfZmxhZ3MpCitpbnQgcmVwb19yZWFkX2luZGV4X3ByZWxvYWQoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkgICAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKKwkJCSAgICB1bnNpZ25lZCBpbnQgcmVmcmVzaF9mbGFncykKIHsKLQlpbnQgcmV0dmFsID0gcmVhZF9pbmRleChpbmRleCk7CisJaW50IHJldHZhbCA9IHJlcG9fcmVhZF9pbmRleChyZXBvKTsKIAotCXByZWxvYWRfaW5kZXgoaW5kZXgsIHBhdGhzcGVjLCByZWZyZXNoX2ZsYWdzKTsKKwlwcmVsb2FkX2luZGV4KHJlcG8tPmluZGV4LCBwYXRoc3BlYywgcmVmcmVzaF9mbGFncyk7CiAJcmV0dXJuIHJldHZhbDsKIH0KZGlmZiAtLWdpdCBhL3ByZXR0eS5jIGIvcHJldHR5LmMKaW5kZXggYjgzYTNlYy4uMjhhZmM3MCAxMDA2NDQKLS0tIGEvcHJldHR5LmMKKysrIGIvcHJldHR5LmMKQEAgLTIwLDYgKzIwLDcgQEAKIAlpbnQgaXNfdGZvcm1hdDsKIAlpbnQgZXhwYW5kX3RhYnNfaW5fbG9nOwogCWludCBpc19hbGlhczsKKwllbnVtIGRhdGVfbW9kZV90eXBlIGRlZmF1bHRfZGF0ZV9tb2RlX3R5cGU7CiAJY29uc3QgY2hhciAqdXNlcl9mb3JtYXQ7CiB9ICpjb21taXRfZm9ybWF0czsKIHN0YXRpYyBzaXplX3QgYnVpbHRpbl9mb3JtYXRzX2xlbjsKQEAgLTk3LDEzICs5OCwxOSBAQAogCQl7ICJtYm94cmQiLAlDTUlUX0ZNVF9NQk9YUkQsCTAsCTAgfSwKIAkJeyAiZnVsbGVyIiwJQ01JVF9GTVRfRlVMTEVSLAkwLAk4IH0sCiAJCXsgImZ1bGwiLAlDTUlUX0ZNVF9GVUxMLAkJMCwJOCB9LAotCQl7ICJvbmVsaW5lIiwJQ01JVF9GTVRfT05FTElORSwJMSwJMCB9CisJCXsgIm9uZWxpbmUiLAlDTUlUX0ZNVF9PTkVMSU5FLAkxLAkwIH0sCisJCXsgInJlZmVyZW5jZSIsCUNNSVRfRk1UX1VTRVJGT1JNQVQsCTEsCTAsCisJCQkwLCBEQVRFX1NIT1JULCAiJUMoYXV0byklaCAoJXMsICVhZCkiIH0sCisJCS8qCisJCSAqIFBsZWFzZSB1cGRhdGUgJF9fZ2l0X2xvZ19wcmV0dHlfZm9ybWF0cyBpbgorCQkgKiBnaXQtY29tcGxldGlvbi5iYXNoIHdoZW4geW91IGFkZCBuZXcgZm9ybWF0cy4KKwkJICovCiAJfTsKIAljb21taXRfZm9ybWF0c19sZW4gPSBBUlJBWV9TSVpFKGJ1aWx0aW5fZm9ybWF0cyk7CiAJYnVpbHRpbl9mb3JtYXRzX2xlbiA9IGNvbW1pdF9mb3JtYXRzX2xlbjsKIAlBTExPQ19HUk9XKGNvbW1pdF9mb3JtYXRzLCBjb21taXRfZm9ybWF0c19sZW4sIGNvbW1pdF9mb3JtYXRzX2FsbG9jKTsKLQltZW1jcHkoY29tbWl0X2Zvcm1hdHMsIGJ1aWx0aW5fZm9ybWF0cywKLQkgICAgICAgc2l6ZW9mKCpidWlsdGluX2Zvcm1hdHMpKkFSUkFZX1NJWkUoYnVpbHRpbl9mb3JtYXRzKSk7CisJQ09QWV9BUlJBWShjb21taXRfZm9ybWF0cywgYnVpbHRpbl9mb3JtYXRzLAorCQkgICBBUlJBWV9TSVpFKGJ1aWx0aW5fZm9ybWF0cykpOwogCiAJZ2l0X2NvbmZpZyhnaXRfcHJldHR5X2Zvcm1hdHNfY29uZmlnLCBOVUxMKTsKIH0KQEAgLTE3Nyw2ICsxODQsOCBAQAogCXJldi0+Y29tbWl0X2Zvcm1hdCA9IGNvbW1pdF9mb3JtYXQtPmZvcm1hdDsKIAlyZXYtPnVzZV90ZXJtaW5hdG9yID0gY29tbWl0X2Zvcm1hdC0+aXNfdGZvcm1hdDsKIAlyZXYtPmV4cGFuZF90YWJzX2luX2xvZ19kZWZhdWx0ID0gY29tbWl0X2Zvcm1hdC0+ZXhwYW5kX3RhYnNfaW5fbG9nOworCWlmICghcmV2LT5kYXRlX21vZGVfZXhwbGljaXQgJiYgY29tbWl0X2Zvcm1hdC0+ZGVmYXVsdF9kYXRlX21vZGVfdHlwZSkKKwkJcmV2LT5kYXRlX21vZGUudHlwZSA9IGNvbW1pdF9mb3JtYXQtPmRlZmF1bHRfZGF0ZV9tb2RlX3R5cGU7CiAJaWYgKGNvbW1pdF9mb3JtYXQtPmZvcm1hdCA9PSBDTUlUX0ZNVF9VU0VSRk9STUFUKSB7CiAJCXNhdmVfdXNlcl9mb3JtYXQocmV2LCBjb21taXRfZm9ybWF0LT51c2VyX2Zvcm1hdCwKIAkJCQkgY29tbWl0X2Zvcm1hdC0+aXNfdGZvcm1hdCk7CkBAIC0zMzksOCArMzQ4LDcgQEAKIAlyZXR1cm4gIShpc2FsbnVtKGNoKSB8fCBjaCA9PSAnIScgfHwgY2ggPT0gJyonIHx8IGNoID09ICcrJyB8fCBjaCA9PSAnLScgfHwgY2ggPT0gJy8nKTsKIH0KIAotc3RhdGljIGludCBuZWVkc19yZmMyMDQ3X2VuY29kaW5nKGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4sCi0JCQkJICBlbnVtIHJmYzIwNDdfdHlwZSB0eXBlKQorc3RhdGljIGludCBuZWVkc19yZmMyMDQ3X2VuY29kaW5nKGNvbnN0IGNoYXIgKmxpbmUsIGludCBsZW4pCiB7CiAJaW50IGk7CiAKQEAgLTQ2Niw3ICs0NzQsNyBAQAogCQl9CiAKIAkJc3RyYnVmX2FkZHN0cihzYiwgIkZyb206ICIpOwotCQlpZiAobmVlZHNfcmZjMjA0N19lbmNvZGluZyhuYW1lYnVmLCBuYW1lbGVuLCBSRkMyMDQ3X0FERFJFU1MpKSB7CisJCWlmIChuZWVkc19yZmMyMDQ3X2VuY29kaW5nKG5hbWVidWYsIG5hbWVsZW4pKSB7CiAJCQlhZGRfcmZjMjA0NyhzYiwgbmFtZWJ1ZiwgbmFtZWxlbiwKIAkJCQkgICAgZW5jb2RpbmcsIFJGQzIwNDdfQUREUkVTUyk7CiAJCQltYXhfbGVuZ3RoID0gNzY7IC8qIHBlciByZmMyMDQ3ICovCkBAIC01OTUsMTQgKzYwMywxNSBAQAogCXJldHVybiBzdHJidWZfZGV0YWNoKCZ0bXAsIE5VTEwpOwogfQogCi1jb25zdCBjaGFyICpsb2dtc2dfcmVlbmNvZGUoY29uc3Qgc3RydWN0IGNvbW1pdCAqY29tbWl0LAotCQkJICAgIGNoYXIgKipjb21taXRfZW5jb2RpbmcsCi0JCQkgICAgY29uc3QgY2hhciAqb3V0cHV0X2VuY29kaW5nKQorY29uc3QgY2hhciAqcmVwb19sb2dtc2dfcmVlbmNvZGUoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJIGNvbnN0IHN0cnVjdCBjb21taXQgKmNvbW1pdCwKKwkJCQkgY2hhciAqKmNvbW1pdF9lbmNvZGluZywKKwkJCQkgY29uc3QgY2hhciAqb3V0cHV0X2VuY29kaW5nKQogewogCXN0YXRpYyBjb25zdCBjaGFyICp1dGY4ID0gIlVURi04IjsKIAljb25zdCBjaGFyICp1c2VfZW5jb2Rpbmc7CiAJY2hhciAqZW5jb2Rpbmc7Ci0JY29uc3QgY2hhciAqbXNnID0gZ2V0X2NvbW1pdF9idWZmZXIoY29tbWl0LCBOVUxMKTsKKwljb25zdCBjaGFyICptc2cgPSByZXBvX2dldF9jb21taXRfYnVmZmVyKHIsIGNvbW1pdCwgTlVMTCk7CiAJY2hhciAqb3V0OwogCiAJaWYgKCFvdXRwdXRfZW5jb2RpbmcgfHwgISpvdXRwdXRfZW5jb2RpbmcpIHsKQEAgLTYzMCw3ICs2MzksNyBAQAogCQkgKiB0aGUgY2FjaGVkIGNvcHkgZnJvbSBnZXRfY29tbWl0X2J1ZmZlciwgd2UgbmVlZCB0byBkdXBsaWNhdGUgaXQKIAkJICogdG8gYXZvaWQgbXVuZ2luZyB0aGUgY2FjaGVkIGNvcHkuCiAJCSAqLwotCQlpZiAobXNnID09IGdldF9jYWNoZWRfY29tbWl0X2J1ZmZlcih0aGVfcmVwb3NpdG9yeSwgY29tbWl0LCBOVUxMKSkKKwkJaWYgKG1zZyA9PSBnZXRfY2FjaGVkX2NvbW1pdF9idWZmZXIociwgY29tbWl0LCBOVUxMKSkKIAkJCW91dCA9IHhzdHJkdXAobXNnKTsKIAkJZWxzZQogCQkJb3V0ID0gKGNoYXIgKiltc2c7CkBAIC02NDQsNyArNjUzLDcgQEAKIAkJICovCiAJCW91dCA9IHJlZW5jb2RlX3N0cmluZyhtc2csIG91dHB1dF9lbmNvZGluZywgdXNlX2VuY29kaW5nKTsKIAkJaWYgKG91dCkKLQkJCXVudXNlX2NvbW1pdF9idWZmZXIoY29tbWl0LCBtc2cpOworCQkJcmVwb191bnVzZV9jb21taXRfYnVmZmVyKHIsIGNvbW1pdCwgbXNnKTsKIAl9CiAKIAkvKgpAQCAtNjkyLDcgKzcwMSw3IEBACiAJbWFpbCA9IHMubWFpbF9iZWdpbjsKIAltYWlsbGVuID0gcy5tYWlsX2VuZCAtIHMubWFpbF9iZWdpbjsKIAotCWlmIChwYXJ0ID09ICdOJyB8fCBwYXJ0ID09ICdFJykgLyogbWFpbG1hcCBsb29rdXAgKi8KKwlpZiAocGFydCA9PSAnTicgfHwgcGFydCA9PSAnRScgfHwgcGFydCA9PSAnTCcpIC8qIG1haWxtYXAgbG9va3VwICovCiAJCW1haWxtYXBfbmFtZSgmbWFpbCwgJm1haWxsZW4sICZuYW1lLCAmbmFtZWxlbik7CiAJaWYgKHBhcnQgPT0gJ24nIHx8IHBhcnQgPT0gJ04nKSB7CS8qIG5hbWUgKi8KIAkJc3RyYnVmX2FkZChzYiwgbmFtZSwgbmFtZWxlbik7CkBAIC03MDIsNiArNzExLDEzIEBACiAJCXN0cmJ1Zl9hZGQoc2IsIG1haWwsIG1haWxsZW4pOwogCQlyZXR1cm4gcGxhY2Vob2xkZXJfbGVuOwogCX0KKwlpZiAocGFydCA9PSAnbCcgfHwgcGFydCA9PSAnTCcpIHsJLyogbG9jYWwtcGFydCAqLworCQljb25zdCBjaGFyICphdCA9IG1lbWNocihtYWlsLCAnQCcsIG1haWxsZW4pOworCQlpZiAoYXQpCisJCQltYWlsbGVuID0gYXQgLSBtYWlsOworCQlzdHJidWZfYWRkKHNiLCBtYWlsLCBtYWlsbGVuKTsKKwkJcmV0dXJuIHBsYWNlaG9sZGVyX2xlbjsKKwl9CiAKIAlpZiAoIXMuZGF0ZV9iZWdpbikKIAkJZ290byBza2lwOwpAQCAtNzI3LDYgKzc0Myw5IEBACiAJY2FzZSAnSSc6CS8qIGRhdGUsIElTTyA4NjAxIHN0cmljdCAqLwogCQlzdHJidWZfYWRkc3RyKHNiLCBzaG93X2lkZW50X2RhdGUoJnMsIERBVEVfTU9ERShJU084NjAxX1NUUklDVCkpKTsKIAkJcmV0dXJuIHBsYWNlaG9sZGVyX2xlbjsKKwljYXNlICdzJzoKKwkJc3RyYnVmX2FkZHN0cihzYiwgc2hvd19pZGVudF9kYXRlKCZzLCBEQVRFX01PREUoU0hPUlQpKSk7CisJCXJldHVybiBwbGFjZWhvbGRlcl9sZW47CiAJfQogCiBza2lwOgpAQCAtOTg0LDggKzEwMDMsNyBAQAogCXJldHVybiByZXN0IC0gcGxhY2Vob2xkZXI7CiB9CiAKLXN0YXRpYyBzaXplX3QgcGFyc2VfcGFkZGluZ19wbGFjZWhvbGRlcihzdHJ1Y3Qgc3RyYnVmICpzYiwKLQkJCQkJY29uc3QgY2hhciAqcGxhY2Vob2xkZXIsCitzdGF0aWMgc2l6ZV90IHBhcnNlX3BhZGRpbmdfcGxhY2Vob2xkZXIoY29uc3QgY2hhciAqcGxhY2Vob2xkZXIsCiAJCQkJCXN0cnVjdCBmb3JtYXRfY29tbWl0X2NvbnRleHQgKmMpCiB7CiAJY29uc3QgY2hhciAqY2ggPSBwbGFjZWhvbGRlcjsKQEAgLTEwNTYsMTMgKzEwNzQsMjYgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBtYXRjaF9wbGFjZWhvbGRlcl9hcmcoY29uc3QgY2hhciAqdG9fcGFyc2UsIGNvbnN0IGNoYXIgKmNhbmRpZGF0ZSwKLQkJCQkgY29uc3QgY2hhciAqKmVuZCkKK3N0YXRpYyBpbnQgbWF0Y2hfcGxhY2Vob2xkZXJfYXJnX3ZhbHVlKGNvbnN0IGNoYXIgKnRvX3BhcnNlLCBjb25zdCBjaGFyICpjYW5kaWRhdGUsCisJCQkJICAgICAgIGNvbnN0IGNoYXIgKiplbmQsIGNvbnN0IGNoYXIgKip2YWx1ZXN0YXJ0LAorCQkJCSAgICAgICBzaXplX3QgKnZhbHVlbGVuKQogewogCWNvbnN0IGNoYXIgKnA7CiAKIAlpZiAoIShza2lwX3ByZWZpeCh0b19wYXJzZSwgY2FuZGlkYXRlLCAmcCkpKQogCQlyZXR1cm4gMDsKKwlpZiAodmFsdWVzdGFydCkgeworCQlpZiAoKnAgPT0gJz0nKSB7CisJCQkqdmFsdWVzdGFydCA9IHAgKyAxOworCQkJKnZhbHVlbGVuID0gc3RyY3NwbigqdmFsdWVzdGFydCwgIiwpIik7CisJCQlwID0gKnZhbHVlc3RhcnQgKyAqdmFsdWVsZW47CisJCX0gZWxzZSB7CisJCQlpZiAoKnAgIT0gJywnICYmICpwICE9ICcpJykKKwkJCQlyZXR1cm4gMDsKKwkJCSp2YWx1ZXN0YXJ0ID0gTlVMTDsKKwkJCSp2YWx1ZWxlbiA9IDA7CisJCX0KKwl9CiAJaWYgKCpwID09ICcsJykgewogCQkqZW5kID0gcCArIDE7CiAJCXJldHVybiAxOwpAQCAtMTA3NCw2ICsxMTA1LDQ3IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgbWF0Y2hfcGxhY2Vob2xkZXJfYm9vbF9hcmcoY29uc3QgY2hhciAqdG9fcGFyc2UsIGNvbnN0IGNoYXIgKmNhbmRpZGF0ZSwKKwkJCQkgICAgICBjb25zdCBjaGFyICoqZW5kLCBpbnQgKnZhbCkKK3sKKwljb25zdCBjaGFyICphcmd2YWw7CisJY2hhciAqc3RydmFsOworCXNpemVfdCBhcmdsZW47CisJaW50IHY7CisKKwlpZiAoIW1hdGNoX3BsYWNlaG9sZGVyX2FyZ192YWx1ZSh0b19wYXJzZSwgY2FuZGlkYXRlLCBlbmQsICZhcmd2YWwsICZhcmdsZW4pKQorCQlyZXR1cm4gMDsKKworCWlmICghYXJndmFsKSB7CisJCSp2YWwgPSAxOworCQlyZXR1cm4gMTsKKwl9CisKKwlzdHJ2YWwgPSB4c3RybmR1cChhcmd2YWwsIGFyZ2xlbik7CisJdiA9IGdpdF9wYXJzZV9tYXliZV9ib29sKHN0cnZhbCk7CisJZnJlZShzdHJ2YWwpOworCisJaWYgKHYgPT0gLTEpCisJCXJldHVybiAwOworCisJKnZhbCA9IHY7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBmb3JtYXRfdHJhaWxlcl9tYXRjaF9jYihjb25zdCBzdHJ1Y3Qgc3RyYnVmICprZXksIHZvaWQgKnVkKQoreworCWNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCA9IHVkOworCWNvbnN0IHN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICppdGVtOworCisJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbSAoaXRlbSwgbGlzdCkgeworCQlpZiAoa2V5LT5sZW4gPT0gKHVpbnRwdHJfdClpdGVtLT51dGlsICYmCisJCSAgICAhc3RybmNhc2VjbXAoaXRlbS0+c3RyaW5nLCBrZXktPmJ1Ziwga2V5LT5sZW4pKQorCQkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQorCiBzdGF0aWMgc2l6ZV90IGZvcm1hdF9jb21taXRfb25lKHN0cnVjdCBzdHJidWYgKnNiLCAvKiBpbiBVVEYtOCAqLwogCQkJCWNvbnN0IGNoYXIgKnBsYWNlaG9sZGVyLAogCQkJCXZvaWQgKmNvbnRleHQpCkBAIC0xMDgzLDkgKzExNTUsMTQgQEAKIAljb25zdCBjaGFyICptc2cgPSBjLT5tZXNzYWdlOwogCXN0cnVjdCBjb21taXRfbGlzdCAqcDsKIAljb25zdCBjaGFyICphcmc7Ci0JaW50IGNoOworCXNpemVfdCByZXM7CisJY2hhciAqKnNsb3Q7CiAKIAkvKiB0aGVzZSBhcmUgaW5kZXBlbmRlbnQgb2YgdGhlIGNvbW1pdCAqLworCXJlcyA9IHN0cmJ1Zl9leHBhbmRfbGl0ZXJhbF9jYihzYiwgcGxhY2Vob2xkZXIsIE5VTEwpOworCWlmIChyZXMpCisJCXJldHVybiByZXM7CisKIAlzd2l0Y2ggKHBsYWNlaG9sZGVyWzBdKSB7CiAJY2FzZSAnQyc6CiAJCWlmIChzdGFydHNfd2l0aChwbGFjZWhvbGRlciArIDEsICIoYXV0bykiKSkgewpAQCAtMTEwNCwxNiArMTE4MSw2IEBACiAJCQkgKi8KIAkJCXJldHVybiByZXQ7CiAJCX0KLQljYXNlICduJzoJCS8qIG5ld2xpbmUgKi8KLQkJc3RyYnVmX2FkZGNoKHNiLCAnXG4nKTsKLQkJcmV0dXJuIDE7Ci0JY2FzZSAneCc6Ci0JCS8qICV4MDAgPT0gTlVMLCAleDBhID09IExGLCBldGMuICovCi0JCWNoID0gaGV4MmNocihwbGFjZWhvbGRlciArIDEpOwotCQlpZiAoY2ggPCAwKQotCQkJcmV0dXJuIDA7Ci0JCXN0cmJ1Zl9hZGRjaChzYiwgY2gpOwotCQlyZXR1cm4gMzsKIAljYXNlICd3JzoKIAkJaWYgKHBsYWNlaG9sZGVyWzFdID09ICcoJykgewogCQkJdW5zaWduZWQgbG9uZyB3aWR0aCA9IDAsIGluZGVudDEgPSAwLCBpbmRlbnQyID0gMDsKQEAgLTExNDEsNyArMTIwOCw3IEBACiAKIAljYXNlICc8JzoKIAljYXNlICc+JzoKLQkJcmV0dXJuIHBhcnNlX3BhZGRpbmdfcGxhY2Vob2xkZXIoc2IsIHBsYWNlaG9sZGVyLCBjKTsKKwkJcmV0dXJuIHBhcnNlX3BhZGRpbmdfcGxhY2Vob2xkZXIocGxhY2Vob2xkZXIsIGMpOwogCX0KIAogCS8qIHRoZXNlIGRlcGVuZCBvbiB0aGUgY29tbWl0ICovCkBAIC0xMTg3LDEzICsxMjU0LDE5IEBACiAJCXN0cmJ1Zl9hZGRzdHIoc2IsIGdldF9yZXZpc2lvbl9tYXJrKE5VTEwsIGNvbW1pdCkpOwogCQlyZXR1cm4gMTsKIAljYXNlICdkJzoKLQkJbG9hZF9yZWZfZGVjb3JhdGlvbnMoTlVMTCwgREVDT1JBVEVfU0hPUlRfUkVGUyk7CiAJCWZvcm1hdF9kZWNvcmF0aW9ucyhzYiwgY29tbWl0LCBjLT5hdXRvX2NvbG9yKTsKIAkJcmV0dXJuIDE7CiAJY2FzZSAnRCc6Ci0JCWxvYWRfcmVmX2RlY29yYXRpb25zKE5VTEwsIERFQ09SQVRFX1NIT1JUX1JFRlMpOwogCQlmb3JtYXRfZGVjb3JhdGlvbnNfZXh0ZW5kZWQoc2IsIGNvbW1pdCwgYy0+YXV0b19jb2xvciwgIiIsICIsICIsICIiKTsKIAkJcmV0dXJuIDE7CisJY2FzZSAnUyc6CQkvKiB0YWcvYnJhbmNoIGxpa2UgLS1zb3VyY2UgKi8KKwkJaWYgKCEoYy0+cHJldHR5X2N0eC0+cmV2ICYmIGMtPnByZXR0eV9jdHgtPnJldi0+c291cmNlcykpCisJCQlyZXR1cm4gMDsKKwkJc2xvdCA9IHJldmlzaW9uX3NvdXJjZXNfYXQoYy0+cHJldHR5X2N0eC0+cmV2LT5zb3VyY2VzLCBjb21taXQpOworCQlpZiAoIShzbG90ICYmICpzbG90KSkKKwkJCXJldHVybiAwOworCQlzdHJidWZfYWRkc3RyKHNiLCAqc2xvdCk7CisJCXJldHVybiAxOwogCWNhc2UgJ2cnOgkJLyogcmVmbG9nIGluZm8gKi8KIAkJc3dpdGNoKHBsYWNlaG9sZGVyWzFdKSB7CiAJCWNhc2UgJ2QnOgkvKiByZWZsb2cgc2VsZWN0b3IgKi8KQEAgLTEyMzgsOSArMTMxMSwxOCBAQAogCQljYXNlICc/JzoKIAkJCXN3aXRjaCAoYy0+c2lnbmF0dXJlX2NoZWNrLnJlc3VsdCkgewogCQkJY2FzZSAnRyc6CisJCQkJc3dpdGNoIChjLT5zaWduYXR1cmVfY2hlY2sudHJ1c3RfbGV2ZWwpIHsKKwkJCQljYXNlIFRSVVNUX1VOREVGSU5FRDoKKwkJCQljYXNlIFRSVVNUX05FVkVSOgorCQkJCQlzdHJidWZfYWRkY2goc2IsICdVJyk7CisJCQkJCWJyZWFrOworCQkJCWRlZmF1bHQ6CisJCQkJCXN0cmJ1Zl9hZGRjaChzYiwgJ0cnKTsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJCWJyZWFrOwogCQkJY2FzZSAnQic6CiAJCQljYXNlICdFJzoKLQkJCWNhc2UgJ1UnOgogCQkJY2FzZSAnTic6CiAJCQljYXNlICdYJzoKIAkJCWNhc2UgJ1knOgpAQCAtMTI2NCw2ICsxMzQ2LDI1IEBACiAJCQlpZiAoYy0+c2lnbmF0dXJlX2NoZWNrLnByaW1hcnlfa2V5X2ZpbmdlcnByaW50KQogCQkJCXN0cmJ1Zl9hZGRzdHIoc2IsIGMtPnNpZ25hdHVyZV9jaGVjay5wcmltYXJ5X2tleV9maW5nZXJwcmludCk7CiAJCQlicmVhazsKKwkJY2FzZSAnVCc6CisJCQlzd2l0Y2ggKGMtPnNpZ25hdHVyZV9jaGVjay50cnVzdF9sZXZlbCkgeworCQkJY2FzZSBUUlVTVF9VTkRFRklORUQ6CisJCQkJc3RyYnVmX2FkZHN0cihzYiwgInVuZGVmaW5lZCIpOworCQkJCWJyZWFrOworCQkJY2FzZSBUUlVTVF9ORVZFUjoKKwkJCQlzdHJidWZfYWRkc3RyKHNiLCAibmV2ZXIiKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgVFJVU1RfTUFSR0lOQUw6CisJCQkJc3RyYnVmX2FkZHN0cihzYiwgIm1hcmdpbmFsIik7CisJCQkJYnJlYWs7CisJCQljYXNlIFRSVVNUX0ZVTExZOgorCQkJCXN0cmJ1Zl9hZGRzdHIoc2IsICJmdWxseSIpOworCQkJCWJyZWFrOworCQkJY2FzZSBUUlVTVF9VTFRJTUFURToKKwkJCQlzdHJidWZfYWRkc3RyKHNiLCAidWx0aW1hdGUiKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJcmV0dXJuIDA7CiAJCX0KQEAgLTEzMTIsMjQgKzE0MTMsNTMgQEAKIAogCWlmIChza2lwX3ByZWZpeChwbGFjZWhvbGRlciwgIih0cmFpbGVycyIsICZhcmcpKSB7CiAJCXN0cnVjdCBwcm9jZXNzX3RyYWlsZXJfb3B0aW9ucyBvcHRzID0gUFJPQ0VTU19UUkFJTEVSX09QVElPTlNfSU5JVDsKKwkJc3RydWN0IHN0cmluZ19saXN0IGZpbHRlcl9saXN0ID0gU1RSSU5HX0xJU1RfSU5JVF9OT0RVUDsKKwkJc3RydWN0IHN0cmJ1ZiBzZXBidWYgPSBTVFJCVUZfSU5JVDsKKwkJc2l6ZV90IHJldCA9IDA7CiAKIAkJb3B0cy5ub19kaXZpZGVyID0gMTsKIAogCQlpZiAoKmFyZyA9PSAnOicpIHsKIAkJCWFyZysrOwogCQkJZm9yICg7OykgewotCQkJCWlmIChtYXRjaF9wbGFjZWhvbGRlcl9hcmcoYXJnLCAib25seSIsICZhcmcpKQorCQkJCWNvbnN0IGNoYXIgKmFyZ3ZhbDsKKwkJCQlzaXplX3QgYXJnbGVuOworCisJCQkJaWYgKG1hdGNoX3BsYWNlaG9sZGVyX2FyZ192YWx1ZShhcmcsICJrZXkiLCAmYXJnLCAmYXJndmFsLCAmYXJnbGVuKSkgeworCQkJCQl1aW50cHRyX3QgbGVuID0gYXJnbGVuOworCisJCQkJCWlmICghYXJndmFsKQorCQkJCQkJZ290byB0cmFpbGVyX291dDsKKworCQkJCQlpZiAobGVuICYmIGFyZ3ZhbFtsZW4gLSAxXSA9PSAnOicpCisJCQkJCQlsZW4tLTsKKwkJCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZmaWx0ZXJfbGlzdCwgYXJndmFsKS0+dXRpbCA9IChjaGFyICopbGVuOworCisJCQkJCW9wdHMuZmlsdGVyID0gZm9ybWF0X3RyYWlsZXJfbWF0Y2hfY2I7CisJCQkJCW9wdHMuZmlsdGVyX2RhdGEgPSAmZmlsdGVyX2xpc3Q7CiAJCQkJCW9wdHMub25seV90cmFpbGVycyA9IDE7Ci0JCQkJZWxzZSBpZiAobWF0Y2hfcGxhY2Vob2xkZXJfYXJnKGFyZywgInVuZm9sZCIsICZhcmcpKQotCQkJCQlvcHRzLnVuZm9sZCA9IDE7Ci0JCQkJZWxzZQorCQkJCX0gZWxzZSBpZiAobWF0Y2hfcGxhY2Vob2xkZXJfYXJnX3ZhbHVlKGFyZywgInNlcGFyYXRvciIsICZhcmcsICZhcmd2YWwsICZhcmdsZW4pKSB7CisJCQkJCWNoYXIgKmZtdDsKKworCQkJCQlzdHJidWZfcmVzZXQoJnNlcGJ1Zik7CisJCQkJCWZtdCA9IHhzdHJuZHVwKGFyZ3ZhbCwgYXJnbGVuKTsKKwkJCQkJc3RyYnVmX2V4cGFuZCgmc2VwYnVmLCBmbXQsIHN0cmJ1Zl9leHBhbmRfbGl0ZXJhbF9jYiwgTlVMTCk7CisJCQkJCWZyZWUoZm10KTsKKwkJCQkJb3B0cy5zZXBhcmF0b3IgPSAmc2VwYnVmOworCQkJCX0gZWxzZSBpZiAoIW1hdGNoX3BsYWNlaG9sZGVyX2Jvb2xfYXJnKGFyZywgIm9ubHkiLCAmYXJnLCAmb3B0cy5vbmx5X3RyYWlsZXJzKSAmJgorCQkJCQkgICAhbWF0Y2hfcGxhY2Vob2xkZXJfYm9vbF9hcmcoYXJnLCAidW5mb2xkIiwgJmFyZywgJm9wdHMudW5mb2xkKSAmJgorCQkJCQkgICAhbWF0Y2hfcGxhY2Vob2xkZXJfYm9vbF9hcmcoYXJnLCAidmFsdWVvbmx5IiwgJmFyZywgJm9wdHMudmFsdWVfb25seSkpCiAJCQkJCWJyZWFrOwogCQkJfQogCQl9CiAJCWlmICgqYXJnID09ICcpJykgewogCQkJZm9ybWF0X3RyYWlsZXJzX2Zyb21fY29tbWl0KHNiLCBtc2cgKyBjLT5zdWJqZWN0X29mZiwgJm9wdHMpOwotCQkJcmV0dXJuIGFyZyAtIHBsYWNlaG9sZGVyICsgMTsKKwkJCXJldCA9IGFyZyAtIHBsYWNlaG9sZGVyICsgMTsKIAkJfQorCXRyYWlsZXJfb3V0OgorCQlzdHJpbmdfbGlzdF9jbGVhcigmZmlsdGVyX2xpc3QsIDApOworCQlzdHJidWZfcmVsZWFzZSgmc2VwYnVmKTsKKwkJcmV0dXJuIHJldDsKIAl9CiAKIAlyZXR1cm4gMDsJLyogdW5rbm93biBwbGFjZWhvbGRlciAqLwpAQCAtMTQ3OSw5ICsxNjA5LDkgQEAKIAkJCXN0cmJ1Zl9zZXRsZW4oc2IsIHNiLT5sZW4gLSAxKTsKIAl9IGVsc2UgaWYgKG9yaWdfbGVuICE9IHNiLT5sZW4pIHsKIAkJaWYgKG1hZ2ljID09IEFERF9MRl9CRUZPUkVfTk9OX0VNUFRZKQotCQkJc3RyYnVmX2luc2VydChzYiwgb3JpZ19sZW4sICJcbiIsIDEpOworCQkJc3RyYnVmX2luc2VydHN0cihzYiwgb3JpZ19sZW4sICJcbiIpOwogCQllbHNlIGlmIChtYWdpYyA9PSBBRERfU1BfQkVGT1JFX05PTl9FTVBUWSkKLQkJCXN0cmJ1Zl9pbnNlcnQoc2IsIG9yaWdfbGVuLCAiICIsIDEpOworCQkJc3RyYnVmX2luc2VydHN0cihzYiwgb3JpZ19sZW4sICIgIik7CiAJfQogCXJldHVybiBjb25zdW1lZCArIDE7CiB9CkBAIC0xNDk4LDYgKzE2MjgsOSBAQAogCWNhc2UgJ04nOgogCQl3LT5ub3RlcyA9IDE7CiAJCWJyZWFrOworCWNhc2UgJ1MnOgorCQl3LT5zb3VyY2UgPSAxOworCQlicmVhazsKIAl9CiAJcmV0dXJuIDA7CiB9CkBAIC0xNTE1LDI1ICsxNjQ4LDI2IEBACiAJc3RyYnVmX3JlbGVhc2UoJmR1bW15KTsKIH0KIAotdm9pZCBmb3JtYXRfY29tbWl0X21lc3NhZ2UoY29uc3Qgc3RydWN0IGNvbW1pdCAqY29tbWl0LAotCQkJICAgY29uc3QgY2hhciAqZm9ybWF0LCBzdHJ1Y3Qgc3RyYnVmICpzYiwKLQkJCSAgIGNvbnN0IHN0cnVjdCBwcmV0dHlfcHJpbnRfY29udGV4dCAqcHJldHR5X2N0eCkKK3ZvaWQgcmVwb19mb3JtYXRfY29tbWl0X21lc3NhZ2Uoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJY29uc3Qgc3RydWN0IGNvbW1pdCAqY29tbWl0LAorCQkJCWNvbnN0IGNoYXIgKmZvcm1hdCwgc3RydWN0IHN0cmJ1ZiAqc2IsCisJCQkJY29uc3Qgc3RydWN0IHByZXR0eV9wcmludF9jb250ZXh0ICpwcmV0dHlfY3R4KQogewotCXN0cnVjdCBmb3JtYXRfY29tbWl0X2NvbnRleHQgY29udGV4dDsKKwlzdHJ1Y3QgZm9ybWF0X2NvbW1pdF9jb250ZXh0IGNvbnRleHQgPSB7CisJCS5jb21taXQgPSBjb21taXQsCisJCS5wcmV0dHlfY3R4ID0gcHJldHR5X2N0eCwKKwkJLndyYXBfc3RhcnQgPSBzYi0+bGVuCisJfTsKIAljb25zdCBjaGFyICpvdXRwdXRfZW5jID0gcHJldHR5X2N0eC0+b3V0cHV0X2VuY29kaW5nOwogCWNvbnN0IGNoYXIgKnV0ZjggPSAiVVRGLTgiOwogCi0JbWVtc2V0KCZjb250ZXh0LCAwLCBzaXplb2YoY29udGV4dCkpOwotCWNvbnRleHQuY29tbWl0ID0gY29tbWl0OwotCWNvbnRleHQucHJldHR5X2N0eCA9IHByZXR0eV9jdHg7Ci0JY29udGV4dC53cmFwX3N0YXJ0ID0gc2ItPmxlbjsKIAkvKgogCSAqIGNvbnZlcnQgYSBjb21taXQgbWVzc2FnZSB0byBVVEYtOCBmaXJzdAogCSAqIGFzIGZhciBhcyAnZm9ybWF0X2NvbW1pdF9pdGVtJyBhc3N1bWVzIGl0IGluIFVURi04CiAJICovCi0JY29udGV4dC5tZXNzYWdlID0gbG9nbXNnX3JlZW5jb2RlKGNvbW1pdCwKLQkJCQkJICAmY29udGV4dC5jb21taXRfZW5jb2RpbmcsCi0JCQkJCSAgdXRmOCk7CisJY29udGV4dC5tZXNzYWdlID0gcmVwb19sb2dtc2dfcmVlbmNvZGUociwgY29tbWl0LAorCQkJCQkgICAgICAgJmNvbnRleHQuY29tbWl0X2VuY29kaW5nLAorCQkJCQkgICAgICAgdXRmOCk7CiAKIAlzdHJidWZfZXhwYW5kKHNiLCBmb3JtYXQsIGZvcm1hdF9jb21taXRfaXRlbSwgJmNvbnRleHQpOwogCXJld3JhcF9tZXNzYWdlX3RhaWwoc2IsICZjb250ZXh0LCAwLCAwLCAwKTsKQEAgLTE1NTcsNyArMTY5MSw3IEBACiAJfQogCiAJZnJlZShjb250ZXh0LmNvbW1pdF9lbmNvZGluZyk7Ci0JdW51c2VfY29tbWl0X2J1ZmZlcihjb21taXQsIGNvbnRleHQubWVzc2FnZSk7CisJcmVwb191bnVzZV9jb21taXRfYnVmZmVyKHIsIGNvbW1pdCwgY29udGV4dC5tZXNzYWdlKTsKIH0KIAogc3RhdGljIHZvaWQgcHBfaGVhZGVyKHN0cnVjdCBwcmV0dHlfcHJpbnRfY29udGV4dCAqcHAsCkBAIC0xNjMzLDcgKzE3NjcsNyBAQAogCWlmIChwcC0+cHJpbnRfZW1haWxfc3ViamVjdCkgewogCQlpZiAocHAtPnJldikKIAkJCWZtdF9vdXRwdXRfZW1haWxfc3ViamVjdChzYiwgcHAtPnJldik7Ci0JCWlmIChuZWVkc19yZmMyMDQ3X2VuY29kaW5nKHRpdGxlLmJ1ZiwgdGl0bGUubGVuLCBSRkMyMDQ3X1NVQkpFQ1QpKQorCQlpZiAobmVlZHNfcmZjMjA0N19lbmNvZGluZyh0aXRsZS5idWYsIHRpdGxlLmxlbikpCiAJCQlhZGRfcmZjMjA0NyhzYiwgdGl0bGUuYnVmLCB0aXRsZS5sZW4sCiAJCQkJCQllbmNvZGluZywgUkZDMjA0N19TVUJKRUNUKTsKIAkJZWxzZQpkaWZmIC0tZ2l0IGEvcHJldHR5LmggYi9wcmV0dHkuaAppbmRleCA3MzU5ZDMxLi40YWQxZmMzIDEwMDY0NAotLS0gYS9wcmV0dHkuaAorKysgYi9wcmV0dHkuaApAQCAtNjAsNiArNjAsNyBAQAogCiBzdHJ1Y3QgdXNlcmZvcm1hdF93YW50IHsKIAl1bnNpZ25lZCBub3RlczoxOworCXVuc2lnbmVkIHNvdXJjZToxOwogfTsKIAogLyogU2V0IHRoZSBmbGFnICJ3LT5ub3RlcyIgaWYgdGhlcmUgaXMgcGxhY2Vob2xkZXIgJU4gaW4gImZtdCIuICovCkBAIC0xMDMsOSArMTA0LDE0IEBACiAgKiBQdXQgdGhlIHJlc3VsdCB0byAic2IiLgogICogUGxlYXNlIHVzZSB0aGlzIGZ1bmN0aW9uIGZvciBjdXN0b20gZm9ybWF0cy4KICAqLwotdm9pZCBmb3JtYXRfY29tbWl0X21lc3NhZ2UoY29uc3Qgc3RydWN0IGNvbW1pdCAqY29tbWl0LAordm9pZCByZXBvX2Zvcm1hdF9jb21taXRfbWVzc2FnZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCWNvbnN0IHN0cnVjdCBjb21taXQgKmNvbW1pdCwKIAkJCWNvbnN0IGNoYXIgKmZvcm1hdCwgc3RydWN0IHN0cmJ1ZiAqc2IsCiAJCQljb25zdCBzdHJ1Y3QgcHJldHR5X3ByaW50X2NvbnRleHQgKmNvbnRleHQpOworI2lmbmRlZiBOT19USEVfUkVQT1NJVE9SWV9DT01QQVRJQklMSVRZX01BQ1JPUworI2RlZmluZSBmb3JtYXRfY29tbWl0X21lc3NhZ2UoYywgZiwgcywgY29uKSBcCisJcmVwb19mb3JtYXRfY29tbWl0X21lc3NhZ2UodGhlX3JlcG9zaXRvcnksIGMsIGYsIHMsIGNvbikKKyNlbmRpZgogCiAvKgogICogUGFyc2UgZ2l2ZW4gYXJndW1lbnRzIGZyb20gImFyZyIsIGNoZWNrIGl0IGZvciBjb3JyZWN0bmVzcyBhbmQKZGlmZiAtLWdpdCBhL3ByaW8tcXVldWUuaCBiL3ByaW8tcXVldWUuaAppbmRleCA2ODJlNTE4Li40ZjlhMzdlIDEwMDY0NAotLS0gYS9wcmlvLXF1ZXVlLmgKKysrIGIvcHJpby1xdWV1ZS5oCkBAIC0zNywyNCArMzcsMjQgQEAKIC8qCiAgKiBBZGQgdGhlICJ0aGluZyIgdG8gdGhlIHF1ZXVlLgogICovCi1leHRlcm4gdm9pZCBwcmlvX3F1ZXVlX3B1dChzdHJ1Y3QgcHJpb19xdWV1ZSAqLCB2b2lkICp0aGluZyk7Cit2b2lkIHByaW9fcXVldWVfcHV0KHN0cnVjdCBwcmlvX3F1ZXVlICosIHZvaWQgKnRoaW5nKTsKIAogLyoKICAqIEV4dHJhY3QgdGhlICJ0aGluZyIgdGhhdCBjb21wYXJlcyB0aGUgc21hbGxlc3Qgb3V0IG9mIHRoZSBxdWV1ZSwKICAqIG9yIE5VTEwuICBJZiBjb21wYXJlIGZ1bmN0aW9uIGlzIE5VTEwsIHRoZSBxdWV1ZSBhY3RzIGFzIGEgTElGTwogICogc3RhY2suCiAgKi8KLWV4dGVybiB2b2lkICpwcmlvX3F1ZXVlX2dldChzdHJ1Y3QgcHJpb19xdWV1ZSAqKTsKK3ZvaWQgKnByaW9fcXVldWVfZ2V0KHN0cnVjdCBwcmlvX3F1ZXVlICopOwogCiAvKgogICogR2FpbiBhY2Nlc3MgdG8gdGhlICJ0aGluZyIgdGhhdCB3b3VsZCBiZSByZXR1cm5lZCBieQogICogcHJpb19xdWV1ZV9nZXQsIGJ1dCBkbyBub3QgcmVtb3ZlIGl0IGZyb20gdGhlIHF1ZXVlLgogICovCi1leHRlcm4gdm9pZCAqcHJpb19xdWV1ZV9wZWVrKHN0cnVjdCBwcmlvX3F1ZXVlICopOwordm9pZCAqcHJpb19xdWV1ZV9wZWVrKHN0cnVjdCBwcmlvX3F1ZXVlICopOwogCi1leHRlcm4gdm9pZCBjbGVhcl9wcmlvX3F1ZXVlKHN0cnVjdCBwcmlvX3F1ZXVlICopOwordm9pZCBjbGVhcl9wcmlvX3F1ZXVlKHN0cnVjdCBwcmlvX3F1ZXVlICopOwogCiAvKiBSZXZlcnNlIHRoZSBMSUZPIGVsZW1lbnRzICovCi1leHRlcm4gdm9pZCBwcmlvX3F1ZXVlX3JldmVyc2Uoc3RydWN0IHByaW9fcXVldWUgKik7Cit2b2lkIHByaW9fcXVldWVfcmV2ZXJzZShzdHJ1Y3QgcHJpb19xdWV1ZSAqKTsKIAogI2VuZGlmIC8qIFBSSU9fUVVFVUVfSCAqLwpkaWZmIC0tZ2l0IGEvcHJvZ3Jlc3MuYyBiL3Byb2dyZXNzLmMKaW5kZXggNWE5OWM5Zi4uMTk4MDVhYyAxMDA2NDQKLS0tIGEvcHJvZ3Jlc3MuYworKysgYi9wcm9ncmVzcy5jCkBAIC04LDExICs4LDEzIEBACiAgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KICAqLwogCi0jaW5jbHVkZSAiZ2l0LWNvbXBhdC11dGlsLmgiCisjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJnZXR0ZXh0LmgiCiAjaW5jbHVkZSAicHJvZ3Jlc3MuaCIKICNpbmNsdWRlICJzdHJidWYuaCIKICNpbmNsdWRlICJ0cmFjZS5oIgorI2luY2x1ZGUgInV0ZjguaCIKKyNpbmNsdWRlICJjb25maWcuaCIKIAogI2RlZmluZSBUUF9JRFhfTUFYICAgICAgOAogCkBAIC0zNCwxMiArMzYsMjkgQEAKIAl1aW50NjRfdCB0b3RhbDsKIAl1bnNpZ25lZCBsYXN0X3BlcmNlbnQ7CiAJdW5zaWduZWQgZGVsYXk7CisJdW5zaWduZWQgc3BhcnNlOwogCXN0cnVjdCB0aHJvdWdocHV0ICp0aHJvdWdocHV0OwogCXVpbnQ2NF90IHN0YXJ0X25zOworCXN0cnVjdCBzdHJidWYgY291bnRlcnNfc2I7CisJaW50IHRpdGxlX2xlbjsKKwlpbnQgc3BsaXQ7CiB9OwogCiBzdGF0aWMgdm9sYXRpbGUgc2lnX2F0b21pY190IHByb2dyZXNzX3VwZGF0ZTsKIAorLyoKKyAqIFRoZXNlIGFyZSBvbmx5IGludGVuZGVkIGZvciB0ZXN0aW5nIHRoZSBwcm9ncmVzcyBvdXRwdXQsIGkuZS4gZXhjbHVzaXZlbHkKKyAqIGZvciAndGVzdC10b29sIHByb2dyZXNzJy4KKyAqLworaW50IHByb2dyZXNzX3Rlc3Rpbmc7Cit1aW50NjRfdCBwcm9ncmVzc190ZXN0X25zID0gMDsKK3ZvaWQgcHJvZ3Jlc3NfdGVzdF9mb3JjZV91cGRhdGUodm9pZCk7IC8qIFRvIHNpbGVuY2UgLVdtaXNzaW5nLXByb3RvdHlwZXMgKi8KK3ZvaWQgcHJvZ3Jlc3NfdGVzdF9mb3JjZV91cGRhdGUodm9pZCkKK3sKKwlwcm9ncmVzc191cGRhdGUgPSAxOworfQorCisKIHN0YXRpYyB2b2lkIHByb2dyZXNzX2ludGVydmFsKGludCBzaWdudW0pCiB7CiAJcHJvZ3Jlc3NfdXBkYXRlID0gMTsKQEAgLTUwLDYgKzY5LDkgQEAKIAlzdHJ1Y3Qgc2lnYWN0aW9uIHNhOwogCXN0cnVjdCBpdGltZXJ2YWwgdjsKIAorCWlmIChwcm9ncmVzc190ZXN0aW5nKQorCQlyZXR1cm47CisKIAlwcm9ncmVzc191cGRhdGUgPSAwOwogCiAJbWVtc2V0KCZzYSwgMCwgc2l6ZW9mKHNhKSk7CkBAIC02Nyw2ICs4OSwxMCBAQAogc3RhdGljIHZvaWQgY2xlYXJfcHJvZ3Jlc3Nfc2lnbmFsKHZvaWQpCiB7CiAJc3RydWN0IGl0aW1lcnZhbCB2ID0ge3swLH0sfTsKKworCWlmIChwcm9ncmVzc190ZXN0aW5nKQorCQlyZXR1cm47CisKIAlzZXRpdGltZXIoSVRJTUVSX1JFQUwsICZ2LCBOVUxMKTsKIAlzaWduYWwoU0lHQUxSTSwgU0lHX0lHTik7CiAJcHJvZ3Jlc3NfdXBkYXRlID0gMDsKQEAgLTc4LDQxICsxMDQsNjUgQEAKIAlyZXR1cm4gdHBncnAgPCAwIHx8IHRwZ3JwID09IGdldHBnaWQoMCk7CiB9CiAKLXN0YXRpYyBpbnQgZGlzcGxheShzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzLCB1aW50NjRfdCBuLCBjb25zdCBjaGFyICpkb25lKQorc3RhdGljIHZvaWQgZGlzcGxheShzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzLCB1aW50NjRfdCBuLCBjb25zdCBjaGFyICpkb25lKQogewotCWNvbnN0IGNoYXIgKmVvbCwgKnRwOworCWNvbnN0IGNoYXIgKnRwOworCXN0cnVjdCBzdHJidWYgKmNvdW50ZXJzX3NiID0gJnByb2dyZXNzLT5jb3VudGVyc19zYjsKKwlpbnQgc2hvd191cGRhdGUgPSAwOworCWludCBsYXN0X2NvdW50X2xlbiA9IGNvdW50ZXJzX3NiLT5sZW47CiAKIAlpZiAocHJvZ3Jlc3MtPmRlbGF5ICYmICghcHJvZ3Jlc3NfdXBkYXRlIHx8IC0tcHJvZ3Jlc3MtPmRlbGF5KSkKLQkJcmV0dXJuIDA7CisJCXJldHVybjsKIAogCXByb2dyZXNzLT5sYXN0X3ZhbHVlID0gbjsKIAl0cCA9IChwcm9ncmVzcy0+dGhyb3VnaHB1dCkgPyBwcm9ncmVzcy0+dGhyb3VnaHB1dC0+ZGlzcGxheS5idWYgOiAiIjsKLQllb2wgPSBkb25lID8gZG9uZSA6ICIgICBcciI7CiAJaWYgKHByb2dyZXNzLT50b3RhbCkgewogCQl1bnNpZ25lZCBwZXJjZW50ID0gbiAqIDEwMCAvIHByb2dyZXNzLT50b3RhbDsKIAkJaWYgKHBlcmNlbnQgIT0gcHJvZ3Jlc3MtPmxhc3RfcGVyY2VudCB8fCBwcm9ncmVzc191cGRhdGUpIHsKIAkJCXByb2dyZXNzLT5sYXN0X3BlcmNlbnQgPSBwZXJjZW50OwotCQkJaWYgKGlzX2ZvcmVncm91bmRfZmQoZmlsZW5vKHN0ZGVycikpIHx8IGRvbmUpIHsKLQkJCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiAlM3UlJSAoJSJQUkl1TUFYIi8lIlBSSXVNQVgiKSVzJXMiLAotCQkJCQlwcm9ncmVzcy0+dGl0bGUsIHBlcmNlbnQsCi0JCQkJCSh1aW50bWF4X3QpbiwgKHVpbnRtYXhfdClwcm9ncmVzcy0+dG90YWwsCi0JCQkJCXRwLCBlb2wpOwotCQkJCWZmbHVzaChzdGRlcnIpOwotCQkJfQotCQkJcHJvZ3Jlc3NfdXBkYXRlID0gMDsKLQkJCXJldHVybiAxOworCisJCQlzdHJidWZfcmVzZXQoY291bnRlcnNfc2IpOworCQkJc3RyYnVmX2FkZGYoY291bnRlcnNfc2IsCisJCQkJICAgICIlM3UlJSAoJSJQUkl1TUFYIi8lIlBSSXVNQVgiKSVzIiwgcGVyY2VudCwKKwkJCQkgICAgKHVpbnRtYXhfdCluLCAodWludG1heF90KXByb2dyZXNzLT50b3RhbCwKKwkJCQkgICAgdHApOworCQkJc2hvd191cGRhdGUgPSAxOwogCQl9CiAJfSBlbHNlIGlmIChwcm9ncmVzc191cGRhdGUpIHsKKwkJc3RyYnVmX3Jlc2V0KGNvdW50ZXJzX3NiKTsKKwkJc3RyYnVmX2FkZGYoY291bnRlcnNfc2IsICIlIlBSSXVNQVgiJXMiLCAodWludG1heF90KW4sIHRwKTsKKwkJc2hvd191cGRhdGUgPSAxOworCX0KKworCWlmIChzaG93X3VwZGF0ZSkgewogCQlpZiAoaXNfZm9yZWdyb3VuZF9mZChmaWxlbm8oc3RkZXJyKSkgfHwgZG9uZSkgewotCQkJZnByaW50ZihzdGRlcnIsICIlczogJSJQUkl1TUFYIiVzJXMiLAotCQkJCXByb2dyZXNzLT50aXRsZSwgKHVpbnRtYXhfdCluLCB0cCwgZW9sKTsKKwkJCWNvbnN0IGNoYXIgKmVvbCA9IGRvbmUgPyBkb25lIDogIlxyIjsKKwkJCXNpemVfdCBjbGVhcl9sZW4gPSBjb3VudGVyc19zYi0+bGVuIDwgbGFzdF9jb3VudF9sZW4gPworCQkJCQlsYXN0X2NvdW50X2xlbiAtIGNvdW50ZXJzX3NiLT5sZW4gKyAxIDoKKwkJCQkJMDsKKwkJCS8qIFRoZSAiKyAyIiBhY2NvdW50cyBmb3IgdGhlICI6ICIuICovCisJCQlzaXplX3QgcHJvZ3Jlc3NfbGluZV9sZW4gPSBwcm9ncmVzcy0+dGl0bGVfbGVuICsKKwkJCQkJCWNvdW50ZXJzX3NiLT5sZW4gKyAyOworCQkJaW50IGNvbHMgPSB0ZXJtX2NvbHVtbnMoKTsKKworCQkJaWYgKHByb2dyZXNzLT5zcGxpdCkgeworCQkJCWZwcmludGYoc3RkZXJyLCAiICAlcyUqcyIsIGNvdW50ZXJzX3NiLT5idWYsCisJCQkJCShpbnQpIGNsZWFyX2xlbiwgZW9sKTsKKwkJCX0gZWxzZSBpZiAoIWRvbmUgJiYgY29scyA8IHByb2dyZXNzX2xpbmVfbGVuKSB7CisJCQkJY2xlYXJfbGVuID0gcHJvZ3Jlc3MtPnRpdGxlX2xlbiArIDEgPCBjb2xzID8KKwkJCQkJICAgIGNvbHMgLSBwcm9ncmVzcy0+dGl0bGVfbGVuIC0gMSA6IDA7CisJCQkJZnByaW50ZihzdGRlcnIsICIlczolKnNcbiAgJXMlcyIsCisJCQkJCXByb2dyZXNzLT50aXRsZSwgKGludCkgY2xlYXJfbGVuLCAiIiwKKwkJCQkJY291bnRlcnNfc2ItPmJ1ZiwgZW9sKTsKKwkJCQlwcm9ncmVzcy0+c3BsaXQgPSAxOworCQkJfSBlbHNlIHsKKwkJCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiAlcyUqcyIsIHByb2dyZXNzLT50aXRsZSwKKwkJCQkJY291bnRlcnNfc2ItPmJ1ZiwgKGludCkgY2xlYXJfbGVuLCBlb2wpOworCQkJfQogCQkJZmZsdXNoKHN0ZGVycik7CiAJCX0KIAkJcHJvZ3Jlc3NfdXBkYXRlID0gMDsKLQkJcmV0dXJuIDE7CiAJfQotCi0JcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2b2lkIHRocm91Z2hwdXRfc3RyaW5nKHN0cnVjdCBzdHJidWYgKmJ1ZiwgdWludDY0X3QgdG90YWwsCkBAIC0xMjIsOCArMTcyLDE1IEBACiAJc3RyYnVmX2FkZHN0cihidWYsICIsICIpOwogCXN0cmJ1Zl9odW1hbmlzZV9ieXRlcyhidWYsIHRvdGFsKTsKIAlzdHJidWZfYWRkc3RyKGJ1ZiwgIiB8ICIpOwotCXN0cmJ1Zl9odW1hbmlzZV9ieXRlcyhidWYsIHJhdGUgKiAxMDI0KTsKLQlzdHJidWZfYWRkc3RyKGJ1ZiwgIi9zIik7CisJc3RyYnVmX2h1bWFuaXNlX3JhdGUoYnVmLCByYXRlICogMTAyNCk7Cit9CisKK3N0YXRpYyB1aW50NjRfdCBwcm9ncmVzc19nZXRuYW5vdGltZShzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzKQoreworCWlmIChwcm9ncmVzc190ZXN0aW5nKQorCQlyZXR1cm4gcHJvZ3Jlc3MtPnN0YXJ0X25zICsgcHJvZ3Jlc3NfdGVzdF9uczsKKwllbHNlCisJCXJldHVybiBnZXRuYW5vdGltZSgpOwogfQogCiB2b2lkIGRpc3BsYXlfdGhyb3VnaHB1dChzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzLCB1aW50NjRfdCB0b3RhbCkKQEAgLTEzNiwxNSArMTkzLDEzIEBACiAJCXJldHVybjsKIAl0cCA9IHByb2dyZXNzLT50aHJvdWdocHV0OwogCi0Jbm93X25zID0gZ2V0bmFub3RpbWUoKTsKKwlub3dfbnMgPSBwcm9ncmVzc19nZXRuYW5vdGltZShwcm9ncmVzcyk7CiAKIAlpZiAoIXRwKSB7Ci0JCXByb2dyZXNzLT50aHJvdWdocHV0ID0gdHAgPSBjYWxsb2MoMSwgc2l6ZW9mKCp0cCkpOwotCQlpZiAodHApIHsKLQkJCXRwLT5wcmV2X3RvdGFsID0gdHAtPmN1cnJfdG90YWwgPSB0b3RhbDsKLQkJCXRwLT5wcmV2X25zID0gbm93X25zOwotCQkJc3RyYnVmX2luaXQoJnRwLT5kaXNwbGF5LCAwKTsKLQkJfQorCQlwcm9ncmVzcy0+dGhyb3VnaHB1dCA9IHRwID0geGNhbGxvYygxLCBzaXplb2YoKnRwKSk7CisJCXRwLT5wcmV2X3RvdGFsID0gdHAtPmN1cnJfdG90YWwgPSB0b3RhbDsKKwkJdHAtPnByZXZfbnMgPSBub3dfbnM7CisJCXN0cmJ1Zl9pbml0KCZ0cC0+ZGlzcGxheSwgMCk7CiAJCXJldHVybjsKIAl9CiAJdHAtPmN1cnJfdG90YWwgPSB0b3RhbDsKQEAgLTE4OCw0NCArMjQzLDgzIEBACiAJCWRpc3BsYXkocHJvZ3Jlc3MsIHByb2dyZXNzLT5sYXN0X3ZhbHVlLCBOVUxMKTsKIH0KIAotaW50IGRpc3BsYXlfcHJvZ3Jlc3Moc3RydWN0IHByb2dyZXNzICpwcm9ncmVzcywgdWludDY0X3QgbikKK3ZvaWQgZGlzcGxheV9wcm9ncmVzcyhzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzLCB1aW50NjRfdCBuKQogewotCXJldHVybiBwcm9ncmVzcyA/IGRpc3BsYXkocHJvZ3Jlc3MsIG4sIE5VTEwpIDogMDsKKwlpZiAocHJvZ3Jlc3MpCisJCWRpc3BsYXkocHJvZ3Jlc3MsIG4sIE5VTEwpOwogfQogCiBzdGF0aWMgc3RydWN0IHByb2dyZXNzICpzdGFydF9wcm9ncmVzc19kZWxheShjb25zdCBjaGFyICp0aXRsZSwgdWludDY0X3QgdG90YWwsCi0JCQkJCSAgICAgdW5zaWduZWQgZGVsYXkpCisJCQkJCSAgICAgdW5zaWduZWQgZGVsYXksIHVuc2lnbmVkIHNwYXJzZSkKIHsKLQlzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzID0gbWFsbG9jKHNpemVvZigqcHJvZ3Jlc3MpKTsKLQlpZiAoIXByb2dyZXNzKSB7Ci0JCS8qIHVubGlrZWx5LCBidXQgaGVyZSdzIGEgZ29vZCBmYWxsYmFjayAqLwotCQlmcHJpbnRmKHN0ZGVyciwgIiVzLi4uXG4iLCB0aXRsZSk7Ci0JCWZmbHVzaChzdGRlcnIpOwotCQlyZXR1cm4gTlVMTDsKLQl9CisJc3RydWN0IHByb2dyZXNzICpwcm9ncmVzcyA9IHhtYWxsb2Moc2l6ZW9mKCpwcm9ncmVzcykpOwogCXByb2dyZXNzLT50aXRsZSA9IHRpdGxlOwogCXByb2dyZXNzLT50b3RhbCA9IHRvdGFsOwogCXByb2dyZXNzLT5sYXN0X3ZhbHVlID0gLTE7CiAJcHJvZ3Jlc3MtPmxhc3RfcGVyY2VudCA9IC0xOwogCXByb2dyZXNzLT5kZWxheSA9IGRlbGF5OworCXByb2dyZXNzLT5zcGFyc2UgPSBzcGFyc2U7CiAJcHJvZ3Jlc3MtPnRocm91Z2hwdXQgPSBOVUxMOwogCXByb2dyZXNzLT5zdGFydF9ucyA9IGdldG5hbm90aW1lKCk7CisJc3RyYnVmX2luaXQoJnByb2dyZXNzLT5jb3VudGVyc19zYiwgMCk7CisJcHJvZ3Jlc3MtPnRpdGxlX2xlbiA9IHV0Zjhfc3Ryd2lkdGgodGl0bGUpOworCXByb2dyZXNzLT5zcGxpdCA9IDA7CiAJc2V0X3Byb2dyZXNzX3NpZ25hbCgpOwogCXJldHVybiBwcm9ncmVzczsKIH0KIAorc3RhdGljIGludCBnZXRfZGVmYXVsdF9kZWxheSh2b2lkKQoreworCXN0YXRpYyBpbnQgZGVsYXlfaW5fc2VjcyA9IC0xOworCisJaWYgKGRlbGF5X2luX3NlY3MgPCAwKQorCQlkZWxheV9pbl9zZWNzID0gZ2l0X2Vudl91bG9uZygiR0lUX1BST0dSRVNTX0RFTEFZIiwgMik7CisKKwlyZXR1cm4gZGVsYXlfaW5fc2VjczsKK30KKwogc3RydWN0IHByb2dyZXNzICpzdGFydF9kZWxheWVkX3Byb2dyZXNzKGNvbnN0IGNoYXIgKnRpdGxlLCB1aW50NjRfdCB0b3RhbCkKIHsKLQlyZXR1cm4gc3RhcnRfcHJvZ3Jlc3NfZGVsYXkodGl0bGUsIHRvdGFsLCAyKTsKKwlyZXR1cm4gc3RhcnRfcHJvZ3Jlc3NfZGVsYXkodGl0bGUsIHRvdGFsLCBnZXRfZGVmYXVsdF9kZWxheSgpLCAwKTsKIH0KIAogc3RydWN0IHByb2dyZXNzICpzdGFydF9wcm9ncmVzcyhjb25zdCBjaGFyICp0aXRsZSwgdWludDY0X3QgdG90YWwpCiB7Ci0JcmV0dXJuIHN0YXJ0X3Byb2dyZXNzX2RlbGF5KHRpdGxlLCB0b3RhbCwgMCk7CisJcmV0dXJuIHN0YXJ0X3Byb2dyZXNzX2RlbGF5KHRpdGxlLCB0b3RhbCwgMCwgMCk7Cit9CisKKy8qCisgKiBIZXJlICJzcGFyc2UiIG1lYW5zIHRoYXQgdGhlIGNhbGxlciBtaWdodCB1c2Ugc29tZSBzYW1wbGluZyBjcml0ZXJpYSB0bworICogZGVjaWRlIHdoZW4gdG8gY2FsbCBkaXNwbGF5X3Byb2dyZXNzKCkgcmF0aGVyIHRoYW4gY2FsbGluZyBpdCBmb3IgZXZlcnkKKyAqIGludGVnZXIgdmFsdWUgaW5bMCAuLiB0b3RhbCkuICBJbiBwYXJ0aWN1bGFyLCB0aGUgY2FsbGVyIG1pZ2h0IG5vdCBjYWxsCisgKiBkaXNwbGF5X3Byb2dyZXNzKCkgZm9yIHRoZSBsYXN0IHZhbHVlIGluIHRoZSByYW5nZS4KKyAqCisgKiBXaGVuICJzcGFyc2UiIGlzIHNldCwgc3RvcF9wcm9ncmVzcygpIHdpbGwgYXV0b21hdGljYWxseSBmb3JjZSB0aGUgZG9uZQorICogbWVzc2FnZSB0byBzaG93IDEwMCUuCisgKi8KK3N0cnVjdCBwcm9ncmVzcyAqc3RhcnRfc3BhcnNlX3Byb2dyZXNzKGNvbnN0IGNoYXIgKnRpdGxlLCB1aW50NjRfdCB0b3RhbCkKK3sKKwlyZXR1cm4gc3RhcnRfcHJvZ3Jlc3NfZGVsYXkodGl0bGUsIHRvdGFsLCAwLCAxKTsKK30KKworc3RydWN0IHByb2dyZXNzICpzdGFydF9kZWxheWVkX3NwYXJzZV9wcm9ncmVzcyhjb25zdCBjaGFyICp0aXRsZSwKKwkJCQkJICAgICAgIHVpbnQ2NF90IHRvdGFsKQoreworCXJldHVybiBzdGFydF9wcm9ncmVzc19kZWxheSh0aXRsZSwgdG90YWwsIGdldF9kZWZhdWx0X2RlbGF5KCksIDEpOworfQorCitzdGF0aWMgdm9pZCBmaW5pc2hfaWZfc3BhcnNlKHN0cnVjdCBwcm9ncmVzcyAqcHJvZ3Jlc3MpCit7CisJaWYgKHByb2dyZXNzICYmCisJICAgIHByb2dyZXNzLT5zcGFyc2UgJiYKKwkgICAgcHJvZ3Jlc3MtPmxhc3RfdmFsdWUgIT0gcHJvZ3Jlc3MtPnRvdGFsKQorCQlkaXNwbGF5X3Byb2dyZXNzKHByb2dyZXNzLCBwcm9ncmVzcy0+dG90YWwpOwogfQogCiB2b2lkIHN0b3BfcHJvZ3Jlc3Moc3RydWN0IHByb2dyZXNzICoqcF9wcm9ncmVzcykKIHsKKwlmaW5pc2hfaWZfc3BhcnNlKCpwX3Byb2dyZXNzKTsKKwogCXN0b3BfcHJvZ3Jlc3NfbXNnKHBfcHJvZ3Jlc3MsIF8oImRvbmUiKSk7CiB9CiAKQEAgLTI0MSw3ICszMzUsNyBAQAogCQlzdHJ1Y3QgdGhyb3VnaHB1dCAqdHAgPSBwcm9ncmVzcy0+dGhyb3VnaHB1dDsKIAogCQlpZiAodHApIHsKLQkJCXVpbnQ2NF90IG5vd19ucyA9IGdldG5hbm90aW1lKCk7CisJCQl1aW50NjRfdCBub3dfbnMgPSBwcm9ncmVzc19nZXRuYW5vdGltZShwcm9ncmVzcyk7CiAJCQl1bnNpZ25lZCBpbnQgbWlzZWNzLCByYXRlOwogCQkJbWlzZWNzID0gKChub3dfbnMgLSBwcm9ncmVzcy0+c3RhcnRfbnMpICogNDM5OCkgPj4gMzI7CiAJCQlyYXRlID0gdHAtPmN1cnJfdG90YWwgLyAobWlzZWNzID8gbWlzZWNzIDogMSk7CkBAIC0yNTMsNiArMzQ3LDcgQEAKIAkJZnJlZShidWYpOwogCX0KIAljbGVhcl9wcm9ncmVzc19zaWduYWwoKTsKKwlzdHJidWZfcmVsZWFzZSgmcHJvZ3Jlc3MtPmNvdW50ZXJzX3NiKTsKIAlpZiAocHJvZ3Jlc3MtPnRocm91Z2hwdXQpCiAJCXN0cmJ1Zl9yZWxlYXNlKCZwcm9ncmVzcy0+dGhyb3VnaHB1dC0+ZGlzcGxheSk7CiAJZnJlZShwcm9ncmVzcy0+dGhyb3VnaHB1dCk7CmRpZmYgLS1naXQgYS9wcm9ncmVzcy5oIGIvcHJvZ3Jlc3MuaAppbmRleCA3MGE0ZDRhLi44NDczMzg5IDEwMDY0NAotLS0gYS9wcm9ncmVzcy5oCisrKyBiL3Byb2dyZXNzLmgKQEAgLTQsOSArNCwxMiBAQAogc3RydWN0IHByb2dyZXNzOwogCiB2b2lkIGRpc3BsYXlfdGhyb3VnaHB1dChzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzLCB1aW50NjRfdCB0b3RhbCk7Ci1pbnQgZGlzcGxheV9wcm9ncmVzcyhzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzLCB1aW50NjRfdCBuKTsKK3ZvaWQgZGlzcGxheV9wcm9ncmVzcyhzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzLCB1aW50NjRfdCBuKTsKIHN0cnVjdCBwcm9ncmVzcyAqc3RhcnRfcHJvZ3Jlc3MoY29uc3QgY2hhciAqdGl0bGUsIHVpbnQ2NF90IHRvdGFsKTsKK3N0cnVjdCBwcm9ncmVzcyAqc3RhcnRfc3BhcnNlX3Byb2dyZXNzKGNvbnN0IGNoYXIgKnRpdGxlLCB1aW50NjRfdCB0b3RhbCk7CiBzdHJ1Y3QgcHJvZ3Jlc3MgKnN0YXJ0X2RlbGF5ZWRfcHJvZ3Jlc3MoY29uc3QgY2hhciAqdGl0bGUsIHVpbnQ2NF90IHRvdGFsKTsKK3N0cnVjdCBwcm9ncmVzcyAqc3RhcnRfZGVsYXllZF9zcGFyc2VfcHJvZ3Jlc3MoY29uc3QgY2hhciAqdGl0bGUsCisJCQkJCSAgICAgICB1aW50NjRfdCB0b3RhbCk7CiB2b2lkIHN0b3BfcHJvZ3Jlc3Moc3RydWN0IHByb2dyZXNzICoqcHJvZ3Jlc3MpOwogdm9pZCBzdG9wX3Byb2dyZXNzX21zZyhzdHJ1Y3QgcHJvZ3Jlc3MgKipwcm9ncmVzcywgY29uc3QgY2hhciAqbXNnKTsKIApkaWZmIC0tZ2l0IGEvcHJvbWlzb3ItcmVtb3RlLmMgYi9wcm9taXNvci1yZW1vdGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjMzOGM5Ci0tLSAvZGV2L251bGwKKysrIGIvcHJvbWlzb3ItcmVtb3RlLmMKQEAgLTAsMCArMSwyNjUgQEAKKyNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgIm9iamVjdC1zdG9yZS5oIgorI2luY2x1ZGUgInByb21pc29yLXJlbW90ZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgInRyYW5zcG9ydC5oIgorCitzdGF0aWMgY2hhciAqcmVwb3NpdG9yeV9mb3JtYXRfcGFydGlhbF9jbG9uZTsKK3N0YXRpYyBjb25zdCBjaGFyICpjb3JlX3BhcnRpYWxfY2xvbmVfZmlsdGVyX2RlZmF1bHQ7CisKK3ZvaWQgc2V0X3JlcG9zaXRvcnlfZm9ybWF0X3BhcnRpYWxfY2xvbmUoY2hhciAqcGFydGlhbF9jbG9uZSkKK3sKKwlyZXBvc2l0b3J5X2Zvcm1hdF9wYXJ0aWFsX2Nsb25lID0geHN0cmR1cF9vcl9udWxsKHBhcnRpYWxfY2xvbmUpOworfQorCitzdGF0aWMgaW50IGZldGNoX3JlZnMoY29uc3QgY2hhciAqcmVtb3RlX25hbWUsIHN0cnVjdCByZWYgKnJlZikKK3sKKwlzdHJ1Y3QgcmVtb3RlICpyZW1vdGU7CisJc3RydWN0IHRyYW5zcG9ydCAqdHJhbnNwb3J0OworCWludCByZXM7CisKKwlyZW1vdGUgPSByZW1vdGVfZ2V0KHJlbW90ZV9uYW1lKTsKKwlpZiAoIXJlbW90ZS0+dXJsWzBdKQorCQlkaWUoXygiUmVtb3RlIHdpdGggbm8gVVJMIikpOworCXRyYW5zcG9ydCA9IHRyYW5zcG9ydF9nZXQocmVtb3RlLCByZW1vdGUtPnVybFswXSk7CisKKwl0cmFuc3BvcnRfc2V0X29wdGlvbih0cmFuc3BvcnQsIFRSQU5TX09QVF9GUk9NX1BST01JU09SLCAiMSIpOworCXRyYW5zcG9ydF9zZXRfb3B0aW9uKHRyYW5zcG9ydCwgVFJBTlNfT1BUX05PX0RFUEVOREVOVFMsICIxIik7CisJcmVzID0gdHJhbnNwb3J0X2ZldGNoX3JlZnModHJhbnNwb3J0LCByZWYpOworCisJcmV0dXJuIHJlczsKK30KKworc3RhdGljIGludCBmZXRjaF9vYmplY3RzKGNvbnN0IGNoYXIgKnJlbW90ZV9uYW1lLAorCQkJIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZHMsCisJCQkgaW50IG9pZF9ucikKK3sKKwlzdHJ1Y3QgcmVmICpyZWYgPSBOVUxMOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG9pZF9ucjsgaSsrKSB7CisJCXN0cnVjdCByZWYgKm5ld19yZWYgPSBhbGxvY19yZWYob2lkX3RvX2hleCgmb2lkc1tpXSkpOworCQlvaWRjcHkoJm5ld19yZWYtPm9sZF9vaWQsICZvaWRzW2ldKTsKKwkJbmV3X3JlZi0+ZXhhY3Rfb2lkID0gMTsKKwkJbmV3X3JlZi0+bmV4dCA9IHJlZjsKKwkJcmVmID0gbmV3X3JlZjsKKwl9CisJcmV0dXJuIGZldGNoX3JlZnMocmVtb3RlX25hbWUsIHJlZik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcHJvbWlzb3JfcmVtb3RlICpwcm9taXNvcnM7CitzdGF0aWMgc3RydWN0IHByb21pc29yX3JlbW90ZSAqKnByb21pc29yc190YWlsID0gJnByb21pc29yczsKKworc3RhdGljIHN0cnVjdCBwcm9taXNvcl9yZW1vdGUgKnByb21pc29yX3JlbW90ZV9uZXcoY29uc3QgY2hhciAqcmVtb3RlX25hbWUpCit7CisJc3RydWN0IHByb21pc29yX3JlbW90ZSAqcjsKKworCWlmICgqcmVtb3RlX25hbWUgPT0gJy8nKSB7CisJCXdhcm5pbmcoXygicHJvbWlzb3IgcmVtb3RlIG5hbWUgY2Fubm90IGJlZ2luIHdpdGggJy8nOiAlcyIpLAorCQkJcmVtb3RlX25hbWUpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlGTEVYX0FMTE9DX1NUUihyLCBuYW1lLCByZW1vdGVfbmFtZSk7CisKKwkqcHJvbWlzb3JzX3RhaWwgPSByOworCXByb21pc29yc190YWlsID0gJnItPm5leHQ7CisKKwlyZXR1cm4gcjsKK30KKworc3RhdGljIHN0cnVjdCBwcm9taXNvcl9yZW1vdGUgKnByb21pc29yX3JlbW90ZV9sb29rdXAoY29uc3QgY2hhciAqcmVtb3RlX25hbWUsCisJCQkJCQkgICAgICBzdHJ1Y3QgcHJvbWlzb3JfcmVtb3RlICoqcHJldmlvdXMpCit7CisJc3RydWN0IHByb21pc29yX3JlbW90ZSAqciwgKnA7CisKKwlmb3IgKHAgPSBOVUxMLCByID0gcHJvbWlzb3JzOyByOyBwID0gciwgciA9IHItPm5leHQpCisJCWlmICghc3RyY21wKHItPm5hbWUsIHJlbW90ZV9uYW1lKSkgeworCQkJaWYgKHByZXZpb3VzKQorCQkJCSpwcmV2aW91cyA9IHA7CisJCQlyZXR1cm4gcjsKKwkJfQorCisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkIHByb21pc29yX3JlbW90ZV9tb3ZlX3RvX3RhaWwoc3RydWN0IHByb21pc29yX3JlbW90ZSAqciwKKwkJCQkJIHN0cnVjdCBwcm9taXNvcl9yZW1vdGUgKnByZXZpb3VzKQoreworCWlmIChyLT5uZXh0ID09IE5VTEwpCisJCXJldHVybjsKKworCWlmIChwcmV2aW91cykKKwkJcHJldmlvdXMtPm5leHQgPSByLT5uZXh0OworCWVsc2UKKwkJcHJvbWlzb3JzID0gci0+bmV4dCA/IHItPm5leHQgOiByOworCXItPm5leHQgPSBOVUxMOworCSpwcm9taXNvcnNfdGFpbCA9IHI7CisJcHJvbWlzb3JzX3RhaWwgPSAmci0+bmV4dDsKK30KKworc3RhdGljIGludCBwcm9taXNvcl9yZW1vdGVfY29uZmlnKGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmRhdGEpCit7CisJY29uc3QgY2hhciAqbmFtZTsKKwlpbnQgbmFtZWxlbjsKKwljb25zdCBjaGFyICpzdWJrZXk7CisKKwlpZiAoIXN0cmNtcCh2YXIsICJjb3JlLnBhcnRpYWxjbG9uZWZpbHRlciIpKQorCQlyZXR1cm4gZ2l0X2NvbmZpZ19zdHJpbmcoJmNvcmVfcGFydGlhbF9jbG9uZV9maWx0ZXJfZGVmYXVsdCwKKwkJCQkJIHZhciwgdmFsdWUpOworCisJaWYgKHBhcnNlX2NvbmZpZ19rZXkodmFyLCAicmVtb3RlIiwgJm5hbWUsICZuYW1lbGVuLCAmc3Via2V5KSA8IDApCisJCXJldHVybiAwOworCisJaWYgKCFzdHJjbXAoc3Via2V5LCAicHJvbWlzb3IiKSkgeworCQljaGFyICpyZW1vdGVfbmFtZTsKKworCQlpZiAoIWdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKSkKKwkJCXJldHVybiAwOworCisJCXJlbW90ZV9uYW1lID0geG1lbWR1cHoobmFtZSwgbmFtZWxlbik7CisKKwkJaWYgKCFwcm9taXNvcl9yZW1vdGVfbG9va3VwKHJlbW90ZV9uYW1lLCBOVUxMKSkKKwkJCXByb21pc29yX3JlbW90ZV9uZXcocmVtb3RlX25hbWUpOworCisJCWZyZWUocmVtb3RlX25hbWUpOworCQlyZXR1cm4gMDsKKwl9CisJaWYgKCFzdHJjbXAoc3Via2V5LCAicGFydGlhbGNsb25lZmlsdGVyIikpIHsKKwkJc3RydWN0IHByb21pc29yX3JlbW90ZSAqcjsKKwkJY2hhciAqcmVtb3RlX25hbWUgPSB4bWVtZHVweihuYW1lLCBuYW1lbGVuKTsKKworCQlyID0gcHJvbWlzb3JfcmVtb3RlX2xvb2t1cChyZW1vdGVfbmFtZSwgTlVMTCk7CisJCWlmICghcikKKwkJCXIgPSBwcm9taXNvcl9yZW1vdGVfbmV3KHJlbW90ZV9uYW1lKTsKKworCQlmcmVlKHJlbW90ZV9uYW1lKTsKKworCQlpZiAoIXIpCisJCQlyZXR1cm4gMDsKKworCQlyZXR1cm4gZ2l0X2NvbmZpZ19zdHJpbmcoJnItPnBhcnRpYWxfY2xvbmVfZmlsdGVyLCB2YXIsIHZhbHVlKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpbml0aWFsaXplZDsKKworc3RhdGljIHZvaWQgcHJvbWlzb3JfcmVtb3RlX2luaXQodm9pZCkKK3sKKwlpZiAoaW5pdGlhbGl6ZWQpCisJCXJldHVybjsKKwlpbml0aWFsaXplZCA9IDE7CisKKwlnaXRfY29uZmlnKHByb21pc29yX3JlbW90ZV9jb25maWcsIE5VTEwpOworCisJaWYgKHJlcG9zaXRvcnlfZm9ybWF0X3BhcnRpYWxfY2xvbmUpIHsKKwkJc3RydWN0IHByb21pc29yX3JlbW90ZSAqbywgKnByZXZpb3VzOworCisJCW8gPSBwcm9taXNvcl9yZW1vdGVfbG9va3VwKHJlcG9zaXRvcnlfZm9ybWF0X3BhcnRpYWxfY2xvbmUsCisJCQkJCSAgICZwcmV2aW91cyk7CisJCWlmIChvKQorCQkJcHJvbWlzb3JfcmVtb3RlX21vdmVfdG9fdGFpbChvLCBwcmV2aW91cyk7CisJCWVsc2UKKwkJCXByb21pc29yX3JlbW90ZV9uZXcocmVwb3NpdG9yeV9mb3JtYXRfcGFydGlhbF9jbG9uZSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBwcm9taXNvcl9yZW1vdGVfY2xlYXIodm9pZCkKK3sKKwl3aGlsZSAocHJvbWlzb3JzKSB7CisJCXN0cnVjdCBwcm9taXNvcl9yZW1vdGUgKnIgPSBwcm9taXNvcnM7CisJCXByb21pc29ycyA9IHByb21pc29ycy0+bmV4dDsKKwkJZnJlZShyKTsKKwl9CisKKwlwcm9taXNvcnNfdGFpbCA9ICZwcm9taXNvcnM7Cit9CisKK3ZvaWQgcHJvbWlzb3JfcmVtb3RlX3JlaW5pdCh2b2lkKQoreworCWluaXRpYWxpemVkID0gMDsKKwlwcm9taXNvcl9yZW1vdGVfY2xlYXIoKTsKKwlwcm9taXNvcl9yZW1vdGVfaW5pdCgpOworfQorCitzdHJ1Y3QgcHJvbWlzb3JfcmVtb3RlICpwcm9taXNvcl9yZW1vdGVfZmluZChjb25zdCBjaGFyICpyZW1vdGVfbmFtZSkKK3sKKwlwcm9taXNvcl9yZW1vdGVfaW5pdCgpOworCisJaWYgKCFyZW1vdGVfbmFtZSkKKwkJcmV0dXJuIHByb21pc29yczsKKworCXJldHVybiBwcm9taXNvcl9yZW1vdGVfbG9va3VwKHJlbW90ZV9uYW1lLCBOVUxMKTsKK30KKworaW50IGhhc19wcm9taXNvcl9yZW1vdGUodm9pZCkKK3sKKwlyZXR1cm4gISFwcm9taXNvcl9yZW1vdGVfZmluZChOVUxMKTsKK30KKworc3RhdGljIGludCByZW1vdmVfZmV0Y2hlZF9vaWRzKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJICAgICAgIHN0cnVjdCBvYmplY3RfaWQgKipvaWRzLAorCQkJICAgICAgIGludCBvaWRfbnIsIGludCB0b19mcmVlKQoreworCWludCBpLCByZW1haW5pbmdfbnIgPSAwOworCWludCAqcmVtYWluaW5nID0geGNhbGxvYyhvaWRfbnIsIHNpemVvZigqcmVtYWluaW5nKSk7CisJc3RydWN0IG9iamVjdF9pZCAqb2xkX29pZHMgPSAqb2lkczsKKwlzdHJ1Y3Qgb2JqZWN0X2lkICpuZXdfb2lkczsKKworCWZvciAoaSA9IDA7IGkgPCBvaWRfbnI7IGkrKykKKwkJaWYgKG9pZF9vYmplY3RfaW5mb19leHRlbmRlZChyZXBvLCAmb2xkX29pZHNbaV0sIE5VTEwsCisJCQkJCSAgICAgT0JKRUNUX0lORk9fU0tJUF9GRVRDSF9PQkpFQ1QpKSB7CisJCQlyZW1haW5pbmdbaV0gPSAxOworCQkJcmVtYWluaW5nX25yKys7CisJCX0KKworCWlmIChyZW1haW5pbmdfbnIpIHsKKwkJaW50IGogPSAwOworCQluZXdfb2lkcyA9IHhjYWxsb2MocmVtYWluaW5nX25yLCBzaXplb2YoKm5ld19vaWRzKSk7CisJCWZvciAoaSA9IDA7IGkgPCBvaWRfbnI7IGkrKykKKwkJCWlmIChyZW1haW5pbmdbaV0pCisJCQkJb2lkY3B5KCZuZXdfb2lkc1tqKytdLCAmb2xkX29pZHNbaV0pOworCQkqb2lkcyA9IG5ld19vaWRzOworCQlpZiAodG9fZnJlZSkKKwkJCWZyZWUob2xkX29pZHMpOworCX0KKworCWZyZWUocmVtYWluaW5nKTsKKworCXJldHVybiByZW1haW5pbmdfbnI7Cit9CisKK2ludCBwcm9taXNvcl9yZW1vdGVfZ2V0X2RpcmVjdChzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCSAgICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWRzLAorCQkJICAgICAgIGludCBvaWRfbnIpCit7CisJc3RydWN0IHByb21pc29yX3JlbW90ZSAqcjsKKwlzdHJ1Y3Qgb2JqZWN0X2lkICpyZW1haW5pbmdfb2lkcyA9IChzdHJ1Y3Qgb2JqZWN0X2lkICopb2lkczsKKwlpbnQgcmVtYWluaW5nX25yID0gb2lkX25yOworCWludCB0b19mcmVlID0gMDsKKwlpbnQgcmVzID0gLTE7CisKKwlwcm9taXNvcl9yZW1vdGVfaW5pdCgpOworCisJZm9yIChyID0gcHJvbWlzb3JzOyByOyByID0gci0+bmV4dCkgeworCQlpZiAoZmV0Y2hfb2JqZWN0cyhyLT5uYW1lLCByZW1haW5pbmdfb2lkcywgcmVtYWluaW5nX25yKSA8IDApIHsKKwkJCWlmIChyZW1haW5pbmdfbnIgPT0gMSkKKwkJCQljb250aW51ZTsKKwkJCXJlbWFpbmluZ19uciA9IHJlbW92ZV9mZXRjaGVkX29pZHMocmVwbywgJnJlbWFpbmluZ19vaWRzLAorCQkJCQkJCSByZW1haW5pbmdfbnIsIHRvX2ZyZWUpOworCQkJaWYgKHJlbWFpbmluZ19ucikgeworCQkJCXRvX2ZyZWUgPSAxOworCQkJCWNvbnRpbnVlOworCQkJfQorCQl9CisJCXJlcyA9IDA7CisJCWJyZWFrOworCX0KKworCWlmICh0b19mcmVlKQorCQlmcmVlKHJlbWFpbmluZ19vaWRzKTsKKworCXJldHVybiByZXM7Cit9CmRpZmYgLS1naXQgYS9wcm9taXNvci1yZW1vdGUuaCBiL3Byb21pc29yLXJlbW90ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczN2JhYzMKLS0tIC9kZXYvbnVsbAorKysgYi9wcm9taXNvci1yZW1vdGUuaApAQCAtMCwwICsxLDMzIEBACisjaWZuZGVmIFBST01JU09SX1JFTU9URV9ICisjZGVmaW5lIFBST01JU09SX1JFTU9URV9ICisKKyNpbmNsdWRlICJyZXBvc2l0b3J5LmgiCisKK3N0cnVjdCBvYmplY3RfaWQ7CisKKy8qCisgKiBQcm9taXNvciByZW1vdGUgbGlua2VkIGxpc3QKKyAqCisgKiBJbmZvcm1hdGlvbiBpbiBpdHMgZmllbGRzIGNvbWUgZnJvbSByZW1vdGUuWFhYIGNvbmZpZyBlbnRyaWVzIG9yCisgKiBmcm9tIGV4dGVuc2lvbnMucGFydGlhbGNsb25lIG9yIGNvcmUucGFydGlhbGNsb25lZmlsdGVyLgorICovCitzdHJ1Y3QgcHJvbWlzb3JfcmVtb3RlIHsKKwlzdHJ1Y3QgcHJvbWlzb3JfcmVtb3RlICpuZXh0OworCWNvbnN0IGNoYXIgKnBhcnRpYWxfY2xvbmVfZmlsdGVyOworCWNvbnN0IGNoYXIgbmFtZVtGTEVYX0FSUkFZXTsKK307CisKK3ZvaWQgcHJvbWlzb3JfcmVtb3RlX3JlaW5pdCh2b2lkKTsKK3N0cnVjdCBwcm9taXNvcl9yZW1vdGUgKnByb21pc29yX3JlbW90ZV9maW5kKGNvbnN0IGNoYXIgKnJlbW90ZV9uYW1lKTsKK2ludCBoYXNfcHJvbWlzb3JfcmVtb3RlKHZvaWQpOworaW50IHByb21pc29yX3JlbW90ZV9nZXRfZGlyZWN0KHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJICAgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZHMsCisJCQkgICAgICAgaW50IG9pZF9ucik7CisKKy8qCisgKiBUaGlzIHNob3VsZCBiZSB1c2VkIG9ubHkgb25jZSBmcm9tIHNldHVwLmMgdG8gc2V0IHRoZSB2YWx1ZSB3ZSBnb3QKKyAqIGZyb20gdGhlIGV4dGVuc2lvbnMucGFydGlhbGNsb25lIGNvbmZpZyBvcHRpb24uCisgKi8KK3ZvaWQgc2V0X3JlcG9zaXRvcnlfZm9ybWF0X3BhcnRpYWxfY2xvbmUoY2hhciAqcGFydGlhbF9jbG9uZSk7CisKKyNlbmRpZiAvKiBQUk9NSVNPUl9SRU1PVEVfSCAqLwpkaWZmIC0tZ2l0IGEvcHJvdG9jb2wuYyBiL3Byb3RvY29sLmMKaW5kZXggNWU2MzY3OC4uODAzYmVmNSAxMDA2NDQKLS0tIGEvcHJvdG9jb2wuYworKysgYi9wcm90b2NvbC5jCkBAIC0xNyw2ICsxNyw5IEBACiBlbnVtIHByb3RvY29sX3ZlcnNpb24gZ2V0X3Byb3RvY29sX3ZlcnNpb25fY29uZmlnKHZvaWQpCiB7CiAJY29uc3QgY2hhciAqdmFsdWU7CisJY29uc3QgY2hhciAqZ2l0X3Rlc3RfayA9ICJHSVRfVEVTVF9QUk9UT0NPTF9WRVJTSU9OIjsKKwljb25zdCBjaGFyICpnaXRfdGVzdF92OworCiAJaWYgKCFnaXRfY29uZmlnX2dldF9zdHJpbmdfY29uc3QoInByb3RvY29sLnZlcnNpb24iLCAmdmFsdWUpKSB7CiAJCWVudW0gcHJvdG9jb2xfdmVyc2lvbiB2ZXJzaW9uID0gcGFyc2VfcHJvdG9jb2xfdmVyc2lvbih2YWx1ZSk7CiAKQEAgLTI3LDcgKzMwLDE2IEBACiAJCXJldHVybiB2ZXJzaW9uOwogCX0KIAotCXJldHVybiBwcm90b2NvbF92MDsKKwlnaXRfdGVzdF92ID0gZ2V0ZW52KGdpdF90ZXN0X2spOworCWlmIChnaXRfdGVzdF92ICYmICpnaXRfdGVzdF92KSB7CisJCWVudW0gcHJvdG9jb2xfdmVyc2lvbiBlbnYgPSBwYXJzZV9wcm90b2NvbF92ZXJzaW9uKGdpdF90ZXN0X3YpOworCisJCWlmIChlbnYgPT0gcHJvdG9jb2xfdW5rbm93bl92ZXJzaW9uKQorCQkJZGllKCJ1bmtub3duIHZhbHVlIGZvciAlczogJXMiLCBnaXRfdGVzdF9rLCBnaXRfdGVzdF92KTsKKwkJcmV0dXJuIGVudjsKKwl9CisKKwlyZXR1cm4gcHJvdG9jb2xfdjI7CiB9CiAKIGVudW0gcHJvdG9jb2xfdmVyc2lvbiBkZXRlcm1pbmVfcHJvdG9jb2xfdmVyc2lvbl9zZXJ2ZXIodm9pZCkKZGlmZiAtLWdpdCBhL3Byb3RvY29sLmggYi9wcm90b2NvbC5oCmluZGV4IDJhZDM1ZTQuLmNlZjFhNGEgMTAwNjQ0Ci0tLSBhL3Byb3RvY29sLmgKKysrIGIvcHJvdG9jb2wuaApAQCAtMTQsNyArMTQsNyBAQAogICogJ3Byb3RvY29sLnZlcnNpb24nIGNvbmZpZy4gIElmIHVuY29uZmlndXJlZCwgYSB2YWx1ZSBvZiAncHJvdG9jb2xfdjAnIGlzCiAgKiByZXR1cm5lZC4KICAqLwotZXh0ZXJuIGVudW0gcHJvdG9jb2xfdmVyc2lvbiBnZXRfcHJvdG9jb2xfdmVyc2lvbl9jb25maWcodm9pZCk7CitlbnVtIHByb3RvY29sX3ZlcnNpb24gZ2V0X3Byb3RvY29sX3ZlcnNpb25fY29uZmlnKHZvaWQpOwogCiAvKgogICogVXNlZCBieSBhIHNlcnZlciB0byBkZXRlcm1pbmUgd2hpY2ggcHJvdG9jb2wgdmVyc2lvbiBzaG91bGQgYmUgdXNlZCBiYXNlZCBvbgpAQCAtMjMsMTIgKzIzLDEyIEBACiAgKiByZXF1ZXN0IGEgcGFydGljdWxhciBwcm90b2NvbCB2ZXJzaW9uLCBhIGRlZmF1bHQgb2YgJ3Byb3RvY29sX3YwJyB3aWxsIGJlCiAgKiB1c2VkLgogICovCi1leHRlcm4gZW51bSBwcm90b2NvbF92ZXJzaW9uIGRldGVybWluZV9wcm90b2NvbF92ZXJzaW9uX3NlcnZlcih2b2lkKTsKK2VudW0gcHJvdG9jb2xfdmVyc2lvbiBkZXRlcm1pbmVfcHJvdG9jb2xfdmVyc2lvbl9zZXJ2ZXIodm9pZCk7CiAKIC8qCiAgKiBVc2VkIGJ5IGEgY2xpZW50IHRvIGRldGVybWluZSB3aGljaCBwcm90b2NvbCB2ZXJzaW9uIHRoZSBzZXJ2ZXIgaXMgc3BlYWtpbmcKICAqIGJhc2VkIG9uIHRoZSBzZXJ2ZXIncyBpbml0aWFsIHJlc3BvbnNlLgogICovCi1leHRlcm4gZW51bSBwcm90b2NvbF92ZXJzaW9uIGRldGVybWluZV9wcm90b2NvbF92ZXJzaW9uX2NsaWVudChjb25zdCBjaGFyICpzZXJ2ZXJfcmVzcG9uc2UpOworZW51bSBwcm90b2NvbF92ZXJzaW9uIGRldGVybWluZV9wcm90b2NvbF92ZXJzaW9uX2NsaWVudChjb25zdCBjaGFyICpzZXJ2ZXJfcmVzcG9uc2UpOwogCiAjZW5kaWYgLyogUFJPVE9DT0xfSCAqLwpkaWZmIC0tZ2l0IGEvcXVvdGUuYyBiL3F1b3RlLmMKaW5kZXggYzk1ZGQyYy4uYmNjMGRiYyAxMDA2NDQKLS0tIGEvcXVvdGUuYworKysgYi9xdW90ZS5jCkBAIC00OCw4ICs0OCwxNCBAQAogCXN0YXRpYyBjb25zdCBjaGFyIG9rX3B1bmN0W10gPSAiKywtLi86PUBfXiI7CiAJY29uc3QgY2hhciAqcDsKIAorCS8qIEF2b2lkIGxvc2luZyBhIHplcm8tbGVuZ3RoIHN0cmluZyBieSBhZGRpbmcgJycgKi8KKwlpZiAoISpzcmMpIHsKKwkJc3RyYnVmX2FkZHN0cihkc3QsICInJyIpOworCQlyZXR1cm47CisJfQorCiAJZm9yIChwID0gc3JjOyAqcDsgcCsrKSB7Ci0JCWlmICghaXNhbHBoYSgqcCkgJiYgIWlzZGlnaXQoKnApICYmICFzdHJjaHIob2tfcHVuY3QsICpwKSkgeworCQlpZiAoIWlzYWxudW0oKnApICYmICFzdHJjaHIob2tfcHVuY3QsICpwKSkgewogCQkJc3FfcXVvdGVfYnVmKGRzdCwgc3JjKTsKIAkJCXJldHVybjsKIAkJfQpAQCAtODQsMTIgKzkwLDI4IEBACiAJfQogfQogCisvKgorICogTGVnYWN5IGZ1bmN0aW9uIHRvIGFwcGVuZCBlYWNoIGFyZ3YgdmFsdWUsIHF1b3RlZCBhcyBuZWNlc3Nhc3J5LAorICogd2l0aCB3aGl0ZXNwYWNlIGJlZm9yZSBlYWNoIHZhbHVlLiAgVGhpcyByZXN1bHRzIGluIGEgbGVhZGluZworICogc3BhY2UgaW4gdGhlIHJlc3VsdC4KKyAqLwogdm9pZCBzcV9xdW90ZV9hcmd2X3ByZXR0eShzdHJ1Y3Qgc3RyYnVmICpkc3QsIGNvbnN0IGNoYXIgKiphcmd2KQogeworCWlmIChhcmd2WzBdKQorCQlzdHJidWZfYWRkY2goZHN0LCAnICcpOworCXNxX2FwcGVuZF9xdW90ZV9hcmd2X3ByZXR0eShkc3QsIGFyZ3YpOworfQorCisvKgorICogQXBwZW5kIGVhY2ggYXJndiB2YWx1ZSwgcXVvdGVkIGFzIG5lY2Vzc2FyeSwgd2l0aCB3aGl0ZXNwYWNlIGJldHdlZW4gdGhlbS4KKyAqLwordm9pZCBzcV9hcHBlbmRfcXVvdGVfYXJndl9wcmV0dHkoc3RydWN0IHN0cmJ1ZiAqZHN0LCBjb25zdCBjaGFyICoqYXJndikKK3sKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGFyZ3ZbaV07IGkrKykgewotCQlzdHJidWZfYWRkY2goZHN0LCAnICcpOworCQlpZiAoaSA+IDApCisJCQlzdHJidWZfYWRkY2goZHN0LCAnICcpOwogCQlzcV9xdW90ZV9idWZfcHJldHR5KGRzdCwgYXJndltpXSk7CiAJfQogfQpAQCAtMjM0LDcgKzI1Niw3IEBACiAgKiAgICAgUmV0dXJuIHZhbHVlIGlzIHRoZSBzYW1lIGFzIGluICgxKS4KICAqLwogc3RhdGljIHNpemVfdCBxdW90ZV9jX3N0eWxlX2NvdW50ZWQoY29uc3QgY2hhciAqbmFtZSwgc3NpemVfdCBtYXhsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3RyYnVmICpzYiwgRklMRSAqZnAsIGludCBub19kcSkKKwkJCQkgICAgc3RydWN0IHN0cmJ1ZiAqc2IsIEZJTEUgKmZwLCBpbnQgbm9fZHEpCiB7CiAjdW5kZWYgRU1JVAogI2RlZmluZSBFTUlUKGMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApkaWZmIC0tZ2l0IGEvcXVvdGUuaCBiL3F1b3RlLmgKaW5kZXggZWE5OTJkYy4uY2E4ZWUzMSAxMDA2NDQKLS0tIGEvcXVvdGUuaAorKysgYi9xdW90ZS5oCkBAIC0yOSw5ICsyOSw5IEBACiAgKiBzcV9xdW90ZWYoKSBxdW90ZXMgdGhlIGVudGlyZSBmb3JtYXR0ZWQgc3RyaW5nIGFzIGEgc2luZ2xlIHJlc3VsdC4KICAqLwogCi1leHRlcm4gdm9pZCBzcV9xdW90ZV9idWYoc3RydWN0IHN0cmJ1ZiAqLCBjb25zdCBjaGFyICpzcmMpOwotZXh0ZXJuIHZvaWQgc3FfcXVvdGVfYXJndihzdHJ1Y3Qgc3RyYnVmICosIGNvbnN0IGNoYXIgKiphcmd2KTsKLWV4dGVybiB2b2lkIHNxX3F1b3RlZihzdHJ1Y3Qgc3RyYnVmICosIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKK3ZvaWQgc3FfcXVvdGVfYnVmKHN0cnVjdCBzdHJidWYgKiwgY29uc3QgY2hhciAqc3JjKTsKK3ZvaWQgc3FfcXVvdGVfYXJndihzdHJ1Y3Qgc3RyYnVmICosIGNvbnN0IGNoYXIgKiphcmd2KTsKK3ZvaWQgc3FfcXVvdGVmKHN0cnVjdCBzdHJidWYgKiwgY29uc3QgY2hhciAqZm10LCAuLi4pOwogCiAvKgogICogVGhlc2UgbWF0Y2ggdGhlaXIgbm9uLXByZXR0eSB2YXJpYW50cywgZXhjZXB0IHRoYXQgdGhleSBhdm9pZApAQCAtNDAsMTkgKzQwLDIwIEBACiAgKi8KIHZvaWQgc3FfcXVvdGVfYnVmX3ByZXR0eShzdHJ1Y3Qgc3RyYnVmICosIGNvbnN0IGNoYXIgKnNyYyk7CiB2b2lkIHNxX3F1b3RlX2FyZ3ZfcHJldHR5KHN0cnVjdCBzdHJidWYgKiwgY29uc3QgY2hhciAqKmFyZ3YpOwordm9pZCBzcV9hcHBlbmRfcXVvdGVfYXJndl9wcmV0dHkoc3RydWN0IHN0cmJ1ZiAqZHN0LCBjb25zdCBjaGFyICoqYXJndik7CiAKIC8qIFRoaXMgdW53cmFwcyB3aGF0IHNxX3F1b3RlKCkgcHJvZHVjZXMgaW4gcGxhY2UsIGJ1dCByZXR1cm5zCiAgKiBOVUxMIGlmIHRoZSBpbnB1dCBkb2VzIG5vdCBsb29rIGxpa2Ugd2hhdCBzcV9xdW90ZSB3b3VsZCBoYXZlCiAgKiBwcm9kdWNlZC4KICAqLwotZXh0ZXJuIGNoYXIgKnNxX2RlcXVvdGUoY2hhciAqKTsKK2NoYXIgKnNxX2RlcXVvdGUoY2hhciAqKTsKIAogLyoKICAqIFNhbWUgYXMgdGhlIGFib3ZlLCBidXQgY2FuIGJlIHVzZWQgdG8gdW53cmFwIG1hbnkgYXJndW1lbnRzIGluIHRoZQogICogc2FtZSBzdHJpbmcgc2VwYXJhdGVkIGJ5IHNwYWNlLiBMaWtlIHNxX3F1b3RlLCBpdCB3b3JrcyBpbiBwbGFjZSwKICAqIG1vZGlmeWluZyBhcmcgYW5kIGFwcGVuZGluZyBwb2ludGVycyBpbnRvIGl0IHRvIGFyZ3YuCiAgKi8KLWV4dGVybiBpbnQgc3FfZGVxdW90ZV90b19hcmd2KGNoYXIgKmFyZywgY29uc3QgY2hhciAqKiphcmd2LCBpbnQgKm5yLCBpbnQgKmFsbG9jKTsKK2ludCBzcV9kZXF1b3RlX3RvX2FyZ3YoY2hhciAqYXJnLCBjb25zdCBjaGFyICoqKmFyZ3YsIGludCAqbnIsIGludCAqYWxsb2MpOwogCiAvKgogICogU2FtZSBhcyBhYm92ZSwgYnV0IHN0b3JlIHRoZSB1bnF1b3RlZCBzdHJpbmdzIGluIGFuIGFyZ3ZfYXJyYXkuIFdlIHdpbGwKQEAgLTYwLDI0ICs2MSwyNCBAQAogICogd2lsbCBkdXBsaWNhdGUgYW5kIHRha2Ugb3duZXJzaGlwIG9mIHRoZSBzdHJpbmdzLgogICovCiBzdHJ1Y3QgYXJndl9hcnJheTsKLWV4dGVybiBpbnQgc3FfZGVxdW90ZV90b19hcmd2X2FycmF5KGNoYXIgKmFyZywgc3RydWN0IGFyZ3ZfYXJyYXkgKik7CitpbnQgc3FfZGVxdW90ZV90b19hcmd2X2FycmF5KGNoYXIgKmFyZywgc3RydWN0IGFyZ3ZfYXJyYXkgKik7CiAKLWV4dGVybiBpbnQgdW5xdW90ZV9jX3N0eWxlKHN0cnVjdCBzdHJidWYgKiwgY29uc3QgY2hhciAqcXVvdGVkLCBjb25zdCBjaGFyICoqZW5kcCk7Ci1leHRlcm4gc2l6ZV90IHF1b3RlX2Nfc3R5bGUoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHN0cmJ1ZiAqLCBGSUxFICosIGludCBub19kcSk7Ci1leHRlcm4gdm9pZCBxdW90ZV90d29fY19zdHlsZShzdHJ1Y3Qgc3RyYnVmICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBpbnQpOworaW50IHVucXVvdGVfY19zdHlsZShzdHJ1Y3Qgc3RyYnVmICosIGNvbnN0IGNoYXIgKnF1b3RlZCwgY29uc3QgY2hhciAqKmVuZHApOworc2l6ZV90IHF1b3RlX2Nfc3R5bGUoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHN0cmJ1ZiAqLCBGSUxFICosIGludCBub19kcSk7Cit2b2lkIHF1b3RlX3R3b19jX3N0eWxlKHN0cnVjdCBzdHJidWYgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGludCk7CiAKLWV4dGVybiB2b2lkIHdyaXRlX25hbWVfcXVvdGVkKGNvbnN0IGNoYXIgKm5hbWUsIEZJTEUgKiwgaW50IHRlcm1pbmF0b3IpOwotZXh0ZXJuIHZvaWQgd3JpdGVfbmFtZV9xdW90ZWRfcmVsYXRpdmUoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqcHJlZml4LAotCQlGSUxFICpmcCwgaW50IHRlcm1pbmF0b3IpOwordm9pZCB3cml0ZV9uYW1lX3F1b3RlZChjb25zdCBjaGFyICpuYW1lLCBGSUxFICosIGludCB0ZXJtaW5hdG9yKTsKK3ZvaWQgd3JpdGVfbmFtZV9xdW90ZWRfcmVsYXRpdmUoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqcHJlZml4LAorCQkJCUZJTEUgKmZwLCBpbnQgdGVybWluYXRvcik7CiAKIC8qIHF1b3RlIHBhdGggYXMgcmVsYXRpdmUgdG8gdGhlIGdpdmVuIHByZWZpeCAqLwotZXh0ZXJuIGNoYXIgKnF1b3RlX3BhdGhfcmVsYXRpdmUoY29uc3QgY2hhciAqaW4sIGNvbnN0IGNoYXIgKnByZWZpeCwKK2NoYXIgKnF1b3RlX3BhdGhfcmVsYXRpdmUoY29uc3QgY2hhciAqaW4sIGNvbnN0IGNoYXIgKnByZWZpeCwKIAkJCSAgc3RydWN0IHN0cmJ1ZiAqb3V0KTsKIAogLyogcXVvdGluZyBhcyBhIHN0cmluZyBsaXRlcmFsIGZvciBvdGhlciBsYW5ndWFnZXMgKi8KLWV4dGVybiB2b2lkIHBlcmxfcXVvdGVfYnVmKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpzcmMpOwotZXh0ZXJuIHZvaWQgcHl0aG9uX3F1b3RlX2J1ZihzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqc3JjKTsKLWV4dGVybiB2b2lkIHRjbF9xdW90ZV9idWYoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKnNyYyk7Ci1leHRlcm4gdm9pZCBiYXNpY19yZWdleF9xdW90ZV9idWYoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKnNyYyk7Cit2b2lkIHBlcmxfcXVvdGVfYnVmKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpzcmMpOwordm9pZCBweXRob25fcXVvdGVfYnVmKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpzcmMpOwordm9pZCB0Y2xfcXVvdGVfYnVmKHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICpzcmMpOwordm9pZCBiYXNpY19yZWdleF9xdW90ZV9idWYoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKnNyYyk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvcmFuZ2UtZGlmZi5jIGIvcmFuZ2UtZGlmZi5jCmluZGV4IDQ4YjBlMWIuLmY3NDU1NjcgMTAwNjQ0Ci0tLSBhL3JhbmdlLWRpZmYuYworKysgYi9yYW5nZS1kaWZmLmMKQEAgLTEwLDYgKzEwLDcgQEAKICNpbmNsdWRlICJjb21taXQuaCIKICNpbmNsdWRlICJwcmV0dHkuaCIKICNpbmNsdWRlICJ1c2VyZGlmZi5oIgorI2luY2x1ZGUgImFwcGx5LmgiCiAKIHN0cnVjdCBwYXRjaF91dGlsIHsKIAkvKiBGb3IgdGhlIHNlYXJjaCBmb3IgYW4gZXhhY3QgbWF0Y2ggKi8KQEAgLTI0LDIwICsyNSwzNSBAQAogCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogfTsKIAorc3RhdGljIHNpemVfdCBmaW5kX2VuZF9vZl9saW5lKGNoYXIgKmJ1ZmZlciwgdW5zaWduZWQgbG9uZyBzaXplKQoreworCWNoYXIgKmVvbCA9IG1lbWNocihidWZmZXIsICdcbicsIHNpemUpOworCisJaWYgKCFlb2wpCisJCXJldHVybiBzaXplOworCisJKmVvbCA9ICdcMCc7CisJcmV0dXJuIGVvbCArIDEgLSBidWZmZXI7Cit9CisKIC8qCiAgKiBSZWFkcyB0aGUgcGF0Y2hlcyBpbnRvIGEgc3RyaW5nIGxpc3QsIHdpdGggdGhlIGB1dGlsYCBmaWVsZCBiZWluZyBwb3B1bGF0ZWQKICAqIGFzIHN0cnVjdCBvYmplY3RfaWQgKHdpbGwgbmVlZCB0byBiZSBmcmVlKClkKS4KICAqLwotc3RhdGljIGludCByZWFkX3BhdGNoZXMoY29uc3QgY2hhciAqcmFuZ2UsIHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCkKK3N0YXRpYyBpbnQgcmVhZF9wYXRjaGVzKGNvbnN0IGNoYXIgKnJhbmdlLCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QsCisJCQljb25zdCBzdHJ1Y3QgYXJndl9hcnJheSAqb3RoZXJfYXJnKQogewogCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOwotCUZJTEUgKmluOwotCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQsIGxpbmUgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklULCBjb250ZW50cyA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBwYXRjaF91dGlsICp1dGlsID0gTlVMTDsKIAlpbnQgaW5faGVhZGVyID0gMTsKKwljaGFyICpsaW5lLCAqY3VycmVudF9maWxlbmFtZSA9IE5VTEw7CisJaW50IG9mZnNldCwgbGVuOworCXNpemVfdCBzaXplOwogCiAJYXJndl9hcnJheV9wdXNobCgmY3AuYXJncywgImxvZyIsICItLW5vLWNvbG9yIiwgIi1wIiwgIi0tbm8tbWVyZ2VzIiwKIAkJCSItLXJldmVyc2UiLCAiLS1kYXRlLW9yZGVyIiwgIi0tZGVjb3JhdGU9bm8iLAorCQkJIi0tbm8tcHJlZml4IiwKIAkJCS8qCiAJCQkgKiBDaG9vc2UgaW5kaWNhdG9ycyB0aGF0IGFyZSBub3QgdXNlZCBhbnl3aGVyZQogCQkJICogZWxzZSBpbiBkaWZmcywgYnV0IHN0aWxsIGxvb2sgcmVhc29uYWJsZQpAQCAtNDYsMjUgKzYyLDMxIEBACiAJCQkiLS1vdXRwdXQtaW5kaWNhdG9yLW5ldz0+IiwKIAkJCSItLW91dHB1dC1pbmRpY2F0b3Itb2xkPTwiLAogCQkJIi0tb3V0cHV0LWluZGljYXRvci1jb250ZXh0PSMiLAotCQkJIi0tbm8tYWJicmV2LWNvbW1pdCIsIHJhbmdlLAorCQkJIi0tbm8tYWJicmV2LWNvbW1pdCIsCiAJCQlOVUxMKTsKKwlpZiAob3RoZXJfYXJnKQorCQlhcmd2X2FycmF5X3B1c2h2KCZjcC5hcmdzLCBvdGhlcl9hcmctPmFyZ3YpOworCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgcmFuZ2UpOwogCWNwLm91dCA9IC0xOwogCWNwLm5vX3N0ZGluID0gMTsKIAljcC5naXRfY21kID0gMTsKIAogCWlmIChzdGFydF9jb21tYW5kKCZjcCkpCiAJCXJldHVybiBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3Qgc3RhcnQgYGxvZ2AiKSk7Ci0JaW4gPSBmZG9wZW4oY3Aub3V0LCAiciIpOwotCWlmICghaW4pIHsKKwlpZiAoc3RyYnVmX3JlYWQoJmNvbnRlbnRzLCBjcC5vdXQsIDApIDwgMCkgewogCQllcnJvcl9lcnJubyhfKCJjb3VsZCBub3QgcmVhZCBgbG9nYCBvdXRwdXQiKSk7CiAJCWZpbmlzaF9jb21tYW5kKCZjcCk7CiAJCXJldHVybiAtMTsKIAl9CiAKLQl3aGlsZSAoc3RyYnVmX2dldGxpbmUoJmxpbmUsIGluKSAhPSBFT0YpIHsKKwlsaW5lID0gY29udGVudHMuYnVmOworCXNpemUgPSBjb250ZW50cy5sZW47CisJZm9yIChvZmZzZXQgPSAwOyBzaXplID4gMDsgb2Zmc2V0ICs9IGxlbiwgc2l6ZSAtPSBsZW4sIGxpbmUgKz0gbGVuKSB7CiAJCWNvbnN0IGNoYXIgKnA7CiAKLQkJaWYgKHNraXBfcHJlZml4KGxpbmUuYnVmLCAiY29tbWl0ICIsICZwKSkgeworCQlsZW4gPSBmaW5kX2VuZF9vZl9saW5lKGxpbmUsIHNpemUpOworCQlsaW5lW2xlbiAtIDFdID0gJ1wwJzsKKwkJaWYgKHNraXBfcHJlZml4KGxpbmUsICJjb21taXQgIiwgJnApKSB7CiAJCQlpZiAodXRpbCkgewogCQkJCXN0cmluZ19saXN0X2FwcGVuZChsaXN0LCBidWYuYnVmKS0+dXRpbCA9IHV0aWw7CiAJCQkJc3RyYnVmX3Jlc2V0KCZidWYpOwpAQCAtNzUsOCArOTcsNyBAQAogCQkJCWZyZWUodXRpbCk7CiAJCQkJc3RyaW5nX2xpc3RfY2xlYXIobGlzdCwgMSk7CiAJCQkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7Ci0JCQkJc3RyYnVmX3JlbGVhc2UoJmxpbmUpOwotCQkJCWZjbG9zZShpbik7CisJCQkJc3RyYnVmX3JlbGVhc2UoJmNvbnRlbnRzKTsKIAkJCQlmaW5pc2hfY29tbWFuZCgmY3ApOwogCQkJCXJldHVybiAtMTsKIAkJCX0KQEAgLTg1LDYxICsxMDYsMTAxIEBACiAJCQljb250aW51ZTsKIAkJfQogCi0JCWlmIChzdGFydHNfd2l0aChsaW5lLmJ1ZiwgImRpZmYgLS1naXQiKSkgeworCQlpZiAoc3RhcnRzX3dpdGgobGluZSwgImRpZmYgLS1naXQiKSkgeworCQkJc3RydWN0IHBhdGNoIHBhdGNoID0geyAwIH07CisJCQlzdHJ1Y3Qgc3RyYnVmIHJvb3QgPSBTVFJCVUZfSU5JVDsKKwkJCWludCBsaW5lbnIgPSAwOworCiAJCQlpbl9oZWFkZXIgPSAwOwogCQkJc3RyYnVmX2FkZGNoKCZidWYsICdcbicpOwogCQkJaWYgKCF1dGlsLT5kaWZmX29mZnNldCkKIAkJCQl1dGlsLT5kaWZmX29mZnNldCA9IGJ1Zi5sZW47Ci0JCQlzdHJidWZfYWRkY2goJmJ1ZiwgJyAnKTsKLQkJCXN0cmJ1Zl9hZGRidWYoJmJ1ZiwgJmxpbmUpOworCQkJbGluZVtsZW4gLSAxXSA9ICdcbic7CisJCQlsZW4gPSBwYXJzZV9naXRfZGlmZl9oZWFkZXIoJnJvb3QsICZsaW5lbnIsIDAsIGxpbmUsCisJCQkJCQkgICAgbGVuLCBzaXplLCAmcGF0Y2gpOworCQkJaWYgKGxlbiA8IDApCisJCQkJZGllKF8oImNvdWxkIG5vdCBwYXJzZSBnaXQgaGVhZGVyICclLipzJyIpLCAoaW50KWxlbiwgbGluZSk7CisJCQlzdHJidWZfYWRkc3RyKCZidWYsICIgIyMgIik7CisJCQlpZiAocGF0Y2guaXNfbmV3ID4gMCkKKwkJCQlzdHJidWZfYWRkZigmYnVmLCAiJXMgKG5ldykiLCBwYXRjaC5uZXdfbmFtZSk7CisJCQllbHNlIGlmIChwYXRjaC5pc19kZWxldGUgPiAwKQorCQkJCXN0cmJ1Zl9hZGRmKCZidWYsICIlcyAoZGVsZXRlZCkiLCBwYXRjaC5vbGRfbmFtZSk7CisJCQllbHNlIGlmIChwYXRjaC5pc19yZW5hbWUpCisJCQkJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzID0+ICVzIiwgcGF0Y2gub2xkX25hbWUsIHBhdGNoLm5ld19uYW1lKTsKKwkJCWVsc2UKKwkJCQlzdHJidWZfYWRkc3RyKCZidWYsIHBhdGNoLm5ld19uYW1lKTsKKworCQkJZnJlZShjdXJyZW50X2ZpbGVuYW1lKTsKKwkJCWlmIChwYXRjaC5pc19kZWxldGUgPiAwKQorCQkJCWN1cnJlbnRfZmlsZW5hbWUgPSB4c3RyZHVwKHBhdGNoLm9sZF9uYW1lKTsKKwkJCWVsc2UKKwkJCQljdXJyZW50X2ZpbGVuYW1lID0geHN0cmR1cChwYXRjaC5uZXdfbmFtZSk7CisKKwkJCWlmIChwYXRjaC5uZXdfbW9kZSAmJiBwYXRjaC5vbGRfbW9kZSAmJgorCQkJICAgIHBhdGNoLm9sZF9tb2RlICE9IHBhdGNoLm5ld19tb2RlKQorCQkJCXN0cmJ1Zl9hZGRmKCZidWYsICIgKG1vZGUgY2hhbmdlICUwNm8gPT4gJTA2bykiLAorCQkJCQkgICAgcGF0Y2gub2xkX21vZGUsIHBhdGNoLm5ld19tb2RlKTsKKworCQkJc3RyYnVmX2FkZHN0cigmYnVmLCAiICMjIik7CiAJCX0gZWxzZSBpZiAoaW5faGVhZGVyKSB7Ci0JCQlpZiAoc3RhcnRzX3dpdGgobGluZS5idWYsICJBdXRob3I6ICIpKSB7Ci0JCQkJc3RyYnVmX2FkZGJ1ZigmYnVmLCAmbGluZSk7CisJCQlpZiAoc3RhcnRzX3dpdGgobGluZSwgIkF1dGhvcjogIikpIHsKKwkJCQlzdHJidWZfYWRkc3RyKCZidWYsICIgIyMgTWV0YWRhdGEgIyNcbiIpOworCQkJCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgbGluZSk7CiAJCQkJc3RyYnVmX2FkZHN0cigmYnVmLCAiXG5cbiIpOwotCQkJfSBlbHNlIGlmIChzdGFydHNfd2l0aChsaW5lLmJ1ZiwgIiAgICAiKSkgewotCQkJCXN0cmJ1Zl9ydHJpbSgmbGluZSk7Ci0JCQkJc3RyYnVmX2FkZGJ1ZigmYnVmLCAmbGluZSk7CisJCQkJc3RyYnVmX2FkZHN0cigmYnVmLCAiICMjIENvbW1pdCBtZXNzYWdlICMjXG4iKTsKKwkJCX0gZWxzZSBpZiAoc3RhcnRzX3dpdGgobGluZSwgIk5vdGVzIikgJiYKKwkJCQkgICBsaW5lW3N0cmxlbihsaW5lKSAtIDFdID09ICc6JykgeworCQkJCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgIlxuXG4iKTsKKwkJCQkvKiBzdHJpcCB0aGUgdHJhaWxpbmcgY29sb24gKi8KKwkJCQlzdHJidWZfYWRkZigmYnVmLCAiICMjICUuKnMgIyNcbiIsCisJCQkJCSAgICAoaW50KShzdHJsZW4obGluZSkgLSAxKSwgbGluZSk7CisJCQl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKGxpbmUsICIgICAgIikpIHsKKwkJCQlwID0gbGluZSArIGxlbiAtIDI7CisJCQkJd2hpbGUgKGlzc3BhY2UoKnApICYmIHAgPj0gbGluZSkKKwkJCQkJcC0tOworCQkJCXN0cmJ1Zl9hZGQoJmJ1ZiwgbGluZSwgcCAtIGxpbmUgKyAxKTsKIAkJCQlzdHJidWZfYWRkY2goJmJ1ZiwgJ1xuJyk7CiAJCQl9CiAJCQljb250aW51ZTsKLQkJfSBlbHNlIGlmIChzdGFydHNfd2l0aChsaW5lLmJ1ZiwgIkBAICIpKQorCQl9IGVsc2UgaWYgKHNraXBfcHJlZml4KGxpbmUsICJAQCAiLCAmcCkpIHsKKwkJCXAgPSBzdHJzdHIocCwgIkBAIik7CiAJCQlzdHJidWZfYWRkc3RyKCZidWYsICJAQCIpOwotCQllbHNlIGlmICghbGluZS5idWZbMF0gfHwgc3RhcnRzX3dpdGgobGluZS5idWYsICJpbmRleCAiKSkKKwkJCWlmIChjdXJyZW50X2ZpbGVuYW1lICYmIHBbMl0pCisJCQkJc3RyYnVmX2FkZGYoJmJ1ZiwgIiAlczoiLCBjdXJyZW50X2ZpbGVuYW1lKTsKKwkJCWlmIChwKQorCQkJCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgcCArIDIpOworCQl9IGVsc2UgaWYgKCFsaW5lWzBdKQogCQkJLyoKIAkJCSAqIEEgY29tcGxldGVseSBibGFuayAobm90ICcgXG4nLCB3aGljaCBpcyBjb250ZXh0KQogCQkJICogbGluZSBpcyBub3QgdmFsaWQgaW4gYSBkaWZmLiAgV2Ugc2tpcCBpdAogCQkJICogc2lsZW50bHksIGJlY2F1c2UgdGhpcyBuZWF0bHkgaGFuZGxlcyB0aGUgYmxhbmsKIAkJCSAqIHNlcGFyYXRvciBsaW5lIGJldHdlZW4gY29tbWl0cyBpbiBnaXQtbG9nCiAJCQkgKiBvdXRwdXQuCi0JCQkgKgotCQkJICogV2UgYWxzbyB3YW50IHRvIGlnbm9yZSB0aGUgZGlmZidzIGBpbmRleGAgbGluZXMKLQkJCSAqIGJlY2F1c2UgdGhleSBjb250YWluIGV4YWN0IGJsb2IgaGFzaGVzIGluIHdoaWNoCi0JCQkgKiB3ZSBhcmUgbm90IGludGVyZXN0ZWQuCiAJCQkgKi8KIAkJCWNvbnRpbnVlOwotCQllbHNlIGlmIChsaW5lLmJ1ZlswXSA9PSAnPicpIHsKKwkJZWxzZSBpZiAobGluZVswXSA9PSAnPicpIHsKIAkJCXN0cmJ1Zl9hZGRjaCgmYnVmLCAnKycpOwotCQkJc3RyYnVmX2FkZCgmYnVmLCBsaW5lLmJ1ZiArIDEsIGxpbmUubGVuIC0gMSk7Ci0JCX0gZWxzZSBpZiAobGluZS5idWZbMF0gPT0gJzwnKSB7CisJCQlzdHJidWZfYWRkc3RyKCZidWYsIGxpbmUgKyAxKTsKKwkJfSBlbHNlIGlmIChsaW5lWzBdID09ICc8JykgewogCQkJc3RyYnVmX2FkZGNoKCZidWYsICctJyk7Ci0JCQlzdHJidWZfYWRkKCZidWYsIGxpbmUuYnVmICsgMSwgbGluZS5sZW4gLSAxKTsKLQkJfSBlbHNlIGlmIChsaW5lLmJ1ZlswXSA9PSAnIycpIHsKKwkJCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgbGluZSArIDEpOworCQl9IGVsc2UgaWYgKGxpbmVbMF0gPT0gJyMnKSB7CiAJCQlzdHJidWZfYWRkY2goJmJ1ZiwgJyAnKTsKLQkJCXN0cmJ1Zl9hZGQoJmJ1ZiwgbGluZS5idWYgKyAxLCBsaW5lLmxlbiAtIDEpOworCQkJc3RyYnVmX2FkZHN0cigmYnVmLCBsaW5lICsgMSk7CiAJCX0gZWxzZSB7CiAJCQlzdHJidWZfYWRkY2goJmJ1ZiwgJyAnKTsKLQkJCXN0cmJ1Zl9hZGRidWYoJmJ1ZiwgJmxpbmUpOworCQkJc3RyYnVmX2FkZHN0cigmYnVmLCBsaW5lKTsKIAkJfQogCiAJCXN0cmJ1Zl9hZGRjaCgmYnVmLCAnXG4nKTsKIAkJdXRpbC0+ZGlmZnNpemUrKzsKIAl9Ci0JZmNsb3NlKGluKTsKLQlzdHJidWZfcmVsZWFzZSgmbGluZSk7CisJc3RyYnVmX3JlbGVhc2UoJmNvbnRlbnRzKTsKIAogCWlmICh1dGlsKQogCQlzdHJpbmdfbGlzdF9hcHBlbmQobGlzdCwgYnVmLmJ1ZiktPnV0aWwgPSB1dGlsOwogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOworCWZyZWUoY3VycmVudF9maWxlbmFtZSk7CiAKIAlpZiAoZmluaXNoX2NvbW1hbmQoJmNwKSkKIAkJcmV0dXJuIC0xOwpAQCAtMTQ4LDcgKzIwOSw3IEBACiB9CiAKIHN0YXRpYyBpbnQgcGF0Y2hfdXRpbF9jbXAoY29uc3Qgdm9pZCAqZHVtbXksIGNvbnN0IHN0cnVjdCBwYXRjaF91dGlsICphLAotCQkgICAgIGNvbnN0IHN0cnVjdCBwYXRjaF91dGlsICpiLCBjb25zdCBjaGFyICprZXlkYXRhKQorCQkJICBjb25zdCBzdHJ1Y3QgcGF0Y2hfdXRpbCAqYiwgY29uc3QgY2hhciAqa2V5ZGF0YSkKIHsKIAlyZXR1cm4gc3RyY21wKGEtPmRpZmYsIGtleWRhdGEgPyBrZXlkYXRhIDogYi0+ZGlmZik7CiB9CkBAIC0xNjcsOCArMjI4LDggQEAKIAkJdXRpbC0+aSA9IGk7CiAJCXV0aWwtPnBhdGNoID0gYS0+aXRlbXNbaV0uc3RyaW5nOwogCQl1dGlsLT5kaWZmID0gdXRpbC0+cGF0Y2ggKyB1dGlsLT5kaWZmX29mZnNldDsKLQkJaGFzaG1hcF9lbnRyeV9pbml0KHV0aWwsIHN0cmhhc2godXRpbC0+ZGlmZikpOwotCQloYXNobWFwX2FkZCgmbWFwLCB1dGlsKTsKKwkJaGFzaG1hcF9lbnRyeV9pbml0KCZ1dGlsLT5lLCBzdHJoYXNoKHV0aWwtPmRpZmYpKTsKKwkJaGFzaG1hcF9hZGQoJm1hcCwgJnV0aWwtPmUpOwogCX0KIAogCS8qIE5vdyB0cnkgdG8gZmluZCBleGFjdCBtYXRjaGVzIGluIGIgKi8KQEAgLTE3OCw4ICsyMzksOCBAQAogCQl1dGlsLT5pID0gaTsKIAkJdXRpbC0+cGF0Y2ggPSBiLT5pdGVtc1tpXS5zdHJpbmc7CiAJCXV0aWwtPmRpZmYgPSB1dGlsLT5wYXRjaCArIHV0aWwtPmRpZmZfb2Zmc2V0OwotCQloYXNobWFwX2VudHJ5X2luaXQodXRpbCwgc3RyaGFzaCh1dGlsLT5kaWZmKSk7Ci0JCW90aGVyID0gaGFzaG1hcF9yZW1vdmUoJm1hcCwgdXRpbCwgTlVMTCk7CisJCWhhc2htYXBfZW50cnlfaW5pdCgmdXRpbC0+ZSwgc3RyaGFzaCh1dGlsLT5kaWZmKSk7CisJCW90aGVyID0gaGFzaG1hcF9yZW1vdmVfZW50cnkoJm1hcCwgdXRpbCwgZSwgTlVMTCk7CiAJCWlmIChvdGhlcikgewogCQkJaWYgKG90aGVyLT5tYXRjaGluZyA+PSAwKQogCQkJCUJVRygiYWxyZWFkeSBhc3NpZ25lZCEiKTsKQEAgLTE4OSw3ICsyNTAsNyBAQAogCQl9CiAJfQogCi0JaGFzaG1hcF9mcmVlKCZtYXAsIDApOworCWhhc2htYXBfZnJlZSgmbWFwKTsKIH0KIAogc3RhdGljIHZvaWQgZGlmZnNpemVfY29uc3VtZSh2b2lkICpkYXRhLCBjaGFyICpsaW5lLCB1bnNpZ25lZCBsb25nIGxlbikKQEAgLTM1NCw4ICs0MTUsOSBAQAogCWZ3cml0ZShidWYtPmJ1ZiwgYnVmLT5sZW4sIDEsIGRpZmZvcHQtPmZpbGUpOwogfQogCi1zdGF0aWMgc3RydWN0IHVzZXJkaWZmX2RyaXZlciBub19mdW5jX25hbWUgPSB7Ci0JLmZ1bmNuYW1lID0geyAiJF4iLCAwIH0KK3N0YXRpYyBzdHJ1Y3QgdXNlcmRpZmZfZHJpdmVyIHNlY3Rpb25faGVhZGVycyA9IHsKKwkuZnVuY25hbWUgPSB7ICJeICMjICguKikgIyMkXG4iCisJCSAgICAgICJeLj9AQCAoLiopJCIsIFJFR19FWFRFTkRFRCB9CiB9OwogCiBzdGF0aWMgc3RydWN0IGRpZmZfZmlsZXNwZWMgKmdldF9maWxlc3BlYyhjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpwKQpAQCAtMzY3LDEzICs0MjksMTMgQEAKIAlzcGVjLT5zaXplID0gc3RybGVuKHApOwogCXNwZWMtPnNob3VsZF9tdW5tYXAgPSAwOwogCXNwZWMtPmlzX3N0ZGluID0gMTsKLQlzcGVjLT5kcml2ZXIgPSAmbm9fZnVuY19uYW1lOworCXNwZWMtPmRyaXZlciA9ICZzZWN0aW9uX2hlYWRlcnM7CiAKIAlyZXR1cm4gc3BlYzsKIH0KIAogc3RhdGljIHZvaWQgcGF0Y2hfZGlmZihjb25zdCBjaGFyICphLCBjb25zdCBjaGFyICpiLAotCQkJICAgICAgc3RydWN0IGRpZmZfb3B0aW9ucyAqZGlmZm9wdCkKKwkJICAgICAgIHN0cnVjdCBkaWZmX29wdGlvbnMgKmRpZmZvcHQpCiB7CiAJZGlmZl9xdWV1ZSgmZGlmZl9xdWV1ZWRfZGlmZiwKIAkJICAgZ2V0X2ZpbGVzcGVjKCJhIiwgYSksIGdldF9maWxlc3BlYygiYiIsIGIpKTsKQEAgLTQ0NCwxNiArNTA2LDE3IEBACiAKIGludCBzaG93X3JhbmdlX2RpZmYoY29uc3QgY2hhciAqcmFuZ2UxLCBjb25zdCBjaGFyICpyYW5nZTIsCiAJCSAgICBpbnQgY3JlYXRpb25fZmFjdG9yLCBpbnQgZHVhbF9jb2xvciwKLQkJICAgIHN0cnVjdCBkaWZmX29wdGlvbnMgKmRpZmZvcHQpCisJCSAgICBjb25zdCBzdHJ1Y3QgZGlmZl9vcHRpb25zICpkaWZmb3B0LAorCQkgICAgY29uc3Qgc3RydWN0IGFyZ3ZfYXJyYXkgKm90aGVyX2FyZykKIHsKIAlpbnQgcmVzID0gMDsKIAogCXN0cnVjdCBzdHJpbmdfbGlzdCBicmFuY2gxID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CiAJc3RydWN0IHN0cmluZ19saXN0IGJyYW5jaDIgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKIAotCWlmIChyZWFkX3BhdGNoZXMocmFuZ2UxLCAmYnJhbmNoMSkpCisJaWYgKHJlYWRfcGF0Y2hlcyhyYW5nZTEsICZicmFuY2gxLCBvdGhlcl9hcmcpKQogCQlyZXMgPSBlcnJvcihfKCJjb3VsZCBub3QgcGFyc2UgbG9nIGZvciAnJXMnIiksIHJhbmdlMSk7Ci0JaWYgKCFyZXMgJiYgcmVhZF9wYXRjaGVzKHJhbmdlMiwgJmJyYW5jaDIpKQorCWlmICghcmVzICYmIHJlYWRfcGF0Y2hlcyhyYW5nZTIsICZicmFuY2gyLCBvdGhlcl9hcmcpKQogCQlyZXMgPSBlcnJvcihfKCJjb3VsZCBub3QgcGFyc2UgbG9nIGZvciAnJXMnIiksIHJhbmdlMik7CiAKIAlpZiAoIXJlcykgewpAQCAtNDY5LDYgKzUzMiw3IEBACiAJCQlvcHRzLm91dHB1dF9mb3JtYXQgPSBESUZGX0ZPUk1BVF9QQVRDSDsKIAkJb3B0cy5mbGFncy5zdXBwcmVzc19kaWZmX2hlYWRlcnMgPSAxOwogCQlvcHRzLmZsYWdzLmR1YWxfY29sb3JfZGlmZmVkX2RpZmZzID0gZHVhbF9jb2xvcjsKKwkJb3B0cy5mbGFncy5zdXBwcmVzc19odW5rX2hlYWRlcl9saW5lX2NvdW50ID0gMTsKIAkJb3B0cy5vdXRwdXRfcHJlZml4ID0gb3V0cHV0X3ByZWZpeF9jYjsKIAkJc3RyYnVmX2FkZHN0cigmaW5kZW50LCAiICAgICIpOwogCQlvcHRzLm91dHB1dF9wcmVmaXhfZGF0YSA9ICZpbmRlbnQ7CmRpZmYgLS1naXQgYS9yYW5nZS1kaWZmLmggYi9yYW5nZS1kaWZmLmgKaW5kZXggMDhhNTBiNi4uZTExOTc2ZCAxMDA2NDQKLS0tIGEvcmFuZ2UtZGlmZi5oCisrKyBiL3JhbmdlLWRpZmYuaApAQCAtMiwxNiArMiwxOCBAQAogI2RlZmluZSBSQU5HRV9ESUZGX0gKIAogI2luY2x1ZGUgImRpZmYuaCIKKyNpbmNsdWRlICJhcmd2LWFycmF5LmgiCiAKICNkZWZpbmUgUkFOR0VfRElGRl9DUkVBVElPTl9GQUNUT1JfREVGQVVMVCA2MAogCiAvKgotICogQ29tcGFyZSBzZXJpZXMgb2YgY29tbW1pdHMgaW4gUkFOR0UxIGFuZCBSQU5HRTIsIGFuZCBlbWl0IHRvIHRoZQorICogQ29tcGFyZSBzZXJpZXMgb2YgY29tbWl0cyBpbiBSQU5HRTEgYW5kIFJBTkdFMiwgYW5kIGVtaXQgdG8gdGhlCiAgKiBzdGFuZGFyZCBvdXRwdXQuICBOVUxMIGNhbiBiZSBwYXNzZWQgdG8gRElGRk9QVCB0byB1c2UgdGhlIGJ1aWx0LWluCiAgKiBkZWZhdWx0LgogICovCiBpbnQgc2hvd19yYW5nZV9kaWZmKGNvbnN0IGNoYXIgKnJhbmdlMSwgY29uc3QgY2hhciAqcmFuZ2UyLAogCQkgICAgaW50IGNyZWF0aW9uX2ZhY3RvciwgaW50IGR1YWxfY29sb3IsCi0JCSAgICBzdHJ1Y3QgZGlmZl9vcHRpb25zICpkaWZmb3B0KTsKKwkJICAgIGNvbnN0IHN0cnVjdCBkaWZmX29wdGlvbnMgKmRpZmZvcHQsCisJCSAgICBjb25zdCBzdHJ1Y3QgYXJndl9hcnJheSAqb3RoZXJfYXJnKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9yZWFjaGFibGUuYyBiL3JlYWNoYWJsZS5jCmluZGV4IDZlOWI4MTAuLjc3YTYwYzcgMTAwNjQ0Ci0tLSBhL3JlYWNoYWJsZS5jCisrKyBiL3JlYWNoYWJsZS5jCkBAIC0xMiw2ICsxMiw3IEBACiAjaW5jbHVkZSAicGFja2ZpbGUuaCIKICNpbmNsdWRlICJ3b3JrdHJlZS5oIgogI2luY2x1ZGUgIm9iamVjdC1zdG9yZS5oIgorI2luY2x1ZGUgInBhY2stYml0bWFwLmgiCiAKIHN0cnVjdCBjb25uZWN0aXZpdHlfcHJvZ3Jlc3MgewogCXN0cnVjdCBwcm9ncmVzcyAqcHJvZ3Jlc3M7CkBAIC0xMDgsNyArMTA5LDcgQEAKIAkJCSAgICBjb25zdCBjaGFyICpwYXRoLCB2b2lkICpkYXRhKQogewogCXN0cnVjdCBzdGF0IHN0OwotCXN0cnVjdCBvYmplY3QgKm9iaiA9IGxvb2t1cF9vYmplY3QodGhlX3JlcG9zaXRvcnksIG9pZC0+aGFzaCk7CisJc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgb2lkKTsKIAogCWlmIChvYmogJiYgb2JqLT5mbGFncyAmIFNFRU4pCiAJCXJldHVybiAwOwpAQCAtMTMzLDcgKzEzNCw3IEBACiAJCQkgICAgIHN0cnVjdCBwYWNrZWRfZ2l0ICpwLCB1aW50MzJfdCBwb3MsCiAJCQkgICAgIHZvaWQgKmRhdGEpCiB7Ci0Jc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgb2lkLT5oYXNoKTsKKwlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSBsb29rdXBfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCBvaWQpOwogCiAJaWYgKG9iaiAmJiBvYmotPmZsYWdzICYgU0VFTikKIAkJcmV0dXJuIDA7CkBAIC0xNTgsMTAgKzE1OSw0NCBAQAogCQkJCSAgICAgIEZPUl9FQUNIX09CSkVDVF9MT0NBTF9PTkxZKTsKIH0KIAorc3RhdGljIHZvaWQgKmxvb2t1cF9vYmplY3RfYnlfdHlwZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkJICAgZW51bSBvYmplY3RfdHlwZSB0eXBlKQoreworCXN3aXRjaCAodHlwZSkgeworCWNhc2UgT0JKX0NPTU1JVDoKKwkJcmV0dXJuIGxvb2t1cF9jb21taXQociwgb2lkKTsKKwljYXNlIE9CSl9UUkVFOgorCQlyZXR1cm4gbG9va3VwX3RyZWUociwgb2lkKTsKKwljYXNlIE9CSl9UQUc6CisJCXJldHVybiBsb29rdXBfdGFnKHIsIG9pZCk7CisJY2FzZSBPQkpfQkxPQjoKKwkJcmV0dXJuIGxvb2t1cF9ibG9iKHIsIG9pZCk7CisJZGVmYXVsdDoKKwkJZGllKCJCVUc6IHVua25vd24gb2JqZWN0IHR5cGUgJWQiLCB0eXBlKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgbWFya19vYmplY3Rfc2Vlbihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkgICAgIGVudW0gb2JqZWN0X3R5cGUgdHlwZSwKKwkJCSAgICAgaW50IGV4Y2x1ZGUsCisJCQkgICAgIHVpbnQzMl90IG5hbWVfaGFzaCwKKwkJCSAgICAgc3RydWN0IHBhY2tlZF9naXQgKmZvdW5kX3BhY2ssCisJCQkgICAgIG9mZl90IGZvdW5kX29mZnNldCkKK3sKKwlzdHJ1Y3Qgb2JqZWN0ICpvYmogPSBsb29rdXBfb2JqZWN0X2J5X3R5cGUodGhlX3JlcG9zaXRvcnksIG9pZCwgdHlwZSk7CisJaWYgKCFvYmopCisJCWRpZSgidW5hYmxlIHRvIGNyZWF0ZSBvYmplY3QgJyVzJyIsIG9pZF90b19oZXgob2lkKSk7CisKKwlvYmotPmZsYWdzIHw9IFNFRU47CisJcmV0dXJuIDA7Cit9CisKIHZvaWQgbWFya19yZWFjaGFibGVfb2JqZWN0cyhzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIGludCBtYXJrX3JlZmxvZywKIAkJCSAgICB0aW1lc3RhbXBfdCBtYXJrX3JlY2VudCwgc3RydWN0IHByb2dyZXNzICpwcm9ncmVzcykKIHsKIAlzdHJ1Y3QgY29ubmVjdGl2aXR5X3Byb2dyZXNzIGNwOworCXN0cnVjdCBiaXRtYXBfaW5kZXggKmJpdG1hcF9naXQ7CiAKIAkvKgogCSAqIFNldCB1cCByZXZpc2lvbiBwYXJzaW5nLCBhbmQgbWFyayB1cyBhcyBiZWluZyBpbnRlcmVzdGVkCkBAIC0xODgsNiArMjIzLDEzIEBACiAJY3AucHJvZ3Jlc3MgPSBwcm9ncmVzczsKIAljcC5jb3VudCA9IDA7CiAKKwliaXRtYXBfZ2l0ID0gcHJlcGFyZV9iaXRtYXBfd2FsayhyZXZzLCBOVUxMKTsKKwlpZiAoYml0bWFwX2dpdCkgeworCQl0cmF2ZXJzZV9iaXRtYXBfY29tbWl0X2xpc3QoYml0bWFwX2dpdCwgcmV2cywgbWFya19vYmplY3Rfc2Vlbik7CisJCWZyZWVfYml0bWFwX2luZGV4KGJpdG1hcF9naXQpOworCQlyZXR1cm47CisJfQorCiAJLyoKIAkgKiBTZXQgdXAgdGhlIHJldmlzaW9uIHdhbGsgLSB0aGlzIHdpbGwgbW92ZSBhbGwgY29tbWl0cwogCSAqIGZyb20gdGhlIHBlbmRpbmcgbGlzdCB0byB0aGUgY29tbWl0IHdhbGtpbmcgbGlzdC4KZGlmZiAtLWdpdCBhL3JlYWNoYWJsZS5oIGIvcmVhY2hhYmxlLmgKaW5kZXggMThiMGY5Zi4uNWRmOTMyYSAxMDA2NDQKLS0tIGEvcmVhY2hhYmxlLmgKKysrIGIvcmVhY2hhYmxlLmgKQEAgLTQsOSArNCw5IEBACiBzdHJ1Y3QgcHJvZ3Jlc3M7CiBzdHJ1Y3QgcmV2X2luZm87CiAKLWV4dGVybiBpbnQgYWRkX3Vuc2Vlbl9yZWNlbnRfb2JqZWN0c190b190cmF2ZXJzYWwoc3RydWN0IHJldl9pbmZvICpyZXZzLAotCQkJCQkJICB0aW1lc3RhbXBfdCB0aW1lc3RhbXApOwotZXh0ZXJuIHZvaWQgbWFya19yZWFjaGFibGVfb2JqZWN0cyhzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIGludCBtYXJrX3JlZmxvZywKLQkJCQkgICB0aW1lc3RhbXBfdCBtYXJrX3JlY2VudCwgc3RydWN0IHByb2dyZXNzICopOworaW50IGFkZF91bnNlZW5fcmVjZW50X29iamVjdHNfdG9fdHJhdmVyc2FsKHN0cnVjdCByZXZfaW5mbyAqcmV2cywKKwkJCQkJICAgdGltZXN0YW1wX3QgdGltZXN0YW1wKTsKK3ZvaWQgbWFya19yZWFjaGFibGVfb2JqZWN0cyhzdHJ1Y3QgcmV2X2luZm8gKnJldnMsIGludCBtYXJrX3JlZmxvZywKKwkJCSAgICB0aW1lc3RhbXBfdCBtYXJrX3JlY2VudCwgc3RydWN0IHByb2dyZXNzICopOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3JlYWQtY2FjaGUuYyBiL3JlYWQtY2FjaGUuYwppbmRleCAxZDgyZGJkLi5hYTQyN2M1IDEwMDY0NAotLS0gYS9yZWFkLWNhY2hlLmMKKysrIGIvcmVhZC1jYWNoZS5jCkBAIC0zLDcgKzMsNiBAQAogICoKICAqIENvcHlyaWdodCAoQykgTGludXMgVG9ydmFsZHMsIDIwMDUKICAqLwotI2RlZmluZSBOT19USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImRpZmYuaCIKQEAgLTE4LDYgKzE3LDcgQEAKICNpbmNsdWRlICJjb21taXQuaCIKICNpbmNsdWRlICJibG9iLmgiCiAjaW5jbHVkZSAicmVzb2x2ZS11bmRvLmgiCisjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKICNpbmNsdWRlICJzdHJidWYuaCIKICNpbmNsdWRlICJ2YXJpbnQuaCIKICNpbmNsdWRlICJzcGxpdC1pbmRleC5oIgpAQCAtOTUsNyArOTUsNiBAQAogCXJldHVybiAqcG9vbF9wdHI7CiB9CiAKLXN0cnVjdCBpbmRleF9zdGF0ZSB0aGVfaW5kZXg7CiBzdGF0aWMgY29uc3QgY2hhciAqYWx0ZXJuYXRlX2luZGV4X291dHB1dDsKIAogc3RhdGljIHZvaWQgc2V0X2luZGV4X2VudHJ5KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBpbnQgbnIsIHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UpCkBAIC0xOTYsNyArMTk1LDcgQEAKICAqIGNhY2hlLCBpZSB0aGUgcGFydHMgdGhhdCBhcmVuJ3QgdHJhY2tlZCBieSBHSVQsIGFuZCBvbmx5IHVzZWQKICAqIHRvIHZhbGlkYXRlIHRoZSBjYWNoZS4KICAqLwotdm9pZCBmaWxsX3N0YXRfY2FjaGVfaW5mbyhzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLCBzdHJ1Y3Qgc3RhdCAqc3QpCit2b2lkIGZpbGxfc3RhdF9jYWNoZV9pbmZvKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLCBzdHJ1Y3Qgc3RhdCAqc3QpCiB7CiAJZmlsbF9zdGF0X2RhdGEoJmNlLT5jZV9zdGF0X2RhdGEsIHN0KTsKIApAQCAtMjA1LDcgKzIwNCw3IEBACiAKIAlpZiAoU19JU1JFRyhzdC0+c3RfbW9kZSkpIHsKIAkJY2VfbWFya191cHRvZGF0ZShjZSk7Ci0JCW1hcmtfZnNtb25pdG9yX3ZhbGlkKGNlKTsKKwkJbWFya19mc21vbml0b3JfdmFsaWQoaXN0YXRlLCBjZSk7CiAJfQogfQogCkBAIC0zMTYsNyArMzE1LDcgQEAKIAkJCWNoYW5nZWQgfD0gREFUQV9DSEFOR0VEOwogCQlyZXR1cm4gY2hhbmdlZDsKIAlkZWZhdWx0OgotCQlkaWUoImludGVybmFsIGVycm9yOiBjZV9tb2RlIGlzICVvIiwgY2UtPmNlX21vZGUpOworCQlCVUcoInVuc3VwcG9ydGVkIGNlX21vZGU6ICVvIiwgY2UtPmNlX21vZGUpOwogCX0KIAogCWNoYW5nZWQgfD0gbWF0Y2hfc3RhdF9kYXRhKCZjZS0+Y2Vfc3RhdF9kYXRhLCBzdCk7CkBAIC01NTAsNyArNTQ5LDcgQEAKIAlmaXJzdCA9IDA7CiAJbGFzdCA9IGlzdGF0ZS0+Y2FjaGVfbnI7CiAJd2hpbGUgKGxhc3QgPiBmaXJzdCkgewotCQlpbnQgbmV4dCA9IChsYXN0ICsgZmlyc3QpID4+IDE7CisJCWludCBuZXh0ID0gZmlyc3QgKyAoKGxhc3QgLSBmaXJzdCkgPj4gMSk7CiAJCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBpc3RhdGUtPmNhY2hlW25leHRdOwogCQlpbnQgY21wID0gY2FjaGVfbmFtZV9zdGFnZV9jb21wYXJlKG5hbWUsIG5hbWVsZW4sIHN0YWdlLCBjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSksIGNlX3N0YWdlKGNlKSk7CiAJCWlmICghY21wKQpAQCAtNTkwLDEzICs1ODksMTkgQEAKICAqIENFX1JFTU9WRSBpcyBzZXQgaW4gY2VfZmxhZ3MuICBUaGlzIGlzIG11Y2ggbW9yZSBlZmZlY3RpdmUgdGhhbgogICogY2FsbGluZyByZW1vdmVfaW5kZXhfZW50cnlfYXQoKSBmb3IgZWFjaCBlbnRyeSB0byBiZSByZW1vdmVkLgogICovCi12b2lkIHJlbW92ZV9tYXJrZWRfY2FjaGVfZW50cmllcyhzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSkKK3ZvaWQgcmVtb3ZlX21hcmtlZF9jYWNoZV9lbnRyaWVzKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBpbnQgaW52YWxpZGF0ZSkKIHsKIAlzdHJ1Y3QgY2FjaGVfZW50cnkgKipjZV9hcnJheSA9IGlzdGF0ZS0+Y2FjaGU7CiAJdW5zaWduZWQgaW50IGksIGo7CiAKIAlmb3IgKGkgPSBqID0gMDsgaSA8IGlzdGF0ZS0+Y2FjaGVfbnI7IGkrKykgewogCQlpZiAoY2VfYXJyYXlbaV0tPmNlX2ZsYWdzICYgQ0VfUkVNT1ZFKSB7CisJCQlpZiAoaW52YWxpZGF0ZSkgeworCQkJCWNhY2hlX3RyZWVfaW52YWxpZGF0ZV9wYXRoKGlzdGF0ZSwKKwkJCQkJCQkgICBjZV9hcnJheVtpXS0+bmFtZSk7CisJCQkJdW50cmFja2VkX2NhY2hlX3JlbW92ZV9mcm9tX2luZGV4KGlzdGF0ZSwKKwkJCQkJCQkJICBjZV9hcnJheVtpXS0+bmFtZSk7CisJCQl9CiAJCQlyZW1vdmVfbmFtZV9oYXNoKGlzdGF0ZSwgY2VfYXJyYXlbaV0pOwogCQkJc2F2ZV9vcl9mcmVlX2luZGV4X2VudHJ5KGlzdGF0ZSwgY2VfYXJyYXlbaV0pOwogCQl9CkBAIC02NzIsNyArNjc3LDggQEAKIAlzdHJ1Y3QgY2FjaGVfZW50cnkgKm5ld19lbnRyeTsKIAogCWlmIChhbGlhcy0+Y2VfZmxhZ3MgJiBDRV9BRERFRCkKLQkJZGllKCJXaWxsIG5vdCBhZGQgZmlsZSBhbGlhcyAnJXMnICgnJXMnIGFscmVhZHkgZXhpc3RzIGluIGluZGV4KSIsIGNlLT5uYW1lLCBhbGlhcy0+bmFtZSk7CisJCWRpZShfKCJ3aWxsIG5vdCBhZGQgZmlsZSBhbGlhcyAnJXMnICgnJXMnIGFscmVhZHkgZXhpc3RzIGluIGluZGV4KSIpLAorCQkgICAgY2UtPm5hbWUsIGFsaWFzLT5uYW1lKTsKIAogCS8qIE9rLCBjcmVhdGUgdGhlIG5ldyBlbnRyeSB1c2luZyB0aGUgbmFtZSBvZiB0aGUgZXhpc3RpbmcgYWxpYXMgKi8KIAlsZW4gPSBjZV9uYW1lbGVuKGFsaWFzKTsKQEAgLTY4Nyw3ICs2OTMsNyBAQAogewogCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCWlmICh3cml0ZV9vYmplY3RfZmlsZSgiIiwgMCwgYmxvYl90eXBlLCAmb2lkKSkKLQkJZGllKCJjYW5ub3QgY3JlYXRlIGFuIGVtcHR5IGJsb2IgaW4gdGhlIG9iamVjdCBkYXRhYmFzZSIpOworCQlkaWUoXygiY2Fubm90IGNyZWF0ZSBhbiBlbXB0eSBibG9iIGluIHRoZSBvYmplY3QgZGF0YWJhc2UiKSk7CiAJb2lkY3B5KCZjZS0+b2lkLCAmb2lkKTsKIH0KIApAQCAtNzAyLDE2ICs3MDgsMTkgQEAKIAlpbnQgaW50ZW50X29ubHkgPSBmbGFncyAmIEFERF9DQUNIRV9JTlRFTlQ7CiAJaW50IGFkZF9vcHRpb24gPSAoQUREX0NBQ0hFX09LX1RPX0FERHxBRERfQ0FDSEVfT0tfVE9fUkVQTEFDRXwKIAkJCSAgKGludGVudF9vbmx5ID8gQUREX0NBQ0hFX05FV19PTkxZIDogMCkpOwotCWludCBuZXdmbGFncyA9IEhBU0hfV1JJVEVfT0JKRUNUOworCWludCBoYXNoX2ZsYWdzID0gSEFTSF9XUklURV9PQkpFQ1Q7CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAKLQlpZiAoZmxhZ3MgJiBIQVNIX1JFTk9STUFMSVpFKQotCQluZXdmbGFncyB8PSBIQVNIX1JFTk9STUFMSVpFOworCWlmIChmbGFncyAmIEFERF9DQUNIRV9SRU5PUk1BTElaRSkKKwkJaGFzaF9mbGFncyB8PSBIQVNIX1JFTk9STUFMSVpFOwogCiAJaWYgKCFTX0lTUkVHKHN0X21vZGUpICYmICFTX0lTTE5LKHN0X21vZGUpICYmICFTX0lTRElSKHN0X21vZGUpKQotCQlyZXR1cm4gZXJyb3IoIiVzOiBjYW4gb25seSBhZGQgcmVndWxhciBmaWxlcywgc3ltYm9saWMgbGlua3Mgb3IgZ2l0LWRpcmVjdG9yaWVzIiwgcGF0aCk7CisJCXJldHVybiBlcnJvcihfKCIlczogY2FuIG9ubHkgYWRkIHJlZ3VsYXIgZmlsZXMsIHN5bWJvbGljIGxpbmtzIG9yIGdpdC1kaXJlY3RvcmllcyIpLCBwYXRoKTsKIAogCW5hbWVsZW4gPSBzdHJsZW4ocGF0aCk7CiAJaWYgKFNfSVNESVIoc3RfbW9kZSkpIHsKKwkJaWYgKHJlc29sdmVfZ2l0bGlua19yZWYocGF0aCwgIkhFQUQiLCAmb2lkKSA8IDApCisJCQlyZXR1cm4gZXJyb3IoXygiJyVzJyBkb2VzIG5vdCBoYXZlIGEgY29tbWl0IGNoZWNrZWQgb3V0IiksIHBhdGgpOwogCQl3aGlsZSAobmFtZWxlbiAmJiBwYXRoW25hbWVsZW4tMV0gPT0gJy8nKQogCQkJbmFtZWxlbi0tOwogCX0KQEAgLTcxOSw3ICs3MjgsNyBAQAogCW1lbWNweShjZS0+bmFtZSwgcGF0aCwgbmFtZWxlbik7CiAJY2UtPmNlX25hbWVsZW4gPSBuYW1lbGVuOwogCWlmICghaW50ZW50X29ubHkpCi0JCWZpbGxfc3RhdF9jYWNoZV9pbmZvKGNlLCBzdCk7CisJCWZpbGxfc3RhdF9jYWNoZV9pbmZvKGlzdGF0ZSwgY2UsIHN0KTsKIAllbHNlCiAJCWNlLT5jZV9mbGFncyB8PSBDRV9JTlRFTlRfVE9fQUREOwogCkBAIC03NDUsNyArNzU0LDcgQEAKIAlpZiAoaWdub3JlX2Nhc2UpIHsKIAkJYWRqdXN0X2Rpcm5hbWVfY2FzZShpc3RhdGUsIGNlLT5uYW1lKTsKIAl9Ci0JaWYgKCEoZmxhZ3MgJiBIQVNIX1JFTk9STUFMSVpFKSkgeworCWlmICghKGZsYWdzICYgQUREX0NBQ0hFX1JFTk9STUFMSVpFKSkgewogCQlhbGlhcyA9IGluZGV4X2ZpbGVfZXhpc3RzKGlzdGF0ZSwgY2UtPm5hbWUsCiAJCQkJCSAgY2VfbmFtZWxlbihjZSksIGlnbm9yZV9jYXNlKTsKIAkJaWYgKGFsaWFzICYmCkBAIC03NjEsOSArNzcwLDkgQEAKIAkJfQogCX0KIAlpZiAoIWludGVudF9vbmx5KSB7Ci0JCWlmIChpbmRleF9wYXRoKGlzdGF0ZSwgJmNlLT5vaWQsIHBhdGgsIHN0LCBuZXdmbGFncykpIHsKKwkJaWYgKGluZGV4X3BhdGgoaXN0YXRlLCAmY2UtPm9pZCwgcGF0aCwgc3QsIGhhc2hfZmxhZ3MpKSB7CiAJCQlkaXNjYXJkX2NhY2hlX2VudHJ5KGNlKTsKLQkJCXJldHVybiBlcnJvcigidW5hYmxlIHRvIGluZGV4IGZpbGUgJXMiLCBwYXRoKTsKKwkJCXJldHVybiBlcnJvcihfKCJ1bmFibGUgdG8gaW5kZXggZmlsZSAnJXMnIiksIHBhdGgpOwogCQl9CiAJfSBlbHNlCiAJCXNldF9vYmplY3RfbmFtZV9mb3JfaW50ZW50X3RvX2FkZF9lbnRyeShjZSk7CkBAIC03ODIsNyArNzkxLDcgQEAKIAkJZGlzY2FyZF9jYWNoZV9lbnRyeShjZSk7CiAJZWxzZSBpZiAoYWRkX2luZGV4X2VudHJ5KGlzdGF0ZSwgY2UsIGFkZF9vcHRpb24pKSB7CiAJCWRpc2NhcmRfY2FjaGVfZW50cnkoY2UpOwotCQlyZXR1cm4gZXJyb3IoInVuYWJsZSB0byBhZGQgJXMgdG8gaW5kZXgiLCBwYXRoKTsKKwkJcmV0dXJuIGVycm9yKF8oInVuYWJsZSB0byBhZGQgJyVzJyB0byBpbmRleCIpLCBwYXRoKTsKIAl9CiAJaWYgKHZlcmJvc2UgJiYgIXdhc19zYW1lKQogCQlwcmludGYoImFkZCAnJXMnXG4iLCBwYXRoKTsKQEAgLTc5Myw3ICs4MDIsNyBAQAogewogCXN0cnVjdCBzdGF0IHN0OwogCWlmIChsc3RhdChwYXRoLCAmc3QpKQotCQlkaWVfZXJybm8oInVuYWJsZSB0byBzdGF0ICclcyciLCBwYXRoKTsKKwkJZGllX2Vycm5vKF8oInVuYWJsZSB0byBzdGF0ICclcyciKSwgcGF0aCk7CiAJcmV0dXJuIGFkZF90b19pbmRleChpc3RhdGUsIHBhdGgsICZzdCwgZmxhZ3MpOwogfQogCkBAIC04MTgsNyArODI3LDcgQEAKIAlpbnQgbGVuOwogCiAJaWYgKCF2ZXJpZnlfcGF0aChwYXRoLCBtb2RlKSkgewotCQllcnJvcigiSW52YWxpZCBwYXRoICclcyciLCBwYXRoKTsKKwkJZXJyb3IoXygiaW52YWxpZCBwYXRoICclcyciKSwgcGF0aCk7CiAJCXJldHVybiBOVUxMOwogCX0KIApAQCAtODQ0LDcgKzg1Myw3IEBACiAJaW50IGxlbjsKIAogCWlmICghdmVyaWZ5X3BhdGgocGF0aCwgbW9kZSkpIHsKLQkJZXJyb3IoIkludmFsaWQgcGF0aCAnJXMnIiwgcGF0aCk7CisJCWVycm9yKF8oImludmFsaWQgcGF0aCAnJXMnIiksIHBhdGgpOwogCQlyZXR1cm4gTlVMTDsKIAl9CiAKQEAgLTk1MCw3ICs5NTksNyBAQAogCiBpbnQgdmVyaWZ5X3BhdGgoY29uc3QgY2hhciAqcGF0aCwgdW5zaWduZWQgbW9kZSkKIHsKLQljaGFyIGM7CisJY2hhciBjID0gMDsKIAogCWlmIChoYXNfZG9zX2RyaXZlX3ByZWZpeChwYXRoKSkKIAkJcmV0dXJuIDA7CkBAIC05NjUsNiArOTc0LDcgQEAKIAkJaWYgKGlzX2Rpcl9zZXAoYykpIHsKIGluc2lkZToKIAkJCWlmIChwcm90ZWN0X2hmcykgeworCiAJCQkJaWYgKGlzX2hmc19kb3RnaXQocGF0aCkpCiAJCQkJCXJldHVybiAwOwogCQkJCWlmIChTX0lTTE5LKG1vZGUpKSB7CkBAIC05NzMsNiArOTgzLDEwIEBACiAJCQkJfQogCQkJfQogCQkJaWYgKHByb3RlY3RfbnRmcykgeworI2lmZGVmIEdJVF9XSU5ET1dTX05BVElWRQorCQkJCWlmIChjID09ICdcXCcpCisJCQkJCXJldHVybiAwOworI2VuZGlmCiAJCQkJaWYgKGlzX250ZnNfZG90Z2l0KHBhdGgpKQogCQkJCQlyZXR1cm4gMDsKIAkJCQlpZiAoU19JU0xOSyhtb2RlKSkgewpAQCAtMTI3OCw3ICsxMjkyLDcgQEAKIAkgKi8KIAlpZiAoaXN0YXRlLT5jYWNoZV9uciA+IDAgJiYKIAkJc3RyY21wKGNlLT5uYW1lLCBpc3RhdGUtPmNhY2hlW2lzdGF0ZS0+Y2FjaGVfbnIgLSAxXS0+bmFtZSkgPiAwKQotCQlwb3MgPSAtaXN0YXRlLT5jYWNoZV9uciAtIDE7CisJCXBvcyA9IGluZGV4X3Bvc190b19pbnNlcnRfcG9zKGlzdGF0ZS0+Y2FjaGVfbnIpOwogCWVsc2UKIAkJcG9zID0gaW5kZXhfbmFtZV9zdGFnZV9wb3MoaXN0YXRlLCBjZS0+bmFtZSwgY2VfbmFtZWxlbihjZSksIGNlX3N0YWdlKGNlKSk7CiAKQEAgLTEzMDgsMTIgKzEzMjIsMTIgQEAKIAlpZiAoIW9rX3RvX2FkZCkKIAkJcmV0dXJuIC0xOwogCWlmICghdmVyaWZ5X3BhdGgoY2UtPm5hbWUsIGNlLT5jZV9tb2RlKSkKLQkJcmV0dXJuIGVycm9yKCJJbnZhbGlkIHBhdGggJyVzJyIsIGNlLT5uYW1lKTsKKwkJcmV0dXJuIGVycm9yKF8oImludmFsaWQgcGF0aCAnJXMnIiksIGNlLT5uYW1lKTsKIAogCWlmICghc2tpcF9kZl9jaGVjayAmJgogCSAgICBjaGVja19maWxlX2RpcmVjdG9yeV9jb25mbGljdChpc3RhdGUsIGNlLCBwb3MsIG9rX3RvX3JlcGxhY2UpKSB7CiAJCWlmICghb2tfdG9fcmVwbGFjZSkKLQkJCXJldHVybiBlcnJvcigiJyVzJyBhcHBlYXJzIGFzIGJvdGggYSBmaWxlIGFuZCBhcyBhIGRpcmVjdG9yeSIsCisJCQlyZXR1cm4gZXJyb3IoXygiJyVzJyBhcHBlYXJzIGFzIGJvdGggYSBmaWxlIGFuZCBhcyBhIGRpcmVjdG9yeSIpLAogCQkJCSAgICAgY2UtPm5hbWUpOwogCQlwb3MgPSBpbmRleF9uYW1lX3N0YWdlX3Bvcyhpc3RhdGUsIGNlLT5uYW1lLCBjZV9uYW1lbGVuKGNlKSwgY2Vfc3RhZ2UoY2UpKTsKIAkJcG9zID0gLXBvcy0xOwpAQCAtMTQzNCw3ICsxNDQ4LDcgQEAKIAkJCSAqLwogCQkJaWYgKCFTX0lTR0lUTElOSyhjZS0+Y2VfbW9kZSkpIHsKIAkJCQljZV9tYXJrX3VwdG9kYXRlKGNlKTsKLQkJCQltYXJrX2ZzbW9uaXRvcl92YWxpZChjZSk7CisJCQkJbWFya19mc21vbml0b3JfdmFsaWQoaXN0YXRlLCBjZSk7CiAJCQl9CiAJCQlyZXR1cm4gY2U7CiAJCX0KQEAgLTE0NDksNyArMTQ2Myw3IEBACiAJdXBkYXRlZCA9IG1ha2VfZW1wdHlfY2FjaGVfZW50cnkoaXN0YXRlLCBjZV9uYW1lbGVuKGNlKSk7CiAJY29weV9jYWNoZV9lbnRyeSh1cGRhdGVkLCBjZSk7CiAJbWVtY3B5KHVwZGF0ZWQtPm5hbWUsIGNlLT5uYW1lLCBjZS0+Y2VfbmFtZWxlbiArIDEpOwotCWZpbGxfc3RhdF9jYWNoZV9pbmZvKHVwZGF0ZWQsICZzdCk7CisJZmlsbF9zdGF0X2NhY2hlX2luZm8oaXN0YXRlLCB1cGRhdGVkLCAmc3QpOwogCS8qCiAJICogSWYgaWdub3JlX3ZhbGlkIGlzIG5vdCBzZXQsIHdlIHNob3VsZCBsZWF2ZSBDRV9WQUxJRCBiaXQKIAkgKiBhbG9uZS4gIE90aGVyd2lzZSwgcGF0aHMgbWFya2VkIHdpdGggLS1uby1hc3N1bWUtdW5jaGFuZ2VkCkBAIC0xNDc0LDYgKzE0ODgsMjcgQEAKIAlwcmludGYoZm10LCBuYW1lKTsKIH0KIAoraW50IHJlcG9fcmVmcmVzaF9hbmRfd3JpdGVfaW5kZXgoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkJIHVuc2lnbmVkIGludCByZWZyZXNoX2ZsYWdzLAorCQkJCSB1bnNpZ25lZCBpbnQgd3JpdGVfZmxhZ3MsCisJCQkJIGludCBnZW50bGUsCisJCQkJIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCisJCQkJIGNoYXIgKnNlZW4sIGNvbnN0IGNoYXIgKmhlYWRlcl9tc2cpCit7CisJc3RydWN0IGxvY2tfZmlsZSBsb2NrX2ZpbGUgPSBMT0NLX0lOSVQ7CisJaW50IGZkLCByZXQgPSAwOworCisJZmQgPSByZXBvX2hvbGRfbG9ja2VkX2luZGV4KHJlcG8sICZsb2NrX2ZpbGUsIDApOworCWlmICghZ2VudGxlICYmIGZkIDwgMCkKKwkJcmV0dXJuIC0xOworCWlmIChyZWZyZXNoX2luZGV4KHJlcG8tPmluZGV4LCByZWZyZXNoX2ZsYWdzLCBwYXRoc3BlYywgc2VlbiwgaGVhZGVyX21zZykpCisJCXJldCA9IDE7CisJaWYgKDAgPD0gZmQgJiYgd3JpdGVfbG9ja2VkX2luZGV4KHJlcG8tPmluZGV4LCAmbG9ja19maWxlLCBDT01NSVRfTE9DSyB8IHdyaXRlX2ZsYWdzKSkKKwkJcmV0ID0gLTE7CisJcmV0dXJuIHJldDsKK30KKworCiBpbnQgcmVmcmVzaF9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgdW5zaWduZWQgaW50IGZsYWdzLAogCQkgIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCiAJCSAgY2hhciAqc2VlbiwgY29uc3QgY2hhciAqaGVhZGVyX21zZykKQEAgLTE1MDIsMTEgKzE1MzcsMTEgQEAKIAkJCQkJCSAgaXN0YXRlLT5jYWNoZV9ucik7CiAKIAl0cmFjZV9wZXJmb3JtYW5jZV9lbnRlcigpOwotCW1vZGlmaWVkX2ZtdCA9IChpbl9wb3JjZWxhaW4gPyAiTVx0JXNcbiIgOiAiJXM6IG5lZWRzIHVwZGF0ZVxuIik7Ci0JZGVsZXRlZF9mbXQgPSAoaW5fcG9yY2VsYWluID8gIkRcdCVzXG4iIDogIiVzOiBuZWVkcyB1cGRhdGVcbiIpOwotCXR5cGVjaGFuZ2VfZm10ID0gKGluX3BvcmNlbGFpbiA/ICJUXHQlc1xuIiA6ICIlcyBuZWVkcyB1cGRhdGVcbiIpOwotCWFkZGVkX2ZtdCA9IChpbl9wb3JjZWxhaW4gPyAiQVx0JXNcbiIgOiAiJXMgbmVlZHMgdXBkYXRlXG4iKTsKLQl1bm1lcmdlZF9mbXQgPSAoaW5fcG9yY2VsYWluID8gIlVcdCVzXG4iIDogIiVzOiBuZWVkcyBtZXJnZVxuIik7CisJbW9kaWZpZWRfZm10ICAgPSBpbl9wb3JjZWxhaW4gPyAiTVx0JXNcbiIgOiAiJXM6IG5lZWRzIHVwZGF0ZVxuIjsKKwlkZWxldGVkX2ZtdCAgICA9IGluX3BvcmNlbGFpbiA/ICJEXHQlc1xuIiA6ICIlczogbmVlZHMgdXBkYXRlXG4iOworCXR5cGVjaGFuZ2VfZm10ID0gaW5fcG9yY2VsYWluID8gIlRcdCVzXG4iIDogIiVzOiBuZWVkcyB1cGRhdGVcbiI7CisJYWRkZWRfZm10ICAgICAgPSBpbl9wb3JjZWxhaW4gPyAiQVx0JXNcbiIgOiAiJXM6IG5lZWRzIHVwZGF0ZVxuIjsKKwl1bm1lcmdlZF9mbXQgICA9IGluX3BvcmNlbGFpbiA/ICJVXHQlc1xuIiA6ICIlczogbmVlZHMgbWVyZ2VcbiI7CiAJLyoKIAkgKiBVc2UgdGhlIG11bHRpLXRocmVhZGVkIHByZWxvYWRfaW5kZXgoKSB0byByZWZyZXNoIG1vc3Qgb2YgdGhlCiAJICogY2FjaGUgZW50cmllcyBxdWlja2x5IHRoZW4gaW4gdGhlIHNpbmdsZSB0aHJlYWRlZCBsb29wIGJlbG93LApAQCAtMTYwMSwxNiArMTYzNiwxNyBAQAogCiAjZGVmaW5lIElOREVYX0ZPUk1BVF9ERUZBVUxUIDMKIAotc3RhdGljIHVuc2lnbmVkIGludCBnZXRfaW5kZXhfZm9ybWF0X2RlZmF1bHQodm9pZCkKK3N0YXRpYyB1bnNpZ25lZCBpbnQgZ2V0X2luZGV4X2Zvcm1hdF9kZWZhdWx0KHN0cnVjdCByZXBvc2l0b3J5ICpyKQogewogCWNoYXIgKmVudnZlcnNpb24gPSBnZXRlbnYoIkdJVF9JTkRFWF9WRVJTSU9OIik7CiAJY2hhciAqZW5kcDsKLQlpbnQgdmFsdWU7CiAJdW5zaWduZWQgaW50IHZlcnNpb24gPSBJTkRFWF9GT1JNQVRfREVGQVVMVDsKIAogCWlmICghZW52dmVyc2lvbikgewotCQlpZiAoIWdpdF9jb25maWdfZ2V0X2ludCgiaW5kZXgudmVyc2lvbiIsICZ2YWx1ZSkpCi0JCQl2ZXJzaW9uID0gdmFsdWU7CisJCXByZXBhcmVfcmVwb19zZXR0aW5ncyhyKTsKKworCQlpZiAoci0+c2V0dGluZ3MuaW5kZXhfdmVyc2lvbiA+PSAwKQorCQkJdmVyc2lvbiA9IHItPnNldHRpbmdzLmluZGV4X3ZlcnNpb247CiAJCWlmICh2ZXJzaW9uIDwgSU5ERVhfRk9STUFUX0xCIHx8IElOREVYX0ZPUk1BVF9VQiA8IHZlcnNpb24pIHsKIAkJCXdhcm5pbmcoXygiaW5kZXgudmVyc2lvbiBzZXQsIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC5cbiIKIAkJCQkgICJVc2luZyB2ZXJzaW9uICVpIiksIElOREVYX0ZPUk1BVF9ERUZBVUxUKTsKQEAgLTE2NDYsMzkgKzE2ODIsMjQgQEAKIAl1aW50MzJfdCB1aWQ7CiAJdWludDMyX3QgZ2lkOwogCXVpbnQzMl90IHNpemU7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQl1aW50MTZfdCBmbGFnczsKLQljaGFyIG5hbWVbRkxFWF9BUlJBWV07IC8qIG1vcmUgKi8KLX07Ci0KLS8qCi0gKiBUaGlzIHN0cnVjdCBpcyB1c2VkIHdoZW4gQ0VfRVhURU5ERUQgYml0IGlzIDEKLSAqIFRoZSBzdHJ1Y3QgbXVzdCBtYXRjaCBvbmRpc2tfY2FjaGVfZW50cnkgZXhhY3RseSBmcm9tCi0gKiBjdGltZSB0aWxsIGZsYWdzCi0gKi8KLXN0cnVjdCBvbmRpc2tfY2FjaGVfZW50cnlfZXh0ZW5kZWQgewotCXN0cnVjdCBjYWNoZV90aW1lIGN0aW1lOwotCXN0cnVjdCBjYWNoZV90aW1lIG10aW1lOwotCXVpbnQzMl90IGRldjsKLQl1aW50MzJfdCBpbm87Ci0JdWludDMyX3QgbW9kZTsKLQl1aW50MzJfdCB1aWQ7Ci0JdWludDMyX3QgZ2lkOwotCXVpbnQzMl90IHNpemU7Ci0JdW5zaWduZWQgY2hhciBzaGExWzIwXTsKLQl1aW50MTZfdCBmbGFnczsKLQl1aW50MTZfdCBmbGFnczI7Ci0JY2hhciBuYW1lW0ZMRVhfQVJSQVldOyAvKiBtb3JlICovCisJLyoKKwkgKiB1bnNpZ25lZCBjaGFyIGhhc2hbaGFzaHN6XTsKKwkgKiB1aW50MTZfdCBmbGFnczsKKwkgKiBpZiAoZmxhZ3MgJiBDRV9FWFRFTkRFRCkKKwkgKgl1aW50MTZfdCBmbGFnczI7CisJICovCisJdW5zaWduZWQgY2hhciBkYXRhW0dJVF9NQVhfUkFXU1ogKyAyICogc2l6ZW9mKHVpbnQxNl90KV07CisJY2hhciBuYW1lW0ZMRVhfQVJSQVldOwogfTsKIAogLyogVGhlc2UgYXJlIG9ubHkgdXNlZCBmb3IgdjMgb3IgbG93ZXIgKi8KICNkZWZpbmUgYWxpZ25fcGFkZGluZ19zaXplKHNpemUsIGxlbikgKChzaXplICsgKGxlbikgKyA4KSAmIH43KSAtIChzaXplICsgbGVuKQotI2RlZmluZSBhbGlnbl9mbGV4X25hbWUoU1RSVUNULGxlbikgKChvZmZzZXRvZihzdHJ1Y3QgU1RSVUNULG5hbWUpICsgKGxlbikgKyA4KSAmIH43KQorI2RlZmluZSBhbGlnbl9mbGV4X25hbWUoU1RSVUNULGxlbikgKChvZmZzZXRvZihzdHJ1Y3QgU1RSVUNULGRhdGEpICsgKGxlbikgKyA4KSAmIH43KQogI2RlZmluZSBvbmRpc2tfY2FjaGVfZW50cnlfc2l6ZShsZW4pIGFsaWduX2ZsZXhfbmFtZShvbmRpc2tfY2FjaGVfZW50cnksbGVuKQotI2RlZmluZSBvbmRpc2tfY2FjaGVfZW50cnlfZXh0ZW5kZWRfc2l6ZShsZW4pIGFsaWduX2ZsZXhfbmFtZShvbmRpc2tfY2FjaGVfZW50cnlfZXh0ZW5kZWQsbGVuKQotI2RlZmluZSBvbmRpc2tfY2Vfc2l6ZShjZSkgKCgoY2UpLT5jZV9mbGFncyAmIENFX0VYVEVOREVEKSA/IFwKLQkJCSAgICBvbmRpc2tfY2FjaGVfZW50cnlfZXh0ZW5kZWRfc2l6ZShjZV9uYW1lbGVuKGNlKSkgOiBcCi0JCQkgICAgb25kaXNrX2NhY2hlX2VudHJ5X3NpemUoY2VfbmFtZWxlbihjZSkpKQorI2RlZmluZSBvbmRpc2tfZGF0YV9zaXplKGZsYWdzLCBsZW4pICh0aGVfaGFzaF9hbGdvLT5yYXdzeiArIFwKKwkJCQkgICAgICgoZmxhZ3MgJiBDRV9FWFRFTkRFRCkgPyAyIDogMSkgKiBzaXplb2YodWludDE2X3QpICsgbGVuKQorI2RlZmluZSBvbmRpc2tfZGF0YV9zaXplX21heChsZW4pIChvbmRpc2tfZGF0YV9zaXplKENFX0VYVEVOREVELCBsZW4pKQorI2RlZmluZSBvbmRpc2tfY2Vfc2l6ZShjZSkgKG9uZGlza19jYWNoZV9lbnRyeV9zaXplKG9uZGlza19kYXRhX3NpemUoKGNlKS0+Y2VfZmxhZ3MsIGNlX25hbWVsZW4oY2UpKSkpCiAKIC8qIEFsbG93IGZzY2sgdG8gZm9yY2UgdmVyaWZpY2F0aW9uIG9mIHRoZSBpbmRleCBjaGVja3N1bS4gKi8KIGludCB2ZXJpZnlfaW5kZXhfY2hlY2tzdW07CkBAIC0xNjkzLDEwICsxNzE0LDEwIEBACiAJaW50IGhkcl92ZXJzaW9uOwogCiAJaWYgKGhkci0+aGRyX3NpZ25hdHVyZSAhPSBodG9ubChDQUNIRV9TSUdOQVRVUkUpKQotCQlyZXR1cm4gZXJyb3IoImJhZCBzaWduYXR1cmUiKTsKKwkJcmV0dXJuIGVycm9yKF8oImJhZCBzaWduYXR1cmUgMHglMDh4IiksIGhkci0+aGRyX3NpZ25hdHVyZSk7CiAJaGRyX3ZlcnNpb24gPSBudG9obChoZHItPmhkcl92ZXJzaW9uKTsKIAlpZiAoaGRyX3ZlcnNpb24gPCBJTkRFWF9GT1JNQVRfTEIgfHwgSU5ERVhfRk9STUFUX1VCIDwgaGRyX3ZlcnNpb24pCi0JCXJldHVybiBlcnJvcigiYmFkIGluZGV4IHZlcnNpb24gJWQiLCBoZHJfdmVyc2lvbik7CisJCXJldHVybiBlcnJvcihfKCJiYWQgaW5kZXggdmVyc2lvbiAlZCIpLCBoZHJfdmVyc2lvbik7CiAKIAlpZiAoIXZlcmlmeV9pbmRleF9jaGVja3N1bSkKIAkJcmV0dXJuIDA7CkBAIC0xNzA1LDcgKzE3MjYsNyBAQAogCXRoZV9oYXNoX2FsZ28tPnVwZGF0ZV9mbigmYywgaGRyLCBzaXplIC0gdGhlX2hhc2hfYWxnby0+cmF3c3opOwogCXRoZV9oYXNoX2FsZ28tPmZpbmFsX2ZuKGhhc2gsICZjKTsKIAlpZiAoIWhhc2hlcShoYXNoLCAodW5zaWduZWQgY2hhciAqKWhkciArIHNpemUgLSB0aGVfaGFzaF9hbGdvLT5yYXdzeikpCi0JCXJldHVybiBlcnJvcigiYmFkIGluZGV4IGZpbGUgc2hhMSBzaWduYXR1cmUiKTsKKwkJcmV0dXJuIGVycm9yKF8oImJhZCBpbmRleCBmaWxlIHNoYTEgc2lnbmF0dXJlIikpOwogCXJldHVybiAwOwogfQogCkBAIC0xNzM1LDI0ICsxNzU2LDE0IEBACiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCWlmICgqZXh0IDwgJ0EnIHx8ICdaJyA8ICpleHQpCi0JCQlyZXR1cm4gZXJyb3IoImluZGV4IHVzZXMgJS40cyBleHRlbnNpb24sIHdoaWNoIHdlIGRvIG5vdCB1bmRlcnN0YW5kIiwKKwkJCXJldHVybiBlcnJvcihfKCJpbmRleCB1c2VzICUuNHMgZXh0ZW5zaW9uLCB3aGljaCB3ZSBkbyBub3QgdW5kZXJzdGFuZCIpLAogCQkJCSAgICAgZXh0KTsKLQkJZnByaW50ZihzdGRlcnIsICJpZ25vcmluZyAlLjRzIGV4dGVuc2lvblxuIiwgZXh0KTsKKwkJZnByaW50Zl9sbihzdGRlcnIsIF8oImlnbm9yaW5nICUuNHMgZXh0ZW5zaW9uIiksIGV4dCk7CiAJCWJyZWFrOwogCX0KIAlyZXR1cm4gMDsKIH0KIAotaW50IGhvbGRfbG9ja2VkX2luZGV4KHN0cnVjdCBsb2NrX2ZpbGUgKmxrLCBpbnQgbG9ja19mbGFncykKLXsKLQlyZXR1cm4gaG9sZF9sb2NrX2ZpbGVfZm9yX3VwZGF0ZShsaywgZ2V0X2luZGV4X2ZpbGUoKSwgbG9ja19mbGFncyk7Ci19Ci0KLWludCByZWFkX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKQotewotCXJldHVybiByZWFkX2luZGV4X2Zyb20oaXN0YXRlLCBnZXRfaW5kZXhfZmlsZSgpLCBnZXRfZ2l0X2RpcigpKTsKLX0KLQogc3RhdGljIHN0cnVjdCBjYWNoZV9lbnRyeSAqY3JlYXRlX2Zyb21fZGlzayhzdHJ1Y3QgbWVtX3Bvb2wgKmNlX21lbV9wb29sLAogCQkJCQkgICAgdW5zaWduZWQgaW50IHZlcnNpb24sCiAJCQkJCSAgICBzdHJ1Y3Qgb25kaXNrX2NhY2hlX2VudHJ5ICpvbmRpc2ssCkBAIC0xNzYyLDYgKzE3NzMsOCBAQAogCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2U7CiAJc2l6ZV90IGxlbjsKIAljb25zdCBjaGFyICpuYW1lOworCWNvbnN0IHVuc2lnbmVkIGhhc2hzeiA9IHRoZV9oYXNoX2FsZ28tPnJhd3N6OworCWNvbnN0IHVpbnQxNl90ICpmbGFnc3AgPSAoY29uc3QgdWludDE2X3QgKikob25kaXNrLT5kYXRhICsgaGFzaHN6KTsKIAl1bnNpZ25lZCBpbnQgZmxhZ3M7CiAJc2l6ZV90IGNvcHlfbGVuID0gMDsKIAkvKgpAQCAtMTc3NCwyOCArMTc4NywyNiBAQAogCWludCBleHBhbmRfbmFtZV9maWVsZCA9IHZlcnNpb24gPT0gNDsKIAogCS8qIE9uLWRpc2sgZmxhZ3MgYXJlIGp1c3QgMTYgYml0cyAqLwotCWZsYWdzID0gZ2V0X2JlMTYoJm9uZGlzay0+ZmxhZ3MpOworCWZsYWdzID0gZ2V0X2JlMTYoZmxhZ3NwKTsKIAlsZW4gPSBmbGFncyAmIENFX05BTUVNQVNLOwogCiAJaWYgKGZsYWdzICYgQ0VfRVhURU5ERUQpIHsKLQkJc3RydWN0IG9uZGlza19jYWNoZV9lbnRyeV9leHRlbmRlZCAqb25kaXNrMjsKIAkJaW50IGV4dGVuZGVkX2ZsYWdzOwotCQlvbmRpc2syID0gKHN0cnVjdCBvbmRpc2tfY2FjaGVfZW50cnlfZXh0ZW5kZWQgKilvbmRpc2s7Ci0JCWV4dGVuZGVkX2ZsYWdzID0gZ2V0X2JlMTYoJm9uZGlzazItPmZsYWdzMikgPDwgMTY7CisJCWV4dGVuZGVkX2ZsYWdzID0gZ2V0X2JlMTYoZmxhZ3NwICsgMSkgPDwgMTY7CiAJCS8qIFdlIGRvIG5vdCB5ZXQgdW5kZXJzdGFuZCBhbnkgYml0IG91dCBvZiBDRV9FWFRFTkRFRF9GTEFHUyAqLwogCQlpZiAoZXh0ZW5kZWRfZmxhZ3MgJiB+Q0VfRVhURU5ERURfRkxBR1MpCi0JCQlkaWUoIlVua25vd24gaW5kZXggZW50cnkgZm9ybWF0ICUwOHgiLCBleHRlbmRlZF9mbGFncyk7CisJCQlkaWUoXygidW5rbm93biBpbmRleCBlbnRyeSBmb3JtYXQgMHglMDh4IiksIGV4dGVuZGVkX2ZsYWdzKTsKIAkJZmxhZ3MgfD0gZXh0ZW5kZWRfZmxhZ3M7Ci0JCW5hbWUgPSBvbmRpc2syLT5uYW1lOworCQluYW1lID0gKGNvbnN0IGNoYXIgKikoZmxhZ3NwICsgMik7CiAJfQogCWVsc2UKLQkJbmFtZSA9IG9uZGlzay0+bmFtZTsKKwkJbmFtZSA9IChjb25zdCBjaGFyICopKGZsYWdzcCArIDEpOwogCiAJaWYgKGV4cGFuZF9uYW1lX2ZpZWxkKSB7CiAJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmNwID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiluYW1lOwogCQlzaXplX3Qgc3RyaXBfbGVuLCBwcmV2aW91c19sZW47CiAKLQkJLyogSWYgd2UncmUgYXQgdGhlIGJlZ2luaW5nIG9mIGEgYmxvY2ssIGlnbm9yZSB0aGUgcHJldmlvdXMgbmFtZSAqLworCQkvKiBJZiB3ZSdyZSBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgYmxvY2ssIGlnbm9yZSB0aGUgcHJldmlvdXMgbmFtZSAqLwogCQlzdHJpcF9sZW4gPSBkZWNvZGVfdmFyaW50KCZjcCk7CiAJCWlmIChwcmV2aW91c19jZSkgewogCQkJcHJldmlvdXNfbGVuID0gcHJldmlvdXNfY2UtPmNlX25hbWVsZW47CkBAIC0xODI4LDcgKzE4MzksOSBAQAogCWNlLT5jZV9mbGFncyA9IGZsYWdzICYgfkNFX05BTUVNQVNLOwogCWNlLT5jZV9uYW1lbGVuID0gbGVuOwogCWNlLT5pbmRleCA9IDA7Ci0JaGFzaGNweShjZS0+b2lkLmhhc2gsIG9uZGlzay0+c2hhMSk7CisJaGFzaGNweShjZS0+b2lkLmhhc2gsIG9uZGlzay0+ZGF0YSk7CisJbWVtY3B5KGNlLT5uYW1lLCBuYW1lLCBsZW4pOworCWNlLT5uYW1lW2xlbl0gPSAnXDAnOwogCiAJaWYgKGV4cGFuZF9uYW1lX2ZpZWxkKSB7CiAJCWlmIChjb3B5X2xlbikKQEAgLTE4NTUsMTMgKzE4NjgsMTMgQEAKIAkJaW50IG5hbWVfY29tcGFyZSA9IHN0cmNtcChjZS0+bmFtZSwgbmV4dF9jZS0+bmFtZSk7CiAKIAkJaWYgKDAgPCBuYW1lX2NvbXBhcmUpCi0JCQlkaWUoInVub3JkZXJlZCBzdGFnZSBlbnRyaWVzIGluIGluZGV4Iik7CisJCQlkaWUoXygidW5vcmRlcmVkIHN0YWdlIGVudHJpZXMgaW4gaW5kZXgiKSk7CiAJCWlmICghbmFtZV9jb21wYXJlKSB7CiAJCQlpZiAoIWNlX3N0YWdlKGNlKSkKLQkJCQlkaWUoIm11bHRpcGxlIHN0YWdlIGVudHJpZXMgZm9yIG1lcmdlZCBmaWxlICclcyciLAorCQkJCWRpZShfKCJtdWx0aXBsZSBzdGFnZSBlbnRyaWVzIGZvciBtZXJnZWQgZmlsZSAnJXMnIiksCiAJCQkJICAgIGNlLT5uYW1lKTsKIAkJCWlmIChjZV9zdGFnZShjZSkgPiBjZV9zdGFnZShuZXh0X2NlKSkKLQkJCQlkaWUoInVub3JkZXJlZCBzdGFnZSBlbnRyaWVzIGZvciAnJXMnIiwKKwkJCQlkaWUoXygidW5vcmRlcmVkIHN0YWdlIGVudHJpZXMgZm9yICclcyciKSwKIAkJCQkgICAgY2UtPm5hbWUpOwogCQl9CiAJfQpAQCAtMTg2OSwxOCArMTg4MiwxNyBAQAogCiBzdGF0aWMgdm9pZCB0d2Vha191bnRyYWNrZWRfY2FjaGUoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpCiB7Ci0Jc3dpdGNoIChnaXRfY29uZmlnX2dldF91bnRyYWNrZWRfY2FjaGUoKSkgewotCWNhc2UgLTE6IC8qIGtlZXA6IGRvIG5vdGhpbmcgKi8KLQkJYnJlYWs7Ci0JY2FzZSAwOiAvKiBmYWxzZSAqLworCXN0cnVjdCByZXBvc2l0b3J5ICpyID0gdGhlX3JlcG9zaXRvcnk7CisKKwlwcmVwYXJlX3JlcG9fc2V0dGluZ3Mocik7CisKKwlpZiAoci0+c2V0dGluZ3MuY29yZV91bnRyYWNrZWRfY2FjaGUgID09IFVOVFJBQ0tFRF9DQUNIRV9SRU1PVkUpIHsKIAkJcmVtb3ZlX3VudHJhY2tlZF9jYWNoZShpc3RhdGUpOwotCQlicmVhazsKLQljYXNlIDE6IC8qIHRydWUgKi8KLQkJYWRkX3VudHJhY2tlZF9jYWNoZShpc3RhdGUpOwotCQlicmVhazsKLQlkZWZhdWx0OiAvKiB1bmtub3duIHZhbHVlOiBkbyBub3RoaW5nICovCi0JCWJyZWFrOworCQlyZXR1cm47CiAJfQorCisJaWYgKHItPnNldHRpbmdzLmNvcmVfdW50cmFja2VkX2NhY2hlID09IFVOVFJBQ0tFRF9DQUNIRV9XUklURSkKKwkJYWRkX3VudHJhY2tlZF9jYWNoZShpc3RhdGUpOwogfQogCiBzdGF0aWMgdm9pZCB0d2Vha19zcGxpdF9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSkKQEAgLTE5MTksNyArMTkzMSw3IEBACiAJLyoKIAkgKiBBY2NvdW50IGZvciBwb3RlbnRpYWwgYWxpZ25tZW50IGRpZmZlcmVuY2VzLgogCSAqLwotCXBlcl9lbnRyeSArPSBhbGlnbl9wYWRkaW5nX3NpemUoc2l6ZW9mKHN0cnVjdCBjYWNoZV9lbnRyeSksIC1zaXplb2Yoc3RydWN0IG9uZGlza19jYWNoZV9lbnRyeSkpOworCXBlcl9lbnRyeSArPSBhbGlnbl9wYWRkaW5nX3NpemUocGVyX2VudHJ5LCAwKTsKIAlyZXR1cm4gb25kaXNrX3NpemUgKyBlbnRyaWVzICogcGVyX2VudHJ5OwogfQogCkBAIC0yMDYyLDcgKzIwNzQsNyBAQAogfQogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBsb2FkX2NhY2hlX2VudHJpZXNfdGhyZWFkZWQoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKm1tYXAsIHNpemVfdCBtbWFwX3NpemUsCi0JCQl1bnNpZ25lZCBsb25nIHNyY19vZmZzZXQsIGludCBucl90aHJlYWRzLCBzdHJ1Y3QgaW5kZXhfZW50cnlfb2Zmc2V0X3RhYmxlICppZW90KQorCQkJCQkJIGludCBucl90aHJlYWRzLCBzdHJ1Y3QgaW5kZXhfZW50cnlfb2Zmc2V0X3RhYmxlICppZW90KQogewogCWludCBpLCBvZmZzZXQsIGllb3RfYmxvY2tzLCBpZW90X3N0YXJ0LCBlcnI7CiAJc3RydWN0IGxvYWRfY2FjaGVfZW50cmllc190aHJlYWRfZGF0YSAqZGF0YTsKQEAgLTIxNTUsMTkgKzIxNjcsMTkgQEAKIAlpZiAoZmQgPCAwKSB7CiAJCWlmICghbXVzdF9leGlzdCAmJiBlcnJubyA9PSBFTk9FTlQpCiAJCQlyZXR1cm4gMDsKLQkJZGllX2Vycm5vKCIlczogaW5kZXggZmlsZSBvcGVuIGZhaWxlZCIsIHBhdGgpOworCQlkaWVfZXJybm8oXygiJXM6IGluZGV4IGZpbGUgb3BlbiBmYWlsZWQiKSwgcGF0aCk7CiAJfQogCiAJaWYgKGZzdGF0KGZkLCAmc3QpKQotCQlkaWVfZXJybm8oImNhbm5vdCBzdGF0IHRoZSBvcGVuIGluZGV4Iik7CisJCWRpZV9lcnJubyhfKCIlczogY2Fubm90IHN0YXQgdGhlIG9wZW4gaW5kZXgiKSwgcGF0aCk7CiAKIAltbWFwX3NpemUgPSB4c2l6ZV90KHN0LnN0X3NpemUpOwogCWlmIChtbWFwX3NpemUgPCBzaXplb2Yoc3RydWN0IGNhY2hlX2hlYWRlcikgKyB0aGVfaGFzaF9hbGdvLT5yYXdzeikKLQkJZGllKCJpbmRleCBmaWxlIHNtYWxsZXIgdGhhbiBleHBlY3RlZCIpOworCQlkaWUoXygiJXM6IGluZGV4IGZpbGUgc21hbGxlciB0aGFuIGV4cGVjdGVkIiksIHBhdGgpOwogCi0JbW1hcCA9IHhtbWFwKE5VTEwsIG1tYXBfc2l6ZSwgUFJPVF9SRUFELCBNQVBfUFJJVkFURSwgZmQsIDApOworCW1tYXAgPSB4bW1hcF9nZW50bHkoTlVMTCwgbW1hcF9zaXplLCBQUk9UX1JFQUQsIE1BUF9QUklWQVRFLCBmZCwgMCk7CiAJaWYgKG1tYXAgPT0gTUFQX0ZBSUxFRCkKLQkJZGllX2Vycm5vKCJ1bmFibGUgdG8gbWFwIGluZGV4IGZpbGUiKTsKKwkJZGllX2Vycm5vKF8oIiVzOiB1bmFibGUgdG8gbWFwIGluZGV4IGZpbGUiKSwgcGF0aCk7CiAJY2xvc2UoZmQpOwogCiAJaGRyID0gKGNvbnN0IHN0cnVjdCBjYWNoZV9oZWFkZXIgKiltbWFwOwpAQCAtMjIyMyw3ICsyMjM1LDcgQEAKIAkJaWVvdCA9IHJlYWRfaWVvdF9leHRlbnNpb24obW1hcCwgbW1hcF9zaXplLCBleHRlbnNpb25fb2Zmc2V0KTsKIAogCWlmIChpZW90KSB7Ci0JCXNyY19vZmZzZXQgKz0gbG9hZF9jYWNoZV9lbnRyaWVzX3RocmVhZGVkKGlzdGF0ZSwgbW1hcCwgbW1hcF9zaXplLCBzcmNfb2Zmc2V0LCBucl90aHJlYWRzLCBpZW90KTsKKwkJc3JjX29mZnNldCArPSBsb2FkX2NhY2hlX2VudHJpZXNfdGhyZWFkZWQoaXN0YXRlLCBtbWFwLCBtbWFwX3NpemUsIG5yX3RocmVhZHMsIGllb3QpOwogCQlmcmVlKGllb3QpOwogCX0gZWxzZSB7CiAJCXNyY19vZmZzZXQgKz0gbG9hZF9hbGxfY2FjaGVfZW50cmllcyhpc3RhdGUsIG1tYXAsIG1tYXBfc2l6ZSwgc3JjX29mZnNldCk7CkBAIC0yMjQyLDExICsyMjU0LDIxIEBACiAJCWxvYWRfaW5kZXhfZXh0ZW5zaW9ucygmcCk7CiAJfQogCW11bm1hcCgodm9pZCAqKW1tYXAsIG1tYXBfc2l6ZSk7CisKKwkvKgorCSAqIFRPRE8gdHJhY2UyOiByZXBsYWNlICJ0aGVfcmVwb3NpdG9yeSIgd2l0aCB0aGUgYWN0dWFsIHJlcG8gaW5zdGFuY2UKKwkgKiB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gImlzdGF0ZSIuCisJICovCisJdHJhY2UyX2RhdGFfaW50bWF4KCJpbmRleCIsIHRoZV9yZXBvc2l0b3J5LCAicmVhZC92ZXJzaW9uIiwKKwkJCSAgIGlzdGF0ZS0+dmVyc2lvbik7CisJdHJhY2UyX2RhdGFfaW50bWF4KCJpbmRleCIsIHRoZV9yZXBvc2l0b3J5LCAicmVhZC9jYWNoZV9uciIsCisJCQkgICBpc3RhdGUtPmNhY2hlX25yKTsKKwogCXJldHVybiBpc3RhdGUtPmNhY2hlX25yOwogCiB1bm1hcDoKIAltdW5tYXAoKHZvaWQgKiltbWFwLCBtbWFwX3NpemUpOwotCWRpZSgiaW5kZXggZmlsZSBjb3JydXB0Iik7CisJZGllKF8oImluZGV4IGZpbGUgY29ycnVwdCIpKTsKIH0KIAogLyoKQEAgLTIyNTgsNyArMjI4MCw3IEBACiBzdGF0aWMgdm9pZCBmcmVzaGVuX3NoYXJlZF9pbmRleChjb25zdCBjaGFyICpzaGFyZWRfaW5kZXgsIGludCB3YXJuKQogewogCWlmICghY2hlY2tfYW5kX2ZyZXNoZW5fZmlsZShzaGFyZWRfaW5kZXgsIDEpICYmIHdhcm4pCi0JCXdhcm5pbmcoImNvdWxkIG5vdCBmcmVzaGVuIHNoYXJlZCBpbmRleCAnJXMnIiwgc2hhcmVkX2luZGV4KTsKKwkJd2FybmluZyhfKCJjb3VsZCBub3QgZnJlc2hlbiBzaGFyZWQgaW5kZXggJyVzJyIpLCBzaGFyZWRfaW5kZXgpOwogfQogCiBpbnQgcmVhZF9pbmRleF9mcm9tKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBjb25zdCBjaGFyICpwYXRoLApAQCAtMjI3Myw5ICsyMjk1LDE3IEBACiAJaWYgKGlzdGF0ZS0+aW5pdGlhbGl6ZWQpCiAJCXJldHVybiBpc3RhdGUtPmNhY2hlX25yOwogCisJLyoKKwkgKiBUT0RPIHRyYWNlMjogcmVwbGFjZSAidGhlX3JlcG9zaXRvcnkiIHdpdGggdGhlIGFjdHVhbCByZXBvIGluc3RhbmNlCisJICogdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuICJpc3RhdGUiLgorCSAqLworCXRyYWNlMl9yZWdpb25fZW50ZXJfcHJpbnRmKCJpbmRleCIsICJkb19yZWFkX2luZGV4IiwgdGhlX3JlcG9zaXRvcnksCisJCQkJICAgIiVzIiwgcGF0aCk7CiAJdHJhY2VfcGVyZm9ybWFuY2VfZW50ZXIoKTsKIAlyZXQgPSBkb19yZWFkX2luZGV4KGlzdGF0ZSwgcGF0aCwgMCk7CiAJdHJhY2VfcGVyZm9ybWFuY2VfbGVhdmUoInJlYWQgY2FjaGUgJXMiLCBwYXRoKTsKKwl0cmFjZTJfcmVnaW9uX2xlYXZlX3ByaW50ZigiaW5kZXgiLCAiZG9fcmVhZF9pbmRleCIsIHRoZV9yZXBvc2l0b3J5LAorCQkJCSAgICIlcyIsIHBhdGgpOwogCiAJc3BsaXRfaW5kZXggPSBpc3RhdGUtPnNwbGl0X2luZGV4OwogCWlmICghc3BsaXRfaW5kZXggfHwgaXNfbnVsbF9vaWQoJnNwbGl0X2luZGV4LT5iYXNlX29pZCkpIHsKQEAgLTIyOTEsOSArMjMyMSwxMyBAQAogCiAJYmFzZV9vaWRfaGV4ID0gb2lkX3RvX2hleCgmc3BsaXRfaW5kZXgtPmJhc2Vfb2lkKTsKIAliYXNlX3BhdGggPSB4c3RyZm10KCIlcy9zaGFyZWRpbmRleC4lcyIsIGdpdGRpciwgYmFzZV9vaWRfaGV4KTsKKwl0cmFjZTJfcmVnaW9uX2VudGVyX3ByaW50ZigiaW5kZXgiLCAic2hhcmVkL2RvX3JlYWRfaW5kZXgiLAorCQkJCSAgIHRoZV9yZXBvc2l0b3J5LCAiJXMiLCBiYXNlX3BhdGgpOwogCXJldCA9IGRvX3JlYWRfaW5kZXgoc3BsaXRfaW5kZXgtPmJhc2UsIGJhc2VfcGF0aCwgMSk7CisJdHJhY2UyX3JlZ2lvbl9sZWF2ZV9wcmludGYoImluZGV4IiwgInNoYXJlZC9kb19yZWFkX2luZGV4IiwKKwkJCQkgICB0aGVfcmVwb3NpdG9yeSwgIiVzIiwgYmFzZV9wYXRoKTsKIAlpZiAoIW9pZGVxKCZzcGxpdF9pbmRleC0+YmFzZV9vaWQsICZzcGxpdF9pbmRleC0+YmFzZS0+b2lkKSkKLQkJZGllKCJicm9rZW4gaW5kZXgsIGV4cGVjdCAlcyBpbiAlcywgZ290ICVzIiwKKwkJZGllKF8oImJyb2tlbiBpbmRleCwgZXhwZWN0ICVzIGluICVzLCBnb3QgJXMiKSwKIAkJICAgIGJhc2Vfb2lkX2hleCwgYmFzZV9wYXRoLAogCQkgICAgb2lkX3RvX2hleCgmc3BsaXRfaW5kZXgtPmJhc2UtPm9pZCkpOwogCkBAIC0yMzI5LDYgKzIzNjMsNyBAQAogCWZyZWVfbmFtZV9oYXNoKGlzdGF0ZSk7CiAJY2FjaGVfdHJlZV9mcmVlKCYoaXN0YXRlLT5jYWNoZV90cmVlKSk7CiAJaXN0YXRlLT5pbml0aWFsaXplZCA9IDA7CisJaXN0YXRlLT5mc21vbml0b3JfaGFzX3J1bl9vbmNlID0gMDsKIAlGUkVFX0FORF9OVUxMKGlzdGF0ZS0+Y2FjaGUpOwogCWlzdGF0ZS0+Y2FjaGVfYWxsb2MgPSAwOwogCWRpc2NhcmRfc3BsaXRfaW5kZXgoaXN0YXRlKTsKQEAgLTIzNTksMTQgKzIzOTQsMTQgQEAKIAogCWZvciAoaSA9IDA7IGkgPCBpc3RhdGUtPmNhY2hlX25yOyBpKyspIHsKIAkJaWYgKCFpc3RhdGUpIHsKLQkJCWRpZSgiaW50ZXJuYWwgZXJyb3I6IGNhY2hlIGVudHJ5IGlzIG5vdCBhbGxvY2F0ZWQgZnJvbSBleHBlY3RlZCBtZW1vcnkgcG9vbCIpOworCQkJQlVHKCJjYWNoZSBlbnRyeSBpcyBub3QgYWxsb2NhdGVkIGZyb20gZXhwZWN0ZWQgbWVtb3J5IHBvb2wiKTsKIAkJfSBlbHNlIGlmICghaXN0YXRlLT5jZV9tZW1fcG9vbCB8fAogCQkJIW1lbV9wb29sX2NvbnRhaW5zKGlzdGF0ZS0+Y2VfbWVtX3Bvb2wsIGlzdGF0ZS0+Y2FjaGVbaV0pKSB7CiAJCQlpZiAoIWlzdGF0ZS0+c3BsaXRfaW5kZXggfHwKIAkJCQkhaXN0YXRlLT5zcGxpdF9pbmRleC0+YmFzZSB8fAogCQkJCSFpc3RhdGUtPnNwbGl0X2luZGV4LT5iYXNlLT5jZV9tZW1fcG9vbCB8fAogCQkJCSFtZW1fcG9vbF9jb250YWlucyhpc3RhdGUtPnNwbGl0X2luZGV4LT5iYXNlLT5jZV9tZW1fcG9vbCwgaXN0YXRlLT5jYWNoZVtpXSkpIHsKLQkJCQlkaWUoImludGVybmFsIGVycm9yOiBjYWNoZSBlbnRyeSBpcyBub3QgYWxsb2NhdGVkIGZyb20gZXhwZWN0ZWQgbWVtb3J5IHBvb2wiKTsKKwkJCQlCVUcoImNhY2hlIGVudHJ5IGlzIG5vdCBhbGxvY2F0ZWQgZnJvbSBleHBlY3RlZCBtZW1vcnkgcG9vbCIpOwogCQkJfQogCQl9CiAJfQpAQCAtMjM4NSwyMiArMjQyMCwyMCBAQAogCXJldHVybiAwOwogfQogCi1pbnQgaW5kZXhfaGFzX2NoYW5nZXMoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCi0JCSAgICAgIHN0cnVjdCB0cmVlICp0cmVlLAotCQkgICAgICBzdHJ1Y3Qgc3RyYnVmICpzYikKK2ludCByZXBvX2luZGV4X2hhc19jaGFuZ2VzKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJICAgc3RydWN0IHRyZWUgKnRyZWUsCisJCQkgICBzdHJ1Y3Qgc3RyYnVmICpzYikKIHsKKwlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSA9IHJlcG8tPmluZGV4OwogCXN0cnVjdCBvYmplY3RfaWQgY21wOwogCWludCBpOwogCi0JaWYgKGlzdGF0ZSAhPSAmdGhlX2luZGV4KSB7Ci0JCUJVRygiaW5kZXhfaGFzX2NoYW5nZXMgY2Fubm90IHlldCBhY2NlcHQgaXN0YXRlICE9ICZ0aGVfaW5kZXg7IGRvX2RpZmZfY2FjaGUgbmVlZHMgdXBkYXRpbmcgZmlyc3QuIik7Ci0JfQogCWlmICh0cmVlKQogCQljbXAgPSB0cmVlLT5vYmplY3Qub2lkOwogCWlmICh0cmVlIHx8ICFnZXRfb2lkX3RyZWUoIkhFQUQiLCAmY21wKSkgewogCQlzdHJ1Y3QgZGlmZl9vcHRpb25zIG9wdDsKIAotCQlyZXBvX2RpZmZfc2V0dXAodGhlX3JlcG9zaXRvcnksICZvcHQpOworCQlyZXBvX2RpZmZfc2V0dXAocmVwbywgJm9wdCk7CiAJCW9wdC5mbGFncy5leGl0X3dpdGhfc3RhdHVzID0gMTsKIAkJaWYgKCFzYikKIAkJCW9wdC5mbGFncy5xdWljayA9IDE7CkBAIC0yNTUyLDYgKzI1ODUsOCBAQAogCQkJCSAgICAgICBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlKQogewogCXNob3J0IGZsYWdzOworCWNvbnN0IHVuc2lnbmVkIGhhc2hzeiA9IHRoZV9oYXNoX2FsZ28tPnJhd3N6OworCXVpbnQxNl90ICpmbGFnc3AgPSAodWludDE2X3QgKikob25kaXNrLT5kYXRhICsgaGFzaHN6KTsKIAogCW9uZGlzay0+Y3RpbWUuc2VjID0gaHRvbmwoY2UtPmNlX3N0YXRfZGF0YS5zZF9jdGltZS5zZWMpOwogCW9uZGlzay0+bXRpbWUuc2VjID0gaHRvbmwoY2UtPmNlX3N0YXRfZGF0YS5zZF9tdGltZS5zZWMpOwpAQCAtMjU2MywxNSArMjU5OCwxMyBAQAogCW9uZGlzay0+dWlkICA9IGh0b25sKGNlLT5jZV9zdGF0X2RhdGEuc2RfdWlkKTsKIAlvbmRpc2stPmdpZCAgPSBodG9ubChjZS0+Y2Vfc3RhdF9kYXRhLnNkX2dpZCk7CiAJb25kaXNrLT5zaXplID0gaHRvbmwoY2UtPmNlX3N0YXRfZGF0YS5zZF9zaXplKTsKLQloYXNoY3B5KG9uZGlzay0+c2hhMSwgY2UtPm9pZC5oYXNoKTsKKwloYXNoY3B5KG9uZGlzay0+ZGF0YSwgY2UtPm9pZC5oYXNoKTsKIAogCWZsYWdzID0gY2UtPmNlX2ZsYWdzICYgfkNFX05BTUVNQVNLOwogCWZsYWdzIHw9IChjZV9uYW1lbGVuKGNlKSA+PSBDRV9OQU1FTUFTSyA/IENFX05BTUVNQVNLIDogY2VfbmFtZWxlbihjZSkpOwotCW9uZGlzay0+ZmxhZ3MgPSBodG9ucyhmbGFncyk7CisJZmxhZ3NwWzBdID0gaHRvbnMoZmxhZ3MpOwogCWlmIChjZS0+Y2VfZmxhZ3MgJiBDRV9FWFRFTkRFRCkgewotCQlzdHJ1Y3Qgb25kaXNrX2NhY2hlX2VudHJ5X2V4dGVuZGVkICpvbmRpc2syOwotCQlvbmRpc2syID0gKHN0cnVjdCBvbmRpc2tfY2FjaGVfZW50cnlfZXh0ZW5kZWQgKilvbmRpc2s7Ci0JCW9uZGlzazItPmZsYWdzMiA9IGh0b25zKChjZS0+Y2VfZmxhZ3MgJiBDRV9FWFRFTkRFRF9GTEFHUykgPj4gMTYpOworCQlmbGFnc3BbMV0gPSBodG9ucygoY2UtPmNlX2ZsYWdzICYgQ0VfRVhURU5ERURfRkxBR1MpID4+IDE2KTsKIAl9CiB9CiAKQEAgLTI1OTAsMTAgKzI2MjMsNyBAQAogCQlzdHJpcHBlZF9uYW1lID0gMTsKIAl9CiAKLQlpZiAoY2UtPmNlX2ZsYWdzICYgQ0VfRVhURU5ERUQpCi0JCXNpemUgPSBvZmZzZXRvZihzdHJ1Y3Qgb25kaXNrX2NhY2hlX2VudHJ5X2V4dGVuZGVkLCBuYW1lKTsKLQllbHNlCi0JCXNpemUgPSBvZmZzZXRvZihzdHJ1Y3Qgb25kaXNrX2NhY2hlX2VudHJ5LCBuYW1lKTsKKwlzaXplID0gb2Zmc2V0b2Yoc3RydWN0IG9uZGlza19jYWNoZV9lbnRyeSxkYXRhKSArIG9uZGlza19kYXRhX3NpemUoY2UtPmNlX2ZsYWdzLCAwKTsKIAogCWlmICghcHJldmlvdXNfbmFtZSkgewogCQlpbnQgbGVuID0gY2VfbmFtZWxlbihjZSk7CkBAIC0yNjc0LDkgKzI3MDQsOSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHZlcmlmeV9pbmRleChjb25zdCBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSkKK3N0YXRpYyBpbnQgcmVwb192ZXJpZnlfaW5kZXgoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8pCiB7Ci0JcmV0dXJuIHZlcmlmeV9pbmRleF9mcm9tKGlzdGF0ZSwgZ2V0X2luZGV4X2ZpbGUoKSk7CisJcmV0dXJuIHZlcmlmeV9pbmRleF9mcm9tKHJlcG8tPmluZGV4LCByZXBvLT5pbmRleF9maWxlKTsKIH0KIAogc3RhdGljIGludCBoYXNfcmFjeV90aW1lc3RhbXAoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpCkBAIC0yNjkyLDExICsyNzIyLDEzIEBACiAJcmV0dXJuIDA7CiB9CiAKLXZvaWQgdXBkYXRlX2luZGV4X2lmX2FibGUoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIHN0cnVjdCBsb2NrX2ZpbGUgKmxvY2tmaWxlKQordm9pZCByZXBvX3VwZGF0ZV9pbmRleF9pZl9hYmxlKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJICAgICAgIHN0cnVjdCBsb2NrX2ZpbGUgKmxvY2tmaWxlKQogewotCWlmICgoaXN0YXRlLT5jYWNoZV9jaGFuZ2VkIHx8IGhhc19yYWN5X3RpbWVzdGFtcChpc3RhdGUpKSAmJgotCSAgICB2ZXJpZnlfaW5kZXgoaXN0YXRlKSkKLQkJd3JpdGVfbG9ja2VkX2luZGV4KGlzdGF0ZSwgbG9ja2ZpbGUsIENPTU1JVF9MT0NLKTsKKwlpZiAoKHJlcG8tPmluZGV4LT5jYWNoZV9jaGFuZ2VkIHx8CisJICAgICBoYXNfcmFjeV90aW1lc3RhbXAocmVwby0+aW5kZXgpKSAmJgorCSAgICByZXBvX3ZlcmlmeV9pbmRleChyZXBvKSkKKwkJd3JpdGVfbG9ja2VkX2luZGV4KHJlcG8tPmluZGV4LCBsb2NrZmlsZSwgQ09NTUlUX0xPQ0spOwogCWVsc2UKIAkJcm9sbGJhY2tfbG9ja19maWxlKGxvY2tmaWxlKTsKIH0KQEAgLTI3NDksNyArMjc4MSw3IEBACiAJc3RydWN0IGNhY2hlX2VudHJ5ICoqY2FjaGUgPSBpc3RhdGUtPmNhY2hlOwogCWludCBlbnRyaWVzID0gaXN0YXRlLT5jYWNoZV9ucjsKIAlzdHJ1Y3Qgc3RhdCBzdDsKLQlzdHJ1Y3Qgb25kaXNrX2NhY2hlX2VudHJ5X2V4dGVuZGVkIG9uZGlzazsKKwlzdHJ1Y3Qgb25kaXNrX2NhY2hlX2VudHJ5IG9uZGlzazsKIAlzdHJ1Y3Qgc3RyYnVmIHByZXZpb3VzX25hbWVfYnVmID0gU1RSQlVGX0lOSVQsICpwcmV2aW91c19uYW1lOwogCWludCBkcm9wX2NhY2hlX3RyZWUgPSBpc3RhdGUtPmRyb3BfY2FjaGVfdHJlZTsKIAlvZmZfdCBvZmZzZXQ7CkBAIC0yNzcwLDcgKzI4MDIsNyBAQAogCX0KIAogCWlmICghaXN0YXRlLT52ZXJzaW9uKSB7Ci0JCWlzdGF0ZS0+dmVyc2lvbiA9IGdldF9pbmRleF9mb3JtYXRfZGVmYXVsdCgpOworCQlpc3RhdGUtPnZlcnNpb24gPSBnZXRfaW5kZXhfZm9ybWF0X2RlZmF1bHQodGhlX3JlcG9zaXRvcnkpOwogCQlpZiAoZ2l0X2Vudl9ib29sKCJHSVRfVEVTVF9TUExJVF9JTkRFWCIsIDApKQogCQkJaW5pdF9zcGxpdF9pbmRleChpc3RhdGUpOwogCX0KQEAgLTI5MTYsNyArMjk0OCw4IEBACiAJCQlyZXR1cm4gLTE7CiAJfQogCi0JaWYgKCFzdHJpcF9leHRlbnNpb25zICYmIGlzdGF0ZS0+c3BsaXRfaW5kZXgpIHsKKwlpZiAoIXN0cmlwX2V4dGVuc2lvbnMgJiYgaXN0YXRlLT5zcGxpdF9pbmRleCAmJgorCSAgICAhaXNfbnVsbF9vaWQoJmlzdGF0ZS0+c3BsaXRfaW5kZXgtPmJhc2Vfb2lkKSkgewogCQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAKIAkJZXJyID0gd3JpdGVfbGlua19leHRlbnNpb24oJnNiLCBpc3RhdGUpIDwgMCB8fApAQCAtMjk5OCw2ICszMDMxLDE2IEBACiAJaXN0YXRlLT50aW1lc3RhbXAuc2VjID0gKHVuc2lnbmVkIGludClzdC5zdF9tdGltZTsKIAlpc3RhdGUtPnRpbWVzdGFtcC5uc2VjID0gU1RfTVRJTUVfTlNFQyhzdCk7CiAJdHJhY2VfcGVyZm9ybWFuY2Vfc2luY2Uoc3RhcnQsICJ3cml0ZSBpbmRleCwgY2hhbmdlZCBtYXNrID0gJXgiLCBpc3RhdGUtPmNhY2hlX2NoYW5nZWQpOworCisJLyoKKwkgKiBUT0RPIHRyYWNlMjogcmVwbGFjZSAidGhlX3JlcG9zaXRvcnkiIHdpdGggdGhlIGFjdHVhbCByZXBvIGluc3RhbmNlCisJICogdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuICJpc3RhdGUiLgorCSAqLworCXRyYWNlMl9kYXRhX2ludG1heCgiaW5kZXgiLCB0aGVfcmVwb3NpdG9yeSwgIndyaXRlL3ZlcnNpb24iLAorCQkJICAgaXN0YXRlLT52ZXJzaW9uKTsKKwl0cmFjZTJfZGF0YV9pbnRtYXgoImluZGV4IiwgdGhlX3JlcG9zaXRvcnksICJ3cml0ZS9jYWNoZV9uciIsCisJCQkgICBpc3RhdGUtPmNhY2hlX25yKTsKKwogCXJldHVybiAwOwogfQogCkBAIC0zMDE3LDEyICszMDYwLDMyIEBACiBzdGF0aWMgaW50IGRvX3dyaXRlX2xvY2tlZF9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwgc3RydWN0IGxvY2tfZmlsZSAqbG9jaywKIAkJCQkgdW5zaWduZWQgZmxhZ3MpCiB7Ci0JaW50IHJldCA9IGRvX3dyaXRlX2luZGV4KGlzdGF0ZSwgbG9jay0+dGVtcGZpbGUsIDApOworCWludCByZXQ7CisKKwkvKgorCSAqIFRPRE8gdHJhY2UyOiByZXBsYWNlICJ0aGVfcmVwb3NpdG9yeSIgd2l0aCB0aGUgYWN0dWFsIHJlcG8gaW5zdGFuY2UKKwkgKiB0aGF0IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gImlzdGF0ZSIuCisJICovCisJdHJhY2UyX3JlZ2lvbl9lbnRlcl9wcmludGYoImluZGV4IiwgImRvX3dyaXRlX2luZGV4IiwgdGhlX3JlcG9zaXRvcnksCisJCQkJICAgIiVzIiwgbG9jay0+dGVtcGZpbGUtPmZpbGVuYW1lLmJ1Zik7CisJcmV0ID0gZG9fd3JpdGVfaW5kZXgoaXN0YXRlLCBsb2NrLT50ZW1wZmlsZSwgMCk7CisJdHJhY2UyX3JlZ2lvbl9sZWF2ZV9wcmludGYoImluZGV4IiwgImRvX3dyaXRlX2luZGV4IiwgdGhlX3JlcG9zaXRvcnksCisJCQkJICAgIiVzIiwgbG9jay0+dGVtcGZpbGUtPmZpbGVuYW1lLmJ1Zik7CisKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCWlmIChmbGFncyAmIENPTU1JVF9MT0NLKQotCQlyZXR1cm4gY29tbWl0X2xvY2tlZF9pbmRleChsb2NrKTsKLQlyZXR1cm4gY2xvc2VfbG9ja19maWxlX2dlbnRseShsb2NrKTsKKwkJcmV0ID0gY29tbWl0X2xvY2tlZF9pbmRleChsb2NrKTsKKwllbHNlCisJCXJldCA9IGNsb3NlX2xvY2tfZmlsZV9nZW50bHkobG9jayk7CisKKwlydW5faG9va19sZShOVUxMLCAicG9zdC1pbmRleC1jaGFuZ2UiLAorCQkJaXN0YXRlLT51cGRhdGVkX3dvcmtkaXIgPyAiMSIgOiAiMCIsCisJCQlpc3RhdGUtPnVwZGF0ZWRfc2tpcHdvcmt0cmVlID8gIjEiIDogIjAiLCBOVUxMKTsKKwlpc3RhdGUtPnVwZGF0ZWRfd29ya2RpciA9IDA7CisJaXN0YXRlLT51cGRhdGVkX3NraXB3b3JrdHJlZSA9IDA7CisKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IHdyaXRlX3NwbGl0X2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLApAQCAtMzEwMiwxMiArMzE2NSwxOCBAQAogCWludCByZXQ7CiAKIAltb3ZlX2NhY2hlX3RvX2Jhc2VfaW5kZXgoaXN0YXRlKTsKKworCXRyYWNlMl9yZWdpb25fZW50ZXJfcHJpbnRmKCJpbmRleCIsICJzaGFyZWQvZG9fd3JpdGVfaW5kZXgiLAorCQkJCSAgIHRoZV9yZXBvc2l0b3J5LCAiJXMiLCAoKnRlbXApLT5maWxlbmFtZS5idWYpOwogCXJldCA9IGRvX3dyaXRlX2luZGV4KHNpLT5iYXNlLCAqdGVtcCwgMSk7CisJdHJhY2UyX3JlZ2lvbl9sZWF2ZV9wcmludGYoImluZGV4IiwgInNoYXJlZC9kb193cml0ZV9pbmRleCIsCisJCQkJICAgdGhlX3JlcG9zaXRvcnksICIlcyIsICgqdGVtcCktPmZpbGVuYW1lLmJ1Zik7CisKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCXJldCA9IGFkanVzdF9zaGFyZWRfcGVybShnZXRfdGVtcGZpbGVfcGF0aCgqdGVtcCkpOwogCWlmIChyZXQpIHsKLQkJZXJyb3IoImNhbm5vdCBmaXggcGVybWlzc2lvbiBiaXRzIG9uICVzIiwgZ2V0X3RlbXBmaWxlX3BhdGgoKnRlbXApKTsKKwkJZXJyb3IoXygiY2Fubm90IGZpeCBwZXJtaXNzaW9uIGJpdHMgb24gJyVzJyIpLCBnZXRfdGVtcGZpbGVfcGF0aCgqdGVtcCkpOwogCQlyZXR1cm4gcmV0OwogCX0KIAlyZXQgPSByZW5hbWVfdGVtcGZpbGUodGVtcCwKQEAgLTMxNTcsNyArMzIyNiw3IEBACiAJc3RydWN0IHNwbGl0X2luZGV4ICpzaSA9IGlzdGF0ZS0+c3BsaXRfaW5kZXg7CiAKIAlpZiAoZ2l0X2Vudl9ib29sKCJHSVRfVEVTVF9DSEVDS19DQUNIRV9UUkVFIiwgMCkpCi0JCWNhY2hlX3RyZWVfdmVyaWZ5KGlzdGF0ZSk7CisJCWNhY2hlX3RyZWVfdmVyaWZ5KHRoZV9yZXBvc2l0b3J5LCBpc3RhdGUpOwogCiAJaWYgKChmbGFncyAmIFNLSVBfSUZfVU5DSEFOR0VEKSAmJiAhaXN0YXRlLT5jYWNoZV9jaGFuZ2VkKSB7CiAJCWlmIChmbGFncyAmIENPTU1JVF9MT0NLKQpAQCAtMzIxMSw3ICszMjgwLDcgQEAKIAlyZXQgPSB3cml0ZV9zcGxpdF9pbmRleChpc3RhdGUsIGxvY2ssIGZsYWdzKTsKIAogCS8qIEZyZXNoZW4gdGhlIHNoYXJlZCBpbmRleCBvbmx5IGlmIHRoZSBzcGxpdC1pbmRleCB3YXMgd3JpdHRlbiAqLwotCWlmICghcmV0ICYmICFuZXdfc2hhcmVkX2luZGV4KSB7CisJaWYgKCFyZXQgJiYgIW5ld19zaGFyZWRfaW5kZXggJiYgIWlzX251bGxfb2lkKCZzaS0+YmFzZV9vaWQpKSB7CiAJCWNvbnN0IGNoYXIgKnNoYXJlZF9pbmRleCA9IGdpdF9wYXRoKCJzaGFyZWRpbmRleC4lcyIsCiAJCQkJCQkgICAgb2lkX3RvX2hleCgmc2ktPmJhc2Vfb2lkKSk7CiAJCWZyZXNoZW5fc2hhcmVkX2luZGV4KHNoYXJlZF9pbmRleCwgMSk7CkBAIC0zMjMzLDEyICszMzAyLDE0IEBACiAgKiBzdGF0ZSBjYW4gY2FsbCB0aGlzIGFuZCBjaGVjayBpdHMgcmV0dXJuIHZhbHVlLCBpbnN0ZWFkIG9mIGNhbGxpbmcKICAqIHJlYWRfY2FjaGUoKS4KICAqLwotaW50IHJlYWRfaW5kZXhfdW5tZXJnZWQoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpCitpbnQgcmVwb19yZWFkX2luZGV4X3VubWVyZ2VkKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvKQogeworCXN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlOwogCWludCBpOwogCWludCB1bm1lcmdlZCA9IDA7CiAKLQlyZWFkX2luZGV4KGlzdGF0ZSk7CisJcmVwb19yZWFkX2luZGV4KHJlcG8pOworCWlzdGF0ZSA9IHJlcG8tPmluZGV4OwogCWZvciAoaSA9IDA7IGkgPCBpc3RhdGUtPmNhY2hlX25yOyBpKyspIHsKIAkJc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGlzdGF0ZS0+Y2FjaGVbaV07CiAJCXN0cnVjdCBjYWNoZV9lbnRyeSAqbmV3X2NlOwpAQCAtMzI1NCw3ICszMzI1LDcgQEAKIAkJbmV3X2NlLT5jZV9uYW1lbGVuID0gbGVuOwogCQluZXdfY2UtPmNlX21vZGUgPSBjZS0+Y2VfbW9kZTsKIAkJaWYgKGFkZF9pbmRleF9lbnRyeShpc3RhdGUsIG5ld19jZSwgQUREX0NBQ0hFX1NLSVBfREZDSEVDSykpCi0JCQlyZXR1cm4gZXJyb3IoIiVzOiBjYW5ub3QgZHJvcCB0byBzdGFnZSAjMCIsCisJCQlyZXR1cm4gZXJyb3IoXygiJXM6IGNhbm5vdCBkcm9wIHRvIHN0YWdlICMwIiksCiAJCQkJICAgICBuZXdfY2UtPm5hbWUpOwogCX0KIAlyZXR1cm4gdW5tZXJnZWQ7CkBAIC0zNTA1LDcxICszNTc2LDcxIEBACiAKIHN0YXRpYyBzdHJ1Y3QgaW5kZXhfZW50cnlfb2Zmc2V0X3RhYmxlICpyZWFkX2llb3RfZXh0ZW5zaW9uKGNvbnN0IGNoYXIgKm1tYXAsIHNpemVfdCBtbWFwX3NpemUsIHNpemVfdCBvZmZzZXQpCiB7Ci0gICAgICAgY29uc3QgY2hhciAqaW5kZXggPSBOVUxMOwotICAgICAgIHVpbnQzMl90IGV4dHNpemUsIGV4dF92ZXJzaW9uOwotICAgICAgIHN0cnVjdCBpbmRleF9lbnRyeV9vZmZzZXRfdGFibGUgKmllb3Q7Ci0gICAgICAgaW50IGksIG5yOworCWNvbnN0IGNoYXIgKmluZGV4ID0gTlVMTDsKKwl1aW50MzJfdCBleHRzaXplLCBleHRfdmVyc2lvbjsKKwlzdHJ1Y3QgaW5kZXhfZW50cnlfb2Zmc2V0X3RhYmxlICppZW90OworCWludCBpLCBucjsKIAotICAgICAgIC8qIGZpbmQgdGhlIElFT1QgZXh0ZW5zaW9uICovCi0gICAgICAgaWYgKCFvZmZzZXQpCi0JICAgICAgIHJldHVybiBOVUxMOwotICAgICAgIHdoaWxlIChvZmZzZXQgPD0gbW1hcF9zaXplIC0gdGhlX2hhc2hfYWxnby0+cmF3c3ogLSA4KSB7Ci0JICAgICAgIGV4dHNpemUgPSBnZXRfYmUzMihtbWFwICsgb2Zmc2V0ICsgNCk7Ci0JICAgICAgIGlmIChDQUNIRV9FWFQoKG1tYXAgKyBvZmZzZXQpKSA9PSBDQUNIRV9FWFRfSU5ERVhFTlRSWU9GRlNFVFRBQkxFKSB7Ci0JCSAgICAgICBpbmRleCA9IG1tYXAgKyBvZmZzZXQgKyA0ICsgNDsKLQkJICAgICAgIGJyZWFrOwotCSAgICAgICB9Ci0JICAgICAgIG9mZnNldCArPSA4OwotCSAgICAgICBvZmZzZXQgKz0gZXh0c2l6ZTsKLSAgICAgICB9Ci0gICAgICAgaWYgKCFpbmRleCkKLQkgICAgICAgcmV0dXJuIE5VTEw7CisJLyogZmluZCB0aGUgSUVPVCBleHRlbnNpb24gKi8KKwlpZiAoIW9mZnNldCkKKwkJcmV0dXJuIE5VTEw7CisJd2hpbGUgKG9mZnNldCA8PSBtbWFwX3NpemUgLSB0aGVfaGFzaF9hbGdvLT5yYXdzeiAtIDgpIHsKKwkJZXh0c2l6ZSA9IGdldF9iZTMyKG1tYXAgKyBvZmZzZXQgKyA0KTsKKwkJaWYgKENBQ0hFX0VYVCgobW1hcCArIG9mZnNldCkpID09IENBQ0hFX0VYVF9JTkRFWEVOVFJZT0ZGU0VUVEFCTEUpIHsKKwkJCWluZGV4ID0gbW1hcCArIG9mZnNldCArIDQgKyA0OworCQkJYnJlYWs7CisJCX0KKwkJb2Zmc2V0ICs9IDg7CisJCW9mZnNldCArPSBleHRzaXplOworCX0KKwlpZiAoIWluZGV4KQorCQlyZXR1cm4gTlVMTDsKIAotICAgICAgIC8qIHZhbGlkYXRlIHRoZSB2ZXJzaW9uIGlzIElFT1RfVkVSU0lPTiAqLwotICAgICAgIGV4dF92ZXJzaW9uID0gZ2V0X2JlMzIoaW5kZXgpOwotICAgICAgIGlmIChleHRfdmVyc2lvbiAhPSBJRU9UX1ZFUlNJT04pIHsKLQkgICAgICAgZXJyb3IoImludmFsaWQgSUVPVCB2ZXJzaW9uICVkIiwgZXh0X3ZlcnNpb24pOwotCSAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICB9Ci0gICAgICAgaW5kZXggKz0gc2l6ZW9mKHVpbnQzMl90KTsKKwkvKiB2YWxpZGF0ZSB0aGUgdmVyc2lvbiBpcyBJRU9UX1ZFUlNJT04gKi8KKwlleHRfdmVyc2lvbiA9IGdldF9iZTMyKGluZGV4KTsKKwlpZiAoZXh0X3ZlcnNpb24gIT0gSUVPVF9WRVJTSU9OKSB7CisJCWVycm9yKCJpbnZhbGlkIElFT1QgdmVyc2lvbiAlZCIsIGV4dF92ZXJzaW9uKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCWluZGV4ICs9IHNpemVvZih1aW50MzJfdCk7CiAKLSAgICAgICAvKiBleHRlbnNpb24gc2l6ZSAtIHZlcnNpb24gYnl0ZXMgLyBieXRlcyBwZXIgZW50cnkgKi8KLSAgICAgICBuciA9IChleHRzaXplIC0gc2l6ZW9mKHVpbnQzMl90KSkgLyAoc2l6ZW9mKHVpbnQzMl90KSArIHNpemVvZih1aW50MzJfdCkpOwotICAgICAgIGlmICghbnIpIHsKLQkgICAgICAgZXJyb3IoImludmFsaWQgbnVtYmVyIG9mIElFT1QgZW50cmllcyAlZCIsIG5yKTsKLQkgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgfQotICAgICAgIGllb3QgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgaW5kZXhfZW50cnlfb2Zmc2V0X3RhYmxlKQotCSAgICAgICArIChuciAqIHNpemVvZihzdHJ1Y3QgaW5kZXhfZW50cnlfb2Zmc2V0KSkpOwotICAgICAgIGllb3QtPm5yID0gbnI7Ci0gICAgICAgZm9yIChpID0gMDsgaSA8IG5yOyBpKyspIHsKLQkgICAgICAgaWVvdC0+ZW50cmllc1tpXS5vZmZzZXQgPSBnZXRfYmUzMihpbmRleCk7Ci0JICAgICAgIGluZGV4ICs9IHNpemVvZih1aW50MzJfdCk7Ci0JICAgICAgIGllb3QtPmVudHJpZXNbaV0ubnIgPSBnZXRfYmUzMihpbmRleCk7Ci0JICAgICAgIGluZGV4ICs9IHNpemVvZih1aW50MzJfdCk7Ci0gICAgICAgfQorCS8qIGV4dGVuc2lvbiBzaXplIC0gdmVyc2lvbiBieXRlcyAvIGJ5dGVzIHBlciBlbnRyeSAqLworCW5yID0gKGV4dHNpemUgLSBzaXplb2YodWludDMyX3QpKSAvIChzaXplb2YodWludDMyX3QpICsgc2l6ZW9mKHVpbnQzMl90KSk7CisJaWYgKCFucikgeworCQllcnJvcigiaW52YWxpZCBudW1iZXIgb2YgSUVPVCBlbnRyaWVzICVkIiwgbnIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJaWVvdCA9IHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBpbmRleF9lbnRyeV9vZmZzZXRfdGFibGUpCisJCSAgICAgICArIChuciAqIHNpemVvZihzdHJ1Y3QgaW5kZXhfZW50cnlfb2Zmc2V0KSkpOworCWllb3QtPm5yID0gbnI7CisJZm9yIChpID0gMDsgaSA8IG5yOyBpKyspIHsKKwkJaWVvdC0+ZW50cmllc1tpXS5vZmZzZXQgPSBnZXRfYmUzMihpbmRleCk7CisJCWluZGV4ICs9IHNpemVvZih1aW50MzJfdCk7CisJCWllb3QtPmVudHJpZXNbaV0ubnIgPSBnZXRfYmUzMihpbmRleCk7CisJCWluZGV4ICs9IHNpemVvZih1aW50MzJfdCk7CisJfQogCi0gICAgICAgcmV0dXJuIGllb3Q7CisJcmV0dXJuIGllb3Q7CiB9CiAKIHN0YXRpYyB2b2lkIHdyaXRlX2llb3RfZXh0ZW5zaW9uKHN0cnVjdCBzdHJidWYgKnNiLCBzdHJ1Y3QgaW5kZXhfZW50cnlfb2Zmc2V0X3RhYmxlICppZW90KQogewotICAgICAgIHVpbnQzMl90IGJ1ZmZlcjsKLSAgICAgICBpbnQgaTsKKwl1aW50MzJfdCBidWZmZXI7CisJaW50IGk7CiAKLSAgICAgICAvKiB2ZXJzaW9uICovCi0gICAgICAgcHV0X2JlMzIoJmJ1ZmZlciwgSUVPVF9WRVJTSU9OKTsKLSAgICAgICBzdHJidWZfYWRkKHNiLCAmYnVmZmVyLCBzaXplb2YodWludDMyX3QpKTsKKwkvKiB2ZXJzaW9uICovCisJcHV0X2JlMzIoJmJ1ZmZlciwgSUVPVF9WRVJTSU9OKTsKKwlzdHJidWZfYWRkKHNiLCAmYnVmZmVyLCBzaXplb2YodWludDMyX3QpKTsKIAotICAgICAgIC8qIGllb3QgKi8KLSAgICAgICBmb3IgKGkgPSAwOyBpIDwgaWVvdC0+bnI7IGkrKykgeworCS8qIGllb3QgKi8KKwlmb3IgKGkgPSAwOyBpIDwgaWVvdC0+bnI7IGkrKykgewogCi0JICAgICAgIC8qIG9mZnNldCAqLwotCSAgICAgICBwdXRfYmUzMigmYnVmZmVyLCBpZW90LT5lbnRyaWVzW2ldLm9mZnNldCk7Ci0JICAgICAgIHN0cmJ1Zl9hZGQoc2IsICZidWZmZXIsIHNpemVvZih1aW50MzJfdCkpOworCQkvKiBvZmZzZXQgKi8KKwkJcHV0X2JlMzIoJmJ1ZmZlciwgaWVvdC0+ZW50cmllc1tpXS5vZmZzZXQpOworCQlzdHJidWZfYWRkKHNiLCAmYnVmZmVyLCBzaXplb2YodWludDMyX3QpKTsKIAotCSAgICAgICAvKiBjb3VudCAqLwotCSAgICAgICBwdXRfYmUzMigmYnVmZmVyLCBpZW90LT5lbnRyaWVzW2ldLm5yKTsKLQkgICAgICAgc3RyYnVmX2FkZChzYiwgJmJ1ZmZlciwgc2l6ZW9mKHVpbnQzMl90KSk7Ci0gICAgICAgfQorCQkvKiBjb3VudCAqLworCQlwdXRfYmUzMigmYnVmZmVyLCBpZW90LT5lbnRyaWVzW2ldLm5yKTsKKwkJc3RyYnVmX2FkZChzYiwgJmJ1ZmZlciwgc2l6ZW9mKHVpbnQzMl90KSk7CisJfQogfQpkaWZmIC0tZ2l0IGEvcmViYXNlLWludGVyYWN0aXZlLmMgYi9yZWJhc2UtaW50ZXJhY3RpdmUuYwppbmRleCA3OGYzMjYzLi43NjI4NTNiIDEwMDY0NAotLS0gYS9yZWJhc2UtaW50ZXJhY3RpdmUuYworKysgYi9yZWJhc2UtaW50ZXJhY3RpdmUuYwpAQCAtMSwxMCArMSw0MiBAQAogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAiY29tbWl0LmgiCi0jaW5jbHVkZSAicmViYXNlLWludGVyYWN0aXZlLmgiCiAjaW5jbHVkZSAic2VxdWVuY2VyLmgiCisjaW5jbHVkZSAicmViYXNlLWludGVyYWN0aXZlLmgiCiAjaW5jbHVkZSAic3RyYnVmLmgiCisjaW5jbHVkZSAiY29tbWl0LXNsYWIuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJkaXIuaCIKIAotdm9pZCBhcHBlbmRfdG9kb19oZWxwKHVuc2lnbmVkIGVkaXRfdG9kbywgdW5zaWduZWQga2VlcF9lbXB0eSwKK3N0YXRpYyBjb25zdCBjaGFyIGVkaXRfdG9kb19saXN0X2FkdmljZVtdID0KK05fKCJZb3UgY2FuIGZpeCB0aGlzIHdpdGggJ2dpdCByZWJhc2UgLS1lZGl0LXRvZG8nICIKKyJhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScuXG4iCisiT3IgeW91IGNhbiBhYm9ydCB0aGUgcmViYXNlIHdpdGggJ2dpdCByZWJhc2UiCisiIC0tYWJvcnQnLlxuIik7CisKK2VudW0gbWlzc2luZ19jb21taXRfY2hlY2tfbGV2ZWwgeworCU1JU1NJTkdfQ09NTUlUX0NIRUNLX0lHTk9SRSA9IDAsCisJTUlTU0lOR19DT01NSVRfQ0hFQ0tfV0FSTiwKKwlNSVNTSU5HX0NPTU1JVF9DSEVDS19FUlJPUgorfTsKKworc3RhdGljIGVudW0gbWlzc2luZ19jb21taXRfY2hlY2tfbGV2ZWwgZ2V0X21pc3NpbmdfY29tbWl0X2NoZWNrX2xldmVsKHZvaWQpCit7CisJY29uc3QgY2hhciAqdmFsdWU7CisKKwlpZiAoZ2l0X2NvbmZpZ19nZXRfdmFsdWUoInJlYmFzZS5taXNzaW5nY29tbWl0c2NoZWNrIiwgJnZhbHVlKSB8fAorCQkJIXN0cmNhc2VjbXAoImlnbm9yZSIsIHZhbHVlKSkKKwkJcmV0dXJuIE1JU1NJTkdfQ09NTUlUX0NIRUNLX0lHTk9SRTsKKwlpZiAoIXN0cmNhc2VjbXAoIndhcm4iLCB2YWx1ZSkpCisJCXJldHVybiBNSVNTSU5HX0NPTU1JVF9DSEVDS19XQVJOOworCWlmICghc3RyY2FzZWNtcCgiZXJyb3IiLCB2YWx1ZSkpCisJCXJldHVybiBNSVNTSU5HX0NPTU1JVF9DSEVDS19FUlJPUjsKKwl3YXJuaW5nKF8oInVucmVjb2duaXplZCBzZXR0aW5nICVzIGZvciBvcHRpb24gIgorCQkgICJyZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjay4gSWdub3JpbmcuIiksIHZhbHVlKTsKKwlyZXR1cm4gTUlTU0lOR19DT01NSVRfQ0hFQ0tfSUdOT1JFOworfQorCit2b2lkIGFwcGVuZF90b2RvX2hlbHAoaW50IGNvbW1hbmRfY291bnQsCisJCSAgICAgIGNvbnN0IGNoYXIgKnNob3J0cmV2aXNpb25zLCBjb25zdCBjaGFyICpzaG9ydG9udG8sCiAJCSAgICAgIHN0cnVjdCBzdHJidWYgKmJ1ZikKIHsKIAljb25zdCBjaGFyICptc2cgPSBfKCJcbkNvbW1hbmRzOlxuIgpAQCAtMjQsNiArNTYsMTUgQEAKICIuICAgICAgIHNwZWNpZmllZCkuIFVzZSAtYyA8Y29tbWl0PiB0byByZXdvcmQgdGhlIGNvbW1pdCBtZXNzYWdlLlxuIgogIlxuIgogIlRoZXNlIGxpbmVzIGNhbiBiZSByZS1vcmRlcmVkOyB0aGV5IGFyZSBleGVjdXRlZCBmcm9tIHRvcCB0byBib3R0b20uXG4iKTsKKwl1bnNpZ25lZCBlZGl0X3RvZG8gPSAhKHNob3J0cmV2aXNpb25zICYmIHNob3J0b250byk7CisKKwlpZiAoIWVkaXRfdG9kbykgeworCQlzdHJidWZfYWRkY2goYnVmLCAnXG4nKTsKKwkJc3RyYnVmX2NvbW1lbnRlZF9hZGRmKGJ1ZiwgUV8oIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kKSIsCisJCQkJCSAgICAgICJSZWJhc2UgJXMgb250byAlcyAoJWQgY29tbWFuZHMpIiwKKwkJCQkJICAgICAgY29tbWFuZF9jb3VudCksCisJCQkJICAgICAgc2hvcnRyZXZpc2lvbnMsIHNob3J0b250bywgY29tbWFuZF9jb3VudCk7CisJfQogCiAJc3RyYnVmX2FkZF9jb21tZW50ZWRfbGluZXMoYnVmLCBtc2csIHN0cmxlbihtc2cpKTsKIApAQCAtNDYsNDYgKzg3LDE2OCBAQAogCQkJInRoZSByZWJhc2Ugd2lsbCBiZSBhYm9ydGVkLlxuXG4iKTsKIAogCXN0cmJ1Zl9hZGRfY29tbWVudGVkX2xpbmVzKGJ1ZiwgbXNnLCBzdHJsZW4obXNnKSk7Ci0KLQlpZiAoIWtlZXBfZW1wdHkpIHsKLQkJbXNnID0gXygiTm90ZSB0aGF0IGVtcHR5IGNvbW1pdHMgYXJlIGNvbW1lbnRlZCBvdXQiKTsKLQkJc3RyYnVmX2FkZF9jb21tZW50ZWRfbGluZXMoYnVmLCBtc2csIHN0cmxlbihtc2cpKTsKLQl9CiB9CiAKLWludCBlZGl0X3RvZG9fbGlzdCh1bnNpZ25lZCBmbGFncykKK2ludCBlZGl0X3RvZG9fbGlzdChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHRvZG9fbGlzdCAqdG9kb19saXN0LAorCQkgICBzdHJ1Y3QgdG9kb19saXN0ICpuZXdfdG9kbywgY29uc3QgY2hhciAqc2hvcnRyZXZpc2lvbnMsCisJCSAgIGNvbnN0IGNoYXIgKnNob3J0b250bywgdW5zaWduZWQgZmxhZ3MpCiB7Ci0Jc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQljb25zdCBjaGFyICp0b2RvX2ZpbGUgPSByZWJhc2VfcGF0aF90b2RvKCk7CisJY29uc3QgY2hhciAqdG9kb19maWxlID0gcmViYXNlX3BhdGhfdG9kbygpLAorCQkqdG9kb19iYWNrdXAgPSByZWJhc2VfcGF0aF90b2RvX2JhY2t1cCgpOworCXVuc2lnbmVkIGluaXRpYWwgPSBzaG9ydHJldmlzaW9ucyAmJiBzaG9ydG9udG87CisJaW50IGluY29ycmVjdCA9IDA7CiAKLQlpZiAoc3RyYnVmX3JlYWRfZmlsZSgmYnVmLCB0b2RvX2ZpbGUsIDApIDwgMCkKLQkJcmV0dXJuIGVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCByZWFkICclcycuIiksIHRvZG9fZmlsZSk7CisJLyogSWYgdGhlIHVzZXIgaXMgZWRpdGluZyB0aGUgdG9kbyBsaXN0LCB3ZSBmaXJzdCB0cnkgdG8gcGFyc2UKKwkgKiBpdC4gIElmIHRoZXJlIGlzIGFuIGVycm9yLCB3ZSBkbyBub3QgcmV0dXJuLCBiZWNhdXNlIHRoZSB1c2VyCisJICogbWlnaHQgd2FudCB0byBmaXggaXQgaW4gdGhlIGZpcnN0IHBsYWNlLiAqLworCWlmICghaW5pdGlhbCkKKwkJaW5jb3JyZWN0ID0gdG9kb19saXN0X3BhcnNlX2luc25fYnVmZmVyKHIsIHRvZG9fbGlzdC0+YnVmLmJ1ZiwgdG9kb19saXN0KSB8CisJCQlmaWxlX2V4aXN0cyhyZWJhc2VfcGF0aF9kcm9wcGVkKCkpOwogCi0Jc3RyYnVmX3N0cmlwc3BhY2UoJmJ1ZiwgMSk7Ci0JaWYgKHdyaXRlX21lc3NhZ2UoYnVmLmJ1ZiwgYnVmLmxlbiwgdG9kb19maWxlLCAwKSkgewotCQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKLQkJcmV0dXJuIC0xOworCWlmICh0b2RvX2xpc3Rfd3JpdGVfdG9fZmlsZShyLCB0b2RvX2xpc3QsIHRvZG9fZmlsZSwgc2hvcnRyZXZpc2lvbnMsIHNob3J0b250bywKKwkJCQkgICAgLTEsIGZsYWdzIHwgVE9ET19MSVNUX1NIT1JURU5fSURTIHwgVE9ET19MSVNUX0FQUEVORF9UT0RPX0hFTFApKQorCQlyZXR1cm4gZXJyb3JfZXJybm8oXygiY291bGQgbm90IHdyaXRlICclcyciKSwgdG9kb19maWxlKTsKKworCWlmICghaW5jb3JyZWN0ICYmCisJICAgIHRvZG9fbGlzdF93cml0ZV90b19maWxlKHIsIHRvZG9fbGlzdCwgdG9kb19iYWNrdXAsCisJCQkJICAgIHNob3J0cmV2aXNpb25zLCBzaG9ydG9udG8sIC0xLAorCQkJCSAgICAoZmxhZ3MgfCBUT0RPX0xJU1RfQVBQRU5EX1RPRE9fSEVMUCkgJiB+VE9ET19MSVNUX1NIT1JURU5fSURTKSA8IDApCisJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3Qgd3JpdGUgJyVzJy4iKSwgcmViYXNlX3BhdGhfdG9kb19iYWNrdXAoKSk7CisKKwlpZiAobGF1bmNoX3NlcXVlbmNlX2VkaXRvcih0b2RvX2ZpbGUsICZuZXdfdG9kby0+YnVmLCBOVUxMKSkKKwkJcmV0dXJuIC0yOworCisJc3RyYnVmX3N0cmlwc3BhY2UoJm5ld190b2RvLT5idWYsIDEpOworCWlmIChpbml0aWFsICYmIG5ld190b2RvLT5idWYubGVuID09IDApCisJCXJldHVybiAtMzsKKworCWlmICh0b2RvX2xpc3RfcGFyc2VfaW5zbl9idWZmZXIociwgbmV3X3RvZG8tPmJ1Zi5idWYsIG5ld190b2RvKSkgeworCQlmcHJpbnRmKHN0ZGVyciwgXyhlZGl0X3RvZG9fbGlzdF9hZHZpY2UpKTsKKwkJcmV0dXJuIC00OwogCX0KIAotCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOworCWlmIChpbmNvcnJlY3QpIHsKKwkJaWYgKHRvZG9fbGlzdF9jaGVja19hZ2FpbnN0X2JhY2t1cChyLCBuZXdfdG9kbykpIHsKKwkJCXdyaXRlX2ZpbGUocmViYXNlX3BhdGhfZHJvcHBlZCgpLCAiJXMiLCAiIik7CisJCQlyZXR1cm4gLTQ7CisJCX0KIAotCXRyYW5zZm9ybV90b2RvcyhmbGFncyB8IFRPRE9fTElTVF9TSE9SVEVOX0lEUyk7Ci0KLQlpZiAoc3RyYnVmX3JlYWRfZmlsZSgmYnVmLCB0b2RvX2ZpbGUsIDApIDwgMCkKLQkJcmV0dXJuIGVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCByZWFkICclcycuIiksIHRvZG9fZmlsZSk7Ci0KLQlhcHBlbmRfdG9kb19oZWxwKDEsIDAsICZidWYpOwotCWlmICh3cml0ZV9tZXNzYWdlKGJ1Zi5idWYsIGJ1Zi5sZW4sIHRvZG9fZmlsZSwgMCkpIHsKLQkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7Ci0JCXJldHVybiAtMTsKKwkJaWYgKGluY29ycmVjdCA+IDApCisJCQl1bmxpbmsocmViYXNlX3BhdGhfZHJvcHBlZCgpKTsKKwl9IGVsc2UgaWYgKHRvZG9fbGlzdF9jaGVjayh0b2RvX2xpc3QsIG5ld190b2RvKSkgeworCQl3cml0ZV9maWxlKHJlYmFzZV9wYXRoX2Ryb3BwZWQoKSwgIiVzIiwgIiIpOworCQlyZXR1cm4gLTQ7CiAJfQogCi0Jc3RyYnVmX3JlbGVhc2UoJmJ1Zik7Ci0KLQlpZiAobGF1bmNoX3NlcXVlbmNlX2VkaXRvcih0b2RvX2ZpbGUsIE5VTEwsIE5VTEwpKQotCQlyZXR1cm4gLTE7Ci0KLQl0cmFuc2Zvcm1fdG9kb3MoZmxhZ3MgJiB+KFRPRE9fTElTVF9TSE9SVEVOX0lEUykpOwotCiAJcmV0dXJuIDA7CiB9CisKK2RlZmluZV9jb21taXRfc2xhYihjb21taXRfc2VlbiwgdW5zaWduZWQgY2hhcik7CisvKgorICogQ2hlY2sgaWYgdGhlIHVzZXIgZHJvcHBlZCBzb21lIGNvbW1pdHMgYnkgbWlzdGFrZQorICogQmVoYXZpb3VyIGRldGVybWluZWQgYnkgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2suCisgKiBDaGVjayBpZiB0aGVyZSBpcyBhbiB1bnJlY29nbml6ZWQgY29tbWFuZCBvciBhCisgKiBiYWQgU0hBLTEgaW4gYSBjb21tYW5kLgorICovCitpbnQgdG9kb19saXN0X2NoZWNrKHN0cnVjdCB0b2RvX2xpc3QgKm9sZF90b2RvLCBzdHJ1Y3QgdG9kb19saXN0ICpuZXdfdG9kbykKK3sKKwllbnVtIG1pc3NpbmdfY29tbWl0X2NoZWNrX2xldmVsIGNoZWNrX2xldmVsID0gZ2V0X21pc3NpbmdfY29tbWl0X2NoZWNrX2xldmVsKCk7CisJc3RydWN0IHN0cmJ1ZiBtaXNzaW5nID0gU1RSQlVGX0lOSVQ7CisJaW50IHJlcyA9IDAsIGk7CisJc3RydWN0IGNvbW1pdF9zZWVuIGNvbW1pdF9zZWVuOworCisJaW5pdF9jb21taXRfc2VlbigmY29tbWl0X3NlZW4pOworCisJaWYgKGNoZWNrX2xldmVsID09IE1JU1NJTkdfQ09NTUlUX0NIRUNLX0lHTk9SRSkKKwkJZ290byBsZWF2ZV9jaGVjazsKKworCS8qIE1hcmsgdGhlIGNvbW1pdHMgaW4gZ2l0LXJlYmFzZS10b2RvIGFzIHNlZW4gKi8KKwlmb3IgKGkgPSAwOyBpIDwgbmV3X3RvZG8tPm5yOyBpKyspIHsKKwkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gbmV3X3RvZG8tPml0ZW1zW2ldLmNvbW1pdDsKKwkJaWYgKGNvbW1pdCkKKwkJCSpjb21taXRfc2Vlbl9hdCgmY29tbWl0X3NlZW4sIGNvbW1pdCkgPSAxOworCX0KKworCS8qIEZpbmQgY29tbWl0cyBpbiBnaXQtcmViYXNlLXRvZG8uYmFja3VwIHlldCB1bnNlZW4gKi8KKwlmb3IgKGkgPSBvbGRfdG9kby0+bnIgLSAxOyBpID49IDA7IGktLSkgeworCQlzdHJ1Y3QgdG9kb19pdGVtICppdGVtID0gb2xkX3RvZG8tPml0ZW1zICsgaTsKKwkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gaXRlbS0+Y29tbWl0OworCQlpZiAoY29tbWl0ICYmICEqY29tbWl0X3NlZW5fYXQoJmNvbW1pdF9zZWVuLCBjb21taXQpKSB7CisJCQlzdHJidWZfYWRkZigmbWlzc2luZywgIiAtICVzICUuKnNcbiIsCisJCQkJICAgIGZpbmRfdW5pcXVlX2FiYnJldigmY29tbWl0LT5vYmplY3Qub2lkLCBERUZBVUxUX0FCQlJFViksCisJCQkJICAgIGl0ZW0tPmFyZ19sZW4sCisJCQkJICAgIHRvZG9faXRlbV9nZXRfYXJnKG9sZF90b2RvLCBpdGVtKSk7CisJCQkqY29tbWl0X3NlZW5fYXQoJmNvbW1pdF9zZWVuLCBjb21taXQpID0gMTsKKwkJfQorCX0KKworCS8qIFdhcm4gYWJvdXQgbWlzc2luZyBjb21taXRzICovCisJaWYgKCFtaXNzaW5nLmxlbikKKwkJZ290byBsZWF2ZV9jaGVjazsKKworCWlmIChjaGVja19sZXZlbCA9PSBNSVNTSU5HX0NPTU1JVF9DSEVDS19FUlJPUikKKwkJcmVzID0gMTsKKworCWZwcmludGYoc3RkZXJyLAorCQlfKCJXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS5cbiIKKwkJIkRyb3BwZWQgY29tbWl0cyAobmV3ZXIgdG8gb2xkZXIpOlxuIikpOworCisJLyogTWFrZSB0aGUgbGlzdCB1c2VyLWZyaWVuZGx5IGFuZCBkaXNwbGF5ICovCisJZnB1dHMobWlzc2luZy5idWYsIHN0ZGVycik7CisJc3RyYnVmX3JlbGVhc2UoJm1pc3NpbmcpOworCisJZnByaW50ZihzdGRlcnIsIF8oIlRvIGF2b2lkIHRoaXMgbWVzc2FnZSwgdXNlIFwiZHJvcFwiIHRvICIKKwkJImV4cGxpY2l0bHkgcmVtb3ZlIGEgY29tbWl0LlxuXG4iCisJCSJVc2UgJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHRvIGNoYW5nZSAiCisJCSJ0aGUgbGV2ZWwgb2Ygd2FybmluZ3MuXG4iCisJCSJUaGUgcG9zc2libGUgYmVoYXZpb3VycyBhcmU6IGlnbm9yZSwgd2FybiwgZXJyb3IuXG5cbiIpKTsKKworCWZwcmludGYoc3RkZXJyLCBfKGVkaXRfdG9kb19saXN0X2FkdmljZSkpOworCitsZWF2ZV9jaGVjazoKKwljbGVhcl9jb21taXRfc2VlbigmY29tbWl0X3NlZW4pOworCXJldHVybiByZXM7Cit9CisKK2ludCB0b2RvX2xpc3RfY2hlY2tfYWdhaW5zdF9iYWNrdXAoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCB0b2RvX2xpc3QgKnRvZG9fbGlzdCkKK3sKKwlzdHJ1Y3QgdG9kb19saXN0IGJhY2t1cCA9IFRPRE9fTElTVF9JTklUOworCWludCByZXMgPSAwOworCisJaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUoJmJhY2t1cC5idWYsIHJlYmFzZV9wYXRoX3RvZG9fYmFja3VwKCksIDApID4gMCkgeworCQl0b2RvX2xpc3RfcGFyc2VfaW5zbl9idWZmZXIociwgYmFja3VwLmJ1Zi5idWYsICZiYWNrdXApOworCQlyZXMgPSB0b2RvX2xpc3RfY2hlY2soJmJhY2t1cCwgdG9kb19saXN0KTsKKwl9CisKKwl0b2RvX2xpc3RfcmVsZWFzZSgmYmFja3VwKTsKKwlyZXR1cm4gcmVzOworfQorCitpbnQgY2hlY2tfdG9kb19saXN0X2Zyb21fZmlsZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcikKK3sKKwlzdHJ1Y3QgdG9kb19saXN0IG9sZF90b2RvID0gVE9ET19MSVNUX0lOSVQsIG5ld190b2RvID0gVE9ET19MSVNUX0lOSVQ7CisJaW50IHJlcyA9IDA7CisKKwlpZiAoc3RyYnVmX3JlYWRfZmlsZSgmbmV3X3RvZG8uYnVmLCByZWJhc2VfcGF0aF90b2RvKCksIDApIDwgMCkgeworCQlyZXMgPSBlcnJvcihfKCJjb3VsZCBub3QgcmVhZCAnJXMnLiIpLCByZWJhc2VfcGF0aF90b2RvKCkpOworCQlnb3RvIG91dDsKKwl9CisKKwlpZiAoc3RyYnVmX3JlYWRfZmlsZSgmb2xkX3RvZG8uYnVmLCByZWJhc2VfcGF0aF90b2RvX2JhY2t1cCgpLCAwKSA8IDApIHsKKwkJcmVzID0gZXJyb3IoXygiY291bGQgbm90IHJlYWQgJyVzJy4iKSwgcmViYXNlX3BhdGhfdG9kb19iYWNrdXAoKSk7CisJCWdvdG8gb3V0OworCX0KKworCXJlcyA9IHRvZG9fbGlzdF9wYXJzZV9pbnNuX2J1ZmZlcihyLCBvbGRfdG9kby5idWYuYnVmLCAmb2xkX3RvZG8pOworCWlmICghcmVzKQorCQlyZXMgPSB0b2RvX2xpc3RfcGFyc2VfaW5zbl9idWZmZXIociwgbmV3X3RvZG8uYnVmLmJ1ZiwgJm5ld190b2RvKTsKKwlpZiAocmVzKQorCQlmcHJpbnRmKHN0ZGVyciwgXyhlZGl0X3RvZG9fbGlzdF9hZHZpY2UpKTsKKwlpZiAoIXJlcykKKwkJcmVzID0gdG9kb19saXN0X2NoZWNrKCZvbGRfdG9kbywgJm5ld190b2RvKTsKK291dDoKKwl0b2RvX2xpc3RfcmVsZWFzZSgmb2xkX3RvZG8pOworCXRvZG9fbGlzdF9yZWxlYXNlKCZuZXdfdG9kbyk7CisKKwlyZXR1cm4gcmVzOworfQpkaWZmIC0tZ2l0IGEvcmViYXNlLWludGVyYWN0aXZlLmggYi9yZWJhc2UtaW50ZXJhY3RpdmUuaAppbmRleCA5NzFkYTAzLi5kYzJjZjBlIDEwMDY0NAotLS0gYS9yZWJhc2UtaW50ZXJhY3RpdmUuaAorKysgYi9yZWJhc2UtaW50ZXJhY3RpdmUuaApAQCAtMSw4ICsxLDIxIEBACiAjaWZuZGVmIFJFQkFTRV9JTlRFUkFDVElWRV9ICiAjZGVmaW5lIFJFQkFTRV9JTlRFUkFDVElWRV9ICiAKLXZvaWQgYXBwZW5kX3RvZG9faGVscCh1bnNpZ25lZCBlZGl0X3RvZG8sIHVuc2lnbmVkIGtlZXBfZW1wdHksCitzdHJ1Y3Qgc3RyYnVmOworc3RydWN0IHJlcG9zaXRvcnk7CitzdHJ1Y3QgdG9kb19saXN0OworCit2b2lkIGFwcGVuZF90b2RvX2hlbHAoaW50IGNvbW1hbmRfY291bnQsCisJCSAgICAgIGNvbnN0IGNoYXIgKnNob3J0cmV2aXNpb25zLCBjb25zdCBjaGFyICpzaG9ydG9udG8sCiAJCSAgICAgIHN0cnVjdCBzdHJidWYgKmJ1Zik7Ci1pbnQgZWRpdF90b2RvX2xpc3QodW5zaWduZWQgZmxhZ3MpOworaW50IGVkaXRfdG9kb19saXN0KHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3QgdG9kb19saXN0ICp0b2RvX2xpc3QsCisJCSAgIHN0cnVjdCB0b2RvX2xpc3QgKm5ld190b2RvLCBjb25zdCBjaGFyICpzaG9ydHJldmlzaW9ucywKKwkJICAgY29uc3QgY2hhciAqc2hvcnRvbnRvLCB1bnNpZ25lZCBmbGFncyk7CisKK2ludCB0b2RvX2xpc3RfY2hlY2soc3RydWN0IHRvZG9fbGlzdCAqb2xkX3RvZG8sIHN0cnVjdCB0b2RvX2xpc3QgKm5ld190b2RvKTsKK2ludCB0b2RvX2xpc3RfY2hlY2tfYWdhaW5zdF9iYWNrdXAoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJICAgc3RydWN0IHRvZG9fbGlzdCAqdG9kb19saXN0KTsKKworaW50IGNoZWNrX3RvZG9fbGlzdF9mcm9tX2ZpbGUoc3RydWN0IHJlcG9zaXRvcnkgKnIpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3JlYmFzZS5jIGIvcmViYXNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjgxMzdkOAotLS0gL2Rldi9udWxsCisrKyBiL3JlYmFzZS5jCkBAIC0wLDAgKzEsMzUgQEAKKyNpbmNsdWRlICJyZWJhc2UuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKKworLyoKKyAqIFBhcnNlcyB0ZXh0dWFsIHZhbHVlIGZvciBwdWxsLnJlYmFzZSwgYnJhbmNoLjxuYW1lPi5yZWJhc2UsIGV0Yy4KKyAqIFVucmVjb2duaXNlZCB2YWx1ZSB5aWVsZHMgUkVCQVNFX0lOVkFMSUQsIHdoaWNoIHRyYWRpdGlvbmFsbHkgaXMKKyAqIHRyZWF0ZWQgdGhlIHNhbWUgd2F5IGFzIFJFQkFTRV9GQUxTRS4KKyAqCisgKiBUaGUgY2FsbGVycyB0aGF0IGNhcmUgaWYgKGFueSkgcmViYXNlIGlzIHJlcXVlc3RlZCBzaG91bGQgc2F5CisgKiAgIGlmIChSRUJBU0VfVFJVRSA8PSByZWJhc2VfcGFyc2VfdmFsdWUoc3RyaW5nKSkKKyAqCisgKiBUaGUgY2FsbGVycyB0aGF0IHdhbnQgdG8gZGlmZmVyZW5jaWF0ZSBhbiB1bnJlY29nbmlzZWQgdmFsdWUgYW5kCisgKiBmYWxzZSBjYW4gZG8gc28gYnkgdHJlYXRpbmcgX0lOVkFMSUQgYW5kIF9GQUxTRSBkaWZmZXJlbnRseS4KKyAqLworZW51bSByZWJhc2VfdHlwZSByZWJhc2VfcGFyc2VfdmFsdWUoY29uc3QgY2hhciAqdmFsdWUpCit7CisJaW50IHYgPSBnaXRfcGFyc2VfbWF5YmVfYm9vbCh2YWx1ZSk7CisKKwlpZiAoIXYpCisJCXJldHVybiBSRUJBU0VfRkFMU0U7CisJZWxzZSBpZiAodiA+IDApCisJCXJldHVybiBSRUJBU0VfVFJVRTsKKwllbHNlIGlmICghc3RyY21wKHZhbHVlLCAicHJlc2VydmUiKSB8fCAhc3RyY21wKHZhbHVlLCAicCIpKQorCQlyZXR1cm4gUkVCQVNFX1BSRVNFUlZFOworCWVsc2UgaWYgKCFzdHJjbXAodmFsdWUsICJtZXJnZXMiKSB8fCAhc3RyY21wKHZhbHVlLCAibSIpKQorCQlyZXR1cm4gUkVCQVNFX01FUkdFUzsKKwllbHNlIGlmICghc3RyY21wKHZhbHVlLCAiaW50ZXJhY3RpdmUiKSB8fCAhc3RyY21wKHZhbHVlLCAiaSIpKQorCQlyZXR1cm4gUkVCQVNFX0lOVEVSQUNUSVZFOworCS8qCisJICogUGxlYXNlIHVwZGF0ZSBfZ2l0X2NvbmZpZygpIGluIGdpdC1jb21wbGV0aW9uLmJhc2ggd2hlbiB5b3UKKwkgKiBhZGQgbmV3IHJlYmFzZSBtb2Rlcy4KKwkgKi8KKworCXJldHVybiBSRUJBU0VfSU5WQUxJRDsKK30KZGlmZiAtLWdpdCBhL3JlYmFzZS5oIGIvcmViYXNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2M3MjNkNAotLS0gL2Rldi9udWxsCisrKyBiL3JlYmFzZS5oCkBAIC0wLDAgKzEsMTUgQEAKKyNpZm5kZWYgUkVCQVNFX0gKKyNkZWZpbmUgUkVCQVNFX0gKKworZW51bSByZWJhc2VfdHlwZSB7CisJUkVCQVNFX0lOVkFMSUQgPSAtMSwKKwlSRUJBU0VfRkFMU0UgPSAwLAorCVJFQkFTRV9UUlVFLAorCVJFQkFTRV9QUkVTRVJWRSwKKwlSRUJBU0VfTUVSR0VTLAorCVJFQkFTRV9JTlRFUkFDVElWRQorfTsKKworZW51bSByZWJhc2VfdHlwZSByZWJhc2VfcGFyc2VfdmFsdWUoY29uc3QgY2hhciAqdmFsdWUpOworCisjZW5kaWYgLyogUkVCQVNFICovCmRpZmYgLS1naXQgYS9yZWYtZmlsdGVyLmMgYi9yZWYtZmlsdGVyLmMKaW5kZXggNWRlNjE2Yi4uNzliYjUyMCAxMDA2NDQKLS0tIGEvcmVmLWZpbHRlci5jCisrKyBiL3JlZi1maWx0ZXIuYwpAQCAtMjAsNiArMjAsOSBAQAogI2luY2x1ZGUgImNvbW1pdC1zbGFiLmgiCiAjaW5jbHVkZSAiY29tbWl0LWdyYXBoLmgiCiAjaW5jbHVkZSAiY29tbWl0LXJlYWNoLmgiCisjaW5jbHVkZSAid29ya3RyZWUuaCIKKyNpbmNsdWRlICJoYXNobWFwLmgiCisjaW5jbHVkZSAiYXJndi1hcnJheS5oIgogCiBzdGF0aWMgc3RydWN0IHJlZl9tc2cgewogCWNvbnN0IGNoYXIgKmdvbmU7CkBAIC03NSw2ICs3OCwzMCBAQAogCXN0cnVjdCBvYmplY3RfaW5mbyBpbmZvOwogfSBvaSwgb2lfZGVyZWY7CiAKK3N0cnVjdCByZWZfdG9fd29ya3RyZWVfZW50cnkgeworCXN0cnVjdCBoYXNobWFwX2VudHJ5IGVudDsKKwlzdHJ1Y3Qgd29ya3RyZWUgKnd0OyAvKiBrZXkgaXMgd3QtPmhlYWRfcmVmICovCit9OworCitzdGF0aWMgaW50IHJlZl90b193b3JrdHJlZV9tYXBfY21wZm5jKGNvbnN0IHZvaWQgKnVudXNlZF9sb29rdXBkYXRhLAorCQkJCSAgICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplcHRyLAorCQkJCSAgICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICprcHRyLAorCQkJCSAgICAgIGNvbnN0IHZvaWQgKmtleWRhdGFfYWthX3JlZm5hbWUpCit7CisJY29uc3Qgc3RydWN0IHJlZl90b193b3JrdHJlZV9lbnRyeSAqZSwgKms7CisKKwllID0gY29udGFpbmVyX29mKGVwdHIsIGNvbnN0IHN0cnVjdCByZWZfdG9fd29ya3RyZWVfZW50cnksIGVudCk7CisJayA9IGNvbnRhaW5lcl9vZihrcHRyLCBjb25zdCBzdHJ1Y3QgcmVmX3RvX3dvcmt0cmVlX2VudHJ5LCBlbnQpOworCisJcmV0dXJuIHN0cmNtcChlLT53dC0+aGVhZF9yZWYsCisJCWtleWRhdGFfYWthX3JlZm5hbWUgPyBrZXlkYXRhX2FrYV9yZWZuYW1lIDogay0+d3QtPmhlYWRfcmVmKTsKK30KKworc3RhdGljIHN0cnVjdCByZWZfdG9fd29ya3RyZWVfbWFwIHsKKwlzdHJ1Y3QgaGFzaG1hcCBtYXA7CisJc3RydWN0IHdvcmt0cmVlICoqd29ya3RyZWVzOworfSByZWZfdG9fd29ya3RyZWVfbWFwOworCiAvKgogICogQW4gYXRvbSBpcyBhIHZhbGlkIGZpZWxkIGF0b20gbGlzdGVkIGJlbG93LCBwb3NzaWJseSBwcmVmaXhlZCB3aXRoCiAgKiBhICIqIiB0byBkZW5vdGUgZGVyZWZfdGFnKCkuCkBAIC0yMzEsMTIgKzI1OCwzMCBAQAogc3RhdGljIGludCBvYmplY3RzaXplX2F0b21fcGFyc2VyKGNvbnN0IHN0cnVjdCByZWZfZm9ybWF0ICpmb3JtYXQsIHN0cnVjdCB1c2VkX2F0b20gKmF0b20sCiAJCQkJICBjb25zdCBjaGFyICphcmcsIHN0cnVjdCBzdHJidWYgKmVycikKIHsKKwlpZiAoIWFyZykgeworCQlpZiAoKmF0b20tPm5hbWUgPT0gJyonKQorCQkJb2lfZGVyZWYuaW5mby5zaXplcCA9ICZvaV9kZXJlZi5zaXplOworCQllbHNlCisJCQlvaS5pbmZvLnNpemVwID0gJm9pLnNpemU7CisJfSBlbHNlIGlmICghc3RyY21wKGFyZywgImRpc2siKSkgeworCQlpZiAoKmF0b20tPm5hbWUgPT0gJyonKQorCQkJb2lfZGVyZWYuaW5mby5kaXNrX3NpemVwID0gJm9pX2RlcmVmLmRpc2tfc2l6ZTsKKwkJZWxzZQorCQkJb2kuaW5mby5kaXNrX3NpemVwID0gJm9pLmRpc2tfc2l6ZTsKKwl9IGVsc2UKKwkJcmV0dXJuIHN0cmJ1Zl9hZGRmX3JldChlcnIsIC0xLCBfKCJ1bnJlY29nbml6ZWQgJSUob2JqZWN0c2l6ZSkgYXJndW1lbnQ6ICVzIiksIGFyZyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZGVsdGFiYXNlX2F0b21fcGFyc2VyKGNvbnN0IHN0cnVjdCByZWZfZm9ybWF0ICpmb3JtYXQsIHN0cnVjdCB1c2VkX2F0b20gKmF0b20sCisJCQkJIGNvbnN0IGNoYXIgKmFyZywgc3RydWN0IHN0cmJ1ZiAqZXJyKQorewogCWlmIChhcmcpCi0JCXJldHVybiBzdHJidWZfYWRkZl9yZXQoZXJyLCAtMSwgXygiJSUob2JqZWN0c2l6ZSkgZG9lcyBub3QgdGFrZSBhcmd1bWVudHMiKSk7CisJCXJldHVybiBzdHJidWZfYWRkZl9yZXQoZXJyLCAtMSwgXygiJSUoZGVsdGFiYXNlKSBkb2VzIG5vdCB0YWtlIGFyZ3VtZW50cyIpKTsKIAlpZiAoKmF0b20tPm5hbWUgPT0gJyonKQotCQlvaV9kZXJlZi5pbmZvLnNpemVwID0gJm9pX2RlcmVmLnNpemU7CisJCW9pX2RlcmVmLmluZm8uZGVsdGFfYmFzZV9vaWQgPSAmb2lfZGVyZWYuZGVsdGFfYmFzZV9vaWQ7CiAJZWxzZQotCQlvaS5pbmZvLnNpemVwID0gJm9pLnNpemU7CisJCW9pLmluZm8uZGVsdGFfYmFzZV9vaWQgPSAmb2kuZGVsdGFfYmFzZV9vaWQ7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTQzMSw2ICs0NzYsNyBAQAogCXsgIm9iamVjdHR5cGUiLCBTT1VSQ0VfT1RIRVIsIEZJRUxEX1NUUiwgb2JqZWN0dHlwZV9hdG9tX3BhcnNlciB9LAogCXsgIm9iamVjdHNpemUiLCBTT1VSQ0VfT1RIRVIsIEZJRUxEX1VMT05HLCBvYmplY3RzaXplX2F0b21fcGFyc2VyIH0sCiAJeyAib2JqZWN0bmFtZSIsIFNPVVJDRV9PVEhFUiwgRklFTERfU1RSLCBvYmplY3RuYW1lX2F0b21fcGFyc2VyIH0sCisJeyAiZGVsdGFiYXNlIiwgU09VUkNFX09USEVSLCBGSUVMRF9TVFIsIGRlbHRhYmFzZV9hdG9tX3BhcnNlciB9LAogCXsgInRyZWUiLCBTT1VSQ0VfT0JKIH0sCiAJeyAicGFyZW50IiwgU09VUkNFX09CSiB9LAogCXsgIm51bXBhcmVudCIsIFNPVVJDRV9PQkosIEZJRUxEX1VMT05HIH0sCkBAIC00NjEsMTEgKzUwNywxNiBAQAogCXsgImZsYWciLCBTT1VSQ0VfTk9ORSB9LAogCXsgIkhFQUQiLCBTT1VSQ0VfTk9ORSwgRklFTERfU1RSLCBoZWFkX2F0b21fcGFyc2VyIH0sCiAJeyAiY29sb3IiLCBTT1VSQ0VfTk9ORSwgRklFTERfU1RSLCBjb2xvcl9hdG9tX3BhcnNlciB9LAorCXsgIndvcmt0cmVlcGF0aCIsIFNPVVJDRV9OT05FIH0sCiAJeyAiYWxpZ24iLCBTT1VSQ0VfTk9ORSwgRklFTERfU1RSLCBhbGlnbl9hdG9tX3BhcnNlciB9LAogCXsgImVuZCIsIFNPVVJDRV9OT05FIH0sCiAJeyAiaWYiLCBTT1VSQ0VfTk9ORSwgRklFTERfU1RSLCBpZl9hdG9tX3BhcnNlciB9LAogCXsgInRoZW4iLCBTT1VSQ0VfTk9ORSB9LAogCXsgImVsc2UiLCBTT1VSQ0VfTk9ORSB9LAorCS8qCisJICogUGxlYXNlIHVwZGF0ZSAkX19naXRfcmVmX2ZpZWxkbGlzdCBpbiBnaXQtY29tcGxldGlvbi5iYXNoCisJICogd2hlbiB5b3UgYWRkIG5ldyBhdG9tcworCSAqLwogfTsKIAogI2RlZmluZSBSRUZfRk9STUFUVElOR19TVEFURV9JTklUICB7IDAsIE5VTEwgfQpAQCAtODgwLDE3ICs5MzEsMjEgQEAKIAkJCW5hbWUrKzsKIAkJaWYgKCFzdHJjbXAobmFtZSwgIm9iamVjdHR5cGUiKSkKIAkJCXYtPnMgPSB4c3RyZHVwKHR5cGVfbmFtZShvaS0+dHlwZSkpOwotCQllbHNlIGlmICghc3RyY21wKG5hbWUsICJvYmplY3RzaXplIikpIHsKKwkJZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAib2JqZWN0c2l6ZTpkaXNrIikpIHsKKwkJCXYtPnZhbHVlID0gb2ktPmRpc2tfc2l6ZTsKKwkJCXYtPnMgPSB4c3RyZm10KCIlIlBSSXVNQVgsICh1aW50bWF4X3Qpb2ktPmRpc2tfc2l6ZSk7CisJCX0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAib2JqZWN0c2l6ZSIpKSB7CiAJCQl2LT52YWx1ZSA9IG9pLT5zaXplOwogCQkJdi0+cyA9IHhzdHJmbXQoIiUiUFJJdU1BWCAsICh1aW50bWF4X3Qpb2ktPnNpemUpOwotCQl9CisJCX0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiZGVsdGFiYXNlIikpCisJCQl2LT5zID0geHN0cmR1cChvaWRfdG9faGV4KCZvaS0+ZGVsdGFfYmFzZV9vaWQpKTsKIAkJZWxzZSBpZiAoZGVyZWYpCiAJCQlncmFiX29iamVjdG5hbWUobmFtZSwgJm9pLT5vaWQsIHYsICZ1c2VkX2F0b21baV0pOwogCX0KIH0KIAogLyogU2VlIGdyYWJfdmFsdWVzICovCi1zdGF0aWMgdm9pZCBncmFiX3RhZ192YWx1ZXMoc3RydWN0IGF0b21fdmFsdWUgKnZhbCwgaW50IGRlcmVmLCBzdHJ1Y3Qgb2JqZWN0ICpvYmosIHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyBzeikKK3N0YXRpYyB2b2lkIGdyYWJfdGFnX3ZhbHVlcyhzdHJ1Y3QgYXRvbV92YWx1ZSAqdmFsLCBpbnQgZGVyZWYsIHN0cnVjdCBvYmplY3QgKm9iaikKIHsKIAlpbnQgaTsKIAlzdHJ1Y3QgdGFnICp0YWcgPSAoc3RydWN0IHRhZyAqKSBvYmo7CkBAIC05MTIsNyArOTY3LDcgQEAKIH0KIAogLyogU2VlIGdyYWJfdmFsdWVzICovCi1zdGF0aWMgdm9pZCBncmFiX2NvbW1pdF92YWx1ZXMoc3RydWN0IGF0b21fdmFsdWUgKnZhbCwgaW50IGRlcmVmLCBzdHJ1Y3Qgb2JqZWN0ICpvYmosIHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyBzeikKK3N0YXRpYyB2b2lkIGdyYWJfY29tbWl0X3ZhbHVlcyhzdHJ1Y3QgYXRvbV92YWx1ZSAqdmFsLCBpbnQgZGVyZWYsIHN0cnVjdCBvYmplY3QgKm9iaikKIHsKIAlpbnQgaTsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXQgPSAoc3RydWN0IGNvbW1pdCAqKSBvYmo7CkBAIC05NDUsNyArMTAwMCw3IEBACiAJfQogfQogCi1zdGF0aWMgY29uc3QgY2hhciAqZmluZF93aG9saW5lKGNvbnN0IGNoYXIgKndobywgaW50IHdob2xlbiwgY29uc3QgY2hhciAqYnVmLCB1bnNpZ25lZCBsb25nIHN6KQorc3RhdGljIGNvbnN0IGNoYXIgKmZpbmRfd2hvbGluZShjb25zdCBjaGFyICp3aG8sIGludCB3aG9sZW4sIGNvbnN0IGNoYXIgKmJ1ZikKIHsKIAljb25zdCBjaGFyICplb2w7CiAJd2hpbGUgKCpidWYpIHsKQEAgLTk3Niw3ICsxMDMxLDcgQEAKIAkJaWYgKCFzdHJuY21wKGNwLCAiIDwiLCAyKSkKIAkJCXJldHVybiB4bWVtZHVweihidWYsIGNwIC0gYnVmKTsKIAl9Ci0JcmV0dXJuICIiOworCXJldHVybiB4c3RyZHVwKCIiKTsKIH0KIAogc3RhdGljIGNvbnN0IGNoYXIgKmNvcHlfZW1haWwoY29uc3QgY2hhciAqYnVmKQpAQCAtOTg0LDEwICsxMDM5LDEwIEBACiAJY29uc3QgY2hhciAqZW1haWwgPSBzdHJjaHIoYnVmLCAnPCcpOwogCWNvbnN0IGNoYXIgKmVvZW1haWw7CiAJaWYgKCFlbWFpbCkKLQkJcmV0dXJuICIiOworCQlyZXR1cm4geHN0cmR1cCgiIik7CiAJZW9lbWFpbCA9IHN0cmNocihlbWFpbCwgJz4nKTsKIAlpZiAoIWVvZW1haWwpCi0JCXJldHVybiAiIjsKKwkJcmV0dXJuIHhzdHJkdXAoIiIpOwogCXJldHVybiB4bWVtZHVweihlbWFpbCwgZW9lbWFpbCArIDEgLSBlbWFpbCk7CiB9CiAKQEAgLTEwNDEsNyArMTA5Niw3IEBACiB9CiAKIC8qIFNlZSBncmFiX3ZhbHVlcyAqLwotc3RhdGljIHZvaWQgZ3JhYl9wZXJzb24oY29uc3QgY2hhciAqd2hvLCBzdHJ1Y3QgYXRvbV92YWx1ZSAqdmFsLCBpbnQgZGVyZWYsIHN0cnVjdCBvYmplY3QgKm9iaiwgdm9pZCAqYnVmLCB1bnNpZ25lZCBsb25nIHN6KQorc3RhdGljIHZvaWQgZ3JhYl9wZXJzb24oY29uc3QgY2hhciAqd2hvLCBzdHJ1Y3QgYXRvbV92YWx1ZSAqdmFsLCBpbnQgZGVyZWYsIHZvaWQgKmJ1ZikKIHsKIAlpbnQgaTsKIAlpbnQgd2hvbGVuID0gc3RybGVuKHdobyk7CkBAIC0xMDYyLDcgKzExMTcsNyBAQAogCQkgICAgIXN0YXJ0c193aXRoKG5hbWUgKyB3aG9sZW4sICJkYXRlIikpCiAJCQljb250aW51ZTsKIAkJaWYgKCF3aG9saW5lKQotCQkJd2hvbGluZSA9IGZpbmRfd2hvbGluZSh3aG8sIHdob2xlbiwgYnVmLCBzeik7CisJCQl3aG9saW5lID0gZmluZF93aG9saW5lKHdobywgd2hvbGVuLCBidWYpOwogCQlpZiAoIXdob2xpbmUpCiAJCQlyZXR1cm47IC8qIG5vIHBvaW50IGxvb2tpbmcgZm9yIGl0ICovCiAJCWlmIChuYW1lW3dob2xlbl0gPT0gMCkKQEAgLTEwODIsNyArMTEzNyw3IEBACiAJaWYgKHN0cmNtcCh3aG8sICJ0YWdnZXIiKSAmJiBzdHJjbXAod2hvLCAiY29tbWl0dGVyIikpCiAJCXJldHVybjsgLyogImF1dGhvciIgZm9yIGNvbW1pdCBvYmplY3QgaXMgbm90IHdhbnRlZCAqLwogCWlmICghd2hvbGluZSkKLQkJd2hvbGluZSA9IGZpbmRfd2hvbGluZSh3aG8sIHdob2xlbiwgYnVmLCBzeik7CisJCXdob2xpbmUgPSBmaW5kX3dob2xpbmUod2hvLCB3aG9sZW4sIGJ1Zik7CiAJaWYgKCF3aG9saW5lKQogCQlyZXR1cm47CiAJZm9yIChpID0gMDsgaSA8IHVzZWRfYXRvbV9jbnQ7IGkrKykgewpAQCAtMTEwMCw3ICsxMTU1LDcgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIGZpbmRfc3VicG9zKGNvbnN0IGNoYXIgKmJ1ZiwgdW5zaWduZWQgbG9uZyBzeiwKK3N0YXRpYyB2b2lkIGZpbmRfc3VicG9zKGNvbnN0IGNoYXIgKmJ1ZiwKIAkJCWNvbnN0IGNoYXIgKipzdWIsIHVuc2lnbmVkIGxvbmcgKnN1YmxlbiwKIAkJCWNvbnN0IGNoYXIgKipib2R5LCB1bnNpZ25lZCBsb25nICpib2R5bGVuLAogCQkJdW5zaWduZWQgbG9uZyAqbm9uc2lnbGVuLApAQCAtMTE2OSw3ICsxMjI0LDcgQEAKIH0KIAogLyogU2VlIGdyYWJfdmFsdWVzICovCi1zdGF0aWMgdm9pZCBncmFiX3N1Yl9ib2R5X2NvbnRlbnRzKHN0cnVjdCBhdG9tX3ZhbHVlICp2YWwsIGludCBkZXJlZiwgc3RydWN0IG9iamVjdCAqb2JqLCB2b2lkICpidWYsIHVuc2lnbmVkIGxvbmcgc3opCitzdGF0aWMgdm9pZCBncmFiX3N1Yl9ib2R5X2NvbnRlbnRzKHN0cnVjdCBhdG9tX3ZhbHVlICp2YWwsIGludCBkZXJlZiwgdm9pZCAqYnVmKQogewogCWludCBpOwogCWNvbnN0IGNoYXIgKnN1YnBvcyA9IE5VTEwsICpib2R5cG9zID0gTlVMTCwgKnNpZ3BvcyA9IE5VTEw7CkBAIC0xMTg5LDcgKzEyNDQsNyBAQAogCQkgICAgIXN0YXJ0c193aXRoKG5hbWUsICJjb250ZW50cyIpKQogCQkJY29udGludWU7CiAJCWlmICghc3VicG9zKQotCQkJZmluZF9zdWJwb3MoYnVmLCBzeiwKKwkJCWZpbmRfc3VicG9zKGJ1ZiwKIAkJCQkgICAgJnN1YnBvcywgJnN1YmxlbiwKIAkJCQkgICAgJmJvZHlwb3MsICZib2R5bGVuLCAmbm9uc2lnbGVuLAogCQkJCSAgICAmc2lncG9zLCAmc2lnbGVuKTsKQEAgLTEyNDIsMTkgKzEyOTcsMTkgQEAKICAqIHBvaW50ZWQgYXQgYnkgdGhlIHJlZiBpdHNlbGY7IG90aGVyd2lzZSBpdCBpcyB0aGUgb2JqZWN0IHRoZQogICogcmVmICh3aGljaCBpcyBhIHRhZykgcmVmZXJzIHRvLgogICovCi1zdGF0aWMgdm9pZCBncmFiX3ZhbHVlcyhzdHJ1Y3QgYXRvbV92YWx1ZSAqdmFsLCBpbnQgZGVyZWYsIHN0cnVjdCBvYmplY3QgKm9iaiwgdm9pZCAqYnVmLCB1bnNpZ25lZCBsb25nIHN6KQorc3RhdGljIHZvaWQgZ3JhYl92YWx1ZXMoc3RydWN0IGF0b21fdmFsdWUgKnZhbCwgaW50IGRlcmVmLCBzdHJ1Y3Qgb2JqZWN0ICpvYmosIHZvaWQgKmJ1ZikKIHsKIAlzd2l0Y2ggKG9iai0+dHlwZSkgewogCWNhc2UgT0JKX1RBRzoKLQkJZ3JhYl90YWdfdmFsdWVzKHZhbCwgZGVyZWYsIG9iaiwgYnVmLCBzeik7Ci0JCWdyYWJfc3ViX2JvZHlfY29udGVudHModmFsLCBkZXJlZiwgb2JqLCBidWYsIHN6KTsKLQkJZ3JhYl9wZXJzb24oInRhZ2dlciIsIHZhbCwgZGVyZWYsIG9iaiwgYnVmLCBzeik7CisJCWdyYWJfdGFnX3ZhbHVlcyh2YWwsIGRlcmVmLCBvYmopOworCQlncmFiX3N1Yl9ib2R5X2NvbnRlbnRzKHZhbCwgZGVyZWYsIGJ1Zik7CisJCWdyYWJfcGVyc29uKCJ0YWdnZXIiLCB2YWwsIGRlcmVmLCBidWYpOwogCQlicmVhazsKIAljYXNlIE9CSl9DT01NSVQ6Ci0JCWdyYWJfY29tbWl0X3ZhbHVlcyh2YWwsIGRlcmVmLCBvYmosIGJ1Ziwgc3opOwotCQlncmFiX3N1Yl9ib2R5X2NvbnRlbnRzKHZhbCwgZGVyZWYsIG9iaiwgYnVmLCBzeik7Ci0JCWdyYWJfcGVyc29uKCJhdXRob3IiLCB2YWwsIGRlcmVmLCBvYmosIGJ1Ziwgc3opOwotCQlncmFiX3BlcnNvbigiY29tbWl0dGVyIiwgdmFsLCBkZXJlZiwgb2JqLCBidWYsIHN6KTsKKwkJZ3JhYl9jb21taXRfdmFsdWVzKHZhbCwgZGVyZWYsIG9iaik7CisJCWdyYWJfc3ViX2JvZHlfY29udGVudHModmFsLCBkZXJlZiwgYnVmKTsKKwkJZ3JhYl9wZXJzb24oImF1dGhvciIsIHZhbCwgZGVyZWYsIGJ1Zik7CisJCWdyYWJfcGVyc29uKCJjb21taXR0ZXIiLCB2YWwsIGRlcmVmLCBidWYpOwogCQlicmVhazsKIAljYXNlIE9CSl9UUkVFOgogCQkvKiBncmFiX3RyZWVfdmFsdWVzKHZhbCwgZGVyZWYsIG9iaiwgYnVmLCBzeik7ICovCkBAIC0xMzY1LDcgKzE0MjAsOCBAQAogCQkqcyA9IHNob3dfcmVmKCZhdG9tLT51LnJlbW90ZV9yZWYucmVmbmFtZSwgcmVmbmFtZSk7CiAJZWxzZSBpZiAoYXRvbS0+dS5yZW1vdGVfcmVmLm9wdGlvbiA9PSBSUl9UUkFDSykgewogCQlpZiAoc3RhdF90cmFja2luZ19pbmZvKGJyYW5jaCwgJm51bV9vdXJzLCAmbnVtX3RoZWlycywKLQkJCQkgICAgICAgTlVMTCwgQUhFQURfQkVISU5EX0ZVTEwpIDwgMCkgeworCQkJCSAgICAgICBOVUxMLCBhdG9tLT51LnJlbW90ZV9yZWYucHVzaCwKKwkJCQkgICAgICAgQUhFQURfQkVISU5EX0ZVTEwpIDwgMCkgewogCQkJKnMgPSB4c3RyZHVwKG1zZ3MuZ29uZSk7CiAJCX0gZWxzZSBpZiAoIW51bV9vdXJzICYmICFudW1fdGhlaXJzKQogCQkJKnMgPSB4c3RyZHVwKCIiKTsKQEAgLTEzODMsNyArMTQzOSw4IEBACiAJCX0KIAl9IGVsc2UgaWYgKGF0b20tPnUucmVtb3RlX3JlZi5vcHRpb24gPT0gUlJfVFJBQ0tTSE9SVCkgewogCQlpZiAoc3RhdF90cmFja2luZ19pbmZvKGJyYW5jaCwgJm51bV9vdXJzLCAmbnVtX3RoZWlycywKLQkJCQkgICAgICAgTlVMTCwgQUhFQURfQkVISU5EX0ZVTEwpIDwgMCkgeworCQkJCSAgICAgICBOVUxMLCBhdG9tLT51LnJlbW90ZV9yZWYucHVzaCwKKwkJCQkgICAgICAgQUhFQURfQkVISU5EX0ZVTEwpIDwgMCkgewogCQkJKnMgPSB4c3RyZHVwKCIiKTsKIAkJCXJldHVybjsKIAkJfQpAQCAtMTQxNywzNiArMTQ3NCwzNiBAQAogCXN0cnVjdCBzdHJidWYgZGVzYyA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCB3dF9zdGF0dXNfc3RhdGUgc3RhdGU7CiAJbWVtc2V0KCZzdGF0ZSwgMCwgc2l6ZW9mKHN0YXRlKSk7Ci0Jd3Rfc3RhdHVzX2dldF9zdGF0ZSgmc3RhdGUsIDEpOworCXd0X3N0YXR1c19nZXRfc3RhdGUodGhlX3JlcG9zaXRvcnksICZzdGF0ZSwgMSk7CisKKwkvKgorCSAqIFRoZSAoIGNoYXJhY3RlciBtdXN0IGJlIGhhcmQtY29kZWQgYW5kIG5vdCBwYXJ0IG9mIGEgbG9jYWxpemFibGUKKwkgKiBzdHJpbmcsIHNpbmNlIHRoZSBkZXNjcmlwdGlvbiBpcyB1c2VkIGFzIGEgc29ydCBrZXkgYW5kIGNvbXBhcmVkCisJICogd2l0aCByZWYgbmFtZXMuCisJICovCisJc3RyYnVmX2FkZGNoKCZkZXNjLCAnKCcpOwogCWlmIChzdGF0ZS5yZWJhc2VfaW5fcHJvZ3Jlc3MgfHwKIAkgICAgc3RhdGUucmViYXNlX2ludGVyYWN0aXZlX2luX3Byb2dyZXNzKSB7CiAJCWlmIChzdGF0ZS5icmFuY2gpCi0JCQlzdHJidWZfYWRkZigmZGVzYywgXygiKG5vIGJyYW5jaCwgcmViYXNpbmcgJXMpIiksCisJCQlzdHJidWZfYWRkZigmZGVzYywgXygibm8gYnJhbmNoLCByZWJhc2luZyAlcyIpLAogCQkJCSAgICBzdGF0ZS5icmFuY2gpOwogCQllbHNlCi0JCQlzdHJidWZfYWRkZigmZGVzYywgXygiKG5vIGJyYW5jaCwgcmViYXNpbmcgZGV0YWNoZWQgSEVBRCAlcykiKSwKKwkJCXN0cmJ1Zl9hZGRmKCZkZXNjLCBfKCJubyBicmFuY2gsIHJlYmFzaW5nIGRldGFjaGVkIEhFQUQgJXMiKSwKIAkJCQkgICAgc3RhdGUuZGV0YWNoZWRfZnJvbSk7CiAJfSBlbHNlIGlmIChzdGF0ZS5iaXNlY3RfaW5fcHJvZ3Jlc3MpCi0JCXN0cmJ1Zl9hZGRmKCZkZXNjLCBfKCIobm8gYnJhbmNoLCBiaXNlY3Qgc3RhcnRlZCBvbiAlcykiKSwKKwkJc3RyYnVmX2FkZGYoJmRlc2MsIF8oIm5vIGJyYW5jaCwgYmlzZWN0IHN0YXJ0ZWQgb24gJXMiKSwKIAkJCSAgICBzdGF0ZS5icmFuY2gpOwogCWVsc2UgaWYgKHN0YXRlLmRldGFjaGVkX2Zyb20pIHsKIAkJaWYgKHN0YXRlLmRldGFjaGVkX2F0KQotCQkJLyoKLQkJCSAqIFRSQU5TTEFUT1JTOiBtYWtlIHN1cmUgdGhpcyBtYXRjaGVzICJIRUFECi0JCQkgKiBkZXRhY2hlZCBhdCAiIGluIHd0LXN0YXR1cy5jCi0JCQkgKi8KLQkJCXN0cmJ1Zl9hZGRmKCZkZXNjLCBfKCIoSEVBRCBkZXRhY2hlZCBhdCAlcykiKSwKLQkJCQlzdGF0ZS5kZXRhY2hlZF9mcm9tKTsKKwkJCXN0cmJ1Zl9hZGRzdHIoJmRlc2MsIEhFQURfREVUQUNIRURfQVQpOwogCQllbHNlCi0JCQkvKgotCQkJICogVFJBTlNMQVRPUlM6IG1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMgIkhFQUQKLQkJCSAqIGRldGFjaGVkIGZyb20gIiBpbiB3dC1zdGF0dXMuYwotCQkJICovCi0JCQlzdHJidWZfYWRkZigmZGVzYywgXygiKEhFQUQgZGV0YWNoZWQgZnJvbSAlcykiKSwKLQkJCQlzdGF0ZS5kZXRhY2hlZF9mcm9tKTsKKwkJCXN0cmJ1Zl9hZGRzdHIoJmRlc2MsIEhFQURfREVUQUNIRURfRlJPTSk7CisJCXN0cmJ1Zl9hZGRzdHIoJmRlc2MsIHN0YXRlLmRldGFjaGVkX2Zyb20pOwogCX0KIAllbHNlCi0JCXN0cmJ1Zl9hZGRzdHIoJmRlc2MsIF8oIihubyBicmFuY2gpIikpOworCQlzdHJidWZfYWRkc3RyKCZkZXNjLCBfKCJubyBicmFuY2giKSk7CisJc3RyYnVmX2FkZGNoKCZkZXNjLCAnKScpOworCiAJZnJlZShzdGF0ZS5icmFuY2gpOwogCWZyZWUoc3RhdGUub250byk7CiAJZnJlZShzdGF0ZS5kZXRhY2hlZF9mcm9tKTsKQEAgLTE0ODIsNiArMTUzOSw4IEBACiAJCQkJICAgICBPQkpFQ1RfSU5GT19MT09LVVBfUkVQTEFDRSkpCiAJCXJldHVybiBzdHJidWZfYWRkZl9yZXQoZXJyLCAtMSwgXygibWlzc2luZyBvYmplY3QgJXMgZm9yICVzIiksCiAJCQkJICAgICAgIG9pZF90b19oZXgoJm9pLT5vaWQpLCByZWYtPnJlZm5hbWUpOworCWlmIChvaS0+aW5mby5kaXNrX3NpemVwICYmIG9pLT5kaXNrX3NpemUgPCAwKQorCQlCVUcoIk9iamVjdCBzaXplIGlzIGxlc3MgdGhhbiB6ZXJvLiIpOwogCiAJaWYgKG9pLT5pbmZvLmNvbnRlbnRwKSB7CiAJCSpvYmogPSBwYXJzZV9vYmplY3RfYnVmZmVyKHRoZV9yZXBvc2l0b3J5LCAmb2ktPm9pZCwgb2ktPnR5cGUsIG9pLT5zaXplLCBvaS0+Y29udGVudCwgJmVhdGVuKTsKQEAgLTE0OTEsNyArMTU1MCw3IEBACiAJCQlyZXR1cm4gc3RyYnVmX2FkZGZfcmV0KGVyciwgLTEsIF8oInBhcnNlX29iamVjdF9idWZmZXIgZmFpbGVkIG9uICVzIGZvciAlcyIpLAogCQkJCQkgICAgICAgb2lkX3RvX2hleCgmb2ktPm9pZCksIHJlZi0+cmVmbmFtZSk7CiAJCX0KLQkJZ3JhYl92YWx1ZXMocmVmLT52YWx1ZSwgZGVyZWYsICpvYmosIG9pLT5jb250ZW50LCBvaS0+c2l6ZSk7CisJCWdyYWJfdmFsdWVzKHJlZi0+dmFsdWUsIGRlcmVmLCAqb2JqLCBvaS0+Y29udGVudCk7CiAJfQogCiAJZ3JhYl9jb21tb25fdmFsdWVzKHJlZi0+dmFsdWUsIGRlcmVmLCBvaSk7CkBAIC0xNTAwLDYgKzE1NTksNTEgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgcG9wdWxhdGVfd29ya3RyZWVfbWFwKHN0cnVjdCBoYXNobWFwICptYXAsIHN0cnVjdCB3b3JrdHJlZSAqKndvcmt0cmVlcykKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IHdvcmt0cmVlc1tpXTsgaSsrKSB7CisJCWlmICh3b3JrdHJlZXNbaV0tPmhlYWRfcmVmKSB7CisJCQlzdHJ1Y3QgcmVmX3RvX3dvcmt0cmVlX2VudHJ5ICplbnRyeTsKKwkJCWVudHJ5ID0geG1hbGxvYyhzaXplb2YoKmVudHJ5KSk7CisJCQllbnRyeS0+d3QgPSB3b3JrdHJlZXNbaV07CisJCQloYXNobWFwX2VudHJ5X2luaXQoJmVudHJ5LT5lbnQsCisJCQkJCXN0cmhhc2god29ya3RyZWVzW2ldLT5oZWFkX3JlZikpOworCisJCQloYXNobWFwX2FkZChtYXAsICZlbnRyeS0+ZW50KTsKKwkJfQorCX0KK30KKworc3RhdGljIHZvaWQgbGF6eV9pbml0X3dvcmt0cmVlX21hcCh2b2lkKQoreworCWlmIChyZWZfdG9fd29ya3RyZWVfbWFwLndvcmt0cmVlcykKKwkJcmV0dXJuOworCisJcmVmX3RvX3dvcmt0cmVlX21hcC53b3JrdHJlZXMgPSBnZXRfd29ya3RyZWVzKDApOworCWhhc2htYXBfaW5pdCgmKHJlZl90b193b3JrdHJlZV9tYXAubWFwKSwgcmVmX3RvX3dvcmt0cmVlX21hcF9jbXBmbmMsIE5VTEwsIDApOworCXBvcHVsYXRlX3dvcmt0cmVlX21hcCgmKHJlZl90b193b3JrdHJlZV9tYXAubWFwKSwgcmVmX3RvX3dvcmt0cmVlX21hcC53b3JrdHJlZXMpOworfQorCitzdGF0aWMgY2hhciAqZ2V0X3dvcmt0cmVlX3BhdGgoY29uc3Qgc3RydWN0IHVzZWRfYXRvbSAqYXRvbSwgY29uc3Qgc3RydWN0IHJlZl9hcnJheV9pdGVtICpyZWYpCit7CisJc3RydWN0IGhhc2htYXBfZW50cnkgZW50cnksICplOworCXN0cnVjdCByZWZfdG9fd29ya3RyZWVfZW50cnkgKmxvb2t1cF9yZXN1bHQ7CisKKwlsYXp5X2luaXRfd29ya3RyZWVfbWFwKCk7CisKKwloYXNobWFwX2VudHJ5X2luaXQoJmVudHJ5LCBzdHJoYXNoKHJlZi0+cmVmbmFtZSkpOworCWUgPSBoYXNobWFwX2dldCgmKHJlZl90b193b3JrdHJlZV9tYXAubWFwKSwgJmVudHJ5LCByZWYtPnJlZm5hbWUpOworCisJaWYgKCFlKQorCQlyZXR1cm4geHN0cmR1cCgiIik7CisKKwlsb29rdXBfcmVzdWx0ID0gY29udGFpbmVyX29mKGUsIHN0cnVjdCByZWZfdG9fd29ya3RyZWVfZW50cnksIGVudCk7CisKKwlyZXR1cm4geHN0cmR1cChsb29rdXBfcmVzdWx0LT53dC0+cGF0aCk7Cit9CisKIC8qCiAgKiBQYXJzZSB0aGUgb2JqZWN0IHJlZmVycmVkIGJ5IHJlZiwgYW5kIGdyYWIgbmVlZGVkIHZhbHVlLgogICovCkBAIC0xNTM3LDYgKzE2NDEsMTMgQEAKIAogCQlpZiAoc3RhcnRzX3dpdGgobmFtZSwgInJlZm5hbWUiKSkKIAkJCXJlZm5hbWUgPSBnZXRfcmVmbmFtZShhdG9tLCByZWYpOworCQllbHNlIGlmICghc3RyY21wKG5hbWUsICJ3b3JrdHJlZXBhdGgiKSkgeworCQkJaWYgKHJlZi0+a2luZCA9PSBGSUxURVJfUkVGU19CUkFOQ0hFUykKKwkJCQl2LT5zID0gZ2V0X3dvcmt0cmVlX3BhdGgoYXRvbSwgcmVmKTsKKwkJCWVsc2UKKwkJCQl2LT5zID0geHN0cmR1cCgiIik7CisJCQljb250aW51ZTsKKwkJfQogCQllbHNlIGlmIChzdGFydHNfd2l0aChuYW1lLCAic3ltcmVmIikpCiAJCQlyZWZuYW1lID0gZ2V0X3N5bXJlZihhdG9tLCByZWYpOwogCQllbHNlIGlmIChzdGFydHNfd2l0aChuYW1lLCAidXBzdHJlYW0iKSkgewpAQCAtMTY2MSw3ICsxNzcyLDcgQEAKIAkgKiBJZiBpdCBpcyBhIHRhZyBvYmplY3QsIHNlZSBpZiB3ZSB1c2UgYSB2YWx1ZSB0aGF0IGRlcmVmcwogCSAqIHRoZSBvYmplY3QsIGFuZCBpZiB3ZSBkbyBncmFiIHRoZSBvYmplY3QgaXQgcmVmZXJzIHRvLgogCSAqLwotCW9pX2RlcmVmLm9pZCA9ICgoc3RydWN0IHRhZyAqKW9iaiktPnRhZ2dlZC0+b2lkOworCW9pX2RlcmVmLm9pZCA9ICpnZXRfdGFnZ2VkX29pZCgoc3RydWN0IHRhZyAqKW9iaik7CiAKIAkvKgogCSAqIE5FRURTV09SSzogVGhpcyBkZXJlZnMgdGFnIG9ubHkgb25jZSwgd2hpY2gKQEAgLTE3NTksMjEgKzE4NzAsNjIgQEAKIAlyZXR1cm4gbWF0Y2hfcGF0dGVybihmaWx0ZXIsIHJlZm5hbWUpOwogfQogCi0vKgotICogRmluZCB0aGUgbG9uZ2VzdCBwcmVmaXggb2YgcGF0dGVybiB3ZSBjYW4gcGFzcyB0bwotICogYGZvcl9lYWNoX2Z1bGxyZWZfaW4oKWAsIG5hbWVseSB0aGUgcGFydCBvZiBwYXR0ZXJuIHByZWNlZGluZyB0aGUKLSAqIGZpcnN0IGdsb2IgY2hhcmFjdGVyLiAoTm90ZSB0aGF0IGBmb3JfZWFjaF9mdWxscmVmX2luKClgIGlzCi0gKiBwZXJmZWN0bHkgaGFwcHkgd29ya2luZyB3aXRoIGEgcHJlZml4IHRoYXQgZG9lc24ndCBlbmQgYXQgYQotICogcGF0aG5hbWUgY29tcG9uZW50IGJvdW5kYXJ5LikKLSAqLwotc3RhdGljIHZvaWQgZmluZF9sb25nZXN0X3ByZWZpeChzdHJ1Y3Qgc3RyYnVmICpvdXQsIGNvbnN0IGNoYXIgKnBhdHRlcm4pCitzdGF0aWMgaW50IHFzb3J0X3N0cmNtcChjb25zdCB2b2lkICp2YSwgY29uc3Qgdm9pZCAqdmIpCiB7Ci0JY29uc3QgY2hhciAqcDsKKwljb25zdCBjaGFyICphID0gKihjb25zdCBjaGFyICoqKXZhOworCWNvbnN0IGNoYXIgKmIgPSAqKGNvbnN0IGNoYXIgKiopdmI7CiAKLQlmb3IgKHAgPSBwYXR0ZXJuOyAqcCAmJiAhaXNfZ2xvYl9zcGVjaWFsKCpwKTsgcCsrKQotCQk7CisJcmV0dXJuIHN0cmNtcChhLCBiKTsKK30KIAotCXN0cmJ1Zl9hZGQob3V0LCBwYXR0ZXJuLCBwIC0gcGF0dGVybik7CitzdGF0aWMgdm9pZCBmaW5kX2xvbmdlc3RfcHJlZml4ZXNfMShzdHJ1Y3Qgc3RyaW5nX2xpc3QgKm91dCwKKwkJCQkgIHN0cnVjdCBzdHJidWYgKnByZWZpeCwKKwkJCQkgIGNvbnN0IGNoYXIgKipwYXR0ZXJucywgc2l6ZV90IG5yKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IG5yOyBpKyspIHsKKwkJY2hhciBjID0gcGF0dGVybnNbaV1bcHJlZml4LT5sZW5dOworCQlpZiAoIWMgfHwgaXNfZ2xvYl9zcGVjaWFsKGMpKSB7CisJCQlzdHJpbmdfbGlzdF9hcHBlbmQob3V0LCBwcmVmaXgtPmJ1Zik7CisJCQlyZXR1cm47CisJCX0KKwl9CisKKwlpID0gMDsKKwl3aGlsZSAoaSA8IG5yKSB7CisJCXNpemVfdCBlbmQ7CisKKwkJLyoKKwkJKiBTZXQgImVuZCIgdG8gdGhlIGluZGV4IG9mIHRoZSBlbGVtZW50IF9hZnRlcl8gdGhlIGxhc3Qgb25lCisJCSogaW4gb3VyIGdyb3VwLgorCQkqLworCQlmb3IgKGVuZCA9IGkgKyAxOyBlbmQgPCBucjsgZW5kKyspIHsKKwkJCWlmIChwYXR0ZXJuc1tpXVtwcmVmaXgtPmxlbl0gIT0gcGF0dGVybnNbZW5kXVtwcmVmaXgtPmxlbl0pCisJCQkJYnJlYWs7CisJCX0KKworCQlzdHJidWZfYWRkY2gocHJlZml4LCBwYXR0ZXJuc1tpXVtwcmVmaXgtPmxlbl0pOworCQlmaW5kX2xvbmdlc3RfcHJlZml4ZXNfMShvdXQsIHByZWZpeCwgcGF0dGVybnMgKyBpLCBlbmQgLSBpKTsKKwkJc3RyYnVmX3NldGxlbihwcmVmaXgsIHByZWZpeC0+bGVuIC0gMSk7CisKKwkJaSA9IGVuZDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGZpbmRfbG9uZ2VzdF9wcmVmaXhlcyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKm91dCwKKwkJCQkgIGNvbnN0IGNoYXIgKipwYXR0ZXJucykKK3sKKwlzdHJ1Y3QgYXJndl9hcnJheSBzb3J0ZWQgPSBBUkdWX0FSUkFZX0lOSVQ7CisJc3RydWN0IHN0cmJ1ZiBwcmVmaXggPSBTVFJCVUZfSU5JVDsKKworCWFyZ3ZfYXJyYXlfcHVzaHYoJnNvcnRlZCwgcGF0dGVybnMpOworCVFTT1JUKHNvcnRlZC5hcmd2LCBzb3J0ZWQuYXJnYywgcXNvcnRfc3RyY21wKTsKKworCWZpbmRfbG9uZ2VzdF9wcmVmaXhlc18xKG91dCwgJnByZWZpeCwgc29ydGVkLmFyZ3YsIHNvcnRlZC5hcmdjKTsKKworCWFyZ3ZfYXJyYXlfY2xlYXIoJnNvcnRlZCk7CisJc3RyYnVmX3JlbGVhc2UoJnByZWZpeCk7CiB9CiAKIC8qCkBAIC0xNzg2LDcgKzE5MzgsOCBAQAogCQkJCSAgICAgICB2b2lkICpjYl9kYXRhLAogCQkJCSAgICAgICBpbnQgYnJva2VuKQogewotCXN0cnVjdCBzdHJidWYgcHJlZml4ID0gU1RSQlVGX0lOSVQ7CisJc3RydWN0IHN0cmluZ19saXN0IHByZWZpeGVzID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CisJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKnByZWZpeDsKIAlpbnQgcmV0OwogCiAJaWYgKCFmaWx0ZXItPm1hdGNoX2FzX3BhdGgpIHsKQEAgLTE4MTIsMjEgKzE5NjUsMTUgQEAKIAkJcmV0dXJuIGZvcl9lYWNoX2Z1bGxyZWZfaW4oIiIsIGNiLCBjYl9kYXRhLCBicm9rZW4pOwogCX0KIAotCWlmIChmaWx0ZXItPm5hbWVfcGF0dGVybnNbMV0pIHsKLQkJLyoKLQkJICogbXVsdGlwbGUgcGF0dGVybnM7IGluIHRoZW9yeSB0aGlzIGNvdWxkIHN0aWxsIHdvcmsgYXMgbG9uZwotCQkgKiBhcyB0aGUgcGF0dGVybnMgYXJlIGRpc2pvaW50LiBXZSdkIGp1c3QgbWFrZSBtdWx0aXBsZSBjYWxscwotCQkgKiB0byBmb3JfZWFjaF9yZWYoKS4gQnV0IGlmIHRoZXkncmUgbm90IGRpc2pvaW50LCB3ZSdkIGVuZCB1cAotCQkgKiByZXBvcnRpbmcgdGhlIHNhbWUgcmVmIG11bHRpcGxlIHRpbWVzLiBTbyBsZXQncyBwdW50IG9uIHRoYXQKLQkJICogZm9yIG5vdy4KLQkJICovCi0JCXJldHVybiBmb3JfZWFjaF9mdWxscmVmX2luKCIiLCBjYiwgY2JfZGF0YSwgYnJva2VuKTsKKwlmaW5kX2xvbmdlc3RfcHJlZml4ZXMoJnByZWZpeGVzLCBmaWx0ZXItPm5hbWVfcGF0dGVybnMpOworCisJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShwcmVmaXgsICZwcmVmaXhlcykgeworCQlyZXQgPSBmb3JfZWFjaF9mdWxscmVmX2luKHByZWZpeC0+c3RyaW5nLCBjYiwgY2JfZGF0YSwgYnJva2VuKTsKKwkJaWYgKHJldCkKKwkJCWJyZWFrOwogCX0KIAotCWZpbmRfbG9uZ2VzdF9wcmVmaXgoJnByZWZpeCwgZmlsdGVyLT5uYW1lX3BhdHRlcm5zWzBdKTsKLQotCXJldCA9IGZvcl9lYWNoX2Z1bGxyZWZfaW4ocHJlZml4LmJ1ZiwgY2IsIGNiX2RhdGEsIGJyb2tlbik7Ci0Jc3RyYnVmX3JlbGVhc2UoJnByZWZpeCk7CisJc3RyaW5nX2xpc3RfY2xlYXIoJnByZWZpeGVzLCAwKTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0xODU2LDcgKzIwMDMsNyBAQAogCWlmICghb2JqKQogCQlkaWUoXygibWFsZm9ybWVkIG9iamVjdCBhdCAnJXMnIiksIHJlZm5hbWUpOwogCWlmIChvYmotPnR5cGUgPT0gT0JKX1RBRykKLQkJdGFnZ2VkX29pZCA9ICYoKHN0cnVjdCB0YWcgKilvYmopLT50YWdnZWQtPm9pZDsKKwkJdGFnZ2VkX29pZCA9IGdldF90YWdnZWRfb2lkKChzdHJ1Y3QgdGFnICopb2JqKTsKIAlpZiAodGFnZ2VkX29pZCAmJiBvaWRfYXJyYXlfbG9va3VwKHBvaW50c19hdCwgdGFnZ2VkX29pZCkgPj0gMCkKIAkJcmV0dXJuIHRhZ2dlZF9vaWQ7CiAJcmV0dXJuIE5VTEw7CkBAIC0yMDAxLDcgKzIxNDgsOSBAQAogewogCWZyZWUoKGNoYXIgKilpdGVtLT5zeW1yZWYpOwogCWlmIChpdGVtLT52YWx1ZSkgewotCQlmcmVlKChjaGFyICopaXRlbS0+dmFsdWUtPnMpOworCQlpbnQgaTsKKwkJZm9yIChpID0gMDsgaSA8IHVzZWRfYXRvbV9jbnQ7IGkrKykKKwkJCWZyZWUoKGNoYXIgKilpdGVtLT52YWx1ZVtpXS5zKTsKIAkJZnJlZShpdGVtLT52YWx1ZSk7CiAJfQogCWZyZWUoaXRlbSk7CkBAIC0yMDEyLDE0ICsyMTYxLDIyIEBACiB7CiAJaW50IGk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgdXNlZF9hdG9tX2NudDsgaSsrKQotCQlmcmVlKChjaGFyICopdXNlZF9hdG9tW2ldLm5hbWUpOwotCUZSRUVfQU5EX05VTEwodXNlZF9hdG9tKTsKLQl1c2VkX2F0b21fY250ID0gMDsKIAlmb3IgKGkgPSAwOyBpIDwgYXJyYXktPm5yOyBpKyspCiAJCWZyZWVfYXJyYXlfaXRlbShhcnJheS0+aXRlbXNbaV0pOwogCUZSRUVfQU5EX05VTEwoYXJyYXktPml0ZW1zKTsKIAlhcnJheS0+bnIgPSBhcnJheS0+YWxsb2MgPSAwOworCisJZm9yIChpID0gMDsgaSA8IHVzZWRfYXRvbV9jbnQ7IGkrKykKKwkJZnJlZSgoY2hhciAqKXVzZWRfYXRvbVtpXS5uYW1lKTsKKwlGUkVFX0FORF9OVUxMKHVzZWRfYXRvbSk7CisJdXNlZF9hdG9tX2NudCA9IDA7CisKKwlpZiAocmVmX3RvX3dvcmt0cmVlX21hcC53b3JrdHJlZXMpIHsKKwkJaGFzaG1hcF9mcmVlX2VudHJpZXMoJihyZWZfdG9fd29ya3RyZWVfbWFwLm1hcCksCisJCQkJCXN0cnVjdCByZWZfdG9fd29ya3RyZWVfZW50cnksIGVudCk7CisJCWZyZWVfd29ya3RyZWVzKHJlZl90b193b3JrdHJlZV9tYXAud29ya3RyZWVzKTsKKwkJcmVmX3RvX3dvcmt0cmVlX21hcC53b3JrdHJlZXMgPSBOVUxMOworCX0KIH0KIAogc3RhdGljIHZvaWQgZG9fbWVyZ2VfZmlsdGVyKHN0cnVjdCByZWZfZmlsdGVyX2NiZGF0YSAqcmVmX2NiZGF0YSkKQEAgLTIzMDgsOCArMjQ2NSwxMyBAQAogCiBpbnQgcGFyc2Vfb3B0X3JlZl9zb3J0aW5nKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwgY29uc3QgY2hhciAqYXJnLCBpbnQgdW5zZXQpCiB7Ci0JaWYgKCFhcmcpIC8qIHNob3VsZCAtLW5vLXNvcnQgdm9pZCB0aGUgbGlzdCA/ICovCi0JCXJldHVybiAtMTsKKwkvKgorCSAqIE5FRURTV09SSzogV2Ugc2hvdWxkIHByb2JhYmx5IGNsZWFyIHRoZSBsaXN0IGluIHRoaXMgY2FzZSwgYnV0IHdlJ3ZlCisJICogYWxyZWFkeSBtdW5nZWQgdGhlIGdsb2JhbCB1c2VkX2F0b21zIGxpc3QsIHdoaWNoIHdvdWxkIG5lZWQgdG8gYmUKKwkgKiB1bmRvbmUuCisJICovCisJQlVHX09OX09QVF9ORUcodW5zZXQpOworCiAJcGFyc2VfcmVmX3NvcnRpbmcob3B0LT52YWx1ZSwgYXJnKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTIzMjQsOSArMjQ4NiwxMSBAQAogCiAJaWYgKHJmLT5tZXJnZSkgewogCQlpZiAobm9fbWVyZ2VkKSB7Ci0JCQlyZXR1cm4gb3B0ZXJyb3Iob3B0LCAiaXMgaW5jb21wYXRpYmxlIHdpdGggLS1tZXJnZWQiLCAwKTsKKwkJCXJldHVybiBlcnJvcihfKCJvcHRpb24gYCVzJyBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLW1lcmdlZCIpLAorCQkJCSAgICAgb3B0LT5sb25nX25hbWUpOwogCQl9IGVsc2UgewotCQkJcmV0dXJuIG9wdGVycm9yKG9wdCwgImlzIGluY29tcGF0aWJsZSB3aXRoIC0tbm8tbWVyZ2VkIiwgMCk7CisJCQlyZXR1cm4gZXJyb3IoXygib3B0aW9uIGAlcycgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1uby1tZXJnZWQiKSwKKwkJCQkgICAgIG9wdC0+bG9uZ19uYW1lKTsKIAkJfQogCX0KIApAQCAtMjM0MCw3ICsyNTA0LDcgQEAKIAlyZi0+bWVyZ2VfY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHRoZV9yZXBvc2l0b3J5LAogCQkJCQkJCSAgJm9pZCwgMCk7CiAJaWYgKCFyZi0+bWVyZ2VfY29tbWl0KQotCQlyZXR1cm4gb3B0ZXJyb3Iob3B0LCAibXVzdCBwb2ludCB0byBhIGNvbW1pdCIsIDApOworCQlyZXR1cm4gZXJyb3IoXygib3B0aW9uIGAlcycgbXVzdCBwb2ludCB0byBhIGNvbW1pdCIpLCBvcHQtPmxvbmdfbmFtZSk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3JlZi1maWx0ZXIuaCBiL3JlZi1maWx0ZXIuaAppbmRleCA4NWM4ZWJjLi5mMWRjZmY0IDEwMDY0NAotLS0gYS9yZWYtZmlsdGVyLmgKKysrIGIvcmVmLWZpbHRlci5oCkBAIC05Niw2ICs5NiwxMSBAQAogI2RlZmluZSBPUFRfTUVSR0VEKGYsIGgpIF9PUFRfTUVSR0VEX05PX01FUkdFRCgibWVyZ2VkIiwgZiwgaCkKICNkZWZpbmUgT1BUX05PX01FUkdFRChmLCBoKSBfT1BUX01FUkdFRF9OT19NRVJHRUQoIm5vLW1lcmdlZCIsIGYsIGgpCiAKKyNkZWZpbmUgT1BUX1JFRl9TT1JUKHZhcikgXAorCU9QVF9DQUxMQkFDS19GKDAsICJzb3J0IiwgKHZhciksIFwKKwkJICAgICAgIE5fKCJrZXkiKSwgTl8oImZpZWxkIG5hbWUgdG8gc29ydCBvbiIpLCBcCisJCSAgICAgICBQQVJTRV9PUFRfTk9ORUcsIHBhcnNlX29wdF9yZWZfc29ydGluZykKKwogLyoKICAqIEFQSSBmb3IgZmlsdGVyaW5nIGEgc2V0IG9mIHJlZnMuIEJhc2VkIG9uIHRoZSB0eXBlIG9mIHJlZnMgdGhlIHVzZXIKICAqIGhhcyByZXF1ZXN0ZWQsIHdlIGl0ZXJhdGUgdGhyb3VnaCB0aG9zZSByZWZzIGFuZCBhcHBseSBmaWx0ZXJzCmRpZmYgLS1naXQgYS9yZWZsb2ctd2Fsay5oIGIvcmVmbG9nLXdhbGsuaAppbmRleCBjYjNlNzM3Li5mMjY0MDhmIDEwMDY0NAotLS0gYS9yZWZsb2ctd2Fsay5oCisrKyBiL3JlZmxvZy13YWxrLmgKQEAgLTYsMjEgKzYsMjEgQEAKIHN0cnVjdCBjb21taXQ7CiBzdHJ1Y3QgcmVmbG9nX3dhbGtfaW5mbzsKIAotZXh0ZXJuIHZvaWQgaW5pdF9yZWZsb2dfd2FsayhzdHJ1Y3QgcmVmbG9nX3dhbGtfaW5mbyAqKmluZm8pOwotZXh0ZXJuIGludCBhZGRfcmVmbG9nX2Zvcl93YWxrKHN0cnVjdCByZWZsb2dfd2Fsa19pbmZvICppbmZvLAotCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQsIGNvbnN0IGNoYXIgKm5hbWUpOwotZXh0ZXJuIHZvaWQgc2hvd19yZWZsb2dfbWVzc2FnZShzdHJ1Y3QgcmVmbG9nX3dhbGtfaW5mbyAqaW5mbywgaW50LAotCQkJCWNvbnN0IHN0cnVjdCBkYXRlX21vZGUgKiwgaW50IGZvcmNlX2RhdGUpOwotZXh0ZXJuIHZvaWQgZ2V0X3JlZmxvZ19tZXNzYWdlKHN0cnVjdCBzdHJidWYgKnNiLAotCQlzdHJ1Y3QgcmVmbG9nX3dhbGtfaW5mbyAqcmVmbG9nX2luZm8pOwotZXh0ZXJuIGNvbnN0IGNoYXIgKmdldF9yZWZsb2dfaWRlbnQoc3RydWN0IHJlZmxvZ193YWxrX2luZm8gKnJlZmxvZ19pbmZvKTsKLWV4dGVybiB0aW1lc3RhbXBfdCBnZXRfcmVmbG9nX3RpbWVzdGFtcChzdHJ1Y3QgcmVmbG9nX3dhbGtfaW5mbyAqcmVmbG9nX2luZm8pOwotZXh0ZXJuIHZvaWQgZ2V0X3JlZmxvZ19zZWxlY3RvcihzdHJ1Y3Qgc3RyYnVmICpzYiwKLQkJc3RydWN0IHJlZmxvZ193YWxrX2luZm8gKnJlZmxvZ19pbmZvLAotCQljb25zdCBzdHJ1Y3QgZGF0ZV9tb2RlICpkbW9kZSwgaW50IGZvcmNlX2RhdGUsCi0JCWludCBzaG9ydGVuKTsKK3ZvaWQgaW5pdF9yZWZsb2dfd2FsayhzdHJ1Y3QgcmVmbG9nX3dhbGtfaW5mbyAqKmluZm8pOworaW50IGFkZF9yZWZsb2dfZm9yX3dhbGsoc3RydWN0IHJlZmxvZ193YWxrX2luZm8gKmluZm8sCisJCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQsIGNvbnN0IGNoYXIgKm5hbWUpOwordm9pZCBzaG93X3JlZmxvZ19tZXNzYWdlKHN0cnVjdCByZWZsb2dfd2Fsa19pbmZvICppbmZvLCBpbnQsCisJCQkgY29uc3Qgc3RydWN0IGRhdGVfbW9kZSAqLCBpbnQgZm9yY2VfZGF0ZSk7Cit2b2lkIGdldF9yZWZsb2dfbWVzc2FnZShzdHJ1Y3Qgc3RyYnVmICpzYiwKKwkJCXN0cnVjdCByZWZsb2dfd2Fsa19pbmZvICpyZWZsb2dfaW5mbyk7Citjb25zdCBjaGFyICpnZXRfcmVmbG9nX2lkZW50KHN0cnVjdCByZWZsb2dfd2Fsa19pbmZvICpyZWZsb2dfaW5mbyk7Cit0aW1lc3RhbXBfdCBnZXRfcmVmbG9nX3RpbWVzdGFtcChzdHJ1Y3QgcmVmbG9nX3dhbGtfaW5mbyAqcmVmbG9nX2luZm8pOwordm9pZCBnZXRfcmVmbG9nX3NlbGVjdG9yKHN0cnVjdCBzdHJidWYgKnNiLAorCQkJIHN0cnVjdCByZWZsb2dfd2Fsa19pbmZvICpyZWZsb2dfaW5mbywKKwkJCSBjb25zdCBzdHJ1Y3QgZGF0ZV9tb2RlICpkbW9kZSwgaW50IGZvcmNlX2RhdGUsCisJCQkgaW50IHNob3J0ZW4pOwogCi1leHRlcm4gaW50IHJlZmxvZ193YWxrX2VtcHR5KHN0cnVjdCByZWZsb2dfd2Fsa19pbmZvICp3YWxrKTsKK2ludCByZWZsb2dfd2Fsa19lbXB0eShzdHJ1Y3QgcmVmbG9nX3dhbGtfaW5mbyAqd2Fsayk7CiAKIHN0cnVjdCBjb21taXQgKm5leHRfcmVmbG9nX2VudHJ5KHN0cnVjdCByZWZsb2dfd2Fsa19pbmZvICpyZWZsb2dfaW5mbyk7CiAKZGlmZiAtLWdpdCBhL3JlZnMuYyBiL3JlZnMuYwppbmRleCBmOTkzNjM1Li4xYWIwYmI1IDEwMDY0NAotLS0gYS9yZWZzLmMKKysrIGIvcmVmcy5jCkBAIC02Myw3ICs2Myw3IEBACiAgKiBub3QgbGVnYWwuICBJdCBpcyBsZWdhbCBpZiBpdCBpcyBzb21ldGhpbmcgcmVhc29uYWJsZSB0byBoYXZlIHVuZGVyCiAgKiAiLmdpdC9yZWZzLyI7IFdlIGRvIG5vdCBsaWtlIGl0IGlmOgogICoKLSAqIC0gYW55IHBhdGggY29tcG9uZW50IG9mIGl0IGJlZ2lucyB3aXRoICIuIiwgb3IKKyAqIC0gaXQgYmVnaW5zIHdpdGggIi4iLCBvcgogICogLSBpdCBoYXMgZG91YmxlIGRvdHMgIi4uIiwgb3IKICAqIC0gaXQgaGFzIEFTQ0lJIGNvbnRyb2wgY2hhcmFjdGVycywgb3IKICAqIC0gaXQgaGFzICI6IiwgIj8iLCAiWyIsICJcIiwgIl4iLCAifiIsIFNQLCBvciBUQUIgYW55d2hlcmUsIG9yCkBAIC03MSwzMSArNzEsNjMgQEAKICAqIC0gaXQgZW5kcyB3aXRoIGEgIi8iLCBvcgogICogLSBpdCBlbmRzIHdpdGggIi5sb2NrIiwgb3IKICAqIC0gaXQgY29udGFpbnMgYSAiQHsiIHBvcnRpb24KKyAqCisgKiBXaGVuIHNhbml0aXplZCBpcyBub3QgTlVMTCwgaW5zdGVhZCBvZiByZWplY3RpbmcgdGhlIGlucHV0IHJlZm5hbWUKKyAqIGFzIGFuIGVycm9yLCB0cnkgdG8gY29tZSB1cCB3aXRoIGEgdXNhYmxlIHJlcGxhY2VtZW50IGZvciB0aGUgaW5wdXQKKyAqIHJlZm5hbWUgaW4gaXQuCiAgKi8KLXN0YXRpYyBpbnQgY2hlY2tfcmVmbmFtZV9jb21wb25lbnQoY29uc3QgY2hhciAqcmVmbmFtZSwgaW50ICpmbGFncykKK3N0YXRpYyBpbnQgY2hlY2tfcmVmbmFtZV9jb21wb25lbnQoY29uc3QgY2hhciAqcmVmbmFtZSwgaW50ICpmbGFncywKKwkJCQkgICBzdHJ1Y3Qgc3RyYnVmICpzYW5pdGl6ZWQpCiB7CiAJY29uc3QgY2hhciAqY3A7CiAJY2hhciBsYXN0ID0gJ1wwJzsKKwlzaXplX3QgY29tcG9uZW50X3N0YXJ0ID0gMDsgLyogZ2FyYmFnZSAtIG5vdCBhIHJlYXNvbmFibGUgaW5pdGlhbCB2YWx1ZSAqLworCisJaWYgKHNhbml0aXplZCkKKwkJY29tcG9uZW50X3N0YXJ0ID0gc2FuaXRpemVkLT5sZW47CiAKIAlmb3IgKGNwID0gcmVmbmFtZTsgOyBjcCsrKSB7CiAJCWludCBjaCA9ICpjcCAmIDI1NTsKIAkJdW5zaWduZWQgY2hhciBkaXNwID0gcmVmbmFtZV9kaXNwb3NpdGlvbltjaF07CisKKwkJaWYgKHNhbml0aXplZCAmJiBkaXNwICE9IDEpCisJCQlzdHJidWZfYWRkY2goc2FuaXRpemVkLCBjaCk7CisKIAkJc3dpdGNoIChkaXNwKSB7CiAJCWNhc2UgMToKIAkJCWdvdG8gb3V0OwogCQljYXNlIDI6Ci0JCQlpZiAobGFzdCA9PSAnLicpCi0JCQkJcmV0dXJuIC0xOyAvKiBSZWZuYW1lIGNvbnRhaW5zICIuLiIuICovCisJCQlpZiAobGFzdCA9PSAnLicpIHsgLyogUmVmbmFtZSBjb250YWlucyAiLi4iLiAqLworCQkJCWlmIChzYW5pdGl6ZWQpCisJCQkJCS8qIGNvbGxhcHNlICIuLiIgdG8gc2luZ2xlICIuIiAqLworCQkJCQlzdHJidWZfc2V0bGVuKHNhbml0aXplZCwgc2FuaXRpemVkLT5sZW4gLSAxKTsKKwkJCQllbHNlCisJCQkJCXJldHVybiAtMTsKKwkJCX0KIAkJCWJyZWFrOwogCQljYXNlIDM6Ci0JCQlpZiAobGFzdCA9PSAnQCcpCi0JCQkJcmV0dXJuIC0xOyAvKiBSZWZuYW1lIGNvbnRhaW5zICJAeyIuICovCisJCQlpZiAobGFzdCA9PSAnQCcpIHsgLyogUmVmbmFtZSBjb250YWlucyAiQHsiLiAqLworCQkJCWlmIChzYW5pdGl6ZWQpCisJCQkJCXNhbml0aXplZC0+YnVmW3Nhbml0aXplZC0+bGVuLTFdID0gJy0nOworCQkJCWVsc2UKKwkJCQkJcmV0dXJuIC0xOworCQkJfQogCQkJYnJlYWs7CiAJCWNhc2UgNDoKLQkJCXJldHVybiAtMTsKKwkJCS8qIGZvcmJpZGRlbiBjaGFyICovCisJCQlpZiAoc2FuaXRpemVkKQorCQkJCXNhbml0aXplZC0+YnVmW3Nhbml0aXplZC0+bGVuLTFdID0gJy0nOworCQkJZWxzZQorCQkJCXJldHVybiAtMTsKKwkJCWJyZWFrOwogCQljYXNlIDU6Ci0JCQlpZiAoISgqZmxhZ3MgJiBSRUZOQU1FX1JFRlNQRUNfUEFUVEVSTikpCi0JCQkJcmV0dXJuIC0xOyAvKiByZWZzcGVjIGNhbid0IGJlIGEgcGF0dGVybiAqLworCQkJaWYgKCEoKmZsYWdzICYgUkVGTkFNRV9SRUZTUEVDX1BBVFRFUk4pKSB7CisJCQkJLyogcmVmc3BlYyBjYW4ndCBiZSBhIHBhdHRlcm4gKi8KKwkJCQlpZiAoc2FuaXRpemVkKQorCQkJCQlzYW5pdGl6ZWQtPmJ1ZltzYW5pdGl6ZWQtPmxlbi0xXSA9ICctJzsKKwkJCQllbHNlCisJCQkJCXJldHVybiAtMTsKKwkJCX0KIAogCQkJLyoKIAkJCSAqIFVuc2V0IHRoZSBwYXR0ZXJuIGZsYWcgc28gdGhhdCB3ZSBvbmx5IGFjY2VwdApAQCAtMTA5LDI2ICsxNDEsNDggQEAKIG91dDoKIAlpZiAoY3AgPT0gcmVmbmFtZSkKIAkJcmV0dXJuIDA7IC8qIENvbXBvbmVudCBoYXMgemVybyBsZW5ndGguICovCi0JaWYgKHJlZm5hbWVbMF0gPT0gJy4nKQotCQlyZXR1cm4gLTE7IC8qIENvbXBvbmVudCBzdGFydHMgd2l0aCAnLicuICovCisKKwlpZiAocmVmbmFtZVswXSA9PSAnLicpIHsgLyogQ29tcG9uZW50IHN0YXJ0cyB3aXRoICcuJy4gKi8KKwkJaWYgKHNhbml0aXplZCkKKwkJCXNhbml0aXplZC0+YnVmW2NvbXBvbmVudF9zdGFydF0gPSAnLSc7CisJCWVsc2UKKwkJCXJldHVybiAtMTsKKwl9CiAJaWYgKGNwIC0gcmVmbmFtZSA+PSBMT0NLX1NVRkZJWF9MRU4gJiYKLQkgICAgIW1lbWNtcChjcCAtIExPQ0tfU1VGRklYX0xFTiwgTE9DS19TVUZGSVgsIExPQ0tfU1VGRklYX0xFTikpCi0JCXJldHVybiAtMTsgLyogUmVmbmFtZSBlbmRzIHdpdGggIi5sb2NrIi4gKi8KKwkgICAgIW1lbWNtcChjcCAtIExPQ0tfU1VGRklYX0xFTiwgTE9DS19TVUZGSVgsIExPQ0tfU1VGRklYX0xFTikpIHsKKwkJaWYgKCFzYW5pdGl6ZWQpCisJCQlyZXR1cm4gLTE7CisJCS8qIFJlZm5hbWUgZW5kcyB3aXRoICIubG9jayIuICovCisJCXdoaWxlIChzdHJidWZfc3RyaXBfc3VmZml4KHNhbml0aXplZCwgTE9DS19TVUZGSVgpKSB7CisJCQkvKiB0cnkgYWdhaW4gaW4gY2FzZSB3ZSBoYXZlIC5sb2NrLmxvY2sgKi8KKwkJfQorCX0KIAlyZXR1cm4gY3AgLSByZWZuYW1lOwogfQogCi1pbnQgY2hlY2tfcmVmbmFtZV9mb3JtYXQoY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IGZsYWdzKQorc3RhdGljIGludCBjaGVja19vcl9zYW5pdGl6ZV9yZWZuYW1lKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGludCBmbGFncywKKwkJCQkgICAgIHN0cnVjdCBzdHJidWYgKnNhbml0aXplZCkKIHsKIAlpbnQgY29tcG9uZW50X2xlbiwgY29tcG9uZW50X2NvdW50ID0gMDsKIAotCWlmICghc3RyY21wKHJlZm5hbWUsICJAIikpCisJaWYgKCFzdHJjbXAocmVmbmFtZSwgIkAiKSkgewogCQkvKiBSZWZuYW1lIGlzIGEgc2luZ2xlIGNoYXJhY3RlciAnQCcuICovCi0JCXJldHVybiAtMTsKKwkJaWYgKHNhbml0aXplZCkKKwkJCXN0cmJ1Zl9hZGRjaChzYW5pdGl6ZWQsICctJyk7CisJCWVsc2UKKwkJCXJldHVybiAtMTsKKwl9CiAKIAl3aGlsZSAoMSkgeworCQlpZiAoc2FuaXRpemVkICYmIHNhbml0aXplZC0+bGVuKQorCQkJc3RyYnVmX2NvbXBsZXRlKHNhbml0aXplZCwgJy8nKTsKKwogCQkvKiBXZSBhcmUgYXQgdGhlIHN0YXJ0IG9mIGEgcGF0aCBjb21wb25lbnQuICovCi0JCWNvbXBvbmVudF9sZW4gPSBjaGVja19yZWZuYW1lX2NvbXBvbmVudChyZWZuYW1lLCAmZmxhZ3MpOwotCQlpZiAoY29tcG9uZW50X2xlbiA8PSAwKQorCQljb21wb25lbnRfbGVuID0gY2hlY2tfcmVmbmFtZV9jb21wb25lbnQocmVmbmFtZSwgJmZsYWdzLAorCQkJCQkJCXNhbml0aXplZCk7CisJCWlmIChzYW5pdGl6ZWQgJiYgY29tcG9uZW50X2xlbiA9PSAwKQorCQkJOyAvKiBPSywgb21pdCBlbXB0eSBjb21wb25lbnQgKi8KKwkJZWxzZSBpZiAoY29tcG9uZW50X2xlbiA8PSAwKQogCQkJcmV0dXJuIC0xOwogCiAJCWNvbXBvbmVudF9jb3VudCsrOwpAQCAtMTM4LDEzICsxOTIsMjkgQEAKIAkJcmVmbmFtZSArPSBjb21wb25lbnRfbGVuICsgMTsKIAl9CiAKLQlpZiAocmVmbmFtZVtjb21wb25lbnRfbGVuIC0gMV0gPT0gJy4nKQotCQlyZXR1cm4gLTE7IC8qIFJlZm5hbWUgZW5kcyB3aXRoICcuJy4gKi8KKwlpZiAocmVmbmFtZVtjb21wb25lbnRfbGVuIC0gMV0gPT0gJy4nKSB7CisJCS8qIFJlZm5hbWUgZW5kcyB3aXRoICcuJy4gKi8KKwkJaWYgKHNhbml0aXplZCkKKwkJCTsgLyogb21pdCBlbmRpbmcgZG90ICovCisJCWVsc2UKKwkJCXJldHVybiAtMTsKKwl9CiAJaWYgKCEoZmxhZ3MgJiBSRUZOQU1FX0FMTE9XX09ORUxFVkVMKSAmJiBjb21wb25lbnRfY291bnQgPCAyKQogCQlyZXR1cm4gLTE7IC8qIFJlZm5hbWUgaGFzIG9ubHkgb25lIGNvbXBvbmVudC4gKi8KIAlyZXR1cm4gMDsKIH0KIAoraW50IGNoZWNrX3JlZm5hbWVfZm9ybWF0KGNvbnN0IGNoYXIgKnJlZm5hbWUsIGludCBmbGFncykKK3sKKwlyZXR1cm4gY2hlY2tfb3Jfc2FuaXRpemVfcmVmbmFtZShyZWZuYW1lLCBmbGFncywgTlVMTCk7Cit9CisKK3ZvaWQgc2FuaXRpemVfcmVmbmFtZV9jb21wb25lbnQoY29uc3QgY2hhciAqcmVmbmFtZSwgc3RydWN0IHN0cmJ1ZiAqb3V0KQoreworCWlmIChjaGVja19vcl9zYW5pdGl6ZV9yZWZuYW1lKHJlZm5hbWUsIFJFRk5BTUVfQUxMT1dfT05FTEVWRUwsIG91dCkpCisJCUJVRygic2FuaXRpemluZyByZWZuYW1lICclcycgY2hlY2sgcmV0dXJuZWQgZXJyb3IiLCByZWZuYW1lKTsKK30KKwogaW50IHJlZm5hbWVfaXNfc2FmZShjb25zdCBjaGFyICpyZWZuYW1lKQogewogCWNvbnN0IGNoYXIgKnJlc3Q7CkBAIC0xODgsNyArMjU4LDcgQEAKIHsKIAlpZiAoZmxhZ3MgJiBSRUZfSVNCUk9LRU4pCiAJCXJldHVybiAwOwotCWlmICghaGFzX3NoYTFfZmlsZShvaWQtPmhhc2gpKSB7CisJaWYgKCFoYXNfb2JqZWN0X2ZpbGUob2lkKSkgewogCQllcnJvcihfKCIlcyBkb2VzIG5vdCBwb2ludCB0byBhIHZhbGlkIG9iamVjdCEiKSwgcmVmbmFtZSk7CiAJCXJldHVybiAwOwogCX0KQEAgLTI0MSw5ICszMTEsMTQgQEAKIAlyZXR1cm4gcmVhZF9yZWZfZnVsbChyZWZuYW1lLCBSRVNPTFZFX1JFRl9SRUFESU5HLCBvaWQsIE5VTEwpOwogfQogCitzdGF0aWMgaW50IHJlZnNfcmVmX2V4aXN0cyhzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBjb25zdCBjaGFyICpyZWZuYW1lKQoreworCXJldHVybiAhIXJlZnNfcmVzb2x2ZV9yZWZfdW5zYWZlKHJlZnMsIHJlZm5hbWUsIFJFU09MVkVfUkVGX1JFQURJTkcsIE5VTEwsIE5VTEwpOworfQorCiBpbnQgcmVmX2V4aXN0cyhjb25zdCBjaGFyICpyZWZuYW1lKQogewotCXJldHVybiAhIXJlc29sdmVfcmVmX3Vuc2FmZShyZWZuYW1lLCBSRVNPTFZFX1JFRl9SRUFESU5HLCBOVUxMLCBOVUxMKTsKKwlyZXR1cm4gcmVmc19yZWZfZXhpc3RzKGdldF9tYWluX3JlZl9zdG9yZSh0aGVfcmVwb3NpdG9yeSksIHJlZm5hbWUpOwogfQogCiBzdGF0aWMgaW50IG1hdGNoX3JlZl9wYXR0ZXJuKGNvbnN0IGNoYXIgKnJlZm5hbWUsCkBAIC0zMDQsNyArMzc5LDcgQEAKIAogZW51bSBwZWVsX3N0YXR1cyBwZWVsX29iamVjdChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpuYW1lLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0Jc3RydWN0IG9iamVjdCAqbyA9IGxvb2t1cF91bmtub3duX29iamVjdChuYW1lLT5oYXNoKTsKKwlzdHJ1Y3Qgb2JqZWN0ICpvID0gbG9va3VwX3Vua25vd25fb2JqZWN0KG5hbWUpOwogCiAJaWYgKG8tPnR5cGUgPT0gT0JKX05PTkUpIHsKIAkJaW50IHR5cGUgPSBvaWRfb2JqZWN0X2luZm8odGhlX3JlcG9zaXRvcnksIG5hbWUsIE5VTEwpOwpAQCAtNTM0LDEwICs2MDksMTEgQEAKICAqIGxhdGVyIGZyZWUoKWluZykgaWYgdGhlIHN0cmluZyBwYXNzZWQgaW4gaXMgYSBtYWdpYyBzaG9ydC1oYW5kIGZvcm0KICAqIHRvIG5hbWUgYSBicmFuY2guCiAgKi8KLXN0YXRpYyBjaGFyICpzdWJzdGl0dXRlX2JyYW5jaF9uYW1lKGNvbnN0IGNoYXIgKipzdHJpbmcsIGludCAqbGVuKQorc3RhdGljIGNoYXIgKnN1YnN0aXR1dGVfYnJhbmNoX25hbWUoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJICAgIGNvbnN0IGNoYXIgKipzdHJpbmcsIGludCAqbGVuKQogewogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7Ci0JaW50IHJldCA9IGludGVycHJldF9icmFuY2hfbmFtZSgqc3RyaW5nLCAqbGVuLCAmYnVmLCAwKTsKKwlpbnQgcmV0ID0gcmVwb19pbnRlcnByZXRfYnJhbmNoX25hbWUociwgKnN0cmluZywgKmxlbiwgJmJ1ZiwgMCk7CiAKIAlpZiAocmV0ID09ICpsZW4pIHsKIAkJc2l6ZV90IHNpemU7CkBAIC01NDksMTUgKzYyNSwyMiBAQAogCXJldHVybiBOVUxMOwogfQogCi1pbnQgZHdpbV9yZWYoY29uc3QgY2hhciAqc3RyLCBpbnQgbGVuLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNoYXIgKipyZWYpCitpbnQgcmVwb19kd2ltX3JlZihzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqc3RyLCBpbnQgbGVuLAorCQkgIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY2hhciAqKnJlZikKIHsKLQljaGFyICpsYXN0X2JyYW5jaCA9IHN1YnN0aXR1dGVfYnJhbmNoX25hbWUoJnN0ciwgJmxlbik7Ci0JaW50ICAgcmVmc19mb3VuZCAgPSBleHBhbmRfcmVmKHN0ciwgbGVuLCBvaWQsIHJlZik7CisJY2hhciAqbGFzdF9icmFuY2ggPSBzdWJzdGl0dXRlX2JyYW5jaF9uYW1lKHIsICZzdHIsICZsZW4pOworCWludCAgIHJlZnNfZm91bmQgID0gZXhwYW5kX3JlZihyLCBzdHIsIGxlbiwgb2lkLCByZWYpOwogCWZyZWUobGFzdF9icmFuY2gpOwogCXJldHVybiByZWZzX2ZvdW5kOwogfQogCi1pbnQgZXhwYW5kX3JlZihjb25zdCBjaGFyICpzdHIsIGludCBsZW4sIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY2hhciAqKnJlZikKK2ludCBkd2ltX3JlZihjb25zdCBjaGFyICpzdHIsIGludCBsZW4sIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY2hhciAqKnJlZikKK3sKKwlyZXR1cm4gcmVwb19kd2ltX3JlZih0aGVfcmVwb3NpdG9yeSwgc3RyLCBsZW4sIG9pZCwgcmVmKTsKK30KKworaW50IGV4cGFuZF9yZWYoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sIGNvbnN0IGNoYXIgKnN0ciwgaW50IGxlbiwKKwkgICAgICAgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjaGFyICoqcmVmKQogewogCWNvbnN0IGNoYXIgKipwLCAqcjsKIAlpbnQgcmVmc19mb3VuZCA9IDA7CkBAIC01NzIsOCArNjU1LDkgQEAKIAkJdGhpc19yZXN1bHQgPSByZWZzX2ZvdW5kID8gJm9pZF9mcm9tX3JlZiA6IG9pZDsKIAkJc3RyYnVmX3Jlc2V0KCZmdWxscmVmKTsKIAkJc3RyYnVmX2FkZGYoJmZ1bGxyZWYsICpwLCBsZW4sIHN0cik7Ci0JCXIgPSByZXNvbHZlX3JlZl91bnNhZmUoZnVsbHJlZi5idWYsIFJFU09MVkVfUkVGX1JFQURJTkcsCi0JCQkJICAgICAgIHRoaXNfcmVzdWx0LCAmZmxhZyk7CisJCXIgPSByZWZzX3Jlc29sdmVfcmVmX3Vuc2FmZShnZXRfbWFpbl9yZWZfc3RvcmUocmVwbyksCisJCQkJCSAgICBmdWxscmVmLmJ1ZiwgUkVTT0xWRV9SRUZfUkVBRElORywKKwkJCQkJICAgIHRoaXNfcmVzdWx0LCAmZmxhZyk7CiAJCWlmIChyKSB7CiAJCQlpZiAoIXJlZnNfZm91bmQrKykKIAkJCQkqcmVmID0geHN0cmR1cChyKTsKQEAgLTU4OSw5ICs2NzMsMTEgQEAKIAlyZXR1cm4gcmVmc19mb3VuZDsKIH0KIAotaW50IGR3aW1fbG9nKGNvbnN0IGNoYXIgKnN0ciwgaW50IGxlbiwgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjaGFyICoqbG9nKQoraW50IHJlcG9fZHdpbV9sb2coc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IGNoYXIgKnN0ciwgaW50IGxlbiwKKwkJICBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNoYXIgKipsb2cpCiB7Ci0JY2hhciAqbGFzdF9icmFuY2ggPSBzdWJzdGl0dXRlX2JyYW5jaF9uYW1lKCZzdHIsICZsZW4pOworCXN0cnVjdCByZWZfc3RvcmUgKnJlZnMgPSBnZXRfbWFpbl9yZWZfc3RvcmUocik7CisJY2hhciAqbGFzdF9icmFuY2ggPSBzdWJzdGl0dXRlX2JyYW5jaF9uYW1lKHIsICZzdHIsICZsZW4pOwogCWNvbnN0IGNoYXIgKipwOwogCWludCBsb2dzX2ZvdW5kID0gMDsKIAlzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKQEAgLTYwMywxMyArNjg5LDE1IEBACiAKIAkJc3RyYnVmX3Jlc2V0KCZwYXRoKTsKIAkJc3RyYnVmX2FkZGYoJnBhdGgsICpwLCBsZW4sIHN0cik7Ci0JCXJlZiA9IHJlc29sdmVfcmVmX3Vuc2FmZShwYXRoLmJ1ZiwgUkVTT0xWRV9SRUZfUkVBRElORywKLQkJCQkJICZoYXNoLCBOVUxMKTsKKwkJcmVmID0gcmVmc19yZXNvbHZlX3JlZl91bnNhZmUocmVmcywgcGF0aC5idWYsCisJCQkJCSAgICAgIFJFU09MVkVfUkVGX1JFQURJTkcsCisJCQkJCSAgICAgICZoYXNoLCBOVUxMKTsKIAkJaWYgKCFyZWYpCiAJCQljb250aW51ZTsKLQkJaWYgKHJlZmxvZ19leGlzdHMocGF0aC5idWYpKQorCQlpZiAocmVmc19yZWZsb2dfZXhpc3RzKHJlZnMsIHBhdGguYnVmKSkKIAkJCWl0ID0gcGF0aC5idWY7Ci0JCWVsc2UgaWYgKHN0cmNtcChyZWYsIHBhdGguYnVmKSAmJiByZWZsb2dfZXhpc3RzKHJlZikpCisJCWVsc2UgaWYgKHN0cmNtcChyZWYsIHBhdGguYnVmKSAmJgorCQkJIHJlZnNfcmVmbG9nX2V4aXN0cyhyZWZzLCByZWYpKQogCQkJaXQgPSByZWY7CiAJCWVsc2UKIAkJCWNvbnRpbnVlOwpAQCAtNjI1LDYgKzcxMywxMSBAQAogCXJldHVybiBsb2dzX2ZvdW5kOwogfQogCitpbnQgZHdpbV9sb2coY29uc3QgY2hhciAqc3RyLCBpbnQgbGVuLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNoYXIgKipsb2cpCit7CisJcmV0dXJuIHJlcG9fZHdpbV9sb2codGhlX3JlcG9zaXRvcnksIHN0ciwgbGVuLCBvaWQsIGxvZyk7Cit9CisKIHN0YXRpYyBpbnQgaXNfcGVyX3dvcmt0cmVlX3JlZihjb25zdCBjaGFyICpyZWZuYW1lKQogewogCXJldHVybiAhc3RyY21wKHJlZm5hbWUsICJIRUFEIikgfHwKQEAgLTk0NCw3ICsxMDM3LDggQEAKIAlyZXR1cm4gMTsKIH0KIAotaW50IHJlYWRfcmVmX2F0KGNvbnN0IGNoYXIgKnJlZm5hbWUsIHVuc2lnbmVkIGludCBmbGFncywgdGltZXN0YW1wX3QgYXRfdGltZSwgaW50IGNudCwKK2ludCByZWFkX3JlZl9hdChzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBjb25zdCBjaGFyICpyZWZuYW1lLAorCQl1bnNpZ25lZCBpbnQgZmxhZ3MsIHRpbWVzdGFtcF90IGF0X3RpbWUsIGludCBjbnQsCiAJCXN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY2hhciAqKm1zZywKIAkJdGltZXN0YW1wX3QgKmN1dG9mZl90aW1lLCBpbnQgKmN1dG9mZl90eiwgaW50ICpjdXRvZmZfY250KQogewpAQCAtOTYwLDcgKzEwNTQsNyBAQAogCWNiLmN1dG9mZl9jbnQgPSBjdXRvZmZfY250OwogCWNiLm9pZCA9IG9pZDsKIAotCWZvcl9lYWNoX3JlZmxvZ19lbnRfcmV2ZXJzZShyZWZuYW1lLCByZWFkX3JlZl9hdF9lbnQsICZjYik7CisJcmVmc19mb3JfZWFjaF9yZWZsb2dfZW50X3JldmVyc2UocmVmcywgcmVmbmFtZSwgcmVhZF9yZWZfYXRfZW50LCAmY2IpOwogCiAJaWYgKCFjYi5yZWNjbnQpIHsKIAkJaWYgKGZsYWdzICYgR0VUX09JRF9RVUlFVExZKQpAQCAtOTcxLDcgKzEwNjUsNyBAQAogCWlmIChjYi5mb3VuZF9pdCkKIAkJcmV0dXJuIDA7CiAKLQlmb3JfZWFjaF9yZWZsb2dfZW50KHJlZm5hbWUsIHJlYWRfcmVmX2F0X2VudF9vbGRlc3QsICZjYik7CisJcmVmc19mb3JfZWFjaF9yZWZsb2dfZW50KHJlZnMsIHJlZm5hbWUsIHJlYWRfcmVmX2F0X2VudF9vbGRlc3QsICZjYik7CiAKIAlyZXR1cm4gMTsKIH0KQEAgLTExNjQsNyArMTI1OCw4IEBACiAJCQkgICAgICAgb2xkX29pZCwgZmxhZ3MsIG9uZXJyKTsKIH0KIAotY2hhciAqc2hvcnRlbl91bmFtYmlndW91c19yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IHN0cmljdCkKK2NoYXIgKnJlZnNfc2hvcnRlbl91bmFtYmlndW91c19yZWYoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKKwkJCQkgICBjb25zdCBjaGFyICpyZWZuYW1lLCBpbnQgc3RyaWN0KQogewogCWludCBpOwogCXN0YXRpYyBjaGFyICoqc2NhbmZfZm10czsKQEAgLTEyNDIsNyArMTMzNyw3IEBACiAJCQlzdHJidWZfcmVzZXQoJnJlc29sdmVkX2J1Zik7CiAJCQlzdHJidWZfYWRkZigmcmVzb2x2ZWRfYnVmLCBydWxlLAogCQkJCSAgICBzaG9ydF9uYW1lX2xlbiwgc2hvcnRfbmFtZSk7Ci0JCQlpZiAocmVmX2V4aXN0cyhyZXNvbHZlZF9idWYuYnVmKSkKKwkJCWlmIChyZWZzX3JlZl9leGlzdHMocmVmcywgcmVzb2x2ZWRfYnVmLmJ1ZikpCiAJCQkJYnJlYWs7CiAJCX0KIApAQCAtMTI2MSw2ICsxMzU2LDEyIEBACiAJcmV0dXJuIHhzdHJkdXAocmVmbmFtZSk7CiB9CiAKK2NoYXIgKnNob3J0ZW5fdW5hbWJpZ3VvdXNfcmVmKGNvbnN0IGNoYXIgKnJlZm5hbWUsIGludCBzdHJpY3QpCit7CisJcmV0dXJuIHJlZnNfc2hvcnRlbl91bmFtYmlndW91c19yZWYoZ2V0X21haW5fcmVmX3N0b3JlKHRoZV9yZXBvc2l0b3J5KSwKKwkJCQkJICAgIHJlZm5hbWUsIHN0cmljdCk7Cit9CisKIHN0YXRpYyBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmhpZGVfcmVmczsKIAogaW50IHBhcnNlX2hpZGVfcmVmc19jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgY29uc3QgY2hhciAqc2VjdGlvbikKQEAgLTE2NzEsNyArMTc3Miw3IEBACiAKIHN0cnVjdCByZWZfc3RvcmVfaGFzaF9lbnRyeQogewotCXN0cnVjdCBoYXNobWFwX2VudHJ5IGVudDsgLyogbXVzdCBiZSB0aGUgZmlyc3QgbWVtYmVyISAqLworCXN0cnVjdCBoYXNobWFwX2VudHJ5IGVudDsKIAogCXN0cnVjdCByZWZfc3RvcmUgKnJlZnM7CiAKQEAgLTE2ODAsMTEgKzE3ODEsMTYgQEAKIH07CiAKIHN0YXRpYyBpbnQgcmVmX3N0b3JlX2hhc2hfY21wKGNvbnN0IHZvaWQgKnVudXNlZF9jbXBfZGF0YSwKLQkJCSAgICAgIGNvbnN0IHZvaWQgKmVudHJ5LCBjb25zdCB2b2lkICplbnRyeV9vcl9rZXksCisJCQkgICAgICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZXB0ciwKKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeV9vcl9rZXksCiAJCQkgICAgICBjb25zdCB2b2lkICprZXlkYXRhKQogewotCWNvbnN0IHN0cnVjdCByZWZfc3RvcmVfaGFzaF9lbnRyeSAqZTEgPSBlbnRyeSwgKmUyID0gZW50cnlfb3Jfa2V5OwotCWNvbnN0IGNoYXIgKm5hbWUgPSBrZXlkYXRhID8ga2V5ZGF0YSA6IGUyLT5uYW1lOworCWNvbnN0IHN0cnVjdCByZWZfc3RvcmVfaGFzaF9lbnRyeSAqZTEsICplMjsKKwljb25zdCBjaGFyICpuYW1lOworCisJZTEgPSBjb250YWluZXJfb2YoZXB0ciwgY29uc3Qgc3RydWN0IHJlZl9zdG9yZV9oYXNoX2VudHJ5LCBlbnQpOworCWUyID0gY29udGFpbmVyX29mKGVudHJ5X29yX2tleSwgY29uc3Qgc3RydWN0IHJlZl9zdG9yZV9oYXNoX2VudHJ5LCBlbnQpOworCW5hbWUgPSBrZXlkYXRhID8ga2V5ZGF0YSA6IGUyLT5uYW1lOwogCiAJcmV0dXJuIHN0cmNtcChlMS0+bmFtZSwgbmFtZSk7CiB9CkBAIC0xNjk1LDcgKzE4MDEsNyBAQAogCXN0cnVjdCByZWZfc3RvcmVfaGFzaF9lbnRyeSAqZW50cnk7CiAKIAlGTEVYX0FMTE9DX1NUUihlbnRyeSwgbmFtZSwgbmFtZSk7Ci0JaGFzaG1hcF9lbnRyeV9pbml0KGVudHJ5LCBzdHJoYXNoKG5hbWUpKTsKKwloYXNobWFwX2VudHJ5X2luaXQoJmVudHJ5LT5lbnQsIHN0cmhhc2gobmFtZSkpOwogCWVudHJ5LT5yZWZzID0gcmVmczsKIAlyZXR1cm4gZW50cnk7CiB9CkBAIC0xNzE0LDEyICsxODIwLDE1IEBACiAJCQkJCSAgICAgIGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAJc3RydWN0IHJlZl9zdG9yZV9oYXNoX2VudHJ5ICplbnRyeTsKKwl1bnNpZ25lZCBpbnQgaGFzaDsKIAogCWlmICghbWFwLT50YWJsZXNpemUpCiAJCS8qIEl0J3MgaW5pdGlhbGl6ZWQgb24gZGVtYW5kIGluIHJlZ2lzdGVyX3JlZl9zdG9yZSgpLiAqLwogCQlyZXR1cm4gTlVMTDsKIAotCWVudHJ5ID0gaGFzaG1hcF9nZXRfZnJvbV9oYXNoKG1hcCwgc3RyaGFzaChuYW1lKSwgbmFtZSk7CisJaGFzaCA9IHN0cmhhc2gobmFtZSk7CisJZW50cnkgPSBoYXNobWFwX2dldF9lbnRyeV9mcm9tX2hhc2gobWFwLCBoYXNoLCBuYW1lLAorCQkJCQlzdHJ1Y3QgcmVmX3N0b3JlX2hhc2hfZW50cnksIGVudCk7CiAJcmV0dXJuIGVudHJ5ID8gZW50cnktPnJlZnMgOiBOVUxMOwogfQogCkBAIC0xNzYyLDEwICsxODcxLDEzIEBACiAJCQkJICAgc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKIAkJCQkgICBjb25zdCBjaGFyICpuYW1lKQogeworCXN0cnVjdCByZWZfc3RvcmVfaGFzaF9lbnRyeSAqZW50cnk7CisKIAlpZiAoIW1hcC0+dGFibGVzaXplKQogCQloYXNobWFwX2luaXQobWFwLCByZWZfc3RvcmVfaGFzaF9jbXAsIE5VTEwsIDApOwogCi0JaWYgKGhhc2htYXBfcHV0KG1hcCwgYWxsb2NfcmVmX3N0b3JlX2hhc2hfZW50cnkobmFtZSwgcmVmcykpKQorCWVudHJ5ID0gYWxsb2NfcmVmX3N0b3JlX2hhc2hfZW50cnkobmFtZSwgcmVmcyk7CisJaWYgKGhhc2htYXBfcHV0KG1hcCwgJmVudHJ5LT5lbnQpKQogCQlCVUcoIiVzIHJlZl9zdG9yZSAnJXMnIGluaXRpYWxpemVkIHR3aWNlIiwgdHlwZSwgbmFtZSk7CiB9CiAKZGlmZiAtLWdpdCBhL3JlZnMuaCBiL3JlZnMuaAppbmRleCAzMDhmYTFmLi41NDUwMjljIDEwMDY0NAotLS0gYS9yZWZzLmgKKysrIGIvcmVmcy5oCkBAIC0xMTEsNyArMTExLDcgQEAKIAogaW50IGlzX2JyYW5jaChjb25zdCBjaGFyICpyZWZuYW1lKTsKIAotZXh0ZXJuIGludCByZWZzX2luaXRfZGIoc3RydWN0IHN0cmJ1ZiAqZXJyKTsKK2ludCByZWZzX2luaXRfZGIoc3RydWN0IHN0cmJ1ZiAqZXJyKTsKIAogLyoKICAqIElmIHJlZm5hbWUgaXMgYSBub24tc3ltYm9saWMgcmVmZXJlbmNlIHRoYXQgcmVmZXJzIHRvIGEgdGFnIG9iamVjdCwKQEAgLTE0OCw3ICsxNDgsOSBAQAogc3RydWN0IGFyZ3ZfYXJyYXk7CiB2b2lkIGV4cGFuZF9yZWZfcHJlZml4KHN0cnVjdCBhcmd2X2FycmF5ICpwcmVmaXhlcywgY29uc3QgY2hhciAqcHJlZml4KTsKIAotaW50IGV4cGFuZF9yZWYoY29uc3QgY2hhciAqc3RyLCBpbnQgbGVuLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNoYXIgKipyZWYpOworaW50IGV4cGFuZF9yZWYoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IGNoYXIgKnN0ciwgaW50IGxlbiwgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjaGFyICoqcmVmKTsKK2ludCByZXBvX2R3aW1fcmVmKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBjaGFyICpzdHIsIGludCBsZW4sIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY2hhciAqKnJlZik7CitpbnQgcmVwb19kd2ltX2xvZyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqc3RyLCBpbnQgbGVuLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNoYXIgKipyZWYpOwogaW50IGR3aW1fcmVmKGNvbnN0IGNoYXIgKnN0ciwgaW50IGxlbiwgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjaGFyICoqcmVmKTsKIGludCBkd2ltX2xvZyhjb25zdCBjaGFyICpzdHIsIGludCBsZW4sIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY2hhciAqKnJlZik7CiAKQEAgLTMwOCwxOSArMzEwLDM1IEBACiBpbnQgcmVmc19mb3JfZWFjaF9yZW1vdGVfcmVmKHN0cnVjdCByZWZfc3RvcmUgKnJlZnMsCiAJCQkgICAgIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKIAorLyoganVzdCBpdGVyYXRlcyB0aGUgaGVhZCByZWYuICovCiBpbnQgaGVhZF9yZWYoZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOworCisvKiBpdGVyYXRlcyBhbGwgcmVmcy4gKi8KIGludCBmb3JfZWFjaF9yZWYoZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOworCisvKioKKyAqIGl0ZXJhdGVzIGFsbCByZWZzIHdoaWNoIGhhdmUgYSBkZWZpbmVkIHByZWZpeCBhbmQgc3RyaXBzIHRoYXQgcHJlZml4IGZyb20KKyAqIHRoZSBwYXNzZWQgdmFyaWFibGUgcmVmbmFtZS4KKyAqLwogaW50IGZvcl9lYWNoX3JlZl9pbihjb25zdCBjaGFyICpwcmVmaXgsIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhKTsKKwogaW50IHJlZnNfZm9yX2VhY2hfZnVsbHJlZl9pbihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLCBjb25zdCBjaGFyICpwcmVmaXgsCiAJCQkgICAgIGVhY2hfcmVmX2ZuIGZuLCB2b2lkICpjYl9kYXRhLAogCQkJICAgICB1bnNpZ25lZCBpbnQgYnJva2VuKTsKIGludCBmb3JfZWFjaF9mdWxscmVmX2luKGNvbnN0IGNoYXIgKnByZWZpeCwgZWFjaF9yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEsCiAJCQl1bnNpZ25lZCBpbnQgYnJva2VuKTsKKworLyoqCisgKiBpdGVyYXRlIHJlZnMgZnJvbSB0aGUgcmVzcGVjdGl2ZSBhcmVhLgorICovCiBpbnQgZm9yX2VhY2hfdGFnX3JlZihlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7CiBpbnQgZm9yX2VhY2hfYnJhbmNoX3JlZihlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7CiBpbnQgZm9yX2VhY2hfcmVtb3RlX3JlZihlYWNoX3JlZl9mbiBmbiwgdm9pZCAqY2JfZGF0YSk7CiBpbnQgZm9yX2VhY2hfcmVwbGFjZV9yZWYoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGVhY2hfcmVwb19yZWZfZm4gZm4sIHZvaWQgKmNiX2RhdGEpOworCisvKiBpdGVyYXRlcyBhbGwgcmVmcyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgZ2xvYiBwYXR0ZXJuLiAqLwogaW50IGZvcl9lYWNoX2dsb2JfcmVmKGVhY2hfcmVmX2ZuIGZuLCBjb25zdCBjaGFyICpwYXR0ZXJuLCB2b2lkICpjYl9kYXRhKTsKKwogaW50IGZvcl9lYWNoX2dsb2JfcmVmX2luKGVhY2hfcmVmX2ZuIGZuLCBjb25zdCBjaGFyICpwYXR0ZXJuLAogCQkJIGNvbnN0IGNoYXIgKnByZWZpeCwgdm9pZCAqY2JfZGF0YSk7CiAKQEAgLTM4Niw3ICs0MDQsOCBAQAogaW50IHNhZmVfY3JlYXRlX3JlZmxvZyhjb25zdCBjaGFyICpyZWZuYW1lLCBpbnQgZm9yY2VfY3JlYXRlLCBzdHJ1Y3Qgc3RyYnVmICplcnIpOwogCiAvKiogUmVhZHMgbG9nIGZvciB0aGUgdmFsdWUgb2YgcmVmIGR1cmluZyBhdF90aW1lLiAqKi8KLWludCByZWFkX3JlZl9hdChjb25zdCBjaGFyICpyZWZuYW1lLCB1bnNpZ25lZCBpbnQgZmxhZ3MsCitpbnQgcmVhZF9yZWZfYXQoc3RydWN0IHJlZl9zdG9yZSAqcmVmcywKKwkJY29uc3QgY2hhciAqcmVmbmFtZSwgdW5zaWduZWQgaW50IGZsYWdzLAogCQl0aW1lc3RhbXBfdCBhdF90aW1lLCBpbnQgY250LAogCQlzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNoYXIgKiptc2csCiAJCXRpbWVzdGFtcF90ICpjdXRvZmZfdGltZSwgaW50ICpjdXRvZmZfdHosIGludCAqY3V0b2ZmX2NudCk7CkBAIC00NjAsOCArNDc5LDE2IEBACiAgKi8KIGludCBjaGVja19yZWZuYW1lX2Zvcm1hdChjb25zdCBjaGFyICpyZWZuYW1lLCBpbnQgZmxhZ3MpOwogCisvKgorICogQXBwbHkgdGhlIHJ1bGVzIGZyb20gY2hlY2tfcmVmbmFtZV9mb3JtYXQsIGJ1dCBtdXRhdGUgdGhlIHJlc3VsdCB1bnRpbCBpdAorICogaXMgYWNjZXB0YWJsZSwgYW5kIHBsYWNlIHRoZSByZXN1bHQgaW4gIm91dCIuCisgKi8KK3ZvaWQgc2FuaXRpemVfcmVmbmFtZV9jb21wb25lbnQoY29uc3QgY2hhciAqcmVmbmFtZSwgc3RydWN0IHN0cmJ1ZiAqb3V0KTsKKwogY29uc3QgY2hhciAqcHJldHRpZnlfcmVmbmFtZShjb25zdCBjaGFyICpyZWZuYW1lKTsKIAorY2hhciAqcmVmc19zaG9ydGVuX3VuYW1iaWd1b3VzX3JlZihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZzLAorCQkJCSAgIGNvbnN0IGNoYXIgKnJlZm5hbWUsIGludCBzdHJpY3QpOwogY2hhciAqc2hvcnRlbl91bmFtYmlndW91c19yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwgaW50IHN0cmljdCk7CiAKIC8qKiByZW5hbWUgcmVmLCByZXR1cm4gMCBvbiBzdWNjZXNzICoqLwpAQCAtNzgwLDYgKzgwNyw0MSBAQAogaW50IHJlZl9zdG9yYWdlX2JhY2tlbmRfZXhpc3RzKGNvbnN0IGNoYXIgKm5hbWUpOwogCiBzdHJ1Y3QgcmVmX3N0b3JlICpnZXRfbWFpbl9yZWZfc3RvcmUoc3RydWN0IHJlcG9zaXRvcnkgKnIpOworCisvKioKKyAqIFN1Ym1vZHVsZXMKKyAqIC0tLS0tLS0tLS0KKyAqCisgKiBJZiB5b3Ugd2FudCB0byBpdGVyYXRlIHRoZSByZWZzIG9mIGEgc3VibW9kdWxlIHlvdSBmaXJzdCBuZWVkIHRvIGFkZCB0aGUKKyAqIHN1Ym1vZHVsZXMgb2JqZWN0IGRhdGFiYXNlLiBZb3UgY2FuIGRvIHRoaXMgYnkgYSBjb2RlLXNuaXBwZXQgbGlrZQorICogdGhpczoKKyAqCisgKiAJY29uc3QgY2hhciAqcGF0aCA9ICJwYXRoL3RvL3N1Ym1vZHVsZSIKKyAqIAlpZiAoYWRkX3N1Ym1vZHVsZV9vZGIocGF0aCkpCisgKiAJCWRpZSgiRXJyb3Igc3VibW9kdWxlICclcycgbm90IHBvcHVsYXRlZC4iLCBwYXRoKTsKKyAqCisgKiBgYWRkX3N1Ym1vZHVsZV9vZGIoKWAgd2lsbCByZXR1cm4gemVybyBvbiBzdWNjZXNzLiBJZiB5b3UKKyAqIGRvIG5vdCBkbyB0aGlzIHlvdSB3aWxsIGdldCBhbiBlcnJvciBmb3IgZWFjaCByZWYgdGhhdCBpdCBkb2VzIG5vdCBwb2ludAorICogdG8gYSB2YWxpZCBvYmplY3QuCisgKgorICogTm90ZTogQXMgYSBzaWRlLWVmZmVjdCBvZiB0aGlzIHlvdSBjYW5ub3Qgc2FmZWx5IGFzc3VtZSB0aGF0IGFsbAorICogb2JqZWN0cyB5b3UgbG9va3VwIGFyZSBhdmFpbGFibGUgaW4gc3VwZXJwcm9qZWN0LiBBbGwgc3VibW9kdWxlIG9iamVjdHMKKyAqIHdpbGwgYmUgYXZhaWxhYmxlIHRoZSBzYW1lIHdheSBhcyB0aGUgc3VwZXJwcm9qZWN0cyBvYmplY3RzLgorICoKKyAqIEV4YW1wbGU6CisgKiAtLS0tLS0tLQorICoKKyAqIC0tLS0KKyAqIHN0YXRpYyBpbnQgaGFuZGxlX3JlbW90ZV9yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwKKyAqIAkJY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgaW50IGZsYWdzLCB2b2lkICpjYl9kYXRhKQorICogeworICogCXN0cnVjdCBzdHJidWYgKm91dHB1dCA9IGNiX2RhdGE7CisgKiAJc3RyYnVmX2FkZGYob3V0cHV0LCAiJXNcbiIsIHJlZm5hbWUpOworICogCXJldHVybiAwOworICogfQorICoKKyAqLworCiAvKgogICogUmV0dXJuIHRoZSByZWZfc3RvcmUgaW5zdGFuY2UgZm9yIHRoZSBzcGVjaWZpZWQgc3VibW9kdWxlLiBGb3IgdGhlCiAgKiBtYWluIHJlcG9zaXRvcnksIHVzZSBzdWJtb2R1bGU9PU5VTEw7IHN1Y2ggYSBjYWxsIGNhbm5vdCBmYWlsLiBGb3IKZGlmZiAtLWdpdCBhL3JlZnMvZmlsZXMtYmFja2VuZC5jIGIvcmVmcy9maWxlcy1iYWNrZW5kLmMKaW5kZXggZGQ4YWJlOS4uNTYxYzMzYSAxMDA2NDQKLS0tIGEvcmVmcy9maWxlcy1iYWNrZW5kLmMKKysrIGIvcmVmcy9maWxlcy1iYWNrZW5kLmMKQEAgLTIxNSw2ICsyMTUsMzMgQEAKIH0KIAogLyoKKyAqIE1hbnVhbGx5IGFkZCByZWZzL2Jpc2VjdCwgcmVmcy9yZXdyaXR0ZW4gYW5kIHJlZnMvd29ya3RyZWUsIHdoaWNoLCBiZWluZworICogcGVyLXdvcmt0cmVlLCBtaWdodCBub3QgYXBwZWFyIGluIHRoZSBkaXJlY3RvcnkgbGlzdGluZyBmb3IKKyAqIHJlZnMvIGluIHRoZSBtYWluIHJlcG8uCisgKi8KK3N0YXRpYyB2b2lkIGFkZF9wZXJfd29ya3RyZWVfZW50cmllc190b19kaXIoc3RydWN0IHJlZl9kaXIgKmRpciwgY29uc3QgY2hhciAqZGlybmFtZSkKK3sKKwljb25zdCBjaGFyICpwcmVmaXhlc1tdID0geyAicmVmcy9iaXNlY3QvIiwgInJlZnMvd29ya3RyZWUvIiwgInJlZnMvcmV3cml0dGVuLyIgfTsKKwlpbnQgaXA7CisKKwlpZiAoc3RyY21wKGRpcm5hbWUsICJyZWZzLyIpKQorCQlyZXR1cm47CisKKwlmb3IgKGlwID0gMDsgaXAgPCBBUlJBWV9TSVpFKHByZWZpeGVzKTsgaXArKykgeworCQljb25zdCBjaGFyICpwcmVmaXggPSBwcmVmaXhlc1tpcF07CisJCWludCBwcmVmaXhfbGVuID0gc3RybGVuKHByZWZpeCk7CisJCXN0cnVjdCByZWZfZW50cnkgKmNoaWxkX2VudHJ5OworCQlpbnQgcG9zOworCisJCXBvcyA9IHNlYXJjaF9yZWZfZGlyKGRpciwgcHJlZml4LCBwcmVmaXhfbGVuKTsKKwkJaWYgKHBvcyA+PSAwKQorCQkJY29udGludWU7CisJCWNoaWxkX2VudHJ5ID0gY3JlYXRlX2Rpcl9lbnRyeShkaXItPmNhY2hlLCBwcmVmaXgsIHByZWZpeF9sZW4sIDEpOworCQlhZGRfZW50cnlfdG9fZGlyKGRpciwgY2hpbGRfZW50cnkpOworCX0KK30KKworLyoKICAqIFJlYWQgdGhlIGxvb3NlIHJlZmVyZW5jZXMgZnJvbSB0aGUgbmFtZXNwYWNlIGRpcm5hbWUgaW50byBkaXIKICAqICh3aXRob3V0IHJlY3Vyc2luZykuICBkaXJuYW1lIG11c3QgZW5kIHdpdGggJy8nLiAgZGlyIG11c3QgYmUgdGhlCiAgKiBkaXJlY3RvcnkgZW50cnkgY29ycmVzcG9uZGluZyB0byBkaXJuYW1lLgpAQCAtMjk3LDI4ICszMjQsNyBAQAogCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoKTsKIAljbG9zZWRpcihkKTsKIAotCS8qCi0JICogTWFudWFsbHkgYWRkIHJlZnMvYmlzZWN0IGFuZCByZWZzL3dvcmt0cmVlLCB3aGljaCwgYmVpbmcKLQkgKiBwZXItd29ya3RyZWUsIG1pZ2h0IG5vdCBhcHBlYXIgaW4gdGhlIGRpcmVjdG9yeSBsaXN0aW5nIGZvcgotCSAqIHJlZnMvIGluIHRoZSBtYWluIHJlcG8uCi0JICovCi0JaWYgKCFzdHJjbXAoZGlybmFtZSwgInJlZnMvIikpIHsKLQkJaW50IHBvcyA9IHNlYXJjaF9yZWZfZGlyKGRpciwgInJlZnMvYmlzZWN0LyIsIDEyKTsKLQotCQlpZiAocG9zIDwgMCkgewotCQkJc3RydWN0IHJlZl9lbnRyeSAqY2hpbGRfZW50cnkgPSBjcmVhdGVfZGlyX2VudHJ5KAotCQkJCQlkaXItPmNhY2hlLCAicmVmcy9iaXNlY3QvIiwgMTIsIDEpOwotCQkJYWRkX2VudHJ5X3RvX2RpcihkaXIsIGNoaWxkX2VudHJ5KTsKLQkJfQotCi0JCXBvcyA9IHNlYXJjaF9yZWZfZGlyKGRpciwgInJlZnMvd29ya3RyZWUvIiwgMTEpOwotCi0JCWlmIChwb3MgPCAwKSB7Ci0JCQlzdHJ1Y3QgcmVmX2VudHJ5ICpjaGlsZF9lbnRyeSA9IGNyZWF0ZV9kaXJfZW50cnkoCi0JCQkJCWRpci0+Y2FjaGUsICJyZWZzL3dvcmt0cmVlLyIsIDExLCAxKTsKLQkJCWFkZF9lbnRyeV90b19kaXIoZGlyLCBjaGlsZF9lbnRyeSk7Ci0JCX0KLQl9CisJYWRkX3Blcl93b3JrdHJlZV9lbnRyaWVzX3RvX2RpcihkaXIsIGRpcm5hbWUpOwogfQogCiBzdGF0aWMgc3RydWN0IHJlZl9jYWNoZSAqZ2V0X2xvb3NlX3JlZl9jYWNoZShzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzKQpAQCAtNDU5LDggKzQ2NSw3IEBACiAJY2xvc2UoZmQpOwogCXN0cmJ1Zl9ydHJpbSgmc2JfY29udGVudHMpOwogCWJ1ZiA9IHNiX2NvbnRlbnRzLmJ1ZjsKLQlpZiAoc3RhcnRzX3dpdGgoYnVmLCAicmVmOiIpKSB7Ci0JCWJ1ZiArPSA0OworCWlmIChza2lwX3ByZWZpeChidWYsICJyZWY6IiwgJmJ1ZikpIHsKIAkJd2hpbGUgKGlzc3BhY2UoKmJ1ZikpCiAJCQlidWYrKzsKIApAQCAtMTMyMSw3ICsxMzI2LDcgQEAKIHsKIAlzdHJ1Y3QgZmlsZXNfcmVmX3N0b3JlICpyZWZzID0KIAkJZmlsZXNfZG93bmNhc3QocmVmX3N0b3JlLCBSRUZfU1RPUkVfV1JJVEUsICJyZW5hbWVfcmVmIik7Ci0Jc3RydWN0IG9iamVjdF9pZCBvaWQsIG9yaWdfb2lkOworCXN0cnVjdCBvYmplY3RfaWQgb3JpZ19vaWQ7CiAJaW50IGZsYWcgPSAwLCBsb2dtb3ZlZCA9IDA7CiAJc3RydWN0IHJlZl9sb2NrICpsb2NrOwogCXN0cnVjdCBzdGF0IGxvZ2luZm87CkBAIC0xMzg5LDcgKzEzOTQsNyBAQAogCSAqLwogCWlmICghY29weSAmJiAhcmVmc19yZWFkX3JlZl9mdWxsKCZyZWZzLT5iYXNlLCBuZXdyZWZuYW1lLAogCQkJCVJFU09MVkVfUkVGX1JFQURJTkcgfCBSRVNPTFZFX1JFRl9OT19SRUNVUlNFLAotCQkJCSZvaWQsIE5VTEwpICYmCisJCQkJTlVMTCwgTlVMTCkgJiYKIAkgICAgcmVmc19kZWxldGVfcmVmKCZyZWZzLT5iYXNlLCBOVUxMLCBuZXdyZWZuYW1lLAogCQkJICAgIE5VTEwsIFJFRl9OT19ERVJFRikpIHsKIAkJaWYgKGVycm5vID09IEVJU0RJUikgewpAQCAtMjEzNywxMyArMjE0MiwyNCBAQAogc3RhdGljIHN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZmxvZ19pdGVyYXRvcl9iZWdpbihzdHJ1Y3QgcmVmX3N0b3JlICpyZWZfc3RvcmUsCiAJCQkJCQkgIGNvbnN0IGNoYXIgKmdpdGRpcikKIHsKLQlzdHJ1Y3QgZmlsZXNfcmVmbG9nX2l0ZXJhdG9yICppdGVyID0geGNhbGxvYygxLCBzaXplb2YoKml0ZXIpKTsKLQlzdHJ1Y3QgcmVmX2l0ZXJhdG9yICpyZWZfaXRlcmF0b3IgPSAmaXRlci0+YmFzZTsKKwlzdHJ1Y3QgZGlyX2l0ZXJhdG9yICpkaXRlcjsKKwlzdHJ1Y3QgZmlsZXNfcmVmbG9nX2l0ZXJhdG9yICppdGVyOworCXN0cnVjdCByZWZfaXRlcmF0b3IgKnJlZl9pdGVyYXRvcjsKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAKLQliYXNlX3JlZl9pdGVyYXRvcl9pbml0KHJlZl9pdGVyYXRvciwgJmZpbGVzX3JlZmxvZ19pdGVyYXRvcl92dGFibGUsIDApOwogCXN0cmJ1Zl9hZGRmKCZzYiwgIiVzL2xvZ3MiLCBnaXRkaXIpOwotCWl0ZXItPmRpcl9pdGVyYXRvciA9IGRpcl9pdGVyYXRvcl9iZWdpbihzYi5idWYpOworCisJZGl0ZXIgPSBkaXJfaXRlcmF0b3JfYmVnaW4oc2IuYnVmLCAwKTsKKwlpZiAoIWRpdGVyKSB7CisJCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CisJCXJldHVybiBlbXB0eV9yZWZfaXRlcmF0b3JfYmVnaW4oKTsKKwl9CisKKwlpdGVyID0geGNhbGxvYygxLCBzaXplb2YoKml0ZXIpKTsKKwlyZWZfaXRlcmF0b3IgPSAmaXRlci0+YmFzZTsKKworCWJhc2VfcmVmX2l0ZXJhdG9yX2luaXQocmVmX2l0ZXJhdG9yLCAmZmlsZXNfcmVmbG9nX2l0ZXJhdG9yX3Z0YWJsZSwgMCk7CisJaXRlci0+ZGlyX2l0ZXJhdG9yID0gZGl0ZXI7CiAJaXRlci0+cmVmX3N0b3JlID0gcmVmX3N0b3JlOwogCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CiAKQEAgLTIyNTQsOCArMjI3MCw3IEBACiAgKiBOb3RlIHRoYXQgdGhlIG5ldyB1cGRhdGUgd2lsbCBpdHNlbGYgYmUgc3ViamVjdCB0byBzcGxpdHRpbmcgd2hlbgogICogdGhlIGl0ZXJhdGlvbiBnZXRzIHRvIGl0LgogICovCi1zdGF0aWMgaW50IHNwbGl0X3N5bXJlZl91cGRhdGUoc3RydWN0IGZpbGVzX3JlZl9zdG9yZSAqcmVmcywKLQkJCSAgICAgICBzdHJ1Y3QgcmVmX3VwZGF0ZSAqdXBkYXRlLAorc3RhdGljIGludCBzcGxpdF9zeW1yZWZfdXBkYXRlKHN0cnVjdCByZWZfdXBkYXRlICp1cGRhdGUsCiAJCQkgICAgICAgY29uc3QgY2hhciAqcmVmZXJlbnQsCiAJCQkgICAgICAgc3RydWN0IHJlZl90cmFuc2FjdGlvbiAqdHJhbnNhY3Rpb24sCiAJCQkgICAgICAgc3RydWN0IHN0cmluZ19saXN0ICphZmZlY3RlZF9yZWZuYW1lcywKQEAgLTI0NDksNyArMjQ2NCw3IEBACiAJCQkgKiBvZiBwcm9jZXNzaW5nIHRoZSBzcGxpdC1vZmYgdXBkYXRlLCBzbyB3ZQogCQkJICogZG9uJ3QgaGF2ZSB0byBkbyBpdCBoZXJlLgogCQkJICovCi0JCQlyZXQgPSBzcGxpdF9zeW1yZWZfdXBkYXRlKHJlZnMsIHVwZGF0ZSwKKwkJCXJldCA9IHNwbGl0X3N5bXJlZl91cGRhdGUodXBkYXRlLAogCQkJCQkJICByZWZlcmVudC5idWYsIHRyYW5zYWN0aW9uLAogCQkJCQkJICBhZmZlY3RlZF9yZWZuYW1lcywgZXJyKTsKIAkJCWlmIChyZXQpCkBAIC0yNjk2LDE4ICsyNzExLDMyIEBACiAJCWlmIChpc19wYWNrZWRfdHJhbnNhY3Rpb25fbmVlZGVkKHJlZnMtPnBhY2tlZF9yZWZfc3RvcmUsCiAJCQkJCQkgcGFja2VkX3RyYW5zYWN0aW9uKSkgewogCQkJcmV0ID0gcmVmX3RyYW5zYWN0aW9uX3ByZXBhcmUocGFja2VkX3RyYW5zYWN0aW9uLCBlcnIpOworCQkJLyoKKwkJCSAqIEEgZmFpbHVyZSBkdXJpbmcgdGhlIHByZXBhcmUgc3RlcCB3aWxsIGFib3J0CisJCQkgKiBpdHNlbGYsIGJ1dCBub3QgZnJlZS4gRG8gdGhhdCBub3csIGFuZCBkaXNjb25uZWN0CisJCQkgKiBmcm9tIHRoZSBmaWxlc190cmFuc2FjdGlvbiBzbyBpdCBkb2VzIG5vdCB0cnkgdG8KKwkJCSAqIGFib3J0IHVzIHdoZW4gd2UgaGl0IHRoZSBjbGVhbnVwIGNvZGUgYmVsb3cuCisJCQkgKi8KKwkJCWlmIChyZXQpIHsKKwkJCQlyZWZfdHJhbnNhY3Rpb25fZnJlZShwYWNrZWRfdHJhbnNhY3Rpb24pOworCQkJCWJhY2tlbmRfZGF0YS0+cGFja2VkX3RyYW5zYWN0aW9uID0gTlVMTDsKKwkJCX0KIAkJfSBlbHNlIHsKIAkJCS8qCiAJCQkgKiBXZSBjYW4gc2tpcCByZXdyaXRpbmcgdGhlIGBwYWNrZWQtcmVmc2AKIAkJCSAqIGZpbGUuIEJ1dCB3ZSBkbyBuZWVkIHRvIGxlYXZlIGl0IGxvY2tlZCwgc28KIAkJCSAqIHRoYXQgc29tZWJvZHkgZWxzZSBkb2Vzbid0IHBhY2sgYSByZWZlcmVuY2UKIAkJCSAqIHRoYXQgd2UgYXJlIHRyeWluZyB0byBkZWxldGUuCisJCQkgKgorCQkJICogV2UgbmVlZCB0byBkaXNjb25uZWN0IG91ciB0cmFuc2FjdGlvbiBmcm9tCisJCQkgKiBiYWNrZW5kX2RhdGEsIHNpbmNlIHRoZSBhYm9ydCAod2hldGhlciBzdWNjZXNzZnVsIG9yCisJCQkgKiBub3QpIHdpbGwgZnJlZSBpdC4KIAkJCSAqLworCQkJYmFja2VuZF9kYXRhLT5wYWNrZWRfdHJhbnNhY3Rpb24gPSBOVUxMOwogCQkJaWYgKHJlZl90cmFuc2FjdGlvbl9hYm9ydChwYWNrZWRfdHJhbnNhY3Rpb24sIGVycikpIHsKIAkJCQlyZXQgPSBUUkFOU0FDVElPTl9HRU5FUklDX0VSUk9SOwogCQkJCWdvdG8gY2xlYW51cDsKIAkJCX0KLQkJCWJhY2tlbmRfZGF0YS0+cGFja2VkX3RyYW5zYWN0aW9uID0gTlVMTDsKIAkJfQogCX0KIApkaWZmIC0tZ2l0IGEvcmVmcy9wYWNrZWQtYmFja2VuZC5jIGIvcmVmcy9wYWNrZWQtYmFja2VuZC5jCmluZGV4IGMwMWM3ZjUuLjQ0NThhMGYgMTAwNjQ0Ci0tLSBhL3JlZnMvcGFja2VkLWJhY2tlbmQuYworKysgYi9yZWZzL3BhY2tlZC1iYWNrZW5kLmMKQEAgLTEwMTIsMTQgKzEwMTIsMjMgQEAKIAl9CiAKIAkvKgotCSAqIE5vdyB0aGF0IHdlIGhvbGQgdGhlIGBwYWNrZWQtcmVmc2AgbG9jaywgbWFrZSBzdXJlIHRoYXQgb3VyCi0JICogc25hcHNob3QgbWF0Y2hlcyB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBmaWxlLiBOb3JtYWxseQotCSAqIGBnZXRfc25hcHNob3QoKWAgZG9lcyB0aGF0IGZvciB1cywgYnV0IHRoYXQgZnVuY3Rpb24KLQkgKiBhc3N1bWVzIHRoYXQgd2hlbiB0aGUgZmlsZSBpcyBsb2NrZWQsIGFueSBleGlzdGluZyBzbmFwc2hvdAotCSAqIGlzIHN0aWxsIHZhbGlkLiBXZSd2ZSBqdXN0IGxvY2tlZCB0aGUgZmlsZSwgYnV0IGl0IG1pZ2h0Ci0JICogaGF2ZSBjaGFuZ2VkIHRoZSBtb21lbnQgKmJlZm9yZSogd2UgbG9ja2VkIGl0LgorCSAqIFRoZXJlIGlzIGEgc3RhdC12YWxpZGl0eSBwcm9ibGVtIG1pZ2h0IGNhdXNlIGB1cGRhdGUtcmVmIC1kYAorCSAqIGxvc3QgdGhlIG5ld2x5IGNvbW1pdCBvZiBhIHJlZiwgYmVjYXVzZSBhIG5ldyBgcGFja2VkLXJlZnNgCisJICogZmlsZSBtaWdodCBoYXMgdGhlIHNhbWUgb24tZGlzayBmaWxlIGF0dHJpYnV0ZXMgc3VjaCBhcworCSAqIHRpbWVzdGFtcCwgZmlsZSBzaXplIGFuZCBpbm9kZSB2YWx1ZSwgYnV0IGhhcyBhIGNoYW5nZWQKKwkgKiByZWYgdmFsdWUuCisJICoKKwkgKiBUaGlzIGNvdWxkIGhhcHBlbiB3aXRoIGEgdmVyeSBzbWFsbCBjaGFuY2Ugd2hlbgorCSAqIGB1cGRhdGUtcmVmIC1kYCBpcyBjYWxsZWQgYW5kIGF0IHRoZSBzYW1lIHRpbWUgYW5vdGhlcgorCSAqIGBwYWNrLXJlZnMgLS1hbGxgIHByb2Nlc3MgaXMgcnVubmluZy4KKwkgKgorCSAqIE5vdyB0aGF0IHdlIGhvbGQgdGhlIGBwYWNrZWQtcmVmc2AgbG9jaywgaXQgaXMgaW1wb3J0YW50CisJICogdG8gbWFrZSBzdXJlIHdlIGNvdWxkIHJlYWQgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mCisJICogYHBhY2tlZC1yZWZzYCBmaWxlIG5vIG1hdHRlciB3ZSBoYXZlIGp1c3QgbW1hcCBpdCBvciBub3QuCisJICogU28gd2hhdCBuZWVkIHRvIGRvIGlzIGNsZWFyIHRoZSBzbmFwc2hvdCBpZiB3ZSBob2xkIGl0CisJICogYWxyZWFkeS4KIAkgKi8KLQl2YWxpZGF0ZV9zbmFwc2hvdChyZWZzKTsKKwljbGVhcl9zbmFwc2hvdChyZWZzKTsKIAogCS8qCiAJICogTm93IG1ha2Ugc3VyZSB0aGF0IHRoZSBwYWNrZWQtcmVmcyBmaWxlIGFzIGl0IGV4aXN0cyBpbiB0aGUKZGlmZiAtLWdpdCBhL3JlZnMvcmVmcy1pbnRlcm5hbC5oIGIvcmVmcy9yZWZzLWludGVybmFsLmgKaW5kZXggZjJkOGMwMS4uZmYyNDM2YyAxMDA2NDQKLS0tIGEvcmVmcy9yZWZzLWludGVybmFsLmgKKysrIGIvcmVmcy9yZWZzLWludGVybmFsLmgKQEAgLTI2Miw3ICsyNjIsNyBAQAogICogYWZ0ZXIgY2FsbGluZyByZWZfaXRlcmF0b3JfYWR2YW5jZSgpIGFnYWluIG9yIGNhbGxpbmcKICAqIHJlZl9pdGVyYXRvcl9hYm9ydCgpLCB5b3UgbXVzdCBtYWtlIGEgY29weS4gV2hlbiB0aGUgaXRlcmF0aW9uIGhhcwogICogYmVlbiBleGhhdXN0ZWQsIHJlZl9pdGVyYXRvcl9hZHZhbmNlKCkgcmVsZWFzZXMgYW55IHJlc291cmNlcwotICogYXNzb2NhdGVkIHdpdGggdGhlIGl0ZXJhdGlvbiwgZnJlZXMgdGhlIHJlZl9pdGVyYXRvciBvYmplY3QsIGFuZAorICogYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGVyYXRpb24sIGZyZWVzIHRoZSByZWZfaXRlcmF0b3Igb2JqZWN0LCBhbmQKICAqIHJldHVybnMgSVRFUl9ET05FLiBJZiB5b3Ugd2FudCB0byBhYm9ydCB0aGUgaXRlcmF0aW9uIGVhcmx5LCBjYWxsCiAgKiByZWZfaXRlcmF0b3JfYWJvcnQoKSwgd2hpY2ggYWxzbyBmcmVlcyB0aGUgcmVmX2l0ZXJhdG9yIG9iamVjdCBhbmQKICAqIGFueSBhc3NvY2lhdGVkIHJlc291cmNlcy4gSWYgdGhlcmUgd2FzIGFuIGludGVybmFsIGVycm9yIGFkdmFuY2luZwpkaWZmIC0tZ2l0IGEvcmVmc3BlYy5jIGIvcmVmc3BlYy5jCmluZGV4IGY1MjkwOTIuLjlhOWJmMjEgMTAwNjQ0Ci0tLSBhL3JlZnNwZWMuYworKysgYi9yZWZzcGVjLmMKQEAgLTcyLDcgKzcyLDcgQEAKIAkJLyogTEhTICovCiAJCWlmICghKml0ZW0tPnNyYykKIAkJCTsgLyogZW1wdHkgaXMgb2s7IGl0IG1lYW5zICJIRUFEIiAqLwotCQllbHNlIGlmIChsbGVuID09IEdJVF9TSEExX0hFWFNaICYmICFnZXRfb2lkX2hleChpdGVtLT5zcmMsICZ1bnVzZWQpKQorCQllbHNlIGlmIChsbGVuID09IHRoZV9oYXNoX2FsZ28tPmhleHN6ICYmICFnZXRfb2lkX2hleChpdGVtLT5zcmMsICZ1bnVzZWQpKQogCQkJaXRlbS0+ZXhhY3Rfc2hhMSA9IDE7IC8qIG9rICovCiAJCWVsc2UgaWYgKCFjaGVja19yZWZuYW1lX2Zvcm1hdChpdGVtLT5zcmMsIGZsYWdzKSkKIAkJCTsgLyogdmFsaWQgbG9va2luZyByZWYgaXMgb2sgKi8KZGlmZiAtLWdpdCBhL3JlZnNwZWMuaCBiL3JlZnNwZWMuaAppbmRleCA5YjZlNjRhLi4zZjJiZDRhIDEwMDY0NAotLS0gYS9yZWZzcGVjLmgKKysrIGIvcmVmc3BlYy5oCkBAIC0yMCw2ICsyMCwyMiBAQAogI2RlZmluZSBSRUZTUEVDX0lOSVRfRkVUQ0ggeyAuZmV0Y2ggPSBSRUZTUEVDX0ZFVENIIH0KICNkZWZpbmUgUkVGU1BFQ19JTklUX1BVU0ggeyAuZmV0Y2ggPSBSRUZTUEVDX1BVU0ggfQogCisvKioKKyAqIEEgc3RydWN0IHJlZnNwZWMgaG9sZHMgdGhlIHBhcnNlZCBpbnRlcnByZXRhdGlvbiBvZiBhIHJlZnNwZWMuICBJZiBpdCB3aWxsCisgKiBmb3JjZSB1cGRhdGVzIChzdGFydHMgd2l0aCBhICcrJyksIGZvcmNlIGlzIHRydWUuICBJZiBpdCBpcyBhIHBhdHRlcm4KKyAqIChzaWRlcyBlbmQgd2l0aCAnKicpIHBhdHRlcm4gaXMgdHJ1ZS4gIHNyYyBhbmQgZGVzdCBhcmUgdGhlIHR3byBzaWRlcworICogKGluY2x1ZGluZyAnKicgY2hhcmFjdGVycyBpZiBwcmVzZW50KTsgaWYgdGhlcmUgaXMgb25seSBvbmUgc2lkZSwgaXQgaXMgc3JjLAorICogYW5kIGRzdCBpcyBOVUxMOyBpZiBzaWRlcyBleGlzdCBidXQgYXJlIGVtcHR5IChpLmUuLCB0aGUgcmVmc3BlYyBlaXRoZXIKKyAqIHN0YXJ0cyBvciBlbmRzIHdpdGggJzonKSwgdGhlIGNvcnJlc3BvbmRpbmcgc2lkZSBpcyAiIi4KKyAqCisgKiBBbiBhcnJheSBvZiBzdHJpbmdzIGNhbiBiZSBwYXJzZWQgaW50byBhbiBhcnJheSBvZiBzdHJ1Y3QgcmVmc3BlY3MgdXNpbmcKKyAqIHBhcnNlX2ZldGNoX3JlZnNwZWMoKSBvciBwYXJzZV9wdXNoX3JlZnNwZWMoKS4KKyAqCisgKiByZW1vdGVfZmluZF90cmFja2luZygpLCBnaXZlbiBhIHJlbW90ZSBhbmQgYSBzdHJ1Y3QgcmVmc3BlYyB3aXRoIGVpdGhlciBzcmMKKyAqIG9yIGRzdCBmaWxsZWQgb3V0LCB3aWxsIGZpbGwgb3V0IHRoZSBvdGhlciBzdWNoIHRoYXQgdGhlIHJlc3VsdCBpcyBpbiB0aGUKKyAqICJmZXRjaCIgc3BlY2lmaWNhdGlvbiBmb3IgdGhlIHJlbW90ZSAobm90ZSB0aGF0IHRoaXMgZXZhbHVhdGVzIHBhdHRlcm5zIGFuZAorICogcmV0dXJucyBhIHNpbmdsZSByZXN1bHQpLgorICovCiBzdHJ1Y3QgcmVmc3BlYyB7CiAJc3RydWN0IHJlZnNwZWNfaXRlbSAqaXRlbXM7CiAJaW50IGFsbG9jOwpkaWZmIC0tZ2l0IGEvcmVtb3RlLWN1cmwuYyBiL3JlbW90ZS1jdXJsLmMKaW5kZXggMTIyMGRmZi4uZTRjZDMyMSAxMDA2NDQKLS0tIGEvcmVtb3RlLWN1cmwuYworKysgYi9yZW1vdGUtY3VybC5jCkBAIC0xNiw2ICsxNiw3IEBACiAjaW5jbHVkZSAic2VuZC1wYWNrLmgiCiAjaW5jbHVkZSAicHJvdG9jb2wuaCIKICNpbmNsdWRlICJxdW90ZS5oIgorI2luY2x1ZGUgInRyYW5zcG9ydC5oIgogCiBzdGF0aWMgc3RydWN0IHJlbW90ZSAqcmVtb3RlOwogLyogYWx3YXlzIGVuZHMgd2l0aCBhIHRyYWlsaW5nIHNsYXNoICovCkBAIC0zOSw3ICs0MCw4IEBACiAJCXB1c2hfY2VydCA6IDIsCiAJCWRlZXBlbl9yZWxhdGl2ZSA6IDEsCiAJCWZyb21fcHJvbWlzb3IgOiAxLAotCQlub19kZXBlbmRlbnRzIDogMTsKKwkJbm9fZGVwZW5kZW50cyA6IDEsCisJCWF0b21pYyA6IDE7CiB9Owogc3RhdGljIHN0cnVjdCBvcHRpb25zIG9wdGlvbnM7CiBzdGF0aWMgc3RydWN0IHN0cmluZ19saXN0IGNhc19vcHRpb25zID0gU1RSSU5HX0xJU1RfSU5JVF9EVVA7CkBAIC0xNDcsMTMgKzE0OSwyMSBAQAogCQllbHNlCiAJCQlyZXR1cm4gLTE7CiAJCXJldHVybiAwOworCX0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiYXRvbWljIikpIHsKKwkJaWYgKCFzdHJjbXAodmFsdWUsICJ0cnVlIikpCisJCQlvcHRpb25zLmF0b21pYyA9IDE7CisJCWVsc2UgaWYgKCFzdHJjbXAodmFsdWUsICJmYWxzZSIpKQorCQkJb3B0aW9ucy5hdG9taWMgPSAwOworCQllbHNlCisJCQlyZXR1cm4gLTE7CisJCXJldHVybiAwOwogCX0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAicHVzaC1vcHRpb24iKSkgewogCQlpZiAoKnZhbHVlICE9ICciJykKIAkJCXN0cmluZ19saXN0X2FwcGVuZCgmb3B0aW9ucy5wdXNoX29wdGlvbnMsIHZhbHVlKTsKIAkJZWxzZSB7CiAJCQlzdHJ1Y3Qgc3RyYnVmIHVucXVvdGVkID0gU1RSQlVGX0lOSVQ7CiAJCQlpZiAodW5xdW90ZV9jX3N0eWxlKCZ1bnF1b3RlZCwgdmFsdWUsIE5VTEwpIDwgMCkKLQkJCQlkaWUoImludmFsaWQgcXVvdGluZyBpbiBwdXNoLW9wdGlvbiB2YWx1ZSIpOworCQkJCWRpZShfKCJpbnZhbGlkIHF1b3RpbmcgaW4gcHVzaC1vcHRpb24gdmFsdWU6ICclcyciKSwgdmFsdWUpOwogCQkJc3RyaW5nX2xpc3RfYXBwZW5kX25vZHVwKCZvcHRpb25zLnB1c2hfb3B0aW9ucywKIAkJCQkJCSBzdHJidWZfZGV0YWNoKCZ1bnF1b3RlZCwgTlVMTCkpOwogCQl9CkBAIC0yMDQsNyArMjE0LDggQEAKIAogCXBhY2tldF9yZWFkZXJfaW5pdCgmcmVhZGVyLCAtMSwgaGVhZHMtPmJ1ZiwgaGVhZHMtPmxlbiwKIAkJCSAgIFBBQ0tFVF9SRUFEX0NIT01QX05FV0xJTkUgfAotCQkJICAgUEFDS0VUX1JFQURfR0VOVExFX09OX0VPRik7CisJCQkgICBQQUNLRVRfUkVBRF9HRU5UTEVfT05fRU9GIHwKKwkJCSAgIFBBQ0tFVF9SRUFEX0RJRV9PTl9FUlJfUEFDS0VUKTsKIAogCWhlYWRzLT52ZXJzaW9uID0gZGlzY292ZXJfdmVyc2lvbigmcmVhZGVyKTsKIAlzd2l0Y2ggKGhlYWRzLT52ZXJzaW9uKSB7CkBAIC0yNDgsOSArMjU5LDkgQEAKIAkJaWYgKGRhdGFbaV0gPT0gJ1x0JykKIAkJCW1pZCA9ICZkYXRhW2ldOwogCQlpZiAoZGF0YVtpXSA9PSAnXG4nKSB7Ci0JCQlpZiAobWlkIC0gc3RhcnQgIT0gNDApCi0JCQkJZGllKCIlc2luZm8vcmVmcyBub3QgdmFsaWQ6IGlzIHRoaXMgYSBnaXQgcmVwb3NpdG9yeT8iLAotCQkJCSAgICB1cmwuYnVmKTsKKwkJCWlmIChtaWQgLSBzdGFydCAhPSB0aGVfaGFzaF9hbGdvLT5oZXhzeikKKwkJCQlkaWUoXygiJXNpbmZvL3JlZnMgbm90IHZhbGlkOiBpcyB0aGlzIGEgZ2l0IHJlcG9zaXRvcnk/IiksCisJCQkJICAgIHRyYW5zcG9ydF9hbm9ueW1pemVfdXJsKHVybC5idWYpKTsKIAkJCWRhdGFbaV0gPSAwOwogCQkJcmVmX25hbWUgPSBtaWQgKyAxOwogCQkJcmVmID0gYWxsb2NfcmVmKHJlZl9uYW1lKTsKQEAgLTMzMCw5ICszNDEsNjMgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgY2hlY2tfc21hcnRfaHR0cChzdHJ1Y3QgZGlzY292ZXJ5ICpkLCBjb25zdCBjaGFyICpzZXJ2aWNlLAorCQkJICAgICBzdHJ1Y3Qgc3RyYnVmICp0eXBlKQoreworCWNvbnN0IGNoYXIgKnA7CisJc3RydWN0IHBhY2tldF9yZWFkZXIgcmVhZGVyOworCisJLyoKKwkgKiBJZiB3ZSBkb24ndCBzZWUgeC0kc2VydmljZS1hZHZlcnRpc2VtZW50LCB0aGVuIGl0J3Mgbm90IHNtYXJ0LWh0dHAuCisJICogQnV0IG9uY2Ugd2UgZG8sIHdlIGNvbW1pdCB0byBpdCBhbmQgYXNzdW1lIGFueSBvdGhlciBwcm90b2NvbAorCSAqIHZpb2xhdGlvbnMgYXJlIGhhcmQgZXJyb3JzLgorCSAqLworCWlmICghc2tpcF9wcmVmaXgodHlwZS0+YnVmLCAiYXBwbGljYXRpb24veC0iLCAmcCkgfHwKKwkgICAgIXNraXBfcHJlZml4KHAsIHNlcnZpY2UsICZwKSB8fAorCSAgICBzdHJjbXAocCwgIi1hZHZlcnRpc2VtZW50IikpCisJCXJldHVybjsKKworCXBhY2tldF9yZWFkZXJfaW5pdCgmcmVhZGVyLCAtMSwgZC0+YnVmLCBkLT5sZW4sCisJCQkgICBQQUNLRVRfUkVBRF9DSE9NUF9ORVdMSU5FIHwKKwkJCSAgIFBBQ0tFVF9SRUFEX0RJRV9PTl9FUlJfUEFDS0VUKTsKKwlpZiAocGFja2V0X3JlYWRlcl9yZWFkKCZyZWFkZXIpICE9IFBBQ0tFVF9SRUFEX05PUk1BTCkKKwkJZGllKF8oImludmFsaWQgc2VydmVyIHJlc3BvbnNlOyBleHBlY3RlZCBzZXJ2aWNlLCBnb3QgZmx1c2ggcGFja2V0IikpOworCisJaWYgKHNraXBfcHJlZml4KHJlYWRlci5saW5lLCAiIyBzZXJ2aWNlPSIsICZwKSAmJiAhc3RyY21wKHAsIHNlcnZpY2UpKSB7CisJCS8qCisJCSAqIFRoZSBoZWFkZXIgY2FuIGluY2x1ZGUgYWRkaXRpb25hbCBtZXRhZGF0YSBsaW5lcywgdXAKKwkJICogdW50aWwgYSBwYWNrZXQgZmx1c2ggbWFya2VyLiAgSWdub3JlIHRoZXNlIG5vdywgYnV0CisJCSAqIGluIHRoZSBmdXR1cmUgd2UgbWlnaHQgc3RhcnQgdG8gc2NhbiB0aGVtLgorCQkgKi8KKwkJZm9yICg7OykgeworCQkJcGFja2V0X3JlYWRlcl9yZWFkKCZyZWFkZXIpOworCQkJaWYgKHJlYWRlci5wa3RsZW4gPD0gMCkgeworCQkJCWJyZWFrOworCQkJfQorCQl9CisKKwkJLyoKKwkJICogdjAgc21hcnQgaHR0cDsgY2FsbGVycyBleHBlY3QgdXMgdG8gc29hayB1cCB0aGUKKwkJICogc2VydmljZSBhbmQgaGVhZGVyIHBhY2tldHMKKwkJICovCisJCWQtPmJ1ZiA9IHJlYWRlci5zcmNfYnVmZmVyOworCQlkLT5sZW4gPSByZWFkZXIuc3JjX2xlbjsKKwkJZC0+cHJvdG9fZ2l0ID0gMTsKKworCX0gZWxzZSBpZiAoIXN0cmNtcChyZWFkZXIubGluZSwgInZlcnNpb24gMiIpKSB7CisJCS8qCisJCSAqIHYyIHNtYXJ0IGh0dHA7IGRvIG5vdCBjb25zdW1lIHZlcnNpb24gcGFja2V0LCB3aGljaCB3aWxsCisJCSAqIGJlIGhhbmRsZWQgZWxzZXdoZXJlLgorCQkgKi8KKwkJZC0+cHJvdG9fZ2l0ID0gMTsKKworCX0gZWxzZSB7CisJCWRpZShfKCJpbnZhbGlkIHNlcnZlciByZXNwb25zZTsgZ290ICclcyciKSwgcmVhZGVyLmxpbmUpOworCX0KK30KKwogc3RhdGljIHN0cnVjdCBkaXNjb3ZlcnkgKmRpc2NvdmVyX3JlZnMoY29uc3QgY2hhciAqc2VydmljZSwgaW50IGZvcl9wdXNoKQogewotCXN0cnVjdCBzdHJidWYgZXhwID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0cmJ1ZiB0eXBlID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0cmJ1ZiBjaGFyc2V0ID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0cmJ1ZiBidWZmZXIgPSBTVFJCVUZfSU5JVDsKQEAgLTM4MCw3ICs0NDUsNiBAQAogCWh0dHBfb3B0aW9ucy5leHRyYV9oZWFkZXJzID0gJmV4dHJhX2hlYWRlcnM7CiAJaHR0cF9vcHRpb25zLmluaXRpYWxfcmVxdWVzdCA9IDE7CiAJaHR0cF9vcHRpb25zLm5vX2NhY2hlID0gMTsKLQlodHRwX29wdGlvbnMua2VlcF9lcnJvciA9IDE7CiAKIAlodHRwX3JldCA9IGh0dHBfZ2V0X3N0cmJ1ZihyZWZzX3VybC5idWYsICZidWZmZXIsICZodHRwX29wdGlvbnMpOwogCXN3aXRjaCAoaHR0cF9yZXQpIHsKQEAgLTM4OCw1NSArNDUyLDMxIEBACiAJCWJyZWFrOwogCWNhc2UgSFRUUF9NSVNTSU5HX1RBUkdFVDoKIAkJc2hvd19odHRwX21lc3NhZ2UoJnR5cGUsICZjaGFyc2V0LCAmYnVmZmVyKTsKLQkJZGllKCJyZXBvc2l0b3J5ICclcycgbm90IGZvdW5kIiwgdXJsLmJ1Zik7CisJCWRpZShfKCJyZXBvc2l0b3J5ICclcycgbm90IGZvdW5kIiksCisJCSAgICB0cmFuc3BvcnRfYW5vbnltaXplX3VybCh1cmwuYnVmKSk7CiAJY2FzZSBIVFRQX05PQVVUSDoKIAkJc2hvd19odHRwX21lc3NhZ2UoJnR5cGUsICZjaGFyc2V0LCAmYnVmZmVyKTsKLQkJZGllKCJBdXRoZW50aWNhdGlvbiBmYWlsZWQgZm9yICclcyciLCB1cmwuYnVmKTsKKwkJZGllKF8oIkF1dGhlbnRpY2F0aW9uIGZhaWxlZCBmb3IgJyVzJyIpLAorCQkgICAgdHJhbnNwb3J0X2Fub255bWl6ZV91cmwodXJsLmJ1ZikpOwogCWRlZmF1bHQ6CiAJCXNob3dfaHR0cF9tZXNzYWdlKCZ0eXBlLCAmY2hhcnNldCwgJmJ1ZmZlcik7Ci0JCWRpZSgidW5hYmxlIHRvIGFjY2VzcyAnJXMnOiAlcyIsIHVybC5idWYsIGN1cmxfZXJyb3JzdHIpOworCQlkaWUoXygidW5hYmxlIHRvIGFjY2VzcyAnJXMnOiAlcyIpLAorCQkgICAgdHJhbnNwb3J0X2Fub255bWl6ZV91cmwodXJsLmJ1ZiksIGN1cmxfZXJyb3JzdHIpOwogCX0KIAotCWlmIChvcHRpb25zLnZlcmJvc2l0eSAmJiAhc3RhcnRzX3dpdGgocmVmc191cmwuYnVmLCB1cmwuYnVmKSkKLQkJd2FybmluZyhfKCJyZWRpcmVjdGluZyB0byAlcyIpLCB1cmwuYnVmKTsKKwlpZiAob3B0aW9ucy52ZXJib3NpdHkgJiYgIXN0YXJ0c193aXRoKHJlZnNfdXJsLmJ1ZiwgdXJsLmJ1ZikpIHsKKwkJY2hhciAqdSA9IHRyYW5zcG9ydF9hbm9ueW1pemVfdXJsKHVybC5idWYpOworCQl3YXJuaW5nKF8oInJlZGlyZWN0aW5nIHRvICVzIiksIHUpOworCQlmcmVlKHUpOworCX0KIAogCWxhc3Q9IHhjYWxsb2MoMSwgc2l6ZW9mKCpsYXN0X2Rpc2NvdmVyeSkpOwogCWxhc3QtPnNlcnZpY2UgPSB4c3RyZHVwKHNlcnZpY2UpOwogCWxhc3QtPmJ1Zl9hbGxvYyA9IHN0cmJ1Zl9kZXRhY2goJmJ1ZmZlciwgJmxhc3QtPmxlbik7CiAJbGFzdC0+YnVmID0gbGFzdC0+YnVmX2FsbG9jOwogCi0Jc3RyYnVmX2FkZGYoJmV4cCwgImFwcGxpY2F0aW9uL3gtJXMtYWR2ZXJ0aXNlbWVudCIsIHNlcnZpY2UpOwotCWlmIChtYXliZV9zbWFydCAmJgotCSAgICAoNSA8PSBsYXN0LT5sZW4gJiYgbGFzdC0+YnVmWzRdID09ICcjJykgJiYKLQkgICAgIXN0cmJ1Zl9jbXAoJmV4cCwgJnR5cGUpKSB7Ci0JCWNoYXIgKmxpbmU7Ci0KLQkJLyoKLQkJICogc21hcnQgSFRUUCByZXNwb25zZTsgdmFsaWRhdGUgdGhhdCB0aGUgc2VydmljZQotCQkgKiBwa3QtbGluZSBtYXRjaGVzIG91ciByZXF1ZXN0LgotCQkgKi8KLQkJbGluZSA9IHBhY2tldF9yZWFkX2xpbmVfYnVmKCZsYXN0LT5idWYsICZsYXN0LT5sZW4sIE5VTEwpOwotCQlpZiAoIWxpbmUpCi0JCQlkaWUoImludmFsaWQgc2VydmVyIHJlc3BvbnNlOyBleHBlY3RlZCBzZXJ2aWNlLCBnb3QgZmx1c2ggcGFja2V0Iik7Ci0KLQkJc3RyYnVmX3Jlc2V0KCZleHApOwotCQlzdHJidWZfYWRkZigmZXhwLCAiIyBzZXJ2aWNlPSVzIiwgc2VydmljZSk7Ci0JCWlmIChzdHJjbXAobGluZSwgZXhwLmJ1ZikpCi0JCQlkaWUoImludmFsaWQgc2VydmVyIHJlc3BvbnNlOyBnb3QgJyVzJyIsIGxpbmUpOwotCQlzdHJidWZfcmVsZWFzZSgmZXhwKTsKLQotCQkvKiBUaGUgaGVhZGVyIGNhbiBpbmNsdWRlIGFkZGl0aW9uYWwgbWV0YWRhdGEgbGluZXMsIHVwCi0JCSAqIHVudGlsIGEgcGFja2V0IGZsdXNoIG1hcmtlci4gIElnbm9yZSB0aGVzZSBub3csIGJ1dAotCQkgKiBpbiB0aGUgZnV0dXJlIHdlIG1pZ2h0IHN0YXJ0IHRvIHNjYW4gdGhlbS4KLQkJICovCi0JCXdoaWxlIChwYWNrZXRfcmVhZF9saW5lX2J1ZigmbGFzdC0+YnVmLCAmbGFzdC0+bGVuLCBOVUxMKSkKLQkJCTsKLQotCQlsYXN0LT5wcm90b19naXQgPSAxOwotCX0gZWxzZSBpZiAobWF5YmVfc21hcnQgJiYKLQkJICAgbGFzdC0+bGVuID4gNSAmJiBzdGFydHNfd2l0aChsYXN0LT5idWYgKyA0LCAidmVyc2lvbiAyIikpIHsKLQkJbGFzdC0+cHJvdG9fZ2l0ID0gMTsKLQl9CisJaWYgKG1heWJlX3NtYXJ0KQorCQljaGVja19zbWFydF9odHRwKGxhc3QsIHNlcnZpY2UsICZ0eXBlKTsKIAogCWlmIChsYXN0LT5wcm90b19naXQpCiAJCWxhc3QtPnJlZnMgPSBwYXJzZV9naXRfcmVmcyhsYXN0LCBmb3JfcHVzaCk7CkBAIC00NDQsNyArNDg0LDYgQEAKIAkJbGFzdC0+cmVmcyA9IHBhcnNlX2luZm9fcmVmcyhsYXN0KTsKIAogCXN0cmJ1Zl9yZWxlYXNlKCZyZWZzX3VybCk7Ci0Jc3RyYnVmX3JlbGVhc2UoJmV4cCk7CiAJc3RyYnVmX3JlbGVhc2UoJnR5cGUpOwogCXN0cmJ1Zl9yZWxlYXNlKCZjaGFyc2V0KTsKIAlzdHJidWZfcmVsZWFzZSgmZWZmZWN0aXZlX3VybCk7CkBAIC00ODIsOCArNTIxLDYgQEAKIAogc3RydWN0IHJwY19zdGF0ZSB7CiAJY29uc3QgY2hhciAqc2VydmljZV9uYW1lOwotCWNvbnN0IGNoYXIgKiphcmd2OwotCXN0cnVjdCBzdHJidWYgKnN0ZGluX3ByZWFtYmxlOwogCWNoYXIgKnNlcnZpY2VfdXJsOwogCWNoYXIgKmhkcl9jb250ZW50X3R5cGU7CiAJY2hhciAqaGRyX2FjY2VwdDsKQEAgLTQ5NSwyNSArNTMyLDEyMSBAQAogCWludCBpbjsKIAlpbnQgb3V0OwogCWludCBhbnlfd3JpdHRlbjsKLQlzdHJ1Y3Qgc3RyYnVmIHJlc3VsdDsKIAl1bnNpZ25lZCBnemlwX3JlcXVlc3QgOiAxOwogCXVuc2lnbmVkIGluaXRpYWxfYnVmZmVyIDogMTsKKworCS8qCisJICogV2hlbmV2ZXIgYSBwa3QtbGluZSBpcyByZWFkIGludG8gYnVmLCBhcHBlbmQgdGhlIDQgY2hhcmFjdGVycworCSAqIGRlbm90aW5nIGl0cyBsZW5ndGggYmVmb3JlIGFwcGVuZGluZyB0aGUgcGF5bG9hZC4KKwkgKi8KKwl1bnNpZ25lZCB3cml0ZV9saW5lX2xlbmd0aHMgOiAxOworCisJLyoKKwkgKiBVc2VkIGJ5IHJwY19vdXQ7IGluaXRpYWxpemUgdG8gMC4gVGhpcyBpcyB0cnVlIGlmIGEgZmx1c2ggaGFzIGJlZW4KKwkgKiByZWFkLCBidXQgdGhlIGNvcnJlc3BvbmRpbmcgbGluZSBsZW5ndGggKGlmIHdyaXRlX2xpbmVfbGVuZ3RocyBpcworCSAqIHRydWUpIGFuZCBFT0YgaGF2ZSBub3QgYmVlbiBzZW50IHRvIGxpYmN1cmwuIFNpbmNlIGVhY2ggZmx1c2ggbWFya3MKKwkgKiB0aGUgZW5kIG9mIGEgcmVxdWVzdCwgZWFjaCBmbHVzaCBtdXN0IGJlIGNvbXBsZXRlbHkgc2VudCBiZWZvcmUgYW55CisJICogZnVydGhlciByZWFkaW5nIG9jY3Vycy4KKwkgKi8KKwl1bnNpZ25lZCBmbHVzaF9yZWFkX2J1dF9ub3Rfc2VudCA6IDE7CiB9OwogCisvKgorICogQXBwZW5kcyB0aGUgcmVzdWx0IG9mIHJlYWRpbmcgZnJvbSBycGMtPm91dCB0byB0aGUgc3RyaW5nIHJlcHJlc2VudGVkIGJ5CisgKiBycGMtPmJ1ZiBhbmQgcnBjLT5sZW4gaWYgdGhlcmUgaXMgZW5vdWdoIHNwYWNlLiBSZXR1cm5zIDEgaWYgdGhlcmUgd2FzCisgKiBlbm91Z2ggc3BhY2UsIDAgb3RoZXJ3aXNlLgorICoKKyAqIElmIHJwYy0+d3JpdGVfbGluZV9sZW5ndGhzIGlzIHRydWUsIGFwcGVuZHMgdGhlIGxpbmUgbGVuZ3RoIGFzIGEgNC1ieXRlCisgKiBoZXhhZGVjaW1hbCBzdHJpbmcgYmVmb3JlIGFwcGVuZGluZyB0aGUgcmVzdWx0IGRlc2NyaWJlZCBhYm92ZS4KKyAqCisgKiBXcml0ZXMgdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyBhcHBlbmRlZCBpbnRvIGFwcGVuZGVkLgorICovCitzdGF0aWMgaW50IHJwY19yZWFkX2Zyb21fb3V0KHN0cnVjdCBycGNfc3RhdGUgKnJwYywgaW50IG9wdGlvbnMsCisJCQkgICAgIHNpemVfdCAqYXBwZW5kZWQsCisJCQkgICAgIGVudW0gcGFja2V0X3JlYWRfc3RhdHVzICpzdGF0dXMpIHsKKwlzaXplX3QgbGVmdDsKKwljaGFyICpidWY7CisJaW50IHBrdGxlbl9yYXc7CisKKwlpZiAocnBjLT53cml0ZV9saW5lX2xlbmd0aHMpIHsKKwkJbGVmdCA9IHJwYy0+YWxsb2MgLSBycGMtPmxlbiAtIDQ7CisJCWJ1ZiA9IHJwYy0+YnVmICsgcnBjLT5sZW4gKyA0OworCX0gZWxzZSB7CisJCWxlZnQgPSBycGMtPmFsbG9jIC0gcnBjLT5sZW47CisJCWJ1ZiA9IHJwYy0+YnVmICsgcnBjLT5sZW47CisJfQorCisJaWYgKGxlZnQgPCBMQVJHRV9QQUNLRVRfTUFYKQorCQlyZXR1cm4gMDsKKworCSpzdGF0dXMgPSBwYWNrZXRfcmVhZF93aXRoX3N0YXR1cyhycGMtPm91dCwgTlVMTCwgTlVMTCwgYnVmLAorCQkJbGVmdCwgJnBrdGxlbl9yYXcsIG9wdGlvbnMpOworCWlmICgqc3RhdHVzICE9IFBBQ0tFVF9SRUFEX0VPRikgeworCQkqYXBwZW5kZWQgPSBwa3RsZW5fcmF3ICsgKHJwYy0+d3JpdGVfbGluZV9sZW5ndGhzID8gNCA6IDApOworCQlycGMtPmxlbiArPSAqYXBwZW5kZWQ7CisJfQorCisJaWYgKHJwYy0+d3JpdGVfbGluZV9sZW5ndGhzKSB7CisJCXN3aXRjaCAoKnN0YXR1cykgeworCQljYXNlIFBBQ0tFVF9SRUFEX0VPRjoKKwkJCWlmICghKG9wdGlvbnMgJiBQQUNLRVRfUkVBRF9HRU5UTEVfT05fRU9GKSkKKwkJCQlkaWUoXygic2hvdWxkbid0IGhhdmUgRU9GIHdoZW4gbm90IGdlbnRsZSBvbiBFT0YiKSk7CisJCQlicmVhazsKKwkJY2FzZSBQQUNLRVRfUkVBRF9OT1JNQUw6CisJCQlzZXRfcGFja2V0X2hlYWRlcihidWYgLSA0LCAqYXBwZW5kZWQpOworCQkJYnJlYWs7CisJCWNhc2UgUEFDS0VUX1JFQURfREVMSU06CisJCQltZW1jcHkoYnVmIC0gNCwgIjAwMDEiLCA0KTsKKwkJCWJyZWFrOworCQljYXNlIFBBQ0tFVF9SRUFEX0ZMVVNIOgorCQkJbWVtY3B5KGJ1ZiAtIDQsICIwMDAwIiwgNCk7CisJCQlicmVhazsKKwkJfQorCX0KKworCXJldHVybiAxOworfQorCiBzdGF0aWMgc2l6ZV90IHJwY19vdXQodm9pZCAqcHRyLCBzaXplX3QgZWx0c2l6ZSwKIAkJc2l6ZV90IG5tZW1iLCB2b2lkICpidWZmZXJfKQogewogCXNpemVfdCBtYXggPSBlbHRzaXplICogbm1lbWI7CiAJc3RydWN0IHJwY19zdGF0ZSAqcnBjID0gYnVmZmVyXzsKIAlzaXplX3QgYXZhaWwgPSBycGMtPmxlbiAtIHJwYy0+cG9zOworCWVudW0gcGFja2V0X3JlYWRfc3RhdHVzIHN0YXR1czsKIAogCWlmICghYXZhaWwpIHsKIAkJcnBjLT5pbml0aWFsX2J1ZmZlciA9IDA7Ci0JCWF2YWlsID0gcGFja2V0X3JlYWQocnBjLT5vdXQsIE5VTEwsIE5VTEwsIHJwYy0+YnVmLCBycGMtPmFsbG9jLCAwKTsKLQkJaWYgKCFhdmFpbCkKLQkJCXJldHVybiAwOworCQlycGMtPmxlbiA9IDA7CiAJCXJwYy0+cG9zID0gMDsKLQkJcnBjLT5sZW4gPSBhdmFpbDsKKwkJaWYgKCFycGMtPmZsdXNoX3JlYWRfYnV0X25vdF9zZW50KSB7CisJCQlpZiAoIXJwY19yZWFkX2Zyb21fb3V0KHJwYywgMCwgJmF2YWlsLCAmc3RhdHVzKSkKKwkJCQlCVUcoIlRoZSBlbnRpcmUgcnBjLT5idWYgc2hvdWxkIGJlIGxhcmdlciB0aGFuIExBUkdFX1BBQ0tFVF9NQVgiKTsKKwkJCWlmIChzdGF0dXMgPT0gUEFDS0VUX1JFQURfRkxVU0gpCisJCQkJcnBjLT5mbHVzaF9yZWFkX2J1dF9ub3Rfc2VudCA9IDE7CisJCX0KKwkJLyoKKwkJICogSWYgZmx1c2hfcmVhZF9idXRfbm90X3NlbnQgaXMgdHJ1ZSwgd2UgaGF2ZSBhbHJlYWR5IHJlYWQgb25lCisJCSAqIGZ1bGwgcmVxdWVzdCBidXQgaGF2ZSBub3QgZnVsbHkgc2VudCBpdCArIEVPRiwgd2hpY2ggaXMgd2h5CisJCSAqIHdlIG5lZWQgdG8gcmVmcmFpbiBmcm9tIHJlYWRpbmcuCisJCSAqLworCX0KKwlpZiAocnBjLT5mbHVzaF9yZWFkX2J1dF9ub3Rfc2VudCkgeworCQlpZiAoIWF2YWlsKSB7CisJCQkvKgorCQkJICogVGhlIGxpbmUgbGVuZ3RoIGVpdGhlciBkb2VzIG5vdCBuZWVkIHRvIGJlIHNlbnQgYXQKKwkJCSAqIGFsbCBvciBoYXMgYWxyZWFkeSBiZWVuIGNvbXBsZXRlbHkgc2VudC4gTm93IHdlIGNhbgorCQkJICogcmV0dXJuIDAsIGluZGljYXRpbmcgRU9GLCBtZWFuaW5nIHRoYXQgdGhlIGZsdXNoIGhhcworCQkJICogYmVlbiBmdWxseSBzZW50LgorCQkJICovCisJCQlycGMtPmZsdXNoX3JlYWRfYnV0X25vdF9zZW50ID0gMDsKKwkJCXJldHVybiAwOworCQl9CisJCS8qCisJCSAqIElmIGF2YWlsIGlzIG5vbi16ZXJwLCB0aGUgbGluZSBsZW5ndGggZm9yIHRoZSBmbHVzaCBzdGlsbAorCQkgKiBoYXNuJ3QgYmVlbiBmdWxseSBzZW50LiBQcm9jZWVkIHdpdGggc2VuZGluZyB0aGUgbGluZQorCQkgKiBsZW5ndGguCisJCSAqLwogCX0KIAogCWlmIChtYXggPCBhdmFpbCkKQEAgLTUzNyw3ICs2NzAsNyBAQAogCQkJcnBjLT5wb3MgPSAwOwogCQkJcmV0dXJuIENVUkxJT0VfT0s7CiAJCX0KLQkJZXJyb3IoInVuYWJsZSB0byByZXdpbmQgcnBjIHBvc3QgZGF0YSAtIHRyeSBpbmNyZWFzaW5nIGh0dHAucG9zdEJ1ZmZlciIpOworCQllcnJvcihfKCJ1bmFibGUgdG8gcmV3aW5kIHJwYyBwb3N0IGRhdGEgLSB0cnkgaW5jcmVhc2luZyBodHRwLnBvc3RCdWZmZXIiKSk7CiAJCXJldHVybiBDVVJMSU9FX0ZBSUxSRVNUQVJUOwogCiAJZGVmYXVsdDoKQEAgLTU0NiwxNCArNjc5LDMwIEBACiB9CiAjZW5kaWYKIAorc3RydWN0IHJwY19pbl9kYXRhIHsKKwlzdHJ1Y3QgcnBjX3N0YXRlICpycGM7CisJc3RydWN0IGFjdGl2ZV9yZXF1ZXN0X3Nsb3QgKnNsb3Q7Cit9OworCisvKgorICogQSBjYWxsYmFjayBmb3IgQ1VSTE9QVF9XUklURUZVTkNUSU9OLiBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoZSBieXRlcyBjb25zdW1lZAorICogZnJvbSBwdHIuCisgKi8KIHN0YXRpYyBzaXplX3QgcnBjX2luKGNoYXIgKnB0ciwgc2l6ZV90IGVsdHNpemUsCiAJCXNpemVfdCBubWVtYiwgdm9pZCAqYnVmZmVyXykKIHsKIAlzaXplX3Qgc2l6ZSA9IGVsdHNpemUgKiBubWVtYjsKLQlzdHJ1Y3QgcnBjX3N0YXRlICpycGMgPSBidWZmZXJfOworCXN0cnVjdCBycGNfaW5fZGF0YSAqZGF0YSA9IGJ1ZmZlcl87CisJbG9uZyByZXNwb25zZV9jb2RlOworCisJaWYgKGN1cmxfZWFzeV9nZXRpbmZvKGRhdGEtPnNsb3QtPmN1cmwsIENVUkxJTkZPX1JFU1BPTlNFX0NPREUsCisJCQkgICAgICAmcmVzcG9uc2VfY29kZSkgIT0gQ1VSTEVfT0spCisJCXJldHVybiBzaXplOworCWlmIChyZXNwb25zZV9jb2RlID49IDMwMCkKKwkJcmV0dXJuIHNpemU7CiAJaWYgKHNpemUpCi0JCXJwYy0+YW55X3dyaXR0ZW4gPSAxOwotCXdyaXRlX29yX2RpZShycGMtPmluLCBwdHIsIHNpemUpOworCQlkYXRhLT5ycGMtPmFueV93cml0dGVuID0gMTsKKwl3cml0ZV9vcl9kaWUoZGF0YS0+cnBjLT5pbiwgcHRyLCBzaXplKTsKIAlyZXR1cm4gc2l6ZTsKIH0KIApAQCAtNTgxLDcgKzczMCw3IEBACiAJCQkJc3RyYnVmX2FkZHN0cigmbXNnLCBjdXJsX2Vycm9yc3RyKTsKIAkJCX0KIAkJfQotCQllcnJvcigiUlBDIGZhaWxlZDsgJXMiLCBtc2cuYnVmKTsKKwkJZXJyb3IoXygiUlBDIGZhaWxlZDsgJXMiKSwgbXNnLmJ1Zik7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZtc2cpOwogCX0KIApAQCAtNjE3LDE0ICs3NjYsMTkgQEAKIAlyZXR1cm4gZXJyOwogfQogCi1zdGF0aWMgY3VybF9vZmZfdCB4Y3VybF9vZmZfdChzaXplX3QgbGVuKSB7CitzdGF0aWMgY3VybF9vZmZfdCB4Y3VybF9vZmZfdChzaXplX3QgbGVuKQorewogCXVpbnRtYXhfdCBzaXplID0gbGVuOwogCWlmIChzaXplID4gbWF4aW11bV9zaWduZWRfdmFsdWVfb2ZfdHlwZShjdXJsX29mZl90KSkKLQkJZGllKCJjYW5ub3QgaGFuZGxlIHB1c2hlcyB0aGlzIGJpZyIpOworCQlkaWUoXygiY2Fubm90IGhhbmRsZSBwdXNoZXMgdGhpcyBiaWciKSk7CiAJcmV0dXJuIChjdXJsX29mZl90KXNpemU7CiB9CiAKLXN0YXRpYyBpbnQgcG9zdF9ycGMoc3RydWN0IHJwY19zdGF0ZSAqcnBjKQorLyoKKyAqIElmIGZsdXNoX3JlY2VpdmVkIGlzIHRydWUsIGRvIG5vdCBhdHRlbXB0IHRvIHJlYWQgYW55IG1vcmU7IGp1c3QgdXNlIHdoYXQncworICogaW4gcnBjLT5idWYuCisgKi8KK3N0YXRpYyBpbnQgcG9zdF9ycGMoc3RydWN0IHJwY19zdGF0ZSAqcnBjLCBpbnQgZmx1c2hfcmVjZWl2ZWQpCiB7CiAJc3RydWN0IGFjdGl2ZV9yZXF1ZXN0X3Nsb3QgKnNsb3Q7CiAJc3RydWN0IGN1cmxfc2xpc3QgKmhlYWRlcnMgPSBodHRwX2NvcHlfZGVmYXVsdF9oZWFkZXJzKCk7CkBAIC02MzMsMjYgKzc4NywyNSBAQAogCXNpemVfdCBnemlwX3NpemUgPSAwOwogCWludCBlcnIsIGxhcmdlX3JlcXVlc3QgPSAwOwogCWludCBuZWVkc18xMDBfY29udGludWUgPSAwOworCXN0cnVjdCBycGNfaW5fZGF0YSBycGNfaW5fZGF0YTsKIAogCS8qIFRyeSB0byBsb2FkIHRoZSBlbnRpcmUgcmVxdWVzdCwgaWYgd2UgY2FuIGZpdCBpdCBpbnRvIHRoZQogCSAqIGFsbG9jYXRlZCBidWZmZXIgc3BhY2Ugd2UgY2FuIHVzZSBIVFRQLzEuMCBhbmQgYXZvaWQgdGhlCiAJICogY2h1bmtlZCBlbmNvZGluZyBtZXNzLgogCSAqLwotCXdoaWxlICgxKSB7Ci0JCXNpemVfdCBsZWZ0ID0gcnBjLT5hbGxvYyAtIHJwYy0+bGVuOwotCQljaGFyICpidWYgPSBycGMtPmJ1ZiArIHJwYy0+bGVuOwotCQlpbnQgbjsKKwlpZiAoIWZsdXNoX3JlY2VpdmVkKSB7CisJCXdoaWxlICgxKSB7CisJCQlzaXplX3QgbjsKKwkJCWVudW0gcGFja2V0X3JlYWRfc3RhdHVzIHN0YXR1czsKIAotCQlpZiAobGVmdCA8IExBUkdFX1BBQ0tFVF9NQVgpIHsKLQkJCWxhcmdlX3JlcXVlc3QgPSAxOwotCQkJdXNlX2d6aXAgPSAwOwotCQkJYnJlYWs7CisJCQlpZiAoIXJwY19yZWFkX2Zyb21fb3V0KHJwYywgMCwgJm4sICZzdGF0dXMpKSB7CisJCQkJbGFyZ2VfcmVxdWVzdCA9IDE7CisJCQkJdXNlX2d6aXAgPSAwOworCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKHN0YXR1cyA9PSBQQUNLRVRfUkVBRF9GTFVTSCkKKwkJCQlicmVhazsKIAkJfQotCi0JCW4gPSBwYWNrZXRfcmVhZChycGMtPm91dCwgTlVMTCwgTlVMTCwgYnVmLCBsZWZ0LCAwKTsKLQkJaWYgKCFuKQotCQkJYnJlYWs7Ci0JCXJwYy0+bGVuICs9IG47CiAJfQogCiAJaWYgKGxhcmdlX3JlcXVlc3QpIHsKQEAgLTczMiwxMSArODg1LDExIEBACiAKIAkJcmV0ID0gZ2l0X2RlZmxhdGUoJnN0cmVhbSwgWl9GSU5JU0gpOwogCQlpZiAocmV0ICE9IFpfU1RSRUFNX0VORCkKLQkJCWRpZSgiY2Fubm90IGRlZmxhdGUgcmVxdWVzdDsgemxpYiBkZWZsYXRlIGVycm9yICVkIiwgcmV0KTsKKwkJCWRpZShfKCJjYW5ub3QgZGVmbGF0ZSByZXF1ZXN0OyB6bGliIGRlZmxhdGUgZXJyb3IgJWQiKSwgcmV0KTsKIAogCQlyZXQgPSBnaXRfZGVmbGF0ZV9lbmRfZ2VudGx5KCZzdHJlYW0pOwogCQlpZiAocmV0ICE9IFpfT0spCi0JCQlkaWUoImNhbm5vdCBkZWZsYXRlIHJlcXVlc3Q7IHpsaWIgZW5kIGVycm9yICVkIiwgcmV0KTsKKwkJCWRpZShfKCJjYW5ub3QgZGVmbGF0ZSByZXF1ZXN0OyB6bGliIGVuZCBlcnJvciAlZCIpLCByZXQpOwogCiAJCWd6aXBfc2l6ZSA9IHN0cmVhbS50b3RhbF9vdXQ7CiAKQEAgLTc2NSw3ICs5MTgsMTAgQEAKIAogCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9IVFRQSEVBREVSLCBoZWFkZXJzKTsKIAljdXJsX2Vhc3lfc2V0b3B0KHNsb3QtPmN1cmwsIENVUkxPUFRfV1JJVEVGVU5DVElPTiwgcnBjX2luKTsKLQljdXJsX2Vhc3lfc2V0b3B0KHNsb3QtPmN1cmwsIENVUkxPUFRfRklMRSwgcnBjKTsKKwlycGNfaW5fZGF0YS5ycGMgPSBycGM7CisJcnBjX2luX2RhdGEuc2xvdCA9IHNsb3Q7CisJY3VybF9lYXN5X3NldG9wdChzbG90LT5jdXJsLCBDVVJMT1BUX0ZJTEUsICZycGNfaW5fZGF0YSk7CisJY3VybF9lYXN5X3NldG9wdChzbG90LT5jdXJsLCBDVVJMT1BUX0ZBSUxPTkVSUk9SLCAwKTsKIAogCiAJcnBjLT5hbnlfd3JpdHRlbiA9IDA7CkBAIC03ODUsMjIgKzk0MSwyMiBAQAogCXJldHVybiBlcnI7CiB9CiAKLXN0YXRpYyBpbnQgcnBjX3NlcnZpY2Uoc3RydWN0IHJwY19zdGF0ZSAqcnBjLCBzdHJ1Y3QgZGlzY292ZXJ5ICpoZWFkcykKK3N0YXRpYyBpbnQgcnBjX3NlcnZpY2Uoc3RydWN0IHJwY19zdGF0ZSAqcnBjLCBzdHJ1Y3QgZGlzY292ZXJ5ICpoZWFkcywKKwkJICAgICAgIGNvbnN0IGNoYXIgKipjbGllbnRfYXJndiwgY29uc3Qgc3RydWN0IHN0cmJ1ZiAqcHJlYW1ibGUsCisJCSAgICAgICBzdHJ1Y3Qgc3RyYnVmICpycGNfcmVzdWx0KQogewogCWNvbnN0IGNoYXIgKnN2YyA9IHJwYy0+c2VydmljZV9uYW1lOwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7Ci0Jc3RydWN0IHN0cmJ1ZiAqcHJlYW1ibGUgPSBycGMtPnN0ZGluX3ByZWFtYmxlOwogCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNsaWVudCA9IENISUxEX1BST0NFU1NfSU5JVDsKIAlpbnQgZXJyID0gMDsKIAogCWNsaWVudC5pbiA9IC0xOwogCWNsaWVudC5vdXQgPSAtMTsKIAljbGllbnQuZ2l0X2NtZCA9IDE7Ci0JY2xpZW50LmFyZ3YgPSBycGMtPmFyZ3Y7CisJY2xpZW50LmFyZ3YgPSBjbGllbnRfYXJndjsKIAlpZiAoc3RhcnRfY29tbWFuZCgmY2xpZW50KSkKIAkJZXhpdCgxKTsKLQlpZiAocHJlYW1ibGUpCi0JCXdyaXRlX29yX2RpZShjbGllbnQuaW4sIHByZWFtYmxlLT5idWYsIHByZWFtYmxlLT5sZW4pOworCXdyaXRlX29yX2RpZShjbGllbnQuaW4sIHByZWFtYmxlLT5idWYsIHByZWFtYmxlLT5sZW4pOwogCWlmIChoZWFkcykKIAkJd3JpdGVfb3JfZGllKGNsaWVudC5pbiwgaGVhZHMtPmJ1ZiwgaGVhZHMtPmxlbik7CiAKQEAgLTgwOCw3ICs5NjQsNiBAQAogCXJwYy0+YnVmID0geG1hbGxvYyhycGMtPmFsbG9jKTsKIAlycGMtPmluID0gY2xpZW50LmluOwogCXJwYy0+b3V0ID0gY2xpZW50Lm91dDsKLQlzdHJidWZfaW5pdCgmcnBjLT5yZXN1bHQsIDApOwogCiAJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzJXMiLCB1cmwuYnVmLCBzdmMpOwogCXJwYy0+c2VydmljZV91cmwgPSBzdHJidWZfZGV0YWNoKCZidWYsIE5VTEwpOwpAQCAtODMwLDEzICs5ODUsMTMgQEAKIAkJCWJyZWFrOwogCQlycGMtPnBvcyA9IDA7CiAJCXJwYy0+bGVuID0gbjsKLQkJZXJyIHw9IHBvc3RfcnBjKHJwYyk7CisJCWVyciB8PSBwb3N0X3JwYyhycGMsIDApOwogCX0KIAogCWNsb3NlKGNsaWVudC5pbik7CiAJY2xpZW50LmluID0gLTE7CiAJaWYgKCFlcnIpIHsKLQkJc3RyYnVmX3JlYWQoJnJwYy0+cmVzdWx0LCBjbGllbnQub3V0LCAwKTsKKwkJc3RyYnVmX3JlYWQocnBjX3Jlc3VsdCwgY2xpZW50Lm91dCwgMCk7CiAJfSBlbHNlIHsKIAkJY2hhciBidWZbNDA5Nl07CiAJCWZvciAoOzspCkBAIC04NjUsMTIgKzEwMjAsMTMgQEAKIAogCUFMTE9DX0FSUkFZKHRhcmdldHMsIG5yX2hlYWRzKTsKIAlpZiAob3B0aW9ucy5kZXB0aCB8fCBvcHRpb25zLmRlZXBlbl9zaW5jZSkKLQkJZGllKCJkdW1iIGh0dHAgdHJhbnNwb3J0IGRvZXMgbm90IHN1cHBvcnQgc2hhbGxvdyBjYXBhYmlsaXRpZXMiKTsKKwkJZGllKF8oImR1bWIgaHR0cCB0cmFuc3BvcnQgZG9lcyBub3Qgc3VwcG9ydCBzaGFsbG93IGNhcGFiaWxpdGllcyIpKTsKIAlmb3IgKGkgPSAwOyBpIDwgbnJfaGVhZHM7IGkrKykKIAkJdGFyZ2V0c1tpXSA9IHhzdHJkdXAob2lkX3RvX2hleCgmdG9fZmV0Y2hbaV0tPm9sZF9vaWQpKTsKIAogCXdhbGtlciA9IGdldF9odHRwX3dhbGtlcih1cmwuYnVmKTsKIAl3YWxrZXItPmdldF92ZXJib3NlbHkgPSBvcHRpb25zLnZlcmJvc2l0eSA+PSAzOworCXdhbGtlci0+Z2V0X3Byb2dyZXNzID0gb3B0aW9ucy5wcm9ncmVzczsKIAl3YWxrZXItPmdldF9yZWNvdmVyID0gMDsKIAlyZXQgPSB3YWxrZXJfZmV0Y2god2Fsa2VyLCBucl9oZWFkcywgdGFyZ2V0cywgTlVMTCwgTlVMTCk7CiAJd2Fsa2VyX2ZyZWUod2Fsa2VyKTsKQEAgLTg3OSw3ICsxMDM1LDcgQEAKIAkJZnJlZSh0YXJnZXRzW2ldKTsKIAlmcmVlKHRhcmdldHMpOwogCi0JcmV0dXJuIHJldCA/IGVycm9yKCJmZXRjaCBmYWlsZWQuIikgOiAwOworCXJldHVybiByZXQgPyBlcnJvcihfKCJmZXRjaCBmYWlsZWQuIikpIDogMDsKIH0KIAogc3RhdGljIGludCBmZXRjaF9naXQoc3RydWN0IGRpc2NvdmVyeSAqaGVhZHMsCkBAIC04ODksNiArMTA0NSw3IEBACiAJc3RydWN0IHN0cmJ1ZiBwcmVhbWJsZSA9IFNUUkJVRl9JTklUOwogCWludCBpLCBlcnI7CiAJc3RydWN0IGFyZ3ZfYXJyYXkgYXJncyA9IEFSR1ZfQVJSQVlfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIHJwY19yZXN1bHQgPSBTVFJCVUZfSU5JVDsKIAogCWFyZ3ZfYXJyYXlfcHVzaGwoJmFyZ3MsICJmZXRjaC1wYWNrIiwgIi0tc3RhdGVsZXNzLXJwYyIsCiAJCQkgIi0tc3RkaW4iLCAiLS1sb2NrLXBhY2siLCBOVUxMKTsKQEAgLTkyNiw3ICsxMDgzLDcgQEAKIAlmb3IgKGkgPSAwOyBpIDwgbnJfaGVhZHM7IGkrKykgewogCQlzdHJ1Y3QgcmVmICpyZWYgPSB0b19mZXRjaFtpXTsKIAkJaWYgKCEqcmVmLT5uYW1lKQotCQkJZGllKCJjYW5ub3QgZmV0Y2ggYnkgc2hhMSBvdmVyIHNtYXJ0IGh0dHAiKTsKKwkJCWRpZShfKCJjYW5ub3QgZmV0Y2ggYnkgc2hhMSBvdmVyIHNtYXJ0IGh0dHAiKSk7CiAJCXBhY2tldF9idWZfd3JpdGUoJnByZWFtYmxlLCAiJXMgJXNcbiIsCiAJCQkJIG9pZF90b19oZXgoJnJlZi0+b2xkX29pZCksIHJlZi0+bmFtZSk7CiAJfQpAQCAtOTM0LDE0ICsxMDkxLDEyIEBACiAKIAltZW1zZXQoJnJwYywgMCwgc2l6ZW9mKHJwYykpOwogCXJwYy5zZXJ2aWNlX25hbWUgPSAiZ2l0LXVwbG9hZC1wYWNrIiwKLQlycGMuYXJndiA9IGFyZ3MuYXJndjsKLQlycGMuc3RkaW5fcHJlYW1ibGUgPSAmcHJlYW1ibGU7CiAJcnBjLmd6aXBfcmVxdWVzdCA9IDE7CiAKLQllcnIgPSBycGNfc2VydmljZSgmcnBjLCBoZWFkcyk7Ci0JaWYgKHJwYy5yZXN1bHQubGVuKQotCQl3cml0ZV9vcl9kaWUoMSwgcnBjLnJlc3VsdC5idWYsIHJwYy5yZXN1bHQubGVuKTsKLQlzdHJidWZfcmVsZWFzZSgmcnBjLnJlc3VsdCk7CisJZXJyID0gcnBjX3NlcnZpY2UoJnJwYywgaGVhZHMsIGFyZ3MuYXJndiwgJnByZWFtYmxlLCAmcnBjX3Jlc3VsdCk7CisJaWYgKHJwY19yZXN1bHQubGVuKQorCQl3cml0ZV9vcl9kaWUoMSwgcnBjX3Jlc3VsdC5idWYsIHJwY19yZXN1bHQubGVuKTsKKwlzdHJidWZfcmVsZWFzZSgmcnBjX3Jlc3VsdCk7CiAJc3RyYnVmX3JlbGVhc2UoJnByZWFtYmxlKTsKIAlhcmd2X2FycmF5X2NsZWFyKCZhcmdzKTsKIAlyZXR1cm4gZXJyOwpAQCAtOTY5LDE1ICsxMTI0LDE2IEBACiAJCQljb25zdCBjaGFyICpuYW1lOwogCQkJc3RydWN0IHJlZiAqcmVmOwogCQkJc3RydWN0IG9iamVjdF9pZCBvbGRfb2lkOworCQkJY29uc3QgY2hhciAqcTsKIAotCQkJaWYgKGdldF9vaWRfaGV4KHAsICZvbGRfb2lkKSkKLQkJCQlkaWUoInByb3RvY29sIGVycm9yOiBleHBlY3RlZCBzaGEvcmVmLCBnb3QgJXMnIiwgcCk7Ci0JCQlpZiAocFtHSVRfU0hBMV9IRVhTWl0gPT0gJyAnKQotCQkJCW5hbWUgPSBwICsgR0lUX1NIQTFfSEVYU1ogKyAxOwotCQkJZWxzZSBpZiAoIXBbR0lUX1NIQTFfSEVYU1pdKQorCQkJaWYgKHBhcnNlX29pZF9oZXgocCwgJm9sZF9vaWQsICZxKSkKKwkJCQlkaWUoXygicHJvdG9jb2wgZXJyb3I6IGV4cGVjdGVkIHNoYS9yZWYsIGdvdCAnJXMnIiksIHApOworCQkJaWYgKCpxID09ICcgJykKKwkJCQluYW1lID0gcSArIDE7CisJCQllbHNlIGlmICghKnEpCiAJCQkJbmFtZSA9ICIiOwogCQkJZWxzZQotCQkJCWRpZSgicHJvdG9jb2wgZXJyb3I6IGV4cGVjdGVkIHNoYS9yZWYsIGdvdCAlcyciLCBwKTsKKwkJCQlkaWUoXygicHJvdG9jb2wgZXJyb3I6IGV4cGVjdGVkIHNoYS9yZWYsIGdvdCAnJXMnIiksIHApOwogCiAJCQlyZWYgPSBhbGxvY19yZWYobmFtZSk7CiAJCQlvaWRjcHkoJnJlZi0+b2xkX29pZCwgJm9sZF9vaWQpOwpAQCAtOTg5LDcgKzExNDUsNyBAQAogCQkJdG9fZmV0Y2hbbnJfaGVhZHMrK10gPSByZWY7CiAJCX0KIAkJZWxzZQotCQkJZGllKCJodHRwIHRyYW5zcG9ydCBkb2VzIG5vdCBzdXBwb3J0ICVzIiwgYnVmLT5idWYpOworCQkJZGllKF8oImh0dHAgdHJhbnNwb3J0IGRvZXMgbm90IHN1cHBvcnQgJXMiKSwgYnVmLT5idWYpOwogCiAJCXN0cmJ1Zl9yZXNldChidWYpOwogCQlpZiAoc3RyYnVmX2dldGxpbmVfbGYoYnVmLCBzdGRpbikgPT0gRU9GKQpAQCAtMTAwOCw3ICsxMTY0LDcgQEAKIAlzdHJidWZfcmVzZXQoYnVmKTsKIH0KIAotc3RhdGljIGludCBwdXNoX2RhdihpbnQgbnJfc3BlYywgY2hhciAqKnNwZWNzKQorc3RhdGljIGludCBwdXNoX2RhdihpbnQgbnJfc3BlYywgY29uc3QgY2hhciAqKnNwZWNzKQogewogCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNoaWxkID0gQ0hJTERfUFJPQ0VTU19JTklUOwogCXNpemVfdCBpOwpAQCAtMTAyNSwxNyArMTE4MSwxOCBAQAogCQlhcmd2X2FycmF5X3B1c2goJmNoaWxkLmFyZ3MsIHNwZWNzW2ldKTsKIAogCWlmIChydW5fY29tbWFuZCgmY2hpbGQpKQotCQlkaWUoImdpdC1odHRwLXB1c2ggZmFpbGVkIik7CisJCWRpZShfKCJnaXQtaHR0cC1wdXNoIGZhaWxlZCIpKTsKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBwdXNoX2dpdChzdHJ1Y3QgZGlzY292ZXJ5ICpoZWFkcywgaW50IG5yX3NwZWMsIGNoYXIgKipzcGVjcykKK3N0YXRpYyBpbnQgcHVzaF9naXQoc3RydWN0IGRpc2NvdmVyeSAqaGVhZHMsIGludCBucl9zcGVjLCBjb25zdCBjaGFyICoqc3BlY3MpCiB7CiAJc3RydWN0IHJwY19zdGF0ZSBycGM7CiAJaW50IGksIGVycjsKIAlzdHJ1Y3QgYXJndl9hcnJheSBhcmdzOwogCXN0cnVjdCBzdHJpbmdfbGlzdF9pdGVtICpjYXNfb3B0aW9uOwogCXN0cnVjdCBzdHJidWYgcHJlYW1ibGUgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RyYnVmIHJwY19yZXN1bHQgPSBTVFJCVUZfSU5JVDsKIAogCWFyZ3ZfYXJyYXlfaW5pdCgmYXJncyk7CiAJYXJndl9hcnJheV9wdXNobCgmYXJncywgInNlbmQtcGFjayIsICItLXN0YXRlbGVzcy1ycGMiLCAiLS1oZWxwZXItc3RhdHVzIiwKQEAgLTEwNDksNiArMTIwNiw4IEBACiAJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgIi0tc2lnbmVkPXllcyIpOwogCWVsc2UgaWYgKG9wdGlvbnMucHVzaF9jZXJ0ID09IFNFTkRfUEFDS19QVVNIX0NFUlRfSUZfQVNLRUQpCiAJCWFyZ3ZfYXJyYXlfcHVzaCgmYXJncywgIi0tc2lnbmVkPWlmLWFza2VkIik7CisJaWYgKG9wdGlvbnMuYXRvbWljKQorCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsICItLWF0b21pYyIpOwogCWlmIChvcHRpb25zLnZlcmJvc2l0eSA9PSAwKQogCQlhcmd2X2FycmF5X3B1c2goJmFyZ3MsICItLXF1aWV0Iik7CiAJZWxzZSBpZiAob3B0aW9ucy52ZXJib3NpdHkgPiAxKQpAQCAtMTA2OCwxOSArMTIyNywxNyBAQAogCiAJbWVtc2V0KCZycGMsIDAsIHNpemVvZihycGMpKTsKIAlycGMuc2VydmljZV9uYW1lID0gImdpdC1yZWNlaXZlLXBhY2siLAotCXJwYy5hcmd2ID0gYXJncy5hcmd2OwotCXJwYy5zdGRpbl9wcmVhbWJsZSA9ICZwcmVhbWJsZTsKIAotCWVyciA9IHJwY19zZXJ2aWNlKCZycGMsIGhlYWRzKTsKLQlpZiAocnBjLnJlc3VsdC5sZW4pCi0JCXdyaXRlX29yX2RpZSgxLCBycGMucmVzdWx0LmJ1ZiwgcnBjLnJlc3VsdC5sZW4pOwotCXN0cmJ1Zl9yZWxlYXNlKCZycGMucmVzdWx0KTsKKwllcnIgPSBycGNfc2VydmljZSgmcnBjLCBoZWFkcywgYXJncy5hcmd2LCAmcHJlYW1ibGUsICZycGNfcmVzdWx0KTsKKwlpZiAocnBjX3Jlc3VsdC5sZW4pCisJCXdyaXRlX29yX2RpZSgxLCBycGNfcmVzdWx0LmJ1ZiwgcnBjX3Jlc3VsdC5sZW4pOworCXN0cmJ1Zl9yZWxlYXNlKCZycGNfcmVzdWx0KTsKIAlzdHJidWZfcmVsZWFzZSgmcHJlYW1ibGUpOwogCWFyZ3ZfYXJyYXlfY2xlYXIoJmFyZ3MpOwogCXJldHVybiBlcnI7CiB9CiAKLXN0YXRpYyBpbnQgcHVzaChpbnQgbnJfc3BlYywgY2hhciAqKnNwZWNzKQorc3RhdGljIGludCBwdXNoKGludCBucl9zcGVjLCBjb25zdCBjaGFyICoqc3BlY3MpCiB7CiAJc3RydWN0IGRpc2NvdmVyeSAqaGVhZHMgPSBkaXNjb3Zlcl9yZWZzKCJnaXQtcmVjZWl2ZS1wYWNrIiwgMSk7CiAJaW50IHJldDsKQEAgLTEwOTUsMTYgKzEyNTIsMTUgQEAKIAogc3RhdGljIHZvaWQgcGFyc2VfcHVzaChzdHJ1Y3Qgc3RyYnVmICpidWYpCiB7Ci0JY2hhciAqKnNwZWNzID0gTlVMTDsKLQlpbnQgYWxsb2Nfc3BlYyA9IDAsIG5yX3NwZWMgPSAwLCBpLCByZXQ7CisJc3RydWN0IGFyZ3ZfYXJyYXkgc3BlY3MgPSBBUkdWX0FSUkFZX0lOSVQ7CisJaW50IHJldDsKIAogCWRvIHsKLQkJaWYgKHN0YXJ0c193aXRoKGJ1Zi0+YnVmLCAicHVzaCAiKSkgewotCQkJQUxMT0NfR1JPVyhzcGVjcywgbnJfc3BlYyArIDEsIGFsbG9jX3NwZWMpOwotCQkJc3BlY3NbbnJfc3BlYysrXSA9IHhzdHJkdXAoYnVmLT5idWYgKyA1KTsKLQkJfQorCQljb25zdCBjaGFyICphcmc7CisJCWlmIChza2lwX3ByZWZpeChidWYtPmJ1ZiwgInB1c2ggIiwgJmFyZykpCisJCQlhcmd2X2FycmF5X3B1c2goJnNwZWNzLCBhcmcpOwogCQllbHNlCi0JCQlkaWUoImh0dHAgdHJhbnNwb3J0IGRvZXMgbm90IHN1cHBvcnQgJXMiLCBidWYtPmJ1Zik7CisJCQlkaWUoXygiaHR0cCB0cmFuc3BvcnQgZG9lcyBub3Qgc3VwcG9ydCAlcyIpLCBidWYtPmJ1Zik7CiAKIAkJc3RyYnVmX3Jlc2V0KGJ1Zik7CiAJCWlmIChzdHJidWZfZ2V0bGluZV9sZihidWYsIHN0ZGluKSA9PSBFT0YpCkBAIC0xMTEzLDcgKzEyNjksNyBAQAogCQkJYnJlYWs7CiAJfSB3aGlsZSAoMSk7CiAKLQlyZXQgPSBwdXNoKG5yX3NwZWMsIHNwZWNzKTsKKwlyZXQgPSBwdXNoKHNwZWNzLmFyZ2MsIHNwZWNzLmFyZ3YpOwogCXByaW50ZigiXG4iKTsKIAlmZmx1c2goc3Rkb3V0KTsKIApAQCAtMTEyMSwxNjkgKzEyNzcsMTQgQEAKIAkJZXhpdCgxMjgpOyAvKiBlcnJvciBhbHJlYWR5IHJlcG9ydGVkICovCiAKICBmcmVlX3NwZWNzOgotCWZvciAoaSA9IDA7IGkgPCBucl9zcGVjOyBpKyspCi0JCWZyZWUoc3BlY3NbaV0pOwotCWZyZWUoc3BlY3MpOwotfQotCi0vKgotICogVXNlZCB0byByZXByZXNlbnQgdGhlIHN0YXRlIG9mIGEgY29ubmVjdGlvbiB0byBhbiBIVFRQIHNlcnZlciB3aGVuCi0gKiBjb21tdW5pY2F0aW5nIHVzaW5nIGdpdCdzIHdpcmUtcHJvdG9jb2wgdmVyc2lvbiAyLgotICovCi1zdHJ1Y3QgcHJveHlfc3RhdGUgewotCWNoYXIgKnNlcnZpY2VfbmFtZTsKLQljaGFyICpzZXJ2aWNlX3VybDsKLQlzdHJ1Y3QgY3VybF9zbGlzdCAqaGVhZGVyczsKLQlzdHJ1Y3Qgc3RyYnVmIHJlcXVlc3RfYnVmZmVyOwotCWludCBpbjsKLQlpbnQgb3V0OwotCXN0cnVjdCBwYWNrZXRfcmVhZGVyIHJlYWRlcjsKLQlzaXplX3QgcG9zOwotCWludCBzZWVuX2ZsdXNoOwotfTsKLQotc3RhdGljIHZvaWQgcHJveHlfc3RhdGVfaW5pdChzdHJ1Y3QgcHJveHlfc3RhdGUgKnAsIGNvbnN0IGNoYXIgKnNlcnZpY2VfbmFtZSwKLQkJCSAgICAgZW51bSBwcm90b2NvbF92ZXJzaW9uIHZlcnNpb24pCi17Ci0Jc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQotCW1lbXNldChwLCAwLCBzaXplb2YoKnApKTsKLQlwLT5zZXJ2aWNlX25hbWUgPSB4c3RyZHVwKHNlcnZpY2VfbmFtZSk7Ci0KLQlwLT5pbiA9IDA7Ci0JcC0+b3V0ID0gMTsKLQlzdHJidWZfaW5pdCgmcC0+cmVxdWVzdF9idWZmZXIsIDApOwotCi0Jc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzJXMiLCB1cmwuYnVmLCBwLT5zZXJ2aWNlX25hbWUpOwotCXAtPnNlcnZpY2VfdXJsID0gc3RyYnVmX2RldGFjaCgmYnVmLCBOVUxMKTsKLQotCXAtPmhlYWRlcnMgPSBodHRwX2NvcHlfZGVmYXVsdF9oZWFkZXJzKCk7Ci0KLQlzdHJidWZfYWRkZigmYnVmLCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LSVzLXJlcXVlc3QiLCBwLT5zZXJ2aWNlX25hbWUpOwotCXAtPmhlYWRlcnMgPSBjdXJsX3NsaXN0X2FwcGVuZChwLT5oZWFkZXJzLCBidWYuYnVmKTsKLQlzdHJidWZfcmVzZXQoJmJ1Zik7Ci0KLQlzdHJidWZfYWRkZigmYnVmLCAiQWNjZXB0OiBhcHBsaWNhdGlvbi94LSVzLXJlc3VsdCIsIHAtPnNlcnZpY2VfbmFtZSk7Ci0JcC0+aGVhZGVycyA9IGN1cmxfc2xpc3RfYXBwZW5kKHAtPmhlYWRlcnMsIGJ1Zi5idWYpOwotCXN0cmJ1Zl9yZXNldCgmYnVmKTsKLQotCXAtPmhlYWRlcnMgPSBjdXJsX3NsaXN0X2FwcGVuZChwLT5oZWFkZXJzLCAiVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWQiKTsKLQotCS8qIEFkZCB0aGUgR2l0LVByb3RvY29sIGhlYWRlciAqLwotCWlmIChnZXRfcHJvdG9jb2xfaHR0cF9oZWFkZXIodmVyc2lvbiwgJmJ1ZikpCi0JCXAtPmhlYWRlcnMgPSBjdXJsX3NsaXN0X2FwcGVuZChwLT5oZWFkZXJzLCBidWYuYnVmKTsKLQotCXBhY2tldF9yZWFkZXJfaW5pdCgmcC0+cmVhZGVyLCBwLT5pbiwgTlVMTCwgMCwKLQkJCSAgIFBBQ0tFVF9SRUFEX0dFTlRMRV9PTl9FT0YpOwotCi0Jc3RyYnVmX3JlbGVhc2UoJmJ1Zik7Ci19Ci0KLXN0YXRpYyB2b2lkIHByb3h5X3N0YXRlX2NsZWFyKHN0cnVjdCBwcm94eV9zdGF0ZSAqcCkKLXsKLQlmcmVlKHAtPnNlcnZpY2VfbmFtZSk7Ci0JZnJlZShwLT5zZXJ2aWNlX3VybCk7Ci0JY3VybF9zbGlzdF9mcmVlX2FsbChwLT5oZWFkZXJzKTsKLQlzdHJidWZfcmVsZWFzZSgmcC0+cmVxdWVzdF9idWZmZXIpOwotfQotCi0vKgotICogQ1VSTE9QVF9SRUFERlVOQ1RJT04gY2FsbGJhY2sgZnVuY3Rpb24uCi0gKiBBdHRlbXB0cyB0byBjb3B5IG92ZXIgYSBzaW5nbGUgcGFja2V0LWxpbmUgYXQgYSB0aW1lIGludG8gdGhlCi0gKiBjdXJsIHByb3ZpZGVkIGJ1ZmZlci4KLSAqLwotc3RhdGljIHNpemVfdCBwcm94eV9pbihjaGFyICpidWZmZXIsIHNpemVfdCBlbHRzaXplLAotCQkgICAgICAgc2l6ZV90IG5tZW1iLCB2b2lkICp1c2VyZGF0YSkKLXsKLQlzaXplX3QgbWF4OwotCXN0cnVjdCBwcm94eV9zdGF0ZSAqcCA9IHVzZXJkYXRhOwotCXNpemVfdCBhdmFpbCA9IHAtPnJlcXVlc3RfYnVmZmVyLmxlbiAtIHAtPnBvczsKLQotCi0JaWYgKGVsdHNpemUgIT0gMSkKLQkJQlVHKCJjdXJsIHJlYWQgY2FsbGJhY2sgY2FsbGVkIHdpdGggc2l6ZSA9ICUiUFJJdU1BWCIgIT0gMSIsCi0JCSAgICAodWludG1heF90KWVsdHNpemUpOwotCW1heCA9IG5tZW1iOwotCi0JaWYgKCFhdmFpbCkgewotCQlpZiAocC0+c2Vlbl9mbHVzaCkgewotCQkJcC0+c2Vlbl9mbHVzaCA9IDA7Ci0JCQlyZXR1cm4gMDsKLQkJfQotCi0JCXN0cmJ1Zl9yZXNldCgmcC0+cmVxdWVzdF9idWZmZXIpOwotCQlzd2l0Y2ggKHBhY2tldF9yZWFkZXJfcmVhZCgmcC0+cmVhZGVyKSkgewotCQljYXNlIFBBQ0tFVF9SRUFEX0VPRjoKLQkJCWRpZSgidW5leHBlY3RlZCBFT0Ygd2hlbiByZWFkaW5nIGZyb20gcGFyZW50IHByb2Nlc3MiKTsKLQkJY2FzZSBQQUNLRVRfUkVBRF9OT1JNQUw6Ci0JCQlwYWNrZXRfYnVmX3dyaXRlX2xlbigmcC0+cmVxdWVzdF9idWZmZXIsIHAtPnJlYWRlci5saW5lLAotCQkJCQkgICAgIHAtPnJlYWRlci5wa3RsZW4pOwotCQkJYnJlYWs7Ci0JCWNhc2UgUEFDS0VUX1JFQURfREVMSU06Ci0JCQlwYWNrZXRfYnVmX2RlbGltKCZwLT5yZXF1ZXN0X2J1ZmZlcik7Ci0JCQlicmVhazsKLQkJY2FzZSBQQUNLRVRfUkVBRF9GTFVTSDoKLQkJCXBhY2tldF9idWZfZmx1c2goJnAtPnJlcXVlc3RfYnVmZmVyKTsKLQkJCXAtPnNlZW5fZmx1c2ggPSAxOwotCQkJYnJlYWs7Ci0JCX0KLQkJcC0+cG9zID0gMDsKLQkJYXZhaWwgPSBwLT5yZXF1ZXN0X2J1ZmZlci5sZW47Ci0JfQotCi0JaWYgKG1heCA8IGF2YWlsKQotCQlhdmFpbCA9IG1heDsKLQltZW1jcHkoYnVmZmVyLCBwLT5yZXF1ZXN0X2J1ZmZlci5idWYgKyBwLT5wb3MsIGF2YWlsKTsKLQlwLT5wb3MgKz0gYXZhaWw7Ci0JcmV0dXJuIGF2YWlsOwotfQotCi1zdGF0aWMgc2l6ZV90IHByb3h5X291dChjaGFyICpidWZmZXIsIHNpemVfdCBlbHRzaXplLAotCQkJc2l6ZV90IG5tZW1iLCB2b2lkICp1c2VyZGF0YSkKLXsKLQlzaXplX3Qgc2l6ZTsKLQlzdHJ1Y3QgcHJveHlfc3RhdGUgKnAgPSB1c2VyZGF0YTsKLQotCWlmIChlbHRzaXplICE9IDEpCi0JCUJVRygiY3VybCByZWFkIGNhbGxiYWNrIGNhbGxlZCB3aXRoIHNpemUgPSAlIlBSSXVNQVgiICE9IDEiLAotCQkgICAgKHVpbnRtYXhfdCllbHRzaXplKTsKLQlzaXplID0gbm1lbWI7Ci0KLQl3cml0ZV9vcl9kaWUocC0+b3V0LCBidWZmZXIsIHNpemUpOwotCXJldHVybiBzaXplOwotfQotCi0vKiBJc3N1ZXMgYSByZXF1ZXN0IHRvIHRoZSBIVFRQIHNlcnZlciBjb25maWd1cmVkIGluIGBwYCAqLwotc3RhdGljIGludCBwcm94eV9yZXF1ZXN0KHN0cnVjdCBwcm94eV9zdGF0ZSAqcCkKLXsKLQlzdHJ1Y3QgYWN0aXZlX3JlcXVlc3Rfc2xvdCAqc2xvdDsKLQotCXNsb3QgPSBnZXRfYWN0aXZlX3Nsb3QoKTsKLQotCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9FTkNPRElORywgIiIpOwotCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9OT0JPRFksIDApOwotCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9QT1NULCAxKTsKLQljdXJsX2Vhc3lfc2V0b3B0KHNsb3QtPmN1cmwsIENVUkxPUFRfVVJMLCBwLT5zZXJ2aWNlX3VybCk7Ci0JY3VybF9lYXN5X3NldG9wdChzbG90LT5jdXJsLCBDVVJMT1BUX0hUVFBIRUFERVIsIHAtPmhlYWRlcnMpOwotCi0JLyogU2V0dXAgZnVuY3Rpb24gdG8gcmVhZCByZXF1ZXN0IGZyb20gY2xpZW50ICovCi0JY3VybF9lYXN5X3NldG9wdChzbG90LT5jdXJsLCBDVVJMT1BUX1JFQURGVU5DVElPTiwgcHJveHlfaW4pOwotCWN1cmxfZWFzeV9zZXRvcHQoc2xvdC0+Y3VybCwgQ1VSTE9QVF9SRUFEREFUQSwgcCk7Ci0KLQkvKiBTZXR1cCBmdW5jdGlvbiB0byB3cml0ZSBzZXJ2ZXIgcmVzcG9uc2UgdG8gY2xpZW50ICovCi0JY3VybF9lYXN5X3NldG9wdChzbG90LT5jdXJsLCBDVVJMT1BUX1dSSVRFRlVOQ1RJT04sIHByb3h5X291dCk7Ci0JY3VybF9lYXN5X3NldG9wdChzbG90LT5jdXJsLCBDVVJMT1BUX1dSSVRFREFUQSwgcCk7Ci0KLQlpZiAocnVuX3Nsb3Qoc2xvdCwgTlVMTCkgIT0gSFRUUF9PSykKLQkJcmV0dXJuIC0xOwotCi0JcmV0dXJuIDA7CisJYXJndl9hcnJheV9jbGVhcigmc3BlY3MpOwogfQogCiBzdGF0aWMgaW50IHN0YXRlbGVzc19jb25uZWN0KGNvbnN0IGNoYXIgKnNlcnZpY2VfbmFtZSkKIHsKIAlzdHJ1Y3QgZGlzY292ZXJ5ICpkaXNjb3ZlcjsKLQlzdHJ1Y3QgcHJveHlfc3RhdGUgcDsKKwlzdHJ1Y3QgcnBjX3N0YXRlIHJwYzsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCiAJLyoKIAkgKiBSdW4gdGhlIGluZm8vcmVmcyByZXF1ZXN0IGFuZCBzZWUgaWYgdGhlIHNlcnZlciBzdXBwb3J0cyBwcm90b2NvbApAQCAtMTMwMywyMyArMTMwNCw1OCBAQAogCQlmZmx1c2goc3Rkb3V0KTsKIAl9CiAKLQlwcm94eV9zdGF0ZV9pbml0KCZwLCBzZXJ2aWNlX25hbWUsIGRpc2NvdmVyLT52ZXJzaW9uKTsKKwlycGMuc2VydmljZV9uYW1lID0gc2VydmljZV9uYW1lOworCXJwYy5zZXJ2aWNlX3VybCA9IHhzdHJmbXQoIiVzJXMiLCB1cmwuYnVmLCBycGMuc2VydmljZV9uYW1lKTsKKwlycGMuaGRyX2NvbnRlbnRfdHlwZSA9IHhzdHJmbXQoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC0lcy1yZXF1ZXN0IiwgcnBjLnNlcnZpY2VfbmFtZSk7CisJcnBjLmhkcl9hY2NlcHQgPSB4c3RyZm10KCJBY2NlcHQ6IGFwcGxpY2F0aW9uL3gtJXMtcmVzdWx0IiwgcnBjLnNlcnZpY2VfbmFtZSk7CisJaWYgKGdldF9wcm90b2NvbF9odHRwX2hlYWRlcihkaXNjb3Zlci0+dmVyc2lvbiwgJmJ1ZikpIHsKKwkJcnBjLnByb3RvY29sX2hlYWRlciA9IHN0cmJ1Zl9kZXRhY2goJmJ1ZiwgTlVMTCk7CisJfSBlbHNlIHsKKwkJcnBjLnByb3RvY29sX2hlYWRlciA9IE5VTEw7CisJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOworCX0KKwlycGMuYnVmID0geG1hbGxvYyhodHRwX3Bvc3RfYnVmZmVyKTsKKwlycGMuYWxsb2MgPSBodHRwX3Bvc3RfYnVmZmVyOworCXJwYy5sZW4gPSAwOworCXJwYy5wb3MgPSAwOworCXJwYy5pbiA9IDE7CisJcnBjLm91dCA9IDA7CisJcnBjLmFueV93cml0dGVuID0gMDsKKwlycGMuZ3ppcF9yZXF1ZXN0ID0gMTsKKwlycGMuaW5pdGlhbF9idWZmZXIgPSAwOworCXJwYy53cml0ZV9saW5lX2xlbmd0aHMgPSAxOworCXJwYy5mbHVzaF9yZWFkX2J1dF9ub3Rfc2VudCA9IDA7CiAKIAkvKgogCSAqIER1bXAgdGhlIGNhcGFiaWxpdHkgbGlzdGluZyB0aGF0IHdlIGdvdCBmcm9tIHRoZSBzZXJ2ZXIgZWFybGllcgogCSAqIGR1cmluZyB0aGUgaW5mby9yZWZzIHJlcXVlc3QuCiAJICovCi0Jd3JpdGVfb3JfZGllKHAub3V0LCBkaXNjb3Zlci0+YnVmLCBkaXNjb3Zlci0+bGVuKTsKKwl3cml0ZV9vcl9kaWUocnBjLmluLCBkaXNjb3Zlci0+YnVmLCBkaXNjb3Zlci0+bGVuKTsKIAotCS8qIFBlZWsgdGhlIG5leHQgcGFja2V0IGxpbmUuICBVbnRpbCB3ZSBzZWUgRU9GIGtlZXAgc2VuZGluZyBQT1NUcyAqLwotCXdoaWxlIChwYWNrZXRfcmVhZGVyX3BlZWsoJnAucmVhZGVyKSAhPSBQQUNLRVRfUkVBRF9FT0YpIHsKLQkJaWYgKHByb3h5X3JlcXVlc3QoJnApKSB7CisJLyogVW50aWwgd2Ugc2VlIEVPRiBrZWVwIHNlbmRpbmcgUE9TVHMgKi8KKwl3aGlsZSAoMSkgeworCQlzaXplX3QgYXZhaWw7CisJCWVudW0gcGFja2V0X3JlYWRfc3RhdHVzIHN0YXR1czsKKworCQlpZiAoIXJwY19yZWFkX2Zyb21fb3V0KCZycGMsIFBBQ0tFVF9SRUFEX0dFTlRMRV9PTl9FT0YsICZhdmFpbCwKKwkJCQkgICAgICAgJnN0YXR1cykpCisJCQlCVUcoIlRoZSBlbnRpcmUgcnBjLT5idWYgc2hvdWxkIGJlIGxhcmdlciB0aGFuIExBUkdFX1BBQ0tFVF9NQVgiKTsKKwkJaWYgKHN0YXR1cyA9PSBQQUNLRVRfUkVBRF9FT0YpCisJCQlicmVhazsKKwkJaWYgKHBvc3RfcnBjKCZycGMsIHN0YXR1cyA9PSBQQUNLRVRfUkVBRF9GTFVTSCkpCiAJCQkvKiBXZSB3b3VsZCBoYXZlIGFuIGVyciBoZXJlICovCiAJCQlicmVhazsKLQkJfQorCQkvKiBSZXNldCB0aGUgYnVmZmVyIGZvciBuZXh0IHJlcXVlc3QgKi8KKwkJcnBjLmxlbiA9IDA7CiAJfQogCi0JcHJveHlfc3RhdGVfY2xlYXIoJnApOworCWZyZWUocnBjLnNlcnZpY2VfdXJsKTsKKwlmcmVlKHJwYy5oZHJfY29udGVudF90eXBlKTsKKwlmcmVlKHJwYy5oZHJfYWNjZXB0KTsKKwlmcmVlKHJwYy5wcm90b2NvbF9oZWFkZXIpOworCWZyZWUocnBjLmJ1Zik7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTMzMCw3ICsxMzY2LDcgQEAKIAogCXNldHVwX2dpdF9kaXJlY3RvcnlfZ2VudGx5KCZub25naXQpOwogCWlmIChhcmdjIDwgMikgewotCQllcnJvcigicmVtb3RlLWN1cmw6IHVzYWdlOiBnaXQgcmVtb3RlLWN1cmwgPHJlbW90ZT4gWzx1cmw+XSIpOworCQllcnJvcihfKCJyZW1vdGUtY3VybDogdXNhZ2U6IGdpdCByZW1vdGUtY3VybCA8cmVtb3RlPiBbPHVybD5dIikpOwogCQlyZXR1cm4gMTsKIAl9CiAKQEAgLTEzNDAsNiArMTM3NiwxMyBAQAogCXN0cmluZ19saXN0X2luaXQoJm9wdGlvbnMuZGVlcGVuX25vdCwgMSk7CiAJc3RyaW5nX2xpc3RfaW5pdCgmb3B0aW9ucy5wdXNoX29wdGlvbnMsIDEpOwogCisJLyoKKwkgKiBKdXN0IHJlcG9ydCAicmVtb3RlLWN1cmwiIGhlcmUgKGZvbGRpbmcgYWxsIHRoZSB2YXJpb3VzIGFsaWFzZXMKKwkgKiAoImdpdC1yZW1vdGUtaHR0cCIsICJnaXQtcmVtb3RlLWh0dHBzIiwgYW5kIGV0Yy4pIGhlcmUgc2luY2UgdGhleQorCSAqIGFyZSBhbGwganVzdCBjb3BpZXMgb2YgdGhlIHNhbWUgYWN0dWFsIGV4ZWN1dGFibGUuCisJICovCisJdHJhY2UyX2NtZF9uYW1lKCJyZW1vdGUtY3VybCIpOworCiAJcmVtb3RlID0gcmVtb3RlX2dldChhcmd2WzFdKTsKIAogCWlmIChhcmdjID4gMikgewpAQCAtMTM1NSwxNCArMTM5OCwxNCBAQAogCiAJCWlmIChzdHJidWZfZ2V0bGluZV9sZigmYnVmLCBzdGRpbikgPT0gRU9GKSB7CiAJCQlpZiAoZmVycm9yKHN0ZGluKSkKLQkJCQllcnJvcigicmVtb3RlLWN1cmw6IGVycm9yIHJlYWRpbmcgY29tbWFuZCBzdHJlYW0gZnJvbSBnaXQiKTsKKwkJCQllcnJvcihfKCJyZW1vdGUtY3VybDogZXJyb3IgcmVhZGluZyBjb21tYW5kIHN0cmVhbSBmcm9tIGdpdCIpKTsKIAkJCXJldHVybiAxOwogCQl9CiAJCWlmIChidWYubGVuID09IDApCiAJCQlicmVhazsKIAkJaWYgKHN0YXJ0c193aXRoKGJ1Zi5idWYsICJmZXRjaCAiKSkgewogCQkJaWYgKG5vbmdpdCkKLQkJCQlkaWUoInJlbW90ZS1jdXJsOiBmZXRjaCBhdHRlbXB0ZWQgd2l0aG91dCBhIGxvY2FsIHJlcG8iKTsKKwkJCQlkaWUoXygicmVtb3RlLWN1cmw6IGZldGNoIGF0dGVtcHRlZCB3aXRob3V0IGEgbG9jYWwgcmVwbyIpKTsKIAkJCXBhcnNlX2ZldGNoKCZidWYpOwogCiAJCX0gZWxzZSBpZiAoIXN0cmNtcChidWYuYnVmLCAibGlzdCIpIHx8IHN0YXJ0c193aXRoKGJ1Zi5idWYsICJsaXN0ICIpKSB7CkBAIC0xNDAyLDcgKzE0NDUsNyBAQAogCQkJaWYgKCFzdGF0ZWxlc3NfY29ubmVjdChhcmcpKQogCQkJCWJyZWFrOwogCQl9IGVsc2UgewotCQkJZXJyb3IoInJlbW90ZS1jdXJsOiB1bmtub3duIGNvbW1hbmQgJyVzJyBmcm9tIGdpdCIsIGJ1Zi5idWYpOworCQkJZXJyb3IoXygicmVtb3RlLWN1cmw6IHVua25vd24gY29tbWFuZCAnJXMnIGZyb20gZ2l0IiksIGJ1Zi5idWYpOwogCQkJcmV0dXJuIDE7CiAJCX0KIAkJc3RyYnVmX3Jlc2V0KCZidWYpOwpkaWZmIC0tZ2l0IGEvcmVtb3RlLmMgYi9yZW1vdGUuYwppbmRleCBiODUwZjJmLi41OTNjZTI5IDEwMDY0NAotLS0gYS9yZW1vdGUuYworKysgYi9yZW1vdGUuYwpAQCAtMTMsNiArMTMsNyBAQAogI2luY2x1ZGUgIm1lcmdlc29ydC5oIgogI2luY2x1ZGUgImFyZ3YtYXJyYXkuaCIKICNpbmNsdWRlICJjb21taXQtcmVhY2guaCIKKyNpbmNsdWRlICJhZHZpY2UuaCIKIAogZW51bSBtYXBfZGlyZWN0aW9uIHsgRlJPTV9TUkMsIEZST01fRFNUIH07CiAKQEAgLTExMCwxNCArMTExLDE2IEBACiB9OwogCiBzdGF0aWMgaW50IHJlbW90ZXNfaGFzaF9jbXAoY29uc3Qgdm9pZCAqdW51c2VkX2NtcF9kYXRhLAotCQkJICAgIGNvbnN0IHZvaWQgKmVudHJ5LAotCQkJICAgIGNvbnN0IHZvaWQgKmVudHJ5X29yX2tleSwKKwkJCSAgICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZXB0ciwKKwkJCSAgICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZW50cnlfb3Jfa2V5LAogCQkJICAgIGNvbnN0IHZvaWQgKmtleWRhdGEpCiB7Ci0JY29uc3Qgc3RydWN0IHJlbW90ZSAqYSA9IGVudHJ5OwotCWNvbnN0IHN0cnVjdCByZW1vdGUgKmIgPSBlbnRyeV9vcl9rZXk7CisJY29uc3Qgc3RydWN0IHJlbW90ZSAqYSwgKmI7CiAJY29uc3Qgc3RydWN0IHJlbW90ZXNfaGFzaF9rZXkgKmtleSA9IGtleWRhdGE7CiAKKwlhID0gY29udGFpbmVyX29mKGVwdHIsIGNvbnN0IHN0cnVjdCByZW1vdGUsIGVudCk7CisJYiA9IGNvbnRhaW5lcl9vZihlbnRyeV9vcl9rZXksIGNvbnN0IHN0cnVjdCByZW1vdGUsIGVudCk7CisKIAlpZiAoa2V5KQogCQlyZXR1cm4gc3RybmNtcChhLT5uYW1lLCBrZXktPnN0ciwga2V5LT5sZW4pIHx8IGEtPm5hbWVba2V5LT5sZW5dOwogCWVsc2UKQEAgLTEzNCw3ICsxMzcsNyBAQAogewogCXN0cnVjdCByZW1vdGUgKnJldCwgKnJlcGxhY2VkOwogCXN0cnVjdCByZW1vdGVzX2hhc2hfa2V5IGxvb2t1cDsKLQlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSBsb29rdXBfZW50cnk7CisJc3RydWN0IGhhc2htYXBfZW50cnkgbG9va3VwX2VudHJ5LCAqZTsKIAogCWlmICghbGVuKQogCQlsZW4gPSBzdHJsZW4obmFtZSk7CkBAIC0xNDQsOCArMTQ3LDkgQEAKIAlsb29rdXAubGVuID0gbGVuOwogCWhhc2htYXBfZW50cnlfaW5pdCgmbG9va3VwX2VudHJ5LCBtZW1oYXNoKG5hbWUsIGxlbikpOwogCi0JaWYgKChyZXQgPSBoYXNobWFwX2dldCgmcmVtb3Rlc19oYXNoLCAmbG9va3VwX2VudHJ5LCAmbG9va3VwKSkgIT0gTlVMTCkKLQkJcmV0dXJuIHJldDsKKwllID0gaGFzaG1hcF9nZXQoJnJlbW90ZXNfaGFzaCwgJmxvb2t1cF9lbnRyeSwgJmxvb2t1cCk7CisJaWYgKGUpCisJCXJldHVybiBjb250YWluZXJfb2YoZSwgc3RydWN0IHJlbW90ZSwgZW50KTsKIAogCXJldCA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCByZW1vdGUpKTsKIAlyZXQtPnBydW5lID0gLTE7ICAvKiB1bnNwZWNpZmllZCAqLwpAQCAtMTU3LDggKzE2MSw4IEBACiAJQUxMT0NfR1JPVyhyZW1vdGVzLCByZW1vdGVzX25yICsgMSwgcmVtb3Rlc19hbGxvYyk7CiAJcmVtb3Rlc1tyZW1vdGVzX25yKytdID0gcmV0OwogCi0JaGFzaG1hcF9lbnRyeV9pbml0KHJldCwgbG9va3VwX2VudHJ5Lmhhc2gpOwotCXJlcGxhY2VkID0gaGFzaG1hcF9wdXQoJnJlbW90ZXNfaGFzaCwgcmV0KTsKKwloYXNobWFwX2VudHJ5X2luaXQoJnJldC0+ZW50LCBsb29rdXBfZW50cnkuaGFzaCk7CisJcmVwbGFjZWQgPSBoYXNobWFwX3B1dF9lbnRyeSgmcmVtb3Rlc19oYXNoLCByZXQsIGVudCk7CiAJYXNzZXJ0KHJlcGxhY2VkID09IE5VTEwpOyAgLyogbm8gcHJldmlvdXMgZW50cnkgb3ZlcndyaXR0ZW4gKi8KIAlyZXR1cm4gcmV0OwogfQpAQCAtMzM2LDE0ICszNDAsMTQgQEAKIAkJaWYgKCFuYW1lKQogCQkJcmV0dXJuIDA7CiAJCWlmICghc3RyY21wKHN1YmtleSwgImluc3RlYWRvZiIpKSB7Ci0JCQlyZXdyaXRlID0gbWFrZV9yZXdyaXRlKCZyZXdyaXRlcywgbmFtZSwgbmFtZWxlbik7CiAJCQlpZiAoIXZhbHVlKQogCQkJCXJldHVybiBjb25maWdfZXJyb3Jfbm9uYm9vbChrZXkpOworCQkJcmV3cml0ZSA9IG1ha2VfcmV3cml0ZSgmcmV3cml0ZXMsIG5hbWUsIG5hbWVsZW4pOwogCQkJYWRkX2luc3RlYWRfb2YocmV3cml0ZSwgeHN0cmR1cCh2YWx1ZSkpOwogCQl9IGVsc2UgaWYgKCFzdHJjbXAoc3Via2V5LCAicHVzaGluc3RlYWRvZiIpKSB7Ci0JCQlyZXdyaXRlID0gbWFrZV9yZXdyaXRlKCZyZXdyaXRlc19wdXNoLCBuYW1lLCBuYW1lbGVuKTsKIAkJCWlmICghdmFsdWUpCiAJCQkJcmV0dXJuIGNvbmZpZ19lcnJvcl9ub25ib29sKGtleSk7CisJCQlyZXdyaXRlID0gbWFrZV9yZXdyaXRlKCZyZXdyaXRlc19wdXNoLCBuYW1lLCBuYW1lbGVuKTsKIAkJCWFkZF9pbnN0ZWFkX29mKHJld3JpdGUsIHhzdHJkdXAodmFsdWUpKTsKIAkJfQogCX0KQEAgLTM1OSwxMyArMzYzLDE0IEBACiAJCXJldHVybiAwOwogCS8qIEhhbmRsZSByZW1vdGUuPG5hbWU+LiogdmFyaWFibGVzICovCiAJaWYgKCpuYW1lID09ICcvJykgewotCQl3YXJuaW5nKCJDb25maWcgcmVtb3RlIHNob3J0aGFuZCBjYW5ub3QgYmVnaW4gd2l0aCAnLyc6ICVzIiwKKwkJd2FybmluZyhfKCJjb25maWcgcmVtb3RlIHNob3J0aGFuZCBjYW5ub3QgYmVnaW4gd2l0aCAnLyc6ICVzIiksCiAJCQluYW1lKTsKIAkJcmV0dXJuIDA7CiAJfQogCXJlbW90ZSA9IG1ha2VfcmVtb3RlKG5hbWUsIG5hbWVsZW4pOwogCXJlbW90ZS0+b3JpZ2luID0gUkVNT1RFX0NPTkZJRzsKLQlpZiAoY3VycmVudF9jb25maWdfc2NvcGUoKSA9PSBDT05GSUdfU0NPUEVfUkVQTykKKwlpZiAoY3VycmVudF9jb25maWdfc2NvcGUoKSA9PSBDT05GSUdfU0NPUEVfTE9DQUwgfHwKKwljdXJyZW50X2NvbmZpZ19zY29wZSgpID09IENPTkZJR19TQ09QRV9XT1JLVFJFRSkKIAkJcmVtb3RlLT5jb25maWd1cmVkX2luX3JlcG8gPSAxOwogCWlmICghc3RyY21wKHN1YmtleSwgIm1pcnJvciIpKQogCQlyZW1vdGUtPm1pcnJvciA9IGdpdF9jb25maWdfYm9vbChrZXksIHZhbHVlKTsKQEAgLTQwNiw3ICs0MTEsNyBAQAogCQlpZiAoIXJlbW90ZS0+cmVjZWl2ZXBhY2spCiAJCQlyZW1vdGUtPnJlY2VpdmVwYWNrID0gdjsKIAkJZWxzZQotCQkJZXJyb3IoIm1vcmUgdGhhbiBvbmUgcmVjZWl2ZXBhY2sgZ2l2ZW4sIHVzaW5nIHRoZSBmaXJzdCIpOworCQkJZXJyb3IoXygibW9yZSB0aGFuIG9uZSByZWNlaXZlcGFjayBnaXZlbiwgdXNpbmcgdGhlIGZpcnN0IikpOwogCX0gZWxzZSBpZiAoIXN0cmNtcChzdWJrZXksICJ1cGxvYWRwYWNrIikpIHsKIAkJY29uc3QgY2hhciAqdjsKIAkJaWYgKGdpdF9jb25maWdfc3RyaW5nKCZ2LCBrZXksIHZhbHVlKSkKQEAgLTQxNCw3ICs0MTksNyBAQAogCQlpZiAoIXJlbW90ZS0+dXBsb2FkcGFjaykKIAkJCXJlbW90ZS0+dXBsb2FkcGFjayA9IHY7CiAJCWVsc2UKLQkJCWVycm9yKCJtb3JlIHRoYW4gb25lIHVwbG9hZHBhY2sgZ2l2ZW4sIHVzaW5nIHRoZSBmaXJzdCIpOworCQkJZXJyb3IoXygibW9yZSB0aGFuIG9uZSB1cGxvYWRwYWNrIGdpdmVuLCB1c2luZyB0aGUgZmlyc3QiKSk7CiAJfSBlbHNlIGlmICghc3RyY21wKHN1YmtleSwgInRhZ29wdCIpKSB7CiAJCWlmICghc3RyY21wKHZhbHVlLCAiLS1uby10YWdzIikpCiAJCQlyZW1vdGUtPmZldGNoX3RhZ3MgPSAtMTsKQEAgLTYyMCw3ICs2MjUsNyBAQAogCQkJICogRkVUQ0hfSEVBRF9JR05PUkUgZW50cmllcyBhbHdheXMgYXBwZWFyIGF0CiAJCQkgKiB0aGUgZW5kIG9mIHRoZSBsaXN0LgogCQkJICovCi0JCQlkaWUoXygiSW50ZXJuYWwgZXJyb3IiKSk7CisJCQlCVUcoIkludGVybmFsIGVycm9yIik7CiAJCX0KIAl9CiAJZnJlZShyZWYyLT5wZWVyX3JlZik7CkBAIC02ODAsNyArNjg1LDcgQEAKIAlzaXplX3QgbmFtZWxlbjsKIAlpbnQgcmV0OwogCWlmICgha3N0YXIpCi0JCWRpZSgiS2V5ICclcycgb2YgcGF0dGVybiBoYWQgbm8gJyonIiwga2V5KTsKKwkJZGllKF8oImtleSAnJXMnIG9mIHBhdHRlcm4gaGFkIG5vICcqJyIpLCBrZXkpOwogCWtsZW4gPSBrc3RhciAtIGtleTsKIAlrc3VmZml4bGVuID0gc3RybGVuKGtzdGFyICsgMSk7CiAJbmFtZWxlbiA9IHN0cmxlbihuYW1lKTsKQEAgLTY5MCw3ICs2OTUsNyBAQAogCQlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJCWNvbnN0IGNoYXIgKnZzdGFyID0gc3RyY2hyKHZhbHVlLCAnKicpOwogCQlpZiAoIXZzdGFyKQotCQkJZGllKCJWYWx1ZSAnJXMnIG9mIHBhdHRlcm4gaGFzIG5vICcqJyIsIHZhbHVlKTsKKwkJCWRpZShfKCJ2YWx1ZSAnJXMnIG9mIHBhdHRlcm4gaGFzIG5vICcqJyIpLCB2YWx1ZSk7CiAJCXN0cmJ1Zl9hZGQoJnNiLCB2YWx1ZSwgdnN0YXIgLSB2YWx1ZSk7CiAJCXN0cmJ1Zl9hZGQoJnNiLCBuYW1lICsga2xlbiwgbmFtZWxlbiAtIGtsZW4gLSBrc3VmZml4bGVuKTsKIAkJc3RyYnVmX2FkZHN0cigmc2IsIHZzdGFyICsgMSk7CkBAIC03MDcsNyArNzEyLDcgQEAKIAlpbnQgZmluZF9zcmMgPSAhcXVlcnktPnNyYzsKIAogCWlmIChmaW5kX3NyYyAmJiAhcXVlcnktPmRzdCkKLQkJZXJyb3IoInF1ZXJ5X3JlZnNwZWNzX211bHRpcGxlOiBuZWVkIGVpdGhlciBzcmMgb3IgZHN0Iik7CisJCUJVRygicXVlcnlfcmVmc3BlY3NfbXVsdGlwbGU6IG5lZWQgZWl0aGVyIHNyYyBvciBkc3QiKTsKIAogCWZvciAoaSA9IDA7IGkgPCBycy0+bnI7IGkrKykgewogCQlzdHJ1Y3QgcmVmc3BlY19pdGVtICpyZWZzcGVjID0gJnJzLT5pdGVtc1tpXTsKQEAgLTczNSw3ICs3NDAsNyBAQAogCWNoYXIgKipyZXN1bHQgPSBmaW5kX3NyYyA/ICZxdWVyeS0+c3JjIDogJnF1ZXJ5LT5kc3Q7CiAKIAlpZiAoZmluZF9zcmMgJiYgIXF1ZXJ5LT5kc3QpCi0JCXJldHVybiBlcnJvcigicXVlcnlfcmVmc3BlY3M6IG5lZWQgZWl0aGVyIHNyYyBvciBkc3QiKTsKKwkJQlVHKCJxdWVyeV9yZWZzcGVjczogbmVlZCBlaXRoZXIgc3JjIG9yIGRzdCIpOwogCiAJZm9yIChpID0gMDsgaSA8IHJzLT5ucjsgaSsrKSB7CiAJCXN0cnVjdCByZWZzcGVjX2l0ZW0gKnJlZnNwZWMgPSAmcnMtPml0ZW1zW2ldOwpAQCAtODE5LDExICs4MjQsMTEgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgdm9pZCBmcmVlX3JlZihzdHJ1Y3QgcmVmICpyZWYpCit2b2lkIGZyZWVfb25lX3JlZihzdHJ1Y3QgcmVmICpyZWYpCiB7CiAJaWYgKCFyZWYpCiAJCXJldHVybjsKLQlmcmVlX3JlZihyZWYtPnBlZXJfcmVmKTsKKwlmcmVlX29uZV9yZWYocmVmLT5wZWVyX3JlZik7CiAJZnJlZShyZWYtPnJlbW90ZV9zdGF0dXMpOwogCWZyZWUocmVmLT5zeW1yZWYpOwogCWZyZWUocmVmKTsKQEAgLTgzNCw3ICs4MzksNyBAQAogCXN0cnVjdCByZWYgKm5leHQ7CiAJd2hpbGUgKHJlZikgewogCQluZXh0ID0gcmVmLT5uZXh0OwotCQlmcmVlX3JlZihyZWYpOworCQlmcmVlX29uZV9yZWYocmVmKTsKIAkJcmVmID0gbmV4dDsKIAl9CiB9CkBAIC05NjgsMTIgKzk3MywxMyBAQAogCWlmICghcikKIAkJcmV0dXJuIE5VTEw7CiAKLQlpZiAoc3RhcnRzX3dpdGgociwgInJlZnMvaGVhZHMvIikpCisJaWYgKHN0YXJ0c193aXRoKHIsICJyZWZzL2hlYWRzLyIpKSB7CiAJCXN0cmJ1Zl9hZGRzdHIoJmJ1ZiwgInJlZnMvaGVhZHMvIik7Ci0JZWxzZSBpZiAoc3RhcnRzX3dpdGgociwgInJlZnMvdGFncy8iKSkKKwl9IGVsc2UgaWYgKHN0YXJ0c193aXRoKHIsICJyZWZzL3RhZ3MvIikpIHsKIAkJc3RyYnVmX2FkZHN0cigmYnVmLCAicmVmcy90YWdzLyIpOwotCWVsc2UKKwl9IGVsc2UgewogCQlyZXR1cm4gTlVMTDsKKwl9CiAKIAlzdHJidWZfYWRkc3RyKCZidWYsIG5hbWUpOwogCXJldHVybiBzdHJidWZfZGV0YWNoKCZidWYsIE5VTEwpOwpAQCAtOTk1LDEyICsxMDAxLDY4IEBACiAJCSAqIHdheSB0byBkZWxldGUgJ290aGVyJyByZWYgYXQgdGhlIHJlbW90ZSBlbmQuCiAJCSAqLwogCQlpZiAodHJ5X2V4cGxpY2l0X29iamVjdF9uYW1lKHJzLT5zcmMsIG1hdGNoKSA8IDApCi0JCQlyZXR1cm4gZXJyb3IoInNyYyByZWZzcGVjICVzIGRvZXMgbm90IG1hdGNoIGFueS4iLCBycy0+c3JjKTsKKwkJCXJldHVybiBlcnJvcihfKCJzcmMgcmVmc3BlYyAlcyBkb2VzIG5vdCBtYXRjaCBhbnkiKSwgcnMtPnNyYyk7CiAJCWlmIChhbGxvY2F0ZWRfbWF0Y2gpCiAJCQkqYWxsb2NhdGVkX21hdGNoID0gMTsKIAkJcmV0dXJuIDA7CiAJZGVmYXVsdDoKLQkJcmV0dXJuIGVycm9yKCJzcmMgcmVmc3BlYyAlcyBtYXRjaGVzIG1vcmUgdGhhbiBvbmUuIiwgcnMtPnNyYyk7CisJCXJldHVybiBlcnJvcihfKCJzcmMgcmVmc3BlYyAlcyBtYXRjaGVzIG1vcmUgdGhhbiBvbmUiKSwgcnMtPnNyYyk7CisJfQorfQorCitzdGF0aWMgdm9pZCBzaG93X3B1c2hfdW5xdWFsaWZpZWRfcmVmX25hbWVfZXJyb3IoY29uc3QgY2hhciAqZHN0X3ZhbHVlLAorCQkJCQkJIGNvbnN0IGNoYXIgKm1hdGNoZWRfc3JjX25hbWUpCit7CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CisJZW51bSBvYmplY3RfdHlwZSB0eXBlOworCisJLyoKKwkgKiBUUkFOU0xBVE9SUzogIm1hdGNoZXMgJyVzJyUiIGlzIHRoZSA8ZHN0PiBwYXJ0IG9mICJnaXQgcHVzaAorCSAqIDxyZW1vdGU+IDxzcmM+Ojxkc3Q+IiBwdXNoLCBhbmQgImJlaW5nIHB1c2hlZCAoJyVzJykiIGlzCisJICogdGhlIDxzcmM+LgorCSAqLworCWVycm9yKF8oIlRoZSBkZXN0aW5hdGlvbiB5b3UgcHJvdmlkZWQgaXMgbm90IGEgZnVsbCByZWZuYW1lIChpLmUuLFxuIgorCQkic3RhcnRpbmcgd2l0aCBcInJlZnMvXCIpLiBXZSB0cmllZCB0byBndWVzcyB3aGF0IHlvdSBtZWFudCBieTpcbiIKKwkJIlxuIgorCQkiLSBMb29raW5nIGZvciBhIHJlZiB0aGF0IG1hdGNoZXMgJyVzJyBvbiB0aGUgcmVtb3RlIHNpZGUuXG4iCisJCSItIENoZWNraW5nIGlmIHRoZSA8c3JjPiBiZWluZyBwdXNoZWQgKCclcycpXG4iCisJCSIgIGlzIGEgcmVmIGluIFwicmVmcy97aGVhZHMsdGFnc30vXCIuIElmIHNvIHdlIGFkZCBhIGNvcnJlc3BvbmRpbmdcbiIKKwkJIiAgcmVmcy97aGVhZHMsdGFnc30vIHByZWZpeCBvbiB0aGUgcmVtb3RlIHNpZGUuXG4iCisJCSJcbiIKKwkJIk5laXRoZXIgd29ya2VkLCBzbyB3ZSBnYXZlIHVwLiBZb3UgbXVzdCBmdWxseSBxdWFsaWZ5IHRoZSByZWYuIiksCisJICAgICAgZHN0X3ZhbHVlLCBtYXRjaGVkX3NyY19uYW1lKTsKKworCWlmICghYWR2aWNlX3B1c2hfdW5xdWFsaWZpZWRfcmVmX25hbWUpCisJCXJldHVybjsKKworCWlmIChnZXRfb2lkKG1hdGNoZWRfc3JjX25hbWUsICZvaWQpKQorCQlCVUcoIiclcycgaXMgbm90IGEgdmFsaWQgb2JqZWN0LCAiCisJCSAgICAibWF0Y2hfZXhwbGljaXRfbGhzKCkgc2hvdWxkIGNhdGNoIHRoaXMhIiwKKwkJICAgIG1hdGNoZWRfc3JjX25hbWUpOworCXR5cGUgPSBvaWRfb2JqZWN0X2luZm8odGhlX3JlcG9zaXRvcnksICZvaWQsIE5VTEwpOworCWlmICh0eXBlID09IE9CSl9DT01NSVQpIHsKKwkJYWR2aXNlKF8oIlRoZSA8c3JjPiBwYXJ0IG9mIHRoZSByZWZzcGVjIGlzIGEgY29tbWl0IG9iamVjdC5cbiIKKwkJCSAiRGlkIHlvdSBtZWFuIHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggYnkgcHVzaGluZyB0b1xuIgorCQkJICInJXM6cmVmcy9oZWFkcy8lcyc/IiksCisJCSAgICAgICBtYXRjaGVkX3NyY19uYW1lLCBkc3RfdmFsdWUpOworCX0gZWxzZSBpZiAodHlwZSA9PSBPQkpfVEFHKSB7CisJCWFkdmlzZShfKCJUaGUgPHNyYz4gcGFydCBvZiB0aGUgcmVmc3BlYyBpcyBhIHRhZyBvYmplY3QuXG4iCisJCQkgIkRpZCB5b3UgbWVhbiB0byBjcmVhdGUgYSBuZXcgdGFnIGJ5IHB1c2hpbmcgdG9cbiIKKwkJCSAiJyVzOnJlZnMvdGFncy8lcyc/IiksCisJCSAgICAgICBtYXRjaGVkX3NyY19uYW1lLCBkc3RfdmFsdWUpOworCX0gZWxzZSBpZiAodHlwZSA9PSBPQkpfVFJFRSkgeworCQlhZHZpc2UoXygiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSB0cmVlIG9iamVjdC5cbiIKKwkJCSAiRGlkIHlvdSBtZWFuIHRvIHRhZyBhIG5ldyB0cmVlIGJ5IHB1c2hpbmcgdG9cbiIKKwkJCSAiJyVzOnJlZnMvdGFncy8lcyc/IiksCisJCSAgICAgICBtYXRjaGVkX3NyY19uYW1lLCBkc3RfdmFsdWUpOworCX0gZWxzZSBpZiAodHlwZSA9PSBPQkpfQkxPQikgeworCQlhZHZpc2UoXygiVGhlIDxzcmM+IHBhcnQgb2YgdGhlIHJlZnNwZWMgaXMgYSBibG9iIG9iamVjdC5cbiIKKwkJCSAiRGlkIHlvdSBtZWFuIHRvIHRhZyBhIG5ldyBibG9iIGJ5IHB1c2hpbmcgdG9cbiIKKwkJCSAiJyVzOnJlZnMvdGFncy8lcyc/IiksCisJCSAgICAgICBtYXRjaGVkX3NyY19uYW1lLCBkc3RfdmFsdWUpOworCX0gZWxzZSB7CisJCUJVRygiJyVzJyBzaG91bGQgYmUgY29tbWl0L3RhZy90cmVlL2Jsb2IsIGlzICclZCciLAorCQkgICAgbWF0Y2hlZF9zcmNfbmFtZSwgdHlwZSk7CiAJfQogfQogCkBAIC0xMDMwLDcgKzEwOTIsNyBAQAogCQlpZiAoIWRzdF92YWx1ZSB8fAogCQkgICAgKChmbGFnICYgUkVGX0lTU1lNUkVGKSAmJgogCQkgICAgICFzdGFydHNfd2l0aChkc3RfdmFsdWUsICJyZWZzL2hlYWRzLyIpKSkKLQkJCWRpZSgiJXMgY2Fubm90IGJlIHJlc29sdmVkIHRvIGJyYW5jaC4iLAorCQkJZGllKF8oIiVzIGNhbm5vdCBiZSByZXNvbHZlZCB0byBicmFuY2giKSwKIAkJCSAgICBtYXRjaGVkX3NyYy0+bmFtZSk7CiAJfQogCkBAIC0xMDM4LDMzICsxMTAwLDMwIEBACiAJY2FzZSAxOgogCQlicmVhazsKIAljYXNlIDA6Ci0JCWlmIChzdGFydHNfd2l0aChkc3RfdmFsdWUsICJyZWZzLyIpKQorCQlpZiAoc3RhcnRzX3dpdGgoZHN0X3ZhbHVlLCAicmVmcy8iKSkgewogCQkJbWF0Y2hlZF9kc3QgPSBtYWtlX2xpbmtlZF9yZWYoZHN0X3ZhbHVlLCBkc3RfdGFpbCk7Ci0JCWVsc2UgaWYgKGlzX251bGxfb2lkKCZtYXRjaGVkX3NyYy0+bmV3X29pZCkpCi0JCQllcnJvcigidW5hYmxlIHRvIGRlbGV0ZSAnJXMnOiByZW1vdGUgcmVmIGRvZXMgbm90IGV4aXN0IiwKKwkJfSBlbHNlIGlmIChpc19udWxsX29pZCgmbWF0Y2hlZF9zcmMtPm5ld19vaWQpKSB7CisJCQllcnJvcihfKCJ1bmFibGUgdG8gZGVsZXRlICclcyc6IHJlbW90ZSByZWYgZG9lcyBub3QgZXhpc3QiKSwKIAkJCSAgICAgIGRzdF92YWx1ZSk7Ci0JCWVsc2UgaWYgKChkc3RfZ3Vlc3MgPSBndWVzc19yZWYoZHN0X3ZhbHVlLCBtYXRjaGVkX3NyYykpKSB7CisJCX0gZWxzZSBpZiAoKGRzdF9ndWVzcyA9IGd1ZXNzX3JlZihkc3RfdmFsdWUsIG1hdGNoZWRfc3JjKSkpIHsKIAkJCW1hdGNoZWRfZHN0ID0gbWFrZV9saW5rZWRfcmVmKGRzdF9ndWVzcywgZHN0X3RhaWwpOwogCQkJZnJlZShkc3RfZ3Vlc3MpOwotCQl9IGVsc2UKLQkJCWVycm9yKCJ1bmFibGUgdG8gcHVzaCB0byB1bnF1YWxpZmllZCBkZXN0aW5hdGlvbjogJXNcbiIKLQkJCSAgICAgICJUaGUgZGVzdGluYXRpb24gcmVmc3BlYyBuZWl0aGVyIG1hdGNoZXMgYW4gIgotCQkJICAgICAgImV4aXN0aW5nIHJlZiBvbiB0aGUgcmVtb3RlIG5vclxuIgotCQkJICAgICAgImJlZ2lucyB3aXRoIHJlZnMvLCBhbmQgd2UgYXJlIHVuYWJsZSB0byAiCi0JCQkgICAgICAiZ3Vlc3MgYSBwcmVmaXggYmFzZWQgb24gdGhlIHNvdXJjZSByZWYuIiwKLQkJCSAgICAgIGRzdF92YWx1ZSk7CisJCX0gZWxzZSB7CisJCQlzaG93X3B1c2hfdW5xdWFsaWZpZWRfcmVmX25hbWVfZXJyb3IoZHN0X3ZhbHVlLAorCQkJCQkJCSAgICAgbWF0Y2hlZF9zcmMtPm5hbWUpOworCQl9CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCW1hdGNoZWRfZHN0ID0gTlVMTDsKLQkJZXJyb3IoImRzdCByZWZzcGVjICVzIG1hdGNoZXMgbW9yZSB0aGFuIG9uZS4iLAorCQllcnJvcihfKCJkc3QgcmVmc3BlYyAlcyBtYXRjaGVzIG1vcmUgdGhhbiBvbmUiKSwKIAkJICAgICAgZHN0X3ZhbHVlKTsKIAkJYnJlYWs7CiAJfQogCWlmICghbWF0Y2hlZF9kc3QpCiAJCXJldHVybiAtMTsKIAlpZiAobWF0Y2hlZF9kc3QtPnBlZXJfcmVmKQotCQlyZXR1cm4gZXJyb3IoImRzdCByZWYgJXMgcmVjZWl2ZXMgZnJvbSBtb3JlIHRoYW4gb25lIHNyYy4iLAotCQkgICAgICBtYXRjaGVkX2RzdC0+bmFtZSk7CisJCXJldHVybiBlcnJvcihfKCJkc3QgcmVmICVzIHJlY2VpdmVzIGZyb20gbW9yZSB0aGFuIG9uZSBzcmMiKSwKKwkJCSAgICAgbWF0Y2hlZF9kc3QtPm5hbWUpOwogCWVsc2UgewogCQltYXRjaGVkX2RzdC0+cGVlcl9yZWYgPSBhbGxvY2F0ZWRfc3JjID8KIAkJCQkJbWF0Y2hlZF9zcmMgOgpAQCAtMTc4Miw3ICsxODQxLDcgQEAKIAkJCXJlZl9tYXAgPSBnZXRfcmVtb3RlX3JlZihyZW1vdGVfcmVmcywgbmFtZSk7CiAJCX0KIAkJaWYgKCFtaXNzaW5nX29rICYmICFyZWZfbWFwKQotCQkJZGllKCJDb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgJXMiLCBuYW1lKTsKKwkJCWRpZShfKCJjb3VsZG4ndCBmaW5kIHJlbW90ZSByZWYgJXMiKSwgbmFtZSk7CiAJCWlmIChyZWZfbWFwKSB7CiAJCQlyZWZfbWFwLT5wZWVyX3JlZiA9IGdldF9sb2NhbF9yZWYocmVmc3BlYy0+ZHN0KTsKIAkJCWlmIChyZWZfbWFwLT5wZWVyX3JlZiAmJiByZWZzcGVjLT5mb3JjZSkKQEAgLTE3OTUsNyArMTg1NCw3IEBACiAJCQlpZiAoIXN0YXJ0c193aXRoKCgqcm1wKS0+cGVlcl9yZWYtPm5hbWUsICJyZWZzLyIpIHx8CiAJCQkgICAgY2hlY2tfcmVmbmFtZV9mb3JtYXQoKCpybXApLT5wZWVyX3JlZi0+bmFtZSwgMCkpIHsKIAkJCQlzdHJ1Y3QgcmVmICppZ25vcmUgPSAqcm1wOwotCQkJCWVycm9yKCIqIElnbm9yaW5nIGZ1bm55IHJlZiAnJXMnIGxvY2FsbHkiLAorCQkJCWVycm9yKF8oIiogSWdub3JpbmcgZnVubnkgcmVmICclcycgbG9jYWxseSIpLAogCQkJCSAgICAgICgqcm1wKS0+cGVlcl9yZWYtPm5hbWUpOwogCQkJCSpybXAgPSAoKnJtcCktPm5leHQ7CiAJCQkJZnJlZShpZ25vcmUtPnBlZXJfcmVmKTsKQEAgLTE4MjUsMzcgKzE4ODQsMjcgQEAKIH0KIAogLyoKLSAqIExvb2t1cCB0aGUgdXBzdHJlYW0gYnJhbmNoIGZvciB0aGUgZ2l2ZW4gYnJhbmNoIGFuZCBpZiBwcmVzZW50LCBvcHRpb25hbGx5Ci0gKiBjb21wdXRlIHRoZSBjb21taXQgYWhlYWQvYmVoaW5kIHZhbHVlcyBmb3IgdGhlIHBhaXIuCisgKiBDb21wdXRlIHRoZSBjb21taXQgYWhlYWQvYmVoaW5kIHZhbHVlcyBmb3IgdGhlIHBhaXIgYnJhbmNoX25hbWUsIGJhc2UuCiAgKgogICogSWYgYWJmIGlzIEFIRUFEX0JFSElORF9GVUxMLCBjb21wdXRlIHRoZSBmdWxsIGFoZWFkL2JlaGluZCBhbmQgcmV0dXJuIHRoZQogICogY291bnRzIGluICpudW1fb3VycyBhbmQgKm51bV90aGVpcnMuICBJZiBhYmYgaXMgQUhFQURfQkVISU5EX1FVSUNLLCBza2lwCiAgKiB0aGUgKHBvdGVudGlhbGx5IGV4cGVuc2l2ZSkgYS9iIGNvbXB1dGF0aW9uICgqbnVtX291cnMgYW5kICpudW1fdGhlaXJzIGFyZQogICogc2V0IHRvIHplcm8pLgogICoKLSAqIFRoZSBuYW1lIG9mIHRoZSB1cHN0cmVhbSBicmFuY2ggKG9yIE5VTEwgaWYgbm8gdXBzdHJlYW0gaXMgZGVmaW5lZCkgaXMKLSAqIHJldHVybmVkIHZpYSAqdXBzdHJlYW1fbmFtZSwgaWYgaXQgaXMgbm90IGl0c2VsZiBOVUxMLgotICoKLSAqIFJldHVybnMgLTEgaWYgbnVtX291cnMgYW5kIG51bV90aGVpcnMgY291bGQgbm90IGJlIGZpbGxlZCBpbiAoZS5nLiwgbm8KLSAqIHVwc3RyZWFtIGRlZmluZWQsIG9yIHJlZiBkb2VzIG5vdCBleGlzdCkuICBSZXR1cm5zIDAgaWYgdGhlIGNvbW1pdHMgYXJlCi0gKiBpZGVudGljYWwuICBSZXR1cm5zIDEgaWYgY29tbWl0cyBhcmUgZGlmZmVyZW50LgorICogUmV0dXJucyAtMSBpZiBudW1fb3VycyBhbmQgbnVtX3RoZWlycyBjb3VsZCBub3QgYmUgZmlsbGVkIGluIChlLmcuLCByZWYKKyAqIGRvZXMgbm90IGV4aXN0KS4gIFJldHVybnMgMCBpZiB0aGUgY29tbWl0cyBhcmUgaWRlbnRpY2FsLiAgUmV0dXJucyAxIGlmCisgKiBjb21taXRzIGFyZSBkaWZmZXJlbnQuCiAgKi8KLWludCBzdGF0X3RyYWNraW5nX2luZm8oc3RydWN0IGJyYW5jaCAqYnJhbmNoLCBpbnQgKm51bV9vdXJzLCBpbnQgKm51bV90aGVpcnMsCi0JCSAgICAgICBjb25zdCBjaGFyICoqdXBzdHJlYW1fbmFtZSwgZW51bSBhaGVhZF9iZWhpbmRfZmxhZ3MgYWJmKQorCitzdGF0aWMgaW50IHN0YXRfYnJhbmNoX3BhaXIoY29uc3QgY2hhciAqYnJhbmNoX25hbWUsIGNvbnN0IGNoYXIgKmJhc2UsCisJCQkgICAgIGludCAqbnVtX291cnMsIGludCAqbnVtX3RoZWlycywKKwkJCSAgICAgZW51bSBhaGVhZF9iZWhpbmRfZmxhZ3MgYWJmKQogewogCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCXN0cnVjdCBjb21taXQgKm91cnMsICp0aGVpcnM7CiAJc3RydWN0IHJldl9pbmZvIHJldnM7Ci0JY29uc3QgY2hhciAqYmFzZTsKIAlzdHJ1Y3QgYXJndl9hcnJheSBhcmd2ID0gQVJHVl9BUlJBWV9JTklUOwogCi0JLyogQ2Fubm90IHN0YXQgdW5sZXNzIHdlIGFyZSBtYXJrZWQgdG8gYnVpbGQgb24gdG9wIG9mIHNvbWVib2R5IGVsc2UuICovCi0JYmFzZSA9IGJyYW5jaF9nZXRfdXBzdHJlYW0oYnJhbmNoLCBOVUxMKTsKLQlpZiAodXBzdHJlYW1fbmFtZSkKLQkJKnVwc3RyZWFtX25hbWUgPSBiYXNlOwotCWlmICghYmFzZSkKLQkJcmV0dXJuIC0xOwotCiAJLyogQ2Fubm90IHN0YXQgaWYgd2hhdCB3ZSB1c2VkIHRvIGJ1aWxkIG9uIG5vIGxvbmdlciBleGlzdHMgKi8KIAlpZiAocmVhZF9yZWYoYmFzZSwgJm9pZCkpCiAJCXJldHVybiAtMTsKQEAgLTE4NjMsNyArMTkxMiw3IEBACiAJaWYgKCF0aGVpcnMpCiAJCXJldHVybiAtMTsKIAotCWlmIChyZWFkX3JlZihicmFuY2gtPnJlZm5hbWUsICZvaWQpKQorCWlmIChyZWFkX3JlZihicmFuY2hfbmFtZSwgJm9pZCkpCiAJCXJldHVybiAtMTsKIAlvdXJzID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UodGhlX3JlcG9zaXRvcnksICZvaWQpOwogCWlmICghb3VycykKQEAgLTE4NzcsNyArMTkyNiw3IEBACiAJaWYgKGFiZiA9PSBBSEVBRF9CRUhJTkRfUVVJQ0spCiAJCXJldHVybiAxOwogCWlmIChhYmYgIT0gQUhFQURfQkVISU5EX0ZVTEwpCi0JCUJVRygic3RhdF90cmFja2luZ19pbmZvOiBpbnZhbGlkIGFiZiAnJWQnIiwgYWJmKTsKKwkJQlVHKCJzdGF0X2JyYW5jaF9wYWlyOiBpbnZhbGlkIGFiZiAnJWQnIiwgYWJmKTsKIAogCS8qIFJ1biAicmV2LWxpc3QgLS1sZWZ0LXJpZ2h0IG91cnMuLi50aGVpcnMiIGludGVybmFsbHkuLi4gKi8KIAlhcmd2X2FycmF5X3B1c2goJmFyZ3YsICIiKTsgLyogaWdub3JlZCAqLwpAQCAtMTg5MCw3ICsxOTM5LDcgQEAKIAlyZXBvX2luaXRfcmV2aXNpb25zKHRoZV9yZXBvc2l0b3J5LCAmcmV2cywgTlVMTCk7CiAJc2V0dXBfcmV2aXNpb25zKGFyZ3YuYXJnYywgYXJndi5hcmd2LCAmcmV2cywgTlVMTCk7CiAJaWYgKHByZXBhcmVfcmV2aXNpb25fd2FsaygmcmV2cykpCi0JCWRpZSgicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiKTsKKwkJZGllKF8oInJldmlzaW9uIHdhbGsgc2V0dXAgZmFpbGVkIikpOwogCiAJLyogLi4uIGFuZCBjb3VudCB0aGUgY29tbWl0cyBvbiBlYWNoIHNpZGUuICovCiAJd2hpbGUgKDEpIHsKQEAgLTE5MTIsNiArMTk2MSw0MiBAQAogfQogCiAvKgorICogTG9va3VwIHRoZSB0cmFja2luZyBicmFuY2ggZm9yIHRoZSBnaXZlbiBicmFuY2ggYW5kIGlmIHByZXNlbnQsIG9wdGlvbmFsbHkKKyAqIGNvbXB1dGUgdGhlIGNvbW1pdCBhaGVhZC9iZWhpbmQgdmFsdWVzIGZvciB0aGUgcGFpci4KKyAqCisgKiBJZiBmb3JfcHVzaCBpcyB0cnVlLCB0aGUgdHJhY2tpbmcgYnJhbmNoIHJlZmVycyB0byB0aGUgcHVzaCBicmFuY2gsCisgKiBvdGhlcndpc2UgaXQgcmVmZXJzIHRvIHRoZSB1cHN0cmVhbSBicmFuY2guCisgKgorICogVGhlIG5hbWUgb2YgdGhlIHRyYWNraW5nIGJyYW5jaCAob3IgTlVMTCBpZiBpdCBpcyBub3QgZGVmaW5lZCkgaXMKKyAqIHJldHVybmVkIHZpYSAqdHJhY2tpbmdfbmFtZSwgaWYgaXQgaXMgbm90IGl0c2VsZiBOVUxMLgorICoKKyAqIElmIGFiZiBpcyBBSEVBRF9CRUhJTkRfRlVMTCwgY29tcHV0ZSB0aGUgZnVsbCBhaGVhZC9iZWhpbmQgYW5kIHJldHVybiB0aGUKKyAqIGNvdW50cyBpbiAqbnVtX291cnMgYW5kICpudW1fdGhlaXJzLiAgSWYgYWJmIGlzIEFIRUFEX0JFSElORF9RVUlDSywgc2tpcAorICogdGhlIChwb3RlbnRpYWxseSBleHBlbnNpdmUpIGEvYiBjb21wdXRhdGlvbiAoKm51bV9vdXJzIGFuZCAqbnVtX3RoZWlycyBhcmUKKyAqIHNldCB0byB6ZXJvKS4KKyAqCisgKiBSZXR1cm5zIC0xIGlmIG51bV9vdXJzIGFuZCBudW1fdGhlaXJzIGNvdWxkIG5vdCBiZSBmaWxsZWQgaW4gKGUuZy4sIG5vCisgKiB1cHN0cmVhbSBkZWZpbmVkLCBvciByZWYgZG9lcyBub3QgZXhpc3QpLiAgUmV0dXJucyAwIGlmIHRoZSBjb21taXRzIGFyZQorICogaWRlbnRpY2FsLiAgUmV0dXJucyAxIGlmIGNvbW1pdHMgYXJlIGRpZmZlcmVudC4KKyAqLworaW50IHN0YXRfdHJhY2tpbmdfaW5mbyhzdHJ1Y3QgYnJhbmNoICpicmFuY2gsIGludCAqbnVtX291cnMsIGludCAqbnVtX3RoZWlycywKKwkJICAgICAgIGNvbnN0IGNoYXIgKip0cmFja2luZ19uYW1lLCBpbnQgZm9yX3B1c2gsCisJCSAgICAgICBlbnVtIGFoZWFkX2JlaGluZF9mbGFncyBhYmYpCit7CisJY29uc3QgY2hhciAqYmFzZTsKKworCS8qIENhbm5vdCBzdGF0IHVubGVzcyB3ZSBhcmUgbWFya2VkIHRvIGJ1aWxkIG9uIHRvcCBvZiBzb21lYm9keSBlbHNlLiAqLworCWJhc2UgPSBmb3JfcHVzaCA/IGJyYW5jaF9nZXRfcHVzaChicmFuY2gsIE5VTEwpIDoKKwkJYnJhbmNoX2dldF91cHN0cmVhbShicmFuY2gsIE5VTEwpOworCWlmICh0cmFja2luZ19uYW1lKQorCQkqdHJhY2tpbmdfbmFtZSA9IGJhc2U7CisJaWYgKCFiYXNlKQorCQlyZXR1cm4gLTE7CisKKwlyZXR1cm4gc3RhdF9icmFuY2hfcGFpcihicmFuY2gtPnJlZm5hbWUsIGJhc2UsIG51bV9vdXJzLCBudW1fdGhlaXJzLCBhYmYpOworfQorCisvKgogICogUmV0dXJuIHRydWUgd2hlbiB0aGVyZSBpcyBhbnl0aGluZyB0byByZXBvcnQsIG90aGVyd2lzZSBmYWxzZS4KICAqLwogaW50IGZvcm1hdF90cmFja2luZ19pbmZvKHN0cnVjdCBicmFuY2ggKmJyYW5jaCwgc3RydWN0IHN0cmJ1ZiAqc2IsCkBAIC0xOTIyLDcgKzIwMDcsNyBAQAogCWNoYXIgKmJhc2U7CiAJaW50IHVwc3RyZWFtX2lzX2dvbmUgPSAwOwogCi0Jc3RpID0gc3RhdF90cmFja2luZ19pbmZvKGJyYW5jaCwgJm91cnMsICZ0aGVpcnMsICZmdWxsX2Jhc2UsIGFiZik7CisJc3RpID0gc3RhdF90cmFja2luZ19pbmZvKGJyYW5jaCwgJm91cnMsICZ0aGVpcnMsICZmdWxsX2Jhc2UsIDAsIGFiZik7CiAJaWYgKHN0aSA8IDApIHsKIAkJaWYgKCFmdWxsX2Jhc2UpCiAJCQlyZXR1cm4gMDsKQEAgLTIxNjMsNyArMjI0OCw4IEBACiAJZWxzZSBpZiAoIWNvbG9uWzFdKQogCQlvaWRjbHIoJmVudHJ5LT5leHBlY3QpOwogCWVsc2UgaWYgKGdldF9vaWQoY29sb24gKyAxLCAmZW50cnktPmV4cGVjdCkpCi0JCXJldHVybiBlcnJvcigiY2Fubm90IHBhcnNlIGV4cGVjdGVkIG9iamVjdCBuYW1lICclcyciLCBjb2xvbiArIDEpOworCQlyZXR1cm4gZXJyb3IoXygiY2Fubm90IHBhcnNlIGV4cGVjdGVkIG9iamVjdCBuYW1lICclcyciKSwKKwkJCSAgICAgY29sb24gKyAxKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvcmVtb3RlLmggYi9yZW1vdGUuaAppbmRleCBkYTUzYWQ1Li5iMTM0Y2MyIDEwMDY0NAotLS0gYS9yZW1vdGUuaAorKysgYi9yZW1vdGUuaApAQCAtNiw2ICs2LDE0IEBACiAjaW5jbHVkZSAiaGFzaG1hcC5oIgogI2luY2x1ZGUgInJlZnNwZWMuaCIKIAorLyoqCisgKiBUaGUgQVBJIGdpdmVzIGFjY2VzcyB0byB0aGUgY29uZmlndXJhdGlvbiByZWxhdGVkIHRvIHJlbW90ZXMuIEl0IGhhbmRsZXMKKyAqIGFsbCB0aHJlZSBjb25maWd1cmF0aW9uIG1lY2hhbmlzbXMgaGlzdG9yaWNhbGx5IGFuZCBjdXJyZW50bHkgdXNlZCBieSBHaXQsCisgKiBhbmQgcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIGluIGEgdW5pZm9ybSBmYXNoaW9uLiBOb3RlIHRoYXQgdGhlIGNvZGUgYWxzbworICogaGFuZGxlcyBwbGFpbiBVUkxzIHdpdGhvdXQgYW55IGNvbmZpZ3VyYXRpb24sIGdpdmluZyB0aGVtIGp1c3QgdGhlIGRlZmF1bHQKKyAqIGluZm9ybWF0aW9uLgorICovCisKIGVudW0gewogCVJFTU9URV9VTkNPTkZJR1VSRUQgPSAwLAogCVJFTU9URV9DT05GSUcsCkBAIC0xNCwxOCArMjIsMjQgQEAKIH07CiAKIHN0cnVjdCByZW1vdGUgewotCXN0cnVjdCBoYXNobWFwX2VudHJ5IGVudDsgIC8qIG11c3QgYmUgZmlyc3QgKi8KKwlzdHJ1Y3QgaGFzaG1hcF9lbnRyeSBlbnQ7CiAKKwkvKiBUaGUgdXNlcidzIG5pY2tuYW1lIGZvciB0aGUgcmVtb3RlICovCiAJY29uc3QgY2hhciAqbmFtZTsKKwogCWludCBvcmlnaW4sIGNvbmZpZ3VyZWRfaW5fcmVwbzsKIAogCWNvbnN0IGNoYXIgKmZvcmVpZ25fdmNzOwogCisJLyogQW4gYXJyYXkgb2YgYWxsIG9mIHRoZSB1cmxfbnIgVVJMcyBjb25maWd1cmVkIGZvciB0aGUgcmVtb3RlICovCiAJY29uc3QgY2hhciAqKnVybDsKKwogCWludCB1cmxfbnI7CiAJaW50IHVybF9hbGxvYzsKIAorCS8qIEFuIGFycmF5IG9mIGFsbCBvZiB0aGUgcHVzaHVybF9uciBwdXNoIFVSTHMgY29uZmlndXJlZCBmb3IgdGhlIHJlbW90ZSAqLwogCWNvbnN0IGNoYXIgKipwdXNodXJsOworCiAJaW50IHB1c2h1cmxfbnI7CiAJaW50IHB1c2h1cmxfYWxsb2M7CiAKQEAgLTM0LDMyICs0OCw0NyBAQAogCXN0cnVjdCByZWZzcGVjIGZldGNoOwogCiAJLyoKKwkgKiBUaGUgc2V0dGluZyBmb3Igd2hldGhlciB0byBmZXRjaCB0YWdzIChhcyBhIHNlcGFyYXRlIHJ1bGUgZnJvbSB0aGUKKwkgKiBjb25maWd1cmVkIHJlZnNwZWNzKTsKIAkgKiAtMSB0byBuZXZlciBmZXRjaCB0YWdzCiAJICogMCB0byBhdXRvLWZvbGxvdyB0YWdzIG9uIGhldXJpc3RpYyAoZGVmYXVsdCkKIAkgKiAxIHRvIGFsd2F5cyBhdXRvLWZvbGxvdyB0YWdzCiAJICogMiB0byBhbHdheXMgZmV0Y2ggdGFncwogCSAqLwogCWludCBmZXRjaF90YWdzOworCiAJaW50IHNraXBfZGVmYXVsdF91cGRhdGU7CiAJaW50IG1pcnJvcjsKIAlpbnQgcHJ1bmU7CiAJaW50IHBydW5lX3RhZ3M7CiAKKwkvKioKKwkgKiBUaGUgY29uZmlndXJlZCBoZWxwZXIgcHJvZ3JhbXMgdG8gcnVuIG9uIHRoZSByZW1vdGUgc2lkZSwgZm9yCisJICogR2l0LW5hdGl2ZSBwcm90b2NvbHMuCisJICovCiAJY29uc3QgY2hhciAqcmVjZWl2ZXBhY2s7CiAJY29uc3QgY2hhciAqdXBsb2FkcGFjazsKIAotCS8qCi0JICogZm9yIGN1cmwgcmVtb3RlcyBvbmx5Ci0JICovCisJLyogVGhlIHByb3h5IHRvIHVzZSBmb3IgY3VybCAoaHR0cCwgaHR0cHMsIGZ0cCwgZXRjLikgVVJMcy4gKi8KIAljaGFyICpodHRwX3Byb3h5OworCisJLyogVGhlIG1ldGhvZCB1c2VkIGZvciBhdXRoZW50aWNhdGluZyBhZ2FpbnN0IGBodHRwX3Byb3h5YC4gKi8KIAljaGFyICpodHRwX3Byb3h5X2F1dGhtZXRob2Q7CiB9OwogCisvKioKKyAqIHN0cnVjdCByZW1vdGVzIGNhbiBiZSBmb3VuZCBieSBuYW1lIHdpdGggcmVtb3RlX2dldCgpLgorICogcmVtb3RlX2dldChOVUxMKSB3aWxsIHJldHVybiB0aGUgZGVmYXVsdCByZW1vdGUsIGdpdmVuIHRoZSBjdXJyZW50IGJyYW5jaAorICogYW5kIGNvbmZpZ3VyYXRpb24uCisgKi8KIHN0cnVjdCByZW1vdGUgKnJlbW90ZV9nZXQoY29uc3QgY2hhciAqbmFtZSk7CisKIHN0cnVjdCByZW1vdGUgKnB1c2hyZW1vdGVfZ2V0KGNvbnN0IGNoYXIgKm5hbWUpOwogaW50IHJlbW90ZV9pc19jb25maWd1cmVkKHN0cnVjdCByZW1vdGUgKnJlbW90ZSwgaW50IGluX3JlcG8pOwogCiB0eXBlZGVmIGludCBlYWNoX3JlbW90ZV9mbihzdHJ1Y3QgcmVtb3RlICpyZW1vdGUsIHZvaWQgKnByaXYpOworCisvKiBpdGVyYXRlIHRocm91Z2ggc3RydWN0IHJlbW90ZXMgKi8KIGludCBmb3JfZWFjaF9yZW1vdGUoZWFjaF9yZW1vdGVfZm4gZm4sIHZvaWQgKnByaXYpOwogCiBpbnQgcmVtb3RlX2hhc191cmwoc3RydWN0IHJlbW90ZSAqcmVtb3RlLCBjb25zdCBjaGFyICp1cmwpOwpAQCAtMTE5LDM2ICsxNDgsMzggQEAKICNkZWZpbmUgUkVGX0hFQURTCSgxdSA8PCAxKQogI2RlZmluZSBSRUZfVEFHUwkoMXUgPDwgMikKIAotZXh0ZXJuIHN0cnVjdCByZWYgKmZpbmRfcmVmX2J5X25hbWUoY29uc3Qgc3RydWN0IHJlZiAqbGlzdCwgY29uc3QgY2hhciAqbmFtZSk7CitzdHJ1Y3QgcmVmICpmaW5kX3JlZl9ieV9uYW1lKGNvbnN0IHN0cnVjdCByZWYgKmxpc3QsIGNvbnN0IGNoYXIgKm5hbWUpOwogCiBzdHJ1Y3QgcmVmICphbGxvY19yZWYoY29uc3QgY2hhciAqbmFtZSk7CiBzdHJ1Y3QgcmVmICpjb3B5X3JlZihjb25zdCBzdHJ1Y3QgcmVmICpyZWYpOwogc3RydWN0IHJlZiAqY29weV9yZWZfbGlzdChjb25zdCBzdHJ1Y3QgcmVmICpyZWYpOwogdm9pZCBzb3J0X3JlZl9saXN0KHN0cnVjdCByZWYgKiosIGludCAoKmNtcCkoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopKTsKLWV4dGVybiBpbnQgY291bnRfcmVmc3BlY19tYXRjaChjb25zdCBjaGFyICosIHN0cnVjdCByZWYgKnJlZnMsIHN0cnVjdCByZWYgKiptYXRjaGVkX3JlZik7CitpbnQgY291bnRfcmVmc3BlY19tYXRjaChjb25zdCBjaGFyICosIHN0cnVjdCByZWYgKnJlZnMsIHN0cnVjdCByZWYgKiptYXRjaGVkX3JlZik7CiBpbnQgcmVmX2NvbXBhcmVfbmFtZShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKik7CiAKIGludCBjaGVja19yZWZfdHlwZShjb25zdCBzdHJ1Y3QgcmVmICpyZWYsIGludCBmbGFncyk7CiAKIC8qCi0gKiBGcmVlcyB0aGUgZW50aXJlIGxpc3QgYW5kIHBlZXJzIG9mIGVsZW1lbnRzLgorICogRnJlZSBhIHNpbmdsZSByZWYgYW5kIGl0cyBwZWVyLCBvciBhbiBlbnRpcmUgbGlzdCBvZiByZWZzIGFuZCB0aGVpciBwZWVycywKKyAqIHJlc3BlY3RpdmVseS4KICAqLwordm9pZCBmcmVlX29uZV9yZWYoc3RydWN0IHJlZiAqcmVmKTsKIHZvaWQgZnJlZV9yZWZzKHN0cnVjdCByZWYgKnJlZik7CiAKIHN0cnVjdCBvaWRfYXJyYXk7CiBzdHJ1Y3QgcGFja2V0X3JlYWRlcjsKIHN0cnVjdCBhcmd2X2FycmF5Owogc3RydWN0IHN0cmluZ19saXN0OwotZXh0ZXJuIHN0cnVjdCByZWYgKipnZXRfcmVtb3RlX2hlYWRzKHN0cnVjdCBwYWNrZXRfcmVhZGVyICpyZWFkZXIsCi0JCQkJICAgICBzdHJ1Y3QgcmVmICoqbGlzdCwgdW5zaWduZWQgaW50IGZsYWdzLAotCQkJCSAgICAgc3RydWN0IG9pZF9hcnJheSAqZXh0cmFfaGF2ZSwKLQkJCQkgICAgIHN0cnVjdCBvaWRfYXJyYXkgKnNoYWxsb3dfcG9pbnRzKTsKK3N0cnVjdCByZWYgKipnZXRfcmVtb3RlX2hlYWRzKHN0cnVjdCBwYWNrZXRfcmVhZGVyICpyZWFkZXIsCisJCQkgICAgICBzdHJ1Y3QgcmVmICoqbGlzdCwgdW5zaWduZWQgaW50IGZsYWdzLAorCQkJICAgICAgc3RydWN0IG9pZF9hcnJheSAqZXh0cmFfaGF2ZSwKKwkJCSAgICAgIHN0cnVjdCBvaWRfYXJyYXkgKnNoYWxsb3dfcG9pbnRzKTsKIAogLyogVXNlZCBmb3IgcHJvdG9jb2wgdjIgaW4gb3JkZXIgdG8gcmV0cmlldmUgcmVmcyBmcm9tIGEgcmVtb3RlICovCi1leHRlcm4gc3RydWN0IHJlZiAqKmdldF9yZW1vdGVfcmVmcyhpbnQgZmRfb3V0LCBzdHJ1Y3QgcGFja2V0X3JlYWRlciAqcmVhZGVyLAotCQkJCSAgICBzdHJ1Y3QgcmVmICoqbGlzdCwgaW50IGZvcl9wdXNoLAotCQkJCSAgICBjb25zdCBzdHJ1Y3QgYXJndl9hcnJheSAqcmVmX3ByZWZpeGVzLAotCQkJCSAgICBjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnNlcnZlcl9vcHRpb25zKTsKK3N0cnVjdCByZWYgKipnZXRfcmVtb3RlX3JlZnMoaW50IGZkX291dCwgc3RydWN0IHBhY2tldF9yZWFkZXIgKnJlYWRlciwKKwkJCSAgICAgc3RydWN0IHJlZiAqKmxpc3QsIGludCBmb3JfcHVzaCwKKwkJCSAgICAgY29uc3Qgc3RydWN0IGFyZ3ZfYXJyYXkgKnJlZl9wcmVmaXhlcywKKwkJCSAgICAgY29uc3Qgc3RydWN0IHN0cmluZ19saXN0ICpzZXJ2ZXJfb3B0aW9ucyk7CiAKIGludCByZXNvbHZlX3JlbW90ZV9zeW1yZWYoc3RydWN0IHJlZiAqcmVmLCBzdHJ1Y3QgcmVmICpsaXN0KTsKIApAQCAtMTkyLDE2ICsyMjMsMzYgQEAKICAqLwogaW50IHJlbW90ZV9maW5kX3RyYWNraW5nKHN0cnVjdCByZW1vdGUgKnJlbW90ZSwgc3RydWN0IHJlZnNwZWNfaXRlbSAqcmVmc3BlYyk7CiAKKy8qKgorICogc3RydWN0IGJyYW5jaCBob2xkcyB0aGUgY29uZmlndXJhdGlvbiBmb3IgYSBicmFuY2guIEl0IGNhbiBiZSBsb29rZWQgdXAgd2l0aAorICogYnJhbmNoX2dldChuYW1lKSBmb3IgInJlZnMvaGVhZHMve25hbWV9Iiwgb3Igd2l0aCBicmFuY2hfZ2V0KE5VTEwpIGZvciBIRUFELgorICovCiBzdHJ1Y3QgYnJhbmNoIHsKKworCS8qIFRoZSBzaG9ydCBuYW1lIG9mIHRoZSBicmFuY2guICovCiAJY29uc3QgY2hhciAqbmFtZTsKKworCS8qIFRoZSBmdWxsIHBhdGggZm9yIHRoZSBicmFuY2ggcmVmLiAqLwogCWNvbnN0IGNoYXIgKnJlZm5hbWU7CiAKKwkvKiBUaGUgbmFtZSBvZiB0aGUgcmVtb3RlIGxpc3RlZCBpbiB0aGUgY29uZmlndXJhdGlvbi4gKi8KIAljb25zdCBjaGFyICpyZW1vdGVfbmFtZTsKKwogCWNvbnN0IGNoYXIgKnB1c2hyZW1vdGVfbmFtZTsKIAorCS8qIEFuIGFycmF5IG9mIHRoZSAibWVyZ2UiIGxpbmVzIGluIHRoZSBjb25maWd1cmF0aW9uLiAqLwogCWNvbnN0IGNoYXIgKiptZXJnZV9uYW1lOworCisJLyoqCisJICogQW4gYXJyYXkgb2YgdGhlIHN0cnVjdCByZWZzcGVjcyB1c2VkIGZvciB0aGUgbWVyZ2UgbGluZXMuIFRoYXQgaXMsCisJICogbWVyZ2VbaV0tPmRzdCBpcyBhIGxvY2FsIHRyYWNraW5nIHJlZiB3aGljaCBzaG91bGQgYmUgbWVyZ2VkIGludG8gdGhpcworCSAqIGJyYW5jaCBieSBkZWZhdWx0LgorCSAqLwogCXN0cnVjdCByZWZzcGVjX2l0ZW0gKiptZXJnZTsKKworCS8qIFRoZSBudW1iZXIgb2YgbWVyZ2UgY29uZmlndXJhdGlvbnMgKi8KIAlpbnQgbWVyZ2VfbnI7CisKIAlpbnQgbWVyZ2VfYWxsb2M7CiAKIAljb25zdCBjaGFyICpwdXNoX3RyYWNraW5nX3JlZjsKQEAgLTIxMyw3ICsyNjQsOSBAQAogY29uc3QgY2hhciAqcmVtb3RlX3JlZl9mb3JfYnJhbmNoKHN0cnVjdCBicmFuY2ggKmJyYW5jaCwgaW50IGZvcl9wdXNoLAogCQkJCSAgaW50ICpleHBsaWNpdCk7CiAKKy8qIHJldHVybnMgdHJ1ZSBpZiB0aGUgZ2l2ZW4gYnJhbmNoIGhhcyBtZXJnZSBjb25maWd1cmF0aW9uIGdpdmVuLiAqLwogaW50IGJyYW5jaF9oYXNfbWVyZ2VfY29uZmlnKHN0cnVjdCBicmFuY2ggKmJyYW5jaCk7CisKIGludCBicmFuY2hfbWVyZ2VfbWF0Y2hlcyhzdHJ1Y3QgYnJhbmNoICosIGludCBuLCBjb25zdCBjaGFyICopOwogCiAvKioKQEAgLTI1Myw3ICszMDYsOCBAQAogCiAvKiBSZXBvcnRpbmcgb2YgdHJhY2tpbmcgaW5mbyAqLwogaW50IHN0YXRfdHJhY2tpbmdfaW5mbyhzdHJ1Y3QgYnJhbmNoICpicmFuY2gsIGludCAqbnVtX291cnMsIGludCAqbnVtX3RoZWlycywKLQkJICAgICAgIGNvbnN0IGNoYXIgKip1cHN0cmVhbV9uYW1lLCBlbnVtIGFoZWFkX2JlaGluZF9mbGFncyBhYmYpOworCQkgICAgICAgY29uc3QgY2hhciAqKnVwc3RyZWFtX25hbWUsIGludCBmb3JfcHVzaCwKKwkJICAgICAgIGVudW0gYWhlYWRfYmVoaW5kX2ZsYWdzIGFiZik7CiBpbnQgZm9ybWF0X3RyYWNraW5nX2luZm8oc3RydWN0IGJyYW5jaCAqYnJhbmNoLCBzdHJ1Y3Qgc3RyYnVmICpzYiwKIAkJCSBlbnVtIGFoZWFkX2JlaGluZF9mbGFncyBhYmYpOwogCkBAIC0yODcsOSArMzQxLDkgQEAKIAlpbnQgYWxsb2M7CiB9OwogCi1leHRlcm4gaW50IHBhcnNlb3B0X3B1c2hfY2FzX29wdGlvbihjb25zdCBzdHJ1Y3Qgb3B0aW9uICosIGNvbnN0IGNoYXIgKmFyZywgaW50IHVuc2V0KTsKK2ludCBwYXJzZW9wdF9wdXNoX2Nhc19vcHRpb24oY29uc3Qgc3RydWN0IG9wdGlvbiAqLCBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCk7CiAKLWV4dGVybiBpbnQgaXNfZW1wdHlfY2FzKGNvbnN0IHN0cnVjdCBwdXNoX2Nhc19vcHRpb24gKik7CitpbnQgaXNfZW1wdHlfY2FzKGNvbnN0IHN0cnVjdCBwdXNoX2Nhc19vcHRpb24gKik7CiB2b2lkIGFwcGx5X3B1c2hfY2FzKHN0cnVjdCBwdXNoX2Nhc19vcHRpb24gKiwgc3RydWN0IHJlbW90ZSAqLCBzdHJ1Y3QgcmVmICopOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3JlcGxhY2Utb2JqZWN0LmMgYi9yZXBsYWNlLW9iamVjdC5jCmluZGV4IGUyOTVlODcuLjdiZDlhYmEgMTAwNjQ0Ci0tLSBhL3JlcGxhY2Utb2JqZWN0LmMKKysrIGIvcmVwbGFjZS1vYmplY3QuYwpAQCAtMzQsMTQgKzM0LDIzIEBACiAKIHZvaWQgcHJlcGFyZV9yZXBsYWNlX29iamVjdChzdHJ1Y3QgcmVwb3NpdG9yeSAqcikKIHsKLQlpZiAoci0+b2JqZWN0cy0+cmVwbGFjZV9tYXApCisJaWYgKHItPm9iamVjdHMtPnJlcGxhY2VfbWFwX2luaXRpYWxpemVkKQogCQlyZXR1cm47CiAKKwlwdGhyZWFkX211dGV4X2xvY2soJnItPm9iamVjdHMtPnJlcGxhY2VfbXV0ZXgpOworCWlmIChyLT5vYmplY3RzLT5yZXBsYWNlX21hcF9pbml0aWFsaXplZCkgeworCQlwdGhyZWFkX211dGV4X3VubG9jaygmci0+b2JqZWN0cy0+cmVwbGFjZV9tdXRleCk7CisJCXJldHVybjsKKwl9CisKIAlyLT5vYmplY3RzLT5yZXBsYWNlX21hcCA9CiAJCXhtYWxsb2Moc2l6ZW9mKCpyLT5vYmplY3RzLT5yZXBsYWNlX21hcCkpOwogCW9pZG1hcF9pbml0KHItPm9iamVjdHMtPnJlcGxhY2VfbWFwLCAwKTsKIAogCWZvcl9lYWNoX3JlcGxhY2VfcmVmKHIsIHJlZ2lzdGVyX3JlcGxhY2VfcmVmLCBOVUxMKTsKKwlyLT5vYmplY3RzLT5yZXBsYWNlX21hcF9pbml0aWFsaXplZCA9IDE7CisKKwlwdGhyZWFkX211dGV4X3VubG9jaygmci0+b2JqZWN0cy0+cmVwbGFjZV9tdXRleCk7CiB9CiAKIC8qIFdlIGFsbG93ICJyZWN1cnNpdmUiIHJlcGxhY2VtZW50LiBPbmx5IHdpdGhpbiByZWFzb24sIHRob3VnaCAqLwpkaWZmIC0tZ2l0IGEvcmVwbGFjZS1vYmplY3QuaCBiL3JlcGxhY2Utb2JqZWN0LmgKaW5kZXggMTY1MjhkZi4uM2ZiYzMyZSAxMDA2NDQKLS0tIGEvcmVwbGFjZS1vYmplY3QuaAorKysgYi9yZXBsYWNlLW9iamVjdC5oCkBAIC0xNiwyMCArMTYsMjUgQEAKICAqIFRoaXMgaW50ZXJuYWwgZnVuY3Rpb24gaXMgb25seSBkZWNsYXJlZCBoZXJlIGZvciB0aGUgYmVuZWZpdCBvZgogICogbG9va3VwX3JlcGxhY2Vfb2JqZWN0KCkuICBQbGVhc2UgZG8gbm90IGNhbGwgaXQgZGlyZWN0bHkuCiAgKi8KLWV4dGVybiBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpkb19sb29rdXBfcmVwbGFjZV9vYmplY3Qoc3RydWN0IHJlcG9zaXRvcnkgKnIsCi0JCQkJCQkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKK2NvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmRvX2xvb2t1cF9yZXBsYWNlX29iamVjdChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkJCSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpOwogCiAvKgogICogSWYgb2JqZWN0IHNoYTEgc2hvdWxkIGJlIHJlcGxhY2VkLCByZXR1cm4gdGhlIHJlcGxhY2VtZW50IG9iamVjdCdzCiAgKiBuYW1lIChyZXBsYWNlZCByZWN1cnNpdmVseSwgaWYgbmVjZXNzYXJ5KS4gIFRoZSByZXR1cm4gdmFsdWUgaXMKICAqIGVpdGhlciBzaGExIG9yIGEgcG9pbnRlciB0byBhIHBlcm1hbmVudGx5LWFsbG9jYXRlZCB2YWx1ZS4gIFdoZW4KICAqIG9iamVjdCByZXBsYWNlbWVudCBpcyBzdXBwcmVzc2VkLCBhbHdheXMgcmV0dXJuIHNoYTEuCisgKgorICogTm90ZTogc29tZSB0aHJlYWQgZGVidWdnZXJzIG1pZ2h0IHBvaW50IGEgZGF0YSByYWNlIG9uIHRoZQorICogcmVwbGFjZV9tYXBfaW5pdGlhbGl6ZWQgcmVhZGluZyBpbiB0aGlzIGZ1bmN0aW9uLiBIb3dldmVyLCB3ZSBrbm93IHRoZXJlJ3Mgbm8KKyAqIHByb2JsZW0gaW4gdGhlIHZhbHVlIGJlaW5nIHVwZGF0ZWQgYnkgb25lIHRocmVhZCByaWdodCBhZnRlciBhbm90aGVyIG9uZSByZWFkCisgKiBpdCBoZXJlIChhbmQgaXQgc2hvdWxkIGJlIHdyaXR0ZW4gdG8gb25seSBvbmNlLCBhbnl3YXkpLgogICovCiBzdGF0aWMgaW5saW5lIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmxvb2t1cF9yZXBsYWNlX29iamVjdChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKIAkJCQkJCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCWlmICghcmVhZF9yZXBsYWNlX3JlZnMgfHwKLQkgICAgKHItPm9iamVjdHMtPnJlcGxhY2VfbWFwICYmCisJICAgIChyLT5vYmplY3RzLT5yZXBsYWNlX21hcF9pbml0aWFsaXplZCAmJgogCSAgICAgci0+b2JqZWN0cy0+cmVwbGFjZV9tYXAtPm1hcC50YWJsZXNpemUgPT0gMCkpCiAJCXJldHVybiBvaWQ7CiAJcmV0dXJuIGRvX2xvb2t1cF9yZXBsYWNlX29iamVjdChyLCBvaWQpOwpkaWZmIC0tZ2l0IGEvcmVwby1zZXR0aW5ncy5jIGIvcmVwby1zZXR0aW5ncy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3MDNlNDAKLS0tIC9kZXYvbnVsbAorKysgYi9yZXBvLXNldHRpbmdzLmMKQEAgLTAsMCArMSw2OCBAQAorI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAicmVwb3NpdG9yeS5oIgorCisjZGVmaW5lIFVQREFURV9ERUZBVUxUX0JPT0wocyx2KSBkbyB7IGlmIChzID09IC0xKSB7IHMgPSB2OyB9IH0gd2hpbGUoMCkKKwordm9pZCBwcmVwYXJlX3JlcG9fc2V0dGluZ3Moc3RydWN0IHJlcG9zaXRvcnkgKnIpCit7CisJaW50IHZhbHVlOworCWNoYXIgKnN0cnZhbDsKKworCWlmIChyLT5zZXR0aW5ncy5pbml0aWFsaXplZCkKKwkJcmV0dXJuOworCisJLyogRGVmYXVsdHMgKi8KKwltZW1zZXQoJnItPnNldHRpbmdzLCAtMSwgc2l6ZW9mKHItPnNldHRpbmdzKSk7CisKKwlpZiAoIXJlcG9fY29uZmlnX2dldF9ib29sKHIsICJjb3JlLmNvbW1pdGdyYXBoIiwgJnZhbHVlKSkKKwkJci0+c2V0dGluZ3MuY29yZV9jb21taXRfZ3JhcGggPSB2YWx1ZTsKKwlpZiAoIXJlcG9fY29uZmlnX2dldF9ib29sKHIsICJnYy53cml0ZWNvbW1pdGdyYXBoIiwgJnZhbHVlKSkKKwkJci0+c2V0dGluZ3MuZ2Nfd3JpdGVfY29tbWl0X2dyYXBoID0gdmFsdWU7CisJVVBEQVRFX0RFRkFVTFRfQk9PTChyLT5zZXR0aW5ncy5jb3JlX2NvbW1pdF9ncmFwaCwgMSk7CisJVVBEQVRFX0RFRkFVTFRfQk9PTChyLT5zZXR0aW5ncy5nY193cml0ZV9jb21taXRfZ3JhcGgsIDEpOworCisJaWYgKCFyZXBvX2NvbmZpZ19nZXRfaW50KHIsICJpbmRleC52ZXJzaW9uIiwgJnZhbHVlKSkKKwkJci0+c2V0dGluZ3MuaW5kZXhfdmVyc2lvbiA9IHZhbHVlOworCWlmICghcmVwb19jb25maWdfZ2V0X21heWJlX2Jvb2wociwgImNvcmUudW50cmFja2VkY2FjaGUiLCAmdmFsdWUpKSB7CisJCWlmICh2YWx1ZSA9PSAwKQorCQkJci0+c2V0dGluZ3MuY29yZV91bnRyYWNrZWRfY2FjaGUgPSBVTlRSQUNLRURfQ0FDSEVfUkVNT1ZFOworCQllbHNlCisJCQlyLT5zZXR0aW5ncy5jb3JlX3VudHJhY2tlZF9jYWNoZSA9IFVOVFJBQ0tFRF9DQUNIRV9XUklURTsKKwl9IGVsc2UgaWYgKCFyZXBvX2NvbmZpZ19nZXRfc3RyaW5nKHIsICJjb3JlLnVudHJhY2tlZGNhY2hlIiwgJnN0cnZhbCkpIHsKKwkJaWYgKCFzdHJjYXNlY21wKHN0cnZhbCwgImtlZXAiKSkKKwkJCXItPnNldHRpbmdzLmNvcmVfdW50cmFja2VkX2NhY2hlID0gVU5UUkFDS0VEX0NBQ0hFX0tFRVA7CisKKwkJZnJlZShzdHJ2YWwpOworCX0KKworCWlmICghcmVwb19jb25maWdfZ2V0X3N0cmluZyhyLCAiZmV0Y2gubmVnb3RpYXRpb25hbGdvcml0aG0iLCAmc3RydmFsKSkgeworCQlpZiAoIXN0cmNhc2VjbXAoc3RydmFsLCAic2tpcHBpbmciKSkKKwkJCXItPnNldHRpbmdzLmZldGNoX25lZ290aWF0aW9uX2FsZ29yaXRobSA9IEZFVENIX05FR09USUFUSU9OX1NLSVBQSU5HOworCQllbHNlCisJCQlyLT5zZXR0aW5ncy5mZXRjaF9uZWdvdGlhdGlvbl9hbGdvcml0aG0gPSBGRVRDSF9ORUdPVElBVElPTl9ERUZBVUxUOworCX0KKworCWlmICghcmVwb19jb25maWdfZ2V0X2Jvb2wociwgInBhY2sudXNlc3BhcnNlIiwgJnZhbHVlKSkKKwkJci0+c2V0dGluZ3MucGFja191c2Vfc3BhcnNlID0gdmFsdWU7CisJaWYgKCFyZXBvX2NvbmZpZ19nZXRfYm9vbChyLCAiZmVhdHVyZS5tYW55ZmlsZXMiLCAmdmFsdWUpICYmIHZhbHVlKSB7CisJCVVQREFURV9ERUZBVUxUX0JPT0woci0+c2V0dGluZ3MuaW5kZXhfdmVyc2lvbiwgNCk7CisJCVVQREFURV9ERUZBVUxUX0JPT0woci0+c2V0dGluZ3MuY29yZV91bnRyYWNrZWRfY2FjaGUsIFVOVFJBQ0tFRF9DQUNIRV9XUklURSk7CisJfQorCWlmICghcmVwb19jb25maWdfZ2V0X2Jvb2wociwgImZldGNoLndyaXRlY29tbWl0Z3JhcGgiLCAmdmFsdWUpKQorCQlyLT5zZXR0aW5ncy5mZXRjaF93cml0ZV9jb21taXRfZ3JhcGggPSB2YWx1ZTsKKwlpZiAoIXJlcG9fY29uZmlnX2dldF9ib29sKHIsICJmZWF0dXJlLmV4cGVyaW1lbnRhbCIsICZ2YWx1ZSkgJiYgdmFsdWUpIHsKKwkJVVBEQVRFX0RFRkFVTFRfQk9PTChyLT5zZXR0aW5ncy5wYWNrX3VzZV9zcGFyc2UsIDEpOworCQlVUERBVEVfREVGQVVMVF9CT09MKHItPnNldHRpbmdzLmZldGNoX25lZ290aWF0aW9uX2FsZ29yaXRobSwgRkVUQ0hfTkVHT1RJQVRJT05fU0tJUFBJTkcpOworCQlVUERBVEVfREVGQVVMVF9CT09MKHItPnNldHRpbmdzLmZldGNoX3dyaXRlX2NvbW1pdF9ncmFwaCwgMSk7CisJfQorCVVQREFURV9ERUZBVUxUX0JPT0woci0+c2V0dGluZ3MuZmV0Y2hfd3JpdGVfY29tbWl0X2dyYXBoLCAwKTsKKworCS8qIEhhY2sgZm9yIHRlc3QgcHJvZ3JhbXMgbGlrZSB0ZXN0LWR1bXAtdW50cmFja2VkLWNhY2hlICovCisJaWYgKGlnbm9yZV91bnRyYWNrZWRfY2FjaGVfY29uZmlnKQorCQlyLT5zZXR0aW5ncy5jb3JlX3VudHJhY2tlZF9jYWNoZSA9IFVOVFJBQ0tFRF9DQUNIRV9LRUVQOworCWVsc2UKKwkJVVBEQVRFX0RFRkFVTFRfQk9PTChyLT5zZXR0aW5ncy5jb3JlX3VudHJhY2tlZF9jYWNoZSwgVU5UUkFDS0VEX0NBQ0hFX0tFRVApOworCisJVVBEQVRFX0RFRkFVTFRfQk9PTChyLT5zZXR0aW5ncy5mZXRjaF9uZWdvdGlhdGlvbl9hbGdvcml0aG0sIEZFVENIX05FR09USUFUSU9OX0RFRkFVTFQpOworfQpkaWZmIC0tZ2l0IGEvcmVwb3NpdG9yeS5jIGIvcmVwb3NpdG9yeS5jCmluZGV4IDVkZDE0ODYuLmE0MTc0ZGQgMTAwNjQ0Ci0tLSBhL3JlcG9zaXRvcnkuYworKysgYi9yZXBvc2l0b3J5LmMKQEAgLTEsMTMgKzEsMjAgQEAKKy8qCisgKiBub3QgcmVhbGx5IF91c2luZ18gdGhlIGNvbXBhdCBtYWNyb3MsIGp1c3QgbWFrZSBzdXJlIHRoZV9pbmRleAorICogZGVjbGFyYXRpb24gbWF0Y2hlcyB0aGUgZGVmaW5pdGlvbiBpbiB0aGlzIGZpbGUuCisgKi8KKyNkZWZpbmUgVVNFX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAicmVwb3NpdG9yeS5oIgogI2luY2x1ZGUgIm9iamVjdC1zdG9yZS5oIgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIm9iamVjdC5oIgorI2luY2x1ZGUgImxvY2tmaWxlLmgiCiAjaW5jbHVkZSAic3VibW9kdWxlLWNvbmZpZy5oIgogCiAvKiBUaGUgbWFpbiByZXBvc2l0b3J5ICovCiBzdGF0aWMgc3RydWN0IHJlcG9zaXRvcnkgdGhlX3JlcG87CiBzdHJ1Y3QgcmVwb3NpdG9yeSAqdGhlX3JlcG9zaXRvcnk7CitzdHJ1Y3QgaW5kZXhfc3RhdGUgdGhlX2luZGV4OwogCiB2b2lkIGluaXRpYWxpemVfdGhlX3JlcG9zaXRvcnkodm9pZCkKIHsKQEAgLTYzLDggKzcwLDE0IEBACiAJZnJlZShvbGRfZ2l0ZGlyKTsKIAogCXJlcG9fc2V0X2NvbW1vbmRpcihyZXBvLCBvLT5jb21tb25kaXIpOwotCWV4cGFuZF9iYXNlX2RpcigmcmVwby0+b2JqZWN0cy0+b2JqZWN0ZGlyLCBvLT5vYmplY3RfZGlyLAorCisJaWYgKCFyZXBvLT5vYmplY3RzLT5vZGIpIHsKKwkJcmVwby0+b2JqZWN0cy0+b2RiID0geGNhbGxvYygxLCBzaXplb2YoKnJlcG8tPm9iamVjdHMtPm9kYikpOworCQlyZXBvLT5vYmplY3RzLT5vZGJfdGFpbCA9ICZyZXBvLT5vYmplY3RzLT5vZGItPm5leHQ7CisJfQorCWV4cGFuZF9iYXNlX2RpcigmcmVwby0+b2JqZWN0cy0+b2RiLT5wYXRoLCBvLT5vYmplY3RfZGlyLAogCQkJcmVwby0+Y29tbW9uZGlyLCAib2JqZWN0cyIpOworCiAJZnJlZShyZXBvLT5vYmplY3RzLT5hbHRlcm5hdGVfZGIpOwogCXJlcG8tPm9iamVjdHMtPmFsdGVybmF0ZV9kYiA9IHhzdHJkdXBfb3JfbnVsbChvLT5hbHRlcm5hdGVfZGIpOwogCWV4cGFuZF9iYXNlX2RpcigmcmVwby0+Z3JhZnRfZmlsZSwgby0+Z3JhZnRfZmlsZSwKQEAgLTExMyw2ICsxMjYsOCBAQAogdm9pZCByZXBvX3NldF93b3JrdHJlZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqcGF0aCkKIHsKIAlyZXBvLT53b3JrdHJlZSA9IHJlYWxfcGF0aGR1cChwYXRoLCAxKTsKKworCXRyYWNlMl9kZWZfcmVwbyhyZXBvKTsKIH0KIAogc3RhdGljIGludCByZWFkX2FuZF92ZXJpZnlfcmVwb3NpdG9yeV9mb3JtYXQoc3RydWN0IHJlcG9zaXRvcnlfZm9ybWF0ICpmb3JtYXQsCkBAIC0xNDIsNyArMTU3LDcgQEAKIAkgICAgICBjb25zdCBjaGFyICpnaXRkaXIsCiAJICAgICAgY29uc3QgY2hhciAqd29ya3RyZWUpCiB7Ci0Jc3RydWN0IHJlcG9zaXRvcnlfZm9ybWF0IGZvcm1hdDsKKwlzdHJ1Y3QgcmVwb3NpdG9yeV9mb3JtYXQgZm9ybWF0ID0gUkVQT1NJVE9SWV9GT1JNQVRfSU5JVDsKIAltZW1zZXQocmVwbywgMCwgc2l6ZW9mKCpyZXBvKSk7CiAKIAlyZXBvLT5vYmplY3RzID0gcmF3X29iamVjdF9zdG9yZV9uZXcoKTsKQEAgLTE1OSw2ICsxNzQsNyBAQAogCWlmICh3b3JrdHJlZSkKIAkJcmVwb19zZXRfd29ya3RyZWUocmVwbywgd29ya3RyZWUpOwogCisJY2xlYXJfcmVwb3NpdG9yeV9mb3JtYXQoJmZvcm1hdCk7CiAJcmV0dXJuIDA7CiAKIGVycm9yOgpAQCAtMTY2LDM0ICsxODIsMjcgQEAKIAlyZXR1cm4gLTE7CiB9CiAKLS8qCi0gKiBJbml0aWFsaXplICdzdWJtb2R1bGUnIGFzIHRoZSBzdWJtb2R1bGUgZ2l2ZW4gYnkgJ3BhdGgnIGluIHBhcmVudCByZXBvc2l0b3J5Ci0gKiAnc3VwZXJwcm9qZWN0Jy4KLSAqIFJldHVybiAwIHVwb24gc3VjY2VzcyBhbmQgYSBub24temVybyB2YWx1ZSB1cG9uIGZhaWx1cmUuCi0gKi8KLWludCByZXBvX3N1Ym1vZHVsZV9pbml0KHN0cnVjdCByZXBvc2l0b3J5ICpzdWJtb2R1bGUsCitpbnQgcmVwb19zdWJtb2R1bGVfaW5pdChzdHJ1Y3QgcmVwb3NpdG9yeSAqc3VicmVwbywKIAkJCXN0cnVjdCByZXBvc2l0b3J5ICpzdXBlcnByb2plY3QsCi0JCQljb25zdCBjaGFyICpwYXRoKQorCQkJY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3ViKQogewotCWNvbnN0IHN0cnVjdCBzdWJtb2R1bGUgKnN1YjsKIAlzdHJ1Y3Qgc3RyYnVmIGdpdGRpciA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJidWYgd29ya3RyZWUgPSBTVFJCVUZfSU5JVDsKIAlpbnQgcmV0ID0gMDsKIAotCXN1YiA9IHN1Ym1vZHVsZV9mcm9tX3BhdGgoc3VwZXJwcm9qZWN0LCAmbnVsbF9vaWQsIHBhdGgpOwogCWlmICghc3ViKSB7CiAJCXJldCA9IC0xOwogCQlnb3RvIG91dDsKIAl9CiAKLQlzdHJidWZfcmVwb193b3JrdHJlZV9wYXRoKCZnaXRkaXIsIHN1cGVycHJvamVjdCwgIiVzLy5naXQiLCBwYXRoKTsKLQlzdHJidWZfcmVwb193b3JrdHJlZV9wYXRoKCZ3b3JrdHJlZSwgc3VwZXJwcm9qZWN0LCAiJXMiLCBwYXRoKTsKKwlzdHJidWZfcmVwb193b3JrdHJlZV9wYXRoKCZnaXRkaXIsIHN1cGVycHJvamVjdCwgIiVzLy5naXQiLCBzdWItPnBhdGgpOworCXN0cmJ1Zl9yZXBvX3dvcmt0cmVlX3BhdGgoJndvcmt0cmVlLCBzdXBlcnByb2plY3QsICIlcyIsIHN1Yi0+cGF0aCk7CiAKLQlpZiAocmVwb19pbml0KHN1Ym1vZHVsZSwgZ2l0ZGlyLmJ1Ziwgd29ya3RyZWUuYnVmKSkgeworCWlmIChyZXBvX2luaXQoc3VicmVwbywgZ2l0ZGlyLmJ1Ziwgd29ya3RyZWUuYnVmKSkgewogCQkvKgotCQkgKiBJZiBpbml0aWxpemF0aW9uIGZhaWxzIHRoZW4gaXQgbWF5IGJlIGR1ZSB0byB0aGUgc3VibW9kdWxlCisJCSAqIElmIGluaXRpYWxpemF0aW9uIGZhaWxzIHRoZW4gaXQgbWF5IGJlIGR1ZSB0byB0aGUgc3VibW9kdWxlCiAJCSAqIG5vdCBiZWluZyBwb3B1bGF0ZWQgaW4gdGhlIHN1cGVycHJvamVjdCdzIHdvcmt0cmVlLiAgSW5zdGVhZAotCQkgKiB3ZSBjYW4gdHJ5IHRvIGluaXRpbGl6ZSB0aGUgc3VibW9kdWxlIGJ5IGZpbmRpbmcgaXQncyBnaXRkaXIKKwkJICogd2UgY2FuIHRyeSB0byBpbml0aWFsaXplIHRoZSBzdWJtb2R1bGUgYnkgZmluZGluZyBpdCdzIGdpdGRpcgogCQkgKiBpbiB0aGUgc3VwZXJwcm9qZWN0J3MgJ21vZHVsZXMnIGRpcmVjdG9yeS4gIEluIHRoaXMgY2FzZSB0aGUKIAkJICogc3VibW9kdWxlIHdvdWxkIG5vdCBoYXZlIGEgd29ya3RyZWUuCiAJCSAqLwpAQCAtMjAxLDE2ICsyMTAsMTYgQEAKIAkJc3RyYnVmX3JlcG9fZ2l0X3BhdGgoJmdpdGRpciwgc3VwZXJwcm9qZWN0LAogCQkJCSAgICAgIm1vZHVsZXMvJXMiLCBzdWItPm5hbWUpOwogCi0JCWlmIChyZXBvX2luaXQoc3VibW9kdWxlLCBnaXRkaXIuYnVmLCBOVUxMKSkgeworCQlpZiAocmVwb19pbml0KHN1YnJlcG8sIGdpdGRpci5idWYsIE5VTEwpKSB7CiAJCQlyZXQgPSAtMTsKIAkJCWdvdG8gb3V0OwogCQl9CiAJfQogCi0Jc3VibW9kdWxlLT5zdWJtb2R1bGVfcHJlZml4ID0geHN0cmZtdCgiJXMlcy8iLAotCQkJCQkgICAgICBzdXBlcnByb2plY3QtPnN1Ym1vZHVsZV9wcmVmaXggPwotCQkJCQkgICAgICBzdXBlcnByb2plY3QtPnN1Ym1vZHVsZV9wcmVmaXggOgotCQkJCQkgICAgICAiIiwgcGF0aCk7CisJc3VicmVwby0+c3VibW9kdWxlX3ByZWZpeCA9IHhzdHJmbXQoIiVzJXMvIiwKKwkJCQkJICAgIHN1cGVycHJvamVjdC0+c3VibW9kdWxlX3ByZWZpeCA/CisJCQkJCSAgICBzdXBlcnByb2plY3QtPnN1Ym1vZHVsZV9wcmVmaXggOgorCQkJCQkgICAgIiIsIHN1Yi0+cGF0aCk7CiAKIG91dDoKIAlzdHJidWZfcmVsZWFzZSgmZ2l0ZGlyKTsKQEAgLTI1NywzICsyNjYsMTIgQEAKIAogCXJldHVybiByZWFkX2luZGV4X2Zyb20ocmVwby0+aW5kZXgsIHJlcG8tPmluZGV4X2ZpbGUsIHJlcG8tPmdpdGRpcik7CiB9CisKK2ludCByZXBvX2hvbGRfbG9ja2VkX2luZGV4KHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJICAgc3RydWN0IGxvY2tfZmlsZSAqbGYsCisJCQkgICBpbnQgZmxhZ3MpCit7CisJaWYgKCFyZXBvLT5pbmRleF9maWxlKQorCQlCVUcoInRoZSByZXBvIGhhc24ndCBiZWVuIHNldHVwIik7CisJcmV0dXJuIGhvbGRfbG9ja19maWxlX2Zvcl91cGRhdGUobGYsIHJlcG8tPmluZGV4X2ZpbGUsIGZsYWdzKTsKK30KZGlmZiAtLWdpdCBhL3JlcG9zaXRvcnkuaCBiL3JlcG9zaXRvcnkuaAppbmRleCA5ZjE2YzQyLi4wNDAwNTdkIDEwMDY0NAotLS0gYS9yZXBvc2l0b3J5LmgKKysrIGIvcmVwb3NpdG9yeS5oCkBAIC02LDkgKzYsMzkgQEAKIHN0cnVjdCBjb25maWdfc2V0Owogc3RydWN0IGdpdF9oYXNoX2FsZ287CiBzdHJ1Y3QgaW5kZXhfc3RhdGU7CitzdHJ1Y3QgbG9ja19maWxlOworc3RydWN0IHBhdGhzcGVjOwogc3RydWN0IHJhd19vYmplY3Rfc3RvcmU7CiBzdHJ1Y3Qgc3VibW9kdWxlX2NhY2hlOwogCitlbnVtIHVudHJhY2tlZF9jYWNoZV9zZXR0aW5nIHsKKwlVTlRSQUNLRURfQ0FDSEVfVU5TRVQgPSAtMSwKKwlVTlRSQUNLRURfQ0FDSEVfUkVNT1ZFID0gMCwKKwlVTlRSQUNLRURfQ0FDSEVfS0VFUCA9IDEsCisJVU5UUkFDS0VEX0NBQ0hFX1dSSVRFID0gMgorfTsKKworZW51bSBmZXRjaF9uZWdvdGlhdGlvbl9zZXR0aW5nIHsKKwlGRVRDSF9ORUdPVElBVElPTl9VTlNFVCA9IC0xLAorCUZFVENIX05FR09USUFUSU9OX05PTkUgPSAwLAorCUZFVENIX05FR09USUFUSU9OX0RFRkFVTFQgPSAxLAorCUZFVENIX05FR09USUFUSU9OX1NLSVBQSU5HID0gMiwKK307CisKK3N0cnVjdCByZXBvX3NldHRpbmdzIHsKKwlpbnQgaW5pdGlhbGl6ZWQ7CisKKwlpbnQgY29yZV9jb21taXRfZ3JhcGg7CisJaW50IGdjX3dyaXRlX2NvbW1pdF9ncmFwaDsKKwlpbnQgZmV0Y2hfd3JpdGVfY29tbWl0X2dyYXBoOworCisJaW50IGluZGV4X3ZlcnNpb247CisJZW51bSB1bnRyYWNrZWRfY2FjaGVfc2V0dGluZyBjb3JlX3VudHJhY2tlZF9jYWNoZTsKKworCWludCBwYWNrX3VzZV9zcGFyc2U7CisJZW51bSBmZXRjaF9uZWdvdGlhdGlvbl9zZXR0aW5nIGZldGNoX25lZ290aWF0aW9uX2FsZ29yaXRobTsKK307CisKIHN0cnVjdCByZXBvc2l0b3J5IHsKIAkvKiBFbnZpcm9ubWVudCAqLwogCS8qCkBAIC03MCw2ICsxMDAsOCBAQAogCSAqLwogCWNoYXIgKnN1Ym1vZHVsZV9wcmVmaXg7CiAKKwlzdHJ1Y3QgcmVwb19zZXR0aW5ncyBzZXR0aW5nczsKKwogCS8qIFN1YnN5c3RlbXMgKi8KIAkvKgogCSAqIFJlcG9zaXRvcnkncyBjb25maWcgd2hpY2ggY29udGFpbnMga2V5LXZhbHVlIHBhaXJzIGZyb20gdGhlIHVzdWFsCkBAIC05MCw2ICsxMjIsMTIgQEAKIAkvKiBSZXBvc2l0b3J5J3MgY3VycmVudCBoYXNoIGFsZ29yaXRobSwgYXMgc2VyaWFsaXplZCBvbiBkaXNrLiAqLwogCWNvbnN0IHN0cnVjdCBnaXRfaGFzaF9hbGdvICpoYXNoX2FsZ287CiAKKwkvKiBBIHVuaXF1ZS1pZCBmb3IgdHJhY2luZyBwdXJwb3Nlcy4gKi8KKwlpbnQgdHJhY2UyX3JlcG9faWQ7CisKKwkvKiBUcnVlIGlmIGNvbW1pdC1ncmFwaCBoYXMgYmVlbiBkaXNhYmxlZCB3aXRoaW4gdGhpcyBwcm9jZXNzLiAqLworCWludCBjb21taXRfZ3JhcGhfZGlzYWJsZWQ7CisKIAkvKiBDb25maWd1cmF0aW9ucyAqLwogCiAJLyogSW5kaWNhdGUgaWYgYSByZXBvc2l0b3J5IGhhcyBhIGRpZmZlcmVudCAnY29tbW9uZGlyJyBmcm9tICdnaXRkaXInICovCkBAIC0xMTYsOSArMTU0LDE3IEBACiB2b2lkIHJlcG9fc2V0X2hhc2hfYWxnbyhzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgaW50IGFsZ28pOwogdm9pZCBpbml0aWFsaXplX3RoZV9yZXBvc2l0b3J5KHZvaWQpOwogaW50IHJlcG9faW5pdChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqZ2l0ZGlyLCBjb25zdCBjaGFyICp3b3JrdHJlZSk7Ci1pbnQgcmVwb19zdWJtb2R1bGVfaW5pdChzdHJ1Y3QgcmVwb3NpdG9yeSAqc3VibW9kdWxlLAorCisvKgorICogSW5pdGlhbGl6ZSB0aGUgcmVwb3NpdG9yeSAnc3VicmVwbycgYXMgdGhlIHN1Ym1vZHVsZSBnaXZlbiBieSB0aGUKKyAqIHN0cnVjdCBzdWJtb2R1bGUgJ3N1YicgaW4gcGFyZW50IHJlcG9zaXRvcnkgJ3N1cGVycHJvamVjdCcuCisgKiBSZXR1cm4gMCB1cG9uIHN1Y2Nlc3MgYW5kIGEgbm9uLXplcm8gdmFsdWUgdXBvbiBmYWlsdXJlLCB3aGljaCBtYXkgaGFwcGVuCisgKiBpZiB0aGUgc3VibW9kdWxlIGlzIG5vdCBmb3VuZCwgb3IgJ3N1YicgaXMgTlVMTC4KKyAqLworc3RydWN0IHN1Ym1vZHVsZTsKK2ludCByZXBvX3N1Ym1vZHVsZV9pbml0KHN0cnVjdCByZXBvc2l0b3J5ICpzdWJyZXBvLAogCQkJc3RydWN0IHJlcG9zaXRvcnkgKnN1cGVycHJvamVjdCwKLQkJCWNvbnN0IGNoYXIgKnBhdGgpOworCQkJY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3ViKTsKIHZvaWQgcmVwb19jbGVhcihzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbyk7CiAKIC8qCkBAIC0xMjYsOSArMTcyLDI0IEBACiAgKiBiZSBhbGxvY2F0ZWQgaWYgbmVlZGVkLgogICoKICAqIFJldHVybiB0aGUgbnVtYmVyIG9mIGluZGV4IGVudHJpZXMgaW4gdGhlIHBvcHVsYXRlZCBpbmRleCBvciBhIHZhbHVlIGxlc3MKLSAqIHRoYW4gemVybyBpZiBhbiBlcnJvciBvY2N1cmVkLiAgSWYgdGhlIHJlcG9zaXRvcnkncyBpbmRleCBoYXMgYWxyZWFkeSBiZWVuCisgKiB0aGFuIHplcm8gaWYgYW4gZXJyb3Igb2NjdXJyZWQuICBJZiB0aGUgcmVwb3NpdG9yeSdzIGluZGV4IGhhcyBhbHJlYWR5IGJlZW4KICAqIHBvcHVsYXRlZCB0aGVuIHRoZSBudW1iZXIgb2YgZW50cmllcyB3aWxsIHNpbXBseSBiZSByZXR1cm5lZC4KICAqLwogaW50IHJlcG9fcmVhZF9pbmRleChzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbyk7CitpbnQgcmVwb19ob2xkX2xvY2tlZF9pbmRleChzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCSAgIHN0cnVjdCBsb2NrX2ZpbGUgKmxmLAorCQkJICAgaW50IGZsYWdzKTsKKworaW50IHJlcG9fcmVhZF9pbmRleF9wcmVsb2FkKHN0cnVjdCByZXBvc2l0b3J5ICosCisJCQkgICAgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKKwkJCSAgICB1bnNpZ25lZCByZWZyZXNoX2ZsYWdzKTsKK2ludCByZXBvX3JlYWRfaW5kZXhfdW5tZXJnZWQoc3RydWN0IHJlcG9zaXRvcnkgKik7CisvKgorICogT3Bwb3J0dW5pc3RpY2FsbHkgdXBkYXRlIHRoZSBpbmRleCBidXQgZG8gbm90IGNvbXBsYWluIGlmIHdlIGNhbid0LgorICogVGhlIGxvY2tmaWxlIGlzIGFsd2F5cyBjb21taXR0ZWQgb3Igcm9sbGVkIGJhY2suCisgKi8KK3ZvaWQgcmVwb191cGRhdGVfaW5kZXhfaWZfYWJsZShzdHJ1Y3QgcmVwb3NpdG9yeSAqLCBzdHJ1Y3QgbG9ja19maWxlICopOworCit2b2lkIHByZXBhcmVfcmVwb19zZXR0aW5ncyhzdHJ1Y3QgcmVwb3NpdG9yeSAqcik7CiAKICNlbmRpZiAvKiBSRVBPU0lUT1JZX0ggKi8KZGlmZiAtLWdpdCBhL3JlcmVyZS5jIGIvcmVyZXJlLmMKaW5kZXggYjViMjM1Ny4uOTI4MTEzMSAxMDA2NDQKLS0tIGEvcmVyZXJlLmMKKysrIGIvcmVyZXJlLmMKQEAgLTUyLDcgKzUyLDcgQEAKIAogc3RhdGljIGNvbnN0IGNoYXIgKnJlcmVyZV9pZF9oZXgoY29uc3Qgc3RydWN0IHJlcmVyZV9pZCAqaWQpCiB7Ci0JcmV0dXJuIHNoYTFfdG9faGV4KGlkLT5jb2xsZWN0aW9uLT5oYXNoKTsKKwlyZXR1cm4gaGFzaF90b19oZXgoaWQtPmNvbGxlY3Rpb24tPmhhc2gpOwogfQogCiBzdGF0aWMgdm9pZCBmaXRfdmFyaWFudChzdHJ1Y3QgcmVyZXJlX2RpciAqcnJfZGlyLCBpbnQgdmFyaWFudCkKQEAgLTExNSw3ICsxMTUsNyBAQAogc3RhdGljIHZvaWQgc2Nhbl9yZXJlcmVfZGlyKHN0cnVjdCByZXJlcmVfZGlyICpycl9kaXIpCiB7CiAJc3RydWN0IGRpcmVudCAqZGU7Ci0JRElSICpkaXIgPSBvcGVuZGlyKGdpdF9wYXRoKCJyci1jYWNoZS8lcyIsIHNoYTFfdG9faGV4KHJyX2Rpci0+aGFzaCkpKTsKKwlESVIgKmRpciA9IG9wZW5kaXIoZ2l0X3BhdGgoInJyLWNhY2hlLyVzIiwgaGFzaF90b19oZXgocnJfZGlyLT5oYXNoKSkpOwogCiAJaWYgKCFkaXIpCiAJCXJldHVybjsKQEAgLTE4Niw5ICsxODYsOSBAQAogCXJldHVybiBpZDsKIH0KIAotc3RhdGljIHN0cnVjdCByZXJlcmVfaWQgKm5ld19yZXJlcmVfaWQodW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyBzdHJ1Y3QgcmVyZXJlX2lkICpuZXdfcmVyZXJlX2lkKHVuc2lnbmVkIGNoYXIgKmhhc2gpCiB7Ci0JcmV0dXJuIG5ld19yZXJlcmVfaWRfaGV4KHNoYTFfdG9faGV4KHNoYTEpKTsKKwlyZXR1cm4gbmV3X3JlcmVyZV9pZF9oZXgoaGFzaF90b19oZXgoaGFzaCkpOwogfQogCiAvKgpAQCAtMTk4LDEwICsxOTgsMTAgQEAKICAqIHdvcmsgb24gKGkuZS4gd2hhdCBpcyBsZWZ0IGJ5IHRoZSBwcmV2aW91cyBpbnZvY2F0aW9uIG9mICJnaXQKICAqIHJlcmVyZSIgZHVyaW5nIHRoZSBjdXJyZW50IGNvbmZsaWN0IHJlc29sdXRpb24gc2Vzc2lvbikuCiAgKi8KLXN0YXRpYyB2b2lkIHJlYWRfcnIoc3RydWN0IHN0cmluZ19saXN0ICpycikKK3N0YXRpYyB2b2lkIHJlYWRfcnIoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBzdHJpbmdfbGlzdCAqcnIpCiB7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQlGSUxFICppbiA9IGZvcGVuX29yX3dhcm4oZ2l0X3BhdGhfbWVyZ2VfcnIodGhlX3JlcG9zaXRvcnkpLCAiciIpOworCUZJTEUgKmluID0gZm9wZW5fb3Jfd2FybihnaXRfcGF0aF9tZXJnZV9ycihyKSwgInIiKTsKIAogCWlmICghaW4pCiAJCXJldHVybjsKQEAgLTQzMSw3ICs0MzEsNyBAQAogICogYW5kIE5VTCBjb25jYXRlbmF0ZWQgdG9nZXRoZXIuCiAgKgogICogUmV0dXJuIDEgaWYgY29uZmxpY3QgaHVua3MgYXJlIGZvdW5kLCAwIGlmIHRoZXJlIGFyZSBubyBjb25mbGljdAotICogaHVua3MgYW5kIC0xIGlmIGFuIGVycm9yIG9jY3VyZWQuCisgKiBodW5rcyBhbmQgLTEgaWYgYW4gZXJyb3Igb2NjdXJyZWQuCiAgKi8KIHN0YXRpYyBpbnQgaGFuZGxlX3BhdGgodW5zaWduZWQgY2hhciAqaGFzaCwgc3RydWN0IHJlcmVyZV9pbyAqaW8sIGludCBtYXJrZXJfc2l6ZSkKIHsKQEAgLTU2MSw3ICs1NjEsNyBAQAogewogCWludCBpOwogCi0JaWYgKHJlYWRfaW5kZXgoci0+aW5kZXgpIDwgMCkKKwlpZiAocmVwb19yZWFkX2luZGV4KHIpIDwgMCkKIAkJcmV0dXJuIGVycm9yKF8oImluZGV4IGZpbGUgY29ycnVwdCIpKTsKIAogCWZvciAoaSA9IDA7IGkgPCByLT5pbmRleC0+Y2FjaGVfbnI7KSB7CkBAIC01OTMsOSArNTkzLDkgQEAKIHsKIAlpbnQgaTsKIAotCWlmIChzZXR1cF9yZXJlcmUobWVyZ2VfcnIsIFJFUkVSRV9SRUFET05MWSkpCisJaWYgKHNldHVwX3JlcmVyZShyLCBtZXJnZV9yciwgUkVSRVJFX1JFQURPTkxZKSkKIAkJcmV0dXJuIDA7Ci0JaWYgKHJlYWRfaW5kZXgoci0+aW5kZXgpIDwgMCkKKwlpZiAocmVwb19yZWFkX2luZGV4KHIpIDwgMCkKIAkJcmV0dXJuIGVycm9yKF8oImluZGV4IGZpbGUgY29ycnVwdCIpKTsKIAogCWZvciAoaSA9IDA7IGkgPCByLT5pbmRleC0+Y2FjaGVfbnI7KSB7CkBAIC03MDUsNyArNzA1LDcgQEAKIAlzdHJ1Y3QgbG9ja19maWxlIGluZGV4X2xvY2sgPSBMT0NLX0lOSVQ7CiAJaW50IGk7CiAKLQlob2xkX2xvY2tlZF9pbmRleCgmaW5kZXhfbG9jaywgTE9DS19ESUVfT05fRVJST1IpOworCXJlcG9faG9sZF9sb2NrZWRfaW5kZXgociwgJmluZGV4X2xvY2ssIExPQ0tfRElFX09OX0VSUk9SKTsKIAogCWZvciAoaSA9IDA7IGkgPCB1cGRhdGUtPm5yOyBpKyspIHsKIAkJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0ZW0gPSAmdXBkYXRlLT5pdGVtc1tpXTsKQEAgLTg4Miw3ICs4ODIsNyBAQAogCXJldHVybiAxOwogfQogCi1pbnQgc2V0dXBfcmVyZXJlKHN0cnVjdCBzdHJpbmdfbGlzdCAqbWVyZ2VfcnIsIGludCBmbGFncykKK2ludCBzZXR1cF9yZXJlcmUoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBzdHJpbmdfbGlzdCAqbWVyZ2VfcnIsIGludCBmbGFncykKIHsKIAlpbnQgZmQ7CiAKQEAgLTg5Niw5ICs4OTYsOSBAQAogCQlmZCA9IDA7CiAJZWxzZQogCQlmZCA9IGhvbGRfbG9ja19maWxlX2Zvcl91cGRhdGUoJndyaXRlX2xvY2ssCi0JCQkJCSAgICAgICBnaXRfcGF0aF9tZXJnZV9ycih0aGVfcmVwb3NpdG9yeSksCisJCQkJCSAgICAgICBnaXRfcGF0aF9tZXJnZV9ycihyKSwKIAkJCQkJICAgICAgIExPQ0tfRElFX09OX0VSUk9SKTsKLQlyZWFkX3JyKG1lcmdlX3JyKTsKKwlyZWFkX3JyKHIsIG1lcmdlX3JyKTsKIAlyZXR1cm4gZmQ7CiB9CiAKQEAgLTkxMiw3ICs5MTIsNyBAQAogCXN0cnVjdCBzdHJpbmdfbGlzdCBtZXJnZV9yciA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwogCWludCBmZCwgc3RhdHVzOwogCi0JZmQgPSBzZXR1cF9yZXJlcmUoJm1lcmdlX3JyLCBmbGFncyk7CisJZmQgPSBzZXR1cF9yZXJlcmUociwgJm1lcmdlX3JyLCBmbGFncyk7CiAJaWYgKGZkIDwgMCkKIAkJcmV0dXJuIDA7CiAJc3RhdHVzID0gZG9fcGxhaW5fcmVyZXJlKHIsICZtZXJnZV9yciwgZmQpOwpAQCAtMTEwNywxMCArMTEwNywxMCBAQAogCXN0cnVjdCBzdHJpbmdfbGlzdCBjb25mbGljdCA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwogCXN0cnVjdCBzdHJpbmdfbGlzdCBtZXJnZV9yciA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwogCi0JaWYgKHJlYWRfaW5kZXgoci0+aW5kZXgpIDwgMCkKKwlpZiAocmVwb19yZWFkX2luZGV4KHIpIDwgMCkKIAkJcmV0dXJuIGVycm9yKF8oImluZGV4IGZpbGUgY29ycnVwdCIpKTsKIAotCWZkID0gc2V0dXBfcmVyZXJlKCZtZXJnZV9yciwgUkVSRVJFX05PQVVUT1VQREFURSk7CisJZmQgPSBzZXR1cF9yZXJlcmUociwgJm1lcmdlX3JyLCBSRVJFUkVfTk9BVVRPVVBEQVRFKTsKIAlpZiAoZmQgPCAwKQogCQlyZXR1cm4gMDsKIApAQCAtMTE3OCw3ICsxMTc4LDcgQEAKIAkJdW5saW5rX3JyX2l0ZW0oaWQpOwogfQogCi12b2lkIHJlcmVyZV9nYyhzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnJyKQordm9pZCByZXJlcmVfZ2Moc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBzdHJpbmdfbGlzdCAqcnIpCiB7CiAJc3RydWN0IHN0cmluZ19saXN0IHRvX3JlbW92ZSA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwogCURJUiAqZGlyOwpAQCAtMTE4OCw3ICsxMTg4LDcgQEAKIAl0aW1lc3RhbXBfdCBjdXRvZmZfbm9yZXNvbHZlID0gbm93IC0gMTUgKiA4NjQwMDsKIAl0aW1lc3RhbXBfdCBjdXRvZmZfcmVzb2x2ZSA9IG5vdyAtIDYwICogODY0MDA7CiAKLQlpZiAoc2V0dXBfcmVyZXJlKHJyLCAwKSA8IDApCisJaWYgKHNldHVwX3JlcmVyZShyLCByciwgMCkgPCAwKQogCQlyZXR1cm47CiAKIAlnaXRfY29uZmlnX2dldF9leHBpcnlfaW5fZGF5cygiZ2MucmVyZXJlcmVzb2x2ZWQiLCAmY3V0b2ZmX3Jlc29sdmUsIG5vdyk7CkBAIC0xMjM2LDExICsxMjM2LDExIEBACiAgKgogICogTkVFRFNXT1JLOiBzaG91bGRuJ3Qgd2UgYmUgY2FsbGluZyB0aGlzIGZyb20gInJlc2V0IC0taGFyZCI/CiAgKi8KLXZvaWQgcmVyZXJlX2NsZWFyKHN0cnVjdCBzdHJpbmdfbGlzdCAqbWVyZ2VfcnIpCit2b2lkIHJlcmVyZV9jbGVhcihzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHN0cmluZ19saXN0ICptZXJnZV9ycikKIHsKIAlpbnQgaTsKIAotCWlmIChzZXR1cF9yZXJlcmUobWVyZ2VfcnIsIDApIDwgMCkKKwlpZiAoc2V0dXBfcmVyZXJlKHIsIG1lcmdlX3JyLCAwKSA8IDApCiAJCXJldHVybjsKIAogCWZvciAoaSA9IDA7IGkgPCBtZXJnZV9yci0+bnI7IGkrKykgewpAQCAtMTI1MCw2ICsxMjUwLDYgQEAKIAkJCXJtZGlyKHJlcmVyZV9wYXRoKGlkLCBOVUxMKSk7CiAJCX0KIAl9Ci0JdW5saW5rX29yX3dhcm4oZ2l0X3BhdGhfbWVyZ2VfcnIodGhlX3JlcG9zaXRvcnkpKTsKKwl1bmxpbmtfb3Jfd2FybihnaXRfcGF0aF9tZXJnZV9ycihyKSk7CiAJcm9sbGJhY2tfbG9ja19maWxlKCZ3cml0ZV9sb2NrKTsKIH0KZGlmZiAtLWdpdCBhL3JlcmVyZS5oIGIvcmVyZXJlLmgKaW5kZXggNWFkODg2NC4uYzMyZDc5YyAxMDA2NDQKLS0tIGEvcmVyZXJlLmgKKysrIGIvcmVyZXJlLmgKQEAgLTIzLDcgKzIzLDcgQEAKIAlpbnQgdmFyaWFudDsKIH07CiAKLWludCBzZXR1cF9yZXJlcmUoc3RydWN0IHN0cmluZ19saXN0ICosIGludCk7CitpbnQgc2V0dXBfcmVyZXJlKHN0cnVjdCByZXBvc2l0b3J5ICosc3RydWN0IHN0cmluZ19saXN0ICosIGludCk7CiAjaWZuZGVmIE5PX1RIRV9SRVBPU0lUT1JZX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjZGVmaW5lIHJlcmVyZShmbGFncykgcmVwb19yZXJlcmUodGhlX3JlcG9zaXRvcnksIGZsYWdzKQogI2VuZGlmCkBAIC0zNyw4ICszNyw4IEBACiBjb25zdCBjaGFyICpyZXJlcmVfcGF0aChjb25zdCBzdHJ1Y3QgcmVyZXJlX2lkICosIGNvbnN0IGNoYXIgKmZpbGUpOwogaW50IHJlcmVyZV9mb3JnZXQoc3RydWN0IHJlcG9zaXRvcnkgKiwgc3RydWN0IHBhdGhzcGVjICopOwogaW50IHJlcmVyZV9yZW1haW5pbmcoc3RydWN0IHJlcG9zaXRvcnkgKiwgc3RydWN0IHN0cmluZ19saXN0ICopOwotdm9pZCByZXJlcmVfY2xlYXIoc3RydWN0IHN0cmluZ19saXN0ICopOwotdm9pZCByZXJlcmVfZ2Moc3RydWN0IHN0cmluZ19saXN0ICopOwordm9pZCByZXJlcmVfY2xlYXIoc3RydWN0IHJlcG9zaXRvcnkgKiwgc3RydWN0IHN0cmluZ19saXN0ICopOwordm9pZCByZXJlcmVfZ2Moc3RydWN0IHJlcG9zaXRvcnkgKiwgc3RydWN0IHN0cmluZ19saXN0ICopOwogCiAjZGVmaW5lIE9QVF9SRVJFUkVfQVVUT1VQREFURSh2KSBPUFRfVVlOKDAsICJyZXJlcmUtYXV0b3VwZGF0ZSIsICh2KSwgXAogCU5fKCJ1cGRhdGUgdGhlIGluZGV4IHdpdGggcmV1c2VkIGNvbmZsaWN0IHJlc29sdXRpb24gaWYgcG9zc2libGUiKSkKZGlmZiAtLWdpdCBhL3Jlc29sdmUtdW5kby5oIGIvcmVzb2x2ZS11bmRvLmgKaW5kZXggZmJlMzQ4ZS4uMmIzZjBmOSAxMDA2NDQKLS0tIGEvcmVzb2x2ZS11bmRvLmgKKysrIGIvcmVzb2x2ZS11bmRvLmgKQEAgLTgsMTIgKzgsMTIgQEAKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZFszXTsKIH07CiAKLWV4dGVybiB2b2lkIHJlY29yZF9yZXNvbHZlX3VuZG8oc3RydWN0IGluZGV4X3N0YXRlICosIHN0cnVjdCBjYWNoZV9lbnRyeSAqKTsKLWV4dGVybiB2b2lkIHJlc29sdmVfdW5kb193cml0ZShzdHJ1Y3Qgc3RyYnVmICosIHN0cnVjdCBzdHJpbmdfbGlzdCAqKTsKLWV4dGVybiBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnJlc29sdmVfdW5kb19yZWFkKGNvbnN0IGNoYXIgKiwgdW5zaWduZWQgbG9uZyk7Ci1leHRlcm4gdm9pZCByZXNvbHZlX3VuZG9fY2xlYXJfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICopOwotZXh0ZXJuIGludCB1bm1lcmdlX2luZGV4X2VudHJ5X2F0KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBpbnQpOwotZXh0ZXJuIHZvaWQgdW5tZXJnZV9pbmRleChzdHJ1Y3QgaW5kZXhfc3RhdGUgKiwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICopOwotZXh0ZXJuIHZvaWQgdW5tZXJnZV9tYXJrZWRfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICopOwordm9pZCByZWNvcmRfcmVzb2x2ZV91bmRvKHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBzdHJ1Y3QgY2FjaGVfZW50cnkgKik7Cit2b2lkIHJlc29sdmVfdW5kb193cml0ZShzdHJ1Y3Qgc3RyYnVmICosIHN0cnVjdCBzdHJpbmdfbGlzdCAqKTsKK3N0cnVjdCBzdHJpbmdfbGlzdCAqcmVzb2x2ZV91bmRvX3JlYWQoY29uc3QgY2hhciAqLCB1bnNpZ25lZCBsb25nKTsKK3ZvaWQgcmVzb2x2ZV91bmRvX2NsZWFyX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqKTsKK2ludCB1bm1lcmdlX2luZGV4X2VudHJ5X2F0KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBpbnQpOwordm9pZCB1bm1lcmdlX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKik7Cit2b2lkIHVubWVyZ2VfbWFya2VkX2luZGV4KHN0cnVjdCBpbmRleF9zdGF0ZSAqKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9yZXZpc2lvbi5jIGIvcmV2aXNpb24uYwppbmRleCAxM2UwNTE5Li44MTM2OTI5IDEwMDY0NAotLS0gYS9yZXZpc2lvbi5jCisrKyBiL3JldmlzaW9uLmMKQEAgLTI3LDYgKzI3LDggQEAKICNpbmNsdWRlICJjb21taXQtcmVhY2guaCIKICNpbmNsdWRlICJjb21taXQtZ3JhcGguaCIKICNpbmNsdWRlICJwcmlvLXF1ZXVlLmgiCisjaW5jbHVkZSAiaGFzaG1hcC5oIgorI2luY2x1ZGUgInV0ZjguaCIKIAogdm9sYXRpbGUgc2hvd19lYXJseV9vdXRwdXRfZm5fdCBzaG93X2Vhcmx5X291dHB1dDsKIApAQCAtNjcsMTAgKzY5LDEwIEBACiAJd2hpbGUgKHRyZWVfZW50cnkoJmRlc2MsICZlbnRyeSkpIHsKIAkJc3dpdGNoIChvYmplY3RfdHlwZShlbnRyeS5tb2RlKSkgewogCQljYXNlIE9CSl9UUkVFOgotCQkJbWFya190cmVlX3VuaW50ZXJlc3RpbmcociwgbG9va3VwX3RyZWUociwgZW50cnkub2lkKSk7CisJCQltYXJrX3RyZWVfdW5pbnRlcmVzdGluZyhyLCBsb29rdXBfdHJlZShyLCAmZW50cnkub2lkKSk7CiAJCQlicmVhazsKIAkJY2FzZSBPQkpfQkxPQjoKLQkJCW1hcmtfYmxvYl91bmludGVyZXN0aW5nKGxvb2t1cF9ibG9iKHIsIGVudHJ5Lm9pZCkpOworCQkJbWFya19ibG9iX3VuaW50ZXJlc3RpbmcobG9va3VwX2Jsb2IociwgJmVudHJ5Lm9pZCkpOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQkvKiBTdWJwcm9qZWN0IGNvbW1pdCAtIG5vdCBpbiB0aGlzIHJlcG9zaXRvcnkgKi8KQEAgLTk5LDYgKzEwMSwxNTIgQEAKIAltYXJrX3RyZWVfY29udGVudHNfdW5pbnRlcmVzdGluZyhyLCB0cmVlKTsKIH0KIAorc3RydWN0IHBhdGhfYW5kX29pZHNfZW50cnkgeworCXN0cnVjdCBoYXNobWFwX2VudHJ5IGVudDsKKwljaGFyICpwYXRoOworCXN0cnVjdCBvaWRzZXQgdHJlZXM7Cit9OworCitzdGF0aWMgaW50IHBhdGhfYW5kX29pZHNfY21wKGNvbnN0IHZvaWQgKmhhc2htYXBfY21wX2ZuX2RhdGEsCisJCQkgICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplcHRyLAorCQkJICAgICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZW50cnlfb3Jfa2V5LAorCQkJICAgICBjb25zdCB2b2lkICprZXlkYXRhKQoreworCWNvbnN0IHN0cnVjdCBwYXRoX2FuZF9vaWRzX2VudHJ5ICplMSwgKmUyOworCisJZTEgPSBjb250YWluZXJfb2YoZXB0ciwgY29uc3Qgc3RydWN0IHBhdGhfYW5kX29pZHNfZW50cnksIGVudCk7CisJZTIgPSBjb250YWluZXJfb2YoZW50cnlfb3Jfa2V5LCBjb25zdCBzdHJ1Y3QgcGF0aF9hbmRfb2lkc19lbnRyeSwgZW50KTsKKworCXJldHVybiBzdHJjbXAoZTEtPnBhdGgsIGUyLT5wYXRoKTsKK30KKworc3RhdGljIHZvaWQgcGF0aHNfYW5kX29pZHNfaW5pdChzdHJ1Y3QgaGFzaG1hcCAqbWFwKQoreworCWhhc2htYXBfaW5pdChtYXAsIHBhdGhfYW5kX29pZHNfY21wLCBOVUxMLCAwKTsKK30KKworc3RhdGljIHZvaWQgcGF0aHNfYW5kX29pZHNfY2xlYXIoc3RydWN0IGhhc2htYXAgKm1hcCkKK3sKKwlzdHJ1Y3QgaGFzaG1hcF9pdGVyIGl0ZXI7CisJc3RydWN0IHBhdGhfYW5kX29pZHNfZW50cnkgKmVudHJ5OworCisJaGFzaG1hcF9mb3JfZWFjaF9lbnRyeShtYXAsICZpdGVyLCBlbnRyeSwgZW50IC8qIG1lbWJlciBuYW1lICovKSB7CisJCW9pZHNldF9jbGVhcigmZW50cnktPnRyZWVzKTsKKwkJZnJlZShlbnRyeS0+cGF0aCk7CisJfQorCisJaGFzaG1hcF9mcmVlX2VudHJpZXMobWFwLCBzdHJ1Y3QgcGF0aF9hbmRfb2lkc19lbnRyeSwgZW50KTsKK30KKworc3RhdGljIHZvaWQgcGF0aHNfYW5kX29pZHNfaW5zZXJ0KHN0cnVjdCBoYXNobWFwICptYXAsCisJCQkJICBjb25zdCBjaGFyICpwYXRoLAorCQkJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQoreworCWludCBoYXNoID0gc3RyaGFzaChwYXRoKTsKKwlzdHJ1Y3QgcGF0aF9hbmRfb2lkc19lbnRyeSBrZXk7CisJc3RydWN0IHBhdGhfYW5kX29pZHNfZW50cnkgKmVudHJ5OworCisJaGFzaG1hcF9lbnRyeV9pbml0KCZrZXkuZW50LCBoYXNoKTsKKworCS8qIHVzZSBhIHNoYWxsb3cgY29weSBmb3IgdGhlIGxvb2t1cCAqLworCWtleS5wYXRoID0gKGNoYXIgKilwYXRoOworCW9pZHNldF9pbml0KCZrZXkudHJlZXMsIDApOworCisJZW50cnkgPSBoYXNobWFwX2dldF9lbnRyeShtYXAsICZrZXksIGVudCwgTlVMTCk7CisJaWYgKCFlbnRyeSkgeworCQllbnRyeSA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBwYXRoX2FuZF9vaWRzX2VudHJ5KSk7CisJCWhhc2htYXBfZW50cnlfaW5pdCgmZW50cnktPmVudCwgaGFzaCk7CisJCWVudHJ5LT5wYXRoID0geHN0cmR1cChrZXkucGF0aCk7CisJCW9pZHNldF9pbml0KCZlbnRyeS0+dHJlZXMsIDE2KTsKKwkJaGFzaG1hcF9wdXQobWFwLCAmZW50cnktPmVudCk7CisJfQorCisJb2lkc2V0X2luc2VydCgmZW50cnktPnRyZWVzLCBvaWQpOworfQorCitzdGF0aWMgdm9pZCBhZGRfY2hpbGRyZW5fYnlfcGF0aChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkgc3RydWN0IHRyZWUgKnRyZWUsCisJCQkJIHN0cnVjdCBoYXNobWFwICptYXApCit7CisJc3RydWN0IHRyZWVfZGVzYyBkZXNjOworCXN0cnVjdCBuYW1lX2VudHJ5IGVudHJ5OworCisJaWYgKCF0cmVlKQorCQlyZXR1cm47CisKKwlpZiAocGFyc2VfdHJlZV9nZW50bHkodHJlZSwgMSkgPCAwKQorCQlyZXR1cm47CisKKwlpbml0X3RyZWVfZGVzYygmZGVzYywgdHJlZS0+YnVmZmVyLCB0cmVlLT5zaXplKTsKKwl3aGlsZSAodHJlZV9lbnRyeSgmZGVzYywgJmVudHJ5KSkgeworCQlzd2l0Y2ggKG9iamVjdF90eXBlKGVudHJ5Lm1vZGUpKSB7CisJCWNhc2UgT0JKX1RSRUU6CisJCQlwYXRoc19hbmRfb2lkc19pbnNlcnQobWFwLCBlbnRyeS5wYXRoLCAmZW50cnkub2lkKTsKKworCQkJaWYgKHRyZWUtPm9iamVjdC5mbGFncyAmIFVOSU5URVJFU1RJTkcpIHsKKwkJCQlzdHJ1Y3QgdHJlZSAqY2hpbGQgPSBsb29rdXBfdHJlZShyLCAmZW50cnkub2lkKTsKKwkJCQlpZiAoY2hpbGQpCisJCQkJCWNoaWxkLT5vYmplY3QuZmxhZ3MgfD0gVU5JTlRFUkVTVElORzsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIE9CSl9CTE9COgorCQkJaWYgKHRyZWUtPm9iamVjdC5mbGFncyAmIFVOSU5URVJFU1RJTkcpIHsKKwkJCQlzdHJ1Y3QgYmxvYiAqY2hpbGQgPSBsb29rdXBfYmxvYihyLCAmZW50cnkub2lkKTsKKwkJCQlpZiAoY2hpbGQpCisJCQkJCWNoaWxkLT5vYmplY3QuZmxhZ3MgfD0gVU5JTlRFUkVTVElORzsKKwkJCX0KKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJLyogU3VicHJvamVjdCBjb21taXQgLSBub3QgaW4gdGhpcyByZXBvc2l0b3J5ICovCisJCQlicmVhazsKKwkJfQorCX0KKworCWZyZWVfdHJlZV9idWZmZXIodHJlZSk7Cit9CisKK3ZvaWQgbWFya190cmVlc191bmludGVyZXN0aW5nX3NwYXJzZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkgICAgIHN0cnVjdCBvaWRzZXQgKnRyZWVzKQoreworCXVuc2lnbmVkIGhhc19pbnRlcmVzdGluZyA9IDAsIGhhc191bmludGVyZXN0aW5nID0gMDsKKwlzdHJ1Y3QgaGFzaG1hcCBtYXA7CisJc3RydWN0IGhhc2htYXBfaXRlciBtYXBfaXRlcjsKKwlzdHJ1Y3QgcGF0aF9hbmRfb2lkc19lbnRyeSAqZW50cnk7CisJc3RydWN0IG9iamVjdF9pZCAqb2lkOworCXN0cnVjdCBvaWRzZXRfaXRlciBpdGVyOworCisJb2lkc2V0X2l0ZXJfaW5pdCh0cmVlcywgJml0ZXIpOworCXdoaWxlICgoIWhhc19pbnRlcmVzdGluZyB8fCAhaGFzX3VuaW50ZXJlc3RpbmcpICYmCisJICAgICAgIChvaWQgPSBvaWRzZXRfaXRlcl9uZXh0KCZpdGVyKSkpIHsKKwkJc3RydWN0IHRyZWUgKnRyZWUgPSBsb29rdXBfdHJlZShyLCBvaWQpOworCisJCWlmICghdHJlZSkKKwkJCWNvbnRpbnVlOworCisJCWlmICh0cmVlLT5vYmplY3QuZmxhZ3MgJiBVTklOVEVSRVNUSU5HKQorCQkJaGFzX3VuaW50ZXJlc3RpbmcgPSAxOworCQllbHNlCisJCQloYXNfaW50ZXJlc3RpbmcgPSAxOworCX0KKworCS8qIERvIG5vdCB3YWxrIHVubGVzcyB3ZSBoYXZlIGJvdGggdHlwZXMgb2YgdHJlZXMuICovCisJaWYgKCFoYXNfdW5pbnRlcmVzdGluZyB8fCAhaGFzX2ludGVyZXN0aW5nKQorCQlyZXR1cm47CisKKwlwYXRoc19hbmRfb2lkc19pbml0KCZtYXApOworCisJb2lkc2V0X2l0ZXJfaW5pdCh0cmVlcywgJml0ZXIpOworCXdoaWxlICgob2lkID0gb2lkc2V0X2l0ZXJfbmV4dCgmaXRlcikpKSB7CisJCXN0cnVjdCB0cmVlICp0cmVlID0gbG9va3VwX3RyZWUociwgb2lkKTsKKwkJYWRkX2NoaWxkcmVuX2J5X3BhdGgociwgdHJlZSwgJm1hcCk7CisJfQorCisJaGFzaG1hcF9mb3JfZWFjaF9lbnRyeSgmbWFwLCAmbWFwX2l0ZXIsIGVudHJ5LCBlbnQgLyogbWVtYmVyIG5hbWUgKi8pCisJCW1hcmtfdHJlZXNfdW5pbnRlcmVzdGluZ19zcGFyc2UociwgJmVudHJ5LT50cmVlcyk7CisKKwlwYXRoc19hbmRfb2lkc19jbGVhcigmbWFwKTsKK30KKwogc3RydWN0IGNvbW1pdF9zdGFjayB7CiAJc3RydWN0IGNvbW1pdCAqKml0ZW1zOwogCXNpemVfdCBuciwgYWxsb2M7CkBAIC0yMTMsNyArMzYxLDIwIEBACiB7CiAJc3RydWN0IG9iamVjdCAqb2JqZWN0OwogCi0Jb2JqZWN0ID0gcGFyc2Vfb2JqZWN0KHJldnMtPnJlcG8sIG9pZCk7CisJLyoKKwkgKiBJZiB0aGUgcmVwb3NpdG9yeSBoYXMgY29tbWl0IGdyYXBocywgcmVwb19wYXJzZV9jb21taXQoKSBhdm9pZHMKKwkgKiByZWFkaW5nIHRoZSBvYmplY3QgYnVmZmVyLCBzbyB1c2UgaXQgd2hlbmV2ZXIgcG9zc2libGUuCisJICovCisJaWYgKG9pZF9vYmplY3RfaW5mbyhyZXZzLT5yZXBvLCBvaWQsIE5VTEwpID09IE9CSl9DT01NSVQpIHsKKwkJc3RydWN0IGNvbW1pdCAqYyA9IGxvb2t1cF9jb21taXQocmV2cy0+cmVwbywgb2lkKTsKKwkJaWYgKCFyZXBvX3BhcnNlX2NvbW1pdChyZXZzLT5yZXBvLCBjKSkKKwkJCW9iamVjdCA9IChzdHJ1Y3Qgb2JqZWN0ICopIGM7CisJCWVsc2UKKwkJCW9iamVjdCA9IE5VTEw7CisJfSBlbHNlIHsKKwkJb2JqZWN0ID0gcGFyc2Vfb2JqZWN0KHJldnMtPnJlcG8sIG9pZCk7CisJfQorCiAJaWYgKCFvYmplY3QpIHsKIAkJaWYgKHJldnMtPmlnbm9yZV9taXNzaW5nKQogCQkJcmV0dXJuIG9iamVjdDsKQEAgLTI0OCw5ICs0MDksNyBAQAogCQlzdHJ1Y3QgdGFnICp0YWcgPSAoc3RydWN0IHRhZyAqKSBvYmplY3Q7CiAJCWlmIChyZXZzLT50YWdfb2JqZWN0cyAmJiAhKGZsYWdzICYgVU5JTlRFUkVTVElORykpCiAJCQlhZGRfcGVuZGluZ19vYmplY3QocmV2cywgb2JqZWN0LCB0YWctPnRhZyk7Ci0JCWlmICghdGFnLT50YWdnZWQpCi0JCQlkaWUoImJhZCB0YWciKTsKLQkJb2JqZWN0ID0gcGFyc2Vfb2JqZWN0KHJldnMtPnJlcG8sICZ0YWctPnRhZ2dlZC0+b2lkKTsKKwkJb2JqZWN0ID0gcGFyc2Vfb2JqZWN0KHJldnMtPnJlcG8sIGdldF90YWdnZWRfb2lkKHRhZykpOwogCQlpZiAoIW9iamVjdCkgewogCQkJaWYgKHJldnMtPmlnbm9yZV9taXNzaW5nX2xpbmtzIHx8IChmbGFncyAmIFVOSU5URVJFU1RJTkcpKQogCQkJCXJldHVybiBOVUxMOwpAQCAtMjgwLDcgKzQzOSw5IEBACiAJCQlkaWUoInVuYWJsZSB0byBwYXJzZSBjb21taXQgJXMiLCBuYW1lKTsKIAkJaWYgKGZsYWdzICYgVU5JTlRFUkVTVElORykgewogCQkJbWFya19wYXJlbnRzX3VuaW50ZXJlc3RpbmcoY29tbWl0KTsKLQkJCXJldnMtPmxpbWl0ZWQgPSAxOworCisJCQlpZiAoIXJldnMtPnRvcG9fb3JkZXIgfHwgIWdlbmVyYXRpb25fbnVtYmVyc19lbmFibGVkKHRoZV9yZXBvc2l0b3J5KSkKKwkJCQlyZXZzLT5saW1pdGVkID0gMTsKIAkJfQogCQlpZiAocmV2cy0+c291cmNlcykgewogCQkJY2hhciAqKnNsb3QgPSByZXZpc2lvbl9zb3VyY2VzX2F0KHJldnMtPnNvdXJjZXMsIGNvbW1pdCk7CkBAIC03NTUsMjYgKzkxNiwxMSBAQAogCQljb21taXQtPm9iamVjdC5mbGFncyB8PSBUUkVFU0FNRTsKIH0KIAotc3RhdGljIHZvaWQgY29tbWl0X2xpc3RfaW5zZXJ0X2J5X2RhdGVfY2FjaGVkKHN0cnVjdCBjb21taXQgKnAsIHN0cnVjdCBjb21taXRfbGlzdCAqKmhlYWQsCi0JCSAgICBzdHJ1Y3QgY29tbWl0X2xpc3QgKmNhY2hlZF9iYXNlLCBzdHJ1Y3QgY29tbWl0X2xpc3QgKipjYWNoZSkKLXsKLQlzdHJ1Y3QgY29tbWl0X2xpc3QgKm5ld19lbnRyeTsKLQotCWlmIChjYWNoZWRfYmFzZSAmJiBwLT5kYXRlIDwgY2FjaGVkX2Jhc2UtPml0ZW0tPmRhdGUpCi0JCW5ld19lbnRyeSA9IGNvbW1pdF9saXN0X2luc2VydF9ieV9kYXRlKHAsICZjYWNoZWRfYmFzZS0+bmV4dCk7Ci0JZWxzZQotCQluZXdfZW50cnkgPSBjb21taXRfbGlzdF9pbnNlcnRfYnlfZGF0ZShwLCBoZWFkKTsKLQotCWlmIChjYWNoZSAmJiAoISpjYWNoZSB8fCBwLT5kYXRlIDwgKCpjYWNoZSktPml0ZW0tPmRhdGUpKQotCQkqY2FjaGUgPSBuZXdfZW50cnk7Ci19Ci0KIHN0YXRpYyBpbnQgcHJvY2Vzc19wYXJlbnRzKHN0cnVjdCByZXZfaW5mbyAqcmV2cywgc3RydWN0IGNvbW1pdCAqY29tbWl0LAotCQkJICAgc3RydWN0IGNvbW1pdF9saXN0ICoqbGlzdCwgc3RydWN0IGNvbW1pdF9saXN0ICoqY2FjaGVfcHRyKQorCQkJICAgc3RydWN0IGNvbW1pdF9saXN0ICoqbGlzdCwgc3RydWN0IHByaW9fcXVldWUgKnF1ZXVlKQogewogCXN0cnVjdCBjb21taXRfbGlzdCAqcGFyZW50ID0gY29tbWl0LT5wYXJlbnRzOwogCXVuc2lnbmVkIGxlZnRfZmxhZzsKLQlzdHJ1Y3QgY29tbWl0X2xpc3QgKmNhY2hlZF9iYXNlID0gY2FjaGVfcHRyID8gKmNhY2hlX3B0ciA6IE5VTEw7CiAKIAlpZiAoY29tbWl0LT5vYmplY3QuZmxhZ3MgJiBBRERFRCkKIAkJcmV0dXJuIDA7CkBAIC04MTAsNyArOTU2LDkgQEAKIAkJCQljb250aW51ZTsKIAkJCXAtPm9iamVjdC5mbGFncyB8PSBTRUVOOwogCQkJaWYgKGxpc3QpCi0JCQkJY29tbWl0X2xpc3RfaW5zZXJ0X2J5X2RhdGVfY2FjaGVkKHAsIGxpc3QsIGNhY2hlZF9iYXNlLCBjYWNoZV9wdHIpOworCQkJCWNvbW1pdF9saXN0X2luc2VydF9ieV9kYXRlKHAsIGxpc3QpOworCQkJaWYgKHF1ZXVlKQorCQkJCXByaW9fcXVldWVfcHV0KHF1ZXVlLCBwKTsKIAkJfQogCQlyZXR1cm4gMDsKIAl9CkBAIC04NTAsNyArOTk4LDkgQEAKIAkJaWYgKCEocC0+b2JqZWN0LmZsYWdzICYgU0VFTikpIHsKIAkJCXAtPm9iamVjdC5mbGFncyB8PSBTRUVOOwogCQkJaWYgKGxpc3QpCi0JCQkJY29tbWl0X2xpc3RfaW5zZXJ0X2J5X2RhdGVfY2FjaGVkKHAsIGxpc3QsIGNhY2hlZF9iYXNlLCBjYWNoZV9wdHIpOworCQkJCWNvbW1pdF9saXN0X2luc2VydF9ieV9kYXRlKHAsIGxpc3QpOworCQkJaWYgKHF1ZXVlKQorCQkJCXByaW9fcXVldWVfcHV0KHF1ZXVlLCBwKTsKIAkJfQogCQlpZiAocmV2cy0+Zmlyc3RfcGFyZW50X29ubHkpCiAJCQlicmVhazsKQEAgLTEzODQsNyArMTUzNCw3IEBACiB7CiAJc3RydWN0IHdvcmt0cmVlICoqd29ya3RyZWVzLCAqKnA7CiAKLQlyZWFkX2luZGV4KHJldnMtPnJlcG8tPmluZGV4KTsKKwlyZXBvX3JlYWRfaW5kZXgocmV2cy0+cmVwbyk7CiAJZG9fYWRkX2luZGV4X29iamVjdHNfdG9fcGVuZGluZyhyZXZzLCByZXZzLT5yZXBvLT5pbmRleCwgZmxhZ3MpOwogCiAJaWYgKHJldnMtPnNpbmdsZV93b3JrdHJlZSkKQEAgLTE0MDcsNiArMTU1NywzMiBAQAogCWZyZWVfd29ya3RyZWVzKHdvcmt0cmVlcyk7CiB9CiAKK3N0cnVjdCBhZGRfYWx0ZXJuYXRlX3JlZnNfZGF0YSB7CisJc3RydWN0IHJldl9pbmZvICpyZXZzOworCXVuc2lnbmVkIGludCBmbGFnczsKK307CisKK3N0YXRpYyB2b2lkIGFkZF9vbmVfYWx0ZXJuYXRlX3JlZihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkJICB2b2lkICp2ZGF0YSkKK3sKKwljb25zdCBjaGFyICpuYW1lID0gIi5hbHRlcm5hdGUiOworCXN0cnVjdCBhZGRfYWx0ZXJuYXRlX3JlZnNfZGF0YSAqZGF0YSA9IHZkYXRhOworCXN0cnVjdCBvYmplY3QgKm9iajsKKworCW9iaiA9IGdldF9yZWZlcmVuY2UoZGF0YS0+cmV2cywgbmFtZSwgb2lkLCBkYXRhLT5mbGFncyk7CisJYWRkX3Jldl9jbWRsaW5lKGRhdGEtPnJldnMsIG9iaiwgbmFtZSwgUkVWX0NNRF9SRVYsIGRhdGEtPmZsYWdzKTsKKwlhZGRfcGVuZGluZ19vYmplY3QoZGF0YS0+cmV2cywgb2JqLCBuYW1lKTsKK30KKworc3RhdGljIHZvaWQgYWRkX2FsdGVybmF0ZV9yZWZzX3RvX3BlbmRpbmcoc3RydWN0IHJldl9pbmZvICpyZXZzLAorCQkJCQkgIHVuc2lnbmVkIGludCBmbGFncykKK3sKKwlzdHJ1Y3QgYWRkX2FsdGVybmF0ZV9yZWZzX2RhdGEgZGF0YTsKKwlkYXRhLnJldnMgPSByZXZzOworCWRhdGEuZmxhZ3MgPSBmbGFnczsKKwlmb3JfZWFjaF9hbHRlcm5hdGVfcmVmKGFkZF9vbmVfYWx0ZXJuYXRlX3JlZiwgJmRhdGEpOworfQorCiBzdGF0aWMgaW50IGFkZF9wYXJlbnRzX29ubHkoc3RydWN0IHJldl9pbmZvICpyZXZzLCBjb25zdCBjaGFyICphcmdfLCBpbnQgZmxhZ3MsCiAJCQkgICAgaW50IGV4Y2x1ZGVfcGFyZW50KQogewpAQCAtMTQ2Myw2ICsxNjM5LDcgQEAKIAlyZXZzLT5hYmJyZXYgPSBERUZBVUxUX0FCQlJFVjsKIAlyZXZzLT5pZ25vcmVfbWVyZ2VzID0gMTsKIAlyZXZzLT5zaW1wbGlmeV9oaXN0b3J5ID0gMTsKKwlyZXZzLT5wcnVuaW5nLnJlcG8gPSByOwogCXJldnMtPnBydW5pbmcuZmxhZ3MucmVjdXJzaXZlID0gMTsKIAlyZXZzLT5wcnVuaW5nLmZsYWdzLnF1aWNrID0gMTsKIAlyZXZzLT5wcnVuaW5nLmFkZF9yZW1vdmUgPSBmaWxlX2FkZF9yZW1vdmU7CkBAIC0xNDkxLDEyICsxNjY4LDEyIEBACiAJCXJldnMtPmRpZmZvcHQucHJlZml4X2xlbmd0aCA9IHN0cmxlbihwcmVmaXgpOwogCX0KIAotCXJldnMtPm5vdGVzX29wdC51c2VfZGVmYXVsdF9ub3RlcyA9IC0xOworCWluaXRfZGlzcGxheV9ub3RlcygmcmV2cy0+bm90ZXNfb3B0KTsKIH0KIAogc3RhdGljIHZvaWQgYWRkX3BlbmRpbmdfY29tbWl0X2xpc3Qoc3RydWN0IHJldl9pbmZvICpyZXZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbW1pdF9saXN0ICpjb21taXRfbGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFncykKKwkJCQkgICAgc3RydWN0IGNvbW1pdF9saXN0ICpjb21taXRfbGlzdCwKKwkJCQkgICAgdW5zaWduZWQgaW50IGZsYWdzKQogewogCXdoaWxlIChjb21taXRfbGlzdCkgewogCQlzdHJ1Y3Qgb2JqZWN0ICpvYmplY3QgPSAmY29tbWl0X2xpc3QtPml0ZW0tPm9iamVjdDsKQEAgLTE1MzAsNyArMTcwNyw3IEBACiAJaGVhZC0+b2JqZWN0LmZsYWdzIHw9IFNZTU1FVFJJQ19MRUZUOwogCiAJaWYgKCFpc3RhdGUtPmNhY2hlX25yKQotCQlyZWFkX2luZGV4KGlzdGF0ZSk7CisJCXJlcG9fcmVhZF9pbmRleChyZXZzLT5yZXBvKTsKIAlmb3IgKGkgPSAwOyBpIDwgaXN0YXRlLT5jYWNoZV9ucjsgaSsrKSB7CiAJCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBpc3RhdGUtPmNhY2hlW2ldOwogCQlpZiAoIWNlX3N0YWdlKGNlKSkKQEAgLTE1ODksOCArMTc2Niw4IEBACiAJaWYgKCEqYl9uYW1lKQogCQliX25hbWUgPSAiSEVBRCI7CiAKLQlpZiAoZ2V0X29pZF93aXRoX2NvbnRleHQoYV9uYW1lLCBvY19mbGFncywgJmFfb2lkLCBhX29jKSB8fAotCSAgICBnZXRfb2lkX3dpdGhfY29udGV4dChiX25hbWUsIG9jX2ZsYWdzLCAmYl9vaWQsIGJfb2MpKQorCWlmIChnZXRfb2lkX3dpdGhfY29udGV4dChyZXZzLT5yZXBvLCBhX25hbWUsIG9jX2ZsYWdzLCAmYV9vaWQsIGFfb2MpIHx8CisJICAgIGdldF9vaWRfd2l0aF9jb250ZXh0KHJldnMtPnJlcG8sIGJfbmFtZSwgb2NfZmxhZ3MsICZiX29pZCwgYl9vYykpCiAJCXJldHVybiAtMTsKIAogCWlmICghY2FudF9iZV9maWxlbmFtZSkgewpAQCAtMTcyNCwxOCArMTkwMSwyMCBAQAogCWlmIChyZXZhcmdfb3B0ICYgUkVWQVJHX0NPTU1JVFRJU0gpCiAJCWdldF9zaGExX2ZsYWdzIHw9IEdFVF9PSURfQ09NTUlUVElTSDsKIAotCWlmIChnZXRfb2lkX3dpdGhfY29udGV4dChhcmcsIGdldF9zaGExX2ZsYWdzLCAmb2lkLCAmb2MpKQorCWlmIChnZXRfb2lkX3dpdGhfY29udGV4dChyZXZzLT5yZXBvLCBhcmcsIGdldF9zaGExX2ZsYWdzLCAmb2lkLCAmb2MpKQogCQlyZXR1cm4gcmV2cy0+aWdub3JlX21pc3NpbmcgPyAwIDogLTE7CiAJaWYgKCFjYW50X2JlX2ZpbGVuYW1lKQogCQl2ZXJpZnlfbm9uX2ZpbGVuYW1lKHJldnMtPnByZWZpeCwgYXJnKTsKIAlvYmplY3QgPSBnZXRfcmVmZXJlbmNlKHJldnMsIGFyZywgJm9pZCwgZmxhZ3MgXiBsb2NhbF9mbGFncyk7CisJaWYgKCFvYmplY3QpCisJCXJldHVybiByZXZzLT5pZ25vcmVfbWlzc2luZyA/IDAgOiAtMTsKIAlhZGRfcmV2X2NtZGxpbmUocmV2cywgb2JqZWN0LCBhcmdfLCBSRVZfQ01EX1JFViwgZmxhZ3MgXiBsb2NhbF9mbGFncyk7CiAJYWRkX3BlbmRpbmdfb2JqZWN0X3dpdGhfcGF0aChyZXZzLCBvYmplY3QsIGFyZywgb2MubW9kZSwgb2MucGF0aCk7CiAJZnJlZShvYy5wYXRoKTsKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgcmVhZF9wYXRoc3BlY19mcm9tX3N0ZGluKHN0cnVjdCByZXZfaW5mbyAqcmV2cywgc3RydWN0IHN0cmJ1ZiAqc2IsCitzdGF0aWMgdm9pZCByZWFkX3BhdGhzcGVjX2Zyb21fc3RkaW4oc3RydWN0IHN0cmJ1ZiAqc2IsCiAJCQkJICAgICBzdHJ1Y3QgYXJndl9hcnJheSAqcHJ1bmUpCiB7CiAJd2hpbGUgKHN0cmJ1Zl9nZXRsaW5lKHNiLCBzdGRpbikgIT0gRU9GKQpAQCAtMTc2OSw3ICsxOTQ4LDcgQEAKIAkJCWRpZSgiYmFkIHJldmlzaW9uICclcyciLCBzYi5idWYpOwogCX0KIAlpZiAoc2Vlbl9kYXNoZGFzaCkKLQkJcmVhZF9wYXRoc3BlY19mcm9tX3N0ZGluKHJldnMsICZzYiwgcHJ1bmUpOworCQlyZWFkX3BhdGhzcGVjX2Zyb21fc3RkaW4oJnNiLCBwcnVuZSk7CiAKIAlzdHJidWZfcmVsZWFzZSgmc2IpOwogCXdhcm5fb25fb2JqZWN0X3JlZm5hbWVfYW1iaWd1aXR5ID0gc2F2ZV93YXJuaW5nOwpAQCAtMTc5MSw3ICsxOTcwLDggQEAKIH0KIAogc3RhdGljIGludCBoYW5kbGVfcmV2aXNpb25fb3B0KHN0cnVjdCByZXZfaW5mbyAqcmV2cywgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LAotCQkJICAgICAgIGludCAqdW5rYywgY29uc3QgY2hhciAqKnVua3YpCisJCQkgICAgICAgaW50ICp1bmtjLCBjb25zdCBjaGFyICoqdW5rdiwKKwkJCSAgICAgICBjb25zdCBzdHJ1Y3Qgc2V0dXBfcmV2aXNpb25fb3B0KiBvcHQpCiB7CiAJY29uc3QgY2hhciAqYXJnID0gYXJndlswXTsKIAljb25zdCBjaGFyICpvcHRhcmc7CkBAIC0xODA1LDYgKzE5ODUsNyBAQAogCSAgICAhc3RyY21wKGFyZywgIi0tbm8td2FsayIpIHx8ICFzdHJjbXAoYXJnLCAiLS1kby13YWxrIikgfHwKIAkgICAgIXN0cmNtcChhcmcsICItLWJpc2VjdCIpIHx8IHN0YXJ0c193aXRoKGFyZywgIi0tZ2xvYj0iKSB8fAogCSAgICAhc3RyY21wKGFyZywgIi0taW5kZXhlZC1vYmplY3RzIikgfHwKKwkgICAgIXN0cmNtcChhcmcsICItLWFsdGVybmF0ZS1yZWZzIikgfHwKIAkgICAgc3RhcnRzX3dpdGgoYXJnLCAiLS1leGNsdWRlPSIpIHx8CiAJICAgIHN0YXJ0c193aXRoKGFyZywgIi0tYnJhbmNoZXM9IikgfHwgc3RhcnRzX3dpdGgoYXJnLCAiLS10YWdzPSIpIHx8CiAJICAgIHN0YXJ0c193aXRoKGFyZywgIi0tcmVtb3Rlcz0iKSB8fCBzdGFydHNfd2l0aChhcmcsICItLW5vLXdhbGs9IikpCkBAIC0xODg1LDcgKzIwNjYsNiBAQAogCQlyZXZzLT5zaW1wbGlmeV9ieV9kZWNvcmF0aW9uID0gMTsKIAkJcmV2cy0+bGltaXRlZCA9IDE7CiAJCXJldnMtPnBydW5lID0gMTsKLQkJbG9hZF9yZWZfZGVjb3JhdGlvbnMoTlVMTCwgREVDT1JBVEVfU0hPUlRfUkVGUyk7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tZGF0ZS1vcmRlciIpKSB7CiAJCXJldnMtPnNvcnRfb3JkZXIgPSBSRVZfU09SVF9CWV9DT01NSVRfREFURTsKIAkJcmV2cy0+dG9wb19vcmRlciA9IDE7CkBAIC0xOTkxLDYgKzIxNzEsOSBAQAogCQlyZXZzLT5kaWZmID0gMTsKIAkJcmV2cy0+ZGVuc2VfY29tYmluZWRfbWVyZ2VzID0gMDsKIAkJcmV2cy0+Y29tYmluZV9tZXJnZXMgPSAxOworCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLWNvbWJpbmVkLWFsbC1wYXRocyIpKSB7CisJCXJldnMtPmRpZmYgPSAxOworCQlyZXZzLT5jb21iaW5lZF9hbGxfcGF0aHMgPSAxOwogCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLWNjIikpIHsKIAkJcmV2cy0+ZGlmZiA9IDE7CiAJCXJldnMtPmRlbnNlX2NvbWJpbmVkX21lcmdlcyA9IDE7CkBAIC0yMDIwLDkgKzIyMDMsOCBAQAogCQkJZGllKCInJXMnOiBub3QgYSBub24tbmVnYXRpdmUgaW50ZWdlciIsIGFyZyk7CiAJCXJldnMtPmV4cGFuZF90YWJzX2luX2xvZyA9IHZhbDsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1zaG93LW5vdGVzIikgfHwgIXN0cmNtcChhcmcsICItLW5vdGVzIikpIHsKLQkJcmV2cy0+c2hvd19ub3RlcyA9IDE7CisJCWVuYWJsZV9kZWZhdWx0X2Rpc3BsYXlfbm90ZXMoJnJldnMtPm5vdGVzX29wdCwgJnJldnMtPnNob3dfbm90ZXMpOwogCQlyZXZzLT5zaG93X25vdGVzX2dpdmVuID0gMTsKLQkJcmV2cy0+bm90ZXNfb3B0LnVzZV9kZWZhdWx0X25vdGVzID0gMTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1zaG93LXNpZ25hdHVyZSIpKSB7CiAJCXJldnMtPnNob3dfc2lnbmF0dXJlID0gMTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1uby1zaG93LXNpZ25hdHVyZSIpKSB7CkBAIC0yMDM3LDI1ICsyMjE5LDE0IEBACiAJCXJldnMtPnRyYWNrX2ZpcnN0X3RpbWUgPSAxOwogCX0gZWxzZSBpZiAoc2tpcF9wcmVmaXgoYXJnLCAiLS1zaG93LW5vdGVzPSIsICZvcHRhcmcpIHx8CiAJCSAgIHNraXBfcHJlZml4KGFyZywgIi0tbm90ZXM9IiwgJm9wdGFyZykpIHsKLQkJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQkJcmV2cy0+c2hvd19ub3RlcyA9IDE7Ci0JCXJldnMtPnNob3dfbm90ZXNfZ2l2ZW4gPSAxOwogCQlpZiAoc3RhcnRzX3dpdGgoYXJnLCAiLS1zaG93LW5vdGVzPSIpICYmCiAJCSAgICByZXZzLT5ub3Rlc19vcHQudXNlX2RlZmF1bHRfbm90ZXMgPCAwKQogCQkJcmV2cy0+bm90ZXNfb3B0LnVzZV9kZWZhdWx0X25vdGVzID0gMTsKLQkJc3RyYnVmX2FkZHN0cigmYnVmLCBvcHRhcmcpOwotCQlleHBhbmRfbm90ZXNfcmVmKCZidWYpOwotCQlzdHJpbmdfbGlzdF9hcHBlbmQoJnJldnMtPm5vdGVzX29wdC5leHRyYV9ub3Rlc19yZWZzLAotCQkJCSAgIHN0cmJ1Zl9kZXRhY2goJmJ1ZiwgTlVMTCkpOwotCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLW5vLW5vdGVzIikpIHsKLQkJcmV2cy0+c2hvd19ub3RlcyA9IDA7CisJCWVuYWJsZV9yZWZfZGlzcGxheV9ub3RlcygmcmV2cy0+bm90ZXNfb3B0LCAmcmV2cy0+c2hvd19ub3Rlcywgb3B0YXJnKTsKIAkJcmV2cy0+c2hvd19ub3Rlc19naXZlbiA9IDE7Ci0JCXJldnMtPm5vdGVzX29wdC51c2VfZGVmYXVsdF9ub3RlcyA9IC0xOwotCQkvKiB3ZSBoYXZlIGJlZW4gc3RyZHVwJ2luZyBvdXJzZWx2ZXMsIHNvIHRyaWNrCi0JCSAqIHN0cmluZ19saXN0IGludG8gZnJlZSgpaW5nIHN0cmluZ3MgKi8KLQkJcmV2cy0+bm90ZXNfb3B0LmV4dHJhX25vdGVzX3JlZnMuc3RyZHVwX3N0cmluZ3MgPSAxOwotCQlzdHJpbmdfbGlzdF9jbGVhcigmcmV2cy0+bm90ZXNfb3B0LmV4dHJhX25vdGVzX3JlZnMsIDApOwotCQlyZXZzLT5ub3Rlc19vcHQuZXh0cmFfbm90ZXNfcmVmcy5zdHJkdXBfc3RyaW5ncyA9IDA7CisJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tbm8tbm90ZXMiKSkgeworCQlkaXNhYmxlX2Rpc3BsYXlfbm90ZXMoJnJldnMtPm5vdGVzX29wdCwgJnJldnMtPnNob3dfbm90ZXMpOworCQlyZXZzLT5zaG93X25vdGVzX2dpdmVuID0gMTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1zdGFuZGFyZC1ub3RlcyIpKSB7CiAJCXJldnMtPnNob3dfbm90ZXNfZ2l2ZW4gPSAxOwogCQlyZXZzLT5ub3Rlc19vcHQudXNlX2RlZmF1bHRfbm90ZXMgPSAxOwpAQCAtMjE1MSw3ICsyMzIyLDcgQEAKIAkJcmV2cy0+bGltaXRlZCA9IDE7CiAJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0taWdub3JlLW1pc3NpbmciKSkgewogCQlyZXZzLT5pZ25vcmVfbWlzc2luZyA9IDE7Ci0JfSBlbHNlIGlmIChyZXZzLT5hbGxvd19leGNsdWRlX3Byb21pc29yX29iamVjdHNfb3B0ICYmCisJfSBlbHNlIGlmIChvcHQgJiYgb3B0LT5hbGxvd19leGNsdWRlX3Byb21pc29yX29iamVjdHMgJiYKIAkJICAgIXN0cmNtcChhcmcsICItLWV4Y2x1ZGUtcHJvbWlzb3Itb2JqZWN0cyIpKSB7CiAJCWlmIChmZXRjaF9pZl9taXNzaW5nKQogCQkJQlVHKCJleGNsdWRlX3Byb21pc29yX29iamVjdHMgY2FuIG9ubHkgYmUgdXNlZCB3aGVuIGZldGNoX2lmX21pc3NpbmcgaXMgMCIpOwpAQCAtMjE3Myw3ICsyMzQ0LDcgQEAKIAkJCWNvbnN0IGNoYXIgKiBjb25zdCB1c2FnZXN0cltdKQogewogCWludCBuID0gaGFuZGxlX3JldmlzaW9uX29wdChyZXZzLCBjdHgtPmFyZ2MsIGN0eC0+YXJndiwKLQkJCQkgICAgJmN0eC0+Y3BpZHgsIGN0eC0+b3V0KTsKKwkJCQkgICAgJmN0eC0+Y3BpZHgsIGN0eC0+b3V0LCBOVUxMKTsKIAlpZiAobiA8PSAwKSB7CiAJCWVycm9yKCJ1bmtub3duIG9wdGlvbiBgJXMnIiwgY3R4LT5hcmd2WzBdKTsKIAkJdXNhZ2Vfd2l0aF9vcHRpb25zKHVzYWdlc3RyLCBvcHRpb25zKTsKQEAgLTIyODgsNiArMjQ1OSw4IEBACiAJCWFkZF9yZWZsb2dzX3RvX3BlbmRpbmcocmV2cywgKmZsYWdzKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLS1pbmRleGVkLW9iamVjdHMiKSkgewogCQlhZGRfaW5kZXhfb2JqZWN0c190b19wZW5kaW5nKHJldnMsICpmbGFncyk7CisJfSBlbHNlIGlmICghc3RyY21wKGFyZywgIi0tYWx0ZXJuYXRlLXJlZnMiKSkgeworCQlhZGRfYWx0ZXJuYXRlX3JlZnNfdG9fcGVuZGluZyhyZXZzLCAqZmxhZ3MpOwogCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLW5vdCIpKSB7CiAJCSpmbGFncyBePSBVTklOVEVSRVNUSU5HIHwgQk9UVE9NOwogCX0gZWxzZSBpZiAoIXN0cmNtcChhcmcsICItLW5vLXdhbGsiKSkgewpAQCAtMjM0MCw2ICsyNTEzLDcgQEAKIAlpbnQgaSwgZmxhZ3MsIGxlZnQsIHNlZW5fZGFzaGRhc2gsIGdvdF9yZXZfYXJnID0gMCwgcmV2YXJnX29wdDsKIAlzdHJ1Y3QgYXJndl9hcnJheSBwcnVuZV9kYXRhID0gQVJHVl9BUlJBWV9JTklUOwogCWNvbnN0IGNoYXIgKnN1Ym1vZHVsZSA9IE5VTEw7CisJaW50IHNlZW5fZW5kX29mX29wdGlvbnMgPSAwOwogCiAJaWYgKG9wdCkKIAkJc3VibW9kdWxlID0gb3B0LT5zdWJtb2R1bGU7CkBAIC0yMzY5LDcgKzI1NDMsNyBAQAogCQlyZXZhcmdfb3B0IHw9IFJFVkFSR19DQU5OT1RfQkVfRklMRU5BTUU7CiAJZm9yIChsZWZ0ID0gaSA9IDE7IGkgPCBhcmdjOyBpKyspIHsKIAkJY29uc3QgY2hhciAqYXJnID0gYXJndltpXTsKLQkJaWYgKCphcmcgPT0gJy0nKSB7CisJCWlmICghc2Vlbl9lbmRfb2Zfb3B0aW9ucyAmJiAqYXJnID09ICctJykgewogCQkJaW50IG9wdHM7CiAKIAkJCW9wdHMgPSBoYW5kbGVfcmV2aXNpb25fcHNldWRvX29wdChzdWJtb2R1bGUsCkBAIC0yMzkxLDcgKzI1NjUsMTMgQEAKIAkJCQljb250aW51ZTsKIAkJCX0KIAotCQkJb3B0cyA9IGhhbmRsZV9yZXZpc2lvbl9vcHQocmV2cywgYXJnYyAtIGksIGFyZ3YgKyBpLCAmbGVmdCwgYXJndik7CisJCQlpZiAoIXN0cmNtcChhcmcsICItLWVuZC1vZi1vcHRpb25zIikpIHsKKwkJCQlzZWVuX2VuZF9vZl9vcHRpb25zID0gMTsKKwkJCQljb250aW51ZTsKKwkJCX0KKworCQkJb3B0cyA9IGhhbmRsZV9yZXZpc2lvbl9vcHQocmV2cywgYXJnYyAtIGksIGFyZ3YgKyBpLAorCQkJCQkJICAgJmxlZnQsIGFyZ3YsIG9wdCk7CiAJCQlpZiAob3B0cyA+IDApIHsKIAkJCQlpICs9IG9wdHMgLSAxOwogCQkJCWNvbnRpbnVlOwpAQCAtMjQ1Myw3ICsyNjMzLDcgQEAKIAkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJCXN0cnVjdCBvYmplY3QgKm9iamVjdDsKIAkJc3RydWN0IG9iamVjdF9jb250ZXh0IG9jOwotCQlpZiAoZ2V0X29pZF93aXRoX2NvbnRleHQocmV2cy0+ZGVmLCAwLCAmb2lkLCAmb2MpKQorCQlpZiAoZ2V0X29pZF93aXRoX2NvbnRleHQocmV2cy0+cmVwbywgcmV2cy0+ZGVmLCAwLCAmb2lkLCAmb2MpKQogCQkJZGlhZ25vc2VfbWlzc2luZ19kZWZhdWx0KHJldnMtPmRlZik7CiAJCW9iamVjdCA9IGdldF9yZWZlcmVuY2UocmV2cywgcmV2cy0+ZGVmLCAmb2lkLCAwKTsKIAkJYWRkX3BlbmRpbmdfb2JqZWN0X3dpdGhfbW9kZShyZXZzLCBvYmplY3QsIHJldnMtPmRlZiwgb2MubW9kZSk7CkBAIC0yNDg2LDYgKzI2NjYsOSBAQAogCX0KIAlpZiAocmV2cy0+Y29tYmluZV9tZXJnZXMpCiAJCXJldnMtPmlnbm9yZV9tZXJnZXMgPSAwOworCWlmIChyZXZzLT5jb21iaW5lZF9hbGxfcGF0aHMgJiYgIXJldnMtPmNvbWJpbmVfbWVyZ2VzKQorCQlkaWUoIi0tY29tYmluZWQtYWxsLXBhdGhzIG1ha2VzIG5vIHNlbnNlIHdpdGhvdXQgLWMgb3IgLS1jYyIpOworCiAJcmV2cy0+ZGlmZm9wdC5hYmJyZXYgPSByZXZzLT5hYmJyZXY7CiAKIAlpZiAocmV2cy0+bGluZV9sZXZlbF90cmF2ZXJzZSkgewpAQCAtMjQ5Nyw2ICsyNjgwLDggQEAKIAogCWdyZXBfY29tbWl0X3BhdHRlcm5fdHlwZShHUkVQX1BBVFRFUk5fVFlQRV9VTlNQRUNJRklFRCwKIAkJCQkgJnJldnMtPmdyZXBfZmlsdGVyKTsKKwlpZiAoIWlzX2VuY29kaW5nX3V0ZjgoZ2V0X2xvZ19vdXRwdXRfZW5jb2RpbmcoKSkpCisJCXJldnMtPmdyZXBfZmlsdGVyLmlnbm9yZV9sb2NhbGUgPSAxOwogCWNvbXBpbGVfZ3JlcF9wYXR0ZXJucygmcmV2cy0+Z3JlcF9maWx0ZXIpOwogCiAJaWYgKHJldnMtPnJldmVyc2UgJiYgcmV2cy0+cmVmbG9nX2luZm8pCkBAIC0yNTIyLDYgKzI3MDcsMTAgQEAKIAlpZiAocmV2cy0+Zmlyc3RfcGFyZW50X29ubHkgJiYgcmV2cy0+YmlzZWN0KQogCQlkaWUoXygiLS1maXJzdC1wYXJlbnQgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1iaXNlY3QiKSk7CiAKKwlpZiAocmV2cy0+bGluZV9sZXZlbF90cmF2ZXJzZSAmJgorCSAgICAocmV2cy0+ZGlmZm9wdC5vdXRwdXRfZm9ybWF0ICYgfihESUZGX0ZPUk1BVF9QQVRDSCB8IERJRkZfRk9STUFUX05PX09VVFBVVCkpKQorCQlkaWUoXygiLUwgZG9lcyBub3QgeWV0IHN1cHBvcnQgZGlmZiBmb3JtYXRzIGJlc2lkZXMgLXAgYW5kIC1zIikpOworCiAJaWYgKHJldnMtPmV4cGFuZF90YWJzX2luX2xvZyA8IDApCiAJCXJldnMtPmV4cGFuZF90YWJzX2luX2xvZyA9IHJldnMtPmV4cGFuZF90YWJzX2luX2xvZ19kZWZhdWx0OwogCkBAIC0yNTgxLDcgKzI3NzAsNyBAQAogCXJldHVybiBzdDsKIH0KIAotc3RhdGljIGludCBtYXJrX3JlZHVuZGFudF9wYXJlbnRzKHN0cnVjdCByZXZfaW5mbyAqcmV2cywgc3RydWN0IGNvbW1pdCAqY29tbWl0KQorc3RhdGljIGludCBtYXJrX3JlZHVuZGFudF9wYXJlbnRzKHN0cnVjdCBjb21taXQgKmNvbW1pdCkKIHsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKmggPSByZWR1Y2VfaGVhZHMoY29tbWl0LT5wYXJlbnRzKTsKIAlpbnQgaSA9IDAsIG1hcmtlZCA9IDA7CkBAIC0yNjE3LDcgKzI4MDYsNyBAQAogCXJldHVybiBtYXJrZWQ7CiB9CiAKLXN0YXRpYyBpbnQgbWFya190cmVlc2FtZV9yb290X3BhcmVudHMoc3RydWN0IHJldl9pbmZvICpyZXZzLCBzdHJ1Y3QgY29tbWl0ICpjb21taXQpCitzdGF0aWMgaW50IG1hcmtfdHJlZXNhbWVfcm9vdF9wYXJlbnRzKHN0cnVjdCBjb21taXQgKmNvbW1pdCkKIHsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKnA7CiAJaW50IG1hcmtlZCA9IDA7CkBAIC0yODA5LDggKzI5OTgsOCBAQAogCSAqIERldGVjdCBhbmQgc2ltcGxpZnkgYm90aCBjYXNlcy4KIAkgKi8KIAlpZiAoMSA8IGNudCkgewotCQlpbnQgbWFya2VkID0gbWFya19yZWR1bmRhbnRfcGFyZW50cyhyZXZzLCBjb21taXQpOwotCQltYXJrZWQgKz0gbWFya190cmVlc2FtZV9yb290X3BhcmVudHMocmV2cywgY29tbWl0KTsKKwkJaW50IG1hcmtlZCA9IG1hcmtfcmVkdW5kYW50X3BhcmVudHMoY29tbWl0KTsKKwkJbWFya2VkICs9IG1hcmtfdHJlZXNhbWVfcm9vdF9wYXJlbnRzKGNvbW1pdCk7CiAJCWlmIChtYXJrZWQpCiAJCQltYXJrZWQgLT0gbGVhdmVfb25lX3RyZWVzYW1lX3RvX3BhcmVudChyZXZzLCBjb21taXQpOwogCQlpZiAobWFya2VkKQpAQCAtMjg5Nyw3ICszMDg2LDcgQEAKIAogdm9pZCByZXNldF9yZXZpc2lvbl93YWxrKHZvaWQpCiB7Ci0JY2xlYXJfb2JqZWN0X2ZsYWdzKFNFRU4gfCBBRERFRCB8IFNIT1dOKTsKKwljbGVhcl9vYmplY3RfZmxhZ3MoU0VFTiB8IEFEREVEIHwgU0hPV04gfCBUT1BPX1dBTEtfRVhQTE9SRUQgfCBUT1BPX1dBTEtfSU5ERUdSRUUpOwogfQogCiBzdGF0aWMgaW50IG1hcmtfdW5pbnRlcmVzdGluZyhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCkBAIC0zMDEwLDEwICszMTk5LDI2IEBACiAJCWluZGVncmVlX3dhbGtfc3RlcChyZXZzKTsKIH0KIAorc3RhdGljIHZvaWQgcmVzZXRfdG9wb193YWxrKHN0cnVjdCByZXZfaW5mbyAqcmV2cykKK3sKKwlzdHJ1Y3QgdG9wb193YWxrX2luZm8gKmluZm8gPSByZXZzLT50b3BvX3dhbGtfaW5mbzsKKworCWNsZWFyX3ByaW9fcXVldWUoJmluZm8tPmV4cGxvcmVfcXVldWUpOworCWNsZWFyX3ByaW9fcXVldWUoJmluZm8tPmluZGVncmVlX3F1ZXVlKTsKKwljbGVhcl9wcmlvX3F1ZXVlKCZpbmZvLT50b3BvX3F1ZXVlKTsKKwljbGVhcl9pbmRlZ3JlZV9zbGFiKCZpbmZvLT5pbmRlZ3JlZSk7CisJY2xlYXJfYXV0aG9yX2RhdGVfc2xhYigmaW5mby0+YXV0aG9yX2RhdGUpOworCisJRlJFRV9BTkRfTlVMTChyZXZzLT50b3BvX3dhbGtfaW5mbyk7Cit9CisKIHN0YXRpYyB2b2lkIGluaXRfdG9wb193YWxrKHN0cnVjdCByZXZfaW5mbyAqcmV2cykKIHsKIAlzdHJ1Y3QgdG9wb193YWxrX2luZm8gKmluZm87CiAJc3RydWN0IGNvbW1pdF9saXN0ICpsaXN0OworCWlmIChyZXZzLT50b3BvX3dhbGtfaW5mbykKKwkJcmVzZXRfdG9wb193YWxrKHJldnMpOworCiAJcmV2cy0+dG9wb193YWxrX2luZm8gPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgdG9wb193YWxrX2luZm8pKTsKIAlpbmZvID0gcmV2cy0+dG9wb193YWxrX2luZm87CiAJbWVtc2V0KGluZm8sIDAsIHNpemVvZihzdHJ1Y3QgdG9wb193YWxrX2luZm8pKTsKQEAgLTMxMDMsNiArMzMwOCw5IEBACiAJCXN0cnVjdCBjb21taXQgKnBhcmVudCA9IHAtPml0ZW07CiAJCWludCAqcGk7CiAKKwkJaWYgKHBhcmVudC0+b2JqZWN0LmZsYWdzICYgVU5JTlRFUkVTVElORykKKwkJCWNvbnRpbnVlOworCiAJCWlmIChwYXJzZV9jb21taXRfZ2VudGx5KHBhcmVudCwgMSkgPCAwKQogCQkJY29udGludWU7CiAKQEAgLTMxNzQsMTQgKzMzODIsMTQgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGVudW0gcmV3cml0ZV9yZXN1bHQgcmV3cml0ZV9vbmUoc3RydWN0IHJldl9pbmZvICpyZXZzLCBzdHJ1Y3QgY29tbWl0ICoqcHApCitzdGF0aWMgZW51bSByZXdyaXRlX3Jlc3VsdCByZXdyaXRlX29uZV8xKHN0cnVjdCByZXZfaW5mbyAqcmV2cywKKwkJCQkJIHN0cnVjdCBjb21taXQgKipwcCwKKwkJCQkJIHN0cnVjdCBwcmlvX3F1ZXVlICpxdWV1ZSkKIHsKLQlzdHJ1Y3QgY29tbWl0X2xpc3QgKmNhY2hlID0gTlVMTDsKLQogCWZvciAoOzspIHsKIAkJc3RydWN0IGNvbW1pdCAqcCA9ICpwcDsKIAkJaWYgKCFyZXZzLT5saW1pdGVkKQotCQkJaWYgKHByb2Nlc3NfcGFyZW50cyhyZXZzLCBwLCAmcmV2cy0+Y29tbWl0cywgJmNhY2hlKSA8IDApCisJCQlpZiAocHJvY2Vzc19wYXJlbnRzKHJldnMsIHAsIE5VTEwsIHF1ZXVlKSA8IDApCiAJCQkJcmV0dXJuIHJld3JpdGVfb25lX2Vycm9yOwogCQlpZiAocC0+b2JqZWN0LmZsYWdzICYgVU5JTlRFUkVTVElORykKIAkJCXJldHVybiByZXdyaXRlX29uZV9vazsKQEAgLTMxOTUsNiArMzQwMywzMSBAQAogCX0KIH0KIAorc3RhdGljIHZvaWQgbWVyZ2VfcXVldWVfaW50b19saXN0KHN0cnVjdCBwcmlvX3F1ZXVlICpxLCBzdHJ1Y3QgY29tbWl0X2xpc3QgKipsaXN0KQoreworCXdoaWxlIChxLT5ucikgeworCQlzdHJ1Y3QgY29tbWl0ICppdGVtID0gcHJpb19xdWV1ZV9wZWVrKHEpOworCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKnAgPSAqbGlzdDsKKworCQlpZiAocCAmJiBwLT5pdGVtLT5kYXRlID49IGl0ZW0tPmRhdGUpCisJCQlsaXN0ID0gJnAtPm5leHQ7CisJCWVsc2UgeworCQkJcCA9IGNvbW1pdF9saXN0X2luc2VydChpdGVtLCBsaXN0KTsKKwkJCWxpc3QgPSAmcC0+bmV4dDsgLyogc2tpcCBuZXdseSBhZGRlZCBpdGVtICovCisJCQlwcmlvX3F1ZXVlX2dldChxKTsgLyogcG9wIGl0ZW0gKi8KKwkJfQorCX0KK30KKworc3RhdGljIGVudW0gcmV3cml0ZV9yZXN1bHQgcmV3cml0ZV9vbmUoc3RydWN0IHJldl9pbmZvICpyZXZzLCBzdHJ1Y3QgY29tbWl0ICoqcHApCit7CisJc3RydWN0IHByaW9fcXVldWUgcXVldWUgPSB7IGNvbXBhcmVfY29tbWl0c19ieV9jb21taXRfZGF0ZSB9OworCWVudW0gcmV3cml0ZV9yZXN1bHQgcmV0ID0gcmV3cml0ZV9vbmVfMShyZXZzLCBwcCwgJnF1ZXVlKTsKKwltZXJnZV9xdWV1ZV9pbnRvX2xpc3QoJnF1ZXVlLCAmcmV2cy0+Y29tbWl0cyk7CisJY2xlYXJfcHJpb19xdWV1ZSgmcXVldWUpOworCXJldHVybiByZXQ7Cit9CisKIGludCByZXdyaXRlX3BhcmVudHMoc3RydWN0IHJldl9pbmZvICpyZXZzLCBzdHJ1Y3QgY29tbWl0ICpjb21taXQsCiAJcmV3cml0ZV9wYXJlbnRfZm5fdCByZXdyaXRlX3BhcmVudCkKIHsKQEAgLTM3MTUsNyArMzk0OCw3IEBACiAJcmV0dXJuIGM7CiB9CiAKLWNoYXIgKmdldF9yZXZpc2lvbl9tYXJrKGNvbnN0IHN0cnVjdCByZXZfaW5mbyAqcmV2cywgY29uc3Qgc3RydWN0IGNvbW1pdCAqY29tbWl0KQorY29uc3QgY2hhciAqZ2V0X3JldmlzaW9uX21hcmsoY29uc3Qgc3RydWN0IHJldl9pbmZvICpyZXZzLCBjb25zdCBzdHJ1Y3QgY29tbWl0ICpjb21taXQpCiB7CiAJaWYgKGNvbW1pdC0+b2JqZWN0LmZsYWdzICYgQk9VTkRBUlkpCiAJCXJldHVybiAiLSI7CkBAIC0zNzM3LDcgKzM5NzAsNyBAQAogCiB2b2lkIHB1dF9yZXZpc2lvbl9tYXJrKGNvbnN0IHN0cnVjdCByZXZfaW5mbyAqcmV2cywgY29uc3Qgc3RydWN0IGNvbW1pdCAqY29tbWl0KQogewotCWNoYXIgKm1hcmsgPSBnZXRfcmV2aXNpb25fbWFyayhyZXZzLCBjb21taXQpOworCWNvbnN0IGNoYXIgKm1hcmsgPSBnZXRfcmV2aXNpb25fbWFyayhyZXZzLCBjb21taXQpOwogCWlmICghc3RybGVuKG1hcmspKQogCQlyZXR1cm47CiAJZnB1dHMobWFyaywgc3Rkb3V0KTsKZGlmZiAtLWdpdCBhL3JldmlzaW9uLmggYi9yZXZpc2lvbi5oCmluZGV4IDc5ODdiZmMuLjQ3NWYwNDggMTAwNjQ0Ci0tLSBhL3JldmlzaW9uLmgKKysrIGIvcmV2aXNpb24uaApAQCAtOSw2ICs5LDE5IEBACiAjaW5jbHVkZSAiZGlmZi5oIgogI2luY2x1ZGUgImNvbW1pdC1zbGFiLWRlY2wuaCIKIAorLyoqCisgKiBUaGUgcmV2aXNpb24gd2Fsa2luZyBBUEkgb2ZmZXJzIGZ1bmN0aW9ucyB0byBidWlsZCBhIGxpc3Qgb2YgcmV2aXNpb25zCisgKiBhbmQgdGhlbiBpdGVyYXRlIG92ZXIgdGhhdCBsaXN0LgorICoKKyAqIENhbGxpbmcgc2VxdWVuY2UKKyAqIC0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBUaGUgd2Fsa2luZyBBUEkgaGFzIGEgZ2l2ZW4gY2FsbGluZyBzZXF1ZW5jZTogZmlyc3QgeW91IG5lZWQgdG8gaW5pdGlhbGl6ZQorICogYSByZXZfaW5mbyBzdHJ1Y3R1cmUsIHRoZW4gYWRkIHJldmlzaW9ucyB0byBjb250cm9sIHdoYXQga2luZCBvZiByZXZpc2lvbgorICogbGlzdCBkbyB5b3Ugd2FudCB0byBnZXQsIGZpbmFsbHkgeW91IGNhbiBpdGVyYXRlIG92ZXIgdGhlIHJldmlzaW9uIGxpc3QuCisgKgorICovCisKIC8qIFJlbWVtYmVyIHRvIHVwZGF0ZSBvYmplY3QgZmxhZyBhbGxvY2F0aW9uIGluIG9iamVjdC5oICovCiAjZGVmaW5lIFNFRU4JCSgxdTw8MCkKICNkZWZpbmUgVU5JTlRFUkVTVElORyAgICgxdTw8MSkKQEAgLTY3LDYgKzgwLDcgQEAKICNkZWZpbmUgUkVWSVNJT05fV0FMS19OT19XQUxLX1NPUlRFRCAxCiAjZGVmaW5lIFJFVklTSU9OX1dBTEtfTk9fV0FMS19VTlNPUlRFRCAyCiAKK3N0cnVjdCBvaWRzZXQ7CiBzdHJ1Y3QgdG9wb193YWxrX2luZm87CiAKIHN0cnVjdCByZXZfaW5mbyB7CkBAIC0xNjEsNyArMTc1LDYgQEAKIAkJCWRvX25vdF9kaWVfb25fbWlzc2luZ190cmVlOjEsCiAKIAkJCS8qIGZvciBpbnRlcm5hbCB1c2Ugb25seSAqLwotCQkJYWxsb3dfZXhjbHVkZV9wcm9taXNvcl9vYmplY3RzX29wdDoxLAogCQkJZXhjbHVkZV9wcm9taXNvcl9vYmplY3RzOjE7CiAKIAkvKiBEaWZmIGZsYWdzICovCkBAIC0xNzIsMTQgKzE4NSwxNSBAQAogCQkJdmVyYm9zZV9oZWFkZXI6MSwKIAkJCWlnbm9yZV9tZXJnZXM6MSwKIAkJCWNvbWJpbmVfbWVyZ2VzOjEsCisJCQljb21iaW5lZF9hbGxfcGF0aHM6MSwKIAkJCWRlbnNlX2NvbWJpbmVkX21lcmdlczoxLAogCQkJYWx3YXlzX3Nob3dfaGVhZGVyOjE7CiAKIAkvKiBGb3JtYXQgaW5mbyAqLworCWludAkJc2hvd19ub3RlczsKIAl1bnNpZ25lZCBpbnQJc2hvd25fb25lOjEsCiAJCQlzaG93bl9kYXNoZXM6MSwKIAkJCXNob3dfbWVyZ2U6MSwKLQkJCXNob3dfbm90ZXM6MSwKIAkJCXNob3dfbm90ZXNfZ2l2ZW46MSwKIAkJCXNob3dfc2lnbmF0dXJlOjEsCiAJCQlwcmV0dHlfZ2l2ZW46MSwKQEAgLTI5NywxOCArMzExLDM3IEBACiAJY29uc3QgY2hhciAqZGVmOwogCXZvaWQgKCp0d2Vhaykoc3RydWN0IHJldl9pbmZvICosIHN0cnVjdCBzZXR1cF9yZXZpc2lvbl9vcHQgKik7CiAJY29uc3QgY2hhciAqc3VibW9kdWxlOwkvKiBUT0RPOiBkcm9wIHRoaXMgYW5kIHVzZSByZXZfaW5mby0+cmVwbyAqLwotCWludCBhc3N1bWVfZGFzaGRhc2g7CisJdW5zaWduZWQgaW50CWFzc3VtZV9kYXNoZGFzaDoxLAorCQkJYWxsb3dfZXhjbHVkZV9wcm9taXNvcl9vYmplY3RzOjE7CiAJdW5zaWduZWQgcmV2YXJnX29wdDsKIH07CiAKICNpZm5kZWYgTk9fVEhFX1JFUE9TSVRPUllfQ09NUEFUSUJJTElUWV9NQUNST1MKICNkZWZpbmUgaW5pdF9yZXZpc2lvbnMocmV2cywgcHJlZml4KSByZXBvX2luaXRfcmV2aXNpb25zKHRoZV9yZXBvc2l0b3J5LCByZXZzLCBwcmVmaXgpCiAjZW5kaWYKKworLyoqCisgKiBJbml0aWFsaXplIGEgcmV2X2luZm8gc3RydWN0dXJlIHdpdGggZGVmYXVsdCB2YWx1ZXMuIFRoZSB0aGlyZCBwYXJhbWV0ZXIgbWF5CisgKiBiZSBOVUxMIG9yIGNhbiBiZSBwcmVmaXggcGF0aCwgYW5kIHRoZW4gdGhlIGAucHJlZml4YCB2YXJpYWJsZSB3aWxsIGJlIHNldAorICogdG8gaXQuIFRoaXMgaXMgdHlwaWNhbGx5IHRoZSBmaXJzdCBmdW5jdGlvbiB5b3Ugd2FudCB0byBjYWxsIHdoZW4geW91IHdhbnQKKyAqIHRvIGRlYWwgd2l0aCBhIHJldmlzaW9uIGxpc3QuIEFmdGVyIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiwgeW91IGFyZSBmcmVlIHRvCisgKiBjdXN0b21pemUgb3B0aW9ucywgbGlrZSBzZXQgYC5pZ25vcmVfbWVyZ2VzYCB0byAwIGlmIHlvdSBkb24ndCB3YW50IHRvCisgKiBpZ25vcmUgbWVyZ2VzLCBhbmQgc28gb24uCisgKi8KIHZvaWQgcmVwb19pbml0X3JldmlzaW9ucyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKIAkJCSBzdHJ1Y3QgcmV2X2luZm8gKnJldnMsCiAJCQkgY29uc3QgY2hhciAqcHJlZml4KTsKKworLyoqCisgKiBQYXJzZSByZXZpc2lvbiBpbmZvcm1hdGlvbiwgZmlsbGluZyBpbiB0aGUgYHJldl9pbmZvYCBzdHJ1Y3R1cmUsIGFuZAorICogcmVtb3ZpbmcgdGhlIHVzZWQgYXJndW1lbnRzIGZyb20gdGhlIGFyZ3VtZW50IGxpc3QuIFJldHVybnMgdGhlIG51bWJlcgorICogb2YgYXJndW1lbnRzIGxlZnQgdGhhdCB3ZXJlbid0IHJlY29nbml6ZWQsIHdoaWNoIGFyZSBhbHNvIG1vdmVkIHRvIHRoZQorICogaGVhZCBvZiB0aGUgYXJndW1lbnQgbGlzdC4gVGhlIGxhc3QgcGFyYW1ldGVyIGlzIHVzZWQgaW4gY2FzZSBubworICogcGFyYW1ldGVyIGdpdmVuIGJ5IHRoZSBmaXJzdCB0d28gYXJndW1lbnRzLgorICovCiBpbnQgc2V0dXBfcmV2aXNpb25zKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgc3RydWN0IHJldl9pbmZvICpyZXZzLAogCQkgICAgc3RydWN0IHNldHVwX3JldmlzaW9uX29wdCAqKTsKKwogdm9pZCBwYXJzZV9yZXZpc2lvbl9vcHQoc3RydWN0IHJldl9pbmZvICpyZXZzLCBzdHJ1Y3QgcGFyc2Vfb3B0X2N0eF90ICpjdHgsCiAJCQljb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHRpb25zLAogCQkJY29uc3QgY2hhciAqIGNvbnN0IHVzYWdlc3RyW10pOwpAQCAtMzE3LDIxICszNTAsNTAgQEAKIGludCBoYW5kbGVfcmV2aXNpb25fYXJnKGNvbnN0IGNoYXIgKmFyZywgc3RydWN0IHJldl9pbmZvICpyZXZzLAogCQkJaW50IGZsYWdzLCB1bnNpZ25lZCByZXZhcmdfb3B0KTsKIAorLyoqCisgKiBSZXNldCB0aGUgZmxhZ3MgdXNlZCBieSB0aGUgcmV2aXNpb24gd2Fsa2luZyBhcGkuIFlvdSBjYW4gdXNlIHRoaXMgdG8gZG8KKyAqIG11bHRpcGxlIHNlcXVlbnRpYWwgcmV2aXNpb24gd2Fsa3MuCisgKi8KIHZvaWQgcmVzZXRfcmV2aXNpb25fd2Fsayh2b2lkKTsKKworLyoqCisgKiBQcmVwYXJlcyB0aGUgcmV2X2luZm8gc3RydWN0dXJlIGZvciBhIHdhbGsuIFlvdSBzaG91bGQgY2hlY2sgaWYgaXQgcmV0dXJucworICogYW55IGVycm9yIChub24temVybyByZXR1cm4gY29kZSkgYW5kIGlmIGl0IGRvZXMgbm90LCB5b3UgY2FuIHN0YXJ0IHVzaW5nCisgKiBnZXRfcmV2aXNpb24oKSB0byBkbyB0aGUgaXRlcmF0aW9uLgorICovCiBpbnQgcHJlcGFyZV9yZXZpc2lvbl93YWxrKHN0cnVjdCByZXZfaW5mbyAqcmV2cyk7CisKKy8qKgorICogVGFrZXMgYSBwb2ludGVyIHRvIGEgYHJldl9pbmZvYCBzdHJ1Y3R1cmUgYW5kIGl0ZXJhdGVzIG92ZXIgaXQsIHJldHVybmluZyBhCisgKiBgc3RydWN0IGNvbW1pdCAqYCBlYWNoIHRpbWUgeW91IGNhbGwgaXQuIFRoZSBlbmQgb2YgdGhlIHJldmlzaW9uIGxpc3QgaXMKKyAqIGluZGljYXRlZCBieSByZXR1cm5pbmcgYSBOVUxMIHBvaW50ZXIuCisgKi8KIHN0cnVjdCBjb21taXQgKmdldF9yZXZpc2lvbihzdHJ1Y3QgcmV2X2luZm8gKnJldnMpOwotY2hhciAqZ2V0X3JldmlzaW9uX21hcmsoY29uc3Qgc3RydWN0IHJldl9pbmZvICpyZXZzLAotCQkJY29uc3Qgc3RydWN0IGNvbW1pdCAqY29tbWl0KTsKKworY29uc3QgY2hhciAqZ2V0X3JldmlzaW9uX21hcmsoY29uc3Qgc3RydWN0IHJldl9pbmZvICpyZXZzLAorCQkJICAgICAgY29uc3Qgc3RydWN0IGNvbW1pdCAqY29tbWl0KTsKIHZvaWQgcHV0X3JldmlzaW9uX21hcmsoY29uc3Qgc3RydWN0IHJldl9pbmZvICpyZXZzLAogCQkgICAgICAgY29uc3Qgc3RydWN0IGNvbW1pdCAqY29tbWl0KTsKIAogdm9pZCBtYXJrX3BhcmVudHNfdW5pbnRlcmVzdGluZyhzdHJ1Y3QgY29tbWl0ICpjb21taXQpOwogdm9pZCBtYXJrX3RyZWVfdW5pbnRlcmVzdGluZyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHRyZWUgKnRyZWUpOwordm9pZCBtYXJrX3RyZWVzX3VuaW50ZXJlc3Rpbmdfc3BhcnNlKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3Qgb2lkc2V0ICp0cmVlcyk7CiAKIHZvaWQgc2hvd19vYmplY3Rfd2l0aF9uYW1lKEZJTEUgKiwgc3RydWN0IG9iamVjdCAqLCBjb25zdCBjaGFyICopOwogCisvKioKKyAqIFRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgaWYgeW91IHdhbnQgdG8gYWRkIGNvbW1pdCBvYmplY3RzIGFzIHJldmlzaW9uCisgKiBpbmZvcm1hdGlvbi4gWW91IGNhbiB1c2UgdGhlIGBVTklOVEVSRVNUSU5HYCBvYmplY3QgZmxhZyB0byBpbmRpY2F0ZSBpZgorICogeW91IHdhbnQgdG8gaW5jbHVkZSBvciBleGNsdWRlIHRoZSBnaXZlbiBjb21taXQgKGFuZCBjb21taXRzIHJlYWNoYWJsZQorICogZnJvbSB0aGUgZ2l2ZW4gY29tbWl0KSBmcm9tIHRoZSByZXZpc2lvbiBsaXN0LgorICoKKyAqIE5PVEU6IElmIHlvdSBoYXZlIHRoZSBjb21taXRzIGFzIGEgc3RyaW5nIGxpc3QgdGhlbiB5b3UgcHJvYmFibHkgd2FudCB0bworICogdXNlIHNldHVwX3JldmlzaW9ucygpLCBpbnN0ZWFkIG9mIHBhcnNpbmcgZWFjaCBzdHJpbmcgYW5kIHVzaW5nIHRoaXMKKyAqIGZ1bmN0aW9uLgorICovCiB2b2lkIGFkZF9wZW5kaW5nX29iamVjdChzdHJ1Y3QgcmV2X2luZm8gKnJldnMsCiAJCQlzdHJ1Y3Qgb2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKm5hbWUpOworCiB2b2lkIGFkZF9wZW5kaW5nX29pZChzdHJ1Y3QgcmV2X2luZm8gKnJldnMsCiAJCSAgICAgY29uc3QgY2hhciAqbmFtZSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAogCQkgICAgIHVuc2lnbmVkIGludCBmbGFncyk7CmRpZmYgLS1naXQgYS9ydW4tY29tbWFuZC5jIGIvcnVuLWNvbW1hbmQuYwppbmRleCAzZGIyNmI3Li5mNWUxMTQ5IDEwMDY0NAotLS0gYS9ydW4tY29tbWFuZC5jCisrKyBiL3J1bi1jb21tYW5kLmMKQEAgLTIxMywxNSArMjEzLDM2IEBACiBzdGF0aWMgaW50IGV4aXN0c19pbl9QQVRIKGNvbnN0IGNoYXIgKmZpbGUpCiB7CiAJY2hhciAqciA9IGxvY2F0ZV9pbl9QQVRIKGZpbGUpOworCWludCBmb3VuZCA9IHIgIT0gTlVMTDsKIAlmcmVlKHIpOwotCXJldHVybiByICE9IE5VTEw7CisJcmV0dXJuIGZvdW5kOwogfQogCiBpbnQgc2FuZV9leGVjdnAoY29uc3QgY2hhciAqZmlsZSwgY2hhciAqIGNvbnN0IGFyZ3ZbXSkKIHsKKyNpZm5kZWYgR0lUX1dJTkRPV1NfTkFUSVZFCisJLyoKKwkgKiBleGVjdnAoKSBkb2Vzbid0IHJldHVybiwgc28gd2UgYWxsIHdlIGNhbiBkbyBpcyB0ZWxsIHRyYWNlMgorCSAqIHdoYXQgd2UgYXJlIGFib3V0IHRvIGRvIGFuZCBsZXQgaXQgbGVhdmUgYSBoaW50IGluIHRoZSBsb2cKKwkgKiAodW5sZXNzIG9mIGNvdXJzZSB0aGUgZXhlY3ZwKCkgZmFpbHMpLgorCSAqCisJICogd2Ugc2tpcCB0aGlzIGZvciBXaW5kb3dzIGJlY2F1c2UgdGhlIGNvbXBhdCBsYXllciBhbHJlYWR5CisJICogaGFzIHRvIGVtdWxhdGUgdGhlIGV4ZWN2cCgpIGNhbGwgYW55d2F5LgorCSAqLworCWludCBleGVjX2lkID0gdHJhY2UyX2V4ZWMoZmlsZSwgKGNvbnN0IGNoYXIgKiopYXJndik7CisjZW5kaWYKKwogCWlmICghZXhlY3ZwKGZpbGUsIGFyZ3YpKQogCQlyZXR1cm4gMDsgLyogY2Fubm90IGhhcHBlbiA7LSkgKi8KIAorI2lmbmRlZiBHSVRfV0lORE9XU19OQVRJVkUKKwl7CisJCWludCBlYyA9IGVycm5vOworCQl0cmFjZTJfZXhlY19yZXN1bHQoZXhlY19pZCwgZWMpOworCQllcnJubyA9IGVjOworCX0KKyNlbmRpZgorCiAJLyoKIAkgKiBXaGVuIGEgY29tbWFuZCBjYW4ndCBiZSBmb3VuZCBiZWNhdXNlIG9uZSBvZiB0aGUgZGlyZWN0b3JpZXMKIAkgKiBsaXN0ZWQgaW4gJFBBVEggaXMgdW5zZWFyY2hhYmxlLCBleGVjdnAgcmVwb3J0cyBFQUNDRVMsIGJ1dApAQCAtMzkyLDggKzQxMyw3IEBACiAJYXJndl9hcnJheV9wdXNoKG91dCwgU0hFTExfUEFUSCk7CiAKIAlpZiAoY21kLT5naXRfY21kKSB7Ci0JCWFyZ3ZfYXJyYXlfcHVzaChvdXQsICJnaXQiKTsKLQkJYXJndl9hcnJheV9wdXNodihvdXQsIGNtZC0+YXJndik7CisJCXByZXBhcmVfZ2l0X2NtZChvdXQsIGNtZC0+YXJndik7CiAJfSBlbHNlIGlmIChjbWQtPnVzZV9zaGVsbCkgewogCQlwcmVwYXJlX3NoZWxsX2NtZChvdXQsIGNtZC0+YXJndik7CiAJfSBlbHNlIHsKQEAgLTcxMiw2ICs3MzIsNyBAQAogCQljbWQtPmVyciA9IGZkZXJyWzBdOwogCX0KIAorCXRyYWNlMl9jaGlsZF9zdGFydChjbWQpOwogCXRyYWNlX3J1bl9jb21tYW5kKGNtZCk7CiAKIAlmZmx1c2goTlVMTCk7CkBAIC05MjYsNiArOTQ3LDggQEAKICNlbmRpZgogCiAJaWYgKGNtZC0+cGlkIDwgMCkgeworCQl0cmFjZTJfY2hpbGRfZXhpdChjbWQsIC0xKTsKKwogCQlpZiAobmVlZF9pbikKIAkJCWNsb3NlX3BhaXIoZmRpbik7CiAJCWVsc2UgaWYgKGNtZC0+aW4pCkBAIC05NjQsMTMgKzk4NywxNiBAQAogaW50IGZpbmlzaF9jb21tYW5kKHN0cnVjdCBjaGlsZF9wcm9jZXNzICpjbWQpCiB7CiAJaW50IHJldCA9IHdhaXRfb3Jfd2hpbmUoY21kLT5waWQsIGNtZC0+YXJndlswXSwgMCk7CisJdHJhY2UyX2NoaWxkX2V4aXQoY21kLCByZXQpOwogCWNoaWxkX3Byb2Nlc3NfY2xlYXIoY21kKTsKIAlyZXR1cm4gcmV0OwogfQogCiBpbnQgZmluaXNoX2NvbW1hbmRfaW5fc2lnbmFsKHN0cnVjdCBjaGlsZF9wcm9jZXNzICpjbWQpCiB7Ci0JcmV0dXJuIHdhaXRfb3Jfd2hpbmUoY21kLT5waWQsIGNtZC0+YXJndlswXSwgMSk7CisJaW50IHJldCA9IHdhaXRfb3Jfd2hpbmUoY21kLT5waWQsIGNtZC0+YXJndlswXSwgMSk7CisJdHJhY2UyX2NoaWxkX2V4aXQoY21kLCByZXQpOworCXJldHVybiByZXQ7CiB9CiAKIApAQCAtOTkyLDggKzEwMTgsMTkgQEAKIAlyZXR1cm4gcnVuX2NvbW1hbmRfdl9vcHRfY2RfZW52KGFyZ3YsIG9wdCwgTlVMTCwgTlVMTCk7CiB9CiAKK2ludCBydW5fY29tbWFuZF92X29wdF90cjIoY29uc3QgY2hhciAqKmFyZ3YsIGludCBvcHQsIGNvbnN0IGNoYXIgKnRyMl9jbGFzcykKK3sKKwlyZXR1cm4gcnVuX2NvbW1hbmRfdl9vcHRfY2RfZW52X3RyMihhcmd2LCBvcHQsIE5VTEwsIE5VTEwsIHRyMl9jbGFzcyk7Cit9CisKIGludCBydW5fY29tbWFuZF92X29wdF9jZF9lbnYoY29uc3QgY2hhciAqKmFyZ3YsIGludCBvcHQsIGNvbnN0IGNoYXIgKmRpciwgY29uc3QgY2hhciAqY29uc3QgKmVudikKIHsKKwlyZXR1cm4gcnVuX2NvbW1hbmRfdl9vcHRfY2RfZW52X3RyMihhcmd2LCBvcHQsIGRpciwgZW52LCBOVUxMKTsKK30KKworaW50IHJ1bl9jb21tYW5kX3Zfb3B0X2NkX2Vudl90cjIoY29uc3QgY2hhciAqKmFyZ3YsIGludCBvcHQsIGNvbnN0IGNoYXIgKmRpciwKKwkJCQkgY29uc3QgY2hhciAqY29uc3QgKmVudiwgY29uc3QgY2hhciAqdHIyX2NsYXNzKQorewogCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNtZCA9IENISUxEX1BST0NFU1NfSU5JVDsKIAljbWQuYXJndiA9IGFyZ3Y7CiAJY21kLm5vX3N0ZGluID0gb3B0ICYgUlVOX0NPTU1BTkRfTk9fU1RESU4gPyAxIDogMDsKQEAgLTEwMDQsNiArMTA0MSw3IEBACiAJY21kLmNsZWFuX29uX2V4aXQgPSBvcHQgJiBSVU5fQ0xFQU5fT05fRVhJVCA/IDEgOiAwOwogCWNtZC5kaXIgPSBkaXI7CiAJY21kLmVudiA9IGVudjsKKwljbWQudHJhY2UyX2NoaWxkX2NsYXNzID0gdHIyX2NsYXNzOwogCXJldHVybiBydW5fY29tbWFuZCgmY21kKTsKIH0KIApAQCAtMTMxOSw2ICsxMzU3LDcgQEAKIAlob29rLmVudiA9IGVudjsKIAlob29rLm5vX3N0ZGluID0gMTsKIAlob29rLnN0ZG91dF90b19zdGRlcnIgPSAxOworCWhvb2sudHJhY2UyX2hvb2tfbmFtZSA9IG5hbWU7CiAKIAlyZXR1cm4gcnVuX2NvbW1hbmQoJmhvb2spOwogfQpAQCAtMTgwNywzICsxODQ2LDIxIEBACiAJcHBfY2xlYW51cCgmcHApOwogCXJldHVybiAwOwogfQorCitpbnQgcnVuX3Byb2Nlc3Nlc19wYXJhbGxlbF90cjIoaW50IG4sIGdldF9uZXh0X3Rhc2tfZm4gZ2V0X25leHRfdGFzaywKKwkJCSAgICAgICBzdGFydF9mYWlsdXJlX2ZuIHN0YXJ0X2ZhaWx1cmUsCisJCQkgICAgICAgdGFza19maW5pc2hlZF9mbiB0YXNrX2ZpbmlzaGVkLCB2b2lkICpwcF9jYiwKKwkJCSAgICAgICBjb25zdCBjaGFyICp0cjJfY2F0ZWdvcnksIGNvbnN0IGNoYXIgKnRyMl9sYWJlbCkKK3sKKwlpbnQgcmVzdWx0OworCisJdHJhY2UyX3JlZ2lvbl9lbnRlcl9wcmludGYodHIyX2NhdGVnb3J5LCB0cjJfbGFiZWwsIE5VTEwsICJtYXg6JWQiLAorCQkJCSAgICgobiA8IDEpID8gb25saW5lX2NwdXMoKSA6IG4pKTsKKworCXJlc3VsdCA9IHJ1bl9wcm9jZXNzZXNfcGFyYWxsZWwobiwgZ2V0X25leHRfdGFzaywgc3RhcnRfZmFpbHVyZSwKKwkJCQkJdGFza19maW5pc2hlZCwgcHBfY2IpOworCisJdHJhY2UyX3JlZ2lvbl9sZWF2ZSh0cjJfY2F0ZWdvcnksIHRyMl9sYWJlbCwgTlVMTCk7CisKKwlyZXR1cm4gcmVzdWx0OworfQpkaWZmIC0tZ2l0IGEvcnVuLWNvbW1hbmQuaCBiL3J1bi1jb21tYW5kLmgKaW5kZXggNjhmNTM2OS4uMGYzY2M3MyAxMDA2NDQKLS0tIGEvcnVuLWNvbW1hbmQuaAorKysgYi9ydW4tY29tbWFuZC5oCkBAIC01LDE1ICs1LDczIEBACiAKICNpbmNsdWRlICJhcmd2LWFycmF5LmgiCiAKKy8qKgorICogVGhlIHJ1bi1jb21tYW5kIEFQSSBvZmZlcnMgYSB2ZXJzYXRpbGUgdG9vbCB0byBydW4gc3ViLXByb2Nlc3NlcyB3aXRoCisgKiByZWRpcmVjdGVkIGlucHV0IGFuZCBvdXRwdXQgYXMgd2VsbCBhcyB3aXRoIGEgbW9kaWZpZWQgZW52aXJvbm1lbnQKKyAqIGFuZCBhbiBhbHRlcm5hdGUgY3VycmVudCBkaXJlY3RvcnkuCisgKgorICogQSBzaW1pbGFyIEFQSSBvZmZlcnMgdGhlIGNhcGFiaWxpdHkgdG8gcnVuIGEgZnVuY3Rpb24gYXN5bmNocm9ub3VzbHksCisgKiB3aGljaCBpcyBwcmltYXJpbHkgdXNlZCB0byBjYXB0dXJlIHRoZSBvdXRwdXQgdGhhdCB0aGUgZnVuY3Rpb24KKyAqIHByb2R1Y2VzIGluIHRoZSBjYWxsZXIgaW4gb3JkZXIgdG8gcHJvY2VzcyBpdC4KKyAqLworCisKKy8qKgorICogVGhpcyBkZXNjcmliZXMgdGhlIGFyZ3VtZW50cywgcmVkaXJlY3Rpb25zLCBhbmQgZW52aXJvbm1lbnQgb2YgYQorICogY29tbWFuZCB0byBydW4gaW4gYSBzdWItcHJvY2Vzcy4KKyAqCisgKiBUaGUgY2FsbGVyOgorICoKKyAqIDEuIGFsbG9jYXRlcyBhbmQgY2xlYXJzICh1c2luZyBjaGlsZF9wcm9jZXNzX2luaXQoKSBvcgorICogICAgQ0hJTERfUFJPQ0VTU19JTklUKSBhIHN0cnVjdCBjaGlsZF9wcm9jZXNzIHZhcmlhYmxlOworICogMi4gaW5pdGlhbGl6ZXMgdGhlIG1lbWJlcnM7CisgKiAzLiBjYWxscyBzdGFydF9jb21tYW5kKCk7CisgKiA0LiBwcm9jZXNzZXMgdGhlIGRhdGE7CisgKiA1LiBjbG9zZXMgZmlsZSBkZXNjcmlwdG9ycyAoaWYgbmVjZXNzYXJ5OyBzZWUgYmVsb3cpOworICogNi4gY2FsbHMgZmluaXNoX2NvbW1hbmQoKS4KKyAqCisgKiBTcGVjaWFsIGZvcm1zIG9mIHJlZGlyZWN0aW9uIGFyZSBhdmFpbGFibGUgYnkgc2V0dGluZyB0aGVzZSBtZW1iZXJzCisgKiB0byAxOgorICoKKyAqICAubm9fc3RkaW4sIC5ub19zdGRvdXQsIC5ub19zdGRlcnI6IFRoZSByZXNwZWN0aXZlIGNoYW5uZWwgaXMKKyAqCQlyZWRpcmVjdGVkIHRvIC9kZXYvbnVsbC4KKyAqCisgKgkuc3Rkb3V0X3RvX3N0ZGVycjogc3Rkb3V0IG9mIHRoZSBjaGlsZCBpcyByZWRpcmVjdGVkIHRvIGl0cworICoJCXN0ZGVyci4gVGhpcyBoYXBwZW5zIGFmdGVyIHN0ZGVyciBpcyBpdHNlbGYgcmVkaXJlY3RlZC4KKyAqCQlTbyBzdGRvdXQgd2lsbCBmb2xsb3cgc3RkZXJyIHRvIHdoZXJldmVyIGl0IGlzCisgKgkJcmVkaXJlY3RlZC4KKyAqLwogc3RydWN0IGNoaWxkX3Byb2Nlc3MgeworCisJLyoqCisJICogVGhlIC5hcmd2IG1lbWJlciBpcyBzZXQgdXAgYXMgYW4gYXJyYXkgb2Ygc3RyaW5nIHBvaW50ZXJzIChOVUxMCisJICogdGVybWluYXRlZCksIG9mIHdoaWNoIC5hcmd2WzBdIGlzIHRoZSBwcm9ncmFtIG5hbWUgdG8gcnVuICh1c3VhbGx5CisJICogd2l0aG91dCBhIHBhdGgpLiBJZiB0aGUgY29tbWFuZCB0byBydW4gaXMgYSBnaXQgY29tbWFuZCwgc2V0IGFyZ3ZbMF0gdG8KKwkgKiB0aGUgY29tbWFuZCBuYW1lIHdpdGhvdXQgdGhlICdnaXQtJyBwcmVmaXggYW5kIHNldCAuZ2l0X2NtZCA9IDEuCisJICoKKwkgKiBOb3RlIHRoYXQgdGhlIG93bmVyc2hpcCBvZiB0aGUgbWVtb3J5IHBvaW50ZWQgdG8gYnkgLmFyZ3Ygc3RheXMgd2l0aCB0aGUKKwkgKiBjYWxsZXIsIGJ1dCBpdCBzaG91bGQgc3Vydml2ZSB1bnRpbCBgZmluaXNoX2NvbW1hbmRgIGNvbXBsZXRlcy4gSWYgdGhlCisJICogLmFyZ3YgbWVtYmVyIGlzIE5VTEwsIGBzdGFydF9jb21tYW5kYCB3aWxsIHBvaW50IGl0IGF0IHRoZSAuYXJncworCSAqIGBhcmd2X2FycmF5YCAoc28geW91IG1heSB1c2Ugb25lIG9yIHRoZSBvdGhlciwgYnV0IHlvdSBtdXN0IHVzZSBleGFjdGx5CisJICogb25lKS4gVGhlIG1lbW9yeSBpbiAuYXJncyB3aWxsIGJlIGNsZWFuZWQgdXAgYXV0b21hdGljYWxseSBkdXJpbmcKKwkgKiBgZmluaXNoX2NvbW1hbmRgIChvciBkdXJpbmcgYHN0YXJ0X2NvbW1hbmRgIHdoZW4gaXQgaXMgdW5zdWNjZXNzZnVsKS4KKwkgKgorCSAqLwogCWNvbnN0IGNoYXIgKiphcmd2OworCiAJc3RydWN0IGFyZ3ZfYXJyYXkgYXJnczsKIAlzdHJ1Y3QgYXJndl9hcnJheSBlbnZfYXJyYXk7CiAJcGlkX3QgcGlkOworCisJaW50IHRyYWNlMl9jaGlsZF9pZDsKKwl1aW50NjRfdCB0cmFjZTJfY2hpbGRfdXNfc3RhcnQ7CisJY29uc3QgY2hhciAqdHJhY2UyX2NoaWxkX2NsYXNzOworCWNvbnN0IGNoYXIgKnRyYWNlMl9ob29rX25hbWU7CisKIAkvKgogCSAqIFVzaW5nIC5pbiwgLm91dCwgLmVycjoKLQkgKiAtIFNwZWNpZnkgMCBmb3Igbm8gcmVkaXJlY3Rpb25zIChjaGlsZCBpbmhlcml0cyBzdGRpbiwgc3Rkb3V0LAotCSAqICAgc3RkZXJyIGZyb20gcGFyZW50KS4KKwkgKiAtIFNwZWNpZnkgMCBmb3Igbm8gcmVkaXJlY3Rpb25zLiBObyBuZXcgZmlsZSBkZXNjcmlwdG9yIGlzIGFsbG9jYXRlZC4KKwkgKiAoY2hpbGQgaW5oZXJpdHMgc3RkaW4sIHN0ZG91dCwgc3RkZXJyIGZyb20gcGFyZW50KS4KIAkgKiAtIFNwZWNpZnkgLTEgdG8gaGF2ZSBhIHBpcGUgYWxsb2NhdGVkIGFzIGZvbGxvd3M6CiAJICogICAgIC5pbjogcmV0dXJucyB0aGUgd3JpdGFibGUgcGlwZSBlbmQ7IHBhcmVudCB3cml0ZXMgdG8gaXQsCiAJICogICAgICAgICAgdGhlIHJlYWRhYmxlIHBpcGUgZW5kIGJlY29tZXMgY2hpbGQncyBzdGRpbgpAQCAtMzEsMTMgKzg5LDQzIEBACiAJaW50IGluOwogCWludCBvdXQ7CiAJaW50IGVycjsKKworCS8qKgorCSAqIFRvIHNwZWNpZnkgYSBuZXcgaW5pdGlhbCB3b3JraW5nIGRpcmVjdG9yeSBmb3IgdGhlIHN1Yi1wcm9jZXNzLAorCSAqIHNwZWNpZnkgaXQgaW4gdGhlIC5kaXIgbWVtYmVyLgorCSAqLwogCWNvbnN0IGNoYXIgKmRpcjsKKworCS8qKgorCSAqIFRvIG1vZGlmeSB0aGUgZW52aXJvbm1lbnQgb2YgdGhlIHN1Yi1wcm9jZXNzLCBzcGVjaWZ5IGFuIGFycmF5IG9mCisJICogc3RyaW5nIHBvaW50ZXJzIChOVUxMIHRlcm1pbmF0ZWQpIGluIC5lbnY6CisJICoKKwkgKiAtIElmIHRoZSBzdHJpbmcgaXMgb2YgdGhlIGZvcm0gIlZBUj12YWx1ZSIsIGkuZS4gaXQgY29udGFpbnMgJz0nCisJICogICB0aGUgdmFyaWFibGUgaXMgYWRkZWQgdG8gdGhlIGNoaWxkIHByb2Nlc3MncyBlbnZpcm9ubWVudC4KKwkgKgorCSAqIC0gSWYgdGhlIHN0cmluZyBkb2VzIG5vdCBjb250YWluICc9JywgaXQgbmFtZXMgYW4gZW52aXJvbm1lbnQKKwkgKiAgIHZhcmlhYmxlIHRoYXQgd2lsbCBiZSByZW1vdmVkIGZyb20gdGhlIGNoaWxkIHByb2Nlc3MncyBlbnZpcm9ubWVudC4KKwkgKgorCSAqIElmIHRoZSAuZW52IG1lbWJlciBpcyBOVUxMLCBgc3RhcnRfY29tbWFuZGAgd2lsbCBwb2ludCBpdCBhdCB0aGUKKwkgKiAuZW52X2FycmF5IGBhcmd2X2FycmF5YCAoc28geW91IG1heSB1c2Ugb25lIG9yIHRoZSBvdGhlciwgYnV0IG5vdCBib3RoKS4KKwkgKiBUaGUgbWVtb3J5IGluIC5lbnZfYXJyYXkgd2lsbCBiZSBjbGVhbmVkIHVwIGF1dG9tYXRpY2FsbHkgZHVyaW5nCisJICogYGZpbmlzaF9jb21tYW5kYCAob3IgZHVyaW5nIGBzdGFydF9jb21tYW5kYCB3aGVuIGl0IGlzIHVuc3VjY2Vzc2Z1bCkuCisJICovCiAJY29uc3QgY2hhciAqY29uc3QgKmVudjsKKwogCXVuc2lnbmVkIG5vX3N0ZGluOjE7CiAJdW5zaWduZWQgbm9fc3Rkb3V0OjE7CiAJdW5zaWduZWQgbm9fc3RkZXJyOjE7CiAJdW5zaWduZWQgZ2l0X2NtZDoxOyAvKiBpZiB0aGlzIGlzIHRvIGJlIGdpdCBzdWItY29tbWFuZCAqLworCisJLyoqCisJICogSWYgdGhlIHByb2dyYW0gY2Fubm90IGJlIGZvdW5kLCB0aGUgZnVuY3Rpb25zIHJldHVybiAtMSBhbmQgc2V0CisJICogZXJybm8gdG8gRU5PRU5ULiBOb3JtYWxseSwgYW4gZXJyb3IgbWVzc2FnZSBpcyBwcmludGVkLCBidXQgaWYKKwkgKiAuc2lsZW50X2V4ZWNfZmFpbHVyZSBpcyBzZXQgdG8gMSwgbm8gbWVzc2FnZSBpcyBwcmludGVkIGZvciB0aGlzCisJICogc3BlY2lhbCBlcnJvciBjb25kaXRpb24uCisJICovCiAJdW5zaWduZWQgc2lsZW50X2V4ZWNfZmFpbHVyZToxOworCiAJdW5zaWduZWQgc3Rkb3V0X3RvX3N0ZGVycjoxOwogCXVuc2lnbmVkIHVzZV9zaGVsbDoxOwogCXVuc2lnbmVkIGNsZWFuX29uX2V4aXQ6MTsKQEAgLTQ3LDEzICsxMzUsNjMgQEAKIH07CiAKICNkZWZpbmUgQ0hJTERfUFJPQ0VTU19JTklUIHsgTlVMTCwgQVJHVl9BUlJBWV9JTklULCBBUkdWX0FSUkFZX0lOSVQgfQotdm9pZCBjaGlsZF9wcm9jZXNzX2luaXQoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKik7Ci12b2lkIGNoaWxkX3Byb2Nlc3NfY2xlYXIoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKik7Ci1leHRlcm4gaW50IGlzX2V4ZWN1dGFibGUoY29uc3QgY2hhciAqbmFtZSk7CiAKKy8qKgorICogVGhlIGZ1bmN0aW9uczogY2hpbGRfcHJvY2Vzc19pbml0LCBzdGFydF9jb21tYW5kLCBmaW5pc2hfY29tbWFuZCwKKyAqIHJ1bl9jb21tYW5kLCBydW5fY29tbWFuZF92X29wdCwgcnVuX2NvbW1hbmRfdl9vcHRfY2RfZW52LCBjaGlsZF9wcm9jZXNzX2NsZWFyCisgKiBkbyB0aGUgZm9sbG93aW5nOgorICoKKyAqIC0gSWYgYSBzeXN0ZW0gY2FsbCBmYWlsZWQsIGVycm5vIGlzIHNldCBhbmQgLTEgaXMgcmV0dXJuZWQuIEEgZGlhZ25vc3RpYworICogICBpcyBwcmludGVkLgorICoKKyAqIC0gSWYgdGhlIHByb2dyYW0gd2FzIG5vdCBmb3VuZCwgdGhlbiAtMSBpcyByZXR1cm5lZCBhbmQgZXJybm8gaXMgc2V0IHRvCisgKiAgIEVOT0VOVDsgYSBkaWFnbm9zdGljIGlzIHByaW50ZWQgb25seSBpZiAuc2lsZW50X2V4ZWNfZmFpbHVyZSBpcyAwLgorICoKKyAqIC0gT3RoZXJ3aXNlLCB0aGUgcHJvZ3JhbSBpcyBydW4uIElmIGl0IHRlcm1pbmF0ZXMgcmVndWxhcmx5LCBpdHMgZXhpdAorICogICBjb2RlIGlzIHJldHVybmVkLiBObyBkaWFnbm9zdGljIGlzIHByaW50ZWQsIGV2ZW4gaWYgdGhlIGV4aXQgY29kZSBpcworICogICBub24temVyby4KKyAqCisgKiAtIElmIHRoZSBwcm9ncmFtIHRlcm1pbmF0ZWQgZHVlIHRvIGEgc2lnbmFsLCB0aGVuIHRoZSByZXR1cm4gdmFsdWUgaXMgdGhlCisgKiAgIHNpZ25hbCBudW1iZXIgKyAxMjgsIGllLiB0aGUgc2FtZSB2YWx1ZSB0aGF0IGEgUE9TSVggc2hlbGwncyAkPyB3b3VsZAorICogICByZXBvcnQuICBBIGRpYWdub3N0aWMgaXMgcHJpbnRlZC4KKyAqCisgKi8KKworLyoqCisgKiBJbml0aWFsaXplIGEgc3RydWN0IGNoaWxkX3Byb2Nlc3MgdmFyaWFibGUuCisgKi8KK3ZvaWQgY2hpbGRfcHJvY2Vzc19pbml0KHN0cnVjdCBjaGlsZF9wcm9jZXNzICopOworCisvKioKKyAqIFJlbGVhc2UgdGhlIG1lbW9yeSBhc3NvY2lhdGVkIHdpdGggdGhlIHN0cnVjdCBjaGlsZF9wcm9jZXNzLgorICogTW9zdCB1c2VycyBvZiB0aGUgcnVuLWNvbW1hbmQgQVBJIGRvbid0IG5lZWQgdG8gY2FsbCB0aGlzCisgKiBmdW5jdGlvbiBleHBsaWNpdGx5IGJlY2F1c2UgYHN0YXJ0X2NvbW1hbmRgIGludm9rZXMgaXQgb24KKyAqIGZhaWx1cmUgYW5kIGBmaW5pc2hfY29tbWFuZGAgY2FsbHMgaXQgYXV0b21hdGljYWxseSBhbHJlYWR5LgorICovCit2b2lkIGNoaWxkX3Byb2Nlc3NfY2xlYXIoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKik7CisKK2ludCBpc19leGVjdXRhYmxlKGNvbnN0IGNoYXIgKm5hbWUpOworCisvKioKKyAqIFN0YXJ0IGEgc3ViLXByb2Nlc3MuIFRha2VzIGEgcG9pbnRlciB0byBhIGBzdHJ1Y3QgY2hpbGRfcHJvY2Vzc2AKKyAqIHRoYXQgc3BlY2lmaWVzIHRoZSBkZXRhaWxzIGFuZCByZXR1cm5zIHBpcGUgRkRzIChpZiByZXF1ZXN0ZWQpLgorICogU2VlIGJlbG93IGZvciBkZXRhaWxzLgorICovCiBpbnQgc3RhcnRfY29tbWFuZChzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqKTsKKworLyoqCisgKiBXYWl0IGZvciB0aGUgY29tcGxldGlvbiBvZiBhIHN1Yi1wcm9jZXNzIHRoYXQgd2FzIHN0YXJ0ZWQgd2l0aAorICogc3RhcnRfY29tbWFuZCgpLgorICovCiBpbnQgZmluaXNoX2NvbW1hbmQoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKik7CisKIGludCBmaW5pc2hfY29tbWFuZF9pbl9zaWduYWwoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKik7CisKKy8qKgorICogQSBjb252ZW5pZW5jZSBmdW5jdGlvbiB0aGF0IGVuY2Fwc3VsYXRlcyBhIHNlcXVlbmNlIG9mCisgKiBzdGFydF9jb21tYW5kKCkgZm9sbG93ZWQgYnkgZmluaXNoX2NvbW1hbmQoKS4gVGFrZXMgYSBwb2ludGVyCisgKiB0byBhIGBzdHJ1Y3QgY2hpbGRfcHJvY2Vzc2AgdGhhdCBzcGVjaWZpZXMgdGhlIGRldGFpbHMuCisgKi8KIGludCBydW5fY29tbWFuZChzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqKTsKIAogLyoKQEAgLTYxLDEwICsxOTksMjQgQEAKICAqIG9yIGRpc2FibGVkLiBOb3RlIHRoYXQgdGhpcyBwb2ludHMgdG8gc3RhdGljIHN0b3JhZ2UgdGhhdCB3aWxsIGJlCiAgKiBvdmVyd3JpdHRlbiBieSBmdXJ0aGVyIGNhbGxzIHRvIGZpbmRfaG9vayBhbmQgcnVuX2hvb2tfKi4KICAqLwotZXh0ZXJuIGNvbnN0IGNoYXIgKmZpbmRfaG9vayhjb25zdCBjaGFyICpuYW1lKTsKK2NvbnN0IGNoYXIgKmZpbmRfaG9vayhjb25zdCBjaGFyICpuYW1lKTsKKworLyoqCisgKiBSdW4gYSBob29rLgorICogVGhlIGZpcnN0IGFyZ3VtZW50IGlzIGEgcGF0aG5hbWUgdG8gYW4gaW5kZXggZmlsZSwgb3IgTlVMTAorICogaWYgdGhlIGhvb2sgdXNlcyB0aGUgZGVmYXVsdCBpbmRleCBmaWxlIG9yIG5vIGluZGV4IGlzIG5lZWRlZC4KKyAqIFRoZSBzZWNvbmQgYXJndW1lbnQgaXMgdGhlIG5hbWUgb2YgdGhlIGhvb2suCisgKiBUaGUgZnVydGhlciBhcmd1bWVudHMgY29ycmVzcG9uZCB0byB0aGUgaG9vayBhcmd1bWVudHMuCisgKiBUaGUgbGFzdCBhcmd1bWVudCBoYXMgdG8gYmUgTlVMTCB0byB0ZXJtaW5hdGUgdGhlIGFyZ3VtZW50cyBsaXN0LgorICogSWYgdGhlIGhvb2sgZG9lcyBub3QgZXhpc3Qgb3IgaXMgbm90IGV4ZWN1dGFibGUsIHRoZSByZXR1cm4KKyAqIHZhbHVlIHdpbGwgYmUgemVyby4KKyAqIElmIGl0IGlzIGV4ZWN1dGFibGUsIHRoZSBob29rIHdpbGwgYmUgZXhlY3V0ZWQgYW5kIHRoZSBleGl0CisgKiBzdGF0dXMgb2YgdGhlIGhvb2sgaXMgcmV0dXJuZWQuCisgKiBPbiBleGVjdXRpb24sIC5zdGRvdXRfdG9fc3RkZXJyIGFuZCAubm9fc3RkaW4gd2lsbCBiZSBzZXQuCisgKi8KIExBU1RfQVJHX01VU1RfQkVfTlVMTAotZXh0ZXJuIGludCBydW5faG9va19sZShjb25zdCBjaGFyICpjb25zdCAqZW52LCBjb25zdCBjaGFyICpuYW1lLCAuLi4pOwotZXh0ZXJuIGludCBydW5faG9va192ZShjb25zdCBjaGFyICpjb25zdCAqZW52LCBjb25zdCBjaGFyICpuYW1lLCB2YV9saXN0IGFyZ3MpOworaW50IHJ1bl9ob29rX2xlKGNvbnN0IGNoYXIgKmNvbnN0ICplbnYsIGNvbnN0IGNoYXIgKm5hbWUsIC4uLik7CitpbnQgcnVuX2hvb2tfdmUoY29uc3QgY2hhciAqY29uc3QgKmVudiwgY29uc3QgY2hhciAqbmFtZSwgdmFfbGlzdCBhcmdzKTsKIAogI2RlZmluZSBSVU5fQ09NTUFORF9OT19TVERJTiAxCiAjZGVmaW5lIFJVTl9HSVRfQ01ECSAgICAgMgkvKklmIHRoaXMgaXMgdG8gYmUgZ2l0IHN1Yi1jb21tYW5kICovCkBAIC03MiwxMyArMjI0LDI3IEBACiAjZGVmaW5lIFJVTl9TSUxFTlRfRVhFQ19GQUlMVVJFIDgKICNkZWZpbmUgUlVOX1VTSU5HX1NIRUxMIDE2CiAjZGVmaW5lIFJVTl9DTEVBTl9PTl9FWElUIDMyCi1pbnQgcnVuX2NvbW1hbmRfdl9vcHQoY29uc3QgY2hhciAqKmFyZ3YsIGludCBvcHQpOwogCisvKioKKyAqIENvbnZlbmllbmNlIGZ1bmN0aW9ucyB0aGF0IGVuY2Fwc3VsYXRlIGEgc2VxdWVuY2Ugb2YKKyAqIHN0YXJ0X2NvbW1hbmQoKSBmb2xsb3dlZCBieSBmaW5pc2hfY29tbWFuZCgpLiBUaGUgYXJndW1lbnQgYXJndgorICogc3BlY2lmaWVzIHRoZSBwcm9ncmFtIGFuZCBpdHMgYXJndW1lbnRzLiBUaGUgYXJndW1lbnQgb3B0IGlzIHplcm8KKyAqIG9yIG1vcmUgb2YgdGhlIGZsYWdzIGBSVU5fQ09NTUFORF9OT19TVERJTmAsIGBSVU5fR0lUX0NNRGAsCisgKiBgUlVOX0NPTU1BTkRfU1RET1VUX1RPX1NUREVSUmAsIG9yIGBSVU5fU0lMRU5UX0VYRUNfRkFJTFVSRWAKKyAqIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgbWVtYmVycyAubm9fc3RkaW4sIC5naXRfY21kLAorICogLnN0ZG91dF90b19zdGRlcnIsIC5zaWxlbnRfZXhlY19mYWlsdXJlIG9mIGBzdHJ1Y3QgY2hpbGRfcHJvY2Vzc2AuCisgKiBUaGUgYXJndW1lbnQgZGlyIGNvcnJlc3BvbmRzIHRoZSBtZW1iZXIgLmRpci4gVGhlIGFyZ3VtZW50IGVudgorICogY29ycmVzcG9uZHMgdG8gdGhlIG1lbWJlciAuZW52LgorICovCitpbnQgcnVuX2NvbW1hbmRfdl9vcHQoY29uc3QgY2hhciAqKmFyZ3YsIGludCBvcHQpOworaW50IHJ1bl9jb21tYW5kX3Zfb3B0X3RyMihjb25zdCBjaGFyICoqYXJndiwgaW50IG9wdCwgY29uc3QgY2hhciAqdHIyX2NsYXNzKTsKIC8qCiAgKiBlbnYgKHRoZSBlbnZpcm9ubWVudCkgaXMgdG8gYmUgZm9ybWF0dGVkIGxpa2UgZW52aXJvbjogIlZBUj1WQUxVRSIuCiAgKiBUbyB1bnNldCBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB1c2UganVzdCAiVkFSIi4KICAqLwogaW50IHJ1bl9jb21tYW5kX3Zfb3B0X2NkX2Vudihjb25zdCBjaGFyICoqYXJndiwgaW50IG9wdCwgY29uc3QgY2hhciAqZGlyLCBjb25zdCBjaGFyICpjb25zdCAqZW52KTsKK2ludCBydW5fY29tbWFuZF92X29wdF9jZF9lbnZfdHIyKGNvbnN0IGNoYXIgKiphcmd2LCBpbnQgb3B0LCBjb25zdCBjaGFyICpkaXIsCisJCQkJIGNvbnN0IGNoYXIgKmNvbnN0ICplbnYsIGNvbnN0IGNoYXIgKnRyMl9jbGFzcyk7CiAKIC8qKgogICogRXhlY3V0ZSB0aGUgZ2l2ZW4gY29tbWFuZCwgc2VuZGluZyAiaW4iIHRvIGl0cyBzdGRpbiwgYW5kIGNhcHR1cmluZyBpdHMKQEAgLTExNywxNSArMjgzLDg0IEBACiAgKiBJdCBpcyBleHBlY3RlZCB0aGF0IG5vIHN5bmNocm9uaXphdGlvbiBhbmQgbXV0dWFsIGV4Y2x1c2lvbiBiZXR3ZWVuCiAgKiB0aGUgY2FsbGVyIGFuZCB0aGUgZmVlZCBmdW5jdGlvbiBpcyBuZWNlc3Nhcnkgc28gdGhhdCB0aGUgZnVuY3Rpb24KICAqIGNhbiBydW4gaW4gYSB0aHJlYWQgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIHRoZSBjYWxsZXIuCisgKgorICogVGhlIGNhbGxlcjoKKyAqCisgKiAxLiBhbGxvY2F0ZXMgYW5kIGNsZWFycyAobWVtc2V0KCZhc3ksIDAsIHNpemVvZihhc3kpKTspIGEKKyAqICAgIHN0cnVjdCBhc3luYyB2YXJpYWJsZTsKKyAqIDIuIGluaXRpYWxpemVzIC5wcm9jIGFuZCAuZGF0YTsKKyAqIDMuIGNhbGxzIHN0YXJ0X2FzeW5jKCk7CisgKiA0LiBwcm9jZXNzZXMgY29tbXVuaWNhdGVzIHdpdGggcHJvYyB0aHJvdWdoIC5pbiBhbmQgLm91dDsKKyAqIDUuIGNsb3NlcyAuaW4gYW5kIC5vdXQ7CisgKiA2LiBjYWxscyBmaW5pc2hfYXN5bmMoKS4KKyAqCisgKiBUaGVyZSBhcmUgc2VyaW91cyByZXN0cmljdGlvbnMgb24gd2hhdCB0aGUgYXN5bmNocm9ub3VzIGZ1bmN0aW9uIGNhbiBkbworICogYmVjYXVzZSB0aGlzIGZhY2lsaXR5IGlzIGltcGxlbWVudGVkIGJ5IGEgdGhyZWFkIGluIHRoZSBzYW1lIGFkZHJlc3MKKyAqIHNwYWNlIG9uIG1vc3QgcGxhdGZvcm1zICh3aGVuIHB0aHJlYWRzIGlzIGF2YWlsYWJsZSksIGJ1dCBieSBhIHBpcGUgdG8KKyAqIGEgZm9ya2VkIHByb2Nlc3Mgb3RoZXJ3aXNlOgorICoKKyAqIC0gSXQgY2Fubm90IGNoYW5nZSB0aGUgcHJvZ3JhbSdzIHN0YXRlIChnbG9iYWwgdmFyaWFibGVzLCBlbnZpcm9ubWVudCwKKyAqICAgZXRjLikgaW4gYSB3YXkgdGhhdCB0aGUgY2FsbGVyIG5vdGljZXM7IGluIG90aGVyIHdvcmRzLCAuaW4gYW5kIC5vdXQKKyAqICAgYXJlIHRoZSBvbmx5IGNvbW11bmljYXRpb24gY2hhbm5lbHMgdG8gdGhlIGNhbGxlci4KKyAqCisgKiAtIEl0IG11c3Qgbm90IGNoYW5nZSB0aGUgcHJvZ3JhbSdzIHN0YXRlIHRoYXQgdGhlIGNhbGxlciBvZiB0aGUKKyAqICAgZmFjaWxpdHkgYWxzbyB1c2VzLgorICoKICAqLwogc3RydWN0IGFzeW5jIHsKLQkvKgotCSAqIHByb2MgcmVhZHMgZnJvbSBpbjsgY2xvc2VzIGl0IGJlZm9yZSByZXR1cm4KLQkgKiBwcm9jIHdyaXRlcyB0byBvdXQ7IGNsb3NlcyBpdCBiZWZvcmUgcmV0dXJuCi0JICogcmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvIG9uIGZhaWx1cmUKKworCS8qKgorCSAqIFRoZSBmdW5jdGlvbiBwb2ludGVyIGluIC5wcm9jIGhhcyB0aGUgZm9sbG93aW5nIHNpZ25hdHVyZToKKwkgKgorCSAqCWludCBwcm9jKGludCBpbiwgaW50IG91dCwgdm9pZCAqZGF0YSk7CisJICoKKwkgKiAtIGluLCBvdXQgc3BlY2lmaWVzIGEgc2V0IG9mIGZpbGUgZGVzY3JpcHRvcnMgdG8gd2hpY2ggdGhlIGZ1bmN0aW9uCisJICogIG11c3QgcmVhZC93cml0ZSB0aGUgZGF0YSB0aGF0IGl0IG5lZWRzL3Byb2R1Y2VzLiAgVGhlIGZ1bmN0aW9uCisJICogICptdXN0KiBjbG9zZSB0aGVzZSBkZXNjcmlwdG9ycyBiZWZvcmUgaXQgcmV0dXJucy4gIEEgZGVzY3JpcHRvcgorCSAqICBtYXkgYmUgLTEgaWYgdGhlIGNhbGxlciBkaWQgbm90IGNvbmZpZ3VyZSBhIGRlc2NyaXB0b3IgZm9yIHRoYXQKKwkgKiAgZGlyZWN0aW9uLgorCSAqCisJICogLSBkYXRhIGlzIHRoZSB2YWx1ZSB0aGF0IHRoZSBjYWxsZXIgaGFzIHNwZWNpZmllZCBpbiB0aGUgLmRhdGEgbWVtYmVyCisJICogIG9mIHN0cnVjdCBhc3luYy4KKwkgKgorCSAqIC0gVGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZnVuY3Rpb24gaXMgMCBvbiBzdWNjZXNzIGFuZCBub24temVybworCSAqICBvbiBmYWlsdXJlLiBJZiB0aGUgZnVuY3Rpb24gaW5kaWNhdGVzIGZhaWx1cmUsIGZpbmlzaF9hc3luYygpIHdpbGwKKwkgKiAgcmVwb3J0IGZhaWx1cmUgYXMgd2VsbC4KKwkgKgogCSAqLwogCWludCAoKnByb2MpKGludCBpbiwgaW50IG91dCwgdm9pZCAqZGF0YSk7CisKIAl2b2lkICpkYXRhOworCisJLyoqCisJICogVGhlIG1lbWJlcnMgLmluLCAub3V0IGFyZSB1c2VkIHRvIHByb3ZpZGUgYSBzZXQgb2YgZmQncyBmb3IKKwkgKiBjb21tdW5pY2F0aW9uIGJldHdlZW4gdGhlIGNhbGxlciBhbmQgdGhlIGNhbGxlZSBhcyBmb2xsb3dzOgorCSAqCisJICogLSBTcGVjaWZ5IDAgdG8gaGF2ZSBubyBmaWxlIGRlc2NyaXB0b3IgcGFzc2VkLiAgVGhlIGNhbGxlZSB3aWxsCisJICogICByZWNlaXZlIC0xIGluIHRoZSBjb3JyZXNwb25kaW5nIGFyZ3VtZW50LgorCSAqCisJICogLSBTcGVjaWZ5IDwgMCB0byBoYXZlIGEgcGlwZSBhbGxvY2F0ZWQ7IHN0YXJ0X2FzeW5jKCkgcmVwbGFjZXMKKwkgKiAgIHdpdGggdGhlIHBpcGUgRkQgaW4gdGhlIGZvbGxvd2luZyB3YXk6CisJICoKKwkgKiAJLmluOiBSZXR1cm5zIHRoZSB3cml0YWJsZSBwaXBlIGVuZCBpbnRvIHdoaWNoIHRoZSBjYWxsZXIKKwkgKiAJd3JpdGVzOyB0aGUgcmVhZGFibGUgZW5kIG9mIHRoZSBwaXBlIGJlY29tZXMgdGhlIGZ1bmN0aW9uJ3MKKwkgKiAJaW4gYXJndW1lbnQuCisJICoKKwkgKiAJLm91dDogUmV0dXJucyB0aGUgcmVhZGFibGUgcGlwZSBlbmQgZnJvbSB3aGljaCB0aGUgY2FsbGVyCisJICogCXJlYWRzOyB0aGUgd3JpdGFibGUgZW5kIG9mIHRoZSBwaXBlIGJlY29tZXMgdGhlIGZ1bmN0aW9uJ3MKKwkgKiAJb3V0IGFyZ3VtZW50LgorCSAqCisJICogICBUaGUgY2FsbGVyIG9mIHN0YXJ0X2FzeW5jKCkgbXVzdCBjbG9zZSB0aGUgcmV0dXJuZWQgRkRzIGFmdGVyIGl0CisJICogICBoYXMgY29tcGxldGVkIHJlYWRpbmcgZnJvbS93cml0aW5nIGZyb20gdGhlbS4KKwkgKgorCSAqIC0gU3BlY2lmeSBhIGZpbGUgZGVzY3JpcHRvciA+IDAgdG8gYmUgdXNlZCBieSB0aGUgZnVuY3Rpb246CisJICoKKwkgKiAJLmluOiBUaGUgRkQgbXVzdCBiZSByZWFkYWJsZTsgaXQgYmVjb21lcyB0aGUgZnVuY3Rpb24ncyBpbi4KKwkgKiAJLm91dDogVGhlIEZEIG11c3QgYmUgd3JpdGFibGU7IGl0IGJlY29tZXMgdGhlIGZ1bmN0aW9uJ3Mgb3V0LgorCSAqCisJICogICBUaGUgc3BlY2lmaWVkIEZEIGlzIGNsb3NlZCBieSBzdGFydF9hc3luYygpLCBldmVuIGlmIGl0IGZhaWxzIHRvCisJICogICBydW4gdGhlIGZ1bmN0aW9uLgorCSAqLwogCWludCBpbjsJCS8qIGNhbGxlciB3cml0ZXMgaGVyZSBhbmQgY2xvc2VzIGl0ICovCiAJaW50IG91dDsJLyogY2FsbGVyIHJlYWRzIGZyb20gaGVyZSBhbmQgY2xvc2VzIGl0ICovCiAjaWZkZWYgTk9fUFRIUkVBRFMKQEAgLTEzOCw4ICszNzMsMTkgQEAKIAlpbnQgaXNvbGF0ZV9zaWdwaXBlOwogfTsKIAorLyoqCisgKiBSdW4gYSBmdW5jdGlvbiBhc3luY2hyb25vdXNseS4gVGFrZXMgYSBwb2ludGVyIHRvIGEgYHN0cnVjdAorICogYXN5bmNgIHRoYXQgc3BlY2lmaWVzIHRoZSBkZXRhaWxzIGFuZCByZXR1cm5zIGEgc2V0IG9mIHBpcGUgRkRzCisgKiBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSBmdW5jdGlvbi4gU2VlIGJlbG93IGZvciBkZXRhaWxzLgorICovCiBpbnQgc3RhcnRfYXN5bmMoc3RydWN0IGFzeW5jICphc3luYyk7CisKKy8qKgorICogV2FpdCBmb3IgdGhlIGNvbXBsZXRpb24gb2YgYW4gYXN5bmNocm9ub3VzIGZ1bmN0aW9uIHRoYXQgd2FzCisgKiBzdGFydGVkIHdpdGggc3RhcnRfYXN5bmMoKS4KKyAqLwogaW50IGZpbmlzaF9hc3luYyhzdHJ1Y3QgYXN5bmMgKmFzeW5jKTsKKwogaW50IGluX2FzeW5jKHZvaWQpOwogaW50IGFzeW5jX3dpdGhfZm9yayh2b2lkKTsKIHZvaWQgY2hlY2tfcGlwZShpbnQgZXJyKTsKQEAgLTIyMCw1ICs0NjYsOCBAQAogCQkJICAgc3RhcnRfZmFpbHVyZV9mbiwKIAkJCSAgIHRhc2tfZmluaXNoZWRfZm4sCiAJCQkgICB2b2lkICpwcF9jYik7CitpbnQgcnVuX3Byb2Nlc3Nlc19wYXJhbGxlbF90cjIoaW50IG4sIGdldF9uZXh0X3Rhc2tfZm4sIHN0YXJ0X2ZhaWx1cmVfZm4sCisJCQkgICAgICAgdGFza19maW5pc2hlZF9mbiwgdm9pZCAqcHBfY2IsCisJCQkgICAgICAgY29uc3QgY2hhciAqdHIyX2NhdGVnb3J5LCBjb25zdCBjaGFyICp0cjJfbGFiZWwpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NlbmQtcGFjay5jIGIvc2VuZC1wYWNrLmMKaW5kZXggZjY5MjY4Ni4uMDQwNzg0MSAxMDA2NDQKLS0tIGEvc2VuZC1wYWNrLmMKKysrIGIvc2VuZC1wYWNrLmMKQEAgLTQwLDcgKzQwLDEwIEBACiAKIHN0YXRpYyB2b2lkIGZlZWRfb2JqZWN0KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgRklMRSAqZmgsIGludCBuZWdhdGl2ZSkKIHsKLQlpZiAobmVnYXRpdmUgJiYgIWhhc19zaGExX2ZpbGUob2lkLT5oYXNoKSkKKwlpZiAobmVnYXRpdmUgJiYKKwkgICAgIWhhc19vYmplY3RfZmlsZV93aXRoX2ZsYWdzKG9pZCwKKwkJCQkJT0JKRUNUX0lORk9fU0tJUF9GRVRDSF9PQkpFQ1QgfAorCQkJCQlPQkpFQ1RfSU5GT19RVUlDSykpCiAJCXJldHVybjsKIAogCWlmIChuZWdhdGl2ZSkKQEAgLTEzNSwzOCArMTM4LDM2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcmVjZWl2ZV91bnBhY2tfc3RhdHVzKGludCBpbikKK3N0YXRpYyBpbnQgcmVjZWl2ZV91bnBhY2tfc3RhdHVzKHN0cnVjdCBwYWNrZXRfcmVhZGVyICpyZWFkZXIpCiB7Ci0JY29uc3QgY2hhciAqbGluZSA9IHBhY2tldF9yZWFkX2xpbmUoaW4sIE5VTEwpOwotCWlmICghbGluZSkKKwlpZiAocGFja2V0X3JlYWRlcl9yZWFkKHJlYWRlcikgIT0gUEFDS0VUX1JFQURfTk9STUFMKQogCQlyZXR1cm4gZXJyb3IoXygidW5leHBlY3RlZCBmbHVzaCBwYWNrZXQgd2hpbGUgcmVhZGluZyByZW1vdGUgdW5wYWNrIHN0YXR1cyIpKTsKLQlpZiAoIXNraXBfcHJlZml4KGxpbmUsICJ1bnBhY2sgIiwgJmxpbmUpKQotCQlyZXR1cm4gZXJyb3IoXygidW5hYmxlIHRvIHBhcnNlIHJlbW90ZSB1bnBhY2sgc3RhdHVzOiAlcyIpLCBsaW5lKTsKLQlpZiAoc3RyY21wKGxpbmUsICJvayIpKQotCQlyZXR1cm4gZXJyb3IoXygicmVtb3RlIHVucGFjayBmYWlsZWQ6ICVzIiksIGxpbmUpOworCWlmICghc2tpcF9wcmVmaXgocmVhZGVyLT5saW5lLCAidW5wYWNrICIsICZyZWFkZXItPmxpbmUpKQorCQlyZXR1cm4gZXJyb3IoXygidW5hYmxlIHRvIHBhcnNlIHJlbW90ZSB1bnBhY2sgc3RhdHVzOiAlcyIpLCByZWFkZXItPmxpbmUpOworCWlmIChzdHJjbXAocmVhZGVyLT5saW5lLCAib2siKSkKKwkJcmV0dXJuIGVycm9yKF8oInJlbW90ZSB1bnBhY2sgZmFpbGVkOiAlcyIpLCByZWFkZXItPmxpbmUpOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHJlY2VpdmVfc3RhdHVzKGludCBpbiwgc3RydWN0IHJlZiAqcmVmcykKK3N0YXRpYyBpbnQgcmVjZWl2ZV9zdGF0dXMoc3RydWN0IHBhY2tldF9yZWFkZXIgKnJlYWRlciwgc3RydWN0IHJlZiAqcmVmcykKIHsKIAlzdHJ1Y3QgcmVmICpoaW50OwogCWludCByZXQ7CiAKIAloaW50ID0gTlVMTDsKLQlyZXQgPSByZWNlaXZlX3VucGFja19zdGF0dXMoaW4pOworCXJldCA9IHJlY2VpdmVfdW5wYWNrX3N0YXR1cyhyZWFkZXIpOwogCXdoaWxlICgxKSB7Ci0JCWNoYXIgKnJlZm5hbWU7CisJCWNvbnN0IGNoYXIgKnJlZm5hbWU7CiAJCWNoYXIgKm1zZzsKLQkJY2hhciAqbGluZSA9IHBhY2tldF9yZWFkX2xpbmUoaW4sIE5VTEwpOwotCQlpZiAoIWxpbmUpCisJCWlmIChwYWNrZXRfcmVhZGVyX3JlYWQocmVhZGVyKSAhPSBQQUNLRVRfUkVBRF9OT1JNQUwpCiAJCQlicmVhazsKLQkJaWYgKCFzdGFydHNfd2l0aChsaW5lLCAib2sgIikgJiYgIXN0YXJ0c193aXRoKGxpbmUsICJuZyAiKSkgewotCQkJZXJyb3IoImludmFsaWQgcmVmIHN0YXR1cyBmcm9tIHJlbW90ZTogJXMiLCBsaW5lKTsKKwkJaWYgKCFzdGFydHNfd2l0aChyZWFkZXItPmxpbmUsICJvayAiKSAmJiAhc3RhcnRzX3dpdGgocmVhZGVyLT5saW5lLCAibmcgIikpIHsKKwkJCWVycm9yKCJpbnZhbGlkIHJlZiBzdGF0dXMgZnJvbSByZW1vdGU6ICVzIiwgcmVhZGVyLT5saW5lKTsKIAkJCXJldCA9IC0xOwogCQkJYnJlYWs7CiAJCX0KIAotCQlyZWZuYW1lID0gbGluZSArIDM7CisJCXJlZm5hbWUgPSByZWFkZXItPmxpbmUgKyAzOwogCQltc2cgPSBzdHJjaHIocmVmbmFtZSwgJyAnKTsKIAkJaWYgKG1zZykKIAkJCSptc2crKyA9ICdcMCc7CkBAIC0xODcsNyArMTg4LDcgQEAKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJaWYgKGxpbmVbMF0gPT0gJ28nICYmIGxpbmVbMV0gPT0gJ2snKQorCQlpZiAocmVhZGVyLT5saW5lWzBdID09ICdvJyAmJiByZWFkZXItPmxpbmVbMV0gPT0gJ2snKQogCQkJaGludC0+c3RhdHVzID0gUkVGX1NUQVRVU19PSzsKIAkJZWxzZSB7CiAJCQloaW50LT5zdGF0dXMgPSBSRUZfU1RBVFVTX1JFTU9URV9SRUpFQ1Q7CkBAIC0zOTAsNiArMzkxLDcgQEAKIAlpbnQgcmV0OwogCXN0cnVjdCBhc3luYyBkZW11eDsKIAljb25zdCBjaGFyICpwdXNoX2NlcnRfbm9uY2UgPSBOVUxMOworCXN0cnVjdCBwYWNrZXRfcmVhZGVyIHJlYWRlcjsKIAogCS8qIERvZXMgdGhlIG90aGVyIGVuZCBzdXBwb3J0IHRoZSByZXBvcnRpbmc/ICovCiAJaWYgKHNlcnZlcl9zdXBwb3J0cygicmVwb3J0LXN0YXR1cyIpKQpAQCAtNTU5LDEwICs1NjEsMTIgQEAKIAkJaW4gPSBkZW11eC5vdXQ7CiAJfQogCisJcGFja2V0X3JlYWRlcl9pbml0KCZyZWFkZXIsIGluLCBOVUxMLCAwLAorCQkJICAgUEFDS0VUX1JFQURfQ0hPTVBfTkVXTElORSB8CisJCQkgICBQQUNLRVRfUkVBRF9ESUVfT05fRVJSX1BBQ0tFVCk7CisKIAlpZiAobmVlZF9wYWNrX2RhdGEgJiYgY21kc19zZW50KSB7CiAJCWlmIChwYWNrX29iamVjdHMob3V0LCByZW1vdGVfcmVmcywgZXh0cmFfaGF2ZSwgYXJncykgPCAwKSB7Ci0JCQlmb3IgKHJlZiA9IHJlbW90ZV9yZWZzOyByZWY7IHJlZiA9IHJlZi0+bmV4dCkKLQkJCQlyZWYtPnN0YXR1cyA9IFJFRl9TVEFUVVNfTk9ORTsKIAkJCWlmIChhcmdzLT5zdGF0ZWxlc3NfcnBjKQogCQkJCWNsb3NlKG91dCk7CiAJCQlpZiAoZ2l0X2Nvbm5lY3Rpb25faXNfc29ja2V0KGNvbm4pKQpAQCAtNTcwLDEwICs1NzQsMTIgQEAKIAogCQkJLyoKIAkJCSAqIERvIG5vdCBldmVuIGJvdGhlciB3aXRoIHRoZSByZXR1cm4gdmFsdWU7IHdlIGtub3cgd2UKLQkJCSAqIGFyZSBmYWlsaW5nLCBhbmQganVzdCB3YW50IHRoZSBlcnJvcigpIHNpZGUgZWZmZWN0cy4KKwkJCSAqIGFyZSBmYWlsaW5nLCBhbmQganVzdCB3YW50IHRoZSBlcnJvcigpIHNpZGUgZWZmZWN0cywKKwkJCSAqIGFzIHdlbGwgYXMgbWFya2luZyByZWZzIHdpdGggdGhlaXIgcmVtb3RlIHN0YXR1cyAoaWYKKwkJCSAqIHdlIGdldCBvbmUpLgogCQkJICovCiAJCQlpZiAoc3RhdHVzX3JlcG9ydCkKLQkJCQlyZWNlaXZlX3VucGFja19zdGF0dXMoaW4pOworCQkJCXJlY2VpdmVfc3RhdHVzKCZyZWFkZXIsIHJlbW90ZV9yZWZzKTsKIAogCQkJaWYgKHVzZV9zaWRlYmFuZCkgewogCQkJCWNsb3NlKGRlbXV4Lm91dCk7CkBAIC01OTAsNyArNTk2LDcgQEAKIAkJcGFja2V0X2ZsdXNoKG91dCk7CiAKIAlpZiAoc3RhdHVzX3JlcG9ydCAmJiBjbWRzX3NlbnQpCi0JCXJldCA9IHJlY2VpdmVfc3RhdHVzKGluLCByZW1vdGVfcmVmcyk7CisJCXJldCA9IHJlY2VpdmVfc3RhdHVzKCZyZWFkZXIsIHJlbW90ZV9yZWZzKTsKIAllbHNlCiAJCXJldCA9IDA7CiAJaWYgKGFyZ3MtPnN0YXRlbGVzc19ycGMpCmRpZmYgLS1naXQgYS9zZXF1ZW5jZXIuYyBiL3NlcXVlbmNlci5jCmluZGV4IGUxYTRkZDEuLjc0NzdiMTUgMTAwNjQ0Ci0tLSBhL3NlcXVlbmNlci5jCisrKyBiL3NlcXVlbmNlci5jCkBAIC0zNSw3ICszNSw3IEBACiAKICNkZWZpbmUgR0lUX1JFRkxPR19BQ1RJT04gIkdJVF9SRUZMT0dfQUNUSU9OIgogCi1jb25zdCBjaGFyIHNpZ25fb2ZmX2hlYWRlcltdID0gIlNpZ25lZC1vZmYtYnk6ICI7CitzdGF0aWMgY29uc3QgY2hhciBzaWduX29mZl9oZWFkZXJbXSA9ICJTaWduZWQtb2ZmLWJ5OiAiOwogc3RhdGljIGNvbnN0IGNoYXIgY2hlcnJ5X3BpY2tlZF9wcmVmaXhbXSA9ICIoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAiOwogCiBHSVRfUEFUSF9GVU5DKGdpdF9wYXRoX2NvbW1pdF9lZGl0bXNnLCAiQ09NTUlUX0VESVRNU0ciKQpAQCAtNTUsOCArNTUsOSBAQAogICogZmlsZSBhbmQgd3JpdHRlbiB0byB0aGUgdGFpbCBvZiAnZG9uZScuCiAgKi8KIEdJVF9QQVRIX0ZVTkMocmViYXNlX3BhdGhfdG9kbywgInJlYmFzZS1tZXJnZS9naXQtcmViYXNlLXRvZG8iKQotc3RhdGljIEdJVF9QQVRIX0ZVTkMocmViYXNlX3BhdGhfdG9kb19iYWNrdXAsCi0JCSAgICAgInJlYmFzZS1tZXJnZS9naXQtcmViYXNlLXRvZG8uYmFja3VwIikKK0dJVF9QQVRIX0ZVTkMocmViYXNlX3BhdGhfdG9kb19iYWNrdXAsICJyZWJhc2UtbWVyZ2UvZ2l0LXJlYmFzZS10b2RvLmJhY2t1cCIpCisKK0dJVF9QQVRIX0ZVTkMocmViYXNlX3BhdGhfZHJvcHBlZCwgInJlYmFzZS1tZXJnZS9kcm9wcGVkIikKIAogLyoKICAqIFRoZSByZWJhc2UgY29tbWFuZCBsaW5lcyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIHByb2Nlc3NlZC4gQSBsaW5lCkBAIC0xMzIsNyArMTMzLDcgQEAKIAkicmViYXNlLW1lcmdlL3Jld3JpdHRlbi1wZW5kaW5nIikKIAogLyoKLSAqIFRoZSBwYXRoIG9mIHRoZSBmaWxlIGNvbnRhaW5pZyB0aGUgT0lEIG9mIHRoZSAic3F1YXNoIG9udG8iIGNvbW1pdCwgaS5lLgorICogVGhlIHBhdGggb2YgdGhlIGZpbGUgY29udGFpbmluZyB0aGUgT0lEIG9mIHRoZSAic3F1YXNoIG9udG8iIGNvbW1pdCwgaS5lLgogICogdGhlIGR1bW15IGNvbW1pdCB1c2VkIGZvciBgcmVzZXQgW25ldyByb290XWAuCiAgKi8KIHN0YXRpYyBHSVRfUEFUSF9GVU5DKHJlYmFzZV9wYXRoX3NxdWFzaF9vbnRvLCAicmViYXNlLW1lcmdlL3NxdWFzaC1vbnRvIikKQEAgLTE1MCw2ICsxNTEsNyBAQAogc3RhdGljIEdJVF9QQVRIX0ZVTkMocmViYXNlX3BhdGhfZ3BnX3NpZ25fb3B0LCAicmViYXNlLW1lcmdlL2dwZ19zaWduX29wdCIpCiBzdGF0aWMgR0lUX1BBVEhfRlVOQyhyZWJhc2VfcGF0aF9vcmlnX2hlYWQsICJyZWJhc2UtbWVyZ2Uvb3JpZy1oZWFkIikKIHN0YXRpYyBHSVRfUEFUSF9GVU5DKHJlYmFzZV9wYXRoX3ZlcmJvc2UsICJyZWJhc2UtbWVyZ2UvdmVyYm9zZSIpCitzdGF0aWMgR0lUX1BBVEhfRlVOQyhyZWJhc2VfcGF0aF9xdWlldCwgInJlYmFzZS1tZXJnZS9xdWlldCIpCiBzdGF0aWMgR0lUX1BBVEhfRlVOQyhyZWJhc2VfcGF0aF9zaWdub2ZmLCAicmViYXNlLW1lcmdlL3NpZ25vZmYiKQogc3RhdGljIEdJVF9QQVRIX0ZVTkMocmViYXNlX3BhdGhfaGVhZF9uYW1lLCAicmViYXNlLW1lcmdlL2hlYWQtbmFtZSIpCiBzdGF0aWMgR0lUX1BBVEhfRlVOQyhyZWJhc2VfcGF0aF9vbnRvLCAicmViYXNlLW1lcmdlL29udG8iKQpAQCAtMTU3LDcgKzE1OSw5IEBACiBzdGF0aWMgR0lUX1BBVEhfRlVOQyhyZWJhc2VfcGF0aF9zdHJhdGVneSwgInJlYmFzZS1tZXJnZS9zdHJhdGVneSIpCiBzdGF0aWMgR0lUX1BBVEhfRlVOQyhyZWJhc2VfcGF0aF9zdHJhdGVneV9vcHRzLCAicmViYXNlLW1lcmdlL3N0cmF0ZWd5X29wdHMiKQogc3RhdGljIEdJVF9QQVRIX0ZVTkMocmViYXNlX3BhdGhfYWxsb3dfcmVyZXJlX2F1dG91cGRhdGUsICJyZWJhc2UtbWVyZ2UvYWxsb3dfcmVyZXJlX2F1dG91cGRhdGUiKQotc3RhdGljIEdJVF9QQVRIX0ZVTkMocmViYXNlX3BhdGhfcXVpZXQsICJyZWJhc2UtbWVyZ2UvcXVpZXQiKQorc3RhdGljIEdJVF9QQVRIX0ZVTkMocmViYXNlX3BhdGhfcmVzY2hlZHVsZV9mYWlsZWRfZXhlYywgInJlYmFzZS1tZXJnZS9yZXNjaGVkdWxlLWZhaWxlZC1leGVjIikKK3N0YXRpYyBHSVRfUEFUSF9GVU5DKHJlYmFzZV9wYXRoX2Ryb3BfcmVkdW5kYW50X2NvbW1pdHMsICJyZWJhc2UtbWVyZ2UvZHJvcF9yZWR1bmRhbnRfY29tbWl0cyIpCitzdGF0aWMgR0lUX1BBVEhfRlVOQyhyZWJhc2VfcGF0aF9rZWVwX3JlZHVuZGFudF9jb21taXRzLCAicmViYXNlLW1lcmdlL2tlZXBfcmVkdW5kYW50X2NvbW1pdHMiKQogCiBzdGF0aWMgaW50IGdpdF9zZXF1ZW5jZXJfY29uZmlnKGNvbnN0IGNoYXIgKmssIGNvbnN0IGNoYXIgKnYsIHZvaWQgKmNiKQogewpAQCAtMTcxLDE3ICsxNzUsMjIgQEAKIAkJaWYgKHN0YXR1cykKIAkJCXJldHVybiBzdGF0dXM7CiAKLQkJaWYgKCFzdHJjbXAocywgInZlcmJhdGltIikpCisJCWlmICghc3RyY21wKHMsICJ2ZXJiYXRpbSIpKSB7CiAJCQlvcHRzLT5kZWZhdWx0X21zZ19jbGVhbnVwID0gQ09NTUlUX01TR19DTEVBTlVQX05PTkU7Ci0JCWVsc2UgaWYgKCFzdHJjbXAocywgIndoaXRlc3BhY2UiKSkKKwkJCW9wdHMtPmV4cGxpY2l0X2NsZWFudXAgPSAxOworCQl9IGVsc2UgaWYgKCFzdHJjbXAocywgIndoaXRlc3BhY2UiKSkgewogCQkJb3B0cy0+ZGVmYXVsdF9tc2dfY2xlYW51cCA9IENPTU1JVF9NU0dfQ0xFQU5VUF9TUEFDRTsKLQkJZWxzZSBpZiAoIXN0cmNtcChzLCAic3RyaXAiKSkKKwkJCW9wdHMtPmV4cGxpY2l0X2NsZWFudXAgPSAxOworCQl9IGVsc2UgaWYgKCFzdHJjbXAocywgInN0cmlwIikpIHsKIAkJCW9wdHMtPmRlZmF1bHRfbXNnX2NsZWFudXAgPSBDT01NSVRfTVNHX0NMRUFOVVBfQUxMOwotCQllbHNlIGlmICghc3RyY21wKHMsICJzY2lzc29ycyIpKQotCQkJb3B0cy0+ZGVmYXVsdF9tc2dfY2xlYW51cCA9IENPTU1JVF9NU0dfQ0xFQU5VUF9TUEFDRTsKLQkJZWxzZQorCQkJb3B0cy0+ZXhwbGljaXRfY2xlYW51cCA9IDE7CisJCX0gZWxzZSBpZiAoIXN0cmNtcChzLCAic2Npc3NvcnMiKSkgeworCQkJb3B0cy0+ZGVmYXVsdF9tc2dfY2xlYW51cCA9IENPTU1JVF9NU0dfQ0xFQU5VUF9TQ0lTU09SUzsKKwkJCW9wdHMtPmV4cGxpY2l0X2NsZWFudXAgPSAxOworCQl9IGVsc2UgewogCQkJd2FybmluZyhfKCJpbnZhbGlkIGNvbW1pdCBtZXNzYWdlIGNsZWFudXAgbW9kZSAnJXMnIiksCiAJCQkJICBzKTsKKwkJfQogCiAJCWZyZWUoKGNoYXIgKilzKTsKIAkJcmV0dXJuIHN0YXR1czsKQEAgLTI3NCw3ICsyODMsNyBAQAogaW50IHNlcXVlbmNlcl9yZW1vdmVfc3RhdGUoc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7Ci0JaW50IGk7CisJaW50IGksIHJldCA9IDA7CiAKIAlpZiAoaXNfcmViYXNlX2kob3B0cykgJiYKIAkgICAgc3RyYnVmX3JlYWRfZmlsZSgmYnVmLCByZWJhc2VfcGF0aF9yZWZzX3RvX2RlbGV0ZSgpLCAwKSA+IDApIHsKQEAgLTI4Myw4ICsyOTIsMTAgQEAKIAkJCWNoYXIgKmVvbCA9IHN0cmNocihwLCAnXG4nKTsKIAkJCWlmIChlb2wpCiAJCQkJKmVvbCA9ICdcMCc7Ci0JCQlpZiAoZGVsZXRlX3JlZigiKHJlYmFzZSAtaSkgY2xlYW51cCIsIHAsIE5VTEwsIDApIDwgMCkKKwkJCWlmIChkZWxldGVfcmVmKCIocmViYXNlKSBjbGVhbnVwIiwgcCwgTlVMTCwgMCkgPCAwKSB7CiAJCQkJd2FybmluZyhfKCJjb3VsZCBub3QgZGVsZXRlICclcyciKSwgcCk7CisJCQkJcmV0ID0gLTE7CisJCQl9CiAJCQlpZiAoIWVvbCkKIAkJCQlicmVhazsKIAkJCXAgPSBlb2wgKyAxOwpAQCAtMzAwLDEwICszMTEsMTEgQEAKIAogCXN0cmJ1Zl9yZXNldCgmYnVmKTsKIAlzdHJidWZfYWRkc3RyKCZidWYsIGdldF9kaXIob3B0cykpOwotCXJlbW92ZV9kaXJfcmVjdXJzaXZlbHkoJmJ1ZiwgMCk7CisJaWYgKHJlbW92ZV9kaXJfcmVjdXJzaXZlbHkoJmJ1ZiwgMCkpCisJCXJldCA9IGVycm9yKF8oImNvdWxkIG5vdCByZW1vdmUgJyVzJyIpLCBidWYuYnVmKTsKIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAotCXJldHVybiAwOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBjb25zdCBjaGFyICphY3Rpb25fbmFtZShjb25zdCBzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCkBAIC0zMTQsNyArMzI2LDcgQEAKIAljYXNlIFJFUExBWV9QSUNLOgogCQlyZXR1cm4gTl8oImNoZXJyeS1waWNrIik7CiAJY2FzZSBSRVBMQVlfSU5URVJBQ1RJVkVfUkVCQVNFOgotCQlyZXR1cm4gTl8oInJlYmFzZSAtaSIpOworCQlyZXR1cm4gTl8oInJlYmFzZSIpOwogCX0KIAlkaWUoXygidW5rbm93biBhY3Rpb246ICVkIiksIG9wdHMtPmFjdGlvbik7CiB9CkBAIC0zNTYsNyArMzY4LDggQEAKIAl1bnVzZV9jb21taXRfYnVmZmVyKGNvbW1pdCwgbXNnLT5tZXNzYWdlKTsKIH0KIAotc3RhdGljIHZvaWQgcHJpbnRfYWR2aWNlKGludCBzaG93X2hpbnQsIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKK3N0YXRpYyB2b2lkIHByaW50X2FkdmljZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgaW50IHNob3dfaGludCwKKwkJCSBzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCiB7CiAJY2hhciAqbXNnID0gZ2V0ZW52KCJHSVRfQ0hFUlJZX1BJQ0tfSEVMUCIpOwogCkBAIC0zNjcsNyArMzgwLDcgQEAKIAkJICogKHR5cGljYWxseSByZWJhc2UgLS1pbnRlcmFjdGl2ZSkgd2FudHMgdG8gdGFrZSBjYXJlCiAJCSAqIG9mIHRoZSBjb21taXQgaXRzZWxmIHNvIHJlbW92ZSBDSEVSUllfUElDS19IRUFECiAJCSAqLwotCQl1bmxpbmsoZ2l0X3BhdGhfY2hlcnJ5X3BpY2tfaGVhZCh0aGVfcmVwb3NpdG9yeSkpOworCQl1bmxpbmsoZ2l0X3BhdGhfY2hlcnJ5X3BpY2tfaGVhZChyKSk7CiAJCXJldHVybjsKIAl9CiAKQEAgLTM4Miw4ICszOTUsOCBAQAogCX0KIH0KIAotaW50IHdyaXRlX21lc3NhZ2UoY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgbGVuLCBjb25zdCBjaGFyICpmaWxlbmFtZSwKLQkJICBpbnQgYXBwZW5kX2VvbCkKK3N0YXRpYyBpbnQgd3JpdGVfbWVzc2FnZShjb25zdCB2b2lkICpidWYsIHNpemVfdCBsZW4sIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkJIGludCBhcHBlbmRfZW9sKQogewogCXN0cnVjdCBsb2NrX2ZpbGUgbXNnX2ZpbGUgPSBMT0NLX0lOSVQ7CiAKQEAgLTQ0MCwxNCArNDUzLDE0IEBACiAJcmV0dXJuIDE7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgdHJlZSAqZW1wdHlfdHJlZSh2b2lkKQorc3RhdGljIHN0cnVjdCB0cmVlICplbXB0eV90cmVlKHN0cnVjdCByZXBvc2l0b3J5ICpyKQogewotCXJldHVybiBsb29rdXBfdHJlZSh0aGVfcmVwb3NpdG9yeSwgdGhlX3JlcG9zaXRvcnktPmhhc2hfYWxnby0+ZW1wdHlfdHJlZSk7CisJcmV0dXJuIGxvb2t1cF90cmVlKHIsIHRoZV9oYXNoX2FsZ28tPmVtcHR5X3RyZWUpOwogfQogCi1zdGF0aWMgaW50IGVycm9yX2RpcnR5X2luZGV4KHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKK3N0YXRpYyBpbnQgZXJyb3JfZGlydHlfaW5kZXgoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKIHsKLQlpZiAocmVhZF9jYWNoZV91bm1lcmdlZCgpKQorCWlmIChyZXBvX3JlYWRfaW5kZXhfdW5tZXJnZWQocmVwbykpCiAJCXJldHVybiBlcnJvcl9yZXNvbHZlX2NvbmZsaWN0KF8oYWN0aW9uX25hbWUob3B0cykpKTsKIAogCWVycm9yKF8oInlvdXIgbG9jYWwgY2hhbmdlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSAlcy4iKSwKQEAgLTQ3MiwxNSArNDg1LDE4IEBACiAJCXdyaXRlX2ZpbGUoZ2l0X3BhdGhfYWJvcnRfc2FmZXR5X2ZpbGUoKSwgIiVzIiwgIiIpOwogfQogCi1zdGF0aWMgaW50IGZhc3RfZm9yd2FyZF90byhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICp0bywgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqZnJvbSwKLQkJCWludCB1bmJvcm4sIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKK3N0YXRpYyBpbnQgZmFzdF9mb3J3YXJkX3RvKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqdG8sCisJCQkgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpmcm9tLAorCQkJICAgaW50IHVuYm9ybiwKKwkJCSAgIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKIHsKIAlzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICp0cmFuc2FjdGlvbjsKIAlzdHJ1Y3Qgc3RyYnVmIHNiID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKIAotCXJlYWRfaW5kZXgoJnRoZV9pbmRleCk7Ci0JaWYgKGNoZWNrb3V0X2Zhc3RfZm9yd2FyZCh0aGVfcmVwb3NpdG9yeSwgZnJvbSwgdG8sIDEpKQorCXJlcG9fcmVhZF9pbmRleChyKTsKKwlpZiAoY2hlY2tvdXRfZmFzdF9mb3J3YXJkKHIsIGZyb20sIHRvLCAxKSkKIAkJcmV0dXJuIC0xOyAvKiB0aGUgY2FsbGVlIHNob3VsZCBoYXZlIGNvbXBsYWluZWQgYWxyZWFkeSAqLwogCiAJc3RyYnVmX2FkZGYoJnNiLCBfKCIlczogZmFzdC1mb3J3YXJkIiksIF8oYWN0aW9uX25hbWUob3B0cykpKTsKQEAgLTUwNiw0MCArNTIyLDg1IEBACiAJcmV0dXJuIDA7CiB9CiAKLXZvaWQgYXBwZW5kX2NvbmZsaWN0c19oaW50KHN0cnVjdCBzdHJidWYgKm1zZ2J1ZikKK2VudW0gY29tbWl0X21zZ19jbGVhbnVwX21vZGUgZ2V0X2NsZWFudXBfbW9kZShjb25zdCBjaGFyICpjbGVhbnVwX2FyZywKKwlpbnQgdXNlX2VkaXRvcikKK3sKKwlpZiAoIWNsZWFudXBfYXJnIHx8ICFzdHJjbXAoY2xlYW51cF9hcmcsICJkZWZhdWx0IikpCisJCXJldHVybiB1c2VfZWRpdG9yID8gQ09NTUlUX01TR19DTEVBTlVQX0FMTCA6CisJCQkJICAgIENPTU1JVF9NU0dfQ0xFQU5VUF9TUEFDRTsKKwllbHNlIGlmICghc3RyY21wKGNsZWFudXBfYXJnLCAidmVyYmF0aW0iKSkKKwkJcmV0dXJuIENPTU1JVF9NU0dfQ0xFQU5VUF9OT05FOworCWVsc2UgaWYgKCFzdHJjbXAoY2xlYW51cF9hcmcsICJ3aGl0ZXNwYWNlIikpCisJCXJldHVybiBDT01NSVRfTVNHX0NMRUFOVVBfU1BBQ0U7CisJZWxzZSBpZiAoIXN0cmNtcChjbGVhbnVwX2FyZywgInN0cmlwIikpCisJCXJldHVybiBDT01NSVRfTVNHX0NMRUFOVVBfQUxMOworCWVsc2UgaWYgKCFzdHJjbXAoY2xlYW51cF9hcmcsICJzY2lzc29ycyIpKQorCQlyZXR1cm4gdXNlX2VkaXRvciA/IENPTU1JVF9NU0dfQ0xFQU5VUF9TQ0lTU09SUyA6CisJCQkJICAgIENPTU1JVF9NU0dfQ0xFQU5VUF9TUEFDRTsKKwllbHNlCisJCWRpZShfKCJJbnZhbGlkIGNsZWFudXAgbW9kZSAlcyIpLCBjbGVhbnVwX2FyZyk7Cit9CisKKy8qCisgKiBOQiB1c2luZyBpbnQgcmF0aGVyIHRoYW4gZW51bSBjbGVhbnVwX21vZGUgdG8gc3RvcCBjbGFuZydzCisgKiAtV3RhdXRvbG9naWNhbC1jb25zdGFudC1vdXQtb2YtcmFuZ2UtY29tcGFyZSBjb21wbGFpbmluZyB0aGF0IHRoZSBjb21wYXJpc29uCisgKiBpcyBhbHdheXMgdHJ1ZS4KKyAqLworc3RhdGljIGNvbnN0IGNoYXIgKmRlc2NyaWJlX2NsZWFudXBfbW9kZShpbnQgY2xlYW51cF9tb2RlKQoreworCXN0YXRpYyBjb25zdCBjaGFyICptb2Rlc1tdID0geyAid2hpdGVzcGFjZSIsCisJCQkJICAgICAgICJ2ZXJiYXRpbSIsCisJCQkJICAgICAgICJzY2lzc29ycyIsCisJCQkJICAgICAgICJzdHJpcCIgfTsKKworCWlmIChjbGVhbnVwX21vZGUgPCBBUlJBWV9TSVpFKG1vZGVzKSkKKwkJcmV0dXJuIG1vZGVzW2NsZWFudXBfbW9kZV07CisKKwlCVUcoImludmFsaWQgY2xlYW51cF9tb2RlIHByb3ZpZGVkICglZCkiLCBjbGVhbnVwX21vZGUpOworfQorCit2b2lkIGFwcGVuZF9jb25mbGljdHNfaGludChzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwlzdHJ1Y3Qgc3RyYnVmICptc2didWYsIGVudW0gY29tbWl0X21zZ19jbGVhbnVwX21vZGUgY2xlYW51cF9tb2RlKQogewogCWludCBpOwogCisJaWYgKGNsZWFudXBfbW9kZSA9PSBDT01NSVRfTVNHX0NMRUFOVVBfU0NJU1NPUlMpIHsKKwkJc3RyYnVmX2FkZGNoKG1zZ2J1ZiwgJ1xuJyk7CisJCXd0X3N0YXR1c19hcHBlbmRfY3V0X2xpbmUobXNnYnVmKTsKKwkJc3RyYnVmX2FkZGNoKG1zZ2J1ZiwgY29tbWVudF9saW5lX2NoYXIpOworCX0KKwogCXN0cmJ1Zl9hZGRjaChtc2didWYsICdcbicpOwogCXN0cmJ1Zl9jb21tZW50ZWRfYWRkZihtc2didWYsICJDb25mbGljdHM6XG4iKTsKLQlmb3IgKGkgPSAwOyBpIDwgYWN0aXZlX25yOykgewotCQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gYWN0aXZlX2NhY2hlW2krK107CisJZm9yIChpID0gMDsgaSA8IGlzdGF0ZS0+Y2FjaGVfbnI7KSB7CisJCWNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPSBpc3RhdGUtPmNhY2hlW2krK107CiAJCWlmIChjZV9zdGFnZShjZSkpIHsKIAkJCXN0cmJ1Zl9jb21tZW50ZWRfYWRkZihtc2didWYsICJcdCVzXG4iLCBjZS0+bmFtZSk7Ci0JCQl3aGlsZSAoaSA8IGFjdGl2ZV9uciAmJiAhc3RyY21wKGNlLT5uYW1lLAotCQkJCQkJCWFjdGl2ZV9jYWNoZVtpXS0+bmFtZSkpCisJCQl3aGlsZSAoaSA8IGlzdGF0ZS0+Y2FjaGVfbnIgJiYKKwkJCSAgICAgICAhc3RyY21wKGNlLT5uYW1lLCBpc3RhdGUtPmNhY2hlW2ldLT5uYW1lKSkKIAkJCQlpKys7CiAJCX0KIAl9CiB9CiAKLXN0YXRpYyBpbnQgZG9fcmVjdXJzaXZlX21lcmdlKHN0cnVjdCBjb21taXQgKmJhc2UsIHN0cnVjdCBjb21taXQgKm5leHQsCitzdGF0aWMgaW50IGRvX3JlY3Vyc2l2ZV9tZXJnZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCSAgICAgIHN0cnVjdCBjb21taXQgKmJhc2UsIHN0cnVjdCBjb21taXQgKm5leHQsCiAJCQkgICAgICBjb25zdCBjaGFyICpiYXNlX2xhYmVsLCBjb25zdCBjaGFyICpuZXh0X2xhYmVsLAogCQkJICAgICAgc3RydWN0IG9iamVjdF9pZCAqaGVhZCwgc3RydWN0IHN0cmJ1ZiAqbXNnYnVmLAogCQkJICAgICAgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewogCXN0cnVjdCBtZXJnZV9vcHRpb25zIG87Ci0Jc3RydWN0IHRyZWUgKnJlc3VsdCwgKm5leHRfdHJlZSwgKmJhc2VfdHJlZSwgKmhlYWRfdHJlZTsKKwlzdHJ1Y3QgdHJlZSAqbmV4dF90cmVlLCAqYmFzZV90cmVlLCAqaGVhZF90cmVlOwogCWludCBjbGVhbjsKLQljaGFyICoqeG9wdDsKKwlpbnQgaTsKIAlzdHJ1Y3QgbG9ja19maWxlIGluZGV4X2xvY2sgPSBMT0NLX0lOSVQ7CiAKLQlpZiAoaG9sZF9sb2NrZWRfaW5kZXgoJmluZGV4X2xvY2ssIExPQ0tfUkVQT1JUX09OX0VSUk9SKSA8IDApCisJaWYgKHJlcG9faG9sZF9sb2NrZWRfaW5kZXgociwgJmluZGV4X2xvY2ssIExPQ0tfUkVQT1JUX09OX0VSUk9SKSA8IDApCiAJCXJldHVybiAtMTsKIAotCXJlYWRfY2FjaGUoKTsKKwlyZXBvX3JlYWRfaW5kZXgocik7CiAKLQlpbml0X21lcmdlX29wdGlvbnMoJm8pOworCWluaXRfbWVyZ2Vfb3B0aW9ucygmbywgcik7CiAJby5hbmNlc3RvciA9IGJhc2UgPyBiYXNlX2xhYmVsIDogIihlbXB0eSB0cmVlKSI7CiAJby5icmFuY2gxID0gIkhFQUQiOwogCW8uYnJhbmNoMiA9IG5leHQgPyBuZXh0X2xhYmVsIDogIihlbXB0eSB0cmVlKSI7CkBAIC01NDgsNjIgKzYwOSw2MyBAQAogCW8uc2hvd19yZW5hbWVfcHJvZ3Jlc3MgPSAxOwogCiAJaGVhZF90cmVlID0gcGFyc2VfdHJlZV9pbmRpcmVjdChoZWFkKTsKLQluZXh0X3RyZWUgPSBuZXh0ID8gZ2V0X2NvbW1pdF90cmVlKG5leHQpIDogZW1wdHlfdHJlZSgpOwotCWJhc2VfdHJlZSA9IGJhc2UgPyBnZXRfY29tbWl0X3RyZWUoYmFzZSkgOiBlbXB0eV90cmVlKCk7CisJbmV4dF90cmVlID0gbmV4dCA/IGdldF9jb21taXRfdHJlZShuZXh0KSA6IGVtcHR5X3RyZWUocik7CisJYmFzZV90cmVlID0gYmFzZSA/IGdldF9jb21taXRfdHJlZShiYXNlKSA6IGVtcHR5X3RyZWUocik7CiAKLQlmb3IgKHhvcHQgPSBvcHRzLT54b3B0czsgeG9wdCAhPSBvcHRzLT54b3B0cyArIG9wdHMtPnhvcHRzX25yOyB4b3B0KyspCi0JCXBhcnNlX21lcmdlX29wdCgmbywgKnhvcHQpOworCWZvciAoaSA9IDA7IGkgPCBvcHRzLT54b3B0c19ucjsgaSsrKQorCQlwYXJzZV9tZXJnZV9vcHQoJm8sIG9wdHMtPnhvcHRzW2ldKTsKIAogCWNsZWFuID0gbWVyZ2VfdHJlZXMoJm8sCiAJCQkgICAgaGVhZF90cmVlLAotCQkJICAgIG5leHRfdHJlZSwgYmFzZV90cmVlLCAmcmVzdWx0KTsKKwkJCSAgICBuZXh0X3RyZWUsIGJhc2VfdHJlZSk7CiAJaWYgKGlzX3JlYmFzZV9pKG9wdHMpICYmIGNsZWFuIDw9IDApCiAJCWZwdXRzKG8ub2J1Zi5idWYsIHN0ZG91dCk7CiAJc3RyYnVmX3JlbGVhc2UoJm8ub2J1Zik7Ci0JZGlmZl93YXJuX3JlbmFtZV9saW1pdCgibWVyZ2UucmVuYW1lbGltaXQiLCBvLm5lZWRlZF9yZW5hbWVfbGltaXQsIDApOwogCWlmIChjbGVhbiA8IDApIHsKIAkJcm9sbGJhY2tfbG9ja19maWxlKCZpbmRleF9sb2NrKTsKIAkJcmV0dXJuIGNsZWFuOwogCX0KIAotCWlmICh3cml0ZV9sb2NrZWRfaW5kZXgoJnRoZV9pbmRleCwgJmluZGV4X2xvY2ssCisJaWYgKHdyaXRlX2xvY2tlZF9pbmRleChyLT5pbmRleCwgJmluZGV4X2xvY2ssCiAJCQkgICAgICAgQ09NTUlUX0xPQ0sgfCBTS0lQX0lGX1VOQ0hBTkdFRCkpCiAJCS8qCiAJCSAqIFRSQU5TTEFUT1JTOiAlcyB3aWxsIGJlICJyZXZlcnQiLCAiY2hlcnJ5LXBpY2siIG9yCi0JCSAqICJyZWJhc2UgLWkiLgorCQkgKiAicmViYXNlIi4KIAkJICovCiAJCXJldHVybiBlcnJvcihfKCIlczogVW5hYmxlIHRvIHdyaXRlIG5ldyBpbmRleCBmaWxlIiksCiAJCQlfKGFjdGlvbl9uYW1lKG9wdHMpKSk7CiAKIAlpZiAoIWNsZWFuKQotCQlhcHBlbmRfY29uZmxpY3RzX2hpbnQobXNnYnVmKTsKKwkJYXBwZW5kX2NvbmZsaWN0c19oaW50KHItPmluZGV4LCBtc2didWYsCisJCQkJICAgICAgb3B0cy0+ZGVmYXVsdF9tc2dfY2xlYW51cCk7CiAKIAlyZXR1cm4gIWNsZWFuOwogfQogCi1zdGF0aWMgc3RydWN0IG9iamVjdF9pZCAqZ2V0X2NhY2hlX3RyZWVfb2lkKHZvaWQpCitzdGF0aWMgc3RydWN0IG9iamVjdF9pZCAqZ2V0X2NhY2hlX3RyZWVfb2lkKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKQogewotCWlmICghYWN0aXZlX2NhY2hlX3RyZWUpCi0JCWFjdGl2ZV9jYWNoZV90cmVlID0gY2FjaGVfdHJlZSgpOworCWlmICghaXN0YXRlLT5jYWNoZV90cmVlKQorCQlpc3RhdGUtPmNhY2hlX3RyZWUgPSBjYWNoZV90cmVlKCk7CiAKLQlpZiAoIWNhY2hlX3RyZWVfZnVsbHlfdmFsaWQoYWN0aXZlX2NhY2hlX3RyZWUpKQotCQlpZiAoY2FjaGVfdHJlZV91cGRhdGUoJnRoZV9pbmRleCwgMCkpIHsKKwlpZiAoIWNhY2hlX3RyZWVfZnVsbHlfdmFsaWQoaXN0YXRlLT5jYWNoZV90cmVlKSkKKwkJaWYgKGNhY2hlX3RyZWVfdXBkYXRlKGlzdGF0ZSwgMCkpIHsKIAkJCWVycm9yKF8oInVuYWJsZSB0byB1cGRhdGUgY2FjaGUgdHJlZSIpKTsKIAkJCXJldHVybiBOVUxMOwogCQl9CiAKLQlyZXR1cm4gJmFjdGl2ZV9jYWNoZV90cmVlLT5vaWQ7CisJcmV0dXJuICZpc3RhdGUtPmNhY2hlX3RyZWUtPm9pZDsKIH0KIAotc3RhdGljIGludCBpc19pbmRleF91bmNoYW5nZWQodm9pZCkKK3N0YXRpYyBpbnQgaXNfaW5kZXhfdW5jaGFuZ2VkKHN0cnVjdCByZXBvc2l0b3J5ICpyKQogewogCXN0cnVjdCBvYmplY3RfaWQgaGVhZF9vaWQsICpjYWNoZV90cmVlX29pZDsKIAlzdHJ1Y3QgY29tbWl0ICpoZWFkX2NvbW1pdDsKKwlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSA9IHItPmluZGV4OwogCiAJaWYgKCFyZXNvbHZlX3JlZl91bnNhZmUoIkhFQUQiLCBSRVNPTFZFX1JFRl9SRUFESU5HLCAmaGVhZF9vaWQsIE5VTEwpKQogCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHJlc29sdmUgSEVBRCBjb21taXQiKSk7CiAKLQloZWFkX2NvbW1pdCA9IGxvb2t1cF9jb21taXQodGhlX3JlcG9zaXRvcnksICZoZWFkX29pZCk7CisJaGVhZF9jb21taXQgPSBsb29rdXBfY29tbWl0KHIsICZoZWFkX29pZCk7CiAKIAkvKgogCSAqIElmIGhlYWRfY29tbWl0IGlzIE5VTEwsIGNoZWNrX2NvbW1pdCwgY2FsbGVkIGZyb20KQEAgLTYxNiw3ICs2NzgsNyBAQAogCWlmIChwYXJzZV9jb21taXQoaGVhZF9jb21taXQpKQogCQlyZXR1cm4gLTE7CiAKLQlpZiAoIShjYWNoZV90cmVlX29pZCA9IGdldF9jYWNoZV90cmVlX29pZCgpKSkKKwlpZiAoIShjYWNoZV90cmVlX29pZCA9IGdldF9jYWNoZV90cmVlX29pZChpc3RhdGUpKSkKIAkJcmV0dXJuIC0xOwogCiAJcmV0dXJuIG9pZGVxKGNhY2hlX3RyZWVfb2lkLCBnZXRfY29tbWl0X3RyZWVfb2lkKGhlYWRfY29tbWl0KSk7CkBAIC03MTEsNyArNzczLDcgQEAKICAqCUdJVF9BVVRIT1JfREFURT0nJGF1dGhvcl9kYXRlJwogICoKICAqIHdoZXJlICRhdXRob3JfbmFtZSwgJGF1dGhvcl9lbWFpbCBhbmQgJGF1dGhvcl9kYXRlIGFyZSBxdW90ZWQuIFdlIGFyZSBzdHJpY3QKLSAqIHdpdGggb3VyIHBhcnNpbmcsIGFzIHRoZSBmaWxlIHdhcyBtZWFudCB0byBiZSBldmFsJ2QgaW4gdGhlIG9sZAorICogd2l0aCBvdXIgcGFyc2luZywgYXMgdGhlIGZpbGUgd2FzIG1lYW50IHRvIGJlIGV2YWwnZCBpbiB0aGUgbm93LXJlbW92ZWQKICAqIGdpdC1hbS5zaC9naXQtcmViYXNlLS1pbnRlcmFjdGl2ZS5zaCBzY3JpcHRzLCBhbmQgdGh1cyBpZiB0aGUgZmlsZSBkaWZmZXJzCiAgKiBmcm9tIHdoYXQgdGhpcyBmdW5jdGlvbiBleHBlY3RzLCBpdCBpcyBiZXR0ZXIgdG8gYmFpbCBvdXQgdGhhbiB0byBkbwogICogc29tZXRoaW5nIHRoYXQgdGhlIHVzZXIgZG9lcyBub3QgZXhwZWN0LgpAQCAtODEwLDM0ICs4NzIsNiBAQAogCXJldHVybiBOVUxMOwogfQogCi0vKiBSZWFkIGF1dGhvci1zY3JpcHQgYW5kIHJldHVybiBhbiBpZGVudCBsaW5lIChhdXRob3IgPGVtYWlsPiB0aW1lc3RhbXApICovCi1zdGF0aWMgY29uc3QgY2hhciAqcmVhZF9hdXRob3JfaWRlbnQoc3RydWN0IHN0cmJ1ZiAqYnVmKQotewotCXN0cnVjdCBzdHJidWYgb3V0ID0gU1RSQlVGX0lOSVQ7Ci0JY2hhciAqbmFtZSwgKmVtYWlsLCAqZGF0ZTsKLQotCWlmIChyZWFkX2F1dGhvcl9zY3JpcHQocmViYXNlX3BhdGhfYXV0aG9yX3NjcmlwdCgpLAotCQkJICAgICAgICZuYW1lLCAmZW1haWwsICZkYXRlLCAwKSkKLQkJcmV0dXJuIE5VTEw7Ci0KLQkvKiB2YWxpZGF0ZSBkYXRlIHNpbmNlIGZtdF9pZGVudCgpIHdpbGwgZGllKCkgb24gYmFkIHZhbHVlICovCi0JaWYgKHBhcnNlX2RhdGUoZGF0ZSwgJm91dCkpewotCQl3YXJuaW5nKF8oImludmFsaWQgZGF0ZSBmb3JtYXQgJyVzJyBpbiAnJXMnIiksCi0JCQlkYXRlLCByZWJhc2VfcGF0aF9hdXRob3Jfc2NyaXB0KCkpOwotCQlzdHJidWZfcmVsZWFzZSgmb3V0KTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCi0Jc3RyYnVmX3Jlc2V0KCZvdXQpOwotCXN0cmJ1Zl9hZGRzdHIoJm91dCwgZm10X2lkZW50KG5hbWUsIGVtYWlsLCBkYXRlLCAwKSk7Ci0Jc3RyYnVmX3N3YXAoYnVmLCAmb3V0KTsKLQlzdHJidWZfcmVsZWFzZSgmb3V0KTsKLQlmcmVlKG5hbWUpOwotCWZyZWUoZW1haWwpOwotCWZyZWUoZGF0ZSk7Ci0JcmV0dXJuIGJ1Zi0+YnVmOwotfQotCiBzdGF0aWMgY29uc3QgY2hhciBzdGFnZWRfY2hhbmdlc19hZHZpY2VbXSA9CiBOXygieW91IGhhdmUgc3RhZ2VkIGNoYW5nZXMgaW4geW91ciB3b3JraW5nIHRyZWVcbiIKICJJZiB0aGVzZSBjaGFuZ2VzIGFyZSBtZWFudCB0byBiZSBzcXVhc2hlZCBpbnRvIHRoZSBwcmV2aW91cyBjb21taXQsIHJ1bjpcbiIKQEAgLTg4OCw1MiArOTIyLDEyIEBACiAgKiBpbnRlcmFjdGl2ZSByZWJhc2U6IGluIHRoYXQgY2FzZSwgd2Ugd2lsbCB3YW50IHRvIHJldGFpbiB0aGUKICAqIGF1dGhvciBtZXRhZGF0YS4KICAqLwotc3RhdGljIGludCBydW5fZ2l0X2NvbW1pdChjb25zdCBjaGFyICpkZWZtc2csIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cywKK3N0YXRpYyBpbnQgcnVuX2dpdF9jb21taXQoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgIGNvbnN0IGNoYXIgKmRlZm1zZywKKwkJCSAgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzLAogCQkJICB1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7CiAJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY21kID0gQ0hJTERfUFJPQ0VTU19JTklUOwotCWNvbnN0IGNoYXIgKnZhbHVlOwotCi0JaWYgKChmbGFncyAmIENSRUFURV9ST09UX0NPTU1JVCkgJiYgIShmbGFncyAmIEFNRU5EX01TRykpIHsKLQkJc3RydWN0IHN0cmJ1ZiBtc2cgPSBTVFJCVUZfSU5JVCwgc2NyaXB0ID0gU1RSQlVGX0lOSVQ7Ci0JCWNvbnN0IGNoYXIgKmF1dGhvciA9IE5VTEw7Ci0JCXN0cnVjdCBvYmplY3RfaWQgcm9vdF9jb21taXQsICpjYWNoZV90cmVlX29pZDsKLQkJaW50IHJlcyA9IDA7Ci0KLQkJaWYgKGlzX3JlYmFzZV9pKG9wdHMpKSB7Ci0JCQlhdXRob3IgPSByZWFkX2F1dGhvcl9pZGVudCgmc2NyaXB0KTsKLQkJCWlmICghYXV0aG9yKSB7Ci0JCQkJc3RyYnVmX3JlbGVhc2UoJnNjcmlwdCk7Ci0JCQkJcmV0dXJuIC0xOwotCQkJfQotCQl9Ci0KLQkJaWYgKCFkZWZtc2cpCi0JCQlCVUcoInJvb3QgY29tbWl0IHdpdGhvdXQgbWVzc2FnZSIpOwotCi0JCWlmICghKGNhY2hlX3RyZWVfb2lkID0gZ2V0X2NhY2hlX3RyZWVfb2lkKCkpKQotCQkJcmVzID0gLTE7Ci0KLQkJaWYgKCFyZXMpCi0JCQlyZXMgPSBzdHJidWZfcmVhZF9maWxlKCZtc2csIGRlZm1zZywgMCk7Ci0KLQkJaWYgKHJlcyA8PSAwKQotCQkJcmVzID0gZXJyb3JfZXJybm8oXygiY291bGQgbm90IHJlYWQgJyVzJyIpLCBkZWZtc2cpOwotCQllbHNlCi0JCQlyZXMgPSBjb21taXRfdHJlZShtc2cuYnVmLCBtc2cubGVuLCBjYWNoZV90cmVlX29pZCwKLQkJCQkJICBOVUxMLCAmcm9vdF9jb21taXQsIGF1dGhvciwKLQkJCQkJICBvcHRzLT5ncGdfc2lnbik7Ci0KLQkJc3RyYnVmX3JlbGVhc2UoJm1zZyk7Ci0JCXN0cmJ1Zl9yZWxlYXNlKCZzY3JpcHQpOwotCQlpZiAoIXJlcykgewotCQkJdXBkYXRlX3JlZihOVUxMLCAiQ0hFUlJZX1BJQ0tfSEVBRCIsICZyb290X2NvbW1pdCwgTlVMTCwKLQkJCQkgICBSRUZfTk9fREVSRUYsIFVQREFURV9SRUZTX01TR19PTl9FUlIpOwotCQkJcmVzID0gdXBkYXRlX3JlZihOVUxMLCAiSEVBRCIsICZyb290X2NvbW1pdCwgTlVMTCwgMCwKLQkJCQkJIFVQREFURV9SRUZTX01TR19PTl9FUlIpOwotCQl9Ci0JCXJldHVybiByZXMgPCAwID8gZXJyb3IoXygid3JpdGluZyByb290IGNvbW1pdCIpKSA6IDA7Ci0JfQogCiAJY21kLmdpdF9jbWQgPSAxOwogCkBAIC05NjIsNyArOTU2LDcgQEAKIAkJYXJndl9hcnJheV9wdXNoKCZjbWQuYXJncywgIi1lIik7CiAJZWxzZSBpZiAoIShmbGFncyAmIENMRUFOVVBfTVNHKSAmJgogCQkgIW9wdHMtPnNpZ25vZmYgJiYgIW9wdHMtPnJlY29yZF9vcmlnaW4gJiYKLQkJIGdpdF9jb25maWdfZ2V0X3ZhbHVlKCJjb21taXQuY2xlYW51cCIsICZ2YWx1ZSkpCisJCSAhb3B0cy0+ZXhwbGljaXRfY2xlYW51cCkKIAkJYXJndl9hcnJheV9wdXNoKCZjbWQuYXJncywgIi0tY2xlYW51cD12ZXJiYXRpbSIpOwogCiAJaWYgKChmbGFncyAmIEFMTE9XX0VNUFRZKSkKQEAgLTEwMDMsNiArOTk3LDE2IEBACiAJcmV0dXJuIDE7CiB9CiAKK3ZvaWQgY2xlYW51cF9tZXNzYWdlKHN0cnVjdCBzdHJidWYgKm1zZ2J1ZiwKKwllbnVtIGNvbW1pdF9tc2dfY2xlYW51cF9tb2RlIGNsZWFudXBfbW9kZSwgaW50IHZlcmJvc2UpCit7CisJaWYgKHZlcmJvc2UgfHwgLyogVHJ1bmNhdGUgdGhlIG1lc3NhZ2UganVzdCBiZWZvcmUgdGhlIGRpZmYsIGlmIGFueS4gKi8KKwkgICAgY2xlYW51cF9tb2RlID09IENPTU1JVF9NU0dfQ0xFQU5VUF9TQ0lTU09SUykKKwkJc3RyYnVmX3NldGxlbihtc2didWYsIHd0X3N0YXR1c19sb2NhdGVfZW5kKG1zZ2J1Zi0+YnVmLCBtc2didWYtPmxlbikpOworCWlmIChjbGVhbnVwX21vZGUgIT0gQ09NTUlUX01TR19DTEVBTlVQX05PTkUpCisJCXN0cmJ1Zl9zdHJpcHNwYWNlKG1zZ2J1ZiwgY2xlYW51cF9tb2RlID09IENPTU1JVF9NU0dfQ0xFQU5VUF9BTEwpOworfQorCiAvKgogICogRmluZCBvdXQgaWYgdGhlIG1lc3NhZ2UgaW4gdGhlIHN0cmJ1ZiBjb250YWlucyBvbmx5IHdoaXRlc3BhY2UgYW5kCiAgKiBTaWduZWQtb2ZmLWJ5IGxpbmVzLgpAQCAtMTA5Myw2ICsxMDk3LDcgQEAKIAlwcm9jLmFyZ3YgPSBhcmd2OwogCXByb2MuaW4gPSAtMTsKIAlwcm9jLnN0ZG91dF90b19zdGRlcnIgPSAxOworCXByb2MudHJhY2UyX2hvb2tfbmFtZSA9ICJwb3N0LXJld3JpdGUiOwogCiAJY29kZSA9IHN0YXJ0X2NvbW1hbmQoJnByb2MpOwogCWlmIChjb2RlKQpAQCAtMTEwNiw3ICsxMTExLDggQEAKIAlyZXR1cm4gZmluaXNoX2NvbW1hbmQoJnByb2MpOwogfQogCi12b2lkIGNvbW1pdF9wb3N0X3Jld3JpdGUoY29uc3Qgc3RydWN0IGNvbW1pdCAqb2xkX2hlYWQsCit2b2lkIGNvbW1pdF9wb3N0X3Jld3JpdGUoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgY29uc3Qgc3RydWN0IGNvbW1pdCAqb2xkX2hlYWQsCiAJCQkgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqbmV3X2hlYWQpCiB7CiAJc3RydWN0IG5vdGVzX3Jld3JpdGVfY2ZnICpjZmc7CkBAIC0xMTE1LDMyICsxMTIxLDMxIEBACiAJaWYgKGNmZykgewogCQkvKiB3ZSBhcmUgYW1lbmRpbmcsIHNvIG9sZF9oZWFkIGlzIG5vdCBOVUxMICovCiAJCWNvcHlfbm90ZV9mb3JfcmV3cml0ZShjZmcsICZvbGRfaGVhZC0+b2JqZWN0Lm9pZCwgbmV3X2hlYWQpOwotCQlmaW5pc2hfY29weV9ub3Rlc19mb3JfcmV3cml0ZShjZmcsICJOb3RlcyBhZGRlZCBieSAnZ2l0IGNvbW1pdCAtLWFtZW5kJyIpOworCQlmaW5pc2hfY29weV9ub3Rlc19mb3JfcmV3cml0ZShyLCBjZmcsICJOb3RlcyBhZGRlZCBieSAnZ2l0IGNvbW1pdCAtLWFtZW5kJyIpOwogCX0KIAlydW5fcmV3cml0ZV9ob29rKCZvbGRfaGVhZC0+b2JqZWN0Lm9pZCwgbmV3X2hlYWQpOwogfQogCi1zdGF0aWMgaW50IHJ1bl9wcmVwYXJlX2NvbW1pdF9tc2dfaG9vayhzdHJ1Y3Qgc3RyYnVmICptc2csIGNvbnN0IGNoYXIgKmNvbW1pdCkKK3N0YXRpYyBpbnQgcnVuX3ByZXBhcmVfY29tbWl0X21zZ19ob29rKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSAgICAgICBzdHJ1Y3Qgc3RyYnVmICptc2csCisJCQkJICAgICAgIGNvbnN0IGNoYXIgKmNvbW1pdCkKIHsKLQlzdHJ1Y3QgYXJndl9hcnJheSBob29rX2VudiA9IEFSR1ZfQVJSQVlfSU5JVDsKLQlpbnQgcmV0OwotCWNvbnN0IGNoYXIgKm5hbWU7CisJaW50IHJldCA9IDA7CisJY29uc3QgY2hhciAqbmFtZSwgKmFyZzEgPSBOVUxMLCAqYXJnMiA9IE5VTEw7CiAKIAluYW1lID0gZ2l0X3BhdGhfY29tbWl0X2VkaXRtc2coKTsKIAlpZiAod3JpdGVfbWVzc2FnZShtc2ctPmJ1ZiwgbXNnLT5sZW4sIG5hbWUsIDApKQogCQlyZXR1cm4gLTE7CiAKLQlhcmd2X2FycmF5X3B1c2hmKCZob29rX2VudiwgIkdJVF9JTkRFWF9GSUxFPSVzIiwgZ2V0X2luZGV4X2ZpbGUoKSk7Ci0JYXJndl9hcnJheV9wdXNoKCZob29rX2VudiwgIkdJVF9FRElUT1I9OiIpOwotCWlmIChjb21taXQpCi0JCXJldCA9IHJ1bl9ob29rX2xlKGhvb2tfZW52LmFyZ3YsICJwcmVwYXJlLWNvbW1pdC1tc2ciLCBuYW1lLAotCQkJCSAgImNvbW1pdCIsIGNvbW1pdCwgTlVMTCk7Ci0JZWxzZQotCQlyZXQgPSBydW5faG9va19sZShob29rX2Vudi5hcmd2LCAicHJlcGFyZS1jb21taXQtbXNnIiwgbmFtZSwKLQkJCQkgICJtZXNzYWdlIiwgTlVMTCk7Ci0JaWYgKHJldCkKKwlpZiAoY29tbWl0KSB7CisJCWFyZzEgPSAiY29tbWl0IjsKKwkJYXJnMiA9IGNvbW1pdDsKKwl9IGVsc2UgeworCQlhcmcxID0gIm1lc3NhZ2UiOworCX0KKwlpZiAocnVuX2NvbW1pdF9ob29rKDAsIHItPmluZGV4X2ZpbGUsICJwcmVwYXJlLWNvbW1pdC1tc2ciLCBuYW1lLAorCQkJICAgIGFyZzEsIGFyZzIsIE5VTEwpKQogCQlyZXQgPSBlcnJvcihfKCIncHJlcGFyZS1jb21taXQtbXNnJyBob29rIGZhaWxlZCIpKTsKLQlhcmd2X2FycmF5X2NsZWFyKCZob29rX2Vudik7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtMTE4Niw3ICsxMTkxLDkgQEAKIAogfQogCi12b2lkIHByaW50X2NvbW1pdF9zdW1tYXJ5KGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAordm9pZCBwcmludF9jb21taXRfc3VtbWFyeShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCSAgY29uc3QgY2hhciAqcHJlZml4LAorCQkJICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQkgIHVuc2lnbmVkIGludCBmbGFncykKIHsKIAlzdHJ1Y3QgcmV2X2luZm8gcmV2OwpAQCAtMTE5Nyw3ICsxMjA0LDcgQEAKIAlzdHJ1Y3Qgc3RyYnVmIGF1dGhvcl9pZGVudCA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJidWYgY29tbWl0dGVyX2lkZW50ID0gU1RSQlVGX0lOSVQ7CiAKLQljb21taXQgPSBsb29rdXBfY29tbWl0KHRoZV9yZXBvc2l0b3J5LCBvaWQpOworCWNvbW1pdCA9IGxvb2t1cF9jb21taXQociwgb2lkKTsKIAlpZiAoIWNvbW1pdCkKIAkJZGllKF8oImNvdWxkbid0IGxvb2sgdXAgbmV3bHkgY3JlYXRlZCBjb21taXQiKSk7CiAJaWYgKHBhcnNlX2NvbW1pdChjb21taXQpKQpAQCAtMTIzMCw3ICsxMjM3LDcgQEAKIAlzdHJidWZfcmVsZWFzZSgmYXV0aG9yX2lkZW50KTsKIAlzdHJidWZfcmVsZWFzZSgmY29tbWl0dGVyX2lkZW50KTsKIAotCXJlcG9faW5pdF9yZXZpc2lvbnModGhlX3JlcG9zaXRvcnksICZyZXYsIHByZWZpeCk7CisJcmVwb19pbml0X3JldmlzaW9ucyhyLCAmcmV2LCBwcmVmaXgpOwogCXNldHVwX3JldmlzaW9ucygwLCBOVUxMLCAmcmV2LCBOVUxMKTsKIAogCXJldi5kaWZmID0gMTsKQEAgLTEyNjQsNyArMTI3MSw3IEBACiAJc3RyYnVmX3JlbGVhc2UoJmZvcm1hdCk7CiB9CiAKLXN0YXRpYyBpbnQgcGFyc2VfaGVhZChzdHJ1Y3QgY29tbWl0ICoqaGVhZCkKK3N0YXRpYyBpbnQgcGFyc2VfaGVhZChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IGNvbW1pdCAqKmhlYWQpCiB7CiAJc3RydWN0IGNvbW1pdCAqY3VycmVudF9oZWFkOwogCXN0cnVjdCBvYmplY3RfaWQgb2lkOwpAQCAtMTI3Miw3ICsxMjc5LDcgQEAKIAlpZiAoZ2V0X29pZCgiSEVBRCIsICZvaWQpKSB7CiAJCWN1cnJlbnRfaGVhZCA9IE5VTEw7CiAJfSBlbHNlIHsKLQkJY3VycmVudF9oZWFkID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UodGhlX3JlcG9zaXRvcnksICZvaWQpOworCQljdXJyZW50X2hlYWQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShyLCAmb2lkKTsKIAkJaWYgKCFjdXJyZW50X2hlYWQpCiAJCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHBhcnNlIEhFQUQiKSk7CiAJCWlmICghb2lkZXEoJm9pZCwgJmN1cnJlbnRfaGVhZC0+b2JqZWN0Lm9pZCkpIHsKQEAgLTEyOTYsMTIgKzEzMDMsMTMgQEAKICAqICAgMCAtIHN1Y2Nlc3MKICAqICAgMSAtIHJ1biAnZ2l0IGNvbW1pdCcKICAqLwotc3RhdGljIGludCB0cnlfdG9fY29tbWl0KHN0cnVjdCBzdHJidWYgKm1zZywgY29uc3QgY2hhciAqYXV0aG9yLAorc3RhdGljIGludCB0cnlfdG9fY29tbWl0KHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJIHN0cnVjdCBzdHJidWYgKm1zZywgY29uc3QgY2hhciAqYXV0aG9yLAogCQkJIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cywgdW5zaWduZWQgaW50IGZsYWdzLAogCQkJIHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIHRyZWU7Ci0Jc3RydWN0IGNvbW1pdCAqY3VycmVudF9oZWFkOworCXN0cnVjdCBjb21taXQgKmN1cnJlbnRfaGVhZCA9IE5VTEw7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpwYXJlbnRzID0gTlVMTDsKIAlzdHJ1Y3QgY29tbWl0X2V4dHJhX2hlYWRlciAqZXh0cmEgPSBOVUxMOwogCXN0cnVjdCBzdHJidWYgZXJyID0gU1RSQlVGX0lOSVQ7CkBAIC0xMzExLDcgKzEzMTksNyBAQAogCWVudW0gY29tbWl0X21zZ19jbGVhbnVwX21vZGUgY2xlYW51cDsKIAlpbnQgcmVzID0gMDsKIAotCWlmIChwYXJzZV9oZWFkKCZjdXJyZW50X2hlYWQpKQorCWlmIChwYXJzZV9oZWFkKHIsICZjdXJyZW50X2hlYWQpKQogCQlyZXR1cm4gLTE7CiAKIAlpZiAoZmxhZ3MgJiBBTUVORF9NU0cpIHsKQEAgLTEzMzYsMjQgKzEzNDQsNDEgQEAKIAkJfQogCQlwYXJlbnRzID0gY29weV9jb21taXRfbGlzdChjdXJyZW50X2hlYWQtPnBhcmVudHMpOwogCQlleHRyYSA9IHJlYWRfY29tbWl0X2V4dHJhX2hlYWRlcnMoY3VycmVudF9oZWFkLCBleGNsdWRlX2dwZ3NpZyk7Ci0JfSBlbHNlIGlmIChjdXJyZW50X2hlYWQpIHsKKwl9IGVsc2UgaWYgKGN1cnJlbnRfaGVhZCAmJgorCQkgICAoIShmbGFncyAmIENSRUFURV9ST09UX0NPTU1JVCkgfHwgKGZsYWdzICYgQU1FTkRfTVNHKSkpIHsKIAkJY29tbWl0X2xpc3RfaW5zZXJ0KGN1cnJlbnRfaGVhZCwgJnBhcmVudHMpOwogCX0KIAotCWlmICh3cml0ZV9pbmRleF9hc190cmVlKCZ0cmVlLCAmdGhlX2luZGV4LCBnZXRfaW5kZXhfZmlsZSgpLCAwLCBOVUxMKSkgeworCWlmICh3cml0ZV9pbmRleF9hc190cmVlKCZ0cmVlLCByLT5pbmRleCwgci0+aW5kZXhfZmlsZSwgMCwgTlVMTCkpIHsKIAkJcmVzID0gZXJyb3IoXygiZ2l0IHdyaXRlLXRyZWUgZmFpbGVkIHRvIHdyaXRlIGEgdHJlZSIpKTsKIAkJZ290byBvdXQ7CiAJfQogCi0JaWYgKCEoZmxhZ3MgJiBBTExPV19FTVBUWSkgJiYgb2lkZXEoY3VycmVudF9oZWFkID8KLQkJCQkJICAgIGdldF9jb21taXRfdHJlZV9vaWQoY3VycmVudF9oZWFkKSA6Ci0JCQkJCSAgICB0aGVfaGFzaF9hbGdvLT5lbXB0eV90cmVlLCAmdHJlZSkpIHsKLQkJcmVzID0gMTsgLyogcnVuICdnaXQgY29tbWl0JyB0byBkaXNwbGF5IGVycm9yIG1lc3NhZ2UgKi8KLQkJZ290byBvdXQ7CisJaWYgKCEoZmxhZ3MgJiBBTExPV19FTVBUWSkpIHsKKwkJc3RydWN0IGNvbW1pdCAqZmlyc3RfcGFyZW50ID0gY3VycmVudF9oZWFkOworCisJCWlmIChmbGFncyAmIEFNRU5EX01TRykgeworCQkJaWYgKGN1cnJlbnRfaGVhZC0+cGFyZW50cykgeworCQkJCWZpcnN0X3BhcmVudCA9IGN1cnJlbnRfaGVhZC0+cGFyZW50cy0+aXRlbTsKKwkJCQlpZiAocmVwb19wYXJzZV9jb21taXQociwgZmlyc3RfcGFyZW50KSkgeworCQkJCQlyZXMgPSBlcnJvcihfKCJjb3VsZCBub3QgcGFyc2UgSEVBRCBjb21taXQiKSk7CisJCQkJCWdvdG8gb3V0OworCQkJCX0KKwkJCX0gZWxzZSB7CisJCQkJZmlyc3RfcGFyZW50ID0gTlVMTDsKKwkJCX0KKwkJfQorCQlpZiAob2lkZXEoZmlyc3RfcGFyZW50CisJCQkgID8gZ2V0X2NvbW1pdF90cmVlX29pZChmaXJzdF9wYXJlbnQpCisJCQkgIDogdGhlX2hhc2hfYWxnby0+ZW1wdHlfdHJlZSwKKwkJCSAgJnRyZWUpKSB7CisJCQlyZXMgPSAxOyAvKiBydW4gJ2dpdCBjb21taXQnIHRvIGRpc3BsYXkgZXJyb3IgbWVzc2FnZSAqLworCQkJZ290byBvdXQ7CisJCX0KIAl9CiAKIAlpZiAoZmluZF9ob29rKCJwcmVwYXJlLWNvbW1pdC1tc2ciKSkgewotCQlyZXMgPSBydW5fcHJlcGFyZV9jb21taXRfbXNnX2hvb2sobXNnLCBob29rX2NvbW1pdCk7CisJCXJlcyA9IHJ1bl9wcmVwYXJlX2NvbW1pdF9tc2dfaG9vayhyLCBtc2csIGhvb2tfY29tbWl0KTsKIAkJaWYgKHJlcykKIAkJCWdvdG8gb3V0OwogCQlpZiAoc3RyYnVmX3JlYWRfZmlsZSgmY29tbWl0X21zZywgZ2l0X3BhdGhfY29tbWl0X2VkaXRtc2coKSwKQEAgLTEzNjYsOCArMTM5MSwxMyBAQAogCQltc2cgPSAmY29tbWl0X21zZzsKIAl9CiAKLQljbGVhbnVwID0gKGZsYWdzICYgQ0xFQU5VUF9NU0cpID8gQ09NTUlUX01TR19DTEVBTlVQX0FMTCA6Ci0JCQkJCSAgb3B0cy0+ZGVmYXVsdF9tc2dfY2xlYW51cDsKKwlpZiAoZmxhZ3MgJiBDTEVBTlVQX01TRykKKwkJY2xlYW51cCA9IENPTU1JVF9NU0dfQ0xFQU5VUF9BTEw7CisJZWxzZSBpZiAoKG9wdHMtPnNpZ25vZmYgfHwgb3B0cy0+cmVjb3JkX29yaWdpbikgJiYKKwkJICFvcHRzLT5leHBsaWNpdF9jbGVhbnVwKQorCQljbGVhbnVwID0gQ09NTUlUX01TR19DTEVBTlVQX1NQQUNFOworCWVsc2UKKwkJY2xlYW51cCA9IG9wdHMtPmRlZmF1bHRfbXNnX2NsZWFudXA7CiAKIAlpZiAoY2xlYW51cCAhPSBDT01NSVRfTVNHX0NMRUFOVVBfTk9ORSkKIAkJc3RyYnVmX3N0cmlwc3BhY2UobXNnLCBjbGVhbnVwID09IENPTU1JVF9NU0dfQ0xFQU5VUF9BTEwpOwpAQCAtMTM5MCw4ICsxNDIwLDkgQEAKIAkJZ290byBvdXQ7CiAJfQogCisJcnVuX2NvbW1pdF9ob29rKDAsIHItPmluZGV4X2ZpbGUsICJwb3N0LWNvbW1pdCIsIE5VTEwpOwogCWlmIChmbGFncyAmIEFNRU5EX01TRykKLQkJY29tbWl0X3Bvc3RfcmV3cml0ZShjdXJyZW50X2hlYWQsIG9pZCk7CisJCWNvbW1pdF9wb3N0X3Jld3JpdGUociwgY3VycmVudF9oZWFkLCBvaWQpOwogCiBvdXQ6CiAJZnJlZV9jb21taXRfZXh0cmFfaGVhZGVycyhleHRyYSk7CkBAIC0xNDAyLDEzICsxNDMzLDEzIEBACiAJcmV0dXJuIHJlczsKIH0KIAotc3RhdGljIGludCBkb19jb21taXQoY29uc3QgY2hhciAqbXNnX2ZpbGUsIGNvbnN0IGNoYXIgKmF1dGhvciwKK3N0YXRpYyBpbnQgZG9fY29tbWl0KHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkgICAgIGNvbnN0IGNoYXIgKm1zZ19maWxlLCBjb25zdCBjaGFyICphdXRob3IsCiAJCSAgICAgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7CiAJaW50IHJlcyA9IDE7CiAKLQlpZiAoIShmbGFncyAmIEVESVRfTVNHKSAmJiAhKGZsYWdzICYgVkVSSUZZX01TRykgJiYKLQkgICAgIShmbGFncyAmIENSRUFURV9ST09UX0NPTU1JVCkpIHsKKwlpZiAoIShmbGFncyAmIEVESVRfTVNHKSAmJiAhKGZsYWdzICYgVkVSSUZZX01TRykpIHsKIAkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKIApAQCAtMTQxNywyMCArMTQ0OCwyMCBAQAogCQkJCQkgICAgICJmcm9tICclcyciKSwKIAkJCQkJICAgbXNnX2ZpbGUpOwogCi0JCXJlcyA9IHRyeV90b19jb21taXQobXNnX2ZpbGUgPyAmc2IgOiBOVUxMLCBhdXRob3IsIG9wdHMsIGZsYWdzLAotCQkJCSAgICAmb2lkKTsKKwkJcmVzID0gdHJ5X3RvX2NvbW1pdChyLCBtc2dfZmlsZSA/ICZzYiA6IE5VTEwsCisJCQkJICAgIGF1dGhvciwgb3B0cywgZmxhZ3MsICZvaWQpOwogCQlzdHJidWZfcmVsZWFzZSgmc2IpOwogCQlpZiAoIXJlcykgewotCQkJdW5saW5rKGdpdF9wYXRoX2NoZXJyeV9waWNrX2hlYWQodGhlX3JlcG9zaXRvcnkpKTsKLQkJCXVubGluayhnaXRfcGF0aF9tZXJnZV9tc2codGhlX3JlcG9zaXRvcnkpKTsKKwkJCXVubGluayhnaXRfcGF0aF9jaGVycnlfcGlja19oZWFkKHIpKTsKKwkJCXVubGluayhnaXRfcGF0aF9tZXJnZV9tc2cocikpOwogCQkJaWYgKCFpc19yZWJhc2VfaShvcHRzKSkKLQkJCQlwcmludF9jb21taXRfc3VtbWFyeShOVUxMLCAmb2lkLAorCQkJCXByaW50X2NvbW1pdF9zdW1tYXJ5KHIsIE5VTEwsICZvaWQsCiAJCQkJCQlTVU1NQVJZX1NIT1dfQVVUSE9SX0RBVEUpOwogCQkJcmV0dXJuIHJlczsKIAkJfQogCX0KIAlpZiAocmVzID09IDEpCi0JCXJldHVybiBydW5fZ2l0X2NvbW1pdChtc2dfZmlsZSwgb3B0cywgZmxhZ3MpOworCQlyZXR1cm4gcnVuX2dpdF9jb21taXQociwgbXNnX2ZpbGUsIG9wdHMsIGZsYWdzKTsKIAogCXJldHVybiByZXM7CiB9CkBAIC0xNDU2LDI2ICsxNDg3LDM1IEBACiB9CiAKIC8qCi0gKiBEbyB3ZSBydW4gImdpdCBjb21taXQiIHdpdGggIi0tYWxsb3ctZW1wdHkiPworICogU2hvdWxkIGVtcHR5IGNvbW1pdHMgYmUgYWxsb3dlZD8gIFJldHVybiBzdGF0dXM6CisgKiAgICA8MDogRXJyb3IgaW4gaXNfaW5kZXhfdW5jaGFuZ2VkKHIpIG9yIGlzX29yaWdpbmFsX2NvbW1pdF9lbXB0eShjb21taXQpCisgKiAgICAgMDogSGFsdCBvbiBlbXB0eSBjb21taXQKKyAqICAgICAxOiBBbGxvdyBlbXB0eSBjb21taXQKKyAqICAgICAyOiBEcm9wIGVtcHR5IGNvbW1pdAogICovCi1zdGF0aWMgaW50IGFsbG93X2VtcHR5KHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cywgc3RydWN0IGNvbW1pdCAqY29tbWl0KQorc3RhdGljIGludCBhbGxvd19lbXB0eShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJICAgICAgIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cywKKwkJICAgICAgIHN0cnVjdCBjb21taXQgKmNvbW1pdCkKIHsKLQlpbnQgaW5kZXhfdW5jaGFuZ2VkLCBlbXB0eV9jb21taXQ7CisJaW50IGluZGV4X3VuY2hhbmdlZCwgb3JpZ2luYWxseV9lbXB0eTsKIAogCS8qCi0JICogVGhyZWUgY2FzZXM6CisJICogRm91ciBjYXNlczoKIAkgKgogCSAqICgxKSB3ZSBkbyBub3QgYWxsb3cgZW1wdHkgYXQgYWxsIGFuZCBlcnJvciBvdXQuCiAJICoKLQkgKiAoMikgd2UgYWxsb3cgb25lcyB0aGF0IHdlcmUgaW5pdGlhbGx5IGVtcHR5LCBidXQKLQkgKiBmb3JiaWQgdGhlIG9uZXMgdGhhdCBiZWNvbWUgZW1wdHk7CisJICogKDIpIHdlIGFsbG93IG9uZXMgdGhhdCB3ZXJlIGluaXRpYWxseSBlbXB0eSwgYW5kCisJICogICAgIGp1c3QgZHJvcCB0aGUgb25lcyB0aGF0IGJlY29tZSBlbXB0eQogCSAqCi0JICogKDMpIHdlIGFsbG93IGJvdGguCisJICogKDMpIHdlIGFsbG93IG9uZXMgdGhhdCB3ZXJlIGluaXRpYWxseSBlbXB0eSwgYnV0CisJICogICAgIGhhbHQgZm9yIHRoZSBvbmVzIHRoYXQgYmVjb21lIGVtcHR5OworCSAqCisJICogKDQpIHdlIGFsbG93IGJvdGguCiAJICovCiAJaWYgKCFvcHRzLT5hbGxvd19lbXB0eSkKIAkJcmV0dXJuIDA7IC8qIGxldCAiZ2l0IGNvbW1pdCIgYmFyZiBhcyBuZWNlc3NhcnkgKi8KIAotCWluZGV4X3VuY2hhbmdlZCA9IGlzX2luZGV4X3VuY2hhbmdlZCgpOworCWluZGV4X3VuY2hhbmdlZCA9IGlzX2luZGV4X3VuY2hhbmdlZChyKTsKIAlpZiAoaW5kZXhfdW5jaGFuZ2VkIDwgMCkKIAkJcmV0dXJuIGluZGV4X3VuY2hhbmdlZDsKIAlpZiAoIWluZGV4X3VuY2hhbmdlZCkKQEAgLTE0ODQsNDEgKzE1MjQsMTcgQEAKIAlpZiAob3B0cy0+a2VlcF9yZWR1bmRhbnRfY29tbWl0cykKIAkJcmV0dXJuIDE7CiAKLQllbXB0eV9jb21taXQgPSBpc19vcmlnaW5hbF9jb21taXRfZW1wdHkoY29tbWl0KTsKLQlpZiAoZW1wdHlfY29tbWl0IDwgMCkKLQkJcmV0dXJuIGVtcHR5X2NvbW1pdDsKLQlpZiAoIWVtcHR5X2NvbW1pdCkKLQkJcmV0dXJuIDA7Ci0JZWxzZQorCW9yaWdpbmFsbHlfZW1wdHkgPSBpc19vcmlnaW5hbF9jb21taXRfZW1wdHkoY29tbWl0KTsKKwlpZiAob3JpZ2luYWxseV9lbXB0eSA8IDApCisJCXJldHVybiBvcmlnaW5hbGx5X2VtcHR5OworCWlmIChvcmlnaW5hbGx5X2VtcHR5KQogCQlyZXR1cm4gMTsKKwllbHNlIGlmIChvcHRzLT5kcm9wX3JlZHVuZGFudF9jb21taXRzKQorCQlyZXR1cm4gMjsKKwllbHNlCisJCXJldHVybiAwOwogfQogCi0vKgotICogTm90ZSB0aGF0IG9yZGVyaW5nIG1hdHRlcnMgaW4gdGhpcyBlbnVtLiBOb3Qgb25seSBtdXN0IGl0IG1hdGNoIHRoZSBtYXBwaW5nCi0gKiBiZWxvdywgaXQgaXMgYWxzbyBkaXZpZGVkIGludG8gc2V2ZXJhbCBzZWN0aW9ucyB0aGF0IG1hdHRlci4gIFdoZW4gYWRkaW5nCi0gKiBuZXcgY29tbWFuZHMsIG1ha2Ugc3VyZSB5b3UgYWRkIGl0IGluIHRoZSByaWdodCBzZWN0aW9uLgotICovCi1lbnVtIHRvZG9fY29tbWFuZCB7Ci0JLyogY29tbWFuZHMgdGhhdCBoYW5kbGUgY29tbWl0cyAqLwotCVRPRE9fUElDSyA9IDAsCi0JVE9ET19SRVZFUlQsCi0JVE9ET19FRElULAotCVRPRE9fUkVXT1JELAotCVRPRE9fRklYVVAsCi0JVE9ET19TUVVBU0gsCi0JLyogY29tbWFuZHMgdGhhdCBkbyBzb21ldGhpbmcgZWxzZSB0aGFuIGhhbmRsaW5nIGEgc2luZ2xlIGNvbW1pdCAqLwotCVRPRE9fRVhFQywKLQlUT0RPX0JSRUFLLAotCVRPRE9fTEFCRUwsCi0JVE9ET19SRVNFVCwKLQlUT0RPX01FUkdFLAotCS8qIGNvbW1hbmRzIHRoYXQgZG8gbm90aGluZyBidXQgYXJlIGNvdW50ZWQgZm9yIHJlcG9ydGluZyBwcm9ncmVzcyAqLwotCVRPRE9fTk9PUCwKLQlUT0RPX0RST1AsCi0JLyogY29tbWVudHMgKG5vdCBjb3VudGVkIGZvciByZXBvcnRpbmcgcHJvZ3Jlc3MpICovCi0JVE9ET19DT01NRU5UCi19OwotCiBzdGF0aWMgc3RydWN0IHsKIAljaGFyIGM7CiAJY29uc3QgY2hhciAqc3RyOwpAQCAtMTU3OSwxMiArMTU5NSwxNSBAQAogCX0KIH0KIAotc3RhdGljIGludCB1cGRhdGVfc3F1YXNoX21lc3NhZ2VzKGVudW0gdG9kb19jb21tYW5kIGNvbW1hbmQsCi0JCXN0cnVjdCBjb21taXQgKmNvbW1pdCwgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQorc3RhdGljIGludCB1cGRhdGVfc3F1YXNoX21lc3NhZ2VzKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSAgZW51bSB0b2RvX2NvbW1hbmQgY29tbWFuZCwKKwkJCQkgIHN0cnVjdCBjb21taXQgKmNvbW1pdCwKKwkJCQkgIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCWludCByZXM7CiAJY29uc3QgY2hhciAqbWVzc2FnZSwgKmJvZHk7CisJY29uc3QgY2hhciAqZW5jb2RpbmcgPSBnZXRfY29tbWl0X291dHB1dF9lbmNvZGluZygpOwogCiAJaWYgKG9wdHMtPmN1cnJlbnRfZml4dXBfY291bnQgPiAwKSB7CiAJCXN0cnVjdCBzdHJidWYgaGVhZGVyID0gU1RSQlVGX0lOSVQ7CkBAIC0xNjA5LDkgKzE2MjgsOSBAQAogCiAJCWlmIChnZXRfb2lkKCJIRUFEIiwgJmhlYWQpKQogCQkJcmV0dXJuIGVycm9yKF8oIm5lZWQgYSBIRUFEIHRvIGZpeHVwIikpOwotCQlpZiAoIShoZWFkX2NvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHRoZV9yZXBvc2l0b3J5LCAmaGVhZCkpKQorCQlpZiAoIShoZWFkX2NvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHIsICZoZWFkKSkpCiAJCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHJlYWQgSEVBRCIpKTsKLQkJaWYgKCEoaGVhZF9tZXNzYWdlID0gZ2V0X2NvbW1pdF9idWZmZXIoaGVhZF9jb21taXQsIE5VTEwpKSkKKwkJaWYgKCEoaGVhZF9tZXNzYWdlID0gbG9nbXNnX3JlZW5jb2RlKGhlYWRfY29tbWl0LCBOVUxMLCBlbmNvZGluZykpKQogCQkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCByZWFkIEhFQUQncyBjb21taXQgbWVzc2FnZSIpKTsKIAogCQlmaW5kX2NvbW1pdF9zdWJqZWN0KGhlYWRfbWVzc2FnZSwgJmJvZHkpOwpAQCAtMTYzMiw3ICsxNjUxLDcgQEAKIAkJdW51c2VfY29tbWl0X2J1ZmZlcihoZWFkX2NvbW1pdCwgaGVhZF9tZXNzYWdlKTsKIAl9CiAKLQlpZiAoIShtZXNzYWdlID0gZ2V0X2NvbW1pdF9idWZmZXIoY29tbWl0LCBOVUxMKSkpCisJaWYgKCEobWVzc2FnZSA9IGxvZ21zZ19yZWVuY29kZShjb21taXQsIE5VTEwsIGVuY29kaW5nKSkpCiAJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgcmVhZCBjb21taXQgbWVzc2FnZSBvZiAlcyIpLAogCQkJICAgICBvaWRfdG9faGV4KCZjb21taXQtPm9iamVjdC5vaWQpKTsKIAlmaW5kX2NvbW1pdF9zdWJqZWN0KG1lc3NhZ2UsICZib2R5KTsKQEAgLTE2NzAsNyArMTY4OSw4IEBACiAJcmV0dXJuIHJlczsKIH0KIAotc3RhdGljIHZvaWQgZmx1c2hfcmV3cml0dGVuX3BlbmRpbmcodm9pZCkgeworc3RhdGljIHZvaWQgZmx1c2hfcmV3cml0dGVuX3BlbmRpbmcodm9pZCkKK3sKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBvYmplY3RfaWQgbmV3b2lkOwogCUZJTEUgKm91dDsKQEAgLTE2OTUsNyArMTcxNSw4IEBACiB9CiAKIHN0YXRpYyB2b2lkIHJlY29yZF9pbl9yZXdyaXR0ZW4oc3RydWN0IG9iamVjdF9pZCAqb2lkLAotCQllbnVtIHRvZG9fY29tbWFuZCBuZXh0X2NvbW1hbmQpIHsKKwkJZW51bSB0b2RvX2NvbW1hbmQgbmV4dF9jb21tYW5kKQorewogCUZJTEUgKm91dCA9IGZvcGVuX29yX3dhcm4ocmViYXNlX3BhdGhfcmV3cml0dGVuX3BlbmRpbmcoKSwgImEiKTsKIAogCWlmICghb3V0KQpAQCAtMTcwOCwxOCArMTcyOSwyMSBAQAogCQlmbHVzaF9yZXdyaXR0ZW5fcGVuZGluZygpOwogfQogCi1zdGF0aWMgaW50IGRvX3BpY2tfY29tbWl0KGVudW0gdG9kb19jb21tYW5kIGNvbW1hbmQsIHN0cnVjdCBjb21taXQgKmNvbW1pdCwKLQkJc3RydWN0IHJlcGxheV9vcHRzICpvcHRzLCBpbnQgZmluYWxfZml4dXApCitzdGF0aWMgaW50IGRvX3BpY2tfY29tbWl0KHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJICBlbnVtIHRvZG9fY29tbWFuZCBjb21tYW5kLAorCQkJICBzdHJ1Y3QgY29tbWl0ICpjb21taXQsCisJCQkgIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cywKKwkJCSAgaW50IGZpbmFsX2ZpeHVwLCBpbnQgKmNoZWNrX3RvZG8pCiB7CiAJdW5zaWduZWQgaW50IGZsYWdzID0gb3B0cy0+ZWRpdCA/IEVESVRfTVNHIDogMDsKLQljb25zdCBjaGFyICptc2dfZmlsZSA9IG9wdHMtPmVkaXQgPyBOVUxMIDogZ2l0X3BhdGhfbWVyZ2VfbXNnKHRoZV9yZXBvc2l0b3J5KTsKKwljb25zdCBjaGFyICptc2dfZmlsZSA9IG9wdHMtPmVkaXQgPyBOVUxMIDogZ2l0X3BhdGhfbWVyZ2VfbXNnKHIpOwogCXN0cnVjdCBvYmplY3RfaWQgaGVhZDsKIAlzdHJ1Y3QgY29tbWl0ICpiYXNlLCAqbmV4dCwgKnBhcmVudDsKIAljb25zdCBjaGFyICpiYXNlX2xhYmVsLCAqbmV4dF9sYWJlbDsKIAljaGFyICphdXRob3IgPSBOVUxMOwogCXN0cnVjdCBjb21taXRfbWVzc2FnZSBtc2cgPSB7IE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwgfTsKIAlzdHJ1Y3Qgc3RyYnVmIG1zZ2J1ZiA9IFNUUkJVRl9JTklUOwotCWludCByZXMsIHVuYm9ybiA9IDAsIGFsbG93OworCWludCByZXMsIHVuYm9ybiA9IDAsIHJld29yZCA9IDAsIGFsbG93LCBkcm9wX2NvbW1pdDsKIAogCWlmIChvcHRzLT5ub19jb21taXQpIHsKIAkJLyoKQEAgLTE3MjgsNyArMTc1Miw3IEBACiAJCSAqIHRoYXQgcmVwcmVzZW50cyB0aGUgImN1cnJlbnQiIHN0YXRlIGZvciBtZXJnZS1yZWN1cnNpdmUKIAkJICogdG8gd29yayBvbi4KIAkJICovCi0JCWlmICh3cml0ZV9pbmRleF9hc190cmVlKCZoZWFkLCAmdGhlX2luZGV4LCBnZXRfaW5kZXhfZmlsZSgpLCAwLCBOVUxMKSkKKwkJaWYgKHdyaXRlX2luZGV4X2FzX3RyZWUoJmhlYWQsIHItPmluZGV4LCByLT5pbmRleF9maWxlLCAwLCBOVUxMKSkKIAkJCXJldHVybiBlcnJvcihfKCJ5b3VyIGluZGV4IGZpbGUgaXMgdW5tZXJnZWQuIikpOwogCX0gZWxzZSB7CiAJCXVuYm9ybiA9IGdldF9vaWQoIkhFQUQiLCAmaGVhZCk7CkBAIC0xNzQxLDExICsxNzY1LDExIEBACiAJCQl1bmJvcm4gPSAxOwogCQl9IGVsc2UgaWYgKHVuYm9ybikKIAkJCW9pZGNweSgmaGVhZCwgdGhlX2hhc2hfYWxnby0+ZW1wdHlfdHJlZSk7Ci0JCWlmIChpbmRleF9kaWZmZXJzX2Zyb20odW5ib3JuID8gZW1wdHlfdHJlZV9vaWRfaGV4KCkgOiAiSEVBRCIsCisJCWlmIChpbmRleF9kaWZmZXJzX2Zyb20ociwgdW5ib3JuID8gZW1wdHlfdHJlZV9vaWRfaGV4KCkgOiAiSEVBRCIsCiAJCQkJICAgICAgIE5VTEwsIDApKQotCQkJcmV0dXJuIGVycm9yX2RpcnR5X2luZGV4KG9wdHMpOworCQkJcmV0dXJuIGVycm9yX2RpcnR5X2luZGV4KHIsIG9wdHMpOwogCX0KLQlkaXNjYXJkX2NhY2hlKCk7CisJZGlzY2FyZF9pbmRleChyLT5pbmRleCk7CiAKIAlpZiAoIWNvbW1pdC0+cGFyZW50cykKIAkJcGFyZW50ID0gTlVMTDsKQEAgLTE3NjYsOSArMTc5MCwxMyBAQAogCQkJcmV0dXJuIGVycm9yKF8oImNvbW1pdCAlcyBkb2VzIG5vdCBoYXZlIHBhcmVudCAlZCIpLAogCQkJCW9pZF90b19oZXgoJmNvbW1pdC0+b2JqZWN0Lm9pZCksIG9wdHMtPm1haW5saW5lKTsKIAkJcGFyZW50ID0gcC0+aXRlbTsKLQl9IGVsc2UgaWYgKDAgPCBvcHRzLT5tYWlubGluZSkKLQkJcmV0dXJuIGVycm9yKF8oIm1haW5saW5lIHdhcyBzcGVjaWZpZWQgYnV0IGNvbW1pdCAlcyBpcyBub3QgYSBtZXJnZS4iKSwKLQkJCW9pZF90b19oZXgoJmNvbW1pdC0+b2JqZWN0Lm9pZCkpOworCX0gZWxzZSBpZiAoMSA8IG9wdHMtPm1haW5saW5lKQorCQkvKgorCQkgKiAgTm9uLWZpcnN0IHBhcmVudCBleHBsaWNpdGx5IHNwZWNpZmllZCBhcyBtYWlubGluZSBmb3IKKwkJICogIG5vbi1tZXJnZSBjb21taXQKKwkJICovCisJCXJldHVybiBlcnJvcihfKCJjb21taXQgJXMgZG9lcyBub3QgaGF2ZSBwYXJlbnQgJWQiKSwKKwkJCSAgICAgb2lkX3RvX2hleCgmY29tbWl0LT5vYmplY3Qub2lkKSwgb3B0cy0+bWFpbmxpbmUpOwogCWVsc2UKIAkJcGFyZW50ID0gY29tbWl0LT5wYXJlbnRzLT5pdGVtOwogCkBAIC0xNzgxLDExICsxODA5LDExIEBACiAJICAgICAoIXBhcmVudCAmJiB1bmJvcm4pKSkgewogCQlpZiAoaXNfcmViYXNlX2kob3B0cykpCiAJCQl3cml0ZV9hdXRob3Jfc2NyaXB0KG1zZy5tZXNzYWdlKTsKLQkJcmVzID0gZmFzdF9mb3J3YXJkX3RvKCZjb21taXQtPm9iamVjdC5vaWQsICZoZWFkLCB1bmJvcm4sCisJCXJlcyA9IGZhc3RfZm9yd2FyZF90byhyLCAmY29tbWl0LT5vYmplY3Qub2lkLCAmaGVhZCwgdW5ib3JuLAogCQkJb3B0cyk7CiAJCWlmIChyZXMgfHwgY29tbWFuZCAhPSBUT0RPX1JFV09SRCkKIAkJCWdvdG8gbGVhdmU7Ci0JCWZsYWdzIHw9IEVESVRfTVNHIHwgQU1FTkRfTVNHIHwgVkVSSUZZX01TRzsKKwkJcmV3b3JkID0gMTsKIAkJbXNnX2ZpbGUgPSBOVUxMOwogCQlnb3RvIGZhc3RfZm9yd2FyZF9lZGl0OwogCX0KQEAgLTE4NDMsOSArMTg3MSw5IEBACiAJfQogCiAJaWYgKGNvbW1hbmQgPT0gVE9ET19SRVdPUkQpCi0JCWZsYWdzIHw9IEVESVRfTVNHIHwgVkVSSUZZX01TRzsKKwkJcmV3b3JkID0gMTsKIAllbHNlIGlmIChpc19maXh1cChjb21tYW5kKSkgewotCQlpZiAodXBkYXRlX3NxdWFzaF9tZXNzYWdlcyhjb21tYW5kLCBjb21taXQsIG9wdHMpKQorCQlpZiAodXBkYXRlX3NxdWFzaF9tZXNzYWdlcyhyLCBjb21tYW5kLCBjb21taXQsIG9wdHMpKQogCQkJcmV0dXJuIC0xOwogCQlmbGFncyB8PSBBTUVORF9NU0c7CiAJCWlmICghZmluYWxfZml4dXApCkBAIC0xODU0LDEyICsxODgyLDEyIEBACiAJCQlmbGFncyB8PSBDTEVBTlVQX01TRzsKIAkJCW1zZ19maWxlID0gcmViYXNlX3BhdGhfZml4dXBfbXNnKCk7CiAJCX0gZWxzZSB7Ci0JCQljb25zdCBjaGFyICpkZXN0ID0gZ2l0X3BhdGhfc3F1YXNoX21zZyh0aGVfcmVwb3NpdG9yeSk7CisJCQljb25zdCBjaGFyICpkZXN0ID0gZ2l0X3BhdGhfc3F1YXNoX21zZyhyKTsKIAkJCXVubGluayhkZXN0KTsKIAkJCWlmIChjb3B5X2ZpbGUoZGVzdCwgcmViYXNlX3BhdGhfc3F1YXNoX21zZygpLCAwNjY2KSkKIAkJCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHJlbmFtZSAnJXMnIHRvICclcyciKSwKIAkJCQkJICAgICByZWJhc2VfcGF0aF9zcXVhc2hfbXNnKCksIGRlc3QpOwotCQkJdW5saW5rKGdpdF9wYXRoX21lcmdlX21zZyh0aGVfcmVwb3NpdG9yeSkpOworCQkJdW5saW5rKGdpdF9wYXRoX21lcmdlX21zZyhyKSk7CiAJCQltc2dfZmlsZSA9IGRlc3Q7CiAJCQlmbGFncyB8PSBFRElUX01TRzsKIAkJfQpAQCAtMTg3MSwyMyArMTg5OSwyMyBAQAogCWlmIChpc19yZWJhc2VfaShvcHRzKSAmJiB3cml0ZV9hdXRob3Jfc2NyaXB0KG1zZy5tZXNzYWdlKSA8IDApCiAJCXJlcyA9IC0xOwogCWVsc2UgaWYgKCFvcHRzLT5zdHJhdGVneSB8fCAhc3RyY21wKG9wdHMtPnN0cmF0ZWd5LCAicmVjdXJzaXZlIikgfHwgY29tbWFuZCA9PSBUT0RPX1JFVkVSVCkgewotCQlyZXMgPSBkb19yZWN1cnNpdmVfbWVyZ2UoYmFzZSwgbmV4dCwgYmFzZV9sYWJlbCwgbmV4dF9sYWJlbCwKKwkJcmVzID0gZG9fcmVjdXJzaXZlX21lcmdlKHIsIGJhc2UsIG5leHQsIGJhc2VfbGFiZWwsIG5leHRfbGFiZWwsCiAJCQkJCSAmaGVhZCwgJm1zZ2J1Ziwgb3B0cyk7CiAJCWlmIChyZXMgPCAwKQogCQkJZ290byBsZWF2ZTsKIAogCQlyZXMgfD0gd3JpdGVfbWVzc2FnZShtc2didWYuYnVmLCBtc2didWYubGVuLAotCQkJCSAgICAgZ2l0X3BhdGhfbWVyZ2VfbXNnKHRoZV9yZXBvc2l0b3J5KSwgMCk7CisJCQkJICAgICBnaXRfcGF0aF9tZXJnZV9tc2cociksIDApOwogCX0gZWxzZSB7CiAJCXN0cnVjdCBjb21taXRfbGlzdCAqY29tbW9uID0gTlVMTDsKIAkJc3RydWN0IGNvbW1pdF9saXN0ICpyZW1vdGVzID0gTlVMTDsKIAogCQlyZXMgPSB3cml0ZV9tZXNzYWdlKG1zZ2J1Zi5idWYsIG1zZ2J1Zi5sZW4sCi0JCQkJICAgIGdpdF9wYXRoX21lcmdlX21zZyh0aGVfcmVwb3NpdG9yeSksIDApOworCQkJCSAgICBnaXRfcGF0aF9tZXJnZV9tc2cociksIDApOwogCiAJCWNvbW1pdF9saXN0X2luc2VydChiYXNlLCAmY29tbW9uKTsKIAkJY29tbWl0X2xpc3RfaW5zZXJ0KG5leHQsICZyZW1vdGVzKTsKLQkJcmVzIHw9IHRyeV9tZXJnZV9jb21tYW5kKHRoZV9yZXBvc2l0b3J5LCBvcHRzLT5zdHJhdGVneSwKKwkJcmVzIHw9IHRyeV9tZXJnZV9jb21tYW5kKHIsIG9wdHMtPnN0cmF0ZWd5LAogCQkJCQkgb3B0cy0+eG9wdHNfbnIsIChjb25zdCBjaGFyICoqKW9wdHMtPnhvcHRzLAogCQkJCQljb21tb24sIG9pZF90b19oZXgoJmhlYWQpLCByZW1vdGVzKTsKIAkJZnJlZV9jb21taXRfbGlzdChjb21tb24pOwpAQCAtMTkxNSwyNSArMTk0Myw0MCBAQAogCQkgICAgICA/IF8oImNvdWxkIG5vdCByZXZlcnQgJXMuLi4gJXMiKQogCQkgICAgICA6IF8oImNvdWxkIG5vdCBhcHBseSAlcy4uLiAlcyIpLAogCQkgICAgICBzaG9ydF9jb21taXRfbmFtZShjb21taXQpLCBtc2cuc3ViamVjdCk7Ci0JCXByaW50X2FkdmljZShyZXMgPT0gMSwgb3B0cyk7Ci0JCXJlcG9fcmVyZXJlKHRoZV9yZXBvc2l0b3J5LCBvcHRzLT5hbGxvd19yZXJlcmVfYXV0byk7CisJCXByaW50X2FkdmljZShyLCByZXMgPT0gMSwgb3B0cyk7CisJCXJlcG9fcmVyZXJlKHIsIG9wdHMtPmFsbG93X3JlcmVyZV9hdXRvKTsKIAkJZ290byBsZWF2ZTsKIAl9CiAKLQlhbGxvdyA9IGFsbG93X2VtcHR5KG9wdHMsIGNvbW1pdCk7CisJZHJvcF9jb21taXQgPSAwOworCWFsbG93ID0gYWxsb3dfZW1wdHkociwgb3B0cywgY29tbWl0KTsKIAlpZiAoYWxsb3cgPCAwKSB7CiAJCXJlcyA9IGFsbG93OwogCQlnb3RvIGxlYXZlOwotCX0gZWxzZSBpZiAoYWxsb3cpCisJfSBlbHNlIGlmIChhbGxvdyA9PSAxKSB7CiAJCWZsYWdzIHw9IEFMTE9XX0VNUFRZOwotCWlmICghb3B0cy0+bm9fY29tbWl0KSB7Ci1mYXN0X2ZvcndhcmRfZWRpdDoKKwl9IGVsc2UgaWYgKGFsbG93ID09IDIpIHsKKwkJZHJvcF9jb21taXQgPSAxOworCQlmcHJpbnRmKHN0ZGVyciwKKwkJCV8oImRyb3BwaW5nICVzICVzIC0tIHBhdGNoIGNvbnRlbnRzIGFscmVhZHkgdXBzdHJlYW1cbiIpLAorCQkJb2lkX3RvX2hleCgmY29tbWl0LT5vYmplY3Qub2lkKSwgbXNnLnN1YmplY3QpOworCX0gLyogZWxzZSBhbGxvdyA9PSAwIGFuZCB0aGVyZSdzIG5vdGhpbmcgc3BlY2lhbCB0byBkbyAqLworCWlmICghb3B0cy0+bm9fY29tbWl0ICYmICFkcm9wX2NvbW1pdCkgewogCQlpZiAoYXV0aG9yIHx8IGNvbW1hbmQgPT0gVE9ET19SRVZFUlQgfHwgKGZsYWdzICYgQU1FTkRfTVNHKSkKLQkJCXJlcyA9IGRvX2NvbW1pdChtc2dfZmlsZSwgYXV0aG9yLCBvcHRzLCBmbGFncyk7CisJCQlyZXMgPSBkb19jb21taXQociwgbXNnX2ZpbGUsIGF1dGhvciwgb3B0cywgZmxhZ3MpOwogCQllbHNlCiAJCQlyZXMgPSBlcnJvcihfKCJ1bmFibGUgdG8gcGFyc2UgY29tbWl0IGF1dGhvciIpKTsKKwkJKmNoZWNrX3RvZG8gPSAhIShmbGFncyAmIEVESVRfTVNHKTsKKwkJaWYgKCFyZXMgJiYgcmV3b3JkKSB7CitmYXN0X2ZvcndhcmRfZWRpdDoKKwkJCXJlcyA9IHJ1bl9naXRfY29tbWl0KHIsIE5VTEwsIG9wdHMsIEVESVRfTVNHIHwKKwkJCQkJICAgICBWRVJJRllfTVNHIHwgQU1FTkRfTVNHIHwKKwkJCQkJICAgICAoZmxhZ3MgJiBBTExPV19FTVBUWSkpOworCQkJKmNoZWNrX3RvZG8gPSAxOworCQl9CiAJfQogCisKIAlpZiAoIXJlcyAmJiBmaW5hbF9maXh1cCkgewogCQl1bmxpbmsocmViYXNlX3BhdGhfZml4dXBfbXNnKCkpOwogCQl1bmxpbmsocmViYXNlX3BhdGhfc3F1YXNoX21zZygpKTsKQEAgLTE5NjUsMTggKzIwMDgsMTkgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCByZWFkX2FuZF9yZWZyZXNoX2NhY2hlKHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKK3N0YXRpYyBpbnQgcmVhZF9hbmRfcmVmcmVzaF9jYWNoZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkgIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKIHsKIAlzdHJ1Y3QgbG9ja19maWxlIGluZGV4X2xvY2sgPSBMT0NLX0lOSVQ7Ci0JaW50IGluZGV4X2ZkID0gaG9sZF9sb2NrZWRfaW5kZXgoJmluZGV4X2xvY2ssIDApOwotCWlmIChyZWFkX2luZGV4KCZ0aGVfaW5kZXgpIDwgMCkgeworCWludCBpbmRleF9mZCA9IHJlcG9faG9sZF9sb2NrZWRfaW5kZXgociwgJmluZGV4X2xvY2ssIDApOworCWlmIChyZXBvX3JlYWRfaW5kZXgocikgPCAwKSB7CiAJCXJvbGxiYWNrX2xvY2tfZmlsZSgmaW5kZXhfbG9jayk7CiAJCXJldHVybiBlcnJvcihfKCJnaXQgJXM6IGZhaWxlZCB0byByZWFkIHRoZSBpbmRleCIpLAogCQkJXyhhY3Rpb25fbmFtZShvcHRzKSkpOwogCX0KLQlyZWZyZXNoX2luZGV4KCZ0aGVfaW5kZXgsIFJFRlJFU0hfUVVJRVR8UkVGUkVTSF9VTk1FUkdFRCwgTlVMTCwgTlVMTCwgTlVMTCk7CisJcmVmcmVzaF9pbmRleChyLT5pbmRleCwgUkVGUkVTSF9RVUlFVHxSRUZSRVNIX1VOTUVSR0VELCBOVUxMLCBOVUxMLCBOVUxMKTsKIAlpZiAoaW5kZXhfZmQgPj0gMCkgewotCQlpZiAod3JpdGVfbG9ja2VkX2luZGV4KCZ0aGVfaW5kZXgsICZpbmRleF9sb2NrLAorCQlpZiAod3JpdGVfbG9ja2VkX2luZGV4KHItPmluZGV4LCAmaW5kZXhfbG9jaywKIAkJCQkgICAgICAgQ09NTUlUX0xPQ0sgfCBTS0lQX0lGX1VOQ0hBTkdFRCkpIHsKIAkJCXJldHVybiBlcnJvcihfKCJnaXQgJXM6IGZhaWxlZCB0byByZWZyZXNoIHRoZSBpbmRleCIpLAogCQkJCV8oYWN0aW9uX25hbWUob3B0cykpKTsKQEAgLTE5ODksMjYgKzIwMzMsNyBAQAogCVRPRE9fRURJVF9NRVJHRV9NU0cgPSAxCiB9OwogCi1zdHJ1Y3QgdG9kb19pdGVtIHsKLQllbnVtIHRvZG9fY29tbWFuZCBjb21tYW5kOwotCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKLQl1bnNpZ25lZCBpbnQgZmxhZ3M7Ci0JY29uc3QgY2hhciAqYXJnOwotCWludCBhcmdfbGVuOwotCXNpemVfdCBvZmZzZXRfaW5fYnVmOwotfTsKLQotc3RydWN0IHRvZG9fbGlzdCB7Ci0Jc3RydWN0IHN0cmJ1ZiBidWY7Ci0Jc3RydWN0IHRvZG9faXRlbSAqaXRlbXM7Ci0JaW50IG5yLCBhbGxvYywgY3VycmVudDsKLQlpbnQgZG9uZV9uciwgdG90YWxfbnI7Ci0Jc3RydWN0IHN0YXRfZGF0YSBzdGF0OwotfTsKLQotI2RlZmluZSBUT0RPX0xJU1RfSU5JVCB7IFNUUkJVRl9JTklUIH0KLQotc3RhdGljIHZvaWQgdG9kb19saXN0X3JlbGVhc2Uoc3RydWN0IHRvZG9fbGlzdCAqdG9kb19saXN0KQordm9pZCB0b2RvX2xpc3RfcmVsZWFzZShzdHJ1Y3QgdG9kb19saXN0ICp0b2RvX2xpc3QpCiB7CiAJc3RyYnVmX3JlbGVhc2UoJnRvZG9fbGlzdC0+YnVmKTsKIAlGUkVFX0FORF9OVUxMKHRvZG9fbGlzdC0+aXRlbXMpOwpAQCAtMjAxOCwxMCArMjA0MywzMCBAQAogc3RhdGljIHN0cnVjdCB0b2RvX2l0ZW0gKmFwcGVuZF9uZXdfdG9kbyhzdHJ1Y3QgdG9kb19saXN0ICp0b2RvX2xpc3QpCiB7CiAJQUxMT0NfR1JPVyh0b2RvX2xpc3QtPml0ZW1zLCB0b2RvX2xpc3QtPm5yICsgMSwgdG9kb19saXN0LT5hbGxvYyk7CisJdG9kb19saXN0LT50b3RhbF9ucisrOwogCXJldHVybiB0b2RvX2xpc3QtPml0ZW1zICsgdG9kb19saXN0LT5ucisrOwogfQogCi1zdGF0aWMgaW50IHBhcnNlX2luc25fbGluZShzdHJ1Y3QgdG9kb19pdGVtICppdGVtLCBjb25zdCBjaGFyICpib2wsIGNoYXIgKmVvbCkKK2NvbnN0IGNoYXIgKnRvZG9faXRlbV9nZXRfYXJnKHN0cnVjdCB0b2RvX2xpc3QgKnRvZG9fbGlzdCwKKwkJCSAgICAgIHN0cnVjdCB0b2RvX2l0ZW0gKml0ZW0pCit7CisJcmV0dXJuIHRvZG9fbGlzdC0+YnVmLmJ1ZiArIGl0ZW0tPmFyZ19vZmZzZXQ7Cit9CisKK3N0YXRpYyBpbnQgaXNfY29tbWFuZChlbnVtIHRvZG9fY29tbWFuZCBjb21tYW5kLCBjb25zdCBjaGFyICoqYm9sKQoreworCWNvbnN0IGNoYXIgKnN0ciA9IHRvZG9fY29tbWFuZF9pbmZvW2NvbW1hbmRdLnN0cjsKKwljb25zdCBjaGFyIG5pY2sgPSB0b2RvX2NvbW1hbmRfaW5mb1tjb21tYW5kXS5jOworCWNvbnN0IGNoYXIgKnAgPSAqYm9sICsgMTsKKworCXJldHVybiBza2lwX3ByZWZpeCgqYm9sLCBzdHIsIGJvbCkgfHwKKwkJKChuaWNrICYmICoqYm9sID09IG5pY2spICYmCisJCSAoKnAgPT0gJyAnIHx8ICpwID09ICdcdCcgfHwgKnAgPT0gJ1xuJyB8fCAqcCA9PSAnXHInIHx8ICEqcCkgJiYKKwkJICgqYm9sID0gcCkpOworfQorCitzdGF0aWMgaW50IHBhcnNlX2luc25fbGluZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHRvZG9faXRlbSAqaXRlbSwKKwkJCSAgIGNvbnN0IGNoYXIgKmJ1ZiwgY29uc3QgY2hhciAqYm9sLCBjaGFyICplb2wpCiB7CiAJc3RydWN0IG9iamVjdF9pZCBjb21taXRfb2lkOwogCWNoYXIgKmVuZF9vZl9vYmplY3RfbmFtZTsKQEAgLTIwMzUsMTggKzIwODAsMTMgQEAKIAlpZiAoYm9sID09IGVvbCB8fCAqYm9sID09ICdccicgfHwgKmJvbCA9PSBjb21tZW50X2xpbmVfY2hhcikgewogCQlpdGVtLT5jb21tYW5kID0gVE9ET19DT01NRU5UOwogCQlpdGVtLT5jb21taXQgPSBOVUxMOwotCQlpdGVtLT5hcmcgPSBib2w7CisJCWl0ZW0tPmFyZ19vZmZzZXQgPSBib2wgLSBidWY7CiAJCWl0ZW0tPmFyZ19sZW4gPSBlb2wgLSBib2w7CiAJCXJldHVybiAwOwogCX0KIAogCWZvciAoaSA9IDA7IGkgPCBUT0RPX0NPTU1FTlQ7IGkrKykKLQkJaWYgKHNraXBfcHJlZml4KGJvbCwgdG9kb19jb21tYW5kX2luZm9baV0uc3RyLCAmYm9sKSkgewotCQkJaXRlbS0+Y29tbWFuZCA9IGk7Ci0JCQlicmVhazsKLQkJfSBlbHNlIGlmICgoYm9sICsgMSA9PSBlb2wgfHwgYm9sWzFdID09ICcgJykgJiYKLQkJCSAgICpib2wgPT0gdG9kb19jb21tYW5kX2luZm9baV0uYykgewotCQkJYm9sKys7CisJCWlmIChpc19jb21tYW5kKGksICZib2wpKSB7CiAJCQlpdGVtLT5jb21tYW5kID0gaTsKIAkJCWJyZWFrOwogCQl9CkBAIC0yMDYyLDcgKzIxMDIsNyBAQAogCQkJcmV0dXJuIGVycm9yKF8oIiVzIGRvZXMgbm90IGFjY2VwdCBhcmd1bWVudHM6ICclcyciKSwKIAkJCQkgICAgIGNvbW1hbmRfdG9fc3RyaW5nKGl0ZW0tPmNvbW1hbmQpLCBib2wpOwogCQlpdGVtLT5jb21taXQgPSBOVUxMOwotCQlpdGVtLT5hcmcgPSBib2w7CisJCWl0ZW0tPmFyZ19vZmZzZXQgPSBib2wgLSBidWY7CiAJCWl0ZW0tPmFyZ19sZW4gPSBlb2wgLSBib2w7CiAJCXJldHVybiAwOwogCX0KQEAgLTIwNzQsNyArMjExNCw3IEBACiAJaWYgKGl0ZW0tPmNvbW1hbmQgPT0gVE9ET19FWEVDIHx8IGl0ZW0tPmNvbW1hbmQgPT0gVE9ET19MQUJFTCB8fAogCSAgICBpdGVtLT5jb21tYW5kID09IFRPRE9fUkVTRVQpIHsKIAkJaXRlbS0+Y29tbWl0ID0gTlVMTDsKLQkJaXRlbS0+YXJnID0gYm9sOworCQlpdGVtLT5hcmdfb2Zmc2V0ID0gYm9sIC0gYnVmOwogCQlpdGVtLT5hcmdfbGVuID0gKGludCkoZW9sIC0gYm9sKTsKIAkJcmV0dXJuIDA7CiAJfQpAQCAtMjA4OCw3ICsyMTI4LDcgQEAKIAkJfSBlbHNlIHsKIAkJCWl0ZW0tPmZsYWdzIHw9IFRPRE9fRURJVF9NRVJHRV9NU0c7CiAJCQlpdGVtLT5jb21taXQgPSBOVUxMOwotCQkJaXRlbS0+YXJnID0gYm9sOworCQkJaXRlbS0+YXJnX29mZnNldCA9IGJvbCAtIGJ1ZjsKIAkJCWl0ZW0tPmFyZ19sZW4gPSAoaW50KShlb2wgLSBib2wpOwogCQkJcmV0dXJuIDA7CiAJCX0KQEAgLTIwOTgsMjQgKzIxMzgsNTcgQEAKIAlzYXZlZCA9ICplbmRfb2Zfb2JqZWN0X25hbWU7CiAJKmVuZF9vZl9vYmplY3RfbmFtZSA9ICdcMCc7CiAJc3RhdHVzID0gZ2V0X29pZChib2wsICZjb21taXRfb2lkKTsKKwlpZiAoc3RhdHVzIDwgMCkKKwkJZXJyb3IoXygiY291bGQgbm90IHBhcnNlICclcyciKSwgYm9sKTsgLyogcmV0dXJuIGxhdGVyICovCiAJKmVuZF9vZl9vYmplY3RfbmFtZSA9IHNhdmVkOwogCi0JaXRlbS0+YXJnID0gZW5kX29mX29iamVjdF9uYW1lICsgc3Ryc3BuKGVuZF9vZl9vYmplY3RfbmFtZSwgIiBcdCIpOwotCWl0ZW0tPmFyZ19sZW4gPSAoaW50KShlb2wgLSBpdGVtLT5hcmcpOworCWJvbCA9IGVuZF9vZl9vYmplY3RfbmFtZSArIHN0cnNwbihlbmRfb2Zfb2JqZWN0X25hbWUsICIgXHQiKTsKKwlpdGVtLT5hcmdfb2Zmc2V0ID0gYm9sIC0gYnVmOworCWl0ZW0tPmFyZ19sZW4gPSAoaW50KShlb2wgLSBib2wpOwogCiAJaWYgKHN0YXR1cyA8IDApCi0JCXJldHVybiAtMTsKKwkJcmV0dXJuIHN0YXR1czsKIAotCWl0ZW0tPmNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHRoZV9yZXBvc2l0b3J5LCAmY29tbWl0X29pZCk7Ci0JcmV0dXJuICFpdGVtLT5jb21taXQ7CisJaXRlbS0+Y29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UociwgJmNvbW1pdF9vaWQpOworCXJldHVybiBpdGVtLT5jb21taXQgPyAwIDogLTE7CiB9CiAKLXN0YXRpYyBpbnQgcGFyc2VfaW5zbl9idWZmZXIoY2hhciAqYnVmLCBzdHJ1Y3QgdG9kb19saXN0ICp0b2RvX2xpc3QpCitpbnQgc2VxdWVuY2VyX2dldF9sYXN0X2NvbW1hbmQoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGVudW0gcmVwbGF5X2FjdGlvbiAqYWN0aW9uKQoreworCWNvbnN0IGNoYXIgKnRvZG9fZmlsZSwgKmJvbDsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOworCWludCByZXQgPSAwOworCisJdG9kb19maWxlID0gZ2l0X3BhdGhfdG9kb19maWxlKCk7CisJaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUoJmJ1ZiwgdG9kb19maWxlLCAwKSA8IDApIHsKKwkJaWYgKGVycm5vID09IEVOT0VOVCB8fCBlcnJubyA9PSBFTk9URElSKQorCQkJcmV0dXJuIC0xOworCQllbHNlCisJCQlyZXR1cm4gZXJyb3JfZXJybm8oInVuYWJsZSB0byBvcGVuICclcyciLCB0b2RvX2ZpbGUpOworCX0KKwlib2wgPSBidWYuYnVmICsgc3Ryc3BuKGJ1Zi5idWYsICIgXHRcclxuIik7CisJaWYgKGlzX2NvbW1hbmQoVE9ET19QSUNLLCAmYm9sKSAmJiAoKmJvbCA9PSAnICcgfHwgKmJvbCA9PSAnXHQnKSkKKwkJKmFjdGlvbiA9IFJFUExBWV9QSUNLOworCWVsc2UgaWYgKGlzX2NvbW1hbmQoVE9ET19SRVZFUlQsICZib2wpICYmCisJCSAoKmJvbCA9PSAnICcgfHwgKmJvbCA9PSAnXHQnKSkKKwkJKmFjdGlvbiA9IFJFUExBWV9SRVZFUlQ7CisJZWxzZQorCQlyZXQgPSAtMTsKKworCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOworCisJcmV0dXJuIHJldDsKK30KKworaW50IHRvZG9fbGlzdF9wYXJzZV9pbnNuX2J1ZmZlcihzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY2hhciAqYnVmLAorCQkJCXN0cnVjdCB0b2RvX2xpc3QgKnRvZG9fbGlzdCkKIHsKIAlzdHJ1Y3QgdG9kb19pdGVtICppdGVtOwogCWNoYXIgKnAgPSBidWYsICpuZXh0X3A7CiAJaW50IGksIHJlcyA9IDAsIGZpeHVwX29rYXkgPSBmaWxlX2V4aXN0cyhyZWJhc2VfcGF0aF9kb25lKCkpOwogCisJdG9kb19saXN0LT5jdXJyZW50ID0gdG9kb19saXN0LT5uciA9IDA7CisKIAlmb3IgKGkgPSAxOyAqcDsgaSsrLCBwID0gbmV4dF9wKSB7CiAJCWNoYXIgKmVvbCA9IHN0cmNocm51bChwLCAnXG4nKTsKIApAQCAtMjEyNiwxMCArMjE5OSwxMyBAQAogCiAJCWl0ZW0gPSBhcHBlbmRfbmV3X3RvZG8odG9kb19saXN0KTsKIAkJaXRlbS0+b2Zmc2V0X2luX2J1ZiA9IHAgLSB0b2RvX2xpc3QtPmJ1Zi5idWY7Ci0JCWlmIChwYXJzZV9pbnNuX2xpbmUoaXRlbSwgcCwgZW9sKSkgeworCQlpZiAocGFyc2VfaW5zbl9saW5lKHIsIGl0ZW0sIGJ1ZiwgcCwgZW9sKSkgewogCQkJcmVzID0gZXJyb3IoXygiaW52YWxpZCBsaW5lICVkOiAlLipzIiksCiAJCQkJaSwgKGludCkoZW9sIC0gcCksIHApOwotCQkJaXRlbS0+Y29tbWFuZCA9IFRPRE9fTk9PUDsKKwkJCWl0ZW0tPmNvbW1hbmQgPSBUT0RPX0NPTU1FTlQgKyAxOworCQkJaXRlbS0+YXJnX29mZnNldCA9IHAgLSBidWY7CisJCQlpdGVtLT5hcmdfbGVuID0gKGludCkoZW9sIC0gcCk7CisJCQlpdGVtLT5jb21taXQgPSBOVUxMOwogCQl9CiAKIAkJaWYgKGZpeHVwX29rYXkpCkBAIC0yMTg3LDggKzIyNjMsNzIgQEAKIAlyZXR1cm4gbGVuOwogfQogCi1zdGF0aWMgaW50IHJlYWRfcG9wdWxhdGVfdG9kbyhzdHJ1Y3QgdG9kb19saXN0ICp0b2RvX2xpc3QsCi0JCQlzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCitzdGF0aWMgaW50IGhhdmVfZmluaXNoZWRfdGhlX2xhc3RfcGljayh2b2lkKQoreworCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisJY29uc3QgY2hhciAqZW9sOworCWNvbnN0IGNoYXIgKnRvZG9fcGF0aCA9IGdpdF9wYXRoX3RvZG9fZmlsZSgpOworCWludCByZXQgPSAwOworCisJaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUoJmJ1ZiwgdG9kb19wYXRoLCAwKSA8IDApIHsKKwkJaWYgKGVycm5vID09IEVOT0VOVCkgeworCQkJcmV0dXJuIDA7CisJCX0gZWxzZSB7CisJCQllcnJvcl9lcnJubygidW5hYmxlIHRvIG9wZW4gJyVzJyIsIHRvZG9fcGF0aCk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKwkvKiBJZiB0aGVyZSBpcyBvbmx5IG9uZSBsaW5lIHRoZW4gd2UgYXJlIGRvbmUgKi8KKwllb2wgPSBzdHJjaHIoYnVmLmJ1ZiwgJ1xuJyk7CisJaWYgKCFlb2wgfHwgIWVvbFsxXSkKKwkJcmV0ID0gMTsKKworCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOworCisJcmV0dXJuIHJldDsKK30KKwordm9pZCBzZXF1ZW5jZXJfcG9zdF9jb21taXRfY2xlYW51cChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgaW50IHZlcmJvc2UpCit7CisJc3RydWN0IHJlcGxheV9vcHRzIG9wdHMgPSBSRVBMQVlfT1BUU19JTklUOworCWludCBuZWVkX2NsZWFudXAgPSAwOworCisJaWYgKGZpbGVfZXhpc3RzKGdpdF9wYXRoX2NoZXJyeV9waWNrX2hlYWQocikpKSB7CisJCWlmICghdW5saW5rKGdpdF9wYXRoX2NoZXJyeV9waWNrX2hlYWQocikpICYmIHZlcmJvc2UpCisJCQl3YXJuaW5nKF8oImNhbmNlbGxpbmcgYSBjaGVycnkgcGlja2luZyBpbiBwcm9ncmVzcyIpKTsKKwkJb3B0cy5hY3Rpb24gPSBSRVBMQVlfUElDSzsKKwkJbmVlZF9jbGVhbnVwID0gMTsKKwl9CisKKwlpZiAoZmlsZV9leGlzdHMoZ2l0X3BhdGhfcmV2ZXJ0X2hlYWQocikpKSB7CisJCWlmICghdW5saW5rKGdpdF9wYXRoX3JldmVydF9oZWFkKHIpKSAmJiB2ZXJib3NlKQorCQkJd2FybmluZyhfKCJjYW5jZWxsaW5nIGEgcmV2ZXJ0IGluIHByb2dyZXNzIikpOworCQlvcHRzLmFjdGlvbiA9IFJFUExBWV9SRVZFUlQ7CisJCW5lZWRfY2xlYW51cCA9IDE7CisJfQorCisJaWYgKCFuZWVkX2NsZWFudXApCisJCXJldHVybjsKKworCWlmICghaGF2ZV9maW5pc2hlZF90aGVfbGFzdF9waWNrKCkpCisJCXJldHVybjsKKworCXNlcXVlbmNlcl9yZW1vdmVfc3RhdGUoJm9wdHMpOworfQorCitzdGF0aWMgdm9pZCB0b2RvX2xpc3Rfd3JpdGVfdG90YWxfbnIoc3RydWN0IHRvZG9fbGlzdCAqdG9kb19saXN0KQoreworCUZJTEUgKmYgPSBmb3Blbl9vcl93YXJuKHJlYmFzZV9wYXRoX21zZ3RvdGFsKCksICJ3Iik7CisKKwlpZiAoZikgeworCQlmcHJpbnRmKGYsICIlZFxuIiwgdG9kb19saXN0LT50b3RhbF9ucik7CisJCWZjbG9zZShmKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgcmVhZF9wb3B1bGF0ZV90b2RvKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJICAgICAgc3RydWN0IHRvZG9fbGlzdCAqdG9kb19saXN0LAorCQkJICAgICAgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewogCXN0cnVjdCBzdGF0IHN0OwogCWNvbnN0IGNoYXIgKnRvZG9fZmlsZSA9IGdldF90b2RvX3BhdGgob3B0cyk7CkBAIC0yMjAzLDcgKzIzNDMsNyBAQAogCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHN0YXQgJyVzJyIpLCB0b2RvX2ZpbGUpOwogCWZpbGxfc3RhdF9kYXRhKCZ0b2RvX2xpc3QtPnN0YXQsICZzdCk7CiAKLQlyZXMgPSBwYXJzZV9pbnNuX2J1ZmZlcih0b2RvX2xpc3QtPmJ1Zi5idWYsIHRvZG9fbGlzdCk7CisJcmVzID0gdG9kb19saXN0X3BhcnNlX2luc25fYnVmZmVyKHIsIHRvZG9fbGlzdC0+YnVmLmJ1ZiwgdG9kb19saXN0KTsKIAlpZiAocmVzKSB7CiAJCWlmIChpc19yZWJhc2VfaShvcHRzKSkKIAkJCXJldHVybiBlcnJvcihfKCJwbGVhc2UgZml4IHRoaXMgdXNpbmcgIgpAQCAtMjIzMSwxMCArMjM3MSw5IEBACiAKIAlpZiAoaXNfcmViYXNlX2kob3B0cykpIHsKIAkJc3RydWN0IHRvZG9fbGlzdCBkb25lID0gVE9ET19MSVNUX0lOSVQ7Ci0JCUZJTEUgKmYgPSBmb3Blbl9vcl93YXJuKHJlYmFzZV9wYXRoX21zZ3RvdGFsKCksICJ3Iik7CiAKIAkJaWYgKHN0cmJ1Zl9yZWFkX2ZpbGUoJmRvbmUuYnVmLCByZWJhc2VfcGF0aF9kb25lKCksIDApID4gMCAmJgotCQkJCSFwYXJzZV9pbnNuX2J1ZmZlcihkb25lLmJ1Zi5idWYsICZkb25lKSkKKwkJICAgICF0b2RvX2xpc3RfcGFyc2VfaW5zbl9idWZmZXIociwgZG9uZS5idWYuYnVmLCAmZG9uZSkpCiAJCQl0b2RvX2xpc3QtPmRvbmVfbnIgPSBjb3VudF9jb21tYW5kcygmZG9uZSk7CiAJCWVsc2UKIAkJCXRvZG9fbGlzdC0+ZG9uZV9uciA9IDA7CkBAIC0yMjQzLDEwICsyMzgyLDcgQEAKIAkJCSsgY291bnRfY29tbWFuZHModG9kb19saXN0KTsKIAkJdG9kb19saXN0X3JlbGVhc2UoJmRvbmUpOwogCi0JCWlmIChmKSB7Ci0JCQlmcHJpbnRmKGYsICIlZFxuIiwgdG9kb19saXN0LT50b3RhbF9ucik7Ci0JCQlmY2xvc2UoZik7Ci0JCX0KKwkJdG9kb19saXN0X3dyaXRlX3RvdGFsX25yKHRvZG9fbGlzdCk7CiAJfQogCiAJcmV0dXJuIDA7CkBAIC0yMjczLDYgKzI0MDksMTUgQEAKIAkJb3B0cy0+bm9fY29tbWl0ID0gZ2l0X2NvbmZpZ19ib29sX29yX2ludChrZXksIHZhbHVlLCAmZXJyb3JfZmxhZyk7CiAJZWxzZSBpZiAoIXN0cmNtcChrZXksICJvcHRpb25zLmVkaXQiKSkKIAkJb3B0cy0+ZWRpdCA9IGdpdF9jb25maWdfYm9vbF9vcl9pbnQoa2V5LCB2YWx1ZSwgJmVycm9yX2ZsYWcpOworCWVsc2UgaWYgKCFzdHJjbXAoa2V5LCAib3B0aW9ucy5hbGxvdy1lbXB0eSIpKQorCQlvcHRzLT5hbGxvd19lbXB0eSA9CisJCQlnaXRfY29uZmlnX2Jvb2xfb3JfaW50KGtleSwgdmFsdWUsICZlcnJvcl9mbGFnKTsKKwllbHNlIGlmICghc3RyY21wKGtleSwgIm9wdGlvbnMuYWxsb3ctZW1wdHktbWVzc2FnZSIpKQorCQlvcHRzLT5hbGxvd19lbXB0eV9tZXNzYWdlID0KKwkJCWdpdF9jb25maWdfYm9vbF9vcl9pbnQoa2V5LCB2YWx1ZSwgJmVycm9yX2ZsYWcpOworCWVsc2UgaWYgKCFzdHJjbXAoa2V5LCAib3B0aW9ucy5rZWVwLXJlZHVuZGFudC1jb21taXRzIikpCisJCW9wdHMtPmtlZXBfcmVkdW5kYW50X2NvbW1pdHMgPQorCQkJZ2l0X2NvbmZpZ19ib29sX29yX2ludChrZXksIHZhbHVlLCAmZXJyb3JfZmxhZyk7CiAJZWxzZSBpZiAoIXN0cmNtcChrZXksICJvcHRpb25zLnNpZ25vZmYiKSkKIAkJb3B0cy0+c2lnbm9mZiA9IGdpdF9jb25maWdfYm9vbF9vcl9pbnQoa2V5LCB2YWx1ZSwgJmVycm9yX2ZsYWcpOwogCWVsc2UgaWYgKCFzdHJjbXAoa2V5LCAib3B0aW9ucy5yZWNvcmQtb3JpZ2luIikpCkBAIC0yMjkyLDcgKzI0MzcsMTAgQEAKIAkJb3B0cy0+YWxsb3dfcmVyZXJlX2F1dG8gPQogCQkJZ2l0X2NvbmZpZ19ib29sX29yX2ludChrZXksIHZhbHVlLCAmZXJyb3JfZmxhZykgPwogCQkJCVJFUkVSRV9BVVRPVVBEQVRFIDogUkVSRVJFX05PQVVUT1VQREFURTsKLQllbHNlCisJZWxzZSBpZiAoIXN0cmNtcChrZXksICJvcHRpb25zLmRlZmF1bHQtbXNnLWNsZWFudXAiKSkgeworCQlvcHRzLT5leHBsaWNpdF9jbGVhbnVwID0gMTsKKwkJb3B0cy0+ZGVmYXVsdF9tc2dfY2xlYW51cCA9IGdldF9jbGVhbnVwX21vZGUodmFsdWUsIDEpOworCX0gZWxzZQogCQlyZXR1cm4gZXJyb3IoXygiaW52YWxpZCBrZXk6ICVzIiksIGtleSk7CiAKIAlpZiAoIWVycm9yX2ZsYWcpCkBAIC0yMzU3LDExICsyNTA1LDIzIEBACiAJCWlmIChmaWxlX2V4aXN0cyhyZWJhc2VfcGF0aF92ZXJib3NlKCkpKQogCQkJb3B0cy0+dmVyYm9zZSA9IDE7CiAKKwkJaWYgKGZpbGVfZXhpc3RzKHJlYmFzZV9wYXRoX3F1aWV0KCkpKQorCQkJb3B0cy0+cXVpZXQgPSAxOworCiAJCWlmIChmaWxlX2V4aXN0cyhyZWJhc2VfcGF0aF9zaWdub2ZmKCkpKSB7CiAJCQlvcHRzLT5hbGxvd19mZiA9IDA7CiAJCQlvcHRzLT5zaWdub2ZmID0gMTsKIAkJfQogCisJCWlmIChmaWxlX2V4aXN0cyhyZWJhc2VfcGF0aF9yZXNjaGVkdWxlX2ZhaWxlZF9leGVjKCkpKQorCQkJb3B0cy0+cmVzY2hlZHVsZV9mYWlsZWRfZXhlYyA9IDE7CisKKwkJaWYgKGZpbGVfZXhpc3RzKHJlYmFzZV9wYXRoX2Ryb3BfcmVkdW5kYW50X2NvbW1pdHMoKSkpCisJCQlvcHRzLT5kcm9wX3JlZHVuZGFudF9jb21taXRzID0gMTsKKworCQlpZiAoZmlsZV9leGlzdHMocmViYXNlX3BhdGhfa2VlcF9yZWR1bmRhbnRfY29tbWl0cygpKSkKKwkJCW9wdHMtPmtlZXBfcmVkdW5kYW50X2NvbW1pdHMgPSAxOworCiAJCXJlYWRfc3RyYXRlZ3lfb3B0cyhvcHRzLCAmYnVmKTsKIAkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAKQEAgLTI0MTEsMjIgKzI1NzEsMTggQEAKIH0KIAogaW50IHdyaXRlX2Jhc2ljX3N0YXRlKHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cywgY29uc3QgY2hhciAqaGVhZF9uYW1lLAotCQkgICAgICBjb25zdCBjaGFyICpvbnRvLCBjb25zdCBjaGFyICpvcmlnX2hlYWQpCisJCSAgICAgIHN0cnVjdCBjb21taXQgKm9udG8sIGNvbnN0IGNoYXIgKm9yaWdfaGVhZCkKIHsKLQljb25zdCBjaGFyICpxdWlldCA9IGdldGVudigiR0lUX1FVSUVUIik7Ci0KIAlpZiAoaGVhZF9uYW1lKQogCQl3cml0ZV9maWxlKHJlYmFzZV9wYXRoX2hlYWRfbmFtZSgpLCAiJXNcbiIsIGhlYWRfbmFtZSk7CiAJaWYgKG9udG8pCi0JCXdyaXRlX2ZpbGUocmViYXNlX3BhdGhfb250bygpLCAiJXNcbiIsIG9udG8pOworCQl3cml0ZV9maWxlKHJlYmFzZV9wYXRoX29udG8oKSwgIiVzXG4iLAorCQkJICAgb2lkX3RvX2hleCgmb250by0+b2JqZWN0Lm9pZCkpOwogCWlmIChvcmlnX2hlYWQpCiAJCXdyaXRlX2ZpbGUocmViYXNlX3BhdGhfb3JpZ19oZWFkKCksICIlc1xuIiwgb3JpZ19oZWFkKTsKIAotCWlmIChxdWlldCkKLQkJd3JpdGVfZmlsZShyZWJhc2VfcGF0aF9xdWlldCgpLCAiJXNcbiIsIHF1aWV0KTsKLQllbHNlCi0JCXdyaXRlX2ZpbGUocmViYXNlX3BhdGhfcXVpZXQoKSwgIlxuIik7Ci0KKwlpZiAob3B0cy0+cXVpZXQpCisJCXdyaXRlX2ZpbGUocmViYXNlX3BhdGhfcXVpZXQoKSwgIiVzIiwgIiIpOwogCWlmIChvcHRzLT52ZXJib3NlKQogCQl3cml0ZV9maWxlKHJlYmFzZV9wYXRoX3ZlcmJvc2UoKSwgIiVzIiwgIiIpOwogCWlmIChvcHRzLT5zdHJhdGVneSkKQEAgLTI0NDMsNiArMjU5OSwxMiBAQAogCQl3cml0ZV9maWxlKHJlYmFzZV9wYXRoX2dwZ19zaWduX29wdCgpLCAiLVMlc1xuIiwgb3B0cy0+Z3BnX3NpZ24pOwogCWlmIChvcHRzLT5zaWdub2ZmKQogCQl3cml0ZV9maWxlKHJlYmFzZV9wYXRoX3NpZ25vZmYoKSwgIi0tc2lnbm9mZlxuIik7CisJaWYgKG9wdHMtPmRyb3BfcmVkdW5kYW50X2NvbW1pdHMpCisJCXdyaXRlX2ZpbGUocmViYXNlX3BhdGhfZHJvcF9yZWR1bmRhbnRfY29tbWl0cygpLCAiJXMiLCAiIik7CisJaWYgKG9wdHMtPmtlZXBfcmVkdW5kYW50X2NvbW1pdHMpCisJCXdyaXRlX2ZpbGUocmViYXNlX3BhdGhfa2VlcF9yZWR1bmRhbnRfY29tbWl0cygpLCAiJXMiLCAiIik7CisJaWYgKG9wdHMtPnJlc2NoZWR1bGVfZmFpbGVkX2V4ZWMpCisJCXdyaXRlX2ZpbGUocmViYXNlX3BhdGhfcmVzY2hlZHVsZV9mYWlsZWRfZXhlYygpLCAiJXMiLCAiIik7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTI0NTMsMjAgKzI2MTUsMjMgQEAKIAllbnVtIHRvZG9fY29tbWFuZCBjb21tYW5kID0gb3B0cy0+YWN0aW9uID09IFJFUExBWV9QSUNLID8KIAkJVE9ET19QSUNLIDogVE9ET19SRVZFUlQ7CiAJY29uc3QgY2hhciAqY29tbWFuZF9zdHJpbmcgPSB0b2RvX2NvbW1hbmRfaW5mb1tjb21tYW5kXS5zdHI7CisJY29uc3QgY2hhciAqZW5jb2Rpbmc7CiAJc3RydWN0IGNvbW1pdCAqY29tbWl0OwogCiAJaWYgKHByZXBhcmVfcmV2cyhvcHRzKSkKIAkJcmV0dXJuIC0xOwogCisJZW5jb2RpbmcgPSBnZXRfbG9nX291dHB1dF9lbmNvZGluZygpOworCiAJd2hpbGUgKChjb21taXQgPSBnZXRfcmV2aXNpb24ob3B0cy0+cmV2cykpKSB7CiAJCXN0cnVjdCB0b2RvX2l0ZW0gKml0ZW0gPSBhcHBlbmRfbmV3X3RvZG8odG9kb19saXN0KTsKLQkJY29uc3QgY2hhciAqY29tbWl0X2J1ZmZlciA9IGdldF9jb21taXRfYnVmZmVyKGNvbW1pdCwgTlVMTCk7CisJCWNvbnN0IGNoYXIgKmNvbW1pdF9idWZmZXIgPSBsb2dtc2dfcmVlbmNvZGUoY29tbWl0LCBOVUxMLCBlbmNvZGluZyk7CiAJCWNvbnN0IGNoYXIgKnN1YmplY3Q7CiAJCWludCBzdWJqZWN0X2xlbjsKIAogCQlpdGVtLT5jb21tYW5kID0gY29tbWFuZDsKIAkJaXRlbS0+Y29tbWl0ID0gY29tbWl0OwotCQlpdGVtLT5hcmcgPSBOVUxMOworCQlpdGVtLT5hcmdfb2Zmc2V0ID0gMDsKIAkJaXRlbS0+YXJnX2xlbiA9IDA7CiAJCWl0ZW0tPm9mZnNldF9pbl9idWYgPSB0b2RvX2xpc3QtPmJ1Zi5sZW47CiAJCXN1YmplY3RfbGVuID0gZmluZF9jb21taXRfc3ViamVjdChjb21taXRfYnVmZmVyLCAmc3ViamVjdCk7CkBAIC0yNDgxLDE1ICsyNjQ2LDQxIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgY3JlYXRlX3NlcV9kaXIodm9pZCkKK3N0YXRpYyBpbnQgY3JlYXRlX3NlcV9kaXIoc3RydWN0IHJlcG9zaXRvcnkgKnIpCiB7Ci0JaWYgKGZpbGVfZXhpc3RzKGdpdF9wYXRoX3NlcV9kaXIoKSkpIHsKLQkJZXJyb3IoXygiYSBjaGVycnktcGljayBvciByZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIpKTsKLQkJYWR2aXNlKF8oInRyeSBcImdpdCBjaGVycnktcGljayAoLS1jb250aW51ZSB8IC0tcXVpdCB8IC0tYWJvcnQpXCIiKSk7CisJZW51bSByZXBsYXlfYWN0aW9uIGFjdGlvbjsKKwljb25zdCBjaGFyICppbl9wcm9ncmVzc19lcnJvciA9IE5VTEw7CisJY29uc3QgY2hhciAqaW5fcHJvZ3Jlc3NfYWR2aWNlID0gTlVMTDsKKwl1bnNpZ25lZCBpbnQgYWR2aXNlX3NraXAgPSBmaWxlX2V4aXN0cyhnaXRfcGF0aF9yZXZlcnRfaGVhZChyKSkgfHwKKwkJCQlmaWxlX2V4aXN0cyhnaXRfcGF0aF9jaGVycnlfcGlja19oZWFkKHIpKTsKKworCWlmICghc2VxdWVuY2VyX2dldF9sYXN0X2NvbW1hbmQociwgJmFjdGlvbikpIHsKKwkJc3dpdGNoIChhY3Rpb24pIHsKKwkJY2FzZSBSRVBMQVlfUkVWRVJUOgorCQkJaW5fcHJvZ3Jlc3NfZXJyb3IgPSBfKCJyZXZlcnQgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcyIpOworCQkJaW5fcHJvZ3Jlc3NfYWR2aWNlID0KKwkJCV8oInRyeSBcImdpdCByZXZlcnQgKC0tY29udGludWUgfCAlcy0tYWJvcnQgfCAtLXF1aXQpXCIiKTsKKwkJCWJyZWFrOworCQljYXNlIFJFUExBWV9QSUNLOgorCQkJaW5fcHJvZ3Jlc3NfZXJyb3IgPSBfKCJjaGVycnktcGljayBpcyBhbHJlYWR5IGluIHByb2dyZXNzIik7CisJCQlpbl9wcm9ncmVzc19hZHZpY2UgPQorCQkJXygidHJ5IFwiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgJXMtLWFib3J0IHwgLS1xdWl0KVwiIik7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCUJVRygidW5leHBlY3RlZCBhY3Rpb24gaW4gY3JlYXRlX3NlcV9kaXIiKTsKKwkJfQorCX0KKwlpZiAoaW5fcHJvZ3Jlc3NfZXJyb3IpIHsKKwkJZXJyb3IoIiVzIiwgaW5fcHJvZ3Jlc3NfZXJyb3IpOworCQlpZiAoYWR2aWNlX3NlcXVlbmNlcl9pbl91c2UpCisJCQlhZHZpc2UoaW5fcHJvZ3Jlc3NfYWR2aWNlLAorCQkJCWFkdmlzZV9za2lwID8gIi0tc2tpcCB8ICIgOiAiIik7CiAJCXJldHVybiAtMTsKLQl9IGVsc2UgaWYgKG1rZGlyKGdpdF9wYXRoX3NlcV9kaXIoKSwgMDc3NykgPCAwKQorCX0KKwlpZiAobWtkaXIoZ2l0X3BhdGhfc2VxX2RpcigpLCAwNzc3KSA8IDApCiAJCXJldHVybiBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3QgY3JlYXRlIHNlcXVlbmNlciBkaXJlY3RvcnkgJyVzJyIpLAogCQkJCSAgIGdpdF9wYXRoX3NlcV9kaXIoKSk7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjU0MCwzMiArMjczMSw0NiBAQAogCXJldHVybiBvaWRlcSgmYWN0dWFsX2hlYWQsICZleHBlY3RlZF9oZWFkKTsKIH0KIAotc3RhdGljIGludCByZXNldF9mb3Jfcm9sbGJhY2soY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQorc3RhdGljIGludCByZXNldF9tZXJnZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0JY29uc3QgY2hhciAqYXJndls0XTsJLyogcmVzZXQgLS1tZXJnZSA8YXJnPiArIE5VTEwgKi8KKwlpbnQgcmV0OworCXN0cnVjdCBhcmd2X2FycmF5IGFyZ3YgPSBBUkdWX0FSUkFZX0lOSVQ7CiAKLQlhcmd2WzBdID0gInJlc2V0IjsKLQlhcmd2WzFdID0gIi0tbWVyZ2UiOwotCWFyZ3ZbMl0gPSBvaWRfdG9faGV4KG9pZCk7Ci0JYXJndlszXSA9IE5VTEw7Ci0JcmV0dXJuIHJ1bl9jb21tYW5kX3Zfb3B0KGFyZ3YsIFJVTl9HSVRfQ01EKTsKKwlhcmd2X2FycmF5X3B1c2hsKCZhcmd2LCAicmVzZXQiLCAiLS1tZXJnZSIsIE5VTEwpOworCisJaWYgKCFpc19udWxsX29pZChvaWQpKQorCQlhcmd2X2FycmF5X3B1c2goJmFyZ3YsIG9pZF90b19oZXgob2lkKSk7CisKKwlyZXQgPSBydW5fY29tbWFuZF92X29wdChhcmd2LmFyZ3YsIFJVTl9HSVRfQ01EKTsKKwlhcmd2X2FycmF5X2NsZWFyKCZhcmd2KTsKKworCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgcm9sbGJhY2tfc2luZ2xlX3BpY2sodm9pZCkKK3N0YXRpYyBpbnQgcm9sbGJhY2tfc2luZ2xlX3BpY2soc3RydWN0IHJlcG9zaXRvcnkgKnIpCiB7CiAJc3RydWN0IG9iamVjdF9pZCBoZWFkX29pZDsKIAotCWlmICghZmlsZV9leGlzdHMoZ2l0X3BhdGhfY2hlcnJ5X3BpY2tfaGVhZCh0aGVfcmVwb3NpdG9yeSkpICYmCi0JICAgICFmaWxlX2V4aXN0cyhnaXRfcGF0aF9yZXZlcnRfaGVhZCh0aGVfcmVwb3NpdG9yeSkpKQorCWlmICghZmlsZV9leGlzdHMoZ2l0X3BhdGhfY2hlcnJ5X3BpY2tfaGVhZChyKSkgJiYKKwkgICAgIWZpbGVfZXhpc3RzKGdpdF9wYXRoX3JldmVydF9oZWFkKHIpKSkKIAkJcmV0dXJuIGVycm9yKF8oIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIpKTsKIAlpZiAocmVhZF9yZWZfZnVsbCgiSEVBRCIsIDAsICZoZWFkX29pZCwgTlVMTCkpCiAJCXJldHVybiBlcnJvcihfKCJjYW5ub3QgcmVzb2x2ZSBIRUFEIikpOwogCWlmIChpc19udWxsX29pZCgmaGVhZF9vaWQpKQogCQlyZXR1cm4gZXJyb3IoXygiY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4iKSk7Ci0JcmV0dXJuIHJlc2V0X2Zvcl9yb2xsYmFjaygmaGVhZF9vaWQpOworCXJldHVybiByZXNldF9tZXJnZSgmaGVhZF9vaWQpOwogfQogCi1pbnQgc2VxdWVuY2VyX3JvbGxiYWNrKHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKK3N0YXRpYyBpbnQgc2tpcF9zaW5nbGVfcGljayh2b2lkKQoreworCXN0cnVjdCBvYmplY3RfaWQgaGVhZDsKKworCWlmIChyZWFkX3JlZl9mdWxsKCJIRUFEIiwgMCwgJmhlYWQsIE5VTEwpKQorCQlyZXR1cm4gZXJyb3IoXygiY2Fubm90IHJlc29sdmUgSEVBRCIpKTsKKwlyZXR1cm4gcmVzZXRfbWVyZ2UoJmhlYWQpOworfQorCitpbnQgc2VxdWVuY2VyX3JvbGxiYWNrKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCiB7CiAJRklMRSAqZjsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKQEAgLTI1NzksNyArMjc4NCw3IEBACiAJCSAqIElmIENIRVJSWV9QSUNLX0hFQUQgb3IgUkVWRVJUX0hFQUQgaW5kaWNhdGVzCiAJCSAqIGEgc2luZ2xlLWNoZXJyeS1waWNrIGluIHByb2dyZXNzLCBhYm9ydCB0aGF0LgogCQkgKi8KLQkJcmV0dXJuIHJvbGxiYWNrX3NpbmdsZV9waWNrKCk7CisJCXJldHVybiByb2xsYmFja19zaW5nbGVfcGljayhyKTsKIAl9CiAJaWYgKCFmKQogCQlyZXR1cm4gZXJyb3JfZXJybm8oXygiY2Fubm90IG9wZW4gJyVzJyIpLCBnaXRfcGF0aF9oZWFkX2ZpbGUoKSk7CkBAIC0yNjA1LDcgKzI4MTAsNyBAQAogCQl3YXJuaW5nKF8oIllvdSBzZWVtIHRvIGhhdmUgbW92ZWQgSEVBRC4gIgogCQkJICAiTm90IHJld2luZGluZywgY2hlY2sgeW91ciBIRUFEISIpKTsKIAl9IGVsc2UKLQlpZiAocmVzZXRfZm9yX3JvbGxiYWNrKCZvaWQpKQorCWlmIChyZXNldF9tZXJnZSgmb2lkKSkKIAkJZ290byBmYWlsOwogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCXJldHVybiBzZXF1ZW5jZXJfcmVtb3ZlX3N0YXRlKG9wdHMpOwpAQCAtMjYxNCw2ICsyODE5LDcwIEBACiAJcmV0dXJuIC0xOwogfQogCitpbnQgc2VxdWVuY2VyX3NraXAoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKK3sKKwllbnVtIHJlcGxheV9hY3Rpb24gYWN0aW9uID0gLTE7CisJc2VxdWVuY2VyX2dldF9sYXN0X2NvbW1hbmQociwgJmFjdGlvbik7CisKKwkvKgorCSAqIENoZWNrIHdoZXRoZXIgdGhlIHN1YmNvbW1hbmQgcmVxdWVzdGVkIHRvIHNraXAgdGhlIGNvbW1pdCBpcyBhY3R1YWxseQorCSAqIGluIHByb2dyZXNzIGFuZCB0aGF0IGl0J3Mgc2FmZSB0byBza2lwIHRoZSBjb21taXQuCisJICoKKwkgKiBvcHRzLT5hY3Rpb24gdGVsbHMgdXMgd2hpY2ggc3ViY29tbWFuZCByZXF1ZXN0ZWQgdG8gc2tpcCB0aGUgY29tbWl0LgorCSAqIElmIHRoZSBjb3JyZXNwb25kaW5nIC5naXQvPEFDVElPTj5fSEVBRCBleGlzdHMsIHdlIGtub3cgdGhhdCB0aGUKKwkgKiBhY3Rpb24gaXMgaW4gcHJvZ3Jlc3MgYW5kIHdlIGNhbiBza2lwIHRoZSBjb21taXQuCisJICoKKwkgKiBPdGhlcndpc2Ugd2UgY2hlY2sgdGhhdCB0aGUgbGFzdCBpbnN0cnVjdGlvbiB3YXMgcmVsYXRlZCB0byB0aGUKKwkgKiBwYXJ0aWN1bGFyIHN1YmNvbW1hbmQgd2UncmUgdHJ5aW5nIHRvIGV4ZWN1dGUgYW5kIGJhcmYgaWYgdGhhdCdzIG5vdAorCSAqIHRoZSBjYXNlLgorCSAqCisJICogRmluYWxseSB3ZSBjaGVjayB0aGF0IHRoZSByb2xsYmFjayBpcyAic2FmZSIsIGkuZS4sIGhhcyB0aGUgSEVBRAorCSAqIG1vdmVkPyBJbiB0aGlzIGNhc2UsIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byAicmVzZXQgdGhlIG1lcmdlIiBhbmQKKwkgKiAic2tpcCB0aGUgY29tbWl0IiBhcyB0aGUgdXNlciBhbHJlYWR5IGhhbmRsZWQgdGhpcyBieSBjb21taXR0aW5nLiBCdXQKKwkgKiB3ZSdkIG5vdCB3YW50IHRvIGJhcmYgaGVyZSwgaW5zdGVhZCBnaXZlIGFkdmljZSBvbiBob3cgdG8gcHJvY2VlZC4gV2UKKwkgKiBvbmx5IG5lZWQgdG8gY2hlY2sgdGhhdCB3aGVuIC5naXQvPEFDVElPTj5fSEVBRCBkb2Vzbid0IGV4aXN0IGJlY2F1c2UKKwkgKiBpdCBnZXRzIHJlbW92ZWQgd2hlbiB0aGUgdXNlciBjb21taXRzLCBzbyBpZiBpdCBzdGlsbCBleGlzdHMgd2UncmUKKwkgKiBzdXJlIHRoZSB1c2VyIGNhbid0IGhhdmUgY29tbWl0dGVkIGJlZm9yZS4KKwkgKi8KKwlzd2l0Y2ggKG9wdHMtPmFjdGlvbikgeworCWNhc2UgUkVQTEFZX1JFVkVSVDoKKwkJaWYgKCFmaWxlX2V4aXN0cyhnaXRfcGF0aF9yZXZlcnRfaGVhZChyKSkpIHsKKwkJCWlmIChhY3Rpb24gIT0gUkVQTEFZX1JFVkVSVCkKKwkJCQlyZXR1cm4gZXJyb3IoXygibm8gcmV2ZXJ0IGluIHByb2dyZXNzIikpOworCQkJaWYgKCFyb2xsYmFja19pc19zYWZlKCkpCisJCQkJZ290byBnaXZlX2FkdmljZTsKKwkJfQorCQlicmVhazsKKwljYXNlIFJFUExBWV9QSUNLOgorCQlpZiAoIWZpbGVfZXhpc3RzKGdpdF9wYXRoX2NoZXJyeV9waWNrX2hlYWQocikpKSB7CisJCQlpZiAoYWN0aW9uICE9IFJFUExBWV9QSUNLKQorCQkJCXJldHVybiBlcnJvcihfKCJubyBjaGVycnktcGljayBpbiBwcm9ncmVzcyIpKTsKKwkJCWlmICghcm9sbGJhY2tfaXNfc2FmZSgpKQorCQkJCWdvdG8gZ2l2ZV9hZHZpY2U7CisJCX0KKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJQlVHKCJ1bmV4cGVjdGVkIGFjdGlvbiBpbiBzZXF1ZW5jZXJfc2tpcCIpOworCX0KKworCWlmIChza2lwX3NpbmdsZV9waWNrKCkpCisJCXJldHVybiBlcnJvcihfKCJmYWlsZWQgdG8gc2tpcCB0aGUgY29tbWl0IikpOworCWlmICghaXNfZGlyZWN0b3J5KGdpdF9wYXRoX3NlcV9kaXIoKSkpCisJCXJldHVybiAwOworCisJcmV0dXJuIHNlcXVlbmNlcl9jb250aW51ZShyLCBvcHRzKTsKKworZ2l2ZV9hZHZpY2U6CisJZXJyb3IoXygidGhlcmUgaXMgbm90aGluZyB0byBza2lwIikpOworCisJaWYgKGFkdmljZV9yZXNvbHZlX2NvbmZsaWN0KSB7CisJCWFkdmlzZShfKCJoYXZlIHlvdSBjb21taXR0ZWQgYWxyZWFkeT9cbiIKKwkJCSAidHJ5IFwiZ2l0ICVzIC0tY29udGludWVcIiIpLAorCQkJIGFjdGlvbiA9PSBSRVBMQVlfUkVWRVJUID8gInJldmVydCIgOiAiY2hlcnJ5LXBpY2siKTsKKwl9CisJcmV0dXJuIC0xOworfQorCiBzdGF0aWMgaW50IHNhdmVfdG9kbyhzdHJ1Y3QgdG9kb19saXN0ICp0b2RvX2xpc3QsIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKIHsKIAlzdHJ1Y3QgbG9ja19maWxlIHRvZG9fbG9jayA9IExPQ0tfSU5JVDsKQEAgLTI2NjEsNDAgKzI5MzAsNjUgQEAKIAlpbnQgcmVzID0gMDsKIAogCWlmIChvcHRzLT5ub19jb21taXQpCi0JCXJlcyB8PSBnaXRfY29uZmlnX3NldF9pbl9maWxlX2dlbnRseShvcHRzX2ZpbGUsICJvcHRpb25zLm5vLWNvbW1pdCIsICJ0cnVlIik7CisJCXJlcyB8PSBnaXRfY29uZmlnX3NldF9pbl9maWxlX2dlbnRseShvcHRzX2ZpbGUsCisJCQkJCSJvcHRpb25zLm5vLWNvbW1pdCIsICJ0cnVlIik7CiAJaWYgKG9wdHMtPmVkaXQpCi0JCXJlcyB8PSBnaXRfY29uZmlnX3NldF9pbl9maWxlX2dlbnRseShvcHRzX2ZpbGUsICJvcHRpb25zLmVkaXQiLCAidHJ1ZSIpOworCQlyZXMgfD0gZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZV9nZW50bHkob3B0c19maWxlLAorCQkJCQkib3B0aW9ucy5lZGl0IiwgInRydWUiKTsKKwlpZiAob3B0cy0+YWxsb3dfZW1wdHkpCisJCXJlcyB8PSBnaXRfY29uZmlnX3NldF9pbl9maWxlX2dlbnRseShvcHRzX2ZpbGUsCisJCQkJCSJvcHRpb25zLmFsbG93LWVtcHR5IiwgInRydWUiKTsKKwlpZiAob3B0cy0+YWxsb3dfZW1wdHlfbWVzc2FnZSkKKwkJcmVzIHw9IGdpdF9jb25maWdfc2V0X2luX2ZpbGVfZ2VudGx5KG9wdHNfZmlsZSwKKwkJCQkib3B0aW9ucy5hbGxvdy1lbXB0eS1tZXNzYWdlIiwgInRydWUiKTsKKwlpZiAob3B0cy0+a2VlcF9yZWR1bmRhbnRfY29tbWl0cykKKwkJcmVzIHw9IGdpdF9jb25maWdfc2V0X2luX2ZpbGVfZ2VudGx5KG9wdHNfZmlsZSwKKwkJCQkib3B0aW9ucy5rZWVwLXJlZHVuZGFudC1jb21taXRzIiwgInRydWUiKTsKIAlpZiAob3B0cy0+c2lnbm9mZikKLQkJcmVzIHw9IGdpdF9jb25maWdfc2V0X2luX2ZpbGVfZ2VudGx5KG9wdHNfZmlsZSwgIm9wdGlvbnMuc2lnbm9mZiIsICJ0cnVlIik7CisJCXJlcyB8PSBnaXRfY29uZmlnX3NldF9pbl9maWxlX2dlbnRseShvcHRzX2ZpbGUsCisJCQkJCSJvcHRpb25zLnNpZ25vZmYiLCAidHJ1ZSIpOwogCWlmIChvcHRzLT5yZWNvcmRfb3JpZ2luKQotCQlyZXMgfD0gZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZV9nZW50bHkob3B0c19maWxlLCAib3B0aW9ucy5yZWNvcmQtb3JpZ2luIiwgInRydWUiKTsKKwkJcmVzIHw9IGdpdF9jb25maWdfc2V0X2luX2ZpbGVfZ2VudGx5KG9wdHNfZmlsZSwKKwkJCQkJIm9wdGlvbnMucmVjb3JkLW9yaWdpbiIsICJ0cnVlIik7CiAJaWYgKG9wdHMtPmFsbG93X2ZmKQotCQlyZXMgfD0gZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZV9nZW50bHkob3B0c19maWxlLCAib3B0aW9ucy5hbGxvdy1mZiIsICJ0cnVlIik7CisJCXJlcyB8PSBnaXRfY29uZmlnX3NldF9pbl9maWxlX2dlbnRseShvcHRzX2ZpbGUsCisJCQkJCSJvcHRpb25zLmFsbG93LWZmIiwgInRydWUiKTsKIAlpZiAob3B0cy0+bWFpbmxpbmUpIHsKIAkJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAkJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVkIiwgb3B0cy0+bWFpbmxpbmUpOwotCQlyZXMgfD0gZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZV9nZW50bHkob3B0c19maWxlLCAib3B0aW9ucy5tYWlubGluZSIsIGJ1Zi5idWYpOworCQlyZXMgfD0gZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZV9nZW50bHkob3B0c19maWxlLAorCQkJCQkib3B0aW9ucy5tYWlubGluZSIsIGJ1Zi5idWYpOwogCQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAl9CiAJaWYgKG9wdHMtPnN0cmF0ZWd5KQotCQlyZXMgfD0gZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZV9nZW50bHkob3B0c19maWxlLCAib3B0aW9ucy5zdHJhdGVneSIsIG9wdHMtPnN0cmF0ZWd5KTsKKwkJcmVzIHw9IGdpdF9jb25maWdfc2V0X2luX2ZpbGVfZ2VudGx5KG9wdHNfZmlsZSwKKwkJCQkJIm9wdGlvbnMuc3RyYXRlZ3kiLCBvcHRzLT5zdHJhdGVneSk7CiAJaWYgKG9wdHMtPmdwZ19zaWduKQotCQlyZXMgfD0gZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZV9nZW50bHkob3B0c19maWxlLCAib3B0aW9ucy5ncGctc2lnbiIsIG9wdHMtPmdwZ19zaWduKTsKKwkJcmVzIHw9IGdpdF9jb25maWdfc2V0X2luX2ZpbGVfZ2VudGx5KG9wdHNfZmlsZSwKKwkJCQkJIm9wdGlvbnMuZ3BnLXNpZ24iLCBvcHRzLT5ncGdfc2lnbik7CiAJaWYgKG9wdHMtPnhvcHRzKSB7CiAJCWludCBpOwogCQlmb3IgKGkgPSAwOyBpIDwgb3B0cy0+eG9wdHNfbnI7IGkrKykKIAkJCXJlcyB8PSBnaXRfY29uZmlnX3NldF9tdWx0aXZhcl9pbl9maWxlX2dlbnRseShvcHRzX2ZpbGUsCi0JCQkJCQkJIm9wdGlvbnMuc3RyYXRlZ3ktb3B0aW9uIiwKLQkJCQkJCQlvcHRzLT54b3B0c1tpXSwgIl4kIiwgMCk7CisJCQkJCSJvcHRpb25zLnN0cmF0ZWd5LW9wdGlvbiIsCisJCQkJCW9wdHMtPnhvcHRzW2ldLCAiXiQiLCAwKTsKIAl9CiAJaWYgKG9wdHMtPmFsbG93X3JlcmVyZV9hdXRvKQotCQlyZXMgfD0gZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZV9nZW50bHkob3B0c19maWxlLCAib3B0aW9ucy5hbGxvdy1yZXJlcmUtYXV0byIsCi0JCQkJCQkgICAgIG9wdHMtPmFsbG93X3JlcmVyZV9hdXRvID09IFJFUkVSRV9BVVRPVVBEQVRFID8KLQkJCQkJCSAgICAgInRydWUiIDogImZhbHNlIik7CisJCXJlcyB8PSBnaXRfY29uZmlnX3NldF9pbl9maWxlX2dlbnRseShvcHRzX2ZpbGUsCisJCQkJIm9wdGlvbnMuYWxsb3ctcmVyZXJlLWF1dG8iLAorCQkJCW9wdHMtPmFsbG93X3JlcmVyZV9hdXRvID09IFJFUkVSRV9BVVRPVVBEQVRFID8KKwkJCQkidHJ1ZSIgOiAiZmFsc2UiKTsKKworCWlmIChvcHRzLT5leHBsaWNpdF9jbGVhbnVwKQorCQlyZXMgfD0gZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZV9nZW50bHkob3B0c19maWxlLAorCQkJCSJvcHRpb25zLmRlZmF1bHQtbXNnLWNsZWFudXAiLAorCQkJCWRlc2NyaWJlX2NsZWFudXBfbW9kZShvcHRzLT5kZWZhdWx0X21zZ19jbGVhbnVwKSk7CiAJcmV0dXJuIHJlczsKIH0KIAotc3RhdGljIGludCBtYWtlX3BhdGNoKHN0cnVjdCBjb21taXQgKmNvbW1pdCwgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQorc3RhdGljIGludCBtYWtlX3BhdGNoKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkgICAgICBzdHJ1Y3QgY29tbWl0ICpjb21taXQsCisJCSAgICAgIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCByZXZfaW5mbyBsb2dfdHJlZV9vcHQ7CkBAIC0yNzEwLDcgKzMwMDQsNyBAQAogCiAJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzL3BhdGNoIiwgZ2V0X2RpcihvcHRzKSk7CiAJbWVtc2V0KCZsb2dfdHJlZV9vcHQsIDAsIHNpemVvZihsb2dfdHJlZV9vcHQpKTsKLQlyZXBvX2luaXRfcmV2aXNpb25zKHRoZV9yZXBvc2l0b3J5LCAmbG9nX3RyZWVfb3B0LCBOVUxMKTsKKwlyZXBvX2luaXRfcmV2aXNpb25zKHIsICZsb2dfdHJlZV9vcHQsIE5VTEwpOwogCWxvZ190cmVlX29wdC5hYmJyZXYgPSAwOwogCWxvZ190cmVlX29wdC5kaWZmID0gMTsKIAlsb2dfdHJlZV9vcHQuZGlmZm9wdC5vdXRwdXRfZm9ybWF0ID0gRElGRl9GT1JNQVRfUEFUQ0g7CkBAIC0yNzI4LDcgKzMwMjIsOCBAQAogCiAJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzL21lc3NhZ2UiLCBnZXRfZGlyKG9wdHMpKTsKIAlpZiAoIWZpbGVfZXhpc3RzKGJ1Zi5idWYpKSB7Ci0JCWNvbnN0IGNoYXIgKmNvbW1pdF9idWZmZXIgPSBnZXRfY29tbWl0X2J1ZmZlcihjb21taXQsIE5VTEwpOworCQljb25zdCBjaGFyICplbmNvZGluZyA9IGdldF9jb21taXRfb3V0cHV0X2VuY29kaW5nKCk7CisJCWNvbnN0IGNoYXIgKmNvbW1pdF9idWZmZXIgPSBsb2dtc2dfcmVlbmNvZGUoY29tbWl0LCBOVUxMLCBlbmNvZGluZyk7CiAJCWZpbmRfY29tbWl0X3N1YmplY3QoY29tbWl0X2J1ZmZlciwgJnN1YmplY3QpOwogCQlyZXMgfD0gd3JpdGVfbWVzc2FnZShzdWJqZWN0LCBzdHJsZW4oc3ViamVjdCksIGJ1Zi5idWYsIDEpOwogCQl1bnVzZV9jb21taXRfYnVmZmVyKGNvbW1pdCwgY29tbWl0X2J1ZmZlcik7CkBAIC0yNzUwLDE3ICszMDQ1LDE5IEBACiAJcmV0dXJuIHdyaXRlX21lc3NhZ2UocCwgc3RybGVuKHApLCByZWJhc2VfcGF0aF9hbWVuZCgpLCAxKTsKIH0KIAotc3RhdGljIGludCBlcnJvcl93aXRoX3BhdGNoKHN0cnVjdCBjb21taXQgKmNvbW1pdCwKLQljb25zdCBjaGFyICpzdWJqZWN0LCBpbnQgc3ViamVjdF9sZW4sCi0Jc3RydWN0IHJlcGxheV9vcHRzICpvcHRzLCBpbnQgZXhpdF9jb2RlLCBpbnQgdG9fYW1lbmQpCitzdGF0aWMgaW50IGVycm9yX3dpdGhfcGF0Y2goc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgICAgc3RydWN0IGNvbW1pdCAqY29tbWl0LAorCQkJICAgIGNvbnN0IGNoYXIgKnN1YmplY3QsIGludCBzdWJqZWN0X2xlbiwKKwkJCSAgICBzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMsCisJCQkgICAgaW50IGV4aXRfY29kZSwgaW50IHRvX2FtZW5kKQogewogCWlmIChjb21taXQpIHsKLQkJaWYgKG1ha2VfcGF0Y2goY29tbWl0LCBvcHRzKSkKKwkJaWYgKG1ha2VfcGF0Y2gociwgY29tbWl0LCBvcHRzKSkKIAkJCXJldHVybiAtMTsKIAl9IGVsc2UgaWYgKGNvcHlfZmlsZShyZWJhc2VfcGF0aF9tZXNzYWdlKCksCi0JCQkgICAgIGdpdF9wYXRoX21lcmdlX21zZyh0aGVfcmVwb3NpdG9yeSksIDA2NjYpKQorCQkJICAgICBnaXRfcGF0aF9tZXJnZV9tc2cociksIDA2NjYpKQogCQlyZXR1cm4gZXJyb3IoXygidW5hYmxlIHRvIGNvcHkgJyVzJyB0byAnJXMnIiksCi0JCQkgICAgIGdpdF9wYXRoX21lcmdlX21zZyh0aGVfcmVwb3NpdG9yeSksIHJlYmFzZV9wYXRoX21lc3NhZ2UoKSk7CisJCQkgICAgIGdpdF9wYXRoX21lcmdlX21zZyhyKSwgcmViYXNlX3BhdGhfbWVzc2FnZSgpKTsKIAogCWlmICh0b19hbWVuZCkgewogCQlpZiAoaW50ZW5kX3RvX2FtZW5kKCkpCkBAIC0yNzkxLDIxICszMDg4LDI0IEBACiAJcmV0dXJuIGV4aXRfY29kZTsKIH0KIAotc3RhdGljIGludCBlcnJvcl9mYWlsZWRfc3F1YXNoKHN0cnVjdCBjb21taXQgKmNvbW1pdCwKLQlzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMsIGludCBzdWJqZWN0X2xlbiwgY29uc3QgY2hhciAqc3ViamVjdCkKK3N0YXRpYyBpbnQgZXJyb3JfZmFpbGVkX3NxdWFzaChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCSAgICAgICBzdHJ1Y3QgY29tbWl0ICpjb21taXQsCisJCQkgICAgICAgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzLAorCQkJICAgICAgIGludCBzdWJqZWN0X2xlbiwKKwkJCSAgICAgICBjb25zdCBjaGFyICpzdWJqZWN0KQogewogCWlmIChjb3B5X2ZpbGUocmViYXNlX3BhdGhfbWVzc2FnZSgpLCByZWJhc2VfcGF0aF9zcXVhc2hfbXNnKCksIDA2NjYpKQogCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IGNvcHkgJyVzJyB0byAnJXMnIiksCiAJCQlyZWJhc2VfcGF0aF9zcXVhc2hfbXNnKCksIHJlYmFzZV9wYXRoX21lc3NhZ2UoKSk7Ci0JdW5saW5rKGdpdF9wYXRoX21lcmdlX21zZyh0aGVfcmVwb3NpdG9yeSkpOwotCWlmIChjb3B5X2ZpbGUoZ2l0X3BhdGhfbWVyZ2VfbXNnKHRoZV9yZXBvc2l0b3J5KSwgcmViYXNlX3BhdGhfbWVzc2FnZSgpLCAwNjY2KSkKKwl1bmxpbmsoZ2l0X3BhdGhfbWVyZ2VfbXNnKHIpKTsKKwlpZiAoY29weV9maWxlKGdpdF9wYXRoX21lcmdlX21zZyhyKSwgcmViYXNlX3BhdGhfbWVzc2FnZSgpLCAwNjY2KSkKIAkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCBjb3B5ICclcycgdG8gJyVzJyIpLAogCQkJICAgICByZWJhc2VfcGF0aF9tZXNzYWdlKCksCi0JCQkgICAgIGdpdF9wYXRoX21lcmdlX21zZyh0aGVfcmVwb3NpdG9yeSkpOwotCXJldHVybiBlcnJvcl93aXRoX3BhdGNoKGNvbW1pdCwgc3ViamVjdCwgc3ViamVjdF9sZW4sIG9wdHMsIDEsIDApOworCQkJICAgICBnaXRfcGF0aF9tZXJnZV9tc2cocikpOworCXJldHVybiBlcnJvcl93aXRoX3BhdGNoKHIsIGNvbW1pdCwgc3ViamVjdCwgc3ViamVjdF9sZW4sIG9wdHMsIDEsIDApOwogfQogCi1zdGF0aWMgaW50IGRvX2V4ZWMoY29uc3QgY2hhciAqY29tbWFuZF9saW5lKQorc3RhdGljIGludCBkb19leGVjKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBjaGFyICpjb21tYW5kX2xpbmUpCiB7CiAJc3RydWN0IGFyZ3ZfYXJyYXkgY2hpbGRfZW52ID0gQVJHVl9BUlJBWV9JTklUOwogCWNvbnN0IGNoYXIgKmNoaWxkX2FyZ3ZbXSA9IHsgTlVMTCwgTlVMTCB9OwpAQCAtMjgyMCwxMCArMzEyMCwxMCBAQAogCQkJCQkgIGNoaWxkX2Vudi5hcmd2KTsKIAogCS8qIGZvcmNlIHJlLXJlYWRpbmcgb2YgdGhlIGNhY2hlICovCi0JaWYgKGRpc2NhcmRfY2FjaGUoKSA8IDAgfHwgcmVhZF9jYWNoZSgpIDwgMCkKKwlpZiAoZGlzY2FyZF9pbmRleChyLT5pbmRleCkgPCAwIHx8IHJlcG9fcmVhZF9pbmRleChyKSA8IDApCiAJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgcmVhZCBpbmRleCIpKTsKIAotCWRpcnR5ID0gcmVxdWlyZV9jbGVhbl93b3JrX3RyZWUoInJlYmFzZSIsIE5VTEwsIDEsIDEpOworCWRpcnR5ID0gcmVxdWlyZV9jbGVhbl93b3JrX3RyZWUociwgInJlYmFzZSIsIE5VTEwsIDEsIDEpOwogCiAJaWYgKHN0YXR1cykgewogCQl3YXJuaW5nKF8oImV4ZWN1dGlvbiBmYWlsZWQ6ICVzXG4lcyIKQEAgLTI4ODksOSArMzE4OSw5IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZG9fbGFiZWwoY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbikKK3N0YXRpYyBpbnQgZG9fbGFiZWwoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4pCiB7Ci0Jc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IGdldF9tYWluX3JlZl9zdG9yZSh0aGVfcmVwb3NpdG9yeSk7CisJc3RydWN0IHJlZl9zdG9yZSAqcmVmcyA9IGdldF9tYWluX3JlZl9zdG9yZShyKTsKIAlzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICp0cmFuc2FjdGlvbjsKIAlzdHJ1Y3Qgc3RyYnVmIHJlZl9uYW1lID0gU1RSQlVGX0lOSVQsIGVyciA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJidWYgbXNnID0gU1RSQlVGX0lOSVQ7CkBAIC0yOTAyLDcgKzMyMDIsNyBAQAogCQlyZXR1cm4gZXJyb3IoXygiaWxsZWdhbCBsYWJlbCBuYW1lOiAnJS4qcyciKSwgbGVuLCBuYW1lKTsKIAogCXN0cmJ1Zl9hZGRmKCZyZWZfbmFtZSwgInJlZnMvcmV3cml0dGVuLyUuKnMiLCBsZW4sIG5hbWUpOwotCXN0cmJ1Zl9hZGRmKCZtc2csICJyZWJhc2UgLWkgKGxhYmVsKSAnJS4qcyciLCBsZW4sIG5hbWUpOworCXN0cmJ1Zl9hZGRmKCZtc2csICJyZWJhc2UgKGxhYmVsKSAnJS4qcyciLCBsZW4sIG5hbWUpOwogCiAJdHJhbnNhY3Rpb24gPSByZWZfc3RvcmVfdHJhbnNhY3Rpb25fYmVnaW4ocmVmcywgJmVycik7CiAJaWYgKCF0cmFuc2FjdGlvbikgewpAQCAtMjkzMiw3ICszMjMyLDkgQEAKIHN0YXRpYyBjb25zdCBjaGFyICpyZWZsb2dfbWVzc2FnZShzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMsCiAJY29uc3QgY2hhciAqc3ViX2FjdGlvbiwgY29uc3QgY2hhciAqZm10LCAuLi4pOwogCi1zdGF0aWMgaW50IGRvX3Jlc2V0KGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4sIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKK3N0YXRpYyBpbnQgZG9fcmVzZXQoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCSAgICBjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuLAorCQkgICAgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewogCXN0cnVjdCBzdHJidWYgcmVmX25hbWUgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKQEAgLTI5NDIsNyArMzI0NCw3IEBACiAJc3RydWN0IHVucGFja190cmVlc19vcHRpb25zIHVucGFja190cmVlX29wdHM7CiAJaW50IHJldCA9IDA7CiAKLQlpZiAoaG9sZF9sb2NrZWRfaW5kZXgoJmxvY2ssIExPQ0tfUkVQT1JUX09OX0VSUk9SKSA8IDApCisJaWYgKHJlcG9faG9sZF9sb2NrZWRfaW5kZXgociwgJmxvY2ssIExPQ0tfUkVQT1JUX09OX0VSUk9SKSA8IDApCiAJCXJldHVybiAtMTsKIAogCWlmIChsZW4gPT0gMTAgJiYgIXN0cm5jbXAoIltuZXcgcm9vdF0iLCBuYW1lLCBsZW4pKSB7CkBAIC0yOTgxLDE5ICszMjgzLDE5IEBACiAJbWVtc2V0KCZ1bnBhY2tfdHJlZV9vcHRzLCAwLCBzaXplb2YodW5wYWNrX3RyZWVfb3B0cykpOwogCXNldHVwX3VucGFja190cmVlc19wb3JjZWxhaW4oJnVucGFja190cmVlX29wdHMsICJyZXNldCIpOwogCXVucGFja190cmVlX29wdHMuaGVhZF9pZHggPSAxOwotCXVucGFja190cmVlX29wdHMuc3JjX2luZGV4ID0gJnRoZV9pbmRleDsKLQl1bnBhY2tfdHJlZV9vcHRzLmRzdF9pbmRleCA9ICZ0aGVfaW5kZXg7CisJdW5wYWNrX3RyZWVfb3B0cy5zcmNfaW5kZXggPSByLT5pbmRleDsKKwl1bnBhY2tfdHJlZV9vcHRzLmRzdF9pbmRleCA9IHItPmluZGV4OwogCXVucGFja190cmVlX29wdHMuZm4gPSBvbmV3YXlfbWVyZ2U7CiAJdW5wYWNrX3RyZWVfb3B0cy5tZXJnZSA9IDE7CiAJdW5wYWNrX3RyZWVfb3B0cy51cGRhdGUgPSAxOwogCi0JaWYgKHJlYWRfY2FjaGVfdW5tZXJnZWQoKSkgeworCWlmIChyZXBvX3JlYWRfaW5kZXhfdW5tZXJnZWQocikpIHsKIAkJcm9sbGJhY2tfbG9ja19maWxlKCZsb2NrKTsKIAkJc3RyYnVmX3JlbGVhc2UoJnJlZl9uYW1lKTsKIAkJcmV0dXJuIGVycm9yX3Jlc29sdmVfY29uZmxpY3QoXyhhY3Rpb25fbmFtZShvcHRzKSkpOwogCX0KIAotCWlmICghZmlsbF90cmVlX2Rlc2NyaXB0b3IoJmRlc2MsICZvaWQpKSB7CisJaWYgKCFmaWxsX3RyZWVfZGVzY3JpcHRvcihyLCAmZGVzYywgJm9pZCkpIHsKIAkJZXJyb3IoXygiZmFpbGVkIHRvIGZpbmQgdHJlZSBvZiAlcyIpLCBvaWRfdG9faGV4KCZvaWQpKTsKIAkJcm9sbGJhY2tfbG9ja19maWxlKCZsb2NrKTsKIAkJZnJlZSgodm9pZCAqKWRlc2MuYnVmZmVyKTsKQEAgLTMwMDksOSArMzMxMSw5IEBACiAJfQogCiAJdHJlZSA9IHBhcnNlX3RyZWVfaW5kaXJlY3QoJm9pZCk7Ci0JcHJpbWVfY2FjaGVfdHJlZSgmdGhlX2luZGV4LCB0cmVlKTsKKwlwcmltZV9jYWNoZV90cmVlKHIsIHItPmluZGV4LCB0cmVlKTsKIAotCWlmICh3cml0ZV9sb2NrZWRfaW5kZXgoJnRoZV9pbmRleCwgJmxvY2ssIENPTU1JVF9MT0NLKSA8IDApCisJaWYgKHdyaXRlX2xvY2tlZF9pbmRleChyLT5pbmRleCwgJmxvY2ssIENPTU1JVF9MT0NLKSA8IDApCiAJCXJldCA9IGVycm9yKF8oImNvdWxkIG5vdCB3cml0ZSBpbmRleCIpKTsKIAlmcmVlKCh2b2lkICopZGVzYy5idWZmZXIpOwogCkBAIC0zMDQ0LDcgKzMzNDYsOSBAQAogCXJldHVybiBjb21taXQ7CiB9CiAKLXN0YXRpYyBpbnQgZG9fbWVyZ2Uoc3RydWN0IGNvbW1pdCAqY29tbWl0LCBjb25zdCBjaGFyICphcmcsIGludCBhcmdfbGVuLAorc3RhdGljIGludCBkb19tZXJnZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJICAgIHN0cnVjdCBjb21taXQgKmNvbW1pdCwKKwkJICAgIGNvbnN0IGNoYXIgKmFyZywgaW50IGFyZ19sZW4sCiAJCSAgICBpbnQgZmxhZ3MsIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKIHsKIAlpbnQgcnVuX2NvbW1pdF9mbGFncyA9IChmbGFncyAmIFRPRE9fRURJVF9NRVJHRV9NU0cpID8KQEAgLTMwNTMsMTIgKzMzNTcsMTUgQEAKIAlzdHJ1Y3QgY29tbWl0ICpoZWFkX2NvbW1pdCwgKm1lcmdlX2NvbW1pdCwgKmk7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpiYXNlcywgKmosICpyZXZlcnNlZCA9IE5VTEw7CiAJc3RydWN0IGNvbW1pdF9saXN0ICp0b19tZXJnZSA9IE5VTEwsICoqdGFpbCA9ICZ0b19tZXJnZTsKKwljb25zdCBjaGFyICpzdHJhdGVneSA9ICFvcHRzLT54b3B0c19uciAmJgorCQkoIW9wdHMtPnN0cmF0ZWd5IHx8ICFzdHJjbXAob3B0cy0+c3RyYXRlZ3ksICJyZWN1cnNpdmUiKSkgPworCQlOVUxMIDogb3B0cy0+c3RyYXRlZ3k7CiAJc3RydWN0IG1lcmdlX29wdGlvbnMgbzsKIAlpbnQgbWVyZ2VfYXJnX2xlbiwgb25lbGluZV9vZmZzZXQsIGNhbl9mYXN0X2ZvcndhcmQsIHJldCwgazsKIAlzdGF0aWMgc3RydWN0IGxvY2tfZmlsZSBsb2NrOwogCWNvbnN0IGNoYXIgKnA7CiAKLQlpZiAoaG9sZF9sb2NrZWRfaW5kZXgoJmxvY2ssIExPQ0tfUkVQT1JUX09OX0VSUk9SKSA8IDApIHsKKwlpZiAocmVwb19ob2xkX2xvY2tlZF9pbmRleChyLCAmbG9jaywgTE9DS19SRVBPUlRfT05fRVJST1IpIDwgMCkgewogCQlyZXQgPSAtMTsKIAkJZ290byBsZWF2ZV9tZXJnZTsKIAl9CkBAIC0zMTExLDE0ICszNDE4LDE1IEBACiAJCQlyZXQgPSBlcnJvcihfKCJvY3RvcHVzIG1lcmdlIGNhbm5vdCBiZSBleGVjdXRlZCBvbiAiCiAJCQkJICAgICAgInRvcCBvZiBhIFtuZXcgcm9vdF0iKSk7CiAJCWVsc2UKLQkJCXJldCA9IGZhc3RfZm9yd2FyZF90bygmdG9fbWVyZ2UtPml0ZW0tPm9iamVjdC5vaWQsCisJCQlyZXQgPSBmYXN0X2ZvcndhcmRfdG8ociwgJnRvX21lcmdlLT5pdGVtLT5vYmplY3Qub2lkLAogCQkJCQkgICAgICAmaGVhZF9jb21taXQtPm9iamVjdC5vaWQsIDAsCiAJCQkJCSAgICAgIG9wdHMpOwogCQlnb3RvIGxlYXZlX21lcmdlOwogCX0KIAogCWlmIChjb21taXQpIHsKLQkJY29uc3QgY2hhciAqbWVzc2FnZSA9IGdldF9jb21taXRfYnVmZmVyKGNvbW1pdCwgTlVMTCk7CisJCWNvbnN0IGNoYXIgKmVuY29kaW5nID0gZ2V0X2NvbW1pdF9vdXRwdXRfZW5jb2RpbmcoKTsKKwkJY29uc3QgY2hhciAqbWVzc2FnZSA9IGxvZ21zZ19yZWVuY29kZShjb21taXQsIE5VTEwsIGVuY29kaW5nKTsKIAkJY29uc3QgY2hhciAqYm9keTsKIAkJaW50IGxlbjsKIApAQCAtMzEzMCwxMSArMzQzOCwxMSBAQAogCQl3cml0ZV9hdXRob3Jfc2NyaXB0KG1lc3NhZ2UpOwogCQlmaW5kX2NvbW1pdF9zdWJqZWN0KG1lc3NhZ2UsICZib2R5KTsKIAkJbGVuID0gc3RybGVuKGJvZHkpOwotCQlyZXQgPSB3cml0ZV9tZXNzYWdlKGJvZHksIGxlbiwgZ2l0X3BhdGhfbWVyZ2VfbXNnKHRoZV9yZXBvc2l0b3J5KSwgMCk7CisJCXJldCA9IHdyaXRlX21lc3NhZ2UoYm9keSwgbGVuLCBnaXRfcGF0aF9tZXJnZV9tc2cociksIDApOwogCQl1bnVzZV9jb21taXRfYnVmZmVyKGNvbW1pdCwgbWVzc2FnZSk7CiAJCWlmIChyZXQpIHsKIAkJCWVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCB3cml0ZSAnJXMnIiksCi0JCQkJICAgIGdpdF9wYXRoX21lcmdlX21zZyh0aGVfcmVwb3NpdG9yeSkpOworCQkJCSAgICBnaXRfcGF0aF9tZXJnZV9tc2cocikpOwogCQkJZ290byBsZWF2ZV9tZXJnZTsKIAkJfQogCX0gZWxzZSB7CkBAIC0zMTU2LDExICszNDY0LDExIEBACiAJCQlsZW4gPSBidWYubGVuOwogCQl9CiAKLQkJcmV0ID0gd3JpdGVfbWVzc2FnZShwLCBsZW4sIGdpdF9wYXRoX21lcmdlX21zZyh0aGVfcmVwb3NpdG9yeSksIDApOworCQlyZXQgPSB3cml0ZV9tZXNzYWdlKHAsIGxlbiwgZ2l0X3BhdGhfbWVyZ2VfbXNnKHIpLCAwKTsKIAkJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CiAJCWlmIChyZXQpIHsKIAkJCWVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCB3cml0ZSAnJXMnIiksCi0JCQkJICAgIGdpdF9wYXRoX21lcmdlX21zZyh0aGVfcmVwb3NpdG9yeSkpOworCQkJCSAgICBnaXRfcGF0aF9tZXJnZV9tc2cocikpOwogCQkJZ290byBsZWF2ZV9tZXJnZTsKIAkJfQogCX0KQEAgLTMxOTYsMTIgKzM1MDQsMTYgQEAKIAogCWlmIChjYW5fZmFzdF9mb3J3YXJkKSB7CiAJCXJvbGxiYWNrX2xvY2tfZmlsZSgmbG9jayk7Ci0JCXJldCA9IGZhc3RfZm9yd2FyZF90bygmY29tbWl0LT5vYmplY3Qub2lkLAorCQlyZXQgPSBmYXN0X2ZvcndhcmRfdG8ociwgJmNvbW1pdC0+b2JqZWN0Lm9pZCwKIAkJCQkgICAgICAmaGVhZF9jb21taXQtPm9iamVjdC5vaWQsIDAsIG9wdHMpOworCQlpZiAoZmxhZ3MgJiBUT0RPX0VESVRfTUVSR0VfTVNHKSB7CisJCQlydW5fY29tbWl0X2ZsYWdzIHw9IEFNRU5EX01TRzsKKwkJCWdvdG8gZmFzdF9mb3J3YXJkX2VkaXQ7CisJCX0KIAkJZ290byBsZWF2ZV9tZXJnZTsKIAl9CiAKLQlpZiAodG9fbWVyZ2UtPm5leHQpIHsKKwlpZiAoc3RyYXRlZ3kgfHwgdG9fbWVyZ2UtPm5leHQpIHsKIAkJLyogT2N0b3B1cyBtZXJnZSAqLwogCQlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjbWQgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CiAKQEAgLTMyMTUsMTMgKzM1MjcsMjAgQEAKIAkJY21kLmdpdF9jbWQgPSAxOwogCQlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLCAibWVyZ2UiKTsKIAkJYXJndl9hcnJheV9wdXNoKCZjbWQuYXJncywgIi1zIik7Ci0JCWFyZ3ZfYXJyYXlfcHVzaCgmY21kLmFyZ3MsICJvY3RvcHVzIik7CisJCWlmICghc3RyYXRlZ3kpCisJCQlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLCAib2N0b3B1cyIpOworCQllbHNlIHsKKwkJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kLmFyZ3MsIHN0cmF0ZWd5KTsKKwkJCWZvciAoayA9IDA7IGsgPCBvcHRzLT54b3B0c19ucjsgaysrKQorCQkJCWFyZ3ZfYXJyYXlfcHVzaGYoJmNtZC5hcmdzLAorCQkJCQkJICItWCVzIiwgb3B0cy0+eG9wdHNba10pOworCQl9CiAJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kLmFyZ3MsICItLW5vLWVkaXQiKTsKIAkJYXJndl9hcnJheV9wdXNoKCZjbWQuYXJncywgIi0tbm8tZmYiKTsKIAkJYXJndl9hcnJheV9wdXNoKCZjbWQuYXJncywgIi0tbm8tbG9nIik7CiAJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kLmFyZ3MsICItLW5vLXN0YXQiKTsKIAkJYXJndl9hcnJheV9wdXNoKCZjbWQuYXJncywgIi1GIik7Ci0JCWFyZ3ZfYXJyYXlfcHVzaCgmY21kLmFyZ3MsIGdpdF9wYXRoX21lcmdlX21zZyh0aGVfcmVwb3NpdG9yeSkpOworCQlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLCBnaXRfcGF0aF9tZXJnZV9tc2cocikpOwogCQlpZiAob3B0cy0+Z3BnX3NpZ24pCiAJCQlhcmd2X2FycmF5X3B1c2goJmNtZC5hcmdzLCBvcHRzLT5ncGdfc2lnbik7CiAKQEAgLTMyMzEsMTQgKzM1NTAsMTUgQEAKIAkJCQkJb2lkX3RvX2hleCgmai0+aXRlbS0+b2JqZWN0Lm9pZCkpOwogCiAJCXN0cmJ1Zl9yZWxlYXNlKCZyZWZfbmFtZSk7Ci0JCXVubGluayhnaXRfcGF0aF9jaGVycnlfcGlja19oZWFkKHRoZV9yZXBvc2l0b3J5KSk7CisJCXVubGluayhnaXRfcGF0aF9jaGVycnlfcGlja19oZWFkKHIpKTsKIAkJcm9sbGJhY2tfbG9ja19maWxlKCZsb2NrKTsKIAogCQlyb2xsYmFja19sb2NrX2ZpbGUoJmxvY2spOwogCQlyZXQgPSBydW5fY29tbWFuZCgmY21kKTsKIAogCQkvKiBmb3JjZSByZS1yZWFkaW5nIG9mIHRoZSBjYWNoZSAqLwotCQlpZiAoIXJldCAmJiAoZGlzY2FyZF9jYWNoZSgpIDwgMCB8fCByZWFkX2NhY2hlKCkgPCAwKSkKKwkJaWYgKCFyZXQgJiYgKGRpc2NhcmRfaW5kZXgoci0+aW5kZXgpIDwgMCB8fAorCQkJICAgICByZXBvX3JlYWRfaW5kZXgocikgPCAwKSkKIAkJCXJldCA9IGVycm9yKF8oImNvdWxkIG5vdCByZWFkIGluZGV4IikpOwogCQlnb3RvIGxlYXZlX21lcmdlOwogCX0KQEAgLTMyNTIsMTYgKzM1NzIsMTYgQEAKIAkJZ290byBsZWF2ZV9tZXJnZTsKIAl9CiAKLQl3cml0ZV9tZXNzYWdlKG9pZF90b19oZXgoJm1lcmdlX2NvbW1pdC0+b2JqZWN0Lm9pZCksIEdJVF9TSEExX0hFWFNaLAotCQkgICAgICBnaXRfcGF0aF9tZXJnZV9oZWFkKHRoZV9yZXBvc2l0b3J5KSwgMCk7Ci0Jd3JpdGVfbWVzc2FnZSgibm8tZmYiLCA1LCBnaXRfcGF0aF9tZXJnZV9tb2RlKHRoZV9yZXBvc2l0b3J5KSwgMCk7CisJd3JpdGVfbWVzc2FnZShvaWRfdG9faGV4KCZtZXJnZV9jb21taXQtPm9iamVjdC5vaWQpLCB0aGVfaGFzaF9hbGdvLT5oZXhzeiwKKwkJICAgICAgZ2l0X3BhdGhfbWVyZ2VfaGVhZChyKSwgMCk7CisJd3JpdGVfbWVzc2FnZSgibm8tZmYiLCA1LCBnaXRfcGF0aF9tZXJnZV9tb2RlKHIpLCAwKTsKIAogCWZvciAoaiA9IGJhc2VzOyBqOyBqID0gai0+bmV4dCkKIAkJY29tbWl0X2xpc3RfaW5zZXJ0KGotPml0ZW0sICZyZXZlcnNlZCk7CiAJZnJlZV9jb21taXRfbGlzdChiYXNlcyk7CiAKLQlyZWFkX2NhY2hlKCk7Ci0JaW5pdF9tZXJnZV9vcHRpb25zKCZvKTsKKwlyZXBvX3JlYWRfaW5kZXgocik7CisJaW5pdF9tZXJnZV9vcHRpb25zKCZvLCByKTsKIAlvLmJyYW5jaDEgPSAiSEVBRCI7CiAJby5icmFuY2gyID0gcmVmX25hbWUuYnVmOwogCW8uYnVmZmVyX291dHB1dCA9IDI7CkBAIC0zMjg1LDIzICszNjA1LDI0IEBACiAJICovCiAJcmV0ID0gIXJldDsKIAotCWlmIChhY3RpdmVfY2FjaGVfY2hhbmdlZCAmJgotCSAgICB3cml0ZV9sb2NrZWRfaW5kZXgoJnRoZV9pbmRleCwgJmxvY2ssIENPTU1JVF9MT0NLKSkgeworCWlmIChyLT5pbmRleC0+Y2FjaGVfY2hhbmdlZCAmJgorCSAgICB3cml0ZV9sb2NrZWRfaW5kZXgoci0+aW5kZXgsICZsb2NrLCBDT01NSVRfTE9DSykpIHsKIAkJcmV0ID0gZXJyb3IoXygibWVyZ2U6IFVuYWJsZSB0byB3cml0ZSBuZXcgaW5kZXggZmlsZSIpKTsKIAkJZ290byBsZWF2ZV9tZXJnZTsKIAl9CiAKIAlyb2xsYmFja19sb2NrX2ZpbGUoJmxvY2spOwogCWlmIChyZXQpCi0JCXJlcG9fcmVyZXJlKHRoZV9yZXBvc2l0b3J5LCBvcHRzLT5hbGxvd19yZXJlcmVfYXV0byk7CisJCXJlcG9fcmVyZXJlKHIsIG9wdHMtPmFsbG93X3JlcmVyZV9hdXRvKTsKIAllbHNlCiAJCS8qCiAJCSAqIEluIGNhc2Ugb2YgcHJvYmxlbXMsIHdlIG5vdyB3YW50IHRvIHJldHVybiBhIHBvc2l0aXZlCiAJCSAqIHZhbHVlIChhIG5lZ2F0aXZlIG9uZSB3b3VsZCBpbmRpY2F0ZSB0aGF0IHRoZSBgbWVyZ2VgCiAJCSAqIGNvbW1hbmQgbmVlZHMgdG8gYmUgcmVzY2hlZHVsZWQpLgogCQkgKi8KLQkJcmV0ID0gISFydW5fZ2l0X2NvbW1pdChnaXRfcGF0aF9tZXJnZV9tc2codGhlX3JlcG9zaXRvcnkpLCBvcHRzLAotCQkJCSAgICAgcnVuX2NvbW1pdF9mbGFncyk7CisJZmFzdF9mb3J3YXJkX2VkaXQ6CisJCXJldCA9ICEhcnVuX2dpdF9jb21taXQociwgZ2l0X3BhdGhfbWVyZ2VfbXNnKHIpLCBvcHRzLAorCQkJCSAgICAgICBydW5fY29tbWl0X2ZsYWdzKTsKIAogbGVhdmVfbWVyZ2U6CiAJc3RyYnVmX3JlbGVhc2UoJnJlZl9uYW1lKTsKQEAgLTM0MDAsMTAgKzM3MjEsMTEgQEAKIAlyZXR1cm4gYnVmLmJ1ZjsKIH0KIAotc3RhdGljIGludCBydW5fZ2l0X2NoZWNrb3V0KHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cywgY29uc3QgY2hhciAqY29tbWl0LAotCQkJICAgIGNvbnN0IGNoYXIgKmFjdGlvbikKK3N0YXRpYyBpbnQgcnVuX2dpdF9jaGVja291dChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzLAorCQkJICAgIGNvbnN0IGNoYXIgKmNvbW1pdCwgY29uc3QgY2hhciAqYWN0aW9uKQogewogCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNtZCA9IENISUxEX1BST0NFU1NfSU5JVDsKKwlpbnQgcmV0OwogCiAJY21kLmdpdF9jbWQgPSAxOwogCkBAIC0zNDEyLDI2ICszNzM0LDE4IEBACiAJYXJndl9hcnJheV9wdXNoZigmY21kLmVudl9hcnJheSwgR0lUX1JFRkxPR19BQ1RJT04gIj0lcyIsIGFjdGlvbik7CiAKIAlpZiAob3B0cy0+dmVyYm9zZSkKLQkJcmV0dXJuIHJ1bl9jb21tYW5kKCZjbWQpOworCQlyZXQgPSBydW5fY29tbWFuZCgmY21kKTsKIAllbHNlCi0JCXJldHVybiBydW5fY29tbWFuZF9zaWxlbnRfb25fc3VjY2VzcygmY21kKTsKKwkJcmV0ID0gcnVuX2NvbW1hbmRfc2lsZW50X29uX3N1Y2Nlc3MoJmNtZCk7CisKKwlpZiAoIXJldCkKKwkJZGlzY2FyZF9pbmRleChyLT5pbmRleCk7CisKKwlyZXR1cm4gcmV0OwogfQogCi1pbnQgcHJlcGFyZV9icmFuY2hfdG9fYmVfcmViYXNlZChzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMsIGNvbnN0IGNoYXIgKmNvbW1pdCkKLXsKLQljb25zdCBjaGFyICphY3Rpb247Ci0KLQlpZiAoY29tbWl0ICYmICpjb21taXQpIHsKLQkJYWN0aW9uID0gcmVmbG9nX21lc3NhZ2Uob3B0cywgInN0YXJ0IiwgImNoZWNrb3V0ICVzIiwgY29tbWl0KTsKLQkJaWYgKHJ1bl9naXRfY2hlY2tvdXQob3B0cywgY29tbWl0LCBhY3Rpb24pKQotCQkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCBjaGVja291dCAlcyIpLCBjb21taXQpOwotCX0KLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGNoZWNrb3V0X29udG8oc3RydWN0IHJlcGxheV9vcHRzICpvcHRzLAotCQkJIGNvbnN0IGNoYXIgKm9udG9fbmFtZSwgY29uc3QgY2hhciAqb250bywKK3N0YXRpYyBpbnQgY2hlY2tvdXRfb250byhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzLAorCQkJIGNvbnN0IGNoYXIgKm9udG9fbmFtZSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb250bywKIAkJCSBjb25zdCBjaGFyICpvcmlnX2hlYWQpCiB7CiAJc3RydWN0IG9iamVjdF9pZCBvaWQ7CkBAIC0zNDQwLDcgKzM3NTQsNyBAQAogCWlmIChnZXRfb2lkKG9yaWdfaGVhZCwgJm9pZCkpCiAJCXJldHVybiBlcnJvcihfKCIlczogbm90IGEgdmFsaWQgT0lEIiksIG9yaWdfaGVhZCk7CiAKLQlpZiAocnVuX2dpdF9jaGVja291dChvcHRzLCBvbnRvLCBhY3Rpb24pKSB7CisJaWYgKHJ1bl9naXRfY2hlY2tvdXQociwgb3B0cywgb2lkX3RvX2hleChvbnRvKSwgYWN0aW9uKSkgewogCQlhcHBseV9hdXRvc3Rhc2gob3B0cyk7CiAJCXNlcXVlbmNlcl9yZW1vdmVfc3RhdGUob3B0cyk7CiAJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgZGV0YWNoIEhFQUQiKSk7CkBAIC0zNDQ5LDE0ICszNzYzLDE0IEBACiAJcmV0dXJuIHVwZGF0ZV9yZWYoTlVMTCwgIk9SSUdfSEVBRCIsICZvaWQsIE5VTEwsIDAsIFVQREFURV9SRUZTX01TR19PTl9FUlIpOwogfQogCi1zdGF0aWMgaW50IHN0b3BwZWRfYXRfaGVhZCh2b2lkKQorc3RhdGljIGludCBzdG9wcGVkX2F0X2hlYWQoc3RydWN0IHJlcG9zaXRvcnkgKnIpCiB7CiAJc3RydWN0IG9iamVjdF9pZCBoZWFkOwogCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKIAlzdHJ1Y3QgY29tbWl0X21lc3NhZ2UgbWVzc2FnZTsKIAogCWlmIChnZXRfb2lkKCJIRUFEIiwgJmhlYWQpIHx8Ci0JICAgICEoY29tbWl0ID0gbG9va3VwX2NvbW1pdCh0aGVfcmVwb3NpdG9yeSwgJmhlYWQpKSB8fAorCSAgICAhKGNvbW1pdCA9IGxvb2t1cF9jb21taXQociwgJmhlYWQpKSB8fAogCSAgICBwYXJzZV9jb21taXQoY29tbWl0KSB8fCBnZXRfbWVzc2FnZShjb21taXQsICZtZXNzYWdlKSkKIAkJZnByaW50ZihzdGRlcnIsIF8oIlN0b3BwZWQgYXQgSEVBRFxuIikpOwogCWVsc2UgewpAQCAtMzQ3OCw3ICszNzkyLDkgQEAKICIgICAgZ2l0IHJlYmFzZSAtLWVkaXQtdG9kb1xuIgogIiAgICBnaXQgcmViYXNlIC0tY29udGludWVcbiIpOwogCi1zdGF0aWMgaW50IHBpY2tfY29tbWl0cyhzdHJ1Y3QgdG9kb19saXN0ICp0b2RvX2xpc3QsIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKK3N0YXRpYyBpbnQgcGlja19jb21taXRzKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJc3RydWN0IHRvZG9fbGlzdCAqdG9kb19saXN0LAorCQkJc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKQogewogCWludCByZXMgPSAwLCByZXNjaGVkdWxlID0gMDsKIApAQCAtMzQ4NiwxMSArMzgwMiwxNCBAQAogCWlmIChvcHRzLT5hbGxvd19mZikKIAkJYXNzZXJ0KCEob3B0cy0+c2lnbm9mZiB8fCBvcHRzLT5ub19jb21taXQgfHwKIAkJCQlvcHRzLT5yZWNvcmRfb3JpZ2luIHx8IG9wdHMtPmVkaXQpKTsKLQlpZiAocmVhZF9hbmRfcmVmcmVzaF9jYWNoZShvcHRzKSkKKwlpZiAocmVhZF9hbmRfcmVmcmVzaF9jYWNoZShyLCBvcHRzKSkKIAkJcmV0dXJuIC0xOwogCiAJd2hpbGUgKHRvZG9fbGlzdC0+Y3VycmVudCA8IHRvZG9fbGlzdC0+bnIpIHsKIAkJc3RydWN0IHRvZG9faXRlbSAqaXRlbSA9IHRvZG9fbGlzdC0+aXRlbXMgKyB0b2RvX2xpc3QtPmN1cnJlbnQ7CisJCWNvbnN0IGNoYXIgKmFyZyA9IHRvZG9faXRlbV9nZXRfYXJnKHRvZG9fbGlzdCwgaXRlbSk7CisJCWludCBjaGVja190b2RvID0gMDsKKwogCQlpZiAoc2F2ZV90b2RvKHRvZG9fbGlzdCwgb3B0cykpCiAJCQlyZXR1cm4gLTE7CiAJCWlmIChpc19yZWJhc2VfaShvcHRzKSkgewpAQCAtMzUwMywyOCArMzgyMiwzMyBAQAogCQkJCQlmcHJpbnRmKGYsICIlZFxuIiwgdG9kb19saXN0LT5kb25lX25yKTsKIAkJCQkJZmNsb3NlKGYpOwogCQkJCX0KLQkJCQlmcHJpbnRmKHN0ZGVyciwgIlJlYmFzaW5nICglZC8lZCklcyIsCi0JCQkJCXRvZG9fbGlzdC0+ZG9uZV9uciwKLQkJCQkJdG9kb19saXN0LT50b3RhbF9uciwKLQkJCQkJb3B0cy0+dmVyYm9zZSA/ICJcbiIgOiAiXHIiKTsKKwkJCQlpZiAoIW9wdHMtPnF1aWV0KQorCQkJCQlmcHJpbnRmKHN0ZGVyciwgIlJlYmFzaW5nICglZC8lZCklcyIsCisJCQkJCQl0b2RvX2xpc3QtPmRvbmVfbnIsCisJCQkJCQl0b2RvX2xpc3QtPnRvdGFsX25yLAorCQkJCQkJb3B0cy0+dmVyYm9zZSA/ICJcbiIgOiAiXHIiKTsKIAkJCX0KIAkJCXVubGluayhyZWJhc2VfcGF0aF9tZXNzYWdlKCkpOwogCQkJdW5saW5rKHJlYmFzZV9wYXRoX2F1dGhvcl9zY3JpcHQoKSk7CiAJCQl1bmxpbmsocmViYXNlX3BhdGhfc3RvcHBlZF9zaGEoKSk7CiAJCQl1bmxpbmsocmViYXNlX3BhdGhfYW1lbmQoKSk7Ci0JCQl1bmxpbmsoZ2l0X3BhdGhfbWVyZ2VfaGVhZCh0aGVfcmVwb3NpdG9yeSkpOworCQkJdW5saW5rKGdpdF9wYXRoX21lcmdlX2hlYWQocikpOwogCQkJZGVsZXRlX3JlZihOVUxMLCAiUkVCQVNFX0hFQUQiLCBOVUxMLCBSRUZfTk9fREVSRUYpOwogCi0JCQlpZiAoaXRlbS0+Y29tbWFuZCA9PSBUT0RPX0JSRUFLKQotCQkJCXJldHVybiBzdG9wcGVkX2F0X2hlYWQoKTsKKwkJCWlmIChpdGVtLT5jb21tYW5kID09IFRPRE9fQlJFQUspIHsKKwkJCQlpZiAoIW9wdHMtPnZlcmJvc2UpCisJCQkJCXRlcm1fY2xlYXJfbGluZSgpOworCQkJCXJldHVybiBzdG9wcGVkX2F0X2hlYWQocik7CisJCQl9CiAJCX0KIAkJaWYgKGl0ZW0tPmNvbW1hbmQgPD0gVE9ET19TUVVBU0gpIHsKIAkJCWlmIChpc19yZWJhc2VfaShvcHRzKSkKIAkJCQlzZXRlbnYoIkdJVF9SRUZMT0dfQUNUSU9OIiwgcmVmbG9nX21lc3NhZ2Uob3B0cywKIAkJCQkJY29tbWFuZF90b19zdHJpbmcoaXRlbS0+Y29tbWFuZCksIE5VTEwpLAogCQkJCQkxKTsKLQkJCXJlcyA9IGRvX3BpY2tfY29tbWl0KGl0ZW0tPmNvbW1hbmQsIGl0ZW0tPmNvbW1pdCwKLQkJCQkJb3B0cywgaXNfZmluYWxfZml4dXAodG9kb19saXN0KSk7CisJCQlyZXMgPSBkb19waWNrX2NvbW1pdChyLCBpdGVtLT5jb21tYW5kLCBpdGVtLT5jb21taXQsCisJCQkJCSAgICAgb3B0cywgaXNfZmluYWxfZml4dXAodG9kb19saXN0KSwKKwkJCQkJICAgICAmY2hlY2tfdG9kbyk7CiAJCQlpZiAoaXNfcmViYXNlX2kob3B0cykgJiYgcmVzIDwgMCkgewogCQkJCS8qIFJlc2NoZWR1bGUgKi8KIAkJCQlhZHZpc2UoXyhyZXNjaGVkdWxlZF9hZHZpY2UpLApAQCAtMzUzOCwxNCArMzg2MiwxNiBAQAogCQkJfQogCQkJaWYgKGl0ZW0tPmNvbW1hbmQgPT0gVE9ET19FRElUKSB7CiAJCQkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gaXRlbS0+Y29tbWl0OwotCQkJCWlmICghcmVzKQorCQkJCWlmICghcmVzKSB7CisJCQkJCWlmICghb3B0cy0+dmVyYm9zZSkKKwkJCQkJCXRlcm1fY2xlYXJfbGluZSgpOwogCQkJCQlmcHJpbnRmKHN0ZGVyciwKIAkJCQkJCV8oIlN0b3BwZWQgYXQgJXMuLi4gICUuKnNcbiIpLAogCQkJCQkJc2hvcnRfY29tbWl0X25hbWUoY29tbWl0KSwKLQkJCQkJCWl0ZW0tPmFyZ19sZW4sIGl0ZW0tPmFyZyk7Ci0JCQkJcmV0dXJuIGVycm9yX3dpdGhfcGF0Y2goY29tbWl0LAotCQkJCQlpdGVtLT5hcmcsIGl0ZW0tPmFyZ19sZW4sIG9wdHMsIHJlcywKLQkJCQkJIXJlcyk7CisJCQkJCQlpdGVtLT5hcmdfbGVuLCBhcmcpOworCQkJCX0KKwkJCQlyZXR1cm4gZXJyb3Jfd2l0aF9wYXRjaChyLCBjb21taXQsCisJCQkJCWFyZywgaXRlbS0+YXJnX2xlbiwgb3B0cywgcmVzLCAhcmVzKTsKIAkJCX0KIAkJCWlmIChpc19yZWJhc2VfaShvcHRzKSAmJiAhcmVzKQogCQkJCXJlY29yZF9pbl9yZXdyaXR0ZW4oJml0ZW0tPmNvbW1pdC0+b2JqZWN0Lm9pZCwKQEAgLTM1NTMsOCArMzg3OSw4IEBACiAJCQlpZiAocmVzICYmIGlzX2ZpeHVwKGl0ZW0tPmNvbW1hbmQpKSB7CiAJCQkJaWYgKHJlcyA9PSAxKQogCQkJCQlpbnRlbmRfdG9fYW1lbmQoKTsKLQkJCQlyZXR1cm4gZXJyb3JfZmFpbGVkX3NxdWFzaChpdGVtLT5jb21taXQsIG9wdHMsCi0JCQkJCWl0ZW0tPmFyZ19sZW4sIGl0ZW0tPmFyZyk7CisJCQkJcmV0dXJuIGVycm9yX2ZhaWxlZF9zcXVhc2gociwgaXRlbS0+Y29tbWl0LCBvcHRzLAorCQkJCQlpdGVtLT5hcmdfbGVuLCBhcmcpOwogCQkJfSBlbHNlIGlmIChyZXMgJiYgaXNfcmViYXNlX2kob3B0cykgJiYgaXRlbS0+Y29tbWl0KSB7CiAJCQkJaW50IHRvX2FtZW5kID0gMDsKIAkJCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKQEAgLTM1NzIsNDEgKzM4OTgsMzQgQEAKIAkJCQkgICAgICBvaWRlcSgmb3B0cy0+c3F1YXNoX29udG8sICZvaWQpKSkpCiAJCQkJCXRvX2FtZW5kID0gMTsKIAotCQkJCXJldHVybiByZXMgfCBlcnJvcl93aXRoX3BhdGNoKGl0ZW0tPmNvbW1pdCwKLQkJCQkJCWl0ZW0tPmFyZywgaXRlbS0+YXJnX2xlbiwgb3B0cywKKwkJCQlyZXR1cm4gcmVzIHwgZXJyb3Jfd2l0aF9wYXRjaChyLCBpdGVtLT5jb21taXQsCisJCQkJCQlhcmcsIGl0ZW0tPmFyZ19sZW4sIG9wdHMsCiAJCQkJCQlyZXMsIHRvX2FtZW5kKTsKIAkJCX0KIAkJfSBlbHNlIGlmIChpdGVtLT5jb21tYW5kID09IFRPRE9fRVhFQykgewotCQkJY2hhciAqZW5kX29mX2FyZyA9IChjaGFyICopKGl0ZW0tPmFyZyArIGl0ZW0tPmFyZ19sZW4pOworCQkJY2hhciAqZW5kX29mX2FyZyA9IChjaGFyICopKGFyZyArIGl0ZW0tPmFyZ19sZW4pOwogCQkJaW50IHNhdmVkID0gKmVuZF9vZl9hcmc7Ci0JCQlzdHJ1Y3Qgc3RhdCBzdDsKIAorCQkJaWYgKCFvcHRzLT52ZXJib3NlKQorCQkJCXRlcm1fY2xlYXJfbGluZSgpOwogCQkJKmVuZF9vZl9hcmcgPSAnXDAnOwotCQkJcmVzID0gZG9fZXhlYyhpdGVtLT5hcmcpOworCQkJcmVzID0gZG9fZXhlYyhyLCBhcmcpOwogCQkJKmVuZF9vZl9hcmcgPSBzYXZlZDsKIAotCQkJLyogUmVyZWFkIHRoZSB0b2RvIGZpbGUgaWYgaXQgaGFzIGNoYW5nZWQuICovCi0JCQlpZiAocmVzKQotCQkJCTsgLyogZmFsbCB0aHJvdWdoICovCi0JCQllbHNlIGlmIChzdGF0KGdldF90b2RvX3BhdGgob3B0cyksICZzdCkpCi0JCQkJcmVzID0gZXJyb3JfZXJybm8oXygiY291bGQgbm90IHN0YXQgJyVzJyIpLAotCQkJCQkJICBnZXRfdG9kb19wYXRoKG9wdHMpKTsKLQkJCWVsc2UgaWYgKG1hdGNoX3N0YXRfZGF0YSgmdG9kb19saXN0LT5zdGF0LCAmc3QpKSB7Ci0JCQkJdG9kb19saXN0X3JlbGVhc2UodG9kb19saXN0KTsKLQkJCQlpZiAocmVhZF9wb3B1bGF0ZV90b2RvKHRvZG9fbGlzdCwgb3B0cykpCi0JCQkJCXJlcyA9IC0xOyAvKiBtZXNzYWdlIHdhcyBwcmludGVkICovCi0JCQkJLyogYGN1cnJlbnRgIHdpbGwgYmUgaW5jcmVtZW50ZWQgYmVsb3cgKi8KLQkJCQl0b2RvX2xpc3QtPmN1cnJlbnQgPSAtMTsKKwkJCWlmIChyZXMpIHsKKwkJCQlpZiAob3B0cy0+cmVzY2hlZHVsZV9mYWlsZWRfZXhlYykKKwkJCQkJcmVzY2hlZHVsZSA9IDE7CiAJCQl9CisJCQljaGVja190b2RvID0gMTsKIAkJfSBlbHNlIGlmIChpdGVtLT5jb21tYW5kID09IFRPRE9fTEFCRUwpIHsKLQkJCWlmICgocmVzID0gZG9fbGFiZWwoaXRlbS0+YXJnLCBpdGVtLT5hcmdfbGVuKSkpCisJCQlpZiAoKHJlcyA9IGRvX2xhYmVsKHIsIGFyZywgaXRlbS0+YXJnX2xlbikpKQogCQkJCXJlc2NoZWR1bGUgPSAxOwogCQl9IGVsc2UgaWYgKGl0ZW0tPmNvbW1hbmQgPT0gVE9ET19SRVNFVCkgewotCQkJaWYgKChyZXMgPSBkb19yZXNldChpdGVtLT5hcmcsIGl0ZW0tPmFyZ19sZW4sIG9wdHMpKSkKKwkJCWlmICgocmVzID0gZG9fcmVzZXQociwgYXJnLCBpdGVtLT5hcmdfbGVuLCBvcHRzKSkpCiAJCQkJcmVzY2hlZHVsZSA9IDE7CiAJCX0gZWxzZSBpZiAoaXRlbS0+Y29tbWFuZCA9PSBUT0RPX01FUkdFKSB7Ci0JCQlpZiAoKHJlcyA9IGRvX21lcmdlKGl0ZW0tPmNvbW1pdCwKLQkJCQkJICAgIGl0ZW0tPmFyZywgaXRlbS0+YXJnX2xlbiwKKwkJCWlmICgocmVzID0gZG9fbWVyZ2UociwgaXRlbS0+Y29tbWl0LAorCQkJCQkgICAgYXJnLCBpdGVtLT5hcmdfbGVuLAogCQkJCQkgICAgaXRlbS0+ZmxhZ3MsIG9wdHMpKSA8IDApCiAJCQkJcmVzY2hlZHVsZSA9IDE7CiAJCQllbHNlIGlmIChpdGVtLT5jb21taXQpCkBAIC0zNjE0LDEwICszOTMzLDkgQEAKIAkJCQkJCSAgICBwZWVrX2NvbW1hbmQodG9kb19saXN0LCAxKSk7CiAJCQlpZiAocmVzID4gMCkKIAkJCQkvKiBmYWlsZWQgd2l0aCBtZXJnZSBjb25mbGljdHMgKi8KLQkJCQlyZXR1cm4gZXJyb3Jfd2l0aF9wYXRjaChpdGVtLT5jb21taXQsCi0JCQkJCQkJaXRlbS0+YXJnLAotCQkJCQkJCWl0ZW0tPmFyZ19sZW4sIG9wdHMsCi0JCQkJCQkJcmVzLCAwKTsKKwkJCQlyZXR1cm4gZXJyb3Jfd2l0aF9wYXRjaChyLCBpdGVtLT5jb21taXQsCisJCQkJCQkJYXJnLCBpdGVtLT5hcmdfbGVuLAorCQkJCQkJCW9wdHMsIHJlcywgMCk7CiAJCX0gZWxzZSBpZiAoIWlzX25vb3AoaXRlbS0+Y29tbWFuZCkpCiAJCQlyZXR1cm4gZXJyb3IoXygidW5rbm93biBjb21tYW5kICVkIiksIGl0ZW0tPmNvbW1hbmQpOwogCkBAIC0zNjMwLDEwICszOTQ4LDI0IEBACiAJCQlpZiAoc2F2ZV90b2RvKHRvZG9fbGlzdCwgb3B0cykpCiAJCQkJcmV0dXJuIC0xOwogCQkJaWYgKGl0ZW0tPmNvbW1pdCkKLQkJCQlyZXR1cm4gZXJyb3Jfd2l0aF9wYXRjaChpdGVtLT5jb21taXQsCi0JCQkJCQkJaXRlbS0+YXJnLAotCQkJCQkJCWl0ZW0tPmFyZ19sZW4sIG9wdHMsCi0JCQkJCQkJcmVzLCAwKTsKKwkJCQlyZXR1cm4gZXJyb3Jfd2l0aF9wYXRjaChyLAorCQkJCQkJCWl0ZW0tPmNvbW1pdCwKKwkJCQkJCQlhcmcsIGl0ZW0tPmFyZ19sZW4sCisJCQkJCQkJb3B0cywgcmVzLCAwKTsKKwkJfSBlbHNlIGlmIChpc19yZWJhc2VfaShvcHRzKSAmJiBjaGVja190b2RvICYmICFyZXMpIHsKKwkJCXN0cnVjdCBzdGF0IHN0OworCisJCQlpZiAoc3RhdChnZXRfdG9kb19wYXRoKG9wdHMpLCAmc3QpKSB7CisJCQkJcmVzID0gZXJyb3JfZXJybm8oXygiY291bGQgbm90IHN0YXQgJyVzJyIpLAorCQkJCQkJICBnZXRfdG9kb19wYXRoKG9wdHMpKTsKKwkJCX0gZWxzZSBpZiAobWF0Y2hfc3RhdF9kYXRhKCZ0b2RvX2xpc3QtPnN0YXQsICZzdCkpIHsKKwkJCQkvKiBSZXJlYWQgdGhlIHRvZG8gZmlsZSBpZiBpdCBoYXMgY2hhbmdlZC4gKi8KKwkJCQl0b2RvX2xpc3RfcmVsZWFzZSh0b2RvX2xpc3QpOworCQkJCWlmIChyZWFkX3BvcHVsYXRlX3RvZG8ociwgdG9kb19saXN0LCBvcHRzKSkKKwkJCQkJcmVzID0gLTE7IC8qIG1lc3NhZ2Ugd2FzIHByaW50ZWQgKi8KKwkJCQkvKiBgY3VycmVudGAgd2lsbCBiZSBpbmNyZW1lbnRlZCBiZWxvdyAqLworCQkJCXRvZG9fbGlzdC0+Y3VycmVudCA9IC0xOworCQkJfQogCQl9CiAKIAkJdG9kb19saXN0LT5jdXJyZW50Kys7CkBAIC0zNjk1LDcgKzQwMjcsNyBAQAogCQkJc3RydWN0IG9iamVjdF9pZCBvcmlnLCBoZWFkOwogCiAJCQltZW1zZXQoJmxvZ190cmVlX29wdCwgMCwgc2l6ZW9mKGxvZ190cmVlX29wdCkpOwotCQkJcmVwb19pbml0X3JldmlzaW9ucyh0aGVfcmVwb3NpdG9yeSwgJmxvZ190cmVlX29wdCwgTlVMTCk7CisJCQlyZXBvX2luaXRfcmV2aXNpb25zKHIsICZsb2dfdHJlZV9vcHQsIE5VTEwpOwogCQkJbG9nX3RyZWVfb3B0LmRpZmYgPSAxOwogCQkJbG9nX3RyZWVfb3B0LmRpZmZvcHQub3V0cHV0X2Zvcm1hdCA9CiAJCQkJRElGRl9GT1JNQVRfRElGRlNUQVQ7CkBAIC0zNzMwLDYgKzQwNjIsNyBAQAogCQkJCWhvb2suaW4gPSBvcGVuKHJlYmFzZV9wYXRoX3Jld3JpdHRlbl9saXN0KCksCiAJCQkJCU9fUkRPTkxZKTsKIAkJCQlob29rLnN0ZG91dF90b19zdGRlcnIgPSAxOworCQkJCWhvb2sudHJhY2UyX2hvb2tfbmFtZSA9ICJwb3N0LXJld3JpdGUiOwogCQkJCWFyZ3ZfYXJyYXlfcHVzaCgmaG9vay5hcmdzLCBwb3N0X3Jld3JpdGVfaG9vayk7CiAJCQkJYXJndl9hcnJheV9wdXNoKCZob29rLmFyZ3MsICJyZWJhc2UiKTsKIAkJCQkvKiB3ZSBkb24ndCBjYXJlIGlmIHRoaXMgaG9vayBmYWlsZWQgKi8KQEAgLTM3MzgsOCArNDA3MSwxMyBAQAogCQl9CiAJCWFwcGx5X2F1dG9zdGFzaChvcHRzKTsKIAotCQlmcHJpbnRmKHN0ZGVyciwgIlN1Y2Nlc3NmdWxseSByZWJhc2VkIGFuZCB1cGRhdGVkICVzLlxuIiwKLQkJCWhlYWRfcmVmLmJ1Zik7CisJCWlmICghb3B0cy0+cXVpZXQpIHsKKwkJCWlmICghb3B0cy0+dmVyYm9zZSkKKwkJCQl0ZXJtX2NsZWFyX2xpbmUoKTsKKwkJCWZwcmludGYoc3RkZXJyLAorCQkJCSJTdWNjZXNzZnVsbHkgcmViYXNlZCBhbmQgdXBkYXRlZCAlcy5cbiIsCisJCQkJaGVhZF9yZWYuYnVmKTsKKwkJfQogCiAJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCQlzdHJidWZfcmVsZWFzZSgmaGVhZF9yZWYpOwpAQCAtMzc1MiwyNiArNDA5MCwyNyBAQAogCXJldHVybiBzZXF1ZW5jZXJfcmVtb3ZlX3N0YXRlKG9wdHMpOwogfQogCi1zdGF0aWMgaW50IGNvbnRpbnVlX3NpbmdsZV9waWNrKHZvaWQpCitzdGF0aWMgaW50IGNvbnRpbnVlX3NpbmdsZV9waWNrKHN0cnVjdCByZXBvc2l0b3J5ICpyKQogewogCWNvbnN0IGNoYXIgKmFyZ3ZbXSA9IHsgImNvbW1pdCIsIE5VTEwgfTsKIAotCWlmICghZmlsZV9leGlzdHMoZ2l0X3BhdGhfY2hlcnJ5X3BpY2tfaGVhZCh0aGVfcmVwb3NpdG9yeSkpICYmCi0JICAgICFmaWxlX2V4aXN0cyhnaXRfcGF0aF9yZXZlcnRfaGVhZCh0aGVfcmVwb3NpdG9yeSkpKQorCWlmICghZmlsZV9leGlzdHMoZ2l0X3BhdGhfY2hlcnJ5X3BpY2tfaGVhZChyKSkgJiYKKwkgICAgIWZpbGVfZXhpc3RzKGdpdF9wYXRoX3JldmVydF9oZWFkKHIpKSkKIAkJcmV0dXJuIGVycm9yKF8oIm5vIGNoZXJyeS1waWNrIG9yIHJldmVydCBpbiBwcm9ncmVzcyIpKTsKIAlyZXR1cm4gcnVuX2NvbW1hbmRfdl9vcHQoYXJndiwgUlVOX0dJVF9DTUQpOwogfQogCi1zdGF0aWMgaW50IGNvbW1pdF9zdGFnZWRfY2hhbmdlcyhzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMsCitzdGF0aWMgaW50IGNvbW1pdF9zdGFnZWRfY2hhbmdlcyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzLAogCQkJCSBzdHJ1Y3QgdG9kb19saXN0ICp0b2RvX2xpc3QpCiB7CiAJdW5zaWduZWQgaW50IGZsYWdzID0gQUxMT1dfRU1QVFkgfCBFRElUX01TRzsKIAl1bnNpZ25lZCBpbnQgZmluYWxfZml4dXAgPSAwLCBpc19jbGVhbjsKIAotCWlmIChoYXNfdW5zdGFnZWRfY2hhbmdlcygxKSkKKwlpZiAoaGFzX3Vuc3RhZ2VkX2NoYW5nZXMociwgMSkpCiAJCXJldHVybiBlcnJvcihfKCJjYW5ub3QgcmViYXNlOiBZb3UgaGF2ZSB1bnN0YWdlZCBjaGFuZ2VzLiIpKTsKIAotCWlzX2NsZWFuID0gIWhhc191bmNvbW1pdHRlZF9jaGFuZ2VzKDApOworCWlzX2NsZWFuID0gIWhhc191bmNvbW1pdHRlZF9jaGFuZ2VzKHIsIDApOwogCiAJaWYgKGZpbGVfZXhpc3RzKHJlYmFzZV9wYXRoX2FtZW5kKCkpKSB7CiAJCXN0cnVjdCBzdHJidWYgcmV2ID0gU1RSQlVGX0lOSVQ7CkBAIC0zODU0LDkgKzQxOTMsMTAgQEAKIAkJCQkgKi8KIAkJCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CiAJCQkJY29uc3QgY2hhciAqcGF0aCA9IHJlYmFzZV9wYXRoX3NxdWFzaF9tc2coKTsKKwkJCQljb25zdCBjaGFyICplbmNvZGluZyA9IGdldF9jb21taXRfb3V0cHV0X2VuY29kaW5nKCk7CiAKLQkJCQlpZiAocGFyc2VfaGVhZCgmY29tbWl0KSB8fAotCQkJCSAgICAhKHAgPSBnZXRfY29tbWl0X2J1ZmZlcihjb21taXQsIE5VTEwpKSB8fAorCQkJCWlmIChwYXJzZV9oZWFkKHIsICZjb21taXQpIHx8CisJCQkJICAgICEocCA9IGxvZ21zZ19yZWVuY29kZShjb21taXQsIE5VTEwsIGVuY29kaW5nKSkgfHwKIAkJCQkgICAgd3JpdGVfbWVzc2FnZShwLCBzdHJsZW4ocCksIHBhdGgsIDApKSB7CiAJCQkJCXVudXNlX2NvbW1pdF9idWZmZXIoY29tbWl0LCBwKTsKIAkJCQkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCB3cml0ZSBmaWxlOiAiCkBAIC0zODcxLDcgKzQyMTEsNyBAQAogCX0KIAogCWlmIChpc19jbGVhbikgewotCQljb25zdCBjaGFyICpjaGVycnlfcGlja19oZWFkID0gZ2l0X3BhdGhfY2hlcnJ5X3BpY2tfaGVhZCh0aGVfcmVwb3NpdG9yeSk7CisJCWNvbnN0IGNoYXIgKmNoZXJyeV9waWNrX2hlYWQgPSBnaXRfcGF0aF9jaGVycnlfcGlja19oZWFkKHIpOwogCiAJCWlmIChmaWxlX2V4aXN0cyhjaGVycnlfcGlja19oZWFkKSAmJiB1bmxpbmsoY2hlcnJ5X3BpY2tfaGVhZCkpCiAJCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHJlbW92ZSBDSEVSUllfUElDS19IRUFEIikpOwpAQCAtMzg3OSwxMSArNDIxOSwxMSBAQAogCQkJcmV0dXJuIDA7CiAJfQogCi0JaWYgKHJ1bl9naXRfY29tbWl0KGZpbmFsX2ZpeHVwID8gTlVMTCA6IHJlYmFzZV9wYXRoX21lc3NhZ2UoKSwKKwlpZiAocnVuX2dpdF9jb21taXQociwgZmluYWxfZml4dXAgPyBOVUxMIDogcmViYXNlX3BhdGhfbWVzc2FnZSgpLAogCQkJICAgb3B0cywgZmxhZ3MpKQogCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IGNvbW1pdCBzdGFnZWQgY2hhbmdlcy4iKSk7CiAJdW5saW5rKHJlYmFzZV9wYXRoX2FtZW5kKCkpOwotCXVubGluayhnaXRfcGF0aF9tZXJnZV9oZWFkKHRoZV9yZXBvc2l0b3J5KSk7CisJdW5saW5rKGdpdF9wYXRoX21lcmdlX2hlYWQocikpOwogCWlmIChmaW5hbF9maXh1cCkgewogCQl1bmxpbmsocmViYXNlX3BhdGhfZml4dXBfbXNnKCkpOwogCQl1bmxpbmsocmViYXNlX3BhdGhfc3F1YXNoX21zZygpKTsKQEAgLTM5MDAsMzYgKzQyNDAsNDYgQEAKIAlyZXR1cm4gMDsKIH0KIAotaW50IHNlcXVlbmNlcl9jb250aW51ZShzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCitpbnQgc2VxdWVuY2VyX2NvbnRpbnVlKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCiB7CiAJc3RydWN0IHRvZG9fbGlzdCB0b2RvX2xpc3QgPSBUT0RPX0xJU1RfSU5JVDsKIAlpbnQgcmVzOwogCi0JaWYgKHJlYWRfYW5kX3JlZnJlc2hfY2FjaGUob3B0cykpCisJaWYgKHJlYWRfYW5kX3JlZnJlc2hfY2FjaGUociwgb3B0cykpCiAJCXJldHVybiAtMTsKIAogCWlmIChyZWFkX3BvcHVsYXRlX29wdHMob3B0cykpCiAJCXJldHVybiAtMTsKIAlpZiAoaXNfcmViYXNlX2kob3B0cykpIHsKLQkJaWYgKChyZXMgPSByZWFkX3BvcHVsYXRlX3RvZG8oJnRvZG9fbGlzdCwgb3B0cykpKQorCQlpZiAoKHJlcyA9IHJlYWRfcG9wdWxhdGVfdG9kbyhyLCAmdG9kb19saXN0LCBvcHRzKSkpCiAJCQlnb3RvIHJlbGVhc2VfdG9kb19saXN0OwotCQlpZiAoY29tbWl0X3N0YWdlZF9jaGFuZ2VzKG9wdHMsICZ0b2RvX2xpc3QpKQotCQkJcmV0dXJuIC0xOworCisJCWlmIChmaWxlX2V4aXN0cyhyZWJhc2VfcGF0aF9kcm9wcGVkKCkpKSB7CisJCQlpZiAoKHJlcyA9IHRvZG9fbGlzdF9jaGVja19hZ2FpbnN0X2JhY2t1cChyLCAmdG9kb19saXN0KSkpCisJCQkJZ290byByZWxlYXNlX3RvZG9fbGlzdDsKKworCQkJdW5saW5rKHJlYmFzZV9wYXRoX2Ryb3BwZWQoKSk7CisJCX0KKworCQlpZiAoY29tbWl0X3N0YWdlZF9jaGFuZ2VzKHIsIG9wdHMsICZ0b2RvX2xpc3QpKSB7CisJCQlyZXMgPSAtMTsKKwkJCWdvdG8gcmVsZWFzZV90b2RvX2xpc3Q7CisJCX0KIAl9IGVsc2UgaWYgKCFmaWxlX2V4aXN0cyhnZXRfdG9kb19wYXRoKG9wdHMpKSkKLQkJcmV0dXJuIGNvbnRpbnVlX3NpbmdsZV9waWNrKCk7Ci0JZWxzZSBpZiAoKHJlcyA9IHJlYWRfcG9wdWxhdGVfdG9kbygmdG9kb19saXN0LCBvcHRzKSkpCisJCXJldHVybiBjb250aW51ZV9zaW5nbGVfcGljayhyKTsKKwllbHNlIGlmICgocmVzID0gcmVhZF9wb3B1bGF0ZV90b2RvKHIsICZ0b2RvX2xpc3QsIG9wdHMpKSkKIAkJZ290byByZWxlYXNlX3RvZG9fbGlzdDsKIAogCWlmICghaXNfcmViYXNlX2kob3B0cykpIHsKIAkJLyogVmVyaWZ5IHRoYXQgdGhlIGNvbmZsaWN0IGhhcyBiZWVuIHJlc29sdmVkICovCi0JCWlmIChmaWxlX2V4aXN0cyhnaXRfcGF0aF9jaGVycnlfcGlja19oZWFkKHRoZV9yZXBvc2l0b3J5KSkgfHwKLQkJICAgIGZpbGVfZXhpc3RzKGdpdF9wYXRoX3JldmVydF9oZWFkKHRoZV9yZXBvc2l0b3J5KSkpIHsKLQkJCXJlcyA9IGNvbnRpbnVlX3NpbmdsZV9waWNrKCk7CisJCWlmIChmaWxlX2V4aXN0cyhnaXRfcGF0aF9jaGVycnlfcGlja19oZWFkKHIpKSB8fAorCQkgICAgZmlsZV9leGlzdHMoZ2l0X3BhdGhfcmV2ZXJ0X2hlYWQocikpKSB7CisJCQlyZXMgPSBjb250aW51ZV9zaW5nbGVfcGljayhyKTsKIAkJCWlmIChyZXMpCiAJCQkJZ290byByZWxlYXNlX3RvZG9fbGlzdDsKIAkJfQotCQlpZiAoaW5kZXhfZGlmZmVyc19mcm9tKCJIRUFEIiwgTlVMTCwgMCkpIHsKLQkJCXJlcyA9IGVycm9yX2RpcnR5X2luZGV4KG9wdHMpOworCQlpZiAoaW5kZXhfZGlmZmVyc19mcm9tKHIsICJIRUFEIiwgTlVMTCwgMCkpIHsKKwkJCXJlcyA9IGVycm9yX2RpcnR5X2luZGV4KHIsIG9wdHMpOwogCQkJZ290byByZWxlYXNlX3RvZG9fbGlzdDsKIAkJfQogCQl0b2RvX2xpc3QuY3VycmVudCsrOwpAQCAtMzk0MywyNyArNDI5MywzMyBAQAogCQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAl9CiAKLQlyZXMgPSBwaWNrX2NvbW1pdHMoJnRvZG9fbGlzdCwgb3B0cyk7CisJcmVzID0gcGlja19jb21taXRzKHIsICZ0b2RvX2xpc3QsIG9wdHMpOwogcmVsZWFzZV90b2RvX2xpc3Q6CiAJdG9kb19saXN0X3JlbGVhc2UoJnRvZG9fbGlzdCk7CiAJcmV0dXJuIHJlczsKIH0KIAotc3RhdGljIGludCBzaW5nbGVfcGljayhzdHJ1Y3QgY29tbWl0ICpjbWl0LCBzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCitzdGF0aWMgaW50IHNpbmdsZV9waWNrKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkgICAgICAgc3RydWN0IGNvbW1pdCAqY21pdCwKKwkJICAgICAgIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cykKIHsKKwlpbnQgY2hlY2tfdG9kbzsKKwogCXNldGVudihHSVRfUkVGTE9HX0FDVElPTiwgYWN0aW9uX25hbWUob3B0cyksIDApOwotCXJldHVybiBkb19waWNrX2NvbW1pdChvcHRzLT5hY3Rpb24gPT0gUkVQTEFZX1BJQ0sgPwotCQlUT0RPX1BJQ0sgOiBUT0RPX1JFVkVSVCwgY21pdCwgb3B0cywgMCk7CisJcmV0dXJuIGRvX3BpY2tfY29tbWl0KHIsIG9wdHMtPmFjdGlvbiA9PSBSRVBMQVlfUElDSyA/CisJCQkgICAgICBUT0RPX1BJQ0sgOiBUT0RPX1JFVkVSVCwgY21pdCwgb3B0cywgMCwKKwkJCSAgICAgICZjaGVja190b2RvKTsKIH0KIAotaW50IHNlcXVlbmNlcl9waWNrX3JldmlzaW9ucyhzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCitpbnQgc2VxdWVuY2VyX3BpY2tfcmV2aXNpb25zKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJICAgICBzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpCiB7CiAJc3RydWN0IHRvZG9fbGlzdCB0b2RvX2xpc3QgPSBUT0RPX0xJU1RfSU5JVDsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlpbnQgaSwgcmVzOwogCiAJYXNzZXJ0KG9wdHMtPnJldnMpOwotCWlmIChyZWFkX2FuZF9yZWZyZXNoX2NhY2hlKG9wdHMpKQorCWlmIChyZWFkX2FuZF9yZWZyZXNoX2NhY2hlKHIsIG9wdHMpKQogCQlyZXR1cm4gLTE7CiAKIAlmb3IgKGkgPSAwOyBpIDwgb3B0cy0+cmV2cy0+cGVuZGluZy5ucjsgaSsrKSB7CkBAIC0zOTc1LDggKzQzMzEsOCBAQAogCQkJY29udGludWU7CiAKIAkJaWYgKCFnZXRfb2lkKG5hbWUsICZvaWQpKSB7Ci0JCQlpZiAoIWxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseSh0aGVfcmVwb3NpdG9yeSwgJm9pZCwgMSkpIHsKLQkJCQllbnVtIG9iamVjdF90eXBlIHR5cGUgPSBvaWRfb2JqZWN0X2luZm8odGhlX3JlcG9zaXRvcnksCisJCQlpZiAoIWxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseShyLCAmb2lkLCAxKSkgeworCQkJCWVudW0gb2JqZWN0X3R5cGUgdHlwZSA9IG9pZF9vYmplY3RfaW5mbyhyLAogCQkJCQkJCQkJJm9pZCwKIAkJCQkJCQkJCU5VTEwpOwogCQkJCXJldHVybiBlcnJvcihfKCIlczogY2FuJ3QgY2hlcnJ5LXBpY2sgYSAlcyIpLApAQCAtNDAwNSw3ICs0MzYxLDcgQEAKIAkJCXJldHVybiBlcnJvcihfKCJlbXB0eSBjb21taXQgc2V0IHBhc3NlZCIpKTsKIAkJaWYgKGdldF9yZXZpc2lvbihvcHRzLT5yZXZzKSkKIAkJCUJVRygidW5leHBlY3RlZCBleHRyYSBjb21taXQgZnJvbSB3YWxrIik7Ci0JCXJldHVybiBzaW5nbGVfcGljayhjbWl0LCBvcHRzKTsKKwkJcmV0dXJuIHNpbmdsZV9waWNrKHIsIGNtaXQsIG9wdHMpOwogCX0KIAogCS8qCkBAIC00MDE1LDcgKzQzNzEsNyBAQAogCSAqLwogCiAJaWYgKHdhbGtfcmV2c19wb3B1bGF0ZV90b2RvKCZ0b2RvX2xpc3QsIG9wdHMpIHx8Ci0JCQljcmVhdGVfc2VxX2RpcigpIDwgMCkKKwkJCWNyZWF0ZV9zZXFfZGlyKHIpIDwgMCkKIAkJcmV0dXJuIC0xOwogCWlmIChnZXRfb2lkKCJIRUFEIiwgJm9pZCkgJiYgKG9wdHMtPmFjdGlvbiA9PSBSRVBMQVlfUkVWRVJUKSkKIAkJcmV0dXJuIGVycm9yKF8oImNhbid0IHJldmVydCBhcyBpbml0aWFsIGNvbW1pdCIpKTsKQEAgLTQwMjQsNyArNDM4MCw3IEBACiAJaWYgKHNhdmVfb3B0cyhvcHRzKSkKIAkJcmV0dXJuIC0xOwogCXVwZGF0ZV9hYm9ydF9zYWZldHlfZmlsZSgpOwotCXJlcyA9IHBpY2tfY29tbWl0cygmdG9kb19saXN0LCBvcHRzKTsKKwlyZXMgPSBwaWNrX2NvbW1pdHMociwgJnRvZG9fbGlzdCwgb3B0cyk7CiAJdG9kb19saXN0X3JlbGVhc2UoJnRvZG9fbGlzdCk7CiAJcmV0dXJuIHJlczsKIH0KQEAgLTQwMzYsOCArNDM5Miw3IEBACiAJaW50IGhhc19mb290ZXI7CiAKIAlzdHJidWZfYWRkc3RyKCZzb2IsIHNpZ25fb2ZmX2hlYWRlcik7Ci0Jc3RyYnVmX2FkZHN0cigmc29iLCBmbXRfbmFtZShnZXRlbnYoIkdJVF9DT01NSVRURVJfTkFNRSIpLAotCQkJCWdldGVudigiR0lUX0NPTU1JVFRFUl9FTUFJTCIpKSk7CisJc3RyYnVmX2FkZHN0cigmc29iLCBmbXRfbmFtZShXQU5UX0NPTU1JVFRFUl9JREVOVCkpOwogCXN0cmJ1Zl9hZGRjaCgmc29iLCAnXG4nKTsKIAogCWlmICghaWdub3JlX2Zvb3RlcikKQEAgLTQwOTUsOSArNDQ1MCwxNCBAQAogCWNoYXIgbGFiZWxbRkxFWF9BUlJBWV07CiB9OwogCi1zdGF0aWMgaW50IGxhYmVsc19jbXAoY29uc3Qgdm9pZCAqZm5kYXRhLCBjb25zdCBzdHJ1Y3QgbGFiZWxzX2VudHJ5ICphLAotCQkgICAgICBjb25zdCBzdHJ1Y3QgbGFiZWxzX2VudHJ5ICpiLCBjb25zdCB2b2lkICprZXkpCitzdGF0aWMgaW50IGxhYmVsc19jbXAoY29uc3Qgdm9pZCAqZm5kYXRhLCBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZXB0ciwKKwkJICAgICAgY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmVudHJ5X29yX2tleSwgY29uc3Qgdm9pZCAqa2V5KQogeworCWNvbnN0IHN0cnVjdCBsYWJlbHNfZW50cnkgKmEsICpiOworCisJYSA9IGNvbnRhaW5lcl9vZihlcHRyLCBjb25zdCBzdHJ1Y3QgbGFiZWxzX2VudHJ5LCBlbnRyeSk7CisJYiA9IGNvbnRhaW5lcl9vZihlbnRyeV9vcl9rZXksIGNvbnN0IHN0cnVjdCBsYWJlbHNfZW50cnksIGVudHJ5KTsKKwogCXJldHVybiBrZXkgPyBzdHJjbXAoYS0+bGFiZWwsIGtleSkgOiBzdHJjbXAoYS0+bGFiZWwsIGItPmxhYmVsKTsKIH0KIApAQCAtNDExOCw3ICs0NDc4LDYgQEAKIAlzdHJ1Y3QgbGFiZWxzX2VudHJ5ICpsYWJlbHNfZW50cnk7CiAJc3RydWN0IHN0cmluZ19lbnRyeSAqc3RyaW5nX2VudHJ5OwogCXN0cnVjdCBvYmplY3RfaWQgZHVtbXk7Ci0Jc2l6ZV90IGxlbjsKIAlpbnQgaTsKIAogCXN0cmluZ19lbnRyeSA9IG9pZG1hcF9nZXQoJnN0YXRlLT5jb21taXQybGFiZWwsIG9pZCk7CkBAIC00MTM4LDExICs0NDk3LDExIEBACiAJICogYWJicmV2aWF0aW9uIGZvciBhbnkgdW5pbnRlcmVzdGluZyBjb21taXQncyBuYW1lcyB0aGF0IGRvZXMgbm90CiAJICogY2xhc2ggd2l0aCBhbnkgb3RoZXIgbGFiZWwuCiAJICovCisJc3RyYnVmX3Jlc2V0KCZzdGF0ZS0+YnVmKTsKIAlpZiAoIWxhYmVsKSB7CiAJCWNoYXIgKnA7CiAKLQkJc3RyYnVmX3Jlc2V0KCZzdGF0ZS0+YnVmKTsKLQkJc3RyYnVmX2dyb3coJnN0YXRlLT5idWYsIEdJVF9TSEExX0hFWFNaKTsKKwkJc3RyYnVmX2dyb3coJnN0YXRlLT5idWYsIEdJVF9NQVhfSEVYU1opOwogCQlsYWJlbCA9IHAgPSBzdGF0ZS0+YnVmLmJ1ZjsKIAogCQlmaW5kX3VuaXF1ZV9hYmJyZXZfcihwLCBvaWQsIGRlZmF1bHRfYWJicmV2KTsKQEAgLTQxNTUsNyArNDUxNCw3IEBACiAJCQlzaXplX3QgaSA9IHN0cmxlbihwKSArIDE7CiAKIAkJCW9pZF90b19oZXhfcihwLCBvaWQpOwotCQkJZm9yICg7IGkgPCBHSVRfU0hBMV9IRVhTWjsgaSsrKSB7CisJCQlmb3IgKDsgaSA8IHRoZV9oYXNoX2FsZ28tPmhleHN6OyBpKyspIHsKIAkJCQljaGFyIHNhdmUgPSBwW2ldOwogCQkJCXBbaV0gPSAnXDAnOwogCQkJCWlmICghaGFzaG1hcF9nZXRfZnJvbV9oYXNoKCZzdGF0ZS0+bGFiZWxzLApAQCAtNDE2NCwzNyArNDUyMyw2MCBAQAogCQkJCXBbaV0gPSBzYXZlOwogCQkJfQogCQl9Ci0JfSBlbHNlIGlmICgoKGxlbiA9IHN0cmxlbihsYWJlbCkpID09IHRoZV9oYXNoX2FsZ28tPmhleHN6ICYmCi0JCSAgICAhZ2V0X29pZF9oZXgobGFiZWwsICZkdW1teSkpIHx8Ci0JCSAgIChsZW4gPT0gMSAmJiAqbGFiZWwgPT0gJyMnKSB8fAotCQkgICBoYXNobWFwX2dldF9mcm9tX2hhc2goJnN0YXRlLT5sYWJlbHMsCi0JCQkJCSBzdHJpaGFzaChsYWJlbCksIGxhYmVsKSkgewotCQkvKgotCQkgKiBJZiB0aGUgbGFiZWwgYWxyZWFkeSBleGlzdHMsIG9yIGlmIHRoZSBsYWJlbCBpcyBhIHZhbGlkIGZ1bGwKLQkJICogT0lELCBvciB0aGUgbGFiZWwgaXMgYSAnIycgKHdoaWNoIHdlIHVzZSBhcyBhIHNlcGFyYXRvcgotCQkgKiBiZXR3ZWVuIG1lcmdlIGhlYWRzIGFuZCBvbmVsaW5lKSwgd2UgYXBwZW5kIGEgZGFzaCBhbmQgYQotCQkgKiBudW1iZXIgdG8gbWFrZSBpdCB1bmlxdWUuCi0JCSAqLworCX0gZWxzZSB7CiAJCXN0cnVjdCBzdHJidWYgKmJ1ZiA9ICZzdGF0ZS0+YnVmOwogCi0JCXN0cmJ1Zl9yZXNldChidWYpOwotCQlzdHJidWZfYWRkKGJ1ZiwgbGFiZWwsIGxlbik7Ci0KLQkJZm9yIChpID0gMjsgOyBpKyspIHsKLQkJCXN0cmJ1Zl9zZXRsZW4oYnVmLCBsZW4pOwotCQkJc3RyYnVmX2FkZGYoYnVmLCAiLSVkIiwgaSk7Ci0JCQlpZiAoIWhhc2htYXBfZ2V0X2Zyb21faGFzaCgmc3RhdGUtPmxhYmVscywKLQkJCQkJCSAgIHN0cmloYXNoKGJ1Zi0+YnVmKSwKLQkJCQkJCSAgIGJ1Zi0+YnVmKSkKLQkJCQlicmVhazsKKwkJLyoKKwkJICogU2FuaXRpemUgbGFiZWxzIGJ5IHJlcGxhY2luZyBub24tYWxwaGEtbnVtZXJpYyBjaGFyYWN0ZXJzCisJCSAqIChpbmNsdWRpbmcgd2hpdGUtc3BhY2Ugb25lcykgYnkgZGFzaGVzLCBhcyB0aGV5IG1pZ2h0IGJlCisJCSAqIGlsbGVnYWwgaW4gZmlsZSBuYW1lcyAoYW5kIGhlbmNlIGluIHJlZiBuYW1lcykuCisJCSAqCisJCSAqIE5vdGUgdGhhdCB3ZSByZXRhaW4gbm9uLUFTQ0lJIFVURi04IGNoYXJhY3RlcnMgKGlkZW50aWZpZWQKKwkJICogdmlhIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCkuIFRoZXkgc2hvdWxkIGJlIGFsbCBhY2NlcHRhYmxlCisJCSAqIGluIGZpbGUgbmFtZXMuIFdlIGRvIG5vdCB2YWxpZGF0ZSB0aGUgVVRGLTggaGVyZSwgdGhhdCdzIG5vdAorCQkgKiB0aGUgam9iIG9mIHRoaXMgZnVuY3Rpb24uCisJCSAqLworCQlmb3IgKDsgKmxhYmVsOyBsYWJlbCsrKQorCQkJaWYgKCgqbGFiZWwgJiAweDgwKSB8fCBpc2FsbnVtKCpsYWJlbCkpCisJCQkJc3RyYnVmX2FkZGNoKGJ1ZiwgKmxhYmVsKTsKKwkJCS8qIGF2b2lkIGxlYWRpbmcgZGFzaCBhbmQgZG91YmxlLWRhc2hlcyAqLworCQkJZWxzZSBpZiAoYnVmLT5sZW4gJiYgYnVmLT5idWZbYnVmLT5sZW4gLSAxXSAhPSAnLScpCisJCQkJc3RyYnVmX2FkZGNoKGJ1ZiwgJy0nKTsKKwkJaWYgKCFidWYtPmxlbikgeworCQkJc3RyYnVmX2FkZHN0cihidWYsICJyZXYtIik7CisJCQlzdHJidWZfYWRkX3VuaXF1ZV9hYmJyZXYoYnVmLCBvaWQsIGRlZmF1bHRfYWJicmV2KTsKIAkJfQotCiAJCWxhYmVsID0gYnVmLT5idWY7CisKKwkJaWYgKChidWYtPmxlbiA9PSB0aGVfaGFzaF9hbGdvLT5oZXhzeiAmJgorCQkgICAgICFnZXRfb2lkX2hleChsYWJlbCwgJmR1bW15KSkgfHwKKwkJICAgIChidWYtPmxlbiA9PSAxICYmICpsYWJlbCA9PSAnIycpIHx8CisJCSAgICBoYXNobWFwX2dldF9mcm9tX2hhc2goJnN0YXRlLT5sYWJlbHMsCisJCQkJCSAgc3RyaWhhc2gobGFiZWwpLCBsYWJlbCkpIHsKKwkJCS8qCisJCQkgKiBJZiB0aGUgbGFiZWwgYWxyZWFkeSBleGlzdHMsIG9yIGlmIHRoZSBsYWJlbCBpcyBhCisJCQkgKiB2YWxpZCBmdWxsIE9JRCwgb3IgdGhlIGxhYmVsIGlzIGEgJyMnICh3aGljaCB3ZSB1c2UKKwkJCSAqIGFzIGEgc2VwYXJhdG9yIGJldHdlZW4gbWVyZ2UgaGVhZHMgYW5kIG9uZWxpbmUpLCB3ZQorCQkJICogYXBwZW5kIGEgZGFzaCBhbmQgYSBudW1iZXIgdG8gbWFrZSBpdCB1bmlxdWUuCisJCQkgKi8KKwkJCXNpemVfdCBsZW4gPSBidWYtPmxlbjsKKworCQkJZm9yIChpID0gMjsgOyBpKyspIHsKKwkJCQlzdHJidWZfc2V0bGVuKGJ1ZiwgbGVuKTsKKwkJCQlzdHJidWZfYWRkZihidWYsICItJWQiLCBpKTsKKwkJCQlpZiAoIWhhc2htYXBfZ2V0X2Zyb21faGFzaCgmc3RhdGUtPmxhYmVscywKKwkJCQkJCQkgICBzdHJpaGFzaChidWYtPmJ1ZiksCisJCQkJCQkJICAgYnVmLT5idWYpKQorCQkJCQlicmVhazsKKwkJCX0KKworCQkJbGFiZWwgPSBidWYtPmJ1ZjsKKwkJfQogCX0KIAogCUZMRVhfQUxMT0NfU1RSKGxhYmVsc19lbnRyeSwgbGFiZWwsIGxhYmVsKTsKLQloYXNobWFwX2VudHJ5X2luaXQobGFiZWxzX2VudHJ5LCBzdHJpaGFzaChsYWJlbCkpOwotCWhhc2htYXBfYWRkKCZzdGF0ZS0+bGFiZWxzLCBsYWJlbHNfZW50cnkpOworCWhhc2htYXBfZW50cnlfaW5pdCgmbGFiZWxzX2VudHJ5LT5lbnRyeSwgc3RyaWhhc2gobGFiZWwpKTsKKwloYXNobWFwX2FkZCgmc3RhdGUtPmxhYmVscywgJmxhYmVsc19lbnRyeS0+ZW50cnkpOwogCiAJRkxFWF9BTExPQ19TVFIoc3RyaW5nX2VudHJ5LCBzdHJpbmcsIGxhYmVsKTsKIAlvaWRjcHkoJnN0cmluZ19lbnRyeS0+ZW50cnkub2lkLCBvaWQpOwpAQCAtNDIwNCwxMSArNDU4NiwxMSBAQAogfQogCiBzdGF0aWMgaW50IG1ha2Vfc2NyaXB0X3dpdGhfbWVyZ2VzKHN0cnVjdCBwcmV0dHlfcHJpbnRfY29udGV4dCAqcHAsCi0JCQkJICAgc3RydWN0IHJldl9pbmZvICpyZXZzLCBGSUxFICpvdXQsCisJCQkJICAgc3RydWN0IHJldl9pbmZvICpyZXZzLCBzdHJ1Y3Qgc3RyYnVmICpvdXQsCiAJCQkJICAgdW5zaWduZWQgZmxhZ3MpCiB7Ci0JaW50IGtlZXBfZW1wdHkgPSBmbGFncyAmIFRPRE9fTElTVF9LRUVQX0VNUFRZOwogCWludCByZWJhc2VfY291c2lucyA9IGZsYWdzICYgVE9ET19MSVNUX1JFQkFTRV9DT1VTSU5TOworCWludCByb290X3dpdGhfb250byA9IGZsYWdzICYgVE9ET19MSVNUX1JPT1RfV0lUSF9PTlRPOwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQsIG9uZWxpbmUgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIGxhYmVsID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpjb21taXRzID0gTlVMTCwgKip0YWlsID0gJmNvbW1pdHMsICppdGVyOwpAQCAtNDIyOCwxNCArNDYxMCwxOSBAQAogCiAJb2lkbWFwX2luaXQoJmNvbW1pdDJ0b2RvLCAwKTsKIAlvaWRtYXBfaW5pdCgmc3RhdGUuY29tbWl0MmxhYmVsLCAwKTsKLQloYXNobWFwX2luaXQoJnN0YXRlLmxhYmVscywgKGhhc2htYXBfY21wX2ZuKSBsYWJlbHNfY21wLCBOVUxMLCAwKTsKKwloYXNobWFwX2luaXQoJnN0YXRlLmxhYmVscywgbGFiZWxzX2NtcCwgTlVMTCwgMCk7CiAJc3RyYnVmX2luaXQoJnN0YXRlLmJ1ZiwgMzIpOwogCiAJaWYgKHJldnMtPmNtZGxpbmUubnIgJiYgKHJldnMtPmNtZGxpbmUucmV2WzBdLmZsYWdzICYgQk9UVE9NKSkgeworCQlzdHJ1Y3QgbGFiZWxzX2VudHJ5ICpvbnRvX2xhYmVsX2VudHJ5OwogCQlzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQgPSAmcmV2cy0+Y21kbGluZS5yZXZbMF0uaXRlbS0+b2lkOwogCQlGTEVYX0FMTE9DX1NUUihlbnRyeSwgc3RyaW5nLCAib250byIpOwogCQlvaWRjcHkoJmVudHJ5LT5lbnRyeS5vaWQsIG9pZCk7CiAJCW9pZG1hcF9wdXQoJnN0YXRlLmNvbW1pdDJsYWJlbCwgZW50cnkpOworCisJCUZMRVhfQUxMT0NfU1RSKG9udG9fbGFiZWxfZW50cnksIGxhYmVsLCAib250byIpOworCQloYXNobWFwX2VudHJ5X2luaXQoJm9udG9fbGFiZWxfZW50cnktPmVudHJ5LCBzdHJpaGFzaCgib250byIpKTsKKwkJaGFzaG1hcF9hZGQoJnN0YXRlLmxhYmVscywgJm9udG9fbGFiZWxfZW50cnktPmVudHJ5KTsKIAl9CiAKIAkvKgpAQCAtNDI2NCw4ICs0NjUxLDYgQEAKIAkJaWYgKCF0b19tZXJnZSkgewogCQkJLyogbm9uLW1lcmdlIGNvbW1pdDogZWFzeSBjYXNlICovCiAJCQlzdHJidWZfcmVzZXQoJmJ1Zik7Ci0JCQlpZiAoIWtlZXBfZW1wdHkgJiYgaXNfZW1wdHkpCi0JCQkJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVjICIsIGNvbW1lbnRfbGluZV9jaGFyKTsKIAkJCXN0cmJ1Zl9hZGRmKCZidWYsICIlcyAlcyAlcyIsIGNtZF9waWNrLAogCQkJCSAgICBvaWRfdG9faGV4KCZjb21taXQtPm9iamVjdC5vaWQpLAogCQkJCSAgICBvbmVsaW5lLmJ1Zik7CkBAIC00MjkwLDEwICs0Njc1LDYgQEAKIAkJZWxzZQogCQkJc3RyYnVmX2FkZGJ1ZigmbGFiZWwsICZvbmVsaW5lKTsKIAotCQlmb3IgKHAxID0gbGFiZWwuYnVmOyAqcDE7IHAxKyspCi0JCQlpZiAoaXNzcGFjZSgqcDEpKQotCQkJCSooY2hhciAqKXAxID0gJy0nOwotCiAJCXN0cmJ1Zl9yZXNldCgmYnVmKTsKIAkJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzIC1DICVzIiwKIAkJCSAgICBjbWRfbWVyZ2UsIG9pZF90b19oZXgoJmNvbW1pdC0+b2JqZWN0Lm9pZCkpOwpAQCAtNDMzNiw3ICs0NzE3LDcgQEAKIAkJCQlsYWJlbF9vaWQob2lkLCAiYnJhbmNoLXBvaW50IiwgJnN0YXRlKTsKIAkJfQogCi0JCS8qIEFkZCBIRUFEIGFzIGltcGxpY3QgInRpcCBvZiBicmFuY2giICovCisJCS8qIEFkZCBIRUFEIGFzIGltcGxpY2l0ICJ0aXAgb2YgYnJhbmNoIiAqLwogCQlpZiAoIWl0ZXItPm5leHQpCiAJCQl0aXBzX3RhaWwgPSAmY29tbWl0X2xpc3RfaW5zZXJ0KGl0ZXItPml0ZW0sCiAJCQkJCQkJdGlwc190YWlsKS0+bmV4dDsKQEAgLTQzNDksNyArNDczMCw3IEBACiAJICogZ2F0aGVyaW5nIGNvbW1pdHMgbm90IHlldCBzaG93biwgcmV2ZXJzaW5nIHRoZSBsaXN0IG9uIHRoZSBmbHksCiAJICogdGhlbiBvdXRwdXR0aW5nIHRoYXQgbGlzdCAobGFiZWxpbmcgcmV2aXNpb25zIGFzIG5lZWRlZCkuCiAJICovCi0JZnByaW50ZihvdXQsICIlcyBvbnRvXG4iLCBjbWRfbGFiZWwpOworCXN0cmJ1Zl9hZGRmKG91dCwgIiVzIG9udG9cbiIsIGNtZF9sYWJlbCk7CiAJZm9yIChpdGVyID0gdGlwczsgaXRlcjsgaXRlciA9IGl0ZXItPm5leHQpIHsKIAkJc3RydWN0IGNvbW1pdF9saXN0ICpsaXN0ID0gTlVMTCwgKml0ZXIyOwogCkBAIC00MzU5LDkgKzQ3NDAsOSBAQAogCQllbnRyeSA9IG9pZG1hcF9nZXQoJnN0YXRlLmNvbW1pdDJsYWJlbCwgJmNvbW1pdC0+b2JqZWN0Lm9pZCk7CiAKIAkJaWYgKGVudHJ5KQotCQkJZnByaW50ZihvdXQsICJcbiVjIEJyYW5jaCAlc1xuIiwgY29tbWVudF9saW5lX2NoYXIsIGVudHJ5LT5zdHJpbmcpOworCQkJc3RyYnVmX2FkZGYob3V0LCAiXG4lYyBCcmFuY2ggJXNcbiIsIGNvbW1lbnRfbGluZV9jaGFyLCBlbnRyeS0+c3RyaW5nKTsKIAkJZWxzZQotCQkJZnByaW50ZihvdXQsICJcbiIpOworCQkJc3RyYnVmX2FkZGNoKG91dCwgJ1xuJyk7CiAKIAkJd2hpbGUgKG9pZHNldF9jb250YWlucygmaW50ZXJlc3RpbmcsICZjb21taXQtPm9iamVjdC5vaWQpICYmCiAJCSAgICAgICAhb2lkc2V0X2NvbnRhaW5zKCZzaG93biwgJmNvbW1pdC0+b2JqZWN0Lm9pZCkpIHsKQEAgLTQzNzQsOCArNDc1NSw5IEBACiAJCX0KIAogCQlpZiAoIWNvbW1pdCkKLQkJCWZwcmludGYob3V0LCAiJXMgJXNcbiIsIGNtZF9yZXNldCwKLQkJCQlyZWJhc2VfY291c2lucyA/ICJvbnRvIiA6ICJbbmV3IHJvb3RdIik7CisJCQlzdHJidWZfYWRkZihvdXQsICIlcyAlc1xuIiwgY21kX3Jlc2V0LAorCQkJCSAgICByZWJhc2VfY291c2lucyB8fCByb290X3dpdGhfb250byA/CisJCQkJICAgICJvbnRvIiA6ICJbbmV3IHJvb3RdIik7CiAJCWVsc2UgewogCQkJY29uc3QgY2hhciAqdG8gPSBOVUxMOwogCkBAIC00Mzg4LDEyICs0NzcwLDEyIEBACiAJCQkJCSAgICAgICAmc3RhdGUpOwogCiAJCQlpZiAoIXRvIHx8ICFzdHJjbXAodG8sICJvbnRvIikpCi0JCQkJZnByaW50ZihvdXQsICIlcyBvbnRvXG4iLCBjbWRfcmVzZXQpOworCQkJCXN0cmJ1Zl9hZGRmKG91dCwgIiVzIG9udG9cbiIsIGNtZF9yZXNldCk7CiAJCQllbHNlIHsKIAkJCQlzdHJidWZfcmVzZXQoJm9uZWxpbmUpOwogCQkJCXByZXR0eV9wcmludF9jb21taXQocHAsIGNvbW1pdCwgJm9uZWxpbmUpOwotCQkJCWZwcmludGYob3V0LCAiJXMgJXMgIyAlc1xuIiwKLQkJCQkJY21kX3Jlc2V0LCB0bywgb25lbGluZS5idWYpOworCQkJCXN0cmJ1Zl9hZGRmKG91dCwgIiVzICVzICMgJXNcbiIsCisJCQkJCSAgICBjbWRfcmVzZXQsIHRvLCBvbmVsaW5lLmJ1Zik7CiAJCQl9CiAJCX0KIApAQCAtNDQwMiwxMSArNDc4NCwxMSBAQAogCQkJZW50cnkgPSBvaWRtYXBfZ2V0KCZjb21taXQydG9kbywgb2lkKTsKIAkJCS8qIG9ubHkgc2hvdyBpZiBub3QgYWxyZWFkeSB1cHN0cmVhbSAqLwogCQkJaWYgKGVudHJ5KQotCQkJCWZwcmludGYob3V0LCAiJXNcbiIsIGVudHJ5LT5zdHJpbmcpOworCQkJCXN0cmJ1Zl9hZGRmKG91dCwgIiVzXG4iLCBlbnRyeS0+c3RyaW5nKTsKIAkJCWVudHJ5ID0gb2lkbWFwX2dldCgmc3RhdGUuY29tbWl0MmxhYmVsLCBvaWQpOwogCQkJaWYgKGVudHJ5KQotCQkJCWZwcmludGYob3V0LCAiJXMgJXNcbiIsCi0JCQkJCWNtZF9sYWJlbCwgZW50cnktPnN0cmluZyk7CisJCQkJc3RyYnVmX2FkZGYob3V0LCAiJXMgJXNcbiIsCisJCQkJCSAgICBjbWRfbGFiZWwsIGVudHJ5LT5zdHJpbmcpOwogCQkJb2lkc2V0X2luc2VydCgmc2hvd24sIG9pZCk7CiAJCX0KIApAQCAtNDQyMiwyNSArNDgwNCwyMyBAQAogCiAJb2lkbWFwX2ZyZWUoJmNvbW1pdDJ0b2RvLCAxKTsKIAlvaWRtYXBfZnJlZSgmc3RhdGUuY29tbWl0MmxhYmVsLCAxKTsKLQloYXNobWFwX2ZyZWUoJnN0YXRlLmxhYmVscywgMSk7CisJaGFzaG1hcF9mcmVlX2VudHJpZXMoJnN0YXRlLmxhYmVscywgc3RydWN0IGxhYmVsc19lbnRyeSwgZW50cnkpOwogCXN0cmJ1Zl9yZWxlYXNlKCZzdGF0ZS5idWYpOwogCiAJcmV0dXJuIDA7CiB9CiAKLWludCBzZXF1ZW5jZXJfbWFrZV9zY3JpcHQoRklMRSAqb3V0LCBpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YsCi0JCQkgIHVuc2lnbmVkIGZsYWdzKQoraW50IHNlcXVlbmNlcl9tYWtlX3NjcmlwdChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHN0cmJ1ZiAqb3V0LCBpbnQgYXJnYywKKwkJCSAgY29uc3QgY2hhciAqKmFyZ3YsIHVuc2lnbmVkIGZsYWdzKQogewogCWNoYXIgKmZvcm1hdCA9IE5VTEw7CiAJc3RydWN0IHByZXR0eV9wcmludF9jb250ZXh0IHBwID0gezB9OwotCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHJldl9pbmZvIHJldnM7CiAJc3RydWN0IGNvbW1pdCAqY29tbWl0OwotCWludCBrZWVwX2VtcHR5ID0gZmxhZ3MgJiBUT0RPX0xJU1RfS0VFUF9FTVBUWTsKIAljb25zdCBjaGFyICppbnNuID0gZmxhZ3MgJiBUT0RPX0xJU1RfQUJCUkVWSUFURV9DTURTID8gInAiIDogInBpY2siOwogCWludCByZWJhc2VfbWVyZ2VzID0gZmxhZ3MgJiBUT0RPX0xJU1RfUkVCQVNFX01FUkdFUzsKIAotCXJlcG9faW5pdF9yZXZpc2lvbnModGhlX3JlcG9zaXRvcnksICZyZXZzLCBOVUxMKTsKKwlyZXBvX2luaXRfcmV2aXNpb25zKHIsICZyZXZzLCBOVUxMKTsKIAlyZXZzLnZlcmJvc2VfaGVhZGVyID0gMTsKIAlpZiAoIXJlYmFzZV9tZXJnZXMpCiAJCXJldnMubWF4X3BhcmVudHMgPSAxOwpAQCAtNDQ3MiwyMCArNDg1MiwxNSBAQAogCQlyZXR1cm4gbWFrZV9zY3JpcHRfd2l0aF9tZXJnZXMoJnBwLCAmcmV2cywgb3V0LCBmbGFncyk7CiAKIAl3aGlsZSAoKGNvbW1pdCA9IGdldF9yZXZpc2lvbigmcmV2cykpKSB7Ci0JCWludCBpc19lbXB0eSAgPSBpc19vcmlnaW5hbF9jb21taXRfZW1wdHkoY29tbWl0KTsKKwkJaW50IGlzX2VtcHR5ID0gaXNfb3JpZ2luYWxfY29tbWl0X2VtcHR5KGNvbW1pdCk7CiAKIAkJaWYgKCFpc19lbXB0eSAmJiAoY29tbWl0LT5vYmplY3QuZmxhZ3MgJiBQQVRDSFNBTUUpKQogCQkJY29udGludWU7Ci0JCXN0cmJ1Zl9yZXNldCgmYnVmKTsKLQkJaWYgKCFrZWVwX2VtcHR5ICYmIGlzX2VtcHR5KQotCQkJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVjICIsIGNvbW1lbnRfbGluZV9jaGFyKTsKLQkJc3RyYnVmX2FkZGYoJmJ1ZiwgIiVzICVzICIsIGluc24sCisJCXN0cmJ1Zl9hZGRmKG91dCwgIiVzICVzICIsIGluc24sCiAJCQkgICAgb2lkX3RvX2hleCgmY29tbWl0LT5vYmplY3Qub2lkKSk7Ci0JCXByZXR0eV9wcmludF9jb21taXQoJnBwLCBjb21taXQsICZidWYpOwotCQlzdHJidWZfYWRkY2goJmJ1ZiwgJ1xuJyk7Ci0JCWZwdXRzKGJ1Zi5idWYsIG91dCk7CisJCXByZXR0eV9wcmludF9jb21taXQoJnBwLCBjb21taXQsIG91dCk7CisJCXN0cmJ1Zl9hZGRjaChvdXQsICdcbicpOwogCX0KLQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNDQ5Myw5MCArNDg2OCw5NSBAQAogICogQWRkIGNvbW1hbmRzIGFmdGVyIHBpY2sgYW5kIChzZXJpZXMgb2YpIHNxdWFzaC9maXh1cCBjb21tYW5kcwogICogaW4gdGhlIHRvZG8gbGlzdC4KICAqLwotaW50IHNlcXVlbmNlcl9hZGRfZXhlY19jb21tYW5kcyhjb25zdCBjaGFyICpjb21tYW5kcykKK3ZvaWQgdG9kb19saXN0X2FkZF9leGVjX2NvbW1hbmRzKHN0cnVjdCB0b2RvX2xpc3QgKnRvZG9fbGlzdCwKKwkJCQkgc3RydWN0IHN0cmluZ19saXN0ICpjb21tYW5kcykKIHsKLQljb25zdCBjaGFyICp0b2RvX2ZpbGUgPSByZWJhc2VfcGF0aF90b2RvKCk7Ci0Jc3RydWN0IHRvZG9fbGlzdCB0b2RvX2xpc3QgPSBUT0RPX0xJU1RfSU5JVDsKLQlzdHJ1Y3Qgc3RyYnVmICpidWYgPSAmdG9kb19saXN0LmJ1ZjsKLQlzaXplX3Qgb2Zmc2V0ID0gMCwgY29tbWFuZHNfbGVuID0gc3RybGVuKGNvbW1hbmRzKTsKLQlpbnQgaSwgaW5zZXJ0OworCXN0cnVjdCBzdHJidWYgKmJ1ZiA9ICZ0b2RvX2xpc3QtPmJ1ZjsKKwlzaXplX3QgYmFzZV9vZmZzZXQgPSBidWYtPmxlbjsKKwlpbnQgaSwgaW5zZXJ0LCBuciA9IDAsIGFsbG9jID0gMDsKKwlzdHJ1Y3QgdG9kb19pdGVtICppdGVtcyA9IE5VTEwsICpiYXNlX2l0ZW1zID0gTlVMTDsKIAotCWlmIChzdHJidWZfcmVhZF9maWxlKCZ0b2RvX2xpc3QuYnVmLCB0b2RvX2ZpbGUsIDApIDwgMCkKLQkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCByZWFkICclcycuIiksIHRvZG9fZmlsZSk7CisJYmFzZV9pdGVtcyA9IHhjYWxsb2MoY29tbWFuZHMtPm5yLCBzaXplb2Yoc3RydWN0IHRvZG9faXRlbSkpOworCWZvciAoaSA9IDA7IGkgPCBjb21tYW5kcy0+bnI7IGkrKykgeworCQlzaXplX3QgY29tbWFuZF9sZW4gPSBzdHJsZW4oY29tbWFuZHMtPml0ZW1zW2ldLnN0cmluZyk7CiAKLQlpZiAocGFyc2VfaW5zbl9idWZmZXIodG9kb19saXN0LmJ1Zi5idWYsICZ0b2RvX2xpc3QpKSB7Ci0JCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOwotCQlyZXR1cm4gZXJyb3IoXygidW51c2FibGUgdG9kbyBsaXN0OiAnJXMnIiksIHRvZG9fZmlsZSk7CisJCXN0cmJ1Zl9hZGRzdHIoYnVmLCBjb21tYW5kcy0+aXRlbXNbaV0uc3RyaW5nKTsKKwkJc3RyYnVmX2FkZGNoKGJ1ZiwgJ1xuJyk7CisKKwkJYmFzZV9pdGVtc1tpXS5jb21tYW5kID0gVE9ET19FWEVDOworCQliYXNlX2l0ZW1zW2ldLm9mZnNldF9pbl9idWYgPSBiYXNlX29mZnNldDsKKwkJYmFzZV9pdGVtc1tpXS5hcmdfb2Zmc2V0ID0gYmFzZV9vZmZzZXQgKyBzdHJsZW4oImV4ZWMgIik7CisJCWJhc2VfaXRlbXNbaV0uYXJnX2xlbiA9IGNvbW1hbmRfbGVuIC0gc3RybGVuKCJleGVjICIpOworCisJCWJhc2Vfb2Zmc2V0ICs9IGNvbW1hbmRfbGVuICsgMTsKIAl9CiAKIAkvKgogCSAqIEluc2VydCA8Y29tbWFuZHM+IGFmdGVyIGV2ZXJ5IHBpY2suIEhlcmUsIGZpeHVwL3NxdWFzaCBjaGFpbnMKIAkgKiBhcmUgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBwaWNrLCBzbyB3ZSBpbnNlcnQgdGhlIGNvbW1hbmRzICphZnRlcioKIAkgKiB0aG9zZSBjaGFpbnMgaWYgdGhlcmUgYXJlIGFueS4KKwkgKgorCSAqIEFzIHdlIGluc2VydCB0aGUgZXhlYyBjb21tYW5kcyBpbW1lZGlhdGVseSBhZnRlciByZWFycmFuZ2luZworCSAqIGFueSBmaXh1cHMgYW5kIGJlZm9yZSB0aGUgdXNlciBlZGl0cyB0aGUgbGlzdCwgYSBmaXh1cCBjaGFpbgorCSAqIGNhbiBuZXZlciBjb250YWluIGNvbW1lbnRzIChhbnkgY29tbWVudHMgYXJlIGVtcHR5IHBpY2tzIHRoYXQKKwkgKiBoYXZlIGJlZW4gY29tbWVudGVkIG91dCBiZWNhdXNlIHRoZSB1c2VyIGRpZCBub3Qgc3BlY2lmeQorCSAqIC0ta2VlcC1lbXB0eSkuICBTbywgaXQgaXMgc2FmZSB0byBpbnNlcnQgYW4gZXhlYyBjb21tYW5kCisJICogd2l0aG91dCBsb29raW5nIGF0IHRoZSBjb21tYW5kIGZvbGxvd2luZyBhIGNvbW1lbnQuCiAJICovCi0JaW5zZXJ0ID0gLTE7Ci0JZm9yIChpID0gMDsgaSA8IHRvZG9fbGlzdC5ucjsgaSsrKSB7Ci0JCWVudW0gdG9kb19jb21tYW5kIGNvbW1hbmQgPSB0b2RvX2xpc3QuaXRlbXNbaV0uY29tbWFuZDsKKwlpbnNlcnQgPSAwOworCWZvciAoaSA9IDA7IGkgPCB0b2RvX2xpc3QtPm5yOyBpKyspIHsKKwkJZW51bSB0b2RvX2NvbW1hbmQgY29tbWFuZCA9IHRvZG9fbGlzdC0+aXRlbXNbaV0uY29tbWFuZDsKKwkJaWYgKGluc2VydCAmJiAhaXNfZml4dXAoY29tbWFuZCkpIHsKKwkJCUFMTE9DX0dST1coaXRlbXMsIG5yICsgY29tbWFuZHMtPm5yLCBhbGxvYyk7CisJCQlDT1BZX0FSUkFZKGl0ZW1zICsgbnIsIGJhc2VfaXRlbXMsIGNvbW1hbmRzLT5ucik7CisJCQluciArPSBjb21tYW5kcy0+bnI7CiAKLQkJaWYgKGluc2VydCA+PSAwKSB7Ci0JCQkvKiBza2lwIGZpeHVwL3NxdWFzaCBjaGFpbnMgKi8KLQkJCWlmIChjb21tYW5kID09IFRPRE9fQ09NTUVOVCkKLQkJCQljb250aW51ZTsKLQkJCWVsc2UgaWYgKGlzX2ZpeHVwKGNvbW1hbmQpKSB7Ci0JCQkJaW5zZXJ0ID0gaSArIDE7Ci0JCQkJY29udGludWU7Ci0JCQl9Ci0JCQlzdHJidWZfaW5zZXJ0KGJ1ZiwKLQkJCQkgICAgICB0b2RvX2xpc3QuaXRlbXNbaW5zZXJ0XS5vZmZzZXRfaW5fYnVmICsKLQkJCQkgICAgICBvZmZzZXQsIGNvbW1hbmRzLCBjb21tYW5kc19sZW4pOwotCQkJb2Zmc2V0ICs9IGNvbW1hbmRzX2xlbjsKLQkJCWluc2VydCA9IC0xOworCQkJaW5zZXJ0ID0gMDsKIAkJfQogCisJCUFMTE9DX0dST1coaXRlbXMsIG5yICsgMSwgYWxsb2MpOworCQlpdGVtc1tucisrXSA9IHRvZG9fbGlzdC0+aXRlbXNbaV07CisKIAkJaWYgKGNvbW1hbmQgPT0gVE9ET19QSUNLIHx8IGNvbW1hbmQgPT0gVE9ET19NRVJHRSkKLQkJCWluc2VydCA9IGkgKyAxOworCQkJaW5zZXJ0ID0gMTsKIAl9CiAKIAkvKiBpbnNlcnQgb3IgYXBwZW5kIGZpbmFsIDxjb21tYW5kcz4gKi8KLQlpZiAoaW5zZXJ0ID49IDAgJiYgaW5zZXJ0IDwgdG9kb19saXN0Lm5yKQotCQlzdHJidWZfaW5zZXJ0KGJ1ZiwgdG9kb19saXN0Lml0ZW1zW2luc2VydF0ub2Zmc2V0X2luX2J1ZiArCi0JCQkgICAgICBvZmZzZXQsIGNvbW1hbmRzLCBjb21tYW5kc19sZW4pOwotCWVsc2UgaWYgKGluc2VydCA+PSAwIHx8ICFvZmZzZXQpCi0JCXN0cmJ1Zl9hZGQoYnVmLCBjb21tYW5kcywgY29tbWFuZHNfbGVuKTsKLQotCWkgPSB3cml0ZV9tZXNzYWdlKGJ1Zi0+YnVmLCBidWYtPmxlbiwgdG9kb19maWxlLCAwKTsKLQl0b2RvX2xpc3RfcmVsZWFzZSgmdG9kb19saXN0KTsKLQlyZXR1cm4gaTsKLX0KLQotaW50IHRyYW5zZm9ybV90b2Rvcyh1bnNpZ25lZCBmbGFncykKLXsKLQljb25zdCBjaGFyICp0b2RvX2ZpbGUgPSByZWJhc2VfcGF0aF90b2RvKCk7Ci0Jc3RydWN0IHRvZG9fbGlzdCB0b2RvX2xpc3QgPSBUT0RPX0xJU1RfSU5JVDsKLQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwotCXN0cnVjdCB0b2RvX2l0ZW0gKml0ZW07Ci0JaW50IGk7Ci0KLQlpZiAoc3RyYnVmX3JlYWRfZmlsZSgmdG9kb19saXN0LmJ1ZiwgdG9kb19maWxlLCAwKSA8IDApCi0JCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgcmVhZCAnJXMnLiIpLCB0b2RvX2ZpbGUpOwotCi0JaWYgKHBhcnNlX2luc25fYnVmZmVyKHRvZG9fbGlzdC5idWYuYnVmLCAmdG9kb19saXN0KSkgewotCQl0b2RvX2xpc3RfcmVsZWFzZSgmdG9kb19saXN0KTsKLQkJcmV0dXJuIGVycm9yKF8oInVudXNhYmxlIHRvZG8gbGlzdDogJyVzJyIpLCB0b2RvX2ZpbGUpOworCWlmIChpbnNlcnQgfHwgbnIgPT0gdG9kb19saXN0LT5ucikgeworCQlBTExPQ19HUk9XKGl0ZW1zLCBuciArIGNvbW1hbmRzLT5uciwgYWxsb2MpOworCQlDT1BZX0FSUkFZKGl0ZW1zICsgbnIsIGJhc2VfaXRlbXMsIGNvbW1hbmRzLT5ucik7CisJCW5yICs9IGNvbW1hbmRzLT5ucjsKIAl9CiAKLQlmb3IgKGl0ZW0gPSB0b2RvX2xpc3QuaXRlbXMsIGkgPSAwOyBpIDwgdG9kb19saXN0Lm5yOyBpKyssIGl0ZW0rKykgeworCWZyZWUoYmFzZV9pdGVtcyk7CisJRlJFRV9BTkRfTlVMTCh0b2RvX2xpc3QtPml0ZW1zKTsKKwl0b2RvX2xpc3QtPml0ZW1zID0gaXRlbXM7CisJdG9kb19saXN0LT5uciA9IG5yOworCXRvZG9fbGlzdC0+YWxsb2MgPSBhbGxvYzsKK30KKworc3RhdGljIHZvaWQgdG9kb19saXN0X3RvX3N0cmJ1ZihzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHRvZG9fbGlzdCAqdG9kb19saXN0LAorCQkJCXN0cnVjdCBzdHJidWYgKmJ1ZiwgaW50IG51bSwgdW5zaWduZWQgZmxhZ3MpCit7CisJc3RydWN0IHRvZG9faXRlbSAqaXRlbTsKKwlpbnQgaSwgbWF4ID0gdG9kb19saXN0LT5ucjsKKworCWlmIChudW0gPiAwICYmIG51bSA8IG1heCkKKwkJbWF4ID0gbnVtOworCisJZm9yIChpdGVtID0gdG9kb19saXN0LT5pdGVtcywgaSA9IDA7IGkgPCBtYXg7IGkrKywgaXRlbSsrKSB7CiAJCS8qIGlmIHRoZSBpdGVtIGlzIG5vdCBhIGNvbW1hbmQgd3JpdGUgaXQgYW5kIGNvbnRpbnVlICovCiAJCWlmIChpdGVtLT5jb21tYW5kID49IFRPRE9fQ09NTUVOVCkgewotCQkJc3RyYnVmX2FkZGYoJmJ1ZiwgIiUuKnNcbiIsIGl0ZW0tPmFyZ19sZW4sIGl0ZW0tPmFyZyk7CisJCQlzdHJidWZfYWRkZihidWYsICIlLipzXG4iLCBpdGVtLT5hcmdfbGVuLAorCQkJCSAgICB0b2RvX2l0ZW1fZ2V0X2FyZyh0b2RvX2xpc3QsIGl0ZW0pKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKIAkJLyogYWRkIGNvbW1hbmQgdG8gdGhlIGJ1ZmZlciAqLwogCQlpZiAoZmxhZ3MgJiBUT0RPX0xJU1RfQUJCUkVWSUFURV9DTURTKQotCQkJc3RyYnVmX2FkZGNoKCZidWYsIGNvbW1hbmRfdG9fY2hhcihpdGVtLT5jb21tYW5kKSk7CisJCQlzdHJidWZfYWRkY2goYnVmLCBjb21tYW5kX3RvX2NoYXIoaXRlbS0+Y29tbWFuZCkpOwogCQllbHNlCi0JCQlzdHJidWZfYWRkc3RyKCZidWYsIGNvbW1hbmRfdG9fc3RyaW5nKGl0ZW0tPmNvbW1hbmQpKTsKKwkJCXN0cmJ1Zl9hZGRzdHIoYnVmLCBjb21tYW5kX3RvX3N0cmluZyhpdGVtLT5jb21tYW5kKSk7CiAKIAkJLyogYWRkIGNvbW1pdCBpZCAqLwogCQlpZiAoaXRlbS0+Y29tbWl0KSB7CkBAIC00NTg2LDE4MSArNDk2Niw1NyBAQAogCiAJCQlpZiAoaXRlbS0+Y29tbWFuZCA9PSBUT0RPX01FUkdFKSB7CiAJCQkJaWYgKGl0ZW0tPmZsYWdzICYgVE9ET19FRElUX01FUkdFX01TRykKLQkJCQkJc3RyYnVmX2FkZHN0cigmYnVmLCAiIC1jIik7CisJCQkJCXN0cmJ1Zl9hZGRzdHIoYnVmLCAiIC1jIik7CiAJCQkJZWxzZQotCQkJCQlzdHJidWZfYWRkc3RyKCZidWYsICIgLUMiKTsKKwkJCQkJc3RyYnVmX2FkZHN0cihidWYsICIgLUMiKTsKIAkJCX0KIAotCQkJc3RyYnVmX2FkZGYoJmJ1ZiwgIiAlcyIsIG9pZCk7CisJCQlzdHJidWZfYWRkZihidWYsICIgJXMiLCBvaWQpOwogCQl9CiAKIAkJLyogYWRkIGFsbCB0aGUgcmVzdCAqLwogCQlpZiAoIWl0ZW0tPmFyZ19sZW4pCi0JCQlzdHJidWZfYWRkY2goJmJ1ZiwgJ1xuJyk7CisJCQlzdHJidWZfYWRkY2goYnVmLCAnXG4nKTsKIAkJZWxzZQotCQkJc3RyYnVmX2FkZGYoJmJ1ZiwgIiAlLipzXG4iLCBpdGVtLT5hcmdfbGVuLCBpdGVtLT5hcmcpOworCQkJc3RyYnVmX2FkZGYoYnVmLCAiICUuKnNcbiIsIGl0ZW0tPmFyZ19sZW4sCisJCQkJICAgIHRvZG9faXRlbV9nZXRfYXJnKHRvZG9fbGlzdCwgaXRlbSkpOwogCX0KLQotCWkgPSB3cml0ZV9tZXNzYWdlKGJ1Zi5idWYsIGJ1Zi5sZW4sIHRvZG9fZmlsZSwgMCk7Ci0JdG9kb19saXN0X3JlbGVhc2UoJnRvZG9fbGlzdCk7Ci0JcmV0dXJuIGk7CiB9CiAKLWVudW0gbWlzc2luZ19jb21taXRfY2hlY2tfbGV2ZWwgZ2V0X21pc3NpbmdfY29tbWl0X2NoZWNrX2xldmVsKHZvaWQpCitpbnQgdG9kb19saXN0X3dyaXRlX3RvX2ZpbGUoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCB0b2RvX2xpc3QgKnRvZG9fbGlzdCwKKwkJCSAgICBjb25zdCBjaGFyICpmaWxlLCBjb25zdCBjaGFyICpzaG9ydHJldmlzaW9ucywKKwkJCSAgICBjb25zdCBjaGFyICpzaG9ydG9udG8sIGludCBudW0sIHVuc2lnbmVkIGZsYWdzKQogewotCWNvbnN0IGNoYXIgKnZhbHVlOworCWludCByZXM7CisJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAotCWlmIChnaXRfY29uZmlnX2dldF92YWx1ZSgicmViYXNlLm1pc3Npbmdjb21taXRzY2hlY2siLCAmdmFsdWUpIHx8Ci0JCQkhc3RyY2FzZWNtcCgiaWdub3JlIiwgdmFsdWUpKQotCQlyZXR1cm4gTUlTU0lOR19DT01NSVRfQ0hFQ0tfSUdOT1JFOwotCWlmICghc3RyY2FzZWNtcCgid2FybiIsIHZhbHVlKSkKLQkJcmV0dXJuIE1JU1NJTkdfQ09NTUlUX0NIRUNLX1dBUk47Ci0JaWYgKCFzdHJjYXNlY21wKCJlcnJvciIsIHZhbHVlKSkKLQkJcmV0dXJuIE1JU1NJTkdfQ09NTUlUX0NIRUNLX0VSUk9SOwotCXdhcm5pbmcoXygidW5yZWNvZ25pemVkIHNldHRpbmcgJXMgZm9yIG9wdGlvbiAiCi0JCSAgInJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLiBJZ25vcmluZy4iKSwgdmFsdWUpOwotCXJldHVybiBNSVNTSU5HX0NPTU1JVF9DSEVDS19JR05PUkU7Ci19CisJdG9kb19saXN0X3RvX3N0cmJ1ZihyLCB0b2RvX2xpc3QsICZidWYsIG51bSwgZmxhZ3MpOworCWlmIChmbGFncyAmIFRPRE9fTElTVF9BUFBFTkRfVE9ET19IRUxQKQorCQlhcHBlbmRfdG9kb19oZWxwKGNvdW50X2NvbW1hbmRzKHRvZG9fbGlzdCksCisJCQkJIHNob3J0cmV2aXNpb25zLCBzaG9ydG9udG8sICZidWYpOwogCi1kZWZpbmVfY29tbWl0X3NsYWIoY29tbWl0X3NlZW4sIHVuc2lnbmVkIGNoYXIpOwotLyoKLSAqIENoZWNrIGlmIHRoZSB1c2VyIGRyb3BwZWQgc29tZSBjb21taXRzIGJ5IG1pc3Rha2UKLSAqIEJlaGF2aW91ciBkZXRlcm1pbmVkIGJ5IHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrLgotICogQ2hlY2sgaWYgdGhlcmUgaXMgYW4gdW5yZWNvZ25pemVkIGNvbW1hbmQgb3IgYQotICogYmFkIFNIQS0xIGluIGEgY29tbWFuZC4KLSAqLwotaW50IGNoZWNrX3RvZG9fbGlzdCh2b2lkKQotewotCWVudW0gbWlzc2luZ19jb21taXRfY2hlY2tfbGV2ZWwgY2hlY2tfbGV2ZWwgPSBnZXRfbWlzc2luZ19jb21taXRfY2hlY2tfbGV2ZWwoKTsKLQlzdHJ1Y3Qgc3RyYnVmIHRvZG9fZmlsZSA9IFNUUkJVRl9JTklUOwotCXN0cnVjdCB0b2RvX2xpc3QgdG9kb19saXN0ID0gVE9ET19MSVNUX0lOSVQ7Ci0Jc3RydWN0IHN0cmJ1ZiBtaXNzaW5nID0gU1RSQlVGX0lOSVQ7Ci0JaW50IGFkdmlzZV90b19lZGl0X3RvZG8gPSAwLCByZXMgPSAwLCBpOwotCXN0cnVjdCBjb21taXRfc2VlbiBjb21taXRfc2VlbjsKLQotCWluaXRfY29tbWl0X3NlZW4oJmNvbW1pdF9zZWVuKTsKLQotCXN0cmJ1Zl9hZGRzdHIoJnRvZG9fZmlsZSwgcmViYXNlX3BhdGhfdG9kbygpKTsKLQlpZiAoc3RyYnVmX3JlYWRfZmlsZV9vcl93aGluZSgmdG9kb19saXN0LmJ1ZiwgdG9kb19maWxlLmJ1ZikgPCAwKSB7Ci0JCXJlcyA9IC0xOwotCQlnb3RvIGxlYXZlX2NoZWNrOwotCX0KLQlhZHZpc2VfdG9fZWRpdF90b2RvID0gcmVzID0KLQkJcGFyc2VfaW5zbl9idWZmZXIodG9kb19saXN0LmJ1Zi5idWYsICZ0b2RvX2xpc3QpOwotCi0JaWYgKHJlcyB8fCBjaGVja19sZXZlbCA9PSBNSVNTSU5HX0NPTU1JVF9DSEVDS19JR05PUkUpCi0JCWdvdG8gbGVhdmVfY2hlY2s7Ci0KLQkvKiBNYXJrIHRoZSBjb21taXRzIGluIGdpdC1yZWJhc2UtdG9kbyBhcyBzZWVuICovCi0JZm9yIChpID0gMDsgaSA8IHRvZG9fbGlzdC5ucjsgaSsrKSB7Ci0JCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IHRvZG9fbGlzdC5pdGVtc1tpXS5jb21taXQ7Ci0JCWlmIChjb21taXQpCi0JCQkqY29tbWl0X3NlZW5fYXQoJmNvbW1pdF9zZWVuLCBjb21taXQpID0gMTsKLQl9Ci0KLQl0b2RvX2xpc3RfcmVsZWFzZSgmdG9kb19saXN0KTsKLQlzdHJidWZfYWRkc3RyKCZ0b2RvX2ZpbGUsICIuYmFja3VwIik7Ci0JaWYgKHN0cmJ1Zl9yZWFkX2ZpbGVfb3Jfd2hpbmUoJnRvZG9fbGlzdC5idWYsIHRvZG9fZmlsZS5idWYpIDwgMCkgewotCQlyZXMgPSAtMTsKLQkJZ290byBsZWF2ZV9jaGVjazsKLQl9Ci0Jc3RyYnVmX3JlbGVhc2UoJnRvZG9fZmlsZSk7Ci0JcmVzID0gISFwYXJzZV9pbnNuX2J1ZmZlcih0b2RvX2xpc3QuYnVmLmJ1ZiwgJnRvZG9fbGlzdCk7Ci0KLQkvKiBGaW5kIGNvbW1pdHMgaW4gZ2l0LXJlYmFzZS10b2RvLmJhY2t1cCB5ZXQgdW5zZWVuICovCi0JZm9yIChpID0gdG9kb19saXN0Lm5yIC0gMTsgaSA+PSAwOyBpLS0pIHsKLQkJc3RydWN0IHRvZG9faXRlbSAqaXRlbSA9IHRvZG9fbGlzdC5pdGVtcyArIGk7Ci0JCXN0cnVjdCBjb21taXQgKmNvbW1pdCA9IGl0ZW0tPmNvbW1pdDsKLQkJaWYgKGNvbW1pdCAmJiAhKmNvbW1pdF9zZWVuX2F0KCZjb21taXRfc2VlbiwgY29tbWl0KSkgewotCQkJc3RyYnVmX2FkZGYoJm1pc3NpbmcsICIgLSAlcyAlLipzXG4iLAotCQkJCSAgICBzaG9ydF9jb21taXRfbmFtZShjb21taXQpLAotCQkJCSAgICBpdGVtLT5hcmdfbGVuLCBpdGVtLT5hcmcpOwotCQkJKmNvbW1pdF9zZWVuX2F0KCZjb21taXRfc2VlbiwgY29tbWl0KSA9IDE7Ci0JCX0KLQl9Ci0KLQkvKiBXYXJuIGFib3V0IG1pc3NpbmcgY29tbWl0cyAqLwotCWlmICghbWlzc2luZy5sZW4pCi0JCWdvdG8gbGVhdmVfY2hlY2s7Ci0KLQlpZiAoY2hlY2tfbGV2ZWwgPT0gTUlTU0lOR19DT01NSVRfQ0hFQ0tfRVJST1IpCi0JCWFkdmlzZV90b19lZGl0X3RvZG8gPSByZXMgPSAxOwotCi0JZnByaW50ZihzdGRlcnIsCi0JCV8oIldhcm5pbmc6IHNvbWUgY29tbWl0cyBtYXkgaGF2ZSBiZWVuIGRyb3BwZWQgYWNjaWRlbnRhbGx5LlxuIgotCQkiRHJvcHBlZCBjb21taXRzIChuZXdlciB0byBvbGRlcik6XG4iKSk7Ci0KLQkvKiBNYWtlIHRoZSBsaXN0IHVzZXItZnJpZW5kbHkgYW5kIGRpc3BsYXkgKi8KLQlmcHV0cyhtaXNzaW5nLmJ1Ziwgc3RkZXJyKTsKLQlzdHJidWZfcmVsZWFzZSgmbWlzc2luZyk7Ci0KLQlmcHJpbnRmKHN0ZGVyciwgXygiVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgXCJkcm9wXCIgdG8gIgotCQkiZXhwbGljaXRseSByZW1vdmUgYSBjb21taXQuXG5cbiIKLQkJIlVzZSAnZ2l0IGNvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjaycgdG8gY2hhbmdlICIKLQkJInRoZSBsZXZlbCBvZiB3YXJuaW5ncy5cbiIKLQkJIlRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci5cblxuIikpOwotCi1sZWF2ZV9jaGVjazoKLQljbGVhcl9jb21taXRfc2VlbigmY29tbWl0X3NlZW4pOwotCXN0cmJ1Zl9yZWxlYXNlKCZ0b2RvX2ZpbGUpOwotCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOwotCi0JaWYgKGFkdmlzZV90b19lZGl0X3RvZG8pCi0JCWZwcmludGYoc3RkZXJyLAotCQkJXygiWW91IGNhbiBmaXggdGhpcyB3aXRoICdnaXQgcmViYXNlIC0tZWRpdC10b2RvJyAiCi0JCQkgICJhbmQgdGhlbiBydW4gJ2dpdCByZWJhc2UgLS1jb250aW51ZScuXG4iCi0JCQkgICJPciB5b3UgY2FuIGFib3J0IHRoZSByZWJhc2Ugd2l0aCAnZ2l0IHJlYmFzZSIKLQkJCSAgIiAtLWFib3J0Jy5cbiIpKTsKKwlyZXMgPSB3cml0ZV9tZXNzYWdlKGJ1Zi5idWYsIGJ1Zi5sZW4sIGZpbGUsIDApOworCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCiAJcmV0dXJuIHJlczsKIH0KIAotc3RhdGljIGludCByZXdyaXRlX2ZpbGUoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQotewotCWludCByYyA9IDA7Ci0JaW50IGZkID0gb3BlbihwYXRoLCBPX1dST05MWSB8IE9fVFJVTkMpOwotCWlmIChmZCA8IDApCi0JCXJldHVybiBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciB3cml0aW5nIiksIHBhdGgpOwotCWlmICh3cml0ZV9pbl9mdWxsKGZkLCBidWYsIGxlbikgPCAwKQotCQlyYyA9IGVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCB3cml0ZSB0byAnJXMnIiksIHBhdGgpOwotCWlmIChjbG9zZShmZCkgJiYgIXJjKQotCQlyYyA9IGVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCBjbG9zZSAnJXMnIiksIHBhdGgpOwotCXJldHVybiByYzsKLX0KLQogLyogc2tpcCBwaWNraW5nIGNvbW1pdHMgd2hvc2UgcGFyZW50cyBhcmUgdW5jaGFuZ2VkICovCi1zdGF0aWMgaW50IHNraXBfdW5uZWNlc3NhcnlfcGlja3Moc3RydWN0IG9iamVjdF9pZCAqb3V0cHV0X29pZCkKK3N0YXRpYyBpbnQgc2tpcF91bm5lY2Vzc2FyeV9waWNrcyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkgIHN0cnVjdCB0b2RvX2xpc3QgKnRvZG9fbGlzdCwKKwkJCQkgIHN0cnVjdCBvYmplY3RfaWQgKmJhc2Vfb2lkKQogewotCWNvbnN0IGNoYXIgKnRvZG9fZmlsZSA9IHJlYmFzZV9wYXRoX3RvZG8oKTsKLQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwotCXN0cnVjdCB0b2RvX2xpc3QgdG9kb19saXN0ID0gVE9ET19MSVNUX0lOSVQ7CiAJc3RydWN0IG9iamVjdF9pZCAqcGFyZW50X29pZDsKLQlpbnQgZmQsIGk7CisJaW50IGk7CiAKLQlpZiAoIXJlYWRfb25lbGluZXIoJmJ1ZiwgcmViYXNlX3BhdGhfb250bygpLCAwKSkKLQkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCByZWFkICdvbnRvJyIpKTsKLQlpZiAoZ2V0X29pZChidWYuYnVmLCBvdXRwdXRfb2lkKSkgewotCQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKLQkJcmV0dXJuIGVycm9yKF8oIm5lZWQgYSBIRUFEIHRvIGZpeHVwIikpOwotCX0KLQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKLQotCWlmIChzdHJidWZfcmVhZF9maWxlX29yX3doaW5lKCZ0b2RvX2xpc3QuYnVmLCB0b2RvX2ZpbGUpIDwgMCkKLQkJcmV0dXJuIC0xOwotCWlmIChwYXJzZV9pbnNuX2J1ZmZlcih0b2RvX2xpc3QuYnVmLmJ1ZiwgJnRvZG9fbGlzdCkgPCAwKSB7Ci0JCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOwotCQlyZXR1cm4gLTE7Ci0JfQotCi0JZm9yIChpID0gMDsgaSA8IHRvZG9fbGlzdC5ucjsgaSsrKSB7Ci0JCXN0cnVjdCB0b2RvX2l0ZW0gKml0ZW0gPSB0b2RvX2xpc3QuaXRlbXMgKyBpOworCWZvciAoaSA9IDA7IGkgPCB0b2RvX2xpc3QtPm5yOyBpKyspIHsKKwkJc3RydWN0IHRvZG9faXRlbSAqaXRlbSA9IHRvZG9fbGlzdC0+aXRlbXMgKyBpOwogCiAJCWlmIChpdGVtLT5jb21tYW5kID49IFRPRE9fTk9PUCkKIAkJCWNvbnRpbnVlOwogCQlpZiAoaXRlbS0+Y29tbWFuZCAhPSBUT0RPX1BJQ0spCiAJCQlicmVhazsKIAkJaWYgKHBhcnNlX2NvbW1pdChpdGVtLT5jb21taXQpKSB7Ci0JCQl0b2RvX2xpc3RfcmVsZWFzZSgmdG9kb19saXN0KTsKIAkJCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgcGFyc2UgY29tbWl0ICclcyciKSwKIAkJCQlvaWRfdG9faGV4KCZpdGVtLT5jb21taXQtPm9iamVjdC5vaWQpKTsKIAkJfQpAQCAtNDc2OSwxNDMgKzUwMjUsMTIxIEBACiAJCWlmIChpdGVtLT5jb21taXQtPnBhcmVudHMtPm5leHQpCiAJCQlicmVhazsgLyogbWVyZ2UgY29tbWl0ICovCiAJCXBhcmVudF9vaWQgPSAmaXRlbS0+Y29tbWl0LT5wYXJlbnRzLT5pdGVtLT5vYmplY3Qub2lkOwotCQlpZiAoIW9pZGVxKHBhcmVudF9vaWQsIG91dHB1dF9vaWQpKQorCQlpZiAoIW9pZGVxKHBhcmVudF9vaWQsIGJhc2Vfb2lkKSkKIAkJCWJyZWFrOwotCQlvaWRjcHkob3V0cHV0X29pZCwgJml0ZW0tPmNvbW1pdC0+b2JqZWN0Lm9pZCk7CisJCW9pZGNweShiYXNlX29pZCwgJml0ZW0tPmNvbW1pdC0+b2JqZWN0Lm9pZCk7CiAJfQogCWlmIChpID4gMCkgewotCQlpbnQgb2Zmc2V0ID0gZ2V0X2l0ZW1fbGluZV9vZmZzZXQoJnRvZG9fbGlzdCwgaSk7CiAJCWNvbnN0IGNoYXIgKmRvbmVfcGF0aCA9IHJlYmFzZV9wYXRoX2RvbmUoKTsKIAotCQlmZCA9IG9wZW4oZG9uZV9wYXRoLCBPX0NSRUFUIHwgT19XUk9OTFkgfCBPX0FQUEVORCwgMDY2Nik7Ci0JCWlmIChmZCA8IDApIHsKLQkJCWVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCBvcGVuICclcycgZm9yIHdyaXRpbmciKSwKLQkJCQkgICAgZG9uZV9wYXRoKTsKLQkJCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOwotCQkJcmV0dXJuIC0xOwotCQl9Ci0JCWlmICh3cml0ZV9pbl9mdWxsKGZkLCB0b2RvX2xpc3QuYnVmLmJ1Ziwgb2Zmc2V0KSA8IDApIHsKKwkJaWYgKHRvZG9fbGlzdF93cml0ZV90b19maWxlKHIsIHRvZG9fbGlzdCwgZG9uZV9wYXRoLCBOVUxMLCBOVUxMLCBpLCAwKSkgewogCQkJZXJyb3JfZXJybm8oXygiY291bGQgbm90IHdyaXRlIHRvICclcyciKSwgZG9uZV9wYXRoKTsKLQkJCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOwotCQkJY2xvc2UoZmQpOwotCQkJcmV0dXJuIC0xOwotCQl9Ci0JCWNsb3NlKGZkKTsKLQotCQlpZiAocmV3cml0ZV9maWxlKHJlYmFzZV9wYXRoX3RvZG8oKSwgdG9kb19saXN0LmJ1Zi5idWYgKyBvZmZzZXQsCi0JCQkJIHRvZG9fbGlzdC5idWYubGVuIC0gb2Zmc2V0KSA8IDApIHsKLQkJCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOwogCQkJcmV0dXJuIC0xOwogCQl9CiAKLQkJdG9kb19saXN0LmN1cnJlbnQgPSBpOwotCQlpZiAoaXNfZml4dXAocGVla19jb21tYW5kKCZ0b2RvX2xpc3QsIDApKSkKLQkJCXJlY29yZF9pbl9yZXdyaXR0ZW4ob3V0cHV0X29pZCwgcGVla19jb21tYW5kKCZ0b2RvX2xpc3QsIDApKTsKKwkJTU9WRV9BUlJBWSh0b2RvX2xpc3QtPml0ZW1zLCB0b2RvX2xpc3QtPml0ZW1zICsgaSwgdG9kb19saXN0LT5uciAtIGkpOworCQl0b2RvX2xpc3QtPm5yIC09IGk7CisJCXRvZG9fbGlzdC0+Y3VycmVudCA9IDA7CisJCXRvZG9fbGlzdC0+ZG9uZV9uciArPSBpOworCisJCWlmIChpc19maXh1cChwZWVrX2NvbW1hbmQodG9kb19saXN0LCAwKSkpCisJCQlyZWNvcmRfaW5fcmV3cml0dGVuKGJhc2Vfb2lkLCBwZWVrX2NvbW1hbmQodG9kb19saXN0LCAwKSk7CiAJfQogCi0JdG9kb19saXN0X3JlbGVhc2UoJnRvZG9fbGlzdCk7Ci0KIAlyZXR1cm4gMDsKIH0KIAotaW50IGNvbXBsZXRlX2FjdGlvbihzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMsIHVuc2lnbmVkIGZsYWdzLAoraW50IGNvbXBsZXRlX2FjdGlvbihzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzLCB1bnNpZ25lZCBmbGFncywKIAkJICAgIGNvbnN0IGNoYXIgKnNob3J0cmV2aXNpb25zLCBjb25zdCBjaGFyICpvbnRvX25hbWUsCi0JCSAgICBjb25zdCBjaGFyICpvbnRvLCBjb25zdCBjaGFyICpvcmlnX2hlYWQsIGNvbnN0IGNoYXIgKmNtZCwKLQkJICAgIHVuc2lnbmVkIGF1dG9zcXVhc2gpCisJCSAgICBzdHJ1Y3QgY29tbWl0ICpvbnRvLCBjb25zdCBjaGFyICpvcmlnX2hlYWQsCisJCSAgICBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmNvbW1hbmRzLCB1bnNpZ25lZCBhdXRvc3F1YXNoLAorCQkgICAgc3RydWN0IHRvZG9fbGlzdCAqdG9kb19saXN0KQogewogCWNvbnN0IGNoYXIgKnNob3J0b250bywgKnRvZG9fZmlsZSA9IHJlYmFzZV9wYXRoX3RvZG8oKTsKLQlzdHJ1Y3QgdG9kb19saXN0IHRvZG9fbGlzdCA9IFRPRE9fTElTVF9JTklUOwotCXN0cnVjdCBzdHJidWYgKmJ1ZiA9ICYodG9kb19saXN0LmJ1Zik7Ci0Jc3RydWN0IG9iamVjdF9pZCBvaWQ7Ci0Jc3RydWN0IHN0YXQgc3Q7CisJc3RydWN0IHRvZG9fbGlzdCBuZXdfdG9kbyA9IFRPRE9fTElTVF9JTklUOworCXN0cnVjdCBzdHJidWYgKmJ1ZiA9ICZ0b2RvX2xpc3QtPmJ1ZiwgYnVmMiA9IFNUUkJVRl9JTklUOworCXN0cnVjdCBvYmplY3RfaWQgb2lkID0gb250by0+b2JqZWN0Lm9pZDsKKwlpbnQgcmVzOwogCi0JZ2V0X29pZChvbnRvLCAmb2lkKTsKIAlzaG9ydG9udG8gPSBmaW5kX3VuaXF1ZV9hYmJyZXYoJm9pZCwgREVGQVVMVF9BQkJSRVYpOwogCi0JaWYgKCFsc3RhdCh0b2RvX2ZpbGUsICZzdCkgJiYgc3Quc3Rfc2l6ZSA9PSAwICYmCi0JICAgIHdyaXRlX21lc3NhZ2UoIm5vb3BcbiIsIDUsIHRvZG9fZmlsZSwgMCkpCi0JCXJldHVybiAtMTsKLQotCWlmIChhdXRvc3F1YXNoICYmIHJlYXJyYW5nZV9zcXVhc2goKSkKLQkJcmV0dXJuIC0xOwotCi0JaWYgKGNtZCAmJiAqY21kKQotCQlzZXF1ZW5jZXJfYWRkX2V4ZWNfY29tbWFuZHMoY21kKTsKLQotCWlmIChzdHJidWZfcmVhZF9maWxlKGJ1ZiwgdG9kb19maWxlLCAwKSA8IDApCi0JCXJldHVybiBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3QgcmVhZCAnJXMnLiIpLCB0b2RvX2ZpbGUpOwotCi0JaWYgKHBhcnNlX2luc25fYnVmZmVyKGJ1Zi0+YnVmLCAmdG9kb19saXN0KSkgewotCQl0b2RvX2xpc3RfcmVsZWFzZSgmdG9kb19saXN0KTsKLQkJcmV0dXJuIGVycm9yKF8oInVudXNhYmxlIHRvZG8gbGlzdDogJyVzJyIpLCB0b2RvX2ZpbGUpOwotCX0KLQotCWlmIChjb3VudF9jb21tYW5kcygmdG9kb19saXN0KSA9PSAwKSB7Ci0JCWFwcGx5X2F1dG9zdGFzaChvcHRzKTsKLQkJc2VxdWVuY2VyX3JlbW92ZV9zdGF0ZShvcHRzKTsKLQkJdG9kb19saXN0X3JlbGVhc2UoJnRvZG9fbGlzdCk7Ci0KLQkJcmV0dXJuIGVycm9yKF8oIm5vdGhpbmcgdG8gZG8iKSk7Ci0JfQotCi0Jc3RyYnVmX2FkZGNoKGJ1ZiwgJ1xuJyk7Ci0Jc3RyYnVmX2NvbW1lbnRlZF9hZGRmKGJ1ZiwgUV8oIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kKSIsCi0JCQkJICAgICAgIlJlYmFzZSAlcyBvbnRvICVzICglZCBjb21tYW5kcykiLAotCQkJCSAgICAgIGNvdW50X2NvbW1hbmRzKCZ0b2RvX2xpc3QpKSwKLQkJCSAgICAgIHNob3J0cmV2aXNpb25zLCBzaG9ydG9udG8sIGNvdW50X2NvbW1hbmRzKCZ0b2RvX2xpc3QpKTsKLQlhcHBlbmRfdG9kb19oZWxwKDAsIGZsYWdzICYgVE9ET19MSVNUX0tFRVBfRU1QVFksIGJ1Zik7Ci0KLQlpZiAod3JpdGVfbWVzc2FnZShidWYtPmJ1ZiwgYnVmLT5sZW4sIHRvZG9fZmlsZSwgMCkpIHsKLQkJdG9kb19saXN0X3JlbGVhc2UoJnRvZG9fbGlzdCk7Ci0JCXJldHVybiAtMTsKLQl9Ci0KLQlpZiAoY29weV9maWxlKHJlYmFzZV9wYXRoX3RvZG9fYmFja3VwKCksIHRvZG9fZmlsZSwgMDY2NikpCi0JCXJldHVybiBlcnJvcihfKCJjb3VsZCBub3QgY29weSAnJXMnIHRvICclcycuIiksIHRvZG9fZmlsZSwKLQkJCSAgICAgcmViYXNlX3BhdGhfdG9kb19iYWNrdXAoKSk7Ci0KLQlpZiAodHJhbnNmb3JtX3RvZG9zKGZsYWdzIHwgVE9ET19MSVNUX1NIT1JURU5fSURTKSkKLQkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCB0cmFuc2Zvcm0gdGhlIHRvZG8gbGlzdCIpKTsKLQotCXN0cmJ1Zl9yZXNldChidWYpOwotCi0JaWYgKGxhdW5jaF9zZXF1ZW5jZV9lZGl0b3IodG9kb19maWxlLCBidWYsIE5VTEwpKSB7Ci0JCWFwcGx5X2F1dG9zdGFzaChvcHRzKTsKLQkJc2VxdWVuY2VyX3JlbW92ZV9zdGF0ZShvcHRzKTsKLQkJdG9kb19saXN0X3JlbGVhc2UoJnRvZG9fbGlzdCk7Ci0KLQkJcmV0dXJuIC0xOwotCX0KLQotCXN0cmJ1Zl9zdHJpcHNwYWNlKGJ1ZiwgMSk7CiAJaWYgKGJ1Zi0+bGVuID09IDApIHsKKwkJc3RydWN0IHRvZG9faXRlbSAqaXRlbSA9IGFwcGVuZF9uZXdfdG9kbyh0b2RvX2xpc3QpOworCQlpdGVtLT5jb21tYW5kID0gVE9ET19OT09QOworCQlpdGVtLT5jb21taXQgPSBOVUxMOworCQlpdGVtLT5hcmdfbGVuID0gaXRlbS0+YXJnX29mZnNldCA9IGl0ZW0tPmZsYWdzID0gaXRlbS0+b2Zmc2V0X2luX2J1ZiA9IDA7CisJfQorCisJaWYgKGF1dG9zcXVhc2ggJiYgdG9kb19saXN0X3JlYXJyYW5nZV9zcXVhc2godG9kb19saXN0KSkKKwkJcmV0dXJuIC0xOworCisJaWYgKGNvbW1hbmRzLT5ucikKKwkJdG9kb19saXN0X2FkZF9leGVjX2NvbW1hbmRzKHRvZG9fbGlzdCwgY29tbWFuZHMpOworCisJaWYgKGNvdW50X2NvbW1hbmRzKHRvZG9fbGlzdCkgPT0gMCkgewogCQlhcHBseV9hdXRvc3Rhc2gob3B0cyk7CiAJCXNlcXVlbmNlcl9yZW1vdmVfc3RhdGUob3B0cyk7Ci0JCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOwogCiAJCXJldHVybiBlcnJvcihfKCJub3RoaW5nIHRvIGRvIikpOwogCX0KIAotCXRvZG9fbGlzdF9yZWxlYXNlKCZ0b2RvX2xpc3QpOworCXJlcyA9IGVkaXRfdG9kb19saXN0KHIsIHRvZG9fbGlzdCwgJm5ld190b2RvLCBzaG9ydHJldmlzaW9ucywKKwkJCSAgICAgc2hvcnRvbnRvLCBmbGFncyk7CisJaWYgKHJlcyA9PSAtMSkKKwkJcmV0dXJuIC0xOworCWVsc2UgaWYgKHJlcyA9PSAtMikgeworCQlhcHBseV9hdXRvc3Rhc2gob3B0cyk7CisJCXNlcXVlbmNlcl9yZW1vdmVfc3RhdGUob3B0cyk7CiAKLQlpZiAoY2hlY2tfdG9kb19saXN0KCkpIHsKLQkJY2hlY2tvdXRfb250byhvcHRzLCBvbnRvX25hbWUsIG9udG8sIG9yaWdfaGVhZCk7CisJCXJldHVybiAtMTsKKwl9IGVsc2UgaWYgKHJlcyA9PSAtMykgeworCQlhcHBseV9hdXRvc3Rhc2gob3B0cyk7CisJCXNlcXVlbmNlcl9yZW1vdmVfc3RhdGUob3B0cyk7CisJCXRvZG9fbGlzdF9yZWxlYXNlKCZuZXdfdG9kbyk7CisKKwkJcmV0dXJuIGVycm9yKF8oIm5vdGhpbmcgdG8gZG8iKSk7CisJfSBlbHNlIGlmIChyZXMgPT0gLTQpIHsKKwkJY2hlY2tvdXRfb250byhyLCBvcHRzLCBvbnRvX25hbWUsICZvbnRvLT5vYmplY3Qub2lkLCBvcmlnX2hlYWQpOworCQl0b2RvX2xpc3RfcmVsZWFzZSgmbmV3X3RvZG8pOworCiAJCXJldHVybiAtMTsKIAl9CiAKLQlpZiAodHJhbnNmb3JtX3RvZG9zKGZsYWdzICYgfihUT0RPX0xJU1RfU0hPUlRFTl9JRFMpKSkKLQkJcmV0dXJuIGVycm9yKF8oImNvdWxkIG5vdCB0cmFuc2Zvcm0gdGhlIHRvZG8gbGlzdCIpKTsKKwkvKiBFeHBhbmQgdGhlIGNvbW1pdCBJRHMgKi8KKwl0b2RvX2xpc3RfdG9fc3RyYnVmKHIsICZuZXdfdG9kbywgJmJ1ZjIsIC0xLCAwKTsKKwlzdHJidWZfc3dhcCgmbmV3X3RvZG8uYnVmLCAmYnVmMik7CisJc3RyYnVmX3JlbGVhc2UoJmJ1ZjIpOworCW5ld190b2RvLnRvdGFsX25yIC09IG5ld190b2RvLm5yOworCWlmICh0b2RvX2xpc3RfcGFyc2VfaW5zbl9idWZmZXIociwgbmV3X3RvZG8uYnVmLmJ1ZiwgJm5ld190b2RvKSA8IDApCisJCUJVRygiaW52YWxpZCB0b2RvIGxpc3QgYWZ0ZXIgZXhwYW5kaW5nIElEczpcbiVzIiwKKwkJICAgIG5ld190b2RvLmJ1Zi5idWYpOwogCi0JaWYgKG9wdHMtPmFsbG93X2ZmICYmIHNraXBfdW5uZWNlc3NhcnlfcGlja3MoJm9pZCkpCisJaWYgKG9wdHMtPmFsbG93X2ZmICYmIHNraXBfdW5uZWNlc3NhcnlfcGlja3MociwgJm5ld190b2RvLCAmb2lkKSkgeworCQl0b2RvX2xpc3RfcmVsZWFzZSgmbmV3X3RvZG8pOwogCQlyZXR1cm4gZXJyb3IoXygiY291bGQgbm90IHNraXAgdW5uZWNlc3NhcnkgcGljayBjb21tYW5kcyIpKTsKKwl9CiAKLQlpZiAoY2hlY2tvdXRfb250byhvcHRzLCBvbnRvX25hbWUsIG9pZF90b19oZXgoJm9pZCksIG9yaWdfaGVhZCkpCi0JCXJldHVybiAtMTsKKwlpZiAodG9kb19saXN0X3dyaXRlX3RvX2ZpbGUociwgJm5ld190b2RvLCB0b2RvX2ZpbGUsIE5VTEwsIE5VTEwsIC0xLAorCQkJCSAgICBmbGFncyAmIH4oVE9ET19MSVNUX1NIT1JURU5fSURTKSkpIHsKKwkJdG9kb19saXN0X3JlbGVhc2UoJm5ld190b2RvKTsKKwkJcmV0dXJuIGVycm9yX2Vycm5vKF8oImNvdWxkIG5vdCB3cml0ZSAnJXMnIiksIHRvZG9fZmlsZSk7CisJfQogCi0JaWYgKHJlcXVpcmVfY2xlYW5fd29ya190cmVlKCJyZWJhc2UiLCAiIiwgMSwgMSkpCi0JCXJldHVybiAtMTsKKwlyZXMgPSAtMTsKIAotCXJldHVybiBzZXF1ZW5jZXJfY29udGludWUob3B0cyk7CisJaWYgKGNoZWNrb3V0X29udG8ociwgb3B0cywgb250b19uYW1lLCAmb2lkLCBvcmlnX2hlYWQpKQorCQlnb3RvIGNsZWFudXA7CisKKwlpZiAocmVxdWlyZV9jbGVhbl93b3JrX3RyZWUociwgInJlYmFzZSIsICIiLCAxLCAxKSkKKwkJZ290byBjbGVhbnVwOworCisJdG9kb19saXN0X3dyaXRlX3RvdGFsX25yKCZuZXdfdG9kbyk7CisJcmVzID0gcGlja19jb21taXRzKHIsICZuZXdfdG9kbywgb3B0cyk7CisKK2NsZWFudXA6CisJdG9kb19saXN0X3JlbGVhc2UoJm5ld190b2RvKTsKKworCXJldHVybiByZXM7CiB9CiAKIHN0cnVjdCBzdWJqZWN0Mml0ZW1fZW50cnkgewpAQCAtNDkxNSw5ICs1MTQ5LDE1IEBACiB9OwogCiBzdGF0aWMgaW50IHN1YmplY3QyaXRlbV9jbXAoY29uc3Qgdm9pZCAqZm5kYXRhLAotCQkJICAgIGNvbnN0IHN0cnVjdCBzdWJqZWN0Mml0ZW1fZW50cnkgKmEsCi0JCQkgICAgY29uc3Qgc3RydWN0IHN1YmplY3QyaXRlbV9lbnRyeSAqYiwgY29uc3Qgdm9pZCAqa2V5KQorCQkJICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplcHRyLAorCQkJICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeV9vcl9rZXksCisJCQkgICAgY29uc3Qgdm9pZCAqa2V5KQogeworCWNvbnN0IHN0cnVjdCBzdWJqZWN0Mml0ZW1fZW50cnkgKmEsICpiOworCisJYSA9IGNvbnRhaW5lcl9vZihlcHRyLCBjb25zdCBzdHJ1Y3Qgc3ViamVjdDJpdGVtX2VudHJ5LCBlbnRyeSk7CisJYiA9IGNvbnRhaW5lcl9vZihlbnRyeV9vcl9rZXksIGNvbnN0IHN0cnVjdCBzdWJqZWN0Mml0ZW1fZW50cnksIGVudHJ5KTsKKwogCXJldHVybiBrZXkgPyBzdHJjbXAoYS0+c3ViamVjdCwga2V5KSA6IHN0cmNtcChhLT5zdWJqZWN0LCBiLT5zdWJqZWN0KTsKIH0KIApAQCAtNDkzMiwyMSArNTE3MiwxMyBAQAogICogbWVzc2FnZSB3aWxsIGhhdmUgdG8gYmUgcmV0cmlldmVkIGZyb20gdGhlIGNvbW1pdCAoYXMgdGhlIG9uZWxpbmUgaW4gdGhlCiAgKiBzY3JpcHQgY2Fubm90IGJlIHRydXN0ZWQpIGluIG9yZGVyIHRvIG5vcm1hbGl6ZSB0aGUgYXV0b3NxdWFzaCBhcnJhbmdlbWVudC4KICAqLwotaW50IHJlYXJyYW5nZV9zcXVhc2godm9pZCkKK2ludCB0b2RvX2xpc3RfcmVhcnJhbmdlX3NxdWFzaChzdHJ1Y3QgdG9kb19saXN0ICp0b2RvX2xpc3QpCiB7Ci0JY29uc3QgY2hhciAqdG9kb19maWxlID0gcmViYXNlX3BhdGhfdG9kbygpOwotCXN0cnVjdCB0b2RvX2xpc3QgdG9kb19saXN0ID0gVE9ET19MSVNUX0lOSVQ7CiAJc3RydWN0IGhhc2htYXAgc3ViamVjdDJpdGVtOwotCWludCByZXMgPSAwLCByZWFycmFuZ2VkID0gMCwgKm5leHQsICp0YWlsLCBpOworCWludCByZWFycmFuZ2VkID0gMCwgKm5leHQsICp0YWlsLCBpLCBuciA9IDAsIGFsbG9jID0gMDsKIAljaGFyICoqc3ViamVjdHM7CiAJc3RydWN0IGNvbW1pdF90b2RvX2l0ZW0gY29tbWl0X3RvZG87Ci0KLQlpZiAoc3RyYnVmX3JlYWRfZmlsZV9vcl93aGluZSgmdG9kb19saXN0LmJ1ZiwgdG9kb19maWxlKSA8IDApCi0JCXJldHVybiAtMTsKLQlpZiAocGFyc2VfaW5zbl9idWZmZXIodG9kb19saXN0LmJ1Zi5idWYsICZ0b2RvX2xpc3QpIDwgMCkgewotCQl0b2RvX2xpc3RfcmVsZWFzZSgmdG9kb19saXN0KTsKLQkJcmV0dXJuIC0xOwotCX0KKwlzdHJ1Y3QgdG9kb19pdGVtICppdGVtcyA9IE5VTEw7CiAKIAlpbml0X2NvbW1pdF90b2RvX2l0ZW0oJmNvbW1pdF90b2RvKTsKIAkvKgpAQCAtNDk1OCwxNCArNTE5MCwxMyBAQAogCSAqIEluIHRoYXQgY2FzZSwgbGFzdFtpXSB3aWxsIGluZGljYXRlIHRoZSBpbmRleCBvZiB0aGUgbGF0ZXN0IGl0ZW0gdG8KIAkgKiBiZSBtb3ZlZCB0byBhcHBlYXIgYWZ0ZXIgdGhlIGkndGguCiAJICovCi0JaGFzaG1hcF9pbml0KCZzdWJqZWN0Mml0ZW0sIChoYXNobWFwX2NtcF9mbikgc3ViamVjdDJpdGVtX2NtcCwKLQkJICAgICBOVUxMLCB0b2RvX2xpc3QubnIpOwotCUFMTE9DX0FSUkFZKG5leHQsIHRvZG9fbGlzdC5ucik7Ci0JQUxMT0NfQVJSQVkodGFpbCwgdG9kb19saXN0Lm5yKTsKLQlBTExPQ19BUlJBWShzdWJqZWN0cywgdG9kb19saXN0Lm5yKTsKLQlmb3IgKGkgPSAwOyBpIDwgdG9kb19saXN0Lm5yOyBpKyspIHsKKwloYXNobWFwX2luaXQoJnN1YmplY3QyaXRlbSwgc3ViamVjdDJpdGVtX2NtcCwgTlVMTCwgdG9kb19saXN0LT5ucik7CisJQUxMT0NfQVJSQVkobmV4dCwgdG9kb19saXN0LT5ucik7CisJQUxMT0NfQVJSQVkodGFpbCwgdG9kb19saXN0LT5ucik7CisJQUxMT0NfQVJSQVkoc3ViamVjdHMsIHRvZG9fbGlzdC0+bnIpOworCWZvciAoaSA9IDA7IGkgPCB0b2RvX2xpc3QtPm5yOyBpKyspIHsKIAkJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQkJc3RydWN0IHRvZG9faXRlbSAqaXRlbSA9IHRvZG9fbGlzdC5pdGVtcyArIGk7CisJCXN0cnVjdCB0b2RvX2l0ZW0gKml0ZW0gPSB0b2RvX2xpc3QtPml0ZW1zICsgaTsKIAkJY29uc3QgY2hhciAqY29tbWl0X2J1ZmZlciwgKnN1YmplY3QsICpwOwogCQlzaXplX3Qgc3ViamVjdF9sZW47CiAJCWludCBpMiA9IC0xOwpAQCAtNDk3OCw3ICs1MjA5LDYgQEAKIAkJfQogCiAJCWlmIChpc19maXh1cChpdGVtLT5jb21tYW5kKSkgewotCQkJdG9kb19saXN0X3JlbGVhc2UoJnRvZG9fbGlzdCk7CiAJCQljbGVhcl9jb21taXRfdG9kb19pdGVtKCZjb21taXRfdG9kbyk7CiAJCQlyZXR1cm4gZXJyb3IoXygidGhlIHNjcmlwdCB3YXMgYWxyZWFkeSByZWFycmFuZ2VkLiIpKTsKIAkJfQpAQCAtNDk4Niw3ICs1MjE2LDcgQEAKIAkJKmNvbW1pdF90b2RvX2l0ZW1fYXQoJmNvbW1pdF90b2RvLCBpdGVtLT5jb21taXQpID0gaXRlbTsKIAogCQlwYXJzZV9jb21taXQoaXRlbS0+Y29tbWl0KTsKLQkJY29tbWl0X2J1ZmZlciA9IGdldF9jb21taXRfYnVmZmVyKGl0ZW0tPmNvbW1pdCwgTlVMTCk7CisJCWNvbW1pdF9idWZmZXIgPSBsb2dtc2dfcmVlbmNvZGUoaXRlbS0+Y29tbWl0LCBOVUxMLCAiVVRGLTgiKTsKIAkJZmluZF9jb21taXRfc3ViamVjdChjb21taXRfYnVmZmVyLCAmc3ViamVjdCk7CiAJCWZvcm1hdF9zdWJqZWN0KCZidWYsIHN1YmplY3QsICIgIik7CiAJCXN1YmplY3QgPSBzdWJqZWN0c1tpXSA9IHN0cmJ1Zl9kZXRhY2goJmJ1ZiwgJnN1YmplY3RfbGVuKTsKQEAgLTUwMDMsOCArNTIzMywxMSBAQAogCQkJCQlicmVhazsKIAkJCX0KIAotCQkJaWYgKChlbnRyeSA9IGhhc2htYXBfZ2V0X2Zyb21faGFzaCgmc3ViamVjdDJpdGVtLAotCQkJCQkJCSAgIHN0cmhhc2gocCksIHApKSkKKwkJCWVudHJ5ID0gaGFzaG1hcF9nZXRfZW50cnlfZnJvbV9oYXNoKCZzdWJqZWN0Mml0ZW0sCisJCQkJCQlzdHJoYXNoKHApLCBwLAorCQkJCQkJc3RydWN0IHN1YmplY3QyaXRlbV9lbnRyeSwKKwkJCQkJCWVudHJ5KTsKKwkJCWlmIChlbnRyeSkKIAkJCQkvKiBmb3VuZCBieSB0aXRsZSAqLwogCQkJCWkyID0gZW50cnktPmk7CiAJCQllbHNlIGlmICghc3RyY2hyKHAsICcgJykgJiYKQEAgLTUwMTMsNyArNTI0Niw3IEBACiAJCQkJICpjb21taXRfdG9kb19pdGVtX2F0KCZjb21taXRfdG9kbywgY29tbWl0MikpCiAJCQkJLyogZm91bmQgYnkgY29tbWl0IG5hbWUgKi8KIAkJCQlpMiA9ICpjb21taXRfdG9kb19pdGVtX2F0KCZjb21taXRfdG9kbywgY29tbWl0MikKLQkJCQkJLSB0b2RvX2xpc3QuaXRlbXM7CisJCQkJCS0gdG9kb19saXN0LT5pdGVtczsKIAkJCWVsc2UgewogCQkJCS8qIGNvcHkgY2FuIGJlIGEgcHJlZml4IG9mIHRoZSBjb21taXQgc3ViamVjdCAqLwogCQkJCWZvciAoaTIgPSAwOyBpMiA8IGk7IGkyKyspCkBAIC01MDI2LDcgKzUyNTksNyBAQAogCQl9CiAJCWlmIChpMiA+PSAwKSB7CiAJCQlyZWFycmFuZ2VkID0gMTsKLQkJCXRvZG9fbGlzdC5pdGVtc1tpXS5jb21tYW5kID0KKwkJCXRvZG9fbGlzdC0+aXRlbXNbaV0uY29tbWFuZCA9CiAJCQkJc3RhcnRzX3dpdGgoc3ViamVjdCwgImZpeHVwISIpID8KIAkJCQlUT0RPX0ZJWFVQIDogVE9ET19TUVVBU0g7CiAJCQlpZiAobmV4dFtpMl0gPCAwKQpAQCAtNTAzOCwxNiArNTI3MSwxNSBAQAogCQkJCQkJc3RyaGFzaChzdWJqZWN0KSwgc3ViamVjdCkpIHsKIAkJCUZMRVhfQUxMT0NfTUVNKGVudHJ5LCBzdWJqZWN0LCBzdWJqZWN0LCBzdWJqZWN0X2xlbik7CiAJCQllbnRyeS0+aSA9IGk7Ci0JCQloYXNobWFwX2VudHJ5X2luaXQoZW50cnksIHN0cmhhc2goZW50cnktPnN1YmplY3QpKTsKLQkJCWhhc2htYXBfcHV0KCZzdWJqZWN0Mml0ZW0sIGVudHJ5KTsKKwkJCWhhc2htYXBfZW50cnlfaW5pdCgmZW50cnktPmVudHJ5LAorCQkJCQlzdHJoYXNoKGVudHJ5LT5zdWJqZWN0KSk7CisJCQloYXNobWFwX3B1dCgmc3ViamVjdDJpdGVtLCAmZW50cnktPmVudHJ5KTsKIAkJfQogCX0KIAogCWlmIChyZWFycmFuZ2VkKSB7Ci0JCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7Ci0KLQkJZm9yIChpID0gMDsgaSA8IHRvZG9fbGlzdC5ucjsgaSsrKSB7Ci0JCQllbnVtIHRvZG9fY29tbWFuZCBjb21tYW5kID0gdG9kb19saXN0Lml0ZW1zW2ldLmNvbW1hbmQ7CisJCWZvciAoaSA9IDA7IGkgPCB0b2RvX2xpc3QtPm5yOyBpKyspIHsKKwkJCWVudW0gdG9kb19jb21tYW5kIGNvbW1hbmQgPSB0b2RvX2xpc3QtPml0ZW1zW2ldLmNvbW1hbmQ7CiAJCQlpbnQgY3VyID0gaTsKIAogCQkJLyoKQEAgLTUwNTgsMzcgKzUyOTAsMjYgQEAKIAkJCQljb250aW51ZTsKIAogCQkJd2hpbGUgKGN1ciA+PSAwKSB7Ci0JCQkJY29uc3QgY2hhciAqYm9sID0KLQkJCQkJZ2V0X2l0ZW1fbGluZSgmdG9kb19saXN0LCBjdXIpOwotCQkJCWNvbnN0IGNoYXIgKmVvbCA9Ci0JCQkJCWdldF9pdGVtX2xpbmUoJnRvZG9fbGlzdCwgY3VyICsgMSk7Ci0KLQkJCQkvKiByZXBsYWNlICdwaWNrJywgYnkgJ2ZpeHVwJyBvciAnc3F1YXNoJyAqLwotCQkJCWNvbW1hbmQgPSB0b2RvX2xpc3QuaXRlbXNbY3VyXS5jb21tYW5kOwotCQkJCWlmIChpc19maXh1cChjb21tYW5kKSkgewotCQkJCQlzdHJidWZfYWRkc3RyKCZidWYsCi0JCQkJCQl0b2RvX2NvbW1hbmRfaW5mb1tjb21tYW5kXS5zdHIpOwotCQkJCQlib2wgKz0gc3RyY3Nwbihib2wsICIgXHQiKTsKLQkJCQl9Ci0KLQkJCQlzdHJidWZfYWRkKCZidWYsIGJvbCwgZW9sIC0gYm9sKTsKLQorCQkJCUFMTE9DX0dST1coaXRlbXMsIG5yICsgMSwgYWxsb2MpOworCQkJCWl0ZW1zW25yKytdID0gdG9kb19saXN0LT5pdGVtc1tjdXJdOwogCQkJCWN1ciA9IG5leHRbY3VyXTsKIAkJCX0KIAkJfQogCi0JCXJlcyA9IHJld3JpdGVfZmlsZSh0b2RvX2ZpbGUsIGJ1Zi5idWYsIGJ1Zi5sZW4pOwotCQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKKwkJRlJFRV9BTkRfTlVMTCh0b2RvX2xpc3QtPml0ZW1zKTsKKwkJdG9kb19saXN0LT5pdGVtcyA9IGl0ZW1zOworCQl0b2RvX2xpc3QtPm5yID0gbnI7CisJCXRvZG9fbGlzdC0+YWxsb2MgPSBhbGxvYzsKIAl9CiAKIAlmcmVlKG5leHQpOwogCWZyZWUodGFpbCk7Ci0JZm9yIChpID0gMDsgaSA8IHRvZG9fbGlzdC5ucjsgaSsrKQorCWZvciAoaSA9IDA7IGkgPCB0b2RvX2xpc3QtPm5yOyBpKyspCiAJCWZyZWUoc3ViamVjdHNbaV0pOwogCWZyZWUoc3ViamVjdHMpOwotCWhhc2htYXBfZnJlZSgmc3ViamVjdDJpdGVtLCAxKTsKLQl0b2RvX2xpc3RfcmVsZWFzZSgmdG9kb19saXN0KTsKKwloYXNobWFwX2ZyZWVfZW50cmllcygmc3ViamVjdDJpdGVtLCBzdHJ1Y3Qgc3ViamVjdDJpdGVtX2VudHJ5LCBlbnRyeSk7CiAKIAljbGVhcl9jb21taXRfdG9kb19pdGVtKCZjb21taXRfdG9kbyk7Ci0JcmV0dXJuIHJlczsKKworCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvc2VxdWVuY2VyLmggYi9zZXF1ZW5jZXIuaAppbmRleCA1MDcxYTczLi43MThhMDc0IDEwMDY0NAotLS0gYS9zZXF1ZW5jZXIuaAorKysgYi9zZXF1ZW5jZXIuaApAQCAtNSwxMCArNSwxMyBAQAogI2luY2x1ZGUgInN0cmJ1Zi5oIgogCiBzdHJ1Y3QgY29tbWl0Oworc3RydWN0IHJlcG9zaXRvcnk7CiAKIGNvbnN0IGNoYXIgKmdpdF9wYXRoX2NvbW1pdF9lZGl0bXNnKHZvaWQpOwogY29uc3QgY2hhciAqZ2l0X3BhdGhfc2VxX2Rpcih2b2lkKTsKIGNvbnN0IGNoYXIgKnJlYmFzZV9wYXRoX3RvZG8odm9pZCk7Citjb25zdCBjaGFyICpyZWJhc2VfcGF0aF90b2RvX2JhY2t1cCh2b2lkKTsKK2NvbnN0IGNoYXIgKnJlYmFzZV9wYXRoX2Ryb3BwZWQodm9pZCk7CiAKICNkZWZpbmUgQVBQRU5EX1NJR05PRkZfREVEVVAgKDF1IDw8IDApCiAKQEAgLTM3LDEzICs0MCwxNyBAQAogCWludCBhbGxvd19yZXJlcmVfYXV0bzsKIAlpbnQgYWxsb3dfZW1wdHk7CiAJaW50IGFsbG93X2VtcHR5X21lc3NhZ2U7CisJaW50IGRyb3BfcmVkdW5kYW50X2NvbW1pdHM7CiAJaW50IGtlZXBfcmVkdW5kYW50X2NvbW1pdHM7CiAJaW50IHZlcmJvc2U7CisJaW50IHF1aWV0OworCWludCByZXNjaGVkdWxlX2ZhaWxlZF9leGVjOwogCiAJaW50IG1haW5saW5lOwogCiAJY2hhciAqZ3BnX3NpZ247CiAJZW51bSBjb21taXRfbXNnX2NsZWFudXBfbW9kZSBkZWZhdWx0X21zZ19jbGVhbnVwOworCWludCBleHBsaWNpdF9jbGVhbnVwOwogCiAJLyogTWVyZ2Ugc3RyYXRlZ3kgKi8KIAljaGFyICpzdHJhdGVneTsKQEAgLTYzLDIzICs3MCw3MSBAQAogfTsKICNkZWZpbmUgUkVQTEFZX09QVFNfSU5JVCB7IC5hY3Rpb24gPSAtMSwgLmN1cnJlbnRfZml4dXBzID0gU1RSQlVGX0lOSVQgfQogCi1lbnVtIG1pc3NpbmdfY29tbWl0X2NoZWNrX2xldmVsIHsKLQlNSVNTSU5HX0NPTU1JVF9DSEVDS19JR05PUkUgPSAwLAotCU1JU1NJTkdfQ09NTUlUX0NIRUNLX1dBUk4sCi0JTUlTU0lOR19DT01NSVRfQ0hFQ0tfRVJST1IKKy8qCisgKiBOb3RlIHRoYXQgb3JkZXJpbmcgbWF0dGVycyBpbiB0aGlzIGVudW0uIE5vdCBvbmx5IG11c3QgaXQgbWF0Y2ggdGhlIG1hcHBpbmcKKyAqIG9mIHRvZG9fY29tbWFuZF9pbmZvIChpbiBzZXF1ZW5jZXIuYyksIGl0IGlzIGFsc28gZGl2aWRlZCBpbnRvIHNldmVyYWwKKyAqIHNlY3Rpb25zIHRoYXQgbWF0dGVyLiAgV2hlbiBhZGRpbmcgbmV3IGNvbW1hbmRzLCBtYWtlIHN1cmUgeW91IGFkZCBpdCBpbiB0aGUKKyAqIHJpZ2h0IHNlY3Rpb24uCisgKi8KK2VudW0gdG9kb19jb21tYW5kIHsKKwkvKiBjb21tYW5kcyB0aGF0IGhhbmRsZSBjb21taXRzICovCisJVE9ET19QSUNLID0gMCwKKwlUT0RPX1JFVkVSVCwKKwlUT0RPX0VESVQsCisJVE9ET19SRVdPUkQsCisJVE9ET19GSVhVUCwKKwlUT0RPX1NRVUFTSCwKKwkvKiBjb21tYW5kcyB0aGF0IGRvIHNvbWV0aGluZyBlbHNlIHRoYW4gaGFuZGxpbmcgYSBzaW5nbGUgY29tbWl0ICovCisJVE9ET19FWEVDLAorCVRPRE9fQlJFQUssCisJVE9ET19MQUJFTCwKKwlUT0RPX1JFU0VULAorCVRPRE9fTUVSR0UsCisJLyogY29tbWFuZHMgdGhhdCBkbyBub3RoaW5nIGJ1dCBhcmUgY291bnRlZCBmb3IgcmVwb3J0aW5nIHByb2dyZXNzICovCisJVE9ET19OT09QLAorCVRPRE9fRFJPUCwKKwkvKiBjb21tZW50cyAobm90IGNvdW50ZWQgZm9yIHJlcG9ydGluZyBwcm9ncmVzcykgKi8KKwlUT0RPX0NPTU1FTlQKIH07CiAKLWludCB3cml0ZV9tZXNzYWdlKGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbiwgY29uc3QgY2hhciAqZmlsZW5hbWUsCi0JCSAgaW50IGFwcGVuZF9lb2wpOworc3RydWN0IHRvZG9faXRlbSB7CisJZW51bSB0b2RvX2NvbW1hbmQgY29tbWFuZDsKKwlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CisJdW5zaWduZWQgaW50IGZsYWdzOworCWludCBhcmdfbGVuOworCS8qIFRoZSBvZmZzZXQgb2YgdGhlIGNvbW1hbmQgYW5kIGl0cyBhcmd1bWVudCBpbiB0aGUgc3RyYnVmICovCisJc2l6ZV90IG9mZnNldF9pbl9idWYsIGFyZ19vZmZzZXQ7Cit9OworCitzdHJ1Y3QgdG9kb19saXN0IHsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1ZjsKKwlzdHJ1Y3QgdG9kb19pdGVtICppdGVtczsKKwlpbnQgbnIsIGFsbG9jLCBjdXJyZW50OworCWludCBkb25lX25yLCB0b3RhbF9ucjsKKwlzdHJ1Y3Qgc3RhdF9kYXRhIHN0YXQ7Cit9OworCisjZGVmaW5lIFRPRE9fTElTVF9JTklUIHsgU1RSQlVGX0lOSVQgfQorCitpbnQgdG9kb19saXN0X3BhcnNlX2luc25fYnVmZmVyKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjaGFyICpidWYsCisJCQkJc3RydWN0IHRvZG9fbGlzdCAqdG9kb19saXN0KTsKK2ludCB0b2RvX2xpc3Rfd3JpdGVfdG9fZmlsZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHRvZG9fbGlzdCAqdG9kb19saXN0LAorCQkJICAgIGNvbnN0IGNoYXIgKmZpbGUsIGNvbnN0IGNoYXIgKnNob3J0cmV2aXNpb25zLAorCQkJICAgIGNvbnN0IGNoYXIgKnNob3J0b250bywgaW50IG51bSwgdW5zaWduZWQgZmxhZ3MpOwordm9pZCB0b2RvX2xpc3RfcmVsZWFzZShzdHJ1Y3QgdG9kb19saXN0ICp0b2RvX2xpc3QpOworY29uc3QgY2hhciAqdG9kb19pdGVtX2dldF9hcmcoc3RydWN0IHRvZG9fbGlzdCAqdG9kb19saXN0LAorCQkJICAgICAgc3RydWN0IHRvZG9faXRlbSAqaXRlbSk7CiAKIC8qIENhbGwgdGhpcyB0byBzZXR1cCBkZWZhdWx0cyBiZWZvcmUgcGFyc2luZyBjb21tYW5kIGxpbmUgb3B0aW9ucyAqLwogdm9pZCBzZXF1ZW5jZXJfaW5pdF9jb25maWcoc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKTsKLWludCBzZXF1ZW5jZXJfcGlja19yZXZpc2lvbnMoc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKTsKLWludCBzZXF1ZW5jZXJfY29udGludWUoc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKTsKLWludCBzZXF1ZW5jZXJfcm9sbGJhY2soc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKTsKK2ludCBzZXF1ZW5jZXJfcGlja19yZXZpc2lvbnMoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkgICAgIHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cyk7CitpbnQgc2VxdWVuY2VyX2NvbnRpbnVlKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLCBzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMpOworaW50IHNlcXVlbmNlcl9yb2xsYmFjayhzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKTsKK2ludCBzZXF1ZW5jZXJfc2tpcChzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgc3RydWN0IHJlcGxheV9vcHRzICpvcHRzKTsKIGludCBzZXF1ZW5jZXJfcmVtb3ZlX3N0YXRlKHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cyk7CiAKLSNkZWZpbmUgVE9ET19MSVNUX0tFRVBfRU1QVFkgKDFVIDw8IDApCisvKiAjZGVmaW5lIFRPRE9fTElTVF9LRUVQX0VNUFRZICgxVSA8PCAwKSAqLyAvKiBObyBsb25nZXIgdXNlZCAqLwogI2RlZmluZSBUT0RPX0xJU1RfU0hPUlRFTl9JRFMgKDFVIDw8IDEpCiAjZGVmaW5lIFRPRE9fTElTVF9BQkJSRVZJQVRFX0NNRFMgKDFVIDw8IDIpCiAjZGVmaW5lIFRPRE9fTElTVF9SRUJBU0VfTUVSR0VTICgxVSA8PCAzKQpAQCAtODksMjAgKzE0NCwyNCBAQAogICogY29tbWl0cyBzaG91bGQgYmUgcmViYXNlZCBvbnRvIHRoZSBuZXcgYmFzZSwgdGhpcyBmbGFnIG5lZWRzIHRvIGJlIHBhc3NlZC4KICAqLwogI2RlZmluZSBUT0RPX0xJU1RfUkVCQVNFX0NPVVNJTlMgKDFVIDw8IDQpCi1pbnQgc2VxdWVuY2VyX21ha2Vfc2NyaXB0KEZJTEUgKm91dCwgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LAotCQkJICB1bnNpZ25lZCBmbGFncyk7CisjZGVmaW5lIFRPRE9fTElTVF9BUFBFTkRfVE9ET19IRUxQICgxVSA8PCA1KQorLyoKKyAqIFdoZW4gZ2VuZXJhdGluZyBhIHNjcmlwdCB0aGF0IHJlYmFzZXMgbWVyZ2VzIHdpdGggYC0tcm9vdGAgKmFuZCogd2l0aAorICogYC0tb250b2AsIHdlIGRvIG5vdCB3YW50IHRvIHJlLWdlbmVyYXRlIHRoZSByb290IGNvbW1pdHMuCisgKi8KKyNkZWZpbmUgVE9ET19MSVNUX1JPT1RfV0lUSF9PTlRPICgxVSA8PCA2KQogCi1pbnQgc2VxdWVuY2VyX2FkZF9leGVjX2NvbW1hbmRzKGNvbnN0IGNoYXIgKmNvbW1hbmQpOwotaW50IHRyYW5zZm9ybV90b2Rvcyh1bnNpZ25lZCBmbGFncyk7Ci1lbnVtIG1pc3NpbmdfY29tbWl0X2NoZWNrX2xldmVsIGdldF9taXNzaW5nX2NvbW1pdF9jaGVja19sZXZlbCh2b2lkKTsKLWludCBjaGVja190b2RvX2xpc3Qodm9pZCk7Ci1pbnQgY29tcGxldGVfYWN0aW9uKHN0cnVjdCByZXBsYXlfb3B0cyAqb3B0cywgdW5zaWduZWQgZmxhZ3MsCisKK2ludCBzZXF1ZW5jZXJfbWFrZV9zY3JpcHQoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBzdHJidWYgKm91dCwgaW50IGFyZ2MsCisJCQkgIGNvbnN0IGNoYXIgKiphcmd2LCB1bnNpZ25lZCBmbGFncyk7CisKK3ZvaWQgdG9kb19saXN0X2FkZF9leGVjX2NvbW1hbmRzKHN0cnVjdCB0b2RvX2xpc3QgKnRvZG9fbGlzdCwKKwkJCQkgc3RydWN0IHN0cmluZ19saXN0ICpjb21tYW5kcyk7CitpbnQgY29tcGxldGVfYWN0aW9uKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMsIHVuc2lnbmVkIGZsYWdzLAogCQkgICAgY29uc3QgY2hhciAqc2hvcnRyZXZpc2lvbnMsIGNvbnN0IGNoYXIgKm9udG9fbmFtZSwKLQkJICAgIGNvbnN0IGNoYXIgKm9udG8sIGNvbnN0IGNoYXIgKm9yaWdfaGVhZCwgY29uc3QgY2hhciAqY21kLAotCQkgICAgdW5zaWduZWQgYXV0b3NxdWFzaCk7Ci1pbnQgcmVhcnJhbmdlX3NxdWFzaCh2b2lkKTsKLQotZXh0ZXJuIGNvbnN0IGNoYXIgc2lnbl9vZmZfaGVhZGVyW107CisJCSAgICBzdHJ1Y3QgY29tbWl0ICpvbnRvLCBjb25zdCBjaGFyICpvcmlnX2hlYWQsIHN0cnVjdCBzdHJpbmdfbGlzdCAqY29tbWFuZHMsCisJCSAgICB1bnNpZ25lZCBhdXRvc3F1YXNoLCBzdHJ1Y3QgdG9kb19saXN0ICp0b2RvX2xpc3QpOworaW50IHRvZG9fbGlzdF9yZWFycmFuZ2Vfc3F1YXNoKHN0cnVjdCB0b2RvX2xpc3QgKnRvZG9fbGlzdCk7CiAKIC8qCiAgKiBBcHBlbmQgYSBzaWdub2ZmIHRvIHRoZSBjb21taXQgbWVzc2FnZSBpbiAibXNnYnVmIi4gVGhlIGlnbm9yZV9mb290ZXIKQEAgLTExMiw3ICsxNzEsMTQgQEAKICAqLwogdm9pZCBhcHBlbmRfc2lnbm9mZihzdHJ1Y3Qgc3RyYnVmICptc2didWYsIHNpemVfdCBpZ25vcmVfZm9vdGVyLCB1bnNpZ25lZCBmbGFnKTsKIAotdm9pZCBhcHBlbmRfY29uZmxpY3RzX2hpbnQoc3RydWN0IHN0cmJ1ZiAqbXNnYnVmKTsKK3ZvaWQgYXBwZW5kX2NvbmZsaWN0c19oaW50KHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQlzdHJ1Y3Qgc3RyYnVmICptc2didWYsIGVudW0gY29tbWl0X21zZ19jbGVhbnVwX21vZGUgY2xlYW51cF9tb2RlKTsKK2VudW0gY29tbWl0X21zZ19jbGVhbnVwX21vZGUgZ2V0X2NsZWFudXBfbW9kZShjb25zdCBjaGFyICpjbGVhbnVwX2FyZywKKwlpbnQgdXNlX2VkaXRvcik7CisKK3ZvaWQgY2xlYW51cF9tZXNzYWdlKHN0cnVjdCBzdHJidWYgKm1zZ2J1ZiwKKwllbnVtIGNvbW1pdF9tc2dfY2xlYW51cF9tb2RlIGNsZWFudXBfbW9kZSwgaW50IHZlcmJvc2UpOworCiBpbnQgbWVzc2FnZV9pc19lbXB0eShjb25zdCBzdHJ1Y3Qgc3RyYnVmICpzYiwKIAkJICAgICBlbnVtIGNvbW1pdF9tc2dfY2xlYW51cF9tb2RlIGNsZWFudXBfbW9kZSk7CiBpbnQgdGVtcGxhdGVfdW50b3VjaGVkKGNvbnN0IHN0cnVjdCBzdHJidWYgKnNiLCBjb25zdCBjaGFyICp0ZW1wbGF0ZV9maWxlLApAQCAtMTIxLDIwICsxODcsMjMgQEAKIAkJCSAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpuZXdfaGVhZCwKIAkJCSAgICBjb25zdCBjaGFyICphY3Rpb24sIGNvbnN0IHN0cnVjdCBzdHJidWYgKm1zZywKIAkJCSAgICBzdHJ1Y3Qgc3RyYnVmICplcnIpOwotdm9pZCBjb21taXRfcG9zdF9yZXdyaXRlKGNvbnN0IHN0cnVjdCBjb21taXQgKmN1cnJlbnRfaGVhZCwKK3ZvaWQgY29tbWl0X3Bvc3RfcmV3cml0ZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCSBjb25zdCBzdHJ1Y3QgY29tbWl0ICpjdXJyZW50X2hlYWQsCiAJCQkgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqbmV3X2hlYWQpOwogCi1pbnQgcHJlcGFyZV9icmFuY2hfdG9fYmVfcmViYXNlZChzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMsIGNvbnN0IGNoYXIgKmNvbW1pdCk7Ci0KICNkZWZpbmUgU1VNTUFSWV9JTklUSUFMX0NPTU1JVCAgICgxIDw8IDApCiAjZGVmaW5lIFNVTU1BUllfU0hPV19BVVRIT1JfREFURSAoMSA8PCAxKQotdm9pZCBwcmludF9jb21taXRfc3VtbWFyeShjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKK3ZvaWQgcHJpbnRfY29tbWl0X3N1bW1hcnkoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkgIGNvbnN0IGNoYXIgKnByZWZpeCwKKwkJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAogCQkJICB1bnNpZ25lZCBpbnQgZmxhZ3MpOwogCiBpbnQgcmVhZF9hdXRob3Jfc2NyaXB0KGNvbnN0IGNoYXIgKnBhdGgsIGNoYXIgKipuYW1lLCBjaGFyICoqZW1haWwsIGNoYXIgKipkYXRlLAogCQkgICAgICAgaW50IGFsbG93X21pc3NpbmcpOwotI2VuZGlmCi0KIHZvaWQgcGFyc2Vfc3RyYXRlZ3lfb3B0cyhzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMsIGNoYXIgKnJhd19vcHRzKTsKIGludCB3cml0ZV9iYXNpY19zdGF0ZShzdHJ1Y3QgcmVwbGF5X29wdHMgKm9wdHMsIGNvbnN0IGNoYXIgKmhlYWRfbmFtZSwKLQkJICAgICAgY29uc3QgY2hhciAqb250bywgY29uc3QgY2hhciAqb3JpZ19oZWFkKTsKKwkJICAgICAgc3RydWN0IGNvbW1pdCAqb250bywgY29uc3QgY2hhciAqb3JpZ19oZWFkKTsKK3ZvaWQgc2VxdWVuY2VyX3Bvc3RfY29tbWl0X2NsZWFudXAoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGludCB2ZXJib3NlKTsKK2ludCBzZXF1ZW5jZXJfZ2V0X2xhc3RfY29tbWFuZChzdHJ1Y3QgcmVwb3NpdG9yeSogciwKKwkJCSAgICAgICBlbnVtIHJlcGxheV9hY3Rpb24gKmFjdGlvbik7CisjZW5kaWYgLyogU0VRVUVOQ0VSX0ggKi8KZGlmZiAtLWdpdCBhL3NlcnZlLmMgYi9zZXJ2ZS5jCmluZGV4IGJkYTA4NWYuLjMxNzI1NmMgMTAwNjQ0Ci0tLSBhL3NlcnZlLmMKKysrIGIvc2VydmUuYwpAQCAtMTY3LDcgKzE2Nyw4IEBACiAKIAlwYWNrZXRfcmVhZGVyX2luaXQoJnJlYWRlciwgMCwgTlVMTCwgMCwKIAkJCSAgIFBBQ0tFVF9SRUFEX0NIT01QX05FV0xJTkUgfAotCQkJICAgUEFDS0VUX1JFQURfR0VOVExFX09OX0VPRik7CisJCQkgICBQQUNLRVRfUkVBRF9HRU5UTEVfT05fRU9GIHwKKwkJCSAgIFBBQ0tFVF9SRUFEX0RJRV9PTl9FUlJfUEFDS0VUKTsKIAogCS8qCiAJICogQ2hlY2sgdG8gc2VlIGlmIHRoZSBjbGllbnQgY2xvc2VkIHRoZWlyIGVuZCBiZWZvcmUgc2VuZGluZyBhbm90aGVyCkBAIC0xNzUsNyArMTc2LDcgQEAKIAkgKi8KIAlpZiAocGFja2V0X3JlYWRlcl9wZWVrKCZyZWFkZXIpID09IFBBQ0tFVF9SRUFEX0VPRikKIAkJcmV0dXJuIDE7Ci0JcmVhZGVyLm9wdGlvbnMgPSBQQUNLRVRfUkVBRF9DSE9NUF9ORVdMSU5FOworCXJlYWRlci5vcHRpb25zICY9IH5QQUNLRVRfUkVBRF9HRU5UTEVfT05fRU9GOwogCiAJd2hpbGUgKHN0YXRlICE9IFBST0NFU1NfUkVRVUVTVF9ET05FKSB7CiAJCXN3aXRjaCAocGFja2V0X3JlYWRlcl9wZWVrKCZyZWFkZXIpKSB7CmRpZmYgLS1naXQgYS9zZXJ2ZS5oIGIvc2VydmUuaAppbmRleCBmZTY1YmE5Li40MmRkY2E3IDEwMDY0NAotLS0gYS9zZXJ2ZS5oCisrKyBiL3NlcnZlLmgKQEAgLTIsMTQgKzIsMTQgQEAKICNkZWZpbmUgU0VSVkVfSAogCiBzdHJ1Y3QgYXJndl9hcnJheTsKLWV4dGVybiBpbnQgaGFzX2NhcGFiaWxpdHkoY29uc3Qgc3RydWN0IGFyZ3ZfYXJyYXkgKmtleXMsIGNvbnN0IGNoYXIgKmNhcGFiaWxpdHksCi0JCQkgIGNvbnN0IGNoYXIgKip2YWx1ZSk7CitpbnQgaGFzX2NhcGFiaWxpdHkoY29uc3Qgc3RydWN0IGFyZ3ZfYXJyYXkgKmtleXMsIGNvbnN0IGNoYXIgKmNhcGFiaWxpdHksCisJCSAgIGNvbnN0IGNoYXIgKip2YWx1ZSk7CiAKIHN0cnVjdCBzZXJ2ZV9vcHRpb25zIHsKIAl1bnNpZ25lZCBhZHZlcnRpc2VfY2FwYWJpbGl0aWVzOwogCXVuc2lnbmVkIHN0YXRlbGVzc19ycGM7CiB9OwogI2RlZmluZSBTRVJWRV9PUFRJT05TX0lOSVQgeyAwIH0KLWV4dGVybiB2b2lkIHNlcnZlKHN0cnVjdCBzZXJ2ZV9vcHRpb25zICpvcHRpb25zKTsKK3ZvaWQgc2VydmUoc3RydWN0IHNlcnZlX29wdGlvbnMgKm9wdGlvbnMpOwogCiAjZW5kaWYgLyogU0VSVkVfSCAqLwpkaWZmIC0tZ2l0IGEvc2VydmVyLWluZm8uYyBiL3NlcnZlci1pbmZvLmMKaW5kZXggZTJiMmQ2YTIuLmJhZTJjZGYgMTAwNjQ0Ci0tLSBhL3NlcnZlci1pbmZvLmMKKysrIGIvc2VydmVyLWluZm8uYwpAQCAtMSw0ICsxLDUgQEAKICNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImRpci5oIgogI2luY2x1ZGUgInJlcG9zaXRvcnkuaCIKICNpbmNsdWRlICJyZWZzLmgiCiAjaW5jbHVkZSAib2JqZWN0LmgiCkBAIC02LDgyICs3LDE3NCBAQAogI2luY2x1ZGUgInRhZy5oIgogI2luY2x1ZGUgInBhY2tmaWxlLmgiCiAjaW5jbHVkZSAib2JqZWN0LXN0b3JlLmgiCisjaW5jbHVkZSAic3RyYnVmLmgiCisKK3N0cnVjdCB1cGRhdGVfaW5mb19jdHggeworCUZJTEUgKmN1cl9mcDsKKwlGSUxFICpvbGRfZnA7IC8qIGJlY29tZXMgTlVMTCBpZiBpdCBkaWZmZXJzIGZyb20gY3VyX2ZwICovCisJc3RydWN0IHN0cmJ1ZiBjdXJfc2I7CisJc3RydWN0IHN0cmJ1ZiBvbGRfc2I7Cit9OworCitzdGF0aWMgdm9pZCB1aWNfbWFya19zdGFsZShzdHJ1Y3QgdXBkYXRlX2luZm9fY3R4ICp1aWMpCit7CisJZmNsb3NlKHVpYy0+b2xkX2ZwKTsKKwl1aWMtPm9sZF9mcCA9IE5VTEw7Cit9CisKK3N0YXRpYyBpbnQgdWljX2lzX3N0YWxlKGNvbnN0IHN0cnVjdCB1cGRhdGVfaW5mb19jdHggKnVpYykKK3sKKwlyZXR1cm4gdWljLT5vbGRfZnAgPT0gTlVMTDsKK30KKworc3RhdGljIGludCB1aWNfcHJpbnRmKHN0cnVjdCB1cGRhdGVfaW5mb19jdHggKnVpYywgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwlpbnQgcmV0ID0gLTE7CisKKwl2YV9zdGFydChhcCwgZm10KTsKKworCWlmICh1aWNfaXNfc3RhbGUodWljKSkgeworCQlyZXQgPSB2ZnByaW50Zih1aWMtPmN1cl9mcCwgZm10LCBhcCk7CisJfSBlbHNlIHsKKwkJc3NpemVfdCByOworCQlzdHJ1Y3Qgc3RyYnVmICpjdXIgPSAmdWljLT5jdXJfc2I7CisJCXN0cnVjdCBzdHJidWYgKm9sZCA9ICZ1aWMtPm9sZF9zYjsKKworCQlzdHJidWZfcmVzZXQoY3VyKTsKKwkJc3RyYnVmX3ZpbnNlcnRmKGN1ciwgMCwgZm10LCBhcCk7CisKKwkJc3RyYnVmX3Jlc2V0KG9sZCk7CisJCXN0cmJ1Zl9ncm93KG9sZCwgY3VyLT5sZW4pOworCQlyID0gZnJlYWQob2xkLT5idWYsIDEsIGN1ci0+bGVuLCB1aWMtPm9sZF9mcCk7CisJCWlmIChyICE9IGN1ci0+bGVuIHx8IG1lbWNtcChvbGQtPmJ1ZiwgY3VyLT5idWYsIHIpKQorCQkJdWljX21hcmtfc3RhbGUodWljKTsKKworCQlpZiAoZndyaXRlKGN1ci0+YnVmLCAxLCBjdXItPmxlbiwgdWljLT5jdXJfZnApID09IGN1ci0+bGVuKQorCQkJcmV0ID0gMDsKKwl9CisKKwl2YV9lbmQoYXApOworCisJcmV0dXJuIHJldDsKK30KIAogLyoKICAqIENyZWF0ZSB0aGUgZmlsZSAicGF0aCIgYnkgd3JpdGluZyB0byBhIHRlbXBvcmFyeSBmaWxlIGFuZCByZW5hbWluZwogICogaXQgaW50byBwbGFjZS4gVGhlIGNvbnRlbnRzIG9mIHRoZSBmaWxlIGNvbWUgZnJvbSAiZ2VuZXJhdGUiLCB3aGljaAogICogc2hvdWxkIHJldHVybiBub24temVybyBpZiBpdCBlbmNvdW50ZXJzIGFuIGVycm9yLgogICovCi1zdGF0aWMgaW50IHVwZGF0ZV9pbmZvX2ZpbGUoY2hhciAqcGF0aCwgaW50ICgqZ2VuZXJhdGUpKEZJTEUgKikpCitzdGF0aWMgaW50IHVwZGF0ZV9pbmZvX2ZpbGUoY2hhciAqcGF0aCwKKwkJCWludCAoKmdlbmVyYXRlKShzdHJ1Y3QgdXBkYXRlX2luZm9fY3R4ICopLAorCQkJaW50IGZvcmNlKQogewogCWNoYXIgKnRtcCA9IG1rcGF0aGR1cCgiJXNfWFhYWFhYIiwgcGF0aCk7CiAJaW50IHJldCA9IC0xOwogCWludCBmZCA9IC0xOwotCUZJTEUgKmZwID0gTlVMTCwgKnRvX2Nsb3NlOworCUZJTEUgKnRvX2Nsb3NlOworCXN0cnVjdCB1cGRhdGVfaW5mb19jdHggdWljID0geworCQkuY3VyX2ZwID0gTlVMTCwKKwkJLm9sZF9mcCA9IE5VTEwsCisJCS5jdXJfc2IgPSBTVFJCVUZfSU5JVCwKKwkJLm9sZF9zYiA9IFNUUkJVRl9JTklUCisJfTsKIAogCXNhZmVfY3JlYXRlX2xlYWRpbmdfZGlyZWN0b3JpZXMocGF0aCk7CiAJZmQgPSBnaXRfbWtzdGVtcF9tb2RlKHRtcCwgMDY2Nik7CiAJaWYgKGZkIDwgMCkKIAkJZ290byBvdXQ7Ci0JdG9fY2xvc2UgPSBmcCA9IGZkb3BlbihmZCwgInciKTsKLQlpZiAoIWZwKQorCXRvX2Nsb3NlID0gdWljLmN1cl9mcCA9IGZkb3BlbihmZCwgInciKTsKKwlpZiAoIXVpYy5jdXJfZnApCiAJCWdvdG8gb3V0OwogCWZkID0gLTE7Ci0JcmV0ID0gZ2VuZXJhdGUoZnApOworCisJLyogbm8gcHJvYmxlbSBvbiBFTk9FTlQgYW5kIG9sZF9mcCA9PSBOVUxMLCBpdCdzIHN0YWxlLCBub3cgKi8KKwlpZiAoIWZvcmNlKQorCQl1aWMub2xkX2ZwID0gZm9wZW5fb3Jfd2FybihwYXRoLCAiciIpOworCisJLyoKKwkgKiB1aWNfcHJpbnRmIHdpbGwgY29tcGFyZSBpbmNyZW1lbnRhbCBjb21wYXJpc29uIGFnYWluc3Qgb2xkX2ZwCisJICogYW5kIG1hcmsgdWljIGFzIHN0YWxlIGlmIG5lZWRlZAorCSAqLworCXJldCA9IGdlbmVyYXRlKCZ1aWMpOwogCWlmIChyZXQpCiAJCWdvdG8gb3V0OwotCWZwID0gTlVMTDsKKworCS8qIG5ldyBmaWxlIG1heSBiZSBzaG9ydGVyIHRoYW4gdGhlIG9sZCBvbmUsIGNoZWNrIGhlcmUgKi8KKwlpZiAoIXVpY19pc19zdGFsZSgmdWljKSkgeworCQlzdHJ1Y3Qgc3RhdCBzdDsKKwkJbG9uZyBuZXdfbGVuID0gZnRlbGwodWljLmN1cl9mcCk7CisJCWludCBvbGRfZmQgPSBmaWxlbm8odWljLm9sZF9mcCk7CisKKwkJaWYgKG5ld19sZW4gPCAwKSB7CisJCQlyZXQgPSAtMTsKKwkJCWdvdG8gb3V0OworCQl9CisJCWlmIChmc3RhdChvbGRfZmQsICZzdCkgfHwgKHN0LnN0X3NpemUgIT0gKHNpemVfdCluZXdfbGVuKSkKKwkJCXVpY19tYXJrX3N0YWxlKCZ1aWMpOworCX0KKworCXVpYy5jdXJfZnAgPSBOVUxMOwogCWlmIChmY2xvc2UodG9fY2xvc2UpKQogCQlnb3RvIG91dDsKLQlpZiAoYWRqdXN0X3NoYXJlZF9wZXJtKHRtcCkgPCAwKQotCQlnb3RvIG91dDsKLQlpZiAocmVuYW1lKHRtcCwgcGF0aCkgPCAwKQotCQlnb3RvIG91dDsKKworCWlmICh1aWNfaXNfc3RhbGUoJnVpYykpIHsKKwkJaWYgKGFkanVzdF9zaGFyZWRfcGVybSh0bXApIDwgMCkKKwkJCWdvdG8gb3V0OworCQlpZiAocmVuYW1lKHRtcCwgcGF0aCkgPCAwKQorCQkJZ290byBvdXQ7CisJfSBlbHNlIHsKKwkJdW5saW5rKHRtcCk7CisJfQogCXJldCA9IDA7CiAKIG91dDoKIAlpZiAocmV0KSB7CiAJCWVycm9yX2Vycm5vKCJ1bmFibGUgdG8gdXBkYXRlICVzIiwgcGF0aCk7Ci0JCWlmIChmcCkKLQkJCWZjbG9zZShmcCk7CisJCWlmICh1aWMuY3VyX2ZwKQorCQkJZmNsb3NlKHVpYy5jdXJfZnApOwogCQllbHNlIGlmIChmZCA+PSAwKQogCQkJY2xvc2UoZmQpOwogCQl1bmxpbmsodG1wKTsKIAl9CiAJZnJlZSh0bXApOworCWlmICh1aWMub2xkX2ZwKQorCQlmY2xvc2UodWljLm9sZF9mcCk7CisJc3RyYnVmX3JlbGVhc2UoJnVpYy5vbGRfc2IpOworCXN0cmJ1Zl9yZWxlYXNlKCZ1aWMuY3VyX3NiKTsKIAlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGFkZF9pbmZvX3JlZihjb25zdCBjaGFyICpwYXRoLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQlpbnQgZmxhZywgdm9pZCAqY2JfZGF0YSkKIHsKLQlGSUxFICpmcCA9IGNiX2RhdGE7CisJc3RydWN0IHVwZGF0ZV9pbmZvX2N0eCAqdWljID0gY2JfZGF0YTsKIAlzdHJ1Y3Qgb2JqZWN0ICpvID0gcGFyc2Vfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCBvaWQpOwogCWlmICghbykKIAkJcmV0dXJuIC0xOwogCi0JaWYgKGZwcmludGYoZnAsICIlcwklc1xuIiwgb2lkX3RvX2hleChvaWQpLCBwYXRoKSA8IDApCisJaWYgKHVpY19wcmludGYodWljLCAiJXMJJXNcbiIsIG9pZF90b19oZXgob2lkKSwgcGF0aCkgPCAwKQogCQlyZXR1cm4gLTE7CiAKIAlpZiAoby0+dHlwZSA9PSBPQkpfVEFHKSB7CiAJCW8gPSBkZXJlZl90YWcodGhlX3JlcG9zaXRvcnksIG8sIHBhdGgsIDApOwogCQlpZiAobykKLQkJCWlmIChmcHJpbnRmKGZwLCAiJXMJJXNee31cbiIsCisJCQlpZiAodWljX3ByaW50Zih1aWMsICIlcwklc157fVxuIiwKIAkJCQlvaWRfdG9faGV4KCZvLT5vaWQpLCBwYXRoKSA8IDApCiAJCQkJcmV0dXJuIC0xOwogCX0KIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBnZW5lcmF0ZV9pbmZvX3JlZnMoRklMRSAqZnApCitzdGF0aWMgaW50IGdlbmVyYXRlX2luZm9fcmVmcyhzdHJ1Y3QgdXBkYXRlX2luZm9fY3R4ICp1aWMpCiB7Ci0JcmV0dXJuIGZvcl9lYWNoX3JlZihhZGRfaW5mb19yZWYsIGZwKTsKKwlyZXR1cm4gZm9yX2VhY2hfcmVmKGFkZF9pbmZvX3JlZiwgdWljKTsKIH0KIAogc3RhdGljIGludCB1cGRhdGVfaW5mb19yZWZzKGludCBmb3JjZSkKIHsKIAljaGFyICpwYXRoID0gZ2l0X3BhdGhkdXAoImluZm8vcmVmcyIpOwotCWludCByZXQgPSB1cGRhdGVfaW5mb19maWxlKHBhdGgsIGdlbmVyYXRlX2luZm9fcmVmcyk7CisJaW50IHJldCA9IHVwZGF0ZV9pbmZvX2ZpbGUocGF0aCwgZ2VuZXJhdGVfaW5mb19yZWZzLCBmb3JjZSk7CiAJZnJlZShwYXRoKTsKIAlyZXR1cm4gcmV0OwogfQpAQCAtOTEsMTkgKzE4NCwxNSBAQAogCXN0cnVjdCBwYWNrZWRfZ2l0ICpwOwogCWludCBvbGRfbnVtOwogCWludCBuZXdfbnVtOwotCWludCBucl9hbGxvYzsKIH0gKippbmZvOwogc3RhdGljIGludCBudW1fcGFjazsKLXN0YXRpYyBjb25zdCBjaGFyICpvYmpkaXI7Ci1zdGF0aWMgaW50IG9iamRpcmxlbjsKIAogc3RhdGljIHN0cnVjdCBwYWNrX2luZm8gKmZpbmRfcGFja19ieV9uYW1lKGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAJaW50IGk7CiAJZm9yIChpID0gMDsgaSA8IG51bV9wYWNrOyBpKyspIHsKIAkJc3RydWN0IHBhY2tlZF9naXQgKnAgPSBpbmZvW2ldLT5wOwotCQkvKiBza2lwICIvcGFjay8iIGFmdGVyICIuZ2l0L29iamVjdHMiICovCi0JCWlmICghc3RyY21wKHAtPnBhY2tfbmFtZSArIG9iamRpcmxlbiArIDYsIG5hbWUpKQorCQlpZiAoIXN0cmNtcChwYWNrX2Jhc2VuYW1lKHApLCBuYW1lKSkKIAkJCXJldHVybiBpbmZvW2ldOwogCX0KIAlyZXR1cm4gTlVMTDsKQEAgLTExMiw5ICsyMDEsOSBAQAogLyogUmV0dXJucyBub24temVybyB3aGVuIHdlIGRldGVjdCB0aGF0IHRoZSBpbmZvIGluIHRoZQogICogb2xkIGZpbGUgaXMgdXNlbGVzcy4KICAqLwotc3RhdGljIGludCBwYXJzZV9wYWNrX2RlZihjb25zdCBjaGFyICpsaW5lLCBpbnQgb2xkX2NudCkKK3N0YXRpYyBpbnQgcGFyc2VfcGFja19kZWYoY29uc3QgY2hhciAqcGFja25hbWUsIGludCBvbGRfY250KQogewotCXN0cnVjdCBwYWNrX2luZm8gKmkgPSBmaW5kX3BhY2tfYnlfbmFtZShsaW5lICsgMik7CisJc3RydWN0IHBhY2tfaW5mbyAqaSA9IGZpbmRfcGFja19ieV9uYW1lKHBhY2tuYW1lKTsKIAlpZiAoaSkgewogCQlpLT5vbGRfbnVtID0gb2xkX2NudDsKIAkJcmV0dXJuIDA7CkBAIC0xMzEsMzkgKzIyMCw0MCBAQAogc3RhdGljIGludCByZWFkX3BhY2tfaW5mb19maWxlKGNvbnN0IGNoYXIgKmluZm9maWxlKQogewogCUZJTEUgKmZwOwotCWNoYXIgbGluZVsxMDAwXTsKKwlzdHJ1Y3Qgc3RyYnVmIGxpbmUgPSBTVFJCVUZfSU5JVDsKIAlpbnQgb2xkX2NudCA9IDA7CisJaW50IHN0YWxlID0gMTsKIAogCWZwID0gZm9wZW5fb3Jfd2FybihpbmZvZmlsZSwgInIiKTsKIAlpZiAoIWZwKQogCQlyZXR1cm4gMTsgLyogbm9uZXhpc3RlbnQgaXMgbm90IGFuIGVycm9yLiAqLwogCi0Jd2hpbGUgKGZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgZnApKSB7Ci0JCWludCBsZW4gPSBzdHJsZW4obGluZSk7Ci0JCWlmIChsZW4gJiYgbGluZVtsZW4tMV0gPT0gJ1xuJykKLQkJCWxpbmVbLS1sZW5dID0gMDsKKwl3aGlsZSAoc3RyYnVmX2dldGxpbmUoJmxpbmUsIGZwKSAhPSBFT0YpIHsKKwkJY29uc3QgY2hhciAqYXJnOwogCi0JCWlmICghbGVuKQorCQlpZiAoIWxpbmUubGVuKQogCQkJY29udGludWU7CiAKLQkJc3dpdGNoIChsaW5lWzBdKSB7Ci0JCWNhc2UgJ1AnOiAvKiBQIG5hbWUgKi8KLQkJCWlmIChwYXJzZV9wYWNrX2RlZihsaW5lLCBvbGRfY250KyspKQorCQlpZiAoc2tpcF9wcmVmaXgobGluZS5idWYsICJQICIsICZhcmcpKSB7CisJCQkvKiBQIG5hbWUgKi8KKwkJCWlmIChwYXJzZV9wYWNrX2RlZihhcmcsIG9sZF9jbnQrKykpCiAJCQkJZ290byBvdXRfc3RhbGU7Ci0JCQlicmVhazsKLQkJY2FzZSAnRCc6IC8qIHdlIHVzZWQgdG8gZW1pdCBEIGJ1dCB0aGF0IHdhcyBtaXNndWlkZWQuICovCi0JCWNhc2UgJ1QnOiAvKiB3ZSB1c2VkIHRvIGVtaXQgVCBidXQgbm9ib2R5IHVzZXMgaXQuICovCisJCX0gZWxzZSBpZiAobGluZS5idWZbMF0gPT0gJ0QnKSB7CisJCQkvKiB3ZSB1c2VkIHRvIGVtaXQgRCBidXQgdGhhdCB3YXMgbWlzZ3VpZGVkLiAqLwogCQkJZ290byBvdXRfc3RhbGU7Ci0JCWRlZmF1bHQ6Ci0JCQllcnJvcigidW5yZWNvZ25pemVkOiAlcyIsIGxpbmUpOwotCQkJYnJlYWs7CisJCX0gZWxzZSBpZiAobGluZS5idWZbMF0gPT0gJ1QnKSB7CisJCQkvKiB3ZSB1c2VkIHRvIGVtaXQgVCBidXQgbm9ib2R5IHVzZXMgaXQuICovCisJCQlnb3RvIG91dF9zdGFsZTsKKwkJfSBlbHNlIHsKKwkJCWVycm9yKCJ1bnJlY29nbml6ZWQ6ICVzIiwgbGluZS5idWYpOwogCQl9CiAJfQotCWZjbG9zZShmcCk7Ci0JcmV0dXJuIDA7CisJc3RhbGUgPSAwOworCiAgb3V0X3N0YWxlOgorCXN0cmJ1Zl9yZWxlYXNlKCZsaW5lKTsKIAlmY2xvc2UoZnApOwotCXJldHVybiAxOworCXJldHVybiBzdGFsZTsKIH0KIAogc3RhdGljIGludCBjb21wYXJlX2luZm8oY29uc3Qgdm9pZCAqYV8sIGNvbnN0IHZvaWQgKmJfKQpAQCAtMTk0LDI4ICsyODQsMjEgQEAKIHsKIAlzdHJ1Y3QgcGFja2VkX2dpdCAqcDsKIAlpbnQgc3RhbGU7Ci0JaW50IGkgPSAwOwotCi0Jb2JqZGlyID0gZ2V0X29iamVjdF9kaXJlY3RvcnkoKTsKLQlvYmpkaXJsZW4gPSBzdHJsZW4ob2JqZGlyKTsKKwlpbnQgaTsKKwlzaXplX3QgYWxsb2MgPSAwOwogCiAJZm9yIChwID0gZ2V0X2FsbF9wYWNrcyh0aGVfcmVwb3NpdG9yeSk7IHA7IHAgPSBwLT5uZXh0KSB7CiAJCS8qIHdlIGlnbm9yZSB0aGluZ3Mgb24gYWx0ZXJuYXRlIHBhdGggc2luY2UgdGhleSBhcmUKIAkJICogbm90IGF2YWlsYWJsZSB0byB0aGUgcHVsbGVycyBpbiBnZW5lcmFsLgogCQkgKi8KLQkJaWYgKCFwLT5wYWNrX2xvY2FsKQorCQlpZiAoIXAtPnBhY2tfbG9jYWwgfHwgIWZpbGVfZXhpc3RzKHAtPnBhY2tfbmFtZSkpCiAJCQljb250aW51ZTsKLQkJaSsrOwotCX0KLQludW1fcGFjayA9IGk7Ci0JaW5mbyA9IHhjYWxsb2MobnVtX3BhY2ssIHNpemVvZihzdHJ1Y3QgcGFja19pbmZvICopKTsKLQlmb3IgKGkgPSAwLCBwID0gZ2V0X2FsbF9wYWNrcyh0aGVfcmVwb3NpdG9yeSk7IHA7IHAgPSBwLT5uZXh0KSB7Ci0JCWlmICghcC0+cGFja19sb2NhbCkKLQkJCWNvbnRpbnVlOworCisJCWkgPSBudW1fcGFjaysrOworCQlBTExPQ19HUk9XKGluZm8sIG51bV9wYWNrLCBhbGxvYyk7CiAJCWluZm9baV0gPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgcGFja19pbmZvKSk7CiAJCWluZm9baV0tPnAgPSBwOwogCQlpbmZvW2ldLT5vbGRfbnVtID0gLTE7Ci0JCWkrKzsKIAl9CiAKIAlpZiAoaW5mb2ZpbGUgJiYgIWZvcmNlKQpAQCAtMjQxLDE0ICszMjQsMTQgQEAKIAlmcmVlKGluZm8pOwogfQogCi1zdGF0aWMgaW50IHdyaXRlX3BhY2tfaW5mb19maWxlKEZJTEUgKmZwKQorc3RhdGljIGludCB3cml0ZV9wYWNrX2luZm9fZmlsZShzdHJ1Y3QgdXBkYXRlX2luZm9fY3R4ICp1aWMpCiB7CiAJaW50IGk7CiAJZm9yIChpID0gMDsgaSA8IG51bV9wYWNrOyBpKyspIHsKLQkJaWYgKGZwcmludGYoZnAsICJQICVzXG4iLCBpbmZvW2ldLT5wLT5wYWNrX25hbWUgKyBvYmpkaXJsZW4gKyA2KSA8IDApCisJCWlmICh1aWNfcHJpbnRmKHVpYywgIlAgJXNcbiIsIHBhY2tfYmFzZW5hbWUoaW5mb1tpXS0+cCkpIDwgMCkKIAkJCXJldHVybiAtMTsKIAl9Ci0JaWYgKGZwdXRjKCdcbicsIGZwKSA9PSBFT0YpCisJaWYgKHVpY19wcmludGYodWljLCAiXG4iKSA8IDApCiAJCXJldHVybiAtMTsKIAlyZXR1cm4gMDsKIH0KQEAgLTI1OSw3ICszNDIsNyBAQAogCWludCByZXQ7CiAKIAlpbml0X3BhY2tfaW5mbyhpbmZvZmlsZSwgZm9yY2UpOwotCXJldCA9IHVwZGF0ZV9pbmZvX2ZpbGUoaW5mb2ZpbGUsIHdyaXRlX3BhY2tfaW5mb19maWxlKTsKKwlyZXQgPSB1cGRhdGVfaW5mb19maWxlKGluZm9maWxlLCB3cml0ZV9wYWNrX2luZm9fZmlsZSwgZm9yY2UpOwogCWZyZWVfcGFja19pbmZvKCk7CiAJZnJlZShpbmZvZmlsZSk7CiAJcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL3NldHVwLmMgYi9zZXR1cC5jCmluZGV4IDFiZTUwMzcuLjRlYTdhMGIgMTAwNjQ0Ci0tLSBhL3NldHVwLmMKKysrIGIvc2V0dXAuYwpAQCAtNCw2ICs0LDcgQEAKICNpbmNsdWRlICJkaXIuaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgogI2luY2x1ZGUgImNoZGlyLW5vdGlmeS5oIgorI2luY2x1ZGUgInByb21pc29yLXJlbW90ZS5oIgogCiBzdGF0aWMgaW50IGluc2lkZV9naXRfZGlyID0gLTE7CiBzdGF0aWMgaW50IGluc2lkZV93b3JrX3RyZWUgPSAtMTsKQEAgLTM5LDcgKzQwLDcgQEAKIAlvZmYgPSBvZmZzZXRfMXN0X2NvbXBvbmVudChwYXRoKTsKIAogCS8qIGNoZWNrIGlmIHdvcmsgdHJlZSBpcyBhbHJlYWR5IHRoZSBwcmVmaXggKi8KLQlpZiAod3RsZW4gPD0gbGVuICYmICFzdHJuY21wKHBhdGgsIHdvcmtfdHJlZSwgd3RsZW4pKSB7CisJaWYgKHd0bGVuIDw9IGxlbiAmJiAhZnNwYXRobmNtcChwYXRoLCB3b3JrX3RyZWUsIHd0bGVuKSkgewogCQlpZiAocGF0aFt3dGxlbl0gPT0gJy8nKSB7CiAJCQltZW1tb3ZlKHBhdGgsIHBhdGggKyB3dGxlbiArIDEsIGxlbiAtIHd0bGVuKTsKIAkJCXJldHVybiAwOwpAQCAtNTksNyArNjAsNyBAQAogCQlwYXRoKys7CiAJCWlmICgqcGF0aCA9PSAnLycpIHsKIAkJCSpwYXRoID0gJ1wwJzsKLQkJCWlmIChzdHJjbXAocmVhbF9wYXRoKHBhdGgwKSwgd29ya190cmVlKSA9PSAwKSB7CisJCQlpZiAoZnNwYXRoY21wKHJlYWxfcGF0aChwYXRoMCksIHdvcmtfdHJlZSkgPT0gMCkgewogCQkJCW1lbW1vdmUocGF0aDAsIHBhdGggKyAxLCBsZW4gLSAocGF0aCAtIHBhdGgwKSk7CiAJCQkJcmV0dXJuIDA7CiAJCQl9CkBAIC02OCw3ICs2OSw3IEBACiAJfQogCiAJLyogY2hlY2sgd2hvbGUgcGF0aCAqLwotCWlmIChzdHJjbXAocmVhbF9wYXRoKHBhdGgwKSwgd29ya190cmVlKSA9PSAwKSB7CisJaWYgKGZzcGF0aGNtcChyZWFsX3BhdGgocGF0aDApLCB3b3JrX3RyZWUpID09IDApIHsKIAkJKnBhdGgwID0gJ1wwJzsKIAkJcmV0dXJuIDA7CiAJfQpAQCAtMTIwLDcgKzEyMSw4IEBACiB7CiAJY2hhciAqciA9IHByZWZpeF9wYXRoX2dlbnRseShwcmVmaXgsIGxlbiwgTlVMTCwgcGF0aCk7CiAJaWYgKCFyKQotCQlkaWUoXygiJyVzJyBpcyBvdXRzaWRlIHJlcG9zaXRvcnkiKSwgcGF0aCk7CisJCWRpZShfKCInJXMnIGlzIG91dHNpZGUgcmVwb3NpdG9yeSBhdCAnJXMnIiksIHBhdGgsCisJCSAgICBhYnNvbHV0ZV9wYXRoKGdldF9naXRfd29ya190cmVlKCkpKTsKIAlyZXR1cm4gcjsKIH0KIApAQCAtMTY0LDcgKzE2Niw4IEBACiAJZGllX2Vycm5vKF8oImZhaWxlZCB0byBzdGF0ICclcyciKSwgYXJnKTsKIH0KIAotc3RhdGljIHZvaWQgTk9SRVRVUk4gZGllX3ZlcmlmeV9maWxlbmFtZShjb25zdCBjaGFyICpwcmVmaXgsCitzdGF0aWMgdm9pZCBOT1JFVFVSTiBkaWVfdmVyaWZ5X2ZpbGVuYW1lKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCQkgY29uc3QgY2hhciAqcHJlZml4LAogCQkJCQkgY29uc3QgY2hhciAqYXJnLAogCQkJCQkgaW50IGRpYWdub3NlX21pc3NwZWx0X3JldikKIHsKQEAgLTE3OSw3ICsxODIsNyBAQAogCSAqIGxldCBtYXliZV9kaWVfb25fbWlzc3BlbHRfb2JqZWN0X25hbWUoKSBldmVuIHRyaWdnZXIuCiAJICovCiAJaWYgKCEoYXJnWzBdID09ICc6JyAmJiAhaXNhbG51bShhcmdbMV0pKSkKLQkJbWF5YmVfZGllX29uX21pc3NwZWx0X29iamVjdF9uYW1lKGFyZywgcHJlZml4KTsKKwkJbWF5YmVfZGllX29uX21pc3NwZWx0X29iamVjdF9uYW1lKHIsIGFyZywgcHJlZml4KTsKIAogCS8qIC4uLiBvciBmYWxsIGJhY2sgdGhlIG1vc3QgZ2VuZXJhbCBtZXNzYWdlLiAqLwogCWRpZShfKCJhbWJpZ3VvdXMgYXJndW1lbnQgJyVzJzogdW5rbm93biByZXZpc2lvbiBvciBwYXRoIG5vdCBpbiB0aGUgd29ya2luZyB0cmVlLlxuIgpAQCAtMTk1LDkgKzE5OCwyNiBAQAogICovCiBzdGF0aWMgaW50IGxvb2tzX2xpa2VfcGF0aHNwZWMoY29uc3QgY2hhciAqYXJnKQogewotCS8qIGFueXRoaW5nIHdpdGggYSB3aWxkY2FyZCBjaGFyYWN0ZXIgKi8KLQlpZiAoIW5vX3dpbGRjYXJkKGFyZykpCi0JCXJldHVybiAxOworCWNvbnN0IGNoYXIgKnA7CisJaW50IGVzY2FwZWQgPSAwOworCisJLyoKKwkgKiBXaWxkY2FyZCBjaGFyYWN0ZXJzIGltcGx5IHRoZSB1c2VyIGlzIGxvb2tpbmcgdG8gbWF0Y2ggcGF0aHNwZWNzCisJICogdGhhdCBhcmVuJ3QgaW4gdGhlIGZpbGVzeXN0ZW0uIE5vdGUgdGhhdCB0aGlzIGRvZXNuJ3QgaW5jbHVkZQorCSAqIGJhY2tzbGFzaCBldmVuIHRob3VnaCBpdCdzIGEgZ2xvYiBzcGVjaWFsOyBieSBpdHNlbGYgaXQgZG9lc24ndAorCSAqIGNhdXNlIGFueSBpbmNyZWFzZSBpbiB0aGUgbWF0Y2guIExpa2V3aXNlIGlnbm9yZSBiYWNrc2xhc2gtZXNjYXBlZAorCSAqIHdpbGRjYXJkIGNoYXJhY3RlcnMuCisJICovCisJZm9yIChwID0gYXJnOyAqcDsgcCsrKSB7CisJCWlmIChlc2NhcGVkKSB7CisJCQllc2NhcGVkID0gMDsKKwkJfSBlbHNlIGlmIChpc19nbG9iX3NwZWNpYWwoKnApKSB7CisJCQlpZiAoKnAgPT0gJ1xcJykKKwkJCQllc2NhcGVkID0gMTsKKwkJCWVsc2UKKwkJCQlyZXR1cm4gMTsKKwkJfQorCX0KIAogCS8qIGxvbmctZm9ybSBwYXRoc3BlYyBtYWdpYyAqLwogCWlmIChzdGFydHNfd2l0aChhcmcsICI6KCIpKQpAQCAtMjM0LDcgKzI1NCw3IEBACiAJCWRpZShfKCJvcHRpb24gJyVzJyBtdXN0IGNvbWUgYmVmb3JlIG5vbi1vcHRpb24gYXJndW1lbnRzIiksIGFyZyk7CiAJaWYgKGxvb2tzX2xpa2VfcGF0aHNwZWMoYXJnKSB8fCBjaGVja19maWxlbmFtZShwcmVmaXgsIGFyZykpCiAJCXJldHVybjsKLQlkaWVfdmVyaWZ5X2ZpbGVuYW1lKHByZWZpeCwgYXJnLCBkaWFnbm9zZV9taXNzcGVsdF9yZXYpOworCWRpZV92ZXJpZnlfZmlsZW5hbWUodGhlX3JlcG9zaXRvcnksIHByZWZpeCwgYXJnLCBkaWFnbm9zZV9taXNzcGVsdF9yZXYpOwogfQogCiAvKgpAQCAtNDExLDYgKzQzMSw3IEBACiAJfSBlbHNlIGlmIChzdHJjbXAodmFyLCAiY29yZS53b3JrdHJlZSIpID09IDApIHsKIAkJaWYgKCF2YWx1ZSkKIAkJCXJldHVybiBjb25maWdfZXJyb3Jfbm9uYm9vbCh2YXIpOworCQlmcmVlKGRhdGEtPndvcmtfdHJlZSk7CiAJCWRhdGEtPndvcmtfdHJlZSA9IHhzdHJkdXAodmFsdWUpOwogCX0KIAlyZXR1cm4gMDsKQEAgLTQ3Niw3ICs0OTcsNyBAQAogCX0KIAogCXJlcG9zaXRvcnlfZm9ybWF0X3ByZWNpb3VzX29iamVjdHMgPSBjYW5kaWRhdGUtPnByZWNpb3VzX29iamVjdHM7Ci0JcmVwb3NpdG9yeV9mb3JtYXRfcGFydGlhbF9jbG9uZSA9IGNhbmRpZGF0ZS0+cGFydGlhbF9jbG9uZTsKKwlzZXRfcmVwb3NpdG9yeV9mb3JtYXRfcGFydGlhbF9jbG9uZShjYW5kaWRhdGUtPnBhcnRpYWxfY2xvbmUpOwogCXJlcG9zaXRvcnlfZm9ybWF0X3dvcmt0cmVlX2NvbmZpZyA9IGNhbmRpZGF0ZS0+d29ya3RyZWVfY29uZmlnOwogCXN0cmluZ19saXN0X2NsZWFyKCZjYW5kaWRhdGUtPnVua25vd25fZXh0ZW5zaW9ucywgMCk7CiAKQEAgLTQ5OSwyNyArNTIwLDM4IEBACiAJCX0KIAkJaWYgKGNhbmRpZGF0ZS0+d29ya190cmVlKSB7CiAJCQlmcmVlKGdpdF93b3JrX3RyZWVfY2ZnKTsKLQkJCWdpdF93b3JrX3RyZWVfY2ZnID0gY2FuZGlkYXRlLT53b3JrX3RyZWU7CisJCQlnaXRfd29ya190cmVlX2NmZyA9IHhzdHJkdXAoY2FuZGlkYXRlLT53b3JrX3RyZWUpOwogCQkJaW5zaWRlX3dvcmtfdHJlZSA9IC0xOwogCQl9Ci0JfSBlbHNlIHsKLQkJZnJlZShjYW5kaWRhdGUtPndvcmtfdHJlZSk7CiAJfQogCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB2b2lkIGluaXRfcmVwb3NpdG9yeV9mb3JtYXQoc3RydWN0IHJlcG9zaXRvcnlfZm9ybWF0ICpmb3JtYXQpCit7CisJY29uc3Qgc3RydWN0IHJlcG9zaXRvcnlfZm9ybWF0IGZyZXNoID0gUkVQT1NJVE9SWV9GT1JNQVRfSU5JVDsKKworCW1lbWNweShmb3JtYXQsICZmcmVzaCwgc2l6ZW9mKGZyZXNoKSk7Cit9CisKIGludCByZWFkX3JlcG9zaXRvcnlfZm9ybWF0KHN0cnVjdCByZXBvc2l0b3J5X2Zvcm1hdCAqZm9ybWF0LCBjb25zdCBjaGFyICpwYXRoKQogewotCW1lbXNldChmb3JtYXQsIDAsIHNpemVvZigqZm9ybWF0KSk7Ci0JZm9ybWF0LT52ZXJzaW9uID0gLTE7Ci0JZm9ybWF0LT5pc19iYXJlID0gLTE7Ci0JZm9ybWF0LT5oYXNoX2FsZ28gPSBHSVRfSEFTSF9TSEExOwotCXN0cmluZ19saXN0X2luaXQoJmZvcm1hdC0+dW5rbm93bl9leHRlbnNpb25zLCAxKTsKKwljbGVhcl9yZXBvc2l0b3J5X2Zvcm1hdChmb3JtYXQpOwogCWdpdF9jb25maWdfZnJvbV9maWxlKGNoZWNrX3JlcG9fZm9ybWF0LCBwYXRoLCBmb3JtYXQpOworCWlmIChmb3JtYXQtPnZlcnNpb24gPT0gLTEpCisJCWNsZWFyX3JlcG9zaXRvcnlfZm9ybWF0KGZvcm1hdCk7CiAJcmV0dXJuIGZvcm1hdC0+dmVyc2lvbjsKIH0KIAordm9pZCBjbGVhcl9yZXBvc2l0b3J5X2Zvcm1hdChzdHJ1Y3QgcmVwb3NpdG9yeV9mb3JtYXQgKmZvcm1hdCkKK3sKKwlzdHJpbmdfbGlzdF9jbGVhcigmZm9ybWF0LT51bmtub3duX2V4dGVuc2lvbnMsIDApOworCWZyZWUoZm9ybWF0LT53b3JrX3RyZWUpOworCWZyZWUoZm9ybWF0LT5wYXJ0aWFsX2Nsb25lKTsKKwlpbml0X3JlcG9zaXRvcnlfZm9ybWF0KGZvcm1hdCk7Cit9CisKIGludCB2ZXJpZnlfcmVwb3NpdG9yeV9mb3JtYXQoY29uc3Qgc3RydWN0IHJlcG9zaXRvcnlfZm9ybWF0ICpmb3JtYXQsCiAJCQkgICAgIHN0cnVjdCBzdHJidWYgKmVycikKIHsKQEAgLTc4NCw3ICs4MTYsNyBAQAogCQlzZXRfZ2l0X2RpcihnaXRkaXIpOwogCWluc2lkZV9naXRfZGlyID0gMDsKIAlpbnNpZGVfd29ya190cmVlID0gMTsKLQlpZiAob2Zmc2V0ID09IGN3ZC0+bGVuKQorCWlmIChvZmZzZXQgPj0gY3dkLT5sZW4pCiAJCXJldHVybiBOVUxMOwogCiAJLyogTWFrZSAib2Zmc2V0IiBwb2ludCBwYXN0IHRoZSAnLycgKGFscmVhZHkgdGhlIGNhc2UgZm9yIHJvb3QgZGlycykgKi8KQEAgLTgzMSwxNiArODYzLDYgQEAKIAlyZXR1cm4gTlVMTDsKIH0KIAotc3RhdGljIGNvbnN0IGNoYXIgKnNldHVwX25vbmdpdChjb25zdCBjaGFyICpjd2QsIGludCAqbm9uZ2l0X29rKQotewotCWlmICghbm9uZ2l0X29rKQotCQlkaWUoXygibm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBvZiB0aGUgcGFyZW50IGRpcmVjdG9yaWVzKTogJXMiKSwgREVGQVVMVF9HSVRfRElSX0VOVklST05NRU5UKTsKLQlpZiAoY2hkaXIoY3dkKSkKLQkJZGllX2Vycm5vKF8oImNhbm5vdCBjb21lIGJhY2sgdG8gY3dkIikpOwotCSpub25naXRfb2sgPSAxOwotCXJldHVybiBOVUxMOwotfQotCiBzdGF0aWMgZGV2X3QgZ2V0X2RldmljZV9vcl9kaWUoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqcHJlZml4LCBpbnQgcHJlZml4X2xlbikKIHsKIAlzdHJ1Y3Qgc3RhdCBidWY7CkBAIC05MTYsNyArOTM4LDcgQEAKIAljb25zdCBjaGFyICplbnZfY2VpbGluZ19kaXJzID0gZ2V0ZW52KENFSUxJTkdfRElSRUNUT1JJRVNfRU5WSVJPTk1FTlQpOwogCXN0cnVjdCBzdHJpbmdfbGlzdCBjZWlsaW5nX2RpcnMgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKIAljb25zdCBjaGFyICpnaXRkaXJlbnY7Ci0JaW50IGNlaWxfb2Zmc2V0ID0gLTEsIG1pbl9vZmZzZXQgPSBoYXNfZG9zX2RyaXZlX3ByZWZpeChkaXItPmJ1ZikgPyAzIDogMTsKKwlpbnQgY2VpbF9vZmZzZXQgPSAtMSwgbWluX29mZnNldCA9IG9mZnNldF8xc3RfY29tcG9uZW50KGRpci0+YnVmKTsKIAlkZXZfdCBjdXJyZW50X2RldmljZSA9IDA7CiAJaW50IG9uZV9maWxlc3lzdGVtID0gMTsKIApAQCAtOTQ0LDYgKzk2NiwxMiBAQAogCWlmIChjZWlsX29mZnNldCA8IDApCiAJCWNlaWxfb2Zmc2V0ID0gbWluX29mZnNldCAtIDI7CiAKKwlpZiAobWluX29mZnNldCAmJiBtaW5fb2Zmc2V0ID09IGRpci0+bGVuICYmCisJICAgICFpc19kaXJfc2VwKGRpci0+YnVmW21pbl9vZmZzZXQgLSAxXSkpIHsKKwkJc3RyYnVmX2FkZGNoKGRpciwgJy8nKTsKKwkJbWluX29mZnNldCsrOworCX0KKwogCS8qCiAJICogVGVzdCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyIChyZWxhdGl2ZSB0byB0aGUgZGlyKToKIAkgKiAtIC5naXQgKGZpbGUgY29udGFpbmluZyAiZ2l0ZGlyOiA8cGF0aD4iKQpAQCAtMTAwNyw3ICsxMDM1LDcgQEAKIAlzdHJ1Y3Qgc3RyYnVmIGRpciA9IFNUUkJVRl9JTklULCBlcnIgPSBTVFJCVUZfSU5JVDsKIAlzaXplX3QgZ2l0ZGlyX29mZnNldCA9IGdpdGRpci0+bGVuLCBjd2RfbGVuOwogCXNpemVfdCBjb21tb25kaXJfb2Zmc2V0ID0gY29tbW9uZGlyLT5sZW47Ci0Jc3RydWN0IHJlcG9zaXRvcnlfZm9ybWF0IGNhbmRpZGF0ZTsKKwlzdHJ1Y3QgcmVwb3NpdG9yeV9mb3JtYXQgY2FuZGlkYXRlID0gUkVQT1NJVE9SWV9GT1JNQVRfSU5JVDsKIAogCWlmIChzdHJidWZfZ2V0Y3dkKCZkaXIpKQogCQlyZXR1cm4gLTE7CkBAIC0xMDQ0LDkgKzEwNzIsMTEgQEAKIAkJc3RyYnVmX3JlbGVhc2UoJmVycik7CiAJCXN0cmJ1Zl9zZXRsZW4oY29tbW9uZGlyLCBjb21tb25kaXJfb2Zmc2V0KTsKIAkJc3RyYnVmX3NldGxlbihnaXRkaXIsIGdpdGRpcl9vZmZzZXQpOworCQljbGVhcl9yZXBvc2l0b3J5X2Zvcm1hdCgmY2FuZGlkYXRlKTsKIAkJcmV0dXJuIC0xOwogCX0KIAorCWNsZWFyX3JlcG9zaXRvcnlfZm9ybWF0KCZjYW5kaWRhdGUpOwogCXJldHVybiAwOwogfQogCkBAIC0xMDU0LDggKzEwODQsOCBAQAogewogCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIGN3ZCA9IFNUUkJVRl9JTklUOwogCXN0cnVjdCBzdHJidWYgZGlyID0gU1RSQlVGX0lOSVQsIGdpdGRpciA9IFNUUkJVRl9JTklUOwotCWNvbnN0IGNoYXIgKnByZWZpeDsKLQlzdHJ1Y3QgcmVwb3NpdG9yeV9mb3JtYXQgcmVwb19mbXQ7CisJY29uc3QgY2hhciAqcHJlZml4ID0gTlVMTDsKKwlzdHJ1Y3QgcmVwb3NpdG9yeV9mb3JtYXQgcmVwb19mbXQgPSBSRVBPU0lUT1JZX0ZPUk1BVF9JTklUOwogCiAJLyoKIAkgKiBXZSBtYXkgaGF2ZSByZWFkIGFuIGluY29tcGxldGUgY29uZmlndXJhdGlvbiBiZWZvcmUKQEAgLTEwNzksOSArMTEwOSw2IEBACiAJc3RyYnVmX2FkZGJ1ZigmZGlyLCAmY3dkKTsKIAogCXN3aXRjaCAoc2V0dXBfZ2l0X2RpcmVjdG9yeV9nZW50bHlfMSgmZGlyLCAmZ2l0ZGlyLCAxKSkgewotCWNhc2UgR0lUX0RJUl9OT05FOgotCQlwcmVmaXggPSBOVUxMOwotCQlicmVhazsKIAljYXNlIEdJVF9ESVJfRVhQTElDSVQ6CiAJCXByZWZpeCA9IHNldHVwX2V4cGxpY2l0X2dpdF9kaXIoZ2l0ZGlyLmJ1ZiwgJmN3ZCwgJnJlcG9fZm10LCBub25naXRfb2spOwogCQlicmVhazsKQEAgLTEwOTcsMjkgKzExMjQsNTEgQEAKIAkJcHJlZml4ID0gc2V0dXBfYmFyZV9naXRfZGlyKCZjd2QsIGRpci5sZW4sICZyZXBvX2ZtdCwgbm9uZ2l0X29rKTsKIAkJYnJlYWs7CiAJY2FzZSBHSVRfRElSX0hJVF9DRUlMSU5HOgotCQlwcmVmaXggPSBzZXR1cF9ub25naXQoY3dkLmJ1Ziwgbm9uZ2l0X29rKTsKKwkJaWYgKCFub25naXRfb2spCisJCQlkaWUoXygibm90IGEgZ2l0IHJlcG9zaXRvcnkgKG9yIGFueSBvZiB0aGUgcGFyZW50IGRpcmVjdG9yaWVzKTogJXMiKSwKKwkJCSAgICBERUZBVUxUX0dJVF9ESVJfRU5WSVJPTk1FTlQpOworCQkqbm9uZ2l0X29rID0gMTsKIAkJYnJlYWs7CiAJY2FzZSBHSVRfRElSX0hJVF9NT1VOVF9QT0lOVDoKLQkJaWYgKG5vbmdpdF9vaykgewotCQkJKm5vbmdpdF9vayA9IDE7Ci0JCQlzdHJidWZfcmVsZWFzZSgmY3dkKTsKLQkJCXN0cmJ1Zl9yZWxlYXNlKCZkaXIpOwotCQkJcmV0dXJuIE5VTEw7Ci0JCX0KLQkJZGllKF8oIm5vdCBhIGdpdCByZXBvc2l0b3J5IChvciBhbnkgcGFyZW50IHVwIHRvIG1vdW50IHBvaW50ICVzKVxuIgotCQkgICAgICAiU3RvcHBpbmcgYXQgZmlsZXN5c3RlbSBib3VuZGFyeSAoR0lUX0RJU0NPVkVSWV9BQ1JPU1NfRklMRVNZU1RFTSBub3Qgc2V0KS4iKSwKLQkJICAgIGRpci5idWYpOworCQlpZiAoIW5vbmdpdF9vaykKKwkJCWRpZShfKCJub3QgYSBnaXQgcmVwb3NpdG9yeSAob3IgYW55IHBhcmVudCB1cCB0byBtb3VudCBwb2ludCAlcylcbiIKKwkJCSAgICAgICJTdG9wcGluZyBhdCBmaWxlc3lzdGVtIGJvdW5kYXJ5IChHSVRfRElTQ09WRVJZX0FDUk9TU19GSUxFU1lTVEVNIG5vdCBzZXQpLiIpLAorCQkJICAgIGRpci5idWYpOworCQkqbm9uZ2l0X29rID0gMTsKKwkJYnJlYWs7CisJY2FzZSBHSVRfRElSX05PTkU6CisJCS8qCisJCSAqIEFzIGEgc2FmZWd1YXJkIGFnYWluc3Qgc2V0dXBfZ2l0X2RpcmVjdG9yeV9nZW50bHlfMSByZXR1cm5pbmcKKwkJICogdGhpcyB2YWx1ZSwgZmFsbHRocm91Z2ggdG8gQlVHLiBPdGhlcndpc2UgaXQgaXMgcG9zc2libGUgdG8KKwkJICogc2V0IHN0YXJ0dXBfaW5mby0+aGF2ZV9yZXBvc2l0b3J5IHRvIDEgd2hlbiB3ZSBkaWQgbm90aGluZyB0bworCQkgKiBmaW5kIGEgcmVwb3NpdG9yeS4KKwkJICovCiAJZGVmYXVsdDoKIAkJQlVHKCJ1bmhhbmRsZWQgc2V0dXBfZ2l0X2RpcmVjdG9yeV8xKCkgcmVzdWx0Iik7CiAJfQogCi0JaWYgKHByZWZpeCkKLQkJc2V0ZW52KEdJVF9QUkVGSVhfRU5WSVJPTk1FTlQsIHByZWZpeCwgMSk7Ci0JZWxzZQorCS8qCisJICogQXQgdGhpcyBwb2ludCwgbm9uZ2l0X29rIGlzIHN0YWJsZS4gSWYgaXQgaXMgbm9uLU5VTEwgYW5kIHBvaW50cworCSAqIHRvIGEgbm9uLXplcm8gdmFsdWUsIHRoZW4gdGhpcyBtZWFucyB0aGF0IHdlIGhhdmVuJ3QgZm91bmQgYQorCSAqIHJlcG9zaXRvcnkgYW5kIHRoYXQgdGhlIGNhbGxlciBleHBlY3RzIHN0YXJ0dXBfaW5mbyB0byByZWZsZWN0CisJICogdGhpcy4KKwkgKgorCSAqIFJlZ2FyZGxlc3Mgb2YgdGhlIHN0YXRlIG9mIG5vbmdpdF9vaywgc3RhcnR1cF9pbmZvLT5wcmVmaXggYW5kCisJICogdGhlIEdJVF9QUkVGSVggZW52aXJvbm1lbnQgdmFyaWFibGUgbXVzdCBhbHdheXMgbWF0Y2guIEZvciBkZXRhaWxzCisJICogc2VlIERvY3VtZW50YXRpb24vY29uZmlnL2FsaWFzLnR4dC4KKwkgKi8KKwlpZiAobm9uZ2l0X29rICYmICpub25naXRfb2spIHsKKwkJc3RhcnR1cF9pbmZvLT5oYXZlX3JlcG9zaXRvcnkgPSAwOworCQlzdGFydHVwX2luZm8tPnByZWZpeCA9IE5VTEw7CiAJCXNldGVudihHSVRfUFJFRklYX0VOVklST05NRU5ULCAiIiwgMSk7Ci0KLQlzdGFydHVwX2luZm8tPmhhdmVfcmVwb3NpdG9yeSA9ICFub25naXRfb2sgfHwgISpub25naXRfb2s7Ci0Jc3RhcnR1cF9pbmZvLT5wcmVmaXggPSBwcmVmaXg7CisJfSBlbHNlIHsKKwkJc3RhcnR1cF9pbmZvLT5oYXZlX3JlcG9zaXRvcnkgPSAxOworCQlzdGFydHVwX2luZm8tPnByZWZpeCA9IHByZWZpeDsKKwkJaWYgKHByZWZpeCkKKwkJCXNldGVudihHSVRfUFJFRklYX0VOVklST05NRU5ULCBwcmVmaXgsIDEpOworCQllbHNlCisJCQlzZXRlbnYoR0lUX1BSRUZJWF9FTlZJUk9OTUVOVCwgIiIsIDEpOworCX0KIAogCS8qCiAJICogTm90IGFsbCBwYXRocyB0aHJvdWdoIHRoZSBzZXR1cCBjb2RlIHdpbGwgY2FsbCAnc2V0X2dpdF9kaXIoKScgKHdoaWNoCkBAIC0xMTMyLDcgKzExODEsMTAgQEAKIAkgKiB0aGUgdXNlciBoYXMgc2V0IEdJVF9ESVIuICBJdCBtYXkgYmUgYmVuZWZpY2lhbCB0byBkaXNhbGxvdyBib2d1cwogCSAqIEdJVF9ESVIgdmFsdWVzIGF0IHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVyZS4KIAkgKi8KLQlpZiAoc3RhcnR1cF9pbmZvLT5oYXZlX3JlcG9zaXRvcnkgfHwgZ2V0ZW52KEdJVF9ESVJfRU5WSVJPTk1FTlQpKSB7CisJaWYgKC8qIEdJVF9ESVJfRVhQTElDSVQsIEdJVF9ESVJfRElTQ09WRVJFRCwgR0lUX0RJUl9CQVJFICovCisJICAgIHN0YXJ0dXBfaW5mby0+aGF2ZV9yZXBvc2l0b3J5IHx8CisJICAgIC8qIEdJVF9ESVJfRVhQTElDSVQgKi8KKwkgICAgZ2V0ZW52KEdJVF9ESVJfRU5WSVJPTk1FTlQpKSB7CiAJCWlmICghdGhlX3JlcG9zaXRvcnktPmdpdGRpcikgewogCQkJY29uc3QgY2hhciAqZ2l0ZGlyID0gZ2V0ZW52KEdJVF9ESVJfRU5WSVJPTk1FTlQpOwogCQkJaWYgKCFnaXRkaXIpCkBAIC0xMTQ1LDYgKzExOTcsNyBAQAogCiAJc3RyYnVmX3JlbGVhc2UoJmRpcik7CiAJc3RyYnVmX3JlbGVhc2UoJmdpdGRpcik7CisJY2xlYXJfcmVwb3NpdG9yeV9mb3JtYXQoJnJlcG9fZm10KTsKIAogCXJldHVybiBwcmVmaXg7CiB9CkBAIC0xMjAyLDkgKzEyNTUsMTAgQEAKIAogdm9pZCBjaGVja19yZXBvc2l0b3J5X2Zvcm1hdCh2b2lkKQogewotCXN0cnVjdCByZXBvc2l0b3J5X2Zvcm1hdCByZXBvX2ZtdDsKKwlzdHJ1Y3QgcmVwb3NpdG9yeV9mb3JtYXQgcmVwb19mbXQgPSBSRVBPU0lUT1JZX0ZPUk1BVF9JTklUOwogCWNoZWNrX3JlcG9zaXRvcnlfZm9ybWF0X2dlbnRseShnZXRfZ2l0X2RpcigpLCAmcmVwb19mbXQsIE5VTEwpOwogCXN0YXJ0dXBfaW5mby0+aGF2ZV9yZXBvc2l0b3J5ID0gMTsKKwljbGVhcl9yZXBvc2l0b3J5X2Zvcm1hdCgmcmVwb19mbXQpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc2gtaTE4bi0tZW52c3Vic3QuYyBiL3NoLWkxOG4tLWVudnN1YnN0LmMKaW5kZXggMDljNmI0NC4uZTc0MzBiOSAxMDA2NDQKLS0tIGEvc2gtaTE4bi0tZW52c3Vic3QuYworKysgYi9zaC1pMThuLS1lbnZzdWJzdC5jCkBAIC0xNCw2ICsxNCw3IEBACiAgKi8KIAogI2luY2x1ZGUgImdpdC1jb21wYXQtdXRpbC5oIgorI2luY2x1ZGUgInRyYWNlMi5oIgogCiAvKiBTdWJzdGl0dXRpb24gb2YgZW52aXJvbm1lbnQgdmFyaWFibGVzIGluIHNoZWxsIGZvcm1hdCBzdHJpbmdzLgogICAgQ29weXJpZ2h0IChDKSAyMDAzLTIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC02Nyw2ICs2OCw4IEBACiAgIC8qIERlZmF1bHQgdmFsdWVzIGZvciBjb21tYW5kIGxpbmUgb3B0aW9ucy4gICovCiAgIC8qIHVuc2lnbmVkIHNob3J0IGludCBzaG93X3ZhcmlhYmxlcyA9IDA7ICovCiAKKyAgdHJhY2UyX2NtZF9uYW1lKCJzaC1pMThuLS1lbnZzdWJzdCIpOworCiAgIHN3aXRjaCAoYXJnYykKIAl7CiAJY2FzZSAxOgpAQCAtMjQ2LDcgKzI0OSw3IEBACiAJewogCSAgLyogSGVyZSB3ZSBrbm93IHRoYXQgaWYgcyBpcyBpbiB0aGUgbGlzdCwgaXQgaXMgYXQgYW4gaW5kZXggagogCSAgICAgd2l0aCBqMSA8PSBqIDwgajIuICAqLwotCSAgc2l6ZV90IGogPSAoajEgKyBqMikgPj4gMTsKKwkgIHNpemVfdCBqID0gajEgKyAoKGoyIC0gajEpID4+IDEpOwogCSAgaW50IHJlc3VsdCA9IHN0cmNtcCAoc2xwLT5pdGVtW2pdLCBzKTsKIAogCSAgaWYgKHJlc3VsdCA+IDApCmRpZmYgLS1naXQgYS9zaGExLWFycmF5LmMgYi9zaGExLWFycmF5LmMKaW5kZXggYjk0ZTBlYy4uM2VlYWRmZSAxMDA2NDQKLS0tIGEvc2hhMS1hcnJheS5jCisrKyBiL3NoYTEtYXJyYXkuYwpAQCAtNDgsNyArNDgsNyBAQAogewogCWludCBpOwogCi0JLyogTm8gb2lkX2FycmF5X3NvcnQoKSBoZXJlISBTZWUgdGhlIGFwaS1vaWQtYXJyYXkudHh0IGRvY3MhICovCisJLyogTm8gb2lkX2FycmF5X3NvcnQoKSBoZXJlISBTZWUgc2hhMS1hcnJheS5oICovCiAKIAlmb3IgKGkgPSAwOyBpIDwgYXJyYXktPm5yOyBpKyspIHsKIAkJaW50IHJldCA9IGZuKGFycmF5LT5vaWQgKyBpLCBkYXRhKTsKQEAgLTc3LDMgKzc3LDIwIEBACiAJfQogCXJldHVybiAwOwogfQorCit2b2lkIG9pZF9hcnJheV9maWx0ZXIoc3RydWN0IG9pZF9hcnJheSAqYXJyYXksCisJCSAgICAgIGZvcl9lYWNoX29pZF9mbiB3YW50LAorCQkgICAgICB2b2lkICpjYl9kYXRhKQoreworCXVuc2lnbmVkIG5yID0gYXJyYXktPm5yLCBzcmMsIGRzdDsKKwlzdHJ1Y3Qgb2JqZWN0X2lkICpvaWRzID0gYXJyYXktPm9pZDsKKworCWZvciAoc3JjID0gZHN0ID0gMDsgc3JjIDwgbnI7IHNyYysrKSB7CisJCWlmICh3YW50KCZvaWRzW3NyY10sIGNiX2RhdGEpKSB7CisJCQlpZiAoc3JjICE9IGRzdCkKKwkJCQlvaWRjcHkoJm9pZHNbZHN0XSwgJm9pZHNbc3JjXSk7CisJCQlkc3QrKzsKKwkJfQorCX0KKwlhcnJheS0+bnIgPSBkc3Q7Cit9CmRpZmYgLS1naXQgYS9zaGExLWFycmF5LmggYi9zaGExLWFycmF5LmgKaW5kZXggMjMyYmY5NS4uZGMxYmNhOSAxMDA2NDQKLS0tIGEvc2hhMS1hcnJheS5oCisrKyBiL3NoYTEtYXJyYXkuaApAQCAtMSw2ICsxLDUyIEBACiAjaWZuZGVmIFNIQTFfQVJSQVlfSAogI2RlZmluZSBTSEExX0FSUkFZX0gKIAorLyoqCisgKiBUaGUgQVBJIHByb3ZpZGVzIHN0b3JhZ2UgYW5kIG1hbmlwdWxhdGlvbiBvZiBzZXRzIG9mIG9iamVjdCBpZGVudGlmaWVycy4KKyAqIFRoZSBlbXBoYXNpcyBpcyBvbiBzdG9yYWdlIGFuZCBwcm9jZXNzaW5nIGVmZmljaWVuY3ksIG1ha2luZyB0aGVtIHN1aXRhYmxlCisgKiBmb3IgbGFyZ2UgbGlzdHMuIE5vdGUgdGhhdCB0aGUgb3JkZXJpbmcgb2YgaXRlbXMgaXMgbm90IHByZXNlcnZlZCBvdmVyIHNvbWUKKyAqIG9wZXJhdGlvbnMuCisgKgorICogRXhhbXBsZXMKKyAqIC0tLS0tLS0tCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogaW50IHByaW50X2NhbGxiYWNrKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKyAqIAkJICAgIHZvaWQgKmRhdGEpCisgKiB7CisgKiAJcHJpbnRmKCIlc1xuIiwgb2lkX3RvX2hleChvaWQpKTsKKyAqIAlyZXR1cm4gMDsgLy8gYWx3YXlzIGNvbnRpbnVlCisgKiB9CisgKgorICogdm9pZCBzb21lX2Z1bmModm9pZCkKKyAqIHsKKyAqICAgICBzdHJ1Y3Qgc2hhMV9hcnJheSBoYXNoZXMgPSBPSURfQVJSQVlfSU5JVDsKKyAqICAgICBzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKyAqCisgKiAgICAgLy8gUmVhZCBvYmplY3RzIGludG8gb3VyIHNldAorICogICAgIHdoaWxlIChyZWFkX29iamVjdF9mcm9tX3N0ZGluKG9pZC5oYXNoKSkKKyAqICAgICAgICAgb2lkX2FycmF5X2FwcGVuZCgmaGFzaGVzLCAmb2lkKTsKKyAqCisgKiAgICAgLy8gQ2hlY2sgaWYgc29tZSBvYmplY3RzIGFyZSBpbiBvdXIgc2V0CisgKiAgICAgd2hpbGUgKHJlYWRfb2JqZWN0X2Zyb21fc3RkaW4ob2lkLmhhc2gpKSB7CisgKiAgICAgICAgIGlmIChvaWRfYXJyYXlfbG9va3VwKCZoYXNoZXMsICZvaWQpID49IDApCisgKiAgICAgICAgICAgICBwcmludGYoIml0J3MgaW4gdGhlcmUhXG4iKTsKKyAqCisgKiAgICAgICAgICAvLyBQcmludCB0aGUgdW5pcXVlIHNldCBvZiBvYmplY3RzLiBXZSBjb3VsZCBhbHNvIGhhdmUKKyAqICAgICAgICAgIC8vIGF2b2lkZWQgYWRkaW5nIGR1cGxpY2F0ZSBvYmplY3RzIGluIHRoZSBmaXJzdCBwbGFjZSwKKyAqICAgICAgICAgIC8vIGJ1dCB3ZSB3b3VsZCBlbmQgdXAgcmUtc29ydGluZyB0aGUgYXJyYXkgcmVwZWF0ZWRseS4KKyAqICAgICAgICAgIC8vIEluc3RlYWQsIHRoaXMgd2lsbCBzb3J0IG9uY2UgYW5kIHRoZW4gc2tpcCBkdXBsaWNhdGVzCisgKiAgICAgICAgICAvLyBpbiBsaW5lYXIgdGltZS4KKyAqCisgKiAgICAgICAgIG9pZF9hcnJheV9mb3JfZWFjaF91bmlxdWUoJmhhc2hlcywgcHJpbnRfY2FsbGJhY2ssIE5VTEwpOworICogICAgIH0KKyAqLworCisvKioKKyAqIEEgc2luZ2xlIGFycmF5IG9mIG9iamVjdCBJRHMuIFRoaXMgc2hvdWxkIGJlIGluaXRpYWxpemVkIGJ5IGFzc2lnbm1lbnQgZnJvbQorICogYE9JRF9BUlJBWV9JTklUYC4gVGhlIGBvaWRgIG1lbWJlciBjb250YWlucyB0aGUgYWN0dWFsIGRhdGEuIFRoZSBgbnJgIG1lbWJlcgorICogY29udGFpbnMgdGhlIG51bWJlciBvZiBpdGVtcyBpbiB0aGUgc2V0LiBUaGUgYGFsbG9jYCBhbmQgYHNvcnRlZGAgbWVtYmVycworICogYXJlIHVzZWQgaW50ZXJuYWxseSwgYW5kIHNob3VsZCBub3QgYmUgbmVlZGVkIGJ5IEFQSSBjYWxsZXJzLgorICovCiBzdHJ1Y3Qgb2lkX2FycmF5IHsKIAlzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQ7CiAJaW50IG5yOwpAQCAtMTAsMTcgKzU2LDU0IEBACiAKICNkZWZpbmUgT0lEX0FSUkFZX0lOSVQgeyBOVUxMLCAwLCAwLCAwIH0KIAorLyoqCisgKiBBZGQgYW4gaXRlbSB0byB0aGUgc2V0LiBUaGUgb2JqZWN0IElEIHdpbGwgYmUgcGxhY2VkIGF0IHRoZSBlbmQgb2YgdGhlIGFycmF5CisgKiAoYnV0IG5vdGUgdGhhdCBzb21lIG9wZXJhdGlvbnMgYmVsb3cgbWF5IGxvc2UgdGhpcyBvcmRlcmluZykuCisgKi8KIHZvaWQgb2lkX2FycmF5X2FwcGVuZChzdHJ1Y3Qgb2lkX2FycmF5ICphcnJheSwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKKworLyoqCisgKiBQZXJmb3JtIGEgYmluYXJ5IHNlYXJjaCBvZiB0aGUgYXJyYXkgZm9yIGEgc3BlY2lmaWMgb2JqZWN0IElELiBJZiBmb3VuZCwKKyAqIHJldHVybnMgdGhlIG9mZnNldCAoaW4gbnVtYmVyIG9mIGVsZW1lbnRzKSBvZiB0aGUgb2JqZWN0IElELiBJZiBub3QgZm91bmQsCisgKiByZXR1cm5zIGEgbmVnYXRpdmUgaW50ZWdlci4gSWYgdGhlIGFycmF5IGlzIG5vdCBzb3J0ZWQsIHRoaXMgZnVuY3Rpb24gaGFzCisgKiB0aGUgc2lkZSBlZmZlY3Qgb2Ygc29ydGluZyBpdC4KKyAqLwogaW50IG9pZF9hcnJheV9sb29rdXAoc3RydWN0IG9pZF9hcnJheSAqYXJyYXksIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CisKKy8qKgorICogRnJlZSBhbGwgbWVtb3J5IGFzc29jaWF0ZWQgd2l0aCB0aGUgYXJyYXkgYW5kIHJldHVybiBpdCB0byB0aGUgaW5pdGlhbCwKKyAqIGVtcHR5IHN0YXRlLgorICovCiB2b2lkIG9pZF9hcnJheV9jbGVhcihzdHJ1Y3Qgb2lkX2FycmF5ICphcnJheSk7CiAKIHR5cGVkZWYgaW50ICgqZm9yX2VhY2hfb2lkX2ZuKShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQkgICAgICAgdm9pZCAqZGF0YSk7CisvKioKKyAqIEl0ZXJhdGUgb3ZlciBlYWNoIGVsZW1lbnQgb2YgdGhlIGxpc3QsIGV4ZWN1dGluZyB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gZm9yCisgKiBlYWNoIG9uZS4gRG9lcyBub3Qgc29ydCB0aGUgbGlzdCwgc28gYW55IGN1c3RvbSBoYXNoIG9yZGVyIGlzIHJldGFpbmVkLgorICogSWYgdGhlIGNhbGxiYWNrIHJldHVybnMgYSBub24temVybyB2YWx1ZSwgdGhlIGl0ZXJhdGlvbiBlbmRzIGltbWVkaWF0ZWx5CisgKiBhbmQgdGhlIGNhbGxiYWNrJ3MgcmV0dXJuIGlzIHByb3BhZ2F0ZWQ7IG90aGVyd2lzZSwgMCBpcyByZXR1cm5lZC4KKyAqLwogaW50IG9pZF9hcnJheV9mb3JfZWFjaChzdHJ1Y3Qgb2lkX2FycmF5ICphcnJheSwKIAkJICAgICAgIGZvcl9lYWNoX29pZF9mbiBmbiwKIAkJICAgICAgIHZvaWQgKmRhdGEpOworCisvKioKKyAqIEl0ZXJhdGUgb3ZlciBlYWNoIHVuaXF1ZSBlbGVtZW50IG9mIHRoZSBsaXN0IGluIHNvcnRlZCBvcmRlciwgYnV0IG90aGVyd2lzZQorICogYmVoYXZlIGxpa2UgYG9pZF9hcnJheV9mb3JfZWFjaGAuIElmIHRoZSBhcnJheSBpcyBub3Qgc29ydGVkLCB0aGlzIGZ1bmN0aW9uCisgKiBoYXMgdGhlIHNpZGUgZWZmZWN0IG9mIHNvcnRpbmcgaXQuCisgKi8KIGludCBvaWRfYXJyYXlfZm9yX2VhY2hfdW5pcXVlKHN0cnVjdCBvaWRfYXJyYXkgKmFycmF5LAogCQkJICAgICAgZm9yX2VhY2hfb2lkX2ZuIGZuLAogCQkJICAgICAgdm9pZCAqZGF0YSk7CiAKKy8qKgorICogQXBwbHkgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGB3YW50YCB0byBlYWNoIGVudHJ5IGluIHRoZSBhcnJheSwgcmV0YWluaW5nCisgKiBvbmx5IHRoZSBlbnRyaWVzIGZvciB3aGljaCB0aGUgZnVuY3Rpb24gcmV0dXJucyB0cnVlLiBQcmVzZXJ2ZSB0aGUgb3JkZXIKKyAqIG9mIHRoZSBlbnRyaWVzIHRoYXQgYXJlIHJldGFpbmVkLgorICovCit2b2lkIG9pZF9hcnJheV9maWx0ZXIoc3RydWN0IG9pZF9hcnJheSAqYXJyYXksCisJCSAgICAgIGZvcl9lYWNoX29pZF9mbiB3YW50LAorCQkgICAgICB2b2lkICpjYmRhdGEpOworCiAjZW5kaWYgLyogU0hBMV9BUlJBWV9IICovCmRpZmYgLS1naXQgYS9zaGExLWZpbGUuYyBiL3NoYTEtZmlsZS5jCmluZGV4IDViZDExYzguLjYxNjg4NjcgMTAwNjQ0Ci0tLSBhL3NoYTEtZmlsZS5jCisrKyBiL3NoYTEtZmlsZS5jCkBAIC0zMCw4ICszMCw4IEBACiAjaW5jbHVkZSAibWVyZ2Vzb3J0LmgiCiAjaW5jbHVkZSAicXVvdGUuaCIKICNpbmNsdWRlICJwYWNrZmlsZS5oIgotI2luY2x1ZGUgImZldGNoLW9iamVjdC5oIgogI2luY2x1ZGUgIm9iamVjdC1zdG9yZS5oIgorI2luY2x1ZGUgInByb21pc29yLXJlbW90ZS5oIgogCiAvKiBUaGUgbWF4aW11bSBzaXplIGZvciBhbiBvYmplY3QgaGVhZGVyLiAqLwogI2RlZmluZSBNQVhfSEVBREVSX0xFTiAzMgpAQCAtNDAsMTIgKzQwLDIxIEBACiAjZGVmaW5lIEVNUFRZX1RSRUVfU0hBMV9CSU5fTElURVJBTCBcCiAJICJceDRiXHg4Mlx4NWRceGM2XHg0Mlx4Y2JceDZlXHhiOVx4YTBceDYwIiBcCiAJICJceGU1XHg0Ylx4ZjhceGQ2XHg5Mlx4ODhceGZiXHhlZVx4NDlceDA0IgorI2RlZmluZSBFTVBUWV9UUkVFX1NIQTI1Nl9CSU5fTElURVJBTCBcCisJIlx4NmVceGYxXHg5Ylx4NDFceDIyXHg1Y1x4NTNceDY5XHhmMVx4YzEiIFwKKwkiXHgwNFx4ZDRceDVkXHg4ZFx4ODVceGVmXHhhOVx4YjBceDU3XHhiNSIgXAorCSJceDNiXHgxNFx4YjRceGI5XHhiOVx4MzlceGRkXHg3NFx4ZGVceGNjIiBcCisJIlx4NTNceDIxIgogCiAjZGVmaW5lIEVNUFRZX0JMT0JfU0hBMV9CSU5fTElURVJBTCBcCiAJIlx4ZTZceDlkXHhlMlx4OWJceGIyXHhkMVx4ZDZceDQzXHg0Ylx4OGIiIFwKIAkiXHgyOVx4YWVceDc3XHg1YVx4ZDhceGMyXHhlNFx4OGNceDUzXHg5MSIKKyNkZWZpbmUgRU1QVFlfQkxPQl9TSEEyNTZfQklOX0xJVEVSQUwgXAorCSJceDQ3XHgzYVx4MGZceDRjXHgzYlx4ZThceGE5XHgzNlx4ODFceGEyIiBcCisJIlx4NjdceGUzXHhiMVx4ZTlceGE3XHhkY1x4ZGFceDExXHg4NVx4NDMiIFwKKwkiXHg2Zlx4ZTFceDQxXHhmN1x4NzRceDkxXHgyMFx4YTNceDAzXHg3MiIgXAorCSJceDE4XHgxMyIKIAotY29uc3QgdW5zaWduZWQgY2hhciBudWxsX3NoYTFbR0lUX01BWF9SQVdTWl07CiBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkIG51bGxfb2lkOwogc3RhdGljIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgZW1wdHlfdHJlZV9vaWQgPSB7CiAJRU1QVFlfVFJFRV9TSEExX0JJTl9MSVRFUkFMCkBAIC01Myw2ICs2MiwxMiBAQAogc3RhdGljIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgZW1wdHlfYmxvYl9vaWQgPSB7CiAJRU1QVFlfQkxPQl9TSEExX0JJTl9MSVRFUkFMCiB9Oworc3RhdGljIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgZW1wdHlfdHJlZV9vaWRfc2hhMjU2ID0geworCUVNUFRZX1RSRUVfU0hBMjU2X0JJTl9MSVRFUkFMCit9Oworc3RhdGljIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgZW1wdHlfYmxvYl9vaWRfc2hhMjU2ID0geworCUVNUFRZX0JMT0JfU0hBMjU2X0JJTl9MSVRFUkFMCit9OwogCiBzdGF0aWMgdm9pZCBnaXRfaGFzaF9zaGExX2luaXQoZ2l0X2hhc2hfY3R4ICpjdHgpCiB7CkBAIC02OSw2ICs4NCwyMiBAQAogCWdpdF9TSEExX0ZpbmFsKGhhc2gsICZjdHgtPnNoYTEpOwogfQogCisKK3N0YXRpYyB2b2lkIGdpdF9oYXNoX3NoYTI1Nl9pbml0KGdpdF9oYXNoX2N0eCAqY3R4KQoreworCWdpdF9TSEEyNTZfSW5pdCgmY3R4LT5zaGEyNTYpOworfQorCitzdGF0aWMgdm9pZCBnaXRfaGFzaF9zaGEyNTZfdXBkYXRlKGdpdF9oYXNoX2N0eCAqY3R4LCBjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgbGVuKQoreworCWdpdF9TSEEyNTZfVXBkYXRlKCZjdHgtPnNoYTI1NiwgZGF0YSwgbGVuKTsKK30KKworc3RhdGljIHZvaWQgZ2l0X2hhc2hfc2hhMjU2X2ZpbmFsKHVuc2lnbmVkIGNoYXIgKmhhc2gsIGdpdF9oYXNoX2N0eCAqY3R4KQoreworCWdpdF9TSEEyNTZfRmluYWwoaGFzaCwgJmN0eC0+c2hhMjU2KTsKK30KKwogc3RhdGljIHZvaWQgZ2l0X2hhc2hfdW5rbm93bl9pbml0KGdpdF9oYXNoX2N0eCAqY3R4KQogewogCUJVRygidHJ5aW5nIHRvIGluaXQgdW5rbm93biBoYXNoIik7CkBAIC05MCw2ICsxMjEsNyBAQAogCQkweDAwMDAwMDAwLAogCQkwLAogCQkwLAorCQkwLAogCQlnaXRfaGFzaF91bmtub3duX2luaXQsCiAJCWdpdF9oYXNoX3Vua25vd25fdXBkYXRlLAogCQlnaXRfaGFzaF91bmtub3duX2ZpbmFsLApAQCAtOTcsMTcgKzEyOSwzMSBAQAogCQlOVUxMLAogCX0sCiAJewotCQkic2hhLTEiLAorCQkic2hhMSIsCiAJCS8qICJzaGExIiwgYmlnLWVuZGlhbiAqLwogCQkweDczNjg2MTMxLAogCQlHSVRfU0hBMV9SQVdTWiwKIAkJR0lUX1NIQTFfSEVYU1osCisJCUdJVF9TSEExX0JMS1NaLAogCQlnaXRfaGFzaF9zaGExX2luaXQsCiAJCWdpdF9oYXNoX3NoYTFfdXBkYXRlLAogCQlnaXRfaGFzaF9zaGExX2ZpbmFsLAogCQkmZW1wdHlfdHJlZV9vaWQsCiAJCSZlbXB0eV9ibG9iX29pZCwKIAl9LAorCXsKKwkJInNoYTI1NiIsCisJCS8qICJzMjU2IiwgYmlnLWVuZGlhbiAqLworCQkweDczMzIzNTM2LAorCQlHSVRfU0hBMjU2X1JBV1NaLAorCQlHSVRfU0hBMjU2X0hFWFNaLAorCQlHSVRfU0hBMjU2X0JMS1NaLAorCQlnaXRfaGFzaF9zaGEyNTZfaW5pdCwKKwkJZ2l0X2hhc2hfc2hhMjU2X3VwZGF0ZSwKKwkJZ2l0X2hhc2hfc2hhMjU2X2ZpbmFsLAorCQkmZW1wdHlfdHJlZV9vaWRfc2hhMjU2LAorCQkmZW1wdHlfYmxvYl9vaWRfc2hhMjU2LAorCX0KIH07CiAKIGNvbnN0IGNoYXIgKmVtcHR5X3RyZWVfb2lkX2hleCh2b2lkKQpAQCAtMTIyLDkgKzE2OCwzOCBAQAogCXJldHVybiBvaWRfdG9faGV4X3IoYnVmLCB0aGVfaGFzaF9hbGdvLT5lbXB0eV9ibG9iKTsKIH0KIAoraW50IGhhc2hfYWxnb19ieV9uYW1lKGNvbnN0IGNoYXIgKm5hbWUpCit7CisJaW50IGk7CisJaWYgKCFuYW1lKQorCQlyZXR1cm4gR0lUX0hBU0hfVU5LTk9XTjsKKwlmb3IgKGkgPSAxOyBpIDwgR0lUX0hBU0hfTkFMR09TOyBpKyspCisJCWlmICghc3RyY21wKG5hbWUsIGhhc2hfYWxnb3NbaV0ubmFtZSkpCisJCQlyZXR1cm4gaTsKKwlyZXR1cm4gR0lUX0hBU0hfVU5LTk9XTjsKK30KKworaW50IGhhc2hfYWxnb19ieV9pZCh1aW50MzJfdCBmb3JtYXRfaWQpCit7CisJaW50IGk7CisJZm9yIChpID0gMTsgaSA8IEdJVF9IQVNIX05BTEdPUzsgaSsrKQorCQlpZiAoZm9ybWF0X2lkID09IGhhc2hfYWxnb3NbaV0uZm9ybWF0X2lkKQorCQkJcmV0dXJuIGk7CisJcmV0dXJuIEdJVF9IQVNIX1VOS05PV047Cit9CisKK2ludCBoYXNoX2FsZ29fYnlfbGVuZ3RoKGludCBsZW4pCit7CisJaW50IGk7CisJZm9yIChpID0gMTsgaSA8IEdJVF9IQVNIX05BTEdPUzsgaSsrKQorCQlpZiAobGVuID09IGhhc2hfYWxnb3NbaV0ucmF3c3opCisJCQlyZXR1cm4gaTsKKwlyZXR1cm4gR0lUX0hBU0hfVU5LTk9XTjsKK30KKwogLyoKICAqIFRoaXMgaXMgbWVhbnQgdG8gaG9sZCBhICpzbWFsbCogbnVtYmVyIG9mIG9iamVjdHMgdGhhdCB5b3Ugd291bGQKLSAqIHdhbnQgcmVhZF9zaGExX2ZpbGUoKSB0byBiZSBhYmxlIHRvIHJldHVybiwgYnV0IHlldCB5b3UgZG8gbm90IHdhbnQKKyAqIHdhbnQgcmVhZF9vYmplY3RfZmlsZSgpIHRvIGJlIGFibGUgdG8gcmV0dXJuLCBidXQgeWV0IHlvdSBkbyBub3Qgd2FudAogICogdG8gd3JpdGUgdGhlbSBpbnRvIHRoZSBvYmplY3Qgc3RvcmUgKGUuZy4gYSBicm93c2Utb25seQogICogYXBwbGljYXRpb24pLgogICovCkBAIC0zMzMsMTIgKzQwOCwxMiBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyB2b2lkIGZpbGxfc2hhMV9wYXRoKHN0cnVjdCBzdHJidWYgKmJ1ZiwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSkKK3N0YXRpYyB2b2lkIGZpbGxfbG9vc2VfcGF0aChzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAlpbnQgaTsKIAlmb3IgKGkgPSAwOyBpIDwgdGhlX2hhc2hfYWxnby0+cmF3c3o7IGkrKykgewogCQlzdGF0aWMgY2hhciBoZXhbXSA9ICIwMTIzNDU2Nzg5YWJjZGVmIjsKLQkJdW5zaWduZWQgaW50IHZhbCA9IHNoYTFbaV07CisJCXVuc2lnbmVkIGludCB2YWwgPSBvaWQtPmhhc2hbaV07CiAJCXN0cmJ1Zl9hZGRjaChidWYsIGhleFt2YWwgPj4gNF0pOwogCQlzdHJidWZfYWRkY2goYnVmLCBoZXhbdmFsICYgMHhmXSk7CiAJCWlmICghaSkKQEAgLTM0NiwyNyArNDIxLDIzIEBACiAJfQogfQogCi12b2lkIHNoYTFfZmlsZV9uYW1lKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCitzdGF0aWMgY29uc3QgY2hhciAqb2RiX2xvb3NlX3BhdGgoc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKm9kYiwKKwkJCQkgIHN0cnVjdCBzdHJidWYgKmJ1ZiwKKwkJCQkgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKLQlzdHJidWZfYWRkc3RyKGJ1Ziwgci0+b2JqZWN0cy0+b2JqZWN0ZGlyKTsKKwlzdHJidWZfcmVzZXQoYnVmKTsKKwlzdHJidWZfYWRkc3RyKGJ1Ziwgb2RiLT5wYXRoKTsKIAlzdHJidWZfYWRkY2goYnVmLCAnLycpOwotCWZpbGxfc2hhMV9wYXRoKGJ1Ziwgc2hhMSk7Ci19Ci0KLXN0cnVjdCBzdHJidWYgKmFsdF9zY3JhdGNoX2J1ZihzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqYWx0KQotewotCXN0cmJ1Zl9zZXRsZW4oJmFsdC0+c2NyYXRjaCwgYWx0LT5iYXNlX2xlbik7Ci0JcmV0dXJuICZhbHQtPnNjcmF0Y2g7Ci19Ci0KLXN0YXRpYyBjb25zdCBjaGFyICphbHRfc2hhMV9wYXRoKHN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICphbHQsCi0JCQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEpCi17Ci0Jc3RydWN0IHN0cmJ1ZiAqYnVmID0gYWx0X3NjcmF0Y2hfYnVmKGFsdCk7Ci0JZmlsbF9zaGExX3BhdGgoYnVmLCBzaGExKTsKKwlmaWxsX2xvb3NlX3BhdGgoYnVmLCBvaWQpOwogCXJldHVybiBidWYtPmJ1ZjsKIH0KIAorY29uc3QgY2hhciAqbG9vc2Vfb2JqZWN0X3BhdGgoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBzdHJidWYgKmJ1ZiwKKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKK3sKKwlyZXR1cm4gb2RiX2xvb3NlX3BhdGgoci0+b2JqZWN0cy0+b2RiLCBidWYsIG9pZCk7Cit9CisKIC8qCiAgKiBSZXR1cm4gbm9uLXplcm8gaWZmIHRoZSBwYXRoIGlzIHVzYWJsZSBhcyBhbiBhbHRlcm5hdGUgb2JqZWN0IGRhdGFiYXNlLgogICovCkBAIC0zNzQsNyArNDQ1LDcgQEAKIAkJCSAgc3RydWN0IHN0cmJ1ZiAqcGF0aCwKIAkJCSAgY29uc3QgY2hhciAqbm9ybWFsaXplZF9vYmpkaXIpCiB7Ci0Jc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgKmFsdDsKKwlzdHJ1Y3Qgb2JqZWN0X2RpcmVjdG9yeSAqb2RiOwogCiAJLyogRGV0ZWN0IGNhc2VzIHdoZXJlIGFsdGVybmF0ZSBkaXNhcHBlYXJlZCAqLwogCWlmICghaXNfZGlyZWN0b3J5KHBhdGgtPmJ1ZikpIHsKQEAgLTM4OCw4ICs0NTksOCBAQAogCSAqIFByZXZlbnQgdGhlIGNvbW1vbiBtaXN0YWtlIG9mIGxpc3RpbmcgdGhlIHNhbWUKIAkgKiB0aGluZyB0d2ljZSwgb3Igb2JqZWN0IGRpcmVjdG9yeSBpdHNlbGYuCiAJICovCi0JZm9yIChhbHQgPSBvLT5hbHRfb2RiX2xpc3Q7IGFsdDsgYWx0ID0gYWx0LT5uZXh0KSB7Ci0JCWlmICghZnNwYXRoY21wKHBhdGgtPmJ1ZiwgYWx0LT5wYXRoKSkKKwlmb3IgKG9kYiA9IG8tPm9kYjsgb2RiOyBvZGIgPSBvZGItPm5leHQpIHsKKwkJaWYgKCFmc3BhdGhjbXAocGF0aC0+YnVmLCBvZGItPnBhdGgpKQogCQkJcmV0dXJuIDA7CiAJfQogCWlmICghZnNwYXRoY21wKHBhdGgtPmJ1Ziwgbm9ybWFsaXplZF9vYmpkaXIpKQpAQCAtNDAyLDcgKzQ3Myw3IEBACiAgKiBQcmVwYXJlIGFsdGVybmF0ZSBvYmplY3QgZGF0YWJhc2UgcmVnaXN0cnkuCiAgKgogICogVGhlIHZhcmlhYmxlIGFsdF9vZGJfbGlzdCBwb2ludHMgYXQgdGhlIGxpc3Qgb2Ygc3RydWN0Ci0gKiBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlLiAgVGhlIGVsZW1lbnRzIG9uIHRoaXMgbGlzdCBjb21lIGZyb20KKyAqIG9iamVjdF9kaXJlY3RvcnkuICBUaGUgZWxlbWVudHMgb24gdGhpcyBsaXN0IGNvbWUgZnJvbQogICogbm9uLWVtcHR5IGVsZW1lbnRzIGZyb20gY29sb24gc2VwYXJhdGVkIEFMVEVSTkFURV9EQl9FTlZJUk9OTUVOVAogICogZW52aXJvbm1lbnQgdmFyaWFibGUsIGFuZCAkR0lUX09CSkVDVF9ESVJFQ1RPUlkvaW5mby9hbHRlcm5hdGVzLAogICogd2hvc2UgY29udGVudHMgaXMgc2ltaWxhciB0byB0aGF0IGVudmlyb25tZW50IHZhcmlhYmxlIGJ1dCBjYW4gYmUKQEAgLTQxOSw3ICs0OTAsNyBAQAogc3RhdGljIGludCBsaW5rX2FsdF9vZGJfZW50cnkoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IGNoYXIgKmVudHJ5LAogCWNvbnN0IGNoYXIgKnJlbGF0aXZlX2Jhc2UsIGludCBkZXB0aCwgY29uc3QgY2hhciAqbm9ybWFsaXplZF9vYmpkaXIpCiB7Ci0Jc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgKmVudDsKKwlzdHJ1Y3Qgb2JqZWN0X2RpcmVjdG9yeSAqZW50OwogCXN0cnVjdCBzdHJidWYgcGF0aGJ1ZiA9IFNUUkJVRl9JTklUOwogCiAJaWYgKCFpc19hYnNvbHV0ZV9wYXRoKGVudHJ5KSAmJiByZWxhdGl2ZV9iYXNlKSB7CkBAIC00NDcsMTEgKzUxOCwxMiBAQAogCQlyZXR1cm4gLTE7CiAJfQogCi0JZW50ID0gYWxsb2NfYWx0X29kYihwYXRoYnVmLmJ1Zik7CisJZW50ID0geGNhbGxvYygxLCBzaXplb2YoKmVudCkpOworCWVudC0+cGF0aCA9IHhzdHJkdXAocGF0aGJ1Zi5idWYpOwogCiAJLyogYWRkIHRoZSBhbHRlcm5hdGUgZW50cnkgKi8KLQkqci0+b2JqZWN0cy0+YWx0X29kYl90YWlsID0gZW50OwotCXItPm9iamVjdHMtPmFsdF9vZGJfdGFpbCA9ICYoZW50LT5uZXh0KTsKKwkqci0+b2JqZWN0cy0+b2RiX3RhaWwgPSBlbnQ7CisJci0+b2JqZWN0cy0+b2RiX3RhaWwgPSAmKGVudC0+bmV4dCk7CiAJZW50LT5uZXh0ID0gTlVMTDsKIAogCS8qIHJlY3Vyc2l2ZWx5IGFkZCBhbHRlcm5hdGVzICovCkBAIC01MDUsNyArNTc3LDcgQEAKIAkJcmV0dXJuOwogCX0KIAotCXN0cmJ1Zl9hZGRfYWJzb2x1dGVfcGF0aCgmb2JqZGlyYnVmLCByLT5vYmplY3RzLT5vYmplY3RkaXIpOworCXN0cmJ1Zl9hZGRfYWJzb2x1dGVfcGF0aCgmb2JqZGlyYnVmLCByLT5vYmplY3RzLT5vZGItPnBhdGgpOwogCWlmIChzdHJidWZfbm9ybWFsaXplX3BhdGgoJm9iamRpcmJ1ZikgPCAwKQogCQlkaWUoXygidW5hYmxlIHRvIG5vcm1hbGl6ZSBvYmplY3QgZGlyZWN0b3J5OiAlcyIpLAogCQkgICAgb2JqZGlyYnVmLmJ1Zik7CkBAIC01NDAsMTggKzYxMiw2IEBACiAJZnJlZShwYXRoKTsKIH0KIAotc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgKmFsbG9jX2FsdF9vZGIoY29uc3QgY2hhciAqZGlyKQotewotCXN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICplbnQ7Ci0KLQlGTEVYX0FMTE9DX1NUUihlbnQsIHBhdGgsIGRpcik7Ci0Jc3RyYnVmX2luaXQoJmVudC0+c2NyYXRjaCwgMCk7Ci0Jc3RyYnVmX2FkZGYoJmVudC0+c2NyYXRjaCwgIiVzLyIsIGRpcik7Ci0JZW50LT5iYXNlX2xlbiA9IGVudC0+c2NyYXRjaC5sZW47Ci0KLQlyZXR1cm4gZW50OwotfQotCiB2b2lkIGFkZF90b19hbHRlcm5hdGVzX2ZpbGUoY29uc3QgY2hhciAqcmVmZXJlbmNlKQogewogCXN0cnVjdCBsb2NrX2ZpbGUgbG9jayA9IExPQ0tfSU5JVDsKQEAgLTU4OCw3ICs2NDgsNyBAQAogCQlmcHJpbnRmX29yX2RpZShvdXQsICIlc1xuIiwgcmVmZXJlbmNlKTsKIAkJaWYgKGNvbW1pdF9sb2NrX2ZpbGUoJmxvY2spKQogCQkJZGllX2Vycm5vKF8oInVuYWJsZSB0byBtb3ZlIG5ldyBhbHRlcm5hdGVzIGZpbGUgaW50byBwbGFjZSIpKTsKLQkJaWYgKHRoZV9yZXBvc2l0b3J5LT5vYmplY3RzLT5hbHRfb2RiX3RhaWwpCisJCWlmICh0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cy0+bG9hZGVkX2FsdGVybmF0ZXMpCiAJCQlsaW5rX2FsdF9vZGJfZW50cmllcyh0aGVfcmVwb3NpdG9yeSwgcmVmZXJlbmNlLAogCQkJCQkgICAgICdcbicsIE5VTEwsIDApOwogCX0KQEAgLTY4MiwxMyArNzQyLDExMSBAQAogCXJldHVybiByZWZfZ2l0OwogfQogCitzdGF0aWMgdm9pZCBmaWxsX2FsdGVybmF0ZV9yZWZzX2NvbW1hbmQoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNtZCwKKwkJCQkJY29uc3QgY2hhciAqcmVwb19wYXRoKQoreworCWNvbnN0IGNoYXIgKnZhbHVlOworCisJaWYgKCFnaXRfY29uZmlnX2dldF92YWx1ZSgiY29yZS5hbHRlcm5hdGVSZWZzQ29tbWFuZCIsICZ2YWx1ZSkpIHsKKwkJY21kLT51c2Vfc2hlbGwgPSAxOworCisJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kLT5hcmdzLCB2YWx1ZSk7CisJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kLT5hcmdzLCByZXBvX3BhdGgpOworCX0gZWxzZSB7CisJCWNtZC0+Z2l0X2NtZCA9IDE7CisKKwkJYXJndl9hcnJheV9wdXNoZigmY21kLT5hcmdzLCAiLS1naXQtZGlyPSVzIiwgcmVwb19wYXRoKTsKKwkJYXJndl9hcnJheV9wdXNoKCZjbWQtPmFyZ3MsICJmb3ItZWFjaC1yZWYiKTsKKwkJYXJndl9hcnJheV9wdXNoKCZjbWQtPmFyZ3MsICItLWZvcm1hdD0lKG9iamVjdG5hbWUpIik7CisKKwkJaWYgKCFnaXRfY29uZmlnX2dldF92YWx1ZSgiY29yZS5hbHRlcm5hdGVSZWZzUHJlZml4ZXMiLCAmdmFsdWUpKSB7CisJCQlhcmd2X2FycmF5X3B1c2goJmNtZC0+YXJncywgIi0tIik7CisJCQlhcmd2X2FycmF5X3NwbGl0KCZjbWQtPmFyZ3MsIHZhbHVlKTsKKwkJfQorCX0KKworCWNtZC0+ZW52ID0gbG9jYWxfcmVwb19lbnY7CisJY21kLT5vdXQgPSAtMTsKK30KKworc3RhdGljIHZvaWQgcmVhZF9hbHRlcm5hdGVfcmVmcyhjb25zdCBjaGFyICpwYXRoLAorCQkJCWFsdGVybmF0ZV9yZWZfZm4gKmNiLAorCQkJCXZvaWQgKmRhdGEpCit7CisJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY21kID0gQ0hJTERfUFJPQ0VTU19JTklUOworCXN0cnVjdCBzdHJidWYgbGluZSA9IFNUUkJVRl9JTklUOworCUZJTEUgKmZoOworCisJZmlsbF9hbHRlcm5hdGVfcmVmc19jb21tYW5kKCZjbWQsIHBhdGgpOworCisJaWYgKHN0YXJ0X2NvbW1hbmQoJmNtZCkpCisJCXJldHVybjsKKworCWZoID0geGZkb3BlbihjbWQub3V0LCAiciIpOworCXdoaWxlIChzdHJidWZfZ2V0bGluZV9sZigmbGluZSwgZmgpICE9IEVPRikgeworCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwkJY29uc3QgY2hhciAqcDsKKworCQlpZiAocGFyc2Vfb2lkX2hleChsaW5lLmJ1ZiwgJm9pZCwgJnApIHx8ICpwKSB7CisJCQl3YXJuaW5nKF8oImludmFsaWQgbGluZSB3aGlsZSBwYXJzaW5nIGFsdGVybmF0ZSByZWZzOiAlcyIpLAorCQkJCWxpbmUuYnVmKTsKKwkJCWJyZWFrOworCQl9CisKKwkJY2IoJm9pZCwgZGF0YSk7CisJfQorCisJZmNsb3NlKGZoKTsKKwlmaW5pc2hfY29tbWFuZCgmY21kKTsKKwlzdHJidWZfcmVsZWFzZSgmbGluZSk7Cit9CisKK3N0cnVjdCBhbHRlcm5hdGVfcmVmc19kYXRhIHsKKwlhbHRlcm5hdGVfcmVmX2ZuICpmbjsKKwl2b2lkICpkYXRhOworfTsKKworc3RhdGljIGludCByZWZzX2Zyb21fYWx0ZXJuYXRlX2NiKHN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICplLAorCQkJCSAgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKKwlzaXplX3QgYmFzZV9sZW47CisJc3RydWN0IGFsdGVybmF0ZV9yZWZzX2RhdGEgKmNiID0gZGF0YTsKKworCWlmICghc3RyYnVmX3JlYWxwYXRoKCZwYXRoLCBlLT5wYXRoLCAwKSkKKwkJZ290byBvdXQ7CisJaWYgKCFzdHJidWZfc3RyaXBfc3VmZml4KCZwYXRoLCAiL29iamVjdHMiKSkKKwkJZ290byBvdXQ7CisJYmFzZV9sZW4gPSBwYXRoLmxlbjsKKworCS8qIElzIHRoaXMgYSBnaXQgcmVwb3NpdG9yeSB3aXRoIHJlZnM/ICovCisJc3RyYnVmX2FkZHN0cigmcGF0aCwgIi9yZWZzIik7CisJaWYgKCFpc19kaXJlY3RvcnkocGF0aC5idWYpKQorCQlnb3RvIG91dDsKKwlzdHJidWZfc2V0bGVuKCZwYXRoLCBiYXNlX2xlbik7CisKKwlyZWFkX2FsdGVybmF0ZV9yZWZzKHBhdGguYnVmLCBjYi0+Zm4sIGNiLT5kYXRhKTsKKworb3V0OgorCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoKTsKKwlyZXR1cm4gMDsKK30KKwordm9pZCBmb3JfZWFjaF9hbHRlcm5hdGVfcmVmKGFsdGVybmF0ZV9yZWZfZm4gZm4sIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGFsdGVybmF0ZV9yZWZzX2RhdGEgY2I7CisJY2IuZm4gPSBmbjsKKwljYi5kYXRhID0gZGF0YTsKKwlmb3JlYWNoX2FsdF9vZGIocmVmc19mcm9tX2FsdGVybmF0ZV9jYiwgJmNiKTsKK30KKwogaW50IGZvcmVhY2hfYWx0X29kYihhbHRfb2RiX2ZuIGZuLCB2b2lkICpjYikKIHsKLQlzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqZW50OworCXN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICplbnQ7CiAJaW50IHIgPSAwOwogCiAJcHJlcGFyZV9hbHRfb2RiKHRoZV9yZXBvc2l0b3J5KTsKLQlmb3IgKGVudCA9IHRoZV9yZXBvc2l0b3J5LT5vYmplY3RzLT5hbHRfb2RiX2xpc3Q7IGVudDsgZW50ID0gZW50LT5uZXh0KSB7CisJZm9yIChlbnQgPSB0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cy0+b2RiLT5uZXh0OyBlbnQ7IGVudCA9IGVudC0+bmV4dCkgewogCQlyID0gZm4oZW50LCBjYik7CiAJCWlmIChyKQogCQkJYnJlYWs7CkBAIC02OTgsMTMgKzg1NiwxMyBAQAogCiB2b2lkIHByZXBhcmVfYWx0X29kYihzdHJ1Y3QgcmVwb3NpdG9yeSAqcikKIHsKLQlpZiAoci0+b2JqZWN0cy0+YWx0X29kYl90YWlsKQorCWlmIChyLT5vYmplY3RzLT5sb2FkZWRfYWx0ZXJuYXRlcykKIAkJcmV0dXJuOwogCi0Jci0+b2JqZWN0cy0+YWx0X29kYl90YWlsID0gJnItPm9iamVjdHMtPmFsdF9vZGJfbGlzdDsKIAlsaW5rX2FsdF9vZGJfZW50cmllcyhyLCByLT5vYmplY3RzLT5hbHRlcm5hdGVfZGIsIFBBVEhfU0VQLCBOVUxMLCAwKTsKIAotCXJlYWRfaW5mb19hbHRlcm5hdGVzKHIsIHItPm9iamVjdHMtPm9iamVjdGRpciwgMCk7CisJcmVhZF9pbmZvX2FsdGVybmF0ZXMociwgci0+b2JqZWN0cy0+b2RiLT5wYXRoLCAwKTsKKwlyLT5vYmplY3RzLT5sb2FkZWRfYWx0ZXJuYXRlcyA9IDE7CiB9CiAKIC8qIFJldHVybnMgMSBpZiB3ZSBoYXZlIHN1Y2Nlc3NmdWxseSBmcmVzaGVuZWQgdGhlIGZpbGUsIDAgb3RoZXJ3aXNlLiAqLwpAQCAtNzMxLDIzICs4ODksMjcgQEAKIAlyZXR1cm4gMTsKIH0KIAorc3RhdGljIGludCBjaGVja19hbmRfZnJlc2hlbl9vZGIoc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKm9kYiwKKwkJCQkgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJCSBpbnQgZnJlc2hlbikKK3sKKwlzdGF0aWMgc3RydWN0IHN0cmJ1ZiBwYXRoID0gU1RSQlVGX0lOSVQ7CisJb2RiX2xvb3NlX3BhdGgob2RiLCAmcGF0aCwgb2lkKTsKKwlyZXR1cm4gY2hlY2tfYW5kX2ZyZXNoZW5fZmlsZShwYXRoLmJ1ZiwgZnJlc2hlbik7Cit9CisKIHN0YXRpYyBpbnQgY2hlY2tfYW5kX2ZyZXNoZW5fbG9jYWwoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBpbnQgZnJlc2hlbikKIHsKLQlzdGF0aWMgc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQotCXN0cmJ1Zl9yZXNldCgmYnVmKTsKLQlzaGExX2ZpbGVfbmFtZSh0aGVfcmVwb3NpdG9yeSwgJmJ1Ziwgb2lkLT5oYXNoKTsKLQotCXJldHVybiBjaGVja19hbmRfZnJlc2hlbl9maWxlKGJ1Zi5idWYsIGZyZXNoZW4pOworCXJldHVybiBjaGVja19hbmRfZnJlc2hlbl9vZGIodGhlX3JlcG9zaXRvcnktPm9iamVjdHMtPm9kYiwgb2lkLCBmcmVzaGVuKTsKIH0KIAogc3RhdGljIGludCBjaGVja19hbmRfZnJlc2hlbl9ub25sb2NhbChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBmcmVzaGVuKQogewotCXN0cnVjdCBhbHRlcm5hdGVfb2JqZWN0X2RhdGFiYXNlICphbHQ7CisJc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKm9kYjsKKwogCXByZXBhcmVfYWx0X29kYih0aGVfcmVwb3NpdG9yeSk7Ci0JZm9yIChhbHQgPSB0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cy0+YWx0X29kYl9saXN0OyBhbHQ7IGFsdCA9IGFsdC0+bmV4dCkgewotCQljb25zdCBjaGFyICpwYXRoID0gYWx0X3NoYTFfcGF0aChhbHQsIG9pZC0+aGFzaCk7Ci0JCWlmIChjaGVja19hbmRfZnJlc2hlbl9maWxlKHBhdGgsIGZyZXNoZW4pKQorCWZvciAob2RiID0gdGhlX3JlcG9zaXRvcnktPm9iamVjdHMtPm9kYi0+bmV4dDsgb2RiOyBvZGIgPSBvZGItPm5leHQpIHsKKwkJaWYgKGNoZWNrX2FuZF9mcmVzaGVuX29kYihvZGIsIG9pZCwgZnJlc2hlbikpCiAJCQlyZXR1cm4gMTsKIAl9CiAJcmV0dXJuIDA7CkBAIC03ODksMTIgKzk1MSw4IEBACiAKIAltbWFwX2xpbWl0X2NoZWNrKGxlbmd0aCk7CiAJcmV0ID0gbW1hcChzdGFydCwgbGVuZ3RoLCBwcm90LCBmbGFncywgZmQsIG9mZnNldCk7Ci0JaWYgKHJldCA9PSBNQVBfRkFJTEVEKSB7Ci0JCWlmICghbGVuZ3RoKQotCQkJcmV0dXJuIE5VTEw7Ci0JCXJlbGVhc2VfcGFja19tZW1vcnkobGVuZ3RoKTsKLQkJcmV0ID0gbW1hcChzdGFydCwgbGVuZ3RoLCBwcm90LCBmbGFncywgZmQsIG9mZnNldCk7Ci0JfQorCWlmIChyZXQgPT0gTUFQX0ZBSUxFRCAmJiAhbGVuZ3RoKQorCQlyZXQgPSBOVUxMOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTgwOSwxMiArOTY3LDEyIEBACiAKIC8qCiAgKiBXaXRoIGFuIGluLWNvcmUgb2JqZWN0IGRhdGEgaW4gIm1hcCIsIHJlaGFzaCBpdCB0byBtYWtlIHN1cmUgdGhlCi0gKiBvYmplY3QgbmFtZSBhY3R1YWxseSBtYXRjaGVzICJzaGExIiB0byBkZXRlY3Qgb2JqZWN0IGNvcnJ1cHRpb24uCi0gKiBXaXRoICJtYXAiID09IE5VTEwsIHRyeSByZWFkaW5nIHRoZSBvYmplY3QgbmFtZWQgd2l0aCAic2hhMSIgdXNpbmcKKyAqIG9iamVjdCBuYW1lIGFjdHVhbGx5IG1hdGNoZXMgIm9pZCIgdG8gZGV0ZWN0IG9iamVjdCBjb3JydXB0aW9uLgorICogV2l0aCAibWFwIiA9PSBOVUxMLCB0cnkgcmVhZGluZyB0aGUgb2JqZWN0IG5hbWVkIHdpdGggIm9pZCIgdXNpbmcKICAqIHRoZSBzdHJlYW1pbmcgaW50ZXJmYWNlIGFuZCByZWhhc2ggaXQgdG8gZG8gdGhlIHNhbWUuCiAgKi8KLWludCBjaGVja19vYmplY3Rfc2lnbmF0dXJlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgdm9pZCAqbWFwLAotCQkJICAgdW5zaWduZWQgbG9uZyBzaXplLCBjb25zdCBjaGFyICp0eXBlKQoraW50IGNoZWNrX29iamVjdF9zaWduYXR1cmUoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCSAgIHZvaWQgKm1hcCwgdW5zaWduZWQgbG9uZyBzaXplLCBjb25zdCBjaGFyICp0eXBlKQogewogCXN0cnVjdCBvYmplY3RfaWQgcmVhbF9vaWQ7CiAJZW51bSBvYmplY3RfdHlwZSBvYmpfdHlwZTsKQEAgLTgyNCwxMSArOTgyLDExIEBACiAJaW50IGhkcmxlbjsKIAogCWlmIChtYXApIHsKLQkJaGFzaF9vYmplY3RfZmlsZShtYXAsIHNpemUsIHR5cGUsICZyZWFsX29pZCk7CisJCWhhc2hfb2JqZWN0X2ZpbGUoci0+aGFzaF9hbGdvLCBtYXAsIHNpemUsIHR5cGUsICZyZWFsX29pZCk7CiAJCXJldHVybiAhb2lkZXEob2lkLCAmcmVhbF9vaWQpID8gLTEgOiAwOwogCX0KIAotCXN0ID0gb3Blbl9pc3RyZWFtKG9pZCwgJm9ial90eXBlLCAmc2l6ZSwgTlVMTCk7CisJc3QgPSBvcGVuX2lzdHJlYW0ociwgb2lkLCAmb2JqX3R5cGUsICZzaXplLCBOVUxMKTsKIAlpZiAoIXN0KQogCQlyZXR1cm4gLTE7CiAKQEAgLTgzNiw4ICs5OTQsOCBAQAogCWhkcmxlbiA9IHhzbnByaW50ZihoZHIsIHNpemVvZihoZHIpLCAiJXMgJSJQUkl1TUFYICwgdHlwZV9uYW1lKG9ial90eXBlKSwgKHVpbnRtYXhfdClzaXplKSArIDE7CiAKIAkvKiBTaGExLi4gKi8KLQl0aGVfaGFzaF9hbGdvLT5pbml0X2ZuKCZjKTsKLQl0aGVfaGFzaF9hbGdvLT51cGRhdGVfZm4oJmMsIGhkciwgaGRybGVuKTsKKwlyLT5oYXNoX2FsZ28tPmluaXRfZm4oJmMpOworCXItPmhhc2hfYWxnby0+dXBkYXRlX2ZuKCZjLCBoZHIsIGhkcmxlbik7CiAJZm9yICg7OykgewogCQljaGFyIGJ1ZlsxMDI0ICogMTZdOwogCQlzc2l6ZV90IHJlYWRsZW4gPSByZWFkX2lzdHJlYW0oc3QsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOwpAQCAtODQ4LDkgKzEwMDYsOSBAQAogCQl9CiAJCWlmICghcmVhZGxlbikKIAkJCWJyZWFrOwotCQl0aGVfaGFzaF9hbGdvLT51cGRhdGVfZm4oJmMsIGJ1ZiwgcmVhZGxlbik7CisJCXItPmhhc2hfYWxnby0+dXBkYXRlX2ZuKCZjLCBidWYsIHJlYWRsZW4pOwogCX0KLQl0aGVfaGFzaF9hbGdvLT5maW5hbF9mbihyZWFsX29pZC5oYXNoLCAmYyk7CisJci0+aGFzaF9hbGdvLT5maW5hbF9mbihyZWFsX29pZC5oYXNoLCAmYyk7CiAJY2xvc2VfaXN0cmVhbShzdCk7CiAJcmV0dXJuICFvaWRlcShvaWQsICZyZWFsX29pZCkgPyAtMSA6IDA7CiB9CkBAIC04ODMsMzAgKzEwNDEsMjIgQEAKIH0KIAogLyoKLSAqIEZpbmQgInNoYTEiIGFzIGEgbG9vc2Ugb2JqZWN0IGluIHRoZSBsb2NhbCByZXBvc2l0b3J5IG9yIGluIGFuIGFsdGVybmF0ZS4KKyAqIEZpbmQgIm9pZCIgYXMgYSBsb29zZSBvYmplY3QgaW4gdGhlIGxvY2FsIHJlcG9zaXRvcnkgb3IgaW4gYW4gYWx0ZXJuYXRlLgogICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG9uIGZhaWx1cmUuCiAgKgogICogVGhlICJwYXRoIiBvdXQtcGFyYW1ldGVyIHdpbGwgZ2l2ZSB0aGUgcGF0aCBvZiB0aGUgb2JqZWN0IHdlIGZvdW5kIChpZiBhbnkpLgogICogTm90ZSB0aGF0IGl0IG1heSBwb2ludCB0byBzdGF0aWMgc3RvcmFnZSBhbmQgaXMgb25seSB2YWxpZCB1bnRpbCBhbm90aGVyCi0gKiBjYWxsIHRvIHNoYTFfZmlsZV9uYW1lKCksIGV0Yy4KKyAqIGNhbGwgdG8gc3RhdF9sb29zZV9vYmplY3QoKS4KICAqLwotc3RhdGljIGludCBzdGF0X3NoYTFfZmlsZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKLQkJCSAgc3RydWN0IHN0YXQgKnN0LCBjb25zdCBjaGFyICoqcGF0aCkKK3N0YXRpYyBpbnQgc3RhdF9sb29zZV9vYmplY3Qoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCSAgICAgc3RydWN0IHN0YXQgKnN0LCBjb25zdCBjaGFyICoqcGF0aCkKIHsKLQlzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqYWx0OworCXN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICpvZGI7CiAJc3RhdGljIHN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAKLQlzdHJidWZfcmVzZXQoJmJ1Zik7Ci0Jc2hhMV9maWxlX25hbWUociwgJmJ1Ziwgc2hhMSk7Ci0JKnBhdGggPSBidWYuYnVmOwotCi0JaWYgKCFsc3RhdCgqcGF0aCwgc3QpKQotCQlyZXR1cm4gMDsKLQogCXByZXBhcmVfYWx0X29kYihyKTsKLQllcnJubyA9IEVOT0VOVDsKLQlmb3IgKGFsdCA9IHItPm9iamVjdHMtPmFsdF9vZGJfbGlzdDsgYWx0OyBhbHQgPSBhbHQtPm5leHQpIHsKLQkJKnBhdGggPSBhbHRfc2hhMV9wYXRoKGFsdCwgc2hhMSk7CisJZm9yIChvZGIgPSByLT5vYmplY3RzLT5vZGI7IG9kYjsgb2RiID0gb2RiLT5uZXh0KSB7CisJCSpwYXRoID0gb2RiX2xvb3NlX3BhdGgob2RiLCAmYnVmLCBvaWQpOwogCQlpZiAoIWxzdGF0KCpwYXRoLCBzdCkpCiAJCQlyZXR1cm4gMDsKIAl9CkBAIC05MTUsMzIgKzEwNjUsMjQgQEAKIH0KIAogLyoKLSAqIExpa2Ugc3RhdF9zaGExX2ZpbGUoKSwgYnV0IGFjdHVhbGx5IG9wZW4gdGhlIG9iamVjdCBhbmQgcmV0dXJuIHRoZQorICogTGlrZSBzdGF0X2xvb3NlX29iamVjdCgpLCBidXQgYWN0dWFsbHkgb3BlbiB0aGUgb2JqZWN0IGFuZCByZXR1cm4gdGhlCiAgKiBkZXNjcmlwdG9yLiBTZWUgdGhlIGNhdmVhdHMgb24gdGhlICJwYXRoIiBwYXJhbWV0ZXIgYWJvdmUuCiAgKi8KLXN0YXRpYyBpbnQgb3Blbl9zaGExX2ZpbGUoc3RydWN0IHJlcG9zaXRvcnkgKnIsCi0JCQkgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IGNoYXIgKipwYXRoKQorc3RhdGljIGludCBvcGVuX2xvb3NlX29iamVjdChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCSAgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjb25zdCBjaGFyICoqcGF0aCkKIHsKIAlpbnQgZmQ7Ci0Jc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgKmFsdDsKLQlpbnQgbW9zdF9pbnRlcmVzdGluZ19lcnJubzsKKwlzdHJ1Y3Qgb2JqZWN0X2RpcmVjdG9yeSAqb2RiOworCWludCBtb3N0X2ludGVyZXN0aW5nX2Vycm5vID0gRU5PRU5UOwogCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCi0Jc3RyYnVmX3Jlc2V0KCZidWYpOwotCXNoYTFfZmlsZV9uYW1lKHIsICZidWYsIHNoYTEpOwotCSpwYXRoID0gYnVmLmJ1ZjsKLQotCWZkID0gZ2l0X29wZW4oKnBhdGgpOwotCWlmIChmZCA+PSAwKQotCQlyZXR1cm4gZmQ7Ci0JbW9zdF9pbnRlcmVzdGluZ19lcnJubyA9IGVycm5vOwotCiAJcHJlcGFyZV9hbHRfb2RiKHIpOwotCWZvciAoYWx0ID0gci0+b2JqZWN0cy0+YWx0X29kYl9saXN0OyBhbHQ7IGFsdCA9IGFsdC0+bmV4dCkgewotCQkqcGF0aCA9IGFsdF9zaGExX3BhdGgoYWx0LCBzaGExKTsKKwlmb3IgKG9kYiA9IHItPm9iamVjdHMtPm9kYjsgb2RiOyBvZGIgPSBvZGItPm5leHQpIHsKKwkJKnBhdGggPSBvZGJfbG9vc2VfcGF0aChvZGIsICZidWYsIG9pZCk7CiAJCWZkID0gZ2l0X29wZW4oKnBhdGgpOwogCQlpZiAoZmQgPj0gMCkKIAkJCXJldHVybiBmZDsKKwogCQlpZiAobW9zdF9pbnRlcmVzdGluZ19lcnJubyA9PSBFTk9FTlQpCiAJCQltb3N0X2ludGVyZXN0aW5nX2Vycm5vID0gZXJybm87CiAJfQpAQCAtOTQ4LDEyICsxMDkwLDI1IEBACiAJcmV0dXJuIC0xOwogfQogCitzdGF0aWMgaW50IHF1aWNrX2hhc19sb29zZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCSAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKK3sKKwlzdHJ1Y3Qgb2JqZWN0X2RpcmVjdG9yeSAqb2RiOworCisJcHJlcGFyZV9hbHRfb2RiKHIpOworCWZvciAob2RiID0gci0+b2JqZWN0cy0+b2RiOyBvZGI7IG9kYiA9IG9kYi0+bmV4dCkgeworCQlpZiAob2lkX2FycmF5X2xvb2t1cChvZGJfbG9vc2VfY2FjaGUob2RiLCBvaWQpLCBvaWQpID49IDApCisJCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBNYXAgdGhlIGxvb3NlIG9iamVjdCBhdCAicGF0aCIgaWYgaXQgaXMgbm90IE5VTEwsIG9yIHRoZSBwYXRoIGZvdW5kIGJ5Ci0gKiBzZWFyY2hpbmcgZm9yIGEgbG9vc2Ugb2JqZWN0IG5hbWVkICJzaGExIi4KKyAqIHNlYXJjaGluZyBmb3IgYSBsb29zZSBvYmplY3QgbmFtZWQgIm9pZCIuCiAgKi8KLXN0YXRpYyB2b2lkICptYXBfc2hhMV9maWxlXzEoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IGNoYXIgKnBhdGgsCi0JCQkgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHVuc2lnbmVkIGxvbmcgKnNpemUpCitzdGF0aWMgdm9pZCAqbWFwX2xvb3NlX29iamVjdF8xKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBjaGFyICpwYXRoLAorCQkJICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHVuc2lnbmVkIGxvbmcgKnNpemUpCiB7CiAJdm9pZCAqbWFwOwogCWludCBmZDsKQEAgLTk2MSw3ICsxMTE2LDcgQEAKIAlpZiAocGF0aCkKIAkJZmQgPSBnaXRfb3BlbihwYXRoKTsKIAllbHNlCi0JCWZkID0gb3Blbl9zaGExX2ZpbGUociwgc2hhMSwgJnBhdGgpOworCQlmZCA9IG9wZW5fbG9vc2Vfb2JqZWN0KHIsIG9pZCwgJnBhdGgpOwogCW1hcCA9IE5VTEw7CiAJaWYgKGZkID49IDApIHsKIAkJc3RydWN0IHN0YXQgc3Q7CkBAIC05NzEsNiArMTEyNiw3IEBACiAJCQlpZiAoISpzaXplKSB7CiAJCQkJLyogbW1hcCgpIGlzIGZvcmJpZGRlbiBvbiBlbXB0eSBmaWxlcyAqLwogCQkJCWVycm9yKF8oIm9iamVjdCBmaWxlICVzIGlzIGVtcHR5IiksIHBhdGgpOworCQkJCWNsb3NlKGZkKTsKIAkJCQlyZXR1cm4gTlVMTDsKIAkJCX0KIAkJCW1hcCA9IHhtbWFwKE5VTEwsICpzaXplLCBQUk9UX1JFQUQsIE1BUF9QUklWQVRFLCBmZCwgMCk7CkBAIC05ODAsMTYgKzExMzYsMTkgQEAKIAlyZXR1cm4gbWFwOwogfQogCi12b2lkICptYXBfc2hhMV9maWxlKHN0cnVjdCByZXBvc2l0b3J5ICpyLAotCQkgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwgdW5zaWduZWQgbG9uZyAqc2l6ZSkKK3ZvaWQgKm1hcF9sb29zZV9vYmplY3Qoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCSAgICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCSAgICAgICB1bnNpZ25lZCBsb25nICpzaXplKQogewotCXJldHVybiBtYXBfc2hhMV9maWxlXzEociwgTlVMTCwgc2hhMSwgc2l6ZSk7CisJcmV0dXJuIG1hcF9sb29zZV9vYmplY3RfMShyLCBOVUxMLCBvaWQsIHNpemUpOwogfQogCi1zdGF0aWMgaW50IHVucGFja19zaGExX3Nob3J0X2hlYWRlcihnaXRfenN0cmVhbSAqc3RyZWFtLAotCQkJCSAgICB1bnNpZ25lZCBjaGFyICptYXAsIHVuc2lnbmVkIGxvbmcgbWFwc2l6ZSwKLQkJCQkgICAgdm9pZCAqYnVmZmVyLCB1bnNpZ25lZCBsb25nIGJ1ZnNpeikKK3N0YXRpYyBpbnQgdW5wYWNrX2xvb3NlX3Nob3J0X2hlYWRlcihnaXRfenN0cmVhbSAqc3RyZWFtLAorCQkJCSAgICAgdW5zaWduZWQgY2hhciAqbWFwLCB1bnNpZ25lZCBsb25nIG1hcHNpemUsCisJCQkJICAgICB2b2lkICpidWZmZXIsIHVuc2lnbmVkIGxvbmcgYnVmc2l6KQogeworCWludCByZXQ7CisKIAkvKiBHZXQgdGhlIGRhdGEgc3RyZWFtICovCiAJbWVtc2V0KHN0cmVhbSwgMCwgc2l6ZW9mKCpzdHJlYW0pKTsKIAlzdHJlYW0tPm5leHRfaW4gPSBtYXA7CkBAIC05OTgsMTUgKzExNTcsMTkgQEAKIAlzdHJlYW0tPmF2YWlsX291dCA9IGJ1ZnNpejsKIAogCWdpdF9pbmZsYXRlX2luaXQoc3RyZWFtKTsKLQlyZXR1cm4gZ2l0X2luZmxhdGUoc3RyZWFtLCAwKTsKKwlvYmpfcmVhZF91bmxvY2soKTsKKwlyZXQgPSBnaXRfaW5mbGF0ZShzdHJlYW0sIDApOworCW9ial9yZWFkX2xvY2soKTsKKworCXJldHVybiByZXQ7CiB9CiAKLWludCB1bnBhY2tfc2hhMV9oZWFkZXIoZ2l0X3pzdHJlYW0gKnN0cmVhbSwKLQkJICAgICAgIHVuc2lnbmVkIGNoYXIgKm1hcCwgdW5zaWduZWQgbG9uZyBtYXBzaXplLAotCQkgICAgICAgdm9pZCAqYnVmZmVyLCB1bnNpZ25lZCBsb25nIGJ1ZnNpeikKK2ludCB1bnBhY2tfbG9vc2VfaGVhZGVyKGdpdF96c3RyZWFtICpzdHJlYW0sCisJCQl1bnNpZ25lZCBjaGFyICptYXAsIHVuc2lnbmVkIGxvbmcgbWFwc2l6ZSwKKwkJCXZvaWQgKmJ1ZmZlciwgdW5zaWduZWQgbG9uZyBidWZzaXopCiB7Ci0JaW50IHN0YXR1cyA9IHVucGFja19zaGExX3Nob3J0X2hlYWRlcihzdHJlYW0sIG1hcCwgbWFwc2l6ZSwKLQkJCQkJICAgICAgYnVmZmVyLCBidWZzaXopOworCWludCBzdGF0dXMgPSB1bnBhY2tfbG9vc2Vfc2hvcnRfaGVhZGVyKHN0cmVhbSwgbWFwLCBtYXBzaXplLAorCQkJCQkgICAgICAgYnVmZmVyLCBidWZzaXopOwogCiAJaWYgKHN0YXR1cyA8IFpfT0spCiAJCXJldHVybiBzdGF0dXM7CkBAIC0xMDE3LDEzICsxMTgwLDEzIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgdW5wYWNrX3NoYTFfaGVhZGVyX3RvX3N0cmJ1ZihnaXRfenN0cmVhbSAqc3RyZWFtLCB1bnNpZ25lZCBjaGFyICptYXAsCi0JCQkJCXVuc2lnbmVkIGxvbmcgbWFwc2l6ZSwgdm9pZCAqYnVmZmVyLAotCQkJCQl1bnNpZ25lZCBsb25nIGJ1ZnNpeiwgc3RydWN0IHN0cmJ1ZiAqaGVhZGVyKQorc3RhdGljIGludCB1bnBhY2tfbG9vc2VfaGVhZGVyX3RvX3N0cmJ1ZihnaXRfenN0cmVhbSAqc3RyZWFtLCB1bnNpZ25lZCBjaGFyICptYXAsCisJCQkJCSB1bnNpZ25lZCBsb25nIG1hcHNpemUsIHZvaWQgKmJ1ZmZlciwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgYnVmc2l6LCBzdHJ1Y3Qgc3RyYnVmICpoZWFkZXIpCiB7CiAJaW50IHN0YXR1czsKIAotCXN0YXR1cyA9IHVucGFja19zaGExX3Nob3J0X2hlYWRlcihzdHJlYW0sIG1hcCwgbWFwc2l6ZSwgYnVmZmVyLCBidWZzaXopOworCXN0YXR1cyA9IHVucGFja19sb29zZV9zaG9ydF9oZWFkZXIoc3RyZWFtLCBtYXAsIG1hcHNpemUsIGJ1ZmZlciwgYnVmc2l6KTsKIAlpZiAoc3RhdHVzIDwgWl9PSykKIAkJcmV0dXJuIC0xOwogCkBAIC0xMDQzLDcgKzEyMDYsOSBAQAogCXN0cmVhbS0+YXZhaWxfb3V0ID0gYnVmc2l6OwogCiAJZG8geworCQlvYmpfcmVhZF91bmxvY2soKTsKIAkJc3RhdHVzID0gZ2l0X2luZmxhdGUoc3RyZWFtLCAwKTsKKwkJb2JqX3JlYWRfbG9jaygpOwogCQlzdHJidWZfYWRkKGhlYWRlciwgYnVmZmVyLCBzdHJlYW0tPm5leHRfb3V0IC0gKHVuc2lnbmVkIGNoYXIgKilidWZmZXIpOwogCQlpZiAobWVtY2hyKGJ1ZmZlciwgJ1wwJywgc3RyZWFtLT5uZXh0X291dCAtICh1bnNpZ25lZCBjaGFyICopYnVmZmVyKSkKIAkJCXJldHVybiAwOwpAQCAtMTA1Myw3ICsxMjE4LDkgQEAKIAlyZXR1cm4gLTE7CiB9CiAKLXN0YXRpYyB2b2lkICp1bnBhY2tfc2hhMV9yZXN0KGdpdF96c3RyZWFtICpzdHJlYW0sIHZvaWQgKmJ1ZmZlciwgdW5zaWduZWQgbG9uZyBzaXplLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzaGExKQorc3RhdGljIHZvaWQgKnVucGFja19sb29zZV9yZXN0KGdpdF96c3RyZWFtICpzdHJlYW0sCisJCQkgICAgICAgdm9pZCAqYnVmZmVyLCB1bnNpZ25lZCBsb25nIHNpemUsCisJCQkgICAgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCWludCBieXRlcyA9IHN0cmxlbihidWZmZXIpICsgMTsKIAl1bnNpZ25lZCBjaGFyICpidWYgPSB4bWFsbG9jeihzaXplKTsKQEAgLTEwODEsOCArMTI0OCwxMSBAQAogCQkgKi8KIAkJc3RyZWFtLT5uZXh0X291dCA9IGJ1ZiArIGJ5dGVzOwogCQlzdHJlYW0tPmF2YWlsX291dCA9IHNpemUgLSBieXRlczsKLQkJd2hpbGUgKHN0YXR1cyA9PSBaX09LKQorCQl3aGlsZSAoc3RhdHVzID09IFpfT0spIHsKKwkJCW9ial9yZWFkX3VubG9jaygpOwogCQkJc3RhdHVzID0gZ2l0X2luZmxhdGUoc3RyZWFtLCBaX0ZJTklTSCk7CisJCQlvYmpfcmVhZF9sb2NrKCk7CisJCX0KIAl9CiAJaWYgKHN0YXR1cyA9PSBaX1NUUkVBTV9FTkQgJiYgIXN0cmVhbS0+YXZhaWxfaW4pIHsKIAkJZ2l0X2luZmxhdGVfZW5kKHN0cmVhbSk7CkBAIC0xMDkwLDEwICsxMjYwLDEwIEBACiAJfQogCiAJaWYgKHN0YXR1cyA8IDApCi0JCWVycm9yKF8oImNvcnJ1cHQgbG9vc2Ugb2JqZWN0ICclcyciKSwgc2hhMV90b19oZXgoc2hhMSkpOworCQllcnJvcihfKCJjb3JydXB0IGxvb3NlIG9iamVjdCAnJXMnIiksIG9pZF90b19oZXgob2lkKSk7CiAJZWxzZSBpZiAoc3RyZWFtLT5hdmFpbF9pbikKIAkJZXJyb3IoXygiZ2FyYmFnZSBhdCBlbmQgb2YgbG9vc2Ugb2JqZWN0ICclcyciKSwKLQkJICAgICAgc2hhMV90b19oZXgoc2hhMSkpOworCQkgICAgICBvaWRfdG9faGV4KG9pZCkpOwogCWZyZWUoYnVmKTsKIAlyZXR1cm4gTlVMTDsKIH0KQEAgLTExMDMsOCArMTI3Myw4IEBACiAgKiB0b28gcGVybWlzc2l2ZSBmb3Igd2hhdCB3ZSB3YW50IHRvIGNoZWNrLiBTbyBkbyBhbiBhbmFsCiAgKiBvYmplY3QgaGVhZGVyIHBhcnNlIGJ5IGhhbmQuCiAgKi8KLXN0YXRpYyBpbnQgcGFyc2Vfc2hhMV9oZWFkZXJfZXh0ZW5kZWQoY29uc3QgY2hhciAqaGRyLCBzdHJ1Y3Qgb2JqZWN0X2luZm8gKm9pLAotCQkJICAgICAgIHVuc2lnbmVkIGludCBmbGFncykKK3N0YXRpYyBpbnQgcGFyc2VfbG9vc2VfaGVhZGVyX2V4dGVuZGVkKGNvbnN0IGNoYXIgKmhkciwgc3RydWN0IG9iamVjdF9pbmZvICpvaSwKKwkJCQkgICAgICAgdW5zaWduZWQgaW50IGZsYWdzKQogewogCWNvbnN0IGNoYXIgKnR5cGVfYnVmID0gaGRyOwogCXVuc2lnbmVkIGxvbmcgc2l6ZTsKQEAgLTExNjQsMTcgKzEzMzQsMTcgQEAKIAlyZXR1cm4gKmhkciA/IC0xIDogdHlwZTsKIH0KIAotaW50IHBhcnNlX3NoYTFfaGVhZGVyKGNvbnN0IGNoYXIgKmhkciwgdW5zaWduZWQgbG9uZyAqc2l6ZXApCitpbnQgcGFyc2VfbG9vc2VfaGVhZGVyKGNvbnN0IGNoYXIgKmhkciwgdW5zaWduZWQgbG9uZyAqc2l6ZXApCiB7CiAJc3RydWN0IG9iamVjdF9pbmZvIG9pID0gT0JKRUNUX0lORk9fSU5JVDsKIAogCW9pLnNpemVwID0gc2l6ZXA7Ci0JcmV0dXJuIHBhcnNlX3NoYTFfaGVhZGVyX2V4dGVuZGVkKGhkciwgJm9pLCAwKTsKKwlyZXR1cm4gcGFyc2VfbG9vc2VfaGVhZGVyX2V4dGVuZGVkKGhkciwgJm9pLCAwKTsKIH0KIAotc3RhdGljIGludCBzaGExX2xvb3NlX29iamVjdF9pbmZvKHN0cnVjdCByZXBvc2l0b3J5ICpyLAotCQkJCSAgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKLQkJCQkgIHN0cnVjdCBvYmplY3RfaW5mbyAqb2ksIGludCBmbGFncykKK3N0YXRpYyBpbnQgbG9vc2Vfb2JqZWN0X2luZm8oc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCSAgICAgc3RydWN0IG9iamVjdF9pbmZvICpvaSwgaW50IGZsYWdzKQogewogCWludCBzdGF0dXMgPSAwOwogCXVuc2lnbmVkIGxvbmcgbWFwc2l6ZTsKQEAgLTExODQsOCArMTM1NCw4IEBACiAJc3RydWN0IHN0cmJ1ZiBoZHJidWYgPSBTVFJCVUZfSU5JVDsKIAl1bnNpZ25lZCBsb25nIHNpemVfc2NyYXRjaDsKIAotCWlmIChvaS0+ZGVsdGFfYmFzZV9zaGExKQotCQloYXNoY2xyKG9pLT5kZWx0YV9iYXNlX3NoYTEpOworCWlmIChvaS0+ZGVsdGFfYmFzZV9vaWQpCisJCW9pZGNscihvaS0+ZGVsdGFfYmFzZV9vaWQpOwogCiAJLyoKIAkgKiBJZiB3ZSBkb24ndCBjYXJlIGFib3V0IHR5cGUgb3Igc2l6ZSwgdGhlbiB3ZSBkb24ndApAQCAtMTE5OCwxNCArMTM2OCwxNiBAQAogCWlmICghb2ktPnR5cGVwICYmICFvaS0+dHlwZV9uYW1lICYmICFvaS0+c2l6ZXAgJiYgIW9pLT5jb250ZW50cCkgewogCQljb25zdCBjaGFyICpwYXRoOwogCQlzdHJ1Y3Qgc3RhdCBzdDsKLQkJaWYgKHN0YXRfc2hhMV9maWxlKHIsIHNoYTEsICZzdCwgJnBhdGgpIDwgMCkKKwkJaWYgKCFvaS0+ZGlza19zaXplcCAmJiAoZmxhZ3MgJiBPQkpFQ1RfSU5GT19RVUlDSykpCisJCQlyZXR1cm4gcXVpY2tfaGFzX2xvb3NlKHIsIG9pZCkgPyAwIDogLTE7CisJCWlmIChzdGF0X2xvb3NlX29iamVjdChyLCBvaWQsICZzdCwgJnBhdGgpIDwgMCkKIAkJCXJldHVybiAtMTsKIAkJaWYgKG9pLT5kaXNrX3NpemVwKQogCQkJKm9pLT5kaXNrX3NpemVwID0gc3Quc3Rfc2l6ZTsKIAkJcmV0dXJuIDA7CiAJfQogCi0JbWFwID0gbWFwX3NoYTFfZmlsZShyLCBzaGExLCAmbWFwc2l6ZSk7CisJbWFwID0gbWFwX2xvb3NlX29iamVjdChyLCBvaWQsICZtYXBzaXplKTsKIAlpZiAoIW1hcCkKIAkJcmV0dXJuIC0xOwogCkBAIC0xMjE1LDI0ICsxMzg3LDI0IEBACiAJaWYgKG9pLT5kaXNrX3NpemVwKQogCQkqb2ktPmRpc2tfc2l6ZXAgPSBtYXBzaXplOwogCWlmICgoZmxhZ3MgJiBPQkpFQ1RfSU5GT19BTExPV19VTktOT1dOX1RZUEUpKSB7Ci0JCWlmICh1bnBhY2tfc2hhMV9oZWFkZXJfdG9fc3RyYnVmKCZzdHJlYW0sIG1hcCwgbWFwc2l6ZSwgaGRyLCBzaXplb2YoaGRyKSwgJmhkcmJ1ZikgPCAwKQorCQlpZiAodW5wYWNrX2xvb3NlX2hlYWRlcl90b19zdHJidWYoJnN0cmVhbSwgbWFwLCBtYXBzaXplLCBoZHIsIHNpemVvZihoZHIpLCAmaGRyYnVmKSA8IDApCiAJCQlzdGF0dXMgPSBlcnJvcihfKCJ1bmFibGUgdG8gdW5wYWNrICVzIGhlYWRlciB3aXRoIC0tYWxsb3ctdW5rbm93bi10eXBlIiksCi0JCQkJICAgICAgIHNoYTFfdG9faGV4KHNoYTEpKTsKLQl9IGVsc2UgaWYgKHVucGFja19zaGExX2hlYWRlcigmc3RyZWFtLCBtYXAsIG1hcHNpemUsIGhkciwgc2l6ZW9mKGhkcikpIDwgMCkKKwkJCQkgICAgICAgb2lkX3RvX2hleChvaWQpKTsKKwl9IGVsc2UgaWYgKHVucGFja19sb29zZV9oZWFkZXIoJnN0cmVhbSwgbWFwLCBtYXBzaXplLCBoZHIsIHNpemVvZihoZHIpKSA8IDApCiAJCXN0YXR1cyA9IGVycm9yKF8oInVuYWJsZSB0byB1bnBhY2sgJXMgaGVhZGVyIiksCi0JCQkgICAgICAgc2hhMV90b19oZXgoc2hhMSkpOworCQkJICAgICAgIG9pZF90b19oZXgob2lkKSk7CiAJaWYgKHN0YXR1cyA8IDApCiAJCTsgLyogRG8gbm90aGluZyAqLwogCWVsc2UgaWYgKGhkcmJ1Zi5sZW4pIHsKLQkJaWYgKChzdGF0dXMgPSBwYXJzZV9zaGExX2hlYWRlcl9leHRlbmRlZChoZHJidWYuYnVmLCBvaSwgZmxhZ3MpKSA8IDApCisJCWlmICgoc3RhdHVzID0gcGFyc2VfbG9vc2VfaGVhZGVyX2V4dGVuZGVkKGhkcmJ1Zi5idWYsIG9pLCBmbGFncykpIDwgMCkKIAkJCXN0YXR1cyA9IGVycm9yKF8oInVuYWJsZSB0byBwYXJzZSAlcyBoZWFkZXIgd2l0aCAtLWFsbG93LXVua25vd24tdHlwZSIpLAotCQkJCSAgICAgICBzaGExX3RvX2hleChzaGExKSk7Ci0JfSBlbHNlIGlmICgoc3RhdHVzID0gcGFyc2Vfc2hhMV9oZWFkZXJfZXh0ZW5kZWQoaGRyLCBvaSwgZmxhZ3MpKSA8IDApCi0JCXN0YXR1cyA9IGVycm9yKF8oInVuYWJsZSB0byBwYXJzZSAlcyBoZWFkZXIiKSwgc2hhMV90b19oZXgoc2hhMSkpOworCQkJCSAgICAgICBvaWRfdG9faGV4KG9pZCkpOworCX0gZWxzZSBpZiAoKHN0YXR1cyA9IHBhcnNlX2xvb3NlX2hlYWRlcl9leHRlbmRlZChoZHIsIG9pLCBmbGFncykpIDwgMCkKKwkJc3RhdHVzID0gZXJyb3IoXygidW5hYmxlIHRvIHBhcnNlICVzIGhlYWRlciIpLCBvaWRfdG9faGV4KG9pZCkpOwogCiAJaWYgKHN0YXR1cyA+PSAwICYmIG9pLT5jb250ZW50cCkgewotCQkqb2ktPmNvbnRlbnRwID0gdW5wYWNrX3NoYTFfcmVzdCgmc3RyZWFtLCBoZHIsCi0JCQkJCQkgKm9pLT5zaXplcCwgc2hhMSk7CisJCSpvaS0+Y29udGVudHAgPSB1bnBhY2tfbG9vc2VfcmVzdCgmc3RyZWFtLCBoZHIsCisJCQkJCQkgICpvaS0+c2l6ZXAsIG9pZCk7CiAJCWlmICghKm9pLT5jb250ZW50cCkgewogCQkJZ2l0X2luZmxhdGVfZW5kKCZzdHJlYW0pOwogCQkJc3RhdHVzID0gLTE7CkBAIC0xMjUwLDE3ICsxNDIyLDQxIEBACiAJcmV0dXJuIChzdGF0dXMgPCAwKSA/IHN0YXR1cyA6IDA7CiB9CiAKK2ludCBvYmpfcmVhZF91c2VfbG9jayA9IDA7CitwdGhyZWFkX211dGV4X3Qgb2JqX3JlYWRfbXV0ZXg7CisKK3ZvaWQgZW5hYmxlX29ial9yZWFkX2xvY2sodm9pZCkKK3sKKwlpZiAob2JqX3JlYWRfdXNlX2xvY2spCisJCXJldHVybjsKKworCW9ial9yZWFkX3VzZV9sb2NrID0gMTsKKwlpbml0X3JlY3Vyc2l2ZV9tdXRleCgmb2JqX3JlYWRfbXV0ZXgpOworfQorCit2b2lkIGRpc2FibGVfb2JqX3JlYWRfbG9jayh2b2lkKQoreworCWlmICghb2JqX3JlYWRfdXNlX2xvY2spCisJCXJldHVybjsKKworCW9ial9yZWFkX3VzZV9sb2NrID0gMDsKKwlwdGhyZWFkX211dGV4X2Rlc3Ryb3koJm9ial9yZWFkX211dGV4KTsKK30KKwogaW50IGZldGNoX2lmX21pc3NpbmcgPSAxOwogCi1pbnQgb2lkX29iamVjdF9pbmZvX2V4dGVuZGVkKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCi0JCQkgICAgIHN0cnVjdCBvYmplY3RfaW5mbyAqb2ksIHVuc2lnbmVkIGZsYWdzKQorc3RhdGljIGludCBkb19vaWRfb2JqZWN0X2luZm9fZXh0ZW5kZWQoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJICAgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCQkgICAgICAgc3RydWN0IG9iamVjdF9pbmZvICpvaSwgdW5zaWduZWQgZmxhZ3MpCiB7CiAJc3RhdGljIHN0cnVjdCBvYmplY3RfaW5mbyBibGFua19vaSA9IE9CSkVDVF9JTkZPX0lOSVQ7CisJc3RydWN0IGNhY2hlZF9vYmplY3QgKmNvOwogCXN0cnVjdCBwYWNrX2VudHJ5IGU7CiAJaW50IHJ0eXBlOwogCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKnJlYWwgPSBvaWQ7CiAJaW50IGFscmVhZHlfcmV0cmllZCA9IDA7CiAKKwogCWlmIChmbGFncyAmIE9CSkVDVF9JTkZPX0xPT0tVUF9SRVBMQUNFKQogCQlyZWFsID0gbG9va3VwX3JlcGxhY2Vfb2JqZWN0KHIsIG9pZCk7CiAKQEAgLTEyNzAsMjQgKzE0NjYsMjIgQEAKIAlpZiAoIW9pKQogCQlvaSA9ICZibGFua19vaTsKIAotCWlmICghKGZsYWdzICYgT0JKRUNUX0lORk9fU0tJUF9DQUNIRUQpKSB7Ci0JCXN0cnVjdCBjYWNoZWRfb2JqZWN0ICpjbyA9IGZpbmRfY2FjaGVkX29iamVjdChyZWFsKTsKLQkJaWYgKGNvKSB7Ci0JCQlpZiAob2ktPnR5cGVwKQotCQkJCSoob2ktPnR5cGVwKSA9IGNvLT50eXBlOwotCQkJaWYgKG9pLT5zaXplcCkKLQkJCQkqKG9pLT5zaXplcCkgPSBjby0+c2l6ZTsKLQkJCWlmIChvaS0+ZGlza19zaXplcCkKLQkJCQkqKG9pLT5kaXNrX3NpemVwKSA9IDA7Ci0JCQlpZiAob2ktPmRlbHRhX2Jhc2Vfc2hhMSkKLQkJCQloYXNoY2xyKG9pLT5kZWx0YV9iYXNlX3NoYTEpOwotCQkJaWYgKG9pLT50eXBlX25hbWUpCi0JCQkJc3RyYnVmX2FkZHN0cihvaS0+dHlwZV9uYW1lLCB0eXBlX25hbWUoY28tPnR5cGUpKTsKLQkJCWlmIChvaS0+Y29udGVudHApCi0JCQkJKm9pLT5jb250ZW50cCA9IHhtZW1kdXB6KGNvLT5idWYsIGNvLT5zaXplKTsKLQkJCW9pLT53aGVuY2UgPSBPSV9DQUNIRUQ7Ci0JCQlyZXR1cm4gMDsKLQkJfQorCWNvID0gZmluZF9jYWNoZWRfb2JqZWN0KHJlYWwpOworCWlmIChjbykgeworCQlpZiAob2ktPnR5cGVwKQorCQkJKihvaS0+dHlwZXApID0gY28tPnR5cGU7CisJCWlmIChvaS0+c2l6ZXApCisJCQkqKG9pLT5zaXplcCkgPSBjby0+c2l6ZTsKKwkJaWYgKG9pLT5kaXNrX3NpemVwKQorCQkJKihvaS0+ZGlza19zaXplcCkgPSAwOworCQlpZiAob2ktPmRlbHRhX2Jhc2Vfb2lkKQorCQkJb2lkY2xyKG9pLT5kZWx0YV9iYXNlX29pZCk7CisJCWlmIChvaS0+dHlwZV9uYW1lKQorCQkJc3RyYnVmX2FkZHN0cihvaS0+dHlwZV9uYW1lLCB0eXBlX25hbWUoY28tPnR5cGUpKTsKKwkJaWYgKG9pLT5jb250ZW50cCkKKwkJCSpvaS0+Y29udGVudHAgPSB4bWVtZHVweihjby0+YnVmLCBjby0+c2l6ZSk7CisJCW9pLT53aGVuY2UgPSBPSV9DQUNIRUQ7CisJCXJldHVybiAwOwogCX0KIAogCXdoaWxlICgxKSB7CkBAIC0xMjk4LDcgKzE0OTIsNyBAQAogCQkJcmV0dXJuIC0xOwogCiAJCS8qIE1vc3QgbGlrZWx5IGl0J3MgYSBsb29zZSBvYmplY3QuICovCi0JCWlmICghc2hhMV9sb29zZV9vYmplY3RfaW5mbyhyLCByZWFsLT5oYXNoLCBvaSwgZmxhZ3MpKQorCQlpZiAoIWxvb3NlX29iamVjdF9pbmZvKHIsIHJlYWwsIG9pLCBmbGFncykpCiAJCQlyZXR1cm4gMDsKIAogCQkvKiBOb3QgYSBsb29zZSBvYmplY3Q7IHNvbWVvbmUgZWxzZSBtYXkgaGF2ZSBqdXN0IHBhY2tlZCBpdC4gKi8KQEAgLTEzMDksMTUgKzE1MDMsMTcgQEAKIAkJfQogCiAJCS8qIENoZWNrIGlmIGl0IGlzIGEgbWlzc2luZyBvYmplY3QgKi8KLQkJaWYgKGZldGNoX2lmX21pc3NpbmcgJiYgcmVwb3NpdG9yeV9mb3JtYXRfcGFydGlhbF9jbG9uZSAmJgotCQkgICAgIWFscmVhZHlfcmV0cmllZCAmJiByID09IHRoZV9yZXBvc2l0b3J5KSB7CisJCWlmIChmZXRjaF9pZl9taXNzaW5nICYmIGhhc19wcm9taXNvcl9yZW1vdGUoKSAmJgorCQkgICAgIWFscmVhZHlfcmV0cmllZCAmJiByID09IHRoZV9yZXBvc2l0b3J5ICYmCisJCSAgICAhKGZsYWdzICYgT0JKRUNUX0lORk9fU0tJUF9GRVRDSF9PQkpFQ1QpKSB7CiAJCQkvKgotCQkJICogVE9ETyBJbnZlc3RpZ2F0ZSBoYXZpbmcgZmV0Y2hfb2JqZWN0KCkgcmV0dXJuCi0JCQkgKiBUT0RPIGVycm9yL3N1Y2Nlc3MgYW5kIHN0b3BwaW5nIHRoZSBtdXNpYyBoZXJlLgotCQkJICogVE9ETyBQYXNzIGEgcmVwb3NpdG9yeSBzdHJ1Y3QgdGhyb3VnaCBmZXRjaF9vYmplY3QsCi0JCQkgKiBzdWNoIHRoYXQgYXJiaXRyYXJ5IHJlcG9zaXRvcmllcyB3b3JrLgorCQkJICogVE9ETyBJbnZlc3RpZ2F0ZSBjaGVja2luZyBwcm9taXNvcl9yZW1vdGVfZ2V0X2RpcmVjdCgpCisJCQkgKiBUT0RPIHJldHVybiB2YWx1ZSBhbmQgc3RvcHBpbmcgb24gZXJyb3IgaGVyZS4KKwkJCSAqIFRPRE8gUGFzcyBhIHJlcG9zaXRvcnkgc3RydWN0IHRocm91Z2gKKwkJCSAqIHByb21pc29yX3JlbW90ZV9nZXRfZGlyZWN0KCksIHN1Y2ggdGhhdCBhcmJpdHJhcnkKKwkJCSAqIHJlcG9zaXRvcmllcyB3b3JrLgogCQkJICovCi0JCQlmZXRjaF9vYmplY3RzKHJlcG9zaXRvcnlfZm9ybWF0X3BhcnRpYWxfY2xvbmUsIHJlYWwsIDEpOworCQkJcHJvbWlzb3JfcmVtb3RlX2dldF9kaXJlY3QociwgcmVhbCwgMSk7CiAJCQlhbHJlYWR5X3JldHJpZWQgPSAxOwogCQkJY29udGludWU7CiAJCX0KQEAgLTEzMzQsNyArMTUzMCw3IEBACiAJcnR5cGUgPSBwYWNrZWRfb2JqZWN0X2luZm8ociwgZS5wLCBlLm9mZnNldCwgb2kpOwogCWlmIChydHlwZSA8IDApIHsKIAkJbWFya19iYWRfcGFja2VkX29iamVjdChlLnAsIHJlYWwtPmhhc2gpOwotCQlyZXR1cm4gb2lkX29iamVjdF9pbmZvX2V4dGVuZGVkKHIsIHJlYWwsIG9pLCAwKTsKKwkJcmV0dXJuIGRvX29pZF9vYmplY3RfaW5mb19leHRlbmRlZChyLCByZWFsLCBvaSwgMCk7CiAJfSBlbHNlIGlmIChvaS0+d2hlbmNlID09IE9JX1BBQ0tFRCkgewogCQlvaS0+dS5wYWNrZWQub2Zmc2V0ID0gZS5vZmZzZXQ7CiAJCW9pLT51LnBhY2tlZC5wYWNrID0gZS5wOwpAQCAtMTM0NSw2ICsxNTQxLDE3IEBACiAJcmV0dXJuIDA7CiB9CiAKK2ludCBvaWRfb2JqZWN0X2luZm9fZXh0ZW5kZWQoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCSAgICAgc3RydWN0IG9iamVjdF9pbmZvICpvaSwgdW5zaWduZWQgZmxhZ3MpCit7CisJaW50IHJldDsKKwlvYmpfcmVhZF9sb2NrKCk7CisJcmV0ID0gZG9fb2lkX29iamVjdF9pbmZvX2V4dGVuZGVkKHIsIG9pZCwgb2ksIGZsYWdzKTsKKwlvYmpfcmVhZF91bmxvY2soKTsKKwlyZXR1cm4gcmV0OworfQorCisKIC8qIHJldHVybnMgZW51bSBvYmplY3RfdHlwZSBvciBuZWdhdGl2ZSAqLwogaW50IG9pZF9vYmplY3RfaW5mbyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKIAkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKQEAgLTEzNjEsMTkgKzE1NjgsMTcgQEAKIAlyZXR1cm4gdHlwZTsKIH0KIAotc3RhdGljIHZvaWQgKnJlYWRfb2JqZWN0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGVudW0gb2JqZWN0X3R5cGUgKnR5cGUsCitzdGF0aWMgdm9pZCAqcmVhZF9vYmplY3Qoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBlbnVtIG9iamVjdF90eXBlICp0eXBlLAogCQkJIHVuc2lnbmVkIGxvbmcgKnNpemUpCiB7Ci0Jc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJc3RydWN0IG9iamVjdF9pbmZvIG9pID0gT0JKRUNUX0lORk9fSU5JVDsKIAl2b2lkICpjb250ZW50OwogCW9pLnR5cGVwID0gdHlwZTsKIAlvaS5zaXplcCA9IHNpemU7CiAJb2kuY29udGVudHAgPSAmY29udGVudDsKIAotCWhhc2hjcHkob2lkLmhhc2gsIHNoYTEpOwotCi0JaWYgKG9pZF9vYmplY3RfaW5mb19leHRlbmRlZCh0aGVfcmVwb3NpdG9yeSwgJm9pZCwgJm9pLCAwKSA8IDApCisJaWYgKG9pZF9vYmplY3RfaW5mb19leHRlbmRlZChyLCBvaWQsICZvaSwgMCkgPCAwKQogCQlyZXR1cm4gTlVMTDsKIAlyZXR1cm4gY29udGVudDsKIH0KQEAgLTEzODMsOCArMTU4OCw4IEBACiB7CiAJc3RydWN0IGNhY2hlZF9vYmplY3QgKmNvOwogCi0JaGFzaF9vYmplY3RfZmlsZShidWYsIGxlbiwgdHlwZV9uYW1lKHR5cGUpLCBvaWQpOwotCWlmIChoYXNfc2hhMV9maWxlKG9pZC0+aGFzaCkgfHwgZmluZF9jYWNoZWRfb2JqZWN0KG9pZCkpCisJaGFzaF9vYmplY3RfZmlsZSh0aGVfaGFzaF9hbGdvLCBidWYsIGxlbiwgdHlwZV9uYW1lKHR5cGUpLCBvaWQpOworCWlmIChoYXNfb2JqZWN0X2ZpbGUob2lkKSB8fCBmaW5kX2NhY2hlZF9vYmplY3Qob2lkKSkKIAkJcmV0dXJuIDA7CiAJQUxMT0NfR1JPVyhjYWNoZWRfb2JqZWN0cywgY2FjaGVkX29iamVjdF9uciArIDEsIGNhY2hlZF9vYmplY3RfYWxsb2MpOwogCWNvID0gJmNhY2hlZF9vYmplY3RzW2NhY2hlZF9vYmplY3RfbnIrK107CkBAIC0xNDAxLDcgKzE2MDYsOCBAQAogICogZGVhbCB3aXRoIHRoZW0gc2hvdWxkIGFycmFuZ2UgdG8gY2FsbCByZWFkX29iamVjdCgpIGFuZCBnaXZlIGVycm9yCiAgKiBtZXNzYWdlcyB0aGVtc2VsdmVzLgogICovCi12b2lkICpyZWFkX29iamVjdF9maWxlX2V4dGVuZGVkKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKK3ZvaWQgKnJlYWRfb2JqZWN0X2ZpbGVfZXh0ZW5kZWQoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAogCQkJCWVudW0gb2JqZWN0X3R5cGUgKnR5cGUsCiAJCQkJdW5zaWduZWQgbG9uZyAqc2l6ZSwKIAkJCQlpbnQgbG9va3VwX3JlcGxhY2UpCkBAIC0xNDExLDEzICsxNjE3LDE0IEBACiAJY29uc3QgY2hhciAqcGF0aDsKIAlzdHJ1Y3Qgc3RhdCBzdDsKIAljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpyZXBsID0gbG9va3VwX3JlcGxhY2UgPwotCQlsb29rdXBfcmVwbGFjZV9vYmplY3QodGhlX3JlcG9zaXRvcnksIG9pZCkgOiBvaWQ7CisJCWxvb2t1cF9yZXBsYWNlX29iamVjdChyLCBvaWQpIDogb2lkOwogCiAJZXJybm8gPSAwOwotCWRhdGEgPSByZWFkX29iamVjdChyZXBsLT5oYXNoLCB0eXBlLCBzaXplKTsKKwlkYXRhID0gcmVhZF9vYmplY3QociwgcmVwbCwgdHlwZSwgc2l6ZSk7CiAJaWYgKGRhdGEpCiAJCXJldHVybiBkYXRhOwogCisJb2JqX3JlYWRfbG9jaygpOwogCWlmIChlcnJubyAmJiBlcnJubyAhPSBFTk9FTlQpCiAJCWRpZV9lcnJubyhfKCJmYWlsZWQgdG8gcmVhZCBvYmplY3QgJXMiKSwgb2lkX3RvX2hleChvaWQpKTsKIApAQCAtMTQyNiwxOCArMTYzMywyMCBAQAogCQlkaWUoXygicmVwbGFjZW1lbnQgJXMgbm90IGZvdW5kIGZvciAlcyIpLAogCQkgICAgb2lkX3RvX2hleChyZXBsKSwgb2lkX3RvX2hleChvaWQpKTsKIAotCWlmICghc3RhdF9zaGExX2ZpbGUodGhlX3JlcG9zaXRvcnksIHJlcGwtPmhhc2gsICZzdCwgJnBhdGgpKQorCWlmICghc3RhdF9sb29zZV9vYmplY3QociwgcmVwbCwgJnN0LCAmcGF0aCkpCiAJCWRpZShfKCJsb29zZSBvYmplY3QgJXMgKHN0b3JlZCBpbiAlcykgaXMgY29ycnVwdCIpLAogCQkgICAgb2lkX3RvX2hleChyZXBsKSwgcGF0aCk7CiAKLQlpZiAoKHAgPSBoYXNfcGFja2VkX2FuZF9iYWQocmVwbC0+aGFzaCkpICE9IE5VTEwpCisJaWYgKChwID0gaGFzX3BhY2tlZF9hbmRfYmFkKHIsIHJlcGwtPmhhc2gpKSAhPSBOVUxMKQogCQlkaWUoXygicGFja2VkIG9iamVjdCAlcyAoc3RvcmVkIGluICVzKSBpcyBjb3JydXB0IiksCiAJCSAgICBvaWRfdG9faGV4KHJlcGwpLCBwLT5wYWNrX25hbWUpOworCW9ial9yZWFkX3VubG9jaygpOwogCiAJcmV0dXJuIE5VTEw7CiB9CiAKLXZvaWQgKnJlYWRfb2JqZWN0X3dpdGhfcmVmZXJlbmNlKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKK3ZvaWQgKnJlYWRfb2JqZWN0X3dpdGhfcmVmZXJlbmNlKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQkJIGNvbnN0IGNoYXIgKnJlcXVpcmVkX3R5cGVfbmFtZSwKIAkJCQkgdW5zaWduZWQgbG9uZyAqc2l6ZSwKIAkJCQkgc3RydWN0IG9iamVjdF9pZCAqYWN0dWFsX29pZF9yZXR1cm4pCkBAIC0xNDUzLDcgKzE2NjIsNyBAQAogCQlpbnQgcmVmX2xlbmd0aCA9IC0xOwogCQljb25zdCBjaGFyICpyZWZfdHlwZSA9IE5VTEw7CiAKLQkJYnVmZmVyID0gcmVhZF9vYmplY3RfZmlsZSgmYWN0dWFsX29pZCwgJnR5cGUsICZpc2l6ZSk7CisJCWJ1ZmZlciA9IHJlcG9fcmVhZF9vYmplY3RfZmlsZShyLCAmYWN0dWFsX29pZCwgJnR5cGUsICZpc2l6ZSk7CiAJCWlmICghYnVmZmVyKQogCQkJcmV0dXJuIE5VTEw7CiAJCWlmICh0eXBlID09IHJlcXVpcmVkX3R5cGUpIHsKQEAgLTE0ODUsNyArMTY5NCw4IEBACiAJfQogfQogCi1zdGF0aWMgdm9pZCB3cml0ZV9vYmplY3RfZmlsZV9wcmVwYXJlKGNvbnN0IHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyBsZW4sCitzdGF0aWMgdm9pZCB3cml0ZV9vYmplY3RfZmlsZV9wcmVwYXJlKGNvbnN0IHN0cnVjdCBnaXRfaGFzaF9hbGdvICphbGdvLAorCQkJCSAgICAgIGNvbnN0IHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyBsZW4sCiAJCQkJICAgICAgY29uc3QgY2hhciAqdHlwZSwgc3RydWN0IG9iamVjdF9pZCAqb2lkLAogCQkJCSAgICAgIGNoYXIgKmhkciwgaW50ICpoZHJsZW4pCiB7CkBAIC0xNDk1LDEwICsxNzA1LDEwIEBACiAJKmhkcmxlbiA9IHhzbnByaW50ZihoZHIsICpoZHJsZW4sICIlcyAlIlBSSXVNQVggLCB0eXBlLCAodWludG1heF90KWxlbikrMTsKIAogCS8qIFNoYTEuLiAqLwotCXRoZV9oYXNoX2FsZ28tPmluaXRfZm4oJmMpOwotCXRoZV9oYXNoX2FsZ28tPnVwZGF0ZV9mbigmYywgaGRyLCAqaGRybGVuKTsKLQl0aGVfaGFzaF9hbGdvLT51cGRhdGVfZm4oJmMsIGJ1ZiwgbGVuKTsKLQl0aGVfaGFzaF9hbGdvLT5maW5hbF9mbihvaWQtPmhhc2gsICZjKTsKKwlhbGdvLT5pbml0X2ZuKCZjKTsKKwlhbGdvLT51cGRhdGVfZm4oJmMsIGhkciwgKmhkcmxlbik7CisJYWxnby0+dXBkYXRlX2ZuKCZjLCBidWYsIGxlbik7CisJYWxnby0+ZmluYWxfZm4ob2lkLT5oYXNoLCAmYyk7CiB9CiAKIC8qCkBAIC0xNTMzLDcgKzE3NDMsNyBAQAogCXVubGlua19vcl93YXJuKHRtcGZpbGUpOwogCWlmIChyZXQpIHsKIAkJaWYgKHJldCAhPSBFRVhJU1QpIHsKLQkJCXJldHVybiBlcnJvcl9lcnJubyhfKCJ1bmFibGUgdG8gd3JpdGUgc2hhMSBmaWxlbmFtZSAlcyIpLCBmaWxlbmFtZSk7CisJCQlyZXR1cm4gZXJyb3JfZXJybm8oXygidW5hYmxlIHRvIHdyaXRlIGZpbGUgJXMiKSwgZmlsZW5hbWUpOwogCQl9CiAJCS8qIEZJWE1FISEhIENvbGxpc2lvbiBjaGVjayBoZXJlID8gKi8KIAl9CkBAIC0xNTUxLDIyICsxNzYxLDIzIEBACiAJcmV0dXJuIDA7CiB9CiAKLWludCBoYXNoX29iamVjdF9maWxlKGNvbnN0IHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyBsZW4sIGNvbnN0IGNoYXIgKnR5cGUsCitpbnQgaGFzaF9vYmplY3RfZmlsZShjb25zdCBzdHJ1Y3QgZ2l0X2hhc2hfYWxnbyAqYWxnbywgY29uc3Qgdm9pZCAqYnVmLAorCQkgICAgIHVuc2lnbmVkIGxvbmcgbGVuLCBjb25zdCBjaGFyICp0eXBlLAogCQkgICAgIHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAljaGFyIGhkcltNQVhfSEVBREVSX0xFTl07CiAJaW50IGhkcmxlbiA9IHNpemVvZihoZHIpOwotCXdyaXRlX29iamVjdF9maWxlX3ByZXBhcmUoYnVmLCBsZW4sIHR5cGUsIG9pZCwgaGRyLCAmaGRybGVuKTsKKwl3cml0ZV9vYmplY3RfZmlsZV9wcmVwYXJlKGFsZ28sIGJ1ZiwgbGVuLCB0eXBlLCBvaWQsIGhkciwgJmhkcmxlbik7CiAJcmV0dXJuIDA7CiB9CiAKIC8qIEZpbmFsaXplIGEgZmlsZSBvbiBkaXNrLCBhbmQgY2xvc2UgaXQuICovCi1zdGF0aWMgdm9pZCBjbG9zZV9zaGExX2ZpbGUoaW50IGZkKQorc3RhdGljIHZvaWQgY2xvc2VfbG9vc2Vfb2JqZWN0KGludCBmZCkKIHsKIAlpZiAoZnN5bmNfb2JqZWN0X2ZpbGVzKQotCQlmc3luY19vcl9kaWUoZmQsICJzaGExIGZpbGUiKTsKKwkJZnN5bmNfb3JfZGllKGZkLCAibG9vc2Ugb2JqZWN0IGZpbGUiKTsKIAlpZiAoY2xvc2UoZmQpICE9IDApCi0JCWRpZV9lcnJubyhfKCJlcnJvciB3aGVuIGNsb3Npbmcgc2hhMSBmaWxlIikpOworCQlkaWVfZXJybm8oXygiZXJyb3Igd2hlbiBjbG9zaW5nIGxvb3NlIG9iamVjdCBmaWxlIikpOwogfQogCiAvKiBTaXplIG9mIGRpcmVjdG9yeSBjb21wb25lbnQsIGluY2x1ZGluZyB0aGUgZW5kaW5nICcvJyAqLwpAQCAtMTYyNiw4ICsxODM3LDcgQEAKIAlzdGF0aWMgc3RydWN0IHN0cmJ1ZiB0bXBfZmlsZSA9IFNUUkJVRl9JTklUOwogCXN0YXRpYyBzdHJ1Y3Qgc3RyYnVmIGZpbGVuYW1lID0gU1RSQlVGX0lOSVQ7CiAKLQlzdHJidWZfcmVzZXQoJmZpbGVuYW1lKTsKLQlzaGExX2ZpbGVfbmFtZSh0aGVfcmVwb3NpdG9yeSwgJmZpbGVuYW1lLCBvaWQtPmhhc2gpOworCWxvb3NlX29iamVjdF9wYXRoKHRoZV9yZXBvc2l0b3J5LCAmZmlsZW5hbWUsIG9pZCk7CiAKIAlmZCA9IGNyZWF0ZV90bXBmaWxlKCZ0bXBfZmlsZSwgZmlsZW5hbWUuYnVmKTsKIAlpZiAoZmQgPCAwKSB7CkBAIC0xNjU4LDcgKzE4NjgsNyBAQAogCQlyZXQgPSBnaXRfZGVmbGF0ZSgmc3RyZWFtLCBaX0ZJTklTSCk7CiAJCXRoZV9oYXNoX2FsZ28tPnVwZGF0ZV9mbigmYywgaW4wLCBzdHJlYW0ubmV4dF9pbiAtIGluMCk7CiAJCWlmICh3cml0ZV9idWZmZXIoZmQsIGNvbXByZXNzZWQsIHN0cmVhbS5uZXh0X291dCAtIGNvbXByZXNzZWQpIDwgMCkKLQkJCWRpZShfKCJ1bmFibGUgdG8gd3JpdGUgc2hhMSBmaWxlIikpOworCQkJZGllKF8oInVuYWJsZSB0byB3cml0ZSBsb29zZSBvYmplY3QgZmlsZSIpKTsKIAkJc3RyZWFtLm5leHRfb3V0ID0gY29tcHJlc3NlZDsKIAkJc3RyZWFtLmF2YWlsX291dCA9IHNpemVvZihjb21wcmVzc2VkKTsKIAl9IHdoaWxlIChyZXQgPT0gWl9PSyk7CkBAIC0xNjc1LDcgKzE4ODUsNyBAQAogCQlkaWUoXygiY29uZnVzZWQgYnkgdW5zdGFibGUgb2JqZWN0IHNvdXJjZSBkYXRhIGZvciAlcyIpLAogCQkgICAgb2lkX3RvX2hleChvaWQpKTsKIAotCWNsb3NlX3NoYTFfZmlsZShmZCk7CisJY2xvc2VfbG9vc2Vfb2JqZWN0KGZkKTsKIAogCWlmIChtdGltZSkgewogCQlzdHJ1Y3QgdXRpbWJ1ZiB1dGI7CkBAIC0xNzE1LDcgKzE5MjUsOCBAQAogCS8qIE5vcm1hbGx5IGlmIHdlIGhhdmUgaXQgaW4gdGhlIHBhY2sgdGhlbiB3ZSBkbyBub3QgYm90aGVyIHdyaXRpbmcKIAkgKiBpdCBvdXQgaW50byAuZ2l0L29iamVjdHMvPz8vP3szOH0gZmlsZS4KIAkgKi8KLQl3cml0ZV9vYmplY3RfZmlsZV9wcmVwYXJlKGJ1ZiwgbGVuLCB0eXBlLCBvaWQsIGhkciwgJmhkcmxlbik7CisJd3JpdGVfb2JqZWN0X2ZpbGVfcHJlcGFyZSh0aGVfaGFzaF9hbGdvLCBidWYsIGxlbiwgdHlwZSwgb2lkLCBoZHIsCisJCQkJICAmaGRybGVuKTsKIAlpZiAoZnJlc2hlbl9wYWNrZWRfb2JqZWN0KG9pZCkgfHwgZnJlc2hlbl9sb29zZV9vYmplY3Qob2lkKSkKIAkJcmV0dXJuIDA7CiAJcmV0dXJuIHdyaXRlX2xvb3NlX29iamVjdChvaWQsIGhkciwgaGRybGVuLCBidWYsIGxlbiwgMCk7CkBAIC0xNzMxLDcgKzE5NDIsOCBAQAogCS8qIHR5cGUgc3RyaW5nLCBTUCwgJWx1IG9mIHRoZSBsZW5ndGggcGx1cyBOVUwgbXVzdCBmaXQgdGhpcyAqLwogCWhkcmxlbiA9IHN0cmxlbih0eXBlKSArIE1BWF9IRUFERVJfTEVOOwogCWhlYWRlciA9IHhtYWxsb2MoaGRybGVuKTsKLQl3cml0ZV9vYmplY3RfZmlsZV9wcmVwYXJlKGJ1ZiwgbGVuLCB0eXBlLCBvaWQsIGhlYWRlciwgJmhkcmxlbik7CisJd3JpdGVfb2JqZWN0X2ZpbGVfcHJlcGFyZSh0aGVfaGFzaF9hbGdvLCBidWYsIGxlbiwgdHlwZSwgb2lkLCBoZWFkZXIsCisJCQkJICAmaGRybGVuKTsKIAogCWlmICghKGZsYWdzICYgSEFTSF9XUklURV9PQkpFQ1QpKQogCQlnb3RvIGNsZWFudXA7CkBAIC0xNzU1LDkgKzE5NjcsOSBAQAogCiAJaWYgKGhhc19sb29zZV9vYmplY3Qob2lkKSkKIAkJcmV0dXJuIDA7Ci0JYnVmID0gcmVhZF9vYmplY3Qob2lkLT5oYXNoLCAmdHlwZSwgJmxlbik7CisJYnVmID0gcmVhZF9vYmplY3QodGhlX3JlcG9zaXRvcnksIG9pZCwgJnR5cGUsICZsZW4pOwogCWlmICghYnVmKQotCQlyZXR1cm4gZXJyb3IoXygiY2Fubm90IHJlYWQgc2hhMV9maWxlIGZvciAlcyIpLCBvaWRfdG9faGV4KG9pZCkpOworCQlyZXR1cm4gZXJyb3IoXygiY2Fubm90IHJlYWQgb2JqZWN0IGZvciAlcyIpLCBvaWRfdG9faGV4KG9pZCkpOwogCWhkcmxlbiA9IHhzbnByaW50ZihoZHIsIHNpemVvZihoZHIpLCAiJXMgJSJQUkl1TUFYICwgdHlwZV9uYW1lKHR5cGUpLCAodWludG1heF90KWxlbikgKyAxOwogCXJldCA9IHdyaXRlX2xvb3NlX29iamVjdChvaWQsIGhkciwgaGRybGVuLCBidWYsIGxlbiwgbXRpbWUpOwogCWZyZWUoYnVmKTsKQEAgLTE3NjUsMjQgKzE5NzcsMTggQEAKIAlyZXR1cm4gcmV0OwogfQogCi1pbnQgaGFzX3NoYTFfZmlsZV93aXRoX2ZsYWdzKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGludCBmbGFncykKK2ludCByZXBvX2hhc19vYmplY3RfZmlsZV93aXRoX2ZsYWdzKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBmbGFncykKIHsKLQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAlpZiAoIXN0YXJ0dXBfaW5mby0+aGF2ZV9yZXBvc2l0b3J5KQogCQlyZXR1cm4gMDsKLQloYXNoY3B5KG9pZC5oYXNoLCBzaGExKTsKLQlyZXR1cm4gb2lkX29iamVjdF9pbmZvX2V4dGVuZGVkKHRoZV9yZXBvc2l0b3J5LCAmb2lkLCBOVUxMLAotCQkJCQlmbGFncyB8IE9CSkVDVF9JTkZPX1NLSVBfQ0FDSEVEKSA+PSAwOworCXJldHVybiBvaWRfb2JqZWN0X2luZm9fZXh0ZW5kZWQociwgb2lkLCBOVUxMLCBmbGFncykgPj0gMDsKIH0KIAotaW50IGhhc19vYmplY3RfZmlsZShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCitpbnQgcmVwb19oYXNfb2JqZWN0X2ZpbGUoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewotCXJldHVybiBoYXNfc2hhMV9maWxlKG9pZC0+aGFzaCk7Ci19Ci0KLWludCBoYXNfb2JqZWN0X2ZpbGVfd2l0aF9mbGFncyhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBmbGFncykKLXsKLQlyZXR1cm4gaGFzX3NoYTFfZmlsZV93aXRoX2ZsYWdzKG9pZC0+aGFzaCwgZmxhZ3MpOworCXJldHVybiByZXBvX2hhc19vYmplY3RfZmlsZV93aXRoX2ZsYWdzKHIsIG9pZCwgMCk7CiB9CiAKIHN0YXRpYyB2b2lkIGNoZWNrX3RyZWUoY29uc3Qgdm9pZCAqYnVmLCBzaXplX3Qgc2l6ZSkKQEAgLTE4NDcsNyArMjA1Myw4IEBACiAJaWYgKHdyaXRlX29iamVjdCkKIAkJcmV0ID0gd3JpdGVfb2JqZWN0X2ZpbGUoYnVmLCBzaXplLCB0eXBlX25hbWUodHlwZSksIG9pZCk7CiAJZWxzZQotCQlyZXQgPSBoYXNoX29iamVjdF9maWxlKGJ1Ziwgc2l6ZSwgdHlwZV9uYW1lKHR5cGUpLCBvaWQpOworCQlyZXQgPSBoYXNoX29iamVjdF9maWxlKHRoZV9oYXNoX2FsZ28sIGJ1Ziwgc2l6ZSwKKwkJCQkgICAgICAgdHlwZV9uYW1lKHR5cGUpLCBvaWQpOwogCWlmIChyZV9hbGxvY2F0ZWQpCiAJCWZyZWUoYnVmKTsKIAlyZXR1cm4gcmV0OwpAQCAtMTg3Myw4ICsyMDgwLDggQEAKIAkJcmV0ID0gd3JpdGVfb2JqZWN0X2ZpbGUoc2J1Zi5idWYsIHNidWYubGVuLCB0eXBlX25hbWUoT0JKX0JMT0IpLAogCQkJCQlvaWQpOwogCWVsc2UKLQkJcmV0ID0gaGFzaF9vYmplY3RfZmlsZShzYnVmLmJ1Ziwgc2J1Zi5sZW4sIHR5cGVfbmFtZShPQkpfQkxPQiksCi0JCQkJICAgICAgIG9pZCk7CisJCXJldCA9IGhhc2hfb2JqZWN0X2ZpbGUodGhlX2hhc2hfYWxnbywgc2J1Zi5idWYsIHNidWYubGVuLAorCQkJCSAgICAgICB0eXBlX25hbWUoT0JKX0JMT0IpLCBvaWQpOwogCXN0cmJ1Zl9yZWxlYXNlKCZzYnVmKTsKIAlyZXR1cm4gcmV0OwogfQpAQCAtMTk5Miw3ICsyMTk5LDggQEAKIAkJaWYgKHN0cmJ1Zl9yZWFkbGluaygmc2IsIHBhdGgsIHN0LT5zdF9zaXplKSkKIAkJCXJldHVybiBlcnJvcl9lcnJubygicmVhZGxpbmsoXCIlc1wiKSIsIHBhdGgpOwogCQlpZiAoIShmbGFncyAmIEhBU0hfV1JJVEVfT0JKRUNUKSkKLQkJCWhhc2hfb2JqZWN0X2ZpbGUoc2IuYnVmLCBzYi5sZW4sIGJsb2JfdHlwZSwgb2lkKTsKKwkJCWhhc2hfb2JqZWN0X2ZpbGUodGhlX2hhc2hfYWxnbywgc2IuYnVmLCBzYi5sZW4sCisJCQkJCSBibG9iX3R5cGUsIG9pZCk7CiAJCWVsc2UgaWYgKHdyaXRlX29iamVjdF9maWxlKHNiLmJ1Ziwgc2IubGVuLCBibG9iX3R5cGUsIG9pZCkpCiAJCQlyYyA9IGVycm9yKF8oIiVzOiBmYWlsZWQgdG8gaW5zZXJ0IGludG8gZGF0YWJhc2UiKSwgcGF0aCk7CiAJCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CkBAIC0yMTM0LDUzICsyMzQyLDczIEBACiAJcmV0dXJuIHI7CiB9CiAKLXN0cnVjdCBsb29zZV9hbHRfb2RiX2RhdGEgewotCWVhY2hfbG9vc2Vfb2JqZWN0X2ZuICpjYjsKLQl2b2lkICpkYXRhOwotfTsKLQotc3RhdGljIGludCBsb29zZV9mcm9tX2FsdF9vZGIoc3RydWN0IGFsdGVybmF0ZV9vYmplY3RfZGF0YWJhc2UgKmFsdCwKLQkJCSAgICAgIHZvaWQgKnZkYXRhKQotewotCXN0cnVjdCBsb29zZV9hbHRfb2RiX2RhdGEgKmRhdGEgPSB2ZGF0YTsKLQlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwotCWludCByOwotCi0Jc3RyYnVmX2FkZHN0cigmYnVmLCBhbHQtPnBhdGgpOwotCXIgPSBmb3JfZWFjaF9sb29zZV9maWxlX2luX29iamRpcl9idWYoJmJ1ZiwKLQkJCQkJICAgICAgZGF0YS0+Y2IsIE5VTEwsIE5VTEwsCi0JCQkJCSAgICAgIGRhdGEtPmRhdGEpOwotCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwotCXJldHVybiByOwotfQotCiBpbnQgZm9yX2VhY2hfbG9vc2Vfb2JqZWN0KGVhY2hfbG9vc2Vfb2JqZWN0X2ZuIGNiLCB2b2lkICpkYXRhLAogCQkJICBlbnVtIGZvcl9lYWNoX29iamVjdF9mbGFncyBmbGFncykKIHsKLQlzdHJ1Y3QgbG9vc2VfYWx0X29kYl9kYXRhIGFsdDsKLQlpbnQgcjsKKwlzdHJ1Y3Qgb2JqZWN0X2RpcmVjdG9yeSAqb2RiOwogCi0JciA9IGZvcl9lYWNoX2xvb3NlX2ZpbGVfaW5fb2JqZGlyKGdldF9vYmplY3RfZGlyZWN0b3J5KCksCi0JCQkJCSAgY2IsIE5VTEwsIE5VTEwsIGRhdGEpOwotCWlmIChyKQotCQlyZXR1cm4gcjsKKwlwcmVwYXJlX2FsdF9vZGIodGhlX3JlcG9zaXRvcnkpOworCWZvciAob2RiID0gdGhlX3JlcG9zaXRvcnktPm9iamVjdHMtPm9kYjsgb2RiOyBvZGIgPSBvZGItPm5leHQpIHsKKwkJaW50IHIgPSBmb3JfZWFjaF9sb29zZV9maWxlX2luX29iamRpcihvZGItPnBhdGgsIGNiLCBOVUxMLAorCQkJCQkJICAgICAgTlVMTCwgZGF0YSk7CisJCWlmIChyKQorCQkJcmV0dXJuIHI7CiAKLQlpZiAoZmxhZ3MgJiBGT1JfRUFDSF9PQkpFQ1RfTE9DQUxfT05MWSkKLQkJcmV0dXJuIDA7CisJCWlmIChmbGFncyAmIEZPUl9FQUNIX09CSkVDVF9MT0NBTF9PTkxZKQorCQkJYnJlYWs7CisJfQogCi0JYWx0LmNiID0gY2I7Ci0JYWx0LmRhdGEgPSBkYXRhOwotCXJldHVybiBmb3JlYWNoX2FsdF9vZGIobG9vc2VfZnJvbV9hbHRfb2RiLCAmYWx0KTsKKwlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBjaGVja19zdHJlYW1fc2hhMShnaXRfenN0cmVhbSAqc3RyZWFtLAotCQkJICAgICBjb25zdCBjaGFyICpoZHIsCi0JCQkgICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSwKLQkJCSAgICAgY29uc3QgY2hhciAqcGF0aCwKLQkJCSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZXhwZWN0ZWRfc2hhMSkKK3N0YXRpYyBpbnQgYXBwZW5kX2xvb3NlX29iamVjdChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGNvbnN0IGNoYXIgKnBhdGgsCisJCQkgICAgICAgdm9pZCAqZGF0YSkKK3sKKwlvaWRfYXJyYXlfYXBwZW5kKGRhdGEsIG9pZCk7CisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBvaWRfYXJyYXkgKm9kYl9sb29zZV9jYWNoZShzdHJ1Y3Qgb2JqZWN0X2RpcmVjdG9yeSAqb2RiLAorCQkJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQoreworCWludCBzdWJkaXJfbnIgPSBvaWQtPmhhc2hbMF07CisJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKKworCWlmIChzdWJkaXJfbnIgPCAwIHx8CisJICAgIHN1YmRpcl9uciA+PSBBUlJBWV9TSVpFKG9kYi0+bG9vc2Vfb2JqZWN0c19zdWJkaXJfc2VlbikpCisJCUJVRygic3ViZGlyX25yIG91dCBvZiByYW5nZSIpOworCisJaWYgKG9kYi0+bG9vc2Vfb2JqZWN0c19zdWJkaXJfc2VlbltzdWJkaXJfbnJdKQorCQlyZXR1cm4gJm9kYi0+bG9vc2Vfb2JqZWN0c19jYWNoZVtzdWJkaXJfbnJdOworCisJc3RyYnVmX2FkZHN0cigmYnVmLCBvZGItPnBhdGgpOworCWZvcl9lYWNoX2ZpbGVfaW5fb2JqX3N1YmRpcihzdWJkaXJfbnIsICZidWYsCisJCQkJICAgIGFwcGVuZF9sb29zZV9vYmplY3QsCisJCQkJICAgIE5VTEwsIE5VTEwsCisJCQkJICAgICZvZGItPmxvb3NlX29iamVjdHNfY2FjaGVbc3ViZGlyX25yXSk7CisJb2RiLT5sb29zZV9vYmplY3RzX3N1YmRpcl9zZWVuW3N1YmRpcl9ucl0gPSAxOworCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOworCXJldHVybiAmb2RiLT5sb29zZV9vYmplY3RzX2NhY2hlW3N1YmRpcl9ucl07Cit9CisKK3ZvaWQgb2RiX2NsZWFyX2xvb3NlX2NhY2hlKHN0cnVjdCBvYmplY3RfZGlyZWN0b3J5ICpvZGIpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShvZGItPmxvb3NlX29iamVjdHNfY2FjaGUpOyBpKyspCisJCW9pZF9hcnJheV9jbGVhcigmb2RiLT5sb29zZV9vYmplY3RzX2NhY2hlW2ldKTsKKwltZW1zZXQoJm9kYi0+bG9vc2Vfb2JqZWN0c19zdWJkaXJfc2VlbiwgMCwKKwkgICAgICAgc2l6ZW9mKG9kYi0+bG9vc2Vfb2JqZWN0c19zdWJkaXJfc2VlbikpOworfQorCitzdGF0aWMgaW50IGNoZWNrX3N0cmVhbV9vaWQoZ2l0X3pzdHJlYW0gKnN0cmVhbSwKKwkJCSAgICBjb25zdCBjaGFyICpoZHIsCisJCQkgICAgdW5zaWduZWQgbG9uZyBzaXplLAorCQkJICAgIGNvbnN0IGNoYXIgKnBhdGgsCisJCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqZXhwZWN0ZWRfb2lkKQogewogCWdpdF9oYXNoX2N0eCBjOwotCXVuc2lnbmVkIGNoYXIgcmVhbF9zaGExW0dJVF9NQVhfUkFXU1pdOworCXN0cnVjdCBvYmplY3RfaWQgcmVhbF9vaWQ7CiAJdW5zaWduZWQgY2hhciBidWZbNDA5Nl07CiAJdW5zaWduZWQgbG9uZyB0b3RhbF9yZWFkOwogCWludCBzdGF0dXMgPSBaX09LOwpAQCAtMjE5Niw3ICsyNDI0LDcgQEAKIAogCS8qCiAJICogVGhpcyBzaXplIGNvbXBhcmlzb24gbXVzdCBiZSAiPD0iIHRvIHJlYWQgdGhlIGZpbmFsIHpsaWIgcGFja2V0czsKLQkgKiBzZWUgdGhlIGNvbW1lbnQgaW4gdW5wYWNrX3NoYTFfcmVzdCBmb3IgZGV0YWlscy4KKwkgKiBzZWUgdGhlIGNvbW1lbnQgaW4gdW5wYWNrX2xvb3NlX3Jlc3QgZm9yIGRldGFpbHMuCiAJICovCiAJd2hpbGUgKHRvdGFsX3JlYWQgPD0gc2l6ZSAmJgogCSAgICAgICAoc3RhdHVzID09IFpfT0sgfHwKQEAgLTIyMTIsMTkgKzI0NDAsMTkgQEAKIAlnaXRfaW5mbGF0ZV9lbmQoc3RyZWFtKTsKIAogCWlmIChzdGF0dXMgIT0gWl9TVFJFQU1fRU5EKSB7Ci0JCWVycm9yKF8oImNvcnJ1cHQgbG9vc2Ugb2JqZWN0ICclcyciKSwgc2hhMV90b19oZXgoZXhwZWN0ZWRfc2hhMSkpOworCQllcnJvcihfKCJjb3JydXB0IGxvb3NlIG9iamVjdCAnJXMnIiksIG9pZF90b19oZXgoZXhwZWN0ZWRfb2lkKSk7CiAJCXJldHVybiAtMTsKIAl9CiAJaWYgKHN0cmVhbS0+YXZhaWxfaW4pIHsKIAkJZXJyb3IoXygiZ2FyYmFnZSBhdCBlbmQgb2YgbG9vc2Ugb2JqZWN0ICclcyciKSwKLQkJICAgICAgc2hhMV90b19oZXgoZXhwZWN0ZWRfc2hhMSkpOworCQkgICAgICBvaWRfdG9faGV4KGV4cGVjdGVkX29pZCkpOwogCQlyZXR1cm4gLTE7CiAJfQogCi0JdGhlX2hhc2hfYWxnby0+ZmluYWxfZm4ocmVhbF9zaGExLCAmYyk7Ci0JaWYgKCFoYXNoZXEoZXhwZWN0ZWRfc2hhMSwgcmVhbF9zaGExKSkgewotCQllcnJvcihfKCJzaGExIG1pc21hdGNoIGZvciAlcyAoZXhwZWN0ZWQgJXMpIiksIHBhdGgsCi0JCSAgICAgIHNoYTFfdG9faGV4KGV4cGVjdGVkX3NoYTEpKTsKKwl0aGVfaGFzaF9hbGdvLT5maW5hbF9mbihyZWFsX29pZC5oYXNoLCAmYyk7CisJaWYgKCFvaWRlcShleHBlY3RlZF9vaWQsICZyZWFsX29pZCkpIHsKKwkJZXJyb3IoXygiaGFzaCBtaXNtYXRjaCBmb3IgJXMgKGV4cGVjdGVkICVzKSIpLCBwYXRoLAorCQkgICAgICBvaWRfdG9faGV4KGV4cGVjdGVkX29pZCkpOwogCQlyZXR1cm4gLTE7CiAJfQogCkBAIC0yMjQ1LDE4ICsyNDczLDE4IEBACiAKIAkqY29udGVudHMgPSBOVUxMOwogCi0JbWFwID0gbWFwX3NoYTFfZmlsZV8xKHRoZV9yZXBvc2l0b3J5LCBwYXRoLCBOVUxMLCAmbWFwc2l6ZSk7CisJbWFwID0gbWFwX2xvb3NlX29iamVjdF8xKHRoZV9yZXBvc2l0b3J5LCBwYXRoLCBOVUxMLCAmbWFwc2l6ZSk7CiAJaWYgKCFtYXApIHsKIAkJZXJyb3JfZXJybm8oXygidW5hYmxlIHRvIG1tYXAgJXMiKSwgcGF0aCk7CiAJCWdvdG8gb3V0OwogCX0KIAotCWlmICh1bnBhY2tfc2hhMV9oZWFkZXIoJnN0cmVhbSwgbWFwLCBtYXBzaXplLCBoZHIsIHNpemVvZihoZHIpKSA8IDApIHsKKwlpZiAodW5wYWNrX2xvb3NlX2hlYWRlcigmc3RyZWFtLCBtYXAsIG1hcHNpemUsIGhkciwgc2l6ZW9mKGhkcikpIDwgMCkgewogCQllcnJvcihfKCJ1bmFibGUgdG8gdW5wYWNrIGhlYWRlciBvZiAlcyIpLCBwYXRoKTsKIAkJZ290byBvdXQ7CiAJfQogCi0JKnR5cGUgPSBwYXJzZV9zaGExX2hlYWRlcihoZHIsIHNpemUpOworCSp0eXBlID0gcGFyc2VfbG9vc2VfaGVhZGVyKGhkciwgc2l6ZSk7CiAJaWYgKCp0eXBlIDwgMCkgewogCQllcnJvcihfKCJ1bmFibGUgdG8gcGFyc2UgaGVhZGVyIG9mICVzIiksIHBhdGgpOwogCQlnaXRfaW5mbGF0ZV9lbmQoJnN0cmVhbSk7CkBAIC0yMjY0LDE4ICsyNDkyLDE5IEBACiAJfQogCiAJaWYgKCp0eXBlID09IE9CSl9CTE9CICYmICpzaXplID4gYmlnX2ZpbGVfdGhyZXNob2xkKSB7Ci0JCWlmIChjaGVja19zdHJlYW1fc2hhMSgmc3RyZWFtLCBoZHIsICpzaXplLCBwYXRoLCBleHBlY3RlZF9vaWQtPmhhc2gpIDwgMCkKKwkJaWYgKGNoZWNrX3N0cmVhbV9vaWQoJnN0cmVhbSwgaGRyLCAqc2l6ZSwgcGF0aCwgZXhwZWN0ZWRfb2lkKSA8IDApCiAJCQlnb3RvIG91dDsKIAl9IGVsc2UgewotCQkqY29udGVudHMgPSB1bnBhY2tfc2hhMV9yZXN0KCZzdHJlYW0sIGhkciwgKnNpemUsIGV4cGVjdGVkX29pZC0+aGFzaCk7CisJCSpjb250ZW50cyA9IHVucGFja19sb29zZV9yZXN0KCZzdHJlYW0sIGhkciwgKnNpemUsIGV4cGVjdGVkX29pZCk7CiAJCWlmICghKmNvbnRlbnRzKSB7CiAJCQllcnJvcihfKCJ1bmFibGUgdG8gdW5wYWNrIGNvbnRlbnRzIG9mICVzIiksIHBhdGgpOwogCQkJZ2l0X2luZmxhdGVfZW5kKCZzdHJlYW0pOwogCQkJZ290byBvdXQ7CiAJCX0KLQkJaWYgKGNoZWNrX29iamVjdF9zaWduYXR1cmUoZXhwZWN0ZWRfb2lkLCAqY29udGVudHMsCi0JCQkJCSAqc2l6ZSwgdHlwZV9uYW1lKCp0eXBlKSkpIHsKLQkJCWVycm9yKF8oInNoYTEgbWlzbWF0Y2ggZm9yICVzIChleHBlY3RlZCAlcykiKSwgcGF0aCwKKwkJaWYgKGNoZWNrX29iamVjdF9zaWduYXR1cmUodGhlX3JlcG9zaXRvcnksIGV4cGVjdGVkX29pZCwKKwkJCQkJICAgKmNvbnRlbnRzLCAqc2l6ZSwKKwkJCQkJICAgdHlwZV9uYW1lKCp0eXBlKSkpIHsKKwkJCWVycm9yKF8oImhhc2ggbWlzbWF0Y2ggZm9yICVzIChleHBlY3RlZCAlcykiKSwgcGF0aCwKIAkJCSAgICAgIG9pZF90b19oZXgoZXhwZWN0ZWRfb2lkKSk7CiAJCQlmcmVlKCpjb250ZW50cyk7CiAJCQlnb3RvIG91dDsKZGlmZiAtLWdpdCBhL3NoYTEtbG9va3VwLmMgYi9zaGExLWxvb2t1cC5jCmluZGV4IDc5NmFiNjguLjI5MTg1ODQgMTAwNjQ0Ci0tLSBhL3NoYTEtbG9va3VwLmMKKysrIGIvc2hhMS1sb29rdXAuYwpAQCAtNTAsNyArNTAsNyBAQAogICogVGhlIHNoYTEgb2YgZWxlbWVudCBpIChiZXR3ZWVuIDAgYW5kIG5yIC0gMSkgc2hvdWxkIGJlIHJldHVybmVkCiAgKiBieSAiZm4oaSwgdGFibGUpIi4KICAqLwotaW50IHNoYTFfcG9zKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIHZvaWQgKnRhYmxlLCBzaXplX3QgbnIsCitpbnQgc2hhMV9wb3MoY29uc3QgdW5zaWduZWQgY2hhciAqaGFzaCwgdm9pZCAqdGFibGUsIHNpemVfdCBuciwKIAkgICAgIHNoYTFfYWNjZXNzX2ZuIGZuKQogewogCXNpemVfdCBoaSA9IG5yOwpAQCAtNjMsMTQgKzYzLDE0IEBACiAJaWYgKG5yICE9IDEpIHsKIAkJc2l6ZV90IGxvdiwgaGl2LCBtaXYsIG9mczsKIAotCQlmb3IgKG9mcyA9IDA7IG9mcyA8IDE4OyBvZnMgKz0gMikgeworCQlmb3IgKG9mcyA9IDA7IG9mcyA8IHRoZV9oYXNoX2FsZ28tPnJhd3N6IC0gMjsgb2ZzICs9IDIpIHsKIAkJCWxvdiA9IHRha2UyKGZuKDAsIHRhYmxlKSArIG9mcyk7CiAJCQloaXYgPSB0YWtlMihmbihuciAtIDEsIHRhYmxlKSArIG9mcyk7Ci0JCQltaXYgPSB0YWtlMihzaGExICsgb2ZzKTsKKwkJCW1pdiA9IHRha2UyKGhhc2ggKyBvZnMpOwogCQkJaWYgKG1pdiA8IGxvdikKIAkJCQlyZXR1cm4gLTE7CiAJCQlpZiAoaGl2IDwgbWl2KQotCQkJCXJldHVybiAtMSAtIG5yOworCQkJCXJldHVybiBpbmRleF9wb3NfdG9faW5zZXJ0X3Bvcyhucik7CiAJCQlpZiAobG92ICE9IGhpdikgewogCQkJCS8qCiAJCQkJICogQXQgdGhpcyBwb2ludCBtaXYgY291bGQgYmUgZXF1YWwKQEAgLTg4LDcgKzg4LDcgQEAKIAogCWRvIHsKIAkJaW50IGNtcDsKLQkJY21wID0gaGFzaGNtcChmbihtaSwgdGFibGUpLCBzaGExKTsKKwkJY21wID0gaGFzaGNtcChmbihtaSwgdGFibGUpLCBoYXNoKTsKIAkJaWYgKCFjbXApCiAJCQlyZXR1cm4gbWk7CiAJCWlmIChjbXAgPiAwKQpAQCAtOTcsNyArOTcsNyBAQAogCQkJbG8gPSBtaSArIDE7CiAJCW1pID0gbG8gKyAoaGkgLSBsbykgLyAyOwogCX0gd2hpbGUgKGxvIDwgaGkpOwotCXJldHVybiAtbG8tMTsKKwlyZXR1cm4gaW5kZXhfcG9zX3RvX2luc2VydF9wb3MobG8pOwogfQogCiBpbnQgYnNlYXJjaF9oYXNoKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsIGNvbnN0IHVpbnQzMl90ICpmYW5vdXRfbmJvLApkaWZmIC0tZ2l0IGEvc2hhMS1sb29rdXAuaCBiL3NoYTEtbG9va3VwLmgKaW5kZXggNzY3OGIyMy4uNWFmY2QwMSAxMDA2NDQKLS0tIGEvc2hhMS1sb29rdXAuaAorKysgYi9zaGExLWxvb2t1cC5oCkBAIC0zLDEwICszLDEwIEBACiAKIHR5cGVkZWYgY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMV9hY2Nlc3NfZm4oc2l6ZV90IGluZGV4LCB2b2lkICp0YWJsZSk7CiAKLWV4dGVybiBpbnQgc2hhMV9wb3MoY29uc3QgdW5zaWduZWQgY2hhciAqc2hhMSwKLQkJICAgIHZvaWQgKnRhYmxlLAotCQkgICAgc2l6ZV90IG5yLAotCQkgICAgc2hhMV9hY2Nlc3NfZm4gZm4pOworaW50IHNoYTFfcG9zKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNoYTEsCisJICAgICB2b2lkICp0YWJsZSwKKwkgICAgIHNpemVfdCBuciwKKwkgICAgIHNoYTFfYWNjZXNzX2ZuIGZuKTsKIAogLyoKICAqIFNlYXJjaGVzIGZvciBzaGExIGluIHRhYmxlLCB1c2luZyB0aGUgZ2l2ZW4gZmFub3V0IHRhYmxlIHRvIGRldGVybWluZSB0aGUKZGlmZiAtLWdpdCBhL3NoYTEtbmFtZS5jIGIvc2hhMS1uYW1lLmMKaW5kZXggZmFhNjBmNi4uNWJiMDA2ZSAxMDA2NDQKLS0tIGEvc2hhMS1uYW1lLmMKKysrIGIvc2hhMS1uYW1lLmMKQEAgLTEyLDE4ICsxMiwyMCBAQAogI2luY2x1ZGUgInBhY2tmaWxlLmgiCiAjaW5jbHVkZSAib2JqZWN0LXN0b3JlLmgiCiAjaW5jbHVkZSAicmVwb3NpdG9yeS5oIgorI2luY2x1ZGUgInN1Ym1vZHVsZS5oIgogI2luY2x1ZGUgIm1pZHguaCIKICNpbmNsdWRlICJjb21taXQtcmVhY2guaCIKIAotc3RhdGljIGludCBnZXRfb2lkX29uZWxpbmUoY29uc3QgY2hhciAqLCBzdHJ1Y3Qgb2JqZWN0X2lkICosIHN0cnVjdCBjb21taXRfbGlzdCAqKTsKK3N0YXRpYyBpbnQgZ2V0X29pZF9vbmVsaW5lKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBjaGFyICosIHN0cnVjdCBvYmplY3RfaWQgKiwgc3RydWN0IGNvbW1pdF9saXN0ICopOwogCi10eXBlZGVmIGludCAoKmRpc2FtYmlndWF0ZV9oaW50X2ZuKShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICosIHZvaWQgKik7Cit0eXBlZGVmIGludCAoKmRpc2FtYmlndWF0ZV9oaW50X2ZuKShzdHJ1Y3QgcmVwb3NpdG9yeSAqLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICosIHZvaWQgKik7CiAKIHN0cnVjdCBkaXNhbWJpZ3VhdGVfc3RhdGUgewogCWludCBsZW47IC8qIGxlbmd0aCBvZiBwcmVmaXggaW4gaGV4IGNoYXJzICovCiAJY2hhciBoZXhfcGZ4W0dJVF9NQVhfSEVYU1ogKyAxXTsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIGJpbl9wZng7CiAKKwlzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbzsKIAlkaXNhbWJpZ3VhdGVfaGludF9mbiBmbjsKIAl2b2lkICpjYl9kYXRhOwogCXN0cnVjdCBvYmplY3RfaWQgY2FuZGlkYXRlOwpAQCAtMzgsNyArNDAsNyBAQAogc3RhdGljIHZvaWQgdXBkYXRlX2NhbmRpZGF0ZXMoc3RydWN0IGRpc2FtYmlndWF0ZV9zdGF0ZSAqZHMsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmN1cnJlbnQpCiB7CiAJaWYgKGRzLT5hbHdheXNfY2FsbF9mbikgewotCQlkcy0+YW1iaWd1b3VzID0gZHMtPmZuKGN1cnJlbnQsIGRzLT5jYl9kYXRhKSA/IDEgOiAwOworCQlkcy0+YW1iaWd1b3VzID0gZHMtPmZuKGRzLT5yZXBvLCBjdXJyZW50LCBkcy0+Y2JfZGF0YSkgPyAxIDogMDsKIAkJcmV0dXJuOwogCX0KIAlpZiAoIWRzLT5jYW5kaWRhdGVfZXhpc3RzKSB7CkBAIC01OCw3ICs2MCw3IEBACiAJfQogCiAJaWYgKCFkcy0+Y2FuZGlkYXRlX2NoZWNrZWQpIHsKLQkJZHMtPmNhbmRpZGF0ZV9vayA9IGRzLT5mbigmZHMtPmNhbmRpZGF0ZSwgZHMtPmNiX2RhdGEpOworCQlkcy0+Y2FuZGlkYXRlX29rID0gZHMtPmZuKGRzLT5yZXBvLCAmZHMtPmNhbmRpZGF0ZSwgZHMtPmNiX2RhdGEpOwogCQlkcy0+ZGlzYW1iaWd1YXRlX2ZuX3VzZWQgPSAxOwogCQlkcy0+Y2FuZGlkYXRlX2NoZWNrZWQgPSAxOwogCX0KQEAgLTcxLDcgKzczLDcgQEAKIAl9CiAKIAkvKiBpZiB3ZSByZWFjaCB0aGlzIHBvaW50LCB3ZSBrbm93IGRzLT5jYW5kaWRhdGUgc2F0aXNmaWVzIGZuICovCi0JaWYgKGRzLT5mbihjdXJyZW50LCBkcy0+Y2JfZGF0YSkpIHsKKwlpZiAoZHMtPmZuKGRzLT5yZXBvLCBjdXJyZW50LCBkcy0+Y2JfZGF0YSkpIHsKIAkJLyoKIAkJICogaWYgYm90aCBjdXJyZW50IGFuZCBjYW5kaWRhdGUgc2F0aXNmeSBmbiwgd2UgY2Fubm90CiAJCSAqIGRpc2FtYmlndWF0ZS4KQEAgLTgzLDUxICs4NSwyMyBAQAogCS8qIG90aGVyd2lzZSwgY3VycmVudCBjYW4gYmUgZGlzY2FyZGVkIGFuZCBjYW5kaWRhdGUgaXMgc3RpbGwgZ29vZCAqLwogfQogCi1zdGF0aWMgaW50IGFwcGVuZF9sb29zZV9vYmplY3QoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBjb25zdCBjaGFyICpwYXRoLAotCQkJICAgICAgIHZvaWQgKmRhdGEpCi17Ci0Jb2lkX2FycmF5X2FwcGVuZChkYXRhLCBvaWQpOwotCXJldHVybiAwOwotfQotCiBzdGF0aWMgaW50IG1hdGNoX3NoYSh1bnNpZ25lZCwgY29uc3QgdW5zaWduZWQgY2hhciAqLCBjb25zdCB1bnNpZ25lZCBjaGFyICopOwogCiBzdGF0aWMgdm9pZCBmaW5kX3Nob3J0X29iamVjdF9maWxlbmFtZShzdHJ1Y3QgZGlzYW1iaWd1YXRlX3N0YXRlICpkcykKIHsKLQlpbnQgc3ViZGlyX25yID0gZHMtPmJpbl9wZnguaGFzaFswXTsKLQlzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqYWx0OwotCXN0YXRpYyBzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqZmFrZWVudDsKKwlzdHJ1Y3Qgb2JqZWN0X2RpcmVjdG9yeSAqb2RiOwogCi0JaWYgKCFmYWtlZW50KSB7Ci0JCS8qCi0JCSAqIENyZWF0ZSBhICJmYWtlIiBhbHRlcm5hdGUgb2JqZWN0IGRhdGFiYXNlIHRoYXQKLQkJICogcG9pbnRzIHRvIG91ciBvd24gb2JqZWN0IGRhdGFiYXNlLCB0byBtYWtlIGl0Ci0JCSAqIGVhc2llciB0byBnZXQgYSB0ZW1wb3Jhcnkgd29ya2luZyBzcGFjZSBpbgotCQkgKiBhbHQtPm5hbWUvYWx0LT5iYXNlIHdoaWxlIGl0ZXJhdGluZyBvdmVyIHRoZQotCQkgKiBvYmplY3QgZGF0YWJhc2VzIGluY2x1ZGluZyBvdXIgb3duLgotCQkgKi8KLQkJZmFrZWVudCA9IGFsbG9jX2FsdF9vZGIoZ2V0X29iamVjdF9kaXJlY3RvcnkoKSk7Ci0JfQotCWZha2VlbnQtPm5leHQgPSB0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cy0+YWx0X29kYl9saXN0OwotCi0JZm9yIChhbHQgPSBmYWtlZW50OyBhbHQgJiYgIWRzLT5hbWJpZ3VvdXM7IGFsdCA9IGFsdC0+bmV4dCkgeworCWZvciAob2RiID0gZHMtPnJlcG8tPm9iamVjdHMtPm9kYjsgb2RiICYmICFkcy0+YW1iaWd1b3VzOyBvZGIgPSBvZGItPm5leHQpIHsKIAkJaW50IHBvczsKKwkJc3RydWN0IG9pZF9hcnJheSAqbG9vc2Vfb2JqZWN0czsKIAotCQlpZiAoIWFsdC0+bG9vc2Vfb2JqZWN0c19zdWJkaXJfc2VlbltzdWJkaXJfbnJdKSB7Ci0JCQlzdHJ1Y3Qgc3RyYnVmICpidWYgPSBhbHRfc2NyYXRjaF9idWYoYWx0KTsKLQkJCWZvcl9lYWNoX2ZpbGVfaW5fb2JqX3N1YmRpcihzdWJkaXJfbnIsIGJ1ZiwKLQkJCQkJCSAgICBhcHBlbmRfbG9vc2Vfb2JqZWN0LAotCQkJCQkJICAgIE5VTEwsIE5VTEwsCi0JCQkJCQkgICAgJmFsdC0+bG9vc2Vfb2JqZWN0c19jYWNoZSk7Ci0JCQlhbHQtPmxvb3NlX29iamVjdHNfc3ViZGlyX3NlZW5bc3ViZGlyX25yXSA9IDE7Ci0JCX0KLQotCQlwb3MgPSBvaWRfYXJyYXlfbG9va3VwKCZhbHQtPmxvb3NlX29iamVjdHNfY2FjaGUsICZkcy0+YmluX3BmeCk7CisJCWxvb3NlX29iamVjdHMgPSBvZGJfbG9vc2VfY2FjaGUob2RiLCAmZHMtPmJpbl9wZngpOworCQlwb3MgPSBvaWRfYXJyYXlfbG9va3VwKGxvb3NlX29iamVjdHMsICZkcy0+YmluX3BmeCk7CiAJCWlmIChwb3MgPCAwKQogCQkJcG9zID0gLTEgLSBwb3M7Ci0JCXdoaWxlICghZHMtPmFtYmlndW91cyAmJiBwb3MgPCBhbHQtPmxvb3NlX29iamVjdHNfY2FjaGUubnIpIHsKKwkJd2hpbGUgKCFkcy0+YW1iaWd1b3VzICYmIHBvcyA8IGxvb3NlX29iamVjdHMtPm5yKSB7CiAJCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQ7Ci0JCQlvaWQgPSBhbHQtPmxvb3NlX29iamVjdHNfY2FjaGUub2lkICsgcG9zOworCQkJb2lkID0gbG9vc2Vfb2JqZWN0cy0+b2lkICsgcG9zOwogCQkJaWYgKCFtYXRjaF9zaGEoZHMtPmxlbiwgZHMtPmJpbl9wZnguaGFzaCwgb2lkLT5oYXNoKSkKIAkJCQlicmVhazsKIAkJCXVwZGF0ZV9jYW5kaWRhdGVzKGRzLCBvaWQpOwpAQCAtMTgxLDcgKzE1NSw5IEBACiAJCQkgICBzdHJ1Y3QgZGlzYW1iaWd1YXRlX3N0YXRlICpkcykKIHsKIAl1aW50MzJfdCBudW0sIGksIGZpcnN0ID0gMDsKLQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpjdXJyZW50ID0gTlVMTDsKKworCWlmIChwLT5tdWx0aV9wYWNrX2luZGV4KQorCQlyZXR1cm47CiAKIAlpZiAob3Blbl9wYWNrX2luZGV4KHApIHx8ICFwLT5udW1fb2JqZWN0cykKIAkJcmV0dXJuOwpAQCAtMTk2LDEwICsxNzIsMTAgQEAKIAkgKi8KIAlmb3IgKGkgPSBmaXJzdDsgaSA8IG51bSAmJiAhZHMtPmFtYmlndW91czsgaSsrKSB7CiAJCXN0cnVjdCBvYmplY3RfaWQgb2lkOwotCQljdXJyZW50ID0gbnRoX3BhY2tlZF9vYmplY3Rfb2lkKCZvaWQsIHAsIGkpOwotCQlpZiAoIW1hdGNoX3NoYShkcy0+bGVuLCBkcy0+YmluX3BmeC5oYXNoLCBjdXJyZW50LT5oYXNoKSkKKwkJbnRoX3BhY2tlZF9vYmplY3RfaWQoJm9pZCwgcCwgaSk7CisJCWlmICghbWF0Y2hfc2hhKGRzLT5sZW4sIGRzLT5iaW5fcGZ4Lmhhc2gsIG9pZC5oYXNoKSkKIAkJCWJyZWFrOwotCQl1cGRhdGVfY2FuZGlkYXRlcyhkcywgY3VycmVudCk7CisJCXVwZGF0ZV9jYW5kaWRhdGVzKGRzLCAmb2lkKTsKIAl9CiB9CiAKQEAgLTIwOCwxNyArMTg0LDE0IEBACiAJc3RydWN0IG11bHRpX3BhY2tfaW5kZXggKm07CiAJc3RydWN0IHBhY2tlZF9naXQgKnA7CiAKLQlmb3IgKG0gPSBnZXRfbXVsdGlfcGFja19pbmRleCh0aGVfcmVwb3NpdG9yeSk7IG0gJiYgIWRzLT5hbWJpZ3VvdXM7CisJZm9yIChtID0gZ2V0X211bHRpX3BhY2tfaW5kZXgoZHMtPnJlcG8pOyBtICYmICFkcy0+YW1iaWd1b3VzOwogCSAgICAgbSA9IG0tPm5leHQpCiAJCXVuaXF1ZV9pbl9taWR4KG0sIGRzKTsKLQlmb3IgKHAgPSBnZXRfcGFja2VkX2dpdCh0aGVfcmVwb3NpdG9yeSk7IHAgJiYgIWRzLT5hbWJpZ3VvdXM7CisJZm9yIChwID0gZ2V0X3BhY2tlZF9naXQoZHMtPnJlcG8pOyBwICYmICFkcy0+YW1iaWd1b3VzOwogCSAgICAgcCA9IHAtPm5leHQpCiAJCXVuaXF1ZV9pbl9wYWNrKHAsIGRzKTsKIH0KIAotI2RlZmluZSBTSE9SVF9OQU1FX05PVF9GT1VORCAoLTEpCi0jZGVmaW5lIFNIT1JUX05BTUVfQU1CSUdVT1VTICgtMikKLQogc3RhdGljIGludCBmaW5pc2hfb2JqZWN0X2Rpc2FtYmlndWF0aW9uKHN0cnVjdCBkaXNhbWJpZ3VhdGVfc3RhdGUgKmRzLAogCQkJCQlzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7CkBAIC0yMjYsNyArMTk5LDcgQEAKIAkJcmV0dXJuIFNIT1JUX05BTUVfQU1CSUdVT1VTOwogCiAJaWYgKCFkcy0+Y2FuZGlkYXRlX2V4aXN0cykKLQkJcmV0dXJuIFNIT1JUX05BTUVfTk9UX0ZPVU5EOworCQlyZXR1cm4gTUlTU0lOR19PQkpFQ1Q7CiAKIAlpZiAoIWRzLT5jYW5kaWRhdGVfY2hlY2tlZCkKIAkJLyoKQEAgLTI0NCw3ICsyMTcsNyBAQAogCQkgKiBzYW1lIHJlcG9zaXRvcnkhCiAJCSAqLwogCQlkcy0+Y2FuZGlkYXRlX29rID0gKCFkcy0+ZGlzYW1iaWd1YXRlX2ZuX3VzZWQgfHwKLQkJCQkgICAgZHMtPmZuKCZkcy0+Y2FuZGlkYXRlLCBkcy0+Y2JfZGF0YSkpOworCQkJCSAgICBkcy0+Zm4oZHMtPnJlcG8sICZkcy0+Y2FuZGlkYXRlLCBkcy0+Y2JfZGF0YSkpOwogCiAJaWYgKCFkcy0+Y2FuZGlkYXRlX29rKQogCQlyZXR1cm4gU0hPUlRfTkFNRV9BTUJJR1VPVVM7CkBAIC0yNTMsNTkgKzIyNiw2NyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGRpc2FtYmlndWF0ZV9jb21taXRfb25seShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHZvaWQgKmNiX2RhdGFfdW51c2VkKQorc3RhdGljIGludCBkaXNhbWJpZ3VhdGVfY29tbWl0X29ubHkoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCQkgICAgdm9pZCAqY2JfZGF0YV91bnVzZWQpCiB7Ci0JaW50IGtpbmQgPSBvaWRfb2JqZWN0X2luZm8odGhlX3JlcG9zaXRvcnksIG9pZCwgTlVMTCk7CisJaW50IGtpbmQgPSBvaWRfb2JqZWN0X2luZm8ociwgb2lkLCBOVUxMKTsKIAlyZXR1cm4ga2luZCA9PSBPQkpfQ09NTUlUOwogfQogCi1zdGF0aWMgaW50IGRpc2FtYmlndWF0ZV9jb21taXR0aXNoX29ubHkoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLCB2b2lkICpjYl9kYXRhX3VudXNlZCkKK3N0YXRpYyBpbnQgZGlzYW1iaWd1YXRlX2NvbW1pdHRpc2hfb25seShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJCQl2b2lkICpjYl9kYXRhX3VudXNlZCkKIHsKIAlzdHJ1Y3Qgb2JqZWN0ICpvYmo7CiAJaW50IGtpbmQ7CiAKLQlraW5kID0gb2lkX29iamVjdF9pbmZvKHRoZV9yZXBvc2l0b3J5LCBvaWQsIE5VTEwpOworCWtpbmQgPSBvaWRfb2JqZWN0X2luZm8ociwgb2lkLCBOVUxMKTsKIAlpZiAoa2luZCA9PSBPQkpfQ09NTUlUKQogCQlyZXR1cm4gMTsKIAlpZiAoa2luZCAhPSBPQkpfVEFHKQogCQlyZXR1cm4gMDsKIAogCS8qIFdlIG5lZWQgdG8gZG8gdGhpcyB0aGUgaGFyZCB3YXkuLi4gKi8KLQlvYmogPSBkZXJlZl90YWcodGhlX3JlcG9zaXRvcnksIHBhcnNlX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgb2lkKSwKLQkJCU5VTEwsIDApOworCW9iaiA9IGRlcmVmX3RhZyhyLCBwYXJzZV9vYmplY3Qociwgb2lkKSwgTlVMTCwgMCk7CiAJaWYgKG9iaiAmJiBvYmotPnR5cGUgPT0gT0JKX0NPTU1JVCkKIAkJcmV0dXJuIDE7CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZGlzYW1iaWd1YXRlX3RyZWVfb25seShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHZvaWQgKmNiX2RhdGFfdW51c2VkKQorc3RhdGljIGludCBkaXNhbWJpZ3VhdGVfdHJlZV9vbmx5KHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJCSAgdm9pZCAqY2JfZGF0YV91bnVzZWQpCiB7Ci0JaW50IGtpbmQgPSBvaWRfb2JqZWN0X2luZm8odGhlX3JlcG9zaXRvcnksIG9pZCwgTlVMTCk7CisJaW50IGtpbmQgPSBvaWRfb2JqZWN0X2luZm8ociwgb2lkLCBOVUxMKTsKIAlyZXR1cm4ga2luZCA9PSBPQkpfVFJFRTsKIH0KIAotc3RhdGljIGludCBkaXNhbWJpZ3VhdGVfdHJlZWlzaF9vbmx5KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgdm9pZCAqY2JfZGF0YV91bnVzZWQpCitzdGF0aWMgaW50IGRpc2FtYmlndWF0ZV90cmVlaXNoX29ubHkoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkJICAgICB2b2lkICpjYl9kYXRhX3VudXNlZCkKIHsKIAlzdHJ1Y3Qgb2JqZWN0ICpvYmo7CiAJaW50IGtpbmQ7CiAKLQlraW5kID0gb2lkX29iamVjdF9pbmZvKHRoZV9yZXBvc2l0b3J5LCBvaWQsIE5VTEwpOworCWtpbmQgPSBvaWRfb2JqZWN0X2luZm8ociwgb2lkLCBOVUxMKTsKIAlpZiAoa2luZCA9PSBPQkpfVFJFRSB8fCBraW5kID09IE9CSl9DT01NSVQpCiAJCXJldHVybiAxOwogCWlmIChraW5kICE9IE9CSl9UQUcpCiAJCXJldHVybiAwOwogCiAJLyogV2UgbmVlZCB0byBkbyB0aGlzIHRoZSBoYXJkIHdheS4uLiAqLwotCW9iaiA9IGRlcmVmX3RhZyh0aGVfcmVwb3NpdG9yeSwgcGFyc2Vfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCBvaWQpLAotCQkJTlVMTCwgMCk7CisJb2JqID0gZGVyZWZfdGFnKHIsIHBhcnNlX29iamVjdChyLCBvaWQpLCBOVUxMLCAwKTsKIAlpZiAob2JqICYmIChvYmotPnR5cGUgPT0gT0JKX1RSRUUgfHwgb2JqLT50eXBlID09IE9CSl9DT01NSVQpKQogCQlyZXR1cm4gMTsKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBkaXNhbWJpZ3VhdGVfYmxvYl9vbmx5KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgdm9pZCAqY2JfZGF0YV91bnVzZWQpCitzdGF0aWMgaW50IGRpc2FtYmlndWF0ZV9ibG9iX29ubHkoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkJICB2b2lkICpjYl9kYXRhX3VudXNlZCkKIHsKLQlpbnQga2luZCA9IG9pZF9vYmplY3RfaW5mbyh0aGVfcmVwb3NpdG9yeSwgb2lkLCBOVUxMKTsKKwlpbnQga2luZCA9IG9pZF9vYmplY3RfaW5mbyhyLCBvaWQsIE5VTEwpOwogCXJldHVybiBraW5kID09IE9CSl9CTE9COwogfQogCkBAIC0zMzksNyArMzIwLDggQEAKIAlyZXR1cm4gZXJyb3IoInVua25vd24gaGludCB0eXBlIGZvciAnJXMnOiAlcyIsIHZhciwgdmFsdWUpOwogfQogCi1zdGF0aWMgaW50IGluaXRfb2JqZWN0X2Rpc2FtYmlndWF0aW9uKGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4sCitzdGF0aWMgaW50IGluaXRfb2JqZWN0X2Rpc2FtYmlndWF0aW9uKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4sCiAJCQkJICAgICAgc3RydWN0IGRpc2FtYmlndWF0ZV9zdGF0ZSAqZHMpCiB7CiAJaW50IGk7CkBAIC0zNzAsNyArMzUyLDggQEAKIAogCWRzLT5sZW4gPSBsZW47CiAJZHMtPmhleF9wZnhbbGVuXSA9ICdcMCc7Ci0JcHJlcGFyZV9hbHRfb2RiKHRoZV9yZXBvc2l0b3J5KTsKKwlkcy0+cmVwbyA9IHI7CisJcHJlcGFyZV9hbHRfb2RiKHIpOwogCXJldHVybiAwOwogfQogCkBAIC0zODAsMjUgKzM2MywyNSBAQAogCXN0cnVjdCBzdHJidWYgZGVzYyA9IFNUUkJVRl9JTklUOwogCWludCB0eXBlOwogCi0JaWYgKGRzLT5mbiAmJiAhZHMtPmZuKG9pZCwgZHMtPmNiX2RhdGEpKQorCWlmIChkcy0+Zm4gJiYgIWRzLT5mbihkcy0+cmVwbywgb2lkLCBkcy0+Y2JfZGF0YSkpCiAJCXJldHVybiAwOwogCi0JdHlwZSA9IG9pZF9vYmplY3RfaW5mbyh0aGVfcmVwb3NpdG9yeSwgb2lkLCBOVUxMKTsKKwl0eXBlID0gb2lkX29iamVjdF9pbmZvKGRzLT5yZXBvLCBvaWQsIE5VTEwpOwogCWlmICh0eXBlID09IE9CSl9DT01NSVQpIHsKLQkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gbG9va3VwX2NvbW1pdCh0aGVfcmVwb3NpdG9yeSwgb2lkKTsKKwkJc3RydWN0IGNvbW1pdCAqY29tbWl0ID0gbG9va3VwX2NvbW1pdChkcy0+cmVwbywgb2lkKTsKIAkJaWYgKGNvbW1pdCkgewogCQkJc3RydWN0IHByZXR0eV9wcmludF9jb250ZXh0IHBwID0gezB9OwogCQkJcHAuZGF0ZV9tb2RlLnR5cGUgPSBEQVRFX1NIT1JUOwogCQkJZm9ybWF0X2NvbW1pdF9tZXNzYWdlKGNvbW1pdCwgIiAlYWQgLSAlcyIsICZkZXNjLCAmcHApOwogCQl9CiAJfSBlbHNlIGlmICh0eXBlID09IE9CSl9UQUcpIHsKLQkJc3RydWN0IHRhZyAqdGFnID0gbG9va3VwX3RhZyh0aGVfcmVwb3NpdG9yeSwgb2lkKTsKKwkJc3RydWN0IHRhZyAqdGFnID0gbG9va3VwX3RhZyhkcy0+cmVwbywgb2lkKTsKIAkJaWYgKCFwYXJzZV90YWcodGFnKSAmJiB0YWctPnRhZykKIAkJCXN0cmJ1Zl9hZGRmKCZkZXNjLCAiICVzIiwgdGFnLT50YWcpOwogCX0KIAogCWFkdmlzZSgiICAlcyAlcyVzIiwKLQkgICAgICAgZmluZF91bmlxdWVfYWJicmV2KG9pZCwgREVGQVVMVF9BQkJSRVYpLAorCSAgICAgICByZXBvX2ZpbmRfdW5pcXVlX2FiYnJldihkcy0+cmVwbywgb2lkLCBERUZBVUxUX0FCQlJFViksCiAJICAgICAgIHR5cGVfbmFtZSh0eXBlKSA/IHR5cGVfbmFtZSh0eXBlKSA6ICJ1bmtub3duIHR5cGUiLAogCSAgICAgICBkZXNjLmJ1Zik7CiAKQEAgLTQxMiwxMCArMzk1LDE4IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgc29ydF9hbWJpZ3VvdXMoY29uc3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAqYikKK3N0YXRpYyBpbnQgcmVwb19jb2xsZWN0X2FtYmlndW91cyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJCQkgIHZvaWQgKmRhdGEpCiB7Ci0JaW50IGFfdHlwZSA9IG9pZF9vYmplY3RfaW5mbyh0aGVfcmVwb3NpdG9yeSwgYSwgTlVMTCk7Ci0JaW50IGJfdHlwZSA9IG9pZF9vYmplY3RfaW5mbyh0aGVfcmVwb3NpdG9yeSwgYiwgTlVMTCk7CisJcmV0dXJuIGNvbGxlY3RfYW1iaWd1b3VzKG9pZCwgZGF0YSk7Cit9CisKK3N0YXRpYyBpbnQgc29ydF9hbWJpZ3VvdXMoY29uc3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAqYiwgdm9pZCAqY3R4KQoreworCXN0cnVjdCByZXBvc2l0b3J5ICpzb3J0X2FtYmlndW91c19yZXBvID0gY3R4OworCWludCBhX3R5cGUgPSBvaWRfb2JqZWN0X2luZm8oc29ydF9hbWJpZ3VvdXNfcmVwbywgYSwgTlVMTCk7CisJaW50IGJfdHlwZSA9IG9pZF9vYmplY3RfaW5mbyhzb3J0X2FtYmlndW91c19yZXBvLCBiLCBOVUxMKTsKIAlpbnQgYV90eXBlX3NvcnQ7CiAJaW50IGJfdHlwZV9zb3J0OwogCkBAIC00NDAsMTQgKzQzMSwyMSBAQAogCXJldHVybiBhX3R5cGVfc29ydCA+IGJfdHlwZV9zb3J0ID8gMSA6IC0xOwogfQogCi1zdGF0aWMgaW50IGdldF9zaG9ydF9vaWQoY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbiwgc3RydWN0IG9iamVjdF9pZCAqb2lkLAotCQkJICB1bnNpZ25lZCBmbGFncykKK3N0YXRpYyB2b2lkIHNvcnRfYW1iaWd1b3VzX29pZF9hcnJheShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IG9pZF9hcnJheSAqYSkKK3sKKwlRU09SVF9TKGEtPm9pZCwgYS0+bnIsIHNvcnRfYW1iaWd1b3VzLCByKTsKK30KKworc3RhdGljIGVudW0gZ2V0X29pZF9yZXN1bHQgZ2V0X3Nob3J0X29pZChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkJIGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4sCisJCQkJCSBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkJCSB1bnNpZ25lZCBmbGFncykKIHsKIAlpbnQgc3RhdHVzOwogCXN0cnVjdCBkaXNhbWJpZ3VhdGVfc3RhdGUgZHM7CiAJaW50IHF1aWV0bHkgPSAhIShmbGFncyAmIEdFVF9PSURfUVVJRVRMWSk7CiAKLQlpZiAoaW5pdF9vYmplY3RfZGlzYW1iaWd1YXRpb24obmFtZSwgbGVuLCAmZHMpIDwgMCkKKwlpZiAoaW5pdF9vYmplY3RfZGlzYW1iaWd1YXRpb24ociwgbmFtZSwgbGVuLCAmZHMpIDwgMCkKIAkJcmV0dXJuIC0xOwogCiAJaWYgKEhBU19NVUxUSV9CSVRTKGZsYWdzICYgR0VUX09JRF9ESVNBTUJJR1VBVE9SUykpCkBAIC00NzAsNiArNDY4LDE4IEBACiAJZmluZF9zaG9ydF9wYWNrZWRfb2JqZWN0KCZkcyk7CiAJc3RhdHVzID0gZmluaXNoX29iamVjdF9kaXNhbWJpZ3VhdGlvbigmZHMsIG9pZCk7CiAKKwkvKgorCSAqIElmIHdlIGRpZG4ndCBmaW5kIGl0LCBkbyB0aGUgdXN1YWwgcmVwcmVwYXJlKCkgc2xvdy1wYXRoLAorCSAqIHNpbmNlIHRoZSBvYmplY3QgbWF5IGhhdmUgcmVjZW50bHkgYmVlbiBhZGRlZCB0byB0aGUgcmVwb3NpdG9yeQorCSAqIG9yIG1pZ3JhdGVkIGZyb20gbG9vc2UgdG8gcGFja2VkLgorCSAqLworCWlmIChzdGF0dXMgPT0gTUlTU0lOR19PQkpFQ1QpIHsKKwkJcmVwcmVwYXJlX3BhY2tlZF9naXQocik7CisJCWZpbmRfc2hvcnRfb2JqZWN0X2ZpbGVuYW1lKCZkcyk7CisJCWZpbmRfc2hvcnRfcGFja2VkX29iamVjdCgmZHMpOworCQlzdGF0dXMgPSBmaW5pc2hfb2JqZWN0X2Rpc2FtYmlndWF0aW9uKCZkcywgb2lkKTsKKwl9CisKIAlpZiAoIXF1aWV0bHkgJiYgKHN0YXR1cyA9PSBTSE9SVF9OQU1FX0FNQklHVU9VUykpIHsKIAkJc3RydWN0IG9pZF9hcnJheSBjb2xsZWN0ID0gT0lEX0FSUkFZX0lOSVQ7CiAKQEAgLTQ4NSw4ICs0OTUsOCBAQAogCQkJZHMuZm4gPSBOVUxMOwogCiAJCWFkdmlzZShfKCJUaGUgY2FuZGlkYXRlcyBhcmU6IikpOwotCQlmb3JfZWFjaF9hYmJyZXYoZHMuaGV4X3BmeCwgY29sbGVjdF9hbWJpZ3VvdXMsICZjb2xsZWN0KTsKLQkJUVNPUlQoY29sbGVjdC5vaWQsIGNvbGxlY3QubnIsIHNvcnRfYW1iaWd1b3VzKTsKKwkJcmVwb19mb3JfZWFjaF9hYmJyZXYociwgZHMuaGV4X3BmeCwgY29sbGVjdF9hbWJpZ3VvdXMsICZjb2xsZWN0KTsKKwkJc29ydF9hbWJpZ3VvdXNfb2lkX2FycmF5KHIsICZjb2xsZWN0KTsKIAogCQlpZiAob2lkX2FycmF5X2Zvcl9lYWNoKCZjb2xsZWN0LCBzaG93X2FtYmlndW91c19vYmplY3QsICZkcykpCiAJCQlCVUcoInNob3dfYW1iaWd1b3VzX29iamVjdCBzaG91bGRuJ3QgcmV0dXJuIG5vbi16ZXJvIik7CkBAIC00OTYsMTcgKzUwNiwxOCBAQAogCXJldHVybiBzdGF0dXM7CiB9CiAKLWludCBmb3JfZWFjaF9hYmJyZXYoY29uc3QgY2hhciAqcHJlZml4LCBlYWNoX2FiYnJldl9mbiBmbiwgdm9pZCAqY2JfZGF0YSkKK2ludCByZXBvX2Zvcl9lYWNoX2FiYnJldihzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqcHJlZml4LAorCQkJIGVhY2hfYWJicmV2X2ZuIGZuLCB2b2lkICpjYl9kYXRhKQogewogCXN0cnVjdCBvaWRfYXJyYXkgY29sbGVjdCA9IE9JRF9BUlJBWV9JTklUOwogCXN0cnVjdCBkaXNhbWJpZ3VhdGVfc3RhdGUgZHM7CiAJaW50IHJldDsKIAotCWlmIChpbml0X29iamVjdF9kaXNhbWJpZ3VhdGlvbihwcmVmaXgsIHN0cmxlbihwcmVmaXgpLCAmZHMpIDwgMCkKKwlpZiAoaW5pdF9vYmplY3RfZGlzYW1iaWd1YXRpb24ociwgcHJlZml4LCBzdHJsZW4ocHJlZml4KSwgJmRzKSA8IDApCiAJCXJldHVybiAtMTsKIAogCWRzLmFsd2F5c19jYWxsX2ZuID0gMTsKLQlkcy5mbiA9IGNvbGxlY3RfYW1iaWd1b3VzOworCWRzLmZuID0gcmVwb19jb2xsZWN0X2FtYmlndW91czsKIAlkcy5jYl9kYXRhID0gJmNvbGxlY3Q7CiAJZmluZF9zaG9ydF9vYmplY3RfZmlsZW5hbWUoJmRzKTsKIAlmaW5kX3Nob3J0X3BhY2tlZF9vYmplY3QoJmRzKTsKQEAgLTUzMyw2ICs1NDQsNyBAQAogCXVuc2lnbmVkIGludCBpbml0X2xlbjsKIAl1bnNpZ25lZCBpbnQgY3VyX2xlbjsKIAljaGFyICpoZXg7CisJc3RydWN0IHJlcG9zaXRvcnkgKnJlcG87CiAJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkOwogfTsKIApAQCAtNTYxLDYgKzU3MywxMyBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IHJlcG9fZXh0ZW5kX2FiYnJldl9sZW4oc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkJICB2b2lkICpjYl9kYXRhKQoreworCXJldHVybiBleHRlbmRfYWJicmV2X2xlbihvaWQsIGNiX2RhdGEpOworfQorCiBzdGF0aWMgdm9pZCBmaW5kX2FiYnJldl9sZW5fZm9yX21pZHgoc3RydWN0IG11bHRpX3BhY2tfaW5kZXggKm0sCiAJCQkJICAgICBzdHJ1Y3QgbWluX2FiYnJldl9kYXRhICptYWQpCiB7CkBAIC02MDUsNiArNjI0LDkgQEAKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICptYWRfb2lkOwogCisJaWYgKHAtPm11bHRpX3BhY2tfaW5kZXgpCisJCXJldHVybjsKKwogCWlmIChvcGVuX3BhY2tfaW5kZXgocCkgfHwgIXAtPm51bV9vYmplY3RzKQogCQlyZXR1cm47CiAKQEAgLTYyMCwxNCArNjQyLDE0IEBACiAJICovCiAJbWFkLT5pbml0X2xlbiA9IDA7CiAJaWYgKCFtYXRjaCkgewotCQlpZiAobnRoX3BhY2tlZF9vYmplY3Rfb2lkKCZvaWQsIHAsIGZpcnN0KSkKKwkJaWYgKCFudGhfcGFja2VkX29iamVjdF9pZCgmb2lkLCBwLCBmaXJzdCkpCiAJCQlleHRlbmRfYWJicmV2X2xlbigmb2lkLCBtYWQpOwogCX0gZWxzZSBpZiAoZmlyc3QgPCBudW0gLSAxKSB7Ci0JCWlmIChudGhfcGFja2VkX29iamVjdF9vaWQoJm9pZCwgcCwgZmlyc3QgKyAxKSkKKwkJaWYgKCFudGhfcGFja2VkX29iamVjdF9pZCgmb2lkLCBwLCBmaXJzdCArIDEpKQogCQkJZXh0ZW5kX2FiYnJldl9sZW4oJm9pZCwgbWFkKTsKIAl9CiAJaWYgKGZpcnN0ID4gMCkgewotCQlpZiAobnRoX3BhY2tlZF9vYmplY3Rfb2lkKCZvaWQsIHAsIGZpcnN0IC0gMSkpCisJCWlmICghbnRoX3BhY2tlZF9vYmplY3RfaWQoJm9pZCwgcCwgZmlyc3QgLSAxKSkKIAkJCWV4dGVuZF9hYmJyZXZfbGVuKCZvaWQsIG1hZCk7CiAJfQogCW1hZC0+aW5pdF9sZW4gPSBtYWQtPmN1cl9sZW47CkBAIC02MzgsMjEgKzY2MCwyMiBAQAogCXN0cnVjdCBtdWx0aV9wYWNrX2luZGV4ICptOwogCXN0cnVjdCBwYWNrZWRfZ2l0ICpwOwogCi0JZm9yIChtID0gZ2V0X211bHRpX3BhY2tfaW5kZXgodGhlX3JlcG9zaXRvcnkpOyBtOyBtID0gbS0+bmV4dCkKKwlmb3IgKG0gPSBnZXRfbXVsdGlfcGFja19pbmRleChtYWQtPnJlcG8pOyBtOyBtID0gbS0+bmV4dCkKIAkJZmluZF9hYmJyZXZfbGVuX2Zvcl9taWR4KG0sIG1hZCk7Ci0JZm9yIChwID0gZ2V0X3BhY2tlZF9naXQodGhlX3JlcG9zaXRvcnkpOyBwOyBwID0gcC0+bmV4dCkKKwlmb3IgKHAgPSBnZXRfcGFja2VkX2dpdChtYWQtPnJlcG8pOyBwOyBwID0gcC0+bmV4dCkKIAkJZmluZF9hYmJyZXZfbGVuX2Zvcl9wYWNrKHAsIG1hZCk7CiB9CiAKLWludCBmaW5kX3VuaXF1ZV9hYmJyZXZfcihjaGFyICpoZXgsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgaW50IGxlbikKK2ludCByZXBvX2ZpbmRfdW5pcXVlX2FiYnJldl9yKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjaGFyICpoZXgsCisJCQkgICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIGludCBsZW4pCiB7CiAJc3RydWN0IGRpc2FtYmlndWF0ZV9zdGF0ZSBkczsKIAlzdHJ1Y3QgbWluX2FiYnJldl9kYXRhIG1hZDsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZF9yZXQ7Ci0JY29uc3QgdW5zaWduZWQgaGV4c3ogPSB0aGVfaGFzaF9hbGdvLT5oZXhzejsKKwljb25zdCB1bnNpZ25lZCBoZXhzeiA9IHItPmhhc2hfYWxnby0+aGV4c3o7CiAKIAlpZiAobGVuIDwgMCkgewotCQl1bnNpZ25lZCBsb25nIGNvdW50ID0gYXBwcm94aW1hdGVfb2JqZWN0X2NvdW50KCk7CisJCXVuc2lnbmVkIGxvbmcgY291bnQgPSByZXBvX2FwcHJveGltYXRlX29iamVjdF9jb3VudChyKTsKIAkJLyoKIAkJICogQWRkIG9uZSBiZWNhdXNlIHRoZSBNU0Igb25seSB0ZWxscyB1cyB0aGUgaGlnaGVzdCBiaXQgc2V0LAogCQkgKiBub3QgaW5jbHVkaW5nIHRoZSB2YWx1ZSBvZiBhbGwgdGhlIF9vdGhlcl8gYml0cyAoc28gIjE1IgpAQCAtNjc3LDYgKzcwMCw3IEBACiAJaWYgKGxlbiA9PSBoZXhzeiB8fCAhbGVuKQogCQlyZXR1cm4gaGV4c3o7CiAKKwltYWQucmVwbyA9IHI7CiAJbWFkLmluaXRfbGVuID0gbGVuOwogCW1hZC5jdXJfbGVuID0gbGVuOwogCW1hZC5oZXggPSBoZXg7CkBAIC02ODQsMTAgKzcwOCwxMCBAQAogCiAJZmluZF9hYmJyZXZfbGVuX3BhY2tlZCgmbWFkKTsKIAotCWlmIChpbml0X29iamVjdF9kaXNhbWJpZ3VhdGlvbihoZXgsIG1hZC5jdXJfbGVuLCAmZHMpIDwgMCkKKwlpZiAoaW5pdF9vYmplY3RfZGlzYW1iaWd1YXRpb24ociwgaGV4LCBtYWQuY3VyX2xlbiwgJmRzKSA8IDApCiAJCXJldHVybiAtMTsKIAotCWRzLmZuID0gZXh0ZW5kX2FiYnJldl9sZW47CisJZHMuZm4gPSByZXBvX2V4dGVuZF9hYmJyZXZfbGVuOwogCWRzLmFsd2F5c19jYWxsX2ZuID0gMTsKIAlkcy5jYl9kYXRhID0gKHZvaWQgKikmbWFkOwogCkBAIC02OTgsMTMgKzcyMiwxNSBAQAogCXJldHVybiBtYWQuY3VyX2xlbjsKIH0KIAotY29uc3QgY2hhciAqZmluZF91bmlxdWVfYWJicmV2KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgaW50IGxlbikKK2NvbnN0IGNoYXIgKnJlcG9fZmluZF91bmlxdWVfYWJicmV2KHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkJICAgIGludCBsZW4pCiB7CiAJc3RhdGljIGludCBidWZubzsKIAlzdGF0aWMgY2hhciBoZXhidWZmZXJbNF1bR0lUX01BWF9IRVhTWiArIDFdOwogCWNoYXIgKmhleCA9IGhleGJ1ZmZlcltidWZub107CiAJYnVmbm8gPSAoYnVmbm8gKyAxKSAlIEFSUkFZX1NJWkUoaGV4YnVmZmVyKTsKLQlmaW5kX3VuaXF1ZV9hYmJyZXZfcihoZXgsIG9pZCwgbGVuKTsKKwlyZXBvX2ZpbmRfdW5pcXVlX2FiYnJldl9yKHIsIGhleCwgb2lkLCBsZW4pOwogCXJldHVybiBoZXg7CiB9CiAKQEAgLTc1OSwxMSArNzg1LDExIEBACiAJcmV0dXJuIGF0X21hcmsoc3RyaW5nLCBsZW4sIHN1ZmZpeCwgQVJSQVlfU0laRShzdWZmaXgpKTsKIH0KIAotc3RhdGljIGludCBnZXRfb2lkXzEoY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbiwgc3RydWN0IG9iamVjdF9pZCAqb2lkLCB1bnNpZ25lZCBsb29rdXBfZmxhZ3MpOwotc3RhdGljIGludCBpbnRlcnByZXRfbnRoX3ByaW9yX2NoZWNrb3V0KGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLCBzdHJ1Y3Qgc3RyYnVmICpidWYpOworc3RhdGljIGVudW0gZ2V0X29pZF9yZXN1bHQgZ2V0X29pZF8xKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHVuc2lnbmVkIGxvb2t1cF9mbGFncyk7CitzdGF0aWMgaW50IGludGVycHJldF9udGhfcHJpb3JfY2hlY2tvdXQoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLCBzdHJ1Y3Qgc3RyYnVmICpidWYpOwogCi1zdGF0aWMgaW50IGdldF9vaWRfYmFzaWMoY29uc3QgY2hhciAqc3RyLCBpbnQgbGVuLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCi0JCQkgIHVuc2lnbmVkIGludCBmbGFncykKK3N0YXRpYyBpbnQgZ2V0X29pZF9iYXNpYyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqc3RyLCBpbnQgbGVuLAorCQkJIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgdW5zaWduZWQgaW50IGZsYWdzKQogewogCXN0YXRpYyBjb25zdCBjaGFyICp3YXJuX21zZyA9ICJyZWZuYW1lICclLipzJyBpcyBhbWJpZ3VvdXMuIjsKIAlzdGF0aWMgY29uc3QgY2hhciAqb2JqZWN0X25hbWVfbXNnID0gTl8oCkBAIC03NzEsNyArNzk3LDcgQEAKIAkiYmVjYXVzZSBpdCB3aWxsIGJlIGlnbm9yZWQgd2hlbiB5b3UganVzdCBzcGVjaWZ5IDQwLWhleC4gVGhlc2UgcmVmc1xuIgogCSJtYXkgYmUgY3JlYXRlZCBieSBtaXN0YWtlLiBGb3IgZXhhbXBsZSxcbiIKIAkiXG4iCi0JIiAgZ2l0IGNoZWNrb3V0IC1iICRiciAkKGdpdCByZXYtcGFyc2UgLi4uKVxuIgorCSIgIGdpdCBzd2l0Y2ggLWMgJGJyICQoZ2l0IHJldi1wYXJzZSAuLi4pXG4iCiAJIlxuIgogCSJ3aGVyZSBcIiRiclwiIGlzIHNvbWVob3cgZW1wdHkgYW5kIGEgNDAtaGV4IHJlZiBpcyBjcmVhdGVkLiBQbGVhc2VcbiIKIAkiZXhhbWluZSB0aGVzZSByZWZzIGFuZCBtYXliZSBkZWxldGUgdGhlbS4gVHVybiB0aGlzIG1lc3NhZ2Ugb2ZmIGJ5XG4iCkBAIC03ODEsOSArODA3LDkgQEAKIAlpbnQgcmVmc19mb3VuZCA9IDA7CiAJaW50IGF0LCByZWZsb2dfbGVuLCBudGhfcHJpb3IgPSAwOwogCi0JaWYgKGxlbiA9PSB0aGVfaGFzaF9hbGdvLT5oZXhzeiAmJiAhZ2V0X29pZF9oZXgoc3RyLCBvaWQpKSB7CisJaWYgKGxlbiA9PSByLT5oYXNoX2FsZ28tPmhleHN6ICYmICFnZXRfb2lkX2hleChzdHIsIG9pZCkpIHsKIAkJaWYgKHdhcm5fYW1iaWd1b3VzX3JlZnMgJiYgd2Fybl9vbl9vYmplY3RfcmVmbmFtZV9hbWJpZ3VpdHkpIHsKLQkJCXJlZnNfZm91bmQgPSBkd2ltX3JlZihzdHIsIGxlbiwgJnRtcF9vaWQsICZyZWFsX3JlZik7CisJCQlyZWZzX2ZvdW5kID0gcmVwb19kd2ltX3JlZihyLCBzdHIsIGxlbiwgJnRtcF9vaWQsICZyZWFsX3JlZik7CiAJCQlpZiAocmVmc19mb3VuZCA+IDApIHsKIAkJCQl3YXJuaW5nKHdhcm5fbXNnLCBsZW4sIHN0cik7CiAJCQkJaWYgKGFkdmljZV9vYmplY3RfbmFtZV93YXJuaW5nKQpAQCAtODI0LDggKzg1MCw4IEBACiAJCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJCWludCBkZXRhY2hlZDsKIAotCQlpZiAoaW50ZXJwcmV0X250aF9wcmlvcl9jaGVja291dChzdHIsIGxlbiwgJmJ1ZikgPiAwKSB7Ci0JCQlkZXRhY2hlZCA9IChidWYubGVuID09IHRoZV9oYXNoX2FsZ28tPmhleHN6ICYmICFnZXRfb2lkX2hleChidWYuYnVmLCBvaWQpKTsKKwkJaWYgKGludGVycHJldF9udGhfcHJpb3JfY2hlY2tvdXQociwgc3RyLCBsZW4sICZidWYpID4gMCkgeworCQkJZGV0YWNoZWQgPSAoYnVmLmxlbiA9PSByLT5oYXNoX2FsZ28tPmhleHN6ICYmICFnZXRfb2lkX2hleChidWYuYnVmLCBvaWQpKTsKIAkJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogCQkJaWYgKGRldGFjaGVkKQogCQkJCXJldHVybiAwOwpAQCAtODM0LDE4ICs4NjAsMTggQEAKIAogCWlmICghbGVuICYmIHJlZmxvZ19sZW4pCiAJCS8qIGFsbG93ICJAey4uLn0iIHRvIG1lYW4gdGhlIGN1cnJlbnQgYnJhbmNoIHJlZmxvZyAqLwotCQlyZWZzX2ZvdW5kID0gZHdpbV9yZWYoIkhFQUQiLCA0LCBvaWQsICZyZWFsX3JlZik7CisJCXJlZnNfZm91bmQgPSByZXBvX2R3aW1fcmVmKHIsICJIRUFEIiwgNCwgb2lkLCAmcmVhbF9yZWYpOwogCWVsc2UgaWYgKHJlZmxvZ19sZW4pCi0JCXJlZnNfZm91bmQgPSBkd2ltX2xvZyhzdHIsIGxlbiwgb2lkLCAmcmVhbF9yZWYpOworCQlyZWZzX2ZvdW5kID0gcmVwb19kd2ltX2xvZyhyLCBzdHIsIGxlbiwgb2lkLCAmcmVhbF9yZWYpOwogCWVsc2UKLQkJcmVmc19mb3VuZCA9IGR3aW1fcmVmKHN0ciwgbGVuLCBvaWQsICZyZWFsX3JlZik7CisJCXJlZnNfZm91bmQgPSByZXBvX2R3aW1fcmVmKHIsIHN0ciwgbGVuLCBvaWQsICZyZWFsX3JlZik7CiAKIAlpZiAoIXJlZnNfZm91bmQpCiAJCXJldHVybiAtMTsKIAogCWlmICh3YXJuX2FtYmlndW91c19yZWZzICYmICEoZmxhZ3MgJiBHRVRfT0lEX1FVSUVUTFkpICYmCiAJICAgIChyZWZzX2ZvdW5kID4gMSB8fAotCSAgICAgIWdldF9zaG9ydF9vaWQoc3RyLCBsZW4sICZ0bXBfb2lkLCBHRVRfT0lEX1FVSUVUTFkpKSkKKwkgICAgICFnZXRfc2hvcnRfb2lkKHIsIHN0ciwgbGVuLCAmdG1wX29pZCwgR0VUX09JRF9RVUlFVExZKSkpCiAJCXdhcm5pbmcod2Fybl9tc2csIGxlbiwgc3RyKTsKIAogCWlmIChyZWZsb2dfbGVuKSB7CkBAIC04NzcsMjkgKzkwMywyNSBAQAogCQkJCXJldHVybiAtMTsKIAkJCX0KIAkJfQotCQlpZiAocmVhZF9yZWZfYXQocmVhbF9yZWYsIGZsYWdzLCBhdF90aW1lLCBudGgsIG9pZCwgTlVMTCwKKwkJaWYgKHJlYWRfcmVmX2F0KGdldF9tYWluX3JlZl9zdG9yZShyKSwKKwkJCQlyZWFsX3JlZiwgZmxhZ3MsIGF0X3RpbWUsIG50aCwgb2lkLCBOVUxMLAogCQkJCSZjb190aW1lLCAmY29fdHosICZjb19jbnQpKSB7CiAJCQlpZiAoIWxlbikgewotCQkJCWlmIChzdGFydHNfd2l0aChyZWFsX3JlZiwgInJlZnMvaGVhZHMvIikpIHsKLQkJCQkJc3RyID0gcmVhbF9yZWYgKyAxMTsKLQkJCQkJbGVuID0gc3RybGVuKHJlYWxfcmVmICsgMTEpOwotCQkJCX0gZWxzZSB7Ci0JCQkJCS8qIGRldGFjaGVkIEhFQUQgKi8KKwkJCQlpZiAoIXNraXBfcHJlZml4KHJlYWxfcmVmLCAicmVmcy9oZWFkcy8iLCAmc3RyKSkKIAkJCQkJc3RyID0gIkhFQUQiOwotCQkJCQlsZW4gPSA0OwotCQkJCX0KKwkJCQlsZW4gPSBzdHJsZW4oc3RyKTsKIAkJCX0KIAkJCWlmIChhdF90aW1lKSB7CiAJCQkJaWYgKCEoZmxhZ3MgJiBHRVRfT0lEX1FVSUVUTFkpKSB7Ci0JCQkJCXdhcm5pbmcoIkxvZyBmb3IgJyUuKnMnIG9ubHkgZ29lcyAiCi0JCQkJCQkiYmFjayB0byAlcy4iLCBsZW4sIHN0ciwKKwkJCQkJd2FybmluZyhfKCJsb2cgZm9yICclLipzJyBvbmx5IGdvZXMgYmFjayB0byAlcyIpLAorCQkJCQkJbGVuLCBzdHIsCiAJCQkJCQlzaG93X2RhdGUoY29fdGltZSwgY29fdHosIERBVEVfTU9ERShSRkMyODIyKSkpOwogCQkJCX0KIAkJCX0gZWxzZSB7CiAJCQkJaWYgKGZsYWdzICYgR0VUX09JRF9RVUlFVExZKSB7CiAJCQkJCWV4aXQoMTI4KTsKIAkJCQl9Ci0JCQkJZGllKCJMb2cgZm9yICclLipzJyBvbmx5IGhhcyAlZCBlbnRyaWVzLiIsCisJCQkJZGllKF8oImxvZyBmb3IgJyUuKnMnIG9ubHkgaGFzICVkIGVudHJpZXMiKSwKIAkJCQkgICAgbGVuLCBzdHIsIGNvX2NudCk7CiAJCQl9CiAJCX0KQEAgLTkwOSw3MSArOTMxLDc1IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZ2V0X3BhcmVudChjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuLAotCQkgICAgICBzdHJ1Y3Qgb2JqZWN0X2lkICpyZXN1bHQsIGludCBpZHgpCitzdGF0aWMgZW51bSBnZXRfb2lkX3Jlc3VsdCBnZXRfcGFyZW50KHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4sCisJCQkJICAgICAgc3RydWN0IG9iamVjdF9pZCAqcmVzdWx0LCBpbnQgaWR4KQogewogCXN0cnVjdCBvYmplY3RfaWQgb2lkOwotCWludCByZXQgPSBnZXRfb2lkXzEobmFtZSwgbGVuLCAmb2lkLCBHRVRfT0lEX0NPTU1JVFRJU0gpOworCWVudW0gZ2V0X29pZF9yZXN1bHQgcmV0ID0gZ2V0X29pZF8xKHIsIG5hbWUsIGxlbiwgJm9pZCwKKwkJCQkJICAgIEdFVF9PSURfQ09NTUlUVElTSCk7CiAJc3RydWN0IGNvbW1pdCAqY29tbWl0OwogCXN0cnVjdCBjb21taXRfbGlzdCAqcDsKIAogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7Ci0JY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UodGhlX3JlcG9zaXRvcnksICZvaWQpOworCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHIsICZvaWQpOwogCWlmIChwYXJzZV9jb21taXQoY29tbWl0KSkKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gTUlTU0lOR19PQkpFQ1Q7CiAJaWYgKCFpZHgpIHsKIAkJb2lkY3B5KHJlc3VsdCwgJmNvbW1pdC0+b2JqZWN0Lm9pZCk7Ci0JCXJldHVybiAwOworCQlyZXR1cm4gRk9VTkQ7CiAJfQogCXAgPSBjb21taXQtPnBhcmVudHM7CiAJd2hpbGUgKHApIHsKIAkJaWYgKCEtLWlkeCkgewogCQkJb2lkY3B5KHJlc3VsdCwgJnAtPml0ZW0tPm9iamVjdC5vaWQpOwotCQkJcmV0dXJuIDA7CisJCQlyZXR1cm4gRk9VTkQ7CiAJCX0KIAkJcCA9IHAtPm5leHQ7CiAJfQotCXJldHVybiAtMTsKKwlyZXR1cm4gTUlTU0lOR19PQkpFQ1Q7CiB9CiAKLXN0YXRpYyBpbnQgZ2V0X250aF9hbmNlc3Rvcihjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuLAotCQkJICAgIHN0cnVjdCBvYmplY3RfaWQgKnJlc3VsdCwgaW50IGdlbmVyYXRpb24pCitzdGF0aWMgZW51bSBnZXRfb2lkX3Jlc3VsdCBnZXRfbnRoX2FuY2VzdG9yKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCQkgICAgY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbiwKKwkJCQkJICAgIHN0cnVjdCBvYmplY3RfaWQgKnJlc3VsdCwKKwkJCQkJICAgIGludCBnZW5lcmF0aW9uKQogewogCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogCXN0cnVjdCBjb21taXQgKmNvbW1pdDsKIAlpbnQgcmV0OwogCi0JcmV0ID0gZ2V0X29pZF8xKG5hbWUsIGxlbiwgJm9pZCwgR0VUX09JRF9DT01NSVRUSVNIKTsKKwlyZXQgPSBnZXRfb2lkXzEociwgbmFtZSwgbGVuLCAmb2lkLCBHRVRfT0lEX0NPTU1JVFRJU0gpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7Ci0JY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2UodGhlX3JlcG9zaXRvcnksICZvaWQpOworCWNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHIsICZvaWQpOwogCWlmICghY29tbWl0KQotCQlyZXR1cm4gLTE7CisJCXJldHVybiBNSVNTSU5HX09CSkVDVDsKIAogCXdoaWxlIChnZW5lcmF0aW9uLS0pIHsKIAkJaWYgKHBhcnNlX2NvbW1pdChjb21taXQpIHx8ICFjb21taXQtPnBhcmVudHMpCi0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gTUlTU0lOR19PQkpFQ1Q7CiAJCWNvbW1pdCA9IGNvbW1pdC0+cGFyZW50cy0+aXRlbTsKIAl9CiAJb2lkY3B5KHJlc3VsdCwgJmNvbW1pdC0+b2JqZWN0Lm9pZCk7Ci0JcmV0dXJuIDA7CisJcmV0dXJuIEZPVU5EOwogfQogCi1zdHJ1Y3Qgb2JqZWN0ICpwZWVsX3RvX3R5cGUoY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4sCi0JCQkgICAgc3RydWN0IG9iamVjdCAqbywgZW51bSBvYmplY3RfdHlwZSBleHBlY3RlZF90eXBlKQorc3RydWN0IG9iamVjdCAqcmVwb19wZWVsX3RvX3R5cGUoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLAorCQkJCSBzdHJ1Y3Qgb2JqZWN0ICpvLCBlbnVtIG9iamVjdF90eXBlIGV4cGVjdGVkX3R5cGUpCiB7CiAJaWYgKG5hbWUgJiYgIW5hbWVsZW4pCiAJCW5hbWVsZW4gPSBzdHJsZW4obmFtZSk7CiAJd2hpbGUgKDEpIHsKLQkJaWYgKCFvIHx8ICghby0+cGFyc2VkICYmICFwYXJzZV9vYmplY3QodGhlX3JlcG9zaXRvcnksICZvLT5vaWQpKSkKKwkJaWYgKCFvIHx8ICghby0+cGFyc2VkICYmICFwYXJzZV9vYmplY3QociwgJm8tPm9pZCkpKQogCQkJcmV0dXJuIE5VTEw7CiAJCWlmIChleHBlY3RlZF90eXBlID09IE9CSl9BTlkgfHwgby0+dHlwZSA9PSBleHBlY3RlZF90eXBlKQogCQkJcmV0dXJuIG87CiAJCWlmIChvLT50eXBlID09IE9CSl9UQUcpCiAJCQlvID0gKChzdHJ1Y3QgdGFnKikgbyktPnRhZ2dlZDsKIAkJZWxzZSBpZiAoby0+dHlwZSA9PSBPQkpfQ09NTUlUKQotCQkJbyA9ICYoZ2V0X2NvbW1pdF90cmVlKCgoc3RydWN0IGNvbW1pdCAqKW8pKS0+b2JqZWN0KTsKKwkJCW8gPSAmKHJlcG9fZ2V0X2NvbW1pdF90cmVlKHIsICgoc3RydWN0IGNvbW1pdCAqKW8pKS0+b2JqZWN0KTsKIAkJZWxzZSB7CiAJCQlpZiAobmFtZSkKIAkJCQllcnJvcigiJS4qczogZXhwZWN0ZWQgJXMgdHlwZSwgYnV0IHRoZSBvYmplY3QgIgpAQCAtOTg1LDggKzEwMTEsOCBAQAogCX0KIH0KIAotc3RhdGljIGludCBwZWVsX29uaW9uKGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4sIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKLQkJICAgICAgdW5zaWduZWQgbG9va3VwX2ZsYWdzKQorc3RhdGljIGludCBwZWVsX29uaW9uKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuLAorCQkgICAgICBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHVuc2lnbmVkIGxvb2t1cF9mbGFncykKIHsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG91dGVyOwogCWNvbnN0IGNoYXIgKnNwOwpAQCAtMTAzNiwxNSArMTA2MiwxNSBAQAogCWVsc2UgaWYgKGV4cGVjdGVkX3R5cGUgPT0gT0JKX1RSRUUpCiAJCWxvb2t1cF9mbGFncyB8PSBHRVRfT0lEX1RSRUVJU0g7CiAKLQlpZiAoZ2V0X29pZF8xKG5hbWUsIHNwIC0gbmFtZSAtIDIsICZvdXRlciwgbG9va3VwX2ZsYWdzKSkKKwlpZiAoZ2V0X29pZF8xKHIsIG5hbWUsIHNwIC0gbmFtZSAtIDIsICZvdXRlciwgbG9va3VwX2ZsYWdzKSkKIAkJcmV0dXJuIC0xOwogCi0JbyA9IHBhcnNlX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgJm91dGVyKTsKKwlvID0gcGFyc2Vfb2JqZWN0KHIsICZvdXRlcik7CiAJaWYgKCFvKQogCQlyZXR1cm4gLTE7CiAJaWYgKCFleHBlY3RlZF90eXBlKSB7Ci0JCW8gPSBkZXJlZl90YWcodGhlX3JlcG9zaXRvcnksIG8sIG5hbWUsIHNwIC0gbmFtZSAtIDIpOwotCQlpZiAoIW8gfHwgKCFvLT5wYXJzZWQgJiYgIXBhcnNlX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgJm8tPm9pZCkpKQorCQlvID0gZGVyZWZfdGFnKHIsIG8sIG5hbWUsIHNwIC0gbmFtZSAtIDIpOworCQlpZiAoIW8gfHwgKCFvLT5wYXJzZWQgJiYgIXBhcnNlX29iamVjdChyLCAmby0+b2lkKSkpCiAJCQlyZXR1cm4gLTE7CiAJCW9pZGNweShvaWQsICZvLT5vaWQpOwogCQlyZXR1cm4gMDsKQEAgLTEwNTUsNyArMTA4MSw3IEBACiAJICogaWYgd2UgZG8gbm90IGdldCB0aGUgbmVlZGVkIG9iamVjdCwgd2Ugc2hvdWxkCiAJICogYmFyZi4KIAkgKi8KLQlvID0gcGVlbF90b190eXBlKG5hbWUsIGxlbiwgbywgZXhwZWN0ZWRfdHlwZSk7CisJbyA9IHJlcG9fcGVlbF90b190eXBlKHIsIG5hbWUsIGxlbiwgbywgZXhwZWN0ZWRfdHlwZSk7CiAJaWYgKCFvKQogCQlyZXR1cm4gLTE7CiAKQEAgLTEwNzUsMTQgKzExMDEsMTYgQEAKIAogCQlwcmVmaXggPSB4c3RybmR1cChzcCArIDEsIG5hbWUgKyBsZW4gLSAxIC0gKHNwICsgMSkpOwogCQljb21taXRfbGlzdF9pbnNlcnQoKHN0cnVjdCBjb21taXQgKilvLCAmbGlzdCk7Ci0JCXJldCA9IGdldF9vaWRfb25lbGluZShwcmVmaXgsIG9pZCwgbGlzdCk7CisJCXJldCA9IGdldF9vaWRfb25lbGluZShyLCBwcmVmaXgsIG9pZCwgbGlzdCk7CiAJCWZyZWUocHJlZml4KTsKIAkJcmV0dXJuIHJldDsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZ2V0X2Rlc2NyaWJlX25hbWUoY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbiwgc3RydWN0IG9iamVjdF9pZCAqb2lkKQorc3RhdGljIGludCBnZXRfZGVzY3JpYmVfbmFtZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCSAgICAgY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbiwKKwkJCSAgICAgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCWNvbnN0IGNoYXIgKmNwOwogCXVuc2lnbmVkIGZsYWdzID0gR0VUX09JRF9RVUlFVExZIHwgR0VUX09JRF9DT01NSVQ7CkBAIC0xMDk2LDE0ICsxMTI0LDE4IEBACiAJCQlpZiAoY2ggPT0gJ2cnICYmIGNwWy0xXSA9PSAnLScpIHsKIAkJCQljcCsrOwogCQkJCWxlbiAtPSBjcCAtIG5hbWU7Ci0JCQkJcmV0dXJuIGdldF9zaG9ydF9vaWQoY3AsIGxlbiwgb2lkLCBmbGFncyk7CisJCQkJcmV0dXJuIGdldF9zaG9ydF9vaWQociwKKwkJCQkJCSAgICAgY3AsIGxlbiwgb2lkLCBmbGFncyk7CiAJCQl9CiAJCX0KIAl9CiAJcmV0dXJuIC0xOwogfQogCi1zdGF0aWMgaW50IGdldF9vaWRfMShjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHVuc2lnbmVkIGxvb2t1cF9mbGFncykKK3N0YXRpYyBlbnVtIGdldF9vaWRfcmVzdWx0IGdldF9vaWRfMShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkgICAgIGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4sCisJCQkJICAgICBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCQkJICAgICB1bnNpZ25lZCBsb29rdXBfZmxhZ3MpCiB7CiAJaW50IHJldCwgaGFzX3N1ZmZpeDsKIAljb25zdCBjaGFyICpjcDsKQEAgLTExMjIsMzMgKzExNTQsNDIgQEAKIAl9CiAKIAlpZiAoaGFzX3N1ZmZpeCkgewotCQlpbnQgbnVtID0gMDsKKwkJdW5zaWduZWQgaW50IG51bSA9IDA7CiAJCWludCBsZW4xID0gY3AgLSBuYW1lOwogCQljcCsrOwotCQl3aGlsZSAoY3AgPCBuYW1lICsgbGVuKQotCQkJbnVtID0gbnVtICogMTAgKyAqY3ArKyAtICcwJzsKKwkJd2hpbGUgKGNwIDwgbmFtZSArIGxlbikgeworCQkJdW5zaWduZWQgaW50IGRpZ2l0ID0gKmNwKysgLSAnMCc7CisJCQlpZiAodW5zaWduZWRfbXVsdF9vdmVyZmxvd3MobnVtLCAxMCkpCisJCQkJcmV0dXJuIE1JU1NJTkdfT0JKRUNUOworCQkJbnVtICo9IDEwOworCQkJaWYgKHVuc2lnbmVkX2FkZF9vdmVyZmxvd3MobnVtLCBkaWdpdCkpCisJCQkJcmV0dXJuIE1JU1NJTkdfT0JKRUNUOworCQkJbnVtICs9IGRpZ2l0OworCQl9CiAJCWlmICghbnVtICYmIGxlbjEgPT0gbGVuIC0gMSkKIAkJCW51bSA9IDE7CisJCWVsc2UgaWYgKG51bSA+IElOVF9NQVgpCisJCQlyZXR1cm4gTUlTU0lOR19PQkpFQ1Q7CiAJCWlmIChoYXNfc3VmZml4ID09ICdeJykKLQkJCXJldHVybiBnZXRfcGFyZW50KG5hbWUsIGxlbjEsIG9pZCwgbnVtKTsKKwkJCXJldHVybiBnZXRfcGFyZW50KHIsIG5hbWUsIGxlbjEsIG9pZCwgbnVtKTsKIAkJLyogZWxzZSBpZiAoaGFzX3N1ZmZpeCA9PSAnficpIC0tIGdvZXMgd2l0aG91dCBzYXlpbmcgKi8KLQkJcmV0dXJuIGdldF9udGhfYW5jZXN0b3IobmFtZSwgbGVuMSwgb2lkLCBudW0pOworCQlyZXR1cm4gZ2V0X250aF9hbmNlc3RvcihyLCBuYW1lLCBsZW4xLCBvaWQsIG51bSk7CiAJfQogCi0JcmV0ID0gcGVlbF9vbmlvbihuYW1lLCBsZW4sIG9pZCwgbG9va3VwX2ZsYWdzKTsKKwlyZXQgPSBwZWVsX29uaW9uKHIsIG5hbWUsIGxlbiwgb2lkLCBsb29rdXBfZmxhZ3MpOwogCWlmICghcmV0KQotCQlyZXR1cm4gMDsKKwkJcmV0dXJuIEZPVU5EOwogCi0JcmV0ID0gZ2V0X29pZF9iYXNpYyhuYW1lLCBsZW4sIG9pZCwgbG9va3VwX2ZsYWdzKTsKKwlyZXQgPSBnZXRfb2lkX2Jhc2ljKHIsIG5hbWUsIGxlbiwgb2lkLCBsb29rdXBfZmxhZ3MpOwogCWlmICghcmV0KQotCQlyZXR1cm4gMDsKKwkJcmV0dXJuIEZPVU5EOwogCiAJLyogSXQgY291bGQgYmUgZGVzY3JpYmUgb3V0cHV0IHRoYXQgaXMgIlNPTUVUSElORy1nWFhYWCIgKi8KLQlyZXQgPSBnZXRfZGVzY3JpYmVfbmFtZShuYW1lLCBsZW4sIG9pZCk7CisJcmV0ID0gZ2V0X2Rlc2NyaWJlX25hbWUociwgbmFtZSwgbGVuLCBvaWQpOwogCWlmICghcmV0KQotCQlyZXR1cm4gMDsKKwkJcmV0dXJuIEZPVU5EOwogCi0JcmV0dXJuIGdldF9zaG9ydF9vaWQobmFtZSwgbGVuLCBvaWQsIGxvb2t1cF9mbGFncyk7CisJcmV0dXJuIGdldF9zaG9ydF9vaWQociwgbmFtZSwgbGVuLCBvaWQsIGxvb2t1cF9mbGFncyk7CiB9CiAKIC8qCkBAIC0xMTY3LDE1ICsxMjA4LDIxIEBACiAvKiBSZW1lbWJlciB0byB1cGRhdGUgb2JqZWN0IGZsYWcgYWxsb2NhdGlvbiBpbiBvYmplY3QuaCAqLwogI2RlZmluZSBPTkVMSU5FX1NFRU4gKDF1PDwyMCkKIAorc3RydWN0IGhhbmRsZV9vbmVfcmVmX2NiIHsKKwlzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbzsKKwlzdHJ1Y3QgY29tbWl0X2xpc3QgKipsaXN0OworfTsKKwogc3RhdGljIGludCBoYW5kbGVfb25lX3JlZihjb25zdCBjaGFyICpwYXRoLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQkgIGludCBmbGFnLCB2b2lkICpjYl9kYXRhKQogewotCXN0cnVjdCBjb21taXRfbGlzdCAqKmxpc3QgPSBjYl9kYXRhOwotCXN0cnVjdCBvYmplY3QgKm9iamVjdCA9IHBhcnNlX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgb2lkKTsKKwlzdHJ1Y3QgaGFuZGxlX29uZV9yZWZfY2IgKmNiID0gY2JfZGF0YTsKKwlzdHJ1Y3QgY29tbWl0X2xpc3QgKipsaXN0ID0gY2ItPmxpc3Q7CisJc3RydWN0IG9iamVjdCAqb2JqZWN0ID0gcGFyc2Vfb2JqZWN0KGNiLT5yZXBvLCBvaWQpOwogCWlmICghb2JqZWN0KQogCQlyZXR1cm4gMDsKIAlpZiAob2JqZWN0LT50eXBlID09IE9CSl9UQUcpIHsKLQkJb2JqZWN0ID0gZGVyZWZfdGFnKHRoZV9yZXBvc2l0b3J5LCBvYmplY3QsIHBhdGgsCisJCW9iamVjdCA9IGRlcmVmX3RhZyhjYi0+cmVwbywgb2JqZWN0LCBwYXRoLAogCQkJCSAgIHN0cmxlbihwYXRoKSk7CiAJCWlmICghb2JqZWN0KQogCQkJcmV0dXJuIDA7CkBAIC0xMTg2LDggKzEyMzMsOSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGdldF9vaWRfb25lbGluZShjb25zdCBjaGFyICpwcmVmaXgsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKLQkJCSAgICBzdHJ1Y3QgY29tbWl0X2xpc3QgKmxpc3QpCitzdGF0aWMgaW50IGdldF9vaWRfb25lbGluZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCSAgIGNvbnN0IGNoYXIgKnByZWZpeCwgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJICAgc3RydWN0IGNvbW1pdF9saXN0ICpsaXN0KQogewogCXN0cnVjdCBjb21taXRfbGlzdCAqYmFja3VwID0gTlVMTCwgKmw7CiAJaW50IGZvdW5kID0gMDsKQEAgLTEyMTgsNyArMTI2Niw3IEBACiAJCWludCBtYXRjaGVzOwogCiAJCWNvbW1pdCA9IHBvcF9tb3N0X3JlY2VudF9jb21taXQoJmxpc3QsIE9ORUxJTkVfU0VFTik7Ci0JCWlmICghcGFyc2Vfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCAmY29tbWl0LT5vYmplY3Qub2lkKSkKKwkJaWYgKCFwYXJzZV9vYmplY3QociwgJmNvbW1pdC0+b2JqZWN0Lm9pZCkpCiAJCQljb250aW51ZTsKIAkJYnVmID0gZ2V0X2NvbW1pdF9idWZmZXIoY29tbWl0LCBOVUxMKTsKIAkJcCA9IHN0cnN0cihidWYsICJcblxuIik7CkBAIC0xMjQxLDcgKzEyODksNyBAQAogCiBzdHJ1Y3QgZ3JhYl9udGhfYnJhbmNoX3N3aXRjaF9jYmRhdGEgewogCWludCByZW1haW5pbmc7Ci0Jc3RydWN0IHN0cmJ1ZiBidWY7CisJc3RydWN0IHN0cmJ1ZiAqc2I7CiB9OwogCiBzdGF0aWMgaW50IGdyYWJfbnRoX2JyYW5jaF9zd2l0Y2goc3RydWN0IG9iamVjdF9pZCAqb29pZCwgc3RydWN0IG9iamVjdF9pZCAqbm9pZCwKQEAgLTEyNTksOCArMTMwNyw4IEBACiAJCXJldHVybiAwOwogCWlmICgtLShjYi0+cmVtYWluaW5nKSA9PSAwKSB7CiAJCWxlbiA9IHRhcmdldCAtIG1hdGNoOwotCQlzdHJidWZfcmVzZXQoJmNiLT5idWYpOwotCQlzdHJidWZfYWRkKCZjYi0+YnVmLCBtYXRjaCwgbGVuKTsKKwkJc3RyYnVmX3Jlc2V0KGNiLT5zYik7CisJCXN0cmJ1Zl9hZGQoY2ItPnNiLCBtYXRjaCwgbGVuKTsKIAkJcmV0dXJuIDE7IC8qIHdlIGFyZSBkb25lICovCiAJfQogCXJldHVybiAwOwpAQCAtMTI3MCw3ICsxMzE4LDggQEAKICAqIFBhcnNlIEB7LU59IHN5bnRheCwgcmV0dXJuIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBwYXJzZWQKICAqIGlmIHN1Y2Nlc3NmdWw7IG90aGVyd2lzZSBzaWduYWwgYW4gZXJyb3Igd2l0aCBuZWdhdGl2ZSB2YWx1ZS4KICAqLwotc3RhdGljIGludCBpbnRlcnByZXRfbnRoX3ByaW9yX2NoZWNrb3V0KGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLAorc3RhdGljIGludCBpbnRlcnByZXRfbnRoX3ByaW9yX2NoZWNrb3V0KHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCQljb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwKIAkJCQkJc3RydWN0IHN0cmJ1ZiAqYnVmKQogewogCWxvbmcgbnRoOwpAQCAtMTI5MiwyMCArMTM0MSwyMSBAQAogCWlmIChudGggPD0gMCkKIAkJcmV0dXJuIC0xOwogCWNiLnJlbWFpbmluZyA9IG50aDsKLQlzdHJidWZfaW5pdCgmY2IuYnVmLCAyMCk7CisJY2Iuc2IgPSBidWY7CiAKLQlyZXR2YWwgPSAwOwotCWlmICgwIDwgZm9yX2VhY2hfcmVmbG9nX2VudF9yZXZlcnNlKCJIRUFEIiwgZ3JhYl9udGhfYnJhbmNoX3N3aXRjaCwgJmNiKSkgewotCQlzdHJidWZfcmVzZXQoYnVmKTsKLQkJc3RyYnVmX2FkZGJ1ZihidWYsICZjYi5idWYpOworCXJldHZhbCA9IHJlZnNfZm9yX2VhY2hfcmVmbG9nX2VudF9yZXZlcnNlKGdldF9tYWluX3JlZl9zdG9yZShyKSwKKwkJCSJIRUFEIiwgZ3JhYl9udGhfYnJhbmNoX3N3aXRjaCwgJmNiKTsKKwlpZiAoMCA8IHJldHZhbCkgewogCQlyZXR2YWwgPSBicmFjZSAtIG5hbWUgKyAxOwotCX0KKwl9IGVsc2UKKwkJcmV0dmFsID0gMDsKIAotCXN0cmJ1Zl9yZWxlYXNlKCZjYi5idWYpOwogCXJldHVybiByZXR2YWw7CiB9CiAKLWludCBnZXRfb2lkX21iKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKK2ludCByZXBvX2dldF9vaWRfbWIoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCSAgICBjb25zdCBjaGFyICpuYW1lLAorCQkgICAgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCXN0cnVjdCBjb21taXQgKm9uZSwgKnR3bzsKIAlzdHJ1Y3QgY29tbWl0X2xpc3QgKm1iczsKQEAgLTEzMTUsMjggKzEzNjUsMjggQEAKIAogCWRvdHMgPSBzdHJzdHIobmFtZSwgIi4uLiIpOwogCWlmICghZG90cykKLQkJcmV0dXJuIGdldF9vaWQobmFtZSwgb2lkKTsKKwkJcmV0dXJuIHJlcG9fZ2V0X29pZChyLCBuYW1lLCBvaWQpOwogCWlmIChkb3RzID09IG5hbWUpCi0JCXN0ID0gZ2V0X29pZCgiSEVBRCIsICZvaWRfdG1wKTsKKwkJc3QgPSByZXBvX2dldF9vaWQociwgIkhFQUQiLCAmb2lkX3RtcCk7CiAJZWxzZSB7CiAJCXN0cnVjdCBzdHJidWYgc2I7CiAJCXN0cmJ1Zl9pbml0KCZzYiwgZG90cyAtIG5hbWUpOwogCQlzdHJidWZfYWRkKCZzYiwgbmFtZSwgZG90cyAtIG5hbWUpOwotCQlzdCA9IGdldF9vaWRfY29tbWl0dGlzaChzYi5idWYsICZvaWRfdG1wKTsKKwkJc3QgPSByZXBvX2dldF9vaWRfY29tbWl0dGlzaChyLCBzYi5idWYsICZvaWRfdG1wKTsKIAkJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIAl9CiAJaWYgKHN0KQogCQlyZXR1cm4gc3Q7Ci0Jb25lID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHRoZV9yZXBvc2l0b3J5LCAmb2lkX3RtcCwgMCk7CisJb25lID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHIsICZvaWRfdG1wLCAwKTsKIAlpZiAoIW9uZSkKIAkJcmV0dXJuIC0xOwogCi0JaWYgKGdldF9vaWRfY29tbWl0dGlzaChkb3RzWzNdID8gKGRvdHMgKyAzKSA6ICJIRUFEIiwgJm9pZF90bXApKQorCWlmIChyZXBvX2dldF9vaWRfY29tbWl0dGlzaChyLCBkb3RzWzNdID8gKGRvdHMgKyAzKSA6ICJIRUFEIiwgJm9pZF90bXApKQogCQlyZXR1cm4gLTE7Ci0JdHdvID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHRoZV9yZXBvc2l0b3J5LCAmb2lkX3RtcCwgMCk7CisJdHdvID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHIsICZvaWRfdG1wLCAwKTsKIAlpZiAoIXR3bykKIAkJcmV0dXJuIC0xOwotCW1icyA9IGdldF9tZXJnZV9iYXNlcyhvbmUsIHR3byk7CisJbWJzID0gcmVwb19nZXRfbWVyZ2VfYmFzZXMociwgb25lLCB0d28pOwogCWlmICghbWJzIHx8IG1icy0+bmV4dCkKIAkJc3QgPSAtMTsKIAllbHNlIHsKQEAgLTEzNjksNyArMTQxOSw4IEBACiAJcmV0dXJuIDE7CiB9CiAKLXN0YXRpYyBpbnQgcmVpbnRlcnByZXQoY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4sIGludCBsZW4sCitzdGF0aWMgaW50IHJlaW50ZXJwcmV0KHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkgICAgICAgY29uc3QgY2hhciAqbmFtZSwgaW50IG5hbWVsZW4sIGludCBsZW4sCiAJCSAgICAgICBzdHJ1Y3Qgc3RyYnVmICpidWYsIHVuc2lnbmVkIGFsbG93ZWQpCiB7CiAJLyogd2UgaGF2ZSBleHRyYSBkYXRhLCB3aGljaCBtaWdodCBuZWVkIGZ1cnRoZXIgcHJvY2Vzc2luZyAqLwpAQCAtMTM3OCw3ICsxNDI5LDcgQEAKIAlpbnQgcmV0OwogCiAJc3RyYnVmX2FkZChidWYsIG5hbWUgKyBsZW4sIG5hbWVsZW4gLSBsZW4pOwotCXJldCA9IGludGVycHJldF9icmFuY2hfbmFtZShidWYtPmJ1ZiwgYnVmLT5sZW4sICZ0bXAsIGFsbG93ZWQpOworCXJldCA9IHJlcG9faW50ZXJwcmV0X2JyYW5jaF9uYW1lKHIsIGJ1Zi0+YnVmLCBidWYtPmxlbiwgJnRtcCwgYWxsb3dlZCk7CiAJLyogdGhhdCBkYXRhIHdhcyBub3QgaW50ZXJwcmV0ZWQsIHJlbW92ZSBvdXIgY3J1ZnQgKi8KIAlpZiAocmV0IDwgMCkgewogCQlzdHJidWZfc2V0bGVuKGJ1ZiwgdXNlZCk7CkBAIC0xMzkxLDkgKzE0NDIsOSBAQAogCXJldHVybiByZXQgLSB1c2VkICsgbGVuOwogfQogCi1zdGF0aWMgdm9pZCBzZXRfc2hvcnRlbmVkX3JlZihzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IGNoYXIgKnJlZikKK3N0YXRpYyB2b2lkIHNldF9zaG9ydGVuZWRfcmVmKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IGNoYXIgKnJlZikKIHsKLQljaGFyICpzID0gc2hvcnRlbl91bmFtYmlndW91c19yZWYocmVmLCAwKTsKKwljaGFyICpzID0gcmVmc19zaG9ydGVuX3VuYW1iaWd1b3VzX3JlZihnZXRfbWFpbl9yZWZfc3RvcmUociksIHJlZiwgMCk7CiAJc3RyYnVmX3Jlc2V0KGJ1Zik7CiAJc3RyYnVmX2FkZHN0cihidWYsIHMpOwogCWZyZWUocyk7CkBAIC0xNDE0LDcgKzE0NjUsOCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGludGVycHJldF9icmFuY2hfbWFyayhjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwKK3N0YXRpYyBpbnQgaW50ZXJwcmV0X2JyYW5jaF9tYXJrKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCSBjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwKIAkJCQkgaW50IGF0LCBzdHJ1Y3Qgc3RyYnVmICpidWYsCiAJCQkJIGludCAoKmdldF9tYXJrKShjb25zdCBjaGFyICosIGludCksCiAJCQkJIGNvbnN0IGNoYXIgKigqZ2V0X2RhdGEpKHN0cnVjdCBicmFuY2ggKiwKQEAgLTE0NDcsMTIgKzE0OTksMTQgQEAKIAlpZiAoIWJyYW5jaF9pbnRlcnByZXRfYWxsb3dlZCh2YWx1ZSwgYWxsb3dlZCkpCiAJCXJldHVybiAtMTsKIAotCXNldF9zaG9ydGVuZWRfcmVmKGJ1ZiwgdmFsdWUpOworCXNldF9zaG9ydGVuZWRfcmVmKHIsIGJ1ZiwgdmFsdWUpOwogCXJldHVybiBsZW4gKyBhdDsKIH0KIAotaW50IGludGVycHJldF9icmFuY2hfbmFtZShjb25zdCBjaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwgc3RydWN0IHN0cmJ1ZiAqYnVmLAotCQkJICB1bnNpZ25lZCBhbGxvd2VkKQoraW50IHJlcG9faW50ZXJwcmV0X2JyYW5jaF9uYW1lKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIGludCBuYW1lbGVuLAorCQkJICAgICAgIHN0cnVjdCBzdHJidWYgKmJ1ZiwKKwkJCSAgICAgICB1bnNpZ25lZCBhbGxvd2VkKQogewogCWNoYXIgKmF0OwogCWNvbnN0IGNoYXIgKnN0YXJ0OwpAQCAtMTQ2MiwxNCArMTUxNiwxNCBAQAogCQluYW1lbGVuID0gc3RybGVuKG5hbWUpOwogCiAJaWYgKCFhbGxvd2VkIHx8IChhbGxvd2VkICYgSU5URVJQUkVUX0JSQU5DSF9MT0NBTCkpIHsKLQkJbGVuID0gaW50ZXJwcmV0X250aF9wcmlvcl9jaGVja291dChuYW1lLCBuYW1lbGVuLCBidWYpOworCQlsZW4gPSBpbnRlcnByZXRfbnRoX3ByaW9yX2NoZWNrb3V0KHIsIG5hbWUsIG5hbWVsZW4sIGJ1Zik7CiAJCWlmICghbGVuKSB7CiAJCQlyZXR1cm4gbGVuOyAvKiBzeW50YXggT2ssIG5vdCBlbm91Z2ggc3dpdGNoZXMgKi8KIAkJfSBlbHNlIGlmIChsZW4gPiAwKSB7CiAJCQlpZiAobGVuID09IG5hbWVsZW4pCiAJCQkJcmV0dXJuIGxlbjsgLyogY29uc3VtZWQgYWxsICovCiAJCQllbHNlCi0JCQkJcmV0dXJuIHJlaW50ZXJwcmV0KG5hbWUsIG5hbWVsZW4sIGxlbiwgYnVmLCBhbGxvd2VkKTsKKwkJCQlyZXR1cm4gcmVpbnRlcnByZXQociwgbmFtZSwgbmFtZWxlbiwgbGVuLCBidWYsIGFsbG93ZWQpOwogCQl9CiAJfQogCkBAIC0xNDgwLDE3ICsxNTM0LDE3IEBACiAJCWlmICghYWxsb3dlZCB8fCAoYWxsb3dlZCAmIElOVEVSUFJFVF9CUkFOQ0hfSEVBRCkpIHsKIAkJCWxlbiA9IGludGVycHJldF9lbXB0eV9hdChuYW1lLCBuYW1lbGVuLCBhdCAtIG5hbWUsIGJ1Zik7CiAJCQlpZiAobGVuID4gMCkKLQkJCQlyZXR1cm4gcmVpbnRlcnByZXQobmFtZSwgbmFtZWxlbiwgbGVuLCBidWYsCisJCQkJcmV0dXJuIHJlaW50ZXJwcmV0KHIsIG5hbWUsIG5hbWVsZW4sIGxlbiwgYnVmLAogCQkJCQkJICAgYWxsb3dlZCk7CiAJCX0KIAotCQlsZW4gPSBpbnRlcnByZXRfYnJhbmNoX21hcmsobmFtZSwgbmFtZWxlbiwgYXQgLSBuYW1lLCBidWYsCisJCWxlbiA9IGludGVycHJldF9icmFuY2hfbWFyayhyLCBuYW1lLCBuYW1lbGVuLCBhdCAtIG5hbWUsIGJ1ZiwKIAkJCQkJICAgIHVwc3RyZWFtX21hcmssIGJyYW5jaF9nZXRfdXBzdHJlYW0sCiAJCQkJCSAgICBhbGxvd2VkKTsKIAkJaWYgKGxlbiA+IDApCiAJCQlyZXR1cm4gbGVuOwogCi0JCWxlbiA9IGludGVycHJldF9icmFuY2hfbWFyayhuYW1lLCBuYW1lbGVuLCBhdCAtIG5hbWUsIGJ1ZiwKKwkJbGVuID0gaW50ZXJwcmV0X2JyYW5jaF9tYXJrKHIsIG5hbWUsIG5hbWVsZW4sIGF0IC0gbmFtZSwgYnVmLAogCQkJCQkgICAgcHVzaF9tYXJrLCBicmFuY2hfZ2V0X3B1c2gsCiAJCQkJCSAgICBhbGxvd2VkKTsKIAkJaWYgKGxlbiA+IDApCkBAIC0xNTM2LDEyICsxNTkwLDMxIEBACiAgKiBUaGlzIGlzIGxpa2UgImdldF9vaWRfYmFzaWMoKSIsIGV4Y2VwdCBpdCBhbGxvd3MgIm9iamVjdCBJRCBleHByZXNzaW9ucyIsCiAgKiBub3RhYmx5ICJ4eXpeIiBmb3IgInBhcmVudCBvZiB4eXoiCiAgKi8KLWludCBnZXRfb2lkKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKK2ludCByZXBvX2dldF9vaWQoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAlzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgdW51c2VkOwotCXJldHVybiBnZXRfb2lkX3dpdGhfY29udGV4dChuYW1lLCAwLCBvaWQsICZ1bnVzZWQpOworCXJldHVybiBnZXRfb2lkX3dpdGhfY29udGV4dChyLCBuYW1lLCAwLCBvaWQsICZ1bnVzZWQpOwogfQogCisvKgorICogVGhpcyByZXR1cm5zIGEgbm9uLXplcm8gdmFsdWUgaWYgdGhlIHN0cmluZyAoYnVpbHQgdXNpbmcgcHJpbnRmCisgKiBmb3JtYXQgYW5kIHRoZSBnaXZlbiBhcmd1bWVudHMpIGlzIG5vdCBhIHZhbGlkIG9iamVjdC4KKyAqLworaW50IGdldF9vaWRmKHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwlpbnQgcmV0OworCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKworCXZhX3N0YXJ0KGFwLCBmbXQpOworCXN0cmJ1Zl92YWRkZigmc2IsIGZtdCwgYXApOworCXZhX2VuZChhcCk7CisKKwlyZXQgPSBnZXRfb2lkKHNiLmJ1Ziwgb2lkKTsKKwlzdHJidWZfcmVsZWFzZSgmc2IpOworCisJcmV0dXJuIHJldDsKK30KIAogLyoKICAqIE1hbnkgY2FsbGVycyBrbm93IHRoYXQgdGhlIHVzZXIgbWVhbnQgdG8gbmFtZSBhIGNvbW1pdC1pc2ggYnkKQEAgLTE1NTMsNjMgKzE2MjYsNzQgQEAKICAqIGNvbW1pdC1pc2guIEl0IGlzIG1lcmVseSB0byBnaXZlIGEgaGludCB0byB0aGUgZGlzYW1iaWd1YXRpb24KICAqIG1hY2hpbmVyeS4KICAqLwotaW50IGdldF9vaWRfY29tbWl0dGlzaChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCitpbnQgcmVwb19nZXRfb2lkX2NvbW1pdHRpc2goc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgICAgY29uc3QgY2hhciAqbmFtZSwKKwkJCSAgICBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7CiAJc3RydWN0IG9iamVjdF9jb250ZXh0IHVudXNlZDsKLQlyZXR1cm4gZ2V0X29pZF93aXRoX2NvbnRleHQobmFtZSwgR0VUX09JRF9DT01NSVRUSVNILAorCXJldHVybiBnZXRfb2lkX3dpdGhfY29udGV4dChyLCBuYW1lLCBHRVRfT0lEX0NPTU1JVFRJU0gsCiAJCQkJICAgIG9pZCwgJnVudXNlZCk7CiB9CiAKLWludCBnZXRfb2lkX3RyZWVpc2goY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9pZCAqb2lkKQoraW50IHJlcG9fZ2V0X29pZF90cmVlaXNoKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCXN0cnVjdCBvYmplY3RfY29udGV4dCB1bnVzZWQ7Ci0JcmV0dXJuIGdldF9vaWRfd2l0aF9jb250ZXh0KG5hbWUsIEdFVF9PSURfVFJFRUlTSCwKKwlyZXR1cm4gZ2V0X29pZF93aXRoX2NvbnRleHQociwgbmFtZSwgR0VUX09JRF9UUkVFSVNILAogCQkJCSAgICBvaWQsICZ1bnVzZWQpOwogfQogCi1pbnQgZ2V0X29pZF9jb21taXQoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9pZCAqb2lkKQoraW50IHJlcG9fZ2V0X29pZF9jb21taXQoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQljb25zdCBjaGFyICpuYW1lLAorCQkJc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewogCXN0cnVjdCBvYmplY3RfY29udGV4dCB1bnVzZWQ7Ci0JcmV0dXJuIGdldF9vaWRfd2l0aF9jb250ZXh0KG5hbWUsIEdFVF9PSURfQ09NTUlULAorCXJldHVybiBnZXRfb2lkX3dpdGhfY29udGV4dChyLCBuYW1lLCBHRVRfT0lEX0NPTU1JVCwKIAkJCQkgICAgb2lkLCAmdW51c2VkKTsKIH0KIAotaW50IGdldF9vaWRfdHJlZShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCitpbnQgcmVwb19nZXRfb2lkX3RyZWUoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCSAgICAgIGNvbnN0IGNoYXIgKm5hbWUsCisJCSAgICAgIHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAlzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgdW51c2VkOwotCXJldHVybiBnZXRfb2lkX3dpdGhfY29udGV4dChuYW1lLCBHRVRfT0lEX1RSRUUsCisJcmV0dXJuIGdldF9vaWRfd2l0aF9jb250ZXh0KHIsIG5hbWUsIEdFVF9PSURfVFJFRSwKIAkJCQkgICAgb2lkLCAmdW51c2VkKTsKIH0KIAotaW50IGdldF9vaWRfYmxvYihjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCitpbnQgcmVwb19nZXRfb2lkX2Jsb2Ioc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCSAgICAgIGNvbnN0IGNoYXIgKm5hbWUsCisJCSAgICAgIHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAlzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgdW51c2VkOwotCXJldHVybiBnZXRfb2lkX3dpdGhfY29udGV4dChuYW1lLCBHRVRfT0lEX0JMT0IsCisJcmV0dXJuIGdldF9vaWRfd2l0aF9jb250ZXh0KHIsIG5hbWUsIEdFVF9PSURfQkxPQiwKIAkJCQkgICAgb2lkLCAmdW51c2VkKTsKIH0KIAogLyogTXVzdCBiZSBjYWxsZWQgb25seSB3aGVuIG9iamVjdF9uYW1lOmZpbGVuYW1lIGRvZXNuJ3QgZXhpc3QuICovCi1zdGF0aWMgdm9pZCBkaWFnbm9zZV9pbnZhbGlkX29pZF9wYXRoKGNvbnN0IGNoYXIgKnByZWZpeCwKK3N0YXRpYyB2b2lkIGRpYWdub3NlX2ludmFsaWRfb2lkX3BhdGgoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJICAgICAgY29uc3QgY2hhciAqcHJlZml4LAogCQkJCSAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAogCQkJCSAgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKnRyZWVfb2lkLAogCQkJCSAgICAgIGNvbnN0IGNoYXIgKm9iamVjdF9uYW1lLAogCQkJCSAgICAgIGludCBvYmplY3RfbmFtZV9sZW4pCiB7CiAJc3RydWN0IG9iamVjdF9pZCBvaWQ7Ci0JdW5zaWduZWQgbW9kZTsKKwl1bnNpZ25lZCBzaG9ydCBtb2RlOwogCiAJaWYgKCFwcmVmaXgpCiAJCXByZWZpeCA9ICIiOwogCiAJaWYgKGZpbGVfZXhpc3RzKGZpbGVuYW1lKSkKLQkJZGllKCJQYXRoICclcycgZXhpc3RzIG9uIGRpc2ssIGJ1dCBub3QgaW4gJyUuKnMnLiIsCisJCWRpZShfKCJwYXRoICclcycgZXhpc3RzIG9uIGRpc2ssIGJ1dCBub3QgaW4gJyUuKnMnIiksCiAJCSAgICBmaWxlbmFtZSwgb2JqZWN0X25hbWVfbGVuLCBvYmplY3RfbmFtZSk7CiAJaWYgKGlzX21pc3NpbmdfZmlsZV9lcnJvcihlcnJubykpIHsKIAkJY2hhciAqZnVsbG5hbWUgPSB4c3RyZm10KCIlcyVzIiwgcHJlZml4LCBmaWxlbmFtZSk7CiAKLQkJaWYgKCFnZXRfdHJlZV9lbnRyeSh0cmVlX29pZCwgZnVsbG5hbWUsICZvaWQsICZtb2RlKSkgewotCQkJZGllKCJQYXRoICclcycgZXhpc3RzLCBidXQgbm90ICclcycuXG4iCi0JCQkgICAgIkRpZCB5b3UgbWVhbiAnJS4qczolcycgYWthICclLipzOi4vJXMnPyIsCisJCWlmICghZ2V0X3RyZWVfZW50cnkociwgdHJlZV9vaWQsIGZ1bGxuYW1lLCAmb2lkLCAmbW9kZSkpIHsKKwkJCWRpZShfKCJwYXRoICclcycgZXhpc3RzLCBidXQgbm90ICclcydcbiIKKwkJCSAgICAiaGludDogRGlkIHlvdSBtZWFuICclLipzOiVzJyBha2EgJyUuKnM6Li8lcyc/IiksCiAJCQkgICAgZnVsbG5hbWUsCiAJCQkgICAgZmlsZW5hbWUsCiAJCQkgICAgb2JqZWN0X25hbWVfbGVuLCBvYmplY3RfbmFtZSwKQEAgLTE2MTcsMTYgKzE3MDEsMTggQEAKIAkJCSAgICBvYmplY3RfbmFtZV9sZW4sIG9iamVjdF9uYW1lLAogCQkJICAgIGZpbGVuYW1lKTsKIAkJfQotCQlkaWUoIlBhdGggJyVzJyBkb2VzIG5vdCBleGlzdCBpbiAnJS4qcyciLAorCQlkaWUoXygicGF0aCAnJXMnIGRvZXMgbm90IGV4aXN0IGluICclLipzJyIpLAogCQkgICAgZmlsZW5hbWUsIG9iamVjdF9uYW1lX2xlbiwgb2JqZWN0X25hbWUpOwogCX0KIH0KIAogLyogTXVzdCBiZSBjYWxsZWQgb25seSB3aGVuIDpzdGFnZTpmaWxlbmFtZSBkb2Vzbid0IGV4aXN0LiAqLwotc3RhdGljIHZvaWQgZGlhZ25vc2VfaW52YWxpZF9pbmRleF9wYXRoKGludCBzdGFnZSwKK3N0YXRpYyB2b2lkIGRpYWdub3NlX2ludmFsaWRfaW5kZXhfcGF0aChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkJaW50IHN0YWdlLAogCQkJCQljb25zdCBjaGFyICpwcmVmaXgsCiAJCQkJCWNvbnN0IGNoYXIgKmZpbGVuYW1lKQogeworCXN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlID0gci0+aW5kZXg7CiAJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKIAlpbnQgcG9zOwogCXVuc2lnbmVkIG5hbWVsZW4gPSBzdHJsZW4oZmlsZW5hbWUpOwpAQCAtMTYzNiwxNSArMTcyMiwxNSBAQAogCQlwcmVmaXggPSAiIjsKIAogCS8qIFdyb25nIHN0YWdlIG51bWJlcj8gKi8KLQlwb3MgPSBjYWNoZV9uYW1lX3BvcyhmaWxlbmFtZSwgbmFtZWxlbik7CisJcG9zID0gaW5kZXhfbmFtZV9wb3MoaXN0YXRlLCBmaWxlbmFtZSwgbmFtZWxlbik7CiAJaWYgKHBvcyA8IDApCiAJCXBvcyA9IC1wb3MgLSAxOwotCWlmIChwb3MgPCBhY3RpdmVfbnIpIHsKLQkJY2UgPSBhY3RpdmVfY2FjaGVbcG9zXTsKKwlpZiAocG9zIDwgaXN0YXRlLT5jYWNoZV9ucikgeworCQljZSA9IGlzdGF0ZS0+Y2FjaGVbcG9zXTsKIAkJaWYgKGNlX25hbWVsZW4oY2UpID09IG5hbWVsZW4gJiYKIAkJICAgICFtZW1jbXAoY2UtPm5hbWUsIGZpbGVuYW1lLCBuYW1lbGVuKSkKLQkJCWRpZSgiUGF0aCAnJXMnIGlzIGluIHRoZSBpbmRleCwgYnV0IG5vdCBhdCBzdGFnZSAlZC5cbiIKLQkJCSAgICAiRGlkIHlvdSBtZWFuICc6JWQ6JXMnPyIsCisJCQlkaWUoXygicGF0aCAnJXMnIGlzIGluIHRoZSBpbmRleCwgYnV0IG5vdCBhdCBzdGFnZSAlZFxuIgorCQkJICAgICJoaW50OiBEaWQgeW91IG1lYW4gJzolZDolcyc/IiksCiAJCQkgICAgZmlsZW5hbWUsIHN0YWdlLAogCQkJICAgIGNlX3N0YWdlKGNlKSwgZmlsZW5hbWUpOwogCX0KQEAgLTE2NTIsMzcgKzE3MzgsMzcgQEAKIAkvKiBDb25mdXNpb24gYmV0d2VlbiByZWxhdGl2ZSBhbmQgYWJzb2x1dGUgZmlsZW5hbWVzPyAqLwogCXN0cmJ1Zl9hZGRzdHIoJmZ1bGxuYW1lLCBwcmVmaXgpOwogCXN0cmJ1Zl9hZGRzdHIoJmZ1bGxuYW1lLCBmaWxlbmFtZSk7Ci0JcG9zID0gY2FjaGVfbmFtZV9wb3MoZnVsbG5hbWUuYnVmLCBmdWxsbmFtZS5sZW4pOworCXBvcyA9IGluZGV4X25hbWVfcG9zKGlzdGF0ZSwgZnVsbG5hbWUuYnVmLCBmdWxsbmFtZS5sZW4pOwogCWlmIChwb3MgPCAwKQogCQlwb3MgPSAtcG9zIC0gMTsKLQlpZiAocG9zIDwgYWN0aXZlX25yKSB7Ci0JCWNlID0gYWN0aXZlX2NhY2hlW3Bvc107CisJaWYgKHBvcyA8IGlzdGF0ZS0+Y2FjaGVfbnIpIHsKKwkJY2UgPSBpc3RhdGUtPmNhY2hlW3Bvc107CiAJCWlmIChjZV9uYW1lbGVuKGNlKSA9PSBmdWxsbmFtZS5sZW4gJiYKIAkJICAgICFtZW1jbXAoY2UtPm5hbWUsIGZ1bGxuYW1lLmJ1ZiwgZnVsbG5hbWUubGVuKSkKLQkJCWRpZSgiUGF0aCAnJXMnIGlzIGluIHRoZSBpbmRleCwgYnV0IG5vdCAnJXMnLlxuIgotCQkJICAgICJEaWQgeW91IG1lYW4gJzolZDolcycgYWthICc6JWQ6Li8lcyc/IiwKKwkJCWRpZShfKCJwYXRoICclcycgaXMgaW4gdGhlIGluZGV4LCBidXQgbm90ICclcydcbiIKKwkJCSAgICAiaGludDogRGlkIHlvdSBtZWFuICc6JWQ6JXMnIGFrYSAnOiVkOi4vJXMnPyIpLAogCQkJICAgIGZ1bGxuYW1lLmJ1ZiwgZmlsZW5hbWUsCiAJCQkgICAgY2Vfc3RhZ2UoY2UpLCBmdWxsbmFtZS5idWYsCiAJCQkgICAgY2Vfc3RhZ2UoY2UpLCBmaWxlbmFtZSk7CiAJfQogCi0JaWYgKGZpbGVfZXhpc3RzKGZpbGVuYW1lKSkKLQkJZGllKCJQYXRoICclcycgZXhpc3RzIG9uIGRpc2ssIGJ1dCBub3QgaW4gdGhlIGluZGV4LiIsIGZpbGVuYW1lKTsKKwlpZiAocmVwb19maWxlX2V4aXN0cyhyLCBmaWxlbmFtZSkpCisJCWRpZShfKCJwYXRoICclcycgZXhpc3RzIG9uIGRpc2ssIGJ1dCBub3QgaW4gdGhlIGluZGV4IiksIGZpbGVuYW1lKTsKIAlpZiAoaXNfbWlzc2luZ19maWxlX2Vycm9yKGVycm5vKSkKLQkJZGllKCJQYXRoICclcycgZG9lcyBub3QgZXhpc3QgKG5laXRoZXIgb24gZGlzayBub3IgaW4gdGhlIGluZGV4KS4iLAorCQlkaWUoXygicGF0aCAnJXMnIGRvZXMgbm90IGV4aXN0IChuZWl0aGVyIG9uIGRpc2sgbm9yIGluIHRoZSBpbmRleCkiKSwKIAkJICAgIGZpbGVuYW1lKTsKIAogCXN0cmJ1Zl9yZWxlYXNlKCZmdWxsbmFtZSk7CiB9CiAKIAotc3RhdGljIGNoYXIgKnJlc29sdmVfcmVsYXRpdmVfcGF0aChjb25zdCBjaGFyICpyZWwpCitzdGF0aWMgY2hhciAqcmVzb2x2ZV9yZWxhdGl2ZV9wYXRoKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBjaGFyICpyZWwpCiB7CiAJaWYgKCFzdGFydHNfd2l0aChyZWwsICIuLyIpICYmICFzdGFydHNfd2l0aChyZWwsICIuLi8iKSkKIAkJcmV0dXJuIE5VTEw7CiAKLQlpZiAoIWlzX2luc2lkZV93b3JrX3RyZWUoKSkKLQkJZGllKCJyZWxhdGl2ZSBwYXRoIHN5bnRheCBjYW4ndCBiZSB1c2VkIG91dHNpZGUgd29ya2luZyB0cmVlLiIpOworCWlmIChyICE9IHRoZV9yZXBvc2l0b3J5IHx8ICFpc19pbnNpZGVfd29ya190cmVlKCkpCisJCWRpZShfKCJyZWxhdGl2ZSBwYXRoIHN5bnRheCBjYW4ndCBiZSB1c2VkIG91dHNpZGUgd29ya2luZyB0cmVlIikpOwogCiAJLyogZGllKCkgaW5zaWRlIHByZWZpeF9wYXRoKCkgaWYgcmVzb2x2ZWQgcGF0aCBpcyBvdXRzaWRlIHdvcmt0cmVlICovCiAJcmV0dXJuIHByZWZpeF9wYXRoKHN0YXJ0dXBfaW5mby0+cHJlZml4LApAQCAtMTY5MCw3ICsxNzc2LDggQEAKIAkJCSAgIHJlbCk7CiB9CiAKLXN0YXRpYyBpbnQgZ2V0X29pZF93aXRoX2NvbnRleHRfMShjb25zdCBjaGFyICpuYW1lLAorc3RhdGljIGVudW0gZ2V0X29pZF9yZXN1bHQgZ2V0X29pZF93aXRoX2NvbnRleHRfMShzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCQkgIGNvbnN0IGNoYXIgKm5hbWUsCiAJCQkJICB1bnNpZ25lZCBmbGFncywKIAkJCQkgIGNvbnN0IGNoYXIgKnByZWZpeCwKIAkJCQkgIHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKQEAgLTE3MDcsNyArMTc5NCw3IEBACiAJbWVtc2V0KG9jLCAwLCBzaXplb2YoKm9jKSk7CiAJb2MtPm1vZGUgPSBTX0lGSU5WQUxJRDsKIAlzdHJidWZfaW5pdCgmb2MtPnN5bWxpbmtfcGF0aCwgMCk7Ci0JcmV0ID0gZ2V0X29pZF8xKG5hbWUsIG5hbWVsZW4sIG9pZCwgZmxhZ3MpOworCXJldCA9IGdldF9vaWRfMShyZXBvLCBuYW1lLCBuYW1lbGVuLCBvaWQsIGZsYWdzKTsKIAlpZiAoIXJldCkKIAkJcmV0dXJuIHJldDsKIAkvKgpAQCAtMTcyMywxMiArMTgxMCwxNSBAQAogCQljaGFyICpuZXdfcGF0aCA9IE5VTEw7CiAJCWludCBwb3M7CiAJCWlmICghb25seV90b19kaWUgJiYgbmFtZWxlbiA+IDIgJiYgbmFtZVsxXSA9PSAnLycpIHsKKwkJCXN0cnVjdCBoYW5kbGVfb25lX3JlZl9jYiBjYjsKIAkJCXN0cnVjdCBjb21taXRfbGlzdCAqbGlzdCA9IE5VTEw7CiAKLQkJCWZvcl9lYWNoX3JlZihoYW5kbGVfb25lX3JlZiwgJmxpc3QpOwotCQkJaGVhZF9yZWYoaGFuZGxlX29uZV9yZWYsICZsaXN0KTsKKwkJCWNiLnJlcG8gPSByZXBvOworCQkJY2IubGlzdCA9ICZsaXN0OworCQkJcmVmc19mb3JfZWFjaF9yZWYocmVwby0+cmVmcywgaGFuZGxlX29uZV9yZWYsICZjYik7CisJCQlyZWZzX2hlYWRfcmVmKHJlcG8tPnJlZnMsIGhhbmRsZV9vbmVfcmVmLCAmY2IpOwogCQkJY29tbWl0X2xpc3Rfc29ydF9ieV9kYXRlKCZsaXN0KTsKLQkJCXJldHVybiBnZXRfb2lkX29uZWxpbmUobmFtZSArIDIsIG9pZCwgbGlzdCk7CisJCQlyZXR1cm4gZ2V0X29pZF9vbmVsaW5lKHJlcG8sIG5hbWUgKyAyLCBvaWQsIGxpc3QpOwogCQl9CiAJCWlmIChuYW1lbGVuIDwgMyB8fAogCQkgICAgbmFtZVsyXSAhPSAnOicgfHwKQEAgLTE3MzgsNyArMTgyOCw3IEBACiAJCQlzdGFnZSA9IG5hbWVbMV0gLSAnMCc7CiAJCQljcCA9IG5hbWUgKyAzOwogCQl9Ci0JCW5ld19wYXRoID0gcmVzb2x2ZV9yZWxhdGl2ZV9wYXRoKGNwKTsKKwkJbmV3X3BhdGggPSByZXNvbHZlX3JlbGF0aXZlX3BhdGgocmVwbywgY3ApOwogCQlpZiAoIW5ld19wYXRoKSB7CiAJCQluYW1lbGVuID0gbmFtZWxlbiAtIChjcCAtIG5hbWUpOwogCQl9IGVsc2UgewpAQCAtMTc0OSwxMyArMTgzOSwxMyBAQAogCQlpZiAoZmxhZ3MgJiBHRVRfT0lEX1JFQ09SRF9QQVRIKQogCQkJb2MtPnBhdGggPSB4c3RyZHVwKGNwKTsKIAotCQlpZiAoIWFjdGl2ZV9jYWNoZSkKLQkJCXJlYWRfY2FjaGUoKTsKLQkJcG9zID0gY2FjaGVfbmFtZV9wb3MoY3AsIG5hbWVsZW4pOworCQlpZiAoIXJlcG8tPmluZGV4IHx8ICFyZXBvLT5pbmRleC0+Y2FjaGUpCisJCQlyZXBvX3JlYWRfaW5kZXgocmVwbyk7CisJCXBvcyA9IGluZGV4X25hbWVfcG9zKHJlcG8tPmluZGV4LCBjcCwgbmFtZWxlbik7CiAJCWlmIChwb3MgPCAwKQogCQkJcG9zID0gLXBvcyAtIDE7Ci0JCXdoaWxlIChwb3MgPCBhY3RpdmVfbnIpIHsKLQkJCWNlID0gYWN0aXZlX2NhY2hlW3Bvc107CisJCXdoaWxlIChwb3MgPCByZXBvLT5pbmRleC0+Y2FjaGVfbnIpIHsKKwkJCWNlID0gcmVwby0+aW5kZXgtPmNhY2hlW3Bvc107CiAJCQlpZiAoY2VfbmFtZWxlbihjZSkgIT0gbmFtZWxlbiB8fAogCQkJICAgIG1lbWNtcChjZS0+bmFtZSwgY3AsIG5hbWVsZW4pKQogCQkJCWJyZWFrOwpAQCAtMTc2OCw3ICsxODU4LDcgQEAKIAkJCXBvcysrOwogCQl9CiAJCWlmIChvbmx5X3RvX2RpZSAmJiBuYW1lWzFdICYmIG5hbWVbMV0gIT0gJy8nKQotCQkJZGlhZ25vc2VfaW52YWxpZF9pbmRleF9wYXRoKHN0YWdlLCBwcmVmaXgsIGNwKTsKKwkJCWRpYWdub3NlX2ludmFsaWRfaW5kZXhfcGF0aChyZXBvLCBzdGFnZSwgcHJlZml4LCBjcCk7CiAJCWZyZWUobmV3X3BhdGgpOwogCQlyZXR1cm4gLTE7CiAJfQpAQCAtMTc4OCwyMiArMTg3OCwyMiBAQAogCQlzdWJfZmxhZ3MgJj0gfkdFVF9PSURfRElTQU1CSUdVQVRPUlM7CiAJCXN1Yl9mbGFncyB8PSBHRVRfT0lEX1RSRUVJU0g7CiAKLQkJaWYgKCFnZXRfb2lkXzEobmFtZSwgbGVuLCAmdHJlZV9vaWQsIHN1Yl9mbGFncykpIHsKKwkJaWYgKCFnZXRfb2lkXzEocmVwbywgbmFtZSwgbGVuLCAmdHJlZV9vaWQsIHN1Yl9mbGFncykpIHsKIAkJCWNvbnN0IGNoYXIgKmZpbGVuYW1lID0gY3ArMTsKIAkJCWNoYXIgKm5ld19maWxlbmFtZSA9IE5VTEw7CiAKLQkJCW5ld19maWxlbmFtZSA9IHJlc29sdmVfcmVsYXRpdmVfcGF0aChmaWxlbmFtZSk7CisJCQluZXdfZmlsZW5hbWUgPSByZXNvbHZlX3JlbGF0aXZlX3BhdGgocmVwbywgZmlsZW5hbWUpOwogCQkJaWYgKG5ld19maWxlbmFtZSkKIAkJCQlmaWxlbmFtZSA9IG5ld19maWxlbmFtZTsKIAkJCWlmIChmbGFncyAmIEdFVF9PSURfRk9MTE9XX1NZTUxJTktTKSB7Ci0JCQkJcmV0ID0gZ2V0X3RyZWVfZW50cnlfZm9sbG93X3N5bWxpbmtzKCZ0cmVlX29pZCwKKwkJCQlyZXQgPSBnZXRfdHJlZV9lbnRyeV9mb2xsb3dfc3ltbGlua3MocmVwbywgJnRyZWVfb2lkLAogCQkJCQlmaWxlbmFtZSwgb2lkLCAmb2MtPnN5bWxpbmtfcGF0aCwKIAkJCQkJJm9jLT5tb2RlKTsKIAkJCX0gZWxzZSB7Ci0JCQkJcmV0ID0gZ2V0X3RyZWVfZW50cnkoJnRyZWVfb2lkLCBmaWxlbmFtZSwgb2lkLAorCQkJCXJldCA9IGdldF90cmVlX2VudHJ5KHJlcG8sICZ0cmVlX29pZCwgZmlsZW5hbWUsIG9pZCwKIAkJCQkJCSAgICAgJm9jLT5tb2RlKTsKIAkJCQlpZiAocmV0ICYmIG9ubHlfdG9fZGllKSB7Ci0JCQkJCWRpYWdub3NlX2ludmFsaWRfb2lkX3BhdGgocHJlZml4LAorCQkJCQlkaWFnbm9zZV9pbnZhbGlkX29pZF9wYXRoKHJlcG8sIHByZWZpeCwKIAkJCQkJCQkJICAgZmlsZW5hbWUsCiAJCQkJCQkJCSAgICZ0cmVlX29pZCwKIAkJCQkJCQkJICAgbmFtZSwgbGVuKTsKQEAgLTE4MTYsNyArMTkwNiw3IEBACiAJCQlyZXR1cm4gcmV0OwogCQl9IGVsc2UgewogCQkJaWYgKG9ubHlfdG9fZGllKQotCQkJCWRpZSgiSW52YWxpZCBvYmplY3QgbmFtZSAnJS4qcycuIiwgbGVuLCBuYW1lKTsKKwkJCQlkaWUoXygiaW52YWxpZCBvYmplY3QgbmFtZSAnJS4qcycuIiksIGxlbiwgbmFtZSk7CiAJCX0KIAl9CiAJcmV0dXJuIHJldDsKQEAgLTE4MjksMTYgKzE5MTksMjMgQEAKICAqIGV4aXN0IGluICdIRUFEJyIgd2hlbiBnaXZlbiAiSEVBRDpkb2MiLCBvciBpdCBtYXkgcmV0dXJuIGluIHdoaWNoIGNhc2UKICAqIHlvdSBoYXZlIGEgY2hhbmNlIHRvIGRpYWdub3NlIHRoZSBlcnJvciBmdXJ0aGVyLgogICovCi12b2lkIG1heWJlX2RpZV9vbl9taXNzcGVsdF9vYmplY3RfbmFtZShjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpwcmVmaXgpCit2b2lkIG1heWJlX2RpZV9vbl9taXNzcGVsdF9vYmplY3RfbmFtZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkgICAgICAgY29uc3QgY2hhciAqbmFtZSwKKwkJCQkgICAgICAgY29uc3QgY2hhciAqcHJlZml4KQogewogCXN0cnVjdCBvYmplY3RfY29udGV4dCBvYzsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKLQlnZXRfb2lkX3dpdGhfY29udGV4dF8xKG5hbWUsIEdFVF9PSURfT05MWV9UT19ESUUsIHByZWZpeCwgJm9pZCwgJm9jKTsKKwlnZXRfb2lkX3dpdGhfY29udGV4dF8xKHIsIG5hbWUsIEdFVF9PSURfT05MWV9UT19ESUUsCisJCQkgICAgICAgcHJlZml4LCAmb2lkLCAmb2MpOwogfQogCi1pbnQgZ2V0X29pZF93aXRoX2NvbnRleHQoY29uc3QgY2hhciAqc3RyLCB1bnNpZ25lZCBmbGFncywgc3RydWN0IG9iamVjdF9pZCAqb2lkLCBzdHJ1Y3Qgb2JqZWN0X2NvbnRleHQgKm9jKQorZW51bSBnZXRfb2lkX3Jlc3VsdCBnZXRfb2lkX3dpdGhfY29udGV4dChzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCQkJIGNvbnN0IGNoYXIgKnN0ciwKKwkJCQkJIHVuc2lnbmVkIGZsYWdzLAorCQkJCQkgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkJCQkgc3RydWN0IG9iamVjdF9jb250ZXh0ICpvYykKIHsKIAlpZiAoZmxhZ3MgJiBHRVRfT0lEX0ZPTExPV19TWU1MSU5LUyAmJiBmbGFncyAmIEdFVF9PSURfT05MWV9UT19ESUUpCiAJCUJVRygiaW5jb21wYXRpYmxlIGZsYWdzIGZvciBnZXRfc2hhMV93aXRoX2NvbnRleHQiKTsKLQlyZXR1cm4gZ2V0X29pZF93aXRoX2NvbnRleHRfMShzdHIsIGZsYWdzLCBOVUxMLCBvaWQsIG9jKTsKKwlyZXR1cm4gZ2V0X29pZF93aXRoX2NvbnRleHRfMShyZXBvLCBzdHIsIGZsYWdzLCBOVUxMLCBvaWQsIG9jKTsKIH0KZGlmZiAtLWdpdCBhL3NoYTFjb2xsaXNpb25kZXRlY3Rpb24gYi9zaGExY29sbGlzaW9uZGV0ZWN0aW9uCmluZGV4IDIzMjM1N2UuLjg1NTgyN2MgMTYwMDAwCi0tLSBhL3NoYTFjb2xsaXNpb25kZXRlY3Rpb24KKysrIGIvc2hhMWNvbGxpc2lvbmRldGVjdGlvbgpAQCAtMSArMSBAQAotU3VicHJvamVjdCBjb21taXQgMjMyMzU3ZWIyZWEwMzk3Mzg4MjU0YTRiMTg4MzMzYTIyN2JmNWIxMAorU3VicHJvamVjdCBjb21taXQgODU1ODI3YzU4M2JjMzA2NDViYTQyNzg4NWNhYTQwYzViODE3NjRkMgpkaWZmIC0tZ2l0IGEvc2hhMWRjL3NoYTEuYyBiL3NoYTFkYy9zaGExLmMKaW5kZXggZGYwNjMwYi4uZGVkZTJjYiAxMDA2NDQKLS0tIGEvc2hhMWRjL3NoYTEuYworKysgYi9zaGExZGMvc2hhMS5jCkBAIC03Miw3ICs3Miw3IEBACiAvKiBOb3QgdW5kZXIgR0NDLWFsaWtlIG9yIGdsaWJjICovCiAjZWxpZiBkZWZpbmVkKF9CWVRFX09SREVSKSAmJiBkZWZpbmVkKF9CSUdfRU5ESUFOKSAmJiBkZWZpbmVkKF9MSVRUTEVfRU5ESUFOKQogLyoKLSAqICpCU0QgYW5kIG5ld2xpYiAoZW1iZWRlZCBsaW51eCwgY3lnd2luLCBldGMpLgorICogKkJTRCBhbmQgbmV3bGliIChlbWJlZGRlZCBsaW51eCwgY3lnd2luLCBldGMpLgogICogdGhlIGRlZmluZWQoX0JJR19FTkRJQU4pICYmIGRlZmluZWQoX0xJVFRMRV9FTkRJQU4pIHBhcnQgcHJldmVudHMKICAqIHRoaXMgY29uZGl0aW9uIGZyb20gbWF0Y2hpbmcgd2l0aCBTb2xhcmlzL3NwYXJjLgogICogKFNvbGFyaXMgZGVmaW5lcyBvbmx5IG9uZSBlbmRpYW4gbWFjcm8pCkBAIC05MywxMiArOTMsMTIgQEAKICNkZWZpbmUgU0hBMURDX0JJR0VORElBTgogCiAvKiBOb3QgdW5kZXIgR0NDLWFsaWtlIG9yIGdsaWJjIG9yICpCU0Qgb3IgbmV3bGliIG9yIDxwcm9jZXNzb3Igd2hpdGVsaXN0PiAqLwotI2VsaWYgKGRlZmluZWQoX0FJWCkpCisjZWxpZiAoZGVmaW5lZChfQUlYKSB8fCBkZWZpbmVkKF9faHB1eCkpCiAKIC8qCiAgKiBEZWZpbmVzIEJpZyBFbmRpYW4gb24gYSB3aGl0ZWxpc3Qgb2YgT1NzIHRoYXQgYXJlIGtub3duIHRvIGJlIEJpZwogICogRW5kaWFuLW9ubHkuIFNlZQotICogaHR0cHM6Ly9wdWJsaWMtaW5ib3gub3JnL2dpdC85MzA1NjgyMy0yNzQwLWQwNzItMWViZC00NmI0NDBiMzNkN2VAZmVsdC5kZW1vbi5ubC8KKyAqIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2dpdC85MzA1NjgyMy0yNzQwLWQwNzItMWViZC00NmI0NDBiMzNkN2VAZmVsdC5kZW1vbi5ubC8KICAqLwogI2RlZmluZSBTSEExRENfQklHRU5ESUFOCiAKQEAgLTEyNCwxMCArMTI0LDExIEBACiAjZW5kaWYKIC8qRU5ESUFOTkVTUyBTRUxFQ1RJT04qLwogCisjaWZuZGVmIFNIQTFEQ19GT1JDRV9BTElHTkVEX0FDQ0VTUwogI2lmIGRlZmluZWQoU0hBMURDX0ZPUkNFX1VOQUxJR05FRF9BQ0NFU1MpIHx8IGRlZmluZWQoU0hBMURDX09OX0lOVEVMX0xJS0VfUFJPQ0VTU09SKQogI2RlZmluZSBTSEExRENfQUxMT1dfVU5BTElHTkVEX0FDQ0VTUwotI2VuZGlmIC8qVU5BTElHTk1FTlQgREVURUNUSU9OKi8KLQorI2VuZGlmIC8qVU5BTElHTkVEIEFDQ0VTUyBERVRFQ1RJT04qLworI2VuZGlmIC8qRk9SQ0UgQUxJR05FRCBBQ0NFU1MqLwogCiAjZGVmaW5lIHJvdGF0ZV9yaWdodCh4LG4pICgoKHgpPj4obikpfCgoeCk8PCgzMi0obikpKSkKICNkZWZpbmUgcm90YXRlX2xlZnQoeCxuKSAgKCgoeCk8PChuKSl8KCh4KT4+KDMyLShuKSkpKQpkaWZmIC0tZ2l0IGEvc2hhMWRjX2dpdC5jIGIvc2hhMWRjX2dpdC5jCmluZGV4IGUwY2M5ZDkuLjVjMzAwZTggMTAwNjQ0Ci0tLSBhL3NoYTFkY19naXQuYworKysgYi9zaGExZGNfZ2l0LmMKQEAgLTE5LDcgKzE5LDcgQEAKIAlpZiAoIVNIQTFEQ0ZpbmFsKGhhc2gsIGN0eCkpCiAJCXJldHVybjsKIAlkaWUoIlNIQS0xIGFwcGVhcnMgdG8gYmUgcGFydCBvZiBhIGNvbGxpc2lvbiBhdHRhY2s6ICVzIiwKLQkgICAgc2hhMV90b19oZXgoaGFzaCkpOworCSAgICBoYXNoX3RvX2hleF9hbGdvcChoYXNoLCAmaGFzaF9hbGdvc1tHSVRfSEFTSF9TSEExXSkpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc2hhMjU2L2Jsb2NrL3NoYTI1Ni5jIGIvc2hhMjU2L2Jsb2NrL3NoYTI1Ni5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3ODUwYjQKLS0tIC9kZXYvbnVsbAorKysgYi9zaGEyNTYvYmxvY2svc2hhMjU2LmMKQEAgLTAsMCArMSwxOTYgQEAKKyNpbmNsdWRlICJnaXQtY29tcGF0LXV0aWwuaCIKKyNpbmNsdWRlICIuL3NoYTI1Ni5oIgorCisjdW5kZWYgUk5ECisjdW5kZWYgQkxLU0laRQorCisjZGVmaW5lIEJMS1NJWkUgYmxrX1NIQTI1Nl9CTEtTSVpFCisKK3ZvaWQgYmxrX1NIQTI1Nl9Jbml0KGJsa19TSEEyNTZfQ1RYICpjdHgpCit7CisJY3R4LT5vZmZzZXQgPSAwOworCWN0eC0+c2l6ZSA9IDA7CisJY3R4LT5zdGF0ZVswXSA9IDB4NmEwOWU2Njd1bDsKKwljdHgtPnN0YXRlWzFdID0gMHhiYjY3YWU4NXVsOworCWN0eC0+c3RhdGVbMl0gPSAweDNjNmVmMzcydWw7CisJY3R4LT5zdGF0ZVszXSA9IDB4YTU0ZmY1M2F1bDsKKwljdHgtPnN0YXRlWzRdID0gMHg1MTBlNTI3ZnVsOworCWN0eC0+c3RhdGVbNV0gPSAweDliMDU2ODhjdWw7CisJY3R4LT5zdGF0ZVs2XSA9IDB4MWY4M2Q5YWJ1bDsKKwljdHgtPnN0YXRlWzddID0gMHg1YmUwY2QxOXVsOworfQorCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IHJvcih1aW50MzJfdCB4LCB1bnNpZ25lZCBuKQoreworCXJldHVybiAoeCA+PiBuKSB8ICh4IDw8ICgzMiAtIG4pKTsKK30KKworc3RhdGljIGlubGluZSB1aW50MzJfdCBjaCh1aW50MzJfdCB4LCB1aW50MzJfdCB5LCB1aW50MzJfdCB6KQoreworCXJldHVybiB6IF4gKHggJiAoeSBeIHopKTsKK30KKworc3RhdGljIGlubGluZSB1aW50MzJfdCBtYWoodWludDMyX3QgeCwgdWludDMyX3QgeSwgdWludDMyX3QgeikKK3sKKwlyZXR1cm4gKCh4IHwgeSkgJiB6KSB8ICh4ICYgeSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdWludDMyX3Qgc2lnbWEwKHVpbnQzMl90IHgpCit7CisJcmV0dXJuIHJvcih4LCAyKSBeIHJvcih4LCAxMykgXiByb3IoeCwgMjIpOworfQorCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IHNpZ21hMSh1aW50MzJfdCB4KQoreworCXJldHVybiByb3IoeCwgNikgXiByb3IoeCwgMTEpIF4gcm9yKHgsIDI1KTsKK30KKworc3RhdGljIGlubGluZSB1aW50MzJfdCBnYW1tYTAodWludDMyX3QgeCkKK3sKKwlyZXR1cm4gcm9yKHgsIDcpIF4gcm9yKHgsIDE4KSBeICh4ID4+IDMpOworfQorCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IGdhbW1hMSh1aW50MzJfdCB4KQoreworCXJldHVybiByb3IoeCwgMTcpIF4gcm9yKHgsIDE5KSBeICh4ID4+IDEwKTsKK30KKworc3RhdGljIHZvaWQgYmxrX1NIQTI1Nl9UcmFuc2Zvcm0oYmxrX1NIQTI1Nl9DVFggKmN0eCwgY29uc3QgdW5zaWduZWQgY2hhciAqYnVmKQoreworCisJdWludDMyX3QgU1s4XSwgV1s2NF0sIHQwLCB0MTsKKwlpbnQgaTsKKworCS8qIGNvcHkgc3RhdGUgaW50byBTICovCisJZm9yIChpID0gMDsgaSA8IDg7IGkrKykKKwkJU1tpXSA9IGN0eC0+c3RhdGVbaV07CisKKwkvKiBjb3B5IHRoZSBzdGF0ZSBpbnRvIDUxMi1iaXRzIGludG8gV1swLi4xNV0gKi8KKwlmb3IgKGkgPSAwOyBpIDwgMTY7IGkrKywgYnVmICs9IHNpemVvZih1aW50MzJfdCkpCisJCVdbaV0gPSBnZXRfYmUzMihidWYpOworCisJLyogZmlsbCBXWzE2Li42M10gKi8KKwlmb3IgKGkgPSAxNjsgaSA8IDY0OyBpKyspCisJCVdbaV0gPSBnYW1tYTEoV1tpIC0gMl0pICsgV1tpIC0gN10gKyBnYW1tYTAoV1tpIC0gMTVdKSArIFdbaSAtIDE2XTsKKworI2RlZmluZSBSTkQoYSxiLGMsZCxlLGYsZyxoLGksa2kpICAgICAgICAgICAgICAgICAgICBcCisJdDAgPSBoICsgc2lnbWExKGUpICsgY2goZSwgZiwgZykgKyBraSArIFdbaV07ICAgXAorCXQxID0gc2lnbWEwKGEpICsgbWFqKGEsIGIsIGMpOyAgICAgICAgICAgICAgICAgIFwKKwlkICs9IHQwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisJaCAgPSB0MCArIHQxOworCisJUk5EKFNbMF0sU1sxXSxTWzJdLFNbM10sU1s0XSxTWzVdLFNbNl0sU1s3XSwwLDB4NDI4YTJmOTgpOworCVJORChTWzddLFNbMF0sU1sxXSxTWzJdLFNbM10sU1s0XSxTWzVdLFNbNl0sMSwweDcxMzc0NDkxKTsKKwlSTkQoU1s2XSxTWzddLFNbMF0sU1sxXSxTWzJdLFNbM10sU1s0XSxTWzVdLDIsMHhiNWMwZmJjZik7CisJUk5EKFNbNV0sU1s2XSxTWzddLFNbMF0sU1sxXSxTWzJdLFNbM10sU1s0XSwzLDB4ZTliNWRiYTUpOworCVJORChTWzRdLFNbNV0sU1s2XSxTWzddLFNbMF0sU1sxXSxTWzJdLFNbM10sNCwweDM5NTZjMjViKTsKKwlSTkQoU1szXSxTWzRdLFNbNV0sU1s2XSxTWzddLFNbMF0sU1sxXSxTWzJdLDUsMHg1OWYxMTFmMSk7CisJUk5EKFNbMl0sU1szXSxTWzRdLFNbNV0sU1s2XSxTWzddLFNbMF0sU1sxXSw2LDB4OTIzZjgyYTQpOworCVJORChTWzFdLFNbMl0sU1szXSxTWzRdLFNbNV0sU1s2XSxTWzddLFNbMF0sNywweGFiMWM1ZWQ1KTsKKwlSTkQoU1swXSxTWzFdLFNbMl0sU1szXSxTWzRdLFNbNV0sU1s2XSxTWzddLDgsMHhkODA3YWE5OCk7CisJUk5EKFNbN10sU1swXSxTWzFdLFNbMl0sU1szXSxTWzRdLFNbNV0sU1s2XSw5LDB4MTI4MzViMDEpOworCVJORChTWzZdLFNbN10sU1swXSxTWzFdLFNbMl0sU1szXSxTWzRdLFNbNV0sMTAsMHgyNDMxODViZSk7CisJUk5EKFNbNV0sU1s2XSxTWzddLFNbMF0sU1sxXSxTWzJdLFNbM10sU1s0XSwxMSwweDU1MGM3ZGMzKTsKKwlSTkQoU1s0XSxTWzVdLFNbNl0sU1s3XSxTWzBdLFNbMV0sU1syXSxTWzNdLDEyLDB4NzJiZTVkNzQpOworCVJORChTWzNdLFNbNF0sU1s1XSxTWzZdLFNbN10sU1swXSxTWzFdLFNbMl0sMTMsMHg4MGRlYjFmZSk7CisJUk5EKFNbMl0sU1szXSxTWzRdLFNbNV0sU1s2XSxTWzddLFNbMF0sU1sxXSwxNCwweDliZGMwNmE3KTsKKwlSTkQoU1sxXSxTWzJdLFNbM10sU1s0XSxTWzVdLFNbNl0sU1s3XSxTWzBdLDE1LDB4YzE5YmYxNzQpOworCVJORChTWzBdLFNbMV0sU1syXSxTWzNdLFNbNF0sU1s1XSxTWzZdLFNbN10sMTYsMHhlNDliNjljMSk7CisJUk5EKFNbN10sU1swXSxTWzFdLFNbMl0sU1szXSxTWzRdLFNbNV0sU1s2XSwxNywweGVmYmU0Nzg2KTsKKwlSTkQoU1s2XSxTWzddLFNbMF0sU1sxXSxTWzJdLFNbM10sU1s0XSxTWzVdLDE4LDB4MGZjMTlkYzYpOworCVJORChTWzVdLFNbNl0sU1s3XSxTWzBdLFNbMV0sU1syXSxTWzNdLFNbNF0sMTksMHgyNDBjYTFjYyk7CisJUk5EKFNbNF0sU1s1XSxTWzZdLFNbN10sU1swXSxTWzFdLFNbMl0sU1szXSwyMCwweDJkZTkyYzZmKTsKKwlSTkQoU1szXSxTWzRdLFNbNV0sU1s2XSxTWzddLFNbMF0sU1sxXSxTWzJdLDIxLDB4NGE3NDg0YWEpOworCVJORChTWzJdLFNbM10sU1s0XSxTWzVdLFNbNl0sU1s3XSxTWzBdLFNbMV0sMjIsMHg1Y2IwYTlkYyk7CisJUk5EKFNbMV0sU1syXSxTWzNdLFNbNF0sU1s1XSxTWzZdLFNbN10sU1swXSwyMywweDc2Zjk4OGRhKTsKKwlSTkQoU1swXSxTWzFdLFNbMl0sU1szXSxTWzRdLFNbNV0sU1s2XSxTWzddLDI0LDB4OTgzZTUxNTIpOworCVJORChTWzddLFNbMF0sU1sxXSxTWzJdLFNbM10sU1s0XSxTWzVdLFNbNl0sMjUsMHhhODMxYzY2ZCk7CisJUk5EKFNbNl0sU1s3XSxTWzBdLFNbMV0sU1syXSxTWzNdLFNbNF0sU1s1XSwyNiwweGIwMDMyN2M4KTsKKwlSTkQoU1s1XSxTWzZdLFNbN10sU1swXSxTWzFdLFNbMl0sU1szXSxTWzRdLDI3LDB4YmY1OTdmYzcpOworCVJORChTWzRdLFNbNV0sU1s2XSxTWzddLFNbMF0sU1sxXSxTWzJdLFNbM10sMjgsMHhjNmUwMGJmMyk7CisJUk5EKFNbM10sU1s0XSxTWzVdLFNbNl0sU1s3XSxTWzBdLFNbMV0sU1syXSwyOSwweGQ1YTc5MTQ3KTsKKwlSTkQoU1syXSxTWzNdLFNbNF0sU1s1XSxTWzZdLFNbN10sU1swXSxTWzFdLDMwLDB4MDZjYTYzNTEpOworCVJORChTWzFdLFNbMl0sU1szXSxTWzRdLFNbNV0sU1s2XSxTWzddLFNbMF0sMzEsMHgxNDI5Mjk2Nyk7CisJUk5EKFNbMF0sU1sxXSxTWzJdLFNbM10sU1s0XSxTWzVdLFNbNl0sU1s3XSwzMiwweDI3YjcwYTg1KTsKKwlSTkQoU1s3XSxTWzBdLFNbMV0sU1syXSxTWzNdLFNbNF0sU1s1XSxTWzZdLDMzLDB4MmUxYjIxMzgpOworCVJORChTWzZdLFNbN10sU1swXSxTWzFdLFNbMl0sU1szXSxTWzRdLFNbNV0sMzQsMHg0ZDJjNmRmYyk7CisJUk5EKFNbNV0sU1s2XSxTWzddLFNbMF0sU1sxXSxTWzJdLFNbM10sU1s0XSwzNSwweDUzMzgwZDEzKTsKKwlSTkQoU1s0XSxTWzVdLFNbNl0sU1s3XSxTWzBdLFNbMV0sU1syXSxTWzNdLDM2LDB4NjUwYTczNTQpOworCVJORChTWzNdLFNbNF0sU1s1XSxTWzZdLFNbN10sU1swXSxTWzFdLFNbMl0sMzcsMHg3NjZhMGFiYik7CisJUk5EKFNbMl0sU1szXSxTWzRdLFNbNV0sU1s2XSxTWzddLFNbMF0sU1sxXSwzOCwweDgxYzJjOTJlKTsKKwlSTkQoU1sxXSxTWzJdLFNbM10sU1s0XSxTWzVdLFNbNl0sU1s3XSxTWzBdLDM5LDB4OTI3MjJjODUpOworCVJORChTWzBdLFNbMV0sU1syXSxTWzNdLFNbNF0sU1s1XSxTWzZdLFNbN10sNDAsMHhhMmJmZThhMSk7CisJUk5EKFNbN10sU1swXSxTWzFdLFNbMl0sU1szXSxTWzRdLFNbNV0sU1s2XSw0MSwweGE4MWE2NjRiKTsKKwlSTkQoU1s2XSxTWzddLFNbMF0sU1sxXSxTWzJdLFNbM10sU1s0XSxTWzVdLDQyLDB4YzI0YjhiNzApOworCVJORChTWzVdLFNbNl0sU1s3XSxTWzBdLFNbMV0sU1syXSxTWzNdLFNbNF0sNDMsMHhjNzZjNTFhMyk7CisJUk5EKFNbNF0sU1s1XSxTWzZdLFNbN10sU1swXSxTWzFdLFNbMl0sU1szXSw0NCwweGQxOTJlODE5KTsKKwlSTkQoU1szXSxTWzRdLFNbNV0sU1s2XSxTWzddLFNbMF0sU1sxXSxTWzJdLDQ1LDB4ZDY5OTA2MjQpOworCVJORChTWzJdLFNbM10sU1s0XSxTWzVdLFNbNl0sU1s3XSxTWzBdLFNbMV0sNDYsMHhmNDBlMzU4NSk7CisJUk5EKFNbMV0sU1syXSxTWzNdLFNbNF0sU1s1XSxTWzZdLFNbN10sU1swXSw0NywweDEwNmFhMDcwKTsKKwlSTkQoU1swXSxTWzFdLFNbMl0sU1szXSxTWzRdLFNbNV0sU1s2XSxTWzddLDQ4LDB4MTlhNGMxMTYpOworCVJORChTWzddLFNbMF0sU1sxXSxTWzJdLFNbM10sU1s0XSxTWzVdLFNbNl0sNDksMHgxZTM3NmMwOCk7CisJUk5EKFNbNl0sU1s3XSxTWzBdLFNbMV0sU1syXSxTWzNdLFNbNF0sU1s1XSw1MCwweDI3NDg3NzRjKTsKKwlSTkQoU1s1XSxTWzZdLFNbN10sU1swXSxTWzFdLFNbMl0sU1szXSxTWzRdLDUxLDB4MzRiMGJjYjUpOworCVJORChTWzRdLFNbNV0sU1s2XSxTWzddLFNbMF0sU1sxXSxTWzJdLFNbM10sNTIsMHgzOTFjMGNiMyk7CisJUk5EKFNbM10sU1s0XSxTWzVdLFNbNl0sU1s3XSxTWzBdLFNbMV0sU1syXSw1MywweDRlZDhhYTRhKTsKKwlSTkQoU1syXSxTWzNdLFNbNF0sU1s1XSxTWzZdLFNbN10sU1swXSxTWzFdLDU0LDB4NWI5Y2NhNGYpOworCVJORChTWzFdLFNbMl0sU1szXSxTWzRdLFNbNV0sU1s2XSxTWzddLFNbMF0sNTUsMHg2ODJlNmZmMyk7CisJUk5EKFNbMF0sU1sxXSxTWzJdLFNbM10sU1s0XSxTWzVdLFNbNl0sU1s3XSw1NiwweDc0OGY4MmVlKTsKKwlSTkQoU1s3XSxTWzBdLFNbMV0sU1syXSxTWzNdLFNbNF0sU1s1XSxTWzZdLDU3LDB4NzhhNTYzNmYpOworCVJORChTWzZdLFNbN10sU1swXSxTWzFdLFNbMl0sU1szXSxTWzRdLFNbNV0sNTgsMHg4NGM4NzgxNCk7CisJUk5EKFNbNV0sU1s2XSxTWzddLFNbMF0sU1sxXSxTWzJdLFNbM10sU1s0XSw1OSwweDhjYzcwMjA4KTsKKwlSTkQoU1s0XSxTWzVdLFNbNl0sU1s3XSxTWzBdLFNbMV0sU1syXSxTWzNdLDYwLDB4OTBiZWZmZmEpOworCVJORChTWzNdLFNbNF0sU1s1XSxTWzZdLFNbN10sU1swXSxTWzFdLFNbMl0sNjEsMHhhNDUwNmNlYik7CisJUk5EKFNbMl0sU1szXSxTWzRdLFNbNV0sU1s2XSxTWzddLFNbMF0sU1sxXSw2MiwweGJlZjlhM2Y3KTsKKwlSTkQoU1sxXSxTWzJdLFNbM10sU1s0XSxTWzVdLFNbNl0sU1s3XSxTWzBdLDYzLDB4YzY3MTc4ZjIpOworCisJZm9yIChpID0gMDsgaSA8IDg7IGkrKykKKwkJY3R4LT5zdGF0ZVtpXSArPSBTW2ldOworfQorCit2b2lkIGJsa19TSEEyNTZfVXBkYXRlKGJsa19TSEEyNTZfQ1RYICpjdHgsIGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4pCit7CisJdW5zaWduZWQgaW50IGxlbl9idWYgPSBjdHgtPnNpemUgJiA2MzsKKworCWN0eC0+c2l6ZSArPSBsZW47CisKKwkvKiBSZWFkIHRoZSBkYXRhIGludG8gYnVmIGFuZCBwcm9jZXNzIGJsb2NrcyBhcyB0aGV5IGdldCBmdWxsICovCisJaWYgKGxlbl9idWYpIHsKKwkJdW5zaWduZWQgaW50IGxlZnQgPSA2NCAtIGxlbl9idWY7CisJCWlmIChsZW4gPCBsZWZ0KQorCQkJbGVmdCA9IGxlbjsKKwkJbWVtY3B5KGxlbl9idWYgKyBjdHgtPmJ1ZiwgZGF0YSwgbGVmdCk7CisJCWxlbl9idWYgPSAobGVuX2J1ZiArIGxlZnQpICYgNjM7CisJCWxlbiAtPSBsZWZ0OworCQlkYXRhID0gKChjb25zdCBjaGFyICopZGF0YSArIGxlZnQpOworCQlpZiAobGVuX2J1ZikKKwkJCXJldHVybjsKKwkJYmxrX1NIQTI1Nl9UcmFuc2Zvcm0oY3R4LCBjdHgtPmJ1Zik7CisJfQorCXdoaWxlIChsZW4gPj0gNjQpIHsKKwkJYmxrX1NIQTI1Nl9UcmFuc2Zvcm0oY3R4LCBkYXRhKTsKKwkJZGF0YSA9ICgoY29uc3QgY2hhciAqKWRhdGEgKyA2NCk7CisJCWxlbiAtPSA2NDsKKwl9CisJaWYgKGxlbikKKwkJbWVtY3B5KGN0eC0+YnVmLCBkYXRhLCBsZW4pOworfQorCit2b2lkIGJsa19TSEEyNTZfRmluYWwodW5zaWduZWQgY2hhciAqZGlnZXN0LCBibGtfU0hBMjU2X0NUWCAqY3R4KQoreworCXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhZFs2NF0gPSB7IDB4ODAgfTsKKwl1bnNpZ25lZCBpbnQgcGFkbGVuWzJdOworCWludCBpOworCisJLyogUGFkIHdpdGggYSBiaW5hcnkgMSAoaWUgMHg4MCksIHRoZW4gemVyb2VzLCB0aGVuIGxlbmd0aCAqLworCXBhZGxlblswXSA9IGh0b25sKCh1aW50MzJfdCkoY3R4LT5zaXplID4+IDI5KSk7CisJcGFkbGVuWzFdID0gaHRvbmwoKHVpbnQzMl90KShjdHgtPnNpemUgPDwgMykpOworCisJaSA9IGN0eC0+c2l6ZSAmIDYzOworCWJsa19TSEEyNTZfVXBkYXRlKGN0eCwgcGFkLCAxICsgKDYzICYgKDU1IC0gaSkpKTsKKwlibGtfU0hBMjU2X1VwZGF0ZShjdHgsIHBhZGxlbiwgOCk7CisKKwkvKiBjb3B5IG91dHB1dCAqLworCWZvciAoaSA9IDA7IGkgPCA4OyBpKyssIGRpZ2VzdCArPSBzaXplb2YodWludDMyX3QpKQorCQlwdXRfYmUzMihkaWdlc3QsIGN0eC0+c3RhdGVbaV0pOworfQpkaWZmIC0tZ2l0IGEvc2hhMjU2L2Jsb2NrL3NoYTI1Ni5oIGIvc2hhMjU2L2Jsb2NrL3NoYTI1Ni5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwOTlkNjQKLS0tIC9kZXYvbnVsbAorKysgYi9zaGEyNTYvYmxvY2svc2hhMjU2LmgKQEAgLTAsMCArMSwyNCBAQAorI2lmbmRlZiBTSEEyNTZfQkxPQ0tfU0hBMjU2X0gKKyNkZWZpbmUgU0hBMjU2X0JMT0NLX1NIQTI1Nl9ICisKKyNkZWZpbmUgYmxrX1NIQTI1Nl9CTEtTSVpFIDY0CisKK3N0cnVjdCBibGtfU0hBMjU2X0NUWCB7CisJdWludDMyX3Qgc3RhdGVbOF07CisJdWludDY0X3Qgc2l6ZTsKKwl1aW50MzJfdCBvZmZzZXQ7CisJdWludDhfdCBidWZbYmxrX1NIQTI1Nl9CTEtTSVpFXTsKK307CisKK3R5cGVkZWYgc3RydWN0IGJsa19TSEEyNTZfQ1RYIGJsa19TSEEyNTZfQ1RYOworCit2b2lkIGJsa19TSEEyNTZfSW5pdChibGtfU0hBMjU2X0NUWCAqY3R4KTsKK3ZvaWQgYmxrX1NIQTI1Nl9VcGRhdGUoYmxrX1NIQTI1Nl9DVFggKmN0eCwgY29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90IGxlbik7Cit2b2lkIGJsa19TSEEyNTZfRmluYWwodW5zaWduZWQgY2hhciAqZGlnZXN0LCBibGtfU0hBMjU2X0NUWCAqY3R4KTsKKworI2RlZmluZSBwbGF0Zm9ybV9TSEEyNTZfQ1RYIGJsa19TSEEyNTZfQ1RYCisjZGVmaW5lIHBsYXRmb3JtX1NIQTI1Nl9Jbml0IGJsa19TSEEyNTZfSW5pdAorI2RlZmluZSBwbGF0Zm9ybV9TSEEyNTZfVXBkYXRlIGJsa19TSEEyNTZfVXBkYXRlCisjZGVmaW5lIHBsYXRmb3JtX1NIQTI1Nl9GaW5hbCBibGtfU0hBMjU2X0ZpbmFsCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc2hhMjU2L2djcnlwdC5oIGIvc2hhMjU2L2djcnlwdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5YmQ4YmIKLS0tIC9kZXYvbnVsbAorKysgYi9zaGEyNTYvZ2NyeXB0LmgKQEAgLTAsMCArMSwzMCBAQAorI2lmbmRlZiBTSEEyNTZfR0NSWVBUX0gKKyNkZWZpbmUgU0hBMjU2X0dDUllQVF9ICisKKyNpbmNsdWRlIDxnY3J5cHQuaD4KKworI2RlZmluZSBTSEEyNTZfRElHRVNUX1NJWkUgMzIKKwordHlwZWRlZiBnY3J5X21kX2hkX3QgZ2NyeXB0X1NIQTI1Nl9DVFg7CisKK2lubGluZSB2b2lkIGdjcnlwdF9TSEEyNTZfSW5pdChnY3J5cHRfU0hBMjU2X0NUWCAqY3R4KQoreworCWdjcnlfbWRfb3BlbihjdHgsIEdDUllfTURfU0hBMjU2LCAwKTsKK30KKworaW5saW5lIHZvaWQgZ2NyeXB0X1NIQTI1Nl9VcGRhdGUoZ2NyeXB0X1NIQTI1Nl9DVFggKmN0eCwgY29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90IGxlbikKK3sKKwlnY3J5X21kX3dyaXRlKCpjdHgsIGRhdGEsIGxlbik7Cit9CisKK2lubGluZSB2b2lkIGdjcnlwdF9TSEEyNTZfRmluYWwodW5zaWduZWQgY2hhciAqZGlnZXN0LCBnY3J5cHRfU0hBMjU2X0NUWCAqY3R4KQoreworCW1lbWNweShkaWdlc3QsIGdjcnlfbWRfcmVhZCgqY3R4LCBHQ1JZX01EX1NIQTI1NiksIFNIQTI1Nl9ESUdFU1RfU0laRSk7Cit9CisKKyNkZWZpbmUgcGxhdGZvcm1fU0hBMjU2X0NUWCBnY3J5cHRfU0hBMjU2X0NUWAorI2RlZmluZSBwbGF0Zm9ybV9TSEEyNTZfSW5pdCBnY3J5cHRfU0hBMjU2X0luaXQKKyNkZWZpbmUgcGxhdGZvcm1fU0hBMjU2X1VwZGF0ZSBnY3J5cHRfU0hBMjU2X1VwZGF0ZQorI2RlZmluZSBwbGF0Zm9ybV9TSEEyNTZfRmluYWwgZ2NyeXB0X1NIQTI1Nl9GaW5hbAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL3NoYWxsb3cuYyBiL3NoYWxsb3cuYwppbmRleCAwMmZkYmZjLi43ZmQwNGFmIDEwMDY0NAotLS0gYS9zaGFsbG93LmMKKysrIGIvc2hhbGxvdy5jCkBAIC0xMiwxMCArMTIsNyBAQAogI2luY2x1ZGUgImRpZmYuaCIKICNpbmNsdWRlICJyZXZpc2lvbi5oIgogI2luY2x1ZGUgImNvbW1pdC1zbGFiLmgiCi0jaW5jbHVkZSAicmV2aXNpb24uaCIKICNpbmNsdWRlICJsaXN0LW9iamVjdHMuaCIKLSNpbmNsdWRlICJjb21taXQtc2xhYi5oIgotI2luY2x1ZGUgInJlcG9zaXRvcnkuaCIKICNpbmNsdWRlICJjb21taXQtcmVhY2guaCIKIAogdm9pZCBzZXRfYWx0ZXJuYXRlX3NoYWxsb3dfZmlsZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3QgY2hhciAqcGF0aCwgaW50IG92ZXJyaWRlKQpAQCAtNDMsNiArNDAsMTMgQEAKIAogaW50IGlzX3JlcG9zaXRvcnlfc2hhbGxvdyhzdHJ1Y3QgcmVwb3NpdG9yeSAqcikKIHsKKwkvKgorCSAqIE5FRURTV09SSzogVGhpcyBmdW5jdGlvbiB1cGRhdGVzCisJICogci0+cGFyc2VkX29iamVjdHMtPntpc19zaGFsbG93LHNoYWxsb3dfc3RhdH0gYXMgYSBzaWRlIGVmZmVjdCBidXQKKwkgKiB0aGVyZSBpcyBubyBjb3JyZXNwb25kaW5nIGZ1bmN0aW9uIHRvIGNsZWFyIHRoZW0gd2hlbiB0aGUgc2hhbGxvdworCSAqIGZpbGUgaXMgdXBkYXRlZC4KKwkgKi8KKwogCUZJTEUgKmZwOwogCWNoYXIgYnVmWzEwMjRdOwogCWNvbnN0IGNoYXIgKnBhdGggPSByLT5wYXJzZWRfb2JqZWN0cy0+YWx0ZXJuYXRlX3NoYWxsb3dfZmlsZTsKQEAgLTE0OSw2ICsxNTMsOCBAQAogCWZvciAoaSA9IDA7IGkgPCBkZXB0aHMuc2xhYl9jb3VudDsgaSsrKSB7CiAJCWludCBqOwogCisJCWlmICghZGVwdGhzLnNsYWJbaV0pCisJCQljb250aW51ZTsKIAkJZm9yIChqID0gMDsgaiA8IGRlcHRocy5zbGFiX3NpemU7IGorKykKIAkJCWZyZWUoZGVwdGhzLnNsYWJbaV1bal0pOwogCX0KQEAgLTI0MSw3ICsyNDcsOCBAQAogCWlmIChyLT5wYXJzZWRfb2JqZWN0cy0+aXNfc2hhbGxvdyA9PSAtMSkKIAkJQlVHKCJzaGFsbG93IG11c3QgYmUgaW5pdGlhbGl6ZWQgYnkgbm93Iik7CiAKLQlpZiAoIXN0YXRfdmFsaWRpdHlfY2hlY2soci0+cGFyc2VkX29iamVjdHMtPnNoYWxsb3dfc3RhdCwgZ2l0X3BhdGhfc2hhbGxvdyh0aGVfcmVwb3NpdG9yeSkpKQorCWlmICghc3RhdF92YWxpZGl0eV9jaGVjayhyLT5wYXJzZWRfb2JqZWN0cy0+c2hhbGxvd19zdGF0LAorCQkJCSBnaXRfcGF0aF9zaGFsbG93KHIpKSkKIAkJZGllKCJzaGFsbG93IGZpbGUgaGFzIGNoYW5nZWQgc2luY2Ugd2UgcmVhZCBpdCIpOwogfQogCmRpZmYgLS1naXQgYS9zaGVsbC5jIGIvc2hlbGwuYwppbmRleCA0MDA4NGEzLi41NGNjYTc0IDEwMDY0NAotLS0gYS9zaGVsbC5jCisrKyBiL3NoZWxsLmMKQEAgLTE2LDEwICsxNiwxMCBAQAogCXNldHVwX3BhdGgoKTsKIAlpZiAoIWFyZyB8fCAhKGFyZyA9IHNxX2RlcXVvdGUoYXJnKSkgfHwgKmFyZyA9PSAnLScpCiAJCWRpZSgiYmFkIGFyZ3VtZW50Iik7Ci0JaWYgKCFzdGFydHNfd2l0aChtZSwgImdpdC0iKSkKKwlpZiAoIXNraXBfcHJlZml4KG1lLCAiZ2l0LSIsICZtZSkpCiAJCWRpZSgiYmFkIGNvbW1hbmQiKTsKIAotCW15X2FyZ3ZbMF0gPSBtZSArIDQ7CisJbXlfYXJndlswXSA9IG1lOwogCW15X2FyZ3ZbMV0gPSBhcmc7CiAJbXlfYXJndlsyXSA9IE5VTEw7CiAKZGlmZiAtLWdpdCBhL3NpZGViYW5kLmMgYi9zaWRlYmFuZC5jCmluZGV4IDM2ODY0N2EuLmVmODUxMTEgMTAwNjQ0Ci0tLSBhL3NpZGViYW5kLmMKKysrIGIvc2lkZWJhbmQuYwpAQCAtMSw3ICsxLDYgQEAKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgImNvbG9yLmgiCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAicGt0LWxpbmUuaCIKICNpbmNsdWRlICJzaWRlYmFuZC5oIgogI2luY2x1ZGUgImhlbHAuaCIKIApAQCAtODcsNyArODYsNyBAQAogCQlzdHJ1Y3Qga2V5d29yZF9lbnRyeSAqcCA9IGtleXdvcmRzICsgaTsKIAkJaW50IGxlbiA9IHN0cmxlbihwLT5rZXl3b3JkKTsKIAotCQlpZiAobiA8PSBsZW4pCisJCWlmIChuIDwgbGVuKQogCQkJY29udGludWU7CiAJCS8qCiAJCSAqIE1hdGNoIGNhc2UgaW5zZW5zaXRpdmVseSwgc28gd2UgY29sb3JpemUgb3V0cHV0IGZyb20gZXhpc3RpbmcKQEAgLTk1LDcgKzk0LDggQEAKIAkJICogbWVzc2FnZXMuIFdlIG9ubHkgaGlnaGxpZ2h0IHRoZSB3b3JkIHByZWNpc2VseSwgc28KIAkJICogInN1Y2Nlc3NmdWwiIHN0YXlzIHVuY29sb3JlZC4KIAkJICovCi0JCWlmICghc3RybmNhc2VjbXAocC0+a2V5d29yZCwgc3JjLCBsZW4pICYmICFpc2FsbnVtKHNyY1tsZW5dKSkgeworCQlpZiAoIXN0cm5jYXNlY21wKHAtPmtleXdvcmQsIHNyYywgbGVuKSAmJgorCQkgICAgKGxlbiA9PSBuIHx8ICFpc2FsbnVtKHNyY1tsZW5dKSkpIHsKIAkJCXN0cmJ1Zl9hZGRzdHIoZGVzdCwgcC0+Y29sb3IpOwogCQkJc3RyYnVmX2FkZChkZXN0LCBzcmMsIGxlbik7CiAJCQlzdHJidWZfYWRkc3RyKGRlc3QsIEdJVF9DT0xPUl9SRVNFVCk7CkBAIC0xMDksMTA5ICsxMDksMTA0IEBACiB9CiAKIAotLyoKLSAqIFJlY2VpdmUgbXVsdGlwbGV4ZWQgb3V0cHV0IHN0cmVhbSBvdmVyIGdpdCBuYXRpdmUgcHJvdG9jb2wuCi0gKiBpbl9zdHJlYW0gaXMgdGhlIGlucHV0IHN0cmVhbSBmcm9tIHRoZSByZW1vdGUsIHdoaWNoIGNhcnJpZXMgZGF0YQotICogaW4gcGt0X2xpbmUgZm9ybWF0IHdpdGggYmFuZCBkZXNpZ25hdG9yLiAgRGVtdWx0aXBsZXggaXQgaW50byBvdXQKLSAqIGFuZCBlcnIgYW5kIHJldHVybiBlcnJvciBhcHByb3ByaWF0ZWx5LiAgQmFuZCAjMSBjYXJyaWVzIHRoZQotICogcHJpbWFyeSBwYXlsb2FkLiAgVGhpbmdzIGNvbWluZyBvdmVyIGJhbmQgIzIgaXMgbm90IG5lY2Vzc2FyaWx5Ci0gKiBlcnJvcjsgdGhleSBhcmUgdXN1YWxseSBpbmZvcm1hdGl2ZSBtZXNzYWdlIG9uIHRoZSBzdGFuZGFyZCBlcnJvcgotICogc3RyZWFtLCBha2EgInZlcmJvc2UiKS4gIEEgbWVzc2FnZSBvdmVyIGJhbmQgIzMgaXMgYSBzaWduYWwgdGhhdAotICogdGhlIHJlbW90ZSBkaWVkIHVuZXhwZWN0ZWRseS4gIEEgZmx1c2goKSBjb25jbHVkZXMgdGhlIHN0cmVhbS4KLSAqLwotCiAjZGVmaW5lIERJU1BMQVlfUFJFRklYICJyZW1vdGU6ICIKIAogI2RlZmluZSBBTlNJX1NVRkZJWCAiXDAzM1tLIgogI2RlZmluZSBEVU1CX1NVRkZJWCAiICAgICAgICAiCiAKLWludCByZWN2X3NpZGViYW5kKGNvbnN0IGNoYXIgKm1lLCBpbnQgaW5fc3RyZWFtLCBpbnQgb3V0KQoraW50IGRlbXVsdGlwbGV4X3NpZGViYW5kKGNvbnN0IGNoYXIgKm1lLCBjaGFyICpidWYsIGludCBsZW4sCisJCQkgaW50IGRpZV9vbl9lcnJvciwKKwkJCSBzdHJ1Y3Qgc3RyYnVmICpzY3JhdGNoLAorCQkJIGVudW0gc2lkZWJhbmRfdHlwZSAqc2lkZWJhbmRfdHlwZSkKIHsKLQljb25zdCBjaGFyICpzdWZmaXg7Ci0JY2hhciBidWZbTEFSR0VfUEFDS0VUX01BWCArIDFdOwotCXN0cnVjdCBzdHJidWYgb3V0YnVmID0gU1RSQlVGX0lOSVQ7Ci0JaW50IHJldHZhbCA9IDA7CisJc3RhdGljIGNvbnN0IGNoYXIgKnN1ZmZpeDsKKwljb25zdCBjaGFyICpiLCAqYnJrOworCWludCBiYW5kOwogCi0JaWYgKGlzYXR0eSgyKSAmJiAhaXNfdGVybWluYWxfZHVtYigpKQotCQlzdWZmaXggPSBBTlNJX1NVRkZJWDsKLQllbHNlCi0JCXN1ZmZpeCA9IERVTUJfU1VGRklYOwotCi0Jd2hpbGUgKCFyZXR2YWwpIHsKLQkJY29uc3QgY2hhciAqYiwgKmJyazsKLQkJaW50IGJhbmQsIGxlbjsKLQkJbGVuID0gcGFja2V0X3JlYWQoaW5fc3RyZWFtLCBOVUxMLCBOVUxMLCBidWYsIExBUkdFX1BBQ0tFVF9NQVgsIDApOwotCQlpZiAobGVuID09IDApCi0JCQlicmVhazsKLQkJaWYgKGxlbiA8IDEpIHsKLQkJCXN0cmJ1Zl9hZGRmKCZvdXRidWYsCi0JCQkJICAgICIlcyVzOiBwcm90b2NvbCBlcnJvcjogbm8gYmFuZCBkZXNpZ25hdG9yIiwKLQkJCQkgICAgb3V0YnVmLmxlbiA/ICJcbiIgOiAiIiwgbWUpOwotCQkJcmV0dmFsID0gU0lERUJBTkRfUFJPVE9DT0xfRVJST1I7Ci0JCQlicmVhazsKLQkJfQotCQliYW5kID0gYnVmWzBdICYgMHhmZjsKLQkJYnVmW2xlbl0gPSAnXDAnOwotCQlsZW4tLTsKLQkJc3dpdGNoIChiYW5kKSB7Ci0JCWNhc2UgMzoKLQkJCXN0cmJ1Zl9hZGRmKCZvdXRidWYsICIlcyVzIiwgb3V0YnVmLmxlbiA/ICJcbiIgOiAiIiwKLQkJCQkgICAgRElTUExBWV9QUkVGSVgpOwotCQkJbWF5YmVfY29sb3JpemVfc2lkZWJhbmQoJm91dGJ1ZiwgYnVmICsgMSwgbGVuKTsKLQotCQkJcmV0dmFsID0gU0lERUJBTkRfUkVNT1RFX0VSUk9SOwotCQkJYnJlYWs7Ci0JCWNhc2UgMjoKLQkJCWIgPSBidWYgKyAxOwotCi0JCQkvKgotCQkJICogQXBwZW5kIGEgc3VmZml4IHRvIGVhY2ggbm9uZW1wdHkgbGluZSB0byBjbGVhciB0aGUKLQkJCSAqIGVuZCBvZiB0aGUgc2NyZWVuIGxpbmUuCi0JCQkgKgotCQkJICogVGhlIG91dHB1dCBpcyBhY2N1bXVsYXRlZCBpbiBhIGJ1ZmZlciBhbmQKLQkJCSAqIGVhY2ggbGluZSBpcyBwcmludGVkIHRvIHN0ZGVyciB1c2luZwotCQkJICogd3JpdGUoMikgdG8gZW5zdXJlIGludGVyLXByb2Nlc3MgYXRvbWljaXR5LgotCQkJICovCi0JCQl3aGlsZSAoKGJyayA9IHN0cnBicmsoYiwgIlxuXHIiKSkpIHsKLQkJCQlpbnQgbGluZWxlbiA9IGJyayAtIGI7Ci0KLQkJCQlpZiAoIW91dGJ1Zi5sZW4pCi0JCQkJCXN0cmJ1Zl9hZGRzdHIoJm91dGJ1ZiwgRElTUExBWV9QUkVGSVgpOwotCQkJCWlmIChsaW5lbGVuID4gMCkgewotCQkJCQltYXliZV9jb2xvcml6ZV9zaWRlYmFuZCgmb3V0YnVmLCBiLCBsaW5lbGVuKTsKLQkJCQkJc3RyYnVmX2FkZHN0cigmb3V0YnVmLCBzdWZmaXgpOwotCQkJCX0KLQotCQkJCXN0cmJ1Zl9hZGRjaCgmb3V0YnVmLCAqYnJrKTsKLQkJCQl4d3JpdGUoMiwgb3V0YnVmLmJ1Ziwgb3V0YnVmLmxlbik7Ci0JCQkJc3RyYnVmX3Jlc2V0KCZvdXRidWYpOwotCi0JCQkJYiA9IGJyayArIDE7Ci0JCQl9Ci0KLQkJCWlmICgqYikgewotCQkJCXN0cmJ1Zl9hZGRzdHIoJm91dGJ1Ziwgb3V0YnVmLmxlbiA/Ci0JCQkJCSAgICAiIiA6IERJU1BMQVlfUFJFRklYKTsKLQkJCQltYXliZV9jb2xvcml6ZV9zaWRlYmFuZCgmb3V0YnVmLCBiLCBzdHJsZW4oYikpOwotCQkJfQotCQkJYnJlYWs7Ci0JCWNhc2UgMToKLQkJCXdyaXRlX29yX2RpZShvdXQsIGJ1ZiArIDEsIGxlbik7Ci0JCQlicmVhazsKLQkJZGVmYXVsdDoKLQkJCXN0cmJ1Zl9hZGRmKCZvdXRidWYsICIlcyVzOiBwcm90b2NvbCBlcnJvcjogYmFkIGJhbmQgIyVkIiwKLQkJCQkgICAgb3V0YnVmLmxlbiA/ICJcbiIgOiAiIiwgbWUsIGJhbmQpOwotCQkJcmV0dmFsID0gU0lERUJBTkRfUFJPVE9DT0xfRVJST1I7Ci0JCQlicmVhazsKLQkJfQorCWlmICghc3VmZml4KSB7CisJCWlmIChpc2F0dHkoMikgJiYgIWlzX3Rlcm1pbmFsX2R1bWIoKSkKKwkJCXN1ZmZpeCA9IEFOU0lfU1VGRklYOworCQllbHNlCisJCQlzdWZmaXggPSBEVU1CX1NVRkZJWDsKIAl9CiAKLQlpZiAob3V0YnVmLmxlbikgewotCQlzdHJidWZfYWRkY2goJm91dGJ1ZiwgJ1xuJyk7Ci0JCXh3cml0ZSgyLCBvdXRidWYuYnVmLCBvdXRidWYubGVuKTsKKwlpZiAobGVuID09IDApIHsKKwkJKnNpZGViYW5kX3R5cGUgPSBTSURFQkFORF9GTFVTSDsKKwkJZ290byBjbGVhbnVwOwogCX0KLQlzdHJidWZfcmVsZWFzZSgmb3V0YnVmKTsKLQlyZXR1cm4gcmV0dmFsOworCWlmIChsZW4gPCAxKSB7CisJCXN0cmJ1Zl9hZGRmKHNjcmF0Y2gsCisJCQkgICAgIiVzJXM6IHByb3RvY29sIGVycm9yOiBubyBiYW5kIGRlc2lnbmF0b3IiLAorCQkJICAgIHNjcmF0Y2gtPmxlbiA/ICJcbiIgOiAiIiwgbWUpOworCQkqc2lkZWJhbmRfdHlwZSA9IFNJREVCQU5EX1BST1RPQ09MX0VSUk9SOworCQlnb3RvIGNsZWFudXA7CisJfQorCWJhbmQgPSBidWZbMF0gJiAweGZmOworCWJ1ZltsZW5dID0gJ1wwJzsKKwlsZW4tLTsKKwlzd2l0Y2ggKGJhbmQpIHsKKwljYXNlIDM6CisJCWlmIChkaWVfb25fZXJyb3IpCisJCQlkaWUoInJlbW90ZSBlcnJvcjogJXMiLCBidWYgKyAxKTsKKwkJc3RyYnVmX2FkZGYoc2NyYXRjaCwgIiVzJXMiLCBzY3JhdGNoLT5sZW4gPyAiXG4iIDogIiIsCisJCQkgICAgRElTUExBWV9QUkVGSVgpOworCQltYXliZV9jb2xvcml6ZV9zaWRlYmFuZChzY3JhdGNoLCBidWYgKyAxLCBsZW4pOworCisJCSpzaWRlYmFuZF90eXBlID0gU0lERUJBTkRfUkVNT1RFX0VSUk9SOworCQlicmVhazsKKwljYXNlIDI6CisJCWIgPSBidWYgKyAxOworCisJCS8qCisJCSAqIEFwcGVuZCBhIHN1ZmZpeCB0byBlYWNoIG5vbmVtcHR5IGxpbmUgdG8gY2xlYXIgdGhlCisJCSAqIGVuZCBvZiB0aGUgc2NyZWVuIGxpbmUuCisJCSAqCisJCSAqIFRoZSBvdXRwdXQgaXMgYWNjdW11bGF0ZWQgaW4gYSBidWZmZXIgYW5kCisJCSAqIGVhY2ggbGluZSBpcyBwcmludGVkIHRvIHN0ZGVyciB1c2luZworCQkgKiB3cml0ZSgyKSB0byBlbnN1cmUgaW50ZXItcHJvY2VzcyBhdG9taWNpdHkuCisJCSAqLworCQl3aGlsZSAoKGJyayA9IHN0cnBicmsoYiwgIlxuXHIiKSkpIHsKKwkJCWludCBsaW5lbGVuID0gYnJrIC0gYjsKKworCQkJaWYgKCFzY3JhdGNoLT5sZW4pCisJCQkJc3RyYnVmX2FkZHN0cihzY3JhdGNoLCBESVNQTEFZX1BSRUZJWCk7CisJCQlpZiAobGluZWxlbiA+IDApIHsKKwkJCQltYXliZV9jb2xvcml6ZV9zaWRlYmFuZChzY3JhdGNoLCBiLCBsaW5lbGVuKTsKKwkJCQlzdHJidWZfYWRkc3RyKHNjcmF0Y2gsIHN1ZmZpeCk7CisJCQl9CisKKwkJCXN0cmJ1Zl9hZGRjaChzY3JhdGNoLCAqYnJrKTsKKwkJCXh3cml0ZSgyLCBzY3JhdGNoLT5idWYsIHNjcmF0Y2gtPmxlbik7CisJCQlzdHJidWZfcmVzZXQoc2NyYXRjaCk7CisKKwkJCWIgPSBicmsgKyAxOworCQl9CisKKwkJaWYgKCpiKSB7CisJCQlzdHJidWZfYWRkc3RyKHNjcmF0Y2gsIHNjcmF0Y2gtPmxlbiA/CisJCQkJICAgICIiIDogRElTUExBWV9QUkVGSVgpOworCQkJbWF5YmVfY29sb3JpemVfc2lkZWJhbmQoc2NyYXRjaCwgYiwgc3RybGVuKGIpKTsKKwkJfQorCQlyZXR1cm4gMDsKKwljYXNlIDE6CisJCSpzaWRlYmFuZF90eXBlID0gU0lERUJBTkRfUFJJTUFSWTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJc3RyYnVmX2FkZGYoc2NyYXRjaCwgIiVzJXM6IHByb3RvY29sIGVycm9yOiBiYWQgYmFuZCAjJWQiLAorCQkJICAgIHNjcmF0Y2gtPmxlbiA/ICJcbiIgOiAiIiwgbWUsIGJhbmQpOworCQkqc2lkZWJhbmRfdHlwZSA9IFNJREVCQU5EX1BST1RPQ09MX0VSUk9SOworCQlicmVhazsKKwl9CisKK2NsZWFudXA6CisJaWYgKGRpZV9vbl9lcnJvciAmJiAqc2lkZWJhbmRfdHlwZSA9PSBTSURFQkFORF9QUk9UT0NPTF9FUlJPUikKKwkJZGllKCIlcyIsIHNjcmF0Y2gtPmJ1Zik7CisJaWYgKHNjcmF0Y2gtPmxlbikgeworCQlzdHJidWZfYWRkY2goc2NyYXRjaCwgJ1xuJyk7CisJCXh3cml0ZSgyLCBzY3JhdGNoLT5idWYsIHNjcmF0Y2gtPmxlbik7CisJfQorCXN0cmJ1Zl9yZWxlYXNlKHNjcmF0Y2gpOworCXJldHVybiAxOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc2lkZWJhbmQuaCBiL3NpZGViYW5kLmgKaW5kZXggN2E4MTQ2Zi4uMjI3NzQwYSAxMDA2NDQKLS0tIGEvc2lkZWJhbmQuaAorKysgYi9zaWRlYmFuZC5oCkBAIC0xLDEwICsxLDI5IEBACiAjaWZuZGVmIFNJREVCQU5EX0gKICNkZWZpbmUgU0lERUJBTkRfSAogCi0jZGVmaW5lIFNJREVCQU5EX1BST1RPQ09MX0VSUk9SIC0yCi0jZGVmaW5lIFNJREVCQU5EX1JFTU9URV9FUlJPUiAtMQorZW51bSBzaWRlYmFuZF90eXBlIHsKKwlTSURFQkFORF9QUk9UT0NPTF9FUlJPUiA9IC0yLAorCVNJREVCQU5EX1JFTU9URV9FUlJPUiA9IC0xLAorCVNJREVCQU5EX0ZMVVNIID0gMCwKKwlTSURFQkFORF9QUklNQVJZID0gMQorfTsKIAotaW50IHJlY3Zfc2lkZWJhbmQoY29uc3QgY2hhciAqbWUsIGludCBpbl9zdHJlYW0sIGludCBvdXQpOworLyoKKyAqIEluc3BlY3RzIGEgbXVsdGlwbGV4ZWQgcGFja2V0IHJlYWQgZnJvbSB0aGUgcmVtb3RlLiBJZiB0aGlzIHBhY2tldCBpcyBhCisgKiBwcm9ncmVzcyBwYWNrZXQgYW5kIHRodXMgc2hvdWxkIG5vdCBiZSBwcm9jZXNzZWQgYnkgdGhlIGNhbGxlciwgcmV0dXJucyAwLgorICogT3RoZXJ3aXNlLCByZXR1cm5zIDEsIHJlbGVhc2VzIHNjcmF0Y2gsIGFuZCBzZXRzIHNpZGViYW5kX3R5cGUuCisgKgorICogSWYgdGhpcyBwYWNrZXQgaXMgU0lERUJBTkRfUFJPVE9DT0xfRVJST1IsIFNJREVCQU5EX1JFTU9URV9FUlJPUiwgb3IgYQorICogcHJvZ3Jlc3MgcGFja2V0LCBhbHNvIHByaW50cyBhIG1lc3NhZ2UgdG8gc3RkZXJyLgorICoKKyAqIHNjcmF0Y2ggbXVzdCBiZSBhIHN0cnVjdCBzdHJidWYgYWxsb2NhdGVkIGJ5IHRoZSBjYWxsZXIuIEl0IGlzIHVzZWQgdG8gc3RvcmUKKyAqIHByb2dyZXNzIG1lc3NhZ2VzIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBwYWNrZXRzLgorICovCitpbnQgZGVtdWx0aXBsZXhfc2lkZWJhbmQoY29uc3QgY2hhciAqbWUsIGNoYXIgKmJ1ZiwgaW50IGxlbiwKKwkJCSBpbnQgZGllX29uX2Vycm9yLAorCQkJIHN0cnVjdCBzdHJidWYgKnNjcmF0Y2gsCisJCQkgZW51bSBzaWRlYmFuZF90eXBlICpzaWRlYmFuZF90eXBlKTsKKwogdm9pZCBzZW5kX3NpZGViYW5kKGludCBmZCwgaW50IGJhbmQsIGNvbnN0IGNoYXIgKmRhdGEsIHNzaXplX3Qgc3osIGludCBwYWNrZXRfbWF4KTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9zaWdjaGFpbi5oIGIvc2lnY2hhaW4uaAppbmRleCAxMzhiMjBmLi44ZTZiYWRhIDEwMDY0NAotLS0gYS9zaWdjaGFpbi5oCisrKyBiL3NpZ2NoYWluLmgKQEAgLTEsMTIgKzEsNTcgQEAKICNpZm5kZWYgU0lHQ0hBSU5fSAogI2RlZmluZSBTSUdDSEFJTl9ICiAKKy8qKgorICogQ29kZSBvZnRlbiB3YW50cyB0byBzZXQgYSBzaWduYWwgaGFuZGxlciB0byBjbGVhbiB1cCB0ZW1wb3JhcnkgZmlsZXMgb3IKKyAqIG90aGVyIHdvcmstaW4tcHJvZ3Jlc3Mgd2hlbiB3ZSBkaWUgdW5leHBlY3RlZGx5LiBGb3IgbXVsdGlwbGUgcGllY2VzIG9mCisgKiBjb2RlIHRvIGRvIHRoaXMgd2l0aG91dCBjb25mbGljdGluZywgZWFjaCBwaWVjZSBvZiBjb2RlIG11c3QgcmVtZW1iZXIKKyAqIHRoZSBvbGQgdmFsdWUgb2YgdGhlIGhhbmRsZXIgYW5kIHJlc3RvcmUgaXQgZWl0aGVyIHdoZW46CisgKgorICogICAxLiBUaGUgd29yay1pbi1wcm9ncmVzcyBpcyBmaW5pc2hlZCwgYW5kIHRoZSBoYW5kbGVyIGlzIG5vIGxvbmdlcgorICogICAgICBuZWNlc3NhcnkuIFRoZSBoYW5kbGVyIHNob3VsZCByZXZlcnQgdG8gdGhlIG9yaWdpbmFsIGJlaGF2aW9yCisgKiAgICAgIChlaXRoZXIgYW5vdGhlciBoYW5kbGVyLCBTSUdfREZMLCBvciBTSUdfSUdOKS4KKyAqCisgKiAgIDIuIFRoZSBzaWduYWwgaXMgcmVjZWl2ZWQuIFdlIHNob3VsZCB0aGVuIGRvIG91ciBjbGVhbnVwLCB0aGVuIGNoYWluCisgKiAgICAgIHRvIHRoZSBuZXh0IGhhbmRsZXIgKG9yIGRpZSBpZiBpdCBpcyBTSUdfREZMKS4KKyAqCisgKiBTaWdjaGFpbiBpcyBhIHRpbnkgbGlicmFyeSBmb3Iga2VlcGluZyBhIHN0YWNrIG9mIGhhbmRsZXJzLiBZb3VyIGhhbmRsZXIKKyAqIGFuZCBpbnN0YWxsYXRpb24gY29kZSBzaG91bGQgbG9vayBzb21ldGhpbmcgbGlrZToKKyAqCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqICAgdm9pZCBjbGVhbl9mb29fb25fc2lnbmFsKGludCBzaWcpCisgKiAgIHsKKyAqIAkgIGNsZWFuX2ZvbygpOworICogCSAgc2lnY2hhaW5fcG9wKHNpZyk7CisgKiAJICByYWlzZShzaWcpOworICogICB9CisgKgorICogICB2b2lkIG90aGVyX2Z1bmMoKQorICogICB7CisgKiAJICBzaWdjaGFpbl9wdXNoX2NvbW1vbihjbGVhbl9mb29fb25fc2lnbmFsKTsKKyAqIAkgIG1lc3NfdXBfZm9vKCk7CisgKiAJICBjbGVhbl9mb28oKTsKKyAqICAgfQorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICovCisKKy8qKgorICogSGFuZGxlcnMgYXJlIGdpdmVuIHRoZSB0eXBlZGVmIG9mIHNpZ2NoYWluX2Z1bi4gVGhpcyBpcyB0aGUgc2FtZSB0eXBlCisgKiB0aGF0IGlzIGdpdmVuIHRvIHNpZ25hbCgpIG9yIHNpZ2FjdGlvbigpLiBJdCBpcyBwZXJmZWN0bHkgcmVhc29uYWJsZSB0bworICogcHVzaCBTSUdfREZMIG9yIFNJR19JR04gb250byB0aGUgc3RhY2suCisgKi8KIHR5cGVkZWYgdm9pZCAoKnNpZ2NoYWluX2Z1bikoaW50KTsKIAorLyogWW91IGNhbiBzaWdjaGFpbl9wdXNoIGFuZCBzaWdjaGFpbl9wb3AgaW5kaXZpZHVhbCBzaWduYWxzLiAqLwogaW50IHNpZ2NoYWluX3B1c2goaW50IHNpZywgc2lnY2hhaW5fZnVuIGYpOwogaW50IHNpZ2NoYWluX3BvcChpbnQgc2lnKTsKIAorLyoqCisgKiBwdXNoIHRoZSBoYW5kbGVyIG9udG8gdGhlIHN0YWNrIGZvciB0aGUgY29tbW9uIHNpZ25hbHM6CisgKiBTSUdJTlQsIFNJR0hVUCwgU0lHVEVSTSwgU0lHUVVJVCBhbmQgU0lHUElQRS4KKyAqLwogdm9pZCBzaWdjaGFpbl9wdXNoX2NvbW1vbihzaWdjaGFpbl9mdW4gZik7CisKIHZvaWQgc2lnY2hhaW5fcG9wX2NvbW1vbih2b2lkKTsKIAogI2VuZGlmIC8qIFNJR0NIQUlOX0ggKi8KZGlmZiAtLWdpdCBhL3NwbGl0LWluZGV4LmMgYi9zcGxpdC1pbmRleC5jCmluZGV4IDU4MjA0MTIuLmU2MTU0ZTQgMTAwNjQ0Ci0tLSBhL3NwbGl0LWluZGV4LmMKKysrIGIvc3BsaXQtaW5kZXguYwpAQCAtMTYyLDcgKzE2Miw3IEBACiAJZXdhaF9lYWNoX2JpdChzaS0+cmVwbGFjZV9iaXRtYXAsIHJlcGxhY2VfZW50cnksIGlzdGF0ZSk7CiAJZXdhaF9lYWNoX2JpdChzaS0+ZGVsZXRlX2JpdG1hcCwgbWFya19lbnRyeV9mb3JfZGVsZXRlLCBpc3RhdGUpOwogCWlmIChzaS0+bnJfZGVsZXRpb25zKQotCQlyZW1vdmVfbWFya2VkX2NhY2hlX2VudHJpZXMoaXN0YXRlKTsKKwkJcmVtb3ZlX21hcmtlZF9jYWNoZV9lbnRyaWVzKGlzdGF0ZSwgMCk7CiAKIAlmb3IgKGkgPSBzaS0+bnJfcmVwbGFjZW1lbnRzOyBpIDwgc2ktPnNhdmVkX2NhY2hlX25yOyBpKyspIHsKIAkJaWYgKCFjZV9uYW1lbGVuKHNpLT5zYXZlZF9jYWNoZVtpXSkpCkBAIC00NDAsMjQgKzQ0MCwyNiBAQAogdm9pZCByZW1vdmVfc3BsaXRfaW5kZXgoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpCiB7CiAJaWYgKGlzdGF0ZS0+c3BsaXRfaW5kZXgpIHsKLQkJLyoKLQkJICogV2hlbiByZW1vdmluZyB0aGUgc3BsaXQgaW5kZXgsIHdlIG5lZWQgdG8gbW92ZQotCQkgKiBvd25lcnNoaXAgb2YgdGhlIG1lbV9wb29sIGFzc29jaWF0ZWQgd2l0aCB0aGUKLQkJICogYmFzZSBpbmRleCB0byB0aGUgbWFpbiBpbmRleC4gVGhlcmUgbWF5IGJlIGNhY2hlIGVudHJpZXMKLQkJICogYWxsb2NhdGVkIGZyb20gdGhlIGJhc2UncyBtZW1vcnkgcG9vbCB0aGF0IGFyZSBzaGFyZWQgd2l0aAotCQkgKiB0aGVfaW5kZXguY2FjaGVbXS4KLQkJICovCi0JCW1lbV9wb29sX2NvbWJpbmUoaXN0YXRlLT5jZV9tZW1fcG9vbCwgaXN0YXRlLT5zcGxpdF9pbmRleC0+YmFzZS0+Y2VfbWVtX3Bvb2wpOworCQlpZiAoaXN0YXRlLT5zcGxpdF9pbmRleC0+YmFzZSkgeworCQkJLyoKKwkJCSAqIFdoZW4gcmVtb3ZpbmcgdGhlIHNwbGl0IGluZGV4LCB3ZSBuZWVkIHRvIG1vdmUKKwkJCSAqIG93bmVyc2hpcCBvZiB0aGUgbWVtX3Bvb2wgYXNzb2NpYXRlZCB3aXRoIHRoZQorCQkJICogYmFzZSBpbmRleCB0byB0aGUgbWFpbiBpbmRleC4gVGhlcmUgbWF5IGJlIGNhY2hlIGVudHJpZXMKKwkJCSAqIGFsbG9jYXRlZCBmcm9tIHRoZSBiYXNlJ3MgbWVtb3J5IHBvb2wgdGhhdCBhcmUgc2hhcmVkIHdpdGgKKwkJCSAqIHRoZV9pbmRleC5jYWNoZVtdLgorCQkJICovCisJCQltZW1fcG9vbF9jb21iaW5lKGlzdGF0ZS0+Y2VfbWVtX3Bvb2wsCisJCQkJCSBpc3RhdGUtPnNwbGl0X2luZGV4LT5iYXNlLT5jZV9tZW1fcG9vbCk7CiAKLQkJLyoKLQkJICogVGhlIHNwbGl0IGluZGV4IG5vIGxvbmdlciBvd25zIHRoZSBtZW1fcG9vbCBiYWNraW5nCi0JCSAqIGl0cyBjYWNoZSBhcnJheS4gQXMgd2UgYXJlIGRpc2NhcmRpbmcgdGhpcyBpbmRleCwKLQkJICogbWFyayB0aGUgaW5kZXggYXMgaGF2aW5nIG5vIGNhY2hlIGVudHJpZXMsIHNvIGl0Ci0JCSAqIHdpbGwgbm90IGF0dGVtcHQgdG8gY2xlYW4gdXAgdGhlIGNhY2hlIGVudHJpZXMgb3IKLQkJICogdmFsaWRhdGUgdGhlbS4KLQkJICovCi0JCWlmIChpc3RhdGUtPnNwbGl0X2luZGV4LT5iYXNlKQorCQkJLyoKKwkJCSAqIFRoZSBzcGxpdCBpbmRleCBubyBsb25nZXIgb3ducyB0aGUgbWVtX3Bvb2wgYmFja2luZworCQkJICogaXRzIGNhY2hlIGFycmF5LiBBcyB3ZSBhcmUgZGlzY2FyZGluZyB0aGlzIGluZGV4LAorCQkJICogbWFyayB0aGUgaW5kZXggYXMgaGF2aW5nIG5vIGNhY2hlIGVudHJpZXMsIHNvIGl0CisJCQkgKiB3aWxsIG5vdCBhdHRlbXB0IHRvIGNsZWFuIHVwIHRoZSBjYWNoZSBlbnRyaWVzIG9yCisJCQkgKiB2YWxpZGF0ZSB0aGVtLgorCQkJICovCiAJCQlpc3RhdGUtPnNwbGl0X2luZGV4LT5iYXNlLT5jYWNoZV9uciA9IDA7CisJCX0KIAogCQkvKgogCQkgKiBXZSBjYW4gZGlzY2FyZCB0aGUgc3BsaXQgaW5kZXggYmVjYXVzZSBpdHMKZGlmZiAtLWdpdCBhL2NvbXBhdC9xc29ydC5jIGIvc3RhYmxlLXFzb3J0LmMKc2ltaWxhcml0eSBpbmRleCA4OCUKcmVuYW1lIGZyb20gY29tcGF0L3Fzb3J0LmMKcmVuYW1lIHRvIHN0YWJsZS1xc29ydC5jCmluZGV4IDdkMDcxYWYuLjZjYmFmMzkgMTAwNjQ0Ci0tLSBhL2NvbXBhdC9xc29ydC5jCisrKyBiL3N0YWJsZS1xc29ydC5jCkBAIC0xLDQgKzEsNCBAQAotI2luY2x1ZGUgIi4uL2dpdC1jb21wYXQtdXRpbC5oIgorI2luY2x1ZGUgImdpdC1jb21wYXQtdXRpbC5oIgogCiAvKgogICogQSBtZXJnZSBzb3J0IGltcGxlbWVudGF0aW9uLCBzaW1wbGlmaWVkIGZyb20gdGhlIHFzb3J0IGltcGxlbWVudGF0aW9uCkBAIC00NCw4ICs0NCw4IEBACiAJbWVtY3B5KGIsIHQsIChuIC0gbjIpICogcyk7CiB9CiAKLXZvaWQgZ2l0X3Fzb3J0KHZvaWQgKmIsIHNpemVfdCBuLCBzaXplX3QgcywKLQkgICAgICAgaW50ICgqY21wKShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKikpCit2b2lkIGdpdF9zdGFibGVfcXNvcnQodm9pZCAqYiwgc2l6ZV90IG4sIHNpemVfdCBzLAorCQkgICAgICBpbnQgKCpjbXApKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKSkKIHsKIAljb25zdCBzaXplX3Qgc2l6ZSA9IHN0X211bHQobiwgcyk7CiAJY2hhciBidWZbMTAyNF07CmRpZmYgLS1naXQgYS9zdHJidWYuYyBiL3N0cmJ1Zi5jCmluZGV4IGY2YTZjZjcuLmJiMDA2NWMgMTAwNjQ0Ci0tLSBhL3N0cmJ1Zi5jCisrKyBiL3N0cmJ1Zi5jCkBAIC0yNDksNiArMjQ5LDQyIEBACiAJc3RyYnVmX3NwbGljZShzYiwgcG9zLCAwLCBkYXRhLCBsZW4pOwogfQogCit2b2lkIHN0cmJ1Zl92aW5zZXJ0ZihzdHJ1Y3Qgc3RyYnVmICpzYiwgc2l6ZV90IHBvcywgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwKQoreworCWludCBsZW4sIGxlbjI7CisJY2hhciBzYXZlOworCXZhX2xpc3QgY3A7CisKKwlpZiAocG9zID4gc2ItPmxlbikKKwkJZGllKCJgcG9zJyBpcyB0b28gZmFyIGFmdGVyIHRoZSBlbmQgb2YgdGhlIGJ1ZmZlciIpOworCXZhX2NvcHkoY3AsIGFwKTsKKwlsZW4gPSB2c25wcmludGYoc2ItPmJ1ZiArIHNiLT5sZW4sIDAsIGZtdCwgY3ApOworCXZhX2VuZChjcCk7CisJaWYgKGxlbiA8IDApCisJCUJVRygieW91ciB2c25wcmludGYgaXMgYnJva2VuIChyZXR1cm5lZCAlZCkiLCBsZW4pOworCWlmICghbGVuKQorCQlyZXR1cm47IC8qIG5vdGhpbmcgdG8gZG8gKi8KKwlpZiAodW5zaWduZWRfYWRkX292ZXJmbG93cyhzYi0+bGVuLCBsZW4pKQorCQlkaWUoInlvdSB3YW50IHRvIHVzZSB3YXkgdG9vIG11Y2ggbWVtb3J5Iik7CisJc3RyYnVmX2dyb3coc2IsIGxlbik7CisJbWVtbW92ZShzYi0+YnVmICsgcG9zICsgbGVuLCBzYi0+YnVmICsgcG9zLCBzYi0+bGVuIC0gcG9zKTsKKwkvKiB2c25wcmludGYoKSB3aWxsIGFwcGVuZCBhIE5VTCwgb3ZlcndyaXRpbmcgb25lIG9mIG91ciBjaGFyYWN0ZXJzICovCisJc2F2ZSA9IHNiLT5idWZbcG9zICsgbGVuXTsKKwlsZW4yID0gdnNucHJpbnRmKHNiLT5idWYgKyBwb3MsIGxlbiArIDEsIGZtdCwgYXApOworCXNiLT5idWZbcG9zICsgbGVuXSA9IHNhdmU7CisJaWYgKGxlbjIgIT0gbGVuKQorCQlCVUcoInlvdXIgdnNucHJpbnRmIGlzIGJyb2tlbiAocmV0dXJucyBpbmNvbnNpc3RlbnQgbGVuZ3RocykiKTsKKwlzdHJidWZfc2V0bGVuKHNiLCBzYi0+bGVuICsgbGVuKTsKK30KKwordm9pZCBzdHJidWZfaW5zZXJ0ZihzdHJ1Y3Qgc3RyYnVmICpzYiwgc2l6ZV90IHBvcywgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwl2YV9zdGFydChhcCwgZm10KTsKKwlzdHJidWZfdmluc2VydGYoc2IsIHBvcywgZm10LCBhcCk7CisJdmFfZW5kKGFwKTsKK30KKwogdm9pZCBzdHJidWZfcmVtb3ZlKHN0cnVjdCBzdHJidWYgKnNiLCBzaXplX3QgcG9zLCBzaXplX3QgbGVuKQogewogCXN0cmJ1Zl9zcGxpY2Uoc2IsIHBvcywgbGVuLCAiIiwgMCk7CkBAIC0yNjgsNiArMzA0LDIxIEBACiAJc3RyYnVmX3NldGxlbihzYiwgc2ItPmxlbiArIHNiMi0+bGVuKTsKIH0KIAorY29uc3QgY2hhciAqc3RyYnVmX2pvaW5fYXJndihzdHJ1Y3Qgc3RyYnVmICpidWYsCisJCQkgICAgIGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndiwgY2hhciBkZWxpbSkKK3sKKwlpZiAoIWFyZ2MpCisJCXJldHVybiBidWYtPmJ1ZjsKKworCXN0cmJ1Zl9hZGRzdHIoYnVmLCAqYXJndik7CisJd2hpbGUgKC0tYXJnYykgeworCQlzdHJidWZfYWRkY2goYnVmLCBkZWxpbSk7CisJCXN0cmJ1Zl9hZGRzdHIoYnVmLCAqKCsrYXJndikpOworCX0KKworCXJldHVybiBidWYtPmJ1ZjsKK30KKwogdm9pZCBzdHJidWZfYWRkY2hhcnMoc3RydWN0IHN0cmJ1ZiAqc2IsIGludCBjLCBzaXplX3QgbikKIHsKIAlzdHJidWZfZ3JvdyhzYiwgbik7CkBAIC0zODAsNiArNDMxLDI3IEBACiAJfQogfQogCitzaXplX3Qgc3RyYnVmX2V4cGFuZF9saXRlcmFsX2NiKHN0cnVjdCBzdHJidWYgKnNiLAorCQkJCWNvbnN0IGNoYXIgKnBsYWNlaG9sZGVyLAorCQkJCXZvaWQgKmNvbnRleHQpCit7CisJaW50IGNoOworCisJc3dpdGNoIChwbGFjZWhvbGRlclswXSkgeworCWNhc2UgJ24nOgkJLyogbmV3bGluZSAqLworCQlzdHJidWZfYWRkY2goc2IsICdcbicpOworCQlyZXR1cm4gMTsKKwljYXNlICd4JzoKKwkJLyogJXgwMCA9PSBOVUwsICV4MGEgPT0gTEYsIGV0Yy4gKi8KKwkJY2ggPSBoZXgyY2hyKHBsYWNlaG9sZGVyICsgMSk7CisJCWlmIChjaCA8IDApCisJCQlyZXR1cm4gMDsKKwkJc3RyYnVmX2FkZGNoKHNiLCBjaCk7CisJCXJldHVybiAzOworCX0KKwlyZXR1cm4gMDsKK30KKwogc2l6ZV90IHN0cmJ1Zl9leHBhbmRfZGljdF9jYihzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqcGxhY2Vob2xkZXIsCiAJCXZvaWQgKmNvbnRleHQpCiB7CkBAIC00MDcsNiArNDc5LDIxIEBACiAJfQogfQogCisjZGVmaW5lIFVSTF9VTlNBRkVfQ0hBUlMgIiA8PlwiJXt9fFxcXmA6Lz8jW11AISQmJygpKissOz0iCisKK3ZvaWQgc3RyYnVmX2FkZF9wZXJjZW50ZW5jb2RlKHN0cnVjdCBzdHJidWYgKmRzdCwgY29uc3QgY2hhciAqc3JjKQoreworCXNpemVfdCBpLCBsZW4gPSBzdHJsZW4oc3JjKTsKKworCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgeworCQl1bnNpZ25lZCBjaGFyIGNoID0gc3JjW2ldOworCQlpZiAoY2ggPD0gMHgxRiB8fCBjaCA+PSAweDdGIHx8IHN0cmNocihVUkxfVU5TQUZFX0NIQVJTLCBjaCkpCisJCQlzdHJidWZfYWRkZihkc3QsICIlJSUwMlgiLCAodW5zaWduZWQgY2hhciljaCk7CisJCWVsc2UKKwkJCXN0cmJ1Zl9hZGRjaChkc3QsIGNoKTsKKwl9Cit9CisKIHNpemVfdCBzdHJidWZfZnJlYWQoc3RydWN0IHN0cmJ1ZiAqc2IsIHNpemVfdCBzaXplLCBGSUxFICpmKQogewogCXNpemVfdCByZXM7CkBAIC03MDIsOCArNzg5LDEwIEBACiAJfQogfQogCi1zdGF0aWMgaW50IGlzX3JmYzM5ODZfcmVzZXJ2ZWQoY2hhciBjaCkKK2ludCBpc19yZmMzOTg2X3Jlc2VydmVkX29yX3VucmVzZXJ2ZWQoY2hhciBjaCkKIHsKKwlpZiAoaXNfcmZjMzk4Nl91bnJlc2VydmVkKGNoKSkKKwkJcmV0dXJuIDE7CiAJc3dpdGNoIChjaCkgewogCQljYXNlICchJzogY2FzZSAnKic6IGNhc2UgJ1wnJzogY2FzZSAnKCc6IGNhc2UgJyknOiBjYXNlICc7JzoKIAkJY2FzZSAnOic6IGNhc2UgJ0AnOiBjYXNlICcmJzogY2FzZSAnPSc6IGNhc2UgJysnOiBjYXNlICckJzoKQEAgLTcxMywyMCArODAyLDE5IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgaXNfcmZjMzk4Nl91bnJlc2VydmVkKGNoYXIgY2gpCitpbnQgaXNfcmZjMzk4Nl91bnJlc2VydmVkKGNoYXIgY2gpCiB7CiAJcmV0dXJuIGlzYWxudW0oY2gpIHx8CiAJCWNoID09ICctJyB8fCBjaCA9PSAnXycgfHwgY2ggPT0gJy4nIHx8IGNoID09ICd+JzsKIH0KIAogc3RhdGljIHZvaWQgc3RyYnVmX2FkZF91cmxlbmNvZGUoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKnMsIHNpemVfdCBsZW4sCi0JCQkJIGludCByZXNlcnZlZCkKKwkJCQkgY2hhcl9wcmVkaWNhdGUgYWxsb3dfdW5lbmNvZGVkX2ZuKQogewogCXN0cmJ1Zl9ncm93KHNiLCBsZW4pOwogCXdoaWxlIChsZW4tLSkgewogCQljaGFyIGNoID0gKnMrKzsKLQkJaWYgKGlzX3JmYzM5ODZfdW5yZXNlcnZlZChjaCkgfHwKLQkJICAgICghcmVzZXJ2ZWQgJiYgaXNfcmZjMzk4Nl9yZXNlcnZlZChjaCkpKQorCQlpZiAoYWxsb3dfdW5lbmNvZGVkX2ZuKGNoKSkKIAkJCXN0cmJ1Zl9hZGRjaChzYiwgY2gpOwogCQllbHNlCiAJCQlzdHJidWZfYWRkZihzYiwgIiUlJTAyeCIsICh1bnNpZ25lZCBjaGFyKWNoKTsKQEAgLTczNCwzMCArODIyLDYyIEBACiB9CiAKIHZvaWQgc3RyYnVmX2FkZHN0cl91cmxlbmNvZGUoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKnMsCi0JCQkgICAgIGludCByZXNlcnZlZCkKKwkJCSAgICAgY2hhcl9wcmVkaWNhdGUgYWxsb3dfdW5lbmNvZGVkX2ZuKQogewotCXN0cmJ1Zl9hZGRfdXJsZW5jb2RlKHNiLCBzLCBzdHJsZW4ocyksIHJlc2VydmVkKTsKKwlzdHJidWZfYWRkX3VybGVuY29kZShzYiwgcywgc3RybGVuKHMpLCBhbGxvd191bmVuY29kZWRfZm4pOwogfQogCi12b2lkIHN0cmJ1Zl9odW1hbmlzZV9ieXRlcyhzdHJ1Y3Qgc3RyYnVmICpidWYsIG9mZl90IGJ5dGVzKQorc3RhdGljIHZvaWQgc3RyYnVmX2h1bWFuaXNlKHN0cnVjdCBzdHJidWYgKmJ1Ziwgb2ZmX3QgYnl0ZXMsCisJCQkJIGludCBodW1hbmlzZV9yYXRlKQogewogCWlmIChieXRlcyA+IDEgPDwgMzApIHsKLQkJc3RyYnVmX2FkZGYoYnVmLCAiJXUuJTIuMnUgR2lCIiwKKwkJc3RyYnVmX2FkZGYoYnVmLAorCQkJCWh1bWFuaXNlX3JhdGUgPT0gMCA/CisJCQkJCS8qIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBnaWJpYnl0ZSAqLworCQkJCQlfKCIldS4lMi4ydSBHaUIiKSA6CisJCQkJCS8qIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBnaWJpYnl0ZS9zZWNvbmQgKi8KKwkJCQkJXygiJXUuJTIuMnUgR2lCL3MiKSwKIAkJCSAgICAodW5zaWduZWQpKGJ5dGVzID4+IDMwKSwKIAkJCSAgICAodW5zaWduZWQpKGJ5dGVzICYgKCgxIDw8IDMwKSAtIDEpKSAvIDEwNzM3NDE5KTsKIAl9IGVsc2UgaWYgKGJ5dGVzID4gMSA8PCAyMCkgewogCQl1bnNpZ25lZCB4ID0gYnl0ZXMgKyA1MjQzOyAgLyogZm9yIHJvdW5kaW5nICovCi0JCXN0cmJ1Zl9hZGRmKGJ1ZiwgIiV1LiUyLjJ1IE1pQiIsCisJCXN0cmJ1Zl9hZGRmKGJ1ZiwKKwkJCQlodW1hbmlzZV9yYXRlID09IDAgPworCQkJCQkvKiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggbWViaWJ5dGUgKi8KKwkJCQkJXygiJXUuJTIuMnUgTWlCIikgOgorCQkJCQkvKiBUUkFOU0xBVE9SUzogSUVDIDgwMDAwLTEzOjIwMDggbWViaWJ5dGUvc2Vjb25kICovCisJCQkJCV8oIiV1LiUyLjJ1IE1pQi9zIiksCiAJCQkgICAgeCA+PiAyMCwgKCh4ICYgKCgxIDw8IDIwKSAtIDEpKSAqIDEwMCkgPj4gMjApOwogCX0gZWxzZSBpZiAoYnl0ZXMgPiAxIDw8IDEwKSB7CiAJCXVuc2lnbmVkIHggPSBieXRlcyArIDU7ICAvKiBmb3Igcm91bmRpbmcgKi8KLQkJc3RyYnVmX2FkZGYoYnVmLCAiJXUuJTIuMnUgS2lCIiwKKwkJc3RyYnVmX2FkZGYoYnVmLAorCQkJCWh1bWFuaXNlX3JhdGUgPT0gMCA/CisJCQkJCS8qIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBraWJpYnl0ZSAqLworCQkJCQlfKCIldS4lMi4ydSBLaUIiKSA6CisJCQkJCS8qIFRSQU5TTEFUT1JTOiBJRUMgODAwMDAtMTM6MjAwOCBraWJpYnl0ZS9zZWNvbmQgKi8KKwkJCQkJXygiJXUuJTIuMnUgS2lCL3MiKSwKIAkJCSAgICB4ID4+IDEwLCAoKHggJiAoKDEgPDwgMTApIC0gMSkpICogMTAwKSA+PiAxMCk7CiAJfSBlbHNlIHsKLQkJc3RyYnVmX2FkZGYoYnVmLCAiJXUgYnl0ZXMiLCAodW5zaWduZWQpYnl0ZXMpOworCQlzdHJidWZfYWRkZihidWYsCisJCQkJaHVtYW5pc2VfcmF0ZSA9PSAwID8KKwkJCQkJLyogVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IGJ5dGUgKi8KKwkJCQkJUV8oIiV1IGJ5dGUiLCAiJXUgYnl0ZXMiLCAodW5zaWduZWQpYnl0ZXMpIDoKKwkJCQkJLyogVFJBTlNMQVRPUlM6IElFQyA4MDAwMC0xMzoyMDA4IGJ5dGUvc2Vjb25kICovCisJCQkJCVFfKCIldSBieXRlL3MiLCAiJXUgYnl0ZXMvcyIsICh1bnNpZ25lZClieXRlcyksCisJCQkJKHVuc2lnbmVkKWJ5dGVzKTsKIAl9CiB9CiAKK3ZvaWQgc3RyYnVmX2h1bWFuaXNlX2J5dGVzKHN0cnVjdCBzdHJidWYgKmJ1Ziwgb2ZmX3QgYnl0ZXMpCit7CisJc3RyYnVmX2h1bWFuaXNlKGJ1ZiwgYnl0ZXMsIDApOworfQorCit2b2lkIHN0cmJ1Zl9odW1hbmlzZV9yYXRlKHN0cnVjdCBzdHJidWYgKmJ1Ziwgb2ZmX3QgYnl0ZXMpCit7CisJc3RyYnVmX2h1bWFuaXNlKGJ1ZiwgYnl0ZXMsIDEpOworfQorCiB2b2lkIHN0cmJ1Zl9hZGRfYWJzb2x1dGVfcGF0aChzdHJ1Y3Qgc3RyYnVmICpzYiwgY29uc3QgY2hhciAqcGF0aCkKIHsKIAlpZiAoISpwYXRoKQpAQCAtMTAyMCwzICsxMTQwLDMxIEBACiAJc3RyYnVmX3JlbGVhc2UoJmRzdCk7CiAJcmV0dXJuIDA7CiB9CisKK2ludCBzdHJidWZfZWRpdF9pbnRlcmFjdGl2ZWx5KHN0cnVjdCBzdHJidWYgKmJ1ZmZlciwgY29uc3QgY2hhciAqcGF0aCwKKwkJCSAgICAgIGNvbnN0IGNoYXIgKmNvbnN0ICplbnYpCit7CisJY2hhciAqcGF0aDIgPSBOVUxMOworCWludCBmZCwgcmVzID0gMDsKKworCWlmICghaXNfYWJzb2x1dGVfcGF0aChwYXRoKSkKKwkJcGF0aCA9IHBhdGgyID0geHN0cmR1cChnaXRfcGF0aCgiJXMiLCBwYXRoKSk7CisKKwlmZCA9IG9wZW4ocGF0aCwgT19XUk9OTFkgfCBPX0NSRUFUIHwgT19UUlVOQywgMDY2Nik7CisJaWYgKGZkIDwgMCkKKwkJcmVzID0gZXJyb3JfZXJybm8oXygiY291bGQgbm90IG9wZW4gJyVzJyBmb3Igd3JpdGluZyIpLCBwYXRoKTsKKwllbHNlIGlmICh3cml0ZV9pbl9mdWxsKGZkLCBidWZmZXItPmJ1ZiwgYnVmZmVyLT5sZW4pIDwgMCkgeworCQlyZXMgPSBlcnJvcl9lcnJubyhfKCJjb3VsZCBub3Qgd3JpdGUgdG8gJyVzJyIpLCBwYXRoKTsKKwkJY2xvc2UoZmQpOworCX0gZWxzZSBpZiAoY2xvc2UoZmQpIDwgMCkKKwkJcmVzID0gZXJyb3JfZXJybm8oXygiY291bGQgbm90IGNsb3NlICclcyciKSwgcGF0aCk7CisJZWxzZSB7CisJCXN0cmJ1Zl9yZXNldChidWZmZXIpOworCQlpZiAobGF1bmNoX2VkaXRvcihwYXRoLCBidWZmZXIsIGVudikgPCAwKQorCQkJcmVzID0gZXJyb3JfZXJybm8oXygiY291bGQgbm90IGVkaXQgJyVzJyIpLCBwYXRoKTsKKwkJdW5saW5rKHBhdGgpOworCX0KKworCWZyZWUocGF0aDIpOworCXJldHVybiByZXM7Cit9CmRpZmYgLS1naXQgYS9zdHJidWYuaCBiL3N0cmJ1Zi5oCmluZGV4IGZjNDA4NzMuLmNlOGU0OWMgMTAwNjQ0Ci0tLSBhL3N0cmJ1Zi5oCisrKyBiL3N0cmJ1Zi5oCkBAIC0yNDUsNiArMjQ1LDI3IEBACiB2b2lkIHN0cmJ1Zl9pbnNlcnQoc3RydWN0IHN0cmJ1ZiAqc2IsIHNpemVfdCBwb3MsIGNvbnN0IHZvaWQgKiwgc2l6ZV90KTsKIAogLyoqCisgKiBJbnNlcnQgYSBOVUwtdGVybWluYXRlZCBzdHJpbmcgdG8gdGhlIGdpdmVuIHBvc2l0aW9uIG9mIHRoZSBidWZmZXIuCisgKiBUaGUgcmVtYWluaW5nIGNvbnRlbnRzIHdpbGwgYmUgc2hpZnRlZCwgbm90IG92ZXJ3cml0dGVuLiAgSXQncyBhbgorICogaW5saW5lIGZ1bmN0aW9uIHRvIGFsbG93IHRoZSBjb21waWxlciB0byByZXNvbHZlIHN0cmxlbigpIGNhbGxzIG9uCisgKiBjb25zdGFudHMgYXQgY29tcGlsZSB0aW1lLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgc3RyYnVmX2luc2VydHN0cihzdHJ1Y3Qgc3RyYnVmICpzYiwgc2l6ZV90IHBvcywKKwkJCQkgICAgY29uc3QgY2hhciAqcykKK3sKKwlzdHJidWZfaW5zZXJ0KHNiLCBwb3MsIHMsIHN0cmxlbihzKSk7Cit9CisKKy8qKgorICogSW5zZXJ0IGRhdGEgdG8gdGhlIGdpdmVuIHBvc2l0aW9uIG9mIHRoZSBidWZmZXIgZ2l2aW5nIGEgcHJpbnRmIGZvcm1hdAorICogc3RyaW5nLiBUaGUgY29udGVudHMgd2lsbCBiZSBzaGlmdGVkLCBub3Qgb3ZlcndyaXR0ZW4uCisgKi8KK3ZvaWQgc3RyYnVmX3ZpbnNlcnRmKHN0cnVjdCBzdHJidWYgKnNiLCBzaXplX3QgcG9zLCBjb25zdCBjaGFyICpmbXQsCisJCSAgICAgdmFfbGlzdCBhcCk7CisKK3ZvaWQgc3RyYnVmX2luc2VydGYoc3RydWN0IHN0cmJ1ZiAqc2IsIHNpemVfdCBwb3MsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKworLyoqCiAgKiBSZW1vdmUgZ2l2ZW4gYW1vdW50IG9mIGRhdGEgZnJvbSBhIGdpdmVuIHBvc2l0aW9uIG9mIHRoZSBidWZmZXIuCiAgKi8KIHZvaWQgc3RyYnVmX3JlbW92ZShzdHJ1Y3Qgc3RyYnVmICpzYiwgc2l6ZV90IHBvcywgc2l6ZV90IGxlbik7CkBAIC0yODksNiArMzEwLDEzIEBACiB2b2lkIHN0cmJ1Zl9hZGRidWYoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IHN0cnVjdCBzdHJidWYgKnNiMik7CiAKIC8qKgorICogSm9pbiB0aGUgYXJndW1lbnRzIGludG8gYSBidWZmZXIuIGBkZWxpbWAgaXMgcHV0IGJldHdlZW4gZXZlcnkKKyAqIHR3byBhcmd1bWVudHMuCisgKi8KK2NvbnN0IGNoYXIgKnN0cmJ1Zl9qb2luX2FyZ3Yoc3RydWN0IHN0cmJ1ZiAqYnVmLCBpbnQgYXJnYywKKwkJCSAgICAgY29uc3QgY2hhciAqKmFyZ3YsIGNoYXIgZGVsaW0pOworCisvKioKICAqIFRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gZXhwYW5kIGEgZm9ybWF0IHN0cmluZyBjb250YWluaW5nCiAgKiBwbGFjZWhvbGRlcnMuIFRvIHRoYXQgZW5kLCBpdCBwYXJzZXMgdGhlIHN0cmluZyBhbmQgY2FsbHMgdGhlIHNwZWNpZmllZAogICogZnVuY3Rpb24gZm9yIGV2ZXJ5IHBlcmNlbnQgc2lnbiBmb3VuZC4KQEAgLTMyMSw2ICszNDksMTQgQEAKIAkJICAgdm9pZCAqY29udGV4dCk7CiAKIC8qKgorICogVXNlZCBhcyBjYWxsYmFjayBmb3IgYHN0cmJ1Zl9leHBhbmRgIHRvIG9ubHkgZXhwYW5kIGxpdGVyYWxzCisgKiAoaS5lLiAlbiBhbmQgJXhOTikuIFRoZSBjb250ZXh0IGFyZ3VtZW50IGlzIGlnbm9yZWQuCisgKi8KK3NpemVfdCBzdHJidWZfZXhwYW5kX2xpdGVyYWxfY2Ioc3RydWN0IHN0cmJ1ZiAqc2IsCisJCQkJY29uc3QgY2hhciAqcGxhY2Vob2xkZXIsCisJCQkJdm9pZCAqY29udGV4dCk7CisKKy8qKgogICogVXNlZCBhcyBjYWxsYmFjayBmb3IgYHN0cmJ1Zl9leHBhbmQoKWAsIGV4cGVjdHMgYW4gYXJyYXkgb2YKICAqIHN0cnVjdCBzdHJidWZfZXhwYW5kX2RpY3RfZW50cnkgYXMgY29udGV4dCwgaS5lLiBwYWlycyBvZgogICogcGxhY2Vob2xkZXIgYW5kIHJlcGxhY2VtZW50IHN0cmluZy4gIFRoZSBhcnJheSBuZWVkcyB0byBiZQpAQCAtMzQzLDEyICszNzksMjQgQEAKIHZvaWQgc3RyYnVmX2FkZGJ1Zl9wZXJjZW50cXVvdGUoc3RydWN0IHN0cmJ1ZiAqZHN0LCBjb25zdCBzdHJ1Y3Qgc3RyYnVmICpzcmMpOwogCiAvKioKKyAqIEFwcGVuZCB0aGUgY29udGVudHMgb2YgYSBzdHJpbmcgdG8gYSBzdHJidWYsIHBlcmNlbnQtZW5jb2RpbmcgYW55IGNoYXJhY3RlcnMKKyAqIHRoYXQgYXJlIG5lZWRlZCB0byBiZSBlbmNvZGVkIGZvciBhIFVSTC4KKyAqLwordm9pZCBzdHJidWZfYWRkX3BlcmNlbnRlbmNvZGUoc3RydWN0IHN0cmJ1ZiAqZHN0LCBjb25zdCBjaGFyICpzcmMpOworCisvKioKICAqIEFwcGVuZCB0aGUgZ2l2ZW4gYnl0ZSBzaXplIGFzIGEgaHVtYW4tcmVhZGFibGUgc3RyaW5nIChpLmUuIDEyLjIzIEtpQiwKICAqIDMuNTAgTWlCKS4KICAqLwogdm9pZCBzdHJidWZfaHVtYW5pc2VfYnl0ZXMoc3RydWN0IHN0cmJ1ZiAqYnVmLCBvZmZfdCBieXRlcyk7CiAKIC8qKgorICogQXBwZW5kIHRoZSBnaXZlbiBieXRlIHJhdGUgYXMgYSBodW1hbi1yZWFkYWJsZSBzdHJpbmcgKGkuZS4gMTIuMjMgS2lCL3MsCisgKiAzLjUwIE1pQi9zKS4KKyAqLwordm9pZCBzdHJidWZfaHVtYW5pc2VfcmF0ZShzdHJ1Y3Qgc3RyYnVmICpidWYsIG9mZl90IGJ5dGVzKTsKKworLyoqCiAgKiBBZGQgYSBmb3JtYXR0ZWQgc3RyaW5nIHRvIHRoZSBidWZmZXIuCiAgKi8KIF9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLDIsMykpKQpAQCAtNTkxLDYgKzYzOSwxNyBAQAogaW50IGxhdW5jaF9zZXF1ZW5jZV9lZGl0b3IoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0cmJ1ZiAqYnVmZmVyLAogCQkJICAgY29uc3QgY2hhciAqY29uc3QgKmVudik7CiAKKy8qCisgKiBJbiBjb250cmFzdCB0byBgbGF1bmNoX2VkaXRvcigpYCwgdGhpcyBmdW5jdGlvbiB3cml0ZXMgb3V0IHRoZSBjb250ZW50cworICogb2YgdGhlIHNwZWNpZmllZCBmaWxlIGZpcnN0LCB0aGVuIGNsZWFycyB0aGUgYGJ1ZmZlcmAsIHRoZW4gbGF1bmNoZXMKKyAqIHRoZSBlZGl0b3IgYW5kIHJlYWRzIGJhY2sgaW4gdGhlIGZpbGUgY29udGVudHMgaW50byB0aGUgYGJ1ZmZlcmAuCisgKiBGaW5hbGx5LCBpdCBkZWxldGVzIHRoZSB0ZW1wb3JhcnkgZmlsZS4KKyAqCisgKiBJZiBgcGF0aGAgaXMgcmVsYXRpdmUsIGl0IHJlZmVycyB0byBhIGZpbGUgaW4gdGhlIGAuZ2l0YCBkaXJlY3RvcnkuCisgKi8KK2ludCBzdHJidWZfZWRpdF9pbnRlcmFjdGl2ZWx5KHN0cnVjdCBzdHJidWYgKmJ1ZmZlciwgY29uc3QgY2hhciAqcGF0aCwKKwkJCSAgICAgIGNvbnN0IGNoYXIgKmNvbnN0ICplbnYpOworCiB2b2lkIHN0cmJ1Zl9hZGRfbGluZXMoc3RydWN0IHN0cmJ1ZiAqc2IsCiAJCSAgICAgIGNvbnN0IGNoYXIgKnByZWZpeCwKIAkJICAgICAgY29uc3QgY2hhciAqYnVmLApAQCAtNjQyLDggKzcwMSwxMyBAQAogICovCiBpbnQgc3RyYnVmX2NoZWNrX2JyYW5jaF9yZWYoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKm5hbWUpOwogCit0eXBlZGVmIGludCAoKmNoYXJfcHJlZGljYXRlKShjaGFyIGNoKTsKKworaW50IGlzX3JmYzM5ODZfdW5yZXNlcnZlZChjaGFyIGNoKTsKK2ludCBpc19yZmMzOTg2X3Jlc2VydmVkX29yX3VucmVzZXJ2ZWQoY2hhciBjaCk7CisKIHZvaWQgc3RyYnVmX2FkZHN0cl91cmxlbmNvZGUoc3RydWN0IHN0cmJ1ZiAqc2IsIGNvbnN0IGNoYXIgKm5hbWUsCi0JCQkgICAgIGludCByZXNlcnZlZCk7CisJCQkgICAgIGNoYXJfcHJlZGljYXRlIGFsbG93X3VuZW5jb2RlZF9mbik7CiAKIF9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLDEsMikpKQogaW50IHByaW50Zl9sbihjb25zdCBjaGFyICpmbXQsIC4uLik7CmRpZmYgLS1naXQgYS9zdHJlYW1pbmcuYyBiL3N0cmVhbWluZy5jCmluZGV4IGFjN2M3YTIuLjgwMGYwN2EgMTAwNjQ0Ci0tLSBhL3N0cmVhbWluZy5jCisrKyBiL3N0cmVhbWluZy5jCkBAIC0xNiw2ICsxNiw3IEBACiB9OwogCiB0eXBlZGVmIGludCAoKm9wZW5faXN0cmVhbV9mbikoc3RydWN0IGdpdF9pc3RyZWFtICosCisJCQkgICAgICAgc3RydWN0IHJlcG9zaXRvcnkgKiwKIAkJCSAgICAgICBzdHJ1Y3Qgb2JqZWN0X2luZm8gKiwKIAkJCSAgICAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICosCiAJCQkgICAgICAgZW51bSBvYmplY3RfdHlwZSAqKTsKQEAgLTI5LDggKzMwLDggQEAKIAogI2RlZmluZSBvcGVuX21ldGhvZF9kZWNsKG5hbWUpIFwKIAlpbnQgb3Blbl9pc3RyZWFtXyAjI25hbWUgXAotCShzdHJ1Y3QgZ2l0X2lzdHJlYW0gKnN0LCBzdHJ1Y3Qgb2JqZWN0X2luZm8gKm9pLCBcCi0JIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwgXAorCShzdHJ1Y3QgZ2l0X2lzdHJlYW0gKnN0LCBzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgXAorCSBzdHJ1Y3Qgb2JqZWN0X2luZm8gKm9pLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIFwKIAkgZW51bSBvYmplY3RfdHlwZSAqdHlwZSkKIAogI2RlZmluZSBjbG9zZV9tZXRob2RfZGVjbChuYW1lKSBcCkBAIC0xMDgsNyArMTA5LDggQEAKIAlyZXR1cm4gc3QtPnZ0YmwtPnJlYWQoc3QsIGJ1Ziwgc3opOwogfQogCi1zdGF0aWMgZW51bSBpbnB1dF9zb3VyY2UgaXN0cmVhbV9zb3VyY2UoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorc3RhdGljIGVudW0gaW5wdXRfc291cmNlIGlzdHJlYW1fc291cmNlKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCiAJCQkJCWVudW0gb2JqZWN0X3R5cGUgKnR5cGUsCiAJCQkJCXN0cnVjdCBvYmplY3RfaW5mbyAqb2kpCiB7CkBAIC0xMTcsNyArMTE5LDcgQEAKIAogCW9pLT50eXBlcCA9IHR5cGU7CiAJb2ktPnNpemVwID0gJnNpemU7Ci0Jc3RhdHVzID0gb2lkX29iamVjdF9pbmZvX2V4dGVuZGVkKHRoZV9yZXBvc2l0b3J5LCBvaWQsIG9pLCAwKTsKKwlzdGF0dXMgPSBvaWRfb2JqZWN0X2luZm9fZXh0ZW5kZWQociwgb2lkLCBvaSwgMCk7CiAJaWYgKHN0YXR1cyA8IDApCiAJCXJldHVybiBzdHJlYW1fZXJyb3I7CiAKQEAgLTEzMywyMiArMTM1LDIzIEBACiAJfQogfQogCi1zdHJ1Y3QgZ2l0X2lzdHJlYW0gKm9wZW5faXN0cmVhbShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCitzdHJ1Y3QgZ2l0X2lzdHJlYW0gKm9wZW5faXN0cmVhbShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkLAogCQkJCSBlbnVtIG9iamVjdF90eXBlICp0eXBlLAogCQkJCSB1bnNpZ25lZCBsb25nICpzaXplLAogCQkJCSBzdHJ1Y3Qgc3RyZWFtX2ZpbHRlciAqZmlsdGVyKQogewogCXN0cnVjdCBnaXRfaXN0cmVhbSAqc3Q7CiAJc3RydWN0IG9iamVjdF9pbmZvIG9pID0gT0JKRUNUX0lORk9fSU5JVDsKLQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpyZWFsID0gbG9va3VwX3JlcGxhY2Vfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCBvaWQpOwotCWVudW0gaW5wdXRfc291cmNlIHNyYyA9IGlzdHJlYW1fc291cmNlKHJlYWwsIHR5cGUsICZvaSk7CisJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqcmVhbCA9IGxvb2t1cF9yZXBsYWNlX29iamVjdChyLCBvaWQpOworCWVudW0gaW5wdXRfc291cmNlIHNyYyA9IGlzdHJlYW1fc291cmNlKHIsIHJlYWwsIHR5cGUsICZvaSk7CiAKIAlpZiAoc3JjIDwgMCkKIAkJcmV0dXJuIE5VTEw7CiAKIAlzdCA9IHhtYWxsb2Moc2l6ZW9mKCpzdCkpOwotCWlmIChvcGVuX2lzdHJlYW1fdGJsW3NyY10oc3QsICZvaSwgcmVhbCwgdHlwZSkpIHsKLQkJaWYgKG9wZW5faXN0cmVhbV9pbmNvcmUoc3QsICZvaSwgcmVhbCwgdHlwZSkpIHsKKwlpZiAob3Blbl9pc3RyZWFtX3RibFtzcmNdKHN0LCByLCAmb2ksIHJlYWwsIHR5cGUpKSB7CisJCWlmIChvcGVuX2lzdHJlYW1faW5jb3JlKHN0LCByLCAmb2ksIHJlYWwsIHR5cGUpKSB7CiAJCQlmcmVlKHN0KTsKIAkJCXJldHVybiBOVUxMOwogCQl9CkBAIC0zMzgsMTYgKzM0MSwxNSBAQAogCiBzdGF0aWMgb3Blbl9tZXRob2RfZGVjbChsb29zZSkKIHsKLQlzdC0+dS5sb29zZS5tYXBwZWQgPSBtYXBfc2hhMV9maWxlKHRoZV9yZXBvc2l0b3J5LAotCQkJCQkgICBvaWQtPmhhc2gsICZzdC0+dS5sb29zZS5tYXBzaXplKTsKKwlzdC0+dS5sb29zZS5tYXBwZWQgPSBtYXBfbG9vc2Vfb2JqZWN0KHIsIG9pZCwgJnN0LT51Lmxvb3NlLm1hcHNpemUpOwogCWlmICghc3QtPnUubG9vc2UubWFwcGVkKQogCQlyZXR1cm4gLTE7Ci0JaWYgKCh1bnBhY2tfc2hhMV9oZWFkZXIoJnN0LT56LAotCQkJCXN0LT51Lmxvb3NlLm1hcHBlZCwKLQkJCQlzdC0+dS5sb29zZS5tYXBzaXplLAotCQkJCXN0LT51Lmxvb3NlLmhkciwKLQkJCQlzaXplb2Yoc3QtPnUubG9vc2UuaGRyKSkgPCAwKSB8fAotCSAgICAocGFyc2Vfc2hhMV9oZWFkZXIoc3QtPnUubG9vc2UuaGRyLCAmc3QtPnNpemUpIDwgMCkpIHsKKwlpZiAoKHVucGFja19sb29zZV9oZWFkZXIoJnN0LT56LAorCQkJCSBzdC0+dS5sb29zZS5tYXBwZWQsCisJCQkJIHN0LT51Lmxvb3NlLm1hcHNpemUsCisJCQkJIHN0LT51Lmxvb3NlLmhkciwKKwkJCQkgc2l6ZW9mKHN0LT51Lmxvb3NlLmhkcikpIDwgMCkgfHwKKwkgICAgKHBhcnNlX2xvb3NlX2hlYWRlcihzdC0+dS5sb29zZS5oZHIsICZzdC0+c2l6ZSkgPCAwKSkgewogCQlnaXRfaW5mbGF0ZV9lbmQoJnN0LT56KTsKIAkJbXVubWFwKHN0LT51Lmxvb3NlLm1hcHBlZCwgc3QtPnUubG9vc2UubWFwc2l6ZSk7CiAJCXJldHVybiAtMTsKQEAgLTQ5OSw3ICs1MDEsNyBAQAogCiBzdGF0aWMgb3Blbl9tZXRob2RfZGVjbChpbmNvcmUpCiB7Ci0Jc3QtPnUuaW5jb3JlLmJ1ZiA9IHJlYWRfb2JqZWN0X2ZpbGVfZXh0ZW5kZWQob2lkLCB0eXBlLCAmc3QtPnNpemUsIDApOworCXN0LT51LmluY29yZS5idWYgPSByZWFkX29iamVjdF9maWxlX2V4dGVuZGVkKHIsIG9pZCwgdHlwZSwgJnN0LT5zaXplLCAwKTsKIAlzdC0+dS5pbmNvcmUucmVhZF9wdHIgPSAwOwogCXN0LT52dGJsID0gJmluY29yZV92dGJsOwogCkBAIC01MjAsNyArNTIyLDcgQEAKIAlzc2l6ZV90IGtlcHQgPSAwOwogCWludCByZXN1bHQgPSAtMTsKIAotCXN0ID0gb3Blbl9pc3RyZWFtKG9pZCwgJnR5cGUsICZzeiwgZmlsdGVyKTsKKwlzdCA9IG9wZW5faXN0cmVhbSh0aGVfcmVwb3NpdG9yeSwgb2lkLCAmdHlwZSwgJnN6LCBmaWx0ZXIpOwogCWlmICghc3QpIHsKIAkJaWYgKGZpbHRlcikKIAkJCWZyZWVfc3RyZWFtX2ZpbHRlcihmaWx0ZXIpOwpkaWZmIC0tZ2l0IGEvc3RyZWFtaW5nLmggYi9zdHJlYW1pbmcuaAppbmRleCAzMmY0NjI2Li41ZTRlNmFjIDEwMDY0NAotLS0gYS9zdHJlYW1pbmcuaAorKysgYi9zdHJlYW1pbmcuaApAQCAtOCwxMCArOCwxMiBAQAogLyogb3BhcXVlICovCiBzdHJ1Y3QgZ2l0X2lzdHJlYW07CiAKLWV4dGVybiBzdHJ1Y3QgZ2l0X2lzdHJlYW0gKm9wZW5faXN0cmVhbShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICosIGVudW0gb2JqZWN0X3R5cGUgKiwgdW5zaWduZWQgbG9uZyAqLCBzdHJ1Y3Qgc3RyZWFtX2ZpbHRlciAqKTsKLWV4dGVybiBpbnQgY2xvc2VfaXN0cmVhbShzdHJ1Y3QgZ2l0X2lzdHJlYW0gKik7Ci1leHRlcm4gc3NpemVfdCByZWFkX2lzdHJlYW0oc3RydWN0IGdpdF9pc3RyZWFtICosIHZvaWQgKiwgc2l6ZV90KTsKK3N0cnVjdCBnaXRfaXN0cmVhbSAqb3Blbl9pc3RyZWFtKHN0cnVjdCByZXBvc2l0b3J5ICosIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKiwKKwkJCQkgZW51bSBvYmplY3RfdHlwZSAqLCB1bnNpZ25lZCBsb25nICosCisJCQkJIHN0cnVjdCBzdHJlYW1fZmlsdGVyICopOworaW50IGNsb3NlX2lzdHJlYW0oc3RydWN0IGdpdF9pc3RyZWFtICopOworc3NpemVfdCByZWFkX2lzdHJlYW0oc3RydWN0IGdpdF9pc3RyZWFtICosIHZvaWQgKiwgc2l6ZV90KTsKIAotZXh0ZXJuIGludCBzdHJlYW1fYmxvYl90b19mZChpbnQgZmQsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKiwgc3RydWN0IHN0cmVhbV9maWx0ZXIgKiwgaW50IGNhbl9zZWVrKTsKK2ludCBzdHJlYW1fYmxvYl90b19mZChpbnQgZmQsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKiwgc3RydWN0IHN0cmVhbV9maWx0ZXIgKiwgaW50IGNhbl9zZWVrKTsKIAogI2VuZGlmIC8qIFNUUkVBTUlOR19IICovCmRpZmYgLS1naXQgYS9zdHJpbmctbGlzdC5jIGIvc3RyaW5nLWxpc3QuYwppbmRleCAxZjYwNjNmLi5hOTE3OTU1IDEwMDY0NAotLS0gYS9zdHJpbmctbGlzdC5jCisrKyBiL3N0cmluZy1saXN0LmMKQEAgLTE1NSw3ICsxNTUsOCBAQAogCXJldHVybiAqaXRlbS0+c3RyaW5nICE9ICdcMCc7CiB9CiAKLXZvaWQgc3RyaW5nX2xpc3RfcmVtb3ZlX2VtcHR5X2l0ZW1zKHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCwgaW50IGZyZWVfdXRpbCkgewordm9pZCBzdHJpbmdfbGlzdF9yZW1vdmVfZW1wdHlfaXRlbXMoc3RydWN0IHN0cmluZ19saXN0ICpsaXN0LCBpbnQgZnJlZV91dGlsKQorewogCWZpbHRlcl9zdHJpbmdfbGlzdChsaXN0LCBmcmVlX3V0aWwsIGl0ZW1faXNfbm90X2VtcHR5LCBOVUxMKTsKIH0KIApkaWZmIC0tZ2l0IGEvc3RyaW5nLWxpc3QuaCBiL3N0cmluZy1saXN0LmgKaW5kZXggMThjNzE4Yy4uNmM1ZDI3NCAxMDA2NDQKLS0tIGEvc3RyaW5nLWxpc3QuaAorKysgYi9zdHJpbmctbGlzdC5oCkBAIC00LDcgKzQsOCBAQAogLyoqCiAgKiBUaGUgc3RyaW5nX2xpc3QgQVBJIG9mZmVycyBhIGRhdGEgc3RydWN0dXJlIGFuZCBmdW5jdGlvbnMgdG8gaGFuZGxlCiAgKiBzb3J0ZWQgYW5kIHVuc29ydGVkIGFycmF5cyBvZiBzdHJpbmdzLiAgQSAic29ydGVkIiBsaXN0IGlzIG9uZSB3aG9zZQotICogZW50cmllcyBhcmUgc29ydGVkIGJ5IHN0cmluZyB2YWx1ZSBpbiBgc3RyY21wKClgIG9yZGVyLgorICogZW50cmllcyBhcmUgc29ydGVkIGJ5IHN0cmluZyB2YWx1ZSBpbiB0aGUgb3JkZXIgc3BlY2lmaWVkIGJ5IHRoZSBgY21wYAorICogbWVtYmVyIChgc3RyY21wKClgIGJ5IGRlZmF1bHQpLgogICoKICAqIFRoZSBjYWxsZXI6CiAgKgpAQCAtMTc0LDEyICsxNzUsMTIgQEAKICAqIFJlbW92ZSB0aGUgZ2l2ZW4gc3RyaW5nIGZyb20gdGhlIHNvcnRlZCBsaXN0LiAgSWYgdGhlIHN0cmluZwogICogZG9lc24ndCBleGlzdCwgdGhlIGxpc3QgaXMgbm90IGFsdGVyZWQuCiAgKi8KLWV4dGVybiB2b2lkIHN0cmluZ19saXN0X3JlbW92ZShzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QsIGNvbnN0IGNoYXIgKnN0cmluZywKLQkJCSAgICAgICBpbnQgZnJlZV91dGlsKTsKK3ZvaWQgc3RyaW5nX2xpc3RfcmVtb3ZlKHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCwgY29uc3QgY2hhciAqc3RyaW5nLAorCQkJaW50IGZyZWVfdXRpbCk7CiAKIC8qKgogICogQ2hlY2sgaWYgdGhlIGdpdmVuIHN0cmluZyBpcyBwYXJ0IG9mIGEgc29ydGVkIGxpc3QuIElmIGl0IGlzIHBhcnQgb2YgdGhlIGxpc3QsCi0gKiByZXR1cm4gdGhlIGNvcmVzcG9uZGluZyBzdHJpbmdfbGlzdF9pdGVtLCBOVUxMIG90aGVyd2lzZS4KKyAqIHJldHVybiB0aGUgY29ycmVzcG9uZGluZyBzdHJpbmdfbGlzdF9pdGVtLCBOVUxMIG90aGVyd2lzZS4KICAqLwogc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKnN0cmluZ19saXN0X2xvb2t1cChzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QsIGNvbnN0IGNoYXIgKnN0cmluZyk7CiAKQEAgLTIwOSw3ICsyMTAsOCBAQAogc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKnN0cmluZ19saXN0X2FwcGVuZF9ub2R1cChzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmxpc3QsIGNoYXIgKnN0cmluZyk7CiAKIC8qKgotICogU29ydCB0aGUgbGlzdCdzIGVudHJpZXMgYnkgc3RyaW5nIHZhbHVlIGluIGBzdHJjbXAoKWAgb3JkZXIuCisgKiBTb3J0IHRoZSBsaXN0J3MgZW50cmllcyBieSBzdHJpbmcgdmFsdWUgaW4gb3JkZXIgc3BlY2lmaWVkIGJ5IGxpc3QtPmNtcAorICogKHN0cmNtcCgpIGlmIGxpc3QtPmNtcCBpcyBOVUxMKS4KICAqLwogdm9pZCBzdHJpbmdfbGlzdF9zb3J0KHN0cnVjdCBzdHJpbmdfbGlzdCAqbGlzdCk7CiAKZGlmZiAtLWdpdCBhL3N1Yi1wcm9jZXNzLmMgYi9zdWItcHJvY2Vzcy5jCmluZGV4IDhkMmExNzAuLjFiMWFmOWQgMTAwNjQ0Ci0tLSBhL3N1Yi1wcm9jZXNzLmMKKysrIGIvc3ViLXByb2Nlc3MuYwpAQCAtNiwxMiArNiwxNCBAQAogI2luY2x1ZGUgInBrdC1saW5lLmgiCiAKIGludCBjbWQycHJvY2Vzc19jbXAoY29uc3Qgdm9pZCAqdW51c2VkX2NtcF9kYXRhLAotCQkgICAgY29uc3Qgdm9pZCAqZW50cnksCi0JCSAgICBjb25zdCB2b2lkICplbnRyeV9vcl9rZXksCisJCSAgICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZXB0ciwKKwkJICAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeV9vcl9rZXksCiAJCSAgICBjb25zdCB2b2lkICp1bnVzZWRfa2V5ZGF0YSkKIHsKLQljb25zdCBzdHJ1Y3Qgc3VicHJvY2Vzc19lbnRyeSAqZTEgPSBlbnRyeTsKLQljb25zdCBzdHJ1Y3Qgc3VicHJvY2Vzc19lbnRyeSAqZTIgPSBlbnRyeV9vcl9rZXk7CisJY29uc3Qgc3RydWN0IHN1YnByb2Nlc3NfZW50cnkgKmUxLCAqZTI7CisKKwllMSA9IGNvbnRhaW5lcl9vZihlcHRyLCBjb25zdCBzdHJ1Y3Qgc3VicHJvY2Vzc19lbnRyeSwgZW50KTsKKwllMiA9IGNvbnRhaW5lcl9vZihlbnRyeV9vcl9rZXksIGNvbnN0IHN0cnVjdCBzdWJwcm9jZXNzX2VudHJ5LCBlbnQpOwogCiAJcmV0dXJuIHN0cmNtcChlMS0+Y21kLCBlMi0+Y21kKTsKIH0KQEAgLTIwLDkgKzIyLDkgQEAKIHsKIAlzdHJ1Y3Qgc3VicHJvY2Vzc19lbnRyeSBrZXk7CiAKLQloYXNobWFwX2VudHJ5X2luaXQoJmtleSwgc3RyaGFzaChjbWQpKTsKKwloYXNobWFwX2VudHJ5X2luaXQoJmtleS5lbnQsIHN0cmhhc2goY21kKSk7CiAJa2V5LmNtZCA9IGNtZDsKLQlyZXR1cm4gaGFzaG1hcF9nZXQoaGFzaG1hcCwgJmtleSwgTlVMTCk7CisJcmV0dXJuIGhhc2htYXBfZ2V0X2VudHJ5KGhhc2htYXAsICZrZXksIGVudCwgTlVMTCk7CiB9CiAKIGludCBzdWJwcm9jZXNzX3JlYWRfc3RhdHVzKGludCBmZCwgc3RydWN0IHN0cmJ1ZiAqc3RhdHVzKQpAQCAtNTgsNyArNjAsNyBAQAogCWtpbGwoZW50cnktPnByb2Nlc3MucGlkLCBTSUdURVJNKTsKIAlmaW5pc2hfY29tbWFuZCgmZW50cnktPnByb2Nlc3MpOwogCi0JaGFzaG1hcF9yZW1vdmUoaGFzaG1hcCwgZW50cnksIE5VTEwpOworCWhhc2htYXBfcmVtb3ZlKGhhc2htYXAsICZlbnRyeS0+ZW50LCBOVUxMKTsKIH0KIAogc3RhdGljIHZvaWQgc3VicHJvY2Vzc19leGl0X2hhbmRsZXIoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKnByb2Nlc3MpCkBAIC04OCw2ICs5MCw3IEBACiAJcHJvY2Vzcy0+b3V0ID0gLTE7CiAJcHJvY2Vzcy0+Y2xlYW5fb25fZXhpdCA9IDE7CiAJcHJvY2Vzcy0+Y2xlYW5fb25fZXhpdF9oYW5kbGVyID0gc3VicHJvY2Vzc19leGl0X2hhbmRsZXI7CisJcHJvY2Vzcy0+dHJhY2UyX2NoaWxkX2NsYXNzID0gInN1YnByb2Nlc3MiOwogCiAJZXJyID0gc3RhcnRfY29tbWFuZChwcm9jZXNzKTsKIAlpZiAoZXJyKSB7CkBAIC05NSw3ICs5OCw3IEBACiAJCXJldHVybiBlcnI7CiAJfQogCi0JaGFzaG1hcF9lbnRyeV9pbml0KGVudHJ5LCBzdHJoYXNoKGNtZCkpOworCWhhc2htYXBfZW50cnlfaW5pdCgmZW50cnktPmVudCwgc3RyaGFzaChjbWQpKTsKIAogCWVyciA9IHN0YXJ0Zm4oZW50cnkpOwogCWlmIChlcnIpIHsKQEAgLTEwNCw3ICsxMDcsNyBAQAogCQlyZXR1cm4gZXJyOwogCX0KIAotCWhhc2htYXBfYWRkKGhhc2htYXAsIGVudHJ5KTsKKwloYXNobWFwX2FkZChoYXNobWFwLCAmZW50cnktPmVudCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3N1Yi1wcm9jZXNzLmggYi9zdWItcHJvY2Vzcy5oCmluZGV4IDcxYjE4YWQuLmU4NWYyMWYgMTAwNjQ0Ci0tLSBhL3N1Yi1wcm9jZXNzLmgKKysrIGIvc3ViLXByb2Nlc3MuaApAQCAtMjQsNyArMjQsNyBAQAogCiAvKiBNZW1iZXJzIHNob3VsZCBub3QgYmUgYWNjZXNzZWQgZGlyZWN0bHkuICovCiBzdHJ1Y3Qgc3VicHJvY2Vzc19lbnRyeSB7Ci0Jc3RydWN0IGhhc2htYXBfZW50cnkgZW50OyAvKiBtdXN0IGJlIHRoZSBmaXJzdCBtZW1iZXIhICovCisJc3RydWN0IGhhc2htYXBfZW50cnkgZW50OwogCWNvbnN0IGNoYXIgKmNtZDsKIAlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBwcm9jZXNzOwogfTsKQEAgLTQyLDEwICs0MiwxMCBAQAogLyogc3VicHJvY2VzcyBmdW5jdGlvbnMgKi8KIAogLyogRnVuY3Rpb24gdG8gdGVzdCB0d28gc3VicHJvY2VzcyBoYXNobWFwIGVudHJpZXMgZm9yIGVxdWFsaXR5LiAqLwotZXh0ZXJuIGludCBjbWQycHJvY2Vzc19jbXAoY29uc3Qgdm9pZCAqdW51c2VkX2NtcF9kYXRhLAotCQkJICAgY29uc3Qgdm9pZCAqZTEsCi0JCQkgICBjb25zdCB2b2lkICplMiwKLQkJCSAgIGNvbnN0IHZvaWQgKnVudXNlZF9rZXlkYXRhKTsKK2ludCBjbWQycHJvY2Vzc19jbXAoY29uc3Qgdm9pZCAqdW51c2VkX2NtcF9kYXRhLAorCQkgICAgY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmUsCisJCSAgICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZW50cnlfb3Jfa2V5LAorCQkgICAgY29uc3Qgdm9pZCAqdW51c2VkX2tleWRhdGEpOwogCiAvKgogICogVXNlci1zdXBwbGllZCBmdW5jdGlvbiB0byBpbml0aWFsaXplIHRoZSBzdWItcHJvY2Vzcy4gIFRoaXMgaXMKZGlmZiAtLWdpdCBhL3N1Ym1vZHVsZS1jb25maWcuYyBiL3N1Ym1vZHVsZS1jb25maWcuYwppbmRleCA4YzAwODU1Li40ZDFjOTJkIDEwMDY0NAotLS0gYS9zdWJtb2R1bGUtY29uZmlnLmMKKysrIGIvc3VibW9kdWxlLWNvbmZpZy5jCkBAIC0zOCwyNCArMzgsMjggQEAKIH07CiAKIHN0YXRpYyBpbnQgY29uZmlnX3BhdGhfY21wKGNvbnN0IHZvaWQgKnVudXNlZF9jbXBfZGF0YSwKLQkJCSAgIGNvbnN0IHZvaWQgKmVudHJ5LAotCQkJICAgY29uc3Qgdm9pZCAqZW50cnlfb3Jfa2V5LAorCQkJICAgY29uc3Qgc3RydWN0IGhhc2htYXBfZW50cnkgKmVwdHIsCisJCQkgICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZW50cnlfb3Jfa2V5LAogCQkJICAgY29uc3Qgdm9pZCAqdW51c2VkX2tleWRhdGEpCiB7Ci0JY29uc3Qgc3RydWN0IHN1Ym1vZHVsZV9lbnRyeSAqYSA9IGVudHJ5OwotCWNvbnN0IHN0cnVjdCBzdWJtb2R1bGVfZW50cnkgKmIgPSBlbnRyeV9vcl9rZXk7CisJY29uc3Qgc3RydWN0IHN1Ym1vZHVsZV9lbnRyeSAqYSwgKmI7CisKKwlhID0gY29udGFpbmVyX29mKGVwdHIsIGNvbnN0IHN0cnVjdCBzdWJtb2R1bGVfZW50cnksIGVudCk7CisJYiA9IGNvbnRhaW5lcl9vZihlbnRyeV9vcl9rZXksIGNvbnN0IHN0cnVjdCBzdWJtb2R1bGVfZW50cnksIGVudCk7CiAKIAlyZXR1cm4gc3RyY21wKGEtPmNvbmZpZy0+cGF0aCwgYi0+Y29uZmlnLT5wYXRoKSB8fAogCSAgICAgICAhb2lkZXEoJmEtPmNvbmZpZy0+Z2l0bW9kdWxlc19vaWQsICZiLT5jb25maWctPmdpdG1vZHVsZXNfb2lkKTsKIH0KIAogc3RhdGljIGludCBjb25maWdfbmFtZV9jbXAoY29uc3Qgdm9pZCAqdW51c2VkX2NtcF9kYXRhLAotCQkJICAgY29uc3Qgdm9pZCAqZW50cnksCi0JCQkgICBjb25zdCB2b2lkICplbnRyeV9vcl9rZXksCisJCQkgICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZXB0ciwKKwkJCSAgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplbnRyeV9vcl9rZXksCiAJCQkgICBjb25zdCB2b2lkICp1bnVzZWRfa2V5ZGF0YSkKIHsKLQljb25zdCBzdHJ1Y3Qgc3VibW9kdWxlX2VudHJ5ICphID0gZW50cnk7Ci0JY29uc3Qgc3RydWN0IHN1Ym1vZHVsZV9lbnRyeSAqYiA9IGVudHJ5X29yX2tleTsKKwljb25zdCBzdHJ1Y3Qgc3VibW9kdWxlX2VudHJ5ICphLCAqYjsKKworCWEgPSBjb250YWluZXJfb2YoZXB0ciwgY29uc3Qgc3RydWN0IHN1Ym1vZHVsZV9lbnRyeSwgZW50KTsKKwliID0gY29udGFpbmVyX29mKGVudHJ5X29yX2tleSwgY29uc3Qgc3RydWN0IHN1Ym1vZHVsZV9lbnRyeSwgZW50KTsKIAogCXJldHVybiBzdHJjbXAoYS0+Y29uZmlnLT5uYW1lLCBiLT5jb25maWctPm5hbWUpIHx8CiAJICAgICAgICFvaWRlcSgmYS0+Y29uZmlnLT5naXRtb2R1bGVzX29pZCwgJmItPmNvbmZpZy0+Z2l0bW9kdWxlc19vaWQpOwpAQCAtOTUsMTIgKzk5LDEyIEBACiAJICogYWxsb2NhdGlvbiBvZiBzdHJ1Y3Qgc3VibW9kdWxlIGVudHJpZXMuIEVhY2ggaXMgYWxsb2NhdGVkIGJ5CiAJICogdGhlaXIgLmdpdG1vZHVsZXMgYmxvYiBzaGExIGFuZCBzdWJtb2R1bGUgbmFtZS4KIAkgKi8KLQloYXNobWFwX2l0ZXJfaW5pdCgmY2FjaGUtPmZvcl9uYW1lLCAmaXRlcik7Ci0Jd2hpbGUgKChlbnRyeSA9IGhhc2htYXBfaXRlcl9uZXh0KCZpdGVyKSkpCisJaGFzaG1hcF9mb3JfZWFjaF9lbnRyeSgmY2FjaGUtPmZvcl9uYW1lLCAmaXRlciwgZW50cnksCisJCQkJZW50IC8qIG1lbWJlciBuYW1lICovKQogCQlmcmVlX29uZV9jb25maWcoZW50cnkpOwogCi0JaGFzaG1hcF9mcmVlKCZjYWNoZS0+Zm9yX3BhdGgsIDEpOwotCWhhc2htYXBfZnJlZSgmY2FjaGUtPmZvcl9uYW1lLCAxKTsKKwloYXNobWFwX2ZyZWVfZW50cmllcygmY2FjaGUtPmZvcl9wYXRoLCBzdHJ1Y3Qgc3VibW9kdWxlX2VudHJ5LCBlbnQpOworCWhhc2htYXBfZnJlZV9lbnRyaWVzKCZjYWNoZS0+Zm9yX25hbWUsIHN0cnVjdCBzdWJtb2R1bGVfZW50cnksIGVudCk7CiAJY2FjaGUtPmluaXRpYWxpemVkID0gMDsKIAljYWNoZS0+Z2l0bW9kdWxlc19yZWFkID0gMDsKIH0KQEAgLTEyMyw5ICsxMjcsOSBAQAogCXVuc2lnbmVkIGludCBoYXNoID0gaGFzaF9vaWRfc3RyaW5nKCZzdWJtb2R1bGUtPmdpdG1vZHVsZXNfb2lkLAogCQkJCQkgICAgc3VibW9kdWxlLT5wYXRoKTsKIAlzdHJ1Y3Qgc3VibW9kdWxlX2VudHJ5ICplID0geG1hbGxvYyhzaXplb2YoKmUpKTsKLQloYXNobWFwX2VudHJ5X2luaXQoZSwgaGFzaCk7CisJaGFzaG1hcF9lbnRyeV9pbml0KCZlLT5lbnQsIGhhc2gpOwogCWUtPmNvbmZpZyA9IHN1Ym1vZHVsZTsKLQloYXNobWFwX3B1dCgmY2FjaGUtPmZvcl9wYXRoLCBlKTsKKwloYXNobWFwX3B1dCgmY2FjaGUtPmZvcl9wYXRoLCAmZS0+ZW50KTsKIH0KIAogc3RhdGljIHZvaWQgY2FjaGVfcmVtb3ZlX3BhdGgoc3RydWN0IHN1Ym1vZHVsZV9jYWNoZSAqY2FjaGUsCkBAIC0xMzUsOSArMTM5LDkgQEAKIAkJCQkJICAgIHN1Ym1vZHVsZS0+cGF0aCk7CiAJc3RydWN0IHN1Ym1vZHVsZV9lbnRyeSBlOwogCXN0cnVjdCBzdWJtb2R1bGVfZW50cnkgKnJlbW92ZWQ7Ci0JaGFzaG1hcF9lbnRyeV9pbml0KCZlLCBoYXNoKTsKKwloYXNobWFwX2VudHJ5X2luaXQoJmUuZW50LCBoYXNoKTsKIAllLmNvbmZpZyA9IHN1Ym1vZHVsZTsKLQlyZW1vdmVkID0gaGFzaG1hcF9yZW1vdmUoJmNhY2hlLT5mb3JfcGF0aCwgJmUsIE5VTEwpOworCXJlbW92ZWQgPSBoYXNobWFwX3JlbW92ZV9lbnRyeSgmY2FjaGUtPmZvcl9wYXRoLCAmZSwgZW50LCBOVUxMKTsKIAlmcmVlKHJlbW92ZWQpOwogfQogCkBAIC0xNDcsOSArMTUxLDkgQEAKIAl1bnNpZ25lZCBpbnQgaGFzaCA9IGhhc2hfb2lkX3N0cmluZygmc3VibW9kdWxlLT5naXRtb2R1bGVzX29pZCwKIAkJCQkJICAgIHN1Ym1vZHVsZS0+bmFtZSk7CiAJc3RydWN0IHN1Ym1vZHVsZV9lbnRyeSAqZSA9IHhtYWxsb2Moc2l6ZW9mKCplKSk7Ci0JaGFzaG1hcF9lbnRyeV9pbml0KGUsIGhhc2gpOworCWhhc2htYXBfZW50cnlfaW5pdCgmZS0+ZW50LCBoYXNoKTsKIAllLT5jb25maWcgPSBzdWJtb2R1bGU7Ci0JaGFzaG1hcF9hZGQoJmNhY2hlLT5mb3JfbmFtZSwgZSk7CisJaGFzaG1hcF9hZGQoJmNhY2hlLT5mb3JfbmFtZSwgJmUtPmVudCk7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpjYWNoZV9sb29rdXBfcGF0aChzdHJ1Y3Qgc3VibW9kdWxlX2NhY2hlICpjYWNoZSwKQEAgLTE2MywxMCArMTY3LDEwIEBACiAJb2lkY3B5KCZrZXlfY29uZmlnLmdpdG1vZHVsZXNfb2lkLCBnaXRtb2R1bGVzX29pZCk7CiAJa2V5X2NvbmZpZy5wYXRoID0gcGF0aDsKIAotCWhhc2htYXBfZW50cnlfaW5pdCgma2V5LCBoYXNoKTsKKwloYXNobWFwX2VudHJ5X2luaXQoJmtleS5lbnQsIGhhc2gpOwogCWtleS5jb25maWcgPSAma2V5X2NvbmZpZzsKIAotCWVudHJ5ID0gaGFzaG1hcF9nZXQoJmNhY2hlLT5mb3JfcGF0aCwgJmtleSwgTlVMTCk7CisJZW50cnkgPSBoYXNobWFwX2dldF9lbnRyeSgmY2FjaGUtPmZvcl9wYXRoLCAma2V5LCBlbnQsIE5VTEwpOwogCWlmIChlbnRyeSkKIAkJcmV0dXJuIGVudHJ5LT5jb25maWc7CiAJcmV0dXJuIE5VTEw7CkBAIC0xODMsMTAgKzE4NywxMCBAQAogCW9pZGNweSgma2V5X2NvbmZpZy5naXRtb2R1bGVzX29pZCwgZ2l0bW9kdWxlc19vaWQpOwogCWtleV9jb25maWcubmFtZSA9IG5hbWU7CiAKLQloYXNobWFwX2VudHJ5X2luaXQoJmtleSwgaGFzaCk7CisJaGFzaG1hcF9lbnRyeV9pbml0KCZrZXkuZW50LCBoYXNoKTsKIAlrZXkuY29uZmlnID0gJmtleV9jb25maWc7CiAKLQllbnRyeSA9IGhhc2htYXBfZ2V0KCZjYWNoZS0+Zm9yX25hbWUsICZrZXksIE5VTEwpOworCWVudHJ5ID0gaGFzaG1hcF9nZXRfZW50cnkoJmNhY2hlLT5mb3JfbmFtZSwgJmtleSwgZW50LCBOVUxMKTsKIAlpZiAoZW50cnkpCiAJCXJldHVybiBlbnRyeS0+Y29uZmlnOwogCXJldHVybiBOVUxMOwpAQCAtMjgxLDcgKzI4NSwxMCBAQAogCWRlZmF1bHQ6CiAJCWlmICghc3RyY21wKGFyZywgIm9uLWRlbWFuZCIpKQogCQkJcmV0dXJuIFJFQ1VSU0VfU1VCTU9EVUxFU19PTl9ERU1BTkQ7Ci0KKwkJLyoKKwkJICogUGxlYXNlIHVwZGF0ZSAkX19naXRfZmV0Y2hfcmVjdXJzZV9zdWJtb2R1bGVzIGluCisJCSAqIGdpdC1jb21wbGV0aW9uLmJhc2ggd2hlbiB5b3UgYWRkIG5ldyBvcHRpb25zLgorCQkgKi8KIAkJaWYgKGRpZV9vbl9lcnJvcikKIAkJCWRpZSgiYmFkICVzIGFyZ3VtZW50OiAlcyIsIG9wdCwgYXJnKTsKIAkJZWxzZQpAQCAtMzYyLDYgKzM2OSwxMCBAQAogCQkJcmV0dXJuIFJFQ1VSU0VfU1VCTU9EVUxFU19DSEVDSzsKIAkJZWxzZSBpZiAoIXN0cmNtcChhcmcsICJvbmx5IikpCiAJCQlyZXR1cm4gUkVDVVJTRV9TVUJNT0RVTEVTX09OTFk7CisJCS8qCisJCSAqIFBsZWFzZSB1cGRhdGUgJF9fZ2l0X3B1c2hfcmVjdXJzZV9zdWJtb2R1bGVzIGluCisJCSAqIGdpdC1jb21wbGV0aW9uLmJhc2ggd2hlbiB5b3UgYWRkIG5ldyBtb2Rlcy4KKwkJICovCiAJCWVsc2UgaWYgKGRpZV9vbl9lcnJvcikKIAkJCWRpZSgiYmFkICVzIGFyZ3VtZW50OiAlcyIsIG9wdCwgYXJnKTsKIAkJZWxzZQpAQCAtNTUxLDcgKzU2Miw5IEBACiAJCXN0cnVjdCBoYXNobWFwX2l0ZXIgaXRlcjsKIAkJc3RydWN0IHN1Ym1vZHVsZV9lbnRyeSAqZW50cnk7CiAKLQkJZW50cnkgPSBoYXNobWFwX2l0ZXJfZmlyc3QoJmNhY2hlLT5mb3JfbmFtZSwgJml0ZXIpOworCQllbnRyeSA9IGhhc2htYXBfaXRlcl9maXJzdF9lbnRyeSgmY2FjaGUtPmZvcl9uYW1lLCAmaXRlciwKKwkJCQkJCXN0cnVjdCBzdWJtb2R1bGVfZW50cnksCisJCQkJCQllbnQgLyogbWVtYmVyIG5hbWUgKi8pOwogCQlpZiAoIWVudHJ5KQogCQkJcmV0dXJuIE5VTEw7CiAJCXJldHVybiBlbnRyeS0+Y29uZmlnOwpAQCAtNjEzLDcgKzYyNiw3IEBACiAKIC8qCiAgKiBOb3RlOiBUaGlzIGZ1bmN0aW9uIGlzIHByaXZhdGUgZm9yIGEgcmVhc29uLCB0aGUgJy5naXRtb2R1bGVzJyBmaWxlIHNob3VsZAotICogbm90IGJlIHVzZWQgYXMgYXMgYSBtZWNoYW5pc20gdG8gcmV0cmlldmUgYXJiaXRyYXJ5IGNvbmZpZ3VyYXRpb24gc3RvcmVkIGluCisgKiBub3QgYmUgdXNlZCBhcyBhIG1lY2hhbmlzbSB0byByZXRyaWV2ZSBhcmJpdHJhcnkgY29uZmlndXJhdGlvbiBzdG9yZWQgaW4KICAqIHRoZSByZXBvc2l0b3J5LgogICoKICAqIFJ1bnMgdGhlIHByb3ZpZGVkIGNvbmZpZyBmdW5jdGlvbiBvbiB0aGUgJy5naXRtb2R1bGVzJyBmaWxlIGZvdW5kIGluIHRoZQpAQCAtNjIyLDI3ICs2MzUsMjIgQEAKIHN0YXRpYyB2b2lkIGNvbmZpZ19mcm9tX2dpdG1vZHVsZXMoY29uZmlnX2ZuX3QgZm4sIHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLCB2b2lkICpkYXRhKQogewogCWlmIChyZXBvLT53b3JrdHJlZSkgewotCQlzdHJ1Y3QgZ2l0X2NvbmZpZ19zb3VyY2UgY29uZmlnX3NvdXJjZSA9IHsgMCB9OworCQlzdHJ1Y3QgZ2l0X2NvbmZpZ19zb3VyY2UgY29uZmlnX3NvdXJjZSA9IHsKKwkJCTAsIC5zY29wZSA9IENPTkZJR19TQ09QRV9TVUJNT0RVTEUKKwkJfTsKIAkJY29uc3Qgc3RydWN0IGNvbmZpZ19vcHRpb25zIG9wdHMgPSB7IDAgfTsKIAkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJCWNoYXIgKmZpbGU7CisJCWNoYXIgKm9pZHN0ciA9IE5VTEw7CiAKIAkJZmlsZSA9IHJlcG9fd29ya3RyZWVfcGF0aChyZXBvLCBHSVRNT0RVTEVTX0ZJTEUpOwogCQlpZiAoZmlsZV9leGlzdHMoZmlsZSkpIHsKIAkJCWNvbmZpZ19zb3VyY2UuZmlsZSA9IGZpbGU7Ci0JCX0gZWxzZSBpZiAocmVwby0+c3VibW9kdWxlX3ByZWZpeCkgewotCQkJLyoKLQkJCSAqIFdoZW4gZ2V0X29pZCBhbmQgY29uZmlnX3dpdGhfb3B0aW9ucywgdXNlZCBiZWxvdywKLQkJCSAqIGJlY29tZSBhYmxlIHRvIHdvcmsgb24gYSBzcGVjaWZpYyByZXBvc2l0b3J5LCB0aGlzCi0JCQkgKiB3YXJuaW5nIGJyYW5jaCBjYW4gYmUgcmVtb3ZlZC4KLQkJCSAqLwotCQkJd2FybmluZygibmVzdGVkIHN1Ym1vZHVsZXMgd2l0aG91dCAlcyBpbiB0aGUgd29ya2luZyB0cmVlIGFyZSBub3Qgc3VwcG9ydGVkIHlldCIsCi0JCQkJR0lUTU9EVUxFU19GSUxFKTsKLQkJCWdvdG8gb3V0OwotCQl9IGVsc2UgaWYgKGdldF9vaWQoR0lUTU9EVUxFU19JTkRFWCwgJm9pZCkgPj0gMCkgewotCQkJY29uZmlnX3NvdXJjZS5ibG9iID0gR0lUTU9EVUxFU19JTkRFWDsKLQkJfSBlbHNlIGlmIChnZXRfb2lkKEdJVE1PRFVMRVNfSEVBRCwgJm9pZCkgPj0gMCkgewotCQkJY29uZmlnX3NvdXJjZS5ibG9iID0gR0lUTU9EVUxFU19IRUFEOworCQl9IGVsc2UgaWYgKHJlcG9fZ2V0X29pZChyZXBvLCBHSVRNT0RVTEVTX0lOREVYLCAmb2lkKSA+PSAwIHx8CisJCQkgICByZXBvX2dldF9vaWQocmVwbywgR0lUTU9EVUxFU19IRUFELCAmb2lkKSA+PSAwKSB7CisJCQljb25maWdfc291cmNlLmJsb2IgPSBvaWRzdHIgPSB4c3RyZHVwKG9pZF90b19oZXgoJm9pZCkpOworCQkJaWYgKHJlcG8gIT0gdGhlX3JlcG9zaXRvcnkpCisJCQkJYWRkX3RvX2FsdGVybmF0ZXNfbWVtb3J5KHJlcG8tPm9iamVjdHMtPm9kYi0+cGF0aCk7CiAJCX0gZWxzZSB7CiAJCQlnb3RvIG91dDsKIAkJfQpAQCAtNjUwLDYgKzY1OCw3IEBACiAJCWNvbmZpZ193aXRoX29wdGlvbnMoZm4sIGRhdGEsICZjb25maWdfc291cmNlLCAmb3B0cyk7CiAKIG91dDoKKwkJZnJlZShvaWRzdHIpOwogCQlmcmVlKGZpbGUpOwogCX0KIH0KQEAgLTY2NywxMCArNjc2LDEzIEBACiAJcmV0dXJuIHBhcnNlX2NvbmZpZyh2YXIsIHZhbHVlLCAmcGFyYW1ldGVyKTsKIH0KIAotdm9pZCByZXBvX3JlYWRfZ2l0bW9kdWxlcyhzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbykKK3ZvaWQgcmVwb19yZWFkX2dpdG1vZHVsZXMoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sIGludCBza2lwX2lmX3JlYWQpCiB7CiAJc3VibW9kdWxlX2NhY2hlX2NoZWNrX2luaXQocmVwbyk7CiAKKwlpZiAocmVwby0+c3VibW9kdWxlX2NhY2hlLT5naXRtb2R1bGVzX3JlYWQgJiYgc2tpcF9pZl9yZWFkKQorCQlyZXR1cm47CisKIAlpZiAocmVwb19yZWFkX2luZGV4KHJlcG8pIDwgMCkKIAkJcmV0dXJuOwogCkBAIC02OTYsMjAgKzcwOCwxMSBAQAogCXRoZV9yZXBvc2l0b3J5LT5zdWJtb2R1bGVfY2FjaGUtPmdpdG1vZHVsZXNfcmVhZCA9IDE7CiB9CiAKLXN0YXRpYyB2b2lkIGdpdG1vZHVsZXNfcmVhZF9jaGVjayhzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbykKLXsKLQlzdWJtb2R1bGVfY2FjaGVfY2hlY2tfaW5pdChyZXBvKTsKLQotCS8qIHJlYWQgdGhlIHJlcG8ncyAuZ2l0bW9kdWxlcyBmaWxlIGlmIGl0IGhhc24ndCBiZWVuIGFscmVhZHkgKi8KLQlpZiAoIXJlcG8tPnN1Ym1vZHVsZV9jYWNoZS0+Z2l0bW9kdWxlc19yZWFkKQotCQlyZXBvX3JlYWRfZ2l0bW9kdWxlcyhyZXBvKTsKLX0KLQogY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3VibW9kdWxlX2Zyb21fbmFtZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKIAkJCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKnRyZWVpc2hfbmFtZSwKIAkJY29uc3QgY2hhciAqbmFtZSkKIHsKLQlnaXRtb2R1bGVzX3JlYWRfY2hlY2socik7CisJcmVwb19yZWFkX2dpdG1vZHVsZXMociwgMSk7CiAJcmV0dXJuIGNvbmZpZ19mcm9tKHItPnN1Ym1vZHVsZV9jYWNoZSwgdHJlZWlzaF9uYW1lLCBuYW1lLCBsb29rdXBfbmFtZSk7CiB9CiAKQEAgLTcxNyw3ICs3MjAsNyBAQAogCQkJCQkgICAgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqdHJlZWlzaF9uYW1lLAogCQljb25zdCBjaGFyICpwYXRoKQogewotCWdpdG1vZHVsZXNfcmVhZF9jaGVjayhyKTsKKwlyZXBvX3JlYWRfZ2l0bW9kdWxlcyhyLCAxKTsKIAlyZXR1cm4gY29uZmlnX2Zyb20oci0+c3VibW9kdWxlX2NhY2hlLCB0cmVlaXNoX25hbWUsIHBhdGgsIGxvb2t1cF9wYXRoKTsKIH0KIApkaWZmIC0tZ2l0IGEvc3VibW9kdWxlLWNvbmZpZy5oIGIvc3VibW9kdWxlLWNvbmZpZy5oCmluZGV4IDRkYzliMDcuLmMxMWUyMmMgMTAwNjQ0Ci0tLSBhL3N1Ym1vZHVsZS1jb25maWcuaAorKysgYi9zdWJtb2R1bGUtY29uZmlnLmgKQEAgLTcsOSArNywzMSBAQAogI2luY2x1ZGUgInN1Ym1vZHVsZS5oIgogI2luY2x1ZGUgInN0cmJ1Zi5oIgogCisvKioKKyAqIFRoZSBzdWJtb2R1bGUgY29uZmlnIGNhY2hlIEFQSSBhbGxvd3MgdG8gcmVhZCBzdWJtb2R1bGUKKyAqIGNvbmZpZ3VyYXRpb25zL2luZm9ybWF0aW9uIGZyb20gc3BlY2lmaWVkIHJldmlzaW9ucy4gSW50ZXJuYWxseQorICogaW5mb3JtYXRpb24gaXMgbGF6aWx5IHJlYWQgaW50byBhIGNhY2hlIHRoYXQgaXMgdXNlZCB0byBhdm9pZAorICogdW5uZWNlc3NhcnkgcGFyc2luZyBvZiB0aGUgc2FtZSAuZ2l0bW9kdWxlcyBmaWxlcy4gTG9va3VwcyBjYW4gYmUgZG9uZSBieQorICogc3VibW9kdWxlIHBhdGggb3IgbmFtZS4KKyAqCisgKiBVc2FnZQorICogLS0tLS0KKyAqCisgKiBUaGUgY2FsbGVyIGNhbiBsb29rIHVwIGluZm9ybWF0aW9uIGFib3V0IHN1Ym1vZHVsZXMgYnkgdXNpbmcgdGhlCisgKiBgc3VibW9kdWxlX2Zyb21fcGF0aCgpYCBvciBgc3VibW9kdWxlX2Zyb21fbmFtZSgpYCBmdW5jdGlvbnMuIFRoZXkgcmV0dXJuCisgKiBhIGBzdHJ1Y3Qgc3VibW9kdWxlYCB3aGljaCBjb250YWlucyB0aGUgdmFsdWVzLiBUaGUgQVBJIGF1dG9tYXRpY2FsbHkKKyAqIGluaXRpYWxpemVzIGFuZCBhbGxvY2F0ZXMgdGhlIG5lZWRlZCBpbmZyYXN0cnVjdHVyZSBvbi1kZW1hbmQuIElmIHRoZQorICogY2FsbGVyIGRvZXMgb25seSB3YW50IHRvIGxvb2t1cCB2YWx1ZXMgZnJvbSByZXZpc2lvbnMgdGhlIGluaXRpYWxpemF0aW9uCisgKiBjYW4gYmUgc2tpcHBlZC4KKyAqCisgKiBJZiB0aGUgaW50ZXJuYWwgY2FjaGUgbWlnaHQgZ3JvdyB0b28gYmlnIG9yIHdoZW4gdGhlIGNhbGxlciBpcyBkb25lIHdpdGgKKyAqIHRoZSBBUEksIGFsbCBpbnRlcm5hbGx5IGNhY2hlZCB2YWx1ZXMgY2FuIGJlIGZyZWVkIHdpdGggc3VibW9kdWxlX2ZyZWUoKS4KKyAqCisgKi8KKwogLyoKICAqIFN1Ym1vZHVsZSBlbnRyeSBjb250YWluaW5nIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBhIGNlcnRhaW4gc3VibW9kdWxlCi0gKiBpbiBhIGNlcnRhaW4gcmV2aXNpb24uCisgKiBpbiBhIGNlcnRhaW4gcmV2aXNpb24uIEl0IGlzIHJldHVybmVkIGJ5IHRoZSBsb29rdXAgZnVuY3Rpb25zLgogICovCiBzdHJ1Y3Qgc3VibW9kdWxlIHsKIAljb25zdCBjaGFyICpwYXRoOwpAQCAtMzAsMjQgKzUyLDM4IEBACiBzdHJ1Y3Qgc3VibW9kdWxlX2NhY2hlOwogc3RydWN0IHJlcG9zaXRvcnk7CiAKLWV4dGVybiB2b2lkIHN1Ym1vZHVsZV9jYWNoZV9mcmVlKHN0cnVjdCBzdWJtb2R1bGVfY2FjaGUgKmNhY2hlKTsKK3ZvaWQgc3VibW9kdWxlX2NhY2hlX2ZyZWUoc3RydWN0IHN1Ym1vZHVsZV9jYWNoZSAqY2FjaGUpOwogCi1leHRlcm4gaW50IHBhcnNlX3N1Ym1vZHVsZV9mZXRjaGpvYnMoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSk7Ci1leHRlcm4gaW50IHBhcnNlX2ZldGNoX3JlY3Vyc2Vfc3VibW9kdWxlc19hcmcoY29uc3QgY2hhciAqb3B0LCBjb25zdCBjaGFyICphcmcpOworaW50IHBhcnNlX3N1Ym1vZHVsZV9mZXRjaGpvYnMoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSk7CitpbnQgcGFyc2VfZmV0Y2hfcmVjdXJzZV9zdWJtb2R1bGVzX2FyZyhjb25zdCBjaGFyICpvcHQsIGNvbnN0IGNoYXIgKmFyZyk7CiBzdHJ1Y3Qgb3B0aW9uOwotZXh0ZXJuIGludCBvcHRpb25fZmV0Y2hfcGFyc2VfcmVjdXJzZV9zdWJtb2R1bGVzKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKLQkJCQkJCSBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCk7Ci1leHRlcm4gaW50IHBhcnNlX3VwZGF0ZV9yZWN1cnNlX3N1Ym1vZHVsZXNfYXJnKGNvbnN0IGNoYXIgKm9wdCwgY29uc3QgY2hhciAqYXJnKTsKLWV4dGVybiBpbnQgcGFyc2VfcHVzaF9yZWN1cnNlX3N1Ym1vZHVsZXNfYXJnKGNvbnN0IGNoYXIgKm9wdCwgY29uc3QgY2hhciAqYXJnKTsKLWV4dGVybiB2b2lkIHJlcG9fcmVhZF9naXRtb2R1bGVzKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvKTsKLWV4dGVybiB2b2lkIGdpdG1vZHVsZXNfY29uZmlnX29pZChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpjb21taXRfb2lkKTsKK2ludCBvcHRpb25fZmV0Y2hfcGFyc2VfcmVjdXJzZV9zdWJtb2R1bGVzKGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdCwKKwkJCQkJICBjb25zdCBjaGFyICphcmcsIGludCB1bnNldCk7CitpbnQgcGFyc2VfdXBkYXRlX3JlY3Vyc2Vfc3VibW9kdWxlc19hcmcoY29uc3QgY2hhciAqb3B0LCBjb25zdCBjaGFyICphcmcpOworaW50IHBhcnNlX3B1c2hfcmVjdXJzZV9zdWJtb2R1bGVzX2FyZyhjb25zdCBjaGFyICpvcHQsIGNvbnN0IGNoYXIgKmFyZyk7Cit2b2lkIHJlcG9fcmVhZF9naXRtb2R1bGVzKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLCBpbnQgc2tpcF9pZl9yZWFkKTsKK3ZvaWQgZ2l0bW9kdWxlc19jb25maWdfb2lkKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmNvbW1pdF9vaWQpOworCisvKioKKyAqIFNhbWUgYXMgc3VibW9kdWxlX2Zyb21fcGF0aCBidXQgbG9va3VwIGJ5IG5hbWUuCisgKi8KIGNvbnN0IHN0cnVjdCBzdWJtb2R1bGUgKnN1Ym1vZHVsZV9mcm9tX25hbWUoc3RydWN0IHJlcG9zaXRvcnkgKnIsCiAJCQkJCSAgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpjb21taXRfb3JfdHJlZSwKIAkJCQkJICAgIGNvbnN0IGNoYXIgKm5hbWUpOworCisvKioKKyAqIEdpdmVuIGEgdHJlZS1pc2ggaW4gdGhlIHN1cGVycHJvamVjdCBhbmQgYSBwYXRoLCByZXR1cm4gdGhlIHN1Ym1vZHVsZSB0aGF0CisgKiBpcyBib3VuZCBhdCB0aGUgcGF0aCBpbiB0aGUgbmFtZWQgdHJlZS4KKyAqLwogY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3VibW9kdWxlX2Zyb21fcGF0aChzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKIAkJCQkJICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKmNvbW1pdF9vcl90cmVlLAogCQkJCQkgICAgY29uc3QgY2hhciAqcGF0aCk7CisKKy8qKgorICogVXNlIHRoZXNlIHRvIGZyZWUgdGhlIGludGVybmFsbHkgY2FjaGVkIHZhbHVlcy4KKyAqLwogdm9pZCBzdWJtb2R1bGVfZnJlZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcik7CisKIGludCBwcmludF9jb25maWdfZnJvbV9naXRtb2R1bGVzKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLCBjb25zdCBjaGFyICprZXkpOwogaW50IGNvbmZpZ19zZXRfaW5fZ2l0bW9kdWxlc19maWxlX2dlbnRseShjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnZhbHVlKTsKIApAQCAtNjYsNyArMTAyLDcgQEAKICAqIE5ldyBoZWxwZXJzIHRvIHJldHJpZXZlIGFyYml0cmFyeSBjb25maWd1cmF0aW9uIGZyb20gdGhlICcuZ2l0bW9kdWxlcycgZmlsZQogICogc2hvdWxkIE5PVCBiZSBhZGRlZC4KICAqLwotZXh0ZXJuIHZvaWQgZmV0Y2hfY29uZmlnX2Zyb21fZ2l0bW9kdWxlcyhpbnQgKm1heF9jaGlsZHJlbiwgaW50ICpyZWN1cnNlX3N1Ym1vZHVsZXMpOwotZXh0ZXJuIHZvaWQgdXBkYXRlX2Nsb25lX2NvbmZpZ19mcm9tX2dpdG1vZHVsZXMoaW50ICptYXhfam9icyk7Cit2b2lkIGZldGNoX2NvbmZpZ19mcm9tX2dpdG1vZHVsZXMoaW50ICptYXhfY2hpbGRyZW4sIGludCAqcmVjdXJzZV9zdWJtb2R1bGVzKTsKK3ZvaWQgdXBkYXRlX2Nsb25lX2NvbmZpZ19mcm9tX2dpdG1vZHVsZXMoaW50ICptYXhfam9icyk7CiAKICNlbmRpZiAvKiBTVUJNT0RVTEVfQ09ORklHX0ggKi8KZGlmZiAtLWdpdCBhL3N1Ym1vZHVsZS5jIGIvc3VibW9kdWxlLmMKaW5kZXggMzdkMjliYi4uMzFmMzkxZCAxMDA2NDQKLS0tIGEvc3VibW9kdWxlLmMKKysrIGIvc3VibW9kdWxlLmMKQEAgLTEsNCArMSwzIEBACi0jZGVmaW5lIE5PX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogCiAjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJyZXBvc2l0b3J5LmgiCkBAIC0yNSw3ICsyNCw2IEBACiAjaW5jbHVkZSAiY29tbWl0LXJlYWNoLmgiCiAKIHN0YXRpYyBpbnQgY29uZmlnX3VwZGF0ZV9yZWN1cnNlX3N1Ym1vZHVsZXMgPSBSRUNVUlNFX1NVQk1PRFVMRVNfT0ZGOwotc3RhdGljIHN0cnVjdCBzdHJpbmdfbGlzdCBjaGFuZ2VkX3N1Ym1vZHVsZV9uYW1lcyA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwogc3RhdGljIGludCBpbml0aWFsaXplZF9mZXRjaF9yZWZfdGlwczsKIHN0YXRpYyBzdHJ1Y3Qgb2lkX2FycmF5IHJlZl90aXBzX2JlZm9yZV9mZXRjaDsKIHN0YXRpYyBzdHJ1Y3Qgb2lkX2FycmF5IHJlZl90aXBzX2FmdGVyX2ZldGNoOwpAQCAtODQsNyArODIsNyBAQAogCWlmICgocG9zID49IDApICYmIChwb3MgPCBpc3RhdGUtPmNhY2hlX25yKSkgewogCQlzdHJ1Y3Qgc3RhdCBzdDsKIAkJaWYgKGxzdGF0KEdJVE1PRFVMRVNfRklMRSwgJnN0KSA9PSAwICYmCi0JCSAgICBpZV9tYXRjaF9zdGF0KGlzdGF0ZSwgaXN0YXRlLT5jYWNoZVtwb3NdLCAmc3QsIDApICYgREFUQV9DSEFOR0VEKQorCQkgICAgaWVfbW9kaWZpZWQoaXN0YXRlLCBpc3RhdGUtPmNhY2hlW3Bvc10sICZzdCwgMCkgJiBEQVRBX0NIQU5HRUQpCiAJCQlyZXR1cm4gMDsKIAl9CiAKQEAgLTQzMyw3ICs0MzEsMTEgQEAKIAllbHNlIGlmICghc3RyY21wKGFyZywgImRpcnR5IikpCiAJCWRpZmZvcHQtPmZsYWdzLmlnbm9yZV9kaXJ0eV9zdWJtb2R1bGVzID0gMTsKIAllbHNlIGlmIChzdHJjbXAoYXJnLCAibm9uZSIpKQotCQlkaWUoImJhZCAtLWlnbm9yZS1zdWJtb2R1bGVzIGFyZ3VtZW50OiAlcyIsIGFyZyk7CisJCWRpZShfKCJiYWQgLS1pZ25vcmUtc3VibW9kdWxlcyBhcmd1bWVudDogJXMiKSwgYXJnKTsKKwkvKgorCSAqIFBsZWFzZSB1cGRhdGUgX2dpdF9zdGF0dXMoKSBpbiBnaXQtY29tcGxldGlvbi5iYXNoIHdoZW4geW91CisJICogYWRkIG5ldyBvcHRpb25zCisJICovCiB9CiAKIHN0YXRpYyBpbnQgcHJlcGFyZV9zdWJtb2R1bGVfc3VtbWFyeShzdHJ1Y3QgcmV2X2luZm8gKnJldiwgY29uc3QgY2hhciAqcGF0aCwKQEAgLTQ1Nyw3ICs0NTksNyBAQAogCXJldHVybiBwcmVwYXJlX3JldmlzaW9uX3dhbGsocmV2KTsKIH0KIAotc3RhdGljIHZvaWQgcHJpbnRfc3VibW9kdWxlX3N1bW1hcnkoc3RydWN0IHJldl9pbmZvICpyZXYsIHN0cnVjdCBkaWZmX29wdGlvbnMgKm8pCitzdGF0aWMgdm9pZCBwcmludF9zdWJtb2R1bGVfc3VtbWFyeShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHJldl9pbmZvICpyZXYsIHN0cnVjdCBkaWZmX29wdGlvbnMgKm8pCiB7CiAJc3RhdGljIGNvbnN0IGNoYXIgZm9ybWF0W10gPSAiICAlbSAlcyI7CiAJc3RydWN0IHN0cmJ1ZiBzYiA9IFNUUkJVRl9JTklUOwpAQCAtNDY4LDcgKzQ3MCw4IEBACiAJCWN0eC5kYXRlX21vZGUgPSByZXYtPmRhdGVfbW9kZTsKIAkJY3R4Lm91dHB1dF9lbmNvZGluZyA9IGdldF9sb2dfb3V0cHV0X2VuY29kaW5nKCk7CiAJCXN0cmJ1Zl9zZXRsZW4oJnNiLCAwKTsKLQkJZm9ybWF0X2NvbW1pdF9tZXNzYWdlKGNvbW1pdCwgZm9ybWF0LCAmc2IsICZjdHgpOworCQlyZXBvX2Zvcm1hdF9jb21taXRfbWVzc2FnZShyLCBjb21taXQsIGZvcm1hdCwgJnNiLAorCQkJCSAgICAgICZjdHgpOwogCQlzdHJidWZfYWRkY2goJnNiLCAnXG4nKTsKIAkJaWYgKGNvbW1pdC0+b2JqZWN0LmZsYWdzICYgU1lNTUVUUklDX0xFRlQpCiAJCQlkaWZmX2VtaXRfc3VibW9kdWxlX2RlbChvLCBzYi5idWYpOwpAQCAtNDk1LDE0ICs0OTgsNTIgQEAKIAkJCSBERUZBVUxUX0dJVF9ESVJfRU5WSVJPTk1FTlQpOwogfQogCi0vKiBIZWxwZXIgZnVuY3Rpb24gdG8gZGlzcGxheSB0aGUgc3VibW9kdWxlIGhlYWRlciBsaW5lIHByaW9yIHRvIHRoZSBmdWxsCi0gKiBzdW1tYXJ5IG91dHB1dC4gSWYgaXQgY2FuIGxvY2F0ZSB0aGUgc3VibW9kdWxlIG9iamVjdHMgZGlyZWN0b3J5IGl0IHdpbGwKLSAqIGF0dGVtcHQgdG8gbG9va3VwIGJvdGggdGhlIGxlZnQgYW5kIHJpZ2h0IGNvbW1pdHMgYW5kIHB1dCB0aGVtIGludG8gdGhlCi0gKiBsZWZ0IGFuZCByaWdodCBwb2ludGVycy4KK3N0YXRpYyB2b2lkIHByZXBhcmVfc3VibW9kdWxlX3JlcG9fZW52X2luX2dpdGRpcihzdHJ1Y3QgYXJndl9hcnJheSAqb3V0KQoreworCXByZXBhcmVfc3VibW9kdWxlX3JlcG9fZW52X25vX2dpdF9kaXIob3V0KTsKKwlhcmd2X2FycmF5X3B1c2hmKG91dCwgIiVzPS4iLCBHSVRfRElSX0VOVklST05NRU5UKTsKK30KKworLyoKKyAqIEluaXRpYWxpemUgYSByZXBvc2l0b3J5IHN0cnVjdCBmb3IgYSBzdWJtb2R1bGUgYmFzZWQgb24gdGhlIHByb3ZpZGVkICdwYXRoJy4KKyAqCisgKiBVbmxpa2UgcmVwb19zdWJtb2R1bGVfaW5pdCwgdGhpcyB0b2xlcmF0ZXMgc3VibW9kdWxlcyBub3QgcHJlc2VudAorICogaW4gLmdpdG1vZHVsZXMuIFRoaXMgZnVuY3Rpb24gZXhpc3RzIG9ubHkgdG8gcHJlc2VydmUgaGlzdG9yaWNhbCBiZWhhdmlvciwKKyAqCisgKiBSZXR1cm5zIHRoZSByZXBvc2l0b3J5IHN0cnVjdCBvbiBzdWNjZXNzLAorICogTlVMTCB3aGVuIHRoZSBzdWJtb2R1bGUgaXMgbm90IHByZXNlbnQuCiAgKi8KLXN0YXRpYyB2b2lkIHNob3dfc3VibW9kdWxlX2hlYWRlcihzdHJ1Y3QgZGlmZl9vcHRpb25zICpvLCBjb25zdCBjaGFyICpwYXRoLAorc3RhdGljIHN0cnVjdCByZXBvc2l0b3J5ICpvcGVuX3N1Ym1vZHVsZShjb25zdCBjaGFyICpwYXRoKQoreworCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3QgcmVwb3NpdG9yeSAqb3V0ID0geG1hbGxvYyhzaXplb2YoKm91dCkpOworCisJaWYgKHN1Ym1vZHVsZV90b19naXRkaXIoJnNiLCBwYXRoKSB8fCByZXBvX2luaXQob3V0LCBzYi5idWYsIE5VTEwpKSB7CisJCXN0cmJ1Zl9yZWxlYXNlKCZzYik7CisJCWZyZWUob3V0KTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJLyogTWFyayBpdCBhcyBhIHN1Ym1vZHVsZSAqLworCW91dC0+c3VibW9kdWxlX3ByZWZpeCA9IHhzdHJkdXAocGF0aCk7CisKKwlzdHJidWZfcmVsZWFzZSgmc2IpOworCXJldHVybiBvdXQ7Cit9CisKKy8qCisgKiBIZWxwZXIgZnVuY3Rpb24gdG8gZGlzcGxheSB0aGUgc3VibW9kdWxlIGhlYWRlciBsaW5lIHByaW9yIHRvIHRoZSBmdWxsCisgKiBzdW1tYXJ5IG91dHB1dC4KKyAqCisgKiBJZiBpdCBjYW4gbG9jYXRlIHRoZSBzdWJtb2R1bGUgZ2l0IGRpcmVjdG9yeSBpdCB3aWxsIGNyZWF0ZSBhIHJlcG9zaXRvcnkKKyAqIGhhbmRsZSBmb3IgdGhlIHN1Ym1vZHVsZSBhbmQgbG9va3VwIGJvdGggdGhlIGxlZnQgYW5kIHJpZ2h0IGNvbW1pdHMgYW5kCisgKiBwdXQgdGhlbSBpbnRvIHRoZSBsZWZ0IGFuZCByaWdodCBwb2ludGVycy4KKyAqLworc3RhdGljIHZvaWQgc2hvd19zdWJtb2R1bGVfaGVhZGVyKHN0cnVjdCBkaWZmX29wdGlvbnMgKm8sCisJCWNvbnN0IGNoYXIgKnBhdGgsCiAJCXN0cnVjdCBvYmplY3RfaWQgKm9uZSwgc3RydWN0IG9iamVjdF9pZCAqdHdvLAogCQl1bnNpZ25lZCBkaXJ0eV9zdWJtb2R1bGUsCisJCXN0cnVjdCByZXBvc2l0b3J5ICpzdWIsCiAJCXN0cnVjdCBjb21taXQgKipsZWZ0LCBzdHJ1Y3QgY29tbWl0ICoqcmlnaHQsCiAJCXN0cnVjdCBjb21taXRfbGlzdCAqKm1lcmdlX2Jhc2VzKQogewpAQCAtNTIxLDcgKzU2Miw3IEBACiAJZWxzZSBpZiAoaXNfbnVsbF9vaWQodHdvKSkKIAkJbWVzc2FnZSA9ICIoc3VibW9kdWxlIGRlbGV0ZWQpIjsKIAotCWlmIChhZGRfc3VibW9kdWxlX29kYihwYXRoKSkgeworCWlmICghc3ViKSB7CiAJCWlmICghbWVzc2FnZSkKIAkJCW1lc3NhZ2UgPSAiKGNvbW1pdHMgbm90IHByZXNlbnQpIjsKIAkJZ290byBvdXRwdXRfaGVhZGVyOwpAQCAtNTMxLDggKzU3Miw4IEBACiAJICogQXR0ZW1wdCB0byBsb29rdXAgdGhlIGNvbW1pdCByZWZlcmVuY2VzLCBhbmQgZGV0ZXJtaW5lIGlmIHRoaXMgaXMKIAkgKiBhIGZhc3QgZm9yd2FyZCBvciBmYXN0IGJhY2t3YXJkcyB1cGRhdGUuCiAJICovCi0JKmxlZnQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZSh0aGVfcmVwb3NpdG9yeSwgb25lKTsKLQkqcmlnaHQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZSh0aGVfcmVwb3NpdG9yeSwgdHdvKTsKKwkqbGVmdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlKHN1Yiwgb25lKTsKKwkqcmlnaHQgPSBsb29rdXBfY29tbWl0X3JlZmVyZW5jZShzdWIsIHR3byk7CiAKIAkvKgogCSAqIFdhcm4gYWJvdXQgbWlzc2luZyBjb21taXRzIGluIHRoZSBzdWJtb2R1bGUgcHJvamVjdCwgYnV0IG9ubHkgaWYKQEAgLTU0Miw3ICs1ODMsNyBAQAogCSAgICAgKCFpc19udWxsX29pZCh0d28pICYmICEqcmlnaHQpKQogCQltZXNzYWdlID0gIihjb21taXRzIG5vdCBwcmVzZW50KSI7CiAKLQkqbWVyZ2VfYmFzZXMgPSBnZXRfbWVyZ2VfYmFzZXMoKmxlZnQsICpyaWdodCk7CisJKm1lcmdlX2Jhc2VzID0gcmVwb19nZXRfbWVyZ2VfYmFzZXMoc3ViLCAqbGVmdCwgKnJpZ2h0KTsKIAlpZiAoKm1lcmdlX2Jhc2VzKSB7CiAJCWlmICgoKm1lcmdlX2Jhc2VzKS0+aXRlbSA9PSAqbGVmdCkKIAkJCWZhc3RfZm9yd2FyZCA9IDE7CkBAIC01NzYsMTYgKzYxNywxOCBAQAogCXN0cnVjdCByZXZfaW5mbyByZXY7CiAJc3RydWN0IGNvbW1pdCAqbGVmdCA9IE5VTEwsICpyaWdodCA9IE5VTEw7CiAJc3RydWN0IGNvbW1pdF9saXN0ICptZXJnZV9iYXNlcyA9IE5VTEw7CisJc3RydWN0IHJlcG9zaXRvcnkgKnN1YjsKIAorCXN1YiA9IG9wZW5fc3VibW9kdWxlKHBhdGgpOwogCXNob3dfc3VibW9kdWxlX2hlYWRlcihvLCBwYXRoLCBvbmUsIHR3bywgZGlydHlfc3VibW9kdWxlLAotCQkJICAgICAgJmxlZnQsICZyaWdodCwgJm1lcmdlX2Jhc2VzKTsKKwkJCSAgICAgIHN1YiwgJmxlZnQsICZyaWdodCwgJm1lcmdlX2Jhc2VzKTsKIAogCS8qCiAJICogSWYgd2UgZG9uJ3QgaGF2ZSBib3RoIGEgbGVmdCBhbmQgYSByaWdodCBwb2ludGVyLCB0aGVyZSBpcyBubwogCSAqIHJlYXNvbiB0byB0cnkgYW5kIGRpc3BsYXkgYSBzdW1tYXJ5LiBUaGUgaGVhZGVyIGxpbmUgc2hvdWxkIGNvbnRhaW4KIAkgKiBhbGwgdGhlIGluZm9ybWF0aW9uIHRoZSB1c2VyIG5lZWRzLgogCSAqLwotCWlmICghbGVmdCB8fCAhcmlnaHQpCisJaWYgKCFsZWZ0IHx8ICFyaWdodCB8fCAhc3ViKQogCQlnb3RvIG91dDsKIAogCS8qIFRyZWF0IHJldmlzaW9uIHdhbGtlciBmYWlsdXJlIHRoZSBzYW1lIGFzIG1pc3NpbmcgY29tbWl0cyAqLwpAQCAtNTk0LDEzICs2MzcsMTcgQEAKIAkJZ290byBvdXQ7CiAJfQogCi0JcHJpbnRfc3VibW9kdWxlX3N1bW1hcnkoJnJldiwgbyk7CisJcHJpbnRfc3VibW9kdWxlX3N1bW1hcnkoc3ViLCAmcmV2LCBvKTsKIAogb3V0OgogCWlmIChtZXJnZV9iYXNlcykKIAkJZnJlZV9jb21taXRfbGlzdChtZXJnZV9iYXNlcyk7CiAJY2xlYXJfY29tbWl0X21hcmtzKGxlZnQsIH4wKTsKIAljbGVhcl9jb21taXRfbWFya3MocmlnaHQsIH4wKTsKKwlpZiAoc3ViKSB7CisJCXJlcG9fY2xlYXIoc3ViKTsKKwkJZnJlZShzdWIpOworCX0KIH0KIAogdm9pZCBzaG93X3N1Ym1vZHVsZV9pbmxpbmVfZGlmZihzdHJ1Y3QgZGlmZl9vcHRpb25zICpvLCBjb25zdCBjaGFyICpwYXRoLApAQCAtNjEyLDkgKzY1OSwxMSBAQAogCXN0cnVjdCBjb21taXRfbGlzdCAqbWVyZ2VfYmFzZXMgPSBOVUxMOwogCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOwogCXN0cnVjdCBzdHJidWYgc2IgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3QgcmVwb3NpdG9yeSAqc3ViOwogCisJc3ViID0gb3Blbl9zdWJtb2R1bGUocGF0aCk7CiAJc2hvd19zdWJtb2R1bGVfaGVhZGVyKG8sIHBhdGgsIG9uZSwgdHdvLCBkaXJ0eV9zdWJtb2R1bGUsCi0JCQkgICAgICAmbGVmdCwgJnJpZ2h0LCAmbWVyZ2VfYmFzZXMpOworCQkJICAgICAgc3ViLCAmbGVmdCwgJnJpZ2h0LCAmbWVyZ2VfYmFzZXMpOwogCiAJLyogV2UgbmVlZCBhIHZhbGlkIGxlZnQgYW5kIHJpZ2h0IGNvbW1pdCB0byBkaXNwbGF5IGEgZGlmZmVyZW5jZSAqLwogCWlmICghKGxlZnQgfHwgaXNfbnVsbF9vaWQob25lKSkgfHwKQEAgLTY3NSw2ICs3MjQsMTAgQEAKIAkJY2xlYXJfY29tbWl0X21hcmtzKGxlZnQsIH4wKTsKIAlpZiAocmlnaHQpCiAJCWNsZWFyX2NvbW1pdF9tYXJrcyhyaWdodCwgfjApOworCWlmIChzdWIpIHsKKwkJcmVwb19jbGVhcihzdWIpOworCQlmcmVlKHN1Yik7CisJfQogfQogCiBpbnQgc2hvdWxkX3VwZGF0ZV9zdWJtb2R1bGVzKHZvaWQpCkBAIC03NTksOSArODEyLDkgQEAKIAkJCQlzdWJtb2R1bGUgPSBzdWJtb2R1bGVfZnJvbV9uYW1lKG1lLT5yZXBvLAogCQkJCQkJCQljb21taXRfb2lkLCBuYW1lKTsKIAkJCWlmIChzdWJtb2R1bGUpIHsKLQkJCQl3YXJuaW5nKCJTdWJtb2R1bGUgaW4gY29tbWl0ICVzIGF0IHBhdGg6ICIKKwkJCQl3YXJuaW5nKF8oIlN1Ym1vZHVsZSBpbiBjb21taXQgJXMgYXQgcGF0aDogIgogCQkJCQkiJyVzJyBjb2xsaWRlcyB3aXRoIGEgc3VibW9kdWxlIG5hbWVkICIKLQkJCQkJInRoZSBzYW1lLiBTa2lwcGluZyBpdC4iLAorCQkJCQkidGhlIHNhbWUuIFNraXBwaW5nIGl0LiIpLAogCQkJCQlvaWRfdG9faGV4KGNvbW1pdF9vaWQpLCBwLT50d28tPnBhdGgpOwogCQkJCW5hbWUgPSBOVUxMOwogCQkJfQpAQCAtNzkxLDcgKzg0NCw3IEBACiAJcmVwb19pbml0X3JldmlzaW9ucyhyLCAmcmV2LCBOVUxMKTsKIAlzZXR1cF9yZXZpc2lvbnMoYXJndi0+YXJnYywgYXJndi0+YXJndiwgJnJldiwgTlVMTCk7CiAJaWYgKHByZXBhcmVfcmV2aXNpb25fd2FsaygmcmV2KSkKLQkJZGllKCJyZXZpc2lvbiB3YWxrIHNldHVwIGZhaWxlZCIpOworCQlkaWUoXygicmV2aXNpb24gd2FsayBzZXR1cCBmYWlsZWQiKSk7CiAKIAl3aGlsZSAoKGNvbW1pdCA9IGdldF9yZXZpc2lvbigmcmV2KSkpIHsKIAkJc3RydWN0IHJldl9pbmZvIGRpZmZfcmV2OwpAQCAtOTM5LDkgKzk5Miw5IEBACiAJCWNwLm91dCA9IC0xOwogCQljcC5kaXIgPSBwYXRoOwogCQlpZiAoc3RhcnRfY29tbWFuZCgmY3ApKQotCQkJZGllKCJDb3VsZCBub3QgcnVuICdnaXQgcmV2LWxpc3QgPGNvbW1pdHM+IC0tbm90IC0tcmVtb3RlcyAtbiAxJyBjb21tYW5kIGluIHN1Ym1vZHVsZSAlcyIsCisJCQlkaWUoXygiQ291bGQgbm90IHJ1biAnZ2l0IHJldi1saXN0IDxjb21taXRzPiAtLW5vdCAtLXJlbW90ZXMgLW4gMScgY29tbWFuZCBpbiBzdWJtb2R1bGUgJXMiKSwKIAkJCQkJcGF0aCk7Ci0JCWlmIChzdHJidWZfcmVhZCgmYnVmLCBjcC5vdXQsIDQxKSkKKwkJaWYgKHN0cmJ1Zl9yZWFkKCZidWYsIGNwLm91dCwgdGhlX2hhc2hfYWxnby0+aGV4c3ogKyAxKSkKIAkJCW5lZWRzX3B1c2hpbmcgPSAxOwogCQlmaW5pc2hfY29tbWFuZCgmY3ApOwogCQljbG9zZShjcC5vdXQpOwpAQCAtOTk5LDkgKzEwNTIsNiBAQAogCQkJICBjb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKnB1c2hfb3B0aW9ucywKIAkJCSAgaW50IGRyeV9ydW4pCiB7Ci0JaWYgKGFkZF9zdWJtb2R1bGVfb2RiKHBhdGgpKQotCQlyZXR1cm4gMTsKLQogCWlmIChmb3JfZWFjaF9yZW1vdGVfcmVmX3N1Ym1vZHVsZShwYXRoLCBoYXNfcmVtb3RlLCBOVUxMKSA+IDApIHsKIAkJc3RydWN0IGNoaWxkX3Byb2Nlc3MgY3AgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CiAJCWFyZ3ZfYXJyYXlfcHVzaCgmY3AuYXJncywgInB1c2giKTsKQEAgLTEwNjUsNyArMTExNSw3IEBACiAJICogY2hpbGQgcHJvY2Vzcy4KIAkgKi8KIAlpZiAocnVuX2NvbW1hbmQoJmNwKSkKLQkJZGllKCJwcm9jZXNzIGZvciBzdWJtb2R1bGUgJyVzJyBmYWlsZWQiLCBwYXRoKTsKKwkJZGllKF8oInByb2Nlc3MgZm9yIHN1Ym1vZHVsZSAnJXMnIGZhaWxlZCIpLCBwYXRoKTsKIH0KIAogaW50IHB1c2hfdW5wdXNoZWRfc3VibW9kdWxlcyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKQEAgLTExMDUsMTAgKzExNTUsMTAgQEAKIAkvKiBBY3R1YWxseSBwdXNoIHRoZSBzdWJtb2R1bGVzICovCiAJZm9yIChpID0gMDsgaSA8IG5lZWRzX3B1c2hpbmcubnI7IGkrKykgewogCQljb25zdCBjaGFyICpwYXRoID0gbmVlZHNfcHVzaGluZy5pdGVtc1tpXS5zdHJpbmc7Ci0JCWZwcmludGYoc3RkZXJyLCAiUHVzaGluZyBzdWJtb2R1bGUgJyVzJ1xuIiwgcGF0aCk7CisJCWZwcmludGYoc3RkZXJyLCBfKCJQdXNoaW5nIHN1Ym1vZHVsZSAnJXMnXG4iKSwgcGF0aCk7CiAJCWlmICghcHVzaF9zdWJtb2R1bGUocGF0aCwgcmVtb3RlLCBycywKIAkJCQkgICAgcHVzaF9vcHRpb25zLCBkcnlfcnVuKSkgewotCQkJZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gcHVzaCBzdWJtb2R1bGUgJyVzJ1xuIiwgcGF0aCk7CisJCQlmcHJpbnRmKHN0ZGVyciwgXygiVW5hYmxlIHRvIHB1c2ggc3VibW9kdWxlICclcydcbiIpLCBwYXRoKTsKIAkJCXJldCA9IDA7CiAJCX0KIAl9CkBAIC0xMTM2LDExICsxMTg2LDExIEBACiAJb2lkX2FycmF5X2FwcGVuZCgmcmVmX3RpcHNfYWZ0ZXJfZmV0Y2gsIG9pZCk7CiB9CiAKLXN0YXRpYyB2b2lkIGNhbGN1bGF0ZV9jaGFuZ2VkX3N1Ym1vZHVsZV9wYXRocyhzdHJ1Y3QgcmVwb3NpdG9yeSAqcikKK3N0YXRpYyB2b2lkIGNhbGN1bGF0ZV9jaGFuZ2VkX3N1Ym1vZHVsZV9wYXRocyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJc3RydWN0IHN0cmluZ19saXN0ICpjaGFuZ2VkX3N1Ym1vZHVsZV9uYW1lcykKIHsKIAlzdHJ1Y3QgYXJndl9hcnJheSBhcmd2ID0gQVJHVl9BUlJBWV9JTklUOwotCXN0cnVjdCBzdHJpbmdfbGlzdCBjaGFuZ2VkX3N1Ym1vZHVsZXMgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKLQljb25zdCBzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqbmFtZTsKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqbmFtZTsKIAogCS8qIE5vIG5lZWQgdG8gY2hlY2sgaWYgdGhlcmUgYXJlIG5vIHN1Ym1vZHVsZXMgY29uZmlndXJlZCAqLwogCWlmICghc3VibW9kdWxlX2Zyb21fcGF0aChyLCBOVUxMLCBOVUxMKSkKQEAgLTExNTcsOSArMTIwNyw5IEBACiAJICogQ29sbGVjdCBhbGwgc3VibW9kdWxlcyAod2hldGhlciBjaGVja2VkIG91dCBvciBub3QpIGZvciB3aGljaCBuZXcKIAkgKiBjb21taXRzIGhhdmUgYmVlbiByZWNvcmRlZCB1cHN0cmVhbSBpbiAiY2hhbmdlZF9zdWJtb2R1bGVfbmFtZXMiLgogCSAqLwotCWNvbGxlY3RfY2hhbmdlZF9zdWJtb2R1bGVzKHIsICZjaGFuZ2VkX3N1Ym1vZHVsZXMsICZhcmd2KTsKKwljb2xsZWN0X2NoYW5nZWRfc3VibW9kdWxlcyhyLCBjaGFuZ2VkX3N1Ym1vZHVsZV9uYW1lcywgJmFyZ3YpOwogCi0JZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShuYW1lLCAmY2hhbmdlZF9zdWJtb2R1bGVzKSB7CisJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShuYW1lLCBjaGFuZ2VkX3N1Ym1vZHVsZV9uYW1lcykgewogCQlzdHJ1Y3Qgb2lkX2FycmF5ICpjb21taXRzID0gbmFtZS0+dXRpbDsKIAkJY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3VibW9kdWxlOwogCQljb25zdCBjaGFyICpwYXRoID0gTlVMTDsKQEAgLTExNzMsMTEgKzEyMjMsMTQgQEAKIAkJaWYgKCFwYXRoKQogCQkJY29udGludWU7CiAKLQkJaWYgKCFzdWJtb2R1bGVfaGFzX2NvbW1pdHMociwgcGF0aCwgY29tbWl0cykpCi0JCQlzdHJpbmdfbGlzdF9hcHBlbmQoJmNoYW5nZWRfc3VibW9kdWxlX25hbWVzLCBuYW1lLT5zdHJpbmcpOworCQlpZiAoc3VibW9kdWxlX2hhc19jb21taXRzKHIsIHBhdGgsIGNvbW1pdHMpKSB7CisJCQlvaWRfYXJyYXlfY2xlYXIoY29tbWl0cyk7CisJCQkqbmFtZS0+c3RyaW5nID0gJ1wwJzsKKwkJfQogCX0KIAotCWZyZWVfc3VibW9kdWxlc19vaWRzKCZjaGFuZ2VkX3N1Ym1vZHVsZXMpOworCXN0cmluZ19saXN0X3JlbW92ZV9lbXB0eV9pdGVtcyhjaGFuZ2VkX3N1Ym1vZHVsZV9uYW1lcywgMSk7CisKIAlhcmd2X2FycmF5X2NsZWFyKCZhcmd2KTsKIAlvaWRfYXJyYXlfY2xlYXIoJnJlZl90aXBzX2JlZm9yZV9mZXRjaCk7CiAJb2lkX2FycmF5X2NsZWFyKCZyZWZfdGlwc19hZnRlcl9mZXRjaCk7CkBAIC0xMjIxLDggKzEyNzQsMTggQEAKIAlpbnQgZGVmYXVsdF9vcHRpb247CiAJaW50IHF1aWV0OwogCWludCByZXN1bHQ7CisKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3QgY2hhbmdlZF9zdWJtb2R1bGVfbmFtZXM7CisKKwkvKiBQZW5kaW5nIGZldGNoZXMgYnkgT0lEcyAqLworCXN0cnVjdCBmZXRjaF90YXNrICoqb2lkX2ZldGNoX3Rhc2tzOworCWludCBvaWRfZmV0Y2hfdGFza3NfbnIsIG9pZF9mZXRjaF90YXNrc19hbGxvYzsKKworCXN0cnVjdCBzdHJidWYgc3VibW9kdWxlc193aXRoX2Vycm9yczsKIH07Ci0jZGVmaW5lIFNQRl9JTklUIHswLCBBUkdWX0FSUkFZX0lOSVQsIE5VTEwsIE5VTEwsIDAsIDAsIDAsIDB9CisjZGVmaW5lIFNQRl9JTklUIHswLCBBUkdWX0FSUkFZX0lOSVQsIE5VTEwsIE5VTEwsIDAsIDAsIDAsIDAsIFwKKwkJICBTVFJJTkdfTElTVF9JTklUX0RVUCwgXAorCQkgIE5VTEwsIDAsIDAsIFNUUkJVRl9JTklUfQogCiBzdGF0aWMgaW50IGdldF9mZXRjaF9yZWN1cnNlX2NvbmZpZyhjb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWJtb2R1bGUsCiAJCQkJICAgIHN0cnVjdCBzdWJtb2R1bGVfcGFyYWxsZWxfZmV0Y2ggKnNwZikKQEAgLTEyNDksNDAgKzEzMTIsMTI2IEBACiAJcmV0dXJuIHNwZi0+ZGVmYXVsdF9vcHRpb247CiB9CiAKKy8qCisgKiBGZXRjaCBpbiBwcm9ncmVzcyAoaWYgY2FsbGJhY2sgZGF0YSkgb3IKKyAqIHBlbmRpbmcgKGlmIGluIG9pZF9mZXRjaF90YXNrcyBpbiBzdHJ1Y3Qgc3VibW9kdWxlX3BhcmFsbGVsX2ZldGNoKQorICovCitzdHJ1Y3QgZmV0Y2hfdGFzayB7CisJc3RydWN0IHJlcG9zaXRvcnkgKnJlcG87CisJY29uc3Qgc3RydWN0IHN1Ym1vZHVsZSAqc3ViOworCXVuc2lnbmVkIGZyZWVfc3ViIDogMTsgLyogRG8gd2UgbmVlZCB0byBmcmVlIHRoZSBzdWJtb2R1bGU/ICovCisKKwlzdHJ1Y3Qgb2lkX2FycmF5ICpjb21taXRzOyAvKiBFbnN1cmUgdGhlc2UgY29tbWl0cyBhcmUgZmV0Y2hlZCAqLworfTsKKworLyoqCisgKiBXaGVuIGEgc3VibW9kdWxlIGlzIG5vdCBkZWZpbmVkIGluIC5naXRtb2R1bGVzLCB3ZSBjYW5ub3QgYWNjZXNzIGl0CisgKiB2aWEgdGhlIHJlZ3VsYXIgc3VibW9kdWxlLWNvbmZpZy4gQ3JlYXRlIGEgZmFrZSBzdWJtb2R1bGUsIHdoaWNoIHdlIGNhbgorICogd29yayBvbi4KKyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzdWJtb2R1bGUgKmdldF9ub25fZ2l0bW9kdWxlc19zdWJtb2R1bGUoY29uc3QgY2hhciAqcGF0aCkKK3sKKwlzdHJ1Y3Qgc3VibW9kdWxlICpyZXQgPSBOVUxMOworCWNvbnN0IGNoYXIgKm5hbWUgPSBkZWZhdWx0X25hbWVfb3JfcGF0aChwYXRoKTsKKworCWlmICghbmFtZSkKKwkJcmV0dXJuIE5VTEw7CisKKwlyZXQgPSB4bWFsbG9jKHNpemVvZigqcmV0KSk7CisJbWVtc2V0KHJldCwgMCwgc2l6ZW9mKCpyZXQpKTsKKwlyZXQtPnBhdGggPSBuYW1lOworCXJldC0+bmFtZSA9IG5hbWU7CisKKwlyZXR1cm4gKGNvbnN0IHN0cnVjdCBzdWJtb2R1bGUgKikgcmV0OworfQorCitzdGF0aWMgc3RydWN0IGZldGNoX3Rhc2sgKmZldGNoX3Rhc2tfY3JlYXRlKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCQkgICAgY29uc3QgY2hhciAqcGF0aCkKK3sKKwlzdHJ1Y3QgZmV0Y2hfdGFzayAqdGFzayA9IHhtYWxsb2Moc2l6ZW9mKCp0YXNrKSk7CisJbWVtc2V0KHRhc2ssIDAsIHNpemVvZigqdGFzaykpOworCisJdGFzay0+c3ViID0gc3VibW9kdWxlX2Zyb21fcGF0aChyLCAmbnVsbF9vaWQsIHBhdGgpOworCWlmICghdGFzay0+c3ViKSB7CisJCS8qCisJCSAqIE5vIGVudHJ5IGluIC5naXRtb2R1bGVzPyBUZWNobmljYWxseSBub3QgYSBzdWJtb2R1bGUsCisJCSAqIGJ1dCBoaXN0b3JpY2FsbHkgd2Ugc3VwcG9ydGVkIHJlcG9zaXRvcmllcyB0aGF0IGhhcHBlbiB0byBiZQorCQkgKiBpbi1wbGFjZSB3aGVyZSBhIGdpdGxpbmsgaXMuIEtlZXAgc3VwcG9ydGluZyB0aGVtLgorCQkgKi8KKwkJdGFzay0+c3ViID0gZ2V0X25vbl9naXRtb2R1bGVzX3N1Ym1vZHVsZShwYXRoKTsKKwkJaWYgKCF0YXNrLT5zdWIpIHsKKwkJCWZyZWUodGFzayk7CisJCQlyZXR1cm4gTlVMTDsKKwkJfQorCisJCXRhc2stPmZyZWVfc3ViID0gMTsKKwl9CisKKwlyZXR1cm4gdGFzazsKK30KKworc3RhdGljIHZvaWQgZmV0Y2hfdGFza19yZWxlYXNlKHN0cnVjdCBmZXRjaF90YXNrICpwKQoreworCWlmIChwLT5mcmVlX3N1YikKKwkJZnJlZSgodm9pZCopcC0+c3ViKTsKKwlwLT5mcmVlX3N1YiA9IDA7CisJcC0+c3ViID0gTlVMTDsKKworCWlmIChwLT5yZXBvKQorCQlyZXBvX2NsZWFyKHAtPnJlcG8pOworCUZSRUVfQU5EX05VTEwocC0+cmVwbyk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcmVwb3NpdG9yeSAqZ2V0X3N1Ym1vZHVsZV9yZXBvX2ZvcihzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCQkJCSBjb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWIpCit7CisJc3RydWN0IHJlcG9zaXRvcnkgKnJldCA9IHhtYWxsb2Moc2l6ZW9mKCpyZXQpKTsKKworCWlmIChyZXBvX3N1Ym1vZHVsZV9pbml0KHJldCwgciwgc3ViKSkgeworCQkvKgorCQkgKiBObyBlbnRyeSBpbiAuZ2l0bW9kdWxlcz8gVGVjaG5pY2FsbHkgbm90IGEgc3VibW9kdWxlLAorCQkgKiBidXQgaGlzdG9yaWNhbGx5IHdlIHN1cHBvcnRlZCByZXBvc2l0b3JpZXMgdGhhdCBoYXBwZW4gdG8gYmUKKwkJICogaW4tcGxhY2Ugd2hlcmUgYSBnaXRsaW5rIGlzLiBLZWVwIHN1cHBvcnRpbmcgdGhlbS4KKwkJICovCisJCXN0cnVjdCBzdHJidWYgZ2l0ZGlyID0gU1RSQlVGX0lOSVQ7CisJCXN0cmJ1Zl9yZXBvX3dvcmt0cmVlX3BhdGgoJmdpdGRpciwgciwgIiVzLy5naXQiLCBzdWItPnBhdGgpOworCQlpZiAocmVwb19pbml0KHJldCwgZ2l0ZGlyLmJ1ZiwgTlVMTCkpIHsKKwkJCXN0cmJ1Zl9yZWxlYXNlKCZnaXRkaXIpOworCQkJZnJlZShyZXQpOworCQkJcmV0dXJuIE5VTEw7CisJCX0KKwkJc3RyYnVmX3JlbGVhc2UoJmdpdGRpcik7CisJfQorCisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIGludCBnZXRfbmV4dF9zdWJtb2R1bGUoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNwLAogCQkJICAgICAgc3RydWN0IHN0cmJ1ZiAqZXJyLCB2b2lkICpkYXRhLCB2b2lkICoqdGFza19jYikKIHsKLQlpbnQgcmV0ID0gMDsKIAlzdHJ1Y3Qgc3VibW9kdWxlX3BhcmFsbGVsX2ZldGNoICpzcGYgPSBkYXRhOwogCiAJZm9yICg7IHNwZi0+Y291bnQgPCBzcGYtPnItPmluZGV4LT5jYWNoZV9ucjsgc3BmLT5jb3VudCsrKSB7Ci0JCXN0cnVjdCBzdHJidWYgc3VibW9kdWxlX3BhdGggPSBTVFJCVUZfSU5JVDsKLQkJc3RydWN0IHN0cmJ1ZiBzdWJtb2R1bGVfZ2l0X2RpciA9IFNUUkJVRl9JTklUOwotCQlzdHJ1Y3Qgc3RyYnVmIHN1Ym1vZHVsZV9wcmVmaXggPSBTVFJCVUZfSU5JVDsKIAkJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IHNwZi0+ci0+aW5kZXgtPmNhY2hlW3NwZi0+Y291bnRdOwotCQljb25zdCBjaGFyICpnaXRfZGlyLCAqZGVmYXVsdF9hcmd2OwotCQljb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWJtb2R1bGU7Ci0JCXN0cnVjdCBzdWJtb2R1bGUgZGVmYXVsdF9zdWJtb2R1bGUgPSBTVUJNT0RVTEVfSU5JVDsKKwkJY29uc3QgY2hhciAqZGVmYXVsdF9hcmd2OworCQlzdHJ1Y3QgZmV0Y2hfdGFzayAqdGFzazsKIAogCQlpZiAoIVNfSVNHSVRMSU5LKGNlLT5jZV9tb2RlKSkKIAkJCWNvbnRpbnVlOwogCi0JCXN1Ym1vZHVsZSA9IHN1Ym1vZHVsZV9mcm9tX3BhdGgoc3BmLT5yLCAmbnVsbF9vaWQsIGNlLT5uYW1lKTsKLQkJaWYgKCFzdWJtb2R1bGUpIHsKLQkJCWNvbnN0IGNoYXIgKm5hbWUgPSBkZWZhdWx0X25hbWVfb3JfcGF0aChjZS0+bmFtZSk7Ci0JCQlpZiAobmFtZSkgewotCQkJCWRlZmF1bHRfc3VibW9kdWxlLnBhdGggPSBkZWZhdWx0X3N1Ym1vZHVsZS5uYW1lID0gbmFtZTsKLQkJCQlzdWJtb2R1bGUgPSAmZGVmYXVsdF9zdWJtb2R1bGU7Ci0JCQl9Ci0JCX0KKwkJdGFzayA9IGZldGNoX3Rhc2tfY3JlYXRlKHNwZi0+ciwgY2UtPm5hbWUpOworCQlpZiAoIXRhc2spCisJCQljb250aW51ZTsKIAotCQlzd2l0Y2ggKGdldF9mZXRjaF9yZWN1cnNlX2NvbmZpZyhzdWJtb2R1bGUsIHNwZikpCisJCXN3aXRjaCAoZ2V0X2ZldGNoX3JlY3Vyc2VfY29uZmlnKHRhc2stPnN1Yiwgc3BmKSkKIAkJewogCQlkZWZhdWx0OgogCQljYXNlIFJFQ1VSU0VfU1VCTU9EVUxFU19ERUZBVUxUOgogCQljYXNlIFJFQ1VSU0VfU1VCTU9EVUxFU19PTl9ERU1BTkQ6Ci0JCQlpZiAoIXN1Ym1vZHVsZSB8fCAhdW5zb3J0ZWRfc3RyaW5nX2xpc3RfbG9va3VwKCZjaGFuZ2VkX3N1Ym1vZHVsZV9uYW1lcywKLQkJCQkJCQkgc3VibW9kdWxlLT5uYW1lKSkKKwkJCWlmICghdGFzay0+c3ViIHx8CisJCQkgICAgIXN0cmluZ19saXN0X2xvb2t1cCgKKwkJCQkJJnNwZi0+Y2hhbmdlZF9zdWJtb2R1bGVfbmFtZXMsCisJCQkJCXRhc2stPnN1Yi0+bmFtZSkpCiAJCQkJY29udGludWU7CiAJCQlkZWZhdWx0X2FyZ3YgPSAib24tZGVtYW5kIjsKIAkJCWJyZWFrOwpAQCAtMTI5MywzNSArMTQ0Miw4MCBAQAogCQkJY29udGludWU7CiAJCX0KIAotCQlzdHJidWZfcmVwb193b3JrdHJlZV9wYXRoKCZzdWJtb2R1bGVfcGF0aCwgc3BmLT5yLCAiJXMiLCBjZS0+bmFtZSk7Ci0JCXN0cmJ1Zl9hZGRmKCZzdWJtb2R1bGVfZ2l0X2RpciwgIiVzLy5naXQiLCBzdWJtb2R1bGVfcGF0aC5idWYpOwotCQlzdHJidWZfYWRkZigmc3VibW9kdWxlX3ByZWZpeCwgIiVzJXMvIiwgc3BmLT5wcmVmaXgsIGNlLT5uYW1lKTsKLQkJZ2l0X2RpciA9IHJlYWRfZ2l0ZmlsZShzdWJtb2R1bGVfZ2l0X2Rpci5idWYpOwotCQlpZiAoIWdpdF9kaXIpCi0JCQlnaXRfZGlyID0gc3VibW9kdWxlX2dpdF9kaXIuYnVmOwotCQlpZiAoaXNfZGlyZWN0b3J5KGdpdF9kaXIpKSB7CisJCXRhc2stPnJlcG8gPSBnZXRfc3VibW9kdWxlX3JlcG9fZm9yKHNwZi0+ciwgdGFzay0+c3ViKTsKKwkJaWYgKHRhc2stPnJlcG8pIHsKKwkJCXN0cnVjdCBzdHJidWYgc3VibW9kdWxlX3ByZWZpeCA9IFNUUkJVRl9JTklUOwogCQkJY2hpbGRfcHJvY2Vzc19pbml0KGNwKTsKLQkJCWNwLT5kaXIgPSBzdHJidWZfZGV0YWNoKCZzdWJtb2R1bGVfcGF0aCwgTlVMTCk7Ci0JCQlwcmVwYXJlX3N1Ym1vZHVsZV9yZXBvX2VudigmY3AtPmVudl9hcnJheSk7CisJCQljcC0+ZGlyID0gdGFzay0+cmVwby0+Z2l0ZGlyOworCQkJcHJlcGFyZV9zdWJtb2R1bGVfcmVwb19lbnZfaW5fZ2l0ZGlyKCZjcC0+ZW52X2FycmF5KTsKIAkJCWNwLT5naXRfY21kID0gMTsKIAkJCWlmICghc3BmLT5xdWlldCkKLQkJCQlzdHJidWZfYWRkZihlcnIsICJGZXRjaGluZyBzdWJtb2R1bGUgJXMlc1xuIiwKKwkJCQlzdHJidWZfYWRkZihlcnIsIF8oIkZldGNoaW5nIHN1Ym1vZHVsZSAlcyVzXG4iKSwKIAkJCQkJICAgIHNwZi0+cHJlZml4LCBjZS0+bmFtZSk7CiAJCQlhcmd2X2FycmF5X2luaXQoJmNwLT5hcmdzKTsKIAkJCWFyZ3ZfYXJyYXlfcHVzaHYoJmNwLT5hcmdzLCBzcGYtPmFyZ3MuYXJndik7CiAJCQlhcmd2X2FycmF5X3B1c2goJmNwLT5hcmdzLCBkZWZhdWx0X2FyZ3YpOwogCQkJYXJndl9hcnJheV9wdXNoKCZjcC0+YXJncywgIi0tc3VibW9kdWxlLXByZWZpeCIpOworCisJCQlzdHJidWZfYWRkZigmc3VibW9kdWxlX3ByZWZpeCwgIiVzJXMvIiwKKwkJCQkJCSAgICAgICBzcGYtPnByZWZpeCwKKwkJCQkJCSAgICAgICB0YXNrLT5zdWItPnBhdGgpOwogCQkJYXJndl9hcnJheV9wdXNoKCZjcC0+YXJncywgc3VibW9kdWxlX3ByZWZpeC5idWYpOwotCQkJcmV0ID0gMTsKLQkJfQotCQlzdHJidWZfcmVsZWFzZSgmc3VibW9kdWxlX3BhdGgpOwotCQlzdHJidWZfcmVsZWFzZSgmc3VibW9kdWxlX2dpdF9kaXIpOwotCQlzdHJidWZfcmVsZWFzZSgmc3VibW9kdWxlX3ByZWZpeCk7Ci0JCWlmIChyZXQpIHsKKwogCQkJc3BmLT5jb3VudCsrOworCQkJKnRhc2tfY2IgPSB0YXNrOworCisJCQlzdHJidWZfcmVsZWFzZSgmc3VibW9kdWxlX3ByZWZpeCk7CiAJCQlyZXR1cm4gMTsKKwkJfSBlbHNlIHsKKworCQkJZmV0Y2hfdGFza19yZWxlYXNlKHRhc2spOworCQkJZnJlZSh0YXNrKTsKKworCQkJLyoKKwkJCSAqIEFuIGVtcHR5IGRpcmVjdG9yeSBpcyBub3JtYWwsCisJCQkgKiB0aGUgc3VibW9kdWxlIGlzIG5vdCBpbml0aWFsaXplZAorCQkJICovCisJCQlpZiAoU19JU0dJVExJTksoY2UtPmNlX21vZGUpICYmCisJCQkgICAgIWlzX2VtcHR5X2RpcihjZS0+bmFtZSkpIHsKKwkJCQlzcGYtPnJlc3VsdCA9IDE7CisJCQkJc3RyYnVmX2FkZGYoZXJyLAorCQkJCQkgICAgXygiQ291bGQgbm90IGFjY2VzcyBzdWJtb2R1bGUgJyVzJ1xuIiksCisJCQkJCSAgICBjZS0+bmFtZSk7CisJCQl9CiAJCX0KIAl9CisKKwlpZiAoc3BmLT5vaWRfZmV0Y2hfdGFza3NfbnIpIHsKKwkJc3RydWN0IGZldGNoX3Rhc2sgKnRhc2sgPQorCQkJc3BmLT5vaWRfZmV0Y2hfdGFza3Nbc3BmLT5vaWRfZmV0Y2hfdGFza3NfbnIgLSAxXTsKKwkJc3RydWN0IHN0cmJ1ZiBzdWJtb2R1bGVfcHJlZml4ID0gU1RSQlVGX0lOSVQ7CisJCXNwZi0+b2lkX2ZldGNoX3Rhc2tzX25yLS07CisKKwkJc3RyYnVmX2FkZGYoJnN1Ym1vZHVsZV9wcmVmaXgsICIlcyVzLyIsCisJCQkgICAgc3BmLT5wcmVmaXgsIHRhc2stPnN1Yi0+cGF0aCk7CisKKwkJY2hpbGRfcHJvY2Vzc19pbml0KGNwKTsKKwkJcHJlcGFyZV9zdWJtb2R1bGVfcmVwb19lbnZfaW5fZ2l0ZGlyKCZjcC0+ZW52X2FycmF5KTsKKwkJY3AtPmdpdF9jbWQgPSAxOworCQljcC0+ZGlyID0gdGFzay0+cmVwby0+Z2l0ZGlyOworCisJCWFyZ3ZfYXJyYXlfaW5pdCgmY3AtPmFyZ3MpOworCQlhcmd2X2FycmF5X3B1c2h2KCZjcC0+YXJncywgc3BmLT5hcmdzLmFyZ3YpOworCQlhcmd2X2FycmF5X3B1c2goJmNwLT5hcmdzLCAib24tZGVtYW5kIik7CisJCWFyZ3ZfYXJyYXlfcHVzaCgmY3AtPmFyZ3MsICItLXN1Ym1vZHVsZS1wcmVmaXgiKTsKKwkJYXJndl9hcnJheV9wdXNoKCZjcC0+YXJncywgc3VibW9kdWxlX3ByZWZpeC5idWYpOworCisJCS8qIE5FRURTV09SSzogaGF2ZSBnZXRfZGVmYXVsdF9yZW1vdGUgZnJvbSBzdWJtb2R1bGUtLWhlbHBlciAqLworCQlhcmd2X2FycmF5X3B1c2goJmNwLT5hcmdzLCAib3JpZ2luIik7CisJCW9pZF9hcnJheV9mb3JfZWFjaF91bmlxdWUodGFzay0+Y29tbWl0cywKKwkJCQkJICBhcHBlbmRfb2lkX3RvX2FyZ3YsICZjcC0+YXJncyk7CisKKwkJKnRhc2tfY2IgPSB0YXNrOworCQlzdHJidWZfcmVsZWFzZSgmc3VibW9kdWxlX3ByZWZpeCk7CisJCXJldHVybiAxOworCX0KKwogCXJldHVybiAwOwogfQogCkBAIC0xMzI5LDIwICsxNTIzLDc3IEBACiAJCQkgICAgICAgdm9pZCAqY2IsIHZvaWQgKnRhc2tfY2IpCiB7CiAJc3RydWN0IHN1Ym1vZHVsZV9wYXJhbGxlbF9mZXRjaCAqc3BmID0gY2I7CisJc3RydWN0IGZldGNoX3Rhc2sgKnRhc2sgPSB0YXNrX2NiOwogCiAJc3BmLT5yZXN1bHQgPSAxOwogCisJZmV0Y2hfdGFza19yZWxlYXNlKHRhc2spOwogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGNvbW1pdF9taXNzaW5nX2luX3N1Yihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IHJlcG9zaXRvcnkgKnN1YnJlcG8gPSBkYXRhOworCisJZW51bSBvYmplY3RfdHlwZSB0eXBlID0gb2lkX29iamVjdF9pbmZvKHN1YnJlcG8sIG9pZCwgTlVMTCk7CisKKwlyZXR1cm4gdHlwZSAhPSBPQkpfQ09NTUlUOworfQorCiBzdGF0aWMgaW50IGZldGNoX2ZpbmlzaChpbnQgcmV0dmFsdWUsIHN0cnVjdCBzdHJidWYgKmVyciwKIAkJCXZvaWQgKmNiLCB2b2lkICp0YXNrX2NiKQogewogCXN0cnVjdCBzdWJtb2R1bGVfcGFyYWxsZWxfZmV0Y2ggKnNwZiA9IGNiOworCXN0cnVjdCBmZXRjaF90YXNrICp0YXNrID0gdGFza19jYjsKIAotCWlmIChyZXR2YWx1ZSkKKwlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXQ7CisJc3RydWN0IG9pZF9hcnJheSAqY29tbWl0czsKKworCWlmICghdGFzayB8fCAhdGFzay0+c3ViKQorCQlCVUcoImNhbGxiYWNrIGNvb2tpZSBib2d1cyIpOworCisJaWYgKHJldHZhbHVlKSB7CisJCS8qCisJCSAqIE5FRURTV09SSzogVGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgb3ZlcmFsbCBmZXRjaAorCQkgKiBmYWlsZWQsIGV2ZW4gdGhvdWdoIHRoZXJlIG1heSBiZSBhIHN1YnNlcXVlbnQgZmV0Y2gKKwkJICogYnkgY29tbWl0IGhhc2ggdGhhdCBtaWdodCB3b3JrLiBJdCBtYXkgYmUgYSBnb29kCisJCSAqIGlkZWEgdG8gbm90IGluZGljYXRlIGZhaWx1cmUgaW4gdGhpcyBjYXNlLCBhbmQgb25seQorCQkgKiBpbmRpY2F0ZSBmYWlsdXJlIGlmIHRoZSBzdWJzZXF1ZW50IGZldGNoIGZhaWxzLgorCQkgKi8KIAkJc3BmLT5yZXN1bHQgPSAxOwogCisJCXN0cmJ1Zl9hZGRmKCZzcGYtPnN1Ym1vZHVsZXNfd2l0aF9lcnJvcnMsICJcdCVzXG4iLAorCQkJICAgIHRhc2stPnN1Yi0+bmFtZSk7CisJfQorCisJLyogSXMgdGhpcyB0aGUgc2Vjb25kIHRpbWUgd2UgcHJvY2VzcyB0aGlzIHN1Ym1vZHVsZT8gKi8KKwlpZiAodGFzay0+Y29tbWl0cykKKwkJZ290byBvdXQ7CisKKwlpdCA9IHN0cmluZ19saXN0X2xvb2t1cCgmc3BmLT5jaGFuZ2VkX3N1Ym1vZHVsZV9uYW1lcywgdGFzay0+c3ViLT5uYW1lKTsKKwlpZiAoIWl0KQorCQkvKiBDb3VsZCBiZSBhbiB1bmNoYW5nZWQgc3VibW9kdWxlLCBub3QgY29udGFpbmVkIGluIHRoZSBsaXN0ICovCisJCWdvdG8gb3V0OworCisJY29tbWl0cyA9IGl0LT51dGlsOworCW9pZF9hcnJheV9maWx0ZXIoY29tbWl0cywKKwkJCSBjb21taXRfbWlzc2luZ19pbl9zdWIsCisJCQkgdGFzay0+cmVwbyk7CisKKwkvKiBBcmUgdGhlcmUgY29tbWl0cyB3ZSB3YW50LCBidXQgZG8gbm90IGV4aXN0PyAqLworCWlmIChjb21taXRzLT5ucikgeworCQl0YXNrLT5jb21taXRzID0gY29tbWl0czsKKwkJQUxMT0NfR1JPVyhzcGYtPm9pZF9mZXRjaF90YXNrcywKKwkJCSAgIHNwZi0+b2lkX2ZldGNoX3Rhc2tzX25yICsgMSwKKwkJCSAgIHNwZi0+b2lkX2ZldGNoX3Rhc2tzX2FsbG9jKTsKKwkJc3BmLT5vaWRfZmV0Y2hfdGFza3Nbc3BmLT5vaWRfZmV0Y2hfdGFza3NfbnJdID0gdGFzazsKKwkJc3BmLT5vaWRfZmV0Y2hfdGFza3NfbnIrKzsKKwkJcmV0dXJuIDA7CisJfQorCitvdXQ6CisJZmV0Y2hfdGFza19yZWxlYXNlKHRhc2spOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTEzNjUsNyArMTYxNiw3IEBACiAJCWdvdG8gb3V0OwogCiAJaWYgKHJlcG9fcmVhZF9pbmRleChyKSA8IDApCi0JCWRpZSgiaW5kZXggZmlsZSBjb3JydXB0Iik7CisJCWRpZShfKCJpbmRleCBmaWxlIGNvcnJ1cHQiKSk7CiAKIAlhcmd2X2FycmF5X3B1c2goJnNwZi5hcmdzLCAiZmV0Y2giKTsKIAlmb3IgKGkgPSAwOyBpIDwgb3B0aW9ucy0+YXJnYzsgaSsrKQpAQCAtMTM3MywxNiArMTYyNCwyMyBAQAogCWFyZ3ZfYXJyYXlfcHVzaCgmc3BmLmFyZ3MsICItLXJlY3Vyc2Utc3VibW9kdWxlcy1kZWZhdWx0Iik7CiAJLyogZGVmYXVsdCB2YWx1ZSwgIi0tc3VibW9kdWxlLXByZWZpeCIgYW5kIGl0cyB2YWx1ZSBhcmUgYWRkZWQgbGF0ZXIgKi8KIAotCWNhbGN1bGF0ZV9jaGFuZ2VkX3N1Ym1vZHVsZV9wYXRocyhyKTsKLQlydW5fcHJvY2Vzc2VzX3BhcmFsbGVsKG1heF9wYXJhbGxlbF9qb2JzLAotCQkJICAgICAgIGdldF9uZXh0X3N1Ym1vZHVsZSwKLQkJCSAgICAgICBmZXRjaF9zdGFydF9mYWlsdXJlLAotCQkJICAgICAgIGZldGNoX2ZpbmlzaCwKLQkJCSAgICAgICAmc3BmKTsKKwljYWxjdWxhdGVfY2hhbmdlZF9zdWJtb2R1bGVfcGF0aHMociwgJnNwZi5jaGFuZ2VkX3N1Ym1vZHVsZV9uYW1lcyk7CisJc3RyaW5nX2xpc3Rfc29ydCgmc3BmLmNoYW5nZWRfc3VibW9kdWxlX25hbWVzKTsKKwlydW5fcHJvY2Vzc2VzX3BhcmFsbGVsX3RyMihtYXhfcGFyYWxsZWxfam9icywKKwkJCQkgICBnZXRfbmV4dF9zdWJtb2R1bGUsCisJCQkJICAgZmV0Y2hfc3RhcnRfZmFpbHVyZSwKKwkJCQkgICBmZXRjaF9maW5pc2gsCisJCQkJICAgJnNwZiwKKwkJCQkgICAic3VibW9kdWxlIiwgInBhcmFsbGVsL2ZldGNoIik7CisKKwlpZiAoc3BmLnN1Ym1vZHVsZXNfd2l0aF9lcnJvcnMubGVuID4gMCkKKwkJZnByaW50ZihzdGRlcnIsIF8oIkVycm9ycyBkdXJpbmcgc3VibW9kdWxlIGZldGNoOlxuJXMiKSwKKwkJCXNwZi5zdWJtb2R1bGVzX3dpdGhfZXJyb3JzLmJ1Zik7CisKIAogCWFyZ3ZfYXJyYXlfY2xlYXIoJnNwZi5hcmdzKTsKIG91dDoKLQlzdHJpbmdfbGlzdF9jbGVhcigmY2hhbmdlZF9zdWJtb2R1bGVfbmFtZXMsIDEpOworCWZyZWVfc3VibW9kdWxlc19vaWRzKCZzcGYuY2hhbmdlZF9zdWJtb2R1bGVfbmFtZXMpOwogCXJldHVybiBzcGYucmVzdWx0OwogfQogCkBAIC0xNDE4LDcgKzE2NzYsNyBAQAogCWNwLm91dCA9IC0xOwogCWNwLmRpciA9IHBhdGg7CiAJaWYgKHN0YXJ0X2NvbW1hbmQoJmNwKSkKLQkJZGllKCJDb3VsZCBub3QgcnVuICdnaXQgc3RhdHVzIC0tcG9yY2VsYWluPTInIGluIHN1Ym1vZHVsZSAlcyIsIHBhdGgpOworCQlkaWUoXygiQ291bGQgbm90IHJ1biAnZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbj0yJyBpbiBzdWJtb2R1bGUgJXMiKSwgcGF0aCk7CiAKIAlmcCA9IHhmZG9wZW4oY3Aub3V0LCAiciIpOwogCXdoaWxlIChzdHJidWZfZ2V0d2hvbGVsaW5lKCZidWYsIGZwLCAnXG4nKSAhPSBFT0YpIHsKQEAgLTE0NTksNyArMTcxNyw3IEBACiAJZmNsb3NlKGZwKTsKIAogCWlmIChmaW5pc2hfY29tbWFuZCgmY3ApICYmICFpZ25vcmVfY3BfZXhpdF9jb2RlKQotCQlkaWUoIidnaXQgc3RhdHVzIC0tcG9yY2VsYWluPTInIGZhaWxlZCBpbiBzdWJtb2R1bGUgJXMiLCBwYXRoKTsKKwkJZGllKF8oIidnaXQgc3RhdHVzIC0tcG9yY2VsYWluPTInIGZhaWxlZCBpbiBzdWJtb2R1bGUgJXMiKSwgcGF0aCk7CiAKIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAlyZXR1cm4gZGlydHlfc3VibW9kdWxlOwpAQCAtMTU2MSw2ICsxODE5LDE4IEBACiAJcmV0dXJuIHJldDsKIH0KIAordm9pZCBzdWJtb2R1bGVfdW5zZXRfY29yZV93b3JrdHJlZShjb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWIpCit7CisJY2hhciAqY29uZmlnX3BhdGggPSB4c3RyZm10KCIlcy9tb2R1bGVzLyVzL2NvbmZpZyIsCisJCQkJICAgIGdldF9naXRfZGlyKCksIHN1Yi0+bmFtZSk7CisKKwlpZiAoZ2l0X2NvbmZpZ19zZXRfaW5fZmlsZV9nZW50bHkoY29uZmlnX3BhdGgsICJjb3JlLndvcmt0cmVlIiwgTlVMTCkpCisJCXdhcm5pbmcoXygiQ291bGQgbm90IHVuc2V0IGNvcmUud29ya3RyZWUgc2V0dGluZyBpbiBzdWJtb2R1bGUgJyVzJyIpLAorCQkJICBzdWItPnBhdGgpOworCisJZnJlZShjb25maWdfcGF0aCk7Cit9CisKIHN0YXRpYyBjb25zdCBjaGFyICpnZXRfc3VwZXJfcHJlZml4X29yX2VtcHR5KHZvaWQpCiB7CiAJY29uc3QgY2hhciAqcyA9IGdldF9zdXBlcl9wcmVmaXgoKTsKQEAgLTE1ODIsNyArMTg1Miw3IEBACiAJY3Aubm9fc3Rkb3V0ID0gMTsKIAljcC5kaXIgPSBzdWItPnBhdGg7CiAJaWYgKHN0YXJ0X2NvbW1hbmQoJmNwKSkKLQkJZGllKCJjb3VsZCBub3QgcmVjdXJzZSBpbnRvIHN1Ym1vZHVsZSAnJXMnIiwgc3ViLT5wYXRoKTsKKwkJZGllKF8oImNvdWxkIG5vdCByZWN1cnNlIGludG8gc3VibW9kdWxlICclcyciKSwgc3ViLT5wYXRoKTsKIAogCXJldHVybiBmaW5pc2hfY29tbWFuZCgmY3ApOwogfQpAQCAtMTYwMyw3ICsxODczLDcgQEAKIAlhcmd2X2FycmF5X3B1c2goJmNwLmFyZ3MsIGVtcHR5X3RyZWVfb2lkX2hleCgpKTsKIAogCWlmIChydW5fY29tbWFuZCgmY3ApKQotCQlkaWUoImNvdWxkIG5vdCByZXNldCBzdWJtb2R1bGUgaW5kZXgiKTsKKwkJZGllKF8oImNvdWxkIG5vdCByZXNldCBzdWJtb2R1bGUgaW5kZXgiKSk7CiB9CiAKIC8qKgpAQCAtMTY1MSwxMSArMTkyMSwxMSBAQAogCWlmICghKGZsYWdzICYgU1VCTU9EVUxFX01PVkVfSEVBRF9EUllfUlVOKSkgewogCQlpZiAob2xkX2hlYWQpIHsKIAkJCWlmICghc3VibW9kdWxlX3VzZXNfZ2l0ZmlsZShwYXRoKSkKLQkJCQlhYnNvcmJfZ2l0X2Rpcl9pbnRvX3N1cGVycHJvamVjdCgiIiwgcGF0aCwKKwkJCQlhYnNvcmJfZ2l0X2Rpcl9pbnRvX3N1cGVycHJvamVjdChwYXRoLAogCQkJCQlBQlNPUkJfR0lURElSX1JFQ1VSU0VfU1VCTU9EVUxFUyk7CiAJCX0gZWxzZSB7CiAJCQljaGFyICpnaXRkaXIgPSB4c3RyZm10KCIlcy9tb2R1bGVzLyVzIiwKLQkJCQkgICAgZ2V0X2dpdF9jb21tb25fZGlyKCksIHN1Yi0+bmFtZSk7CisJCQkJICAgIGdldF9naXRfZGlyKCksIHN1Yi0+bmFtZSk7CiAJCQljb25uZWN0X3dvcmtfdHJlZV9hbmRfZ2l0X2RpcihwYXRoLCBnaXRkaXIsIDApOwogCQkJZnJlZShnaXRkaXIpOwogCkBAIC0xNjY1LDcgKzE5MzUsNyBAQAogCiAJCWlmIChvbGRfaGVhZCAmJiAoZmxhZ3MgJiBTVUJNT0RVTEVfTU9WRV9IRUFEX0ZPUkNFKSkgewogCQkJY2hhciAqZ2l0ZGlyID0geHN0cmZtdCgiJXMvbW9kdWxlcy8lcyIsCi0JCQkJICAgIGdldF9naXRfY29tbW9uX2RpcigpLCBzdWItPm5hbWUpOworCQkJCSAgICBnZXRfZ2l0X2RpcigpLCBzdWItPm5hbWUpOwogCQkJY29ubmVjdF93b3JrX3RyZWVfYW5kX2dpdF9kaXIocGF0aCwgZ2l0ZGlyLCAxKTsKIAkJCWZyZWUoZ2l0ZGlyKTsKIAkJfQpAQCAtMTcyNiw2ICsxOTk2LDggQEAKIAogCQkJaWYgKGlzX2VtcHR5X2RpcihwYXRoKSkKIAkJCQlybWRpcl9vcl93YXJuKHBhdGgpOworCisJCQlzdWJtb2R1bGVfdW5zZXRfY29yZV93b3JrdHJlZShzdWIpOwogCQl9CiAJfQogb3V0OgpAQCAtMTc3Nyw4ICsyMDQ5LDcgQEAKICAqIEVtYmVkcyBhIHNpbmdsZSBzdWJtb2R1bGVzIGdpdCBkaXJlY3RvcnkgaW50byB0aGUgc3VwZXJwcm9qZWN0cyBnaXQgZGlyLAogICogbm9uIHJlY3Vyc2l2ZWx5LgogICovCi1zdGF0aWMgdm9pZCByZWxvY2F0ZV9zaW5nbGVfZ2l0X2Rpcl9pbnRvX3N1cGVycHJvamVjdChjb25zdCBjaGFyICpwcmVmaXgsCi0JCQkJCQkgICAgICBjb25zdCBjaGFyICpwYXRoKQorc3RhdGljIHZvaWQgcmVsb2NhdGVfc2luZ2xlX2dpdF9kaXJfaW50b19zdXBlcnByb2plY3QoY29uc3QgY2hhciAqcGF0aCkKIHsKIAljaGFyICpvbGRfZ2l0X2RpciA9IE5VTEwsICpyZWFsX29sZF9naXRfZGlyID0gTlVMTCwgKnJlYWxfbmV3X2dpdF9kaXIgPSBOVUxMOwogCWNoYXIgKm5ld19naXRfZGlyOwpAQCAtMTgyNCw4ICsyMDk1LDcgQEAKICAqIGhhdmluZyBpdHMgZ2l0IGRpcmVjdG9yeSB3aXRoaW4gdGhlIHdvcmtpbmcgdHJlZSB0byB0aGUgZ2l0IGRpciBuZXN0ZWQKICAqIGluIGl0cyBzdXBlcnByb2plY3RzIGdpdCBkaXIgdW5kZXIgbW9kdWxlcy8uCiAgKi8KLXZvaWQgYWJzb3JiX2dpdF9kaXJfaW50b19zdXBlcnByb2plY3QoY29uc3QgY2hhciAqcHJlZml4LAotCQkJCSAgICAgIGNvbnN0IGNoYXIgKnBhdGgsCit2b2lkIGFic29yYl9naXRfZGlyX2ludG9fc3VwZXJwcm9qZWN0KGNvbnN0IGNoYXIgKnBhdGgsCiAJCQkJICAgICAgdW5zaWduZWQgZmxhZ3MpCiB7CiAJaW50IGVycl9jb2RlOwpAQCAtMTg2Niw3ICsyMTM2LDcgQEAKIAkJY2hhciAqcmVhbF9jb21tb25fZ2l0X2RpciA9IHJlYWxfcGF0aGR1cChnZXRfZ2l0X2NvbW1vbl9kaXIoKSwgMSk7CiAKIAkJaWYgKCFzdGFydHNfd2l0aChyZWFsX3N1Yl9naXRfZGlyLCByZWFsX2NvbW1vbl9naXRfZGlyKSkKLQkJCXJlbG9jYXRlX3NpbmdsZV9naXRfZGlyX2ludG9fc3VwZXJwcm9qZWN0KHByZWZpeCwgcGF0aCk7CisJCQlyZWxvY2F0ZV9zaW5nbGVfZ2l0X2Rpcl9pbnRvX3N1cGVycHJvamVjdChwYXRoKTsKIAogCQlmcmVlKHJlYWxfc3ViX2dpdF9kaXIpOwogCQlmcmVlKHJlYWxfY29tbW9uX2dpdF9kaXIpOwpkaWZmIC0tZ2l0IGEvc3VibW9kdWxlLmggYi9zdWJtb2R1bGUuaAppbmRleCBhYzIwNmRjLi5jODFlYzFhIDEwMDY0NAotLS0gYS9zdWJtb2R1bGUuaAorKysgYi9zdWJtb2R1bGUuaApAQCAtMTM2LDYgKzEzNiw4IEBACiAJCQljb25zdCBjaGFyICpuZXdfaGVhZCwKIAkJCXVuc2lnbmVkIGZsYWdzKTsKIAordm9pZCBzdWJtb2R1bGVfdW5zZXRfY29yZV93b3JrdHJlZShjb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWIpOworCiAvKgogICogUHJlcGFyZSB0aGUgImVudl9hcnJheSIgcGFyYW1ldGVyIG9mIGEgInN0cnVjdCBjaGlsZF9wcm9jZXNzIiBmb3IgZXhlY3V0aW5nCiAgKiBhIHN1Ym1vZHVsZSBieSBjbGVhcmluZyBhbnkgcmVwby1zcGVjaWZpYyBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIGJ1dApAQCAtMTQ0LDggKzE0Niw3IEBACiB2b2lkIHByZXBhcmVfc3VibW9kdWxlX3JlcG9fZW52KHN0cnVjdCBhcmd2X2FycmF5ICpvdXQpOwogCiAjZGVmaW5lIEFCU09SQl9HSVRESVJfUkVDVVJTRV9TVUJNT0RVTEVTICgxPDwwKQotdm9pZCBhYnNvcmJfZ2l0X2Rpcl9pbnRvX3N1cGVycHJvamVjdChjb25zdCBjaGFyICpwcmVmaXgsCi0JCQkJICAgICAgY29uc3QgY2hhciAqcGF0aCwKK3ZvaWQgYWJzb3JiX2dpdF9kaXJfaW50b19zdXBlcnByb2plY3QoY29uc3QgY2hhciAqcGF0aCwKIAkJCQkgICAgICB1bnNpZ25lZCBmbGFncyk7CiAKIC8qCmRpZmYgLS1naXQgYS9zeW1saW5rcy5jIGIvc3ltbGlua3MuYwppbmRleCA1MjYxZThjLi42OWQ0NThhIDEwMDY0NAotLS0gYS9zeW1saW5rcy5jCisrKyBiL3N5bWxpbmtzLmMKQEAgLTIyMSw3ICsyMjEsNyBAQAogICovCiBpbnQgY2hlY2tfbGVhZGluZ19wYXRoKGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4pCiB7Ci0gICAgcmV0dXJuIHRocmVhZGVkX2NoZWNrX2xlYWRpbmdfcGF0aCgmZGVmYXVsdF9jYWNoZSwgbmFtZSwgbGVuKTsKKwlyZXR1cm4gdGhyZWFkZWRfY2hlY2tfbGVhZGluZ19wYXRoKCZkZWZhdWx0X2NhY2hlLCBuYW1lLCBsZW4pOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvdC8uZ2l0aWdub3JlIGIvdC8uZ2l0aWdub3JlCmluZGV4IDM0ODcxNWYuLjkxY2Y1NzcgMTAwNjQ0Ci0tLSBhL3QvLmdpdGlnbm9yZQorKysgYi90Ly5naXRpZ25vcmUKQEAgLTIsMyArMiw0IEBACiAvdGVzdC1yZXN1bHRzCiAvLnByb3ZlCiAvY2hhaW5saW50dG1wCisvb3V0LwpkaWZmIC0tZ2l0IGEvdC9SRUFETUUgYi90L1JFQURNRQppbmRleCAyODcxMWNjLi45YWZkNjFlIDEwMDY0NAotLS0gYS90L1JFQURNRQorKysgYi90L1JFQURNRQpAQCAtMTcwLDYgKzE3MCwxNSBAQAogCWltcGxpZWQgYnkgb3RoZXIgb3B0aW9ucyBsaWtlIC0tdmFsZ3JpbmQgYW5kCiAJR0lUX1RFU1RfSU5TVEFMTEVELgogCistLW5vLWJpbi13cmFwcGVyczo6CisJQnkgZGVmYXVsdCwgdGhlIHRlc3Qgc3VpdGUgdXNlcyB0aGUgd3JhcHBlcnMgaW4KKwlgLi4vYmluLXdyYXBwZXJzL2AgdG8gZXhlY3V0ZSBgZ2l0YCBhbmQgZnJpZW5kcy4gV2l0aCB0aGlzIG9wdGlvbiwKKwlgLi4vZ2l0YCBhbmQgZnJpZW5kcyBhcmUgcnVuIGRpcmVjdGx5LiBUaGlzIGlzIG5vdCByZWNvbW1lbmRlZAorCWluIGdlbmVyYWwsIGFzIHRoZSB3cmFwcGVycyBjb250YWluIHNhZmVndWFyZHMgdG8gZW5zdXJlIHRoYXQgbm8KKwlmaWxlcyBmcm9tIGFuIGluc3RhbGxlZCBHaXQgYXJlIHVzZWQsIGJ1dCBjYW4gc3BlZWQgdXAgdGVzdCBydW5zCisJZXNwZWNpYWxseSBvbiBwbGF0Zm9ybXMgd2hlcmUgcnVubmluZyBzaGVsbCBzY3JpcHRzIGlzIGV4cGVuc2l2ZQorCShtb3N0IG5vdGFibHksIFdpbmRvd3MpLgorCiAtLXJvb3Q9PGRpcmVjdG9yeT46OgogCUNyZWF0ZSAidHJhc2giIGRpcmVjdG9yaWVzIHVzZWQgdG8gc3RvcmUgYWxsIHRlbXBvcmFyeSBkYXRhIGR1cmluZwogCXRlc3RpbmcgdW5kZXIgPGRpcmVjdG9yeT4sIGluc3RlYWQgb2YgdGhlIHQvIGRpcmVjdG9yeS4KQEAgLTE4Niw2ICsxOTUsMjkgQEAKIAl0aGlzIGZlYXR1cmUgYnkgc2V0dGluZyB0aGUgR0lUX1RFU1RfQ0hBSU5fTElOVCBlbnZpcm9ubWVudAogCXZhcmlhYmxlIHRvICIxIiBvciAiMCIsIHJlc3BlY3RpdmVseS4KIAorLS1zdHJlc3M6OgorCVJ1biB0aGUgdGVzdCBzY3JpcHQgcmVwZWF0ZWRseSBpbiBtdWx0aXBsZSBwYXJhbGxlbCBqb2JzIHVudGlsCisJb25lIG9mIHRoZW0gZmFpbHMuICBVc2VmdWwgZm9yIHJlcHJvZHVjaW5nIHJhcmUgZmFpbHVyZXMgaW4KKwlmbGFreSB0ZXN0cy4gIFRoZSBudW1iZXIgb2YgcGFyYWxsZWwgam9icyBpcywgaW4gb3JkZXIgb2YKKwlwcmVjZWRlbmNlOiB0aGUgdmFsdWUgb2YgdGhlIEdJVF9URVNUX1NUUkVTU19MT0FECisJZW52aXJvbm1lbnQgdmFyaWFibGUsIG9yIHR3aWNlIHRoZSBudW1iZXIgb2YgYXZhaWxhYmxlCisJcHJvY2Vzc29ycyAoYXMgc2hvd24gYnkgdGhlICdnZXRjb25mJyB1dGlsaXR5KSwJb3IgOC4KKwlJbXBsaWVzIGAtLXZlcmJvc2UgLXggLS1pbW1lZGlhdGVgIHRvIGdldCB0aGUgbW9zdCBpbmZvcm1hdGlvbgorCWFib3V0IHRoZSBmYWlsdXJlLiAgTm90ZSB0aGF0IHRoZSB2ZXJib3NlIG91dHB1dCBvZiBlYWNoIHRlc3QKKwlqb2IgaXMgc2F2ZWQgdG8gJ3QvdGVzdC1yZXN1bHRzLyRURVNUX05BTUUuc3RyZXNzLTxucj4ub3V0JywKKwlhbmQgb25seSB0aGUgb3V0cHV0IG9mIHRoZSBmYWlsZWQgdGVzdCBqb2IgaXMgc2hvd24gb24gdGhlCisJdGVybWluYWwuICBUaGUgbmFtZXMgb2YgdGhlIHRyYXNoIGRpcmVjdG9yaWVzIGdldCBhCisJJy5zdHJlc3MtPG5yPicgc3VmZml4LCBhbmQgdGhlIHRyYXNoIGRpcmVjdG9yeSBvZiB0aGUgZmFpbGVkCisJdGVzdCBqb2IgaXMgcmVuYW1lZCB0byBlbmQgd2l0aCBhICcuc3RyZXNzLWZhaWxlZCcgc3VmZml4LgorCistLXN0cmVzcy1qb2JzPTxOPjo6CisJT3ZlcnJpZGUgdGhlIG51bWJlciBvZiBwYXJhbGxlbCBqb2JzLiBJbXBsaWVzIGAtLXN0cmVzc2AuCisKKy0tc3RyZXNzLWxpbWl0PTxOPjo6CisJV2hlbiBjb21iaW5lZCB3aXRoIC0tc3RyZXNzIHJ1biB0aGUgdGVzdCBzY3JpcHQgcmVwZWF0ZWRseQorCXRoaXMgbWFueSB0aW1lcyBpbiBlYWNoIG9mIHRoZSBwYXJhbGxlbCBqb2JzIG9yIHVudGlsIG9uZSBvZgorCXRoZW0gZmFpbHMsIHdoaWNoZXZlciBjb21lcyBmaXJzdC4gSW1wbGllcyBgLS1zdHJlc3NgLgorCiBZb3UgY2FuIGFsc28gc2V0IHRoZSBHSVRfVEVTVF9JTlNUQUxMRUQgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8KIHRoZSBiaW5kaXIgb2YgYW4gZXhpc3RpbmcgZ2l0IGluc3RhbGxhdGlvbiB0byB0ZXN0IHRoYXQgaW5zdGFsbGF0aW9uLgogWW91IHN0aWxsIG5lZWQgdG8gaGF2ZSBidWlsdCB0aGlzIGdpdCBzYW5kYm94LCBmcm9tIHdoaWNoIHZhcmlvdXMKQEAgLTMwMiwxNSArMzM0LDI3IEBACiBjb3VsZCBiZSBlbmFibGVkIGJ5IHJ1bm5pbmcgdGhlIHRlc3Qgc3VpdGUgd2l0aCBjb3JyZWN0IEdJVF9URVNUXwogZW52aXJvbm1lbnQgc2V0LgogCi1HSVRfVEVTVF9HRVRURVhUX1BPSVNPTj08bm9uLWVtcHR5Pz4gdHVybnMgYWxsIHN0cmluZ3MgbWFya2VkIGZvcgotdHJhbnNsYXRpb24gaW50byBnaWJiZXJpc2ggaWYgbm9uLWVtcHR5ICh0aGluayAidGVzdCAtbiIpLiBVc2VkIGZvcgotc3BvdHRpbmcgdGhvc2UgdGVzdHMgdGhhdCBuZWVkIHRvIGJlIG1hcmtlZCB3aXRoIGEgQ19MT0NBTEVfT1VUUFVUCi1wcmVyZXF1aXNpdGUgd2hlbiBhZGRpbmcgbW9yZSBzdHJpbmdzIGZvciB0cmFuc2xhdGlvbi4gU2VlICJUZXN0aW5nCi1tYXJrZWQgc3RyaW5ncyIgaW4gcG8vUkVBRE1FIGZvciBkZXRhaWxzLgorR0lUX1RFU1RfRkFJTF9QUkVSRVFTPTxib29sZWFuPiBmYWlscyBhbGwgcHJlcmVxdWlzaXRlcy4gVGhpcyBpcwordXNlZnVsIGZvciBkaXNjb3ZlcmluZyBpc3N1ZXMgd2l0aCB0aGUgdGVzdHMgd2hlcmUgc2F5IGEgbGF0ZXIgdGVzdAoraW1wbGljaXRseSBkZXBlbmRzIG9uIGFuIG9wdGlvbmFsIGVhcmxpZXIgdGVzdC4KKworVGhlcmUncyBhICJGQUlMX1BSRVJFUVMiIHByZXJlcXVpc2l0ZSB0aGF0IGNhbiBiZSB1c2VkIHRvIHRlc3QgZm9yCit3aGV0aGVyIHRoaXMgbW9kZSBpcyBhY3RpdmUsIGFuZCBlLmcuIHNraXAgc29tZSB0ZXN0cyB0aGF0IGFyZSBoYXJkIHRvCityZWZhY3RvciB0byBkZWFsIHdpdGggaXQuIFRoZSAiU1lNTElOS1MiIHByZXJlcXVpc2l0ZSBpcyBjdXJyZW50bHkKK2V4Y2x1ZGVkIGFzIHNvIG11Y2ggcmVsaWVzIG9uIGl0LCBidXQgdGhpcyBtaWdodCBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4KKworR0lUX1RFU1RfR0VUVEVYVF9QT0lTT049PGJvb2xlYW4+IHR1cm5zIGFsbCBzdHJpbmdzIG1hcmtlZCBmb3IKK3RyYW5zbGF0aW9uIGludG8gZ2liYmVyaXNoIGlmIHRydWUuIFVzZWQgZm9yIHNwb3R0aW5nIHRob3NlIHRlc3RzIHRoYXQKK25lZWQgdG8gYmUgbWFya2VkIHdpdGggYSBDX0xPQ0FMRV9PVVRQVVQgcHJlcmVxdWlzaXRlIHdoZW4gYWRkaW5nIG1vcmUKK3N0cmluZ3MgZm9yIHRyYW5zbGF0aW9uLiBTZWUgIlRlc3RpbmcgbWFya2VkIHN0cmluZ3MiIGluIHBvL1JFQURNRSBmb3IKK2RldGFpbHMuCiAKIEdJVF9URVNUX1NQTElUX0lOREVYPTxib29sZWFuPiBmb3JjZXMgc3BsaXQtaW5kZXggbW9kZSBvbiB0aGUgd2hvbGUKIHRlc3Qgc3VpdGUuIEFjY2VwdCBhbnkgYm9vbGVhbiB2YWx1ZXMgdGhhdCBhcmUgYWNjZXB0ZWQgYnkgZ2l0LWNvbmZpZy4KIAorR0lUX1RFU1RfUFJPVE9DT0xfVkVSU0lPTj08bj4sIHdoZW4gc2V0LCBtYWtlcyAncHJvdG9jb2wudmVyc2lvbicKK2RlZmF1bHQgdG8gbi4KKwogR0lUX1RFU1RfRlVMTF9JTl9QQUNLX0FSUkFZPTxib29sZWFuPiBleGVyY2lzZXMgdGhlIHVuY29tbW9uCiBwYWNrLW9iamVjdHMgY29kZSBwYXRoIHdoZXJlIHRoZXJlIGFyZSBtb3JlIHRoYW4gMTAyNCBwYWNrcyBldmVuIGlmCiB0aGUgYWN0dWFsIG51bWJlciBvZiBwYWNrcyBpbiByZXBvc2l0b3J5IGlzIGJlbG93IHRoaXMgbGltaXQuIEFjY2VwdApAQCAtMzQyLDExICszODYsMTkgQEAKIGZvciB0aGUgaW5kZXggdmVyc2lvbiBzcGVjaWZpZWQuICBDYW4gYmUgc2V0IHRvIGFueSB2YWxpZCB2ZXJzaW9uCiAoY3VycmVudGx5IDIsIDMsIG9yIDQpLgogCitHSVRfVEVTVF9QQUNLX1NQQVJTRT08Ym9vbGVhbj4gaWYgZW5hYmxlZCB3aWxsIGRlZmF1bHQgdGhlIHBhY2stb2JqZWN0cworYnVpbHRpbiB0byB1c2UgdGhlIHNwYXJzZSBvYmplY3Qgd2Fsay4gVGhpcyBjYW4gc3RpbGwgYmUgb3ZlcnJpZGRlbiBieQordGhlIC0tbm8tc3BhcnNlIGNvbW1hbmQtbGluZSBhcmd1bWVudC4KKwogR0lUX1RFU1RfUFJFTE9BRF9JTkRFWD08Ym9vbGVhbj4gZXhlcmNpc2VzIHRoZSBwcmVsb2FkLWluZGV4IGNvZGUgcGF0aAogYnkgb3ZlcnJpZGluZyB0aGUgbWluaW11bSBudW1iZXIgb2YgY2FjaGUgZW50cmllcyByZXF1aXJlZCBwZXIgdGhyZWFkLgogCi1HSVRfVEVTVF9SRUJBU0VfVVNFX0JVSUxUSU49PGJvb2xlYW4+LCB3aGVuIGZhbHNlLCBkaXNhYmxlcyB0aGUKLWJ1aWx0aW4gdmVyc2lvbiBvZiBnaXQtcmViYXNlLiBTZWUgJ3JlYmFzZS51c2VCdWlsdGluJyBpbgorR0lUX1RFU1RfU1RBU0hfVVNFX0JVSUxUSU49PGJvb2xlYW4+LCB3aGVuIGZhbHNlLCBkaXNhYmxlcyB0aGUKK2J1aWx0LWluIHZlcnNpb24gb2YgZ2l0LXN0YXNoLiBTZWUgJ3N0YXNoLnVzZUJ1aWx0aW4nIGluCitnaXQtY29uZmlnKDEpLgorCitHSVRfVEVTVF9BRERfSV9VU0VfQlVJTFRJTj08Ym9vbGVhbj4sIHdoZW4gdHJ1ZSwgZW5hYmxlcyB0aGUKK2J1aWx0LWluIHZlcnNpb24gb2YgZ2l0IGFkZCAtaS4gU2VlICdhZGQuaW50ZXJhY3RpdmUudXNlQnVpbHRpbicgaW4KIGdpdC1jb25maWcoMSkuCiAKIEdJVF9URVNUX0lOREVYX1RIUkVBRFM9PG4+IGVuYWJsZXMgZXhlcmNpc2luZyB0aGUgbXVsdGktdGhyZWFkZWQgbG9hZGluZwpAQCAtMzU4LDYgKzQxMCwxNSBAQAogaW5kZXggdG8gYmUgd3JpdHRlbiBhZnRlciBldmVyeSAnZ2l0IHJlcGFjaycgY29tbWFuZCwgYW5kIG92ZXJyaWRlcyB0aGUKICdjb3JlLm11bHRpUGFja0luZGV4JyBzZXR0aW5nIHRvIHRydWUuCiAKK0dJVF9URVNUX1NJREVCQU5EX0FMTD08Ym9vbGVhbj4sIHdoZW4gdHJ1ZSwgb3ZlcnJpZGVzIHRoZQorJ3VwbG9hZHBhY2suYWxsb3dTaWRlYmFuZEFsbCcgc2V0dGluZyB0byB0cnVlLCBhbmQgd2hlbiBmYWxzZSwgZm9yY2VzCitmZXRjaC1wYWNrIHRvIG5vdCByZXF1ZXN0IHNpZGViYW5kLWFsbCAoZXZlbiBpZiB0aGUgc2VydmVyIGFkdmVydGlzZXMKK3NpZGViYW5kLWFsbCkuCisKK0dJVF9URVNUX0RJU0FMTE9XX0FCQlJFVklBVEVEX09QVElPTlM9PGJvb2xlYW4+LCB3aGVuIHRydWUgKHdoaWNoIGlzCit0aGUgZGVmYXVsdCB3aGVuIHJ1bm5pbmcgdGVzdHMpLCBlcnJvcnMgb3V0IHdoZW4gYW4gYWJicmV2aWF0ZWQgb3B0aW9uCitpcyB1c2VkLgorCiBOYW1pbmcgVGVzdHMKIC0tLS0tLS0tLS0tLQogCkBAIC00MjUsNyArNDg2LDggQEAKICAtIENyZWF0ZXMgYW4gZW1wdHkgdGVzdCBkaXJlY3Rvcnkgd2l0aCBhbiBlbXB0eSAuZ2l0L29iamVjdHMgZGF0YWJhc2UKICAgIGFuZCBjaGRpcigyKSBpbnRvIGl0LiAgVGhpcyBkaXJlY3RvcnkgaXMgJ3QvdHJhc2gKICAgIGRpcmVjdG9yeS4kdGVzdF9uYW1lX3dpdGhvdXRfZG90c2gnLCB3aXRoIHQvIHN1YmplY3QgdG8gY2hhbmdlIGJ5Ci0gICB0aGUgLS1yb290IG9wdGlvbiBkb2N1bWVudGVkIGFib3ZlLgorICAgdGhlIC0tcm9vdCBvcHRpb24gZG9jdW1lbnRlZCBhYm92ZSwgYW5kIGEgJy5zdHJlc3MtPE4+JyBzdWZmaXgKKyAgIGFwcGVuZGVkIGJ5IHRoZSAtLXN0cmVzcyBvcHRpb24uCiAKICAtIERlZmluZXMgc3RhbmRhcmQgdGVzdCBoZWxwZXIgZnVuY3Rpb25zIGZvciB5b3VyIHNjcmlwdHMgdG8KICAgIHVzZS4gIFRoZXNlIGZ1bmN0aW9ucyBhcmUgZGVzaWduZWQgdG8gbWFrZSBhbGwgc2NyaXB0cyBiZWhhdmUKQEAgLTgyMiw2ICs4ODQsMjYgQEAKIAkJLi4uCiAJJwogCisgLSB0ZXN0X2F0ZXhpdCA8c2NyaXB0PgorCisgICBQcmVwZW5kIDxzY3JpcHQ+IHRvIGEgbGlzdCBvZiBjb21tYW5kcyB0byBydW4gdW5jb25kaXRpb25hbGx5IHRvCisgICBjbGVhbiB1cCBiZWZvcmUgdGhlIHRlc3Qgc2NyaXB0IGV4aXRzLCBlLmcuIHRvIHN0b3AgYSBkYWVtb246CisKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IGdpdCBkYWVtb24nICcKKwkJZ2l0IGRhZW1vbiAmCisJCWRhZW1vbl9waWQ9JCEgJiYKKwkJdGVzdF9hdGV4aXQgJ2tpbGwgJGRhZW1vbl9waWQnICYmCisJCWhlbGxvIHdvcmxkCisJJworCisgICBUaGUgY29tbWFuZHMgd2lsbCBiZSBleGVjdXRlZCBiZWZvcmUgdGhlIHRyYXNoIGRpcmVjdG9yeSBpcyByZW1vdmVkLAorICAgaS5lLiB0aGUgYXRleGl0IGNvbW1hbmRzIHdpbGwgc3RpbGwgYmUgYWJsZSB0byBhY2Nlc3MgYW55IHBpZGZpbGVzIG9yCisgICBzb2NrZXQgZmlsZXMuCisKKyAgIE5vdGUgdGhhdCB0aGVzZSBjb21tYW5kcyB3aWxsIGJlIHJ1biBldmVuIHdoZW4gYSB0ZXN0IHNjcmlwdCBydW4KKyAgIHdpdGggJy0taW1tZWRpYXRlJyBmYWlscy4gIEJlIGNhcmVmdWwgd2l0aCB5b3VyIGF0ZXhpdCBjb21tYW5kcyB0bworICAgbWluaW1pemUgYW55IGNoYW5nZXMgdG8gdGhlIGZhaWxlZCBzdGF0ZS4KKwogIC0gdGVzdF93cml0ZV9saW5lcyA8bGluZXM+CiAKICAgIFdyaXRlIDxsaW5lcz4gb24gc3RhbmRhcmQgb3V0cHV0LCBvbmUgbGluZSBwZXIgYXJndW1lbnQuCkBAIC04OTIsNiArOTc0LDI0IEBACiAgICB0ZXN0X29pZF9pbml0IG9yIHRlc3Rfb2lkX2NhY2hlLiAgUHJvdmlkaW5nIGFuIHVua25vd24ga2V5IGlzIGFuCiAgICBlcnJvci4KIAorIC0geWVzIFs8c3RyaW5nPl0KKworICAgVGhpcyBpcyBvZnRlbiBzZWVuIGluIG1vZGVybiBVTklYIGJ1dCBzb21lIHBsYXRmb3JtcyBsYWNrIGl0LCBzbworICAgdGhlIHRlc3QgaGFybmVzcyBvdmVycmlkZXMgdGhlIHBsYXRmb3JtIGltcGxlbWVudGF0aW9uIHdpdGggYQorICAgbW9yZSBsaW1pdGVkIG9uZS4gIFVzZSB0aGlzIG9ubHkgd2hlbiBmZWVkaW5nIGEgaGFuZGZ1bCBsaW5lcyBvZgorICAgb3V0cHV0IHRvIHRoZSBkb3duc3RyZWFtLS0tdW5saWtlIHRoZSByZWFsIHZlcnNpb24sIGl0IGdlbmVyYXRlcworICAgb25seSB1cCB0byA5OSBsaW5lcy4KKworIC0gdGVzdF9ib29sX2VudiA8ZW52LXZhcmlhYmxlLW5hbWU+IDxkZWZhdWx0LXZhbHVlPgorCisgICBHaXZlbiB0aGUgbmFtZSBvZiBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB3aXRoIGEgYm9vbCB2YWx1ZSwKKyAgIG5vcm1hbGl6ZSBpdHMgdmFsdWUgdG8gYSAwICh0cnVlKSBvciAxIChmYWxzZSBvciBlbXB0eSBzdHJpbmcpCisgICByZXR1cm4gY29kZS4gIFJldHVybiB3aXRoIGNvZGUgY29ycmVzcG9uZGluZyB0byB0aGUgZ2l2ZW4gZGVmYXVsdAorICAgdmFsdWUgaWYgdGhlIHZhcmlhYmxlIGlzIHVuc2V0LgorICAgQWJvcnQgdGhlIHRlc3Qgc2NyaXB0IGlmIGVpdGhlciB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIG9yIHRoZQorICAgZGVmYXVsdCBhcmUgbm90IHZhbGlkIGJvb2wgdmFsdWVzLgorCisKIFByZXJlcXVpc2l0ZXMKIC0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvdC9hbm5vdGF0ZS10ZXN0cy5zaCBiL3QvYW5ub3RhdGUtdGVzdHMuc2gKaW5kZXggNmRhNDhhMi4uZDkzM2FmNSAxMDA2NDQKLS0tIGEvdC9hbm5vdGF0ZS10ZXN0cy5zaAorKysgYi90L2Fubm90YXRlLXRlc3RzLnNoCkBAIC02OCw2ICs2OCwxNCBAQAogCWNoZWNrX2NvdW50IEEgMgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSBpbiBhIGJhcmUgcmVwbyB3aXRob3V0IHN0YXJ0aW5nIGNvbW1pdCcgJworCWdpdCBjbG9uZSAtLWJhcmUgLiBiYXJlLmdpdCAmJgorCSgKKwkJY2QgYmFyZS5naXQgJiYKKwkJY2hlY2tfY291bnQgQSAyCisJKQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdibGFtZSBieSB0YWcgb2JqZWN0cycgJwogCWdpdCB0YWcgLW0gInRlc3QgdGFnIiB0ZXN0VGFnICYmCiAJZ2l0IHRhZyAtbSAidGVzdCB0YWcgIzIiIHRlc3RUYWcyIHRlc3RUYWcgJiYKZGlmZiAtLWdpdCBhL3QvY2hlY2stbm9uLXBvcnRhYmxlLXNoZWxsLnBsIGIvdC9jaGVjay1ub24tcG9ydGFibGUtc2hlbGwucGwKaW5kZXggYjQ1YmRhYy4uZmQzMzAzNSAxMDA3NTUKLS0tIGEvdC9jaGVjay1ub24tcG9ydGFibGUtc2hlbGwucGwKKysrIGIvdC9jaGVjay1ub24tcG9ydGFibGUtc2hlbGwucGwKQEAgLTI3LDE1ICsyNywxNiBAQAogCWNsb3NlICRmOwogfQogCitteSAkbGluZSA9ICcnOwogd2hpbGUgKDw+KSB7CiAJY2hvbXA7CisJJGxpbmUgLj0gJF87CiAJIyBzdGl0Y2ggdG9nZXRoZXIgaW5jb21wbGV0ZSBsaW5lcyAodGhvc2UgZW5kaW5nIHdpdGggIlwiKQotCXdoaWxlIChzL1xcJC8vKSB7Ci0JCSRfIC49IHJlYWRsaW5lOwotCQljaG9tcDsKLQl9CisJbmV4dCBpZiAkbGluZSA9fiBzL1xcJC8vOwogCi0JL1xic2VkXHMrLWkvIGFuZCBlcnIgJ3NlZCAtaSBpcyBub3QgcG9ydGFibGUnOworCSRfID0gJGxpbmU7CisJL1xiY3BccystYS8gYW5kIGVyciAnY3AgLWEgaXMgbm90IHBvcnRhYmxlJzsKKwkvXGJzZWRccystW15lZm5dXHMrLyBhbmQgZXJyICdzZWQgb3B0aW9uIG5vdCBwb3J0YWJsZSAodXNlIG9ubHkgLW4sIC1lLCAtZiknOwogCS9cYmVjaG9ccystW25lRV0vIGFuZCBlcnIgJ2VjaG8gd2l0aCBvcHRpb24gaXMgbm90IHBvcnRhYmxlICh1c2UgcHJpbnRmKSc7CiAJL15ccypkZWNsYXJlXHMrLyBhbmQgZXJyICdhcnJheXMvZGVjbGFyZSBub3QgcG9ydGFibGUnOwogCS9eXHMqW14jXVxzKndoaWNoXHMvIGFuZCBlcnIgJ3doaWNoIGlzIG5vdCBwb3J0YWJsZSAodXNlIHR5cGUpJzsKQEAgLTQ1LDggKzQ2LDkgQEAKIAkvKD86XCRcKHNlcXxeXHMqc2VxXGIpLyBhbmQgZXJyICdzZXEgaXMgbm90IHBvcnRhYmxlICh1c2UgdGVzdF9zZXEpJzsKIAkvXGJncmVwXGIuKi0tZmlsZVxiLyBhbmQgZXJyICdncmVwIC0tZmlsZSBGSUxFIGlzIG5vdCBwb3J0YWJsZSAodXNlIGdyZXAgLWYgRklMRSknOwogCS9cYmV4cG9ydFxzK1tBLVphLXowLTlfXSo9LyBhbmQgZXJyICciZXhwb3J0IEZPTz1iYXIiIGlzIG5vdCBwb3J0YWJsZSAodXNlIEZPTz1iYXIgJiYgZXhwb3J0IEZPTyknOwotCS9eXHMqKFtBLVowLTlfXSs9KFx3K3woWyInXSkuKj9cMylccyspKyhcdyspLyBhbmQgZXhpc3RzKCRmdW5jeyQ0fSkgYW5kCisJL15ccyooW0EtWjAtOV9dKz0oXHcqfChbIiddKS4qP1wzKVxzKykrKFx3KykvIGFuZCBleGlzdHMoJGZ1bmN7JDR9KSBhbmQKIAkJZXJyICciRk9PPWJhciBzaGVsbF9mdW5jIiBhc3NpZ25tZW50IGV4dGVuZHMgYmV5b25kICJzaGVsbF9mdW5jIic7CisJJGxpbmUgPSAnJzsKIAkjIHRoaXMgcmVzZXRzIG91ciAkLiBmb3IgZWFjaCBmaWxlCiAJY2xvc2UgQVJHViBpZiBlb2Y7CiB9CmRpZmYgLS1naXQgYS90L2dpdHdlYi1saWIuc2ggYi90L2dpdHdlYi1saWIuc2gKaW5kZXggMDA2ZDJhOC4uMWYzMmNhNiAxMDA2NDQKLS0tIGEvdC9naXR3ZWItbGliLnNoCisrKyBiL3QvZ2l0d2ViLWxpYi5zaApAQCAtNTgsMTAgKzU4LDExIEBACiAJR0FURVdBWV9JTlRFUkZBQ0U9J0NHSS8xLjEnCiAJSFRUUF9BQ0NFUFQ9JyovKicKIAlSRVFVRVNUX01FVEhPRD0nR0VUJwotCVFVRVJZX1NUUklORz0iIiQxIiIKLQlQQVRIX0lORk89IiIkMiIiCisJUVVFUllfU1RSSU5HPSQxCisJUEFUSF9JTkZPPSQyCisJUkVRVUVTVF9VUkk9L2dpdHdlYi5jZ2kkUEFUSF9JTkZPCiAJZXhwb3J0IEdBVEVXQVlfSU5URVJGQUNFIEhUVFBfQUNDRVBUIFJFUVVFU1RfTUVUSE9EIFwKLQkJUVVFUllfU1RSSU5HIFBBVEhfSU5GTworCQlRVUVSWV9TVFJJTkcgUEFUSF9JTkZPIFJFUVVFU1RfVVJJCiAKIAlHSVRXRUJfQ09ORklHPSQocHdkKS9naXR3ZWJfY29uZmlnLnBlcmwKIAlleHBvcnQgR0lUV0VCX0NPTkZJRwpkaWZmIC0tZ2l0IGEvdC9oZWxwZXIvLmdpdGlnbm9yZSBiL3QvaGVscGVyLy5naXRpZ25vcmUKaW5kZXggMmJhZDI4YS4uNDhjN2JiMGJiIDEwMDY0NAotLS0gYS90L2hlbHBlci8uZ2l0aWdub3JlCisrKyBiL3QvaGVscGVyLy5naXRpZ25vcmUKQEAgLTEsNSArMSw0IEBACi0qCi0hKi5zaAotISouW2NoXQotISouZ2l0aWdub3JlCi0KKy90ZXN0LXRvb2wKKy90ZXN0LWZha2Utc3NoCisvdGVzdC1saW5lLWJ1ZmZlcgorL3Rlc3Qtc3ZuLWZlCmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LWNvbmZpZy5jIGIvdC9oZWxwZXIvdGVzdC1jb25maWcuYwppbmRleCAyMTQwMDNkLi4yMzRjNzIyIDEwMDY0NAotLS0gYS90L2hlbHBlci90ZXN0LWNvbmZpZy5jCisrKyBiL3QvaGVscGVyL3Rlc3QtY29uZmlnLmMKQEAgLTM3LDIxICszNyw2IEBACiAgKgogICovCiAKLXN0YXRpYyBjb25zdCBjaGFyICpzY29wZV9uYW1lKGVudW0gY29uZmlnX3Njb3BlIHNjb3BlKQotewotCXN3aXRjaCAoc2NvcGUpIHsKLQljYXNlIENPTkZJR19TQ09QRV9TWVNURU06Ci0JCXJldHVybiAic3lzdGVtIjsKLQljYXNlIENPTkZJR19TQ09QRV9HTE9CQUw6Ci0JCXJldHVybiAiZ2xvYmFsIjsKLQljYXNlIENPTkZJR19TQ09QRV9SRVBPOgotCQlyZXR1cm4gInJlcG8iOwotCWNhc2UgQ09ORklHX1NDT1BFX0NNRExJTkU6Ci0JCXJldHVybiAiY21kbGluZSI7Ci0JZGVmYXVsdDoKLQkJcmV0dXJuICJ1bmtub3duIjsKLQl9Ci19CiBzdGF0aWMgaW50IGl0ZXJhdGVfY2IoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqZGF0YSkKIHsKIAlzdGF0aWMgaW50IG5yOwpAQCAtNjMsNyArNDgsOCBAQAogCXByaW50ZigidmFsdWU9JXNcbiIsIHZhbHVlID8gdmFsdWUgOiAiKG51bGwpIik7CiAJcHJpbnRmKCJvcmlnaW49JXNcbiIsIGN1cnJlbnRfY29uZmlnX29yaWdpbl90eXBlKCkpOwogCXByaW50ZigibmFtZT0lc1xuIiwgY3VycmVudF9jb25maWdfbmFtZSgpKTsKLQlwcmludGYoInNjb3BlPSVzXG4iLCBzY29wZV9uYW1lKGN1cnJlbnRfY29uZmlnX3Njb3BlKCkpKTsKKwlwcmludGYoImxubz0lZFxuIiwgY3VycmVudF9jb25maWdfbGluZSgpKTsKKwlwcmludGYoInNjb3BlPSVzXG4iLCBjb25maWdfc2NvcGVfbmFtZShjdXJyZW50X2NvbmZpZ19zY29wZSgpKSk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtZGF0ZS5jIGIvdC9oZWxwZXIvdGVzdC1kYXRlLmMKaW5kZXggYTA4MzczNy4uMDk5ZWZmNCAxMDA2NDQKLS0tIGEvdC9oZWxwZXIvdGVzdC1kYXRlLmMKKysrIGIvdC9oZWxwZXIvdGVzdC1kYXRlLmMKQEAgLTMsMjUgKzMsMzUgQEAKIAogc3RhdGljIGNvbnN0IGNoYXIgKnVzYWdlX21zZyA9ICJcbiIKICIgIHRlc3QtdG9vbCBkYXRlIHJlbGF0aXZlIFt0aW1lX3RdLi4uXG4iCisiICB0ZXN0LXRvb2wgZGF0ZSBodW1hbiBbdGltZV90XS4uLlxuIgogIiAgdGVzdC10b29sIGRhdGUgc2hvdzo8Zm9ybWF0PiBbdGltZV90XS4uLlxuIgogIiAgdGVzdC10b29sIGRhdGUgcGFyc2UgW2RhdGVdLi4uXG4iCiAiICB0ZXN0LXRvb2wgZGF0ZSBhcHByb3hpZGF0ZSBbZGF0ZV0uLi5cbiIKICIgIHRlc3QtdG9vbCBkYXRlIHRpbWVzdGFtcCBbZGF0ZV0uLi5cbiIKKyIgIHRlc3QtdG9vbCBkYXRlIGdldG5hbm9zIFtzdGFydC1uYW5vc11cbiIKICIgIHRlc3QtdG9vbCBkYXRlIGlzNjRiaXRcbiIKICIgIHRlc3QtdG9vbCBkYXRlIHRpbWVfdC1pczY0Yml0XG4iOwogCi1zdGF0aWMgdm9pZCBzaG93X3JlbGF0aXZlX2RhdGVzKGNvbnN0IGNoYXIgKiphcmd2LCBzdHJ1Y3QgdGltZXZhbCAqbm93KQorc3RhdGljIHZvaWQgc2hvd19yZWxhdGl2ZV9kYXRlcyhjb25zdCBjaGFyICoqYXJndikKIHsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1ZiA9IFNUUkJVRl9JTklUOwogCiAJZm9yICg7ICphcmd2OyBhcmd2KyspIHsKIAkJdGltZV90IHQgPSBhdG9pKCphcmd2KTsKLQkJc2hvd19kYXRlX3JlbGF0aXZlKHQsIDAsIG5vdywgJmJ1Zik7CisJCXNob3dfZGF0ZV9yZWxhdGl2ZSh0LCAmYnVmKTsKIAkJcHJpbnRmKCIlcyAtPiAlc1xuIiwgKmFyZ3YsIGJ1Zi5idWYpOwogCX0KIAlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIH0KIAorc3RhdGljIHZvaWQgc2hvd19odW1hbl9kYXRlcyhjb25zdCBjaGFyICoqYXJndikKK3sKKwlmb3IgKDsgKmFyZ3Y7IGFyZ3YrKykgeworCQl0aW1lX3QgdCA9IGF0b2koKmFyZ3YpOworCQlwcmludGYoIiVzIC0+ICVzXG4iLCAqYXJndiwgc2hvd19kYXRlKHQsIDAsIERBVEVfTU9ERShIVU1BTikpKTsKKwl9Cit9CisKIHN0YXRpYyB2b2lkIHNob3dfZGF0ZXMoY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKmZvcm1hdCkKIHsKIAlzdHJ1Y3QgZGF0ZV9tb2RlIG1vZGU7CkBAIC00NSw3ICs1NSw3IEBACiAJfQogfQogCi1zdGF0aWMgdm9pZCBwYXJzZV9kYXRlcyhjb25zdCBjaGFyICoqYXJndiwgc3RydWN0IHRpbWV2YWwgKm5vdykKK3N0YXRpYyB2b2lkIHBhcnNlX2RhdGVzKGNvbnN0IGNoYXIgKiphcmd2KQogewogCXN0cnVjdCBzdHJidWYgcmVzdWx0ID0gU1RSQlVGX0lOSVQ7CiAKQEAgLTY0LDUwICs3NCw1NCBAQAogCXN0cmJ1Zl9yZWxlYXNlKCZyZXN1bHQpOwogfQogCi1zdGF0aWMgdm9pZCBwYXJzZV9hcHByb3hpZGF0ZShjb25zdCBjaGFyICoqYXJndiwgc3RydWN0IHRpbWV2YWwgKm5vdykKK3N0YXRpYyB2b2lkIHBhcnNlX2FwcHJveGlkYXRlKGNvbnN0IGNoYXIgKiphcmd2KQogewogCWZvciAoOyAqYXJndjsgYXJndisrKSB7CiAJCXRpbWVzdGFtcF90IHQ7Ci0JCXQgPSBhcHByb3hpZGF0ZV9yZWxhdGl2ZSgqYXJndiwgbm93KTsKKwkJdCA9IGFwcHJveGlkYXRlX3JlbGF0aXZlKCphcmd2KTsKIAkJcHJpbnRmKCIlcyAtPiAlc1xuIiwgKmFyZ3YsIHNob3dfZGF0ZSh0LCAwLCBEQVRFX01PREUoSVNPODYwMSkpKTsKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIHBhcnNlX2FwcHJveF90aW1lc3RhbXAoY29uc3QgY2hhciAqKmFyZ3YsIHN0cnVjdCB0aW1ldmFsICpub3cpCitzdGF0aWMgdm9pZCBwYXJzZV9hcHByb3hfdGltZXN0YW1wKGNvbnN0IGNoYXIgKiphcmd2KQogewogCWZvciAoOyAqYXJndjsgYXJndisrKSB7CiAJCXRpbWVzdGFtcF90IHQ7Ci0JCXQgPSBhcHByb3hpZGF0ZV9yZWxhdGl2ZSgqYXJndiwgbm93KTsKKwkJdCA9IGFwcHJveGlkYXRlX3JlbGF0aXZlKCphcmd2KTsKIAkJcHJpbnRmKCIlcyAtPiAlIlBSSXRpbWUiXG4iLCAqYXJndiwgdCk7CiAJfQogfQogCitzdGF0aWMgdm9pZCBnZXRuYW5vcyhjb25zdCBjaGFyICoqYXJndikKK3sKKwlkb3VibGUgc2Vjb25kcyA9IGdldG5hbm90aW1lKCkgLyAxLjBlOTsKKworCWlmICgqYXJndikKKwkJc2Vjb25kcyAtPSBzdHJ0b2QoKmFyZ3YsIE5VTEwpOworCXByaW50ZigiJWxmXG4iLCBzZWNvbmRzKTsKK30KKwogaW50IGNtZF9fZGF0ZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCiB7Ci0Jc3RydWN0IHRpbWV2YWwgbm93OwogCWNvbnN0IGNoYXIgKng7CiAKLQl4ID0gZ2V0ZW52KCJURVNUX0RBVEVfTk9XIik7Ci0JaWYgKHgpIHsKLQkJbm93LnR2X3NlYyA9IGF0b2koeCk7Ci0JCW5vdy50dl91c2VjID0gMDsKLQl9Ci0JZWxzZQotCQlnZXR0aW1lb2ZkYXkoJm5vdywgTlVMTCk7Ci0KIAlhcmd2Kys7CiAJaWYgKCEqYXJndikKIAkJdXNhZ2UodXNhZ2VfbXNnKTsKIAlpZiAoIXN0cmNtcCgqYXJndiwgInJlbGF0aXZlIikpCi0JCXNob3dfcmVsYXRpdmVfZGF0ZXMoYXJndisxLCAmbm93KTsKKwkJc2hvd19yZWxhdGl2ZV9kYXRlcyhhcmd2KzEpOworCWVsc2UgaWYgKCFzdHJjbXAoKmFyZ3YsICJodW1hbiIpKQorCQlzaG93X2h1bWFuX2RhdGVzKGFyZ3YrMSk7CiAJZWxzZSBpZiAoc2tpcF9wcmVmaXgoKmFyZ3YsICJzaG93OiIsICZ4KSkKIAkJc2hvd19kYXRlcyhhcmd2KzEsIHgpOwogCWVsc2UgaWYgKCFzdHJjbXAoKmFyZ3YsICJwYXJzZSIpKQotCQlwYXJzZV9kYXRlcyhhcmd2KzEsICZub3cpOworCQlwYXJzZV9kYXRlcyhhcmd2KzEpOwogCWVsc2UgaWYgKCFzdHJjbXAoKmFyZ3YsICJhcHByb3hpZGF0ZSIpKQotCQlwYXJzZV9hcHByb3hpZGF0ZShhcmd2KzEsICZub3cpOworCQlwYXJzZV9hcHByb3hpZGF0ZShhcmd2KzEpOwogCWVsc2UgaWYgKCFzdHJjbXAoKmFyZ3YsICJ0aW1lc3RhbXAiKSkKLQkJcGFyc2VfYXBwcm94X3RpbWVzdGFtcChhcmd2KzEsICZub3cpOworCQlwYXJzZV9hcHByb3hfdGltZXN0YW1wKGFyZ3YrMSk7CisJZWxzZSBpZiAoIXN0cmNtcCgqYXJndiwgImdldG5hbm9zIikpCisJCWdldG5hbm9zKGFyZ3YrMSk7CiAJZWxzZSBpZiAoIXN0cmNtcCgqYXJndiwgImlzNjRiaXQiKSkKIAkJcmV0dXJuIHNpemVvZih0aW1lc3RhbXBfdCkgPT0gOCA/IDAgOiAxOwogCWVsc2UgaWYgKCFzdHJjbXAoKmFyZ3YsICJ0aW1lX3QtaXM2NGJpdCIpKQpkaWZmIC0tZ2l0IGEvdC9oZWxwZXIvdGVzdC1kaXItaXRlcmF0b3IuYyBiL3QvaGVscGVyL3Rlc3QtZGlyLWl0ZXJhdG9yLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU5YjZiZgotLS0gL2Rldi9udWxsCisrKyBiL3QvaGVscGVyL3Rlc3QtZGlyLWl0ZXJhdG9yLmMKQEAgLTAsMCArMSw2NSBAQAorI2luY2x1ZGUgInRlc3QtdG9vbC5oIgorI2luY2x1ZGUgImdpdC1jb21wYXQtdXRpbC5oIgorI2luY2x1ZGUgInN0cmJ1Zi5oIgorI2luY2x1ZGUgIml0ZXJhdG9yLmgiCisjaW5jbHVkZSAiZGlyLWl0ZXJhdG9yLmgiCisKK3N0YXRpYyBjb25zdCBjaGFyICplcnJvcl9uYW1lKGludCBlcnJvcl9udW1iZXIpCit7CisJc3dpdGNoIChlcnJvcl9udW1iZXIpIHsKKwljYXNlIEVOT0VOVDogcmV0dXJuICJFTk9FTlQiOworCWNhc2UgRU5PVERJUjogcmV0dXJuICJFTk9URElSIjsKKwlkZWZhdWx0OiByZXR1cm4gIkVTT01FVEhJTkdFTFNFIjsKKwl9Cit9CisKKy8qCisgKiB1c2FnZToKKyAqIHRvb2wtdGVzdCBkaXItaXRlcmF0b3IgWy0tZm9sbG93LXN5bWxpbmtzXSBbLS1wZWRhbnRpY10gZGlyZWN0b3J5X3BhdGgKKyAqLworaW50IGNtZF9fZGlyX2l0ZXJhdG9yKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgZGlyX2l0ZXJhdG9yICpkaXRlcjsKKwl1bnNpZ25lZCBpbnQgZmxhZ3MgPSAwOworCWludCBpdGVyX3N0YXR1czsKKworCWZvciAoKythcmd2LCAtLWFyZ2M7ICphcmd2ICYmIHN0YXJ0c193aXRoKCphcmd2LCAiLS0iKTsgKythcmd2LCAtLWFyZ2MpIHsKKwkJaWYgKHN0cmNtcCgqYXJndiwgIi0tZm9sbG93LXN5bWxpbmtzIikgPT0gMCkKKwkJCWZsYWdzIHw9IERJUl9JVEVSQVRPUl9GT0xMT1dfU1lNTElOS1M7CisJCWVsc2UgaWYgKHN0cmNtcCgqYXJndiwgIi0tcGVkYW50aWMiKSA9PSAwKQorCQkJZmxhZ3MgfD0gRElSX0lURVJBVE9SX1BFREFOVElDOworCQllbHNlCisJCQlkaWUoImludmFsaWQgb3B0aW9uICclcyciLCAqYXJndik7CisJfQorCisJaWYgKCEqYXJndiB8fCBhcmdjICE9IDEpCisJCWRpZSgiZGlyLWl0ZXJhdG9yIG5lZWRzIGV4YWN0bHkgb25lIG5vbi1vcHRpb24gYXJndW1lbnQiKTsKKworCWRpdGVyID0gZGlyX2l0ZXJhdG9yX2JlZ2luKCphcmd2LCBmbGFncyk7CisKKwlpZiAoIWRpdGVyKSB7CisJCXByaW50ZigiZGlyX2l0ZXJhdG9yX2JlZ2luIGZhaWx1cmU6ICVzXG4iLCBlcnJvcl9uYW1lKGVycm5vKSk7CisJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwl3aGlsZSAoKGl0ZXJfc3RhdHVzID0gZGlyX2l0ZXJhdG9yX2FkdmFuY2UoZGl0ZXIpKSA9PSBJVEVSX09LKSB7CisJCWlmIChTX0lTRElSKGRpdGVyLT5zdC5zdF9tb2RlKSkKKwkJCXByaW50ZigiW2RdICIpOworCQllbHNlIGlmIChTX0lTUkVHKGRpdGVyLT5zdC5zdF9tb2RlKSkKKwkJCXByaW50ZigiW2ZdICIpOworCQllbHNlIGlmIChTX0lTTE5LKGRpdGVyLT5zdC5zdF9tb2RlKSkKKwkJCXByaW50ZigiW3NdICIpOworCQllbHNlCisJCQlwcmludGYoIls/XSAiKTsKKworCQlwcmludGYoIiglcykgWyVzXSAlc1xuIiwgZGl0ZXItPnJlbGF0aXZlX3BhdGgsIGRpdGVyLT5iYXNlbmFtZSwKKwkJICAgICAgIGRpdGVyLT5wYXRoLmJ1Zik7CisJfQorCisJaWYgKGl0ZXJfc3RhdHVzICE9IElURVJfRE9ORSkgeworCQlwcmludGYoImRpcl9pdGVyYXRvcl9hZHZhbmNlIGZhaWx1cmVcbiIpOworCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtZHVtcC1mc21vbml0b3IuYyBiL3QvaGVscGVyL3Rlc3QtZHVtcC1mc21vbml0b3IuYwppbmRleCAwOGUzNjg0Li45NzVmMGFjIDEwMDY0NAotLS0gYS90L2hlbHBlci90ZXN0LWR1bXAtZnNtb25pdG9yLmMKKysrIGIvdC9oZWxwZXIvdGVzdC1kdW1wLWZzbW9uaXRvci5jCkBAIC0zLDE3ICszLDE3IEBACiAKIGludCBjbWRfX2R1bXBfZnNtb25pdG9yKGludCBhYywgY29uc3QgY2hhciAqKmF2KQogewotCXN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlID0gJnRoZV9pbmRleDsKKwlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSA9IHRoZV9yZXBvc2l0b3J5LT5pbmRleDsKIAlpbnQgaTsKIAogCXNldHVwX2dpdF9kaXJlY3RvcnkoKTsKLQlpZiAoZG9fcmVhZF9pbmRleChpc3RhdGUsIGdldF9pbmRleF9maWxlKCksIDApIDwgMCkKKwlpZiAoZG9fcmVhZF9pbmRleChpc3RhdGUsIHRoZV9yZXBvc2l0b3J5LT5pbmRleF9maWxlLCAwKSA8IDApCiAJCWRpZSgidW5hYmxlIHRvIHJlYWQgaW5kZXggZmlsZSIpOwogCWlmICghaXN0YXRlLT5mc21vbml0b3JfbGFzdF91cGRhdGUpIHsKIAkJcHJpbnRmKCJubyBmc21vbml0b3JcbiIpOwogCQlyZXR1cm4gMDsKIAl9Ci0JcHJpbnRmKCJmc21vbml0b3IgbGFzdCB1cGRhdGUgJSJQUkl1TUFYIlxuIiwgKHVpbnRtYXhfdClpc3RhdGUtPmZzbW9uaXRvcl9sYXN0X3VwZGF0ZSk7CisJcHJpbnRmKCJmc21vbml0b3IgbGFzdCB1cGRhdGUgJXNcbiIsIGlzdGF0ZS0+ZnNtb25pdG9yX2xhc3RfdXBkYXRlKTsKIAogCWZvciAoaSA9IDA7IGkgPCBpc3RhdGUtPmNhY2hlX25yOyBpKyspCiAJCXByaW50ZigoaXN0YXRlLT5jYWNoZVtpXS0+Y2VfZmxhZ3MgJiBDRV9GU01PTklUT1JfVkFMSUQpID8gIisiIDogIi0iKTsKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtZHVtcC11bnRyYWNrZWQtY2FjaGUuYyBiL3QvaGVscGVyL3Rlc3QtZHVtcC11bnRyYWNrZWQtY2FjaGUuYwppbmRleCA1Mjg3MGViLi5jZjBmMmM3IDEwMDY0NAotLS0gYS90L2hlbHBlci90ZXN0LWR1bXAtdW50cmFja2VkLWNhY2hlLmMKKysrIGIvdC9oZWxwZXIvdGVzdC1kdW1wLXVudHJhY2tlZC1jYWNoZS5jCkBAIC0xLDMgKzEsNCBAQAorI2RlZmluZSBVU0VfVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAidGVzdC10b29sLmgiCiAjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJkaXIuaCIKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtZXhhbXBsZS1kZWNvcmF0ZS5jIGIvdC9oZWxwZXIvdGVzdC1leGFtcGxlLWRlY29yYXRlLmMKaW5kZXggYTIwYTYxNi4uYzhhMWNkZSAxMDA2NDQKLS0tIGEvdC9oZWxwZXIvdGVzdC1leGFtcGxlLWRlY29yYXRlLmMKKysrIGIvdC9oZWxwZXIvdGVzdC1leGFtcGxlLWRlY29yYXRlLmMKQEAgLTI2LDggKzI2LDggQEAKIAkgKiBBZGQgMiBvYmplY3RzLCBvbmUgd2l0aCBhIG5vbi1OVUxMIGRlY29yYXRpb24gYW5kIG9uZSB3aXRoIGEgTlVMTAogCSAqIGRlY29yYXRpb24uCiAJICovCi0Jb25lID0gbG9va3VwX3Vua25vd25fb2JqZWN0KG9uZV9vaWQuaGFzaCk7Ci0JdHdvID0gbG9va3VwX3Vua25vd25fb2JqZWN0KHR3b19vaWQuaGFzaCk7CisJb25lID0gbG9va3VwX3Vua25vd25fb2JqZWN0KCZvbmVfb2lkKTsKKwl0d28gPSBsb29rdXBfdW5rbm93bl9vYmplY3QoJnR3b19vaWQpOwogCXJldCA9IGFkZF9kZWNvcmF0aW9uKCZuLCBvbmUsICZkZWNvcmF0aW9uX2EpOwogCWlmIChyZXQpCiAJCUJVRygid2hlbiBhZGRpbmcgYSBicmFuZC1uZXcgb2JqZWN0LCBOVUxMIHNob3VsZCBiZSByZXR1cm5lZCIpOwpAQCAtNTYsNyArNTYsNyBAQAogCXJldCA9IGxvb2t1cF9kZWNvcmF0aW9uKCZuLCB0d28pOwogCWlmIChyZXQgIT0gJmRlY29yYXRpb25fYikKIAkJQlVHKCJsb29rdXAgc2hvdWxkIHJldHVybiBhZGRlZCBkZWNsYXJhdGlvbiIpOwotCXRocmVlID0gbG9va3VwX3Vua25vd25fb2JqZWN0KHRocmVlX29pZC5oYXNoKTsKKwl0aHJlZSA9IGxvb2t1cF91bmtub3duX29iamVjdCgmdGhyZWVfb2lkKTsKIAlyZXQgPSBsb29rdXBfZGVjb3JhdGlvbigmbiwgdGhyZWUpOwogCWlmIChyZXQpCiAJCUJVRygibG9va3VwIGZvciB1bmtub3duIG9iamVjdCBzaG91bGQgcmV0dXJuIE5VTEwiKTsKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtZ2VuemVyb3MuYyBiL3QvaGVscGVyL3Rlc3QtZ2VuemVyb3MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTMyZjViCi0tLSAvZGV2L251bGwKKysrIGIvdC9oZWxwZXIvdGVzdC1nZW56ZXJvcy5jCkBAIC0wLDAgKzEsMjEgQEAKKyNpbmNsdWRlICJ0ZXN0LXRvb2wuaCIKKyNpbmNsdWRlICJnaXQtY29tcGF0LXV0aWwuaCIKKworaW50IGNtZF9fZ2VuemVyb3MoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCWxvbmcgY291bnQ7CisKKwlpZiAoYXJnYyA+IDIpIHsKKwkJZnByaW50ZihzdGRlcnIsICJ1c2FnZTogJXMgWzxjb3VudD5dXG4iLCBhcmd2WzBdKTsKKwkJcmV0dXJuIDE7CisJfQorCisJY291bnQgPSBhcmdjID4gMSA/IHN0cnRvbChhcmd2WzFdLCBOVUxMLCAwKSA6IC0xTDsKKworCXdoaWxlIChjb3VudCA8IDAgfHwgY291bnQtLSkgeworCQlpZiAocHV0Y2hhcigwKSA9PSBFT0YpCisJCQlyZXR1cm4gLTE7CisJfQorCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LWhhc2gtc3BlZWQuYyBiL3QvaGVscGVyL3Rlc3QtaGFzaC1zcGVlZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzMjIzM2MKLS0tIC9kZXYvbnVsbAorKysgYi90L2hlbHBlci90ZXN0LWhhc2gtc3BlZWQuYwpAQCAtMCwwICsxLDYxIEBACisjaW5jbHVkZSAidGVzdC10b29sLmgiCisjaW5jbHVkZSAiY2FjaGUuaCIKKworI2RlZmluZSBOVU1fU0VDT05EUyAzCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBjb21wdXRlX2hhc2goY29uc3Qgc3RydWN0IGdpdF9oYXNoX2FsZ28gKmFsZ28sIGdpdF9oYXNoX2N0eCAqY3R4LCB1aW50OF90ICpmaW5hbCwgY29uc3Qgdm9pZCAqcCwgc2l6ZV90IGxlbikKK3sKKwlhbGdvLT5pbml0X2ZuKGN0eCk7CisJYWxnby0+dXBkYXRlX2ZuKGN0eCwgcCwgbGVuKTsKKwlhbGdvLT5maW5hbF9mbihmaW5hbCwgY3R4KTsKK30KKworaW50IGNtZF9faGFzaF9zcGVlZChpbnQgYWMsIGNvbnN0IGNoYXIgKiphdikKK3sKKwlnaXRfaGFzaF9jdHggY3R4OworCXVuc2lnbmVkIGNoYXIgaGFzaFtHSVRfTUFYX1JBV1NaXTsKKwljbG9ja190IGluaXRpYWwsIHN0YXJ0LCBlbmQ7CisJdW5zaWduZWQgYnVmc2l6ZXNbXSA9IHsgNjQsIDI1NiwgMTAyNCwgODE5MiwgMTYzODQgfTsKKwlpbnQgaTsKKwl2b2lkICpwOworCWNvbnN0IHN0cnVjdCBnaXRfaGFzaF9hbGdvICphbGdvID0gTlVMTDsKKworCWlmIChhYyA9PSAyKSB7CisJCWZvciAoaSA9IDE7IGkgPCBHSVRfSEFTSF9OQUxHT1M7IGkrKykgeworCQkJaWYgKCFzdHJjbXAoYXZbMV0sIGhhc2hfYWxnb3NbaV0ubmFtZSkpIHsKKwkJCQlhbGdvID0gJmhhc2hfYWxnb3NbaV07CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisJaWYgKCFhbGdvKQorCQlkaWUoInVzYWdlOiB0ZXN0LXRvb2wgaGFzaC1zcGVlZCBhbGdvX25hbWUiKTsKKworCS8qIFVzZSB0aGlzIGFzIGFuIG9mZnNldCB0byBtYWtlIG92ZXJmbG93IGxlc3MgbGlrZWx5LiAqLworCWluaXRpYWwgPSBjbG9jaygpOworCisJcHJpbnRmKCJhbGdvOiAlc1xuIiwgYWxnby0+bmFtZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShidWZzaXplcyk7IGkrKykgeworCQl1bnNpZ25lZCBsb25nIGosIGtiOworCQlkb3VibGUga2JfcGVyX3NlYzsKKwkJcCA9IHhjYWxsb2MoMSwgYnVmc2l6ZXNbaV0pOworCQlzdGFydCA9IGVuZCA9IGNsb2NrKCkgLSBpbml0aWFsOworCQlmb3IgKGogPSAwOyAoKGVuZCAtIHN0YXJ0KSAvIENMT0NLU19QRVJfU0VDKSA8IE5VTV9TRUNPTkRTOyBqKyspIHsKKwkJCWNvbXB1dGVfaGFzaChhbGdvLCAmY3R4LCBoYXNoLCBwLCBidWZzaXplc1tpXSk7CisKKwkJCS8qCisJCQkgKiBPbmx5IGNoZWNrIGVsYXBzZWQgdGltZSBldmVyeSAxMjggaXRlcmF0aW9ucyB0byBhdm9pZAorCQkJICogZG9taW5hdGluZyB0aGUgcnVudGltZSB3aXRoIHN5c3RlbSBjYWxscy4KKwkJCSAqLworCQkJaWYgKCEoaiAmIDEyNykpCisJCQkJZW5kID0gY2xvY2soKSAtIGluaXRpYWw7CisJCX0KKwkJa2IgPSBqICogYnVmc2l6ZXNbaV07CisJCWtiX3Blcl9zZWMgPSBrYiAvICgxMDI0ICogKChkb3VibGUpZW5kIC0gc3RhcnQpIC8gQ0xPQ0tTX1BFUl9TRUMpOworCQlwcmludGYoInNpemUgJXU6ICVsdSBpdGVyczsgJWx1IEtpQjsgJTAuMmYgS2lCL3NcbiIsIGJ1ZnNpemVzW2ldLCBqLCBrYiwga2JfcGVyX3NlYyk7CisJCWZyZWUocCk7CisJfQorCisJZXhpdCgwKTsKK30KZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtaGFzaC5jIGIvdC9oZWxwZXIvdGVzdC1oYXNoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGEzMWRlNgotLS0gL2Rldi9udWxsCisrKyBiL3QvaGVscGVyL3Rlc3QtaGFzaC5jCkBAIC0wLDAgKzEsNTggQEAKKyNpbmNsdWRlICJ0ZXN0LXRvb2wuaCIKKyNpbmNsdWRlICJjYWNoZS5oIgorCitpbnQgY21kX2hhc2hfaW1wbChpbnQgYWMsIGNvbnN0IGNoYXIgKiphdiwgaW50IGFsZ28pCit7CisJZ2l0X2hhc2hfY3R4IGN0eDsKKwl1bnNpZ25lZCBjaGFyIGhhc2hbR0lUX01BWF9IRVhTWl07CisJdW5zaWduZWQgYnVmc3ogPSA4MTkyOworCWludCBiaW5hcnkgPSAwOworCWNoYXIgKmJ1ZmZlcjsKKwljb25zdCBzdHJ1Y3QgZ2l0X2hhc2hfYWxnbyAqYWxnb3AgPSAmaGFzaF9hbGdvc1thbGdvXTsKKworCWlmIChhYyA9PSAyKSB7CisJCWlmICghc3RyY21wKGF2WzFdLCAiLWIiKSkKKwkJCWJpbmFyeSA9IDE7CisJCWVsc2UKKwkJCWJ1ZnN6ID0gc3RydG91bChhdlsxXSwgTlVMTCwgMTApICogMTAyNCAqIDEwMjQ7CisJfQorCisJaWYgKCFidWZzeikKKwkJYnVmc3ogPSA4MTkyOworCisJd2hpbGUgKChidWZmZXIgPSBtYWxsb2MoYnVmc3opKSA9PSBOVUxMKSB7CisJCWZwcmludGYoc3RkZXJyLCAiYnVmc3ogJXUgaXMgdG9vIGJpZywgaGFsdmluZy4uLlxuIiwgYnVmc3opOworCQlidWZzeiAvPSAyOworCQlpZiAoYnVmc3ogPCAxMDI0KQorCQkJZGllKCJPT1BTIik7CisJfQorCisJYWxnb3AtPmluaXRfZm4oJmN0eCk7CisKKwl3aGlsZSAoMSkgeworCQlzc2l6ZV90IHN6LCB0aGlzX3N6OworCQljaGFyICpjcCA9IGJ1ZmZlcjsKKwkJdW5zaWduZWQgcm9vbSA9IGJ1ZnN6OworCQl0aGlzX3N6ID0gMDsKKwkJd2hpbGUgKHJvb20pIHsKKwkJCXN6ID0geHJlYWQoMCwgY3AsIHJvb20pOworCQkJaWYgKHN6ID09IDApCisJCQkJYnJlYWs7CisJCQlpZiAoc3ogPCAwKQorCQkJCWRpZV9lcnJubygidGVzdC1oYXNoIik7CisJCQl0aGlzX3N6ICs9IHN6OworCQkJY3AgKz0gc3o7CisJCQlyb29tIC09IHN6OworCQl9CisJCWlmICh0aGlzX3N6ID09IDApCisJCQlicmVhazsKKwkJYWxnb3AtPnVwZGF0ZV9mbigmY3R4LCBidWZmZXIsIHRoaXNfc3opOworCX0KKwlhbGdvcC0+ZmluYWxfZm4oaGFzaCwgJmN0eCk7CisKKwlpZiAoYmluYXJ5KQorCQlmd3JpdGUoaGFzaCwgMSwgYWxnb3AtPnJhd3N6LCBzdGRvdXQpOworCWVsc2UKKwkJcHV0cyhoYXNoX3RvX2hleF9hbGdvcChoYXNoLCBhbGdvcCkpOworCWV4aXQoMCk7Cit9CmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LWhhc2htYXAuYyBiL3QvaGVscGVyL3Rlc3QtaGFzaG1hcC5jCmluZGV4IDIzZDJiMTcuLmYzODcwNjIgMTAwNjQ0Ci0tLSBhL3QvaGVscGVyL3Rlc3QtaGFzaG1hcC5jCisrKyBiL3QvaGVscGVyL3Rlc3QtaGFzaG1hcC5jCkBAIC01LDYgKzUsNyBAQAogCiBzdHJ1Y3QgdGVzdF9lbnRyeQogeworCWludCBwYWRkaW5nOyAvKiBoYXNobWFwIGVudHJ5IG5vIGxvbmdlciBuZWVkcyB0byBiZSB0aGUgZmlyc3QgbWVtYmVyICovCiAJc3RydWN0IGhhc2htYXBfZW50cnkgZW50OwogCS8qIGtleSBhbmQgdmFsdWUgYXMgdHdvIFwwLXRlcm1pbmF0ZWQgc3RyaW5ncyAqLwogCWNoYXIga2V5W0ZMRVhfQVJSQVldOwpAQCAtMTYsMTUgKzE3LDE3IEBACiB9CiAKIHN0YXRpYyBpbnQgdGVzdF9lbnRyeV9jbXAoY29uc3Qgdm9pZCAqY21wX2RhdGEsCi0JCQkgIGNvbnN0IHZvaWQgKmVudHJ5LAotCQkJICBjb25zdCB2b2lkICplbnRyeV9vcl9rZXksCisJCQkgIGNvbnN0IHN0cnVjdCBoYXNobWFwX2VudHJ5ICplcHRyLAorCQkJICBjb25zdCBzdHJ1Y3QgaGFzaG1hcF9lbnRyeSAqZW50cnlfb3Jfa2V5LAogCQkJICBjb25zdCB2b2lkICprZXlkYXRhKQogewogCWNvbnN0IGludCBpZ25vcmVfY2FzZSA9IGNtcF9kYXRhID8gKigoaW50ICopY21wX2RhdGEpIDogMDsKLQljb25zdCBzdHJ1Y3QgdGVzdF9lbnRyeSAqZTEgPSBlbnRyeTsKLQljb25zdCBzdHJ1Y3QgdGVzdF9lbnRyeSAqZTIgPSBlbnRyeV9vcl9rZXk7CisJY29uc3Qgc3RydWN0IHRlc3RfZW50cnkgKmUxLCAqZTI7CiAJY29uc3QgY2hhciAqa2V5ID0ga2V5ZGF0YTsKIAorCWUxID0gY29udGFpbmVyX29mKGVwdHIsIGNvbnN0IHN0cnVjdCB0ZXN0X2VudHJ5LCBlbnQpOworCWUyID0gY29udGFpbmVyX29mKGVudHJ5X29yX2tleSwgY29uc3Qgc3RydWN0IHRlc3RfZW50cnksIGVudCk7CisKIAlpZiAoaWdub3JlX2Nhc2UpCiAJCXJldHVybiBzdHJjYXNlY21wKGUxLT5rZXksIGtleSA/IGtleSA6IGUyLT5rZXkpOwogCWVsc2UKQEAgLTM3LDcgKzQwLDcgQEAKIAlzaXplX3Qga2xlbiA9IHN0cmxlbihrZXkpOwogCXNpemVfdCB2bGVuID0gc3RybGVuKHZhbHVlKTsKIAlzdHJ1Y3QgdGVzdF9lbnRyeSAqZW50cnkgPSB4bWFsbG9jKHN0X2FkZDQoc2l6ZW9mKCplbnRyeSksIGtsZW4sIHZsZW4sIDIpKTsKLQloYXNobWFwX2VudHJ5X2luaXQoZW50cnksIGhhc2gpOworCWhhc2htYXBfZW50cnlfaW5pdCgmZW50cnktPmVudCwgaGFzaCk7CiAJbWVtY3B5KGVudHJ5LT5rZXksIGtleSwga2xlbiArIDEpOwogCW1lbWNweShlbnRyeS0+a2V5ICsga2xlbiArIDEsIHZhbHVlLCB2bGVuICsgMSk7CiAJcmV0dXJuIGVudHJ5OwpAQCAtMTAzLDExICsxMDYsMTEgQEAKIAogCQkJLyogYWRkIGVudHJpZXMgKi8KIAkJCWZvciAoaSA9IDA7IGkgPCBURVNUX1NJWkU7IGkrKykgewotCQkJCWhhc2htYXBfZW50cnlfaW5pdChlbnRyaWVzW2ldLCBoYXNoZXNbaV0pOwotCQkJCWhhc2htYXBfYWRkKCZtYXAsIGVudHJpZXNbaV0pOworCQkJCWhhc2htYXBfZW50cnlfaW5pdCgmZW50cmllc1tpXS0+ZW50LCBoYXNoZXNbaV0pOworCQkJCWhhc2htYXBfYWRkKCZtYXAsICZlbnRyaWVzW2ldLT5lbnQpOwogCQkJfQogCi0JCQloYXNobWFwX2ZyZWUoJm1hcCwgMCk7CisJCQloYXNobWFwX2ZyZWUoJm1hcCk7CiAJCX0KIAl9IGVsc2UgewogCQkvKiB0ZXN0IG1hcCBsb29rdXBzICovCkBAIC0xMTYsOCArMTE5LDggQEAKIAkJLyogZmlsbCB0aGUgbWFwIChzcGFyc2VseSBpZiBzcGVjaWZpZWQpICovCiAJCWogPSAobWV0aG9kICYgVEVTVF9TUEFSU0UpID8gVEVTVF9TSVpFIC8gMTAgOiBURVNUX1NJWkU7CiAJCWZvciAoaSA9IDA7IGkgPCBqOyBpKyspIHsKLQkJCWhhc2htYXBfZW50cnlfaW5pdChlbnRyaWVzW2ldLCBoYXNoZXNbaV0pOwotCQkJaGFzaG1hcF9hZGQoJm1hcCwgZW50cmllc1tpXSk7CisJCQloYXNobWFwX2VudHJ5X2luaXQoJmVudHJpZXNbaV0tPmVudCwgaGFzaGVzW2ldKTsKKwkJCWhhc2htYXBfYWRkKCZtYXAsICZlbnRyaWVzW2ldLT5lbnQpOwogCQl9CiAKIAkJZm9yIChqID0gMDsgaiA8IHJvdW5kczsgaisrKSB7CkBAIC0xMjcsNyArMTMwLDcgQEAKIAkJCX0KIAkJfQogCi0JCWhhc2htYXBfZnJlZSgmbWFwLCAwKTsKKwkJaGFzaG1hcF9mcmVlKCZtYXApOwogCX0KIH0KIApAQCAtMTczLDIwICsxNzYsMTMgQEAKIAkJCXAyID0gc3RydG9rKE5VTEwsIERFTElNKTsKIAkJfQogCi0JCWlmICghc3RyY21wKCJoYXNoIiwgY21kKSAmJiBwMSkgewotCi0JCQkvKiBwcmludCByZXN1bHRzIG9mIGRpZmZlcmVudCBoYXNoIGZ1bmN0aW9ucyAqLwotCQkJcHJpbnRmKCIldSAldSAldSAldVxuIiwKLQkJCSAgICAgICBzdHJoYXNoKHAxKSwgbWVtaGFzaChwMSwgc3RybGVuKHAxKSksCi0JCQkgICAgICAgc3RyaWhhc2gocDEpLCBtZW1paGFzaChwMSwgc3RybGVuKHAxKSkpOwotCi0JCX0gZWxzZSBpZiAoIXN0cmNtcCgiYWRkIiwgY21kKSAmJiBwMSAmJiBwMikgeworCQlpZiAoIXN0cmNtcCgiYWRkIiwgY21kKSAmJiBwMSAmJiBwMikgewogCiAJCQkvKiBjcmVhdGUgZW50cnkgd2l0aCBrZXkgPSBwMSwgdmFsdWUgPSBwMiAqLwogCQkJZW50cnkgPSBhbGxvY190ZXN0X2VudHJ5KGhhc2gsIHAxLCBwMik7CiAKIAkJCS8qIGFkZCB0byBoYXNobWFwICovCi0JCQloYXNobWFwX2FkZCgmbWFwLCBlbnRyeSk7CisJCQloYXNobWFwX2FkZCgmbWFwLCAmZW50cnktPmVudCk7CiAKIAkJfSBlbHNlIGlmICghc3RyY21wKCJwdXQiLCBjbWQpICYmIHAxICYmIHAyKSB7CiAKQEAgLTE5NCw0MyArMTkwLDQ0IEBACiAJCQllbnRyeSA9IGFsbG9jX3Rlc3RfZW50cnkoaGFzaCwgcDEsIHAyKTsKIAogCQkJLyogYWRkIC8gcmVwbGFjZSBlbnRyeSAqLwotCQkJZW50cnkgPSBoYXNobWFwX3B1dCgmbWFwLCBlbnRyeSk7CisJCQllbnRyeSA9IGhhc2htYXBfcHV0X2VudHJ5KCZtYXAsIGVudHJ5LCBlbnQpOwogCiAJCQkvKiBwcmludCBhbmQgZnJlZSByZXBsYWNlZCBlbnRyeSwgaWYgYW55ICovCiAJCQlwdXRzKGVudHJ5ID8gZ2V0X3ZhbHVlKGVudHJ5KSA6ICJOVUxMIik7CiAJCQlmcmVlKGVudHJ5KTsKIAogCQl9IGVsc2UgaWYgKCFzdHJjbXAoImdldCIsIGNtZCkgJiYgcDEpIHsKLQogCQkJLyogbG9va3VwIGVudHJ5IGluIGhhc2htYXAgKi8KLQkJCWVudHJ5ID0gaGFzaG1hcF9nZXRfZnJvbV9oYXNoKCZtYXAsIGhhc2gsIHAxKTsKKwkJCWVudHJ5ID0gaGFzaG1hcF9nZXRfZW50cnlfZnJvbV9oYXNoKCZtYXAsIGhhc2gsIHAxLAorCQkJCQkJCXN0cnVjdCB0ZXN0X2VudHJ5LCBlbnQpOwogCiAJCQkvKiBwcmludCByZXN1bHQgKi8KIAkJCWlmICghZW50cnkpCiAJCQkJcHV0cygiTlVMTCIpOwotCQkJd2hpbGUgKGVudHJ5KSB7CisJCQloYXNobWFwX2Zvcl9lYWNoX2VudHJ5X2Zyb20oJm1hcCwgZW50cnksIGVudCkKIAkJCQlwdXRzKGdldF92YWx1ZShlbnRyeSkpOwotCQkJCWVudHJ5ID0gaGFzaG1hcF9nZXRfbmV4dCgmbWFwLCBlbnRyeSk7Ci0JCQl9CiAKIAkJfSBlbHNlIGlmICghc3RyY21wKCJyZW1vdmUiLCBjbWQpICYmIHAxKSB7CiAKIAkJCS8qIHNldHVwIHN0YXRpYyBrZXkgKi8KIAkJCXN0cnVjdCBoYXNobWFwX2VudHJ5IGtleTsKKwkJCXN0cnVjdCBoYXNobWFwX2VudHJ5ICpybTsKIAkJCWhhc2htYXBfZW50cnlfaW5pdCgma2V5LCBoYXNoKTsKIAogCQkJLyogcmVtb3ZlIGVudHJ5IGZyb20gaGFzaG1hcCAqLwotCQkJZW50cnkgPSBoYXNobWFwX3JlbW92ZSgmbWFwLCAma2V5LCBwMSk7CisJCQlybSA9IGhhc2htYXBfcmVtb3ZlKCZtYXAsICZrZXksIHAxKTsKKwkJCWVudHJ5ID0gcm0gPyBjb250YWluZXJfb2Yocm0sIHN0cnVjdCB0ZXN0X2VudHJ5LCBlbnQpCisJCQkJCTogTlVMTDsKIAogCQkJLyogcHJpbnQgcmVzdWx0IGFuZCBmcmVlIGVudHJ5Ki8KIAkJCXB1dHMoZW50cnkgPyBnZXRfdmFsdWUoZW50cnkpIDogIk5VTEwiKTsKIAkJCWZyZWUoZW50cnkpOwogCiAJCX0gZWxzZSBpZiAoIXN0cmNtcCgiaXRlcmF0ZSIsIGNtZCkpIHsKLQogCQkJc3RydWN0IGhhc2htYXBfaXRlciBpdGVyOwotCQkJaGFzaG1hcF9pdGVyX2luaXQoJm1hcCwgJml0ZXIpOwotCQkJd2hpbGUgKChlbnRyeSA9IGhhc2htYXBfaXRlcl9uZXh0KCZpdGVyKSkpCisKKwkJCWhhc2htYXBfZm9yX2VhY2hfZW50cnkoJm1hcCwgJml0ZXIsIGVudHJ5LAorCQkJCQkJZW50IC8qIG1lbWJlciBuYW1lICovKQogCQkJCXByaW50ZigiJXMgJXNcbiIsIGVudHJ5LT5rZXksIGdldF92YWx1ZShlbnRyeSkpOwogCiAJCX0gZWxzZSBpZiAoIXN0cmNtcCgic2l6ZSIsIGNtZCkpIHsKQEAgLTI2NSw2ICsyNjIsNiBAQAogCX0KIAogCXN0cmJ1Zl9yZWxlYXNlKCZsaW5lKTsKLQloYXNobWFwX2ZyZWUoJm1hcCwgMSk7CisJaGFzaG1hcF9mcmVlX2VudHJpZXMoJm1hcCwgc3RydWN0IHRlc3RfZW50cnksIGVudCk7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LWxhenktaW5pdC1uYW1lLWhhc2guYyBiL3QvaGVscGVyL3Rlc3QtbGF6eS1pbml0LW5hbWUtaGFzaC5jCmluZGV4IGI5OWEzNzAuLmNkMWI0YzkgMTAwNjQ0Ci0tLSBhL3QvaGVscGVyL3Rlc3QtbGF6eS1pbml0LW5hbWUtaGFzaC5jCisrKyBiL3QvaGVscGVyL3Rlc3QtbGF6eS1pbml0LW5hbWUtaGFzaC5jCkBAIC00MSwxNyArNDEsMTMgQEAKIAkJCWRpZSgibm9uLXRocmVhZGVkIGNvZGUgcGF0aCB1c2VkIik7CiAJfQogCi0JZGlyID0gaGFzaG1hcF9pdGVyX2ZpcnN0KCZ0aGVfaW5kZXguZGlyX2hhc2gsICZpdGVyX2Rpcik7Ci0Jd2hpbGUgKGRpcikgeworCWhhc2htYXBfZm9yX2VhY2hfZW50cnkoJnRoZV9pbmRleC5kaXJfaGFzaCwgJml0ZXJfZGlyLCBkaXIsCisJCQkJZW50IC8qIG1lbWJlciBuYW1lICovKQogCQlwcmludGYoImRpciAlMDh4ICU3ZCAlc1xuIiwgZGlyLT5lbnQuaGFzaCwgZGlyLT5uciwgZGlyLT5uYW1lKTsKLQkJZGlyID0gaGFzaG1hcF9pdGVyX25leHQoJml0ZXJfZGlyKTsKLQl9CiAKLQljZSA9IGhhc2htYXBfaXRlcl9maXJzdCgmdGhlX2luZGV4Lm5hbWVfaGFzaCwgJml0ZXJfY2FjaGUpOwotCXdoaWxlIChjZSkgeworCWhhc2htYXBfZm9yX2VhY2hfZW50cnkoJnRoZV9pbmRleC5uYW1lX2hhc2gsICZpdGVyX2NhY2hlLCBjZSwKKwkJCQllbnQgLyogbWVtYmVyIG5hbWUgKi8pCiAJCXByaW50ZigibmFtZSAlMDh4ICVzXG4iLCBjZS0+ZW50Lmhhc2gsIGNlLT5uYW1lKTsKLQkJY2UgPSBoYXNobWFwX2l0ZXJfbmV4dCgmaXRlcl9jYWNoZSk7Ci0JfQogCiAJZGlzY2FyZF9jYWNoZSgpOwogfQpkaWZmIC0tZ2l0IGEvdC9oZWxwZXIvdGVzdC1tYXRjaC10cmVlcy5jIGIvdC9oZWxwZXIvdGVzdC1tYXRjaC10cmVlcy5jCmluZGV4IDk2ODU3ZjIuLmI5ZmQ0MjcgMTAwNjQ0Ci0tLSBhL3QvaGVscGVyL3Rlc3QtbWF0Y2gtdHJlZXMuYworKysgYi90L2hlbHBlci90ZXN0LW1hdGNoLXRyZWVzLmMKQEAgLTIwLDcgKzIwLDcgQEAKIAlpZiAoIXR3bykKIAkJZGllKCJub3QgYSB0cmVlLWlzaCAlcyIsIGF2WzJdKTsKIAotCXNoaWZ0X3RyZWUoJm9uZS0+b2JqZWN0Lm9pZCwgJnR3by0+b2JqZWN0Lm9pZCwgJnNoaWZ0ZWQsIC0xKTsKKwlzaGlmdF90cmVlKHRoZV9yZXBvc2l0b3J5LCAmb25lLT5vYmplY3Qub2lkLCAmdHdvLT5vYmplY3Qub2lkLCAmc2hpZnRlZCwgLTEpOwogCXByaW50Zigic2hpZnRlZDogJXNcbiIsIG9pZF90b19oZXgoJnNoaWZ0ZWQpKTsKIAogCWV4aXQoMCk7CmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LW9pZG1hcC5jIGIvdC9oZWxwZXIvdGVzdC1vaWRtYXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYWNmOTk5Ci0tLSAvZGV2L251bGwKKysrIGIvdC9oZWxwZXIvdGVzdC1vaWRtYXAuYwpAQCAtMCwwICsxLDExMiBAQAorI2luY2x1ZGUgInRlc3QtdG9vbC5oIgorI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAib2lkbWFwLmgiCisjaW5jbHVkZSAic3RyYnVmLmgiCisKKy8qIGtleSBpcyBhbiBvaWQgYW5kIHZhbHVlIGlzIGEgbmFtZSAoY291bGQgYmUgYSByZWZuYW1lIGZvciBleGFtcGxlKSAqLworc3RydWN0IHRlc3RfZW50cnkgeworCXN0cnVjdCBvaWRtYXBfZW50cnkgZW50cnk7CisJY2hhciBuYW1lW0ZMRVhfQVJSQVldOworfTsKKworI2RlZmluZSBERUxJTSAiIFx0XHJcbiIKKworLyoKKyAqIFJlYWQgc3RkaW4gbGluZSBieSBsaW5lIGFuZCBwcmludCByZXN1bHQgb2YgY29tbWFuZHMgdG8gc3Rkb3V0OgorICoKKyAqIGhhc2ggb2lka2V5IC0+IHNoYTFoYXNoKG9pZGtleSkKKyAqIHB1dCBvaWRrZXkgbmFtZXZhbHVlIC0+IE5VTEwgLyBvbGQgbmFtZXZhbHVlCisgKiBnZXQgb2lka2V5IC0+IE5VTEwgLyBuYW1ldmFsdWUKKyAqIHJlbW92ZSBvaWRrZXkgLT4gTlVMTCAvIG9sZCBuYW1ldmFsdWUKKyAqIGl0ZXJhdGUgLT4gb2lka2V5MSBuYW1ldmFsdWUxXG5vaWRrZXkyIG5hbWV2YWx1ZTJcbi4uLgorICoKKyAqLworaW50IGNtZF9fb2lkbWFwKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGxpbmUgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgb2lkbWFwIG1hcCA9IE9JRE1BUF9JTklUOworCisJc2V0dXBfZ2l0X2RpcmVjdG9yeSgpOworCisJLyogaW5pdCBvaWRtYXAgKi8KKwlvaWRtYXBfaW5pdCgmbWFwLCAwKTsKKworCS8qIHByb2Nlc3MgY29tbWFuZHMgZnJvbSBzdGRpbiAqLworCXdoaWxlIChzdHJidWZfZ2V0bGluZSgmbGluZSwgc3RkaW4pICE9IEVPRikgeworCQljaGFyICpjbWQsICpwMSA9IE5VTEwsICpwMiA9IE5VTEw7CisJCXN0cnVjdCB0ZXN0X2VudHJ5ICplbnRyeTsKKwkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CisKKwkJLyogYnJlYWsgbGluZSBpbnRvIGNvbW1hbmQgYW5kIHVwIHRvIHR3byBwYXJhbWV0ZXJzICovCisJCWNtZCA9IHN0cnRvayhsaW5lLmJ1ZiwgREVMSU0pOworCQkvKiBpZ25vcmUgZW1wdHkgbGluZXMgKi8KKwkJaWYgKCFjbWQgfHwgKmNtZCA9PSAnIycpCisJCQljb250aW51ZTsKKworCQlwMSA9IHN0cnRvayhOVUxMLCBERUxJTSk7CisJCWlmIChwMSkKKwkJCXAyID0gc3RydG9rKE5VTEwsIERFTElNKTsKKworCQlpZiAoIXN0cmNtcCgicHV0IiwgY21kKSAmJiBwMSAmJiBwMikgeworCisJCQlpZiAoZ2V0X29pZChwMSwgJm9pZCkpIHsKKwkJCQlwcmludGYoIlVua25vd24gb2lkOiAlc1xuIiwgcDEpOworCQkJCWNvbnRpbnVlOworCQkJfQorCisJCQkvKiBjcmVhdGUgZW50cnkgd2l0aCBvaWRfa2V5ID0gcDEsIG5hbWVfdmFsdWUgPSBwMiAqLworCQkJRkxFWF9BTExPQ19TVFIoZW50cnksIG5hbWUsIHAyKTsKKwkJCW9pZGNweSgmZW50cnktPmVudHJ5Lm9pZCwgJm9pZCk7CisKKwkJCS8qIGFkZCAvIHJlcGxhY2UgZW50cnkgKi8KKwkJCWVudHJ5ID0gb2lkbWFwX3B1dCgmbWFwLCBlbnRyeSk7CisKKwkJCS8qIHByaW50IGFuZCBmcmVlIHJlcGxhY2VkIGVudHJ5LCBpZiBhbnkgKi8KKwkJCXB1dHMoZW50cnkgPyBlbnRyeS0+bmFtZSA6ICJOVUxMIik7CisJCQlmcmVlKGVudHJ5KTsKKworCQl9IGVsc2UgaWYgKCFzdHJjbXAoImdldCIsIGNtZCkgJiYgcDEpIHsKKworCQkJaWYgKGdldF9vaWQocDEsICZvaWQpKSB7CisJCQkJcHJpbnRmKCJVbmtub3duIG9pZDogJXNcbiIsIHAxKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKworCQkJLyogbG9va3VwIGVudHJ5IGluIG9pZG1hcCAqLworCQkJZW50cnkgPSBvaWRtYXBfZ2V0KCZtYXAsICZvaWQpOworCisJCQkvKiBwcmludCByZXN1bHQgKi8KKwkJCXB1dHMoZW50cnkgPyBlbnRyeS0+bmFtZSA6ICJOVUxMIik7CisKKwkJfSBlbHNlIGlmICghc3RyY21wKCJyZW1vdmUiLCBjbWQpICYmIHAxKSB7CisKKwkJCWlmIChnZXRfb2lkKHAxLCAmb2lkKSkgeworCQkJCXByaW50ZigiVW5rbm93biBvaWQ6ICVzXG4iLCBwMSk7CisJCQkJY29udGludWU7CisJCQl9CisKKwkJCS8qIHJlbW92ZSBlbnRyeSBmcm9tIG9pZG1hcCAqLworCQkJZW50cnkgPSBvaWRtYXBfcmVtb3ZlKCZtYXAsICZvaWQpOworCisJCQkvKiBwcmludCByZXN1bHQgYW5kIGZyZWUgZW50cnkqLworCQkJcHV0cyhlbnRyeSA/IGVudHJ5LT5uYW1lIDogIk5VTEwiKTsKKwkJCWZyZWUoZW50cnkpOworCisJCX0gZWxzZSBpZiAoIXN0cmNtcCgiaXRlcmF0ZSIsIGNtZCkpIHsKKworCQkJc3RydWN0IG9pZG1hcF9pdGVyIGl0ZXI7CisJCQlvaWRtYXBfaXRlcl9pbml0KCZtYXAsICZpdGVyKTsKKwkJCXdoaWxlICgoZW50cnkgPSBvaWRtYXBfaXRlcl9uZXh0KCZpdGVyKSkpCisJCQkJcHJpbnRmKCIlcyAlc1xuIiwgb2lkX3RvX2hleCgmZW50cnktPmVudHJ5Lm9pZCksIGVudHJ5LT5uYW1lKTsKKworCQl9IGVsc2UgeworCisJCQlwcmludGYoIlVua25vd24gY29tbWFuZCAlc1xuIiwgY21kKTsKKworCQl9CisJfQorCisJc3RyYnVmX3JlbGVhc2UoJmxpbmUpOworCW9pZG1hcF9mcmVlKCZtYXAsIDEpOworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvdC9oZWxwZXIvdGVzdC1wYXJzZS1vcHRpb25zLmMgYi90L2hlbHBlci90ZXN0LXBhcnNlLW9wdGlvbnMuYwppbmRleCA0N2ZlZTY2Li4yMDUxY2U1IDEwMDY0NAotLS0gYS90L2hlbHBlci90ZXN0LXBhcnNlLW9wdGlvbnMuYworKysgYi90L2hlbHBlci90ZXN0LXBhcnNlLW9wdGlvbnMuYwpAQCAtMiw2ICsyLDcgQEAKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgorI2luY2x1ZGUgInRyYWNlMi5oIgogCiBzdGF0aWMgaW50IGJvb2xlYW4gPSAwOwogc3RhdGljIGludCBpbnRlZ2VyID0gMDsKQEAgLTEyMCw2ICsxMjEsOCBAQAogCQlPUFRfSU5URUdFUignaicsIE5VTEwsICZpbnRlZ2VyLCAiZ2V0IGEgaW50ZWdlciwgdG9vIiksCiAJCU9QVF9NQUdOSVRVREUoJ20nLCAibWFnbml0dWRlIiwgJm1hZ25pdHVkZSwgImdldCBhIG1hZ25pdHVkZSIpLAogCQlPUFRfU0VUX0lOVCgwLCAic2V0MjMiLCAmaW50ZWdlciwgInNldCBpbnRlZ2VyIHRvIDIzIiwgMjMpLAorCQlPUFRfQ01ETU9ERSgwLCAibW9kZTEiLCAmaW50ZWdlciwgInNldCBpbnRlZ2VyIHRvIDEgKGNtZG1vZGUgb3B0aW9uKSIsIDEpLAorCQlPUFRfQ01ETU9ERSgwLCAibW9kZTIiLCAmaW50ZWdlciwgInNldCBpbnRlZ2VyIHRvIDIgKGNtZG1vZGUgb3B0aW9uKSIsIDIpLAogCQlPUFRfQ0FMTEJBQ0soJ0wnLCAibGVuZ3RoIiwgJmludGVnZXIsICJzdHIiLAogCQkJImdldCBsZW5ndGggb2YgPHN0cj4iLCBsZW5ndGhfY2FsbGJhY2spLAogCQlPUFRfRklMRU5BTUUoJ0YnLCAiZmlsZSIsICZmaWxlLCAic2V0IGZpbGUgdG8gPGZpbGU+IiksCkBAIC0xMzEsNyArMTM0LDcgQEAKIAkJT1BUX05PT1BfTk9BUkcoMCwgIm9ic29sZXRlIiksCiAJCU9QVF9TVFJJTkdfTElTVCgwLCAibGlzdCIsICZsaXN0LCAic3RyIiwgImFkZCBzdHIgdG8gbGlzdCIpLAogCQlPUFRfR1JPVVAoIk1hZ2ljIGFyZ3VtZW50cyIpLAotCQlPUFRfQVJHVU1FTlQoInF1dXgiLCAibWVhbnMgLS1xdXV4IiksCisJCU9QVF9BUkdVTUVOVCgicXV1eCIsIE5VTEwsICJtZWFucyAtLXF1dXgiKSwKIAkJT1BUX05VTUJFUl9DQUxMQkFDSygmaW50ZWdlciwgInNldCBpbnRlZ2VyIHRvIE5VTSIsCiAJCQludW1iZXJfY2FsbGJhY2spLAogCQl7IE9QVElPTl9DT1VOVFVQLCAnKycsIE5VTEwsICZib29sZWFuLCBOVUxMLCAic2FtZSBhcyAtYiIsCkBAIC0xNDgsMTEgKzE1MSwxNiBAQAogCQlPUFRfQ0FMTEJBQ0soMCwgImV4cGVjdCIsICZleHBlY3QsICJzdHJpbmciLAogCQkJICAgICAiZXhwZWN0ZWQgb3V0cHV0IGluIHRoZSB2YXJpYWJsZSBkdW1wIiwKIAkJCSAgICAgY29sbGVjdF9leHBlY3QpLAorCQlPUFRfR1JPVVAoIkFsaWFzIiksCisJCU9QVF9TVFJJTkcoJ0EnLCAiYWxpYXMtc291cmNlIiwgJnN0cmluZywgInN0cmluZyIsICJnZXQgYSBzdHJpbmciKSwKKwkJT1BUX0FMSUFTKCdaJywgImFsaWFzLXRhcmdldCIsICJhbGlhcy1zb3VyY2UiKSwKIAkJT1BUX0VORCgpLAogCX07CiAJaW50IGk7CiAJaW50IHJldCA9IDA7CiAKKwl0cmFjZTJfY21kX25hbWUoIl9wYXJzZV8iKTsKKwogCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIChjb25zdCBjaGFyICoqKWFyZ3YsIHByZWZpeCwgb3B0aW9ucywgdXNhZ2UsIDApOwogCiAJaWYgKGxlbmd0aF9jYi5jYWxsZWQpIHsKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtcGFyc2UtcGF0aHNwZWMtZmlsZS5jIGIvdC9oZWxwZXIvdGVzdC1wYXJzZS1wYXRoc3BlYy1maWxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDJmNGNjZgotLS0gL2Rldi9udWxsCisrKyBiL3QvaGVscGVyL3Rlc3QtcGFyc2UtcGF0aHNwZWMtZmlsZS5jCkBAIC0wLDAgKzEsMzMgQEAKKyNpbmNsdWRlICJ0ZXN0LXRvb2wuaCIKKyNpbmNsdWRlICJwYXJzZS1vcHRpb25zLmgiCisjaW5jbHVkZSAicGF0aHNwZWMuaCIKKyNpbmNsdWRlICJnZXR0ZXh0LmgiCisKK2ludCBjbWRfX3BhcnNlX3BhdGhzcGVjX2ZpbGUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCXN0cnVjdCBwYXRoc3BlYyBwYXRoc3BlYzsKKwljb25zdCBjaGFyICpwYXRoc3BlY19mcm9tX2ZpbGUgPSAwOworCWludCBwYXRoc3BlY19maWxlX251bCA9IDAsIGk7CisKKwlzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgdXNhZ2VbXSA9IHsKKwkJInRlc3QtdG9vbCBwYXJzZS1wYXRoc3BlYy1maWxlIC0tcGF0aHNwZWMtZnJvbS1maWxlIFstLXBhdGhzcGVjLWZpbGUtbnVsXSIsCisJCU5VTEwKKwl9OworCisJc3RydWN0IG9wdGlvbiBvcHRpb25zW10gPSB7CisJCU9QVF9QQVRIU1BFQ19GUk9NX0ZJTEUoJnBhdGhzcGVjX2Zyb21fZmlsZSksCisJCU9QVF9QQVRIU1BFQ19GSUxFX05VTCgmcGF0aHNwZWNfZmlsZV9udWwpLAorCQlPUFRfRU5EKCkKKwl9OworCisJcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2LCAwLCBvcHRpb25zLCB1c2FnZSwgMCk7CisKKwlwYXJzZV9wYXRoc3BlY19maWxlKCZwYXRoc3BlYywgMCwgMCwgMCwgcGF0aHNwZWNfZnJvbV9maWxlLAorCQkJICAgIHBhdGhzcGVjX2ZpbGVfbnVsKTsKKworCWZvciAoaSA9IDA7IGkgPCBwYXRoc3BlYy5ucjsgaSsrKQorCQlwcmludGYoIiVzXG4iLCBwYXRoc3BlYy5pdGVtc1tpXS5vcmlnaW5hbCk7CisKKwljbGVhcl9wYXRoc3BlYygmcGF0aHNwZWMpOworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvdC9oZWxwZXIvdGVzdC1wYXRoLXV0aWxzLmMgYi90L2hlbHBlci90ZXN0LXBhdGgtdXRpbHMuYwppbmRleCBlNzM3YTk0Li40MDkwMzRjIDEwMDY0NAotLS0gYS90L2hlbHBlci90ZXN0LXBhdGgtdXRpbHMuYworKysgYi90L2hlbHBlci90ZXN0LXBhdGgtdXRpbHMuYwpAQCAtMTc3LDYgKzE3NywxNCBAQAogCXJldHVybiBpc19oZnNfZG90Z2l0bW9kdWxlcyhwYXRoKSB8fCBpc19udGZzX2RvdGdpdG1vZHVsZXMocGF0aCk7CiB9CiAKK3N0YXRpYyBpbnQgY21wX2J5X3N0X3NpemUoY29uc3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAqYikKK3sKKwlpbnRwdHJfdCB4ID0gKGludHB0cl90KSgoc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKilhKS0+dXRpbDsKKwlpbnRwdHJfdCB5ID0gKGludHB0cl90KSgoc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKiliKS0+dXRpbDsKKworCXJldHVybiB4ID4geSA/IC0xIDogKHggPCB5ID8gKzEgOiAwKTsKK30KKwogLyoKICAqIEEgdmVyeSBzaW1wbGUsIHJlcHJvZHVjaWJsZSBwc2V1ZG8tcmFuZG9tIGdlbmVyYXRvci4gQ29waWVkIGZyb20KICAqIGB0ZXN0LWdlbnJhbmRvbS5jYC4KQEAgLTM4NCw2ICszOTIsNjIgQEAKIAkJcmV0dXJuICEhcmVzOwogCX0KIAorCWlmIChhcmdjID4gMiAmJiAhc3RyY21wKGFyZ3ZbMV0sICJmaWxlLXNpemUiKSkgeworCQlpbnQgcmVzID0gMCwgaTsKKwkJc3RydWN0IHN0YXQgc3Q7CisKKwkJZm9yIChpID0gMjsgaSA8IGFyZ2M7IGkrKykKKwkJCWlmIChzdGF0KGFyZ3ZbaV0sICZzdCkpCisJCQkJcmVzID0gZXJyb3JfZXJybm8oIkNhbm5vdCBzdGF0ICclcyciLCBhcmd2W2ldKTsKKwkJCWVsc2UKKwkJCQlwcmludGYoIiUiUFJJdU1BWCJcbiIsICh1aW50bWF4X3Qpc3Quc3Rfc2l6ZSk7CisJCXJldHVybiAhIXJlczsKKwl9CisKKwlpZiAoYXJnYyA9PSA0ICYmICFzdHJjbXAoYXJndlsxXSwgInNraXAtbi1ieXRlcyIpKSB7CisJCWludCBmZCA9IG9wZW4oYXJndlsyXSwgT19SRE9OTFkpLCBvZmZzZXQgPSBhdG9pKGFyZ3ZbM10pOworCQljaGFyIGJ1ZmZlcls2NTUzNl07CisKKwkJaWYgKGZkIDwgMCkKKwkJCWRpZV9lcnJubygiY291bGQgbm90IG9wZW4gJyVzJyIsIGFyZ3ZbMl0pOworCQlpZiAobHNlZWsoZmQsIG9mZnNldCwgU0VFS19TRVQpIDwgMCkKKwkJCWRpZV9lcnJubygiY291bGQgbm90IHNraXAgJWQgYnl0ZXMiLCBvZmZzZXQpOworCQlmb3IgKDs7KSB7CisJCQlzc2l6ZV90IGNvdW50ID0gcmVhZChmZCwgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSk7CisJCQlpZiAoY291bnQgPCAwKQorCQkJCWRpZV9lcnJubygiY291bGQgbm90IHJlYWQgJyVzJyIsIGFyZ3ZbMl0pOworCQkJaWYgKCFjb3VudCkKKwkJCQlicmVhazsKKwkJCWlmICh3cml0ZSgxLCBidWZmZXIsIGNvdW50KSA8IDApCisJCQkJZGllX2Vycm5vKCJjb3VsZCBub3Qgd3JpdGUgdG8gc3Rkb3V0Iik7CisJCX0KKwkJY2xvc2UoZmQpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoYXJnYyA+IDUgJiYgIXN0cmNtcChhcmd2WzFdLCAic2xpY2UtdGVzdHMiKSkgeworCQlpbnQgcmVzID0gMDsKKwkJbG9uZyBvZmZzZXQsIHN0cmlkZSwgaTsKKwkJc3RydWN0IHN0cmluZ19saXN0IGxpc3QgPSBTVFJJTkdfTElTVF9JTklUX05PRFVQOworCQlzdHJ1Y3Qgc3RhdCBzdDsKKworCQlvZmZzZXQgPSBzdHJ0b2woYXJndlsyXSwgTlVMTCwgMTApOworCQlzdHJpZGUgPSBzdHJ0b2woYXJndlszXSwgTlVMTCwgMTApOworCQlpZiAoc3RyaWRlIDwgMSkKKwkJCXN0cmlkZSA9IDE7CisJCWZvciAoaSA9IDQ7IGkgPCBhcmdjOyBpKyspCisJCQlpZiAoc3RhdChhcmd2W2ldLCAmc3QpKQorCQkJCXJlcyA9IGVycm9yX2Vycm5vKCJDYW5ub3Qgc3RhdCAnJXMnIiwgYXJndltpXSk7CisJCQllbHNlCisJCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZsaXN0LCBhcmd2W2ldKS0+dXRpbCA9CisJCQkJCSh2b2lkICopKGludHB0cl90KXN0LnN0X3NpemU7CisJCVFTT1JUKGxpc3QuaXRlbXMsIGxpc3QubnIsIGNtcF9ieV9zdF9zaXplKTsKKwkJZm9yIChpID0gb2Zmc2V0OyBpIDwgbGlzdC5ucjsgaSs9IHN0cmlkZSkKKwkJCXByaW50ZigiJXNcbiIsIGxpc3QuaXRlbXNbaV0uc3RyaW5nKTsKKworCQlyZXR1cm4gISFyZXM7CisJfQorCiAJaWYgKGFyZ2MgPiAxICYmICFzdHJjbXAoYXJndlsxXSwgInByb3RlY3RfbnRmc19oZnMiKSkKIAkJcmV0dXJuICEhcHJvdGVjdF9udGZzX2hmc19iZW5jaG1hcmsoYXJnYyAtIDEsIGFyZ3YgKyAxKTsKIApkaWZmIC0tZ2l0IGEvdC9oZWxwZXIvdGVzdC1wcmlvLXF1ZXVlLmMgYi90L2hlbHBlci90ZXN0LXByaW8tcXVldWUuYwppbmRleCA1YmM5YzQ2Li5mNDAyODQ0IDEwMDY0NAotLS0gYS90L2hlbHBlci90ZXN0LXByaW8tcXVldWUuYworKysgYi90L2hlbHBlci90ZXN0LXByaW8tcXVldWUuYwpAQCAtNDAsNyArNDAsNyBAQAogCQl9IGVsc2UgaWYgKCFzdHJjbXAoKmFyZ3YsICJzdGFjayIpKSB7CiAJCQlwcS5jb21wYXJlID0gTlVMTDsKIAkJfSBlbHNlIHsKLQkJCWludCAqdiA9IG1hbGxvYyhzaXplb2YoKnYpKTsKKwkJCWludCAqdiA9IHhtYWxsb2Moc2l6ZW9mKCp2KSk7CiAJCQkqdiA9IGF0b2koKmFyZ3YpOwogCQkJcHJpb19xdWV1ZV9wdXQoJnBxLCB2KTsKIAkJfQpkaWZmIC0tZ2l0IGEvdC9oZWxwZXIvdGVzdC1wcm9ncmVzcy5jIGIvdC9oZWxwZXIvdGVzdC1wcm9ncmVzcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyYjk2Y2IKLS0tIC9kZXYvbnVsbAorKysgYi90L2hlbHBlci90ZXN0LXByb2dyZXNzLmMKQEAgLTAsMCArMSw4MSBAQAorLyoKKyAqIEEgdGVzdCBoZWxwZXIgdG8gZXhlcmNpc2UgdGhlIHByb2dyZXNzIGRpc3BsYXkuCisgKgorICogUmVhZHMgaW5zdHJ1Y3Rpb25zIGZyb20gc3RhbmRhcmQgaW5wdXQsIG9uZSBpbnN0cnVjdGlvbiBwZXIgbGluZToKKyAqCisgKiAgICJwcm9ncmVzcyA8aXRlbXM+IiAtIENhbGwgZGlzcGxheV9wcm9ncmVzcygpIHdpdGggdGhlIGdpdmVuIGl0ZW0gY291bnQKKyAqICAgICAgICAgICAgICAgICAgICAgICAgYXMgcGFyYW1ldGVyLgorICogICAidGhyb3VnaHB1dCA8Ynl0ZXM+IDxtaWxsaXM+IC0gQ2FsbCBkaXNwbGF5X3Rocm91Z2hwdXQoKSB3aXRoIHRoZSBnaXZlbgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnl0ZSBjb3VudCBhcyBwYXJhbWV0ZXIuICBUaGUgJ21pbGxpcycKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHRpbWUgZWxhcHNlZCBzaW5jZSB0aGUKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0X3Byb2dyZXNzKCkgY2FsbC4KKyAqICAgInVwZGF0ZSIgLSBTZXQgdGhlICdwcm9ncmVzc191cGRhdGUnIGZsYWcuCisgKgorICogU2VlICd0MDUwMC1wcm9ncmVzcy1kaXNwbGF5LnNoJyBmb3IgZXhhbXBsZXMuCisgKi8KKyNpbmNsdWRlICJ0ZXN0LXRvb2wuaCIKKyNpbmNsdWRlICJnZXR0ZXh0LmgiCisjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgorI2luY2x1ZGUgInByb2dyZXNzLmgiCisjaW5jbHVkZSAic3RyYnVmLmgiCisKKy8qCisgKiBUaGVzZSBhcmUgZGVmaW5lZCBpbiAncHJvZ3Jlc3MuYycsIGJ1dCBhcmUgbm90IGV4cG9zZWQgaW4gJ3Byb2dyZXNzLmgnLAorICogYmVjYXVzZSB0aGV5IGFyZSBleGNsdXNpdmVseSBmb3IgdGVzdGluZy4KKyAqLworZXh0ZXJuIGludCBwcm9ncmVzc190ZXN0aW5nOworZXh0ZXJuIHVpbnQ2NF90IHByb2dyZXNzX3Rlc3RfbnM7Cit2b2lkIHByb2dyZXNzX3Rlc3RfZm9yY2VfdXBkYXRlKHZvaWQpOworCitpbnQgY21kX19wcm9ncmVzcyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJaW50IHRvdGFsID0gMDsKKwljb25zdCBjaGFyICp0aXRsZTsKKwlzdHJ1Y3Qgc3RyYnVmIGxpbmUgPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3QgcHJvZ3Jlc3MgKnByb2dyZXNzOworCisJY29uc3QgY2hhciAqdXNhZ2VbXSA9IHsKKwkJInRlc3QtdG9vbCBwcm9ncmVzcyBbLS10b3RhbD08bj5dIDxwcm9ncmVzcy10aXRsZT4iLAorCQlOVUxMCisJfTsKKwlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKKwkJT1BUX0lOVEVHRVIoMCwgInRvdGFsIiwgJnRvdGFsLCAidG90YWwgbnVtYmVyIG9mIGl0ZW1zIiksCisJCU9QVF9FTkQoKSwKKwl9OworCisJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgTlVMTCwgb3B0aW9ucywgdXNhZ2UsIDApOworCWlmIChhcmdjICE9IDEpCisJCWRpZSgibmVlZCBhIHRpdGxlIGZvciB0aGUgcHJvZ3Jlc3Mgb3V0cHV0Iik7CisJdGl0bGUgPSBhcmd2WzBdOworCisJcHJvZ3Jlc3NfdGVzdGluZyA9IDE7CisJcHJvZ3Jlc3MgPSBzdGFydF9wcm9ncmVzcyh0aXRsZSwgdG90YWwpOworCXdoaWxlIChzdHJidWZfZ2V0bGluZSgmbGluZSwgc3RkaW4pICE9IEVPRikgeworCQljaGFyICplbmQ7CisKKwkJaWYgKHNraXBfcHJlZml4KGxpbmUuYnVmLCAicHJvZ3Jlc3MgIiwgKGNvbnN0IGNoYXIgKiopICZlbmQpKSB7CisJCQl1aW50NjRfdCBpdGVtX2NvdW50ID0gc3RydG91bGwoZW5kLCAmZW5kLCAxMCk7CisJCQlpZiAoKmVuZCAhPSAnXDAnKQorCQkJCWRpZSgiaW52YWxpZCBpbnB1dDogJyVzJ1xuIiwgbGluZS5idWYpOworCQkJZGlzcGxheV9wcm9ncmVzcyhwcm9ncmVzcywgaXRlbV9jb3VudCk7CisJCX0gZWxzZSBpZiAoc2tpcF9wcmVmaXgobGluZS5idWYsICJ0aHJvdWdocHV0ICIsCisJCQkJICAgICAgIChjb25zdCBjaGFyICoqKSAmZW5kKSkgeworCQkJdWludDY0X3QgYnl0ZV9jb3VudCwgdGVzdF9tczsKKworCQkJYnl0ZV9jb3VudCA9IHN0cnRvdWxsKGVuZCwgJmVuZCwgMTApOworCQkJaWYgKCplbmQgIT0gJyAnKQorCQkJCWRpZSgiaW52YWxpZCBpbnB1dDogJyVzJ1xuIiwgbGluZS5idWYpOworCQkJdGVzdF9tcyA9IHN0cnRvdWxsKGVuZCArIDEsICZlbmQsIDEwKTsKKwkJCWlmICgqZW5kICE9ICdcMCcpCisJCQkJZGllKCJpbnZhbGlkIGlucHV0OiAnJXMnXG4iLCBsaW5lLmJ1Zik7CisJCQlwcm9ncmVzc190ZXN0X25zID0gdGVzdF9tcyAqIDEwMDAgKiAxMDAwOworCQkJZGlzcGxheV90aHJvdWdocHV0KHByb2dyZXNzLCBieXRlX2NvdW50KTsKKwkJfSBlbHNlIGlmICghc3RyY21wKGxpbmUuYnVmLCAidXBkYXRlIikpCisJCQlwcm9ncmVzc190ZXN0X2ZvcmNlX3VwZGF0ZSgpOworCQllbHNlCisJCQlkaWUoImludmFsaWQgaW5wdXQ6ICclcydcbiIsIGxpbmUuYnVmKTsKKwl9CisJc3RvcF9wcm9ncmVzcygmcHJvZ3Jlc3MpOworCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LXJlYWQtY2FjaGUuYyBiL3QvaGVscGVyL3Rlc3QtcmVhZC1jYWNoZS5jCmluZGV4IGQ2NzRjODguLjI0NDk3N2EgMTAwNjQ0Ci0tLSBhL3QvaGVscGVyL3Rlc3QtcmVhZC1jYWNoZS5jCisrKyBiL3QvaGVscGVyL3Rlc3QtcmVhZC1jYWNoZS5jCkBAIC0xLDE0ICsxLDM1IEBACiAjaW5jbHVkZSAidGVzdC10b29sLmgiCiAjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKIAogaW50IGNtZF9fcmVhZF9jYWNoZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCiB7CiAJaW50IGksIGNudCA9IDE7CisJY29uc3QgY2hhciAqbmFtZSA9IE5VTEw7CisKKwlpZiAoYXJnYyA+IDEgJiYgc2tpcF9wcmVmaXgoYXJndlsxXSwgIi0tcHJpbnQtYW5kLXJlZnJlc2g9IiwgJm5hbWUpKSB7CisJCWFyZ2MtLTsKKwkJYXJndisrOworCX0KKwogCWlmIChhcmdjID09IDIpCiAJCWNudCA9IHN0cnRvbChhcmd2WzFdLCBOVUxMLCAwKTsKIAlzZXR1cF9naXRfZGlyZWN0b3J5KCk7CisJZ2l0X2NvbmZpZyhnaXRfZGVmYXVsdF9jb25maWcsIE5VTEwpOwogCWZvciAoaSA9IDA7IGkgPCBjbnQ7IGkrKykgewogCQlyZWFkX2NhY2hlKCk7CisJCWlmIChuYW1lKSB7CisJCQlpbnQgcG9zOworCisJCQlyZWZyZXNoX2luZGV4KCZ0aGVfaW5kZXgsIFJFRlJFU0hfUVVJRVQsCisJCQkJICAgICAgTlVMTCwgTlVMTCwgTlVMTCk7CisJCQlwb3MgPSBpbmRleF9uYW1lX3BvcygmdGhlX2luZGV4LCBuYW1lLCBzdHJsZW4obmFtZSkpOworCQkJaWYgKHBvcyA8IDApCisJCQkJZGllKCIlcyBub3QgaW4gaW5kZXgiLCBuYW1lKTsKKwkJCXByaW50ZigiJXMgaXMlcyB1cCB0byBkYXRlXG4iLCBuYW1lLAorCQkJICAgICAgIGNlX3VwdG9kYXRlKHRoZV9pbmRleC5jYWNoZVtwb3NdKSA/ICIiIDogIiBub3QiKTsKKwkJCXdyaXRlX2ZpbGUobmFtZSwgIiVkXG4iLCBpKTsKKwkJfQogCQlkaXNjYXJkX2NhY2hlKCk7CiAJfQogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvdC9oZWxwZXIvdGVzdC1yZWFkLWdyYXBoLmMgYi90L2hlbHBlci90ZXN0LXJlYWQtZ3JhcGguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOGE0NjE3Ci0tLSAvZGV2L251bGwKKysrIGIvdC9oZWxwZXIvdGVzdC1yZWFkLWdyYXBoLmMKQEAgLTAsMCArMSw1MyBAQAorI2luY2x1ZGUgInRlc3QtdG9vbC5oIgorI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29tbWl0LWdyYXBoLmgiCisjaW5jbHVkZSAicmVwb3NpdG9yeS5oIgorI2luY2x1ZGUgIm9iamVjdC1zdG9yZS5oIgorCitpbnQgY21kX19yZWFkX2dyYXBoKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgY29tbWl0X2dyYXBoICpncmFwaCA9IE5VTEw7CisJY2hhciAqZ3JhcGhfbmFtZTsKKwlpbnQgb3Blbl9vazsKKwlpbnQgZmQ7CisJc3RydWN0IHN0YXQgc3Q7CisJc3RydWN0IG9iamVjdF9kaXJlY3RvcnkgKm9kYjsKKworCXNldHVwX2dpdF9kaXJlY3RvcnkoKTsKKwlvZGIgPSB0aGVfcmVwb3NpdG9yeS0+b2JqZWN0cy0+b2RiOworCisJZ3JhcGhfbmFtZSA9IGdldF9jb21taXRfZ3JhcGhfZmlsZW5hbWUob2RiKTsKKworCW9wZW5fb2sgPSBvcGVuX2NvbW1pdF9ncmFwaChncmFwaF9uYW1lLCAmZmQsICZzdCk7CisJaWYgKCFvcGVuX29rKQorCQlkaWVfZXJybm8oXygiQ291bGQgbm90IG9wZW4gY29tbWl0LWdyYXBoICclcyciKSwgZ3JhcGhfbmFtZSk7CisKKwlncmFwaCA9IGxvYWRfY29tbWl0X2dyYXBoX29uZV9mZF9zdChmZCwgJnN0LCBvZGIpOworCWlmICghZ3JhcGgpCisJCXJldHVybiAxOworCisJRlJFRV9BTkRfTlVMTChncmFwaF9uYW1lKTsKKworCXByaW50ZigiaGVhZGVyOiAlMDh4ICVkICVkICVkICVkXG4iLAorCQludG9obCgqKHVpbnQzMl90KilncmFwaC0+ZGF0YSksCisJCSoodW5zaWduZWQgY2hhciopKGdyYXBoLT5kYXRhICsgNCksCisJCSoodW5zaWduZWQgY2hhciopKGdyYXBoLT5kYXRhICsgNSksCisJCSoodW5zaWduZWQgY2hhciopKGdyYXBoLT5kYXRhICsgNiksCisJCSoodW5zaWduZWQgY2hhciopKGdyYXBoLT5kYXRhICsgNykpOworCXByaW50ZigibnVtX2NvbW1pdHM6ICV1XG4iLCBncmFwaC0+bnVtX2NvbW1pdHMpOworCXByaW50ZigiY2h1bmtzOiIpOworCisJaWYgKGdyYXBoLT5jaHVua19vaWRfZmFub3V0KQorCQlwcmludGYoIiBvaWRfZmFub3V0Iik7CisJaWYgKGdyYXBoLT5jaHVua19vaWRfbG9va3VwKQorCQlwcmludGYoIiBvaWRfbG9va3VwIik7CisJaWYgKGdyYXBoLT5jaHVua19jb21taXRfZGF0YSkKKwkJcHJpbnRmKCIgY29tbWl0X21ldGFkYXRhIik7CisJaWYgKGdyYXBoLT5jaHVua19leHRyYV9lZGdlcykKKwkJcHJpbnRmKCIgZXh0cmFfZWRnZXMiKTsKKwlwcmludGYoIlxuIik7CisKKwlVTkxFQUsoZ3JhcGgpOworCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LXJlZi1zdG9yZS5jIGIvdC9oZWxwZXIvdGVzdC1yZWYtc3RvcmUuYwppbmRleCBlOWUwNTQxLi43OTlmYzAwIDEwMDY0NAotLS0gYS90L2hlbHBlci90ZXN0LXJlZi1zdG9yZS5jCisrKyBiL3QvaGVscGVyL3Rlc3QtcmVmLXN0b3JlLmMKQEAgLTIzMyw3ICsyMzMsNyBAQAogewogCWNvbnN0IGNoYXIgKm1zZyA9IG5vdG51bGwoKmFyZ3YrKywgIm1zZyIpOwogCWNvbnN0IGNoYXIgKnJlZm5hbWUgPSBub3RudWxsKCphcmd2KyssICJyZWZuYW1lIik7Ci0JY29uc3QgY2hhciAqbmV3X3NoYTFfYnVmID0gbm90bnVsbCgqYXJndisrLCAib2xkLXNoYTEiKTsKKwljb25zdCBjaGFyICpuZXdfc2hhMV9idWYgPSBub3RudWxsKCphcmd2KyssICJuZXctc2hhMSIpOwogCWNvbnN0IGNoYXIgKm9sZF9zaGExX2J1ZiA9IG5vdG51bGwoKmFyZ3YrKywgIm9sZC1zaGExIik7CiAJdW5zaWduZWQgaW50IGZsYWdzID0gYXJnX2ZsYWdzKCphcmd2KyssICJmbGFncyIpOwogCXN0cnVjdCBvYmplY3RfaWQgb2xkX29pZDsKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtcmVwb3NpdG9yeS5jIGIvdC9oZWxwZXIvdGVzdC1yZXBvc2l0b3J5LmMKaW5kZXggNmE4NGE1My4uZjdmODYxOCAxMDA2NDQKLS0tIGEvdC9oZWxwZXIvdGVzdC1yZXBvc2l0b3J5LmMKKysrIGIvdC9oZWxwZXIvdGVzdC1yZXBvc2l0b3J5LmMKQEAgLTE3LDYgKzE3LDExIEBACiAKIAlzZXR1cF9naXRfZW52KGdpdGRpcik7CiAKKwltZW1zZXQodGhlX3JlcG9zaXRvcnksIDAsIHNpemVvZigqdGhlX3JlcG9zaXRvcnkpKTsKKworCS8qIFRPRE86IE5lZWRlZCBmb3IgdGVtcG9yYXJ5IGhhY2sgaW4gaGFzaGNtcCwgc2VlIDE4M2E2MzhiN2RhLiAqLworCXJlcG9fc2V0X2hhc2hfYWxnbyh0aGVfcmVwb3NpdG9yeSwgR0lUX0hBU0hfU0hBMSk7CisKIAlpZiAocmVwb19pbml0KCZyLCBnaXRkaXIsIHdvcmt0cmVlKSkKIAkJZGllKCJDb3VsZG4ndCBpbml0IHJlcG8iKTsKIApAQCAtNDMsNiArNDgsMTEgQEAKIAogCXNldHVwX2dpdF9lbnYoZ2l0ZGlyKTsKIAorCW1lbXNldCh0aGVfcmVwb3NpdG9yeSwgMCwgc2l6ZW9mKCp0aGVfcmVwb3NpdG9yeSkpOworCisJLyogVE9ETzogTmVlZGVkIGZvciB0ZW1wb3JhcnkgaGFjayBpbiBoYXNoY21wLCBzZWUgMTgzYTYzOGI3ZGEuICovCisJcmVwb19zZXRfaGFzaF9hbGdvKHRoZV9yZXBvc2l0b3J5LCBHSVRfSEFTSF9TSEExKTsKKwogCWlmIChyZXBvX2luaXQoJnIsIGdpdGRpciwgd29ya3RyZWUpKQogCQlkaWUoIkNvdWxkbid0IGluaXQgcmVwbyIpOwogCmRpZmYgLS1naXQgYS90L2hlbHBlci90ZXN0LXJ1bi1jb21tYW5kLmMgYi90L2hlbHBlci90ZXN0LXJ1bi1jb21tYW5kLmMKaW5kZXggODU3OWIxZi4uMTY0NmFhMiAxMDA2NDQKLS0tIGEvdC9oZWxwZXIvdGVzdC1ydW4tY29tbWFuZC5jCisrKyBiL3QvaGVscGVyL3Rlc3QtcnVuLWNvbW1hbmQuYwpAQCAtMTAsOSArMTAsMTQgQEAKIAogI2luY2x1ZGUgInRlc3QtdG9vbC5oIgogI2luY2x1ZGUgImdpdC1jb21wYXQtdXRpbC5oIgorI2luY2x1ZGUgImNhY2hlLmgiCiAjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKICNpbmNsdWRlICJhcmd2LWFycmF5LmgiCiAjaW5jbHVkZSAic3RyYnVmLmgiCisjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgorI2luY2x1ZGUgInN0cmluZy1saXN0LmgiCisjaW5jbHVkZSAidGhyZWFkLXV0aWxzLmgiCisjaW5jbHVkZSAid2lsZG1hdGNoLmgiCiAjaW5jbHVkZSAiZ2V0dGV4dC5oIgogI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKIApAQCAtNTAsNiArNTUsMTUxIEBACiAJcmV0dXJuIDE7CiB9CiAKK3N0cnVjdCB0ZXN0c3VpdGUgeworCXN0cnVjdCBzdHJpbmdfbGlzdCB0ZXN0cywgZmFpbGVkOworCWludCBuZXh0OworCWludCBxdWlldCwgaW1tZWRpYXRlLCB2ZXJib3NlLCB2ZXJib3NlX2xvZywgdHJhY2UsIHdyaXRlX2p1bml0X3htbDsKK307CisjZGVmaW5lIFRFU1RTVUlURV9JTklUIFwKKwl7IFNUUklOR19MSVNUX0lOSVRfRFVQLCBTVFJJTkdfTElTVF9JTklUX0RVUCwgLTEsIDAsIDAsIDAsIDAsIDAsIDAgfQorCitzdGF0aWMgaW50IG5leHRfdGVzdChzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY3AsIHN0cnVjdCBzdHJidWYgKmVyciwgdm9pZCAqY2IsCisJCSAgICAgdm9pZCAqKnRhc2tfY2IpCit7CisJc3RydWN0IHRlc3RzdWl0ZSAqc3VpdGUgPSBjYjsKKwljb25zdCBjaGFyICp0ZXN0OworCWlmIChzdWl0ZS0+bmV4dCA+PSBzdWl0ZS0+dGVzdHMubnIpCisJCXJldHVybiAwOworCisJdGVzdCA9IHN1aXRlLT50ZXN0cy5pdGVtc1tzdWl0ZS0+bmV4dCsrXS5zdHJpbmc7CisJYXJndl9hcnJheV9wdXNobCgmY3AtPmFyZ3MsICJzaCIsIHRlc3QsIE5VTEwpOworCWlmIChzdWl0ZS0+cXVpZXQpCisJCWFyZ3ZfYXJyYXlfcHVzaCgmY3AtPmFyZ3MsICItLXF1aWV0Iik7CisJaWYgKHN1aXRlLT5pbW1lZGlhdGUpCisJCWFyZ3ZfYXJyYXlfcHVzaCgmY3AtPmFyZ3MsICItaSIpOworCWlmIChzdWl0ZS0+dmVyYm9zZSkKKwkJYXJndl9hcnJheV9wdXNoKCZjcC0+YXJncywgIi12Iik7CisJaWYgKHN1aXRlLT52ZXJib3NlX2xvZykKKwkJYXJndl9hcnJheV9wdXNoKCZjcC0+YXJncywgIi1WIik7CisJaWYgKHN1aXRlLT50cmFjZSkKKwkJYXJndl9hcnJheV9wdXNoKCZjcC0+YXJncywgIi14Iik7CisJaWYgKHN1aXRlLT53cml0ZV9qdW5pdF94bWwpCisJCWFyZ3ZfYXJyYXlfcHVzaCgmY3AtPmFyZ3MsICItLXdyaXRlLWp1bml0LXhtbCIpOworCisJc3RyYnVmX2FkZGYoZXJyLCAiT3V0cHV0IG9mICclcyc6XG4iLCB0ZXN0KTsKKwkqdGFza19jYiA9ICh2b2lkICopdGVzdDsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IHRlc3RfZmluaXNoZWQoaW50IHJlc3VsdCwgc3RydWN0IHN0cmJ1ZiAqZXJyLCB2b2lkICpjYiwKKwkJCSB2b2lkICp0YXNrX2NiKQoreworCXN0cnVjdCB0ZXN0c3VpdGUgKnN1aXRlID0gY2I7CisJY29uc3QgY2hhciAqbmFtZSA9IChjb25zdCBjaGFyICopdGFza19jYjsKKworCWlmIChyZXN1bHQpCisJCXN0cmluZ19saXN0X2FwcGVuZCgmc3VpdGUtPmZhaWxlZCwgbmFtZSk7CisKKwlzdHJidWZfYWRkZihlcnIsICIlczogJyVzJ1xuIiwgcmVzdWx0ID8gIkZBSUwiIDogIlNVQ0NFU1MiLCBuYW1lKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHRlc3RfZmFpbGVkKHN0cnVjdCBzdHJidWYgKm91dCwgdm9pZCAqY2IsIHZvaWQgKnRhc2tfY2IpCit7CisJc3RydWN0IHRlc3RzdWl0ZSAqc3VpdGUgPSBjYjsKKwljb25zdCBjaGFyICpuYW1lID0gKGNvbnN0IGNoYXIgKil0YXNrX2NiOworCisJc3RyaW5nX2xpc3RfYXBwZW5kKCZzdWl0ZS0+ZmFpbGVkLCBuYW1lKTsKKwlzdHJidWZfYWRkZihvdXQsICJGQUlMRUQgVE8gU1RBUlQ6ICclcydcbiIsIG5hbWUpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdGVzdHN1aXRlX3VzYWdlW10gPSB7CisJInRlc3QtcnVuLWNvbW1hbmQgdGVzdHN1aXRlIFs8b3B0aW9ucz5dIFs8cGF0dGVybj4uLi5dIiwKKwlOVUxMCit9OworCitzdGF0aWMgaW50IHRlc3RzdWl0ZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IHRlc3RzdWl0ZSBzdWl0ZSA9IFRFU1RTVUlURV9JTklUOworCWludCBtYXhfam9icyA9IDEsIGksIHJldDsKKwlESVIgKmRpcjsKKwlzdHJ1Y3QgZGlyZW50ICpkOworCXN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0geworCQlPUFRfQk9PTCgnaScsICJpbW1lZGlhdGUiLCAmc3VpdGUuaW1tZWRpYXRlLAorCQkJICJzdG9wIGF0IGZpcnN0IGZhaWxlZCB0ZXN0IGNhc2UocykiKSwKKwkJT1BUX0lOVEVHRVIoJ2onLCAiam9icyIsICZtYXhfam9icywgInJ1biA8Tj4gam9icyBpbiBwYXJhbGxlbCIpLAorCQlPUFRfQk9PTCgncScsICJxdWlldCIsICZzdWl0ZS5xdWlldCwgImJlIHRlcnNlIiksCisJCU9QVF9CT09MKCd2JywgInZlcmJvc2UiLCAmc3VpdGUudmVyYm9zZSwgImJlIHZlcmJvc2UiKSwKKwkJT1BUX0JPT0woJ1YnLCAidmVyYm9zZS1sb2ciLCAmc3VpdGUudmVyYm9zZV9sb2csCisJCQkgImJlIHZlcmJvc2UsIHJlZGlyZWN0ZWQgdG8gYSBmaWxlIiksCisJCU9QVF9CT09MKCd4JywgInRyYWNlIiwgJnN1aXRlLnRyYWNlLCAidHJhY2Ugc2hlbGwgY29tbWFuZHMiKSwKKwkJT1BUX0JPT0woMCwgIndyaXRlLWp1bml0LXhtbCIsICZzdWl0ZS53cml0ZV9qdW5pdF94bWwsCisJCQkgIndyaXRlIEpVbml0LXN0eWxlIFhNTCBmaWxlcyIpLAorCQlPUFRfRU5EKCkKKwl9OworCisJbWVtc2V0KCZzdWl0ZSwgMCwgc2l6ZW9mKHN1aXRlKSk7CisJc3VpdGUudGVzdHMuc3RyZHVwX3N0cmluZ3MgPSBzdWl0ZS5mYWlsZWQuc3RyZHVwX3N0cmluZ3MgPSAxOworCisJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgTlVMTCwgb3B0aW9ucywKKwkJCXRlc3RzdWl0ZV91c2FnZSwgUEFSU0VfT1BUX1NUT1BfQVRfTk9OX09QVElPTik7CisKKwlpZiAobWF4X2pvYnMgPD0gMCkKKwkJbWF4X2pvYnMgPSBvbmxpbmVfY3B1cygpOworCisJZGlyID0gb3BlbmRpcigiLiIpOworCWlmICghZGlyKQorCQlkaWUoIkNvdWxkIG5vdCBvcGVuIHRoZSBjdXJyZW50IGRpcmVjdG9yeSIpOworCXdoaWxlICgoZCA9IHJlYWRkaXIoZGlyKSkpIHsKKwkJY29uc3QgY2hhciAqcCA9IGQtPmRfbmFtZTsKKworCQlpZiAoKnAgIT0gJ3QnIHx8ICFpc2RpZ2l0KHBbMV0pIHx8ICFpc2RpZ2l0KHBbMl0pIHx8CisJCSAgICAhaXNkaWdpdChwWzNdKSB8fCAhaXNkaWdpdChwWzRdKSB8fCBwWzVdICE9ICctJyB8fAorCQkgICAgIWVuZHNfd2l0aChwLCAiLnNoIikpCisJCQljb250aW51ZTsKKworCQkvKiBObyBwYXR0ZXJuOiBtYXRjaCBhbGwgKi8KKwkJaWYgKCFhcmdjKSB7CisJCQlzdHJpbmdfbGlzdF9hcHBlbmQoJnN1aXRlLnRlc3RzLCBwKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykKKwkJCWlmICghd2lsZG1hdGNoKGFyZ3ZbaV0sIHAsIDApKSB7CisJCQkJc3RyaW5nX2xpc3RfYXBwZW5kKCZzdWl0ZS50ZXN0cywgcCk7CisJCQkJYnJlYWs7CisJCQl9CisJfQorCWNsb3NlZGlyKGRpcik7CisKKwlpZiAoIXN1aXRlLnRlc3RzLm5yKQorCQlkaWUoIk5vIHRlc3RzIG1hdGNoISIpOworCWlmIChtYXhfam9icyA+IHN1aXRlLnRlc3RzLm5yKQorCQltYXhfam9icyA9IHN1aXRlLnRlc3RzLm5yOworCisJZnByaW50ZihzdGRlcnIsICJSdW5uaW5nICVkIHRlc3RzICglZCBhdCBhIHRpbWUpXG4iLAorCQlzdWl0ZS50ZXN0cy5uciwgbWF4X2pvYnMpOworCisJcmV0ID0gcnVuX3Byb2Nlc3Nlc19wYXJhbGxlbChtYXhfam9icywgbmV4dF90ZXN0LCB0ZXN0X2ZhaWxlZCwKKwkJCQkgICAgIHRlc3RfZmluaXNoZWQsICZzdWl0ZSk7CisKKwlpZiAoc3VpdGUuZmFpbGVkLm5yID4gMCkgeworCQlyZXQgPSAxOworCQlmcHJpbnRmKHN0ZGVyciwgIiVkIHRlc3RzIGZhaWxlZDpcblxuIiwgc3VpdGUuZmFpbGVkLm5yKTsKKwkJZm9yIChpID0gMDsgaSA8IHN1aXRlLmZhaWxlZC5ucjsgaSsrKQorCQkJZnByaW50ZihzdGRlcnIsICJcdCVzXG4iLCBzdWl0ZS5mYWlsZWQuaXRlbXNbaV0uc3RyaW5nKTsKKwl9CisKKwlzdHJpbmdfbGlzdF9jbGVhcigmc3VpdGUudGVzdHMsIDApOworCXN0cmluZ19saXN0X2NsZWFyKCZzdWl0ZS5mYWlsZWQsIDApOworCisJcmV0dXJuICEhcmV0OworfQorCiBzdGF0aWMgdWludDY0X3QgbXlfcmFuZG9tX25leHQgPSAxMjM0OwogCiBzdGF0aWMgdWludDY0X3QgbXlfcmFuZG9tKHZvaWQpCkBAIC0xNzgsMTEgKzMyOCw1OCBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGluaGVyaXRfaGFuZGxlKGNvbnN0IGNoYXIgKmFyZ3YwKQoreworCXN0cnVjdCBjaGlsZF9wcm9jZXNzIGNwID0gQ0hJTERfUFJPQ0VTU19JTklUOworCWNoYXIgcGF0aFtQQVRIX01BWF07CisJaW50IHRtcDsKKworCS8qIEZpcnN0LCBvcGVuIGFuIGluaGVyaXRhYmxlIGhhbmRsZSAqLworCXhzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksICJvdXQtWFhYWFhYIik7CisJdG1wID0geG1rc3RlbXAocGF0aCk7CisKKwlhcmd2X2FycmF5X3B1c2hsKCZjcC5hcmdzLAorCQkJICJ0ZXN0LXRvb2wiLCBhcmd2MCwgImluaGVyaXRlZC1oYW5kbGUtY2hpbGQiLCBOVUxMKTsKKwljcC5pbiA9IC0xOworCWNwLm5vX3N0ZG91dCA9IGNwLm5vX3N0ZGVyciA9IDE7CisJaWYgKHN0YXJ0X2NvbW1hbmQoJmNwKSA8IDApCisJCWRpZSgiQ291bGQgbm90IHN0YXJ0IGNoaWxkIHByb2Nlc3MiKTsKKworCS8qIFRoZW4gY2xvc2UgaXQsIGFuZCB0cnkgdG8gZGVsZXRlIGl0LiAqLworCWNsb3NlKHRtcCk7CisJaWYgKHVubGluayhwYXRoKSkKKwkJZGllKCJDb3VsZCBub3QgZGVsZXRlICclcyciLCBwYXRoKTsKKworCWlmIChjbG9zZShjcC5pbikgPCAwIHx8IGZpbmlzaF9jb21tYW5kKCZjcCkgPCAwKQorCQlkaWUoIkNoaWxkIGRpZCBub3QgZmluaXNoIik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpbmhlcml0X2hhbmRsZV9jaGlsZCh2b2lkKQoreworCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisKKwlpZiAoc3RyYnVmX3JlYWQoJmJ1ZiwgMCwgMCkgPCAwKQorCQlkaWUoIkNvdWxkIG5vdCByZWFkIHN0ZGluIik7CisJcHJpbnRmKCJSZWNlaXZlZCAlc1xuIiwgYnVmLmJ1Zik7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zik7CisKKwlyZXR1cm4gMDsKK30KKwogaW50IGNtZF9fcnVuX2NvbW1hbmQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQogewogCXN0cnVjdCBjaGlsZF9wcm9jZXNzIHByb2MgPSBDSElMRF9QUk9DRVNTX0lOSVQ7CiAJaW50IGpvYnM7CiAKKwlpZiAoYXJnYyA+IDEgJiYgIXN0cmNtcChhcmd2WzFdLCAidGVzdHN1aXRlIikpCisJCWV4aXQodGVzdHN1aXRlKGFyZ2MgLSAxLCBhcmd2ICsgMSkpOworCWlmICghc3RyY21wKGFyZ3ZbMV0sICJpbmhlcml0ZWQtaGFuZGxlIikpCisJCWV4aXQoaW5oZXJpdF9oYW5kbGUoYXJndlswXSkpOworCWlmICghc3RyY21wKGFyZ3ZbMV0sICJpbmhlcml0ZWQtaGFuZGxlLWNoaWxkIikpCisJCWV4aXQoaW5oZXJpdF9oYW5kbGVfY2hpbGQoKSk7CisKIAlpZiAoYXJnYyA+PSAyICYmICFzdHJjbXAoYXJndlsxXSwgInF1b3RlLXN0cmVzcy10ZXN0IikpCiAJCXJldHVybiAhIXF1b3RlX3N0cmVzc190ZXN0KGFyZ2MgLSAxLCBhcmd2ICsgMSk7CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW4vc2VydmUuYyBiL3QvaGVscGVyL3Rlc3Qtc2VydmUtdjIuYwpzaW1pbGFyaXR5IGluZGV4IDgwJQpyZW5hbWUgZnJvbSBidWlsdGluL3NlcnZlLmMKcmVuYW1lIHRvIHQvaGVscGVyL3Rlc3Qtc2VydmUtdjIuYwppbmRleCBkM2ZkMjQwLi5hZWUzNWU1IDEwMDY0NAotLS0gYS9idWlsdGluL3NlcnZlLmMKKysrIGIvdC9oZWxwZXIvdGVzdC1zZXJ2ZS12Mi5jCkBAIC0xLDE0ICsxLDE0IEBACisjaW5jbHVkZSAidGVzdC10b29sLmgiCiAjaW5jbHVkZSAiY2FjaGUuaCIKLSNpbmNsdWRlICJidWlsdGluLmgiCiAjaW5jbHVkZSAicGFyc2Utb3B0aW9ucy5oIgogI2luY2x1ZGUgInNlcnZlLmgiCiAKIHN0YXRpYyBjaGFyIGNvbnN0ICogY29uc3Qgc2VydmVfdXNhZ2VbXSA9IHsKLQlOXygiZ2l0IHNlcnZlIFs8b3B0aW9ucz5dIiksCisJTl8oInRlc3QtdG9vbCBzZXJ2ZS12MiBbPG9wdGlvbnM+XSIpLAogCU5VTEwKIH07CiAKLWludCBjbWRfc2VydmUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2LCBjb25zdCBjaGFyICpwcmVmaXgpCitpbnQgY21kX19zZXJ2ZV92MihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCiB7CiAJc3RydWN0IHNlcnZlX29wdGlvbnMgb3B0cyA9IFNFUlZFX09QVElPTlNfSU5JVDsKIApAQCAtMTksNiArMTksNyBAQAogCQkJIE5fKCJleGl0IGltbWVkaWF0ZWx5IGFmdGVyIGFkdmVydGlzaW5nIGNhcGFiaWxpdGllcyIpKSwKIAkJT1BUX0VORCgpCiAJfTsKKwljb25zdCBjaGFyICpwcmVmaXggPSBzZXR1cF9naXRfZGlyZWN0b3J5KCk7CiAKIAkvKiBpZ25vcmUgYWxsIHVua25vd24gY21kbGluZSBzd2l0Y2hlcyBmb3Igbm93ICovCiAJYXJnYyA9IHBhcnNlX29wdGlvbnMoYXJnYywgYXJndiwgcHJlZml4LCBvcHRpb25zLCBzZXJ2ZV91c2FnZSwKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3Qtc2hhMS5jIGIvdC9oZWxwZXIvdGVzdC1zaGExLmMKaW5kZXggMWJhMDY3NS4uZDg2MGMzOCAxMDA2NDQKLS0tIGEvdC9oZWxwZXIvdGVzdC1zaGExLmMKKysrIGIvdC9oZWxwZXIvdGVzdC1zaGExLmMKQEAgLTMsNTUgKzMsNSBAQAogCiBpbnQgY21kX19zaGExKGludCBhYywgY29uc3QgY2hhciAqKmF2KQogewotCWdpdF9TSEFfQ1RYIGN0eDsKLQl1bnNpZ25lZCBjaGFyIHNoYTFbMjBdOwotCXVuc2lnbmVkIGJ1ZnN6ID0gODE5MjsKLQlpbnQgYmluYXJ5ID0gMDsKLQljaGFyICpidWZmZXI7Ci0KLQlpZiAoYWMgPT0gMikgewotCQlpZiAoIXN0cmNtcChhdlsxXSwgIi1iIikpCi0JCQliaW5hcnkgPSAxOwotCQllbHNlCi0JCQlidWZzeiA9IHN0cnRvdWwoYXZbMV0sIE5VTEwsIDEwKSAqIDEwMjQgKiAxMDI0OwotCX0KLQotCWlmICghYnVmc3opCi0JCWJ1ZnN6ID0gODE5MjsKLQotCXdoaWxlICgoYnVmZmVyID0gbWFsbG9jKGJ1ZnN6KSkgPT0gTlVMTCkgewotCQlmcHJpbnRmKHN0ZGVyciwgImJ1ZnN6ICV1IGlzIHRvbyBiaWcsIGhhbHZpbmcuLi5cbiIsIGJ1ZnN6KTsKLQkJYnVmc3ogLz0gMjsKLQkJaWYgKGJ1ZnN6IDwgMTAyNCkKLQkJCWRpZSgiT09QUyIpOwotCX0KLQotCWdpdF9TSEExX0luaXQoJmN0eCk7Ci0KLQl3aGlsZSAoMSkgewotCQlzc2l6ZV90IHN6LCB0aGlzX3N6OwotCQljaGFyICpjcCA9IGJ1ZmZlcjsKLQkJdW5zaWduZWQgcm9vbSA9IGJ1ZnN6OwotCQl0aGlzX3N6ID0gMDsKLQkJd2hpbGUgKHJvb20pIHsKLQkJCXN6ID0geHJlYWQoMCwgY3AsIHJvb20pOwotCQkJaWYgKHN6ID09IDApCi0JCQkJYnJlYWs7Ci0JCQlpZiAoc3ogPCAwKQotCQkJCWRpZV9lcnJubygidGVzdC1zaGExIik7Ci0JCQl0aGlzX3N6ICs9IHN6OwotCQkJY3AgKz0gc3o7Ci0JCQlyb29tIC09IHN6OwotCQl9Ci0JCWlmICh0aGlzX3N6ID09IDApCi0JCQlicmVhazsKLQkJZ2l0X1NIQTFfVXBkYXRlKCZjdHgsIGJ1ZmZlciwgdGhpc19zeik7Ci0JfQotCWdpdF9TSEExX0ZpbmFsKHNoYTEsICZjdHgpOwotCi0JaWYgKGJpbmFyeSkKLQkJZndyaXRlKHNoYTEsIDEsIDIwLCBzdGRvdXQpOwotCWVsc2UKLQkJcHV0cyhzaGExX3RvX2hleChzaGExKSk7Ci0JZXhpdCgwKTsKKwlyZXR1cm4gY21kX2hhc2hfaW1wbChhYywgYXYsIEdJVF9IQVNIX1NIQTEpOwogfQpkaWZmIC0tZ2l0IGEvdC9oZWxwZXIvdGVzdC1zaGEyNTYuYyBiL3QvaGVscGVyL3Rlc3Qtc2hhMjU2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGFjNmE5OQotLS0gL2Rldi9udWxsCisrKyBiL3QvaGVscGVyL3Rlc3Qtc2hhMjU2LmMKQEAgLTAsMCArMSw3IEBACisjaW5jbHVkZSAidGVzdC10b29sLmgiCisjaW5jbHVkZSAiY2FjaGUuaCIKKworaW50IGNtZF9fc2hhMjU2KGludCBhYywgY29uc3QgY2hhciAqKmF2KQoreworCXJldHVybiBjbWRfaGFzaF9pbXBsKGFjLCBhdiwgR0lUX0hBU0hfU0hBMjU2KTsKK30KZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3Qtc2lnY2hhaW4uYyBiL3QvaGVscGVyL3Rlc3Qtc2lnY2hhaW4uYwppbmRleCA3N2FjNWJjLi5kMDEzYmNjIDEwMDY0NAotLS0gYS90L2hlbHBlci90ZXN0LXNpZ2NoYWluLmMKKysrIGIvdC9oZWxwZXIvdGVzdC1zaWdjaGFpbi5jCkBAIC0xNCw3ICsxNCw4IEBACiBYKHRocmVlKQogI3VuZGVmIFgKIAotaW50IGNtZF9fc2lnY2hhaW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KSB7CitpbnQgY21kX19zaWdjaGFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCit7CiAJc2lnY2hhaW5fcHVzaChTSUdURVJNLCBvbmUpOwogCXNpZ2NoYWluX3B1c2goU0lHVEVSTSwgdHdvKTsKIAlzaWdjaGFpbl9wdXNoKFNJR1RFUk0sIHRocmVlKTsKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3Qtc3VibW9kdWxlLW5lc3RlZC1yZXBvLWNvbmZpZy5jIGIvdC9oZWxwZXIvdGVzdC1zdWJtb2R1bGUtbmVzdGVkLXJlcG8tY29uZmlnLmMKaW5kZXggYTMxZTJhOS4uYmM5NzkyOSAxMDA2NDQKLS0tIGEvdC9oZWxwZXIvdGVzdC1zdWJtb2R1bGUtbmVzdGVkLXJlcG8tY29uZmlnLmMKKysrIGIvdC9oZWxwZXIvdGVzdC1zdWJtb2R1bGUtbmVzdGVkLXJlcG8tY29uZmlnLmMKQEAgLTEwLDE5ICsxMCwyMSBAQAogCiBpbnQgY21kX19zdWJtb2R1bGVfbmVzdGVkX3JlcG9fY29uZmlnKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKIHsKLQlzdHJ1Y3QgcmVwb3NpdG9yeSBzdWJtb2R1bGU7CisJc3RydWN0IHJlcG9zaXRvcnkgc3VicmVwbzsKKwljb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWI7CiAKIAlpZiAoYXJnYyA8IDMpCiAJCWRpZV91c2FnZShhcmdjLCBhcmd2LCAiV3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cy4iKTsKIAogCXNldHVwX2dpdF9kaXJlY3RvcnkoKTsKIAotCWlmIChyZXBvX3N1Ym1vZHVsZV9pbml0KCZzdWJtb2R1bGUsIHRoZV9yZXBvc2l0b3J5LCBhcmd2WzFdKSkgeworCXN1YiA9IHN1Ym1vZHVsZV9mcm9tX3BhdGgodGhlX3JlcG9zaXRvcnksICZudWxsX29pZCwgYXJndlsxXSk7CisJaWYgKHJlcG9fc3VibW9kdWxlX2luaXQoJnN1YnJlcG8sIHRoZV9yZXBvc2l0b3J5LCBzdWIpKSB7CiAJCWRpZV91c2FnZShhcmdjLCBhcmd2LCAiU3VibW9kdWxlIG5vdCBmb3VuZC4iKTsKIAl9CiAKIAkvKiBSZWFkIHRoZSBjb25maWcgb2YgX2NoaWxkXyBzdWJtb2R1bGVzLiAqLwotCXByaW50X2NvbmZpZ19mcm9tX2dpdG1vZHVsZXMoJnN1Ym1vZHVsZSwgYXJndlsyXSk7CisJcHJpbnRfY29uZmlnX2Zyb21fZ2l0bW9kdWxlcygmc3VicmVwbywgYXJndlsyXSk7CiAKIAlzdWJtb2R1bGVfZnJlZSh0aGVfcmVwb3NpdG9yeSk7CiAKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtdG9vbC5jIGIvdC9oZWxwZXIvdGVzdC10b29sLmMKaW5kZXggYmZiMTk1Yi4uYzlhMjMyZCAxMDA2NDQKLS0tIGEvdC9oZWxwZXIvdGVzdC10b29sLmMKKysrIGIvdC9oZWxwZXIvdGVzdC10b29sLmMKQEAgLTEsNSArMSwxMiBAQAogI2luY2x1ZGUgImdpdC1jb21wYXQtdXRpbC5oIgogI2luY2x1ZGUgInRlc3QtdG9vbC5oIgorI2luY2x1ZGUgInRyYWNlMi5oIgorI2luY2x1ZGUgInBhcnNlLW9wdGlvbnMuaCIKKworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB0ZXN0X3Rvb2xfdXNhZ2VbXSA9IHsKKwkidGVzdC10b29sIFstQyA8ZGlyZWN0b3J5Pl0gPGNvbW1hbmQgWzxhcmd1bWVudHM+Li4uXV0iLAorCU5VTEwKK307CiAKIHN0cnVjdCB0ZXN0X2NtZCB7CiAJY29uc3QgY2hhciAqbmFtZTsKQEAgLTEyLDYgKzE5LDcgQEAKIAl7ICJjdHlwZSIsIGNtZF9fY3R5cGUgfSwKIAl7ICJkYXRlIiwgY21kX19kYXRlIH0sCiAJeyAiZGVsdGEiLCBjbWRfX2RlbHRhIH0sCisJeyAiZGlyLWl0ZXJhdG9yIiwgY21kX19kaXJfaXRlcmF0b3IgfSwKIAl7ICJkcm9wLWNhY2hlcyIsIGNtZF9fZHJvcF9jYWNoZXMgfSwKIAl7ICJkdW1wLWNhY2hlLXRyZWUiLCBjbWRfX2R1bXBfY2FjaGVfdHJlZSB9LAogCXsgImR1bXAtZnNtb25pdG9yIiwgY21kX19kdW1wX2ZzbW9uaXRvciB9LApAQCAtMTksMjAgKzI3LDI2IEBACiAJeyAiZHVtcC11bnRyYWNrZWQtY2FjaGUiLCBjbWRfX2R1bXBfdW50cmFja2VkX2NhY2hlIH0sCiAJeyAiZXhhbXBsZS1kZWNvcmF0ZSIsIGNtZF9fZXhhbXBsZV9kZWNvcmF0ZSB9LAogCXsgImdlbnJhbmRvbSIsIGNtZF9fZ2VucmFuZG9tIH0sCisJeyAiZ2VuemVyb3MiLCBjbWRfX2dlbnplcm9zIH0sCiAJeyAiaGFzaG1hcCIsIGNtZF9faGFzaG1hcCB9LAorCXsgImhhc2gtc3BlZWQiLCBjbWRfX2hhc2hfc3BlZWQgfSwKIAl7ICJpbmRleC12ZXJzaW9uIiwgY21kX19pbmRleF92ZXJzaW9uIH0sCiAJeyAianNvbi13cml0ZXIiLCBjbWRfX2pzb25fd3JpdGVyIH0sCiAJeyAibGF6eS1pbml0LW5hbWUtaGFzaCIsIGNtZF9fbGF6eV9pbml0X25hbWVfaGFzaCB9LAogCXsgIm1hdGNoLXRyZWVzIiwgY21kX19tYXRjaF90cmVlcyB9LAogCXsgIm1lcmdlc29ydCIsIGNtZF9fbWVyZ2Vzb3J0IH0sCiAJeyAibWt0ZW1wIiwgY21kX19ta3RlbXAgfSwKKwl7ICJvaWRtYXAiLCBjbWRfX29pZG1hcCB9LAogCXsgIm9ubGluZS1jcHVzIiwgY21kX19vbmxpbmVfY3B1cyB9LAogCXsgInBhcnNlLW9wdGlvbnMiLCBjbWRfX3BhcnNlX29wdGlvbnMgfSwKKwl7ICJwYXJzZS1wYXRoc3BlYy1maWxlIiwgY21kX19wYXJzZV9wYXRoc3BlY19maWxlIH0sCiAJeyAicGF0aC11dGlscyIsIGNtZF9fcGF0aF91dGlscyB9LAogCXsgInBrdC1saW5lIiwgY21kX19wa3RfbGluZSB9LAogCXsgInByaW8tcXVldWUiLCBjbWRfX3ByaW9fcXVldWUgfSwKKwl7ICJwcm9ncmVzcyIsIGNtZF9fcHJvZ3Jlc3MgfSwKIAl7ICJyZWFjaCIsIGNtZF9fcmVhY2ggfSwKIAl7ICJyZWFkLWNhY2hlIiwgY21kX19yZWFkX2NhY2hlIH0sCisJeyAicmVhZC1ncmFwaCIsIGNtZF9fcmVhZF9ncmFwaCB9LAogCXsgInJlYWQtbWlkeCIsIGNtZF9fcmVhZF9taWR4IH0sCiAJeyAicmVmLXN0b3JlIiwgY21kX19yZWZfc3RvcmUgfSwKIAl7ICJyZWdleCIsIGNtZF9fcmVnZXggfSwKQEAgLTQwLDE1ICs1NCwxOSBAQAogCXsgInJldmlzaW9uLXdhbGtpbmciLCBjbWRfX3JldmlzaW9uX3dhbGtpbmcgfSwKIAl7ICJydW4tY29tbWFuZCIsIGNtZF9fcnVuX2NvbW1hbmQgfSwKIAl7ICJzY3JhcC1jYWNoZS10cmVlIiwgY21kX19zY3JhcF9jYWNoZV90cmVlIH0sCisJeyAic2VydmUtdjIiLCBjbWRfX3NlcnZlX3YyIH0sCiAJeyAic2hhMSIsIGNtZF9fc2hhMSB9LAogCXsgInNoYTEtYXJyYXkiLCBjbWRfX3NoYTFfYXJyYXkgfSwKKwl7ICJzaGEyNTYiLCBjbWRfX3NoYTI1NiB9LAogCXsgInNpZ2NoYWluIiwgY21kX19zaWdjaGFpbiB9LAogCXsgInN0cmNtcC1vZmZzZXQiLCBjbWRfX3N0cmNtcF9vZmZzZXQgfSwKIAl7ICJzdHJpbmctbGlzdCIsIGNtZF9fc3RyaW5nX2xpc3QgfSwKIAl7ICJzdWJtb2R1bGUtY29uZmlnIiwgY21kX19zdWJtb2R1bGVfY29uZmlnIH0sCiAJeyAic3VibW9kdWxlLW5lc3RlZC1yZXBvLWNvbmZpZyIsIGNtZF9fc3VibW9kdWxlX25lc3RlZF9yZXBvX2NvbmZpZyB9LAogCXsgInN1YnByb2Nlc3MiLCBjbWRfX3N1YnByb2Nlc3MgfSwKKwl7ICJ0cmFjZTIiLCBjbWRfX3RyYWNlMiB9LAogCXsgInVybG1hdGNoLW5vcm1hbGl6YXRpb24iLCBjbWRfX3VybG1hdGNoX25vcm1hbGl6YXRpb24gfSwKKwl7ICJ4bWwtZW5jb2RlIiwgY21kX194bWxfZW5jb2RlIH0sCiAJeyAid2lsZG1hdGNoIiwgY21kX193aWxkbWF0Y2ggfSwKICNpZmRlZiBHSVRfV0lORE9XU19OQVRJVkUKIAl7ICJ3aW5kb3dzLW5hbWVkLXBpcGUiLCBjbWRfX3dpbmRvd3NfbmFtZWRfcGlwZSB9LApAQCAtNjksMTUgKzg3LDMwIEBACiBpbnQgY21kX21haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQogewogCWludCBpOworCWNvbnN0IGNoYXIgKndvcmtpbmdfZGlyZWN0b3J5ID0gTlVMTDsKKwlzdHJ1Y3Qgb3B0aW9uIG9wdGlvbnNbXSA9IHsKKwkJT1BUX1NUUklORygnQycsIE5VTEwsICZ3b3JraW5nX2RpcmVjdG9yeSwgImRpcmVjdG9yeSIsCisJCQkgICAiY2hhbmdlIHRoZSB3b3JraW5nIGRpcmVjdG9yeSIpLAorCQlPUFRfRU5EKCkKKwl9OwogCiAJQlVHX2V4aXRfY29kZSA9IDk5OworCWFyZ2MgPSBwYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YsIE5VTEwsIG9wdGlvbnMsIHRlc3RfdG9vbF91c2FnZSwKKwkJCSAgICAgUEFSU0VfT1BUX1NUT1BfQVRfTk9OX09QVElPTiB8CisJCQkgICAgIFBBUlNFX09QVF9LRUVQX0FSR1YwKTsKKwogCWlmIChhcmdjIDwgMikKIAkJZGllX3VzYWdlKCk7CiAKKwlpZiAod29ya2luZ19kaXJlY3RvcnkgJiYgY2hkaXIod29ya2luZ19kaXJlY3RvcnkpIDwgMCkKKwkJZGllKCJDb3VsZCBub3QgY2QgdG8gJyVzJyIsIHdvcmtpbmdfZGlyZWN0b3J5KTsKKwogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNtZHMpOyBpKyspIHsKIAkJaWYgKCFzdHJjbXAoY21kc1tpXS5uYW1lLCBhcmd2WzFdKSkgewogCQkJYXJndisrOwogCQkJYXJnYy0tOworCQkJdHJhY2UyX2NtZF9uYW1lKGNtZHNbaV0ubmFtZSk7CisJCQl0cmFjZTJfY21kX2xpc3RfY29uZmlnKCk7CiAJCQlyZXR1cm4gY21kc1tpXS5mbihhcmdjLCBhcmd2KTsKIAkJfQogCX0KZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtdG9vbC5oIGIvdC9oZWxwZXIvdGVzdC10b29sLmgKaW5kZXggMDQyZjEyNC4uYzg1NDlmZCAxMDA2NDQKLS0tIGEvdC9oZWxwZXIvdGVzdC10b29sLmgKKysrIGIvdC9oZWxwZXIvdGVzdC10b29sLmgKQEAgLTEsNiArMSw3IEBACiAjaWZuZGVmIFRFU1RfVE9PTF9ICiAjZGVmaW5lIFRFU1RfVE9PTF9ICiAKKyNkZWZpbmUgVVNFX1RIRV9JTkRFWF9DT01QQVRJQklMSVRZX01BQ1JPUwogI2luY2x1ZGUgImdpdC1jb21wYXQtdXRpbC5oIgogCiBpbnQgY21kX19jaG10aW1lKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CkBAIC04LDYgKzksNyBAQAogaW50IGNtZF9fY3R5cGUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKIGludCBjbWRfX2RhdGUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKIGludCBjbWRfX2RlbHRhKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CitpbnQgY21kX19kaXJfaXRlcmF0b3IoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKIGludCBjbWRfX2Ryb3BfY2FjaGVzKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiBpbnQgY21kX19kdW1wX2NhY2hlX3RyZWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKIGludCBjbWRfX2R1bXBfZnNtb25pdG9yKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CkBAIC0xNSwyMCArMTcsMjYgQEAKIGludCBjbWRfX2R1bXBfdW50cmFja2VkX2NhY2hlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiBpbnQgY21kX19leGFtcGxlX2RlY29yYXRlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiBpbnQgY21kX19nZW5yYW5kb20oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKK2ludCBjbWRfX2dlbnplcm9zKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiBpbnQgY21kX19oYXNobWFwKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CitpbnQgY21kX19oYXNoX3NwZWVkKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiBpbnQgY21kX19pbmRleF92ZXJzaW9uKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiBpbnQgY21kX19qc29uX3dyaXRlcihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOwogaW50IGNtZF9fbGF6eV9pbml0X25hbWVfaGFzaChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOwogaW50IGNtZF9fbWF0Y2hfdHJlZXMoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKIGludCBjbWRfX21lcmdlc29ydChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOwogaW50IGNtZF9fbWt0ZW1wKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CitpbnQgY21kX19vaWRtYXAoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKIGludCBjbWRfX29ubGluZV9jcHVzKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiBpbnQgY21kX19wYXJzZV9vcHRpb25zKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CitpbnQgY21kX19wYXJzZV9wYXRoc3BlY19maWxlKGludCBhcmdjLCBjb25zdCBjaGFyKiogYXJndik7CiBpbnQgY21kX19wYXRoX3V0aWxzKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiBpbnQgY21kX19wa3RfbGluZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOwogaW50IGNtZF9fcHJpb19xdWV1ZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOworaW50IGNtZF9fcHJvZ3Jlc3MoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKIGludCBjbWRfX3JlYWNoKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiBpbnQgY21kX19yZWFkX2NhY2hlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CitpbnQgY21kX19yZWFkX2dyYXBoKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiBpbnQgY21kX19yZWFkX21pZHgoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKIGludCBjbWRfX3JlZl9zdG9yZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOwogaW50IGNtZF9fcmVnZXgoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKQEAgLTM2LDE5ICs0NCwyNSBAQAogaW50IGNtZF9fcmV2aXNpb25fd2Fsa2luZyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOwogaW50IGNtZF9fcnVuX2NvbW1hbmQoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKIGludCBjbWRfX3NjcmFwX2NhY2hlX3RyZWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKK2ludCBjbWRfX3NlcnZlX3YyKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiBpbnQgY21kX19zaGExKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiBpbnQgY21kX19zaGExX2FycmF5KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CitpbnQgY21kX19zaGEyNTYoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKIGludCBjbWRfX3NpZ2NoYWluKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiBpbnQgY21kX19zdHJjbXBfb2Zmc2V0KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiBpbnQgY21kX19zdHJpbmdfbGlzdChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOwogaW50IGNtZF9fc3VibW9kdWxlX2NvbmZpZyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOwogaW50IGNtZF9fc3VibW9kdWxlX25lc3RlZF9yZXBvX2NvbmZpZyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOwogaW50IGNtZF9fc3VicHJvY2VzcyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOworaW50IGNtZF9fdHJhY2UyKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiBpbnQgY21kX191cmxtYXRjaF9ub3JtYWxpemF0aW9uKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CitpbnQgY21kX194bWxfZW5jb2RlKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CiBpbnQgY21kX193aWxkbWF0Y2goaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKICNpZmRlZiBHSVRfV0lORE9XU19OQVRJVkUKIGludCBjbWRfX3dpbmRvd3NfbmFtZWRfcGlwZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOwogI2VuZGlmCiBpbnQgY21kX193cml0ZV9jYWNoZShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOwogCitpbnQgY21kX2hhc2hfaW1wbChpbnQgYWMsIGNvbnN0IGNoYXIgKiphdiwgaW50IGFsZ28pOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QtdHJhY2UyLmMgYi90L2hlbHBlci90ZXN0LXRyYWNlMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5NzgxOWMKLS0tIC9kZXYvbnVsbAorKysgYi90L2hlbHBlci90ZXN0LXRyYWNlMi5jCkBAIC0wLDAgKzEsMjczIEBACisjaW5jbHVkZSAidGVzdC10b29sLmgiCisjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJhcmd2LWFycmF5LmgiCisjaW5jbHVkZSAicnVuLWNvbW1hbmQuaCIKKyNpbmNsdWRlICJleGVjLWNtZC5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgorCit0eXBlZGVmIGludChmbl91bml0X3Rlc3QpKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7CisKK3N0cnVjdCB1bml0X3Rlc3QgeworCWZuX3VuaXRfdGVzdCAqdXRfZm47CisJY29uc3QgY2hhciAqdXRfbmFtZTsKKwljb25zdCBjaGFyICp1dF91c2FnZTsKK307CisKKyNkZWZpbmUgTXlPayAwCisjZGVmaW5lIE15RXJyb3IgMQorCitzdGF0aWMgaW50IGdldF9pKGludCAqcF92YWx1ZSwgY29uc3QgY2hhciAqZGF0YSkKK3sKKwljaGFyICplbmRwdHI7CisKKwlpZiAoIWRhdGEgfHwgISpkYXRhKQorCQlyZXR1cm4gTXlFcnJvcjsKKworCSpwX3ZhbHVlID0gc3RydG9sKGRhdGEsICZlbmRwdHIsIDEwKTsKKwlpZiAoKmVuZHB0ciB8fCBlcnJubyA9PSBFUkFOR0UpCisJCXJldHVybiBNeUVycm9yOworCisJcmV0dXJuIE15T2s7Cit9CisKKy8qCisgKiBDYXVzZSBwcm9jZXNzIHRvIGV4aXQgd2l0aCB0aGUgcmVxdWVzdGVkIHZhbHVlIHZpYSAicmV0dXJuIi4KKyAqCisgKiBSZWx5IG9uIHRlc3QtdG9vbC5jOmNtZF9tYWluKCkgdG8gY2FsbCB0cmFjZTJfY21kX2V4aXQoKQorICogd2l0aCBvdXIgcmVzdWx0LgorICoKKyAqIFRlc3QgaGFybmVzcyBjYW4gY29uZmlybToKKyAqIFtdIHRoZSBwcm9jZXNzLWV4aXQgdmFsdWUuCisgKiBbXSB0aGUgImNvZGUiIGZpZWxkIGluIHRoZSAiZXhpdCIgdHJhY2UyIGV2ZW50LgorICogW10gdGhlICJjb2RlIiBmaWVsZCBpbiB0aGUgImF0ZXhpdCIgdHJhY2UyIGV2ZW50LgorICogW10gdGhlICJuYW1lIiBmaWVsZCBpbiB0aGUgImNtZF9uYW1lIiB0cmFjZTIgZXZlbnQuCisgKiBbXSAiZGVmX3BhcmFtIiBldmVudHMgZm9yIGFsbCBvZiB0aGUgImludGVyZXN0aW5nIiBwcmUtZGVmaW5lZAorICogY29uZmlnIHNldHRpbmdzLgorICovCitzdGF0aWMgaW50IHV0XzAwMXJldHVybihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJaW50IHJjOworCisJaWYgKGdldF9pKCZyYywgYXJndlswXSkpCisJCWRpZSgiZXhwZWN0IDxleGl0X2NvZGU+Iik7CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBDYXVzZSB0aGUgcHJvY2VzcyB0byBleGl0IHdpdGggdGhlIHJlcXVlc3RlZCB2YWx1ZSB2aWEgImV4aXQoKSIuCisgKgorICogVGVzdCBoYXJuZXNzIGNhbiBjb25maXJtOgorICogW10gdGhlICJjb2RlIiBmaWVsZCBpbiB0aGUgImV4aXQiIHRyYWNlMiBldmVudC4KKyAqIFtdIHRoZSAiY29kZSIgZmllbGQgaW4gdGhlICJhdGV4aXQiIHRyYWNlMiBldmVudC4KKyAqIFtdIHRoZSAibmFtZSIgZmllbGQgaW4gdGhlICJjbWRfbmFtZSIgdHJhY2UyIGV2ZW50LgorICogW10gImRlZl9wYXJhbSIgZXZlbnRzIGZvciBhbGwgb2YgdGhlICJpbnRlcmVzdGluZyIgcHJlLWRlZmluZWQKKyAqIGNvbmZpZyBzZXR0aW5ncy4KKyAqLworc3RhdGljIGludCB1dF8wMDJleGl0KGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKK3sKKwlpbnQgcmM7CisKKwlpZiAoZ2V0X2koJnJjLCBhcmd2WzBdKSkKKwkJZGllKCJleHBlY3QgPGV4aXRfY29kZT4iKTsKKworCWV4aXQocmMpOworfQorCisvKgorICogU2VuZCBhbiAiZXJyb3IiIGV2ZW50IHdpdGggZWFjaCB2YWx1ZSBpbiBhcmd2LiAgTm9ybWFsbHksIGdpdCBvbmx5IGlzc3VlcworICogYSBzaW5nbGUgImVycm9yIiBldmVudCBpbW1lZGlhdGVseSBiZWZvcmUgaXNzdWluZyBhbiAiZXhpdCIgZXZlbnQgKHN1Y2gKKyAqIGFzIGluIGRpZSgpIG9yIEJVRygpKSwgYnV0IG11bHRpcGxlICJlcnJvciIgZXZlbnRzIGFyZSBhbGxvd2VkLgorICoKKyAqIFRlc3QgaGFybmVzcyBjYW4gY29uZmlybToKKyAqIFtdIGEgdHJhY2UyICJlcnJvciIgZXZlbnQgZm9yIGVhY2ggdmFsdWUgaW4gYXJndi4KKyAqIFtdIHRoZSAibmFtZSIgZmllbGQgaW4gdGhlICJjbWRfbmFtZSIgdHJhY2UyIGV2ZW50LgorICogW10gKG9wdGlvbmFsKSB0aGUgZmlsZTpsaW5lIGluIHRoZSAiZXhpdCIgZXZlbnQgcmVmZXJzIHRvIHRoaXMgZnVuY3Rpb24uCisgKi8KK3N0YXRpYyBpbnQgdXRfMDAzZXJyb3IoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCWludCBrOworCisJaWYgKCFhcmd2WzBdIHx8ICEqYXJndlswXSkKKwkJZGllKCJleHBlY3QgPGVycm9yX21lc3NhZ2U+Iik7CisKKwlmb3IgKGsgPSAwOyBrIDwgYXJnYzsgaysrKQorCQllcnJvcigiJXMiLCBhcmd2W2tdKTsKKworCXJldHVybiAwOworfQorCisvKgorICogUnVuIGEgY2hpbGQgcHJvY2VzcyBhbmQgd2FpdCBmb3IgaXQgdG8gZmluaXNoIGFuZCBleGl0IHdpdGggaXRzIHJldHVybiBjb2RlLgorICogdGVzdC10b29sIHRyYWNlMiAwMDRjaGlsZCBbPGNoaWxkLWNvbW1hbmQtbGluZT5dCisgKgorICogRm9yIGV4YW1wbGU6CisgKiB0ZXN0LXRvb2wgdHJhY2UyIDAwNGNoaWxkIGdpdCB2ZXJzaW9uCisgKiB0ZXN0LXRvb2wgdHJhY2UyIDAwNGNoaWxkIHRlc3QtdG9vbCB0cmFjZTIgMDAxcmV0dXJuIDAKKyAqIHRlc3QtdG9vbCB0cmFjZTIgMDA0Y2hpbGQgdGVzdC10b29sIHRyYWNlMiAwMDRjaGlsZCB0ZXN0LXRvb2wgdHJhY2UyIDAwNGNoaWxkCisgKiB0ZXN0LXRvb2wgdHJhY2UyIDAwNGNoaWxkIGdpdCAtYyBhbGlhcy54eXo9dmVyc2lvbiB4eXoKKyAqCisgKiBUZXN0IGhhcm5lc3MgY2FuIGNvbmZpcm06CisgKiBbXSB0aGUgIm5hbWUiIGZpZWxkIGluIHRoZSAiY21kX25hbWUiIHRyYWNlMiBldmVudC4KKyAqIFtdIHRoYXQgdGhlIG91dGVyIHByb2Nlc3MgaGFzIGEgc2luZ2xlIGNvbXBvbmVudCBTSUQgKG9yIGRlcHRoICJkMCIgaW4KKyAqICAgIHRoZSBQRVJGIHN0cmVhbSkuCisgKiBbXSB0aGF0ICJjaGlsZF9zdGFydCIgYW5kICJjaGlsZF9leGl0IiBldmVudHMgYXJlIGdlbmVyYXRlZCBmb3IgdGhlIGNoaWxkLgorICogW10gaWYgdGhlIGNoaWxkIHByb2Nlc3MgaXMgYW4gaW5zdHJ1bWVudGVkIGV4ZWN1dGFibGU6CisgKiAgICBbXSB0aGF0ICJ2ZXJzaW9uIiwgInN0YXJ0IiwgLi4uLCAiZXhpdCIsIGFuZCAiYXRleGl0IiBldmVudHMgYXJlCisgKiAgICAgICBnZW5lcmF0ZWQgYnkgdGhlIGNoaWxkIHByb2Nlc3MuCisgKiAgICBbXSB0aGF0IHRoZSBjaGlsZCBwcm9jZXNzIGV2ZW50cyBoYXZlIGEgbXVsdGlwbGUgY29tcG9uZW50IFNJRCAob3IKKyAqICAgICAgIGRlcHRoICJkTisxIiBpbiB0aGUgUEVSRiBzdHJlYW0pLgorICogW10gdGhhdCB0aGUgY2hpbGQgZXhpdCBjb2RlIGlzIHByb3BhZ2F0ZWQgdG8gdGhlIHBhcmVudCBwcm9jZXNzICJleGl0IgorICogICAgYW5kICJhdGV4aXQiIGV2ZW50cy4uCisgKiBbXSAob3B0aW9uYWwpIHRoYXQgdGhlICJ0X2FicyIgZmllbGQgaW4gdGhlIGNoaWxkIHByb2Nlc3MgImF0ZXhpdCIgZXZlbnQKKyAqICAgIGlzIGxlc3MgdGhhbiB0aGUgInRfcmVsIiBmaWVsZCBpbiB0aGUgImNoaWxkX2V4aXQiIGV2ZW50IG9mIHRoZSBwYXJlbnQKKyAqICAgIHByb2Nlc3MuCisgKiBbXSBpZiB0aGUgY2hpbGQgcHJvY2VzcyBpcyBsaWtlIHRoZSBhbGlhcyBleGFtcGxlIGFib3ZlLAorICogICAgW10gKG9wdGlvbmFsKSB0aGUgY2hpbGQgcHJvY2VzcyBhdHRlbXB0cyB0byBydW4gImdpdC14eXgiIGFzIGEgZGFzaGVkCisgKiAgICAgICBjb21tYW5kLgorICogICAgW10gdGhlIGNoaWxkIHByb2Nlc3MgZW1pdHMgYW4gImFsaWFzIiBldmVudCB3aXRoICJ4eXoiID0+ICJ2ZXJzaW9uIgorICogICAgW10gdGhlIGNoaWxkIHByb2Nlc3MgcnVucyAiZ2l0IHZlcnNpb24iIGFzIGEgY2hpbGQgcHJvY2Vzcy4KKyAqICAgIFtdIHRoZSBjaGlsZCBwcm9jZXNzIGhhcyBhIDMgY29tcG9uZW50IFNJRCAob3IgZGVwdGggImQyIiBpbiB0aGUgUEVSRgorICogICAgICAgc3RyZWFtKS4KKyAqLworc3RhdGljIGludCB1dF8wMDRjaGlsZChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJaW50IHJlc3VsdDsKKworCS8qCisJICogQWxsb3cgZW1wdHkgPGNoaWxkX2NvbW1hbmRfbGluZT4gc28gd2UgY2FuIGRvIGFyYml0cmFyaWx5IGRlZXAKKwkgKiBjb21tYW5kIG5lc3RpbmcgYW5kIGxldCB0aGUgbGFzdCBvbmUgYmUgbnVsbC4KKwkgKi8KKwlpZiAoIWFyZ2MpCisJCXJldHVybiAwOworCisJcmVzdWx0ID0gcnVuX2NvbW1hbmRfdl9vcHQoYXJndiwgMCk7CisJZXhpdChyZXN1bHQpOworfQorCisvKgorICogRXhlYyBhIGdpdCBjb21tYW5kLiAgVGhpcyBtYXkgZWl0aGVyIGNyZWF0ZSBhIGNoaWxkIHByb2Nlc3MgKFdpbmRvd3MpCisgKiBvciByZXBsYWNlIHRoZSBleGlzdGluZyBwcm9jZXNzLgorICogdGVzdC10b29sIHRyYWNlMiAwMDVleGVjIDxnaXRfY29tbWFuZF9hcmdzPgorICoKKyAqIEZvciBleGFtcGxlOgorICogdGVzdC10b29sIHRyYWNlMiAwMDVleGVjIHZlcnNpb24KKyAqCisgKiBUZXN0IGhhcm5lc3MgY2FuIGNvbmZpcm0gKG9uIFdpbmRvd3MpOgorICogW10gdGhlICJuYW1lIiBmaWVsZCBpbiB0aGUgImNtZF9uYW1lIiB0cmFjZTIgZXZlbnQuCisgKiBbXSB0aGF0IHRoZSBvdXRlciBwcm9jZXNzIGhhcyBhIHNpbmdsZSBjb21wb25lbnQgU0lEIChvciBkZXB0aCAiZDAiIGluCisgKiAgICB0aGUgUEVSRiBzdHJlYW0pLgorICogW10gdGhhdCAiZXhlYyIgYW5kICJleGVjX3Jlc3VsdCIgZXZlbnRzIGFyZSBnZW5lcmF0ZWQgZm9yIHRoZSBjaGlsZAorICogICAgcHJvY2VzcyAoc2luY2UgdGhlIFdpbmRvd3MgY29tcGF0aWJpbGl0eSBsYXllciBmYWtlcyBhbiBleGVjKCkgd2l0aAorICogICAgYSBDcmVhdGVQcm9jZXNzKCksIFdhaXRGb3JTaW5nbGVPYmplY3QoKSwgYW5kIGV4aXQoKSkuCisgKiBbXSB0aGF0IHRoZSBjaGlsZCBwcm9jZXNzIGhhcyBtdWx0aXBsZSBjb21wb25lbnQgU0lEIChvciBkZXB0aCAiZE4rMSIKKyAqICAgIGluIHRoZSBQRVJGIHN0cmVhbSkuCisgKgorICogVGVzdCBoYXJuZXNzIGNhbiBjb25maXJtIChvbiBwbGF0Zm9ybXMgd2l0aCBhIHJlYWwgZXhlYygpIGZ1bmN0aW9uKToKKyAqIFtdIFRPRE8gdGFsayBhYm91dCBwcm9jZXNzIHJlcGxhY2VtZW50IGFuZCBob3cgaXQgYWZmZWN0cyBTSUQuCisgKi8KK3N0YXRpYyBpbnQgdXRfMDA1ZXhlYyhpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJaW50IHJlc3VsdDsKKworCWlmICghYXJnYykKKwkJcmV0dXJuIDA7CisKKwlyZXN1bHQgPSBleGVjdl9naXRfY21kKGFyZ3YpOworCXJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBpbnQgdXRfMDA2ZGF0YShpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJY29uc3QgY2hhciAqdXNhZ2VfZXJyb3IgPQorCQkiZXhwZWN0IDxjYXQwPiA8azA+IDx2MD4gWzxjYXQxPiA8azE+IDx2MT4gWy4uLl1dIjsKKworCWlmIChhcmdjICUgMyAhPSAwKQorCQlkaWUoIiVzIiwgdXNhZ2VfZXJyb3IpOworCisJd2hpbGUgKGFyZ2MpIHsKKwkJaWYgKCFhcmd2WzBdIHx8ICEqYXJndlswXSB8fCAhYXJndlsxXSB8fCAhKmFyZ3ZbMV0gfHwKKwkJICAgICFhcmd2WzJdIHx8ICEqYXJndlsyXSkKKwkJCWRpZSgiJXMiLCB1c2FnZV9lcnJvcik7CisKKwkJdHJhY2UyX2RhdGFfc3RyaW5nKGFyZ3ZbMF0sIHRoZV9yZXBvc2l0b3J5LCBhcmd2WzFdLCBhcmd2WzJdKTsKKwkJYXJndiArPSAzOworCQlhcmdjIC09IDM7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBVc2FnZToKKyAqICAgICB0ZXN0LXRvb2wgdHJhY2UyIDx1dF9uYW1lXzE+IDx1dF91c2FnZV8xPgorICogICAgIHRlc3QtdG9vbCB0cmFjZTIgPHV0X25hbWVfMj4gPHV0X3VzYWdlXzI+CisgKiAgICAgLi4uCisgKi8KKyNkZWZpbmUgVVNBR0VfUFJFRklYICJ0ZXN0LXRvb2wgdHJhY2UyIgorCisvKiBjbGFuZy1mb3JtYXQgb2ZmICovCitzdGF0aWMgc3RydWN0IHVuaXRfdGVzdCB1dF90YWJsZVtdID0geworCXsgdXRfMDAxcmV0dXJuLCAgICIwMDFyZXR1cm4iLCAiPGV4aXRfY29kZT4iIH0sCisJeyB1dF8wMDJleGl0LCAgICAgIjAwMmV4aXQiLCAgICI8ZXhpdF9jb2RlPiIgfSwKKwl7IHV0XzAwM2Vycm9yLCAgICAiMDAzZXJyb3IiLCAgIjxlcnJvcl9tZXNzYWdlPisiIH0sCisJeyB1dF8wMDRjaGlsZCwgICAgIjAwNGNoaWxkIiwgICJbPGNoaWxkX2NvbW1hbmRfbGluZT5dIiB9LAorCXsgdXRfMDA1ZXhlYywgICAgICIwMDVleGVjIiwgICAiPGdpdF9jb21tYW5kX2FyZ3M+IiB9LAorCXsgdXRfMDA2ZGF0YSwgICAgICIwMDZkYXRhIiwgICAiWzxjYXRlZ29yeT4gPGtleT4gPHZhbHVlPl0rIiB9LAorfTsKKy8qIGNsYW5nLWZvcm1hdCBvbiAqLworCisvKiBjbGFuZy1mb3JtYXQgb2ZmICovCisjZGVmaW5lIGZvcl9lYWNoX3V0KGssIHV0X2spCQkJXAorCWZvciAoayA9IDAsIHV0X2sgPSAmdXRfdGFibGVba107CVwKKwkgICAgIGsgPCBBUlJBWV9TSVpFKHV0X3RhYmxlKTsJCVwKKwkgICAgIGsrKywgdXRfayA9ICZ1dF90YWJsZVtrXSkKKy8qIGNsYW5nLWZvcm1hdCBvbiAqLworCitzdGF0aWMgaW50IHByaW50X3VzYWdlKHZvaWQpCit7CisJaW50IGs7CisJc3RydWN0IHVuaXRfdGVzdCAqdXRfazsKKworCWZwcmludGYoc3RkZXJyLCAidXNhZ2U6XG4iKTsKKwlmb3JfZWFjaF91dCAoaywgdXRfaykKKwkJZnByaW50ZihzdGRlcnIsICJcdCVzICVzICVzXG4iLCBVU0FHRV9QUkVGSVgsIHV0X2stPnV0X25hbWUsCisJCQl1dF9rLT51dF91c2FnZSk7CisKKwlyZXR1cm4gMTI5OworfQorCisvKgorICogSXNzdWUgdmFyaW91cyB0cmFjZTIgZXZlbnRzIGZvciB0ZXN0aW5nLgorICoKKyAqIFdlIGFzc3VtZSB0aGF0IHRoZXNlIHRyYWNlMiByb3V0aW5lcyBoYXMgYWxyZWFkeSBiZWVuIGNhbGxlZDoKKyAqICAgIFtdIHRyYWNlMl9pbml0aWFsaXplKCkgICAgICBbY29tbW9uLW1haW4uYzptYWluKCldCisgKiAgICBbXSB0cmFjZTJfY21kX3N0YXJ0KCkgICAgICAgW2NvbW1vbi1tYWluLmM6bWFpbigpXQorICogICAgW10gdHJhY2UyX2NtZF9uYW1lKCkgICAgICAgIFt0ZXN0LXRvb2wuYzpjbWRfbWFpbigpXQorICogICAgW10gdHJhY2QyX2NtZF9saXN0X2NvbmZpZygpIFt0ZXN0LXRvb2wuYzpjbWRfbWFpbigpXQorICogU28gdGhhdDoKKyAqICAgIFtdIHRoZSB2YXJpb3VzIHRyYWNlMiBzdHJlYW1zIGFyZSBvcGVuLgorICogICAgW10gdGhlIHByb2Nlc3MgU0lEIGhhcyBiZWVuIGNyZWF0ZWQuCisgKiAgICBbXSB0aGUgInZlcnNpb24iIGV2ZW50IGhhcyBiZWVuIGdlbmVyYXRlZC4KKyAqICAgIFtdIHRoZSAic3RhcnQiIGV2ZW50IGhhcyBiZWVuIGdlbmVyYXRlZC4KKyAqICAgIFtdIHRoZSAiY21kX25hbWUiIGV2ZW50IGhhcyBiZWVuIGdlbmVyYXRlZC4KKyAqICAgIFtdIHRoaXMgd3JpdGVzIHZhcmlvdXMgImRlZl9wYXJhbSIgZXZlbnRzIGZvciBpbnRlcmVzdGluZyBjb25maWcgdmFsdWVzLgorICoKKyAqIFdlIGZ1cnRoZXIgYXNzdW1lIHRoYXQgaWYgd2UgcmV0dXJuIChyYXRoZXIgdGhhbiBleGl0KCkpLCB0cmFjZTJfY21kX2V4aXQoKQorICogd2lsbCBiZSBjYWxsZWQgYnkgdGVzdC10b29sLmM6Y21kX21haW4oKS4KKyAqLworaW50IGNtZF9fdHJhY2UyKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKK3sKKwlpbnQgazsKKwlzdHJ1Y3QgdW5pdF90ZXN0ICp1dF9rOworCisJYXJnYy0tOyAvKiBza2lwIG92ZXIgInRyYWNlMiIgYXJnICovCisJYXJndisrOworCisJaWYgKGFyZ2MpCisJCWZvcl9lYWNoX3V0IChrLCB1dF9rKQorCQkJaWYgKCFzdHJjbXAoYXJndlswXSwgdXRfay0+dXRfbmFtZSkpCisJCQkJcmV0dXJuIHV0X2stPnV0X2ZuKGFyZ2MgLSAxLCBhcmd2ICsgMSk7CisKKwlyZXR1cm4gcHJpbnRfdXNhZ2UoKTsKK30KZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3Qtd2luZG93cy1uYW1lZC1waXBlLmMgYi90L2hlbHBlci90ZXN0LXdpbmRvd3MtbmFtZWQtcGlwZS5jCmluZGV4IGI0Yjc1MmIuLmFlNTIxODMgMTAwNjQ0Ci0tLSBhL3QvaGVscGVyL3Rlc3Qtd2luZG93cy1uYW1lZC1waXBlLmMKKysrIGIvdC9oZWxwZXIvdGVzdC13aW5kb3dzLW5hbWVkLXBpcGUuYwpAQCAtMTksNyArMTksNyBAQAogCWlmIChhcmdjIDwgMikKIAkJZ290byBwcmludF91c2FnZTsKIAlmaWxlbmFtZSA9IGFyZ3ZbMV07Ci0JaWYgKHN0cmNocihmaWxlbmFtZSwgJy8nKSB8fCBzdHJjaHIoZmlsZW5hbWUsICdcXCcpKQorCWlmIChzdHJwYnJrKGZpbGVuYW1lLCAiL1xcIikpCiAJCWdvdG8gcHJpbnRfdXNhZ2U7CiAJc3RyYnVmX2FkZGYoJnBhdGhuYW1lLCAiLy8uL3BpcGUvJXMiLCBmaWxlbmFtZSk7CiAKZGlmZiAtLWdpdCBhL3QvaGVscGVyL3Rlc3QteG1sLWVuY29kZS5jIGIvdC9oZWxwZXIvdGVzdC14bWwtZW5jb2RlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTY0OGJiZAotLS0gL2Rldi9udWxsCisrKyBiL3QvaGVscGVyL3Rlc3QteG1sLWVuY29kZS5jCkBAIC0wLDAgKzEsODAgQEAKKyNpbmNsdWRlICJ0ZXN0LXRvb2wuaCIKKworc3RhdGljIGNvbnN0IGNoYXIgKnV0ZjhfcmVwbGFjZV9jaGFyYWN0ZXIgPSAiJiN4ZmZmZDsiOworCisvKgorICogRW5jb2RlcyAocG9zc2libHkgaW5jb3JyZWN0KSBVVEYtOCBvbiA8c3RkaW4+IHRvIDxzdGRvdXQ+LCB0byBiZSBlbWJlZGRlZAorICogaW4gYW4gWE1MIGZpbGUuCisgKi8KK2ludCBjbWRfX3htbF9lbmNvZGUoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCXVuc2lnbmVkIGNoYXIgYnVmWzEwMjRdLCB0bXBbNF0sICp0bXAyID0gTlVMTDsKKwlzc2l6ZV90IGN1ciA9IDAsIGxlbiA9IDEsIHJlbWFpbmluZyA9IDA7CisJdW5zaWduZWQgY2hhciBjaDsKKworCWZvciAoOzspIHsKKwkJaWYgKCsrY3VyID09IGxlbikgeworCQkJbGVuID0geHJlYWQoMCwgYnVmLCBzaXplb2YoYnVmKSk7CisJCQlpZiAoIWxlbikKKwkJCQlyZXR1cm4gMDsKKwkJCWlmIChsZW4gPCAwKQorCQkJCWRpZV9lcnJubygiQ291bGQgbm90IHJlYWQgPHN0ZGluPiIpOworCQkJY3VyID0gMDsKKwkJfQorCQljaCA9IGJ1ZltjdXJdOworCisJCWlmICh0bXAyKSB7CisJCQlpZiAoKGNoICYgMHhjMCkgIT0gMHg4MCkgeworCQkJCWZwdXRzKHV0ZjhfcmVwbGFjZV9jaGFyYWN0ZXIsIHN0ZG91dCk7CisJCQkJdG1wMiA9IE5VTEw7CisJCQkJY3VyLS07CisJCQkJY29udGludWU7CisJCQl9CisJCQkqdG1wMiA9IGNoOworCQkJdG1wMisrOworCQkJaWYgKC0tcmVtYWluaW5nID09IDApIHsKKwkJCQlmd3JpdGUodG1wLCB0bXAyIC0gdG1wLCAxLCBzdGRvdXQpOworCQkJCXRtcDIgPSBOVUxMOworCQkJfQorCQkJY29udGludWU7CisJCX0KKworCQlpZiAoIShjaCAmIDB4ODApKSB7CisJCQkvKiAweHh4eHh4eCAqLworCQkJaWYgKGNoID09ICcmJykKKwkJCQlmcHV0cygiJmFtcDsiLCBzdGRvdXQpOworCQkJZWxzZSBpZiAoY2ggPT0gJ1wnJykKKwkJCQlmcHV0cygiJmFwb3M7Iiwgc3Rkb3V0KTsKKwkJCWVsc2UgaWYgKGNoID09ICciJykKKwkJCQlmcHV0cygiJnF1b3Q7Iiwgc3Rkb3V0KTsKKwkJCWVsc2UgaWYgKGNoID09ICc8JykKKwkJCQlmcHV0cygiJmx0OyIsIHN0ZG91dCk7CisJCQllbHNlIGlmIChjaCA9PSAnPicpCisJCQkJZnB1dHMoIiZndDsiLCBzdGRvdXQpOworCQkJZWxzZSBpZiAoY2ggPj0gMHgyMCkKKwkJCQlmcHV0YyhjaCwgc3Rkb3V0KTsKKwkJCWVsc2UgaWYgKGNoID09IDB4MDkgfHwgY2ggPT0gMHgwYSB8fCBjaCA9PSAweDBkKQorCQkJCWZwcmludGYoc3Rkb3V0LCAiJiN4JTAyeDsiLCBjaCk7CisJCQllbHNlCisJCQkJZnB1dHModXRmOF9yZXBsYWNlX2NoYXJhY3Rlciwgc3Rkb3V0KTsKKwkJfSBlbHNlIGlmICgoY2ggJiAweGUwKSA9PSAweGMwKSB7CisJCQkvKiAxMTBYWFhYeCAxMHh4eHh4eCAqLworCQkJdG1wWzBdID0gY2g7CisJCQlyZW1haW5pbmcgPSAxOworCQkJdG1wMiA9IHRtcCArIDE7CisJCX0gZWxzZSBpZiAoKGNoICYgMHhmMCkgPT0gMHhlMCkgeworCQkJLyogMTExMFhYWFggMTBYeHh4eHggMTB4eHh4eHggKi8KKwkJCXRtcFswXSA9IGNoOworCQkJcmVtYWluaW5nID0gMjsKKwkJCXRtcDIgPSB0bXAgKyAxOworCQl9IGVsc2UgaWYgKChjaCAmIDB4ZjgpID09IDB4ZjApIHsKKwkJCS8qIDExMTEwWFhYIDEwWFh4eHh4IDEweHh4eHh4IDEweHh4eHh4ICovCisJCQl0bXBbMF0gPSBjaDsKKwkJCXJlbWFpbmluZyA9IDM7CisJCQl0bXAyID0gdG1wICsgMTsKKwkJfSBlbHNlCisJCQlmcHV0cyh1dGY4X3JlcGxhY2VfY2hhcmFjdGVyLCBzdGRvdXQpOworCX0KKworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvdC9pbnRlcm9wL2k1NTAwLWdpdC1kYWVtb24uc2ggYi90L2ludGVyb3AvaTU1MDAtZ2l0LWRhZW1vbi5zaAppbmRleCAxZGFmNjk0Li40ZDIyZTQyIDEwMDc1NQotLS0gYS90L2ludGVyb3AvaTU1MDAtZ2l0LWRhZW1vbi5zaAorKysgYi90L2ludGVyb3AvaTU1MDAtZ2l0LWRhZW1vbi5zaApAQCAtMzcsNSArMzcsNCBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAotc3RvcF9naXRfZGFlbW9uCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvbGliLWJhc2guc2ggYi90L2xpYi1iYXNoLnNoCmluZGV4IDJiZTk1NWYuLmIwYjYwNjAgMTAwNjQ0Ci0tLSBhL3QvbGliLWJhc2guc2gKKysrIGIvdC9saWItYmFzaC5zaApAQCAtMiwxMCArMiwxMiBAQAogIyB0byBydW4gdW5kZXIgQmFzaDsgcHJpbWFyaWx5IGludGVuZGVkIGZvciB0ZXN0cyBvZiB0aGUgY29tcGxldGlvbgogIyBzY3JpcHQuCiAKLWlmIHRlc3QgLW4gIiRCQVNIIiAmJiB0ZXN0IC16ICIkUE9TSVhMWV9DT1JSRUNUIjsgdGhlbgoraWYgdGVzdCAtbiAiJEJBU0giICYmIHRlc3QgLXogIiRQT1NJWExZX0NPUlJFQ1QiCit0aGVuCiAJIyB3ZSBhcmUgaW4gZnVsbC1vbiBiYXNoIG1vZGUKIAl0cnVlCi1lbGlmIHR5cGUgYmFzaCA+L2Rldi9udWxsIDI+JjE7IHRoZW4KK2VsaWYgdHlwZSBiYXNoID4vZGV2L251bGwgMj4mMQordGhlbgogCSMgZXhlY3V0ZSBpbiBmdWxsLW9uIGJhc2ggbW9kZQogCXVuc2V0IFBPU0lYTFlfQ09SUkVDVAogCWV4ZWMgYmFzaCAiJDAiICIkQCIKZGlmZiAtLWdpdCBhL3QvbGliLWdpdC1kYWVtb24uc2ggYi90L2xpYi1naXQtZGFlbW9uLnNoCmluZGV4IGY5OGRlOTUuLmU2MjU2OTIgMTAwNjQ0Ci0tLSBhL3QvbGliLWdpdC1kYWVtb24uc2gKKysrIGIvdC9saWItZ2l0LWRhZW1vbi5zaApAQCAtMTMsMTEgKzEzLDkgQEAKICMKICMJdGVzdF9leHBlY3Rfc3VjY2VzcyAuLi4KICMKLSMJc3RvcF9naXRfZGFlbW9uCiAjCXRlc3RfZG9uZQogCi10ZXN0X3RyaXN0YXRlIEdJVF9URVNUX0dJVF9EQUVNT04KLWlmIHRlc3QgIiRHSVRfVEVTVF9HSVRfREFFTU9OIiA9IGZhbHNlCitpZiAhIHRlc3RfYm9vbF9lbnYgR0lUX1RFU1RfR0lUX0RBRU1PTiB0cnVlCiB0aGVuCiAJc2tpcF9hbGw9ImdpdC1kYWVtb24gdGVzdGluZyBkaXNhYmxlZCAodW5zZXQgR0lUX1RFU1RfR0lUX0RBRU1PTiB0byBlbmFibGUpIgogCXRlc3RfZG9uZQpAQCAtMjUsMTYgKzIzLDE4IEBACiAKIGlmIHRlc3RfaGF2ZV9wcmVyZXEgIVBJUEUKIHRoZW4KLQl0ZXN0X3NraXBfb3JfZGllICRHSVRfVEVTVF9HSVRfREFFTU9OICJmaWxlIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IEZJRk9zIgorCXRlc3Rfc2tpcF9vcl9kaWUgR0lUX1RFU1RfR0lUX0RBRU1PTiAiZmlsZSBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBGSUZPcyIKIGZpCiAKLUxJQl9HSVRfREFFTU9OX1BPUlQ9JHtMSUJfR0lUX0RBRU1PTl9QT1JULSR7dGhpc190ZXN0I3R9fQordGVzdF9zZXRfcG9ydCBMSUJfR0lUX0RBRU1PTl9QT1JUCiAKIEdJVF9EQUVNT05fUElEPQorR0lUX0RBRU1PTl9QSURGSUxFPSIkUFdEIi9kYWVtb24ucGlkCiBHSVRfREFFTU9OX0RPQ1VNRU5UX1JPT1RfUEFUSD0iJFBXRCIvcmVwbwogR0lUX0RBRU1PTl9IT1NUX1BPUlQ9MTI3LjAuMC4xOiRMSUJfR0lUX0RBRU1PTl9QT1JUCiBHSVRfREFFTU9OX1VSTD1naXQ6Ly8kR0lUX0RBRU1PTl9IT1NUX1BPUlQKIAorcmVnaXN0ZXJlZF9zdG9wX2dpdF9kYWVtb25fYXRleGl0X2hhbmRsZXI9CiBzdGFydF9naXRfZGFlbW9uKCkgewogCWlmIHRlc3QgLW4gIiRHSVRfREFFTU9OX1BJRCIKIAl0aGVuCkBAIC00MywzOCArNDMsMzYgQEAKIAogCW1rZGlyIC1wICIkR0lUX0RBRU1PTl9ET0NVTUVOVF9ST09UX1BBVEgiCiAKLQl0cmFwICdjb2RlPSQ/OyBzdG9wX2dpdF9kYWVtb247IChleGl0ICRjb2RlKTsgZGllJyBFWElUCisJIyBPbmUgb2YgdGhlIHRlc3Qgc2NyaXB0cyBzdG9wcyBhbmQgdGhlbiByZS1zdGFydHMgJ2dpdCBkYWVtb24nLgorCSMgRG9uJ3QgcmVnaXN0ZXIgYW5kIHRoZW4gcnVuIHRoZSBzYW1lIGF0ZXhpdCBoYW5kbGVycyBzZXZlcmFsIHRpbWVzLgorCWlmIHRlc3QgLXogIiRyZWdpc3RlcmVkX3N0b3BfZ2l0X2RhZW1vbl9hdGV4aXRfaGFuZGxlciIKKwl0aGVuCisJCXRlc3RfYXRleGl0ICdzdG9wX2dpdF9kYWVtb24nCisJCXJlZ2lzdGVyZWRfc3RvcF9naXRfZGFlbW9uX2F0ZXhpdF9oYW5kbGVyPUFscmVhZHlEb25lCisJZmkKIAogCXNheSA+JjMgIlN0YXJ0aW5nIGdpdCBkYWVtb24gLi4uIgogCW1rZmlmbyBnaXRfZGFlbW9uX291dHB1dAogCSR7TElCX0dJVF9EQUVNT05fQ09NTUFORDotZ2l0IGRhZW1vbn0gXAogCQktLWxpc3Rlbj0xMjcuMC4wLjEgLS1wb3J0PSIkTElCX0dJVF9EQUVNT05fUE9SVCIgXAotCQktLXJldXNlYWRkciAtLXZlcmJvc2UgXAorCQktLXJldXNlYWRkciAtLXZlcmJvc2UgLS1waWQtZmlsZT0iJEdJVF9EQUVNT05fUElERklMRSIgXAogCQktLWJhc2UtcGF0aD0iJEdJVF9EQUVNT05fRE9DVU1FTlRfUk9PVF9QQVRIIiBcCiAJCSIkQCIgIiRHSVRfREFFTU9OX0RPQ1VNRU5UX1JPT1RfUEFUSCIgXAogCQk+JjMgMj5naXRfZGFlbW9uX291dHB1dCAmCiAJR0lUX0RBRU1PTl9QSUQ9JCEKLQk+ZGFlbW9uLmxvZwogCXsKIAkJcmVhZCAtciBsaW5lIDwmNwotCQlwcmludGYgIiVzXG4iICIkbGluZSIKLQkJcHJpbnRmID4mNCAiJXNcbiIgIiRsaW5lIgotCQkoCi0JCQl3aGlsZSByZWFkIC1yIGxpbmUgPCY3Ci0JCQlkbwotCQkJCXByaW50ZiAiJXNcbiIgIiRsaW5lIgotCQkJCXByaW50ZiA+JjQgIiVzXG4iICIkbGluZSIKLQkJCWRvbmUKLQkJKSAmCi0JfSA3PGdpdF9kYWVtb25fb3V0cHV0ID4+IiRUUkFTSF9ESVJFQ1RPUlkvZGFlbW9uLmxvZyIgJiYKKwkJcHJpbnRmICIlc1xuIiAiJGxpbmUiID4mNAorCQljYXQgPCY3ID4mNCAmCisJfSA3PGdpdF9kYWVtb25fb3V0cHV0ICYmCiAKIAkjIENoZWNrIGV4cGVjdGVkIG91dHB1dAogCWlmIHRlc3QgeCIkKGV4cHIgIiRsaW5lIiA6ICJcW1swLTldKlxdIFwoLipcKSIpIiAhPSB4IlJlYWR5IHRvIHJ1bWJsZSIKIAl0aGVuCiAJCWtpbGwgIiRHSVRfREFFTU9OX1BJRCIKIAkJd2FpdCAiJEdJVF9EQUVNT05fUElEIgotCQl0cmFwICdkaWUnIEVYSVQKLQkJdGVzdF9za2lwX29yX2RpZSAkR0lUX1RFU1RfR0lUX0RBRU1PTiBcCisJCXVuc2V0IEdJVF9EQUVNT05fUElECisJCXRlc3Rfc2tpcF9vcl9kaWUgR0lUX1RFU1RfR0lUX0RBRU1PTiBcCiAJCQkiZ2l0IGRhZW1vbiBmYWlsZWQgdG8gc3RhcnQiCiAJZmkKIH0KQEAgLTg1LDggKzgzLDYgQEAKIAkJcmV0dXJuCiAJZmkKIAotCXRyYXAgJ2RpZScgRVhJVAotCiAJIyBraWxsIGdpdC1kYWVtb24gY2hpbGQgb2YgZ2l0CiAJc2F5ID4mMyAiU3RvcHBpbmcgZ2l0IGRhZW1vbiAuLi4iCiAJa2lsbCAiJEdJVF9EQUVNT05fUElEIgpAQCAtOTYsOCArOTIsOSBAQAogCXRoZW4KIAkJZXJyb3IgImdpdCBkYWVtb24gZXhpdGVkIHdpdGggc3RhdHVzOiAkcmV0IgogCWZpCisJa2lsbCAiJChjYXQgIiRHSVRfREFFTU9OX1BJREZJTEUiKSIgMj4vZGV2L251bGwKIAlHSVRfREFFTU9OX1BJRD0KLQlybSAtZiBnaXRfZGFlbW9uX291dHB1dAorCXJtIC1mIGdpdF9kYWVtb25fb3V0cHV0ICIkR0lUX0RBRU1PTl9QSURGSUxFIgogfQogCiAjIEEgc3RyaXBwZWQtZG93biB2ZXJzaW9uIG9mIGEgbmV0Y2F0IGNsaWVudCwgdGhhdCBjb25uZWN0cyB0byBhICJob3N0OnBvcnQiCmRpZmYgLS1naXQgYS90L2xpYi1naXQtcDQuc2ggYi90L2xpYi1naXQtcDQuc2gKaW5kZXggYzI3NTk5NC4uNWFmZjJhYiAxMDA2NDQKLS0tIGEvdC9saWItZ2l0LXA0LnNoCisrKyBiL3QvbGliLWdpdC1wNC5zaApAQCAtNDQsMjMgKzQ0LDcgQEAKIAllY2hvICIkcGF0aCIKIH0KIAotIyBPbiBTb2xhcmlzIHRoZSAnZGF0ZSArJXMnIGZ1bmN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgYW5kIHRoZXJlZm9yZSB3ZQotIyBuZWVkIHRoaXMgcmVwbGFjZW1lbnQuCi0jIEF0dGVudGlvbjogVGhpcyBmdW5jdGlvbiBpcyBub3Qgc2FmZSBhZ2FpbiBhZ2FpbnN0IHRpbWUgb2Zmc2V0IHVwZGF0ZXMKLSMgYXQgcnVudGltZSAoZS5nLiB2aWEgTlRQKS4gVGhlICdjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQyknCi0jIGZ1bmN0aW9uIGNvdWxkIGZpeCB0aGF0IGJ1dCBpdCBpcyBub3QgaW4gUHl0aG9uIHVudGlsIDMuMy4KLXRpbWVfaW5fc2Vjb25kcyAoKSB7Ci0JKGNkIC8gJiYgIiRQWVRIT05fUEFUSCIgLWMgJ2ltcG9ydCB0aW1lOyBwcmludChpbnQodGltZS50aW1lKCkpKScpCi19Ci0KLSMgVHJ5IHRvIHBpY2sgYSB1bmlxdWUgcG9ydDogZ3Vlc3MgYSBsYXJnZSBudW1iZXIsIHRoZW4gaG9wZQotIyBubyBtb3JlIHRoYW4gb25lIG9mIGVhY2ggdGVzdCBpcyBydW5uaW5nLgotIwotIyBUaGlzIGRvZXMgbm90IGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBzb21lYm9keSBlbHNlIGlzIHJ1bm5pbmcgdGhlCi0jIHNhbWUgdGVzdHMgYW5kIGhhcyBjaG9zZW4gdGhlIHNhbWUgcG9ydHMuCi10ZXN0aWQ9JHt0aGlzX3Rlc3QjdH0KLWdpdF9wNF90ZXN0X3N0YXJ0PTk4MDAKLVA0RFBPUlQ9JCgoMTA2NjkgKyAoJHRlc3RpZCAtICRnaXRfcDRfdGVzdF9zdGFydCkpKQordGVzdF9zZXRfcG9ydCBQNERQT1JUCiAKIFA0UE9SVD1sb2NhbGhvc3Q6JFA0RFBPUlQKIFA0Q0xJRU5UPWNsaWVudApAQCAtNzQsMTQgKzU4LDkgQEAKIGdpdD0iJFRSQVNIX0RJUkVDVE9SWS9naXQiCiBwaWRmaWxlPSIkVFJBU0hfRElSRUNUT1JZL3A0ZC5waWQiCiAKLSMgU29tZXRpbWVzICJwcm92ZSIgc2VlbXMgdG8gaGFuZyBvbiBleGl0IGJlY2F1c2UgcDRkIGlzIHN0aWxsIHJ1bm5pbmcKLWNsZWFudXAgKCkgewotCWlmIHRlc3QgLWYgIiRwaWRmaWxlIgotCXRoZW4KLQkJa2lsbCAtOSAkKGNhdCAiJHBpZGZpbGUiKSAyPi9kZXYvbnVsbCAmJiBleGl0IDI1NQotCWZpCitzdG9wX3A0ZF9hbmRfd2F0Y2hkb2cgKCkgeworCWtpbGwgLTkgJHA0ZF9waWQgJHdhdGNoZG9nX3BpZAogfQotdHJhcCBjbGVhbnVwIEVYSVQKIAogIyBnaXQgcDQgc3VibWl0IGdlbmVyYXRlcyBhIHRlbXAgZmlsZSwgd2hpY2ggd2lsbAogIyBub3QgZ2V0IGNsZWFuZWQgdXAgaWYgdGhlIHN1Ym1pc3Npb24gZmFpbHMuICBEb24ndApAQCAtODksNyArNjgsMTYgQEAKIFRNUERJUj0iJFRSQVNIX0RJUkVDVE9SWSIKIGV4cG9ydCBUTVBESVIKIAorcmVnaXN0ZXJlZF9zdG9wX3A0ZF9hdGV4aXRfaGFuZGxlcj0KIHN0YXJ0X3A0ZCAoKSB7CisJIyBPbmUgb2YgdGhlIHRlc3Qgc2NyaXB0cyBzdG9wcyBhbmQgdGhlbiByZS1zdGFydHMgcDRkLgorCSMgRG9uJ3QgcmVnaXN0ZXIgYW5kIHRoZW4gcnVuIHRoZSBzYW1lIGF0ZXhpdCBoYW5kbGVycyBzZXZlcmFsIHRpbWVzLgorCWlmIHRlc3QgLXogIiRyZWdpc3RlcmVkX3N0b3BfcDRkX2F0ZXhpdF9oYW5kbGVyIgorCXRoZW4KKwkJdGVzdF9hdGV4aXQgJ3N0b3BfcDRkX2FuZF93YXRjaGRvZycKKwkJcmVnaXN0ZXJlZF9zdG9wX3A0ZF9hdGV4aXRfaGFuZGxlcj1BbHJlYWR5RG9uZQorCWZpCisKIAlta2RpciAtcCAiJGRiIiAiJGNsaSIgIiRnaXQiICYmCiAJcm0gLWYgIiRwaWRmaWxlIiAmJgogCSgKQEAgLTk5LDYgKzg3LDcgQEAKIAkJCWVjaG8gJCEgPiIkcGlkZmlsZSIKIAkJfQogCSkgJiYKKwlwNGRfcGlkPSQoY2F0ICIkcGlkZmlsZSIpCiAKIAkjIFRoaXMgZ2l2ZXMgcDRkIGEgbG9uZyB0aW1lIHRvIHN0YXJ0IHVwLCBhcyBpdCBjYW4gYmUKIAkjIHF1aXRlIHNsb3cgZGVwZW5kaW5nIG9uIHRoZSBtYWNoaW5lLiAgU2V0IHRoaXMgZW52aXJvbm1lbnQKQEAgLTEwNiwxOCArOTUsMTggQEAKIAkjIGFuIGF1dG9tYXRlZCB0ZXN0IHNldHVwLiAgSWYgdGhlIHA0ZCBwcm9jZXNzIGRpZXMsIHRoYXQKIAkjIHdpbGwgYmUgY2F1Z2h0IHdpdGggdGhlICJraWxsIC0wIiBjaGVjayBiZWxvdy4KIAlpPSR7UDREX1NUQVJUX1BBVElFTkNFOi0zMDB9Ci0JcGlkPSQoY2F0ICIkcGlkZmlsZSIpCiAKLQl0aW1lb3V0PSQoKCQodGltZV9pbl9zZWNvbmRzKSArICRQNERfVElNRU9VVCkpCisJbnJfdHJpZXNfbGVmdD0kUDREX1RJTUVPVVQKIAl3aGlsZSB0cnVlCiAJZG8KLQkJaWYgdGVzdCAkKHRpbWVfaW5fc2Vjb25kcykgLWd0ICR0aW1lb3V0CisJCWlmIHRlc3QgJG5yX3RyaWVzX2xlZnQgLWVxIDAKIAkJdGhlbgotCQkJa2lsbCAtOSAkcGlkCisJCQlraWxsIC05ICRwNGRfcGlkCiAJCQlleGl0IDEKIAkJZmkKIAkJc2xlZXAgMQotCWRvbmUgJgorCQlucl90cmllc19sZWZ0PSQoKCRucl90cmllc19sZWZ0IC0gMSkpCisJZG9uZSAyPi9kZXYvbnVsbCA0PiYyICYKIAl3YXRjaGRvZ19waWQ9JCEKIAogCXJlYWR5PQpAQCAtMTMwLDcgKzExOSw3IEBACiAJCQlicmVhawogCQlmaQogCQkjIGZhaWwgaWYgcDRkIGRpZWQKLQkJa2lsbCAtMCAkcGlkIDI+L2Rldi9udWxsIHx8IGJyZWFrCisJCWtpbGwgLTAgJHA0ZF9waWQgMj4vZGV2L251bGwgfHwgYnJlYWsKIAkJZWNobyB3YWl0aW5nIGZvciBwNGQgdG8gc3RhcnQKIAkJc2xlZXAgMQogCQlpPSQoKCAkaSAtIDEgKSkKQEAgLTE3MCwzNCArMTU5LDIzIEBACiB9CiAKIHJldHJ5X3VudGlsX3N1Y2Nlc3MgKCkgewotCXRpbWVvdXQ9JCgoJCh0aW1lX2luX3NlY29uZHMpICsgJFJFVFJZX1RJTUVPVVQpKQotCXVudGlsICIkQCIgMj4vZGV2L251bGwgfHwgdGVzdCAkKHRpbWVfaW5fc2Vjb25kcykgLWd0ICR0aW1lb3V0CisJbnJfdHJpZXNfbGVmdD0kUkVUUllfVElNRU9VVAorCXVudGlsICIkQCIgMj4vZGV2L251bGwgfHwgdGVzdCAkbnJfdHJpZXNfbGVmdCAtZXEgMAogCWRvCiAJCXNsZWVwIDEKKwkJbnJfdHJpZXNfbGVmdD0kKCgkbnJfdHJpZXNfbGVmdCAtIDEpKQogCWRvbmUKIH0KIAotcmV0cnlfdW50aWxfZmFpbCAoKSB7Ci0JdGltZW91dD0kKCgkKHRpbWVfaW5fc2Vjb25kcykgKyAkUkVUUllfVElNRU9VVCkpCi0JdW50aWwgISAiJEAiIDI+L2Rldi9udWxsIHx8IHRlc3QgJCh0aW1lX2luX3NlY29uZHMpIC1ndCAkdGltZW91dAotCWRvCi0JCXNsZWVwIDEKLQlkb25lCi19Ci0KLWtpbGxfcDRkICgpIHsKLQlwaWQ9JChjYXQgIiRwaWRmaWxlIikKLQlyZXRyeV91bnRpbF9mYWlsIGtpbGwgJHBpZAotCXJldHJ5X3VudGlsX2ZhaWwga2lsbCAtOSAkcGlkCi0JIyBjb21wbGFpbiBpZiBpdCB3b3VsZCBub3QgZGllCi0JdGVzdF9tdXN0X2ZhaWwga2lsbCAkcGlkID4vZGV2L251bGwgMj4mMSAmJgotCXJtIC1yZiAiJGRiIiAiJGNsaSIgIiRwaWRmaWxlIiAmJgotCXJldHJ5X3VudGlsX2ZhaWwga2lsbCAtOSAkd2F0Y2hkb2dfcGlkCitzdG9wX2FuZF9jbGVhbnVwX3A0ZCAoKSB7CisJa2lsbCAtOSAkcDRkX3BpZCAkd2F0Y2hkb2dfcGlkCisJd2FpdCAkcDRkX3BpZAorCXJtIC1yZiAiJGRiIiAiJGNsaSIgIiRwaWRmaWxlIgogfQogCiBjbGVhbnVwX2dpdCAoKSB7CiAJcmV0cnlfdW50aWxfc3VjY2VzcyBybSAtciAiJGdpdCIKLQl0ZXN0X211c3RfZmFpbCB0ZXN0IC1kICIkZ2l0IiAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nICIkZ2l0IiAmJgogCXJldHJ5X3VudGlsX3N1Y2Nlc3MgbWtkaXIgIiRnaXQiCiB9CiAKZGlmZiAtLWdpdCBhL3QvbGliLWdpdC1zdm4uc2ggYi90L2xpYi1naXQtc3ZuLnNoCmluZGV4IGE4MTMwZjkuLjdkMjQ4ZTYgMTAwNjQ0Ci0tLSBhL3QvbGliLWdpdC1zdm4uc2gKKysrIGIvdC9saWItZ2l0LXN2bi5zaApAQCAtMTMsNiArMTMsNyBAQAogR0lUX0RJUj0kUFdELy5naXQKIEdJVF9TVk5fRElSPSRHSVRfRElSL3N2bi9yZWZzL3JlbW90ZXMvZ2l0LXN2bgogU1ZOX1RSRUU9JEdJVF9TVk5fRElSL3N2bi10cmVlCit0ZXN0X3NldF9wb3J0IFNWTlNFUlZFX1BPUlQKIAogc3ZuID4vZGV2L251bGwgMj4mMQogaWYgdGVzdCAkPyAtbmUgMQpAQCAtNjgsMTkgKzY5LDEyIEBACiBtYXliZV9zdGFydF9odHRwZCAoKSB7CiAJbG9jPSR7MS1zdm59CiAKLQl0ZXN0X3RyaXN0YXRlIEdJVF9TVk5fVEVTVF9IVFRQRAotCWNhc2UgJEdJVF9TVk5fVEVTVF9IVFRQRCBpbgotCXRydWUpCisJaWYgdGVzdF9ib29sX2VudiBHSVRfVEVTVF9TVk5fSFRUUEQgZmFsc2UKKwl0aGVuCiAJCS4gIiRURVNUX0RJUkVDVE9SWSIvbGliLWh0dHBkLnNoCiAJCUxJQl9IVFRQRF9TVk49IiRsb2MiCiAJCXN0YXJ0X2h0dHBkCi0JCTs7Ci0JKikKLQkJc3RvcF9odHRwZCAoKSB7Ci0JCQk6IG5vb3AKLQkJfQotCQk7OwotCWVzYWMKKwlmaQogfQogCiBjb252ZXJ0X3RvX3Jldl9kYiAoKSB7CkBAIC0xMTAsOCArMTA0LDcgQEAKIH0KIAogcmVxdWlyZV9zdm5zZXJ2ZSAoKSB7Ci0JdGVzdF90cmlzdGF0ZSBHSVRfVEVTVF9TVk5TRVJWRQotCWlmICEgdGVzdCAiJEdJVF9URVNUX1NWTlNFUlZFIiA9IHRydWUKKwlpZiAhIHRlc3RfYm9vbF9lbnYgR0lUX1RFU1RfU1ZOU0VSVkUgZmFsc2UKIAl0aGVuCiAJCXNraXBfYWxsPSdza2lwcGluZyBzdm5zZXJ2ZSB0ZXN0LiAoc2V0ICRHSVRfVEVTVF9TVk5TRVJWRSB0byBlbmFibGUpJwogCQl0ZXN0X2RvbmUKQEAgLTExOSw3ICsxMTIsNiBAQAogfQogCiBzdGFydF9zdm5zZXJ2ZSAoKSB7Ci0JU1ZOU0VSVkVfUE9SVD0ke1NWTlNFUlZFX1BPUlQtJHt0aGlzX3Rlc3QjdH19CiAJc3Zuc2VydmUgLS1saXN0ZW4tcG9ydCAkU1ZOU0VSVkVfUE9SVCBcCiAJCSAtLXJvb3QgIiRyYXdzdm5yZXBvIiBcCiAJCSAtLWxpc3Rlbi1vbmNlIFwKZGlmZiAtLWdpdCBhL3QvbGliLWdwZy5zaCBiL3QvbGliLWdwZy5zaAppbmRleCBmMTI3N2JlLi44ZDI4NjUyIDEwMDc1NQotLS0gYS90L2xpYi1ncGcuc2gKKysrIGIvdC9saWItZ3BnLnNoCkBAIC02Myw4ICs2Myw3IEBACiAJCWN1dCAtZCIgIiAtZjQgfAogCQl0ciAtZCAnXG4nID4iJHtHTlVQR0hPTUV9L3RydXN0bGlzdC50eHQiICYmCiAKLQkJZWNobyAiIFMgcmVsYXgiID4+ICR7R05VUEdIT01FfS90cnVzdGxpc3QudHh0ICYmCi0JCShncGdjb25mIC0ta2lsbCBncGctYWdlbnQgPi9kZXYvbnVsbCAyPiYxIHx8IDogKSAmJgorCQllY2hvICIgUyByZWxheCIgPj4iJHtHTlVQR0hPTUV9L3RydXN0bGlzdC50eHQiICYmCiAJCWVjaG8gaGVsbG8gfCBncGdzbSAtLWhvbWVkaXIgIiR7R05VUEdIT01FfSIgPi9kZXYvbnVsbCBcCiAJCQktdSBjb21taXR0ZXJAZXhhbXBsZS5jb20gLW8gL2Rldi9udWxsIC0tc2lnbiAtIDI+JjEgJiYKIAkJdGVzdF9zZXRfcHJlcmVxIEdQR1NNCmRpZmYgLS1naXQgYS90L2xpYi1odHRwZC5zaCBiL3QvbGliLWh0dHBkLnNoCmluZGV4IGE4NzI5ZjguLjE0NDllZTkgMTAwNjQ0Ci0tLSBhL3QvbGliLWh0dHBkLnNoCisrKyBiL3QvbGliLWh0dHBkLnNoCkBAIC0xNCw3ICsxNCw2IEBACiAjCiAjCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgLi4uCiAjCi0jCXN0b3BfaHR0cGQKICMJdGVzdF9kb25lCiAjCiAjIENhbiBiZSBjb25maWd1cmVkIHVzaW5nIHRoZSBmb2xsb3dpbmcgdmFyaWFibGVzLgpAQCAtNDIsMTUgKzQxLDE0IEBACiAJdGVzdF9kb25lCiBmaQogCi10ZXN0X3RyaXN0YXRlIEdJVF9URVNUX0hUVFBECi1pZiB0ZXN0ICIkR0lUX1RFU1RfSFRUUEQiID0gZmFsc2UKK2lmICEgdGVzdF9ib29sX2VudiBHSVRfVEVTVF9IVFRQRCB0cnVlCiB0aGVuCiAJc2tpcF9hbGw9Ik5ldHdvcmsgdGVzdGluZyBkaXNhYmxlZCAodW5zZXQgR0lUX1RFU1RfSFRUUEQgdG8gZW5hYmxlKSIKIAl0ZXN0X2RvbmUKIGZpCiAKIGlmICEgdGVzdF9oYXZlX3ByZXJlcSBOT1RfUk9PVDsgdGhlbgotCXRlc3Rfc2tpcF9vcl9kaWUgJEdJVF9URVNUX0hUVFBEIFwKKwl0ZXN0X3NraXBfb3JfZGllIEdJVF9URVNUX0hUVFBEIFwKIAkJIkNhbm5vdCBydW4gaHR0cGQgdGVzdHMgYXMgcm9vdCIKIGZpCiAKQEAgLTgyLDcgKzgwLDcgQEAKIGVzYWMKIAogTElCX0hUVFBEX1BBVEg9JHtMSUJfSFRUUERfUEFUSC0iJERFRkFVTFRfSFRUUERfUEFUSCJ9Ci1MSUJfSFRUUERfUE9SVD0ke0xJQl9IVFRQRF9QT1JULSR7dGhpc190ZXN0I3R9fQordGVzdF9zZXRfcG9ydCBMSUJfSFRUUERfUE9SVAogCiBURVNUX1BBVEg9IiRURVNUX0RJUkVDVE9SWSIvbGliLWh0dHBkCiBIVFRQRF9ST09UX1BBVEg9IiRQV0QiL2h0dHBkCkBAIC05MSwxMSArODksMTIgQEAKICMgaGFjayB0byBzdXBwcmVzcyBhcGFjaGUgUGFzc0VudiB3YXJuaW5ncwogR0lUX1ZBTEdSSU5EPSRHSVRfVkFMR1JJTkQ7IGV4cG9ydCBHSVRfVkFMR1JJTkQKIEdJVF9WQUxHUklORF9PUFRJT05TPSRHSVRfVkFMR1JJTkRfT1BUSU9OUzsgZXhwb3J0IEdJVF9WQUxHUklORF9PUFRJT05TCitHSVRfVEVTVF9TSURFQkFORF9BTEw9JEdJVF9URVNUX1NJREVCQU5EX0FMTDsgZXhwb3J0IEdJVF9URVNUX1NJREVCQU5EX0FMTAogR0lUX1RSQUNFPSRHSVRfVFJBQ0U7IGV4cG9ydCBHSVRfVFJBQ0UKIAogaWYgISB0ZXN0IC14ICIkTElCX0hUVFBEX1BBVEgiCiB0aGVuCi0JdGVzdF9za2lwX29yX2RpZSAkR0lUX1RFU1RfSFRUUEQgIm5vIHdlYiBzZXJ2ZXIgZm91bmQgYXQgJyRMSUJfSFRUUERfUEFUSCciCisJdGVzdF9za2lwX29yX2RpZSBHSVRfVEVTVF9IVFRQRCAibm8gd2ViIHNlcnZlciBmb3VuZCBhdCAnJExJQl9IVFRQRF9QQVRIJyIKIGZpCiAKIEhUVFBEX1ZFUlNJT049JCgkTElCX0hUVFBEX1BBVEggLXYgfCBcCkBAIC0xMDcsMTkgKzEwNiwxOSBAQAogCXRoZW4KIAkJaWYgISB0ZXN0ICRIVFRQRF9WRVJTSU9OIC1nZSAyCiAJCXRoZW4KLQkJCXRlc3Rfc2tpcF9vcl9kaWUgJEdJVF9URVNUX0hUVFBEIFwKKwkJCXRlc3Rfc2tpcF9vcl9kaWUgR0lUX1RFU1RfSFRUUEQgXAogCQkJCSJhdCBsZWFzdCBBcGFjaGUgdmVyc2lvbiAyIGlzIHJlcXVpcmVkIgogCQlmaQogCQlpZiAhIHRlc3QgLWQgIiRERUZBVUxUX0hUVFBEX01PRFVMRV9QQVRIIgogCQl0aGVuCi0JCQl0ZXN0X3NraXBfb3JfZGllICRHSVRfVEVTVF9IVFRQRCBcCisJCQl0ZXN0X3NraXBfb3JfZGllIEdJVF9URVNUX0hUVFBEIFwKIAkJCQkiQXBhY2hlIG1vZHVsZSBkaXJlY3Rvcnkgbm90IGZvdW5kIgogCQlmaQogCiAJCUxJQl9IVFRQRF9NT0RVTEVfUEFUSD0iJERFRkFVTFRfSFRUUERfTU9EVUxFX1BBVEgiCiAJZmkKIGVsc2UKLQl0ZXN0X3NraXBfb3JfZGllICRHSVRfVEVTVF9IVFRQRCBcCisJdGVzdF9za2lwX29yX2RpZSBHSVRfVEVTVF9IVFRQRCBcCiAJCSJDb3VsZCBub3QgaWRlbnRpZnkgd2ViIHNlcnZlciBhdCAnJExJQl9IVFRQRF9QQVRIJyIKIGZpCiAKQEAgLTEzMSw4ICsxMzAsOSBAQAogCW1rZGlyIC1wICIkSFRUUERfRE9DVU1FTlRfUk9PVF9QQVRIIgogCWNwICIkVEVTVF9QQVRIIi9wYXNzd2QgIiRIVFRQRF9ST09UX1BBVEgiCiAJaW5zdGFsbF9zY3JpcHQgYnJva2VuLXNtYXJ0LWh0dHAuc2gKKwlpbnN0YWxsX3NjcmlwdCBlcnJvci1zbWFydC1odHRwLnNoCiAJaW5zdGFsbF9zY3JpcHQgZXJyb3Iuc2gKLQlpbnN0YWxsX3NjcmlwdCBhcHBseS1vbmUtdGltZS1zZWQuc2gKKwlpbnN0YWxsX3NjcmlwdCBhcHBseS1vbmUtdGltZS1wZXJsLnNoCiAKIAlsbiAtcyAiJExJQl9IVFRQRF9NT0RVTEVfUEFUSCIgIiRIVFRQRF9ST09UX1BBVEgvbW9kdWxlcyIKIApAQCAtMTc0LDcgKzE3NCw3IEBACiBzdGFydF9odHRwZCgpIHsKIAlwcmVwYXJlX2h0dHBkID4mMyAyPiY0CiAKLQl0cmFwICdjb2RlPSQ/OyBzdG9wX2h0dHBkOyAoZXhpdCAkY29kZSk7IGRpZScgRVhJVAorCXRlc3RfYXRleGl0IHN0b3BfaHR0cGQKIAogCSIkTElCX0hUVFBEX1BBVEgiIC1kICIkSFRUUERfUk9PVF9QQVRIIiBcCiAJCS1mICIkVEVTVF9QQVRIL2FwYWNoZS5jb25mIiAkSFRUUERfUEFSQSBcCkBAIC0xODIsMTUgKzE4MiwxMiBAQAogCQk+JjMgMj4mNAogCWlmIHRlc3QgJD8gLW5lIDAKIAl0aGVuCi0JCXRyYXAgJ2RpZScgRVhJVAogCQljYXQgIiRIVFRQRF9ST09UX1BBVEgiL2Vycm9yLmxvZyA+JjQgMj4vZGV2L251bGwKLQkJdGVzdF9za2lwX29yX2RpZSAkR0lUX1RFU1RfSFRUUEQgIndlYiBzZXJ2ZXIgc2V0dXAgZmFpbGVkIgorCQl0ZXN0X3NraXBfb3JfZGllIEdJVF9URVNUX0hUVFBEICJ3ZWIgc2VydmVyIHNldHVwIGZhaWxlZCIKIAlmaQogfQogCiBzdG9wX2h0dHBkKCkgewotCXRyYXAgJ2RpZScgRVhJVAotCiAJIiRMSUJfSFRUUERfUEFUSCIgLWQgIiRIVFRQRF9ST09UX1BBVEgiIFwKIAkJLWYgIiRURVNUX1BBVEgvYXBhY2hlLmNvbmYiICRIVFRQRF9QQVJBIC1rIHN0b3AKIH0KZGlmZiAtLWdpdCBhL3QvbGliLWh0dHBkL2FwYWNoZS5jb25mIGIvdC9saWItaHR0cGQvYXBhY2hlLmNvbmYKaW5kZXggNTgxYzAxMC4uOTk0ZTUyOSAxMDA2NDQKLS0tIGEvdC9saWItaHR0cGQvYXBhY2hlLmNvbmYKKysrIGIvdC9saWItaHR0cGQvYXBhY2hlLmNvbmYKQEAgLTc2LDggKzc2LDEwIEBACiBQYXNzRW52IEdJVF9WQUxHUklORF9PUFRJT05TCiBQYXNzRW52IEdOVVBHSE9NRQogUGFzc0VudiBBU0FOX09QVElPTlMKK1Bhc3NFbnYgTFNBTl9PUFRJT05TCiBQYXNzRW52IEdJVF9UUkFDRQogUGFzc0VudiBHSVRfQ09ORklHX05PU1lTVEVNCitQYXNzRW52IEdJVF9URVNUX1NJREVCQU5EX0FMTAogCiBTZXRFbnZJZiBHaXQtUHJvdG9jb2wgIi4qIiBHSVRfUFJPVE9DT0w9JDAKIApAQCAtMTExLDI0ICsxMTMsMjkgQEAKIAlTZXRFbnYgR0lUX0VYRUNfUEFUSCAke0dJVF9FWEVDX1BBVEh9CiAJU2V0RW52IEdJVF9IVFRQX0VYUE9SVF9BTEwKIDwvTG9jYXRpb25NYXRjaD4KLTxMb2NhdGlvbk1hdGNoIC9vbmVfdGltZV9zZWQvPgorPExvY2F0aW9uTWF0Y2ggL29uZV90aW1lX3BlcmwvPgogCVNldEVudiBHSVRfRVhFQ19QQVRIICR7R0lUX0VYRUNfUEFUSH0KIAlTZXRFbnYgR0lUX0hUVFBfRVhQT1JUX0FMTAogPC9Mb2NhdGlvbk1hdGNoPgorU2NyaXB0QWxpYXNNYXRjaCAvZXJyb3JfZ2l0X3VwbG9hZF9wYWNrLyguKikvZ2l0LXVwbG9hZC1wYWNrIGVycm9yLnNoLwogU2NyaXB0QWxpYXNNYXRjaCAvc21hcnRfKlteL10qLyguKikgJHtHSVRfRVhFQ19QQVRIfS9naXQtaHR0cC1iYWNrZW5kLyQxCiBTY3JpcHRBbGlhcyAvYnJva2VuX3NtYXJ0LyBicm9rZW4tc21hcnQtaHR0cC5zaC8KK1NjcmlwdEFsaWFzIC9lcnJvcl9zbWFydC8gZXJyb3Itc21hcnQtaHR0cC5zaC8KIFNjcmlwdEFsaWFzIC9lcnJvci8gZXJyb3Iuc2gvCi1TY3JpcHRBbGlhc01hdGNoIC9vbmVfdGltZV9zZWQvKC4qKSBhcHBseS1vbmUtdGltZS1zZWQuc2gvJDEKK1NjcmlwdEFsaWFzTWF0Y2ggL29uZV90aW1lX3BlcmwvKC4qKSBhcHBseS1vbmUtdGltZS1wZXJsLnNoLyQxCiA8RGlyZWN0b3J5ICR7R0lUX0VYRUNfUEFUSH0+CiAJT3B0aW9ucyBGb2xsb3dTeW1saW5rcwogPC9EaXJlY3Rvcnk+CiA8RmlsZXMgYnJva2VuLXNtYXJ0LWh0dHAuc2g+CiAJT3B0aW9ucyBFeGVjQ0dJCiA8L0ZpbGVzPgorPEZpbGVzIGVycm9yLXNtYXJ0LWh0dHAuc2g+CisJT3B0aW9ucyBFeGVjQ0dJCis8L0ZpbGVzPgogPEZpbGVzIGVycm9yLnNoPgogICBPcHRpb25zIEV4ZWNDR0kKIDwvRmlsZXM+Ci08RmlsZXMgYXBwbHktb25lLXRpbWUtc2VkLnNoPgorPEZpbGVzIGFwcGx5LW9uZS10aW1lLXBlcmwuc2g+CiAJT3B0aW9ucyBFeGVjQ0dJCiA8L0ZpbGVzPgogPEZpbGVzICR7R0lUX0VYRUNfUEFUSH0vZ2l0LWh0dHAtYmFja2VuZD4KZGlmZiAtLWdpdCBhL3QvbGliLWh0dHBkL2FwcGx5LW9uZS10aW1lLXBlcmwuc2ggYi90L2xpYi1odHRwZC9hcHBseS1vbmUtdGltZS1wZXJsLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5YTBhYmQKLS0tIC9kZXYvbnVsbAorKysgYi90L2xpYi1odHRwZC9hcHBseS1vbmUtdGltZS1wZXJsLnNoCkBAIC0wLDAgKzEsMjcgQEAKKyMhL2Jpbi9zaAorCisjIElmICJvbmUtdGltZS1wZXJsIiBleGlzdHMgaW4gJEhUVFBEX1JPT1RfUEFUSCwgcnVuIHBlcmwgb24gdGhlIEhUVFAgcmVzcG9uc2UsCisjIHVzaW5nIHRoZSBjb250ZW50cyBvZiAib25lLXRpbWUtcGVybCIgYXMgdGhlIHBlcmwgY29tbWFuZCB0byBiZSBydW4uIElmIHRoZQorIyByZXNwb25zZSB3YXMgbW9kaWZpZWQgYXMgYSByZXN1bHQsIGRlbGV0ZSAib25lLXRpbWUtcGVybCIgc28gdGhhdCBzdWJzZXF1ZW50CisjIEhUVFAgcmVzcG9uc2VzIGFyZSBubyBsb25nZXIgbW9kaWZpZWQuCisjCisjIFRoaXMgY2FuIGJlIHVzZWQgdG8gc2ltdWxhdGUgdGhlIGVmZmVjdHMgb2YgdGhlIHJlcG9zaXRvcnkgY2hhbmdpbmcgaW4KKyMgYmV0d2VlbiBIVFRQIHJlcXVlc3QtcmVzcG9uc2UgcGFpcnMuCitpZiB0ZXN0IC1mIG9uZS10aW1lLXBlcmwKK3RoZW4KKwlMQ19BTEw9QworCWV4cG9ydCBMQ19BTEwKKworCSIkR0lUX0VYRUNfUEFUSC9naXQtaHR0cC1iYWNrZW5kIiA+b3V0CisJcGVybCAtcGUgIiQoY2F0IG9uZS10aW1lLXBlcmwpIiBvdXQgPm91dF9tb2RpZmllZAorCisJaWYgY21wIC1zIG91dCBvdXRfbW9kaWZpZWQKKwl0aGVuCisJCWNhdCBvdXQKKwllbHNlCisJCWNhdCBvdXRfbW9kaWZpZWQKKwkJcm0gb25lLXRpbWUtcGVybAorCWZpCitlbHNlCisJIiRHSVRfRVhFQ19QQVRIL2dpdC1odHRwLWJhY2tlbmQiCitmaQpkaWZmIC0tZ2l0IGEvdC9saWItaHR0cGQvYXBwbHktb25lLXRpbWUtc2VkLnNoIGIvdC9saWItaHR0cGQvYXBwbHktb25lLXRpbWUtc2VkLnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmY2VmNzI4Li4wMDAwMDAwCi0tLSBhL3QvbGliLWh0dHBkL2FwcGx5LW9uZS10aW1lLXNlZC5zaAorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLSMhL2Jpbi9zaAotCi0jIElmICJvbmUtdGltZS1zZWQiIGV4aXN0cyBpbiAkSFRUUERfUk9PVF9QQVRILCBydW4gc2VkIG9uIHRoZSBIVFRQIHJlc3BvbnNlLAotIyB1c2luZyB0aGUgY29udGVudHMgb2YgIm9uZS10aW1lLXNlZCIgYXMgdGhlIHNlZCBjb21tYW5kIHRvIGJlIHJ1bi4gSWYgdGhlCi0jIHJlc3BvbnNlIHdhcyBtb2RpZmllZCBhcyBhIHJlc3VsdCwgZGVsZXRlICJvbmUtdGltZS1zZWQiIHNvIHRoYXQgc3Vic2VxdWVudAotIyBIVFRQIHJlc3BvbnNlcyBhcmUgbm8gbG9uZ2VyIG1vZGlmaWVkLgotIwotIyBUaGlzIGNhbiBiZSB1c2VkIHRvIHNpbXVsYXRlIHRoZSBlZmZlY3RzIG9mIHRoZSByZXBvc2l0b3J5IGNoYW5naW5nIGluCi0jIGJldHdlZW4gSFRUUCByZXF1ZXN0LXJlc3BvbnNlIHBhaXJzLgotaWYgWyAtZSBvbmUtdGltZS1zZWQgXTsgdGhlbgotCSIkR0lUX0VYRUNfUEFUSC9naXQtaHR0cC1iYWNrZW5kIiA+b3V0Ci0Jc2VkICIkKGNhdCBvbmUtdGltZS1zZWQpIiA8b3V0ID5vdXRfbW9kaWZpZWQKLQotCWlmIGRpZmYgb3V0IG91dF9tb2RpZmllZCA+L2Rldi9udWxsOyB0aGVuCi0JCWNhdCBvdXQKLQllbHNlCi0JCWNhdCBvdXRfbW9kaWZpZWQKLQkJcm0gb25lLXRpbWUtc2VkCi0JZmkKLWVsc2UKLQkiJEdJVF9FWEVDX1BBVEgvZ2l0LWh0dHAtYmFja2VuZCIKLWZpCmRpZmYgLS1naXQgYS90L2xpYi1odHRwZC9lcnJvci1zbWFydC1odHRwLnNoIGIvdC9saWItaHR0cGQvZXJyb3Itc21hcnQtaHR0cC5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjVkNDQ3Ci0tLSAvZGV2L251bGwKKysrIGIvdC9saWItaHR0cGQvZXJyb3Itc21hcnQtaHR0cC5zaApAQCAtMCwwICsxLDMgQEAKK2VjaG8gIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC1naXQtdXBsb2FkLXBhY2stYWR2ZXJ0aXNlbWVudCIKK2VjaG8KK3ByaW50ZiAiJXMiICIwMDE5RVJSIHNlcnZlci1zaWRlIGVycm9yIgpkaWZmIC0tZ2l0IGEvdC9saWItbG9nLWdyYXBoLnNoIGIvdC9saWItbG9nLWdyYXBoLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjExODRjY2UKLS0tIC9kZXYvbnVsbAorKysgYi90L2xpYi1sb2ctZ3JhcGguc2gKQEAgLTAsMCArMSwyOCBAQAorIyBIZWxwcyBzaGFyZWQgYnkgdGhlIHRlc3Qgc2NyaXB0cyBmb3IgY29tcGFyaW5nIGxvZyBncmFwaHMuCisKK3Nhbml0aXplX2xvZ19vdXRwdXQgKCkgeworCXNlZCAtZSAncy8gKiQvLycgXAorCSAgICAtZSAncy9jb21taXQgWzAtOWEtZl0qJC9jb21taXQgQ09NTUlUX09CSkVDVF9OQU1FLycgXAorCSAgICAtZSAncy9NZXJnZTogWyAwLTlhLWZdKiQvTWVyZ2U6IE1FUkdFX1BBUkVOVFMvJyBcCisJICAgIC1lICdzL01lcmdlIHRhZy4qL01lcmdlIEhFQURTIERFU0NSSVBUSU9OLycgXAorCSAgICAtZSAncy9NZXJnZSBjb21taXQuKi9NZXJnZSBIRUFEUyBERVNDUklQVElPTi8nIFwKKwkgICAgLWUgJ3MvaW5kZXggWzAtOWEtZl0qXC5cLlswLTlhLWZdKi9pbmRleCBCRUZPUkUuLkFGVEVSLycKK30KKworbGliX3Rlc3RfY21wX2dyYXBoICgpIHsKKwlnaXQgbG9nIC0tZ3JhcGggIiRAIiA+b3V0cHV0ICYmCisJc2VkICdzLyAqJC8vJyA+b3V0cHV0LnNhbml0aXplZCA8b3V0cHV0ICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBvdXRwdXQuc2FuaXRpemVkCit9CisKK2xpYl90ZXN0X2NtcF9zaG9ydF9ncmFwaCAoKSB7CisJZ2l0IGxvZyAtLWdyYXBoIC0tcHJldHR5PXNob3J0ICIkQCIgPm91dHB1dCAmJgorCXNhbml0aXplX2xvZ19vdXRwdXQgPm91dHB1dC5zYW5pdGl6ZWQgPG91dHB1dCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3Qgb3V0cHV0LnNhbml0aXplZAorfQorCitsaWJfdGVzdF9jbXBfY29sb3JlZF9ncmFwaCAoKSB7CisJZ2l0IGxvZyAtLWdyYXBoIC0tY29sb3I9YWx3YXlzICIkQCIgPm91dHB1dC5jb2xvcnMucmF3ICYmCisJdGVzdF9kZWNvZGVfY29sb3IgPG91dHB1dC5jb2xvcnMucmF3IHwgc2VkICJzLyAqXCQvLyIgPm91dHB1dC5jb2xvcnMgJiYKKwl0ZXN0X2NtcCBleHBlY3QuY29sb3JzIG91dHB1dC5jb2xvcnMKK30KZGlmZiAtLWdpdCBhL3QvbGliLXBhY2suc2ggYi90L2xpYi1wYWNrLnNoCmluZGV4IGM0ZDkwN2EuLmYzNDYzMTcgMTAwNjQ0Ci0tLSBhL3QvbGliLXBhY2suc2gKKysrIGIvdC9saWItcGFjay5zaApAQCAtMzUsOSArMzUsMTEgQEAKICMgaGF2ZSBoYXJkY29kZWQgc29tZSB3ZWxsLWtub3duIG9iamVjdHMuIFNlZSB0aGUgY2FzZSBzdGF0ZW1lbnRzIGJlbG93IGZvciB0aGUKICMgY29tcGxldGUgbGlzdC4KIHBhY2tfb2JqICgpIHsKKwl0ZXN0X29pZF9pbml0CisKIAljYXNlICIkMSIgaW4KIAkjIGVtcHR5IGJsb2IKLQllNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxKQorCSRFTVBUWV9CTE9CKQogCQljYXNlICIkMiIgaW4KIAkJJycpCiAJCQlwcmludGYgJ1wwNjBcMTcwXDIzNFwwMDNcMFwwXDBcMFwxJwpAQCAtNDcsNyArNDksNyBAQAogCQk7OwogCiAJIyBibG9iIGNvbnRhaW5pbmcgIlw3XDc2IgotCWU2OGZlODEyOWI1NDZiMTAxYWVlOTUxMGM1MzI4ZTdmMjFjYTFkMTgpCisJJCh0ZXN0X29pZCBwYWNrbGliXzdfNzYpKQogCQljYXNlICIkMiIgaW4KIAkJJycpCiAJCQlwcmludGYgJ1wwNjJcMTcwXDIzNFwxNDNcMjY3XDNcMFwwXDExNlwwXDEwNicKQEAgLTU5LDExICs2MSwxOCBAQAogCQkJcHJpbnRmICdcMjM0XDE0M1wxNDJcMTQyXDE0MlwyNjdcMDAzXDBcMFwxNTFcMFwxMTQnCiAJCQlyZXR1cm4KIAkJCTs7CisJCTM3YzhlMmMxNWJiMjJiOTEyZTU5YjQzZmQ1MWE0ZjdlOTQ2NWVkMGI1MDg0YzVhMTQxMWQ5OTFjYmU2MzA2ODMpCisJCQlwcmludGYgJ1wxNjVcNjdcMzEwXDM0MlwzMDFcMTMzXDI2Mlw1M1wyMjFcNTZcMTMxJyAmJgorCQkJcHJpbnRmICdcMjY0XDc3XDMyNVwzMlwxMTdcMTc2XDIyNFwxNDVcMzU1XDEzXDEyMCcgJiYKKwkJCXByaW50ZiAnXDIwNFwzMDVcMjQxXDEwMVwzNVwyMzFcMzRcMjc2XDE0M1w2XDIwM1wxNzAnICYmCisJCQlwcmludGYgJ1wyMzRcMTQzXDE0MlwxNDJcMTQyXDI2N1wwMDNcMFwwXDE1MVwwXDExNCcKKwkJCXJldHVybgorCQkJOzsKIAkJZXNhYwogCQk7OwogCiAJIyBibG9iIGNvbnRhaW5pbmcgIlw3XDAiCi0JMDFkNzcxMzY2NmY0ZGU4MjI3NzZjNzYyMmMxMGYxYjA3ZGUyODBkYykKKwkkKHRlc3Rfb2lkIHBhY2tsaWJfN18wKSkKIAkJY2FzZSAiJDIiIGluCiAJCScnKQogCQkJcHJpbnRmICdcMDYyXDE3MFwyMzRcMTQzXDE0N1wwXDBcMFwyMFwwXDEwJwpAQCAtNzUsNiArODQsMTMgQEAKIAkJCXByaW50ZiAnXDE0M1wxNDJcMTQyXDE0MlwxNDdcMFwwXDBcNTNcMFwxNicKIAkJCXJldHVybgogCQkJOzsKKwkJNWQ4ZTZmYzQwZjJkYWIwMGU2OTgzYTQ4NTIzZmU1N2U2MjFmNDY0MzRjYjU4ZGJkNDQyMmZiYTAzMzgwZDg4NikKKwkJCXByaW50ZiAnXDE2NVwxMzVcMjE2XDE1N1wzMDRcMTdcNTVcMjUzXDBcMzQ2XDIzMFw3MicgJiYKKwkJCXByaW50ZiAnXDExMFwxMjJcNzdcMzQ1XDE3NlwxNDJcMzdcMTA2XDEwM1wxMTRcMjY1JyAmJgorCQkJcHJpbnRmICdcMjE1XDI3NVwxMDRcNDJcMzczXDI0MFw2M1wyMDBcMzMwXDIwNlwxNzBcMjM0JyAmJgorCQkJcHJpbnRmICdcMTQzXDE0MlwxNDJcMTQyXDE0N1wwXDBcMFw1M1wwXDE2JworCQkJcmV0dXJuCisJCQk7OwogCQllc2FjCiAJCTs7CiAJZXNhYwpAQCAtODYsNyArMTAyLDcgQEAKIAl0aGVuCiAJCWVjaG8gIiQxIiB8IGdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgPnBhY2tfb2JqLnRtcCAmJgogCQlzaXplPSQod2MgLWMgPHBhY2tfb2JqLnRtcCkgJiYKLQkJZGQgaWY9cGFja19vYmoudG1wIGJzPTEgY291bnQ9JCgoc2l6ZSAtIDIwIC0gMTIpKSBza2lwPTEyICYmCisJCWRkIGlmPXBhY2tfb2JqLnRtcCBicz0xIGNvdW50PSQoKHNpemUgLSAkKHRlc3Rfb2lkIHJhd3N6KSAtIDEyKSkgc2tpcD0xMiAmJgogCQlybSAtZiBwYWNrX29iai50bXAKIAkJcmV0dXJuCiAJZmkKQEAgLTk3LDcgKzExMyw4IEBACiAKICMgQ29tcHV0ZSBhbmQgYXBwZW5kIHBhY2sgdHJhaWxlciB0byAiJDEiCiBwYWNrX3RyYWlsZXIgKCkgewotCXRlc3QtdG9vbCBzaGExIC1iIDwiJDEiID50cmFpbGVyLnRtcCAmJgorCXRlc3Rfb2lkX2luaXQgJiYKKwl0ZXN0LXRvb2wgJCh0ZXN0X29pZCBhbGdvKSAtYiA8IiQxIiA+dHJhaWxlci50bXAgJiYKIAljYXQgdHJhaWxlci50bXAgPj4iJDEiICYmCiAJcm0gLWYgdHJhaWxlci50bXAKIH0KQEAgLTEwOCwzICsxMjUsMTEgQEAKIGNsZWFyX3BhY2tzICgpIHsKIAlybSAtZiAuZ2l0L29iamVjdHMvcGFjay8qCiB9CisKK3Rlc3Rfb2lkX2NhY2hlIDw8LUVPRgorcGFja2xpYl83XzAgc2hhMTowMWQ3NzEzNjY2ZjRkZTgyMjc3NmM3NjIyYzEwZjFiMDdkZTI4MGRjCitwYWNrbGliXzdfMCBzaGEyNTY6MzdjOGUyYzE1YmIyMmI5MTJlNTliNDNmZDUxYTRmN2U5NDY1ZWQwYjUwODRjNWExNDExZDk5MWNiZTYzMDY4MworCitwYWNrbGliXzdfNzYgc2hhMTplNjhmZTgxMjliNTQ2YjEwMWFlZTk1MTBjNTMyOGU3ZjIxY2ExZDE4CitwYWNrbGliXzdfNzYgc2hhMjU2OjVkOGU2ZmM0MGYyZGFiMDBlNjk4M2E0ODUyM2ZlNTdlNjIxZjQ2NDM0Y2I1OGRiZDQ0MjJmYmEwMzM4MGQ4ODYKK0VPRgpkaWZmIC0tZ2l0IGEvdC9saWItcGF0Y2gtbW9kZS5zaCBiL3QvbGliLXBhdGNoLW1vZGUuc2gKaW5kZXggMDZjM2M5MS4uY2ZkNzZiZiAxMDA2NDQKLS0tIGEvdC9saWItcGF0Y2gtbW9kZS5zaAorKysgYi90L2xpYi1wYXRjaC1tb2RlLnNoCkBAIC0yLDI4ICsyLDQwIEBACiAKIC4gLi90ZXN0LWxpYi5zaAogCisjIHNldF9zdGF0ZSA8cGF0aD4gPHdvcmt0cmVlLWNvbnRlbnQ+IDxpbmRleC1jb250ZW50PgorIworIyBQcmVwYXJlIHRoZSBjb250ZW50IGZvciBwYXRoIGluIHdvcmt0cmVlIGFuZCB0aGUgaW5kZXggYXMgc3BlY2lmaWVkLgogc2V0X3N0YXRlICgpIHsKIAllY2hvICIkMyIgPiAiJDEiICYmCiAJZ2l0IGFkZCAiJDEiICYmCiAJZWNobyAiJDIiID4gIiQxIgogfQogCisjIHNhdmVfc3RhdGUgPHBhdGg+CisjCisjIFNhdmUgaW5kZXgvd29ya3RyZWUgY29udGVudCBvZiA8cGF0aD4gaW4gdGhlIGZpbGVzIF93b3JrdHJlZV88cGF0aD4KKyMgYW5kIF9pbmRleF88cGF0aD4KIHNhdmVfc3RhdGUgKCkgewogCW5vc2xhc2g9IiQoZWNobyAiJDEiIHwgdHIgLyBfKSIgJiYKIAljYXQgIiQxIiA+IF93b3JrdHJlZV8iJG5vc2xhc2giICYmCiAJZ2l0IHNob3cgOiIkMSIgPiBfaW5kZXhfIiRub3NsYXNoIgogfQogCisjIHNldF9hbmRfc2F2ZV9zdGF0ZSA8cGF0aD4gPHdvcmt0cmVlLWNvbnRlbnQ+IDxpbmRleC1jb250ZW50Pgogc2V0X2FuZF9zYXZlX3N0YXRlICgpIHsKIAlzZXRfc3RhdGUgIiRAIiAmJgogCXNhdmVfc3RhdGUgIiQxIgogfQogCisjIHZlcmlmeV9zdGF0ZSA8cGF0aD4gPGV4cGVjdGVkLXdvcmt0cmVlLWNvbnRlbnQ+IDxleHBlY3RlZC1pbmRleC1jb250ZW50PgogdmVyaWZ5X3N0YXRlICgpIHsKIAl0ZXN0ICIkKGNhdCAiJDEiKSIgPSAiJDIiICYmCiAJdGVzdCAiJChnaXQgc2hvdyA6IiQxIikiID0gIiQzIgogfQogCisjIHZlcmlmeV9zYXZlZF9zdGF0ZSA8cGF0aD4KKyMKKyMgQ2FsbCB2ZXJpZnlfc3RhdGUgd2l0aCBleHBlY3RlZCBjb250ZW50cyBmcm9tIHRoZSBsYXN0IHNhdmVfc3RhdGUKIHZlcmlmeV9zYXZlZF9zdGF0ZSAoKSB7CiAJbm9zbGFzaD0iJChlY2hvICIkMSIgfCB0ciAvIF8pIiAmJgogCXZlcmlmeV9zdGF0ZSAiJDEiICIkKGNhdCBfd29ya3RyZWVfIiRub3NsYXNoIikiICIkKGNhdCBfaW5kZXhfIiRub3NsYXNoIikiCmRpZmYgLS1naXQgYS90L2xpYi1yZWJhc2Uuc2ggYi90L2xpYi1yZWJhc2Uuc2gKaW5kZXggN2VhMzBlNS4uYjcyYzA1MSAxMDA2NDQKLS0tIGEvdC9saWItcmViYXNlLnNoCisrKyBiL3QvbGliLXJlYmFzZS5zaApAQCAtNDQsMTAgKzQ0LDEwIEBACiAJcm0gLWYgIiQxIgogCWVjaG8gJ3JlYmFzZSAtaSBzY3JpcHQgYmVmb3JlIGVkaXRpbmc6JwogCWNhdCAiJDEiLnRtcAotCWFjdGlvbj1waWNrCisJYWN0aW9uPVwmCiAJZm9yIGxpbmUgaW4gJEZBS0VfTElORVM7IGRvCiAJCWNhc2UgJGxpbmUgaW4KLQkJcGlja3xwfHNxdWFzaHxzfGZpeHVwfGZ8ZWRpdHxlfHJld29yZHxyfGRyb3B8ZCkKKwkJcGlja3xwfHNxdWFzaHxzfGZpeHVwfGZ8ZWRpdHxlfHJld29yZHxyfGRyb3B8ZHxsYWJlbHxsfHJlc2V0fHJ8bWVyZ2V8bSkKIAkJCWFjdGlvbj0iJGxpbmUiOzsKIAkJZXhlY18qfHhfKnxicmVha3xiKQogCQkJZWNobyAiJGxpbmUiIHwgc2VkICdzL18vIC9nJyA+PiAiJDEiOzsKQEAgLTU4LDExICs1OCwxMiBAQAogCQliYWQpCiAJCQlhY3Rpb249ImJhZGNtZCI7OwogCQlmYWtlc2hhKQorCQkJdGVzdCBcJiAhPSAiJGFjdGlvbiIgfHwgYWN0aW9uPXBpY2sKIAkJCWVjaG8gIiRhY3Rpb24gWFhYWFhYWCBGYWxzZSBjb21taXQiID4+ICIkMSIKIAkJCWFjdGlvbj1waWNrOzsKIAkJKikKLQkJCXNlZCAtbiAiJHtsaW5lfXMvXnBpY2svJGFjdGlvbi9wIiA8ICIkMSIudG1wID4+ICIkMSIKLQkJCWFjdGlvbj1waWNrOzsKKwkJCXNlZCAtbiAiJHtsaW5lfXMvXlthLXpdW2Etel0qLyRhY3Rpb24vcCIgPCAiJDEiLnRtcCA+PiAiJDEiCisJCQlhY3Rpb249XCY7OwogCQllc2FjCiAJZG9uZQogCWVjaG8gJ3JlYmFzZSAtaSBzY3JpcHQgYWZ0ZXIgZWRpdGluZzonCkBAIC0xMTgsMyArMTE5LDMxIEBACiAJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tICIkMSIgJiYKIAlnaXQgdGFnICIkMSIKIH0KKworIyBDYWxsIHRoaXMgKGluc2lkZSB0ZXN0X2V4cGVjdF9zdWNjZXNzKSBhdCB0aGUgZW5kIG9mIGEgdGVzdCBmaWxlIHRvCisjIGNoZWNrIHRoYXQgbm8gdGVzdHMgaGF2ZSBjaGFuZ2VkIGVkaXRvciByZWxhdGVkIGVudmlyb25tZW50CisjIHZhcmlhYmxlcyBvciBjb25maWcgc2V0dGluZ3MKK3Rlc3RfZWRpdG9yX3VuY2hhbmdlZCAoKSB7CisJIyBXZSdyZSBvbmx5IGludGVyZXN0ZWQgaW4gZXhwb3J0ZWQgdmFyaWFibGVzIGhlbmNlICdzaCAtYycKKwlzaCAtYyAnY2F0ID5hY3R1YWwgPDwtRU9GCisJRURJVE9SPSRFRElUT1IKKwlGQUtFX0NPTU1JVF9BTUVORD0kRkFLRV9DT01NSVRfQU1FTkQKKwlGQUtFX0NPTU1JVF9NRVNTQUdFPSRGQUtFX0NPTU1JVF9NRVNTQUdFCisJRkFLRV9MSU5FUz0kRkFLRV9MSU5FUworCUdJVF9FRElUT1I9JEdJVF9FRElUT1IKKwlHSVRfU0VRVUVOQ0VfRURJVE9SPSRHSVRfU0VRVUVOQ0VfRURJVE9SCisJY29yZS5lZGl0b3I9JChnaXQgY29uZmlnIGNvcmUuZWRpdG9yKQorCXNlcXVlbmNlLmVkaXRvcj0kKGdpdCBjb25maWcgc2VxdWVuY2UuZWRpdG9yKQorCUVPRicKKwljYXQgPmV4cGVjdCA8PC1cRU9GCisJRURJVE9SPToKKwlGQUtFX0NPTU1JVF9BTUVORD0KKwlGQUtFX0NPTU1JVF9NRVNTQUdFPQorCUZBS0VfTElORVM9CisJR0lUX0VESVRPUj0KKwlHSVRfU0VRVUVOQ0VfRURJVE9SPQorCWNvcmUuZWRpdG9yPQorCXNlcXVlbmNlLmVkaXRvcj0KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCit9CmRpZmYgLS1naXQgYS90L2xpYi1zdWJtb2R1bGUtdXBkYXRlLnNoIGIvdC9saWItc3VibW9kdWxlLXVwZGF0ZS5zaAppbmRleCAwMTYzOTE3Li4xZGQxN2ZjIDEwMDc1NQotLS0gYS90L2xpYi1zdWJtb2R1bGUtdXBkYXRlLnNoCisrKyBiL3QvbGliLXN1Ym1vZHVsZS11cGRhdGUuc2gKQEAgLTEzOSw3ICsxMzksNyBAQAogCQlnaXQgcmV2ZXJ0IEhFQUQgJiYKIAogCQlnaXQgY2hlY2tvdXQgLWIgaW52YWxpZF9zdWIxIGFkZF9zdWIxICYmCi0JCWdpdCB1cGRhdGUtaW5kZXggLS1jYWNoZWluZm8gMTYwMDAwIDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkgc3ViMSAmJgorCQlnaXQgdXBkYXRlLWluZGV4IC0tY2FjaGVpbmZvIDE2MDAwMCAkKHRlc3Rfb2lkIG51bWVyaWMpIHN1YjEgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiSW52YWxpZCBzdWIxIGNvbW1pdCIgJiYKIAkJZ2l0IGNoZWNrb3V0IC1iIHZhbGlkX3N1YjEgJiYKIAkJZ2l0IHJldmVydCBIRUFEICYmCkBAIC0xOTYsNiArMTk2LDcgQEAKICMgdGhlIHN1Ym1vZHVsZSByZXBvIGlmIGl0IGRvZXNuJ3QgZXhpc3QgYW5kIGNvbmZpZ3VyZXMgdGhlIG1vc3QgcHJvYmxlbWF0aWMKICMgc2V0dGluZ3MgZm9yIGRpZmYuaWdub3JlU3VibW9kdWxlcy4KIHByb2xvZyAoKSB7CisJdGVzdF9vaWRfaW5pdCAmJgogCSh0ZXN0IC1kIHN1Ym1vZHVsZV91cGRhdGVfcmVwbyB8fCBjcmVhdGVfbGliX3N1Ym1vZHVsZV9yZXBvKSAmJgogCXRlc3RfY29uZmlnX2dsb2JhbCBkaWZmLmlnbm9yZVN1Ym1vZHVsZXMgYWxsICYmCiAJdGVzdF9jb25maWcgZGlmZi5pZ25vcmVTdWJtb2R1bGVzIGFsbApAQCAtMjM1LDcgKzIzNiw3IEBACiAJdGhlbgogCQlta2RpciAtcCBzdWJtb2R1bGVfdXBkYXRlLy5naXQvbW9kdWxlcy9zdWIxL21vZHVsZXMgJiYKIAkJY3AgLXIgc3VibW9kdWxlX3VwZGF0ZV9yZXBvLy5naXQvbW9kdWxlcy9zdWIxL21vZHVsZXMvc3ViMiBzdWJtb2R1bGVfdXBkYXRlLy5naXQvbW9kdWxlcy9zdWIxL21vZHVsZXMvc3ViMgotCQlHSVRfV09SS19UUkVFPS4gZ2l0IC1DIHN1Ym1vZHVsZV91cGRhdGUvLmdpdC9tb2R1bGVzL3N1YjEvbW9kdWxlcy9zdWIyIGNvbmZpZyAtLXVuc2V0IGNvcmUud29ya3RyZWUKKwkJIyBjb3JlLndvcmt0cmVlIGlzIHVuc2V0IGZvciBzdWIyIGFzIGl0IGlzIG5vdCBjaGVja2VkIG91dAogCWZpICYmCiAJIyBpbmRpY2F0ZSB3ZSBhcmUgaW50ZXJlc3RlZCBpbiB0aGUgc3VibW9kdWxlOgogCWdpdCAtQyBzdWJtb2R1bGVfdXBkYXRlIGNvbmZpZyBzdWJtb2R1bGUuc3ViMS51cmwgImJvZ3VzIiAmJgpAQCAtNzA5LDcgKzcxMCw4IEBACiAJCQlnaXQgYnJhbmNoIC10IHJlbW92ZV9zdWIxIG9yaWdpbi9yZW1vdmVfc3ViMSAmJgogCQkJJGNvbW1hbmQgcmVtb3ZlX3N1YjEgJiYKIAkJCXRlc3Rfc3VwZXJwcm9qZWN0X2NvbnRlbnQgb3JpZ2luL3JlbW92ZV9zdWIxICYmCi0JCQkhIHRlc3QgLWUgc3ViMQorCQkJISB0ZXN0IC1lIHN1YjEgJiYKKwkJCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgLWYgLmdpdC9tb2R1bGVzL3N1YjEvY29uZmlnIGNvcmUud29ya3RyZWUKIAkJKQogCScKIAkjIC4uLiBhYnNvcmJpbmcgYSAuZ2l0IGRpcmVjdG9yeSBhbG9uZyB0aGUgd2F5LgpkaWZmIC0tZ2l0IGEvdC9vaWQtaW5mby9oYXNoLWluZm8gYi90L29pZC1pbmZvL2hhc2gtaW5mbwppbmRleCBjY2RiZmRmLi5kMDczNmRkIDEwMDY0NAotLS0gYS90L29pZC1pbmZvL2hhc2gtaW5mbworKysgYi90L29pZC1pbmZvL2hhc2gtaW5mbwpAQCAtNiwzICs2LDEyIEBACiAKIHplcm8gc2hhMTowMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiB6ZXJvIHNoYTI1NjowMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCisKK2FsZ28gc2hhMTpzaGExCithbGdvIHNoYTI1NjpzaGEyNTYKKworZW1wdHlfYmxvYiBzaGExOmU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEKK2VtcHR5X2Jsb2Igc2hhMjU2OjQ3M2EwZjRjM2JlOGE5MzY4MWEyNjdlM2IxZTlhN2RjZGExMTg1NDM2ZmUxNDFmNzc0OTEyMGEzMDM3MjE4MTMKKworZW1wdHlfdHJlZSBzaGExOjRiODI1ZGM2NDJjYjZlYjlhMDYwZTU0YmY4ZDY5Mjg4ZmJlZTQ5MDQKK2VtcHR5X3RyZWUgc2hhMjU2OjZlZjE5YjQxMjI1YzUzNjlmMWMxMDRkNDVkOGQ4NWVmYTliMDU3YjUzYjE0YjRiOWI5MzlkZDc0ZGVjYzUzMjEKZGlmZiAtLWdpdCBhL3QvcGVyZi9SRUFETUUgYi90L3BlcmYvUkVBRE1FCmluZGV4IGJlMTIwOTAuLmM3YjcwZTIgMTAwNjQ0Ci0tLSBhL3QvcGVyZi9SRUFETUUKKysrIGIvdC9wZXJmL1JFQURNRQpAQCAtNDUsNyArNDUsNyBAQAogCiAgICAgJCAuL3AwMDAxLXJldi1saXN0LnNoCiAgICAgWy4uLl0KLSAgICAkIEdJVF9CVUlMRF9ESVI9L3BhdGgvdG8vb3RoZXIvZ2l0IC4vcDAwMDEtcmV2LWxpc3Quc2gKKyAgICAkIC4vcnVuIC9wYXRoL3RvL290aGVyL2dpdCAtLSAuL3AwMDAxLXJldi1saXN0LnNoCiAgICAgWy4uLl0KICAgICAkIC4vYWdncmVnYXRlLnBlcmwgLiAvcGF0aC90by9vdGhlci9naXQgLi9wMDAwMS1yZXYtbGlzdC5zaAogCmRpZmYgLS1naXQgYS90L3BlcmYvYWdncmVnYXRlLnBlcmwgYi90L3BlcmYvYWdncmVnYXRlLnBlcmwKaW5kZXggNDk0OTA3YS4uMTRlNGNkYSAxMDA3NTUKLS0tIGEvdC9wZXJmL2FnZ3JlZ2F0ZS5wZXJsCisrKyBiL3QvcGVyZi9hZ2dyZWdhdGUucGVybApAQCAtMyw5ICszLDggQEAKIHVzZSBsaWIgJy4uLy4uL3BlcmwvYnVpbGQvbGliJzsKIHVzZSBzdHJpY3Q7CiB1c2Ugd2FybmluZ3M7Ci11c2UgSlNPTjsKIHVzZSBHZXRvcHQ6Okxvbmc7Ci11c2UgR2l0OwordXNlIEN3ZCBxdyhyZWFscGF0aCk7CiAKIHN1YiBnZXRfdGltZXMgewogCW15ICRuYW1lID0gc2hpZnQ7CkBAIC04NSw2ICs4NCwxMSBAQAogCXJldHVybiAkb3V0OwogfQogCitzdWIgc2FuZV9iYWNrdGlja3MgeworCW9wZW4obXkgJGZoLCAnLXwnLCBAXyk7CisJcmV0dXJuIDwkZmg+OworfQorCiBteSAoQGRpcnMsICVkaXJuYW1lcywgJWRpcmFiYnJldnMsICVwcmVmaXhlcywgQHRlc3RzLAogICAgICRjb2Rlc3BlZWQsICRzb3J0YnksICRzdWJzZWN0aW9uLCAkcmVwb25hbWUpOwogCkBAIC05OSwxOCArMTAzLDIyIEBACiB3aGlsZSAoc2NhbGFyIEBBUkdWKSB7CiAJbXkgJGFyZyA9ICRBUkdWWzBdOwogCW15ICRkaXI7CisJbXkgJHByZWZpeCA9ICcnOwogCWxhc3QgaWYgLWYgJGFyZyBvciAkYXJnIGVxICItLSI7CiAJaWYgKCEgLWQgJGFyZykgewotCQlteSAkcmV2ID0gR2l0Ojpjb21tYW5kX29uZWxpbmUocXcocmV2LXBhcnNlIC0tdmVyaWZ5KSwgJGFyZyk7CisJCW15ICRyZXYgPSBzYW5lX2JhY2t0aWNrcyhxdyhnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5KSwgJGFyZyk7CisJCWNob21wICRyZXY7CiAJCSRkaXIgPSAiYnVpbGQvIi4kcmV2OworCX0gZWxzaWYgKCRhcmcgZXEgJy4nKSB7CisJCSRkaXIgPSAnLic7CiAJfSBlbHNlIHsKLQkJJGFyZyA9fiBzey8qJH17fTsKLQkJJGRpciA9ICRhcmc7Ci0JCSRkaXJhYmJyZXZzeyRkaXJ9ID0gJGRpcjsKKwkJJGRpciA9IHJlYWxwYXRoKCRhcmcpOworCQkkZGlybmFtZXN7JGRpcn0gPSAkZGlyOworCQkkcHJlZml4IC49ICdiaW5kaXInOwogCX0KIAlwdXNoIEBkaXJzLCAkZGlyOwotCSRkaXJuYW1lc3skZGlyfSA9ICRhcmc7Ci0JbXkgJHByZWZpeCA9ICRkaXI7CisJJGRpcm5hbWVzeyRkaXJ9IHx8PSAkYXJnOworCSRwcmVmaXggLj0gJGRpcjsKIAkkcHJlZml4ID1+IHRyL15hLXpBLVowLTkvXy9jOwogCSRwcmVmaXhlc3skZGlyfSA9ICRwcmVmaXggLiAnLic7CiAJc2hpZnQgQEFSR1Y7CkBAIC0yMTYsMTMgKzIyNCw3IEBACiAJCWZvciBteSAkaSAoMC4uJCNkaXJzKSB7CiAJCQlteSAkZCA9ICRkaXJzWyRpXTsKIAkJCW15ICRiYXNlID0gIiRyZXN1bHRzZGlyLyRwcmVmaXhlc3skZH0kdCI7Ci0JCQkkdGltZXN7JHByZWZpeGVzeyRkfS4kdH0gPSBbXTsKLQkJCWZvcmVhY2ggbXkgJHR5cGUgKHF3KHRpbWVzIHNpemUpKSB7Ci0JCQkJaWYgKC1lICIkYmFzZS4kdHlwZSIpIHsKLQkJCQkJJHRpbWVzeyRwcmVmaXhlc3skZH0uJHR9ID0gW2dldF90aW1lcygiJGJhc2UuJHR5cGUiKV07Ci0JCQkJCWxhc3Q7Ci0JCQkJfQotCQkJfQorCQkJJHRpbWVzeyRwcmVmaXhlc3skZH0uJHR9ID0gW2dldF90aW1lcygiJGJhc2UucmVzdWx0IildOwogCQkJbXkgKCRyLCR1LCRzKSA9IEB7JHRpbWVzeyRwcmVmaXhlc3skZH0uJHR9fTsKIAkJCW15ICR3ID0gbGVuZ3RoIGZvcm1hdF90aW1lcygkciwkdSwkcywkZmlyc3RyKTsKIAkJCSRjb2x3aWR0aFskaV0gPSAkdyBpZiAkdyA+ICRjb2x3aWR0aFskaV07CkBAIC0yNjQsNyArMjY2LDcgQEAKIAkJbXkgKCRwcmV2ciwgJHByZXZ1LCAkcHJldnMsICRwcmV2cmV2KTsKIAkJZm9yIG15ICRpICgwLi4kI2RpcnMpIHsKIAkJCW15ICRkID0gJGRpcnNbJGldOwotCQkJbXkgKCRyLCAkdSwgJHMpID0gZ2V0X3RpbWVzKCIkcmVzdWx0c2Rpci8kcHJlZml4ZXN7JGR9JHQudGltZXMiKTsKKwkJCW15ICgkciwgJHUsICRzKSA9IGdldF90aW1lcygiJHJlc3VsdHNkaXIvJHByZWZpeGVzeyRkfSR0LnJlc3VsdCIpOwogCQkJaWYgKCRpID4gMCBhbmQgZGVmaW5lZCAkciBhbmQgZGVmaW5lZCAkcHJldnIgYW5kICRwcmV2ciA+IDApIHsKIAkJCQlteSAkcGVyY2VudCA9IDEwMC4wICogKCRyIC0gJHByZXZyKSAvICRwcmV2cjsKIAkJCQlwdXNoIEBldm9sdXRpb25zLCB7ICJwZXJjZW50IiAgPT4gJHBlcmNlbnQsCkBAIC0zMTIsOSArMzE0LDYgQEAKIAkJJGVudmlyb25tZW50ID0gJHJlcG9uYW1lOwogCX0gZWxzaWYgKGV4aXN0cyAkRU5We0dJVF9QRVJGX1JFUE9fTkFNRX0gYW5kICRFTlZ7R0lUX1BFUkZfUkVQT19OQU1FfSBuZSAiIikgewogCQkkZW52aXJvbm1lbnQgPSAkRU5We0dJVF9QRVJGX1JFUE9fTkFNRX07Ci0JfSBlbHNpZiAoZXhpc3RzICRFTlZ7R0lUX1RFU1RfSU5TVEFMTEVEfSBhbmQgJEVOVntHSVRfVEVTVF9JTlNUQUxMRUR9IG5lICIiKSB7Ci0JCSRlbnZpcm9ubWVudCA9ICRFTlZ7R0lUX1RFU1RfSU5TVEFMTEVEfTsKLQkJJGVudmlyb25tZW50ID1+IHN8L2Jpbi13cmFwcGVycyR8fDsKIAl9IGVsc2UgewogCQkkZW52aXJvbm1lbnQgPSBgdW5hbWUgLXJgOwogCQljaG9tcCAkZW52aXJvbm1lbnQ7CkBAIC0zMjcsNyArMzI2LDcgQEAKIAkJCW15ICRjb21taXRpZCA9ICRwcmVmaXhlc3skZH07CiAJCQkkY29tbWl0aWQgPX4gcy9eYnVpbGRfLy87CiAJCQkkY29tbWl0aWQgPX4gcy9cLiQvLzsKLQkJCW15ICgkcmVzdWx0X3ZhbHVlLCAkdSwgJHMpID0gZ2V0X3RpbWVzKCIkcmVzdWx0c2Rpci8kcHJlZml4ZXN7JGR9JHQudGltZXMiKTsKKwkJCW15ICgkcmVzdWx0X3ZhbHVlLCAkdSwgJHMpID0gZ2V0X3RpbWVzKCIkcmVzdWx0c2Rpci8kcHJlZml4ZXN7JGR9JHQucmVzdWx0Iik7CiAKIAkJCW15ICV2YWxzID0gKAogCQkJCSJjb21taXRpZCIgPT4gJGNvbW1pdGlkLApAQCAtMzQyLDcgKzM0MSw4IEBACiAJCX0KIAl9CiAKLQlwcmludCB0b19qc29uKFxAZGF0YSwge3V0ZjggPT4gMSwgcHJldHR5ID0+IDEsIGNhbm9uaWNhbCA9PiAxfSksICJcbiI7CisJcmVxdWlyZSBKU09OOworCXByaW50IEpTT046OnRvX2pzb24oXEBkYXRhLCB7dXRmOCA9PiAxLCBwcmV0dHkgPT4gMSwgY2Fub25pY2FsID0+IDF9KSwgIlxuIjsKIH0KIAogYmlubW9kZSBTVERPVVQsICI6dXRmOCIgb3IgZGllICJQQU5JQyBvbiBiaW5tb2RlOiAkISI7CmRpZmYgLS1naXQgYS90L3BlcmYvYmlzZWN0X3JlZ3Jlc3Npb24gYi90L3BlcmYvYmlzZWN0X3JlZ3Jlc3Npb24KaW5kZXggYTk0ZDk5NS4uY2U0N2UxNiAxMDA3NTUKLS0tIGEvdC9wZXJmL2Jpc2VjdF9yZWdyZXNzaW9uCisrKyBiL3QvcGVyZi9iaXNlY3RfcmVncmVzc2lvbgpAQCAtNTEsNyArNTEsNyBAQAogbmV3dGltZT0kKGVjaG8gIiRuZXd0aW1lIiB8IHNlZCAtZSAncy9eXChbMC05XVwrXC5bMC05XVwrXCkuKiQvXDEvJykKIAogdGVzdCAkKGVjaG8gIiRuZXd0aW1lIiAiJG9sZHRpbWUiIHwgYXdrICd7IHByaW50ICgkMSA+ICQyKSB9JykgPSAxIHx8Ci0JZGllICJOZXcgdGltZSAnJG5ld3RpbWUnIHNob3VkIGJlIGdyZWF0ZXIgdGhhbiBvbGQgdGltZSAnJG9sZHRpbWUnIgorCWRpZSAiTmV3IHRpbWUgJyRuZXd0aW1lJyBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9sZCB0aW1lICckb2xkdGltZSciCiAKIHRtcGRpcj0kKG1rdGVtcCAtZCAtdCBiaXNlY3RfcmVncmVzc2lvbl9YWFhYWFgpIHx8IGRpZSAiRmFpbGVkIHRvIGNyZWF0ZSB0ZW1wIGRpcmVjdG9yeSIKIGVjaG8gIiRvbGR0aW1lIiA+IiR0bXBkaXIvb2xkdGltZSIgfHwgZGllICJGYWlsZWQgdG8gd3JpdGUgdG8gJyR0bXBkaXIvb2xkdGltZSciCmRpZmYgLS1naXQgYS90L3BlcmYvcDAwMDEtcmV2LWxpc3Quc2ggYi90L3BlcmYvcDAwMDEtcmV2LWxpc3Quc2gKaW5kZXggZWJmMTcyNC4uMzA0MmE4NSAxMDA3NTUKLS0tIGEvdC9wZXJmL3AwMDAxLXJldi1saXN0LnNoCisrKyBiL3QvcGVyZi9wMDAwMS1yZXYtbGlzdC5zaApAQCAtMTQsNiArMTQsMjQgQEAKIAlnaXQgcmV2LWxpc3QgLS1hbGwgLS1vYmplY3RzID4vZGV2L251bGwKICcKIAordGVzdF9wZXJmICdyZXYtbGlzdCAtLXBhcmVudHMnICcKKwlnaXQgcmV2LWxpc3QgLS1wYXJlbnRzIEhFQUQgPi9kZXYvbnVsbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgZHVtbXkgZmlsZScgJworCWVjaG8gdW5saWtlbHktdG8tYWxyZWFkeS1iZS10aGVyZSA+ZHVtbXkgJiYKKwlnaXQgYWRkIGR1bW15ICYmCisJZ2l0IGNvbW1pdCAtbSBkdW1teQorJworCit0ZXN0X3BlcmYgJ3Jldi1saXN0IC0tIGR1bW15JyAnCisJZ2l0IHJldi1saXN0IEhFQUQgLS0gZHVtbXkKKycKKwordGVzdF9wZXJmICdyZXYtbGlzdCAtLXBhcmVudHMgLS0gZHVtbXknICcKKwlnaXQgcmV2LWxpc3QgLS1wYXJlbnRzIEhFQUQgLS0gZHVtbXkKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIG5ldyB1bnJlZmVyZW5jZWQgY29tbWl0JyAnCiAJY29tbWl0PSQoZ2l0IGNvbW1pdC10cmVlIEhFQURee3RyZWV9IC1wIEhFQUQpICYmCiAJdGVzdF9leHBvcnQgY29tbWl0CmRpZmYgLS1naXQgYS90L3BlcmYvcDUzMDItcGFjay1pbmRleC5zaCBiL3QvcGVyZi9wNTMwMi1wYWNrLWluZGV4LnNoCmluZGV4IDk5YmRiMTYuLmE5YjNlMTEgMTAwNzU1Ci0tLSBhL3QvcGVyZi9wNTMwMi1wYWNrLWluZGV4LnNoCisrKyBiL3QvcGVyZi9wNTMwMi1wYWNrLWluZGV4LnNoCkBAIC0xMywzNSArMTMsNDAgQEAKIAlleHBvcnQgUEFDSwogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgdGFyZ2V0IHJlcG9zaXRvcmllcycgJwotCWZvciByZXBvIGluIHQxIHQyIHQzIHQ0IHQ1IHQ2Ci0JZG8KLQkJZ2l0IGluaXQgLS1iYXJlICRyZXBvCi0JZG9uZQotJwotCiB0ZXN0X3BlcmYgJ2luZGV4LXBhY2sgMCB0aHJlYWRzJyAnCi0JR0lUX0RJUj10MSBnaXQgaW5kZXgtcGFjayAtLXRocmVhZHM9MSAtLXN0ZGluIDwgJFBBQ0sKKwlybSAtcmYgcmVwby5naXQgJiYKKwlnaXQgaW5pdCAtLWJhcmUgcmVwby5naXQgJiYKKwlHSVRfRElSPXJlcG8uZ2l0IGdpdCBpbmRleC1wYWNrIC0tdGhyZWFkcz0xIC0tc3RkaW4gPCAkUEFDSwogJwogCiB0ZXN0X3BlcmYgJ2luZGV4LXBhY2sgMSB0aHJlYWQgJyAnCi0JR0lUX0RJUj10MiBHSVRfRk9SQ0VfVEhSRUFEUz0xIGdpdCBpbmRleC1wYWNrIC0tdGhyZWFkcz0xIC0tc3RkaW4gPCAkUEFDSworCXJtIC1yZiByZXBvLmdpdCAmJgorCWdpdCBpbml0IC0tYmFyZSByZXBvLmdpdCAmJgorCUdJVF9ESVI9cmVwby5naXQgR0lUX0ZPUkNFX1RIUkVBRFM9MSBnaXQgaW5kZXgtcGFjayAtLXRocmVhZHM9MSAtLXN0ZGluIDwgJFBBQ0sKICcKIAogdGVzdF9wZXJmICdpbmRleC1wYWNrIDIgdGhyZWFkcycgJwotCUdJVF9ESVI9dDMgZ2l0IGluZGV4LXBhY2sgLS10aHJlYWRzPTIgLS1zdGRpbiA8ICRQQUNLCisJcm0gLXJmIHJlcG8uZ2l0ICYmCisJZ2l0IGluaXQgLS1iYXJlIHJlcG8uZ2l0ICYmCisJR0lUX0RJUj1yZXBvLmdpdCBnaXQgaW5kZXgtcGFjayAtLXRocmVhZHM9MiAtLXN0ZGluIDwgJFBBQ0sKICcKIAogdGVzdF9wZXJmICdpbmRleC1wYWNrIDQgdGhyZWFkcycgJwotCUdJVF9ESVI9dDQgZ2l0IGluZGV4LXBhY2sgLS10aHJlYWRzPTQgLS1zdGRpbiA8ICRQQUNLCisJcm0gLXJmIHJlcG8uZ2l0ICYmCisJZ2l0IGluaXQgLS1iYXJlIHJlcG8uZ2l0ICYmCisJR0lUX0RJUj1yZXBvLmdpdCBnaXQgaW5kZXgtcGFjayAtLXRocmVhZHM9NCAtLXN0ZGluIDwgJFBBQ0sKICcKIAogdGVzdF9wZXJmICdpbmRleC1wYWNrIDggdGhyZWFkcycgJwotCUdJVF9ESVI9dDUgZ2l0IGluZGV4LXBhY2sgLS10aHJlYWRzPTggLS1zdGRpbiA8ICRQQUNLCisJcm0gLXJmIHJlcG8uZ2l0ICYmCisJZ2l0IGluaXQgLS1iYXJlIHJlcG8uZ2l0ICYmCisJR0lUX0RJUj1yZXBvLmdpdCBnaXQgaW5kZXgtcGFjayAtLXRocmVhZHM9OCAtLXN0ZGluIDwgJFBBQ0sKICcKIAogdGVzdF9wZXJmICdpbmRleC1wYWNrIGRlZmF1bHQgbnVtYmVyIG9mIHRocmVhZHMnICcKLQlHSVRfRElSPXQ2IGdpdCBpbmRleC1wYWNrIC0tc3RkaW4gPCAkUEFDSworCXJtIC1yZiByZXBvLmdpdCAmJgorCWdpdCBpbml0IC0tYmFyZSByZXBvLmdpdCAmJgorCUdJVF9ESVI9cmVwby5naXQgZ2l0IGluZGV4LXBhY2sgLS1zdGRpbiA8ICRQQUNLCiAnCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC9wZXJmL3A1MzAzLW1hbnktcGFja3Muc2ggYi90L3BlcmYvcDUzMDMtbWFueS1wYWNrcy5zaAppbmRleCAzNzc5ODUxLi43ZWU3OTE2IDEwMDc1NQotLS0gYS90L3BlcmYvcDUzMDMtbWFueS1wYWNrcy5zaAorKysgYi90L3BlcmYvcDUzMDMtbWFueS1wYWNrcy5zaApAQCAtNzcsNiArNzcsNyBAQAogCSMgYWN0dWFsIHBhY2sgZ2VuZXJhdGlvbiwgd2l0aG91dCBzbXVkZ2luZyB0aGUgb24tZGlzayBzZXR1cAogCSMgYmV0d2VlbiB0cmlhbHMuCiAJdGVzdF9wZXJmICJyZXBhY2sgKCRucl9wYWNrcykiICcKKwkJR0lUX1RFU1RfRlVMTF9JTl9QQUNLX0FSUkFZPTEgXAogCQlnaXQgcGFjay1vYmplY3RzIC0ta2VlcC10cnVlLXBhcmVudHMgXAogCQkgIC0taG9ub3ItcGFjay1rZWVwIC0tbm9uLWVtcHR5IC0tYWxsIFwKIAkJICAtLXJlZmxvZyAtLWluZGV4ZWQtb2JqZWN0cyAtLWRlbHRhLWJhc2Utb2Zmc2V0IFwKQEAgLTg0LDQgKzg1LDIyIEBACiAJJwogZG9uZQogCisjIE1lYXN1cmUgcGFjayBsb2FkaW5nIHdpdGggMTAsMDAwIHBhY2tzLgordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2VuZXJhdGUgbG90cyBvZiBwYWNrcycgJworCWZvciBpIGluICQodGVzdF9zZXEgMTAwMDApOyBkbworCQllY2hvICJibG9iIgorCQllY2hvICJkYXRhIDw8RU9GIgorCQllY2hvICJibG9iICRpIgorCQllY2hvICJFT0YiCisJCWVjaG8gImNoZWNrcG9pbnQiCisJZG9uZSB8CisJZ2l0IC1jIGZhc3RpbXBvcnQudW5wYWNrTGltaXQ9MCBmYXN0LWltcG9ydAorJworCisjIFRoZSBwdXJwb3NlIG9mIHRoaXMgdGVzdCBpcyB0byBldmFsdWF0ZSBsb2FkIHRpbWUgZm9yIGEgbGFyZ2UgbnVtYmVyCisjIG9mIHBhY2tzIHdoaWxlIGRvaW5nIGFzIGxpdHRsZSBvdGhlciB3b3JrIGFzIHBvc3NpYmxlLgordGVzdF9wZXJmICJsb2FkIDEwLDAwMCBwYWNrcyIgJworCWdpdCByZXYtcGFyc2UgLS12ZXJpZnkgIkhFQURee2NvbW1pdH0iCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC9wZXJmL3A1MzA0LXBydW5lLnNoIGIvdC9wZXJmL3A1MzA0LXBydW5lLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgzYmFlZGIKLS0tIC9kZXYvbnVsbAorKysgYi90L3BlcmYvcDUzMDQtcHJ1bmUuc2gKQEAgLTAsMCArMSwzNSBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J3BlcmZvcm1hbmNlIHRlc3RzIG9mIHBydW5lJworLiAuL3BlcmYtbGliLnNoCisKK3Rlc3RfcGVyZl9kZWZhdWx0X3JlcG8KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVtb3ZlIHJlYWNoYWJsZSBsb29zZSBvYmplY3RzJyAnCisJZ2l0IHJlcGFjayAtYWQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVtb3ZlIHVucmVhY2hhYmxlIGxvb3NlIG9iamVjdHMnICcKKwlnaXQgcHJ1bmUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29uZmlybSB0aGVyZSBhcmUgbm8gbG9vc2Ugb2JqZWN0cycgJworCWdpdCBjb3VudC1vYmplY3RzIHwgZ3JlcCBeMAorJworCit0ZXN0X3BlcmYgJ3BydW5lIHdpdGggbm8gb2JqZWN0cycgJworCWdpdCBwcnVuZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXBhY2sgd2l0aCBiaXRtYXBzJyAnCisJZ2l0IHJlcGFjayAtYWRiCisnCisKKyMgV2UgaGF2ZSB0byBjcmVhdGUgdGhlIG9iamVjdCBpbiBlYWNoIHRyaWFsIHJ1biwgc2luY2Ugb3RoZXJ3aXNlCisjIHJ1bnMgYWZ0ZXIgdGhlIGZpcnN0IHNlZSBubyBvYmplY3QgYW5kIGp1c3Qgc2tpcCB0aGUgdHJhdmVyc2FsIGVudGlyZWx5IQordGVzdF9wZXJmICdwcnVuZSB3aXRoIGJpdG1hcHMnICcKKwllY2hvICJwcm9iYWJseSBub3QgcHJlc2VudCBpbiByZXBvIiB8IGdpdCBoYXNoLW9iamVjdCAtdyAtLXN0ZGluICYmCisJZ2l0IHBydW5lCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC9wZXJmL3A1MzEwLXBhY2stYml0bWFwcy5zaCBiL3QvcGVyZi9wNTMxMC1wYWNrLWJpdG1hcHMuc2gKaW5kZXggYmI5MWRiYi4uNzc0M2Y0ZiAxMDA3NTUKLS0tIGEvdC9wZXJmL3A1MzEwLXBhY2stYml0bWFwcy5zaAorKysgYi90L3BlcmYvcDUzMTAtcGFjay1iaXRtYXBzLnNoCkBAIC0xMiw4ICsxMiw3IEBACiAjIFdlIGludGVudGlvbmFsbHkgdXNlIHRoZSBkZXByZWNhdGVkIHBhY2sud3JpdGViaXRtYXBzCiAjIGNvbmZpZyBzbyB0aGF0IHdlIGNhbiB0ZXN0IGFnYWluc3Qgb2xkZXIgdmVyc2lvbnMgb2YgZ2l0LgogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgYml0bWFwIGNvbmZpZycgJwotCWdpdCBjb25maWcgcGFjay53cml0ZWJpdG1hcHMgdHJ1ZSAmJgotCWdpdCBjb25maWcgcGFjay53cml0ZWJpdG1hcGhhc2hjYWNoZSB0cnVlCisJZ2l0IGNvbmZpZyBwYWNrLndyaXRlYml0bWFwcyB0cnVlCiAnCiAKIHRlc3RfcGVyZiAncmVwYWNrIHRvIGRpc2snICcKQEAgLTQwLDYgKzM5LDI4IEBACiAJZ2l0IHBhY2stb2JqZWN0cyAtLXVzZS1iaXRtYXAtaW5kZXggLS1hbGwgcGFjazFiIDwvZGV2L251bGwgPi9kZXYvbnVsbAogJwogCit0ZXN0X3BlcmYgJ3Jldi1saXN0IChjb21taXRzKScgJworCWdpdCByZXYtbGlzdCAtLWFsbCAtLXVzZS1iaXRtYXAtaW5kZXggPi9kZXYvbnVsbAorJworCit0ZXN0X3BlcmYgJ3Jldi1saXN0IChvYmplY3RzKScgJworCWdpdCByZXYtbGlzdCAtLWFsbCAtLXVzZS1iaXRtYXAtaW5kZXggLS1vYmplY3RzID4vZGV2L251bGwKKycKKwordGVzdF9wZXJmICdyZXYtbGlzdCBjb3VudCB3aXRoIGJsb2I6bm9uZScgJworCWdpdCByZXYtbGlzdCAtLXVzZS1iaXRtYXAtaW5kZXggLS1jb3VudCAtLW9iamVjdHMgLS1hbGwgXAorCQktLWZpbHRlcj1ibG9iOm5vbmUgPi9kZXYvbnVsbAorJworCit0ZXN0X3BlcmYgJ3Jldi1saXN0IGNvdW50IHdpdGggYmxvYjpsaW1pdD0xaycgJworCWdpdCByZXYtbGlzdCAtLXVzZS1iaXRtYXAtaW5kZXggLS1jb3VudCAtLW9iamVjdHMgLS1hbGwgXAorCQktLWZpbHRlcj1ibG9iOmxpbWl0PTFrID4vZGV2L251bGwKKycKKwordGVzdF9wZXJmICdzaW11bGF0ZWQgcGFydGlhbCBjbG9uZScgJworCWdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgLS1hbGwgLS1maWx0ZXI9YmxvYjpub25lIDwvZGV2L251bGwgPi9kZXYvbnVsbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgcGFydGlhbCBiaXRtYXAgc3RhdGUnICcKIAkjIHBpY2sgYSBjb21taXQgdG8gcmVwcmVzZW50IHRoZSByZXBvIHRpcCBpbiB0aGUgcGFzdAogCWN1dG9mZj0kKGdpdCByZXYtbGlzdCBIRUFEfjEwMCAtMSkgJiYKZGlmZiAtLWdpdCBhL3QvcGVyZi9wNTMxMS1wYWNrLWJpdG1hcHMtZmV0Y2guc2ggYi90L3BlcmYvcDUzMTEtcGFjay1iaXRtYXBzLWZldGNoLnNoCmluZGV4IGIwNDU3NTkuLjQ3YzNmZDcgMTAwNzU1Ci0tLSBhL3QvcGVyZi9wNTMxMS1wYWNrLWJpdG1hcHMtZmV0Y2guc2gKKysrIGIvdC9wZXJmL3A1MzExLXBhY2stYml0bWFwcy1mZXRjaC5zaApAQCAtNyw3ICs3LDYgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIGJpdG1hcHBlZCBzZXJ2ZXIgcmVwbycgJwogCWdpdCBjb25maWcgcGFjay53cml0ZWJpdG1hcHMgdHJ1ZSAmJgotCWdpdCBjb25maWcgcGFjay53cml0ZWJpdG1hcGhhc2hjYWNoZSB0cnVlICYmCiAJZ2l0IHJlcGFjayAtYWQKICcKIApkaWZmIC0tZ2l0IGEvdC9wZXJmL3A1NjAwLXBhcnRpYWwtY2xvbmUuc2ggYi90L3BlcmYvcDU2MDAtcGFydGlhbC1jbG9uZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZTA0YmQyCi0tLSAvZGV2L251bGwKKysrIGIvdC9wZXJmL3A1NjAwLXBhcnRpYWwtY2xvbmUuc2gKQEAgLTAsMCArMSwyNiBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J3BlcmZvcm1hbmNlIG9mIHBhcnRpYWwgY2xvbmVzJworLiAuL3BlcmYtbGliLnNoCisKK3Rlc3RfcGVyZl9kZWZhdWx0X3JlcG8KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZW5hYmxlIHNlcnZlci1zaWRlIGNvbmZpZycgJworCWdpdCBjb25maWcgdXBsb2FkcGFjay5hbGxvd0ZpbHRlciB0cnVlICYmCisJZ2l0IGNvbmZpZyB1cGxvYWRwYWNrLmFsbG93QW55U0hBMUluV2FudCB0cnVlCisnCisKK3Rlc3RfcGVyZiAnY2xvbmUgd2l0aG91dCBibG9icycgJworCXJtIC1yZiBiYXJlLmdpdCAmJgorCWdpdCBjbG9uZSAtLW5vLWxvY2FsIC0tYmFyZSAtLWZpbHRlcj1ibG9iOm5vbmUgLiBiYXJlLmdpdAorJworCit0ZXN0X3BlcmYgJ2NoZWNrb3V0IG9mIHJlc3VsdCcgJworCXJtIC1yZiB3b3JrdHJlZSAmJgorCW1rZGlyIC1wIHdvcmt0cmVlLy5naXQgJiYKKwl0YXIgLUMgYmFyZS5naXQgLWNmIC0gLiB8IHRhciAtQyB3b3JrdHJlZS8uZ2l0IC14ZiAtICYmCisJZ2l0IC1DIHdvcmt0cmVlIGNvbmZpZyBjb3JlLmJhcmUgZmFsc2UgJiYKKwlnaXQgLUMgd29ya3RyZWUgY2hlY2tvdXQgLWYKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3BlcmYvcDU2MDEtY2xvbmUtcmVmZXJlbmNlLnNoIGIvdC9wZXJmL3A1NjAxLWNsb25lLXJlZmVyZW5jZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42OGZlZDY2Ci0tLSAvZGV2L251bGwKKysrIGIvdC9wZXJmL3A1NjAxLWNsb25lLXJlZmVyZW5jZS5zaApAQCAtMCwwICsxLDI3IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nc3BlZWQgb2YgY2xvbmUgLS1yZWZlcmVuY2UnCisuIC4vcGVyZi1saWIuc2gKKwordGVzdF9wZXJmX2RlZmF1bHRfcmVwbworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgc2hhcmVhYmxlIHJlcG9zaXRvcnknICcKKwlnaXQgY2xvbmUgLS1iYXJlIC4gc2hhcmVkLmdpdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhZHZhbmNlIGJhc2UgcmVwb3NpdG9yeScgJworCSMgRG8gbm90IHVzZSB0ZXN0X2NvbW1pdCBoZXJlOyBpdHMgdGVzdF90aWNrIHdpbGwKKwkjIHVzZSBzb21lIGFuY2llbnQgaGFyZC1jb2RlZCBkYXRlLiBUaGUgcmVzdWx0aW5nIGNsb2NrCisJIyBza2V3IHdpbGwgY2F1c2UgcGFjay1vYmplY3RzIHRvIHRyYXZlcnNlIGluIGEgdmVyeQorCSMgc3ViLW9wdGltYWwgb3JkZXIsIHNrZXdpbmcgdGhlIHJlc3VsdHMuCisJZWNobyBjb250ZW50ID5uZXctZmlsZS10aGF0LWRvZXMtbm90LWV4aXN0ICYmCisJZ2l0IGFkZCBuZXctZmlsZS10aGF0LWRvZXMtbm90LWV4aXN0ICYmCisJZ2l0IGNvbW1pdCAtbSAibmV3IGNvbW1pdCIKKycKKwordGVzdF9wZXJmICdjbG9uZSAtLXJlZmVyZW5jZScgJworCXJtIC1yZiBkc3QuZ2l0ICYmCisJZ2l0IGNsb25lIC0tbm8tbG9jYWwgLS1iYXJlIC0tcmVmZXJlbmNlIHNoYXJlZC5naXQgLiBkc3QuZ2l0CisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC9wZXJmL3BlcmYtbGliLnNoIGIvdC9wZXJmL3BlcmYtbGliLnNoCmluZGV4IDJlMzNhYjMuLjEzZTM4OTMgMTAwNjQ0Ci0tLSBhL3QvcGVyZi9wZXJmLWxpYi5zaAorKysgYi90L3BlcmYvcGVyZi1saWIuc2gKQEAgLTE3LDM3ICsxNywyNyBAQAogIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8gLgogCi0jIGRvIHRoZSAtLXRlZSB3b3JrIGVhcmx5OyBpdCBvdGhlcndpc2UgY29uZnVzZXMgb3VyIGNhcmVmdWwKLSMgR0lUX0JVSUxEX0RJUiBtYW5nbGluZwotY2FzZSAiJEdJVF9URVNUX1RFRV9TVEFSVEVELCAkKiAiIGluCi1kb25lLCopCi0JIyBkbyBub3QgcmVkaXJlY3QgYWdhaW4KLQk7OwotKicgLS10ZWUgJyp8KicgLS12YScqKQotCW1rZGlyIC1wIHRlc3QtcmVzdWx0cwotCUJBU0U9dGVzdC1yZXN1bHRzLyQoYmFzZW5hbWUgIiQwIiAuc2gpCi0JKEdJVF9URVNUX1RFRV9TVEFSVEVEPWRvbmUgJHtTSEVMTC1zaH0gIiQwIiAiJEAiIDI+JjE7Ci0JIGVjaG8gJD8gPiAkQkFTRS5leGl0KSB8IHRlZSAkQkFTRS5vdXQKLQl0ZXN0ICIkKGNhdCAkQkFTRS5leGl0KSIgPSAwCi0JZXhpdAotCTs7Ci1lc2FjCi0KKyMgVGhlc2UgdmFyaWFibGVzIG11c3QgYmUgc2V0IGJlZm9yZSB0aGUgaW5jbHVzaW9uIG9mIHRlc3QtbGliLnNoIGJlbG93LAorIyBiZWNhdXNlIGl0IHdpbGwgY2hhbmdlIG91ciB3b3JraW5nIGRpcmVjdG9yeS4KIFRFU1RfRElSRUNUT1JZPSQocHdkKS8uLgogVEVTVF9PVVRQVVRfRElSRUNUT1JZPSQocHdkKQotaWYgdGVzdCAteiAiJEdJVF9URVNUX0lOU1RBTExFRCI7IHRoZW4KLQlwZXJmX3Jlc3VsdHNfcHJlZml4PQotZWxzZQotCXBlcmZfcmVzdWx0c19wcmVmaXg9JChwcmludGYgIiVzIiAiJHtHSVRfVEVTVF9JTlNUQUxMRUQlL2Jpbi13cmFwcGVyc30iIHwgdHIgLWMgIlthLXpBLVowLTldIiAiW18qXSIpIi4iCi0JIyBtYWtlIHRoZSB0ZXN0ZWQgZGlyIGFic29sdXRlCi0JR0lUX1RFU1RfSU5TVEFMTEVEPSQoY2QgIiRHSVRfVEVTVF9JTlNUQUxMRUQiICYmIHB3ZCkKLWZpCiAKIFRFU1RfTk9fQ1JFQVRFX1JFUE89dAogVEVTVF9OT19NQUxMT0NfQ0hFQ0s9dAogCiAuIC4uL3Rlc3QtbGliLnNoCiAKK2lmIHRlc3QgLW4gIiRHSVRfVEVTVF9JTlNUQUxMRUQiIC1hIC16ICIkUEVSRl9TRVRfR0lUX1RFU1RfSU5TVEFMTEVEIgordGhlbgorCWVycm9yICJEbyBub3QgdXNlIEdJVF9URVNUX0lOU1RBTExFRCB3aXRoIHRoZSBwZXJmIHRlc3RzLgorCitJbnN0ZWFkIHVzZToKKworICAgIC4vcnVuIDxwYXRoLXRvLWdpdD4gLS0gPHRlc3RzPgorCitTZWUgdC9wZXJmL1JFQURNRSBmb3IgZGV0YWlscy4iCitmaQorCiAjIFZhcmlhYmxlcyBmcm9tIHRlc3QtbGliIHRoYXQgYXJlIG5vcm1hbGx5IGludGVybmFsIHRvIHRoZSB0ZXN0czsgd2UKICMgbmVlZCB0byBleHBvcnQgdGhlbSBmb3IgdGVzdF9wZXJmIHN1YnNoZWxscwogZXhwb3J0IFRFU1RfRElSRUNUT1JZIFRSQVNIX0RJUkVDVE9SWSBHSVRfQlVJTERfRElSIEdJVF9URVNUX0NNUApAQCAtMTkxLDcgKzE4MSw3IEBACiAJCWJhc2U9JChiYXNlbmFtZSAiJDAiIC5zaCkKIAkJZWNobyAiJHRlc3RfY291bnQiID4+IiRwZXJmX3Jlc3VsdHNfZGlyIi8kYmFzZS5zdWJ0ZXN0cwogCQllY2hvICIkMSIgPiIkcGVyZl9yZXN1bHRzX2RpciIvJGJhc2UuJHRlc3RfY291bnQuZGVzY3IKLQkJYmFzZT0iJHBlcmZfcmVzdWx0c19kaXIiLyIkcGVyZl9yZXN1bHRzX3ByZWZpeCQoYmFzZW5hbWUgIiQwIiAuc2gpIi4iJHRlc3RfY291bnQiCisJCWJhc2U9IiRwZXJmX3Jlc3VsdHNfZGlyIi8iJFBFUkZfUkVTVUxUU19QUkVGSVgkKGJhc2VuYW1lICIkMCIgLnNoKSIuIiR0ZXN0X2NvdW50IgogCQkiJHRlc3Rfd3JhcHBlcl9mdW5jXyIgIiRAIgogCWZpCiAKQEAgLTIyNCw3ICsyMTQsNyBAQAogCWVsc2UKIAkJdGVzdF9va18gIiQxIgogCWZpCi0JIiRURVNUX0RJUkVDVE9SWSIvcGVyZi9taW5fdGltZS5wZXJsIHRlc3RfdGltZS4qID4iJGJhc2UiLnRpbWVzCisJIiRURVNUX0RJUkVDVE9SWSIvcGVyZi9taW5fdGltZS5wZXJsIHRlc3RfdGltZS4qID4iJGJhc2UiLnJlc3VsdAogfQogCiB0ZXN0X3BlcmYgKCkgewpAQCAtMjMzLDcgKzIyMyw3IEBACiAKIHRlc3Rfc2l6ZV8gKCkgewogCXNheSA+JjMgInJ1bm5pbmc6ICQyIgotCWlmIHRlc3RfZXZhbF8gIiQyIiAzPiIkYmFzZSIuc2l6ZTsgdGhlbgorCWlmIHRlc3RfZXZhbF8gIiQyIiAzPiIkYmFzZSIucmVzdWx0OyB0aGVuCiAJCXRlc3Rfb2tfICIkMSIKIAllbHNlCiAJCXRlc3RfZmFpbHVyZV8gIiRAIgpkaWZmIC0tZ2l0IGEvdC9wZXJmL3J1biBiL3QvcGVyZi9ydW4KaW5kZXggOWFhYTczMy4uYzdiODYxMCAxMDA3NTUKLS0tIGEvdC9wZXJmL3J1bgorKysgYi90L3BlcmYvcnVuCkBAIC03MCw2ICs3MCwyNCBAQAogCSkgfHwgZGllICJmYWlsZWQgdG8gYnVpbGQgcmV2aXNpb24gJyRteWRpciciCiB9CiAKK3NldF9naXRfdGVzdF9pbnN0YWxsZWQgKCkgeworCW15ZGlyPSQxCisKKwlteWRpcl9hYnM9JChjZCAkbXlkaXIgJiYgcHdkKQorCW15ZGlyX2Fic193cmFwcGVycz0iJG15ZGlyX2Fic193cmFwcGVycy9iaW4td3JhcHBlcnMiCisJaWYgdGVzdCAtZCAiJG15ZGlyX2Fic193cmFwcGVycyIKKwl0aGVuCisJCUdJVF9URVNUX0lOU1RBTExFRD0kbXlkaXJfYWJzX3dyYXBwZXJzCisJZWxzZQorCQkjIE9sZGVyIHZlcnNpb25zIG9mIGdpdCBsYWNrZWQgYmluLXdyYXBwZXJzOworCQkjIGZhbGxiYWNrIHRvIHRoZSBmaWxlcyBpbiB0aGUgcm9vdC4KKwkJR0lUX1RFU1RfSU5TVEFMTEVEPSRteWRpcl9hYnMKKwlmaQorCWV4cG9ydCBHSVRfVEVTVF9JTlNUQUxMRUQKKwlQRVJGX1NFVF9HSVRfVEVTVF9JTlNUQUxMRUQ9dHJ1ZQorCWV4cG9ydCBQRVJGX1NFVF9HSVRfVEVTVF9JTlNUQUxMRUQKK30KKwogcnVuX2RpcnNfaGVscGVyICgpIHsKIAlteWRpcj0kezElL30KIAlzaGlmdApAQCAtNzksNyArOTcsMTYgQEAKIAlpZiB0ZXN0ICQjIC1ndCAwIC1hICIkMSIgPSAtLTsgdGhlbgogCQlzaGlmdAogCWZpCi0JaWYgWyAhIC1kICIkbXlkaXIiIF07IHRoZW4KKworCVBFUkZfUkVTVUxUU19QUkVGSVg9CisJaWYgdGVzdCAiJG15ZGlyIiA9ICIuIgorCXRoZW4KKwkJdW5zZXQgR0lUX1RFU1RfSU5TVEFMTEVECisJZWxpZiB0ZXN0IC1kICIkbXlkaXIiCisJdGhlbgorCQlQRVJGX1JFU1VMVFNfUFJFRklYPWJpbmRpciQoY2QgJG15ZGlyICYmIHByaW50ZiAiJXMiICIkKHB3ZCkiIHwgdHIgLWMgIlthLXpBLVowLTldIiAiXyIpLgorCQlzZXRfZ2l0X3Rlc3RfaW5zdGFsbGVkICIkbXlkaXIiCisJZWxzZQogCQlyZXY9JChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5ICIkbXlkaXIiIDI+L2Rldi9udWxsKSB8fAogCQlkaWUgIickbXlkaXInIGlzIG5laXRoZXIgYSBkaXJlY3Rvcnkgbm9yIGEgdmFsaWQgcmV2aXNpb24iCiAJCWlmIFsgISAtZCBidWlsZC8kcmV2IF07IHRoZW4KQEAgLTg3LDE2ICsxMTQsMTIgQEAKIAkJZmkKIAkJYnVpbGRfZ2l0X3JldiAkcmV2ICIkbXlkaXIiCiAJCW15ZGlyPWJ1aWxkLyRyZXYKKworCQlQRVJGX1JFU1VMVFNfUFJFRklYPWJ1aWxkXyRyZXYuCisJCXNldF9naXRfdGVzdF9pbnN0YWxsZWQgIiRteWRpciIKIAlmaQotCWlmIHRlc3QgIiRteWRpciIgPSAuOyB0aGVuCi0JCXVuc2V0IEdJVF9URVNUX0lOU1RBTExFRAotCWVsc2UKLQkJR0lUX1RFU1RfSU5TVEFMTEVEPSIkbXlkaXIvYmluLXdyYXBwZXJzIgotCQkjIE9sZGVyIHZlcnNpb25zIG9mIGdpdCBsYWNrZWQgYmluLXdyYXBwZXJzOyBmYWxsYmFjayB0byB0aGUKLQkJIyBmaWxlcyBpbiB0aGUgcm9vdC4KLQkJdGVzdCAtZCAiJEdJVF9URVNUX0lOU1RBTExFRCIgfHwgR0lUX1RFU1RfSU5TVEFMTEVEPSRteWRpcgotCQlleHBvcnQgR0lUX1RFU1RfSU5TVEFMTEVECi0JZmkKKwlleHBvcnQgUEVSRl9SRVNVTFRTX1BSRUZJWAorCiAJcnVuX29uZV9kaXIgIiRAIgogfQogCmRpZmYgLS1naXQgYS90L3QwMDAwLWJhc2ljLnNoIGIvdC90MDAwMC1iYXNpYy5zaAppbmRleCBiNjU2NjAwLi4zZTQ0MGMwIDEwMDc1NQotLS0gYS90L3QwMDAwLWJhc2ljLnNoCisrKyBiL3QvdDAwMDAtYmFzaWMuc2gKQEAgLTIwLDI4ICsyMCwyNyBAQAogCiAuIC4vdGVzdC1saWIuc2gKIAotdHJ5X2xvY2FsX3ggKCkgewotCWxvY2FsIHg9ImxvY2FsIiAmJgotCWVjaG8gIiR4IgordHJ5X2xvY2FsX3h5ICgpIHsKKwlsb2NhbCB4PSJsb2NhbCIgeT0iYWxzb2xvY2FsIiAmJgorCWVjaG8gIiR4ICR5IgogfQogCi0jIFRoaXMgdGVzdCBpcyBhbiBleHBlcmltZW50IHRvIGNoZWNrIHdoZXRoZXIgYW55IEdpdCB1c2VycyBhcmUgdXNpbmcKLSMgU2hlbGxzIHRoYXQgZG9uJ3Qgc3VwcG9ydCB0aGUgImxvY2FsIiBrZXl3b3JkLiAibG9jYWwiIGlzIG5vdAorIyBDaGVjayB3aGV0aGVyIHRoZSBzaGVsbCBzdXBwb3J0cyB0aGUgImxvY2FsIiBrZXl3b3JkLiAibG9jYWwiIGlzIG5vdAogIyBQT1NJWC1zdGFuZGFyZCwgYnV0IGl0IGlzIHZlcnkgd2lkZWx5IHN1cHBvcnRlZCBieSBQT1NJWC1jb21wbGlhbnQKLSMgc2hlbGxzLCBhbmQgaWYgaXQgZG9lc24ndCBjYXVzZSBwcm9ibGVtcyBmb3IgcGVvcGxlLCB3ZSB3b3VsZCBsaWtlCi0jIHRvIGJlIGFibGUgdG8gdXNlIGl0IGluIEdpdCBjb2RlLgorIyBzaGVsbHMsIGFuZCB3ZSByZWx5IG9uIGl0IHdpdGhpbiBHaXQncyB0ZXN0IGZyYW1ld29yay4KICMKLSMgRm9yIG5vdywgdGhpcyBpcyB0aGUgb25seSB0ZXN0IHRoYXQgcmVxdWlyZXMgImxvY2FsIi4gSWYgeW91ciBzaGVsbAotIyBmYWlscyB0aGlzIHRlc3QsIHlvdSBjYW4gaWdub3JlIHRoZSBmYWlsdXJlLCBidXQgcGxlYXNlIHJlcG9ydCB0aGUKLSMgcHJvYmxlbSB0byB0aGUgR2l0IG1haWxpbmcgbGlzdCA8Z2l0QHZnZXIua2VybmVsLm9yZz4sIGFzIGl0IG1pZ2h0Ci0jIGNvbnZpbmNlIHVzIHRvIGNvbnRpbnVlIGF2b2lkaW5nIHRoZSB1c2Ugb2YgImxvY2FsIi4KKyMgSWYgeW91ciBzaGVsbCBmYWlscyB0aGlzIHRlc3QsIHRoZSByZXN1bHRzIG9mIG90aGVyIHRlc3RzIG1heSBiZQorIyB1bnJlbGlhYmxlLiBZb3UgbWF5IHdpc2ggdG8gcmVwb3J0IHRoZSBwcm9ibGVtIHRvIHRoZSBHaXQgbWFpbGluZworIyBsaXN0IDxnaXRAdmdlci5rZXJuZWwub3JnPiwgYXMgaXQgY291bGQgY2F1c2UgdXMgdG8gcmVjb25zaWRlcgorIyByZWx5aW5nIG9uICJsb2NhbCIuCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJpZnkgdGhhdCB0aGUgcnVubmluZyBzaGVsbCBzdXBwb3J0cyAibG9jYWwiJyAnCiAJeD0ibm90bG9jYWwiICYmCi0JZWNobyAibG9jYWwiID5leHBlY3RlZDEgJiYKLQl0cnlfbG9jYWxfeCA+YWN0dWFsMSAmJgorCXk9ImFsc29ub3Rsb2NhbCIgJiYKKwllY2hvICJsb2NhbCBhbHNvbG9jYWwiID5leHBlY3RlZDEgJiYKKwl0cnlfbG9jYWxfeHkgPmFjdHVhbDEgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZDEgYWN0dWFsMSAmJgotCWVjaG8gIm5vdGxvY2FsIiA+ZXhwZWN0ZWQyICYmCi0JZWNobyAiJHgiID5hY3R1YWwyICYmCisJZWNobyAibm90bG9jYWwgYWxzb25vdGxvY2FsIiA+ZXhwZWN0ZWQyICYmCisJZWNobyAiJHggJHkiID5hY3R1YWwyICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQyIGFjdHVhbDIKICcKIApAQCAtMTI4LDcgKzEyNyw3IEBACiAKIGNoZWNrX3N1Yl90ZXN0X2xpYl90ZXN0X2VyciAoKSB7CiAJbmFtZT0iJDEiICMgc3RkaW4gaXMgdGhlIGV4cGVjdGVkIG91dHB1dCBmcm9tIHRoZSB0ZXN0Ci0JIyBleHBlY3RlZCBlcnJvciBvdXRwdXQgaXMgaW4gZGVzY3JpcHRpb3IgMworCSMgZXhwZWN0ZWQgZXJyb3Igb3V0cHV0IGlzIGluIGRlc2NyaXB0b3IgMwogCSgKIAkJY2QgIiRuYW1lIiAmJgogCQlzZWQgLWUgJ3MvXj4gLy8nIC1lICdzL1okLy8nID5leHBlY3Qub3V0ICYmCkBAIC0xNTYsNyArMTU1LDcgQEAKICIKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncHJldGVuZCB3ZSBoYXZlIGEgcGFydGlhbGx5IHBhc3NpbmcgdGVzdCBzdWl0ZScgIgotCXRlc3RfbXVzdF9mYWlsIHJ1bl9zdWJfdGVzdF9saWJfdGVzdCBcCisJcnVuX3N1Yl90ZXN0X2xpYl90ZXN0X2VyciBcCiAJCXBhcnRpYWwtcGFzcyAnMi8zIHRlc3RzIHBhc3NpbmcnIDw8LVxcRU9GICYmCiAJdGVzdF9leHBlY3Rfc3VjY2VzcyAncGFzc2luZyB0ZXN0ICMxJyAndHJ1ZScKIAl0ZXN0X2V4cGVjdF9zdWNjZXNzICdmYWlsaW5nIHRlc3QgIzInICdmYWxzZScKQEAgLTIyMCw3ICsyMTksNyBAQAogIgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcmV0ZW5kIHdlIGhhdmUgYSBwYXNzLCBmYWlsLCBhbmQga25vd24gYnJlYWthZ2UnICIKLQl0ZXN0X211c3RfZmFpbCBydW5fc3ViX3Rlc3RfbGliX3Rlc3QgXAorCXJ1bl9zdWJfdGVzdF9saWJfdGVzdF9lcnIgXAogCQltaXhlZC1yZXN1bHRzMSAnbWl4ZWQgcmVzdWx0cyAjMScgPDwtXFxFT0YgJiYKIAl0ZXN0X2V4cGVjdF9zdWNjZXNzICdwYXNzaW5nIHRlc3QnICd0cnVlJwogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZhaWxpbmcgdGVzdCcgJ2ZhbHNlJwpAQCAtMjM5LDcgKzIzOCw3IEBACiAiCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ByZXRlbmQgd2UgaGF2ZSBhIG1peCBvZiBhbGwgcG9zc2libGUgcmVzdWx0cycgIgotCXRlc3RfbXVzdF9mYWlsIHJ1bl9zdWJfdGVzdF9saWJfdGVzdCBcCisJcnVuX3N1Yl90ZXN0X2xpYl90ZXN0X2VyciBcCiAJCW1peGVkLXJlc3VsdHMyICdtaXhlZCByZXN1bHRzICMyJyA8PC1cXEVPRiAmJgogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Bhc3NpbmcgdGVzdCcgJ3RydWUnCiAJdGVzdF9leHBlY3Rfc3VjY2VzcyAncGFzc2luZyB0ZXN0JyAndHJ1ZScKQEAgLTI3NSwyNCArMjc0LDI0IEBACiAiCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgQ19MT0NBTEVfT1VUUFVUICd0ZXN0IC0tdmVyYm9zZScgJwotCXRlc3RfbXVzdF9mYWlsIHJ1bl9zdWJfdGVzdF9saWJfdGVzdCBcCi0JCXRlc3QtdmVyYm9zZSAidGVzdCB2ZXJib3NlIiAtLXZlcmJvc2UgPDwtXEVPRiAmJgorCXJ1bl9zdWJfdGVzdF9saWJfdGVzdF9lcnIgXAorCQl0MTIzNC12ZXJib3NlICJ0ZXN0IHZlcmJvc2UiIC0tdmVyYm9zZSA8PC1cRU9GICYmCiAJdGVzdF9leHBlY3Rfc3VjY2VzcyAicGFzc2luZyB0ZXN0IiB0cnVlCiAJdGVzdF9leHBlY3Rfc3VjY2VzcyAidGVzdCB3aXRoIG91dHB1dCIgImVjaG8gZm9vIgogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImZhaWxpbmcgdGVzdCIgZmFsc2UKIAl0ZXN0X2RvbmUKIAlFT0YKLQltdiB0ZXN0LXZlcmJvc2Uvb3V0IHRlc3QtdmVyYm9zZS9vdXQrICYmCi0JZ3JlcCAtdiAiXkluaXRpYWxpemVkIGVtcHR5IiB0ZXN0LXZlcmJvc2Uvb3V0KyA+dGVzdC12ZXJib3NlL291dCAmJgotCWNoZWNrX3N1Yl90ZXN0X2xpYl90ZXN0IHRlc3QtdmVyYm9zZSA8PC1cRU9GCi0JPiBleHBlY3Rpbmcgc3VjY2VzczogdHJ1ZQorCW12IHQxMjM0LXZlcmJvc2Uvb3V0IHQxMjM0LXZlcmJvc2Uvb3V0KyAmJgorCWdyZXAgLXYgIl5Jbml0aWFsaXplZCBlbXB0eSIgdDEyMzQtdmVyYm9zZS9vdXQrID50MTIzNC12ZXJib3NlL291dCAmJgorCWNoZWNrX3N1Yl90ZXN0X2xpYl90ZXN0IHQxMjM0LXZlcmJvc2UgPDwtXEVPRgorCT4gZXhwZWN0aW5nIHN1Y2Nlc3Mgb2YgMTIzNC4xICdcJydwYXNzaW5nIHRlc3QnXCcnOiB0cnVlCiAJPiBvayAxIC0gcGFzc2luZyB0ZXN0CiAJPiBaCi0JPiBleHBlY3Rpbmcgc3VjY2VzczogZWNobyBmb28KKwk+IGV4cGVjdGluZyBzdWNjZXNzIG9mIDEyMzQuMiAnXCcndGVzdCB3aXRoIG91dHB1dCdcJyc6IGVjaG8gZm9vCiAJPiBmb28KIAk+IG9rIDIgLSB0ZXN0IHdpdGggb3V0cHV0CiAJPiBaCi0JPiBleHBlY3Rpbmcgc3VjY2VzczogZmFsc2UKKwk+IGV4cGVjdGluZyBzdWNjZXNzIG9mIDEyMzQuMyAnXCcnZmFpbGluZyB0ZXN0J1wnJzogZmFsc2UKIAk+IG5vdCBvayAzIC0gZmFpbGluZyB0ZXN0CiAJPiAjCWZhbHNlCiAJPiBaCkBAIC0zMDIsMTggKzMwMSwxOCBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IC0tdmVyYm9zZS1vbmx5JyAnCi0JdGVzdF9tdXN0X2ZhaWwgcnVuX3N1Yl90ZXN0X2xpYl90ZXN0IFwKLQkJdGVzdC12ZXJib3NlLW9ubHktMiAidGVzdCB2ZXJib3NlLW9ubHk9MiIgXAorCXJ1bl9zdWJfdGVzdF9saWJfdGVzdF9lcnIgXAorCQl0MjM0NS12ZXJib3NlLW9ubHktMiAidGVzdCB2ZXJib3NlLW9ubHk9MiIgXAogCQktLXZlcmJvc2Utb25seT0yIDw8LVxFT0YgJiYKIAl0ZXN0X2V4cGVjdF9zdWNjZXNzICJwYXNzaW5nIHRlc3QiIHRydWUKIAl0ZXN0X2V4cGVjdF9zdWNjZXNzICJ0ZXN0IHdpdGggb3V0cHV0IiAiZWNobyBmb28iCiAJdGVzdF9leHBlY3Rfc3VjY2VzcyAiZmFpbGluZyB0ZXN0IiBmYWxzZQogCXRlc3RfZG9uZQogCUVPRgotCWNoZWNrX3N1Yl90ZXN0X2xpYl90ZXN0IHRlc3QtdmVyYm9zZS1vbmx5LTIgPDwtXEVPRgorCWNoZWNrX3N1Yl90ZXN0X2xpYl90ZXN0IHQyMzQ1LXZlcmJvc2Utb25seS0yIDw8LVxFT0YKIAk+IG9rIDEgLSBwYXNzaW5nIHRlc3QKIAk+IFoKLQk+IGV4cGVjdGluZyBzdWNjZXNzOiBlY2hvIGZvbworCT4gZXhwZWN0aW5nIHN1Y2Nlc3Mgb2YgMjM0NS4yICdcJyd0ZXN0IHdpdGggb3V0cHV0J1wnJzogZWNobyBmb28KIAk+IGZvbwogCT4gb2sgMiAtIHRlc3Qgd2l0aCBvdXRwdXQKIAk+IFoKQEAgLTM5Myw2ICszOTIsNDQgQEAKIAkpCiAiCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0dJVF9TS0lQX1RFU1RTIGVudGlyZSBzdWl0ZScgIgorCSgKKwkJR0lUX1NLSVBfVEVTVFM9J2dpdCcgJiYgZXhwb3J0IEdJVF9TS0lQX1RFU1RTICYmCisJCXJ1bl9zdWJfdGVzdF9saWJfdGVzdCBnaXQtc2tpcC10ZXN0cy1lbnRpcmUtc3VpdGUgXAorCQkJJ0dJVF9TS0lQX1RFU1RTIGVudGlyZSBzdWl0ZScgPDwtXFxFT0YgJiYKKwkJZm9yIGkgaW4gMSAyIDMKKwkJZG8KKwkJCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXCJwYXNzaW5nIHRlc3QgI1wkaVwiICd0cnVlJworCQlkb25lCisJCXRlc3RfZG9uZQorCQlFT0YKKwkJY2hlY2tfc3ViX3Rlc3RfbGliX3Rlc3QgZ2l0LXNraXAtdGVzdHMtZW50aXJlLXN1aXRlIDw8LVxcRU9GCisJCT4gMS4uMCAjIFNLSVAgc2tpcCBhbGwgdGVzdHMgaW4gZ2l0CisJCUVPRgorCSkKKyIKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnR0lUX1NLSVBfVEVTVFMgZG9lcyBub3Qgc2tpcCB1bm1hdGNoZWQgc3VpdGUnICIKKwkoCisJCUdJVF9TS0lQX1RFU1RTPSdub3RnaXQnICYmIGV4cG9ydCBHSVRfU0tJUF9URVNUUyAmJgorCQlydW5fc3ViX3Rlc3RfbGliX3Rlc3QgZ2l0LXNraXAtdGVzdHMtdW5tYXRjaGVkLXN1aXRlIFwKKwkJCSdHSVRfU0tJUF9URVNUUyBkb2VzIG5vdCBza2lwIHVubWF0Y2hlZCBzdWl0ZScgPDwtXFxFT0YgJiYKKwkJZm9yIGkgaW4gMSAyIDMKKwkJZG8KKwkJCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXCJwYXNzaW5nIHRlc3QgI1wkaVwiICd0cnVlJworCQlkb25lCisJCXRlc3RfZG9uZQorCQlFT0YKKwkJY2hlY2tfc3ViX3Rlc3RfbGliX3Rlc3QgZ2l0LXNraXAtdGVzdHMtdW5tYXRjaGVkLXN1aXRlIDw8LVxcRU9GCisJCT4gb2sgMSAtIHBhc3NpbmcgdGVzdCAjMQorCQk+IG9rIDIgLSBwYXNzaW5nIHRlc3QgIzIKKwkJPiBvayAzIC0gcGFzc2luZyB0ZXN0ICMzCisJCT4gIyBwYXNzZWQgYWxsIDMgdGVzdChzKQorCQk+IDEuLjMKKwkJRU9GCisJKQorIgorCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXJ1biBiYXNpYycgIgogCXJ1bl9zdWJfdGVzdF9saWJfdGVzdCBydW4tYmFzaWMgXAogCQknLS1ydW4gYmFzaWMnIC0tcnVuPScxIDMgNScgPDwtXFxFT0YgJiYKQEAgLTcyNiw3ICs3NjMsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyBET05USEFWRUlUICd1bm1ldCBwcmVyZXF1aXNpdGUgY2F1c2VzIHRlc3QgdG8gYmUgc2tpcHBlZCcgJwogCWRvbnRoYXZlaXQ9bm8KICcKLWlmIHRlc3QgJGhhdmVpdCRkb250aGF2ZWl0ICE9IHllc3llcworaWYgdGVzdCAteiAiJEdJVF9URVNUX0ZBSUxfUFJFUkVRU19JTlRFUk5BTCIgLWEgJGhhdmVpdCRkb250aGF2ZWl0ICE9IHllc3llcwogdGhlbgogCXNheSAiYnVnIGluIHRlc3QgZnJhbWV3b3JrOiBwcmVyZXF1aXNpdGUgdGFncyBkbyBub3Qgd29yayByZWxpYWJseSIKIAlleGl0IDEKQEAgLTc0Nyw3ICs3ODQsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyBET05USEFWRUlULEhBVkVJVCAndW5tZXQgcHJlcmVxdWlzaXRlcyBjYXVzZXMgdGVzdCB0byBiZSBza2lwcGVkJyAnCiAJZG9udGhhdmVpdGVpdGhlcj1ubwogJwotaWYgdGVzdCAkaGF2ZWl0JGRvbnRoYXZlaXQkZG9udGhhdmVpdGVpdGhlciAhPSB5ZXN5ZXN5ZXMKK2lmIHRlc3QgLXogIiRHSVRfVEVTVF9GQUlMX1BSRVJFUVNfSU5URVJOQUwiIC1hICRoYXZlaXQkZG9udGhhdmVpdCRkb250aGF2ZWl0ZWl0aGVyICE9IHllc3llc3llcwogdGhlbgogCXNheSAiYnVnIGluIHRlc3QgZnJhbWV3b3JrOiBtdWx0aXBsZSBwcmVyZXF1aXNpdGUgdGFncyBkbyBub3Qgd29yayByZWxpYWJseSIKIAlleGl0IDEKQEAgLTc2Myw3ICs4MDAsNyBAQAogCWRvbnRoYXZldHJ1ZT1ubwogJwogCi1pZiB0ZXN0ICIkaGF2ZXRydWUkZG9udGhhdmV0cnVlIiAhPSB5ZXN5ZXMKK2lmIHRlc3QgLXogIiRHSVRfVEVTVF9GQUlMX1BSRVJFUVNfSU5URVJOQUwiIC1hICIkaGF2ZXRydWUkZG9udGhhdmV0cnVlIiAhPSB5ZXN5ZXMKIHRoZW4KIAlzYXkgJ2J1ZyBpbiB0ZXN0IGZyYW1ld29yazogbGF6eSBwcmVyZXF1aXNpdGVzIGRvIG5vdCB3b3JrJwogCWV4aXQgMQpAQCAtNzc5LDcgKzgxNiw3IEBACiAJaGF2ZWZhbHNlPW5vCiAnCiAKLWlmIHRlc3QgIiRub3RoYXZlZmFsc2UkaGF2ZWZhbHNlIiAhPSB5ZXN5ZXMKK2lmIHRlc3QgLXogIiRHSVRfVEVTVF9GQUlMX1BSRVJFUVNfSU5URVJOQUwiIC1hICIkbm90aGF2ZWZhbHNlJGhhdmVmYWxzZSIgIT0geWVzeWVzCiB0aGVuCiAJc2F5ICdidWcgaW4gdGVzdCBmcmFtZXdvcms6IG5lZ2F0aXZlIGxhenkgcHJlcmVxdWlzaXRlcyBkbyBub3Qgd29yaycKIAlleGl0IDEKQEAgLTc5MCwxNCArODI3LDE0IEBACiAJdGVzdF93aGVuX2ZpbmlzaGVkIGNsZWFuPXllcwogJwogCi1pZiB0ZXN0ICRjbGVhbiAhPSB5ZXMKK2lmIHRlc3QgLXogIiRHSVRfVEVTVF9GQUlMX1BSRVJFUVNfSU5URVJOQUwiIC1hICRjbGVhbiAhPSB5ZXMKIHRoZW4KIAlzYXkgImJ1ZyBpbiB0ZXN0IGZyYW1ld29yazogYmFzaWMgY2xlYW51cCBjb21tYW5kIGRvZXMgbm90IHdvcmsgcmVsaWFibHkiCiAJZXhpdCAxCiBmaQogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0cyBjbGVhbiB1cCBldmVuIG9uIGZhaWx1cmVzJyAiCi0JdGVzdF9tdXN0X2ZhaWwgcnVuX3N1Yl90ZXN0X2xpYl90ZXN0IFwKKwlydW5fc3ViX3Rlc3RfbGliX3Rlc3RfZXJyIFwKIAkJZmFpbGluZy1jbGVhbnVwICdGYWlsaW5nIHRlc3RzIHdpdGggY2xlYW51cCBjb21tYW5kcycgPDwtXFxFT0YgJiYKIAl0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0cyBjbGVhbiB1cCBldmVuIGFmdGVyIGEgZmFpbHVyZScgJwogCQl0b3VjaCBjbGVhbi1hZnRlci1mYWlsdXJlICYmCkBAIC04MjUsNiArODYyLDI0IEBACiAJRU9GCiAiCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Rlc3RfYXRleGl0IGlzIHJ1bicgIgorCXJ1bl9zdWJfdGVzdF9saWJfdGVzdF9lcnIgXAorCQlhdGV4aXQtY2xlYW51cCAnUnVuIGF0ZXhpdCBjb21tYW5kcycgLWkgPDwtXFxFT0YgJiYKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0cyBjbGVhbiB1cCBldmVuIGFmdGVyIGEgZmFpbHVyZScgJworCQk+IC4uLy4uL2NsZWFuLWF0ZXhpdCAmJgorCQl0ZXN0X2F0ZXhpdCBybSAuLi8uLi9jbGVhbi1hdGV4aXQgJiYKKwkJPiAuLi8uLi9hbHNvLWNsZWFuLWF0ZXhpdCAmJgorCQl0ZXN0X2F0ZXhpdCBybSAuLi8uLi9hbHNvLWNsZWFuLWF0ZXhpdCAmJgorCQk+IC4uLy4uL2RvbnQtY2xlYW4tYXRleGl0ICYmCisJCShleGl0IDEpCisJJworCXRlc3RfZG9uZQorCUVPRgorCXRlc3RfcGF0aF9pc19maWxlIGRvbnQtY2xlYW4tYXRleGl0ICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgY2xlYW4tYXRleGl0ICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgYWxzby1jbGVhbi1hdGV4aXQKKyIKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdF9vaWQgc2V0dXAnICcKIAl0ZXN0X29pZF9pbml0CiAnCkBAIC04NjIsNiArOTE3LDQwIEBACiAJdGVzdCAiJGhleHN6IiAtZXEgNjQKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdF9ib29sX2VudicgJworCSgKKwkJc2FuZV91bnNldCBlbnZ2YXIgJiYKKworCQl0ZXN0X2Jvb2xfZW52IGVudnZhciB0cnVlICYmCisJCSEgdGVzdF9ib29sX2VudiBlbnZ2YXIgZmFsc2UgJiYKKworCQllbnZ2YXI9ICYmCisJCWV4cG9ydCBlbnZ2YXIgJiYKKwkJISB0ZXN0X2Jvb2xfZW52IGVudnZhciB0cnVlICYmCisJCSEgdGVzdF9ib29sX2VudiBlbnZ2YXIgZmFsc2UgJiYKKworCQllbnZ2YXI9dHJ1ZSAmJgorCQl0ZXN0X2Jvb2xfZW52IGVudnZhciB0cnVlICYmCisJCXRlc3RfYm9vbF9lbnYgZW52dmFyIGZhbHNlICYmCisKKwkJZW52dmFyPWZhbHNlICYmCisJCSEgdGVzdF9ib29sX2VudiBlbnZ2YXIgdHJ1ZSAmJgorCQkhIHRlc3RfYm9vbF9lbnYgZW52dmFyIGZhbHNlICYmCisKKwkJZW52dmFyPWludmFsaWQgJiYKKwkJIyBXaGVuIGVuY291bnRlcmluZyBhbiBpbnZhbGlkIGJvb2wgdmFsdWUsIHRlc3RfYm9vbF9lbnYKKwkJIyBwcmludHMgaXRzIGVycm9yIG1lc3NhZ2UgdG8gdGhlIG9yaWdpbmFsIHN0ZGVyciBvZiB0aGUKKwkJIyB0ZXN0IHNjcmlwdCwgaGVuY2UgdGhlIHJlZGlyZWN0aW9uIG9mIGZkIDcsIGFuZCBhYm9ydHMKKwkJIyB3aXRoICJleGl0IDEiLCBoZW5jZSB0aGUgc3Vic2hlbGwuCisJCSEgKCB0ZXN0X2Jvb2xfZW52IGVudnZhciB0cnVlICkgNz5lcnIgJiYKKwkJZ3JlcCAiZXJyb3I6IHRlc3RfYm9vbF9lbnYgcmVxdWlyZXMgYm9vbCB2YWx1ZXMiIGVyciAmJgorCisJCWVudnZhcj10cnVlICYmCisJCSEgKCB0ZXN0X2Jvb2xfZW52IGVudnZhciBpbnZhbGlkICkgNz5lcnIgJiYKKwkJZ3JlcCAiZXJyb3I6IHRlc3RfYm9vbF9lbnYgcmVxdWlyZXMgYm9vbCB2YWx1ZXMiIGVycgorCSkKKycKKwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBCYXNpY3Mgb2YgdGhlIGJhc2ljcwogCmRpZmYgLS1naXQgYS90L3QwMDAxLWluaXQuc2ggYi90L3QwMDAxLWluaXQuc2gKaW5kZXggNDJhMjYzYy4uMjZmODIwNiAxMDA3NTUKLS0tIGEvdC90MDAwMS1pbml0LnNoCisrKyBiL3QvdDAwMDEtaW5pdC5zaApAQCAtOTMsNiArOTMsNyBAQAogCQlzZWQgLW4gXAogCQkJLWUgIi9eR0lUX1BSRUZJWD0vZCIgXAogCQkJLWUgIi9eR0lUX1RFWFRET01BSU5ESVI9L2QiIFwKKwkJCS1lICIvXkdJVF9UUkFDRTJfUEFSRU5UL2QiIFwKIAkJCS1lICIvXkdJVF8vcy89LiovL3AiIHwKIAkJc29ydAogCUVPRgpAQCAtMTc0LDcgKzE3NSw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbml0IHdpdGggLS10ZW1wbGF0ZScgJwogCW1rZGlyIHRlbXBsYXRlLXNvdXJjZSAmJgogCWVjaG8gY29udGVudCA+dGVtcGxhdGUtc291cmNlL2ZpbGUgJiYKLQlnaXQgaW5pdCAtLXRlbXBsYXRlPS4uL3RlbXBsYXRlLXNvdXJjZSB0ZW1wbGF0ZS1jdXN0b20gJiYKKwlnaXQgaW5pdCAtLXRlbXBsYXRlPXRlbXBsYXRlLXNvdXJjZSB0ZW1wbGF0ZS1jdXN0b20gJiYKIAl0ZXN0X2NtcCB0ZW1wbGF0ZS1zb3VyY2UvZmlsZSB0ZW1wbGF0ZS1jdXN0b20vLmdpdC9maWxlCiAnCiAKQEAgLTMxMCw4ICszMTEsOCBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5pdCB3aXRoIHNlcGFyYXRlIGdpdGRpcicgJwogCXJtIC1yZiBuZXdkaXIgJiYKIAlnaXQgaW5pdCAtLXNlcGFyYXRlLWdpdC1kaXIgcmVhbGdpdGRpciBuZXdkaXIgJiYKLQllY2hvICJnaXRkaXI6ICQocHdkKS9yZWFsZ2l0ZGlyIiA+ZXhwZWN0ZWQgJiYKLQl0ZXN0X2NtcCBleHBlY3RlZCBuZXdkaXIvLmdpdCAmJgorCW5ld2Rpcl9naXQ9IiQoY2F0IG5ld2Rpci8uZ2l0KSIgJiYKKwl0ZXN0X2NtcF9mc3BhdGggIiQocHdkKS9yZWFsZ2l0ZGlyIiAiJHtuZXdkaXJfZ2l0I2dpdGRpcjogfSIgJiYKIAl0ZXN0X3BhdGhfaXNfZGlyIHJlYWxnaXRkaXIvcmVmcwogJwogCkBAIC0zNjAsMTIgKzM2MSw5IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlLWluaXQgdG8gdXBkYXRlIGdpdCBsaW5rJyAnCi0JKAotCWNkIG5ld2RpciAmJgotCWdpdCBpbml0IC0tc2VwYXJhdGUtZ2l0LWRpciAuLi9zdXJyZWFsZ2l0ZGlyCi0JKSAmJgotCWVjaG8gImdpdGRpcjogJChwd2QpL3N1cnJlYWxnaXRkaXIiID5leHBlY3RlZCAmJgotCXRlc3RfY21wIGV4cGVjdGVkIG5ld2Rpci8uZ2l0ICYmCisJZ2l0IC1DIG5ld2RpciBpbml0IC0tc2VwYXJhdGUtZ2l0LWRpciAuLi9zdXJyZWFsZ2l0ZGlyICYmCisJbmV3ZGlyX2dpdD0iJChjYXQgbmV3ZGlyLy5naXQpIiAmJgorCXRlc3RfY21wX2ZzcGF0aCAiJChwd2QpL3N1cnJlYWxnaXRkaXIiICIke25ld2Rpcl9naXQjZ2l0ZGlyOiB9IiAmJgogCXRlc3RfcGF0aF9pc19kaXIgc3VycmVhbGdpdGRpci9yZWZzICYmCiAJdGVzdF9wYXRoX2lzX21pc3NpbmcgcmVhbGdpdGRpci9yZWZzCiAnCkBAIC0zNzMsMTIgKzM3MSw5IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZS1pbml0IHRvIG1vdmUgZ2l0ZGlyJyAnCiAJcm0gLXJmIG5ld2RpciByZWFsZ2l0ZGlyIHN1cnJlYWxnaXRkaXIgJiYKIAlnaXQgaW5pdCBuZXdkaXIgJiYKLQkoCi0JY2QgbmV3ZGlyICYmCi0JZ2l0IGluaXQgLS1zZXBhcmF0ZS1naXQtZGlyIC4uL3JlYWxnaXRkaXIKLQkpICYmCi0JZWNobyAiZ2l0ZGlyOiAkKHB3ZCkvcmVhbGdpdGRpciIgPmV4cGVjdGVkICYmCi0JdGVzdF9jbXAgZXhwZWN0ZWQgbmV3ZGlyLy5naXQgJiYKKwlnaXQgLUMgbmV3ZGlyIGluaXQgLS1zZXBhcmF0ZS1naXQtZGlyIC4uL3JlYWxnaXRkaXIgJiYKKwluZXdkaXJfZ2l0PSIkKGNhdCBuZXdkaXIvLmdpdCkiICYmCisJdGVzdF9jbXBfZnNwYXRoICIkKHB3ZCkvcmVhbGdpdGRpciIgIiR7bmV3ZGlyX2dpdCNnaXRkaXI6IH0iICYmCiAJdGVzdF9wYXRoX2lzX2RpciByZWFsZ2l0ZGlyL3JlZnMKICcKIApAQCAtNDUzLDYgKzQ0OCwxNyBAQAogCSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyBNSU5HVyAnY29yZS5oaWRlZG90ZmlsZXMgPSBmYWxzZScgJworCWdpdCBjb25maWcgLS1nbG9iYWwgY29yZS5oaWRlZG90ZmlsZXMgZmFsc2UgJiYKKwlybSAtcmYgbmV3ZGlyICYmCisJbWtkaXIgbmV3ZGlyICYmCisJKAorCQlzYW5lX3Vuc2V0IEdJVF9ESVIgR0lUX1dPUktfVFJFRSBHSVRfQ09ORklHICYmCisJCWdpdCAtQyBuZXdkaXIgaW5pdAorCSkgJiYKKwkhIGlzX2hpZGRlbiBuZXdkaXIvLmdpdAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIE1JTkdXICdyZWRpcmVjdCBzdGQgaGFuZGxlcycgJwogCUdJVF9SRURJUkVDVF9TVERPVVQ9b3V0cHV0LnR4dCBnaXQgcmV2LXBhcnNlIC0tZ2l0LWRpciAmJgogCXRlc3QgLmdpdCA9ICIkKGNhdCBvdXRwdXQudHh0KSIgJiYKQEAgLTQ2MSw4ICs0NjcsOCBAQAogCQlHSVRfUkVESVJFQ1RfU1RET1VUPW91dHB1dC50eHQgXAogCQlHSVRfUkVESVJFQ1RfU1RERVJSPSIyPiYxIiBcCiAJCWdpdCByZXYtcGFyc2UgLS1naXQtZGlyIC0tdmVyaWZ5IHJlZnMvaW52YWxpZCAmJgotCXByaW50ZiAiLmdpdFxuZmF0YWw6IE5lZWRlZCBhIHNpbmdsZSByZXZpc2lvblxuIiA+ZXhwZWN0ICYmCi0JdGVzdF9jbXAgZXhwZWN0IG91dHB1dC50eHQKKwlncmVwICJeXFwuZ2l0XCQiIG91dHB1dC50eHQgJiYKKwlncmVwICJOZWVkZWQgYSBzaW5nbGUgcmV2aXNpb24iIG91dHB1dC50eHQKICcKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QwMDAzLWF0dHJpYnV0ZXMuc2ggYi90L3QwMDAzLWF0dHJpYnV0ZXMuc2gKaW5kZXggMjI0OTliYy4uYjY2MDU5MyAxMDA3NTUKLS0tIGEvdC90MDAwMy1hdHRyaWJ1dGVzLnNoCisrKyBiL3QvdDAwMDMtYXR0cmlidXRlcy5zaApAQCAtNSwxOSArNSwxNiBAQAogLiAuL3Rlc3QtbGliLnNoCiAKIGF0dHJfY2hlY2sgKCkgewotCXBhdGg9IiQxIiBleHBlY3Q9IiQyIgorCXBhdGg9IiQxIiBleHBlY3Q9IiQyIiBnaXRfb3B0cz0iJDMiICYmCiAKLQlnaXQgJDMgY2hlY2stYXR0ciB0ZXN0IC0tICIkcGF0aCIgPmFjdHVhbCAyPmVyciAmJgotCWVjaG8gIiRwYXRoOiB0ZXN0OiAkMiIgPmV4cGVjdCAmJgorCWdpdCAkZ2l0X29wdHMgY2hlY2stYXR0ciB0ZXN0IC0tICIkcGF0aCIgPmFjdHVhbCAyPmVyciAmJgorCWVjaG8gIiRwYXRoOiB0ZXN0OiAkZXhwZWN0IiA+ZXhwZWN0ICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgotCXRlc3RfbGluZV9jb3VudCA9IDAgZXJyCisJdGVzdF9tdXN0X2JlX2VtcHR5IGVycgogfQogCiBhdHRyX2NoZWNrX3F1b3RlICgpIHsKLQotCXBhdGg9IiQxIgotCXF1b3RlZF9wYXRoPSIkMiIKLQlleHBlY3Q9IiQzIgorCXBhdGg9IiQxIiBxdW90ZWRfcGF0aD0iJDIiIGV4cGVjdD0iJDMiICYmCiAKIAlnaXQgY2hlY2stYXR0ciB0ZXN0IC0tICIkcGF0aCIgPmFjdHVhbCAmJgogCWVjaG8gIlwiJHF1b3RlZF9wYXRoXCI6IHRlc3Q6ICRleHBlY3QiID5leHBlY3QgJiYKQEAgLTI3LDcgKzI0LDcgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnb3Blbi1xdW90ZWQgcGF0aG5hbWUnICcKIAllY2hvICJcImEgdGVzdD1hIiA+LmdpdGF0dHJpYnV0ZXMgJiYKLQl0ZXN0X211c3RfZmFpbCBhdHRyX2NoZWNrIGEgYQorCWF0dHJfY2hlY2sgYSB1bnNwZWNpZmllZAogJwogCiAKQEAgLTExMiwyMCArMTA5LDIwIEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2F0dHJpYnV0ZSBtYXRjaGluZyBpcyBjYXNlIHNlbnNpdGl2ZSB3aGVuIGNvcmUuaWdub3JlY2FzZT0wJyAnCiAKLQl0ZXN0X211c3RfZmFpbCBhdHRyX2NoZWNrIEYgZiAiLWMgY29yZS5pZ25vcmVjYXNlPTAiICYmCi0JdGVzdF9tdXN0X2ZhaWwgYXR0cl9jaGVjayBhL0YgZiAiLWMgY29yZS5pZ25vcmVjYXNlPTAiICYmCi0JdGVzdF9tdXN0X2ZhaWwgYXR0cl9jaGVjayBhL2MvRiBmICItYyBjb3JlLmlnbm9yZWNhc2U9MCIgJiYKLQl0ZXN0X211c3RfZmFpbCBhdHRyX2NoZWNrIGEvRyBhL2cgIi1jIGNvcmUuaWdub3JlY2FzZT0wIiAmJgotCXRlc3RfbXVzdF9mYWlsIGF0dHJfY2hlY2sgYS9CL2cgYS9iL2cgIi1jIGNvcmUuaWdub3JlY2FzZT0wIiAmJgotCXRlc3RfbXVzdF9mYWlsIGF0dHJfY2hlY2sgYS9iL0cgYS9iL2cgIi1jIGNvcmUuaWdub3JlY2FzZT0wIiAmJgotCXRlc3RfbXVzdF9mYWlsIGF0dHJfY2hlY2sgYS9iL0ggYS9iL2ggIi1jIGNvcmUuaWdub3JlY2FzZT0wIiAmJgotCXRlc3RfbXVzdF9mYWlsIGF0dHJfY2hlY2sgYS9iL0QvZyAiYS9iL2QvKiIgIi1jIGNvcmUuaWdub3JlY2FzZT0wIiAmJgotCXRlc3RfbXVzdF9mYWlsIGF0dHJfY2hlY2sgb05vRmYgdW5zZXQgIi1jIGNvcmUuaWdub3JlY2FzZT0wIiAmJgotCXRlc3RfbXVzdF9mYWlsIGF0dHJfY2hlY2sgb0ZmT24gc2V0ICItYyBjb3JlLmlnbm9yZWNhc2U9MCIgJiYKKwlhdHRyX2NoZWNrIEYgdW5zcGVjaWZpZWQgIi1jIGNvcmUuaWdub3JlY2FzZT0wIiAmJgorCWF0dHJfY2hlY2sgYS9GIHVuc3BlY2lmaWVkICItYyBjb3JlLmlnbm9yZWNhc2U9MCIgJiYKKwlhdHRyX2NoZWNrIGEvYy9GIHVuc3BlY2lmaWVkICItYyBjb3JlLmlnbm9yZWNhc2U9MCIgJiYKKwlhdHRyX2NoZWNrIGEvRyB1bnNwZWNpZmllZCAiLWMgY29yZS5pZ25vcmVjYXNlPTAiICYmCisJYXR0cl9jaGVjayBhL0IvZyBhL2cgIi1jIGNvcmUuaWdub3JlY2FzZT0wIiAmJgorCWF0dHJfY2hlY2sgYS9iL0cgdW5zcGVjaWZpZWQgIi1jIGNvcmUuaWdub3JlY2FzZT0wIiAmJgorCWF0dHJfY2hlY2sgYS9iL0ggdW5zcGVjaWZpZWQgIi1jIGNvcmUuaWdub3JlY2FzZT0wIiAmJgorCWF0dHJfY2hlY2sgYS9iL0QvZyBhL2cgIi1jIGNvcmUuaWdub3JlY2FzZT0wIiAmJgorCWF0dHJfY2hlY2sgb05vRmYgdW5zcGVjaWZpZWQgIi1jIGNvcmUuaWdub3JlY2FzZT0wIiAmJgorCWF0dHJfY2hlY2sgb0ZmT24gdW5zcGVjaWZpZWQgIi1jIGNvcmUuaWdub3JlY2FzZT0wIiAmJgogCWF0dHJfY2hlY2sgTk8gdW5zcGVjaWZpZWQgIi1jIGNvcmUuaWdub3JlY2FzZT0wIiAmJgotCXRlc3RfbXVzdF9mYWlsIGF0dHJfY2hlY2sgYS9iL0QvTk8gImEvYi9kLyoiICItYyBjb3JlLmlnbm9yZWNhc2U9MCIgJiYKKwlhdHRyX2NoZWNrIGEvYi9EL05PIHVuc3BlY2lmaWVkICItYyBjb3JlLmlnbm9yZWNhc2U9MCIgJiYKIAlhdHRyX2NoZWNrIGEvYi9kL1lFUyBhL2IvZC8qICItYyBjb3JlLmlnbm9yZWNhc2U9MCIgJiYKLQl0ZXN0X211c3RfZmFpbCBhdHRyX2NoZWNrIGEvRS9mICJBL2UvRiIgIi1jIGNvcmUuaWdub3JlY2FzZT0wIgorCWF0dHJfY2hlY2sgYS9FL2YgZiAiLWMgY29yZS5pZ25vcmVjYXNlPTAiCiAKICcKIApAQCAtMTQ5LDggKzE0Niw4IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgQ0FTRV9JTlNFTlNJVElWRV9GUyAnYWRkaXRpb25hbCBjYXNlIGluc2Vuc2l0aXZpdHkgdGVzdHMnICcKLQl0ZXN0X211c3RfZmFpbCBhdHRyX2NoZWNrIGEvQi9EL2cgImEvYi9kLyoiICItYyBjb3JlLmlnbm9yZWNhc2U9MCIgJiYKLQl0ZXN0X211c3RfZmFpbCBhdHRyX2NoZWNrIEEvQi9EL05PICJhL2IvZC8qIiAiLWMgY29yZS5pZ25vcmVjYXNlPTAiICYmCisJYXR0cl9jaGVjayBhL0IvRC9nIGEvZyAiLWMgY29yZS5pZ25vcmVjYXNlPTAiICYmCisJYXR0cl9jaGVjayBBL0IvRC9OTyB1bnNwZWNpZmllZCAiLWMgY29yZS5pZ25vcmVjYXNlPTAiICYmCiAJYXR0cl9jaGVjayBBL2IvaCBhL2IvaCAiLWMgY29yZS5pZ25vcmVjYXNlPTEiICYmCiAJYXR0cl9jaGVjayBhL0IvRC9nICJhL2IvZC8qIiAiLWMgY29yZS5pZ25vcmVjYXNlPTEiICYmCiAJYXR0cl9jaGVjayBBL0IvRC9OTyAiYS9iL2QvKiIgIi1jIGNvcmUuaWdub3JlY2FzZT0xIgpAQCAtMjQ0LDcgKzI0MSw3IEBACiAJZ2l0IGNoZWNrLWF0dHIgZm9vIC0tICJhL2IvZiIgPj5hY3R1YWwgMj4+ZXJyICYmCiAJZ2l0IGNoZWNrLWF0dHIgZm9vIC0tICJhL2IvYy9mIiA+PmFjdHVhbCAyPj5lcnIgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCi0JdGVzdF9saW5lX2NvdW50ID0gMCBlcnIKKwl0ZXN0X211c3RfYmVfZW1wdHkgZXJyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyIqKiIgd2l0aCBubyBzbGFzaGVzIHRlc3QnICcKQEAgLTI2NSw3ICsyNjIsNyBAQAogCWdpdCBjaGVjay1hdHRyIGZvbyAtLSAiYS9iL2YiID4+YWN0dWFsIDI+PmVyciAmJgogCWdpdCBjaGVjay1hdHRyIGZvbyAtLSAiYS9iL2MvZiIgPj5hY3R1YWwgMj4+ZXJyICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgotCXRlc3RfbGluZV9jb3VudCA9IDAgZXJyCisJdGVzdF9tdXN0X2JlX2VtcHR5IGVycgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd1c2luZyAtLWdpdC1kaXIgYW5kIC0td29yay10cmVlJyAnCkBAIC0zMjIsNCArMzE5LDI0IEBACiAJKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdiaW5hcnkgbWFjcm8gZXhwYW5kZWQgYnkgLWEnICcKKwllY2hvICJmaWxlIGJpbmFyeSIgPi5naXRhdHRyaWJ1dGVzICYmCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCWZpbGU6IGJpbmFyeTogc2V0CisJZmlsZTogZGlmZjogdW5zZXQKKwlmaWxlOiBtZXJnZTogdW5zZXQKKwlmaWxlOiB0ZXh0OiB1bnNldAorCUVPRgorCWdpdCBjaGVjay1hdHRyIC1hIGZpbGUgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdxdWVyeSBiaW5hcnkgbWFjcm8gZGlyZWN0bHknICcKKwllY2hvICJmaWxlIGJpbmFyeSIgPi5naXRhdHRyaWJ1dGVzICYmCisJZWNobyBmaWxlOiBiaW5hcnk6IHNldCA+ZXhwZWN0ICYmCisJZ2l0IGNoZWNrLWF0dHIgYmluYXJ5IGZpbGUgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QwMDA2LWRhdGUuc2ggYi90L3QwMDA2LWRhdGUuc2gKaW5kZXggZmZiMjk3NS4uZDlmY2M4MiAxMDA3NTUKLS0tIGEvdC90MDAwNi1kYXRlLnNoCisrKyBiL3QvdDAwMDYtZGF0ZS5zaApAQCAtNCwxMCArNCwxMCBAQAogLiAuL3Rlc3QtbGliLnNoCiAKICMgYXJiaXRyYXJ5IHJlZmVyZW5jZSB0aW1lOiAyMDA5LTA4LTMwIDE5OjIwOjAwCi1URVNUX0RBVEVfTk9XPTEyNTE2NjAwMDA7IGV4cG9ydCBURVNUX0RBVEVfTk9XCitHSVRfVEVTVF9EQVRFX05PVz0xMjUxNjYwMDAwOyBleHBvcnQgR0lUX1RFU1RfREFURV9OT1cKIAogY2hlY2tfcmVsYXRpdmUoKSB7Ci0JdD0kKCgkVEVTVF9EQVRFX05PVyAtICQxKSkKKwl0PSQoKCRHSVRfVEVTVF9EQVRFX05PVyAtICQxKSkKIAllY2hvICIkdCAtPiAkMiIgPmV4cGVjdAogCXRlc3RfZXhwZWN0XyR7Mzotc3VjY2Vzc30gInJlbGF0aXZlIGRhdGUgKCQyKSIgIgogCXRlc3QtdG9vbCBkYXRlIHJlbGF0aXZlICR0ID5hY3R1YWwgJiYKQEAgLTEyOCw0ICsxMjgsMjIgQEAKIGNoZWNrX2FwcHJveGlkYXRlICcyMDA4LTEyLTAxJyAnMjAwOC0xMi0wMSAxOToyMDowMCcKIGNoZWNrX2FwcHJveGlkYXRlICcyMDA5LTEyLTAxJyAnMjAwOS0xMi0wMSAxOToyMDowMCcKIAorY2hlY2tfZGF0ZV9mb3JtYXRfaHVtYW4oKSB7CisJdD0kKCgkR0lUX1RFU1RfREFURV9OT1cgLSAkMSkpCisJZWNobyAiJHQgLT4gJDIiID5leHBlY3QKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICJodW1hbiBkYXRlICR0IiAnCisJCXRlc3QtdG9vbCBkYXRlIGh1bWFuICR0ID5hY3R1YWwgJiYKKwkJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwKKycKK30KKworY2hlY2tfZGF0ZV9mb3JtYXRfaHVtYW4gMTgwMDAgIjUgaG91cnMgYWdvIiAjIDUgaG91cnMgYWdvCitjaGVja19kYXRlX2Zvcm1hdF9odW1hbiA0MzIwMDAgIlR1ZSBBdWcgMjUgMTk6MjAiICMgNSBkYXlzIGFnbworY2hlY2tfZGF0ZV9mb3JtYXRfaHVtYW4gMTcyODAwMCAiTW9uIEF1ZyAxMCAxOToyMCIgIyAzIHdlZWtzIGFnbworY2hlY2tfZGF0ZV9mb3JtYXRfaHVtYW4gMTMwMDAwMDAgIlRodSBBcHIgMiAwODoxMyIgIyA1IG1vbnRocyBhZ28KK2NoZWNrX2RhdGVfZm9ybWF0X2h1bWFuIDMxNDQ5NjAwICJBdWcgMzEgMjAwOCIgIyAxMiBtb250aHMgYWdvCitjaGVja19kYXRlX2Zvcm1hdF9odW1hbiAzNzUwMDAwMCAiSnVuIDIyIDIwMDgiICMgMSB5ZWFyLCAyIG1vbnRocyBhZ28KK2NoZWNrX2RhdGVfZm9ybWF0X2h1bWFuIDU1MTg4MDAwICJEZWMgMSAyMDA3IiAjIDEgeWVhciwgOSBtb250aHMgYWdvCitjaGVja19kYXRlX2Zvcm1hdF9odW1hbiA2MzAwMDAwMDAgIlNlcCAxMyAxOTg5IiAjIDIwIHllYXJzIGFnbworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDAwMDctZ2l0LXZhci5zaCBiL3QvdDAwMDctZ2l0LXZhci5zaAppbmRleCA1ODY4YTg3Li4xZjYwMGUyIDEwMDc1NQotLS0gYS90L3QwMDA3LWdpdC12YXIuc2gKKysrIGIvdC90MDAwNy1naXQtdmFyLnNoCkBAIC0xNyw3ICsxNyw3IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICFBVVRPSURFTlQgJ3JlcXVlc3RlZCBpZGVudGl0ZXMgYXJlIHN0cmljdCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAhRkFJTF9QUkVSRVFTLCFBVVRPSURFTlQgJ3JlcXVlc3RlZCBpZGVudGl0ZXMgYXJlIHN0cmljdCcgJwogCSgKIAkJc2FuZV91bnNldCBHSVRfQ09NTUlUVEVSX05BTUUgJiYKIAkJc2FuZV91bnNldCBHSVRfQ09NTUlUVEVSX0VNQUlMICYmCmRpZmYgLS1naXQgYS90L3QwMDA4LWlnbm9yZXMuc2ggYi90L3QwMDA4LWlnbm9yZXMuc2gKaW5kZXggMTc0NGNlZS4uMzcwYTM4OSAxMDA3NTUKLS0tIGEvdC90MDAwOC1pZ25vcmVzLnNoCisrKyBiL3QvdDAwMDgtaWdub3Jlcy5zaApAQCAtNDI0LDkgKzQyNCwyNCBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2Vzc19tdWx0aSAnbmVzdGVkIGluY2x1ZGUnIFwKLQknYS9iLy5naXRpZ25vcmU6ODohb24qCWEvYi9vbmUnICcKLQl0ZXN0X2NoZWNrX2lnbm9yZSAiYS9iL29uZSIKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25lc3RlZCBpbmNsdWRlIG9mIG5lZ2F0ZWQgcGF0dGVybicgJworCWV4cGVjdCAiIiAmJgorCXRlc3RfY2hlY2tfaWdub3JlICJhL2Ivb25lIiAxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25lc3RlZCBpbmNsdWRlIG9mIG5lZ2F0ZWQgcGF0dGVybiB3aXRoIC1xJyAnCisJZXhwZWN0ICIiICYmCisJdGVzdF9jaGVja19pZ25vcmUgIi1xIGEvYi9vbmUiIDEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbmVzdGVkIGluY2x1ZGUgb2YgbmVnYXRlZCBwYXR0ZXJuIHdpdGggLXYnICcKKwlleHBlY3QgImEvYi8uZ2l0aWdub3JlOjg6IW9uKglhL2Ivb25lIiAmJgorCXRlc3RfY2hlY2tfaWdub3JlICItdiBhL2Ivb25lIiAwCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25lc3RlZCBpbmNsdWRlIG9mIG5lZ2F0ZWQgcGF0dGVybiB3aXRoIC12IC1uJyAnCisJZXhwZWN0ICJhL2IvLmdpdGlnbm9yZTo4OiFvbioJYS9iL29uZSIgJiYKKwl0ZXN0X2NoZWNrX2lnbm9yZSAiLXYgLW4gYS9iL29uZSIgMAogJwogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCkBAIC00NjAsNyArNDc1LDYgQEAKIAlleHBlY3RfZnJvbV9zdGRpbiA8PC1cRU9GICYmCiAJCWZvbwogCQl0d29vb28KLQkJLi4vb25lCiAJCXNldmVuCiAJCS4uLy4uL29uZQogCUVPRgpAQCAtNTQzLDcgKzU1Nyw2IEBACiAJCWdsb2JhbHRocmVlCiAJCWEvZ2xvYmFsdGhyZWUKIAkJYS9wZXItcmVwbwotCQlnbG9iYWx0d28KIAlFT0YKIAl0ZXN0X2NoZWNrX2lnbm9yZSAiZ2xvYmFsb25lIHBlci1yZXBvIGdsb2JhbHRocmVlIGEvZ2xvYmFsdGhyZWUgYS9wZXItcmVwbyBub3QtaWdub3JlZCBnbG9iYWx0d28iCiAnCkBAIC01ODYsMTcgKzU5OSw3IEBACiBjYXQgPDwtXEVPRiA+ZXhwZWN0ZWQtZGVmYXVsdAogCW9uZQogCWEvb25lCi0JYS9iL29uCi0JYS9iL29uZQotCWEvYi9vbmUgb25lCi0JYS9iL29uZSB0d28KLQkiYS9iL29uZVwidGhyZWUiCi0JYS9iL3R3bwogCWEvYi90d29vbwotCWdsb2JhbHR3bwotCWEvZ2xvYmFsdHdvCi0JYS9iL2dsb2JhbHR3bwotCWIvZ2xvYmFsdHdvCiBFT0YKIGNhdCA8PC1FT0YgPmV4cGVjdGVkLXZlcmJvc2UKIAkuZ2l0aWdub3JlOjE6b25lCW9uZQpAQCAtNjk2LDggKzY5OSwxMiBAQAogCSRnbG9iYWxfZXhjbHVkZXM6MjohZ2xvYmFsdHdvCS4uL2IvZ2xvYmFsdHdvCiAJOjoJYy9ub3QtaWdub3JlZAogRU9GCitjYXQgPDwtRU9GID5leHBlY3RlZC1kZWZhdWx0CisuLi9vbmUKK29uZQorYi90d29vbworRU9GCiBncmVwIC12ICdeOjoJJyBleHBlY3RlZC1hbGwgPmV4cGVjdGVkLXZlcmJvc2UKLXNlZCAtZSAncy8uKgkvLycgZXhwZWN0ZWQtdmVyYm9zZSA+ZXhwZWN0ZWQtZGVmYXVsdAogCiBicm9rZW5fY191bnF1b3RlIHN0ZGluID5zdGRpbjAKIApkaWZmIC0tZ2l0IGEvdC90MDAxMS1oYXNobWFwLnNoIGIvdC90MDAxMS1oYXNobWFwLnNoCmluZGV4IDNmMWY1MDUuLjUzNDNmZmQgMTAwNzU1Ci0tLSBhL3QvdDAwMTEtaGFzaG1hcC5zaAorKysgYi90L3QwMDExLWhhc2htYXAuc2gKQEAgLTksMTUgKzksNiBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKIH0KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnaGFzaCBmdW5jdGlvbnMnICcKLQotdGVzdF9oYXNobWFwICJoYXNoIGtleTEiICIyMjE1OTgyNzQzIDIyMTU5ODI3NDMgMTE2MzcyMTUxIDExNjM3MjE1MSIgJiYKLXRlc3RfaGFzaG1hcCAiaGFzaCBrZXkyIiAiMjIxNTk4Mjc0MCAyMjE1OTgyNzQwIDExNjM3MjE0OCAxMTYzNzIxNDgiICYmCi10ZXN0X2hhc2htYXAgImhhc2ggZm9vQmFyRnJvdHoiICIxMzgzOTEyODA3IDEzODM5MTI4MDcgMzE4OTc2NjcyNyAzMTg5NzY2NzI3IiAmJgotdGVzdF9oYXNobWFwICJoYXNoIGZvb2JhcmZyb3R6IiAiMjg2MjMwNTk1OSAyODYyMzA1OTU5IDMxODk3NjY3MjcgMzE4OTc2NjcyNyIKLQotJwotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXQnICcKIAogdGVzdF9oYXNobWFwICJwdXQga2V5MSB2YWx1ZTEKQEAgLTE3OSwzMSArMTcwLDQ1IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2l0ZXJhdGUnICcKKwl0ZXN0LXRvb2wgaGFzaG1hcCA+YWN0dWFsLnJhdyA8PC1cRU9GICYmCisJcHV0IGtleTEgdmFsdWUxCisJcHV0IGtleTIgdmFsdWUyCisJcHV0IGZvb0JhckZyb3R6IHZhbHVlMworCWl0ZXJhdGUKKwlFT0YKIAotdGVzdF9oYXNobWFwICJwdXQga2V5MSB2YWx1ZTEKLXB1dCBrZXkyIHZhbHVlMgotcHV0IGZvb0JhckZyb3R6IHZhbHVlMwotaXRlcmF0ZSIgIk5VTEwKLU5VTEwKLU5VTEwKLWtleTIgdmFsdWUyCi1rZXkxIHZhbHVlMQotZm9vQmFyRnJvdHogdmFsdWUzIgorCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlOVUxMCisJTlVMTAorCU5VTEwKKwlmb29CYXJGcm90eiB2YWx1ZTMKKwlrZXkxIHZhbHVlMQorCWtleTIgdmFsdWUyCisJRU9GCiAKKwlzb3J0IDxhY3R1YWwucmF3ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2l0ZXJhdGUgKGNhc2UgaW5zZW5zaXRpdmUpJyAnCisJdGVzdC10b29sIGhhc2htYXAgaWdub3JlY2FzZSA+YWN0dWFsLnJhdyA8PC1cRU9GICYmCisJcHV0IGtleTEgdmFsdWUxCisJcHV0IGtleTIgdmFsdWUyCisJcHV0IGZvb0JhckZyb3R6IHZhbHVlMworCWl0ZXJhdGUKKwlFT0YKIAotdGVzdF9oYXNobWFwICJwdXQga2V5MSB2YWx1ZTEKLXB1dCBrZXkyIHZhbHVlMgotcHV0IGZvb0JhckZyb3R6IHZhbHVlMwotaXRlcmF0ZSIgIk5VTEwKLU5VTEwKLU5VTEwKLWZvb0JhckZyb3R6IHZhbHVlMwota2V5MiB2YWx1ZTIKLWtleTEgdmFsdWUxIiBpZ25vcmVjYXNlCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCU5VTEwKKwlOVUxMCisJTlVMTAorCWZvb0JhckZyb3R6IHZhbHVlMworCWtleTEgdmFsdWUxCisJa2V5MiB2YWx1ZTIKKwlFT0YKIAorCXNvcnQgPGFjdHVhbC5yYXcgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JvdyAvIHNocmluaycgJwpkaWZmIC0tZ2l0IGEvdC90MDAxNC1hbGlhcy5zaCBiL3QvdDAwMTQtYWxpYXMuc2gKaW5kZXggYTA3MGU2NC4uOGQzZDkxNCAxMDA3NTUKLS0tIGEvdC90MDAxNC1hbGlhcy5zaAorKysgYi90L3QwMDE0LWFsaWFzLnNoCkBAIC0zNyw0ICszNywxMSBAQAogIwl0ZXN0X2kxOG5ncmVwICJeZmF0YWw6IGFsaWFzIGxvb3AgZGV0ZWN0ZWQ6IGV4cGFuc2lvbiBvZiIgb3V0cHV0CiAjJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdydW4tY29tbWFuZCBmb3JtYXRzIGVtcHR5IGFyZ3MgcHJvcGVybHknICcKKyAgICB0ZXN0X211c3RfZmFpbCBlbnYgR0lUX1RSQUNFPTEgZ2l0IGZyb3R6IGEgIiIgYiAiICIgYyAyPmFjdHVhbC5yYXcgJiYKKyAgICBzZWQgLW5lICIvcnVuX2NvbW1hbmQ6L3MvLip0cmFjZTogcnVuX2NvbW1hbmQ6IC8vcCIgYWN0dWFsLnJhdyA+YWN0dWFsICYmCisgICAgZWNobyAiZ2l0LWZyb3R6IGEgJ1wnJydcJycgYiAnXCcnICdcJycgYyIgPmV4cGVjdCAmJgorICAgIHRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QwMDE1LWhhc2guc2ggYi90L3QwMDE1LWhhc2guc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjkxZTkwNgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDAwMTUtaGFzaC5zaApAQCAtMCwwICsxLDU1IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ndGVzdCBiYXNpYyBoYXNoIGltcGxlbWVudGF0aW9uJworLiAuL3Rlc3QtbGliLnNoCisKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCBiYXNpYyBTSEEtMSBoYXNoIHZhbHVlcycgJworCXRlc3QtdG9vbCBzaGExIDwvZGV2L251bGwgPmFjdHVhbCAmJgorCWdyZXAgZGEzOWEzZWU1ZTZiNGIwZDMyNTViZmVmOTU2MDE4OTBhZmQ4MDcwOSBhY3R1YWwgJiYKKwlwcmludGYgImEiIHwgdGVzdC10b29sIHNoYTEgPmFjdHVhbCAmJgorCWdyZXAgODZmN2U0MzdmYWE1YTdmY2UxNWQxZGRjYjllYWVhZWEzNzc2NjdiOCBhY3R1YWwgJiYKKwlwcmludGYgImFiYyIgfCB0ZXN0LXRvb2wgc2hhMSA+YWN0dWFsICYmCisJZ3JlcCBhOTk5M2UzNjQ3MDY4MTZhYmEzZTI1NzE3ODUwYzI2YzljZDBkODlkIGFjdHVhbCAmJgorCXByaW50ZiAibWVzc2FnZSBkaWdlc3QiIHwgdGVzdC10b29sIHNoYTEgPmFjdHVhbCAmJgorCWdyZXAgYzEyMjUyY2VkYThiZTg5OTRkNWZhMDI5MGE0NzIzMWMxZDE2YWFlMyBhY3R1YWwgJiYKKwlwcmludGYgImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IiB8IHRlc3QtdG9vbCBzaGExID5hY3R1YWwgJiYKKwlncmVwIDMyZDEwYzdiOGNmOTY1NzBjYTA0Y2UzN2YyYTE5ZDg0MjQwZDNhODkgYWN0dWFsICYmCisJcGVybCAtZSAiJHwgPSAxOyBwcmludCBxe2FhYWFhYWFhYWF9IGZvciAxLi4xMDAwMDA7IiB8IFwKKwkJdGVzdC10b29sIHNoYTEgPmFjdHVhbCAmJgorCWdyZXAgMzRhYTk3M2NkNGM0ZGFhNGY2MWVlYjJiZGJhZDI3MzE2NTM0MDE2ZiBhY3R1YWwgJiYKKwlwcmludGYgImJsb2IgMFwwIiB8IHRlc3QtdG9vbCBzaGExID5hY3R1YWwgJiYKKwlncmVwIGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEgYWN0dWFsICYmCisJcHJpbnRmICJibG9iIDNcMGFiYyIgfCB0ZXN0LXRvb2wgc2hhMSA+YWN0dWFsICYmCisJZ3JlcCBmMmJhOGY4NGFiNWMxYmNlODRhN2I0NDFjYjE5NTljZmM3MDkzYjdmIGFjdHVhbCAmJgorCXByaW50ZiAidHJlZSAwXDAiIHwgdGVzdC10b29sIHNoYTEgPmFjdHVhbCAmJgorCWdyZXAgNGI4MjVkYzY0MmNiNmViOWEwNjBlNTRiZjhkNjkyODhmYmVlNDkwNCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCBiYXNpYyBTSEEtMjU2IGhhc2ggdmFsdWVzJyAnCisJdGVzdC10b29sIHNoYTI1NiA8L2Rldi9udWxsID5hY3R1YWwgJiYKKwlncmVwIGUzYjBjNDQyOThmYzFjMTQ5YWZiZjRjODk5NmZiOTI0MjdhZTQxZTQ2NDliOTM0Y2E0OTU5OTFiNzg1MmI4NTUgYWN0dWFsICYmCisJcHJpbnRmICJhIiB8IHRlc3QtdG9vbCBzaGEyNTYgPmFjdHVhbCAmJgorCWdyZXAgY2E5NzgxMTJjYTFiYmRjYWZhYzIzMWIzOWEyM2RjNGRhNzg2ZWZmODE0N2M0ZTcyYjk4MDc3ODVhZmVlNDhiYiBhY3R1YWwgJiYKKwlwcmludGYgImFiYyIgfCB0ZXN0LXRvb2wgc2hhMjU2ID5hY3R1YWwgJiYKKwlncmVwIGJhNzgxNmJmOGYwMWNmZWE0MTQxNDBkZTVkYWUyMjIzYjAwMzYxYTM5NjE3N2E5Y2I0MTBmZjYxZjIwMDE1YWQgYWN0dWFsICYmCisJcHJpbnRmICJtZXNzYWdlIGRpZ2VzdCIgfCB0ZXN0LXRvb2wgc2hhMjU2ID5hY3R1YWwgJiYKKwlncmVwIGY3ODQ2ZjU1Y2YyM2UxNGVlYmVhYjViNGUxNTUwY2FkNWI1MDllMzM0OGZiYzRlZmEzYTE0MTNkMzkzY2I2NTAgYWN0dWFsICYmCisJcHJpbnRmICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIgfCB0ZXN0LXRvb2wgc2hhMjU2ID5hY3R1YWwgJiYKKwlncmVwIDcxYzQ4MGRmOTNkNmFlMmYxZWZhZDE0NDdjNjZjOTUyNWUzMTYyMThjZjUxZmM4ZDllZDgzMmYyZGFmMThiNzMgYWN0dWFsICYmCisJIyBUcnkgdG8gZXhlcmNpc2UgdGhlIGNodW5raW5nIGNvZGUgYnkgdHVybmluZyBhdXRvZmx1c2ggb24uCisJcGVybCAtZSAiJHwgPSAxOyBwcmludCBxe2FhYWFhYWFhYWF9IGZvciAxLi4xMDAwMDA7IiB8IFwKKwkJdGVzdC10b29sIHNoYTI1NiA+YWN0dWFsICYmCisJZ3JlcCBjZGM3NmU1Yzk5MTRmYjkyODFhMWM3ZTI4NGQ3M2U2N2YxODA5YTQ4YTQ5NzIwMGUwNDZkMzljY2M3MTEyY2QwIGFjdHVhbCAmJgorCXBlcmwgLWUgIiR8ID0gMTsgcHJpbnQgcXthYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5en0gZm9yIDEuLjEwMDAwMDsiIHwgXAorCQl0ZXN0LXRvb2wgc2hhMjU2ID5hY3R1YWwgJiYKKwlncmVwIGU0MDZiYTMyMWNhNzEyYWQzNWE2OThiZjBhZjhkNjFmYzRkYzQwZWNhNmJkY2VhNDY5Nzk2MjcyNGNjYmRlMzUgYWN0dWFsICYmCisJcHJpbnRmICJibG9iIDBcMCIgfCB0ZXN0LXRvb2wgc2hhMjU2ID5hY3R1YWwgJiYKKwlncmVwIDQ3M2EwZjRjM2JlOGE5MzY4MWEyNjdlM2IxZTlhN2RjZGExMTg1NDM2ZmUxNDFmNzc0OTEyMGEzMDM3MjE4MTMgYWN0dWFsICYmCisJcHJpbnRmICJibG9iIDNcMGFiYyIgfCB0ZXN0LXRvb2wgc2hhMjU2ID5hY3R1YWwgJiYKKwlncmVwIGMxY2Y2ZTQ2NTA3NzkzMGU4OGRjNTEzNjY0MWQ0MDJmNzJhMjI5ZGRkOTk2ZjYyN2Q2MGU5NjM5ZWFiYTM1YTYgYWN0dWFsICYmCisJcHJpbnRmICJ0cmVlIDBcMCIgfCB0ZXN0LXRvb2wgc2hhMjU2ID5hY3R1YWwgJiYKKwlncmVwIDZlZjE5YjQxMjI1YzUzNjlmMWMxMDRkNDVkOGQ4NWVmYTliMDU3YjUzYjE0YjRiOWI5MzlkZDc0ZGVjYzUzMjEgYWN0dWFsCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MDAxNi1vaWRtYXAuc2ggYi90L3QwMDE2LW9pZG1hcC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMWY4Mjc2Ci0tLSAvZGV2L251bGwKKysrIGIvdC90MDAxNi1vaWRtYXAuc2gKQEAgLTAsMCArMSwxMTAgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSd0ZXN0IG9pZG1hcCcKKy4gLi90ZXN0LWxpYi5zaAorCisjIFRoaXMgcHVycG9zZWZ1bGx5IGlzIHZlcnkgc2ltaWxhciB0byB0MDAxMS1oYXNobWFwLnNoCisKK3Rlc3Rfb2lkbWFwICgpIHsKKwllY2hvICIkMSIgfCB0ZXN0LXRvb2wgb2lkbWFwICQzID5hY3R1YWwgJiYKKwllY2hvICIkMiIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKK30KKworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJworCisJdGVzdF9jb21taXQgb25lICYmCisJdGVzdF9jb21taXQgdHdvICYmCisJdGVzdF9jb21taXQgdGhyZWUgJiYKKwl0ZXN0X2NvbW1pdCBmb3VyCisKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHV0JyAnCisKK3Rlc3Rfb2lkbWFwICJwdXQgb25lIDEKK3B1dCB0d28gMgorcHV0IGludmFsaWRPaWQgNAorcHV0IHRocmVlIDMiICJOVUxMCitOVUxMCitVbmtub3duIG9pZDogaW52YWxpZE9pZAorTlVMTCIKKworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXBsYWNlJyAnCisKK3Rlc3Rfb2lkbWFwICJwdXQgb25lIDEKK3B1dCB0d28gMgorcHV0IHRocmVlIDMKK3B1dCBpbnZhbGlkT2lkIDQKK3B1dCB0d28gZGV1eAorcHV0IG9uZSB1biIgIk5VTEwKK05VTEwKK05VTEwKK1Vua25vd24gb2lkOiBpbnZhbGlkT2lkCisyCisxIgorCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dldCcgJworCit0ZXN0X29pZG1hcCAicHV0IG9uZSAxCitwdXQgdHdvIDIKK3B1dCB0aHJlZSAzCitnZXQgdHdvCitnZXQgZm91cgorZ2V0IGludmFsaWRPaWQKK2dldCBvbmUiICJOVUxMCitOVUxMCitOVUxMCisyCitOVUxMCitVbmtub3duIG9pZDogaW52YWxpZE9pZAorMSIKKworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZW1vdmUnICcKKwordGVzdF9vaWRtYXAgInB1dCBvbmUgMQorcHV0IHR3byAyCitwdXQgdGhyZWUgMworcmVtb3ZlIG9uZQorcmVtb3ZlIHR3bworcmVtb3ZlIGludmFsaWRPaWQKK3JlbW92ZSBmb3VyIiAiTlVMTAorTlVMTAorTlVMTAorMQorMgorVW5rbm93biBvaWQ6IGludmFsaWRPaWQKK05VTEwiCisKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnaXRlcmF0ZScgJworCXRlc3QtdG9vbCBvaWRtYXAgPmFjdHVhbC5yYXcgPDwtXEVPRiAmJgorCXB1dCBvbmUgMQorCXB1dCB0d28gMgorCXB1dCB0aHJlZSAzCisJaXRlcmF0ZQorCUVPRgorCisJIyBzb3J0ICJleHBlY3QiIHRvbyBzbyB3ZSBkbyBub3QgcmVseSBvbiB0aGUgb3JkZXIgb2YgcGFydGljdWxhciBvaWRzCisJc29ydCA+ZXhwZWN0IDw8LUVPRiAmJgorCU5VTEwKKwlOVUxMCisJTlVMTAorCSQoZ2l0IHJldi1wYXJzZSBvbmUpIDEKKwkkKGdpdCByZXYtcGFyc2UgdHdvKSAyCisJJChnaXQgcmV2LXBhcnNlIHRocmVlKSAzCisJRU9GCisKKwlzb3J0IDxhY3R1YWwucmF3ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MDAxNy1lbnYtaGVscGVyLnNoIGIvdC90MDAxNy1lbnYtaGVscGVyLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMxZWNmNmEKLS0tIC9kZXYvbnVsbAorKysgYi90L3QwMDE3LWVudi1oZWxwZXIuc2gKQEAgLTAsMCArMSw5OSBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J3Rlc3QgZW52LS1oZWxwZXInCisKKy4gLi90ZXN0LWxpYi5zaAorCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Vudi0taGVscGVyIHVzYWdlJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGVudi0taGVscGVyICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGVudi0taGVscGVyIC0tdHlwZT1ib29sICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGVudi0taGVscGVyIC0tdHlwZT11bG9uZyAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBlbnYtLWhlbHBlciAtLXR5cGU9Ym9vbCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBlbnYtLWhlbHBlciAtLXR5cGU9Ym9vbCAtLWRlZmF1bHQgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZW52LS1oZWxwZXIgLS10eXBlPWJvb2wgLS1kZWZhdWx0PSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBlbnYtLWhlbHBlciAtLWRlZmF1bHR4eXoKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZW52LS1oZWxwZXIgYmFkIGRlZmF1bHQgdmFsdWVzJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGVudi0taGVscGVyIC0tdHlwZT1ib29sIC0tZGVmYXVsdD0xeHl6IE1JU1NJTkcgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZW52LS1oZWxwZXIgLS10eXBlPXVsb25nIC0tZGVmYXVsdD0xeHl6IE1JU1NJTkcKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZW52LS1oZWxwZXIgLS10eXBlPWJvb2wnICcKKwkjIFRlc3QgdmFyaW91cyAtLWRlZmF1bHQgYm9vbCB2YWx1ZXMKKwllY2hvIHRydWUgPmV4cGVjdGVkICYmCisJZ2l0IGVudi0taGVscGVyIC0tdHlwZT1ib29sIC0tZGVmYXVsdD0xIE1JU1NJTkcgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCWdpdCBlbnYtLWhlbHBlciAtLXR5cGU9Ym9vbCAtLWRlZmF1bHQ9eWVzIE1JU1NJTkcgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCWdpdCBlbnYtLWhlbHBlciAtLXR5cGU9Ym9vbCAtLWRlZmF1bHQ9dHJ1ZSBNSVNTSU5HID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwgJiYKKwllY2hvIGZhbHNlID5leHBlY3RlZCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBlbnYtLWhlbHBlciAtLXR5cGU9Ym9vbCAtLWRlZmF1bHQ9MCBNSVNTSU5HID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZW52LS1oZWxwZXIgLS10eXBlPWJvb2wgLS1kZWZhdWx0PW5vIE1JU1NJTkcgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBlbnYtLWhlbHBlciAtLXR5cGU9Ym9vbCAtLWRlZmF1bHQ9ZmFsc2UgTUlTU0lORyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCisKKwkjIE5vIG91dHB1dCB3aXRoIC0tZXhpdC1jb2RlCisJZ2l0IGVudi0taGVscGVyIC0tdHlwZT1ib29sIC0tZGVmYXVsdD10cnVlIC0tZXhpdC1jb2RlIE1JU1NJTkcgPmFjdHVhbC5vdXQgMj5hY3R1YWwuZXJyICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGFjdHVhbC5vdXQgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsLmVyciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBlbnYtLWhlbHBlciAtLXR5cGU9Ym9vbCAtLWRlZmF1bHQ9ZmFsc2UgLS1leGl0LWNvZGUgTUlTU0lORyA+YWN0dWFsLm91dCAyPmFjdHVhbC5lcnIgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsLm91dCAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBhY3R1YWwuZXJyICYmCisKKwkjIEV4aXN0aW5nIHZhcmlhYmxlCisJRVhJU1RTPXRydWUgZ2l0IGVudi0taGVscGVyIC0tdHlwZT1ib29sIC0tZGVmYXVsdD1mYWxzZSAtLWV4aXQtY29kZSBFWElTVFMgPmFjdHVhbC5vdXQgMj5hY3R1YWwuZXJyICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGFjdHVhbC5vdXQgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsLmVyciAmJgorCXRlc3RfbXVzdF9mYWlsIFwKKwkJZW52IEVYSVNUUz1mYWxzZSBcCisJCWdpdCBlbnYtLWhlbHBlciAtLXR5cGU9Ym9vbCAtLWRlZmF1bHQ9dHJ1ZSAtLWV4aXQtY29kZSBFWElTVFMgPmFjdHVhbC5vdXQgMj5hY3R1YWwuZXJyICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGFjdHVhbC5vdXQgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsLmVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdlbnYtLWhlbHBlciAtLXR5cGU9dWxvbmcnICcKKwllY2hvIDEyMzQ1Njc4OTAgPmV4cGVjdGVkICYmCisJZ2l0IGVudi0taGVscGVyIC0tdHlwZT11bG9uZyAtLWRlZmF1bHQ9MTIzNDU2Nzg5MCBNSVNTSU5HID5hY3R1YWwub3V0IDI+YWN0dWFsLmVyciAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbC5vdXQgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsLmVyciAmJgorCisJZWNobyAwID5leHBlY3RlZCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBlbnYtLWhlbHBlciAtLXR5cGU9dWxvbmcgLS1kZWZhdWx0PTAgTUlTU0lORyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCisKKwlnaXQgZW52LS1oZWxwZXIgLS10eXBlPXVsb25nIC0tZGVmYXVsdD0xMjM0NTY3ODkwIC0tZXhpdC1jb2RlIE1JU1NJTkcgPmFjdHVhbC5vdXQgMj5hY3R1YWwuZXJyICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGFjdHVhbC5vdXQgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsLmVyciAmJgorCisJRVhJU1RTPTEyMzQ1Njc4OTAgZ2l0IGVudi0taGVscGVyIC0tdHlwZT11bG9uZyAtLWRlZmF1bHQ9MCBFWElTVFMgLS1leGl0LWNvZGUgPmFjdHVhbC5vdXQgMj5hY3R1YWwuZXJyICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGFjdHVhbC5vdXQgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsLmVyciAmJgorCisJZWNobyAxMjM0NTY3ODkwID5leHBlY3RlZCAmJgorCUVYSVNUUz0xMjM0NTY3ODkwIGdpdCBlbnYtLWhlbHBlciAtLXR5cGU9dWxvbmcgLS1kZWZhdWx0PTAgRVhJU1RTID5hY3R1YWwub3V0IDI+YWN0dWFsLmVyciAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbC5vdXQgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsLmVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdlbnYtLWhlbHBlciByZWFkcyBjb25maWcgdGhhbmtzIHRvIHRyYWNlMicgJworCW1rZGlyIGhvbWUgJiYKKwlnaXQgY29uZmlnIC1mIGhvbWUvLmdpdGNvbmZpZyBpbmNsdWRlLnBhdGggY3ljbGUgJiYKKwlnaXQgY29uZmlnIC1mIGhvbWUvY3ljbGUgaW5jbHVkZS5wYXRoIC5naXRjb25maWcgJiYKKworCXRlc3RfbXVzdF9mYWlsIFwKKwkJZW52IEhPTUU9IiQocHdkKS9ob21lIiBHSVRfVEVTVF9HRVRURVhUX1BPSVNPTj1mYWxzZSBcCisJCWdpdCBjb25maWcgLWwgMj5lcnIgJiYKKwlncmVwICJleGNlZWRlZCBtYXhpbXVtIGluY2x1ZGUgZGVwdGgiIGVyciAmJgorCisJdGVzdF9tdXN0X2ZhaWwgXAorCQllbnYgSE9NRT0iJChwd2QpL2hvbWUiIEdJVF9URVNUX0dFVFRFWFRfUE9JU09OPXRydWUgXAorCQlnaXQgLUMgY3ljbGUgZW52LS1oZWxwZXIgLS10eXBlPWJvb2wgLS1kZWZhdWx0PTAgLS1leGl0LWNvZGUgR0lUX1RFU1RfR0VUVEVYVF9QT0lTT04gMj5lcnIgJiYKKwlncmVwICIjIEdFVFRFWFQgUE9JU09OICMiIGVycgorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDAwMjAtY3JsZi5zaCBiL3QvdDAwMjAtY3JsZi5zaAppbmRleCA4NTRkYTBhLi5iNjNiYTYyIDEwMDc1NQotLS0gYS90L3QwMDIwLWNybGYuc2gKKysrIGIvdC90MDAyMC1jcmxmLnNoCkBAIC0xNTksOCArMTU5LDggQEAKIAlybSAtZiB0bXAgb25lIGRpci90d28gdGhyZWUgJiYKIAlnaXQgY29uZmlnIGNvcmUuYXV0b2NybGYgaW5wdXQgJiYKIAlnaXQgcmVhZC10cmVlIC0tcmVzZXQgLXUgSEVBRCAmJgotCXRlc3RfbXVzdF9mYWlsIGhhc19jciBvbmUgJiYKLQl0ZXN0X211c3RfZmFpbCBoYXNfY3IgZGlyL3R3byAmJgorCSEgaGFzX2NyIG9uZSAmJgorCSEgaGFzX2NyIGRpci90d28gJiYKIAlnaXQgdXBkYXRlLWluZGV4IC0tIG9uZSBkaXIvdHdvICYmCiAJdGVzdCAiJG9uZSIgPSAkKGdpdCBoYXNoLW9iamVjdCAtLXN0ZGluIDxvbmUpICYmCiAJdGVzdCAiJHR3byIgPSAkKGdpdCBoYXNoLW9iamVjdCAtLXN0ZGluIDxkaXIvdHdvKSAmJgpAQCAtMjM3LDkgKzIzNyw5IEBACiAJZ2l0IGNvbmZpZyBjb3JlLmF1dG9jcmxmIHRydWUgJiYKIAlnaXQgcmVhZC10cmVlIC0tcmVzZXQgLXUgSEVBRCAmJgogCi0JdGVzdF9tdXN0X2ZhaWwgaGFzX2NyIGRpci90d28gJiYKKwkhIGhhc19jciBkaXIvdHdvICYmCiAJdmVyYm9zZSBoYXNfY3Igb25lICYmCi0JdGVzdF9tdXN0X2ZhaWwgaGFzX2NyIHRocmVlCisJISBoYXNfY3IgdGhyZWUKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLmdpdGF0dHJpYnV0ZXMgc2F5cyB0d28gaXMgaW5wdXQnICcKQEAgLTI0OCw3ICsyNDgsNyBAQAogCWVjaG8gInR3byBjcmxmPWlucHV0IiA+LmdpdGF0dHJpYnV0ZXMgJiYKIAlnaXQgcmVhZC10cmVlIC0tcmVzZXQgLXUgSEVBRCAmJgogCi0JdGVzdF9tdXN0X2ZhaWwgaGFzX2NyIGRpci90d28KKwkhIGhhc19jciBkaXIvdHdvCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy5naXRhdHRyaWJ1dGVzIHNheXMgdHdvIGFuZCB0aHJlZSBhcmUgdGV4dCcgJwpAQCAtMjcwLDcgKzI3MCw3IEBACiAJcm0gLXJmIHRtcCBvbmUgZGlyIC5naXRhdHRyaWJ1dGVzIHBhdGNoLmZpbGUgdGhyZWUgJiYKIAlnaXQgcmVhZC10cmVlIC0tcmVzZXQgLXUgSEVBRCAmJgogCi0JdGVzdF9tdXN0X2ZhaWwgaGFzX2NyIG9uZSAmJgorCSEgaGFzX2NyIG9uZSAmJgogCXZlcmJvc2UgaGFzX2NyIHRocmVlCiAnCiAKQEAgLTI4MCw3ICsyODAsNyBAQAogCWdpdCByZWFkLXRyZWUgLS1yZXNldCBIRUFEICYmCiAJZ2l0IGNoZWNrb3V0LWluZGV4IC1mIC1xIC11IC1hICYmCiAKLQl0ZXN0X211c3RfZmFpbCBoYXNfY3Igb25lICYmCisJISBoYXNfY3Igb25lICYmCiAJdmVyYm9zZSBoYXNfY3IgdGhyZWUKICcKIApAQCAtMjkxLDcgKzI5MSw3IEBACiAJZ2l0IGNoZWNrb3V0LWluZGV4IC11IC5naXRhdHRyaWJ1dGVzICYmCiAJZ2l0IGNoZWNrb3V0LWluZGV4IC11IG9uZSBkaXIvdHdvIHRocmVlICYmCiAKLQl0ZXN0X211c3RfZmFpbCBoYXNfY3Igb25lICYmCisJISBoYXNfY3Igb25lICYmCiAJdmVyYm9zZSBoYXNfY3IgdGhyZWUKICcKIApAQCAtMzAyLDcgKzMwMiw3IEBACiAJZ2l0IGNoZWNrb3V0LWluZGV4IC11IG9uZSBkaXIvdHdvIHRocmVlICYmCiAJZ2l0IGNoZWNrb3V0LWluZGV4IC11IC5naXRhdHRyaWJ1dGVzICYmCiAKLQl0ZXN0X211c3RfZmFpbCBoYXNfY3Igb25lICYmCisJISBoYXNfY3Igb25lICYmCiAJdmVyYm9zZSBoYXNfY3IgdGhyZWUKICcKIApkaWZmIC0tZ2l0IGEvdC90MDAyMS1jb252ZXJzaW9uLnNoIGIvdC90MDAyMS1jb252ZXJzaW9uLnNoCmluZGV4IGZkNWYxYWMuLmRjNjY0ZGEgMTAwNzU1Ci0tLSBhL3QvdDAwMjEtY29udmVyc2lvbi5zaAorKysgYi90L3QwMDIxLWNvbnZlcnNpb24uc2gKQEAgLTI0LDcgKzI0LDcgQEAKIH0KIAogZmlsZV9zaXplICgpIHsKLQlwZXJsIC1lICdwcmludCAtcyAkQVJHVlswXScgIiQxIgorCXRlc3QtdG9vbCBwYXRoLXV0aWxzIGZpbGUtc2l6ZSAiJDEiCiB9CiAKIGZpbHRlcl9naXQgKCkgewpAQCAtMzUsNyArMzUsNyBAQAogIyBDb21wYXJlIHR3byBmaWxlcyBhbmQgZW5zdXJlIHRoYXQgYGNsZWFuYCBhbmQgYHNtdWRnZWAgcmVzcGVjdGl2ZWx5IGFyZQogIyBjYWxsZWQgYXQgbGVhc3Qgb25jZSBpZiBzcGVjaWZpZWQgaW4gdGhlIGBleHBlY3RgIGZpbGUuIFRoZSBhY3R1YWwKICMgaW52b2NhdGlvbiBjb3VudCBpcyBub3QgcmVsZXZhbnQgYmVjYXVzZSB0aGVpciBudW1iZXIgY2FuIHZhcnkuCi0jIGMuZi4gaHR0cDovL3B1YmxpYy1pbmJveC5vcmcvZ2l0L3htcXFzaHYxOGk4aS5mc2ZAZ2l0c3Rlci5tdHYuY29ycC5nb29nbGUuY29tLworIyBjLmYuIGh0dHA6Ly9sb3JlLmtlcm5lbC5vcmcvZ2l0L3htcXFzaHYxOGk4aS5mc2ZAZ2l0c3Rlci5tdHYuY29ycC5nb29nbGUuY29tLwogdGVzdF9jbXBfY291bnQgKCkgewogCWV4cGVjdD0kMQogCWFjdHVhbD0kMgpAQCAtNTAsNyArNTAsNyBAQAogCiAjIENvbXBhcmUgdHdvIGZpbGVzIGJ1dCBleGNsdWRlIGFsbCBgY2xlYW5gIGludm9jYXRpb25zIGJlY2F1c2UgR2l0IGNhbgogIyBjYWxsIGBjbGVhbmAgemVybyBvciBtb3JlIHRpbWVzLgotIyBjLmYuIGh0dHA6Ly9wdWJsaWMtaW5ib3gub3JnL2dpdC94bXFxc2h2MThpOGkuZnNmQGdpdHN0ZXIubXR2LmNvcnAuZ29vZ2xlLmNvbS8KKyMgYy5mLiBodHRwOi8vbG9yZS5rZXJuZWwub3JnL2dpdC94bXFxc2h2MThpOGkuZnNmQGdpdHN0ZXIubXR2LmNvcnAuZ29vZ2xlLmNvbS8KIHRlc3RfY21wX2V4Y2x1ZGVfY2xlYW4gKCkgewogCWV4cGVjdD0kMQogCWFjdHVhbD0kMgpAQCAtMzkwLDYgKzM5MCw5IEBACiAJCUVPRgogCQl0ZXN0X2NtcF9leGNsdWRlX2NsZWFuIGV4cGVjdGVkLmxvZyBkZWJ1Zy5sb2cgJiYKIAorCQkjIE1ha2Ugc3VyZSB0aGF0IHRoZSBmaWxlIGFwcGVhcnMgZGlydHksIHNvIGNoZWNrb3V0IGJlbG93IGhhcyB0bworCQkjIHJ1biB0aGUgY29uZmlndXJlZCBmaWx0ZXIuCisJCXRvdWNoIHRlc3QuciAmJgogCQlmaWx0ZXJfZ2l0IGNoZWNrb3V0IC0tcXVpZXQgLS1uby1wcm9ncmVzcyBlbXB0eS1icmFuY2ggJiYKIAkJY2F0ID5leHBlY3RlZC5sb2cgPDwtRU9GICYmCiAJCQlTVEFSVApAQCAtNzkyLDcgKzc5NSw2IEBACiAKIAlybSAtcmYgcmVwby1jbG9uZWQgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgY2xvbmUgcmVwbyByZXBvLWNsb25lZCAyPmdpdC1zdGRlcnIubG9nICYmCi0JY2F0IGdpdC1zdGRlcnIubG9nICYmCiAJZ3JlcCAiZXJyb3I6IC5taXNzaW5nLWRlbGF5XC5hLiB3YXMgbm90IGZpbHRlcmVkIHByb3Blcmx5IiBnaXQtc3RkZXJyLmxvZwogJwogCmRpZmYgLS1naXQgYS90L3QwMDI1LWNybGYtcmVub3JtYWxpemUuc2ggYi90L3QwMDI1LWNybGYtcmVub3JtYWxpemUuc2gKaW5kZXggOWQ5ZTAyYS4uZTEzMzYzYSAxMDA3NTUKLS0tIGEvdC90MDAyNS1jcmxmLXJlbm9ybWFsaXplLnNoCisrKyBiL3QvdDAwMjUtY3JsZi1yZW5vcm1hbGl6ZS5zaApAQCAtMjcsNCArMjcsMTMgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2lnbm9yZS1lcnJvcnMgbm90IG1pc3Rha2VuIGZvciByZW5vcm1hbGl6ZScgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwllY2hvICIqLnR4dCB0ZXh0PWF1dG8iID4uZ2l0YXR0cmlidXRlcyAmJgorCWdpdCBscy1maWxlcyAtLWVvbCA+ZXhwZWN0ICYmCisJZ2l0IGFkZCAtLWlnbm9yZS1lcnJvcnMgIioudHh0IiAmJgorCWdpdCBscy1maWxlcyAtLWVvbCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDAwMjctYXV0by1jcmxmLnNoIGIvdC90MDAyNy1hdXRvLWNybGYuc2gKaW5kZXggYmViNTkyNy4uOWZjZDU2ZiAxMDA3NTUKLS0tIGEvdC90MDAyNy1hdXRvLWNybGYuc2gKKysrIGIvdC90MDAyNy1hdXRvLWNybGYuc2gKQEAgLTE1LDggKzE1LDEwIEBACiAJcGZ4PSQxCiAJZXhwPSQyLmV4cGVjdAogCWFjdD0kcGZ4LmFjdHVhbC4kMwotCXRyICdcMDE1XDAwMGFiY2RlZjAxMjM0NTY3ODknIFFOMDAwMDAwMDAwMDAwMDAwMDAgPCIkMiIgPiIkZXhwIiAmJgotCXRyICdcMDE1XDAwMGFiY2RlZjAxMjM0NTY3ODknIFFOMDAwMDAwMDAwMDAwMDAwMDAgPCIkMyIgPiIkYWN0IiAmJgorCXRyICdcMDE1XDAwMGFiY2RlZjAxMjM0NTY3ODknIFFOMDAwMDAwMDAwMDAwMDAwMDAgPCIkMiIgfAorCQlzZWQgLWUgInMvMDAwMCovJFpFUk9fT0lELyIgPiIkZXhwIiAmJgorCXRyICdcMDE1XDAwMGFiY2RlZjAxMjM0NTY3ODknIFFOMDAwMDAwMDAwMDAwMDAwMDAgPCIkMyIgfAorCQlzZWQgLWUgInMvMDAwMCovJFpFUk9fT0lELyIgPiIkYWN0IiAmJgogCXRlc3RfY21wICIkZXhwIiAiJGFjdCIgJiYKIAlybSAiJGV4cCIgIiRhY3QiCiB9CkBAIC0yMTMsNyArMjE1LDcgQEAKIH0KIAogCi0jIGNvbnRydWN0IHRoZSBhdHRyLyByZXR1cm5lZCBieSBnaXQgbHMtZmlsZXMgLS1lb2wKKyMgY29uc3RydWN0IHRoZSBhdHRyLyByZXR1cm5lZCBieSBnaXQgbHMtZmlsZXMgLS1lb2wKICMgVGFrZSBub25lICg9ZW1wdHkpLCBvbmUgb3IgdHdvIGFyZ3MKICMgY29udmVydC5jOiBlb2w9WFggb3ZlcnJpZGVzIHRleHQ9YXV0bwogYXR0cl9hc2NpaSAoKSB7CkBAIC0yOTMsOSArMjk1LDkgQEAKIAlkbwogCQlybSBjcmxmX2ZhbHNlX2F0dHJfXyRmLnR4dCAmJgogCQlpZiB0ZXN0IC16ICIkY2VvbCI7IHRoZW4KLQkJCWdpdCBjaGVja291dCBjcmxmX2ZhbHNlX2F0dHJfXyRmLnR4dAorCQkJZ2l0IGNoZWNrb3V0IC0tIGNybGZfZmFsc2VfYXR0cl9fJGYudHh0CiAJCWVsc2UKLQkJCWdpdCAtYyBjb3JlLmVvbD0kY2VvbCBjaGVja291dCBjcmxmX2ZhbHNlX2F0dHJfXyRmLnR4dAorCQkJZ2l0IC1jIGNvcmUuZW9sPSRjZW9sIGNoZWNrb3V0IC0tIGNybGZfZmFsc2VfYXR0cl9fJGYudHh0CiAJCWZpCiAJZG9uZQogCmRpZmYgLS1naXQgYS90L3QwMDI4LXdvcmtpbmctdHJlZS1lbmNvZGluZy5zaCBiL3QvdDAwMjgtd29ya2luZy10cmVlLWVuY29kaW5nLnNoCmluZGV4IDdlODdiNWEuLmJmYzRmYjkgMTAwNzU1Ci0tLSBhL3QvdDAwMjgtd29ya2luZy10cmVlLWVuY29kaW5nLnNoCisrKyBiL3QvdDAwMjgtd29ya2luZy10cmVlLWVuY29kaW5nLnNoCkBAIC02LDE0ICs2LDQxIEBACiAKIEdJVF9UUkFDRV9XT1JLSU5HX1RSRUVfRU5DT0RJTkc9MSAmJiBleHBvcnQgR0lUX1RSQUNFX1dPUktJTkdfVFJFRV9FTkNPRElORwogCit0ZXN0X2xhenlfcHJlcmVxIE5PX1VURjE2X0JPTSAnCisJdGVzdCAkKHByaW50ZiBhYmMgfCBpY29udiAtZiBVVEYtOCAtdCBVVEYtMTYgfCB3YyAtYykgPSA2CisnCisKK3Rlc3RfbGF6eV9wcmVyZXEgTk9fVVRGMzJfQk9NICcKKwl0ZXN0ICQocHJpbnRmIGFiYyB8IGljb252IC1mIFVURi04IC10IFVURi0zMiB8IHdjIC1jKSA9IDEyCisnCisKK3dyaXRlX3V0ZjE2ICgpIHsKKwlpZiB0ZXN0X2hhdmVfcHJlcmVxIE5PX1VURjE2X0JPTQorCXRoZW4KKwkJcHJpbnRmICdcMzc2XDM3NycKKwlmaSAmJgorCWljb252IC1mIFVURi04IC10IFVURi0xNgorfQorCit3cml0ZV91dGYzMiAoKSB7CisJaWYgdGVzdF9oYXZlX3ByZXJlcSBOT19VVEYzMl9CT00KKwl0aGVuCisJCXByaW50ZiAnXDBcMFwzNzZcMzc3JworCWZpICYmCisJaWNvbnYgLWYgVVRGLTggLXQgVVRGLTMyCit9CisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHRlc3QgZmlsZXMnICcKIAlnaXQgY29uZmlnIGNvcmUuZW9sIGxmICYmCiAKIAl0ZXh0PSJoYWxsbyB0aGVyZSFcbmNhbiB5b3UgcmVhZCBtZT8iICYmCiAJZWNobyAiKi51dGYxNiB0ZXh0IHdvcmtpbmctdHJlZS1lbmNvZGluZz11dGYtMTYiID4uZ2l0YXR0cmlidXRlcyAmJgorCWVjaG8gIioudXRmMTZsZWJvbSB0ZXh0IHdvcmtpbmctdHJlZS1lbmNvZGluZz1VVEYtMTZMRS1CT00iID4+LmdpdGF0dHJpYnV0ZXMgJiYKIAlwcmludGYgIiR0ZXh0IiA+dGVzdC51dGY4LnJhdyAmJgotCXByaW50ZiAiJHRleHQiIHwgaWNvbnYgLWYgVVRGLTggLXQgVVRGLTE2ID50ZXN0LnV0ZjE2LnJhdyAmJgotCXByaW50ZiAiJHRleHQiIHwgaWNvbnYgLWYgVVRGLTggLXQgVVRGLTMyID50ZXN0LnV0ZjMyLnJhdyAmJgorCXByaW50ZiAiJHRleHQiIHwgd3JpdGVfdXRmMTYgPnRlc3QudXRmMTYucmF3ICYmCisJcHJpbnRmICIkdGV4dCIgfCB3cml0ZV91dGYzMiA+dGVzdC51dGYzMi5yYXcgJiYKKwlwcmludGYgIlwzNzdcMzc2IiAgICAgICAgICAgICAgICAgICAgICAgICA+dGVzdC51dGYxNmxlYm9tLnJhdyAmJgorCXByaW50ZiAiJHRleHQiIHwgaWNvbnYgLWYgVVRGLTggLXQgVVRGLTE2TEUgPj50ZXN0LnV0ZjE2bGVib20ucmF3ICYmCiAKIAkjIExpbmUgZW5kaW5nIHRlc3RzCiAJcHJpbnRmICJvbmVcbnR3b1xudGhyZWVcbiIgPmxmLnV0ZjgucmF3ICYmCkBAIC0yMiwxNyArNDksMTggQEAKIAkjIEJPTSB0ZXN0cwogCXByaW50ZiAiXDBhXDBiXDBjIiAgICAgICAgICAgICAgICAgICAgICAgICA+bm9ib20udXRmMTZiZS5yYXcgJiYKIAlwcmludGYgImFcMGJcMGNcMCIgICAgICAgICAgICAgICAgICAgICAgICAgPm5vYm9tLnV0ZjE2bGUucmF3ICYmCi0JcHJpbnRmICJcMzc2XDc3N1wwYVwwYlwwYyIgICAgICAgICAgICAgICAgID5iZWJvbS51dGYxNmJlLnJhdyAmJgotCXByaW50ZiAiXDc3N1wzNzZhXDBiXDBjXDAiICAgICAgICAgICAgICAgICA+bGVib20udXRmMTZsZS5yYXcgJiYKKwlwcmludGYgIlwzNzZcMzc3XDBhXDBiXDBjIiAgICAgICAgICAgICAgICAgPmJlYm9tLnV0ZjE2YmUucmF3ICYmCisJcHJpbnRmICJcMzc3XDM3NmFcMGJcMGNcMCIgICAgICAgICAgICAgICAgID5sZWJvbS51dGYxNmxlLnJhdyAmJgogCXByaW50ZiAiXDBcMFwwYVwwXDBcMGJcMFwwXDBjIiAgICAgICAgICAgICA+bm9ib20udXRmMzJiZS5yYXcgJiYKIAlwcmludGYgImFcMFwwXDBiXDBcMFwwY1wwXDBcMCIgICAgICAgICAgICAgPm5vYm9tLnV0ZjMybGUucmF3ICYmCi0JcHJpbnRmICJcMFwwXDM3Nlw3NzdcMFwwXDBhXDBcMFwwYlwwXDBcMGMiID5iZWJvbS51dGYzMmJlLnJhdyAmJgotCXByaW50ZiAiXDc3N1wzNzZcMFwwYVwwXDBcMGJcMFwwXDBjXDBcMFwwIiA+bGVib20udXRmMzJsZS5yYXcgJiYKKwlwcmludGYgIlwwXDBcMzc2XDM3N1wwXDBcMGFcMFwwXDBiXDBcMFwwYyIgPmJlYm9tLnV0ZjMyYmUucmF3ICYmCisJcHJpbnRmICJcMzc3XDM3NlwwXDBhXDBcMFwwYlwwXDBcMGNcMFwwXDAiID5sZWJvbS51dGYzMmxlLnJhdyAmJgogCiAJIyBBZGQgb25seSBVVEYtMTYgZmlsZSwgd2Ugd2lsbCBhZGQgdGhlIFVURi0zMiBmaWxlIGxhdGVyCiAJY3AgdGVzdC51dGYxNi5yYXcgdGVzdC51dGYxNiAmJgogCWNwIHRlc3QudXRmMzIucmF3IHRlc3QudXRmMzIgJiYKLQlnaXQgYWRkIC5naXRhdHRyaWJ1dGVzIHRlc3QudXRmMTYgJiYKKwljcCB0ZXN0LnV0ZjE2bGVib20ucmF3IHRlc3QudXRmMTZsZWJvbSAmJgorCWdpdCBhZGQgLmdpdGF0dHJpYnV0ZXMgdGVzdC51dGYxNiB0ZXN0LnV0ZjE2bGVib20gJiYKIAlnaXQgY29tbWl0IC1tIGluaXRpYWwKICcKIApAQCAtNTEsNiArNzksMTIgQEAKIAl0ZXN0X2NtcF9iaW4gdGVzdC51dGYxNi5yYXcgdGVzdC51dGYxNgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZS1lbmNvZGUgdG8gVVRGLTE2LUxFLUJPTSBvbiBjaGVja291dCcgJworCXJtIHRlc3QudXRmMTZsZWJvbSAmJgorCWdpdCBjaGVja291dCB0ZXN0LnV0ZjE2bGVib20gJiYKKwl0ZXN0X2NtcF9iaW4gdGVzdC51dGYxNmxlYm9tLnJhdyB0ZXN0LnV0ZjE2bGVib20KKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgJEdJVF9ESVIvaW5mby9hdHRyaWJ1dGVzIHN1cHBvcnQnICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIHRlc3QudXRmMzIuZ2l0IiAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCBIRUFEIiAmJgpAQCAtMTE0LDggKzE0OCw4IEBACiAJCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgY3JsZi51dGYke2l9LnJhdyBsZi51dGYke2l9LnJhdyIgJiYKIAkJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkIEhFQUReIiAmJgogCi0JCWNhdCBsZi51dGY4LnJhdyB8IGljb252IC1mIFVURi04IC10IFVURi0ke2l9ID5sZi51dGYke2l9LnJhdyAmJgotCQljYXQgY3JsZi51dGY4LnJhdyB8IGljb252IC1mIFVURi04IC10IFVURi0ke2l9ID5jcmxmLnV0ZiR7aX0ucmF3ICYmCisJCWNhdCBsZi51dGY4LnJhdyB8IHdyaXRlX3V0ZiR7aX0gPmxmLnV0ZiR7aX0ucmF3ICYmCisJCWNhdCBjcmxmLnV0ZjgucmF3IHwgd3JpdGVfdXRmJHtpfSA+Y3JsZi51dGYke2l9LnJhdyAmJgogCQljcCBjcmxmLnV0ZiR7aX0ucmF3IGVvbC51dGYke2l9ICYmCiAKIAkJY2F0ID5leHBlY3RJbmRleExGIDw8LUVPRiAmJgpAQCAtMjEzLDcgKzI0Nyw3IEBACiAKIAl0ZXh0PSJoYWxsbyB0aGVyZSFcbnJvdW5kdHJpcCB0ZXN0IGhlcmUhIiAmJgogCXByaW50ZiAiJHRleHQiIHwgaWNvbnYgLWYgVVRGLTggLXQgU0hJRlQtSklTID5yb3VuZHRyaXAuc2hpZnQgJiYKLQlwcmludGYgIiR0ZXh0IiB8IGljb252IC1mIFVURi04IC10IFVURi0xNiA+cm91bmR0cmlwLnV0ZjE2ICYmCisJcHJpbnRmICIkdGV4dCIgfCB3cml0ZV91dGYxNiA+cm91bmR0cmlwLnV0ZjE2ICYmCiAJZWNobyAiKi5zaGlmdCB0ZXh0IHdvcmtpbmctdHJlZS1lbmNvZGluZz1TSElGVC1KSVMiID4+LmdpdGF0dHJpYnV0ZXMgJiYKIAogCSMgU0hJRlQtSklTIGVuY29kZWQgZmlsZXMgYXJlIHJvdW5kLXRyaXAgY2hlY2tlZCBieSBkZWZhdWx0Li4uCkBAIC0yNDYsNCArMjgwLDQzIEBACiAJZ2l0IHJlc2V0CiAnCiAKKyMgJDE6IGNoZWNrb3V0IGVuY29kaW5nCisjICQyOiB0ZXN0IHN0cmluZworIyAkMzogYmluYXJ5IHRlc3Qgc3RyaW5nIGluIGNoZWNrb3V0IGVuY29kaW5nCit0ZXN0X2NvbW1pdF91dGY4X2NoZWNrb3V0X290aGVyICgpIHsKKwllbmNvZGluZz0iJDEiCisJb3JpZ19zdHJpbmc9IiQyIgorCWV4cGVjdF9ieXRlcz0iJDMiCisKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICJDb21taXQgVVRGLTgsIGNoZWNrb3V0ICRlbmNvZGluZyIgJworCQl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBjaGVja291dCBIRUFEIC0tIC5naXRhdHRyaWJ1dGVzIiAmJgorCisJCXRlc3RfZXh0PSJjb21taXRfdXRmOF9jaGVja291dF8kZW5jb2RpbmciICYmCisJCXRlc3RfZmlsZT0idGVzdC4kdGVzdF9leHQiICYmCisKKwkJIyBDb21taXQgYXMgVVRGLTgKKwkJZWNobyAiKi4kdGVzdF9leHQgdGV4dCB3b3JraW5nLXRyZWUtZW5jb2Rpbmc9VVRGLTgiID4uZ2l0YXR0cmlidXRlcyAmJgorCQlwcmludGYgIiRvcmlnX3N0cmluZyIgPiR0ZXN0X2ZpbGUgJiYKKwkJZ2l0IGFkZCAkdGVzdF9maWxlICYmCisJCWdpdCBjb21taXQgLW0gIlRlc3QgZGF0YSIgJiYKKworCQkjIENoZWNrb3V0IGluIHRlc3RlZCBlbmNvZGluZworCQlybSAkdGVzdF9maWxlICYmCisJCWVjaG8gIiouJHRlc3RfZXh0IHRleHQgd29ya2luZy10cmVlLWVuY29kaW5nPSRlbmNvZGluZyIgPi5naXRhdHRyaWJ1dGVzICYmCisJCWdpdCBjaGVja291dCBIRUFEIC0tICR0ZXN0X2ZpbGUgJiYKKworCQkjIFRlc3QKKwkJcHJpbnRmICRleHBlY3RfYnl0ZXMgPiR0ZXN0X2ZpbGUucmF3ICYmCisJCXRlc3RfY21wX2JpbiAkdGVzdF9maWxlLnJhdyAkdGVzdF9maWxlCisJJworfQorCit0ZXN0X2NvbW1pdF91dGY4X2NoZWNrb3V0X290aGVyICJVVEYtOCIgICAgICAgICJUZXN0INCi0LXRgdGCIiAiXDEyNFwxNDVcMTYzXDE2NFwwNDBcMzIwXDI0MlwzMjBcMjY1XDMyMVwyMDFcMzIxXDIwMiIKK3Rlc3RfY29tbWl0X3V0ZjhfY2hlY2tvdXRfb3RoZXIgIlVURi0xNkxFIiAgICAgIlRlc3Qg0KLQtdGB0YIiICJcMTI0XDAwMFwxNDVcMDAwXDE2M1wwMDBcMTY0XDAwMFwwNDBcMDAwXDA0MlwwMDRcMDY1XDAwNFwxMDFcMDA0XDEwMlwwMDQiCit0ZXN0X2NvbW1pdF91dGY4X2NoZWNrb3V0X290aGVyICJVVEYtMTZCRSIgICAgICJUZXN0INCi0LXRgdGCIiAiXDAwMFwxMjRcMDAwXDE0NVwwMDBcMTYzXDAwMFwxNjRcMDAwXDA0MFwwMDRcMDQyXDAwNFwwNjVcMDA0XDEwMVwwMDRcMTAyIgordGVzdF9jb21taXRfdXRmOF9jaGVja291dF9vdGhlciAiVVRGLTE2TEUtQk9NIiAiVGVzdCDQotC10YHRgiIgIlwzNzdcMzc2XDEyNFwwMDBcMTQ1XDAwMFwxNjNcMDAwXDE2NFwwMDBcMDQwXDAwMFwwNDJcMDA0XDA2NVwwMDRcMTAxXDAwNFwxMDJcMDA0IgordGVzdF9jb21taXRfdXRmOF9jaGVja291dF9vdGhlciAiVVRGLTE2QkUtQk9NIiAiVGVzdCDQotC10YHRgiIgIlwzNzZcMzc3XDAwMFwxMjRcMDAwXDE0NVwwMDBcMTYzXDAwMFwxNjRcMDAwXDA0MFwwMDRcMDQyXDAwNFwwNjVcMDA0XDEwMVwwMDRcMTAyIgordGVzdF9jb21taXRfdXRmOF9jaGVja291dF9vdGhlciAiVVRGLTMyTEUiICAgICAiVGVzdCDQotC10YHRgiIgIlwxMjRcMDAwXDAwMFwwMDBcMTQ1XDAwMFwwMDBcMDAwXDE2M1wwMDBcMDAwXDAwMFwxNjRcMDAwXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDA0MlwwMDRcMDAwXDAwMFwwNjVcMDA0XDAwMFwwMDBcMTAxXDAwNFwwMDBcMDAwXDEwMlwwMDRcMDAwXDAwMCIKK3Rlc3RfY29tbWl0X3V0ZjhfY2hlY2tvdXRfb3RoZXIgIlVURi0zMkJFIiAgICAgIlRlc3Qg0KLQtdGB0YIiICJcMDAwXDAwMFwwMDBcMTI0XDAwMFwwMDBcMDAwXDE0NVwwMDBcMDAwXDAwMFwxNjNcMDAwXDAwMFwwMDBcMTY0XDAwMFwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwNFwwNDJcMDAwXDAwMFwwMDRcMDY1XDAwMFwwMDBcMDA0XDEwMVwwMDBcMDAwXDAwNFwxMDIiCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MDAzMC1zdHJpcHNwYWNlLnNoIGIvdC90MDAzMC1zdHJpcHNwYWNlLnNoCmluZGV4IDVjZTQ3ZTguLjBjMjRhMGYgMTAwNzU1Ci0tLSBhL3QvdDAwMzAtc3RyaXBzcGFjZS5zaAorKysgYi90L3QwMDMwLXN0cmlwc3BhY2Uuc2gKQEAgLTQzMCw5ICs0MzAsMTUgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy1jIHdpdGggY29tbWVudCBjaGFyIGRlZmluZWQgaW4gLmdpdC9jb25maWcnICcKIAl0ZXN0X2NvbmZpZyBjb3JlLmNvbW1lbnRjaGFyID0gJiYKIAlwcmludGYgIj0gZm9vXG4iID5leHBlY3QgJiYKLQlwcmludGYgImZvbyIgfCAoCi0JCW1rZGlyIHN1YiAmJiBjZCBzdWIgJiYgZ2l0IHN0cmlwc3BhY2UgLWMKLQkpID5hY3R1YWwgJiYKKwlybSAtZnIgc3ViICYmCisJbWtkaXIgc3ViICYmCisJcHJpbnRmICJmb28iIHwgZ2l0IC1DIHN1YiBzdHJpcHNwYWNlIC1jID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy1jIG91dHNpZGUgZ2l0IHJlcG9zaXRvcnknICcKKwlwcmludGYgIiMgZm9vXG4iID5leHBlY3QgJiYKKwlwcmludGYgImZvbyIgfCBub25naXQgZ2l0IHN0cmlwc3BhY2UgLWMgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIApkaWZmIC0tZ2l0IGEvdC90MDA0MC1wYXJzZS1vcHRpb25zLnNoIGIvdC90MDA0MC1wYXJzZS1vcHRpb25zLnNoCmluZGV4IGY1YjEwODYuLjM0ODNiNzIgMTAwNzU1Ci0tLSBhL3QvdDAwNDAtcGFyc2Utb3B0aW9ucy5zaAorKysgYi90L3QwMDQwLXBhcnNlLW9wdGlvbnMuc2gKQEAgLTIzLDYgKzIzLDggQEAKICAgICAtaiA8bj4gICAgICAgICAgICAgICAgZ2V0IGEgaW50ZWdlciwgdG9vCiAgICAgLW0sIC0tbWFnbml0dWRlIDxuPiAgIGdldCBhIG1hZ25pdHVkZQogICAgIC0tc2V0MjMgICAgICAgICAgICAgICBzZXQgaW50ZWdlciB0byAyMworICAgIC0tbW9kZTEgICAgICAgICAgICAgICBzZXQgaW50ZWdlciB0byAxIChjbWRtb2RlIG9wdGlvbikKKyAgICAtLW1vZGUyICAgICAgICAgICAgICAgc2V0IGludGVnZXIgdG8gMiAoY21kbW9kZSBvcHRpb24pCiAgICAgLUwsIC0tbGVuZ3RoIDxzdHI+ICAgIGdldCBsZW5ndGggb2YgPHN0cj4KICAgICAtRiwgLS1maWxlIDxmaWxlPiAgICAgc2V0IGZpbGUgdG8gPGZpbGU+CiAKQEAgLTQ4LDYgKzUwLDEyIEBACiAgICAgLXEsIC0tcXVpZXQgICAgICAgICAgIGJlIHF1aWV0CiAgICAgLS1leHBlY3QgPHN0cmluZz4gICAgIGV4cGVjdGVkIG91dHB1dCBpbiB0aGUgdmFyaWFibGUgZHVtcAogCitBbGlhcworICAgIC1BLCAtLWFsaWFzLXNvdXJjZSA8c3RyaW5nPgorICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQgYSBzdHJpbmcKKyAgICAtWiwgLS1hbGlhcy10YXJnZXQgPHN0cmluZz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0IGEgc3RyaW5nCisKIEVPRgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IGhlbHAnICcKQEAgLTIwMyw0MSArMjExLDU2IEBACiBFT0YKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndW5hbWJpZ3VvdXNseSBhYmJyZXZpYXRlZCBvcHRpb24nICcKKwlHSVRfVEVTVF9ESVNBTExPV19BQkJSRVZJQVRFRF9PUFRJT05TPWZhbHNlIFwKIAl0ZXN0LXRvb2wgcGFyc2Utb3B0aW9ucyAtLWludCAyIC0tYm9vbGVhbiAtLW5vLWJvID5vdXRwdXQgMj5vdXRwdXQuZXJyICYmCiAJdGVzdF9tdXN0X2JlX2VtcHR5IG91dHB1dC5lcnIgJiYKIAl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VuYW1iaWd1b3VzbHkgYWJicmV2aWF0ZWQgb3B0aW9uIHdpdGggIj0iJyAnCisJR0lUX1RFU1RfRElTQUxMT1dfQUJCUkVWSUFURURfT1BUSU9OUz1mYWxzZSBcCiAJdGVzdC10b29sIHBhcnNlLW9wdGlvbnMgLS1leHBlY3Q9ImludGVnZXI6IDIiIC0taW50PTIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYW1iaWd1b3VzbHkgYWJicmV2aWF0ZWQgb3B0aW9uJyAnCi0JdGVzdF9leHBlY3RfY29kZSAxMjkgdGVzdC10b29sIHBhcnNlLW9wdGlvbnMgLS1zdHJpbiAxMjMKKwl0ZXN0X2V4cGVjdF9jb2RlIDEyOSBlbnYgR0lUX1RFU1RfRElTQUxMT1dfQUJCUkVWSUFURURfT1BUSU9OUz1mYWxzZSBcCisJdGVzdC10b29sIHBhcnNlLW9wdGlvbnMgLS1zdHJpbiAxMjMKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbm9uIGFtYmlndW91cyBvcHRpb24gKGFmdGVyIHR3byBvcHRpb25zIGl0IGFiYnJldmlhdGVzKScgJworCUdJVF9URVNUX0RJU0FMTE9XX0FCQlJFVklBVEVEX09QVElPTlM9ZmFsc2UgXAogCXRlc3QtdG9vbCBwYXJzZS1vcHRpb25zIC0tZXhwZWN0PSJzdHJpbmc6IDEyMyIgLS1zdCAxMjMKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnQWxpYXMgb3B0aW9ucyBkbyBub3QgY29udHJpYnV0ZSB0byBhYmJyZXZpYXRpb24nICcKKwl0ZXN0LXRvb2wgcGFyc2Utb3B0aW9ucyAtLWFsaWFzLXNvdXJjZSAxMjMgPm91dHB1dCAmJgorCWdyZXAgIl5zdHJpbmc6IDEyMyIgb3V0cHV0ICYmCisJdGVzdC10b29sIHBhcnNlLW9wdGlvbnMgLS1hbGlhcy10YXJnZXQgMTIzID5vdXRwdXQgJiYKKwlncmVwICJec3RyaW5nOiAxMjMiIG91dHB1dCAmJgorCXRlc3RfbXVzdF9mYWlsIHRlc3QtdG9vbCBwYXJzZS1vcHRpb25zIC0tYWxpYXMgJiYKKwlHSVRfVEVTVF9ESVNBTExPV19BQkJSRVZJQVRFRF9PUFRJT05TPWZhbHNlIFwKKwl0ZXN0LXRvb2wgcGFyc2Utb3B0aW9ucyAtLWFsaWFzIDEyMyA+b3V0cHV0ICYmCisJZ3JlcCAiXnN0cmluZzogMTIzIiBvdXRwdXQKKycKKwogY2F0ID50eXBvLmVyciA8PFxFT0YKLWVycm9yOiBkaWQgeW91IG1lYW4gYC0tYm9vbGVhbmAgKHdpdGggdHdvIGRhc2hlcyA/KQorZXJyb3I6IGRpZCB5b3UgbWVhbiBgLS1ib29sZWFuYCAod2l0aCB0d28gZGFzaGVzKT8KIEVPRgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZXRlY3QgcG9zc2libGUgdHlwb3MnICcKIAl0ZXN0X211c3RfZmFpbCB0ZXN0LXRvb2wgcGFyc2Utb3B0aW9ucyAtYm9vbGVhbiA+b3V0cHV0IDI+b3V0cHV0LmVyciAmJgogCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXRwdXQgJiYKLQl0ZXN0X2NtcCB0eXBvLmVyciBvdXRwdXQuZXJyCisJdGVzdF9pMThuY21wIHR5cG8uZXJyIG91dHB1dC5lcnIKICcKIAogY2F0ID50eXBvLmVyciA8PFxFT0YKLWVycm9yOiBkaWQgeW91IG1lYW4gYC0tYW1iaWd1b3VzYCAod2l0aCB0d28gZGFzaGVzID8pCitlcnJvcjogZGlkIHlvdSBtZWFuIGAtLWFtYmlndW91c2AgKHdpdGggdHdvIGRhc2hlcyk/CiBFT0YKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGV0ZWN0IHBvc3NpYmxlIHR5cG9zJyAnCiAJdGVzdF9tdXN0X2ZhaWwgdGVzdC10b29sIHBhcnNlLW9wdGlvbnMgLWFtYmlndW91cyA+b3V0cHV0IDI+b3V0cHV0LmVyciAmJgogCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXRwdXQgJiYKLQl0ZXN0X2NtcCB0eXBvLmVyciBvdXRwdXQuZXJyCisJdGVzdF9pMThuY21wIHR5cG8uZXJyIG91dHB1dC5lcnIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAna2VlcCBzb21lIG9wdGlvbnMgYXMgYXJndW1lbnRzJyAnCkBAIC0zMDMsNiArMzI2LDIyIEBACiAJdGVzdC10b29sIHBhcnNlLW9wdGlvbnMgLS1leHBlY3Q9ImJvb2xlYW46IDYiIC1iYiAtLW5vLW5lZy1vcjQKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnT1BUX0NNRE1PREUoKSB3b3JrcycgJworCXRlc3QtdG9vbCBwYXJzZS1vcHRpb25zIC0tZXhwZWN0PSJpbnRlZ2VyOiAxIiAtLW1vZGUxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ09QVF9DTURNT0RFKCkgZGV0ZWN0cyBpbmNvbXBhdGliaWxpdHknICcKKwl0ZXN0X211c3RfZmFpbCB0ZXN0LXRvb2wgcGFyc2Utb3B0aW9ucyAtLW1vZGUxIC0tbW9kZTIgPm91dHB1dCAyPm91dHB1dC5lcnIgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgb3V0cHV0ICYmCisJdGVzdF9pMThuZ3JlcCAiaW5jb21wYXRpYmxlIHdpdGggLS1tb2RlIiBvdXRwdXQuZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ09QVF9DTURNT0RFKCkgZGV0ZWN0cyBpbmNvbXBhdGliaWxpdHkgd2l0aCBzb21ldGhpbmcgZWxzZScgJworCXRlc3RfbXVzdF9mYWlsIHRlc3QtdG9vbCBwYXJzZS1vcHRpb25zIC0tc2V0MjMgLS1tb2RlMiA+b3V0cHV0IDI+b3V0cHV0LmVyciAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXRwdXQgJiYKKwl0ZXN0X2kxOG5ncmVwICJpbmNvbXBhdGlibGUgd2l0aCBzb21ldGhpbmcgZWxzZSIgb3V0cHV0LmVycgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdPUFRfQ09VTlRVUCgpIHdpdGggUEFSU0VfT1BUX05PREFTSCB3b3JrcycgJwogCXRlc3QtdG9vbCBwYXJzZS1vcHRpb25zIC0tZXhwZWN0PSJib29sZWFuOiA2IiArICsgKyArICsgKwogJwpAQCAtMzI1LDYgKzM2NCw3IEBACiBFT0YKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbmVnYXRpb24gb2YgT1BUX05PTkVHIGZsYWdzIGlzIG5vdCBhbWJpZ3VvdXMnICcKKwlHSVRfVEVTVF9ESVNBTExPV19BQkJSRVZJQVRFRF9PUFRJT05TPWZhbHNlIFwKIAl0ZXN0LXRvb2wgcGFyc2Utb3B0aW9ucyAtLW5vLWFtYmlnID5vdXRwdXQgMj5vdXRwdXQuZXJyICYmCiAJdGVzdF9tdXN0X2JlX2VtcHR5IG91dHB1dC5lcnIgJiYKIAl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CkBAIC0zNzAsNCArNDEwLDE4IEBACiAJdGVzdC10b29sIHBhcnNlLW9wdGlvbnMgLS1leHBlY3Q9InZlcmJvc2U6IDAiIC12IC12IC12IC0tbm8tdmVyYm9zZQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdHSVRfVEVTVF9ESVNBTExPV19BQkJSRVZJQVRFRF9PUFRJT05TIHdvcmtzJyAnCisJR0lUX1RFU1RfRElTQUxMT1dfQUJCUkVWSUFURURfT1BUSU9OUz1mYWxzZSBcCisJCXRlc3QtdG9vbCBwYXJzZS1vcHRpb25zIC0teWUgJiYKKwl0ZXN0X211c3RfZmFpbCBlbnYgR0lUX1RFU1RfRElTQUxMT1dfQUJCUkVWSUFURURfT1BUSU9OUz10cnVlIFwKKwkJdGVzdC10b29sIHBhcnNlLW9wdGlvbnMgLS15ZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLWVuZC1vZi1vcHRpb25zIHRyZWF0cyByZW1haW5kZXIgYXMgYXJncycgJworCXRlc3QtdG9vbCBwYXJzZS1vcHRpb25zIFwKKwkgICAgLS1leHBlY3Q9InZlcmJvc2U6IC0xIiBcCisJICAgIC0tZXhwZWN0PSJhcmcgMDA6IC0tdmVyYm9zZSIgXAorCSAgICAtLWVuZC1vZi1vcHRpb25zIC0tdmVyYm9zZQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDAwNTAtZmlsZXN5c3RlbS5zaCBiL3QvdDAwNTAtZmlsZXN5c3RlbS5zaAppbmRleCAxOTJjOTRlLi42MDg2NzNmIDEwMDc1NQotLS0gYS90L3QwMDUwLWZpbGVzeXN0ZW0uc2gKKysrIGIvdC90MDA1MC1maWxlc3lzdGVtLnNoCkBAIC0xMzEsNCArMTMxLDI0IEBACiAJZ2l0IG1lcmdlIHRvcGljCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgQ0FTRV9JTlNFTlNJVElWRV9GUyAnY2hlY2tvdXQgd2l0aCBubyBwYXRoc3BlYyBhbmQgYSBjYXNlIGluc2Vuc2l0aXZlIGZzJyAnCisJZ2l0IGluaXQgcmVwbyAmJgorCSgKKwkJY2QgcmVwbyAmJgorCisJCT5HaXR3ZWIgJiYKKwkJZ2l0IGFkZCBHaXR3ZWIgJiYKKwkJZ2l0IGNvbW1pdCAtbSAiYWRkIEdpdHdlYiIgJiYKKworCQlnaXQgY2hlY2tvdXQgLS1vcnBoYW4gdG9kbyAmJgorCQlnaXQgcmVzZXQgLS1oYXJkICYmCisJCW1rZGlyIC1wIGdpdHdlYi9zdWJkaXIgJiYKKwkJPmdpdHdlYi9zdWJkaXIvZmlsZSAmJgorCQlnaXQgYWRkIGdpdHdlYiAmJgorCQlnaXQgY29tbWl0IC1tICJhZGQgZ2l0d2ViL3N1YmRpci9maWxlIiAmJgorCisJCWdpdCBjaGVja291dCBtYXN0ZXIKKwkpCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MDA2MC1wYXRoLXV0aWxzLnNoIGIvdC90MDA2MC1wYXRoLXV0aWxzLnNoCmluZGV4IGIxOTNlZDQuLjJlYTJkMDAgMTAwNzU1Ci0tLSBhL3QvdDAwNjAtcGF0aC11dGlscy5zaAorKysgYi90L3QwMDYwLXBhdGgtdXRpbHMuc2gKQEAgLTI5NCw5ICsyOTQsMTMgQEAKIHRlc3RfZ2l0X3BhdGggR0lUX09CSkVDVF9ESVJFQ1RPUlk9Zm9vIG9iamVjdHMyIC5naXQvb2JqZWN0czIKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGNvbW1vbiByZXBvc2l0b3J5JyAnZ2l0IC0tZ2l0LWRpcj1iYXIgaW5pdCcKIHRlc3RfZ2l0X3BhdGggR0lUX0NPTU1PTl9ESVI9YmFyIGluZGV4ICAgICAgICAgICAgICAgICAgICAuZ2l0L2luZGV4Cit0ZXN0X2dpdF9wYXRoIEdJVF9DT01NT05fRElSPWJhciBpbmRleC5sb2NrICAgICAgICAgICAgICAgLmdpdC9pbmRleC5sb2NrCiB0ZXN0X2dpdF9wYXRoIEdJVF9DT01NT05fRElSPWJhciBIRUFEICAgICAgICAgICAgICAgICAgICAgLmdpdC9IRUFECiB0ZXN0X2dpdF9wYXRoIEdJVF9DT01NT05fRElSPWJhciBsb2dzL0hFQUQgICAgICAgICAgICAgICAgLmdpdC9sb2dzL0hFQUQKK3Rlc3RfZ2l0X3BhdGggR0lUX0NPTU1PTl9ESVI9YmFyIGxvZ3MvSEVBRC5sb2NrICAgICAgICAgICAuZ2l0L2xvZ3MvSEVBRC5sb2NrCiB0ZXN0X2dpdF9wYXRoIEdJVF9DT01NT05fRElSPWJhciBsb2dzL3JlZnMvYmlzZWN0L2ZvbyAgICAgLmdpdC9sb2dzL3JlZnMvYmlzZWN0L2ZvbwordGVzdF9naXRfcGF0aCBHSVRfQ09NTU9OX0RJUj1iYXIgbG9ncy9yZWZzICAgICAgICAgICAgICAgIGJhci9sb2dzL3JlZnMKK3Rlc3RfZ2l0X3BhdGggR0lUX0NPTU1PTl9ESVI9YmFyIGxvZ3MvcmVmcy8gICAgICAgICAgICAgICBiYXIvbG9ncy9yZWZzLwogdGVzdF9naXRfcGF0aCBHSVRfQ09NTU9OX0RJUj1iYXIgbG9ncy9yZWZzL2Jpc2VjL2ZvbyAgICAgIGJhci9sb2dzL3JlZnMvYmlzZWMvZm9vCiB0ZXN0X2dpdF9wYXRoIEdJVF9DT01NT05fRElSPWJhciBsb2dzL3JlZnMvYmlzZWMgICAgICAgICAgYmFyL2xvZ3MvcmVmcy9iaXNlYwogdGVzdF9naXRfcGF0aCBHSVRfQ09NTU9OX0RJUj1iYXIgbG9ncy9yZWZzL2Jpc2VjdGZvbyAgICAgIGJhci9sb2dzL3JlZnMvYmlzZWN0Zm9vCkBAIC00NjUsMTEgKzQ2OSwxNCBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIE1JTkdXICdpc192YWxpZF9wYXRoKCkgb24gV2luZG93cycgJwotICAgICAgIHRlc3QtdG9vbCBwYXRoLXV0aWxzIGlzX3ZhbGlkX3BhdGggXAorCXRlc3QtdG9vbCBwYXRoLXV0aWxzIGlzX3ZhbGlkX3BhdGggXAogCQl3aW4zMiBcCiAJCSJ3aW4zMiB4IiBcCiAJCS4uL2hlbGxvLnR4dCBcCiAJCUM6XFxnaXQgXAorCQljb21tIFwKKwkJY29ub3V0LmMgXAorCQlscHROIFwKIAkJXAogCQktLW5vdCBcCiAJCSJ3aW4zMiAiICBcCkBAIC00NzcsNyArNDg0LDEzIEBACiAJCSJ3aW4zMi4iICBcCiAJCSJ3aW4zMiAuIC4iIFwKIAkJLi4uL2hlbGxvLnR4dCBcCi0JCWNvbG9uOnRlc3QKKwkJY29sb246dGVzdCBcCisJCSJBVVguYyIgXAorCQkiYWJjL2Nvbk91dFwkICAueHl6L3Rlc3QiIFwKKwkJbHB0OCBcCisJCSJscHQqIiBcCisJCU51bCBcCisJCSJQUk4uL2FiYyIKICcKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QwMDYxLXJ1bi1jb21tYW5kLnNoIGIvdC90MDA2MS1ydW4tY29tbWFuZC5zaAppbmRleCA5NmJmNmQ2Li43ZDU5OTY3IDEwMDc1NQotLS0gYS90L3QwMDYxLXJ1bi1jb21tYW5kLnNoCisrKyBiL3QvdDAwNjEtcnVuLWNvbW1hbmQuc2gKQEAgLTEyLDYgKzEyLDEwIEBACiAJY2F0IGhlbGxvLXNjcmlwdAogRU9GCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgTUlOR1cgJ3N1YnByb2Nlc3MgaW5oZXJpdHMgb25seSBzdGQgaGFuZGxlcycgJworCXRlc3QtdG9vbCBydW4tY29tbWFuZCBpbmhlcml0ZWQtaGFuZGxlCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXJ0X2NvbW1hbmQgcmVwb3J0cyBFTk9FTlQgKHNsYXNoKScgJwogCXRlc3QtdG9vbCBydW4tY29tbWFuZCBzdGFydC1jb21tYW5kLUVOT0VOVCAuL2RvZXMtbm90LWV4aXN0IDI+ZXJyICYmCiAJdGVzdF9pMThuZ3JlcCAiXC4vZG9lcy1ub3QtZXhpc3QiIGVycgpAQCAtMzEsNyArMzUsMTUgQEAKIAl0ZXN0X211c3RfYmVfZW1wdHkgZXJyCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3J1bl9jb21tYW5kIGlzIHJlc3RyaWN0ZWQgdG8gUEFUSCcgJworCit0ZXN0X2xhenlfcHJlcmVxIFJVTlNfQ09NTUFORFNfRlJPTV9QV0QgJworCXdyaXRlX3NjcmlwdCBydW5zLWNvbW1hbmRzLWZyb20tcHdkIDw8LVxFT0YgJiYKKwl0cnVlCisJRU9GCisJcnVucy1jb21tYW5kcy1mcm9tLXB3ZCA+L2Rldi9udWxsIDI+JjEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAhUlVOU19DT01NQU5EU19GUk9NX1BXRCAncnVuX2NvbW1hbmQgaXMgcmVzdHJpY3RlZCB0byBQQVRIJyAnCiAJd3JpdGVfc2NyaXB0IHNob3VsZC1ub3QtcnVuIDw8LVxFT0YgJiYKIAllY2hvIHlpa2VzCiAJRU9GCkBAIC0xNTgsNyArMTcwLDggQEAKIAlleHBlY3Q9IiQxIgogCXNoaWZ0CiAJR0lUX1RSQUNFPTEgdGVzdC10b29sIHJ1bi1jb21tYW5kICIkQCIgcnVuLWNvbW1hbmQgdHJ1ZSAyPiYxID4vZGV2L251bGwgfCBcCi0JCXNlZCAtZSAncy8uKiBydW5fY29tbWFuZDogLy8nIC1lICcvdHJhY2U6IC4qL2QnID5hY3R1YWwgJiYKKwkJc2VkIC1lICdzLy4qIHJ1bl9jb21tYW5kOiAvLycgLWUgJy90cmFjZTogLiovZCcgXAorCQkJLWUgJy9SVU5USU1FX1BSRUZJWCByZXF1ZXN0ZWQvZCcgPmFjdHVhbCAmJgogCWVjaG8gIiRleHBlY3QgdHJ1ZSIgPmV4cGVjdCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKIH0KQEAgLTE5MSw0ICsyMDQsMzMgQEAKIAkpCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgTUlOR1cgJ3ZlcmlmeSBjdXJsaWVzIGFyZSBxdW90ZWQgcHJvcGVybHknICcKKwk6IGZvcmNlIHRoZSByZXYtcGFyc2UgdGhyb3VnaCB0aGUgTVNZUzIgQmFzaCAmJgorCWdpdCAtYyBhbGlhcy5yPSIhZ2l0IHJldi1wYXJzZSIgciAtLSBhe2J9YyA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCS0tCisJYXtifWMKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgTUlOR1cgJ2NhbiBzcGF3biAuYmF0IHdpdGggYXJndlswXSBjb250YWluaW5nIHNwYWNlcycgJworCWJhdD0iJFRSQVNIX0RJUkVDVE9SWS9iYXQgd2l0aCBzcGFjZXMgaW4gbmFtZS5iYXQiICYmCisKKwkjIEV2ZXJ5IC5iYXQgaW52b2NhdGlvbiB3aWxsIGxvZyBpdHMgYXJndW1lbnRzIHRvIGZpbGUgIm91dCIKKwlybSAtZiBvdXQgJiYKKwllY2hvICJlY2hvICUqID4+b3V0IiA+IiRiYXQiICYmCisKKwkjIEFzayBnaXQgdG8gaW52b2tlIC5iYXQ7IGNsb25lIHdpbGwgZmFpbCBkdWUgdG8gZmFrZSBTU0ggaGVscGVyCisJdGVzdF9tdXN0X2ZhaWwgZW52IEdJVF9TU0g9IiRiYXQiIGdpdCBjbG9uZSBteWhvc3Q6c3JjIHNzaC1jbG9uZSAmJgorCisJIyBTcGF3bmluZyAuYmF0IGNhbiBmYWlsIGlmIHRoZXJlIGFyZSB0d28gcXVvdGVkIGNtZC5leGUgYXJndW1lbnRzLgorCSMgLmJhdCBpdHNlbGYgaXMgZmlyc3QgKGR1ZSB0byBzcGFjZXMgaW4gbmFtZSksIHNvIGp1c3Qgb25lIG1vcmUgaXMKKwkjIG5lZWRlZCB0byB2ZXJpZnkuIEdJVF9TU0ggd2lsbCBpbnZva2UgLmJhdCBtdWx0aXBsZSB0aW1lczoKKwkjIDEpIC1HIG15aG9zdAorCSMgMikgbXlob3N0ICJnaXQtdXBsb2FkLXBhY2sgc3JjIgorCSMgRmlyc3QgaW52b2NhdGlvbiB3aWxsIGFsd2F5cyBzdWNjZWVkLiBUZXN0IHRoZSBzZWNvbmQgb25lLgorCWdyZXAgImdpdC11cGxvYWQtcGFjayIgb3V0CisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MDA2Ni1kaXItaXRlcmF0b3Iuc2ggYi90L3QwMDY2LWRpci1pdGVyYXRvci5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MjkxMGU0Ci0tLSAvZGV2L251bGwKKysrIGIvdC90MDA2Ni1kaXItaXRlcmF0b3Iuc2gKQEAgLTAsMCArMSwxNDggQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdUZXN0IHRoZSBkaXItaXRlcmF0b3IgZnVuY3Rpb25hbGl0eScKKworLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJbWtkaXIgLXAgZGlyICYmCisJbWtkaXIgLXAgZGlyL2EvYi9jLyAmJgorCT5kaXIvYiAmJgorCT5kaXIvYyAmJgorCW1rZGlyIC1wIGRpci9kL2UvZC8gJiYKKwk+ZGlyL2EvYi9jL2QgJiYKKwk+ZGlyL2EvZSAmJgorCT5kaXIvZC9lL2QvYSAmJgorCisJbWtkaXIgLXAgZGlyMi9hL2IvYy8gJiYKKwk+ZGlyMi9hL2IvYy9kCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Rpci1pdGVyYXRvciBzaG91bGQgaXRlcmF0ZSB0aHJvdWdoIGFsbCBmaWxlcycgJworCWNhdCA+ZXhwZWN0ZWQtaXRlcmF0aW9uLXNvcnRlZC1vdXRwdXQgPDwtRU9GICYmCisJW2RdIChhKSBbYV0gLi9kaXIvYQorCVtkXSAoYS9iKSBbYl0gLi9kaXIvYS9iCisJW2RdIChhL2IvYykgW2NdIC4vZGlyL2EvYi9jCisJW2RdIChkKSBbZF0gLi9kaXIvZAorCVtkXSAoZC9lKSBbZV0gLi9kaXIvZC9lCisJW2RdIChkL2UvZCkgW2RdIC4vZGlyL2QvZS9kCisJW2ZdIChhL2IvYy9kKSBbZF0gLi9kaXIvYS9iL2MvZAorCVtmXSAoYS9lKSBbZV0gLi9kaXIvYS9lCisJW2ZdIChiKSBbYl0gLi9kaXIvYgorCVtmXSAoYykgW2NdIC4vZGlyL2MKKwlbZl0gKGQvZS9kL2EpIFthXSAuL2Rpci9kL2UvZC9hCisJRU9GCisKKwl0ZXN0LXRvb2wgZGlyLWl0ZXJhdG9yIC4vZGlyID5vdXQgJiYKKwlzb3J0IG91dCA+Li9hY3R1YWwtaXRlcmF0aW9uLXNvcnRlZC1vdXRwdXQgJiYKKworCXRlc3RfY21wIGV4cGVjdGVkLWl0ZXJhdGlvbi1zb3J0ZWQtb3V0cHV0IGFjdHVhbC1pdGVyYXRpb24tc29ydGVkLW91dHB1dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaXItaXRlcmF0b3Igc2hvdWxkIGxpc3QgZmlsZXMgaW4gdGhlIGNvcnJlY3Qgb3JkZXInICcKKwljYXQgPmV4cGVjdGVkLXByZS1vcmRlci1vdXRwdXQgPDwtRU9GICYmCisJW2RdIChhKSBbYV0gLi9kaXIyL2EKKwlbZF0gKGEvYikgW2JdIC4vZGlyMi9hL2IKKwlbZF0gKGEvYi9jKSBbY10gLi9kaXIyL2EvYi9jCisJW2ZdIChhL2IvYy9kKSBbZF0gLi9kaXIyL2EvYi9jL2QKKwlFT0YKKworCXRlc3QtdG9vbCBkaXItaXRlcmF0b3IgLi9kaXIyID5hY3R1YWwtcHJlLW9yZGVyLW91dHB1dCAmJgorCisJdGVzdF9jbXAgZXhwZWN0ZWQtcHJlLW9yZGVyLW91dHB1dCBhY3R1YWwtcHJlLW9yZGVyLW91dHB1dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdiZWdpbiBzaG91bGQgZmFpbCB1cG9uIGluZXhpc3RlbnQgcGF0aHMnICcKKwl0ZXN0X211c3RfZmFpbCB0ZXN0LXRvb2wgZGlyLWl0ZXJhdG9yIC4vaW5leGlzdGVudC1wYXRoIFwKKwkJPmFjdHVhbC1pbmV4aXN0ZW50LXBhdGgtb3V0cHV0ICYmCisJZWNobyAiZGlyX2l0ZXJhdG9yX2JlZ2luIGZhaWx1cmU6IEVOT0VOVCIgPmV4cGVjdGVkLWluZXhpc3RlbnQtcGF0aC1vdXRwdXQgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZC1pbmV4aXN0ZW50LXBhdGgtb3V0cHV0IGFjdHVhbC1pbmV4aXN0ZW50LXBhdGgtb3V0cHV0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JlZ2luIHNob3VsZCBmYWlsIHVwb24gbm9uIGRpcmVjdG9yeSBwYXRocycgJworCXRlc3RfbXVzdF9mYWlsIHRlc3QtdG9vbCBkaXItaXRlcmF0b3IgLi9kaXIvYiA+YWN0dWFsLW5vbi1kaXItb3V0cHV0ICYmCisJZWNobyAiZGlyX2l0ZXJhdG9yX2JlZ2luIGZhaWx1cmU6IEVOT1RESVIiID5leHBlY3RlZC1ub24tZGlyLW91dHB1dCAmJgorCXRlc3RfY21wIGV4cGVjdGVkLW5vbi1kaXItb3V0cHV0IGFjdHVhbC1ub24tZGlyLW91dHB1dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBPU0lYUEVSTSxTQU5JVFkgJ2FkdmFuY2Ugc2hvdWxkIG5vdCBmYWlsIG9uIGVycm9ycyBieSBkZWZhdWx0JyAnCisJY2F0ID5leHBlY3RlZC1uby1wZXJtaXNzaW9ucy1vdXRwdXQgPDwtRU9GICYmCisJW2RdIChhKSBbYV0gLi9kaXIzL2EKKwlFT0YKKworCW1rZGlyIC1wIGRpcjMvYSAmJgorCT5kaXIzL2EvYiAmJgorCWNobW9kIDAgZGlyMy9hICYmCisKKwl0ZXN0LXRvb2wgZGlyLWl0ZXJhdG9yIC4vZGlyMyA+YWN0dWFsLW5vLXBlcm1pc3Npb25zLW91dHB1dCAmJgorCXRlc3RfY21wIGV4cGVjdGVkLW5vLXBlcm1pc3Npb25zLW91dHB1dCBhY3R1YWwtbm8tcGVybWlzc2lvbnMtb3V0cHV0ICYmCisJY2htb2QgNzU1IGRpcjMvYSAmJgorCXJtIC1yZiBkaXIzCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUE9TSVhQRVJNLFNBTklUWSAnYWR2YW5jZSBzaG91bGQgZmFpbCBvbiBlcnJvcnMsIHcvIHBlZGFudGljIGZsYWcnICcKKwljYXQgPmV4cGVjdGVkLW5vLXBlcm1pc3Npb25zLXBlZGFudGljLW91dHB1dCA8PC1FT0YgJiYKKwlbZF0gKGEpIFthXSAuL2RpcjMvYQorCWRpcl9pdGVyYXRvcl9hZHZhbmNlIGZhaWx1cmUKKwlFT0YKKworCW1rZGlyIC1wIGRpcjMvYSAmJgorCT5kaXIzL2EvYiAmJgorCWNobW9kIDAgZGlyMy9hICYmCisKKwl0ZXN0X211c3RfZmFpbCB0ZXN0LXRvb2wgZGlyLWl0ZXJhdG9yIC0tcGVkYW50aWMgLi9kaXIzIFwKKwkJPmFjdHVhbC1uby1wZXJtaXNzaW9ucy1wZWRhbnRpYy1vdXRwdXQgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZC1uby1wZXJtaXNzaW9ucy1wZWRhbnRpYy1vdXRwdXQgXAorCQlhY3R1YWwtbm8tcGVybWlzc2lvbnMtcGVkYW50aWMtb3V0cHV0ICYmCisJY2htb2QgNzU1IGRpcjMvYSAmJgorCXJtIC1yZiBkaXIzCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgU1lNTElOS1MgJ3NldHVwIGRpcnMgd2l0aCBzeW1saW5rcycgJworCW1rZGlyIC1wIGRpcjQvYSAmJgorCW1rZGlyIC1wIGRpcjQvYi9jICYmCisJPmRpcjQvYS9kICYmCisJbG4gLXMgZCBkaXI0L2EvZSAmJgorCWxuIC1zIC4uL2IgZGlyNC9hL2YgJiYKKworCW1rZGlyIC1wIGRpcjUvYS9iICYmCisJbWtkaXIgLXAgZGlyNS9hL2MgJiYKKwlsbiAtcyAuLi9jIGRpcjUvYS9iL2QgJiYKKwlsbiAtcyAuLi8gZGlyNS9hL2IvZSAmJgorCWxuIC1zIC4uLy4uLyBkaXI1L2EvYi9mCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgU1lNTElOS1MgJ2Rpci1pdGVyYXRvciBzaG91bGQgbm90IGZvbGxvdyBzeW1saW5rcyBieSBkZWZhdWx0JyAnCisJY2F0ID5leHBlY3RlZC1uby1mb2xsb3ctc29ydGVkLW91dHB1dCA8PC1FT0YgJiYKKwlbZF0gKGEpIFthXSAuL2RpcjQvYQorCVtkXSAoYikgW2JdIC4vZGlyNC9iCisJW2RdIChiL2MpIFtjXSAuL2RpcjQvYi9jCisJW2ZdIChhL2QpIFtkXSAuL2RpcjQvYS9kCisJW3NdIChhL2UpIFtlXSAuL2RpcjQvYS9lCisJW3NdIChhL2YpIFtmXSAuL2RpcjQvYS9mCisJRU9GCisKKwl0ZXN0LXRvb2wgZGlyLWl0ZXJhdG9yIC4vZGlyNCA+b3V0ICYmCisJc29ydCBvdXQgPmFjdHVhbC1uby1mb2xsb3ctc29ydGVkLW91dHB1dCAmJgorCisJdGVzdF9jbXAgZXhwZWN0ZWQtbm8tZm9sbG93LXNvcnRlZC1vdXRwdXQgYWN0dWFsLW5vLWZvbGxvdy1zb3J0ZWQtb3V0cHV0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgU1lNTElOS1MgJ2Rpci1pdGVyYXRvciBzaG91bGQgZm9sbG93IHN5bWxpbmtzIHcvIGZvbGxvdyBmbGFnJyAnCisJY2F0ID5leHBlY3RlZC1mb2xsb3ctc29ydGVkLW91dHB1dCA8PC1FT0YgJiYKKwlbZF0gKGEpIFthXSAuL2RpcjQvYQorCVtkXSAoYS9mKSBbZl0gLi9kaXI0L2EvZgorCVtkXSAoYS9mL2MpIFtjXSAuL2RpcjQvYS9mL2MKKwlbZF0gKGIpIFtiXSAuL2RpcjQvYgorCVtkXSAoYi9jKSBbY10gLi9kaXI0L2IvYworCVtmXSAoYS9kKSBbZF0gLi9kaXI0L2EvZAorCVtmXSAoYS9lKSBbZV0gLi9kaXI0L2EvZQorCUVPRgorCisJdGVzdC10b29sIGRpci1pdGVyYXRvciAtLWZvbGxvdy1zeW1saW5rcyAuL2RpcjQgPm91dCAmJgorCXNvcnQgb3V0ID5hY3R1YWwtZm9sbG93LXNvcnRlZC1vdXRwdXQgJiYKKworCXRlc3RfY21wIGV4cGVjdGVkLWZvbGxvdy1zb3J0ZWQtb3V0cHV0IGFjdHVhbC1mb2xsb3ctc29ydGVkLW91dHB1dAorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDAwNjctcGFyc2VfcGF0aHNwZWNfZmlsZS5zaCBiL3QvdDAwNjctcGFyc2VfcGF0aHNwZWNfZmlsZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YmFiNDlmCi0tLSAvZGV2L251bGwKKysrIGIvdC90MDA2Ny1wYXJzZV9wYXRoc3BlY19maWxlLnNoCkBAIC0wLDAgKzEsMTA4IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nVGVzdCBwYXJzZV9wYXRoc3BlY19maWxlKCknCisKKy4gLi90ZXN0LWxpYi5zaAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdvbmUgaXRlbSBmcm9tIHN0ZGluJyAnCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCWZpbGVBLnQKKwlFT0YKKworCWVjaG8gZmlsZUEudCB8CisJdGVzdC10b29sIHBhcnNlLXBhdGhzcGVjLWZpbGUgLS1wYXRoc3BlYy1mcm9tLWZpbGU9LSA+YWN0dWFsICYmCisKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ29uZSBpdGVtIGZyb20gZmlsZScgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlmaWxlQS50CisJRU9GCisKKwllY2hvIGZpbGVBLnQgPmxpc3QgJiYKKwl0ZXN0LXRvb2wgcGFyc2UtcGF0aHNwZWMtZmlsZSAtLXBhdGhzcGVjLWZyb20tZmlsZT1saXN0ID5hY3R1YWwgJiYKKworCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnTlVMIGRlbGltaXRlcnMnICcKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJZmlsZUEudAorCWZpbGVCLnQKKwlFT0YKKworCXByaW50ZiAiZmlsZUEudFwwZmlsZUIudFwwIiB8CisJdGVzdC10b29sIHBhcnNlLXBhdGhzcGVjLWZpbGUgLS1wYXRoc3BlYy1mcm9tLWZpbGU9LSAtLXBhdGhzcGVjLWZpbGUtbnVsID5hY3R1YWwgJiYKKworCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnTEYgZGVsaW1pdGVycycgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlmaWxlQS50CisJZmlsZUIudAorCUVPRgorCisJcHJpbnRmICJmaWxlQS50XG5maWxlQi50XG4iIHwKKwl0ZXN0LXRvb2wgcGFyc2UtcGF0aHNwZWMtZmlsZSAtLXBhdGhzcGVjLWZyb20tZmlsZT0tID5hY3R1YWwgJiYKKworCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm8gdHJhaWxpbmcgZGVsaW1pdGVyJyAnCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCWZpbGVBLnQKKwlmaWxlQi50CisJRU9GCisKKwlwcmludGYgImZpbGVBLnRcbmZpbGVCLnQiIHwKKwl0ZXN0LXRvb2wgcGFyc2UtcGF0aHNwZWMtZmlsZSAtLXBhdGhzcGVjLWZyb20tZmlsZT0tID5hY3R1YWwgJiYKKworCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnQ1JMRiBkZWxpbWl0ZXJzJyAnCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCWZpbGVBLnQKKwlmaWxlQi50CisJRU9GCisKKwlwcmludGYgImZpbGVBLnRcclxuZmlsZUIudFxyXG4iIHwKKwl0ZXN0LXRvb2wgcGFyc2UtcGF0aHNwZWMtZmlsZSAtLXBhdGhzcGVjLWZyb20tZmlsZT0tID5hY3R1YWwgJiYKKworCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncXVvdGVzJyAnCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCWZpbGVBLnQKKwlFT0YKKworCWNhdCA+bGlzdCA8PC1cRU9GICYmCisJImZpbGVcMTAxLnQiCisJRU9GCisKKwl0ZXN0LXRvb2wgcGFyc2UtcGF0aHNwZWMtZmlsZSAtLXBhdGhzcGVjLWZyb20tZmlsZT1saXN0ID5hY3R1YWwgJiYKKworCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1wYXRoc3BlYy1maWxlLW51bCB0YWtlcyBxdW90ZXMgbGl0ZXJhbGx5JyAnCisJIyBOb3RlOiB0aGVyZSBpcyBhbiBleHRyYSBuZXdsaW5lIGJlY2F1c2UgLS1wYXRoc3BlYy1maWxlLW51bCB0YWtlcworCSMgaW5wdXQgXG4gbGl0ZXJhbGx5LCB0b28KKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJImZpbGVcMTAxLnQiCisKKwlFT0YKKworCWNhdCA+bGlzdCA8PC1cRU9GICYmCisJImZpbGVcMTAxLnQiCisJRU9GCisKKwl0ZXN0LXRvb2wgcGFyc2UtcGF0aHNwZWMtZmlsZSAtLXBhdGhzcGVjLWZyb20tZmlsZT1saXN0IC0tcGF0aHNwZWMtZmlsZS1udWwgPmFjdHVhbCAmJgorCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDAwOTAtY2FjaGUtdHJlZS5zaCBiL3QvdDAwOTAtY2FjaGUtdHJlZS5zaAppbmRleCA1MDQzMzRlLi41YTYzMzY5IDEwMDc1NQotLS0gYS90L3QwMDkwLWNhY2hlLXRyZWUuc2gKKysrIGIvdC90MDA5MC1jYWNoZS10cmVlLnNoCkBAIC0yMSw5ICsyMSwxMCBAQAogCXBhcmVudD0iJDIiICYmCiAJIyBscy1maWxlcyBtaWdodCBoYXZlIGZvby9iYXIsIGZvby9iYXIvYmF6LCBhbmQgZm9vL2Jhci9xdXV4CiAJIyBXZSB3YW50IHRvIGNvdW50IG9ubHkgZm9vIGJlY2F1c2UgaXQncyB0aGUgb25seSBkaXJlY3QgY2hpbGQKLQlzdWJ0cmVlcz0kKGdpdCBscy1maWxlc3xncmVwIC98Y3V0IC1kIC8gLWYgMXx1bmlxKSAmJgorCWdpdCBscy1maWxlcyA+ZmlsZXMgJiYKKwlzdWJ0cmVlcz0kKGdyZXAgLyBmaWxlc3xjdXQgLWQgLyAtZiAxfHVuaXEpICYmCiAJc3VidHJlZV9jb3VudD0kKGVjaG8gIiRzdWJ0cmVlcyJ8YXdrIC12IGM9MCAnJDEgIT0gIiIgeysrY30gRU5EIHtwcmludCBjfScpICYmCi0JZW50cmllcz0kKGdpdCBscy1maWxlc3x3YyAtbCkgJiYKKwllbnRyaWVzPSQod2MgLWwgPGZpbGVzKSAmJgogCXByaW50ZiAiU0hBICRkaXIgKCVkIGVudHJpZXMsICVkIHN1YnRyZWVzKVxuIiAiJGVudHJpZXMiICIkc3VidHJlZV9jb3VudCIgJiYKIAlmb3Igc3VidHJlZSBpbiAkc3VidHJlZXMKIAlkbwpAQCAtMTYyLDggKzE2Myw4IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnY29tbWl0IC1wIHdpdGggc2hyaW5raW5nIGNhY2hlLXRyZWUnICcKLQlta2RpciAtcCBkZWVwL3N1YmRpciAmJgotCWVjaG8gY29udGVudCA+ZGVlcC9zdWJkaXIvZmlsZSAmJgorCW1rZGlyIC1wIGRlZXAvdmVyeS1sb25nLXN1YmRpciAmJgorCWVjaG8gY29udGVudCA+ZGVlcC92ZXJ5LWxvbmctc3ViZGlyL2ZpbGUgJiYKIAlnaXQgYWRkIGRlZXAgJiYKIAlnaXQgY29tbWl0IC1tIGFkZCAmJgogCWdpdCBybSAtciBkZWVwICYmCmRpZmYgLS1naXQgYS90L3QwMjA1LWdldHRleHQtcG9pc29uLnNoIGIvdC90MDIwNS1nZXR0ZXh0LXBvaXNvbi5zaAppbmRleCBhMDYyNjlmLi5mOWZhMTZhIDEwMDc1NQotLS0gYS90L3QwMjA1LWdldHRleHQtcG9pc29uLnNoCisrKyBiL3QvdDAyMDUtZ2V0dGV4dC1wb2lzb24uc2gKQEAgLTUsNyArNSw3IEBACiAKIHRlc3RfZGVzY3JpcHRpb249J0dldHRleHQgU2hlbGwgcG9pc29uJwogCi1HSVRfVEVTVF9HRVRURVhUX1BPSVNPTj1ZZXNQbGVhc2UKK0dJVF9URVNUX0dFVFRFWFRfUE9JU09OPXRydWUKIGV4cG9ydCBHSVRfVEVTVF9HRVRURVhUX1BPSVNPTgogLiAuL2xpYi1nZXR0ZXh0LnNoCiAKQEAgLTMxLDQgKzMxLDkgQEAKICAgICB0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgImdldHRleHQ6IGludmFsaWQgR0lUX1RFU1RfR0VUVEVYVF9QT0lTT04gdmFsdWUgZG9lc24ndCBpbmZpbml0ZWx5IGxvb3AiICIKKwl0ZXN0X211c3RfZmFpbCBlbnYgR0lUX1RFU1RfR0VUVEVYVF9QT0lTT049eHl6IGdpdCB2ZXJzaW9uIDI+ZXJyb3IgJiYKKwlncmVwIFwiZmF0YWw6IGJhZCBudW1lcmljIGNvbmZpZyB2YWx1ZSAneHl6JyBmb3IgJ0dJVF9URVNUX0dFVFRFWFRfUE9JU09OJzogaW52YWxpZCB1bml0XCIgZXJyb3IKKyIKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QwMjEwLXRyYWNlMi1ub3JtYWwuc2ggYi90L3QwMjEwLXRyYWNlMi1ub3JtYWwuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2U3NTc0ZQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDAyMTAtdHJhY2UyLW5vcm1hbC5zaApAQCAtMCwwICsxLDE4OSBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J3Rlc3QgdHJhY2UyIGZhY2lsaXR5IChub3JtYWwgdGFyZ2V0KScKKy4gLi90ZXN0LWxpYi5zaAorCisjIFR1cm4gb2ZmIGFueSBpbmhlcml0ZWQgdHJhY2UyIHNldHRpbmdzIGZvciB0aGlzIHRlc3QuCitzYW5lX3Vuc2V0IEdJVF9UUkFDRTIgR0lUX1RSQUNFMl9QRVJGIEdJVF9UUkFDRTJfRVZFTlQKK3NhbmVfdW5zZXQgR0lUX1RSQUNFMl9CUklFRgorc2FuZV91bnNldCBHSVRfVFJBQ0UyX0NPTkZJR19QQVJBTVMKKworIyBBZGQgdC9oZWxwZXIgZGlyZWN0b3J5IHRvIFBBVEggc28gdGhhdCB3ZSBjYW4gdXNlIGEgcmVsYXRpdmUKKyMgcGF0aCB0byBydW4gbmVzdGVkIGluc3RhbmNlcyBvZiB0ZXN0LXRvb2wuZXhlIChzZWUgMDA0Y2hpbGQpLgorIyBUaGlzIGhlbHBzIHdpdGggSEVSRURPQyBjb21wYXJpc29ucyBsYXRlci4KK1RURElSPSIkR0lUX0JVSUxEX0RJUi90L2hlbHBlci8iICYmIGV4cG9ydCBUVERJUgorUEFUSD0iJFRURElSOiRQQVRIIiAmJiBleHBvcnQgUEFUSAorCisjIFdhcm5pbmc6IHVzZSBvZiAndGVzdF9jbXAnIG1heSBydW4gdGVzdC10b29sLmV4ZSBhbmQvb3IgZ2l0LmV4ZQorIyBXYXJuaW5nOiB0byBkbyB0aGUgYWN0dWFsIGRpZmYvY29tcGFyaXNvbiwgc28gdGhlIEhFUkVET0NzIGhlcmUKKyMgV2FybmluZzogb25seSBjb3ZlciBvdXIgYWN0dWFsIGNhbGxzIHRvIHRlc3QtdG9vbCBhbmQvb3IgZ2l0LgorIyBXYXJuaW5nOiBTbyB5b3UgbWF5IHNlZSBleHRyYSBsaW5lcyBpbiBhcnRpZmFjdCBmaWxlcyB3aGVuCisjIFdhcm5pbmc6IGludGVyYWN0aXZlbHkgZGVidWdnaW5nLgorCitWPSQoZ2l0IHZlcnNpb24gfCBzZWQgLWUgJ3MvXmdpdCB2ZXJzaW9uIC8vJykgJiYgZXhwb3J0IFYKKworIyBUaGVyZSBhcmUgbXVsdGlwbGUgdHJhY2UyIHRhcmdldHM6IG5vcm1hbCwgcGVyZiwgYW5kIGV2ZW50LgorIyBUcmFjZTIgZXZlbnRzIHdpbGwvY2FuIGJlIHdyaXR0ZW4gdG8gZWFjaCBhY3RpdmUgdGFyZ2V0IChzdWJqZWN0CisjIHRvIHdoYXRldmVyIGZpbHRlcmluZyB0aGF0IHRhcmdldCBkZWNpZGVzIHRvIGRvKS4KKyMgVGhpcyBzY3JpcHQgdGVzdHMgdGhlIG5vcm1hbCB0YXJnZXQgaW4gaXNvbGF0aW9uLgorIworIyBEZWZlciBzZXR0aW5nIEdJVF9UUkFDRTIgdW50aWwgdGhlIGFjdHVhbCBjb21tYW5kIGxpbmUgd2Ugd2FudCB0byB0ZXN0CisjIGJlY2F1c2UgaGlkZGVuIGdpdCBhbmQgdGVzdC10b29sIGNvbW1hbmRzIHJ1biBieSB0aGUgdGVzdCBoYXJuZXNzCisjIGNhbiBjb250YW1pbmF0ZSBvdXIgb3V0cHV0LgorCisjIEVuYWJsZSAiYnJpZWYiIGZlYXR1cmUgd2hpY2ggdHVybnMgb2ZmICI8Y2xvY2s+IDxmaWxlPjo8bGluZT4gIiBwcmVmaXguCitHSVRfVFJBQ0UyX0JSSUVGPTEgJiYgZXhwb3J0IEdJVF9UUkFDRTJfQlJJRUYKKworIyBCYXNpYyB0ZXN0cyBvZiB0aGUgdHJhY2UyIG5vcm1hbCBzdHJlYW0uICBTaW5jZSB0aGlzIHN0cmVhbSBpcyB1c2VkCisjIHByaW1hcmlseSB3aXRoIHByaW50Zi1zdHlsZSBkZWJ1Z2dpbmcvdHJhY2luZywgd2UgZG8gbGltaXRlZCB0ZXN0aW5nCisjIGhlcmUuCisjCisjIFdlIGRvIGNvbmZpcm0gdGhlIGZvbGxvd2luZyBBUEkgZmVhdHVyZXM6CisjIFtdIHRoZSAndmVyc2lvbiA8dj4nIGV2ZW50CisjIFtdIHRoZSAnc3RhcnQgPGFyZ3Y+JyBldmVudAorIyBbXSB0aGUgJ2NtZF9uYW1lIDxuYW1lPicgZXZlbnQKKyMgW10gdGhlICdleGl0IDx0aW1lPiBjb2RlOjxjb2RlPicgZXZlbnQKKyMgW10gdGhlICdhdGV4aXQgPHRpbWU+IGNvZGU6PGNvZGU+JyBldmVudAorIworIyBGaWVsZHMgb2YgdGhlIGZvcm0gX0ZJRUxEXyBhcmUgdG9rZW5zIHRoYXQgaGF2ZSBiZWVuIHJlcGxhY2VkIChzdWNoCisjIGFzIHRoZSBlbGFwc2VkIHRpbWUpLgorCisjIFZlcmIgMDAxcmV0dXJuCisjCisjIEltcGxpY2l0IHJldHVybiBmcm9tIGNtZF88dmVyYj4gZnVuY3Rpb24gcHJvcGFnYXRlcyA8Y29kZT4uCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vcm1hbCBzdHJlYW0sIHJldHVybiBjb2RlIDAnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIHRyYWNlLm5vcm1hbCBhY3R1YWwgZXhwZWN0IiAmJgorCUdJVF9UUkFDRTI9IiQocHdkKS90cmFjZS5ub3JtYWwiIHRlc3QtdG9vbCB0cmFjZTIgMDAxcmV0dXJuIDAgJiYKKwlwZXJsICIkVEVTVF9ESVJFQ1RPUlkvdDAyMTAvc2NydWJfbm9ybWFsLnBlcmwiIDx0cmFjZS5ub3JtYWwgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCQl2ZXJzaW9uICRWCisJCXN0YXJ0IF9FWEVfIHRyYWNlMiAwMDFyZXR1cm4gMAorCQljbWRfbmFtZSB0cmFjZTIgKHRyYWNlMikKKwkJZXhpdCBlbGFwc2VkOl9USU1FXyBjb2RlOjAKKwkJYXRleGl0IGVsYXBzZWQ6X1RJTUVfIGNvZGU6MAorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm9ybWFsIHN0cmVhbSwgcmV0dXJuIGNvZGUgMScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gdHJhY2Uubm9ybWFsIGFjdHVhbCBleHBlY3QiICYmCisJdGVzdF9tdXN0X2ZhaWwgZW52IEdJVF9UUkFDRTI9IiQocHdkKS90cmFjZS5ub3JtYWwiIHRlc3QtdG9vbCB0cmFjZTIgMDAxcmV0dXJuIDEgJiYKKwlwZXJsICIkVEVTVF9ESVJFQ1RPUlkvdDAyMTAvc2NydWJfbm9ybWFsLnBlcmwiIDx0cmFjZS5ub3JtYWwgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCQl2ZXJzaW9uICRWCisJCXN0YXJ0IF9FWEVfIHRyYWNlMiAwMDFyZXR1cm4gMQorCQljbWRfbmFtZSB0cmFjZTIgKHRyYWNlMikKKwkJZXhpdCBlbGFwc2VkOl9USU1FXyBjb2RlOjEKKwkJYXRleGl0IGVsYXBzZWQ6X1RJTUVfIGNvZGU6MQorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYXV0b21hdGljIGZpbGVuYW1lJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtciB0cmFjZXMgYWN0dWFsIGV4cGVjdCIgJiYKKwlta2RpciB0cmFjZXMgJiYKKwlHSVRfVFJBQ0UyPSIkKHB3ZCkvdHJhY2VzIiB0ZXN0LXRvb2wgdHJhY2UyIDAwMXJldHVybiAwICYmCisJcGVybCAiJFRFU1RfRElSRUNUT1JZL3QwMjEwL3NjcnViX25vcm1hbC5wZXJsIiA8IiQobHMgdHJhY2VzLyopIiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJCXZlcnNpb24gJFYKKwkJc3RhcnQgX0VYRV8gdHJhY2UyIDAwMXJldHVybiAwCisJCWNtZF9uYW1lIHRyYWNlMiAodHJhY2UyKQorCQlleGl0IGVsYXBzZWQ6X1RJTUVfIGNvZGU6MAorCQlhdGV4aXQgZWxhcHNlZDpfVElNRV8gY29kZTowCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCisjIFZlcmIgMDAyZXhpdAorIworIyBFeHBsaWNpdCBleGl0KGNvZGUpIGZyb20gd2l0aGluIGNtZF88dmVyYj4gcHJvcGFnYXRlcyA8Y29kZT4uCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vcm1hbCBzdHJlYW0sIGV4aXQgY29kZSAwJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSB0cmFjZS5ub3JtYWwgYWN0dWFsIGV4cGVjdCIgJiYKKwlHSVRfVFJBQ0UyPSIkKHB3ZCkvdHJhY2Uubm9ybWFsIiB0ZXN0LXRvb2wgdHJhY2UyIDAwMmV4aXQgMCAmJgorCXBlcmwgIiRURVNUX0RJUkVDVE9SWS90MDIxMC9zY3J1Yl9ub3JtYWwucGVybCIgPHRyYWNlLm5vcm1hbCA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJCXZlcnNpb24gJFYKKwkJc3RhcnQgX0VYRV8gdHJhY2UyIDAwMmV4aXQgMAorCQljbWRfbmFtZSB0cmFjZTIgKHRyYWNlMikKKwkJZXhpdCBlbGFwc2VkOl9USU1FXyBjb2RlOjAKKwkJYXRleGl0IGVsYXBzZWQ6X1RJTUVfIGNvZGU6MAorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm9ybWFsIHN0cmVhbSwgZXhpdCBjb2RlIDEnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIHRyYWNlLm5vcm1hbCBhY3R1YWwgZXhwZWN0IiAmJgorCXRlc3RfbXVzdF9mYWlsIGVudiBHSVRfVFJBQ0UyPSIkKHB3ZCkvdHJhY2Uubm9ybWFsIiB0ZXN0LXRvb2wgdHJhY2UyIDAwMmV4aXQgMSAmJgorCXBlcmwgIiRURVNUX0RJUkVDVE9SWS90MDIxMC9zY3J1Yl9ub3JtYWwucGVybCIgPHRyYWNlLm5vcm1hbCA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJCXZlcnNpb24gJFYKKwkJc3RhcnQgX0VYRV8gdHJhY2UyIDAwMmV4aXQgMQorCQljbWRfbmFtZSB0cmFjZTIgKHRyYWNlMikKKwkJZXhpdCBlbGFwc2VkOl9USU1FXyBjb2RlOjEKKwkJYXRleGl0IGVsYXBzZWQ6X1RJTUVfIGNvZGU6MQorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKworIyBWZXJiIDAwM2Vycm9yCisjCisjIFRvIHRoZSBhYm92ZSwgYWRkIG11bHRpcGxlICdlcnJvciA8bXNnPicgZXZlbnRzCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vcm1hbCBzdHJlYW0sIGVycm9yIGV2ZW50JyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSB0cmFjZS5ub3JtYWwgYWN0dWFsIGV4cGVjdCIgJiYKKwlHSVRfVFJBQ0UyPSIkKHB3ZCkvdHJhY2Uubm9ybWFsIiB0ZXN0LXRvb2wgdHJhY2UyIDAwM2Vycm9yICJoZWxsbyB3b3JsZCIgInRoaXMgaXMgYSB0ZXN0IiAmJgorCXBlcmwgIiRURVNUX0RJUkVDVE9SWS90MDIxMC9zY3J1Yl9ub3JtYWwucGVybCIgPHRyYWNlLm5vcm1hbCA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJCXZlcnNpb24gJFYKKwkJc3RhcnQgX0VYRV8gdHJhY2UyIDAwM2Vycm9yICdcJydoZWxsbyB3b3JsZCdcJycgJ1wnJ3RoaXMgaXMgYSB0ZXN0J1wnJworCQljbWRfbmFtZSB0cmFjZTIgKHRyYWNlMikKKwkJZXJyb3IgaGVsbG8gd29ybGQKKwkJZXJyb3IgdGhpcyBpcyBhIHRlc3QKKwkJZXhpdCBlbGFwc2VkOl9USU1FXyBjb2RlOjAKKwkJYXRleGl0IGVsYXBzZWQ6X1RJTUVfIGNvZGU6MAorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKworc2FuZV91bnNldCBHSVRfVFJBQ0UyX0JSSUVGCisKKyMgTm93IHRlc3Qgd2l0aG91dCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYW5kIGdldCBhbGwgVHJhY2UyIHNldHRpbmdzCisjIGZyb20gdGhlIGdsb2JhbCBjb25maWcuCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VzaW5nIGdsb2JhbCBjb25maWcsIG5vcm1hbCBzdHJlYW0sIHJldHVybiBjb2RlIDAnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIHRyYWNlLm5vcm1hbCBhY3R1YWwgZXhwZWN0IiAmJgorCXRlc3RfY29uZmlnX2dsb2JhbCB0cmFjZTIubm9ybWFsQnJpZWYgMSAmJgorCXRlc3RfY29uZmlnX2dsb2JhbCB0cmFjZTIubm9ybWFsVGFyZ2V0ICIkKHB3ZCkvdHJhY2Uubm9ybWFsIiAmJgorCXRlc3QtdG9vbCB0cmFjZTIgMDAxcmV0dXJuIDAgJiYKKwlwZXJsICIkVEVTVF9ESVJFQ1RPUlkvdDAyMTAvc2NydWJfbm9ybWFsLnBlcmwiIDx0cmFjZS5ub3JtYWwgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCQl2ZXJzaW9uICRWCisJCXN0YXJ0IF9FWEVfIHRyYWNlMiAwMDFyZXR1cm4gMAorCQljbWRfbmFtZSB0cmFjZTIgKHRyYWNlMikKKwkJZXhpdCBlbGFwc2VkOl9USU1FXyBjb2RlOjAKKwkJYXRleGl0IGVsYXBzZWQ6X1RJTUVfIGNvZGU6MAorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndXNpbmcgZ2xvYmFsIGNvbmZpZyB3aXRoIGluY2x1ZGUnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIHRyYWNlLm5vcm1hbCBhY3R1YWwgZXhwZWN0IHJlYWwuZ2l0Y29uZmlnIiAmJgorCXRlc3RfY29uZmlnX2dsb2JhbCB0cmFjZTIubm9ybWFsQnJpZWYgMSAmJgorCXRlc3RfY29uZmlnX2dsb2JhbCB0cmFjZTIubm9ybWFsVGFyZ2V0ICIkKHB3ZCkvdHJhY2Uubm9ybWFsIiAmJgorCW12ICIkKHB3ZCkvLmdpdGNvbmZpZyIgIiQocHdkKS9yZWFsLmdpdGNvbmZpZyIgJiYKKwl0ZXN0X2NvbmZpZ19nbG9iYWwgaW5jbHVkZS5wYXRoICIkKHB3ZCkvcmVhbC5naXRjb25maWciICYmCisJdGVzdC10b29sIHRyYWNlMiAwMDFyZXR1cm4gMCAmJgorCXBlcmwgIiRURVNUX0RJUkVDVE9SWS90MDIxMC9zY3J1Yl9ub3JtYWwucGVybCIgPHRyYWNlLm5vcm1hbCA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJCXZlcnNpb24gJFYKKwkJc3RhcnQgX0VYRV8gdHJhY2UyIDAwMXJldHVybiAwCisJCWNtZF9uYW1lIHRyYWNlMiAodHJhY2UyKQorCQlleGl0IGVsYXBzZWQ6X1RJTUVfIGNvZGU6MAorCQlhdGV4aXQgZWxhcHNlZDpfVElNRV8gY29kZTowCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDAyMTAvc2NydWJfbm9ybWFsLnBlcmwgYi90L3QwMjEwL3NjcnViX25vcm1hbC5wZXJsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NWQxYTgKLS0tIC9kZXYvbnVsbAorKysgYi90L3QwMjEwL3NjcnViX25vcm1hbC5wZXJsCkBAIC0wLDAgKzEsNDggQEAKKyMhL3Vzci9iaW4vcGVybAorIworIyBTY3J1YiB0aGUgdmFyaWFibGUgZmllbGRzIGZyb20gdGhlIG5vcm1hbCB0cmFjZTIgb3V0cHV0IHRvCisjIG1ha2UgdGVzdGluZyBlYXNpZXIuCisKK3VzZSBzdHJpY3Q7Cit1c2Ugd2FybmluZ3M7CisKK215ICRmbG9hdCA9ICdbMC05XSpcLlswLTldKyhbZUVdWy0rXT9bMC05XSspPyc7CisKKyMgVGhpcyBjb2RlIGFzc3VtZXMgdGhhdCB0aGUgdHJhY2UyIGRhdGEgd2FzIHdyaXR0ZW4gd2l0aCBiYXJlCisjIHR1cm5lZCBvbiAod2hpY2ggb21pdHMgdGhlICI8Y2xvY2s+IDxmaWxlPjo8bGluZT4iIHByZWZpeC4KKword2hpbGUgKDw+KSB7CisgICAgIyBWYXJpb3VzIG1lc3NhZ2VzIGluY2x1ZGUgYW4gZWxhcHNlZCB0aW1lIGluIHRoZSBtaWRkbGUKKyAgICAjIG9mIHRoZSBtZXNzYWdlLiAgUmVwbGFjZSB0aGUgdGltZSB3aXRoIGEgcGxhY2Vob2xkZXIgdG8KKyAgICAjIHNpbXBsaWZ5IG91ciBIRVJFRE9DIGluIHRoZSB0ZXN0IHNjcmlwdC4KKyAgICBzL2VsYXBzZWQ6JGZsb2F0L2VsYXBzZWQ6X1RJTUVfL2c7CisKKyAgICBteSAkbGluZSA9ICRfOworCisgICAgIyB3ZSBleHBlY3Q6CisgICAgIyAgICBzdGFydCA8YXJndjA+IFs8YXJndjE+IFs8YXJndjI+IFsuLi5dXV0KKyAgICAjCisgICAgIyB3aGVyZSBhcmd2MCBtaWdodCBiZSBhIHJlbGF0aXZlIG9yIGFic29sdXRlIHBhdGgsIHdpdGgKKyAgICAjIG9yIHdpdGhvdXQgcXVvdGVzLCBhbmQgcGxhdGZvcm0gZGVwZW5kZW50LiAgUmVwbGFjZSBhcmd2MAorICAgICMgd2l0aCBhIHRva2VuIGZvciBIRVJFRE9DIG1hdGNoaW5nIGluIHRoZSB0ZXN0IHNjcmlwdC4KKworICAgIGlmICgkbGluZSA9fiBtL15zdGFydC8pIHsKKwkkbGluZSA9fiAvXnN0YXJ0XHMrKC4qKS87CisJbXkgJGFyZ3YgPSAkMTsKKwkkYXJndiA9fiBtLyhcJ1teXCddKlwnfFteIF0rKVxzKyguKikvOworCW15ICRhcmd2XzAgPSAkMTsKKwlteSAkYXJndl9yZXN0ID0gJDI7CisKKwlwcmludCAic3RhcnQgX0VYRV8gJGFyZ3ZfcmVzdFxuIjsKKyAgICB9CisgICAgZWxzaWYgKCRsaW5lID1+IG0vXmNtZF9wYXRoLykgeworCSMgTGlrZXdpc2UsIHRoZSAnY21kX3BhdGgnIG1lc3NhZ2UgYnJlYWtzIG91dCBhcmd2WzBdLgorCSMKKwkjIFRoaXMgbGluZSBpcyBvbmx5IGVtaXR0ZWQgd2hlbiBSVU5USU1FX1BSRUZJWCBpcyBkZWZpbmVkLAorCSMgc28ganVzdCBvbWl0IGl0IGZvciB0ZXN0aW5nIHB1cnBvc2VzLgorCSMgcHJpbnQgImNtZF9wYXRoIF9FWEVfXG4iOworICAgIH0KKyAgICBlbHNlIHsKKwlwcmludCAiJGxpbmUiOworICAgIH0KK30KZGlmZiAtLWdpdCBhL3QvdDAyMTEtdHJhY2UyLXBlcmYuc2ggYi90L3QwMjExLXRyYWNlMi1wZXJmLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZlZThlZTMKLS0tIC9kZXYvbnVsbAorKysgYi90L3QwMjExLXRyYWNlMi1wZXJmLnNoCkBAIC0wLDAgKzEsMTc0IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ndGVzdCB0cmFjZTIgZmFjaWxpdHkgKHBlcmYgdGFyZ2V0KScKKy4gLi90ZXN0LWxpYi5zaAorCisjIFR1cm4gb2ZmIGFueSBpbmhlcml0ZWQgdHJhY2UyIHNldHRpbmdzIGZvciB0aGlzIHRlc3QuCitzYW5lX3Vuc2V0IEdJVF9UUkFDRTIgR0lUX1RSQUNFMl9QRVJGIEdJVF9UUkFDRTJfRVZFTlQKK3NhbmVfdW5zZXQgR0lUX1RSQUNFMl9QRVJGX0JSSUVGCitzYW5lX3Vuc2V0IEdJVF9UUkFDRTJfQ09ORklHX1BBUkFNUworCisjIEFkZCB0L2hlbHBlciBkaXJlY3RvcnkgdG8gUEFUSCBzbyB0aGF0IHdlIGNhbiB1c2UgYSByZWxhdGl2ZQorIyBwYXRoIHRvIHJ1biBuZXN0ZWQgaW5zdGFuY2VzIG9mIHRlc3QtdG9vbC5leGUgKHNlZSAwMDRjaGlsZCkuCisjIFRoaXMgaGVscHMgd2l0aCBIRVJFRE9DIGNvbXBhcmlzb25zIGxhdGVyLgorVFRESVI9IiRHSVRfQlVJTERfRElSL3QvaGVscGVyLyIgJiYgZXhwb3J0IFRURElSCitQQVRIPSIkVFRESVI6JFBBVEgiICYmIGV4cG9ydCBQQVRICisKKyMgV2FybmluZzogdXNlIG9mICd0ZXN0X2NtcCcgbWF5IHJ1biB0ZXN0LXRvb2wuZXhlIGFuZC9vciBnaXQuZXhlCisjIFdhcm5pbmc6IHRvIGRvIHRoZSBhY3R1YWwgZGlmZi9jb21wYXJpc29uLCBzbyB0aGUgSEVSRURPQ3MgaGVyZQorIyBXYXJuaW5nOiBvbmx5IGNvdmVyIG91ciBhY3R1YWwgY2FsbHMgdG8gdGVzdC10b29sIGFuZC9vciBnaXQuCisjIFdhcm5pbmc6IFNvIHlvdSBtYXkgc2VlIGV4dHJhIGxpbmVzIGluIGFydGlmYWN0IGZpbGVzIHdoZW4KKyMgV2FybmluZzogaW50ZXJhY3RpdmVseSBkZWJ1Z2dpbmcuCisKK1Y9JChnaXQgdmVyc2lvbiB8IHNlZCAtZSAncy9eZ2l0IHZlcnNpb24gLy8nKSAmJiBleHBvcnQgVgorCisjIFRoZXJlIGFyZSBtdWx0aXBsZSB0cmFjZTIgdGFyZ2V0czogbm9ybWFsLCBwZXJmLCBhbmQgZXZlbnQuCisjIFRyYWNlMiBldmVudHMgd2lsbC9jYW4gYmUgd3JpdHRlbiB0byBlYWNoIGFjdGl2ZSB0YXJnZXQgKHN1YmplY3QKKyMgdG8gd2hhdGV2ZXIgZmlsdGVyaW5nIHRoYXQgdGFyZ2V0IGRlY2lkZXMgdG8gZG8pLgorIyBUZXN0IGVhY2ggdGFyZ2V0IGluZGVwZW5kZW50bHkuCisjCisjIERlZmVyIHNldHRpbmcgR0lUX1RSQUNFMl9QRVJGIHVudGlsIHRoZSBhY3R1YWwgY29tbWFuZCB3ZSB3YW50IHRvCisjIHRlc3QgYmVjYXVzZSBoaWRkZW4gZ2l0IGFuZCB0ZXN0LXRvb2wgY29tbWFuZHMgaW4gdGhlIHRlc3QKKyMgaGFybmVzcyBjYW4gY29udGFtaW5hdGUgb3VyIG91dHB1dC4KKworIyBFbmFibGUgImJyaWVmIiBmZWF0dXJlIHdoaWNoIHR1cm5zIG9mZiB0aGUgcHJlZml4OgorIyAgICAgIjxjbG9jaz4gPGZpbGU+OjxsaW5lPiB8IDxucl9wYXJlbnRzPiB8ICIKK0dJVF9UUkFDRTJfUEVSRl9CUklFRj0xICYmIGV4cG9ydCBHSVRfVFJBQ0UyX1BFUkZfQlJJRUYKKworIyBSZXBlYXQgc29tZSBvZiB0aGUgdDAyMTAgdGVzdHMgdXNpbmcgdGhlIHBlcmYgdGFyZ2V0IHN0cmVhbSBpbnN0ZWFkIG9mCisjIHRoZSBub3JtYWwgc3RyZWFtLgorIworIyBUb2tlbnMgaGVyZSBvZiB0aGUgZm9ybSBfRklFTERfIGhhdmUgYmVlbiByZXBsYWNlZCBpbiB0aGUgb2JzZXJ2ZWQgb3V0cHV0LgorCisjIFZlcmIgMDAxcmV0dXJuCisjCisjIEltcGxpY2l0IHJldHVybiBmcm9tIGNtZF88dmVyYj4gZnVuY3Rpb24gcHJvcGFnYXRlcyA8Y29kZT4uCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BlcmYgc3RyZWFtLCByZXR1cm4gY29kZSAwJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSB0cmFjZS5wZXJmIGFjdHVhbCBleHBlY3QiICYmCisJR0lUX1RSQUNFMl9QRVJGPSIkKHB3ZCkvdHJhY2UucGVyZiIgdGVzdC10b29sIHRyYWNlMiAwMDFyZXR1cm4gMCAmJgorCXBlcmwgIiRURVNUX0RJUkVDVE9SWS90MDIxMS9zY3J1Yl9wZXJmLnBlcmwiIDx0cmFjZS5wZXJmID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkJZDB8bWFpbnx2ZXJzaW9ufHx8fHwkVgorCQlkMHxtYWlufHN0YXJ0fHxfVF9BQlNffHx8X0VYRV8gdHJhY2UyIDAwMXJldHVybiAwCisJCWQwfG1haW58Y21kX25hbWV8fHx8fHRyYWNlMiAodHJhY2UyKQorCQlkMHxtYWlufGV4aXR8fF9UX0FCU198fHxjb2RlOjAKKwkJZDB8bWFpbnxhdGV4aXR8fF9UX0FCU198fHxjb2RlOjAKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BlcmYgc3RyZWFtLCByZXR1cm4gY29kZSAxJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSB0cmFjZS5wZXJmIGFjdHVhbCBleHBlY3QiICYmCisJdGVzdF9tdXN0X2ZhaWwgZW52IEdJVF9UUkFDRTJfUEVSRj0iJChwd2QpL3RyYWNlLnBlcmYiIHRlc3QtdG9vbCB0cmFjZTIgMDAxcmV0dXJuIDEgJiYKKwlwZXJsICIkVEVTVF9ESVJFQ1RPUlkvdDAyMTEvc2NydWJfcGVyZi5wZXJsIiA8dHJhY2UucGVyZiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJCWQwfG1haW58dmVyc2lvbnx8fHx8JFYKKwkJZDB8bWFpbnxzdGFydHx8X1RfQUJTX3x8fF9FWEVfIHRyYWNlMiAwMDFyZXR1cm4gMQorCQlkMHxtYWlufGNtZF9uYW1lfHx8fHx0cmFjZTIgKHRyYWNlMikKKwkJZDB8bWFpbnxleGl0fHxfVF9BQlNffHx8Y29kZToxCisJCWQwfG1haW58YXRleGl0fHxfVF9BQlNffHx8Y29kZToxCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCisjIFZlcmIgMDAzZXJyb3IKKyMKKyMgVG8gdGhlIGFib3ZlLCBhZGQgbXVsdGlwbGUgJ2Vycm9yIDxtc2c+JyBldmVudHMKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncGVyZiBzdHJlYW0sIGVycm9yIGV2ZW50JyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSB0cmFjZS5wZXJmIGFjdHVhbCBleHBlY3QiICYmCisJR0lUX1RSQUNFMl9QRVJGPSIkKHB3ZCkvdHJhY2UucGVyZiIgdGVzdC10b29sIHRyYWNlMiAwMDNlcnJvciAiaGVsbG8gd29ybGQiICJ0aGlzIGlzIGEgdGVzdCIgJiYKKwlwZXJsICIkVEVTVF9ESVJFQ1RPUlkvdDAyMTEvc2NydWJfcGVyZi5wZXJsIiA8dHJhY2UucGVyZiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJCWQwfG1haW58dmVyc2lvbnx8fHx8JFYKKwkJZDB8bWFpbnxzdGFydHx8X1RfQUJTX3x8fF9FWEVfIHRyYWNlMiAwMDNlcnJvciAnXCcnaGVsbG8gd29ybGQnXCcnICdcJyd0aGlzIGlzIGEgdGVzdCdcJycKKwkJZDB8bWFpbnxjbWRfbmFtZXx8fHx8dHJhY2UyICh0cmFjZTIpCisJCWQwfG1haW58ZXJyb3J8fHx8fGhlbGxvIHdvcmxkCisJCWQwfG1haW58ZXJyb3J8fHx8fHRoaXMgaXMgYSB0ZXN0CisJCWQwfG1haW58ZXhpdHx8X1RfQUJTX3x8fGNvZGU6MAorCQlkMHxtYWlufGF0ZXhpdHx8X1RfQUJTX3x8fGNvZGU6MAorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKworIyBWZXJiIDAwNGNoaWxkCisjCisjIFRlc3QgbmVzdGVkIHNwYXduaW5nIG9mIGNoaWxkIHByb2Nlc3Nlcy4KKyMKKyMgQ29uY2VwdHVhbGx5LCB0aGlzIGxvb2tzIGxpa2U6CisjICAgIFAxOiBUVCB0cmFjZTIgMDA0Y2hpbGQKKyMgICAgUDI6IHwtLS0gVFQgdHJhY2UyIDAwNGNoaWxkCisjICAgIFAzOiAgICAgIHwtLS0gVFQgdHJhY2UyIDAwMXJldHVybiAwCisjCisjIFdoaWNoIHNob3VsZCBnZW5lcmF0ZSBldmVudHM6CisjICAgIFAxOiB2ZXJzaW9uCisjICAgIFAxOiBzdGFydAorIyAgICBQMTogY21kX25hbWUKKyMgICAgUDE6IGNoaWxkX3N0YXJ0CisjICAgICAgICBQMjogdmVyc2lvbgorIyAgICAgICAgUDI6IHN0YXJ0CisjICAgICAgICBQMjogY21kX25hbWUKKyMgICAgICAgIFAyOiBjaGlsZF9zdGFydAorIyAgICAgICAgICAgIFAzOiB2ZXJzaW9uCisjICAgICAgICAgICAgUDM6IHN0YXJ0CisjICAgICAgICAgICAgUDM6IGNtZF9uYW1lCisjICAgICAgICAgICAgUDM6IGV4aXQKKyMgICAgICAgICAgICBQMzogYXRleGl0CisjICAgICAgICBQMjogY2hpbGRfZXhpdAorIyAgICAgICAgUDI6IGV4aXQKKyMgICAgICAgIFAyOiBhdGV4aXQKKyMgICAgUDE6IGNoaWxkX2V4aXQKKyMgICAgUDE6IGV4aXQKKyMgICAgUDE6IGF0ZXhpdAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwZXJmIHN0cmVhbSwgY2hpbGQgcHJvY2Vzc2VzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSB0cmFjZS5wZXJmIGFjdHVhbCBleHBlY3QiICYmCisJR0lUX1RSQUNFMl9QRVJGPSIkKHB3ZCkvdHJhY2UucGVyZiIgdGVzdC10b29sIHRyYWNlMiAwMDRjaGlsZCB0ZXN0LXRvb2wgdHJhY2UyIDAwNGNoaWxkIHRlc3QtdG9vbCB0cmFjZTIgMDAxcmV0dXJuIDAgJiYKKwlwZXJsICIkVEVTVF9ESVJFQ1RPUlkvdDAyMTEvc2NydWJfcGVyZi5wZXJsIiA8dHJhY2UucGVyZiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJCWQwfG1haW58dmVyc2lvbnx8fHx8JFYKKwkJZDB8bWFpbnxzdGFydHx8X1RfQUJTX3x8fF9FWEVfIHRyYWNlMiAwMDRjaGlsZCB0ZXN0LXRvb2wgdHJhY2UyIDAwNGNoaWxkIHRlc3QtdG9vbCB0cmFjZTIgMDAxcmV0dXJuIDAKKwkJZDB8bWFpbnxjbWRfbmFtZXx8fHx8dHJhY2UyICh0cmFjZTIpCisJCWQwfG1haW58Y2hpbGRfc3RhcnR8fF9UX0FCU198fHxbY2gwXSBjbGFzczo/IGFyZ3Y6W3Rlc3QtdG9vbCB0cmFjZTIgMDA0Y2hpbGQgdGVzdC10b29sIHRyYWNlMiAwMDFyZXR1cm4gMF0KKwkJZDF8bWFpbnx2ZXJzaW9ufHx8fHwkVgorCQlkMXxtYWlufHN0YXJ0fHxfVF9BQlNffHx8X0VYRV8gdHJhY2UyIDAwNGNoaWxkIHRlc3QtdG9vbCB0cmFjZTIgMDAxcmV0dXJuIDAKKwkJZDF8bWFpbnxjbWRfbmFtZXx8fHx8dHJhY2UyICh0cmFjZTIvdHJhY2UyKQorCQlkMXxtYWlufGNoaWxkX3N0YXJ0fHxfVF9BQlNffHx8W2NoMF0gY2xhc3M6PyBhcmd2Olt0ZXN0LXRvb2wgdHJhY2UyIDAwMXJldHVybiAwXQorCQlkMnxtYWlufHZlcnNpb258fHx8fCRWCisJCWQyfG1haW58c3RhcnR8fF9UX0FCU198fHxfRVhFXyB0cmFjZTIgMDAxcmV0dXJuIDAKKwkJZDJ8bWFpbnxjbWRfbmFtZXx8fHx8dHJhY2UyICh0cmFjZTIvdHJhY2UyL3RyYWNlMikKKwkJZDJ8bWFpbnxleGl0fHxfVF9BQlNffHx8Y29kZTowCisJCWQyfG1haW58YXRleGl0fHxfVF9BQlNffHx8Y29kZTowCisJCWQxfG1haW58Y2hpbGRfZXhpdHx8X1RfQUJTX3xfVF9SRUxffHxbY2gwXSBwaWQ6X1BJRF8gY29kZTowCisJCWQxfG1haW58ZXhpdHx8X1RfQUJTX3x8fGNvZGU6MAorCQlkMXxtYWlufGF0ZXhpdHx8X1RfQUJTX3x8fGNvZGU6MAorCQlkMHxtYWlufGNoaWxkX2V4aXR8fF9UX0FCU198X1RfUkVMX3x8W2NoMF0gcGlkOl9QSURfIGNvZGU6MAorCQlkMHxtYWlufGV4aXR8fF9UX0FCU198fHxjb2RlOjAKKwkJZDB8bWFpbnxhdGV4aXR8fF9UX0FCU198fHxjb2RlOjAKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3NhbmVfdW5zZXQgR0lUX1RSQUNFMl9QRVJGX0JSSUVGCisKKyMgTm93IHRlc3Qgd2l0aG91dCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYW5kIGdldCBhbGwgVHJhY2UyIHNldHRpbmdzCisjIGZyb20gdGhlIGdsb2JhbCBjb25maWcuCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VzaW5nIGdsb2JhbCBjb25maWcsIHBlcmYgc3RyZWFtLCByZXR1cm4gY29kZSAwJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSB0cmFjZS5wZXJmIGFjdHVhbCBleHBlY3QiICYmCisJdGVzdF9jb25maWdfZ2xvYmFsIHRyYWNlMi5wZXJmQnJpZWYgMSAmJgorCXRlc3RfY29uZmlnX2dsb2JhbCB0cmFjZTIucGVyZlRhcmdldCAiJChwd2QpL3RyYWNlLnBlcmYiICYmCisJdGVzdC10b29sIHRyYWNlMiAwMDFyZXR1cm4gMCAmJgorCXBlcmwgIiRURVNUX0RJUkVDVE9SWS90MDIxMS9zY3J1Yl9wZXJmLnBlcmwiIDx0cmFjZS5wZXJmID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkJZDB8bWFpbnx2ZXJzaW9ufHx8fHwkVgorCQlkMHxtYWlufHN0YXJ0fHxfVF9BQlNffHx8X0VYRV8gdHJhY2UyIDAwMXJldHVybiAwCisJCWQwfG1haW58Y21kX25hbWV8fHx8fHRyYWNlMiAodHJhY2UyKQorCQlkMHxtYWlufGV4aXR8fF9UX0FCU198fHxjb2RlOjAKKwkJZDB8bWFpbnxhdGV4aXR8fF9UX0FCU198fHxjb2RlOjAKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MDIxMS9zY3J1Yl9wZXJmLnBlcmwgYi90L3QwMjExL3NjcnViX3BlcmYucGVybApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTFhZjc4Ci0tLSAvZGV2L251bGwKKysrIGIvdC90MDIxMS9zY3J1Yl9wZXJmLnBlcmwKQEAgLTAsMCArMSw3NiBAQAorIyEvdXNyL2Jpbi9wZXJsCisjCisjIFNjcnViIHRoZSB2YXJpYWJsZSBmaWVsZHMgZnJvbSB0aGUgcGVyZiB0cmFjZTIgb3V0cHV0IHRvCisjIG1ha2UgdGVzdGluZyBlYXNpZXIuCisKK3VzZSBzdHJpY3Q7Cit1c2Ugd2FybmluZ3M7CisKK215ICRxcGF0aCA9ICdcJ1teXCddKlwnfFteIF0qJzsKKworbXkgJGNvbF9kZXB0aD0wOworbXkgJGNvbF90aHJlYWQ9MTsKK215ICRjb2xfZXZlbnQ9MjsKK215ICRjb2xfcmVwbz0zOworbXkgJGNvbF90X2Ficz00OworbXkgJGNvbF90X3JlbD01OworbXkgJGNvbF9jYXRlZ29yeT02OworbXkgJGNvbF9yZXN0PTc7CisKKyMgVGhpcyBjb2RlIGFzc3VtZXMgdGhhdCB0aGUgdHJhY2UyIGRhdGEgd2FzIHdyaXR0ZW4gd2l0aCBiYXJlCisjIHR1cm5lZCBvbiAod2hpY2ggb21pdHMgdGhlICI8Y2xvY2s+IDxmaWxlPjo8bGluZT4gfCA8cGFyZW50cz4iCisjIHByZWZpeC4KKword2hpbGUgKDw+KSB7CisgICAgbXkgQHRva2VucyA9IHNwbGl0IC9cfC87CisKKyAgICBmb3JlYWNoIG15ICRjb2wgKEB0b2tlbnMpIHsgJGNvbCA9fiBzL15ccyt8XHMrJC8vZzsgfQorCisgICAgaWYgKCR0b2tlbnNbJGNvbF9ldmVudF0gPX4gbS9ec3RhcnQvKSB7CisJIyBUaGUgJ3N0YXJ0JyBtZXNzYWdlIGxpc3RzIHRoZSBjb250ZW50cyBvZiBhcmd2IGluICRjb2xfcmVzdC4KKwkjIE9uIHNvbWUgcGxhdGZvcm1zIChXaW5kb3dzKSwgYXJndlswXSBpcyAqc29tZXRpbWVzKiBhIGNhbm9uaWNhbAorCSMgYWJzb2x1dGUgcGF0aCB0byB0aGUgRVhFIHJhdGhlciB0aGFuIHRoZSB2YWx1ZSBwYXNzZWQgaW4gdGhlCisJIyBzaGVsbCBzY3JpcHQuICBSZXBsYWNlIGl0IHdpdGggYSBwbGFjZWhvbGRlciB0byBzaW1wbGlmeSBvdXIKKwkjIEhFUkVET0MgaW4gdGhlIHRlc3Qgc2NyaXB0LgorCW15ICRhcmd2MDsKKwlteSAkYXJndlJlc3Q7CisJJHRva2Vuc1skY29sX3Jlc3RdID1+IHMvXigkcXBhdGgpXFcqKC4qKS9fRVhFXyAkMi87CisgICAgfQorICAgIGVsc2lmICgkdG9rZW5zWyRjb2xfZXZlbnRdID1+IG0vY21kX3BhdGgvKSB7CisJIyBMaWtld2lzZSwgdGhlICdjbWRfcGF0aCcgbWVzc2FnZSBicmVha3Mgb3V0IGFyZ3ZbMF0uCisJIworCSMgVGhpcyBsaW5lIGlzIG9ubHkgZW1pdHRlZCB3aGVuIFJVTlRJTUVfUFJFRklYIGlzIGRlZmluZWQsCisJIyBzbyBqdXN0IG9taXQgaXQgZm9yIHRlc3RpbmcgcHVycG9zZXMuCisJIyAkdG9rZW5zWyRjb2xfcmVzdF0gPSAiX0VYRV8iOworCWdvdG8gU0tJUF9MSU5FOworICAgIH0KKyAgICBlbHNpZiAoJHRva2Vuc1skY29sX2V2ZW50XSA9fiBtL2NoaWxkX2V4aXQvKSB7CisJJHRva2Vuc1skY29sX3Jlc3RdID1+IHMvIHBpZDpcZCogLyBwaWQ6X1BJRF8gLzsKKyAgICB9CisgICAgZWxzaWYgKCR0b2tlbnNbJGNvbF9ldmVudF0gPX4gbS9kYXRhLykgeworCWlmICgkdG9rZW5zWyRjb2xfY2F0ZWdvcnldID1+IG0vcHJvY2Vzcy8pIHsKKwkgICAgIyAnZGF0YScgYW5kICdkYXRhX2pzb24nIGV2ZW50cyBjb250YWluaW5nICdwcm9jZXNzJworCSAgICAjIGNhdGVnb3J5IGRhdGEgYXJlIGFzc3VtZWQgdG8gYmUgcGxhdGZvcm0tc3BlY2lmaWMKKwkgICAgIyBhbmQgaGlnaGx5IHZhcmlhYmxlLiAgSnVzdCBvbWl0IHRoZW0uCisJICAgIGdvdG8gU0tJUF9MSU5FOworCX0KKyAgICB9CisKKyAgICAjIHRfYWJzIGFuZCB0X3JlbCBhcmUgZWl0aGVyIGJsYW5rIG9yIGEgZmxvYXQuICBSZXBsYWNlIHRoZSBmbG9hdAorICAgICMgd2l0aCBhIGNvbnN0YW50IGZvciBtYXRjaGluZyB0aGUgSEVSRURPQyBpbiB0aGUgdGVzdCBzY3JpcHQuCisgICAgaWYgKCR0b2tlbnNbJGNvbF90X2Fic10gPX4gbS9cZC8pIHsKKwkkdG9rZW5zWyRjb2xfdF9hYnNdID0gIl9UX0FCU18iOworICAgIH0KKyAgICBpZiAoJHRva2Vuc1skY29sX3RfcmVsXSA9fiBtL1xkLykgeworCSR0b2tlbnNbJGNvbF90X3JlbF0gPSAiX1RfUkVMXyI7CisgICAgfQorCisgICAgbXkgJG91dDsKKworICAgICRvdXQgPSBqb2luKCd8JywgQHRva2Vucyk7CisgICAgcHJpbnQgIiRvdXRcbiI7CisKKyAgU0tJUF9MSU5FOgorfQorCisKZGlmZiAtLWdpdCBhL3QvdDAyMTItdHJhY2UyLWV2ZW50LnNoIGIvdC90MDIxMi10cmFjZTItZXZlbnQuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzA2NWExYgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDAyMTItdHJhY2UyLWV2ZW50LnNoCkBAIC0wLDAgKzEsMjg3IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ndGVzdCB0cmFjZTIgZmFjaWxpdHknCisuIC4vdGVzdC1saWIuc2gKKworIyBUdXJuIG9mZiBhbnkgaW5oZXJpdGVkIHRyYWNlMiBzZXR0aW5ncyBmb3IgdGhpcyB0ZXN0Lgorc2FuZV91bnNldCBHSVRfVFJBQ0UyIEdJVF9UUkFDRTJfUEVSRiBHSVRfVFJBQ0UyX0VWRU5UCitzYW5lX3Vuc2V0IEdJVF9UUkFDRTJfQkFSRQorc2FuZV91bnNldCBHSVRfVFJBQ0UyX0NPTkZJR19QQVJBTVMKKworcGVybCAtTUpTT046OlBQIC1lIDAgPi9kZXYvbnVsbCAyPiYxICYmIHRlc3Rfc2V0X3ByZXJlcSBKU09OX1BQCisKKyMgQWRkIHQvaGVscGVyIGRpcmVjdG9yeSB0byBQQVRIIHNvIHRoYXQgd2UgY2FuIHVzZSBhIHJlbGF0aXZlCisjIHBhdGggdG8gcnVuIG5lc3RlZCBpbnN0YW5jZXMgb2YgdGVzdC10b29sLmV4ZSAoc2VlIDAwNGNoaWxkKS4KKyMgVGhpcyBoZWxwcyB3aXRoIEhFUkVET0MgY29tcGFyaXNvbnMgbGF0ZXIuCitUVERJUj0iJEdJVF9CVUlMRF9ESVIvdC9oZWxwZXIvIiAmJiBleHBvcnQgVFRESVIKK1BBVEg9IiRUVERJUjokUEFUSCIgJiYgZXhwb3J0IFBBVEgKKworIyBXYXJuaW5nOiB1c2Ugb2YgJ3Rlc3RfY21wJyBtYXkgcnVuIHRlc3QtdG9vbC5leGUgYW5kL29yIGdpdC5leGUKKyMgV2FybmluZzogdG8gZG8gdGhlIGFjdHVhbCBkaWZmL2NvbXBhcmlzb24sIHNvIHRoZSBIRVJFRE9DcyBoZXJlCisjIFdhcm5pbmc6IG9ubHkgY292ZXIgb3VyIGFjdHVhbCBjYWxscyB0byB0ZXN0LXRvb2wgYW5kL29yIGdpdC4KKyMgV2FybmluZzogU28geW91IG1heSBzZWUgZXh0cmEgbGluZXMgaW4gYXJ0aWZhY3QgZmlsZXMgd2hlbgorIyBXYXJuaW5nOiBpbnRlcmFjdGl2ZWx5IGRlYnVnZ2luZy4KKworVj0kKGdpdCB2ZXJzaW9uIHwgc2VkIC1lICdzL15naXQgdmVyc2lvbiAvLycpICYmIGV4cG9ydCBWCisKKyMgVGhlcmUgYXJlIG11bHRpcGxlIHRyYWNlMiB0YXJnZXRzOiBub3JtYWwsIHBlcmYsIGFuZCBldmVudC4KKyMgVHJhY2UyIGV2ZW50cyB3aWxsL2NhbiBiZSB3cml0dGVuIHRvIGVhY2ggYWN0aXZlIHRhcmdldCAoc3ViamVjdAorIyB0byB3aGF0ZXZlciBmaWx0ZXJpbmcgdGhhdCB0YXJnZXQgZGVjaWRlcyB0byBkbykuCisjIFRlc3QgZWFjaCB0YXJnZXQgaW5kZXBlbmRlbnRseS4KKyMKKyMgRGVmZXIgc2V0dGluZyBHSVRfVFJBQ0UyX1BFUkYgdW50aWwgdGhlIGFjdHVhbCBjb21tYW5kIHdlIHdhbnQgdG8KKyMgdGVzdCBiZWNhdXNlIGhpZGRlbiBnaXQgYW5kIHRlc3QtdG9vbCBjb21tYW5kcyBpbiB0aGUgdGVzdAorIyBoYXJuZXNzIGNhbiBjb250YW1pbmF0ZSBvdXIgb3V0cHV0LgorCisjIFdlIGRvbid0IGJvdGhlciByZXBlYXRpbmcgdGhlIDAwMXJldHVybiBhbmQgMDAyZXhpdCB0ZXN0cywgc2luY2UgdGhleQorIyBoYXZlIGNvdmVyYWdlIGluIHRoZSBub3JtYWwgYW5kIHBlcmYgdGFyZ2V0cy4KKworIyBWZXJiIDAwM2Vycm9yCisjCisjIFRvIHRoZSBhYm92ZSwgYWRkIG11bHRpcGxlICdlcnJvciA8bXNnPicgZXZlbnRzCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgSlNPTl9QUCAnZXZlbnQgc3RyZWFtLCBlcnJvciBldmVudCcgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gdHJhY2UuZXZlbnQgYWN0dWFsIGV4cGVjdCIgJiYKKwlHSVRfVFJBQ0UyX0VWRU5UPSIkKHB3ZCkvdHJhY2UuZXZlbnQiIHRlc3QtdG9vbCB0cmFjZTIgMDAzZXJyb3IgImhlbGxvIHdvcmxkIiAidGhpcyBpcyBhIHRlc3QiICYmCisJcGVybCAiJFRFU1RfRElSRUNUT1JZL3QwMjEyL3BhcnNlX2V2ZW50cy5wZXJsIiA8dHJhY2UuZXZlbnQgPmFjdHVhbCAmJgorCXNlZCAtZSAicy9efC8vIiA+ZXhwZWN0IDw8LUVPRiAmJgorCXxWQVIxID0geworCXwgICJfU0lEMF8iOnsKKwl8ICAgICJhcmd2IjpbCisJfCAgICAgICJfRVhFXyIsCisJfCAgICAgICJ0cmFjZTIiLAorCXwgICAgICAiMDAzZXJyb3IiLAorCXwgICAgICAiaGVsbG8gd29ybGQiLAorCXwgICAgICAidGhpcyBpcyBhIHRlc3QiCisJfCAgICBdLAorCXwgICAgImVycm9ycyI6WworCXwgICAgICAiJXMiLAorCXwgICAgICAiJXMiCisJfCAgICBdLAorCXwgICAgImV4aXRfY29kZSI6MCwKKwl8ICAgICJoaWVyYXJjaHkiOiJ0cmFjZTIiLAorCXwgICAgIm5hbWUiOiJ0cmFjZTIiLAorCXwgICAgInZlcnNpb24iOiIkViIKKwl8ICB9CisJfH07CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCisjIFZlcmIgMDA0Y2hpbGQKKyMKKyMgVGVzdCBuZXN0ZWQgc3Bhd25pbmcgb2YgY2hpbGQgcHJvY2Vzc2VzLgorIworIyBDb25jZXB0dWFsbHksIHRoaXMgbG9va3MgbGlrZToKKyMgICAgUDE6IFRUIHRyYWNlMiAwMDRjaGlsZAorIyAgICBQMjogfC0tLSBUVCB0cmFjZTIgMDA0Y2hpbGQKKyMgICAgUDM6ICAgICAgfC0tLSBUVCB0cmFjZTIgMDAxcmV0dXJuIDAKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBKU09OX1BQICdldmVudCBzdHJlYW0sIHJldHVybiBjb2RlIDAnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIHRyYWNlLmV2ZW50IGFjdHVhbCBleHBlY3QiICYmCisJR0lUX1RSQUNFMl9FVkVOVD0iJChwd2QpL3RyYWNlLmV2ZW50IiB0ZXN0LXRvb2wgdHJhY2UyIDAwNGNoaWxkIHRlc3QtdG9vbCB0cmFjZTIgMDA0Y2hpbGQgdGVzdC10b29sIHRyYWNlMiAwMDFyZXR1cm4gMCAmJgorCXBlcmwgIiRURVNUX0RJUkVDVE9SWS90MDIxMi9wYXJzZV9ldmVudHMucGVybCIgPHRyYWNlLmV2ZW50ID5hY3R1YWwgJiYKKwlzZWQgLWUgInMvXnwvLyIgPmV4cGVjdCA8PC1FT0YgJiYKKwl8VkFSMSA9IHsKKwl8ICAiX1NJRDBfIjp7CisJfCAgICAiYXJndiI6WworCXwgICAgICAiX0VYRV8iLAorCXwgICAgICAidHJhY2UyIiwKKwl8ICAgICAgIjAwNGNoaWxkIiwKKwl8ICAgICAgInRlc3QtdG9vbCIsCisJfCAgICAgICJ0cmFjZTIiLAorCXwgICAgICAiMDA0Y2hpbGQiLAorCXwgICAgICAidGVzdC10b29sIiwKKwl8ICAgICAgInRyYWNlMiIsCisJfCAgICAgICIwMDFyZXR1cm4iLAorCXwgICAgICAiMCIKKwl8ICAgIF0sCisJfCAgICAiY2hpbGQiOnsKKwl8ICAgICAgIjAiOnsKKwl8ICAgICAgICAiY2hpbGRfYXJndiI6WworCXwgICAgICAgICAgIl9FWEVfIiwKKwl8ICAgICAgICAgICJ0cmFjZTIiLAorCXwgICAgICAgICAgIjAwNGNoaWxkIiwKKwl8ICAgICAgICAgICJ0ZXN0LXRvb2wiLAorCXwgICAgICAgICAgInRyYWNlMiIsCisJfCAgICAgICAgICAiMDAxcmV0dXJuIiwKKwl8ICAgICAgICAgICIwIgorCXwgICAgICAgIF0sCisJfCAgICAgICAgImNoaWxkX2NsYXNzIjoiPyIsCisJfCAgICAgICAgImNoaWxkX2NvZGUiOjAsCisJfCAgICAgICAgInVzZV9zaGVsbCI6MAorCXwgICAgICB9CisJfCAgICB9LAorCXwgICAgImV4aXRfY29kZSI6MCwKKwl8ICAgICJoaWVyYXJjaHkiOiJ0cmFjZTIiLAorCXwgICAgIm5hbWUiOiJ0cmFjZTIiLAorCXwgICAgInZlcnNpb24iOiIkViIKKwl8ICB9LAorCXwgICJfU0lEMF8vX1NJRDFfIjp7CisJfCAgICAiYXJndiI6WworCXwgICAgICAiX0VYRV8iLAorCXwgICAgICAidHJhY2UyIiwKKwl8ICAgICAgIjAwNGNoaWxkIiwKKwl8ICAgICAgInRlc3QtdG9vbCIsCisJfCAgICAgICJ0cmFjZTIiLAorCXwgICAgICAiMDAxcmV0dXJuIiwKKwl8ICAgICAgIjAiCisJfCAgICBdLAorCXwgICAgImNoaWxkIjp7CisJfCAgICAgICIwIjp7CisJfCAgICAgICAgImNoaWxkX2FyZ3YiOlsKKwl8ICAgICAgICAgICJfRVhFXyIsCisJfCAgICAgICAgICAidHJhY2UyIiwKKwl8ICAgICAgICAgICIwMDFyZXR1cm4iLAorCXwgICAgICAgICAgIjAiCisJfCAgICAgICAgXSwKKwl8ICAgICAgICAiY2hpbGRfY2xhc3MiOiI/IiwKKwl8ICAgICAgICAiY2hpbGRfY29kZSI6MCwKKwl8ICAgICAgICAidXNlX3NoZWxsIjowCisJfCAgICAgIH0KKwl8ICAgIH0sCisJfCAgICAiZXhpdF9jb2RlIjowLAorCXwgICAgImhpZXJhcmNoeSI6InRyYWNlMi90cmFjZTIiLAorCXwgICAgIm5hbWUiOiJ0cmFjZTIiLAorCXwgICAgInZlcnNpb24iOiIkViIKKwl8ICB9LAorCXwgICJfU0lEMF8vX1NJRDFfL19TSUQyXyI6eworCXwgICAgImFyZ3YiOlsKKwl8ICAgICAgIl9FWEVfIiwKKwl8ICAgICAgInRyYWNlMiIsCisJfCAgICAgICIwMDFyZXR1cm4iLAorCXwgICAgICAiMCIKKwl8ICAgIF0sCisJfCAgICAiZXhpdF9jb2RlIjowLAorCXwgICAgImhpZXJhcmNoeSI6InRyYWNlMi90cmFjZTIvdHJhY2UyIiwKKwl8ICAgICJuYW1lIjoidHJhY2UyIiwKKwl8ICAgICJ2ZXJzaW9uIjoiJFYiCisJfCAgfQorCXx9OworCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKworIyBUZXN0IGxpc3Rpbmcgb2YgYWxsICJpbnRlcmVzdGluZyIgY29uZmlnIHNldHRpbmdzLgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEpTT05fUFAgJ2V2ZW50IHN0cmVhbSwgbGlzdCBjb25maWcnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIHRyYWNlLmV2ZW50IGFjdHVhbCBleHBlY3QiICYmCisJZ2l0IGNvbmZpZyAtLWxvY2FsIHQwMjEyLmFiYyAxICYmCisJZ2l0IGNvbmZpZyAtLWxvY2FsIHQwMjEyLmRlZiAiaGVsbG8gd29ybGQiICYmCisJR0lUX1RSQUNFMl9FVkVOVD0iJChwd2QpL3RyYWNlLmV2ZW50IiBHSVRfVFJBQ0UyX0NPTkZJR19QQVJBTVM9InQwMjEyLioiIHRlc3QtdG9vbCB0cmFjZTIgMDAxcmV0dXJuIDAgJiYKKwlwZXJsICIkVEVTVF9ESVJFQ1RPUlkvdDAyMTIvcGFyc2VfZXZlbnRzLnBlcmwiIDx0cmFjZS5ldmVudCA+YWN0dWFsICYmCisJc2VkIC1lICJzL158Ly8iID5leHBlY3QgPDwtRU9GICYmCisJfFZBUjEgPSB7CisJfCAgIl9TSUQwXyI6eworCXwgICAgImFyZ3YiOlsKKwl8ICAgICAgIl9FWEVfIiwKKwl8ICAgICAgInRyYWNlMiIsCisJfCAgICAgICIwMDFyZXR1cm4iLAorCXwgICAgICAiMCIKKwl8ICAgIF0sCisJfCAgICAiZXhpdF9jb2RlIjowLAorCXwgICAgImhpZXJhcmNoeSI6InRyYWNlMiIsCisJfCAgICAibmFtZSI6InRyYWNlMiIsCisJfCAgICAicGFyYW1zIjpbCisJfCAgICAgIHsKKwl8ICAgICAgICAicGFyYW0iOiJ0MDIxMi5hYmMiLAorCXwgICAgICAgICJ2YWx1ZSI6IjEiCisJfCAgICAgIH0sCisJfCAgICAgIHsKKwl8ICAgICAgICAicGFyYW0iOiJ0MDIxMi5kZWYiLAorCXwgICAgICAgICJ2YWx1ZSI6ImhlbGxvIHdvcmxkIgorCXwgICAgICB9CisJfCAgICBdLAorCXwgICAgInZlcnNpb24iOiIkViIKKwl8ICB9CisJfH07CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEpTT05fUFAgJ2Jhc2ljIHRyYWNlMl9kYXRhJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSB0cmFjZS5ldmVudCBhY3R1YWwgZXhwZWN0IiAmJgorCUdJVF9UUkFDRTJfRVZFTlQ9IiQocHdkKS90cmFjZS5ldmVudCIgdGVzdC10b29sIHRyYWNlMiAwMDZkYXRhIHRlc3RfY2F0ZWdvcnkgazEgdjEgdGVzdF9jYXRlZ29yeSBrMiB2MiAmJgorCXBlcmwgIiRURVNUX0RJUkVDVE9SWS90MDIxMi9wYXJzZV9ldmVudHMucGVybCIgPHRyYWNlLmV2ZW50ID5hY3R1YWwgJiYKKwlzZWQgLWUgInMvXnwvLyIgPmV4cGVjdCA8PC1FT0YgJiYKKwl8VkFSMSA9IHsKKwl8ICAiX1NJRDBfIjp7CisJfCAgICAiYXJndiI6WworCXwgICAgICAiX0VYRV8iLAorCXwgICAgICAidHJhY2UyIiwKKwl8ICAgICAgIjAwNmRhdGEiLAorCXwgICAgICAidGVzdF9jYXRlZ29yeSIsCisJfCAgICAgICJrMSIsCisJfCAgICAgICJ2MSIsCisJfCAgICAgICJ0ZXN0X2NhdGVnb3J5IiwKKwl8ICAgICAgImsyIiwKKwl8ICAgICAgInYyIgorCXwgICAgXSwKKwl8ICAgICJkYXRhIjp7CisJfCAgICAgICJ0ZXN0X2NhdGVnb3J5Ijp7CisJfCAgICAgICAgImsxIjoidjEiLAorCXwgICAgICAgICJrMiI6InYyIgorCXwgICAgICB9CisJfCAgICB9LAorCXwgICAgImV4aXRfY29kZSI6MCwKKwl8ICAgICJoaWVyYXJjaHkiOiJ0cmFjZTIiLAorCXwgICAgIm5hbWUiOiJ0cmFjZTIiLAorCXwgICAgInZlcnNpb24iOiIkViIKKwl8ICB9CisJfH07CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCisjIE5vdyB0ZXN0IHdpdGhvdXQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFuZCBnZXQgYWxsIFRyYWNlMiBzZXR0aW5ncworIyBmcm9tIHRoZSBnbG9iYWwgY29uZmlnLgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEpTT05fUFAgJ3VzaW5nIGdsb2JhbCBjb25maWcsIGV2ZW50IHN0cmVhbSwgZXJyb3IgZXZlbnQnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIHRyYWNlLmV2ZW50IGFjdHVhbCBleHBlY3QiICYmCisJdGVzdF9jb25maWdfZ2xvYmFsIHRyYWNlMi5ldmVudFRhcmdldCAiJChwd2QpL3RyYWNlLmV2ZW50IiAmJgorCXRlc3QtdG9vbCB0cmFjZTIgMDAzZXJyb3IgImhlbGxvIHdvcmxkIiAidGhpcyBpcyBhIHRlc3QiICYmCisJcGVybCAiJFRFU1RfRElSRUNUT1JZL3QwMjEyL3BhcnNlX2V2ZW50cy5wZXJsIiA8dHJhY2UuZXZlbnQgPmFjdHVhbCAmJgorCXNlZCAtZSAicy9efC8vIiA+ZXhwZWN0IDw8LUVPRiAmJgorCXxWQVIxID0geworCXwgICJfU0lEMF8iOnsKKwl8ICAgICJhcmd2IjpbCisJfCAgICAgICJfRVhFXyIsCisJfCAgICAgICJ0cmFjZTIiLAorCXwgICAgICAiMDAzZXJyb3IiLAorCXwgICAgICAiaGVsbG8gd29ybGQiLAorCXwgICAgICAidGhpcyBpcyBhIHRlc3QiCisJfCAgICBdLAorCXwgICAgImVycm9ycyI6WworCXwgICAgICAiJXMiLAorCXwgICAgICAiJXMiCisJfCAgICBdLAorCXwgICAgImV4aXRfY29kZSI6MCwKKwl8ICAgICJoaWVyYXJjaHkiOiJ0cmFjZTIiLAorCXwgICAgIm5hbWUiOiJ0cmFjZTIiLAorCXwgICAgInZlcnNpb24iOiIkViIKKwl8ICB9CisJfH07CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaXNjYXJkIHRyYWNlcyB3aGVuIHRoZXJlIGFyZSB0b28gbWFueSBmaWxlcycgJworCW1rZGlyIHRyYWNlX3RhcmdldF9kaXIgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yIHRyYWNlX3RhcmdldF9kaXIiICYmCisJKAorCQlHSVRfVFJBQ0UyX01BWF9GSUxFUz01ICYmCisJCWV4cG9ydCBHSVRfVFJBQ0UyX01BWF9GSUxFUyAmJgorCQljZCB0cmFjZV90YXJnZXRfZGlyICYmCisJCXRlc3Rfc2VxICRHSVRfVFJBQ0UyX01BWF9GSUxFUyA+Li4vZXhwZWN0ZWRfZmlsZW5hbWVzLnR4dCAmJgorCQl4YXJncyB0b3VjaCA8Li4vZXhwZWN0ZWRfZmlsZW5hbWVzLnR4dCAmJgorCQljZCAuLiAmJgorCQlHSVRfVFJBQ0UyX0VWRU5UPSIkKHB3ZCkvdHJhY2VfdGFyZ2V0X2RpciIgdGVzdC10b29sIHRyYWNlMiAwMDFyZXR1cm4gMAorCSkgJiYKKwllY2hvIGdpdC10cmFjZTItZGlzY2FyZCA+PmV4cGVjdGVkX2ZpbGVuYW1lcy50eHQgJiYKKwlscyB0cmFjZV90YXJnZXRfZGlyID5sc19vdXRwdXQudHh0ICYmCisJdGVzdF9jbXAgZXhwZWN0ZWRfZmlsZW5hbWVzLnR4dCBsc19vdXRwdXQudHh0ICYmCisJaGVhZCAtbjEgdHJhY2VfdGFyZ2V0X2Rpci9naXQtdHJhY2UyLWRpc2NhcmQgfCBncmVwIFwiZXZlbnRcIjpcInZlcnNpb25cIiAmJgorCWhlYWQgLW4yIHRyYWNlX3RhcmdldF9kaXIvZ2l0LXRyYWNlMi1kaXNjYXJkIHwgdGFpbCAtbjEgfCBncmVwIFwiZXZlbnRcIjpcInRvb19tYW55X2ZpbGVzXCIKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QwMjEyL3BhcnNlX2V2ZW50cy5wZXJsIGIvdC90MDIxMi9wYXJzZV9ldmVudHMucGVybApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTg0YmI1Ci0tLSAvZGV2L251bGwKKysrIGIvdC90MDIxMi9wYXJzZV9ldmVudHMucGVybApAQCAtMCwwICsxLDI1MSBAQAorIyEvdXNyL2Jpbi9wZXJsCisjCisjIFBhcnNlIGV2ZW50IHN0cmVhbSBhbmQgY29udmVydCBpbmRpdmlkdWFsIGV2ZW50cyBpbnRvIGEgc3VtbWFyeQorIyByZWNvcmQgZm9yIHRoZSBwcm9jZXNzLgorIworIyBHaXQuZXhlIGdlbmVyYXRlcyBvbmUgb3IgbW9yZSAiZXZlbnQiIHJlY29yZHMgZm9yIGVhY2ggQVBJIG1ldGhvZCwKKyMgc3VjaCBhcyAic3RhcnQgPGFyZ3Y+IiBhbmQgImV4aXQgPGNvZGU+IiwgZHVyaW5nIHRoZSBsaWZlIG9mIHRoZSBnaXQKKyMgcHJvY2Vzcy4gIEFkZGl0aW9uYWxseSwgdGhlIGlucHV0IG1heSBjb250YWluIGludGVybGVhdmVkIGV2ZW50cworIyBmcm9tIG11bHRpcGxlIGNvbmN1cnJlbnQgZ2l0IHByb2Nlc3NlcyBhbmQvb3IgbXVsdGlwbGUgdGhyZWFkcyBmcm9tCisjIHdpdGhpbiBhIGdpdCBwcm9jZXNzLgorIworIyBBY2N1bXVsYXRlIGV2ZW50cyBmb3IgZWFjaCBwcm9jZXNzIChiYXNlZCBvbiBpdHMgdW5pcXVlIFNJRCkgaW4gYQorIyBkaWN0aW9uYXJ5IGFuZCBlbWl0IHByb2Nlc3Mgc3VtbWFyeSByZWNvcmRzLgorIworIyBDb252ZXJ0IHNvbWUgb2YgdGhlIHZhcmlhYmxlIGZpZWxkcyAoc3VjaCBhcyBlbGFwc2VkIHRpbWUpIGludG8KKyMgcGxhY2Vob2xkZXJzIChvciBvbWl0IHRoZW0pIHRvIG1ha2UgSEVSRURPQyBjb21wYXJpc29ucyBlYXNpZXIgaW4KKyMgdGhlIHRlc3Qgc2NyaXB0cy4KKyMKKyMgV2UgbWF5IGFsc28gb21pdCBmaWVsZHMgbm90IChjdXJyZW50bHkpIHVzZWZ1bCBmb3IgdGVzdGluZyBwdXJwb3Nlcy4KKwordXNlIHN0cmljdDsKK3VzZSB3YXJuaW5nczsKK3VzZSBKU09OOjpQUDsKK3VzZSBEYXRhOjpEdW1wZXI7Cit1c2UgR2V0b3B0OjpMb25nOworCisjIFRoZSB2ZXJzaW9uIG9mIHRoZSB0cmFjZTIgZXZlbnQgdGFyZ2V0IGZvcm1hdCB0aGF0IHdlIHVuZGVyc3RhbmQuCisjIFRoaXMgaXMgcmVwb3J0ZWQgaW4gdGhlICd2ZXJzaW9uJyBldmVudCBpbiB0aGUgJ2V2dCcgZmllbGQuCisjIEl0IGNvbWVzIGZyb20gdGhlIEdJVF9UUkFDRTJfRVZFTlRfVkVSU0lPTiBtYWNybyBpbiB0cmFjZTIvdHIyX3RndF9ldmVudC5jCitteSAkZXZ0X3ZlcnNpb24gPSAnMSc7CisKK215ICRzaG93X2NoaWxkcmVuID0gMTsKK215ICRzaG93X2V4ZWMgICAgID0gMTsKK215ICRzaG93X3RocmVhZHMgID0gMTsKKworIyBBIGhhY2sgdG8gZ2VuZXJhdGUgdGVzdCBIRVJFRE9DIGRhdGEgZm9yIHBhc3RpbmcgaW50byB0aGUgdGVzdCBzY3JpcHQuCisjIFVzYWdlOgorIyAgICBjZCAidC90cmFzaCBkaXJlY3RvcnkudDAyMTItdHJhY2UyLWV2ZW50IgorIyAgICAkVFQgdHJhY2UgLi4uID50cmFjZS5ldmVudAorIyAgICBWVj0kKC4uLy4uL2dpdC5leGUgdmVyc2lvbiB8IHNlZCAtZSAncy9eZ2l0IHZlcnNpb24gLy8nKQorIyAgICBwZXJsIC4uL3QwMjEyL3BhcnNlX2V2ZW50cy5wZXJsIC0tSEVSRURPQyAtLVZFUlNJT049JFZWIDx0cmFjZS5ldmVudCA+aGVyZWRvYworIyBUaGVuIHBhc3RlIGhlcmVkb2MgaW50byB5b3VyIG5ldyB0ZXN0LgorCitteSAkZ2VuX2hlcmVkb2MgPSAwOworbXkgJGdlbl92ZXJzaW9uID0gJyc7CisKK0dldE9wdGlvbnMoImNoaWxkcmVuISIgPT4gXCRzaG93X2NoaWxkcmVuLAorCSAgICJleGVjISIgICAgID0+IFwkc2hvd19leGVjLAorCSAgICJ0aHJlYWRzISIgID0+IFwkc2hvd190aHJlYWRzLAorCSAgICJIRVJFRE9DISIgID0+IFwkZ2VuX2hlcmVkb2MsCisJICAgIlZFUlNJT049cyIgPT4gXCRnZW5fdmVyc2lvbiAgICApCisgICAgb3IgZGllKCJFcnJvciBpbiBjb21tYW5kIGxpbmUgYXJndW1lbnRzXG4iKTsKKworCisjIFNJRHMgY29udGFpbnMgdGltZXN0YW1wcyBhbmQgUElEcyBvZiB0aGUgcHJvY2VzcyBhbmQgaXRzIHBhcmVudHMuCisjIFRoaXMgbWFrZXMgaXQgZGlmZmljdWx0IHRvIG1hdGNoIHVwIGluIGEgSEVSRURPQyBpbiB0aGUgdGVzdCBzY3JpcHQuCisjIEJ1aWxkIGEgbWFwIGZyb20gYWN0dWFsIFNJRHMgdG8gcHJlZGljdGFibGUgY29uc3RhbnQgdmFsdWVzIGFuZCB5ZXQKKyMga2VlcCB0aGUgcGFyZW50L2NoaWxkIHJlbGF0aW9uc2hpcHMuICBGb3IgZXhhbXBsZToKKyMgey4uLiwgInNpZCI6IjE1Mzk3MDY5NTI0NTgyNzYtODY1MiIsIC4uLn0KKyMgey4uLiwgInNpZCI6IjE1Mzk3MDY5NTI0NTgyNzYtODY1Mi8xNTM5NzA2OTUyNjQ5NDkzLTE1NDUyIiwgLi4ufQorIyBiZWNvbWVzOgorIyB7Li4uLCAic2lkIjoiX1NJRDFfIiwgLi4ufQorIyB7Li4uLCAic2lkIjoiX1NJRDFfL19TSUQyXyIsIC4uLn0KK215ICRzaWRfbWFwOworbXkgJHNpZF9jb3VudCA9IDA7CisKK215ICRwcm9jZXNzZXM7CisKK3doaWxlICg8PikgeworICAgIG15ICRsaW5lID0gZGVjb2RlX2pzb24oICRfICk7CisKKyAgICBteSAkc2lkID0gIiI7CisgICAgbXkgJHNpZF9zZXAgPSAiIjsKKworICAgIG15ICRyYXdfc2lkID0gJGxpbmUtPnsnc2lkJ307CisgICAgbXkgQHJhd19zaWRfcGFydHMgPSBzcGxpdCAvXC8vLCAkcmF3X3NpZDsKKyAgICBmb3JlYWNoIG15ICRyYXdfc2lkX2sgKEByYXdfc2lkX3BhcnRzKSB7CisJaWYgKCFleGlzdHMgJHNpZF9tYXAtPnskcmF3X3NpZF9rfSkgeworCSAgICAkc2lkX21hcC0+eyRyYXdfc2lkX2t9ID0gJ19TSUQnIC4gJHNpZF9jb3VudCAuICdfJzsKKwkgICAgJHNpZF9jb3VudCsrOworCX0KKwkkc2lkID0gJHNpZCAuICRzaWRfc2VwIC4gJHNpZF9tYXAtPnskcmF3X3NpZF9rfTsKKwkkc2lkX3NlcCA9ICcvJzsKKyAgICB9CisgICAgCisgICAgbXkgJGV2ZW50ID0gJGxpbmUtPnsnZXZlbnQnfTsKKworICAgIGlmICgkZXZlbnQgZXEgJ3ZlcnNpb24nKSB7CisJJHByb2Nlc3Nlcy0+eyRzaWR9LT57J3ZlcnNpb24nfSA9ICRsaW5lLT57J2V4ZSd9OworCWlmICgkZ2VuX2hlcmVkb2MgPT0gMSAmJiAkZ2VuX3ZlcnNpb24gZXEgJGxpbmUtPnsnZXhlJ30pIHsKKwkgICAgIyBJZiB3ZSBhcmUgZ2VuZXJhdGluZyBkYXRhIEZPUiB0aGUgdGVzdCBzY3JpcHQsIHJlcGxhY2UKKwkgICAgIyB0aGUgcmVwb3J0ZWQgZ2l0LmV4ZSB2ZXJzaW9uIHdpdGggYSByZWZlcmVuY2UgdG8gYW4KKwkgICAgIyBlbnZpcm9ubWVudCB2YXJpYWJsZS4gIFdoZW4gb3VyIG91dHB1dCBpcyBwYXN0ZWQgaW50bworCSAgICAjIHRoZSB0ZXN0IHNjcmlwdCwgaXQgd2lsbCB0aGVuIGJlIGV4cGFuZGVkIGluIGZ1dHVyZQorCSAgICAjIHRlc3QgcnVucyB0byB0aGUgVEhFTiBjdXJyZW50IHZlcnNpb24gb2YgZ2l0LmV4ZS4KKwkgICAgIyBXZSBhc3N1bWUgdGhhdCB0aGUgdGVzdCBzY3JpcHQgdXNlcyBlbnYgdmFyICRWLgorCSAgICAkcHJvY2Vzc2VzLT57JHNpZH0tPnsndmVyc2lvbid9ID0gIlwkViI7CisJfQorICAgIH0KKworICAgIGVsc2lmICgkZXZlbnQgZXEgJ3N0YXJ0JykgeworCSRwcm9jZXNzZXMtPnskc2lkfS0+eydhcmd2J30gPSAkbGluZS0+eydhcmd2J307CisJJHByb2Nlc3Nlcy0+eyRzaWR9LT57J2FyZ3YnfVswXSA9ICJfRVhFXyI7CisgICAgfQorCisgICAgZWxzaWYgKCRldmVudCBlcSAnZXhpdCcpIHsKKwkkcHJvY2Vzc2VzLT57JHNpZH0tPnsnZXhpdF9jb2RlJ30gPSAkbGluZS0+eydjb2RlJ307CisgICAgfQorCisgICAgZWxzaWYgKCRldmVudCBlcSAnYXRleGl0JykgeworCSRwcm9jZXNzZXMtPnskc2lkfS0+eydleGl0X2NvZGUnfSA9ICRsaW5lLT57J2NvZGUnfTsKKyAgICB9CisKKyAgICBlbHNpZiAoJGV2ZW50IGVxICdlcnJvcicpIHsKKwkjIEZvciBIRVJFRE9DIHB1cnBvc2VzLCB1c2UgdGhlIGVycm9yIG1lc3NhZ2UgZm9ybWF0IHN0cmluZyBpZgorCSMgYXZhaWxhYmxlLCByYXRoZXIgdGhhbiB0aGUgZm9ybWF0dGVkIG1lc3NhZ2UgKHdoaWNoIHByb2JhYmx5CisJIyBoYXMgYW4gYWJzb2x1dGUgcGF0aG5hbWUpLgorCWlmIChleGlzdHMgJGxpbmUtPnsnZm10J30pIHsKKwkgICAgcHVzaCggQHskcHJvY2Vzc2VzLT57JHNpZH0tPnsnZXJyb3JzJ319LCAkbGluZS0+eydmbXQnfSApOworCX0KKwllbHNpZiAoZXhpc3RzICRsaW5lLT57J21zZyd9KSB7CisJICAgIHB1c2goIEB7JHByb2Nlc3Nlcy0+eyRzaWR9LT57J2Vycm9ycyd9fSwgJGxpbmUtPnsnbXNnJ30gKTsKKwl9CisgICAgfQorCisgICAgZWxzaWYgKCRldmVudCBlcSAnY21kX3BhdGgnKSB7CisJIyMgJHByb2Nlc3Nlcy0+eyRzaWR9LT57J3BhdGgnfSA9ICRsaW5lLT57J3BhdGgnfTsKKwkjCisJIyBMaWtlIGluIHRoZSAnc3RhcnQnIGV2ZW50LCB3ZSBuZWVkIHRvIHJlcGxhY2UgdGhlIHZhbHVlIG9mCisJIyBhcmd2WzBdIHdpdGggYSB0b2tlbiBmb3IgSEVSRURPQyBwdXJwb3Nlcy4gIEhvd2V2ZXIsIHRoZQorCSMgZXZlbnQgaXMgb25seSBlbWl0dGVkIHdoZW4gUlVOVElNRV9QUkVGSVggaXMgZGVmaW5lZCwgc28KKwkjIGp1c3Qgb21pdCBpdCBmb3IgdGVzdGluZyBwdXJwb3Nlcy4KKwkjICRwcm9jZXNzZXMtPnskc2lkfS0+eydwYXRoJ30gPSAiX0VYRV8iOworICAgIH0KKyAgICAKKyAgICBlbHNpZiAoJGV2ZW50IGVxICdjbWRfbmFtZScpIHsKKwkkcHJvY2Vzc2VzLT57JHNpZH0tPnsnbmFtZSd9ID0gJGxpbmUtPnsnbmFtZSd9OworCSRwcm9jZXNzZXMtPnskc2lkfS0+eydoaWVyYXJjaHknfSA9ICRsaW5lLT57J2hpZXJhcmNoeSd9OworICAgIH0KKworICAgIGVsc2lmICgkZXZlbnQgZXEgJ2FsaWFzJykgeworCSRwcm9jZXNzZXMtPnskc2lkfS0+eydhbGlhcyd9LT57J2tleSd9ID0gJGxpbmUtPnsnYWxpYXMnfTsKKwkkcHJvY2Vzc2VzLT57JHNpZH0tPnsnYWxpYXMnfS0+eydhcmd2J30gPSAkbGluZS0+eydhcmd2J307CisgICAgfQorCisgICAgZWxzaWYgKCRldmVudCBlcSAnZGVmX3BhcmFtJykgeworCW15ICRrdjsKKwkka3YtPnsncGFyYW0nfSA9ICRsaW5lLT57J3BhcmFtJ307CisJJGt2LT57J3ZhbHVlJ30gPSAkbGluZS0+eyd2YWx1ZSd9OworCXB1c2goIEB7JHByb2Nlc3Nlcy0+eyRzaWR9LT57J3BhcmFtcyd9fSwgJGt2ICk7CisgICAgfQorCisgICAgZWxzaWYgKCRldmVudCBlcSAnY2hpbGRfc3RhcnQnKSB7CisJaWYgKCRzaG93X2NoaWxkcmVuID09IDEpIHsKKwkgICAgJHByb2Nlc3Nlcy0+eyRzaWR9LT57J2NoaWxkJ30tPnskbGluZS0+eydjaGlsZF9pZCd9fS0+eydjaGlsZF9jbGFzcyd9ID0gJGxpbmUtPnsnY2hpbGRfY2xhc3MnfTsKKwkgICAgJHByb2Nlc3Nlcy0+eyRzaWR9LT57J2NoaWxkJ30tPnskbGluZS0+eydjaGlsZF9pZCd9fS0+eydjaGlsZF9hcmd2J30gPSAkbGluZS0+eydhcmd2J307CisJICAgICRwcm9jZXNzZXMtPnskc2lkfS0+eydjaGlsZCd9LT57JGxpbmUtPnsnY2hpbGRfaWQnfX0tPnsnY2hpbGRfYXJndid9WzBdID0gIl9FWEVfIjsKKwkgICAgJHByb2Nlc3Nlcy0+eyRzaWR9LT57J2NoaWxkJ30tPnskbGluZS0+eydjaGlsZF9pZCd9fS0+eyd1c2Vfc2hlbGwnfSA9ICRsaW5lLT57J3VzZV9zaGVsbCd9ID8gMSA6IDA7CisJfQorICAgIH0KKworICAgIGVsc2lmICgkZXZlbnQgZXEgJ2NoaWxkX2V4aXQnKSB7CisJaWYgKCRzaG93X2NoaWxkcmVuID09IDEpIHsKKwkgICAgJHByb2Nlc3Nlcy0+eyRzaWR9LT57J2NoaWxkJ30tPnskbGluZS0+eydjaGlsZF9pZCd9fS0+eydjaGlsZF9jb2RlJ30gPSAkbGluZS0+eydjb2RlJ307CisJfQorICAgIH0KKworICAgICMgVE9ETyBkZWNpZGUgd2hhdCBpbmZvcm1hdGlvbiB3ZSB3YW50IHRvIHRlc3QgZnJvbSB0aHJlYWQgZXZlbnRzLgorCisgICAgZWxzaWYgKCRldmVudCBlcSAndGhyZWFkX3N0YXJ0JykgeworCWlmICgkc2hvd190aHJlYWRzID09IDEpIHsKKwl9CisgICAgfQorCisgICAgZWxzaWYgKCRldmVudCBlcSAndGhyZWFkX2V4aXQnKSB7CisJaWYgKCRzaG93X3RocmVhZHMgPT0gMSkgeworCX0KKyAgICB9CisKKyAgICAjIFRPRE8gZGVjaWRlIHdoYXQgaW5mb3JtYXRpb24gd2Ugd2FudCB0byB0ZXN0IGZyb20gZXhlYyBldmVudHMuCisKKyAgICBlbHNpZiAoJGV2ZW50IGVxICdleGVjJykgeworCWlmICgkc2hvd19leGVjID09IDEpIHsKKwl9CisgICAgfQorCisgICAgZWxzaWYgKCRldmVudCBlcSAnZXhlY19yZXN1bHQnKSB7CisJaWYgKCRzaG93X2V4ZWMgPT0gMSkgeworCX0KKyAgICB9CisKKyAgICBlbHNpZiAoJGV2ZW50IGVxICdkZWZfcGFyYW0nKSB7CisJIyBBY2N1bXVsYXRlIHBhcmFtZXRlciBrZXkvdmFsdWUgcGFpcnMgYnkga2V5IHJhdGhlciB0aGFuIGluIGFuIGFycmF5CisJIyBzbyB0aGF0IHdlIGdldCBvdmVyd3JpdGUgKGxhc3Qgb25lIHdpbnMpIGVmZmVjdHMuCisJJHByb2Nlc3Nlcy0+eyRzaWR9LT57J3BhcmFtcyd9LT57JGxpbmUtPnsncGFyYW0nfX0gPSAkbGluZS0+eyd2YWx1ZSd9OworICAgIH0KKworICAgIGVsc2lmICgkZXZlbnQgZXEgJ2RlZl9yZXBvJykgeworCSMgJHByb2Nlc3Nlcy0+eyRzaWR9LT57J3JlcG9zJ30tPnskbGluZS0+eydyZXBvJ319ID0gJGxpbmUtPnsnd29ya3RyZWUnfTsKKwkkcHJvY2Vzc2VzLT57JHNpZH0tPnsncmVwb3MnfS0+eyRsaW5lLT57J3JlcG8nfX0gPSAiX1dPUktUUkVFXyI7CisgICAgfQorCisgICAgIyBBIHNlcmllcyBvZiBwb3RlbnRpYWxseSBuZXN0ZWQgYW5kIHRocmVhZGVkIHJlZ2lvbiBhbmQgZGF0YSBldmVudHMKKyAgICAjIGlzIGZ1bmRhbWVudGFsbHkgaW5jb21wYXRpYmlsZSB3aXRoIHRoZSB0eXBlIG9mIHN1bW1hcnkgcmVjb3JkIHdlCisgICAgIyBhcmUgYnVpbGRpbmcgaW4gdGhpcyBzY3JpcHQuICBTaW5jZSB0aGV5IGFyZSBpbnRlbmRlZCBmb3IKKyAgICAjIHBlcmYtdHJhY2UtbGlrZSBhbmFseXNpcyByYXRoZXIgdGhhbiBhIHJlc3VsdCBzdW1tYXJ5LCB3ZSBpZ25vcmUKKyAgICAjIG1vc3Qgb2YgdGhlbSBoZXJlLgorCisgICAgIyBlbHNpZiAoJGV2ZW50IGVxICdyZWdpb25fZW50ZXInKSB7CisgICAgIyB9CisgICAgIyBlbHNpZiAoJGV2ZW50IGVxICdyZWdpb25fbGVhdmUnKSB7CisgICAgIyB9CisKKyAgICBlbHNpZiAoJGV2ZW50IGVxICdkYXRhJykgeworCW15ICRjYXQgPSAkbGluZS0+eydjYXRlZ29yeSd9OworCWlmICgkY2F0IGVxICd0ZXN0X2NhdGVnb3J5JykgeworCSAgICAKKwkgICAgbXkgJGtleSA9ICRsaW5lLT57J2tleSd9OworCSAgICBteSAkdmFsdWUgPSAkbGluZS0+eyd2YWx1ZSd9OworCSAgICAkcHJvY2Vzc2VzLT57JHNpZH0tPnsnZGF0YSd9LT57JGNhdH0tPnska2V5fSA9ICR2YWx1ZTsKKwl9CisgICAgfQorCisgICAgIyBUaGlzIHRyYWNlMiB0YXJnZXQgZG9lcyBub3QgZW1pdCAncHJpbnRmJyBldmVudHMuCisgICAgIworICAgICMgZWxzaWYgKCRldmVudCBlcSAncHJpbnRmJykgeworICAgICMgfQorfQorCisjIER1bXAgdGhlIHJlc3VsdGluZyBoYXNoIGludG8gc29tZXRoaW5nIHRoYXQgd2UgY2FuIGNvbXBhcmUgYWdhaW5zdAorIyBpbiB0aGUgdGVzdCBzY3JpcHQuICBUaGVzZSBvcHRpb25zIG1ha2UgRHVtcGVyIG91dHB1dCBsb29rIGEgbGl0dGxlCisjIGJpdCBsaWtlIEpTT04uICBBbHNvIGNvbnZlcnQgdmFyaWFibGUgcmVmZXJlbmNlcyBvZiB0aGUgZm9ybSAiJFZBUioiCisjIHNvIHRoYXQgdGhlIG1hdGNoaW5nIEhFUkVET0MgZG9lc24ndCBuZWVkIHRvIGVzY2FwZSBpdC4KKworJERhdGE6OkR1bXBlcjo6U29ydGtleXMgPSAxOworJERhdGE6OkR1bXBlcjo6SW5kZW50ID0gMTsKKyREYXRhOjpEdW1wZXI6OlB1cml0eSA9IDE7CiskRGF0YTo6RHVtcGVyOjpQYWlyID0gJzonOworCitteSAkb3V0ID0gRHVtcGVyKCRwcm9jZXNzZXMpOworJG91dCA9fiBzLycvIi9nOworJG91dCA9fiBzL1wkVkFSL1ZBUi9nOworCisjIEZpbmFsbHksIGlmIHdlJ3JlIHJ1bm5pbmcgdGhpcyBzY3JpcHQgdG8gZ2VuZXJhdGUgKG1hbnVhbGx5IGNvbmZpcm1lZCkKKyMgZGF0YSB0byBhZGQgdG8gdGhlIHRlc3Qgc2NyaXB0LCBndWFyZCB0aGUgaW5kZW50YXRpb24uCisKK2lmICgkZ2VuX2hlcmVkb2MgPT0gMSkgeworICAgICRvdXQgPX4gcy9eL1x0XHwvZ21zOworfQorCitwcmludCAkb3V0OwpkaWZmIC0tZ2l0IGEvdC90MDMwMC1jcmVkZW50aWFscy5zaCBiL3QvdDAzMDAtY3JlZGVudGlhbHMuc2gKaW5kZXggODJlYWFlYS4uMzlmMDk3ZSAxMDA3NTUKLS0tIGEvdC90MDMwMC1jcmVkZW50aWFscy5zaAorKysgYi90L3QwMzAwLWNyZWRlbnRpYWxzLnNoCkBAIC0yNDAsNiArMjQwLDU3IEBACiAJRU9GCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21hdGNoIG11bHRpcGxlIGNvbmZpZ3VyZWQgaGVscGVycycgJworCXRlc3RfY29uZmlnIGNyZWRlbnRpYWwuaGVscGVyICJ2ZXJiYXRpbSBcIlwiIFwiXCIiICYmCisJdGVzdF9jb25maWcgY3JlZGVudGlhbC5odHRwczovL2V4YW1wbGUuY29tLmhlbHBlciAiJEhFTFBFUiIgJiYKKwljaGVjayBmaWxsIDw8LVxFT0YKKwlwcm90b2NvbD1odHRwcworCWhvc3Q9ZXhhbXBsZS5jb20KKwlwYXRoPXJlcG8uZ2l0CisJLS0KKwlwcm90b2NvbD1odHRwcworCWhvc3Q9ZXhhbXBsZS5jb20KKwl1c2VybmFtZT1mb28KKwlwYXNzd29yZD1iYXIKKwktLQorCXZlcmJhdGltOiBnZXQKKwl2ZXJiYXRpbTogcHJvdG9jb2w9aHR0cHMKKwl2ZXJiYXRpbTogaG9zdD1leGFtcGxlLmNvbQorCUVPRgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtYXRjaCBtdWx0aXBsZSBjb25maWd1cmVkIGhlbHBlcnMgd2l0aCBVUkxzJyAnCisJdGVzdF9jb25maWcgY3JlZGVudGlhbC5odHRwczovL2V4YW1wbGUuY29tL3JlcG8uZ2l0LmhlbHBlciAidmVyYmF0aW0gXCJcIiBcIlwiIiAmJgorCXRlc3RfY29uZmlnIGNyZWRlbnRpYWwuaHR0cHM6Ly9leGFtcGxlLmNvbS5oZWxwZXIgIiRIRUxQRVIiICYmCisJY2hlY2sgZmlsbCA8PC1cRU9GCisJcHJvdG9jb2w9aHR0cHMKKwlob3N0PWV4YW1wbGUuY29tCisJcGF0aD1yZXBvLmdpdAorCS0tCisJcHJvdG9jb2w9aHR0cHMKKwlob3N0PWV4YW1wbGUuY29tCisJdXNlcm5hbWU9Zm9vCisJcGFzc3dvcmQ9YmFyCisJLS0KKwl2ZXJiYXRpbTogZ2V0CisJdmVyYmF0aW06IHByb3RvY29sPWh0dHBzCisJdmVyYmF0aW06IGhvc3Q9ZXhhbXBsZS5jb20KKwlFT0YKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWF0Y2ggcGVyY2VudC1lbmNvZGVkIHZhbHVlcycgJworCXRlc3RfY29uZmlnIGNyZWRlbnRpYWwuaHR0cHM6Ly9leGFtcGxlLmNvbS8lMjU2Ni5naXQuaGVscGVyICIkSEVMUEVSIiAmJgorCWNoZWNrIGZpbGwgPDwtXEVPRgorCXVybD1odHRwczovL2V4YW1wbGUuY29tLyUyNTY2LmdpdAorCS0tCisJcHJvdG9jb2w9aHR0cHMKKwlob3N0PWV4YW1wbGUuY29tCisJdXNlcm5hbWU9Zm9vCisJcGFzc3dvcmQ9YmFyCisJLS0KKwlFT0YKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAncHVsbCB1c2VybmFtZSBmcm9tIGNvbmZpZycgJwogCXRlc3RfY29uZmlnIGNyZWRlbnRpYWwuaHR0cHM6Ly9leGFtcGxlLmNvbS51c2VybmFtZSBmb28gJiYKIAljaGVjayBmaWxsIDw8LVxFT0YKQEAgLTI1NSw2ICszMDYsNjMgQEAKIAlFT0YKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnaG9ub3JzIHVzZXJuYW1lIGZyb20gVVJMIG92ZXIgaGVscGVyIChVUkwpJyAnCisJdGVzdF9jb25maWcgY3JlZGVudGlhbC5odHRwczovL2V4YW1wbGUuY29tLnVzZXJuYW1lIGJvYiAmJgorCXRlc3RfY29uZmlnIGNyZWRlbnRpYWwuaHR0cHM6Ly9leGFtcGxlLmNvbS5oZWxwZXIgInZlcmJhdGltIFwiXCIgYmFyIiAmJgorCWNoZWNrIGZpbGwgPDwtXEVPRgorCXVybD1odHRwczovL2FsaWNlQGV4YW1wbGUuY29tCisJLS0KKwlwcm90b2NvbD1odHRwcworCWhvc3Q9ZXhhbXBsZS5jb20KKwl1c2VybmFtZT1hbGljZQorCXBhc3N3b3JkPWJhcgorCS0tCisJdmVyYmF0aW06IGdldAorCXZlcmJhdGltOiBwcm90b2NvbD1odHRwcworCXZlcmJhdGltOiBob3N0PWV4YW1wbGUuY29tCisJdmVyYmF0aW06IHVzZXJuYW1lPWFsaWNlCisJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2hvbm9ycyB1c2VybmFtZSBmcm9tIFVSTCBvdmVyIGhlbHBlciAoY29tcG9uZW50cyknICcKKwl0ZXN0X2NvbmZpZyBjcmVkZW50aWFsLmh0dHBzOi8vZXhhbXBsZS5jb20udXNlcm5hbWUgYm9iICYmCisJdGVzdF9jb25maWcgY3JlZGVudGlhbC5odHRwczovL2V4YW1wbGUuY29tLmhlbHBlciAidmVyYmF0aW0gXCJcIiBiYXIiICYmCisJY2hlY2sgZmlsbCA8PC1cRU9GCisJcHJvdG9jb2w9aHR0cHMKKwlob3N0PWV4YW1wbGUuY29tCisJdXNlcm5hbWU9YWxpY2UKKwktLQorCXByb3RvY29sPWh0dHBzCisJaG9zdD1leGFtcGxlLmNvbQorCXVzZXJuYW1lPWFsaWNlCisJcGFzc3dvcmQ9YmFyCisJLS0KKwl2ZXJiYXRpbTogZ2V0CisJdmVyYmF0aW06IHByb3RvY29sPWh0dHBzCisJdmVyYmF0aW06IGhvc3Q9ZXhhbXBsZS5jb20KKwl2ZXJiYXRpbTogdXNlcm5hbWU9YWxpY2UKKwlFT0YKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbGFzdCBtYXRjaGluZyB1c2VybmFtZSB3aW5zJyAnCisJdGVzdF9jb25maWcgY3JlZGVudGlhbC5odHRwczovL2V4YW1wbGUuY29tL3BhdGguZ2l0LnVzZXJuYW1lIGJvYiAmJgorCXRlc3RfY29uZmlnIGNyZWRlbnRpYWwuaHR0cHM6Ly9leGFtcGxlLmNvbS51c2VybmFtZSBhbGljZSAmJgorCXRlc3RfY29uZmlnIGNyZWRlbnRpYWwuaHR0cHM6Ly9leGFtcGxlLmNvbS5oZWxwZXIgInZlcmJhdGltIFwiXCIgYmFyIiAmJgorCWNoZWNrIGZpbGwgPDwtXEVPRgorCXVybD1odHRwczovL2V4YW1wbGUuY29tL3BhdGguZ2l0CisJLS0KKwlwcm90b2NvbD1odHRwcworCWhvc3Q9ZXhhbXBsZS5jb20KKwl1c2VybmFtZT1hbGljZQorCXBhc3N3b3JkPWJhcgorCS0tCisJdmVyYmF0aW06IGdldAorCXZlcmJhdGltOiBwcm90b2NvbD1odHRwcworCXZlcmJhdGltOiBob3N0PWV4YW1wbGUuY29tCisJdmVyYmF0aW06IHVzZXJuYW1lPWFsaWNlCisJRU9GCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2h0dHAgcGF0aHMgY2FuIGJlIHBhcnQgb2YgY29udGV4dCcgJwogCWNoZWNrIGZpbGwgInZlcmJhdGltIGZvbyBiYXIiIDw8LVxFT0YgJiYKIAlwcm90b2NvbD1odHRwcwpAQCAtMjg5LDYgKzM5NywyNiBAQAogCUVPRgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb250ZXh0IHVzZXMgdXJsbWF0Y2gnICcKKwl0ZXN0X2NvbmZpZyAiY3JlZGVudGlhbC5odHRwczovLyoub3JnLnVzZUh0dHBQYXRoIiB0cnVlICYmCisJY2hlY2sgZmlsbCAidmVyYmF0aW0gZm9vIGJhciIgPDwtXEVPRgorCXByb3RvY29sPWh0dHBzCisJaG9zdD1leGFtcGxlLm9yZworCXBhdGg9Zm9vLmdpdAorCS0tCisJcHJvdG9jb2w9aHR0cHMKKwlob3N0PWV4YW1wbGUub3JnCisJcGF0aD1mb28uZ2l0CisJdXNlcm5hbWU9Zm9vCisJcGFzc3dvcmQ9YmFyCisJLS0KKwl2ZXJiYXRpbTogZ2V0CisJdmVyYmF0aW06IHByb3RvY29sPWh0dHBzCisJdmVyYmF0aW06IGhvc3Q9ZXhhbXBsZS5vcmcKKwl2ZXJiYXRpbTogcGF0aD1mb28uZ2l0CisJRU9GCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2hlbHBlcnMgY2FuIGFib3J0IHRoZSBwcm9jZXNzJyAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IFwKIAkJLWMgY3JlZGVudGlhbC5oZWxwZXI9IiFmKCkgeyBlY2hvIHF1aXQ9MTsgfTsgZiIgXApkaWZmIC0tZ2l0IGEvdC90MDMwMS1jcmVkZW50aWFsLWNhY2hlLnNoIGIvdC90MDMwMS1jcmVkZW50aWFsLWNhY2hlLnNoCmluZGV4IGZkOTI1MzMuLmViZDVmYTUgMTAwNzU1Ci0tLSBhL3QvdDAzMDEtY3JlZGVudGlhbC1jYWNoZS5zaAorKysgYi90L3QwMzAxLWNyZWRlbnRpYWwtY2FjaGUuc2gKQEAgLTEwLDcgKzEwLDcgQEAKIH0KIAogIyBkb24ndCBsZWF2ZSBhIHN0YWxlIGRhZW1vbiBydW5uaW5nCi10cmFwICdjb2RlPSQ/OyBnaXQgY3JlZGVudGlhbC1jYWNoZSBleGl0OyAoZXhpdCAkY29kZSk7IGRpZScgRVhJVAordGVzdF9hdGV4aXQgJ2dpdCBjcmVkZW50aWFsLWNhY2hlIGV4aXQnCiAKICMgdGVzdCB0aGF0IHRoZSBkYWVtb24gd29ya3Mgd2l0aCBubyBzcGVjaWFsIHNldHVwCiBoZWxwZXJfdGVzdCBjYWNoZQpAQCAtMTA4LDkgKzEwOCw0IEBACiAKIGhlbHBlcl90ZXN0X3RpbWVvdXQgY2FjaGUgLS10aW1lb3V0PTEKIAotIyB3ZSBjYW4ndCByZWx5IG9uIG91ciAidHJhcCIgYWJvdmUgd29ya2luZyBhZnRlciB0ZXN0X2RvbmUsCi0jIGFzIHRlc3RfZG9uZSB3aWxsIGRlbGV0ZSB0aGUgdHJhc2ggZGlyZWN0b3J5IGNvbnRhaW5pbmcKLSMgb3VyIHNvY2tldCwgbGVhdmluZyB1cyB3aXRoIG5vIHdheSB0byBhY2Nlc3MgdGhlIGRhZW1vbi4KLWdpdCBjcmVkZW50aWFsLWNhY2hlIGV4aXQKLQogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QwNDEwLXBhcnRpYWwtY2xvbmUuc2ggYi90L3QwNDEwLXBhcnRpYWwtY2xvbmUuc2gKaW5kZXggYmEzODg3Zi4uYTM5ODhiZCAxMDA3NTUKLS0tIGEvdC90MDQxMC1wYXJ0aWFsLWNsb25lLnNoCisrKyBiL3QvdDA0MTAtcGFydGlhbC1jbG9uZS5zaApAQCAtMjYsNyArMjYsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZXh0ZW5zaW9ucy5wYXJ0aWFsY2xvbmUgd2l0aG91dCBmaWx0ZXInICcKIAl0ZXN0X2NyZWF0ZV9yZXBvIHNlcnZlciAmJgogCWdpdCBjbG9uZSAtLWZpbHRlcj0iYmxvYjpub25lIiAiZmlsZTovLyQocHdkKS9zZXJ2ZXIiIGNsaWVudCAmJgotCWdpdCAtQyBjbGllbnQgY29uZmlnIC0tdW5zZXQgY29yZS5wYXJ0aWFsY2xvbmVmaWx0ZXIgJiYKKwlnaXQgLUMgY2xpZW50IGNvbmZpZyAtLXVuc2V0IHJlbW90ZS5vcmlnaW4ucGFydGlhbGNsb25lZmlsdGVyICYmCiAJZ2l0IC1DIGNsaWVudCBmZXRjaCBvcmlnaW4KICcKIApAQCAtMTY2LDggKzE2Niw5IEBACiAJIyBhc3NvY2lhdGVkIHBhY2tmaWxlIGNvbnRhaW5zIHRoZSBvYmplY3QKIAlscyByZXBvLy5naXQvb2JqZWN0cy9wYWNrL3BhY2stKi5wcm9taXNvciA+cHJvbWlzb3JsaXN0ICYmCiAJdGVzdF9saW5lX2NvdW50ID0gMSBwcm9taXNvcmxpc3QgJiYKLQlJRFg9JChjYXQgcHJvbWlzb3JsaXN0IHwgc2VkICJzL3Byb21pc29yJC9pZHgvIikgJiYKLQlnaXQgdmVyaWZ5LXBhY2sgLS12ZXJib3NlICIkSURYIiB8IGdyZXAgIiRIQVNIIgorCUlEWD0kKHNlZCAicy9wcm9taXNvciQvaWR4LyIgcHJvbWlzb3JsaXN0KSAmJgorCWdpdCB2ZXJpZnktcGFjayAtLXZlcmJvc2UgIiRJRFgiID5vdXQgJiYKKwlncmVwICIkSEFTSCIgb3V0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoaW5nIG9mIG1pc3Npbmcgb2JqZWN0cyB3b3JrcyB3aXRoIHJlZi1pbi13YW50IGVuYWJsZWQnICcKQEAgLTE4Miw4ICsxODMsNTUgQEAKIAlncmVwICJnaXQ8IGZldGNoPS4qcmVmLWluLXdhbnQiIHRyYWNlCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoaW5nIG9mIG1pc3Npbmcgb2JqZWN0cyBmcm9tIGFub3RoZXIgcHJvbWlzb3IgcmVtb3RlJyAnCisJZ2l0IGNsb25lICJmaWxlOi8vJChwd2QpL3NlcnZlciIgc2VydmVyMiAmJgorCXRlc3RfY29tbWl0IC1DIHNlcnZlcjIgYmFyICYmCisJZ2l0IC1DIHNlcnZlcjIgcmVwYWNrIC1hIC1kIC0td3JpdGUtYml0bWFwLWluZGV4ICYmCisJSEFTSDI9JChnaXQgLUMgc2VydmVyMiByZXYtcGFyc2UgYmFyKSAmJgorCisJZ2l0IC1DIHJlcG8gcmVtb3RlIGFkZCBzZXJ2ZXIyICJmaWxlOi8vJChwd2QpL3NlcnZlcjIiICYmCisJZ2l0IC1DIHJlcG8gY29uZmlnIHJlbW90ZS5zZXJ2ZXIyLnByb21pc29yIHRydWUgJiYKKwlnaXQgLUMgcmVwbyBjYXQtZmlsZSAtcCAiJEhBU0gyIiAmJgorCisJZ2l0IC1DIHJlcG8gZmV0Y2ggc2VydmVyMiAmJgorCXJtIC1yZiByZXBvLy5naXQvb2JqZWN0cy8qICYmCisJZ2l0IC1DIHJlcG8gY2F0LWZpbGUgLXAgIiRIQVNIMiIgJiYKKworCSMgRW5zdXJlIHRoYXQgdGhlIC5wcm9taXNvciBmaWxlIGlzIHdyaXR0ZW4sIGFuZCBjaGVjayB0aGF0IGl0cworCSMgYXNzb2NpYXRlZCBwYWNrZmlsZSBjb250YWlucyB0aGUgb2JqZWN0CisJbHMgcmVwby8uZ2l0L29iamVjdHMvcGFjay9wYWNrLSoucHJvbWlzb3IgPnByb21pc29ybGlzdCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDEgcHJvbWlzb3JsaXN0ICYmCisJSURYPSQoc2VkICJzL3Byb21pc29yJC9pZHgvIiBwcm9taXNvcmxpc3QpICYmCisJZ2l0IHZlcmlmeS1wYWNrIC0tdmVyYm9zZSAiJElEWCIgPm91dCAmJgorCWdyZXAgIiRIQVNIMiIgb3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoaW5nIG9mIG1pc3Npbmcgb2JqZWN0cyBjb25maWd1cmVzIGEgcHJvbWlzb3IgcmVtb3RlJyAnCisJZ2l0IGNsb25lICJmaWxlOi8vJChwd2QpL3NlcnZlciIgc2VydmVyMyAmJgorCXRlc3RfY29tbWl0IC1DIHNlcnZlcjMgYmF6ICYmCisJZ2l0IC1DIHNlcnZlcjMgcmVwYWNrIC1hIC1kIC0td3JpdGUtYml0bWFwLWluZGV4ICYmCisJSEFTSDM9JChnaXQgLUMgc2VydmVyMyByZXYtcGFyc2UgYmF6KSAmJgorCWdpdCAtQyBzZXJ2ZXIzIGNvbmZpZyB1cGxvYWRwYWNrLmFsbG93ZmlsdGVyIDEgJiYKKworCXJtIHJlcG8vLmdpdC9vYmplY3RzL3BhY2svcGFjay0qLnByb21pc29yICYmCisKKwlnaXQgLUMgcmVwbyByZW1vdGUgYWRkIHNlcnZlcjMgImZpbGU6Ly8kKHB3ZCkvc2VydmVyMyIgJiYKKwlnaXQgLUMgcmVwbyBmZXRjaCAtLWZpbHRlcj0iYmxvYjpub25lIiBzZXJ2ZXIzICRIQVNIMyAmJgorCisJdGVzdF9jbXBfY29uZmlnIC1DIHJlcG8gdHJ1ZSByZW1vdGUuc2VydmVyMy5wcm9taXNvciAmJgorCisJIyBFbnN1cmUgdGhhdCB0aGUgLnByb21pc29yIGZpbGUgaXMgd3JpdHRlbiwgYW5kIGNoZWNrIHRoYXQgaXRzCisJIyBhc3NvY2lhdGVkIHBhY2tmaWxlIGNvbnRhaW5zIHRoZSBvYmplY3QKKwlscyByZXBvLy5naXQvb2JqZWN0cy9wYWNrL3BhY2stKi5wcm9taXNvciA+cHJvbWlzb3JsaXN0ICYmCisJdGVzdF9saW5lX2NvdW50ID0gMSBwcm9taXNvcmxpc3QgJiYKKwlJRFg9JChzZWQgInMvcHJvbWlzb3IkL2lkeC8iIHByb21pc29ybGlzdCkgJiYKKwlnaXQgdmVyaWZ5LXBhY2sgLS12ZXJib3NlICIkSURYIiA+b3V0ICYmCisJZ3JlcCAiJEhBU0gzIiBvdXQKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2hpbmcgb2YgbWlzc2luZyBibG9icyB3b3JrcycgJwotCXJtIC1yZiBzZXJ2ZXIgcmVwbyAmJgorCXJtIC1yZiBzZXJ2ZXIgc2VydmVyMiByZXBvICYmCisJcm0gLXJmIHNlcnZlciBzZXJ2ZXIzIHJlcG8gJiYKIAl0ZXN0X2NyZWF0ZV9yZXBvIHNlcnZlciAmJgogCXRlc3RfY29tbWl0IC1DIHNlcnZlciBmb28gJiYKIAlnaXQgLUMgc2VydmVyIHJlcGFjayAtYSAtZCAtLXdyaXRlLWJpdG1hcC1pbmRleCAmJgpAQCAtMjM0LDcgKzI4Miw3IEBACiAKIAlnaXQgLUMgcmVwbyBjb25maWcgY29yZS5yZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbiAxICYmCiAJZ2l0IC1DIHJlcG8gY29uZmlnIGV4dGVuc2lvbnMucGFydGlhbGNsb25lICJhcmJpdHJhcnkgc3RyaW5nIiAmJgotCUdJVF9URVNUX0NPTU1JVF9HUkFQSD0wIGdpdCAtQyByZXBvIHJldi1saXN0IC0tZXhjbHVkZS1wcm9taXNvci1vYmplY3RzIC0tb2JqZWN0cyBiYXIgPm91dCAmJgorCUdJVF9URVNUX0NPTU1JVF9HUkFQSD0wIGdpdCAtQyByZXBvIC1jIGNvcmUuY29tbWl0R3JhcGg9ZmFsc2UgcmV2LWxpc3QgLS1leGNsdWRlLXByb21pc29yLW9iamVjdHMgLS1vYmplY3RzIGJhciA+b3V0ICYmCiAJZ3JlcCAkKGdpdCAtQyByZXBvIHJldi1wYXJzZSBiYXIpIG91dCAmJgogCSEgZ3JlcCAkRk9PIG91dAogJwpAQCAtMzQ5LDcgKzM5Nyw3IEBACiAJZ3JlcCAkKGdpdCAtQyByZXBvIHJldi1wYXJzZSBiYXIpIG91dCAgIyBzYW5pdHkgY2hlY2sgdGhhdCBzb21lIHdhbGtpbmcgd2FzIGRvbmUKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LWxpc3QgYWNjZXB0cyBtaXNzaW5nIGFuZCBwcm9taXNlZCBvYmplY3RzIG9uIGNvbW1hbmQgbGluZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LWxpc3QgZGllcyBmb3IgbWlzc2luZyBvYmplY3RzIG9uIGNtZCBsaW5lJyAnCiAJcm0gLXJmIHJlcG8gJiYKIAl0ZXN0X2NyZWF0ZV9yZXBvIHJlcG8gJiYKIAl0ZXN0X2NvbW1pdCAtQyByZXBvIGZvbyAmJgpAQCAtMzY2LDcgKzQxNCwzMiBAQAogCiAJZ2l0IC1DIHJlcG8gY29uZmlnIGNvcmUucmVwb3NpdG9yeWZvcm1hdHZlcnNpb24gMSAmJgogCWdpdCAtQyByZXBvIGNvbmZpZyBleHRlbnNpb25zLnBhcnRpYWxjbG9uZSAiYXJiaXRyYXJ5IHN0cmluZyIgJiYKLQlnaXQgLUMgcmVwbyByZXYtbGlzdCAtLWV4Y2x1ZGUtcHJvbWlzb3Itb2JqZWN0cyAtLW9iamVjdHMgIiRDT01NSVQiICIkVFJFRSIgIiRCTE9CIgorCisJZm9yIE9CSiBpbiAiJENPTU1JVCIgIiRUUkVFIiAiJEJMT0IiOyBkbworCQl0ZXN0X211c3RfZmFpbCBnaXQgLUMgcmVwbyByZXYtbGlzdCAtLW9iamVjdHMgXAorCQkJLS1leGNsdWRlLXByb21pc29yLW9iamVjdHMgIiRPQkoiICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyByZXBvIHJldi1saXN0IC0tb2JqZWN0cy1lZGdlLWFnZ3Jlc3NpdmUgXAorCQkJLS1leGNsdWRlLXByb21pc29yLW9iamVjdHMgIiRPQkoiICYmCisKKwkJIyBEbyBub3QgZGllIG9yIGNyYXNoIHdoZW4gLS1pZ25vcmUtbWlzc2luZyBpcyBwYXNzZWQuCisJCWdpdCAtQyByZXBvIHJldi1saXN0IC0taWdub3JlLW1pc3NpbmcgLS1vYmplY3RzIFwKKwkJCS0tZXhjbHVkZS1wcm9taXNvci1vYmplY3RzICIkT0JKIiAmJgorCQlnaXQgLUMgcmVwbyByZXYtbGlzdCAtLWlnbm9yZS1taXNzaW5nIC0tb2JqZWN0cy1lZGdlLWFnZ3Jlc3NpdmUgXAorCQkJLS1leGNsdWRlLXByb21pc29yLW9iamVjdHMgIiRPQkoiCisJZG9uZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaW5nbGUgcHJvbWlzb3IgcmVtb3RlIGNhbiBiZSByZS1pbml0aWFsaXplZCBncmFjZWZ1bGx5JyAnCisJIyBlbnN1cmUgb25lIHByb21pc29yIGlzIGluIHRoZSBwcm9taXNvcnMgbGlzdAorCXJtIC1yZiByZXBvICYmCisJdGVzdF9jcmVhdGVfcmVwbyByZXBvICYmCisJdGVzdF9jcmVhdGVfcmVwbyBvdGhlciAmJgorCWdpdCAtQyByZXBvIHJlbW90ZSBhZGQgZm9vICJmaWxlOi8vJChwd2QpL290aGVyIiAmJgorCWdpdCAtQyByZXBvIGNvbmZpZyByZW1vdGUuZm9vLnByb21pc29yIHRydWUgJiYKKwlnaXQgLUMgcmVwbyBjb25maWcgZXh0ZW5zaW9ucy5wYXJ0aWFsY2xvbmUgZm9vICYmCisKKwkjIHJlaW5pdGlhbGl6ZSB0aGUgcHJvbWlzb3JzIGxpc3QKKwlnaXQgLUMgcmVwbyBmZXRjaCAtLWZpbHRlcj1ibG9iOm5vbmUgZm9vCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2djIHJlcGFja3MgcHJvbWlzb3Igb2JqZWN0cyBzZXBhcmF0ZWx5IGZyb20gbm9uLXByb21pc29yIG9iamVjdHMnICcKQEAgLTQ4MCw3ICs1NTMsMjAgQEAKIAkhIGdyZXAgIiRUUkVFX0hBU0giIG91dAogJwogCi1MSUJfSFRUUERfUE9SVD0xMjM0NSAgIyBkZWZhdWx0IHBvcnQsIDQxMCwgY2Fubm90IGJlIHVzZWQgYXMgbm9uLXJvb3QKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RvIG5vdCBmZXRjaCB3aGVuIGNoZWNraW5nIGV4aXN0ZW5jZSBvZiB0cmVlIHdlIGNvbnN0cnVjdCBvdXJzZWx2ZXMnICcKKwlybSAtcmYgcmVwbyAmJgorCXRlc3RfY3JlYXRlX3JlcG8gcmVwbyAmJgorCXRlc3RfY29tbWl0IC1DIHJlcG8gYmFzZSAmJgorCXRlc3RfY29tbWl0IC1DIHJlcG8gc2lkZTEgJiYKKwlnaXQgLUMgcmVwbyBjaGVja291dCBiYXNlICYmCisJdGVzdF9jb21taXQgLUMgcmVwbyBzaWRlMiAmJgorCisJZ2l0IC1DIHJlcG8gY29uZmlnIGNvcmUucmVwb3NpdG9yeWZvcm1hdHZlcnNpb24gMSAmJgorCWdpdCAtQyByZXBvIGNvbmZpZyBleHRlbnNpb25zLnBhcnRpYWxjbG9uZSAiYXJiaXRyYXJ5IHN0cmluZyIgJiYKKworCWdpdCAtQyByZXBvIGNoZXJyeS1waWNrIHNpZGUxCisnCisKIC4gIiRURVNUX0RJUkVDVE9SWSIvbGliLWh0dHBkLnNoCiBzdGFydF9odHRwZAogCkBAIC01MDMsMTAgKzU4OSwxMiBAQAogCSMgYXNzb2NpYXRlZCBwYWNrZmlsZSBjb250YWlucyB0aGUgb2JqZWN0CiAJbHMgcmVwby8uZ2l0L29iamVjdHMvcGFjay9wYWNrLSoucHJvbWlzb3IgPnByb21pc29ybGlzdCAmJgogCXRlc3RfbGluZV9jb3VudCA9IDEgcHJvbWlzb3JsaXN0ICYmCi0JSURYPSQoY2F0IHByb21pc29ybGlzdCB8IHNlZCAicy9wcm9taXNvciQvaWR4LyIpICYmCi0JZ2l0IHZlcmlmeS1wYWNrIC0tdmVyYm9zZSAiJElEWCIgfCBncmVwICIkSEFTSCIKKwlJRFg9JChzZWQgInMvcHJvbWlzb3IkL2lkeC8iIHByb21pc29ybGlzdCkgJiYKKwlnaXQgdmVyaWZ5LXBhY2sgLS12ZXJib3NlICIkSURYIiA+b3V0ICYmCisJZ3JlcCAiJEhBU0giIG91dAogJwogCi1zdG9wX2h0dHBkCisjIERPIE5PVCBhZGQgbm9uLWh0dHBkLXNwZWNpZmljIHRlc3RzIGhlcmUsIGJlY2F1c2UgdGhlIGxhc3QgcGFydCBvZiB0aGlzCisjIHRlc3Qgc2NyaXB0IGlzIG9ubHkgZXhlY3V0ZWQgd2hlbiBodHRwZCBpcyBhdmFpbGFibGUgYW5kIGVuYWJsZWQuCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MDUwMC1wcm9ncmVzcy1kaXNwbGF5LnNoIGIvdC90MDUwMC1wcm9ncmVzcy1kaXNwbGF5LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQyZDA4OGQKLS0tIC9kZXYvbnVsbAorKysgYi90L3QwNTAwLXByb2dyZXNzLWRpc3BsYXkuc2gKQEAgLTAsMCArMSwyODYgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdwcm9ncmVzcyBkaXNwbGF5JworCisuIC4vdGVzdC1saWIuc2gKKworc2hvd19jciAoKSB7CisJdHIgJ1wwMTUnIFEgfCBzZWQgLWUgInMvUS88Q1I+XFwkTEYvZyIKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2ltcGxlIHByb2dyZXNzIGRpc3BsYXknICcKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJV29ya2luZyBoYXJkOiAxPENSPgorCVdvcmtpbmcgaGFyZDogMjxDUj4KKwlXb3JraW5nIGhhcmQ6IDU8Q1I+CisJV29ya2luZyBoYXJkOiA1LCBkb25lLgorCUVPRgorCisJY2F0ID5pbiA8PC1cRU9GICYmCisJdXBkYXRlCisJcHJvZ3Jlc3MgMQorCXVwZGF0ZQorCXByb2dyZXNzIDIKKwlwcm9ncmVzcyAzCisJcHJvZ3Jlc3MgNAorCXVwZGF0ZQorCXByb2dyZXNzIDUKKwlFT0YKKwl0ZXN0LXRvb2wgcHJvZ3Jlc3MgIldvcmtpbmcgaGFyZCIgPGluIDI+c3RkZXJyICYmCisKKwlzaG93X2NyIDxzdGRlcnIgPm91dCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3Qgb3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Byb2dyZXNzIGRpc3BsYXkgd2l0aCB0b3RhbCcgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlXb3JraW5nIGhhcmQ6ICAzMyUgKDEvMyk8Q1I+CisJV29ya2luZyBoYXJkOiAgNjYlICgyLzMpPENSPgorCVdvcmtpbmcgaGFyZDogMTAwJSAoMy8zKTxDUj4KKwlXb3JraW5nIGhhcmQ6IDEwMCUgKDMvMyksIGRvbmUuCisJRU9GCisKKwljYXQgPmluIDw8LVxFT0YgJiYKKwlwcm9ncmVzcyAxCisJcHJvZ3Jlc3MgMgorCXByb2dyZXNzIDMKKwlFT0YKKwl0ZXN0LXRvb2wgcHJvZ3Jlc3MgLS10b3RhbD0zICJXb3JraW5nIGhhcmQiIDxpbiAyPnN0ZGVyciAmJgorCisJc2hvd19jciA8c3RkZXJyID5vdXQgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IG91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcm9ncmVzcyBkaXNwbGF5IGJyZWFrcyBsb25nIGxpbmVzICMxJyAnCisJc2VkIC1lICJzL1okLy8iID5leHBlY3QgPDxcRU9GICYmCitXb3JraW5nIGhhcmQuLi4uLi4uMi4uLi4uLi4uLjMuLi4uLi4uLi40Li4uLi4uLi4uNS4uLi4uLi4uLjY6ICAgMCUgKDEwMC8xMDAwMDApPENSPgorV29ya2luZyBoYXJkLi4uLi4uLjIuLi4uLi4uLi4zLi4uLi4uLi4uNC4uLi4uLi4uLjUuLi4uLi4uLi42OiAgIDElICgxMDAwLzEwMDAwMCk8Q1I+CitXb3JraW5nIGhhcmQuLi4uLi4uMi4uLi4uLi4uLjMuLi4uLi4uLi40Li4uLi4uLi4uNS4uLi4uLi4uLjY6ICAgICAgICAgICAgICAgICAgIFoKKyAgIDEwJSAoMTAwMDAvMTAwMDAwKTxDUj4KKyAgMTAwJSAoMTAwMDAwLzEwMDAwMCk8Q1I+CisgIDEwMCUgKDEwMDAwMC8xMDAwMDApLCBkb25lLgorRU9GCisKKwljYXQgPmluIDw8LVxFT0YgJiYKKwlwcm9ncmVzcyAxMDAKKwlwcm9ncmVzcyAxMDAwCisJcHJvZ3Jlc3MgMTAwMDAKKwlwcm9ncmVzcyAxMDAwMDAKKwlFT0YKKwl0ZXN0LXRvb2wgcHJvZ3Jlc3MgLS10b3RhbD0xMDAwMDAgXAorCQkiV29ya2luZyBoYXJkLi4uLi4uLjIuLi4uLi4uLi4zLi4uLi4uLi4uNC4uLi4uLi4uLjUuLi4uLi4uLi42IiBcCisJCTxpbiAyPnN0ZGVyciAmJgorCisJc2hvd19jciA8c3RkZXJyID5vdXQgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IG91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcm9ncmVzcyBkaXNwbGF5IGJyZWFrcyBsb25nIGxpbmVzICMyJyAnCisJIyBOb3RlOiB3ZSBkbyBub3QgbmVlZCB0aGF0IG1hbnkgc3BhY2VzIGFmdGVyIHRoZSB0aXRsZSB0byBjb3ZlciB1cAorCSMgdGhlIGxhc3QgbGluZSBiZWZvcmUgYnJlYWtpbmcgdGhlIHByb2dyZXNzIGxpbmUuCisJc2VkIC1lICJzL1okLy8iID5leHBlY3QgPDxcRU9GICYmCitXb3JraW5nIGhhcmQuLi4uLi4uMi4uLi4uLi4uLjMuLi4uLi4uLi40Li4uLi4uLi4uNS4uLi4uLi4uLjY6ICAgMCUgKDEvMTAwMDAwKTxDUj4KK1dvcmtpbmcgaGFyZC4uLi4uLi4yLi4uLi4uLi4uMy4uLi4uLi4uLjQuLi4uLi4uLi41Li4uLi4uLi4uNjogICAwJSAoMi8xMDAwMDApPENSPgorV29ya2luZyBoYXJkLi4uLi4uLjIuLi4uLi4uLi4zLi4uLi4uLi4uNC4uLi4uLi4uLjUuLi4uLi4uLi42OiAgICAgICAgICAgICAgICAgICBaCisgICAxMCUgKDEwMDAwLzEwMDAwMCk8Q1I+CisgIDEwMCUgKDEwMDAwMC8xMDAwMDApPENSPgorICAxMDAlICgxMDAwMDAvMTAwMDAwKSwgZG9uZS4KK0VPRgorCisJY2F0ID5pbiA8PC1cRU9GICYmCisJdXBkYXRlCisJcHJvZ3Jlc3MgMQorCXVwZGF0ZQorCXByb2dyZXNzIDIKKwlwcm9ncmVzcyAxMDAwMAorCXByb2dyZXNzIDEwMDAwMAorCUVPRgorCXRlc3QtdG9vbCBwcm9ncmVzcyAtLXRvdGFsPTEwMDAwMCBcCisJCSJXb3JraW5nIGhhcmQuLi4uLi4uMi4uLi4uLi4uLjMuLi4uLi4uLi40Li4uLi4uLi4uNS4uLi4uLi4uLjYiIFwKKwkJPGluIDI+c3RkZXJyICYmCisKKwlzaG93X2NyIDxzdGRlcnIgPm91dCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3Qgb3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Byb2dyZXNzIGRpc3BsYXkgYnJlYWtzIGxvbmcgbGluZXMgIzMgLSBldmVuIHRoZSBmaXJzdCBpcyB0b28gbG9uZycgJworCSMgTm90ZTogd2UgZG8gbm90IGFjdHVhbGx5IG5lZWQgYW55IHNwYWNlcyBhdCB0aGUgZW5kIG9mIHRoZSB0aXRsZQorCSMgbGluZSwgYmVjYXVzZSB0aGVyZSBpcyBubyBwcmV2aW91cyBwcm9ncmVzcyBsaW5lIHRvIGNvdmVyIHVwLgorCXNlZCAtZSAicy9aJC8vIiA+ZXhwZWN0IDw8XEVPRiAmJgorV29ya2luZyBoYXJkLi4uLi4uLjIuLi4uLi4uLi4zLi4uLi4uLi4uNC4uLi4uLi4uLjUuLi4uLi4uLi42OiAgICAgICAgICAgICAgICAgICBaCisgICAyNSUgKDI1MDAwLzEwMDAwMCk8Q1I+CisgICA1MCUgKDUwMDAwLzEwMDAwMCk8Q1I+CisgICA3NSUgKDc1MDAwLzEwMDAwMCk8Q1I+CisgIDEwMCUgKDEwMDAwMC8xMDAwMDApPENSPgorICAxMDAlICgxMDAwMDAvMTAwMDAwKSwgZG9uZS4KK0VPRgorCisJY2F0ID5pbiA8PC1cRU9GICYmCisJcHJvZ3Jlc3MgMjUwMDAKKwlwcm9ncmVzcyA1MDAwMAorCXByb2dyZXNzIDc1MDAwCisJcHJvZ3Jlc3MgMTAwMDAwCisJRU9GCisJdGVzdC10b29sIHByb2dyZXNzIC0tdG90YWw9MTAwMDAwIFwKKwkJIldvcmtpbmcgaGFyZC4uLi4uLi4yLi4uLi4uLi4uMy4uLi4uLi4uLjQuLi4uLi4uLi41Li4uLi4uLi4uNiIgXAorCQk8aW4gMj5zdGRlcnIgJiYKKworCXNob3dfY3IgPHN0ZGVyciA+b3V0ICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBvdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHJvZ3Jlc3MgZGlzcGxheSBicmVha3MgbG9uZyBsaW5lcyAjNCAtIHRpdGxlIGxpbmUgbWF0Y2hlcyB0ZXJtaW5hbCB3aWR0aCcgJworCWNhdCA+ZXhwZWN0IDw8XEVPRiAmJgorV29ya2luZyBoYXJkLi4uLi4uLjIuLi4uLi4uLi4zLi4uLi4uLi4uNC4uLi4uLi4uLjUuLi4uLi4uLi42Li4uLi4uLi4uNy4uLi4uLi4uLjoKKyAgIDI1JSAoMjUwMDAvMTAwMDAwKTxDUj4KKyAgIDUwJSAoNTAwMDAvMTAwMDAwKTxDUj4KKyAgIDc1JSAoNzUwMDAvMTAwMDAwKTxDUj4KKyAgMTAwJSAoMTAwMDAwLzEwMDAwMCk8Q1I+CisgIDEwMCUgKDEwMDAwMC8xMDAwMDApLCBkb25lLgorRU9GCisKKwljYXQgPmluIDw8LVxFT0YgJiYKKwlwcm9ncmVzcyAyNTAwMAorCXByb2dyZXNzIDUwMDAwCisJcHJvZ3Jlc3MgNzUwMDAKKwlwcm9ncmVzcyAxMDAwMDAKKwlFT0YKKwl0ZXN0LXRvb2wgcHJvZ3Jlc3MgLS10b3RhbD0xMDAwMDAgXAorCQkiV29ya2luZyBoYXJkLi4uLi4uLjIuLi4uLi4uLi4zLi4uLi4uLi4uNC4uLi4uLi4uLjUuLi4uLi4uLi42Li4uLi4uLi4uNy4uLi4uLi4uLiIgXAorCQk8aW4gMj5zdGRlcnIgJiYKKworCXNob3dfY3IgPHN0ZGVyciA+b3V0ICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBvdXQKKycKKworIyBQcm9ncmVzcyBjb3VudGVyIGdvZXMgYmFja3dhcmRzLCB0aGlzIHNob3VsZCBub3QgaGFwcGVuIGluIHByYWN0aWNlLgordGVzdF9leHBlY3Rfc3VjY2VzcyAncHJvZ3Jlc3Mgc2hvcnRlbnMgLSBjcmF6eSBjYWxsZXInICcKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJV29ya2luZyBoYXJkOiAgMTAlICgxMDAvMTAwMCk8Q1I+CisJV29ya2luZyBoYXJkOiAgMjAlICgyMDAvMTAwMCk8Q1I+CisJV29ya2luZyBoYXJkOiAgIDAlICgxLzEwMDApICA8Q1I+CisJV29ya2luZyBoYXJkOiAxMDAlICgxMDAwLzEwMDApPENSPgorCVdvcmtpbmcgaGFyZDogMTAwJSAoMTAwMC8xMDAwKSwgZG9uZS4KKwlFT0YKKworCWNhdCA+aW4gPDwtXEVPRiAmJgorCXByb2dyZXNzIDEwMAorCXByb2dyZXNzIDIwMAorCXByb2dyZXNzIDEKKwlwcm9ncmVzcyAxMDAwCisJRU9GCisJdGVzdC10b29sIHByb2dyZXNzIC0tdG90YWw9MTAwMCAiV29ya2luZyBoYXJkIiA8aW4gMj5zdGRlcnIgJiYKKworCXNob3dfY3IgPHN0ZGVyciA+b3V0ICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBvdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHJvZ3Jlc3MgZGlzcGxheSB3aXRoIHRocm91Z2hwdXQnICcKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJV29ya2luZyBoYXJkOiAxMDxDUj4KKwlXb3JraW5nIGhhcmQ6IDIwLCAyMDAuMDAgS2lCIHwgMTAwLjAwIEtpQi9zPENSPgorCVdvcmtpbmcgaGFyZDogMzAsIDMwMC4wMCBLaUIgfCAxMDAuMDAgS2lCL3M8Q1I+CisJV29ya2luZyBoYXJkOiA0MCwgNDAwLjAwIEtpQiB8IDEwMC4wMCBLaUIvczxDUj4KKwlXb3JraW5nIGhhcmQ6IDQwLCA0MDAuMDAgS2lCIHwgMTAwLjAwIEtpQi9zLCBkb25lLgorCUVPRgorCisJY2F0ID5pbiA8PC1cRU9GICYmCisJdGhyb3VnaHB1dCAxMDI0MDAgMTAwMAorCXVwZGF0ZQorCXByb2dyZXNzIDEwCisJdGhyb3VnaHB1dCAyMDQ4MDAgMjAwMAorCXVwZGF0ZQorCXByb2dyZXNzIDIwCisJdGhyb3VnaHB1dCAzMDcyMDAgMzAwMAorCXVwZGF0ZQorCXByb2dyZXNzIDMwCisJdGhyb3VnaHB1dCA0MDk2MDAgNDAwMAorCXVwZGF0ZQorCXByb2dyZXNzIDQwCisJRU9GCisJdGVzdC10b29sIHByb2dyZXNzICJXb3JraW5nIGhhcmQiIDxpbiAyPnN0ZGVyciAmJgorCisJc2hvd19jciA8c3RkZXJyID5vdXQgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IG91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcm9ncmVzcyBkaXNwbGF5IHdpdGggdGhyb3VnaHB1dCBhbmQgdG90YWwnICcKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJV29ya2luZyBoYXJkOiAgMjUlICgxMC80MCk8Q1I+CisJV29ya2luZyBoYXJkOiAgNTAlICgyMC80MCksIDIwMC4wMCBLaUIgfCAxMDAuMDAgS2lCL3M8Q1I+CisJV29ya2luZyBoYXJkOiAgNzUlICgzMC80MCksIDMwMC4wMCBLaUIgfCAxMDAuMDAgS2lCL3M8Q1I+CisJV29ya2luZyBoYXJkOiAxMDAlICg0MC80MCksIDQwMC4wMCBLaUIgfCAxMDAuMDAgS2lCL3M8Q1I+CisJV29ya2luZyBoYXJkOiAxMDAlICg0MC80MCksIDQwMC4wMCBLaUIgfCAxMDAuMDAgS2lCL3MsIGRvbmUuCisJRU9GCisKKwljYXQgPmluIDw8LVxFT0YgJiYKKwl0aHJvdWdocHV0IDEwMjQwMCAxMDAwCisJcHJvZ3Jlc3MgMTAKKwl0aHJvdWdocHV0IDIwNDgwMCAyMDAwCisJcHJvZ3Jlc3MgMjAKKwl0aHJvdWdocHV0IDMwNzIwMCAzMDAwCisJcHJvZ3Jlc3MgMzAKKwl0aHJvdWdocHV0IDQwOTYwMCA0MDAwCisJcHJvZ3Jlc3MgNDAKKwlFT0YKKwl0ZXN0LXRvb2wgcHJvZ3Jlc3MgLS10b3RhbD00MCAiV29ya2luZyBoYXJkIiA8aW4gMj5zdGRlcnIgJiYKKworCXNob3dfY3IgPHN0ZGVyciA+b3V0ICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBvdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY292ZXIgdXAgYWZ0ZXIgdGhyb3VnaHB1dCBzaG9ydGVucycgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlXb3JraW5nIGhhcmQ6IDE8Q1I+CisJV29ya2luZyBoYXJkOiAyLCA4MDAuMDAgS2lCIHwgNDAwLjAwIEtpQi9zPENSPgorCVdvcmtpbmcgaGFyZDogMywgMS4xNyBNaUIgfCA0MDAuMDAgS2lCL3MgIDxDUj4KKwlXb3JraW5nIGhhcmQ6IDQsIDEuNTYgTWlCIHwgNDAwLjAwIEtpQi9zPENSPgorCVdvcmtpbmcgaGFyZDogNCwgMS41NiBNaUIgfCA0MDAuMDAgS2lCL3MsIGRvbmUuCisJRU9GCisKKwljYXQgPmluIDw8LVxFT0YgJiYKKwl0aHJvdWdocHV0IDQwOTYwMCAxMDAwCisJdXBkYXRlCisJcHJvZ3Jlc3MgMQorCXRocm91Z2hwdXQgODE5MjAwIDIwMDAKKwl1cGRhdGUKKwlwcm9ncmVzcyAyCisJdGhyb3VnaHB1dCAxMjI4ODAwIDMwMDAKKwl1cGRhdGUKKwlwcm9ncmVzcyAzCisJdGhyb3VnaHB1dCAxNjM4NDAwIDQwMDAKKwl1cGRhdGUKKwlwcm9ncmVzcyA0CisJRU9GCisJdGVzdC10b29sIHByb2dyZXNzICJXb3JraW5nIGhhcmQiIDxpbiAyPnN0ZGVyciAmJgorCisJc2hvd19jciA8c3RkZXJyID5vdXQgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IG91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3ZlciB1cCBhZnRlciB0aHJvdWdocHV0IHNob3J0ZW5zIGEgbG90JyAnCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCVdvcmtpbmcgaGFyZDogMTxDUj4KKwlXb3JraW5nIGhhcmQ6IDIsIDEwMDAuMDAgS2lCIHwgMTAwMC4wMCBLaUIvczxDUj4KKwlXb3JraW5nIGhhcmQ6IDMsIDMuMDAgTWlCIHwgMS41MCBNaUIvcyAgICAgIDxDUj4KKwlXb3JraW5nIGhhcmQ6IDMsIDMuMDAgTWlCIHwgMTAyNC4wMCBLaUIvcywgZG9uZS4KKwlFT0YKKworCWNhdCA+aW4gPDwtXEVPRiAmJgorCXRocm91Z2hwdXQgMSAxMDAwCisJdXBkYXRlCisJcHJvZ3Jlc3MgMQorCXRocm91Z2hwdXQgMTAyNDAwMCAyMDAwCisJdXBkYXRlCisJcHJvZ3Jlc3MgMgorCXRocm91Z2hwdXQgMzE0NTcyOCAzMDAwCisJdXBkYXRlCisJcHJvZ3Jlc3MgMworCUVPRgorCXRlc3QtdG9vbCBwcm9ncmVzcyAiV29ya2luZyBoYXJkIiA8aW4gMj5zdGRlcnIgJiYKKworCXNob3dfY3IgPHN0ZGVyciA+b3V0ICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBvdXQKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxMDA3LWhhc2gtb2JqZWN0LnNoIGIvdC90MTAwNy1oYXNoLW9iamVjdC5zaAppbmRleCBhMzc3NTMwLi42NGIzNDBmIDEwMDc1NQotLS0gYS90L3QxMDA3LWhhc2gtb2JqZWN0LnNoCisrKyBiL3QvdDEwMDctaGFzaC1vYmplY3Quc2gKQEAgLTksMjIgKzksMTkgQEAKIH0KIAogdGVzdF9ibG9iX2RvZXNfbm90X2V4aXN0KCkgewotCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgU0hBMSAnYmxvYiBkb2VzIG5vdCBleGlzdCBpbiBkYXRhYmFzZScgIgorCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Jsb2IgZG9lcyBub3QgZXhpc3QgaW4gZGF0YWJhc2UnICIKIAkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNhdC1maWxlIGJsb2IgJDEKIAkiCiB9CiAKIHRlc3RfYmxvYl9leGlzdHMoKSB7Ci0JdGVzdF9leHBlY3Rfc3VjY2VzcyBTSEExICdibG9iIGV4aXN0cyBpbiBkYXRhYmFzZScgIgorCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Jsb2IgZXhpc3RzIGluIGRhdGFiYXNlJyAiCiAJCWdpdCBjYXQtZmlsZSBibG9iICQxCiAJIgogfQogCiBoZWxsb19jb250ZW50PSJIZWxsbyBXb3JsZCIKLWhlbGxvX3NoYTE9NWUxYzMwOWRhZTdmNDVlMGYzOWIxYmYzYWMzY2Q5ZGIxMmU3ZDY4OQotCiBleGFtcGxlX2NvbnRlbnQ9IlRoaXMgaXMgYW4gZXhhbXBsZSIKLWV4YW1wbGVfc2hhMT1kZGQzZjgzNmQzZTNmYmI3YWUyODlhYTlhZTgzNTM2Zjc2OTU2Mzk5CiAKIHNldHVwX3JlcG8oKSB7CiAJZWNob193aXRob3V0X25ld2xpbmUgIiRoZWxsb19jb250ZW50IiA+IGhlbGxvCkBAIC00NCw3ICs0MSwxNiBAQAogCXJtIC1yZiAkdGVzdF9yZXBvCiB9CiAKLXNldHVwX3JlcG8KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJc2V0dXBfcmVwbyAmJgorCXRlc3Rfb2lkX2NhY2hlIDw8LUVPRgorCWhlbGxvIHNoYTE6NWUxYzMwOWRhZTdmNDVlMGYzOWIxYmYzYWMzY2Q5ZGIxMmU3ZDY4OQorCWhlbGxvIHNoYTI1NjoxZTNiNmMwNGQyZWViMmIzZTQ1YzhhMzMwNDQ1NDA0YzBiN2NjN2IyNTdlMmIwOTcxNjdkMjZmNTIzMDA5MGM0CisKKwlleGFtcGxlIHNoYTE6ZGRkM2Y4MzZkM2UzZmJiN2FlMjg5YWE5YWU4MzUzNmY3Njk1NjM5OQorCWV4YW1wbGUgc2hhMjU2OmI0NGZlMWZlNjU1ODk4NDgyNTM3MzdkYjg1OWJkNDkwNDUzNTEwNzE5ZDc0MjRkYWFiMDNkYWYwNzY3Yjg1YWUKKwlFT0YKKycKIAogIyBBcmd1bWVudCBjaGVja2luZwogCkBAIC03MywyMyArNzksMjMgQEAKIAogcHVzaF9yZXBvCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgU0hBMSAnaGFzaCBhIGZpbGUnICcKLQl0ZXN0ICRoZWxsb19zaGExID0gJChnaXQgaGFzaC1vYmplY3QgaGVsbG8pCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdoYXNoIGEgZmlsZScgJworCXRlc3QgIiQodGVzdF9vaWQgaGVsbG8pIiA9ICQoZ2l0IGhhc2gtb2JqZWN0IGhlbGxvKQogJwogCi10ZXN0X2Jsb2JfZG9lc19ub3RfZXhpc3QgJGhlbGxvX3NoYTEKK3Rlc3RfYmxvYl9kb2VzX25vdF9leGlzdCAiJCh0ZXN0X29pZCBoZWxsbykiCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgU0hBMSAnaGFzaCBmcm9tIHN0ZGluJyAnCi0JdGVzdCAkZXhhbXBsZV9zaGExID0gJChnaXQgaGFzaC1vYmplY3QgLS1zdGRpbiA8IGV4YW1wbGUpCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdoYXNoIGZyb20gc3RkaW4nICcKKwl0ZXN0ICIkKHRlc3Rfb2lkIGV4YW1wbGUpIiA9ICQoZ2l0IGhhc2gtb2JqZWN0IC0tc3RkaW4gPCBleGFtcGxlKQogJwogCi10ZXN0X2Jsb2JfZG9lc19ub3RfZXhpc3QgJGV4YW1wbGVfc2hhMQordGVzdF9ibG9iX2RvZXNfbm90X2V4aXN0ICIkKHRlc3Rfb2lkIGV4YW1wbGUpIgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFNIQTEgJ2hhc2ggYSBmaWxlIGFuZCB3cml0ZSB0byBkYXRhYmFzZScgJwotCXRlc3QgJGhlbGxvX3NoYTEgPSAkKGdpdCBoYXNoLW9iamVjdCAtdyBoZWxsbykKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2hhc2ggYSBmaWxlIGFuZCB3cml0ZSB0byBkYXRhYmFzZScgJworCXRlc3QgIiQodGVzdF9vaWQgaGVsbG8pIiA9ICQoZ2l0IGhhc2gtb2JqZWN0IC13IGhlbGxvKQogJwogCi10ZXN0X2Jsb2JfZXhpc3RzICRoZWxsb19zaGExCit0ZXN0X2Jsb2JfZXhpc3RzICIkKHRlc3Rfb2lkIGhlbGxvKSIKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGhhc2gtb2JqZWN0IC0tc3RkaW4gZmlsZTEgPGZpbGUwIGZpcnN0IG9wZXJhdGVzIG9uIGZpbGUwLCB0aGVuIGZpbGUxJyAnCiAJZWNobyBmb28gPiBmaWxlMSAmJgpAQCAtMTYxLDExICsxNjcsMTEgQEAKIGZvciBhcmdzIGluICItdyAtLXN0ZGluIiAiLS1zdGRpbiAtdyI7IGRvCiAJcHVzaF9yZXBvCiAKLQl0ZXN0X2V4cGVjdF9zdWNjZXNzIFNIQTEgImhhc2ggZnJvbSBzdGRpbiBhbmQgd3JpdGUgdG8gZGF0YWJhc2UgKCRhcmdzKSIgJwotCQl0ZXN0ICRleGFtcGxlX3NoYTEgPSAkKGdpdCBoYXNoLW9iamVjdCAkYXJncyA8IGV4YW1wbGUpCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiaGFzaCBmcm9tIHN0ZGluIGFuZCB3cml0ZSB0byBkYXRhYmFzZSAoJGFyZ3MpIiAnCisJCXRlc3QgIiQodGVzdF9vaWQgZXhhbXBsZSkiID0gJChnaXQgaGFzaC1vYmplY3QgJGFyZ3MgPCBleGFtcGxlKQogCScKIAotCXRlc3RfYmxvYl9leGlzdHMgJGV4YW1wbGVfc2hhMQorCXRlc3RfYmxvYl9leGlzdHMgIiQodGVzdF9vaWQgZXhhbXBsZSkiCiAKIAlwb3BfcmVwbwogZG9uZQpAQCAtMTczLDIyICsxNzksMjIgQEAKIGZpbGVuYW1lcz0iaGVsbG8KIGV4YW1wbGUiCiAKLXNoYTFzPSIkaGVsbG9fc2hhMQotJGV4YW1wbGVfc2hhMSIKK29pZHM9IiQodGVzdF9vaWQgaGVsbG8pCiskKHRlc3Rfb2lkIGV4YW1wbGUpIgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFNIQTEgImhhc2ggdHdvIGZpbGVzIHdpdGggbmFtZXMgb24gc3RkaW4iICcKLQl0ZXN0ICIkc2hhMXMiID0gIiQoZWNob193aXRob3V0X25ld2xpbmUgIiRmaWxlbmFtZXMiIHwgZ2l0IGhhc2gtb2JqZWN0IC0tc3RkaW4tcGF0aHMpIgordGVzdF9leHBlY3Rfc3VjY2VzcyAiaGFzaCB0d28gZmlsZXMgd2l0aCBuYW1lcyBvbiBzdGRpbiIgJworCXRlc3QgIiRvaWRzIiA9ICIkKGVjaG9fd2l0aG91dF9uZXdsaW5lICIkZmlsZW5hbWVzIiB8IGdpdCBoYXNoLW9iamVjdCAtLXN0ZGluLXBhdGhzKSIKICcKIAogZm9yIGFyZ3MgaW4gIi13IC0tc3RkaW4tcGF0aHMiICItLXN0ZGluLXBhdGhzIC13IjsgZG8KIAlwdXNoX3JlcG8KIAotCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgU0hBMSAiaGFzaCB0d28gZmlsZXMgd2l0aCBuYW1lcyBvbiBzdGRpbiBhbmQgd3JpdGUgdG8gZGF0YWJhc2UgKCRhcmdzKSIgJwotCQl0ZXN0ICIkc2hhMXMiID0gIiQoZWNob193aXRob3V0X25ld2xpbmUgIiRmaWxlbmFtZXMiIHwgZ2l0IGhhc2gtb2JqZWN0ICRhcmdzKSIKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICJoYXNoIHR3byBmaWxlcyB3aXRoIG5hbWVzIG9uIHN0ZGluIGFuZCB3cml0ZSB0byBkYXRhYmFzZSAoJGFyZ3MpIiAnCisJCXRlc3QgIiRvaWRzIiA9ICIkKGVjaG9fd2l0aG91dF9uZXdsaW5lICIkZmlsZW5hbWVzIiB8IGdpdCBoYXNoLW9iamVjdCAkYXJncykiCiAJJwogCi0JdGVzdF9ibG9iX2V4aXN0cyAkaGVsbG9fc2hhMQotCXRlc3RfYmxvYl9leGlzdHMgJGV4YW1wbGVfc2hhMQorCXRlc3RfYmxvYl9leGlzdHMgIiQodGVzdF9vaWQgaGVsbG8pIgorCXRlc3RfYmxvYl9leGlzdHMgIiQodGVzdF9vaWQgZXhhbXBsZSkiCiAKIAlwb3BfcmVwbwogZG9uZQpAQCAtMTk5LDEwICsyMDUsNiBAQAogCXRlc3RfaTE4bmdyZXAgInRvby1zaG9ydCB0cmVlIG9iamVjdCIgZXJyCiAnCiAKLWhleDJvY3QoKSB7Ci0gICAgcGVybCAtbmUgJ3ByaW50ZiAiXFwlMDNvIiwgaGV4IGZvciAvLi4vZycKLX0KLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbWFsZm9ybWVkIG1vZGUgaW4gdHJlZScgJwogCWhleF9zaGExPSQoZWNobyBmb28gfCBnaXQgaGFzaC1vYmplY3QgLS1zdGRpbiAtdykgJiYKIAliaW5fc2hhMT0kKGVjaG8gJGhleF9zaGExIHwgaGV4Mm9jdCkgJiYKZGlmZiAtLWdpdCBhL3QvdDEwMTEtcmVhZC10cmVlLXNwYXJzZS1jaGVja291dC5zaCBiL3QvdDEwMTEtcmVhZC10cmVlLXNwYXJzZS1jaGVja291dC5zaAppbmRleCBiYTcxYjE1Li5lYjQ0YmFmIDEwMDc1NQotLS0gYS90L3QxMDExLXJlYWQtdHJlZS1zcGFyc2UtY2hlY2tvdXQuc2gKKysrIGIvdC90MTAxMS1yZWFkLXRyZWUtc3BhcnNlLWNoZWNrb3V0LnNoCkBAIC0yMTUsNyArMjE1LDYgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5kZXggcmVtb3ZhbCBhbmQgd29ya3RyZWUgbmFycm93aW5nIGF0IHRoZSBzYW1lIHRpbWUnICcKLQk+ZW1wdHkgJiYKIAllY2hvIGluaXQudCA+LmdpdC9pbmZvL3NwYXJzZS1jaGVja291dCAmJgogCWVjaG8gc3ViL2FkZGVkID4+LmdpdC9pbmZvL3NwYXJzZS1jaGVja291dCAmJgogCWdpdCBjaGVja291dCAtZiB0b3AgJiYKQEAgLTIyMyw3ICsyMjIsNyBAQAogCWdpdCBjaGVja291dCByZW1vdmVkICYmCiAJZ2l0IGxzLWZpbGVzIHN1Yi9hZGRlZCA+cmVzdWx0ICYmCiAJdGVzdCAhIC1mIHN1Yi9hZGRlZCAmJgotCXRlc3RfY21wIGVtcHR5IHJlc3VsdAorCXRlc3RfbXVzdF9iZV9lbXB0eSByZXN1bHQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVhZC10cmVlIC0tcmVzZXQgcmVtb3ZlcyBvdXRzaWRlIHdvcmt0cmVlJyAnCmRpZmYgLS1naXQgYS90L3QxMDUwLWxhcmdlLnNoIGIvdC90MTA1MC1sYXJnZS5zaAppbmRleCAxYTliMjFiLi4xODRiNDc5IDEwMDc1NQotLS0gYS90L3QxMDUwLWxhcmdlLnNoCisrKyBiL3QvdDEwNTAtbGFyZ2Uuc2gKQEAgLTgsNyArOCw3IEBACiAjIFRoaXMgc2hvdWxkIGJlIG1vdmVkIHRvIHRlc3QtbGliLnNoIHRvZ2V0aGVyIHdpdGggdGhlCiAjIGNvcHkgaW4gdDAwMjEgYWZ0ZXIgYm90aCB0b3BpY3MgaGF2ZSBncmFkdWF0ZWQgdG8gJ21hc3RlcicuCiBmaWxlX3NpemUgKCkgewotCXBlcmwgLWUgJ3ByaW50IC1zICRBUkdWWzBdJyAiJDEiCisJdGVzdC10b29sIHBhdGgtdXRpbHMgZmlsZS1zaXplICIkMSIKIH0KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCkBAIC01Myw3ICs1Myw4IEBACiAJZm9yIHAgaW4gLmdpdC9vYmplY3RzL3BhY2svcGFjay0qLnBhY2sKIAlkbwogCQljb3VudD0kKCggJGNvdW50ICsgMSApKQotCQlpZiB0ZXN0IC1mICIkcCIgJiYgaWR4PSR7cCUucGFja30uaWR4ICYmIHRlc3QgLWYgIiRpZHgiCisJCWlmIHRlc3RfcGF0aF9pc19maWxlICIkcCIgJiYKKwkJICAgaWR4PSR7cCUucGFja30uaWR4ICYmIHRlc3RfcGF0aF9pc19maWxlICIkaWR4IgogCQl0aGVuCiAJCQljb250aW51ZQogCQlmaQpAQCAtNjUsNyArNjYsNyBAQAogCXRlc3QgJGNudCA9IDIgJiYKIAlmb3IgbCBpbiAuZ2l0L29iamVjdHMvPz8vPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8KIAlkbwotCQl0ZXN0IC1mICIkbCIgfHwgY29udGludWUKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgIiRsIiB8fCBjb250aW51ZQogCQliYWQ9dAogCWRvbmUgJiYKIAl0ZXN0IC16ICIkYmFkIiAmJgpAQCAtNzYsNyArNzcsOCBAQAogCWZvciBwIGluIC5naXQvb2JqZWN0cy9wYWNrL3BhY2stKi5wYWNrCiAJZG8KIAkJY291bnQ9JCgoICRjb3VudCArIDEgKSkKLQkJaWYgdGVzdCAtZiAiJHAiICYmIGlkeD0ke3AlLnBhY2t9LmlkeCAmJiB0ZXN0IC1mICIkaWR4IgorCQlpZiB0ZXN0X3BhdGhfaXNfZmlsZSAiJHAiICYmCisJCSAgIGlkeD0ke3AlLnBhY2t9LmlkeCAmJiB0ZXN0X3BhdGhfaXNfZmlsZSAiJGlkeCIKIAkJdGhlbgogCQkJY29udGludWUKIAkJZmkKQEAgLTExMSw3ICsxMTMsNyBAQAogCQljb3VudD0wICYmCiAJCWZvciBwaSBpbiAuZ2l0L29iamVjdHMvcGFjay9wYWNrLSouaWR4CiAJCWRvCi0JCQl0ZXN0IC1mICIkcGkiICYmIGNvdW50PSQoKCAkY291bnQgKyAxICkpCisJCQl0ZXN0X3BhdGhfaXNfZmlsZSAiJHBpIiAmJiBjb3VudD0kKCggJGNvdW50ICsgMSApKQogCQlkb25lICYmCiAJCXRlc3QgJGNvdW50ID0gMiAmJgogCkBAIC0xOTQsMTUgKzE5NiwxNSBAQAogCXRlc3RfY21wIGh1Z2UgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RhciBhY2hpdmluZycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGFyIGFyY2hpdmluZycgJwogCWdpdCBhcmNoaXZlIC0tZm9ybWF0PXRhciBIRUFEID4vZGV2L251bGwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnemlwIGFjaGl2aW5nLCBzdG9yZSBvbmx5JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd6aXAgYXJjaGl2aW5nLCBzdG9yZSBvbmx5JyAnCiAJZ2l0IGFyY2hpdmUgLS1mb3JtYXQ9emlwIC0wIEhFQUQgPi9kZXYvbnVsbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICd6aXAgYWNoaXZpbmcsIGRlZmxhdGUnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ppcCBhcmNoaXZpbmcsIGRlZmxhdGUnICcKIAlnaXQgYXJjaGl2ZSAtLWZvcm1hdD16aXAgSEVBRCA+L2Rldi9udWxsCiAnCiAKZGlmZiAtLWdpdCBhL3QvdDEwNjAtb2JqZWN0LWNvcnJ1cHRpb24uc2ggYi90L3QxMDYwLW9iamVjdC1jb3JydXB0aW9uLnNoCmluZGV4IDRmZWI2NTEuLmJjODkzNzEgMTAwNzU1Ci0tLSBhL3QvdDEwNjAtb2JqZWN0LWNvcnJ1cHRpb24uc2gKKysrIGIvdC90MTA2MC1vYmplY3QtY29ycnVwdGlvbi5zaApAQCAtMTI3LDQgKzEyNywxNCBAQAogCSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnaW50ZXJuYWwgdHJlZSBvYmplY3RzIGFyZSBub3QgIm1pc3NpbmciJyAnCisJZ2l0IGluaXQgbWlzc2luZy1lbXB0eSAmJgorCSgKKwkJY2QgbWlzc2luZy1lbXB0eSAmJgorCQllbXB0eV90cmVlPSQoZ2l0IGhhc2gtb2JqZWN0IC10IHRyZWUgL2Rldi9udWxsKSAmJgorCQljb21taXQ9JChlY2hvIGZvbyB8IGdpdCBjb21taXQtdHJlZSAkZW1wdHlfdHJlZSkgJiYKKwkJZ2l0IHJldi1saXN0IC0tb2JqZWN0cyAkY29tbWl0CisJKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDEwOTAtc3BhcnNlLWNoZWNrb3V0LXNjb3BlLnNoIGIvdC90MTA5MC1zcGFyc2UtY2hlY2tvdXQtc2NvcGUuc2gKaW5kZXggMDkwYjdmYy4uNDBjYzAwNCAxMDA3NTUKLS0tIGEvdC90MTA5MC1zcGFyc2UtY2hlY2tvdXQtc2NvcGUuc2gKKysrIGIvdC90MTA5MC1zcGFyc2UtY2hlY2tvdXQtc2NvcGUuc2gKQEAgLTMxLDIwICszMSw2IEBACiAJdGVzdF9wYXRoX2lzX2ZpbGUgYwogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja291dCAtYiBjaGVja291dC5vcHRpbWl6ZU5ld0JyYW5jaCBpbnRlcmFjdGlvbicgJwotCWNwIC5naXQvaW5mby9zcGFyc2UtY2hlY2tvdXQgLmdpdC9pbmZvL3NwYXJzZS1jaGVja291dC5iYWsgJiYKLQl0ZXN0X3doZW5fZmluaXNoZWQgIgotCQltdiAtZiAuZ2l0L2luZm8vc3BhcnNlLWNoZWNrb3V0LmJhayAuZ2l0L2luZm8vc3BhcnNlLWNoZWNrb3V0Ci0JCWdpdCBjaGVja291dCBtYXN0ZXIKLQkiICYmCi0JZWNobyAiL2IiID4+LmdpdC9pbmZvL3NwYXJzZS1jaGVja291dCAmJgotCXRlc3QgIiQoZ2l0IGxzLWZpbGVzIC10IGIpIiA9ICJTIGIiICYmCi0JZ2l0IC1jIGNoZWNrb3V0Lm9wdGltaXplTmV3QnJhbmNoPXRydWUgY2hlY2tvdXQgLWIgZmFzdCAmJgotCXRlc3QgIiQoZ2l0IGxzLWZpbGVzIC10IGIpIiA9ICJTIGIiICYmCi0JZ2l0IGNoZWNrb3V0IC1iIHNsb3cgJiYKLQl0ZXN0ICIkKGdpdCBscy1maWxlcyAtdCBiKSIgPSAiSCBiIgotJwotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtZXJnZSBmZWF0dXJlIGJyYW5jaCBpbnRvIHNwYXJzZSBjaGVja291dCBvZiBtYXN0ZXInICcKIAlnaXQgbWVyZ2UgZmVhdHVyZSAmJgogCXRlc3RfcGF0aF9pc19maWxlIGEgJiYKZGlmZiAtLWdpdCBhL3QvdDEwOTEtc3BhcnNlLWNoZWNrb3V0LWJ1aWx0aW4uc2ggYi90L3QxMDkxLXNwYXJzZS1jaGVja291dC1idWlsdGluLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI0YzljMzIKLS0tIC9kZXYvbnVsbAorKysgYi90L3QxMDkxLXNwYXJzZS1jaGVja291dC1idWlsdGluLnNoCkBAIC0wLDAgKzEsNTI0IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nc3BhcnNlIGNoZWNrb3V0IGJ1aWx0aW4gdGVzdHMnCisKKy4gLi90ZXN0LWxpYi5zaAorCitsaXN0X2ZpbGVzKCkgeworCSMgRG8gbm90IHJlcGxhY2UgdGhpcyB3aXRoICdscyAiJDEiJywgYXMgImxzIiB3aXRoIEJTRC1saW5lYWdlCisJIyBlbmFibGVzICItQSIgYnkgZGVmYXVsdCBmb3Igcm9vdCBhbmQgZW5kcyB1cCBpbmNsdWRpbmcgIi5naXQiIGFuZAorCSMgc3VjaCBpbiBpdHMgb3V0cHV0LiAoTm90ZSwgdGhvdWdoLCB0aGF0IHJ1bm5pbmcgdGhlIHRlc3Qgc3VpdGUgYXMKKwkjIHJvb3QgaXMgZ2VuZXJhbGx5IG5vdCByZWNvbW1lbmRlZC4pCisJKGNkICIkMSIgJiYgcHJpbnRmICclc1xuJyAqKQorfQorCitjaGVja19maWxlcygpIHsKKwlsaXN0X2ZpbGVzICIkMSIgPmFjdHVhbCAmJgorCXNoaWZ0ICYmCisJcHJpbnRmICIlc1xuIiAkQCA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJworCWdpdCBpbml0IHJlcG8gJiYKKwkoCisJCWNkIHJlcG8gJiYKKwkJZWNobyAiaW5pdGlhbCIgPmEgJiYKKwkJbWtkaXIgZm9sZGVyMSBmb2xkZXIyIGRlZXAgJiYKKwkJbWtkaXIgZGVlcC9kZWVwZXIxIGRlZXAvZGVlcGVyMiAmJgorCQlta2RpciBkZWVwL2RlZXBlcjEvZGVlcGVzdCAmJgorCQljcCBhIGZvbGRlcjEgJiYKKwkJY3AgYSBmb2xkZXIyICYmCisJCWNwIGEgZGVlcCAmJgorCQljcCBhIGRlZXAvZGVlcGVyMSAmJgorCQljcCBhIGRlZXAvZGVlcGVyMiAmJgorCQljcCBhIGRlZXAvZGVlcGVyMS9kZWVwZXN0ICYmCisJCWdpdCBhZGQgLiAmJgorCQlnaXQgY29tbWl0IC1tICJpbml0aWFsIGNvbW1pdCIKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBzcGFyc2UtY2hlY2tvdXQgbGlzdCAoZW1wdHkpJyAnCisJZ2l0IC1DIHJlcG8gc3BhcnNlLWNoZWNrb3V0IGxpc3QgPmxpc3QgMj5lcnIgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgbGlzdCAmJgorCXRlc3RfaTE4bmdyZXAgInRoaXMgd29ya3RyZWUgaXMgbm90IHNwYXJzZSAoc3BhcnNlLWNoZWNrb3V0IGZpbGUgbWF5IG5vdCBleGlzdCkiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgc3BhcnNlLWNoZWNrb3V0IGxpc3QgKHBvcHVsYXRlZCknICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgcm0gLWYgcmVwby8uZ2l0L2luZm8vc3BhcnNlLWNoZWNrb3V0ICYmCisJY2F0ID5yZXBvLy5naXQvaW5mby9zcGFyc2UtY2hlY2tvdXQgPDwtXEVPRiAmJgorCS9mb2xkZXIxLyoKKwkvZGVlcC8KKwkqKi9hCisJISpiaW4qCisJRU9GCisJY3AgcmVwby8uZ2l0L2luZm8vc3BhcnNlLWNoZWNrb3V0IGV4cGVjdCAmJgorCWdpdCAtQyByZXBvIHNwYXJzZS1jaGVja291dCBsaXN0ID5saXN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGxpc3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IHNwYXJzZS1jaGVja291dCBpbml0JyAnCisJZ2l0IC1DIHJlcG8gc3BhcnNlLWNoZWNrb3V0IGluaXQgJiYKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJLyoKKwkhLyovCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IHJlcG8vLmdpdC9pbmZvL3NwYXJzZS1jaGVja291dCAmJgorCXRlc3RfY21wX2NvbmZpZyAtQyByZXBvIHRydWUgY29yZS5zcGFyc2VjaGVja291dCAmJgorCWNoZWNrX2ZpbGVzIHJlcG8gYQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgc3BhcnNlLWNoZWNrb3V0IGxpc3QgYWZ0ZXIgaW5pdCcgJworCWdpdCAtQyByZXBvIHNwYXJzZS1jaGVja291dCBsaXN0ID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJLyoKKwkhLyovCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbml0IHdpdGggZXhpc3Rpbmcgc3BhcnNlLWNoZWNrb3V0JyAnCisJZWNobyAiKmZvbGRlcioiID4+IHJlcG8vLmdpdC9pbmZvL3NwYXJzZS1jaGVja291dCAmJgorCWdpdCAtQyByZXBvIHNwYXJzZS1jaGVja291dCBpbml0ICYmCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCS8qCisJIS8qLworCSpmb2xkZXIqCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IHJlcG8vLmdpdC9pbmZvL3NwYXJzZS1jaGVja291dCAmJgorCWNoZWNrX2ZpbGVzIHJlcG8gYSBmb2xkZXIxIGZvbGRlcjIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgLS1zcGFyc2UnICcKKwlnaXQgY2xvbmUgLS1zcGFyc2UgImZpbGU6Ly8kKHB3ZCkvcmVwbyIgY2xvbmUgJiYKKwlnaXQgLUMgY2xvbmUgc3BhcnNlLWNoZWNrb3V0IGxpc3QgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwkvKgorCSEvKi8KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJY2hlY2tfZmlsZXMgY2xvbmUgYQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQgZW5hYmxlcyBjb25maWcnICcKKwlnaXQgaW5pdCBlbXB0eS1jb25maWcgJiYKKwkoCisJCWNkIGVtcHR5LWNvbmZpZyAmJgorCQl0ZXN0X2NvbW1pdCB0ZXN0IGZpbGUgJiYKKwkJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9jb25maWcud29ya3RyZWUgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHNwYXJzZS1jaGVja291dCBzZXQgbm90aGluZyAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSAuZ2l0L2NvbmZpZy53b3JrdHJlZSAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIGNvcmUuc3BhcnNlQ2hlY2tvdXQgJiYKKwkJZ2l0IHNwYXJzZS1jaGVja291dCBzZXQgIi8qIiAmJgorCQl0ZXN0X2NtcF9jb25maWcgdHJ1ZSBjb3JlLnNwYXJzZUNoZWNrb3V0CisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQgc3BhcnNlLWNoZWNrb3V0IHVzaW5nIGJ1aWx0aW4nICcKKwlnaXQgLUMgcmVwbyBzcGFyc2UtY2hlY2tvdXQgc2V0ICIvKiIgIiEvKi8iICIqZm9sZGVyKiIgJiYKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJLyoKKwkhLyovCisJKmZvbGRlcioKKwlFT0YKKwlnaXQgLUMgcmVwbyBzcGFyc2UtY2hlY2tvdXQgbGlzdCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCByZXBvLy5naXQvaW5mby9zcGFyc2UtY2hlY2tvdXQgJiYKKwljaGVja19maWxlcyByZXBvIGEgZm9sZGVyMSBmb2xkZXIyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldCBzcGFyc2UtY2hlY2tvdXQgdXNpbmcgLS1zdGRpbicgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwkvKgorCSEvKi8KKwkvZm9sZGVyMS8KKwkvZm9sZGVyMi8KKwlFT0YKKwlnaXQgLUMgcmVwbyBzcGFyc2UtY2hlY2tvdXQgc2V0IC0tc3RkaW4gPGV4cGVjdCAmJgorCWdpdCAtQyByZXBvIHNwYXJzZS1jaGVja291dCBsaXN0ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IHJlcG8vLmdpdC9pbmZvL3NwYXJzZS1jaGVja291dCAmJgorCWNoZWNrX2ZpbGVzIHJlcG8gImEgZm9sZGVyMSBmb2xkZXIyIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhZGQgdG8gc3BhcnNlLWNoZWNrb3V0JyAnCisJY2F0IHJlcG8vLmdpdC9pbmZvL3NwYXJzZS1jaGVja291dCA+ZXhwZWN0ICYmCisJY2F0ID5hZGQgPDwtXEVPRiAmJgorCXBhdHRlcm4xCisJL2ZvbGRlcjEvCisJcGF0dGVybjIKKwlFT0YKKwljYXQgYWRkID4+ZXhwZWN0ICYmCisJZ2l0IC1DIHJlcG8gc3BhcnNlLWNoZWNrb3V0IGFkZCAtLXN0ZGluIDxhZGQgJiYKKwlnaXQgLUMgcmVwbyBzcGFyc2UtY2hlY2tvdXQgbGlzdCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCByZXBvLy5naXQvaW5mby9zcGFyc2UtY2hlY2tvdXQgJiYKKwljaGVja19maWxlcyByZXBvICJhIGZvbGRlcjEgZm9sZGVyMiIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29uZSBtb2RlOiBtYXRjaCBwYXR0ZXJucycgJworCWdpdCAtQyByZXBvIGNvbmZpZyAtLXdvcmt0cmVlIGNvcmUuc3BhcnNlQ2hlY2tvdXRDb25lIHRydWUgJiYKKwlybSAtcmYgcmVwby9hIHJlcG8vZm9sZGVyMSByZXBvL2ZvbGRlcjIgJiYKKwlnaXQgLUMgcmVwbyByZWFkLXRyZWUgLW11IEhFQUQgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICEgImRpc2FibGluZyBjb25lIHBhdHRlcm5zIiBlcnIgJiYKKwlnaXQgLUMgcmVwbyByZXNldCAtLWhhcmQgJiYKKwljaGVja19maWxlcyByZXBvIGEgZm9sZGVyMSBmb2xkZXIyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbmUgbW9kZTogd2FybiBvbiBiYWQgcGF0dGVybicgJworCXRlc3Rfd2hlbl9maW5pc2hlZCBtdiBzcGFyc2UtY2hlY2tvdXQgcmVwby8uZ2l0L2luZm8vICYmCisJY3AgcmVwby8uZ2l0L2luZm8vc3BhcnNlLWNoZWNrb3V0IC4gJiYKKwllY2hvICIhL2RlZXAvZGVlcGVyLyoiID4+cmVwby8uZ2l0L2luZm8vc3BhcnNlLWNoZWNrb3V0ICYmCisJZ2l0IC1DIHJlcG8gcmVhZC10cmVlIC1tdSBIRUFEIDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAidW5yZWNvZ25pemVkIG5lZ2F0aXZlIHBhdHRlcm4iIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzcGFyc2UtY2hlY2tvdXQgZGlzYWJsZScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCBybSAtcmYgcmVwby8uZ2l0L2luZm8vc3BhcnNlLWNoZWNrb3V0ICYmCisJZ2l0IC1DIHJlcG8gc3BhcnNlLWNoZWNrb3V0IGRpc2FibGUgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSByZXBvLy5naXQvaW5mby9zcGFyc2UtY2hlY2tvdXQgJiYKKwlnaXQgLUMgcmVwbyBjb25maWcgLS1saXN0ID5jb25maWcgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIGNvcmUuc3BhcnNlQ2hlY2tvdXQgJiYKKwljaGVja19maWxlcyByZXBvIGEgZGVlcCBmb2xkZXIxIGZvbGRlcjIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29uZSBtb2RlOiBpbml0IGFuZCBzZXQnICcKKwlnaXQgLUMgcmVwbyBzcGFyc2UtY2hlY2tvdXQgaW5pdCAtLWNvbmUgJiYKKwlnaXQgLUMgcmVwbyBjb25maWcgLS1saXN0ID5jb25maWcgJiYKKwl0ZXN0X2kxOG5ncmVwICJjb3JlLnNwYXJzZWNoZWNrb3V0Y29uZT10cnVlIiBjb25maWcgJiYKKwlsaXN0X2ZpbGVzIHJlcG8gPmRpciAgJiYKKwllY2hvIGEgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBkaXIgJiYKKwlnaXQgLUMgcmVwbyBzcGFyc2UtY2hlY2tvdXQgc2V0IGRlZXAvZGVlcGVyMS9kZWVwZXN0LyAyPmVyciAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIgJiYKKwljaGVja19maWxlcyByZXBvIGEgZGVlcCAmJgorCWNoZWNrX2ZpbGVzIHJlcG8vZGVlcCBhIGRlZXBlcjEgJiYKKwljaGVja19maWxlcyByZXBvL2RlZXAvZGVlcGVyMSBhIGRlZXBlc3QgJiYKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJLyoKKwkhLyovCisJL2RlZXAvCisJIS9kZWVwLyovCisJL2RlZXAvZGVlcGVyMS8KKwkhL2RlZXAvZGVlcGVyMS8qLworCS9kZWVwL2RlZXBlcjEvZGVlcGVzdC8KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgcmVwby8uZ2l0L2luZm8vc3BhcnNlLWNoZWNrb3V0ICYmCisJZ2l0IC1DIHJlcG8gc3BhcnNlLWNoZWNrb3V0IHNldCAtLXN0ZGluIDI+ZXJyIDw8LVxFT0YgJiYKKwlmb2xkZXIxCisJZm9sZGVyMgorCUVPRgorCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIgJiYKKwljaGVja19maWxlcyByZXBvIGEgZm9sZGVyMSBmb2xkZXIyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbmUgbW9kZTogbGlzdCcgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlmb2xkZXIxCisJZm9sZGVyMgorCUVPRgorCWdpdCAtQyByZXBvIHNwYXJzZS1jaGVja291dCBzZXQgLS1zdGRpbiA8ZXhwZWN0ICYmCisJZ2l0IC1DIHJlcG8gc3BhcnNlLWNoZWNrb3V0IGxpc3QgPmFjdHVhbCAyPmVyciAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbmUgbW9kZTogc2V0IHdpdGggbmVzdGVkIGZvbGRlcnMnICcKKwlnaXQgLUMgcmVwbyBzcGFyc2UtY2hlY2tvdXQgc2V0IGRlZXAgZGVlcC9kZWVwZXIxL2RlZXBlc3QgMj5lcnIgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAwIGVyciAmJgorCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwkvKgorCSEvKi8KKwkvZGVlcC8KKwlFT0YKKwl0ZXN0X2NtcCByZXBvLy5naXQvaW5mby9zcGFyc2UtY2hlY2tvdXQgZXhwZWN0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbmUgbW9kZTogYWRkIGluZGVwZW5kZW50IHBhdGgnICcKKwlnaXQgLUMgcmVwbyBzcGFyc2UtY2hlY2tvdXQgc2V0IGRlZXAvZGVlcGVyMSAmJgorCWdpdCAtQyByZXBvIHNwYXJzZS1jaGVja291dCBhZGQgZm9sZGVyMSAmJgorCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwkvKgorCSEvKi8KKwkvZGVlcC8KKwkhL2RlZXAvKi8KKwkvZGVlcC9kZWVwZXIxLworCS9mb2xkZXIxLworCUVPRgorCXRlc3RfY21wIGV4cGVjdCByZXBvLy5naXQvaW5mby9zcGFyc2UtY2hlY2tvdXQgJiYKKwljaGVja19maWxlcyByZXBvIGEgZGVlcCBmb2xkZXIxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbmUgbW9kZTogYWRkIHNpYmxpbmcgcGF0aCcgJworCWdpdCAtQyByZXBvIHNwYXJzZS1jaGVja291dCBzZXQgZGVlcC9kZWVwZXIxICYmCisJZ2l0IC1DIHJlcG8gc3BhcnNlLWNoZWNrb3V0IGFkZCBkZWVwL2RlZXBlcjIgJiYKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJLyoKKwkhLyovCisJL2RlZXAvCisJIS9kZWVwLyovCisJL2RlZXAvZGVlcGVyMS8KKwkvZGVlcC9kZWVwZXIyLworCUVPRgorCXRlc3RfY21wIGV4cGVjdCByZXBvLy5naXQvaW5mby9zcGFyc2UtY2hlY2tvdXQgJiYKKwljaGVja19maWxlcyByZXBvIGEgZGVlcAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb25lIG1vZGU6IGFkZCBwYXJlbnQgcGF0aCcgJworCWdpdCAtQyByZXBvIHNwYXJzZS1jaGVja291dCBzZXQgZGVlcC9kZWVwZXIxIGZvbGRlcjEgJiYKKwlnaXQgLUMgcmVwbyBzcGFyc2UtY2hlY2tvdXQgYWRkIGRlZXAgJiYKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJLyoKKwkhLyovCisJL2RlZXAvCisJL2ZvbGRlcjEvCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IHJlcG8vLmdpdC9pbmZvL3NwYXJzZS1jaGVja291dCAmJgorCWNoZWNrX2ZpbGVzIHJlcG8gYSBkZWVwIGZvbGRlcjEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2ZXJ0IHRvIG9sZCBzcGFyc2UtY2hlY2tvdXQgb24gYmFkIHVwZGF0ZScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgLUMgcmVwbyByZXNldCAtLWhhcmQgJiYKKwlnaXQgLUMgcmVwbyBzcGFyc2UtY2hlY2tvdXQgc2V0IGRlZXAgJiYKKwllY2hvIHVwZGF0ZSA+cmVwby9kZWVwL2RlZXBlcjIvYSAmJgorCWNwIHJlcG8vLmdpdC9pbmZvL3NwYXJzZS1jaGVja291dCBleHBlY3QgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgcmVwbyBzcGFyc2UtY2hlY2tvdXQgc2V0IGRlZXAvZGVlcGVyMSAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgImNhbm5vdCBzZXQgc3BhcnNlLWNoZWNrb3V0IHBhdHRlcm5zIiBlcnIgJiYKKwl0ZXN0X2NtcCByZXBvLy5naXQvaW5mby9zcGFyc2UtY2hlY2tvdXQgZXhwZWN0ICYmCisJY2hlY2tfZmlsZXMgcmVwby9kZWVwIGEgZGVlcGVyMSBkZWVwZXIyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JldmVydCB0byBvbGQgc3BhcnNlLWNoZWNrb3V0IG9uIGVtcHR5IHVwZGF0ZScgJworCWdpdCBpbml0IGVtcHR5LXRlc3QgJiYKKwkoCisJCWVjaG8gPmZpbGUgJiYKKwkJZ2l0IGFkZCBmaWxlICYmCisJCWdpdCBjb21taXQgLW0gInRlc3QiICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBzcGFyc2UtY2hlY2tvdXQgc2V0IG5vdGhpbmcgMj5lcnIgJiYKKwkJdGVzdF9pMThuZ3JlcCAiU3BhcnNlIGNoZWNrb3V0IGxlYXZlcyBubyBlbnRyeSBvbiB3b3JraW5nIGRpcmVjdG9yeSIgZXJyICYmCisJCXRlc3RfaTE4bmdyZXAgISAiLmdpdC9pbmRleC5sb2NrIiBlcnIgJiYKKwkJZ2l0IHNwYXJzZS1jaGVja291dCBzZXQgZmlsZQorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmFpbCB3aGVuIGxvY2sgaXMgdGFrZW4nICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgcm0gLXJmIHJlcG8vLmdpdC9pbmZvL3NwYXJzZS1jaGVja291dC5sb2NrICYmCisJdG91Y2ggcmVwby8uZ2l0L2luZm8vc3BhcnNlLWNoZWNrb3V0LmxvY2sgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgcmVwbyBzcGFyc2UtY2hlY2tvdXQgc2V0IGRlZXAgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICJGaWxlIGV4aXN0cyIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy5naXRpZ25vcmUgc2hvdWxkIG5vdCB3YXJuIGFib3V0IGNvbmUgbW9kZScgJworCWdpdCAtQyByZXBvIGNvbmZpZyAtLXdvcmt0cmVlIGNvcmUuc3BhcnNlQ2hlY2tvdXRDb25lIHRydWUgJiYKKwllY2hvICIqKi9iaW4vKiIgPnJlcG8vLmdpdGlnbm9yZSAmJgorCWdpdCAtQyByZXBvIHJlc2V0IC0taGFyZCAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgISAiZGlzYWJsaW5nIGNvbmUgcGF0dGVybnMiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzcGFyc2UtY2hlY2tvdXQgKGluaXR8c2V0fGRpc2FibGUpIGZhaWxzIHdpdGggZGlydHkgc3RhdHVzJyAnCisJZ2l0IGNsb25lIHJlcG8gZGlydHkgJiYKKwllY2hvIGRpcnR5ID5kaXJ0eS9mb2xkZXIxL2EgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgZGlydHkgc3BhcnNlLWNoZWNrb3V0IGluaXQgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgZGlydHkgc3BhcnNlLWNoZWNrb3V0IHNldCAvZm9sZGVyMi8qIC9kZWVwL2RlZXBlcjEvKiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyBkaXJ0eSBzcGFyc2UtY2hlY2tvdXQgZGlzYWJsZSAmJgorCWdpdCAtQyBkaXJ0eSByZXNldCAtLWhhcmQgJiYKKwlnaXQgLUMgZGlydHkgc3BhcnNlLWNoZWNrb3V0IGluaXQgJiYKKwlnaXQgLUMgZGlydHkgc3BhcnNlLWNoZWNrb3V0IHNldCAvZm9sZGVyMi8qIC9kZWVwL2RlZXBlcjEvKiAmJgorCWdpdCAtQyBkaXJ0eSBzcGFyc2UtY2hlY2tvdXQgZGlzYWJsZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb25lIG1vZGU6IHNldCB3aXRoIGNvcmUuaWdub3JlQ2FzZT10cnVlJyAnCisJZ2l0IC1DIHJlcG8gc3BhcnNlLWNoZWNrb3V0IGluaXQgLS1jb25lICYmCisJZ2l0IC1DIHJlcG8gLWMgY29yZS5pZ25vcmVDYXNlPXRydWUgc3BhcnNlLWNoZWNrb3V0IHNldCBmb2xkZXIxICYmCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCS8qCisJIS8qLworCS9mb2xkZXIxLworCUVPRgorCXRlc3RfY21wIGV4cGVjdCByZXBvLy5naXQvaW5mby9zcGFyc2UtY2hlY2tvdXQgJiYKKwljaGVja19maWxlcyByZXBvIGEgZm9sZGVyMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbnRlcmFjdGlvbiB3aXRoIHN1Ym1vZHVsZXMnICcKKwlnaXQgY2xvbmUgcmVwbyBzdXBlciAmJgorCSgKKwkJY2Qgc3VwZXIgJiYKKwkJbWtkaXIgbW9kdWxlcyAmJgorCQlnaXQgc3VibW9kdWxlIGFkZCAuLi9yZXBvIG1vZHVsZXMvY2hpbGQgJiYKKwkJZ2l0IGFkZCAuICYmCisJCWdpdCBjb21taXQgLW0gImFkZCBzdWJtb2R1bGUiICYmCisJCWdpdCBzcGFyc2UtY2hlY2tvdXQgaW5pdCAtLWNvbmUgJiYKKwkJZ2l0IHNwYXJzZS1jaGVja291dCBzZXQgZm9sZGVyMQorCSkgJiYKKwljaGVja19maWxlcyBzdXBlciBhIGZvbGRlcjEgbW9kdWxlcyAmJgorCWNoZWNrX2ZpbGVzIHN1cGVyL21vZHVsZXMvY2hpbGQgYSBkZWVwIGZvbGRlcjEgZm9sZGVyMgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmZXJlbnQgc3BhcnNlLWNoZWNrb3V0cyB3aXRoIHdvcmt0cmVlcycgJworCWdpdCAtQyByZXBvIHdvcmt0cmVlIGFkZCAtLWRldGFjaCAuLi93b3JrdHJlZSAmJgorCWNoZWNrX2ZpbGVzIHdvcmt0cmVlICJhIGRlZXAgZm9sZGVyMSBmb2xkZXIyIiAmJgorCWdpdCAtQyB3b3JrdHJlZSBzcGFyc2UtY2hlY2tvdXQgaW5pdCAtLWNvbmUgJiYKKwlnaXQgLUMgcmVwbyBzcGFyc2UtY2hlY2tvdXQgc2V0IGZvbGRlcjEgJiYKKwlnaXQgLUMgd29ya3RyZWUgc3BhcnNlLWNoZWNrb3V0IHNldCBkZWVwL2RlZXBlcjEgJiYKKwljaGVja19maWxlcyByZXBvIGEgZm9sZGVyMSAmJgorCWNoZWNrX2ZpbGVzIHdvcmt0cmVlIGEgZGVlcAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQgdXNpbmcgZmlsZW5hbWUga2VlcHMgZmlsZSBvbi1kaXNrJyAnCisJZ2l0IC1DIHJlcG8gc3BhcnNlLWNoZWNrb3V0IHNldCBhIGRlZXAgJiYKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJLyoKKwkhLyovCisJL2EvCisJL2RlZXAvCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IHJlcG8vLmdpdC9pbmZvL3NwYXJzZS1jaGVja291dCAmJgorCWNoZWNrX2ZpbGVzIHJlcG8gYSBkZWVwCisnCisKK2NoZWNrX3JlYWRfdHJlZV9lcnJvcnMgKCkgeworCVJFUE89JDEKKwlGSUxFUz0kMgorCUVSUk9SUz0kMworCWdpdCAtQyAkUkVQTyAtYyBjb3JlLnNwYXJzZUNoZWNrb3V0Q29uZT1mYWxzZSByZWFkLXRyZWUgLW11IEhFQUQgMj5lcnIgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgZXJyICYmCisJY2hlY2tfZmlsZXMgJFJFUE8gIiRGSUxFUyIgJiYKKwlnaXQgLUMgJFJFUE8gcmVhZC10cmVlIC1tdSBIRUFEIDI+ZXJyICYmCisJaWYgdGVzdCAteiAiJEVSUk9SUyIKKwl0aGVuCisJCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIKKwllbHNlCisJCXRlc3RfaTE4bmdyZXAgIiRFUlJPUlMiIGVycgorCWZpICYmCisJY2hlY2tfZmlsZXMgJFJFUE8gJEZJTEVTCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhdHRlcm4tY2hlY2tzOiAvQS8qKicgJworCWNhdCA+cmVwby8uZ2l0L2luZm8vc3BhcnNlLWNoZWNrb3V0IDw8LVxFT0YgJiYKKwkvKgorCSEvKi8KKwkvZm9sZGVyMS8qKgorCUVPRgorCWNoZWNrX3JlYWRfdHJlZV9lcnJvcnMgcmVwbyAiYSBmb2xkZXIxIiAiZGlzYWJsaW5nIGNvbmUgcGF0dGVybiBtYXRjaGluZyIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncGF0dGVybi1jaGVja3M6IC9BLyoqL0IvJyAnCisJY2F0ID5yZXBvLy5naXQvaW5mby9zcGFyc2UtY2hlY2tvdXQgPDwtXEVPRiAmJgorCS8qCisJIS8qLworCS9kZWVwLyoqL2RlZXBlc3QKKwlFT0YKKwljaGVja19yZWFkX3RyZWVfZXJyb3JzIHJlcG8gImEgZGVlcCIgImRpc2FibGluZyBjb25lIHBhdHRlcm4gbWF0Y2hpbmciICYmCisJY2hlY2tfZmlsZXMgcmVwby9kZWVwICJkZWVwZXIxIiAmJgorCWNoZWNrX2ZpbGVzIHJlcG8vZGVlcC9kZWVwZXIxICJkZWVwZXN0IgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwYXR0ZXJuLWNoZWNrczogdG9vIHNob3J0JyAnCisJY2F0ID5yZXBvLy5naXQvaW5mby9zcGFyc2UtY2hlY2tvdXQgPDwtXEVPRiAmJgorCS8qCisJIS8qLworCS8KKwlFT0YKKwljaGVja19yZWFkX3RyZWVfZXJyb3JzIHJlcG8gImEiICJkaXNhYmxpbmcgY29uZSBwYXR0ZXJuIG1hdGNoaW5nIgorJwordGVzdF9leHBlY3Rfc3VjY2VzcyAncGF0dGVybi1jaGVja3M6IG5vdCB0b28gc2hvcnQnICcKKwljYXQgPnJlcG8vLmdpdC9pbmZvL3NwYXJzZS1jaGVja291dCA8PC1cRU9GICYmCisJLyoKKwkhLyovCisJL2IvCisJRU9GCisJZ2l0IC1DIHJlcG8gcmVhZC10cmVlIC1tdSBIRUFEIDI+ZXJyICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGVyciAmJgorCWNoZWNrX2ZpbGVzIHJlcG8gYQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwYXR0ZXJuLWNoZWNrczogdHJhaWxpbmcgIioiJyAnCisJY2F0ID5yZXBvLy5naXQvaW5mby9zcGFyc2UtY2hlY2tvdXQgPDwtXEVPRiAmJgorCS8qCisJIS8qLworCS9hKgorCUVPRgorCWNoZWNrX3JlYWRfdHJlZV9lcnJvcnMgcmVwbyAiYSIgImRpc2FibGluZyBjb25lIHBhdHRlcm4gbWF0Y2hpbmciCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhdHRlcm4tY2hlY2tzOiBzdGFydGluZyAiKiInICcKKwljYXQgPnJlcG8vLmdpdC9pbmZvL3NwYXJzZS1jaGVja291dCA8PC1cRU9GICYmCisJLyoKKwkhLyovCisJKmVlcC8KKwlFT0YKKwljaGVja19yZWFkX3RyZWVfZXJyb3JzIHJlcG8gImEgZGVlcCIgImRpc2FibGluZyBjb25lIHBhdHRlcm4gbWF0Y2hpbmciCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhdHRlcm4tY2hlY2tzOiBjb250YWluZWQgZ2xvYiBjaGFyYWN0ZXJzJyAnCisJZm9yIGMgaW4gIlthXSIgIlxcIiAiPyIgIioiCisJZG8KKwkJY2F0ID5yZXBvLy5naXQvaW5mby9zcGFyc2UtY2hlY2tvdXQgPDwtRU9GICYmCisJCS8qCisJCSEvKi8KKwkJc29tZXRoaW5nJGMtZWxzZS8KKwkJRU9GCisJCWNoZWNrX3JlYWRfdHJlZV9lcnJvcnMgcmVwbyAiYSIgImRpc2FibGluZyBjb25lIHBhdHRlcm4gbWF0Y2hpbmciCisJZG9uZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEJTTEFTSFBTUEVDICdwYXR0ZXJuLWNoZWNrczogZXNjYXBlZCBjaGFyYWN0ZXJzJyAnCisJZ2l0IGNsb25lIHJlcG8gZXNjYXBlZCAmJgorCVRSRUVPSUQ9JChnaXQgLUMgZXNjYXBlZCByZXYtcGFyc2UgSEVBRDpmb2xkZXIxKSAmJgorCU5FV1RSRUU9JChnaXQgLUMgZXNjYXBlZCBta3RyZWUgPDwtRU9GCisJJChnaXQgLUMgZXNjYXBlZCBscy10cmVlIEhFQUQpCisJMDQwMDAwIHRyZWUgJFRSRUVPSUQJemJhZFxcZGlyCisJMDQwMDAwIHRyZWUgJFRSRUVPSUQJemRvZXMqZXhpc3QKKwkwNDAwMDAgdHJlZSAkVFJFRU9JRAl6Z2xvYlshYV0/CisJRU9GCisJKSAmJgorCUNPTU1JVD0kKGdpdCAtQyBlc2NhcGVkIGNvbW1pdC10cmVlICRORVdUUkVFIC1wIEhFQUQpICYmCisJZ2l0IC1DIGVzY2FwZWQgcmVzZXQgLS1oYXJkICRDT01NSVQgJiYKKwljaGVja19maWxlcyBlc2NhcGVkICJhIGRlZXAgZm9sZGVyMSBmb2xkZXIyIHpiYWRcXGRpciB6ZG9lcypleGlzdCIgemdsb2JbIWFdPyAmJgorCWdpdCAtQyBlc2NhcGVkIHNwYXJzZS1jaGVja291dCBpbml0IC0tY29uZSAmJgorCWdpdCAtQyBlc2NhcGVkIHNwYXJzZS1jaGVja291dCBzZXQgemJhZFxcZGlyL2JvZ3VzICJ6ZG9lcypub3QqZXhpc3QiICJ6ZG9lcypleGlzdCIgInpnbG9iWyFhXT8iICYmCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCS8qCisJIS8qLworCS96YmFkXFxkaXIvCisJIS96YmFkXFxkaXIvKi8KKwkvemJhZFxcZGlyL2JvZ3VzLworCS96ZG9lc1wqZXhpc3QvCisJL3pkb2VzXCpub3RcKmV4aXN0LworCS96Z2xvYlxbIWFdXD8vCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGVzY2FwZWQvLmdpdC9pbmZvL3NwYXJzZS1jaGVja291dCAmJgorCWNoZWNrX3JlYWRfdHJlZV9lcnJvcnMgZXNjYXBlZCAiYSB6YmFkXFxkaXIgemRvZXMqZXhpc3Qgemdsb2JbIWFdPyIgJiYKKwlnaXQgLUMgZXNjYXBlZCBscy10cmVlIC1kIC0tbmFtZS1vbmx5IEhFQUQgPmxpc3QtZXhwZWN0ICYmCisJZ2l0IC1DIGVzY2FwZWQgc3BhcnNlLWNoZWNrb3V0IHNldCAtLXN0ZGluIDxsaXN0LWV4cGVjdCAmJgorCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwkvKgorCSEvKi8KKwkvZGVlcC8KKwkvZm9sZGVyMS8KKwkvZm9sZGVyMi8KKwkvemJhZFxcZGlyLworCS96ZG9lc1wqZXhpc3QvCisJL3pnbG9iXFshYV1cPy8KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgZXNjYXBlZC8uZ2l0L2luZm8vc3BhcnNlLWNoZWNrb3V0ICYmCisJY2hlY2tfZmlsZXMgZXNjYXBlZCAiYSBkZWVwIGZvbGRlcjEgZm9sZGVyMiB6YmFkXFxkaXIgemRvZXMqZXhpc3QiIHpnbG9iWyFhXT8gJiYKKwlnaXQgLUMgZXNjYXBlZCBzcGFyc2UtY2hlY2tvdXQgbGlzdCA+bGlzdC1hY3R1YWwgJiYKKwl0ZXN0X2NtcCBsaXN0LWV4cGVjdCBsaXN0LWFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIE1JTkdXICdjb25lIG1vZGUgcmVwbGFjZXMgYmFja3NsYXNoZXMgd2l0aCBzbGFzaGVzJyAnCisJZ2l0IC1DIHJlcG8gc3BhcnNlLWNoZWNrb3V0IHNldCBkZWVwXFxkZWVwZXIxICYmCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCS8qCisJIS8qLworCS9kZWVwLworCSEvZGVlcC8qLworCS9kZWVwL2RlZXBlcjEvCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IHJlcG8vLmdpdC9pbmZvL3NwYXJzZS1jaGVja291dCAmJgorCWNoZWNrX2ZpbGVzIHJlcG8gYSBkZWVwICYmCisJY2hlY2tfZmlsZXMgcmVwby9kZWVwIGEgZGVlcGVyMQorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDEzMDAtY29uZmlnLnNoIGIvdC90MTMwMC1jb25maWcuc2gKaW5kZXggOTY1MmIyNC4uOTdlYmZlMSAxMDA3NTUKLS0tIGEvdC90MTMwMC1jb25maWcuc2gKKysrIGIvdC90MTMwMC1jb25maWcuc2gKQEAgLTg5Miw2ICs4OTIsNyBAQAogCTE1MTAzNDgwODcKIAkwCiAJRU9GCisJOiAid29yayBhcm91bmQgaGVyZWRvYyBwYXJzaW5nIGJ1ZyBmaXhlZCBpbiBkYXNoIDAuNS43IChpbiBlYzJjODRkKSIgJiYKIAl7CiAJCWVjaG8gIiRyZWxfb3V0ICQoZ2l0IGNvbmZpZyAtLWV4cGlyeS1kYXRlIGRhdGUudmFsaWQxKSIKIAkJZ2l0IGNvbmZpZyAtLWV4cGlyeS1kYXRlIGRhdGUudmFsaWQyICYmCkBAIC0xMTkwLDQ3ICsxMTkxLDQ3IEBACiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiB0ZXN0Q29uZmlnIHRlc3RDb25maWdfZXhwZWN0IHRlc3RDb25maWdfYWN0dWFsIiAmJgogCiAJY2F0ID50ZXN0Q29uZmlnX2FjdHVhbCA8PC1FT0YgJiYKLQkJW1YuQV0KLQkJciA9IHZhbHVlMQorCVtWLkFdCisJciA9IHZhbHVlMQogCUVPRgogCXFfdG9fdGFiID50ZXN0Q29uZmlnX2V4cGVjdCA8PC1FT0YgJiYKLQkJW1YuQV0KLQkJUXIgPSB2YWx1ZTIKKwlbVi5BXQorCVFyID0gdmFsdWUyCiAJRU9GCiAJZ2l0IGNvbmZpZyAtZiB0ZXN0Q29uZmlnX2FjdHVhbCAidi5hLnIiIHZhbHVlMiAmJgogCXRlc3RfY21wIHRlc3RDb25maWdfZXhwZWN0IHRlc3RDb25maWdfYWN0dWFsICYmCiAKIAljYXQgPnRlc3RDb25maWdfYWN0dWFsIDw8LUVPRiAmJgotCQlbVi5BXQotCQlyID0gdmFsdWUxCisJW1YuQV0KKwlyID0gdmFsdWUxCiAJRU9GCiAJcV90b190YWIgPnRlc3RDb25maWdfZXhwZWN0IDw8LUVPRiAmJgotCQlbVi5BXQotCQlRUiA9IHZhbHVlMgorCVtWLkFdCisJUVIgPSB2YWx1ZTIKIAlFT0YKIAlnaXQgY29uZmlnIC1mIHRlc3RDb25maWdfYWN0dWFsICJWLmEuUiIgdmFsdWUyICYmCiAJdGVzdF9jbXAgdGVzdENvbmZpZ19leHBlY3QgdGVzdENvbmZpZ19hY3R1YWwgJiYKIAogCWNhdCA+dGVzdENvbmZpZ19hY3R1YWwgPDwtRU9GICYmCi0JCVtWLkFdCi0JCXIgPSB2YWx1ZTEKKwlbVi5BXQorCXIgPSB2YWx1ZTEKIAlFT0YKIAlxX3RvX3RhYiA+dGVzdENvbmZpZ19leHBlY3QgPDwtRU9GICYmCi0JCVtWLkFdCi0JCXIgPSB2YWx1ZTEKLQkJUXIgPSB2YWx1ZTIKKwlbVi5BXQorCXIgPSB2YWx1ZTEKKwlRciA9IHZhbHVlMgogCUVPRgogCWdpdCBjb25maWcgLWYgdGVzdENvbmZpZ19hY3R1YWwgIlYuQS5yIiB2YWx1ZTIgJiYKIAl0ZXN0X2NtcCB0ZXN0Q29uZmlnX2V4cGVjdCB0ZXN0Q29uZmlnX2FjdHVhbCAmJgogCiAJY2F0ID50ZXN0Q29uZmlnX2FjdHVhbCA8PC1FT0YgJiYKLQkJW1YuQV0KLQkJciA9IHZhbHVlMQorCVtWLkFdCisJciA9IHZhbHVlMQogCUVPRgogCXFfdG9fdGFiID50ZXN0Q29uZmlnX2V4cGVjdCA8PC1FT0YgJiYKLQkJW1YuQV0KLQkJciA9IHZhbHVlMQotCQlRciA9IHZhbHVlMgorCVtWLkFdCisJciA9IHZhbHVlMQorCVFyID0gdmFsdWUyCiAJRU9GCiAJZ2l0IGNvbmZpZyAtZiB0ZXN0Q29uZmlnX2FjdHVhbCAidi5BLnIiIHZhbHVlMiAmJgogCXRlc3RfY21wIHRlc3RDb25maWdfZXhwZWN0IHRlc3RDb25maWdfYWN0dWFsCkBAIC0xMjQwLDI2ICsxMjQxLDI2IEBACiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiB0ZXN0Q29uZmlnIHRlc3RDb25maWdfZXhwZWN0IHRlc3RDb25maWdfYWN0dWFsIiAmJgogCiAJY2F0ID50ZXN0Q29uZmlnX2FjdHVhbCA8PC1FT0YgJiYKLQkJW1YgIkEiXQotCQlSID0gdjEKLQkJW0sgIkUiXQotCQlZID0gdjEKLQkJW2EgImIiXQotCQljID0gdjEKLQkJW2QgImUiXQotCQlmID0gdjEKKwlbViAiQSJdCisJUiA9IHYxCisJW0sgIkUiXQorCVkgPSB2MQorCVthICJiIl0KKwljID0gdjEKKwlbZCAiZSJdCisJZiA9IHYxCiAJRU9GCiAJcV90b190YWIgPnRlc3RDb25maWdfZXhwZWN0IDw8LUVPRiAmJgotCQlbViAiQSJdCi0JCVFyID0gdjIKLQkJW0sgIkUiXQotCQlReSA9IHYyCi0JCVthICJiIl0KLQkJUWMgPSB2MgotCQlbZCAiZSJdCi0JCWYgPSB2MQotCQlbZCAiRSJdCi0JCVFmID0gdjIKKwlbViAiQSJdCisJUXIgPSB2MgorCVtLICJFIl0KKwlReSA9IHYyCisJW2EgImIiXQorCVFjID0gdjIKKwlbZCAiZSJdCisJZiA9IHYxCisJW2QgIkUiXQorCVFmID0gdjIKIAlFT0YKIAkjIGV4YWN0IG1hdGNoCiAJZ2l0IGNvbmZpZyAtZiB0ZXN0Q29uZmlnX2FjdHVhbCBhLmIuYyB2MiAmJgpAQCAtMTI5MywyNiArMTI5NCwyNSBAQAogCUdJVF9DT05GSUdfUEFSQU1FVEVSUz0iIiBnaXQgLWMgeC5vbmU9MSBjb25maWcgLS1saXN0CiAnCiAKLXNxPSInIgogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGV0ZWN0IGJvZ3VzIEdJVF9DT05GSUdfUEFSQU1FVEVSUycgJwogCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKIAllbnYub25lIG9uZQogCWVudi50d28gdHdvCiAJRU9GCi0JR0lUX0NPTkZJR19QQVJBTUVURVJTPSIke3NxfWVudi5vbmU9b25lJHtzcX0gJHtzcX1lbnYudHdvPXR3byR7c3F9IiBcCisJR0lUX0NPTkZJR19QQVJBTUVURVJTPSIke1NRfWVudi5vbmU9b25lJHtTUX0gJHtTUX1lbnYudHdvPXR3byR7U1F9IiBcCiAJCWdpdCBjb25maWcgLS1nZXQtcmVnZXhwICJlbnYuKiIgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKIAogCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgotCWVudi5vbmUgb25lJHtzcX0KKwllbnYub25lIG9uZSR7U1F9CiAJZW52LnR3byB0d28KIAlFT0YKLQlHSVRfQ09ORklHX1BBUkFNRVRFUlM9IiR7c3F9ZW52Lm9uZT1vbmUke3NxfVxcJHNxJHNxJHNxICR7c3F9ZW52LnR3bz10d28ke3NxfSIgXAorCUdJVF9DT05GSUdfUEFSQU1FVEVSUz0iJHtTUX1lbnYub25lPW9uZSR7U1F9XFwkU1EkU1EkU1EgJHtTUX1lbnYudHdvPXR3byR7U1F9IiBcCiAJCWdpdCBjb25maWcgLS1nZXQtcmVnZXhwICJlbnYuKiIgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKIAogCXRlc3RfbXVzdF9mYWlsIGVudiBcCi0JCUdJVF9DT05GSUdfUEFSQU1FVEVSUz0iJHtzcX1lbnYub25lPW9uZSR7c3F9XFwkc3EgJHtzcX1lbnYudHdvPXR3byR7c3F9IiBcCisJCUdJVF9DT05GSUdfUEFSQU1FVEVSUz0iJHtTUX1lbnYub25lPW9uZSR7U1F9XFwkU1EgJHtTUX1lbnYudHdvPXR3byR7U1F9IiBcCiAJCWdpdCBjb25maWcgLS1nZXQtcmVnZXhwICJlbnYuKiIKICcKIApAQCAtMTQwOCw2ICsxNDA4LDggQEAKIAkJY29va2llRmlsZSA9IC90bXAvd2lsZGNhcmQudHh0CiAJW2h0dHAgImh0dHBzOi8vKi5leGFtcGxlLmNvbS93aWxkY2FyZHdpdGhzdWJkb21haW4iXQogCQljb29raWVGaWxlID0gL3RtcC93aWxkY2FyZHdpdGhzdWJkb21haW4udHh0CisJW2h0dHAgImh0dHBzOi8vKi5leGFtcGxlLioiXQorCQljb29raWVGaWxlID0gL3RtcC9tdWx0aXdpbGRjYXJkLnR4dAogCVtodHRwICJodHRwczovL3RyYWlsaW5nLmV4YW1wbGUuY29tIl0KIAkJY29va2llRmlsZSA9IC90bXAvdHJhaWxpbmcudHh0CiAJW2h0dHAgImh0dHBzOi8vdXNlckAqLmV4YW1wbGUuY29tLyJdCkBAIC0xNDU0LDYgKzE0NTYsMTAgQEAKIAogCWVjaG8gaHR0cC5jb29raWVmaWxlIC90bXAvc3ViLnR4dCA+ZXhwZWN0ICYmCiAJZ2l0IGNvbmZpZyAtLWdldC11cmxtYXRjaCBIVFRQIGh0dHBzOi8vdXNlckBzdWIuZXhhbXBsZS5jb20gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCWVjaG8gaHR0cC5jb29raWVmaWxlIC90bXAvbXVsdGl3aWxkY2FyZC50eHQgPmV4cGVjdCAmJgorCWdpdCBjb25maWcgLS1nZXQtdXJsbWF0Y2ggSFRUUCBodHRwczovL3dpbGRjYXJkLmV4YW1wbGUub3JnID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKQEAgLTE2MjIsNDAgKzE2MjgsNDAgQEAKIAlJTkNMVURFX0RJUj0iJEhPTUUvaW5jbHVkZSIgJiYKIAlta2RpciAtcCAiJElOQ0xVREVfRElSIiAmJgogCWNhdCA+IiRJTkNMVURFX0RJUiIvYWJzb2x1dGUuaW5jbHVkZSA8PC1cRU9GICYmCi0JCVt1c2VyXQotCQkJYWJzb2x1dGUgPSBpbmNsdWRlCisJW3VzZXJdCisJCWFic29sdXRlID0gaW5jbHVkZQogCUVPRgogCWNhdCA+IiRJTkNMVURFX0RJUiIvcmVsYXRpdmUuaW5jbHVkZSA8PC1cRU9GICYmCi0JCVt1c2VyXQotCQkJcmVsYXRpdmUgPSBpbmNsdWRlCisJW3VzZXJdCisJCXJlbGF0aXZlID0gaW5jbHVkZQogCUVPRgogCWNhdCA+IiRIT01FIi8uZ2l0Y29uZmlnIDw8LUVPRiAmJgotCQlbdXNlcl0KLQkJCWdsb2JhbCA9IHRydWUKLQkJCW92ZXJyaWRlID0gZ2xvYmFsCi0JCVtpbmNsdWRlXQotCQkJcGF0aCA9ICIkSU5DTFVERV9ESVIvYWJzb2x1dGUuaW5jbHVkZSIKKwlbdXNlcl0KKwkJZ2xvYmFsID0gdHJ1ZQorCQlvdmVycmlkZSA9IGdsb2JhbAorCVtpbmNsdWRlXQorCQlwYXRoID0gIiRJTkNMVURFX0RJUi9hYnNvbHV0ZS5pbmNsdWRlIgogCUVPRgogCWNhdCA+LmdpdC9jb25maWcgPDwtXEVPRgotCQlbdXNlcl0KLQkJCWxvY2FsID0gdHJ1ZQotCQkJb3ZlcnJpZGUgPSBsb2NhbAotCQlbaW5jbHVkZV0KLQkJCXBhdGggPSAuLi9pbmNsdWRlL3JlbGF0aXZlLmluY2x1ZGUKKwlbdXNlcl0KKwkJbG9jYWwgPSB0cnVlCisJCW92ZXJyaWRlID0gbG9jYWwKKwlbaW5jbHVkZV0KKwkJcGF0aCA9IC4uL2luY2x1ZGUvcmVsYXRpdmUuaW5jbHVkZQogCUVPRgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXNob3ctb3JpZ2luIHdpdGggLS1saXN0JyAnCiAJY2F0ID5leHBlY3QgPDwtRU9GICYmCi0JCWZpbGU6JEhPTUUvLmdpdGNvbmZpZwl1c2VyLmdsb2JhbD10cnVlCi0JCWZpbGU6JEhPTUUvLmdpdGNvbmZpZwl1c2VyLm92ZXJyaWRlPWdsb2JhbAotCQlmaWxlOiRIT01FLy5naXRjb25maWcJaW5jbHVkZS5wYXRoPSRJTkNMVURFX0RJUi9hYnNvbHV0ZS5pbmNsdWRlCi0JCWZpbGU6JElOQ0xVREVfRElSL2Fic29sdXRlLmluY2x1ZGUJdXNlci5hYnNvbHV0ZT1pbmNsdWRlCi0JCWZpbGU6LmdpdC9jb25maWcJdXNlci5sb2NhbD10cnVlCi0JCWZpbGU6LmdpdC9jb25maWcJdXNlci5vdmVycmlkZT1sb2NhbAotCQlmaWxlOi5naXQvY29uZmlnCWluY2x1ZGUucGF0aD0uLi9pbmNsdWRlL3JlbGF0aXZlLmluY2x1ZGUKLQkJZmlsZTouZ2l0Ly4uL2luY2x1ZGUvcmVsYXRpdmUuaW5jbHVkZQl1c2VyLnJlbGF0aXZlPWluY2x1ZGUKLQkJY29tbWFuZCBsaW5lOgl1c2VyLmNtZGxpbmU9dHJ1ZQorCWZpbGU6JEhPTUUvLmdpdGNvbmZpZwl1c2VyLmdsb2JhbD10cnVlCisJZmlsZTokSE9NRS8uZ2l0Y29uZmlnCXVzZXIub3ZlcnJpZGU9Z2xvYmFsCisJZmlsZTokSE9NRS8uZ2l0Y29uZmlnCWluY2x1ZGUucGF0aD0kSU5DTFVERV9ESVIvYWJzb2x1dGUuaW5jbHVkZQorCWZpbGU6JElOQ0xVREVfRElSL2Fic29sdXRlLmluY2x1ZGUJdXNlci5hYnNvbHV0ZT1pbmNsdWRlCisJZmlsZTouZ2l0L2NvbmZpZwl1c2VyLmxvY2FsPXRydWUKKwlmaWxlOi5naXQvY29uZmlnCXVzZXIub3ZlcnJpZGU9bG9jYWwKKwlmaWxlOi5naXQvY29uZmlnCWluY2x1ZGUucGF0aD0uLi9pbmNsdWRlL3JlbGF0aXZlLmluY2x1ZGUKKwlmaWxlOi5naXQvLi4vaW5jbHVkZS9yZWxhdGl2ZS5pbmNsdWRlCXVzZXIucmVsYXRpdmU9aW5jbHVkZQorCWNvbW1hbmQgbGluZToJdXNlci5jbWRsaW5lPXRydWUKIAlFT0YKIAlnaXQgLWMgdXNlci5jbWRsaW5lPXRydWUgY29uZmlnIC0tbGlzdCAtLXNob3ctb3JpZ2luID5vdXRwdXQgJiYKIAl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CkBAIC0xNjYzLDE2ICsxNjY5LDE2IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc2hvdy1vcmlnaW4gd2l0aCAtLWxpc3QgLS1udWxsJyAnCiAJY2F0ID5leHBlY3QgPDwtRU9GICYmCi0JCWZpbGU6JEhPTUUvLmdpdGNvbmZpZ1F1c2VyLmdsb2JhbAotCQl0cnVlUWZpbGU6JEhPTUUvLmdpdGNvbmZpZ1F1c2VyLm92ZXJyaWRlCi0JCWdsb2JhbFFmaWxlOiRIT01FLy5naXRjb25maWdRaW5jbHVkZS5wYXRoCi0JCSRJTkNMVURFX0RJUi9hYnNvbHV0ZS5pbmNsdWRlUWZpbGU6JElOQ0xVREVfRElSL2Fic29sdXRlLmluY2x1ZGVRdXNlci5hYnNvbHV0ZQotCQlpbmNsdWRlUWZpbGU6LmdpdC9jb25maWdRdXNlci5sb2NhbAotCQl0cnVlUWZpbGU6LmdpdC9jb25maWdRdXNlci5vdmVycmlkZQotCQlsb2NhbFFmaWxlOi5naXQvY29uZmlnUWluY2x1ZGUucGF0aAotCQkuLi9pbmNsdWRlL3JlbGF0aXZlLmluY2x1ZGVRZmlsZTouZ2l0Ly4uL2luY2x1ZGUvcmVsYXRpdmUuaW5jbHVkZVF1c2VyLnJlbGF0aXZlCi0JCWluY2x1ZGVRY29tbWFuZCBsaW5lOlF1c2VyLmNtZGxpbmUKLQkJdHJ1ZVEKKwlmaWxlOiRIT01FLy5naXRjb25maWdRdXNlci5nbG9iYWwKKwl0cnVlUWZpbGU6JEhPTUUvLmdpdGNvbmZpZ1F1c2VyLm92ZXJyaWRlCisJZ2xvYmFsUWZpbGU6JEhPTUUvLmdpdGNvbmZpZ1FpbmNsdWRlLnBhdGgKKwkkSU5DTFVERV9ESVIvYWJzb2x1dGUuaW5jbHVkZVFmaWxlOiRJTkNMVURFX0RJUi9hYnNvbHV0ZS5pbmNsdWRlUXVzZXIuYWJzb2x1dGUKKwlpbmNsdWRlUWZpbGU6LmdpdC9jb25maWdRdXNlci5sb2NhbAorCXRydWVRZmlsZTouZ2l0L2NvbmZpZ1F1c2VyLm92ZXJyaWRlCisJbG9jYWxRZmlsZTouZ2l0L2NvbmZpZ1FpbmNsdWRlLnBhdGgKKwkuLi9pbmNsdWRlL3JlbGF0aXZlLmluY2x1ZGVRZmlsZTouZ2l0Ly4uL2luY2x1ZGUvcmVsYXRpdmUuaW5jbHVkZVF1c2VyLnJlbGF0aXZlCisJaW5jbHVkZVFjb21tYW5kIGxpbmU6UXVzZXIuY21kbGluZQorCXRydWVRCiAJRU9GCiAJZ2l0IC1jIHVzZXIuY21kbGluZT10cnVlIGNvbmZpZyAtLW51bGwgLS1saXN0IC0tc2hvdy1vcmlnaW4gPm91dHB1dC5yYXcgJiYKIAludWxfdG9fcSA8b3V0cHV0LnJhdyA+b3V0cHV0ICYmCkBAIC0xNjg0LDkgKzE2OTAsOSBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXNob3ctb3JpZ2luIHdpdGggc2luZ2xlIGZpbGUnICcKIAljYXQgPmV4cGVjdCA8PC1cRU9GICYmCi0JCWZpbGU6LmdpdC9jb25maWcJdXNlci5sb2NhbD10cnVlCi0JCWZpbGU6LmdpdC9jb25maWcJdXNlci5vdmVycmlkZT1sb2NhbAotCQlmaWxlOi5naXQvY29uZmlnCWluY2x1ZGUucGF0aD0uLi9pbmNsdWRlL3JlbGF0aXZlLmluY2x1ZGUKKwlmaWxlOi5naXQvY29uZmlnCXVzZXIubG9jYWw9dHJ1ZQorCWZpbGU6LmdpdC9jb25maWcJdXNlci5vdmVycmlkZT1sb2NhbAorCWZpbGU6LmdpdC9jb25maWcJaW5jbHVkZS5wYXRoPS4uL2luY2x1ZGUvcmVsYXRpdmUuaW5jbHVkZQogCUVPRgogCWdpdCBjb25maWcgLS1sb2NhbCAtLWxpc3QgLS1zaG93LW9yaWdpbiA+b3V0cHV0ICYmCiAJdGVzdF9jbXAgZXhwZWN0IG91dHB1dApAQCAtMTY5NCw4ICsxNzAwLDggQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1zaG93LW9yaWdpbiB3aXRoIC0tZ2V0LXJlZ2V4cCcgJwogCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgotCQlmaWxlOiRIT01FLy5naXRjb25maWcJdXNlci5nbG9iYWwgdHJ1ZQotCQlmaWxlOi5naXQvY29uZmlnCXVzZXIubG9jYWwgdHJ1ZQorCWZpbGU6JEhPTUUvLmdpdGNvbmZpZwl1c2VyLmdsb2JhbCB0cnVlCisJZmlsZTouZ2l0L2NvbmZpZwl1c2VyLmxvY2FsIHRydWUKIAlFT0YKIAlnaXQgY29uZmlnIC0tc2hvdy1vcmlnaW4gLS1nZXQtcmVnZXhwICJ1c2VyXC5bZ3xsXS4qIiA+b3V0cHV0ICYmCiAJdGVzdF9jbXAgZXhwZWN0IG91dHB1dApAQCAtMTcwMywzMSArMTcwOSwzNiBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXNob3ctb3JpZ2luIGdldHRpbmcgYSBzaW5nbGUga2V5JyAnCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgotCQlmaWxlOi5naXQvY29uZmlnCWxvY2FsCisJZmlsZTouZ2l0L2NvbmZpZwlsb2NhbAogCUVPRgogCWdpdCBjb25maWcgLS1zaG93LW9yaWdpbiB1c2VyLm92ZXJyaWRlID5vdXRwdXQgJiYKIAl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldCB1cCBjdXN0b20gY29uZmlnIGZpbGUnICcKLQlDVVNUT01fQ09ORklHX0ZJTEU9ImZpbGVcIiAoZHEpIGFuZCBzcGFjZXMuY29uZiIgJiYKKwlDVVNUT01fQ09ORklHX0ZJTEU9ImN1c3RvbS5jb25mIiAmJgogCWNhdCA+IiRDVVNUT01fQ09ORklHX0ZJTEUiIDw8LVxFT0YKLQkJW3VzZXJdCi0JCQljdXN0b20gPSB0cnVlCisJW3VzZXJdCisJCWN1c3RvbSA9IHRydWUKIAlFT0YKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAhTUlOR1cgJ3NldCB1cCBjdXN0b20gY29uZmlnIGZpbGUgd2l0aCBzcGVjaWFsIG5hbWUgY2hhcmFjdGVycycgJworCVdFSVJETFlfTkFNRURfRklMRT0iZmlsZVwiIChkcSkgYW5kIHNwYWNlcy5jb25mIiAmJgorCWNwICIkQ1VTVE9NX0NPTkZJR19GSUxFIiAiJFdFSVJETFlfTkFNRURfRklMRSIKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAhTUlOR1cgJy0tc2hvdy1vcmlnaW4gZXNjYXBlIHNwZWNpYWwgZmlsZSBuYW1lIGNoYXJhY3RlcnMnICcKIAljYXQgPmV4cGVjdCA8PC1cRU9GICYmCi0JCWZpbGU6ImZpbGVcIiAoZHEpIGFuZCBzcGFjZXMuY29uZiIJdXNlci5jdXN0b209dHJ1ZQorCWZpbGU6ImZpbGVcIiAoZHEpIGFuZCBzcGFjZXMuY29uZiIJdXNlci5jdXN0b209dHJ1ZQogCUVPRgotCWdpdCBjb25maWcgLS1maWxlICIkQ1VTVE9NX0NPTkZJR19GSUxFIiAtLXNob3ctb3JpZ2luIC0tbGlzdCA+b3V0cHV0ICYmCisJZ2l0IGNvbmZpZyAtLWZpbGUgIiRXRUlSRExZX05BTUVEX0ZJTEUiIC0tc2hvdy1vcmlnaW4gLS1saXN0ID5vdXRwdXQgJiYKIAl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc2hvdy1vcmlnaW4gc3RkaW4nICcKIAljYXQgPmV4cGVjdCA8PC1cRU9GICYmCi0JCXN0YW5kYXJkIGlucHV0Ogl1c2VyLmN1c3RvbT10cnVlCisJc3RhbmRhcmQgaW5wdXQ6CXVzZXIuY3VzdG9tPXRydWUKIAlFT0YKIAlnaXQgY29uZmlnIC0tZmlsZSAtIC0tc2hvdy1vcmlnaW4gLS1saXN0IDwiJENVU1RPTV9DT05GSUdfRklMRSIgPm91dHB1dCAmJgogCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKQEAgLTE3MzUsMTEgKzE3NDYsMTEgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1zaG93LW9yaWdpbiBzdGRpbiB3aXRoIGZpbGUgaW5jbHVkZScgJwogCWNhdCA+IiRJTkNMVURFX0RJUiIvc3RkaW4uaW5jbHVkZSA8PC1FT0YgJiYKLQkJW3VzZXJdCi0JCQlzdGRpbiA9IGluY2x1ZGUKKwlbdXNlcl0KKwkJc3RkaW4gPSBpbmNsdWRlCiAJRU9GCiAJY2F0ID5leHBlY3QgPDwtRU9GICYmCi0JCWZpbGU6JElOQ0xVREVfRElSL3N0ZGluLmluY2x1ZGUJaW5jbHVkZQorCWZpbGU6JElOQ0xVREVfRElSL3N0ZGluLmluY2x1ZGUJaW5jbHVkZQogCUVPRgogCWVjaG8gIltpbmNsdWRlXXBhdGg9XCIkSU5DTFVERV9ESVJcIi9zdGRpbi5pbmNsdWRlIiB8CiAJZ2l0IGNvbmZpZyAtLXNob3ctb3JpZ2luIC0taW5jbHVkZXMgLS1maWxlIC0gdXNlci5zdGRpbiA+b3V0cHV0ICYmCkBAIC0xNzQ3LDE4ICsxNzU4LDE4IEBACiAJdGVzdF9jbXAgZXhwZWN0IG91dHB1dAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICFNSU5HVyAnLS1zaG93LW9yaWdpbiBibG9iJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXNob3ctb3JpZ2luIGJsb2InICcKIAlibG9iPSQoZ2l0IGhhc2gtb2JqZWN0IC13ICIkQ1VTVE9NX0NPTkZJR19GSUxFIikgJiYKIAljYXQgPmV4cGVjdCA8PC1FT0YgJiYKLQkJYmxvYjokYmxvYgl1c2VyLmN1c3RvbT10cnVlCisJYmxvYjokYmxvYgl1c2VyLmN1c3RvbT10cnVlCiAJRU9GCiAJZ2l0IGNvbmZpZyAtLWJsb2I9JGJsb2IgLS1zaG93LW9yaWdpbiAtLWxpc3QgPm91dHB1dCAmJgogCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAhTUlOR1cgJy0tc2hvdy1vcmlnaW4gYmxvYiByZWYnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc2hvdy1vcmlnaW4gYmxvYiByZWYnICcKIAljYXQgPmV4cGVjdCA8PC1cRU9GICYmCi0JCWJsb2I6Im1hc3RlcjpmaWxlXCIgKGRxKSBhbmQgc3BhY2VzLmNvbmYiCXVzZXIuY3VzdG9tPXRydWUKKwlibG9iOm1hc3RlcjpjdXN0b20uY29uZgl1c2VyLmN1c3RvbT10cnVlCiAJRU9GCiAJZ2l0IGFkZCAiJENVU1RPTV9DT05GSUdfRklMRSIgJiYKIAlnaXQgY29tbWl0IC1tICJuZXcgY29uZmlnIGZpbGUiICYmCkBAIC0xNzY2LDYgKzE3NzcsNjUgQEAKIAl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc2hvdy1zY29wZSB3aXRoIC0tbGlzdCcgJworCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCWdsb2JhbAl1c2VyLmdsb2JhbD10cnVlCisJZ2xvYmFsCXVzZXIub3ZlcnJpZGU9Z2xvYmFsCisJZ2xvYmFsCWluY2x1ZGUucGF0aD0kSU5DTFVERV9ESVIvYWJzb2x1dGUuaW5jbHVkZQorCWdsb2JhbAl1c2VyLmFic29sdXRlPWluY2x1ZGUKKwlsb2NhbAl1c2VyLmxvY2FsPXRydWUKKwlsb2NhbAl1c2VyLm92ZXJyaWRlPWxvY2FsCisJbG9jYWwJaW5jbHVkZS5wYXRoPS4uL2luY2x1ZGUvcmVsYXRpdmUuaW5jbHVkZQorCWxvY2FsCXVzZXIucmVsYXRpdmU9aW5jbHVkZQorCWNvbW1hbmQJdXNlci5jbWRsaW5lPXRydWUKKwlFT0YKKwlnaXQgLWMgdXNlci5jbWRsaW5lPXRydWUgY29uZmlnIC0tbGlzdCAtLXNob3ctc2NvcGUgPm91dHB1dCAmJgorCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAhTUlOR1cgJy0tc2hvdy1zY29wZSB3aXRoIC0tYmxvYicgJworCWJsb2I9JChnaXQgaGFzaC1vYmplY3QgLXcgIiRDVVNUT01fQ09ORklHX0ZJTEUiKSAmJgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCWNvbW1hbmQJdXNlci5jdXN0b209dHJ1ZQorCUVPRgorCWdpdCBjb25maWcgLS1ibG9iPSRibG9iIC0tc2hvdy1zY29wZSAtLWxpc3QgPm91dHB1dCAmJgorCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1zaG93LXNjb3BlIHdpdGggLS1sb2NhbCcgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlsb2NhbAl1c2VyLmxvY2FsPXRydWUKKwlsb2NhbAl1c2VyLm92ZXJyaWRlPWxvY2FsCisJbG9jYWwJaW5jbHVkZS5wYXRoPS4uL2luY2x1ZGUvcmVsYXRpdmUuaW5jbHVkZQorCUVPRgorCWdpdCBjb25maWcgLS1sb2NhbCAtLWxpc3QgLS1zaG93LXNjb3BlID5vdXRwdXQgJiYKKwl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc2hvdy1zY29wZSBnZXR0aW5nIGEgc2luZ2xlIHZhbHVlJyAnCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCWxvY2FsCXRydWUKKwlFT0YKKwlnaXQgY29uZmlnIC0tc2hvdy1zY29wZSAtLWdldCB1c2VyLmxvY2FsID5vdXRwdXQgJiYKKwl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc2hvdy1zY29wZSB3aXRoIC0tc2hvdy1vcmlnaW4nICcKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwlnbG9iYWwJZmlsZTokSE9NRS8uZ2l0Y29uZmlnCXVzZXIuZ2xvYmFsPXRydWUKKwlnbG9iYWwJZmlsZTokSE9NRS8uZ2l0Y29uZmlnCXVzZXIub3ZlcnJpZGU9Z2xvYmFsCisJZ2xvYmFsCWZpbGU6JEhPTUUvLmdpdGNvbmZpZwlpbmNsdWRlLnBhdGg9JElOQ0xVREVfRElSL2Fic29sdXRlLmluY2x1ZGUKKwlnbG9iYWwJZmlsZTokSU5DTFVERV9ESVIvYWJzb2x1dGUuaW5jbHVkZQl1c2VyLmFic29sdXRlPWluY2x1ZGUKKwlsb2NhbAlmaWxlOi5naXQvY29uZmlnCXVzZXIubG9jYWw9dHJ1ZQorCWxvY2FsCWZpbGU6LmdpdC9jb25maWcJdXNlci5vdmVycmlkZT1sb2NhbAorCWxvY2FsCWZpbGU6LmdpdC9jb25maWcJaW5jbHVkZS5wYXRoPS4uL2luY2x1ZGUvcmVsYXRpdmUuaW5jbHVkZQorCWxvY2FsCWZpbGU6LmdpdC8uLi9pbmNsdWRlL3JlbGF0aXZlLmluY2x1ZGUJdXNlci5yZWxhdGl2ZT1pbmNsdWRlCisJY29tbWFuZAljb21tYW5kIGxpbmU6CXVzZXIuY21kbGluZT10cnVlCisJRU9GCisJZ2l0IC1jIHVzZXIuY21kbGluZT10cnVlIGNvbmZpZyAtLWxpc3QgLS1zaG93LW9yaWdpbiAtLXNob3ctc2NvcGUgPm91dHB1dCAmJgorCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1sb2NhbCByZXF1aXJlcyBhIHJlcG8nICcKIAkjIHdlIGV4cGVjdCAxMjggdG8gZW5zdXJlIHRoYXQgd2UgZG8gbm90IHNpbXBseQogCSMgZmFpbCB0byBmaW5kIGFueXRoaW5nIGFuZCByZXR1cm4gY29kZSAiMSIKZGlmZiAtLWdpdCBhL3QvdDEzMDEtc2hhcmVkLXJlcG8uc2ggYi90L3QxMzAxLXNoYXJlZC1yZXBvLnNoCmluZGV4IGRmZWNlNzUuLjJkYzg1M2QgMTAwNzU1Ci0tLSBhL3QvdDEzMDEtc2hhcmVkLXJlcG8uc2gKKysrIGIvdC90MTMwMS1zaGFyZWQtcmVwby5zaApAQCAtMTM2LDcgKzEzNiw3IEBACiAJKAogCQljZCBuZXcgJiYKIAkJdW1hc2sgMDAyICYmCi0JCWdpdCBpbml0IC0tc2hhcmVkPTA2NjAgLS10ZW1wbGF0ZT0uLi90ZW1wbGF0ZXMgJiYKKwkJZ2l0IGluaXQgLS1zaGFyZWQ9MDY2MCAtLXRlbXBsYXRlPXRlbXBsYXRlcyAmJgogCQk+ZnJvdHogJiYKIAkJZ2l0IGFkZCBmcm90eiAmJgogCQlnaXQgY29tbWl0IC1hIC1tIGluaXRpYWwgJiYKQEAgLTE5Miw3ICsxOTIsNyBAQAogCXVtYXNrIDAwMjIgJiYKIAlnaXQgaW5pdCAtLWJhcmUgLS1zaGFyZWQ9MDY2NiBjaGlsZC5naXQgJiYKIAl0ZXN0X3BhdGhfaXNfbWlzc2luZyBjaGlsZC5naXQvZm9vICYmCi0JZ2l0IGluaXQgLS1iYXJlIC0tdGVtcGxhdGU9Li4vdGVtcGxhdGVzIGNoaWxkLmdpdCAmJgorCWdpdCBpbml0IC0tYmFyZSAtLXRlbXBsYXRlPXRlbXBsYXRlcyBjaGlsZC5naXQgJiYKIAllY2hvICItcnctcnctcnctIiA+ZXhwZWN0ICYmCiAJdGVzdF9tb2RlYml0cyBjaGlsZC5naXQvZm9vID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCkBAIC0yMDMsNyArMjAzLDcgQEAKIAl1bWFzayAwMDIyICYmCiAJZ2l0IGNvbmZpZyBjb3JlLnNoYXJlZHJlcG9zaXRvcnkgMDY2NiAmJgogCWNwIC5naXQvY29uZmlnIHRlbXBsYXRlcy9jb25maWcgJiYKLQlnaXQgaW5pdCAtLWJhcmUgLS10ZW1wbGF0ZT0uLi90ZW1wbGF0ZXMgY2hpbGQuZ2l0ICYmCisJZ2l0IGluaXQgLS1iYXJlIC0tdGVtcGxhdGU9dGVtcGxhdGVzIGNoaWxkLmdpdCAmJgogCWVjaG8gIi1ydy1ydy1ydy0iID5leHBlY3QgJiYKIAl0ZXN0X21vZGViaXRzIGNoaWxkLmdpdC9IRUFEID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCmRpZmYgLS1naXQgYS90L3QxMzA1LWNvbmZpZy1pbmNsdWRlLnNoIGIvdC90MTMwNS1jb25maWctaW5jbHVkZS5zaAppbmRleCA2MzU5MTg1Li5mMWUxYjI4IDEwMDc1NQotLS0gYS90L3QxMzA1LWNvbmZpZy1pbmNsdWRlLnNoCisrKyBiL3QvdDEzMDUtY29uZmlnLWluY2x1ZGUuc2gKQEAgLTYzLDcgKzYzLDcgQEAKIAl0ZXN0Lm9uZT0xCiAJRU9GCiAJZ2l0IGNvbmZpZyAtLWxpc3QgPmFjdHVhbC5mdWxsICYmCi0JZ3JlcCAtdiBeY29yZSBhY3R1YWwuZnVsbCA+YWN0dWFsICYmCisJZ3JlcCAtdiAtZSBeY29yZSAtZSBeZXh0ZW5zaW9ucyBhY3R1YWwuZnVsbCA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCkBAIC0yMjksNiArMjI5LDE5IEBACiAJKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb25kaXRpb25hbCBpbmNsdWRlIHdpdGggLyoqLycgJworCVJFUE89Zm9vL2Jhci9yZXBvICYmCisJZ2l0IGluaXQgJFJFUE8gJiYKKwljYXQgPj4kUkVQTy8uZ2l0L2NvbmZpZyA8PC1cRU9GICYmCisJW2luY2x1ZGVJZiAiZ2l0ZGlyOioqL2Zvby8qKi9iYXIvKioiXQorCXBhdGg9YmFyNworCUVPRgorCWVjaG8gIlt0ZXN0XXNldmVuPTciID4kUkVQTy8uZ2l0L2JhcjcgJiYKKwllY2hvIDcgPmV4cGVjdCAmJgorCWdpdCAtQyAkUkVQTyBjb25maWcgdGVzdC5zZXZlbiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFNZTUxJTktTICdjb25kaXRpb25hbCBpbmNsdWRlLCBzZXQgdXAgc3ltbGlua2VkICRIT01FJyAnCiAJbWtkaXIgcmVhbC1ob21lICYmCiAJbG4gLXMgcmVhbC1ob21lIGhvbWUgJiYKQEAgLTI5NiwyMSArMzA5LDUzIEBACiAJKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb25kaXRpb25hbCBpbmNsdWRlLCBvbmJyYW5jaCcgJworCWVjaG8gIltpbmNsdWRlSWYgXCJvbmJyYW5jaDpmb28tYnJhbmNoXCJdcGF0aD1iYXI5IiA+Pi5naXQvY29uZmlnICYmCisJZWNobyAiW3Rlc3RdbmluZT05IiA+LmdpdC9iYXI5ICYmCisJZ2l0IGNoZWNrb3V0IC1iIG1hc3RlciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgdGVzdC5uaW5lICYmCisJZ2l0IGNoZWNrb3V0IC1iIGZvby1icmFuY2ggJiYKKwllY2hvIDkgPmV4cGVjdCAmJgorCWdpdCBjb25maWcgdGVzdC5uaW5lID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbmRpdGlvbmFsIGluY2x1ZGUsIG9uYnJhbmNoLCB3aWxkY2FyZCcgJworCWVjaG8gIltpbmNsdWRlSWYgXCJvbmJyYW5jaDo/b28tKi8qKlwiXXBhdGg9YmFyMTAiID4+LmdpdC9jb25maWcgJiYKKwllY2hvICJbdGVzdF10ZW49MTAiID4uZ2l0L2JhcjEwICYmCisJZ2l0IGNoZWNrb3V0IC1iIG5vdC1mb28tYnJhbmNoL2EgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIHRlc3QudGVuICYmCisKKwllY2hvIDEwID5leHBlY3QgJiYKKwlnaXQgY2hlY2tvdXQgLWIgZm9vLWJyYW5jaC9hL2IvYyAmJgorCWdpdCBjb25maWcgdGVzdC50ZW4gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCWdpdCBjaGVja291dCAtYiBtb28tYmFyL2EgJiYKKwlnaXQgY29uZmlnIHRlc3QudGVuID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbmRpdGlvbmFsIGluY2x1ZGUsIG9uYnJhbmNoLCBpbXBsaWNpdCAvKiogZm9yIC8nICcKKwllY2hvICJbaW5jbHVkZUlmIFwib25icmFuY2g6Zm9vLWRpci9cIl1wYXRoPWJhcjExIiA+Pi5naXQvY29uZmlnICYmCisJZWNobyAiW3Rlc3RdZWxldmVuPTExIiA+LmdpdC9iYXIxMSAmJgorCWdpdCBjaGVja291dCAtYiBub3QtZm9vLWRpci9hICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyB0ZXN0LmVsZXZlbiAmJgorCisJZWNobyAxMSA+ZXhwZWN0ICYmCisJZ2l0IGNoZWNrb3V0IC1iIGZvby1kaXIvYS9iL2MgJiYKKwlnaXQgY29uZmlnIHRlc3QuZWxldmVuID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luY2x1ZGUgY3ljbGVzIGFyZSBkZXRlY3RlZCcgJwotCWNhdCA+LmdpdGNvbmZpZyA8PC1cRU9GICYmCi0JW3Rlc3RddmFsdWUgPSBnaXRjb25maWcKLQlbaW5jbHVkZV1wYXRoID0gY3ljbGUKLQlFT0YKLQljYXQgPmN5Y2xlIDw8LVxFT0YgJiYKLQlbdGVzdF12YWx1ZSA9IGN5Y2xlCi0JW2luY2x1ZGVdcGF0aCA9IC5naXRjb25maWcKLQlFT0YKLQljYXQgPmV4cGVjdCA8PC1cRU9GICYmCi0JZ2l0Y29uZmlnCi0JY3ljbGUKLQlFT0YKLQl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC0tZ2V0LWFsbCB0ZXN0LnZhbHVlIDI+c3RkZXJyICYmCi0JdGVzdF9pMThuZ3JlcCAiZXhjZWVkZWQgbWF4aW11bSBpbmNsdWRlIGRlcHRoIiBzdGRlcnIKKwlnaXQgaW5pdCAtLWJhcmUgY3ljbGUgJiYKKwlnaXQgLUMgY3ljbGUgY29uZmlnIGluY2x1ZGUucGF0aCBjeWNsZSAmJgorCWdpdCBjb25maWcgLWYgY3ljbGUvY3ljbGUgaW5jbHVkZS5wYXRoIGNvbmZpZyAmJgorCXRlc3RfbXVzdF9mYWlsIFwKKwkJZW52IEdJVF9URVNUX0dFVFRFWFRfUE9JU09OPWZhbHNlIFwKKwkJZ2l0IC1DIGN5Y2xlIGNvbmZpZyAtLWdldC1hbGwgdGVzdC52YWx1ZSAyPnN0ZGVyciAmJgorCWdyZXAgImV4Y2VlZGVkIG1heGltdW0gaW5jbHVkZSBkZXB0aCIgc3RkZXJyCiAnCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MTMwNi14ZGctZmlsZXMuc2ggYi90L3QxMzA2LXhkZy1maWxlcy5zaAppbmRleCAyMWUxMzlhLi5kZDg3YjQzIDEwMDc1NQotLS0gYS90L3QxMzA2LXhkZy1maWxlcy5zaAorKysgYi90L3QxMzA2LXhkZy1maWxlcy5zaApAQCAtMTUzLDcgKzE1Myw3IEBACiAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnQ2hlY2tpbmcgYXR0cmlidXRlcyBpbiBhIG5vbi1YREcgZ2xvYmFsIGF0dHJpYnV0ZXMgZmlsZScgJwotCXRlc3RfbWlnaHRfZmFpbCBybSAuZ2l0YXR0cmlidXRlcyAmJgorCXJtIC1mIC5naXRhdHRyaWJ1dGVzICYmCiAJZWNobyAiZiBhdHRyX2Y9dGVzdCIgPiIkSE9NRSIvbXlfZ2l0YXR0cmlidXRlcyAmJgogCWdpdCBjb25maWcgY29yZS5hdHRyaWJ1dGVzZmlsZSAiJEhPTUUiL215X2dpdGF0dHJpYnV0ZXMgJiYKIAllY2hvICJmOiBhdHRyX2Y6IHRlc3QiID5leHBlY3RlZCAmJgpAQCAtMTY1LDcgKzE2NSw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd3cml0ZTogeGRnIGZpbGUgZXhpc3RzIGFuZCB+Ly5naXRjb25maWcgZG9lc24nXCcndCcgJwogCW1rZGlyIC1wICIkSE9NRSIvLmNvbmZpZy9naXQgJiYKIAk+IiRIT01FIi8uY29uZmlnL2dpdC9jb25maWcgJiYKLQl0ZXN0X21pZ2h0X2ZhaWwgcm0gIiRIT01FIi8uZ2l0Y29uZmlnICYmCisJcm0gLWYgIiRIT01FIi8uZ2l0Y29uZmlnICYmCiAJZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgIndyaXRlX2NvbmZpZyIgJiYKIAllY2hvICJbdXNlcl0iID5leHBlY3RlZCAmJgogCWVjaG8gIgluYW1lID0gd3JpdGVfY29uZmlnIiA+PmV4cGVjdGVkICYmCkBAIC0xODMsOCArMTgzLDggQEAKIAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd3cml0ZTogfi8uY29uZmlnL2dpdC8gZXhpc3RzIGFuZCBjb25maWcgZmlsZSBkb2VzbidcJyd0JyAnCi0JdGVzdF9taWdodF9mYWlsIHJtICIkSE9NRSIvLmdpdGNvbmZpZyAmJgotCXRlc3RfbWlnaHRfZmFpbCBybSAiJEhPTUUiLy5jb25maWcvZ2l0L2NvbmZpZyAmJgorCXJtIC1mICIkSE9NRSIvLmdpdGNvbmZpZyAmJgorCXJtIC1mICIkSE9NRSIvLmNvbmZpZy9naXQvY29uZmlnICYmCiAJZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgIndyaXRlX2dpdGNvbmZpZyIgJiYKIAllY2hvICJbdXNlcl0iID5leHBlY3RlZCAmJgogCWVjaG8gIgluYW1lID0gd3JpdGVfZ2l0Y29uZmlnIiA+PmV4cGVjdGVkICYmCmRpZmYgLS1naXQgYS90L3QxMzA3LWNvbmZpZy1ibG9iLnNoIGIvdC90MTMwNy1jb25maWctYmxvYi5zaAppbmRleCAzN2RjNjg5Li4wMDJlNmQzIDEwMDc1NQotLS0gYS90L3QxMzA3LWNvbmZpZy1ibG9iLnNoCisrKyBiL3QvdDEzMDctY29uZmlnLWJsb2Iuc2gKQEAgLTc0LDcgKzc0LDcgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY29uZmlnIC0tYmxvYiBvdXRzaWRlIG9mIGEgcmVwb3NpdG9yeSBpcyBhbiBlcnJvcicgJwotCXRlc3RfbXVzdF9mYWlsIG5vbmdpdCBnaXQgY29uZmlnIC0tYmxvYj1mb28gLS1saXN0CisJbm9uZ2l0IHRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgLS1ibG9iPWZvbyAtLWxpc3QKICcKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxMzA4LWNvbmZpZy1zZXQuc2ggYi90L3QxMzA4LWNvbmZpZy1zZXQuc2gKaW5kZXggZDBhMjcyNy4uM2E1MjdlMyAxMDA3NTUKLS0tIGEvdC90MTMwOC1jb25maWctc2V0LnNoCisrKyBiL3QvdDEzMDgtY29uZmlnLXNldC5zaApAQCAtMTY2LDE0ICsxNjYsMTQgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmluZCB2YWx1ZV9saXN0IGZvciBhIGtleSBmcm9tIGEgY29uZmlnc2V0JyAnCi0JY2F0ID5leGNlcHQgPDwtXEVPRiAmJgorCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlsYW1hCisJYmFsbAogCXNhbQogCWJhdAogCWhhc2sKLQlsYW1hCi0JYmFsbAogCUVPRgotCXRlc3QtdG9vbCBjb25maWcgY29uZmlnc2V0X2dldF92YWx1ZSBjYXNlLmJheiBjb25maWcyIC5naXQvY29uZmlnID5hY3R1YWwgJiYKKwl0ZXN0LXRvb2wgY29uZmlnIGNvbmZpZ3NldF9nZXRfdmFsdWVfbXVsdGkgY2FzZS5iYXogY29uZmlnMiAuZ2l0L2NvbmZpZyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCkBAIC0yMzgsOCArMjM4LDggQEAKIAogY21kbGluZV9jb25maWc9Iidmb28uYmFyPWZyb20tY21kbGluZSciCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdpdGVyYXRpb24gc2hvd3MgY29ycmVjdCBvcmlnaW5zJyAnCi0JZWNobyAiW2Zvb11iYXIgPSBmcm9tLXJlcG8iID4uZ2l0L2NvbmZpZyAmJgotCWVjaG8gIltmb29dYmFyID0gZnJvbS1ob21lIiA+LmdpdGNvbmZpZyAmJgorCXByaW50ZiAiW2lnbm9yZV1cblx0dGhpcyA9IHBsZWFzZVxuW2Zvb11iYXIgPSBmcm9tLXJlcG9cbiIgPi5naXQvY29uZmlnICYmCisJcHJpbnRmICJbZm9vXVxuXHRiYXIgPSBmcm9tLWhvbWVcbiIgPi5naXRjb25maWcgJiYKIAlpZiB0ZXN0X2hhdmVfcHJlcmVxIE1JTkdXCiAJdGhlbgogCQkjIFVzZSBXaW5kb3dzIHBhdGggKGkuZS4gKm5vdCogJEhPTUUpCkBAIC0yNTMsMTkgKzI1MywyOSBAQAogCXZhbHVlPWZyb20taG9tZQogCW9yaWdpbj1maWxlCiAJbmFtZT0kSE9NRV9HSVRDT05GSUcKKwlsbm89MgogCXNjb3BlPWdsb2JhbAogCisJa2V5PWlnbm9yZS50aGlzCisJdmFsdWU9cGxlYXNlCisJb3JpZ2luPWZpbGUKKwluYW1lPS5naXQvY29uZmlnCisJbG5vPTIKKwlzY29wZT1sb2NhbAorCiAJa2V5PWZvby5iYXIKIAl2YWx1ZT1mcm9tLXJlcG8KIAlvcmlnaW49ZmlsZQogCW5hbWU9LmdpdC9jb25maWcKLQlzY29wZT1yZXBvCisJbG5vPTMKKwlzY29wZT1sb2NhbAogCiAJa2V5PWZvby5iYXIKIAl2YWx1ZT1mcm9tLWNtZGxpbmUKIAlvcmlnaW49Y29tbWFuZCBsaW5lCiAJbmFtZT0KLQlzY29wZT1jbWRsaW5lCisJbG5vPS0xCisJc2NvcGU9Y29tbWFuZAogCUVPRgogCUdJVF9DT05GSUdfUEFSQU1FVEVSUz0kY21kbGluZV9jb25maWcgdGVzdC10b29sIGNvbmZpZyBpdGVyYXRlID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCmRpZmYgLS1naXQgYS90L3QxMzA5LWVhcmx5LWNvbmZpZy5zaCBiL3QvdDEzMDktZWFybHktY29uZmlnLnNoCmluZGV4IDQxMzY0MmEuLmViYjhlMWEgMTAwNzU1Ci0tLSBhL3QvdDEzMDktZWFybHktY29uZmlnLnNoCisrKyBiL3QvdDEzMDktZWFybHktY29uZmlnLnNoCkBAIC0yOSw3ICsyOSw3IEBACiAJCWNkIHN1YiAmJgogCQl0ZXN0LXRvb2wgY29uZmlnIHJlYWRfZWFybHlfY29uZmlnIGVhcmx5LmNvbmZpZwogCSkgPm91dHB1dCAmJgotCXRlc3QgLXogIiQoY2F0IG91dHB1dCkiCisJdGVzdF9tdXN0X2JlX2VtcHR5IG91dHB1dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjZWlsaW5nICMyJyAnCkBAIC04OSw0ICs4OSwxNCBAQAogCXRlc3Rfd2l0aF9jb25maWcgIlsiCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Vhcmx5IGNvbmZpZyBhbmQgb25icmFuY2gnICcKKwllY2hvICJbYnJva2VuIiA+YnJva2VuICYmCisJdGVzdF93aXRoX2NvbmZpZyAiW2luY2x1ZGVpZiBcIm9uYnJhbmNoOm1hc3RlclwiXXBhdGg9Li4vYnJva2VuIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdvbmJyYW5jaCBjb25maWcgb3V0c2lkZSBvZiBnaXQgcmVwbycgJworCXRlc3RfY29uZmlnX2dsb2JhbCBpbmNsdWRlSWYub25icmFuY2g6bWFzdGVyLnBhdGggbm9uLWV4aXN0ZW50ICYmCisJbm9uZ2l0IGdpdCBoZWxwCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MTQwMC11cGRhdGUtcmVmLnNoIGIvdC90MTQwMC11cGRhdGUtcmVmLnNoCmluZGV4IDFmYmQ5NDAuLmE2MjI0ZWYgMTAwNzU1Ci0tLSBhL3QvdDE0MDAtdXBkYXRlLXJlZi5zaAorKysgYi90L3QxNDAwLXVwZGF0ZS1yZWYuc2gKQEAgLTM0NCwxNCArMzQ0LDE2IEBACiAJdGVzdF9jbXAgZXhwZWN0IC5naXQvbG9ncy8kbQogJwogCi1naXQgdXBkYXRlLXJlZiAkbSAkRAotY2F0ID4uZ2l0L2xvZ3MvJG0gPDxFT0YKLSRaICRDICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiAxMTE3MTUwMzIwIC0wNTAwCi0kQyAkQSAkR0lUX0NPTU1JVFRFUl9OQU1FIDwkR0lUX0NPTU1JVFRFUl9FTUFJTD4gMTExNzE1MDM1MCAtMDUwMAotJEEgJEIgJEdJVF9DT01NSVRURVJfTkFNRSA8JEdJVF9DT01NSVRURVJfRU1BSUw+IDExMTcxNTAzODAgLTA1MDAKLSRGICRaICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiAxMTE3MTUwNjgwIC0wNTAwCi0kWiAkRSAkR0lUX0NPTU1JVFRFUl9OQU1FIDwkR0lUX0NPTU1JVFRFUl9FTUFJTD4gMTExNzE1MDk4MCAtMDUwMAotRU9GCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQgdXAgZm9yIHF1ZXJ5aW5nIHRoZSByZWZsb2cnICcKKwlnaXQgdXBkYXRlLXJlZiAkbSAkRCAmJgorCWNhdCA+LmdpdC9sb2dzLyRtIDw8LUVPRgorCSRaICRDICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiAxMTE3MTUwMzIwIC0wNTAwCisJJEMgJEEgJEdJVF9DT01NSVRURVJfTkFNRSA8JEdJVF9DT01NSVRURVJfRU1BSUw+IDExMTcxNTAzNTAgLTA1MDAKKwkkQSAkQiAkR0lUX0NPTU1JVFRFUl9OQU1FIDwkR0lUX0NPTU1JVFRFUl9FTUFJTD4gMTExNzE1MDM4MCAtMDUwMAorCSRGICRaICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiAxMTE3MTUwNjgwIC0wNTAwCisJJFogJEUgJEdJVF9DT01NSVRURVJfTkFNRSA8JEdJVF9DT01NSVRURVJfRU1BSUw+IDExMTcxNTA5ODAgLTA1MDAKKwlFT0YKKycKIAogZWQ9IlRodSwgMjYgTWF5IDIwMDUgMTg6MzI6MDAgLTA1MDAiCiBnZD0iVGh1LCAyNiBNYXkgMjAwNSAxODozMzowMCAtMDUwMCIKQEAgLTM1OSw1NSArMzYxLDY3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdRdWVyeSAibWFzdGVyQHtNYXkgMjUgMjAwNX0iIChiZWZvcmUgaGlzdG9yeSknICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIG8gZSIgJiYKIAlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5ICJtYXN0ZXJAe01heSAyNSAyMDA1fSIgPm8gMj5lICYmCi0JdGVzdCAkQyA9ICQoY2F0IG8pICYmCi0JdGVzdCAid2FybmluZzogTG9nIGZvciAnXCcnbWFzdGVyJ1wnJyBvbmx5IGdvZXMgYmFjayB0byAkZWQuIiA9ICIkKGNhdCBlKSIKKwllY2hvICIkQyIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBvICYmCisJZWNobyAid2FybmluZzogbG9nIGZvciAnXCcnbWFzdGVyJ1wnJyBvbmx5IGdvZXMgYmFjayB0byAkZWQiID5leHBlY3QgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGUKICcKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1F1ZXJ5IG1hc3RlckB7MjAwNS0wNS0yNX0gKGJlZm9yZSBoaXN0b3J5KScgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgbyBlIiAmJgogCWdpdCByZXYtcGFyc2UgLS12ZXJpZnkgbWFzdGVyQHsyMDA1LTA1LTI1fSA+byAyPmUgJiYKLQl0ZXN0ICRDID0gJChjYXQgbykgJiYKLQl0ZXN0ICJ3YXJuaW5nOiBMb2cgZm9yICdcJydtYXN0ZXInXCcnIG9ubHkgZ29lcyBiYWNrIHRvICRlZC4iID0gIiQoY2F0IGUpIgorCWVjaG8gIiRDIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IG8gJiYKKwllY2hvICJ3YXJuaW5nOiBsb2cgZm9yICdcJydtYXN0ZXInXCcnIG9ubHkgZ29lcyBiYWNrIHRvICRlZCIgPmV4cGVjdCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QgZQogJwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnUXVlcnkgIm1hc3RlckB7TWF5IDI2IDIwMDUgMjM6MzE6NTl9IiAoMSBzZWNvbmQgYmVmb3JlIGhpc3RvcnkpJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBvIGUiICYmCiAJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAibWFzdGVyQHtNYXkgMjYgMjAwNSAyMzozMTo1OX0iID5vIDI+ZSAmJgotCXRlc3QgJEMgPSAkKGNhdCBvKSAmJgotCXRlc3QgIndhcm5pbmc6IExvZyBmb3IgJ1wnJ21hc3RlcidcJycgb25seSBnb2VzIGJhY2sgdG8gJGVkLiIgPSAiJChjYXQgZSkiCisJZWNobyAiJEMiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgbyAmJgorCWVjaG8gIndhcm5pbmc6IGxvZyBmb3IgJ1wnJ21hc3RlcidcJycgb25seSBnb2VzIGJhY2sgdG8gJGVkIiA+ZXhwZWN0ICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBlCiAnCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdRdWVyeSAibWFzdGVyQHtNYXkgMjYgMjAwNSAyMzozMjowMH0iIChleGFjdGx5IGhpc3Rvcnkgc3RhcnQpJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBvIGUiICYmCiAJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAibWFzdGVyQHtNYXkgMjYgMjAwNSAyMzozMjowMH0iID5vIDI+ZSAmJgotCXRlc3QgJEMgPSAkKGNhdCBvKSAmJgotCXRlc3QgIiIgPSAiJChjYXQgZSkiCisJZWNobyAiJEMiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgbyAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBlCiAnCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdRdWVyeSAibWFzdGVyQHtNYXkgMjYgMjAwNSAyMzozMjozMH0iIChmaXJzdCBub24tY3JlYXRpb24gY2hhbmdlKScgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgbyBlIiAmJgogCWdpdCByZXYtcGFyc2UgLS12ZXJpZnkgIm1hc3RlckB7TWF5IDI2IDIwMDUgMjM6MzI6MzB9IiA+byAyPmUgJiYKLQl0ZXN0ICRBID0gJChjYXQgbykgJiYKLQl0ZXN0ICIiID0gIiQoY2F0IGUpIgorCWVjaG8gIiRBIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IG8gJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgZQogJwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnUXVlcnkgIm1hc3RlckB7MjAwNS0wNS0yNiAyMzozMzowMX0iIChtaWRkbGUgb2YgaGlzdG9yeSB3aXRoIGdhcCknICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIG8gZSIgJiYKIAlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5ICJtYXN0ZXJAezIwMDUtMDUtMjYgMjM6MzM6MDF9IiA+byAyPmUgJiYKLQl0ZXN0ICRCID0gJChjYXQgbykgJiYKKwllY2hvICIkQiIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBvICYmCiAJdGVzdF9pMThuZ3JlcCAtRiAid2FybmluZzogbG9nIGZvciByZWYgJG0gaGFzIGdhcCBhZnRlciAkZ2QiIGUKICcKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1F1ZXJ5ICJtYXN0ZXJAezIwMDUtMDUtMjYgMjM6Mzg6MDB9IiAobWlkZGxlIG9mIGhpc3RvcnkpJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBvIGUiICYmCiAJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAibWFzdGVyQHsyMDA1LTA1LTI2IDIzOjM4OjAwfSIgPm8gMj5lICYmCi0JdGVzdCAkWiA9ICQoY2F0IG8pICYmCi0JdGVzdCAiIiA9ICIkKGNhdCBlKSIKKwllY2hvICIkWiIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBvICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGUKICcKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1F1ZXJ5ICJtYXN0ZXJAezIwMDUtMDUtMjYgMjM6NDM6MDB9IiAoZXhhY3QgZW5kIG9mIGhpc3RvcnkpJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBvIGUiICYmCiAJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAibWFzdGVyQHsyMDA1LTA1LTI2IDIzOjQzOjAwfSIgPm8gMj5lICYmCi0JdGVzdCAkRSA9ICQoY2F0IG8pICYmCi0JdGVzdCAiIiA9ICIkKGNhdCBlKSIKKwllY2hvICIkRSIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBvICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGUKICcKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1F1ZXJ5ICJtYXN0ZXJAezIwMDUtMDUtMjh9IiAocGFzdCBlbmQgb2YgaGlzdG9yeSknICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIG8gZSIgJiYKIAlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5ICJtYXN0ZXJAezIwMDUtMDUtMjh9IiA+byAyPmUgJiYKLQl0ZXN0ICREID0gJChjYXQgbykgJiYKKwllY2hvICIkRCIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBvICYmCiAJdGVzdF9pMThuZ3JlcCAtRiAid2FybmluZzogbG9nIGZvciByZWYgJG0gdW5leHBlY3RlZGx5IGVuZGVkIG9uICRsZCIgZQogJwogCmRpZmYgLS1naXQgYS90L3QxNDA0LXVwZGF0ZS1yZWYtZXJyb3JzLnNoIGIvdC90MTQwNC11cGRhdGUtcmVmLWVycm9ycy5zaAppbmRleCA1MWE0ZjRjLi4yZDE0MmU1IDEwMDc1NQotLS0gYS90L3QxNDA0LXVwZGF0ZS1yZWYtZXJyb3JzLnNoCisrKyBiL3QvdDE0MDQtdXBkYXRlLXJlZi1lcnJvcnMuc2gKQEAgLTMyLDggKzMyLDYgQEAKIAl0ZXN0X2NtcCB1bmNoYW5nZWQgYWN0dWFsCiB9CiAKLVE9IiciCi0KICMgVGVzdCBhZGRpbmcgYW5kIGRlbGV0aW5nIEQvRi1jb25mbGljdGluZyByZWZlcmVuY2VzIGluIGEgc2luZ2xlCiAjIHRyYW5zYWN0aW9uLgogZGZfdGVzdCgpIHsKQEAgLTkzLDcgKzkxLDcgQEAKIAkJZGVsbmFtZT0iJGRlbHJlZiIKIAlmaSAmJgogCWNhdCA+ZXhwZWN0ZWQtZXJyIDw8LUVPRiAmJgotCWZhdGFsOiBjYW5ub3QgbG9jayByZWYgJFEkYWRkbmFtZSRROiAkUSRkZWxyZWYkUSBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJFEkYWRkcmVmJFEKKwlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRTUSRhZGRuYW1lJFNROiAkU1EkZGVscmVmJFNRIGV4aXN0czsgY2Fubm90IGNyZWF0ZSAkU1EkYWRkcmVmJFNRCiAJRU9GCiAJJHBhY2sgJiYKIAlpZiAkYWRkX2RlbApAQCAtMTIzLDcgKzEyMSw3IEBACiAKIAlwcmVmaXg9cmVmcy8xbCAmJgogCXRlc3RfdXBkYXRlX3JlamVjdGVkICJhIGMgZSIgZmFsc2UgImIgYy94IGQiIFwKLQkJIiRRJHByZWZpeC9jJFEgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICRRJHByZWZpeC9jL3gkUSIKKwkJIiRTUSRwcmVmaXgvYyRTUSBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJFNRJHByZWZpeC9jL3gkU1EiCiAKICcKIApAQCAtMTMxLDcgKzEyOSw3IEBACiAKIAlwcmVmaXg9cmVmcy8xcCAmJgogCXRlc3RfdXBkYXRlX3JlamVjdGVkICJhIGMgZSIgdHJ1ZSAiYiBjL3ggZCIgXAotCQkiJFEkcHJlZml4L2MkUSBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJFEkcHJlZml4L2MveCRRIgorCQkiJFNRJHByZWZpeC9jJFNRIGV4aXN0czsgY2Fubm90IGNyZWF0ZSAkU1EkcHJlZml4L2MveCRTUSIKIAogJwogCkBAIC0xMzksNyArMTM3LDcgQEAKIAogCXByZWZpeD1yZWZzLzJsICYmCiAJdGVzdF91cGRhdGVfcmVqZWN0ZWQgImEgYyBlIiBmYWxzZSAiYiBjL3gveSBkIiBcCi0JCSIkUSRwcmVmaXgvYyRRIGV4aXN0czsgY2Fubm90IGNyZWF0ZSAkUSRwcmVmaXgvYy94L3kkUSIKKwkJIiRTUSRwcmVmaXgvYyRTUSBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJFNRJHByZWZpeC9jL3gveSRTUSIKIAogJwogCkBAIC0xNDcsNyArMTQ1LDcgQEAKIAogCXByZWZpeD1yZWZzLzJwICYmCiAJdGVzdF91cGRhdGVfcmVqZWN0ZWQgImEgYyBlIiB0cnVlICJiIGMveC95IGQiIFwKLQkJIiRRJHByZWZpeC9jJFEgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICRRJHByZWZpeC9jL3gveSRRIgorCQkiJFNRJHByZWZpeC9jJFNRIGV4aXN0czsgY2Fubm90IGNyZWF0ZSAkU1EkcHJlZml4L2MveC95JFNRIgogCiAnCiAKQEAgLTE1NSw3ICsxNTMsNyBAQAogCiAJcHJlZml4PXJlZnMvM2wgJiYKIAl0ZXN0X3VwZGF0ZV9yZWplY3RlZCAiYSBjL3ggZSIgZmFsc2UgImIgYyBkIiBcCi0JCSIkUSRwcmVmaXgvYy94JFEgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICRRJHByZWZpeC9jJFEiCisJCSIkU1EkcHJlZml4L2MveCRTUSBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJFNRJHByZWZpeC9jJFNRIgogCiAnCiAKQEAgLTE2Myw3ICsxNjEsNyBAQAogCiAJcHJlZml4PXJlZnMvM3AgJiYKIAl0ZXN0X3VwZGF0ZV9yZWplY3RlZCAiYSBjL3ggZSIgdHJ1ZSAiYiBjIGQiIFwKLQkJIiRRJHByZWZpeC9jL3gkUSBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJFEkcHJlZml4L2MkUSIKKwkJIiRTUSRwcmVmaXgvYy94JFNRIGV4aXN0czsgY2Fubm90IGNyZWF0ZSAkU1EkcHJlZml4L2MkU1EiCiAKICcKIApAQCAtMTcxLDcgKzE2OSw3IEBACiAKIAlwcmVmaXg9cmVmcy80bCAmJgogCXRlc3RfdXBkYXRlX3JlamVjdGVkICJhIGMveC95IGUiIGZhbHNlICJiIGMgZCIgXAotCQkiJFEkcHJlZml4L2MveC95JFEgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICRRJHByZWZpeC9jJFEiCisJCSIkU1EkcHJlZml4L2MveC95JFNRIGV4aXN0czsgY2Fubm90IGNyZWF0ZSAkU1EkcHJlZml4L2MkU1EiCiAKICcKIApAQCAtMTc5LDcgKzE3Nyw3IEBACiAKIAlwcmVmaXg9cmVmcy80cCAmJgogCXRlc3RfdXBkYXRlX3JlamVjdGVkICJhIGMveC95IGUiIHRydWUgImIgYyBkIiBcCi0JCSIkUSRwcmVmaXgvYy94L3kkUSBleGlzdHM7IGNhbm5vdCBjcmVhdGUgJFEkcHJlZml4L2MkUSIKKwkJIiRTUSRwcmVmaXgvYy94L3kkU1EgZXhpc3RzOyBjYW5ub3QgY3JlYXRlICRTUSRwcmVmaXgvYyRTUSIKIAogJwogCkBAIC0xODcsNyArMTg1LDcgQEAKIAogCXByZWZpeD1yZWZzLzUgJiYKIAl0ZXN0X3VwZGF0ZV9yZWplY3RlZCAiYSBlIiBmYWxzZSAiYiBjIGMveCBkIiBcCi0JCSJjYW5ub3QgcHJvY2VzcyAkUSRwcmVmaXgvYyRRIGFuZCAkUSRwcmVmaXgvYy94JFEgYXQgdGhlIHNhbWUgdGltZSIKKwkJImNhbm5vdCBwcm9jZXNzICRTUSRwcmVmaXgvYyRTUSBhbmQgJFNRJHByZWZpeC9jL3gkU1EgYXQgdGhlIHNhbWUgdGltZSIKIAogJwogCkBAIC0zMzQsNyArMzMyLDcgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21pc3Npbmcgb2xkIHZhbHVlIGJsb2NrcyB1cGRhdGUnICcKIAlwcmVmaXg9cmVmcy9taXNzaW5nLXVwZGF0ZSAmJgogCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCi0JZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkUSRwcmVmaXgvZm9vJFE6IHVuYWJsZSB0byByZXNvbHZlIHJlZmVyZW5jZSAkUSRwcmVmaXgvZm9vJFEKKwlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRTUSRwcmVmaXgvZm9vJFNROiB1bmFibGUgdG8gcmVzb2x2ZSByZWZlcmVuY2UgJFNRJHByZWZpeC9mb28kU1EKIAlFT0YKIAlwcmludGYgIiVzXG4iICJ1cGRhdGUgJHByZWZpeC9mb28gJEUgJEQiIHwKIAl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDI+b3V0cHV0LmVyciAmJgpAQCAtMzQ1LDcgKzM0Myw3IEBACiAJcHJlZml4PXJlZnMvaW5jb3JyZWN0LXVwZGF0ZSAmJgogCWdpdCB1cGRhdGUtcmVmICRwcmVmaXgvZm9vICRDICYmCiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9mb28kUTogaXMgYXQgJEMgYnV0IGV4cGVjdGVkICRECisJZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkU1EkcHJlZml4L2ZvbyRTUTogaXMgYXQgJEMgYnV0IGV4cGVjdGVkICRECiAJRU9GCiAJcHJpbnRmICIlc1xuIiAidXBkYXRlICRwcmVmaXgvZm9vICRFICREIiB8CiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiAyPm91dHB1dC5lcnIgJiYKQEAgLTM1Niw3ICszNTQsNyBAQAogCXByZWZpeD1yZWZzL2V4aXN0aW5nLWNyZWF0ZSAmJgogCWdpdCB1cGRhdGUtcmVmICRwcmVmaXgvZm9vICRDICYmCiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9mb28kUTogcmVmZXJlbmNlIGFscmVhZHkgZXhpc3RzCisJZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkU1EkcHJlZml4L2ZvbyRTUTogcmVmZXJlbmNlIGFscmVhZHkgZXhpc3RzCiAJRU9GCiAJcHJpbnRmICIlc1xuIiAiY3JlYXRlICRwcmVmaXgvZm9vICRFIiB8CiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiAyPm91dHB1dC5lcnIgJiYKQEAgLTM2Nyw3ICszNjUsNyBAQAogCXByZWZpeD1yZWZzL2luY29ycmVjdC1kZWxldGUgJiYKIAlnaXQgdXBkYXRlLXJlZiAkcHJlZml4L2ZvbyAkQyAmJgogCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCi0JZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkUSRwcmVmaXgvZm9vJFE6IGlzIGF0ICRDIGJ1dCBleHBlY3RlZCAkRAorCWZhdGFsOiBjYW5ub3QgbG9jayByZWYgJFNRJHByZWZpeC9mb28kU1E6IGlzIGF0ICRDIGJ1dCBleHBlY3RlZCAkRAogCUVPRgogCXByaW50ZiAiJXNcbiIgImRlbGV0ZSAkcHJlZml4L2ZvbyAkRCIgfAogCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gMj5vdXRwdXQuZXJyICYmCkBAIC0zNzgsNyArMzc2LDcgQEAKIAlwcmVmaXg9cmVmcy9taXNzaW5nLWluZGlyZWN0LXVwZGF0ZSAmJgogCWdpdCBzeW1ib2xpYy1yZWYgJHByZWZpeC9zeW1yZWYgJHByZWZpeC9mb28gJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCWZhdGFsOiBjYW5ub3QgbG9jayByZWYgJFEkcHJlZml4L3N5bXJlZiRROiB1bmFibGUgdG8gcmVzb2x2ZSByZWZlcmVuY2UgJFEkcHJlZml4L2ZvbyRRCisJZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkU1EkcHJlZml4L3N5bXJlZiRTUTogdW5hYmxlIHRvIHJlc29sdmUgcmVmZXJlbmNlICRTUSRwcmVmaXgvZm9vJFNRCiAJRU9GCiAJcHJpbnRmICIlc1xuIiAidXBkYXRlICRwcmVmaXgvc3ltcmVmICRFICREIiB8CiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiAyPm91dHB1dC5lcnIgJiYKQEAgLTM5MCw3ICszODgsNyBAQAogCWdpdCBzeW1ib2xpYy1yZWYgJHByZWZpeC9zeW1yZWYgJHByZWZpeC9mb28gJiYKIAlnaXQgdXBkYXRlLXJlZiAkcHJlZml4L2ZvbyAkQyAmJgogCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCi0JZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkUSRwcmVmaXgvc3ltcmVmJFE6IGlzIGF0ICRDIGJ1dCBleHBlY3RlZCAkRAorCWZhdGFsOiBjYW5ub3QgbG9jayByZWYgJFNRJHByZWZpeC9zeW1yZWYkU1E6IGlzIGF0ICRDIGJ1dCBleHBlY3RlZCAkRAogCUVPRgogCXByaW50ZiAiJXNcbiIgInVwZGF0ZSAkcHJlZml4L3N5bXJlZiAkRSAkRCIgfAogCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gMj5vdXRwdXQuZXJyICYmCkBAIC00MDIsNyArNDAwLDcgQEAKIAlnaXQgc3ltYm9saWMtcmVmICRwcmVmaXgvc3ltcmVmICRwcmVmaXgvZm9vICYmCiAJZ2l0IHVwZGF0ZS1yZWYgJHByZWZpeC9mb28gJEMgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCWZhdGFsOiBjYW5ub3QgbG9jayByZWYgJFEkcHJlZml4L3N5bXJlZiRROiByZWZlcmVuY2UgYWxyZWFkeSBleGlzdHMKKwlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRTUSRwcmVmaXgvc3ltcmVmJFNROiByZWZlcmVuY2UgYWxyZWFkeSBleGlzdHMKIAlFT0YKIAlwcmludGYgIiVzXG4iICJjcmVhdGUgJHByZWZpeC9zeW1yZWYgJEUiIHwKIAl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDI+b3V0cHV0LmVyciAmJgpAQCAtNDE0LDcgKzQxMiw3IEBACiAJZ2l0IHN5bWJvbGljLXJlZiAkcHJlZml4L3N5bXJlZiAkcHJlZml4L2ZvbyAmJgogCWdpdCB1cGRhdGUtcmVmICRwcmVmaXgvZm9vICRDICYmCiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9zeW1yZWYkUTogaXMgYXQgJEMgYnV0IGV4cGVjdGVkICRECisJZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkU1EkcHJlZml4L3N5bXJlZiRTUTogaXMgYXQgJEMgYnV0IGV4cGVjdGVkICRECiAJRU9GCiAJcHJpbnRmICIlc1xuIiAiZGVsZXRlICRwcmVmaXgvc3ltcmVmICREIiB8CiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiAyPm91dHB1dC5lcnIgJiYKQEAgLTQyNSw3ICs0MjMsNyBAQAogCXByZWZpeD1yZWZzL21pc3Npbmctbm9kZXJlZi11cGRhdGUgJiYKIAlnaXQgc3ltYm9saWMtcmVmICRwcmVmaXgvc3ltcmVmICRwcmVmaXgvZm9vICYmCiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9zeW1yZWYkUTogcmVmZXJlbmNlIGlzIG1pc3NpbmcgYnV0IGV4cGVjdGVkICRECisJZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkU1EkcHJlZml4L3N5bXJlZiRTUTogcmVmZXJlbmNlIGlzIG1pc3NpbmcgYnV0IGV4cGVjdGVkICRECiAJRU9GCiAJcHJpbnRmICIlc1xuIiAib3B0aW9uIG5vLWRlcmVmIiAidXBkYXRlICRwcmVmaXgvc3ltcmVmICRFICREIiB8CiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiAyPm91dHB1dC5lcnIgJiYKQEAgLTQzNyw3ICs0MzUsNyBAQAogCWdpdCBzeW1ib2xpYy1yZWYgJHByZWZpeC9zeW1yZWYgJHByZWZpeC9mb28gJiYKIAlnaXQgdXBkYXRlLXJlZiAkcHJlZml4L2ZvbyAkQyAmJgogCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCi0JZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkUSRwcmVmaXgvc3ltcmVmJFE6IGlzIGF0ICRDIGJ1dCBleHBlY3RlZCAkRAorCWZhdGFsOiBjYW5ub3QgbG9jayByZWYgJFNRJHByZWZpeC9zeW1yZWYkU1E6IGlzIGF0ICRDIGJ1dCBleHBlY3RlZCAkRAogCUVPRgogCXByaW50ZiAiJXNcbiIgIm9wdGlvbiBuby1kZXJlZiIgInVwZGF0ZSAkcHJlZml4L3N5bXJlZiAkRSAkRCIgfAogCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gMj5vdXRwdXQuZXJyICYmCkBAIC00NDksNyArNDQ3LDcgQEAKIAlnaXQgc3ltYm9saWMtcmVmICRwcmVmaXgvc3ltcmVmICRwcmVmaXgvZm9vICYmCiAJZ2l0IHVwZGF0ZS1yZWYgJHByZWZpeC9mb28gJEMgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCWZhdGFsOiBjYW5ub3QgbG9jayByZWYgJFEkcHJlZml4L3N5bXJlZiRROiByZWZlcmVuY2UgYWxyZWFkeSBleGlzdHMKKwlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRTUSRwcmVmaXgvc3ltcmVmJFNROiByZWZlcmVuY2UgYWxyZWFkeSBleGlzdHMKIAlFT0YKIAlwcmludGYgIiVzXG4iICJvcHRpb24gbm8tZGVyZWYiICJjcmVhdGUgJHByZWZpeC9zeW1yZWYgJEUiIHwKIAl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDI+b3V0cHV0LmVyciAmJgpAQCAtNDYxLDcgKzQ1OSw3IEBACiAJZ2l0IHN5bWJvbGljLXJlZiAkcHJlZml4L3N5bXJlZiAkcHJlZml4L2ZvbyAmJgogCWdpdCB1cGRhdGUtcmVmICRwcmVmaXgvZm9vICRDICYmCiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9zeW1yZWYkUTogaXMgYXQgJEMgYnV0IGV4cGVjdGVkICRECisJZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkU1EkcHJlZml4L3N5bXJlZiRTUTogaXMgYXQgJEMgYnV0IGV4cGVjdGVkICRECiAJRU9GCiAJcHJpbnRmICIlc1xuIiAib3B0aW9uIG5vLWRlcmVmIiAiZGVsZXRlICRwcmVmaXgvc3ltcmVmICREIiB8CiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiAyPm91dHB1dC5lcnIgJiYKQEAgLTQ3NCwxMyArNDcyLDEzIEBACiAJOiA+LmdpdC8kcHJlZml4L2Zvby9iYXIvYmF6LmxvY2sgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIC5naXQvJHByZWZpeC9mb28vYmFyL2Jhei5sb2NrIiAmJgogCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCi0JZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkUSRwcmVmaXgvZm9vJFE6IHRoZXJlIGlzIGEgbm9uLWVtcHR5IGRpcmVjdG9yeSAkUS5naXQvJHByZWZpeC9mb28kUSBibG9ja2luZyByZWZlcmVuY2UgJFEkcHJlZml4L2ZvbyRRCisJZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkU1EkcHJlZml4L2ZvbyRTUTogdGhlcmUgaXMgYSBub24tZW1wdHkgZGlyZWN0b3J5ICRTUS5naXQvJHByZWZpeC9mb28kU1EgYmxvY2tpbmcgcmVmZXJlbmNlICRTUSRwcmVmaXgvZm9vJFNRCiAJRU9GCiAJcHJpbnRmICIlc1xuIiAidXBkYXRlICRwcmVmaXgvZm9vICRDIiB8CiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiAyPm91dHB1dC5lcnIgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBvdXRwdXQuZXJyICYmCiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9mb28kUTogdW5hYmxlIHRvIHJlc29sdmUgcmVmZXJlbmNlICRRJHByZWZpeC9mb28kUQorCWZhdGFsOiBjYW5ub3QgbG9jayByZWYgJFNRJHByZWZpeC9mb28kU1E6IHVuYWJsZSB0byByZXNvbHZlIHJlZmVyZW5jZSAkU1EkcHJlZml4L2ZvbyRTUQogCUVPRgogCXByaW50ZiAiJXNcbiIgInVwZGF0ZSAkcHJlZml4L2ZvbyAkRCAkQyIgfAogCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gMj5vdXRwdXQuZXJyICYmCkBAIC00OTMsMTMgKzQ5MSwxMyBAQAogCWVjaG8gImdvYmJsZWRpZ29vayIgPi5naXQvJHByZWZpeC9mb28gJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIC5naXQvJHByZWZpeC9mb28iICYmCiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9mb28kUTogdW5hYmxlIHRvIHJlc29sdmUgcmVmZXJlbmNlICRRJHByZWZpeC9mb28kUTogcmVmZXJlbmNlIGJyb2tlbgorCWZhdGFsOiBjYW5ub3QgbG9jayByZWYgJFNRJHByZWZpeC9mb28kU1E6IHVuYWJsZSB0byByZXNvbHZlIHJlZmVyZW5jZSAkU1EkcHJlZml4L2ZvbyRTUTogcmVmZXJlbmNlIGJyb2tlbgogCUVPRgogCXByaW50ZiAiJXNcbiIgInVwZGF0ZSAkcHJlZml4L2ZvbyAkQyIgfAogCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gMj5vdXRwdXQuZXJyICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgb3V0cHV0LmVyciAmJgogCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCi0JZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkUSRwcmVmaXgvZm9vJFE6IHVuYWJsZSB0byByZXNvbHZlIHJlZmVyZW5jZSAkUSRwcmVmaXgvZm9vJFE6IHJlZmVyZW5jZSBicm9rZW4KKwlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRTUSRwcmVmaXgvZm9vJFNROiB1bmFibGUgdG8gcmVzb2x2ZSByZWZlcmVuY2UgJFNRJHByZWZpeC9mb28kU1E6IHJlZmVyZW5jZSBicm9rZW4KIAlFT0YKIAlwcmludGYgIiVzXG4iICJ1cGRhdGUgJHByZWZpeC9mb28gJEQgJEMiIHwKIAl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDI+b3V0cHV0LmVyciAmJgpAQCAtNTEzLDEzICs1MTEsMTMgQEAKIAk6ID4uZ2l0LyRwcmVmaXgvZm9vL2Jhci9iYXoubG9jayAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgLmdpdC8kcHJlZml4L2Zvby9iYXIvYmF6LmxvY2siICYmCiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9zeW1yZWYkUTogdGhlcmUgaXMgYSBub24tZW1wdHkgZGlyZWN0b3J5ICRRLmdpdC8kcHJlZml4L2ZvbyRRIGJsb2NraW5nIHJlZmVyZW5jZSAkUSRwcmVmaXgvZm9vJFEKKwlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRTUSRwcmVmaXgvc3ltcmVmJFNROiB0aGVyZSBpcyBhIG5vbi1lbXB0eSBkaXJlY3RvcnkgJFNRLmdpdC8kcHJlZml4L2ZvbyRTUSBibG9ja2luZyByZWZlcmVuY2UgJFNRJHByZWZpeC9mb28kU1EKIAlFT0YKIAlwcmludGYgIiVzXG4iICJ1cGRhdGUgJHByZWZpeC9zeW1yZWYgJEMiIHwKIAl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLXJlZiAtLXN0ZGluIDI+b3V0cHV0LmVyciAmJgogCXRlc3RfY21wIGV4cGVjdGVkIG91dHB1dC5lcnIgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCWZhdGFsOiBjYW5ub3QgbG9jayByZWYgJFEkcHJlZml4L3N5bXJlZiRROiB1bmFibGUgdG8gcmVzb2x2ZSByZWZlcmVuY2UgJFEkcHJlZml4L2ZvbyRRCisJZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkU1EkcHJlZml4L3N5bXJlZiRTUTogdW5hYmxlIHRvIHJlc29sdmUgcmVmZXJlbmNlICRTUSRwcmVmaXgvZm9vJFNRCiAJRU9GCiAJcHJpbnRmICIlc1xuIiAidXBkYXRlICRwcmVmaXgvc3ltcmVmICREICRDIiB8CiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiAyPm91dHB1dC5lcnIgJiYKQEAgLTUzMiwxMyArNTMwLDEzIEBACiAJZWNobyAiZ29iYmxlZGlnb29rIiA+LmdpdC8kcHJlZml4L2ZvbyAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgLmdpdC8kcHJlZml4L2ZvbyIgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCWZhdGFsOiBjYW5ub3QgbG9jayByZWYgJFEkcHJlZml4L3N5bXJlZiRROiB1bmFibGUgdG8gcmVzb2x2ZSByZWZlcmVuY2UgJFEkcHJlZml4L2ZvbyRROiByZWZlcmVuY2UgYnJva2VuCisJZmF0YWw6IGNhbm5vdCBsb2NrIHJlZiAkU1EkcHJlZml4L3N5bXJlZiRTUTogdW5hYmxlIHRvIHJlc29sdmUgcmVmZXJlbmNlICRTUSRwcmVmaXgvZm9vJFNROiByZWZlcmVuY2UgYnJva2VuCiAJRU9GCiAJcHJpbnRmICIlc1xuIiAidXBkYXRlICRwcmVmaXgvc3ltcmVmICRDIiB8CiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLS1zdGRpbiAyPm91dHB1dC5lcnIgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBvdXRwdXQuZXJyICYmCiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQlmYXRhbDogY2Fubm90IGxvY2sgcmVmICRRJHByZWZpeC9zeW1yZWYkUTogdW5hYmxlIHRvIHJlc29sdmUgcmVmZXJlbmNlICRRJHByZWZpeC9mb28kUTogcmVmZXJlbmNlIGJyb2tlbgorCWZhdGFsOiBjYW5ub3QgbG9jayByZWYgJFNRJHByZWZpeC9zeW1yZWYkU1E6IHVuYWJsZSB0byByZXNvbHZlIHJlZmVyZW5jZSAkU1EkcHJlZml4L2ZvbyRTUTogcmVmZXJlbmNlIGJyb2tlbgogCUVPRgogCXByaW50ZiAiJXNcbiIgInVwZGF0ZSAkcHJlZml4L3N5bXJlZiAkRCAkQyIgfAogCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC0tc3RkaW4gMj5vdXRwdXQuZXJyICYmCkBAIC02MTQsNyArNjEyLDIzIEBACiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiAuZ2l0L3BhY2tlZC1yZWZzLmxvY2siICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwZGF0ZS1yZWYgLWQgJHByZWZpeC9mb28gPm91dCAyPmVyciAmJgogCWdpdCBmb3ItZWFjaC1yZWYgJHByZWZpeCA+YWN0dWFsICYmCi0JdGVzdF9pMThuZ3JlcCAiVW5hYmxlIHRvIGNyZWF0ZSAkUS4qcGFja2VkLXJlZnMubG9jayRROiBGaWxlIGV4aXN0cyIgZXJyICYmCisJdGVzdF9pMThuZ3JlcCAiVW5hYmxlIHRvIGNyZWF0ZSAkU1EuKnBhY2tlZC1yZWZzLmxvY2skU1E6ICIgZXJyICYmCisJdGVzdF9jbXAgdW5jaGFuZ2VkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWxldGUgZmFpbHMgY2xlYW5seSBpZiBwYWNrZWQtcmVmcy5uZXcgd3JpdGUgZmFpbHMnICcKKwkjIFNldHVwIGFuZCBleHBlY3RhdGlvbnMgYXJlIHNpbWlsYXIgdG8gdGhlIHRlc3QgYWJvdmUuCisJcHJlZml4PXJlZnMvZmFpbGVkLXBhY2tlZC1yZWZzICYmCisJZ2l0IHVwZGF0ZS1yZWYgJHByZWZpeC9mb28gJEMgJiYKKwlnaXQgcGFjay1yZWZzIC0tYWxsICYmCisJZ2l0IHVwZGF0ZS1yZWYgJHByZWZpeC9mb28gJEQgJiYKKwlnaXQgZm9yLWVhY2gtcmVmICRwcmVmaXggPnVuY2hhbmdlZCAmJgorCSMgVGhpcyBzaG91bGQgbm90IGhhcHBlbiBpbiBwcmFjdGljZSwgYnV0IGl0IGlzIGFuIGVhc3kgd2F5IHRvIGdldCBhCisJIyByZWxpYWJsZSBlcnJvciAod2Ugb3BlbiB3aXRoIGNyZWF0ZV90ZW1wZmlsZSgpLCB3aGljaCB1c2VzIE9fRVhDTCkuCisJOiA+LmdpdC9wYWNrZWQtcmVmcy5uZXcgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIC5naXQvcGFja2VkLXJlZnMubmV3IiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtcmVmIC1kICRwcmVmaXgvZm9vICYmCisJZ2l0IGZvci1lYWNoLXJlZiAkcHJlZml4ID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCB1bmNoYW5nZWQgYWN0dWFsCiAnCiAKZGlmZiAtLWdpdCBhL3QvdDE0MDYtc3VibW9kdWxlLXJlZi1zdG9yZS5zaCBiL3QvdDE0MDYtc3VibW9kdWxlLXJlZi1zdG9yZS5zaAppbmRleCBkMTk5ZDg3Li4zNmI3ZWY1IDEwMDc1NQotLS0gYS90L3QxNDA2LXN1Ym1vZHVsZS1yZWYtc3RvcmUuc2gKKysrIGIvdC90MTQwNi1zdWJtb2R1bGUtcmVmLXN0b3JlLnNoCkBAIC03NSw3ICs3NSw3IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcl9lYWNoX3JlZmxvZ19lbnQoKScgJwotCSRSVU4gZm9yLWVhY2gtcmVmbG9nLWVudCBIRUFEID5hY3R1YWwgJiYgY2F0IGFjdHVhbCAmJgorCSRSVU4gZm9yLWVhY2gtcmVmbG9nLWVudCBIRUFEID5hY3R1YWwgJiYKIAloZWFkIC1uMSBhY3R1YWwgfCBncmVwIGZpcnN0ICYmCiAJdGFpbCAtbjIgYWN0dWFsIHwgaGVhZCAtbjEgfCBncmVwIG1hc3Rlci50by5uZXcKICcKZGlmZiAtLWdpdCBhL3QvdDE0MDktYXZvaWQtcGFja2luZy1yZWZzLnNoIGIvdC90MTQwOS1hdm9pZC1wYWNraW5nLXJlZnMuc2gKaW5kZXggZTVjYjhhMi4uYmUxMmZiNiAxMDA3NTUKLS0tIGEvdC90MTQwOS1hdm9pZC1wYWNraW5nLXJlZnMuc2gKKysrIGIvdC90MTQwOS1hdm9pZC1wYWNraW5nLXJlZnMuc2gKQEAgLTgsNyArOCw3IEBACiAjIHNob3VsZG4ndCB1cHNldCByZWFkZXJzLCBhbmQgaXQgc2hvdWxkIGJlIG9taXR0ZWQgaWYgdGhlIGZpbGUgaXMKICMgZXZlciByZXdyaXR0ZW4uCiBtYXJrX3BhY2tlZF9yZWZzICgpIHsKLQlzZWQgLWUgInMvXlwoIy4qXCkvXDEgdDE0MDkgLyIgPC5naXQvcGFja2VkLXJlZnMgPi5naXQvcGFja2VkLXJlZnMubmV3ICYmCisJc2VkIC1lICJzL15cKCMuKlwpL1wxIHQxNDA5IC8iIC5naXQvcGFja2VkLXJlZnMgPi5naXQvcGFja2VkLXJlZnMubmV3ICYmCiAJbXYgLmdpdC9wYWNrZWQtcmVmcy5uZXcgLmdpdC9wYWNrZWQtcmVmcwogfQogCkBAIC0yNywxNSArMjcsMTUgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZG8gbm90IGNyZWF0ZSBwYWNrZWQtcmVmcyBmaWxlIGdyYXR1aXRvdXNseScgJwotCXRlc3RfbXVzdF9mYWlsIHRlc3QgLWYgLmdpdC9wYWNrZWQtcmVmcyAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvcGFja2VkLXJlZnMgJiYKIAlnaXQgdXBkYXRlLXJlZiByZWZzL2hlYWRzL2ZvbyAkQSAmJgotCXRlc3RfbXVzdF9mYWlsIHRlc3QgLWYgLmdpdC9wYWNrZWQtcmVmcyAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvcGFja2VkLXJlZnMgJiYKIAlnaXQgdXBkYXRlLXJlZiByZWZzL2hlYWRzL2ZvbyAkQiAmJgotCXRlc3RfbXVzdF9mYWlsIHRlc3QgLWYgLmdpdC9wYWNrZWQtcmVmcyAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvcGFja2VkLXJlZnMgJiYKIAlnaXQgdXBkYXRlLXJlZiByZWZzL2hlYWRzL2ZvbyAkQyAkQiAmJgotCXRlc3RfbXVzdF9mYWlsIHRlc3QgLWYgLmdpdC9wYWNrZWQtcmVmcyAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvcGFja2VkLXJlZnMgJiYKIAlnaXQgdXBkYXRlLXJlZiAtZCByZWZzL2hlYWRzL2ZvbyAmJgotCXRlc3RfbXVzdF9mYWlsIHRlc3QgLWYgLmdpdC9wYWNrZWQtcmVmcworCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvcGFja2VkLXJlZnMKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgdGhhdCBtYXJraW5nIHRoZSBwYWNrZWQtcmVmcyBmaWxlIHdvcmtzJyAnCkBAIC00Niw3ICs0Niw3IEBACiAJZ2l0IGZvci1lYWNoLXJlZiA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCiAJZ2l0IHBhY2stcmVmcyAtLWFsbCAmJgotCXRlc3RfbXVzdF9mYWlsIGNoZWNrX3BhY2tlZF9yZWZzX21hcmtlZCAmJgorCSEgY2hlY2tfcGFja2VkX3JlZnNfbWFya2VkICYmCiAJZ2l0IGZvci1lYWNoLXJlZiA+YWN0dWFsMiAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbDIKICcKQEAgLTgwLDcgKzgwLDcgQEAKIAlnaXQgcGFjay1yZWZzIC0tYWxsICYmCiAJbWFya19wYWNrZWRfcmVmcyAmJgogCWdpdCB1cGRhdGUtcmVmIC1kIHJlZnMvaGVhZHMvcGFja2VkLWRlbGV0ZSAmJgotCXRlc3RfbXVzdF9mYWlsIGNoZWNrX3BhY2tlZF9yZWZzX21hcmtlZAorCSEgY2hlY2tfcGFja2VkX3JlZnNfbWFya2VkCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xlYXZlIHBhY2tlZC1yZWZzIHVudG91Y2hlZCBvbiB1cGRhdGUgb2YgbG9vc2UnICcKZGlmZiAtLWdpdCBhL3QvdDE0MTAtcmVmbG9nLnNoIGIvdC90MTQxMC1yZWZsb2cuc2gKaW5kZXggM2UwNTM1My4uNzZkOWI3NCAxMDA3NTUKLS0tIGEvdC90MTQxMC1yZWZsb2cuc2gKKysrIGIvdC90MTQxMC1yZWZsb2cuc2gKQEAgLTIwLDI0ICsyMCwyMyBAQAogfQogCiBjaGVja19mc2NrICgpIHsKLQlvdXRwdXQ9JChnaXQgZnNjayAtLWZ1bGwpCisJZ2l0IGZzY2sgLS1mdWxsID5mc2NrLm91dHB1dAogCWNhc2UgIiQxIiBpbgogCScnKQotCQl0ZXN0IC16ICIkb3V0cHV0IiA7OworCQl0ZXN0X211c3RfYmVfZW1wdHkgZnNjay5vdXRwdXQgOzsKIAkqKQotCQllY2hvICIkb3V0cHV0IiB8IGdyZXAgIiQxIiA7OworCQl0ZXN0X2kxOG5ncmVwICIkMSIgZnNjay5vdXRwdXQgOzsKIAllc2FjCiB9CiAKIGNvcnJ1cHQgKCkgewotCWFhPSR7MSU/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/P30geno9JHsxIz8/fQotCW12IC5naXQvb2JqZWN0cy8kYWEvJHp6IC5naXQvJGFhJHp6CisJbXYgLmdpdC9vYmplY3RzLyQodGVzdF9vaWRfdG9fcGF0aCAkMSkgLmdpdC8kMQogfQogCiByZWNvdmVyICgpIHsKLQlhYT0kezElPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz99IHp6PSR7MSM/P30KKwlhYT0kKGVjaG8gJDEgfCBjdXQgLWMgMS0yKQogCW1rZGlyIC1wIC5naXQvb2JqZWN0cy8kYWEKLQltdiAuZ2l0LyRhYSR6eiAuZ2l0L29iamVjdHMvJGFhLyR6egorCW12IC5naXQvJDEgLmdpdC9vYmplY3RzLyQodGVzdF9vaWRfdG9fcGF0aCAkMSkKIH0KIAogY2hlY2tfZG9udF9oYXZlICgpIHsKQEAgLTU1LDYgKzU0LDcgQEAKIH0KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCisJdGVzdF9vaWRfaW5pdCAmJgogCW1rZGlyIC1wIEEvQiAmJgogCWVjaG8gcmF0ID5DICYmCiAJZWNobyBveCA+QS9EICYmCkBAIC0xOTUsNyArMTk1LDcgQEAKIAogCWdpdCByZWZsb2cgZGVsZXRlIG1hc3RlckB7MX0gJiYKIAlnaXQgcmVmbG9nIHNob3cgbWFzdGVyID4gb3V0cHV0ICYmCi0JdGVzdCAkKCgkbWFzdGVyX2VudHJ5X2NvdW50IC0gMSkpID0gJCh3YyAtbCA8IG91dHB1dCkgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAkKCgkbWFzdGVyX2VudHJ5X2NvdW50IC0gMSkpIG91dHB1dCAmJgogCXRlc3QgJEhFQURfZW50cnlfY291bnQgPSAkKGdpdCByZWZsb2cgfCB3YyAtbCkgJiYKIAkhIGdyZXAgb3ggPCBvdXRwdXQgJiYKIApAQCAtMjA5LDcgKzIwOSw3IEBACiAKIAlnaXQgcmVmbG9nIGRlbGV0ZSBtYXN0ZXJAezA3LjA0LjIwMDUuMTU6MTU6MDAuLTA3MDB9ICYmCiAJZ2l0IHJlZmxvZyBzaG93IG1hc3RlciA+IG91dHB1dCAmJgotCXRlc3QgJCgoJG1hc3Rlcl9lbnRyeV9jb3VudCAtIDEpKSA9ICQod2MgLWwgPCBvdXRwdXQpICYmCisJdGVzdF9saW5lX2NvdW50ID0gJCgoJG1hc3Rlcl9lbnRyeV9jb3VudCAtIDEpKSBvdXRwdXQgJiYKIAkhIGdyZXAgZHJhZ29uIDwgb3V0cHV0CiAKICcKQEAgLTIzMiwyNSArMjMyLDM0IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2djLnJlZmxvZ2V4cGlyZT1uZXZlcicgJworCXRlc3RfY29uZmlnIGdjLnJlZmxvZ2V4cGlyZSBuZXZlciAmJgorCXRlc3RfY29uZmlnIGdjLnJlZmxvZ2V4cGlyZXVucmVhY2hhYmxlIG5ldmVyICYmCiAKLQlnaXQgY29uZmlnIGdjLnJlZmxvZ2V4cGlyZSBuZXZlciAmJgotCWdpdCBjb25maWcgZ2MucmVmbG9nZXhwaXJldW5yZWFjaGFibGUgbmV2ZXIgJiYKLQlnaXQgcmVmbG9nIGV4cGlyZSAtLXZlcmJvc2UgLS1hbGwgJiYKKwlnaXQgcmVmbG9nIGV4cGlyZSAtLXZlcmJvc2UgLS1hbGwgPm91dHB1dCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDkgb3V0cHV0ICYmCisKIAlnaXQgcmVmbG9nIHJlZnMvaGVhZHMvbWFzdGVyID5vdXRwdXQgJiYKIAl0ZXN0X2xpbmVfY291bnQgPSA0IG91dHB1dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnYy5yZWZsb2dleHBpcmU9ZmFsc2UnICcKKwl0ZXN0X2NvbmZpZyBnYy5yZWZsb2dleHBpcmUgZmFsc2UgJiYKKwl0ZXN0X2NvbmZpZyBnYy5yZWZsb2dleHBpcmV1bnJlYWNoYWJsZSBmYWxzZSAmJgogCi0JZ2l0IGNvbmZpZyBnYy5yZWZsb2dleHBpcmUgZmFsc2UgJiYKLQlnaXQgY29uZmlnIGdjLnJlZmxvZ2V4cGlyZXVucmVhY2hhYmxlIGZhbHNlICYmCiAJZ2l0IHJlZmxvZyBleHBpcmUgLS12ZXJib3NlIC0tYWxsICYmCiAJZ2l0IHJlZmxvZyByZWZzL2hlYWRzL21hc3RlciA+b3V0cHV0ICYmCi0JdGVzdF9saW5lX2NvdW50ID0gNCBvdXRwdXQgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSA0IG91dHB1dAogCi0JZ2l0IGNvbmZpZyAtLXVuc2V0IGdjLnJlZmxvZ2V4cGlyZSAmJgotCWdpdCBjb25maWcgLS11bnNldCBnYy5yZWZsb2dleHBpcmV1bnJlYWNoYWJsZQorJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgcmVmbG9nIGV4cGlyZSB1bmtub3duIHJlZmVyZW5jZScgJworCXRlc3RfY29uZmlnIGdjLnJlZmxvZ2V4cGlyZSBuZXZlciAmJgorCXRlc3RfY29uZmlnIGdjLnJlZmxvZ2V4cGlyZXVucmVhY2hhYmxlIG5ldmVyICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmVmbG9nIGV4cGlyZSBtYXN0ZXJAezEyM30gMj5zdGRlcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICJwb2ludHMgbm93aGVyZSIgc3RkZXJyICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlZmxvZyBleHBpcmUgZG9lcy1ub3QtZXhpc3QgMj5zdGRlcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICJwb2ludHMgbm93aGVyZSIgc3RkZXJyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IHNob3VsZCBub3QgZGVsZXRlIGxvZyBmb3IgcGFja2VkIHJlZicgJwpAQCAtMzA0LDEyICszMTMsMTIgQEAKICMgRWFjaCBsaW5lIGlzIDExNCBjaGFyYWN0ZXJzLCBzbyB3ZSBuZWVkIDc1IHRvIHN0aWxsIGhhdmUgYSBmZXcgYmVmb3JlIHRoZQogIyBsYXN0IDhLLiBUaGUgODktY2hhcmFjdGVyIHBhZGRpbmcgb24gdGhlIGZpbmFsIGVudHJ5IGxpbmVzIHVwIG91cgogIyBuZXdsaW5lIGV4YWN0bHkuCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdwYXJzaW5nIHJldmVyc2UgcmVmbG9ncyBhdCBCVUZTSVogYm91bmRhcmllcycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyBTSEExICdwYXJzaW5nIHJldmVyc2UgcmVmbG9ncyBhdCBCVUZTSVogYm91bmRhcmllcycgJwogCWdpdCBjaGVja291dCAtYiByZWZsb2dza2lwICYmCi0JejM4PTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwICYmCisJemY9JCh0ZXN0X29pZCB6ZXJvXzIpICYmCiAJaWRlbnQ9ImFiYyA8eHl6PiAwMDAwMDAwMDAxICswMDAwIiAmJgogCWZvciBpIGluICQodGVzdF9zZXEgMSA3NSk7IGRvCi0JCXByaW50ZiAiJHozOCUwMmQgJHozOCUwMmQgJXNcdCIgJGkgJCgoJGkrMSkpICIkaWRlbnQiICYmCisJCXByaW50ZiAiJHpmJTAyZCAkemYlMDJkICVzXHQiICRpICQoKCRpKzEpKSAiJGlkZW50IiAmJgogCQlpZiB0ZXN0ICRpID0gNzU7IHRoZW4KIAkJCWZvciBqIGluICQodGVzdF9zZXEgMSA4OSk7IGRvCiAJCQkJcHJpbnRmIFgKQEAgLTMyMCw3ICszMjksNyBAQAogCQlwcmludGYgIlxuIgogCWRvbmUgPi5naXQvbG9ncy9yZWZzL2hlYWRzL3JlZmxvZ3NraXAgJiYKIAlnaXQgcmV2LXBhcnNlIHJlZmxvZ3NraXBAezczfSA+YWN0dWFsICYmCi0JZWNobyAke3ozOH0wMyA+ZXhwZWN0ICYmCisJZWNobyAke3pmfTAzID5leHBlY3QgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKZGlmZiAtLWdpdCBhL3QvdDE0MTQtcmVmbG9nLXdhbGsuc2ggYi90L3QxNDE0LXJlZmxvZy13YWxrLnNoCmluZGV4IGZlYjFlZmQuLjExODFhOWYgMTAwNzU1Ci0tLSBhL3QvdDE0MTQtcmVmbG9nLXdhbGsuc2gKKysrIGIvdC90MTQxNC1yZWZsb2ctd2Fsay5zaApAQCAtMTgsMTAgKzE4LDkgQEAKIAlnaXQgbG9nIC1nIC0tZm9ybWF0PSIlZ2QgJWdzIiAiJEAiCiB9CiAKLXNxPSInIgogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0IHVwIGV4cGVjdGVkIHJlZmxvZycgJwogCWNhdCA+ZXhwZWN0LmFsbCA8PC1FT0YKLQlIRUFEQHswfSBjb21taXQgKG1lcmdlKTogTWVyZ2UgYnJhbmNoICR7c3F9bWFzdGVyJHtzcX0gaW50byBzaWRlCisJSEVBREB7MH0gY29tbWl0IChtZXJnZSk6IE1lcmdlIGJyYW5jaCAke1NRfW1hc3RlciR7U1F9IGludG8gc2lkZQogCUhFQURAezF9IGNvbW1pdDogdGhyZWUKIAlIRUFEQHsyfSBjaGVja291dDogbW92aW5nIGZyb20gbWFzdGVyIHRvIHNpZGUKIAlIRUFEQHszfSBjb21taXQ6IHR3bwpkaWZmIC0tZ2l0IGEvdC90MTQxNS13b3JrdHJlZS1yZWZzLnNoIGIvdC90MTQxNS13b3JrdHJlZS1yZWZzLnNoCmluZGV4IGI2NjRlNTEuLmJiMmM3NTcgMTAwNzU1Ci0tLSBhL3QvdDE0MTUtd29ya3RyZWUtcmVmcy5zaAorKysgYi90L3QxNDE1LXdvcmt0cmVlLXJlZnMuc2gKQEAgLTc2LDQgKzc2LDM5IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsLnd0MgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3ItZWFjaC1yZWYgZnJvbSBtYWluIHJlcG8nICcKKwlta2RpciBmZXIxICYmCisJZ2l0IC1DIGZlcjEgaW5pdCByZXBvICYmCisJdGVzdF9jb21taXQgLUMgZmVyMS9yZXBvIGluaXRpYWwgJiYKKwlnaXQgLUMgZmVyMS9yZXBvIHdvcmt0cmVlIGFkZCAuLi9zZWNvbmQgJiYKKwlnaXQgLUMgZmVyMS9yZXBvIHVwZGF0ZS1yZWYgcmVmcy9iaXNlY3QvbWFpbiBIRUFEICYmCisJZ2l0IC1DIGZlcjEvcmVwbyB1cGRhdGUtcmVmIHJlZnMvcmV3cml0dGVuL21haW4gSEVBRCAmJgorCWdpdCAtQyBmZXIxL3JlcG8gdXBkYXRlLXJlZiByZWZzL3dvcmt0cmVlL21haW4gSEVBRCAmJgorCWdpdCAtQyBmZXIxL3JlcG8gZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKHJlZm5hbWUpIiB8IGdyZXAgbWFpbiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisJcmVmcy9iaXNlY3QvbWFpbgorCXJlZnMvcmV3cml0dGVuL21haW4KKwlyZWZzL3dvcmt0cmVlL21haW4KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9yLWVhY2gtcmVmIGZyb20gbGlua2VkIHJlcG8nICcKKwlta2RpciBmZXIyICYmCisJZ2l0IC1DIGZlcjIgaW5pdCByZXBvICYmCisJdGVzdF9jb21taXQgLUMgZmVyMi9yZXBvIGluaXRpYWwgJiYKKwlnaXQgLUMgZmVyMi9yZXBvIHdvcmt0cmVlIGFkZCAuLi9zZWNvbmQgJiYKKwlnaXQgLUMgZmVyMi9zZWNvbmQgdXBkYXRlLXJlZiByZWZzL2Jpc2VjdC9zZWNvbmQgSEVBRCAmJgorCWdpdCAtQyBmZXIyL3NlY29uZCB1cGRhdGUtcmVmIHJlZnMvcmV3cml0dGVuL3NlY29uZCBIRUFEICYmCisJZ2l0IC1DIGZlcjIvc2Vjb25kIHVwZGF0ZS1yZWYgcmVmcy93b3JrdHJlZS9zZWNvbmQgSEVBRCAmJgorCWdpdCAtQyBmZXIyL3NlY29uZCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUocmVmbmFtZSkiIHwgZ3JlcCBzZWNvbmQgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCXJlZnMvYmlzZWN0L3NlY29uZAorCXJlZnMvaGVhZHMvc2Vjb25kCisJcmVmcy9yZXdyaXR0ZW4vc2Vjb25kCisJcmVmcy93b3JrdHJlZS9zZWNvbmQKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxNDUwLWZzY2suc2ggYi90L3QxNDUwLWZzY2suc2gKaW5kZXggYzc2N2UyNy4uZDA5ZWZmNSAxMDA3NTUKLS0tIGEvdC90MTQ1MC1mc2NrLnNoCisrKyBiL3QvdDE0NTAtZnNjay5zaApAQCAtOSw2ICs5LDcgQEAKIC4gLi90ZXN0LWxpYi5zaAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIHNldHVwICcKKwl0ZXN0X29pZF9pbml0ICYmCiAJZ2l0IGNvbmZpZyBnYy5hdXRvIDAgJiYKIAlnaXQgY29uZmlnIGkxOG4uY29tbWl0ZW5jb2RpbmcgSVNPLTg4NTktMSAmJgogCXRlc3RfY29tbWl0IEEgZmlsZUEgb25lICYmCkBAIC01NCw4ICs1NSw4IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ29iamVjdCB3aXRoIGJhZCBzaGExJyAnCiAJc2hhPSQoZWNobyBibG9iIHwgZ2l0IGhhc2gtb2JqZWN0IC13IC0tc3RkaW4pICYmCi0Jb2xkPSQoZWNobyAkc2hhIHwgc2VkICJzK14uLismLysiKSAmJgotCW5ldz0kKGRpcm5hbWUgJG9sZCkvZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYgJiYKKwlvbGQ9JCh0ZXN0X29pZF90b19wYXRoICIkc2hhIikgJiYKKwluZXc9JChkaXJuYW1lICRvbGQpLyQodGVzdF9vaWQgZmZfMikgJiYKIAlzaGE9IiQoZGlybmFtZSAkbmV3KSQoYmFzZW5hbWUgJG5ldykiICYmCiAJbXYgLmdpdC9vYmplY3RzLyRvbGQgLmdpdC9vYmplY3RzLyRuZXcgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJlbW92ZV9vYmplY3QgJHNoYSIgJiYKQEAgLTY5LDI2ICs3MCwyMyBAQAogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHVwZGF0ZS1yZWYgLWQgcmVmcy9oZWFkcy9ib2d1cyIgJiYKIAogCXRlc3RfbXVzdF9mYWlsIGdpdCBmc2NrIDI+b3V0ICYmCi0JY2F0IG91dCAmJgotCWdyZXAgIiRzaGEuKmNvcnJ1cHQiIG91dAorCXRlc3RfaTE4bmdyZXAgIiRzaGEuKmNvcnJ1cHQiIG91dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdicmFuY2ggcG9pbnRpbmcgdG8gbm9uLWNvbW1pdCcgJwogCWdpdCByZXYtcGFyc2UgSEVBRF57dHJlZX0gPi5naXQvcmVmcy9oZWFkcy9pbnZhbGlkICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgdXBkYXRlLXJlZiAtZCByZWZzL2hlYWRzL2ludmFsaWQiICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZzY2sgMj5vdXQgJiYKLQljYXQgb3V0ICYmCi0JZ3JlcCAibm90IGEgY29tbWl0IiBvdXQKKwl0ZXN0X2kxOG5ncmVwICJub3QgYSBjb21taXQiIG91dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdIRUFEIGxpbmsgcG9pbnRpbmcgYXQgYSBmdW5ueSBvYmplY3QnICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgIm12IC5naXQvU0FWRURfSEVBRCAuZ2l0L0hFQUQiICYmCiAJbXYgLmdpdC9IRUFEIC5naXQvU0FWRURfSEVBRCAmJgotCWVjaG8gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCA+LmdpdC9IRUFEICYmCisJZWNobyAkWkVST19PSUQgPi5naXQvSEVBRCAmJgogCSMgYXZvaWQgY29ycnVwdC9icm9rZW4gSEVBRCBmcm9tIGludGVyZmVyaW5nIHdpdGggcmVwbyBkaXNjb3ZlcnkKIAl0ZXN0X211c3RfZmFpbCBlbnYgR0lUX0RJUj0uZ2l0IGdpdCBmc2NrIDI+b3V0ICYmCi0JY2F0IG91dCAmJgotCWdyZXAgImRldGFjaGVkIEhFQUQgcG9pbnRzIiBvdXQKKwl0ZXN0X2kxOG5ncmVwICJkZXRhY2hlZCBIRUFEIHBvaW50cyIgb3V0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0hFQUQgbGluayBwb2ludGluZyBhdCBhIGZ1bm55IHBsYWNlJyAnCkBAIC05Nyw4ICs5NSw3IEBACiAJZWNobyAicmVmOiByZWZzL2Z1bm55L3BsYWNlIiA+LmdpdC9IRUFEICYmCiAJIyBhdm9pZCBjb3JydXB0L2Jyb2tlbiBIRUFEIGZyb20gaW50ZXJmZXJpbmcgd2l0aCByZXBvIGRpc2NvdmVyeQogCXRlc3RfbXVzdF9mYWlsIGVudiBHSVRfRElSPS5naXQgZ2l0IGZzY2sgMj5vdXQgJiYKLQljYXQgb3V0ICYmCi0JZ3JlcCAiSEVBRCBwb2ludHMgdG8gc29tZXRoaW5nIHN0cmFuZ2UiIG91dAorCXRlc3RfaTE4bmdyZXAgIkhFQUQgcG9pbnRzIHRvIHNvbWV0aGluZyBzdHJhbmdlIiBvdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnSEVBRCBsaW5rIHBvaW50aW5nIGF0IGEgZnVubnkgb2JqZWN0IChmcm9tIGRpZmZlcmVudCB3dCknICcKQEAgLTEwOSw3ICsxMDYsNyBAQAogCWVjaG8gJFpFUk9fT0lEID4uZ2l0L0hFQUQgJiYKIAkjIGF2b2lkIGNvcnJ1cHQvYnJva2VuIEhFQUQgZnJvbSBpbnRlcmZlcmluZyB3aXRoIHJlcG8gZGlzY292ZXJ5CiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIHd0IGZzY2sgMj5vdXQgJiYKLQlncmVwICJtYWluLXdvcmt0cmVlL0hFQUQ6IGRldGFjaGVkIEhFQUQgcG9pbnRzIiBvdXQKKwl0ZXN0X2kxOG5ncmVwICJtYWluLXdvcmt0cmVlL0hFQUQ6IGRldGFjaGVkIEhFQUQgcG9pbnRzIiBvdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnb3RoZXIgd29ya3RyZWUgSEVBRCBsaW5rIHBvaW50aW5nIGF0IGEgZnVubnkgb2JqZWN0JyAnCkBAIC0xMTcsNyArMTE0LDcgQEAKIAlnaXQgd29ya3RyZWUgYWRkIG90aGVyICYmCiAJZWNobyAkWkVST19PSUQgPi5naXQvd29ya3RyZWVzL290aGVyL0hFQUQgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgZnNjayAyPm91dCAmJgotCWdyZXAgIndvcmt0cmVlcy9vdGhlci9IRUFEOiBkZXRhY2hlZCBIRUFEIHBvaW50cyIgb3V0CisJdGVzdF9pMThuZ3JlcCAid29ya3RyZWVzL290aGVyL0hFQUQ6IGRldGFjaGVkIEhFQUQgcG9pbnRzIiBvdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnb3RoZXIgd29ya3RyZWUgSEVBRCBsaW5rIHBvaW50aW5nIGF0IG1pc3Npbmcgb2JqZWN0JyAnCkBAIC0xMjUsNyArMTIyLDcgQEAKIAlnaXQgd29ya3RyZWUgYWRkIG90aGVyICYmCiAJZWNobyAiQ29udGVudHMgbWlzc2luZyBmcm9tIHJlcG8iIHwgZ2l0IGhhc2gtb2JqZWN0IC0tc3RkaW4gPi5naXQvd29ya3RyZWVzL290aGVyL0hFQUQgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgZnNjayAyPm91dCAmJgotCWdyZXAgIndvcmt0cmVlcy9vdGhlci9IRUFEOiBpbnZhbGlkIHNoYTEgcG9pbnRlciIgb3V0CisJdGVzdF9pMThuZ3JlcCAid29ya3RyZWVzL290aGVyL0hFQUQ6IGludmFsaWQgc2hhMSBwb2ludGVyIiBvdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnb3RoZXIgd29ya3RyZWUgSEVBRCBsaW5rIHBvaW50aW5nIGF0IGEgZnVubnkgcGxhY2UnICcKQEAgLTEzMyw3ICsxMzAsNyBAQAogCWdpdCB3b3JrdHJlZSBhZGQgb3RoZXIgJiYKIAllY2hvICJyZWY6IHJlZnMvZnVubnkvcGxhY2UiID4uZ2l0L3dvcmt0cmVlcy9vdGhlci9IRUFEICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZzY2sgMj5vdXQgJiYKLQlncmVwICJ3b3JrdHJlZXMvb3RoZXIvSEVBRCBwb2ludHMgdG8gc29tZXRoaW5nIHN0cmFuZ2UiIG91dAorCXRlc3RfaTE4bmdyZXAgIndvcmt0cmVlcy9vdGhlci9IRUFEIHBvaW50cyB0byBzb21ldGhpbmcgc3RyYW5nZSIgb3V0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2VtYWlsIHdpdGhvdXQgQCBpcyBva2F5JyAnCkBAIC0xNDQsNyArMTQxLDYgQEAKIAlnaXQgdXBkYXRlLXJlZiByZWZzL2hlYWRzL2JvZ3VzICIkbmV3IiAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHVwZGF0ZS1yZWYgLWQgcmVmcy9oZWFkcy9ib2d1cyIgJiYKIAlnaXQgZnNjayAyPm91dCAmJgotCWNhdCBvdXQgJiYKIAkhIGdyZXAgImNvbW1pdCAkbmV3IiBvdXQKICcKIApAQCAtMTU2LDggKzE1Miw3IEBACiAJZ2l0IHVwZGF0ZS1yZWYgcmVmcy9oZWFkcy9ib2d1cyAiJG5ldyIgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCB1cGRhdGUtcmVmIC1kIHJlZnMvaGVhZHMvYm9ndXMiICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZzY2sgMj5vdXQgJiYKLQljYXQgb3V0ICYmCi0JZ3JlcCAiZXJyb3IgaW4gY29tbWl0ICRuZXciIG91dAorCXRlc3RfaTE4bmdyZXAgImVycm9yIGluIGNvbW1pdCAkbmV3IiBvdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbWlzc2luZyA8IGVtYWlsIGRlbGltaXRlciBpcyByZXBvcnRlZCBuaWNlbHknICcKQEAgLTE2OCw4ICsxNjMsNyBAQAogCWdpdCB1cGRhdGUtcmVmIHJlZnMvaGVhZHMvYm9ndXMgIiRuZXciICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgdXBkYXRlLXJlZiAtZCByZWZzL2hlYWRzL2JvZ3VzIiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBmc2NrIDI+b3V0ICYmCi0JY2F0IG91dCAmJgotCWdyZXAgImVycm9yIGluIGNvbW1pdCAkbmV3LiogLSBiYWQgbmFtZSIgb3V0CisJdGVzdF9pMThuZ3JlcCAiZXJyb3IgaW4gY29tbWl0ICRuZXcuKiAtIGJhZCBuYW1lIiBvdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbWlzc2luZyBlbWFpbCBpcyByZXBvcnRlZCBuaWNlbHknICcKQEAgLTE4MCw4ICsxNzQsNyBAQAogCWdpdCB1cGRhdGUtcmVmIHJlZnMvaGVhZHMvYm9ndXMgIiRuZXciICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgdXBkYXRlLXJlZiAtZCByZWZzL2hlYWRzL2JvZ3VzIiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBmc2NrIDI+b3V0ICYmCi0JY2F0IG91dCAmJgotCWdyZXAgImVycm9yIGluIGNvbW1pdCAkbmV3LiogLSBtaXNzaW5nIGVtYWlsIiBvdXQKKwl0ZXN0X2kxOG5ncmVwICJlcnJvciBpbiBjb21taXQgJG5ldy4qIC0gbWlzc2luZyBlbWFpbCIgb3V0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJz4gaW4gbmFtZSBpcyByZXBvcnRlZCcgJwpAQCAtMTkyLDggKzE4NSw3IEBACiAJZ2l0IHVwZGF0ZS1yZWYgcmVmcy9oZWFkcy9ib2d1cyAiJG5ldyIgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCB1cGRhdGUtcmVmIC1kIHJlZnMvaGVhZHMvYm9ndXMiICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZzY2sgMj5vdXQgJiYKLQljYXQgb3V0ICYmCi0JZ3JlcCAiZXJyb3IgaW4gY29tbWl0ICRuZXciIG91dAorCXRlc3RfaTE4bmdyZXAgImVycm9yIGluIGNvbW1pdCAkbmV3IiBvdXQKICcKIAogIyBkYXRlIGlzIDJeNjQgKyAxCkBAIC0yMDYsOCArMTk4LDcgQEAKIAlnaXQgdXBkYXRlLXJlZiByZWZzL2hlYWRzL2JvZ3VzICIkbmV3IiAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHVwZGF0ZS1yZWYgLWQgcmVmcy9oZWFkcy9ib2d1cyIgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgZnNjayAyPm91dCAmJgotCWNhdCBvdXQgJiYKLQlncmVwICJlcnJvciBpbiBjb21taXQgJG5ldy4qaW50ZWdlciBvdmVyZmxvdyIgb3V0CisJdGVzdF9pMThuZ3JlcCAiZXJyb3IgaW4gY29tbWl0ICRuZXcuKmludGVnZXIgb3ZlcmZsb3ciIG91dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb21taXQgd2l0aCBOVUwgaW4gaGVhZGVyJyAnCkBAIC0yMTgsOCArMjA5LDcgQEAKIAlnaXQgdXBkYXRlLXJlZiByZWZzL2hlYWRzL2JvZ3VzICIkbmV3IiAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHVwZGF0ZS1yZWYgLWQgcmVmcy9oZWFkcy9ib2d1cyIgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgZnNjayAyPm91dCAmJgotCWNhdCBvdXQgJiYKLQlncmVwICJlcnJvciBpbiBjb21taXQgJG5ldy4qdW50ZXJtaW5hdGVkIGhlYWRlcjogTlVMIGF0IG9mZnNldCIgb3V0CisJdGVzdF9pMThuZ3JlcCAiZXJyb3IgaW4gY29tbWl0ICRuZXcuKnVudGVybWluYXRlZCBoZWFkZXI6IE5VTCBhdCBvZmZzZXQiIG91dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0cmVlIG9iamVjdCB3aXRoIGR1cGxpY2F0ZSBlbnRyaWVzJyAnCkBAIC0yNDAsMTQgKzIzMCwyMCBAQAogCQlnaXQgaGFzaC1vYmplY3QgLXcgLXQgdHJlZSAtLXN0ZGluCiAJKSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBmc2NrIDI+b3V0ICYmCi0JZ3JlcCAiZXJyb3IgaW4gdHJlZSAuKmNvbnRhaW5zIGR1cGxpY2F0ZSBmaWxlIGVudHJpZXMiIG91dAorCXRlc3RfaTE4bmdyZXAgImVycm9yIGluIHRyZWUgLipjb250YWlucyBkdXBsaWNhdGUgZmlsZSBlbnRyaWVzIiBvdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndW5wYXJzZWFibGUgdHJlZSBvYmplY3QnICcKKwl0ZXN0X29pZF9jYWNoZSA8PC1cRU9GICYmCisJanVuayBzaGExOnR3ZW50eS1ieXRlcy1vZi1qdW5rCisJanVuayBzaGEyNTY6dHdlbnR5LWJ5dGVzLW9mLWp1bmstdHdlbHZlLW1vcmUKKwlFT0YKKwogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHVwZGF0ZS1yZWYgLWQgcmVmcy9oZWFkcy93cm9uZyIgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJlbW92ZV9vYmplY3QgXCR0cmVlX3NoYTEiICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJyZW1vdmVfb2JqZWN0IFwkY29tbWl0X3NoYTEiICYmCi0JdHJlZV9zaGExPSQocHJpbnRmICIxMDA2NDQgXDB0d2VudHktYnl0ZXMtb2YtanVuayIgfCBnaXQgaGFzaC1vYmplY3QgLXQgdHJlZSAtLXN0ZGluIC13IC0tbGl0ZXJhbGx5KSAmJgorCWp1bms9JCh0ZXN0X29pZCBqdW5rKSAmJgorCXRyZWVfc2hhMT0kKHByaW50ZiAiMTAwNjQ0IFwwJGp1bmsiIHwgZ2l0IGhhc2gtb2JqZWN0IC10IHRyZWUgLS1zdGRpbiAtdyAtLWxpdGVyYWxseSkgJiYKIAljb21taXRfc2hhMT0kKGdpdCBjb21taXQtdHJlZSAkdHJlZV9zaGExKSAmJgogCWdpdCB1cGRhdGUtcmVmIHJlZnMvaGVhZHMvd3JvbmcgJGNvbW1pdF9zaGExICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZzY2sgMj5vdXQgJiYKQEAgLTI1NiwxMCArMjUyLDYgQEAKIAl0ZXN0X2kxOG5ncmVwICEgImZhdGFsOiBlbXB0eSBmaWxlbmFtZSBpbiB0cmVlIGVudHJ5IiBvdXQKICcKIAotaGV4Mm9jdCgpIHsKLQlwZXJsIC1uZSAncHJpbnRmICJcXCUwM28iLCBoZXggZm9yIC8uLi9nJwotfQotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0cmVlIGVudHJ5IHdpdGggdHlwZSBtaXNtYXRjaCcgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCAicmVtb3ZlX29iamVjdCBcJGJsb2IiICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJyZW1vdmVfb2JqZWN0IFwkdHJlZSIgJiYKQEAgLTI3OSw4ICsyNzEsOSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0YWcgcG9pbnRpbmcgdG8gbm9uZXhpc3RlbnQnICcKLQljYXQgPmludmFsaWQtdGFnIDw8LVxFT0YgJiYKLQlvYmplY3QgZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZgorCWJhZG9pZD0kKHRlc3Rfb2lkIGRlYWRiZWVmKSAmJgorCWNhdCA+aW52YWxpZC10YWcgPDwtRU9GICYmCisJb2JqZWN0ICRiYWRvaWQKIAl0eXBlIGNvbW1pdAogCXRhZyBpbnZhbGlkCiAJdGFnZ2VyIFQgQSBHZ2VyIDx0YWdnZXJAZXhhbXBsZS5jb20+IDEyMzQ1Njc4OTAgLTAwMDAKQEAgLTI5Myw4ICsyODYsNyBAQAogCWVjaG8gJHRhZyA+LmdpdC9yZWZzL3RhZ3MvaW52YWxpZCAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHVwZGF0ZS1yZWYgLWQgcmVmcy90YWdzL2ludmFsaWQiICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZzY2sgLS10YWdzID5vdXQgJiYKLQljYXQgb3V0ICYmCi0JZ3JlcCAiYnJva2VuIGxpbmsiIG91dAorCXRlc3RfaTE4bmdyZXAgImJyb2tlbiBsaW5rIiBvdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndGFnIHBvaW50aW5nIHRvIHNvbWV0aGluZyBlbHNlIHRoYW4gaXRzIHR5cGUnICcKQEAgLTMzNiw3ICszMjgsNyBAQAogCXdhcm5pbmcgaW4gdGFnICR0YWc6IGJhZFRhZ05hbWU6IGludmFsaWQgJ1wnJ3RhZydcJycgbmFtZTogd3JvbmcgbmFtZSBmb3JtYXQKIAl3YXJuaW5nIGluIHRhZyAkdGFnOiBtaXNzaW5nVGFnZ2VyRW50cnk6IGludmFsaWQgZm9ybWF0IC0gZXhwZWN0ZWQgJ1wnJ3RhZ2dlcidcJycgbGluZQogCUVPRgotCXRlc3RfY21wIGV4cGVjdCBvdXQKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IG91dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0YWcgd2l0aCBiYWQgdGFnZ2VyJyAnCkBAIC0zNTUsNyArMzQ3LDcgQEAKIAllY2hvICR0YWcgPi5naXQvcmVmcy90YWdzL3dyb25nICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgdXBkYXRlLXJlZiAtZCByZWZzL3RhZ3Mvd3JvbmciICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZzY2sgLS10YWdzIDI+b3V0ICYmCi0JZ3JlcCAiZXJyb3IgaW4gdGFnIC4qOiBpbnZhbGlkIGF1dGhvci9jb21taXR0ZXIiIG91dAorCXRlc3RfaTE4bmdyZXAgImVycm9yIGluIHRhZyAuKjogaW52YWxpZCBhdXRob3IvY29tbWl0dGVyIiBvdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndGFnIHdpdGggTlVMIGluIGhlYWRlcicgJwpAQCAtMzc0LDggKzM2Niw3IEBACiAJZWNobyAkdGFnID4uZ2l0L3JlZnMvdGFncy93cm9uZyAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHVwZGF0ZS1yZWYgLWQgcmVmcy90YWdzL3dyb25nIiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBmc2NrIC0tdGFncyAyPm91dCAmJgotCWNhdCBvdXQgJiYKLQlncmVwICJlcnJvciBpbiB0YWcgJHRhZy4qdW50ZXJtaW5hdGVkIGhlYWRlcjogTlVMIGF0IG9mZnNldCIgb3V0CisJdGVzdF9pMThuZ3JlcCAiZXJyb3IgaW4gdGFnICR0YWcuKnVudGVybWluYXRlZCBoZWFkZXI6IE5VTCBhdCBvZmZzZXQiIG91dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbGVhbmVkIHVwJyAnCkBAIC0zOTAsOCArMzgxLDggQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LWxpc3QgLS12ZXJpZnktb2JqZWN0cyB3aXRoIGJhZCBzaGExJyAnCiAJc2hhPSQoZWNobyBibG9iIHwgZ2l0IGhhc2gtb2JqZWN0IC13IC0tc3RkaW4pICYmCi0Jb2xkPSQoZWNobyAkc2hhIHwgc2VkICJzK14uLismLysiKSAmJgotCW5ldz0kKGRpcm5hbWUgJG9sZCkvZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYgJiYKKwlvbGQ9JCh0ZXN0X29pZF90b19wYXRoICRzaGEpICYmCisJbmV3PSQoZGlybmFtZSAkb2xkKS8kKHRlc3Rfb2lkIGZmXzIpICYmCiAJc2hhPSIkKGRpcm5hbWUgJG5ldykkKGJhc2VuYW1lICRuZXcpIiAmJgogCW12IC5naXQvb2JqZWN0cy8kb2xkIC5naXQvb2JqZWN0cy8kbmV3ICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJyZW1vdmVfb2JqZWN0ICRzaGEiICYmCkBAIC00MDUsOCArMzk2LDcgQEAKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCB1cGRhdGUtcmVmIC1kIHJlZnMvaGVhZHMvYm9ndXMiICYmCiAKIAl0ZXN0X21pZ2h0X2ZhaWwgZ2l0IHJldi1saXN0IC0tdmVyaWZ5LW9iamVjdHMgcmVmcy9oZWFkcy9ib2d1cyA+L2Rldi9udWxsIDI+b3V0ICYmCi0JY2F0IG91dCAmJgotCXRlc3RfaTE4bmdyZXAgLXEgImVycm9yOiBzaGExIG1pc21hdGNoIDYzZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiIG91dAorCXRlc3RfaTE4bmdyZXAgLXEgImVycm9yOiBoYXNoIG1pc21hdGNoICQoZGlybmFtZSAkbmV3KSQodGVzdF9vaWQgZmZfMikiIG91dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JjZSBmc2NrIHRvIGlnbm9yZSBkb3VibGUgYXV0aG9yJyAnCkBAIC00MjEsMjggKzQxMSwyNSBAQAogJwogCiBfYno9J1wwJwotX2J6NT0iJF9ieiRfYnokX2J6JF9ieiRfYnoiCi1fYnoyMD0iJF9iejUkX2J6NSRfYno1JF9iejUiCitfYnpvaWQ9JChwcmludGYgJFpFUk9fT0lEIHwgc2VkIC1lICdzLzAwL1xcMC9nJykKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZnNjayBub3RpY2VzIGJsb2IgZW50cnkgcG9pbnRpbmcgdG8gbnVsbCBzaGExJyAnCiAJKGdpdCBpbml0IG51bGwtYmxvYiAmJgogCSBjZCBudWxsLWJsb2IgJiYKLQkgc2hhPSQocHJpbnRmICIxMDA2NDQgZmlsZSRfYnokX2J6MjAiIHwKKwkgc2hhPSQocHJpbnRmICIxMDA2NDQgZmlsZSRfYnokX2J6b2lkIiB8CiAJICAgICAgIGdpdCBoYXNoLW9iamVjdCAtdyAtLXN0ZGluIC10IHRyZWUpICYmCiAJICBnaXQgZnNjayAyPm91dCAmJgotCSAgY2F0IG91dCAmJgotCSAgZ3JlcCAid2FybmluZy4qbnVsbCBzaGExIiBvdXQKKwkgIHRlc3RfaTE4bmdyZXAgIndhcm5pbmcuKm51bGwgc2hhMSIgb3V0CiAJKQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmc2NrIG5vdGljZXMgc3VibW9kdWxlIGVudHJ5IHBvaW50aW5nIHRvIG51bGwgc2hhMScgJwogCShnaXQgaW5pdCBudWxsLWNvbW1pdCAmJgogCSBjZCBudWxsLWNvbW1pdCAmJgotCSBzaGE9JChwcmludGYgIjE2MDAwMCBzdWJtb2R1bGUkX2J6JF9iejIwIiB8CisJIHNoYT0kKHByaW50ZiAiMTYwMDAwIHN1Ym1vZHVsZSRfYnokX2J6b2lkIiB8CiAJICAgICAgIGdpdCBoYXNoLW9iamVjdCAtdyAtLXN0ZGluIC10IHRyZWUpICYmCiAJICBnaXQgZnNjayAyPm91dCAmJgotCSAgY2F0IG91dCAmJgotCSAgZ3JlcCAid2FybmluZy4qbnVsbCBzaGExIiBvdXQKKwkgIHRlc3RfaTE4bmdyZXAgIndhcm5pbmcuKm51bGwgc2hhMSIgb3V0CiAJKQogJwogCkBAIC00NjMsOCArNDUwLDcgQEAKIAkJCXByaW50ZiAiJG1vZGUgJHR5cGUgJXNcdCVzIiAiJHZhbHVlIiAiJHBhdGgiID5iYWQgJiYKIAkJCWJhZF90cmVlPSQoZ2l0IG1rdHJlZSA8YmFkKSAmJgogCQkJZ2l0IGZzY2sgMj5vdXQgJiYKLQkJCWNhdCBvdXQgJiYKLQkJCWdyZXAgIndhcm5pbmcuKnRyZWUgJGJhZF90cmVlIiBvdXQKKwkJCXRlc3RfaTE4bmdyZXAgIndhcm5pbmcuKnRyZWUgJGJhZF90cmVlIiBvdXQKIAkJKScKIAlkb25lIDw8LVxFT0YKIAkxMDA2NDQgYmxvYgpAQCAtNTEwLDkgKzQ5Niw5IEBACiAJCWdpdCBicmFuY2ggYmFkICQoY2F0IG5hbWUpICYmCiAKIAkJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIGZzY2subnVsSW5Db21taXQ9ZXJyb3IgZnNjayAyPndhcm4uMSAmJgotCQlncmVwIG51bEluQ29tbWl0IHdhcm4uMSAmJgorCQl0ZXN0X2kxOG5ncmVwIG51bEluQ29tbWl0IHdhcm4uMSAmJgogCQlnaXQgZnNjayAyPndhcm4uMiAmJgotCQlncmVwIG51bEluQ29tbWl0IHdhcm4uMgorCQl0ZXN0X2kxOG5ncmVwIG51bEluQ29tbWl0IHdhcm4uMgogCSkKICcKIApAQCAtNTkxLDcgKzU3Nyw3IEBACiAJCSMgaXRzIHR5cGUuIFRoYXQgbGV0cyB1cyBzZWUgdGhhdCAtLWNvbm5lY3Rpdml0eS1vbmx5IGlzCiAJCSMgbm90IGFjdHVhbGx5IGxvb2tpbmcgYXQgdGhlIGNvbnRlbnRzLCBidXQgbGVhdmVzIGl0CiAJCSMgZnJlZSB0byBleGFtaW5lIHRoZSB0eXBlIGlmIGl0IGNob29zZXMuCi0JCWVtcHR5PS5naXQvb2JqZWN0cy9lNi85ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MSAmJgorCQllbXB0eT0uZ2l0L29iamVjdHMvJCh0ZXN0X29pZF90b19wYXRoICRFTVBUWV9CTE9CKSAmJgogCQlibG9iPSQoZWNobyB1bnJlbGF0ZWQgfCBnaXQgaGFzaC1vYmplY3QgLXcgLS1zdGRpbikgJiYKIAkJbXYgLWYgJChzaGExX2ZpbGUgJGJsb2IpICRlbXB0eSAmJgogCkBAIC02MzAsMTggKzYxNiwyMCBAQAogCQlyZW1vdmVfb2JqZWN0ICQoZ2l0IHJldi1wYXJzZSBqdWxpdXM6Y2Flc2FyLnQpICYmCiAJCXRlc3RfbXVzdF9mYWlsIGdpdCBmc2NrIC0tbmFtZS1vYmplY3RzID5vdXQgJiYKIAkJdHJlZT0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkganVsaXVzOikgJiYKLQkJZWdyZXAgIiR0cmVlIFwoKHJlZnMvaGVhZHMvbWFzdGVyfEhFQUQpQFx7WzAtOV0qXH06IiBvdXQKKwkJdGVzdF9pMThuZ3JlcCAiJHRyZWUgKHJlZnMvdGFncy9qdWxpdXM6IiBvdXQKIAkpCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FsdGVybmF0ZSBvYmplY3RzIGFyZSBjb3JyZWN0bHkgYmxhbWVkJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgYWx0LmdpdCAuZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzIiAmJgorCW5hbWU9JCh0ZXN0X29pZCBudW1lcmljKSAmJgorCXBhdGg9JCh0ZXN0X29pZF90b19wYXRoICIkbmFtZSIpICYmCiAJZ2l0IGluaXQgLS1iYXJlIGFsdC5naXQgJiYKIAllY2hvICIuLi8uLi9hbHQuZ2l0L29iamVjdHMiID4uZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzICYmCi0JbWtkaXIgYWx0LmdpdC9vYmplY3RzLzEyICYmCi0JPmFsdC5naXQvb2JqZWN0cy8xMi8zNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCAmJgorCW1rZGlyIGFsdC5naXQvb2JqZWN0cy8kKGRpcm5hbWUgJHBhdGgpICYmCisJPmFsdC5naXQvb2JqZWN0cy8kKGRpcm5hbWUgJHBhdGgpLyQoYmFzZW5hbWUgJHBhdGgpICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZzY2sgPm91dCAyPiYxICYmCi0JZ3JlcCBhbHQuZ2l0IG91dAorCXRlc3RfaTE4bmdyZXAgYWx0LmdpdCBvdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZnNjayBlcnJvcnMgaW4gcGFja2VkIG9iamVjdHMnICcKQEAgLTY2MCw4ICs2NDgsOCBAQAogCXJlbW92ZV9vYmplY3QgJG9uZSAmJgogCXJlbW92ZV9vYmplY3QgJHR3byAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBmc2NrIDI+b3V0ICYmCi0JZ3JlcCAiZXJyb3IgaW4gY29tbWl0ICRvbmUuKiAtIGJhZCBuYW1lIiBvdXQgJiYKLQlncmVwICJlcnJvciBpbiBjb21taXQgJHR3by4qIC0gYmFkIG5hbWUiIG91dCAmJgorCXRlc3RfaTE4bmdyZXAgImVycm9yIGluIGNvbW1pdCAkb25lLiogLSBiYWQgbmFtZSIgb3V0ICYmCisJdGVzdF9pMThuZ3JlcCAiZXJyb3IgaW4gY29tbWl0ICR0d28uKiAtIGJhZCBuYW1lIiBvdXQgJiYKIAkhIGdyZXAgY29ycnVwdCBvdXQKICcKIApAQCAtNzQxLDcgKzcyOSw3IEBACiAjIGZvciBlYWNoIG9mIHR5cGUsIHdlIGhhdmUgb25lIHZlcnNpb24gd2hpY2ggaXMgcmVmZXJlbmNlZCBieSBhbm90aGVyIG9iamVjdAogIyAoYW5kIHNvIHdoaWxlIHVucmVhY2hhYmxlLCBub3QgZGFuZ2xpbmcpLCBhbmQgYW5vdGhlciB2YXJpYW50IHdoaWNoIHJlYWxseSBpcwogIyBkYW5nbGluZy4KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZzY2sgbm90aWNlcyBkYW5nbGluZyBvYmplY3RzJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgZGFuZ2xpbmctb2JqZWN0IHJlcG9zaXRvcnknICcKIAlnaXQgaW5pdCBkYW5nbGluZyAmJgogCSgKIAkJY2QgZGFuZ2xpbmcgJiYKQEAgLTc1MiwxNiArNzQwLDMxIEBACiAJCWNvbW1pdD0kKGdpdCBjb21taXQtdHJlZSAkdHJlZSkgJiYKIAkJZGNvbW1pdD0kKGdpdCBjb21taXQtdHJlZSAtcCAkY29tbWl0ICR0cmVlKSAmJgogCi0JCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCQljYXQgPmV4cGVjdCA8PC1FT0YKIAkJZGFuZ2xpbmcgYmxvYiAkZGJsb2IKIAkJZGFuZ2xpbmcgY29tbWl0ICRkY29tbWl0CiAJCWRhbmdsaW5nIHRyZWUgJGR0cmVlCiAJCUVPRgorCSkKKycKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZnNjayBub3RpY2VzIGRhbmdsaW5nIG9iamVjdHMnICcKKwkoCisJCWNkIGRhbmdsaW5nICYmCiAJCWdpdCBmc2NrID5hY3R1YWwgJiYKIAkJIyB0aGUgb3V0cHV0IG9yZGVyIGlzIG5vbi1kZXRlcm1pbmlzdGljLCBhcyBpdCBjb21lcyBmcm9tIGEgaGFzaAogCQlzb3J0IDxhY3R1YWwgPmFjdHVhbC5zb3J0ZWQgJiYKLQkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbC5zb3J0ZWQKKwkJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwuc29ydGVkCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmc2NrIC0tY29ubmVjdGl2aXR5LW9ubHkgbm90aWNlcyBkYW5nbGluZyBvYmplY3RzJyAnCisJKAorCQljZCBkYW5nbGluZyAmJgorCQlnaXQgZnNjayAtLWNvbm5lY3Rpdml0eS1vbmx5ID5hY3R1YWwgJiYKKwkJIyB0aGUgb3V0cHV0IG9yZGVyIGlzIG5vbi1kZXRlcm1pbmlzdGljLCBhcyBpdCBjb21lcyBmcm9tIGEgaGFzaAorCQlzb3J0IDxhY3R1YWwgPmFjdHVhbC5zb3J0ZWQgJiYKKwkJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwuc29ydGVkCiAJKQogJwogCkBAIC04MDksNyArODEyLDcgQEAKIAl0ZXN0X3doZW5fZmluaXNoZWQgIm12IC5naXQvaW5kZXguYmFja3VwIC5naXQvaW5kZXgiICYmCiAJY29ycnVwdF9pbmRleF9jaGVja3N1bSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBmc2NrIC0tY2FjaGUgMj5lcnJvcnMgJiYKLQlncmVwICJiYWQgaW5kZXggZmlsZSIgZXJyb3JzCisJdGVzdF9pMThuZ3JlcCAiYmFkIGluZGV4IGZpbGUiIGVycm9ycwogJwogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDE1MDAtcmV2LXBhcnNlLnNoIGIvdC90MTUwMC1yZXYtcGFyc2Uuc2gKaW5kZXggMDFhYmVlNS4uNjAzMDE5YiAxMDA3NTUKLS0tIGEvdC90MTUwMC1yZXYtcGFyc2Uuc2gKKysrIGIvdC90MTUwMC1yZXYtcGFyc2Uuc2gKQEAgLTU5LDYgKzU5LDcgQEAKIFJPT1Q9JChwd2QpCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJdGVzdF9vaWRfaW5pdCAmJgogCW1rZGlyIC1wIHN1Yi9kaXIgd29yayAmJgogCWNwIC1SIC5naXQgcmVwby5naXQKICcKQEAgLTEzMSw2ICsxMzIsMzAgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jldi1wYXJzZSAtLXNob3ctb2JqZWN0LWZvcm1hdCBpbiByZXBvJyAnCisJZWNobyAiJCh0ZXN0X29pZCBhbGdvKSIgPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgLS1zaG93LW9iamVjdC1mb3JtYXQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgcmV2LXBhcnNlIC0tc2hvdy1vYmplY3QtZm9ybWF0PXN0b3JhZ2UgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgcmV2LXBhcnNlIC0tc2hvdy1vYmplY3QtZm9ybWF0PWlucHV0ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IHJldi1wYXJzZSAtLXNob3ctb2JqZWN0LWZvcm1hdD1vdXRwdXQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tc2hvdy1vYmplY3QtZm9ybWF0PXNxdWVhbWlzaC1vc3NpZnJhZ2UgMj5lcnIgJiYKKwlncmVwICJ1bmtub3duIG1vZGUgZm9yIC0tc2hvdy1vYmplY3QtZm9ybWF0OiBzcXVlYW1pc2gtb3NzaWZyYWdlIiBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1zaG93LXRvcGxldmVsIGZyb20gc3ViZGlyIG9mIHdvcmtpbmcgdHJlZScgJworCXB3ZCA+ZXhwZWN0ICYmCisJZ2l0IC1DIHN1Yi9kaXIgcmV2LXBhcnNlIC0tc2hvdy10b3BsZXZlbCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXNob3ctdG9wbGV2ZWwgZnJvbSBpbnNpZGUgLmdpdCcgJworCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyAuZ2l0IHJldi1wYXJzZSAtLXNob3ctdG9wbGV2ZWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hvd2luZyB0aGUgc3VwZXJwcm9qZWN0IGNvcnJlY3RseScgJwogCWdpdCByZXYtcGFyc2UgLS1zaG93LXN1cGVycHJvamVjdC13b3JraW5nLXRyZWUgPm91dCAmJgogCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXQgJiYKZGlmZiAtLWdpdCBhL3QvdDE1MDEtd29yay10cmVlLnNoIGIvdC90MTUwMS13b3JrLXRyZWUuc2gKaW5kZXggMzQ5OGQzZC4uYjc1NTU4MCAxMDA3NTUKLS0tIGEvdC90MTUwMS13b3JrLXRyZWUuc2gKKysrIGIvdC90MTUwMS13b3JrLXRyZWUuc2gKQEAgLTM1MCw3ICszNTAsNyBAQAogCW1rZGlyIHdvcmsgJiYKIAlta2RpciAtcCByZXBvLmdpdC9yZXBvcy9mb28gJiYKIAljcCByZXBvLmdpdC9IRUFEIHJlcG8uZ2l0L2luZGV4IHJlcG8uZ2l0L3JlcG9zL2ZvbyAmJgotCXRlc3RfbWlnaHRfZmFpbCBjcCByZXBvLmdpdC9zaGFyZWRpbmRleC4qIHJlcG8uZ2l0L3JlcG9zL2ZvbyAmJgorCXsgY3AgcmVwby5naXQvc2hhcmVkaW5kZXguKiByZXBvLmdpdC9yZXBvcy9mb28gfHwgOjsgfSAmJgogCXNhbmVfdW5zZXQgR0lUX0RJUiBHSVRfQ09ORklHIEdJVF9XT1JLX1RSRUUKICcKIApkaWZmIC0tZ2l0IGEvdC90MTUwNi1yZXYtcGFyc2UtZGlhZ25vc2lzLnNoIGIvdC90MTUwNi1yZXYtcGFyc2UtZGlhZ25vc2lzLnNoCmluZGV4IDRlZTAwOWQuLjUyZWRjYmQgMTAwNzU1Ci0tLSBhL3QvdDE1MDYtcmV2LXBhcnNlLWRpYWdub3Npcy5zaAorKysgYi90L3QxNTA2LXJldi1wYXJzZS1kaWFnbm9zaXMuc2gKQEAgLTgsMTIgKzgsMTEgQEAKIAogdGVzdF9kaWRfeW91X21lYW4gKCkKIHsKLQlzcT0iJyIgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCWZhdGFsOiBQYXRoICckMiQzJyAkNCwgYnV0IG5vdCAkezU6LSRzcSQzJHNxfS4KLQlEaWQgeW91IG1lYW4gJyQxOiQyJDMnJHsyOisgYWthICRzcSQxOi4vJDMkc3F9PworCWZhdGFsOiBwYXRoICckMiQzJyAkNCwgYnV0IG5vdCAkezU6LSRTUSQzJFNRfQorCWhpbnQ6IERpZCB5b3UgbWVhbiAnJDE6JDIkMyckezI6KyBha2EgJFNRJDE6Li8kMyRTUX0/CiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgZXJyb3IKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgZXJyb3IKIH0KIAogSEFTSF9maWxlPQpAQCAtMTA0LDY2ICsxMDMsNjYgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5jb3JyZWN0IHJldmlzaW9uIGlkJyAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBmb29iYXI6ZmlsZS50eHQgMj5lcnJvciAmJgotCWdyZXAgIkludmFsaWQgb2JqZWN0IG5hbWUgJyInIidmb29iYXInIiciJy4iIGVycm9yICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBmb29iYXIgMj4gZXJyb3IgJiYKKwl0ZXN0X2kxOG5ncmVwICJpbnZhbGlkIG9iamVjdCBuYW1lIC5mb29iYXIuIiBlcnJvciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgZm9vYmFyIDI+ZXJyb3IgJiYKIAl0ZXN0X2kxOG5ncmVwICJ1bmtub3duIHJldmlzaW9uIG9yIHBhdGggbm90IGluIHRoZSB3b3JraW5nIHRyZWUuIiBlcnJvcgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbmNvcnJlY3QgZmlsZSBpbiBzaGExOnBhdGgnICcKLQl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIEhFQUQ6bm90aGluZy50eHQgMj4gZXJyb3IgJiYKLQlncmVwICJmYXRhbDogUGF0aCAnIiciJ25vdGhpbmcudHh0JyInIicgZG9lcyBub3QgZXhpc3QgaW4gJyInIidIRUFEJyInIiciIGVycm9yICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBIRUFEOmluZGV4LW9ubHkudHh0IDI+IGVycm9yICYmCi0JZ3JlcCAiZmF0YWw6IFBhdGggJyInIidpbmRleC1vbmx5LnR4dCciJyInIGV4aXN0cyBvbiBkaXNrLCBidXQgbm90IGluICciJyInSEVBRCciJyInLiIgZXJyb3IgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIEhFQUQ6bm90aGluZy50eHQgMj5lcnJvciAmJgorCXRlc3RfaTE4bmdyZXAgInBhdGggLm5vdGhpbmcudHh0LiBkb2VzIG5vdCBleGlzdCBpbiAuSEVBRC4iIGVycm9yICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBIRUFEOmluZGV4LW9ubHkudHh0IDI+ZXJyb3IgJiYKKwl0ZXN0X2kxOG5ncmVwICJwYXRoIC5pbmRleC1vbmx5LnR4dC4gZXhpc3RzIG9uIGRpc2ssIGJ1dCBub3QgaW4gLkhFQUQuIiBlcnJvciAmJgogCShjZCBzdWJkaXIgJiYKLQkgdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBIRUFEOmZpbGUyLnR4dCAyPiBlcnJvciAmJgorCSB0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIEhFQUQ6ZmlsZTIudHh0IDI+ZXJyb3IgJiYKIAkgdGVzdF9kaWRfeW91X21lYW4gSEVBRCBzdWJkaXIvIGZpbGUyLnR4dCBleGlzdHMgKQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbmNvcnJlY3QgZmlsZSBpbiA6cGF0aCBhbmQgOk46cGF0aCcgJwotCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgOm5vdGhpbmcudHh0IDI+IGVycm9yICYmCi0JZ3JlcCAiZmF0YWw6IFBhdGggJyInIidub3RoaW5nLnR4dCciJyInIGRvZXMgbm90IGV4aXN0IChuZWl0aGVyIG9uIGRpc2sgbm9yIGluIHRoZSBpbmRleCkuIiBlcnJvciAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgOjE6bm90aGluZy50eHQgMj4gZXJyb3IgJiYKLQlncmVwICJQYXRoICciJyInbm90aGluZy50eHQnIiciJyBkb2VzIG5vdCBleGlzdCAobmVpdGhlciBvbiBkaXNrIG5vciBpbiB0aGUgaW5kZXgpLiIgZXJyb3IgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIDoxOmZpbGUudHh0IDI+IGVycm9yICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSA6bm90aGluZy50eHQgMj5lcnJvciAmJgorCXRlc3RfaTE4bmdyZXAgInBhdGggLm5vdGhpbmcudHh0LiBkb2VzIG5vdCBleGlzdCAobmVpdGhlciBvbiBkaXNrIG5vciBpbiB0aGUgaW5kZXgpIiBlcnJvciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgOjE6bm90aGluZy50eHQgMj5lcnJvciAmJgorCXRlc3RfaTE4bmdyZXAgInBhdGggLm5vdGhpbmcudHh0LiBkb2VzIG5vdCBleGlzdCAobmVpdGhlciBvbiBkaXNrIG5vciBpbiB0aGUgaW5kZXgpIiBlcnJvciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgOjE6ZmlsZS50eHQgMj5lcnJvciAmJgogCXRlc3RfZGlkX3lvdV9tZWFuICI6MCIgIiIgZmlsZS50eHQgImlzIGluIHRoZSBpbmRleCIgImF0IHN0YWdlIDEiICYmCiAJKGNkIHN1YmRpciAmJgotCSB0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIDoxOmZpbGUudHh0IDI+IGVycm9yICYmCisJIHRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgOjE6ZmlsZS50eHQgMj5lcnJvciAmJgogCSB0ZXN0X2RpZF95b3VfbWVhbiAiOjAiICIiIGZpbGUudHh0ICJpcyBpbiB0aGUgaW5kZXgiICJhdCBzdGFnZSAxIiAmJgotCSB0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIDpmaWxlMi50eHQgMj4gZXJyb3IgJiYKKwkgdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSA6ZmlsZTIudHh0IDI+ZXJyb3IgJiYKIAkgdGVzdF9kaWRfeW91X21lYW4gIjowIiBzdWJkaXIvIGZpbGUyLnR4dCAiaXMgaW4gdGhlIGluZGV4IiAmJgotCSB0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIDoyOmZpbGUyLnR4dCAyPiBlcnJvciAmJgorCSB0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIDoyOmZpbGUyLnR4dCAyPmVycm9yICYmCiAJIHRlc3RfZGlkX3lvdV9tZWFuIDowIHN1YmRpci8gZmlsZTIudHh0ICJpcyBpbiB0aGUgaW5kZXgiKSAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgOmRpc2stb25seS50eHQgMj4gZXJyb3IgJiYKLQlncmVwICJmYXRhbDogUGF0aCAnIiciJ2Rpc2stb25seS50eHQnIiciJyBleGlzdHMgb24gZGlzaywgYnV0IG5vdCBpbiB0aGUgaW5kZXguIiBlcnJvcgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgOmRpc2stb25seS50eHQgMj5lcnJvciAmJgorCXRlc3RfaTE4bmdyZXAgInBhdGggLmRpc2stb25seS50eHQuIGV4aXN0cyBvbiBkaXNrLCBidXQgbm90IGluIHRoZSBpbmRleCIgZXJyb3IKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnaW52YWxpZCBAe259IHJlZmVyZW5jZScgJwogCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgbWFzdGVyQHs5OTk5OX0gPm91dHB1dCAyPmVycm9yICYmCi0JdGVzdCAteiAiJChjYXQgb3V0cHV0KSIgJiYKLQlncmVwICJmYXRhbDogTG9nIGZvciBbXiBdKiBvbmx5IGhhcyBbMC05XVswLTldKiBlbnRyaWVzLiIgZXJyb3IgICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IG91dHB1dCAmJgorCXRlc3RfaTE4bmdyZXAgImxvZyBmb3IgW14gXSogb25seSBoYXMgWzAtOV1bMC05XSogZW50cmllcyIgZXJyb3IgICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBtYXN0ZXJAezk5OTk5fSA+b3V0cHV0IDI+ZXJyb3IgJiYKLQl0ZXN0IC16ICIkKGNhdCBvdXRwdXQpIiAmJgotCWdyZXAgImZhdGFsOiBMb2cgZm9yIFteIF0qIG9ubHkgaGFzIFswLTldWzAtOV0qIGVudHJpZXMuIiBlcnJvcgorCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXRwdXQgJiYKKwl0ZXN0X2kxOG5ncmVwICJsb2cgZm9yIFteIF0qIG9ubHkgaGFzIFswLTldWzAtOV0qIGVudHJpZXMiIGVycm9yCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlbGF0aXZlIHBhdGggbm90IGZvdW5kJyAnCiAJKAogCQljZCBzdWJkaXIgJiYKIAkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBIRUFEOi4vbm9uZXhpc3RlbnQudHh0IDI+ZXJyb3IgJiYKLQkJZ3JlcCBzdWJkaXIvbm9uZXhpc3RlbnQudHh0IGVycm9yCisJCXRlc3RfaTE4bmdyZXAgc3ViZGlyL25vbmV4aXN0ZW50LnR4dCBlcnJvcgogCSkKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVsYXRpdmUgcGF0aCBvdXRzaWRlIHdvcmt0cmVlJyAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBIRUFEOi4uL2ZpbGUudHh0ID5vdXRwdXQgMj5lcnJvciAmJgotCXRlc3QgLXogIiQoY2F0IG91dHB1dCkiICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IG91dHB1dCAmJgogCXRlc3RfaTE4bmdyZXAgIm91dHNpZGUgcmVwb3NpdG9yeSIgZXJyb3IKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVsYXRpdmUgcGF0aCB3aGVuIGN3ZCBpcyBvdXRzaWRlIHdvcmt0cmVlJyAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IC0tZ2l0LWRpcj0uZ2l0IC0td29yay10cmVlPXN1YmRpciByZXYtcGFyc2UgSEVBRDouL2ZpbGUudHh0ID5vdXRwdXQgMj5lcnJvciAmJgotCXRlc3QgLXogIiQoY2F0IG91dHB1dCkiICYmCi0JZ3JlcCAicmVsYXRpdmUgcGF0aCBzeW50YXggY2FuLnQgYmUgdXNlZCBvdXRzaWRlIHdvcmtpbmcgdHJlZS4iIGVycm9yCisJdGVzdF9tdXN0X2JlX2VtcHR5IG91dHB1dCAmJgorCXRlc3RfaTE4bmdyZXAgInJlbGF0aXZlIHBhdGggc3ludGF4IGNhbi50IGJlIHVzZWQgb3V0c2lkZSB3b3JraW5nIHRyZWUiIGVycm9yCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzxjb21taXQ+OmZpbGUgY29ycmVjdGx5IGRpYWdub3NlZCBhZnRlciBhIHBhdGhuYW1lJyAnCkBAIC0yMTUsNCArMjE0LDI2IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWplY3QgTnRoIHBhcmVudCBpZiBOIGlzIHRvbyBoaWdoJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBIRUFEXjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWplY3QgTnRoIGFuY2VzdG9yIGlmIE4gaXMgdG9vIGhpZ2gnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIEhFQUR+MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhdGhzcGVjcyB3aXRoIHdpbGRjYXJkcyBhcmUgbm90IGFtYmlndW91cycgJworCWVjaG8gIiouYyIgPmV4cGVjdCAmJgorCWdpdCByZXYtcGFyc2UgIiouYyIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmFja3NsYXNoIGRvZXMgbm90IHRyaWdnZXIgd2lsZGNhcmQgcnVsZScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgImZvb1xcYmFyIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdlc2NhcGVkIGNoYXIgZG9lcyBub3QgdHJpZ2dlciB3aWxkY2FyZCBydWxlJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAiZm9vXFwqYmFyIgorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDE1MDctcmV2LXBhcnNlLXVwc3RyZWFtLnNoIGIvdC90MTUwNy1yZXYtcGFyc2UtdXBzdHJlYW0uc2gKaW5kZXggZmEzZTQ5OS4uZGZjMGQ5NiAxMDA3NTUKLS0tIGEvdC90MTUwNy1yZXYtcGFyc2UtdXBzdHJlYW0uc2gKKysrIGIvdC90MTUwNy1yZXYtcGFyc2UtdXBzdHJlYW0uc2gKQEAgLTI4LDE2ICsyOCw5IEBACiAJKQogJwogCi1zcT0iJyIKLQotZnVsbF9uYW1lICgpIHsKLQkoY2QgY2xvbmUgJiYKLQkgZ2l0IHJldi1wYXJzZSAtLXN5bWJvbGljLWZ1bGwtbmFtZSAiJEAiKQotfQotCiBjb21taXRfc3ViamVjdCAoKSB7CiAJKGNkIGNsb25lICYmCi0JIGdpdCBzaG93IC1zIC0tcHJldHR5PWZvcm1hdDolcyAiJEAiKQorCSBnaXQgc2hvdyAtcyAtLXByZXR0eT10Zm9ybWF0OiVzICIkQCIpCiB9CiAKIGVycm9yX21lc3NhZ2UgKCkgewpAQCAtNDYsNjMgKzM5LDc4IEBACiB9CiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0B7dXBzdHJlYW19IHJlc29sdmVzIHRvIGNvcnJlY3QgZnVsbCBuYW1lJyAnCi0JdGVzdCByZWZzL3JlbW90ZXMvb3JpZ2luL21hc3RlciA9ICIkKGZ1bGxfbmFtZSBAe3Vwc3RyZWFtfSkiICYmCi0JdGVzdCByZWZzL3JlbW90ZXMvb3JpZ2luL21hc3RlciA9ICIkKGZ1bGxfbmFtZSBAe1VQU1RSRUFNfSkiICYmCi0JdGVzdCByZWZzL3JlbW90ZXMvb3JpZ2luL21hc3RlciA9ICIkKGZ1bGxfbmFtZSBAe1VwU1RSZWFtfSkiCisJZWNobyByZWZzL3JlbW90ZXMvb3JpZ2luL21hc3RlciA+ZXhwZWN0ICYmCisJZ2l0IC1DIGNsb25lIHJldi1wYXJzZSAtLXN5bWJvbGljLWZ1bGwtbmFtZSBAe3Vwc3RyZWFtfSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCAtQyBjbG9uZSByZXYtcGFyc2UgLS1zeW1ib2xpYy1mdWxsLW5hbWUgQHtVUFNUUkVBTX0gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgLUMgY2xvbmUgcmV2LXBhcnNlIC0tc3ltYm9saWMtZnVsbC1uYW1lIEB7VXBTVFJlYW19ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0B7dX0gcmVzb2x2ZXMgdG8gY29ycmVjdCBmdWxsIG5hbWUnICcKLQl0ZXN0IHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyID0gIiQoZnVsbF9uYW1lIEB7dX0pIiAmJgotCXRlc3QgcmVmcy9yZW1vdGVzL29yaWdpbi9tYXN0ZXIgPSAiJChmdWxsX25hbWUgQHtVfSkiCisJZWNobyByZWZzL3JlbW90ZXMvb3JpZ2luL21hc3RlciA+ZXhwZWN0ICYmCisJZ2l0IC1DIGNsb25lIHJldi1wYXJzZSAtLXN5bWJvbGljLWZ1bGwtbmFtZSBAe3V9ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IC1DIGNsb25lIHJldi1wYXJzZSAtLXN5bWJvbGljLWZ1bGwtbmFtZSBAe1V9ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ215LXNpZGVAe3Vwc3RyZWFtfSByZXNvbHZlcyB0byBjb3JyZWN0IGZ1bGwgbmFtZScgJwotCXRlc3QgcmVmcy9yZW1vdGVzL29yaWdpbi9zaWRlID0gIiQoZnVsbF9uYW1lIG15LXNpZGVAe3V9KSIKKwllY2hvIHJlZnMvcmVtb3Rlcy9vcmlnaW4vc2lkZSA+ZXhwZWN0ICYmCisJZ2l0IC1DIGNsb25lIHJldi1wYXJzZSAtLXN5bWJvbGljLWZ1bGwtbmFtZSBteS1zaWRlQHt1fSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd1cHN0cmVhbSBvZiBicmFuY2ggd2l0aCBAIGluIG1pZGRsZScgJwotCWZ1bGxfbmFtZSBmdW5AbnlAe3V9ID5hY3R1YWwgJiYKKwlnaXQgLUMgY2xvbmUgcmV2LXBhcnNlIC0tc3ltYm9saWMtZnVsbC1uYW1lIGZ1bkBueUB7dX0gPmFjdHVhbCAmJgogCWVjaG8gcmVmcy9yZW1vdGVzL29yaWdpbi9zaWRlID5leHBlY3QgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCi0JZnVsbF9uYW1lIGZ1bkBueUB7VX0gPmFjdHVhbCAmJgorCWdpdCAtQyBjbG9uZSByZXYtcGFyc2UgLS1zeW1ib2xpYy1mdWxsLW5hbWUgZnVuQG55QHtVfSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd1cHN0cmVhbSBvZiBicmFuY2ggd2l0aCBAIGF0IHN0YXJ0JyAnCi0JZnVsbF9uYW1lIEBmdW5ueUB7dX0gPmFjdHVhbCAmJgorCWdpdCAtQyBjbG9uZSByZXYtcGFyc2UgLS1zeW1ib2xpYy1mdWxsLW5hbWUgQGZ1bm55QHt1fSA+YWN0dWFsICYmCiAJZWNobyByZWZzL3JlbW90ZXMvb3JpZ2luL3NpZGUgPmV4cGVjdCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndXBzdHJlYW0gb2YgYnJhbmNoIHdpdGggQCBhdCBlbmQnICcKLQlmdWxsX25hbWUgZnVubnlAQHt1fSA+YWN0dWFsICYmCisJZ2l0IC1DIGNsb25lIHJldi1wYXJzZSAtLXN5bWJvbGljLWZ1bGwtbmFtZSBmdW5ueUBAe3V9ID5hY3R1YWwgJiYKIAllY2hvIHJlZnMvcmVtb3Rlcy9vcmlnaW4vc2lkZSA+ZXhwZWN0ICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWZzL2hlYWRzL215LXNpZGVAe3Vwc3RyZWFtfSBkb2VzIG5vdCByZXNvbHZlIHRvIG15LXNpZGV7dXBzdHJlYW19JyAnCi0JdGVzdF9tdXN0X2ZhaWwgZnVsbF9uYW1lIHJlZnMvaGVhZHMvbXktc2lkZUB7dXBzdHJlYW19CisJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIGNsb25lIHJldi1wYXJzZSAtLXN5bWJvbGljLWZ1bGwtbmFtZSByZWZzL2hlYWRzL215LXNpZGVAe3Vwc3RyZWFtfQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdteS1zaWRlQHt1fSByZXNvbHZlcyB0byBjb3JyZWN0IGNvbW1pdCcgJwogCWdpdCBjaGVja291dCBzaWRlICYmCiAJdGVzdF9jb21taXQgNSAmJgogCShjZCBjbG9uZSAmJiBnaXQgZmV0Y2gpICYmCi0JdGVzdCAyID0gIiQoY29tbWl0X3N1YmplY3QgbXktc2lkZSkiICYmCi0JdGVzdCA1ID0gIiQoY29tbWl0X3N1YmplY3QgbXktc2lkZUB7dX0pIgorCWVjaG8gMiA+ZXhwZWN0ICYmCisJY29tbWl0X3N1YmplY3QgbXktc2lkZSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWVjaG8gNSA+ZXhwZWN0ICYmCisJY29tbWl0X3N1YmplY3QgbXktc2lkZUB7dX0gPmFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdub3QtdHJhY2tpbmdAe3V9IGZhaWxzJyAnCi0JdGVzdF9tdXN0X2ZhaWwgZnVsbF9uYW1lIG5vbi10cmFja2luZ0B7dX0gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgY2xvbmUgcmV2LXBhcnNlIC0tc3ltYm9saWMtZnVsbC1uYW1lIG5vbi10cmFja2luZ0B7dX0gJiYKIAkoY2QgY2xvbmUgJiYgZ2l0IGNoZWNrb3V0IC0tbm8tdHJhY2sgLWIgbm9uLXRyYWNraW5nKSAmJgotCXRlc3RfbXVzdF9mYWlsIGZ1bGxfbmFtZSBub24tdHJhY2tpbmdAe3V9CisJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIGNsb25lIHJldi1wYXJzZSAtLXN5bWJvbGljLWZ1bGwtbmFtZSBub24tdHJhY2tpbmdAe3V9CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzxicmFuY2g+QHt1fUB7MX0gcmVzb2x2ZXMgY29ycmVjdGx5JyAnCiAJdGVzdF9jb21taXQgNiAmJgogCShjZCBjbG9uZSAmJiBnaXQgZmV0Y2gpICYmCi0JdGVzdCA1ID0gJChjb21taXRfc3ViamVjdCBteS1zaWRlQHt1fUB7MX0pICYmCi0JdGVzdCA1ID0gJChjb21taXRfc3ViamVjdCBteS1zaWRlQHtVfUB7MX0pCisJZWNobyA1ID5leHBlY3QgJiYKKwljb21taXRfc3ViamVjdCBteS1zaWRlQHt1fUB7MX0gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwljb21taXRfc3ViamVjdCBteS1zaWRlQHtVfUB7MX0gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnQHt1fSB3aXRob3V0IHNwZWNpZnlpbmcgYnJhbmNoIGZhaWxzIG9uIGEgZGV0YWNoZWQgSEVBRCcgJwpAQCAtMTI5LDcgKzEzNyw3IEBACiAJZ2l0IGJyYW5jaCAtdCBuZXcgbXktc2lkZUB7dX0gJiYKIAlnaXQgbWVyZ2UgLXMgb3VycyBuZXdAe3V9ICYmCiAJZ2l0IHNob3cgLXMgLS1wcmV0dHk9dGZvcm1hdDolcyA+YWN0dWFsICYmCi0JZWNobyAiTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAke3NxfW9yaWdpbi9zaWRlJHtzcX0iID5leHBlY3QgJiYKKwllY2hvICJNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICR7U1F9b3JpZ2luL3NpZGUke1NRfSIgPmV4cGVjdCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICkKICcKQEAgLTE1MSwxMiArMTU5LDE0IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JyYW5jaEB7dX0gd29ya3Mgd2hlbiB0cmFja2luZyBhIGxvY2FsIGJyYW5jaCcgJwotCXRlc3QgcmVmcy9oZWFkcy9tYXN0ZXIgPSAiJChmdWxsX25hbWUgbG9jYWwtbWFzdGVyQHt1fSkiCisJZWNobyByZWZzL2hlYWRzL21hc3RlciA+ZXhwZWN0ICYmCisJZ2l0IC1DIGNsb25lIHJldi1wYXJzZSAtLXN5bWJvbGljLWZ1bGwtbmFtZSBsb2NhbC1tYXN0ZXJAe3V9ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JyYW5jaEB7dX0gZXJyb3IgbWVzc2FnZSB3aGVuIG5vIHVwc3RyZWFtJyAnCiAJY2F0ID5leHBlY3QgPDwtRU9GICYmCi0JZmF0YWw6IG5vIHVwc3RyZWFtIGNvbmZpZ3VyZWQgZm9yIGJyYW5jaCAke3NxfW5vbi10cmFja2luZyR7c3F9CisJZmF0YWw6IG5vIHVwc3RyZWFtIGNvbmZpZ3VyZWQgZm9yIGJyYW5jaCAke1NRfW5vbi10cmFja2luZyR7U1F9CiAJRU9GCiAJZXJyb3JfbWVzc2FnZSBub24tdHJhY2tpbmdAe3V9ICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdCBlcnJvcgpAQCAtMTY0LDcgKzE3NCw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0B7dX0gZXJyb3IgbWVzc2FnZSB3aGVuIG5vIHVwc3RyZWFtJyAnCiAJY2F0ID5leHBlY3QgPDwtRU9GICYmCi0JZmF0YWw6IG5vIHVwc3RyZWFtIGNvbmZpZ3VyZWQgZm9yIGJyYW5jaCAke3NxfW1hc3RlciR7c3F9CisJZmF0YWw6IG5vIHVwc3RyZWFtIGNvbmZpZ3VyZWQgZm9yIGJyYW5jaCAke1NRfW1hc3RlciR7U1F9CiAJRU9GCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBAe3V9IDI+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwKQEAgLTE3Miw3ICsxODIsNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdicmFuY2hAe3V9IGVycm9yIG1lc3NhZ2Ugd2l0aCBtaXNzcGVsdCBicmFuY2gnICcKIAljYXQgPmV4cGVjdCA8PC1FT0YgJiYKLQlmYXRhbDogbm8gc3VjaCBicmFuY2g6ICR7c3F9bm8tc3VjaC1icmFuY2gke3NxfQorCWZhdGFsOiBubyBzdWNoIGJyYW5jaDogJHtTUX1uby1zdWNoLWJyYW5jaCR7U1F9CiAJRU9GCiAJZXJyb3JfbWVzc2FnZSBuby1zdWNoLWJyYW5jaEB7dX0gJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IGVycm9yCkBAIC0xODksNyArMTk5LDcgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYnJhbmNoQHt1fSBlcnJvciBtZXNzYWdlIGlmIHVwc3RyZWFtIGJyYW5jaCBub3QgZmV0Y2hlZCcgJwogCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgotCWZhdGFsOiB1cHN0cmVhbSBicmFuY2ggJHtzcX1yZWZzL2hlYWRzL3NpZGUke3NxfSBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaAorCWZhdGFsOiB1cHN0cmVhbSBicmFuY2ggJHtTUX1yZWZzL2hlYWRzL3NpZGUke1NRfSBub3Qgc3RvcmVkIGFzIGEgcmVtb3RlLXRyYWNraW5nIGJyYW5jaAogCUVPRgogCWVycm9yX21lc3NhZ2UgYmFkLXVwc3RyZWFtQHt1fSAmJgogCXRlc3RfaTE4bmNtcCBleHBlY3QgZXJyb3IKQEAgLTIwNSwzNSArMjE1LDM3IEBACiAKICMgbWFrZXMgc2Vuc2UgaWYgdGhlIHByZXZpb3VzIG9uZSBzdWNjZWVkZWQKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0B7dX0gd29ya3Mgd2hlbiB0cmFja2luZyBhIGxvY2FsIGJyYW5jaCcgJwotCXRlc3QgcmVmcy9oZWFkcy9tYXN0ZXIgPSAiJChmdWxsX25hbWUgQHt1fSkiCisJZWNobyByZWZzL2hlYWRzL21hc3RlciA+ZXhwZWN0ICYmCisJZ2l0IC1DIGNsb25lIHJldi1wYXJzZSAtLXN5bWJvbGljLWZ1bGwtbmFtZSBAe3V9ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKLWNvbW1pdD0kKGdpdCByZXYtcGFyc2UgSEVBRCkKLWNhdCA+ZXhwZWN0IDw8RU9GCi1jb21taXQgJGNvbW1pdAotUmVmbG9nOiBtYXN0ZXJAezB9IChDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+KQotUmVmbG9nIG1lc3NhZ2U6IGJyYW5jaDogQ3JlYXRlZCBmcm9tIEhFQUQKLUF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KLURhdGU6ICAgVGh1IEFwciA3IDE1OjE1OjEzIDIwMDUgLTA3MDAKLQotICAgIDMKLUVPRgogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC1nIG90aGVyQHt1fScgJworCWNvbW1pdD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwljb21taXQgJGNvbW1pdAorCVJlZmxvZzogbWFzdGVyQHswfSAoQyBPIE1pdHRlciA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPikKKwlSZWZsb2cgbWVzc2FnZTogYnJhbmNoOiBDcmVhdGVkIGZyb20gSEVBRAorCUF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KKwlEYXRlOiAgIFRodSBBcHIgNyAxNToxNToxMyAyMDA1IC0wNzAwCisKKwkgICAgMworCUVPRgogCWdpdCBsb2cgLTEgLWcgb3RoZXJAe3V9ID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKLWNhdCA+ZXhwZWN0IDw8RU9GCi1jb21taXQgJGNvbW1pdAotUmVmbG9nOiBtYXN0ZXJAe1RodSBBcHIgNyAxNToxNzoxMyAyMDA1IC0wNzAwfSAoQyBPIE1pdHRlciA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPikKLVJlZmxvZyBtZXNzYWdlOiBicmFuY2g6IENyZWF0ZWQgZnJvbSBIRUFECi1BdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+Ci1EYXRlOiAgIFRodSBBcHIgNyAxNToxNToxMyAyMDA1IC0wNzAwCi0KLSAgICAzCi1FT0YKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC1nIG90aGVyQHt1fUB7bm93fScgJworCWNvbW1pdD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwljb21taXQgJGNvbW1pdAorCVJlZmxvZzogbWFzdGVyQHtUaHUgQXByIDcgMTU6MTc6MTMgMjAwNSAtMDcwMH0gKEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4pCisJUmVmbG9nIG1lc3NhZ2U6IGJyYW5jaDogQ3JlYXRlZCBmcm9tIEhFQUQKKwlBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CisJRGF0ZTogICBUaHUgQXByIDcgMTU6MTU6MTMgMjAwNSAtMDcwMAorCisJICAgIDMKKwlFT0YKIAlnaXQgbG9nIC0xIC1nIG90aGVyQHt1fUB7bm93fSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwpkaWZmIC0tZ2l0IGEvdC90MTUxMi1yZXYtcGFyc2UtZGlzYW1iaWd1YXRpb24uc2ggYi90L3QxNTEyLXJldi1wYXJzZS1kaXNhbWJpZ3VhdGlvbi5zaAppbmRleCBlNGQ1YjU2Li4xOGZhNmNmIDEwMDc1NQotLS0gYS90L3QxNTEyLXJldi1wYXJzZS1kaXNhbWJpZ3VhdGlvbi5zaAorKysgYi90L3QxNTEyLXJldi1wYXJzZS1kaXNhbWJpZ3VhdGlvbi5zaApAQCAtMjgyLDcgKzI4Miw3IEBACiAJIyBjb21taXRzIGNyZWF0ZWQgYnkgY29tbWl0LXRyZWUgaW4gZWFybGllciB0ZXN0cyBzaGFyZSBhCiAJIyBkaWZmZXJlbnQgcHJlZml4LgogCWdpdCByZXYtcGFyc2UgLS1kaXNhbWJpZ3VhdGU9MDAwMDAwMDAwID5hY3R1YWwgJiYKLQl0ZXN0ICQod2MgLWwgPGFjdHVhbCkgPSAxNiAmJgorCXRlc3RfbGluZV9jb3VudCA9IDE2IGFjdHVhbCAmJgogCXRlc3QgIiQoc2VkIC1lICJzL15cKC4uLi4uLi4uLlwpLiovXDEvIiBhY3R1YWwgfCBzb3J0IC11KSIgPSAwMDAwMDAwMDAKICcKIApAQCAtMzM5LDcgKzMzOSw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzIENfTE9DQUxFX09VVFBVVCAnYW1iaWd1aXR5IGhpbnRzIHJlc3BlY3QgdHlwZScgJwogCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgMDAwMDAwMDAwXntjb21taXR9IDI+c3RkZXJyICYmCiAJZ3JlcCBeaGludDogc3RkZXJyID5oaW50cyAmJgotCSMgNSBjb21taXRzLCAxIHRhZyAod2hpY2ggaXMgYSBjb21taXRpc2gpLCBwbHVzIGludHJvIGxpbmUKKwkjIDUgY29tbWl0cywgMSB0YWcgKHdoaWNoIGlzIGEgY29tbWl0dGlzaCksIHBsdXMgaW50cm8gbGluZQogCXRlc3RfbGluZV9jb3VudCA9IDcgaGludHMKICcKIApAQCAtMzg4LDQgKzM4OCwxNCBAQAogCWRvbmUKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2F0LWZpbGUgLS1iYXRjaCBhbmQgLS1iYXRjaC1jaGVjayBzaG93IGFtYmlndW91cycgJworCWVjaG8gIjAwMDAgYW1iaWd1b3VzIiA+ZXhwZWN0ICYmCisJZWNobyAwMDAwIHwgZ2l0IGNhdC1maWxlIC0tYmF0Y2gtY2hlY2sgPmFjdHVhbCAyPmVyciAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwl0ZXN0X2kxOG5ncmVwIGhpbnQ6IGVyciAmJgorCWVjaG8gMDAwMCB8IGdpdCBjYXQtZmlsZSAtLWJhdGNoID5hY3R1YWwgMj5lcnIgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJdGVzdF9pMThuZ3JlcCBoaW50OiBlcnIKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QxNjAwLWluZGV4LnNoIGIvdC90MTYwMC1pbmRleC5zaAppbmRleCA0Mjk2MmVkLi5iN2MzMWFhIDEwMDc1NQotLS0gYS90L3QxNjAwLWluZGV4LnNoCisrKyBiL3QvdDE2MDAtaW5kZXguc2gKQEAgLTU5LDE3ICs1OSw0MiBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnR0lUX0lOREVYX1ZFUlNJT04gdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGNvbmZpZycgJwordGVzdF9pbmRleF92ZXJzaW9uICgpIHsKKwlJTkRFWF9WRVJTSU9OX0NPTkZJRz0kMSAmJgorCUZFQVRVUkVfTUFOWV9GSUxFUz0kMiAmJgorCUVOVl9WQVJfVkVSU0lPTj0kMworCUVYUEVDVEVEX09VVFBVVF9WRVJTSU9OPSQ0ICYmCiAJKAogCQlybSAtZiAuZ2l0L2luZGV4ICYmCi0JCUdJVF9JTkRFWF9WRVJTSU9OPTQgJiYKLQkJZXhwb3J0IEdJVF9JTkRFWF9WRVJTSU9OICYmCi0JCWdpdCBjb25maWcgLS1hZGQgaW5kZXgudmVyc2lvbiAyICYmCisJCXJtIC1mIC5naXQvY29uZmlnICYmCisJCWlmIHRlc3QgIiRJTkRFWF9WRVJTSU9OX0NPTkZJRyIgLW5lIDAKKwkJdGhlbgorCQkJZ2l0IGNvbmZpZyAtLWFkZCBpbmRleC52ZXJzaW9uICRJTkRFWF9WRVJTSU9OX0NPTkZJRworCQlmaSAmJgorCQlnaXQgY29uZmlnIC0tYWRkIGZlYXR1cmUubWFueUZpbGVzICRGRUFUVVJFX01BTllfRklMRVMKKwkJaWYgdGVzdCAiJEVOVl9WQVJfVkVSU0lPTiIgLW5lIDAKKwkJdGhlbgorCQkJR0lUX0lOREVYX1ZFUlNJT049JEVOVl9WQVJfVkVSU0lPTiAmJgorCQkJZXhwb3J0IEdJVF9JTkRFWF9WRVJTSU9OCisJCWVsc2UKKwkJCXVuc2V0IEdJVF9JTkRFWF9WRVJTSU9OCisJCWZpICYmCiAJCWdpdCBhZGQgYSAyPiYxICYmCi0JCWVjaG8gNCA+ZXhwZWN0ICYmCisJCWVjaG8gJEVYUEVDVEVEX09VVFBVVF9WRVJTSU9OID5leHBlY3QgJiYKIAkJdGVzdC10b29sIGluZGV4LXZlcnNpb24gPC5naXQvaW5kZXggPmFjdHVhbCAmJgogCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAJKQorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbmRleCB2ZXJzaW9uIGNvbmZpZyBwcmVjZWRlbmNlJyAnCisJdGVzdF9pbmRleF92ZXJzaW9uIDAgZmFsc2UgMCAyICYmCisJdGVzdF9pbmRleF92ZXJzaW9uIDIgZmFsc2UgMCAyICYmCisJdGVzdF9pbmRleF92ZXJzaW9uIDMgZmFsc2UgMCAyICYmCisJdGVzdF9pbmRleF92ZXJzaW9uIDQgZmFsc2UgMCA0ICYmCisJdGVzdF9pbmRleF92ZXJzaW9uIDIgZmFsc2UgNCA0ICYmCisJdGVzdF9pbmRleF92ZXJzaW9uIDIgdHJ1ZSAwIDIgJiYKKwl0ZXN0X2luZGV4X3ZlcnNpb24gMCB0cnVlIDAgNCAmJgorCXRlc3RfaW5kZXhfdmVyc2lvbiAwIHRydWUgMiAyCiAnCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MTcwMC1zcGxpdC1pbmRleC5zaCBiL3QvdDE3MDAtc3BsaXQtaW5kZXguc2gKaW5kZXggNDY2N2UxYS4uMTJhNTU2OCAxMDA3NTUKLS0tIGEvdC90MTcwMC1zcGxpdC1pbmRleC5zaAorKysgYi90L3QxNzAwLXNwbGl0LWluZGV4LnNoCkBAIC0yMCw2ICsyMCwyMiBAQAogCXRlc3QtdG9vbCBjaG10aW1lID0tNSAiJDEiCiB9CiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJdGVzdF9vaWRfY2FjaGUgPDwtRU9GCisJb3duX3YzIHNoYTE6ODI5OWIwYmNkMWFjMzY0ZTVmMWQ3NzY4ZWZiNjJmYTJkYTc5YTMzOQorCW93bl92MyBzaGEyNTY6MzhhNmQyOTI1ZTNlY2VlYzMzYWQ3YjM0Y2JmZjRlMDA4NmNhYTBkYWYyOGYzMWU1MWY1YmQ5NGI0YTdhZjg2YgorCisJYmFzZV92MyBzaGExOjM5ZDg5MDEzOWVlNTM1NmM3ZWY1NzIyMTZjZWJjZDI3YWE0MWY5ZGYKKwliYXNlX3YzIHNoYTI1NjpjOWJhZWFkZjkwNTExMmJmNmMxN2FlZmJkN2QwMjI2N2FmZDcwZGVkNjEzYzMwY2FmZWQyZDQwY2I1MDZlMWVkCisKKwlvd25fdjQgc2hhMTo0MzJlZjRiNjNmMzIxOTM5ODRmMzM5NDMxZmQ1MGNhNzk2NDkzNTY5CisJb3duX3Y0IHNoYTI1Njo2NzM4YWM2MzE5YzI1YjY5NGFmYTdiY2MzMTNkZWIxODJkMWE1OWI2OGJmN2E0N2I0Mjk2ZGU4MzQ3OGMwNDIwCisKKwliYXNlX3Y0IHNoYTE6NTA4ODUxYTdmMGRmYTg2OTFlOWY2OWM3ZjA1NTg2NTM4OTAxMjQ5MQorCWJhc2VfdjQgc2hhMjU2OjMxNzdkNGFkZmRkNGI2OTA0ZjdlOTIxZDkxZDcxNWE0NzFjMGRkZTdjZjZhNGJiYTU3NDkyN2YwMmI2OTk1MDgKKwlFT0YKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZW5hYmxlIHNwbGl0IGluZGV4JyAnCiAJZ2l0IGNvbmZpZyBzcGxpdEluZGV4Lm1heFBlcmNlbnRDaGFuZ2UgMTAwICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCAtLXNwbGl0LWluZGV4ICYmCkBAIC0yOSwxMSArNDUsMTEgQEAKIAkjIE5FRURTV09SSzogU3RvcCBoYXJkLWNvZGluZyBjaGVja3N1bXMuCiAJaWYgdGVzdCAiJGluZGV4dmVyc2lvbiIgPSAiNCIKIAl0aGVuCi0JCW93bj00MzJlZjRiNjNmMzIxOTM5ODRmMzM5NDMxZmQ1MGNhNzk2NDkzNTY5Ci0JCWJhc2U9NTA4ODUxYTdmMGRmYTg2OTFlOWY2OWM3ZjA1NTg2NTM4OTAxMjQ5MQorCQlvd249JCh0ZXN0X29pZCBvd25fdjQpCisJCWJhc2U9JCh0ZXN0X29pZCBiYXNlX3Y0KQogCWVsc2UKLQkJb3duPTgyOTliMGJjZDFhYzM2NGU1ZjFkNzc2OGVmYjYyZmEyZGE3OWEzMzkKLQkJYmFzZT0zOWQ4OTAxMzllZTUzNTZjN2VmNTcyMjE2Y2ViY2QyN2FhNDFmOWRmCisJCW93bj0kKHRlc3Rfb2lkIG93bl92MykKKwkJYmFzZT0kKHRlc3Rfb2lkIGJhc2VfdjMpCiAJZmkgJiYKIAogCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgpAQCAtOTksMTcgKzExNSwxOCBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtb2RpZnkgb3JpZ2luYWwgZmlsZSwgYmFzZSBpbmRleCB1bnRvdWNoZWQnICcKIAllY2hvIG1vZGlmaWVkIHwgY3JlYXRlX25vbl9yYWN5X2ZpbGUgb25lICYmCisJZmlsZTFfYmxvYj0kKGdpdCBoYXNoLW9iamVjdCBvbmUpICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCBvbmUgJiYKIAlnaXQgbHMtZmlsZXMgLS1zdGFnZSA+bHMtZmlsZXMuYWN0dWFsICYmCiAJY2F0ID5scy1maWxlcy5leHBlY3QgPDwtRU9GICYmCi0JMTAwNjQ0IDJlMDk5NjAwMGI3ZTkwMTllYWJjYWQyOTM5MWJmMGY1Yzc3MDJmMGIgMAlvbmUKKwkxMDA2NDQgJGZpbGUxX2Jsb2IgMAlvbmUKIAlFT0YKIAl0ZXN0X2NtcCBscy1maWxlcy5leHBlY3QgbHMtZmlsZXMuYWN0dWFsICYmCiAKIAl0ZXN0LXRvb2wgZHVtcC1zcGxpdC1pbmRleCAuZ2l0L2luZGV4IHwgc2VkICIvXm93bi9kIiA+YWN0dWFsICYmCiAJcV90b190YWIgPmV4cGVjdCA8PC1FT0YgJiYKIAkkQkFTRQotCTEwMDY0NCAyZTA5OTYwMDBiN2U5MDE5ZWFiY2FkMjkzOTFiZjBmNWM3NzAyZjBiIDBRCisJMTAwNjQ0ICRmaWxlMV9ibG9iIDBRCiAJcmVwbGFjZW1lbnRzOiAwCiAJZGVsZXRpb25zOgogCUVPRgpAQCAtMTIxLDcgKzEzOCw3IEBACiAJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCB0d28gJiYKIAlnaXQgbHMtZmlsZXMgLS1zdGFnZSA+bHMtZmlsZXMuYWN0dWFsICYmCiAJY2F0ID5scy1maWxlcy5leHBlY3QgPDwtRU9GICYmCi0JMTAwNjQ0IDJlMDk5NjAwMGI3ZTkwMTllYWJjYWQyOTM5MWJmMGY1Yzc3MDJmMGIgMAlvbmUKKwkxMDA2NDQgJGZpbGUxX2Jsb2IgMAlvbmUKIAkxMDA2NDQgJEVNUFRZX0JMT0IgMAl0d28KIAlFT0YKIAl0ZXN0X2NtcCBscy1maWxlcy5leHBlY3QgbHMtZmlsZXMuYWN0dWFsICYmCkBAIC0xMjksNyArMTQ2LDcgQEAKIAl0ZXN0LXRvb2wgZHVtcC1zcGxpdC1pbmRleCAuZ2l0L2luZGV4IHwgc2VkICIvXm93bi9kIiA+YWN0dWFsICYmCiAJcV90b190YWIgPmV4cGVjdCA8PC1FT0YgJiYKIAkkQkFTRQotCTEwMDY0NCAyZTA5OTYwMDBiN2U5MDE5ZWFiY2FkMjkzOTFiZjBmNWM3NzAyZjBiIDBRCisJMTAwNjQ0ICRmaWxlMV9ibG9iIDBRCiAJMTAwNjQ0ICRFTVBUWV9CTE9CIDAJdHdvCiAJcmVwbGFjZW1lbnRzOiAwCiAJZGVsZXRpb25zOgpAQCAtMTQxLDE0ICsxNTgsMTQgQEAKIAlnaXQgdXBkYXRlLWluZGV4IC0tZm9yY2UtcmVtb3ZlIHR3byAmJgogCWdpdCBscy1maWxlcyAtLXN0YWdlID5scy1maWxlcy5hY3R1YWwgJiYKIAljYXQgPmxzLWZpbGVzLmV4cGVjdCA8PC1FT0YgJiYKLQkxMDA2NDQgMmUwOTk2MDAwYjdlOTAxOWVhYmNhZDI5MzkxYmYwZjVjNzcwMmYwYiAwCW9uZQorCTEwMDY0NCAkZmlsZTFfYmxvYiAwCW9uZQogCUVPRgogCXRlc3RfY21wIGxzLWZpbGVzLmV4cGVjdCBscy1maWxlcy5hY3R1YWwgJiYKIAogCXRlc3QtdG9vbCBkdW1wLXNwbGl0LWluZGV4IC5naXQvaW5kZXggfCBzZWQgIi9eb3duL2QiID5hY3R1YWwgJiYKIAlxX3RvX3RhYiA+ZXhwZWN0IDw8LUVPRiAmJgogCSRCQVNFCi0JMTAwNjQ0IDJlMDk5NjAwMGI3ZTkwMTllYWJjYWQyOTM5MWJmMGY1Yzc3MDJmMGIgMFEKKwkxMDA2NDQgJGZpbGUxX2Jsb2IgMFEKIAlyZXBsYWNlbWVudHM6IDAKIAlkZWxldGlvbnM6CiAJRU9GCkBAIC0yMzcsOSArMjU0LDkgQEAKIAlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIHRocmVlICYmCiAJZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgPmxzLWZpbGVzLmFjdHVhbCAmJgogCWNhdCA+bHMtZmlsZXMuZXhwZWN0IDw8LUVPRiAmJgotCTEwMDY0NCBlNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxIDAJb25lCi0JMTAwNjQ0IGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEgMAl0aHJlZQotCTEwMDY0NCBlNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxIDAJdHdvCisJMTAwNjQ0ICRFTVBUWV9CTE9CIDAJb25lCisJMTAwNjQ0ICRFTVBUWV9CTE9CIDAJdGhyZWUKKwkxMDA2NDQgJEVNUFRZX0JMT0IgMAl0d28KIAlFT0YKIAl0ZXN0X2NtcCBscy1maWxlcy5leHBlY3QgbHMtZmlsZXMuYWN0dWFsICYmCiAJQkFTRT0kKHRlc3QtdG9vbCBkdW1wLXNwbGl0LWluZGV4IC5naXQvaW5kZXggfCBncmVwICJeYmFzZSIpICYmCkBAIC0yNTcsOCArMjc0LDggQEAKIAlnaXQgdXBkYXRlLWluZGV4IC0tZm9yY2UtcmVtb3ZlIHRocmVlICYmCiAJZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgPmxzLWZpbGVzLmFjdHVhbCAmJgogCWNhdCA+bHMtZmlsZXMuZXhwZWN0IDw8LUVPRiAmJgotCTEwMDY0NCBlNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxIDAJb25lCi0JMTAwNjQ0IGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEgMAl0d28KKwkxMDA2NDQgJEVNUFRZX0JMT0IgMAlvbmUKKwkxMDA2NDQgJEVNUFRZX0JMT0IgMAl0d28KIAlFT0YKIAl0ZXN0X2NtcCBscy1maWxlcy5leHBlY3QgbHMtZmlsZXMuYWN0dWFsICYmCiAJdGVzdC10b29sIGR1bXAtc3BsaXQtaW5kZXggLmdpdC9pbmRleCB8IHNlZCAiL15vd24vZCIgPmFjdHVhbCAmJgpAQCAtMjg1LDcgKzMwMiw3IEBACiAJdGVzdC10b29sIGR1bXAtc3BsaXQtaW5kZXggLmdpdC9pbmRleCB8IHNlZCAiL15vd24vZCIgPmFjdHVhbCAmJgogCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgogCSRCQVNFCi0JMTAwNjQ0IGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEgMAlmb3VyCisJMTAwNjQ0ICRFTVBUWV9CTE9CIDAJZm91cgogCXJlcGxhY2VtZW50czoKIAlkZWxldGlvbnM6CiAJRU9GCkBAIC0zMDksNyArMzI2LDcgQEAKIAl0ZXN0LXRvb2wgZHVtcC1zcGxpdC1pbmRleCAuZ2l0L2luZGV4IHwgc2VkICIvXm93bi9kIiA+YWN0dWFsICYmCiAJY2F0ID5leHBlY3QgPDwtRU9GICYmCiAJJEJBU0UKLQkxMDA2NDQgZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MSAwCXNpeAorCTEwMDY0NCAkRU1QVFlfQkxPQiAwCXNpeAogCXJlcGxhY2VtZW50czoKIAlkZWxldGlvbnM6CiAJRU9GCkBAIC00NzIsNCArNDg5LDIyIEBACiAJdGVzdF9saW5lX2NvdW50ID0gMCBjYWNoZS10cmVlLm91dAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkbyBub3QgcmVmcmVzaCBudWxsIGJhc2UgaW5kZXgnICcKKwl0ZXN0X2NyZWF0ZV9yZXBvIG1lcmdlICYmCisJKAorCQljZCBtZXJnZSAmJgorCQl0ZXN0X2NvbW1pdCBpbml0aWFsICYmCisJCWdpdCBjaGVja291dCAtYiBzaWRlLWJyYW5jaCAmJgorCQl0ZXN0X2NvbW1pdCBleHRyYSAmJgorCQlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCisJCWdpdCB1cGRhdGUtaW5kZXggLS1zcGxpdC1pbmRleCAmJgorCQl0ZXN0X2NvbW1pdCBtb3JlICYmCisJCSMgbXVzdCBub3Qgd3JpdGUgYSBuZXcgc2hhcmVpbmRleCwgb3Igd2Ugd29udCBjYXRjaCB0aGUgcHJvYmxlbQorCQlnaXQgLWMgc3BsaXRJbmRleC5tYXhQZXJjZW50Q2hhbmdlPTEwMCBtZXJnZSAtLW5vLWVkaXQgc2lkZS1icmFuY2ggMj5lcnIgJiYKKwkJIyBpLmUuIGRvIG5vdCBleHBlY3Qgd2FybmluZ3MgbGlrZQorCQkjIGNvdWxkIG5vdCBmcmVzaGVuIHNoYXJlZCBpbmRleCAuLi4vc2hhcmVpbmRleC4wMDAwMC4uLgorCQl0ZXN0X211c3RfYmVfZW1wdHkgZXJyCisJKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDIwMTQtc3dpdGNoLnNoIGIvdC90MjAxNC1jaGVja291dC1zd2l0Y2guc2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHQvdDIwMTQtc3dpdGNoLnNoCnJlbmFtZSB0byB0L3QyMDE0LWNoZWNrb3V0LXN3aXRjaC5zaApkaWZmIC0tZ2l0IGEvdC90MjAxOC1jaGVja291dC1icmFuY2guc2ggYi90L3QyMDE4LWNoZWNrb3V0LWJyYW5jaC5zaAppbmRleCAyMTMxZmIyLi5iYmNhN2VmIDEwMDc1NQotLS0gYS90L3QyMDE4LWNoZWNrb3V0LWJyYW5jaC5zaAorKysgYi90L3QyMDE4LWNoZWNrb3V0LWJyYW5jaC5zaApAQCAtMSw1MCArMSw3NiBAQAogIyEvYmluL3NoCiAKLXRlc3RfZGVzY3JpcHRpb249J2NoZWNrb3V0ICcKK3Rlc3RfZGVzY3JpcHRpb249J2NoZWNrb3V0JwogCiAuIC4vdGVzdC1saWIuc2gKIAotIyBBcmd1bWVudHM6IDxicmFuY2g+IDxzaGE+IFs8Y2hlY2tvdXQgb3B0aW9ucz5dCisjIEFyZ3VtZW50czogWyFdIDxicmFuY2g+IDxvaWQ+IFs8Y2hlY2tvdXQgb3B0aW9ucz5dCiAjCiAjIFJ1bnMgImdpdCBjaGVja291dCIgdG8gc3dpdGNoIHRvIDxicmFuY2g+LCB0ZXN0aW5nIHRoYXQKICMKICMgICAxKSB3ZSBhcmUgb24gdGhlIHNwZWNpZmllZCBicmFuY2gsIDxicmFuY2g+OwotIyAgIDIpIEhFQUQgaXMgPHNoYT47IGlmIDxzaGE+IGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBvbGQgSEVBRCBpcyB1c2VkLgorIyAgIDIpIEhFQUQgaXMgPG9pZD47IGlmIDxvaWQ+IGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBvbGQgSEVBRCBpcyB1c2VkLgogIwogIyBJZiA8Y2hlY2tvdXQgb3B0aW9ucz4gaXMgbm90IHNwZWNpZmllZCwgImdpdCBjaGVja291dCIgaXMgcnVuIHdpdGggLWIuCi1kb19jaGVja291dCgpIHsKKyMKKyMgSWYgdGhlIGZpcnN0IGFyZ3VtZW50IGlzIGAhYCwgImdpdCBjaGVja291dCIgaXMgZXhwZWN0ZWQgdG8gZmFpbCB3aGVuCisjIGl0IGlzIHJ1bi4KK2RvX2NoZWNrb3V0ICgpIHsKKwlzaG91bGRfZmFpbD0gJiYKKwlpZiB0ZXN0ICJ4JDEiID0gInghIgorCXRoZW4KKwkJc2hvdWxkX2ZhaWw9eWVzICYmCisJCXNoaWZ0CisJZmkgJiYKIAlleHBfYnJhbmNoPSQxICYmCiAJZXhwX3JlZj0icmVmcy9oZWFkcy8kZXhwX2JyYW5jaCIgJiYKIAotCSMgaWYgPHNoYT4gaXMgbm90IHNwZWNpZmllZCwgdXNlIEhFQUQuCi0JZXhwX3NoYT0kezI6LSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKX0gJiYKKwkjIGlmIDxvaWQ+IGlzIG5vdCBzcGVjaWZpZWQsIHVzZSBIRUFELgorCWV4cF9vaWQ9JHsyOi0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCl9ICYmCiAKIAkjIGRlZmF1bHQgb3B0aW9ucyBmb3IgZ2l0IGNoZWNrb3V0OiAtYgotCWlmIFsgLXogIiQzIiBdOyB0aGVuCisJaWYgdGVzdCAteiAiJDMiCisJdGhlbgogCQlvcHRzPSItYiIKIAllbHNlCiAJCW9wdHM9IiQzIgogCWZpCiAKLQlnaXQgY2hlY2tvdXQgJG9wdHMgJGV4cF9icmFuY2ggJGV4cF9zaGEgJiYKLQotCXRlc3QgJGV4cF9yZWYgPSAkKGdpdCByZXYtcGFyc2UgLS1zeW1ib2xpYy1mdWxsLW5hbWUgSEVBRCkgJiYKLQl0ZXN0ICRleHBfc2hhID0gJChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQpCisJaWYgdGVzdCAtbiAiJHNob3VsZF9mYWlsIgorCXRoZW4KKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZWNrb3V0ICRvcHRzICRleHBfYnJhbmNoICRleHBfb2lkCisJZWxzZQorCQlnaXQgY2hlY2tvdXQgJG9wdHMgJGV4cF9icmFuY2ggJGV4cF9vaWQgJiYKKwkJZWNobyAiJGV4cF9yZWYiID5yZWYuZXhwZWN0ICYmCisJCWdpdCByZXYtcGFyc2UgLS1zeW1ib2xpYy1mdWxsLW5hbWUgSEVBRCA+cmVmLmFjdHVhbCAmJgorCQl0ZXN0X2NtcCByZWYuZXhwZWN0IHJlZi5hY3R1YWwgJiYKKwkJZWNobyAiJGV4cF9vaWQiID5vaWQuZXhwZWN0ICYmCisJCWdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCA+b2lkLmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBvaWQuZXhwZWN0IG9pZC5hY3R1YWwKKwlmaQogfQogCi10ZXN0X2RpcnR5X3VubWVyZ2VhYmxlKCkgewotCSEgZ2l0IGRpZmYgLS1leGl0LWNvZGUgPi9kZXYvbnVsbAordGVzdF9kaXJ0eV91bm1lcmdlYWJsZSAoKSB7CisJdGVzdF9leHBlY3RfY29kZSAxIGdpdCBkaWZmIC0tZXhpdC1jb2RlCiB9CiAKLXNldHVwX2RpcnR5X3VubWVyZ2VhYmxlKCkgewordGVzdF9kaXJ0eV91bm1lcmdlYWJsZV9kaXNjYXJkc19jaGFuZ2VzICgpIHsKKwlnaXQgZGlmZiAtLWV4aXQtY29kZQorfQorCitzZXR1cF9kaXJ0eV91bm1lcmdlYWJsZSAoKSB7CiAJZWNobyA+PmZpbGUxIGNoYW5nZTIKIH0KIAotdGVzdF9kaXJ0eV9tZXJnZWFibGUoKSB7Ci0JISBnaXQgZGlmZiAtLWNhY2hlZCAtLWV4aXQtY29kZSA+L2Rldi9udWxsCit0ZXN0X2RpcnR5X21lcmdlYWJsZSAoKSB7CisJdGVzdF9leHBlY3RfY29kZSAxIGdpdCBkaWZmIC0tY2FjaGVkIC0tZXhpdC1jb2RlCiB9CiAKLXNldHVwX2RpcnR5X21lcmdlYWJsZSgpIHsKK3Rlc3RfZGlydHlfbWVyZ2VhYmxlX2Rpc2NhcmRzX2NoYW5nZXMgKCkgeworCWdpdCBkaWZmIC0tY2FjaGVkIC0tZXhpdC1jb2RlCit9CisKK3NldHVwX2RpcnR5X21lcmdlYWJsZSAoKSB7CiAJZWNobyA+ZmlsZTIgZmlsZTIgJiYKIAlnaXQgYWRkIGZpbGUyCiB9CkBAIC02MCwzOCArODYsNDcgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2tvdXQgLWIgdG8gYSBuZXcgYnJhbmNoLCBzZXQgdG8gSEVBRCcgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiCisJCWdpdCBjaGVja291dCBicmFuY2gxICYmCisJCXRlc3RfbWlnaHRfZmFpbCBnaXQgYnJhbmNoIC1EIGJyYW5jaDIiICYmCiAJZG9fY2hlY2tvdXQgYnJhbmNoMgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja291dCAtYiB0byBhIG5ldyBicmFuY2gsIHNldCB0byBhbiBleHBsaWNpdCByZWYnICcKLQlnaXQgY2hlY2tvdXQgYnJhbmNoMSAmJgotCWdpdCBicmFuY2ggLUQgYnJhbmNoMiAmJgordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2tvdXQgLWIgdG8gYSBtZXJnZSBiYXNlJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICIKKwkJZ2l0IGNoZWNrb3V0IGJyYW5jaDEgJiYKKwkJdGVzdF9taWdodF9mYWlsIGdpdCBicmFuY2ggLUQgYnJhbmNoMiIgJiYKKwlnaXQgY2hlY2tvdXQgLWIgYnJhbmNoMiBicmFuY2gxLi4uCisnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IC1iIHRvIGEgbmV3IGJyYW5jaCwgc2V0IHRvIGFuIGV4cGxpY2l0IHJlZicgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiCisJCWdpdCBjaGVja291dCBicmFuY2gxICYmCisJCXRlc3RfbWlnaHRfZmFpbCBnaXQgYnJhbmNoIC1EIGJyYW5jaDIiICYmCiAJZG9fY2hlY2tvdXQgYnJhbmNoMiAkSEVBRDEKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2tvdXQgLWIgdG8gYSBuZXcgYnJhbmNoIHdpdGggdW5tZXJnZWFibGUgY2hhbmdlcyBmYWlscycgJwotCWdpdCBjaGVja291dCBicmFuY2gxICYmCi0KLQkjIGNsZWFuIHVwIGZyb20gcHJldmlvdXMgdGVzdAotCWdpdCBicmFuY2ggLUQgYnJhbmNoMiAmJgotCiAJc2V0dXBfZGlydHlfdW5tZXJnZWFibGUgJiYKLQl0ZXN0X211c3RfZmFpbCBkb19jaGVja291dCBicmFuY2gyICRIRUFEMSAmJgorCWRvX2NoZWNrb3V0ICEgYnJhbmNoMiAkSEVBRDEgJiYKIAl0ZXN0X2RpcnR5X3VubWVyZ2VhYmxlCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IC1mIC1iIHRvIGEgbmV3IGJyYW5jaCB3aXRoIHVubWVyZ2VhYmxlIGNoYW5nZXMgZGlzY2FyZHMgY2hhbmdlcycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiCisJCWdpdCBjaGVja291dCBicmFuY2gxICYmCisJCXRlc3RfbWlnaHRfZmFpbCBnaXQgYnJhbmNoIC1EIGJyYW5jaDIiICYmCisKIAkjIHN0aWxsIGRpcnR5IGFuZCBvbiBicmFuY2gxCiAJZG9fY2hlY2tvdXQgYnJhbmNoMiAkSEVBRDEgIi1mIC1iIiAmJgotCXRlc3RfbXVzdF9mYWlsIHRlc3RfZGlydHlfdW5tZXJnZWFibGUKKwl0ZXN0X2RpcnR5X3VubWVyZ2VhYmxlX2Rpc2NhcmRzX2NoYW5nZXMKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2tvdXQgLWIgdG8gYSBuZXcgYnJhbmNoIHByZXNlcnZlcyBtZXJnZWFibGUgY2hhbmdlcycgJwotCWdpdCBjaGVja291dCBicmFuY2gxICYmCi0KLQkjIGNsZWFuIHVwIGZyb20gcHJldmlvdXMgdGVzdAotCWdpdCBicmFuY2ggLUQgYnJhbmNoMiAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiCisJCWdpdCByZXNldCAtLWhhcmQgJiYKKwkJZ2l0IGNoZWNrb3V0IGJyYW5jaDEgJiYKKwkJdGVzdF9taWdodF9mYWlsIGdpdCBicmFuY2ggLUQgYnJhbmNoMiIgJiYKIAogCXNldHVwX2RpcnR5X21lcmdlYWJsZSAmJgogCWRvX2NoZWNrb3V0IGJyYW5jaDIgJEhFQUQxICYmCkBAIC05OSwyNyArMTM0LDE4IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IC1mIC1iIHRvIGEgbmV3IGJyYW5jaCB3aXRoIG1lcmdlYWJsZSBjaGFuZ2VzIGRpc2NhcmRzIGNoYW5nZXMnICcKLQkjIGNsZWFuIHVwIGZyb20gcHJldmlvdXMgdGVzdAotCWdpdCByZXNldCAtLWhhcmQgJiYKLQotCWdpdCBjaGVja291dCBicmFuY2gxICYmCi0KLQkjIGNsZWFuIHVwIGZyb20gcHJldmlvdXMgdGVzdAotCWdpdCBicmFuY2ggLUQgYnJhbmNoMiAmJgotCisJdGVzdF93aGVuX2ZpbmlzaGVkIGdpdCByZXNldCAtLWhhcmQgSEVBRCAmJgogCXNldHVwX2RpcnR5X21lcmdlYWJsZSAmJgogCWRvX2NoZWNrb3V0IGJyYW5jaDIgJEhFQUQxICItZiAtYiIgJiYKLQl0ZXN0X211c3RfZmFpbCB0ZXN0X2RpcnR5X21lcmdlYWJsZQorCXRlc3RfZGlydHlfbWVyZ2VhYmxlX2Rpc2NhcmRzX2NoYW5nZXMKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2tvdXQgLWIgdG8gYW4gZXhpc3RpbmcgYnJhbmNoIGZhaWxzJyAnCi0JZ2l0IHJlc2V0IC0taGFyZCBIRUFEICYmCi0KLQl0ZXN0X211c3RfZmFpbCBkb19jaGVja291dCBicmFuY2gyICRIRUFEMgorCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgcmVzZXQgLS1oYXJkIEhFQUQgJiYKKwlkb19jaGVja291dCAhIGJyYW5jaDIgJEhFQUQyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IC1iIHRvIEB7LTF9IGZhaWxzIHdpdGggdGhlIHJpZ2h0IGJyYW5jaCBuYW1lJyAnCi0JZ2l0IHJlc2V0IC0taGFyZCBIRUFEICYmCiAJZ2l0IGNoZWNrb3V0IGJyYW5jaDEgJiYKIAlnaXQgY2hlY2tvdXQgYnJhbmNoMiAmJgogCWVjaG8gID5leHBlY3QgImZhdGFsOiBBIGJyYW5jaCBuYW1lZCAnXCcnYnJhbmNoMSdcJycgYWxyZWFkeSBleGlzdHMuIiAmJgpAQCAtMTMzLDggKzE1OSwxNSBAQAogCWRvX2NoZWNrb3V0IGJyYW5jaDIgIiIgLUIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2tvdXQgLUIgdG8gYSBtZXJnZSBiYXNlJyAnCisJZ2l0IGNoZWNrb3V0IGJyYW5jaDEgJiYKKworCWdpdCBjaGVja291dCAtQiBicmFuY2gyIGJyYW5jaDEuLi4KKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2tvdXQgLUIgdG8gYW4gZXhpc3RpbmcgYnJhbmNoIGZyb20gZGV0YWNoZWQgSEVBRCByZXNldHMgYnJhbmNoIHRvIEhFQUQnICcKLQlnaXQgY2hlY2tvdXQgJChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQpICYmCisJaGVhZD0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCkgJiYKKwlnaXQgY2hlY2tvdXQgIiRoZWFkIiAmJgogCiAJZG9fY2hlY2tvdXQgYnJhbmNoMiAiIiAtQgogJwpAQCAtMTQ5LDE3ICsxODIsMTggQEAKIAlnaXQgY2hlY2tvdXQgYnJhbmNoMSAmJgogCiAJc2V0dXBfZGlydHlfdW5tZXJnZWFibGUgJiYKLQl0ZXN0X211c3RfZmFpbCBkb19jaGVja291dCBicmFuY2gyICRIRUFEMSAtQiAmJgorCWRvX2NoZWNrb3V0ICEgYnJhbmNoMiAkSEVBRDEgLUIgJiYKIAl0ZXN0X2RpcnR5X3VubWVyZ2VhYmxlCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IC1mIC1CIHRvIGFuIGV4aXN0aW5nIGJyYW5jaCB3aXRoIHVubWVyZ2VhYmxlIGNoYW5nZXMgZGlzY2FyZHMgY2hhbmdlcycgJwogCSMgc3RpbGwgZGlydHkgYW5kIG9uIGJyYW5jaDEKIAlkb19jaGVja291dCBicmFuY2gyICRIRUFEMSAiLWYgLUIiICYmCi0JdGVzdF9tdXN0X2ZhaWwgdGVzdF9kaXJ0eV91bm1lcmdlYWJsZQorCXRlc3RfZGlydHlfdW5tZXJnZWFibGVfZGlzY2FyZHNfY2hhbmdlcwogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja291dCAtQiB0byBhbiBleGlzdGluZyBicmFuY2ggcHJlc2VydmVzIG1lcmdlYWJsZSBjaGFuZ2VzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkIGdpdCByZXNldCAtLWhhcmQgJiYKIAlnaXQgY2hlY2tvdXQgYnJhbmNoMSAmJgogCiAJc2V0dXBfZGlydHlfbWVyZ2VhYmxlICYmCkBAIC0xNjgsMTQgKzIwMiwxMSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja291dCAtZiAtQiB0byBhbiBleGlzdGluZyBicmFuY2ggd2l0aCBtZXJnZWFibGUgY2hhbmdlcyBkaXNjYXJkcyBjaGFuZ2VzJyAnCi0JIyBjbGVhbiB1cCBmcm9tIHByZXZpb3VzIHRlc3QKLQlnaXQgcmVzZXQgLS1oYXJkICYmCi0KIAlnaXQgY2hlY2tvdXQgYnJhbmNoMSAmJgogCiAJc2V0dXBfZGlydHlfbWVyZ2VhYmxlICYmCiAJZG9fY2hlY2tvdXQgYnJhbmNoMiAkSEVBRDEgIi1mIC1CIiAmJgotCXRlc3RfbXVzdF9mYWlsIHRlc3RfZGlydHlfbWVyZ2VhYmxlCisJdGVzdF9kaXJ0eV9tZXJnZWFibGVfZGlzY2FyZHNfY2hhbmdlcwogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja291dCAtYiA8ZGVzY3JpYmU+JyAnCkBAIC0xOTgsNCArMjI5LDEzIEBACiAJdGVzdF9kaXJ0eV9tZXJnZWFibGUKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2tvdXQgLWIgYWZ0ZXIgY2xvbmUgLS1uby1jaGVja291dCBkb2VzIGEgY2hlY2tvdXQgb2YgSEVBRCcgJworCWdpdCBpbml0IHNyYyAmJgorCXRlc3RfY29tbWl0IC1DIHNyYyBhICYmCisJcmV2PSIkKGdpdCAtQyBzcmMgcmV2LXBhcnNlIEhFQUQpIiAmJgorCWdpdCBjbG9uZSAtLW5vLWNoZWNrb3V0IHNyYyBkZXN0ICYmCisJZ2l0IC1DIGRlc3QgY2hlY2tvdXQgIiRyZXYiIC1iIGJyYW5jaCAmJgorCXRlc3RfcGF0aF9pc19maWxlIGRlc3QvYS50CisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MjAyMC1jaGVja291dC1kZXRhY2guc2ggYi90L3QyMDIwLWNoZWNrb3V0LWRldGFjaC5zaAppbmRleCAxZmE2NzA2Li5iNzQ4ZGI5IDEwMDc1NQotLS0gYS90L3QyMDIwLWNoZWNrb3V0LWRldGFjaC5zaAorKysgYi90L3QyMDIwLWNoZWNrb3V0LWRldGFjaC5zaApAQCAtMTk1LDE2ICsxOTUsMjIgQEAKIAogCSMgVGhlIGZpcnN0IGRldGFjaCBvcGVyYXRpb24gaXMgbW9yZSBjaGF0dHkgdGhhbiB0aGUgZm9sbG93aW5nIG9uZXMuCiAJY2F0ID4xc3RfZGV0YWNoIDw8LUVPRiAmJgotCU5vdGU6IGNoZWNraW5nIG91dCAnSEVBRF4nLgorCU5vdGU6IHN3aXRjaGluZyB0byAnSEVBRF4nLgogCiAJWW91IGFyZSBpbiAnZGV0YWNoZWQgSEVBRCcgc3RhdGUuIFlvdSBjYW4gbG9vayBhcm91bmQsIG1ha2UgZXhwZXJpbWVudGFsCiAJY2hhbmdlcyBhbmQgY29tbWl0IHRoZW0sIGFuZCB5b3UgY2FuIGRpc2NhcmQgYW55IGNvbW1pdHMgeW91IG1ha2UgaW4gdGhpcwotCXN0YXRlIHdpdGhvdXQgaW1wYWN0aW5nIGFueSBicmFuY2hlcyBieSBwZXJmb3JtaW5nIGFub3RoZXIgY2hlY2tvdXQuCisJc3RhdGUgd2l0aG91dCBpbXBhY3RpbmcgYW55IGJyYW5jaGVzIGJ5IHN3aXRjaGluZyBiYWNrIHRvIGEgYnJhbmNoLgogCiAJSWYgeW91IHdhbnQgdG8gY3JlYXRlIGEgbmV3IGJyYW5jaCB0byByZXRhaW4gY29tbWl0cyB5b3UgY3JlYXRlLCB5b3UgbWF5Ci0JZG8gc28gKG5vdyBvciBsYXRlcikgYnkgdXNpbmcgLWIgd2l0aCB0aGUgY2hlY2tvdXQgY29tbWFuZCBhZ2Fpbi4gRXhhbXBsZToKKwlkbyBzbyAobm93IG9yIGxhdGVyKSBieSB1c2luZyAtYyB3aXRoIHRoZSBzd2l0Y2ggY29tbWFuZC4gRXhhbXBsZToKIAotCSAgZ2l0IGNoZWNrb3V0IC1iIDxuZXctYnJhbmNoLW5hbWU+CisJICBnaXQgc3dpdGNoIC1jIDxuZXctYnJhbmNoLW5hbWU+CisKKwlPciB1bmRvIHRoaXMgb3BlcmF0aW9uIHdpdGg6CisKKwkgIGdpdCBzd2l0Y2ggLQorCisJVHVybiBvZmYgdGhpcyBhZHZpY2UgYnkgc2V0dGluZyBjb25maWcgdmFyaWFibGUgYWR2aWNlLmRldGFjaGVkSGVhZCB0byBmYWxzZQogCiAJSEVBRCBpcyBub3cgYXQgXCRjb21taXQgdGhyZWUKIAlFT0YKQEAgLTI3MSwxNiArMjc3LDIyIEBACiAKIAkjIFRoZSBmaXJzdCBkZXRhY2ggb3BlcmF0aW9uIGlzIG1vcmUgY2hhdHR5IHRoYW4gdGhlIGZvbGxvd2luZyBvbmVzLgogCWNhdCA+MXN0X2RldGFjaCA8PC1FT0YgJiYKLQlOb3RlOiBjaGVja2luZyBvdXQgJ0hFQUReJy4KKwlOb3RlOiBzd2l0Y2hpbmcgdG8gJ0hFQUReJy4KIAogCVlvdSBhcmUgaW4gJ2RldGFjaGVkIEhFQUQnIHN0YXRlLiBZb3UgY2FuIGxvb2sgYXJvdW5kLCBtYWtlIGV4cGVyaW1lbnRhbAogCWNoYW5nZXMgYW5kIGNvbW1pdCB0aGVtLCBhbmQgeW91IGNhbiBkaXNjYXJkIGFueSBjb21taXRzIHlvdSBtYWtlIGluIHRoaXMKLQlzdGF0ZSB3aXRob3V0IGltcGFjdGluZyBhbnkgYnJhbmNoZXMgYnkgcGVyZm9ybWluZyBhbm90aGVyIGNoZWNrb3V0LgorCXN0YXRlIHdpdGhvdXQgaW1wYWN0aW5nIGFueSBicmFuY2hlcyBieSBzd2l0Y2hpbmcgYmFjayB0byBhIGJyYW5jaC4KIAogCUlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIG5ldyBicmFuY2ggdG8gcmV0YWluIGNvbW1pdHMgeW91IGNyZWF0ZSwgeW91IG1heQotCWRvIHNvIChub3cgb3IgbGF0ZXIpIGJ5IHVzaW5nIC1iIHdpdGggdGhlIGNoZWNrb3V0IGNvbW1hbmQgYWdhaW4uIEV4YW1wbGU6CisJZG8gc28gKG5vdyBvciBsYXRlcikgYnkgdXNpbmcgLWMgd2l0aCB0aGUgc3dpdGNoIGNvbW1hbmQuIEV4YW1wbGU6CiAKLQkgIGdpdCBjaGVja291dCAtYiA8bmV3LWJyYW5jaC1uYW1lPgorCSAgZ2l0IHN3aXRjaCAtYyA8bmV3LWJyYW5jaC1uYW1lPgorCisJT3IgdW5kbyB0aGlzIG9wZXJhdGlvbiB3aXRoOgorCisJICBnaXQgc3dpdGNoIC0KKworCVR1cm4gb2ZmIHRoaXMgYWR2aWNlIGJ5IHNldHRpbmcgY29uZmlnIHZhcmlhYmxlIGFkdmljZS5kZXRhY2hlZEhlYWQgdG8gZmFsc2UKIAogCUhFQUQgaXMgbm93IGF0IFwkY29tbWl0Li4uIHRocmVlCiAJRU9GCmRpZmYgLS1naXQgYS90L3QyMDIyLWNoZWNrb3V0LXBhdGhzLnNoIGIvdC90MjAyMi1jaGVja291dC1wYXRocy5zaAppbmRleCBmYzNlYjQzLi42ODQ0YWZhIDEwMDc1NQotLS0gYS90L3QyMDIyLWNoZWNrb3V0LXBhdGhzLnNoCisrKyBiL3QvdDIwMjItY2hlY2tvdXQtcGF0aHMuc2gKQEAgLTc4LDQgKzc4LDE1IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja291dCBIRUFEIGFkZHMgZGVsZXRlZCBpbnRlbnQtdG8tYWRkIGZpbGUgYmFjayB0byBpbmRleCcgJworCWVjaG8gIm5vbmVtcHR5IiA+bm9uZW1wdHkgJiYKKwk+ZW1wdHkgJiYKKwlnaXQgYWRkIG5vbmVtcHR5IGVtcHR5ICYmCisJZ2l0IGNvbW1pdCAtbSAiY3JlYXRlIGZpbGVzIHRvIGJlIGRlbGV0ZWQiICYmCisJZ2l0IHJtIC0tY2FjaGVkIG5vbmVtcHR5IGVtcHR5ICYmCisJZ2l0IGFkZCAtTiBub25lbXB0eSBlbXB0eSAmJgorCWdpdCBjaGVja291dCBIRUFEIG5vbmVtcHR5IGVtcHR5ICYmCisJZ2l0IGRpZmYgLS1jYWNoZWQgLS1leGl0LWNvZGUKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QyMDIzLWNoZWNrb3V0LW0uc2ggYi90L3QyMDIzLWNoZWNrb3V0LW0uc2gKaW5kZXggN2UxODk4NS4uZmNhM2Y4NSAxMDA3NTUKLS0tIGEvdC90MjAyMy1jaGVja291dC1tLnNoCisrKyBiL3QvdDIwMjMtY2hlY2tvdXQtbS5zaApAQCAtNDYsNCArNDYsMjggQEAKIAl0ZXN0X2NtcCBib3RoLnR4dC5jb25mbGljdGVkLmNsZWFuZWQgYm90aC50eHQuY2xlYW5lZAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JjZSBjaGVja291dCBhIGNvbmZsaWN0IGZpbGUgY3JlYXRlcyBzdGFnZSB6ZXJvIGVudHJ5JyAnCisJZ2l0IGluaXQgY28tZm9yY2UgJiYKKwkoCisJCWNkIGNvLWZvcmNlICYmCisJCWVjaG8gYSA+YSAmJgorCQlnaXQgYWRkIGEgJiYKKwkJZ2l0IGNvbW1pdCAtYW1hICYmCisJCUFfT0JKPSQoZ2l0IHJldi1wYXJzZSA6YSkgJiYKKwkJZ2l0IGJyYW5jaCB0b3BpYyAmJgorCQllY2hvIGIgPmEgJiYKKwkJZ2l0IGNvbW1pdCAtYW1iICYmCisJCUJfT0JKPSQoZ2l0IHJldi1wYXJzZSA6YSkgJiYKKwkJZ2l0IGNoZWNrb3V0IHRvcGljICYmCisJCWVjaG8gYyA+YSAmJgorCQlDX09CSj0kKGdpdCBoYXNoLW9iamVjdCBhKSAmJgorCQlnaXQgY2hlY2tvdXQgLW0gbWFzdGVyICYmCisJCXRlc3RfY21wX3JldiA6MTphICRBX09CSiAmJgorCQl0ZXN0X2NtcF9yZXYgOjI6YSAkQl9PQkogJiYKKwkJdGVzdF9jbXBfcmV2IDozOmEgJENfT0JKICYmCisJCWdpdCBjaGVja291dCAtZiB0b3BpYyAmJgorCQl0ZXN0X2NtcF9yZXYgOjA6YSAkQV9PQkoKKwkpCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MjAyNC1jaGVja291dC1kd2ltLnNoIGIvdC90MjAyNC1jaGVja291dC1kd2ltLnNoCmluZGV4IDY5YjY3NzQuLmFjY2ZhOWEgMTAwNzU1Ci0tLSBhL3QvdDIwMjQtY2hlY2tvdXQtZHdpbS5zaAorKysgYi90L3QyMDI0LWNoZWNrb3V0LWR3aW0uc2gKQEAgLTM3LDcgKzM3LDkgQEAKIAkJZ2l0IGNoZWNrb3V0IC1iIGZvbyAmJgogCQl0ZXN0X2NvbW1pdCBhX2ZvbyAmJgogCQlnaXQgY2hlY2tvdXQgLWIgYmFyICYmCi0JCXRlc3RfY29tbWl0IGFfYmFyCisJCXRlc3RfY29tbWl0IGFfYmFyICYmCisJCWdpdCBjaGVja291dCAtYiBhbWJpZ3VvdXNfYnJhbmNoX2FuZF9maWxlICYmCisJCXRlc3RfY29tbWl0IGFfYW1iaWd1b3VzX2JyYW5jaF9hbmRfZmlsZQogCSkgJiYKIAlnaXQgaW5pdCByZXBvX2IgJiYKIAkoCkBAIC00Niw3ICs0OCw5IEBACiAJCWdpdCBjaGVja291dCAtYiBmb28gJiYKIAkJdGVzdF9jb21taXQgYl9mb28gJiYKIAkJZ2l0IGNoZWNrb3V0IC1iIGJheiAmJgotCQl0ZXN0X2NvbW1pdCBiX2JhegorCQl0ZXN0X2NvbW1pdCBiX2JheiAmJgorCQlnaXQgY2hlY2tvdXQgLWIgYW1iaWd1b3VzX2JyYW5jaF9hbmRfZmlsZSAmJgorCQl0ZXN0X2NvbW1pdCBiX2FtYmlndW91c19icmFuY2hfYW5kX2ZpbGUKIAkpICYmCiAJZ2l0IHJlbW90ZSBhZGQgcmVwb19hIHJlcG9fYSAmJgogCWdpdCByZW1vdGUgYWRkIHJlcG9fYiByZXBvX2IgJiYKQEAgLTc1LDYgKzc5LDI2IEBACiAJdGVzdF9icmFuY2ggbWFzdGVyCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3doZW4gYXJnIG1hdGNoZXMgbXVsdGlwbGUgcmVtb3RlcywgZG8gbm90IGZhbGxiYWNrIHRvIGludGVycHJldGluZyBhcyBwYXRoc3BlYycgJworCSMgY3JlYXRlIGEgZmlsZSB3aXRoIG5hbWUgbWF0Y2hpbmcgcmVtb3RlIGJyYW5jaCBuYW1lCisJZ2l0IGNoZWNrb3V0IC1iIHRfYW1iaWd1b3VzX2JyYW5jaF9hbmRfZmlsZSAmJgorCT5hbWJpZ3VvdXNfYnJhbmNoX2FuZF9maWxlICYmCisJZ2l0IGFkZCBhbWJpZ3VvdXNfYnJhbmNoX2FuZF9maWxlICYmCisJZ2l0IGNvbW1pdCAtbSAiYW1iaWd1b3VzX2JyYW5jaF9hbmRfZmlsZSIgJiYKKworCSMgbW9kaWZ5IGZpbGUgdG8gdmVyaWZ5IHRoYXQgaXQgd2lsbCBub3QgYmUgdG91Y2hlZCBieSBjaGVja291dAorCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IGNoZWNrb3V0IC0tIGFtYmlndW91c19icmFuY2hfYW5kX2ZpbGUiICYmCisJZWNobyAiZmlsZSBjb250ZW50cyIgPmFtYmlndW91c19icmFuY2hfYW5kX2ZpbGUgJiYKKwljcCBhbWJpZ3VvdXNfYnJhbmNoX2FuZF9maWxlIGV4cGVjdCAmJgorCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZWNrb3V0IGFtYmlndW91c19icmFuY2hfYW5kX2ZpbGUgMj5lcnIgJiYKKworCXRlc3RfaTE4bmdyZXAgIm1hdGNoZWQgbXVsdGlwbGUgKDIpIHJlbW90ZSB0cmFja2luZyBicmFuY2hlcyIgZXJyICYmCisKKwkjIGZpbGUgbXVzdCBub3QgYmUgYWx0ZXJlZAorCXRlc3RfY21wIGV4cGVjdCBhbWJpZ3VvdXNfYnJhbmNoX2FuZF9maWxlCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IG9mIGJyYW5jaCBmcm9tIG11bHRpcGxlIHJlbW90ZXMgZmFpbHMgd2l0aCBhZHZpY2UnICcKIAlnaXQgY2hlY2tvdXQgLUIgbWFzdGVyICYmCiAJdGVzdF9taWdodF9mYWlsIGdpdCBicmFuY2ggLUQgZm9vICYmCkBAIC0yNzgsNCArMzAyLDM1IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWplY3Qgd2hlbiBhcmcgY291bGQgYmUgcGFydCBvZiBkd2ltIGJyYW5jaCcgJworCWdpdCByZW1vdGUgYWRkIGZvbyBmaWxlOi8vbm9uLWV4aXN0ZW50LXBsYWNlICYmCisJZ2l0IHVwZGF0ZS1yZWYgcmVmcy9yZW1vdGVzL2Zvby9kd2ltLWFyZyBIRUFEICYmCisJZWNobyBmb28gPmR3aW0tYXJnICYmCisJZ2l0IGFkZCBkd2ltLWFyZyAmJgorCWVjaG8gYmFyID5kd2ltLWFyZyAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVja291dCBkd2ltLWFyZyAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgcmVmcy9oZWFkcy9kd2ltLWFyZyAtLSAmJgorCWdyZXAgYmFyIGR3aW0tYXJnCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Rpc2FtYmlndWF0ZSBkd2ltIGJyYW5jaCBhbmQgY2hlY2tvdXQgcGF0aCAoMSknICcKKwlnaXQgdXBkYXRlLXJlZiByZWZzL3JlbW90ZXMvZm9vL2R3aW0tYXJnMSBIRUFEICYmCisJZWNobyBmb28gPmR3aW0tYXJnMSAmJgorCWdpdCBhZGQgZHdpbS1hcmcxICYmCisJZWNobyBiYXIgPmR3aW0tYXJnMSAmJgorCWdpdCBjaGVja291dCAtLSBkd2ltLWFyZzEgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIHJlZnMvaGVhZHMvZHdpbS1hcmcxIC0tICYmCisJZ3JlcCBmb28gZHdpbS1hcmcxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Rpc2FtYmlndWF0ZSBkd2ltIGJyYW5jaCBhbmQgY2hlY2tvdXQgcGF0aCAoMiknICcKKwlnaXQgdXBkYXRlLXJlZiByZWZzL3JlbW90ZXMvZm9vL2R3aW0tYXJnMiBIRUFEICYmCisJZWNobyBmb28gPmR3aW0tYXJnMiAmJgorCWdpdCBhZGQgZHdpbS1hcmcyICYmCisJZWNobyBiYXIgPmR3aW0tYXJnMiAmJgorCWdpdCBjaGVja291dCBkd2ltLWFyZzIgLS0gJiYKKwlnaXQgcmV2LXBhcnNlIHJlZnMvaGVhZHMvZHdpbS1hcmcyIC0tICYmCisJZ3JlcCBiYXIgZHdpbS1hcmcyCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MjAyNS1jaGVja291dC1uby1vdmVybGF5LnNoIGIvdC90MjAyNS1jaGVja291dC1uby1vdmVybGF5LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc2MzMwY2IKLS0tIC9kZXYvbnVsbAorKysgYi90L3QyMDI1LWNoZWNrb3V0LW5vLW92ZXJsYXkuc2gKQEAgLTAsMCArMSw0NyBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J2NoZWNrb3V0IC0tbm8tb3ZlcmxheSA8dHJlZS1pc2g+IC0tIDxwYXRoc3BlYz4nCisKKy4gLi90ZXN0LWxpYi5zaAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJworCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSAiaW5pdGlhbCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2tvdXQgLS1uby1vdmVybGF5IGRlbGV0ZXMgZmlsZXMgbm90IGluIDx0cmVlLWlzaD4nICcKKwk+ZmlsZSAmJgorCW1rZGlyIGRpciAmJgorCT5kaXIvZmlsZTEgJiYKKwlnaXQgYWRkIGZpbGUgZGlyL2ZpbGUxICYmCisJZ2l0IGNoZWNrb3V0IC0tbm8tb3ZlcmxheSBIRUFEIC0tIGZpbGUgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBmaWxlICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgZGlyL2ZpbGUxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IC0tbm8tb3ZlcmxheSByZW1vdmluZyBsYXN0IGZpbGUgZnJvbSBkaXJlY3RvcnknICcKKwlnaXQgY2hlY2tvdXQgLS1uby1vdmVybGF5IEhFQUQgLS0gZGlyL2ZpbGUxICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgZGlyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IC1wIC0tb3ZlcmxheSBpcyBkaXNhbGxvd2VkJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZWNrb3V0IC1wIC0tb3ZlcmxheSBIRUFEIDI+YWN0dWFsICYmCisJdGVzdF9pMThuZ3JlcCAiZmF0YWw6IC1wIGFuZCAtLW92ZXJsYXkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tbm8tb3ZlcmxheSAtLXRoZWlycyB3aXRoIEQvRiBjb25mbGljdCBkZWxldGVzIGZpbGUnICcKKwl0ZXN0X2NvbW1pdCBmaWxlMSBmaWxlMSAmJgorCXRlc3RfY29tbWl0IGZpbGUyIGZpbGUyICYmCisJZ2l0IHJtIC0tY2FjaGVkIGZpbGUxICYmCisJZWNobyAxMjM0ID5maWxlMSAmJgorCUYxPSQoZ2l0IHJldi1wYXJzZSBIRUFEOmZpbGUxKSAmJgorCUYyPSQoZ2l0IHJldi1wYXJzZSBIRUFEOmZpbGUyKSAmJgorCXsKKwkJZWNobyAiMTAwNjQ0ICRGMSAxCWZpbGUxIiAmJgorCQllY2hvICIxMDA2NDQgJEYyIDIJZmlsZTEiCisJfSB8IGdpdCB1cGRhdGUtaW5kZXggLS1pbmRleC1pbmZvICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgZmlsZTEgJiYKKwlnaXQgY2hlY2tvdXQgLS10aGVpcnMgLS1uby1vdmVybGF5IC0tIGZpbGUxICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgZmlsZTEKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QyMDI2LWNoZWNrb3V0LXBhdGhzcGVjLWZpbGUuc2ggYi90L3QyMDI2LWNoZWNrb3V0LXBhdGhzcGVjLWZpbGUuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDNkMzFkNwotLS0gL2Rldi9udWxsCisrKyBiL3QvdDIwMjYtY2hlY2tvdXQtcGF0aHNwZWMtZmlsZS5zaApAQCAtMCwwICsxLDE2MyBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J2NoZWNrb3V0IC0tcGF0aHNwZWMtZnJvbS1maWxlJworCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF90aWNrCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3Mgc2V0dXAgJworCXRlc3RfY29tbWl0IGZpbGUwICYmCisKKwllY2hvIDEgPmZpbGVBLnQgJiYKKwllY2hvIDEgPmZpbGVCLnQgJiYKKwllY2hvIDEgPmZpbGVDLnQgJiYKKwllY2hvIDEgPmZpbGVELnQgJiYKKwlnaXQgYWRkIGZpbGVBLnQgZmlsZUIudCBmaWxlQy50IGZpbGVELnQgJiYKKwlnaXQgY29tbWl0IC1tICJmaWxlcyAxIiAmJgorCisJZWNobyAyID5maWxlQS50ICYmCisJZWNobyAyID5maWxlQi50ICYmCisJZWNobyAyID5maWxlQy50ICYmCisJZWNobyAyID5maWxlRC50ICYmCisJZ2l0IGFkZCBmaWxlQS50IGZpbGVCLnQgZmlsZUMudCBmaWxlRC50ICYmCisJZ2l0IGNvbW1pdCAtbSAiZmlsZXMgMiIgJiYKKworCWdpdCB0YWcgY2hlY2twb2ludAorJworCityZXN0b3JlX2NoZWNrcG9pbnQgKCkgeworCWdpdCByZXNldCAtLWhhcmQgY2hlY2twb2ludAorfQorCit2ZXJpZnlfZXhwZWN0ICgpIHsKKwlnaXQgc3RhdHVzIC0tcG9yY2VsYWluIC0tdW50cmFja2VkLWZpbGVzPW5vIC0tIGZpbGVBLnQgZmlsZUIudCBmaWxlQy50IGZpbGVELnQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1wYXRoc3BlYy1mcm9tLWZpbGUgZnJvbSBzdGRpbicgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJZWNobyBmaWxlQS50IHwgZ2l0IGNoZWNrb3V0IC0tcGF0aHNwZWMtZnJvbS1maWxlPS0gSEVBRF4xICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJTSAgZmlsZUEudAorCUVPRgorCXZlcmlmeV9leHBlY3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1wYXRoc3BlYy1mcm9tLWZpbGUgZnJvbSBmaWxlJyAnCisJcmVzdG9yZV9jaGVja3BvaW50ICYmCisKKwllY2hvIGZpbGVBLnQgPmxpc3QgJiYKKwlnaXQgY2hlY2tvdXQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9bGlzdCBIRUFEXjEgJiYKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlNICBmaWxlQS50CisJRU9GCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdOVUwgZGVsaW1pdGVycycgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJcHJpbnRmICJmaWxlQS50XDBmaWxlQi50XDAiIHwgZ2l0IGNoZWNrb3V0IC0tcGF0aHNwZWMtZnJvbS1maWxlPS0gLS1wYXRoc3BlYy1maWxlLW51bCBIRUFEXjEgJiYKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlNICBmaWxlQS50CisJTSAgZmlsZUIudAorCUVPRgorCXZlcmlmeV9leHBlY3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnTEYgZGVsaW1pdGVycycgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJcHJpbnRmICJmaWxlQS50XG5maWxlQi50XG4iIHwgZ2l0IGNoZWNrb3V0IC0tcGF0aHNwZWMtZnJvbS1maWxlPS0gSEVBRF4xICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJTSAgZmlsZUEudAorCU0gIGZpbGVCLnQKKwlFT0YKKwl2ZXJpZnlfZXhwZWN0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vIHRyYWlsaW5nIGRlbGltaXRlcicgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJcHJpbnRmICJmaWxlQS50XG5maWxlQi50IiB8IGdpdCBjaGVja291dCAtLXBhdGhzcGVjLWZyb20tZmlsZT0tIEhFQUReMSAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCU0gIGZpbGVBLnQKKwlNICBmaWxlQi50CisJRU9GCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdDUkxGIGRlbGltaXRlcnMnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCXByaW50ZiAiZmlsZUEudFxyXG5maWxlQi50XHJcbiIgfCBnaXQgY2hlY2tvdXQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9LSBIRUFEXjEgJiYKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlNICBmaWxlQS50CisJTSAgZmlsZUIudAorCUVPRgorCXZlcmlmeV9leHBlY3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncXVvdGVzJyAnCisJcmVzdG9yZV9jaGVja3BvaW50ICYmCisKKwljYXQgPmxpc3QgPDwtXEVPRiAmJgorCSJmaWxlXDEwMS50IgorCUVPRgorCisJZ2l0IGNoZWNrb3V0IC0tcGF0aHNwZWMtZnJvbS1maWxlPWxpc3QgSEVBRF4xICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJTSAgZmlsZUEudAorCUVPRgorCXZlcmlmeV9leHBlY3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncXVvdGVzIG5vdCBjb21wYXRpYmxlIHdpdGggLS1wYXRoc3BlYy1maWxlLW51bCcgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJY2F0ID5saXN0IDw8LVxFT0YgJiYKKwkiZmlsZVwxMDEudCIKKwlFT0YKKworCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVja291dCAtLXBhdGhzcGVjLWZyb20tZmlsZT1saXN0IC0tcGF0aHNwZWMtZmlsZS1udWwgSEVBRF4xCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ29ubHkgdG91Y2hlcyB3aGF0IHdhcyBsaXN0ZWQnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCXByaW50ZiAiZmlsZUIudFxuZmlsZUMudFxuIiB8IGdpdCBjaGVja291dCAtLXBhdGhzcGVjLWZyb20tZmlsZT0tIEhFQUReMSAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCU0gIGZpbGVCLnQKKwlNICBmaWxlQy50CisJRU9GCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdlcnJvciBjb25kaXRpb25zJyAnCisJcmVzdG9yZV9jaGVja3BvaW50ICYmCisJZWNobyBmaWxlQS50ID5saXN0ICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgY2hlY2tvdXQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9bGlzdCAtLWRldGFjaCAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgLWUgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tZGV0YWNoIiBlcnIgJiYKKworCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVja291dCAtLXBhdGhzcGVjLWZyb20tZmlsZT1saXN0IC0tcGF0Y2ggMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwIC1lICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLXBhdGNoIiBlcnIgJiYKKworCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVja291dCAtLXBhdGhzcGVjLWZyb20tZmlsZT1saXN0IC0tIGZpbGVBLnQgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwIC1lICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCBwYXRoc3BlYyBhcmd1bWVudHMiIGVyciAmJgorCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZWNrb3V0IC0tcGF0aHNwZWMtZmlsZS1udWwgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwIC1lICItLXBhdGhzcGVjLWZpbGUtbnVsIHJlcXVpcmVzIC0tcGF0aHNwZWMtZnJvbS1maWxlIiBlcnIKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QyMDYwLXN3aXRjaC5zaCBiL3QvdDIwNjAtc3dpdGNoLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY5ZWZhMjkKLS0tIC9kZXYvbnVsbAorKysgYi90L3QyMDYwLXN3aXRjaC5zaApAQCAtMCwwICsxLDk2IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nc3dpdGNoIGJhc2ljIGZ1bmN0aW9uYWxpdHknCisKKy4gLi90ZXN0LWxpYi5zaAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJworCXRlc3RfY29tbWl0IGZpcnN0ICYmCisJZ2l0IGJyYW5jaCBmaXJzdC1icmFuY2ggJiYKKwl0ZXN0X2NvbW1pdCBzZWNvbmQgJiYKKwl0ZXN0X2NvbW1pdCB0aGlyZCAmJgorCWdpdCByZW1vdGUgYWRkIG9yaWdpbiBub2hvc3Q6L25vcGF0aCAmJgorCWdpdCB1cGRhdGUtcmVmIHJlZnMvcmVtb3Rlcy9vcmlnaW4vZm9vIGZpcnN0LWJyYW5jaAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzd2l0Y2ggYnJhbmNoIG5vIGFyZ3VtZW50cycgJworCXRlc3RfbXVzdF9mYWlsIGdpdCBzd2l0Y2gKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3dpdGNoIGJyYW5jaCcgJworCWdpdCBzd2l0Y2ggZmlyc3QtYnJhbmNoICYmCisJdGVzdF9wYXRoX2lzX21pc3Npbmcgc2Vjb25kLnQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3dpdGNoIGFuZCBkZXRhY2gnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgZ2l0IHN3aXRjaCBtYXN0ZXIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgc3dpdGNoIG1hc3Rlcl57Y29tbWl0fSAmJgorCWdpdCBzd2l0Y2ggLS1kZXRhY2ggbWFzdGVyXntjb21taXR9ICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHN5bWJvbGljLXJlZiBIRUFECisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N3aXRjaCBhbmQgZGV0YWNoIGN1cnJlbnQgYnJhbmNoJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkIGdpdCBzd2l0Y2ggbWFzdGVyICYmCisJZ2l0IHN3aXRjaCBtYXN0ZXIgJiYKKwlnaXQgc3dpdGNoIC0tZGV0YWNoICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHN5bWJvbGljLXJlZiBIRUFECisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N3aXRjaCBhbmQgY3JlYXRlIGJyYW5jaCcgJworCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgc3dpdGNoIG1hc3RlciAmJgorCWdpdCBzd2l0Y2ggLWMgdGVtcCBtYXN0ZXJeICYmCisJdGVzdF9jbXBfcmV2IG1hc3Rlcl4gcmVmcy9oZWFkcy90ZW1wICYmCisJZWNobyByZWZzL2hlYWRzL3RlbXAgPmV4cGVjdGVkLWJyYW5jaCAmJgorCWdpdCBzeW1ib2xpYy1yZWYgSEVBRCA+YWN0dWFsLWJyYW5jaCAmJgorCXRlc3RfY21wIGV4cGVjdGVkLWJyYW5jaCBhY3R1YWwtYnJhbmNoCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZvcmNlIGNyZWF0ZSBicmFuY2ggZnJvbSBIRUFEJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkIGdpdCBzd2l0Y2ggbWFzdGVyICYmCisJZ2l0IHN3aXRjaCAtLWRldGFjaCBtYXN0ZXIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgc3dpdGNoIC1jIHRlbXAgJiYKKwlnaXQgc3dpdGNoIC1DIHRlbXAgJiYKKwl0ZXN0X2NtcF9yZXYgbWFzdGVyIHJlZnMvaGVhZHMvdGVtcCAmJgorCWVjaG8gcmVmcy9oZWFkcy90ZW1wID5leHBlY3RlZC1icmFuY2ggJiYKKwlnaXQgc3ltYm9saWMtcmVmIEhFQUQgPmFjdHVhbC1icmFuY2ggJiYKKwl0ZXN0X2NtcCBleHBlY3RlZC1icmFuY2ggYWN0dWFsLWJyYW5jaAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICduZXcgb3JwaGFuIGJyYW5jaCBmcm9tIGVtcHR5JyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkIGdpdCBzd2l0Y2ggbWFzdGVyICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHN3aXRjaCAtLW9ycGhhbiBuZXctb3JwaGFuIEhFQUQgJiYKKwlnaXQgc3dpdGNoIC0tb3JwaGFuIG5ldy1vcnBoYW4gJiYKKwl0ZXN0X2NvbW1pdCBvcnBoYW4gJiYKKwlnaXQgY2F0LWZpbGUgY29tbWl0IHJlZnMvaGVhZHMvbmV3LW9ycGhhbiA+Y29tbWl0ICYmCisJISBncmVwIF5wYXJlbnQgY29tbWl0ICYmCisJZ2l0IGxzLWZpbGVzID50cmFja2VkLWZpbGVzICYmCisJZWNobyBvcnBoYW4udCA+ZXhwZWN0ZWQgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCB0cmFja2VkLWZpbGVzCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N3aXRjaGluZyBpZ25vcmVzIGZpbGUgb2Ygc2FtZSBicmFuY2ggbmFtZScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgc3dpdGNoIG1hc3RlciAmJgorCTogPmZpcnN0LWJyYW5jaCAmJgorCWdpdCBzd2l0Y2ggZmlyc3QtYnJhbmNoICYmCisJZWNobyByZWZzL2hlYWRzL2ZpcnN0LWJyYW5jaCA+ZXhwZWN0ZWQgJiYKKwlnaXQgc3ltYm9saWMtcmVmIEhFQUQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdndWVzcyBhbmQgY3JlYXRlIGJyYW5jaCAnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgZ2l0IHN3aXRjaCBtYXN0ZXIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgc3dpdGNoIC0tbm8tZ3Vlc3MgZm9vICYmCisJZ2l0IHN3aXRjaCBmb28gJiYKKwllY2hvIHJlZnMvaGVhZHMvZm9vID5leHBlY3RlZCAmJgorCWdpdCBzeW1ib2xpYy1yZWYgSEVBRCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vdCBzd2l0Y2hpbmcgd2hlbiBzb21ldGhpbmcgaXMgaW4gcHJvZ3Jlc3MnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgcm0gLWYgLmdpdC9NRVJHRV9IRUFEICYmCisJIyBmYWtlIGEgbWVyZ2UtaW4tcHJvZ3Jlc3MKKwljcCAuZ2l0L0hFQUQgLmdpdC9NRVJHRV9IRUFEICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHN3aXRjaCAtZCBAXgorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDIwNzAtcmVzdG9yZS5zaCBiL3QvdDIwNzAtcmVzdG9yZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNzZkMGRmCi0tLSAvZGV2L251bGwKKysrIGIvdC90MjA3MC1yZXN0b3JlLnNoCkBAIC0wLDAgKzEsMTI2IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ncmVzdG9yZSBiYXNpYyBmdW5jdGlvbmFsaXR5JworCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKKwl0ZXN0X2NvbW1pdCBmaXJzdCAmJgorCWVjaG8gZmlyc3QtYW5kLWEtaGFsZiA+PmZpcnN0LnQgJiYKKwlnaXQgYWRkIGZpcnN0LnQgJiYKKwl0ZXN0X2NvbW1pdCBzZWNvbmQgJiYKKwllY2hvIG9uZSA+b25lICYmCisJZWNobyB0d28gPnR3byAmJgorCWVjaG8gdW50cmFja2VkID51bnRyYWNrZWQgJiYKKwllY2hvIGlnbm9yZWQgPmlnbm9yZWQgJiYKKwllY2hvIC9pZ25vcmVkID4uZ2l0aWdub3JlICYmCisJZ2l0IGFkZCBvbmUgdHdvIC5naXRpZ25vcmUgJiYKKwlnaXQgdXBkYXRlLXJlZiByZWZzL2hlYWRzL29uZSBtYXN0ZXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVzdG9yZSB3aXRob3V0IHBhdGhzcGVjIGlzIG5vdCBvaycgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXN0b3JlICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlc3RvcmUgLS1zb3VyY2U9Zmlyc3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVzdG9yZSBhIGZpbGUsIGlnbm9yaW5nIGJyYW5jaCBvZiBzYW1lIG5hbWUnICcKKwljYXQgb25lID5leHBlY3RlZCAmJgorCWVjaG8gZGlydHkgPj5vbmUgJiYKKwlnaXQgcmVzdG9yZSBvbmUgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBvbmUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVzdG9yZSBhIGZpbGUgb24gd29ya3RyZWUgZnJvbSBhbm90aGVyIHJlZicgJworCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgcmVzZXQgLS1oYXJkICYmCisJZ2l0IGNhdC1maWxlIGJsb2IgZmlyc3Q6Li9maXJzdC50ID5leHBlY3RlZCAmJgorCWdpdCByZXN0b3JlIC0tc291cmNlPWZpcnN0IGZpcnN0LnQgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBmaXJzdC50ICYmCisJZ2l0IGNhdC1maWxlIGJsb2IgSEVBRDouL2ZpcnN0LnQgPmV4cGVjdGVkICYmCisJZ2l0IHNob3cgOmZpcnN0LnQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXN0b3JlIGEgZmlsZSBpbiB0aGUgaW5kZXggZnJvbSBhbm90aGVyIHJlZicgJworCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgcmVzZXQgLS1oYXJkICYmCisJZ2l0IGNhdC1maWxlIGJsb2IgZmlyc3Q6Li9maXJzdC50ID5leHBlY3RlZCAmJgorCWdpdCByZXN0b3JlIC0tc291cmNlPWZpcnN0IC0tc3RhZ2VkIGZpcnN0LnQgJiYKKwlnaXQgc2hvdyA6Zmlyc3QudCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCisJZ2l0IGNhdC1maWxlIGJsb2IgSEVBRDouL2ZpcnN0LnQgPmV4cGVjdGVkICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgZmlyc3QudAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXN0b3JlIGEgZmlsZSBpbiBib3RoIHRoZSBpbmRleCBhbmQgd29ya3RyZWUgZnJvbSBhbm90aGVyIHJlZicgJworCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgcmVzZXQgLS1oYXJkICYmCisJZ2l0IGNhdC1maWxlIGJsb2IgZmlyc3Q6Li9maXJzdC50ID5leHBlY3RlZCAmJgorCWdpdCByZXN0b3JlIC0tc291cmNlPWZpcnN0IC0tc3RhZ2VkIC0td29ya3RyZWUgZmlyc3QudCAmJgorCWdpdCBzaG93IDpmaXJzdC50ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBmaXJzdC50CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jlc3RvcmUgLS1zdGFnZWQgdXNlcyBIRUFEIGFzIHNvdXJjZScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgcmVzZXQgLS1oYXJkICYmCisJZ2l0IGNhdC1maWxlIGJsb2IgOi4vZmlyc3QudCA+ZXhwZWN0ZWQgJiYKKwllY2hvIGluZGV4LWRpcnR5ID4+Zmlyc3QudCAmJgorCWdpdCBhZGQgZmlyc3QudCAmJgorCWdpdCByZXN0b3JlIC0tc3RhZ2VkIGZpcnN0LnQgJiYKKwlnaXQgY2F0LWZpbGUgYmxvYiA6Li9maXJzdC50ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVzdG9yZSAtLWlnbm9yZS11bm1lcmdlZCBpZ25vcmVzIHVubWVyZ2VkIGVudHJpZXMnICcKKwlnaXQgaW5pdCB1bm1lcmdlZCAmJgorCSgKKwkJY2QgdW5tZXJnZWQgJiYKKwkJZWNobyBvbmUgPnVubWVyZ2VkICYmCisJCWVjaG8gb25lID5jb21tb24gJiYKKwkJZ2l0IGFkZCB1bm1lcmdlZCBjb21tb24gJiYKKwkJZ2l0IGNvbW1pdCAtbSBjb21tb24gJiYKKwkJZ2l0IHN3aXRjaCAtYyBmaXJzdCAmJgorCQllY2hvIGZpcnN0ID51bm1lcmdlZCAmJgorCQlnaXQgY29tbWl0IC1hbSBmaXJzdCAmJgorCQlnaXQgc3dpdGNoIC1jIHNlY29uZCBtYXN0ZXIgJiYKKwkJZWNobyBzZWNvbmQgPnVubWVyZ2VkICYmCisJCWdpdCBjb21taXQgLWFtIHNlY29uZCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgZmlyc3QgJiYKKworCQllY2hvIGRpcnR5ID4+Y29tbW9uICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCByZXN0b3JlIC4gJiYKKworCQlnaXQgcmVzdG9yZSAtLWlnbm9yZS11bm1lcmdlZCAtLXF1aWV0IC4gPm91dHB1dCAyPiYxICYmCisJCWdpdCBkaWZmIGNvbW1vbiA+ZGlmZi1vdXRwdXQgJiYKKwkJdGVzdF9tdXN0X2JlX2VtcHR5IG91dHB1dCAmJgorCQl0ZXN0X211c3RfYmVfZW1wdHkgZGlmZi1vdXRwdXQKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jlc3RvcmUgLS1zdGFnZWQgYWRkcyBkZWxldGVkIGludGVudC10by1hZGQgZmlsZSBiYWNrIHRvIGluZGV4JyAnCisJZWNobyAibm9uZW1wdHkiID5ub25lbXB0eSAmJgorCT5lbXB0eSAmJgorCWdpdCBhZGQgbm9uZW1wdHkgZW1wdHkgJiYKKwlnaXQgY29tbWl0IC1tICJjcmVhdGUgZmlsZXMgdG8gYmUgZGVsZXRlZCIgJiYKKwlnaXQgcm0gLS1jYWNoZWQgbm9uZW1wdHkgZW1wdHkgJiYKKwlnaXQgYWRkIC1OIG5vbmVtcHR5IGVtcHR5ICYmCisJZ2l0IHJlc3RvcmUgLS1zdGFnZWQgbm9uZW1wdHkgZW1wdHkgJiYKKwlnaXQgZGlmZiAtLWNhY2hlZCAtLWV4aXQtY29kZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXN0b3JlIC0tc3RhZ2VkIGludmFsaWRhdGVzIGNhY2hlIHRyZWUgZm9yIGRlbGV0aW9ucycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgcmVzZXQgLS1oYXJkICYmCisJPm5ldzEgJiYKKwk+bmV3MiAmJgorCWdpdCBhZGQgbmV3MSBuZXcyICYmCisKKwkjIEl0IGlzIGltcG9ydGFudCB0byBjb21taXQgYW5kIHRoZW4gcmVzZXQgaGVyZSwgc28gdGhhdCB0aGUgaW5kZXgKKwkjIGNvbnRhaW5zIGEgdmFsaWQgY2FjaGUtdHJlZSBmb3IgdGhlICJib3RoIiB0cmVlLgorCWdpdCBjb21taXQgLW0gYm90aCAmJgorCWdpdCByZXNldCAtLXNvZnQgSEVBRF4gJiYKKworCWdpdCByZXN0b3JlIC0tc3RhZ2VkIG5ldzEgJiYKKwlnaXQgY29tbWl0IC1tICJqdXN0IG5ldzIiICYmCisJZ2l0IHJldi1wYXJzZSBIRUFEOm5ldzIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIEhFQUQ6bmV3MQorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDIwNzEtcmVzdG9yZS1wYXRjaC5zaCBiL3QvdDIwNzEtcmVzdG9yZS1wYXRjaC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45OGIyNDc2Ci0tLSAvZGV2L251bGwKKysrIGIvdC90MjA3MS1yZXN0b3JlLXBhdGNoLnNoCkBAIC0wLDAgKzEsMTEwIEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nZ2l0IHJlc3RvcmUgLS1wYXRjaCcKKworLiAuL2xpYi1wYXRjaC1tb2RlLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnc2V0dXAnICcKKwlta2RpciBkaXIgJiYKKwllY2hvIHBhcmVudCA+ZGlyL2ZvbyAmJgorCWVjaG8gZHVtbXkgPmJhciAmJgorCWdpdCBhZGQgYmFyIGRpci9mb28gJiYKKwlnaXQgY29tbWl0IC1tIGluaXRpYWwgJiYKKwl0ZXN0X3RpY2sgJiYKKwl0ZXN0X2NvbW1pdCBzZWNvbmQgZGlyL2ZvbyBoZWFkICYmCisJc2V0X2FuZF9zYXZlX3N0YXRlIGJhciBiYXJfd29yayBiYXJfaW5kZXggJiYKKwlzYXZlX2hlYWQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdyZXN0b3JlIC1wIHdpdGhvdXQgcGF0aHNwZWMgaXMgZmluZScgJworCWVjaG8gcSA+Y21kICYmCisJZ2l0IHJlc3RvcmUgLXAgPGNtZAorJworCisjIG5vdGU6IGJhciBzb3J0cyBiZWZvcmUgZGlyL2Zvbywgc28gdGhlIGZpcnN0ICduJyBpcyBhbHdheXMgdG8gc2tpcCAnYmFyJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ3NheWluZyAibiIgZG9lcyBub3RoaW5nJyAnCisJc2V0X2FuZF9zYXZlX3N0YXRlIGRpci9mb28gd29yayBoZWFkICYmCisJdGVzdF93cml0ZV9saW5lcyBuIG4gfCBnaXQgcmVzdG9yZSAtcCAmJgorCXZlcmlmeV9zYXZlZF9zdGF0ZSBiYXIgJiYKKwl2ZXJpZnlfc2F2ZWRfc3RhdGUgZGlyL2ZvbworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ2dpdCByZXN0b3JlIC1wJyAnCisJc2V0X2FuZF9zYXZlX3N0YXRlIGRpci9mb28gd29yayBoZWFkICYmCisJdGVzdF93cml0ZV9saW5lcyBuIHkgfCBnaXQgcmVzdG9yZSAtcCAmJgorCXZlcmlmeV9zYXZlZF9zdGF0ZSBiYXIgJiYKKwl2ZXJpZnlfc3RhdGUgZGlyL2ZvbyBoZWFkIGhlYWQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdnaXQgcmVzdG9yZSAtcCB3aXRoIHN0YWdlZCBjaGFuZ2VzJyAnCisJc2V0X3N0YXRlIGRpci9mb28gd29yayBpbmRleCAmJgorCXRlc3Rfd3JpdGVfbGluZXMgbiB5IHwgZ2l0IHJlc3RvcmUgLXAgJiYKKwl2ZXJpZnlfc2F2ZWRfc3RhdGUgYmFyICYmCisJdmVyaWZ5X3N0YXRlIGRpci9mb28gaW5kZXggaW5kZXgKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdnaXQgcmVzdG9yZSAtcCAtLXNvdXJjZT1IRUFEJyAnCisJc2V0X3N0YXRlIGRpci9mb28gd29yayBpbmRleCAmJgorCSMgdGhlIHRoaXJkIG4gaXMgdG8gZ2V0IG91dCBpbiBjYXNlIGl0IG1pc3Rha2VubHkgZG9lcyBub3QgYXBwbHkKKwl0ZXN0X3dyaXRlX2xpbmVzIG4geSBuIHwgZ2l0IHJlc3RvcmUgLXAgLS1zb3VyY2U9SEVBRCAmJgorCXZlcmlmeV9zYXZlZF9zdGF0ZSBiYXIgJiYKKwl2ZXJpZnlfc3RhdGUgZGlyL2ZvbyBoZWFkIGluZGV4CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnZ2l0IHJlc3RvcmUgLXAgLS1zb3VyY2U9SEVBRF4nICcKKwlzZXRfc3RhdGUgZGlyL2ZvbyB3b3JrIGluZGV4ICYmCisJIyB0aGUgdGhpcmQgbiBpcyB0byBnZXQgb3V0IGluIGNhc2UgaXQgbWlzdGFrZW5seSBkb2VzIG5vdCBhcHBseQorCXRlc3Rfd3JpdGVfbGluZXMgbiB5IG4gfCBnaXQgcmVzdG9yZSAtcCAtLXNvdXJjZT1IRUFEXiAmJgorCXZlcmlmeV9zYXZlZF9zdGF0ZSBiYXIgJiYKKwl2ZXJpZnlfc3RhdGUgZGlyL2ZvbyBwYXJlbnQgaW5kZXgKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdnaXQgcmVzdG9yZSAtcCBoYW5kbGVzIGRlbGV0aW9uJyAnCisJc2V0X3N0YXRlIGRpci9mb28gd29yayBpbmRleCAmJgorCXJtIGRpci9mb28gJiYKKwl0ZXN0X3dyaXRlX2xpbmVzIG4geSB8IGdpdCByZXN0b3JlIC1wICYmCisJdmVyaWZ5X3NhdmVkX3N0YXRlIGJhciAmJgorCXZlcmlmeV9zdGF0ZSBkaXIvZm9vIGluZGV4IGluZGV4CisnCisKKyMgVGhlIGlkZWEgaW4gdGhlIHJlc3QgaXMgdGhhdCBiYXIgc29ydHMgZmlyc3QsIHNvIHdlIGFsd2F5cyBzYXkgJ3knCisjIGZpcnN0IGFuZCBpZiB0aGUgcGF0aCBsaW1pdGVyIGZhaWxzIGl0J2xsIGFwcGx5IHRvIGJhciBpbnN0ZWFkIG9mCisjIGRpci9mb28uICBUaGVyZSdzIGFsd2F5cyBhbiBleHRyYSAnbicgdG8gcmVqZWN0IGVkaXRzIHRvIGRpci9mb28gaW4KKyMgdGhlIGZhaWx1cmUgY2FzZSAoYW5kIHRodXMgZ2V0IG91dCBvZiB0aGUgbG9vcCkuCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAncGF0aCBsaW1pdGluZyB3b3JrczogZGlyJyAnCisJc2V0X3N0YXRlIGRpci9mb28gd29yayBoZWFkICYmCisJdGVzdF93cml0ZV9saW5lcyB5IG4gfCBnaXQgcmVzdG9yZSAtcCBkaXIgJiYKKwl2ZXJpZnlfc2F2ZWRfc3RhdGUgYmFyICYmCisJdmVyaWZ5X3N0YXRlIGRpci9mb28gaGVhZCBoZWFkCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAncGF0aCBsaW1pdGluZyB3b3JrczogLS0gZGlyJyAnCisJc2V0X3N0YXRlIGRpci9mb28gd29yayBoZWFkICYmCisJdGVzdF93cml0ZV9saW5lcyB5IG4gfCBnaXQgcmVzdG9yZSAtcCAtLSBkaXIgJiYKKwl2ZXJpZnlfc2F2ZWRfc3RhdGUgYmFyICYmCisJdmVyaWZ5X3N0YXRlIGRpci9mb28gaGVhZCBoZWFkCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAncGF0aCBsaW1pdGluZyB3b3JrczogSEVBRF4gLS0gZGlyJyAnCisJc2V0X3N0YXRlIGRpci9mb28gd29yayBoZWFkICYmCisJIyB0aGUgdGhpcmQgbiBpcyB0byBnZXQgb3V0IGluIGNhc2UgaXQgbWlzdGFrZW5seSBkb2VzIG5vdCBhcHBseQorCXRlc3Rfd3JpdGVfbGluZXMgeSBuIG4gfCBnaXQgcmVzdG9yZSAtcCAtLXNvdXJjZT1IRUFEXiAtLSBkaXIgJiYKKwl2ZXJpZnlfc2F2ZWRfc3RhdGUgYmFyICYmCisJdmVyaWZ5X3N0YXRlIGRpci9mb28gcGFyZW50IGhlYWQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdwYXRoIGxpbWl0aW5nIHdvcmtzOiBmb28gaW5zaWRlIGRpcicgJworCXNldF9zdGF0ZSBkaXIvZm9vIHdvcmsgaGVhZCAmJgorCSMgdGhlIHRoaXJkIG4gaXMgdG8gZ2V0IG91dCBpbiBjYXNlIGl0IG1pc3Rha2VubHkgZG9lcyBub3QgYXBwbHkKKwl0ZXN0X3dyaXRlX2xpbmVzIHkgbiBuIHwgKGNkIGRpciAmJiBnaXQgcmVzdG9yZSAtcCBmb28pICYmCisJdmVyaWZ5X3NhdmVkX3N0YXRlIGJhciAmJgorCXZlcmlmeV9zdGF0ZSBkaXIvZm9vIGhlYWQgaGVhZAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ25vbmUgb2YgdGhpcyBtb3ZlZCBIRUFEJyAnCisJdmVyaWZ5X3NhdmVkX2hlYWQKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QyMDcyLXJlc3RvcmUtcGF0aHNwZWMtZmlsZS5zaCBiL3QvdDIwNzItcmVzdG9yZS1wYXRoc3BlYy1maWxlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBkNDc5NDYKLS0tIC9kZXYvbnVsbAorKysgYi90L3QyMDcyLXJlc3RvcmUtcGF0aHNwZWMtZmlsZS5zaApAQCAtMCwwICsxLDE2NCBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J3Jlc3RvcmUgLS1wYXRoc3BlYy1mcm9tLWZpbGUnCisKKy4gLi90ZXN0LWxpYi5zaAorCit0ZXN0X3RpY2sKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCisJdGVzdF9jb21taXQgZmlsZTAgJiYKKworCWVjaG8gMSA+ZmlsZUEudCAmJgorCWVjaG8gMSA+ZmlsZUIudCAmJgorCWVjaG8gMSA+ZmlsZUMudCAmJgorCWVjaG8gMSA+ZmlsZUQudCAmJgorCWdpdCBhZGQgZmlsZUEudCBmaWxlQi50IGZpbGVDLnQgZmlsZUQudCAmJgorCWdpdCBjb21taXQgLW0gImZpbGVzIDEiICYmCisKKwllY2hvIDIgPmZpbGVBLnQgJiYKKwllY2hvIDIgPmZpbGVCLnQgJiYKKwllY2hvIDIgPmZpbGVDLnQgJiYKKwllY2hvIDIgPmZpbGVELnQgJiYKKwlnaXQgYWRkIGZpbGVBLnQgZmlsZUIudCBmaWxlQy50IGZpbGVELnQgJiYKKwlnaXQgY29tbWl0IC1tICJmaWxlcyAyIiAmJgorCisJZ2l0IHRhZyBjaGVja3BvaW50CisnCisKK3Jlc3RvcmVfY2hlY2twb2ludCAoKSB7CisJZ2l0IHJlc2V0IC0taGFyZCBjaGVja3BvaW50Cit9CisKK3ZlcmlmeV9leHBlY3QgKCkgeworCWdpdCBzdGF0dXMgLS1wb3JjZWxhaW4gLS11bnRyYWNrZWQtZmlsZXM9bm8gLS0gZmlsZUEudCBmaWxlQi50IGZpbGVDLnQgZmlsZUQudCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXBhdGhzcGVjLWZyb20tZmlsZSBmcm9tIHN0ZGluJyAnCisJcmVzdG9yZV9jaGVja3BvaW50ICYmCisKKwllY2hvIGZpbGVBLnQgfCBnaXQgcmVzdG9yZSAtLXBhdGhzcGVjLWZyb20tZmlsZT0tIC0tc291cmNlPUhFQUReMSAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCSBNIGZpbGVBLnQKKwlFT0YKKwl2ZXJpZnlfZXhwZWN0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcGF0aHNwZWMtZnJvbS1maWxlIGZyb20gZmlsZScgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJZWNobyBmaWxlQS50ID5saXN0ICYmCisJZ2l0IHJlc3RvcmUgLS1wYXRoc3BlYy1mcm9tLWZpbGU9bGlzdCAtLXNvdXJjZT1IRUFEXjEgJiYKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwkgTSBmaWxlQS50CisJRU9GCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdOVUwgZGVsaW1pdGVycycgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJcHJpbnRmICJmaWxlQS50XDBmaWxlQi50XDAiIHwgZ2l0IHJlc3RvcmUgLS1wYXRoc3BlYy1mcm9tLWZpbGU9LSAtLXBhdGhzcGVjLWZpbGUtbnVsIC0tc291cmNlPUhFQUReMSAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCSBNIGZpbGVBLnQKKwkgTSBmaWxlQi50CisJRU9GCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdMRiBkZWxpbWl0ZXJzJyAnCisJcmVzdG9yZV9jaGVja3BvaW50ICYmCisKKwlwcmludGYgImZpbGVBLnRcbmZpbGVCLnRcbiIgfCBnaXQgcmVzdG9yZSAtLXBhdGhzcGVjLWZyb20tZmlsZT0tIC0tc291cmNlPUhFQUReMSAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCSBNIGZpbGVBLnQKKwkgTSBmaWxlQi50CisJRU9GCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdubyB0cmFpbGluZyBkZWxpbWl0ZXInICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCXByaW50ZiAiZmlsZUEudFxuZmlsZUIudCIgfCBnaXQgcmVzdG9yZSAtLXBhdGhzcGVjLWZyb20tZmlsZT0tIC0tc291cmNlPUhFQUReMSAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCSBNIGZpbGVBLnQKKwkgTSBmaWxlQi50CisJRU9GCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdDUkxGIGRlbGltaXRlcnMnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCXByaW50ZiAiZmlsZUEudFxyXG5maWxlQi50XHJcbiIgfCBnaXQgcmVzdG9yZSAtLXBhdGhzcGVjLWZyb20tZmlsZT0tIC0tc291cmNlPUhFQUReMSAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCSBNIGZpbGVBLnQKKwkgTSBmaWxlQi50CisJRU9GCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdxdW90ZXMnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCWNhdCA+bGlzdCA8PC1cRU9GICYmCisJImZpbGVcMTAxLnQiCisJRU9GCisKKwlnaXQgcmVzdG9yZSAtLXBhdGhzcGVjLWZyb20tZmlsZT1saXN0IC0tc291cmNlPUhFQUReMSAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCSBNIGZpbGVBLnQKKwlFT0YKKwl2ZXJpZnlfZXhwZWN0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3F1b3RlcyBub3QgY29tcGF0aWJsZSB3aXRoIC0tcGF0aHNwZWMtZmlsZS1udWwnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCWNhdCA+bGlzdCA8PC1cRU9GICYmCisJImZpbGVcMTAxLnQiCisJRU9GCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmVzdG9yZSAtLXBhdGhzcGVjLWZyb20tZmlsZT1saXN0IC0tcGF0aHNwZWMtZmlsZS1udWwgLS1zb3VyY2U9SEVBRF4xCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ29ubHkgdG91Y2hlcyB3aGF0IHdhcyBsaXN0ZWQnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCXByaW50ZiAiZmlsZUIudFxuZmlsZUMudFxuIiB8IGdpdCByZXN0b3JlIC0tcGF0aHNwZWMtZnJvbS1maWxlPS0gLS1zb3VyY2U9SEVBRF4xICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJIE0gZmlsZUIudAorCSBNIGZpbGVDLnQKKwlFT0YKKwl2ZXJpZnlfZXhwZWN0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Vycm9yIGNvbmRpdGlvbnMnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKwllY2hvIGZpbGVBLnQgPmxpc3QgJiYKKwk+ZW1wdHlfbGlzdCAmJgorCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlc3RvcmUgLS1wYXRoc3BlYy1mcm9tLWZpbGU9bGlzdCAtLXBhdGNoIC0tc291cmNlPUhFQUReMSAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgLWUgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tcGF0Y2giIGVyciAmJgorCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlc3RvcmUgLS1wYXRoc3BlYy1mcm9tLWZpbGU9bGlzdCAtLXNvdXJjZT1IRUFEXjEgLS0gZmlsZUEudCAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgLWUgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIHBhdGhzcGVjIGFyZ3VtZW50cyIgZXJyICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmVzdG9yZSAtLXBhdGhzcGVjLWZpbGUtbnVsIC0tc291cmNlPUhFQUReMSAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgLWUgIi0tcGF0aHNwZWMtZmlsZS1udWwgcmVxdWlyZXMgLS1wYXRoc3BlYy1mcm9tLWZpbGUiIGVyciAmJgorCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlc3RvcmUgLS1wYXRoc3BlYy1mcm9tLWZpbGU9ZW1wdHlfbGlzdCAtLXNvdXJjZT1IRUFEXjEgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwIC1lICJ5b3UgbXVzdCBzcGVjaWZ5IHBhdGgocykgdG8gcmVzdG9yZSIgZXJyCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MjEwNy11cGRhdGUtaW5kZXgtYmFzaWMuc2ggYi90L3QyMTA3LXVwZGF0ZS1pbmRleC1iYXNpYy5zaAppbmRleCAyMjQyY2QwLi5hMzBiN2NhIDEwMDc1NQotLS0gYS90L3QyMTA3LXVwZGF0ZS1pbmRleC1iYXNpYy5zaAorKysgYi90L3QyMTA3LXVwZGF0ZS1pbmRleC1iYXNpYy5zaApAQCAtOSw3ICs5LDYgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndXBkYXRlLWluZGV4IC0tbm9uc2Vuc2UgZmFpbHMnICcKIAl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLWluZGV4IC0tbm9uc2Vuc2UgMj5tc2cgJiYKLQljYXQgbXNnICYmCiAJdGVzdCAtcyBtc2cKICcKIApkaWZmIC0tZ2l0IGEvdC90MjIwMy1hZGQtaW50ZW50LnNoIGIvdC90MjIwMy1hZGQtaW50ZW50LnNoCmluZGV4IDY4ZTU0ZDUuLjViYmU4ZGMgMTAwNzU1Ci0tLSBhL3QvdDIyMDMtYWRkLWludGVudC5zaAorKysgYi90L3QyMjAzLWFkZC1pbnRlbnQuc2gKQEAgLTI0NywxMiArMjQ3LDE0IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICciZGlmZiBIRUFEIiBpbmNsdWRlcyBpdGEgYXMgbmV3IGZpbGVzJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWVjaG8gbmV3ID5uZXctaXRhICYmCisJb2lkPSQoZ2l0IGhhc2gtb2JqZWN0IG5ldy1pdGEpICYmCisJb2lkPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0ICRvaWQpICYmCiAJZ2l0IGFkZCAtTiBuZXctaXRhICYmCiAJZ2l0IGRpZmYgSEVBRCA+YWN0dWFsICYmCi0JY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKIAlkaWZmIC0tZ2l0IGEvbmV3LWl0YSBiL25ldy1pdGEKIAluZXcgZmlsZSBtb2RlIDEwMDY0NAotCWluZGV4IDAwMDAwMDAuLjNlNzU3NjUKKwlpbmRleCAwMDAwMDAwLi4kb2lkCiAJLS0tIC9kZXYvbnVsbAogCSsrKyBiL25ldy1pdGEKIAlAQCAtMCwwICsxIEBACmRpZmYgLS1naXQgYS90L3QyMDI1LXdvcmt0cmVlLWFkZC5zaCBiL3QvdDI0MDAtd29ya3RyZWUtYWRkLnNoCnNpbWlsYXJpdHkgaW5kZXggODklCnJlbmFtZSBmcm9tIHQvdDIwMjUtd29ya3RyZWUtYWRkLnNoCnJlbmFtZSB0byB0L3QyNDAwLXdvcmt0cmVlLWFkZC5zaAppbmRleCAyODZiYmEzLi41YTc0OTU0IDEwMDc1NQotLS0gYS90L3QyMDI1LXdvcmt0cmVlLWFkZC5zaAorKysgYi90L3QyNDAwLXdvcmt0cmVlLWFkZC5zaApAQCAtNDM4LDcgKzQzOCw3IEBACiAJCWNkIGZvbyAmJgogCQl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnICJicmFuY2guZm9vLnJlbW90ZSIgJiYKIAkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyAiYnJhbmNoLmZvby5tZXJnZSIgJiYKLQkJISB0ZXN0X2NtcF9yZXYgcmVmcy9yZW1vdGVzL3JlcG9fYS9mb28gcmVmcy9oZWFkcy9mb28KKwkJdGVzdF9jbXBfcmV2ICEgcmVmcy9yZW1vdGVzL3JlcG9fYS9mb28gcmVmcy9oZWFkcy9mb28KIAkpCiAnCiAKQEAgLTQ4Myw3ICs0ODMsNyBAQAogCQljZCBmb28gJiYKIAkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyAiYnJhbmNoLmZvby5yZW1vdGUiICYmCiAJCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgImJyYW5jaC5mb28ubWVyZ2UiICYmCi0JCSEgdGVzdF9jbXBfcmV2IHJlZnMvcmVtb3Rlcy9yZXBvX2EvZm9vIHJlZnMvaGVhZHMvZm9vCisJCXRlc3RfY21wX3JldiAhIHJlZnMvcmVtb3Rlcy9yZXBvX2EvZm9vIHJlZnMvaGVhZHMvZm9vCiAJKQogJwogCkBAIC01NzAsNCArNTcwLDU0IEBACiAJZ2l0IHdvcmt0cmVlIGFkZCAtLWZvcmNlIC0tZm9yY2UgLS1kZXRhY2ggZ25vbwogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICciYWRkIiBub3QgdHJpcHBlZCB1cCBieSBtYWdpYyB3b3JrdHJlZSBtYXRjaGluZyInICcKKwkjIGlmIHdvcmt0cmVlICJzdWIxL2JhciIgZXhpc3RzLCAiZ2l0IHdvcmt0cmVlIGFkZCBiYXIiIGluIGRpc3RpbmN0CisJIyBkaXJlY3RvcnkgYHN1YjJgIHNob3VsZCBub3QgbWlzdGFrZW5seSBjb21wbGFpbiB0aGF0IGBiYXJgIGlzIGFuCisJIyBhbHJlYWR5LXJlZ2lzdGVyZWQgd29ya3RyZWUKKwlta2RpciBzdWIxIHN1YjIgJiYKKwlnaXQgLUMgc3ViMSAtLWdpdC1kaXI9Li4vLmdpdCB3b3JrdHJlZSBhZGQgLS1kZXRhY2ggYm96byAmJgorCWdpdCAtQyBzdWIyIC0tZ2l0LWRpcj0uLi8uZ2l0IHdvcmt0cmVlIGFkZCAtLWRldGFjaCBib3pvCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgRlVOTllOQU1FUyAnc2FuaXRpemUgZ2VuZXJhdGVkIHdvcmt0cmVlIG5hbWUnICcKKwlnaXQgd29ya3RyZWUgYWRkIC0tZGV0YWNoICIuICB3ZWlyZCouLj8ubG9jay5sb2NrIiAmJgorCXRlc3QgLWQgLmdpdC93b3JrdHJlZXMvLS0td2VpcmQtLi0KKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnImFkZCIgc2hvdWxkIG5vdCBmYWlsIGJlY2F1c2Ugb2YgYW5vdGhlciBiYWQgd29ya3RyZWUnICcKKwlnaXQgaW5pdCBhZGQtZmFpbCAmJgorCSgKKwkJY2QgYWRkLWZhaWwgJiYKKwkJdGVzdF9jb21taXQgZmlyc3QgJiYKKwkJbWtkaXIgc3ViICYmCisJCWdpdCB3b3JrdHJlZSBhZGQgc3ViL3RvLWJlLWRlbGV0ZWQgJiYKKwkJcm0gLXJmIHN1YiAmJgorCQlnaXQgd29ya3RyZWUgYWRkIHNlY29uZAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnImFkZCIgd2l0aCB1bmluaXRpYWxpemVkIHN1Ym1vZHVsZSwgd2l0aCBzdWJtb2R1bGUucmVjdXJzZSB1bnNldCcgJworCXRlc3RfY3JlYXRlX3JlcG8gc3VibW9kdWxlICYmCisJdGVzdF9jb21taXQgLUMgc3VibW9kdWxlIGZpcnN0ICYmCisJdGVzdF9jcmVhdGVfcmVwbyBwcm9qZWN0ICYmCisJZ2l0IC1DIHByb2plY3Qgc3VibW9kdWxlIGFkZCAuLi9zdWJtb2R1bGUgJiYKKwlnaXQgLUMgcHJvamVjdCBhZGQgc3VibW9kdWxlICYmCisJdGVzdF90aWNrICYmCisJZ2l0IC1DIHByb2plY3QgY29tbWl0IC1tIGFkZF9zdWIgJiYKKwlnaXQgY2xvbmUgcHJvamVjdCBwcm9qZWN0LWNsb25lICYmCisJZ2l0IC1DIHByb2plY3QtY2xvbmUgd29ya3RyZWUgYWRkIC4uL3Byb2plY3QtMgorJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnImFkZCIgd2l0aCB1bmluaXRpYWxpemVkIHN1Ym1vZHVsZSwgd2l0aCBzdWJtb2R1bGUucmVjdXJzZSBzZXQnICcKKwlnaXQgLUMgcHJvamVjdC1jbG9uZSAtYyBzdWJtb2R1bGUucmVjdXJzZSB3b3JrdHJlZSBhZGQgLi4vcHJvamVjdC0zCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJhZGQiIHdpdGggaW5pdGlhbGl6ZWQgc3VibW9kdWxlLCB3aXRoIHN1Ym1vZHVsZS5yZWN1cnNlIHVuc2V0JyAnCisJZ2l0IC1DIHByb2plY3QtY2xvbmUgc3VibW9kdWxlIHVwZGF0ZSAtLWluaXQgJiYKKwlnaXQgLUMgcHJvamVjdC1jbG9uZSB3b3JrdHJlZSBhZGQgLi4vcHJvamVjdC00CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJhZGQiIHdpdGggaW5pdGlhbGl6ZWQgc3VibW9kdWxlLCB3aXRoIHN1Ym1vZHVsZS5yZWN1cnNlIHNldCcgJworCWdpdCAtQyBwcm9qZWN0LWNsb25lIC1jIHN1Ym1vZHVsZS5yZWN1cnNlIHdvcmt0cmVlIGFkZCAuLi9wcm9qZWN0LTUKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QyMDI2LXdvcmt0cmVlLXBydW5lLnNoIGIvdC90MjQwMS13b3JrdHJlZS1wcnVuZS5zaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gdC90MjAyNi13b3JrdHJlZS1wcnVuZS5zaApyZW5hbWUgdG8gdC90MjQwMS13b3JrdHJlZS1wcnVuZS5zaApkaWZmIC0tZ2l0IGEvdC90MjAyNy13b3JrdHJlZS1saXN0LnNoIGIvdC90MjQwMi13b3JrdHJlZS1saXN0LnNoCnNpbWlsYXJpdHkgaW5kZXggOTYlCnJlbmFtZSBmcm9tIHQvdDIwMjctd29ya3RyZWUtbGlzdC5zaApyZW5hbWUgdG8gdC90MjQwMi13b3JrdHJlZS1saXN0LnNoCmluZGV4IGJiNmZiOWIuLjY5ZmZlODYgMTAwNzU1Ci0tLSBhL3QvdDIwMjctd29ya3RyZWUtbGlzdC5zaAorKysgYi90L3QyNDAyLXdvcmt0cmVlLWxpc3Quc2gKQEAgLTE1MSw0ICsxNTEsMTAgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBzb3J0ZWQvbWFpbi9hY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnd29ya3RyZWUgcGF0aCB3aGVuIGNhbGxlZCBpbiAuZ2l0IGRpcmVjdG9yeScgJworCWdpdCB3b3JrdHJlZSBsaXN0ID5saXN0MSYmCisJZ2l0IC1DIC5naXQgd29ya3RyZWUgbGlzdCA+bGlzdDIgJiYKKwl0ZXN0X2NtcCBsaXN0MSBsaXN0MgorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDIwMjgtd29ya3RyZWUtbW92ZS5zaCBiL3QvdDI0MDMtd29ya3RyZWUtbW92ZS5zaApzaW1pbGFyaXR5IGluZGV4IDg2JQpyZW5hbWUgZnJvbSB0L3QyMDI4LXdvcmt0cmVlLW1vdmUuc2gKcmVuYW1lIHRvIHQvdDI0MDMtd29ya3RyZWUtbW92ZS5zaAppbmRleCAzM2MwMzM3Li45MzlkMThkIDEwMDc1NQotLS0gYS90L3QyMDI4LXdvcmt0cmVlLW1vdmUuc2gKKysrIGIvdC90MjQwMy13b3JrdHJlZS1tb3ZlLnNoCkBAIC0xMTIsNiArMTEyLDI2IEBACiAJZ2l0IHdvcmt0cmVlIG1vdmUgLS1mb3JjZSAtLWZvcmNlIGZsdW1wIHBsb29mCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vdmUgYSByZXBvIHdpdGggdW5pbml0aWFsaXplZCBzdWJtb2R1bGUnICcKKwlnaXQgaW5pdCB3aXRoc3ViICYmCisJKAorCQljZCB3aXRoc3ViICYmCisJCXRlc3RfY29tbWl0IGluaXRpYWwgJiYKKwkJZ2l0IHN1Ym1vZHVsZSBhZGQgIiRQV0QiLy5naXQgc3ViICYmCisJCWdpdCBjb21taXQgLW0gd2l0aHN1YiAmJgorCQlnaXQgd29ya3RyZWUgYWRkIHNlY29uZCBIRUFEICYmCisJCWdpdCB3b3JrdHJlZSBtb3ZlIHNlY29uZCB0aGlyZAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm90IG1vdmUgYSByZXBvIHdpdGggaW5pdGlhbGl6ZWQgc3VibW9kdWxlJyAnCisJKAorCQljZCB3aXRoc3ViICYmCisJCWdpdCAtQyB0aGlyZCBzdWJtb2R1bGUgdXBkYXRlICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCB3b3JrdHJlZSBtb3ZlIHRoaXJkIGZvcnRoCisJKQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZW1vdmUgbWFpbiB3b3JrdHJlZScgJwogCXRlc3RfbXVzdF9mYWlsIGdpdCB3b3JrdHJlZSByZW1vdmUgLgogJwpAQCAtMTg1LDQgKzIwNSwyMSBAQAogCSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVtb3ZlIGEgcmVwbyB3aXRoIHVuaW5pdGlhbGl6ZWQgc3VibW9kdWxlJyAnCisJKAorCQljZCB3aXRoc3ViICYmCisJCWdpdCB3b3JrdHJlZSBhZGQgdG8tcmVtb3ZlIEhFQUQgJiYKKwkJZ2l0IHdvcmt0cmVlIHJlbW92ZSB0by1yZW1vdmUKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vdCByZW1vdmUgYSByZXBvIHdpdGggaW5pdGlhbGl6ZWQgc3VibW9kdWxlJyAnCisJKAorCQljZCB3aXRoc3ViICYmCisJCWdpdCB3b3JrdHJlZSBhZGQgdG8tcmVtb3ZlIEhFQUQgJiYKKwkJZ2l0IC1DIHRvLXJlbW92ZSBzdWJtb2R1bGUgdXBkYXRlICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCB3b3JrdHJlZSByZW1vdmUgdG8tcmVtb3ZlCisJKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDIwMjktd29ya3RyZWUtY29uZmlnLnNoIGIvdC90MjQwNC13b3JrdHJlZS1jb25maWcuc2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHQvdDIwMjktd29ya3RyZWUtY29uZmlnLnNoCnJlbmFtZSB0byB0L3QyNDA0LXdvcmt0cmVlLWNvbmZpZy5zaApkaWZmIC0tZ2l0IGEvdC90MjQwNS13b3JrdHJlZS1zdWJtb2R1bGUuc2ggYi90L3QyNDA1LXdvcmt0cmVlLXN1Ym1vZHVsZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lMWIyYmZkCi0tLSAvZGV2L251bGwKKysrIGIvdC90MjQwNS13b3JrdHJlZS1zdWJtb2R1bGUuc2gKQEAgLTAsMCArMSw5MCBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J0NvbWJpbmF0aW9uIG9mIHN1Ym1vZHVsZXMgYW5kIG11bHRpcGxlIHdvcmt0cmVlcycKKworLiAuL3Rlc3QtbGliLnNoCisKK2Jhc2VfcGF0aD0kKHB3ZCAtUCkKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXA6IGNyZWF0ZSBvcmlnaW4gcmVwb3MnICAnCisJZ2l0IGluaXQgb3JpZ2luL3N1YiAmJgorCXRlc3RfY29tbWl0IC1DIG9yaWdpbi9zdWIgZmlsZTEgJiYKKwlnaXQgaW5pdCBvcmlnaW4vbWFpbiAmJgorCXRlc3RfY29tbWl0IC1DIG9yaWdpbi9tYWluIGZpcnN0ICYmCisJZ2l0IC1DIG9yaWdpbi9tYWluIHN1Ym1vZHVsZSBhZGQgLi4vc3ViICYmCisJZ2l0IC1DIG9yaWdpbi9tYWluIGNvbW1pdCAtbSAiYWRkIHN1YiIgJiYKKwl0ZXN0X2NvbW1pdCAtQyBvcmlnaW4vc3ViICJmaWxlMSB1cGRhdGVkIiBmaWxlMSBmaWxlMXVwZGF0ZWQgZmlsZTF1cGRhdGVkICYmCisJZ2l0IC1DIG9yaWdpbi9tYWluL3N1YiBwdWxsICYmCisJZ2l0IC1DIG9yaWdpbi9tYWluIGFkZCBzdWIgJiYKKwlnaXQgLUMgb3JpZ2luL21haW4gY29tbWl0IC1tICJzdWIgdXBkYXRlZCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXA6IGNsb25lIHN1cGVycHJvamVjdCB0byBjcmVhdGUgbWFpbiB3b3JrdHJlZScgJworCWdpdCBjbG9uZSAtLXJlY3Vyc2l2ZSAiJGJhc2VfcGF0aC9vcmlnaW4vbWFpbiIgbWFpbgorJworCityZXYxX2hhc2hfbWFpbj0kKGdpdCAtLWdpdC1kaXI9b3JpZ2luL21haW4vLmdpdCBzaG93IC0tcHJldHR5PWZvcm1hdDolaCAtcSAiSEVBRH4xIikKK3JldjFfaGFzaF9zdWI9JChnaXQgLS1naXQtZGlyPW9yaWdpbi9zdWIvLmdpdCBzaG93IC0tcHJldHR5PWZvcm1hdDolaCAtcSAiSEVBRH4xIikKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYWRkIHN1cGVycHJvamVjdCB3b3JrdHJlZScgJworCWdpdCAtQyBtYWluIHdvcmt0cmVlIGFkZCAiJGJhc2VfcGF0aC93b3JrdHJlZSIgIiRyZXYxX2hhc2hfbWFpbiIKKycKKwordGVzdF9leHBlY3RfZmFpbHVyZSAnc3VibW9kdWxlIGlzIGNoZWNrZWQgb3V0IGp1c3QgYWZ0ZXIgd29ya3RyZWUgYWRkJyAnCisJZ2l0IC1DIHdvcmt0cmVlIGRpZmYgLS1zdWJtb2R1bGUgbWFzdGVyIl4hIiA+b3V0ICYmCisJZ3JlcCAiZmlsZTEgdXBkYXRlZCIgb3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FkZCBzdXBlcnByb2plY3Qgd29ya3RyZWUgYW5kIGluaXRpYWxpemUgc3VibW9kdWxlcycgJworCWdpdCAtQyBtYWluIHdvcmt0cmVlIGFkZCAiJGJhc2VfcGF0aC93b3JrdHJlZS1zdWJtb2R1bGUtdXBkYXRlIiAiJHJldjFfaGFzaF9tYWluIiAmJgorCWdpdCAtQyB3b3JrdHJlZS1zdWJtb2R1bGUtdXBkYXRlIHN1Ym1vZHVsZSB1cGRhdGUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3VibW9kdWxlIGlzIGNoZWNrZWQgb3V0IGp1c3QgYWZ0ZXIgc3VibW9kdWxlIHVwZGF0ZSBpbiBsaW5rZWQgd29ya3RyZWUnICcKKwlnaXQgLUMgd29ya3RyZWUtc3VibW9kdWxlLXVwZGF0ZSBkaWZmIC0tc3VibW9kdWxlIG1hc3RlciJeISIgPm91dCAmJgorCWdyZXAgImZpbGUxIHVwZGF0ZWQiIG91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhZGQgc3VwZXJwcm9qZWN0IHdvcmt0cmVlIGFuZCBtYW51YWxseSBhZGQgc3VibW9kdWxlIHdvcmt0cmVlJyAnCisJZ2l0IC1DIG1haW4gd29ya3RyZWUgYWRkICIkYmFzZV9wYXRoL2xpbmtlZF9zdWJtb2R1bGUiICIkcmV2MV9oYXNoX21haW4iICYmCisJZ2l0IC1DIG1haW4vc3ViIHdvcmt0cmVlIGFkZCAiJGJhc2VfcGF0aC9saW5rZWRfc3VibW9kdWxlL3N1YiIgIiRyZXYxX2hhc2hfc3ViIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgaXMgY2hlY2tlZCBvdXQgYWZ0ZXIgbWFudWFsbHkgYWRkaW5nIHN1Ym1vZHVsZSB3b3JrdHJlZScgJworCWdpdCAtQyBsaW5rZWRfc3VibW9kdWxlIGRpZmYgLS1zdWJtb2R1bGUgbWFzdGVyIl4hIiA+b3V0ICYmCisJZ3JlcCAiZmlsZTEgdXBkYXRlZCIgb3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IC0tcmVjdXJzZS1zdWJtb2R1bGVzIHVzZXMgJEdJVF9ESVIgZm9yIHN1Ym1vZHVsZXMgaW4gYSBsaW5rZWQgd29ya3RyZWUnICcKKwlnaXQgLUMgbWFpbiB3b3JrdHJlZSBhZGQgIiRiYXNlX3BhdGgvY2hlY2tvdXQtcmVjdXJzZSIgLS1kZXRhY2ggICYmCisJZ2l0IC1DIGNoZWNrb3V0LXJlY3Vyc2Ugc3VibW9kdWxlIHVwZGF0ZSAtLWluaXQgJiYKKwllY2hvICJnaXRkaXI6IC4uLy4uL21haW4vLmdpdC93b3JrdHJlZXMvY2hlY2tvdXQtcmVjdXJzZS9tb2R1bGVzL3N1YiIgPmV4cGVjdC1naXRmaWxlICYmCisJY2F0IGNoZWNrb3V0LXJlY3Vyc2Uvc3ViLy5naXQgPmFjdHVhbC1naXRmaWxlICYmCisJdGVzdF9jbXAgZXhwZWN0LWdpdGZpbGUgYWN0dWFsLWdpdGZpbGUgJiYKKwlnaXQgLUMgbWFpbi9zdWIgcmV2LXBhcnNlIEhFQUQgPmV4cGVjdC1oZWFkLW1haW4gJiYKKwlnaXQgLUMgY2hlY2tvdXQtcmVjdXJzZSBjaGVja291dCAtLXJlY3Vyc2Utc3VibW9kdWxlcyBIRUFEfjEgJiYKKwljYXQgY2hlY2tvdXQtcmVjdXJzZS9zdWIvLmdpdCA+YWN0dWFsLWdpdGZpbGUgJiYKKwlnaXQgLUMgbWFpbi9zdWIgcmV2LXBhcnNlIEhFQUQgPmFjdHVhbC1oZWFkLW1haW4gJiYKKwl0ZXN0X2NtcCBleHBlY3QtZ2l0ZmlsZSBhY3R1YWwtZ2l0ZmlsZSAmJgorCXRlc3RfY21wIGV4cGVjdC1oZWFkLW1haW4gYWN0dWFsLWhlYWQtbWFpbgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3JlLndvcmt0cmVlIGlzIHJlbW92ZWQgaW4gJEdJVF9ESVIvbW9kdWxlcy88bmFtZT4vY29uZmlnLCBub3QgaW4gJEdJVF9DT01NT05fRElSL21vZHVsZXMvPG5hbWU+L2NvbmZpZycgJworCWVjaG8gIi4uLy4uLy4uL3N1YiIgPmV4cGVjdC1tYWluICYmCisJZ2l0IC1DIG1haW4vc3ViIGNvbmZpZyAtLWdldCBjb3JlLndvcmt0cmVlID5hY3R1YWwtbWFpbiAmJgorCXRlc3RfY21wIGV4cGVjdC1tYWluIGFjdHVhbC1tYWluICYmCisJZWNobyAiLi4vLi4vLi4vLi4vLi4vLi4vY2hlY2tvdXQtcmVjdXJzZS9zdWIiID5leHBlY3QtbGlua2VkICYmCisJZ2l0IC1DIGNoZWNrb3V0LXJlY3Vyc2Uvc3ViIGNvbmZpZyAtLWdldCBjb3JlLndvcmt0cmVlID5hY3R1YWwtbGlua2VkICYmCisJdGVzdF9jbXAgZXhwZWN0LWxpbmtlZCBhY3R1YWwtbGlua2VkICYmCisJZ2l0IC1DIGNoZWNrb3V0LXJlY3Vyc2UgY2hlY2tvdXQgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgZmlyc3QgJiYKKwl0ZXN0X2V4cGVjdF9jb2RlIDEgZ2l0IC1DIG1haW4vLmdpdC93b3JrdHJlZXMvY2hlY2tvdXQtcmVjdXJzZS9tb2R1bGVzL3N1YiBjb25maWcgLS1nZXQgY29yZS53b3JrdHJlZSA+bGlua2VkLWNvbmZpZyAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBsaW5rZWQtY29uZmlnICYmCisJZ2l0IC1DIG1haW4vc3ViIGNvbmZpZyAtLWdldCBjb3JlLndvcmt0cmVlID5hY3R1YWwtbWFpbiAmJgorCXRlc3RfY21wIGV4cGVjdC1tYWluIGFjdHVhbC1tYWluCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Vuc2V0dGluZyBjb3JlLndvcmt0cmVlIGRvZXMgbm90IHByZXZlbnQgcnVubmluZyBjb21tYW5kcyBkaXJlY3RseSBhZ2FpbnN0IHRoZSBzdWJtb2R1bGUgcmVwb3NpdG9yeScgJworCWdpdCAtQyBtYWluLy5naXQvd29ya3RyZWVzL2NoZWNrb3V0LXJlY3Vyc2UvbW9kdWxlcy9zdWIgbG9nCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzAwMC1scy1maWxlcy1vdGhlcnMuc2ggYi90L3QzMDAwLWxzLWZpbGVzLW90aGVycy5zaAppbmRleCBhZmQ0NzU2Li4wYWVmYWRhIDEwMDc1NQotLS0gYS90L3QzMDAwLWxzLWZpbGVzLW90aGVycy5zaAorKysgYi90L3QzMDAwLWxzLWZpbGVzLW90aGVycy5zaApAQCAtMyw3ICszLDcgQEAKICMgQ29weXJpZ2h0IChjKSAyMDA1IEp1bmlvIEMgSGFtYW5vCiAjCiAKLXRlc3RfZGVzY3JpcHRpb249J2dpdCBscy1maWxlcyB0ZXN0ICgtLW90aGVycyBzaG91bGQgcGljayB1cCBzeW1saW5rcykuCit0ZXN0X2Rlc2NyaXB0aW9uPSdiYXNpYyB0ZXN0cyBmb3IgbHMtZmlsZXMgLS1vdGhlcnMKIAogVGhpcyB0ZXN0IHJ1bnMgZ2l0IGxzLWZpbGVzIC0tb3RoZXJzIHdpdGggdGhlIGZvbGxvd2luZyBvbiB0aGUKIGZpbGVzeXN0ZW0uCmRpZmYgLS1naXQgYS90L3QzMDA1LWxzLWZpbGVzLXJlbGF0aXZlLnNoIGIvdC90MzAwNS1scy1maWxlcy1yZWxhdGl2ZS5zaAppbmRleCAyMDliNGM3Li4yZWM2OWE4IDEwMDc1NQotLS0gYS90L3QzMDA1LWxzLWZpbGVzLXJlbGF0aXZlLnNoCisrKyBiL3QvdDMwMDUtbHMtZmlsZXMtcmVsYXRpdmUuc2gKQEAgLTcsMTAgKzcsNiBAQAogCiAuIC4vdGVzdC1saWIuc2gKIAotbmV3X2xpbmU9JwotJwotc3E9XCcKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAncHJlcGFyZScgJwogCTogPm5ldmVyLW1pbmQtbWUgJiYKIAlnaXQgYWRkIG5ldmVyLW1pbmQtbWUgJiYKQEAgLTQ0LDkgKzQwLDkgQEAKIAkJY2QgdG9wL3N1YiAmJgogCQlmb3IgZiBpbiAuLi95KgogCQlkbwotCQkJZWNobyAiZXJyb3I6IHBhdGhzcGVjICRzcSRmJHNxIGRpZCBub3QgbWF0Y2ggYW55IGZpbGUocykga25vd24gdG8gZ2l0IgorCQkJZWNobyAiZXJyb3I6IHBhdGhzcGVjICRTUSRmJFNRIGRpZCBub3QgbWF0Y2ggYW55IGZpbGUocykga25vd24gdG8gZ2l0IgogCQlkb25lID5leHBlY3QuZXJyICYmCi0JCWVjaG8gIkRpZCB5b3UgZm9yZ2V0IHRvICR7c3F9Z2l0IGFkZCR7c3F9PyIgPj5leHBlY3QuZXJyICYmCisJCWVjaG8gIkRpZCB5b3UgZm9yZ2V0IHRvICR7U1F9Z2l0IGFkZCR7U1F9PyIgPj5leHBlY3QuZXJyICYmCiAJCWxzIC4uL3gqID5leHBlY3Qub3V0ICYmCiAJCXRlc3RfbXVzdF9mYWlsIGdpdCBscy1maWxlcyAtYyAtLWVycm9yLXVubWF0Y2ggLi4vW3h5XSogPmFjdHVhbC5vdXQgMj5hY3R1YWwuZXJyICYmCiAJCXRlc3RfY21wIGV4cGVjdC5vdXQgYWN0dWFsLm91dCAmJgpAQCAtNTksOSArNTUsOSBAQAogCQljZCB0b3Avc3ViICYmCiAJCWZvciBmIGluIC4uL3gqCiAJCWRvCi0JCQllY2hvICJlcnJvcjogcGF0aHNwZWMgJHNxJGYkc3EgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZShzKSBrbm93biB0byBnaXQiCisJCQllY2hvICJlcnJvcjogcGF0aHNwZWMgJFNRJGYkU1EgZGlkIG5vdCBtYXRjaCBhbnkgZmlsZShzKSBrbm93biB0byBnaXQiCiAJCWRvbmUgPmV4cGVjdC5lcnIgJiYKLQkJZWNobyAiRGlkIHlvdSBmb3JnZXQgdG8gJHtzcX1naXQgYWRkJHtzcX0/IiA+PmV4cGVjdC5lcnIgJiYKKwkJZWNobyAiRGlkIHlvdSBmb3JnZXQgdG8gJHtTUX1naXQgYWRkJHtTUX0/IiA+PmV4cGVjdC5lcnIgJiYKIAkJbHMgLi4veSogPmV4cGVjdC5vdXQgJiYKIAkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGxzLWZpbGVzIC1vIC0tZXJyb3ItdW5tYXRjaCAuLi9beHldKiA+YWN0dWFsLm91dCAyPmFjdHVhbC5lcnIgJiYKIAkJdGVzdF9jbXAgZXhwZWN0Lm91dCBhY3R1YWwub3V0ICYmCmRpZmYgLS1naXQgYS90L3QzMDA3LWxzLWZpbGVzLXJlY3Vyc2Utc3VibW9kdWxlcy5zaCBiL3QvdDMwMDctbHMtZmlsZXMtcmVjdXJzZS1zdWJtb2R1bGVzLnNoCmluZGV4IDMxOGI1YmMuLjRhMDgwMDAgMTAwNzU1Ci0tLSBhL3QvdDMwMDctbHMtZmlsZXMtcmVjdXJzZS1zdWJtb2R1bGVzLnNoCisrKyBiL3QvdDMwMDctbHMtZmlsZXMtcmVjdXJzZS1zdWJtb2R1bGVzLnNoCkBAIC0xMzAsNyArMTMwLDYgQEAKIAogCWdpdCBscy1maWxlcyAtLXJlY3Vyc2Utc3VibW9kdWxlcyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgotCWNhdCBhY3R1YWwgJiYKIAlnaXQgbHMtZmlsZXMgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgIioiID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCmRpZmYgLS1naXQgYS90L3QzMDA4LWxzLWZpbGVzLWxhenktaW5pdC1uYW1lLWhhc2guc2ggYi90L3QzMDA4LWxzLWZpbGVzLWxhenktaW5pdC1uYW1lLWhhc2guc2gKaW5kZXggNjRmMDQ3My4uODVmMzcwNCAxMDA3NTUKLS0tIGEvdC90MzAwOC1scy1maWxlcy1sYXp5LWluaXQtbmFtZS1oYXNoLnNoCisrKyBiL3QvdDMwMDgtbHMtZmlsZXMtbGF6eS1pbml0LW5hbWUtaGFzaC5zaApAQCAtNCw3ICs0LDcgQEAKIAogLiAuL3Rlc3QtbGliLnNoCiAKLWlmIHRlc3QgMSAtZXEgJCgkR0lUX0JVSUxEX0RJUi90L2hlbHBlci90ZXN0LXRvb2wgb25saW5lLWNwdXMpCitpZiB0ZXN0IDEgLWVxICQodGVzdC10b29sIG9ubGluZS1jcHVzKQogdGhlbgogCXNraXBfYWxsPSdza2lwcGluZyBsYXp5LWluaXQgdGVzdHMsIHNpbmdsZSBjcHUnCiAJdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzMDA5LWxzLWZpbGVzLW90aGVycy1ub25zdWJtb2R1bGUuc2ggYi90L3QzMDA5LWxzLWZpbGVzLW90aGVycy1ub25zdWJtb2R1bGUuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTYzZjM0NgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDMwMDktbHMtZmlsZXMtb3RoZXJzLW5vbnN1Ym1vZHVsZS5zaApAQCAtMCwwICsxLDUwIEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ndGVzdCBnaXQgbHMtZmlsZXMgLS1vdGhlcnMgd2l0aCBub24tc3VibW9kdWxlIHJlcG9zaXRvcmllcworCitUaGlzIHRlc3QgcnVucyBnaXQgbHMtZmlsZXMgLS1vdGhlcnMgd2l0aCB0aGUgZm9sbG93aW5nIHdvcmtpbmcgdHJlZToKKworICAgIG5vbnJlcG8tbm8tZmlsZXMvCisgICAgICBwbGFpbiBkaXJlY3Rvcnkgd2l0aCBubyBmaWxlcworICAgIG5vbnJlcG8tdW50cmFja2VkLWZpbGUvCisgICAgICBwbGFpbiBkaXJlY3Rvcnkgd2l0aCBhbiB1bnRyYWNrZWQgZmlsZQorICAgIHJlcG8tbm8tY29tbWl0LW5vLWZpbGVzLworICAgICAgZ2l0IHJlcG9zaXRvcnkgd2l0aG91dCBhIGNvbW1pdCBvciBhIGZpbGUKKyAgICByZXBvLW5vLWNvbW1pdC11bnRyYWNrZWQtZmlsZS8KKyAgICAgIGdpdCByZXBvc2l0b3J5IHdpdGhvdXQgYSBjb21taXQgYnV0IHdpdGggYW4gdW50cmFja2VkIGZpbGUKKyAgICByZXBvLXdpdGgtY29tbWl0LW5vLWZpbGVzLworICAgICAgZ2l0IHJlcG9zaXRvcnkgd2l0aCBhIGNvbW1pdCBhbmQgbm8gdW50cmFja2VkIGZpbGVzCisgICAgcmVwby13aXRoLWNvbW1pdC11bnRyYWNrZWQtZmlsZS8KKyAgICAgIGdpdCByZXBvc2l0b3J5IHdpdGggYSBjb21taXQgYW5kIGFuIHVudHJhY2tlZCBmaWxlCisnCisKKy4gLi90ZXN0LWxpYi5zaAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cDogZGlyZWN0b3JpZXMnICcKKwlta2RpciBub25yZXBvLW5vLWZpbGVzLyAmJgorCW1rZGlyIG5vbnJlcG8tdW50cmFja2VkLWZpbGUgJiYKKwk6ID5ub25yZXBvLXVudHJhY2tlZC1maWxlL3VudHJhY2tlZCAmJgorCWdpdCBpbml0IHJlcG8tbm8tY29tbWl0LW5vLWZpbGVzICYmCisJZ2l0IGluaXQgcmVwby1uby1jb21taXQtdW50cmFja2VkLWZpbGUgJiYKKwk6ID5yZXBvLW5vLWNvbW1pdC11bnRyYWNrZWQtZmlsZS91bnRyYWNrZWQgJiYKKwlnaXQgaW5pdCByZXBvLXdpdGgtY29tbWl0LW5vLWZpbGVzICYmCisJZ2l0IC1DIHJlcG8td2l0aC1jb21taXQtbm8tZmlsZXMgY29tbWl0IC0tYWxsb3ctZW1wdHkgLW1tc2cgJiYKKwlnaXQgaW5pdCByZXBvLXdpdGgtY29tbWl0LXVudHJhY2tlZC1maWxlICYmCisJdGVzdF9jb21taXQgLUMgcmVwby13aXRoLWNvbW1pdC11bnRyYWNrZWQtZmlsZSBtc2cgJiYKKwk6ID5yZXBvLXdpdGgtY29tbWl0LXVudHJhY2tlZC1maWxlL3VudHJhY2tlZAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdscy1maWxlcyAtLW90aGVycyBoYW5kbGVzIHVudHJhY2tlZCBnaXQgcmVwb3NpdG9yaWVzJyAnCisJZ2l0IGxzLWZpbGVzIC1vID5vdXRwdXQgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwlub25yZXBvLXVudHJhY2tlZC1maWxlL3VudHJhY2tlZAorCW91dHB1dAorCXJlcG8tbm8tY29tbWl0LW5vLWZpbGVzLworCXJlcG8tbm8tY29tbWl0LXVudHJhY2tlZC1maWxlLworCXJlcG8td2l0aC1jb21taXQtbm8tZmlsZXMvCisJcmVwby13aXRoLWNvbW1pdC11bnRyYWNrZWQtZmlsZS8KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzAxMS1jb21tb24tcHJlZml4ZXMtYW5kLWRpcmVjdG9yeS10cmF2ZXJzYWwuc2ggYi90L3QzMDExLWNvbW1vbi1wcmVmaXhlcy1hbmQtZGlyZWN0b3J5LXRyYXZlcnNhbC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZGE1YjJiCi0tLSAvZGV2L251bGwKKysrIGIvdC90MzAxMS1jb21tb24tcHJlZml4ZXMtYW5kLWRpcmVjdG9yeS10cmF2ZXJzYWwuc2gKQEAgLTAsMCArMSwyMDkgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdkaXJlY3RvcnkgdHJhdmVyc2FsIGhhbmRsaW5nLCBlc3BlY2lhbGx5IHdpdGggY29tbW9uIHByZWZpeGVzJworCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKKwl0ZXN0X2NvbW1pdCBoZWxsbyAmJgorCisJPmVtcHR5ICYmCisJbWtkaXIgdW50cmFja2VkX2RpciAmJgorCT51bnRyYWNrZWRfZGlyL2VtcHR5ICYmCisJZ2l0IGluaXQgdW50cmFja2VkX3JlcG8gJiYKKwk+dW50cmFja2VkX3JlcG8vZW1wdHkgJiYKKworCWNhdCA8PC1FT0YgPi5naXRpZ25vcmUgJiYKKwlpZ25vcmVkCisJYW5faWdub3JlZF9kaXIvCisJRU9GCisJbWtkaXIgYW5faWdub3JlZF9kaXIgJiYKKwlta2RpciBhbl91bnRyYWNrZWRfZGlyICYmCisJPmFuX2lnbm9yZWRfZGlyL2lnbm9yZWQgJiYKKwk+YW5faWdub3JlZF9kaXIvdW50cmFja2VkICYmCisJPmFuX3VudHJhY2tlZF9kaXIvaWdub3JlZCAmJgorCT5hbl91bnRyYWNrZWRfZGlyL3VudHJhY2tlZAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbHMtZmlsZXMgLW8gc2hvd3MgdGhlIHJpZ2h0IGVudHJpZXMnICcKKwljYXQgPDwtRU9GID5leHBlY3QgJiYKKwkuZ2l0aWdub3JlCisJYWN0dWFsCisJYW5faWdub3JlZF9kaXIvaWdub3JlZAorCWFuX2lnbm9yZWRfZGlyL3VudHJhY2tlZAorCWFuX3VudHJhY2tlZF9kaXIvaWdub3JlZAorCWFuX3VudHJhY2tlZF9kaXIvdW50cmFja2VkCisJZW1wdHkKKwlleHBlY3QKKwl1bnRyYWNrZWRfZGlyL2VtcHR5CisJdW50cmFja2VkX3JlcG8vCisJRU9GCisJZ2l0IGxzLWZpbGVzIC1vID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBscy1maWxlcyAtbyAtLWV4Y2x1ZGUtc3RhbmRhcmQgc2hvd3MgdGhlIHJpZ2h0IGVudHJpZXMnICcKKwljYXQgPDwtRU9GID5leHBlY3QgJiYKKwkuZ2l0aWdub3JlCisJYWN0dWFsCisJYW5fdW50cmFja2VkX2Rpci91bnRyYWNrZWQKKwllbXB0eQorCWV4cGVjdAorCXVudHJhY2tlZF9kaXIvZW1wdHkKKwl1bnRyYWNrZWRfcmVwby8KKwlFT0YKKwlnaXQgbHMtZmlsZXMgLW8gLS1leGNsdWRlLXN0YW5kYXJkID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBscy1maWxlcyAtbyB1bnRyYWNrZWRfZGlyIHJlY3Vyc2VzJyAnCisJZWNobyB1bnRyYWNrZWRfZGlyL2VtcHR5ID5leHBlY3QgJiYKKwlnaXQgbHMtZmlsZXMgLW8gdW50cmFja2VkX2RpciA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbHMtZmlsZXMgLW8gdW50cmFja2VkX2Rpci8gcmVjdXJzZXMnICcKKwllY2hvIHVudHJhY2tlZF9kaXIvZW1wdHkgPmV4cGVjdCAmJgorCWdpdCBscy1maWxlcyAtbyB1bnRyYWNrZWRfZGlyLyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbHMtZmlsZXMgLW8gLS1kaXJlY3RvcnkgdW50cmFja2VkX2RpciBkb2VzIG5vdCByZWN1cnNlJyAnCisJZWNobyB1bnRyYWNrZWRfZGlyLyA+ZXhwZWN0ICYmCisJZ2l0IGxzLWZpbGVzIC1vIC0tZGlyZWN0b3J5IHVudHJhY2tlZF9kaXIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGxzLWZpbGVzIC1vIC0tZGlyZWN0b3J5IHVudHJhY2tlZF9kaXIvIGRvZXMgbm90IHJlY3Vyc2UnICcKKwllY2hvIHVudHJhY2tlZF9kaXIvID5leHBlY3QgJiYKKwlnaXQgbHMtZmlsZXMgLW8gLS1kaXJlY3RvcnkgdW50cmFja2VkX2Rpci8gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGxzLWZpbGVzIC1vIHVudHJhY2tlZF9yZXBvIGRvZXMgbm90IHJlY3Vyc2UnICcKKwllY2hvIHVudHJhY2tlZF9yZXBvLyA+ZXhwZWN0ICYmCisJZ2l0IGxzLWZpbGVzIC1vIHVudHJhY2tlZF9yZXBvID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBscy1maWxlcyAtbyB1bnRyYWNrZWRfcmVwby8gZG9lcyBub3QgcmVjdXJzZScgJworCWVjaG8gdW50cmFja2VkX3JlcG8vID5leHBlY3QgJiYKKwlnaXQgbHMtZmlsZXMgLW8gdW50cmFja2VkX3JlcG8vID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBscy1maWxlcyAtbyB1bnRyYWNrZWRfZGlyIHVudHJhY2tlZF9yZXBvIHJlY3Vyc2VzIGludG8gdW50cmFja2VkX2RpciBvbmx5JyAnCisJY2F0IDw8LUVPRiA+ZXhwZWN0ICYmCisJdW50cmFja2VkX2Rpci9lbXB0eQorCXVudHJhY2tlZF9yZXBvLworCUVPRgorCWdpdCBscy1maWxlcyAtbyB1bnRyYWNrZWRfZGlyIHVudHJhY2tlZF9yZXBvID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBscy1maWxlcyAtbyB1bnRyYWNrZWRfZGlyLyB1bnRyYWNrZWRfcmVwby8gcmVjdXJzZXMgaW50byB1bnRyYWNrZWRfZGlyIG9ubHknICcKKwljYXQgPDwtRU9GID5leHBlY3QgJiYKKwl1bnRyYWNrZWRfZGlyL2VtcHR5CisJdW50cmFja2VkX3JlcG8vCisJRU9GCisJZ2l0IGxzLWZpbGVzIC1vIHVudHJhY2tlZF9kaXIvIHVudHJhY2tlZF9yZXBvLyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbHMtZmlsZXMgLW8gLS1kaXJlY3RvcnkgdW50cmFja2VkX2RpciB1bnRyYWNrZWRfcmVwbyBkb2VzIG5vdCByZWN1cnNlJyAnCisJY2F0IDw8LUVPRiA+ZXhwZWN0ICYmCisJdW50cmFja2VkX2Rpci8KKwl1bnRyYWNrZWRfcmVwby8KKwlFT0YKKwlnaXQgbHMtZmlsZXMgLW8gLS1kaXJlY3RvcnkgdW50cmFja2VkX2RpciB1bnRyYWNrZWRfcmVwbyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbHMtZmlsZXMgLW8gLS1kaXJlY3RvcnkgdW50cmFja2VkX2Rpci8gdW50cmFja2VkX3JlcG8vIGRvZXMgbm90IHJlY3Vyc2UnICcKKwljYXQgPDwtRU9GID5leHBlY3QgJiYKKwl1bnRyYWNrZWRfZGlyLworCXVudHJhY2tlZF9yZXBvLworCUVPRgorCWdpdCBscy1maWxlcyAtbyAtLWRpcmVjdG9yeSB1bnRyYWNrZWRfZGlyLyB1bnRyYWNrZWRfcmVwby8gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGxzLWZpbGVzIC1vIC5naXQgc2hvd3Mgbm90aGluZycgJworCWdpdCBscy1maWxlcyAtbyAuZ2l0ID5hY3R1YWwgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBscy1maWxlcyAtbyAuZ2l0LyBzaG93cyBub3RoaW5nJyAnCisJZ2l0IGxzLWZpbGVzIC1vIC5naXQvID5hY3R1YWwgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgRlVOTllOQU1FUyAnZ2l0IGxzLWZpbGVzIC1vIHVudHJhY2tlZF8qIHJlY3Vyc2VzIGFwcHJvcHJpYXRlbHknICcKKwlta2RpciAidW50cmFja2VkXyoiICYmCisJPiJ1bnRyYWNrZWRfKi9lbXB0eSIgJiYKKworCWNhdCA8PC1FT0YgPmV4cGVjdCAmJgorCXVudHJhY2tlZF8qL2VtcHR5CisJdW50cmFja2VkX2Rpci9lbXB0eQorCXVudHJhY2tlZF9yZXBvLworCUVPRgorCWdpdCBscy1maWxlcyAtbyAidW50cmFja2VkXyoiID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKKyMgSXQgdHVybnMgb3V0IGZpbGxfZGlyZWN0b3J5IHJldHVybnMgdGhlIHJpZ2h0IHBhdGhzLCBidXQgbHMtZmlsZXMnIHBvc3QtY2FsbAorIyBmaWx0ZXJpbmcgaW4gc2hvd19kaXJfZW50cnkoKSB2aWEgY2FsbGluZyBkaXJfcGF0aF9tYXRjaCgpIHdoaWNoIGVuZHMgdXAKKyMgaW4gZ2l0X2ZubWF0Y2goKSBoYXMgbG9naWMgZm9yIFBBVEhTUEVDX09ORVNUQVIgdGhhdCBhc3N1bWVzIHRoZSBwYXRoc3BlYworIyBtdXN0IG1hdGNoIHRoZSBmdWxsIHBhdGg7IGl0IGRvZXNuJ3QgY2hlY2sgaXQgZm9yIG1hdGNoaW5nIGEgbGVhZGluZworIyBkaXJlY3RvcnkuCit0ZXN0X2V4cGVjdF9mYWlsdXJlIEZVTk5ZTkFNRVMgJ2dpdCBscy1maWxlcyAtbyB1bnRyYWNrZWRfKi8gcmVjdXJzZXMgYXBwcm9wcmlhdGVseScgJworCWNhdCA8PC1FT0YgPmV4cGVjdCAmJgorCXVudHJhY2tlZF8qL2VtcHR5CisJdW50cmFja2VkX2Rpci9lbXB0eQorCXVudHJhY2tlZF9yZXBvLworCUVPRgorCWdpdCBscy1maWxlcyAtbyAidW50cmFja2VkXyovIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEZVTk5ZTkFNRVMgJ2dpdCBscy1maWxlcyAtbyAtLWRpcmVjdG9yeSB1bnRyYWNrZWRfKiBkb2VzIG5vdCByZWN1cnNlJyAnCisJY2F0IDw8LUVPRiA+ZXhwZWN0ICYmCisJdW50cmFja2VkXyovCisJdW50cmFja2VkX2Rpci8KKwl1bnRyYWNrZWRfcmVwby8KKwlFT0YKKwlnaXQgbHMtZmlsZXMgLW8gLS1kaXJlY3RvcnkgInVudHJhY2tlZF8qIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEZVTk5ZTkFNRVMgJ2dpdCBscy1maWxlcyAtbyAtLWRpcmVjdG9yeSB1bnRyYWNrZWRfKi8gZG9lcyBub3QgcmVjdXJzZScgJworCWNhdCA8PC1FT0YgPmV4cGVjdCAmJgorCXVudHJhY2tlZF8qLworCXVudHJhY2tlZF9kaXIvCisJdW50cmFja2VkX3JlcG8vCisJRU9GCisJZ2l0IGxzLWZpbGVzIC1vIC0tZGlyZWN0b3J5ICJ1bnRyYWNrZWRfKi8iID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBscy1maWxlcyAtbyBjb25zaXN0ZW50IGJldHdlZW4gb25lIG9yIHR3byBkaXJzJyAnCisJZ2l0IGxzLWZpbGVzIC1vIC0tZXhjbHVkZS1zdGFuZGFyZCBhbl9pZ25vcmVkX2Rpci8gYW5fdW50cmFja2VkX2Rpci8gPnRtcCAmJgorCSEgZ3JlcCBeYW5faWdub3JlZF9kaXIvIHRtcCA+ZXhwZWN0ICYmCisJZ2l0IGxzLWZpbGVzIC1vIC0tZXhjbHVkZS1zdGFuZGFyZCBhbl9pZ25vcmVkX2Rpci8gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKworIyBscy1maWxlcyBkb2Vzbid0IGhhdmUgYSB3YXkgdG8gcmVxdWVzdCBzaG93aW5nIGJvdGggdW50cmFja2VkIGFuZCBpZ25vcmVkCisjIGZpbGVzIGF0IHRoZSBzYW1lIHRpbWUsIHNvIHVzZSBgZ2l0IHN0YXR1cyAtLWlnbm9yZWRgCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgc3RhdHVzIC0taWdub3JlZCBzaG93cyBzYW1lIGZpbGVzIHVuZGVyIGRpciB3aXRoIG9yIHdpdGhvdXQgcGF0aHNwZWMnICcKKwljYXQgPDwtRU9GID5leHBlY3QgJiYKKwk/PyBhbl91bnRyYWNrZWRfZGlyLworCSEhIGFuX3VudHJhY2tlZF9kaXIvaWdub3JlZAorCUVPRgorCWdpdCBzdGF0dXMgLS1wb3JjZWxhaW4gLS1pZ25vcmVkID5vdXRwdXQgJiYKKwlncmVwIGFuX3VudHJhY2tlZF9kaXIgb3V0cHV0ID5leHBlY3QgJiYKKwlnaXQgc3RhdHVzIC0tcG9yY2VsYWluIC0taWdub3JlZCBhbl91bnRyYWNrZWRfZGlyLyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDMwMzAtbWVyZ2UtcmVjdXJzaXZlLnNoIGIvdC90MzAzMC1tZXJnZS1yZWN1cnNpdmUuc2gKaW5kZXggZmY2NDFiMy4uZDQ4ZDIxMSAxMDA3NTUKLS0tIGEvdC90MzAzMC1tZXJnZS1yZWN1cnNpdmUuc2gKKysrIGIvdC90MzAzMC1tZXJnZS1yZWN1cnNpdmUuc2gKQEAgLTQ1Miw2ICs0NTIsMzQgQEAKIAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFNZTUxJTktTICdkaXIgaW4gd29ya2luZyB0cmVlIHdpdGggc3ltbGluayBhbmNlc3RvciBkb2VzIG5vdCBwcm9kdWNlIGQvZiBjb25mbGljdCcgJworCWdpdCBpbml0IHN5bSAmJgorCSgKKwkJY2Qgc3ltICYmCisJCWxuIC1zIC4gZm9vICYmCisJCW1rZGlyIGJhciAmJgorCQk+YmFyL2ZpbGUgJiYKKwkJZ2l0IGFkZCBmb28gYmFyL2ZpbGUgJiYKKwkJZ2l0IGNvbW1pdCAtbSAiZm9vIHN5bWxpbmsiICYmCisKKwkJZ2l0IGNoZWNrb3V0IC1iIGJyYW5jaDEgJiYKKwkJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tICJlbXB0eSBjb21taXQiICYmCisKKwkJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCQlnaXQgcm0gZm9vICYmCisJCW1rZGlyIGZvbyAmJgorCQk+Zm9vL2JhciAmJgorCQlnaXQgYWRkIGZvby9iYXIgJiYKKwkJZ2l0IGNvbW1pdCAtbSAicmVwbGFjZSBmb28gc3ltbGluayB3aXRoIHJlYWwgZm9vIGRpciBhbmQgZm9vL2JhciBmaWxlIiAmJgorCisJCWdpdCBjaGVja291dCBicmFuY2gxICYmCisKKwkJZ2l0IGNoZXJyeS1waWNrIG1hc3RlciAmJgorCQl0ZXN0X3BhdGhfaXNfZGlyIGZvbyAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSBmb28vYmFyCisJKQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXNldCBhbmQgMy13YXkgbWVyZ2UnICcKIAogCWdpdCByZXNldCAtLWhhcmQgIiRjMiIgJiYKQEAgLTU3Niw3ICs2MDQsNyBAQAogCWdpdCBjb21taXQgLW1yZW1vdmVkLWQvZSAmJgogCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKIAlnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIHJtICYmCi0JdGVzdF9tdXN0X2ZhaWwgdGVzdCAtZCBkCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgZAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtZXJnZS1yZWN1cnNpdmUgc2ltcGxlIHcvc3VibW9kdWxlJyAnCkBAIC02NjcsMTUgKzY5NSwyMiBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbWVyZ2UtcmVjdXJzaXZlIHJlbWVtYmVycyB0aGUgbmFtZXMgb2YgYWxsIGJhc2UgdHJlZXMnICcKIAlnaXQgcmVzZXQgLS1oYXJkIEhFQUQgJiYKIAorCSMgbWFrZSB0aGUgaW5kZXggbWF0Y2ggJGMxIHNvIHRoYXQgbWVyZ2UtcmVjdXJzaXZlIGJlbG93IGRvZXMgbm90CisJIyBmYWlsIGVhcmx5CisJZ2l0IGRpZmYgLS1iaW5hcnkgSEVBRCAkYzEgLS0gfCBnaXQgYXBwbHkgLS1jYWNoZWQgJiYKKwogCSMgbW9yZSB0cmVlcyB0aGFuIHN0YXRpYyBzbG90cyB1c2VkIGJ5IG9pZF90b19oZXgoKQogCWZvciBjb21taXQgaW4gJGMwICRjMiAkYzQgJGM1ICRjNiAkYzcKIAlkbwogCQlnaXQgcmV2LXBhcnNlICIkY29tbWl0Xnt0cmVlfSIKIAlkb25lID50cmVlcyAmJgogCi0JIyBpZ25vcmUgdGhlIHJldHVybiBjb2RlIC0tIGl0IG9ubHkgZmFpbHMgYmVjYXVzZSB0aGUgaW5wdXQgaXMgd2VpcmQKKwkjIGlnbm9yZSB0aGUgcmV0dXJuIGNvZGU7IGl0IG9ubHkgZmFpbHMgYmVjYXVzZSB0aGUgaW5wdXQgaXMgd2VpcmQuLi4KIAl0ZXN0X211c3RfZmFpbCBnaXQgLWMgbWVyZ2UudmVyYm9zaXR5PTUgbWVyZ2UtcmVjdXJzaXZlICQoY2F0IHRyZWVzKSAtLSAkYzEgJGMzID5vdXQgJiYKIAorCSMgLi4uYnV0IG1ha2Ugc3VyZSBpdCBmYWlscyBpbiB0aGUgZXhwZWN0ZWQgd2F5CisJdGVzdF9pMThuZ3JlcCBDT05GTElDVC4qcmVuYW1lL3JlbmFtZSBvdXQgJiYKKwogCSMgbWVyZ2UtcmVjdXJzaXZlIHByaW50cyBpbiByZXZlcnNlIG9yZGVyLCBidXQgd2UgZG8gbm90IGNhcmUKIAlzb3J0IDx0cmVlcyA+ZXhwZWN0ICYmCiAJc2VkIC1uICJzL152aXJ0dWFsIC8vcCIgb3V0IHwgc29ydCA+YWN0dWFsICYmCmRpZmYgLS1naXQgYS90L3QzMDM1LW1lcmdlLXNwYXJzZS5zaCBiL3QvdDMwMzUtbWVyZ2Utc3BhcnNlLnNoCmluZGV4IGM0YjRhOTQuLjc0NTYyZTEgMTAwNzU1Ci0tLSBhL3QvdDMwMzUtbWVyZ2Utc3BhcnNlLnNoCisrKyBiL3QvdDMwMzUtbWVyZ2Utc3BhcnNlLnNoCkBAIC0yOCw3ICsyOCw3IEBACiAJZ2l0IGNvbmZpZyBjb3JlLnNwYXJzZUNoZWNrb3V0IHRydWUgJiYKIAllY2hvICIvY2hlY2tlZC1vdXQiID4uZ2l0L2luZm8vc3BhcnNlLWNoZWNrb3V0ICYmCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgotCSEgZ2l0IG1lcmdlIHRoZWlycworCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSB0aGVpcnMKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVzZXQgLS1oYXJkIHdvcmtzIGFmdGVyIHRoZSBjb25mbGljdCcgJwpAQCAtNDIsNyArNDIsNyBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cDogY29uZmxpY3QgYmFjaycgJwotCSEgZ2l0IG1lcmdlIHRoZWlycworCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSB0aGVpcnMKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnTWVyZ2UgYWJvcnQgd29ya3MgYWZ0ZXIgdGhlIGNvbmZsaWN0JyAnCmRpZmYgLS1naXQgYS90L3QzMDYwLWxzLWZpbGVzLXdpdGgtdHJlZS5zaCBiL3QvdDMwNjAtbHMtZmlsZXMtd2l0aC10cmVlLnNoCmluZGV4IDQ0ZjM3OGMuLjUyZWQ2NjUgMTAwNzU1Ci0tLSBhL3QvdDMwNjAtbHMtZmlsZXMtd2l0aC10cmVlLnNoCisrKyBiL3QvdDMwNjAtbHMtZmlsZXMtd2l0aC10cmVlLnNoCkBAIC00Nyw3ICs0Nyw3IEBACiAJZ2l0IGFkZCAuCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCAtbHMtZmlsZXMgLS13aXRoLXRyZWUgc2hvdWxkIHN1Y2NlZWQgZnJvbSBzdWJkaXInICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBscy1maWxlcyAtLXdpdGgtdHJlZSBzaG91bGQgc3VjY2VlZCBmcm9tIHN1YmRpcicgJwogCSMgV2UgaGF2ZSB0byBydW4gZnJvbSBhIHN1Yi1kaXJlY3RvcnkgdG8gdHJpZ2dlciBwcnVuZV9wYXRoCiAJIyBUaGVuIHdlIGZpbmFsbHkgZ2V0IHRvIHJ1biBvdXIgLS13aXRoLXRyZWUgdGVzdAogCSgKQEAgLTU3LDcgKzU3LDcgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0gICAgJ2dpdCAtbHMtZmlsZXMgLS13aXRoLXRyZWUgc2hvdWxkIGFkZCBlbnRyaWVzIGZyb20gbmFtZWQgdHJlZS4nIFwKKyAgICAnZ2l0IGxzLWZpbGVzIC0td2l0aC10cmVlIHNob3VsZCBhZGQgZW50cmllcyBmcm9tIG5hbWVkIHRyZWUuJyBcCiAgICAgJ3Rlc3RfY21wIGV4cGVjdGVkIG91dHB1dCcKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzMjAwLWJyYW5jaC5zaCBiL3QvdDMyMDAtYnJhbmNoLnNoCmluZGV4IDQ3OGI4MmMuLjQxMWE3MGIgMTAwNzU1Ci0tLSBhL3QvdDMyMDAtYnJhbmNoLnNoCisrKyBiL3QvdDMyMDAtYnJhbmNoLnNoCkBAIC00Miw2ICs0MiwxMCBAQAogCWdpdCBicmFuY2ggYS9iL2MgJiYgdGVzdF9wYXRoX2lzX2ZpbGUgLmdpdC9yZWZzL2hlYWRzL2EvYi9jCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBicmFuY2ggbWIgbWFzdGVyLi4uIHNob3VsZCBjcmVhdGUgYSBicmFuY2gnICcKKwlnaXQgYnJhbmNoIG1iIG1hc3Rlci4uLiAmJiB0ZXN0X3BhdGhfaXNfZmlsZSAuZ2l0L3JlZnMvaGVhZHMvbWIKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCBIRUFEIHNob3VsZCBmYWlsJyAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGJyYW5jaCBIRUFECiAnCkBAIC0yMDIsMTggKzIwNiwyMiBAQAogCWdpdCB3b3JrdHJlZSBhZGQgLWYgYmF6ZGlyMiBiYXogJiYKIAlnaXQgYnJhbmNoIC1NIGJheiBiYW0gJiYKIAl0ZXN0ICQoZ2l0IC1DIGJhemRpciByZXYtcGFyc2UgLS1hYmJyZXYtcmVmIEhFQUQpID0gYmFtICYmCi0JdGVzdCAkKGdpdCAtQyBiYXpkaXIyIHJldi1wYXJzZSAtLWFiYnJldi1yZWYgSEVBRCkgPSBiYW0KKwl0ZXN0ICQoZ2l0IC1DIGJhemRpcjIgcmV2LXBhcnNlIC0tYWJicmV2LXJlZiBIRUFEKSA9IGJhbSAmJgorCXJtIC1yIGJhemRpciBiYXpkaXIyICYmCisJZ2l0IHdvcmt0cmVlIHBydW5lCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBicmFuY2ggLU0gYmF6IGJhbSBzaG91bGQgc3VjY2VlZCB3aXRoaW4gYSB3b3JrdHJlZSBpbiB3aGljaCBiYXogaXMgY2hlY2tlZCBvdXQnICcKIAlnaXQgY2hlY2tvdXQgLWIgYmF6ICYmCi0JZ2l0IHdvcmt0cmVlIGFkZCAtZiBiYXpkaXIzIGJheiAmJgorCWdpdCB3b3JrdHJlZSBhZGQgLWYgYmF6ZGlyIGJheiAmJgogCSgKLQkJY2QgYmF6ZGlyMyAmJgorCQljZCBiYXpkaXIgJiYKIAkJZ2l0IGJyYW5jaCAtTSBiYXogYmFtICYmCiAJCXRlc3QgJChnaXQgcmV2LXBhcnNlIC0tYWJicmV2LXJlZiBIRUFEKSA9IGJhbQogCSkgJiYKLQl0ZXN0ICQoZ2l0IHJldi1wYXJzZSAtLWFiYnJldi1yZWYgSEVBRCkgPSBiYW0KKwl0ZXN0ICQoZ2l0IHJldi1wYXJzZSAtLWFiYnJldi1yZWYgSEVBRCkgPSBiYW0gJiYKKwlybSAtciBiYXpkaXIgJiYKKwlnaXQgd29ya3RyZWUgcHJ1bmUKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCAtTSBtYXN0ZXIgc2hvdWxkIHdvcmsgd2hlbiBtYXN0ZXIgaXMgY2hlY2tlZCBvdXQnICcKQEAgLTI2NCw2ICsyNzIsMzAgQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIHJlZnMvaGVhZHMvdAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWxldGluZyBjaGVja2VkLW91dCBicmFuY2ggZnJvbSByZXBvIHRoYXQgaXMgYSBzdWJtb2R1bGUnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiByZXBvMSByZXBvMiIgJiYKKworCWdpdCBpbml0IHJlcG8xICYmCisJZ2l0IGluaXQgcmVwbzEvc3ViICYmCisJdGVzdF9jb21taXQgLUMgcmVwbzEvc3ViIHggJiYKKwlnaXQgLUMgcmVwbzEgc3VibW9kdWxlIGFkZCAuL3N1YiAmJgorCWdpdCAtQyByZXBvMSBjb21taXQgLW0gImFkZGluZyBzdWIiICYmCisKKwlnaXQgY2xvbmUgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgcmVwbzEgcmVwbzIgJiYKKwlnaXQgLUMgcmVwbzIvc3ViIGNoZWNrb3V0IC1iIHdvcmsgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgcmVwbzIvc3ViIGJyYW5jaCAtRCB3b3JrCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JhcmUgbWFpbiB3b3JrdHJlZSBoYXMgSEVBRCBhdCBicmFuY2ggZGVsZXRlZCBieSBzZWNvbmRhcnkgd29ya3RyZWUnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBub25iYXJlIGJhc2Ugc2Vjb25kYXJ5IiAmJgorCisJZ2l0IGluaXQgbm9uYmFyZSAmJgorCXRlc3RfY29tbWl0IC1DIG5vbmJhcmUgeCAmJgorCWdpdCBjbG9uZSAtLWJhcmUgbm9uYmFyZSBiYXJlICYmCisJZ2l0IC1DIGJhcmUgd29ya3RyZWUgYWRkIC0tZGV0YWNoIC4uL3NlY29uZGFyeSBtYXN0ZXIgJiYKKwlnaXQgLUMgc2Vjb25kYXJ5IGJyYW5jaCAtRCBtYXN0ZXIKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCAtLWxpc3QgLXYgd2l0aCAtLWFiYnJldicgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IGJyYW5jaCAtRCB0IiAmJgogCWdpdCBicmFuY2ggdCAmJgpAQCAtMjkyLDggKzMyNCw4IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgYnJhbmNoIC0tY29sdW1uJyAnCiAJQ09MVU1OUz04MSBnaXQgYnJhbmNoIC0tY29sdW1uPWNvbHVtbiA+YWN0dWFsICYmCiAJY2F0ID5leHBlY3RlZCA8PFxFT0YgJiYKLSAgYS9iL2MgICAgIGJhbSAgICAgICBmb28gICAgICAgbCAgICAgICAqIG1hc3RlciAgICBuICAgICAgICAgby9wICAgICAgIHIKLSAgYWJjICAgICAgIGJhciAgICAgICBqL2sgICAgICAgbS9tICAgICAgIG1hc3RlcjIgICBvL28gICAgICAgcQorICBhL2IvYyAgICAgYmFtICAgICAgIGZvbyAgICAgICBsICAgICAgICogbWFzdGVyICAgIG1iICAgICAgICBvL28gICAgICAgcQorICBhYmMgICAgICAgYmFyICAgICAgIGovayAgICAgICBtL20gICAgICAgbWFzdGVyMiAgIG4gICAgICAgICBvL3AgICAgICAgcgogRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCkBAIC0zMTUsNiArMzQ3LDcgQEAKICAgbS9tCiAqIG1hc3RlcgogICBtYXN0ZXIyCisgIG1iCiAgIG4KICAgby9vCiAgIG8vcApAQCAtMzMyLDggKzM2NSw4IEBACiAJZ2l0IGNvbmZpZyAtLXVuc2V0IGNvbHVtbi5icmFuY2ggJiYKIAlnaXQgY29uZmlnIC0tdW5zZXQgY29sdW1uLnVpICYmCiAJY2F0ID5leHBlY3RlZCA8PFxFT0YgJiYKLSAgYS9iL2MgICBiYW0gICBmb28gICBsICAgKiBtYXN0ZXIgICAgbiAgICAgby9wICAgcgotICBhYmMgICAgIGJhciAgIGovayAgIG0vbSAgIG1hc3RlcjIgICBvL28gICBxCisgIGEvYi9jICAgYmFtICAgZm9vICAgbCAgICogbWFzdGVyICAgIG1iICAgby9vICAgcQorICBhYmMgICAgIGJhciAgIGovayAgIG0vbSAgIG1hc3RlcjIgICBuICAgIG8vcCAgIHIKIEVPRgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtMzU3LDYgKzM5MCw3IEBACiAgIG0vbQogKiBtYXN0ZXIKICAgbWFzdGVyMgorICBtYgogICBuCiAgIG8vbwogICBvL3AKQEAgLTc3NCw3ICs4MDgsOSBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVsZXRpbmcgY3VycmVudGx5IGNoZWNrZWQgb3V0IGJyYW5jaCBmYWlscycgJwogCWdpdCB3b3JrdHJlZSBhZGQgLWIgbXk3IG15NyAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyBteTcgYnJhbmNoIC1kIG15NyAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCBicmFuY2ggLWQgbXk3CisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGJyYW5jaCAtZCBteTcgJiYKKwlybSAtciBteTcgJiYKKwlnaXQgd29ya3RyZWUgcHJ1bmUKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCAtLXRyYWNrIHdpdGhvdXQgLmZldGNoIGVudHJpZXMnICcKZGlmZiAtLWdpdCBhL3QvdDMyMDEtYnJhbmNoLWNvbnRhaW5zLnNoIGIvdC90MzIwMS1icmFuY2gtY29udGFpbnMuc2gKaW5kZXggMGVhNGZjNC4uNDAyNTFjOSAxMDA3NTUKLS0tIGEvdC90MzIwMS1icmFuY2gtY29udGFpbnMuc2gKKysrIGIvdC90MzIwMS1icmFuY2gtY29udGFpbnMuc2gKQEAgLTE5MiwxMCArMTkyLDEwIEBACiAJRU9GCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgogCWdpdCBicmFuY2ggLS12ZXJib3NlIC0tbWVyZ2VkIHRvcGljID5hY3R1YWwgJiYKLQljYXQgPmV4cGVjdCA8PC1cRU9GICYmCi0JICBtYXN0ZXIgYzc3YTBhOSBzZWNvbmQgb24gbWFzdGVyCi0JKiB0b3BpYyAgMmM5MzlmNCBbYWhlYWQgMV0gZm9vCi0JICB6enogICAgYzc3YTBhOSBzZWNvbmQgb24gbWFzdGVyCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJICBtYXN0ZXIgJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgbWFzdGVyKSBzZWNvbmQgb24gbWFzdGVyCisJKiB0b3BpYyAgJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgdG9waWMgKSBbYWhlYWQgMV0gZm9vCisJICB6enogICAgJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgenp6ICAgKSBzZWNvbmQgb24gbWFzdGVyCiAJRU9GCiAJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwKICcKZGlmZiAtLWdpdCBhL3QvdDMyMDMtYnJhbmNoLW91dHB1dC5zaCBiL3QvdDMyMDMtYnJhbmNoLW91dHB1dC5zaAppbmRleCBlZTY3ODc2Li43MTgxOGI5IDEwMDc1NQotLS0gYS90L3QzMjAzLWJyYW5jaC1vdXRwdXQuc2gKKysrIGIvdC90MzIwMy1icmFuY2gtb3V0cHV0LnNoCkBAIC0xMDAsNiArMTAwLDUzIEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGJyYW5jaCAtdiBicmFuY2gqCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBicmFuY2ggYC0tc2hvdy1jdXJyZW50YCBzaG93cyBjdXJyZW50IGJyYW5jaCcgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlicmFuY2gtdHdvCisJRU9GCisJZ2l0IGNoZWNrb3V0IGJyYW5jaC10d28gJiYKKwlnaXQgYnJhbmNoIC0tc2hvdy1jdXJyZW50ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBicmFuY2ggYC0tc2hvdy1jdXJyZW50YCBpcyBzaWxlbnQgd2hlbiBkZXRhY2hlZCBIRUFEJyAnCisJZ2l0IGNoZWNrb3V0IEhFQUReMCAmJgorCWdpdCBicmFuY2ggLS1zaG93LWN1cnJlbnQgPmFjdHVhbCAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGJyYW5jaCBgLS1zaG93LWN1cnJlbnRgIHdvcmtzIHByb3Blcmx5IHdoZW4gdGFnIGV4aXN0cycgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlicmFuY2gtYW5kLXRhZy1uYW1lCisJRU9GCisJdGVzdF93aGVuX2ZpbmlzaGVkICIKKwkJZ2l0IGNoZWNrb3V0IGJyYW5jaC1vbmUKKwkJZ2l0IGJyYW5jaCAtRCBicmFuY2gtYW5kLXRhZy1uYW1lCisJIiAmJgorCWdpdCBjaGVja291dCAtYiBicmFuY2gtYW5kLXRhZy1uYW1lICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgdGFnIC1kIGJyYW5jaC1hbmQtdGFnLW5hbWUiICYmCisJZ2l0IHRhZyBicmFuY2gtYW5kLXRhZy1uYW1lICYmCisJZ2l0IGJyYW5jaCAtLXNob3ctY3VycmVudCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgYnJhbmNoIGAtLXNob3ctY3VycmVudGAgd29ya3MgcHJvcGVybHkgd2l0aCB3b3JrdHJlZXMnICcKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJYnJhbmNoLW9uZQorCWJyYW5jaC10d28KKwlFT0YKKwlnaXQgY2hlY2tvdXQgYnJhbmNoLW9uZSAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiCisJCWdpdCB3b3JrdHJlZSByZW1vdmUgd29ya3RyZWVfZGlyCisJIiAmJgorCWdpdCB3b3JrdHJlZSBhZGQgd29ya3RyZWVfZGlyIGJyYW5jaC10d28gJiYKKwl7CisJCWdpdCBicmFuY2ggLS1zaG93LWN1cnJlbnQgJiYKKwkJZ2l0IC1DIHdvcmt0cmVlX2RpciBicmFuY2ggLS1zaG93LWN1cnJlbnQKKwl9ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBicmFuY2ggc2hvd3MgZGV0YWNoZWQgSEVBRCBwcm9wZXJseScgJwogCWNhdCA+ZXhwZWN0IDw8RU9GICYmCiAqIChIRUFEIGRldGFjaGVkIGF0ICQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IEhFQUReMCkpCkBAIC0yNDAsNiArMjg3LDI0IEBACiAJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnd29ya3RyZWUgY29sb3JzIGNvcnJlY3QnICcKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkqIDxHUkVFTj4oSEVBRCBkZXRhY2hlZCBmcm9tIGZyb210YWcpPFJFU0VUPgorCSAgYW1iaWd1b3VzPFJFU0VUPgorCSAgYnJhbmNoLW9uZTxSRVNFVD4KKwkrIDxDWUFOPmJyYW5jaC10d288UkVTRVQ+CisJICBtYXN0ZXI8UkVTRVQ+CisJICByZWYtdG8tYnJhbmNoPFJFU0VUPiAtPiBicmFuY2gtb25lCisJICByZWYtdG8tcmVtb3RlPFJFU0VUPiAtPiBvcmlnaW4vYnJhbmNoLW9uZQorCUVPRgorCWdpdCB3b3JrdHJlZSBhZGQgd29ya3RyZWVfZGlyIGJyYW5jaC10d28gJiYKKwlnaXQgYnJhbmNoIC0tY29sb3IgPmFjdHVhbC5yYXcgJiYKKwlybSAtciB3b3JrdHJlZV9kaXIgJiYKKwlnaXQgd29ya3RyZWUgcHJ1bmUgJiYKKwl0ZXN0X2RlY29kZV9jb2xvciA8YWN0dWFsLnJhdyA+YWN0dWFsICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAic2V0IHVwIGNvbG9yIHRlc3RzIiAnCiAJZWNobyAiPFJFRD5tYXN0ZXI8UkVTRVQ+IiA+ZXhwZWN0LmNvbG9yICYmCiAJZWNobyAibWFzdGVyIiA+ZXhwZWN0LmJhcmUgJiYKQEAgLTI2NCw0ICszMjksMjMgQEAKIAl0ZXN0X2NtcCBleHBlY3QuY29sb3IgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZlcmJvc2Ugb3V0cHV0IGxpc3RzIHdvcmt0cmVlIHBhdGgnICcKKwlvbmU9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRCkgJiYKKwl0d289JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgbWFzdGVyKSAmJgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCSogKEhFQUQgZGV0YWNoZWQgZnJvbSBmcm9tdGFnKSAkb25lIG9uZQorCSAgYW1iaWd1b3VzICAgICAgICAgICAgICAgICAgICAkb25lIG9uZQorCSAgYnJhbmNoLW9uZSAgICAgICAgICAgICAgICAgICAkdHdvIHR3bworCSsgYnJhbmNoLXR3byAgICAgICAgICAgICAgICAgICAkb25lICgkKHB3ZCkvd29ya3RyZWVfZGlyKSBvbmUKKwkgIG1hc3RlciAgICAgICAgICAgICAgICAgICAgICAgJHR3byB0d28KKwkgIHJlZi10by1icmFuY2ggICAgICAgICAgICAgICAgJHR3byB0d28KKwkgIHJlZi10by1yZW1vdGUgICAgICAgICAgICAgICAgJHR3byB0d28KKwlFT0YKKwlnaXQgd29ya3RyZWUgYWRkIHdvcmt0cmVlX2RpciBicmFuY2gtdHdvICYmCisJZ2l0IGJyYW5jaCAtdnYgPmFjdHVhbCAmJgorCXJtIC1yIHdvcmt0cmVlX2RpciAmJgorCWdpdCB3b3JrdHJlZSBwcnVuZSAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzIwNi1yYW5nZS1kaWZmLnNoIGIvdC90MzIwNi1yYW5nZS1kaWZmLnNoCmluZGV4IDA0OGZlYWYuLmJkODA4ZjggMTAwNzU1Ci0tLSBhL3QvdDMyMDYtcmFuZ2UtZGlmZi5zaAorKysgYi90L3QzMjA2LXJhbmdlLWRpZmYuc2gKQEAgLTgsOTggKzgsMjEzIEBACiAjIGhhcm0gdGhhbiBnb29kLiAgV2UgbmVlZCBzb21lIHJlYWwgaGlzdG9yeS4KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKLQlnaXQgZmFzdC1pbXBvcnQgPCAiJFRFU1RfRElSRUNUT1JZIi90MzIwNi9oaXN0b3J5LmV4cG9ydAorCWdpdCBmYXN0LWltcG9ydCA8IiRURVNUX0RJUkVDVE9SWSIvdDMyMDYvaGlzdG9yeS5leHBvcnQgJiYKKwl0ZXN0X29pZF9jYWNoZSA8PC1cRU9GCisJIyB0b3BpYworCXQxIHNoYTE6NGRlNDU3ZAorCXQyIHNoYTE6ZmNjY2UyMgorCXQzIHNoYTE6MTQ3ZTY0ZQorCXQ0IHNoYTE6YTYzZTk5MgorCXQxIHNoYTI1NjpiODlmOGI5CisJdDIgc2hhMjU2OjVmMTJhYWQKKwl0MyBzaGEyNTY6ZWE4YjI3MworCXQ0IHNoYTI1NjoxNGI3MzM2CisKKwkjIHVubW9kaWZpZWQKKwl1MSBzaGExOjM1YjliMjUKKwl1MiBzaGExOmRlMzQ1YWIKKwl1MyBzaGExOjlhZjY2NTQKKwl1NCBzaGExOjI5MDFmNzcKKwl1MSBzaGEyNTY6ZTM3MzFiZQorCXUyIHNoYTI1NjoxNGZhZGY4CisJdTMgc2hhMjU2OjczNmM0YmMKKwl1NCBzaGEyNTY6NjczZTc3ZAorCisJIyByZW9yZGVyZWQKKwlyMSBzaGExOmFjYTE3N2EKKwlyMiBzaGExOjE0YWQ2MjkKKwlyMyBzaGExOmVlNTgyMDgKKwlyNCBzaGExOjMwN2IyN2EKKwlyMSBzaGEyNTY6ZjU5ZDNhYQorCXIyIHNoYTI1NjpmYjI2MWE4CisJcjMgc2hhMjU2OmNiMjY0OWIKKwlyNCBzaGEyNTY6OTU4NTc3ZQorCisJIyByZW1vdmVkIChkZWxldGVkKQorCWQxIHNoYTE6NzY1NzE1OQorCWQyIHNoYTE6NDNkODRkMworCWQzIHNoYTE6YTc0MDM5NgorCWQxIHNoYTI1NjplMzEyNTEzCisJZDIgc2hhMjU2OmViMTkyNTgKKwlkMyBzaGEyNTY6MWNjYjNjMQorCisJIyBhZGRlZAorCWExIHNoYTE6MjcxNjAyMgorCWEyIHNoYTE6YjYyYWNjZAorCWEzIHNoYTE6ZGY0NmNmYQorCWE0IHNoYTE6M2U2NDU0OAorCWE1IHNoYTE6MTJiNDA2MworCWExIHNoYTI1NjpkNzI0ZjRkCisJYTIgc2hhMjU2OjFkZTc3NjIKKwlhMyBzaGEyNTY6ZTE1OTQzMQorCWE0IHNoYTI1NjpiM2U0ODNjCisJYTUgc2hhMjU2OjkwODY2YTcKKworCSMgcmViYXNlZAorCWIxIHNoYTE6Y2M5YzQ0MworCWIyIHNoYTE6YzVkOTY0MQorCWIzIHNoYTE6MjhjYzJiNgorCWI0IHNoYTE6NTYyOGFiNworCWI1IHNoYTE6YTMxYjEyZQorCWIxIHNoYTI1NjphMWE4NzE3CisJYjIgc2hhMjU2OjIwYTU4NjIKKwliMyBzaGEyNTY6NTg3MTcyYQorCWI0IHNoYTI1NjoyNzIxYzVkCisJYjUgc2hhMjU2OjdiNTc4NjQKKworCSMgY2hhbmdlZAorCWMxIHNoYTE6YTRiMzMzMworCWMyIHNoYTE6ZjUxZDM3MAorCWMzIHNoYTE6MDU1OTU1NgorCWM0IHNoYTE6ZDk2NmM1YworCWMxIHNoYTI1NjpmOGMyYjlkCisJYzIgc2hhMjU2OjNmYjYzMTgKKwljMyBzaGEyNTY6MTY4YWI2OAorCWM0IHNoYTI1NjozNTI2NTM5CisKKwkjIGNoYW5nZWQtbWVzc2FnZQorCW0xIHNoYTE6ZjY4NjAyNAorCW0yIHNoYTE6NGFiMDY3ZAorCW0zIHNoYTE6YjljYjk1NgorCW00IHNoYTE6OGFkZDVmMQorCW0xIHNoYTI1NjozMWU2MjgxCisJbTIgc2hhMjU2OmEwNmJmMWIKKwltMyBzaGEyNTY6ODJkYzY1NAorCW00IHNoYTI1Njo0ODQ3MGM1CisKKwkjIHJlbmFtZWQKKwluMSBzaGExOmYyNThkNzUKKwluMiBzaGExOjAxN2I2MmQKKwluMyBzaGExOjNjZTdhZjYKKwluNCBzaGExOjFlNjIyNmIKKwluMSBzaGEyNTY6YWQ1MjExNAorCW4yIHNoYTI1NjozYjU0YzhmCisJbjMgc2hhMjU2OjNiMGE2NDQKKwluNCBzaGEyNTY6ZTQ2MTY1MworCisJIyBtb2RlIGNoYW5nZQorCW8xIHNoYTE6NGQzOWNiMworCW8yIHNoYTE6MjZjMTA3ZgorCW8zIHNoYTE6NGMxZTBmNQorCW8xIHNoYTI1NjpkMGRkNTk4CisJbzIgc2hhMjU2OmM0YTI3OWUKKwlvMyBzaGEyNTY6Nzg0NTlkNworCisJIyBhZGRlZCBhbmQgcmVtb3ZlZAorCXMxIHNoYTE6MDk2YjFiYQorCXMyIHNoYTE6ZDkyZTY5OAorCXMzIHNoYTE6OWExZGI0ZAorCXM0IHNoYTE6ZmVhM2I1YworCXMxIHNoYTI1NjphN2Y5MTM0CisJczIgc2hhMjU2OmI0YzI1ODAKKwlzMyBzaGEyNTY6MWQ2MmFhMgorCXM0IHNoYTI1Njo0ODE2MGU4CisKKwkjIEVtcHR5IGRlbGltaXRlciAoaW5jbHVkZWQgc28gbGluZXMgbWF0Y2ggbmVhdGx5KQorCV9fIHNoYTE6LS0tLS0tLQorCV9fIHNoYTI1NjotLS0tLS0tCisJRU9GCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NpbXBsZSBBLi5CIEEuLkMgKHVubW9kaWZpZWQpJyAnCiAJZ2l0IHJhbmdlLWRpZmYgLS1uby1jb2xvciBtYXN0ZXIuLnRvcGljIG1hc3Rlci4udW5tb2RpZmllZCBcCiAJCT5hY3R1YWwgJiYKLQljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCTE6ICA0ZGU0NTdkID0gMTogIDM1YjliMjUgcy81L0EvCi0JMjogIGZjY2NlMjIgPSAyOiAgZGUzNDVhYiBzLzQvQS8KLQkzOiAgMTQ3ZTY0ZSA9IDM6ICA5YWY2NjU0IHMvMTEvQi8KLQk0OiAgYTYzZTk5MiA9IDQ6ICAyOTAxZjc3IHMvMTIvQi8KKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkxOiAgJCh0ZXN0X29pZCB0MSkgPSAxOiAgJCh0ZXN0X29pZCB1MSkgcy81L0EvCisJMjogICQodGVzdF9vaWQgdDIpID0gMjogICQodGVzdF9vaWQgdTIpIHMvNC9BLworCTM6ICAkKHRlc3Rfb2lkIHQzKSA9IDM6ICAkKHRlc3Rfb2lkIHUzKSBzLzExL0IvCisJNDogICQodGVzdF9vaWQgdDQpID0gNDogICQodGVzdF9vaWQgdTQpIHMvMTIvQi8KIAlFT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NpbXBsZSBCLi4uQyAodW5tb2RpZmllZCknICcKIAlnaXQgcmFuZ2UtZGlmZiAtLW5vLWNvbG9yIHRvcGljLi4udW5tb2RpZmllZCA+YWN0dWFsICYmCi0JIyBzYW1lICJleHBlY3RlZCIgYXMgYWJvdmUKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwkjIHNhbWUgImV4cGVjdCIgYXMgYWJvdmUKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NpbXBsZSBBIEIgQyAodW5tb2RpZmllZCknICcKIAlnaXQgcmFuZ2UtZGlmZiAtLW5vLWNvbG9yIG1hc3RlciB0b3BpYyB1bm1vZGlmaWVkID5hY3R1YWwgJiYKLQkjIHNhbWUgImV4cGVjdGVkIiBhcyBhYm92ZQotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCSMgc2FtZSAiZXhwZWN0IiBhcyBhYm92ZQorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndHJpdmlhbCByZW9yZGVyaW5nJyAnCiAJZ2l0IHJhbmdlLWRpZmYgLS1uby1jb2xvciBtYXN0ZXIgdG9waWMgcmVvcmRlcmVkID5hY3R1YWwgJiYKLQljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCTE6ICA0ZGU0NTdkID0gMTogIGFjYTE3N2Egcy81L0EvCi0JMzogIDE0N2U2NGUgPSAyOiAgMTRhZDYyOSBzLzExL0IvCi0JNDogIGE2M2U5OTIgPSAzOiAgZWU1ODIwOCBzLzEyL0IvCi0JMjogIGZjY2NlMjIgPSA0OiAgMzA3YjI3YSBzLzQvQS8KKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkxOiAgJCh0ZXN0X29pZCB0MSkgPSAxOiAgJCh0ZXN0X29pZCByMSkgcy81L0EvCisJMzogICQodGVzdF9vaWQgdDMpID0gMjogICQodGVzdF9vaWQgcjIpIHMvMTEvQi8KKwk0OiAgJCh0ZXN0X29pZCB0NCkgPSAzOiAgJCh0ZXN0X29pZCByMykgcy8xMi9CLworCTI6ICAkKHRlc3Rfb2lkIHQyKSA9IDQ6ICAkKHRlc3Rfb2lkIHI0KSBzLzQvQS8KIAlFT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlbW92ZWQgYSBjb21taXQnICcKIAlnaXQgcmFuZ2UtZGlmZiAtLW5vLWNvbG9yIG1hc3RlciB0b3BpYyByZW1vdmVkID5hY3R1YWwgJiYKLQljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCTE6ICA0ZGU0NTdkID0gMTogIDc2NTcxNTkgcy81L0EvCi0JMjogIGZjY2NlMjIgPCAtOiAgLS0tLS0tLSBzLzQvQS8KLQkzOiAgMTQ3ZTY0ZSA9IDI6ICA0M2Q4NGQzIHMvMTEvQi8KLQk0OiAgYTYzZTk5MiA9IDM6ICBhNzQwMzk2IHMvMTIvQi8KKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkxOiAgJCh0ZXN0X29pZCB0MSkgPSAxOiAgJCh0ZXN0X29pZCBkMSkgcy81L0EvCisJMjogICQodGVzdF9vaWQgdDIpIDwgLTogICQodGVzdF9vaWQgX18pIHMvNC9BLworCTM6ICAkKHRlc3Rfb2lkIHQzKSA9IDI6ICAkKHRlc3Rfb2lkIGQyKSBzLzExL0IvCisJNDogICQodGVzdF9vaWQgdDQpID0gMzogICQodGVzdF9vaWQgZDMpIHMvMTIvQi8KIAlFT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FkZGVkIGEgY29tbWl0JyAnCiAJZ2l0IHJhbmdlLWRpZmYgLS1uby1jb2xvciBtYXN0ZXIgdG9waWMgYWRkZWQgPmFjdHVhbCAmJgotCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCi0JMTogIDRkZTQ1N2QgPSAxOiAgMjcxNjAyMiBzLzUvQS8KLQkyOiAgZmNjY2UyMiA9IDI6ICBiNjJhY2NkIHMvNC9BLwotCS06ICAtLS0tLS0tID4gMzogIGRmNDZjZmEgcy82L0EvCi0JMzogIDE0N2U2NGUgPSA0OiAgM2U2NDU0OCBzLzExL0IvCi0JNDogIGE2M2U5OTIgPSA1OiAgMTJiNDA2MyBzLzEyL0IvCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJMTogICQodGVzdF9vaWQgdDEpID0gMTogICQodGVzdF9vaWQgYTEpIHMvNS9BLworCTI6ICAkKHRlc3Rfb2lkIHQyKSA9IDI6ICAkKHRlc3Rfb2lkIGEyKSBzLzQvQS8KKwktOiAgJCh0ZXN0X29pZCBfXykgPiAzOiAgJCh0ZXN0X29pZCBhMykgcy82L0EvCisJMzogICQodGVzdF9vaWQgdDMpID0gNDogICQodGVzdF9vaWQgYTQpIHMvMTEvQi8KKwk0OiAgJCh0ZXN0X29pZCB0NCkgPSA1OiAgJCh0ZXN0X29pZCBhNSkgcy8xMi9CLwogCUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbmV3IGJhc2UsIEEgQiBDJyAnCiAJZ2l0IHJhbmdlLWRpZmYgLS1uby1jb2xvciBtYXN0ZXIgdG9waWMgcmViYXNlZCA+YWN0dWFsICYmCi0JY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQkxOiAgNGRlNDU3ZCA9IDE6ICBjYzljNDQzIHMvNS9BLwotCTI6ICBmY2NjZTIyID0gMjogIGM1ZDk2NDEgcy80L0EvCi0JMzogIDE0N2U2NGUgPSAzOiAgMjhjYzJiNiBzLzExL0IvCi0JNDogIGE2M2U5OTIgPSA0OiAgNTYyOGFiNyBzLzEyL0IvCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJMTogICQodGVzdF9vaWQgdDEpID0gMTogICQodGVzdF9vaWQgYjEpIHMvNS9BLworCTI6ICAkKHRlc3Rfb2lkIHQyKSA9IDI6ICAkKHRlc3Rfb2lkIGIyKSBzLzQvQS8KKwkzOiAgJCh0ZXN0X29pZCB0MykgPSAzOiAgJCh0ZXN0X29pZCBiMykgcy8xMS9CLworCTQ6ICAkKHRlc3Rfb2lkIHQ0KSA9IDQ6ICAkKHRlc3Rfb2lkIGI0KSBzLzEyL0IvCiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICduZXcgYmFzZSwgQi4uLkMnICcKIAkjIHRoaXMgc3ludGF4IGluY2x1ZGVzIHRoZSBjb21taXRzIGZyb20gbWFzdGVyIQogCWdpdCByYW5nZS1kaWZmIC0tbm8tY29sb3IgdG9waWMuLi5yZWJhc2VkID5hY3R1YWwgJiYKLQljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCS06ICAtLS0tLS0tID4gMTogIGEzMWIxMmUgdW5yZWxhdGVkCi0JMTogIDRkZTQ1N2QgPSAyOiAgY2M5YzQ0MyBzLzUvQS8KLQkyOiAgZmNjY2UyMiA9IDM6ICBjNWQ5NjQxIHMvNC9BLwotCTM6ICAxNDdlNjRlID0gNDogIDI4Y2MyYjYgcy8xMS9CLwotCTQ6ICBhNjNlOTkyID0gNTogIDU2MjhhYjcgcy8xMi9CLworCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCS06ICAkKHRlc3Rfb2lkIF9fKSA+IDE6ICAkKHRlc3Rfb2lkIGI1KSB1bnJlbGF0ZWQKKwkxOiAgJCh0ZXN0X29pZCB0MSkgPSAyOiAgJCh0ZXN0X29pZCBiMSkgcy81L0EvCisJMjogICQodGVzdF9vaWQgdDIpID0gMzogICQodGVzdF9vaWQgYjIpIHMvNC9BLworCTM6ICAkKHRlc3Rfb2lkIHQzKSA9IDQ6ICAkKHRlc3Rfb2lkIGIzKSBzLzExL0IvCisJNDogICQodGVzdF9vaWQgdDQpID0gNTogICQodGVzdF9vaWQgYjQpIHMvMTIvQi8KIAlFT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoYW5nZWQgY29tbWl0JyAnCiAJZ2l0IHJhbmdlLWRpZmYgLS1uby1jb2xvciB0b3BpYy4uLmNoYW5nZWQgPmFjdHVhbCAmJgotCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCi0JMTogIDRkZTQ1N2QgPSAxOiAgYTRiMzMzMyBzLzUvQS8KLQkyOiAgZmNjY2UyMiA9IDI6ICBmNTFkMzcwIHMvNC9BLwotCTM6ICAxNDdlNjRlICEgMzogIDA1NTk1NTYgcy8xMS9CLwotCSAgICBAQCAtMTAsNyArMTAsNyBAQAorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCTE6ICAkKHRlc3Rfb2lkIHQxKSA9IDE6ICAkKHRlc3Rfb2lkIGMxKSBzLzUvQS8KKwkyOiAgJCh0ZXN0X29pZCB0MikgPSAyOiAgJCh0ZXN0X29pZCBjMikgcy80L0EvCisJMzogICQodGVzdF9vaWQgdDMpICEgMzogICQodGVzdF9vaWQgYzMpIHMvMTEvQi8KKwkgICAgQEAgZmlsZTogQQogCSAgICAgIDkKIAkgICAgICAxMAogCSAgICAgLTExCkBAIC0xMDgsOSArMjIzLDkgQEAKIAkgICAgICAxMgogCSAgICAgIDEzCiAJICAgICAgMTQKLQk0OiAgYTYzZTk5MiAhIDQ6ICBkOTY2YzVjIHMvMTIvQi8KLQkgICAgQEAgLTgsNyArOCw3IEBACi0JICAgICBAQAorCTQ6ICAkKHRlc3Rfb2lkIHQ0KSAhIDQ6ICAkKHRlc3Rfb2lkIGM0KSBzLzEyL0IvCisJICAgIEBAIGZpbGUKKwkgICAgIEBAIGZpbGU6IEEKIAkgICAgICA5CiAJICAgICAgMTAKIAkgICAgLSBCCkBAIC0xMTksNDYgKzIzNCw0NiBAQAogCSAgICAgK0IKIAkgICAgICAxMwogCUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hhbmdlZCBjb21taXQgd2l0aCAtLW5vLXBhdGNoIGRpZmYgb3B0aW9uJyAnCiAJZ2l0IHJhbmdlLWRpZmYgLS1uby1jb2xvciAtLW5vLXBhdGNoIHRvcGljLi4uY2hhbmdlZCA+YWN0dWFsICYmCi0JY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQkxOiAgNGRlNDU3ZCA9IDE6ICBhNGIzMzMzIHMvNS9BLwotCTI6ICBmY2NjZTIyID0gMjogIGY1MWQzNzAgcy80L0EvCi0JMzogIDE0N2U2NGUgISAzOiAgMDU1OTU1NiBzLzExL0IvCi0JNDogIGE2M2U5OTIgISA0OiAgZDk2NmM1YyBzLzEyL0IvCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJMTogICQodGVzdF9vaWQgdDEpID0gMTogICQodGVzdF9vaWQgYzEpIHMvNS9BLworCTI6ICAkKHRlc3Rfb2lkIHQyKSA9IDI6ICAkKHRlc3Rfb2lkIGMyKSBzLzQvQS8KKwkzOiAgJCh0ZXN0X29pZCB0MykgISAzOiAgJCh0ZXN0X29pZCBjMykgcy8xMS9CLworCTQ6ICAkKHRlc3Rfb2lkIHQ0KSAhIDQ6ICAkKHRlc3Rfb2lkIGM0KSBzLzEyL0IvCiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGFuZ2VkIGNvbW1pdCB3aXRoIC0tc3RhdCBkaWZmIG9wdGlvbicgJwogCWdpdCByYW5nZS1kaWZmIC0tbm8tY29sb3IgLS1zdGF0IHRvcGljLi4uY2hhbmdlZCA+YWN0dWFsICYmCi0JY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQkxOiAgNGRlNDU3ZCA9IDE6ICBhNGIzMzMzIHMvNS9BLworCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCTE6ICAkKHRlc3Rfb2lkIHQxKSA9IDE6ICAkKHRlc3Rfb2lkIGMxKSBzLzUvQS8KIAkgICAgIGEgPT4gYiB8IDAKIAkgICAgIDEgZmlsZSBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCi0JMjogIGZjY2NlMjIgPSAyOiAgZjUxZDM3MCBzLzQvQS8KKwkyOiAgJCh0ZXN0X29pZCB0MikgPSAyOiAgJCh0ZXN0X29pZCBjMikgcy80L0EvCiAJICAgICBhID0+IGIgfCAwCiAJICAgICAxIGZpbGUgY2hhbmdlZCwgMCBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQotCTM6ICAxNDdlNjRlICEgMzogIDA1NTk1NTYgcy8xMS9CLworCTM6ICAkKHRlc3Rfb2lkIHQzKSAhIDM6ICAkKHRlc3Rfb2lkIGMzKSBzLzExL0IvCiAJICAgICBhID0+IGIgfCAwCiAJICAgICAxIGZpbGUgY2hhbmdlZCwgMCBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQotCTQ6ICBhNjNlOTkyICEgNDogIGQ5NjZjNWMgcy8xMi9CLworCTQ6ICAkKHRlc3Rfb2lkIHQ0KSAhIDQ6ICAkKHRlc3Rfb2lkIGM0KSBzLzEyL0IvCiAJICAgICBhID0+IGIgfCAwCiAJICAgICAxIGZpbGUgY2hhbmdlZCwgMCBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQogCUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hhbmdlZCBjb21taXQgd2l0aCBzbSBjb25maWcnICcKIAlnaXQgcmFuZ2UtZGlmZiAtLW5vLWNvbG9yIC0tc3VibW9kdWxlPWxvZyB0b3BpYy4uLmNoYW5nZWQgPmFjdHVhbCAmJgotCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCi0JMTogIDRkZTQ1N2QgPSAxOiAgYTRiMzMzMyBzLzUvQS8KLQkyOiAgZmNjY2UyMiA9IDI6ICBmNTFkMzcwIHMvNC9BLwotCTM6ICAxNDdlNjRlICEgMzogIDA1NTk1NTYgcy8xMS9CLwotCSAgICBAQCAtMTAsNyArMTAsNyBAQAorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCTE6ICAkKHRlc3Rfb2lkIHQxKSA9IDE6ICAkKHRlc3Rfb2lkIGMxKSBzLzUvQS8KKwkyOiAgJCh0ZXN0X29pZCB0MikgPSAyOiAgJCh0ZXN0X29pZCBjMikgcy80L0EvCisJMzogICQodGVzdF9vaWQgdDMpICEgMzogICQodGVzdF9vaWQgYzMpIHMvMTEvQi8KKwkgICAgQEAgZmlsZTogQQogCSAgICAgIDkKIAkgICAgICAxMAogCSAgICAgLTExCkBAIC0xNjcsOSArMjgyLDkgQEAKIAkgICAgICAxMgogCSAgICAgIDEzCiAJICAgICAgMTQKLQk0OiAgYTYzZTk5MiAhIDQ6ICBkOTY2YzVjIHMvMTIvQi8KLQkgICAgQEAgLTgsNyArOCw3IEBACi0JICAgICBAQAorCTQ6ICAkKHRlc3Rfb2lkIHQ0KSAhIDQ6ICAkKHRlc3Rfb2lkIGM0KSBzLzEyL0IvCisJICAgIEBAIGZpbGUKKwkgICAgIEBAIGZpbGU6IEEKIAkgICAgICA5CiAJICAgICAgMTAKIAkgICAgLSBCCkBAIC0xNzgsNyArMjkzLDEzMyBAQAogCSAgICAgK0IKIAkgICAgICAxMwogCUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVuYW1lZCBmaWxlJyAnCisJZ2l0IHJhbmdlLWRpZmYgLS1uby1jb2xvciAtLXN1Ym1vZHVsZT1sb2cgdG9waWMuLi5yZW5hbWVkLWZpbGUgPmFjdHVhbCAmJgorCXNlZCBzL1ovXCAvZyA+ZXhwZWN0IDw8LUVPRiAmJgorCTE6ICAkKHRlc3Rfb2lkIHQxKSA9IDE6ICAkKHRlc3Rfb2lkIG4xKSBzLzUvQS8KKwkyOiAgJCh0ZXN0X29pZCB0MikgISAyOiAgJCh0ZXN0X29pZCBuMikgcy80L0EvCisJICAgIEBAIE1ldGFkYXRhCisJICAgIFpBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBpbmYuZXRoei5jaD4KKwkgICAgWgorCSAgICBaICMjIENvbW1pdCBtZXNzYWdlICMjCisJICAgIC0gICAgcy80L0EvCisJICAgICsgICAgcy80L0EvICsgcmVuYW1lIGZpbGUKKwkgICAgWgorCSAgICAtICMjIGZpbGUgIyMKKwkgICAgKyAjIyBmaWxlID0+IHJlbmFtZWQtZmlsZSAjIworCSAgICBaQEAKKwkgICAgWiAxCisJICAgIFogMgorCTM6ICAkKHRlc3Rfb2lkIHQzKSAhIDM6ICAkKHRlc3Rfb2lkIG4zKSBzLzExL0IvCisJICAgIEBAIE1ldGFkYXRhCisJICAgIFogIyMgQ29tbWl0IG1lc3NhZ2UgIyMKKwkgICAgWiAgICBzLzExL0IvCisJICAgIFoKKwkgICAgLSAjIyBmaWxlICMjCisJICAgIC1AQCBmaWxlOiBBCisJICAgICsgIyMgcmVuYW1lZC1maWxlICMjCisJICAgICtAQCByZW5hbWVkLWZpbGU6IEEKKwkgICAgWiA4CisJICAgIFogOQorCSAgICBaIDEwCisJNDogICQodGVzdF9vaWQgdDQpICEgNDogICQodGVzdF9vaWQgbjQpIHMvMTIvQi8KKwkgICAgQEAgTWV0YWRhdGEKKwkgICAgWiAjIyBDb21taXQgbWVzc2FnZSAjIworCSAgICBaICAgIHMvMTIvQi8KKwkgICAgWgorCSAgICAtICMjIGZpbGUgIyMKKwkgICAgLUBAIGZpbGU6IEEKKwkgICAgKyAjIyByZW5hbWVkLWZpbGUgIyMKKwkgICAgK0BAIHJlbmFtZWQtZmlsZTogQQorCSAgICBaIDkKKwkgICAgWiAxMAorCSAgICBaIEIKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZpbGUgd2l0aCBtb2RlIG9ubHkgY2hhbmdlJyAnCisJZ2l0IHJhbmdlLWRpZmYgLS1uby1jb2xvciAtLXN1Ym1vZHVsZT1sb2cgdG9waWMuLi5tb2RlLW9ubHktY2hhbmdlID5hY3R1YWwgJiYKKwlzZWQgcy9aL1wgL2cgPmV4cGVjdCA8PC1FT0YgJiYKKwkxOiAgJCh0ZXN0X29pZCB0MikgISAxOiAgJCh0ZXN0X29pZCBvMSkgcy80L0EvCisJICAgIEBAIE1ldGFkYXRhCisJICAgIFpBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBpbmYuZXRoei5jaD4KKwkgICAgWgorCSAgICBaICMjIENvbW1pdCBtZXNzYWdlICMjCisJICAgIC0gICAgcy80L0EvCisJICAgICsgICAgcy80L0EvICsgYWRkIG90aGVyLWZpbGUKKwkgICAgWgorCSAgICBaICMjIGZpbGUgIyMKKwkgICAgWkBACisJICAgIEBAIGZpbGUKKwkgICAgWiBBCisJICAgIFogNgorCSAgICBaIDcKKwkgICAgKworCSAgICArICMjIG90aGVyLWZpbGUgKG5ldykgIyMKKwkyOiAgJCh0ZXN0X29pZCB0MykgISAyOiAgJCh0ZXN0X29pZCBvMikgcy8xMS9CLworCSAgICBAQCBNZXRhZGF0YQorCSAgICBaQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAaW5mLmV0aHouY2g+CisJICAgIFoKKwkgICAgWiAjIyBDb21taXQgbWVzc2FnZSAjIworCSAgICAtICAgIHMvMTEvQi8KKwkgICAgKyAgICBzLzExL0IvICsgbW9kZSBjaGFuZ2Ugb3RoZXItZmlsZQorCSAgICBaCisJICAgIFogIyMgZmlsZSAjIworCSAgICBaQEAgZmlsZTogQQorCSAgICBAQCBmaWxlOiBBCisJICAgIFogMTIKKwkgICAgWiAxMworCSAgICBaIDE0CisJICAgICsKKwkgICAgKyAjIyBvdGhlci1maWxlIChtb2RlIGNoYW5nZSAxMDA2NDQgPT4gMTAwNzU1KSAjIworCTM6ICAkKHRlc3Rfb2lkIHQ0KSA9IDM6ICAkKHRlc3Rfb2lkIG8zKSBzLzEyL0IvCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmaWxlIGFkZGVkIGFuZCBsYXRlciByZW1vdmVkJyAnCisJZ2l0IHJhbmdlLWRpZmYgLS1uby1jb2xvciAtLXN1Ym1vZHVsZT1sb2cgdG9waWMuLi5hZGRlZC1yZW1vdmVkID5hY3R1YWwgJiYKKwlzZWQgcy9aL1wgL2cgPmV4cGVjdCA8PC1FT0YgJiYKKwkxOiAgJCh0ZXN0X29pZCB0MSkgPSAxOiAgJCh0ZXN0X29pZCBzMSkgcy81L0EvCisJMjogICQodGVzdF9vaWQgdDIpICEgMjogICQodGVzdF9vaWQgczIpIHMvNC9BLworCSAgICBAQCBNZXRhZGF0YQorCSAgICBaQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAaW5mLmV0aHouY2g+CisJICAgIFoKKwkgICAgWiAjIyBDb21taXQgbWVzc2FnZSAjIworCSAgICAtICAgIHMvNC9BLworCSAgICArICAgIHMvNC9BLyArIG5ldy1maWxlCisJICAgIFoKKwkgICAgWiAjIyBmaWxlICMjCisJICAgIFpAQAorCSAgICBAQCBmaWxlCisJICAgIFogQQorCSAgICBaIDYKKwkgICAgWiA3CisJICAgICsKKwkgICAgKyAjIyBuZXctZmlsZSAobmV3KSAjIworCTM6ICAkKHRlc3Rfb2lkIHQzKSAhIDM6ICAkKHRlc3Rfb2lkIHMzKSBzLzExL0IvCisJICAgIEBAIE1ldGFkYXRhCisJICAgIFpBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBpbmYuZXRoei5jaD4KKwkgICAgWgorCSAgICBaICMjIENvbW1pdCBtZXNzYWdlICMjCisJICAgIC0gICAgcy8xMS9CLworCSAgICArICAgIHMvMTEvQi8gKyByZW1vdmUgZmlsZQorCSAgICBaCisJICAgIFogIyMgZmlsZSAjIworCSAgICBaQEAgZmlsZTogQQorCSAgICBAQCBmaWxlOiBBCisJICAgIFogMTIKKwkgICAgWiAxMworCSAgICBaIDE0CisJICAgICsKKwkgICAgKyAjIyBuZXctZmlsZSAoZGVsZXRlZCkgIyMKKwk0OiAgJCh0ZXN0X29pZCB0NCkgPSA0OiAgJCh0ZXN0X29pZCBzNCkgcy8xMi9CLworCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbm8gY29tbWl0cyBvbiBvbmUgc2lkZScgJwpAQCAtMTg4LDM5ICs0MjksMzkgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hhbmdlZCBtZXNzYWdlJyAnCiAJZ2l0IHJhbmdlLWRpZmYgLS1uby1jb2xvciB0b3BpYy4uLmNoYW5nZWQtbWVzc2FnZSA+YWN0dWFsICYmCi0Jc2VkIHMvWi9cIC9nID5leHBlY3RlZCA8PC1FT0YgJiYKLQkxOiAgNGRlNDU3ZCA9IDE6ICBmNjg2MDI0IHMvNS9BLwotCTI6ICBmY2NjZTIyICEgMjogIDRhYjA2N2Qgcy80L0EvCi0JICAgIEBAIC0yLDYgKzIsOCBAQAotCSAgICBaCisJc2VkIHMvWi9cIC9nID5leHBlY3QgPDwtRU9GICYmCisJMTogICQodGVzdF9vaWQgdDEpID0gMTogICQodGVzdF9vaWQgbTEpIHMvNS9BLworCTI6ICAkKHRlc3Rfb2lkIHQyKSAhIDI6ICAkKHRlc3Rfb2lkIG0yKSBzLzQvQS8KKwkgICAgQEAgTWV0YWRhdGEKKwkgICAgWiAjIyBDb21taXQgbWVzc2FnZSAjIwogCSAgICBaICAgIHMvNC9BLwogCSAgICBaCiAJICAgICsgICAgQWxzbyBhIHNpbGx5IGNvbW1lbnQgaGVyZSEKIAkgICAgKwotCSAgICBaIGRpZmYgLS1naXQgYS9maWxlIGIvZmlsZQotCSAgICBaIC0tLSBhL2ZpbGUKLQkgICAgWiArKysgYi9maWxlCi0JMzogIDE0N2U2NGUgPSAzOiAgYjljYjk1NiBzLzExL0IvCi0JNDogIGE2M2U5OTIgPSA0OiAgOGFkZDVmMSBzLzEyL0IvCisJICAgIFogIyMgZmlsZSAjIworCSAgICBaQEAKKwkgICAgWiAxCisJMzogICQodGVzdF9vaWQgdDMpID0gMzogICQodGVzdF9vaWQgbTMpIHMvMTEvQi8KKwk0OiAgJCh0ZXN0X29pZCB0NCkgPSA0OiAgJCh0ZXN0X29pZCBtNCkgcy8xMi9CLwogCUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZHVhbC1jb2xvcmluZycgJwotCXNlZCAtZSAic3xeOnx8IiA+ZXhwZWN0IDw8LVxFT0YgJiYKLQk6PFlFTExPVz4xOiAgYTRiMzMzMyA9IDE6ICBmNjg2MDI0IHMvNS9BLzxSRVNFVD4KLQk6PFJFRD4yOiAgZjUxZDM3MCA8UkVTRVQ+PFlFTExPVz4hPFJFU0VUPjxHUkVFTj4gMjogIDRhYjA2N2Q8UkVTRVQ+PFlFTExPVz4gcy80L0EvPFJFU0VUPgotCTogICAgPFJFVkVSU0U+PENZQU4+QEAgLTIsNiArMiw4IEBAPFJFU0VUPgotCTogICAgIDxSRVNFVD4KKwlzZWQgLWUgInN8Xjp8fCIgPmV4cGVjdCA8PC1FT0YgJiYKKwk6PFlFTExPVz4xOiAgJCh0ZXN0X29pZCBjMSkgPSAxOiAgJCh0ZXN0X29pZCBtMSkgcy81L0EvPFJFU0VUPgorCTo8UkVEPjI6ICAkKHRlc3Rfb2lkIGMyKSA8UkVTRVQ+PFlFTExPVz4hPFJFU0VUPjxHUkVFTj4gMjogICQodGVzdF9vaWQgbTIpPFJFU0VUPjxZRUxMT1c+IHMvNC9BLzxSRVNFVD4KKwk6ICAgIDxSRVZFUlNFPjxDWUFOPkBAPFJFU0VUPiA8UkVTRVQ+TWV0YWRhdGE8UkVTRVQ+CisJOiAgICAgICMjIENvbW1pdCBtZXNzYWdlICMjPFJFU0VUPgogCTogICAgICAgICBzLzQvQS88UkVTRVQ+CiAJOiAgICAgPFJFU0VUPgogCTogICAgPFJFVkVSU0U+PEdSRUVOPis8UkVTRVQ+PEJPTEQ+ICAgIEFsc28gYSBzaWxseSBjb21tZW50IGhlcmUhPFJFU0VUPgogCTogICAgPFJFVkVSU0U+PEdSRUVOPis8UkVTRVQ+Ci0JOiAgICAgIGRpZmYgLS1naXQgYS9maWxlIGIvZmlsZTxSRVNFVD4KLQk6ICAgICAgLS0tIGEvZmlsZTxSRVNFVD4KLQk6ICAgICAgKysrIGIvZmlsZTxSRVNFVD4KLQk6PFJFRD4zOiAgMDU1OTU1NiA8UkVTRVQ+PFlFTExPVz4hPFJFU0VUPjxHUkVFTj4gMzogIGI5Y2I5NTY8UkVTRVQ+PFlFTExPVz4gcy8xMS9CLzxSRVNFVD4KLQk6ICAgIDxSRVZFUlNFPjxDWUFOPkBAIC0xMCw3ICsxMCw3IEBAPFJFU0VUPgorCTogICAgICAjIyBmaWxlICMjPFJFU0VUPgorCTogICAgPENZQU4+IEBAPFJFU0VUPgorCTogICAgICAxPFJFU0VUPgorCTo8UkVEPjM6ICAkKHRlc3Rfb2lkIGMzKSA8UkVTRVQ+PFlFTExPVz4hPFJFU0VUPjxHUkVFTj4gMzogICQodGVzdF9vaWQgbTMpPFJFU0VUPjxZRUxMT1c+IHMvMTEvQi88UkVTRVQ+CisJOiAgICA8UkVWRVJTRT48Q1lBTj5AQDxSRVNFVD4gPFJFU0VUPmZpbGU6IEE8UkVTRVQ+CiAJOiAgICAgIDk8UkVTRVQ+CiAJOiAgICAgIDEwPFJFU0VUPgogCTogICAgPFJFRD4gLTExPFJFU0VUPgpAQCAtMjI5LDkgKzQ3MCw5IEBACiAJOiAgICAgIDEyPFJFU0VUPgogCTogICAgICAxMzxSRVNFVD4KIAk6ICAgICAgMTQ8UkVTRVQ+Ci0JOjxSRUQ+NDogIGQ5NjZjNWMgPFJFU0VUPjxZRUxMT1c+ITxSRVNFVD48R1JFRU4+IDQ6ICA4YWRkNWYxPFJFU0VUPjxZRUxMT1c+IHMvMTIvQi88UkVTRVQ+Ci0JOiAgICA8UkVWRVJTRT48Q1lBTj5AQCAtOCw3ICs4LDcgQEA8UkVTRVQ+Ci0JOiAgICA8Q1lBTj4gQEA8UkVTRVQ+CisJOjxSRUQ+NDogICQodGVzdF9vaWQgYzQpIDxSRVNFVD48WUVMTE9XPiE8UkVTRVQ+PEdSRUVOPiA0OiAgJCh0ZXN0X29pZCBtNCk8UkVTRVQ+PFlFTExPVz4gcy8xMi9CLzxSRVNFVD4KKwk6ICAgIDxSRVZFUlNFPjxDWUFOPkBAPFJFU0VUPiA8UkVTRVQ+ZmlsZTxSRVNFVD4KKwk6ICAgIDxDWUFOPiBAQCBmaWxlOiBBPFJFU0VUPgogCTogICAgICA5PFJFU0VUPgogCTogICAgICAxMDxSRVNFVD4KIAk6ICAgIDxSRVZFUlNFPjxSRUQ+LTxSRVNFVD48RkFJTlQ+IEJCPFJFU0VUPgpAQCAtMjY4LDQgKzUwOSwyMDYgQEAKIAlncmVwICI+IDE6IC4qIG5ldyBtZXNzYWdlIiAwMDAxLSoKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncmFuZ2UtZGlmZiBvdmVycmlkZXMgZGlmZi5ub3ByZWZpeCBpbnRlcm5hbGx5JyAnCisJZ2l0IC1jIGRpZmYubm9wcmVmaXg9dHJ1ZSByYW5nZS1kaWZmIEhFQUReLi4uCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JhbmdlLWRpZmYgY29tcGFyZXMgbm90ZXMgYnkgZGVmYXVsdCcgJworCWdpdCBub3RlcyBhZGQgLW0gInRvcGljIG5vdGUiIHRvcGljICYmCisJZ2l0IG5vdGVzIGFkZCAtbSAidW5tb2RpZmllZCBub3RlIiB1bm1vZGlmaWVkICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkIGdpdCBub3RlcyByZW1vdmUgdG9waWMgdW5tb2RpZmllZCAmJgorCWdpdCByYW5nZS1kaWZmIC0tbm8tY29sb3IgbWFzdGVyLi50b3BpYyBtYXN0ZXIuLnVubW9kaWZpZWQgXAorCQk+YWN0dWFsICYmCisJc2VkIHMvWi9cIC9nID5leHBlY3QgPDwtRU9GICYmCisJMTogICQodGVzdF9vaWQgdDEpID0gMTogICQodGVzdF9vaWQgdTEpIHMvNS9BLworCTI6ICAkKHRlc3Rfb2lkIHQyKSA9IDI6ICAkKHRlc3Rfb2lkIHUyKSBzLzQvQS8KKwkzOiAgJCh0ZXN0X29pZCB0MykgPSAzOiAgJCh0ZXN0X29pZCB1Mykgcy8xMS9CLworCTQ6ICAkKHRlc3Rfb2lkIHQ0KSAhIDQ6ICAkKHRlc3Rfb2lkIHU0KSBzLzEyL0IvCisJICAgIEBAIENvbW1pdCBtZXNzYWdlCisJICAgIFoKKwkgICAgWgorCSAgICBaICMjIE5vdGVzICMjCisJICAgIC0gICAgdG9waWMgbm90ZQorCSAgICArICAgIHVubW9kaWZpZWQgbm90ZQorCSAgICBaCisJICAgIFogIyMgZmlsZSAjIworCSAgICBaQEAgZmlsZTogQQorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmFuZ2UtZGlmZiB3aXRoIC0tbm8tbm90ZXMnICcKKwlnaXQgbm90ZXMgYWRkIC1tICJ0b3BpYyBub3RlIiB0b3BpYyAmJgorCWdpdCBub3RlcyBhZGQgLW0gInVubW9kaWZpZWQgbm90ZSIgdW5tb2RpZmllZCAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgbm90ZXMgcmVtb3ZlIHRvcGljIHVubW9kaWZpZWQgJiYKKwlnaXQgcmFuZ2UtZGlmZiAtLW5vLWNvbG9yIC0tbm8tbm90ZXMgbWFzdGVyLi50b3BpYyBtYXN0ZXIuLnVubW9kaWZpZWQgXAorCQk+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJMTogICQodGVzdF9vaWQgdDEpID0gMTogICQodGVzdF9vaWQgdTEpIHMvNS9BLworCTI6ICAkKHRlc3Rfb2lkIHQyKSA9IDI6ICAkKHRlc3Rfb2lkIHUyKSBzLzQvQS8KKwkzOiAgJCh0ZXN0X29pZCB0MykgPSAzOiAgJCh0ZXN0X29pZCB1Mykgcy8xMS9CLworCTQ6ICAkKHRlc3Rfb2lkIHQ0KSA9IDQ6ICAkKHRlc3Rfb2lkIHU0KSBzLzEyL0IvCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyYW5nZS1kaWZmIHdpdGggbXVsdGlwbGUgLS1ub3RlcycgJworCWdpdCBub3RlcyAtLXJlZj1ub3RlMSBhZGQgLW0gInRvcGljIG5vdGUxIiB0b3BpYyAmJgorCWdpdCBub3RlcyAtLXJlZj1ub3RlMSBhZGQgLW0gInVubW9kaWZpZWQgbm90ZTEiIHVubW9kaWZpZWQgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgZ2l0IG5vdGVzIC0tcmVmPW5vdGUxIHJlbW92ZSB0b3BpYyB1bm1vZGlmaWVkICYmCisJZ2l0IG5vdGVzIC0tcmVmPW5vdGUyIGFkZCAtbSAidG9waWMgbm90ZTIiIHRvcGljICYmCisJZ2l0IG5vdGVzIC0tcmVmPW5vdGUyIGFkZCAtbSAidW5tb2RpZmllZCBub3RlMiIgdW5tb2RpZmllZCAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgbm90ZXMgLS1yZWY9bm90ZTIgcmVtb3ZlIHRvcGljIHVubW9kaWZpZWQgJiYKKwlnaXQgcmFuZ2UtZGlmZiAtLW5vLWNvbG9yIC0tbm90ZXM9bm90ZTEgLS1ub3Rlcz1ub3RlMiBtYXN0ZXIuLnRvcGljIG1hc3Rlci4udW5tb2RpZmllZCBcCisJCT5hY3R1YWwgJiYKKwlzZWQgcy9aL1wgL2cgPmV4cGVjdCA8PC1FT0YgJiYKKwkxOiAgJCh0ZXN0X29pZCB0MSkgPSAxOiAgJCh0ZXN0X29pZCB1MSkgcy81L0EvCisJMjogICQodGVzdF9vaWQgdDIpID0gMjogICQodGVzdF9vaWQgdTIpIHMvNC9BLworCTM6ICAkKHRlc3Rfb2lkIHQzKSA9IDM6ICAkKHRlc3Rfb2lkIHUzKSBzLzExL0IvCisJNDogICQodGVzdF9vaWQgdDQpICEgNDogICQodGVzdF9vaWQgdTQpIHMvMTIvQi8KKwkgICAgQEAgQ29tbWl0IG1lc3NhZ2UKKwkgICAgWgorCSAgICBaCisJICAgIFogIyMgTm90ZXMgKG5vdGUxKSAjIworCSAgICAtICAgIHRvcGljIG5vdGUxCisJICAgICsgICAgdW5tb2RpZmllZCBub3RlMQorCSAgICBaCisJICAgIFoKKwkgICAgWiAjIyBOb3RlcyAobm90ZTIpICMjCisJICAgIC0gICAgdG9waWMgbm90ZTIKKwkgICAgKyAgICB1bm1vZGlmaWVkIG5vdGUyCisJICAgIFoKKwkgICAgWiAjIyBmaWxlICMjCisJICAgIFpAQCBmaWxlOiBBCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JtYXQtcGF0Y2ggLS1yYW5nZS1kaWZmIGRvZXMgbm90IGNvbXBhcmUgbm90ZXMgYnkgZGVmYXVsdCcgJworCWdpdCBub3RlcyBhZGQgLW0gInRvcGljIG5vdGUiIHRvcGljICYmCisJZ2l0IG5vdGVzIGFkZCAtbSAidW5tb2RpZmllZCBub3RlIiB1bm1vZGlmaWVkICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkIGdpdCBub3RlcyByZW1vdmUgdG9waWMgdW5tb2RpZmllZCAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLS1jb3Zlci1sZXR0ZXIgLS1yYW5nZS1kaWZmPSRwcmV2IFwKKwkJbWFzdGVyLi51bm1vZGlmaWVkID5hY3R1YWwgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIDAwMD8tKiIgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSA1IGFjdHVhbCAmJgorCXRlc3RfaTE4bmdyZXAgIl5SYW5nZS1kaWZmOiQiIDAwMDAtKiAmJgorCWdyZXAgIj0gMTogLiogcy81L0EiIDAwMDAtKiAmJgorCWdyZXAgIj0gMjogLiogcy80L0EiIDAwMDAtKiAmJgorCWdyZXAgIj0gMzogLiogcy8xMS9CIiAwMDAwLSogJiYKKwlncmVwICI9IDQ6IC4qIHMvMTIvQiIgMDAwMC0qICYmCisJISBncmVwICJOb3RlcyIgMDAwMC0qICYmCisJISBncmVwICJub3RlIiAwMDAwLSoKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9ybWF0LXBhdGNoIC0tcmFuZ2UtZGlmZiB3aXRoIC0tbm8tbm90ZXMnICcKKwlnaXQgbm90ZXMgYWRkIC1tICJ0b3BpYyBub3RlIiB0b3BpYyAmJgorCWdpdCBub3RlcyBhZGQgLW0gInVubW9kaWZpZWQgbm90ZSIgdW5tb2RpZmllZCAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgbm90ZXMgcmVtb3ZlIHRvcGljIHVubW9kaWZpZWQgJiYKKwlnaXQgZm9ybWF0LXBhdGNoIC0tbm8tbm90ZXMgLS1jb3Zlci1sZXR0ZXIgLS1yYW5nZS1kaWZmPSRwcmV2IFwKKwkJbWFzdGVyLi51bm1vZGlmaWVkID5hY3R1YWwgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIDAwMD8tKiIgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSA1IGFjdHVhbCAmJgorCXRlc3RfaTE4bmdyZXAgIl5SYW5nZS1kaWZmOiQiIDAwMDAtKiAmJgorCWdyZXAgIj0gMTogLiogcy81L0EiIDAwMDAtKiAmJgorCWdyZXAgIj0gMjogLiogcy80L0EiIDAwMDAtKiAmJgorCWdyZXAgIj0gMzogLiogcy8xMS9CIiAwMDAwLSogJiYKKwlncmVwICI9IDQ6IC4qIHMvMTIvQiIgMDAwMC0qICYmCisJISBncmVwICJOb3RlcyIgMDAwMC0qICYmCisJISBncmVwICJub3RlIiAwMDAwLSoKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9ybWF0LXBhdGNoIC0tcmFuZ2UtZGlmZiB3aXRoIC0tbm90ZXMnICcKKwlnaXQgbm90ZXMgYWRkIC1tICJ0b3BpYyBub3RlIiB0b3BpYyAmJgorCWdpdCBub3RlcyBhZGQgLW0gInVubW9kaWZpZWQgbm90ZSIgdW5tb2RpZmllZCAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgbm90ZXMgcmVtb3ZlIHRvcGljIHVubW9kaWZpZWQgJiYKKwlnaXQgZm9ybWF0LXBhdGNoIC0tbm90ZXMgLS1jb3Zlci1sZXR0ZXIgLS1yYW5nZS1kaWZmPSRwcmV2IFwKKwkJbWFzdGVyLi51bm1vZGlmaWVkID5hY3R1YWwgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIDAwMD8tKiIgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSA1IGFjdHVhbCAmJgorCXRlc3RfaTE4bmdyZXAgIl5SYW5nZS1kaWZmOiQiIDAwMDAtKiAmJgorCWdyZXAgIj0gMTogLiogcy81L0EiIDAwMDAtKiAmJgorCWdyZXAgIj0gMjogLiogcy80L0EiIDAwMDAtKiAmJgorCWdyZXAgIj0gMzogLiogcy8xMS9CIiAwMDAwLSogJiYKKwlncmVwICIhIDQ6IC4qIHMvMTIvQiIgMDAwMC0qICYmCisJc2VkIHMvWi9cIC9nID5leHBlY3QgPDwtRU9GICYmCisJICAgIEBAIENvbW1pdCBtZXNzYWdlCisJICAgIFoKKwkgICAgWgorCSAgICBaICMjIE5vdGVzICMjCisJICAgIC0gICAgdG9waWMgbm90ZQorCSAgICArICAgIHVubW9kaWZpZWQgbm90ZQorCSAgICBaCisJICAgIFogIyMgZmlsZSAjIworCSAgICBaQEAgZmlsZTogQQorCUVPRgorCXNlZCAiL0BAIENvbW1pdCBtZXNzYWdlLywvQEAgZmlsZTogQS8hZCIgMDAwMC0qID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC1wYXRjaCAtLXJhbmdlLWRpZmYgd2l0aCBmb3JtYXQubm90ZXMgY29uZmlnJyAnCisJZ2l0IG5vdGVzIGFkZCAtbSAidG9waWMgbm90ZSIgdG9waWMgJiYKKwlnaXQgbm90ZXMgYWRkIC1tICJ1bm1vZGlmaWVkIG5vdGUiIHVubW9kaWZpZWQgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgZ2l0IG5vdGVzIHJlbW92ZSB0b3BpYyB1bm1vZGlmaWVkICYmCisJdGVzdF9jb25maWcgZm9ybWF0Lm5vdGVzIHRydWUgJiYKKwlnaXQgZm9ybWF0LXBhdGNoIC0tY292ZXItbGV0dGVyIC0tcmFuZ2UtZGlmZj0kcHJldiBcCisJCW1hc3Rlci4udW5tb2RpZmllZCA+YWN0dWFsICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAwMDA/LSoiICYmCisJdGVzdF9saW5lX2NvdW50ID0gNSBhY3R1YWwgJiYKKwl0ZXN0X2kxOG5ncmVwICJeUmFuZ2UtZGlmZjokIiAwMDAwLSogJiYKKwlncmVwICI9IDE6IC4qIHMvNS9BIiAwMDAwLSogJiYKKwlncmVwICI9IDI6IC4qIHMvNC9BIiAwMDAwLSogJiYKKwlncmVwICI9IDM6IC4qIHMvMTEvQiIgMDAwMC0qICYmCisJZ3JlcCAiISA0OiAuKiBzLzEyL0IiIDAwMDAtKiAmJgorCXNlZCBzL1ovXCAvZyA+ZXhwZWN0IDw8LUVPRiAmJgorCSAgICBAQCBDb21taXQgbWVzc2FnZQorCSAgICBaCisJICAgIFoKKwkgICAgWiAjIyBOb3RlcyAjIworCSAgICAtICAgIHRvcGljIG5vdGUKKwkgICAgKyAgICB1bm1vZGlmaWVkIG5vdGUKKwkgICAgWgorCSAgICBaICMjIGZpbGUgIyMKKwkgICAgWkBAIGZpbGU6IEEKKwlFT0YKKwlzZWQgIi9AQCBDb21taXQgbWVzc2FnZS8sL0BAIGZpbGU6IEEvIWQiIDAwMDAtKiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JtYXQtcGF0Y2ggLS1yYW5nZS1kaWZmIHdpdGggbXVsdGlwbGUgbm90ZXMnICcKKwlnaXQgbm90ZXMgLS1yZWY9bm90ZTEgYWRkIC1tICJ0b3BpYyBub3RlMSIgdG9waWMgJiYKKwlnaXQgbm90ZXMgLS1yZWY9bm90ZTEgYWRkIC1tICJ1bm1vZGlmaWVkIG5vdGUxIiB1bm1vZGlmaWVkICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkIGdpdCBub3RlcyAtLXJlZj1ub3RlMSByZW1vdmUgdG9waWMgdW5tb2RpZmllZCAmJgorCWdpdCBub3RlcyAtLXJlZj1ub3RlMiBhZGQgLW0gInRvcGljIG5vdGUyIiB0b3BpYyAmJgorCWdpdCBub3RlcyAtLXJlZj1ub3RlMiBhZGQgLW0gInVubW9kaWZpZWQgbm90ZTIiIHVubW9kaWZpZWQgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgZ2l0IG5vdGVzIC0tcmVmPW5vdGUyIHJlbW92ZSB0b3BpYyB1bm1vZGlmaWVkICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtLW5vdGVzPW5vdGUxIC0tbm90ZXM9bm90ZTIgLS1jb3Zlci1sZXR0ZXIgLS1yYW5nZS1kaWZmPSRwcmV2IFwKKwkJbWFzdGVyLi51bm1vZGlmaWVkID5hY3R1YWwgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIDAwMD8tKiIgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSA1IGFjdHVhbCAmJgorCXRlc3RfaTE4bmdyZXAgIl5SYW5nZS1kaWZmOiQiIDAwMDAtKiAmJgorCWdyZXAgIj0gMTogLiogcy81L0EiIDAwMDAtKiAmJgorCWdyZXAgIj0gMjogLiogcy80L0EiIDAwMDAtKiAmJgorCWdyZXAgIj0gMzogLiogcy8xMS9CIiAwMDAwLSogJiYKKwlncmVwICIhIDQ6IC4qIHMvMTIvQiIgMDAwMC0qICYmCisJc2VkIHMvWi9cIC9nID5leHBlY3QgPDwtRU9GICYmCisJICAgIEBAIENvbW1pdCBtZXNzYWdlCisJICAgIFoKKwkgICAgWgorCSAgICBaICMjIE5vdGVzIChub3RlMSkgIyMKKwkgICAgLSAgICB0b3BpYyBub3RlMQorCSAgICArICAgIHVubW9kaWZpZWQgbm90ZTEKKwkgICAgWgorCSAgICBaCisJICAgIFogIyMgTm90ZXMgKG5vdGUyKSAjIworCSAgICAtICAgIHRvcGljIG5vdGUyCisJICAgICsgICAgdW5tb2RpZmllZCBub3RlMgorCSAgICBaCisJICAgIFogIyMgZmlsZSAjIworCSAgICBaQEAgZmlsZTogQQorCUVPRgorCXNlZCAiL0BAIENvbW1pdCBtZXNzYWdlLywvQEAgZmlsZTogQS8hZCIgMDAwMC0qID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzIwNi9oaXN0b3J5LmV4cG9ydCBiL3QvdDMyMDYvaGlzdG9yeS5leHBvcnQKaW5kZXggYjhmZmZmMC4uNGM4MDhlNSAxMDA2NDQKLS0tIGEvdC90MzIwNi9oaXN0b3J5LmV4cG9ydAorKysgYi90L3QzMjA2L2hpc3RvcnkuZXhwb3J0CkBAIC0yMiw4ICsyMiw4IEBACiAxOQogMjAKIAotcmVzZXQgcmVmcy9oZWFkcy9yZW1vdmVkCi1jb21taXQgcmVmcy9oZWFkcy9yZW1vdmVkCityZXNldCByZWZzL2hlYWRzL3JlbmFtZWQtZmlsZQorY29tbWl0IHJlZnMvaGVhZHMvcmVuYW1lZC1maWxlCiBtYXJrIDoyCiBhdXRob3IgVGhvbWFzIFJhc3QgPHRyYXN0QGluZi5ldGh6LmNoPiAxMzc0NDI0OTIxICswMjAwCiBjb21taXR0ZXIgVGhvbWFzIFJhc3QgPHRyYXN0QGluZi5ldGh6LmNoPiAxMzc0NDg0NzI0ICswMjAwCkBAIC01NSw3ICs1NSw3IEBACiAxOQogMjAKIAotY29tbWl0IHJlZnMvaGVhZHMvdG9waWMKK2NvbW1pdCByZWZzL2hlYWRzL21vZGUtb25seS1jaGFuZ2UKIG1hcmsgOjQKIGF1dGhvciBUaG9tYXMgUmFzdCA8dHJhc3RAaW5mLmV0aHouY2g+IDEzNzQ0ODUwMTQgKzAyMDAKIGNvbW1pdHRlciBUaG9tYXMgUmFzdCA8dHJhc3RAaW5mLmV0aHouY2g+IDEzNzQ0ODUwMTQgKzAyMDAKQEAgLTU5OSw2ICs1OTksMTExIEBACiBmcm9tIDo0NgogTSAxMDA2NDQgOjI4IGZpbGUKIAotcmVzZXQgcmVmcy9oZWFkcy9yZW1vdmVkCi1mcm9tIDo0NworY29tbWl0IHJlZnMvaGVhZHMvYWRkZWQtcmVtb3ZlZAorbWFyayA6NDgKK2F1dGhvciBUaG9tYXMgUmFzdCA8dHJhc3RAaW5mLmV0aHouY2g+IDEzNzQ0ODUwMTQgKzAyMDAKK2NvbW1pdHRlciBUaG9tYXMgR3VtbWVyZXIgPHQuZ3VtbWVyZXJAZ21haWwuY29tPiAxNTU2NTc0MTUxICswMTAwCitkYXRhIDcKK3MvNS9BLworZnJvbSA6MgorTSAxMDA2NDQgOjMgZmlsZQorCitibG9iCittYXJrIDo0OQorZGF0YSAwCisKK2NvbW1pdCByZWZzL2hlYWRzL2FkZGVkLXJlbW92ZWQKK21hcmsgOjUwCithdXRob3IgVGhvbWFzIFJhc3QgPHRyYXN0QGluZi5ldGh6LmNoPiAxMzc0NDg1MDI0ICswMjAwCitjb21taXR0ZXIgVGhvbWFzIEd1bW1lcmVyIDx0Lmd1bW1lcmVyQGdtYWlsLmNvbT4gMTU1NjU3NDE3NyArMDEwMAorZGF0YSAxOAorcy80L0EvICsgbmV3LWZpbGUKK2Zyb20gOjQ4CitNIDEwMDY0NCA6NSBmaWxlCitNIDEwMDY0NCA6NDkgbmV3LWZpbGUKKworY29tbWl0IHJlZnMvaGVhZHMvYWRkZWQtcmVtb3ZlZAorbWFyayA6NTEKK2F1dGhvciBUaG9tYXMgUmFzdCA8dHJhc3RAaW5mLmV0aHouY2g+IDEzNzQ0ODUwMzYgKzAyMDAKK2NvbW1pdHRlciBUaG9tYXMgR3VtbWVyZXIgPHQuZ3VtbWVyZXJAZ21haWwuY29tPiAxNTU2NTc0MTc3ICswMTAwCitkYXRhIDIyCitzLzExL0IvICsgcmVtb3ZlIGZpbGUKK2Zyb20gOjUwCitNIDEwMDY0NCA6NyBmaWxlCitEIG5ldy1maWxlCisKK2NvbW1pdCByZWZzL2hlYWRzL2FkZGVkLXJlbW92ZWQKK21hcmsgOjUyCithdXRob3IgVGhvbWFzIFJhc3QgPHRyYXN0QGluZi5ldGh6LmNoPiAxMzc0NDg1MDQ0ICswMjAwCitjb21taXR0ZXIgVGhvbWFzIEd1bW1lcmVyIDx0Lmd1bW1lcmVyQGdtYWlsLmNvbT4gMTU1NjU3NDE3NyArMDEwMAorZGF0YSA4CitzLzEyL0IvCitmcm9tIDo1MQorTSAxMDA2NDQgOjkgZmlsZQorCitjb21taXQgcmVmcy9oZWFkcy9yZW5hbWVkLWZpbGUKK21hcmsgOjUzCithdXRob3IgVGhvbWFzIFJhc3QgPHRyYXN0QGluZi5ldGh6LmNoPiAxMzc0NDg1MDE0ICswMjAwCitjb21taXR0ZXIgVGhvbWFzIEd1bW1lcmVyIDx0Lmd1bW1lcmVyQGdtYWlsLmNvbT4gMTU1NjU3NDMwOSArMDEwMAorZGF0YSA3CitzLzUvQS8KK2Zyb20gOjIKK00gMTAwNjQ0IDozIGZpbGUKKworY29tbWl0IHJlZnMvaGVhZHMvcmVuYW1lZC1maWxlCittYXJrIDo1NAorYXV0aG9yIFRob21hcyBSYXN0IDx0cmFzdEBpbmYuZXRoei5jaD4gMTM3NDQ4NTAyNCArMDIwMAorY29tbWl0dGVyIFRob21hcyBHdW1tZXJlciA8dC5ndW1tZXJlckBnbWFpbC5jb20+IDE1NTY1NzQzMTIgKzAxMDAKK2RhdGEgMjEKK3MvNC9BLyArIHJlbmFtZSBmaWxlCitmcm9tIDo1MworRCBmaWxlCitNIDEwMDY0NCA6NSByZW5hbWVkLWZpbGUKKworY29tbWl0IHJlZnMvaGVhZHMvcmVuYW1lZC1maWxlCittYXJrIDo1NQorYXV0aG9yIFRob21hcyBSYXN0IDx0cmFzdEBpbmYuZXRoei5jaD4gMTM3NDQ4NTAzNiArMDIwMAorY29tbWl0dGVyIFRob21hcyBHdW1tZXJlciA8dC5ndW1tZXJlckBnbWFpbC5jb20+IDE1NTY1NzQzMTkgKzAxMDAKK2RhdGEgOAorcy8xMS9CLworZnJvbSA6NTQKK00gMTAwNjQ0IDo3IHJlbmFtZWQtZmlsZQorCitjb21taXQgcmVmcy9oZWFkcy9yZW5hbWVkLWZpbGUKK21hcmsgOjU2CithdXRob3IgVGhvbWFzIFJhc3QgPHRyYXN0QGluZi5ldGh6LmNoPiAxMzc0NDg1MDQ0ICswMjAwCitjb21taXR0ZXIgVGhvbWFzIEd1bW1lcmVyIDx0Lmd1bW1lcmVyQGdtYWlsLmNvbT4gMTU1NjU3NDMxOSArMDEwMAorZGF0YSA4CitzLzEyL0IvCitmcm9tIDo1NQorTSAxMDA2NDQgOjkgcmVuYW1lZC1maWxlCisKK2NvbW1pdCByZWZzL2hlYWRzL21vZGUtb25seS1jaGFuZ2UKK21hcmsgOjU3CithdXRob3IgVGhvbWFzIFJhc3QgPHRyYXN0QGluZi5ldGh6LmNoPiAxMzc0NDg1MDI0ICswMjAwCitjb21taXR0ZXIgVGhvbWFzIEd1bW1lcmVyIDx0Lmd1bW1lcmVyQGdtYWlsLmNvbT4gMTU3MDQ3Mzc2NyArMDEwMAorZGF0YSAyNAorcy80L0EvICsgYWRkIG90aGVyLWZpbGUKK2Zyb20gOjQKK00gMTAwNjQ0IDo1IGZpbGUKK00gMTAwNjQ0IDo0OSBvdGhlci1maWxlCisKK2NvbW1pdCByZWZzL2hlYWRzL21vZGUtb25seS1jaGFuZ2UKK21hcmsgOjU4CithdXRob3IgVGhvbWFzIFJhc3QgPHRyYXN0QGluZi5ldGh6LmNoPiAxMzc0NDg1MDM2ICswMjAwCitjb21taXR0ZXIgVGhvbWFzIEd1bW1lcmVyIDx0Lmd1bW1lcmVyQGdtYWlsLmNvbT4gMTU3MDQ3Mzc2OCArMDEwMAorZGF0YSAzMworcy8xMS9CLyArIG1vZGUgY2hhbmdlIG90aGVyLWZpbGUKK2Zyb20gOjU3CitNIDEwMDY0NCA6NyBmaWxlCitNIDEwMDc1NSA6NDkgb3RoZXItZmlsZQorCitjb21taXQgcmVmcy9oZWFkcy9tb2RlLW9ubHktY2hhbmdlCittYXJrIDo1OQorYXV0aG9yIFRob21hcyBSYXN0IDx0cmFzdEBpbmYuZXRoei5jaD4gMTM3NDQ4NTA0NCArMDIwMAorY29tbWl0dGVyIFRob21hcyBHdW1tZXJlciA8dC5ndW1tZXJlckBnbWFpbC5jb20+IDE1NzA0NzM3NjggKzAxMDAKK2RhdGEgOAorcy8xMi9CLworZnJvbSA6NTgKK00gMTAwNjQ0IDo5IGZpbGUKIApkaWZmIC0tZ2l0IGEvdC90MzIxMC1wYWNrLXJlZnMuc2ggYi90L3QzMjEwLXBhY2stcmVmcy5zaAppbmRleCA5ZWE1ZmE0Li5mNDFiMmFmIDEwMDc1NQotLS0gYS90L3QzMjEwLXBhY2stcmVmcy5zaAorKysgYi90L3QzMjEwLXBhY2stcmVmcy5zaApAQCAtMjQwLDcgKzI0MCw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgU1lNTElOS1MgJ3BhY2sgc3ltbGlua2VkIHBhY2tlZC1yZWZzJyAnCiAJIyBGaXJzdCBtYWtlIHN1cmUgdGhhdCBzeW1saW5raW5nIHdvcmtzIHdoZW4gcmVhZGluZzoKLQlnaXQgdXBkYXRlLXJlZiByZWZzL2hlYWRzL2xvb3N5IHJlZnMvaGVhZHMvbWFzdGVyICYmCisJZ2l0IHVwZGF0ZS1yZWYgcmVmcy9oZWFkcy9sb3NzeSByZWZzL2hlYWRzL21hc3RlciAmJgogCWdpdCBmb3ItZWFjaC1yZWYgPmFsbC1yZWZzLWJlZm9yZSAmJgogCW12IC5naXQvcGFja2VkLXJlZnMgLmdpdC9teS1kZXZpYW50LXBhY2tlZC1yZWZzICYmCiAJbG4gLXMgbXktZGV2aWFudC1wYWNrZWQtcmVmcyAuZ2l0L3BhY2tlZC1yZWZzICYmCmRpZmYgLS1naXQgYS90L3QzMzAxLW5vdGVzLnNoIGIvdC90MzMwMS1ub3Rlcy5zaAppbmRleCA4NGJiZjg4Li44ZjQzMzAzIDEwMDc1NQotLS0gYS90L3QzMzAxLW5vdGVzLnNoCisrKyBiL3QvdDMzMDEtbm90ZXMuc2gKQEAgLTU0LDcgKzU0LDkgQEAKIAl0ZXN0X3BhdGhfaXNfbWlzc2luZyAuZ2l0L05PVEVTX0VESVRNU0cgJiYKIAlnaXQgbHMtdHJlZSAtciByZWZzL25vdGVzL2NvbW1pdHMgPmFjdHVhbCAmJgogCXRlc3RfbGluZV9jb3VudCA9IDEgYWN0dWFsICYmCi0JdGVzdCAiYjQiID0gIiQoZ2l0IG5vdGVzIHNob3cpIiAmJgorCWVjaG8gYjQgPmV4cGVjdCAmJgorCWdpdCBub3RlcyBzaG93ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCiAJZ2l0IHNob3cgSEVBRF4gJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbm90ZXMgc2hvdyBIRUFEXgogJwpAQCAtNjYsOCArNjgsOSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgcmVmbG9nIGVudHJ5JyAnCisJcmVmPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IHJlZnMvbm90ZXMvY29tbWl0cykgJiYKIAljYXQgPDwtRU9GID5leHBlY3QgJiYKLQkJYTFkOGZhNiByZWZzL25vdGVzL2NvbW1pdHNAezB9OiBub3RlczogTm90ZXMgYWRkZWQgYnkgJ1wnJ2dpdCBub3RlcyBhZGQnXCcnCisJCSRyZWYgcmVmcy9ub3Rlcy9jb21taXRzQHswfTogbm90ZXM6IE5vdGVzIGFkZGVkIGJ5ICdcJydnaXQgbm90ZXMgYWRkJ1wnJwogCUVPRgogCWdpdCByZWZsb2cgc2hvdyByZWZzL25vdGVzL2NvbW1pdHMgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKQEAgLTc4LDE0ICs4MSwyMSBAQAogCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvTk9URVNfRURJVE1TRyAmJgogCWdpdCBscy10cmVlIC1yIHJlZnMvbm90ZXMvY29tbWl0cyA+YWN0dWFsICYmCiAJdGVzdF9saW5lX2NvdW50ID0gMSBhY3R1YWwgJiYKLQl0ZXN0ICJiMyIgPSAiJChnaXQgbm90ZXMgc2hvdykiICYmCisJZWNobyBiMyA+ZXhwZWN0ICYmCisJZ2l0IG5vdGVzIHNob3cgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKIAlnaXQgc2hvdyBIRUFEXiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBub3RlcyBzaG93IEhFQUReCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Nob3cgbm90ZXMgZnJvbSB0cmVlaXNoJyAnCi0JdGVzdCAiYjMiID0gIiQoZ2l0IG5vdGVzIC0tcmVmIGNvbW1pdHNee3RyZWV9IHNob3cpIiAmJgotCXRlc3QgImI0IiA9ICIkKGdpdCBub3RlcyAtLXJlZiBjb21taXRzQHsxfSBzaG93KSIKKwllY2hvIGIzID5leHBlY3QgJiYKKwlnaXQgbm90ZXMgLS1yZWYgY29tbWl0c157dHJlZX0gc2hvdyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJZWNobyBiNCA+ZXhwZWN0ICYmCisJZ2l0IG5vdGVzIC0tcmVmIGNvbW1pdHNAezF9IHNob3cgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2Fubm90IGVkaXQgbm90ZXMgZnJvbSBub24tcmVmJyAnCkBAIC05OCw3ICsxMDgsOSBAQAogCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvTk9URVNfRURJVE1TRyAmJgogCWdpdCBscy10cmVlIC1yIHJlZnMvbm90ZXMvY29tbWl0cyA+YWN0dWFsICYmCiAJdGVzdF9saW5lX2NvdW50ID0gMSBhY3R1YWwgJiYKLQl0ZXN0ICJiMyIgPSAiJChnaXQgbm90ZXMgc2hvdykiICYmCisJZWNobyBiMyA+ZXhwZWN0ICYmCisJZ2l0IG5vdGVzIHNob3cgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKIAlnaXQgc2hvdyBIRUFEXiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBub3RlcyBzaG93IEhFQUReCiAnCkBAIC0xMDgsNyArMTIwLDkgQEAKIAl0ZXN0X3BhdGhfaXNfbWlzc2luZyAuZ2l0L05PVEVTX0VESVRNU0cgJiYKIAlnaXQgbHMtdHJlZSAtciByZWZzL25vdGVzL2NvbW1pdHMgPmFjdHVhbCAmJgogCXRlc3RfbGluZV9jb3VudCA9IDEgYWN0dWFsICYmCi0JdGVzdCAiYjEiID0gIiQoZ2l0IG5vdGVzIHNob3cpIiAmJgorCWVjaG8gYjEgPmV4cGVjdCAmJgorCWdpdCBub3RlcyBzaG93ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCiAJZ2l0IHNob3cgSEVBRF4gJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbm90ZXMgc2hvdyBIRUFEXgogJwpAQCAtMTE4LDcgKzEzMiw5IEBACiAJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9OT1RFU19FRElUTVNHICYmCiAJZ2l0IGxzLXRyZWUgLXIgcmVmcy9ub3Rlcy9jb21taXRzID5hY3R1YWwgJiYKIAl0ZXN0X2xpbmVfY291bnQgPSAxIGFjdHVhbCAmJgotCXRlc3QgImIyIiA9ICIkKGdpdCBub3RlcyBzaG93KSIgJiYKKwllY2hvIGIyID5leHBlY3QgJiYKKwlnaXQgbm90ZXMgc2hvdyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgogCWdpdCBzaG93IEhFQUReICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG5vdGVzIHNob3cgSEVBRF4KICcKQEAgLTEyOCwxNCArMTQ0LDE3IEBACiAJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9OT1RFU19FRElUTVNHICYmCiAJZ2l0IGxzLXRyZWUgLXIgcmVmcy9ub3Rlcy9jb21taXRzID5hY3R1YWwgJiYKIAl0ZXN0X2xpbmVfY291bnQgPSAxIGFjdHVhbCAmJgotCXRlc3QgImIxIiA9ICIkKGdpdCBub3RlcyBzaG93KSIgJiYKKwllY2hvIGIxID5leHBlY3QgJiYKKwlnaXQgbm90ZXMgc2hvdyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgogCWdpdCBzaG93IEhFQUReICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG5vdGVzIHNob3cgSEVBRF4KICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hvdyBub3RlcycgJworCWNvbW1pdD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKIAljYXQgPmV4cGVjdCA8PC1FT0YgJiYKLQkJY29tbWl0IDdhNGNhNmVlNTJhOTc0YTY2Y2JhYTc4ZTMzMjE0NTM1ZGZmMWQ2OTEKKwkJY29tbWl0ICRjb21taXQKIAkJQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgogCQlEYXRlOiAgIFRodSBBcHIgNyAxNToxNDoxMyAyMDA1IC0wNzAwCiAKQEAgLTE0NCw3ICsxNjMsOCBAQAogCQlOb3RlczoKIAkJJHtpbmRlbnR9YjEKIAlFT0YKLQkhIChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBncmVwIGIxKSAmJgorCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCA+Y29tbWl0cyAmJgorCSEgZ3JlcCBiMSBjb21taXRzICYmCiAJZ2l0IGxvZyAtMSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwpAQCAtMTUyLDggKzE3Miw5IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaG93IG11bHRpLWxpbmUgbm90ZXMnICcKIAl0ZXN0X2NvbW1pdCAzcmQgJiYKIAlNU0c9ImIzJHtMRn1jM2MzYzNjMyR7TEZ9ZDNkM2QzIiBnaXQgbm90ZXMgYWRkICYmCisJY29tbWl0PSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgogCWNhdCA+ZXhwZWN0LW11bHRpbGluZSA8PC1FT0YgJiYKLQkJY29tbWl0IGQwN2Q2MmU1MjA4ZjIyZWI1Njk1ZTdlYjQ3NjY3ZGM4Yjk4NjAyOTAKKwkJY29tbWl0ICRjb21taXQKIAkJQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgogCQlEYXRlOiAgIFRodSBBcHIgNyAxNToxNToxMyAyMDA1IC0wNzAwCiAKQEAgLTE3NCw4ICsxOTUsOSBAQAogCXRlc3RfY29tbWl0IDR0aCAmJgogCWVjaG8gInh5enp5IiA+bm90ZTUgJiYKIAlnaXQgbm90ZXMgYWRkIC1GIG5vdGU1ICYmCisJY29tbWl0PSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgogCWNhdCA+ZXhwZWN0LUYgPDwtRU9GICYmCi0JCWNvbW1pdCAwZjdhYTNlYzYzMjVhZWI4OGI5MTA0NTNiYjNlYjM3YzQ5ZDc1YzExCisJCWNvbW1pdCAkY29tbWl0CiAJCUF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KIAkJRGF0ZTogICBUaHUgQXByIDcgMTU6MTY6MTMgMjAwNSAtMDcwMAogCkBAIC0xOTgsMTAgKzIyMCwxMyBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbG9nIC0tcHJldHR5PXJhdyBkb2VzIG5vdCBzaG93IG5vdGVzJyAnCisJY29tbWl0PSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCXRyZWU9JChnaXQgcmV2LXBhcnNlIEhFQURee3RyZWV9KSAmJgorCXBhcmVudD0kKGdpdCByZXYtcGFyc2UgSEVBRF4pICYmCiAJY2F0ID5leHBlY3QgPDwtRU9GICYmCi0JCWNvbW1pdCAwZjdhYTNlYzYzMjVhZWI4OGI5MTA0NTNiYjNlYjM3YzQ5ZDc1YzExCi0JCXRyZWUgMDVhYzY1Mjg4YzRjNGIzYjcwOWEwMjBhZTk0YjJlY2UyZjIyMDFhZQotCQlwYXJlbnQgZDA3ZDYyZTUyMDhmMjJlYjU2OTVlN2ViNDc2NjdkYzhiOTg2MDI5MAorCQljb21taXQgJGNvbW1pdAorCQl0cmVlICR0cmVlCisJCXBhcmVudCAkcGFyZW50CiAJCWF1dGhvciBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPiAxMTEyOTEyMTczIC0wNzAwCiAJCWNvbW1pdHRlciBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+IDExMTI5MTIxNzMgLTA3MDAKIApAQCAtMjkxLDggKzMxNiw5IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaG93IC1tIG5vdGVzJyAnCiAJdGVzdF9jb21taXQgNXRoICYmCiAJZ2l0IG5vdGVzIGFkZCAtbSBzcGFtIC1tICJmb28ke0xGfWJhciR7TEZ9YmF6IiAmJgorCWNvbW1pdD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKIAljYXQgPmV4cGVjdC1tIDw8LUVPRiAmJgotCQljb21taXQgN2Y5YWQ4ODM2Yzc3NWFjYjEzNGMwYTA1NWZjNTVmYjRjZDFiYTM2MQorCQljb21taXQgJGNvbW1pdAogCQlBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiAJCURhdGU6ICAgVGh1IEFwciA3IDE1OjE3OjEzIDIwMDUgLTA3MDAKIApAQCAtMzEzLDggKzMzOSw5IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlbW92ZSBub3RlIHdpdGggYWRkIC1mIC1GIC9kZXYvbnVsbCcgJwogCWdpdCBub3RlcyBhZGQgLWYgLUYgL2Rldi9udWxsICYmCisJY29tbWl0PSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgogCWNhdCA+ZXhwZWN0LXJtLUYgPDwtRU9GICYmCi0JCWNvbW1pdCA3ZjlhZDg4MzZjNzc1YWNiMTM0YzBhMDU1ZmM1NWZiNGNkMWJhMzYxCisJCWNvbW1pdCAkY29tbWl0CiAJCUF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KIAkJRGF0ZTogICBUaHUgQXByIDcgMTU6MTc6MTMgMjAwNSAtMDcwMAogCkBAIC0zNTYsMTQgKzM4MywxNiBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVtb3ZlIG5vdGUgd2l0aCAiZ2l0IG5vdGVzIHJlbW92ZSInICcKIAlnaXQgbm90ZXMgcmVtb3ZlIEhFQUReICYmCiAJZ2l0IG5vdGVzIHJlbW92ZSAmJgorCWNvbW1pdD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwlwYXJlbnQ9JChnaXQgcmV2LXBhcnNlIEhFQUReKSAmJgogCWNhdCA+ZXhwZWN0LXJtLXJlbW92ZSA8PC1FT0YgJiYKLQkJY29tbWl0IDdmOWFkODgzNmM3NzVhY2IxMzRjMGEwNTVmYzU1ZmI0Y2QxYmEzNjEKKwkJY29tbWl0ICRjb21taXQKIAkJQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgogCQlEYXRlOiAgIFRodSBBcHIgNyAxNToxNzoxMyAyMDA1IC0wNzAwCiAKIAkJJHtpbmRlbnR9NXRoCiAKLQkJY29tbWl0IDBmN2FhM2VjNjMyNWFlYjg4YjkxMDQ1M2JiM2ViMzdjNDlkNzVjMTEKKwkJY29tbWl0ICRwYXJlbnQKIAkJQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgogCQlEYXRlOiAgIFRodSBBcHIgNyAxNToxNjoxMyAyMDA1IC0wNzAwCiAKQEAgLTQ1OSw5ICs0ODgsMTMgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbGlzdCBub3RlcyB3aXRoICJnaXQgbm90ZXMgbGlzdCInICcKLQljYXQgPmV4cGVjdCA8PC1FT0YgJiYKLQkJYzljNmFmN2Y3OGJjNDc0OTBkYmYzZTgyMmNmMmYzYzI0ZDRiOTA2MSA3YTRjYTZlZTUyYTk3NGE2NmNiYWE3OGUzMzIxNDUzNWRmZjFkNjkxCi0JCWMxOGRjMDI0ZTE0ZjA4ZDE4ZDE0ZWVhMGQ3NDdmZjY5MmQ2NmQ2YTMgZDA3ZDYyZTUyMDhmMjJlYjU2OTVlN2ViNDc2NjdkYzhiOTg2MDI5MAorCWNvbW1pdF8yPSQoZ2l0IHJldi1wYXJzZSAybmQpICYmCisJY29tbWl0XzM9JChnaXQgcmV2LXBhcnNlIDNyZCkgJiYKKwlub3RlXzI9JChnaXQgcmV2LXBhcnNlIHJlZnMvbm90ZXMvY29tbWl0czokY29tbWl0XzIpICYmCisJbm90ZV8zPSQoZ2l0IHJldi1wYXJzZSByZWZzL25vdGVzL2NvbW1pdHM6JGNvbW1pdF8zKSAmJgorCXNvcnQgLXQiICIgLWsyID5leHBlY3QgPDwtRU9GICYmCisJCSRub3RlXzIgJGNvbW1pdF8yCisJCSRub3RlXzMgJGNvbW1pdF8zCiAJRU9GCiAJZ2l0IG5vdGVzIGxpc3QgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKQEAgLTQ3Myw5ICs1MDYsNyBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdsaXN0IHNwZWNpZmljIG5vdGUgd2l0aCAiZ2l0IG5vdGVzIGxpc3QgPG9iamVjdD4iJyAnCi0JY2F0ID5leHBlY3QgPDwtRU9GICYmCi0JCWMxOGRjMDI0ZTE0ZjA4ZDE4ZDE0ZWVhMGQ3NDdmZjY5MmQ2NmQ2YTMKLQlFT0YKKwlnaXQgcmV2LXBhcnNlIHJlZnMvbm90ZXMvY29tbWl0czokY29tbWl0XzMgPmV4cGVjdCAmJgogCWdpdCBub3RlcyBsaXN0IEhFQUReXiA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwpAQCAtNDk4LDEwICs1MjksMTIgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnImdpdCBub3RlcyBsaXN0IiBkb2VzIG5vdCBleHBhbmQgdG8gImdpdCBub3RlcyBsaXN0IEhFQUQiJyAnCi0JY2F0ID5leHBlY3RfbGlzdCA8PC1FT0YgJiYKLQkJYzljNmFmN2Y3OGJjNDc0OTBkYmYzZTgyMmNmMmYzYzI0ZDRiOTA2MSA3YTRjYTZlZTUyYTk3NGE2NmNiYWE3OGUzMzIxNDUzNWRmZjFkNjkxCi0JCTRiNmFkMjIzNTdjYzhhMTI5NjcyMDU3NGI4ZDJmYmMyMmZhYjA2NzEgN2Y5YWQ4ODM2Yzc3NWFjYjEzNGMwYTA1NWZjNTVmYjRjZDFiYTM2MQotCQljMThkYzAyNGUxNGYwOGQxOGQxNGVlYTBkNzQ3ZmY2OTJkNjZkNmEzIGQwN2Q2MmU1MjA4ZjIyZWI1Njk1ZTdlYjQ3NjY3ZGM4Yjk4NjAyOTAKKwljb21taXRfNT0kKGdpdCByZXYtcGFyc2UgNXRoKSAmJgorCW5vdGVfNT0kKGdpdCByZXYtcGFyc2UgcmVmcy9ub3Rlcy9jb21taXRzOiRjb21taXRfNSkgJiYKKwlzb3J0IC10IiAiIC1rMiA+ZXhwZWN0X2xpc3QgPDwtRU9GICYmCisJCSRub3RlXzIgJGNvbW1pdF8yCisJCSRub3RlXzMgJGNvbW1pdF8zCisJCSRub3RlXzUgJGNvbW1pdF81CiAJRU9GCiAJZ2l0IG5vdGVzIGxpc3QgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdF9saXN0IGFjdHVhbApAQCAtNTMxLDggKzU2NCw5IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgb3RoZXIgbm90ZSBvbiBhIGRpZmZlcmVudCBub3RlcyByZWYgKHNldHVwKScgJwogCXRlc3RfY29tbWl0IDZ0aCAmJgogCUdJVF9OT1RFU19SRUY9InJlZnMvbm90ZXMvb3RoZXIiIGdpdCBub3RlcyBhZGQgLW0gIm90aGVyIG5vdGUiICYmCisJY29tbWl0PSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgogCWNhdCA+ZXhwZWN0LW5vdC1vdGhlciA8PC1FT0YgJiYKLQkJY29tbWl0IDJjMTI1MzMxMTE4Y2FiYTBmZjgyMzhiN2Y0OTU4YWM2ZTkzZmUzOWMKKwkJY29tbWl0ICRjb21taXQKIAkJQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgogCQlEYXRlOiAgIFRodSBBcHIgNyAxNToxODoxMyAyMDA1IC0wNzAwCiAKQEAgLTU2OSw4ICs2MDMsMTAgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnU2hvdyBhbGwgbm90ZXMgd2hlbiBub3Rlcy5kaXNwbGF5UmVmPXJlZnMvbm90ZXMvKicgJworCWNvbW1pdD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwlwYXJlbnQ9JChnaXQgcmV2LXBhcnNlIEhFQUReKSAmJgogCWNhdCA+ZXhwZWN0LWJvdGggPDwtRU9GICYmCi0JCWNvbW1pdCAyYzEyNTMzMTExOGNhYmEwZmY4MjM4YjdmNDk1OGFjNmU5M2ZlMzljCisJCWNvbW1pdCAkY29tbWl0CiAJCUF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KIAkJRGF0ZTogICBUaHUgQXByIDcgMTU6MTg6MTMgMjAwNSAtMDcwMAogCkBAIC01ODIsNyArNjE4LDcgQEAKIAkJTm90ZXMgKG90aGVyKToKIAkJJHtpbmRlbnR9b3RoZXIgbm90ZQogCi0JCWNvbW1pdCA3ZjlhZDg4MzZjNzc1YWNiMTM0YzBhMDU1ZmM1NWZiNGNkMWJhMzYxCisJCWNvbW1pdCAkcGFyZW50CiAJCUF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KIAkJRGF0ZTogICBUaHUgQXByIDcgMTU6MTc6MTMgMjAwNSAtMDcwMAogCkBAIC02MTYsOCArNjUyLDkgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbm90ZXMuZGlzcGxheVJlZiByZXNwZWN0cyBvcmRlcicgJworCWNvbW1pdD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKIAljYXQgPmV4cGVjdC1ib3RoLXJldmVyc2VkIDw8LUVPRiAmJgotCQljb21taXQgMmMxMjUzMzExMThjYWJhMGZmODIzOGI3ZjQ5NThhYzZlOTNmZTM5YworCQljb21taXQgJGNvbW1pdAogCQlBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiAJCURhdGU6ICAgVGh1IEFwciA3IDE1OjE4OjEzIDIwMDUgLTA3MDAKIApAQCAtNjQyLDE0ICs2NzksMTYgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnR0lUX05PVEVTX0RJU1BMQVlfUkVGIG92ZXJyaWRlcyBjb25maWcnICcKKwljb21taXQ9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisJcGFyZW50PSQoZ2l0IHJldi1wYXJzZSBIRUFEXikgJiYKIAljYXQgPmV4cGVjdC1ub25lIDw8LUVPRiAmJgotCQljb21taXQgMmMxMjUzMzExMThjYWJhMGZmODIzOGI3ZjQ5NThhYzZlOTNmZTM5YworCQljb21taXQgJGNvbW1pdAogCQlBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiAJCURhdGU6ICAgVGh1IEFwciA3IDE1OjE4OjEzIDIwMDUgLTA3MDAKIAogCQkke2luZGVudH02dGgKIAotCQljb21taXQgN2Y5YWQ4ODM2Yzc3NWFjYjEzNGMwYTA1NWZjNTVmYjRjZDFiYTM2MQorCQljb21taXQgJHBhcmVudAogCQlBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiAJCURhdGU6ICAgVGh1IEFwciA3IDE1OjE3OjEzIDIwMDUgLTA3MDAKIApAQCAtNjY2LDggKzcwNSw5IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tbm8tc3RhbmRhcmQtbm90ZXMnICcKKwljb21taXQ9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCiAJY2F0ID5leHBlY3QtY29tbWl0cyA8PC1FT0YgJiYKLQkJY29tbWl0IDJjMTI1MzMxMTE4Y2FiYTBmZjgyMzhiN2Y0OTU4YWM2ZTkzZmUzOWMKKwkJY29tbWl0ICRjb21taXQKIAkJQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgogCQlEYXRlOiAgIFRodSBBcHIgNyAxNToxODoxMyAyMDA1IC0wNzAwCiAKQEAgLTcwMCw3ICs3NDAsOCBAQAogCWdpdCBub3RlcyBzaG93IEhFQUQ6ID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCiAJZWNobyAiTm90ZSBvbiBhIGJsb2IiID5leHBlY3QgJiYKLQlmaWxlbmFtZT0kKGdpdCBscy10cmVlIC0tbmFtZS1vbmx5IEhFQUQgfCBoZWFkIC1uMSkgJiYKKwlnaXQgbHMtdHJlZSAtLW5hbWUtb25seSBIRUFEID5maWxlcyAmJgorCWZpbGVuYW1lPSQoaGVhZCAtbjEgZmlsZXMpICYmCiAJZ2l0IG5vdGVzIGFkZCAtbSAiTm90ZSBvbiBhIGJsb2IiIEhFQUQ6JGZpbGVuYW1lICYmCiAJZ2l0IG5vdGVzIHNob3cgSEVBRDokZmlsZW5hbWUgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKQEAgLTcxMiw4ICs3NTMsMTAgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIG5vdGUgZnJvbSBvdGhlciBub3RlIHdpdGggImdpdCBub3RlcyBhZGQgLUMiJyAnCisJdGVzdF9jb21taXQgN3RoICYmCisJY29tbWl0PSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgogCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgotCQljb21taXQgZmIwMWUwY2E4YzMzYjZjYzBjNjQ1MWRkZTc0N2Y5N2RmNTY3Y2I1YworCQljb21taXQgJGNvbW1pdAogCQlBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiAJCURhdGU6ICAgVGh1IEFwciA3IDE1OjE5OjEzIDIwMDUgLTA3MDAKIApAQCAtNzIyLDExICs3NjUsMTMgQEAKIAkJTm90ZXM6CiAJCSR7aW5kZW50fW9yZGVyIHRlc3QKIAlFT0YKLQl0ZXN0X2NvbW1pdCA3dGggJiYKLQlnaXQgbm90ZXMgYWRkIC1DICQoZ2l0IG5vdGVzIGxpc3QgSEVBRF4pICYmCisJbm90ZT0kKGdpdCBub3RlcyBsaXN0IEhFQUReKSAmJgorCWdpdCBub3RlcyBhZGQgLUMgJG5vdGUgJiYKIAlnaXQgbG9nIC0xID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCi0JdGVzdCAiJChnaXQgbm90ZXMgbGlzdCBIRUFEKSIgPSAiJChnaXQgbm90ZXMgbGlzdCBIRUFEXikiCisJZ2l0IG5vdGVzIGxpc3QgSEVBRF4gPmV4cGVjdCAmJgorCWdpdCBub3RlcyBsaXN0IEhFQUQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIG5vdGUgZnJvbSBub24tZXhpc3Rpbmcgbm90ZSB3aXRoICJnaXQgbm90ZXMgYWRkIC1DIiBmYWlscycgJwpAQCAtNzQ0LDggKzc4OSw5IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NyZWF0ZSBub3RlIGZyb20gYmxvYiB3aXRoICJnaXQgbm90ZXMgYWRkIC1DIiByZXVzZXMgYmxvYiBpZCcgJworCWNvbW1pdD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKIAljYXQgPmV4cGVjdCA8PC1FT0YgJiYKLQkJY29tbWl0IDlhNGMzMWM3ZjcyMmI1ZDUxN2U5MmM2NGU5MzJkZDc1MWUxNDEzYmYKKwkJY29tbWl0ICRjb21taXQKIAkJQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgogCQlEYXRlOiAgIFRodSBBcHIgNyAxNToyMDoxMyAyMDA1IC0wNzAwCiAKQEAgLTc1NCwxNiArODAwLDE5IEBACiAJCU5vdGVzOgogCQkke2luZGVudH1UaGlzIGlzIGEgYmxvYiBvYmplY3QKIAlFT0YKLQlibG9iPSQoZWNobyAiVGhpcyBpcyBhIGJsb2Igb2JqZWN0IiB8IGdpdCBoYXNoLW9iamVjdCAtdyAtLXN0ZGluKSAmJgotCWdpdCBub3RlcyBhZGQgLUMgJGJsb2IgJiYKKwllY2hvICJUaGlzIGlzIGEgYmxvYiBvYmplY3QiIHwgZ2l0IGhhc2gtb2JqZWN0IC13IC0tc3RkaW4gPmJsb2IgJiYKKwlnaXQgbm90ZXMgYWRkIC1DICQoY2F0IGJsb2IpICYmCiAJZ2l0IGxvZyAtMSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgotCXRlc3QgIiQoZ2l0IG5vdGVzIGxpc3QgSEVBRCkiID0gIiRibG9iIgorCWdpdCBub3RlcyBsaXN0IEhFQUQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGJsb2IgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NyZWF0ZSBub3RlIGZyb20gb3RoZXIgbm90ZSB3aXRoICJnaXQgbm90ZXMgYWRkIC1jIicgJworCXRlc3RfY29tbWl0IDl0aCAmJgorCWNvbW1pdD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKIAljYXQgPmV4cGVjdCA8PC1FT0YgJiYKLQkJY29tbWl0IDJlMGRiNGJjNjQ5ZTE3NGQ2NjdhMWNkZTE5ZTcyNWNmODk3YTViZDIKKwkJY29tbWl0ICRjb21taXQKIAkJQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgogCQlEYXRlOiAgIFRodSBBcHIgNyAxNToyMToxMyAyMDA1IC0wNzAwCiAKQEAgLTc3Miw4ICs4MjEsOCBAQAogCQlOb3RlczoKIAkJJHtpbmRlbnR9eWV0IGFub3RoZXIgbm90ZQogCUVPRgotCXRlc3RfY29tbWl0IDl0aCAmJgotCU1TRz0ieWV0IGFub3RoZXIgbm90ZSIgZ2l0IG5vdGVzIGFkZCAtYyAkKGdpdCBub3RlcyBsaXN0IEhFQUReXikgJiYKKwlub3RlPSQoZ2l0IG5vdGVzIGxpc3QgSEVBRF5eKSAmJgorCU1TRz0ieWV0IGFub3RoZXIgbm90ZSIgZ2l0IG5vdGVzIGFkZCAtYyAkbm90ZSAmJgogCWdpdCBsb2cgLTEgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKQEAgLTc4NSw4ICs4MzQsOSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhcHBlbmQgdG8gbm90ZSBmcm9tIG90aGVyIG5vdGUgd2l0aCAiZ2l0IG5vdGVzIGFwcGVuZCAtQyInICcKKwljb21taXQ9JChnaXQgcmV2LXBhcnNlIEhFQUReKSAmJgogCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgotCQljb21taXQgMmUwZGI0YmM2NDllMTc0ZDY2N2ExY2RlMTllNzI1Y2Y4OTdhNWJkMgorCQljb21taXQgJGNvbW1pdAogCQlBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiAJCURhdGU6ICAgVGh1IEFwciA3IDE1OjIxOjEzIDIwMDUgLTA3MDAKIApAQCAtNzk3LDE0ICs4NDcsMTYgQEAKIAkJJHtpbmRlbnR9CiAJCSR7aW5kZW50fXlldCBhbm90aGVyIG5vdGUKIAlFT0YKLQlnaXQgbm90ZXMgYXBwZW5kIC1DICQoZ2l0IG5vdGVzIGxpc3QgSEVBRF4pIEhFQUReICYmCisJbm90ZT0kKGdpdCBub3RlcyBsaXN0IEhFQUReKSAmJgorCWdpdCBub3RlcyBhcHBlbmQgLUMgJG5vdGUgSEVBRF4gJiYKIAlnaXQgbG9nIC0xIEhFQUReID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NyZWF0ZSBub3RlIGZyb20gb3RoZXIgbm90ZSB3aXRoICJnaXQgbm90ZXMgYXBwZW5kIC1jIicgJworCWNvbW1pdD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKIAljYXQgPmV4cGVjdCA8PC1FT0YgJiYKLQkJY29tbWl0IDdjM2I4N2FiMzY4ZjgxZTExYjFlYTg3YjJhYjk5YTcxY2NkMjU0MDYKKwkJY29tbWl0ICRjb21taXQKIAkJQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgogCQlEYXRlOiAgIFRodSBBcHIgNyAxNToyMjoxMyAyMDA1IC0wNzAwCiAKQEAgLTgxMywxNCArODY1LDE2IEBACiAJCU5vdGVzOgogCQkke2luZGVudH1vdGhlciBub3RlCiAJRU9GCi0JTVNHPSJvdGhlciBub3RlIiBnaXQgbm90ZXMgYXBwZW5kIC1jICQoZ2l0IG5vdGVzIGxpc3QgSEVBRF4pICYmCisJbm90ZT0kKGdpdCBub3RlcyBsaXN0IEhFQUReKSAmJgorCU1TRz0ib3RoZXIgbm90ZSIgZ2l0IG5vdGVzIGFwcGVuZCAtYyAkbm90ZSAmJgogCWdpdCBsb2cgLTEgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYXBwZW5kIHRvIG5vdGUgZnJvbSBvdGhlciBub3RlIHdpdGggImdpdCBub3RlcyBhcHBlbmQgLWMiJyAnCisJY29tbWl0PSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgogCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgotCQljb21taXQgN2MzYjg3YWIzNjhmODFlMTFiMWVhODdiMmFiOTlhNzFjY2QyNTQwNgorCQljb21taXQgJGNvbW1pdAogCQlBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiAJCURhdGU6ICAgVGh1IEFwciA3IDE1OjIyOjEzIDIwMDUgLTA3MDAKIApAQCAtODMxLDE0ICs4ODUsMzcgQEAKIAkJJHtpbmRlbnR9CiAJCSR7aW5kZW50fXlldCBhbm90aGVyIG5vdGUKIAlFT0YKLQlNU0c9InlldCBhbm90aGVyIG5vdGUiIGdpdCBub3RlcyBhcHBlbmQgLWMgJChnaXQgbm90ZXMgbGlzdCBIRUFEKSAmJgorCW5vdGU9JChnaXQgbm90ZXMgbGlzdCBIRUFEKSAmJgorCU1TRz0ieWV0IGFub3RoZXIgbm90ZSIgZ2l0IG5vdGVzIGFwcGVuZCAtYyAkbm90ZSAmJgogCWdpdCBsb2cgLTEgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY29weSBub3RlIHdpdGggImdpdCBub3RlcyBjb3B5IicgJworCWNvbW1pdD0kKGdpdCByZXYtcGFyc2UgNHRoKSAmJgogCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgotCQljb21taXQgYTQ0NmZmZjg3NzdlZmRjNmViOGY0YjdjOGE1ZmY2OTk0ODRkZjBkNQorCQljb21taXQgJGNvbW1pdAorCQlBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CisJCURhdGU6ICAgVGh1IEFwciA3IDE1OjE2OjEzIDIwMDUgLTA3MDAKKworCQkke2luZGVudH00dGgKKworCQlOb3RlczoKKwkJJHtpbmRlbnR9VGhpcyBpcyBhIGJsb2Igb2JqZWN0CisJRU9GCisJZ2l0IG5vdGVzIGNvcHkgOHRoIDR0aCAmJgorCWdpdCBsb2cgM3JkLi40dGggPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgbm90ZXMgbGlzdCA0dGggPmV4cGVjdCAmJgorCWdpdCBub3RlcyBsaXN0IDh0aCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3B5IG5vdGUgd2l0aCAiZ2l0IG5vdGVzIGNvcHkiIHdpdGggZGVmYXVsdCcgJworCXRlc3RfY29tbWl0IDExdGggJiYKKwljb21taXQ9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJCWNvbW1pdCAkY29tbWl0CiAJCUF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KIAkJRGF0ZTogICBUaHUgQXByIDcgMTU6MjM6MTMgMjAwNSAtMDcwMAogCkBAIC04NDksMjMgKzkyNiw1OSBAQAogCQkke2luZGVudH0KIAkJJHtpbmRlbnR9eWV0IGFub3RoZXIgbm90ZQogCUVPRgotCXRlc3RfY29tbWl0IDExdGggJiYKLQlnaXQgbm90ZXMgY29weSBIRUFEXiBIRUFEICYmCisJZ2l0IG5vdGVzIGNvcHkgSEVBRF4gJiYKIAlnaXQgbG9nIC0xID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCi0JdGVzdCAiJChnaXQgbm90ZXMgbGlzdCBIRUFEKSIgPSAiJChnaXQgbm90ZXMgbGlzdCBIRUFEXikiCisJZ2l0IG5vdGVzIGxpc3QgSEVBRF4gPmV4cGVjdCAmJgorCWdpdCBub3RlcyBsaXN0IEhFQUQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncHJldmVudCBvdmVyd3JpdGUgd2l0aCAiZ2l0IG5vdGVzIGNvcHkiJyAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG5vdGVzIGNvcHkgSEVBRH4yIEhFQUQgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkJY29tbWl0ICRjb21taXQKKwkJQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgorCQlEYXRlOiAgIFRodSBBcHIgNyAxNToyMzoxMyAyMDA1IC0wNzAwCisKKwkJJHtpbmRlbnR9MTF0aAorCisJCU5vdGVzOgorCQkke2luZGVudH1vdGhlciBub3RlCisJCSR7aW5kZW50fQorCQkke2luZGVudH15ZXQgYW5vdGhlciBub3RlCisJRU9GCiAJZ2l0IGxvZyAtMSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgotCXRlc3QgIiQoZ2l0IG5vdGVzIGxpc3QgSEVBRCkiID0gIiQoZ2l0IG5vdGVzIGxpc3QgSEVBRF4pIgorCWdpdCBub3RlcyBsaXN0IEhFQUReID5leHBlY3QgJiYKKwlnaXQgbm90ZXMgbGlzdCBIRUFEID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FsbG93IG92ZXJ3cml0ZSB3aXRoICJnaXQgbm90ZXMgY29weSAtZiInICcKKwljb21taXQ9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCiAJY2F0ID5leHBlY3QgPDwtRU9GICYmCi0JCWNvbW1pdCBhNDQ2ZmZmODc3N2VmZGM2ZWI4ZjRiN2M4YTVmZjY5OTQ4NGRmMGQ1CisJCWNvbW1pdCAkY29tbWl0CisJCUF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KKwkJRGF0ZTogICBUaHUgQXByIDcgMTU6MjM6MTMgMjAwNSAtMDcwMAorCisJCSR7aW5kZW50fTExdGgKKworCQlOb3RlczoKKwkJJHtpbmRlbnR9VGhpcyBpcyBhIGJsb2Igb2JqZWN0CisJRU9GCisJZ2l0IG5vdGVzIGNvcHkgLWYgSEVBRH4zIEhFQUQgJiYKKwlnaXQgbG9nIC0xID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IG5vdGVzIGxpc3QgSEVBRH4zID5leHBlY3QgJiYKKwlnaXQgbm90ZXMgbGlzdCBIRUFEID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FsbG93IG92ZXJ3cml0ZSB3aXRoICJnaXQgbm90ZXMgY29weSAtZiIgd2l0aCBkZWZhdWx0JyAnCisJY29tbWl0PSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCQljb21taXQgJGNvbW1pdAogCQlBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiAJCURhdGU6ICAgVGh1IEFwciA3IDE1OjIzOjEzIDIwMDUgLTA3MDAKIApAQCAtODc2LDEwICs5ODksMTIgQEAKIAkJJHtpbmRlbnR9CiAJCSR7aW5kZW50fXlldCBhbm90aGVyIG5vdGUKIAlFT0YKLQlnaXQgbm90ZXMgY29weSAtZiBIRUFEfjIgSEVBRCAmJgorCWdpdCBub3RlcyBjb3B5IC1mIEhFQUR+MiAmJgogCWdpdCBsb2cgLTEgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKLQl0ZXN0ICIkKGdpdCBub3RlcyBsaXN0IEhFQUQpIiA9ICIkKGdpdCBub3RlcyBsaXN0IEhFQUR+MikiCisJZ2l0IG5vdGVzIGxpc3QgSEVBRH4yID5leHBlY3QgJiYKKwlnaXQgbm90ZXMgbGlzdCBIRUFEID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Nhbm5vdCBjb3B5IG5vdGUgZnJvbSBvYmplY3Qgd2l0aG91dCBub3RlcycgJwpAQCAtODg5LDggKzEwMDQsMTAgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IG5vdGVzIGNvcHkgLS1zdGRpbicgJworCWNvbW1pdD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwlwYXJlbnQ9JChnaXQgcmV2LXBhcnNlIEhFQUReKSAmJgogCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgotCQljb21taXQgZTg3MWFhNjExODJiMWQ5NWQwYTZmYjc1NDQ1ZDg5MTcyMjg2M2I2YgorCQljb21taXQgJGNvbW1pdAogCQlBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiAJCURhdGU6ICAgVGh1IEFwciA3IDE1OjI1OjEzIDIwMDUgLTA3MDAKIApAQCAtOTAxLDcgKzEwMTgsNyBAQAogCQkke2luZGVudH0KIAkJJHtpbmRlbnR9eWV0IGFub3RoZXIgbm90ZQogCi0JCWNvbW1pdCA2NWUyNjNkZWQwMmFlNGU4ODM5YmMxNTEwOTUxMTM3Mzc1NzlkYzEyCisJCWNvbW1pdCAkcGFyZW50CiAJCUF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KIAkJRGF0ZTogICBUaHUgQXByIDcgMTU6MjQ6MTMgMjAwNSAtMDcwMAogCkBAIC05MTIsNDEgKzEwMjksNTcgQEAKIAkJJHtpbmRlbnR9CiAJCSR7aW5kZW50fXlldCBhbm90aGVyIG5vdGUKIAlFT0YKLQkoZWNobyAkKGdpdCByZXYtcGFyc2UgSEVBRH4zKSAkKGdpdCByZXYtcGFyc2UgSEVBRF4pICYmCi0JZWNobyAkKGdpdCByZXYtcGFyc2UgSEVBRH4yKSAkKGdpdCByZXYtcGFyc2UgSEVBRCkpIHwKLQlnaXQgbm90ZXMgY29weSAtLXN0ZGluICYmCisJZnJvbT0kKGdpdCByZXYtcGFyc2UgSEVBRH4zKSAmJgorCXRvPSQoZ2l0IHJldi1wYXJzZSBIRUFEXikgJiYKKwllY2hvICIkZnJvbSIgIiR0byIgPmNvcHkgJiYKKwlmcm9tPSQoZ2l0IHJldi1wYXJzZSBIRUFEfjIpICYmCisJdG89JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisJZWNobyAiJGZyb20iICIkdG8iID4+Y29weSAmJgorCWdpdCBub3RlcyBjb3B5IC0tc3RkaW4gPGNvcHkgJiYKIAlnaXQgbG9nIC0yID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCi0JdGVzdCAiJChnaXQgbm90ZXMgbGlzdCBIRUFEKSIgPSAiJChnaXQgbm90ZXMgbGlzdCBIRUFEfjIpIiAmJgotCXRlc3QgIiQoZ2l0IG5vdGVzIGxpc3QgSEVBRF4pIiA9ICIkKGdpdCBub3RlcyBsaXN0IEhFQUR+MykiCisJZ2l0IG5vdGVzIGxpc3QgSEVBRH4yID5leHBlY3QgJiYKKwlnaXQgbm90ZXMgbGlzdCBIRUFEID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IG5vdGVzIGxpc3QgSEVBRH4zID5leHBlY3QgJiYKKwlnaXQgbm90ZXMgbGlzdCBIRUFEXiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbm90ZXMgY29weSAtLWZvci1yZXdyaXRlICh1bmNvbmZpZ3VyZWQpJyAnCisJdGVzdF9jb21taXQgMTR0aCAmJgorCXRlc3RfY29tbWl0IDE1dGggJiYKKwljb21taXQ9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisJcGFyZW50PSQoZ2l0IHJldi1wYXJzZSBIRUFEXikgJiYKIAljYXQgPmV4cGVjdCA8PC1FT0YgJiYKLQkJY29tbWl0IDRhY2Y0MmU4NDdlN2ZmZmJiZjg5ZWUzNjVjMjBhYzdjYWY0MGRlODkKKwkJY29tbWl0ICRjb21taXQKIAkJQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgogCQlEYXRlOiAgIFRodSBBcHIgNyAxNToyNzoxMyAyMDA1IC0wNzAwCiAKIAkJJHtpbmRlbnR9MTV0aAogCi0JCWNvbW1pdCAwN2M4NWQ3NzA1OTM5M2VkMDE1NGI4Yzk2OTA2NTQ3YTU5ZGZjZGRkCisJCWNvbW1pdCAkcGFyZW50CiAJCUF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KIAkJRGF0ZTogICBUaHUgQXByIDcgMTU6MjY6MTMgMjAwNSAtMDcwMAogCiAJCSR7aW5kZW50fTE0dGgKIAlFT0YKLQl0ZXN0X2NvbW1pdCAxNHRoICYmCi0JdGVzdF9jb21taXQgMTV0aCAmJgotCShlY2hvICQoZ2l0IHJldi1wYXJzZSBIRUFEfjMpICQoZ2l0IHJldi1wYXJzZSBIRUFEXikgJiYKLQllY2hvICQoZ2l0IHJldi1wYXJzZSBIRUFEfjIpICQoZ2l0IHJldi1wYXJzZSBIRUFEKSkgfAotCWdpdCBub3RlcyBjb3B5IC0tZm9yLXJld3JpdGU9Zm9vICYmCisJZnJvbT0kKGdpdCByZXYtcGFyc2UgSEVBRH4zKSAmJgorCXRvPSQoZ2l0IHJldi1wYXJzZSBIRUFEXikgJiYKKwllY2hvICIkZnJvbSIgIiR0byIgPmNvcHkgJiYKKwlmcm9tPSQoZ2l0IHJldi1wYXJzZSBIRUFEfjIpICYmCisJdG89JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisJZWNobyAiJGZyb20iICIkdG8iID4+Y29weSAmJgorCWdpdCBub3RlcyBjb3B5IC0tZm9yLXJld3JpdGU9Zm9vIDxjb3B5ICYmCiAJZ2l0IGxvZyAtMiA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbm90ZXMgY29weSAtLWZvci1yZXdyaXRlIChlbmFibGVkKScgJworCWNvbW1pdD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwlwYXJlbnQ9JChnaXQgcmV2LXBhcnNlIEhFQUReKSAmJgogCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgotCQljb21taXQgNGFjZjQyZTg0N2U3ZmZmYmJmODllZTM2NWMyMGFjN2NhZjQwZGU4OQorCQljb21taXQgJGNvbW1pdAogCQlBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiAJCURhdGU6ICAgVGh1IEFwciA3IDE1OjI3OjEzIDIwMDUgLTA3MDAKIApAQCAtOTU3LDcgKzEwOTAsNyBAQAogCQkke2luZGVudH0KIAkJJHtpbmRlbnR9eWV0IGFub3RoZXIgbm90ZQogCi0JCWNvbW1pdCAwN2M4NWQ3NzA1OTM5M2VkMDE1NGI4Yzk2OTA2NTQ3YTU5ZGZjZGRkCisJCWNvbW1pdCAkcGFyZW50CiAJCUF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KIAkJRGF0ZTogICBUaHUgQXByIDcgMTU6MjY6MTMgMjAwNSAtMDcwMAogCkBAIC05NzAsMjQgKzExMDMsMzEgQEAKIAlFT0YKIAl0ZXN0X2NvbmZpZyBub3Rlcy5yZXdyaXRlTW9kZSBvdmVyd3JpdGUgJiYKIAl0ZXN0X2NvbmZpZyBub3Rlcy5yZXdyaXRlUmVmICJyZWZzL25vdGVzLyoiICYmCi0JKGVjaG8gJChnaXQgcmV2LXBhcnNlIEhFQUR+MykgJChnaXQgcmV2LXBhcnNlIEhFQUReKSAmJgotCWVjaG8gJChnaXQgcmV2LXBhcnNlIEhFQUR+MikgJChnaXQgcmV2LXBhcnNlIEhFQUQpKSB8Ci0JZ2l0IG5vdGVzIGNvcHkgLS1mb3ItcmV3cml0ZT1mb28gJiYKKwlmcm9tPSQoZ2l0IHJldi1wYXJzZSBIRUFEfjMpICYmCisJdG89JChnaXQgcmV2LXBhcnNlIEhFQUReKSAmJgorCWVjaG8gIiRmcm9tIiAiJHRvIiA+Y29weSAmJgorCWZyb209JChnaXQgcmV2LXBhcnNlIEhFQUR+MikgJiYKKwl0bz0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwllY2hvICIkZnJvbSIgIiR0byIgPj5jb3B5ICYmCisJZ2l0IG5vdGVzIGNvcHkgLS1mb3ItcmV3cml0ZT1mb28gPGNvcHkgJiYKIAlnaXQgbG9nIC0yID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBub3RlcyBjb3B5IC0tZm9yLXJld3JpdGUgKGRpc2FibGVkKScgJwogCXRlc3RfY29uZmlnIG5vdGVzLnJld3JpdGUuYmFyIGZhbHNlICYmCi0JZWNobyAkKGdpdCByZXYtcGFyc2UgSEVBRH4zKSAkKGdpdCByZXYtcGFyc2UgSEVBRCkgfAotCWdpdCBub3RlcyBjb3B5IC0tZm9yLXJld3JpdGU9YmFyICYmCisJZnJvbT0kKGdpdCByZXYtcGFyc2UgSEVBRH4zKSAmJgorCXRvPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCWVjaG8gIiRmcm9tIiAiJHRvIiA+Y29weSAmJgorCWdpdCBub3RlcyBjb3B5IC0tZm9yLXJld3JpdGU9YmFyIDxjb3B5ICYmCiAJZ2l0IGxvZyAtMiA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbm90ZXMgY29weSAtLWZvci1yZXdyaXRlIChvdmVyd3JpdGUpJyAnCisJY29tbWl0PSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgogCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgotCQljb21taXQgNGFjZjQyZTg0N2U3ZmZmYmJmODllZTM2NWMyMGFjN2NhZjQwZGU4OQorCQljb21taXQgJGNvbW1pdAogCQlBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiAJCURhdGU6ICAgVGh1IEFwciA3IDE1OjI3OjEzIDIwMDUgLTA3MDAKIApAQCAtOTk5LDggKzExMzksMTAgQEAKIAlnaXQgbm90ZXMgYWRkIC1mIC1tImEgZnJlc2ggbm90ZSIgSEVBRF4gJiYKIAl0ZXN0X2NvbmZpZyBub3Rlcy5yZXdyaXRlTW9kZSBvdmVyd3JpdGUgJiYKIAl0ZXN0X2NvbmZpZyBub3Rlcy5yZXdyaXRlUmVmICJyZWZzL25vdGVzLyoiICYmCi0JZWNobyAkKGdpdCByZXYtcGFyc2UgSEVBRF4pICQoZ2l0IHJldi1wYXJzZSBIRUFEKSB8Ci0JZ2l0IG5vdGVzIGNvcHkgLS1mb3ItcmV3cml0ZT1mb28gJiYKKwlmcm9tPSQoZ2l0IHJldi1wYXJzZSBIRUFEXikgJiYKKwl0bz0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwllY2hvICIkZnJvbSIgIiR0byIgPmNvcHkgJiYKKwlnaXQgbm90ZXMgY29weSAtLWZvci1yZXdyaXRlPWZvbyA8Y29weSAmJgogCWdpdCBsb2cgLTEgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKQEAgLTEwMDgsMTUgKzExNTAsMTggQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBub3RlcyBjb3B5IC0tZm9yLXJld3JpdGUgKGlnbm9yZSknICcKIAl0ZXN0X2NvbmZpZyBub3Rlcy5yZXdyaXRlTW9kZSBpZ25vcmUgJiYKIAl0ZXN0X2NvbmZpZyBub3Rlcy5yZXdyaXRlUmVmICJyZWZzL25vdGVzLyoiICYmCi0JZWNobyAkKGdpdCByZXYtcGFyc2UgSEVBRF4pICQoZ2l0IHJldi1wYXJzZSBIRUFEKSB8Ci0JZ2l0IG5vdGVzIGNvcHkgLS1mb3ItcmV3cml0ZT1mb28gJiYKKwlmcm9tPSQoZ2l0IHJldi1wYXJzZSBIRUFEXikgJiYKKwl0bz0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwllY2hvICIkZnJvbSIgIiR0byIgPmNvcHkgJiYKKwlnaXQgbm90ZXMgY29weSAtLWZvci1yZXdyaXRlPWZvbyA8Y29weSAmJgogCWdpdCBsb2cgLTEgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IG5vdGVzIGNvcHkgLS1mb3ItcmV3cml0ZSAoYXBwZW5kKScgJworCWNvbW1pdD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKIAljYXQgPmV4cGVjdCA8PC1FT0YgJiYKLQkJY29tbWl0IDRhY2Y0MmU4NDdlN2ZmZmJiZjg5ZWUzNjVjMjBhYzdjYWY0MGRlODkKKwkJY29tbWl0ICRjb21taXQKIAkJQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgogCQlEYXRlOiAgIFRodSBBcHIgNyAxNToyNzoxMyAyMDA1IC0wNzAwCiAKQEAgLTEwMzAsMTUgKzExNzUsMTggQEAKIAlnaXQgbm90ZXMgYWRkIC1mIC1tImFub3RoZXIgZnJlc2ggbm90ZSIgSEVBRF4gJiYKIAl0ZXN0X2NvbmZpZyBub3Rlcy5yZXdyaXRlTW9kZSBjb25jYXRlbmF0ZSAmJgogCXRlc3RfY29uZmlnIG5vdGVzLnJld3JpdGVSZWYgInJlZnMvbm90ZXMvKiIgJiYKLQllY2hvICQoZ2l0IHJldi1wYXJzZSBIRUFEXikgJChnaXQgcmV2LXBhcnNlIEhFQUQpIHwKLQlnaXQgbm90ZXMgY29weSAtLWZvci1yZXdyaXRlPWZvbyAmJgorCWZyb209JChnaXQgcmV2LXBhcnNlIEhFQUReKSAmJgorCXRvPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCWVjaG8gIiRmcm9tIiAiJHRvIiA+Y29weSAmJgorCWdpdCBub3RlcyBjb3B5IC0tZm9yLXJld3JpdGU9Zm9vIDxjb3B5ICYmCiAJZ2l0IGxvZyAtMSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbm90ZXMgY29weSAtLWZvci1yZXdyaXRlIChhcHBlbmQgdHdvIHRvIG9uZSknICcKKwljb21taXQ9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCiAJY2F0ID5leHBlY3QgPDwtRU9GICYmCi0JCWNvbW1pdCA0YWNmNDJlODQ3ZTdmZmZiYmY4OWVlMzY1YzIwYWM3Y2FmNDBkZTg5CisJCWNvbW1pdCAkY29tbWl0CiAJCUF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KIAkJRGF0ZTogICBUaHUgQXByIDcgMTU6Mjc6MTMgMjAwNSAtMDcwMAogCkBAIC0xMDU3LDkgKzEyMDUsMTMgQEAKIAlnaXQgbm90ZXMgYWRkIC1mIC1tImFwcGVuZCAyIiBIRUFEXl4gJiYKIAl0ZXN0X2NvbmZpZyBub3Rlcy5yZXdyaXRlTW9kZSBjb25jYXRlbmF0ZSAmJgogCXRlc3RfY29uZmlnIG5vdGVzLnJld3JpdGVSZWYgInJlZnMvbm90ZXMvKiIgJiYKLQkoZWNobyAkKGdpdCByZXYtcGFyc2UgSEVBRF4pICQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgotCWVjaG8gJChnaXQgcmV2LXBhcnNlIEhFQUReXikgJChnaXQgcmV2LXBhcnNlIEhFQUQpKSB8Ci0JZ2l0IG5vdGVzIGNvcHkgLS1mb3ItcmV3cml0ZT1mb28gJiYKKwlmcm9tPSQoZ2l0IHJldi1wYXJzZSBIRUFEXikgJiYKKwl0bz0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwllY2hvICIkZnJvbSIgIiR0byIgPmNvcHkgJiYKKwlmcm9tPSQoZ2l0IHJldi1wYXJzZSBIRUFEXl4pICYmCisJdG89JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisJZWNobyAiJGZyb20iICIkdG8iID4+Y29weSAmJgorCWdpdCBub3RlcyBjb3B5IC0tZm9yLXJld3JpdGU9Zm9vIDxjb3B5ICYmCiAJZ2l0IGxvZyAtMSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwpAQCAtMTA2OCwxNSArMTIyMCwxOCBAQAogCWdpdCBub3RlcyByZW1vdmUgSEVBRF4gJiYKIAl0ZXN0X2NvbmZpZyBub3Rlcy5yZXdyaXRlTW9kZSBjb25jYXRlbmF0ZSAmJgogCXRlc3RfY29uZmlnIG5vdGVzLnJld3JpdGVSZWYgInJlZnMvbm90ZXMvKiIgJiYKLQllY2hvICQoZ2l0IHJldi1wYXJzZSBIRUFEXikgJChnaXQgcmV2LXBhcnNlIEhFQUQpIHwKLQlnaXQgbm90ZXMgY29weSAtLWZvci1yZXdyaXRlPWZvbyAmJgorCWZyb209JChnaXQgcmV2LXBhcnNlIEhFQUReKSAmJgorCXRvPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCWVjaG8gIiRmcm9tIiAiJHRvIiA+Y29weSAmJgorCWdpdCBub3RlcyBjb3B5IC0tZm9yLXJld3JpdGU9Zm9vIDxjb3B5ICYmCiAJZ2l0IGxvZyAtMSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdHSVRfTk9URVNfUkVXUklURV9NT0RFIHdvcmtzJyAnCisJY29tbWl0PSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgogCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgotCQljb21taXQgNGFjZjQyZTg0N2U3ZmZmYmJmODllZTM2NWMyMGFjN2NhZjQwZGU4OQorCQljb21taXQgJGNvbW1pdAogCQlBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiAJCURhdGU6ICAgVGh1IEFwciA3IDE1OjI3OjEzIDIwMDUgLTA3MDAKIApAQCAtMTA4OCwxNSArMTI0MywxOCBAQAogCXRlc3RfY29uZmlnIG5vdGVzLnJld3JpdGVNb2RlIGNvbmNhdGVuYXRlICYmCiAJdGVzdF9jb25maWcgbm90ZXMucmV3cml0ZVJlZiAicmVmcy9ub3Rlcy8qIiAmJgogCWdpdCBub3RlcyBhZGQgLWYgLW0icmVwbGFjZW1lbnQgbm90ZSAxIiBIRUFEXiAmJgotCWVjaG8gJChnaXQgcmV2LXBhcnNlIEhFQUReKSAkKGdpdCByZXYtcGFyc2UgSEVBRCkgfAotCUdJVF9OT1RFU19SRVdSSVRFX01PREU9b3ZlcndyaXRlIGdpdCBub3RlcyBjb3B5IC0tZm9yLXJld3JpdGU9Zm9vICYmCisJZnJvbT0kKGdpdCByZXYtcGFyc2UgSEVBRF4pICYmCisJdG89JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisJZWNobyAiJGZyb20iICIkdG8iID5jb3B5ICYmCisJR0lUX05PVEVTX1JFV1JJVEVfTU9ERT1vdmVyd3JpdGUgZ2l0IG5vdGVzIGNvcHkgLS1mb3ItcmV3cml0ZT1mb28gPGNvcHkgJiYKIAlnaXQgbG9nIC0xID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0dJVF9OT1RFU19SRVdSSVRFX1JFRiB3b3JrcycgJworCWNvbW1pdD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKIAljYXQgPmV4cGVjdCA8PC1FT0YgJiYKLQkJY29tbWl0IDRhY2Y0MmU4NDdlN2ZmZmJiZjg5ZWUzNjVjMjBhYzdjYWY0MGRlODkKKwkJY29tbWl0ICRjb21taXQKIAkJQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgogCQlEYXRlOiAgIFRodSBBcHIgNyAxNToyNzoxMyAyMDA1IC0wNzAwCiAKQEAgLTExMDgsOSArMTI2NiwxMSBAQAogCWdpdCBub3RlcyBhZGQgLWYgLW0icmVwbGFjZW1lbnQgbm90ZSAyIiBIRUFEXiAmJgogCXRlc3RfY29uZmlnIG5vdGVzLnJld3JpdGVNb2RlIG92ZXJ3cml0ZSAmJgogCXRlc3RfdW5jb25maWcgbm90ZXMucmV3cml0ZVJlZiAmJgotCWVjaG8gJChnaXQgcmV2LXBhcnNlIEhFQUReKSAkKGdpdCByZXYtcGFyc2UgSEVBRCkgfAorCWZyb209JChnaXQgcmV2LXBhcnNlIEhFQUReKSAmJgorCXRvPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCWVjaG8gIiRmcm9tIiAiJHRvIiA+Y29weSAmJgogCUdJVF9OT1RFU19SRVdSSVRFX1JFRj1yZWZzL25vdGVzL2NvbW1pdHM6cmVmcy9ub3Rlcy9vdGhlciBcCi0JCWdpdCBub3RlcyBjb3B5IC0tZm9yLXJld3JpdGU9Zm9vICYmCisJCWdpdCBub3RlcyBjb3B5IC0tZm9yLXJld3JpdGU9Zm9vIDxjb3B5ICYmCiAJZ2l0IGxvZyAtMSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwpAQCAtMTExOSw0MCArMTI3OSw1NSBAQAogCWdpdCBub3RlcyBhZGQgLWYgLW0icmVwbGFjZW1lbnQgbm90ZSAzIiBIRUFEXiAmJgogCXRlc3RfY29uZmlnIG5vdGVzLnJld3JpdGVNb2RlIG92ZXJ3cml0ZSAmJgogCXRlc3RfY29uZmlnIG5vdGVzLnJld3JpdGVSZWYgcmVmcy9ub3Rlcy9vdGhlciAmJgotCWVjaG8gJChnaXQgcmV2LXBhcnNlIEhFQUReKSAkKGdpdCByZXYtcGFyc2UgSEVBRCkgfAotCUdJVF9OT1RFU19SRVdSSVRFX1JFRj0gZ2l0IG5vdGVzIGNvcHkgLS1mb3ItcmV3cml0ZT1mb28gJiYKKwlmcm9tPSQoZ2l0IHJldi1wYXJzZSBIRUFEXikgJiYKKwl0bz0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwllY2hvICIkZnJvbSIgIiR0byIgPmNvcHkgJiYKKwlHSVRfTk9URVNfUkVXUklURV9SRUY9cmVmcy9ub3Rlcy9jb21taXRzIFwKKwkJZ2l0IG5vdGVzIGNvcHkgLS1mb3ItcmV3cml0ZT1mb28gPGNvcHkgJiYKIAlnaXQgbG9nIC0xID5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJZ3JlcCAicmVwbGFjZW1lbnQgbm90ZSAzIiBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IG5vdGVzIGNvcHkgZGlhZ25vc2VzIHRvbyBtYW55IG9yIHRvbyBmZXcgcGFyYW1ldGVycycgJwotCXRlc3RfbXVzdF9mYWlsIGdpdCBub3RlcyBjb3B5ICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IG5vdGVzIGNvcHkgb25lIHR3byB0aHJlZQorCXRlc3RfbXVzdF9mYWlsIGdpdCBub3RlcyBjb3B5IDI+ZXJyb3IgJiYKKwl0ZXN0X2kxOG5ncmVwICJ0b28gZmV3IHBhcmFtZXRlcnMiIGVycm9yICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IG5vdGVzIGNvcHkgb25lIHR3byB0aHJlZSAyPmVycm9yICYmCisJdGVzdF9pMThuZ3JlcCAidG9vIG1hbnkgcGFyYW1ldGVycyIgZXJyb3IKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IG5vdGVzIGdldC1yZWYgZXhwYW5kcyByZWZzL2hlYWRzL21hc3RlciB0byByZWZzL25vdGVzL3JlZnMvaGVhZHMvbWFzdGVyJyAnCiAJdGVzdF91bmNvbmZpZyBjb3JlLm5vdGVzUmVmICYmCiAJc2FuZV91bnNldCBHSVRfTk9URVNfUkVGICYmCi0JdGVzdCAiJChnaXQgbm90ZXMgLS1yZWY9cmVmcy9oZWFkcy9tYXN0ZXIgZ2V0LXJlZikiID0gInJlZnMvbm90ZXMvcmVmcy9oZWFkcy9tYXN0ZXIiCisJZWNobyByZWZzL25vdGVzL3JlZnMvaGVhZHMvbWFzdGVyID5leHBlY3QgJiYKKwlnaXQgbm90ZXMgLS1yZWY9cmVmcy9oZWFkcy9tYXN0ZXIgZ2V0LXJlZiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbm90ZXMgZ2V0LXJlZiAobm8gb3ZlcnJpZGVzKScgJwogCXRlc3RfdW5jb25maWcgY29yZS5ub3Rlc1JlZiAmJgogCXNhbmVfdW5zZXQgR0lUX05PVEVTX1JFRiAmJgotCXRlc3QgIiQoZ2l0IG5vdGVzIGdldC1yZWYpIiA9ICJyZWZzL25vdGVzL2NvbW1pdHMiCisJZWNobyByZWZzL25vdGVzL2NvbW1pdHMgPmV4cGVjdCAmJgorCWdpdCBub3RlcyBnZXQtcmVmID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBub3RlcyBnZXQtcmVmIChjb3JlLm5vdGVzUmVmKScgJwogCXRlc3RfY29uZmlnIGNvcmUubm90ZXNSZWYgcmVmcy9ub3Rlcy9mb28gJiYKLQl0ZXN0ICIkKGdpdCBub3RlcyBnZXQtcmVmKSIgPSAicmVmcy9ub3Rlcy9mb28iCisJZWNobyByZWZzL25vdGVzL2ZvbyA+ZXhwZWN0ICYmCisJZ2l0IG5vdGVzIGdldC1yZWYgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IG5vdGVzIGdldC1yZWYgKEdJVF9OT1RFU19SRUYpJyAnCi0JdGVzdCAiJChHSVRfTk9URVNfUkVGPXJlZnMvbm90ZXMvYmFyIGdpdCBub3RlcyBnZXQtcmVmKSIgPSAicmVmcy9ub3Rlcy9iYXIiCisJZWNobyByZWZzL25vdGVzL2JhciA+ZXhwZWN0ICYmCisJR0lUX05PVEVTX1JFRj1yZWZzL25vdGVzL2JhciBnaXQgbm90ZXMgZ2V0LXJlZiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbm90ZXMgZ2V0LXJlZiAoLS1yZWYpJyAnCi0JdGVzdCAiJChHSVRfTk9URVNfUkVGPXJlZnMvbm90ZXMvYmFyIGdpdCBub3RlcyAtLXJlZj1iYXogZ2V0LXJlZikiID0gInJlZnMvbm90ZXMvYmF6IgorCWVjaG8gcmVmcy9ub3Rlcy9iYXogPmV4cGVjdCAmJgorCUdJVF9OT1RFU19SRUY9cmVmcy9ub3Rlcy9iYXIgZ2l0IG5vdGVzIC0tcmVmPWJheiBnZXQtcmVmID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHRlc3Rpbmcgb2YgZW1wdHkgbm90ZXMnICcKZGlmZiAtLWdpdCBhL3QvdDMzMDUtbm90ZXMtZmFub3V0LnNoIGIvdC90MzMwNS1ub3Rlcy1mYW5vdXQuc2gKaW5kZXggNTQ0NjBiZS4uM2I0NzUzZSAxMDA3NTUKLS0tIGEvdC90MzMwNS1ub3Rlcy1mYW5vdXQuc2gKKysrIGIvdC90MzMwNS1ub3Rlcy1mYW5vdXQuc2gKQEAgLTQsNiArNCwzOCBAQAogCiAuIC4vdGVzdC1saWIuc2gKIAorcGF0aF9oYXNfZmFub3V0KCkgeworCXBhdGg9JDEgJiYKKwlmYW5vdXQ9JDIgJiYKKwlhZnRlcl9sYXN0X3NsYXNoPSQoKDQwIC0gJGZhbm91dCAqIDIpKSAmJgorCWVjaG8gJHBhdGggfCBncmVwIC1xICJeXChbMC05YS1mXVx7Mlx9L1wpXHskZmFub3V0XH1bMC05YS1mXVx7JGFmdGVyX2xhc3Rfc2xhc2hcfSQiCit9CisKK3RvdWNoZWRfb25lX25vdGVfd2l0aF9mYW5vdXQoKSB7CisJbm90ZXNfY29tbWl0PSQxICYmCisJbW9kaWZpY2F0aW9uPSQyICYmICAjICdBJyBmb3IgYWRkaXRpb24sICdEJyBmb3IgZGVsZXRpb24KKwlmYW5vdXQ9JDMgJiYKKwlkaWZmPSQoZ2l0IGRpZmYtdHJlZSAtLW5vLWNvbW1pdC1pZCAtLW5hbWUtc3RhdHVzIC0tcm9vdCAtciAkbm90ZXNfY29tbWl0KSAmJgorCXBhdGg9JChlY2hvICRkaWZmIHwgc2VkIC1lICJzL14kbW9kaWZpY2F0aW9uW1x0IF0vLyIpICYmCisJcGF0aF9oYXNfZmFub3V0ICIkcGF0aCIgJGZhbm91dDsKK30KKworYWxsX25vdGVzX2hhdmVfZmFub3V0KCkgeworCW5vdGVzX2NvbW1pdD0kMSAmJgorCWZhbm91dD0kMiAmJgorCWdpdCBscy10cmVlIC1yIC0tbmFtZS1vbmx5ICRub3Rlc19jb21taXQgMj4vZGV2L251bGwgfAorCXdoaWxlIHJlYWQgcGF0aAorCWRvCisJCXBhdGhfaGFzX2Zhbm91dCAkcGF0aCAkZmFub3V0IHx8IHJldHVybiAxCisJZG9uZQorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0d2VhayB0ZXN0IGVudmlyb25tZW50JyAnCisJZ2l0IGNoZWNrb3V0IC1iIG5vbmRldGVybWluaXNtICYmCisJdGVzdF9jb21taXQgQSAmJgorCWdpdCBjaGVja291dCAtLW9ycGhhbiB3aXRoX25vdGVzOworJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGluZyBtYW55IG5vdGVzIHdpdGggZ2l0LW5vdGVzJyAnCiAJbnVtX25vdGVzPTMwMCAmJgogCWk9MCAmJgpAQCAtMjAsNyArNTIsNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtYW55IG5vdGVzIGNyZWF0ZWQgY29ycmVjdGx5IHdpdGggZ2l0LW5vdGVzJyAnCiAJZ2l0IGxvZyB8IGdyZXAgIl4gICAgIiA+IG91dHB1dCAmJgotCWk9MzAwICYmCisJaT0kbnVtX25vdGVzICYmCiAJd2hpbGUgdGVzdCAkaSAtZ3QgMAogCWRvCiAJCWVjaG8gIiAgICBjb21taXQgIyRpIiAmJgpAQCAtMzAsMzkgKzYyLDQ2IEBACiAJdGVzdF9jbXAgZXhwZWN0IG91dHB1dAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdtYW55IG5vdGVzIGNyZWF0ZWQgd2l0aCBnaXQtbm90ZXMgdHJpZ2dlcnMgZmFub3V0JyAnCi0JIyBFeHBlY3QgZW50aXJlIG5vdGVzIHRyZWUgdG8gaGF2ZSBhIGZhbm91dCA9PSAxCi0JZ2l0IGxzLXRyZWUgLXIgLS1uYW1lLW9ubHkgcmVmcy9ub3Rlcy9jb21taXRzIHwKLQl3aGlsZSByZWFkIHBhdGgKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YWJsZSBmYW5vdXQgMCBpcyBmb2xsb3dlZCBieSBzdGFibGUgZmFub3V0IDEnICcKKwlpPSRudW1fbm90ZXMgJiYKKwlmYW5vdXQ9MCAmJgorCXdoaWxlIHRlc3QgJGkgLWd0IDAKIAlkbwotCQljYXNlICIkcGF0aCIgaW4KLQkJPz8vPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8pCi0JCQk6IHRydWUKLQkJCTs7Ci0JCSopCi0JCQllY2hvICJJbnZhbGlkIHBhdGggXCIkcGF0aFwiIiAmJgotCQkJcmV0dXJuIDEKLQkJCTs7Ci0JCWVzYWMKLQlkb25lCisJCWk9JCgoJGkgLSAxKSkgJiYKKwkJaWYgdG91Y2hlZF9vbmVfbm90ZV93aXRoX2Zhbm91dCByZWZzL25vdGVzL2NvbW1pdHN+JGkgQSAkZmFub3V0CisJCXRoZW4KKwkJCWNvbnRpbnVlCisJCWVsaWYgdGVzdCAkZmFub3V0IC1lcSAwCisJCXRoZW4KKwkJCWZhbm91dD0xICYmCisJCQlpZiBhbGxfbm90ZXNfaGF2ZV9mYW5vdXQgcmVmcy9ub3Rlcy9jb21taXRzfiRpICRmYW5vdXQKKwkJCXRoZW4KKwkJCQllY2hvICJGYW5vdXQgMCAtPiAxIGF0IHJlZnMvbm90ZXMvY29tbWl0c34kaSIgJiYKKwkJCQljb250aW51ZQorCQkJZmkKKwkJZmkgJiYKKwkJZWNobyAiRmFpbGVkIGZhbm91dD0kZmFub3V0IGNoZWNrIGF0IHJlZnMvbm90ZXMvY29tbWl0c34kaSIgJiYKKwkJZ2l0IGxzLXRyZWUgLXIgLS1uYW1lLW9ubHkgcmVmcy9ub3Rlcy9jb21taXRzfiRpICYmCisJCXJldHVybiAxCisJZG9uZSAmJgorCWFsbF9ub3Rlc19oYXZlX2Zhbm91dCByZWZzL25vdGVzL2NvbW1pdHMgMQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWxldGluZyBtb3N0IG5vdGVzIHdpdGggZ2l0LW5vdGVzJyAnCi0JbnVtX25vdGVzPTI1MCAmJgorCXJlbW92ZV9ub3Rlcz0yODUgJiYKIAlpPTAgJiYKIAlnaXQgcmV2LWxpc3QgSEVBRCB8Ci0Jd2hpbGUgdGVzdCAkaSAtbHQgJG51bV9ub3RlcyAmJiByZWFkIHNoYTEKKwl3aGlsZSB0ZXN0ICRpIC1sdCAkcmVtb3ZlX25vdGVzICYmIHJlYWQgc2hhMQogCWRvCiAJCWk9JCgoJGkgKyAxKSkgJiYKIAkJdGVzdF90aWNrICYmCi0JCWdpdCBub3RlcyByZW1vdmUgIiRzaGExIiB8fAotCQlleGl0IDEKKwkJZ2l0IG5vdGVzIHJlbW92ZSAiJHNoYTEiIDI+L2Rldi9udWxsIHx8IHJldHVybiAxCiAJZG9uZQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtb3N0IG5vdGVzIGRlbGV0ZWQgY29ycmVjdGx5IHdpdGggZ2l0LW5vdGVzJyAnCi0JZ2l0IGxvZyBIRUFEfjI1MCB8IGdyZXAgIl4gICAgIiA+IG91dHB1dCAmJgotCWk9NTAgJiYKKwlnaXQgbG9nIEhFQUR+JHJlbW92ZV9ub3RlcyB8IGdyZXAgIl4gICAgIiA+IG91dHB1dCAmJgorCWk9JCgoJG51bV9ub3RlcyAtICRyZW1vdmVfbm90ZXMpKSAmJgogCXdoaWxlIHRlc3QgJGkgLWd0IDAKIAlkbwogCQllY2hvICIgICAgY29tbWl0ICMkaSIgJiYKQEAgLTcyLDIxICsxMTEsMjkgQEAKIAl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RlbGV0aW5nIG1vc3Qgbm90ZXMgdHJpZ2dlcnMgZmFub3V0IGNvbnNvbGlkYXRpb24nICcKLQkjIEV4cGVjdCBlbnRpcmUgbm90ZXMgdHJlZSB0byBoYXZlIGEgZmFub3V0ID09IDAKLQlnaXQgbHMtdHJlZSAtciAtLW5hbWUtb25seSByZWZzL25vdGVzL2NvbW1pdHMgfAotCXdoaWxlIHJlYWQgcGF0aAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhYmxlIGZhbm91dCAxIGlzIGZvbGxvd2VkIGJ5IHN0YWJsZSBmYW5vdXQgMCcgJworCWk9JHJlbW92ZV9ub3RlcyAmJgorCWZhbm91dD0xICYmCisJd2hpbGUgdGVzdCAkaSAtZ3QgMAogCWRvCi0JCWNhc2UgIiRwYXRoIiBpbgotCQk/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/KQotCQkJOiB0cnVlCi0JCQk7OwotCQkqKQotCQkJZWNobyAiSW52YWxpZCBwYXRoIFwiJHBhdGhcIiIgJiYKLQkJCXJldHVybiAxCi0JCQk7OwotCQllc2FjCi0JZG9uZQorCQlpPSQoKCRpIC0gMSkpICYmCisJCWlmIHRvdWNoZWRfb25lX25vdGVfd2l0aF9mYW5vdXQgcmVmcy9ub3Rlcy9jb21taXRzfiRpIEQgJGZhbm91dAorCQl0aGVuCisJCQljb250aW51ZQorCQllbGlmIHRlc3QgJGZhbm91dCAtZXEgMQorCQl0aGVuCisJCQlmYW5vdXQ9MCAmJgorCQkJaWYgYWxsX25vdGVzX2hhdmVfZmFub3V0IHJlZnMvbm90ZXMvY29tbWl0c34kaSAkZmFub3V0CisJCQl0aGVuCisJCQkJZWNobyAiRmFub3V0IDEgLT4gMCBhdCByZWZzL25vdGVzL2NvbW1pdHN+JGkiICYmCisJCQkJY29udGludWUKKwkJCWZpCisJCWZpICYmCisJCWVjaG8gIkZhaWxlZCBmYW5vdXQ9JGZhbm91dCBjaGVjayBhdCByZWZzL25vdGVzL2NvbW1pdHN+JGkiICYmCisJCWdpdCBscy10cmVlIC1yIC0tbmFtZS1vbmx5IHJlZnMvbm90ZXMvY29tbWl0c34kaSAmJgorCQlyZXR1cm4gMQorCWRvbmUgJiYKKwlhbGxfbm90ZXNfaGF2ZV9mYW5vdXQgcmVmcy9ub3Rlcy9jb21taXRzIDAKICcKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzMzA2LW5vdGVzLXBydW5lLnNoIGIvdC90MzMwNi1ub3Rlcy1wcnVuZS5zaAppbmRleCA2MTc0ODA4Li44ZjQxMDJmIDEwMDc1NQotLS0gYS90L3QzMzA2LW5vdGVzLXBydW5lLnNoCisrKyBiL3QvdDMzMDYtbm90ZXMtcHJ1bmUuc2gKQEAgLTExLDIzICsxMSwyNiBAQAogCXRlc3RfdGljayAmJgogCWdpdCBjb21taXQgLW0gMXN0ICYmCiAJZ2l0IG5vdGVzIGFkZCAtbSAiTm90ZSAjMSIgJiYKKwlmaXJzdD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKIAk6ID4gZmlsZTIgJiYKIAlnaXQgYWRkIGZpbGUyICYmCiAJdGVzdF90aWNrICYmCiAJZ2l0IGNvbW1pdCAtbSAybmQgJiYKIAlnaXQgbm90ZXMgYWRkIC1tICJOb3RlICMyIiAmJgorCXNlY29uZD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKIAk6ID4gZmlsZTMgJiYKIAlnaXQgYWRkIGZpbGUzICYmCiAJdGVzdF90aWNrICYmCiAJZ2l0IGNvbW1pdCAtbSAzcmQgJiYKLQlDT01NSVRfRklMRT0uZ2l0L29iamVjdHMvNWUvZTFjMzVlODNlYTQ3Y2QzY2M0ZjhjYmVlMDU2ODkxNWZiYmJkMjkgJiYKKwl0aGlyZD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwlDT01NSVRfRklMRT0kKGVjaG8gJHRoaXJkIHwgc2VkICJzIV4uLiEuZ2l0L29iamVjdHMvJi8hIikgJiYKIAl0ZXN0IC1mICRDT01NSVRfRklMRSAmJgogCXRlc3QtdG9vbCBjaG10aW1lID0rMCAkQ09NTUlUX0ZJTEUgJiYKIAlnaXQgbm90ZXMgYWRkIC1tICJOb3RlICMzIgogJwogCiBjYXQgPiBleHBlY3QgPDxFTkRfT0ZfTE9HCi1jb21taXQgNWVlMWMzNWU4M2VhNDdjZDNjYzRmOGNiZWUwNTY4OTE1ZmJiYmQyOQorY29tbWl0ICR0aGlyZAogQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgogRGF0ZTogICBUaHUgQXByIDcgMTU6MTU6MTMgMjAwNSAtMDcwMAogCkBAIC0zNiw3ICszOSw3IEBACiBOb3RlczoKICAgICBOb3RlICMzCiAKLWNvbW1pdCAwODM0MWFkOWU5NGZhYTA4OWQ2MGZkM2Y1MjNhZmZiMjVjNmRhMTg5Citjb21taXQgJHNlY29uZAogQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgogRGF0ZTogICBUaHUgQXByIDcgMTU6MTQ6MTMgMjAwNSAtMDcwMAogCkBAIC00NSw3ICs0OCw3IEBACiBOb3RlczoKICAgICBOb3RlICMyCiAKLWNvbW1pdCBhYjVmMzAyMDM1ZjJlN2FhZjA0MjY1ZjA4YjQyMDM0YzIzMjU2ZTFmCitjb21taXQgJGZpcnN0CiBBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiBEYXRlOiAgIFRodSBBcHIgNyAxNToxMzoxMyAyMDA1IC0wNzAwCiAKQEAgLTcwLDE2ICs3MywxNiBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJpZnkgdGhhdCBjb21taXRzIGFyZSBnb25lJyAnCiAKLQl0ZXN0X211c3RfZmFpbCBnaXQgY2F0LWZpbGUgLXAgNWVlMWMzNWU4M2VhNDdjZDNjYzRmOGNiZWUwNTY4OTE1ZmJiYmQyOSAmJgotCWdpdCBjYXQtZmlsZSAtcCAwODM0MWFkOWU5NGZhYTA4OWQ2MGZkM2Y1MjNhZmZiMjVjNmRhMTg5ICYmCi0JZ2l0IGNhdC1maWxlIC1wIGFiNWYzMDIwMzVmMmU3YWFmMDQyNjVmMDhiNDIwMzRjMjMyNTZlMWYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY2F0LWZpbGUgLXAgJHRoaXJkICYmCisJZ2l0IGNhdC1maWxlIC1wICRzZWNvbmQgJiYKKwlnaXQgY2F0LWZpbGUgLXAgJGZpcnN0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZlcmlmeSB0aGF0IG5vdGVzIGFyZSBzdGlsbCBwcmVzZW50JyAnCiAKLQlnaXQgbm90ZXMgc2hvdyA1ZWUxYzM1ZTgzZWE0N2NkM2NjNGY4Y2JlZTA1Njg5MTVmYmJiZDI5ICYmCi0JZ2l0IG5vdGVzIHNob3cgMDgzNDFhZDllOTRmYWEwODlkNjBmZDNmNTIzYWZmYjI1YzZkYTE4OSAmJgotCWdpdCBub3RlcyBzaG93IGFiNWYzMDIwMzVmMmU3YWFmMDQyNjVmMDhiNDIwMzRjMjMyNTZlMWYKKwlnaXQgbm90ZXMgc2hvdyAkdGhpcmQgJiYKKwlnaXQgbm90ZXMgc2hvdyAkc2Vjb25kICYmCisJZ2l0IG5vdGVzIHNob3cgJGZpcnN0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BydW5lIC1uIGRvZXMgbm90IHJlbW92ZSBub3RlcycgJwpAQCAtOTAsMTMgKzkzLDEwIEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi1jYXQgPiBleHBlY3QgPDxFT0YKLTVlZTFjMzVlODNlYTQ3Y2QzY2M0ZjhjYmVlMDU2ODkxNWZiYmJkMjkKLUVPRgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcnVuZSAtbiBsaXN0cyBwcnVuYWJsZSBub3RlcycgJwogCi0KKwllY2hvICR0aGlyZCA+ZXhwZWN0ICYmCiAJZ2l0IG5vdGVzIHBydW5lIC1uID4gYWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwpAQCAtMTA5LDkgKzEwOSw5IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZlcmlmeSB0aGF0IG5vdGVzIGFyZSBnb25lJyAnCiAKLQl0ZXN0X211c3RfZmFpbCBnaXQgbm90ZXMgc2hvdyA1ZWUxYzM1ZTgzZWE0N2NkM2NjNGY4Y2JlZTA1Njg5MTVmYmJiZDI5ICYmCi0JZ2l0IG5vdGVzIHNob3cgMDgzNDFhZDllOTRmYWEwODlkNjBmZDNmNTIzYWZmYjI1YzZkYTE4OSAmJgotCWdpdCBub3RlcyBzaG93IGFiNWYzMDIwMzVmMmU3YWFmMDQyNjVmMDhiNDIwMzRjMjMyNTZlMWYKKwl0ZXN0X211c3RfZmFpbCBnaXQgbm90ZXMgc2hvdyAkdGhpcmQgJiYKKwlnaXQgbm90ZXMgc2hvdyAkc2Vjb25kICYmCisJZ2l0IG5vdGVzIHNob3cgJGZpcnN0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlbW92ZSBzb21lIGNvbW1pdHMnICcKQEAgLTEyMSwyMSArMTIxLDE4IEBACiAJZ2l0IGdjIC0tcHJ1bmU9bm93CiAnCiAKLWNhdCA+IGV4cGVjdCA8PEVPRgotMDgzNDFhZDllOTRmYWEwODlkNjBmZDNmNTIzYWZmYjI1YzZkYTE4OQotRU9GCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BydW5lIC12IG5vdGVzJyAnCiAKKwllY2hvICRzZWNvbmQgPmV4cGVjdCAmJgogCWdpdCBub3RlcyBwcnVuZSAtdiA+IGFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IHRoYXQgbm90ZXMgYXJlIGdvbmUnICcKIAotCXRlc3RfbXVzdF9mYWlsIGdpdCBub3RlcyBzaG93IDVlZTFjMzVlODNlYTQ3Y2QzY2M0ZjhjYmVlMDU2ODkxNWZiYmJkMjkgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgbm90ZXMgc2hvdyAwODM0MWFkOWU5NGZhYTA4OWQ2MGZkM2Y1MjNhZmZiMjVjNmRhMTg5ICYmCi0JZ2l0IG5vdGVzIHNob3cgYWI1ZjMwMjAzNWYyZTdhYWYwNDI2NWYwOGI0MjAzNGMyMzI1NmUxZgorCXRlc3RfbXVzdF9mYWlsIGdpdCBub3RlcyBzaG93ICR0aGlyZCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBub3RlcyBzaG93ICRzZWNvbmQgJiYKKwlnaXQgbm90ZXMgc2hvdyAkZmlyc3QKICcKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzMzA4LW5vdGVzLW1lcmdlLnNoIGIvdC90MzMwOC1ub3Rlcy1tZXJnZS5zaAppbmRleCBkNjA1ODhlLi43OTBlMjkyIDEwMDc1NQotLS0gYS90L3QzMzA4LW5vdGVzLW1lcmdlLnNoCisrKyBiL3QvdDMzMDgtbm90ZXMtbWVyZ2Uuc2gKQEAgLTIwLDcgKzIwLDM0IEBACiAJZ2l0IG5vdGVzIGFkZCAtbSAiTm90ZXMgb24gM3JkIGNvbW1pdCIgM3JkICYmCiAJZ2l0IG5vdGVzIGFkZCAtbSAiTm90ZXMgb24gNHRoIGNvbW1pdCIgNHRoICYmCiAJIyBDb3B5IG5vdGVzIHRvIHJlbW90ZS1ub3RlcwotCWdpdCBmZXRjaCAuIHJlZnMvbm90ZXMvKjpyZWZzL3JlbW90ZS1ub3Rlcy9vcmlnaW4vKgorCWdpdCBmZXRjaCAuIHJlZnMvbm90ZXMvKjpyZWZzL3JlbW90ZS1ub3Rlcy9vcmlnaW4vKiAmJgorCisJdGVzdF9vaWRfaW5pdCAmJgorCXRlc3Rfb2lkX2NhY2hlIDw8LUVPRgorCWhhc2g0YSBzaGExOjVlOTNkMjQwODRkMzJlMWNiNjFmNzA3MDUwNWI5ZDI1MzBjY2E5ODcKKwloYXNoM2Egc2hhMTo4MzY2NzMxZWVlZTUzNzg3ZDJiZGY4ZmMxZWZmN2Q5NDc1N2U4ZGEwCisJaGFzaDJhIHNoYTE6ZWVkZTg5MDY0Y2Q0MjQ0MTU5MGQ2YWZlYzZjMzdiMzIxYWRhMzM4OQorCWhhc2gxYSBzaGExOmRhYTU1ZmZhZDZjYjk5YmY2NDIyNjUzMjE0N2ZmY2FmNWNlOGJkZDEKKwloYXNoNWIgc2hhMTowZjJlZmJkMDAyNjJmMmZkNDFkZmFlMzNkZjg3NjU2MThlZWFjZDk5CisJaGFzaDRiIHNoYTE6ZGVjMjUwMmRhYzNlYTE2MTU0M2Y3MTkzMDA0NGRlZmY5M2ZhOTQ1YworCWhhc2gzYiBzaGExOjQwNjljZGIzOTlmZDQ1NDYzZWM2ZWVmOGUwNTFhMTZhMDM1OTJkOTEKKwloYXNoMmMgc2hhMTpkMDAwZDMwZTZkZGNmY2UzYTgxMjJjNDAzMjI2YTJjZTJmZDA0ZDlkCisJaGFzaDFjIHNoYTE6NDNhZGQ2YmQwYzhjMGJjODcxYWM3OTkxZTBmNTU3M2NmYmEyNzgwNAorCWhhc2g0ZCBzaGExOjFmMjU3YTNhOTAzMjg1NTdjNDUyZjA4MTdkNmNjNTBjODlkMzE1ZDQKKwloYXNoM2Qgc2hhMTowNWE0OTI3OTUxYmNlZjM0N2Y1MTQ4NjU3NWI4NzhiMmI2MDEzN2YyCisKKwloYXNoNGEgc2hhMjU2OmVlZjg3NmJlMWQzMmFjMmUyZTQyMjQwZTA0MjkzMjVjZWMxMTZlNTVlODhjYjI5Njk4OTlmYWM2OTVhYTc2MmYKKwloYXNoM2Egc2hhMjU2OmNmN2NkMWJjMDkxZDdiYTQxNjZhODZkZjg2NDExMGU0MjA4N2NkODkzYTVhZTk2YmM1MGQ2MzdlMDI5MDkzOWQKKwloYXNoMmEgc2hhMjU2OjIxZGRkZTdlYmNlMmMyODUyMTM4OThjYjA0ZGVjYTBmZDMyMDk2MTBjZjdhYWY4MjIyZTRlMmY0NTI2MmZhZTIKKwloYXNoMWEgc2hhMjU2OmY5ZmUwZWRhMTZjNjAyNzczMmVkOWQ0Mjk1Njg5YTAzYWJkMTZmODkzYmU2OWIzZGNiZjQwMzdkZGIxOTE5MjEKKwloYXNoNWIgc2hhMjU2OjIwMDQ2ZjIyNDQ1Nzc3OTdhOWUzZDNmNzkwZWE5ZWNhNGQ4YTZiYWZiMmE1NTcwYmNiMGUwM2FhMDJjZTEwMGIKKwloYXNoNGIgc2hhMjU2OmY5MDU2M2QxMzRjNjFhOTViYjg4YWZiZDQ1ZDQ4Y2NjOWU5MTljNjJhYTZmYmZjZDQ4MzMwMmIzZTRkOGRiY2IKKwloYXNoM2Igc2hhMjU2Ojk4OGYyYWNhOWYyZDg3ZTkzZTZhNzMxOTdjMmJiOTk1NjBjYzQ0YTJmOTJkMTg2NTM5NjhmOTU2ZjAxMjIxZTAKKwloYXNoMmMgc2hhMjU2Ojg0MTUzYjc3N2I0ZDQyODI3YTc1NmM2NTc4ZGNkYjU5ZDhhZTVkMTM2MGI4NzRmYjM3YzQzMDE1MGM4MjVjMjYKKwloYXNoMWMgc2hhMjU2OjliZWIyYmM0ZWVmNzJlNGM0MDg3YmUxNjhhMjA1NzNlMzRkOTkzZDlhYjE4ODMwNTVmMjNlMzIyYWZhMDY1NjcKKwloYXNoNGQgc2hhMjU2OjMyZGUzOWRjMDZlNjc5YTdhYmIyZDRhNTVlZGU3NzA5YjMxMjQzNDBhNGE5MGFhMzA1OTcxYjFjNzJhYzMxOWQKKwloYXNoM2Qgc2hhMjU2OmZhNzNiMjBlNDFjYmI3NTQxYzRjODFkMTUzNTAxNjEzMWRiZmJlYjA1YmY2YTcxZjYxMTVlOWNhZDMxYzdhZjUKKwlFT0YKICcKIAogY29tbWl0X3NoYTE9JChnaXQgcmV2LXBhcnNlIDFzdF57Y29tbWl0fSkKQEAgLTQwLDEwICs2NywxMCBAQAogfQogCiBjYXQgPDxFT0YgfCBzb3J0ID5leHBlY3Rfbm90ZXNfeAotNWU5M2QyNDA4NGQzMmUxY2I2MWY3MDcwNTA1YjlkMjUzMGNjYTk4NyAkY29tbWl0X3NoYTQKLTgzNjY3MzFlZWVlNTM3ODdkMmJkZjhmYzFlZmY3ZDk0NzU3ZThkYTAgJGNvbW1pdF9zaGEzCi1lZWRlODkwNjRjZDQyNDQxNTkwZDZhZmVjNmMzN2IzMjFhZGEzMzg5ICRjb21taXRfc2hhMgotZGFhNTVmZmFkNmNiOTliZjY0MjI2NTMyMTQ3ZmZjYWY1Y2U4YmRkMSAkY29tbWl0X3NoYTEKKyQodGVzdF9vaWQgaGFzaDRhKSAkY29tbWl0X3NoYTQKKyQodGVzdF9vaWQgaGFzaDNhKSAkY29tbWl0X3NoYTMKKyQodGVzdF9vaWQgaGFzaDJhKSAkY29tbWl0X3NoYTIKKyQodGVzdF9vaWQgaGFzaDFhKSAkY29tbWl0X3NoYTEKIEVPRgogCiBjYXQgPmV4cGVjdF9sb2dfeCA8PEVPRgpAQCAtMTI2LDEwICsxNTMsMTAgQEAKICcKIAogY2F0IDw8RU9GIHwgc29ydCA+ZXhwZWN0X25vdGVzX3kKLTBmMmVmYmQwMDI2MmYyZmQ0MWRmYWUzM2RmODc2NTYxOGVlYWNkOTkgJGNvbW1pdF9zaGE1Ci1kZWMyNTAyZGFjM2VhMTYxNTQzZjcxOTMwMDQ0ZGVmZjkzZmE5NDVjICRjb21taXRfc2hhNAotNDA2OWNkYjM5OWZkNDU0NjNlYzZlZWY4ZTA1MWExNmEwMzU5MmQ5MSAkY29tbWl0X3NoYTMKLWRhYTU1ZmZhZDZjYjk5YmY2NDIyNjUzMjE0N2ZmY2FmNWNlOGJkZDEgJGNvbW1pdF9zaGExCiskKHRlc3Rfb2lkIGhhc2g1YikgJGNvbW1pdF9zaGE1CiskKHRlc3Rfb2lkIGhhc2g0YikgJGNvbW1pdF9zaGE0CiskKHRlc3Rfb2lkIGhhc2gzYikgJGNvbW1pdF9zaGEzCiskKHRlc3Rfb2lkIGhhc2gxYSkgJGNvbW1pdF9zaGExCiBFT0YKIAogY2F0ID5leHBlY3RfbG9nX3kgPDxFT0YKQEAgLTE5MywxMSArMjIwLDExIEBACiAnCiAKIGNhdCA8PEVPRiB8IHNvcnQgPmV4cGVjdF9ub3Rlc195Ci0wZjJlZmJkMDAyNjJmMmZkNDFkZmFlMzNkZjg3NjU2MThlZWFjZDk5ICRjb21taXRfc2hhNQotZGVjMjUwMmRhYzNlYTE2MTU0M2Y3MTkzMDA0NGRlZmY5M2ZhOTQ1YyAkY29tbWl0X3NoYTQKLTQwNjljZGIzOTlmZDQ1NDYzZWM2ZWVmOGUwNTFhMTZhMDM1OTJkOTEgJGNvbW1pdF9zaGEzCi1kMDAwZDMwZTZkZGNmY2UzYTgxMjJjNDAzMjI2YTJjZTJmZDA0ZDlkICRjb21taXRfc2hhMgotNDNhZGQ2YmQwYzhjMGJjODcxYWM3OTkxZTBmNTU3M2NmYmEyNzgwNCAkY29tbWl0X3NoYTEKKyQodGVzdF9vaWQgaGFzaDViKSAkY29tbWl0X3NoYTUKKyQodGVzdF9vaWQgaGFzaDRiKSAkY29tbWl0X3NoYTQKKyQodGVzdF9vaWQgaGFzaDNiKSAkY29tbWl0X3NoYTMKKyQodGVzdF9vaWQgaGFzaDJjKSAkY29tbWl0X3NoYTIKKyQodGVzdF9vaWQgaGFzaDFjKSAkY29tbWl0X3NoYTEKIEVPRgogCiBjYXQgPmV4cGVjdF9sb2dfeSA8PEVPRgpAQCAtMjMxLDkgKzI1OCw5IEBACiAnCiAKIGNhdCA8PEVPRiB8IHNvcnQgPmV4cGVjdF9ub3Rlc194Ci0wZjJlZmJkMDAyNjJmMmZkNDFkZmFlMzNkZjg3NjU2MThlZWFjZDk5ICRjb21taXRfc2hhNQotMWYyNTdhM2E5MDMyODU1N2M0NTJmMDgxN2Q2Y2M1MGM4OWQzMTVkNCAkY29tbWl0X3NoYTQKLWRhYTU1ZmZhZDZjYjk5YmY2NDIyNjUzMjE0N2ZmY2FmNWNlOGJkZDEgJGNvbW1pdF9zaGExCiskKHRlc3Rfb2lkIGhhc2g1YikgJGNvbW1pdF9zaGE1CiskKHRlc3Rfb2lkIGhhc2g0ZCkgJGNvbW1pdF9zaGE0CiskKHRlc3Rfb2lkIGhhc2gxYSkgJGNvbW1pdF9zaGExCiBFT0YKIAogY2F0ID5leHBlY3RfbG9nX3ggPDxFT0YKQEAgLTI2MiwxMCArMjg5LDEwIEBACiAnCiAKIGNhdCA8PEVPRiB8IHNvcnQgPmV4cGVjdF9ub3Rlc194Ci0wZjJlZmJkMDAyNjJmMmZkNDFkZmFlMzNkZjg3NjU2MThlZWFjZDk5ICRjb21taXRfc2hhNQotMWYyNTdhM2E5MDMyODU1N2M0NTJmMDgxN2Q2Y2M1MGM4OWQzMTVkNCAkY29tbWl0X3NoYTQKLWQwMDBkMzBlNmRkY2ZjZTNhODEyMmM0MDMyMjZhMmNlMmZkMDRkOWQgJGNvbW1pdF9zaGEyCi00M2FkZDZiZDBjOGMwYmM4NzFhYzc5OTFlMGY1NTczY2ZiYTI3ODA0ICRjb21taXRfc2hhMQorJCh0ZXN0X29pZCBoYXNoNWIpICRjb21taXRfc2hhNQorJCh0ZXN0X29pZCBoYXNoNGQpICRjb21taXRfc2hhNAorJCh0ZXN0X29pZCBoYXNoMmMpICRjb21taXRfc2hhMgorJCh0ZXN0X29pZCBoYXNoMWMpICRjb21taXRfc2hhMQogRU9GCiAKIGNhdCA+ZXhwZWN0X2xvZ194IDw8RU9GCkBAIC0yOTYsOCArMzIzLDggQEAKICcKIAogY2F0IDw8RU9GIHwgc29ydCA+ZXhwZWN0X25vdGVzX3cKLTA1YTQ5Mjc5NTFiY2VmMzQ3ZjUxNDg2NTc1Yjg3OGIyYjYwMTM3ZjIgJGNvbW1pdF9zaGEzCi1kMDAwZDMwZTZkZGNmY2UzYTgxMjJjNDAzMjI2YTJjZTJmZDA0ZDlkICRjb21taXRfc2hhMgorJCh0ZXN0X29pZCBoYXNoM2QpICRjb21taXRfc2hhMworJCh0ZXN0X29pZCBoYXNoMmMpICRjb21taXRfc2hhMgogRU9GCiAKIGNhdCA+ZXhwZWN0X2xvZ193IDw8RU9GCkBAIC0zMjYsMTEgKzM1MywxMSBAQAogJwogCiBjYXQgPDxFT0YgfCBzb3J0ID5leHBlY3Rfbm90ZXNfeAotMGYyZWZiZDAwMjYyZjJmZDQxZGZhZTMzZGY4NzY1NjE4ZWVhY2Q5OSAkY29tbWl0X3NoYTUKLTFmMjU3YTNhOTAzMjg1NTdjNDUyZjA4MTdkNmNjNTBjODlkMzE1ZDQgJGNvbW1pdF9zaGE0Ci0wNWE0OTI3OTUxYmNlZjM0N2Y1MTQ4NjU3NWI4NzhiMmI2MDEzN2YyICRjb21taXRfc2hhMwotZDAwMGQzMGU2ZGRjZmNlM2E4MTIyYzQwMzIyNmEyY2UyZmQwNGQ5ZCAkY29tbWl0X3NoYTIKLTQzYWRkNmJkMGM4YzBiYzg3MWFjNzk5MWUwZjU1NzNjZmJhMjc4MDQgJGNvbW1pdF9zaGExCiskKHRlc3Rfb2lkIGhhc2g1YikgJGNvbW1pdF9zaGE1CiskKHRlc3Rfb2lkIGhhc2g0ZCkgJGNvbW1pdF9zaGE0CiskKHRlc3Rfb2lkIGhhc2gzZCkgJGNvbW1pdF9zaGEzCiskKHRlc3Rfb2lkIGhhc2gyYykgJGNvbW1pdF9zaGEyCiskKHRlc3Rfb2lkIGhhc2gxYykgJGNvbW1pdF9zaGExCiBFT0YKIAogY2F0ID5leHBlY3RfbG9nX3ggPDxFT0YKZGlmZiAtLWdpdCBhL3QvdDMzMDktbm90ZXMtbWVyZ2UtYXV0by1yZXNvbHZlLnNoIGIvdC90MzMwOS1ub3Rlcy1tZXJnZS1hdXRvLXJlc29sdmUuc2gKaW5kZXggMTRjMmFkZi4uMTQxZDNlNCAxMDA3NTUKLS0tIGEvdC90MzMwOS1ub3Rlcy1tZXJnZS1hdXRvLXJlc29sdmUuc2gKKysrIGIvdC90MzMwOS1ub3Rlcy1tZXJnZS1hdXRvLXJlc29sdmUuc2gKQEAgLTIzLDcgKzIzLDY3IEBACiAJdGVzdF9jb21taXQgMTJ0aCAmJgogCXRlc3RfY29tbWl0IDEzdGggJiYKIAl0ZXN0X2NvbW1pdCAxNHRoICYmCi0JdGVzdF9jb21taXQgMTV0aAorCXRlc3RfY29tbWl0IDE1dGggJiYKKworCXRlc3Rfb2lkX2NhY2hlIDw8LUVPRgorCWhhc2gxNWEgc2hhMTo0NTdhODVkNmM4MTRlYTIwODU1MGYxNWZjYzQ4ZjgwNGFjOGRjMDIzCisJaGFzaDE0YSBzaGExOmIwYzk1Yjk1NDMwMWQ2OWRhMmJjMzcyM2Y0Y2IxNjgwZDM1NTkzN2MKKwloYXNoMTNhIHNoYTE6NWQzMDIxNmExMjllZWZmYTk3ZDk2OTRmZmU4Yzc0MzE3YTU2MDMxNQorCWhhc2gxMmEgc2hhMTpkZDE2MWJjMTQ5NDcwZmQ4OTBkZDRhYjUyYTRjYmQ3OWJiZDE4YzM2CisJaGFzaDExYSBzaGExOjdhYmJjNDUxMjZkNjgwMzM2ZmIyNDI5NGYwMTNhN2NkZmEzZWQ1NDUKKwloYXNoMTBhIHNoYTE6YjhkMDNlMTczZjY3ZjY1MDVhNzZmNmUwMGNmOTM0NDAyMDBkZDliZQorCWhhc2gwOWEgc2hhMToyMGM2MTNjODM1MDExYzQ4YTVhYmUyOTE3MGEyNDAyY2E2MzU0OTEwCisJaGFzaDA4YSBzaGExOmEzZGFmOGExZTRlNWRjMzQwOWEzMDNhZDg0ODFkNTdiZmVhN2Y1ZDYKKwloYXNoMDdhIHNoYTE6ODk3MDAzMzIyYjUzYmM2Y2EwOThlOTMyNGVlNTA4MzYyMzQ3ZTczNAorCWhhc2gwNmEgc2hhMToxMWQ5N2ZkZWJmYTVjZWVlNTQwYTNkYTA3YmNlNmZhMDIyMmJjMDgyCisJaGFzaDE1YiBzaGExOjY4Yjg2MzBkMjU1MTYwMjhiZWQ4NjI3MTk4NTViM2Q2NzY4ZDc4MzMKKwloYXNoMTRiIHNoYTE6NWRlN2VhN2FkNGY0N2U3ZmY5MTk4OWZiODIyMzQ2MzQ3MzBmNzVkZgorCWhhc2gxM2Igc2hhMTozYTYzMWZkYjZmNDFiMDViNTVkOGY0YmFmMjA3MjhiYThmNmZjY2JjCisJaGFzaDEyYiBzaGExOmE2NjA1NWZhODJmN2EwM2ZlMGMwMmE2YWJhMzI4N2E4NWFiZjdjNjIKKwloYXNoMDViIHNoYTE6MTU0NTA4YzdhMGJjYWQ4MmI2ZmU0YjQ3MmJjNGMyNmIzYmYwODI1YgorCWhhc2gwNGIgc2hhMTplMmJmZDA2YTM3ZGQyMDMxNjg0YTU5YTZlMmIwMzNlMjEyMjM5Yzc4CisJaGFzaDAzYiBzaGExOjU3NzJmNDI0MDhjMGRkNmYwOTdhN2NhMmQyNGRlMGU3OGQxYzQ2YjEKKwloYXNoMTVjIHNoYTE6OWI0YjJjNjFmMDYxNTQxMmRhM2MxMGY5OGZmODViNTdjMDRlYzc2NQorCWhhc2gxMWMgc2hhMTo3ZTNjNTM1MDNhM2RiOGRkOTk2Y2I2MmUzN2M2NmUwNzBiNDRiNTRkCisJaGFzaDA4YyBzaGExOjg1MWUxNjM4Nzg0YTg4NGM3ZGQyNmM1ZDQxZjMzNDBmNjM4NzQxM2EKKwloYXNoMDVjIHNoYTE6OTlmYzM0YWRmYzQwMGI5NWM2N2IwMTMxMTVlMzdlMzFhYTlhNmQyMworCWhhc2gwMmMgc2hhMToyODNiNDgyMTlhZWU5YTQxMDVmNmNhYjMzN2U3ODkwNjVjODJjMmI5CisJaGFzaDE1ZCBzaGExOjdjNGU1NDZlZmQwZmU5MzlmODc2YmViMjYyZWNlMDI3OTc4ODBiNTQKKwloYXNoMDVkIHNoYTE6NmM4NDFjYzM2ZWE0OTYwMjcyOTA5NjdjYTk2YmQyYmVmNTRkYmI0NworCWhhc2gxNWUgc2hhMTpkNjgyMTA3YjhiZjdhN2FlYTFlNTM3YThkNWNiNmExMmI2MDEzNWYxCisJaGFzaDA1ZSBzaGExOjM1N2I2Y2ExNGM3YWZkNTliN2Y4YjhhYWFhNmI4YjcyMzc3MTEzNWIKKwloYXNoMTVmIHNoYTE6NmJlOTAyNDBiNWY1NDU5NDIwM2UyNWQ5ZjJmNjRiNzU2NzE3NWFlZQorCWhhc2gwNWYgc2hhMTo2NjAzMTFkN2Y3OGRjNTNkYjEyYWMzNzNhNDNmY2E3NDY1MzgxYTdlCisKKwloYXNoMTVhIHNoYTI1Njo0NWIxNTU4ZTVjMWI3NWY1NzAwMTBmYTQ4YWFhNjdiYjIyODlmY2Q0MzFiMzRhZDgxY2I0YzhiOTVmNGY4NzJhCisJaGFzaDE0YSBzaGEyNTY6NmU3YWYxNzllYTRkZDI4YWZkYzgzYWU2OTEyYmEwMDk4Y2RlZmY3NjRiMjZhOGI3NTBiMTU3ZGQ4MTc0OTA5MgorCWhhc2gxM2Egc2hhMjU2OjczNTMwODk5NjFiYWY1NTUzODhlMWJhYzY4YzY3YzhlYTk0YjA4Y2NiZDk3NTMyMjAxY2Y3ZjY3OTA3MDMwNTIKKwloYXNoMTJhIHNoYTI1Njo1ODYzZTQ1MjE2ODllZTE4NzljZWFiM2IzOGQzOWU5M2FiNWI1MWVjNzBhYWY2YTk2YWQzODhmYmRlZGZhMjVlCisJaGFzaDExYSBzaGEyNTY6ODJhMGVjMDMzOGI0ZWNmOGI0NDMwNGJhZGY0YWQzOGQ3NDY5ZGM0MTgyN2YzOGQ3YmE2YzQyZTNiYWUzZWU5OAorCWhhc2gxMGEgc2hhMjU2OmU4NGYyNTY0ZTkyZGU5NzkyYzkzYjhkMTk3MjYyYzczNWQ3Y2NiMWRlNjAyNWNlZjg3NTlhZjhmNmMzMzA4ZWIKKwloYXNoMDlhIHNoYTI1Njo0ZGQwNzc2NGJjZWM2OTZmMTk1YzBlYTcxYWU4OWUxNzQ4NzY0MDNhZjE2MzdlNDY0MmI4ZjQ0NTNmZDIzMDI4CisJaGFzaDA4YSBzaGEyNTY6MDIxMzJjNDU0NmNkODhhMWQwYWE1ODU0ZGQ1NWRhMTIwOTI3Zjc5MDRiYTE2YWZlMzZmZTAzZTkxYTYyMjA2NworCWhhc2gwN2Egc2hhMjU2OjM2OWJhZjdkMDBjNjcyMGVmZGMxMDI3MzQ5MzU1NWY5NDMwNTFmODRhNDcwNmZiMjRjYWViMzUzZmE0Nzg5ZGIKKwloYXNoMDZhIHNoYTI1Njo1MmQzMmMxMDM1MzU4M2IyZDk2YTU4NDliMWYxZjQzYzgwMThlNzZmM2U4ZWYxYjBkNDZlYjVjZmY3Y2RlZmFmCisJaGFzaDE1YiBzaGEyNTY6MzQ1ZTY2NjBiMzQ1ZmExNzQ3MzhhMzFhN2E1OTQyM2MzOTRiZGY0MTQ4MDRlMjAwYmM1MTBjNjVkOTcxYWU5NgorCWhhc2gxNGIgc2hhMjU2Ojc2NTNhNjU5NjAyMWM1MmU0MDVjYmE5NzllZWExNWE3Mjk5OTNlNzEwMmI5YTYxYmE0NjY3ZTM0ZjBlYWQ0YTEKKwloYXNoMTNiIHNoYTI1NjowZjIwMmEwYjZiOTY5MGRlMjM0OWMxNzNkZmQ3NjZhMzdlODI3NDRmNjFjMTRmMWMzODkzMDZmMWQ2OWY0NzBiCisJaGFzaDEyYiBzaGEyNTY6ZWIwMGYyMTljMDI2MTM2ZWE2NTM1YjE2ZmY4ZWMzZWZhNTEwZTZiZjUwMDk4Y2EwNDFlMWEyYTFkNGI3OTg0MAorCWhhc2gwNWIgc2hhMjU2Ojk5M2IyMjkwY2QwYzI0YzI3Yzg0OWQ5OWYxOTA0ZjNiNTkwZjc3YWYwZjUzOTkzMjczNGFkMDU2NzlhYzVhMmYKKwloYXNoMDRiIHNoYTI1NjpjN2ZiYTBkNjEwNDkxN2ZiZjM1MjU4ZjQwYjlmYTRmYzY5N2NmYTk5MmRlZWNkMTU3MGEzYjA4ZDBhNTU4N2E5CisJaGFzaDAzYiBzaGEyNTY6NzI4N2EyZDc4YTM3NjZjMTgxYjA4ZGYzODk1MWQ3ODRiMDhiNzJhNDRmNTcxZWQ2ZDg1NWJkMGJlMjJjNzBmNgorCWhhc2gxNWMgc2hhMjU2OjYyMzE2NjYwYTIyYmY5Nzg1N2RjNGExNjcwOWVjNGQ5M2EyMjRlOGM5ZjM3ZDY2MWVmOTE3NTFlMWY0YzQxNjYKKwloYXNoMTFjIHNoYTI1Njo1MWMzNzYzZGU5YjA4MzA5MzcwYWRjNTAzNmQ1OGRlYmIzMzE5ODBlNzMwOTc5MDI5NTdjNDQ0NjAyNTUxZGFhCisJaGFzaDA4YyBzaGEyNTY6MjJjZjFmYTI5NTk5ODk4YTcyMThjNTExMzVkNjZlZDg1ZDIyYWFkNTg0Zjc3ZGIzMzA1ZGVkY2U0YzNkNDc5OAorCWhhc2gwNWMgc2hhMjU2OjI1MDhmZDg2ZGI5ODBmMDUwODg5M2ExYzE1NzFiZGYzYjJlZTExM2RjMjVkZGIxYTNhMmZiOTRiZDZjZDBkNTgKKwloYXNoMDJjIHNoYTI1Njo2M2JiNTI3ZTBiNGUxYzhlMWRkMGQ1NGRkNzc4Y2E3YzM3MTg2ODlmZDZlMzdjNDczMDQ0Y2ZiY2YxY2FjZmRiCisJaGFzaDE1ZCBzaGEyNTY6NjY3YWNiNGUyZDVmOGRmMTVlNWFlYTQ1MDZkZmQxNmQyNWJjN2ZlY2E3MGZkYjBkOTY1YTcyMjJmOTgzYmI4OAorCWhhc2gwNWQgc2hhMjU2OjA5ZTZiNWE2ZmU2NjZjNGEwMjc2NzRiNjYxMWEyNTRiN2QyNTI4Y2QyMTFjNmI1Mjg4ZDFiNGRiNmM3NDFkZmEKKwloYXNoMTVlIHNoYTI1NjplOGNiZjUyZjZmY2FkYzZkZTNjNzc2MWU2NGE4OWU5ZmUzOGQxOWEwM2QzZTI4ZWY2Y2E4NTk2ZDkzZmM0ZjNhCisJaGFzaDA1ZSBzaGEyNTY6Y2RiMWUxOWY3YmExNTM5Zjk1YWY1MWE1N2VkZWI4OGE3ZWNjOTdkM2MyZjUyZGE4YzRjODZhZjMwODU5NTYwNworCWhhc2gxNWYgc2hhMjU2OjI5YzE0Y2I5MmRhNDQ4YTkyMzk2M2I4YTQzOTk0MjY4YjE5YzJlNTc5MTNkZTczZjM2Njc0MjFmZDJjMGVlZWMKKwloYXNoMDVmIHNoYTI1NjoxNGE2ZTY0MWIyYzBhOWYzOThlYmFjNmI0ZDM0YWZhNWVmZWE0YzUyZDI2MzEzODJmNDVmOGY2NjIyNjY5MDNiCisJRU9GCiAnCiAKIGNvbW1pdF9zaGExPSQoZ2l0IHJldi1wYXJzZSAxc3Ree2NvbW1pdH0pCkBAIC02OCwxNiArMTI4LDE2IEBACiAnCiAKIGNhdCA8PEVPRiB8IHNvcnQgPmV4cGVjdF9ub3Rlc194Ci00NTdhODVkNmM4MTRlYTIwODU1MGYxNWZjYzQ4ZjgwNGFjOGRjMDIzICRjb21taXRfc2hhMTUKLWIwYzk1Yjk1NDMwMWQ2OWRhMmJjMzcyM2Y0Y2IxNjgwZDM1NTkzN2MgJGNvbW1pdF9zaGExNAotNWQzMDIxNmExMjllZWZmYTk3ZDk2OTRmZmU4Yzc0MzE3YTU2MDMxNSAkY29tbWl0X3NoYTEzCi1kZDE2MWJjMTQ5NDcwZmQ4OTBkZDRhYjUyYTRjYmQ3OWJiZDE4YzM2ICRjb21taXRfc2hhMTIKLTdhYmJjNDUxMjZkNjgwMzM2ZmIyNDI5NGYwMTNhN2NkZmEzZWQ1NDUgJGNvbW1pdF9zaGExMQotYjhkMDNlMTczZjY3ZjY1MDVhNzZmNmUwMGNmOTM0NDAyMDBkZDliZSAkY29tbWl0X3NoYTEwCi0yMGM2MTNjODM1MDExYzQ4YTVhYmUyOTE3MGEyNDAyY2E2MzU0OTEwICRjb21taXRfc2hhOQotYTNkYWY4YTFlNGU1ZGMzNDA5YTMwM2FkODQ4MWQ1N2JmZWE3ZjVkNiAkY29tbWl0X3NoYTgKLTg5NzAwMzMyMmI1M2JjNmNhMDk4ZTkzMjRlZTUwODM2MjM0N2U3MzQgJGNvbW1pdF9zaGE3Ci0xMWQ5N2ZkZWJmYTVjZWVlNTQwYTNkYTA3YmNlNmZhMDIyMmJjMDgyICRjb21taXRfc2hhNgorJCh0ZXN0X29pZCBoYXNoMTVhKSAkY29tbWl0X3NoYTE1CiskKHRlc3Rfb2lkIGhhc2gxNGEpICRjb21taXRfc2hhMTQKKyQodGVzdF9vaWQgaGFzaDEzYSkgJGNvbW1pdF9zaGExMworJCh0ZXN0X29pZCBoYXNoMTJhKSAkY29tbWl0X3NoYTEyCiskKHRlc3Rfb2lkIGhhc2gxMWEpICRjb21taXRfc2hhMTEKKyQodGVzdF9vaWQgaGFzaDEwYSkgJGNvbW1pdF9zaGExMAorJCh0ZXN0X29pZCBoYXNoMDlhKSAkY29tbWl0X3NoYTkKKyQodGVzdF9vaWQgaGFzaDA4YSkgJGNvbW1pdF9zaGE4CiskKHRlc3Rfb2lkIGhhc2gwN2EpICRjb21taXRfc2hhNworJCh0ZXN0X29pZCBoYXNoMDZhKSAkY29tbWl0X3NoYTYKIEVPRgogCiBjYXQgPmV4cGVjdF9sb2dfeCA8PEVPRgpAQCAtMTQxLDE2ICsyMDEsMTYgQEAKICcKIAogY2F0IDw8RU9GIHwgc29ydCA+ZXhwZWN0X25vdGVzX3kKLTY4Yjg2MzBkMjU1MTYwMjhiZWQ4NjI3MTk4NTViM2Q2NzY4ZDc4MzMgJGNvbW1pdF9zaGExNQotNWRlN2VhN2FkNGY0N2U3ZmY5MTk4OWZiODIyMzQ2MzQ3MzBmNzVkZiAkY29tbWl0X3NoYTE0Ci0zYTYzMWZkYjZmNDFiMDViNTVkOGY0YmFmMjA3MjhiYThmNmZjY2JjICRjb21taXRfc2hhMTMKLWE2NjA1NWZhODJmN2EwM2ZlMGMwMmE2YWJhMzI4N2E4NWFiZjdjNjIgJGNvbW1pdF9zaGExMgotN2FiYmM0NTEyNmQ2ODAzMzZmYjI0Mjk0ZjAxM2E3Y2RmYTNlZDU0NSAkY29tbWl0X3NoYTExCi1iOGQwM2UxNzNmNjdmNjUwNWE3NmY2ZTAwY2Y5MzQ0MDIwMGRkOWJlICRjb21taXRfc2hhMTAKLTIwYzYxM2M4MzUwMTFjNDhhNWFiZTI5MTcwYTI0MDJjYTYzNTQ5MTAgJGNvbW1pdF9zaGE5Ci0xNTQ1MDhjN2EwYmNhZDgyYjZmZTRiNDcyYmM0YzI2YjNiZjA4MjViICRjb21taXRfc2hhNQotZTJiZmQwNmEzN2RkMjAzMTY4NGE1OWE2ZTJiMDMzZTIxMjIzOWM3OCAkY29tbWl0X3NoYTQKLTU3NzJmNDI0MDhjMGRkNmYwOTdhN2NhMmQyNGRlMGU3OGQxYzQ2YjEgJGNvbW1pdF9zaGEzCiskKHRlc3Rfb2lkIGhhc2gxNWIpICRjb21taXRfc2hhMTUKKyQodGVzdF9vaWQgaGFzaDE0YikgJGNvbW1pdF9zaGExNAorJCh0ZXN0X29pZCBoYXNoMTNiKSAkY29tbWl0X3NoYTEzCiskKHRlc3Rfb2lkIGhhc2gxMmIpICRjb21taXRfc2hhMTIKKyQodGVzdF9vaWQgaGFzaDExYSkgJGNvbW1pdF9zaGExMQorJCh0ZXN0X29pZCBoYXNoMTBhKSAkY29tbWl0X3NoYTEwCiskKHRlc3Rfb2lkIGhhc2gwOWEpICRjb21taXRfc2hhOQorJCh0ZXN0X29pZCBoYXNoMDViKSAkY29tbWl0X3NoYTUKKyQodGVzdF9vaWQgaGFzaDA0YikgJGNvbW1pdF9zaGE0CiskKHRlc3Rfb2lkIGhhc2gwM2IpICRjb21taXRfc2hhMwogRU9GCiAKIGNhdCA+ZXhwZWN0X2xvZ195IDw8RU9GCkBAIC0yMTQsMTYgKzI3NCwxNiBAQAogJwogCiBjYXQgPDxFT0YgfCBzb3J0ID5leHBlY3Rfbm90ZXNfegotOWI0YjJjNjFmMDYxNTQxMmRhM2MxMGY5OGZmODViNTdjMDRlYzc2NSAkY29tbWl0X3NoYTE1Ci01ZGU3ZWE3YWQ0ZjQ3ZTdmZjkxOTg5ZmI4MjIzNDYzNDczMGY3NWRmICRjb21taXRfc2hhMTQKLTVkMzAyMTZhMTI5ZWVmZmE5N2Q5Njk0ZmZlOGM3NDMxN2E1NjAzMTUgJGNvbW1pdF9zaGExMwotN2UzYzUzNTAzYTNkYjhkZDk5NmNiNjJlMzdjNjZlMDcwYjQ0YjU0ZCAkY29tbWl0X3NoYTExCi1iOGQwM2UxNzNmNjdmNjUwNWE3NmY2ZTAwY2Y5MzQ0MDIwMGRkOWJlICRjb21taXRfc2hhMTAKLTg1MWUxNjM4Nzg0YTg4NGM3ZGQyNmM1ZDQxZjMzNDBmNjM4NzQxM2EgJGNvbW1pdF9zaGE4Ci04OTcwMDMzMjJiNTNiYzZjYTA5OGU5MzI0ZWU1MDgzNjIzNDdlNzM0ICRjb21taXRfc2hhNwotOTlmYzM0YWRmYzQwMGI5NWM2N2IwMTMxMTVlMzdlMzFhYTlhNmQyMyAkY29tbWl0X3NoYTUKLWUyYmZkMDZhMzdkZDIwMzE2ODRhNTlhNmUyYjAzM2UyMTIyMzljNzggJGNvbW1pdF9zaGE0Ci0yODNiNDgyMTlhZWU5YTQxMDVmNmNhYjMzN2U3ODkwNjVjODJjMmI5ICRjb21taXRfc2hhMgorJCh0ZXN0X29pZCBoYXNoMTVjKSAkY29tbWl0X3NoYTE1CiskKHRlc3Rfb2lkIGhhc2gxNGIpICRjb21taXRfc2hhMTQKKyQodGVzdF9vaWQgaGFzaDEzYSkgJGNvbW1pdF9zaGExMworJCh0ZXN0X29pZCBoYXNoMTFjKSAkY29tbWl0X3NoYTExCiskKHRlc3Rfb2lkIGhhc2gxMGEpICRjb21taXRfc2hhMTAKKyQodGVzdF9vaWQgaGFzaDA4YykgJGNvbW1pdF9zaGE4CiskKHRlc3Rfb2lkIGhhc2gwN2EpICRjb21taXRfc2hhNworJCh0ZXN0X29pZCBoYXNoMDVjKSAkY29tbWl0X3NoYTUKKyQodGVzdF9vaWQgaGFzaDA0YikgJGNvbW1pdF9zaGE0CiskKHRlc3Rfb2lkIGhhc2gwMmMpICRjb21taXRfc2hhMgogRU9GCiAKIGNhdCA+ZXhwZWN0X2xvZ196IDw8RU9GCkBAIC0zMDYsMTYgKzM2NiwxNiBAQAogJwogCiBjYXQgPDxFT0YgfCBzb3J0ID5leHBlY3Rfbm90ZXNfb3VycwotNjhiODYzMGQyNTUxNjAyOGJlZDg2MjcxOTg1NWIzZDY3NjhkNzgzMyAkY29tbWl0X3NoYTE1Ci01ZGU3ZWE3YWQ0ZjQ3ZTdmZjkxOTg5ZmI4MjIzNDYzNDczMGY3NWRmICRjb21taXRfc2hhMTQKLTNhNjMxZmRiNmY0MWIwNWI1NWQ4ZjRiYWYyMDcyOGJhOGY2ZmNjYmMgJGNvbW1pdF9zaGExMwotYTY2MDU1ZmE4MmY3YTAzZmUwYzAyYTZhYmEzMjg3YTg1YWJmN2M2MiAkY29tbWl0X3NoYTEyCi03ZTNjNTM1MDNhM2RiOGRkOTk2Y2I2MmUzN2M2NmUwNzBiNDRiNTRkICRjb21taXRfc2hhMTEKLWI4ZDAzZTE3M2Y2N2Y2NTA1YTc2ZjZlMDBjZjkzNDQwMjAwZGQ5YmUgJGNvbW1pdF9zaGExMAotMTU0NTA4YzdhMGJjYWQ4MmI2ZmU0YjQ3MmJjNGMyNmIzYmYwODI1YiAkY29tbWl0X3NoYTUKLWUyYmZkMDZhMzdkZDIwMzE2ODRhNTlhNmUyYjAzM2UyMTIyMzljNzggJGNvbW1pdF9zaGE0Ci01NzcyZjQyNDA4YzBkZDZmMDk3YTdjYTJkMjRkZTBlNzhkMWM0NmIxICRjb21taXRfc2hhMwotMjgzYjQ4MjE5YWVlOWE0MTA1ZjZjYWIzMzdlNzg5MDY1YzgyYzJiOSAkY29tbWl0X3NoYTIKKyQodGVzdF9vaWQgaGFzaDE1YikgJGNvbW1pdF9zaGExNQorJCh0ZXN0X29pZCBoYXNoMTRiKSAkY29tbWl0X3NoYTE0CiskKHRlc3Rfb2lkIGhhc2gxM2IpICRjb21taXRfc2hhMTMKKyQodGVzdF9vaWQgaGFzaDEyYikgJGNvbW1pdF9zaGExMgorJCh0ZXN0X29pZCBoYXNoMTFjKSAkY29tbWl0X3NoYTExCiskKHRlc3Rfb2lkIGhhc2gxMGEpICRjb21taXRfc2hhMTAKKyQodGVzdF9vaWQgaGFzaDA1YikgJGNvbW1pdF9zaGE1CiskKHRlc3Rfb2lkIGhhc2gwNGIpICRjb21taXRfc2hhNAorJCh0ZXN0X29pZCBoYXNoMDNiKSAkY29tbWl0X3NoYTMKKyQodGVzdF9vaWQgaGFzaDAyYykgJGNvbW1pdF9zaGEyCiBFT0YKIAogY2F0ID5leHBlY3RfbG9nX291cnMgPDxFT0YKQEAgLTM5NSwxNiArNDU1LDE2IEBACiAnCiAKIGNhdCA8PEVPRiB8IHNvcnQgPmV4cGVjdF9ub3Rlc190aGVpcnMKLTliNGIyYzYxZjA2MTU0MTJkYTNjMTBmOThmZjg1YjU3YzA0ZWM3NjUgJGNvbW1pdF9zaGExNQotNWRlN2VhN2FkNGY0N2U3ZmY5MTk4OWZiODIyMzQ2MzQ3MzBmNzVkZiAkY29tbWl0X3NoYTE0Ci0zYTYzMWZkYjZmNDFiMDViNTVkOGY0YmFmMjA3MjhiYThmNmZjY2JjICRjb21taXRfc2hhMTMKLTdlM2M1MzUwM2EzZGI4ZGQ5OTZjYjYyZTM3YzY2ZTA3MGI0NGI1NGQgJGNvbW1pdF9zaGExMQotYjhkMDNlMTczZjY3ZjY1MDVhNzZmNmUwMGNmOTM0NDAyMDBkZDliZSAkY29tbWl0X3NoYTEwCi04NTFlMTYzODc4NGE4ODRjN2RkMjZjNWQ0MWYzMzQwZjYzODc0MTNhICRjb21taXRfc2hhOAotOTlmYzM0YWRmYzQwMGI5NWM2N2IwMTMxMTVlMzdlMzFhYTlhNmQyMyAkY29tbWl0X3NoYTUKLWUyYmZkMDZhMzdkZDIwMzE2ODRhNTlhNmUyYjAzM2UyMTIyMzljNzggJGNvbW1pdF9zaGE0Ci01NzcyZjQyNDA4YzBkZDZmMDk3YTdjYTJkMjRkZTBlNzhkMWM0NmIxICRjb21taXRfc2hhMwotMjgzYjQ4MjE5YWVlOWE0MTA1ZjZjYWIzMzdlNzg5MDY1YzgyYzJiOSAkY29tbWl0X3NoYTIKKyQodGVzdF9vaWQgaGFzaDE1YykgJGNvbW1pdF9zaGExNQorJCh0ZXN0X29pZCBoYXNoMTRiKSAkY29tbWl0X3NoYTE0CiskKHRlc3Rfb2lkIGhhc2gxM2IpICRjb21taXRfc2hhMTMKKyQodGVzdF9vaWQgaGFzaDExYykgJGNvbW1pdF9zaGExMQorJCh0ZXN0X29pZCBoYXNoMTBhKSAkY29tbWl0X3NoYTEwCiskKHRlc3Rfb2lkIGhhc2gwOGMpICRjb21taXRfc2hhOAorJCh0ZXN0X29pZCBoYXNoMDVjKSAkY29tbWl0X3NoYTUKKyQodGVzdF9vaWQgaGFzaDA0YikgJGNvbW1pdF9zaGE0CiskKHRlc3Rfb2lkIGhhc2gwM2IpICRjb21taXRfc2hhMworJCh0ZXN0X29pZCBoYXNoMDJjKSAkY29tbWl0X3NoYTIKIEVPRgogCiBjYXQgPmV4cGVjdF9sb2dfdGhlaXJzIDw8RU9GCkBAIC00NzMsMTcgKzUzMywxNyBAQAogJwogCiBjYXQgPDxFT0YgfCBzb3J0ID5leHBlY3Rfbm90ZXNfdW5pb24KLTdjNGU1NDZlZmQwZmU5MzlmODc2YmViMjYyZWNlMDI3OTc4ODBiNTQgJGNvbW1pdF9zaGExNQotNWRlN2VhN2FkNGY0N2U3ZmY5MTk4OWZiODIyMzQ2MzQ3MzBmNzVkZiAkY29tbWl0X3NoYTE0Ci0zYTYzMWZkYjZmNDFiMDViNTVkOGY0YmFmMjA3MjhiYThmNmZjY2JjICRjb21taXRfc2hhMTMKLWE2NjA1NWZhODJmN2EwM2ZlMGMwMmE2YWJhMzI4N2E4NWFiZjdjNjIgJGNvbW1pdF9zaGExMgotN2UzYzUzNTAzYTNkYjhkZDk5NmNiNjJlMzdjNjZlMDcwYjQ0YjU0ZCAkY29tbWl0X3NoYTExCi1iOGQwM2UxNzNmNjdmNjUwNWE3NmY2ZTAwY2Y5MzQ0MDIwMGRkOWJlICRjb21taXRfc2hhMTAKLTg1MWUxNjM4Nzg0YTg4NGM3ZGQyNmM1ZDQxZjMzNDBmNjM4NzQxM2EgJGNvbW1pdF9zaGE4Ci02Yzg0MWNjMzZlYTQ5NjAyNzI5MDk2N2NhOTZiZDJiZWY1NGRiYjQ3ICRjb21taXRfc2hhNQotZTJiZmQwNmEzN2RkMjAzMTY4NGE1OWE2ZTJiMDMzZTIxMjIzOWM3OCAkY29tbWl0X3NoYTQKLTU3NzJmNDI0MDhjMGRkNmYwOTdhN2NhMmQyNGRlMGU3OGQxYzQ2YjEgJGNvbW1pdF9zaGEzCi0yODNiNDgyMTlhZWU5YTQxMDVmNmNhYjMzN2U3ODkwNjVjODJjMmI5ICRjb21taXRfc2hhMgorJCh0ZXN0X29pZCBoYXNoMTVkKSAkY29tbWl0X3NoYTE1CiskKHRlc3Rfb2lkIGhhc2gxNGIpICRjb21taXRfc2hhMTQKKyQodGVzdF9vaWQgaGFzaDEzYikgJGNvbW1pdF9zaGExMworJCh0ZXN0X29pZCBoYXNoMTJiKSAkY29tbWl0X3NoYTEyCiskKHRlc3Rfb2lkIGhhc2gxMWMpICRjb21taXRfc2hhMTEKKyQodGVzdF9vaWQgaGFzaDEwYSkgJGNvbW1pdF9zaGExMAorJCh0ZXN0X29pZCBoYXNoMDhjKSAkY29tbWl0X3NoYTgKKyQodGVzdF9vaWQgaGFzaDA1ZCkgJGNvbW1pdF9zaGE1CiskKHRlc3Rfb2lkIGhhc2gwNGIpICRjb21taXRfc2hhNAorJCh0ZXN0X29pZCBoYXNoMDNiKSAkY29tbWl0X3NoYTMKKyQodGVzdF9vaWQgaGFzaDAyYykgJGNvbW1pdF9zaGEyCiBFT0YKIAogY2F0ID5leHBlY3RfbG9nX3VuaW9uIDw8RU9GCkBAIC01NzQsMTcgKzYzNCwxNyBAQAogJwogCiBjYXQgPDxFT0YgfCBzb3J0ID5leHBlY3Rfbm90ZXNfdW5pb24yCi1kNjgyMTA3YjhiZjdhN2FlYTFlNTM3YThkNWNiNmExMmI2MDEzNWYxICRjb21taXRfc2hhMTUKLTVkZTdlYTdhZDRmNDdlN2ZmOTE5ODlmYjgyMjM0NjM0NzMwZjc1ZGYgJGNvbW1pdF9zaGExNAotM2E2MzFmZGI2ZjQxYjA1YjU1ZDhmNGJhZjIwNzI4YmE4ZjZmY2NiYyAkY29tbWl0X3NoYTEzCi1hNjYwNTVmYTgyZjdhMDNmZTBjMDJhNmFiYTMyODdhODVhYmY3YzYyICRjb21taXRfc2hhMTIKLTdlM2M1MzUwM2EzZGI4ZGQ5OTZjYjYyZTM3YzY2ZTA3MGI0NGI1NGQgJGNvbW1pdF9zaGExMQotYjhkMDNlMTczZjY3ZjY1MDVhNzZmNmUwMGNmOTM0NDAyMDBkZDliZSAkY29tbWl0X3NoYTEwCi04NTFlMTYzODc4NGE4ODRjN2RkMjZjNWQ0MWYzMzQwZjYzODc0MTNhICRjb21taXRfc2hhOAotMzU3YjZjYTE0YzdhZmQ1OWI3ZjhiOGFhYWE2YjhiNzIzNzcxMTM1YiAkY29tbWl0X3NoYTUKLWUyYmZkMDZhMzdkZDIwMzE2ODRhNTlhNmUyYjAzM2UyMTIyMzljNzggJGNvbW1pdF9zaGE0Ci01NzcyZjQyNDA4YzBkZDZmMDk3YTdjYTJkMjRkZTBlNzhkMWM0NmIxICRjb21taXRfc2hhMwotMjgzYjQ4MjE5YWVlOWE0MTA1ZjZjYWIzMzdlNzg5MDY1YzgyYzJiOSAkY29tbWl0X3NoYTIKKyQodGVzdF9vaWQgaGFzaDE1ZSkgJGNvbW1pdF9zaGExNQorJCh0ZXN0X29pZCBoYXNoMTRiKSAkY29tbWl0X3NoYTE0CiskKHRlc3Rfb2lkIGhhc2gxM2IpICRjb21taXRfc2hhMTMKKyQodGVzdF9vaWQgaGFzaDEyYikgJGNvbW1pdF9zaGExMgorJCh0ZXN0X29pZCBoYXNoMTFjKSAkY29tbWl0X3NoYTExCiskKHRlc3Rfb2lkIGhhc2gxMGEpICRjb21taXRfc2hhMTAKKyQodGVzdF9vaWQgaGFzaDA4YykgJGNvbW1pdF9zaGE4CiskKHRlc3Rfb2lkIGhhc2gwNWUpICRjb21taXRfc2hhNQorJCh0ZXN0X29pZCBoYXNoMDRiKSAkY29tbWl0X3NoYTQKKyQodGVzdF9vaWQgaGFzaDAzYikgJGNvbW1pdF9zaGEzCiskKHRlc3Rfb2lkIGhhc2gwMmMpICRjb21taXRfc2hhMgogRU9GCiAKIGNhdCA+ZXhwZWN0X2xvZ191bmlvbjIgPDxFT0YKQEAgLTY0OCwxNyArNzA4LDE3IEBACiAnCiAKIGNhdCA8PEVPRiB8IHNvcnQgPmV4cGVjdF9ub3Rlc19jYXRfc29ydF91bmlxCi02YmU5MDI0MGI1ZjU0NTk0MjAzZTI1ZDlmMmY2NGI3NTY3MTc1YWVlICRjb21taXRfc2hhMTUKLTVkZTdlYTdhZDRmNDdlN2ZmOTE5ODlmYjgyMjM0NjM0NzMwZjc1ZGYgJGNvbW1pdF9zaGExNAotM2E2MzFmZGI2ZjQxYjA1YjU1ZDhmNGJhZjIwNzI4YmE4ZjZmY2NiYyAkY29tbWl0X3NoYTEzCi1hNjYwNTVmYTgyZjdhMDNmZTBjMDJhNmFiYTMyODdhODVhYmY3YzYyICRjb21taXRfc2hhMTIKLTdlM2M1MzUwM2EzZGI4ZGQ5OTZjYjYyZTM3YzY2ZTA3MGI0NGI1NGQgJGNvbW1pdF9zaGExMQotYjhkMDNlMTczZjY3ZjY1MDVhNzZmNmUwMGNmOTM0NDAyMDBkZDliZSAkY29tbWl0X3NoYTEwCi04NTFlMTYzODc4NGE4ODRjN2RkMjZjNWQ0MWYzMzQwZjYzODc0MTNhICRjb21taXRfc2hhOAotNjYwMzExZDdmNzhkYzUzZGIxMmFjMzczYTQzZmNhNzQ2NTM4MWE3ZSAkY29tbWl0X3NoYTUKLWUyYmZkMDZhMzdkZDIwMzE2ODRhNTlhNmUyYjAzM2UyMTIyMzljNzggJGNvbW1pdF9zaGE0Ci01NzcyZjQyNDA4YzBkZDZmMDk3YTdjYTJkMjRkZTBlNzhkMWM0NmIxICRjb21taXRfc2hhMwotMjgzYjQ4MjE5YWVlOWE0MTA1ZjZjYWIzMzdlNzg5MDY1YzgyYzJiOSAkY29tbWl0X3NoYTIKKyQodGVzdF9vaWQgaGFzaDE1ZikgJGNvbW1pdF9zaGExNQorJCh0ZXN0X29pZCBoYXNoMTRiKSAkY29tbWl0X3NoYTE0CiskKHRlc3Rfb2lkIGhhc2gxM2IpICRjb21taXRfc2hhMTMKKyQodGVzdF9vaWQgaGFzaDEyYikgJGNvbW1pdF9zaGExMgorJCh0ZXN0X29pZCBoYXNoMTFjKSAkY29tbWl0X3NoYTExCiskKHRlc3Rfb2lkIGhhc2gxMGEpICRjb21taXRfc2hhMTAKKyQodGVzdF9vaWQgaGFzaDA4YykgJGNvbW1pdF9zaGE4CiskKHRlc3Rfb2lkIGhhc2gwNWYpICRjb21taXRfc2hhNQorJCh0ZXN0X29pZCBoYXNoMDRiKSAkY29tbWl0X3NoYTQKKyQodGVzdF9vaWQgaGFzaDAzYikgJGNvbW1pdF9zaGEzCiskKHRlc3Rfb2lkIGhhc2gwMmMpICRjb21taXRfc2hhMgogRU9GCiAKIGNhdCA+ZXhwZWN0X2xvZ19jYXRfc29ydF91bmlxIDw8RU9GCmRpZmYgLS1naXQgYS90L3QzMzEwLW5vdGVzLW1lcmdlLW1hbnVhbC1yZXNvbHZlLnNoIGIvdC90MzMxMC1ub3Rlcy1tZXJnZS1tYW51YWwtcmVzb2x2ZS5zaAppbmRleCAyZGVhODQ2Li5kM2Q3MmUyIDEwMDc1NQotLS0gYS90L3QzMzEwLW5vdGVzLW1lcmdlLW1hbnVhbC1yZXNvbHZlLnNoCisrKyBiL3QvdDMzMTAtbm90ZXMtbWVyZ2UtbWFudWFsLXJlc29sdmUuc2gKQEAgLTEzLDcgKzEzLDM5IEBACiAJdGVzdF9jb21taXQgMm5kICYmCiAJdGVzdF9jb21taXQgM3JkICYmCiAJdGVzdF9jb21taXQgNHRoICYmCi0JdGVzdF9jb21taXQgNXRoCisJdGVzdF9jb21taXQgNXRoICYmCisKKwl0ZXN0X29pZF9jYWNoZSA8PC1FT0YKKwloYXNoMDRhIHNoYTE6NmU4ZTNmZWJjYTNjMmJiODk2NzA0MzM1Y2M0ZDBjMzRjYjJmODcxNQorCWhhc2gwM2Egc2hhMTplNTM4OGMxMDg2MDQ1NmVlNjA2NzMwMjUzNDVmZTJlMTUzZWI4Y2Y4CisJaGFzaDAyYSBzaGExOmNlZWZhNjc0ODczNjcwZTdlY2QxMzE4MTRkOTA5NzIzY2NlMmI2NjkKKwloYXNoMDRiIHNoYTE6ZTJiZmQwNmEzN2RkMjAzMTY4NGE1OWE2ZTJiMDMzZTIxMjIzOWM3OAorCWhhc2gwM2Igc2hhMTo1NzcyZjQyNDA4YzBkZDZmMDk3YTdjYTJkMjRkZTBlNzhkMWM0NmIxCisJaGFzaDAxYiBzaGExOmIwYTYwMjFlYzAwNmQwN2U4MGU5YjIwZWM5YjQ0NGNiZDlkNTYwZDMKKwloYXNoMDRjIHNoYTE6Y2ZmNTljNzkzYzIwYmI0OWE0ZTAxYmMwNmZiMDZiYWQ2NDJlMGQ1NAorCWhhc2gwMmMgc2hhMToyODNiNDgyMTlhZWU5YTQxMDVmNmNhYjMzN2U3ODkwNjVjODJjMmI5CisJaGFzaDAxYyBzaGExOjBhODFkYTg5NTYzNDZlMTliY2IyN2E5MDZmMDRhZjMyN2UwM2UzMWIKKwloYXNoMDRkIHNoYTE6MDA0OTRhZGVjZjJkOTYzNWEwMmZhNDMxMzA4ZDY3OTkzZjg1Mzk2OAorCWhhc2gwMWUgc2hhMTpmNzVkMWRmODhjYmZlNDI1OGQ0OTg1MmYyNmNmYzgzZjJhZDQ0OTRiCisJaGFzaDA0ZiBzaGExOjAyMWZhYTIwZTkzMWZiNDg5ODZmZmM2MjgyYjRiYjA1NTUzYWM5NDYKKwloYXNoMDFmIHNoYTE6MGE1OWU3ODdlNmQ2ODhhYTYzMDllNTZlOGMxYjg5NDMxYTBmYzFjMQorCWhhc2gwNWcgc2hhMTozMDRkZmI0MzI1Y2YyNDMwMjViOTk1NzQ4NmViNjA1YTliNTFjMTk5CisKKwloYXNoMDRhCXNoYTI1NjpmMThhOTM1ZTY1ODY2MzQ1MDk4YjNiNzU0MDcxZGJmOWYzYWEzNTIwZWIyN2E3YjAzNmIyNzhjNWUyZjFlZDdlCisJaGFzaDAzYQlzaGEyNTY6NzEzMDM1ZGM5NDA2N2E2NGU1ZmE2ZTRlMTgyMWI3YzNiZGU0OWE3N2M3Y2IzZjgwZWFhZGVmYTFjYTQxYjNkMgorCWhhc2gwMmEJc2hhMjU2OmYxNjBhNjdlMDQ4YjZmYTc1YmVjMzk1MjE4NDE1NDA0NTA3NjY5MmNmNWRjY2QzZGEyMWUzZmQzNGI3YTNmMGYKKwloYXNoMDRiIHNoYTI1NjpjN2ZiYTBkNjEwNDkxN2ZiZjM1MjU4ZjQwYjlmYTRmYzY5N2NmYTk5MmRlZWNkMTU3MGEzYjA4ZDBhNTU4N2E5CisJaGFzaDAzYiBzaGEyNTY6NzI4N2EyZDc4YTM3NjZjMTgxYjA4ZGYzODk1MWQ3ODRiMDhiNzJhNDRmNTcxZWQ2ZDg1NWJkMGJlMjJjNzBmNgorCWhhc2gwMWIgc2hhMjU2OmRhOTZjZjc3OGMxNWQwYTJiYjc2Zjk4YjJhNjJmNmM5YzAxNzMwZmE3MDMwZThmMDhlZjAxOTEwNDhlN2Q2MjAKKwloYXNoMDRjIHNoYTI1NjpjYjYxNWQyZGVmNGI4MzRkNWY1NWIyMzUxZGY5N2RjOTJiZWU0ZjUwMDlkMjg1MjAxNDI3ZjM0OTA4MWM4YWNhCisJaGFzaDAyYyBzaGEyNTY6NjNiYjUyN2UwYjRlMWM4ZTFkZDBkNTRkZDc3OGNhN2MzNzE4Njg5ZmQ2ZTM3YzQ3MzA0NGNmYmNmMWNhY2ZkYgorCWhhc2gwMWMgc2hhMjU2OjViODcyMzdhYzFmYmFlMDI0NjI1NmZlZDlmOWExZjA3N2M0MTQwZmI3ZTY0NDQ5MjVmOGRiZmE1YWU0MDZjZDgKKwloYXNoMDRkIHNoYTI1NjplZWRkYzlmOWY2Y2IzZDZiMzliODYxNjU5ODUzZjEwODkxZGMzNzNlMGI2ZWVjYjA5ZTAzZTM5YjZjZTY0NzE0CisJaGFzaDAxZSBzaGEyNTY6MTA4ZjUyMWIxYTc0YzJlNmQwYjUyYTRlZGE4N2UwOTE2MmJmODQ3ZjdkMTkwY2ZjZTQ5NmVlMWFmMGIyOWE1YQorCWhhc2gwNGYgc2hhMjU2OjkwMWFjZGEwNDU0NTAyYjNiYmQyODFmMTMwYzQxOWU2YzhkZTc4YWZjZjcyYThkZWY4ZDQ1YWQzMTQ2MmJjZTQKKwloYXNoMDFmIHNoYTI1NjphMmQ5OWQxYjhiZjIzYzhhZjdkOWQ5MTM2ODQ1NGFkYzExMGRmZDVjYzA2OGE0Y2ViYjQ4NmVlOGY1YTFlMTZjCisJaGFzaDA1ZyBzaGEyNTY6NGZlZjAxNWIwMWRhOGVmZTkyOWE2OGUzYmI5YjhmYmFkODFmNTM5OTVmMDk3YmVmZThlYmM5M2YxMmFiOThlYworCUVPRgogJwogCiBjb21taXRfc2hhMT0kKGdpdCByZXYtcGFyc2UgMXN0Xntjb21taXR9KQpAQCAtMzIsMTAgKzY0LDE2IEBACiAJdGVzdF9jbXAgImV4cGVjdF9sb2dfJG5vdGVzX3JlZiIgIm91dHB1dF9sb2dfJG5vdGVzX3JlZiIKIH0KIAorbm90ZXNfbWVyZ2VfZmlsZXNfZ29uZSAoKSB7CisJIyBObyAuZ2l0L05PVEVTX01FUkdFXyogZmlsZXMgbGVmdAorCXsgbHMgLmdpdC9OT1RFU19NRVJHRV8qID5vdXRwdXQgfHwgOjsgfSAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXRwdXQKK30KKwogY2F0IDw8RU9GIHwgc29ydCA+ZXhwZWN0X25vdGVzX3gKLTZlOGUzZmViY2EzYzJiYjg5NjcwNDMzNWNjNGQwYzM0Y2IyZjg3MTUgJGNvbW1pdF9zaGE0Ci1lNTM4OGMxMDg2MDQ1NmVlNjA2NzMwMjUzNDVmZTJlMTUzZWI4Y2Y4ICRjb21taXRfc2hhMwotY2VlZmE2NzQ4NzM2NzBlN2VjZDEzMTgxNGQ5MDk3MjNjY2UyYjY2OSAkY29tbWl0X3NoYTIKKyQodGVzdF9vaWQgaGFzaDA0YSkgJGNvbW1pdF9zaGE0CiskKHRlc3Rfb2lkIGhhc2gwM2EpICRjb21taXRfc2hhMworJCh0ZXN0X29pZCBoYXNoMDJhKSAkY29tbWl0X3NoYTIKIEVPRgogCiBjYXQgPmV4cGVjdF9sb2dfeCA8PEVPRgpAQCAtNjMsOSArMTAxLDkgQEAKICcKIAogY2F0IDw8RU9GIHwgc29ydCA+ZXhwZWN0X25vdGVzX3kKLWUyYmZkMDZhMzdkZDIwMzE2ODRhNTlhNmUyYjAzM2UyMTIyMzljNzggJGNvbW1pdF9zaGE0Ci01NzcyZjQyNDA4YzBkZDZmMDk3YTdjYTJkMjRkZTBlNzhkMWM0NmIxICRjb21taXRfc2hhMwotYjBhNjAyMWVjMDA2ZDA3ZTgwZTliMjBlYzliNDQ0Y2JkOWQ1NjBkMyAkY29tbWl0X3NoYTEKKyQodGVzdF9vaWQgaGFzaDA0YikgJGNvbW1pdF9zaGE0CiskKHRlc3Rfb2lkIGhhc2gwM2IpICRjb21taXRfc2hhMworJCh0ZXN0X29pZCBoYXNoMDFiKSAkY29tbWl0X3NoYTEKIEVPRgogCiBjYXQgPmV4cGVjdF9sb2dfeSA8PEVPRgpAQCAtOTUsOSArMTMzLDkgQEAKICcKIAogY2F0IDw8RU9GIHwgc29ydCA+ZXhwZWN0X25vdGVzX3oKLWNmZjU5Yzc5M2MyMGJiNDlhNGUwMWJjMDZmYjA2YmFkNjQyZTBkNTQgJGNvbW1pdF9zaGE0Ci0yODNiNDgyMTlhZWU5YTQxMDVmNmNhYjMzN2U3ODkwNjVjODJjMmI5ICRjb21taXRfc2hhMgotMGE4MWRhODk1NjM0NmUxOWJjYjI3YTkwNmYwNGFmMzI3ZTAzZTMxYiAkY29tbWl0X3NoYTEKKyQodGVzdF9vaWQgaGFzaDA0YykgJGNvbW1pdF9zaGE0CiskKHRlc3Rfb2lkIGhhc2gwMmMpICRjb21taXRfc2hhMgorJCh0ZXN0X29pZCBoYXNoMDFjKSAkY29tbWl0X3NoYTEKIEVPRgogCiBjYXQgPmV4cGVjdF9sb2dfeiA8PEVPRgpAQCAtMTkzLDkgKzIzMSw5IEBACiAnCiAKIGNhdCA8PEVPRiB8IHNvcnQgPmV4cGVjdF9ub3Rlc196Ci0wMDQ5NGFkZWNmMmQ5NjM1YTAyZmE0MzEzMDhkNjc5OTNmODUzOTY4ICRjb21taXRfc2hhNAotMjgzYjQ4MjE5YWVlOWE0MTA1ZjZjYWIzMzdlNzg5MDY1YzgyYzJiOSAkY29tbWl0X3NoYTIKLTBhODFkYTg5NTYzNDZlMTliY2IyN2E5MDZmMDRhZjMyN2UwM2UzMWIgJGNvbW1pdF9zaGExCiskKHRlc3Rfb2lkIGhhc2gwNGQpICRjb21taXRfc2hhNAorJCh0ZXN0X29pZCBoYXNoMDJjKSAkY29tbWl0X3NoYTIKKyQodGVzdF9vaWQgaGFzaDAxYykgJGNvbW1pdF9zaGExCiBFT0YKIAogY2F0ID5leHBlY3RfbG9nX3ogPDxFT0YKQEAgLTIzMSw4ICsyNjksOCBAQAogIyBTZXR1cCBub24tY29uZmxpY3RpbmcgbWVyZ2UgYmV0d2VlbiB4IGFuZCBuZXcgbm90ZXMgcmVmIHcKIAogY2F0IDw8RU9GIHwgc29ydCA+ZXhwZWN0X25vdGVzX3cKLWNlZWZhNjc0ODczNjcwZTdlY2QxMzE4MTRkOTA5NzIzY2NlMmI2NjkgJGNvbW1pdF9zaGEyCi1mNzVkMWRmODhjYmZlNDI1OGQ0OTg1MmYyNmNmYzgzZjJhZDQ0OTRiICRjb21taXRfc2hhMQorJCh0ZXN0X29pZCBoYXNoMDJhKSAkY29tbWl0X3NoYTIKKyQodGVzdF9vaWQgaGFzaDAxZSkgJGNvbW1pdF9zaGExCiBFT0YKIAogY2F0ID5leHBlY3RfbG9nX3cgPDxFT0YKQEAgLTI1OCwxMCArMjk2LDEwIEBACiAnCiAKIGNhdCA8PEVPRiB8IHNvcnQgPmV4cGVjdF9ub3Rlc193Ci02ZThlM2ZlYmNhM2MyYmI4OTY3MDQzMzVjYzRkMGMzNGNiMmY4NzE1ICRjb21taXRfc2hhNAotZTUzODhjMTA4NjA0NTZlZTYwNjczMDI1MzQ1ZmUyZTE1M2ViOGNmOCAkY29tbWl0X3NoYTMKLWNlZWZhNjc0ODczNjcwZTdlY2QxMzE4MTRkOTA5NzIzY2NlMmI2NjkgJGNvbW1pdF9zaGEyCi1mNzVkMWRmODhjYmZlNDI1OGQ0OTg1MmYyNmNmYzgzZjJhZDQ0OTRiICRjb21taXRfc2hhMQorJCh0ZXN0X29pZCBoYXNoMDRhKSAkY29tbWl0X3NoYTQKKyQodGVzdF9vaWQgaGFzaDAzYSkgJGNvbW1pdF9zaGEzCiskKHRlc3Rfb2lkIGhhc2gwMmEpICRjb21taXRfc2hhMgorJCh0ZXN0X29pZCBoYXNoMDFlKSAkY29tbWl0X3NoYTEKIEVPRgogCiBjYXQgPmV4cGVjdF9sb2dfdyA8PEVPRgpAQCAtMjkxLDEwICszMjksMTAgQEAKICcKIAogY2F0IDw8RU9GIHwgc29ydCA+ZXhwZWN0X25vdGVzX20KLTAyMWZhYTIwZTkzMWZiNDg5ODZmZmM2MjgyYjRiYjA1NTUzYWM5NDYgJGNvbW1pdF9zaGE0Ci01NzcyZjQyNDA4YzBkZDZmMDk3YTdjYTJkMjRkZTBlNzhkMWM0NmIxICRjb21taXRfc2hhMwotMjgzYjQ4MjE5YWVlOWE0MTA1ZjZjYWIzMzdlNzg5MDY1YzgyYzJiOSAkY29tbWl0X3NoYTIKLTBhNTllNzg3ZTZkNjg4YWE2MzA5ZTU2ZThjMWI4OTQzMWEwZmMxYzEgJGNvbW1pdF9zaGExCiskKHRlc3Rfb2lkIGhhc2gwNGYpICRjb21taXRfc2hhNAorJCh0ZXN0X29pZCBoYXNoMDNiKSAkY29tbWl0X3NoYTMKKyQodGVzdF9vaWQgaGFzaDAyYykgJGNvbW1pdF9zaGEyCiskKHRlc3Rfb2lkIGhhc2gwMWYpICRjb21taXRfc2hhMQogRU9GCiAKIGNhdCA+ZXhwZWN0X2xvZ19tIDw8RU9GCkBAIC0zMzUsOSArMzczLDcgQEAKIHkgYW5kIHogbm90ZXMgb24gNHRoIGNvbW1pdAogRU9GCiAJZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0ICYmCi0JIyBObyAuZ2l0L05PVEVTX01FUkdFXyogZmlsZXMgbGVmdAotCXRlc3RfbWlnaHRfZmFpbCBscyAuZ2l0L05PVEVTX01FUkdFXyogPm91dHB1dCAyPi9kZXYvbnVsbCAmJgotCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXRwdXQgJiYKKwlub3Rlc19tZXJnZV9maWxlc19nb25lICYmCiAJIyBNZXJnZSBjb21taXQgaGFzIHByZS1tZXJnZSB5IGFuZCBwcmUtbWVyZ2UgeiBhcyBwYXJlbnRzCiAJdGVzdCAiJChnaXQgcmV2LXBhcnNlIHJlZnMvbm90ZXMvbV4xKSIgPSAiJChjYXQgcHJlX21lcmdlX3kpIiAmJgogCXRlc3QgIiQoZ2l0IHJldi1wYXJzZSByZWZzL25vdGVzL21eMikiID0gIiQoY2F0IHByZV9tZXJnZV96KSIgJiYKQEAgLTM5Nyw5ICs0MzMsNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhYm9ydCBub3RlcyBtZXJnZScgJwogCWdpdCBub3RlcyBtZXJnZSAtLWFib3J0ICYmCi0JIyBObyAuZ2l0L05PVEVTX01FUkdFXyogZmlsZXMgbGVmdAotCXRlc3RfbWlnaHRfZmFpbCBscyAuZ2l0L05PVEVTX01FUkdFXyogPm91dHB1dCAyPi9kZXYvbnVsbCAmJgotCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXRwdXQgJiYKKwlub3Rlc19tZXJnZV9maWxlc19nb25lICYmCiAJIyBtIGhhcyBub3QgbW92ZWQgKHN0aWxsID09IHkpCiAJdGVzdCAiJChnaXQgcmV2LXBhcnNlIHJlZnMvbm90ZXMvbSkiID0gIiQoY2F0IHByZV9tZXJnZV95KSIgJiYKIAkjIFZlcmlmeSB0aGF0IG90aGVyIG5vdGVzIHJlZnMgaGFzIG5vdCBjaGFuZ2VkICh3LCB4LCB5IGFuZCB6KQpAQCAtNDMwLDkgKzQ2NCw5IEBACiAnCiAKIGNhdCA8PEVPRiB8IHNvcnQgPmV4cGVjdF9ub3Rlc19tCi0zMDRkZmI0MzI1Y2YyNDMwMjViOTk1NzQ4NmViNjA1YTliNTFjMTk5ICRjb21taXRfc2hhNQotMjgzYjQ4MjE5YWVlOWE0MTA1ZjZjYWIzMzdlNzg5MDY1YzgyYzJiOSAkY29tbWl0X3NoYTIKLTBhNTllNzg3ZTZkNjg4YWE2MzA5ZTU2ZThjMWI4OTQzMWEwZmMxYzEgJGNvbW1pdF9zaGExCiskKHRlc3Rfb2lkIGhhc2gwNWcpICRjb21taXRfc2hhNQorJCh0ZXN0X29pZCBoYXNoMDJjKSAkY29tbWl0X3NoYTIKKyQodGVzdF9vaWQgaGFzaDAxZikgJGNvbW1pdF9zaGExCiBFT0YKIAogY2F0ID5leHBlY3RfbG9nX20gPDxFT0YKQEAgLTQ2NCw5ICs0OTgsNyBAQAogCWVjaG8gIm5ldyBub3RlIG9uIDV0aCBjb21taXQiID4gLmdpdC9OT1RFU19NRVJHRV9XT1JLVFJFRS8kY29tbWl0X3NoYTUgJiYKIAkjIEZpbmFsaXplIG1lcmdlCiAJZ2l0IG5vdGVzIG1lcmdlIC0tY29tbWl0ICYmCi0JIyBObyAuZ2l0L05PVEVTX01FUkdFXyogZmlsZXMgbGVmdAotCXRlc3RfbWlnaHRfZmFpbCBscyAuZ2l0L05PVEVTX01FUkdFXyogPm91dHB1dCAyPi9kZXYvbnVsbCAmJgotCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXRwdXQgJiYKKwlub3Rlc19tZXJnZV9maWxlc19nb25lICYmCiAJIyBNZXJnZSBjb21taXQgaGFzIHByZS1tZXJnZSB5IGFuZCBwcmUtbWVyZ2UgeiBhcyBwYXJlbnRzCiAJdGVzdCAiJChnaXQgcmV2LXBhcnNlIHJlZnMvbm90ZXMvbV4xKSIgPSAiJChjYXQgcHJlX21lcmdlX3kpIiAmJgogCXRlc3QgIiQoZ2l0IHJldi1wYXJzZSByZWZzL25vdGVzL21eMikiID0gIiQoY2F0IHByZV9tZXJnZV96KSIgJiYKQEAgLTU1Myw5ICs1ODUsNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXNvbHZlIHNpdHVhdGlvbiBieSBhYm9ydGluZyB0aGUgbm90ZXMgbWVyZ2UnICcKIAlnaXQgbm90ZXMgbWVyZ2UgLS1hYm9ydCAmJgotCSMgTm8gLmdpdC9OT1RFU19NRVJHRV8qIGZpbGVzIGxlZnQKLQl0ZXN0X21pZ2h0X2ZhaWwgbHMgLmdpdC9OT1RFU19NRVJHRV8qID5vdXRwdXQgMj4vZGV2L251bGwgJiYKLQl0ZXN0X211c3RfYmVfZW1wdHkgb3V0cHV0ICYmCisJbm90ZXNfbWVyZ2VfZmlsZXNfZ29uZSAmJgogCSMgbSBoYXMgbm90IG1vdmVkIChzdGlsbCA9PSB3KQogCXRlc3QgIiQoZ2l0IHJldi1wYXJzZSByZWZzL25vdGVzL20pIiA9ICIkKGdpdCByZXYtcGFyc2UgcmVmcy9ub3Rlcy93KSIgJiYKIAkjIFZlcmlmeSB0aGF0IG90aGVyIG5vdGVzIHJlZnMgaGFzIG5vdCBjaGFuZ2VkICh3LCB4LCB5IGFuZCB6KQpkaWZmIC0tZ2l0IGEvdC90MzMxMS1ub3Rlcy1tZXJnZS1mYW5vdXQuc2ggYi90L3QzMzExLW5vdGVzLW1lcmdlLWZhbm91dC5zaAppbmRleCA5MzUxNmVmLi41YjY3NTQxIDEwMDc1NQotLS0gYS90L3QzMzExLW5vdGVzLW1lcmdlLWZhbm91dC5zaAorKysgYi90L3QzMzExLW5vdGVzLW1lcmdlLWZhbm91dC5zaApAQCAtMjksMTUgKzI5LDEwIEBACiAJZ2l0IGxzLXRyZWUgLXIgLS1uYW1lLW9ubHkgInJlZnMvbm90ZXMvJG5vdGVzX3JlZiIgfAogCXdoaWxlIHJlYWQgcGF0aAogCWRvCi0JCWNhc2UgIiRwYXRoIiBpbgotCQk/Py8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PykKLQkJCTogdHJ1ZQotCQkJOzsKLQkJKikKKwkJZWNobyAiJHBhdGgiIHwgZ3JlcCAiXi4uL1swLTlhLWZdKiQiIHx8IHsKIAkJCWVjaG8gIkludmFsaWQgcGF0aCBcIiRwYXRoXCIiICYmCi0JCQlyZXR1cm4gMQotCQkJOzsKLQkJZXNhYworCQkJcmV0dXJuIDE7CisJCX0KIAlkb25lCiB9CiAKQEAgLTQ4LDE1ICs0MywxMCBAQAogCWdpdCBscy10cmVlIC1yIC0tbmFtZS1vbmx5ICJyZWZzL25vdGVzLyRub3Rlc19yZWYiIHwKIAl3aGlsZSByZWFkIHBhdGgKIAlkbwotCQljYXNlICIkcGF0aCIgaW4KLQkJPz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PykKLQkJCTogdHJ1ZQotCQkJOzsKLQkJKikKKwkJZWNobyAiJHBhdGgiIHwgZ3JlcCAtdiAiXi4uLy4qIiB8fCB7CiAJCQllY2hvICJJbnZhbGlkIHBhdGggXCIkcGF0aFwiIiAmJgotCQkJcmV0dXJuIDEKLQkJCTs7Ci0JCWVzYWMKKwkJCXJldHVybiAxOworCQl9CiAJZG9uZQogfQogCkBAIC02Nyw3ICs1NywyNyBAQAogCWRvCiAJCXRlc3RfY29tbWl0ICJjb21taXQkaSIgPi9kZXYvbnVsbCAmJgogCQlnaXQgbm90ZXMgYWRkIC1tICJub3RlcyBmb3IgY29tbWl0JGkiIHx8IHJldHVybiAxCi0JZG9uZQorCWRvbmUgJiYKKworCWdpdCBsb2cgLS1mb3JtYXQ9b25lbGluZSAmJgorCisJdGVzdF9vaWRfY2FjaGUgPDwtRU9GCisJaGFzaDA1YSBzaGExOmFlZDkxMTU1YzdhNzJjMjE4OGU3ODFmZGY0MGUwZjM3NjFiMjk5ZGIKKwloYXNoMDRhIHNoYTE6OTlmYWIyNjhmOWQ3ZWU3YjAxMWUwOTFhNDM2Yzc4ZGVmOGVlZWU2OQorCWhhc2gwM2Egc2hhMTo5NTNjMjBhZTI2YzdhYTBiNDI4YzIwNjkzZmUzOGJjNjg3ZjlkMWE5CisJaGFzaDAyYSBzaGExOjYzNTg3OTYxMzFiODkxNmVhYTJkZGU2OTAyNjQyOTQyYTFjYjM3ZTEKKwloYXNoMDFhIHNoYTE6YjAyZDQ1OWMzMmYwZTY4ZjJmZTA5ODEwMzNiYjM0ZjM4Nzc2YmE0NworCWhhc2gwM2Igc2hhMTo5ZjUwNmVlNzBlMjAzNzlkN2Y3ODIwNGM3N2IzMzRmNDNkNzc0MTBkCisJaGFzaDAyYiBzaGExOjIzYTQ3ZDZlYTdkNTg5ODk1ZmFmODAwNzUyMDU0ODE4ZTFlNzYyN2IKKworCWhhc2gwNWEgc2hhMjU2OjNhYWU1ZDI2NjE5ZDk2ZGJhOTM3OTVmNjYzMjU3MTZlNGNiYzQ4Njg4NGY5NWE2YWRlZThmYjA2MTVhNzZkMTIKKwloYXNoMDRhIHNoYTI1NjowN2U0M2RkM2Q4OWZlNjM0ZDMyNTJlMjUzYjQyNmFhY2M3Mjg1YTk5NWRjZGJjZjk0YWMyODQwNjBhMTEyMmNmCisJaGFzaDAzYSBzaGEyNTY6MjZmYjUyZWFhN2Y0ODY2YmY3MzUyNTQ1ODdiZTdiMzEyMDllYzEwZTUyNTkxMmZmZDhlOGJhNTQ5YmE4OTJmZgorCWhhc2gwMmEgc2hhMjU2OmI1N2ViZGYyMzYzNGU3NTBkY2JjNGI5YTM3OTkxZDcwZjkwODMwZDU2OGEwZTQ1MjljZTlkZTBhM2Y4ZDYwNWMKKwloYXNoMDFhIHNoYTI1NjozNzc5MDNiMTU3MmJkNTExNzA4N2E1NTE4ZmNiMTAxMWI1MDUzY2NjYmM1OWUzYzdjODIzYTg2MTUyMDQxNzNiCisJaGFzaDAzYiBzaGEyNTY6MDRlN2IzOTJmZGE3YzE4NWJmYTE3YzkxNzliNTZkYjczMmVkYzJkYzJiM2JmODg3MzA4ZGNhYWJiNzE3MjcwZAorCWhhc2gwMmIgc2hhMjU2OjY2MDk5YWFhZWM0OWE0ODVlZDk5MGFjYWRkOWE5YjgxMjMyZWE1OTIwNzk5NjQxMTNkOGY1ODFmZjY5ZWY1MGIKKwlFT0YKICcKIAogY29tbWl0X3NoYTE9JChnaXQgcmV2LXBhcnNlIGNvbW1pdDFee2NvbW1pdH0pCkBAIC03NywxMSArODcsMTEgQEAKIGNvbW1pdF9zaGE1PSQoZ2l0IHJldi1wYXJzZSBjb21taXQ1Xntjb21taXR9KQogCiBjYXQgPDxFT0YgfCBzb3J0ID5leHBlY3Rfbm90ZXNfeAotYWVkOTExNTVjN2E3MmMyMTg4ZTc4MWZkZjQwZTBmMzc2MWIyOTlkYiAkY29tbWl0X3NoYTUKLTk5ZmFiMjY4ZjlkN2VlN2IwMTFlMDkxYTQzNmM3OGRlZjhlZWVlNjkgJGNvbW1pdF9zaGE0Ci05NTNjMjBhZTI2YzdhYTBiNDI4YzIwNjkzZmUzOGJjNjg3ZjlkMWE5ICRjb21taXRfc2hhMwotNjM1ODc5NjEzMWI4OTE2ZWFhMmRkZTY5MDI2NDI5NDJhMWNiMzdlMSAkY29tbWl0X3NoYTIKLWIwMmQ0NTljMzJmMGU2OGYyZmUwOTgxMDMzYmIzNGYzODc3NmJhNDcgJGNvbW1pdF9zaGExCiskKHRlc3Rfb2lkIGhhc2gwNWEpICRjb21taXRfc2hhNQorJCh0ZXN0X29pZCBoYXNoMDRhKSAkY29tbWl0X3NoYTQKKyQodGVzdF9vaWQgaGFzaDAzYSkgJGNvbW1pdF9zaGEzCiskKHRlc3Rfb2lkIGhhc2gwMmEpICRjb21taXRfc2hhMgorJCh0ZXN0X29pZCBoYXNoMDFhKSAkY29tbWl0X3NoYTEKIEVPRgogCiBjYXQgPmV4cGVjdF9sb2dfeCA8PEVPRgpAQCAtMTE0LDEyICsxMjQsMTIgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0FkZCBhIGZldyBodW5kcmVkIGNvbW1pdHMgdy9ub3RlcyB0byB0cmlnZ2VyIGZhbm91dCAoeCAtPiB5KScgJwogCWdpdCB1cGRhdGUtcmVmIHJlZnMvbm90ZXMveSByZWZzL25vdGVzL3ggJiYKIAlnaXQgY29uZmlnIGNvcmUubm90ZXNSZWYgcmVmcy9ub3Rlcy95ICYmCi0JaT01ICYmCi0Jd2hpbGUgdGVzdCAkaSAtbHQgJG51bQorCXRlc3RfY29tbWl0X2J1bGsgLS1zdGFydD02IC0taWQ9Y29tbWl0ICQoKG51bSAtIDUpKSAmJgorCWk9MCAmJgorCXdoaWxlIHRlc3QgJGkgLWx0ICQoKG51bSAtIDUpKQogCWRvCi0JCWk9JCgoJGkgKyAxKSkgJiYKLQkJdGVzdF9jb21taXQgImNvbW1pdCRpIiA+L2Rldi9udWxsICYmCi0JCWdpdCBub3RlcyBhZGQgLW0gIm5vdGVzIGZvciBjb21taXQkaSIgfHwgcmV0dXJuIDEKKwkJZ2l0IG5vdGVzIGFkZCAtbSAibm90ZXMgZm9yIGNvbW1pdCRpIiBIRUFEfiRpIHx8IHJldHVybiAxCisJCWk9JCgoaSArIDEpKQogCWRvbmUgJiYKIAl0ZXN0ICIkKGdpdCByZXYtcGFyc2UgcmVmcy9ub3Rlcy95KSIgIT0gIiQoZ2l0IHJldi1wYXJzZSByZWZzL25vdGVzL3gpIiAmJgogCSMgRXhwZWN0ZWQgbnVtYmVyIG9mIGNvbW1pdHMgYW5kIG5vdGVzCkBAIC0xNDUsOSArMTU1LDkgQEAKICcKIAogY2F0IDw8RU9GIHwgc29ydCA+ZXhwZWN0X25vdGVzX3oKLTlmNTA2ZWU3MGUyMDM3OWQ3Zjc4MjA0Yzc3YjMzNGY0M2Q3NzQxMGQgJGNvbW1pdF9zaGEzCi0yM2E0N2Q2ZWE3ZDU4OTg5NWZhZjgwMDc1MjA1NDgxOGUxZTc2MjdiICRjb21taXRfc2hhMgotYjAyZDQ1OWMzMmYwZTY4ZjJmZTA5ODEwMzNiYjM0ZjM4Nzc2YmE0NyAkY29tbWl0X3NoYTEKKyQodGVzdF9vaWQgaGFzaDAzYikgJGNvbW1pdF9zaGEzCiskKHRlc3Rfb2lkIGhhc2gwMmIpICRjb21taXRfc2hhMgorJCh0ZXN0X29pZCBoYXNoMDFhKSAkY29tbWl0X3NoYTEKIEVPRgogCiBjYXQgPmV4cGVjdF9sb2dfeiA8PEVPRgpkaWZmIC0tZ2l0IGEvdC90MzQwMC1yZWJhc2Uuc2ggYi90L3QzNDAwLXJlYmFzZS5zaAppbmRleCAzZTczZjc1Li40MGQyOTc1IDEwMDc1NQotLS0gYS90L3QzNDAwLXJlYmFzZS5zaAorKysgYi90L3QzNDAwLXJlYmFzZS5zaApAQCAtNTksNiArNTksMTQgQEAKIAlnaXQgcmViYXNlIG1hc3RlcgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2Ugc2V0cyBPUklHX0hFQUQgdG8gcHJlLXJlYmFzZSBzdGF0ZScgJworCWdpdCBjaGVja291dCAtYiBvcmlnLWhlYWQgdG9waWMgJiYKKwlwcmU9IiQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKSIgJiYKKwlnaXQgcmViYXNlIG1hc3RlciAmJgorCXRlc3RfY21wX3JldiAiJHByZSIgT1JJR19IRUFEICYmCisJdGVzdF9jbXBfcmV2ICEgIiRwcmUiIEhFQUQKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlLCB3aXRoIDxvbnRvPiBhbmQgPHVwc3RyZWFtPiBzcGVjaWZpZWQgYXMgOi9xdXV4ZXJ5JyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgYnJhbmNoIC1EIHRvcmViYXNlIiAmJgogCWdpdCBjaGVja291dCAtYiB0b3JlYmFzZSBteS10b3BpYy1icmFuY2heICYmCkBAIC0xMzUsMTEgKzE0MywxMSBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdTaG93IHZlcmJvc2UgZXJyb3Igd2hlbiBIRUFEIGNvdWxkIG5vdCBiZSBkZXRhY2hlZCcgJwogCT5CICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBCIiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgdG9waWMgMj5vdXRwdXQuZXJyID5vdXRwdXQub3V0ICYmCiAJdGVzdF9pMThuZ3JlcCAiVGhlIGZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IGNoZWNrb3V0OiIgb3V0cHV0LmVyciAmJgogCXRlc3RfaTE4bmdyZXAgQiBvdXRwdXQuZXJyCiAnCi1ybSAtZiBCCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZhaWwgd2hlbiB1cHN0cmVhbSBhcmcgaXMgbWlzc2luZyBhbmQgbm90IG9uIGJyYW5jaCcgJwogCWdpdCBjaGVja291dCB0b3BpYyAmJgpAQCAtMTUxLDE5ICsxNTksNDMgQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RlZmF1bHQgdG8gY29tbW9uIGJhc2UgaW4gQHt1cHN0cmVhbX1zIHJlZmxvZyBpZiBubyB1cHN0cmVhbSBhcmcnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSB3b3JrcyB3aXRoIGZvcm1hdC51c2VBdXRvQmFzZScgJworCXRlc3RfY29uZmlnIGZvcm1hdC51c2VBdXRvQmFzZSB0cnVlICYmCisJZ2l0IGNoZWNrb3V0IHRvcGljICYmCisJZ2l0IHJlYmFzZSBtYXN0ZXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVmYXVsdCB0byBjb21tb24gYmFzZSBpbiBAe3Vwc3RyZWFtfXMgcmVmbG9nIGlmIG5vIHVwc3RyZWFtIGFyZyAoLS1tZXJnZSknICcKIAlnaXQgY2hlY2tvdXQgLWIgZGVmYXVsdC1iYXNlIG1hc3RlciAmJgogCWdpdCBjaGVja291dCAtYiBkZWZhdWx0IHRvcGljICYmCiAJZ2l0IGNvbmZpZyBicmFuY2guZGVmYXVsdC5yZW1vdGUgLiAmJgogCWdpdCBjb25maWcgYnJhbmNoLmRlZmF1bHQubWVyZ2UgcmVmcy9oZWFkcy9kZWZhdWx0LWJhc2UgJiYKLQlnaXQgcmViYXNlICYmCisJZ2l0IHJlYmFzZSAtLW1lcmdlICYmCiAJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBkZWZhdWx0LWJhc2UgPmV4cGVjdCAmJgogCWdpdCByZXYtcGFyc2UgZGVmYXVsdH4xID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCiAJZ2l0IGNoZWNrb3V0IGRlZmF1bHQtYmFzZSAmJgogCWdpdCByZXNldCAtLWhhcmQgSEVBRF4gJiYKIAlnaXQgY2hlY2tvdXQgZGVmYXVsdCAmJgotCWdpdCByZWJhc2UgJiYKKwlnaXQgcmViYXNlIC0tbWVyZ2UgJiYKKwlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IGRlZmF1bHQtYmFzZSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSBkZWZhdWx0fjEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVmYXVsdCB0byBjb21tb24gYmFzZSBpbiBAe3Vwc3RyZWFtfXMgcmVmbG9nIGlmIG5vIHVwc3RyZWFtIGFyZyAoLS1hcHBseSknICcKKwlnaXQgY2hlY2tvdXQgLUIgZGVmYXVsdC1iYXNlIG1hc3RlciAmJgorCWdpdCBjaGVja291dCAtQiBkZWZhdWx0IHRvcGljICYmCisJZ2l0IGNvbmZpZyBicmFuY2guZGVmYXVsdC5yZW1vdGUgLiAmJgorCWdpdCBjb25maWcgYnJhbmNoLmRlZmF1bHQubWVyZ2UgcmVmcy9oZWFkcy9kZWZhdWx0LWJhc2UgJiYKKwlnaXQgcmViYXNlIC0tYXBwbHkgJiYKKwlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IGRlZmF1bHQtYmFzZSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1wYXJzZSBkZWZhdWx0fjEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgY2hlY2tvdXQgZGVmYXVsdC1iYXNlICYmCisJZ2l0IHJlc2V0IC0taGFyZCBIRUFEXiAmJgorCWdpdCBjaGVja291dCBkZWZhdWx0ICYmCisJZ2l0IHJlYmFzZSAtLWFwcGx5ICYmCiAJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBkZWZhdWx0LWJhc2UgPmV4cGVjdCAmJgogCWdpdCByZXYtcGFyc2UgZGVmYXVsdH4xID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCkBAIC0xOTIsOSArMjI0LDE1IEBACiAJdGVzdF9jbXAgZXhwZWN0IEQKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC1xIGlzIHF1aWV0JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLS1hcHBseSAtcSBpcyBxdWlldCcgJwogCWdpdCBjaGVja291dCAtYiBxdWlldCB0b3BpYyAmJgotCWdpdCByZWJhc2UgLXEgbWFzdGVyID5vdXRwdXQub3V0IDI+JjEgJiYKKwlnaXQgcmViYXNlIC0tYXBwbHkgLXEgbWFzdGVyID5vdXRwdXQub3V0IDI+JjEgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgb3V0cHV0Lm91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLS1tZXJnZSAtcSBpcyBxdWlldCcgJworCWdpdCBjaGVja291dCAtQiBxdWlldCB0b3BpYyAmJgorCWdpdCByZWJhc2UgLS1tZXJnZSAtcSBtYXN0ZXIgPm91dHB1dC5vdXQgMj4mMSAmJgogCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXRwdXQub3V0CiAnCiAKQEAgLTI3Nyw3ICszMTUsNyBAQAogCXRlc3RfY21wIEZyb21fLm1zZyBvdXQKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlLS1hbS5zaCBhbmQgLS1zaG93LWN1cnJlbnQtcGF0Y2gnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtLWFwcGx5IGFuZCAtLXNob3ctY3VycmVudC1wYXRjaCcgJwogCXRlc3RfY3JlYXRlX3JlcG8gY29uZmxpY3QtYXBwbHkgJiYKIAkoCiAJCWNkIGNvbmZsaWN0LWFwcGx5ICYmCkBAIC0yODcsMTIgKzMyNSw0OCBAQAogCQllY2hvIHR3byA+PmluaXQudCAmJgogCQlnaXQgY29tbWl0IC1hIC1tIHR3byAmJgogCQlnaXQgdGFnIHR3byAmJgotCQl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC0tb250byBpbml0IEhFQUReICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLS1hcHBseSAtZiAtLW9udG8gaW5pdCBIRUFEXiAmJgogCQlHSVRfVFJBQ0U9MSBnaXQgcmViYXNlIC0tc2hvdy1jdXJyZW50LXBhdGNoID4vZGV2L251bGwgMj5zdGRlcnIgJiYKIAkJZ3JlcCAic2hvdy4qJChnaXQgcmV2LXBhcnNlIHR3bykiIHN0ZGVycgogCSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC0tYXBwbHkgYW5kIC5naXRhdHRyaWJ1dGVzJyAnCisJdGVzdF9jcmVhdGVfcmVwbyBhdHRyaWJ1dGVzICYmCisJKAorCQljZCBhdHRyaWJ1dGVzICYmCisJCXRlc3RfY29tbWl0IGluaXQgJiYKKwkJZ2l0IGNvbmZpZyBmaWx0ZXIudGVzdC5jbGVhbiAic2VkIC1lICdcJydzL3NtdWRnZWQvY2xlYW4vZydcJyciICYmCisJCWdpdCBjb25maWcgZmlsdGVyLnRlc3Quc211ZGdlICJzZWQgLWUgJ1wnJ3MvY2xlYW4vc211ZGdlZC9nJ1wnJyIgJiYKKworCQl0ZXN0X2NvbW1pdCBzZWNvbmQgJiYKKwkJZ2l0IGNoZWNrb3V0IC1iIHRlc3QgSEVBRF4gJiYKKworCQllY2hvICIqLnR4dCBmaWx0ZXI9dGVzdCIgPi5naXRhdHRyaWJ1dGVzICYmCisJCWdpdCBhZGQgLmdpdGF0dHJpYnV0ZXMgJiYKKwkJdGVzdF9jb21taXQgdGhpcmQgJiYKKworCQllY2hvICJUaGlzIHRleHQgaXMgc211ZGdlZC4iID5hLnR4dCAmJgorCQlnaXQgYWRkIGEudHh0ICYmCisJCXRlc3RfY29tbWl0IGZvdXJ0aCAmJgorCisJCWdpdCBjaGVja291dCAtYiByZW1vdmFsIEhFQUReICYmCisJCWdpdCBybSAuZ2l0YXR0cmlidXRlcyAmJgorCQlnaXQgYWRkIC11ICYmCisJCXRlc3RfY29tbWl0IGZpZnRoICYmCisJCWdpdCBjaGVycnktcGljayB0ZXN0ICYmCisKKwkJZ2l0IGNoZWNrb3V0IHRlc3QgJiYKKwkJZ2l0IHJlYmFzZSBtYXN0ZXIgJiYKKwkJZ3JlcCAic211ZGdlZCIgYS50eHQgJiYKKworCQlnaXQgY2hlY2tvdXQgcmVtb3ZhbCAmJgorCQlnaXQgcmVzZXQgLS1oYXJkICYmCisJCWdpdCByZWJhc2UgbWFzdGVyICYmCisJCWdyZXAgImNsZWFuIiBhLnR4dAorCSkKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlLS1tZXJnZS5zaCBhbmQgLS1zaG93LWN1cnJlbnQtcGF0Y2gnICcKIAl0ZXN0X2NyZWF0ZV9yZXBvIGNvbmZsaWN0LW1lcmdlICYmCiAJKApAQCAtMzExLDQgKzM4NSwzOCBAQAogCSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC1jIHJlYmFzZS51c2VCdWlsdGluPWZhbHNlIHdhcm5pbmcnICcKKwlleHBlY3RlZD0icmViYXNlLnVzZUJ1aWx0aW4gc3VwcG9ydCBoYXMgYmVlbiByZW1vdmVkIiAmJgorCisJIyBPbmx5IHdhcm4gd2hlbiB0aGUgbGVnYWN5IHJlYmFzZSBpcyByZXF1ZXN0ZWQuLi4KKwl0ZXN0X211c3RfZmFpbCBnaXQgLWMgcmViYXNlLnVzZUJ1aWx0aW49ZmFsc2UgcmViYXNlIDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAiJGV4cGVjdGVkIiBlcnIgJiYKKwl0ZXN0X211c3RfZmFpbCBlbnYgR0lUX1RFU1RfUkVCQVNFX1VTRV9CVUlMVElOPWZhbHNlIGdpdCByZWJhc2UgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICIkZXhwZWN0ZWQiIGVyciAmJgorCisJIyAuLi5ub3Qgd2hlbiB3ZSB3b3VsZCBoYXZlIHVzZWQgdGhlIGJ1aWx0LWluIGFueXdheQorCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyByZWJhc2UudXNlQnVpbHRpbj10cnVlIHJlYmFzZSAyPmVyciAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIgJiYKKwl0ZXN0X211c3RfZmFpbCBlbnYgR0lUX1RFU1RfUkVCQVNFX1VTRV9CVUlMVElOPXRydWUgZ2l0IHJlYmFzZSAyPmVyciAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3dpdGNoIHRvIGJyYW5jaCBjaGVja2VkIG91dCBoZXJlJyAnCisJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCWdpdCByZWJhc2UgbWFzdGVyIG1hc3RlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzd2l0Y2ggdG8gYnJhbmNoIG5vdCBjaGVja2VkIG91dCcgJworCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwlnaXQgYnJhbmNoIG90aGVyICYmCisJZ2l0IHJlYmFzZSBtYXN0ZXIgb3RoZXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVmdXNlIHRvIHN3aXRjaCB0byBicmFuY2ggY2hlY2tlZCBvdXQgZWxzZXdoZXJlJyAnCisJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCWdpdCB3b3JrdHJlZSBhZGQgd3QgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgd3QgcmViYXNlIG1hc3RlciBtYXN0ZXIgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICJhbHJlYWR5IGNoZWNrZWQgb3V0IiBlcnIKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzNDAxLXJlYmFzZS1hbmQtYW0tcmVuYW1lLnNoIGIvdC90MzQwMS1yZWJhc2UtYW5kLWFtLXJlbmFtZS5zaAppbmRleCBlMGI1MTExLi5mMThiYWU5IDEwMDc1NQotLS0gYS90L3QzNDAxLXJlYmFzZS1hbmQtYW0tcmVuYW1lLnNoCisrKyBiL3QvdDM0MDEtcmViYXNlLWFuZC1hbS1yZW5hbWUuc2gKQEAgLTQyLDcgKzQyLDcgQEAKIAkJZ2l0IGNoZWNrb3V0IEJeMCAmJgogCiAJCXNldF9mYWtlX2VkaXRvciAmJgotCQlGQUtFX0xJTkVTPSIxIiBnaXQgcmViYXNlIC0taW50ZXJhY3RpdmUgQSAmJgorCQlGQUtFX0xJTkVTPSIxIiBnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIHJlYmFzZSAtLWludGVyYWN0aXZlIEEgJiYKIAogCQlnaXQgbHMtZmlsZXMgLXMgPm91dCAmJgogCQl0ZXN0X2xpbmVfY291bnQgPSA1IG91dCAmJgpAQCAtNTIsMTMgKzUyLDEzIEBACiAJKQogJwogCi10ZXN0X2V4cGVjdF9mYWlsdXJlICdyZWJhc2UgKGFtKTogZGlyZWN0b3J5IHJlbmFtZSBkZXRlY3RlZCcgJwordGVzdF9leHBlY3RfZmFpbHVyZSAncmViYXNlIC0tYXBwbHk6IGRpcmVjdG9yeSByZW5hbWUgZGV0ZWN0ZWQnICcKIAkoCiAJCWNkIGRpci1yZW5hbWUgJiYKIAogCQlnaXQgY2hlY2tvdXQgQl4wICYmCiAKLQkJZ2l0IHJlYmFzZSBBICYmCisJCWdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgcmViYXNlIC0tYXBwbHkgQSAmJgogCiAJCWdpdCBscy1maWxlcyAtcyA+b3V0ICYmCiAJCXRlc3RfbGluZV9jb3VudCA9IDUgb3V0ICYmCkBAIC03NCw3ICs3NCw3IEBACiAKIAkJZ2l0IGNoZWNrb3V0IEJeMCAmJgogCi0JCWdpdCByZWJhc2UgLS1tZXJnZSBBICYmCisJCWdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgcmViYXNlIC0tbWVyZ2UgQSAmJgogCiAJCWdpdCBscy1maWxlcyAtcyA+b3V0ICYmCiAJCXRlc3RfbGluZV9jb3VudCA9IDUgb3V0ICYmCkBAIC05Miw3ICs5Miw3IEBACiAKIAkJZ2l0IGZvcm1hdC1wYXRjaCAtMSBCICYmCiAKLQkJZ2l0IGFtIC0tM3dheSAwMDAxKi5wYXRjaCAmJgorCQlnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIGFtIC0tM3dheSAwMDAxKi5wYXRjaCAmJgogCiAJCWdpdCBscy1maWxlcyAtcyA+b3V0ICYmCiAJCXRlc3RfbGluZV9jb3VudCA9IDUgb3V0ICYmCmRpZmYgLS1naXQgYS90L3QzNDAzLXJlYmFzZS1za2lwLnNoIGIvdC90MzQwMy1yZWJhc2Utc2tpcC5zaAppbmRleCAxZjUxMjJiLi5lZThhOGRiIDEwMDc1NQotLS0gYS90L3QzNDAzLXJlYmFzZS1za2lwLnNoCisrKyBiL3QvdDM0MDMtcmViYXNlLXNraXAuc2gKQEAgLTcsNiArNyw4IEBACiAKIC4gLi90ZXN0LWxpYi5zaAogCisuICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1yZWJhc2Uuc2gKKwogIyB3ZSBhc3N1bWUgdGhlIGRlZmF1bHQgZ2l0IGFtIC0zIC0tc2tpcCBzdHJhdGVneSBpcyB0ZXN0ZWQgaW5kZXBlbmRlbnRseQogIyBhbmQgYWx3YXlzIHdvcmtzIDopCiAKQEAgLTIwLDYgKzIyLDEzIEBACiAJZ2l0IGNvbW1pdCAtYSAtbSAiaGVsbG8gd29ybGQiICYmCiAJZWNobyBnb29kYnllID4+IGhlbGxvICYmCiAJZ2l0IGNvbW1pdCAtYSAtbSAiZ29vZGJ5ZSIgJiYKKwlnaXQgdGFnIGdvb2RieWUgJiYKKworCWdpdCBjaGVja291dCAtLWRldGFjaCAmJgorCWdpdCBjaGVja291dCBIRUFEXiAuICYmCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtbSByZXZlcnRlZC1nb29kYnllICYmCisJZ2l0IHRhZyByZXZlcnRlZC1nb29kYnllICYmCiAKIAlnaXQgY2hlY2tvdXQgLWYgc2tpcC1yZWZlcmVuY2UgJiYKIAllY2hvIG1vbyA+IGhlbGxvICYmCkBAIC03Niw0ICs4NSwyNyBAQAogCiB0ZXN0X2RlYnVnICdnaXRrIC0tYWxsICYgc2xlZXAgMScKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZml4dXAgdGhhdCBlbXB0aWVzIGNvbW1pdCBmYWlscycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlYmFzZSAtLWFib3J0IiAmJgorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0xJTkVTPSIxIGZpeHVwIDIiIGdpdCByZWJhc2UgLWkgXAorCQkJZ29vZGJ5ZV4gcmV2ZXJ0ZWQtZ29vZGJ5ZQorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3F1YXNoIHRoYXQgZW1wdGllcyBjb21taXQgZmFpbHMnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZWJhc2UgLS1hYm9ydCIgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQl0ZXN0X211c3RfZmFpbCBlbnYgRkFLRV9MSU5FUz0iMSBzcXVhc2ggMiIgZ2l0IHJlYmFzZSAtaSBcCisJCQlnb29kYnllXiByZXZlcnRlZC1nb29kYnllCisJKQorJworCisjIE11c3QgYmUgdGhlIGxhc3QgdGVzdCBpbiB0aGlzIGZpbGUKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyRFRElUT1IgYW5kIGZyaWVuZHMgYXJlIHVuY2hhbmdlZCcgJworCXRlc3RfZWRpdG9yX3VuY2hhbmdlZAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDM0MDQtcmViYXNlLWludGVyYWN0aXZlLnNoIGIvdC90MzQwNC1yZWJhc2UtaW50ZXJhY3RpdmUuc2gKaW5kZXggN2E0NDBlMC4uYzVjZTNhYiAxMDA3NTUKLS0tIGEvdC90MzQwNC1yZWJhc2UtaW50ZXJhY3RpdmUuc2gKKysrIGIvdC90MzQwNC1yZWJhc2UtaW50ZXJhY3RpdmUuc2gKQEAgLTI5LDkgKzI5LDYgQEAKIAogLiAiJFRFU1RfRElSRUNUT1JZIi9saWItcmViYXNlLnNoCiAKLSMgV0FSTklORzogTW9kaWZpY2F0aW9ucyB0byB0aGUgaW5pdGlhbCByZXBvc2l0b3J5IGNhbiBjaGFuZ2UgdGhlIFNIQSBJRCB1c2VkCi0jIGluIHRoZSBleHBlY3QyIGZpbGUgZm9yIHRoZSAnc3RvcCBvbiBjb25mbGljdGluZyBwaWNrJyB0ZXN0LgotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJwogCXRlc3RfY29tbWl0IEEgZmlsZTEgJiYKIAl0ZXN0X2NvbW1pdCBCIGZpbGUxICYmCkBAIC03NSwxMyArNzIsMTYgQEAKIAl0ZXN0X2xpbmVfY291bnQgPSA2IGFjdHVhbAogJwogCi1jYXQgPiBleHBlY3QgPDxFT0YKLWVycm9yOiBub3RoaW5nIHRvIGRvCi1FT0YKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC1pIHdpdGggZW1wdHkgSEVBRCcgJwotCXNldF9mYWtlX2VkaXRvciAmJgotCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0xJTkVTPSIxIGV4ZWNfdHJ1ZSIgZ2l0IHJlYmFzZSAtaSBIRUFEXiA+YWN0dWFsIDI+JjEgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtaSB3aXRoIGVtcHR5IHRvZG8gbGlzdCcgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwllcnJvcjogbm90aGluZyB0byBkbworCUVPRgorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0xJTkVTPSIjIiBcCisJCQlnaXQgcmViYXNlIC1pIEhFQUReID5vdXRwdXQgMj4mMQorCSkgJiYKKwl0YWlsIC1uIDEgb3V0cHV0ID5hY3R1YWwgJiYgICMgSWdub3JlIG91dHB1dCBhYm91dCBjaGFuZ2luZyB0b2RvIGxpc3QKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAogJwogCkBAIC0xNDAsMjUgKzE0MCw1MSBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLWkgd2l0aCB0aGUgZXhlYyBjb21tYW5kIGNoZWNrcyB0cmVlIGNsZWFubmVzcycgJwogCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQl0ZXN0X211c3RfZmFpbCBlbnYgRkFLRV9MSU5FUz0iZXhlY19lY2hvX2Zvb18+ZmlsZTEgMSIgZ2l0IHJlYmFzZSAtaSBIRUFEXiAmJgorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0xJTkVTPSJleGVjX2VjaG9fZm9vXz5maWxlMSAxIiBcCisJCQlnaXQgcmViYXNlIC1pIEhFQUReCisJKSAmJgogCXRlc3RfY21wX3JldiBtYXN0ZXJeIEhFQUQgJiYKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAteCB3aXRoIGVtcHR5IGNvbW1hbmQgZmFpbHMnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZWJhc2UgLS1hYm9ydCB8fDoiICYmCisJdGVzdF9tdXN0X2ZhaWwgZW52IGdpdCByZWJhc2UgLXggIiIgQCAyPmFjdHVhbCAmJgorCXRlc3Rfd3JpdGVfbGluZXMgImVycm9yOiBlbXB0eSBleGVjIGNvbW1hbmQiID5leHBlY3RlZCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwgJiYKKwl0ZXN0X211c3RfZmFpbCBlbnYgZ2l0IHJlYmFzZSAteCAiICIgQCAyPmFjdHVhbCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC14IHdpdGggbmV3bGluZSBpbiBjb21tYW5kIGZhaWxzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmViYXNlIC0tYWJvcnQgfHw6IiAmJgorCXRlc3RfbXVzdF9mYWlsIGVudiBnaXQgcmViYXNlIC14ICJhJHtMRn1iIiBAIDI+YWN0dWFsICYmCisJdGVzdF93cml0ZV9saW5lcyAiZXJyb3I6IGV4ZWMgY29tbWFuZHMgY2Fubm90IGNvbnRhaW4gbmV3bGluZXMiIFwKKwkJCSA+ZXhwZWN0ZWQgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtaSB3aXRoIGV4ZWMgb2YgaW5leGlzdGVudCBjb21tYW5kJyAnCiAJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlYmFzZSAtLWFib3J0IiAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0xJTkVTPSJleGVjX3RoaXMtY29tbWFuZC1kb2VzLW5vdC1leGlzdCAxIiBcCi0JZ2l0IHJlYmFzZSAtaSBIRUFEXiA+YWN0dWFsIDI+JjEgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQl0ZXN0X211c3RfZmFpbCBlbnYgRkFLRV9MSU5FUz0iZXhlY190aGlzLWNvbW1hbmQtZG9lcy1ub3QtZXhpc3QgMSIgXAorCQkJZ2l0IHJlYmFzZSAtaSBIRUFEXiA+YWN0dWFsIDI+JjEKKwkpICYmCiAJISBncmVwICJNYXliZSBnaXQtcmViYXNlIGlzIGJyb2tlbiIgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ltcGxpY2l0IGludGVyYWN0aXZlIHJlYmFzZSBkb2VzIG5vdCBpbnZva2Ugc2VxdWVuY2UgZWRpdG9yJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmViYXNlIC0tYWJvcnQgfHw6IiAmJgorCUdJVF9TRVFVRU5DRV9FRElUT1I9ImVjaG8gYmFkID4iIGdpdCByZWJhc2UgLXgiZWNobyBvbmUiIEBeCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vIGNoYW5nZXMgYXJlIGEgbm9wJyAnCiAJZ2l0IGNoZWNrb3V0IGJyYW5jaDIgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKIAlnaXQgcmViYXNlIC1pIEYgJiYKIAl0ZXN0ICIkKGdpdCBzeW1ib2xpYy1yZWYgLXEgSEVBRCkiID0gInJlZnMvaGVhZHMvYnJhbmNoMiIgJiYKIAl0ZXN0ICQoZ2l0IHJldi1wYXJzZSBJKSA9ICQoZ2l0IHJldi1wYXJzZSBIRUFEKQpAQCAtMTY4LDcgKzE5NCw2IEBACiAJZ2l0IGNoZWNrb3V0IC1iIGRlYWQtZW5kICYmCiAJZ2l0IHJtIGZpbGU2ICYmCiAJZ2l0IGNvbW1pdCAtbSAic3RvcCBoZXJlIiAmJgotCXNldF9mYWtlX2VkaXRvciAmJgogCWdpdCByZWJhc2UgLWkgRiBicmFuY2gyICYmCiAJdGVzdCAiJChnaXQgc3ltYm9saWMtcmVmIC1xIEhFQUQpIiA9ICJyZWZzL2hlYWRzL2JyYW5jaDIiICYmCiAJdGVzdCAkKGdpdCByZXYtcGFyc2UgSSkgPSAkKGdpdCByZXYtcGFyc2UgYnJhbmNoMikgJiYKQEAgLTE3Nyw3ICsyMDIsNiBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IC0tb250byA8YnJhbmNoPicgJwogCWdpdCBjaGVja291dCAtYiB0ZXN0LW9udG8gYnJhbmNoMiAmJgotCXNldF9mYWtlX2VkaXRvciAmJgogCWdpdCByZWJhc2UgLWkgLS1vbnRvIGJyYW5jaDEgRiAmJgogCXRlc3QgIiQoZ2l0IHN5bWJvbGljLXJlZiAtcSBIRUFEKSIgPSAicmVmcy9oZWFkcy90ZXN0LW9udG8iICYmCiAJdGVzdCAkKGdpdCByZXYtcGFyc2UgSEVBRF4pID0gJChnaXQgcmV2LXBhcnNlIGJyYW5jaDEpICYmCkBAIC0xODcsNyArMjExLDYgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSBvbiB0b3Agb2YgYSBub24tY29uZmxpY3RpbmcgY29tbWl0JyAnCiAJZ2l0IGNoZWNrb3V0IGJyYW5jaDEgJiYKIAlnaXQgdGFnIG9yaWdpbmFsLWJyYW5jaDEgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKIAlnaXQgcmViYXNlIC1pIGJyYW5jaDIgJiYKIAl0ZXN0IGZpbGU2ID0gJChnaXQgZGlmZiAtLW5hbWUtb25seSBvcmlnaW5hbC1icmFuY2gxKSAmJgogCXRlc3QgIiQoZ2l0IHN5bWJvbGljLXJlZiAtcSBIRUFEKSIgPSAicmVmcy9oZWFkcy9icmFuY2gxIiAmJgpAQCAtMjAwLDQwICsyMjMsNDIgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVmbG9nIGZvciB0aGUgYnJhbmNoIHNob3dzIGNvcnJlY3QgZmluaXNoIG1lc3NhZ2UnICcKLQlwcmludGYgInJlYmFzZSAtaSAoZmluaXNoKTogcmVmcy9oZWFkcy9icmFuY2gxIG9udG8gJXNcbiIgXAorCXByaW50ZiAicmViYXNlIChmaW5pc2gpOiByZWZzL2hlYWRzL2JyYW5jaDEgb250byAlc1xuIiBcCiAJCSIkKGdpdCByZXYtcGFyc2UgYnJhbmNoMikiID5leHBlY3RlZCAmJgogCWdpdCBsb2cgLWcgLS1wcmV0dHk9JWdzIC0xIHJlZnMvaGVhZHMvYnJhbmNoMSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2V4Y2hhbmdlIHR3byBjb21taXRzJyAnCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JRkFLRV9MSU5FUz0iMiAxIiBnaXQgcmViYXNlIC1pIEhFQUR+MiAmJgorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCUZBS0VfTElORVM9IjIgMSIgZ2l0IHJlYmFzZSAtaSBIRUFEfjIKKwkpICYmCiAJdGVzdCBIID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUReIHwgc2VkIC1uZSBcJHApICYmCi0JdGVzdCBHID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBzZWQgLW5lIFwkcCkKKwl0ZXN0IEcgPSAkKGdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCB8IHNlZCAtbmUgXCRwKSAmJgorCWJsb2IxPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IEhFQUReOmZpbGUxKSAmJgorCWJsb2IyPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IEhFQUQ6ZmlsZTEpICYmCisJY29tbWl0PSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IEhFQUQpCiAnCiAKLWNhdCA+IGV4cGVjdCA8PCBFT0YKLWRpZmYgLS1naXQgYS9maWxlMSBiL2ZpbGUxCi1pbmRleCBmNzBmMTBlLi5mZDc5MjM1IDEwMDY0NAotLS0tIGEvZmlsZTEKLSsrKyBiL2ZpbGUxCi1AQCAtMSArMSBAQAotLUEKLStHCi1FT0YKLQotY2F0ID4gZXhwZWN0MiA8PCBFT0YKLTw8PDw8PDwgSEVBRAotRAotPT09PT09PQotRwotPj4+Pj4+PiA1ZDE4ZTU0Li4uIEcKLUVPRgotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdG9wIG9uIGNvbmZsaWN0aW5nIHBpY2snICcKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwlkaWZmIC0tZ2l0IGEvZmlsZTEgYi9maWxlMQorCWluZGV4ICRibG9iMS4uJGJsb2IyIDEwMDY0NAorCS0tLSBhL2ZpbGUxCisJKysrIGIvZmlsZTEKKwlAQCAtMSArMSBAQAorCS1BCisJK0cKKwlFT0YKKwljYXQgPmV4cGVjdDIgPDwtRU9GICYmCisJPDw8PDw8PCBIRUFECisJRAorCT09PT09PT0KKwlHCisJPj4+Pj4+PiAkY29tbWl0Li4uIEcKKwlFT0YKIAlnaXQgdGFnIG5ldy1icmFuY2gxICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtaSBtYXN0ZXIgJiYKIAl0ZXN0ICIkKGdpdCByZXYtcGFyc2UgSEVBRH4zKSIgPSAiJChnaXQgcmV2LXBhcnNlIG1hc3RlcikiICYmCiAJdGVzdF9jbXAgZXhwZWN0IC5naXQvcmViYXNlLW1lcmdlL3BhdGNoICYmCkBAIC0yNjIsNyArMjg3LDYgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Fib3J0IHdpdGggZXJyb3Igd2hlbiBuZXcgYmFzZSBjYW5ub3QgYmUgY2hlY2tlZCBvdXQnICcKIAlnaXQgcm0gLS1jYWNoZWQgZmlsZTEgJiYKIAlnaXQgY29tbWl0IC1tICJyZW1vdmUgZmlsZSBpbiBiYXNlIiAmJgotCXNldF9mYWtlX2VkaXRvciAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLWkgbWFzdGVyID4gb3V0cHV0IDI+JjEgJiYKIAl0ZXN0X2kxOG5ncmVwICJUaGUgZm9sbG93aW5nIHVudHJhY2tlZCB3b3JraW5nIHRyZWUgZmlsZXMgd291bGQgYmUgb3ZlcndyaXR0ZW4gYnkgY2hlY2tvdXQ6IiBcCiAJCW91dHB1dCAmJgpAQCAtMjc3LDcgKzMwMSw2IEBACiAJdGVzdF90aWNrICYmCiAJR0lUX0FVVEhPUl9OQU1FPSJUd2VycCBTbm9nIiBnaXQgY29tbWl0IC1tICJkaWZmZXJlbnQgYXV0aG9yIiAmJgogCWdpdCB0YWcgdHdlcnAgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKIAlnaXQgcmViYXNlIC1pIC0tb250byBtYXN0ZXIgSEVBRF4gJiYKIAlnaXQgc2hvdyBIRUFEIHwgZ3JlcCAiXkF1dGhvcjogVHdlcnAgU25vZyIKICcKQEAgLTI5NSw3ICszMTgsNiBAQAogCXRlc3RfY29tbWl0IGIgY29uZmxpY3QgYiBjb25mbGljdC1iICYmCiAJR0lUX0FVVEhPUl9OQU1FPSRvR0lUX0FVVEhPUl9OQU1FICYmCiAKLQlzZXRfZmFrZV9lZGl0b3IgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC1pIGNvbmZsaWN0LWEgJiYKIAllY2hvIHJlc29sdmVkID5jb25mbGljdCAmJgogCWdpdCBhZGQgY29uZmxpY3QgJiYKQEAgLTMxMSw5ICszMzMsMTEgQEAKIAl0ZXN0X3RpY2sgJiYKIAlHSVRfQVVUSE9SX05BTUU9Ik5pdGZvbCIgZ2l0IGNvbW1pdCAtbSAibml0Zm9sIiBmaWxlNyAmJgogCWVjaG8gIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiIgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQlGQUtFX0xJTkVTPSIxIHNxdWFzaCAyIiBFWFBFQ1RfSEVBREVSX0NPVU5UPTIgXAotCQlnaXQgcmViYXNlIC1pIC0tb250byBtYXN0ZXIgSEVBRH4yICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJRkFLRV9MSU5FUz0iMSBzcXVhc2ggMiIgRVhQRUNUX0hFQURFUl9DT1VOVD0yIFwKKwkJCWdpdCByZWJhc2UgLWkgLS1vbnRvIG1hc3RlciBIRUFEfjIKKwkpICYmCiAJdGVzdCBCID0gJChjYXQgZmlsZTcpICYmCiAJdGVzdCAkKGdpdCByZXYtcGFyc2UgSEVBRF4pID0gJChnaXQgcmV2LXBhcnNlIG1hc3RlcikKICcKQEAgLTMyNCw3ICszNDgsNiBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFJFQkFTRV9QICctcCBoYW5kbGVzICJubyBjaGFuZ2VzIiBncmFjZWZ1bGx5JyAnCiAJSEVBRD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKIAlnaXQgcmViYXNlIC1pIC1wIEhFQUReICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCAtLXJlZnJlc2ggJiYKIAlnaXQgZGlmZi1maWxlcyAtLXF1aWV0ICYmCkBAIC0zMzQsOCArMzU3LDEwIEBACiAKIHRlc3RfZXhwZWN0X2ZhaWx1cmUgUkVCQVNFX1AgJ2V4Y2hhbmdlIHR3byBjb21taXRzIHdpdGggLXAnICcKIAlnaXQgY2hlY2tvdXQgSCAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCUZBS0VfTElORVM9IjIgMSIgZ2l0IHJlYmFzZSAtaSAtcCBIRUFEfjIgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0xJTkVTPSIyIDEiIGdpdCByZWJhc2UgLWkgLXAgSEVBRH4yCisJKSAmJgogCXRlc3QgSCA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEXiB8IHNlZCAtbmUgXCRwKSAmJgogCXRlc3QgRyA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgc2VkIC1uZSBcJHApCiAnCkBAIC0zNjksNyArMzk0LDYgQEAKIAlnaXQgY29tbWl0IC1tIE0gZmlsZTEgJiYKIAlnaXQgY2hlY2tvdXQgLWIgdG8tYmUtcmViYXNlZCAmJgogCXRlc3RfdGljayAmJgotCXNldF9mYWtlX2VkaXRvciAmJgogCWdpdCByZWJhc2UgLWkgLXAgLS1vbnRvIGJyYW5jaDEgbWFzdGVyICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCAtLXJlZnJlc2ggJiYKIAlnaXQgZGlmZi1maWxlcyAtLXF1aWV0ICYmCkBAIC0zODQsOCArNDA4LDEwIEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgUkVCQVNFX1AgJ2VkaXQgYW5jZXN0b3Igd2l0aCAtcCcgJwotCXNldF9mYWtlX2VkaXRvciAmJgotCUZBS0VfTElORVM9IjEgMiBlZGl0IDMgNCIgZ2l0IHJlYmFzZSAtaSAtcCBIRUFEfjMgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0xJTkVTPSIxIDIgZWRpdCAzIDQiIGdpdCByZWJhc2UgLWkgLXAgSEVBRH4zCisJKSAmJgogCWVjaG8gMiA+IHVucmVsYXRlZC1maWxlICYmCiAJdGVzdF90aWNrICYmCiAJZ2l0IGNvbW1pdCAtbSBMMi1tb2RpZmllZCAtLWFtZW5kIHVucmVsYXRlZC1maWxlICYmCkBAIC0zOTksMTEgKzQyNSwxMyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1jb250aW51ZSB0cmllcyB0byBjb21taXQnICcKIAlnaXQgcmVzZXQgLS1oYXJkIEQgJiYKIAl0ZXN0X3RpY2sgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC1pIC0tb250byBuZXctYnJhbmNoMSBIRUFEXiAmJgotCWVjaG8gcmVzb2x2ZWQgPiBmaWxlMSAmJgotCWdpdCBhZGQgZmlsZTEgJiYKLQlGQUtFX0NPTU1JVF9NRVNTQUdFPSJjaG91ZXR0ZSEiIGdpdCByZWJhc2UgLS1jb250aW51ZSAmJgorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLWkgLS1vbnRvIG5ldy1icmFuY2gxIEhFQUReICYmCisJCWVjaG8gcmVzb2x2ZWQgPiBmaWxlMSAmJgorCQlnaXQgYWRkIGZpbGUxICYmCisJCUZBS0VfQ09NTUlUX01FU1NBR0U9ImNob3VldHRlISIgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlCisJKSAmJgogCXRlc3QgJChnaXQgcmV2LXBhcnNlIEhFQUReKSA9ICQoZ2l0IHJldi1wYXJzZSBuZXctYnJhbmNoMSkgJiYKIAlnaXQgc2hvdyBIRUFEIHwgZ3JlcCBjaG91ZXR0ZQogJwpAQCAtNDExLDcgKzQzOSw2IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJib3NlIGZsYWcgaXMgaGVlZGVkLCBldmVuIGFmdGVyIC0tY29udGludWUnICcKIAlnaXQgcmVzZXQgLS1oYXJkIG1hc3RlckB7MX0gJiYKIAl0ZXN0X3RpY2sgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC12IC1pIC0tb250byBuZXctYnJhbmNoMSBIRUFEXiAmJgogCWVjaG8gcmVzb2x2ZWQgPiBmaWxlMSAmJgogCWdpdCBhZGQgZmlsZTEgJiYKQEAgLTQyMSwxMCArNDQ4LDEzIEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgQ19MT0NBTEVfT1VUUFVUICdtdWx0aS1zcXVhc2ggb25seSBmaXJlcyB1cCBlZGl0b3Igb25jZScgJwogCWJhc2U9JChnaXQgcmV2LXBhcnNlIEhFQUR+NCkgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQlGQUtFX0NPTU1JVF9BTUVORD0iT05DRSIgRkFLRV9MSU5FUz0iMSBzcXVhc2ggMiBzcXVhc2ggMyBzcXVhc2ggNCIgXAotCQlFWFBFQ1RfSEVBREVSX0NPVU5UPTQgXAotCQlnaXQgcmViYXNlIC1pICRiYXNlICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJRkFLRV9DT01NSVRfQU1FTkQ9Ik9OQ0UiIFwKKwkJCUZBS0VfTElORVM9IjEgc3F1YXNoIDIgc3F1YXNoIDMgc3F1YXNoIDQiIFwKKwkJCUVYUEVDVF9IRUFERVJfQ09VTlQ9NCBcCisJCQlnaXQgcmViYXNlIC1pICRiYXNlCisJKSAmJgogCXRlc3QgJGJhc2UgPSAkKGdpdCByZXYtcGFyc2UgSEVBRF4pICYmCiAJdGVzdCAxID0gJChnaXQgc2hvdyB8IGdyZXAgT05DRSB8IHdjIC1sKQogJwpAQCAtNDMyLDkgKzQ2MiwxMiBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyBDX0xPQ0FMRV9PVVRQVVQgJ211bHRpLWZpeHVwIGRvZXMgbm90IGZpcmUgdXAgZWRpdG9yJyAnCiAJZ2l0IGNoZWNrb3V0IC1iIG11bHRpLWZpeHVwIEUgJiYKIAliYXNlPSQoZ2l0IHJldi1wYXJzZSBIRUFEfjQpICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JRkFLRV9DT01NSVRfQU1FTkQ9Ik5FVkVSIiBGQUtFX0xJTkVTPSIxIGZpeHVwIDIgZml4dXAgMyBmaXh1cCA0IiBcCi0JCWdpdCByZWJhc2UgLWkgJGJhc2UgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0NPTU1JVF9BTUVORD0iTkVWRVIiIFwKKwkJCUZBS0VfTElORVM9IjEgZml4dXAgMiBmaXh1cCAzIGZpeHVwIDQiIFwKKwkJCWdpdCByZWJhc2UgLWkgJGJhc2UKKwkpICYmCiAJdGVzdCAkYmFzZSA9ICQoZ2l0IHJldi1wYXJzZSBIRUFEXikgJiYKIAl0ZXN0IDAgPSAkKGdpdCBzaG93IHwgZ3JlcCBORVZFUiB8IHdjIC1sKSAmJgogCWdpdCBjaGVja291dCBAey0xfSAmJgpAQCAtNDQ0LDEyICs0NzcsMTUgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbW1pdCBtZXNzYWdlIHVzZWQgYWZ0ZXIgY29uZmxpY3QnICcKIAlnaXQgY2hlY2tvdXQgLWIgY29uZmxpY3QtZml4dXAgY29uZmxpY3QtYnJhbmNoICYmCiAJYmFzZT0kKGdpdCByZXYtcGFyc2UgSEVBRH40KSAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0xJTkVTPSIxIGZpeHVwIDMgZml4dXAgNCIgZ2l0IHJlYmFzZSAtaSAkYmFzZSAmJgotCWVjaG8gdGhyZWUgPiBjb25mbGljdCAmJgotCWdpdCBhZGQgY29uZmxpY3QgJiYKLQlGQUtFX0NPTU1JVF9BTUVORD0iT05DRSIgRVhQRUNUX0hFQURFUl9DT1VOVD0yIFwKLQkJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZW52IEZBS0VfTElORVM9IjEgZml4dXAgMyBmaXh1cCA0IiBcCisJCQlnaXQgcmViYXNlIC1pICRiYXNlICYmCisJCWVjaG8gdGhyZWUgPiBjb25mbGljdCAmJgorCQlnaXQgYWRkIGNvbmZsaWN0ICYmCisJCUZBS0VfQ09NTUlUX0FNRU5EPSJPTkNFIiBFWFBFQ1RfSEVBREVSX0NPVU5UPTIgXAorCQkJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlCisJKSAmJgogCXRlc3QgJGJhc2UgPSAkKGdpdCByZXYtcGFyc2UgSEVBRF4pICYmCiAJdGVzdCAxID0gJChnaXQgc2hvdyB8IGdyZXAgT05DRSB8IHdjIC1sKSAmJgogCWdpdCBjaGVja291dCBAey0xfSAmJgpAQCAtNDU5LDMzICs0OTUsMzggQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbW1pdCBtZXNzYWdlIHJldGFpbmVkIGFmdGVyIGNvbmZsaWN0JyAnCiAJZ2l0IGNoZWNrb3V0IC1iIGNvbmZsaWN0LXNxdWFzaCBjb25mbGljdC1icmFuY2ggJiYKIAliYXNlPSQoZ2l0IHJldi1wYXJzZSBIRUFEfjQpICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JdGVzdF9tdXN0X2ZhaWwgZW52IEZBS0VfTElORVM9IjEgZml4dXAgMyBzcXVhc2ggNCIgZ2l0IHJlYmFzZSAtaSAkYmFzZSAmJgotCWVjaG8gdGhyZWUgPiBjb25mbGljdCAmJgotCWdpdCBhZGQgY29uZmxpY3QgJiYKLQlGQUtFX0NPTU1JVF9BTUVORD0iVFdJQ0UiIEVYUEVDVF9IRUFERVJfQ09VTlQ9MiBcCi0JCWdpdCByZWJhc2UgLS1jb250aW51ZSAmJgorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0xJTkVTPSIxIGZpeHVwIDMgc3F1YXNoIDQiIFwKKwkJCWdpdCByZWJhc2UgLWkgJGJhc2UgJiYKKwkJZWNobyB0aHJlZSA+IGNvbmZsaWN0ICYmCisJCWdpdCBhZGQgY29uZmxpY3QgJiYKKwkJRkFLRV9DT01NSVRfQU1FTkQ9IlRXSUNFIiBFWFBFQ1RfSEVBREVSX0NPVU5UPTIgXAorCQkJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlCisJKSAmJgogCXRlc3QgJGJhc2UgPSAkKGdpdCByZXYtcGFyc2UgSEVBRF4pICYmCiAJdGVzdCAyID0gJChnaXQgc2hvdyB8IGdyZXAgVFdJQ0UgfCB3YyAtbCkgJiYKIAlnaXQgY2hlY2tvdXQgQHstMX0gJiYKIAlnaXQgYnJhbmNoIC1EIGNvbmZsaWN0LXNxdWFzaAogJwogCi1jYXQgPiBleHBlY3Qtc3F1YXNoLWZpeHVwIDw8IEVPRgotQgotCi1ECi0KLU9OQ0UKLUVPRgotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIENfTE9DQUxFX09VVFBVVCAnc3F1YXNoIGFuZCBmaXh1cCBnZW5lcmF0ZSBjb3JyZWN0IGxvZyBtZXNzYWdlcycgJworCWNhdCA+ZXhwZWN0LXNxdWFzaC1maXh1cCA8PC1cRU9GICYmCisJQgorCisJRAorCisJT05DRQorCUVPRgogCWdpdCBjaGVja291dCAtYiBzcXVhc2gtZml4dXAgRSAmJgogCWJhc2U9JChnaXQgcmV2LXBhcnNlIEhFQUR+NCkgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQlGQUtFX0NPTU1JVF9BTUVORD0iT05DRSIgRkFLRV9MSU5FUz0iMSBmaXh1cCAyIHNxdWFzaCAzIGZpeHVwIDQiIFwKLQkJRVhQRUNUX0hFQURFUl9DT1VOVD00IFwKLQkJZ2l0IHJlYmFzZSAtaSAkYmFzZSAmJgorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCUZBS0VfQ09NTUlUX0FNRU5EPSJPTkNFIiBcCisJCQlGQUtFX0xJTkVTPSIxIGZpeHVwIDIgc3F1YXNoIDMgZml4dXAgNCIgXAorCQkJRVhQRUNUX0hFQURFUl9DT1VOVD00IFwKKwkJCWdpdCByZWJhc2UgLWkgJGJhc2UKKwkpICYmCiAJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgc2VkIC1lIDEsL15cJC9kID4gYWN0dWFsLXNxdWFzaC1maXh1cCAmJgogCXRlc3RfY21wIGV4cGVjdC1zcXVhc2gtZml4dXAgYWN0dWFsLXNxdWFzaC1maXh1cCAmJgogCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBREB7Mn0gfApAQCAtNDk5LDEwICs1NDAsMTMgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgQ19MT0NBTEVfT1VUUFVUICdzcXVhc2ggaWdub3JlcyBjb21tZW50cycgJwogCWdpdCBjaGVja291dCAtYiBza2lwLWNvbW1lbnRzIEUgJiYKIAliYXNlPSQoZ2l0IHJldi1wYXJzZSBIRUFEfjQpICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JRkFLRV9DT01NSVRfQU1FTkQ9Ik9OQ0UiIEZBS0VfTElORVM9IiMgMSAjIHNxdWFzaCAyICMgc3F1YXNoIDMgIyBzcXVhc2ggNCAjIiBcCi0JCUVYUEVDVF9IRUFERVJfQ09VTlQ9NCBcCi0JCWdpdCByZWJhc2UgLWkgJGJhc2UgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0NPTU1JVF9BTUVORD0iT05DRSIgXAorCQkJRkFLRV9MSU5FUz0iIyAxICMgc3F1YXNoIDIgIyBzcXVhc2ggMyAjIHNxdWFzaCA0ICMiIFwKKwkJCUVYUEVDVF9IRUFERVJfQ09VTlQ9NCBcCisJCQlnaXQgcmViYXNlIC1pICRiYXNlCisJKSAmJgogCXRlc3QgJGJhc2UgPSAkKGdpdCByZXYtcGFyc2UgSEVBRF4pICYmCiAJdGVzdCAxID0gJChnaXQgc2hvdyB8IGdyZXAgT05DRSB8IHdjIC1sKSAmJgogCWdpdCBjaGVja291dCBAey0xfSAmJgpAQCAtNTEyLDEwICs1NTYsMTMgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgQ19MT0NBTEVfT1VUUFVUICdzcXVhc2ggaWdub3JlcyBibGFuayBsaW5lcycgJwogCWdpdCBjaGVja291dCAtYiBza2lwLWJsYW5rLWxpbmVzIEUgJiYKIAliYXNlPSQoZ2l0IHJldi1wYXJzZSBIRUFEfjQpICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JRkFLRV9DT01NSVRfQU1FTkQ9Ik9OQ0UiIEZBS0VfTElORVM9Ij4gMSA+IHNxdWFzaCAyID4gc3F1YXNoIDMgPiBzcXVhc2ggNCA+IiBcCi0JCUVYUEVDVF9IRUFERVJfQ09VTlQ9NCBcCi0JCWdpdCByZWJhc2UgLWkgJGJhc2UgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0NPTU1JVF9BTUVORD0iT05DRSIgXAorCQkJRkFLRV9MSU5FUz0iPiAxID4gc3F1YXNoIDIgPiBzcXVhc2ggMyA+IHNxdWFzaCA0ID4iIFwKKwkJCUVYUEVDVF9IRUFERVJfQ09VTlQ9NCBcCisJCQlnaXQgcmViYXNlIC1pICRiYXNlCisJKSAmJgogCXRlc3QgJGJhc2UgPSAkKGdpdCByZXYtcGFyc2UgSEVBRF4pICYmCiAJdGVzdCAxID0gJChnaXQgc2hvdyB8IGdyZXAgT05DRSB8IHdjIC1sKSAmJgogCWdpdCBjaGVja291dCBAey0xfSAmJgpAQCAtNTI1LDE3ICs1NzIsMjEgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NxdWFzaCB3b3JrcyBhcyBleHBlY3RlZCcgJwogCWdpdCBjaGVja291dCAtYiBzcXVhc2gtd29ya3Mgbm8tY29uZmxpY3QtYnJhbmNoICYmCiAJb25lPSQoZ2l0IHJldi1wYXJzZSBIRUFEfjMpICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JRkFLRV9MSU5FUz0iMSBzIDMgMiIgRVhQRUNUX0hFQURFUl9DT1VOVD0yIFwKLQkJZ2l0IHJlYmFzZSAtaSBIRUFEfjMgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0xJTkVTPSIxIHMgMyAyIiBFWFBFQ1RfSEVBREVSX0NPVU5UPTIgZ2l0IHJlYmFzZSAtaSBIRUFEfjMKKwkpICYmCiAJdGVzdCAkb25lID0gJChnaXQgcmV2LXBhcnNlIEhFQUR+MikKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnaW50ZXJydXB0ZWQgc3F1YXNoIHdvcmtzIGFzIGV4cGVjdGVkJyAnCiAJZ2l0IGNoZWNrb3V0IC1iIGludGVycnVwdGVkLXNxdWFzaCBjb25mbGljdC1icmFuY2ggJiYKIAlvbmU9JChnaXQgcmV2LXBhcnNlIEhFQUR+MykgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQl0ZXN0X211c3RfZmFpbCBlbnYgRkFLRV9MSU5FUz0iMSBzcXVhc2ggMyAyIiBnaXQgcmViYXNlIC1pIEhFQUR+MyAmJgorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0xJTkVTPSIxIHNxdWFzaCAzIDIiIFwKKwkJCWdpdCByZWJhc2UgLWkgSEVBRH4zCisJKSAmJgogCXRlc3Rfd3JpdGVfbGluZXMgb25lIHR3byBmb3VyID4gY29uZmxpY3QgJiYKIAlnaXQgYWRkIGNvbmZsaWN0ICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlICYmCkBAIC01NDgsOCArNTk5LDExIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbnRlcnJ1cHRlZCBzcXVhc2ggd29ya3MgYXMgZXhwZWN0ZWQgKGNhc2UgMiknICcKIAlnaXQgY2hlY2tvdXQgLWIgaW50ZXJydXB0ZWQtc3F1YXNoMiBjb25mbGljdC1icmFuY2ggJiYKIAlvbmU9JChnaXQgcmV2LXBhcnNlIEhFQUR+MykgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQl0ZXN0X211c3RfZmFpbCBlbnYgRkFLRV9MSU5FUz0iMyBzcXVhc2ggMSAyIiBnaXQgcmViYXNlIC1pIEhFQUR+MyAmJgorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0xJTkVTPSIzIHNxdWFzaCAxIDIiIFwKKwkJCWdpdCByZWJhc2UgLWkgSEVBRH4zCisJKSAmJgogCXRlc3Rfd3JpdGVfbGluZXMgb25lIGZvdXIgPiBjb25mbGljdCAmJgogCWdpdCBhZGQgY29uZmxpY3QgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC0tY29udGludWUgJiYKQEAgLTU2OSwxMSArNjIzLDEzIEBACiAJZ2l0IGNvbW1pdCAtbSAidW5yZWxhdGVkIGNoYW5nZSIgJiYKIAlwYXJlbnQ9JChnaXQgcmV2LXBhcnNlIEhFQUReKSAmJgogCXRlc3RfdGljayAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCUZBS0VfTElORVM9ImVkaXQgMSIgZ2l0IHJlYmFzZSAtaSBIRUFEXiAmJgotCWVjaG8gZWRpdGVkID4gZmlsZTcgJiYKLQlnaXQgYWRkIGZpbGU3ICYmCi0JRkFLRV9DT01NSVRfTUVTU0FHRT0iY2hvdWV0dGUhIiBnaXQgcmViYXNlIC0tY29udGludWUgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0xJTkVTPSJlZGl0IDEiIGdpdCByZWJhc2UgLWkgSEVBRF4gJiYKKwkJZWNobyBlZGl0ZWQgPiBmaWxlNyAmJgorCQlnaXQgYWRkIGZpbGU3ICYmCisJCUZBS0VfQ09NTUlUX01FU1NBR0U9ImNob3VldHRlISIgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlCisJKSAmJgogCXRlc3QgZWRpdGVkID0gJChnaXQgc2hvdyBIRUFEOmZpbGU3KSAmJgogCWdpdCBzaG93IEhFQUQgfCBncmVwIGNob3VldHRlICYmCiAJdGVzdCAkcGFyZW50ID0gJChnaXQgcmV2LXBhcnNlIEhFQUReKQpAQCAtNTgyLDM0ICs2MzgsNDEgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Fib3J0ZWQgLS1jb250aW51ZSBkb2VzIG5vdCBzcXVhc2ggY29tbWl0cyBhZnRlciAiZWRpdCInICcKIAlvbGQ9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCiAJdGVzdF90aWNrICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JRkFLRV9MSU5FUz0iZWRpdCAxIiBnaXQgcmViYXNlIC1pIEhFQUReICYmCi0JZWNobyAiZWRpdGVkIGFnYWluIiA+IGZpbGU3ICYmCi0JZ2l0IGFkZCBmaWxlNyAmJgotCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0NPTU1JVF9NRVNTQUdFPSIgIiBnaXQgcmViYXNlIC0tY29udGludWUgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0xJTkVTPSJlZGl0IDEiIGdpdCByZWJhc2UgLWkgSEVBRF4gJiYKKwkJZWNobyAiZWRpdGVkIGFnYWluIiA+IGZpbGU3ICYmCisJCWdpdCBhZGQgZmlsZTcgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZW52IEZBS0VfQ09NTUlUX01FU1NBR0U9IiAiIGdpdCByZWJhc2UgLS1jb250aW51ZQorCSkgJiYKIAl0ZXN0ICRvbGQgPSAkKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKIAlnaXQgcmViYXNlIC0tYWJvcnQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYXV0by1hbWVuZCBvbmx5IGVkaXRlZCBjb21taXRzIGFmdGVyICJlZGl0IicgJwogCXRlc3RfdGljayAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCUZBS0VfTElORVM9ImVkaXQgMSIgZ2l0IHJlYmFzZSAtaSBIRUFEXiAmJgotCWVjaG8gImVkaXRlZCBhZ2FpbiIgPiBmaWxlNyAmJgotCWdpdCBhZGQgZmlsZTcgJiYKLQlGQUtFX0NPTU1JVF9NRVNTQUdFPSJlZGl0ZWQgZmlsZTcgYWdhaW4iIGdpdCBjb21taXQgJiYKLQllY2hvICJhbmQgYWdhaW4iID4gZmlsZTcgJiYKLQlnaXQgYWRkIGZpbGU3ICYmCi0JdGVzdF90aWNrICYmCi0JdGVzdF9tdXN0X2ZhaWwgZW52IEZBS0VfQ09NTUlUX01FU1NBR0U9ImFuZCBhZ2FpbiIgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJRkFLRV9MSU5FUz0iZWRpdCAxIiBnaXQgcmViYXNlIC1pIEhFQUReICYmCisJCWVjaG8gImVkaXRlZCBhZ2FpbiIgPiBmaWxlNyAmJgorCQlnaXQgYWRkIGZpbGU3ICYmCisJCUZBS0VfQ09NTUlUX01FU1NBR0U9ImVkaXRlZCBmaWxlNyBhZ2FpbiIgZ2l0IGNvbW1pdCAmJgorCQllY2hvICJhbmQgYWdhaW4iID4gZmlsZTcgJiYKKwkJZ2l0IGFkZCBmaWxlNyAmJgorCQl0ZXN0X3RpY2sgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZW52IEZBS0VfQ09NTUlUX01FU1NBR0U9ImFuZCBhZ2FpbiIgXAorCQkJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlCisJKSAmJgogCWdpdCByZWJhc2UgLS1hYm9ydAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbGVhbiBlcnJvciBhZnRlciBmYWlsZWQgImV4ZWMiJyAnCiAJdGVzdF90aWNrICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmViYXNlIC0tYWJvcnQgfHwgOiIgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQl0ZXN0X211c3RfZmFpbCBlbnYgRkFLRV9MSU5FUz0iMSBleGVjX2ZhbHNlIiBnaXQgcmViYXNlIC1pIEhFQUReICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZW52IEZBS0VfTElORVM9IjEgZXhlY19mYWxzZSIgZ2l0IHJlYmFzZSAtaSBIRUFEXgorCSkgJiYKIAllY2hvICJlZGl0ZWQgYWdhaW4iID4gZmlsZTcgJiYKIAlnaXQgYWRkIGZpbGU3ICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIDI+ZXJyb3IgJiYKQEAgLTYyMCw4ICs2ODMsMTAgQEAKIAlncmFuZHBhcmVudD0kKGdpdCByZXYtcGFyc2UgSEVBRH4yKSAmJgogCWdpdCBjaGVja291dCAkKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKIAl0ZXN0X3RpY2sgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQlGQUtFX0xJTkVTPSIyIDEiIGdpdCByZWJhc2UgLWkgSEVBRH4yICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJRkFLRV9MSU5FUz0iMiAxIiBnaXQgcmViYXNlIC1pIEhFQUR+MgorCSkgJiYKIAl0ZXN0ICRncmFuZHBhcmVudCA9ICQoZ2l0IHJldi1wYXJzZSBIRUFEfjIpCiAnCiAKQEAgLTYzNiw5ICs3MDEsMTAgQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgY29tbWl0IC1tIGRvZXNudC12ZXJpZnkgZmlsZTEgJiYKIAlnaXQgY29tbWl0IC1tIGRvZXNudC12ZXJpZnkgLS1uby12ZXJpZnkgZmlsZTEgJiYKIAl0ZXN0X3RpY2sgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQlGQUtFX0xJTkVTPTIgZ2l0IHJlYmFzZSAtaSBIRUFEfjIKLQorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCUZBS0VfTElORVM9MiBnaXQgcmViYXNlIC1pIEhFQUR+MgorCSkKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIHdpdGggYSBmaWxlIG5hbWVkIEhFQUQgaW4gd29ya3RyZWUnICcKQEAgLTY1OCw4ICs3MjQsMTAgQEAKIAkJZ2l0IGNvbW1pdCAtbSAiQWRkIGJvZHkiCiAJKSAmJgogCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JRkFLRV9MSU5FUz0iMSBzcXVhc2ggMiIgZ2l0IHJlYmFzZSAtaSBAey0xfSAmJgorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCUZBS0VfTElORVM9IjEgc3F1YXNoIDIiIGdpdCByZWJhc2UgLWkgQHstMX0KKwkpICYmCiAJdGVzdCAiJChnaXQgc2hvdyAtcyAtLXByZXR0eT1mb3JtYXQ6JWFuKSIgPSAiU3F1YXNoZWQgQXdheSIKIAogJwpAQCAtNjcwLDcgKzczOCw2IEBACiAJR0lUX0VESVRPUj06IGdpdCBjb21taXQgLS1hbWVuZCBcCiAJCS0tYXV0aG9yPSJTb21lYm9keSBlbHNlIDxzb21lYm9keUBlbHNlLmNvbT4iICYmCiAJdGVzdCAkKGdpdCByZXYtcGFyc2UgYnJhbmNoMykgIT0gJChnaXQgcmV2LXBhcnNlIGJyYW5jaDQpICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCiAJZ2l0IHJlYmFzZSAtaSBicmFuY2gzICYmCiAJdGVzdCAkKGdpdCByZXYtcGFyc2UgYnJhbmNoMykgPSAkKGdpdCByZXYtcGFyc2UgYnJhbmNoNCkKIApAQCAtNjk1LDEzICs3NjIsMTQgQEAKIAkJZ2l0IGNvbW1pdCAtYSAtbSAic3VibW9kdWxlIHNlY29uZCIKIAkpICYmCiAJdGVzdF90aWNrICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCiAJZ2l0IGNvbW1pdCAtYSAtbSAiVGhyZWUgY2hhbmdlcyBzdWJtb2R1bGUiCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSByZWJhc2UgLWknICcKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQlGQUtFX0xJTkVTPSIxIHNxdWFzaCAyIDMiIGdpdCByZWJhc2UgLWkgQQorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCUZBS0VfTElORVM9IjEgc3F1YXNoIDIgMyIgZ2l0IHJlYmFzZSAtaSBBCisJKQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgY29uZmxpY3Qgc2V0dXAnICcKQEAgLTcxOCw3ICs3ODYsNiBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLWkgY29udGludWUgd2l0aCBvbmx5IHN1Ym1vZHVsZSBzdGFnZWQnICcKLQlzZXRfZmFrZV9lZGl0b3IgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC1pIHN1Ym1vZHVsZS1iYXNlICYmCiAJZ2l0IGFkZCBzdWIgJiYKIAlnaXQgcmViYXNlIC0tY29udGludWUgJiYKQEAgLTcyOCw3ICs3OTUsNiBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC1pIGNvbnRpbnVlIHdpdGggdW5zdGFnZWQgc3VibW9kdWxlJyAnCiAJZ2l0IGNoZWNrb3V0IHN1Ym1vZHVsZS10b3BpYyAmJgogCWdpdCByZXNldCAtLWhhcmQgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC1pIHN1Ym1vZHVsZS1iYXNlICYmCiAJZ2l0IHJlc2V0ICYmCiAJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlICYmCkBAIC03NDEsNyArODA3LDYgQEAKIAl0ZXN0LXRvb2wgY2htdGltZSA9MTIzNDU2Nzg5IGZpbGUzICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCAtLXJlZnJlc2ggJiYKIAlIRUFEPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgotCXNldF9mYWtlX2VkaXRvciAmJgogCWdpdCByZWJhc2UgLWkgSEVBRH40ICYmCiAJdGVzdCAkSEVBRCA9ICQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgogCU1USU1FPSQodGVzdC10b29sIGNobXRpbWUgLS1nZXQgZmlsZTMpICYmCkBAIC03NTAsMTYgKzgxNSwyMiBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXdvcmQnICcKIAlnaXQgY2hlY2tvdXQgLWIgcmV3b3JkLWJyYW5jaCBtYXN0ZXIgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQlGQUtFX0xJTkVTPSIxIDIgMyByZXdvcmQgNCIgRkFLRV9DT01NSVRfTUVTU0FHRT0iRSBjaGFuZ2VkIiBnaXQgcmViYXNlIC1pIEEgJiYKLQlnaXQgc2hvdyBIRUFEIHwgZ3JlcCAiRSBjaGFuZ2VkIiAmJgotCXRlc3QgJChnaXQgcmV2LXBhcnNlIG1hc3RlcikgIT0gJChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCi0JdGVzdCAkKGdpdCByZXYtcGFyc2UgbWFzdGVyXikgPSAkKGdpdCByZXYtcGFyc2UgSEVBRF4pICYmCi0JRkFLRV9MSU5FUz0iMSAyIHJld29yZCAzIDQiIEZBS0VfQ09NTUlUX01FU1NBR0U9IkQgY2hhbmdlZCIgZ2l0IHJlYmFzZSAtaSBBICYmCi0JZ2l0IHNob3cgSEVBRF4gfCBncmVwICJEIGNoYW5nZWQiICYmCi0JRkFLRV9MSU5FUz0icmV3b3JkIDEgMiAzIDQiIEZBS0VfQ09NTUlUX01FU1NBR0U9IkIgY2hhbmdlZCIgZ2l0IHJlYmFzZSAtaSBBICYmCi0JZ2l0IHNob3cgSEVBRH4zIHwgZ3JlcCAiQiBjaGFuZ2VkIiAmJgotCUZBS0VfTElORVM9IjEgciAyIHBpY2sgMyBwIDQiIEZBS0VfQ09NTUlUX01FU1NBR0U9IkMgY2hhbmdlZCIgZ2l0IHJlYmFzZSAtaSBBICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJRkFLRV9MSU5FUz0iMSAyIDMgcmV3b3JkIDQiIEZBS0VfQ09NTUlUX01FU1NBR0U9IkUgY2hhbmdlZCIgXAorCQkJZ2l0IHJlYmFzZSAtaSBBICYmCisJCWdpdCBzaG93IEhFQUQgfCBncmVwICJFIGNoYW5nZWQiICYmCisJCXRlc3QgJChnaXQgcmV2LXBhcnNlIG1hc3RlcikgIT0gJChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisJCXRlc3QgJChnaXQgcmV2LXBhcnNlIG1hc3Rlcl4pID0gJChnaXQgcmV2LXBhcnNlIEhFQUReKSAmJgorCQlGQUtFX0xJTkVTPSIxIDIgcmV3b3JkIDMgNCIgRkFLRV9DT01NSVRfTUVTU0FHRT0iRCBjaGFuZ2VkIiBcCisJCQlnaXQgcmViYXNlIC1pIEEgJiYKKwkJZ2l0IHNob3cgSEVBRF4gfCBncmVwICJEIGNoYW5nZWQiICYmCisJCUZBS0VfTElORVM9InJld29yZCAxIDIgMyA0IiBGQUtFX0NPTU1JVF9NRVNTQUdFPSJCIGNoYW5nZWQiIFwKKwkJCWdpdCByZWJhc2UgLWkgQSAmJgorCQlnaXQgc2hvdyBIRUFEfjMgfCBncmVwICJCIGNoYW5nZWQiICYmCisJCUZBS0VfTElORVM9IjEgciAyIHBpY2sgMyBwIDQiIEZBS0VfQ09NTUlUX01FU1NBR0U9IkMgY2hhbmdlZCIgXAorCQkJZ2l0IHJlYmFzZSAtaSBBCisJKSAmJgogCWdpdCBzaG93IEhFQUR+MiB8IGdyZXAgIkMgY2hhbmdlZCIKICcKIApAQCAtNzcwLDIyICs4NDEsMjMgQEAKIAl0ZXN0X2NvbW1pdCBuMiAmJgogCXRlc3RfY29tbWl0IG4zICYmCiAJZ2l0IG5vdGVzIGFkZCAtbSJhIG5vdGUiIG4zICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCiAJZ2l0IHJlYmFzZSAtaSAtLW9udG8gbjEgbjIgJiYKIAl0ZXN0ICJhIG5vdGUiID0gIiQoZ2l0IG5vdGVzIHNob3cgSEVBRCkiCiAnCiAKLWNhdCA+ZXhwZWN0IDw8RU9GCi1hbiBlYXJsaWVyIG5vdGUKLQotYSBub3RlCi1FT0YKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC1pIGNhbiBjb3B5IG5vdGVzIG92ZXIgYSBmaXh1cCcgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlhbiBlYXJsaWVyIG5vdGUKKworCWEgbm90ZQorCUVPRgogCWdpdCByZXNldCAtLWhhcmQgbjMgJiYKIAlnaXQgbm90ZXMgYWRkIC1tImFuIGVhcmxpZXIgbm90ZSIgbjIgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQlHSVRfTk9URVNfUkVXUklURV9NT0RFPWNvbmNhdGVuYXRlIEZBS0VfTElORVM9IjEgZiAyIiBnaXQgcmViYXNlIC1pIG4xICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJR0lUX05PVEVTX1JFV1JJVEVfTU9ERT1jb25jYXRlbmF0ZSBGQUtFX0xJTkVTPSIxIGYgMiIgXAorCQkJZ2l0IHJlYmFzZSAtaSBuMQorCSkgJiYKIAlnaXQgbm90ZXMgc2hvdyA+IG91dHB1dCAmJgogCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKICcKQEAgLTc5NCw4ICs4NjYsMTAgQEAKIAlnaXQgc3ltYm9saWMtcmVmIEhFQUQgJiYKIAlncmFuZHBhcmVudD0kKGdpdCByZXYtcGFyc2UgSEVBRH4yKSAmJgogCXRlc3RfdGljayAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCUZBS0VfTElORVM9IjIgMSIgZ2l0IHJlYmFzZSAtaSBIRUFEfjIgSEVBRF4wICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJRkFLRV9MSU5FUz0iMiAxIiBnaXQgcmViYXNlIC1pIEhFQUR+MiBIRUFEXjAKKwkpICYmCiAJdGVzdCAkZ3JhbmRwYXJlbnQgPSAkKGdpdCByZXYtcGFyc2UgSEVBRH4yKSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBzeW1ib2xpYy1yZWYgSEVBRAogJwpAQCAtODA0LDcgKzg3OCw2IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhbHdheXMgY2hlcnJ5LXBpY2sgd2l0aCAtLW5vLWZmJyAnCiAJZ2l0IGNoZWNrb3V0IG5vLWZmLWJyYW5jaCAmJgogCWdpdCB0YWcgb3JpZ2luYWwtbm8tZmYtYnJhbmNoICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCiAJZ2l0IHJlYmFzZSAtaSAtLW5vLWZmIEEgJiYKIAlmb3IgcCBpbiAwIDEgMgogCWRvCkBAIC04MzYsOCArOTA5LDEwIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UtaSBoaXN0b3J5IHdpdGggZnVubnkgbWVzc2FnZXMnICcKIAlnaXQgcmV2LWxpc3QgQS4uZnVubnkgPmV4cGVjdCAmJgogCXRlc3RfdGljayAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCUZBS0VfTElORVM9IjEgMiAzIDQiIGdpdCByZWJhc2UgLWkgQSAmJgorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCUZBS0VfTElORVM9IjEgMiAzIDQiIGdpdCByZWJhc2UgLWkgQQorCSkgJiYKIAlnaXQgcmV2LWxpc3QgQS4uID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCkBAIC04NTEsOSArOTI2LDkgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncnVubmluZyAiZ2l0IHJlYmFzZSAtaSAtLWV4ZWMgZ2l0IHNob3cgSEVBRCInICcKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQlnaXQgcmViYXNlIC1pIC0tZXhlYyAiZ2l0IHNob3cgSEVBRCIgSEVBRH4yID5hY3R1YWwgJiYKIAkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlnaXQgcmViYXNlIC1pIC0tZXhlYyAiZ2l0IHNob3cgSEVBRCIgSEVBRH4yID5hY3R1YWwgJiYKIAkJRkFLRV9MSU5FUz0iMSBleGVjX2dpdF9zaG93X0hFQUQgMiBleGVjX2dpdF9zaG93X0hFQUQiICYmCiAJCWV4cG9ydCBGQUtFX0xJTkVTICYmCiAJCWdpdCByZWJhc2UgLWkgSEVBRH4yID5leHBlY3QKQEAgLTg2NCw5ICs5MzksOSBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdydW5uaW5nICJnaXQgcmViYXNlIC0tZXhlYyBnaXQgc2hvdyBIRUFEIC1pIicgJwogCWdpdCByZXNldCAtLWhhcmQgZXhlY3V0ZSAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCWdpdCByZWJhc2UgLS1leGVjICJnaXQgc2hvdyBIRUFEIiAtaSBIRUFEfjIgPmFjdHVhbCAmJgogCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCWdpdCByZWJhc2UgLS1leGVjICJnaXQgc2hvdyBIRUFEIiAtaSBIRUFEfjIgPmFjdHVhbCAmJgogCQlGQUtFX0xJTkVTPSIxIGV4ZWNfZ2l0X3Nob3dfSEVBRCAyIGV4ZWNfZ2l0X3Nob3dfSEVBRCIgJiYKIAkJZXhwb3J0IEZBS0VfTElORVMgJiYKIAkJZ2l0IHJlYmFzZSAtaSBIRUFEfjIgPmV4cGVjdApAQCAtODc3LDkgKzk1Miw5IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3J1bm5pbmcgImdpdCByZWJhc2UgLWl4IGdpdCBzaG93IEhFQUQiJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCBleGVjdXRlICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JZ2l0IHJlYmFzZSAtaXggImdpdCBzaG93IEhFQUQiIEhFQUR+MiA+YWN0dWFsICYmCiAJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJZ2l0IHJlYmFzZSAtaXggImdpdCBzaG93IEhFQUQiIEhFQUR+MiA+YWN0dWFsICYmCiAJCUZBS0VfTElORVM9IjEgZXhlY19naXRfc2hvd19IRUFEIDIgZXhlY19naXRfc2hvd19IRUFEIiAmJgogCQlleHBvcnQgRkFLRV9MSU5FUyAmJgogCQlnaXQgcmViYXNlIC1pIEhFQUR+MiA+ZXhwZWN0CkBAIC04OTEsOSArOTY2LDkgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC1peCB3aXRoIHNldmVyYWwgPENNRD4nICcKIAlnaXQgcmVzZXQgLS1oYXJkIGV4ZWN1dGUgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQlnaXQgcmViYXNlIC1peCAiZ2l0IHNob3cgSEVBRDsgcHdkIiBIRUFEfjIgPmFjdHVhbCAmJgogCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCWdpdCByZWJhc2UgLWl4ICJnaXQgc2hvdyBIRUFEOyBwd2QiIEhFQUR+MiA+YWN0dWFsICYmCiAJCUZBS0VfTElORVM9IjEgZXhlY19naXRfc2hvd19IRUFEO19wd2QgMiBleGVjX2dpdF9zaG93X0hFQUQ7X3B3ZCIgJiYKIAkJZXhwb3J0IEZBS0VfTElORVMgJiYKIAkJZ2l0IHJlYmFzZSAtaSBIRUFEfjIgPmV4cGVjdApAQCAtOTA0LDkgKzk3OSw5IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtaXggd2l0aCBzZXZlcmFsIGluc3RhbmNlcyBvZiAtLWV4ZWMnICcKIAlnaXQgcmVzZXQgLS1oYXJkIGV4ZWN1dGUgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQlnaXQgcmViYXNlIC1pIC0tZXhlYyAiZ2l0IHNob3cgSEVBRCIgLS1leGVjICJwd2QiIEhFQUR+MiA+YWN0dWFsICYmCiAJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJZ2l0IHJlYmFzZSAtaSAtLWV4ZWMgImdpdCBzaG93IEhFQUQiIC0tZXhlYyAicHdkIiBIRUFEfjIgPmFjdHVhbCAmJgogCQlGQUtFX0xJTkVTPSIxIGV4ZWNfZ2l0X3Nob3dfSEVBRCBleGVjX3B3ZCAyCiAJCQkJZXhlY19naXRfc2hvd19IRUFEIGV4ZWNfcHdkIiAmJgogCQlleHBvcnQgRkFLRV9MSU5FUyAmJgpAQCAtOTI1LDEzICsxMDAwLDExIEBACiAJZWNobyBiaXMgPmJpcy50eHQgJiYKIAlnaXQgYWRkIGJpcy50eHQgJiYKIAlnaXQgY29tbWl0IC1tICJmaXh1cCEgdHdvX2V4ZWMiICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JKAotCQlnaXQgY2hlY2tvdXQgLWIgYXV0b3NxdWFzaF9hY3R1YWwgJiYKLQkJZ2l0IHJlYmFzZSAtaSAtLWV4ZWMgImdpdCBzaG93IEhFQUQiIC0tYXV0b3NxdWFzaCBIRUFEfjQgPmFjdHVhbAotCSkgJiYKKwlnaXQgY2hlY2tvdXQgLWIgYXV0b3NxdWFzaF9hY3R1YWwgJiYKKwlnaXQgcmViYXNlIC1pIC0tZXhlYyAiZ2l0IHNob3cgSEVBRCIgLS1hdXRvc3F1YXNoIEhFQUR+NCA+YWN0dWFsICYmCiAJZ2l0IGNoZWNrb3V0IGF1dG9zcXVhc2ggJiYKIAkoCisJCXNldF9mYWtlX2VkaXRvciAmJgogCQlnaXQgY2hlY2tvdXQgLWIgYXV0b3NxdWFzaF9leHBlY3RlZCAmJgogCQlGQUtFX0xJTkVTPSIxIGZpeHVwIDMgZml4dXAgNCBleGVjX2dpdF9zaG93X0hFQUQgMiBleGVjX2dpdF9zaG93X0hFQUQiICYmCiAJCWV4cG9ydCBGQUtFX0xJTkVTICYmCkBAIC05NTIsNyArMTAyNSw2IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtaSAtLWV4ZWMgd2l0aG91dCA8Q01EPicgJwogCWdpdCByZXNldCAtLWhhcmQgZXhlY3V0ZSAmJgotCXNldF9mYWtlX2VkaXRvciAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLWkgLS1leGVjIDI+YWN0dWFsICYmCiAJdGVzdF9pMThuZ3JlcCAicmVxdWlyZXMgYSB2YWx1ZSIgYWN0dWFsICYmCiAJZ2l0IGNoZWNrb3V0IG1hc3RlcgpAQCAtOTYwLDggKzEwMzIsMTAgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC1pIC0tcm9vdCByZS1vcmRlciBhbmQgZHJvcCBjb21taXRzJyAnCiAJZ2l0IGNoZWNrb3V0IEUgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQlGQUtFX0xJTkVTPSIzIDEgMiA1IiBnaXQgcmViYXNlIC1pIC0tcm9vdCAmJgorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCUZBS0VfTElORVM9IjMgMSAyIDUiIGdpdCByZWJhc2UgLWkgLS1yb290CisJKSAmJgogCXRlc3QgRSA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgc2VkIC1uZSBcJHApICYmCiAJdGVzdCBCID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUReIHwgc2VkIC1uZSBcJHApICYmCiAJdGVzdCBBID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUReXiB8IHNlZCAtbmUgXCRwKSAmJgpAQCAtOTc0LDQ4ICsxMDQ4LDcwIEBACiAJZWNobyBCID5maWxlNyAmJgogCWdpdCBhZGQgZmlsZTcgJiYKIAlHSVRfQVVUSE9SX05BTUU9IlR3ZXJwIFNub2ciIGdpdCBjb21taXQgLW0gImRpZmZlcmVudCBhdXRob3IiICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JRkFLRV9MSU5FUz0iMiIgZ2l0IHJlYmFzZSAtaSAtLXJvb3QgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0xJTkVTPSIyIiBnaXQgcmViYXNlIC1pIC0tcm9vdAorCSkgJiYKIAlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBncmVwIC1xICJeYXV0aG9yIFR3ZXJwIFNub2ciICYmCiAJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgZ3JlcCAtcSAiXmRpZmZlcmVudCBhdXRob3IkIgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLWkgLS1yb290IHRlbXBvcmFyeSBzZW50aW5lbCBjb21taXQnICcKIAlnaXQgY2hlY2tvdXQgQiAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0xJTkVTPSIyIiBnaXQgcmViYXNlIC1pIC0tcm9vdCAmJgotCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCB8IGdyZXAgIl50cmVlIDRiODI1ZGM2NDJjYiIgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQl0ZXN0X211c3RfZmFpbCBlbnYgRkFLRV9MSU5FUz0iMiIgZ2l0IHJlYmFzZSAtaSAtLXJvb3QKKwkpICYmCisJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgZ3JlcCAiXnRyZWUgJEVNUFRZX1RSRUUiICYmCiAJZ2l0IHJlYmFzZSAtLWFib3J0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtaSAtLXJvb3QgZml4dXAgcm9vdCBjb21taXQnICcKIAlnaXQgY2hlY2tvdXQgQiAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCUZBS0VfTElORVM9IjEgZml4dXAgMiIgZ2l0IHJlYmFzZSAtaSAtLXJvb3QgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0xJTkVTPSIxIGZpeHVwIDIiIGdpdCByZWJhc2UgLWkgLS1yb290CisJKSAmJgogCXRlc3QgQSA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgc2VkIC1uZSBcJHApICYmCiAJdGVzdCBCID0gJChnaXQgc2hvdyBIRUFEOmZpbGUxKSAmJgogCXRlc3QgMCA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgZ3JlcCAtYyBecGFyZW50XCApCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtaSAtLXJvb3QgcmV3b3JkIHJvb3QgY29tbWl0JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLWkgLS1yb290IHJld29yZCBvcmlnaW5hbCByb290IGNvbW1pdCcgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCAidGVzdF9taWdodF9mYWlsIGdpdCByZWJhc2UgLS1hYm9ydCIgJiYKLQlnaXQgY2hlY2tvdXQgLWIgcmV3b3JkLXJvb3QtYnJhbmNoIG1hc3RlciAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCUZBS0VfTElORVM9InJld29yZCAxIDIiIEZBS0VfQ09NTUlUX01FU1NBR0U9IkEgY2hhbmdlZCIgXAotCWdpdCByZWJhc2UgLWkgLS1yb290ICYmCisJZ2l0IGNoZWNrb3V0IC1iIHJld29yZC1vcmlnaW5hbC1yb290LWJyYW5jaCBtYXN0ZXIgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0xJTkVTPSJyZXdvcmQgMSAyIiBGQUtFX0NPTU1JVF9NRVNTQUdFPSJBIGNoYW5nZWQiIFwKKwkJCWdpdCByZWJhc2UgLWkgLS1yb290CisJKSAmJgogCWdpdCBzaG93IEhFQUReIHwgZ3JlcCAiQSBjaGFuZ2VkIiAmJgogCXRlc3QgLXogIiQoZ2l0IHNob3cgLXMgLS1mb3JtYXQ9JXAgSEVBRF4pIgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLWkgLS1yb290IHdoZW4gcm9vdCBoYXMgdW50cmFja2VkIGZpbGUgY29uZmlsY3QnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtaSAtLXJvb3QgcmV3b3JkIG5ldyByb290IGNvbW1pdCcgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAidGVzdF9taWdodF9mYWlsIGdpdCByZWJhc2UgLS1hYm9ydCIgJiYKKwlnaXQgY2hlY2tvdXQgLWIgcmV3b3JkLW5vdy1yb290LWJyYW5jaCBtYXN0ZXIgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0xJTkVTPSJyZXdvcmQgMyAxIiBGQUtFX0NPTU1JVF9NRVNTQUdFPSJDIGNoYW5nZWQiIFwKKwkJZ2l0IHJlYmFzZSAtaSAtLXJvb3QKKwkpICYmCisJZ2l0IHNob3cgSEVBRF4gfCBncmVwICJDIGNoYW5nZWQiICYmCisJdGVzdCAteiAiJChnaXQgc2hvdyAtcyAtLWZvcm1hdD0lcCBIRUFEXikiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtaSAtLXJvb3Qgd2hlbiByb290IGhhcyB1bnRyYWNrZWQgZmlsZSBjb25mbGljdCcgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCAicmVzZXRfcmViYXNlIiAmJgogCWdpdCBjaGVja291dCAtYiBmYWlsaW5nLXJvb3QtcGljayBBICYmCiAJZWNobyB4ID5maWxlMiAmJgogCWdpdCBybSBmaWxlMSAmJgogCWdpdCBjb21taXQgLW0gInJlbW92ZSBmaWxlIDEgYWRkIGZpbGUgMiIgJiYKIAllY2hvIHogPmZpbGUxICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JdGVzdF9tdXN0X2ZhaWwgZW52IEZBS0VfTElORVM9IjEgMiIgZ2l0IHJlYmFzZSAtaSAtLXJvb3QgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQl0ZXN0X211c3RfZmFpbCBlbnYgRkFLRV9MSU5FUz0iMSAyIiBnaXQgcmViYXNlIC1pIC0tcm9vdAorCSkgJiYKIAlybSBmaWxlMSAmJgogCWdpdCByZWJhc2UgLS1jb250aW51ZSAmJgogCXRlc3QgIiQoZ2l0IGxvZyAtMSAtLWZvcm1hdD0lQikiID0gInJlbW92ZSBmaWxlIDEgYWRkIGZpbGUgMiIgJiYKQEAgLTEwMjUsMzIgKzExMjEsMzggQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtaSAtLXJvb3QgcmV3b3JkIHJvb3Qgd2hlbiByb290IGhhcyB1bnRyYWNrZWQgZmlsZSBjb25mbGljdCcgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCAicmVzZXRfcmViYXNlIiAmJgogCWVjaG8gej5maWxlMSAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0xJTkVTPSJyZXdvcmQgMSAyIiBcCi0JCUZBS0VfQ09NTUlUX01FU1NBR0U9Ik1vZGlmaWVkIEEiIGdpdCByZWJhc2UgLWkgLS1yb290ICYmCi0Jcm0gZmlsZTEgJiYKLQlGQUtFX0NPTU1JVF9NRVNTQUdFPSJSZXdvcmRlZCBBIiBnaXQgcmViYXNlIC0tY29udGludWUgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQl0ZXN0X211c3RfZmFpbCBlbnYgRkFLRV9MSU5FUz0icmV3b3JkIDEgMiIgXAorCQkJRkFLRV9DT01NSVRfTUVTU0FHRT0iTW9kaWZpZWQgQSIgZ2l0IHJlYmFzZSAtaSAtLXJvb3QgJiYKKwkJcm0gZmlsZTEgJiYKKwkJRkFLRV9DT01NSVRfTUVTU0FHRT0iUmV3b3JkZWQgQSIgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlCisJKSAmJgogCXRlc3QgIiQoZ2l0IGxvZyAtMSAtLWZvcm1hdD0lQiBIRUFEXikiID0gIlJld29yZGVkIEEiICYmCiAJdGVzdCAiJChnaXQgcmV2LWxpc3QgLS1jb3VudCBIRUFEKSIgPSAyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgQ19MT0NBTEVfT1VUUFVUICdyZWJhc2UgLS1lZGl0LXRvZG8gZG9lcyBub3Qgd29yayBvbiBub24taW50ZXJhY3RpdmUgcmViYXNlJyAnCi0JZ2l0IGNoZWNrb3V0IHJld29yZC1yb290LWJyYW5jaCAmJgorCWdpdCBjaGVja291dCByZXdvcmQtb3JpZ2luYWwtcm9vdC1icmFuY2ggJiYKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZ2l0IGNoZWNrb3V0IGNvbmZsaWN0LWJyYW5jaCAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLS1vbnRvIEhFQUR+MiBIRUFEfiAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLS1lZGl0LXRvZG8gJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC1mIC0tYXBwbHkgLS1vbnRvIEhFQUR+MiBIRUFEfiAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC0tZWRpdC10b2RvCisJKSAmJgogCWdpdCByZWJhc2UgLS1hYm9ydAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLS1lZGl0LXRvZG8gY2FuIGJlIHVzZWQgdG8gbW9kaWZ5IHRvZG8nICcKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZ2l0IGNoZWNrb3V0IG5vLWNvbmZsaWN0LWJyYW5jaF4wICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JRkFLRV9MSU5FUz0iZWRpdCAxIDIgMyIgZ2l0IHJlYmFzZSAtaSBIRUFEfjMgJiYKLQlGQUtFX0xJTkVTPSIyIDEiIGdpdCByZWJhc2UgLS1lZGl0LXRvZG8gJiYKLQlnaXQgcmViYXNlIC0tY29udGludWUgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0xJTkVTPSJlZGl0IDEgMiAzIiBnaXQgcmViYXNlIC1pIEhFQUR+MyAmJgorCQlGQUtFX0xJTkVTPSIyIDEiIGdpdCByZWJhc2UgLS1lZGl0LXRvZG8gJiYKKwkJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlCisJKSAmJgogCXRlc3QgTSA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEXiB8IHNlZCAtbmUgXCRwKSAmJgogCXRlc3QgTCA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgc2VkIC1uZSBcJHApCiAnCkBAIC0xMDU4LDEzICsxMTYwLDEyIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLWkgcHJvZHVjZXMgcmVhZGFibGUgcmVmbG9nJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWdpdCBicmFuY2ggLWYgYnJhbmNoLXJlZmxvZy10ZXN0IEggJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKIAlnaXQgcmViYXNlIC1pIC0tb250byBJIEYgYnJhbmNoLXJlZmxvZy10ZXN0ICYmCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgotCXJlYmFzZSAtaSAoZmluaXNoKTogcmV0dXJuaW5nIHRvIHJlZnMvaGVhZHMvYnJhbmNoLXJlZmxvZy10ZXN0Ci0JcmViYXNlIC1pIChwaWNrKTogSAotCXJlYmFzZSAtaSAocGljayk6IEcKLQlyZWJhc2UgLWkgKHN0YXJ0KTogY2hlY2tvdXQgSQorCXJlYmFzZSAoZmluaXNoKTogcmV0dXJuaW5nIHRvIHJlZnMvaGVhZHMvYnJhbmNoLXJlZmxvZy10ZXN0CisJcmViYXNlIChwaWNrKTogSAorCXJlYmFzZSAocGljayk6IEcKKwlyZWJhc2UgKHN0YXJ0KTogY2hlY2tvdXQgSQogCUVPRgogCWdpdCByZWZsb2cgLW40IEhFQUQgfAogCXNlZCAicy9bXjpdKjogLy8iID5hY3R1YWwgJiYKQEAgLTEwNzksOCArMTE4MCwxMCBAQAogCXNlZCAtZSAiMixcJHMvXi9cXFxcLyIgIiQxIiA+IiQxLnRtcCIgJiYKIAltdiAiJDEudG1wIiAiJDEiCiAJRU9GCi0JdGVzdF9zZXRfZWRpdG9yICIkKHB3ZCkvcmVtb3ZlLWFsbC1idXQtZmlyc3Quc2giICYmCi0JZ2l0IHJlYmFzZSAtaSBCICYmCisJKAorCQl0ZXN0X3NldF9lZGl0b3IgIiQocHdkKS9yZW1vdmUtYWxsLWJ1dC1maXJzdC5zaCIgJiYKKwkJZ2l0IHJlYmFzZSAtaSBCCisJKSAmJgogCXRlc3QgQiA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEXiB8IHNlZCAtbmUgXCRwKQogJwogCkBAIC0xMDg5LDkgKzExOTIsMTEgQEAKIAl3cml0ZV9zY3JpcHQgY29weS1lZGl0LXNjcmlwdC5zaCA8PC1cRU9GICYmCiAJY3AgIiQxIiBlZGl0LXNjcmlwdAogCUVPRgotCXRlc3Rfc2V0X2VkaXRvciAiJChwd2QpL2NvcHktZWRpdC1zY3JpcHQuc2giICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmViYXNlIC0tYWJvcnQgfHwgOiIgJiYKLQlnaXQgcmViYXNlIC1pIEhFQUReICYmCisJKAorCQl0ZXN0X3NldF9lZGl0b3IgIiQocHdkKS9jb3B5LWVkaXQtc2NyaXB0LnNoIiAmJgorCQlnaXQgcmViYXNlIC1pIEhFQUReCisJKSAmJgogCXRlc3QgLXogIiQoZ3JlcCAtdmUgIl4jIiAtZSAiXlwkIiAtZSAiXnBpY2siIGVkaXQtc2NyaXB0KSIKICcKIApAQCAtMTEyNiw4ICsxMjMxLDExIEBACiAJZWNobyBmaXZlID5jb25mbGljdCAmJgogCWVjaG8gWiA+ZmlsZTEgJiYKIAlnaXQgY29tbWl0IC1hIC1tICJvbmUgZmlsZSBjb25mbGljdCIgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQlGQUtFX0xJTkVTPSJlZGl0IDEgMiIgZ2l0IHJlYmFzZSAtaSAtLXN0cmF0ZWd5PXJlY3Vyc2l2ZSAtWG91cnMgY29uZmxpY3QtYnJhbmNoICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJRkFLRV9MSU5FUz0iZWRpdCAxIDIiIGdpdCByZWJhc2UgLWkgLS1zdHJhdGVneT1yZWN1cnNpdmUgXAorCQkJLVhvdXJzIGNvbmZsaWN0LWJyYW5jaAorCSkgJiYKIAlnaXQgcmViYXNlIC0tY29udGludWUgJiYKIAl0ZXN0ICQoZ2l0IHNob3cgY29uZmxpY3QtYnJhbmNoOmNvbmZsaWN0KSA9ICQoY2F0IGNvbmZsaWN0KSAmJgogCXRlc3QgJChjYXQgZmlsZTEpID0gWgpAQCAtMTE0Miw3ICsxMjUwLDcgQEAKIAl0ZXN0X2V4cGVjdF9jb2RlIDEgZ3JlcCAgIgllbXAiIGVycm9yCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Nob3J0IFNIQS0xIHNldHVwJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFNIQTEgJ3Nob3J0IFNIQS0xIHNldHVwJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlY2tvdXQgbWFzdGVyIiAmJgogCWdpdCBjaGVja291dCAtLW9ycGhhbiBjb2xsaWRlICYmCiAJZ2l0IHJtIC1yZiAuICYmCkBAIC0xMTU0LDIyICsxMjYyLDM3IEBACiAJKQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzaG9ydCBTSEEtMSBjb2xsaWRlJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFNIQTEgJ3Nob3J0IFNIQS0xIGNvbGxpZGUnICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJlc2V0X3JlYmFzZSAmJiBnaXQgY2hlY2tvdXQgbWFzdGVyIiAmJgogCWdpdCBjaGVja291dCBjb2xsaWRlICYmCisJY29sbGlkaW5nX3NoYTE9NmJjZGEzNyAmJgorCXRlc3QgJGNvbGxpZGluZ19zaGExID0gIiQoZ2l0IHJldi1wYXJzZSBIRUFEIHwgY3V0IC1jIDEtNykiICYmCiAJKAotCXVuc2V0IHRlc3RfdGljayAmJgotCXRlc3RfdGljayAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCUZBS0VfQ09NTUlUX01FU1NBR0U9ImNvbGxpZGUyIGFjNGYyZWUiIFwKLQlGQUtFX0xJTkVTPSJyZXdvcmQgMSAyIiBnaXQgcmViYXNlIC1pIEhFQUR+MgotCSkKKwkJdW5zZXQgdGVzdF90aWNrICYmCisJCXRlc3RfdGljayAmJgorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJRkFLRV9DT01NSVRfTUVTU0FHRT0iY29sbGlkZTIgYWM0ZjJlZSIgXAorCQlGQUtFX0xJTkVTPSJyZXdvcmQgMSBicmVhayAyIiBnaXQgcmViYXNlIC1pIEhFQUR+MiAmJgorCQl0ZXN0ICRjb2xsaWRpbmdfc2hhMSA9ICIkKGdpdCByZXYtcGFyc2UgSEVBRCB8IGN1dCAtYyAxLTcpIiAmJgorCQlncmVwICJecGljayAkY29sbGlkaW5nX3NoYTEgIiBcCisJCQkuZ2l0L3JlYmFzZS1tZXJnZS9naXQtcmViYXNlLXRvZG8udG1wICYmCisJCWdyZXAgIl5waWNrIFswLTlhLWZdXHs0MFx9IiBcCisJCQkuZ2l0L3JlYmFzZS1tZXJnZS9naXQtcmViYXNlLXRvZG8gJiYKKwkJZ3JlcCAiXnBpY2sgWzAtOWEtZl1cezQwXH0iIFwKKwkJCS5naXQvcmViYXNlLW1lcmdlL2dpdC1yZWJhc2UtdG9kby5iYWNrdXAgJiYKKwkJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlCisJKSAmJgorCWNvbGxpZGUyPSIkKGdpdCByZXYtcGFyc2UgSEVBRH4xIHwgY3V0IC1jIDEtNCkiICYmCisJY29sbGlkZTM9IiQoZ2l0IHJldi1wYXJzZSBjb2xsaWRlMyB8IGN1dCAtYyAxLTQpIiAmJgorCXRlc3QgIiRjb2xsaWRlMiIgPSAiJGNvbGxpZGUzIgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXNwZWN0IGNvcmUuYWJicmV2JyAnCiAJZ2l0IGNvbmZpZyBjb3JlLmFiYnJldiAxMiAmJgotCXNldF9jYXRfdG9kb19lZGl0b3IgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC1pIEhFQUR+NCA+dG9kby1saXN0ICYmCisJKAorCQlzZXRfY2F0X3RvZG9fZWRpdG9yICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLWkgSEVBRH40ID50b2RvLWxpc3QKKwkpICYmCiAJdGVzdCA0ID0gJChncmVwIC1jICJwaWNrIFswLTlhLWZdXHsxMixcfSIgdG9kby1saXN0KQogJwogCkBAIC0xMTc3LDE2ICsxMzAwLDIwIEBACiAJd3JpdGVfc2NyaXB0IGR1bXAtcmF3LnNoIDw8LVxFT0YgJiYKIAkJY2F0ICIkMSIKIAlFT0YKLQl0ZXN0X3NldF9lZGl0b3IgIiQocHdkKS9kdW1wLXJhdy5zaCIgJiYKLQlnaXQgcmViYXNlIC1pIEhFQUR+NCA+YWN0dWFsICYmCisJKAorCQl0ZXN0X3NldF9lZGl0b3IgIiQocHdkKS9kdW1wLXJhdy5zaCIgJiYKKwkJZ2l0IHJlYmFzZSAtaSBIRUFEfjQgPmFjdHVhbAorCSkgJiYKIAl0ZXN0X2kxOG5ncmVwICJeIyBSZWJhc2UgLi4qIG9udG8gLi4qIChbMC05XSIgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtaSBjb21taXRzIHRoYXQgb3ZlcndyaXRlIHVudHJhY2tlZCBmaWxlcyAocGljayknICcKIAlnaXQgY2hlY2tvdXQgLS1mb3JjZSBicmFuY2gyICYmCiAJZ2l0IGNsZWFuIC1mICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JRkFLRV9MSU5FUz0iZWRpdCAxIDIiIGdpdCByZWJhc2UgLWkgQSAmJgorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCUZBS0VfTElORVM9ImVkaXQgMSAyIiBnaXQgcmViYXNlIC1pIEEKKwkpICYmCiAJdGVzdF9jbXBfcmV2IEhFQUQgRiAmJgogCXRlc3RfcGF0aF9pc19taXNzaW5nIGZpbGU2ICYmCiAJPmZpbGU2ICYmCkBAIC0xMjAxLDggKzEzMjgsMTAgQEAKIAlnaXQgY2hlY2tvdXQgLS1mb3JjZSBicmFuY2gyICYmCiAJZ2l0IGNsZWFuIC1mICYmCiAJZ2l0IHRhZyBvcmlnaW5hbC1icmFuY2gyICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JRkFLRV9MSU5FUz0iZWRpdCAxIHNxdWFzaCAyIiBnaXQgcmViYXNlIC1pIEEgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0xJTkVTPSJlZGl0IDEgc3F1YXNoIDIiIGdpdCByZWJhc2UgLWkgQQorCSkgJiYKIAl0ZXN0X2NtcF9yZXYgSEVBRCBGICYmCiAJdGVzdF9wYXRoX2lzX21pc3NpbmcgZmlsZTYgJiYKIAk+ZmlsZTYgJiYKQEAgLTEyMTcsOCArMTM0NiwxMCBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC1pIGNvbW1pdHMgdGhhdCBvdmVyd3JpdGUgdW50cmFja2VkIGZpbGVzIChubyBmZiknICcKIAlnaXQgY2hlY2tvdXQgLS1mb3JjZSBicmFuY2gyICYmCiAJZ2l0IGNsZWFuIC1mICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JRkFLRV9MSU5FUz0iZWRpdCAxIDIiIGdpdCByZWJhc2UgLWkgLS1uby1mZiBBICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJRkFLRV9MSU5FUz0iZWRpdCAxIDIiIGdpdCByZWJhc2UgLWkgLS1uby1mZiBBCisJKSAmJgogCXRlc3QgJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBzZWQgLW5lIFwkcCkgPSBGICYmCiAJdGVzdF9wYXRoX2lzX21pc3NpbmcgZmlsZTYgJiYKIAk+ZmlsZTYgJiYKQEAgLTEyNDEsOCArMTM3MiwxMCBAQAogCWdpdCB0YWcgc2VxLW9udG8gJiYKIAlnaXQgcmVzZXQgLS1oYXJkIEhFQUR+MiAmJgogCWdpdCBjaGVycnktcGljayBzZXEtb250byAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0xJTkVTPSBnaXQgcmViYXNlIC1pIHNlcS1vbnRvICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZW52IEZBS0VfTElORVM9IGdpdCByZWJhc2UgLWkgc2VxLW9udG8KKwkpICYmCiAJdGVzdCAtZCAuZ2l0L3JlYmFzZS1tZXJnZSAmJgogCWdpdCByZWJhc2UgLS1jb250aW51ZSAmJgogCWdpdCBkaWZmIC0tZXhpdC1jb2RlIHNlcS1vbnRvICYmCkBAIC0xMjYxLDggKzEzOTQsMTAgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZHJvcCcgJwogCXJlYmFzZV9zZXR1cF9hbmRfY2xlYW4gZHJvcC10ZXN0ICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JRkFLRV9MSU5FUz0iMSBkcm9wIDIgMyBkIDQgNSIgZ2l0IHJlYmFzZSAtaSAtLXJvb3QgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0xJTkVTPSIxIGRyb3AgMiAzIGQgNCA1IiBnaXQgcmViYXNlIC1pIC0tcm9vdAorCSkgJiYKIAl0ZXN0IEUgPSAkKGdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCB8IHNlZCAtbmUgXCRwKSAmJgogCXRlc3QgQyA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEXiB8IHNlZCAtbmUgXCRwKSAmJgogCXRlc3QgQSA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEXl4gfCBzZWQgLW5lIFwkcCkKQEAgLTEyNzEsNzYgKzE0MDYsMTg1IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLWkgcmVzcGVjdHMgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2sgPSBpZ25vcmUnICcKIAl0ZXN0X2NvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjayBpZ25vcmUgJiYKIAlyZWJhc2Vfc2V0dXBfYW5kX2NsZWFuIG1pc3NpbmctY29tbWl0ICYmCi0Jc2V0X2Zha2VfZWRpdG9yICYmCi0JRkFLRV9MSU5FUz0iMSAyIDMgNCIgXAotCQlnaXQgcmViYXNlIC1pIC0tcm9vdCAyPmFjdHVhbCAmJgorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCUZBS0VfTElORVM9IjEgMiAzIDQiIGdpdCByZWJhc2UgLWkgLS1yb290IDI+YWN0dWFsCisJKSAmJgogCXRlc3QgRCA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgc2VkIC1uZSBcJHApICYmCiAJdGVzdF9pMThuZ3JlcCBcCiAJCSJTdWNjZXNzZnVsbHkgcmViYXNlZCBhbmQgdXBkYXRlZCByZWZzL2hlYWRzL21pc3NpbmctY29tbWl0IiBcCiAJCWFjdHVhbAogJwogCi1jYXQgPmV4cGVjdCA8PEVPRgotV2FybmluZzogc29tZSBjb21taXRzIG1heSBoYXZlIGJlZW4gZHJvcHBlZCBhY2NpZGVudGFsbHkuCi1Ecm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKToKLSAtICQoZ2l0IHJldi1saXN0IC0tcHJldHR5PW9uZWxpbmUgLS1hYmJyZXYtY29tbWl0IC0xIG1hc3RlcikKLVRvIGF2b2lkIHRoaXMgbWVzc2FnZSwgdXNlICJkcm9wIiB0byBleHBsaWNpdGx5IHJlbW92ZSBhIGNvbW1pdC4KLQotVXNlICdnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mIHdhcm5pbmdzLgotVGhlIHBvc3NpYmxlIGJlaGF2aW91cnMgYXJlOiBpZ25vcmUsIHdhcm4sIGVycm9yLgotCi1SZWJhc2luZyAoMS80KQotUmViYXNpbmcgKDIvNCkKLVJlYmFzaW5nICgzLzQpCi1SZWJhc2luZyAoNC80KQotU3VjY2Vzc2Z1bGx5IHJlYmFzZWQgYW5kIHVwZGF0ZWQgcmVmcy9oZWFkcy9taXNzaW5nLWNvbW1pdC4KLUVPRgotCi1jcl90b19ubCAoKSB7Ci0JdHIgJ1wwMTUnICdcMDEyJwotfQotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLWkgcmVzcGVjdHMgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2sgPSB3YXJuJyAnCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJV2FybmluZzogc29tZSBjb21taXRzIG1heSBoYXZlIGJlZW4gZHJvcHBlZCBhY2NpZGVudGFsbHkuCisJRHJvcHBlZCBjb21taXRzIChuZXdlciB0byBvbGRlcik6CisJIC0gJChnaXQgcmV2LWxpc3QgLS1wcmV0dHk9b25lbGluZSAtLWFiYnJldi1jb21taXQgLTEgbWFzdGVyKQorCVRvIGF2b2lkIHRoaXMgbWVzc2FnZSwgdXNlICJkcm9wIiB0byBleHBsaWNpdGx5IHJlbW92ZSBhIGNvbW1pdC4KKwlFT0YKIAl0ZXN0X2NvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjayB3YXJuICYmCiAJcmViYXNlX3NldHVwX2FuZF9jbGVhbiBtaXNzaW5nLWNvbW1pdCAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCUZBS0VfTElORVM9IjEgMiAzIDQiIFwKLQkJZ2l0IHJlYmFzZSAtaSAtLXJvb3QgMj5hY3R1YWwuMiAmJgotCWNyX3RvX25sIDxhY3R1YWwuMiA+YWN0dWFsICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJRkFLRV9MSU5FUz0iMSAyIDMgNCIgZ2l0IHJlYmFzZSAtaSAtLXJvb3QgMj5hY3R1YWwuMgorCSkgJiYKKwloZWFkIC1uNCBhY3R1YWwuMiA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwgJiYKIAl0ZXN0IEQgPSAkKGdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCB8IHNlZCAtbmUgXCRwKQogJwogCi1jYXQgPmV4cGVjdCA8PEVPRgotV2FybmluZzogc29tZSBjb21taXRzIG1heSBoYXZlIGJlZW4gZHJvcHBlZCBhY2NpZGVudGFsbHkuCi1Ecm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKToKLSAtICQoZ2l0IHJldi1saXN0IC0tcHJldHR5PW9uZWxpbmUgLS1hYmJyZXYtY29tbWl0IC0xIG1hc3RlcikKLSAtICQoZ2l0IHJldi1saXN0IC0tcHJldHR5PW9uZWxpbmUgLS1hYmJyZXYtY29tbWl0IC0xIG1hc3Rlcn4yKQotVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgImRyb3AiIHRvIGV4cGxpY2l0bHkgcmVtb3ZlIGEgY29tbWl0LgotCi1Vc2UgJ2dpdCBjb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2snIHRvIGNoYW5nZSB0aGUgbGV2ZWwgb2Ygd2FybmluZ3MuCi1UaGUgcG9zc2libGUgYmVoYXZpb3VycyBhcmU6IGlnbm9yZSwgd2FybiwgZXJyb3IuCi0KLVlvdSBjYW4gZml4IHRoaXMgd2l0aCAnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbycgYW5kIHRoZW4gcnVuICdnaXQgcmViYXNlIC0tY29udGludWUnLgotT3IgeW91IGNhbiBhYm9ydCB0aGUgcmViYXNlIHdpdGggJ2dpdCByZWJhc2UgLS1hYm9ydCcuCi1FT0YKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC1pIHJlc3BlY3RzIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrID0gZXJyb3InICcKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwlXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS4KKwlEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKToKKwkgLSAkKGdpdCByZXYtbGlzdCAtLXByZXR0eT1vbmVsaW5lIC0tYWJicmV2LWNvbW1pdCAtMSBtYXN0ZXIpCisJIC0gJChnaXQgcmV2LWxpc3QgLS1wcmV0dHk9b25lbGluZSAtLWFiYnJldi1jb21taXQgLTEgbWFzdGVyfjIpCisJVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgImRyb3AiIHRvIGV4cGxpY2l0bHkgcmVtb3ZlIGEgY29tbWl0LgorCisJVXNlICdcJydnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJ1wnJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mIHdhcm5pbmdzLgorCVRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci4KKworCVlvdSBjYW4gZml4IHRoaXMgd2l0aCAnXCcnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbydcJycgYW5kIHRoZW4gcnVuICdcJydnaXQgcmViYXNlIC0tY29udGludWUnXCcnLgorCU9yIHlvdSBjYW4gYWJvcnQgdGhlIHJlYmFzZSB3aXRoICdcJydnaXQgcmViYXNlIC0tYWJvcnQnXCcnLgorCUVPRgogCXRlc3RfY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrIGVycm9yICYmCiAJcmViYXNlX3NldHVwX2FuZF9jbGVhbiBtaXNzaW5nLWNvbW1pdCAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0xJTkVTPSIxIDIgNCIgXAotCQlnaXQgcmViYXNlIC1pIC0tcm9vdCAyPmFjdHVhbCAmJgotCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsICYmCi0JY3AgLmdpdC9yZWJhc2UtbWVyZ2UvZ2l0LXJlYmFzZS10b2RvLmJhY2t1cCBcCi0JCS5naXQvcmViYXNlLW1lcmdlL2dpdC1yZWJhc2UtdG9kbyAmJgotCUZBS0VfTElORVM9IjEgMiBkcm9wIDMgNCBkcm9wIDUiIFwKLQkJZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbyAmJgorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0xJTkVTPSIxIDIgNCIgXAorCQkJZ2l0IHJlYmFzZSAtaSAtLXJvb3QgMj5hY3R1YWwgJiYKKwkJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwgJiYKKwkJY3AgLmdpdC9yZWJhc2UtbWVyZ2UvZ2l0LXJlYmFzZS10b2RvLmJhY2t1cCBcCisJCQkuZ2l0L3JlYmFzZS1tZXJnZS9naXQtcmViYXNlLXRvZG8gJiYKKwkJRkFLRV9MSU5FUz0iMSAyIGRyb3AgMyA0IGRyb3AgNSIgZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbworCSkgJiYKIAlnaXQgcmViYXNlIC0tY29udGludWUgJiYKIAl0ZXN0IEQgPSAkKGdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCB8IHNlZCAtbmUgXCRwKSAmJgogCXRlc3QgQiA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEXiB8IHNlZCAtbmUgXCRwKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLS1lZGl0LXRvZG8gcmVzcGVjdHMgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2sgPSBpZ25vcmUnICcKKwl0ZXN0X2NvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjayBpZ25vcmUgJiYKKwlyZWJhc2Vfc2V0dXBfYW5kX2NsZWFuIG1pc3NpbmctY29tbWl0ICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJRkFLRV9MSU5FUz0iYnJlYWsgMSAyIDMgNCA1IiBnaXQgcmViYXNlIC1pIC0tcm9vdCAmJgorCQlGQUtFX0xJTkVTPSIxIDIgMyA0IiBnaXQgcmViYXNlIC0tZWRpdC10b2RvICYmCisJCWdpdCByZWJhc2UgLS1jb250aW51ZSAyPmFjdHVhbAorCSkgJiYKKwl0ZXN0IEQgPSAkKGdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCB8IHNlZCAtbmUgXCRwKSAmJgorCXRlc3RfaTE4bmdyZXAgXAorCQkiU3VjY2Vzc2Z1bGx5IHJlYmFzZWQgYW5kIHVwZGF0ZWQgcmVmcy9oZWFkcy9taXNzaW5nLWNvbW1pdCIgXAorCQlhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC0tZWRpdC10b2RvIHJlc3BlY3RzIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrID0gd2FybicgJworCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCWVycm9yOiBpbnZhbGlkIGxpbmUgMTogYmFkY21kICQoZ2l0IHJldi1saXN0IC0tcHJldHR5PW9uZWxpbmUgLS1hYmJyZXYtY29tbWl0IC0xIG1hc3Rlcn40KQorCVdhcm5pbmc6IHNvbWUgY29tbWl0cyBtYXkgaGF2ZSBiZWVuIGRyb3BwZWQgYWNjaWRlbnRhbGx5LgorCURyb3BwZWQgY29tbWl0cyAobmV3ZXIgdG8gb2xkZXIpOgorCSAtICQoZ2l0IHJldi1saXN0IC0tcHJldHR5PW9uZWxpbmUgLS1hYmJyZXYtY29tbWl0IC0xIG1hc3RlcikKKwkgLSAkKGdpdCByZXYtbGlzdCAtLXByZXR0eT1vbmVsaW5lIC0tYWJicmV2LWNvbW1pdCAtMSBtYXN0ZXJ+NCkKKwlUbyBhdm9pZCB0aGlzIG1lc3NhZ2UsIHVzZSAiZHJvcCIgdG8gZXhwbGljaXRseSByZW1vdmUgYSBjb21taXQuCisJRU9GCisJaGVhZCAtbjQgZXhwZWN0ID5leHBlY3QuMiAmJgorCXRhaWwgLW4xIGV4cGVjdCA+PmV4cGVjdC4yICYmCisJdGFpbCAtbjQgZXhwZWN0LjIgPmV4cGVjdC4zICYmCisJdGVzdF9jb25maWcgcmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2sgd2FybiAmJgorCXJlYmFzZV9zZXR1cF9hbmRfY2xlYW4gbWlzc2luZy1jb21taXQgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQl0ZXN0X211c3RfZmFpbCBlbnYgRkFLRV9MSU5FUz0iYmFkIDEgMiAzIDQgNSIgXAorCQkJZ2l0IHJlYmFzZSAtaSAtLXJvb3QgJiYKKwkJY3AgLmdpdC9yZWJhc2UtbWVyZ2UvZ2l0LXJlYmFzZS10b2RvLmJhY2t1cCBvcmlnICYmCisJCUZBS0VfTElORVM9IjIgMyA0IiBnaXQgcmViYXNlIC0tZWRpdC10b2RvIDI+YWN0dWFsLjIgJiYKKwkJaGVhZCAtbjYgYWN0dWFsLjIgPmFjdHVhbCAmJgorCQl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbCAmJgorCQljcCBvcmlnIC5naXQvcmViYXNlLW1lcmdlL2dpdC1yZWJhc2UtdG9kbyAmJgorCQlGQUtFX0xJTkVTPSIxIDIgMyA0IiBnaXQgcmViYXNlIC0tZWRpdC10b2RvIDI+YWN0dWFsLjIgJiYKKwkJaGVhZCAtbjQgYWN0dWFsLjIgPmFjdHVhbCAmJgorCQl0ZXN0X2kxOG5jbXAgZXhwZWN0LjMgYWN0dWFsICYmCisJCWdpdCByZWJhc2UgLS1jb250aW51ZSAyPmFjdHVhbAorCSkgJiYKKwl0ZXN0IEQgPSAkKGdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCB8IHNlZCAtbmUgXCRwKSAmJgorCXRlc3RfaTE4bmdyZXAgXAorCQkiU3VjY2Vzc2Z1bGx5IHJlYmFzZWQgYW5kIHVwZGF0ZWQgcmVmcy9oZWFkcy9taXNzaW5nLWNvbW1pdCIgXAorCQlhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC0tZWRpdC10b2RvIHJlc3BlY3RzIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrID0gZXJyb3InICcKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwllcnJvcjogaW52YWxpZCBsaW5lIDE6IGJhZGNtZCAkKGdpdCByZXYtbGlzdCAtLXByZXR0eT1vbmVsaW5lIC0tYWJicmV2LWNvbW1pdCAtMSBtYXN0ZXJ+NCkKKwlXYXJuaW5nOiBzb21lIGNvbW1pdHMgbWF5IGhhdmUgYmVlbiBkcm9wcGVkIGFjY2lkZW50YWxseS4KKwlEcm9wcGVkIGNvbW1pdHMgKG5ld2VyIHRvIG9sZGVyKToKKwkgLSAkKGdpdCByZXYtbGlzdCAtLXByZXR0eT1vbmVsaW5lIC0tYWJicmV2LWNvbW1pdCAtMSBtYXN0ZXIpCisJIC0gJChnaXQgcmV2LWxpc3QgLS1wcmV0dHk9b25lbGluZSAtLWFiYnJldi1jb21taXQgLTEgbWFzdGVyfjQpCisJVG8gYXZvaWQgdGhpcyBtZXNzYWdlLCB1c2UgImRyb3AiIHRvIGV4cGxpY2l0bHkgcmVtb3ZlIGEgY29tbWl0LgorCisJVXNlICdcJydnaXQgY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrJ1wnJyB0byBjaGFuZ2UgdGhlIGxldmVsIG9mIHdhcm5pbmdzLgorCVRoZSBwb3NzaWJsZSBiZWhhdmlvdXJzIGFyZTogaWdub3JlLCB3YXJuLCBlcnJvci4KKworCVlvdSBjYW4gZml4IHRoaXMgd2l0aCAnXCcnZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbydcJycgYW5kIHRoZW4gcnVuICdcJydnaXQgcmViYXNlIC0tY29udGludWUnXCcnLgorCU9yIHlvdSBjYW4gYWJvcnQgdGhlIHJlYmFzZSB3aXRoICdcJydnaXQgcmViYXNlIC0tYWJvcnQnXCcnLgorCUVPRgorCXRhaWwgLW4xMSBleHBlY3QgPmV4cGVjdC4yICYmCisJaGVhZCAtbjMgZXhwZWN0LjIgPmV4cGVjdC4zICYmCisJdGFpbCAtbjcgZXhwZWN0LjIgPj5leHBlY3QuMyAmJgorCXRlc3RfY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrIGVycm9yICYmCisJcmViYXNlX3NldHVwX2FuZF9jbGVhbiBtaXNzaW5nLWNvbW1pdCAmJgorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0xJTkVTPSJiYWQgMSAyIDMgNCA1IiBcCisJCQlnaXQgcmViYXNlIC1pIC0tcm9vdCAmJgorCQljcCAuZ2l0L3JlYmFzZS1tZXJnZS9naXQtcmViYXNlLXRvZG8uYmFja3VwIG9yaWcgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZW52IEZBS0VfTElORVM9IjIgMyA0IiBcCisJCQlnaXQgcmViYXNlIC0tZWRpdC10b2RvIDI+YWN0dWFsICYmCisJCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLS1jb250aW51ZSAyPmFjdHVhbCAmJgorCQl0ZXN0X2kxOG5jbXAgZXhwZWN0LjIgYWN0dWFsICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLS1lZGl0LXRvZG8gJiYKKwkJY3Agb3JpZyAuZ2l0L3JlYmFzZS1tZXJnZS9naXQtcmViYXNlLXRvZG8gJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZW52IEZBS0VfTElORVM9IjEgMiAzIDQiIFwKKwkJCWdpdCByZWJhc2UgLS1lZGl0LXRvZG8gMj5hY3R1YWwgJiYKKwkJdGVzdF9pMThuY21wIGV4cGVjdC4zIGFjdHVhbCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC0tY29udGludWUgMj5hY3R1YWwgJiYKKwkJdGVzdF9pMThuY21wIGV4cGVjdC4zIGFjdHVhbCAmJgorCQljcCBvcmlnIC5naXQvcmViYXNlLW1lcmdlL2dpdC1yZWJhc2UtdG9kbyAmJgorCQlGQUtFX0xJTkVTPSIxIDIgMyA0IGRyb3AgNSIgZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbyAmJgorCQlnaXQgcmViYXNlIC0tY29udGludWUgMj5hY3R1YWwKKwkpICYmCisJdGVzdCBEID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBzZWQgLW5lIFwkcCkgJiYKKwl0ZXN0X2kxOG5ncmVwIFwKKwkJIlN1Y2Nlc3NmdWxseSByZWJhc2VkIGFuZCB1cGRhdGVkIHJlZnMvaGVhZHMvbWlzc2luZy1jb21taXQiIFwKKwkJYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrID0gZXJyb3IgYWZ0ZXIgcmVzb2x2aW5nIGNvbmZsaWN0cycgJworCXRlc3RfY29uZmlnIHJlYmFzZS5taXNzaW5nQ29tbWl0c0NoZWNrIGVycm9yICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJRkFLRV9MSU5FUz0iZHJvcCAxIGJyZWFrIDIgMyA0IiBnaXQgcmViYXNlIC1pIEEgRQorCSkgJiYKKwlnaXQgcmViYXNlIC0tZWRpdC10b2RvICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlICYmCisJZWNobyB4ID5maWxlMSAmJgorCWdpdCBhZGQgZmlsZTEgJiYKKwlnaXQgcmViYXNlIC0tY29udGludWUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlLm1pc3NpbmdDb21taXRzQ2hlY2sgPSBlcnJvciB3aGVuIGVkaXRpbmcgZm9yIGEgc2Vjb25kIHRpbWUnICcKKwl0ZXN0X2NvbmZpZyByZWJhc2UubWlzc2luZ0NvbW1pdHNDaGVjayBlcnJvciAmJgorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCUZBS0VfTElORVM9IjEgYnJlYWsgMiAzIiBnaXQgcmViYXNlIC1pIEEgRCAmJgorCQljcCAuZ2l0L3JlYmFzZS1tZXJnZS9naXQtcmViYXNlLXRvZG8gdG9kbyAmJgorCQl0ZXN0X211c3RfZmFpbCBlbnYgRkFLRV9MSU5FUz0yIGdpdCByZWJhc2UgLS1lZGl0LXRvZG8gJiYKKwkJR0lUX1NFUVVFTkNFX0VESVRPUj0iY3AgdG9kbyIgZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbyAmJgorCQlnaXQgcmViYXNlIC0tY29udGludWUKKwkpCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jlc3BlY3RzIHJlYmFzZS5hYmJyZXZpYXRlQ29tbWFuZHMgd2l0aCBmaXh1cCwgc3F1YXNoIGFuZCBleGVjJyAnCiAJcmViYXNlX3NldHVwX2FuZF9jbGVhbiBhYmJyZXZjbWQgJiYKIAl0ZXN0X2NvbW1pdCAiZmlyc3QiIGZpbGUxLnR4dCAiZmlyc3QgbGluZSIgZmlyc3QgJiYKQEAgLTEzNTYsMjEgKzE2MDAsMjcgQEAKIAl4IGdpdCBzaG93IEhFQUQKIAlFT0YKIAlnaXQgY2hlY2tvdXQgYWJicmV2Y21kICYmCi0Jc2V0X2NhdF90b2RvX2VkaXRvciAmJgogCXRlc3RfY29uZmlnIHJlYmFzZS5hYmJyZXZpYXRlQ29tbWFuZHMgdHJ1ZSAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLWkgLS1leGVjICJnaXQgc2hvdyBIRUFEIiBcCi0JCS0tYXV0b3NxdWFzaCBtYXN0ZXIgPmFjdHVhbCAmJgorCSgKKwkJc2V0X2NhdF90b2RvX2VkaXRvciAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC1pIC0tZXhlYyAiZ2l0IHNob3cgSEVBRCIgXAorCQkJLS1hdXRvc3F1YXNoIG1hc3RlciA+YWN0dWFsCisJKSAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0aWMgY2hlY2sgb2YgYmFkIGNvbW1hbmQnICcKIAlyZWJhc2Vfc2V0dXBfYW5kX2NsZWFuIGJhZC1jbWQgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQl0ZXN0X211c3RfZmFpbCBlbnYgRkFLRV9MSU5FUz0iMSAyIDMgYmFkIDQgNSIgXAorCSgKKwkJc2V0X2Zha2VfZWRpdG9yICYmCisJCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0xJTkVTPSIxIDIgMyBiYWQgNCA1IiBcCiAJCWdpdCByZWJhc2UgLWkgLS1yb290IDI+YWN0dWFsICYmCi0JdGVzdF9pMThuZ3JlcCAiYmFkY21kICQoZ2l0IHJldi1saXN0IC0tb25lbGluZSAtMSBtYXN0ZXJ+MSkiIGFjdHVhbCAmJgotCXRlc3RfaTE4bmdyZXAgIllvdSBjYW4gZml4IHRoaXMgd2l0aCAuZ2l0IHJlYmFzZSAtLWVkaXQtdG9kby4uIiBhY3R1YWwgJiYKLQlGQUtFX0xJTkVTPSIxIDIgMyBkcm9wIDQgNSIgZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbyAmJgorCQl0ZXN0X2kxOG5ncmVwICJiYWRjbWQgJChnaXQgcmV2LWxpc3QgLS1vbmVsaW5lIC0xIG1hc3Rlcn4xKSIgXAorCQkJCWFjdHVhbCAmJgorCQl0ZXN0X2kxOG5ncmVwICJZb3UgY2FuIGZpeCB0aGlzIHdpdGggLmdpdCByZWJhc2UgLS1lZGl0LXRvZG8uLiIgXAorCQkJCWFjdHVhbCAmJgorCQlGQUtFX0xJTkVTPSIxIDIgMyBkcm9wIDQgNSIgZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbworCSkgJiYKIAlnaXQgcmViYXNlIC0tY29udGludWUgJiYKIAl0ZXN0IEUgPSAkKGdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCB8IHNlZCAtbmUgXCRwKSAmJgogCXRlc3QgQyA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEXiB8IHNlZCAtbmUgXCRwKQpAQCAtMTM4NiwxOSArMTYzNiwyNCBAQAogCSkgPiIkMS5uZXciCiAJbXYgIiQxLm5ldyIgIiQxIgogCUVPRgotCXRlc3Rfc2V0X2VkaXRvciAiJChwd2QpL2FkZC1pbmRlbnQuc2giICYmCi0JZ2l0IHJlYmFzZSAtaSBIRUFEXl5eICYmCisJKAorCQl0ZXN0X3NldF9lZGl0b3IgIiQocHdkKS9hZGQtaW5kZW50LnNoIiAmJgorCQlnaXQgcmViYXNlIC1pIEhFQUReXl4KKwkpICYmCiAJdGVzdCBFID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBzZWQgLW5lIFwkcCkKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdGljIGNoZWNrIG9mIGJhZCBTSEEtMScgJwogCXJlYmFzZV9zZXR1cF9hbmRfY2xlYW4gYmFkLXNoYSAmJgotCXNldF9mYWtlX2VkaXRvciAmJgotCXRlc3RfbXVzdF9mYWlsIGVudiBGQUtFX0xJTkVTPSIxIDIgZWRpdCBmYWtlc2hhIDMgNCA1ICMiIFwKLQkJZ2l0IHJlYmFzZSAtaSAtLXJvb3QgMj5hY3R1YWwgJiYKLQl0ZXN0X2kxOG5ncmVwICJlZGl0IFhYWFhYWFggRmFsc2UgY29tbWl0IiBhY3R1YWwgJiYKLQl0ZXN0X2kxOG5ncmVwICJZb3UgY2FuIGZpeCB0aGlzIHdpdGggLmdpdCByZWJhc2UgLS1lZGl0LXRvZG8uLiIgYWN0dWFsICYmCi0JRkFLRV9MSU5FUz0iMSAyIDQgNSA2IiBnaXQgcmViYXNlIC0tZWRpdC10b2RvICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZW52IEZBS0VfTElORVM9IjEgMiBlZGl0IGZha2VzaGEgMyA0IDUgIyIgXAorCQkJZ2l0IHJlYmFzZSAtaSAtLXJvb3QgMj5hY3R1YWwgJiYKKwkJCXRlc3RfaTE4bmdyZXAgImVkaXQgWFhYWFhYWCBGYWxzZSBjb21taXQiIGFjdHVhbCAmJgorCQkJdGVzdF9pMThuZ3JlcCAiWW91IGNhbiBmaXggdGhpcyB3aXRoIC5naXQgcmViYXNlIC0tZWRpdC10b2RvLi4iIFwKKwkJCQkJYWN0dWFsICYmCisJCUZBS0VfTElORVM9IjEgMiA0IDUgNiIgZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbworCSkgJiYKIAlnaXQgcmViYXNlIC0tY29udGludWUgJiYKIAl0ZXN0IEUgPSAkKGdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCB8IHNlZCAtbmUgXCRwKQogJwpAQCAtMTQxNSw0MiArMTY3MCw3MyBAQAogCSkKICcKIAotU1E9IiciCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLWkgLS1ncGctc2lnbj08a2V5LWlkPicgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCAidGVzdF9taWdodF9mYWlsIGdpdCByZWJhc2UgLS1hYm9ydCIgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQlGQUtFX0xJTkVTPSJlZGl0IDEiIGdpdCByZWJhc2UgLWkgLS1ncGctc2lnbj0iXCJTIEkgR25lclwiIiBIRUFEXiBcCi0JCT5vdXQgMj5lcnIgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0xJTkVTPSJlZGl0IDEiIGdpdCByZWJhc2UgLWkgLS1ncGctc2lnbj0iXCJTIEkgR25lclwiIiBcCisJCQlIRUFEXiA+b3V0IDI+ZXJyCisJKSAmJgogCXRlc3RfaTE4bmdyZXAgIiRTUS1TXCJTIEkgR25lclwiJFNRIiBlcnIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC1pIC0tZ3BnLXNpZ249PGtleS1pZD4gb3ZlcnJpZGVzIGNvbW1pdC5ncGdTaWduJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJ0ZXN0X21pZ2h0X2ZhaWwgZ2l0IHJlYmFzZSAtLWFib3J0IiAmJgogCXRlc3RfY29uZmlnIGNvbW1pdC5ncGdzaWduIHRydWUgJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKLQlGQUtFX0xJTkVTPSJlZGl0IDEiIGdpdCByZWJhc2UgLWkgLS1ncGctc2lnbj0iXCJTIEkgR25lclwiIiBIRUFEXiBcCi0JCT5vdXQgMj5lcnIgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0xJTkVTPSJlZGl0IDEiIGdpdCByZWJhc2UgLWkgLS1ncGctc2lnbj0iXCJTIEkgR25lclwiIiBcCisJCQlIRUFEXiA+b3V0IDI+ZXJyCisJKSAmJgogCXRlc3RfaTE4bmdyZXAgIiRTUS1TXCJTIEkgR25lclwiJFNRIiBlcnIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndmFsaWQgYXV0aG9yIGhlYWRlciBhZnRlciAtLXJvb3Qgc3dhcCcgJwogCXJlYmFzZV9zZXR1cF9hbmRfY2xlYW4gYXV0aG9yLWhlYWRlciBuby1jb25mbGljdC1icmFuY2ggJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKIAlnaXQgY29tbWl0IC0tYW1lbmQgLS1hdXRob3I9IkF1ICR7U1F9dGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPiIgLS1uby1lZGl0ICYmCiAJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgZ3JlcCBeYXV0aG9yID5leHBlY3RlZCAmJgotCUZBS0VfTElORVM9IjUgMSIgZ2l0IHJlYmFzZSAtaSAtLXJvb3QgJiYKKwkoCisJCXNldF9mYWtlX2VkaXRvciAmJgorCQlGQUtFX0xJTkVTPSI1IDEiIGdpdCByZWJhc2UgLWkgLS1yb290CisJKSAmJgogCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRF4gfCBncmVwIF5hdXRob3IgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd2YWxpZCBhdXRob3IgaGVhZGVyIHdoZW4gYXV0aG9yIGNvbnRhaW5zIHNpbmdsZSBxdW90ZScgJwogCXJlYmFzZV9zZXR1cF9hbmRfY2xlYW4gYXV0aG9yLWhlYWRlciBuby1jb25mbGljdC1icmFuY2ggJiYKLQlzZXRfZmFrZV9lZGl0b3IgJiYKIAlnaXQgY29tbWl0IC0tYW1lbmQgLS1hdXRob3I9IkF1ICR7U1F9dGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPiIgLS1uby1lZGl0ICYmCiAJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgZ3JlcCBeYXV0aG9yID5leHBlY3RlZCAmJgotCUZBS0VfTElORVM9IjIiIGdpdCByZWJhc2UgLWkgSEVBRH4yICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJRkFLRV9MSU5FUz0iMiIgZ2l0IHJlYmFzZSAtaSBIRUFEfjIKKwkpICYmCiAJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgZ3JlcCBeYXV0aG9yID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncG9zdC1jb21taXQgaG9vayBpcyBjYWxsZWQnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIC5naXQvaG9va3MvcG9zdC1jb21taXQiICYmCisJPmFjdHVhbCAmJgorCW1rZGlyIC1wIC5naXQvaG9va3MgJiYKKwl3cml0ZV9zY3JpcHQgLmdpdC9ob29rcy9wb3N0LWNvbW1pdCA8PC1cRU9TICYmCisJZ2l0IHJldi1wYXJzZSBIRUFEID4+YWN0dWFsCisJRU9TCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJRkFLRV9MSU5FUz0iZWRpdCA0IDEgcmV3b3JkIDIgZml4dXAgMyIgZ2l0IHJlYmFzZSAtaSBBIEUgJiYKKwkJZWNobyB4PmZpbGUzICYmCisJCWdpdCBhZGQgZmlsZTMgJiYKKwkJRkFLRV9DT01NSVRfTUVTU0FHRT1lZGl0ZWQgZ2l0IHJlYmFzZSAtLWNvbnRpbnVlCisJKSAmJgorCWdpdCByZXYtcGFyc2UgSEVBREB7NX0gSEVBREB7NH0gSEVBREB7M30gSEVBREB7Mn0gSEVBREB7MX0gSEVBRCBcCisJCT5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKKyMgVGhpcyBtdXN0IGJlIHRoZSBsYXN0IHRlc3QgaW4gdGhpcyBmaWxlCit0ZXN0X2V4cGVjdF9zdWNjZXNzICckRURJVE9SIGFuZCBmcmllbmRzIGFyZSB1bmNoYW5nZWQnICcKKwl0ZXN0X2VkaXRvcl91bmNoYW5nZWQKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzNDA2LXJlYmFzZS1tZXNzYWdlLnNoIGIvdC90MzQwNi1yZWJhc2UtbWVzc2FnZS5zaAppbmRleCBmNjRiMTMwLi42MWI3NmYzIDEwMDc1NQotLS0gYS90L3QzNDA2LXJlYmFzZS1tZXNzYWdlLnNoCisrKyBiL3QvdDM0MDYtcmViYXNlLW1lc3NhZ2Uuc2gKQEAgLTE3LDM4ICsxNywzMCBAQAogCWdpdCB0YWcgc3RhcnQKICcKIAotY2F0ID5leHBlY3QgPDxcRU9GCi1BbHJlYWR5IGFwcGxpZWQ6IDAwMDEgQQotQWxyZWFkeSBhcHBsaWVkOiAwMDAyIEIKLUNvbW1pdHRlZDogMDAwMyBaCi1FT0YKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC1tJyAnCi0JZ2l0IHJlYmFzZSAtbSBtYXN0ZXIgPnJlcG9ydCAmJgotCXNlZCAtbiAtZSAiL15BbHJlYWR5IGFwcGxpZWQ6IC9wIiBcCi0JCS1lICIvXkNvbW1pdHRlZDogL3AiIHJlcG9ydCA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCWdpdCByZWJhc2UgLW0gbWFzdGVyID5hY3R1YWwgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSBhZ2FpbnN0IG1hc3RlciB0d2ljZScgJwotCWdpdCByZWJhc2UgbWFzdGVyID5vdXQgJiYKKwlnaXQgcmViYXNlIC0tYXBwbHkgbWFzdGVyID5vdXQgJiYKIAl0ZXN0X2kxOG5ncmVwICJDdXJyZW50IGJyYW5jaCB0b3BpYyBpcyB1cCB0byBkYXRlIiBvdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIGFnYWluc3QgbWFzdGVyIHR3aWNlIHdpdGggLS1mb3JjZScgJwotCWdpdCByZWJhc2UgLS1mb3JjZS1yZWJhc2UgbWFzdGVyID5vdXQgJiYKKwlnaXQgcmViYXNlIC0tZm9yY2UtcmViYXNlIC0tYXBwbHkgbWFzdGVyID5vdXQgJiYKIAl0ZXN0X2kxOG5ncmVwICJDdXJyZW50IGJyYW5jaCB0b3BpYyBpcyB1cCB0byBkYXRlLCByZWJhc2UgZm9yY2VkIiBvdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIGFnYWluc3QgbWFzdGVyIHR3aWNlIGZyb20gYW5vdGhlciBicmFuY2gnICcKIAlnaXQgY2hlY2tvdXQgdG9waWNeICYmCi0JZ2l0IHJlYmFzZSBtYXN0ZXIgdG9waWMgPm91dCAmJgorCWdpdCByZWJhc2UgLS1hcHBseSBtYXN0ZXIgdG9waWMgPm91dCAmJgogCXRlc3RfaTE4bmdyZXAgIkN1cnJlbnQgYnJhbmNoIHRvcGljIGlzIHVwIHRvIGRhdGUiIG91dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgZmFzdC1mb3J3YXJkIHRvIG1hc3RlcicgJwogCWdpdCBjaGVja291dCB0b3BpY14gJiYKLQlnaXQgcmViYXNlIHRvcGljID5vdXQgJiYKKwlnaXQgcmViYXNlIC0tYXBwbHkgdG9waWMgPm91dCAmJgogCXRlc3RfaTE4bmdyZXAgIkZhc3QtZm9yd2FyZGVkIEhFQUQgdG8gdG9waWMiIG91dAogJwogCkBAIC05Nyw3ICs4OSw3IEBACiAJZ2l0IGNoZWNrb3V0IC1iIHJlZmxvZy10b3BpYyBzdGFydCAmJgogCXRlc3RfY29tbWl0IHJlZmxvZy10by1yZWJhc2UgJiYKIAotCWdpdCByZWJhc2UgcmVmbG9nLW9udG8gJiYKKwlnaXQgcmViYXNlIC0tYXBwbHkgcmVmbG9nLW9udG8gJiYKIAlnaXQgbG9nIC1nIC0tZm9ybWF0PSVncyAtMyA+YWN0dWFsICYmCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgogCXJlYmFzZSBmaW5pc2hlZDogcmV0dXJuaW5nIHRvIHJlZnMvaGVhZHMvcmVmbG9nLXRvcGljCkBAIC0xMDcsNyArOTksNyBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKIAogCWdpdCBjaGVja291dCAtYiByZWZsb2ctcHJlZml4IHJlZmxvZy10by1yZWJhc2UgJiYKLQlHSVRfUkVGTE9HX0FDVElPTj1jaGFuZ2UtdGhlLXJlZmxvZyBnaXQgcmViYXNlIHJlZmxvZy1vbnRvICYmCisJR0lUX1JFRkxPR19BQ1RJT049Y2hhbmdlLXRoZS1yZWZsb2cgZ2l0IHJlYmFzZSAtLWFwcGx5IHJlZmxvZy1vbnRvICYmCiAJZ2l0IGxvZyAtZyAtLWZvcm1hdD0lZ3MgLTMgPmFjdHVhbCAmJgogCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKIAlyZWJhc2UgZmluaXNoZWQ6IHJldHVybmluZyB0byByZWZzL2hlYWRzL3JlZmxvZy1wcmVmaXgKZGlmZiAtLWdpdCBhL3QvdDM0MDctcmViYXNlLWFib3J0LnNoIGIvdC90MzQwNy1yZWJhc2UtYWJvcnQuc2gKaW5kZXggOTEwZjIxOC4uOTdlZmVhMCAxMDA3NTUKLS0tIGEvdC90MzQwNy1yZWJhc2UtYWJvcnQuc2gKKysrIGIvdC90MzQwNy1yZWJhc2UtYWJvcnQuc2gKQEAgLTk2LDE0ICs5NiwxNCBAQAogCScKIH0KIAotdGVzdHJlYmFzZSAiIiAuZ2l0L3JlYmFzZS1hcHBseQordGVzdHJlYmFzZSAiIC0tYXBwbHkiIC5naXQvcmViYXNlLWFwcGx5CiB0ZXN0cmViYXNlICIgLS1tZXJnZSIgLmdpdC9yZWJhc2UtbWVyZ2UKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC0tcXVpdCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC0tYXBwbHkgLS1xdWl0JyAnCiAJY2QgIiR3b3JrX2RpciIgJiYKIAkjIENsZWFuIHVwIHRoZSBzdGF0ZSBmcm9tIHRoZSBwcmV2aW91cyBvbmUKIAlnaXQgcmVzZXQgLS1oYXJkIHByZS1yZWJhc2UgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIG1hc3RlciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLS1hcHBseSBtYXN0ZXIgJiYKIAl0ZXN0X3BhdGhfaXNfZGlyIC5naXQvcmViYXNlLWFwcGx5ICYmCiAJaGVhZF9iZWZvcmU9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCiAJZ2l0IHJlYmFzZSAtLXF1aXQgJiYKZGlmZiAtLWdpdCBhL3QvdDM0MTUtcmViYXNlLWF1dG9zcXVhc2guc2ggYi90L3QzNDE1LXJlYmFzZS1hdXRvc3F1YXNoLnNoCmluZGV4IDEzZjU2ODguLjA5M2RlOTAgMTAwNzU1Ci0tLSBhL3QvdDM0MTUtcmViYXNlLWF1dG9zcXVhc2guc2gKKysrIGIvdC90MzQxNS1yZWJhc2UtYXV0b3NxdWFzaC5zaApAQCAtMjUsNiArMjUsMTMgQEAKICcKIAogdGVzdF9hdXRvX2ZpeHVwICgpIHsKKwlub19zcXVhc2g9ICYmCisJaWYgdGVzdCAieCQxIiA9ICd4IScKKwl0aGVuCisJCW5vX3NxdWFzaD10cnVlCisJCXNoaWZ0CisJZmkgJiYKKwogCWdpdCByZXNldCAtLWhhcmQgYmFzZSAmJgogCWVjaG8gMSA+ZmlsZTEgJiYKIAlnaXQgYWRkIC11ICYmCkBAIC0zNSwxMCArNDIsMTkgQEAKIAl0ZXN0X3RpY2sgJiYKIAlnaXQgcmViYXNlICQyIC1pIEhFQUReXl4gJiYKIAlnaXQgbG9nIC0tb25lbGluZSA+YWN0dWFsICYmCi0JdGVzdF9saW5lX2NvdW50ID0gMyBhY3R1YWwgJiYKLQlnaXQgZGlmZiAtLWV4aXQtY29kZSAkMSAmJgotCXRlc3QgMSA9ICIkKGdpdCBjYXQtZmlsZSBibG9iIEhFQUReOmZpbGUxKSIgJiYKLQl0ZXN0IDEgPSAkKGdpdCBjYXQtZmlsZSBjb21taXQgSEVBRF4gfCBncmVwIGZpcnN0IHwgd2MgLWwpCisJaWYgdGVzdCAtbiAiJG5vX3NxdWFzaCIKKwl0aGVuCisJCXRlc3RfbGluZV9jb3VudCA9IDQgYWN0dWFsCisJZWxzZQorCQl0ZXN0X2xpbmVfY291bnQgPSAzIGFjdHVhbCAmJgorCQlnaXQgZGlmZiAtLWV4aXQtY29kZSAkMSAmJgorCQllY2hvIDEgPmV4cGVjdCAmJgorCQlnaXQgY2F0LWZpbGUgYmxvYiBIRUFEXjpmaWxlMSA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwkJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEXiA+Y29tbWl0ICYmCisJCWdyZXAgZmlyc3QgY29tbWl0ID5hY3R1YWwgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMSBhY3R1YWwKKwlmaQogfQogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhdXRvIGZpeHVwIChvcHRpb24pJyAnCkBAIC00OCwxMiArNjQsMTkgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2F1dG8gZml4dXAgKGNvbmZpZyknICcKIAlnaXQgY29uZmlnIHJlYmFzZS5hdXRvc3F1YXNoIHRydWUgJiYKIAl0ZXN0X2F1dG9fZml4dXAgZmluYWwtZml4dXAtY29uZmlnLXRydWUgJiYKLQl0ZXN0X211c3RfZmFpbCB0ZXN0X2F1dG9fZml4dXAgZml4dXAtY29uZmlnLXRydWUtbm8gLS1uby1hdXRvc3F1YXNoICYmCisJdGVzdF9hdXRvX2ZpeHVwICEgZml4dXAtY29uZmlnLXRydWUtbm8gLS1uby1hdXRvc3F1YXNoICYmCiAJZ2l0IGNvbmZpZyByZWJhc2UuYXV0b3NxdWFzaCBmYWxzZSAmJgotCXRlc3RfbXVzdF9mYWlsIHRlc3RfYXV0b19maXh1cCBmaW5hbC1maXh1cC1jb25maWctZmFsc2UKKwl0ZXN0X2F1dG9fZml4dXAgISBmaW5hbC1maXh1cC1jb25maWctZmFsc2UKICcKIAogdGVzdF9hdXRvX3NxdWFzaCAoKSB7CisJbm9fc3F1YXNoPSAmJgorCWlmIHRlc3QgIngkMSIgPSAneCEnCisJdGhlbgorCQlub19zcXVhc2g9dHJ1ZQorCQlzaGlmdAorCWZpICYmCisKIAlnaXQgcmVzZXQgLS1oYXJkIGJhc2UgJiYKIAllY2hvIDEgPmZpbGUxICYmCiAJZ2l0IGFkZCAtdSAmJgpAQCAtNjQsMTAgKzg3LDE5IEBACiAJdGVzdF90aWNrICYmCiAJZ2l0IHJlYmFzZSAkMiAtaSBIRUFEXl5eICYmCiAJZ2l0IGxvZyAtLW9uZWxpbmUgPmFjdHVhbCAmJgotCXRlc3RfbGluZV9jb3VudCA9IDMgYWN0dWFsICYmCi0JZ2l0IGRpZmYgLS1leGl0LWNvZGUgJDEgJiYKLQl0ZXN0IDEgPSAiJChnaXQgY2F0LWZpbGUgYmxvYiBIRUFEXjpmaWxlMSkiICYmCi0JdGVzdCAyID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUReIHwgZ3JlcCBmaXJzdCB8IHdjIC1sKQorCWlmIHRlc3QgLW4gIiRub19zcXVhc2giCisJdGhlbgorCQl0ZXN0X2xpbmVfY291bnQgPSA0IGFjdHVhbAorCWVsc2UKKwkJdGVzdF9saW5lX2NvdW50ID0gMyBhY3R1YWwgJiYKKwkJZ2l0IGRpZmYgLS1leGl0LWNvZGUgJDEgJiYKKwkJZWNobyAxID5leHBlY3QgJiYKKwkJZ2l0IGNhdC1maWxlIGJsb2IgSEVBRF46ZmlsZTEgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRF4gPmNvbW1pdCAmJgorCQlncmVwIGZpcnN0IGNvbW1pdCA+YWN0dWFsICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDIgYWN0dWFsCisJZmkKIH0KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYXV0byBzcXVhc2ggKG9wdGlvbiknICcKQEAgLTc3LDkgKzEwOSw5IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhdXRvIHNxdWFzaCAoY29uZmlnKScgJwogCWdpdCBjb25maWcgcmViYXNlLmF1dG9zcXVhc2ggdHJ1ZSAmJgogCXRlc3RfYXV0b19zcXVhc2ggZmluYWwtc3F1YXNoLWNvbmZpZy10cnVlICYmCi0JdGVzdF9tdXN0X2ZhaWwgdGVzdF9hdXRvX3NxdWFzaCBzcXVhc2gtY29uZmlnLXRydWUtbm8gLS1uby1hdXRvc3F1YXNoICYmCisJdGVzdF9hdXRvX3NxdWFzaCAhIHNxdWFzaC1jb25maWctdHJ1ZS1ubyAtLW5vLWF1dG9zcXVhc2ggJiYKIAlnaXQgY29uZmlnIHJlYmFzZS5hdXRvc3F1YXNoIGZhbHNlICYmCi0JdGVzdF9tdXN0X2ZhaWwgdGVzdF9hdXRvX3NxdWFzaCBmaW5hbC1zcXVhc2gtY29uZmlnLWZhbHNlCisJdGVzdF9hdXRvX3NxdWFzaCAhIGZpbmFsLXNxdWFzaC1jb25maWctZmFsc2UKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbWlzc3BlbGxlZCBhdXRvIHNxdWFzaCcgJwpAQCAtOTQsNyArMTI2LDggQEAKIAlnaXQgbG9nIC0tb25lbGluZSA+YWN0dWFsICYmCiAJdGVzdF9saW5lX2NvdW50ID0gNCBhY3R1YWwgJiYKIAlnaXQgZGlmZiAtLWV4aXQtY29kZSBmaW5hbC1taXNzcXVhc2ggJiYKLQl0ZXN0IDAgPSAkKGdpdCByZXYtbGlzdCBmaW5hbC1taXNzcXVhc2guLi5IRUFEIHwgd2MgLWwpCisJZ2l0IHJldi1saXN0IGZpbmFsLW1pc3NxdWFzaC4uLkhFQUQgPmxpc3QgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgbGlzdAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhdXRvIHNxdWFzaCB0aGF0IG1hdGNoZXMgMiBjb21taXRzJyAnCkBAIC0xMTMsOSArMTQ2LDE1IEBACiAJZ2l0IGxvZyAtLW9uZWxpbmUgPmFjdHVhbCAmJgogCXRlc3RfbGluZV9jb3VudCA9IDQgYWN0dWFsICYmCiAJZ2l0IGRpZmYgLS1leGl0LWNvZGUgZmluYWwtbXVsdGlzcXVhc2ggJiYKLQl0ZXN0IDEgPSAiJChnaXQgY2F0LWZpbGUgYmxvYiBIRUFEXl46ZmlsZTEpIiAmJgotCXRlc3QgMiA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEXl4gfCBncmVwIGZpcnN0IHwgd2MgLWwpICYmCi0JdGVzdCAxID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBncmVwIGZpcnN0IHwgd2MgLWwpCisJZWNobyAxID5leHBlY3QgJiYKKwlnaXQgY2F0LWZpbGUgYmxvYiBIRUFEXl46ZmlsZTEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUReXiA+Y29tbWl0ICYmCisJZ3JlcCBmaXJzdCBjb21taXQgPmFjdHVhbCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDIgYWN0dWFsICYmCisJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEID5jb21taXQgJiYKKwlncmVwIGZpcnN0IGNvbW1pdCA+YWN0dWFsICYmCisJdGVzdF9saW5lX2NvdW50ID0gMSBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYXV0byBzcXVhc2ggdGhhdCBtYXRjaGVzIGEgY29tbWl0IGFmdGVyIHRoZSBzcXVhc2gnICcKQEAgLTEzNCwyNSArMTczLDM4IEBACiAJZ2l0IGxvZyAtLW9uZWxpbmUgPmFjdHVhbCAmJgogCXRlc3RfbGluZV9jb3VudCA9IDUgYWN0dWFsICYmCiAJZ2l0IGRpZmYgLS1leGl0LWNvZGUgZmluYWwtcHJlc3F1YXNoICYmCi0JdGVzdCAwID0gIiQoZ2l0IGNhdC1maWxlIGJsb2IgSEVBRF5eOmZpbGUxKSIgJiYKLQl0ZXN0IDEgPSAiJChnaXQgY2F0LWZpbGUgYmxvYiBIRUFEXjpmaWxlMSkiICYmCi0JdGVzdCAxID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBncmVwIHRoaXJkIHwgd2MgLWwpICYmCi0JdGVzdCAxID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUReIHwgZ3JlcCB0aGlyZCB8IHdjIC1sKQorCWVjaG8gMCA+ZXhwZWN0ICYmCisJZ2l0IGNhdC1maWxlIGJsb2IgSEVBRF5eOmZpbGUxID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZWNobyAxID5leHBlY3QgJiYKKwlnaXQgY2F0LWZpbGUgYmxvYiBIRUFEXjpmaWxlMSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCA+Y29tbWl0ICYmCisJZ3JlcCB0aGlyZCBjb21taXQgPmFjdHVhbCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDEgYWN0dWFsICYmCisJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEXiA+Y29tbWl0ICYmCisJZ3JlcCB0aGlyZCBjb21taXQgPmFjdHVhbCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDEgYWN0dWFsCiAnCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhdXRvIHNxdWFzaCB0aGF0IG1hdGNoZXMgYSBzaGExJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCBiYXNlICYmCiAJZWNobyAxID5maWxlMSAmJgogCWdpdCBhZGQgLXUgJiYKIAl0ZXN0X3RpY2sgJiYKLQlnaXQgY29tbWl0IC1tICJzcXVhc2ghICQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IEhFQUReKSIgJiYKKwlvaWQ9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRF4pICYmCisJZ2l0IGNvbW1pdCAtbSAic3F1YXNoISAkb2lkIiAmJgogCWdpdCB0YWcgZmluYWwtc2hhc3F1YXNoICYmCiAJdGVzdF90aWNrICYmCiAJZ2l0IHJlYmFzZSAtLWF1dG9zcXVhc2ggLWkgSEVBRF5eXiAmJgogCWdpdCBsb2cgLS1vbmVsaW5lID5hY3R1YWwgJiYKIAl0ZXN0X2xpbmVfY291bnQgPSAzIGFjdHVhbCAmJgogCWdpdCBkaWZmIC0tZXhpdC1jb2RlIGZpbmFsLXNoYXNxdWFzaCAmJgotCXRlc3QgMSA9ICIkKGdpdCBjYXQtZmlsZSBibG9iIEhFQUReOmZpbGUxKSIgJiYKLQl0ZXN0IDEgPSAkKGdpdCBjYXQtZmlsZSBjb21taXQgSEVBRF4gfCBncmVwIHNxdWFzaCB8IHdjIC1sKQorCWVjaG8gMSA+ZXhwZWN0ICYmCisJZ2l0IGNhdC1maWxlIGJsb2IgSEVBRF46ZmlsZTEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUReID5jb21taXQgJiYKKwlncmVwIHNxdWFzaCBjb21taXQgPmFjdHVhbCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDEgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2F1dG8gc3F1YXNoIHRoYXQgbWF0Y2hlcyBsb25nZXIgc2hhMScgJwpAQCAtMTYwLDE1ICsyMTIsMjAgQEAKIAllY2hvIDEgPmZpbGUxICYmCiAJZ2l0IGFkZCAtdSAmJgogCXRlc3RfdGljayAmJgotCWdpdCBjb21taXQgLW0gInNxdWFzaCEgJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQ9MTEgSEVBRF4pIiAmJgorCW9pZD0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydD0xMSBIRUFEXikgJiYKKwlnaXQgY29tbWl0IC1tICJzcXVhc2ghICRvaWQiICYmCiAJZ2l0IHRhZyBmaW5hbC1sb25nc2hhc3F1YXNoICYmCiAJdGVzdF90aWNrICYmCiAJZ2l0IHJlYmFzZSAtLWF1dG9zcXVhc2ggLWkgSEVBRF5eXiAmJgogCWdpdCBsb2cgLS1vbmVsaW5lID5hY3R1YWwgJiYKIAl0ZXN0X2xpbmVfY291bnQgPSAzIGFjdHVhbCAmJgogCWdpdCBkaWZmIC0tZXhpdC1jb2RlIGZpbmFsLWxvbmdzaGFzcXVhc2ggJiYKLQl0ZXN0IDEgPSAiJChnaXQgY2F0LWZpbGUgYmxvYiBIRUFEXjpmaWxlMSkiICYmCi0JdGVzdCAxID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUReIHwgZ3JlcCBzcXVhc2ggfCB3YyAtbCkKKwllY2hvIDEgPmV4cGVjdCAmJgorCWdpdCBjYXQtZmlsZSBibG9iIEhFQUReOmZpbGUxID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEXiA+Y29tbWl0ICYmCisJZ3JlcCBzcXVhc2ggY29tbWl0ID5hY3R1YWwgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAxIGFjdHVhbAogJwogCiB0ZXN0X2F1dG9fY29tbWl0X2ZsYWdzICgpIHsKQEAgLTE4Myw4ICsyNDAsMTIgQEAKIAlnaXQgbG9nIC0tb25lbGluZSA+YWN0dWFsICYmCiAJdGVzdF9saW5lX2NvdW50ID0gMyBhY3R1YWwgJiYKIAlnaXQgZGlmZiAtLWV4aXQtY29kZSBmaW5hbC1jb21taXQtJDEgJiYKLQl0ZXN0IDEgPSAiJChnaXQgY2F0LWZpbGUgYmxvYiBIRUFEXjpmaWxlMSkiICYmCi0JdGVzdCAkMiA9ICQoZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEXiB8IGdyZXAgZmlyc3QgfCB3YyAtbCkKKwllY2hvIDEgPmV4cGVjdCAmJgorCWdpdCBjYXQtZmlsZSBibG9iIEhFQUReOmZpbGUxID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEXiA+Y29tbWl0ICYmCisJZ3JlcCBmaXJzdCBjb21taXQgPmFjdHVhbCAmJgorCXRlc3RfbGluZV9jb3VudCA9ICQyIGFjdHVhbAogfQogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd1c2UgY29tbWl0IC0tZml4dXAnICcKQEAgLTIxMCwxMSArMjcxLDE1IEBACiAJKAogCQlzZXRfY2F0X3RvZG9fZWRpdG9yICYmCiAJCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLS1hdXRvc3F1YXNoIC1pIEhFQUReXl5eID5hY3R1YWwgJiYKKwkJaGVhZD0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEKSAmJgorCQlwYXJlbnQxPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IEhFQUReKSAmJgorCQlwYXJlbnQyPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IEhFQUReXikgJiYKKwkJcGFyZW50Mz0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEXl5eKSAmJgogCQljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCQlwaWNrICQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IEhFQUReXl4pIGZpcnN0IGNvbW1pdAotCQkkMSAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEXikgJDEhIGZpcnN0Ci0JCSQxICQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IEhFQUQpICQxISAkMiEgZmlyc3QKLQkJcGljayAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEXl4pIHNlY29uZCBjb21taXQKKwkJcGljayAkcGFyZW50MyBmaXJzdCBjb21taXQKKwkJJDEgJHBhcmVudDEgJDEhIGZpcnN0CisJCSQxICRoZWFkICQxISAkMiEgZmlyc3QKKwkJcGljayAkcGFyZW50MiBzZWNvbmQgY29tbWl0CiAJCUVPRgogCQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKIAkpICYmCkBAIC0yMjIsMTMgKzI4NywxNyBAQAogCWdpdCBsb2cgLS1vbmVsaW5lID5hY3R1YWwgJiYKIAl0ZXN0X2xpbmVfY291bnQgPSAzIGFjdHVhbAogCWdpdCBkaWZmIC0tZXhpdC1jb2RlICJmaW5hbC0kMS0kMiIgJiYKLQl0ZXN0IDIgPSAiJChnaXQgY2F0LWZpbGUgYmxvYiBIRUFEXjpmaWxlMSkiICYmCisJZWNobyAyID5leHBlY3QgJiYKKwlnaXQgY2F0LWZpbGUgYmxvYiBIRUFEXjpmaWxlMSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRF4gPmNvbW1pdCAmJgorCWdyZXAgZmlyc3QgY29tbWl0ID5hY3R1YWwgJiYKIAlpZiB0ZXN0ICIkMSIgPSAiZml4dXAiCiAJdGhlbgotCQl0ZXN0IDEgPSAkKGdpdCBjYXQtZmlsZSBjb21taXQgSEVBRF4gfCBncmVwIGZpcnN0IHwgd2MgLWwpCisJCXRlc3RfbGluZV9jb3VudCA9IDEgYWN0dWFsCiAJZWxpZiB0ZXN0ICIkMSIgPSAic3F1YXNoIgogCXRoZW4KLQkJdGVzdCAzID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUReIHwgZ3JlcCBmaXJzdCB8IHdjIC1sKQorCQl0ZXN0X2xpbmVfY291bnQgPSAzIGFjdHVhbAogCWVsc2UKIAkJZmFsc2UKIAlmaQpAQCAtMjU2LDE5ICszMjUsMjUgQEAKIAllY2hvIDIgPmZpbGUxICYmCiAJZ2l0IGFkZCAtdSAmJgogCXRlc3RfdGljayAmJgotCWdpdCBjb21taXQgLW0gInNxdWFzaCEgJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRF4pIiAmJgorCW9pZD0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEXikgJiYKKwlnaXQgY29tbWl0IC1tICJzcXVhc2ghICRvaWQiICYmCiAJZWNobyAxID5maWxlMSAmJgogCWdpdCBhZGQgLXUgJiYKIAl0ZXN0X3RpY2sgJiYKLQlnaXQgY29tbWl0IC1tICJzcXVhc2ghICQoZ2l0IGxvZyAtbiAxIC0tZm9ybWF0PSVzIEhFQUR+MikiICYmCisJc3ViamVjdD0kKGdpdCBsb2cgLW4gMSAtLWZvcm1hdD0lcyBIRUFEfjIpICYmCisJZ2l0IGNvbW1pdCAtbSAic3F1YXNoISAkc3ViamVjdCIgJiYKIAlnaXQgdGFnIGZpbmFsLXNxdWFzaC1pbnN0Rm10ICYmCiAJdGVzdF90aWNrICYmCiAJZ2l0IHJlYmFzZSAtLWF1dG9zcXVhc2ggLWkgSEVBRH40ICYmCiAJZ2l0IGxvZyAtLW9uZWxpbmUgPmFjdHVhbCAmJgogCXRlc3RfbGluZV9jb3VudCA9IDMgYWN0dWFsICYmCiAJZ2l0IGRpZmYgLS1leGl0LWNvZGUgZmluYWwtc3F1YXNoLWluc3RGbXQgJiYKLQl0ZXN0IDEgPSAiJChnaXQgY2F0LWZpbGUgYmxvYiBIRUFEXjpmaWxlMSkiICYmCi0JdGVzdCAyID0gJChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUReIHwgZ3JlcCBzcXVhc2ggfCB3YyAtbCkKKwllY2hvIDEgPmV4cGVjdCAmJgorCWdpdCBjYXQtZmlsZSBibG9iIEhFQUReOmZpbGUxID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEXiA+Y29tbWl0ICYmCisJZ3JlcCBzcXVhc2ggY29tbWl0ID5hY3R1YWwgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAyIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhdXRvc3F1YXNoIHdpdGggZW1wdHkgY3VzdG9tIGluc3RydWN0aW9uRm9ybWF0JyAnCkBAIC0yNzcsNyArMzUyLDcgQEAKIAkoCiAJCXNldF9jYXRfdG9kb19lZGl0b3IgJiYKIAkJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIHJlYmFzZS5pbnN0cnVjdGlvbkZvcm1hdD0gXAotCQkJcmViYXNlIC0tYXV0b3NxdWFzaCAgLS1mb3JjZSAtaSBIRUFEXiA+YWN0dWFsICYmCisJCQlyZWJhc2UgLS1hdXRvc3F1YXNoICAtLWZvcmNlLXJlYmFzZSAtaSBIRUFEXiA+YWN0dWFsICYmCiAJCWdpdCBsb2cgLTEgLS1mb3JtYXQ9InBpY2sgJWggJXMiID5leHBlY3QgJiYKIAkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogCSkKZGlmZiAtLWdpdCBhL3QvdDM0MTYtcmViYXNlLW9udG8tdGhyZWVkb3RzLnNoIGIvdC90MzQxNi1yZWJhc2Utb250by10aHJlZWRvdHMuc2gKaW5kZXggZGRmMmY2NC4uOWMyNTQ4NCAxMDA3NTUKLS0tIGEvdC90MzQxNi1yZWJhc2Utb250by10aHJlZWRvdHMuc2gKKysrIGIvdC90MzQxNi1yZWJhc2Utb250by10aHJlZWRvdHMuc2gKQEAgLTk5LDcgKzk5LDY0IEBACiAJZ2l0IGNoZWNrb3V0IHNpZGUgJiYKIAlnaXQgcmVzZXQgLS1oYXJkIEsgJiYKIAorCXNldF9mYWtlX2VkaXRvciAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLWkgLS1vbnRvIG1hc3Rlci4uLnNpZGUgSgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLS1rZWVwLWJhc2UgLS1vbnRvIGluY29tcGF0aWJsZScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLS1rZWVwLWJhc2UgLS1vbnRvIG1hc3Rlci4uLgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLS1rZWVwLWJhc2UgLS1yb290IGluY29tcGF0aWJsZScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLS1rZWVwLWJhc2UgLS1yb290CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtLWtlZXAtYmFzZSBtYXN0ZXIgZnJvbSB0b3BpYycgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwlnaXQgY2hlY2tvdXQgdG9waWMgJiYKKwlnaXQgcmVzZXQgLS1oYXJkIEcgJiYKKworCWdpdCByZWJhc2UgLS1rZWVwLWJhc2UgbWFzdGVyICYmCisJZ2l0IHJldi1wYXJzZSBDID5iYXNlLmV4cGVjdCAmJgorCWdpdCBtZXJnZS1iYXNlIG1hc3RlciBIRUFEID5iYXNlLmFjdHVhbCAmJgorCXRlc3RfY21wIGJhc2UuZXhwZWN0IGJhc2UuYWN0dWFsICYmCisKKwlnaXQgcmV2LXBhcnNlIEhFQUR+MiA+YWN0dWFsICYmCisJZ2l0IHJldi1wYXJzZSBDXjAgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC0ta2VlcC1iYXNlIG1hc3RlciBmcm9tIHNpZGUnICcKKwlnaXQgcmVzZXQgLS1oYXJkICYmCisJZ2l0IGNoZWNrb3V0IHNpZGUgJiYKKwlnaXQgcmVzZXQgLS1oYXJkIEsgJiYKKworCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLS1rZWVwLWJhc2UgbWFzdGVyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtaSAtLWtlZXAtYmFzZSBtYXN0ZXIgZnJvbSB0b3BpYycgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwlnaXQgY2hlY2tvdXQgdG9waWMgJiYKKwlnaXQgcmVzZXQgLS1oYXJkIEcgJiYKKworCXNldF9mYWtlX2VkaXRvciAmJgorCUVYUEVDVF9DT1VOVD0yIGdpdCByZWJhc2UgLWkgLS1rZWVwLWJhc2UgbWFzdGVyICYmCisJZ2l0IHJldi1wYXJzZSBDID5iYXNlLmV4cGVjdCAmJgorCWdpdCBtZXJnZS1iYXNlIG1hc3RlciBIRUFEID5iYXNlLmFjdHVhbCAmJgorCXRlc3RfY21wIGJhc2UuZXhwZWN0IGJhc2UuYWN0dWFsICYmCisKKwlnaXQgcmV2LXBhcnNlIEhFQUR+MiA+YWN0dWFsICYmCisJZ2l0IHJldi1wYXJzZSBDXjAgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC1pIC0ta2VlcC1iYXNlIG1hc3RlciBmcm9tIHNpZGUnICcKKwlnaXQgcmVzZXQgLS1oYXJkICYmCisJZ2l0IGNoZWNrb3V0IHNpZGUgJiYKKwlnaXQgcmVzZXQgLS1oYXJkIEsgJiYKKworCXNldF9mYWtlX2VkaXRvciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLWkgLS1rZWVwLWJhc2UgbWFzdGVyCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzQxOC1yZWJhc2UtY29udGludWUuc2ggYi90L3QzNDE4LXJlYmFzZS1jb250aW51ZS5zaAppbmRleCAwMjEwYjJhLi43YTJkYTk3IDEwMDc1NQotLS0gYS90L3QzNDE4LXJlYmFzZS1jb250aW51ZS5zaAorKysgYi90L3QzNDE4LXJlYmFzZS1jb250aW51ZS5zaApAQCAtMTIwLDYgKzEyMCwyMCBAQAogCWdpdCByZWJhc2UgLS1jb250aW51ZQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLXIgcGFzc2VzIG1lcmdlIHN0cmF0ZWd5IG9wdGlvbnMgY29ycmVjdGx5JyAnCisJcm0gLWZyIC5naXQvcmViYXNlLSogJiYKKwlnaXQgcmVzZXQgLS1oYXJkIGNvbW1pdC1uZXctZmlsZS1GMy1vbi10b3BpYy1icmFuY2ggJiYKKwl0ZXN0X2NvbW1pdCBtZXJnZS10aGVpcnMgJiYKKwlnaXQgcmVzZXQgLS1oYXJkIEhFQUReICYmCisJdGVzdF9jb21taXQgc29tZS1vdGhlci1jb21taXQgJiYKKwl0ZXN0X3RpY2sgJiYKKwlnaXQgbWVyZ2UgLS1uby1mZiBtZXJnZS10aGVpcnMgJiYKKwlGQUtFX0xJTkVTPSIxIDMgZWRpdCA0IDUgNyA4IDkiIGdpdCByZWJhc2UgLWkgLWYgLXIgLW0gXAorCQktcyByZWN1cnNpdmUgLS1zdHJhdGVneS1vcHRpb249dGhlaXJzIEhFQUR+MiAmJgorCXRlc3RfY29tbWl0IGZvcmNlLWNoYW5nZS1vdXJzICYmCisJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc2tpcCBhZnRlciBmYWlsZWQgZml4dXAgY2xlYW5zIGNvbW1pdCBtZXNzYWdlJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJ0ZXN0X21pZ2h0X2ZhaWwgZ2l0IHJlYmFzZSAtLWFib3J0IiAmJgogCWdpdCBjaGVja291dCAtYiB3aXRoLWNvbmZsaWN0aW5nLWZpeHVwICYmCkBAIC0yNTQsNCArMjY4LDIzIEBACiAJdGVzdF9wYXRoX2lzX2ZpbGUgZXhlY2VkCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmVzY2hlZHVsZS1mYWlsZWQtZXhlYycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlYmFzZSAtLWFib3J0IiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLXggZmFsc2UgLS1yZXNjaGVkdWxlLWZhaWxlZC1leGVjIEhFQUReICYmCisJZ3JlcCAiXmV4ZWMgZmFsc2UiIC5naXQvcmViYXNlLW1lcmdlL2dpdC1yZWJhc2UtdG9kbyAmJgorCWdpdCByZWJhc2UgLS1hYm9ydCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyByZWJhc2UucmVzY2hlZHVsZUZhaWxlZEV4ZWM9dHJ1ZSBcCisJCXJlYmFzZSAteCBmYWxzZSBIRUFEXiAyPmVyciAmJgorCWdyZXAgIl5leGVjIGZhbHNlIiAuZ2l0L3JlYmFzZS1tZXJnZS9naXQtcmViYXNlLXRvZG8gJiYKKwl0ZXN0X2kxOG5ncmVwICJoYXMgYmVlbiByZXNjaGVkdWxlZCIgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZS5yZXNjaGVkdWxlZmFpbGVkZXhlYyBvbmx5IGFmZmVjdHMgYHJlYmFzZSAtaWAnICcKKwl0ZXN0X2NvbmZpZyByZWJhc2UucmVzY2hlZHVsZWZhaWxlZGV4ZWMgdHJ1ZSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLXggZmFsc2UgSEVBRF4gJiYKKwlncmVwICJeZXhlYyBmYWxzZSIgLmdpdC9yZWJhc2UtbWVyZ2UvZ2l0LXJlYmFzZS10b2RvICYmCisJZ2l0IHJlYmFzZSAtLWFib3J0ICYmCisJZ2l0IHJlYmFzZSBIRUFEXgorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDM0MTktcmViYXNlLXBhdGNoLWlkLnNoIGIvdC90MzQxOS1yZWJhc2UtcGF0Y2gtaWQuc2gKaW5kZXggNDlmNTQ4Yy4uOTQ1NTI2NiAxMDA3NTUKLS0tIGEvdC90MzQxOS1yZWJhc2UtcGF0Y2gtaWQuc2gKKysrIGIvdC90MzQxOS1yZWJhc2UtcGF0Y2gtaWQuc2gKQEAgLTgwLDcgKzgwLDggQEAKIAkJZ2l0IGNvbW1pdCAtcSAtbSAiY2hhbmdlIGJpZyBmaWxlIGFnYWluIiAmJgogCQlnaXQgY2hlY2tvdXQgLXEgb3RoZXJee30gJiYKIAkJZ2l0IHJlYmFzZSBtYXN0ZXIgJiYKLQkJdGVzdF9tdXN0X2ZhaWwgdGVzdCAtbiAiJChnaXQgcmV2LWxpc3QgbWFzdGVyLi4uSEVBRH4pIgorCQlnaXQgcmV2LWxpc3QgbWFzdGVyLi4uSEVBRH4gPnJldnMgJiYKKwkJdGVzdF9tdXN0X2JlX2VtcHR5IHJldnMKIAknCiAKIAl0ZXN0X2V4cGVjdF9zdWNjZXNzICRwciAnZG8gbm90IGRyb3AgcGF0Y2gnICcKZGlmZiAtLWdpdCBhL3QvdDM0MjAtcmViYXNlLWF1dG9zdGFzaC5zaCBiL3QvdDM0MjAtcmViYXNlLWF1dG9zdGFzaC5zaAppbmRleCA0Yzc0OTRjLi5iOTdlYTYyIDEwMDc1NQotLS0gYS90L3QzNDIwLXJlYmFzZS1hdXRvc3Rhc2guc2gKKysrIGIvdC90MzQyMC1yZWJhc2UtYXV0b3N0YXNoLnNoCkBAIC0zMCwxMyArMzAsMTMgQEAKIAllY2hvIGNvbmZsaWN0aW5nLWNoYW5nZSA+ZmlsZTIgJiYKIAlnaXQgYWRkIC4gJiYKIAl0ZXN0X3RpY2sgJiYKLQlnaXQgY29tbWl0IC1tICJyZWxhdGVkIGNvbW1pdCIKKwlnaXQgY29tbWl0IC1tICJyZWxhdGVkIGNvbW1pdCIgJiYKKwlyZW1vdmVfcHJvZ3Jlc3NfcmU9IiQocHJpbnRmICJzLy4qXFxyLy8iKSIKICcKIAotY3JlYXRlX2V4cGVjdGVkX3N1Y2Nlc3NfYW0gKCkgeworY3JlYXRlX2V4cGVjdGVkX3N1Y2Nlc3NfYXBwbHkgKCkgewogCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GCiAJJChncmVwICJeQ3JlYXRlZCBhdXRvc3Rhc2g6IFswLTlhLWZdWzAtOWEtZl0qXCQiIGFjdHVhbCkKLQlIRUFEIGlzIG5vdyBhdCAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBmZWF0dXJlLWJyYW5jaCkgdGhpcmQgY29tbWl0CiAJRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uCiAJQXBwbHlpbmc6IHNlY29uZCBjb21taXQKIAlBcHBseWluZzogdGhpcmQgY29tbWl0CkBAIC00NCw1NCArNDQsMTcgQEAKIAlFT0YKIH0KIAotY3JlYXRlX2V4cGVjdGVkX3N1Y2Nlc3NfaW50ZXJhY3RpdmUgKCkgeworY3JlYXRlX2V4cGVjdGVkX3N1Y2Nlc3NfbWVyZ2UgKCkgewogCXFfdG9fY3IgPmV4cGVjdGVkIDw8LUVPRgogCSQoZ3JlcCAiXkNyZWF0ZWQgYXV0b3N0YXNoOiBbMC05YS1mXVswLTlhLWZdKlwkIiBhY3R1YWwpCi0JSEVBRCBpcyBub3cgYXQgJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgZmVhdHVyZS1icmFuY2gpIHRoaXJkIGNvbW1pdAotCVJlYmFzaW5nICgxLzIpUVJlYmFzaW5nICgyLzIpUUFwcGxpZWQgYXV0b3N0YXNoLgorCUFwcGxpZWQgYXV0b3N0YXNoLgogCVN1Y2Nlc3NmdWxseSByZWJhc2VkIGFuZCB1cGRhdGVkIHJlZnMvaGVhZHMvcmViYXNlZC1mZWF0dXJlLWJyYW5jaC4KIAlFT0YKIH0KIAotY3JlYXRlX2V4cGVjdGVkX3N1Y2Nlc3NfbWVyZ2UgKCkgeworY3JlYXRlX2V4cGVjdGVkX2ZhaWx1cmVfYXBwbHkgKCkgewogCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GCiAJJChncmVwICJeQ3JlYXRlZCBhdXRvc3Rhc2g6IFswLTlhLWZdWzAtOWEtZl0qXCQiIGFjdHVhbCkKLQlIRUFEIGlzIG5vdyBhdCAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBmZWF0dXJlLWJyYW5jaCkgdGhpcmQgY29tbWl0Ci0JRmlyc3QsIHJld2luZGluZyBoZWFkIHRvIHJlcGxheSB5b3VyIHdvcmsgb24gdG9wIG9mIGl0Li4uCi0JTWVyZ2luZyB1bnJlbGF0ZWQtb250by1icmFuY2ggd2l0aCBIRUFEfjEKLQlNZXJnaW5nOgotCSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IHVucmVsYXRlZC1vbnRvLWJyYW5jaCkgdW5yZWxhdGVkIGNvbW1pdAotCSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IGZlYXR1cmUtYnJhbmNoXikgc2Vjb25kIGNvbW1pdAotCWZvdW5kIDEgY29tbW9uIGFuY2VzdG9yOgotCSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IGZlYXR1cmUtYnJhbmNofjIpIGluaXRpYWwgY29tbWl0Ci0JW2RldGFjaGVkIEhFQUQgJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgcmViYXNlZC1mZWF0dXJlLWJyYW5jaH4xKV0gc2Vjb25kIGNvbW1pdAotCSBBdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+Ci0JIERhdGU6IFRodSBBcHIgNyAxNToxNDoxMyAyMDA1IC0wNzAwCi0JIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCi0JIGNyZWF0ZSBtb2RlIDEwMDY0NCBmaWxlMQotCSBjcmVhdGUgbW9kZSAxMDA2NDQgZmlsZTIKLQlDb21taXR0ZWQ6IDAwMDEgc2Vjb25kIGNvbW1pdAotCU1lcmdpbmcgdW5yZWxhdGVkLW9udG8tYnJhbmNoIHdpdGggSEVBRH4wCi0JTWVyZ2luZzoKLQkkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCByZWJhc2VkLWZlYXR1cmUtYnJhbmNofjEpIHNlY29uZCBjb21taXQKLQkkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBmZWF0dXJlLWJyYW5jaCkgdGhpcmQgY29tbWl0Ci0JZm91bmQgMSBjb21tb24gYW5jZXN0b3I6Ci0JJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgZmVhdHVyZS1icmFuY2h+MSkgc2Vjb25kIGNvbW1pdAotCVtkZXRhY2hlZCBIRUFEICQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IHJlYmFzZWQtZmVhdHVyZS1icmFuY2gpXSB0aGlyZCBjb21taXQKLQkgQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgotCSBEYXRlOiBUaHUgQXByIDcgMTU6MTU6MTMgMjAwNSAtMDcwMAotCSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQkgY3JlYXRlIG1vZGUgMTAwNjQ0IGZpbGUzCi0JQ29tbWl0dGVkOiAwMDAyIHRoaXJkIGNvbW1pdAotCUFsbCBkb25lLgotCUFwcGxpZWQgYXV0b3N0YXNoLgotCUVPRgotfQotCi1jcmVhdGVfZXhwZWN0ZWRfZmFpbHVyZV9hbSAoKSB7Ci0JY2F0ID5leHBlY3RlZCA8PC1FT0YKLQkkKGdyZXAgIl5DcmVhdGVkIGF1dG9zdGFzaDogWzAtOWEtZl1bMC05YS1mXSpcJCIgYWN0dWFsKQotCUhFQUQgaXMgbm93IGF0ICQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IGZlYXR1cmUtYnJhbmNoKSB0aGlyZCBjb21taXQKIAlGaXJzdCwgcmV3aW5kaW5nIGhlYWQgdG8gcmVwbGF5IHlvdXIgd29yayBvbiB0b3Agb2YgaXQuLi4KIAlBcHBseWluZzogc2Vjb25kIGNvbW1pdAogCUFwcGx5aW5nOiB0aGlyZCBjb21taXQKQEAgLTEwMSw1MSArNjQsMTMgQEAKIAlFT0YKIH0KIAotY3JlYXRlX2V4cGVjdGVkX2ZhaWx1cmVfaW50ZXJhY3RpdmUgKCkgewotCXFfdG9fY3IgPmV4cGVjdGVkIDw8LUVPRgotCSQoZ3JlcCAiXkNyZWF0ZWQgYXV0b3N0YXNoOiBbMC05YS1mXVswLTlhLWZdKlwkIiBhY3R1YWwpCi0JSEVBRCBpcyBub3cgYXQgJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgZmVhdHVyZS1icmFuY2gpIHRoaXJkIGNvbW1pdAotCVJlYmFzaW5nICgxLzIpUVJlYmFzaW5nICgyLzIpUUFwcGx5aW5nIGF1dG9zdGFzaCByZXN1bHRlZCBpbiBjb25mbGljdHMuCi0JWW91ciBjaGFuZ2VzIGFyZSBzYWZlIGluIHRoZSBzdGFzaC4KLQlZb3UgY2FuIHJ1biAiZ2l0IHN0YXNoIHBvcCIgb3IgImdpdCBzdGFzaCBkcm9wIiBhdCBhbnkgdGltZS4KLQlTdWNjZXNzZnVsbHkgcmViYXNlZCBhbmQgdXBkYXRlZCByZWZzL2hlYWRzL3JlYmFzZWQtZmVhdHVyZS1icmFuY2guCi0JRU9GCi19Ci0KIGNyZWF0ZV9leHBlY3RlZF9mYWlsdXJlX21lcmdlICgpIHsKIAljYXQgPmV4cGVjdGVkIDw8LUVPRgogCSQoZ3JlcCAiXkNyZWF0ZWQgYXV0b3N0YXNoOiBbMC05YS1mXVswLTlhLWZdKlwkIiBhY3R1YWwpCi0JSEVBRCBpcyBub3cgYXQgJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgZmVhdHVyZS1icmFuY2gpIHRoaXJkIGNvbW1pdAotCUZpcnN0LCByZXdpbmRpbmcgaGVhZCB0byByZXBsYXkgeW91ciB3b3JrIG9uIHRvcCBvZiBpdC4uLgotCU1lcmdpbmcgdW5yZWxhdGVkLW9udG8tYnJhbmNoIHdpdGggSEVBRH4xCi0JTWVyZ2luZzoKLQkkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCB1bnJlbGF0ZWQtb250by1icmFuY2gpIHVucmVsYXRlZCBjb21taXQKLQkkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBmZWF0dXJlLWJyYW5jaF4pIHNlY29uZCBjb21taXQKLQlmb3VuZCAxIGNvbW1vbiBhbmNlc3RvcjoKLQkkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBmZWF0dXJlLWJyYW5jaH4yKSBpbml0aWFsIGNvbW1pdAotCVtkZXRhY2hlZCBIRUFEICQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IHJlYmFzZWQtZmVhdHVyZS1icmFuY2h+MSldIHNlY29uZCBjb21taXQKLQkgQXV0aG9yOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgotCSBEYXRlOiBUaHUgQXByIDcgMTU6MTQ6MTMgMjAwNSAtMDcwMAotCSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQotCSBjcmVhdGUgbW9kZSAxMDA2NDQgZmlsZTEKLQkgY3JlYXRlIG1vZGUgMTAwNjQ0IGZpbGUyCi0JQ29tbWl0dGVkOiAwMDAxIHNlY29uZCBjb21taXQKLQlNZXJnaW5nIHVucmVsYXRlZC1vbnRvLWJyYW5jaCB3aXRoIEhFQUR+MAotCU1lcmdpbmc6Ci0JJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgcmViYXNlZC1mZWF0dXJlLWJyYW5jaH4xKSBzZWNvbmQgY29tbWl0Ci0JJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgZmVhdHVyZS1icmFuY2gpIHRoaXJkIGNvbW1pdAotCWZvdW5kIDEgY29tbW9uIGFuY2VzdG9yOgotCSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IGZlYXR1cmUtYnJhbmNofjEpIHNlY29uZCBjb21taXQKLQlbZGV0YWNoZWQgSEVBRCAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCByZWJhc2VkLWZlYXR1cmUtYnJhbmNoKV0gdGhpcmQgY29tbWl0Ci0JIEF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KLQkgRGF0ZTogVGh1IEFwciA3IDE1OjE1OjEzIDIwMDUgLTA3MDAKLQkgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0JIGNyZWF0ZSBtb2RlIDEwMDY0NCBmaWxlMwotCUNvbW1pdHRlZDogMDAwMiB0aGlyZCBjb21taXQKLQlBbGwgZG9uZS4KIAlBcHBseWluZyBhdXRvc3Rhc2ggcmVzdWx0ZWQgaW4gY29uZmxpY3RzLgogCVlvdXIgY2hhbmdlcyBhcmUgc2FmZSBpbiB0aGUgc3Rhc2guCiAJWW91IGNhbiBydW4gImdpdCBzdGFzaCBwb3AiIG9yICJnaXQgc3Rhc2ggZHJvcCIgYXQgYW55IHRpbWUuCisJU3VjY2Vzc2Z1bGx5IHJlYmFzZWQgYW5kIHVwZGF0ZWQgcmVmcy9oZWFkcy9yZWJhc2VkLWZlYXR1cmUtYnJhbmNoLgogCUVPRgogfQogCkBAIC0xNzYsOSArMTAxLDEzIEBACiAKIAl0ZXN0X2V4cGVjdF9zdWNjZXNzICJyZWJhc2UkdHlwZSAtLWF1dG9zdGFzaDogY2hlY2sgb3V0cHV0IiAnCiAJCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgYnJhbmNoIC1EIHJlYmFzZWQtZmVhdHVyZS1icmFuY2ggJiYKLQkJc3VmZml4PSR7dHlwZSNcIC0tfSAmJiBzdWZmaXg9JHtzdWZmaXg6LWFtfSAmJgorCQlzdWZmaXg9JHt0eXBlI1wgLS19ICYmIHN1ZmZpeD0ke3N1ZmZpeDotYXBwbHl9ICYmCisJCWlmIHRlc3QgJHtzdWZmaXh9ID0gImludGVyYWN0aXZlIjsgdGhlbgorCQkJc3VmZml4PW1lcmdlCisJCWZpICYmCiAJCWNyZWF0ZV9leHBlY3RlZF9zdWNjZXNzXyRzdWZmaXggJiYKLQkJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAorCQlzZWQgIiRyZW1vdmVfcHJvZ3Jlc3NfcmUiIDxhY3R1YWwgPmFjdHVhbDIgJiYKKwkJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbDIKIAknCiAKIAl0ZXN0X2V4cGVjdF9zdWNjZXNzICJyZWJhc2UkdHlwZTogZGlydHkgaW5kZXgsIG5vbi1jb25mbGljdGluZyByZWJhc2UiICcKQEAgLTI3Myw5ICsyMDIsMTMgQEAKIAogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgInJlYmFzZSR0eXBlOiBjaGVjayBvdXRwdXQgd2l0aCBjb25mbGljdGluZyBzdGFzaCIgJwogCQl0ZXN0X3doZW5fZmluaXNoZWQgZ2l0IGJyYW5jaCAtRCByZWJhc2VkLWZlYXR1cmUtYnJhbmNoICYmCi0JCXN1ZmZpeD0ke3R5cGUjXCAtLX0gJiYgc3VmZml4PSR7c3VmZml4Oi1hbX0gJiYKKwkJc3VmZml4PSR7dHlwZSNcIC0tfSAmJiBzdWZmaXg9JHtzdWZmaXg6LWFwcGx5fSAmJgorCQlpZiB0ZXN0ICR7c3VmZml4fSA9ICJpbnRlcmFjdGl2ZSI7IHRoZW4KKwkJCXN1ZmZpeD1tZXJnZQorCQlmaSAmJgogCQljcmVhdGVfZXhwZWN0ZWRfZmFpbHVyZV8kc3VmZml4ICYmCi0JCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKKwkJc2VkICIkcmVtb3ZlX3Byb2dyZXNzX3JlIiA8YWN0dWFsID5hY3R1YWwyICYmCisJCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwyCiAJJwogfQogCkBAIC0zMDEsNyArMjM0LDcgQEAKIAlnaXQgY2hlY2tvdXQgZmVhdHVyZS1icmFuY2gKICcKIAotdGVzdHJlYmFzZSAiIiAuZ2l0L3JlYmFzZS1hcHBseQordGVzdHJlYmFzZSAiIC0tYXBwbHkiIC5naXQvcmViYXNlLWFwcGx5CiB0ZXN0cmViYXNlICIgLS1tZXJnZSIgLmdpdC9yZWJhc2UtbWVyZ2UKIHRlc3RyZWJhc2UgIiAtLWludGVyYWN0aXZlIiAuZ2l0L3JlYmFzZS1tZXJnZQogCkBAIC0zNjksNCArMzAyLDEyIEBACiAJdGVzdCB1bmNoYW5nZWQtYnJhbmNoID0gIiQoZ2l0IHJldi1wYXJzZSAtLWFiYnJldi1yZWYgSEVBRCkiCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25ldmVyIGNoYW5nZSBhY3RpdmUgYnJhbmNoJyAnCisJZ2l0IGNoZWNrb3V0IC1iIG5vdC10aGUtZmVhdHVyZS1icmFuY2ggdW5yZWxhdGVkLW9udG8tYnJhbmNoICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkICYmIGdpdCBjaGVja291dCBtYXN0ZXIiICYmCisJZWNobyBjaGFuZ2VkID5maWxlMCAmJgorCWdpdCByZWJhc2UgLS1hdXRvc3Rhc2ggbm90LXRoZS1mZWF0dXJlLWJyYW5jaCBmZWF0dXJlLWJyYW5jaCAmJgorCXRlc3RfY21wX3JldiBub3QtdGhlLWZlYXR1cmUtYnJhbmNoIHVucmVsYXRlZC1vbnRvLWJyYW5jaAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDM0MjEtcmViYXNlLXRvcG9sb2d5LWxpbmVhci5zaCBiL3QvdDM0MjEtcmViYXNlLXRvcG9sb2d5LWxpbmVhci5zaAppbmRleCAyM2FkNGNmLi5jZjhkZmQ2IDEwMDc1NQotLS0gYS90L3QzNDIxLXJlYmFzZS10b3BvbG9neS1saW5lYXIuc2gKKysrIGIvdC90MzQyMS1yZWJhc2UtdG9wb2xvZ3ktbGluZWFyLnNoCkBAIC0yNiwxMSArMjYsMjEgQEAKIAkJdGVzdF9saW5lYXJfcmFuZ2UgJ2QgZScgYy4uCiAJIgogfQotdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgJycKK3Rlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC0tYXBwbHkKIHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1tCiB0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtaQogdGVzdF9oYXZlX3ByZXJlcSAhUkVCQVNFX1AgfHwgdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLXAKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgYnJhbmNoZXMgYW5kIHJlbW90ZSB0cmFja2luZycgJworCWdpdCB0YWcgLWwgPnRhZ3MgJiYKKwlmb3IgdGFnIGluICQoY2F0IHRhZ3MpCisJZG8KKwkJZ2l0IGJyYW5jaCBicmFuY2gtJHRhZyAkdGFnIHx8IHJldHVybiAxCisJZG9uZSAmJgorCWdpdCByZW1vdGUgYWRkIG9yaWdpbiAiZmlsZTovLyRQV0QiICYmCisJZ2l0IGZldGNoIG9yaWdpbgorJworCiB0ZXN0X3J1bl9yZWJhc2UgKCkgewogCXJlc3VsdD0kMQogCXNoaWZ0CkBAIC00MCw3ICs1MCw3IEBACiAJCXRlc3RfY21wX3JldiBlIEhFQUQKIAkiCiB9Ci10ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAnJwordGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLS1hcHBseQogdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLW0KIHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1pCiB0ZXN0X2hhdmVfcHJlcmVxICFSRUJBU0VfUCB8fCB0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtcApAQCAtNTEsMTIgKzYxLDEzIEBACiAJdGVzdF9leHBlY3RfJHJlc3VsdCAicmViYXNlICQqIC1mIHJld3JpdGVzIGV2ZW4gaWYgdXBzdHJlYW0gaXMgYW4gYW5jZXN0b3IiICIKIAkJcmVzZXRfcmViYXNlICYmCiAJCWdpdCByZWJhc2UgJCogLWYgYiBlICYmCi0JCSEgdGVzdF9jbXBfcmV2IGUgSEVBRCAmJgorCQl0ZXN0X2NtcF9yZXYgISBlIEhFQUQgJiYKIAkJdGVzdF9jbXBfcmV2IGIgSEVBRH4yICYmCiAJCXRlc3RfbGluZWFyX3JhbmdlICdkIGUnIGIuLgogCSIKIH0KLXRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzICcnCit0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtLWFwcGx5Cit0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtLWZvcmstcG9pbnQKIHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1tCiB0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtaQogdGVzdF9oYXZlX3ByZXJlcSAhUkVCQVNFX1AgfHwgdGVzdF9ydW5fcmViYXNlIGZhaWx1cmUgLXAKQEAgLTY0LDEzICs3NSwzMSBAQAogdGVzdF9ydW5fcmViYXNlICgpIHsKIAlyZXN1bHQ9JDEKIAlzaGlmdAorCXRlc3RfZXhwZWN0XyRyZXN1bHQgInJlYmFzZSAkKiAtZiByZXdyaXRlcyBldmVuIGlmIHJlbW90ZSB1cHN0cmVhbSBpcyBhbiBhbmNlc3RvciIgIgorCQlyZXNldF9yZWJhc2UgJiYKKwkJZ2l0IHJlYmFzZSAkKiAtZiBicmFuY2gtYiBicmFuY2gtZSAmJgorCQl0ZXN0X2NtcF9yZXYgISBicmFuY2gtZSBvcmlnaW4vYnJhbmNoLWUgJiYKKwkJdGVzdF9jbXBfcmV2IGJyYW5jaC1iIEhFQUR+MiAmJgorCQl0ZXN0X2xpbmVhcl9yYW5nZSAnZCBlJyBicmFuY2gtYi4uCisJIgorfQordGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLS1hcHBseQordGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLS1mb3JrLXBvaW50Cit0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtbQordGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLWkKK3Rlc3RfaGF2ZV9wcmVyZXEgIVJFQkFTRV9QIHx8IHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1wCisKK3Rlc3RfcnVuX3JlYmFzZSAoKSB7CisJcmVzdWx0PSQxCisJc2hpZnQKIAl0ZXN0X2V4cGVjdF8kcmVzdWx0ICJyZWJhc2UgJCogZmFzdC1mb3J3YXJkcyBmcm9tIGFuY2VzdG9yIG9mIHVwc3RyZWFtIiAiCiAJCXJlc2V0X3JlYmFzZSAmJgogCQlnaXQgcmViYXNlICQqIGUgYiAmJgogCQl0ZXN0X2NtcF9yZXYgZSBIRUFECiAJIgogfQotdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgJycKK3Rlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC0tYXBwbHkKK3Rlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC0tZm9yay1wb2ludAogdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLW0KIHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1pCiB0ZXN0X2hhdmVfcHJlcmVxICFSRUJBU0VfUCB8fCB0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtcApAQCAtMTEwLDggKzEzOSw4IEBACiAJCXRlc3RfbGluZWFyX3JhbmdlICdkIGknIGguLgogCSIKIH0KLXRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzICcnCi10ZXN0X3J1bl9yZWJhc2UgZmFpbHVyZSAtbQordGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLS1hcHBseQordGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLW0KIHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1pCiB0ZXN0X2hhdmVfcHJlcmVxICFSRUJBU0VfUCB8fCB0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtcAogCkBAIC0xMjUsOCArMTU0LDggQEAKIAkJdGVzdF9saW5lYXJfcmFuZ2UgJ2QnIGguLgogCSIKIH0KLXRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzICcnCi10ZXN0X3J1bl9yZWJhc2UgZmFpbHVyZSAtbQordGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLS1hcHBseQordGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLW0KIHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1pCiB0ZXN0X2hhdmVfcHJlcmVxICFSRUJBU0VfUCB8fCB0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtcAogCkBAIC0xNDAsOCArMTY5LDggQEAKIAkJdGVzdF9saW5lYXJfcmFuZ2UgJ2QgaScgZi4uCiAJIgogfQotdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgJycKLXRlc3RfcnVuX3JlYmFzZSBmYWlsdXJlIC1tCit0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtLWFwcGx5Cit0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtbQogdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLWkKIHRlc3RfaGF2ZV9wcmVyZXEgIVJFQkFTRV9QIHx8IHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1wCiAKQEAgLTE1NSw3ICsxODQsNyBAQAogCQl0ZXN0X2xpbmVhcl9yYW5nZSAnZCBncCBpJyBoLi4KIAkiCiB9Ci10ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAnJwordGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLS1hcHBseQogdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLW0KIHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1pCiB0ZXN0X2hhdmVfcHJlcmVxICFSRUJBU0VfUCB8fCB0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtcApAQCAtMTc2LDE3ICsyMDUsMTcgQEAKIHRlc3RfcnVuX3JlYmFzZSAoKSB7CiAJcmVzdWx0PSQxCiAJc2hpZnQKLQl0ZXN0X2V4cGVjdF8kcmVzdWx0ICJyZWJhc2UgJCogZHJvcHMgZW1wdHkgY29tbWl0IiAiCisJdGVzdF9leHBlY3RfJHJlc3VsdCAicmViYXNlICQqIGtlZXBzIGJlZ2luLWVtcHR5IGNvbW1pdHMiICIKIAkJcmVzZXRfcmViYXNlICYmCi0JCWdpdCByZWJhc2UgJCogYyBsICYmCi0JCXRlc3RfY21wX3JldiBjIEhFQUR+MiAmJgotCQl0ZXN0X2xpbmVhcl9yYW5nZSAnZCBsJyBjLi4KKwkJZ2l0IHJlYmFzZSAkKiBqIGwgJiYKKwkJdGVzdF9jbXBfcmV2IGMgSEVBRH40ICYmCisJCXRlc3RfbGluZWFyX3JhbmdlICdqIGQgayBsJyBjLi4KIAkiCiB9Ci10ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAnJwordGVzdF9ydW5fcmViYXNlIGZhaWx1cmUgLS1hcHBseQogdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLW0KIHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1pCi10ZXN0X2hhdmVfcHJlcmVxICFSRUJBU0VfUCB8fCB0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtcAordGVzdF9oYXZlX3ByZXJlcSAhUkVCQVNFX1AgfHwgdGVzdF9ydW5fcmViYXNlIGZhaWx1cmUgLXAKIAogdGVzdF9ydW5fcmViYXNlICgpIHsKIAlyZXN1bHQ9JDEKQEAgLTE5OCwxMCArMjI3LDEwIEBACiAJCXRlc3RfbGluZWFyX3JhbmdlICdkIGsgbCcgYy4uCiAJIgogfQotdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgJycKK3Rlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC0tYXBwbHkKIHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1tCiB0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtaQotdGVzdF9oYXZlX3ByZXJlcSAhUkVCQVNFX1AgfHwgdGVzdF9ydW5fcmViYXNlIGZhaWx1cmUgLXAKK3Rlc3RfaGF2ZV9wcmVyZXEgIVJFQkFTRV9QIHx8IHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1wCiAKIHRlc3RfcnVuX3JlYmFzZSAoKSB7CiAJcmVzdWx0PSQxCkBAIC0yMTMsMTAgKzI0MiwxMCBAQAogCQl0ZXN0X2xpbmVhcl9yYW5nZSAnZCBrIGwnIGouLgogCSIKIH0KLXRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzICcnCit0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtLWFwcGx5CiB0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtbQogdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLWkKLXRlc3RfaGF2ZV9wcmVyZXEgIVJFQkFTRV9QIHx8IHRlc3RfcnVuX3JlYmFzZSBmYWlsdXJlIC1wCit0ZXN0X2hhdmVfcHJlcmVxICFSRUJBU0VfUCB8fCB0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtcAogdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLS1yZWJhc2UtbWVyZ2VzCiAKICMgICAgICAgbQpAQCAtMjUzLDcgKzI4Miw3IEBACiAJCXRlc3RfbGluZWFyX3JhbmdlICd4IHknIGMuLgogCSIKIH0KLXRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzICcnCit0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtLWFwcGx5CiB0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtbQogdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLWkKIHRlc3RfaGF2ZV9wcmVyZXEgIVJFQkFTRV9QIHx8IHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1wCkBAIC0yNjgsNyArMjk3LDcgQEAKIAkJdGVzdF9saW5lYXJfcmFuZ2UgJ3ggeScgYy4uCiAJIgogfQotdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgJycKK3Rlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC0tYXBwbHkKIHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1tCiB0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtaQogdGVzdF9oYXZlX3ByZXJlcSAhUkVCQVNFX1AgfHwgdGVzdF9ydW5fcmViYXNlIGZhaWx1cmUgLXAKQEAgLTI4Myw4ICszMTIsOCBAQAogCQl0ZXN0X2xpbmVhcl9yYW5nZSAneCB5JyBtLi4KIAkiCiB9Ci10ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAnJwotdGVzdF9ydW5fcmViYXNlIGZhaWx1cmUgLW0KK3Rlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC0tYXBwbHkKK3Rlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1tCiB0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtaQogdGVzdF9oYXZlX3ByZXJlcSAhUkVCQVNFX1AgfHwgdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLXAKIApAQCAtMjk5LDcgKzMyOCw3IEBACiAJIgogfQogCi10ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAnJwordGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLS1hcHBseQogdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLW0KIHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1pCiB0ZXN0X2hhdmVfcHJlcmVxICFSRUJBU0VfUCB8fCB0ZXN0X3J1bl9yZWJhc2UgZmFpbHVyZSAtcApAQCAtMzE0LDggKzM0Myw4IEBACiAJCXRlc3RfbGluZWFyX3JhbmdlICd4IHknIG0uLgogCSIKIH0KLXRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzICcnCi10ZXN0X3J1bl9yZWJhc2UgZmFpbHVyZSAtbQordGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLS1hcHBseQordGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgLW0KIHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1pCiB0ZXN0X2hhdmVfcHJlcmVxICFSRUJBU0VfUCB8fCB0ZXN0X3J1bl9yZWJhc2UgZmFpbHVyZSAtcAogCkBAIC0zMzksNyArMzY4LDcgQEAKIAl0ZXN0X2V4cGVjdF8kcmVzdWx0ICJyZWJhc2UgJCogLWYgLS1yb290IG9uIGxpbmVhciBoaXN0b3J5IGNhdXNlcyByZS13cml0ZSIgIgogCQlyZXNldF9yZWJhc2UgJiYKIAkJZ2l0IHJlYmFzZSAkKiAtZiAtLXJvb3QgYyAmJgotCQkhIHRlc3RfY21wX3JldiBhIEhFQUR+MiAmJgorCQl0ZXN0X2NtcF9yZXYgISBhIEhFQUR+MiAmJgogCQl0ZXN0X2xpbmVhcl9yYW5nZSAnYSBiIGMnIEhFQUQKIAkiCiB9CmRpZmYgLS1naXQgYS90L3QzNDIyLXJlYmFzZS1pbmNvbXBhdGlibGUtb3B0aW9ucy5zaCBiL3QvdDM0MjItcmViYXNlLWluY29tcGF0aWJsZS1vcHRpb25zLnNoCmluZGV4IGJiNzhhNmUuLjUwZTc5NjAgMTAwNzU1Ci0tLSBhL3QvdDM0MjItcmViYXNlLWluY29tcGF0aWJsZS1vcHRpb25zLnNoCisrKyBiL3QvdDM0MjItcmViYXNlLWluY29tcGF0aWJsZS1vcHRpb25zLnNoCkBAIC02NSwyNCArNjUsMTUgQEAKIHRlc3RfcmViYXNlX2FtX29ubHkgLS1jb21taXR0ZXItZGF0ZS1pcy1hdXRob3ItZGF0ZQogdGVzdF9yZWJhc2VfYW1fb25seSAtQzQKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1wcmVzZXJ2ZS1tZXJnZXMgaW5jb21wYXRpYmxlIHdpdGggLS1zaWdub2ZmJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFJFQkFTRV9QICctLXByZXNlcnZlLW1lcmdlcyBpbmNvbXBhdGlibGUgd2l0aCAtLXNpZ25vZmYnICcKIAlnaXQgY2hlY2tvdXQgQl4wICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtLXByZXNlcnZlLW1lcmdlcyAtLXNpZ25vZmYgQQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICctLXByZXNlcnZlLW1lcmdlcyBpbmNvbXBhdGlibGUgd2l0aCAtLXJlYmFzZS1tZXJnZXMnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUkVCQVNFX1AgXAorCSctLXByZXNlcnZlLW1lcmdlcyBpbmNvbXBhdGlibGUgd2l0aCAtLXJlYmFzZS1tZXJnZXMnICcKIAlnaXQgY2hlY2tvdXQgQl4wICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtLXByZXNlcnZlLW1lcmdlcyAtLXJlYmFzZS1tZXJnZXMgQQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICctLXJlYmFzZS1tZXJnZXMgaW5jb21wYXRpYmxlIHdpdGggLS1zdHJhdGVneScgJwotCWdpdCBjaGVja291dCBCXjAgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC0tcmViYXNlLW1lcmdlcyAtcyByZXNvbHZlIEEKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1yZWJhc2UtbWVyZ2VzIGluY29tcGF0aWJsZSB3aXRoIC0tc3RyYXRlZ3ktb3B0aW9uJyAnCi0JZ2l0IGNoZWNrb3V0IEJeMCAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLS1yZWJhc2UtbWVyZ2VzIC1YaWdub3JlLXNwYWNlLWNoYW5nZSBBCi0nCi0KIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzQyNC1yZWJhc2UtZW1wdHkuc2ggYi90L3QzNDI0LXJlYmFzZS1lbXB0eS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45OGZjMmE1Ci0tLSAvZGV2L251bGwKKysrIGIvdC90MzQyNC1yZWJhc2UtZW1wdHkuc2gKQEAgLTAsMCArMSwxMjYgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdnaXQgcmViYXNlIG9mIGNvbW1pdHMgdGhhdCBzdGFydCBvciBiZWNvbWUgZW1wdHknCisKKy4gLi90ZXN0LWxpYi5zaAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCB0ZXN0IHJlcG9zaXRvcnknICcKKwl0ZXN0X3dyaXRlX2xpbmVzIDEgMiAzIDQgNSA2IDcgOCA5IDEwID5udW1iZXJzICYmCisJdGVzdF93cml0ZV9saW5lcyBBIEIgQyBEIEUgRiBHIEggSSBKID5sZXR0ZXJzICYmCisJZ2l0IGFkZCBudW1iZXJzIGxldHRlcnMgJiYKKwlnaXQgY29tbWl0IC1tIEEgJiYKKworCWdpdCBicmFuY2ggdXBzdHJlYW0gJiYKKwlnaXQgYnJhbmNoIGxvY2FsbW9kcyAmJgorCisJZ2l0IGNoZWNrb3V0IHVwc3RyZWFtICYmCisJdGVzdF93cml0ZV9saW5lcyBBIEIgQyBEIEUgPmxldHRlcnMgJiYKKwlnaXQgYWRkIGxldHRlcnMgJiYKKwlnaXQgY29tbWl0IC1tIEIgJiYKKworCXRlc3Rfd3JpdGVfbGluZXMgMSAyIDMgNCBmaXZlIDYgNyA4IDkgdGVuID5udW1iZXJzICYmCisJZ2l0IGFkZCBudW1iZXJzICYmCisJZ2l0IGNvbW1pdCAtbSBDICYmCisKKwlnaXQgY2hlY2tvdXQgbG9jYWxtb2RzICYmCisJdGVzdF93cml0ZV9saW5lcyAxIDIgMyA0IGZpdmUgNiA3IDggOSAxMCA+bnVtYmVycyAmJgorCWdpdCBhZGQgbnVtYmVycyAmJgorCWdpdCBjb21taXQgLW0gQzIgJiYKKworCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSBEICYmCisKKwl0ZXN0X3dyaXRlX2xpbmVzIEEgQiBDIEQgRSA+bGV0dGVycyAmJgorCWdpdCBhZGQgbGV0dGVycyAmJgorCWdpdCBjb21taXQgLW0gIkZpdmUgbGV0dGVycyBvdWdodCB0byBiZSBlbm91Z2ggZm9yIGFueWJvZHkiCisnCisKK3Rlc3RfZXhwZWN0X2ZhaWx1cmUgJ3JlYmFzZSAoYXBwbHktYmFja2VuZCknICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZWJhc2UgLS1hYm9ydCIgJiYKKwlnaXQgY2hlY2tvdXQgLUIgdGVzdGluZyBsb2NhbG1vZHMgJiYKKwkjIHJlYmFzZSAoLS1hcHBseSkgc2hvdWxkIG5vdCBkcm9wIGNvbW1pdHMgdGhhdCBzdGFydCBlbXB0eQorCWdpdCByZWJhc2UgLS1hcHBseSB1cHN0cmVhbSAmJgorCisJdGVzdF93cml0ZV9saW5lcyBEIEMgQiBBID5leHBlY3QgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtLW1lcmdlIC0tZW1wdHk9ZHJvcCcgJworCWdpdCBjaGVja291dCAtQiB0ZXN0aW5nIGxvY2FsbW9kcyAmJgorCWdpdCByZWJhc2UgLS1tZXJnZSAtLWVtcHR5PWRyb3AgdXBzdHJlYW0gJiYKKworCXRlc3Rfd3JpdGVfbGluZXMgRCBDIEIgQSA+ZXhwZWN0ICYmCisJZ2l0IGxvZyAtLWZvcm1hdD0lcyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLS1tZXJnZSB1c2VzIGRlZmF1bHQgb2YgLS1lbXB0eT1kcm9wJyAnCisJZ2l0IGNoZWNrb3V0IC1CIHRlc3RpbmcgbG9jYWxtb2RzICYmCisJZ2l0IHJlYmFzZSAtLW1lcmdlIHVwc3RyZWFtICYmCisKKwl0ZXN0X3dyaXRlX2xpbmVzIEQgQyBCIEEgPmV4cGVjdCAmJgorCWdpdCBsb2cgLS1mb3JtYXQ9JXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC0tbWVyZ2UgLS1lbXB0eT1rZWVwJyAnCisJZ2l0IGNoZWNrb3V0IC1CIHRlc3RpbmcgbG9jYWxtb2RzICYmCisJZ2l0IHJlYmFzZSAtLW1lcmdlIC0tZW1wdHk9a2VlcCB1cHN0cmVhbSAmJgorCisJdGVzdF93cml0ZV9saW5lcyBEIEMyIEMgQiBBID5leHBlY3QgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtLW1lcmdlIC0tZW1wdHk9YXNrJyAnCisJZ2l0IGNoZWNrb3V0IC1CIHRlc3RpbmcgbG9jYWxtb2RzICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtLW1lcmdlIC0tZW1wdHk9YXNrIHVwc3RyZWFtICYmCisKKwlnaXQgcmViYXNlIC0tc2tpcCAmJgorCisJdGVzdF93cml0ZV9saW5lcyBEIEMgQiBBID5leHBlY3QgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSAtLWludGVyYWN0aXZlIC0tZW1wdHk9ZHJvcCcgJworCWdpdCBjaGVja291dCAtQiB0ZXN0aW5nIGxvY2FsbW9kcyAmJgorCWdpdCByZWJhc2UgLS1pbnRlcmFjdGl2ZSAtLWVtcHR5PWRyb3AgdXBzdHJlYW0gJiYKKworCXRlc3Rfd3JpdGVfbGluZXMgRCBDIEIgQSA+ZXhwZWN0ICYmCisJZ2l0IGxvZyAtLWZvcm1hdD0lcyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgLS1pbnRlcmFjdGl2ZSAtLWVtcHR5PWtlZXAnICcKKwlnaXQgY2hlY2tvdXQgLUIgdGVzdGluZyBsb2NhbG1vZHMgJiYKKwlnaXQgcmViYXNlIC0taW50ZXJhY3RpdmUgLS1lbXB0eT1rZWVwIHVwc3RyZWFtICYmCisKKwl0ZXN0X3dyaXRlX2xpbmVzIEQgQzIgQyBCIEEgPmV4cGVjdCAmJgorCWdpdCBsb2cgLS1mb3JtYXQ9JXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC0taW50ZXJhY3RpdmUgLS1lbXB0eT1hc2snICcKKwlnaXQgY2hlY2tvdXQgLUIgdGVzdGluZyBsb2NhbG1vZHMgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC0taW50ZXJhY3RpdmUgLS1lbXB0eT1hc2sgdXBzdHJlYW0gJiYKKworCWdpdCByZWJhc2UgLS1za2lwICYmCisKKwl0ZXN0X3dyaXRlX2xpbmVzIEQgQyBCIEEgPmV4cGVjdCAmJgorCWdpdCBsb2cgLS1mb3JtYXQ9JXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC0taW50ZXJhY3RpdmUgdXNlcyBkZWZhdWx0IG9mIC0tZW1wdHk9YXNrJyAnCisJZ2l0IGNoZWNrb3V0IC1CIHRlc3RpbmcgbG9jYWxtb2RzICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtLWludGVyYWN0aXZlIHVwc3RyZWFtICYmCisKKwlnaXQgcmViYXNlIC0tc2tpcCAmJgorCisJdGVzdF93cml0ZV9saW5lcyBEIEMgQiBBID5leHBlY3QgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzQyNS1yZWJhc2UtdG9wb2xvZ3ktbWVyZ2VzLnNoIGIvdC90MzQyNS1yZWJhc2UtdG9wb2xvZ3ktbWVyZ2VzLnNoCmluZGV4IDVmODkyZTMuLmU0MmZhYTQgMTAwNzU1Ci0tLSBhL3QvdDM0MjUtcmViYXNlLXRvcG9sb2d5LW1lcmdlcy5zaAorKysgYi90L3QzNDI1LXJlYmFzZS10b3BvbG9neS1tZXJnZXMuc2gKQEAgLTU0LDcgKzU0LDcgQEAKIAkJdGVzdF9saW5lYXJfcmFuZ2UgJ24gbycgZS4uCiAJIgogfQotdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgJycKK3Rlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC0tYXBwbHkKIHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzIC1tCiB0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAtaQogCkBAIC03MCw5ICs3MCw4IEBACiAJCXRlc3RfbGluZWFyX3JhbmdlICJcJyIkZXhwZWN0ZWQiXCciIGQuLgogCSIKIH0KLSNUT0RPOiBtYWtlIG9yZGVyIGNvbnNpc3RlbnQgYWNyb3NzIGFsbCBmbGF2b3JzIG9mIHJlYmFzZQotdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgJ2UgbiBvJyAnJwotdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgJ2UgbiBvJyAtbQordGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgJ24gbyBlJyAtLWFwcGx5Cit0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAnbiBvIGUnIC1tCiB0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAnbiBvIGUnIC1pCiAKIHRlc3RfcnVuX3JlYmFzZSAoKSB7CkBAIC04Nyw5ICs4Niw4IEBACiAJCXRlc3RfbGluZWFyX3JhbmdlICJcJyIkZXhwZWN0ZWQiXCciIGMuLgogCSIKIH0KLSNUT0RPOiBtYWtlIG9yZGVyIGNvbnNpc3RlbnQgYWNyb3NzIGFsbCBmbGF2b3JzIG9mIHJlYmFzZQotdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgJ2QgZSBuIG8nICcnCi10ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAnZCBlIG4gbycgLW0KK3Rlc3RfcnVuX3JlYmFzZSBzdWNjZXNzICdkIG4gbyBlJyAtLWFwcGx5Cit0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAnZCBuIG8gZScgLW0KIHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzICdkIG4gbyBlJyAtaQogCiB0ZXN0X3J1bl9yZWJhc2UgKCkgewpAQCAtMTA0LDkgKzEwMiw4IEBACiAJCXRlc3RfbGluZWFyX3JhbmdlICJcJyIkZXhwZWN0ZWQiXCciIGMuLgogCSIKIH0KLSNUT0RPOiBtYWtlIG9yZGVyIGNvbnNpc3RlbnQgYWNyb3NzIGFsbCBmbGF2b3JzIG9mIHJlYmFzZQotdGVzdF9ydW5fcmViYXNlIHN1Y2Nlc3MgJ2QgZSBuIG8nICcnCi10ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAnZCBlIG4gbycgLW0KK3Rlc3RfcnVuX3JlYmFzZSBzdWNjZXNzICdkIG4gbyBlJyAtLWFwcGx5Cit0ZXN0X3J1bl9yZWJhc2Ugc3VjY2VzcyAnZCBuIG8gZScgLW0KIHRlc3RfcnVuX3JlYmFzZSBzdWNjZXNzICdkIG4gbyBlJyAtaQogCiBpZiAhIHRlc3RfaGF2ZV9wcmVyZXEgUkVCQVNFX1A7IHRoZW4KZGlmZiAtLWdpdCBhL3QvdDM0MjctcmViYXNlLXN1YnRyZWUuc2ggYi90L3QzNDI3LXJlYmFzZS1zdWJ0cmVlLnNoCmluZGV4IDM3ODA4NzcuLjc5ZTQzYTMgMTAwNzU1Ci0tLSBhL3QvdDM0MjctcmViYXNlLXN1YnRyZWUuc2gKKysrIGIvdC90MzQyNy1yZWJhc2Utc3VidHJlZS5zaApAQCAtMTEsMTA4ICsxMSw5OSBAQAogCWdpdCBsb2cgLS1wcmV0dHk9Zm9ybWF0OiVzIC0xICIkMSIKIH0KIAorIyBUaGVyZSBhcmUgYSBmZXcgYnVncyBpbiB0aGUgcmViYXNlIHdpdGggcmVnYXJkcyB0byB0aGUgc3VidHJlZSBzdHJhdGVneSwgYW5kCisjIHRoaXMgdGVzdCBzY3JpcHQgdHJpZXMgdG8gZG9jdW1lbnQgdGhlbS4gIEZpcnN0LCB0aGUgZm9sbG93aW5nIGNvbW1pdCBoaXN0b3J5CisjIGlzIGdlbmVyYXRlZCAodGhlIG9uZWxpbmVzIGFyZSBzaG93biwgdGltZSBmbG93cyBmcm9tIGxlZnQgdG8gcmlnaHQpOgorIworIyBtYXN0ZXIxIC0gbWFzdGVyMiAtIG1hc3RlcjMKKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyMgUkVBRE1FIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQWRkIHN1YnByb2plY3QgbWFzdGVyIC0gbWFzdGVyNCAtIGZpbGVzX3N1YnRyZWUvbWFzdGVyNQorIworIyBXaGVyZSB0aGUgbWVyZ2UgbW92ZXMgdGhlIGZpbGVzIG1hc3RlclsxMjNdLnQgaW50byB0aGUgc3ViZGlyZWN0b3J5CisjIGZpbGVzX3N1YnRyZWUvIGFuZCBtYXN0ZXI0IGFzIHdlbGwgYXMgZmlsZXNfc3VidHJlZS9tYXN0ZXI1IGFkZCBmaWxlcyB0byB0aGF0CisjIGRpcmVjdG9yeSBkaXJlY3RseS4KKyMKKyMgVGhlbiwgaW4gc3Vic2VxdWVudCB0ZXN0IGNhc2VzLCBgZ2l0IGZpbHRlci1icmFuY2hgIGlzIHVzZWQgdG8gZGlzdGlsbCBqdXN0CisjIHRoZSBjb21taXRzIHRoYXQgdG91Y2ggZmlsZXNfc3VidHJlZS8uIFRvIGdpdmUgaXQgYSBmaW5hbCBwcmUtcmViYXNlIHRvdWNoLAorIyBhbiBlbXB0eSBjb21taXQgaXMgYWRkZWQgb24gdG9wLiBUaGUgcHJlLXJlYmFzZSBjb21taXQgaGlzdG9yeSBsb29rcyBsaWtlCisjIHRoaXM6CisjCisjIEFkZCBzdWJwcm9qZWN0IG1hc3RlciAtIG1hc3RlcjQgLSBmaWxlc19zdWJ0cmVlL21hc3RlcjUgLSBFbXB0eSBjb21taXQKKyMKKyMgd2hlcmUgdGhlIHJvb3QgY29tbWl0IGFkZHMgdGhyZWUgZmlsZXM6IG1hc3RlcjEudCwgbWFzdGVyMi50IGFuZCBtYXN0ZXIzLnQuCisjCisjIFRoaXMgY29tbWl0IGhpc3RvcnkgaXMgdGhlbiByZWJhc2VkIG9udG8gYG1hc3RlcjNgIHdpdGggdGhlCisjIGAtWHN1YnRyZWU9ZmlsZXNfc3VidHJlZWAgb3B0aW9uIGluIHRocmVlIGRpZmZlcmVudCB3YXlzOgorIworIyAxLiB1c2luZyBgLS1wcmVzZXJ2ZS1tZXJnZXNgCisjIDIuIHVzaW5nIGAtLXByZXNlcnZlLW1lcmdlc2AgYW5kIC0ta2VlcC1lbXB0eQorIyAzLiB3aXRob3V0IHNwZWNpZnlpbmcgYSByZWJhc2UgYmFja2VuZAorCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJwogCXRlc3RfY29tbWl0IFJFQURNRSAmJgotCW1rZGlyIGZpbGVzICYmCi0JKAotCQljZCBmaWxlcyAmJgotCQlnaXQgaW5pdCAmJgotCQl0ZXN0X2NvbW1pdCBtYXN0ZXIxICYmCi0JCXRlc3RfY29tbWl0IG1hc3RlcjIgJiYKLQkJdGVzdF9jb21taXQgbWFzdGVyMwotCSkgJiYKLQlnaXQgZmV0Y2ggZmlsZXMgbWFzdGVyICYmCi0JZ2l0IGJyYW5jaCBmaWxlcy1tYXN0ZXIgRkVUQ0hfSEVBRCAmJgotCWdpdCByZWFkLXRyZWUgLS1wcmVmaXg9ZmlsZXNfc3VidHJlZSBmaWxlcy1tYXN0ZXIgJiYKLQlnaXQgY2hlY2tvdXQgLS0gZmlsZXNfc3VidHJlZSAmJgotCXRyZWU9JChnaXQgd3JpdGUtdHJlZSkgJiYKLQloZWFkPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgotCXJldj0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgZmlsZXMtbWFzdGVyXjApICYmCi0JY29tbWl0PSQoZ2l0IGNvbW1pdC10cmVlIC1wICRoZWFkIC1wICRyZXYgLW0gIkFkZCBzdWJwcm9qZWN0IG1hc3RlciIgJHRyZWUpICYmCi0JZ2l0IHVwZGF0ZS1yZWYgSEVBRCAkY29tbWl0ICYmCi0JKAotCQljZCBmaWxlc19zdWJ0cmVlICYmCi0JCXRlc3RfY29tbWl0IG1hc3RlcjQKLQkpICYmCi0JdGVzdF9jb21taXQgZmlsZXNfc3VidHJlZS9tYXN0ZXI1CisKKwlnaXQgaW5pdCBmaWxlcyAmJgorCXRlc3RfY29tbWl0IC1DIGZpbGVzIG1hc3RlcjEgJiYKKwl0ZXN0X2NvbW1pdCAtQyBmaWxlcyBtYXN0ZXIyICYmCisJdGVzdF9jb21taXQgLUMgZmlsZXMgbWFzdGVyMyAmJgorCisJOiBwZXJmb3JtIHN1YnRyZWUgbWVyZ2UgaW50byBmaWxlc19zdWJ0cmVlLyAmJgorCWdpdCBmZXRjaCBmaWxlcyByZWZzL2hlYWRzL21hc3RlcjpyZWZzL2hlYWRzL2ZpbGVzLW1hc3RlciAmJgorCWdpdCBtZXJnZSAtcyBvdXJzIC0tbm8tY29tbWl0IC0tYWxsb3ctdW5yZWxhdGVkLWhpc3RvcmllcyBcCisJCWZpbGVzLW1hc3RlciAmJgorCWdpdCByZWFkLXRyZWUgLS1wcmVmaXg9ZmlsZXNfc3VidHJlZSAtdSBmaWxlcy1tYXN0ZXIgJiYKKwlnaXQgY29tbWl0IC1tICJBZGQgc3VicHJvamVjdCBtYXN0ZXIiICYmCisKKwk6IGFkZCB0d28gZXh0cmEgY29tbWl0cyB0byByZWJhc2UgJiYKKwl0ZXN0X2NvbW1pdCAtQyBmaWxlc19zdWJ0cmVlIG1hc3RlcjQgJiYKKwl0ZXN0X2NvbW1pdCBmaWxlc19zdWJ0cmVlL21hc3RlcjUgJiYKKworCWdpdCBjaGVja291dCAtYiB0by1yZWJhc2UgJiYKKwlnaXQgZmFzdC1leHBvcnQgLS1uby1kYXRhIEhFQUQgLS0gZmlsZXNfc3VidHJlZS8gfAorCQlzZWQgLWUgInMlXChbMC05YS1mXVx7NDBcfSBcKWZpbGVzX3N1YnRyZWUvJVwxJSIgfAorCQlnaXQgZmFzdC1pbXBvcnQgLS1mb3JjZSAtLXF1aWV0ICYmCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWdpdCBjb21taXQgLW0gIkVtcHR5IGNvbW1pdCIgLS1hbGxvdy1lbXB0eQogJwogCiAjIEZBSUxVUkU6IERvZXMgbm90IHByZXNlcnZlIG1hc3RlcjQuCi10ZXN0X2V4cGVjdF9mYWlsdXJlICdSZWJhc2UgLVhzdWJ0cmVlIC0tcHJlc2VydmUtbWVyZ2VzIC0tb250byBjb21taXQgNCcgJwordGVzdF9leHBlY3RfZmFpbHVyZSBSRUJBU0VfUCAnUmViYXNlIC1Yc3VidHJlZSAtLXByZXNlcnZlLW1lcmdlcyAtLW9udG8gY29tbWl0JyAnCiAJcmVzZXRfcmViYXNlICYmCi0JZ2l0IGNoZWNrb3V0IC1iIHJlYmFzZS1wcmVzZXJ2ZS1tZXJnZXMtNCBtYXN0ZXIgJiYKLQlnaXQgZmlsdGVyLWJyYW5jaCAtLXBydW5lLWVtcHR5IC1mIC0tc3ViZGlyZWN0b3J5LWZpbHRlciBmaWxlc19zdWJ0cmVlICYmCi0JZ2l0IGNvbW1pdCAtbSAiRW1wdHkgY29tbWl0IiAtLWFsbG93LWVtcHR5ICYmCisJZ2l0IGNoZWNrb3V0IC1iIHJlYmFzZS1wcmVzZXJ2ZS1tZXJnZXMgdG8tcmViYXNlICYmCiAJZ2l0IHJlYmFzZSAtWHN1YnRyZWU9ZmlsZXNfc3VidHJlZSAtLXByZXNlcnZlLW1lcmdlcyAtLW9udG8gZmlsZXMtbWFzdGVyIG1hc3RlciAmJgotCXZlcmJvc2UgdGVzdCAiJChjb21taXRfbWVzc2FnZSBIRUFEfikiID0gImZpbGVzX3N1YnRyZWUvbWFzdGVyNCIKLScKLQotIyBGQUlMVVJFOiBEb2VzIG5vdCBwcmVzZXJ2ZSBtYXN0ZXI1LgotdGVzdF9leHBlY3RfZmFpbHVyZSAnUmViYXNlIC1Yc3VidHJlZSAtLXByZXNlcnZlLW1lcmdlcyAtLW9udG8gY29tbWl0IDUnICcKLQlyZXNldF9yZWJhc2UgJiYKLQlnaXQgY2hlY2tvdXQgLWIgcmViYXNlLXByZXNlcnZlLW1lcmdlcy01IG1hc3RlciAmJgotCWdpdCBmaWx0ZXItYnJhbmNoIC0tcHJ1bmUtZW1wdHkgLWYgLS1zdWJkaXJlY3RvcnktZmlsdGVyIGZpbGVzX3N1YnRyZWUgJiYKLQlnaXQgY29tbWl0IC1tICJFbXB0eSBjb21taXQiIC0tYWxsb3ctZW1wdHkgJiYKLQlnaXQgcmViYXNlIC1Yc3VidHJlZT1maWxlc19zdWJ0cmVlIC0tcHJlc2VydmUtbWVyZ2VzIC0tb250byBmaWxlcy1tYXN0ZXIgbWFzdGVyICYmCisJdmVyYm9zZSB0ZXN0ICIkKGNvbW1pdF9tZXNzYWdlIEhFQUR+KSIgPSAibWFzdGVyNCIgJiYKIAl2ZXJib3NlIHRlc3QgIiQoY29tbWl0X21lc3NhZ2UgSEVBRCkiID0gImZpbGVzX3N1YnRyZWUvbWFzdGVyNSIKICcKIAogIyBGQUlMVVJFOiBEb2VzIG5vdCBwcmVzZXJ2ZSBtYXN0ZXI0LgotdGVzdF9leHBlY3RfZmFpbHVyZSAnUmViYXNlIC1Yc3VidHJlZSAtLWtlZXAtZW1wdHkgLS1wcmVzZXJ2ZS1tZXJnZXMgLS1vbnRvIGNvbW1pdCA0JyAnCit0ZXN0X2V4cGVjdF9mYWlsdXJlIFJFQkFTRV9QICdSZWJhc2UgLVhzdWJ0cmVlIC0ta2VlcC1lbXB0eSAtLXByZXNlcnZlLW1lcmdlcyAtLW9udG8gY29tbWl0JyAnCiAJcmVzZXRfcmViYXNlICYmCi0JZ2l0IGNoZWNrb3V0IC1iIHJlYmFzZS1rZWVwLWVtcHR5LTQgbWFzdGVyICYmCi0JZ2l0IGZpbHRlci1icmFuY2ggLS1wcnVuZS1lbXB0eSAtZiAtLXN1YmRpcmVjdG9yeS1maWx0ZXIgZmlsZXNfc3VidHJlZSAmJgotCWdpdCBjb21taXQgLW0gIkVtcHR5IGNvbW1pdCIgLS1hbGxvdy1lbXB0eSAmJgorCWdpdCBjaGVja291dCAtYiByZWJhc2Uta2VlcC1lbXB0eSB0by1yZWJhc2UgJiYKIAlnaXQgcmViYXNlIC1Yc3VidHJlZT1maWxlc19zdWJ0cmVlIC0ta2VlcC1lbXB0eSAtLXByZXNlcnZlLW1lcmdlcyAtLW9udG8gZmlsZXMtbWFzdGVyIG1hc3RlciAmJgotCXZlcmJvc2UgdGVzdCAiJChjb21taXRfbWVzc2FnZSBIRUFEfjIpIiA9ICJmaWxlc19zdWJ0cmVlL21hc3RlcjQiCi0nCi0KLSMgRkFJTFVSRTogRG9lcyBub3QgcHJlc2VydmUgbWFzdGVyNS4KLXRlc3RfZXhwZWN0X2ZhaWx1cmUgJ1JlYmFzZSAtWHN1YnRyZWUgLS1rZWVwLWVtcHR5IC0tcHJlc2VydmUtbWVyZ2VzIC0tb250byBjb21taXQgNScgJwotCXJlc2V0X3JlYmFzZSAmJgotCWdpdCBjaGVja291dCAtYiByZWJhc2Uta2VlcC1lbXB0eS01IG1hc3RlciAmJgotCWdpdCBmaWx0ZXItYnJhbmNoIC0tcHJ1bmUtZW1wdHkgLWYgLS1zdWJkaXJlY3RvcnktZmlsdGVyIGZpbGVzX3N1YnRyZWUgJiYKLQlnaXQgY29tbWl0IC1tICJFbXB0eSBjb21taXQiIC0tYWxsb3ctZW1wdHkgJiYKLQlnaXQgcmViYXNlIC1Yc3VidHJlZT1maWxlc19zdWJ0cmVlIC0ta2VlcC1lbXB0eSAtLXByZXNlcnZlLW1lcmdlcyAtLW9udG8gZmlsZXMtbWFzdGVyIG1hc3RlciAmJgotCXZlcmJvc2UgdGVzdCAiJChjb21taXRfbWVzc2FnZSBIRUFEfikiID0gImZpbGVzX3N1YnRyZWUvbWFzdGVyNSIKLScKLQotIyBGQUlMVVJFOiBEb2VzIG5vdCBwcmVzZXJ2ZSBFbXB0eS4KLXRlc3RfZXhwZWN0X2ZhaWx1cmUgJ1JlYmFzZSAtWHN1YnRyZWUgLS1rZWVwLWVtcHR5IC0tcHJlc2VydmUtbWVyZ2VzIC0tb250byBlbXB0eSBjb21taXQnICcKLQlyZXNldF9yZWJhc2UgJiYKLQlnaXQgY2hlY2tvdXQgLWIgcmViYXNlLWtlZXAtZW1wdHktZW1wdHkgbWFzdGVyICYmCi0JZ2l0IGZpbHRlci1icmFuY2ggLS1wcnVuZS1lbXB0eSAtZiAtLXN1YmRpcmVjdG9yeS1maWx0ZXIgZmlsZXNfc3VidHJlZSAmJgotCWdpdCBjb21taXQgLW0gIkVtcHR5IGNvbW1pdCIgLS1hbGxvdy1lbXB0eSAmJgotCWdpdCByZWJhc2UgLVhzdWJ0cmVlPWZpbGVzX3N1YnRyZWUgLS1rZWVwLWVtcHR5IC0tcHJlc2VydmUtbWVyZ2VzIC0tb250byBmaWxlcy1tYXN0ZXIgbWFzdGVyICYmCisJdmVyYm9zZSB0ZXN0ICIkKGNvbW1pdF9tZXNzYWdlIEhFQUR+MikiID0gIm1hc3RlcjQiICYmCisJdmVyYm9zZSB0ZXN0ICIkKGNvbW1pdF9tZXNzYWdlIEhFQUR+KSIgPSAiZmlsZXNfc3VidHJlZS9tYXN0ZXI1IiAmJgogCXZlcmJvc2UgdGVzdCAiJChjb21taXRfbWVzc2FnZSBIRUFEKSIgPSAiRW1wdHkgY29tbWl0IgogJwogCi0jIEZBSUxVUkU6IGZhdGFsOiBDb3VsZCBub3QgcGFyc2Ugb2JqZWN0Ci10ZXN0X2V4cGVjdF9mYWlsdXJlICdSZWJhc2UgLVhzdWJ0cmVlIC0tb250byBjb21taXQgNCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnUmViYXNlIC1Yc3VidHJlZSAtLWVtcHR5PWFzayAtLW9udG8gY29tbWl0JyAnCiAJcmVzZXRfcmViYXNlICYmCi0JZ2l0IGNoZWNrb3V0IC1iIHJlYmFzZS1vbnRvLTQgbWFzdGVyICYmCi0JZ2l0IGZpbHRlci1icmFuY2ggLS1wcnVuZS1lbXB0eSAtZiAtLXN1YmRpcmVjdG9yeS1maWx0ZXIgZmlsZXNfc3VidHJlZSAmJgotCWdpdCBjb21taXQgLW0gIkVtcHR5IGNvbW1pdCIgLS1hbGxvdy1lbXB0eSAmJgotCWdpdCByZWJhc2UgLVhzdWJ0cmVlPWZpbGVzX3N1YnRyZWUgLS1vbnRvIGZpbGVzLW1hc3RlciBtYXN0ZXIgJiYKLQl2ZXJib3NlIHRlc3QgIiQoY29tbWl0X21lc3NhZ2UgSEVBRH4yKSIgPSAiZmlsZXNfc3VidHJlZS9tYXN0ZXI0IgorCWdpdCBjaGVja291dCAtYiByZWJhc2Utb250byB0by1yZWJhc2UgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC1Yc3VidHJlZT1maWxlc19zdWJ0cmVlIC0tZW1wdHk9YXNrIC0tb250byBmaWxlcy1tYXN0ZXIgbWFzdGVyICYmCisJOiBmaXJzdCBwaWNrIHJlc3VsdHMgaW4gbm8gY2hhbmdlcyAmJgorCWdpdCByZWJhc2UgLS1za2lwICYmCisJdmVyYm9zZSB0ZXN0ICIkKGNvbW1pdF9tZXNzYWdlIEhFQUR+MikiID0gIm1hc3RlcjQiICYmCisJdmVyYm9zZSB0ZXN0ICIkKGNvbW1pdF9tZXNzYWdlIEhFQUR+KSIgPSAiZmlsZXNfc3VidHJlZS9tYXN0ZXI1IiAmJgorCXZlcmJvc2UgdGVzdCAiJChjb21taXRfbWVzc2FnZSBIRUFEKSIgPSAiRW1wdHkgY29tbWl0IgogJwogCi0jIEZBSUxVUkU6IGZhdGFsOiBDb3VsZCBub3QgcGFyc2Ugb2JqZWN0Ci10ZXN0X2V4cGVjdF9mYWlsdXJlICdSZWJhc2UgLVhzdWJ0cmVlIC0tb250byBjb21taXQgNScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnUmViYXNlIC1Yc3VidHJlZSAtLWVtcHR5PWFzayAtLXJlYmFzZS1tZXJnZXMgLS1vbnRvIGNvbW1pdCcgJwogCXJlc2V0X3JlYmFzZSAmJgotCWdpdCBjaGVja291dCAtYiByZWJhc2Utb250by01IG1hc3RlciAmJgotCWdpdCBmaWx0ZXItYnJhbmNoIC0tcHJ1bmUtZW1wdHkgLWYgLS1zdWJkaXJlY3RvcnktZmlsdGVyIGZpbGVzX3N1YnRyZWUgJiYKLQlnaXQgY29tbWl0IC1tICJFbXB0eSBjb21taXQiIC0tYWxsb3ctZW1wdHkgJiYKLQlnaXQgcmViYXNlIC1Yc3VidHJlZT1maWxlc19zdWJ0cmVlIC0tb250byBmaWxlcy1tYXN0ZXIgbWFzdGVyICYmCi0JdmVyYm9zZSB0ZXN0ICIkKGNvbW1pdF9tZXNzYWdlIEhFQUR+KSIgPSAiZmlsZXNfc3VidHJlZS9tYXN0ZXI1IgotJwotIyBGQUlMVVJFOiBmYXRhbDogQ291bGQgbm90IHBhcnNlIG9iamVjdAotdGVzdF9leHBlY3RfZmFpbHVyZSAnUmViYXNlIC1Yc3VidHJlZSAtLW9udG8gZW1wdHkgY29tbWl0JyAnCi0JcmVzZXRfcmViYXNlICYmCi0JZ2l0IGNoZWNrb3V0IC1iIHJlYmFzZS1vbnRvLWVtcHR5IG1hc3RlciAmJgotCWdpdCBmaWx0ZXItYnJhbmNoIC0tcHJ1bmUtZW1wdHkgLWYgLS1zdWJkaXJlY3RvcnktZmlsdGVyIGZpbGVzX3N1YnRyZWUgJiYKLQlnaXQgY29tbWl0IC1tICJFbXB0eSBjb21taXQiIC0tYWxsb3ctZW1wdHkgJiYKLQlnaXQgcmViYXNlIC1Yc3VidHJlZT1maWxlc19zdWJ0cmVlIC0tb250byBmaWxlcy1tYXN0ZXIgbWFzdGVyICYmCisJZ2l0IGNoZWNrb3V0IC1iIHJlYmFzZS1tZXJnZXMtb250byB0by1yZWJhc2UgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC1Yc3VidHJlZT1maWxlc19zdWJ0cmVlIC0tZW1wdHk9YXNrIC0tcmViYXNlLW1lcmdlcyAtLW9udG8gZmlsZXMtbWFzdGVyIC0tcm9vdCAmJgorCTogZmlyc3QgcGljayByZXN1bHRzIGluIG5vIGNoYW5nZXMgJiYKKwlnaXQgcmViYXNlIC0tc2tpcCAmJgorCXZlcmJvc2UgdGVzdCAiJChjb21taXRfbWVzc2FnZSBIRUFEfjIpIiA9ICJtYXN0ZXI0IiAmJgorCXZlcmJvc2UgdGVzdCAiJChjb21taXRfbWVzc2FnZSBIRUFEfikiID0gImZpbGVzX3N1YnRyZWUvbWFzdGVyNSIgJiYKIAl2ZXJib3NlIHRlc3QgIiQoY29tbWl0X21lc3NhZ2UgSEVBRCkiID0gIkVtcHR5IGNvbW1pdCIKICcKIApkaWZmIC0tZ2l0IGEvdC90MzQyOS1yZWJhc2UtZWRpdC10b2RvLnNoIGIvdC90MzQyOS1yZWJhc2UtZWRpdC10b2RvLnNoCmluZGV4IGI5MjkyZGYuLjcwMjRkNDkgMTAwNzU1Ci0tLSBhL3QvdDM0MjktcmViYXNlLWVkaXQtdG9kby5zaAorKysgYi90L3QzNDI5LXJlYmFzZS1lZGl0LXRvZG8uc2gKQEAgLTMsMTIgKzMsODMgQEAKIHRlc3RfZGVzY3JpcHRpb249J3JlYmFzZSBzaG91bGQgcmVyZWFkIHRoZSB0b2RvIGZpbGUgaWYgYW4gZXhlYyBtb2RpZmllcyBpdCcKIAogLiAuL3Rlc3QtbGliLnNoCisuICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1yZWJhc2Uuc2gKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKKwl0ZXN0X2NvbW1pdCBmaXJzdCBmaWxlICYmCisJdGVzdF9jb21taXQgc2Vjb25kIGZpbGUgJiYKKwl0ZXN0X2NvbW1pdCB0aGlyZCBmaWxlCisnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSBleGVjIG1vZGlmaWVzIHJlYmFzZS10b2RvJyAnCi0JdGVzdF9jb21taXQgaW5pdGlhbCAmJgogCXRvZG89LmdpdC9yZWJhc2UtbWVyZ2UvZ2l0LXJlYmFzZS10b2RvICYmCiAJZ2l0IHJlYmFzZSBIRUFEIC14ICJlY2hvIGV4ZWMgdG91Y2ggRiA+PiR0b2RvIiAmJgogCXRlc3QgLWUgRgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb29zZSBvYmplY3QgY2FjaGUgdnMgcmUtcmVhZGluZyB0b2RvIGxpc3QnICcKKwlHSVRfUkVCQVNFX1RPRE89LmdpdC9yZWJhc2UtbWVyZ2UvZ2l0LXJlYmFzZS10b2RvICYmCisJZXhwb3J0IEdJVF9SRUJBU0VfVE9ETyAmJgorCXdyaXRlX3NjcmlwdCBhcHBlbmQtdG9kby5zaCA8PC1cRU9TICYmCisJIyBGb3IgdmFsdWVzIDUgYW5kIDYsIHRoaXMgeWllbGRzIFNIQS0xcyB3aXRoIHRoZSBzYW1lIGZpcnN0IHR3byBkaWdpdHMKKwllY2hvICJwaWNrICQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IFwKKwkJJChwcmludGYgIiVzXFxuIiBcCisJCQkidHJlZSAkRU1QVFlfVFJFRSIgXAorCQkJImF1dGhvciBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUub3JnPiAkMSArMDAwMCIgXAorCQkJImNvbW1pdHRlciBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUub3JnPiAkMSArMDAwMCIgXAorCQkJIiIgXAorCQkJIiQxIiB8CisJCSAgZ2l0IGhhc2gtb2JqZWN0IC10IGNvbW1pdCAtdyAtLXN0ZGluKSkiID4+JEdJVF9SRUJBU0VfVE9ETworCisJc2hpZnQKKwl0ZXN0IC16ICIkKiIgfHwKKwllY2hvICJleGVjICQwICQqIiA+PiRHSVRfUkVCQVNFX1RPRE8KKwlFT1MKKworCWdpdCByZWJhc2UgSEVBRCAteCAiLi9hcHBlbmQtdG9kby5zaCA1IDYiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RvZG8gaXMgcmUtcmVhZCBhZnRlciByZXdvcmQgYW5kIHNxdWFzaCcgJworCXdyaXRlX3NjcmlwdCByZXdvcmQtZWRpdG9yLnNoIDw8LVxFT1MgJiYKKwlHSVRfU0VRVUVOQ0VfRURJVE9SPSJlY2hvIFwiZXhlYyBlY2hvICQoY2F0IGZpbGUpID4+YWN0dWFsXCIgPj4iIFwKKwkJZ2l0IHJlYmFzZSAtLWVkaXQtdG9kbworCUVPUworCisJdGVzdF93cml0ZV9saW5lcyBmaXJzdCB0aGlyZCA+ZXhwZWN0ZWQgJiYKKwlzZXRfZmFrZV9lZGl0b3IgJiYKKwlHSVRfU0VRVUVOQ0VfRURJVE9SPSIkRURJVE9SIiBGQUtFX0xJTkVTPSJyZXdvcmQgMSBzcXVhc2ggMiBmaXh1cCAzIiBcCisJCUdJVF9FRElUT1I9Li9yZXdvcmQtZWRpdG9yLnNoIGdpdCByZWJhc2UgLWkgLS1yb290IHRoaXJkICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlLXJlYWRpbmcgdG9kbyBkb2VzbnQgaW50ZXJmZXJlIHdpdGggcmV2ZXJ0IC0tZWRpdCcgJworCWdpdCByZXNldCAtLWhhcmQgdGhpcmQgJiYKKworCWdpdCByZXZlcnQgLS1lZGl0IHRoaXJkIHNlY29uZCAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCVJldmVydCAic2Vjb25kIgorCVJldmVydCAidGhpcmQiCisJdGhpcmQKKwlzZWNvbmQKKwlmaXJzdAorCUVPRgorCWdpdCBsb2cgLS1mb3JtYXQ9IiVzIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZS1yZWFkaW5nIHRvZG8gZG9lc250IGludGVyZmVyZSB3aXRoIGNoZXJyeS1waWNrIC0tZWRpdCcgJworCWdpdCByZXNldCAtLWhhcmQgZmlyc3QgJiYKKworCWdpdCBjaGVycnktcGljayAtLWVkaXQgc2Vjb25kIHRoaXJkICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJdGhpcmQKKwlzZWNvbmQKKwlmaXJzdAorCUVPRgorCWdpdCBsb2cgLS1mb3JtYXQ9IiVzIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDM0MzAtcmViYXNlLW1lcmdlcy5zaCBiL3QvdDM0MzAtcmViYXNlLW1lcmdlcy5zaAppbmRleCBjYzU2NDY4Li5hMWJjM2UyIDEwMDc1NQotLS0gYS90L3QzNDMwLXJlYmFzZS1tZXJnZXMuc2gKKysrIGIvdC90MzQzMC1yZWJhc2UtbWVyZ2VzLnNoCkBAIC0yMCwxMiArMjAsMTEgQEAKICcKIC4gLi90ZXN0LWxpYi5zaAogLiAiJFRFU1RfRElSRUNUT1JZIi9saWItcmViYXNlLnNoCisuICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1sb2ctZ3JhcGguc2gKIAogdGVzdF9jbXBfZ3JhcGggKCkgewogCWNhdCA+ZXhwZWN0ICYmCi0JZ2l0IGxvZyAtLWdyYXBoIC0tYm91bmRhcnkgLS1mb3JtYXQ9JXMgIiRAIiA+b3V0cHV0ICYmCi0Jc2VkICJzLyAqJC8vIiA8b3V0cHV0ID5vdXRwdXQudHJpbW1lZCAmJgotCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQudHJpbW1lZAorCWxpYl90ZXN0X2NtcF9ncmFwaCAtLWJvdW5kYXJ5IC0tZm9ybWF0PSVzICIkQCIKIH0KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKQEAgLTM3LDIwICszNiwyNyBAQAogCXRlc3RfY29tbWl0IEEgJiYKIAlnaXQgY2hlY2tvdXQgLWIgZmlyc3QgJiYKIAl0ZXN0X2NvbW1pdCBCICYmCisJYj0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEKSAmJgogCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKIAl0ZXN0X2NvbW1pdCBDICYmCisJYz0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEKSAmJgogCXRlc3RfY29tbWl0IEQgJiYKKwlkPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IEhFQUQpICYmCiAJZ2l0IG1lcmdlIC0tbm8tY29tbWl0IEIgJiYKIAl0ZXN0X3RpY2sgJiYKIAlnaXQgY29tbWl0IC1tIEUgJiYKIAlnaXQgdGFnIC1tIEUgRSAmJgorCWU9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRCkgJiYKIAlnaXQgY2hlY2tvdXQgLWIgc2Vjb25kIEMgJiYKIAl0ZXN0X2NvbW1pdCBGICYmCisJZj0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEKSAmJgogCXRlc3RfY29tbWl0IEcgJiYKKwlnPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IEhFQUQpICYmCiAJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgogCWdpdCBtZXJnZSAtLW5vLWNvbW1pdCBHICYmCiAJdGVzdF90aWNrICYmCiAJZ2l0IGNvbW1pdCAtbSBIICYmCisJaD0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEKSAmJgogCWdpdCB0YWcgLW0gSCBIICYmCiAJZ2l0IGNoZWNrb3V0IEEgJiYKIAl0ZXN0X2NvbW1pdCBjb25mbGljdGluZy1HIEcudApAQCAtOTMsMjQgKzk5LDI0IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dlbmVyYXRlIGNvcnJlY3QgdG9kbyBsaXN0JyAnCi0JY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgogCWxhYmVsIG9udG8KIAogCXJlc2V0IG9udG8KLQlwaWNrIGQ5ZGY0NTAgQgorCXBpY2sgJGIgQgogCWxhYmVsIEUKIAogCXJlc2V0IG9udG8KLQlwaWNrIDVkZWU3ODQgQworCXBpY2sgJGMgQwogCWxhYmVsIGJyYW5jaC1wb2ludAotCXBpY2sgY2EyYzg2MSBGCi0JcGljayAwODhiMDBhIEcKKwlwaWNrICRmIEYKKwlwaWNrICRnIEcKIAlsYWJlbCBICiAKIAlyZXNldCBicmFuY2gtcG9pbnQgIyBDCi0JcGljayAxMmJkMDdiIEQKLQltZXJnZSAtQyAyMDUxYjU2IEUgIyBFCi0JbWVyZ2UgLUMgMjMzZDQ4YSBIICMgSAorCXBpY2sgJGQgRAorCW1lcmdlIC1DICRlIEUgIyBFCisJbWVyZ2UgLUMgJGggSCAjIEgKIAogCUVPRgogCkBAIC0xMjUsNyArMTMxLDcgQEAKIAk6ID5kb250LW92ZXJ3cml0ZS11bnRyYWNrZWQudCAmJgogCWVjaG8gInJlc2V0IHJlZnMvdGFncy9kb250LW92ZXJ3cml0ZS11bnRyYWNrZWQiID5zY3JpcHQtZnJvbS1zY3JhdGNoICYmCiAJdGVzdF9jb25maWcgc2VxdWVuY2UuZWRpdG9yIFwiIiRQV0QiL3JlcGxhY2UtZWRpdG9yLnNoXCIgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC1yIEhFQUQgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC1pciBIRUFEICYmCiAJZ2l0IHJlYmFzZSAtLWFib3J0CiAnCiAKQEAgLTE1MSw3ICsxNTcsNiBAQAogCXRlc3RfcGF0aF9pc19maWxlIC5naXQvcmViYXNlLW1lcmdlL3BhdGNoCiAnCiAKLVNRPSInIgogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmFpbGVkIGBtZXJnZSA8YnJhbmNoPmAgZG9lcyBub3QgY3Jhc2gnICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgInRlc3RfbWlnaHRfZmFpbCBnaXQgcmViYXNlIC0tYWJvcnQiICYmCiAJZ2l0IGNoZWNrb3V0IGNvbmZsaWN0aW5nLUcgJiYKQEAgLTE2NCw2ICsxNjksMTkgQEAKIAlncmVwICJeTWVyZ2UgYnJhbmNoICR7U1F9RyR7U1F9JCIgLmdpdC9yZWJhc2UtbWVyZ2UvbWVzc2FnZQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmYXN0LWZvcndhcmQgbWVyZ2UgLWMgc3RpbGwgcmV3b3JkcycgJworCWdpdCBjaGVja291dCAtYiBmYXN0LWZvcndhcmQtbWVyZ2UtYyBIICYmCisJKAorCQlzZXRfZmFrZV9lZGl0b3IgJiYKKwkJRkFLRV9DT01NSVRfTUVTU0FHRT1lZGl0ZWQgXAorCQkJR0lUX1NFUVVFTkNFX0VESVRPUj0iZWNobyBtZXJnZSAtYyBIIEcgPiIgXAorCQkJZ2l0IHJlYmFzZSAtaXIgQF4KKwkpICYmCisJZWNobyBlZGl0ZWQgPmV4cGVjdGVkICYmCisJZ2l0IGxvZyAtLXByZXR0eT1mb3JtYXQ6JUIgLTEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd3aXRoIGEgYnJhbmNoIHRpcCB0aGF0IHdhcyBjaGVycnktcGlja2VkIGFscmVhZHknICcKIAlnaXQgY2hlY2tvdXQgLWIgYWxyZWFkeS11cHN0cmVhbSBtYXN0ZXIgJiYKIAliYXNlPSIkKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCkiICYmCkBAIC0yMjQsOCArMjQyLDI0IEBACiAJdGVzdF9jbXBfcmV2IEhFQUQgIiQoY2F0IHd0L2IpIgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLWFib3J0IGNsZWFucyB1cCByZWZzL3Jld3JpdHRlbicgJworCWdpdCBjaGVja291dCAtYiBhYm9ydC1jbGVhbnMtcmVmcy1yZXdyaXR0ZW4gSCAmJgorCUdJVF9TRVFVRU5DRV9FRElUT1I9ImVjaG8gYnJlYWsgPj4iIGdpdCByZWJhc2UgLWlyIEBeICYmCisJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSByZWZzL3Jld3JpdHRlbi9vbnRvICYmCisJZ2l0IHJlYmFzZSAtLWFib3J0ICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSByZWZzL3Jld3JpdHRlbi9vbnRvCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcXVpdCBjbGVhbnMgdXAgcmVmcy9yZXdyaXR0ZW4nICcKKwlnaXQgY2hlY2tvdXQgLWIgcXVpdC1jbGVhbnMtcmVmcy1yZXdyaXR0ZW4gSCAmJgorCUdJVF9TRVFVRU5DRV9FRElUT1I9ImVjaG8gYnJlYWsgPj4iIGdpdCByZWJhc2UgLWlyIEBeICYmCisJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSByZWZzL3Jld3JpdHRlbi9vbnRvICYmCisJZ2l0IHJlYmFzZSAtLXF1aXQgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IHJlZnMvcmV3cml0dGVuL29udG8KKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAncG9zdC1yZXdyaXRlIGhvb2sgYW5kIGZpeHVwcyB3b3JrIGZvciBtZXJnZXMnICcKLQlnaXQgY2hlY2tvdXQgLWIgcG9zdC1yZXdyaXRlICYmCisJZ2l0IGNoZWNrb3V0IC1iIHBvc3QtcmV3cml0ZSBIICYmCiAJdGVzdF9jb21taXQgc2FtZTEgJiYKIAlnaXQgcmVzZXQgLS1oYXJkIEhFQUReICYmCiAJdGVzdF9jb21taXQgc2FtZTIgJiYKQEAgLTI3MSw3ICszMDUsNyBAQAogCUVPRgogCXRlc3RfY29uZmlnIHNlcXVlbmNlLmVkaXRvciBcIiIkUFdEIi9yZXBsYWNlLWVkaXRvci5zaFwiICYmCiAJdGVzdF90aWNrICYmCi0JZ2l0IHJlYmFzZSAtaSAtLWZvcmNlIC0tcm9vdCAtciAmJgorCWdpdCByZWJhc2UgLWkgLS1mb3JjZS1yZWJhc2UgLS1yb290IC1yICYmCiAJdGVzdCAiUGFyc25pcCIgPSAiJChnaXQgc2hvdyAtcyAtLWZvcm1hdD0lYW4gSEVBRF4pIiAmJgogCXRlc3QgJChnaXQgcmV2LXBhcnNlIHNlY29uZC1yb290XjApICE9ICQoZ2l0IHJldi1wYXJzZSBIRUFEXikgJiYKIAl0ZXN0ICQoZ2l0IHJldi1wYXJzZSBzZWNvbmQtcm9vdDpzZWNvbmQtcm9vdC50KSA9IFwKQEAgLTMxMSw3ICszNDUsNyBAQAogCWdpdCBtZXJnZSAtLWFsbG93LXVucmVsYXRlZC1oaXN0b3JpZXMga2hudW0gJiYKIAl0ZXN0X3RpY2sgJiYKIAlnaXQgcmViYXNlIC1mIC1yIEhFQUReICYmCi0JISB0ZXN0X2NtcF9yZXYgSEVBRF4yIGtobnVtICYmCisJdGVzdF9jbXBfcmV2ICEgSEVBRF4yIGtobnVtICYmCiAJdGVzdF9jbXBfZ3JhcGggSEVBRF4uLiA8PC1cRU9GICYmCiAJKiAgIE1lcmdlIGJyYW5jaCAnXCcna2hudW0nXCcnIGludG8gYXNoZXJhaAogCXxcCkBAIC0zNjQsNyArMzk4LDcgQEAKIAl0ZXN0X2NtcF9yZXYgSEVBRCAkYmVmb3JlICYmCiAKIAl0ZXN0X3RpY2sgJiYKLQlnaXQgcmViYXNlIC1pIC0tZm9yY2UgLXIgSEVBRF5eICYmCisJZ2l0IHJlYmFzZSAtaSAtLWZvcmNlLXJlYmFzZSAtciBIRUFEXl4gJiYKIAl0ZXN0ICJIYW5rIiA9ICIkKGdpdCBzaG93IC1zIC0tZm9ybWF0PSVhbiBIRUFEKSIgJiYKIAl0ZXN0ICIkYmVmb3JlIiAhPSAkKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKIAl0ZXN0X2NtcF9ncmFwaCBIRUFEXl4uLiA8PC1cRU9GCkBAIC0zNzMsNyArNDA3LDcgQEAKIAl8IHwgKiB0aHJlZQogCXwgKiB8IHR3bwogCXwgfC8KLQkqIHwgb25lCisJKiAvIG9uZQogCXwvCiAJbyBiZWZvcmUtb2N0b3B1cwogCUVPRgpAQCAtNDEyLDQgKzQ0Niw1MiBAQAogCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvTUVSR0VfSEVBRAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXJlYmFzZS1tZXJnZXMgd2l0aCBzdHJhdGVnaWVzJyAnCisJZ2l0IGNoZWNrb3V0IC1iIHdpdGgtYS1zdHJhdGVneSBGICYmCisJdGVzdF90aWNrICYmCisJZ2l0IG1lcmdlIC1tICJNZXJnZSBjb25mbGljdGluZy1HIiBjb25mbGljdGluZy1HICYmCisKKwk6IGZpcnN0LCB0ZXN0IHdpdGggYSBtZXJnZSBzdHJhdGVneSBvcHRpb24gJiYKKwlnaXQgcmViYXNlIC1pciAtWHRoZWlycyBHICYmCisJZWNobyBjb25mbGljdGluZy1HID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgRy50ICYmCisKKwk6IG5vdywgdHJ5IHdpdGggYSBtZXJnZSBzdHJhdGVneSBvdGhlciB0aGFuIHJlY3Vyc2l2ZSAmJgorCWdpdCByZXNldCAtLWhhcmQgQHsxfSAmJgorCXdyaXRlX3NjcmlwdCBnaXQtbWVyZ2Utb3ZlcnJpZGUgPDwtXEVPRiAmJgorCWVjaG8gb3ZlcnJpZGRlbiQxID4+Ry50CisJZ2l0IGFkZCBHLnQKKwlFT0YKKwlQQVRIPSIkUFdEOiRQQVRIIiBnaXQgcmViYXNlIC1pciAtcyBvdmVycmlkZSAtWHhvcHQgRyAmJgorCXRlc3Rfd3JpdGVfbGluZXMgRyBvdmVycmlkZGVuLS14b3B0ID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgRy50CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmViYXNlLW1lcmdlcyB3aXRoIGNvbW1pdCB0aGF0IGNhbiBnZW5lcmF0ZSBiYWQgY2hhcmFjdGVycyBmb3IgZmlsZW5hbWUnICcKKwlnaXQgY2hlY2tvdXQgLWIgY29sb24taW4tbGFiZWwgRSAmJgorCWdpdCBtZXJnZSAtbSAiY29sb246IHRoaXMgc2hvdWxkIHdvcmsiIEcgJiYKKwlnaXQgcmViYXNlIC0tcmViYXNlLW1lcmdlcyAtLWZvcmNlLXJlYmFzZSBFCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmViYXNlLW1lcmdlcyB3aXRoIG1lc3NhZ2UgbWF0Y2hlZCB3aXRoIG9udG8gbGFiZWwnICcKKwlnaXQgY2hlY2tvdXQgLWIgb250by1sYWJlbCBFICYmCisJZ2l0IG1lcmdlIC1tIG9udG8gRyAmJgorCWdpdCByZWJhc2UgLS1yZWJhc2UtbWVyZ2VzIC0tZm9yY2UtcmViYXNlIEUgJiYKKwl0ZXN0X2NtcF9ncmFwaCA8PC1cRU9GCisJKiAgIG9udG8KKwl8XAorCXwgKiBHCisJfCAqIEYKKwkqIHwgICBFCisJfFwgXAorCXwgKiB8IEIKKwkqIHwgfCBECisJfCB8LworCXwvfAorCSogfCBDCisJfC8KKwkqIEEKKwlFT0YKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzNDMxLXJlYmFzZS1mb3JrLXBvaW50LnNoIGIvdC90MzQzMS1yZWJhc2UtZm9yay1wb2ludC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ODg1MWI5Ci0tLSAvZGV2L251bGwKKysrIGIvdC90MzQzMS1yZWJhc2UtZm9yay1wb2ludC5zaApAQCAtMCwwICsxLDU3IEBACisjIS9iaW4vc2gKKyMKKyMgQ29weXJpZ2h0IChjKSAyMDE5IERlbnRvbiBMaXUKKyMKKwordGVzdF9kZXNjcmlwdGlvbj0nZ2l0IHJlYmFzZSAtLWZvcmstcG9pbnQgdGVzdCcKKworLiAuL3Rlc3QtbGliLnNoCisKKyMgQS0tLUItLS1ELS0tRSAgICAobWFzdGVyKQorIyAgICAgIFwKKyMgICAgICAgQyotLS1GLS0tRyAoc2lkZSkKKyMKKyMgQyB3YXMgZm9ybWVybHkgcGFydCBvZiBtYXN0ZXIgYnV0IG1hc3RlciB3YXMgcmV3b3VuZCB0byByZW1vdmUgQworIwordGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCisJdGVzdF9jb21taXQgQSAmJgorCXRlc3RfY29tbWl0IEIgJiYKKwl0ZXN0X2NvbW1pdCBDICYmCisJZ2l0IGJyYW5jaCAtdCBzaWRlICYmCisJZ2l0IHJlc2V0IC0taGFyZCBIRUFEXiAmJgorCXRlc3RfY29tbWl0IEQgJiYKKwl0ZXN0X2NvbW1pdCBFICYmCisJZ2l0IGNoZWNrb3V0IHNpZGUgJiYKKwl0ZXN0X2NvbW1pdCBGICYmCisJdGVzdF9jb21taXQgRworJworCit0ZXN0X3JlYmFzZSAoKSB7CisJZXhwZWN0ZWQ9IiQxIiAmJgorCXNoaWZ0ICYmCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiZ2l0IHJlYmFzZSAkKiIgIgorCQlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCisJCWdpdCByZXNldCAtLWhhcmQgRSAmJgorCQlnaXQgY2hlY2tvdXQgc2lkZSAmJgorCQlnaXQgcmVzZXQgLS1oYXJkIEcgJiYKKwkJZ2l0IHJlYmFzZSAkKiAmJgorCQl0ZXN0X3dyaXRlX2xpbmVzICRleHBlY3RlZCA+ZXhwZWN0ICYmCisJCWdpdCBsb2cgLS1wcmV0dHk9JXMgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJIgorfQorCit0ZXN0X3JlYmFzZSAnRyBGIEUgRCBCIEEnCit0ZXN0X3JlYmFzZSAnRyBGIEQgQiBBJyAtLW9udG8gRAordGVzdF9yZWJhc2UgJ0cgRiBCIEEnIC0ta2VlcC1iYXNlCit0ZXN0X3JlYmFzZSAnRyBGIEMgRSBEIEIgQScgLS1uby1mb3JrLXBvaW50Cit0ZXN0X3JlYmFzZSAnRyBGIEMgRCBCIEEnIC0tbm8tZm9yay1wb2ludCAtLW9udG8gRAordGVzdF9yZWJhc2UgJ0cgRiBDIEIgQScgLS1uby1mb3JrLXBvaW50IC0ta2VlcC1iYXNlCit0ZXN0X3JlYmFzZSAnRyBGIEUgRCBCIEEnIC0tZm9yay1wb2ludCByZWZzL2hlYWRzL21hc3RlcgordGVzdF9yZWJhc2UgJ0cgRiBEIEIgQScgLS1mb3JrLXBvaW50IC0tb250byBEIHJlZnMvaGVhZHMvbWFzdGVyCit0ZXN0X3JlYmFzZSAnRyBGIEIgQScgLS1mb3JrLXBvaW50IC0ta2VlcC1iYXNlIHJlZnMvaGVhZHMvbWFzdGVyCit0ZXN0X3JlYmFzZSAnRyBGIEMgRSBEIEIgQScgcmVmcy9oZWFkcy9tYXN0ZXIKK3Rlc3RfcmViYXNlICdHIEYgQyBEIEIgQScgLS1vbnRvIEQgcmVmcy9oZWFkcy9tYXN0ZXIKK3Rlc3RfcmViYXNlICdHIEYgQyBCIEEnIC0ta2VlcC1iYXNlIHJlZnMvaGVhZHMvbWFzdGVyCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzQzMi1yZWJhc2UtZmFzdC1mb3J3YXJkLnNoIGIvdC90MzQzMi1yZWJhc2UtZmFzdC1mb3J3YXJkLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZjOWQ0YTEKLS0tIC9kZXYvbnVsbAorKysgYi90L3QzNDMyLXJlYmFzZS1mYXN0LWZvcndhcmQuc2gKQEAgLTAsMCArMSwxMjMgQEAKKyMhL2Jpbi9zaAorIworIyBDb3B5cmlnaHQgKGMpIDIwMTkgRGVudG9uIExpdQorIworCit0ZXN0X2Rlc2NyaXB0aW9uPSdlbnN1cmUgcmViYXNlIGZhc3QtZm9yd2FyZHMgY29tbWl0cyB3aGVuIHBvc3NpYmxlJworCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCisJdGVzdF9jb21taXQgQSAmJgorCXRlc3RfY29tbWl0IEIgJiYKKwl0ZXN0X2NvbW1pdCBDICYmCisJdGVzdF9jb21taXQgRCAmJgorCWdpdCBjaGVja291dCAtdCAtYiBzaWRlCisnCisKK3Rlc3RfcmViYXNlX3NhbWVfaGVhZCAoKSB7CisJc3RhdHVzX249IiQxIiAmJgorCXNoaWZ0ICYmCisJd2hhdF9uPSIkMSIgJiYKKwlzaGlmdCAmJgorCWNtcF9uPSIkMSIgJiYKKwlzaGlmdCAmJgorCXN0YXR1c19mPSIkMSIgJiYKKwlzaGlmdCAmJgorCXdoYXRfZj0iJDEiICYmCisJc2hpZnQgJiYKKwljbXBfZj0iJDEiICYmCisJc2hpZnQgJiYKKwl0ZXN0X3JlYmFzZV9zYW1lX2hlYWRfICRzdGF0dXNfbiAkd2hhdF9uICRjbXBfbiAiIC0tYXBwbHkiICIkKiIgJiYKKwl0ZXN0X3JlYmFzZV9zYW1lX2hlYWRfICRzdGF0dXNfZiAkd2hhdF9mICRjbXBfZiAiIC0tYXBwbHkgLS1uby1mZiIgIiQqIgorCXRlc3RfcmViYXNlX3NhbWVfaGVhZF8gJHN0YXR1c19uICR3aGF0X24gJGNtcF9uICIgLS1tZXJnZSIgIiQqIiAmJgorCXRlc3RfcmViYXNlX3NhbWVfaGVhZF8gJHN0YXR1c19mICR3aGF0X2YgJGNtcF9mICIgLS1tZXJnZSAtLW5vLWZmIiAiJCoiCit9CisKK3Rlc3RfcmViYXNlX3NhbWVfaGVhZF8gKCkgeworCXN0YXR1cz0iJDEiICYmCisJc2hpZnQgJiYKKwl3aGF0PSIkMSIgJiYKKwlzaGlmdCAmJgorCWNtcD0iJDEiICYmCisJc2hpZnQgJiYKKwlmbGFnPSIkMSIKKwlzaGlmdCAmJgorCXRlc3RfZXhwZWN0XyRzdGF0dXMgImdpdCByZWJhc2UkZmxhZyAkKiB3aXRoICRjaGFuZ2VzIGlzICR3aGF0IHdpdGggJGNtcCBIRUFEIiAiCisJCW9sZGhlYWQ9XCQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCQl0ZXN0X3doZW5fZmluaXNoZWQgJ2dpdCByZXNldCAtLWhhcmQgXCRvbGRoZWFkJyAmJgorCQljcCAuZ2l0L2xvZ3MvSEVBRCBleHBlY3QgJiYKKwkJZ2l0IHJlYmFzZSRmbGFnICQqID5zdGRvdXQgJiYKKwkJaWYgdGVzdCAkd2hhdCA9IHdvcmsKKwkJdGhlbgorCQkJb2xkPVwkKHdjIC1sIDxleHBlY3QpICYmCisJCQl0ZXN0X2xpbmVfY291bnQgJy1ndCcgXCRvbGQgLmdpdC9sb2dzL0hFQUQKKwkJZWxpZiB0ZXN0ICR3aGF0ID0gbm9vcAorCQl0aGVuCisJCQl0ZXN0X2NtcCBleHBlY3QgLmdpdC9sb2dzL0hFQUQKKwkJZmkgJiYKKwkJbmV3aGVhZD1cJChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisJCWlmIHRlc3QgJGNtcCA9IHNhbWUKKwkJdGhlbgorCQkJdGVzdF9jbXBfcmV2IFwkb2xkaGVhZCBcJG5ld2hlYWQKKwkJZWxpZiB0ZXN0ICRjbXAgPSBkaWZmCisJCXRoZW4KKwkJCXRlc3RfY21wX3JldiAhIFwkb2xkaGVhZCBcJG5ld2hlYWQKKwkJZmkKKwkiCit9CisKK2NoYW5nZXM9J25vIGNoYW5nZXMnCit0ZXN0X3JlYmFzZV9zYW1lX2hlYWQgc3VjY2VzcyBub29wIHNhbWUgc3VjY2VzcyB3b3JrIHNhbWUKK3Rlc3RfcmViYXNlX3NhbWVfaGVhZCBzdWNjZXNzIG5vb3Agc2FtZSBzdWNjZXNzIHdvcmsgc2FtZSBtYXN0ZXIKK3Rlc3RfcmViYXNlX3NhbWVfaGVhZCBzdWNjZXNzIG5vb3Agc2FtZSBzdWNjZXNzIHdvcmsgZGlmZiAtLW9udG8gQiBCCit0ZXN0X3JlYmFzZV9zYW1lX2hlYWQgc3VjY2VzcyBub29wIHNhbWUgc3VjY2VzcyB3b3JrIGRpZmYgLS1vbnRvIEIuLi4gQgordGVzdF9yZWJhc2Vfc2FtZV9oZWFkIHN1Y2Nlc3Mgbm9vcCBzYW1lIHN1Y2Nlc3Mgd29yayBzYW1lIC0tb250byBtYXN0ZXIuLi4gbWFzdGVyCit0ZXN0X3JlYmFzZV9zYW1lX2hlYWQgc3VjY2VzcyBub29wIHNhbWUgc3VjY2VzcyB3b3JrIHNhbWUgLS1rZWVwLWJhc2UgbWFzdGVyCit0ZXN0X3JlYmFzZV9zYW1lX2hlYWQgc3VjY2VzcyBub29wIHNhbWUgc3VjY2VzcyB3b3JrIHNhbWUgLS1rZWVwLWJhc2UKK3Rlc3RfcmViYXNlX3NhbWVfaGVhZCBzdWNjZXNzIG5vb3Agc2FtZSBzdWNjZXNzIHdvcmsgc2FtZSAtLW5vLWZvcmstcG9pbnQKK3Rlc3RfcmViYXNlX3NhbWVfaGVhZCBzdWNjZXNzIG5vb3Agc2FtZSBzdWNjZXNzIHdvcmsgc2FtZSAtLWtlZXAtYmFzZSAtLW5vLWZvcmstcG9pbnQKK3Rlc3RfcmViYXNlX3NhbWVfaGVhZCBzdWNjZXNzIG5vb3Agc2FtZSBzdWNjZXNzIHdvcmsgc2FtZSAtLWZvcmstcG9pbnQgbWFzdGVyCit0ZXN0X3JlYmFzZV9zYW1lX2hlYWQgc3VjY2VzcyBub29wIHNhbWUgc3VjY2VzcyB3b3JrIGRpZmYgLS1mb3JrLXBvaW50IC0tb250byBCIEIKK3Rlc3RfcmViYXNlX3NhbWVfaGVhZCBzdWNjZXNzIG5vb3Agc2FtZSBzdWNjZXNzIHdvcmsgZGlmZiAtLWZvcmstcG9pbnQgLS1vbnRvIEIuLi4gQgordGVzdF9yZWJhc2Vfc2FtZV9oZWFkIHN1Y2Nlc3Mgbm9vcCBzYW1lIHN1Y2Nlc3Mgd29yayBzYW1lIC0tZm9yay1wb2ludCAtLW9udG8gbWFzdGVyLi4uIG1hc3RlcgordGVzdF9yZWJhc2Vfc2FtZV9oZWFkIHN1Y2Nlc3Mgbm9vcCBzYW1lIHN1Y2Nlc3Mgd29yayBzYW1lIC0ta2VlcC1iYXNlIC0ta2VlcC1iYXNlIG1hc3RlcgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhZGQgd29yayBzYW1lIHRvIHNpZGUnICcKKwl0ZXN0X2NvbW1pdCBFCisnCisKK2NoYW5nZXM9J291ciBjaGFuZ2VzJwordGVzdF9yZWJhc2Vfc2FtZV9oZWFkIHN1Y2Nlc3Mgbm9vcCBzYW1lIHN1Y2Nlc3Mgd29yayBzYW1lCit0ZXN0X3JlYmFzZV9zYW1lX2hlYWQgc3VjY2VzcyBub29wIHNhbWUgc3VjY2VzcyB3b3JrIHNhbWUgbWFzdGVyCit0ZXN0X3JlYmFzZV9zYW1lX2hlYWQgc3VjY2VzcyBub29wIHNhbWUgc3VjY2VzcyB3b3JrIGRpZmYgLS1vbnRvIEIgQgordGVzdF9yZWJhc2Vfc2FtZV9oZWFkIHN1Y2Nlc3Mgbm9vcCBzYW1lIHN1Y2Nlc3Mgd29yayBkaWZmIC0tb250byBCLi4uIEIKK3Rlc3RfcmViYXNlX3NhbWVfaGVhZCBzdWNjZXNzIG5vb3Agc2FtZSBzdWNjZXNzIHdvcmsgc2FtZSAtLW9udG8gbWFzdGVyLi4uIG1hc3RlcgordGVzdF9yZWJhc2Vfc2FtZV9oZWFkIHN1Y2Nlc3Mgbm9vcCBzYW1lIHN1Y2Nlc3Mgd29yayBzYW1lIC0ta2VlcC1iYXNlIG1hc3RlcgordGVzdF9yZWJhc2Vfc2FtZV9oZWFkIHN1Y2Nlc3Mgbm9vcCBzYW1lIHN1Y2Nlc3Mgd29yayBzYW1lIC0ta2VlcC1iYXNlCit0ZXN0X3JlYmFzZV9zYW1lX2hlYWQgc3VjY2VzcyBub29wIHNhbWUgc3VjY2VzcyB3b3JrIHNhbWUgLS1uby1mb3JrLXBvaW50Cit0ZXN0X3JlYmFzZV9zYW1lX2hlYWQgc3VjY2VzcyBub29wIHNhbWUgc3VjY2VzcyB3b3JrIHNhbWUgLS1rZWVwLWJhc2UgLS1uby1mb3JrLXBvaW50Cit0ZXN0X3JlYmFzZV9zYW1lX2hlYWQgc3VjY2VzcyBub29wIHNhbWUgc3VjY2VzcyB3b3JrIHNhbWUgLS1mb3JrLXBvaW50IG1hc3RlcgordGVzdF9yZWJhc2Vfc2FtZV9oZWFkIHN1Y2Nlc3Mgbm9vcCBzYW1lIHN1Y2Nlc3Mgd29yayBkaWZmIC0tZm9yay1wb2ludCAtLW9udG8gQiBCCit0ZXN0X3JlYmFzZV9zYW1lX2hlYWQgc3VjY2VzcyBub29wIHNhbWUgc3VjY2VzcyB3b3JrIGRpZmYgLS1mb3JrLXBvaW50IC0tb250byBCLi4uIEIKK3Rlc3RfcmViYXNlX3NhbWVfaGVhZCBzdWNjZXNzIG5vb3Agc2FtZSBzdWNjZXNzIHdvcmsgc2FtZSAtLWZvcmstcG9pbnQgLS1vbnRvIG1hc3Rlci4uLiBtYXN0ZXIKK3Rlc3RfcmViYXNlX3NhbWVfaGVhZCBzdWNjZXNzIG5vb3Agc2FtZSBzdWNjZXNzIHdvcmsgc2FtZSAtLWZvcmstcG9pbnQgLS1rZWVwLWJhc2UgbWFzdGVyCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FkZCB3b3JrIHNhbWUgdG8gdXBzdHJlYW0nICcKKwlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCisJdGVzdF9jb21taXQgRiAmJgorCWdpdCBjaGVja291dCBzaWRlCisnCisKK2NoYW5nZXM9J291ciBhbmQgdGhlaXIgY2hhbmdlcycKK3Rlc3RfcmViYXNlX3NhbWVfaGVhZCBzdWNjZXNzIG5vb3Agc2FtZSBzdWNjZXNzIHdvcmsgZGlmZiAtLW9udG8gQiBCCit0ZXN0X3JlYmFzZV9zYW1lX2hlYWQgc3VjY2VzcyBub29wIHNhbWUgc3VjY2VzcyB3b3JrIGRpZmYgLS1vbnRvIEIuLi4gQgordGVzdF9yZWJhc2Vfc2FtZV9oZWFkIHN1Y2Nlc3Mgbm9vcCBzYW1lIHN1Y2Nlc3Mgd29yayBkaWZmIC0tb250byBtYXN0ZXIuLi4gbWFzdGVyCit0ZXN0X3JlYmFzZV9zYW1lX2hlYWQgc3VjY2VzcyBub29wIHNhbWUgc3VjY2VzcyB3b3JrIGRpZmYgLS1rZWVwLWJhc2UgbWFzdGVyCit0ZXN0X3JlYmFzZV9zYW1lX2hlYWQgc3VjY2VzcyBub29wIHNhbWUgc3VjY2VzcyB3b3JrIGRpZmYgLS1rZWVwLWJhc2UKK3Rlc3RfcmViYXNlX3NhbWVfaGVhZCBmYWlsdXJlIHdvcmsgc2FtZSBzdWNjZXNzIHdvcmsgZGlmZiAtLWZvcmstcG9pbnQgLS1vbnRvIEIgQgordGVzdF9yZWJhc2Vfc2FtZV9oZWFkIGZhaWx1cmUgd29yayBzYW1lIHN1Y2Nlc3Mgd29yayBkaWZmIC0tZm9yay1wb2ludCAtLW9udG8gQi4uLiBCCit0ZXN0X3JlYmFzZV9zYW1lX2hlYWQgc3VjY2VzcyBub29wIHNhbWUgc3VjY2VzcyB3b3JrIGRpZmYgLS1mb3JrLXBvaW50IC0tb250byBtYXN0ZXIuLi4gbWFzdGVyCit0ZXN0X3JlYmFzZV9zYW1lX2hlYWQgc3VjY2VzcyBub29wIHNhbWUgc3VjY2VzcyB3b3JrIGRpZmYgLS1mb3JrLXBvaW50IC0ta2VlcC1iYXNlIG1hc3RlcgorCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDM0MzMtcmViYXNlLWFjcm9zcy1tb2RlLWNoYW5nZS5zaCBiL3QvdDM0MzMtcmViYXNlLWFjcm9zcy1tb2RlLWNoYW5nZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNWRmOTY0Ci0tLSAvZGV2L251bGwKKysrIGIvdC90MzQzMy1yZWJhc2UtYWNyb3NzLW1vZGUtY2hhbmdlLnNoCkBAIC0wLDAgKzEsNDggQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdnaXQgcmViYXNlIGFjcm9zcyBtb2RlIGNoYW5nZScKKworLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJbWtkaXIgRFMgJiYKKwk+RFMvd2hhdGV2ZXIgJiYKKwlnaXQgYWRkIERTICYmCisJZ2l0IGNvbW1pdCAtbSBiYXNlICYmCisKKwlnaXQgYnJhbmNoIHNpZGUxICYmCisJZ2l0IGJyYW5jaCBzaWRlMiAmJgorCisJZ2l0IGNoZWNrb3V0IHNpZGUxICYmCisJZ2l0IHJtIC1yZiBEUyAmJgorCXRlc3RfbG5fc19hZGQgdW5yZWxhdGVkIERTICYmCisJZ2l0IGNvbW1pdCAtbSBzaWRlMSAmJgorCisJZ2l0IGNoZWNrb3V0IHNpZGUyICYmCisJPnVucmVsYXRlZCAmJgorCWdpdCBhZGQgdW5yZWxhdGVkICYmCisJZ2l0IGNvbW1pdCAtbSBjb21taXQxICYmCisKKwllY2hvID4+dW5yZWxhdGVkICYmCisJZ2l0IGNvbW1pdCAtYW0gY29tbWl0MgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWJhc2UgY2hhbmdlcyB3aXRoIHRoZSBhcHBseSBiYWNrZW5kJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmViYXNlIC0tYWJvcnQgfHwgdHJ1ZSIgJiYKKwlnaXQgY2hlY2tvdXQgLWIgYXBwbHktYmFja2VuZCBzaWRlMiAmJgorCWdpdCByZWJhc2Ugc2lkZTEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIGNoYW5nZXMgd2l0aCB0aGUgbWVyZ2UgYmFja2VuZCcgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlYmFzZSAtLWFib3J0IHx8IHRydWUiICYmCisJZ2l0IGNoZWNrb3V0IC1iIG1lcmdlLWJhY2tlbmQgc2lkZTIgJiYKKwlnaXQgcmViYXNlIC1tIHNpZGUxCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZSBjaGFuZ2VzIHdpdGggdGhlIG1lcmdlIGJhY2tlbmQgd2l0aCBhIGRlbGF5JyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmViYXNlIC0tYWJvcnQgfHwgdHJ1ZSIgJiYKKwlnaXQgY2hlY2tvdXQgLWIgbWVyZ2UtZGVsYXktYmFja2VuZCBzaWRlMiAmJgorCWdpdCByZWJhc2UgLW0gLS1leGVjICJzbGVlcCAxIiBzaWRlMQorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDM0MzQtcmViYXNlLWkxOG4uc2ggYi90L3QzNDM0LXJlYmFzZS1pMThuLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM3YzgzNWMKLS0tIC9kZXYvbnVsbAorKysgYi90L3QzNDM0LXJlYmFzZS1pMThuLnNoCkBAIC0wLDAgKzEsODQgQEAKKyMhL2Jpbi9zaAorIworIyBDb3B5cmlnaHQgKGMpIDIwMTkgRG9hbiBUcmFuIENvbmcgRGFuaAorIworCit0ZXN0X2Rlc2NyaXB0aW9uPSdyZWJhc2Ugd2l0aCBjaGFuZ2luZyBlbmNvZGluZworCitJbml0aWFsIHNldHVwOgorCisxIC0gMiAgICAgICAgICAgICAgbWFzdGVyCisgXAorICAzIC0gNCAgICAgICAgICAgIGZpcnN0CisgICBcCisgICAgNSAtIDYgICAgICAgICAgc2Vjb25kCisnCisKKy4gLi90ZXN0LWxpYi5zaAorCitjb21wYXJlX21zZyAoKSB7CisJaWNvbnYgLWYgIiQyIiAtdCAiJDMiICIkVEVTVF9ESVJFQ1RPUlkvdDM0MzQvJDEiID5leHBlY3QgJiYKKwlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgPnJhdyAmJgorCXNlZCAiMSwvXiQvZCIgcmF3ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3Mgc2V0dXAgJworCXRlc3RfY29tbWl0IG9uZSAmJgorCWdpdCBicmFuY2ggZmlyc3QgJiYKKwl0ZXN0X2NvbW1pdCB0d28gJiYKKwlnaXQgc3dpdGNoIGZpcnN0ICYmCisJdGVzdF9jb21taXQgdGhyZWUgJiYKKwlnaXQgYnJhbmNoIHNlY29uZCAmJgorCXRlc3RfY29tbWl0IGZvdXIgJiYKKwlnaXQgc3dpdGNoIHNlY29uZCAmJgorCXRlc3RfY29tbWl0IGZpdmUgJiYKKwl0ZXN0X2NvbW1pdCBzaXgKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC0tcmViYXNlLW1lcmdlcyB1cGRhdGUgZW5jb2RpbmcgZXVjSlAgdG8gVVRGLTgnICcKKwlnaXQgc3dpdGNoIC1jIG1lcmdlLWV1Y0pQLVVURi04IGZpcnN0ICYmCisJZ2l0IGNvbmZpZyBpMThuLmNvbW1pdGVuY29kaW5nIGV1Y0pQICYmCisJZ2l0IG1lcmdlIC1GICIkVEVTVF9ESVJFQ1RPUlkvdDM0MzQvZXVjSlAudHh0IiBzZWNvbmQgJiYKKwlnaXQgY29uZmlnIGkxOG4uY29tbWl0ZW5jb2RpbmcgVVRGLTggJiYKKwlnaXQgcmViYXNlIC0tcmViYXNlLW1lcmdlcyBtYXN0ZXIgJiYKKwljb21wYXJlX21zZyBldWNKUC50eHQgZXVjSlAgVVRGLTgKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC0tcmViYXNlLW1lcmdlcyB1cGRhdGUgZW5jb2RpbmcgZXVjSlAgdG8gSVNPLTIwMjItSlAnICcKKwlnaXQgc3dpdGNoIC1jIG1lcmdlLWV1Y0pQLUlTTy0yMDIyLUpQIGZpcnN0ICYmCisJZ2l0IGNvbmZpZyBpMThuLmNvbW1pdGVuY29kaW5nIGV1Y0pQICYmCisJZ2l0IG1lcmdlIC1GICIkVEVTVF9ESVJFQ1RPUlkvdDM0MzQvZXVjSlAudHh0IiBzZWNvbmQgJiYKKwlnaXQgY29uZmlnIGkxOG4uY29tbWl0ZW5jb2RpbmcgSVNPLTIwMjItSlAgJiYKKwlnaXQgcmViYXNlIC0tcmViYXNlLW1lcmdlcyBtYXN0ZXIgJiYKKwljb21wYXJlX21zZyBldWNKUC50eHQgZXVjSlAgSVNPLTIwMjItSlAKKycKKwordGVzdF9yZWJhc2VfY29udGludWVfdXBkYXRlX2VuY29kZSAoKSB7CisJb2xkPSQxCisJbmV3PSQyCisJbXNnZmlsZT0kMworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgInJlYmFzZSAtLWNvbnRpbnVlIHVwZGF0ZSBmcm9tICRvbGQgdG8gJG5ldyIgJworCQkoZ2l0IHJlYmFzZSAtLWFib3J0IHx8IDogYWJvcnQgY3VycmVudCBnaXQtcmViYXNlIGZhaWx1cmUpICYmCisJCWdpdCBzd2l0Y2ggLWMgY29uZmxpY3QtJG9sZC0kbmV3IG9uZSAmJgorCQllY2hvIGZvci1jb25mbGljdCA+dHdvLnQgJiYKKwkJZ2l0IGFkZCB0d28udCAmJgorCQlnaXQgY29uZmlnIGkxOG4uY29tbWl0ZW5jb2RpbmcgJG9sZCAmJgorCQlnaXQgY29tbWl0IC1GICIkVEVTVF9ESVJFQ1RPUlkvdDM0MzQvJG1zZ2ZpbGUiICYmCisJCWdpdCBjb25maWcgaTE4bi5jb21taXRlbmNvZGluZyAkbmV3ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLW0gbWFzdGVyICYmCisJCXRlc3QgLWYgLmdpdC9yZWJhc2UtbWVyZ2UvbWVzc2FnZSAmJgorCQlnaXQgc3RyaXBzcGFjZSA8LmdpdC9yZWJhc2UtbWVyZ2UvbWVzc2FnZSA+dHdvLnQgJiYKKwkJZ2l0IGFkZCB0d28udCAmJgorCQlnaXQgcmViYXNlIC0tY29udGludWUgJiYKKwkJY29tcGFyZV9tc2cgJG1zZ2ZpbGUgJG9sZCAkbmV3ICYmCisJCTogZ2l0LWNvbW1pdCBhc3N1bWUgaW52YWxpZCB1dGYtOCBpcyBsYXRpbjEgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IHR3by50CisJJworfQorCit0ZXN0X3JlYmFzZV9jb250aW51ZV91cGRhdGVfZW5jb2RlIElTTy04ODU5LTEgVVRGLTggSVNPODg1OS0xLnR4dAordGVzdF9yZWJhc2VfY29udGludWVfdXBkYXRlX2VuY29kZSBldWNKUCBVVEYtOCBldWNKUC50eHQKK3Rlc3RfcmViYXNlX2NvbnRpbnVlX3VwZGF0ZV9lbmNvZGUgZXVjSlAgSVNPLTIwMjItSlAgZXVjSlAudHh0CisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzQzNC9JU084ODU5LTEudHh0IGIvdC90MzQzNC9JU084ODU5LTEudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjYmVmMGUKLS0tIC9kZXYvbnVsbAorKysgYi90L3QzNDM0L0lTTzg4NTktMS50eHQKQEAgLTAsMCArMSwzIEBACivEy9HP1gorCivBYudk6GZnCmRpZmYgLS1naXQgYS90L3QzNDM0L2V1Y0pQLnR4dCBiL3QvdDM0MzQvZXVjSlAudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0NmYyYWEKLS0tIC9kZXYvbnVsbAorKysgYi90L3QzNDM0L2V1Y0pQLnR4dApAQCAtMCwwICsxLDQgQEAKK6TPpOyk0qTbpNUKKworpLekxqSkpOukzqSsoaKkpKTrpM6kx6GjCivfwMnNpNuk7KTXpOqk3aTspN6k06SwpOqk7aTYoaMKZGlmZiAtLWdpdCBhL3QvdDM1MDEtcmV2ZXJ0LWNoZXJyeS1waWNrLnNoIGIvdC90MzUwMS1yZXZlcnQtY2hlcnJ5LXBpY2suc2gKaW5kZXggZDFjNjhhZi4uN2MxZGEyMSAxMDA3NTUKLS0tIGEvdC90MzUwMS1yZXZlcnQtY2hlcnJ5LXBpY2suc2gKKysrIGIvdC90MzUwMS1yZXZlcnQtY2hlcnJ5LXBpY2suc2gKQEAgLTEwNiw3ICsxMDYsNyBAQAogCXJtIC1yZiAqICYmCiAJZ2l0IGNoZXJyeS1waWNrIGluaXRpYWwgJiYKIAlnaXQgZGlmZiAtLXF1aWV0IGluaXRpYWwgJiYKLQkhIHRlc3RfY21wX3JldiBpbml0aWFsIEhFQUQKKwl0ZXN0X2NtcF9yZXYgISBpbml0aWFsIEhFQUQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlcnJ5LXBpY2sgIi0iIHRvIHBpY2sgZnJvbSBwcmV2aW91cyBicmFuY2gnICcKQEAgLTE1MCw3ICsxNTAsNyBAQAogCXRlc3RfdGljayAmJgogCWdpdCBjb21taXQgLW0gcmVuYW1lZCAmJgogCWVjaG8gbW9kaWZpZWQgPnJlbmFtZWQgJiYKLQlnaXQgY2hlcnJ5LXBpY2sgcmVmcy9oZWFkcy91bnJlbGF0ZWQgPm91dCAmJgorCWdpdCBjaGVycnktcGljayByZWZzL2hlYWRzL3VucmVsYXRlZCAmJgogCXRlc3QgJChnaXQgcmV2LXBhcnNlIDowOnJlbmFtZWQpID0gJChnaXQgcmV2LXBhcnNlIEhFQUR+Mjp0by1yZW5hbWUudCkgJiYKIAlncmVwIC1xICJebW9kaWZpZWQkIiByZW5hbWVkCiAnCmRpZmYgLS1naXQgYS90L3QzNTAyLWNoZXJyeS1waWNrLW1lcmdlLnNoIGIvdC90MzUwMi1jaGVycnktcGljay1tZXJnZS5zaAppbmRleCBiMTYwMjcxLi44YjYzNWExIDEwMDc1NQotLS0gYS90L3QzNTAyLWNoZXJyeS1waWNrLW1lcmdlLnNoCisrKyBiL3QvdDM1MDItY2hlcnJ5LXBpY2stbWVyZ2Uuc2gKQEAgLTQwLDEyICs0MCwxMiBAQAogCXRlc3RfZXhwZWN0X2NvZGUgMTI5IGdpdCBjaGVycnktcGljayAtbSAwIGIKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlcnJ5LXBpY2sgYSBub24tbWVyZ2Ugd2l0aCAtbSBzaG91bGQgZmFpbCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlcnJ5LXBpY2sgZXhwbGljaXQgZmlyc3QgcGFyZW50IG9mIGEgbm9uLW1lcmdlJyAnCiAKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZ2l0IGNoZWNrb3V0IGFeMCAmJgotCXRlc3RfZXhwZWN0X2NvZGUgMTI4IGdpdCBjaGVycnktcGljayAtbSAxIGIgJiYKLQlnaXQgZGlmZiAtLWV4aXQtY29kZSBhIC0tCisJZ2l0IGNoZXJyeS1waWNrIC1tIDEgYiAmJgorCWdpdCBkaWZmIC0tZXhpdC1jb2RlIGMgLS0KIAogJwogCkBAIC04NCwxMiArODQsMTIgQEAKIAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXZlcnQgYSBub24tbWVyZ2Ugd2l0aCAtbSBzaG91bGQgZmFpbCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2ZXJ0IGV4cGxpY2l0IGZpcnN0IHBhcmVudCBvZiBhIG5vbi1tZXJnZScgJwogCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWdpdCBjaGVja291dCBjXjAgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgcmV2ZXJ0IC1tIDEgYiAmJgotCWdpdCBkaWZmIC0tZXhpdC1jb2RlIGMKKwlnaXQgcmV2ZXJ0IC1tIDEgYiAmJgorCWdpdCBkaWZmIC0tZXhpdC1jb2RlIGEgLS0KIAogJwogCmRpZmYgLS1naXQgYS90L3QzNTA0LWNoZXJyeS1waWNrLXJlcmVyZS5zaCBiL3QvdDM1MDQtY2hlcnJ5LXBpY2stcmVyZXJlLnNoCmluZGV4IGEyNjdiMmQuLjgwYTBkMDggMTAwNzU1Ci0tLSBhL3QvdDM1MDQtY2hlcnJ5LXBpY2stcmVyZXJlLnNoCisrKyBiL3QvdDM1MDQtY2hlcnJ5LXBpY2stcmVyZXJlLnNoCkBAIC05NCw4ICs5NCwxMCBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVycnktcGljayBjb25mbGljdCB3aXRob3V0IHJlcmVyZScgJwogCXRlc3RfY29uZmlnIHJlcmVyZS5lbmFibGVkIGZhbHNlICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZXJyeS1waWNrIG1hc3RlciAmJgotCXRlc3RfbXVzdF9mYWlsIHRlc3RfY21wIGV4cGVjdCBmb28KKwl0ZXN0X211c3RfZmFpbCBnaXQgY2hlcnJ5LXBpY2sgZm9vLW1hc3RlciAmJgorCWdyZXAgPT09PT0gZm9vICYmCisJZ3JlcCBmb28tZGV2IGZvbyAmJgorCWdyZXAgZm9vLW1hc3RlciBmb28KICcKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzNTA2LWNoZXJyeS1waWNrLWZmLnNoIGIvdC90MzUwNi1jaGVycnktcGljay1mZi5zaAppbmRleCBmYjg4OWFjLi45ZDVhZGJjIDEwMDc1NQotLS0gYS90L3QzNTA2LWNoZXJyeS1waWNrLWZmLnNoCisrKyBiL3QvdDM1MDYtY2hlcnJ5LXBpY2stZmYuc2gKQEAgLTE2LDcgKzE2LDExIEBACiAJZ2l0IGFkZCBmaWxlMSAmJgogCXRlc3RfdGljayAmJgogCWdpdCBjb21taXQgLW0gInNlY29uZCIgJiYKLQlnaXQgdGFnIHNlY29uZAorCWdpdCB0YWcgc2Vjb25kICYmCisJdGVzdF9vaWRfY2FjaGUgPDwtRU9GCisJY3BfZmYgc2hhMToxZGYxOTJjZDhiYzU4YTJiMjc1ZDg0MmNlZGU0ZDIyMWFkOTAwMGQxCisJY3BfZmYgc2hhMjU2OmU3MGQ2YjdmYzA2NGJkZGI1MTZiOGQ1MTJjOTA1NzA5NGI5NmNlNmZmMDhlMTIwODBhY2M0ZmU3ZjFkNjBhMWQKKwlFT0YKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlcnJ5LXBpY2sgdXNpbmcgLS1mZiBmYXN0IGZvcndhcmRzJyAnCkBAIC02NCwxMCArNjgsMTAgQEAKIAlnaXQgY2hlY2tvdXQgLWIgbmV3IEEKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlcnJ5LXBpY2sgYSBub24tbWVyZ2Ugd2l0aCAtLWZmIGFuZCAtbSBzaG91bGQgZmFpbCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlcnJ5LXBpY2sgZXhwbGljaXQgZmlyc3QgcGFyZW50IG9mIGEgbm9uLW1lcmdlIHdpdGggLS1mZicgJwogCWdpdCByZXNldCAtLWhhcmQgQSAtLSAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayAtLWZmIC1tIDEgQiAmJgotCWdpdCBkaWZmIC0tZXhpdC1jb2RlIEEgLS0KKwlnaXQgY2hlcnJ5LXBpY2sgLS1mZiAtbSAxIEIgJiYKKwlnaXQgZGlmZiAtLWV4aXQtY29kZSBDIC0tCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZXJyeSBwaWNrIGEgbWVyZ2Ugd2l0aCAtLWZmIGJ1dCB3aXRob3V0IC1tIHNob3VsZCBmYWlsJyAnCkBAIC0xMDIsNyArMTA2LDcgQEAKIAlnaXQgYWRkIGZpbGUyICYmCiAJZ2l0IGNvbW1pdCAtLWFtZW5kIC1tICJmaWxlMiIgJiYKIAlnaXQgY2hlcnJ5LXBpY2sgLS1mZiBmaXJzdCAmJgotCXRlc3QgIiQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKSIgPSAiMWRmMTkyY2Q4YmM1OGEyYjI3NWQ4NDJjZWRlNGQyMjFhZDkwMDBkMSIKKwl0ZXN0ICIkKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCkiID0gIiQodGVzdF9vaWQgY3BfZmYpIgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVycnktcGljayAtLWZmIG9uIHVuYm9ybiBicmFuY2gnICcKZGlmZiAtLWdpdCBhL3QvdDM1MDctY2hlcnJ5LXBpY2stY29uZmxpY3Quc2ggYi90L3QzNTA3LWNoZXJyeS1waWNrLWNvbmZsaWN0LnNoCmluZGV4IDBkYjE2NjEuLjliZDQ4MmMgMTAwNzU1Ci0tLSBhL3QvdDM1MDctY2hlcnJ5LXBpY2stY29uZmxpY3Quc2gKKysrIGIvdC90MzUwNy1jaGVycnktcGljay1jb25mbGljdC5zaApAQCAtMjUsNiArMjUsMTEgQEAKIAl0ZXN0X2NvbW1pdCBiYXNlIGZvbyBiICYmCiAJdGVzdF9jb21taXQgcGlja2VkIGZvbyBjICYmCiAJdGVzdF9jb21taXQgLS1zaWdub2ZmIHBpY2tlZC1zaWduZWQgZm9vIGQgJiYKKwlnaXQgY2hlY2tvdXQgLWIgdG9waWMgaW5pdGlhbCAmJgorCXRlc3RfY29tbWl0IHJlZHVuZGFudC1waWNrIGZvbyBjIHJlZHVuZGFudCAmJgorCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtLWFsbG93LWVtcHR5LW1lc3NhZ2UgJiYKKwlnaXQgdGFnIGVtcHR5ICYmCisJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgogCWdpdCBjb25maWcgYWR2aWNlLmRldGFjaGVkaGVhZCBmYWxzZQogCiAnCkBAIC04OCw3ICs5Myw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZXJyeS1waWNrIHcvZGlydHkgdHJlZSBkb2VzIG5vdCBzZXQgQ0hFUlJZX1BJQ0tfSEVBRCcgJwogCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCi0JZWNobyBmb28gPiBmb28gJiYKKwllY2hvIGZvbyA+Zm9vICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZXJyeS1waWNrIGJhc2UgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IENIRVJSWV9QSUNLX0hFQUQKICcKQEAgLTk2LDcgKzEwMSw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFwKIAknY2hlcnJ5LXBpY2sgLS1zdHJhdGVneT1yZXNvbHZlIHcvZGlydHkgdHJlZSBkb2VzIG5vdCBzZXQgQ0hFUlJZX1BJQ0tfSEVBRCcgJwogCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCi0JZWNobyBmb28gPiBmb28gJiYKKwllY2hvIGZvbyA+Zm9vICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZXJyeS1waWNrIC0tc3RyYXRlZ3k9cmVzb2x2ZSBiYXNlICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBDSEVSUllfUElDS19IRUFECiAnCkBAIC0xNTYsNiArMTYxLDI1IEBACiAKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IENIRVJSWV9QSUNLX0hFQUQKICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Y2Nlc3NmdWwgZmluYWwgY29tbWl0IGNsZWFycyBjaGVycnktcGljayBzdGF0ZScgJworCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgY2hlcnJ5LXBpY2sgYmFzZSBwaWNrZWQtc2lnbmVkICYmCisJZWNobyByZXNvbHZlZCA+Zm9vICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgLmdpdC9zZXF1ZW5jZXIvdG9kbyAmJgorCWdpdCBjb21taXQgLWEgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyAuZ2l0L3NlcXVlbmNlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXNldCBhZnRlciBmaW5hbCBwaWNrIGNsZWFycyBjaGVycnktcGljayBzdGF0ZScgJworCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgY2hlcnJ5LXBpY2sgYmFzZSBwaWNrZWQtc2lnbmVkICYmCisJZWNobyByZXNvbHZlZCA+Zm9vICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgLmdpdC9zZXF1ZW5jZXIvdG9kbyAmJgorCWdpdCByZXNldCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvc2VxdWVuY2VyCisnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZhaWxlZCBjaGVycnktcGljayBwcm9kdWNlcyBkaXJ0eSBpbmRleCcgJwogCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCkBAIC0xNzUsMjMgKzE5OSw2MyBAQAogCQlnaXQgbHMtZmlsZXMgLS1zdGFnZSBmb28gJiYKIAkJZ2l0IGNoZWNrb3V0IHBpY2tlZCAtLSBmb28gJiYKIAkJZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgZm9vCi0JfSA+IHN0YWdlcyAmJgorCX0gPnN0YWdlcyAmJgogCXNlZCAiCiAJCTEgcy8gMAkvIDEJLwogCQkyIHMvIDAJLyAyCS8KIAkJMyBzLyAwCS8gMwkvCi0JIiA8IHN0YWdlcyA+IGV4cGVjdGVkICYmCisJIiBzdGFnZXMgPmV4cGVjdGVkICYmCiAJZ2l0IHJlYWQtdHJlZSAtdSAtLXJlc2V0IEhFQUQgJiYKIAogCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayBwaWNrZWQgJiYKLQlnaXQgbHMtZmlsZXMgLS1zdGFnZSAtLXVubWVyZ2VkID4gYWN0dWFsICYmCisJZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgLS11bm1lcmdlZCA+YWN0dWFsICYmCiAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyBcCisJJ2NoZXJyeS1waWNrIGNvbmZsaWN0LCBlbnN1cmUgY29tbWl0LmNsZWFudXAgPSBzY2lzc29ycyBwbGFjZXMgc2Npc3NvcnMgbGluZSBwcm9wZXJseScgJworCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCisJZ2l0IGNvbmZpZyBjb21taXQuY2xlYW51cCBzY2lzc29ycyAmJgorCWNhdCA8PC1FT0YgPmV4cGVjdGVkICYmCisJCXBpY2tlZAorCisJCSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tID44IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCQkjIERvIG5vdCBtb2RpZnkgb3IgcmVtb3ZlIHRoZSBsaW5lIGFib3ZlLgorCQkjIEV2ZXJ5dGhpbmcgYmVsb3cgaXQgd2lsbCBiZSBpZ25vcmVkLgorCQkjCisJCSMgQ29uZmxpY3RzOgorCQkjCWZvbworCQlFT0YKKworCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayBwaWNrZWQgJiYKKworCXRlc3RfaTE4bmNtcCBleHBlY3RlZCAuZ2l0L01FUkdFX01TRworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFwKKwknY2hlcnJ5LXBpY2sgY29uZmxpY3QsIGVuc3VyZSBjbGVhbnVwPXNjaXNzb3JzIHBsYWNlcyBzY2lzc29ycyBsaW5lIHByb3Blcmx5JyAnCisJcHJpc3RpbmVfZGV0YWNoIGluaXRpYWwgJiYKKwlnaXQgY29uZmlnIC0tdW5zZXQgY29tbWl0LmNsZWFudXAgJiYKKwljYXQgPDwtRU9GID5leHBlY3RlZCAmJgorCQlwaWNrZWQKKworCQkjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSA+OCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwkJIyBEbyBub3QgbW9kaWZ5IG9yIHJlbW92ZSB0aGUgbGluZSBhYm92ZS4KKwkJIyBFdmVyeXRoaW5nIGJlbG93IGl0IHdpbGwgYmUgaWdub3JlZC4KKwkJIworCQkjIENvbmZsaWN0czoKKwkJIwlmb28KKwkJRU9GCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgY2hlcnJ5LXBpY2sgLS1jbGVhbnVwPXNjaXNzb3JzIHBpY2tlZCAmJgorCisJdGVzdF9pMThuY21wIGV4cGVjdGVkIC5naXQvTUVSR0VfTVNHCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZhaWxlZCBjaGVycnktcGljayBkZXNjcmliZXMgY29uZmxpY3QgaW4gd29yayB0cmVlJyAnCiAJcHJpc3RpbmVfZGV0YWNoIGluaXRpYWwgJiYKLQljYXQgPDwtRU9GID4gZXhwZWN0ZWQgJiYKKwljYXQgPDwtRU9GID5leHBlY3RlZCAmJgogCTw8PDw8PDwgSEVBRAogCWEKIAk9PT09PT09CkBAIC0yMDEsMTQgKzI2NSwxNCBAQAogCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZXJyeS1waWNrIHBpY2tlZCAmJgogCi0Jc2VkICJzL1thLWYwLTldKlwuXC5cLi9vYmppZC8iIGZvbyA+IGFjdHVhbCAmJgorCXNlZCAicy9bYS1mMC05XSpcLlwuXC4vb2JqaWQvIiBmb28gPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmMyAtbSBzdHlsZScgJwogCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCiAJZ2l0IGNvbmZpZyBtZXJnZS5jb25mbGljdHN0eWxlIGRpZmYzICYmCi0JY2F0IDw8LUVPRiA+IGV4cGVjdGVkICYmCisJY2F0IDw8LUVPRiA+ZXhwZWN0ZWQgJiYKIAk8PDw8PDw8IEhFQUQKIAlhCiAJfHx8fHx8fCBwYXJlbnQgb2Ygb2JqaWQgcGlja2VkCkBAIC0yMjAsMTQgKzI4NCwxNCBAQAogCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZXJyeS1waWNrIHBpY2tlZCAmJgogCi0Jc2VkICJzL1thLWYwLTldKlwuXC5cLi9vYmppZC8iIGZvbyA+IGFjdHVhbCAmJgorCXNlZCAicy9bYS1mMC05XSpcLlwuXC4vb2JqaWQvIiBmb28gPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXZlcnQgYWxzbyBoYW5kbGVzIGNvbmZsaWN0cyBzYW5lbHknICcKIAlnaXQgY29uZmlnIC0tdW5zZXQgbWVyZ2UuY29uZmxpY3RzdHlsZSAmJgogCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCi0JY2F0IDw8LUVPRiA+IGV4cGVjdGVkICYmCisJY2F0IDw8LUVPRiA+ZXhwZWN0ZWQgJiYKIAk8PDw8PDw8IEhFQUQKIAlhCiAJPT09PT09PQpAQCAtMjQxLDI0ICszMDUsMjQgQEAKIAkJZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgZm9vICYmCiAJCWdpdCBjaGVja291dCBiYXNlIC0tIGZvbyAmJgogCQlnaXQgbHMtZmlsZXMgLS1zdGFnZSBmb28KLQl9ID4gc3RhZ2VzICYmCisJfSA+c3RhZ2VzICYmCiAJc2VkICIKIAkJMSBzLyAwCS8gMQkvCiAJCTIgcy8gMAkvIDIJLwogCQkzIHMvIDAJLyAzCS8KLQkiIDwgc3RhZ2VzID4gZXhwZWN0ZWQtc3RhZ2VzICYmCisJIiBzdGFnZXMgPmV4cGVjdGVkLXN0YWdlcyAmJgogCWdpdCByZWFkLXRyZWUgLXUgLS1yZXNldCBIRUFEICYmCiAKIAloZWFkPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCByZXZlcnQgcGlja2VkICYmCiAJbmV3aGVhZD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKLQlnaXQgbHMtZmlsZXMgLS1zdGFnZSAtLXVubWVyZ2VkID4gYWN0dWFsLXN0YWdlcyAmJgorCWdpdCBscy1maWxlcyAtLXN0YWdlIC0tdW5tZXJnZWQgPmFjdHVhbC1zdGFnZXMgJiYKIAogCXRlc3QgIiRoZWFkIiA9ICIkbmV3aGVhZCIgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgdXBkYXRlLWluZGV4IC0tcmVmcmVzaCAtcSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmLWluZGV4IC0tZXhpdC1jb2RlIEhFQUQgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZC1zdGFnZXMgYWN0dWFsLXN0YWdlcyAmJgotCXNlZCAicy9bYS1mMC05XSpcLlwuXC4vb2JqaWQvIiBmb28gPiBhY3R1YWwgJiYKKwlzZWQgInMvW2EtZjAtOV0qXC5cLlwuL29iamlkLyIgZm9vID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIApAQCAtMjg0LDcgKzM0OCw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JldmVydCB3L2RpcnR5IHRyZWUgZG9lcyBub3Qgc2V0IFJFVkVSVF9IRUFEJyAnCiAJcHJpc3RpbmVfZGV0YWNoIGJhc2UgJiYKLQllY2hvIGZvbyA+IGZvbyAmJgorCWVjaG8gZm9vID5mb28gJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmV2ZXJ0IGJhc2UgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IENIRVJSWV9QSUNLX0hFQUQgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IFJFVkVSVF9IRUFECkBAIC0zMTYsMTAgKzM4MCwzMCBAQAogCXRlc3RfY21wX3JldiBwaWNrZWQgUkVWRVJUX0hFQUQKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3VjY2Vzc2Z1bCBmaW5hbCBjb21taXQgY2xlYXJzIHJldmVydCBzdGF0ZScgJworCXByaXN0aW5lX2RldGFjaCBwaWNrZWQtc2lnbmVkICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2ZXJ0IHBpY2tlZC1zaWduZWQgYmFzZSAmJgorCWVjaG8gcmVzb2x2ZWQgPmZvbyAmJgorCXRlc3RfcGF0aF9pc19maWxlIC5naXQvc2VxdWVuY2VyL3RvZG8gJiYKKwlnaXQgY29tbWl0IC1hICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9zZXF1ZW5jZXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVzZXQgYWZ0ZXIgZmluYWwgcGljayBjbGVhcnMgcmV2ZXJ0IHN0YXRlJyAnCisJcHJpc3RpbmVfZGV0YWNoIHBpY2tlZC1zaWduZWQgJiYKKworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXZlcnQgcGlja2VkLXNpZ25lZCBiYXNlICYmCisJZWNobyByZXNvbHZlZCA+Zm9vICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgLmdpdC9zZXF1ZW5jZXIvdG9kbyAmJgorCWdpdCByZXNldCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvc2VxdWVuY2VyCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JldmVydCBjb25mbGljdCwgZGlmZjMgLW0gc3R5bGUnICcKIAlwcmlzdGluZV9kZXRhY2ggaW5pdGlhbCAmJgogCWdpdCBjb25maWcgbWVyZ2UuY29uZmxpY3RzdHlsZSBkaWZmMyAmJgotCWNhdCA8PC1FT0YgPiBleHBlY3RlZCAmJgorCWNhdCA8PC1FT0YgPmV4cGVjdGVkICYmCiAJPDw8PDw8PCBIRUFECiAJYQogCXx8fHx8fHwgb2JqaWQgcGlja2VkCkBAIC0zMzEsMTAgKzQxNSw1NiBAQAogCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldmVydCBwaWNrZWQgJiYKIAotCXNlZCAicy9bYS1mMC05XSpcLlwuXC4vb2JqaWQvIiBmb28gPiBhY3R1YWwgJiYKKwlzZWQgInMvW2EtZjAtOV0qXC5cLlwuL29iamlkLyIgZm9vID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyBcCisJJ3JldmVydCBjb25mbGljdCwgZW5zdXJlIGNvbW1pdC5jbGVhbnVwID0gc2Npc3NvcnMgcGxhY2VzIHNjaXNzb3JzIGxpbmUgcHJvcGVybHknICcKKwlwcmlzdGluZV9kZXRhY2ggaW5pdGlhbCAmJgorCWdpdCBjb25maWcgY29tbWl0LmNsZWFudXAgc2Npc3NvcnMgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCQlSZXZlcnQgInBpY2tlZCIKKworCQlUaGlzIHJldmVydHMgY29tbWl0IE9CSklELgorCisJCSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tID44IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCQkjIERvIG5vdCBtb2RpZnkgb3IgcmVtb3ZlIHRoZSBsaW5lIGFib3ZlLgorCQkjIEV2ZXJ5dGhpbmcgYmVsb3cgaXQgd2lsbCBiZSBpZ25vcmVkLgorCQkjCisJCSMgQ29uZmxpY3RzOgorCQkjCWZvbworCQlFT0YKKworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXZlcnQgcGlja2VkICYmCisKKwlzZWQgInMvJE9JRF9SRUdFWC9PQkpJRC8iIC5naXQvTUVSR0VfTVNHID5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgXAorCSdyZXZlcnQgY29uZmxpY3QsIGVuc3VyZSBjbGVhbnVwPXNjaXNzb3JzIHBsYWNlcyBzY2lzc29ycyBsaW5lIHByb3Blcmx5JyAnCisJcHJpc3RpbmVfZGV0YWNoIGluaXRpYWwgJiYKKwlnaXQgY29uZmlnIC0tdW5zZXQgY29tbWl0LmNsZWFudXAgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCQlSZXZlcnQgInBpY2tlZCIKKworCQlUaGlzIHJldmVydHMgY29tbWl0IE9CSklELgorCisJCSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tID44IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCQkjIERvIG5vdCBtb2RpZnkgb3IgcmVtb3ZlIHRoZSBsaW5lIGFib3ZlLgorCQkjIEV2ZXJ5dGhpbmcgYmVsb3cgaXQgd2lsbCBiZSBpZ25vcmVkLgorCQkjCisJCSMgQ29uZmxpY3RzOgorCQkjCWZvbworCQlFT0YKKworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXZlcnQgLS1jbGVhbnVwPXNjaXNzb3JzIHBpY2tlZCAmJgorCisJc2VkICJzLyRPSURfUkVHRVgvT0JKSUQvIiAuZ2l0L01FUkdFX01TRyA+YWN0dWFsICYmCisJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmYWlsZWQgY2hlcnJ5LXBpY2sgZG9lcyBub3QgZm9yZ2V0IC1zJyAnCiAJcHJpc3RpbmVfZGV0YWNoIGluaXRpYWwgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgY2hlcnJ5LXBpY2sgLXMgcGlja2VkICYmCkBAIC0zNDUsNyArNDc1LDcgQEAKIAlwcmlzdGluZV9kZXRhY2ggaW5pdGlhbCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayAtcyBwaWNrZWQtc2lnbmVkICYmCiAJZ2l0IGNvbW1pdCAtYSAtcyAmJgotCXRlc3QgJChnaXQgc2hvdyAtcyB8Z3JlcCAtYyAiU2lnbmVkLW9mZi1ieSIpID0gMQorCXRlc3QgJChnaXQgc2hvdyAtcyA+dG1wICYmIGdyZXAgLWMgIlNpZ25lZC1vZmYtYnkiIHRtcCAmJiBybSB0bXApID0gMQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb21taXQgYWZ0ZXIgZmFpbGVkIGNoZXJyeS1waWNrIGFkZHMgLXMgYXQgdGhlIHJpZ2h0IHBsYWNlJyAnCkBAIC0zNTksNyArNDg5LDcgQEAKIAlTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+CiAJIyBDb25mbGljdHM6CiAJRU9GCi0JZ3JlcCAtZSAiXiMgQ29uZmxpY3RzOiIgLWUgJ15TaWduZWQtb2ZmLWJ5JyA8LmdpdC9DT01NSVRfRURJVE1TRyA+YWN0dWFsICYmCisJZ3JlcCAtZSAiXiMgQ29uZmxpY3RzOiIgLWUgJ15TaWduZWQtb2ZmLWJ5JyAuZ2l0L0NPTU1JVF9FRElUTVNHID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCiAKIAljYXQgPDwtXEVPRiA+ZXhwZWN0ZWQgJiYKQEAgLTM3OCw3ICs1MDgsNyBAQAogCiAJIyBlbXVsYXRlIG9sZC1zdHlsZSBjb25mbGljdHMgYmxvY2sKIAltdiAuZ2l0L01FUkdFX01TRyAuZ2l0L01FUkdFX01TRysgJiYKLQlzZWQgLWUgIi9eIyBDb25mbGljdHM6LyxcJHMvXiMgKi8vIiA8LmdpdC9NRVJHRV9NU0crID4uZ2l0L01FUkdFX01TRyAmJgorCXNlZCAtZSAiL14jIENvbmZsaWN0czovLFwkcy9eIyAqLy8iIC5naXQvTUVSR0VfTVNHKyA+LmdpdC9NRVJHRV9NU0cgJiYKIAogCWdpdCBjb21taXQgLWEgJiYKIAlnaXQgY29tbWl0IC0tYW1lbmQgLXMgJiYKQEAgLTM4OCw3ICs1MTgsNyBAQAogCVNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KIAlDb25mbGljdHM6CiAJRU9GCi0JZ3JlcCAtZSAiXkNvbmZsaWN0czoiIC1lICdeU2lnbmVkLW9mZi1ieScgPC5naXQvQ09NTUlUX0VESVRNU0cgPmFjdHVhbCAmJgorCWdyZXAgLWUgIl5Db25mbGljdHM6IiAtZSAnXlNpZ25lZC1vZmYtYnknIC5naXQvQ09NTUlUX0VESVRNU0cgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIApAQCAtNDA1LDQgKzUzNSwyMyBAQAogCXRlc3RfaTE4bmdyZXAgISAiQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6IiBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlcnJ5LXBpY2sgLS1jb250aW51ZSByZW1lbWJlcnMgLS1rZWVwLXJlZHVuZGFudC1jb21taXRzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlcnJ5LXBpY2sgLS1hYm9ydCB8fCA6IiAmJgorCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZXJyeS1waWNrIC0ta2VlcC1yZWR1bmRhbnQtY29tbWl0cyBwaWNrZWQgcmVkdW5kYW50ICYmCisJZWNobyBjID5mb28gJiYKKwlnaXQgYWRkIGZvbyAmJgorCWdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZXJyeS1waWNrIC0tY29udGludWUgcmVtZW1iZXJzIC0tYWxsb3ctZW1wdHkgYW5kIC0tYWxsb3ctZW1wdHktbWVzc2FnZScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnQgfHwgOiIgJiYKKwlwcmlzdGluZV9kZXRhY2ggaW5pdGlhbCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayAtLWFsbG93LWVtcHR5IC0tYWxsb3ctZW1wdHktbWVzc2FnZSBcCisJCQkJICAgICAgIHBpY2tlZCBlbXB0eSAmJgorCWVjaG8gYyA+Zm9vICYmCisJZ2l0IGFkZCBmb28gJiYKKwlnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDM1MDgtY2hlcnJ5LXBpY2stbWFueS1jb21taXRzLnNoIGIvdC90MzUwOC1jaGVycnktcGljay1tYW55LWNvbW1pdHMuc2gKaW5kZXggYjQ1NzMzMy4uMjMwNzBhNyAxMDA3NTUKLS0tIGEvdC90MzUwOC1jaGVycnktcGljay1tYW55LWNvbW1pdHMuc2gKKysrIGIvdC90MzUwOC1jaGVycnktcGljay1tYW55LWNvbW1pdHMuc2gKQEAgLTUsNyArNSw3IEBACiAuIC4vdGVzdC1saWIuc2gKIAogY2hlY2tfaGVhZF9kaWZmZXJzX2Zyb20oKSB7Ci0JISB0ZXN0X2NtcF9yZXYgSEVBRCAiJDEiCisJdGVzdF9jbXBfcmV2ICEgSEVBRCAiJDEiCiB9CiAKIGNoZWNrX2hlYWRfZXF1YWxzKCkgewpkaWZmIC0tZ2l0IGEvdC90MzUxMC1jaGVycnktcGljay1zZXF1ZW5jZS5zaCBiL3QvdDM1MTAtY2hlcnJ5LXBpY2stc2VxdWVuY2Uuc2gKaW5kZXggYzg0ZWVlZi4uNzkzYmNjNyAxMDA3NTUKLS0tIGEvdC90MzUxMC1jaGVycnktcGljay1zZXF1ZW5jZS5zaAorKysgYi90L3QzNTEwLWNoZXJyeS1waWNrLXNlcXVlbmNlLnNoCkBAIC02MSw3ICs2MSwxMSBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVycnktcGljayBwZXJzaXN0cyBvcHRzIGNvcnJlY3RseScgJwogCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCi0JdGVzdF9leHBlY3RfY29kZSAxMjggZ2l0IGNoZXJyeS1waWNrIC1zIC1tIDEgLS1zdHJhdGVneT1yZWN1cnNpdmUgLVggcGF0aWVuY2UgLVggb3VycyBpbml0aWFsLi5hbm90aGVycGljayAmJgorCSMgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHNlc3Npb24gdG8gY2hlcnJ5LXBpY2sgYSBzZXF1ZW5jZQorCSMgZ2V0cyBpbnRlcnJ1cHRlZCwgdXNlIGEgaGlnaC1lbm91Z2ggbnVtYmVyIHRoYXQgaXMgbGFyZ2VyCisJIyB0aGFuIHRoZSBudW1iZXIgb2YgcGFyZW50cyBvZiBhbnkgY29tbWl0IHdlIGhhdmUgY3JlYXRlZAorCW1haW5saW5lPTQgJiYKKwl0ZXN0X2V4cGVjdF9jb2RlIDEyOCBnaXQgY2hlcnJ5LXBpY2sgLXMgLW0gJG1haW5saW5lIC0tc3RyYXRlZ3k9cmVjdXJzaXZlIC1YIHBhdGllbmNlIC1YIG91cnMgaW5pdGlhbC4uYW5vdGhlcnBpY2sgJiYKIAl0ZXN0X3BhdGhfaXNfZGlyIC5naXQvc2VxdWVuY2VyICYmCiAJdGVzdF9wYXRoX2lzX2ZpbGUgLmdpdC9zZXF1ZW5jZXIvaGVhZCAmJgogCXRlc3RfcGF0aF9pc19maWxlIC5naXQvc2VxdWVuY2VyL3RvZG8gJiYKQEAgLTY5LDcgKzczLDcgQEAKIAllY2hvICJ0cnVlIiA+ZXhwZWN0ICYmCiAJZ2l0IGNvbmZpZyAtLWZpbGU9LmdpdC9zZXF1ZW5jZXIvb3B0cyAtLWdldC1hbGwgb3B0aW9ucy5zaWdub2ZmID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCi0JZWNobyAiMSIgPmV4cGVjdCAmJgorCWVjaG8gIiRtYWlubGluZSIgPmV4cGVjdCAmJgogCWdpdCBjb25maWcgLS1maWxlPS5naXQvc2VxdWVuY2VyL29wdHMgLS1nZXQtYWxsIG9wdGlvbnMubWFpbmxpbmUgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKIAllY2hvICJyZWN1cnNpdmUiID5leHBlY3QgJiYKQEAgLTg5LDYgKzkzLDEyOCBAQAogCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvc2VxdWVuY2VyCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZXJyeS1waWNrIC0tc2tpcCByZXF1aXJlcyBjaGVycnktcGljayBpbiBwcm9ncmVzcycgJworCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZXJyeS1waWNrIC0tc2tpcAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXZlcnQgLS1za2lwIHJlcXVpcmVzIHJldmVydCBpbiBwcm9ncmVzcycgJworCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldmVydCAtLXNraXAKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlcnJ5LXBpY2sgLS1za2lwIHRvIHNraXAgY29tbWl0JyAnCisJcHJpc3RpbmVfZGV0YWNoIGluaXRpYWwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY2hlcnJ5LXBpY2sgYW5vdGhlcnBpY2sgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2ZXJ0IC0tc2tpcCAmJgorCWdpdCBjaGVycnktcGljayAtLXNraXAgJiYKKwl0ZXN0X2NtcF9yZXYgaW5pdGlhbCBIRUFEICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9DSEVSUllfUElDS19IRUFECisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JldmVydCAtLXNraXAgdG8gc2tpcCBjb21taXQnICcKKwlwcmlzdGluZV9kZXRhY2ggYW5vdGhlcnBpY2sgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2ZXJ0IGFub3RoZXJwaWNrfjEgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY2hlcnJ5LXBpY2sgLS1za2lwICYmCisJZ2l0IHJldmVydCAtLXNraXAgJiYKKwl0ZXN0X2NtcF9yZXYgYW5vdGhlcnBpY2sgSEVBRAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdza2lwICJlbXB0eSIgY29tbWl0JyAnCisJcHJpc3RpbmVfZGV0YWNoIHBpY2tlZCAmJgorCXRlc3RfY29tbWl0IGR1bW15IGZvbyBkICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZXJyeS1waWNrIGFub3RoZXJwaWNrICYmCisJZ2l0IGNoZXJyeS1waWNrIC0tc2tpcCAmJgorCXRlc3RfY21wX3JldiBkdW1teSBIRUFECisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NraXAgYSBjb21taXQgYW5kIGNoZWNrIGlmIHJlc3Qgb2Ygc2VxdWVuY2UgaXMgY29ycmVjdCcgJworCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCisJZWNobyBlID5leHBlY3QgJiYKKwljYXQgPmV4cGVjdC5sb2cgPDwtRU9GICYmCisJT0JKSUQKKwk6MTAwNjQ0IDEwMDY0NCBPQkpJRCBPQkpJRCBNCWZvbworCU9CSklECisJOjEwMDY0NCAxMDA2NDQgT0JKSUQgT0JKSUQgTQlmb28KKwlPQkpJRAorCToxMDA2NDQgMTAwNjQ0IE9CSklEIE9CSklEIE0JdW5yZWxhdGVkCisJT0JKSUQKKwk6MDAwMDAwIDEwMDY0NCBPQkpJRCBPQkpJRCBBCWZvbworCTowMDAwMDAgMTAwNjQ0IE9CSklEIE9CSklEIEEJdW5yZWxhdGVkCisJRU9GCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZXJyeS1waWNrIGJhc2UuLnlldGFub3RoZXJwaWNrICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZXJyeS1waWNrIC0tc2tpcCAmJgorCWVjaG8gZCA+Zm9vICYmCisJZ2l0IGFkZCBmb28gJiYKKwlnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZSAmJgorCXsKKwkJZ2l0IHJldi1saXN0IEhFQUQgfAorCQlnaXQgZGlmZi10cmVlIC0tcm9vdCAtLXN0ZGluIHwKKwkJc2VkICJzLyRPSURfUkVHRVgvT0JKSUQvZyIKKwl9ID5hY3R1YWwubG9nICYmCisJdGVzdF9jbXAgZXhwZWN0IGZvbyAmJgorCXRlc3RfY21wIGV4cGVjdC5sb2cgYWN0dWFsLmxvZworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayBhZHZpY2Ugd2hlbiB3ZSBtb3ZlIEhFQUQgYnkgY29tbWl0dGluZycgJworCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJZXJyb3I6IHRoZXJlIGlzIG5vdGhpbmcgdG8gc2tpcAorCWhpbnQ6IGhhdmUgeW91IGNvbW1pdHRlZCBhbHJlYWR5PworCWhpbnQ6IHRyeSAiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWUiCisJZmF0YWw6IGNoZXJyeS1waWNrIGZhaWxlZAorCUVPRgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayBiYXNlLi55ZXRhbm90aGVycGljayAmJgorCWVjaG8gYyA+Zm9vICYmCisJZ2l0IGNvbW1pdCAtYSAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvQ0hFUlJZX1BJQ0tfSEVBRCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayAtLXNraXAgMj5hZHZpY2UgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFkdmljZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZWxlY3RpdmVseSBhZHZpc2UgLS1za2lwIHdoaWxlIGxhdW5jaGluZyBhbm90aGVyIHNlcXVlbmNlJyAnCisJcHJpc3RpbmVfZGV0YWNoIGluaXRpYWwgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwllcnJvcjogY2hlcnJ5LXBpY2sgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcworCWhpbnQ6IHRyeSAiZ2l0IGNoZXJyeS1waWNrICgtLWNvbnRpbnVlIHwgLS1za2lwIHwgLS1hYm9ydCB8IC0tcXVpdCkiCisJZmF0YWw6IGNoZXJyeS1waWNrIGZhaWxlZAorCUVPRgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjaGVycnktcGljayBwaWNrZWQuLnlldGFub3RoZXJwaWNrICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZXJyeS1waWNrIHBpY2tlZC4ueWV0YW5vdGhlcnBpY2sgMj5hZHZpY2UgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFkdmljZSAmJgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCWVycm9yOiBjaGVycnktcGljayBpcyBhbHJlYWR5IGluIHByb2dyZXNzCisJaGludDogdHJ5ICJnaXQgY2hlcnJ5LXBpY2sgKC0tY29udGludWUgfCAtLWFib3J0IHwgLS1xdWl0KSIKKwlmYXRhbDogY2hlcnJ5LXBpY2sgZmFpbGVkCisJRU9GCisJZ2l0IHJlc2V0IC0tbWVyZ2UgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY2hlcnJ5LXBpY2sgcGlja2VkLi55ZXRhbm90aGVycGljayAyPmFkdmljZSAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWR2aWNlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FsbG93IHNraXBwaW5nIGNvbW1pdCBidXQgbm90IGFib3J0IGZvciBhIG5ldyBoaXN0b3J5JyAnCisJcHJpc3RpbmVfZGV0YWNoIGluaXRpYWwgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwllcnJvcjogY2Fubm90IGFib3J0IGZyb20gYSBicmFuY2ggeWV0IHRvIGJlIGJvcm4KKwlmYXRhbDogY2hlcnJ5LXBpY2sgZmFpbGVkCisJRU9GCisJZ2l0IGNoZWNrb3V0IC0tb3JwaGFuIG5ld19kaXNjb25uZWN0ZWQgJiYKKwlnaXQgcmVzZXQgLS1oYXJkICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZXJyeS1waWNrIGFub3RoZXJwaWNrICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnQgMj5hZHZpY2UgJiYKKwlnaXQgY2hlcnJ5LXBpY2sgLS1za2lwICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBhZHZpY2UKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYWxsb3cgc2tpcHBpbmcgc3RvcHBlZCBjaGVycnktcGljayBiZWNhdXNlIG9mIHVudHJhY2tlZCBmaWxlIG1vZGlmaWNhdGlvbnMnICcKKwlwcmlzdGluZV9kZXRhY2ggaW5pdGlhbCAmJgorCWdpdCBybSAtLWNhY2hlZCB1bnJlbGF0ZWQgJiYKKwlnaXQgY29tbWl0IC1tICJ1bnRyYWNrIHVucmVsYXRlZCIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgY2hlcnJ5LXBpY2sgaW5pdGlhbCBiYXNlICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9DSEVSUllfUElDS19IRUFEICYmCisJZ2l0IGNoZXJyeS1waWNrIC0tc2tpcAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXF1aXQgZG9lcyBub3QgY29tcGxhaW4gd2hlbiBubyBjaGVycnktcGljayBpcyBpbiBwcm9ncmVzcycgJwogCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCiAJZ2l0IGNoZXJyeS1waWNrIC0tcXVpdApkaWZmIC0tZ2l0IGEvdC90MzUxMS1jaGVycnktcGljay14LnNoIGIvdC90MzUxMS1jaGVycnktcGljay14LnNoCmluZGV4IDk4ODhiZjMuLjg0YTU4N2QgMTAwNzU1Ci0tLSBhL3QvdDM1MTEtY2hlcnJ5LXBpY2steC5zaAorKysgYi90L3QzNTExLWNoZXJyeS1waWNrLXguc2gKQEAgLTI5OCw0ICsyOTgsMjQgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZXJyeS1waWNrIC14IGNsZWFucyBjb21taXQgbWVzc2FnZScgJworCXByaXN0aW5lX2RldGFjaCBpbml0aWFsICYmCisJZ2l0IGNoZXJyeS1waWNrIC14IG1lc2ctdW5jbGVhbiAmJgorCWdpdCBsb2cgLTEgLS1wcmV0dHk9Zm9ybWF0OiVCID5hY3R1YWwgJiYKKwlwcmludGYgIiVzXG4oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAlcylcbiIgXAorCQkiJG1lc2dfdW5jbGVhbiIgJChnaXQgcmV2LXBhcnNlIG1lc2ctdW5jbGVhbikgfAorCQkJZ2l0IHN0cmlwc3BhY2UgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlcnJ5LXBpY2sgLXggcmVzcGVjdHMgY29tbWl0LmNsZWFudXAnICcKKwlwcmlzdGluZV9kZXRhY2ggaW5pdGlhbCAmJgorCWdpdCAtYyBjb21taXQuY2xlYW51cD1zdHJpcCBjaGVycnktcGljayAteCBtZXNnLXVuY2xlYW4gJiYKKwlnaXQgbG9nIC0xIC0tcHJldHR5PWZvcm1hdDolQiA+YWN0dWFsICYmCisJcHJpbnRmICIlc1xuKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgJXMpXG4iIFwKKwkJIiRtZXNnX3VuY2xlYW4iICQoZ2l0IHJldi1wYXJzZSBtZXNnLXVuY2xlYW4pIHwKKwkJCWdpdCBzdHJpcHNwYWNlIC1zID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzYwMC1ybS5zaCBiL3QvdDM2MDAtcm0uc2gKaW5kZXggMDRlNWQ0Mi4uZjJjMDE2OCAxMDA3NTUKLS0tIGEvdC90MzYwMC1ybS5zaAorKysgYi90L3QzNjAwLXJtLnNoCkBAIC04LDkxICs4LDkyIEBACiAuIC4vdGVzdC1saWIuc2gKIAogIyBTZXR1cCBzb21lIGZpbGVzIHRvIGJlIHJlbW92ZWQsIHNvbWUgd2l0aCBmdW5ueSBjaGFyYWN0ZXJzCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLSAgICAnSW5pdGlhbGl6ZSB0ZXN0IGRpcmVjdG9yeScgXAotICAgICJ0b3VjaCAtLSBmb28gYmFyIGJheiAnc3BhY2UgZW1iZWRkZWQnIC1xICYmCi0gICAgIGdpdCBhZGQgLS0gZm9vIGJhciBiYXogJ3NwYWNlIGVtYmVkZGVkJyAtcSAmJgotICAgICBnaXQgY29tbWl0IC1tICdhZGQgbm9ybWFsIGZpbGVzJyIKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0luaXRpYWxpemUgdGVzdCBkaXJlY3RvcnknICcKKwl0b3VjaCAtLSBmb28gYmFyIGJheiAic3BhY2UgZW1iZWRkZWQiIC1xICYmCisJZ2l0IGFkZCAtLSBmb28gYmFyIGJheiAic3BhY2UgZW1iZWRkZWQiIC1xICYmCisJZ2l0IGNvbW1pdCAtbSAiYWRkIG5vcm1hbCBmaWxlcyIKKycKIAotaWYgdGVzdF9oYXZlX3ByZXJlcSAhRlVOTllOQU1FUzsgdGhlbgoraWYgdGVzdF9oYXZlX3ByZXJlcSAhRlVOTllOQU1FUwordGhlbgogCXNheSAnWW91ciBmaWxlc3lzdGVtIGRvZXMgbm90IGFsbG93IHRhYnMgaW4gZmlsZW5hbWVzLicKIGZpCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgRlVOTllOQU1FUyAnYWRkIGZpbGVzIHdpdGggZnVubnkgbmFtZXMnICIKLSAgICAgdG91Y2ggLS0gJ3RhYgllbWJlZGRlZCcgJ25ld2xpbmUKLWVtYmVkZGVkJyAmJgotICAgICBnaXQgYWRkIC0tICd0YWIJZW1iZWRkZWQnICduZXdsaW5lCi1lbWJlZGRlZCcgJiYKLSAgICAgZ2l0IGNvbW1pdCAtbSAnYWRkIGZpbGVzIHdpdGggdGFicyBhbmQgbmV3bGluZXMnCi0iCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotICAgICdQcmUtY2hlY2sgdGhhdCBmb28gZXhpc3RzIGFuZCBpcyBpbiBpbmRleCBiZWZvcmUgZ2l0IHJtIGZvbycgXAotICAgICdbIC1mIGZvbyBdICYmIGdpdCBscy1maWxlcyAtLWVycm9yLXVubWF0Y2ggZm9vJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLSAgICAnVGVzdCB0aGF0IGdpdCBybSBmb28gc3VjY2VlZHMnIFwKLSAgICAnZ2l0IHJtIC0tY2FjaGVkIGZvbycKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0gICAgJ1Rlc3QgdGhhdCBnaXQgcm0gLS1jYWNoZWQgZm9vIHN1Y2NlZWRzIGlmIHRoZSBpbmRleCBtYXRjaGVzIHRoZSBmaWxlJyBcCi0gICAgJ2VjaG8gY29udGVudCA+Zm9vICYmCi0gICAgIGdpdCBhZGQgZm9vICYmCi0gICAgIGdpdCBybSAtLWNhY2hlZCBmb28nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotICAgICdUZXN0IHRoYXQgZ2l0IHJtIC0tY2FjaGVkIGZvbyBzdWNjZWVkcyBpZiB0aGUgaW5kZXggbWF0Y2hlcyB0aGUgZmlsZScgXAotICAgICdlY2hvIGNvbnRlbnQgPmZvbyAmJgotICAgICBnaXQgYWRkIGZvbyAmJgotICAgICBnaXQgY29tbWl0IC1tIGZvbyAmJgotICAgICBlY2hvICJvdGhlciBjb250ZW50IiA+Zm9vICYmCi0gICAgIGdpdCBybSAtLWNhY2hlZCBmb28nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotICAgICdUZXN0IHRoYXQgZ2l0IHJtIC0tY2FjaGVkIGZvbyBmYWlscyBpZiB0aGUgaW5kZXggbWF0Y2hlcyBuZWl0aGVyIHRoZSBmaWxlIG5vciBIRUFEJyAnCi0gICAgIGVjaG8gY29udGVudCA+Zm9vICYmCi0gICAgIGdpdCBhZGQgZm9vICYmCi0gICAgIGdpdCBjb21taXQgLW0gZm9vIC0tYWxsb3ctZW1wdHkgJiYKLSAgICAgZWNobyAib3RoZXIgY29udGVudCIgPmZvbyAmJgotICAgICBnaXQgYWRkIGZvbyAmJgotICAgICBlY2hvICJ5ZXQgYW5vdGhlciBjb250ZW50IiA+Zm9vICYmCi0gICAgIHRlc3RfbXVzdF9mYWlsIGdpdCBybSAtLWNhY2hlZCBmb28KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgRlVOTllOQU1FUyAnYWRkIGZpbGVzIHdpdGggZnVubnkgbmFtZXMnICcKKwl0b3VjaCAtLSAidGFiCWVtYmVkZGVkIiAibmV3bGluZSR7TEZ9ZW1iZWRkZWQiICYmCisJZ2l0IGFkZCAtLSAidGFiCWVtYmVkZGVkIiAibmV3bGluZSR7TEZ9ZW1iZWRkZWQiICYmCisJZ2l0IGNvbW1pdCAtbSAiYWRkIGZpbGVzIHdpdGggdGFicyBhbmQgbmV3bGluZXMiCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotICAgICdUZXN0IHRoYXQgZ2l0IHJtIC0tY2FjaGVkIC1mIGZvbyB3b3JrcyBpbiBjYXNlIHdoZXJlIC0tY2FjaGVkIG9ubHkgZGlkIG5vdCcgXAotICAgICdlY2hvIGNvbnRlbnQgPmZvbyAmJgotICAgICBnaXQgYWRkIGZvbyAmJgotICAgICBnaXQgY29tbWl0IC1tIGZvbyAtLWFsbG93LWVtcHR5ICYmCi0gICAgIGVjaG8gIm90aGVyIGNvbnRlbnQiID5mb28gJiYKLSAgICAgZ2l0IGFkZCBmb28gJiYKLSAgICAgZWNobyAieWV0IGFub3RoZXIgY29udGVudCIgPmZvbyAmJgotICAgICBnaXQgcm0gLS1jYWNoZWQgLWYgZm9vJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnUHJlLWNoZWNrIHRoYXQgZm9vIGV4aXN0cyBhbmQgaXMgaW4gaW5kZXggYmVmb3JlIGdpdCBybSBmb28nICcKKwl0ZXN0X3BhdGhfaXNfZmlsZSBmb28gJiYKKwlnaXQgbHMtZmlsZXMgLS1lcnJvci11bm1hdGNoIGZvbworJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLSAgICAnUG9zdC1jaGVjayB0aGF0IGZvbyBleGlzdHMgYnV0IGlzIG5vdCBpbiBpbmRleCBhZnRlciBnaXQgcm0gZm9vJyBcCi0gICAgJ1sgLWYgZm9vIF0gJiYgdGVzdF9tdXN0X2ZhaWwgZ2l0IGxzLWZpbGVzIC0tZXJyb3ItdW5tYXRjaCBmb28nCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdUZXN0IHRoYXQgZ2l0IHJtIGZvbyBzdWNjZWVkcycgJworCWdpdCBybSAtLWNhY2hlZCBmb28KKycKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0gICAgJ1ByZS1jaGVjayB0aGF0IGJhciBleGlzdHMgYW5kIGlzIGluIGluZGV4IGJlZm9yZSAiZ2l0IHJtIGJhciInIFwKLSAgICAnWyAtZiBiYXIgXSAmJiBnaXQgbHMtZmlsZXMgLS1lcnJvci11bm1hdGNoIGJhcicKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1Rlc3QgdGhhdCBnaXQgcm0gLS1jYWNoZWQgZm9vIHN1Y2NlZWRzIGlmIHRoZSBpbmRleCBtYXRjaGVzIHRoZSBmaWxlJyAnCisJZWNobyBjb250ZW50ID5mb28gJiYKKwlnaXQgYWRkIGZvbyAmJgorCWdpdCBybSAtLWNhY2hlZCBmb28KKycKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0gICAgJ1Rlc3QgdGhhdCAiZ2l0IHJtIGJhciIgc3VjY2VlZHMnIFwKLSAgICAnZ2l0IHJtIGJhcicKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1Rlc3QgdGhhdCBnaXQgcm0gLS1jYWNoZWQgZm9vIHN1Y2NlZWRzIGlmIHRoZSBpbmRleCBtYXRjaGVzIHRoZSBmaWxlJyAnCisJZWNobyBjb250ZW50ID5mb28gJiYKKwlnaXQgYWRkIGZvbyAmJgorCWdpdCBjb21taXQgLW0gZm9vICYmCisJZWNobyAib3RoZXIgY29udGVudCIgPmZvbyAmJgorCWdpdCBybSAtLWNhY2hlZCBmb28KKycKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0gICAgJ1Bvc3QtY2hlY2sgdGhhdCBiYXIgZG9lcyBub3QgZXhpc3QgYW5kIGlzIG5vdCBpbiBpbmRleCBhZnRlciAiZ2l0IHJtIC1mIGJhciInIFwKLSAgICAnISBbIC1mIGJhciBdICYmIHRlc3RfbXVzdF9mYWlsIGdpdCBscy1maWxlcyAtLWVycm9yLXVubWF0Y2ggYmFyJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnVGVzdCB0aGF0IGdpdCBybSAtLWNhY2hlZCBmb28gZmFpbHMgaWYgdGhlIGluZGV4IG1hdGNoZXMgbmVpdGhlciB0aGUgZmlsZSBub3IgSEVBRCcgJworCWVjaG8gY29udGVudCA+Zm9vICYmCisJZ2l0IGFkZCBmb28gJiYKKwlnaXQgY29tbWl0IC1tIGZvbyAtLWFsbG93LWVtcHR5ICYmCisJZWNobyAib3RoZXIgY29udGVudCIgPmZvbyAmJgorCWdpdCBhZGQgZm9vICYmCisJZWNobyAieWV0IGFub3RoZXIgY29udGVudCIgPmZvbyAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBybSAtLWNhY2hlZCBmb28KKycKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0gICAgJ1Rlc3QgdGhhdCAiZ2l0IHJtIC0tIC1xIiBzdWNjZWVkcyAocmVtb3ZlIGEgZmlsZSB0aGF0IGxvb2tzIGxpa2UgYW4gb3B0aW9uKScgXAotICAgICdnaXQgcm0gLS0gLXEnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdUZXN0IHRoYXQgZ2l0IHJtIC0tY2FjaGVkIC1mIGZvbyB3b3JrcyBpbiBjYXNlIHdoZXJlIC0tY2FjaGVkIG9ubHkgZGlkIG5vdCcgJworCWVjaG8gY29udGVudCA+Zm9vICYmCisJZ2l0IGFkZCBmb28gJiYKKwlnaXQgY29tbWl0IC1tIGZvbyAtLWFsbG93LWVtcHR5ICYmCisJZWNobyAib3RoZXIgY29udGVudCIgPmZvbyAmJgorCWdpdCBhZGQgZm9vICYmCisJZWNobyAieWV0IGFub3RoZXIgY29udGVudCIgPmZvbyAmJgorCWdpdCBybSAtLWNhY2hlZCAtZiBmb28KKycKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBGVU5OWU5BTUVTIFwKLSAgICAiVGVzdCB0aGF0IFwiZ2l0IHJtIC1mXCIgc3VjY2VlZHMgd2l0aCBlbWJlZGRlZCBzcGFjZSwgdGFiLCBvciBuZXdsaW5lIGNoYXJhY3RlcnMuIiBcCi0gICAgImdpdCBybSAtZiAnc3BhY2UgZW1iZWRkZWQnICd0YWIJZW1iZWRkZWQnICduZXdsaW5lCi1lbWJlZGRlZCciCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdQb3N0LWNoZWNrIHRoYXQgZm9vIGV4aXN0cyBidXQgaXMgbm90IGluIGluZGV4IGFmdGVyIGdpdCBybSBmb28nICcKKwl0ZXN0X3BhdGhfaXNfZmlsZSBmb28gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgbHMtZmlsZXMgLS1lcnJvci11bm1hdGNoIGZvbworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdQcmUtY2hlY2sgdGhhdCBiYXIgZXhpc3RzIGFuZCBpcyBpbiBpbmRleCBiZWZvcmUgImdpdCBybSBiYXIiJyAnCisJdGVzdF9wYXRoX2lzX2ZpbGUgYmFyICYmCisJZ2l0IGxzLWZpbGVzIC0tZXJyb3ItdW5tYXRjaCBiYXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnVGVzdCB0aGF0ICJnaXQgcm0gYmFyIiBzdWNjZWVkcycgJworCWdpdCBybSBiYXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnUG9zdC1jaGVjayB0aGF0IGJhciBkb2VzIG5vdCBleGlzdCBhbmQgaXMgbm90IGluIGluZGV4IGFmdGVyICJnaXQgcm0gLWYgYmFyIicgJworCXRlc3RfcGF0aF9pc19taXNzaW5nIGJhciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBscy1maWxlcyAtLWVycm9yLXVubWF0Y2ggYmFyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1Rlc3QgdGhhdCAiZ2l0IHJtIC0tIC1xIiBzdWNjZWVkcyAocmVtb3ZlIGEgZmlsZSB0aGF0IGxvb2tzIGxpa2UgYW4gb3B0aW9uKScgJworCWdpdCBybSAtLSAtcQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEZVTk5ZTkFNRVMgJ1Rlc3QgdGhhdCAiZ2l0IHJtIC1mIiBzdWNjZWVkcyB3aXRoIGVtYmVkZGVkIHNwYWNlLCB0YWIsIG9yIG5ld2xpbmUgY2hhcmFjdGVycy4nICcKKwlnaXQgcm0gLWYgInNwYWNlIGVtYmVkZGVkIiAidGFiCWVtYmVkZGVkIiAibmV3bGluZSR7TEZ9ZW1iZWRkZWQiCisnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgU0FOSVRZICdUZXN0IHRoYXQgImdpdCBybSAtZiIgZmFpbHMgaWYgaXRzIHJtIGZhaWxzJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJjaG1vZCA3NzUgLiIgJiYKQEAgLTEwMCw5ICsxMDEsOSBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBybSAtZiBiYXoKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0gICAgJ1doZW4gdGhlIHJtIGluICJnaXQgcm0gLWYiIGZhaWxzLCBpdCBzaG91bGQgbm90IHJlbW92ZSB0aGUgZmlsZSBmcm9tIHRoZSBpbmRleCcgXAotICAgICdnaXQgbHMtZmlsZXMgLS1lcnJvci11bm1hdGNoIGJheicKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1doZW4gdGhlIHJtIGluICJnaXQgcm0gLWYiIGZhaWxzLCBpdCBzaG91bGQgbm90IHJlbW92ZSB0aGUgZmlsZSBmcm9tIHRoZSBpbmRleCcgJworCWdpdCBscy1maWxlcyAtLWVycm9yLXVubWF0Y2ggYmF6CisnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1JlbW92ZSBub25leGlzdGVudCBmaWxlIHdpdGggLS1pZ25vcmUtdW5tYXRjaCcgJwogCWdpdCBybSAtLWlnbm9yZS11bm1hdGNoIG5vbmV4aXN0ZW50CkBAIC0xMTIsOSArMTEzLDEwIEBACiAJZWNobyBmcm90eiA+dGVzdC1maWxlICYmCiAJZ2l0IGFkZCB0ZXN0LWZpbGUgJiYKIAlnaXQgY29tbWl0IC1tICJhZGQgZmlsZSBmb3Igcm0gdGVzdCIgJiYKLQlnaXQgcm0gdGVzdC1maWxlID5ybS1vdXRwdXQgJiYKLQl0ZXN0ICQoZ3JlcCAiXnJtICIgcm0tb3V0cHV0IHwgd2MgLWwpID0gMSAmJgotCXJtIC1mIHRlc3QtZmlsZSBybS1vdXRwdXQgJiYKKwlnaXQgcm0gdGVzdC1maWxlID5ybS1vdXRwdXQucmF3ICYmCisJZ3JlcCAiXnJtICIgcm0tb3V0cHV0LnJhdyA+cm0tb3V0cHV0ICYmCisJdGVzdF9saW5lX2NvdW50ID0gMSBybS1vdXRwdXQgJiYKKwlybSAtZiB0ZXN0LWZpbGUgcm0tb3V0cHV0LnJhdyBybS1vdXRwdXQgJiYKIAlnaXQgY29tbWl0IC1tICJyZW1vdmUgZmlsZSBmcm9tIHJtIHRlc3QiCiAnCiAKQEAgLTEzNywxNSArMTM5LDE1IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdNb2RpZnkgZm9vIC0tIHJtIHNob3VsZCByZWZ1c2UnICcKIAllY2hvID4+Zm9vICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJtIGZvbyBiYXogJiYKLQl0ZXN0IC1mIGZvbyAmJgotCXRlc3QgLWYgYmF6ICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgZm9vICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgYmF6ICYmCiAJZ2l0IGxzLWZpbGVzIC0tZXJyb3ItdW5tYXRjaCBmb28gYmF6CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ01vZGlmaWVkIGZvbyAtLSBybSAtZiBzaG91bGQgd29yaycgJwogCWdpdCBybSAtZiBmb28gYmF6ICYmCi0JdGVzdCAhIC1mIGZvbyAmJgotCXRlc3QgISAtZiBiYXogJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBmb28gJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBiYXogJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbHMtZmlsZXMgLS1lcnJvci11bm1hdGNoIGZvbyAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBscy1maWxlcyAtLWVycm9yLXVubWF0Y2ggYmFyCiAnCkBAIC0xNTksMTUgKzE2MSwxNSBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb28gaXMgZGlmZmVyZW50IGluIGluZGV4IGZyb20gSEVBRCAtLSBybSBzaG91bGQgcmVmdXNlJyAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJtIGZvbyBiYXogJiYKLQl0ZXN0IC1mIGZvbyAmJgotCXRlc3QgLWYgYmF6ICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgZm9vICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgYmF6ICYmCiAJZ2l0IGxzLWZpbGVzIC0tZXJyb3ItdW5tYXRjaCBmb28gYmF6CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2J1dCB3aXRoIC1mIGl0IHNob3VsZCB3b3JrLicgJwogCWdpdCBybSAtZiBmb28gYmF6ICYmCi0JdGVzdCAhIC1mIGZvbyAmJgotCXRlc3QgISAtZiBiYXogJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBmb28gJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBiYXogJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbHMtZmlsZXMgLS1lcnJvci11bm1hdGNoIGZvbyAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBscy1maWxlcyAtLWVycm9yLXVubWF0Y2ggYmF6CiAnCkBAIC0xOTQsMjEgKzE5NiwyMSBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdSZWN1cnNpdmUgd2l0aG91dCAtciBmYWlscycgJwogCXRlc3RfbXVzdF9mYWlsIGdpdCBybSBmcm90eiAmJgotCXRlc3QgLWQgZnJvdHogJiYKLQl0ZXN0IC1mIGZyb3R6L25pdGZvbAorCXRlc3RfcGF0aF9pc19kaXIgZnJvdHogJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBmcm90ei9uaXRmb2wKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnUmVjdXJzaXZlIHdpdGggLXIgYnV0IGRpcnR5JyAnCiAJZWNobyBxZndmcSA+PmZyb3R6L25pdGZvbCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBybSAtciBmcm90eiAmJgotCXRlc3QgLWQgZnJvdHogJiYKLQl0ZXN0IC1mIGZyb3R6L25pdGZvbAorCXRlc3RfcGF0aF9pc19kaXIgZnJvdHogJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBmcm90ei9uaXRmb2wKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnUmVjdXJzaXZlIHdpdGggLXIgLWYnICcKIAlnaXQgcm0gLWYgLXIgZnJvdHogJiYKLQkhIHRlc3QgLWYgZnJvdHovbml0Zm9sICYmCi0JISB0ZXN0IC1kIGZyb3R6CisJdGVzdF9wYXRoX2lzX21pc3NpbmcgZnJvdHovbml0Zm9sICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgZnJvdHoKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnUmVtb3ZlIG5vbmV4aXN0ZW50IGZpbGUgcmV0dXJucyBub256ZXJvIGV4aXQgc3RhdHVzJyAnCkBAIC0yMTcsNDQgKzIxOSw2MiBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdDYWxsICJybSIgZnJvbSBvdXRzaWRlIHRoZSB3b3JrIHRyZWUnICcKIAlta2RpciByZXBvICYmCi0JKGNkIHJlcG8gJiYKLQkgZ2l0IGluaXQgJiYKLQkgZWNobyBzb21ldGhpbmcgPnNvbWVmaWxlICYmCi0JIGdpdCBhZGQgc29tZWZpbGUgJiYKLQkgZ2l0IGNvbW1pdCAtbSAiYWRkIGEgZmlsZSIgJiYKLQkgKGNkIC4uICYmCi0JICBnaXQgLS1naXQtZGlyPXJlcG8vLmdpdCAtLXdvcmstdHJlZT1yZXBvIHJtIHNvbWVmaWxlKSAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCBscy1maWxlcyAtLWVycm9yLXVubWF0Y2ggc29tZWZpbGUpCisJKAorCQljZCByZXBvICYmCisJCWdpdCBpbml0ICYmCisJCWVjaG8gc29tZXRoaW5nID5zb21lZmlsZSAmJgorCQlnaXQgYWRkIHNvbWVmaWxlICYmCisJCWdpdCBjb21taXQgLW0gImFkZCBhIGZpbGUiICYmCisJCSgKKwkJCWNkIC4uICYmCisJCQlnaXQgLS1naXQtZGlyPXJlcG8vLmdpdCAtLXdvcmstdHJlZT1yZXBvIHJtIHNvbWVmaWxlCisJCSkgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGxzLWZpbGVzIC0tZXJyb3ItdW5tYXRjaCBzb21lZmlsZQorCSkKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVmcmVzaCBpbmRleCBiZWZvcmUgY2hlY2tpbmcgaWYgaXQgaXMgdXAtdG8tZGF0ZScgJwotCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCXRlc3QtdG9vbCBjaG10aW1lIC04NjQwMCBmcm90ei9uaXRmb2wgJiYKIAlnaXQgcm0gZnJvdHovbml0Zm9sICYmCi0JdGVzdCAhIC1mIGZyb3R6L25pdGZvbAotCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgZnJvdHovbml0Zm9sCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Nob2tpbmcgImdpdCBybSIgc2hvdWxkIG5vdCBsZXQgaXQgZGllIHdpdGggY3J1ZnQnICcKKwl0ZXN0X29pZF9pbml0ICYmCiAJZ2l0IHJlc2V0IC1xIC0taGFyZCAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgLmdpdC9pbmRleC5sb2NrICYmIGdpdCByZXNldCAtcSAtLWhhcmQiICYmCiAJaT0wICYmCisJaGFzaD0kKHRlc3Rfb2lkIGRlYWRiZWVmKSAmJgogCXdoaWxlIHRlc3QgJGkgLWx0IDEyMDAwCiAJZG8KLQkgICAgZWNobyAiMTAwNjQ0IDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAgMAlzb21lLWZpbGUtJGkiCi0JICAgIGk9JCgoICRpICsgMSApKQorCQllY2hvICIxMDA2NDQgJGhhc2ggMAlzb21lLWZpbGUtJGkiCisJCWk9JCgoICRpICsgMSApKQogCWRvbmUgfCBnaXQgdXBkYXRlLWluZGV4IC0taW5kZXgtaW5mbyAmJgorCSMgZ2l0IGNvbW1hbmQgaXMgaW50ZW50aW9uYWxseSBwbGFjZWQgdXBzdHJlYW0gb2YgcGlwZSB0byBpbmR1Y2UgU0lHUElQRQogCWdpdCBybSAtbiAic29tZS1maWxlLSoiIHwgOiAmJgogCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvaW5kZXgubG9jawogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdSZXNvbHZpbmcgYnkgcmVtb3ZhbCBpcyBub3QgYSB3YXJuaW5nLXdvcnRoeSBldmVudCcgJworCWdpdCByZXNldCAtcSAtLWhhcmQgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIC5naXQvaW5kZXgubG9jayBtc2cgJiYgZ2l0IHJlc2V0IC1xIC0taGFyZCIgJiYKKwlibG9iPSQoZWNobyBibG9iIHwgZ2l0IGhhc2gtb2JqZWN0IC13IC0tc3RkaW4pICYmCisJZm9yIHN0YWdlIGluIDEgMiAzCisJZG8KKwkJZWNobyAiMTAwNjQ0ICRibG9iICRzdGFnZQlibG9iIgorCWRvbmUgfCBnaXQgdXBkYXRlLWluZGV4IC0taW5kZXgtaW5mbyAmJgorCWdpdCBybSBibG9iID5tc2cgMj4mMSAmJgorCXRlc3RfaTE4bmdyZXAgISAibmVlZHMgbWVyZ2UiIG1zZyAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBscy1maWxlcyAtcyAtLWVycm9yLXVubWF0Y2ggYmxvYgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdybSByZW1vdmVzIHN1YmRpcmVjdG9yaWVzIHJlY3Vyc2l2ZWx5JyAnCiAJbWtkaXIgLXAgZGlyL3N1YmRpci9zdWJzdWJkaXIgJiYKIAllY2hvIGNvbnRlbnQgPmRpci9zdWJkaXIvc3Vic3ViZGlyL2ZpbGUgJiYKIAlnaXQgYWRkIGRpci9zdWJkaXIvc3Vic3ViZGlyL2ZpbGUgJiYKIAlnaXQgcm0gLWYgZGlyL3N1YmRpci9zdWJzdWJkaXIvZmlsZSAmJgotCSEgdGVzdCAtZCBkaXIKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBkaXIKICcKIAogY2F0ID5leHBlY3QgPDxFT0YKQEAgLTI4NSwxNCArMzA1LDE1IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JtIHJlbW92ZXMgZW1wdHkgc3VibW9kdWxlcyBmcm9tIHdvcmsgdHJlZScgJwogCW1rZGlyIHN1Ym1vZCAmJgotCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgLS1jYWNoZWluZm8gMTYwMDAwICQoZ2l0IHJldi1wYXJzZSBIRUFEKSBzdWJtb2QgJiYKKwloYXNoPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgLS1jYWNoZWluZm8gMTYwMDAwICIkaGFzaCIgc3VibW9kICYmCiAJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc3ViLnVybCAuLy4gJiYKIAlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIucGF0aCBzdWJtb2QgJiYKIAlnaXQgc3VibW9kdWxlIGluaXQgJiYKIAlnaXQgYWRkIC5naXRtb2R1bGVzICYmCiAJZ2l0IGNvbW1pdCAtbSAiYWRkIHN1Ym1vZHVsZSIgJiYKIAlnaXQgcm0gc3VibW9kICYmCi0JdGVzdCAhIC1lIHN1Ym1vZCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHN1Ym1vZCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIudXJsICYmCkBAIC0zMTQsNyArMzM1LDcgQEAKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgJiYKIAlnaXQgcm0gc3VibW9kICYmCi0JdGVzdCAhIC1kIHN1Ym1vZCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHN1Ym1vZCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIudXJsICYmCkBAIC0zMjUsNyArMzQ2LDcgQEAKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgJiYKIAlnaXQgcm0gc3VibW9kLyAmJgotCXRlc3QgISAtZCBzdWJtb2QgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBzdWJtb2QgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCkBAIC0zNDMsMTIgKzM2NCwxMiBAQAogCWdpdCBzdWJtb2R1bGUgdXBkYXRlICYmCiAJZ2l0IC1DIHN1Ym1vZCBjaGVja291dCBIRUFEXiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBybSBzdWJtb2QgJiYKLQl0ZXN0IC1kIHN1Ym1vZCAmJgotCXRlc3QgLWYgc3VibW9kLy5naXQgJiYKKwl0ZXN0X3BhdGhfaXNfZGlyIHN1Ym1vZCAmJgorCXRlc3RfcGF0aF9pc19maWxlIHN1Ym1vZC8uZ2l0ICYmCiAJZ2l0IHN0YXR1cyAtcyAtdW5vIC0taWdub3JlLXN1Ym1vZHVsZXM9bm9uZSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0Lm1vZGlmaWVkIGFjdHVhbCAmJgogCWdpdCBybSAtZiBzdWJtb2QgJiYKLQl0ZXN0ICEgLWQgc3VibW9kICYmCisJdGVzdF9wYXRoX2lzX21pc3Npbmcgc3VibW9kICYmCiAJZ2l0IHN0YXR1cyAtcyAtdW5vIC0taWdub3JlLXN1Ym1vZHVsZXM9bm9uZSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnN1Yi51cmwgJiYKQEAgLTM1OSw4ICszODAsOCBAQAogCWdpdCByZXNldCAtLWhhcmQgJiYKIAlnaXQgc3VibW9kdWxlIHVwZGF0ZSAmJgogCWdpdCBybSAtLWNhY2hlZCBzdWJtb2QgJiYKLQl0ZXN0IC1kIHN1Ym1vZCAmJgotCXRlc3QgLWYgc3VibW9kLy5naXQgJiYKKwl0ZXN0X3BhdGhfaXNfZGlyIHN1Ym1vZCAmJgorCXRlc3RfcGF0aF9pc19maWxlIHN1Ym1vZC8uZ2l0ICYmCiAJZ2l0IHN0YXR1cyAtcyAtdW5vID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QuY2FjaGVkIGFjdHVhbCAmJgogCWdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnN1Yi51cmwgJiYKQEAgLTM3MSw3ICszOTIsNyBAQAogCWdpdCByZXNldCAtLWhhcmQgJiYKIAlnaXQgc3VibW9kdWxlIHVwZGF0ZSAmJgogCWdpdCBybSAtbiBzdWJtb2QgJiYKLQl0ZXN0IC1mIHN1Ym1vZC8uZ2l0ICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgc3VibW9kLy5naXQgJiYKIAlnaXQgZGlmZi1pbmRleCAtLWV4aXQtY29kZSBIRUFECiAnCiAKQEAgLTM4MSw4ICs0MDIsOCBAQAogCWdpdCBybSAuZ2l0bW9kdWxlcyAmJgogCWdpdCBybSBzdWJtb2QgPmFjdHVhbCAyPmFjdHVhbC5lcnIgJiYKIAl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsLmVyciAmJgotCSEgdGVzdCAtZCBzdWJtb2QgJiYKLQkhIHRlc3QgLWYgc3VibW9kLy5naXQgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBzdWJtb2QgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBzdWJtb2QvLmdpdCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0LmJvdGhfZGVsZXRlZCBhY3R1YWwKICcKQEAgLTM5MiwxOCArNDEzLDI1IEBACiAJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgJiYKIAlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIGZvby5iYXIgdHJ1ZSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBybSBzdWJtb2QgPmFjdHVhbCAyPmFjdHVhbC5lcnIgJiYKLQl0ZXN0IC1zIGFjdHVhbC5lcnIgJiYKLQl0ZXN0IC1kIHN1Ym1vZCAmJgotCXRlc3QgLWYgc3VibW9kLy5naXQgJiYKKwl0ZXN0X2ZpbGVfbm90X2VtcHR5IGFjdHVhbC5lcnIgJiYKKwl0ZXN0X3BhdGhfaXNfZGlyIHN1Ym1vZCAmJgorCXRlc3RfcGF0aF9pc19maWxlIHN1Ym1vZC8uZ2l0ICYmCiAJZ2l0IGRpZmYtZmlsZXMgLS1xdWlldCAtLSBzdWJtb2QgJiYKIAlnaXQgYWRkIC5naXRtb2R1bGVzICYmCiAJZ2l0IHJtIHN1Ym1vZCA+YWN0dWFsIDI+YWN0dWFsLmVyciAmJgogCXRlc3RfbXVzdF9iZV9lbXB0eSBhY3R1YWwuZXJyICYmCi0JISB0ZXN0IC1kIHN1Ym1vZCAmJgotCSEgdGVzdCAtZiBzdWJtb2QvLmdpdCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHN1Ym1vZCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHN1Ym1vZC8uZ2l0ICYmCiAJZ2l0IHN0YXR1cyAtcyAtdW5vID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdybSB3aWxsIG5vdCBlcnJvciBvdXQgb24gLmdpdG1vZHVsZXMgZmlsZSB3aXRoIHplcm8gc3RhdCBkYXRhJyAnCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWdpdCBzdWJtb2R1bGUgdXBkYXRlICYmCisJZ2l0IHJlYWQtdHJlZSBIRUFEICYmCisJZ2l0IHJtIHN1Ym1vZCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHN1Ym1vZAorJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdybSBpc3N1ZXMgYSB3YXJuaW5nIHdoZW4gc2VjdGlvbiBpcyBub3QgZm91bmQgaW4gLmdpdG1vZHVsZXMnICcKIAlnaXQgcmVzZXQgLS1oYXJkICYmCkBAIC00MTMsOCArNDQxLDggQEAKIAllY2hvICJ3YXJuaW5nOiBDb3VsZCBub3QgZmluZCBzZWN0aW9uIGluIC5naXRtb2R1bGVzIHdoZXJlIHBhdGg9c3VibW9kIiA+ZXhwZWN0LmVyciAmJgogCWdpdCBybSBzdWJtb2QgPmFjdHVhbCAyPmFjdHVhbC5lcnIgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0LmVyciBhY3R1YWwuZXJyICYmCi0JISB0ZXN0IC1kIHN1Ym1vZCAmJgotCSEgdGVzdCAtZiBzdWJtb2QvLmdpdCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHN1Ym1vZCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHN1Ym1vZC8uZ2l0ICYmCiAJZ2l0IHN0YXR1cyAtcyAtdW5vID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCkBAIC00MjQsMTIgKzQ1MiwxMiBAQAogCWdpdCBzdWJtb2R1bGUgdXBkYXRlICYmCiAJZWNobyBYID5zdWJtb2QvZW1wdHkgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcm0gc3VibW9kICYmCi0JdGVzdCAtZCBzdWJtb2QgJiYKLQl0ZXN0IC1mIHN1Ym1vZC8uZ2l0ICYmCisJdGVzdF9wYXRoX2lzX2RpciBzdWJtb2QgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBzdWJtb2QvLmdpdCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdC5tb2RpZmllZF9pbnNpZGUgYWN0dWFsICYmCiAJZ2l0IHJtIC1mIHN1Ym1vZCAmJgotCXRlc3QgISAtZCBzdWJtb2QgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBzdWJtb2QgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCkBAIC00MzksMTIgKzQ2NywxMiBAQAogCWdpdCBzdWJtb2R1bGUgdXBkYXRlICYmCiAJZWNobyBYID5zdWJtb2QvdW50cmFja2VkICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJtIHN1Ym1vZCAmJgotCXRlc3QgLWQgc3VibW9kICYmCi0JdGVzdCAtZiBzdWJtb2QvLmdpdCAmJgorCXRlc3RfcGF0aF9pc19kaXIgc3VibW9kICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgc3VibW9kLy5naXQgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QubW9kaWZpZWRfdW50cmFja2VkIGFjdHVhbCAmJgogCWdpdCBybSAtZiBzdWJtb2QgJiYKLQl0ZXN0ICEgLWQgc3VibW9kICYmCisJdGVzdF9wYXRoX2lzX21pc3Npbmcgc3VibW9kICYmCiAJZ2l0IHN0YXR1cyAtcyAtdW5vIC0taWdub3JlLXN1Ym1vZHVsZXM9bm9uZSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwpAQCAtNDgxLDcgKzUwOSw3IEBACiAJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgY29uZmxpY3QyICYmCiAJZ2l0IHJtIHN1Ym1vZCAmJgotCXRlc3QgISAtZCBzdWJtb2QgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBzdWJtb2QgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCkBAIC00OTMsMTIgKzUyMSwxMiBAQAogCWdpdCAtQyBzdWJtb2QgY2hlY2tvdXQgSEVBRF4gJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgY29uZmxpY3QyICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJtIHN1Ym1vZCAmJgotCXRlc3QgLWQgc3VibW9kICYmCi0JdGVzdCAtZiBzdWJtb2QvLmdpdCAmJgorCXRlc3RfcGF0aF9pc19kaXIgc3VibW9kICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgc3VibW9kLy5naXQgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QuY29uZmxpY3QgYWN0dWFsICYmCiAJZ2l0IHJtIC1mIHN1Ym1vZCAmJgotCXRlc3QgISAtZCBzdWJtb2QgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBzdWJtb2QgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyBzdWJtb2R1bGUuc3ViLnVybCAmJgpAQCAtNTEyLDEyICs1NDAsMTIgQEAKIAllY2hvIFggPnN1Ym1vZC9lbXB0eSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBjb25mbGljdDIgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcm0gc3VibW9kICYmCi0JdGVzdCAtZCBzdWJtb2QgJiYKLQl0ZXN0IC1mIHN1Ym1vZC8uZ2l0ICYmCisJdGVzdF9wYXRoX2lzX2RpciBzdWJtb2QgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBzdWJtb2QvLmdpdCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdC5jb25mbGljdCBhY3R1YWwgJiYKIAlnaXQgcm0gLWYgc3VibW9kICYmCi0JdGVzdCAhIC1kIHN1Ym1vZCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHN1Ym1vZCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIudXJsICYmCkBAIC01MzEsMTIgKzU1OSwxMiBAQAogCWVjaG8gWCA+c3VibW9kL3VudHJhY2tlZCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBjb25mbGljdDIgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcm0gc3VibW9kICYmCi0JdGVzdCAtZCBzdWJtb2QgJiYKLQl0ZXN0IC1mIHN1Ym1vZC8uZ2l0ICYmCisJdGVzdF9wYXRoX2lzX2RpciBzdWJtb2QgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBzdWJtb2QvLmdpdCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdC5jb25mbGljdCBhY3R1YWwgJiYKIAlnaXQgcm0gLWYgc3VibW9kICYmCi0JdGVzdCAhIC1kIHN1Ym1vZCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHN1Ym1vZCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKQEAgLTU0NSwyMCArNTczLDIxIEBACiAJZ2l0IGNoZWNrb3V0IGNvbmZsaWN0MSAmJgogCWdpdCByZXNldCAtLWhhcmQgJiYKIAlnaXQgc3VibW9kdWxlIHVwZGF0ZSAmJgotCShjZCBzdWJtb2QgJiYKKwkoCisJCWNkIHN1Ym1vZCAmJgogCQlybSAuZ2l0ICYmCiAJCWNwIC1SIC4uLy5naXQvbW9kdWxlcy9zdWIgLmdpdCAmJgogCQlHSVRfV09SS19UUkVFPS4gZ2l0IGNvbmZpZyAtLXVuc2V0IGNvcmUud29ya3RyZWUKIAkpICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIGNvbmZsaWN0MiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBybSBzdWJtb2QgJiYKLQl0ZXN0IC1kIHN1Ym1vZCAmJgotCXRlc3QgLWQgc3VibW9kLy5naXQgJiYKKwl0ZXN0X3BhdGhfaXNfZGlyIHN1Ym1vZCAmJgorCXRlc3RfcGF0aF9pc19kaXIgc3VibW9kLy5naXQgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QuY29uZmxpY3QgYWN0dWFsICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJtIC1mIHN1Ym1vZCAmJgotCXRlc3QgLWQgc3VibW9kICYmCi0JdGVzdCAtZCBzdWJtb2QvLmdpdCAmJgorCXRlc3RfcGF0aF9pc19kaXIgc3VibW9kICYmCisJdGVzdF9wYXRoX2lzX2RpciBzdWJtb2QvLmdpdCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdC5jb25mbGljdCBhY3R1YWwgJiYKIAlnaXQgbWVyZ2UgLS1hYm9ydCAmJgpAQCAtNTcwLDcgKzU5OSw3IEBACiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBjb25mbGljdDIgJiYKIAlnaXQgcm0gc3VibW9kICYmCi0JdGVzdCAhIC1kIHN1Ym1vZCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHN1Ym1vZCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKQEAgLTU3OSwxNyArNjA4LDE4IEBACiAJZ2l0IGNoZWNrb3V0IC1mIG1hc3RlciAmJgogCWdpdCByZXNldCAtLWhhcmQgJiYKIAlnaXQgc3VibW9kdWxlIHVwZGF0ZSAmJgotCShjZCBzdWJtb2QgJiYKKwkoCisJCWNkIHN1Ym1vZCAmJgogCQlybSAuZ2l0ICYmCiAJCWNwIC1SIC4uLy5naXQvbW9kdWxlcy9zdWIgLmdpdCAmJgogCQlHSVRfV09SS19UUkVFPS4gZ2l0IGNvbmZpZyAtLXVuc2V0IGNvcmUud29ya3RyZWUgJiYKIAkJcm0gLXIgLi4vLmdpdC9tb2R1bGVzL3N1YgogCSkgJiYKIAlnaXQgcm0gc3VibW9kIDI+b3V0cHV0LmVyciAmJgotCSEgdGVzdCAtZCBzdWJtb2QgJiYKLQkhIHRlc3QgLWQgc3VibW9kLy5naXQgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBzdWJtb2QgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBzdWJtb2QvLmdpdCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgotCXRlc3QgLXMgYWN0dWFsICYmCisJdGVzdF9maWxlX25vdF9lbXB0eSBhY3R1YWwgJiYKIAl0ZXN0X2kxOG5ncmVwIE1pZ3JhdGluZyBvdXRwdXQuZXJyCiAnCiAKQEAgLTYwMCw4ICs2MzAsMTAgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHN1YnN1Ym1vZHVsZScgJwogCWdpdCByZXNldCAtLWhhcmQgJiYKIAlnaXQgc3VibW9kdWxlIHVwZGF0ZSAmJgotCShjZCBzdWJtb2QgJiYKLQkJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCAtLWNhY2hlaW5mbyAxNjAwMDAgJChnaXQgcmV2LXBhcnNlIEhFQUQpIHN1YnN1Ym1vZCAmJgorCSgKKwkJY2Qgc3VibW9kICYmCisJCWhhc2g9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisJCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgLS1jYWNoZWluZm8gMTYwMDAwICIkaGFzaCIgc3Vic3VibW9kICYmCiAJCWdpdCBjb25maWcgLWYgLmdpdG1vZHVsZXMgc3VibW9kdWxlLnN1Yi51cmwgLi4vLiAmJgogCQlnaXQgY29uZmlnIC1mIC5naXRtb2R1bGVzIHN1Ym1vZHVsZS5zdWIucGF0aCBzdWJzdWJtb2QgJiYKIAkJZ2l0IHN1Ym1vZHVsZSBpbml0ICYmCkBAIC02MTQsNyArNjQ2LDcgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncm0gcmVjdXJzaXZlbHkgcmVtb3ZlcyB3b3JrIHRyZWUgb2YgdW5tb2RpZmllZCBzdWJtb2R1bGVzJyAnCiAJZ2l0IHJtIHN1Ym1vZCAmJgotCXRlc3QgISAtZCBzdWJtb2QgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBzdWJtb2QgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCkBAIC02MjQsMTIgKzY1NiwxMiBAQAogCWdpdCBzdWJtb2R1bGUgdXBkYXRlIC0tcmVjdXJzaXZlICYmCiAJZ2l0IC1DIHN1Ym1vZC9zdWJzdWJtb2QgY2hlY2tvdXQgSEVBRF4gJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcm0gc3VibW9kICYmCi0JdGVzdCAtZCBzdWJtb2QgJiYKLQl0ZXN0IC1mIHN1Ym1vZC8uZ2l0ICYmCisJdGVzdF9wYXRoX2lzX2RpciBzdWJtb2QgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBzdWJtb2QvLmdpdCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdC5tb2RpZmllZF9pbnNpZGUgYWN0dWFsICYmCiAJZ2l0IHJtIC1mIHN1Ym1vZCAmJgotCXRlc3QgISAtZCBzdWJtb2QgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBzdWJtb2QgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCkBAIC02MzksMTIgKzY3MSwxMiBAQAogCWdpdCBzdWJtb2R1bGUgdXBkYXRlIC0tcmVjdXJzaXZlICYmCiAJZWNobyBYID5zdWJtb2Qvc3Vic3VibW9kL2VtcHR5ICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJtIHN1Ym1vZCAmJgotCXRlc3QgLWQgc3VibW9kICYmCi0JdGVzdCAtZiBzdWJtb2QvLmdpdCAmJgorCXRlc3RfcGF0aF9pc19kaXIgc3VibW9kICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgc3VibW9kLy5naXQgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QubW9kaWZpZWRfaW5zaWRlIGFjdHVhbCAmJgogCWdpdCBybSAtZiBzdWJtb2QgJiYKLQl0ZXN0ICEgLWQgc3VibW9kICYmCisJdGVzdF9wYXRoX2lzX21pc3Npbmcgc3VibW9kICYmCiAJZ2l0IHN0YXR1cyAtcyAtdW5vIC0taWdub3JlLXN1Ym1vZHVsZXM9bm9uZSA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwpAQCAtNjU0LDEyICs2ODYsMTIgQEAKIAlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtLXJlY3Vyc2l2ZSAmJgogCWVjaG8gWCA+c3VibW9kL3N1YnN1Ym1vZC91bnRyYWNrZWQgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcm0gc3VibW9kICYmCi0JdGVzdCAtZCBzdWJtb2QgJiYKLQl0ZXN0IC1mIHN1Ym1vZC8uZ2l0ICYmCisJdGVzdF9wYXRoX2lzX2RpciBzdWJtb2QgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBzdWJtb2QvLmdpdCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdC5tb2RpZmllZF91bnRyYWNrZWQgYWN0dWFsICYmCiAJZ2l0IHJtIC1mIHN1Ym1vZCAmJgotCXRlc3QgISAtZCBzdWJtb2QgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBzdWJtb2QgJiYKIAlnaXQgc3RhdHVzIC1zIC11bm8gLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCkBAIC02NjcsMTYgKzY5OSwxNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAicm0gYWJzb3JicyBzdWJtb2R1bGUncyBuZXN0ZWQgLmdpdCBkaXJlY3RvcnkiICcKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLS1yZWN1cnNpdmUgJiYKLQkoY2Qgc3VibW9kL3N1YnN1Ym1vZCAmJgorCSgKKwkJY2Qgc3VibW9kL3N1YnN1Ym1vZCAmJgogCQlybSAuZ2l0ICYmCiAJCW12IC4uLy4uLy5naXQvbW9kdWxlcy9zdWIvbW9kdWxlcy9zdWIgLmdpdCAmJgogCQlHSVRfV09SS19UUkVFPS4gZ2l0IGNvbmZpZyAtLXVuc2V0IGNvcmUud29ya3RyZWUKIAkpICYmCiAJZ2l0IHJtIHN1Ym1vZCAyPm91dHB1dC5lcnIgJiYKLQkhIHRlc3QgLWQgc3VibW9kICYmCi0JISB0ZXN0IC1kIHN1Ym1vZC9zdWJzdWJtb2QvLmdpdCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHN1Ym1vZCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHN1Ym1vZC9zdWJzdWJtb2QvLmdpdCAmJgogCWdpdCBzdGF0dXMgLXMgLXVubyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgPmFjdHVhbCAmJgotCXRlc3QgLXMgYWN0dWFsICYmCisJdGVzdF9maWxlX25vdF9lbXB0eSBhY3R1YWwgJiYKIAl0ZXN0X2kxOG5ncmVwIE1pZ3JhdGluZyBvdXRwdXQuZXJyCiAnCiAKZGlmZiAtLWdpdCBhL3QvdDM2MDEtcm0tcGF0aHNwZWMtZmlsZS5zaCBiL3QvdDM2MDEtcm0tcGF0aHNwZWMtZmlsZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZGUyMWY4Ci0tLSAvZGV2L251bGwKKysrIGIvdC90MzYwMS1ybS1wYXRoc3BlYy1maWxlLnNoCkBAIC0wLDAgKzEsNzkgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdybSAtLXBhdGhzcGVjLWZyb20tZmlsZScKKworLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfdGljaworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIHNldHVwICcKKwllY2hvIEEgPmZpbGVBLnQgJiYKKwllY2hvIEIgPmZpbGVCLnQgJiYKKwllY2hvIEMgPmZpbGVDLnQgJiYKKwllY2hvIEQgPmZpbGVELnQgJiYKKwlnaXQgYWRkIGZpbGVBLnQgZmlsZUIudCBmaWxlQy50IGZpbGVELnQgJiYKKwlnaXQgY29tbWl0IC1tICJmaWxlcyIgJiYKKworCWdpdCB0YWcgY2hlY2twb2ludAorJworCityZXN0b3JlX2NoZWNrcG9pbnQgKCkgeworCWdpdCByZXNldCAtLWhhcmQgY2hlY2twb2ludAorfQorCit2ZXJpZnlfZXhwZWN0ICgpIHsKKwlnaXQgc3RhdHVzIC0tcG9yY2VsYWluIC0tdW50cmFja2VkLWZpbGVzPW5vIC0tIGZpbGVBLnQgZmlsZUIudCBmaWxlQy50IGZpbGVELnQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2ltcGxlc3QnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlEICBmaWxlQS50CisJRU9GCisKKwllY2hvIGZpbGVBLnQgfCBnaXQgcm0gLS1wYXRoc3BlYy1mcm9tLWZpbGU9LSAmJgorCXZlcmlmeV9leHBlY3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1wYXRoc3BlYy1maWxlLW51bCcgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCUQgIGZpbGVBLnQKKwlEICBmaWxlQi50CisJRU9GCisKKwlwcmludGYgImZpbGVBLnRcMGZpbGVCLnRcMCIgfCBnaXQgcm0gLS1wYXRoc3BlYy1mcm9tLWZpbGU9LSAtLXBhdGhzcGVjLWZpbGUtbnVsICYmCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdvbmx5IHRvdWNoZXMgd2hhdCB3YXMgbGlzdGVkJyAnCisJcmVzdG9yZV9jaGVja3BvaW50ICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJRCAgZmlsZUIudAorCUQgIGZpbGVDLnQKKwlFT0YKKworCXByaW50ZiAiZmlsZUIudFxuZmlsZUMudFxuIiB8IGdpdCBybSAtLXBhdGhzcGVjLWZyb20tZmlsZT0tICYmCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdlcnJvciBjb25kaXRpb25zJyAnCisJcmVzdG9yZV9jaGVja3BvaW50ICYmCisJZWNobyBmaWxlQS50ID5saXN0ICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgcm0gLS1wYXRoc3BlYy1mcm9tLWZpbGU9bGlzdCAtLSBmaWxlQS50IDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAtZSAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggcGF0aHNwZWMgYXJndW1lbnRzIiBlcnIgJiYKKworCXRlc3RfbXVzdF9mYWlsIGdpdCBybSAtLXBhdGhzcGVjLWZpbGUtbnVsIDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAtZSAiLS1wYXRoc3BlYy1maWxlLW51bCByZXF1aXJlcyAtLXBhdGhzcGVjLWZyb20tZmlsZSIgZXJyICYmCisKKwk+ZW1wdHlfbGlzdCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBybSAtLXBhdGhzcGVjLWZyb20tZmlsZT1lbXB0eV9saXN0IDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAtZSAiTm8gcGF0aHNwZWMgd2FzIGdpdmVuLiBXaGljaCBmaWxlcyBzaG91bGQgSSByZW1vdmU/IiBlcnIKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzNzAwLWFkZC5zaCBiL3QvdDM3MDAtYWRkLnNoCmluZGV4IDM3NzI5YmEuLjg4YmM3OTk4IDEwMDc1NQotLS0gYS90L3QzNzAwLWFkZC5zaAorKysgYi90L3QzNzAwLWFkZC5zaApAQCAtMjk2LDYgKzI5NiwxNyBAQAogCSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZXJyb3Igb24gYSByZXBvc2l0b3J5IHdpdGggbm8gY29tbWl0cycgJworCXJtIC1mciBlbXB0eSAmJgorCWdpdCBpbml0IGVtcHR5ICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGFkZCBlbXB0eSA+YWN0dWFsIDI+JjEgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwllcnJvcjogJyInZW1wdHkvJyInIGRvZXMgbm90IGhhdmUgYSBjb21taXQgY2hlY2tlZCBvdXQKKwlmYXRhbDogYWRkaW5nIGZpbGVzIGZhaWxlZAorCUVPRgorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBhZGQgLS1kcnktcnVuIG9mIGV4aXN0aW5nIGNoYW5nZWQgZmlsZScgIgogCWVjaG8gbmV3ID4+dHJhY2stdGhpcyAmJgogCWdpdCBhZGQgLS1kcnktcnVuIHRyYWNrLXRoaXMgPmFjdHVhbCAyPiYxICYmCkBAIC0zMTUsNyArMzI2LDkgQEAKIGNhdCA+ZXhwZWN0LmVyciA8PFxFT0YKIFRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczoKIGlnbm9yZWQtZmlsZQotVXNlIC1mIGlmIHlvdSByZWFsbHkgd2FudCB0byBhZGQgdGhlbS4KK2hpbnQ6IFVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIHRoZW0uCitoaW50OiBUdXJuIHRoaXMgbWVzc2FnZSBvZmYgYnkgcnVubmluZworaGludDogImdpdCBjb25maWcgYWR2aWNlLmFkZElnbm9yZWRGaWxlIGZhbHNlIgogRU9GCiBjYXQgPmV4cGVjdC5vdXQgPDxcRU9GCiBhZGQgJ3RyYWNrLXRoaXMnCkBAIC0zOTYsMTAgKzQwOSwxOCBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhbGwgc3RhdHVzZXMgY2hhbmdlZCBpbiBmb2xkZXIgaWYgLiBpcyBnaXZlbicgJworCXJtIC1mciBlbXB0eSAmJgogCWdpdCBhZGQgLS1jaG1vZD0reCAuICYmCiAJdGVzdCAkKGdpdCBscy1maWxlcyAtLXN0YWdlIHwgZ3JlcCBeMTAwNjQ0IHwgd2MgLWwpIC1lcSAwICYmCiAJZ2l0IGFkZCAtLWNobW9kPS14IC4gJiYKIAl0ZXN0ICQoZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgfCBncmVwIF4xMDA3NTUgfCB3YyAtbCkgLWVxIDAKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyBDQVNFX0lOU0VOU0lUSVZFX0ZTICdwYXRoIGlzIGNhc2UtaW5zZW5zaXRpdmUnICcKKwlwYXRoPSIkKHB3ZCkvQkxVQiIgJiYKKwl0b3VjaCAiJHBhdGgiICYmCisJZG93bmNhc2VkPSIkKGVjaG8gIiRwYXRoIiB8IHRyIEEtWiBhLXopIiAmJgorCWdpdCBhZGQgIiRkb3duY2FzZWQiCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzcwMS1hZGQtaW50ZXJhY3RpdmUuc2ggYi90L3QzNzAxLWFkZC1pbnRlcmFjdGl2ZS5zaAppbmRleCA2NWRmYmMwLi41YmFlNmU1IDEwMDc1NQotLS0gYS90L3QzNzAxLWFkZC1pbnRlcmFjdGl2ZS5zaAorKysgYi90L3QzNzAxLWFkZC1pbnRlcmFjdGl2ZS5zaApAQCAtMjMsNiArMjMsMTcgQEAKIAl0ZXN0X2NtcCAiJDEuZmlsdGVyZWQiICIkMi5maWx0ZXJlZCIKIH0KIAorIyBUaGlzIGZ1bmN0aW9uIHVzZXMgYSB0cmljayB0byBtYW5pcHVsYXRlIHRoZSBpbnRlcmFjdGl2ZSBhZGQgdG8gdXNlIGNvbG9yOgorIyB0aGUgYHdhbnRfY29sb3IoKWAgZnVuY3Rpb24gc3BlY2lhbC1jYXNlcyB0aGUgc2l0dWF0aW9uIHdoZXJlIGEgcGFnZXIgd2FzCisjIHNwYXduZWQgYW5kIEdpdCBub3cgd2FudHMgdG8gb3V0cHV0IGNvbG9yZWQgdGV4dDogdG8gZGV0ZWN0IHRoYXQgc2l0dWF0aW9uLAorIyB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgYEdJVF9QQUdFUl9JTl9VU0VgIGlzIHNldC4gSG93ZXZlciwgY29sb3IgaXMKKyMgc3VwcHJlc3NlZCBkZXNwaXRlIHRoYXQgZW52aXJvbm1lbnQgdmFyaWFibGUgaWYgdGhlIGBURVJNYCB2YXJpYWJsZQorIyBpbmRpY2F0ZXMgYSBkdW1iIHRlcm1pbmFsLCBzbyB3ZSBzZXQgdGhhdCB2YXJpYWJsZSwgdG9vLgorCitmb3JjZV9jb2xvciAoKSB7CisJZW52IEdJVF9QQUdFUl9JTl9VU0U9dHJ1ZSBURVJNPXZ0MTAwICIkQCIKK30KKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgKGluaXRpYWwpJyAnCiAJZWNobyBjb250ZW50ID5maWxlICYmCiAJZ2l0IGFkZCBmaWxlICYmCkBAIC01Nyw2ICs2OCwxNSBAQAogCSEgZ3JlcCAuIG91dHB1dAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhZGQgdW50cmFja2VkIChtdWx0aXBsZSknICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCAmJiBybSBbMS05XSIgJiYKKwl0b3VjaCAkKHRlc3Rfc2VxIDkpICYmCisJdGVzdF93cml0ZV9saW5lcyBhICIyLTUgOC0iIHwgZ2l0IGFkZCAtaSAtLSBbMS05XSAmJgorCXRlc3Rfd3JpdGVfbGluZXMgMiAzIDQgNSA4IDkgPmV4cGVjdGVkICYmCisJZ2l0IGxzLWZpbGVzIFsxLTldID5vdXRwdXQgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBvdXRwdXQKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgKGNvbW1pdCknICcKIAllY2hvIGJhc2VsaW5lID5maWxlICYmCiAJZ2l0IGFkZCBmaWxlICYmCkBAIC05NCw3ICsxMTQsNiBAQAogCWdyZXAgInVuY2hhbmdlZCAqKzMvLTAgZmlsZSIgb3V0cHV0CiAnCiAKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgZXhwZWN0ZWQnICcKIAljYXQgPmV4cGVjdGVkIDw8LVxFT0YKIAlFT0YKQEAgLTI2Myw2ICsyODIsMzUgQEAKIAogIyBlbmQgb2YgdGVzdHMgZGlzYWJsZWQgd2hlbiBmaWxlbW9kZSBpcyBub3QgdXNhYmxlCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmZlcmVudCBwcm9tcHRzIGZvciBtb2RlIGNoYW5nZS9kZWxldGVkJyAnCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCT5maWxlICYmCisJPmRlbGV0ZWQgJiYKKwlnaXQgYWRkIC0tY2htb2Q9K3ggZmlsZSBkZWxldGVkICYmCisJZWNobyBjaGFuZ2VkID5maWxlICYmCisJcm0gZGVsZXRlZCAmJgorCXRlc3Rfd3JpdGVfbGluZXMgbiBuIG4gfAorCWdpdCAtYyBjb3JlLmZpbGVtb2RlPXRydWUgYWRkIC1wID5hY3R1YWwgJiYKKwlzZWQgLW4gInMvXlwoKFswLTkvXSopIFN0YWdlIC4qP1wpLiovXDEvcCIgYWN0dWFsID5hY3R1YWwuZmlsdGVyZWQgJiYKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJKDEvMSkgU3RhZ2UgZGVsZXRpb24gW3ksbixxLGEsZCw/XT8KKwkoMS8yKSBTdGFnZSBtb2RlIGNoYW5nZSBbeSxuLHEsYSxkLGosSixnLC8sP10/CisJKDIvMikgU3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQsSyxnLC8sZSw/XT8KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsLmZpbHRlcmVkCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvcnJlY3QgbWVzc2FnZSB3aGVuIHRoZXJlIGlzIG5vdGhpbmcgdG8gZG8nICcKKwlnaXQgcmVzZXQgLS1oYXJkICYmCisJZ2l0IGFkZCAtcCAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgIk5vIGNoYW5nZXMiIGVyciAmJgorCXByaW50ZiAiXFwwMTIzIiA+YmluYXJ5ICYmCisJZ2l0IGFkZCBiaW5hcnkgJiYKKwlwcmludGYgIlxcMGFiYyIgPmJpbmFyeSAmJgorCWdpdCBhZGQgLXAgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICJPbmx5IGJpbmFyeSBmaWxlcyBjaGFuZ2VkIiBlcnIKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgYWdhaW4nICcKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJdGVzdF9jaG1vZCAreCBmaWxlICYmCkBAIC0zMTQsNyArMzYyLDcgQEAKIAlnaXQgY29tbWl0IC1hbSAiY2xlYXIgbG9jYWwgY2hhbmdlcyIgJiYKIAlnaXQgYXBwbHkgcGF0Y2ggJiYKIAlwcmludGYgIiVzXG4iIHMgeSB5IHwgZ2l0IGFkZCAtcCBmaWxlIDI+ZXJyb3IgfAotCQlzZWQgLW4gLWUgInMvXlN0YWdlIHRoaXMgaHVua1teQF0qXChAQCAuKlwpL1wxLyIgXAorCQlzZWQgLW4gLWUgInMvXihbMS0yXVwvWzEtMl0pIFN0YWdlIHRoaXMgaHVua1teQF0qXChAQCAuKlwpL1wxLyIgXAogCQkgICAgICAgLWUgIi9eWy0rQCBcXFxcXSIvcCAgPm91dHB1dCAmJgogCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnJvciAmJgogCWdpdCBkaWZmIC0tY2FjaGVkID5kaWZmICYmCkBAIC0zNzQsNiArNDIyLDM2IEBACiAJdGVzdF93cml0ZV9saW5lcyAxMCAxNSAyMCAyMSAyMiAyMyAyNCAzMCA0MCA1MCA2MCA+dGVzdAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnb3RvIGh1bmsnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCIgJiYKKwl0ciBfICIgIiA+ZXhwZWN0IDw8LUVPRiAmJgorCSgyLzIpIFN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkLEssZywvLGUsP10/ICsgMTogIC0xLDIgKzEsMyAgICAgICAgICArMTUKKwlfIDI6ICAtMiw0ICszLDggICAgICAgICAgKzIxCisJZ28gdG8gd2hpY2ggaHVuaz8gQEAgLTEsMiArMSwzIEBACisJXzEwCisJKzE1CisJXzIwCisJKDEvMikgU3RhZ2UgdGhpcyBodW5rIFt5LG4scSxhLGQsaixKLGcsLyxlLD9dP18KKwlFT0YKKwl0ZXN0X3dyaXRlX2xpbmVzIHMgeSBnIDEgfCBnaXQgYWRkIC1wID5hY3R1YWwgJiYKKwl0YWlsIC1uIDcgPGFjdHVhbCA+YWN0dWFsLnRyaW1tZWQgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsLnRyaW1tZWQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbmF2aWdhdGUgdG8gaHVuayB2aWEgcmVnZXgnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCIgJiYKKwl0ciBfICIgIiA+ZXhwZWN0IDw8LUVPRiAmJgorCSgyLzIpIFN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkLEssZywvLGUsP10/IEBAIC0xLDIgKzEsMyBAQAorCV8xMAorCSsxNQorCV8yMAorCSgxLzIpIFN0YWdlIHRoaXMgaHVuayBbeSxuLHEsYSxkLGosSixnLC8sZSw/XT9fCisJRU9GCisJdGVzdF93cml0ZV9saW5lcyBzIHkgLzEsMiB8IGdpdCBhZGQgLXAgPmFjdHVhbCAmJgorCXRhaWwgLW4gNSA8YWN0dWFsID5hY3R1YWwudHJpbW1lZCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwudHJpbW1lZAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzcGxpdCBodW5rICJhZGQgLXAgKGVkaXQpIicgJwogCSMgU3BsaXQsIHNheSBFZGl0IGFuZCBkbyBub3RoaW5nLiAgVGhlbjoKIAkjCkBAIC00MDMsNiArNDgxLDQwIEBACiAJISBncmVwICJeKzMxIiBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3BsaXQgaHVuayB3aXRoIGluY29tcGxldGUgbGluZSBhdCBlbmQnICcKKwlnaXQgcmVzZXQgLS1oYXJkICYmCisJcHJpbnRmICJtaXNzaW5nIExGIiA+PnRlc3QgJiYKKwlnaXQgYWRkIHRlc3QgJiYKKwl0ZXN0X3dyaXRlX2xpbmVzIGJlZm9yZSAxMCAyMCAzMCA0MCA1MCA2MCA3MCA+dGVzdCAmJgorCWdpdCBncmVwIC0tY2FjaGVkIG1pc3NpbmcgJiYKKwl0ZXN0X3dyaXRlX2xpbmVzIHMgbiB5IHEgfCBnaXQgYWRkIC1wICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGdyZXAgLS1jYWNoZWQgbWlzc2luZyAmJgorCWdpdCBncmVwIGJlZm9yZSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBncmVwIC0tY2FjaGVkIGJlZm9yZQorJworCit0ZXN0X2V4cGVjdF9mYWlsdXJlICdlZGl0LCBhZGRpbmcgbGluZXMgdG8gdGhlIGZpcnN0IGh1bmsnICcKKwl0ZXN0X3dyaXRlX2xpbmVzIDEwIDExIDIwIDMwIDQwIDUwIDUxIDYwID50ZXN0ICYmCisJZ2l0IHJlc2V0ICYmCisJdHIgXyAiICIgPnBhdGNoIDw8LUVPRiAmJgorCUBAIC0xLDUgKzEsNiBAQAorCV8xMAorCSsxMQorCSsxMgorCV8yMAorCSsyMQorCSsyMgorCV8zMAorCUVPRgorCSMgdGVzdCBzZXF1ZW5jZSBpcyBzKHBsaXQpLCBlKGRpdCksIG4obykKKwkjIHEgbiBxIHEgaXMgdGhlcmUgdG8gbWFrZSBzdXJlIHdlIGV4aXQgYXQgdGhlIGVuZC4KKwlwcmludGYgIiVzXG4iIHMgZSBuICAgcSBuIHEgcSB8CisJRURJVE9SPS4vZmFrZV9lZGl0b3Iuc2ggZ2l0IGFkZCAtcCAyPmVycm9yICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGVycm9yICYmCisJZ2l0IGRpZmYgLS1jYWNoZWQgPmFjdHVhbCAmJgorCWdyZXAgIl4rMjIiIGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwYXRjaCBtb2RlIGlnbm9yZXMgdW5tZXJnZWQgZW50cmllcycgJwogCWdpdCByZXNldCAtLWhhcmQgJiYKIAl0ZXN0X2NvbW1pdCBjb25mbGljdCAmJgpAQCAtNDI5LDM1ICs1NDEsNjEgQEAKIAlkaWZmX2NtcCBleHBlY3RlZCBkaWZmCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgVFRZICdkaWZmcyBjYW4gYmUgY29sb3JpemVkJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmcyBjYW4gYmUgY29sb3JpemVkJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCiAJZWNobyBjb250ZW50ID50ZXN0ICYmCi0JcHJpbnRmIHkgfCB0ZXN0X3Rlcm1pbmFsIGdpdCBhZGQgLXAgPm91dHB1dCAyPiYxICYmCisJcHJpbnRmIHkgPnkgJiYKKwlmb3JjZV9jb2xvciBnaXQgYWRkIC1wID5vdXRwdXQgMj4mMSA8eSAmJgogCiAJIyBXZSBkbyBub3Qgd2FudCB0byBkZXBlbmQgb24gdGhlIGV4YWN0IGNvbG9yaW5nIHNjaGVtZQogCSMgZ2l0IHVzZXMgZm9yIGRpZmZzLCBzbyBqdXN0IGNoZWNrIHRoYXQgd2Ugc2F3IHNvbWUga2luZCBvZiBjb2xvci4KIAlncmVwICIkKHByaW50ZiAiXFwwMzMiKSIgb3V0cHV0CiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgVFRZICdkaWZmRmlsdGVyIGZpbHRlcnMgZGlmZicgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29sb3JpemVkIGRpZmZzIHJlc3BlY3QgZGlmZi53c0Vycm9ySGlnaGxpZ2h0JyAnCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCisJZWNobyAib2xkICIgPnRlc3QgJiYKKwlnaXQgYWRkIHRlc3QgJiYKKwllY2hvICJuZXcgIiA+dGVzdCAmJgorCisJcHJpbnRmIHkgPnkgJiYKKwlmb3JjZV9jb2xvciBnaXQgLWMgZGlmZi53c0Vycm9ySGlnaGxpZ2h0PWFsbCBhZGQgLXAgPm91dHB1dC5yYXcgMj4mMSA8eSAmJgorCXRlc3RfZGVjb2RlX2NvbG9yIDxvdXRwdXQucmF3ID5vdXRwdXQgJiYKKwlncmVwICJvbGQ8IiBvdXRwdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZkZpbHRlciBmaWx0ZXJzIGRpZmYnICcKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAKIAllY2hvIGNvbnRlbnQgPnRlc3QgJiYKIAl0ZXN0X2NvbmZpZyBpbnRlcmFjdGl2ZS5kaWZmRmlsdGVyICJzZWQgcy9eL2ZvbzovIiAmJgotCXByaW50ZiB5IHwgdGVzdF90ZXJtaW5hbCBnaXQgYWRkIC1wID5vdXRwdXQgMj4mMSAmJgorCXByaW50ZiB5ID55ICYmCisJZm9yY2VfY29sb3IgZ2l0IGFkZCAtcCA+b3V0cHV0IDI+JjEgPHkgJiYKIAogCSMgYXZvaWQgZGVwZW5kaW5nIG9uIHRoZSBleGFjdCBjb2xvcmluZyBvciBjb250ZW50IG9mIHRoZSBwcm9tcHRzLAogCSMgYW5kIGp1c3QgbWFrZSBzdXJlIHdlIHNhdyBvdXIgZGlmZiBwcmVmaXhlZAogCWdyZXAgZm9vOi4qY29udGVudCBvdXRwdXQKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBUVFkgJ2RldGVjdCBib2d1cyBkaWZmRmlsdGVyIG91dHB1dCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGV0ZWN0IGJvZ3VzIGRpZmZGaWx0ZXIgb3V0cHV0JyAnCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCiAJZWNobyBjb250ZW50ID50ZXN0ICYmCi0JdGVzdF9jb25maWcgaW50ZXJhY3RpdmUuZGlmZkZpbHRlciAiZWNobyB0b28tc2hvcnQiICYmCi0JcHJpbnRmIHkgfCB0ZXN0X211c3RfZmFpbCB0ZXN0X3Rlcm1pbmFsIGdpdCBhZGQgLXAKKwl0ZXN0X2NvbmZpZyBpbnRlcmFjdGl2ZS5kaWZmRmlsdGVyICJzZWQgMWQiICYmCisJcHJpbnRmIHkgPnkgJiYKKwl0ZXN0X211c3RfZmFpbCBmb3JjZV9jb2xvciBnaXQgYWRkIC1wIDx5CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYuYWxnb3JpdGhtIGlzIHBhc3NlZCB0byBgZ2l0IGRpZmYtZmlsZXNgJyAnCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCisJPmZpbGUgJiYKKwlnaXQgYWRkIGZpbGUgJiYKKwllY2hvIGNoYW5nZWQgPmZpbGUgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgLWMgZGlmZi5hbGdvcml0aG09Ym9ndXMgYWRkIC1wIDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAiZXJyb3I6IG9wdGlvbiBkaWZmLWFsZ29yaXRobSBhY2NlcHRzICIgZXJyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhdGNoLW1vZGUgdmlhIC1pIHByb21wdHMgZm9yIGZpbGVzJyAnCkBAIC02MzksNCArNzc3LDM3IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQtMiBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2tvdXQgLXAgd29ya3Mgd2l0aCBwYXRob2xvZ2ljYWwgY29udGV4dCBsaW5lcycgJworCXRlc3Rfd3JpdGVfbGluZXMgYSBhIGEgYSBhIGEgPmEgJiYKKwlnaXQgYWRkIGEgJiYKKwl0ZXN0X3dyaXRlX2xpbmVzIGEgYiBhIGIgYSBiIGEgYiBhIGIgYSA+IGEmJgorCXRlc3Rfd3JpdGVfbGluZXMgcyBuIG4geSBxIHwgZ2l0IGNoZWNrb3V0IC1wICYmCisJdGVzdF93cml0ZV9saW5lcyBhIGIgYSBiIGEgYSBiIGEgYiBhID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaG93IGhlbHAgZnJvbSBhZGQtLWhlbHBlcicgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKworCTxCT0xEPioqKiBDb21tYW5kcyAqKio8UkVTRVQ+CisJICAxOiA8Qk9MRDtCTFVFPnM8UkVTRVQ+dGF0dXMJICAyOiA8Qk9MRDtCTFVFPnU8UkVTRVQ+cGRhdGUJICAzOiA8Qk9MRDtCTFVFPnI8UkVTRVQ+ZXZlcnQJICA0OiA8Qk9MRDtCTFVFPmE8UkVTRVQ+ZGQgdW50cmFja2VkCisJICA1OiA8Qk9MRDtCTFVFPnA8UkVTRVQ+YXRjaAkgIDY6IDxCT0xEO0JMVUU+ZDxSRVNFVD5pZmYJICA3OiA8Qk9MRDtCTFVFPnE8UkVTRVQ+dWl0CSAgODogPEJPTEQ7QkxVRT5oPFJFU0VUPmVscAorCTxCT0xEO0JMVUU+V2hhdCBub3c8UkVTRVQ+PiA8Qk9MRDtSRUQ+c3RhdHVzICAgICAgICAtIHNob3cgcGF0aHMgd2l0aCBjaGFuZ2VzPFJFU0VUPgorCTxCT0xEO1JFRD51cGRhdGUgICAgICAgIC0gYWRkIHdvcmtpbmcgdHJlZSBzdGF0ZSB0byB0aGUgc3RhZ2VkIHNldCBvZiBjaGFuZ2VzPFJFU0VUPgorCTxCT0xEO1JFRD5yZXZlcnQgICAgICAgIC0gcmV2ZXJ0IHN0YWdlZCBzZXQgb2YgY2hhbmdlcyBiYWNrIHRvIHRoZSBIRUFEIHZlcnNpb248UkVTRVQ+CisJPEJPTEQ7UkVEPnBhdGNoICAgICAgICAgLSBwaWNrIGh1bmtzIGFuZCB1cGRhdGUgc2VsZWN0aXZlbHk8UkVTRVQ+CisJPEJPTEQ7UkVEPmRpZmYgICAgICAgICAgLSB2aWV3IGRpZmYgYmV0d2VlbiBIRUFEIGFuZCBpbmRleDxSRVNFVD4KKwk8Qk9MRDtSRUQ+YWRkIHVudHJhY2tlZCAtIGFkZCBjb250ZW50cyBvZiB1bnRyYWNrZWQgZmlsZXMgdG8gdGhlIHN0YWdlZCBzZXQgb2YgY2hhbmdlczxSRVNFVD4KKwk8Qk9MRD4qKiogQ29tbWFuZHMgKioqPFJFU0VUPgorCSAgMTogPEJPTEQ7QkxVRT5zPFJFU0VUPnRhdHVzCSAgMjogPEJPTEQ7QkxVRT51PFJFU0VUPnBkYXRlCSAgMzogPEJPTEQ7QkxVRT5yPFJFU0VUPmV2ZXJ0CSAgNDogPEJPTEQ7QkxVRT5hPFJFU0VUPmRkIHVudHJhY2tlZAorCSAgNTogPEJPTEQ7QkxVRT5wPFJFU0VUPmF0Y2gJICA2OiA8Qk9MRDtCTFVFPmQ8UkVTRVQ+aWZmCSAgNzogPEJPTEQ7QkxVRT5xPFJFU0VUPnVpdAkgIDg6IDxCT0xEO0JMVUU+aDxSRVNFVD5lbHAKKwk8Qk9MRDtCTFVFPldoYXQgbm93PFJFU0VUPj4kU1AKKwlCeWUuCisJRU9GCisJdGVzdF93cml0ZV9saW5lcyBoIHwgZm9yY2VfY29sb3IgZ2l0IGFkZCAtaSA+YWN0dWFsLmNvbG9yZWQgJiYKKwl0ZXN0X2RlY29kZV9jb2xvciA8YWN0dWFsLmNvbG9yZWQgPmFjdHVhbCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzcwNC1hZGQtcGF0aHNwZWMtZmlsZS5zaCBiL3QvdDM3MDQtYWRkLXBhdGhzcGVjLWZpbGUuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWUzNWMxZgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDM3MDQtYWRkLXBhdGhzcGVjLWZpbGUuc2gKQEAgLTAsMCArMSwxNTkgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdhZGQgLS1wYXRoc3BlYy1mcm9tLWZpbGUnCisKKy4gLi90ZXN0LWxpYi5zaAorCit0ZXN0X3RpY2sKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCisJdGVzdF9jb21taXQgZmlsZTAgJiYKKwllY2hvIEEgPmZpbGVBLnQgJiYKKwllY2hvIEIgPmZpbGVCLnQgJiYKKwllY2hvIEMgPmZpbGVDLnQgJiYKKwllY2hvIEQgPmZpbGVELnQKKycKKworcmVzdG9yZV9jaGVja3BvaW50ICgpIHsKKwlnaXQgcmVzZXQKK30KKwordmVyaWZ5X2V4cGVjdCAoKSB7CisJZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbiAtLXVudHJhY2tlZC1maWxlcz1ubyAtLSBmaWxlQS50IGZpbGVCLnQgZmlsZUMudCBmaWxlRC50ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcGF0aHNwZWMtZnJvbS1maWxlIGZyb20gc3RkaW4nICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCWVjaG8gZmlsZUEudCB8IGdpdCBhZGQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9LSAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCUEgIGZpbGVBLnQKKwlFT0YKKwl2ZXJpZnlfZXhwZWN0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcGF0aHNwZWMtZnJvbS1maWxlIGZyb20gZmlsZScgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJZWNobyBmaWxlQS50ID5saXN0ICYmCisJZ2l0IGFkZCAtLXBhdGhzcGVjLWZyb20tZmlsZT1saXN0ICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJQSAgZmlsZUEudAorCUVPRgorCXZlcmlmeV9leHBlY3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnTlVMIGRlbGltaXRlcnMnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCXByaW50ZiAiZmlsZUEudFwwZmlsZUIudFwwIiB8IGdpdCBhZGQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9LSAtLXBhdGhzcGVjLWZpbGUtbnVsICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJQSAgZmlsZUEudAorCUEgIGZpbGVCLnQKKwlFT0YKKwl2ZXJpZnlfZXhwZWN0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0xGIGRlbGltaXRlcnMnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCXByaW50ZiAiZmlsZUEudFxuZmlsZUIudFxuIiB8IGdpdCBhZGQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9LSAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCUEgIGZpbGVBLnQKKwlBICBmaWxlQi50CisJRU9GCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdubyB0cmFpbGluZyBkZWxpbWl0ZXInICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCXByaW50ZiAiZmlsZUEudFxuZmlsZUIudCIgfCBnaXQgYWRkIC0tcGF0aHNwZWMtZnJvbS1maWxlPS0gJiYKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlBICBmaWxlQS50CisJQSAgZmlsZUIudAorCUVPRgorCXZlcmlmeV9leHBlY3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnQ1JMRiBkZWxpbWl0ZXJzJyAnCisJcmVzdG9yZV9jaGVja3BvaW50ICYmCisKKwlwcmludGYgImZpbGVBLnRcclxuZmlsZUIudFxyXG4iIHwgZ2l0IGFkZCAtLXBhdGhzcGVjLWZyb20tZmlsZT0tICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJQSAgZmlsZUEudAorCUEgIGZpbGVCLnQKKwlFT0YKKwl2ZXJpZnlfZXhwZWN0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3F1b3RlcycgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJY2F0ID5saXN0IDw8LVxFT0YgJiYKKwkiZmlsZVwxMDEudCIKKwlFT0YKKworCWdpdCBhZGQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9bGlzdCAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCUEgIGZpbGVBLnQKKwlFT0YKKwl2ZXJpZnlfZXhwZWN0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3F1b3RlcyBub3QgY29tcGF0aWJsZSB3aXRoIC0tcGF0aHNwZWMtZmlsZS1udWwnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCWNhdCA+bGlzdCA8PC1cRU9GICYmCisJImZpbGVcMTAxLnQiCisJRU9GCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgYWRkIC0tcGF0aHNwZWMtZnJvbS1maWxlPWxpc3QgLS1wYXRoc3BlYy1maWxlLW51bAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdvbmx5IHRvdWNoZXMgd2hhdCB3YXMgbGlzdGVkJyAnCisJcmVzdG9yZV9jaGVja3BvaW50ICYmCisKKwlwcmludGYgImZpbGVCLnRcbmZpbGVDLnRcbiIgfCBnaXQgYWRkIC0tcGF0aHNwZWMtZnJvbS1maWxlPS0gJiYKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlBICBmaWxlQi50CisJQSAgZmlsZUMudAorCUVPRgorCXZlcmlmeV9leHBlY3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZXJyb3IgY29uZGl0aW9ucycgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCWVjaG8gZmlsZUEudCA+bGlzdCAmJgorCT5lbXB0eV9saXN0ICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgYWRkIC0tcGF0aHNwZWMtZnJvbS1maWxlPWxpc3QgLS1pbnRlcmFjdGl2ZSAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgLWUgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0taW50ZXJhY3RpdmUvLS1wYXRjaCIgZXJyICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgYWRkIC0tcGF0aHNwZWMtZnJvbS1maWxlPWxpc3QgLS1wYXRjaCAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgLWUgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0taW50ZXJhY3RpdmUvLS1wYXRjaCIgZXJyICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgYWRkIC0tcGF0aHNwZWMtZnJvbS1maWxlPWxpc3QgLS1lZGl0IDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAtZSAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1lZGl0IiBlcnIgJiYKKworCXRlc3RfbXVzdF9mYWlsIGdpdCBhZGQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9bGlzdCAtLSBmaWxlQS50IDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAtZSAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggcGF0aHNwZWMgYXJndW1lbnRzIiBlcnIgJiYKKworCXRlc3RfbXVzdF9mYWlsIGdpdCBhZGQgLS1wYXRoc3BlYy1maWxlLW51bCAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgLWUgIi0tcGF0aHNwZWMtZmlsZS1udWwgcmVxdWlyZXMgLS1wYXRoc3BlYy1mcm9tLWZpbGUiIGVyciAmJgorCisJIyBUaGlzIGNhc2Ugc3VjY2VlZHMsIGJ1dCBzdGlsbCBwcmludHMgdG8gc3RkZXJyCisJZ2l0IGFkZCAtLXBhdGhzcGVjLWZyb20tZmlsZT1lbXB0eV9saXN0IDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAtZSAiTm90aGluZyBzcGVjaWZpZWQsIG5vdGhpbmcgYWRkZWQuIiBlcnIKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzODAwLW1rdGFnLnNoIGIvdC90MzgwMC1ta3RhZy5zaAppbmRleCA4ZWI0Nzk0Li42NGRjYzVlIDEwMDc1NQotLS0gYS90L3QzODAwLW1rdGFnLnNoCisrKyBiL3QvdDM4MDAtbWt0YWcuc2gKQEAgLTIzLDYgKzIzLDcgQEAKICMgZmlyc3QgY3JlYXRlIGEgY29tbWl0LCBzbyB3ZSBoYXZlIGEgdmFsaWQgb2JqZWN0L3R5cGUKICMgZm9yIHRoZSB0YWcuCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJworCXRlc3Rfb2lkX2luaXQgJiYKIAllY2hvIEhlbGxvID5BICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCBBICYmCiAJZ2l0IGNvbW1pdCAtbSAiSW5pdGlhbCBjb21taXQiICYmCkBAIC02OSwyOCArNzAsMjggQEAKICMgIDQuIHR5cGUgbGluZSBsYWJlbCBjaGVjawogCiBjYXQgPnRhZy5zaWcgPDxFT0YKLW9iamVjdCA3NzllOWIzMzk4NmIxYzI2NzBmZmY1MmM1MDY3NjAzMTE3YjNlODk1CitvYmplY3QgJGhlYWQKIHh4eHggdGFnCiB0YWcgbXl0YWcKIHRhZ2dlciAuIDw+IDAgKzAwMDAKIAogRU9GCiAKLWNoZWNrX3ZlcmlmeV9mYWlsdXJlICcidHlwZSIgbGluZSBsYWJlbCBjaGVjaycgJ15lcnJvcjogY2hhcjQ3OiAuKiJcXG50eXBlICIkJworY2hlY2tfdmVyaWZ5X2ZhaWx1cmUgJyJ0eXBlIiBsaW5lIGxhYmVsIGNoZWNrJyAnXmVycm9yOiBjaGFyLio6IC4qIlxcbnR5cGUgIiQnCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyAgNS4gdHlwZSBsaW5lIGVvbCBjaGVjawogCi1lY2hvICJvYmplY3QgNzc5ZTliMzM5ODZiMWMyNjcwZmZmNTJjNTA2NzYwMzExN2IzZTg5NSIgPnRhZy5zaWcKK2VjaG8gIm9iamVjdCAkaGVhZCIgPnRhZy5zaWcKIHByaW50ZiAidHlwZSB0YWdzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3NzIiA+PnRhZy5zaWcKIAotY2hlY2tfdmVyaWZ5X2ZhaWx1cmUgJyJ0eXBlIiBsaW5lIGVvbCBjaGVjaycgJ15lcnJvcjogY2hhcjQ4OiAuKiJcXG4iJCcKK2NoZWNrX3ZlcmlmeV9mYWlsdXJlICcidHlwZSIgbGluZSBlb2wgY2hlY2snICdeZXJyb3I6IGNoYXIuKjogLioiXFxuIiQnCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyAgNi4gdGFnIGxpbmUgbGFiZWwgY2hlY2sgIzEKIAogY2F0ID50YWcuc2lnIDw8RU9GCi1vYmplY3QgNzc5ZTliMzM5ODZiMWMyNjcwZmZmNTJjNTA2NzYwMzExN2IzZTg5NQorb2JqZWN0ICRoZWFkCiB0eXBlIHRhZwogeHh4IG15dGFnCiB0YWdnZXIgLiA8PiAwICswMDAwCkBAIC05OCwzNyArOTksMzcgQEAKIEVPRgogCiBjaGVja192ZXJpZnlfZmFpbHVyZSAnInRhZyIgbGluZSBsYWJlbCBjaGVjayAjMScgXAotCSdeZXJyb3I6IGNoYXI1Nzogbm8gInRhZyAiIGZvdW5kJCcKKwknXmVycm9yOiBjaGFyLio6IG5vICJ0YWcgIiBmb3VuZCQnCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyAgNy4gdGFnIGxpbmUgbGFiZWwgY2hlY2sgIzIKIAogY2F0ID50YWcuc2lnIDw8RU9GCi1vYmplY3QgNzc5ZTliMzM5ODZiMWMyNjcwZmZmNTJjNTA2NzYwMzExN2IzZTg5NQorb2JqZWN0ICRoZWFkCiB0eXBlIHRhZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZwogdGFnCiBFT0YKIAogY2hlY2tfdmVyaWZ5X2ZhaWx1cmUgJyJ0YWciIGxpbmUgbGFiZWwgY2hlY2sgIzInIFwKLQknXmVycm9yOiBjaGFyODc6IG5vICJ0YWcgIiBmb3VuZCQnCisJJ15lcnJvcjogY2hhci4qOiBubyAidGFnICIgZm91bmQkJwogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgIDguIHR5cGUgbGluZSB0eXBlLW5hbWUgbGVuZ3RoIGNoZWNrCiAKIGNhdCA+dGFnLnNpZyA8PEVPRgotb2JqZWN0IDc3OWU5YjMzOTg2YjFjMjY3MGZmZjUyYzUwNjc2MDMxMTdiM2U4OTUKK29iamVjdCAkaGVhZAogdHlwZSB0YWdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2cKIHRhZyBteXRhZwogRU9GCiAKIGNoZWNrX3ZlcmlmeV9mYWlsdXJlICcidHlwZSIgbGluZSB0eXBlLW5hbWUgbGVuZ3RoIGNoZWNrJyBcCi0JJ15lcnJvcjogY2hhcjUzOiB0eXBlIHRvbyBsb25nJCcKKwknXmVycm9yOiBjaGFyLio6IHR5cGUgdG9vIGxvbmckJwogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgIDkuIHZlcmlmeSBvYmplY3QgKFNIQTEvdHlwZSkgY2hlY2sKIAogY2F0ID50YWcuc2lnIDw8RU9GCi1vYmplY3QgNzc5ZTliMzM5ODZiMWMyNjcwZmZmNTJjNTA2NzYwMzExN2IzZTg5NQorb2JqZWN0ICQodGVzdF9vaWQgZGVhZGJlZWYpCiB0eXBlIHRhZ2dnZwogdGFnIG15dGFnCiB0YWdnZXIgLiA8PiAwICswMDAwCkBAIC0xNTAsNyArMTUxLDcgQEAKIEVPRgogCiBjaGVja192ZXJpZnlfZmFpbHVyZSAndmVyaWZ5IHRhZy1uYW1lIGNoZWNrJyBcCi0JJ15lcnJvcjogY2hhcjY3OiBjb3VsZCBub3QgdmVyaWZ5IHRhZyBuYW1lJCcKKwknXmVycm9yOiBjaGFyLio6IGNvdWxkIG5vdCB2ZXJpZnkgdGFnIG5hbWUkJwogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgMTEuIHRhZ2dlciBsaW5lIGxhYmVsIGNoZWNrICMxCkBAIC0xNjQsNyArMTY1LDcgQEAKIEVPRgogCiBjaGVja192ZXJpZnlfZmFpbHVyZSAnInRhZ2dlciIgbGluZSBsYWJlbCBjaGVjayAjMScgXAotCSdeZXJyb3I6IGNoYXI3MDogY291bGQgbm90IGZpbmQgInRhZ2dlciAiJCcKKwknXmVycm9yOiBjaGFyLio6IGNvdWxkIG5vdCBmaW5kICJ0YWdnZXIgIiQnCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyAxMi4gdGFnZ2VyIGxpbmUgbGFiZWwgY2hlY2sgIzIKQEAgLTE3OSw3ICsxODAsNyBAQAogRU9GCiAKIGNoZWNrX3ZlcmlmeV9mYWlsdXJlICcidGFnZ2VyIiBsaW5lIGxhYmVsIGNoZWNrICMyJyBcCi0JJ15lcnJvcjogY2hhcjcwOiBjb3VsZCBub3QgZmluZCAidGFnZ2VyICIkJworCSdeZXJyb3I6IGNoYXIuKjogY291bGQgbm90IGZpbmQgInRhZ2dlciAiJCcKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIDEzLiBkaXNhbGxvdyBtaXNzaW5nIHRhZyBhdXRob3IgbmFtZQpAQCAtMTk0LDcgKzE5NSw3IEBACiBFT0YKIAogY2hlY2tfdmVyaWZ5X2ZhaWx1cmUgJ2Rpc2FsbG93IG1pc3NpbmcgdGFnIGF1dGhvciBuYW1lJyBcCi0JJ15lcnJvcjogY2hhcjc3OiBtaXNzaW5nIHRhZ2dlciBuYW1lJCcKKwknXmVycm9yOiBjaGFyLio6IG1pc3NpbmcgdGFnZ2VyIG5hbWUkJwogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgMTQuIGRpc2FsbG93IG1pc3NpbmcgdGFnIGF1dGhvciBuYW1lCkBAIC0yMDksNyArMjEwLDcgQEAKIEVPRgogCiBjaGVja192ZXJpZnlfZmFpbHVyZSAnZGlzYWxsb3cgbWFsZm9ybWVkIHRhZ2dlcicgXAotCSdeZXJyb3I6IGNoYXI3NzogbWFsZm9ybWVkIHRhZ2dlciBmaWVsZCQnCisJJ15lcnJvcjogY2hhci4qOiBtYWxmb3JtZWQgdGFnZ2VyIGZpZWxkJCcKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIDE1LiBhbGxvdyBlbXB0eSB0YWcgZW1haWwKQEAgLTIzOCw3ICsyMzksNyBAQAogRU9GCiAKIGNoZWNrX3ZlcmlmeV9mYWlsdXJlICdkaXNhbGxvdyBzcGFjZXMgaW4gdGFnIGVtYWlsJyBcCi0JJ15lcnJvcjogY2hhcjc3OiBtYWxmb3JtZWQgdGFnZ2VyIGZpZWxkJCcKKwknXmVycm9yOiBjaGFyLio6IG1hbGZvcm1lZCB0YWdnZXIgZmllbGQkJwogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgMTcuIGRpc2FsbG93IG1pc3NpbmcgdGFnIHRpbWVzdGFtcApAQCAtMjUyLDcgKzI1Myw3IEBACiBFT0YKIAogY2hlY2tfdmVyaWZ5X2ZhaWx1cmUgJ2Rpc2FsbG93IG1pc3NpbmcgdGFnIHRpbWVzdGFtcCcgXAotCSdeZXJyb3I6IGNoYXIxMDc6IG1pc3NpbmcgdGFnIHRpbWVzdGFtcCQnCisJJ15lcnJvcjogY2hhci4qOiBtaXNzaW5nIHRhZyB0aW1lc3RhbXAkJwogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgMTguIGRldGVjdCBpbnZhbGlkIHRhZyB0aW1lc3RhbXAxCkBAIC0yNjYsNyArMjY3LDcgQEAKIEVPRgogCiBjaGVja192ZXJpZnlfZmFpbHVyZSAnZGV0ZWN0IGludmFsaWQgdGFnIHRpbWVzdGFtcDEnIFwKLQknXmVycm9yOiBjaGFyMTA3OiBtaXNzaW5nIHRhZyB0aW1lc3RhbXAkJworCSdeZXJyb3I6IGNoYXIuKjogbWlzc2luZyB0YWcgdGltZXN0YW1wJCcKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIDE5LiBkZXRlY3QgaW52YWxpZCB0YWcgdGltZXN0YW1wMgpAQCAtMjgwLDcgKzI4MSw3IEBACiBFT0YKIAogY2hlY2tfdmVyaWZ5X2ZhaWx1cmUgJ2RldGVjdCBpbnZhbGlkIHRhZyB0aW1lc3RhbXAyJyBcCi0JJ15lcnJvcjogY2hhcjExMTogbWFsZm9ybWVkIHRhZyB0aW1lc3RhbXAkJworCSdeZXJyb3I6IGNoYXIuKjogbWFsZm9ybWVkIHRhZyB0aW1lc3RhbXAkJwogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgMjAuIGRldGVjdCBpbnZhbGlkIHRhZyB0aW1lem9uZTEKQEAgLTI5NCw3ICsyOTUsNyBAQAogRU9GCiAKIGNoZWNrX3ZlcmlmeV9mYWlsdXJlICdkZXRlY3QgaW52YWxpZCB0YWcgdGltZXpvbmUxJyBcCi0JJ15lcnJvcjogY2hhcjExODogbWFsZm9ybWVkIHRhZyB0aW1lem9uZSQnCisJJ15lcnJvcjogY2hhci4qOiBtYWxmb3JtZWQgdGFnIHRpbWV6b25lJCcKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIDIxLiBkZXRlY3QgaW52YWxpZCB0YWcgdGltZXpvbmUyCkBAIC0zMDgsNyArMzA5LDcgQEAKIEVPRgogCiBjaGVja192ZXJpZnlfZmFpbHVyZSAnZGV0ZWN0IGludmFsaWQgdGFnIHRpbWV6b25lMicgXAotCSdeZXJyb3I6IGNoYXIxMTg6IG1hbGZvcm1lZCB0YWcgdGltZXpvbmUkJworCSdeZXJyb3I6IGNoYXIuKjogbWFsZm9ybWVkIHRhZyB0aW1lem9uZSQnCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyAyMi4gZGV0ZWN0IGludmFsaWQgdGFnIHRpbWV6b25lMwpAQCAtMzIyLDcgKzMyMyw3IEBACiBFT0YKIAogY2hlY2tfdmVyaWZ5X2ZhaWx1cmUgJ2RldGVjdCBpbnZhbGlkIHRhZyB0aW1lem9uZTMnIFwKLQknXmVycm9yOiBjaGFyMTE4OiBtYWxmb3JtZWQgdGFnIHRpbWV6b25lJCcKKwknXmVycm9yOiBjaGFyLio6IG1hbGZvcm1lZCB0YWcgdGltZXpvbmUkJwogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgMjMuIGRldGVjdCBpbnZhbGlkIGhlYWRlciBlbnRyeQpAQCAtMzM3LDcgKzMzOCw3IEBACiBFT0YKIAogY2hlY2tfdmVyaWZ5X2ZhaWx1cmUgJ2RldGVjdCBpbnZhbGlkIGhlYWRlciBlbnRyeScgXAotCSdeZXJyb3I6IGNoYXIxMjQ6IHRyYWlsaW5nIGdhcmJhZ2UgaW4gdGFnIGhlYWRlciQnCisJJ15lcnJvcjogY2hhci4qOiB0cmFpbGluZyBnYXJiYWdlIGluIHRhZyBoZWFkZXIkJwogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgMjQuIGNyZWF0ZSB2YWxpZCB0YWcKZGlmZiAtLWdpdCBhL3QvdDM5MDAtaTE4bi1jb21taXQuc2ggYi90L3QzOTAwLWkxOG4tY29tbWl0LnNoCmluZGV4IGI5MmZmOTUuLmQyNzdhOWYgMTAwNzU1Ci0tLSBhL3QvdDM5MDAtaTE4bi1jb21taXQuc2gKKysrIGIvdC90MzkwMC1pMThuLWNvbW1pdC5zaApAQCAtMjA0LDQgKzIwNCw0MSBAQAogCiB0ZXN0X2NvbW1pdF9hdXRvc3F1YXNoX2ZsYWdzIElTTy0yMDIyLUpQIHNxdWFzaAogCit0ZXN0X2NvbW1pdF9hdXRvc3F1YXNoX211bHRpX2VuY29kaW5nICgpIHsKKwlmbGFnPSQxCisJb2xkPSQyCisJbmV3PSQzCisJbXNnPSQ0CisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiY29tbWl0IC0tJGZsYWcgaW50byAkb2xkIGZyb20gJG5ldyIgJworCQlnaXQgY2hlY2tvdXQgLWIgJGZsYWctJG9sZC0kbmV3IEMwICYmCisJCWdpdCBjb25maWcgaTE4bi5jb21taXRlbmNvZGluZyAkb2xkICYmCisJCWVjaG8gJG9sZCA+PkYgJiYKKwkJZ2l0IGNvbW1pdCAtYSAtRiAiJFRFU1RfRElSRUNUT1JZIi90MzkwMC8kbXNnICYmCisJCXRlc3RfdGljayAmJgorCQllY2hvIGludGVybWVkaWF0ZSBzdHVmZiA+PkcgJiYKKwkJZ2l0IGFkZCBHICYmCisJCWdpdCBjb21taXQgLWEgLW0gImludGVybWVkaWF0ZSBjb21taXQiICYmCisJCXRlc3RfdGljayAmJgorCQlnaXQgY29uZmlnIGkxOG4uY29tbWl0ZW5jb2RpbmcgJG5ldyAmJgorCQllY2hvICRuZXctJGZsYWcgPj5GICYmCisJCWdpdCBjb21taXQgLWEgLS0kZmxhZyBIRUFEXiAmJgorCQlnaXQgcmViYXNlIC0tYXV0b3NxdWFzaCAtaSBIRUFEXl5eICYmCisJCWdpdCByZXYtbGlzdCBIRUFEID5hY3R1YWwgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMyBhY3R1YWwgJiYKKwkJaWNvbnYgLWYgJG9sZCAtdCBVVEYtOCAiJFRFU1RfRElSRUNUT1JZIi90MzkwMC8kbXNnID5leHBlY3QgJiYKKwkJaWYgdGVzdCAkZmxhZyA9IHNxdWFzaDsgdGhlbgorCQkJc3ViamVjdD0iJChoZWFkIC0xIGV4cGVjdCkiICYmCisJCQlwcmludGYgIlxuc3F1YXNoISAlc1xuIiAiJHN1YmplY3QiID4+ZXhwZWN0CisJCWZpICYmCisJCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRF4gPnJhdyAmJgorCQkoc2VkICIxLC9eJC9kIiByYXcgfCBpY29udiAtZiAkbmV3IC10IHV0Zi04KSA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwknCit9CisKK3Rlc3RfY29tbWl0X2F1dG9zcXVhc2hfbXVsdGlfZW5jb2RpbmcgZml4dXAgVVRGLTggSVNPLTg4NTktMSAxLVVURi04LnR4dAordGVzdF9jb21taXRfYXV0b3NxdWFzaF9tdWx0aV9lbmNvZGluZyBzcXVhc2ggSVNPLTg4NTktMSBVVEYtOCBJU084ODU5LTEudHh0Cit0ZXN0X2NvbW1pdF9hdXRvc3F1YXNoX211bHRpX2VuY29kaW5nIHNxdWFzaCBldWNKUCBJU08tMjAyMi1KUCBldWNKUC50eHQKK3Rlc3RfY29tbWl0X2F1dG9zcXVhc2hfbXVsdGlfZW5jb2RpbmcgZml4dXAgSVNPLTIwMjItSlAgVVRGLTggSVNPLTIwMjItSlAudHh0CisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzkwMy1zdGFzaC5zaCBiL3QvdDM5MDMtc3Rhc2guc2gKaW5kZXggY2QyMTY2NS4uM2FkMjNlMiAxMDA3NTUKLS0tIGEvdC90MzkwMy1zdGFzaC5zaAorKysgYi90L3QzOTAzLXN0YXNoLnNoCkBAIC03LDIzICs3LDM1IEBACiAKIC4gLi90ZXN0LWxpYi5zaAogCitkaWZmX2NtcCAoKSB7CisJZm9yIGkgaW4gIiQxIiAiJDIiCisJZG8KKwkJc2VkIC1lICdzL15pbmRleCAwMDAwMDAwXC5cLlswLTlhLWZdKi9pbmRleCAwMDAwMDAwLi4xMjM0NTY3LycgXAorCQktZSAncy9eaW5kZXggWzAtOWEtZl0qXC5cLlswLTlhLWZdKi9pbmRleCAxMjM0NTY3Li44OWFiY2RlLycgXAorCQktZSAncy9eaW5kZXggWzAtOWEtZl0qLFswLTlhLWZdKlwuXC5bMC05YS1mXSovaW5kZXggMTIzNDU2Nyw3NjU0MzIxLi44OWFiY2RlLycgXAorCQkiJGkiID4iJGkuY29tcGFyZSIgfHwgcmV0dXJuIDEKKwlkb25lICYmCisJdGVzdF9jbXAgIiQxLmNvbXBhcmUiICIkMi5jb21wYXJlIiAmJgorCXJtIC1mICIkMS5jb21wYXJlIiAiJDIuY29tcGFyZSIKK30KKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3Rhc2ggc29tZSBkaXJ0eSB3b3JraW5nIGRpcmVjdG9yeScgJwotCWVjaG8gMSA+IGZpbGUgJiYKKwllY2hvIDEgPmZpbGUgJiYKIAlnaXQgYWRkIGZpbGUgJiYKIAllY2hvIHVucmVsYXRlZCA+b3RoZXItZmlsZSAmJgogCWdpdCBhZGQgb3RoZXItZmlsZSAmJgogCXRlc3RfdGljayAmJgogCWdpdCBjb21taXQgLW0gaW5pdGlhbCAmJgotCWVjaG8gMiA+IGZpbGUgJiYKKwllY2hvIDIgPmZpbGUgJiYKIAlnaXQgYWRkIGZpbGUgJiYKLQllY2hvIDMgPiBmaWxlICYmCisJZWNobyAzID5maWxlICYmCiAJdGVzdF90aWNrICYmCiAJZ2l0IHN0YXNoICYmCiAJZ2l0IGRpZmYtZmlsZXMgLS1xdWlldCAmJgogCWdpdCBkaWZmLWluZGV4IC0tY2FjaGVkIC0tcXVpZXQgSEVBRAogJwogCi1jYXQgPiBleHBlY3QgPDwgRU9GCitjYXQgPmV4cGVjdCA8PEVPRgogZGlmZiAtLWdpdCBhL2ZpbGUgYi9maWxlCiBpbmRleCAwY2ZiZjA4Li4wMDc1MGVkIDEwMDY0NAogLS0tIGEvZmlsZQpAQCAtMzUsOCArNDcsOCBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwYXJlbnRzIG9mIHN0YXNoJyAnCiAJdGVzdCAkKGdpdCByZXYtcGFyc2Ugc3Rhc2heKSA9ICQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgotCWdpdCBkaWZmIHN0YXNoXjIuLnN0YXNoID4gb3V0cHV0ICYmCi0JdGVzdF9jbXAgZXhwZWN0IG91dHB1dAorCWdpdCBkaWZmIHN0YXNoXjIuLnN0YXNoID5vdXRwdXQgJiYKKwlkaWZmX2NtcCBleHBlY3Qgb3V0cHV0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FwcGx5aW5nIGJvZ3VzIHN0YXNoIGRvZXMgbm90aGluZycgJwpAQCAtNzQsNyArODYsNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhcHBseSBzdGFzaGVkIGNoYW5nZXMgKGluY2x1ZGluZyBpbmRleCknICcKIAlnaXQgcmVzZXQgLS1oYXJkIEhFQUReICYmCi0JZWNobyA2ID4gb3RoZXItZmlsZSAmJgorCWVjaG8gNiA+b3RoZXItZmlsZSAmJgogCWdpdCBhZGQgb3RoZXItZmlsZSAmJgogCXRlc3RfdGljayAmJgogCWdpdCBjb21taXQgLW0gb3RoZXItZmlsZSAmJgpAQCAtOTksMTIgKzExMSwxMiBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkcm9wIHRvcCBzdGFzaCcgJwogCWdpdCByZXNldCAtLWhhcmQgJiYKLQlnaXQgc3Rhc2ggbGlzdCA+IHN0YXNobGlzdDEgJiYKLQllY2hvIDcgPiBmaWxlICYmCisJZ2l0IHN0YXNoIGxpc3QgPmV4cGVjdGVkICYmCisJZWNobyA3ID5maWxlICYmCiAJZ2l0IHN0YXNoICYmCiAJZ2l0IHN0YXNoIGRyb3AgJiYKLQlnaXQgc3Rhc2ggbGlzdCA+IHN0YXNobGlzdDIgJiYKLQl0ZXN0X2NtcCBzdGFzaGxpc3QxIHN0YXNobGlzdDIgJiYKKwlnaXQgc3Rhc2ggbGlzdCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCiAJZ2l0IHN0YXNoIGFwcGx5ICYmCiAJdGVzdCAzID0gJChjYXQgZmlsZSkgJiYKIAl0ZXN0IDEgPSAkKGdpdCBzaG93IDpmaWxlKSAmJgpAQCAtMTEzLDkgKzEyNSw5IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Ryb3AgbWlkZGxlIHN0YXNoJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgotCWVjaG8gOCA+IGZpbGUgJiYKKwllY2hvIDggPmZpbGUgJiYKIAlnaXQgc3Rhc2ggJiYKLQllY2hvIDkgPiBmaWxlICYmCisJZWNobyA5ID5maWxlICYmCiAJZ2l0IHN0YXNoICYmCiAJZ2l0IHN0YXNoIGRyb3Agc3Rhc2hAezF9ICYmCiAJdGVzdCAyID0gJChnaXQgc3Rhc2ggbGlzdCB8IHdjIC1sKSAmJgpAQCAtMTYwLDcgKzE3Miw3IEBACiAJdGVzdCAwID0gJChnaXQgc3Rhc2ggbGlzdCB8IHdjIC1sKQogJwogCi1jYXQgPiBleHBlY3QgPDwgRU9GCitjYXQgPmV4cGVjdCA8PEVPRgogZGlmZiAtLWdpdCBhL2ZpbGUyIGIvZmlsZTIKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiBpbmRleCAwMDAwMDAwLi4xZmU5MTJjCkBAIC0xNzAsNyArMTgyLDcgQEAKICtiYXIyCiBFT0YKIAotY2F0ID4gZXhwZWN0MSA8PCBFT0YKK2NhdCA+ZXhwZWN0MSA8PEVPRgogZGlmZiAtLWdpdCBhL2ZpbGUgYi9maWxlCiBpbmRleCAyNTdjYzU2Li41NzE2Y2E1IDEwMDY0NAogLS0tIGEvZmlsZQpAQCAtMTgwLDcgKzE5Miw3IEBACiArYmFyCiBFT0YKIAotY2F0ID4gZXhwZWN0MiA8PCBFT0YKK2NhdCA+ZXhwZWN0MiA8PEVPRgogZGlmZiAtLWdpdCBhL2ZpbGUgYi9maWxlCiBpbmRleCA3NjAxODA3Li41NzE2Y2E1IDEwMDY0NAogLS0tIGEvZmlsZQpAQCAtMTk4LDc5ICsyMTAsODkgQEAKIEVPRgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCBicmFuY2gnICcKLQllY2hvIGZvbyA+IGZpbGUgJiYKKwllY2hvIGZvbyA+ZmlsZSAmJgogCWdpdCBjb21taXQgZmlsZSAtbSBmaXJzdCAmJgotCWVjaG8gYmFyID4gZmlsZSAmJgotCWVjaG8gYmFyMiA+IGZpbGUyICYmCisJZWNobyBiYXIgPmZpbGUgJiYKKwllY2hvIGJhcjIgPmZpbGUyICYmCiAJZ2l0IGFkZCBmaWxlMiAmJgogCWdpdCBzdGFzaCAmJgotCWVjaG8gYmF6ID4gZmlsZSAmJgorCWVjaG8gYmF6ID5maWxlICYmCiAJZ2l0IGNvbW1pdCBmaWxlIC1tIHNlY29uZCAmJgogCWdpdCBzdGFzaCBicmFuY2ggc3Rhc2hicmFuY2ggJiYKIAl0ZXN0IHJlZnMvaGVhZHMvc3Rhc2hicmFuY2ggPSAkKGdpdCBzeW1ib2xpYy1yZWYgSEVBRCkgJiYKIAl0ZXN0ICQoZ2l0IHJldi1wYXJzZSBIRUFEKSA9ICQoZ2l0IHJldi1wYXJzZSBtYXN0ZXJeKSAmJgotCWdpdCBkaWZmIC0tY2FjaGVkID4gb3V0cHV0ICYmCi0JdGVzdF9jbXAgZXhwZWN0IG91dHB1dCAmJgotCWdpdCBkaWZmID4gb3V0cHV0ICYmCi0JdGVzdF9jbXAgZXhwZWN0MSBvdXRwdXQgJiYKKwlnaXQgZGlmZiAtLWNhY2hlZCA+b3V0cHV0ICYmCisJZGlmZl9jbXAgZXhwZWN0IG91dHB1dCAmJgorCWdpdCBkaWZmID5vdXRwdXQgJiYKKwlkaWZmX2NtcCBleHBlY3QxIG91dHB1dCAmJgogCWdpdCBhZGQgZmlsZSAmJgogCWdpdCBjb21taXQgLW0gYWx0ZXJuYXRlXCBzZWNvbmQgJiYKLQlnaXQgZGlmZiBtYXN0ZXIuLnN0YXNoYnJhbmNoID4gb3V0cHV0ICYmCi0JdGVzdF9jbXAgb3V0cHV0IGV4cGVjdDIgJiYKKwlnaXQgZGlmZiBtYXN0ZXIuLnN0YXNoYnJhbmNoID5vdXRwdXQgJiYKKwlkaWZmX2NtcCBvdXRwdXQgZXhwZWN0MiAmJgogCXRlc3QgMCA9ICQoZ2l0IHN0YXNoIGxpc3QgfCB3YyAtbCkKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYXBwbHkgLXEgaXMgcXVpZXQnICcKLQllY2hvIGZvbyA+IGZpbGUgJiYKKwllY2hvIGZvbyA+ZmlsZSAmJgogCWdpdCBzdGFzaCAmJgotCWdpdCBzdGFzaCBhcHBseSAtcSA+IG91dHB1dC5vdXQgMj4mMSAmJgorCWdpdCBzdGFzaCBhcHBseSAtcSA+b3V0cHV0Lm91dCAyPiYxICYmCiAJdGVzdF9tdXN0X2JlX2VtcHR5IG91dHB1dC5vdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2F2ZSAtcSBpcyBxdWlldCcgJwotCWdpdCBzdGFzaCBzYXZlIC0tcXVpZXQgPiBvdXRwdXQub3V0IDI+JjEgJiYKKwlnaXQgc3Rhc2ggc2F2ZSAtLXF1aWV0ID5vdXRwdXQub3V0IDI+JjEgJiYKIAl0ZXN0X211c3RfYmVfZW1wdHkgb3V0cHV0Lm91dAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdwb3AgLXEgaXMgcXVpZXQnICcKLQlnaXQgc3Rhc2ggcG9wIC1xID4gb3V0cHV0Lm91dCAyPiYxICYmCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwb3AgLXEgd29ya3MgYW5kIGlzIHF1aWV0JyAnCisJZ2l0IHN0YXNoIHBvcCAtcSA+b3V0cHV0Lm91dCAyPiYxICYmCisJZWNobyBiYXIgPmV4cGVjdCAmJgorCWdpdCBzaG93IDpmaWxlID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCiAJdGVzdF9tdXN0X2JlX2VtcHR5IG91dHB1dC5vdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncG9wIC1xIC0taW5kZXggd29ya3MgYW5kIGlzIHF1aWV0JyAnCi0JZWNobyBmb28gPiBmaWxlICYmCisJZWNobyBmb28gPmZpbGUgJiYKIAlnaXQgYWRkIGZpbGUgJiYKIAlnaXQgc3Rhc2ggc2F2ZSAtLXF1aWV0ICYmCi0JZ2l0IHN0YXNoIHBvcCAtcSAtLWluZGV4ID4gb3V0cHV0Lm91dCAyPiYxICYmCisJZ2l0IHN0YXNoIHBvcCAtcSAtLWluZGV4ID5vdXRwdXQub3V0IDI+JjEgJiYKKwlnaXQgZGlmZi1maWxlcyBmaWxlMiA+ZmlsZTIuZGlmZiAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBmaWxlMi5kaWZmICYmCiAJdGVzdCBmb28gPSAiJChnaXQgc2hvdyA6ZmlsZSkiICYmCiAJdGVzdF9tdXN0X2JlX2VtcHR5IG91dHB1dC5vdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZHJvcCAtcSBpcyBxdWlldCcgJwogCWdpdCBzdGFzaCAmJgotCWdpdCBzdGFzaCBkcm9wIC1xID4gb3V0cHV0Lm91dCAyPiYxICYmCisJZ2l0IHN0YXNoIGRyb3AgLXEgPm91dHB1dC5vdXQgMj4mMSAmJgogCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXRwdXQub3V0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIC1rJyAnCi0JZWNobyBiYXIzID4gZmlsZSAmJgotCWVjaG8gYmFyNCA+IGZpbGUyICYmCisJZWNobyBiYXIzID5maWxlICYmCisJZWNobyBiYXI0ID5maWxlMiAmJgogCWdpdCBhZGQgZmlsZTIgJiYKIAlnaXQgc3Rhc2ggLWsgJiYKIAl0ZXN0IGJhcixiYXI0ID0gJChjYXQgZmlsZSksJChjYXQgZmlsZTIpCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIC0tbm8ta2VlcC1pbmRleCcgJwotCWVjaG8gYmFyMzMgPiBmaWxlICYmCi0JZWNobyBiYXI0NCA+IGZpbGUyICYmCisJZWNobyBiYXIzMyA+ZmlsZSAmJgorCWVjaG8gYmFyNDQgPmZpbGUyICYmCiAJZ2l0IGFkZCBmaWxlMiAmJgogCWdpdCBzdGFzaCAtLW5vLWtlZXAtaW5kZXggJiYKIAl0ZXN0IGJhcixiYXIyID0gJChjYXQgZmlsZSksJChjYXQgZmlsZTIpCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RvbnQgYXNzdW1lIHB1c2ggd2l0aCBub24tb3B0aW9uIGFyZ3MnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgc3Rhc2ggLXEgZHJvcCAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgLWUgInN1YmNvbW1hbmQgd2FzbidcJyd0IHNwZWNpZmllZDsgJ1wnJ3B1c2gnXCcnIGNhbidcJyd0IGJlIGFzc3VtZWQgZHVlIHRvIHVuZXhwZWN0ZWQgdG9rZW4gJ1wnJ2Ryb3AnXCcnIiBlcnIKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3Rhc2ggLS1pbnZhbGlkLW9wdGlvbicgJwotCWVjaG8gYmFyNSA+IGZpbGUgJiYKLQllY2hvIGJhcjYgPiBmaWxlMiAmJgorCWVjaG8gYmFyNSA+ZmlsZSAmJgorCWVjaG8gYmFyNiA+ZmlsZTIgJiYKIAlnaXQgYWRkIGZpbGUyICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHN0YXNoIC0taW52YWxpZC1vcHRpb24gJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgc3Rhc2ggc2F2ZSAtLWludmFsaWQtb3B0aW9uICYmCkBAIC0yODcsNiArMzA5LDE0IEBACiAJdGVzdCBuZXcgPSAiJChjYXQgZmlsZTMpIgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCAtLWludGVudC10by1hZGQgZmlsZScgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwllY2hvIG5ldyA+ZmlsZTQgJiYKKwlnaXQgYWRkIC0taW50ZW50LXRvLWFkZCBmaWxlNCAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJtIC1mIGZpbGU0IiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBzdGFzaAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCBybSB0aGVuIHJlY3JlYXRlJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWdpdCBybSBmaWxlICYmCkBAIC00NDQsNiArNDc0LDM2IEBACiAJdGVzdCBmb28gPSAiJChjYXQgZmlsZS9maWxlKSIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l2aW5nIHRvbyBtYW55IHJlZiBhcmd1bWVudHMgZG9lcyBub3QgbW9kaWZ5IGZpbGVzJyAnCisJZ2l0IHN0YXNoIGNsZWFyICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkIEhFQUQiICYmCisJZWNobyBmb28gPmZpbGUyICYmCisJZ2l0IHN0YXNoICYmCisJZWNobyBiYXIgPmZpbGUyICYmCisJZ2l0IHN0YXNoICYmCisJdGVzdC10b29sIGNobXRpbWUgPTEyMzQ1Njc4OSBmaWxlMiAmJgorCWZvciB0eXBlIGluIGFwcGx5IHBvcCAiYnJhbmNoIHN0YXNoLWJyYW5jaCIKKwlkbworCQl0ZXN0X211c3RfZmFpbCBnaXQgc3Rhc2ggJHR5cGUgc3Rhc2hAezB9IHN0YXNoQHsxfSAyPmVyciAmJgorCQl0ZXN0X2kxOG5ncmVwICJUb28gbWFueSByZXZpc2lvbnMiIGVyciAmJgorCQl0ZXN0IDEyMzQ1Njc4OSA9ICQodGVzdC10b29sIGNobXRpbWUgLWcgZmlsZTIpIHx8IHJldHVybiAxCisJZG9uZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkcm9wOiB0b28gbWFueSBhcmd1bWVudHMgZXJyb3JzIG91dCAoZG9lcyBub3RoaW5nKScgJworCWdpdCBzdGFzaCBsaXN0ID5leHBlY3QgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgc3Rhc2ggZHJvcCBzdGFzaEB7MH0gc3Rhc2hAezF9IDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAiVG9vIG1hbnkgcmV2aXNpb25zIiBlcnIgJiYKKwlnaXQgc3Rhc2ggbGlzdCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaG93OiB0b28gbWFueSBhcmd1bWVudHMgZXJyb3JzIG91dCAoZG9lcyBub3RoaW5nKScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCBzdGFzaCBzaG93IHN0YXNoQHswfSBzdGFzaEB7MX0gMj5lcnIgMT5vdXQgJiYKKwl0ZXN0X2kxOG5ncmVwICJUb28gbWFueSByZXZpc2lvbnMiIGVyciAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXQKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3Rhc2ggY3JlYXRlIC0gbm8gY2hhbmdlcycgJwogCWdpdCBzdGFzaCBjbGVhciAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCBIRUFEIiAmJgpAQCAtNDU2LDExICs1MTYsMTIgQEAKIAlnaXQgc3Rhc2ggY2xlYXIgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCAtLWhhcmQgSEVBRCIgJiYKIAlnaXQgcmVzZXQgLS1oYXJkICYmCi0JZWNobyBmb28gPj4gZmlsZSAmJgorCWVjaG8gZm9vID4+ZmlsZSAmJgogCVNUQVNIX0lEPSQoZ2l0IHN0YXNoIGNyZWF0ZSkgJiYKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZ2l0IHN0YXNoIGJyYW5jaCBzdGFzaC1icmFuY2ggJHtTVEFTSF9JRH0gJiYKLQl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCAtLWhhcmQgSEVBRCAmJiBnaXQgY2hlY2tvdXQgbWFzdGVyICYmIGdpdCBicmFuY2ggLUQgc3Rhc2gtYnJhbmNoIiAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCBIRUFEICYmIGdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwlnaXQgYnJhbmNoIC1EIHN0YXNoLWJyYW5jaCIgJiYKIAl0ZXN0ICQoZ2l0IGxzLWZpbGVzIC0tbW9kaWZpZWQgfCB3YyAtbCkgLWVxIDEKICcKIApAQCAtNDY4LDI1ICs1MjksMzEgQEAKIAlnaXQgc3Rhc2ggY2xlYXIgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCAtLWhhcmQgSEVBRCIgJiYKIAlnaXQgcmVzZXQgLS1oYXJkICYmCi0JZWNobyBmb28gPj4gZmlsZSAmJgorCWVjaG8gZm9vID4+ZmlsZSAmJgogCWdpdCBzdGFzaCAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHN0YXNoIGRyb3AiICYmCi0JZWNobyBiYXIgPj4gZmlsZSAmJgorCWVjaG8gYmFyID4+ZmlsZSAmJgogCVNUQVNIX0lEPSQoZ2l0IHN0YXNoIGNyZWF0ZSkgJiYKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZ2l0IHN0YXNoIGJyYW5jaCBzdGFzaC1icmFuY2ggJHtTVEFTSF9JRH0gJiYKLQl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCAtLWhhcmQgSEVBRCAmJiBnaXQgY2hlY2tvdXQgbWFzdGVyICYmIGdpdCBicmFuY2ggLUQgc3Rhc2gtYnJhbmNoIiAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCBIRUFEICYmIGdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwlnaXQgYnJhbmNoIC1EIHN0YXNoLWJyYW5jaCIgJiYKIAl0ZXN0ICQoZ2l0IGxzLWZpbGVzIC0tbW9kaWZpZWQgfCB3YyAtbCkgLWVxIDEKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3Rhc2ggYnJhbmNoIGNvbXBsYWlucyB3aXRoIG5vIGFyZ3VtZW50cycgJworCXRlc3RfbXVzdF9mYWlsIGdpdCBzdGFzaCBicmFuY2ggMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICJObyBicmFuY2ggbmFtZSBzcGVjaWZpZWQiIGVycgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCBzaG93IGZvcm1hdCBkZWZhdWx0cyB0byAtLXN0YXQnICcKIAlnaXQgc3Rhc2ggY2xlYXIgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCAtLWhhcmQgSEVBRCIgJiYKIAlnaXQgcmVzZXQgLS1oYXJkICYmCi0JZWNobyBmb28gPj4gZmlsZSAmJgorCWVjaG8gZm9vID4+ZmlsZSAmJgogCWdpdCBzdGFzaCAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHN0YXNoIGRyb3AiICYmCi0JZWNobyBiYXIgPj4gZmlsZSAmJgorCWVjaG8gYmFyID4+ZmlsZSAmJgogCVNUQVNIX0lEPSQoZ2l0IHN0YXNoIGNyZWF0ZSkgJiYKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKQEAgLTUwMSwxMCArNTY4LDEwIEBACiAJZ2l0IHN0YXNoIGNsZWFyICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkIEhFQUQiICYmCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgotCWVjaG8gZm9vID4+IGZpbGUgJiYKKwllY2hvIGZvbyA+PmZpbGUgJiYKIAlnaXQgc3Rhc2ggJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBzdGFzaCBkcm9wIiAmJgotCWVjaG8gYmFyID4+IGZpbGUgJiYKKwllY2hvIGJhciA+PmZpbGUgJiYKIAlTVEFTSF9JRD0kKGdpdCBzdGFzaCBjcmVhdGUpICYmCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWVjaG8gIjEJMAlmaWxlIiA+ZXhwZWN0ZWQgJiYKQEAgLTUxNiwxMCArNTgzLDEwIEBACiAJZ2l0IHN0YXNoIGNsZWFyICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkIEhFQUQiICYmCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgotCWVjaG8gZm9vID4+IGZpbGUgJiYKKwllY2hvIGZvbyA+PmZpbGUgJiYKIAlnaXQgc3Rhc2ggJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBzdGFzaCBkcm9wIiAmJgotCWVjaG8gYmFyID4+IGZpbGUgJiYKKwllY2hvIGJhciA+PmZpbGUgJiYKIAlTVEFTSF9JRD0kKGdpdCBzdGFzaCBjcmVhdGUpICYmCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCkBAIC01MzIsMTQgKzU5OSwxNCBAQAogCStiYXIKIAlFT0YKIAlnaXQgc3Rhc2ggc2hvdyAtcCAke1NUQVNIX0lEfSA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJZGlmZl9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIHNob3cgLSBubyBzdGFzaGVzIG9uIHN0YWNrLCBzdGFzaC1saWtlIGFyZ3VtZW50JyAnCiAJZ2l0IHN0YXNoIGNsZWFyICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkIEhFQUQiICYmCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgotCWVjaG8gZm9vID4+IGZpbGUgJiYKKwllY2hvIGZvbyA+PmZpbGUgJiYKIAlTVEFTSF9JRD0kKGdpdCBzdGFzaCBjcmVhdGUpICYmCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWVjaG8gIjEJMAlmaWxlIiA+ZXhwZWN0ZWQgJiYKQEAgLTU1MSw3ICs2MTgsNyBAQAogCWdpdCBzdGFzaCBjbGVhciAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCBIRUFEIiAmJgogCWdpdCByZXNldCAtLWhhcmQgJiYKLQllY2hvIGZvbyA+PiBmaWxlICYmCisJZWNobyBmb28gPj5maWxlICYmCiAJU1RBU0hfSUQ9JChnaXQgc3Rhc2ggY3JlYXRlKSAmJgogCWdpdCByZXNldCAtLWhhcmQgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgpAQCAtNTY0LDE2ICs2MzEsMzQgQEAKIAkrZm9vCiAJRU9GCiAJZ2l0IHN0YXNoIHNob3cgLXAgJHtTVEFTSF9JRH0gPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCWRpZmZfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCBkcm9wIC0gZmFpbCBlYXJseSBpZiBzcGVjaWZpZWQgc3Rhc2ggaXMgbm90IGEgc3Rhc2ggcmVmZXJlbmNlJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCBzaG93IC0tcGF0aWVuY2Ugc2hvd3MgZGlmZicgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwllY2hvIGZvbyA+PmZpbGUgJiYKKwlTVEFTSF9JRD0kKGdpdCBzdGFzaCBjcmVhdGUpICYmCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJZGlmZiAtLWdpdCBhL2ZpbGUgYi9maWxlCisJaW5kZXggNzYwMTgwNy4uNzFiNTJjNCAxMDA2NDQKKwktLS0gYS9maWxlCisJKysrIGIvZmlsZQorCUBAIC0xICsxLDIgQEAKKwkgYmF6CisJK2ZvbworCUVPRgorCWdpdCBzdGFzaCBzaG93IC0tcGF0aWVuY2UgJHtTVEFTSF9JRH0gPmFjdHVhbCAmJgorCWRpZmZfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkcm9wOiBmYWlsIGVhcmx5IGlmIHNwZWNpZmllZCBzdGFzaCBpcyBub3QgYSBzdGFzaCByZWYnICcKIAlnaXQgc3Rhc2ggY2xlYXIgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCAtLWhhcmQgSEVBRCAmJiBnaXQgc3Rhc2ggY2xlYXIiICYmCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgotCWVjaG8gZm9vID4gZmlsZSAmJgorCWVjaG8gZm9vID5maWxlICYmCiAJZ2l0IHN0YXNoICYmCi0JZWNobyBiYXIgPiBmaWxlICYmCisJZWNobyBiYXIgPmZpbGUgJiYKIAlnaXQgc3Rhc2ggJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgc3Rhc2ggZHJvcCAkKGdpdCByZXYtcGFyc2Ugc3Rhc2hAezB9KSAmJgogCWdpdCBzdGFzaCBwb3AgJiYKQEAgLTU4MSwxMyArNjY2LDEzIEBACiAJZ2l0IHJlc2V0IC0taGFyZCBIRUFECiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIHBvcCAtIGZhaWwgZWFybHkgaWYgc3BlY2lmaWVkIHN0YXNoIGlzIG5vdCBhIHN0YXNoIHJlZmVyZW5jZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAncG9wOiBmYWlsIGVhcmx5IGlmIHNwZWNpZmllZCBzdGFzaCBpcyBub3QgYSBzdGFzaCByZWYnICcKIAlnaXQgc3Rhc2ggY2xlYXIgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCAtLWhhcmQgSEVBRCAmJiBnaXQgc3Rhc2ggY2xlYXIiICYmCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgotCWVjaG8gZm9vID4gZmlsZSAmJgorCWVjaG8gZm9vID5maWxlICYmCiAJZ2l0IHN0YXNoICYmCi0JZWNobyBiYXIgPiBmaWxlICYmCisJZWNobyBiYXIgPmZpbGUgJiYKIAlnaXQgc3Rhc2ggJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgc3Rhc2ggcG9wICQoZ2l0IHJldi1wYXJzZSBzdGFzaEB7MH0pICYmCiAJZ2l0IHN0YXNoIHBvcCAmJgpAQCAtNTk3LDggKzY4Miw4IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlZiB3aXRoIG5vbi1leGlzdGVudCByZWZsb2cnICcKIAlnaXQgc3Rhc2ggY2xlYXIgJiYKLQllY2hvIGJhcjUgPiBmaWxlICYmCi0JZWNobyBiYXI2ID4gZmlsZTIgJiYKKwllY2hvIGJhcjUgPmZpbGUgJiYKKwllY2hvIGJhcjYgPmZpbGUyICYmCiAJZ2l0IGFkZCBmaWxlMiAmJgogCWdpdCBzdGFzaCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS1xdWlldCAtLXZlcmlmeSBkb2VzLW5vdC1leGlzdCAmJgpAQCAtNjE4LDggKzcwMyw4IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbnZhbGlkIHJlZiBvZiB0aGUgZm9ybSBzdGFzaEB7bn0sIG4gPj0gTicgJwogCWdpdCBzdGFzaCBjbGVhciAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBzdGFzaCBkcm9wIHN0YXNoQHswfSAmJgotCWVjaG8gYmFyNSA+IGZpbGUgJiYKLQllY2hvIGJhcjYgPiBmaWxlMiAmJgorCWVjaG8gYmFyNSA+ZmlsZSAmJgorCWVjaG8gYmFyNiA+ZmlsZTIgJiYKIAlnaXQgYWRkIGZpbGUyICYmCiAJZ2l0IHN0YXNoICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHN0YXNoIGRyb3Agc3Rhc2hAezF9ICYmCkBAIC02NDUsNyArNzMwLDI1IEBACiAJZ2l0IHN0YXNoIGRyb3AKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3Rhc2ggYnJhbmNoIHNob3VsZCBub3QgZHJvcCB0aGUgc3Rhc2ggaWYgdGhlIGJyYW5jaCBleGlzdHMnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZhbGlkIHJlZiBvZiB0aGUgZm9ybSAibiIsIG4gPCBOJyAnCisJZ2l0IHN0YXNoIGNsZWFyICYmCisJZWNobyBiYXI1ID5maWxlICYmCisJZWNobyBiYXI2ID5maWxlMiAmJgorCWdpdCBhZGQgZmlsZTIgJiYKKwlnaXQgc3Rhc2ggJiYKKwlnaXQgc3Rhc2ggc2hvdyAwICYmCisJZ2l0IHN0YXNoIGJyYW5jaCB0bXAgMCAmJgorCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwlnaXQgc3Rhc2ggJiYKKwlnaXQgc3Rhc2ggYXBwbHkgMCAmJgorCWdpdCByZXNldCAtLWhhcmQgJiYKKwlnaXQgc3Rhc2ggcG9wIDAgJiYKKwlnaXQgc3Rhc2ggJiYKKwlnaXQgc3Rhc2ggZHJvcCAwICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHN0YXNoIGRyb3AKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYnJhbmNoOiBkbyBub3QgZHJvcCB0aGUgc3Rhc2ggaWYgdGhlIGJyYW5jaCBleGlzdHMnICcKIAlnaXQgc3Rhc2ggY2xlYXIgJiYKIAllY2hvIGZvbyA+ZmlsZSAmJgogCWdpdCBhZGQgZmlsZSAmJgpAQCAtNjU2LDcgKzc1OSw3IEBACiAJZ2l0IHJldi1wYXJzZSBzdGFzaEB7MH0gLS0KICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3Rhc2ggYnJhbmNoIHNob3VsZCBub3QgZHJvcCB0aGUgc3Rhc2ggaWYgdGhlIGFwcGx5IGZhaWxzJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdicmFuY2g6IHNob3VsZCBub3QgZHJvcCB0aGUgc3Rhc2ggaWYgdGhlIGFwcGx5IGZhaWxzJyAnCiAJZ2l0IHN0YXNoIGNsZWFyICYmCiAJZ2l0IHJlc2V0IEhFQUR+MSAtLWhhcmQgJiYKIAllY2hvIGZvbyA+ZmlsZSAmJgpAQCAtNjcwLDcgKzc3Myw3IEBACiAJZ2l0IHJldi1wYXJzZSBzdGFzaEB7MH0gLS0KICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3Rhc2ggYXBwbHkgc2hvd3Mgc3RhdHVzIHNhbWUgYXMgZ2l0IHN0YXR1cyAocmVsYXRpdmUgdG8gY3VycmVudCBkaXJlY3RvcnkpJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhcHBseTogc2hvdyBzYW1lIHN0YXR1cyBhcyBnaXQgc3RhdHVzIChyZWxhdGl2ZSB0byAuLyknICcKIAlnaXQgc3Rhc2ggY2xlYXIgJiYKIAllY2hvIDEgPnN1YmRpci9zdWJmaWxlMSAmJgogCWVjaG8gMiA+c3ViZGlyL3N1YmZpbGUyICYmCkBAIC02ODksNyArNzkyLDcgQEAKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAogJwogCi1jYXQgPiBleHBlY3QgPDwgRU9GCitjYXQgPmV4cGVjdCA8PEVPRgogZGlmZiAtLWdpdCBhL0hFQUQgYi9IRUFECiBuZXcgZmlsZSBtb2RlIDEwMDY0NAogaW5kZXggMDAwMDAwMC4uZmUwY2JlZQpAQCAtNzAyLDE1ICs4MDUsMTUgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIHdoZXJlIHdvcmtpbmcgZGlyZWN0b3J5IGNvbnRhaW5zICJIRUFEIiBmaWxlJyAnCiAJZ2l0IHN0YXNoIGNsZWFyICYmCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgotCWVjaG8gZmlsZS1ub3QtYS1yZWYgPiBIRUFEICYmCisJZWNobyBmaWxlLW5vdC1hLXJlZiA+SEVBRCAmJgogCWdpdCBhZGQgSEVBRCAmJgogCXRlc3RfdGljayAmJgogCWdpdCBzdGFzaCAmJgogCWdpdCBkaWZmLWZpbGVzIC0tcXVpZXQgJiYKIAlnaXQgZGlmZi1pbmRleCAtLWNhY2hlZCAtLXF1aWV0IEhFQUQgJiYKIAl0ZXN0ICIkKGdpdCByZXYtcGFyc2Ugc3Rhc2heKSIgPSAiJChnaXQgcmV2LXBhcnNlIEhFQUQpIiAmJgotCWdpdCBkaWZmIHN0YXNoXi4uc3Rhc2ggPiBvdXRwdXQgJiYKLQl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CisJZ2l0IGRpZmYgc3Rhc2heLi5zdGFzaCA+b3V0cHV0ICYmCisJZGlmZl9jbXAgZXhwZWN0IG91dHB1dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdG9yZSBjYWxsZWQgd2l0aCBpbnZhbGlkIGNvbW1pdCcgJwpAQCAtNzY2LDcgKzg2OSw3IEBACiAJK3dvcmtpbmcKIAlFT0YKIAlnaXQgc3Rhc2ggbGlzdCAtLWZvcm1hdD0lZ2QgLXAgPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwlkaWZmX2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIGxpc3QgLS1jYyBzaG93cyBjb21iaW5lZCBkaWZmJyAnCkBAIC03ODMsNyArODg2LDcgQEAKIAkrK3dvcmtpbmcKIAlFT0YKIAlnaXQgc3Rhc2ggbGlzdCAtLWZvcm1hdD0lZ2QgLXAgLS1jYyA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCWRpZmZfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3Rhc2ggaXMgbm90IGNvbmZ1c2VkIGJ5IHBhcnRpYWwgcmVuYW1lcycgJwpAQCAtMTAxMSw3ICsxMTE0LDcgQEAKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCBwdXNoIHdpdGggcGF0aHNwZWMgc2hvd3Mgbm8gY2hhbmdlcyB3aGVuIHRoZXJlIGFyZSBub25lJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIDxwYXRoc3BlYz46IHNob3cgbm8gY2hhbmdlcyB3aGVuIHRoZXJlIGFyZSBub25lJyAnCiAJPmZvbyAmJgogCWdpdCBhZGQgZm9vICYmCiAJZ2l0IGNvbW1pdCAtbSAidG1wIiAmJgpAQCAtMTAyMSwxMiArMTEyNCwzNSBAQAogCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIHB1c2ggd2l0aCBwYXRoc3BlYyBub3QgaW4gdGhlIHJlcG9zaXRvcnkgZXJyb3JzIG91dCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaDogPHBhdGhzcGVjPiBub3QgaW4gdGhlIHJlcG9zaXRvcnkgZXJyb3JzIG91dCcgJwogCT51bnRyYWNrZWQgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgc3Rhc2ggcHVzaCB1bnRyYWNrZWQgJiYKIAl0ZXN0X3BhdGhfaXNfZmlsZSB1bnRyYWNrZWQKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaDogLXEgaXMgcXVpZXQgd2l0aCBjaGFuZ2VzJyAnCisJPmZvbyAmJgorCWdpdCBhZGQgZm9vICYmCisJZ2l0IHN0YXNoIHB1c2ggLXEgPm91dHB1dCAyPiYxICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IG91dHB1dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoOiAtcSBpcyBxdWlldCB3aXRoIG5vIGNoYW5nZXMnICcKKwlnaXQgc3Rhc2ggcHVzaCAtcSA+b3V0cHV0IDI+JjEgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgb3V0cHV0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2g6IC1xIGlzIHF1aWV0IGV2ZW4gaWYgdGhlcmUgaXMgbm8gaW5pdGlhbCBjb21taXQnICcKKwlnaXQgaW5pdCBmb29fZGlyICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkIHJtIC1yZiBmb29fZGlyICYmCisJKAorCQljZCBmb29fZGlyICYmCisJCT5iYXIgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHN0YXNoIHB1c2ggLXEgPm91dHB1dCAyPiYxICYmCisJCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXRwdXQKKwkpCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VudHJhY2tlZCBmaWxlcyBhcmUgbGVmdCBpbiBwbGFjZSB3aGVuIC11IGlzIG5vdCBnaXZlbicgJwogCT5maWxlICYmCiAJZ2l0IGFkZCBmaWxlICYmCkBAIC0xMDk2LDQgKzEyMjIsNzIgQEAKIAl0ZXN0X3BhdGhfaXNfZmlsZSBzdWJkaXIvdW50cmFja2VkCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIHdpdGggdXNlci5uYW1lIGFuZCB1c2VyLmVtYWlsIHNldCB3b3JrcycgJworCXRlc3RfY29uZmlnIHVzZXIubmFtZSAiQSBVIFRob3IiICYmCisJdGVzdF9jb25maWcgdXNlci5lbWFpbCAiYS51QHRob3IiICYmCisJZ2l0IHN0YXNoCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIHdvcmtzIHdoZW4gdXNlci5uYW1lIGFuZCB1c2VyLmVtYWlsIGFyZSBub3Qgc2V0JyAnCisJZ2l0IHJlc2V0ICYmCisJPjEgJiYKKwlnaXQgYWRkIDEgJiYKKwllY2hvICIkR0lUX0FVVEhPUl9OQU1FIDwkR0lUX0FVVEhPUl9FTUFJTD4iID5leHBlY3QgJiYKKwlnaXQgc3Rhc2ggJiYKKwlnaXQgc2hvdyAtcyAtLWZvcm1hdD0iJWFuIDwlYWU+IiByZWZzL3N0YXNoID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJPjIgJiYKKwlnaXQgYWRkIDIgJiYKKwl0ZXN0X2NvbmZpZyB1c2VyLnVzZWNvbmZpZ29ubHkgdHJ1ZSAmJgorCXRlc3RfY29uZmlnIHN0YXNoLnVzZWJ1aWx0aW4gdHJ1ZSAmJgorCSgKKwkJc2FuZV91bnNldCBHSVRfQVVUSE9SX05BTUUgJiYKKwkJc2FuZV91bnNldCBHSVRfQVVUSE9SX0VNQUlMICYmCisJCXNhbmVfdW5zZXQgR0lUX0NPTU1JVFRFUl9OQU1FICYmCisJCXNhbmVfdW5zZXQgR0lUX0NPTU1JVFRFUl9FTUFJTCAmJgorCQl0ZXN0X3VuY29uZmlnIHVzZXIuZW1haWwgJiYKKwkJdGVzdF91bmNvbmZpZyB1c2VyLm5hbWUgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbW1pdCAtbSAic2hvdWxkIGZhaWwiICYmCisJCWVjaG8gImdpdCBzdGFzaCA8Z2l0QHN0YXNoPiIgPmV4cGVjdCAmJgorCQk+MiAmJgorCQlnaXQgc3Rhc2ggJiYKKwkJZ2l0IHNob3cgLXMgLS1mb3JtYXQ9IiVhbiA8JWFlPiIgcmVmcy9zdGFzaCA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIC0ta2VlcC1pbmRleCB3aXRoIGZpbGUgZGVsZXRlZCBpbiBpbmRleCBkb2VzIG5vdCByZXN1cnJlY3QgaXQgb24gZGlzaycgJworCXRlc3RfY29tbWl0IHRvLXJlbW92ZSB0by1yZW1vdmUgJiYKKwlnaXQgcm0gdG8tcmVtb3ZlICYmCisJZ2l0IHN0YXNoIC0ta2VlcC1pbmRleCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHRvLXJlbW92ZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCBhcHBseSBzaG91bGQgc3VjY2VlZCB3aXRoIHVubW9kaWZpZWQgZmlsZScgJworCWVjaG8gYmFzZSA+ZmlsZSAmJgorCWdpdCBhZGQgZmlsZSAmJgorCWdpdCBjb21taXQgLW0gYmFzZSAmJgorCisJIyBub3cgc3Rhc2ggYSBtb2RpZmljYXRpb24KKwllY2hvIG1vZGlmaWVkID5maWxlICYmCisJZ2l0IHN0YXNoICYmCisKKwkjIG1ha2UgdGhlIGZpbGUgc3RhdCBkaXJ0eQorCWNwIGZpbGUgb3RoZXIgJiYKKwltdiBvdGhlciBmaWxlICYmCisKKwlnaXQgc3Rhc2ggYXBwbHkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3Rhc2ggaGFuZGxlcyBza2lwLXdvcmt0cmVlIGVudHJpZXMgbmljZWx5JyAnCisJdGVzdF9jb21taXQgQSAmJgorCWVjaG8gY2hhbmdlZCA+QS50ICYmCisJZ2l0IGFkZCBBLnQgJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tc2tpcC13b3JrdHJlZSBBLnQgJiYKKwlybSBBLnQgJiYKKwlnaXQgc3Rhc2ggJiYKKworCWdpdCByZXYtcGFyc2UgLS12ZXJpZnkgcmVmcy9zdGFzaDpBLnQKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzOTA1LXN0YXNoLWluY2x1ZGUtdW50cmFja2VkLnNoIGIvdC90MzkwNS1zdGFzaC1pbmNsdWRlLXVudHJhY2tlZC5zaAppbmRleCBjYzFjOGE3Li5mMDc1YzdmIDEwMDc1NQotLS0gYS90L3QzOTA1LXN0YXNoLWluY2x1ZGUtdW50cmFja2VkLnNoCisrKyBiL3QvdDM5MDUtc3Rhc2gtaW5jbHVkZS11bnRyYWNrZWQuc2gKQEAgLTI3NywxMCArMjc3LDE2IEBACiAJdGVzdF9wYXRoX2lzX2ZpbGUgaWdub3JlZC5kL2JhcgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCAtdSAtLSA8bm9uLWV4aXN0YW50PiBzaG93cyBubyBjaGFuZ2VzIHdoZW4gdGhlcmUgYXJlIG5vbmUnICcKLQlnaXQgc3Rhc2ggcHVzaCAtdSAtLSBub24tZXhpc3RhbnQgPmFjdHVhbCAmJgordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3Rhc2ggLXUgLS0gPG5vbi1leGlzdGVudD4gc2hvd3Mgbm8gY2hhbmdlcyB3aGVuIHRoZXJlIGFyZSBub25lJyAnCisJZ2l0IHN0YXNoIHB1c2ggLXUgLS0gbm9uLWV4aXN0ZW50ID5hY3R1YWwgJiYKIAllY2hvICJObyBsb2NhbCBjaGFuZ2VzIHRvIHNhdmUiID5leHBlY3QgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFzaCAtdSB3aXRoIGdsb2JzJyAnCisJPnVudHJhY2tlZC50eHQgJiYKKwlnaXQgc3Rhc2ggLXUgLS0gIjooZ2xvYikqKi8qLnR4dCIgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyB1bnRyYWNrZWQudHh0CisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzkwNi1zdGFzaC1zdWJtb2R1bGUuc2ggYi90L3QzOTA2LXN0YXNoLXN1Ym1vZHVsZS5zaAppbmRleCBkNzIxOWQ2Li5iOTNkMWQ3IDEwMDc1NQotLS0gYS90L3QzOTA2LXN0YXNoLXN1Ym1vZHVsZS5zaAorKysgYi90L3QzOTA2LXN0YXNoLXN1Ym1vZHVsZS5zaApAQCAtMSw2ICsxLDYgQEAKICMhL2Jpbi9zaAogCi10ZXN0X2Rlc2NyaXB0aW9uPSdzdGFzaCBhcHBseSBjYW4gaGFuZGxlIHN1Ym1vZHVsZXMnCit0ZXN0X2Rlc2NyaXB0aW9uPSdzdGFzaCBjYW4gaGFuZGxlIHN1Ym1vZHVsZXMnCiAKIC4gLi90ZXN0LWxpYi5zaAogLiAiJFRFU1RfRElSRUNUT1JZIi9saWItc3VibW9kdWxlLXVwZGF0ZS5zaApAQCAtMjEsNCArMjEsNDQgQEAKIEtOT1dOX0ZBSUxVUkVfTk9GRl9NRVJHRV9ET0VTTlRfQ1JFQVRFX0VNUFRZX1NVQk1PRFVMRV9ESVI9MQogdGVzdF9zdWJtb2R1bGVfc3dpdGNoICJnaXRfc3Rhc2giCiAKK3NldHVwX2Jhc2ljICgpIHsKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBtYWluIHN1YiIgJiYKKwlnaXQgaW5pdCBzdWIgJiYKKwkoCisJCWNkIHN1YiAmJgorCQl0ZXN0X2NvbW1pdCBzdWJfZmlsZQorCSkgJiYKKwlnaXQgaW5pdCBtYWluICYmCisJKAorCQljZCBtYWluICYmCisJCWdpdCBzdWJtb2R1bGUgYWRkIC4uL3N1YiAmJgorCQl0ZXN0X2NvbW1pdCBtYWluX2ZpbGUKKwkpCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXNoIHB1c2ggd2l0aCBzdWJtb2R1bGUucmVjdXJzZT10cnVlIHByZXNlcnZlcyBkaXJ0eSBzdWJtb2R1bGUgd29ya3RyZWUnICcKKwlzZXR1cF9iYXNpYyAmJgorCSgKKwkJY2QgbWFpbiAmJgorCQlnaXQgY29uZmlnIHN1Ym1vZHVsZS5yZWN1cnNlIHRydWUgJiYKKwkJZWNobyAieCIgPm1haW5fZmlsZS50ICYmCisJCWVjaG8gInkiID5zdWIvc3ViX2ZpbGUudCAmJgorCQlnaXQgc3Rhc2ggcHVzaCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgLUMgc3ViIGRpZmYgLS1xdWlldAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3Rhc2ggcHVzaCBhbmQgcG9wIHdpdGggc3VibW9kdWxlLnJlY3Vyc2U9dHJ1ZSBwcmVzZXJ2ZXMgZGlydHkgc3VibW9kdWxlIHdvcmt0cmVlJyAnCisJc2V0dXBfYmFzaWMgJiYKKwkoCisJCWNkIG1haW4gJiYKKwkJZ2l0IGNvbmZpZyBzdWJtb2R1bGUucmVjdXJzZSB0cnVlICYmCisJCWVjaG8gIngiID5tYWluX2ZpbGUudCAmJgorCQllY2hvICJ5IiA+c3ViL3N1Yl9maWxlLnQgJiYKKwkJZ2l0IHN0YXNoIHB1c2ggJiYKKwkJZ2l0IHN0YXNoIHBvcCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgLUMgc3ViIGRpZmYgLS1xdWlldAorCSkKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzOTA3LXN0YXNoLXNob3ctY29uZmlnLnNoIGIvdC90MzkwNy1zdGFzaC1zaG93LWNvbmZpZy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMDkxNGJiCi0tLSAvZGV2L251bGwKKysrIGIvdC90MzkwNy1zdGFzaC1zaG93LWNvbmZpZy5zaApAQCAtMCwwICsxLDgzIEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nVGVzdCBnaXQgc3Rhc2ggc2hvdyBjb25maWd1cmF0aW9uLicKKworLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJdGVzdF9jb21taXQgZmlsZQorJworCisjIHRha2VzIHRocmVlIHBhcmFtZXRlcnM6CisjIDEuIHRoZSBzdGFzaC5zaG93U3RhdCB2YWx1ZSAob3IgIjx1bnNldD4iKQorIyAyLiB0aGUgc3Rhc2guc2hvd1BhdGNoIHZhbHVlIChvciAiPHVuc2V0PiIpCisjIDMuIHRoZSBkaWZmIG9wdGlvbnMgb2YgdGhlIGV4cGVjdGVkIG91dHB1dCAob3Igbm90aGluZyBmb3Igbm8gb3V0cHV0KQordGVzdF9zdGF0X2FuZF9wYXRjaCAoKSB7CisJaWYgdGVzdCAiPHVuc2V0PiIgPSAiJDEiCisJdGhlbgorCQl0ZXN0X3VuY29uZmlnIHN0YXNoLnNob3dTdGF0CisJZWxzZQorCQl0ZXN0X2NvbmZpZyBzdGFzaC5zaG93U3RhdCAiJDEiCisJZmkgJiYKKworCWlmIHRlc3QgIjx1bnNldD4iID0gIiQyIgorCXRoZW4KKwkJdGVzdF91bmNvbmZpZyBzdGFzaC5zaG93UGF0Y2gKKwllbHNlCisJCXRlc3RfY29uZmlnIHN0YXNoLnNob3dQYXRjaCAiJDIiCisJZmkgJiYKKworCXNoaWZ0IDIgJiYKKwllY2hvIDIgPmZpbGUudCAmJgorCWlmIHRlc3QgJCMgIT0gMAorCXRoZW4KKwkJZ2l0IGRpZmYgIiRAIiA+ZXhwZWN0CisJZmkgJiYKKwlnaXQgc3Rhc2ggJiYKKwlnaXQgc3Rhc2ggc2hvdyA+YWN0dWFsICYmCisKKwlpZiB0ZXN0ICQjID0gMAorCXRoZW4KKwkJdGVzdF9tdXN0X2JlX2VtcHR5IGFjdHVhbAorCWVsc2UKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCWZpCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Nob3dTdGF0IHVuc2V0IHNob3dQYXRjaCB1bnNldCcgJworCXRlc3Rfc3RhdF9hbmRfcGF0Y2ggIjx1bnNldD4iICI8dW5zZXQ+IiAtLXN0YXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hvd1N0YXQgdW5zZXQgc2hvd1BhdGNoIGZhbHNlJyAnCisJdGVzdF9zdGF0X2FuZF9wYXRjaCAiPHVuc2V0PiIgZmFsc2UgLS1zdGF0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Nob3dTdGF0IHVuc2V0IHNob3dQYXRjaCB0cnVlJyAnCisJdGVzdF9zdGF0X2FuZF9wYXRjaCAiPHVuc2V0PiIgdHJ1ZSAtLXN0YXQgLXAKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hvd1N0YXQgZmFsc2Ugc2hvd1BhdGNoIHVuc2V0JyAnCisJdGVzdF9zdGF0X2FuZF9wYXRjaCBmYWxzZSAiPHVuc2V0PiIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hvd1N0YXQgZmFsc2Ugc2hvd1BhdGNoIGZhbHNlJyAnCisJdGVzdF9zdGF0X2FuZF9wYXRjaCBmYWxzZSBmYWxzZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaG93U3RhdCBmYWxzZSBzaG93UGF0Y2ggdHJ1ZScgJworCXRlc3Rfc3RhdF9hbmRfcGF0Y2ggZmFsc2UgdHJ1ZSAtcAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaG93U3RhdCB0cnVlIHNob3dQYXRjaCB1bnNldCcgJworCXRlc3Rfc3RhdF9hbmRfcGF0Y2ggdHJ1ZSAiPHVuc2V0PiIgLS1zdGF0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Nob3dTdGF0IHRydWUgc2hvd1BhdGNoIGZhbHNlJyAnCisJdGVzdF9zdGF0X2FuZF9wYXRjaCB0cnVlIGZhbHNlIC0tc3RhdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaG93U3RhdCB0cnVlIHNob3dQYXRjaCB0cnVlJyAnCisJdGVzdF9zdGF0X2FuZF9wYXRjaCB0cnVlIHRydWUgLS1zdGF0IC1wCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90MzkwOC1zdGFzaC1pbi13b3JrdHJlZS5zaCBiL3QvdDM5MDgtc3Rhc2gtaW4td29ya3RyZWUuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmIyYjM2NgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDM5MDgtc3Rhc2gtaW4td29ya3RyZWUuc2gKQEAgLTAsMCArMSwyNyBAQAorIyEvYmluL3NoCisjCisjIENvcHlyaWdodCAoYykgMjAxOSBKb2hhbm5lcyBFIFNjaGluZGVsaW4KKyMKKwordGVzdF9kZXNjcmlwdGlvbj0nVGVzdCBnaXQgc3Rhc2ggaW4gYSB3b3JrdHJlZScKKworLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJdGVzdF9jb21taXQgaW5pdGlhbCAmJgorCWdpdCB3b3JrdHJlZSBhZGQgd3QgJiYKKwl0ZXN0X2NvbW1pdCAtQyB3dCBpbi13b3JrdHJlZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhcHBseSBpbiBzdWJkaXJlY3RvcnknICcKKwlta2RpciB3dC9zdWJkaXIgJiYKKwkoCisJCWNkIHd0L3N1YmRpciAmJgorCQllY2hvIG1vZGlmaWVkID4uLi9pbml0aWFsLnQgJiYKKwkJZ2l0IHN0YXNoICYmCisJCWdpdCBzdGFzaCBhcHBseSA+b3V0CisJKSAmJgorCWdyZXAgIlwuXC5cL2luaXRpYWxcLnQiIHd0L3N1YmRpci9vdXQKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3QzOTA5LXN0YXNoLXBhdGhzcGVjLWZpbGUuc2ggYi90L3QzOTA5LXN0YXNoLXBhdGhzcGVjLWZpbGUuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTVlMDUwYwotLS0gL2Rldi9udWxsCisrKyBiL3QvdDM5MDktc3Rhc2gtcGF0aHNwZWMtZmlsZS5zaApAQCAtMCwwICsxLDEwMCBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J3N0YXNoIC0tcGF0aHNwZWMtZnJvbS1maWxlJworCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF90aWNrCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3Mgc2V0dXAgJworCT5maWxlQS50ICYmCisJPmZpbGVCLnQgJiYKKwk+ZmlsZUMudCAmJgorCT5maWxlRC50ICYmCisJZ2l0IGFkZCBmaWxlQS50IGZpbGVCLnQgZmlsZUMudCBmaWxlRC50ICYmCisJZ2l0IGNvbW1pdCAtbSAiRmlsZXMiICYmCisKKwlnaXQgdGFnIGNoZWNrcG9pbnQKKycKKworcmVzdG9yZV9jaGVja3BvaW50ICgpIHsKKwlnaXQgcmVzZXQgLS1oYXJkIGNoZWNrcG9pbnQKK30KKwordmVyaWZ5X2V4cGVjdCAoKSB7CisJZ2l0IHN0YXNoIHNob3cgLS1uYW1lLXN0YXR1cyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaW1wbGVzdCcgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJIyBNb3JlIGZpbGVzIGFyZSB3cml0dGVuIHRvIG1ha2Ugc3VyZSB0aGF0IGdpdCBkaWRudCBpZ25vcmUKKwkjIC0tcGF0aHNwZWMtZnJvbS1maWxlLCBzdGFzaGluZyBldmVyeXRoaW5nCisJZWNobyBBID5maWxlQS50ICYmCisJZWNobyBCID5maWxlQi50ICYmCisJZWNobyBDID5maWxlQy50ICYmCisJZWNobyBEID5maWxlRC50ICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJTQlmaWxlQS50CisJRU9GCisKKwllY2hvIGZpbGVBLnQgfCBnaXQgc3Rhc2ggcHVzaCAtLXBhdGhzcGVjLWZyb20tZmlsZT0tICYmCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXBhdGhzcGVjLWZpbGUtbnVsJyAnCisJcmVzdG9yZV9jaGVja3BvaW50ICYmCisKKwkjIE1vcmUgZmlsZXMgYXJlIHdyaXR0ZW4gdG8gbWFrZSBzdXJlIHRoYXQgZ2l0IGRpZG50IGlnbm9yZQorCSMgLS1wYXRoc3BlYy1mcm9tLWZpbGUsIHN0YXNoaW5nIGV2ZXJ5dGhpbmcKKwllY2hvIEEgPmZpbGVBLnQgJiYKKwllY2hvIEIgPmZpbGVCLnQgJiYKKwllY2hvIEMgPmZpbGVDLnQgJiYKKwllY2hvIEQgPmZpbGVELnQgJiYKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlNCWZpbGVBLnQKKwlNCWZpbGVCLnQKKwlFT0YKKworCXByaW50ZiAiZmlsZUEudFwwZmlsZUIudFwwIiB8IGdpdCBzdGFzaCBwdXNoIC0tcGF0aHNwZWMtZnJvbS1maWxlPS0gLS1wYXRoc3BlYy1maWxlLW51bCAmJgorCXZlcmlmeV9leHBlY3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnb25seSB0b3VjaGVzIHdoYXQgd2FzIGxpc3RlZCcgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJIyBNb3JlIGZpbGVzIGFyZSB3cml0dGVuIHRvIG1ha2Ugc3VyZSB0aGF0IGdpdCBkaWRudCBpZ25vcmUKKwkjIC0tcGF0aHNwZWMtZnJvbS1maWxlLCBzdGFzaGluZyBldmVyeXRoaW5nCisJZWNobyBBID5maWxlQS50ICYmCisJZWNobyBCID5maWxlQi50ICYmCisJZWNobyBDID5maWxlQy50ICYmCisJZWNobyBEID5maWxlRC50ICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJTQlmaWxlQi50CisJTQlmaWxlQy50CisJRU9GCisKKwlwcmludGYgImZpbGVCLnRcbmZpbGVDLnRcbiIgfCBnaXQgc3Rhc2ggcHVzaCAtLXBhdGhzcGVjLWZyb20tZmlsZT0tICYmCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdlcnJvciBjb25kaXRpb25zJyAnCisJcmVzdG9yZV9jaGVja3BvaW50ICYmCisJZWNobyBBID5maWxlQS50ICYmCisJZWNobyBmaWxlQS50ID5saXN0ICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgc3Rhc2ggcHVzaCAtLXBhdGhzcGVjLWZyb20tZmlsZT1saXN0IC0tcGF0Y2ggMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwIC1lICItLXBhdGhzcGVjLWZyb20tZmlsZSBpcyBpbmNvbXBhdGlibGUgd2l0aCAtLXBhdGNoIiBlcnIgJiYKKworCXRlc3RfbXVzdF9mYWlsIGdpdCBzdGFzaCBwdXNoIC0tcGF0aHNwZWMtZnJvbS1maWxlPWxpc3QgLS0gZmlsZUEudCAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgLWUgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIHBhdGhzcGVjIGFyZ3VtZW50cyIgZXJyICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgc3Rhc2ggcHVzaCAtLXBhdGhzcGVjLWZpbGUtbnVsIDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAtZSAiLS1wYXRoc3BlYy1maWxlLW51bCByZXF1aXJlcyAtLXBhdGhzcGVjLWZyb20tZmlsZSIgZXJyCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDAwMC1kaWZmLWZvcm1hdC5zaCBiL3QvdDQwMDAtZGlmZi1mb3JtYXQuc2gKaW5kZXggOGRlMzZiNy4uZTUxMTZhNyAxMDA3NTUKLS0tIGEvdC90NDAwMC1kaWZmLWZvcm1hdC5zaAorKysgYi90L3Q0MDAwLWRpZmYtZm9ybWF0LnNoCkBAIC03OCw3ICs3OCw3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBkaWZmLWZpbGVzIC0tbm8tcGF0Y2ggLS1wYXRjaC13aXRoLXJhdyBzaG93cyB0aGUgcGF0Y2ggYW5kIHJhdyBkYXRhJyAnCiAJZ2l0IGRpZmYtZmlsZXMgLS1uby1wYXRjaCAtLXBhdGNoLXdpdGgtcmF3ID5hY3R1YWwgJiYKLQlncmVwIC1xICJeOjEwMDY0NCAxMDA3NTUgLiogMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNCXBhdGgwXCQiIGFjdHVhbCAmJgorCWdyZXAgLXEgIl46MTAwNjQ0IDEwMDc1NSAuKiAkWkVST19PSUQgTQlwYXRoMFwkIiBhY3R1YWwgJiYKIAl0YWlsIC1uICs0IGFjdHVhbCA+YWN0dWFsLXBhdGNoICYmCiAJY29tcGFyZV9kaWZmX3BhdGNoIGV4cGVjdGVkIGFjdHVhbC1wYXRjaAogJwpkaWZmIC0tZ2l0IGEvdC90NDAwMi1kaWZmLWJhc2ljLnNoIGIvdC90NDAwMi1kaWZmLWJhc2ljLnNoCmluZGV4IDNhNmMyMWUuLmNiY2RkMTAgMTAwNzU1Ci0tLSBhL3QvdDQwMDItZGlmZi1iYXNpYy5zaAorKysgYi90L3Q0MDAyLWRpZmYtYmFzaWMuc2gKQEAgLTcsMTIzICs3LDI3MiBAQAogCiAnCiAuIC4vdGVzdC1saWIuc2gKKwogLiAiJFRFU1RfRElSRUNUT1JZIi9saWItcmVhZC10cmVlLW0tM3dheS5zaAogCi1jYXQgPi50ZXN0LXBsYWluLU9BIDw8XEVPRgotOjAwMDAwMCAxMDA2NDQgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBjY2JhNzJhZDM4ODhhMzUyMGIzOWVmY2Y3ODBiOWVlNjQxNjc1MzVkIEEJQUEKLTowMDAwMDAgMTAwNjQ0IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgN2U0MjZmYjA3OTQ3OWZkNjdmNmQ4MWY5ODRlNGVjNjQ5YTQ0YmMyNSBBCUFOCi06MTAwNjQ0IDAwMDAwMCBiY2M2OGVmOTk3MDE3NDY2ZDVjOTA5NGJjZjc2OTIyOTVmNTg4YzlhIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgRAlERAotOjAwMDAwMCAwNDAwMDAgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCA2ZDUwZjY1ZDNiZGFiOTFjNjM0NDQyOTRkMzhmMDhhZWZmMzI4ZTQyIEEJREYKLToxMDA2NDQgMDAwMDAwIDE0MWMxZjE2NDIzMjhlNGJjNDZhN2Q4MDFhNzFkYTM5MmU2Njc5MWUgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBECURNCi06MTAwNjQ0IDAwMDAwMCAzNWFiZGUxNTA2ZGRmODA2NTcyZmY0ZDQwN2JkMDY4ODVkMGY4ZWU5IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgRAlETgotOjAwMDAwMCAxMDA2NDQgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAxZDQxMTIyZWJkZDdhNjQwZjI5ZDNjOWNjNGY5ZDcwMDk0Mzc0NzYyIEEJTEwKLToxMDA2NDQgMTAwNjQ0IDAzZjI0YzhjNDcwMGJhYmNjZmQyOGI2NTRlN2U4ZWFjNDAyYWQ2Y2QgMTAzZDlmODliNTBiOWFhZDAzMDU0YjU3OWJlNWU3YWE2NjVmMmQ1NyBNCU1ECi06MTAwNjQ0IDEwMDY0NCBiMjU4NTA4YWZiN2NlYjQ0OTk4MWJkOWQ2M2QyZDNlOTcxYmY4ZDM0IGI0MzFiMjcyZDgyOWZmM2FhNGQxYTUwODVmNDM5NGFiNGQzMzA1YjYgTQlNTQotOjEwMDY0NCAxMDA2NDQgYmQwODRiMGMyN2M3YjZjYzM0ZjExZDZkMDUwOWEyOWJlM2NhZjk3MCBhNzE2ZDU4ZGU0YTU3MGUwMDM4ZjVjMzA3YmQ4ZGIzNGRhZWEwMjFmIE0JTU4KLToxMDA2NDQgMTAwNjQ0IDQwYzk1OWY5ODRjOGI4OWEyYjAyNTIwZDE3ZjAwZDcxN2YwMjQzOTcgMmFjNTQ3YWU5NjE0YTAwZDFiMjgyNzVkZTYwODEzMWY3YTBlMjU5ZiBNCVNTCi06MTAwNjQ0IDEwMDY0NCA0YWMxMzQ1ODg5OWFiOTA4ZWYzYjExMjhmYTM3OGRhZWZjODhkMzU2IDRjODZmOWE4NWZiYzVlNjgwNGVlMmUxN2E3OTc1MzhmYmU3ODViY2EgTQlUVAotOjA0MDAwMCAwNDAwMDAgN2Q2NzBmZGNkYjk5MjlmNmM3ZGFjMTk2ZmY3ODY4OWNkMWM1NjZhMSA1ZTVmMjIwNzJiYjM5ZjZlMTJjZjY2M2E1N2NiNjM0Yzc2ZWVmYjQ5IE0JWgordGVzdF9vaWRfaW5pdAorCit0ZXN0X29pZF9jYWNoZSA8PFxFT0YKK2FhXzEgc2hhMTpjY2JhNzJhZDM4ODhhMzUyMGIzOWVmY2Y3ODBiOWVlNjQxNjc1MzVkCithYV8xIHNoYTI1Njo5ZmViZmJmMTgxOTc4MTliMjczNWM0NTI5MWYxMzg1MjVkMjQ3NmQ1OTQ3MGY5ODIzOTY0NzU0NDU4NmJhNDAzCisKK2FhXzIgc2hhMTo2YWEyYjUzMzViMTY0MzFhMGVmNzFlNWMwYTI4YmU2OTE4M2NmNmEyCithYV8yIHNoYTI1Njo2ZWFhMzQzN2RlODNmMTQ1YTRhYWE2YmEzNTUzMDMwNzVhZGU1NDdiMTI4ZWM2YTJjZDAwYTgxZmY3Y2U3YTU2CisKK2FuXzEgc2hhMTo3ZTQyNmZiMDc5NDc5ZmQ2N2Y2ZDgxZjk4NGU0ZWM2NDlhNDRiYzI1Cithbl8xIHNoYTI1Njo4ZjkyYTBiZWM5OWUzOTlhMzhlM2JkMGUxYmYxOWZiZjEyMWUwMTYwZWZiMjliODU3ZGY3OWQ0MzlmMWM0NTM2CisKK2RkXzEgc2hhMTpiY2M2OGVmOTk3MDE3NDY2ZDVjOTA5NGJjZjc2OTIyOTVmNTg4YzlhCitkZF8xIHNoYTI1NjowN2UxNzQyOGIwMDYzOWI4NTQ4NWQyYjAxMDgzZDIxOWUyZjNlM2JhODU3OWU5Y2E0NGU5Y2M4ZGQ1NTRkOTUyCisKK2RmXzEgc2hhMTo2ZDUwZjY1ZDNiZGFiOTFjNjM0NDQyOTRkMzhmMDhhZWZmMzI4ZTQyCitkZl8xIHNoYTI1NjplMzY3Y2VjYzI3ZTliZjU0NTFiMWM2NTgyOGNiMjE5MzhkMzZhNWY4ZTM5YzFiMDNhZDY1MDljYzM2YmI4ZTlkCisKK2RmXzIgc2hhMTo3MTQyMGFiODFlMjU0MTQ1ZDI2ZDZmYzBjZGRlZTY0YzFhY2Q0Nzg3CitkZl8yIHNoYTI1NjowZjBhODZkMTAzNDdmZjY5MjFkMDNhM2M5NTQ2NzlmM2YxZDE0ZmEzZDVjZDgyZjU3YjMyYzA5NzU1ZjNhNDdkCisKK2RmZDEgc2hhMTo2OGE2ZDhiOTFkYTExMDQ1Y2Y0YWEzYTVhYjlmMmE3ODFjNzAxMjQ5CitkZmQxIHNoYTI1NjpmM2JkMzI2NWIwMmI2OTc4Y2U4NjQ5MGQ4YWQwMjZjNTczNjM5Yzk3NGIzZGUxZDlmYWYzMGQ4ZDVhNzdkM2Q1CisKK2RtXzEgc2hhMToxNDFjMWYxNjQyMzI4ZTRiYzQ2YTdkODAxYTcxZGEzOTJlNjY3OTFlCitkbV8xIHNoYTI1NjpjODlmODY1NmU3Yjk0ZTIxZWU1ZmJhZjBlMjE0OWJiZjc4M2M1MWVkYmUyY2UxMTAzNDljYWMxMzA1OWVlN2VkCisKK2RtXzIgc2hhMTozYzRkOGRlNWZiYWQwODU3MmJhYjhlMTBlZWY4ZGJiMjY0Y2YwMjMxCitkbV8yIHNoYTI1Njo4M2E1NzJlMzdlMGM5NDA4NjI5NGRhZTJjZWNjNDNkOTEzMWFmZDZmNmM5MDZlNDk1Yzc4OTcyMjMwYjU0OTg4CisKK2RuXzEgc2hhMTozNWFiZGUxNTA2ZGRmODA2NTcyZmY0ZDQwN2JkMDY4ODVkMGY4ZWU5Citkbl8xIHNoYTI1Njo3NzVkNTg1MjU4MjA3MGU2MjBiZTYzMzI3YmZhNTE1ZmFiOGY3MWM3YWMzZTRmMGMzY2Q2MjY3YjQzNzdiYTI4CisKK2xsXzIgc2hhMToxZDQxMTIyZWJkZDdhNjQwZjI5ZDNjOWNjNGY5ZDcwMDk0Mzc0NzYyCitsbF8yIHNoYTI1Njo3OTE3YjQ5NDhhODgzY2ZlZDBhNzdkM2Q1YTYyNWRjODU3N2Q2ZGRjYzNjNmMzYmJjNTZjNGQ0MjI2YTIyNDZkCisKK21kXzEgc2hhMTowM2YyNGM4YzQ3MDBiYWJjY2ZkMjhiNjU0ZTdlOGVhYzQwMmFkNmNkCittZF8xIHNoYTI1NjpmYzlmMzAzNjliOTc4NTk1YWQ2ODViYTExY2E5YTE3ZGUwYWYxNmQ3OWNkNGI2Mjk5NzVmNGYxNTkwMDMzOTAyCisKK21kXzIgc2hhMToxMDNkOWY4OWI1MGI5YWFkMDMwNTRiNTc5YmU1ZTdhYTY2NWYyZDU3CittZF8yIHNoYTI1NjpmYzc4ZWM3NTI3NTYyODc2MmZlNTIwNDc5YTZiMjM5OGRlYzI5NWNlN2FhYmNiMWQxNWU1OTYzYzdiNGU5MzE3CisKK21tXzEgc2hhMTpiMjU4NTA4YWZiN2NlYjQ0OTk4MWJkOWQ2M2QyZDNlOTcxYmY4ZDM0CittbV8xIHNoYTI1NjphNGI3ODQ3ZDIyOGU5MDBlMzAwMDI4NWUyNDBjMjBmZDk2ZjlkZDQxY2UxNDQ1MzA1ZjZlYWRhMTI2ZDRhMDRhCisKK21tXzIgc2hhMTpiNDMxYjI3MmQ4MjlmZjNhYTRkMWE1MDg1ZjQzOTRhYjRkMzMwNWI2CittbV8yIHNoYTI1NjozZjhiODNlYTM2YWFjZjY4OWJjZjFhMTI5MGE5YThlZDM0MTU2NGQzMjY4MmVhNmY3NmZlYTlhOTc5MTg2NzgyCisKK21tXzMgc2hhMToxOTk4OWQ0NTU5YWFlNDE3ZmVkZWUyNDBjY2YyYmEzMTVlYTRkYzJiCittbV8zIHNoYTI1Njo3MWIzYmZjNTc0N2FjMDMzZmZmOWVhMGFiMzllZTQ1M2EzYWYyOTY5ODkwZTc1ZDZlZjU0N2I4NzU0NGUyNjgxCisKK21uXzEgc2hhMTpiZDA4NGIwYzI3YzdiNmNjMzRmMTFkNmQwNTA5YTI5YmUzY2FmOTcwCittbl8xIHNoYTI1Njo0N2E2NzQ1MDU4M2Q3YTMyOWViMDFhN2M0YmE2NDQ5NDVhZjcyYzBlZDJjN2M5NWViNWEwMGQ2ZTQ2ZDRkNDgzCisKK21uXzIgc2hhMTphNzE2ZDU4ZGU0YTU3MGUwMDM4ZjVjMzA3YmQ4ZGIzNGRhZWEwMjFmCittbl8yIHNoYTI1NjpmOTUxMDRjMWViZTI3YWNiODRiYWMyNWE3YmU5OGM3MWY2YjhkMzA1NGIyMWYzNTdhNWJlMGM1MjRhZDk3ZTA4CisKK25tXzEgc2hhMTpjOGYyNTc4MWU4ZjE3OTJlM2U0MGI3NDIyNWUyMDU1MzA0MWI1MjI2CitubV8xIHNoYTI1NjowOWJhZGRjN2FmYWE2MmU2MmUxNTJjMjNjOWMzYWI5NGJmMTVhMzg5NDAzMWUyMjdlOWJlN2ZlNjhlMWY0ZTQ5CisKK25tXzIgc2hhMTpjZGI5YThjM2RhNTcxNTAyYWMzMDIyNWU5YzE3YmVjY2I4Mzg3OTgzCitubV8yIHNoYTI1Njo1OGI1MjI3OTU2YWMyZDJhMDhkMGVmYTUxM2MwYWUzNzQzMDk0OGIxNjc5MWVhMzg2OWExMzA4ZGJmMDU1MzZkCisKK25hXzEgc2hhMToxNTg4NTg4MWVhNjkxMTUzNTFjMDliMzgzNzFmMDM0OGEzZmI4YzY3CituYV8xIHNoYTI1NjoxOGU0ZmRkMTY3MGNkNzk2OGVlMjNkMzViZmQyOWU1NDE4ZDU2ZmIxOTBjODQwMDk0YzFjNTdjZWVlMGFhZDhmCisKK25kXzEgc2hhMTphNGUxNzllNDI5MWU1NTM2YTVlMWM4MmUwOTEwNTI3NzJkMmM1YTkzCituZF8xIHNoYTI1NjowN2RhYzliMDFkMDA5NTZlYTBjNjViZDk5M2Q3ZGU0ODY0YWVlZjJlZDNjYmIxMjU1ZDlmMWQ5NDlmY2Q2ZGY2CisKK3NzXzEgc2hhMTo0MGM5NTlmOTg0YzhiODlhMmIwMjUyMGQxN2YwMGQ3MTdmMDI0Mzk3Citzc18xIHNoYTI1Njo1MGZjMWI1ZGY3NGQ5OTEwZGIyZjkyNzA5OTM0ODQyMzVmMTViNjliNzViMDFiY2ZiNTNlMDU5Mjg5ZDE0YWY5CisKK3NzXzIgc2hhMToyYWM1NDdhZTk2MTRhMDBkMWIyODI3NWRlNjA4MTMxZjdhMGUyNTlmCitzc18yIHNoYTI1NjphOTBmMDJlNjA0NGYxNDk3ZDEzZGI1ODdkMjJhYjEyZjkwMTUwYTdkMWUwODRhZmNmOTYwNjVmYWIzNWFlMmJjCisKK3R0XzEgc2hhMTo0YWMxMzQ1ODg5OWFiOTA4ZWYzYjExMjhmYTM3OGRhZWZjODhkMzU2Cit0dF8xIHNoYTI1NjpjNTMxMTNjN2RkNTA2MGU4NmI1YjI1MTQyOGJkMDU4ZjY3MjZmNjYyNzNjNmEyNGJmZjFjNjFhMDRmNDk4ZGQzCisKK3R0XzIgc2hhMTo0Yzg2ZjlhODVmYmM1ZTY4MDRlZTJlMTdhNzk3NTM4ZmJlNzg1YmNhCit0dF8yIHNoYTI1NjowNzc1ZjJhMjk2MTI5YTdjZjI4NjJiNDZiYzBlODhjMTRkNTkzZjI3NzNhM2UzZmIxYzUxOTNkYjZmNWE3ZTc3CisKK3R0XzMgc2hhMTpjNGU0YTEyMjMxYjlmYTc5YTAwNTNjYjYwNzdmY2IyMWJiNWIxMzVhCit0dF8zIHNoYTI1Njo0Nzg2MGY5M2NkZDIxMWY5NjQ0M2UwNTYwZjIxYzU3YWI2YzJmNGIwYWMyN2ZmMDM2NTFhMzUyZTUzZmU4NDg0CisKK3pfXzEgc2hhMTo3ZDY3MGZkY2RiOTkyOWY2YzdkYWMxOTZmZjc4Njg5Y2QxYzU2NmExCit6X18xIHNoYTI1Njo0NGQwZjM3YWZmNWU1MWNmY2ZkZDExMzRjOTNhNjQxOWJjY2E3Yjk5NjRmNzkyZmZjZDVmOWI0ZmNiYTFlZTYzCisKK3pfXzIgc2hhMTo1ZTVmMjIwNzJiYjM5ZjZlMTJjZjY2M2E1N2NiNjM0Yzc2ZWVmYjQ5Cit6X18yIHNoYTI1NjpkMjlkZTE2MjExMzE5MGZlZDEwNGViNWYwMTA4MjBjZWY0ZTMxNWY4OWI5MzI2ZTg0OTdmNzIxOWZiNzM3ODk0CisKK3pfXzMgc2hhMToxYmE1MjM5NTVkNTE2MDY4MWFmNjVjYjc3NjQxMWY1NzRjMWU4MTU1Cit6X18zIHNoYTI1NjowNzQyMmQ3NzJiMDc3OTRhYjQzNjlhNTY0OGU2MTc3MTlmODljMmQyMjEyY2JlYWIwNWQ5NzIxNGI2NDcxNjM2CisKK3phYTEgc2hhMTo4YWNiOGU5NzUwZTNmNjQ0YmYzMjNmY2YzZDMzODg0OWRiMTA2Yzc3Cit6YWExIHNoYTI1NjplNzliMDI5MjgyYzhhYmVjMmQ5ZjNmN2ZhY2VhZjJhMTQwNWUwMmQxZjM2OGU2NjQ1MGFlNjZjZjViNjhkMWY0CisKK3phYTIgc2hhMTo2YzBiOTkyODZkMGJjZTU1MWFjNGE3YjNkZmY4YjcwNmVkZmYzNzE1Cit6YWEyIHNoYTI1NjpjODJiZDc4YzNlNjllYTE3OTZlNmIxYTdhM2JhNDViYjEwNmM1MGU4MTkyOTY0NzViODYyMTIzZDNmNWNjNWEwCisKK3phbjEgc2hhMTowODc0OTQyNjIwODRjZWZlZTdlZDQ4NGQyMGM4ZGMwNTgwNzkxMjcyCit6YW4xIHNoYTI1Njo0YjE1OWViMzgwNGQwNTU5OTAyM2RkMDc0Zjc3MWQwNmQwMjg3MGY0YWIyNGE3MTY1YWRkOGFjM2Q3MDNiOGQzCisKK3pkZDEgc2hhMTo4NzkwMDdlZmFlNjI0ZDJiMTMwNzIxNGIyNGE5NTZmMGE4ZDY4NmE4Cit6ZGQxIHNoYTI1NjplZWNmZGQ0ZDgwOTJkZDAzNjNmYjZkNDU0OGI1NGM2YWZjODk4MmMzZWQ5YjM0ZTM5M2YxZDZhOTIxZDhlYWEzCisKK3pkbTEgc2hhMTo5YjU0MWIyMjc1YzA2ZTNhN2IxM2YyOGJhZGY1Mjk0ZTJhZTYzZGY0Cit6ZG0xIHNoYTI1NjphYjEzNmU4OGUxOWE4NDNjNGJmNzcxM2QyMDkwZDVhMjE4NmJhMTZhNmE4MGRhY2MxMmVlZGRkMjU2YThlNTU2CisKK3pkbTIgc2hhMTpkNzczNzFkMTU4MTdmY2FhNTdlZWVjMjdmNzcwYzUwNWJhOTc0ZWMxCit6ZG0yIHNoYTI1NjoxYzFhNWY1NzM2M2Y0NmExNWQ5NWNlODUyN2IzYzJjMTU4ZDg4ZDE2ODUzYjRhY2JmODFiZDIwZmQyYzg5YTQ2CisKK3pkbjEgc2hhMTpiZWI1ZDM4YzU1MjgzZDI4MDY4NWVhMjFhMGU1MGNmY2MwY2EwNjRhCit6ZG4xIHNoYTI1NjowZjBlY2E2NjE4MzYxN2IwYWE1YWQ3NGIyNTY1NDAzMjlmODQxNDcwOTIyY2E2NzYwMjYzYzk5NmQ4MjVlYjE4CisKK3ptZDEgc2hhMTpkNDFmZGE0MWI3ZWM0ZGU0NmI0M2NiN2VhNDJhNDUwMDFhZTM5M2Q1Cit6bWQxIHNoYTI1NjoxZWQzMmQ0ODE4NTJlZGRmMzFhMGNlMTI2NTJhMGFkMTRiZjViN2E4NDI2NjdiNWRiYjBiNTBmMzViZjFjODBhCisKK3ptZDIgc2hhMTphNzlhYzNiZTkzNzc2MzllMWM3ZDFlZGYxYWUxYjNhNWYwY2NkOGE5Cit6bWQyIHNoYTI1NjpiMjM4ZGEyMTFiNDA0Zjg5MTdkZjJkOWM2ZjcwMzA1MzVlOTA0YjIxODYxMzEwMDdhM2MyOTJlYzY5MDJmOTMzCisKK3ptbTEgc2hhMTo0Y2EyMmJhZTI1MjdkM2Q5ZTE2NzY0OThhMGZiYTNiMzU1YmQxMjc4Cit6bW0xIHNoYTI1NjowNzJiMWQ4NWI1ZjM0ZmFiYzk5ZGZhNDYwMDhjNTQxOGRmNjgzMDJkM2UzMTc0MzAwMDZmNDliMzJkMjQ0MjI2CisKK3ptbTIgc2hhMTo2MTQyMmJhOWMyYzg3MzQxNjA2MWE4OGNkNDBhNTlhMzViNTc2NDc0Cit6bW0yIHNoYTI1Njo4MWRkNWQyYjNjNWNkYTE2ZmVmNTUyMjU2YWVkNGUyZWEwODAyYTg0NTBhMDhmMzA4YTkyMTQyMTEyZmY2ZGRhCisKK3ptbTMgc2hhMTo2OTdhYWQ3NzE1YTFlNzMwNmNhNzYyOTBhM2RkNDIwOGZiYWVkZGZhCit6bW0zIHNoYTI1Njo4YjEwZmFiNDllOWJlMzQxNGFhNWU5YTkzZDBlNDZmOTU2OTA1MzQ0MDEzOGE3YzE5YTVlYjU1MzZkOGU5NWJmCisKK3ptbjEgc2hhMTpiMTZkN2IyNWI4NjlmMmJlYjEyNGVmYTUzNDY3ZDhhMTU1MGFkNjk0Cit6bW4xIHNoYTI1Njo2MDllNGY3NWQxMjk1ZTg0NGM4MjZmZWViYTIxM2FjYjBiNmNmYzYwOWFkZmU4ZmY3MDViMTllMzgyOWFlM2U5CisKK3ptbjIgc2hhMTphNWM1NDRjMjFjZmNiMDdlYjgwYTRkODlhNWI3ZDE1NzAwMDJlZGZkCit6bW4yIHNoYTI1NjpkNmQwM2VkZjJkYzFhM2IyNjdhODIwNWRlNWY0MWEyZmY0YjAzZGVmOGM3YWUwMjA1MmI1NDNmYjA5ZDU4OWZjCisKK3puYTEgc2hhMTpkMTI5NzljMjJmZmY2OWM1OWNhOTQwOWU3YThmZTNlZTI1ZWFlZTgwCit6bmExIHNoYTI1NjpiMzdiODBlNzg5ZThlYTMyYWEzMjNmMDA0NjI4ZjAyMDEzZjYzMjEyNGIwMjgyYzdmZTAwYTEyN2QzYzY0YzNjCisKK3puZDEgc2hhMTphMTgzOTNjNjM2Yjk4ZTliZDcyOTZiOGI0MzdlYTQ5OTJiNzI0NDBjCit6bmQxIHNoYTI1NjphZjkyYTIyZWVlOGMzODQxMGEwYzlkMmI1MTM1YTEwYWViMDUyY2JjN2NmNjc1NTQxZWQ5YTY3YmZjYWY3Y2Y5CisKK3pubTEgc2hhMTozZmRiZTE3ZmQwMTMzMDNhMmU5ODFlMWNhMWM2Y2Q2ZTcyNzg5MDg3Cit6bm0xIHNoYTI1NjpmNzVhZWFhMGMxMWU3NjkxOGUzODFjMTA1ZjA3NTI5MzJjNjE1MGU5NDFmZWM1NjVkMjRmYTMxMDk4YTEzZGMxCisKK3pubTIgc2hhMTo3ZTA5ZDZhM2ExNGJkNjMwOTEzZThjNzU2OTNjZWEzMjE1N2I2MDZkCit6bm0yIHNoYTI1Njo5MzhkNzNjZmJhYTFjOTAyYTg0ZmI1YjNhZmQ5NzM2YWEwNTkwMzY3ZmI5YmQ1OWM2YzRkMDcyY2U3MGZjZDZkCiBFT0YKIAotY2F0ID4udGVzdC1yZWN1cnNpdmUtT0EgPDxcRU9GCi06MDAwMDAwIDEwMDY0NCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIGNjYmE3MmFkMzg4OGEzNTIwYjM5ZWZjZjc4MGI5ZWU2NDE2NzUzNWQgQQlBQQotOjAwMDAwMCAxMDA2NDQgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCA3ZTQyNmZiMDc5NDc5ZmQ2N2Y2ZDgxZjk4NGU0ZWM2NDlhNDRiYzI1IEEJQU4KLToxMDA2NDQgMDAwMDAwIGJjYzY4ZWY5OTcwMTc0NjZkNWM5MDk0YmNmNzY5MjI5NWY1ODhjOWEgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBECURECi06MDAwMDAwIDEwMDY0NCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDY4YTZkOGI5MWRhMTEwNDVjZjRhYTNhNWFiOWYyYTc4MWM3MDEyNDkgQQlERi9ERgotOjEwMDY0NCAwMDAwMDAgMTQxYzFmMTY0MjMyOGU0YmM0NmE3ZDgwMWE3MWRhMzkyZTY2NzkxZSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIEQJRE0KLToxMDA2NDQgMDAwMDAwIDM1YWJkZTE1MDZkZGY4MDY1NzJmZjRkNDA3YmQwNjg4NWQwZjhlZTkgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBECUROCi06MDAwMDAwIDEwMDY0NCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDFkNDExMjJlYmRkN2E2NDBmMjlkM2M5Y2M0ZjlkNzAwOTQzNzQ3NjIgQQlMTAotOjEwMDY0NCAxMDA2NDQgMDNmMjRjOGM0NzAwYmFiY2NmZDI4YjY1NGU3ZThlYWM0MDJhZDZjZCAxMDNkOWY4OWI1MGI5YWFkMDMwNTRiNTc5YmU1ZTdhYTY2NWYyZDU3IE0JTUQKLToxMDA2NDQgMTAwNjQ0IGIyNTg1MDhhZmI3Y2ViNDQ5OTgxYmQ5ZDYzZDJkM2U5NzFiZjhkMzQgYjQzMWIyNzJkODI5ZmYzYWE0ZDFhNTA4NWY0Mzk0YWI0ZDMzMDViNiBNCU1NCi06MTAwNjQ0IDEwMDY0NCBiZDA4NGIwYzI3YzdiNmNjMzRmMTFkNmQwNTA5YTI5YmUzY2FmOTcwIGE3MTZkNThkZTRhNTcwZTAwMzhmNWMzMDdiZDhkYjM0ZGFlYTAyMWYgTQlNTgotOjEwMDY0NCAxMDA2NDQgNDBjOTU5Zjk4NGM4Yjg5YTJiMDI1MjBkMTdmMDBkNzE3ZjAyNDM5NyAyYWM1NDdhZTk2MTRhMDBkMWIyODI3NWRlNjA4MTMxZjdhMGUyNTlmIE0JU1MKLToxMDA2NDQgMTAwNjQ0IDRhYzEzNDU4ODk5YWI5MDhlZjNiMTEyOGZhMzc4ZGFlZmM4OGQzNTYgNGM4NmY5YTg1ZmJjNWU2ODA0ZWUyZTE3YTc5NzUzOGZiZTc4NWJjYSBNCVRUCi06MDAwMDAwIDEwMDY0NCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDhhY2I4ZTk3NTBlM2Y2NDRiZjMyM2ZjZjNkMzM4ODQ5ZGIxMDZjNzcgQQlaL0FBCi06MDAwMDAwIDEwMDY0NCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDA4NzQ5NDI2MjA4NGNlZmVlN2VkNDg0ZDIwYzhkYzA1ODA3OTEyNzIgQQlaL0FOCi06MTAwNjQ0IDAwMDAwMCA4NzkwMDdlZmFlNjI0ZDJiMTMwNzIxNGIyNGE5NTZmMGE4ZDY4NmE4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgRAlaL0RECi06MTAwNjQ0IDAwMDAwMCA5YjU0MWIyMjc1YzA2ZTNhN2IxM2YyOGJhZGY1Mjk0ZTJhZTYzZGY0IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgRAlaL0RNCi06MTAwNjQ0IDAwMDAwMCBiZWI1ZDM4YzU1MjgzZDI4MDY4NWVhMjFhMGU1MGNmY2MwY2EwNjRhIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgRAlaL0ROCi06MTAwNjQ0IDEwMDY0NCBkNDFmZGE0MWI3ZWM0ZGU0NmI0M2NiN2VhNDJhNDUwMDFhZTM5M2Q1IGE3OWFjM2JlOTM3NzYzOWUxYzdkMWVkZjFhZTFiM2E1ZjBjY2Q4YTkgTQlaL01ECi06MTAwNjQ0IDEwMDY0NCA0Y2EyMmJhZTI1MjdkM2Q5ZTE2NzY0OThhMGZiYTNiMzU1YmQxMjc4IDYxNDIyYmE5YzJjODczNDE2MDYxYTg4Y2Q0MGE1OWEzNWI1NzY0NzQgTQlaL01NCi06MTAwNjQ0IDEwMDY0NCBiMTZkN2IyNWI4NjlmMmJlYjEyNGVmYTUzNDY3ZDhhMTU1MGFkNjk0IGE1YzU0NGMyMWNmY2IwN2ViODBhNGQ4OWE1YjdkMTU3MDAwMmVkZmQgTQlaL01OCitjYXQgPi50ZXN0LXBsYWluLU9BIDw8RU9GCis6MDAwMDAwIDEwMDY0NCAkKHRlc3Rfb2lkIHplcm8pICQodGVzdF9vaWQgYWFfMSkgQQlBQQorOjAwMDAwMCAxMDA2NDQgJCh0ZXN0X29pZCB6ZXJvKSAkKHRlc3Rfb2lkIGFuXzEpIEEJQU4KKzoxMDA2NDQgMDAwMDAwICQodGVzdF9vaWQgZGRfMSkgJCh0ZXN0X29pZCB6ZXJvKSBECURECis6MDAwMDAwIDA0MDAwMCAkKHRlc3Rfb2lkIHplcm8pICQodGVzdF9vaWQgZGZfMSkgQQlERgorOjEwMDY0NCAwMDAwMDAgJCh0ZXN0X29pZCBkbV8xKSAkKHRlc3Rfb2lkIHplcm8pIEQJRE0KKzoxMDA2NDQgMDAwMDAwICQodGVzdF9vaWQgZG5fMSkgJCh0ZXN0X29pZCB6ZXJvKSBECUROCis6MDAwMDAwIDEwMDY0NCAkKHRlc3Rfb2lkIHplcm8pICQodGVzdF9vaWQgbGxfMikgQQlMTAorOjEwMDY0NCAxMDA2NDQgJCh0ZXN0X29pZCBtZF8xKSAkKHRlc3Rfb2lkIG1kXzIpIE0JTUQKKzoxMDA2NDQgMTAwNjQ0ICQodGVzdF9vaWQgbW1fMSkgJCh0ZXN0X29pZCBtbV8yKSBNCU1NCis6MTAwNjQ0IDEwMDY0NCAkKHRlc3Rfb2lkIG1uXzEpICQodGVzdF9vaWQgbW5fMikgTQlNTgorOjEwMDY0NCAxMDA2NDQgJCh0ZXN0X29pZCBzc18xKSAkKHRlc3Rfb2lkIHNzXzIpIE0JU1MKKzoxMDA2NDQgMTAwNjQ0ICQodGVzdF9vaWQgdHRfMSkgJCh0ZXN0X29pZCB0dF8yKSBNCVRUCis6MDQwMDAwIDA0MDAwMCAkKHRlc3Rfb2lkIHpfXzEpICQodGVzdF9vaWQgel9fMikgTQlaCiBFT0YKLWNhdCA+LnRlc3QtcGxhaW4tT0IgPDxcRU9GCi06MDAwMDAwIDEwMDY0NCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDZhYTJiNTMzNWIxNjQzMWEwZWY3MWU1YzBhMjhiZTY5MTgzY2Y2YTIgQQlBQQotOjEwMDY0NCAwMDAwMDAgYmNjNjhlZjk5NzAxNzQ2NmQ1YzkwOTRiY2Y3NjkyMjk1ZjU4OGM5YSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIEQJREQKLTowMDAwMDAgMTAwNjQ0IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgNzE0MjBhYjgxZTI1NDE0NWQyNmQ2ZmMwY2RkZWU2NGMxYWNkNDc4NyBBCURGCi06MTAwNjQ0IDEwMDY0NCAxNDFjMWYxNjQyMzI4ZTRiYzQ2YTdkODAxYTcxZGEzOTJlNjY3OTFlIDNjNGQ4ZGU1ZmJhZDA4NTcyYmFiOGUxMGVlZjhkYmIyNjRjZjAyMzEgTQlETQotOjAwMDAwMCAxMDA2NDQgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAxZDQxMTIyZWJkZDdhNjQwZjI5ZDNjOWNjNGY5ZDcwMDk0Mzc0NzYyIEEJTEwKLToxMDA2NDQgMDAwMDAwIDAzZjI0YzhjNDcwMGJhYmNjZmQyOGI2NTRlN2U4ZWFjNDAyYWQ2Y2QgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBECU1ECi06MTAwNjQ0IDEwMDY0NCBiMjU4NTA4YWZiN2NlYjQ0OTk4MWJkOWQ2M2QyZDNlOTcxYmY4ZDM0IDE5OTg5ZDQ1NTlhYWU0MTdmZWRlZTI0MGNjZjJiYTMxNWVhNGRjMmIgTQlNTQotOjAwMDAwMCAxMDA2NDQgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAxNTg4NTg4MWVhNjkxMTUzNTFjMDliMzgzNzFmMDM0OGEzZmI4YzY3IEEJTkEKLToxMDA2NDQgMDAwMDAwIGE0ZTE3OWU0MjkxZTU1MzZhNWUxYzgyZTA5MTA1Mjc3MmQyYzVhOTMgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBECU5ECi06MTAwNjQ0IDEwMDY0NCBjOGYyNTc4MWU4ZjE3OTJlM2U0MGI3NDIyNWUyMDU1MzA0MWI1MjI2IGNkYjlhOGMzZGE1NzE1MDJhYzMwMjI1ZTljMTdiZWNjYjgzODc5ODMgTQlOTQotOjEwMDY0NCAxMDA2NDQgNDBjOTU5Zjk4NGM4Yjg5YTJiMDI1MjBkMTdmMDBkNzE3ZjAyNDM5NyAyYWM1NDdhZTk2MTRhMDBkMWIyODI3NWRlNjA4MTMxZjdhMGUyNTlmIE0JU1MKLToxMDA2NDQgMTAwNjQ0IDRhYzEzNDU4ODk5YWI5MDhlZjNiMTEyOGZhMzc4ZGFlZmM4OGQzNTYgYzRlNGExMjIzMWI5ZmE3OWEwMDUzY2I2MDc3ZmNiMjFiYjViMTM1YSBNCVRUCi06MDQwMDAwIDA0MDAwMCA3ZDY3MGZkY2RiOTkyOWY2YzdkYWMxOTZmZjc4Njg5Y2QxYzU2NmExIDFiYTUyMzk1NWQ1MTYwNjgxYWY2NWNiNzc2NDExZjU3NGMxZTgxNTUgTQlaCisKK2NhdCA+LnRlc3QtcmVjdXJzaXZlLU9BIDw8RU9GCis6MDAwMDAwIDEwMDY0NCAkKHRlc3Rfb2lkIHplcm8pICQodGVzdF9vaWQgYWFfMSkgQQlBQQorOjAwMDAwMCAxMDA2NDQgJCh0ZXN0X29pZCB6ZXJvKSAkKHRlc3Rfb2lkIGFuXzEpIEEJQU4KKzoxMDA2NDQgMDAwMDAwICQodGVzdF9vaWQgZGRfMSkgJCh0ZXN0X29pZCB6ZXJvKSBECURECis6MDAwMDAwIDEwMDY0NCAkKHRlc3Rfb2lkIHplcm8pICQodGVzdF9vaWQgZGZkMSkgQQlERi9ERgorOjEwMDY0NCAwMDAwMDAgJCh0ZXN0X29pZCBkbV8xKSAkKHRlc3Rfb2lkIHplcm8pIEQJRE0KKzoxMDA2NDQgMDAwMDAwICQodGVzdF9vaWQgZG5fMSkgJCh0ZXN0X29pZCB6ZXJvKSBECUROCis6MDAwMDAwIDEwMDY0NCAkKHRlc3Rfb2lkIHplcm8pICQodGVzdF9vaWQgbGxfMikgQQlMTAorOjEwMDY0NCAxMDA2NDQgJCh0ZXN0X29pZCBtZF8xKSAkKHRlc3Rfb2lkIG1kXzIpIE0JTUQKKzoxMDA2NDQgMTAwNjQ0ICQodGVzdF9vaWQgbW1fMSkgJCh0ZXN0X29pZCBtbV8yKSBNCU1NCis6MTAwNjQ0IDEwMDY0NCAkKHRlc3Rfb2lkIG1uXzEpICQodGVzdF9vaWQgbW5fMikgTQlNTgorOjEwMDY0NCAxMDA2NDQgJCh0ZXN0X29pZCBzc18xKSAkKHRlc3Rfb2lkIHNzXzIpIE0JU1MKKzoxMDA2NDQgMTAwNjQ0ICQodGVzdF9vaWQgdHRfMSkgJCh0ZXN0X29pZCB0dF8yKSBNCVRUCis6MDAwMDAwIDEwMDY0NCAkKHRlc3Rfb2lkIHplcm8pICQodGVzdF9vaWQgemFhMSkgQQlaL0FBCis6MDAwMDAwIDEwMDY0NCAkKHRlc3Rfb2lkIHplcm8pICQodGVzdF9vaWQgemFuMSkgQQlaL0FOCis6MTAwNjQ0IDAwMDAwMCAkKHRlc3Rfb2lkIHpkZDEpICQodGVzdF9vaWQgemVybykgRAlaL0RECis6MTAwNjQ0IDAwMDAwMCAkKHRlc3Rfb2lkIHpkbTEpICQodGVzdF9vaWQgemVybykgRAlaL0RNCis6MTAwNjQ0IDAwMDAwMCAkKHRlc3Rfb2lkIHpkbjEpICQodGVzdF9vaWQgemVybykgRAlaL0ROCis6MTAwNjQ0IDEwMDY0NCAkKHRlc3Rfb2lkIHptZDEpICQodGVzdF9vaWQgem1kMikgTQlaL01ECis6MTAwNjQ0IDEwMDY0NCAkKHRlc3Rfb2lkIHptbTEpICQodGVzdF9vaWQgem1tMikgTQlaL01NCis6MTAwNjQ0IDEwMDY0NCAkKHRlc3Rfb2lkIHptbjEpICQodGVzdF9vaWQgem1uMikgTQlaL01OCiBFT0YKLWNhdCA+LnRlc3QtcmVjdXJzaXZlLU9CIDw8XEVPRgotOjAwMDAwMCAxMDA2NDQgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCA2YWEyYjUzMzViMTY0MzFhMGVmNzFlNWMwYTI4YmU2OTE4M2NmNmEyIEEJQUEKLToxMDA2NDQgMDAwMDAwIGJjYzY4ZWY5OTcwMTc0NjZkNWM5MDk0YmNmNzY5MjI5NWY1ODhjOWEgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBECURECi06MDAwMDAwIDEwMDY0NCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDcxNDIwYWI4MWUyNTQxNDVkMjZkNmZjMGNkZGVlNjRjMWFjZDQ3ODcgQQlERgotOjEwMDY0NCAxMDA2NDQgMTQxYzFmMTY0MjMyOGU0YmM0NmE3ZDgwMWE3MWRhMzkyZTY2NzkxZSAzYzRkOGRlNWZiYWQwODU3MmJhYjhlMTBlZWY4ZGJiMjY0Y2YwMjMxIE0JRE0KLTowMDAwMDAgMTAwNjQ0IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgMWQ0MTEyMmViZGQ3YTY0MGYyOWQzYzljYzRmOWQ3MDA5NDM3NDc2MiBBCUxMCi06MTAwNjQ0IDAwMDAwMCAwM2YyNGM4YzQ3MDBiYWJjY2ZkMjhiNjU0ZTdlOGVhYzQwMmFkNmNkIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgRAlNRAotOjEwMDY0NCAxMDA2NDQgYjI1ODUwOGFmYjdjZWI0NDk5ODFiZDlkNjNkMmQzZTk3MWJmOGQzNCAxOTk4OWQ0NTU5YWFlNDE3ZmVkZWUyNDBjY2YyYmEzMTVlYTRkYzJiIE0JTU0KLTowMDAwMDAgMTAwNjQ0IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgMTU4ODU4ODFlYTY5MTE1MzUxYzA5YjM4MzcxZjAzNDhhM2ZiOGM2NyBBCU5BCi06MTAwNjQ0IDAwMDAwMCBhNGUxNzllNDI5MWU1NTM2YTVlMWM4MmUwOTEwNTI3NzJkMmM1YTkzIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgRAlORAotOjEwMDY0NCAxMDA2NDQgYzhmMjU3ODFlOGYxNzkyZTNlNDBiNzQyMjVlMjA1NTMwNDFiNTIyNiBjZGI5YThjM2RhNTcxNTAyYWMzMDIyNWU5YzE3YmVjY2I4Mzg3OTgzIE0JTk0KLToxMDA2NDQgMTAwNjQ0IDQwYzk1OWY5ODRjOGI4OWEyYjAyNTIwZDE3ZjAwZDcxN2YwMjQzOTcgMmFjNTQ3YWU5NjE0YTAwZDFiMjgyNzVkZTYwODEzMWY3YTBlMjU5ZiBNCVNTCi06MTAwNjQ0IDEwMDY0NCA0YWMxMzQ1ODg5OWFiOTA4ZWYzYjExMjhmYTM3OGRhZWZjODhkMzU2IGM0ZTRhMTIyMzFiOWZhNzlhMDA1M2NiNjA3N2ZjYjIxYmI1YjEzNWEgTQlUVAotOjAwMDAwMCAxMDA2NDQgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCA2YzBiOTkyODZkMGJjZTU1MWFjNGE3YjNkZmY4YjcwNmVkZmYzNzE1IEEJWi9BQQotOjEwMDY0NCAwMDAwMDAgODc5MDA3ZWZhZTYyNGQyYjEzMDcyMTRiMjRhOTU2ZjBhOGQ2ODZhOCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIEQJWi9ERAotOjEwMDY0NCAxMDA2NDQgOWI1NDFiMjI3NWMwNmUzYTdiMTNmMjhiYWRmNTI5NGUyYWU2M2RmNCBkNzczNzFkMTU4MTdmY2FhNTdlZWVjMjdmNzcwYzUwNWJhOTc0ZWMxIE0JWi9ETQotOjEwMDY0NCAwMDAwMDAgZDQxZmRhNDFiN2VjNGRlNDZiNDNjYjdlYTQyYTQ1MDAxYWUzOTNkNSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIEQJWi9NRAotOjEwMDY0NCAxMDA2NDQgNGNhMjJiYWUyNTI3ZDNkOWUxNjc2NDk4YTBmYmEzYjM1NWJkMTI3OCA2OTdhYWQ3NzE1YTFlNzMwNmNhNzYyOTBhM2RkNDIwOGZiYWVkZGZhIE0JWi9NTQotOjAwMDAwMCAxMDA2NDQgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBkMTI5NzljMjJmZmY2OWM1OWNhOTQwOWU3YThmZTNlZTI1ZWFlZTgwIEEJWi9OQQotOjEwMDY0NCAwMDAwMDAgYTE4MzkzYzYzNmI5OGU5YmQ3Mjk2YjhiNDM3ZWE0OTkyYjcyNDQwYyAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIEQJWi9ORAotOjEwMDY0NCAxMDA2NDQgM2ZkYmUxN2ZkMDEzMzAzYTJlOTgxZTFjYTFjNmNkNmU3Mjc4OTA4NyA3ZTA5ZDZhM2ExNGJkNjMwOTEzZThjNzU2OTNjZWEzMjE1N2I2MDZkIE0JWi9OTQorY2F0ID4udGVzdC1wbGFpbi1PQiA8PEVPRgorOjAwMDAwMCAxMDA2NDQgJCh0ZXN0X29pZCB6ZXJvKSAkKHRlc3Rfb2lkIGFhXzIpIEEJQUEKKzoxMDA2NDQgMDAwMDAwICQodGVzdF9vaWQgZGRfMSkgJCh0ZXN0X29pZCB6ZXJvKSBECURECis6MDAwMDAwIDEwMDY0NCAkKHRlc3Rfb2lkIHplcm8pICQodGVzdF9vaWQgZGZfMikgQQlERgorOjEwMDY0NCAxMDA2NDQgJCh0ZXN0X29pZCBkbV8xKSAkKHRlc3Rfb2lkIGRtXzIpIE0JRE0KKzowMDAwMDAgMTAwNjQ0ICQodGVzdF9vaWQgemVybykgJCh0ZXN0X29pZCBsbF8yKSBBCUxMCis6MTAwNjQ0IDAwMDAwMCAkKHRlc3Rfb2lkIG1kXzEpICQodGVzdF9vaWQgemVybykgRAlNRAorOjEwMDY0NCAxMDA2NDQgJCh0ZXN0X29pZCBtbV8xKSAkKHRlc3Rfb2lkIG1tXzMpIE0JTU0KKzowMDAwMDAgMTAwNjQ0ICQodGVzdF9vaWQgemVybykgJCh0ZXN0X29pZCBuYV8xKSBBCU5BCis6MTAwNjQ0IDAwMDAwMCAkKHRlc3Rfb2lkIG5kXzEpICQodGVzdF9vaWQgemVybykgRAlORAorOjEwMDY0NCAxMDA2NDQgJCh0ZXN0X29pZCBubV8xKSAkKHRlc3Rfb2lkIG5tXzIpIE0JTk0KKzoxMDA2NDQgMTAwNjQ0ICQodGVzdF9vaWQgc3NfMSkgJCh0ZXN0X29pZCBzc18yKSBNCVNTCis6MTAwNjQ0IDEwMDY0NCAkKHRlc3Rfb2lkIHR0XzEpICQodGVzdF9vaWQgdHRfMykgTQlUVAorOjA0MDAwMCAwNDAwMDAgJCh0ZXN0X29pZCB6X18xKSAkKHRlc3Rfb2lkIHpfXzMpIE0JWgogRU9GCi1jYXQgPi50ZXN0LXBsYWluLUFCIDw8XEVPRgotOjEwMDY0NCAxMDA2NDQgY2NiYTcyYWQzODg4YTM1MjBiMzllZmNmNzgwYjllZTY0MTY3NTM1ZCA2YWEyYjUzMzViMTY0MzFhMGVmNzFlNWMwYTI4YmU2OTE4M2NmNmEyIE0JQUEKLToxMDA2NDQgMDAwMDAwIDdlNDI2ZmIwNzk0NzlmZDY3ZjZkODFmOTg0ZTRlYzY0OWE0NGJjMjUgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBECUFOCi06MDAwMDAwIDEwMDY0NCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDcxNDIwYWI4MWUyNTQxNDVkMjZkNmZjMGNkZGVlNjRjMWFjZDQ3ODcgQQlERgotOjA0MDAwMCAwMDAwMDAgNmQ1MGY2NWQzYmRhYjkxYzYzNDQ0Mjk0ZDM4ZjA4YWVmZjMyOGU0MiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIEQJREYKLTowMDAwMDAgMTAwNjQ0IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgM2M0ZDhkZTVmYmFkMDg1NzJiYWI4ZTEwZWVmOGRiYjI2NGNmMDIzMSBBCURNCi06MDAwMDAwIDEwMDY0NCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDM1YWJkZTE1MDZkZGY4MDY1NzJmZjRkNDA3YmQwNjg4NWQwZjhlZTkgQQlETgotOjEwMDY0NCAwMDAwMDAgMTAzZDlmODliNTBiOWFhZDAzMDU0YjU3OWJlNWU3YWE2NjVmMmQ1NyAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIEQJTUQKLToxMDA2NDQgMTAwNjQ0IGI0MzFiMjcyZDgyOWZmM2FhNGQxYTUwODVmNDM5NGFiNGQzMzA1YjYgMTk5ODlkNDU1OWFhZTQxN2ZlZGVlMjQwY2NmMmJhMzE1ZWE0ZGMyYiBNCU1NCi06MTAwNjQ0IDEwMDY0NCBhNzE2ZDU4ZGU0YTU3MGUwMDM4ZjVjMzA3YmQ4ZGIzNGRhZWEwMjFmIGJkMDg0YjBjMjdjN2I2Y2MzNGYxMWQ2ZDA1MDlhMjliZTNjYWY5NzAgTQlNTgotOjAwMDAwMCAxMDA2NDQgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAxNTg4NTg4MWVhNjkxMTUzNTFjMDliMzgzNzFmMDM0OGEzZmI4YzY3IEEJTkEKLToxMDA2NDQgMDAwMDAwIGE0ZTE3OWU0MjkxZTU1MzZhNWUxYzgyZTA5MTA1Mjc3MmQyYzVhOTMgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBECU5ECi06MTAwNjQ0IDEwMDY0NCBjOGYyNTc4MWU4ZjE3OTJlM2U0MGI3NDIyNWUyMDU1MzA0MWI1MjI2IGNkYjlhOGMzZGE1NzE1MDJhYzMwMjI1ZTljMTdiZWNjYjgzODc5ODMgTQlOTQotOjEwMDY0NCAxMDA2NDQgNGM4NmY5YTg1ZmJjNWU2ODA0ZWUyZTE3YTc5NzUzOGZiZTc4NWJjYSBjNGU0YTEyMjMxYjlmYTc5YTAwNTNjYjYwNzdmY2IyMWJiNWIxMzVhIE0JVFQKLTowNDAwMDAgMDQwMDAwIDVlNWYyMjA3MmJiMzlmNmUxMmNmNjYzYTU3Y2I2MzRjNzZlZWZiNDkgMWJhNTIzOTU1ZDUxNjA2ODFhZjY1Y2I3NzY0MTFmNTc0YzFlODE1NSBNCVoKK2NhdCA+LnRlc3QtcmVjdXJzaXZlLU9CIDw8RU9GCis6MDAwMDAwIDEwMDY0NCAkKHRlc3Rfb2lkIHplcm8pICQodGVzdF9vaWQgYWFfMikgQQlBQQorOjEwMDY0NCAwMDAwMDAgJCh0ZXN0X29pZCBkZF8xKSAkKHRlc3Rfb2lkIHplcm8pIEQJREQKKzowMDAwMDAgMTAwNjQ0ICQodGVzdF9vaWQgemVybykgJCh0ZXN0X29pZCBkZl8yKSBBCURGCis6MTAwNjQ0IDEwMDY0NCAkKHRlc3Rfb2lkIGRtXzEpICQodGVzdF9vaWQgZG1fMikgTQlETQorOjAwMDAwMCAxMDA2NDQgJCh0ZXN0X29pZCB6ZXJvKSAkKHRlc3Rfb2lkIGxsXzIpIEEJTEwKKzoxMDA2NDQgMDAwMDAwICQodGVzdF9vaWQgbWRfMSkgJCh0ZXN0X29pZCB6ZXJvKSBECU1ECis6MTAwNjQ0IDEwMDY0NCAkKHRlc3Rfb2lkIG1tXzEpICQodGVzdF9vaWQgbW1fMykgTQlNTQorOjAwMDAwMCAxMDA2NDQgJCh0ZXN0X29pZCB6ZXJvKSAkKHRlc3Rfb2lkIG5hXzEpIEEJTkEKKzoxMDA2NDQgMDAwMDAwICQodGVzdF9vaWQgbmRfMSkgJCh0ZXN0X29pZCB6ZXJvKSBECU5ECis6MTAwNjQ0IDEwMDY0NCAkKHRlc3Rfb2lkIG5tXzEpICQodGVzdF9vaWQgbm1fMikgTQlOTQorOjEwMDY0NCAxMDA2NDQgJCh0ZXN0X29pZCBzc18xKSAkKHRlc3Rfb2lkIHNzXzIpIE0JU1MKKzoxMDA2NDQgMTAwNjQ0ICQodGVzdF9vaWQgdHRfMSkgJCh0ZXN0X29pZCB0dF8zKSBNCVRUCis6MDAwMDAwIDEwMDY0NCAkKHRlc3Rfb2lkIHplcm8pICQodGVzdF9vaWQgemFhMikgQQlaL0FBCis6MTAwNjQ0IDAwMDAwMCAkKHRlc3Rfb2lkIHpkZDEpICQodGVzdF9vaWQgemVybykgRAlaL0RECis6MTAwNjQ0IDEwMDY0NCAkKHRlc3Rfb2lkIHpkbTEpICQodGVzdF9vaWQgemRtMikgTQlaL0RNCis6MTAwNjQ0IDAwMDAwMCAkKHRlc3Rfb2lkIHptZDEpICQodGVzdF9vaWQgemVybykgRAlaL01ECis6MTAwNjQ0IDEwMDY0NCAkKHRlc3Rfb2lkIHptbTEpICQodGVzdF9vaWQgem1tMykgTQlaL01NCis6MDAwMDAwIDEwMDY0NCAkKHRlc3Rfb2lkIHplcm8pICQodGVzdF9vaWQgem5hMSkgQQlaL05BCis6MTAwNjQ0IDAwMDAwMCAkKHRlc3Rfb2lkIHpuZDEpICQodGVzdF9vaWQgemVybykgRAlaL05ECis6MTAwNjQ0IDEwMDY0NCAkKHRlc3Rfb2lkIHpubTEpICQodGVzdF9vaWQgem5tMikgTQlaL05NCiBFT0YKLWNhdCA+LnRlc3QtcmVjdXJzaXZlLUFCIDw8XEVPRgotOjEwMDY0NCAxMDA2NDQgY2NiYTcyYWQzODg4YTM1MjBiMzllZmNmNzgwYjllZTY0MTY3NTM1ZCA2YWEyYjUzMzViMTY0MzFhMGVmNzFlNWMwYTI4YmU2OTE4M2NmNmEyIE0JQUEKLToxMDA2NDQgMDAwMDAwIDdlNDI2ZmIwNzk0NzlmZDY3ZjZkODFmOTg0ZTRlYzY0OWE0NGJjMjUgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBECUFOCi06MDAwMDAwIDEwMDY0NCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDcxNDIwYWI4MWUyNTQxNDVkMjZkNmZjMGNkZGVlNjRjMWFjZDQ3ODcgQQlERgotOjEwMDY0NCAwMDAwMDAgNjhhNmQ4YjkxZGExMTA0NWNmNGFhM2E1YWI5ZjJhNzgxYzcwMTI0OSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIEQJREYvREYKLTowMDAwMDAgMTAwNjQ0IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgM2M0ZDhkZTVmYmFkMDg1NzJiYWI4ZTEwZWVmOGRiYjI2NGNmMDIzMSBBCURNCi06MDAwMDAwIDEwMDY0NCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDM1YWJkZTE1MDZkZGY4MDY1NzJmZjRkNDA3YmQwNjg4NWQwZjhlZTkgQQlETgotOjEwMDY0NCAwMDAwMDAgMTAzZDlmODliNTBiOWFhZDAzMDU0YjU3OWJlNWU3YWE2NjVmMmQ1NyAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIEQJTUQKLToxMDA2NDQgMTAwNjQ0IGI0MzFiMjcyZDgyOWZmM2FhNGQxYTUwODVmNDM5NGFiNGQzMzA1YjYgMTk5ODlkNDU1OWFhZTQxN2ZlZGVlMjQwY2NmMmJhMzE1ZWE0ZGMyYiBNCU1NCi06MTAwNjQ0IDEwMDY0NCBhNzE2ZDU4ZGU0YTU3MGUwMDM4ZjVjMzA3YmQ4ZGIzNGRhZWEwMjFmIGJkMDg0YjBjMjdjN2I2Y2MzNGYxMWQ2ZDA1MDlhMjliZTNjYWY5NzAgTQlNTgotOjAwMDAwMCAxMDA2NDQgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAxNTg4NTg4MWVhNjkxMTUzNTFjMDliMzgzNzFmMDM0OGEzZmI4YzY3IEEJTkEKLToxMDA2NDQgMDAwMDAwIGE0ZTE3OWU0MjkxZTU1MzZhNWUxYzgyZTA5MTA1Mjc3MmQyYzVhOTMgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBECU5ECi06MTAwNjQ0IDEwMDY0NCBjOGYyNTc4MWU4ZjE3OTJlM2U0MGI3NDIyNWUyMDU1MzA0MWI1MjI2IGNkYjlhOGMzZGE1NzE1MDJhYzMwMjI1ZTljMTdiZWNjYjgzODc5ODMgTQlOTQotOjEwMDY0NCAxMDA2NDQgNGM4NmY5YTg1ZmJjNWU2ODA0ZWUyZTE3YTc5NzUzOGZiZTc4NWJjYSBjNGU0YTEyMjMxYjlmYTc5YTAwNTNjYjYwNzdmY2IyMWJiNWIxMzVhIE0JVFQKLToxMDA2NDQgMTAwNjQ0IDhhY2I4ZTk3NTBlM2Y2NDRiZjMyM2ZjZjNkMzM4ODQ5ZGIxMDZjNzcgNmMwYjk5Mjg2ZDBiY2U1NTFhYzRhN2IzZGZmOGI3MDZlZGZmMzcxNSBNCVovQUEKLToxMDA2NDQgMDAwMDAwIDA4NzQ5NDI2MjA4NGNlZmVlN2VkNDg0ZDIwYzhkYzA1ODA3OTEyNzIgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBECVovQU4KLTowMDAwMDAgMTAwNjQ0IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgZDc3MzcxZDE1ODE3ZmNhYTU3ZWVlYzI3Zjc3MGM1MDViYTk3NGVjMSBBCVovRE0KLTowMDAwMDAgMTAwNjQ0IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgYmViNWQzOGM1NTI4M2QyODA2ODVlYTIxYTBlNTBjZmNjMGNhMDY0YSBBCVovRE4KLToxMDA2NDQgMDAwMDAwIGE3OWFjM2JlOTM3NzYzOWUxYzdkMWVkZjFhZTFiM2E1ZjBjY2Q4YTkgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBECVovTUQKLToxMDA2NDQgMTAwNjQ0IDYxNDIyYmE5YzJjODczNDE2MDYxYTg4Y2Q0MGE1OWEzNWI1NzY0NzQgNjk3YWFkNzcxNWExZTczMDZjYTc2MjkwYTNkZDQyMDhmYmFlZGRmYSBNCVovTU0KLToxMDA2NDQgMTAwNjQ0IGE1YzU0NGMyMWNmY2IwN2ViODBhNGQ4OWE1YjdkMTU3MDAwMmVkZmQgYjE2ZDdiMjViODY5ZjJiZWIxMjRlZmE1MzQ2N2Q4YTE1NTBhZDY5NCBNCVovTU4KLTowMDAwMDAgMTAwNjQ0IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgZDEyOTc5YzIyZmZmNjljNTljYTk0MDllN2E4ZmUzZWUyNWVhZWU4MCBBCVovTkEKLToxMDA2NDQgMDAwMDAwIGExODM5M2M2MzZiOThlOWJkNzI5NmI4YjQzN2VhNDk5MmI3MjQ0MGMgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBECVovTkQKLToxMDA2NDQgMTAwNjQ0IDNmZGJlMTdmZDAxMzMwM2EyZTk4MWUxY2ExYzZjZDZlNzI3ODkwODcgN2UwOWQ2YTNhMTRiZDYzMDkxM2U4Yzc1NjkzY2VhMzIxNTdiNjA2ZCBNCVovTk0KK2NhdCA+LnRlc3QtcGxhaW4tQUIgPDxFT0YKKzoxMDA2NDQgMTAwNjQ0ICQodGVzdF9vaWQgYWFfMSkgJCh0ZXN0X29pZCBhYV8yKSBNCUFBCis6MTAwNjQ0IDAwMDAwMCAkKHRlc3Rfb2lkIGFuXzEpICQodGVzdF9vaWQgemVybykgRAlBTgorOjAwMDAwMCAxMDA2NDQgJCh0ZXN0X29pZCB6ZXJvKSAkKHRlc3Rfb2lkIGRmXzIpIEEJREYKKzowNDAwMDAgMDAwMDAwICQodGVzdF9vaWQgZGZfMSkgJCh0ZXN0X29pZCB6ZXJvKSBECURGCis6MDAwMDAwIDEwMDY0NCAkKHRlc3Rfb2lkIHplcm8pICQodGVzdF9vaWQgZG1fMikgQQlETQorOjAwMDAwMCAxMDA2NDQgJCh0ZXN0X29pZCB6ZXJvKSAkKHRlc3Rfb2lkIGRuXzEpIEEJRE4KKzoxMDA2NDQgMDAwMDAwICQodGVzdF9vaWQgbWRfMikgJCh0ZXN0X29pZCB6ZXJvKSBECU1ECis6MTAwNjQ0IDEwMDY0NCAkKHRlc3Rfb2lkIG1tXzIpICQodGVzdF9vaWQgbW1fMykgTQlNTQorOjEwMDY0NCAxMDA2NDQgJCh0ZXN0X29pZCBtbl8yKSAkKHRlc3Rfb2lkIG1uXzEpIE0JTU4KKzowMDAwMDAgMTAwNjQ0ICQodGVzdF9vaWQgemVybykgJCh0ZXN0X29pZCBuYV8xKSBBCU5BCis6MTAwNjQ0IDAwMDAwMCAkKHRlc3Rfb2lkIG5kXzEpICQodGVzdF9vaWQgemVybykgRAlORAorOjEwMDY0NCAxMDA2NDQgJCh0ZXN0X29pZCBubV8xKSAkKHRlc3Rfb2lkIG5tXzIpIE0JTk0KKzoxMDA2NDQgMTAwNjQ0ICQodGVzdF9vaWQgdHRfMikgJCh0ZXN0X29pZCB0dF8zKSBNCVRUCis6MDQwMDAwIDA0MDAwMCAkKHRlc3Rfb2lkIHpfXzIpICQodGVzdF9vaWQgel9fMykgTQlaCitFT0YKK2NhdCA+LnRlc3QtcmVjdXJzaXZlLUFCIDw8RU9GCis6MTAwNjQ0IDEwMDY0NCAkKHRlc3Rfb2lkIGFhXzEpICQodGVzdF9vaWQgYWFfMikgTQlBQQorOjEwMDY0NCAwMDAwMDAgJCh0ZXN0X29pZCBhbl8xKSAkKHRlc3Rfb2lkIHplcm8pIEQJQU4KKzowMDAwMDAgMTAwNjQ0ICQodGVzdF9vaWQgemVybykgJCh0ZXN0X29pZCBkZl8yKSBBCURGCis6MTAwNjQ0IDAwMDAwMCAkKHRlc3Rfb2lkIGRmZDEpICQodGVzdF9vaWQgemVybykgRAlERi9ERgorOjAwMDAwMCAxMDA2NDQgJCh0ZXN0X29pZCB6ZXJvKSAkKHRlc3Rfb2lkIGRtXzIpIEEJRE0KKzowMDAwMDAgMTAwNjQ0ICQodGVzdF9vaWQgemVybykgJCh0ZXN0X29pZCBkbl8xKSBBCUROCis6MTAwNjQ0IDAwMDAwMCAkKHRlc3Rfb2lkIG1kXzIpICQodGVzdF9vaWQgemVybykgRAlNRAorOjEwMDY0NCAxMDA2NDQgJCh0ZXN0X29pZCBtbV8yKSAkKHRlc3Rfb2lkIG1tXzMpIE0JTU0KKzoxMDA2NDQgMTAwNjQ0ICQodGVzdF9vaWQgbW5fMikgJCh0ZXN0X29pZCBtbl8xKSBNCU1OCis6MDAwMDAwIDEwMDY0NCAkKHRlc3Rfb2lkIHplcm8pICQodGVzdF9vaWQgbmFfMSkgQQlOQQorOjEwMDY0NCAwMDAwMDAgJCh0ZXN0X29pZCBuZF8xKSAkKHRlc3Rfb2lkIHplcm8pIEQJTkQKKzoxMDA2NDQgMTAwNjQ0ICQodGVzdF9vaWQgbm1fMSkgJCh0ZXN0X29pZCBubV8yKSBNCU5NCis6MTAwNjQ0IDEwMDY0NCAkKHRlc3Rfb2lkIHR0XzIpICQodGVzdF9vaWQgdHRfMykgTQlUVAorOjEwMDY0NCAxMDA2NDQgJCh0ZXN0X29pZCB6YWExKSAkKHRlc3Rfb2lkIHphYTIpIE0JWi9BQQorOjEwMDY0NCAwMDAwMDAgJCh0ZXN0X29pZCB6YW4xKSAkKHRlc3Rfb2lkIHplcm8pIEQJWi9BTgorOjAwMDAwMCAxMDA2NDQgJCh0ZXN0X29pZCB6ZXJvKSAkKHRlc3Rfb2lkIHpkbTIpIEEJWi9ETQorOjAwMDAwMCAxMDA2NDQgJCh0ZXN0X29pZCB6ZXJvKSAkKHRlc3Rfb2lkIHpkbjEpIEEJWi9ETgorOjEwMDY0NCAwMDAwMDAgJCh0ZXN0X29pZCB6bWQyKSAkKHRlc3Rfb2lkIHplcm8pIEQJWi9NRAorOjEwMDY0NCAxMDA2NDQgJCh0ZXN0X29pZCB6bW0yKSAkKHRlc3Rfb2lkIHptbTMpIE0JWi9NTQorOjEwMDY0NCAxMDA2NDQgJCh0ZXN0X29pZCB6bW4yKSAkKHRlc3Rfb2lkIHptbjEpIE0JWi9NTgorOjAwMDAwMCAxMDA2NDQgJCh0ZXN0X29pZCB6ZXJvKSAkKHRlc3Rfb2lkIHpuYTEpIEEJWi9OQQorOjEwMDY0NCAwMDAwMDAgJCh0ZXN0X29pZCB6bmQxKSAkKHRlc3Rfb2lkIHplcm8pIEQJWi9ORAorOjEwMDY0NCAxMDA2NDQgJCh0ZXN0X29pZCB6bm0xKSAkKHRlc3Rfb2lkIHpubTIpIE0JWi9OTQogRU9GCiAKIGNtcF9kaWZmX2ZpbGVzX291dHB1dCAoKSB7CmRpZmYgLS1naXQgYS90L3Q0MDA2LWRpZmYtbW9kZS5zaCBiL3QvdDQwMDYtZGlmZi1tb2RlLnNoCmluZGV4IGE4ZTAxZWMuLjAzNDg5YWYgMTAwNzU1Ci0tLSBhL3QvdDQwMDYtZGlmZi1tb2RlLnNoCisrKyBiL3QvdDQwMDYtZGlmZi1tb2RlLnNoCkBAIC0zMiwyOCArMzIsMzcgQEAKIAlnaXQgY29tbWl0IC1tIGJpbmJpbgogJwogCi0jIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc3RhdCBvdXRwdXQgYWZ0ZXIgdGV4dCBjaG1vZCcgJwotIyAJdGVzdF9jaG1vZCAteCByZXpyb3YgJiYKLSMgCWVjaG8gIiAwIGZpbGVzIGNoYW5nZWQiID5leHBlY3QgJiYKLSMgCWdpdCBkaWZmIEhFQUQgLS1zdGF0ID5hY3R1YWwgJiYKLSMJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwKLSMgJwotIwotIyB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXNob3J0c3RhdCBvdXRwdXQgYWZ0ZXIgdGV4dCBjaG1vZCcgJwotIyAJZ2l0IGRpZmYgSEVBRCAtLXNob3J0c3RhdCA+YWN0dWFsICYmCi0jIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAotIyAnCi0jCi0jIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc3RhdCBvdXRwdXQgYWZ0ZXIgYmluYXJ5IGNobW9kJyAnCi0jIAl0ZXN0X2NobW9kICt4IGJpbmJpbiAmJgotIyAJZWNobyAiIDAgZmlsZXMgY2hhbmdlZCIgPmV4cGVjdCAmJgotIyAJZ2l0IGRpZmYgSEVBRCAtLXN0YXQgPmFjdHVhbCAmJgotIyAJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwKLSMgJwotIwotIyB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXNob3J0c3RhdCBvdXRwdXQgYWZ0ZXIgYmluYXJ5IGNobW9kJyAnCi0jIAlnaXQgZGlmZiBIRUFEIC0tc2hvcnRzdGF0ID5hY3R1YWwgJiYKLSMgCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCi0jICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc3RhdCBvdXRwdXQgYWZ0ZXIgdGV4dCBjaG1vZCcgJworCXRlc3RfY2htb2QgLXggcmV6cm92ICYmCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCSByZXpyb3YgfCAwCisJIDEgZmlsZSBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisJRU9GCisJZ2l0IGRpZmYgSEVBRCAtLXN0YXQgPmFjdHVhbCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc2hvcnRzdGF0IG91dHB1dCBhZnRlciB0ZXh0IGNobW9kJyAnCisJdGFpbCAtbiAxIDxleHBlY3QgPmV4cGVjdC5zaG9ydCAmJgorCWdpdCBkaWZmIEhFQUQgLS1zaG9ydHN0YXQgPmFjdHVhbCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3Quc2hvcnQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc3RhdCBvdXRwdXQgYWZ0ZXIgYmluYXJ5IGNobW9kJyAnCisJdGVzdF9jaG1vZCAreCBiaW5iaW4gJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkgYmluYmluIHwgQmluCisJIHJlenJvdiB8ICAgMAorCSAyIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKwlFT0YKKwlnaXQgZGlmZiBIRUFEIC0tc3RhdCA+YWN0dWFsICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1zaG9ydHN0YXQgb3V0cHV0IGFmdGVyIGJpbmFyeSBjaG1vZCcgJworCXRhaWwgLW4gMSA8ZXhwZWN0ID5leHBlY3Quc2hvcnQgJiYKKwlnaXQgZGlmZiBIRUFEIC0tc2hvcnRzdGF0ID5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0LnNob3J0IGFjdHVhbAorJwogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDQwMDktZGlmZi1yZW5hbWUtNC5zaCBiL3QvdDQwMDktZGlmZi1yZW5hbWUtNC5zaAppbmRleCAzNjQxZmQ4Li5iNjNiZGYwIDEwMDc1NQotLS0gYS90L3Q0MDA5LWRpZmYtcmVuYW1lLTQuc2gKKysrIGIvdC90NDAwOS1kaWZmLXJlbmFtZS00LnNoCkBAIC0xNCw2ICsxNCw3IEBACiAgICAgJ2NhdCAiJFRFU1RfRElSRUNUT1JZIi9kaWZmLWxpYi9DT1BZSU5HID5DT1BZSU5HICYmCiAgICAgIGVjaG8gZnJvdHogPnJlenJvdiAmJgogICAgIGdpdCB1cGRhdGUtaW5kZXggLS1hZGQgQ09QWUlORyByZXpyb3YgJiYKKyAgICBvcmlnPSQoZ2l0IGhhc2gtb2JqZWN0IENPUFlJTkcpICYmCiAgICAgdHJlZT0kKGdpdCB3cml0ZS10cmVlKSAmJgogICAgIGVjaG8gJHRyZWUnCiAKQEAgLTIyLDYgKzIzLDggQEAKICAgICAnc2VkIC1lICdzL0hPV0VWRVIvSG93ZXZlci8nIDxDT1BZSU5HID5DT1BZSU5HLjEgJiYKICAgICBzZWQgLWUgJ3MvR1BML0cuUC5ML2cnIDxDT1BZSU5HID5DT1BZSU5HLjIgJiYKICAgICBybSAtZiBDT1BZSU5HICYmCisgICAgYzE9JChnaXQgaGFzaC1vYmplY3QgQ09QWUlORy4xKSAmJgorICAgIGMyPSQoZ2l0IGhhc2gtb2JqZWN0IENPUFlJTkcuMikgJiYKICAgICBnaXQgdXBkYXRlLWluZGV4IC0tYWRkIC0tcmVtb3ZlIENPUFlJTkcgQ09QWUlORy4/JwogCiAjIHRyZWUgaGFzIENPUFlJTkcgYW5kIHJlenJvdi4gIHdvcmsgdHJlZSBoYXMgQ09QWUlORy4xIGFuZCBDT1BZSU5HLjIsCkBAIC0zMSwxMSArMzQsMTEgQEAKIAogZ2l0IGRpZmYtaW5kZXggLXogLUMgJHRyZWUgPmN1cnJlbnQKIAotY2F0ID5leHBlY3RlZCA8PFxFT0YKLToxMDA2NDQgMTAwNjQ0IDZmZjg3YzQ2NjQ5ODFlNDM5NzYyNTc5MWM4ZWEzYmJiNWYyMjc5YTMgMDYwM2IzMjM4YTA3NmRjNmM4MDIyYWVkYzY2NDhmYTUyM2ExNzE3OCBDMTIzNAorY2F0ID5leHBlY3RlZCA8PEVPRgorOjEwMDY0NCAxMDA2NDQgJG9yaWcgJGMxIEMxMjM0CiBDT1BZSU5HCiBDT1BZSU5HLjEKLToxMDA2NDQgMTAwNjQ0IDZmZjg3YzQ2NjQ5ODFlNDM5NzYyNTc5MWM4ZWEzYmJiNWYyMjc5YTMgMDZjNjc5NjFiYmFlZDM0YTEyN2Y3NmQyNjFmNGMwYmY3M2VkYTQ3MSBSMTIzNAorOjEwMDY0NCAxMDA2NDQgJG9yaWcgJGMyIFIxMjM0CiBDT1BZSU5HCiBDT1BZSU5HLjIKIEVPRgpAQCAtNTcsMTAgKzYwLDEwIEBACiAjIGFib3V0IHJlenJvdi4KIAogZ2l0IGRpZmYtaW5kZXggLXogLUMgJHRyZWUgPmN1cnJlbnQKLWNhdCA+ZXhwZWN0ZWQgPDxcRU9GCi06MTAwNjQ0IDEwMDY0NCA2ZmY4N2M0NjY0OTgxZTQzOTc2MjU3OTFjOGVhM2JiYjVmMjI3OWEzIDA2YzY3OTYxYmJhZWQzNGExMjdmNzZkMjYxZjRjMGJmNzNlZGE0NzEgTQorY2F0ID5leHBlY3RlZCA8PEVPRgorOjEwMDY0NCAxMDA2NDQgJG9yaWcgJGMyIE0KIENPUFlJTkcKLToxMDA2NDQgMTAwNjQ0IDZmZjg3YzQ2NjQ5ODFlNDM5NzYyNTc5MWM4ZWEzYmJiNWYyMjc5YTMgMDYwM2IzMjM4YTA3NmRjNmM4MDIyYWVkYzY2NDhmYTUyM2ExNzE3OCBDMTIzNAorOjEwMDY0NCAxMDA2NDQgJG9yaWcgJGMxIEMxMjM0CiBDT1BZSU5HCiBDT1BZSU5HLjEKIEVPRgpAQCAtODIsOCArODUsOCBAQAogICAgICBnaXQgdXBkYXRlLWluZGV4IC0tYWRkIC0tcmVtb3ZlIENPUFlJTkcgQ09QWUlORy4xJwogCiBnaXQgZGlmZi1pbmRleCAteiAtQyAtLWZpbmQtY29waWVzLWhhcmRlciAkdHJlZSA+Y3VycmVudAotY2F0ID5leHBlY3RlZCA8PFxFT0YKLToxMDA2NDQgMTAwNjQ0IDZmZjg3YzQ2NjQ5ODFlNDM5NzYyNTc5MWM4ZWEzYmJiNWYyMjc5YTMgMDYwM2IzMjM4YTA3NmRjNmM4MDIyYWVkYzY2NDhmYTUyM2ExNzE3OCBDMTIzNAorY2F0ID5leHBlY3RlZCA8PEVPRgorOjEwMDY0NCAxMDA2NDQgJG9yaWcgJGMxIEMxMjM0CiBDT1BZSU5HCiBDT1BZSU5HLjEKIEVPRgpkaWZmIC0tZ2l0IGEvdC90NDAxMC1kaWZmLXBhdGhzcGVjLnNoIGIvdC90NDAxMC1kaWZmLXBhdGhzcGVjLnNoCmluZGV4IDI4MWY4ZmEuLmU1Y2EzNTkgMTAwNzU1Ci0tLSBhL3QvdDQwMTAtZGlmZi1wYXRoc3BlYy5zaAorKysgYi90L3Q0MDEwLWRpZmYtcGF0aHNwZWMuc2gKQEAgLTE3LDExICsxNywxNSBAQAogICAgICdlY2hvIGZyb3R6ID5maWxlMCAmJgogICAgICBta2RpciBwYXRoMSAmJgogICAgICBlY2hvIHJlenJvdiA+cGF0aDEvZmlsZTEgJiYKKyAgICAgYmVmb3JlMD0kKGdpdCBoYXNoLW9iamVjdCBmaWxlMCkgJiYKKyAgICAgYmVmb3JlMT0kKGdpdCBoYXNoLW9iamVjdCBwYXRoMS9maWxlMSkgJiYKICAgICAgZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCBmaWxlMCBwYXRoMS9maWxlMSAmJgogICAgICB0cmVlPSQoZ2l0IHdyaXRlLXRyZWUpICYmCiAgICAgIGVjaG8gIiR0cmVlIiAmJgogICAgICBlY2hvIG5pdGZvbCA+ZmlsZTAgJiYKICAgICAgZWNobyB5b21pbiA+cGF0aDEvZmlsZTEgJiYKKyAgICAgYWZ0ZXIwPSQoZ2l0IGhhc2gtb2JqZWN0IGZpbGUwKSAmJgorICAgICBhZnRlcjE9JChnaXQgaGFzaC1vYmplY3QgcGF0aDEvZmlsZTEpICYmCiAgICAgIGdpdCB1cGRhdGUtaW5kZXggZmlsZTAgcGF0aDEvZmlsZTEnCiAKIGNhdCA+ZXhwZWN0ZWQgPDxcRU9GCkBAIC0zMSwzMiArMzUsMzIgQEAKICAgICAnZ2l0IGRpZmYtaW5kZXggLS1jYWNoZWQgJHRyZWUgLS0gcGF0aCA+Y3VycmVudCAmJgogICAgICBjb21wYXJlX2RpZmZfcmF3IGN1cnJlbnQgZXhwZWN0ZWQnCiAKLWNhdCA+ZXhwZWN0ZWQgPDxcRU9GCi06MTAwNjQ0IDEwMDY0NCA3NjY0OThkOTNhNGIwNjA1N2E4ZTQ5ZDIzZjQwNjhmMTE3MGZmMzhmIDBhNDFlMTE1YWI2MWJlMDMyOGExOWIyOWYxOGNkY2I0OTMzOGQ1MTYgTQlwYXRoMS9maWxlMQorY2F0ID5leHBlY3RlZCA8PEVPRgorOjEwMDY0NCAxMDA2NDQgJGJlZm9yZTEgJGFmdGVyMSBNCXBhdGgxL2ZpbGUxCiBFT0YKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAogICAgICdsaW1pdCB0byBwYXRoMSBzaG91bGQgc2hvdyBwYXRoMS9maWxlMScgXAogICAgICdnaXQgZGlmZi1pbmRleCAtLWNhY2hlZCAkdHJlZSAtLSBwYXRoMSA+Y3VycmVudCAmJgogICAgICBjb21wYXJlX2RpZmZfcmF3IGN1cnJlbnQgZXhwZWN0ZWQnCiAKLWNhdCA+ZXhwZWN0ZWQgPDxcRU9GCi06MTAwNjQ0IDEwMDY0NCA3NjY0OThkOTNhNGIwNjA1N2E4ZTQ5ZDIzZjQwNjhmMTE3MGZmMzhmIDBhNDFlMTE1YWI2MWJlMDMyOGExOWIyOWYxOGNkY2I0OTMzOGQ1MTYgTQlwYXRoMS9maWxlMQorY2F0ID5leHBlY3RlZCA8PEVPRgorOjEwMDY0NCAxMDA2NDQgJGJlZm9yZTEgJGFmdGVyMSBNCXBhdGgxL2ZpbGUxCiBFT0YKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAogICAgICdsaW1pdCB0byBwYXRoMS8gc2hvdWxkIHNob3cgcGF0aDEvZmlsZTEnIFwKICAgICAnZ2l0IGRpZmYtaW5kZXggLS1jYWNoZWQgJHRyZWUgLS0gcGF0aDEvID5jdXJyZW50ICYmCiAgICAgIGNvbXBhcmVfZGlmZl9yYXcgY3VycmVudCBleHBlY3RlZCcKIAotY2F0ID5leHBlY3RlZCA8PFxFT0YKLToxMDA2NDQgMTAwNjQ0IDc2NjQ5OGQ5M2E0YjA2MDU3YThlNDlkMjNmNDA2OGYxMTcwZmYzOGYgMGE0MWUxMTVhYjYxYmUwMzI4YTE5YjI5ZjE4Y2RjYjQ5MzM4ZDUxNiBNCXBhdGgxL2ZpbGUxCitjYXQgPmV4cGVjdGVkIDw8RU9GCis6MTAwNjQ0IDEwMDY0NCAkYmVmb3JlMSAkYWZ0ZXIxIE0JcGF0aDEvZmlsZTEKIEVPRgogdGVzdF9leHBlY3Rfc3VjY2VzcyBcCiAgICAgJyIqZmlsZTEiIHNob3VsZCBzaG93IHBhdGgxL2ZpbGUxJyBcCiAgICAgJ2dpdCBkaWZmLWluZGV4IC0tY2FjaGVkICR0cmVlIC0tICIqZmlsZTEiID5jdXJyZW50ICYmCiAgICAgIGNvbXBhcmVfZGlmZl9yYXcgY3VycmVudCBleHBlY3RlZCcKIAotY2F0ID5leHBlY3RlZCA8PFxFT0YKLToxMDA2NDQgMTAwNjQ0IDhlNDAyMGJiNWE4ZDhjODczYjI1ZGUxNTkzM2U3NWNjMGZjMjc1ZGYgZGNhNmI5MjMwM2JlZmM5MzA4NmFhMDI1ZDkwYTVmYWNkN2ViMjgxMiBNCWZpbGUwCitjYXQgPmV4cGVjdGVkIDw8RU9GCis6MTAwNjQ0IDEwMDY0NCAkYmVmb3JlMCAkYWZ0ZXIwIE0JZmlsZTAKIEVPRgogdGVzdF9leHBlY3Rfc3VjY2VzcyBcCiAgICAgJ2xpbWl0IHRvIGZpbGUwIHNob3VsZCBzaG93IGZpbGUwJyBcCmRpZmYgLS1naXQgYS90L3Q0MDExLWRpZmYtc3ltbGluay5zaCBiL3QvdDQwMTEtZGlmZi1zeW1saW5rLnNoCmluZGV4IDVhZTE5YjkuLjcxNzAzNGIgMTAwNzU1Ci0tLSBhL3QvdDQwMTEtZGlmZi1zeW1saW5rLnNoCisrKyBiL3QvdDQwMTEtZGlmZi1zeW1saW5rLnNoCkBAIC05LDExICs5LDI0IEBACiAuIC4vdGVzdC1saWIuc2gKIC4gIiRURVNUX0RJUkVDVE9SWSIvZGlmZi1saWIuc2gKIAorIyBQcmludCB0aGUgc2hvcnQgT0lEIG9mIGEgc3ltbGluayB3aXRoIHRoZSBnaXZlbiBuYW1lLgorc3ltbGlua19vaWQgKCkgeworCWxvY2FsIG9pZD0kKHByaW50ZiAiJXMiICIkMSIgfCBnaXQgaGFzaC1vYmplY3QgLS1zdGRpbikgJiYKKwlnaXQgcmV2LXBhcnNlIC0tc2hvcnQgIiRvaWQiCit9CisKKyMgUHJpbnQgdGhlIHNob3J0IE9JRCBvZiB0aGUgZ2l2ZW4gZmlsZS4KK3Nob3J0X29pZCAoKSB7CisJbG9jYWwgb2lkPSQoZ2l0IGhhc2gtb2JqZWN0ICIkMSIpICYmCisJZ2l0IHJldi1wYXJzZSAtLXNob3J0ICIkb2lkIgorfQorCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmIG5ldyBzeW1saW5rIGFuZCBmaWxlJyAnCi0JY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisJc3ltbGluaz0kKHN5bWxpbmtfb2lkIHh5enp5KSAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCiAJZGlmZiAtLWdpdCBhL2Zyb3R6IGIvZnJvdHoKIAluZXcgZmlsZSBtb2RlIDEyMDAwMAotCWluZGV4IDAwMDAwMDAuLjdjNDY1YWYKKwlpbmRleCAwMDAwMDAwLi4kc3ltbGluawogCS0tLSAvZGV2L251bGwKIAkrKysgYi9mcm90egogCUBAIC0wLDAgKzEgQEAKQEAgLTIxLDcgKzM0LDcgQEAKIAlcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKIAlkaWZmIC0tZ2l0IGEvbml0Zm9sIGIvbml0Zm9sCiAJbmV3IGZpbGUgbW9kZSAxMDA2NDQKLQlpbmRleCAwMDAwMDAwLi43YzQ2NWFmCisJaW5kZXggMDAwMDAwMC4uJHN5bWxpbmsKIAktLS0gL2Rldi9udWxsCiAJKysrIGIvbml0Zm9sCiAJQEAgLTAsMCArMSBAQApAQCAtNDYsMTAgKzU5LDEwIEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYgcmVtb3ZlZCBzeW1saW5rIGFuZCBmaWxlJyAnCi0JY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKIAlkaWZmIC0tZ2l0IGEvZnJvdHogYi9mcm90egogCWRlbGV0ZWQgZmlsZSBtb2RlIDEyMDAwMAotCWluZGV4IDdjNDY1YWYuLjAwMDAwMDAKKwlpbmRleCAkc3ltbGluay4uMDAwMDAwMAogCS0tLSBhL2Zyb3R6CiAJKysrIC9kZXYvbnVsbAogCUBAIC0xICswLDAgQEAKQEAgLTU3LDcgKzcwLDcgQEAKIAlcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKIAlkaWZmIC0tZ2l0IGEvbml0Zm9sIGIvbml0Zm9sCiAJZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Ci0JaW5kZXggN2M0NjVhZi4uMDAwMDAwMAorCWluZGV4ICRzeW1saW5rLi4wMDAwMDAwCiAJLS0tIGEvbml0Zm9sCiAJKysrIC9kZXYvbnVsbAogCUBAIC0xICswLDAgQEAKQEAgLTkwLDkgKzEwMywxMCBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmIGRpZmZlcmVudCBzeW1saW5rIGFuZCBmaWxlJyAnCi0JY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisJbmV3PSQoc3ltbGlua19vaWQgeXh5eXopICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKIAlkaWZmIC0tZ2l0IGEvZnJvdHogYi9mcm90egotCWluZGV4IDdjNDY1YWYuLmRmMWRiNTQgMTIwMDAwCisJaW5kZXggJHN5bWxpbmsuLiRuZXcgMTIwMDAwCiAJLS0tIGEvZnJvdHoKIAkrKysgYi9mcm90egogCUBAIC0xICsxIEBACkBAIC0xMDEsNyArMTE1LDcgQEAKIAkreXh5eXoKIAlcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKIAlkaWZmIC0tZ2l0IGEvbml0Zm9sIGIvbml0Zm9sCi0JaW5kZXggN2M0NjVhZi4uZGYxZGI1NCAxMDA2NDQKKwlpbmRleCAkc3ltbGluay4uJG5ldyAxMDA2NDQKIAktLS0gYS9uaXRmb2wKIAkrKysgYi9uaXRmb2wKIAlAQCAtMSArMSBAQApAQCAtMTM3LDE0ICsxNTEsMTYgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBTWU1MSU5LUyAnc3ltbGlua3MgZG8gbm90IHJlc3BlY3QgdXNlcmRpZmYgY29uZmlnIGJ5IHBhdGgnICcKLQljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJZmlsZT0kKHNob3J0X29pZCBmaWxlLmJpbikgJiYKKwlsaW5rPSQoc3ltbGlua19vaWQgZmlsZS5iaW4pICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCiAJZGlmZiAtLWdpdCBhL2ZpbGUuYmluIGIvZmlsZS5iaW4KIAluZXcgZmlsZSBtb2RlIDEwMDY0NAotCWluZGV4IDAwMDAwMDAuLmQ5NWYzYWQKKwlpbmRleCAwMDAwMDAwLi4kZmlsZQogCUJpbmFyeSBmaWxlcyAvZGV2L251bGwgYW5kIGIvZmlsZS5iaW4gZGlmZmVyCiAJZGlmZiAtLWdpdCBhL2xpbmsuYmluIGIvbGluay5iaW4KIAluZXcgZmlsZSBtb2RlIDEyMDAwMAotCWluZGV4IDAwMDAwMDAuLmRjZTQxZWMKKwlpbmRleCAwMDAwMDAwLi4kbGluawogCS0tLSAvZGV2L251bGwKIAkrKysgYi9saW5rLmJpbgogCUBAIC0wLDAgKzEgQEAKZGlmZiAtLWdpdCBhL3QvdDQwMTMtZGlmZi12YXJpb3VzLnNoIGIvdC90NDAxMy1kaWZmLXZhcmlvdXMuc2gKaW5kZXggN2Q5ODVmZi4uZGRlM2YxMSAxMDA3NTUKLS0tIGEvdC90NDAxMy1kaWZmLXZhcmlvdXMuc2gKKysrIGIvdC90NDAxMy1kaWZmLXZhcmlvdXMuc2gKQEAgLTcsOSArNyw2IEBACiAKIC4gLi90ZXN0LWxpYi5zaAogCi1MRj0nCi0nCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3Mgc2V0dXAgJwogCiAJR0lUX0FVVEhPUl9EQVRFPSIyMDA2LTA2LTI2IDAwOjAwOjAwICswMDAwIiAmJgpAQCAtOTgsNiArOTUsMTIgQEAKIAlnaXQgY29tbWl0IC1tICJ1cGRhdGUgbW9kZSIgJiYKIAlnaXQgY2hlY2tvdXQgLWYgbWFzdGVyICYmCiAKKwkjIFNhbWUgbWVyZ2UgYXMgbWFzdGVyLCBidXQgd2l0aCBwYXJlbnRzIHJldmVyc2VkLiBIaWRlIGl0IGluIGEKKwkjIHBzZXVkby1yZWYgdG8gYXZvaWQgaW1wYWN0aW5nIHRlc3RzIHdpdGggLS1hbGwuCisJY29tbWl0PSQoZWNobyByZXZlcnNlIHwKKwkJIGdpdCBjb21taXQtdHJlZSAtcCBtYXN0ZXJeMiAtcCBtYXN0ZXJeMSBtYXN0ZXJee3RyZWV9KSAmJgorCWdpdCB1cGRhdGUtcmVmIFJFVkVSU0UgJGNvbW1pdCAmJgorCiAJZ2l0IGNvbmZpZyBkaWZmLnJlbmFtZXMgZmFsc2UgJiYKIAogCWdpdCBzaG93LWJyYW5jaApAQCAtMTE3LDYgKzEyMCwzMCBAQAogKyorKyBbaW5pdGlhbF0gSW5pdGlhbAogRU9GCiAKK3Byb2Nlc3NfZGlmZnMgKCkgeworCV94MDQ9IlswLTlhLWZdWzAtOWEtZl1bMC05YS1mXVswLTlhLWZdIiAmJgorCV94MDc9IiRfeDA1WzAtOWEtZl1bMC05YS1mXSIgJiYKKwlzZWQgLWUgInMvJE9JRF9SRUdFWC8kWkVST19PSUQvZyIgXAorCSAgICAtZSAicy9Gcm9tICRfeDQwIC9Gcm9tICRaRVJPX09JRCAvIiBcCisJICAgIC1lICJzL2Zyb20gJF94NDApL2Zyb20gJFpFUk9fT0lEKS8iIFwKKwkgICAgLWUgInMvY29tbWl0ICRfeDQwXCQvY29tbWl0ICRaRVJPX09JRC8iIFwKKwkgICAgLWUgInMvY29tbWl0ICRfeDQwICgvY29tbWl0ICRaRVJPX09JRCAoLyIgXAorCSAgICAtZSAicy8kX3g0MCAkX3g0MCAkX3g0MC8kWkVST19PSUQgJFpFUk9fT0lEICRaRVJPX09JRC8iIFwKKwkgICAgLWUgInMvJF94NDAgJF94NDAgLyRaRVJPX09JRCAkWkVST19PSUQgLyIgXAorCSAgICAtZSAicy9eJF94NDAgJF94NDAkLyRaRVJPX09JRCAkWkVST19PSUQvIiBcCisJICAgIC1lICJzL14kX3g0MCAvJFpFUk9fT0lEIC8iIFwKKwkgICAgLWUgInMvXiRfeDQwJC8kWkVST19PSUQvIiBcCisJICAgIC1lICJzLyRfeDA3XC5cLiRfeDA3L2ZmZmZmZmYuLmZmZmZmZmYvZyIgXAorCSAgICAtZSAicy8kX3gwNywkX3gwN1wuXC4kX3gwNy9mZmZmZmZmLGZmZmZmZmYuLmZmZmZmZmYvZyIgXAorCSAgICAtZSAicy8kX3gwNyAkX3gwNyAkX3gwNy9mZmZmZmZmIGZmZmZmZmYgZmZmZmZmZi9nIiBcCisJICAgIC1lICJzLyRfeDA3ICRfeDA3IC9mZmZmZmZmIGZmZmZmZmYgL2ciIFwKKwkgICAgLWUgInMvTWVyZ2U6ICRfeDA3ICRfeDA3L01lcmdlOiBmZmZmZmZmIGZmZmZmZmYvZyIgXAorCSAgICAtZSAicy8kX3gwN1wuXC5cLi9mZmZmZmZmLi4uL2ciIFwKKwkgICAgLWUgInMvICRfeDA0XC5cLlwuLyBmZmZmLi4uL2ciIFwKKwkgICAgLWUgInMvICRfeDA0LyBmZmZmL2ciIFwKKwkgICAgIiQxIgorfQorCiBWPSQoZ2l0IHZlcnNpb24gfCBzZWQgLWUgJ3MvXmdpdCB2ZXJzaW9uIC8vJyAtZSAncy9cLi9cXC4vZycpCiB3aGlsZSByZWFkIG1hZ2ljIGNtZAogZG8KQEAgLTE1NSwxMyArMTgyLDE1IEBACiAJCX0gPiIkYWN0dWFsIiAmJgogCQlpZiB0ZXN0IC1mICIkZXhwZWN0IgogCQl0aGVuCisJCQlwcm9jZXNzX2RpZmZzICIkYWN0dWFsIiA+YWN0dWFsICYmCisJCQlwcm9jZXNzX2RpZmZzICIkZXhwZWN0IiA+ZXhwZWN0ICYmCiAJCQljYXNlICRjbWQgaW4KIAkJCSpmb3JtYXQtcGF0Y2gqIHwgKi1zdGF0KikKLQkJCQl0ZXN0X2kxOG5jbXAgIiRleHBlY3QiICIkYWN0dWFsIjs7CisJCQkJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWw7OwogCQkJKikKLQkJCQl0ZXN0X2NtcCAiJGV4cGVjdCIgIiRhY3R1YWwiOzsKKwkJCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsOzsKIAkJCWVzYWMgJiYKLQkJCXJtIC1mICIkYWN0dWFsIgorCQkJcm0gLWYgIiRhY3R1YWwiIGFjdHVhbCBleHBlY3QKIAkJZWxzZQogCQkJIyB0aGlzIGlzIHRvIGhlbHAgZGV2ZWxvcGluZyBuZXcgdGVzdHMuCiAJCQljcCAiJGFjdHVhbCIgIiRleHBlY3QiCkBAIC0yMzksNiArMjY4LDggQEAKICMgc3RhdCBzdW1tYXJ5IHNob3VsZCBzaG93IHRoZSBkaWZmc3RhdCBhbmQgc3VtbWFyeSB3aXRoIHRoZSBmaXJzdCBwYXJlbnQKIGRpZmYtdHJlZSAtYyAtLXN0YXQgLS1zdW1tYXJ5IHNpZGUKIGRpZmYtdHJlZSAtLWNjIC0tc3RhdCAtLXN1bW1hcnkgc2lkZQorZGlmZi10cmVlIC0tY2MgLS1zaG9ydHN0YXQgbWFzdGVyCitkaWZmLXRyZWUgLS1jYyAtLXN1bW1hcnkgUkVWRVJTRQogIyBpbXByb3ZlZCBieSBUaW1vJ3MgcGF0Y2gKIGRpZmYtdHJlZSAtLWNjIC0tcGF0Y2gtd2l0aC1zdGF0IG1hc3RlcgogIyBpbXByb3ZlZCBieSBUaW1vJ3MgcGF0Y2gKQEAgLTMzMCw2ICszNjEsOCBAQAogZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IC0tY292ZXItbGV0dGVyIC1uIGluaXRpYWwuLm1hc3Rlcl4KIAogZGlmZiAtLWFiYnJldiBpbml0aWFsLi5zaWRlCitkaWZmIC1VIGluaXRpYWwuLnNpZGUKK2RpZmYgLVUxIGluaXRpYWwuLnNpZGUKIGRpZmYgLXIgaW5pdGlhbC4uc2lkZQogZGlmZiAtLXN0YXQgaW5pdGlhbC4uc2lkZQogZGlmZiAtciAtLXN0YXQgaW5pdGlhbC4uc2lkZQpAQCAtMzUwLDYgKzM4Myw3IEBACiBkaWZmIC0tZGlyc3RhdCBtYXN0ZXJ+MSBtYXN0ZXJ+MgogZGlmZiAtLWRpcnN0YXQgaW5pdGlhbCByZWFycmFuZ2UKIGRpZmYgLS1kaXJzdGF0LWJ5LWZpbGUgaW5pdGlhbCByZWFycmFuZ2UKK2RpZmYgLS1kaXJzdGF0IC0tY2MgbWFzdGVyfjEgbWFzdGVyCiAjIE5vLWluZGV4IC0tYWJicmV2IGFuZCAtLW5vLWFiYnJldgogZGlmZiAtLXJhdyBpbml0aWFsCiA6bm9lbGxpcHNlcyBkaWZmIC0tcmF3IGluaXRpYWwKQEAgLTM3NSwxNiArNDA5LDIyIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmIC0tY2FjaGVkIG9uIHVuYm9ybiBicmFuY2gnICcKIAllY2hvIHJlZjogcmVmcy9oZWFkcy91bmJvcm4gPi5naXQvSEVBRCAmJgogCWdpdCBkaWZmIC0tY2FjaGVkID5yZXN1bHQgJiYKLQl0ZXN0X2NtcCAiJFRFU1RfRElSRUNUT1JZL3Q0MDEzL2RpZmYuZGlmZl8tLWNhY2hlZCIgcmVzdWx0CisJcHJvY2Vzc19kaWZmcyByZXN1bHQgPmFjdHVhbCAmJgorCXByb2Nlc3NfZGlmZnMgIiRURVNUX0RJUkVDVE9SWS90NDAxMy9kaWZmLmRpZmZfLS1jYWNoZWQiID5leHBlY3RlZCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmIC0tY2FjaGVkIC0tIGZpbGUgb24gdW5ib3JuIGJyYW5jaCcgJwogCWdpdCBkaWZmIC0tY2FjaGVkIC0tIGZpbGUwID5yZXN1bHQgJiYKLQl0ZXN0X2NtcCAiJFRFU1RfRElSRUNUT1JZL3Q0MDEzL2RpZmYuZGlmZl8tLWNhY2hlZF8tLV9maWxlMCIgcmVzdWx0CisJcHJvY2Vzc19kaWZmcyByZXN1bHQgPmFjdHVhbCAmJgorCXByb2Nlc3NfZGlmZnMgIiRURVNUX0RJUkVDVE9SWS90NDAxMy9kaWZmLmRpZmZfLS1jYWNoZWRfLS1fZmlsZTAiID5leHBlY3RlZCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZiAtLWxpbmUtcHJlZml4IHdpdGggc3BhY2VzJyAnCiAJZ2l0IGRpZmYgLS1saW5lLXByZWZpeD0ifCB8IHwgIiAtLWNhY2hlZCAtLSBmaWxlMCA+cmVzdWx0ICYmCi0JdGVzdF9jbXAgIiRURVNUX0RJUkVDVE9SWS90NDAxMy9kaWZmLmRpZmZfLS1saW5lLXByZWZpeF8tLWNhY2hlZF8tLV9maWxlMCIgcmVzdWx0CisJcHJvY2Vzc19kaWZmcyByZXN1bHQgPmFjdHVhbCAmJgorCXByb2Nlc3NfZGlmZnMgIiRURVNUX0RJUkVDVE9SWS90NDAxMy9kaWZmLmRpZmZfLS1saW5lLXByZWZpeF8tLWNhY2hlZF8tLV9maWxlMCIgPmV4cGVjdGVkICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYtdHJlZSAtLXN0ZGluIHdpdGggbG9nIGZvcm1hdHRpbmcnICcKZGlmZiAtLWdpdCBhL3QvdDQwMTMvZGlmZi5kaWZmLXRyZWVfLS1jY18tLXNob3J0c3RhdF9tYXN0ZXIgYi90L3Q0MDEzL2RpZmYuZGlmZi10cmVlXy0tY2NfLS1zaG9ydHN0YXRfbWFzdGVyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0Y2E0MmQKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDEzL2RpZmYuZGlmZi10cmVlXy0tY2NfLS1zaG9ydHN0YXRfbWFzdGVyCkBAIC0wLDAgKzEsNCBAQAorJCBnaXQgZGlmZi10cmVlIC0tY2MgLS1zaG9ydHN0YXQgbWFzdGVyCis1OWQzMTRhZDZmMzU2ZGQwODYwMWE0Y2Q1ZTUzMDM4MWRhM2UzYzY0CisgMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKKyQKZGlmZiAtLWdpdCBhL3QvdDQwMTMvZGlmZi5kaWZmLXRyZWVfLS1jY18tLXN1bW1hcnlfUkVWRVJTRSBiL3QvdDQwMTMvZGlmZi5kaWZmLXRyZWVfLS1jY18tLXN1bW1hcnlfUkVWRVJTRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMjA4ZGQ1Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxMy9kaWZmLmRpZmYtdHJlZV8tLWNjXy0tc3VtbWFyeV9SRVZFUlNFCkBAIC0wLDAgKzEsNiBAQAorJCBnaXQgZGlmZi10cmVlIC0tY2MgLS1zdW1tYXJ5IFJFVkVSU0UKKzI1NjIzMjVhN2VlOTE2ZWZiMjQ4MWRhOTMwNzNiODJjZWM4MDFjYmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZmlsZTEKKyBkZWxldGUgbW9kZSAxMDA2NDQgZmlsZTIKKyBkZWxldGUgbW9kZSAxMDA2NDQgZmlsZTMKKyQKZGlmZiAtLWdpdCBhL3QvdDQwMTMvZGlmZi5kaWZmXy0tZGlyc3RhdF8tLWNjX21hc3Rlcn4xX21hc3RlciBiL3QvdDQwMTMvZGlmZi5kaWZmXy0tZGlyc3RhdF8tLWNjX21hc3Rlcn4xX21hc3RlcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYmE0ZTM0Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxMy9kaWZmLmRpZmZfLS1kaXJzdGF0Xy0tY2NfbWFzdGVyfjFfbWFzdGVyCkBAIC0wLDAgKzEsMyBAQAorJCBnaXQgZGlmZiAtLWRpcnN0YXQgLS1jYyBtYXN0ZXJ+MSBtYXN0ZXIKKyAgNDAuMCUgZGlyLworJApkaWZmIC0tZ2l0IGEvdC90NDAxMy9kaWZmLmRpZmZfLVUxX2luaXRpYWwuLnNpZGUgYi90L3Q0MDEzL2RpZmYuZGlmZl8tVTFfaW5pdGlhbC4uc2lkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjlmOGYwCi0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxMy9kaWZmLmRpZmZfLVUxX2luaXRpYWwuLnNpZGUKQEAgLTAsMCArMSwyOSBAQAorJCBnaXQgZGlmZiAtVTEgaW5pdGlhbC4uc2lkZQorZGlmZiAtLWdpdCBhL2Rpci9zdWIgYi9kaXIvc3ViCitpbmRleCAzNWQyNDJiLi43Mjg5ZTM1IDEwMDY0NAorLS0tIGEvZGlyL3N1YgorKysrIGIvZGlyL3N1YgorQEAgLTIgKzIsMyBAQCBBCisgQgorKzEKKysyCitkaWZmIC0tZ2l0IGEvZmlsZTAgYi9maWxlMAoraW5kZXggMDFlNzljMy4uZjQ2MTVkYSAxMDA2NDQKKy0tLSBhL2ZpbGUwCisrKysgYi9maWxlMAorQEAgLTMgKzMsNCBAQAorIDMKKytBCisrQgorK0MKK2RpZmYgLS1naXQgYS9maWxlMyBiL2ZpbGUzCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uNzI4OWUzNQorLS0tIC9kZXYvbnVsbAorKysrIGIvZmlsZTMKK0BAIC0wLDAgKzEsNCBAQAorK0EKKytCCisrMQorKzIKKyQKZGlmZiAtLWdpdCBhL3QvdDQwMTMvZGlmZi5kaWZmXy1VMl9pbml0aWFsLi5zaWRlIGIvdC90NDAxMy9kaWZmLmRpZmZfLVUyX2luaXRpYWwuLnNpZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZmZTA0ZgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTMvZGlmZi5kaWZmXy1VMl9pbml0aWFsLi5zaWRlCkBAIC0wLDAgKzEsMzEgQEAKKyQgZ2l0IGRpZmYgLVUyIGluaXRpYWwuLnNpZGUKK2RpZmYgLS1naXQgYS9kaXIvc3ViIGIvZGlyL3N1YgoraW5kZXggMzVkMjQyYi4uNzI4OWUzNSAxMDA2NDQKKy0tLSBhL2Rpci9zdWIKKysrKyBiL2Rpci9zdWIKK0BAIC0xLDIgKzEsNCBAQAorIEEKKyBCCisrMQorKzIKK2RpZmYgLS1naXQgYS9maWxlMCBiL2ZpbGUwCitpbmRleCAwMWU3OWMzLi5mNDYxNWRhIDEwMDY0NAorLS0tIGEvZmlsZTAKKysrKyBiL2ZpbGUwCitAQCAtMiwyICsyLDUgQEAKKyAyCisgMworK0EKKytCCisrQworZGlmZiAtLWdpdCBhL2ZpbGUzIGIvZmlsZTMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi43Mjg5ZTM1CistLS0gL2Rldi9udWxsCisrKysgYi9maWxlMworQEAgLTAsMCArMSw0IEBACisrQQorK0IKKysxCisrMgorJApkaWZmIC0tZ2l0IGEvdC90NDAxMy9kaWZmLmRpZmZfLVVfaW5pdGlhbC4uc2lkZSBiL3QvdDQwMTMvZGlmZi5kaWZmXy1VX2luaXRpYWwuLnNpZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY2YzBkZAotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTMvZGlmZi5kaWZmXy1VX2luaXRpYWwuLnNpZGUKQEAgLTAsMCArMSwzMiBAQAorJCBnaXQgZGlmZiAtVSBpbml0aWFsLi5zaWRlCitkaWZmIC0tZ2l0IGEvZGlyL3N1YiBiL2Rpci9zdWIKK2luZGV4IDM1ZDI0MmIuLjcyODllMzUgMTAwNjQ0CistLS0gYS9kaXIvc3ViCisrKysgYi9kaXIvc3ViCitAQCAtMSwyICsxLDQgQEAKKyBBCisgQgorKzEKKysyCitkaWZmIC0tZ2l0IGEvZmlsZTAgYi9maWxlMAoraW5kZXggMDFlNzljMy4uZjQ2MTVkYSAxMDA2NDQKKy0tLSBhL2ZpbGUwCisrKysgYi9maWxlMAorQEAgLTEsMyArMSw2IEBACisgMQorIDIKKyAzCisrQQorK0IKKytDCitkaWZmIC0tZ2l0IGEvZmlsZTMgYi9maWxlMworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjcyODllMzUKKy0tLSAvZGV2L251bGwKKysrKyBiL2ZpbGUzCitAQCAtMCwwICsxLDQgQEAKKytBCisrQgorKzEKKysyCiskCmRpZmYgLS1naXQgYS90L3Q0MDE0LWZvcm1hdC1wYXRjaC5zaCBiL3QvdDQwMTQtZm9ybWF0LXBhdGNoLnNoCmluZGV4IDkwOWM3NDMuLmI2NTNkZDcgMTAwNzU1Ci0tLSBhL3QvdDQwMTQtZm9ybWF0LXBhdGNoLnNoCisrKyBiL3QvdDQwMTQtZm9ybWF0LXBhdGNoLnNoCkBAIC05LDcgKzksNiBAQAogLiAiJFRFU1RfRElSRUNUT1JZIi9saWItdGVybWluYWwuc2gKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCi0KIAlmb3IgaSBpbiAxIDIgMyA0IDUgNiA3IDggOSAxMDsgZG8gZWNobyAiJGkiOyBkb25lID5maWxlICYmCiAJY2F0IGZpbGUgPmVsaWYgJiYKIAlnaXQgYWRkIGZpbGUgZWxpZiAmJgpAQCAtMzQsMzkgKzMzLDU0IEBACiAJZ2l0IGNvbW1pdCAtbSAiU2lkZSBjaGFuZ2VzICMzIHdpdGggXFxuIGJhY2tzbGFzaC1uIGluIGl0LiIgJiYKIAogCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKLQlnaXQgZGlmZi10cmVlIC1wIEMyIHwgZ2l0IGFwcGx5IC0taW5kZXggJiYKKwlnaXQgZGlmZi10cmVlIC1wIEMyID5wYXRjaCAmJgorCWdpdCBhcHBseSAtLWluZGV4IDxwYXRjaCAmJgogCXRlc3RfdGljayAmJgotCWdpdCBjb21taXQgLW0gIk1hc3RlciBhY2NlcHRzIG1vcmFsIGVxdWl2YWxlbnQgb2YgIzIiCisJZ2l0IGNvbW1pdCAtbSAiTWFzdGVyIGFjY2VwdHMgbW9yYWwgZXF1aXZhbGVudCBvZiAjMiIgJiYKIAorCWdpdCBjaGVja291dCBzaWRlICYmCisJZ2l0IGNoZWNrb3V0IC1iIHBhdGNoaWQgJiYKKwlmb3IgaSBpbiA1IDYgMSAyIDMgQSA0IEIgQyA3IDggOSAxMCBEIEUgRjsgZG8gZWNobyAiJGkiOyBkb25lID5maWxlMiAmJgorCWZvciBpIGluIDEgMiAzIEEgNCBCIEMgNyA4IDkgMTAgRCBFIEYgNSA2OyBkbyBlY2hvICIkaSI7IGRvbmUgPmZpbGUzICYmCisJZm9yIGkgaW4gOCA5IDEwOyBkbyBlY2hvICIkaSI7IGRvbmUgPmZpbGUgJiYKKwlnaXQgYWRkIGZpbGUgZmlsZTIgZmlsZTMgJiYKKwl0ZXN0X3RpY2sgJiYKKwlnaXQgY29tbWl0IC1tICJwYXRjaGlkIDEiICYmCisJZm9yIGkgaW4gNCBBIEIgNyA4IDkgMTA7IGRvIGVjaG8gIiRpIjsgZG9uZSA+ZmlsZTIgJiYKKwlmb3IgaSBpbiA4IDkgMTAgNSA2OyBkbyBlY2hvICIkaSI7IGRvbmUgPmZpbGUzICYmCisJZ2l0IGFkZCBmaWxlMiBmaWxlMyAmJgorCXRlc3RfdGljayAmJgorCWdpdCBjb21taXQgLW0gInBhdGNoaWQgMiIgJiYKKwlmb3IgaSBpbiAxMCA1IDY7IGRvIGVjaG8gIiRpIjsgZG9uZSA+ZmlsZSAmJgorCWdpdCBhZGQgZmlsZSAmJgorCXRlc3RfdGljayAmJgorCWdpdCBjb21taXQgLW0gInBhdGNoaWQgMyIgJiYKKworCWdpdCBjaGVja291dCBtYXN0ZXIKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAiZm9ybWF0LXBhdGNoIC0taWdub3JlLWlmLWluLXVwc3RyZWFtIiAnCi0KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC1wYXRjaCAtLWlnbm9yZS1pZi1pbi11cHN0cmVhbScgJwogCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgbWFzdGVyLi5zaWRlID5wYXRjaDAgJiYKLQljbnQ9JChncmVwICJeRnJvbSAiIHBhdGNoMCB8IHdjIC1sKSAmJgotCXRlc3QgJGNudCA9IDMKLQorCWdyZXAgIl5Gcm9tICIgcGF0Y2gwID5mcm9tMCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDMgZnJvbTAKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAiZm9ybWF0LXBhdGNoIC0taWdub3JlLWlmLWluLXVwc3RyZWFtIiAnCi0KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC1wYXRjaCAtLWlnbm9yZS1pZi1pbi11cHN0cmVhbScgJwogCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgXAogCQktLWlnbm9yZS1pZi1pbi11cHN0cmVhbSBtYXN0ZXIuLnNpZGUgPnBhdGNoMSAmJgotCWNudD0kKGdyZXAgIl5Gcm9tICIgcGF0Y2gxIHwgd2MgLWwpICYmCi0JdGVzdCAkY250ID0gMgotCisJZ3JlcCAiXkZyb20gIiBwYXRjaDEgPmZyb20xICYmCisJdGVzdF9saW5lX2NvdW50ID0gMiBmcm9tMQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICJmb3JtYXQtcGF0Y2ggLS1pZ25vcmUtaWYtaW4tdXBzdHJlYW0gaGFuZGxlcyB0YWdzIiAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JtYXQtcGF0Y2ggLS1pZ25vcmUtaWYtaW4tdXBzdHJlYW0gaGFuZGxlcyB0YWdzJyAnCiAJZ2l0IHRhZyAtYSB2MSAtbSB0YWcgc2lkZSAmJgogCWdpdCB0YWcgLWEgdjIgLW0gdGFnIG1hc3RlciAmJgogCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgLS1pZ25vcmUtaWYtaW4tdXBzdHJlYW0gdjIuLnYxID5wYXRjaDEgJiYKLQljbnQ9JChncmVwICJeRnJvbSAiIHBhdGNoMSB8IHdjIC1sKSAmJgotCXRlc3QgJGNudCA9IDIKKwlncmVwICJeRnJvbSAiIHBhdGNoMSA+ZnJvbTEgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAyIGZyb20xCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgImZvcm1hdC1wYXRjaCBkb2Vzbid0IGNvbnNpZGVyIG1lcmdlIGNvbW1pdHMiICcKLQogCWdpdCBjaGVja291dCAtYiBzbGF2ZSBtYXN0ZXIgJiYKIAllY2hvICJBbm90aGVyIGxpbmUiID4+ZmlsZSAmJgogCXRlc3RfdGljayAmJgpAQCAtNzcsMTQ4ICs5MSwxMzggQEAKIAlnaXQgY2hlY2tvdXQgLWIgbWVyZ2VyIG1hc3RlciAmJgogCXRlc3RfdGljayAmJgogCWdpdCBtZXJnZSAtLW5vLWZmIHNsYXZlICYmCi0JY250PSQoZ2l0IGZvcm1hdC1wYXRjaCAtMyAtLXN0ZG91dCB8IGdyZXAgIl5Gcm9tICIgfCB3YyAtbCkgJiYKLQl0ZXN0ICRjbnQgPSAzCisJZ2l0IGZvcm1hdC1wYXRjaCAtMyAtLXN0ZG91dCA+cGF0Y2ggJiYKKwlncmVwICJeRnJvbSAiIHBhdGNoID5mcm9tICYmCisJdGVzdF9saW5lX2NvdW50ID0gMyBmcm9tCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImZvcm1hdC1wYXRjaCByZXN1bHQgYXBwbGllcyIgJwotCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JtYXQtcGF0Y2ggcmVzdWx0IGFwcGxpZXMnICcKIAlnaXQgY2hlY2tvdXQgLWIgcmVidWlsZC0wIG1hc3RlciAmJgogCWdpdCBhbSAtMyBwYXRjaDAgJiYKLQljbnQ9JChnaXQgcmV2LWxpc3QgbWFzdGVyLi4gfCB3YyAtbCkgJiYKLQl0ZXN0ICRjbnQgPSAyCisJZ2l0IHJldi1saXN0IG1hc3Rlci4uID5saXN0ICYmCisJdGVzdF9saW5lX2NvdW50ID0gMiBsaXN0CiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImZvcm1hdC1wYXRjaCAtLWlnbm9yZS1pZi1pbi11cHN0cmVhbSByZXN1bHQgYXBwbGllcyIgJwotCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JtYXQtcGF0Y2ggLS1pZ25vcmUtaWYtaW4tdXBzdHJlYW0gcmVzdWx0IGFwcGxpZXMnICcKIAlnaXQgY2hlY2tvdXQgLWIgcmVidWlsZC0xIG1hc3RlciAmJgogCWdpdCBhbSAtMyBwYXRjaDEgJiYKLQljbnQ9JChnaXQgcmV2LWxpc3QgbWFzdGVyLi4gfCB3YyAtbCkgJiYKLQl0ZXN0ICRjbnQgPSAyCisJZ2l0IHJldi1saXN0IG1hc3Rlci4uID5saXN0ICYmCisJdGVzdF9saW5lX2NvdW50ID0gMiBsaXN0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbW1pdCBkaWQgbm90IHNjcmV3IHVwIHRoZSBsb2cgbWVzc2FnZScgJwotCi0JZ2l0IGNhdC1maWxlIGNvbW1pdCBzaWRlIHwgZ3JlcCAiXlNpZGUgLiogd2l0aCAuKiBiYWNrc2xhc2gtbiIKLQorCWdpdCBjYXQtZmlsZSBjb21taXQgc2lkZSA+YWN0dWFsICYmCisJZ3JlcCAiXlNpZGUgLiogd2l0aCAuKiBiYWNrc2xhc2gtbiIgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC1wYXRjaCBkaWQgbm90IHNjcmV3IHVwIHRoZSBsb2cgbWVzc2FnZScgJwotCiAJZ3JlcCAiXlN1YmplY3Q6IC4qU2lkZSBjaGFuZ2VzICMzIHdpdGggLiogYmFja3NsYXNoLW4iIHBhdGNoMCAmJgogCWdyZXAgIl5TdWJqZWN0OiAuKlNpZGUgY2hhbmdlcyAjMyB3aXRoIC4qIGJhY2tzbGFzaC1uIiBwYXRjaDEKLQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXBsYXkgZGlkIG5vdCBzY3JldyB1cCB0aGUgbG9nIG1lc3NhZ2UnICcKLQotCWdpdCBjYXQtZmlsZSBjb21taXQgcmVidWlsZC0xIHwgZ3JlcCAiXlNpZGUgLiogd2l0aCAuKiBiYWNrc2xhc2gtbiIKLQorCWdpdCBjYXQtZmlsZSBjb21taXQgcmVidWlsZC0xID5hY3R1YWwgJiYKKwlncmVwICJeU2lkZSAuKiB3aXRoIC4qIGJhY2tzbGFzaC1uIiBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZXh0cmEgaGVhZGVycycgJwotCiAJZ2l0IGNvbmZpZyBmb3JtYXQuaGVhZGVycyAiVG86IFIgRSBDaXBpZW50IDxyY2lwaWVudEBleGFtcGxlLmNvbT4KICIgJiYKIAlnaXQgY29uZmlnIC0tYWRkIGZvcm1hdC5oZWFkZXJzICJDYzogUyBFIENpcGllbnQgPHNjaXBpZW50QGV4YW1wbGUuY29tPgogIiAmJgotCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgbWFzdGVyLi5zaWRlID4gcGF0Y2gyICYmCi0Jc2VkIC1lICIvXlwkL3EiIHBhdGNoMiA+IGhkcnMyICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgPnBhdGNoMiAmJgorCXNlZCAtZSAiL15cJC9xIiBwYXRjaDIgPmhkcnMyICYmCiAJZ3JlcCAiXlRvOiBSIEUgQ2lwaWVudCA8cmNpcGllbnRAZXhhbXBsZS5jb20+XCQiIGhkcnMyICYmCiAJZ3JlcCAiXkNjOiBTIEUgQ2lwaWVudCA8c2NpcGllbnRAZXhhbXBsZS5jb20+XCQiIGhkcnMyCi0KICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZXh0cmEgaGVhZGVycyB3aXRob3V0IG5ld2xpbmVzJyAnCi0KIAlnaXQgY29uZmlnIC0tcmVwbGFjZS1hbGwgZm9ybWF0LmhlYWRlcnMgIlRvOiBSIEUgQ2lwaWVudCA8cmNpcGllbnRAZXhhbXBsZS5jb20+IiAmJgogCWdpdCBjb25maWcgLS1hZGQgZm9ybWF0LmhlYWRlcnMgIkNjOiBTIEUgQ2lwaWVudCA8c2NpcGllbnRAZXhhbXBsZS5jb20+IiAmJgogCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgbWFzdGVyLi5zaWRlID5wYXRjaDMgJiYKLQlzZWQgLWUgIi9eXCQvcSIgcGF0Y2gzID4gaGRyczMgJiYKKwlzZWQgLWUgIi9eXCQvcSIgcGF0Y2gzID5oZHJzMyAmJgogCWdyZXAgIl5UbzogUiBFIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPlwkIiBoZHJzMyAmJgogCWdyZXAgIl5DYzogUyBFIENpcGllbnQgPHNjaXBpZW50QGV4YW1wbGUuY29tPlwkIiBoZHJzMwotCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2V4dHJhIGhlYWRlcnMgd2l0aCBtdWx0aXBsZSBUbzpzJyAnCi0KIAlnaXQgY29uZmlnIC0tcmVwbGFjZS1hbGwgZm9ybWF0LmhlYWRlcnMgIlRvOiBSIEUgQ2lwaWVudCA8cmNpcGllbnRAZXhhbXBsZS5jb20+IiAmJgogCWdpdCBjb25maWcgLS1hZGQgZm9ybWF0LmhlYWRlcnMgIlRvOiBTIEUgQ2lwaWVudCA8c2NpcGllbnRAZXhhbXBsZS5jb20+IiAmJgotCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgbWFzdGVyLi5zaWRlID4gcGF0Y2g0ICYmCi0Jc2VkIC1lICIvXlwkL3EiIHBhdGNoNCA+IGhkcnM0ICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgPnBhdGNoNCAmJgorCXNlZCAtZSAiL15cJC9xIiBwYXRjaDQgPmhkcnM0ICYmCiAJZ3JlcCAiXlRvOiBSIEUgQ2lwaWVudCA8cmNpcGllbnRAZXhhbXBsZS5jb20+LFwkIiBoZHJzNCAmJgogCWdyZXAgIl4gKlMgRSBDaXBpZW50IDxzY2lwaWVudEBleGFtcGxlLmNvbT5cJCIgaGRyczQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYWRkaXRpb25hbCBjb21tYW5kIGxpbmUgY2MgKGFzY2lpKScgJwotCiAJZ2l0IGNvbmZpZyAtLXJlcGxhY2UtYWxsIGZvcm1hdC5oZWFkZXJzICJDYzogUiBFIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPiIgJiYKLQlnaXQgZm9ybWF0LXBhdGNoIC0tY2M9IlMgRSBDaXBpZW50IDxzY2lwaWVudEBleGFtcGxlLmNvbT4iIC0tc3Rkb3V0IG1hc3Rlci4uc2lkZSB8IHNlZCAtZSAiL15cJC9xIiA+cGF0Y2g1ICYmCi0JZ3JlcCAiXkNjOiBSIEUgQ2lwaWVudCA8cmNpcGllbnRAZXhhbXBsZS5jb20+LFwkIiBwYXRjaDUgJiYKLQlncmVwICJeICpTIEUgQ2lwaWVudCA8c2NpcGllbnRAZXhhbXBsZS5jb20+XCQiIHBhdGNoNQorCWdpdCBmb3JtYXQtcGF0Y2ggLS1jYz0iUyBFIENpcGllbnQgPHNjaXBpZW50QGV4YW1wbGUuY29tPiIgLS1zdGRvdXQgbWFzdGVyLi5zaWRlID5wYXRjaDUgJiYKKwlzZWQgLWUgIi9eXCQvcSIgcGF0Y2g1ID5oZHJzNSAmJgorCWdyZXAgIl5DYzogUiBFIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPixcJCIgaGRyczUgJiYKKwlncmVwICJeICpTIEUgQ2lwaWVudCA8c2NpcGllbnRAZXhhbXBsZS5jb20+XCQiIGhkcnM1CiAnCiAKIHRlc3RfZXhwZWN0X2ZhaWx1cmUgJ2FkZGl0aW9uYWwgY29tbWFuZCBsaW5lIGNjIChyZmM4MjIpJyAnCi0KIAlnaXQgY29uZmlnIC0tcmVwbGFjZS1hbGwgZm9ybWF0LmhlYWRlcnMgIkNjOiBSIEUgQ2lwaWVudCA8cmNpcGllbnRAZXhhbXBsZS5jb20+IiAmJgotCWdpdCBmb3JtYXQtcGF0Y2ggLS1jYz0iUy4gRS4gQ2lwaWVudCA8c2NpcGllbnRAZXhhbXBsZS5jb20+IiAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgfCBzZWQgLWUgIi9eXCQvcSIgPnBhdGNoNSAmJgotCWdyZXAgIl5DYzogUiBFIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPixcJCIgcGF0Y2g1ICYmCi0JZ3JlcCAiXiAqXCJTLiBFLiBDaXBpZW50XCIgPHNjaXBpZW50QGV4YW1wbGUuY29tPlwkIiBwYXRjaDUKKwlnaXQgZm9ybWF0LXBhdGNoIC0tY2M9IlMuIEUuIENpcGllbnQgPHNjaXBpZW50QGV4YW1wbGUuY29tPiIgLS1zdGRvdXQgbWFzdGVyLi5zaWRlID5wYXRjaDUgJiYKKwlzZWQgLWUgIi9eXCQvcSIgcGF0Y2g1ID5oZHJzNSAmJgorCWdyZXAgIl5DYzogUiBFIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPixcJCIgaGRyczUgJiYKKwlncmVwICJeICpcIlMuIEUuIENpcGllbnRcIiA8c2NpcGllbnRAZXhhbXBsZS5jb20+XCQiIGhkcnM1CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbW1hbmQgbGluZSBoZWFkZXJzJyAnCi0KIAlnaXQgY29uZmlnIC0tdW5zZXQtYWxsIGZvcm1hdC5oZWFkZXJzICYmCi0JZ2l0IGZvcm1hdC1wYXRjaCAtLWFkZC1oZWFkZXI9IkNjOiBSIEUgQ2lwaWVudCA8cmNpcGllbnRAZXhhbXBsZS5jb20+IiAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgfCBzZWQgLWUgIi9eXCQvcSIgPnBhdGNoNiAmJgotCWdyZXAgIl5DYzogUiBFIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPlwkIiBwYXRjaDYKKwlnaXQgZm9ybWF0LXBhdGNoIC0tYWRkLWhlYWRlcj0iQ2M6IFIgRSBDaXBpZW50IDxyY2lwaWVudEBleGFtcGxlLmNvbT4iIC0tc3Rkb3V0IG1hc3Rlci4uc2lkZSA+cGF0Y2g2ICYmCisJc2VkIC1lICIvXlwkL3EiIHBhdGNoNiA+aGRyczYgJiYKKwlncmVwICJeQ2M6IFIgRSBDaXBpZW50IDxyY2lwaWVudEBleGFtcGxlLmNvbT5cJCIgaGRyczYKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY29uZmlndXJhdGlvbiBoZWFkZXJzIGFuZCBjb21tYW5kIGxpbmUgaGVhZGVycycgJwotCiAJZ2l0IGNvbmZpZyAtLXJlcGxhY2UtYWxsIGZvcm1hdC5oZWFkZXJzICJDYzogUiBFIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPiIgJiYKLQlnaXQgZm9ybWF0LXBhdGNoIC0tYWRkLWhlYWRlcj0iQ2M6IFMgRSBDaXBpZW50IDxzY2lwaWVudEBleGFtcGxlLmNvbT4iIC0tc3Rkb3V0IG1hc3Rlci4uc2lkZSB8IHNlZCAtZSAiL15cJC9xIiA+cGF0Y2g3ICYmCi0JZ3JlcCAiXkNjOiBSIEUgQ2lwaWVudCA8cmNpcGllbnRAZXhhbXBsZS5jb20+LFwkIiBwYXRjaDcgJiYKLQlncmVwICJeICpTIEUgQ2lwaWVudCA8c2NpcGllbnRAZXhhbXBsZS5jb20+XCQiIHBhdGNoNworCWdpdCBmb3JtYXQtcGF0Y2ggLS1hZGQtaGVhZGVyPSJDYzogUyBFIENpcGllbnQgPHNjaXBpZW50QGV4YW1wbGUuY29tPiIgLS1zdGRvdXQgbWFzdGVyLi5zaWRlID5wYXRjaDcgJiYKKwlzZWQgLWUgIi9eXCQvcSIgcGF0Y2g3ID5oZHJzNyAmJgorCWdyZXAgIl5DYzogUiBFIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPixcJCIgaGRyczcgJiYKKwlncmVwICJeICpTIEUgQ2lwaWVudCA8c2NpcGllbnRAZXhhbXBsZS5jb20+XCQiIGhkcnM3CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbW1hbmQgbGluZSBUbzogaGVhZGVyIChhc2NpaSknICcKLQogCWdpdCBjb25maWcgLS11bnNldC1hbGwgZm9ybWF0LmhlYWRlcnMgJiYKLQlnaXQgZm9ybWF0LXBhdGNoIC0tdG89IlIgRSBDaXBpZW50IDxyY2lwaWVudEBleGFtcGxlLmNvbT4iIC0tc3Rkb3V0IG1hc3Rlci4uc2lkZSB8IHNlZCAtZSAiL15cJC9xIiA+cGF0Y2g4ICYmCi0JZ3JlcCAiXlRvOiBSIEUgQ2lwaWVudCA8cmNpcGllbnRAZXhhbXBsZS5jb20+XCQiIHBhdGNoOAorCWdpdCBmb3JtYXQtcGF0Y2ggLS10bz0iUiBFIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPiIgLS1zdGRvdXQgbWFzdGVyLi5zaWRlID5wYXRjaDggJiYKKwlzZWQgLWUgIi9eXCQvcSIgcGF0Y2g4ID5oZHJzOCAmJgorCWdyZXAgIl5UbzogUiBFIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPlwkIiBoZHJzOAogJwogCiB0ZXN0X2V4cGVjdF9mYWlsdXJlICdjb21tYW5kIGxpbmUgVG86IGhlYWRlciAocmZjODIyKScgJwotCi0JZ2l0IGZvcm1hdC1wYXRjaCAtLXRvPSJSLiBFLiBDaXBpZW50IDxyY2lwaWVudEBleGFtcGxlLmNvbT4iIC0tc3Rkb3V0IG1hc3Rlci4uc2lkZSB8IHNlZCAtZSAiL15cJC9xIiA+cGF0Y2g4ICYmCi0JZ3JlcCAiXlRvOiBcIlIuIEUuIENpcGllbnRcIiA8cmNpcGllbnRAZXhhbXBsZS5jb20+XCQiIHBhdGNoOAorCWdpdCBmb3JtYXQtcGF0Y2ggLS10bz0iUi4gRS4gQ2lwaWVudCA8cmNpcGllbnRAZXhhbXBsZS5jb20+IiAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgPnBhdGNoOCAmJgorCXNlZCAtZSAiL15cJC9xIiBwYXRjaDggPmhkcnM4ICYmCisJZ3JlcCAiXlRvOiBcIlIuIEUuIENpcGllbnRcIiA8cmNpcGllbnRAZXhhbXBsZS5jb20+XCQiIGhkcnM4CiAnCiAKIHRlc3RfZXhwZWN0X2ZhaWx1cmUgJ2NvbW1hbmQgbGluZSBUbzogaGVhZGVyIChyZmMyMDQ3KScgJwotCi0JZ2l0IGZvcm1hdC1wYXRjaCAtLXRvPSJSIMOEIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPiIgLS1zdGRvdXQgbWFzdGVyLi5zaWRlIHwgc2VkIC1lICIvXlwkL3EiID5wYXRjaDggJiYKLQlncmVwICJeVG86ID0/VVRGLTg/cT9SPTIwPUMzPTg0PTIwQ2lwaWVudD89IDxyY2lwaWVudEBleGFtcGxlLmNvbT5cJCIgcGF0Y2g4CisJZ2l0IGZvcm1hdC1wYXRjaCAtLXRvPSJSIMOEIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPiIgLS1zdGRvdXQgbWFzdGVyLi5zaWRlID5wYXRjaDggJiYKKwlzZWQgLWUgIi9eXCQvcSIgcGF0Y2g4ID5oZHJzOCAmJgorCWdyZXAgIl5UbzogPT9VVEYtOD9xP1I9MjA9QzM9ODQ9MjBDaXBpZW50Pz0gPHJjaXBpZW50QGV4YW1wbGUuY29tPlwkIiBoZHJzOAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb25maWd1cmF0aW9uIFRvOiBoZWFkZXIgKGFzY2lpKScgJwotCiAJZ2l0IGNvbmZpZyBmb3JtYXQudG8gIlIgRSBDaXBpZW50IDxyY2lwaWVudEBleGFtcGxlLmNvbT4iICYmCi0JZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgfCBzZWQgLWUgIi9eXCQvcSIgPnBhdGNoOSAmJgotCWdyZXAgIl5UbzogUiBFIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPlwkIiBwYXRjaDkKKwlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IG1hc3Rlci4uc2lkZSA+cGF0Y2g5ICYmCisJc2VkIC1lICIvXlwkL3EiIHBhdGNoOSA+aGRyczkgJiYKKwlncmVwICJeVG86IFIgRSBDaXBpZW50IDxyY2lwaWVudEBleGFtcGxlLmNvbT5cJCIgaGRyczkKICcKIAogdGVzdF9leHBlY3RfZmFpbHVyZSAnY29uZmlndXJhdGlvbiBUbzogaGVhZGVyIChyZmM4MjIpJyAnCi0KIAlnaXQgY29uZmlnIGZvcm1hdC50byAiUi4gRS4gQ2lwaWVudCA8cmNpcGllbnRAZXhhbXBsZS5jb20+IiAmJgotCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgbWFzdGVyLi5zaWRlIHwgc2VkIC1lICIvXlwkL3EiID5wYXRjaDkgJiYKLQlncmVwICJeVG86IFwiUi4gRS4gQ2lwaWVudFwiIDxyY2lwaWVudEBleGFtcGxlLmNvbT5cJCIgcGF0Y2g5CisJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgPnBhdGNoOSAmJgorCXNlZCAtZSAiL15cJC9xIiBwYXRjaDkgPmhkcnM5ICYmCisJZ3JlcCAiXlRvOiBcIlIuIEUuIENpcGllbnRcIiA8cmNpcGllbnRAZXhhbXBsZS5jb20+XCQiIGhkcnM5CiAnCiAKIHRlc3RfZXhwZWN0X2ZhaWx1cmUgJ2NvbmZpZ3VyYXRpb24gVG86IGhlYWRlciAocmZjMjA0NyknICcKLQogCWdpdCBjb25maWcgZm9ybWF0LnRvICJSIMOEIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPiIgJiYKLQlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IG1hc3Rlci4uc2lkZSB8IHNlZCAtZSAiL15cJC9xIiA+cGF0Y2g5ICYmCi0JZ3JlcCAiXlRvOiA9P1VURi04P3E/Uj0yMD1DMz04ND0yMENpcGllbnQ/PSA8cmNpcGllbnRAZXhhbXBsZS5jb20+XCQiIHBhdGNoOQorCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgbWFzdGVyLi5zaWRlID5wYXRjaDkgJiYKKwlzZWQgLWUgIi9eXCQvcSIgcGF0Y2g5ID5oZHJzOSAmJgorCWdyZXAgIl5UbzogPT9VVEYtOD9xP1I9MjA9QzM9ODQ9MjBDaXBpZW50Pz0gPHJjaXBpZW50QGV4YW1wbGUuY29tPlwkIiBoZHJzOQogJwogCiAjIGNoZWNrX3BhdGNoIDxwYXRjaD46IFZlcmlmeSB0aGF0IDxwYXRjaD4gbG9va3MgbGlrZSBhIGhhbGYtc2FuZQpAQCAtMjMwLDg5ICsyMzQsNzkgQEAKIH0KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9ybWF0LmZyb209ZmFsc2UnICcKLQotCWdpdCAtYyBmb3JtYXQuZnJvbT1mYWxzZSBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgbWFzdGVyLi5zaWRlIHwKLQlzZWQgLWUgIi9eXCQvcSIgPnBhdGNoICYmCisJZ2l0IC1jIGZvcm1hdC5mcm9tPWZhbHNlIGZvcm1hdC1wYXRjaCAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgPnBhdGNoICYmCisJc2VkIC1lICIvXlwkL3EiIHBhdGNoID5oZHJzICYmCiAJY2hlY2tfcGF0Y2ggcGF0Y2ggJiYKLQkhIGdyZXAgIl5Gcm9tOiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+XCQiIHBhdGNoCisJISBncmVwICJeRnJvbTogQyBPIE1pdHRlciA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPlwkIiBoZHJzCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC5mcm9tPXRydWUnICcKLQotCWdpdCAtYyBmb3JtYXQuZnJvbT10cnVlIGZvcm1hdC1wYXRjaCAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgfAotCXNlZCAtZSAiL15cJC9xIiA+cGF0Y2ggJiYKLQljaGVja19wYXRjaCBwYXRjaCAmJgotCWdyZXAgIl5Gcm9tOiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+XCQiIHBhdGNoCisJZ2l0IC1jIGZvcm1hdC5mcm9tPXRydWUgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IG1hc3Rlci4uc2lkZSA+cGF0Y2ggJiYKKwlzZWQgLWUgIi9eXCQvcSIgcGF0Y2ggPmhkcnMgJiYKKwljaGVja19wYXRjaCBoZHJzICYmCisJZ3JlcCAiXkZyb206IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT5cJCIgaGRycwogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JtYXQuZnJvbSB3aXRoIGFkZHJlc3MnICcKLQotCWdpdCAtYyBmb3JtYXQuZnJvbT0iRiBSIE9tIDxmcm9tQGV4YW1wbGUuY29tPiIgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IG1hc3Rlci4uc2lkZSB8Ci0Jc2VkIC1lICIvXlwkL3EiID5wYXRjaCAmJgotCWNoZWNrX3BhdGNoIHBhdGNoICYmCi0JZ3JlcCAiXkZyb206IEYgUiBPbSA8ZnJvbUBleGFtcGxlLmNvbT5cJCIgcGF0Y2gKKwlnaXQgLWMgZm9ybWF0LmZyb209IkYgUiBPbSA8ZnJvbUBleGFtcGxlLmNvbT4iIGZvcm1hdC1wYXRjaCAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgPnBhdGNoICYmCisJc2VkIC1lICIvXlwkL3EiIHBhdGNoID5oZHJzICYmCisJY2hlY2tfcGF0Y2ggaGRycyAmJgorCWdyZXAgIl5Gcm9tOiBGIFIgT20gPGZyb21AZXhhbXBsZS5jb20+XCQiIGhkcnMKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1uby1mcm9tIG92ZXJyaWRlcyBmb3JtYXQuZnJvbScgJwotCi0JZ2l0IC1jIGZvcm1hdC5mcm9tPSJGIFIgT20gPGZyb21AZXhhbXBsZS5jb20+IiBmb3JtYXQtcGF0Y2ggLS1uby1mcm9tIC0tc3Rkb3V0IG1hc3Rlci4uc2lkZSB8Ci0Jc2VkIC1lICIvXlwkL3EiID5wYXRjaCAmJgotCWNoZWNrX3BhdGNoIHBhdGNoICYmCi0JISBncmVwICJeRnJvbTogRiBSIE9tIDxmcm9tQGV4YW1wbGUuY29tPlwkIiBwYXRjaAorCWdpdCAtYyBmb3JtYXQuZnJvbT0iRiBSIE9tIDxmcm9tQGV4YW1wbGUuY29tPiIgZm9ybWF0LXBhdGNoIC0tbm8tZnJvbSAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgPnBhdGNoICYmCisJc2VkIC1lICIvXlwkL3EiIHBhdGNoID5oZHJzICYmCisJY2hlY2tfcGF0Y2ggaGRycyAmJgorCSEgZ3JlcCAiXkZyb206IEYgUiBPbSA8ZnJvbUBleGFtcGxlLmNvbT5cJCIgaGRycwogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLWZyb20gb3ZlcnJpZGVzIGZvcm1hdC5mcm9tJyAnCi0KLQlnaXQgLWMgZm9ybWF0LmZyb209IkYgUiBPbSA8ZnJvbUBleGFtcGxlLmNvbT4iIGZvcm1hdC1wYXRjaCAtLWZyb20gLS1zdGRvdXQgbWFzdGVyLi5zaWRlIHwKLQlzZWQgLWUgIi9eXCQvcSIgPnBhdGNoICYmCi0JY2hlY2tfcGF0Y2ggcGF0Y2ggJiYKLQkhIGdyZXAgIl5Gcm9tOiBGIFIgT20gPGZyb21AZXhhbXBsZS5jb20+XCQiIHBhdGNoCisJZ2l0IC1jIGZvcm1hdC5mcm9tPSJGIFIgT20gPGZyb21AZXhhbXBsZS5jb20+IiBmb3JtYXQtcGF0Y2ggLS1mcm9tIC0tc3Rkb3V0IG1hc3Rlci4uc2lkZSA+cGF0Y2ggJiYKKwlzZWQgLWUgIi9eXCQvcSIgcGF0Y2ggPmhkcnMgJiYKKwljaGVja19wYXRjaCBoZHJzICYmCisJISBncmVwICJeRnJvbTogRiBSIE9tIDxmcm9tQGV4YW1wbGUuY29tPlwkIiBoZHJzCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tbm8tdG8gb3ZlcnJpZGVzIGNvbmZpZy50bycgJwotCiAJZ2l0IGNvbmZpZyAtLXJlcGxhY2UtYWxsIGZvcm1hdC50byBcCiAJCSJSIEUgQ2lwaWVudCA8cmNpcGllbnRAZXhhbXBsZS5jb20+IiAmJgotCWdpdCBmb3JtYXQtcGF0Y2ggLS1uby10byAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgfAotCXNlZCAtZSAiL15cJC9xIiA+cGF0Y2gxMCAmJgotCWNoZWNrX3BhdGNoIHBhdGNoMTAgJiYKLQkhIGdyZXAgIl5UbzogUiBFIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPlwkIiBwYXRjaDEwCisJZ2l0IGZvcm1hdC1wYXRjaCAtLW5vLXRvIC0tc3Rkb3V0IG1hc3Rlci4uc2lkZSA+cGF0Y2gxMCAmJgorCXNlZCAtZSAiL15cJC9xIiBwYXRjaDEwID5oZHJzMTAgJiYKKwljaGVja19wYXRjaCBoZHJzMTAgJiYKKwkhIGdyZXAgIl5UbzogUiBFIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPlwkIiBoZHJzMTAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1uby10byBhbmQgLS10byByZXBsYWNlcyBjb25maWcudG8nICcKLQogCWdpdCBjb25maWcgLS1yZXBsYWNlLWFsbCBmb3JtYXQudG8gXAogCQkiU29tZW9uZSA8c29tZW9uZUBvdXQudGhlcmU+IiAmJgogCWdpdCBmb3JtYXQtcGF0Y2ggLS1uby10byAtLXRvPSJTb21lb25lIEVsc2UgPGVsc2VAb3V0LnRoZXJlPiIgXAotCQktLXN0ZG91dCBtYXN0ZXIuLnNpZGUgfAotCXNlZCAtZSAiL15cJC9xIiA+cGF0Y2gxMSAmJgotCWNoZWNrX3BhdGNoIHBhdGNoMTEgJiYKLQkhIGdyZXAgIl5UbzogU29tZW9uZSA8c29tZW9uZUBvdXQudGhlcmU+XCQiIHBhdGNoMTEgJiYKLQlncmVwICJeVG86IFNvbWVvbmUgRWxzZSA8ZWxzZUBvdXQudGhlcmU+XCQiIHBhdGNoMTEKKwkJLS1zdGRvdXQgbWFzdGVyLi5zaWRlID5wYXRjaDExICYmCisJc2VkIC1lICIvXlwkL3EiIHBhdGNoMTEgPmhkcnMxMSAmJgorCWNoZWNrX3BhdGNoIGhkcnMxMSAmJgorCSEgZ3JlcCAiXlRvOiBTb21lb25lIDxzb21lb25lQG91dC50aGVyZT5cJCIgaGRyczExICYmCisJZ3JlcCAiXlRvOiBTb21lb25lIEVsc2UgPGVsc2VAb3V0LnRoZXJlPlwkIiBoZHJzMTEKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1uby1jYyBvdmVycmlkZXMgY29uZmlnLmNjJyAnCi0KIAlnaXQgY29uZmlnIC0tcmVwbGFjZS1hbGwgZm9ybWF0LmNjIFwKIAkJIkMgRSBDaXBpZW50IDxyY2lwaWVudEBleGFtcGxlLmNvbT4iICYmCi0JZ2l0IGZvcm1hdC1wYXRjaCAtLW5vLWNjIC0tc3Rkb3V0IG1hc3Rlci4uc2lkZSB8Ci0Jc2VkIC1lICIvXlwkL3EiID5wYXRjaDEyICYmCi0JY2hlY2tfcGF0Y2ggcGF0Y2gxMiAmJgotCSEgZ3JlcCAiXkNjOiBDIEUgQ2lwaWVudCA8cmNpcGllbnRAZXhhbXBsZS5jb20+XCQiIHBhdGNoMTIKKwlnaXQgZm9ybWF0LXBhdGNoIC0tbm8tY2MgLS1zdGRvdXQgbWFzdGVyLi5zaWRlID5wYXRjaDEyICYmCisJc2VkIC1lICIvXlwkL3EiIHBhdGNoMTIgPmhkcnMxMiAmJgorCWNoZWNrX3BhdGNoIGhkcnMxMiAmJgorCSEgZ3JlcCAiXkNjOiBDIEUgQ2lwaWVudCA8cmNpcGllbnRAZXhhbXBsZS5jb20+XCQiIGhkcnMxMgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLW5vLWFkZC1oZWFkZXIgb3ZlcnJpZGVzIGNvbmZpZy5oZWFkZXJzJyAnCi0KIAlnaXQgY29uZmlnIC0tcmVwbGFjZS1hbGwgZm9ybWF0LmhlYWRlcnMgXAogCQkiSGVhZGVyMTogQiBFIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPiIgJiYKLQlnaXQgZm9ybWF0LXBhdGNoIC0tbm8tYWRkLWhlYWRlciAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgfAotCXNlZCAtZSAiL15cJC9xIiA+cGF0Y2gxMyAmJgotCWNoZWNrX3BhdGNoIHBhdGNoMTMgJiYKLQkhIGdyZXAgIl5IZWFkZXIxOiBCIEUgQ2lwaWVudCA8cmNpcGllbnRAZXhhbXBsZS5jb20+XCQiIHBhdGNoMTMKKwlnaXQgZm9ybWF0LXBhdGNoIC0tbm8tYWRkLWhlYWRlciAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgPnBhdGNoMTMgJiYKKwlzZWQgLWUgIi9eXCQvcSIgcGF0Y2gxMyA+aGRyczEzICYmCisJY2hlY2tfcGF0Y2ggaGRyczEzICYmCisJISBncmVwICJeSGVhZGVyMTogQiBFIENpcGllbnQgPHJjaXBpZW50QGV4YW1wbGUuY29tPlwkIiBoZHJzMTMKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbXVsdGlwbGUgZmlsZXMnICcKLQogCXJtIC1yZiBwYXRjaGVzLyAmJgogCWdpdCBjaGVja291dCBzaWRlICYmCiAJZ2l0IGZvcm1hdC1wYXRjaCAtbyBwYXRjaGVzLyBtYXN0ZXIgJiYKQEAgLTMzOCw3ICszMzIsNyBAQAogY2hlY2tfdGhyZWFkaW5nICgpIHsKIAlleHBlY3Q9IiQxIiAmJgogCXNoaWZ0ICYmCi0JKGdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgIiRAIjsgZWNobyAkPyA+IHN0YXR1cy5vdXQpIHwKKwlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0ICIkQCIgPnBhdGNoICYmCiAJIyBQcmludHMgZXZlcnl0aGluZyBiZXR3ZWVuIHRoZSBNZXNzYWdlLUlEIGFuZCBJbi1SZXBseS1UbywKIAkjIGFuZCByZXBsYWNlcyBhbGwgTWVzc2FnZS1JRC1sb29rYWxpa2VzIGJ5IGEgc2VxdWVuY2UgbnVtYmVyCiAJcGVybCAtbmUgJwpAQCAtMzUzLDEyICszNDcsMTEgQEAKIAkJCXByaW50OwogCQl9CiAJCXByaW50ICItLS1cbiIgaWYgL15Gcm9tIC9pOwotCScgPiBhY3R1YWwgJiYKLQl0ZXN0IDAgPSAiJChjYXQgc3RhdHVzLm91dCkiICYmCisJJyA8cGF0Y2ggPmFjdHVhbCAmJgogCXRlc3RfY21wICIkZXhwZWN0IiBhY3R1YWwKIH0KIAotY2F0ID4+IGV4cGVjdC5uby10aHJlYWRpbmcgPDxFT0YKK2NhdCA+PmV4cGVjdC5uby10aHJlYWRpbmcgPDxFT0YKIC0tLQogLS0tCiAtLS0KQEAgLTM2OSw3ICszNjIsNyBAQAogCWNoZWNrX3RocmVhZGluZyBleHBlY3Qubm8tdGhyZWFkaW5nIG1hc3RlcgogJwogCi1jYXQgPiBleHBlY3QudGhyZWFkIDw8RU9GCitjYXQgPmV4cGVjdC50aHJlYWQgPDxFT0YKIC0tLQogTWVzc2FnZS1JZDogPDA+CiAtLS0KQEAgLTM4Niw3ICszNzksNyBAQAogCWNoZWNrX3RocmVhZGluZyBleHBlY3QudGhyZWFkIC0tdGhyZWFkIG1hc3RlcgogJwogCi1jYXQgPiBleHBlY3QuaW4tcmVwbHktdG8gPDxFT0YKK2NhdCA+ZXhwZWN0LmluLXJlcGx5LXRvIDw8RU9GCiAtLS0KIE1lc3NhZ2UtSWQ6IDwwPgogSW4tUmVwbHktVG86IDwxPgpAQCAtNDA2LDcgKzM5OSw3IEBACiAJCS0tdGhyZWFkIG1hc3RlcgogJwogCi1jYXQgPiBleHBlY3QuY292ZXItbGV0dGVyIDw8RU9GCitjYXQgPmV4cGVjdC5jb3Zlci1sZXR0ZXIgPDxFT0YKIC0tLQogTWVzc2FnZS1JZDogPDA+CiAtLS0KQEAgLTQyNyw3ICs0MjAsNyBAQAogCWNoZWNrX3RocmVhZGluZyBleHBlY3QuY292ZXItbGV0dGVyIC0tY292ZXItbGV0dGVyIC0tdGhyZWFkIG1hc3RlcgogJwogCi1jYXQgPiBleHBlY3QuY2wtaXJ0IDw8RU9GCitjYXQgPmV4cGVjdC5jbC1pcnQgPDxFT0YKIC0tLQogTWVzc2FnZS1JZDogPDA+CiBJbi1SZXBseS1UbzogPDE+CkBAIC00NTksNyArNDUyLDcgQEAKIAkJLS1pbi1yZXBseS10bz0iPHRlc3QubWVzc2FnZT4iIC0tdGhyZWFkPXNoYWxsb3cgbWFzdGVyCiAnCiAKLWNhdCA+IGV4cGVjdC5kZWVwIDw8RU9GCitjYXQgPmV4cGVjdC5kZWVwIDw8RU9GCiAtLS0KIE1lc3NhZ2UtSWQ6IDwwPgogLS0tCkBAIC00NzcsNyArNDcwLDcgQEAKIAljaGVja190aHJlYWRpbmcgZXhwZWN0LmRlZXAgLS10aHJlYWQ9ZGVlcCBtYXN0ZXIKICcKIAotY2F0ID4gZXhwZWN0LmRlZXAtaXJ0IDw8RU9GCitjYXQgPmV4cGVjdC5kZWVwLWlydCA8PEVPRgogLS0tCiBNZXNzYWdlLUlkOiA8MD4KIEluLVJlcGx5LVRvOiA8MT4KQEAgLTUwMCw3ICs0OTMsNyBAQAogCQktLWluLXJlcGx5LXRvPSI8dGVzdC5tZXNzYWdlPiIgbWFzdGVyCiAnCiAKLWNhdCA+IGV4cGVjdC5kZWVwLWNsIDw8RU9GCitjYXQgPmV4cGVjdC5kZWVwLWNsIDw8RU9GCiAtLS0KIE1lc3NhZ2UtSWQ6IDwwPgogLS0tCkBAIC01MjQsNyArNTE3LDcgQEAKIAljaGVja190aHJlYWRpbmcgZXhwZWN0LmRlZXAtY2wgLS1jb3Zlci1sZXR0ZXIgLS10aHJlYWQ9ZGVlcCBtYXN0ZXIKICcKIAotY2F0ID4gZXhwZWN0LmRlZXAtY2wtaXJ0IDw8RU9GCitjYXQgPmV4cGVjdC5kZWVwLWNsLWlydCA8PEVPRgogLS0tCiBNZXNzYWdlLUlkOiA8MD4KIEluLVJlcGx5LVRvOiA8MT4KQEAgLTU3NSw3ICs1NjgsNiBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdleGNlc3NpdmUgc3ViamVjdCcgJwotCiAJcm0gLXJmIHBhdGNoZXMvICYmCiAJZ2l0IGNoZWNrb3V0IHNpZGUgJiYKIAliZWZvcmU9JChnaXQgaGFzaC1vYmplY3QgZmlsZSkgJiYKQEAgLTU4OSw2ICs1ODEsMTIgQEAKIAlscyBwYXRjaGVzLzAwMDQtVGhpcy1pcy1hbi1leGNlc3NpdmVseS1sb25nLXN1YmplY3QtbGluZS1mb3ItYS1tZXNzYS5wYXRjaAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmYWlsdXJlIHRvIHdyaXRlIGNvdmVyLWxldHRlciBhYm9ydHMgZ3JhY2VmdWxseScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm1kaXIgMDAwMC1jb3Zlci1sZXR0ZXIucGF0Y2giICYmCisJbWtkaXIgMDAwMC1jb3Zlci1sZXR0ZXIucGF0Y2ggJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZm9ybWF0LXBhdGNoIC0tbm8tcmVuYW1lcyAtLWNvdmVyLWxldHRlciAtMQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3Zlci1sZXR0ZXIgaW5oZXJpdHMgZGlmZiBvcHRpb25zJyAnCiAJZ2l0IG12IGZpbGUgZm9vICYmCiAJZ2l0IGNvbW1pdCAtbSBmb28gJiYKQEAgLTU5NywxMCArNTk1LDkgQEAKIAkhIGdyZXAgImZpbGUgPT4gZm9vIC4qIDAgKlwkIiAwMDAwLWNvdmVyLWxldHRlci5wYXRjaCAmJgogCWdpdCBmb3JtYXQtcGF0Y2ggLS1jb3Zlci1sZXR0ZXIgLTEgLU0gJiYKIAlncmVwICJmaWxlID0+IGZvbyAuKiAwICpcJCIgMDAwMC1jb3Zlci1sZXR0ZXIucGF0Y2gKLQogJwogCi1jYXQgPiBleHBlY3QgPDwgRU9GCitjYXQgPmV4cGVjdCA8PEVPRgogICBUaGlzIGlzIGFuIGV4Y2Vzc2l2ZWx5IGxvbmcgc3ViamVjdCBsaW5lIGZvciBhIG1lc3NhZ2UgZHVlIHRvIHRoZQogICAgIGhhYml0IHNvbWUgcHJvamVjdHMgaGF2ZSBvZiBub3QgaGF2aW5nIGEgc2hvcnQsIG9uZS1saW5lIHN1YmplY3QgYXQKICAgICB0aGUgc3RhcnQgb2YgdGhlIGNvbW1pdCBtZXNzYWdlLCBidXQgcmF0aGVyIHN0aWNraW5nIGEgd2hvbGUKQEAgLTYxMSwxNCArNjA4LDEyIEBACiBFT0YKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hvcnRsb2cgb2YgY292ZXItbGV0dGVyIHdyYXBzIG92ZXJseS1sb25nIG9uZWxpbmVzJyAnCi0KIAlnaXQgZm9ybWF0LXBhdGNoIC0tY292ZXItbGV0dGVyIC0yICYmCi0Jc2VkIC1lICIxLC9BIFUgVGhvci9kIiAtZSAiL15cJC9xIiA8IDAwMDAtY292ZXItbGV0dGVyLnBhdGNoID4gb3V0cHV0ICYmCisJc2VkIC1lICIxLC9BIFUgVGhvci9kIiAtZSAiL15cJC9xIiAwMDAwLWNvdmVyLWxldHRlci5wYXRjaCA+b3V0cHV0ICYmCiAJdGVzdF9jbXAgZXhwZWN0IG91dHB1dAotCiAnCiAKLWNhdCA+IGV4cGVjdCA8PCBFT0YKK2NhdCA+ZXhwZWN0IDw8RU9GCiBpbmRleCAkYmVmb3JlLi4kYWZ0ZXIgMTAwNjQ0CiAtLS0gYS9maWxlCiArKysgYi9maWxlCkBAIC02MzEsMTYgKzYyNiwxNCBAQAogRU9GCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC1wYXRjaCByZXNwZWN0cyAtVScgJwotCiAJZ2l0IGZvcm1hdC1wYXRjaCAtVTQgLTIgJiYKIAlzZWQgLWUgIjEsL15kaWZmL2QiIC1lICIvXis1L3EiIFwKIAkJPDAwMDEtVGhpcy1pcy1hbi1leGNlc3NpdmVseS1sb25nLXN1YmplY3QtbGluZS1mb3ItYS1tZXNzYS5wYXRjaCBcCiAJCT5vdXRwdXQgJiYKIAl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0Ci0KICcKIAotY2F0ID4gZXhwZWN0IDw8IEVPRgorY2F0ID5leHBlY3QgPDxFT0YKIAogZGlmZiAtLWdpdCBhL2ZpbGUgYi9maWxlCiBpbmRleCAkYmVmb3JlLi4kYWZ0ZXIgMTAwNjQ0CkBAIC02NTQsMTEgKzY0Nyw5IEBACiBFT0YKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9ybWF0LXBhdGNoIC1wIHN1cHByZXNzZXMgc3RhdCcgJwotCiAJZ2l0IGZvcm1hdC1wYXRjaCAtcCAtMiAmJgotCXNlZCAtZSAiMSwvXlwkL2QiIC1lICIvXis1L3EiIDwgMDAwMS1UaGlzLWlzLWFuLWV4Y2Vzc2l2ZWx5LWxvbmctc3ViamVjdC1saW5lLWZvci1hLW1lc3NhLnBhdGNoID4gb3V0cHV0ICYmCisJc2VkIC1lICIxLC9eXCQvZCIgLWUgIi9eKzUvcSIgMDAwMS1UaGlzLWlzLWFuLWV4Y2Vzc2l2ZWx5LWxvbmctc3ViamVjdC1saW5lLWZvci1hLW1lc3NhLnBhdGNoID5vdXRwdXQgJiYKIAl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0Ci0KICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9ybWF0LXBhdGNoIGZyb20gYSBzdWJkaXJlY3RvcnkgKDEpJyAnCkBAIC03MTEsNyArNzAyLDcgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9ybWF0LXBhdGNoIC0taW4tcmVwbHktdG8nICcKLQlnaXQgZm9ybWF0LXBhdGNoIC0xIC0tc3Rkb3V0IC0taW4tcmVwbHktdG8gImJhekBmb28uYmFyIiA+IHBhdGNoOCAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLTEgLS1zdGRvdXQgLS1pbi1yZXBseS10byAiYmF6QGZvby5iYXIiID5wYXRjaDggJiYKIAlncmVwICJeSW4tUmVwbHktVG86IDxiYXpAZm9vLmJhcj4iIHBhdGNoOCAmJgogCWdyZXAgIl5SZWZlcmVuY2VzOiA8YmF6QGZvby5iYXI+IiBwYXRjaDgKICcKQEAgLTczMiwyMSArNzIzLDEyNiBAQAogCXNlZCAiMSwvXi0tLSQvZCIgb3V0IHwgZ3JlcCAidGVzdCBtZXNzYWdlIgogJwogCi1lY2hvICJmYXRhbDogLS1uYW1lLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZSIgPiBleHBlY3QubmFtZS1vbmx5Ci1lY2hvICJmYXRhbDogLS1uYW1lLXN0YXR1cyBkb2VzIG5vdCBtYWtlIHNlbnNlIiA+IGV4cGVjdC5uYW1lLXN0YXR1cwotZWNobyAiZmF0YWw6IC0tY2hlY2sgZG9lcyBub3QgbWFrZSBzZW5zZSIgPiBleHBlY3QuY2hlY2sKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC1wYXRjaCBub3RlcyBvdXRwdXQgY29udHJvbCcgJworCWdpdCBub3RlcyBhZGQgLW0gIm5vdGVzIGNvbmZpZyBtZXNzYWdlIiBIRUFEICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkIGdpdCBub3RlcyByZW1vdmUgSEVBRCAmJgorCisJZ2l0IGZvcm1hdC1wYXRjaCAtMSAtLXN0ZG91dCA+b3V0ICYmCisJISBncmVwICJub3RlcyBjb25maWcgbWVzc2FnZSIgb3V0ICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtMSAtLXN0ZG91dCAtLW5vdGVzID5vdXQgJiYKKwlncmVwICJub3RlcyBjb25maWcgbWVzc2FnZSIgb3V0ICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtMSAtLXN0ZG91dCAtLW5vLW5vdGVzID5vdXQgJiYKKwkhIGdyZXAgIm5vdGVzIGNvbmZpZyBtZXNzYWdlIiBvdXQgJiYKKwlnaXQgZm9ybWF0LXBhdGNoIC0xIC0tc3Rkb3V0IC0tbm90ZXMgLS1uby1ub3RlcyA+b3V0ICYmCisJISBncmVwICJub3RlcyBjb25maWcgbWVzc2FnZSIgb3V0ICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtMSAtLXN0ZG91dCAtLW5vLW5vdGVzIC0tbm90ZXMgPm91dCAmJgorCWdyZXAgIm5vdGVzIGNvbmZpZyBtZXNzYWdlIiBvdXQgJiYKKworCXRlc3RfY29uZmlnIGZvcm1hdC5ub3RlcyB0cnVlICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtMSAtLXN0ZG91dCA+b3V0ICYmCisJZ3JlcCAibm90ZXMgY29uZmlnIG1lc3NhZ2UiIG91dCAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLTEgLS1zdGRvdXQgLS1ub3RlcyA+b3V0ICYmCisJZ3JlcCAibm90ZXMgY29uZmlnIG1lc3NhZ2UiIG91dCAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLTEgLS1zdGRvdXQgLS1uby1ub3RlcyA+b3V0ICYmCisJISBncmVwICJub3RlcyBjb25maWcgbWVzc2FnZSIgb3V0ICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtMSAtLXN0ZG91dCAtLW5vdGVzIC0tbm8tbm90ZXMgPm91dCAmJgorCSEgZ3JlcCAibm90ZXMgY29uZmlnIG1lc3NhZ2UiIG91dCAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLTEgLS1zdGRvdXQgLS1uby1ub3RlcyAtLW5vdGVzID5vdXQgJiYKKwlncmVwICJub3RlcyBjb25maWcgbWVzc2FnZSIgb3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC1wYXRjaCB3aXRoIG11bHRpcGxlIG5vdGVzIHJlZnMnICcKKwlnaXQgbm90ZXMgLS1yZWYgbm90ZTEgYWRkIC1tICJ0aGlzIGlzIG5vdGUgMSIgSEVBRCAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgbm90ZXMgLS1yZWYgbm90ZTEgcmVtb3ZlIEhFQUQgJiYKKwlnaXQgbm90ZXMgLS1yZWYgbm90ZTIgYWRkIC1tICJ0aGlzIGlzIG5vdGUgMiIgSEVBRCAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCBnaXQgbm90ZXMgLS1yZWYgbm90ZTIgcmVtb3ZlIEhFQUQgJiYKKworCWdpdCBmb3JtYXQtcGF0Y2ggLTEgLS1zdGRvdXQgPm91dCAmJgorCSEgZ3JlcCAidGhpcyBpcyBub3RlIDEiIG91dCAmJgorCSEgZ3JlcCAidGhpcyBpcyBub3RlIDIiIG91dCAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLTEgLS1zdGRvdXQgLS1ub3Rlcz1ub3RlMSA+b3V0ICYmCisJZ3JlcCAidGhpcyBpcyBub3RlIDEiIG91dCAmJgorCSEgZ3JlcCAidGhpcyBpcyBub3RlIDIiIG91dCAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLTEgLS1zdGRvdXQgLS1ub3Rlcz1ub3RlMiA+b3V0ICYmCisJISBncmVwICJ0aGlzIGlzIG5vdGUgMSIgb3V0ICYmCisJZ3JlcCAidGhpcyBpcyBub3RlIDIiIG91dCAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLTEgLS1zdGRvdXQgLS1ub3Rlcz1ub3RlMSAtLW5vdGVzPW5vdGUyID5vdXQgJiYKKwlncmVwICJ0aGlzIGlzIG5vdGUgMSIgb3V0ICYmCisJZ3JlcCAidGhpcyBpcyBub3RlIDIiIG91dCAmJgorCisJdGVzdF9jb25maWcgZm9ybWF0Lm5vdGVzIG5vdGUxICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtMSAtLXN0ZG91dCA+b3V0ICYmCisJZ3JlcCAidGhpcyBpcyBub3RlIDEiIG91dCAmJgorCSEgZ3JlcCAidGhpcyBpcyBub3RlIDIiIG91dCAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLTEgLS1zdGRvdXQgLS1uby1ub3RlcyA+b3V0ICYmCisJISBncmVwICJ0aGlzIGlzIG5vdGUgMSIgb3V0ICYmCisJISBncmVwICJ0aGlzIGlzIG5vdGUgMiIgb3V0ICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtMSAtLXN0ZG91dCAtLW5vdGVzPW5vdGUyID5vdXQgJiYKKwlncmVwICJ0aGlzIGlzIG5vdGUgMSIgb3V0ICYmCisJZ3JlcCAidGhpcyBpcyBub3RlIDIiIG91dCAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLTEgLS1zdGRvdXQgLS1uby1ub3RlcyAtLW5vdGVzPW5vdGUyID5vdXQgJiYKKwkhIGdyZXAgInRoaXMgaXMgbm90ZSAxIiBvdXQgJiYKKwlncmVwICJ0aGlzIGlzIG5vdGUgMiIgb3V0ICYmCisKKwlnaXQgY29uZmlnIC0tYWRkIGZvcm1hdC5ub3RlcyBub3RlMiAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLTEgLS1zdGRvdXQgPm91dCAmJgorCWdyZXAgInRoaXMgaXMgbm90ZSAxIiBvdXQgJiYKKwlncmVwICJ0aGlzIGlzIG5vdGUgMiIgb3V0ICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtMSAtLXN0ZG91dCAtLW5vLW5vdGVzID5vdXQgJiYKKwkhIGdyZXAgInRoaXMgaXMgbm90ZSAxIiBvdXQgJiYKKwkhIGdyZXAgInRoaXMgaXMgbm90ZSAyIiBvdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9ybWF0LXBhdGNoIHdpdGggbXVsdGlwbGUgbm90ZXMgcmVmcyBpbiBjb25maWcnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInRlc3RfdW5jb25maWcgZm9ybWF0Lm5vdGVzIiAmJgorCisJZ2l0IG5vdGVzIC0tcmVmIG5vdGUxIGFkZCAtbSAidGhpcyBpcyBub3RlIDEiIEhFQUQgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgZ2l0IG5vdGVzIC0tcmVmIG5vdGUxIHJlbW92ZSBIRUFEICYmCisJZ2l0IG5vdGVzIC0tcmVmIG5vdGUyIGFkZCAtbSAidGhpcyBpcyBub3RlIDIiIEhFQUQgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgZ2l0IG5vdGVzIC0tcmVmIG5vdGUyIHJlbW92ZSBIRUFEICYmCisKKwlnaXQgY29uZmlnIGZvcm1hdC5ub3RlcyBub3RlMSAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLTEgLS1zdGRvdXQgPm91dCAmJgorCWdyZXAgInRoaXMgaXMgbm90ZSAxIiBvdXQgJiYKKwkhIGdyZXAgInRoaXMgaXMgbm90ZSAyIiBvdXQgJiYKKwlnaXQgY29uZmlnIGZvcm1hdC5ub3RlcyBub3RlMiAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLTEgLS1zdGRvdXQgPm91dCAmJgorCSEgZ3JlcCAidGhpcyBpcyBub3RlIDEiIG91dCAmJgorCWdyZXAgInRoaXMgaXMgbm90ZSAyIiBvdXQgJiYKKwlnaXQgY29uZmlnIC0tYWRkIGZvcm1hdC5ub3RlcyBub3RlMSAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLTEgLS1zdGRvdXQgPm91dCAmJgorCWdyZXAgInRoaXMgaXMgbm90ZSAxIiBvdXQgJiYKKwlncmVwICJ0aGlzIGlzIG5vdGUgMiIgb3V0ICYmCisKKwlnaXQgY29uZmlnIC0tcmVwbGFjZS1hbGwgZm9ybWF0Lm5vdGVzIG5vdGUxICYmCisJZ2l0IGNvbmZpZyAtLWFkZCBmb3JtYXQubm90ZXMgZmFsc2UgJiYKKwlnaXQgZm9ybWF0LXBhdGNoIC0xIC0tc3Rkb3V0ID5vdXQgJiYKKwkhIGdyZXAgInRoaXMgaXMgbm90ZSAxIiBvdXQgJiYKKwkhIGdyZXAgInRoaXMgaXMgbm90ZSAyIiBvdXQgJiYKKwlnaXQgY29uZmlnIC0tYWRkIGZvcm1hdC5ub3RlcyBub3RlMiAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLTEgLS1zdGRvdXQgPm91dCAmJgorCSEgZ3JlcCAidGhpcyBpcyBub3RlIDEiIG91dCAmJgorCWdyZXAgInRoaXMgaXMgbm90ZSAyIiBvdXQKKycKKworZWNobyAiZmF0YWw6IC0tbmFtZS1vbmx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UiID5leHBlY3QubmFtZS1vbmx5CitlY2hvICJmYXRhbDogLS1uYW1lLXN0YXR1cyBkb2VzIG5vdCBtYWtlIHNlbnNlIiA+ZXhwZWN0Lm5hbWUtc3RhdHVzCitlY2hvICJmYXRhbDogLS1jaGVjayBkb2VzIG5vdCBtYWtlIHNlbnNlIiA+ZXhwZWN0LmNoZWNrCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ29wdGlvbnMgbm8gbG9uZ2VyIGFsbG93ZWQgZm9yIGZvcm1hdC1wYXRjaCcgJwotCXRlc3RfbXVzdF9mYWlsIGdpdCBmb3JtYXQtcGF0Y2ggLS1uYW1lLW9ubHkgMj4gb3V0cHV0ICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZvcm1hdC1wYXRjaCAtLW5hbWUtb25seSAyPm91dHB1dCAmJgogCXRlc3RfaTE4bmNtcCBleHBlY3QubmFtZS1vbmx5IG91dHB1dCAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCBmb3JtYXQtcGF0Y2ggLS1uYW1lLXN0YXR1cyAyPiBvdXRwdXQgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZm9ybWF0LXBhdGNoIC0tbmFtZS1zdGF0dXMgMj5vdXRwdXQgJiYKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0Lm5hbWUtc3RhdHVzIG91dHB1dCAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCBmb3JtYXQtcGF0Y2ggLS1jaGVjayAyPiBvdXRwdXQgJiYKLQl0ZXN0X2kxOG5jbXAgZXhwZWN0LmNoZWNrIG91dHB1dCcKKwl0ZXN0X211c3RfZmFpbCBnaXQgZm9ybWF0LXBhdGNoIC0tY2hlY2sgMj5vdXRwdXQgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0LmNoZWNrIG91dHB1dAorJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JtYXQtcGF0Y2ggLS1udW1zdGF0IHNob3VsZCBwcm9kdWNlIGEgcGF0Y2gnICcKLQlnaXQgZm9ybWF0LXBhdGNoIC0tbnVtc3RhdCAtLXN0ZG91dCBtYXN0ZXIuLnNpZGUgPiBvdXRwdXQgJiYKLQl0ZXN0IDUgPSAkKGdyZXAgIl5kaWZmIC0tZ2l0IGEvIiBvdXRwdXQgfCB3YyAtbCknCisJZ2l0IGZvcm1hdC1wYXRjaCAtLW51bXN0YXQgLS1zdGRvdXQgbWFzdGVyLi5zaWRlID5vdXRwdXQgJiYKKwlncmVwICJeZGlmZiAtLWdpdCBhLyIgb3V0cHV0ID5kaWZmICYmCisJdGVzdF9saW5lX2NvdW50ID0gNSBkaWZmCisnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC1wYXRjaCAtLSA8cGF0aD4nICcKIAlnaXQgZm9ybWF0LXBhdGNoIG1hc3Rlci4uc2lkZSAtLSBmaWxlIDI+ZXJyb3IgJiYKQEAgLTc1NywyMCArODUzLDI1IEBACiAJZ2l0IGZvcm1hdC1wYXRjaCAtLWlnbm9yZS1pZi1pbi11cHN0cmVhbSBIRUFECiAnCiAKLWdpdF92ZXJzaW9uPSIkKGdpdCAtLXZlcnNpb24gfCBzZWQgInMvLiogLy8iKSIKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dldCBnaXQgdmVyc2lvbicgJworCWdpdF92ZXJzaW9uPSQoZ2l0IC0tdmVyc2lvbikgJiYKKwlnaXRfdmVyc2lvbj0ke2dpdF92ZXJzaW9uIyMqIH0KKycKIAogc2lnbmF0dXJlKCkgewogCXByaW50ZiAiJXNcbiVzXG5cbiIgIi0tICIgIiR7MTotJGdpdF92ZXJzaW9ufSIKIH0KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9ybWF0LXBhdGNoIGRlZmF1bHQgc2lnbmF0dXJlJyAnCi0JZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtMSB8IHRhaWwgLW4gMyA+b3V0cHV0ICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtMSA+cGF0Y2ggJiYKKwl0YWlsIC1uIDMgcGF0Y2ggPm91dHB1dCAmJgogCXNpZ25hdHVyZSA+ZXhwZWN0ICYmCiAJdGVzdF9jbXAgZXhwZWN0IG91dHB1dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JtYXQtcGF0Y2ggLS1zaWduYXR1cmUnICcKLQlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IC0tc2lnbmF0dXJlPSJteSBzaWciIC0xIHwgdGFpbCAtbiAzID5vdXRwdXQgJiYKKwlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IC0tc2lnbmF0dXJlPSJteSBzaWciIC0xID5wYXRjaCAmJgorCXRhaWwgLW4gMyBwYXRjaCA+b3V0cHV0ICYmCiAJc2lnbmF0dXJlICJteSBzaWciID5leHBlY3QgJiYKIAl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CiAnCkBAIC04MDIsOCArOTAzLDggQEAKIAlnaXQgY29uZmlnIC0tdW5zZXQtYWxsIGZvcm1hdC5zaWduYXR1cmUgJiYKIAlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IC0tc2lnbmF0dXJlPSJteSBzaWciIC0tY292ZXItbGV0dGVyIFwKIAkJLTEgPm91dHB1dCAmJgotCWdyZXAgIm15IHNpZyIgb3V0cHV0ICYmCi0JdGVzdCAyID0gJChncmVwICJteSBzaWciIG91dHB1dCB8IHdjIC1sKQorCWdyZXAgIm15IHNpZyIgb3V0cHV0ID5zaWcgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAyIHNpZwogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JtYXQuc2lnbmF0dXJlPSIiIHN1cHByZXNzZXMgc2lnbmF0dXJlcycgJwpAQCAtODQwLDcgKzk0MSw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXNpZ25hdHVyZS1maWxlPWZpbGUgd29ya3MnICcKIAlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IC0tc2lnbmF0dXJlLWZpbGU9bWFpbC1zaWduYXR1cmUgLTEgPm91dHB1dCAmJgogCWNoZWNrX3BhdGNoIG91dHB1dCAmJgotCXNlZCAtZSAiMSwvXi0tIFwkL2QiIDxvdXRwdXQgPmFjdHVhbCAmJgorCXNlZCAtZSAiMSwvXi0tIFwkL2QiIG91dHB1dCA+YWN0dWFsICYmCiAJewogCQljYXQgbWFpbC1zaWduYXR1cmUgJiYgZWNobwogCX0gPmV4cGVjdCAmJgpAQCAtODUxLDcgKzk1Miw3IEBACiAJdGVzdF9jb25maWcgZm9ybWF0LnNpZ25hdHVyZWZpbGUgbWFpbC1zaWduYXR1cmUgJiYKIAlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IC0xID5vdXRwdXQgJiYKIAljaGVja19wYXRjaCBvdXRwdXQgJiYKLQlzZWQgLWUgIjEsL14tLSBcJC9kIiA8b3V0cHV0ID5hY3R1YWwgJiYKKwlzZWQgLWUgIjEsL14tLSBcJC9kIiBvdXRwdXQgPmFjdHVhbCAmJgogCXsKIAkJY2F0IG1haWwtc2lnbmF0dXJlICYmIGVjaG8KIAl9ID5leHBlY3QgJiYKQEAgLTg3Myw3ICs5NzQsNyBAQAogCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgXAogCQkJLS1zaWduYXR1cmUtZmlsZT1vdGhlci1tYWlsLXNpZ25hdHVyZSAtMSA+b3V0cHV0ICYmCiAJY2hlY2tfcGF0Y2ggb3V0cHV0ICYmCi0Jc2VkIC1lICIxLC9eLS0gXCQvZCIgPG91dHB1dCA+YWN0dWFsICYmCisJc2VkIC1lICIxLC9eLS0gXCQvZCIgb3V0cHV0ID5hY3R1YWwgJiYKIAl7CiAJCWNhdCBvdGhlci1tYWlsLXNpZ25hdHVyZSAmJiBlY2hvCiAJfSA+ZXhwZWN0ICYmCkBAIC05NDIsNyArMTA0Myw3IEBACiAJZ2l0IGFkZCBmaWxlICYmCiAJZ2l0IGNvbW1pdCAtbSAiJE01MTIiICYmCiAJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtMSA+cGF0Y2ggJiYKLQlzZWQgLW4gIi9eU3ViamVjdC9wOyAvXiAvcDsgL14kL3EiIDxwYXRjaCA+c3ViamVjdCAmJgorCXNlZCAtbiAiL15TdWJqZWN0L3A7IC9eIC9wOyAvXiQvcSIgcGF0Y2ggPnN1YmplY3QgJiYKIAl0ZXN0X2NtcCBleHBlY3Qgc3ViamVjdAogJwogCkBAIC05ODEsNyArMTA4Miw3IEBACiAJZ2l0IGFkZCBmaWxlICYmCiAJZ2l0IGNvbW1pdCAtbSAiJE01MTIiICYmCiAJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtMSA+cGF0Y2ggJiYKLQlzZWQgLW4gIi9eU3ViamVjdC9wOyAvXiAvcDsgL14kL3EiIDxwYXRjaCA+c3ViamVjdCAmJgorCXNlZCAtbiAiL15TdWJqZWN0L3A7IC9eIC9wOyAvXiQvcSIgcGF0Y2ggPnN1YmplY3QgJiYKIAl0ZXN0X2NtcCBleHBlY3Qgc3ViamVjdAogJwogCkBAIC05OTAsNyArMTA5MSw3IEBACiAJZ2l0IGFkZCBmaWxlICYmCiAJR0lUX0FVVEhPUl9OQU1FPSQxIGdpdCBjb21taXQgLW0gYXV0aG9yLWNoZWNrICYmCiAJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtMSA+cGF0Y2ggJiYKLQlzZWQgLW4gIi9eRnJvbTogL3A7IC9eIC9wOyAvXiQvcSIgPHBhdGNoID5hY3R1YWwgJiYKKwlzZWQgLW4gIi9eRnJvbTogL3A7IC9eIC9wOyAvXiQvcSIgcGF0Y2ggPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKIH0KIApAQCAtMTExMCw3ICsxMjExLDcgQEAKIAlGcm9tOiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgogCiAJRU9GCi0Jc2VkIC1uZSAiL15Gcm9tOi9wOyAvXiQvcDsgL14tLS0kL3EiIDxwYXRjaCA+cGF0Y2guaGVhZCAmJgorCXNlZCAtbmUgIi9eRnJvbTovcDsgL14kL3A7IC9eLS0tJC9xIiBwYXRjaCA+cGF0Y2guaGVhZCAmJgogCXRlc3RfY21wIGV4cGVjdCBwYXRjaC5oZWFkCiAnCiAKQEAgLTExMjIsNyArMTIyMyw3IEBACiAJRnJvbTogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KIAogCUVPRgotCXNlZCAtbmUgIi9eRnJvbTovcDsgL14kL3A7IC9eLS0tJC9xIiA8cGF0Y2ggPnBhdGNoLmhlYWQgJiYKKwlzZWQgLW5lICIvXkZyb206L3A7IC9eJC9wOyAvXi0tLSQvcSIgcGF0Y2ggPnBhdGNoLmhlYWQgJiYKIAl0ZXN0X2NtcCBleHBlY3QgcGF0Y2guaGVhZAogJwogCkBAIC0xMTMyLDcgKzEyMzMsNyBAQAogCUZyb206IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CiAKIAlFT0YKLQlzZWQgLW5lICIvXkZyb206L3A7IC9eJC9wOyAvXi0tLSQvcSIgPHBhdGNoID5wYXRjaC5oZWFkICYmCisJc2VkIC1uZSAiL15Gcm9tOi9wOyAvXiQvcDsgL14tLS0kL3EiIHBhdGNoID5wYXRjaC5oZWFkICYmCiAJdGVzdF9jbXAgZXhwZWN0IHBhdGNoLmhlYWQKICcKIApAQCAtMTE0Nyw3ICsxMjQ4LDcgQEAKIAlGcm9tOiDDqXjDtnTDrGMgPGF1dGhvckBleGFtcGxlLmNvbT4KIAogCUVPRgotCXNlZCAtbmUgIi9eRnJvbTovcDsgL14kL3A7IC9eQ29udGVudC1UeXBlL3A7IC9eLS0tJC9xIiA8cGF0Y2ggPnBhdGNoLmhlYWQgJiYKKwlzZWQgLW5lICIvXkZyb206L3A7IC9eJC9wOyAvXkNvbnRlbnQtVHlwZS9wOyAvXi0tLSQvcSIgcGF0Y2ggPnBhdGNoLmhlYWQgJiYKIAl0ZXN0X2NtcCBleHBlY3QgcGF0Y2guaGVhZAogJwogCkBAIC0xMTYxLDI4MyArMTI2MiwyODMgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2lnbm9mZjogY29tbWl0IHdpdGggbm8gYm9keScgJwogCWFwcGVuZF9zaWdub2ZmIDwvZGV2L251bGwgPmFjdHVhbCAmJgotCWNhdCA8PFxFT0YgfCBzZWQgInMvRU9MJC8vIiA+ZXhwZWN0ZWQgJiYKLTQ6U3ViamVjdDogW1BBVENIXSBFT0wKLTg6Ci05OlNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KLUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCWNhdCA8PC1cRU9GIHwgc2VkICJzL0VPTCQvLyIgPmV4cGVjdCAmJgorCTQ6U3ViamVjdDogW1BBVENIXSBFT0wKKwk4OgorCTk6U2lnbmVkLW9mZi1ieTogQyBPIE1pdHRlciA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPgorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2lnbm9mZjogY29tbWl0IHdpdGggb25seSBzdWJqZWN0JyAnCiAJZWNobyBzdWJqZWN0IHwgYXBwZW5kX3NpZ25vZmYgPmFjdHVhbCAmJgotCWNhdCA+ZXhwZWN0ZWQgPDxcRU9GICYmCi00OlN1YmplY3Q6IFtQQVRDSF0gc3ViamVjdAotODoKLTk6U2lnbmVkLW9mZi1ieTogQyBPIE1pdHRlciA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPgotRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCTQ6U3ViamVjdDogW1BBVENIXSBzdWJqZWN0CisJODoKKwk5OlNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NpZ25vZmY6IGNvbW1pdCB3aXRoIG9ubHkgc3ViamVjdCB0aGF0IGRvZXMgbm90IGVuZCB3aXRoIE5MJyAnCiAJcHJpbnRmIHN1YmplY3QgfCBhcHBlbmRfc2lnbm9mZiA+YWN0dWFsICYmCi0JY2F0ID5leHBlY3RlZCA8PFxFT0YgJiYKLTQ6U3ViamVjdDogW1BBVENIXSBzdWJqZWN0Ci04OgotOTpTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+Ci1FT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJNDpTdWJqZWN0OiBbUEFUQ0hdIHN1YmplY3QKKwk4OgorCTk6U2lnbmVkLW9mZi1ieTogQyBPIE1pdHRlciA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPgorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2lnbm9mZjogbm8gZXhpc3Rpbmcgc2lnbm9mZnMnICcKLQlhcHBlbmRfc2lnbm9mZiA8PFxFT0YgPmFjdHVhbCAmJgotc3ViamVjdAorCWFwcGVuZF9zaWdub2ZmIDw8LVxFT0YgPmFjdHVhbCAmJgorCXN1YmplY3QKIAotYm9keQotRU9GCi0JY2F0ID5leHBlY3RlZCA8PFxFT0YgJiYKLTQ6U3ViamVjdDogW1BBVENIXSBzdWJqZWN0Ci04OgotMTA6Ci0xMTpTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+Ci1FT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlib2R5CisJRU9GCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCTQ6U3ViamVjdDogW1BBVENIXSBzdWJqZWN0CisJODoKKwkxMDoKKwkxMTpTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaWdub2ZmOiBubyBleGlzdGluZyBzaWdub2ZmcyBhbmQgbm8gdHJhaWxpbmcgTkwnICcKIAlwcmludGYgInN1YmplY3RcblxuYm9keSIgfCBhcHBlbmRfc2lnbm9mZiA+YWN0dWFsICYmCi0JY2F0ID5leHBlY3RlZCA8PFxFT0YgJiYKLTQ6U3ViamVjdDogW1BBVENIXSBzdWJqZWN0Ci04OgotMTA6Ci0xMTpTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+Ci1FT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJNDpTdWJqZWN0OiBbUEFUQ0hdIHN1YmplY3QKKwk4OgorCTEwOgorCTExOlNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NpZ25vZmY6IHNvbWUgcmFuZG9tIHNpZ25vZmYnICcKLQlhcHBlbmRfc2lnbm9mZiA8PFxFT0YgPmFjdHVhbCAmJgotc3ViamVjdAorCWFwcGVuZF9zaWdub2ZmIDw8LVxFT0YgPmFjdHVhbCAmJgorCXN1YmplY3QKIAotYm9keQorCWJvZHkKIAotU2lnbmVkLW9mZi1ieTogbXlAaG91c2UKLUVPRgotCWNhdCA+ZXhwZWN0ZWQgPDxcRU9GICYmCi00OlN1YmplY3Q6IFtQQVRDSF0gc3ViamVjdAotODoKLTEwOgotMTE6U2lnbmVkLW9mZi1ieTogbXlAaG91c2UKLTEyOlNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KLUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCVNpZ25lZC1vZmYtYnk6IG15QGhvdXNlCisJRU9GCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCTQ6U3ViamVjdDogW1BBVENIXSBzdWJqZWN0CisJODoKKwkxMDoKKwkxMTpTaWduZWQtb2ZmLWJ5OiBteUBob3VzZQorCTEyOlNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NpZ25vZmY6IG1pc2MgY29uZm9ybWluZyBmb290ZXIgZWxlbWVudHMnICcKLQlhcHBlbmRfc2lnbm9mZiA8PFxFT0YgPmFjdHVhbCAmJgotc3ViamVjdAorCWFwcGVuZF9zaWdub2ZmIDw8LVxFT0YgPmFjdHVhbCAmJgorCXN1YmplY3QKIAotYm9keQorCWJvZHkKIAotU2lnbmVkLW9mZi1ieTogbXlAaG91c2UKLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGRhMzlhM2VlNWU2YjRiMGQzMjU1YmZlZjk1NjAxODkwYWZkODA3MDkpCi1UZXN0ZWQtYnk6IFNvbWUgT25lIDxzb21lb25lQGV4YW1wbGUuY29tPgotQnVnOiAxMjM0Ci1FT0YKLQljYXQgPmV4cGVjdGVkIDw8XEVPRiAmJgotNDpTdWJqZWN0OiBbUEFUQ0hdIHN1YmplY3QKLTg6Ci0xMDoKLTExOlNpZ25lZC1vZmYtYnk6IG15QGhvdXNlCi0xNTpTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+Ci1FT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlTaWduZWQtb2ZmLWJ5OiBteUBob3VzZQorCShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGRhMzlhM2VlNWU2YjRiMGQzMjU1YmZlZjk1NjAxODkwYWZkODA3MDkpCisJVGVzdGVkLWJ5OiBTb21lIE9uZSA8c29tZW9uZUBleGFtcGxlLmNvbT4KKwlCdWc6IDEyMzQKKwlFT0YKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJNDpTdWJqZWN0OiBbUEFUQ0hdIHN1YmplY3QKKwk4OgorCTEwOgorCTExOlNpZ25lZC1vZmYtYnk6IG15QGhvdXNlCisJMTU6U2lnbmVkLW9mZi1ieTogQyBPIE1pdHRlciA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPgorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2lnbm9mZjogc29tZSByYW5kb20gc2lnbm9mZi1hbGlrZScgJwotCWFwcGVuZF9zaWdub2ZmIDw8XEVPRiA+YWN0dWFsICYmCi1zdWJqZWN0CisJYXBwZW5kX3NpZ25vZmYgPDwtXEVPRiA+YWN0dWFsICYmCisJc3ViamVjdAogCi1ib2R5Ci1Gb29sZWQtYnktbWU6IG15QGhvdXNlCi1FT0YKLQljYXQgPmV4cGVjdGVkIDw8XEVPRiAmJgotNDpTdWJqZWN0OiBbUEFUQ0hdIHN1YmplY3QKLTg6Ci0xMToKLTEyOlNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KLUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCWJvZHkKKwlGb29sZWQtYnktbWU6IG15QGhvdXNlCisJRU9GCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCTQ6U3ViamVjdDogW1BBVENIXSBzdWJqZWN0CisJODoKKwkxMToKKwkxMjpTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaWdub2ZmOiBub3QgcmVhbGx5IGEgc2lnbm9mZicgJwotCWFwcGVuZF9zaWdub2ZmIDw8XEVPRiA+YWN0dWFsICYmCi1zdWJqZWN0CisJYXBwZW5kX3NpZ25vZmYgPDwtXEVPRiA+YWN0dWFsICYmCisJc3ViamVjdAogCi1JIHdhbnQgdG8gbWVudGlvbiBhYm91dCBTaWduZWQtb2ZmLWJ5OiBoZXJlLgotRU9GCi0JY2F0ID5leHBlY3RlZCA8PFxFT0YgJiYKLTQ6U3ViamVjdDogW1BBVENIXSBzdWJqZWN0Ci04OgotOTpJIHdhbnQgdG8gbWVudGlvbiBhYm91dCBTaWduZWQtb2ZmLWJ5OiBoZXJlLgotMTA6Ci0xMTpTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+Ci1FT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlJIHdhbnQgdG8gbWVudGlvbiBhYm91dCBTaWduZWQtb2ZmLWJ5OiBoZXJlLgorCUVPRgorCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwk0OlN1YmplY3Q6IFtQQVRDSF0gc3ViamVjdAorCTg6CisJOTpJIHdhbnQgdG8gbWVudGlvbiBhYm91dCBTaWduZWQtb2ZmLWJ5OiBoZXJlLgorCTEwOgorCTExOlNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NpZ25vZmY6IG5vdCByZWFsbHkgYSBzaWdub2ZmICgyKScgJwotCWFwcGVuZF9zaWdub2ZmIDw8XEVPRiA+YWN0dWFsICYmCi1zdWJqZWN0CisJYXBwZW5kX3NpZ25vZmYgPDwtXEVPRiA+YWN0dWFsICYmCisJc3ViamVjdAogCi1NeSB1bmZvcnR1bmF0ZQotU2lnbmVkLW9mZi1ieTogZXhhbXBsZSBoYXBwZW5zIHRvIGJlIHdyYXBwZWQgaGVyZS4KLUVPRgotCWNhdCA+ZXhwZWN0ZWQgPDxcRU9GICYmCi00OlN1YmplY3Q6IFtQQVRDSF0gc3ViamVjdAotODoKLTEwOlNpZ25lZC1vZmYtYnk6IGV4YW1wbGUgaGFwcGVucyB0byBiZSB3cmFwcGVkIGhlcmUuCi0xMTpTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+Ci1FT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlNeSB1bmZvcnR1bmF0ZQorCVNpZ25lZC1vZmYtYnk6IGV4YW1wbGUgaGFwcGVucyB0byBiZSB3cmFwcGVkIGhlcmUuCisJRU9GCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCTQ6U3ViamVjdDogW1BBVENIXSBzdWJqZWN0CisJODoKKwkxMDpTaWduZWQtb2ZmLWJ5OiBleGFtcGxlIGhhcHBlbnMgdG8gYmUgd3JhcHBlZCBoZXJlLgorCTExOlNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NpZ25vZmY6IHZhbGlkIFMtby1iIHBhcmFncmFwaCBpbiB0aGUgbWlkZGxlJyAnCi0JYXBwZW5kX3NpZ25vZmYgPDxcRU9GID5hY3R1YWwgJiYKLXN1YmplY3QKKwlhcHBlbmRfc2lnbm9mZiA8PC1cRU9GID5hY3R1YWwgJiYKKwlzdWJqZWN0CiAKLVNpZ25lZC1vZmYtYnk6IG15QGhvdXNlCi1TaWduZWQtb2ZmLWJ5OiB5b3VyQGhvdXNlCisJU2lnbmVkLW9mZi1ieTogbXlAaG91c2UKKwlTaWduZWQtb2ZmLWJ5OiB5b3VyQGhvdXNlCiAKLUEgbG90IG9mIGhvdXNlcy4KLUVPRgotCWNhdCA+ZXhwZWN0ZWQgPDxcRU9GICYmCi00OlN1YmplY3Q6IFtQQVRDSF0gc3ViamVjdAotODoKLTk6U2lnbmVkLW9mZi1ieTogbXlAaG91c2UKLTEwOlNpZ25lZC1vZmYtYnk6IHlvdXJAaG91c2UKLTExOgotMTM6Ci0xNDpTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+Ci1FT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlBIGxvdCBvZiBob3VzZXMuCisJRU9GCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCTQ6U3ViamVjdDogW1BBVENIXSBzdWJqZWN0CisJODoKKwk5OlNpZ25lZC1vZmYtYnk6IG15QGhvdXNlCisJMTA6U2lnbmVkLW9mZi1ieTogeW91ckBob3VzZQorCTExOgorCTEzOgorCTE0OlNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NpZ25vZmY6IHRoZSBzYW1lIHNpZ25vZmYgYXQgdGhlIGVuZCcgJwotCWFwcGVuZF9zaWdub2ZmIDw8XEVPRiA+YWN0dWFsICYmCi1zdWJqZWN0CisJYXBwZW5kX3NpZ25vZmYgPDwtXEVPRiA+YWN0dWFsICYmCisJc3ViamVjdAogCi1ib2R5CisJYm9keQogCi1TaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+Ci1FT0YKLQljYXQgPmV4cGVjdGVkIDw8XEVPRiAmJgotNDpTdWJqZWN0OiBbUEFUQ0hdIHN1YmplY3QKLTg6Ci0xMDoKLTExOlNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KLUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCVNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KKwlFT0YKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJNDpTdWJqZWN0OiBbUEFUQ0hdIHN1YmplY3QKKwk4OgorCTEwOgorCTExOlNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NpZ25vZmY6IHRoZSBzYW1lIHNpZ25vZmYgYXQgdGhlIGVuZCwgbm8gdHJhaWxpbmcgTkwnICcKIAlwcmludGYgInN1YmplY3RcblxuU2lnbmVkLW9mZi1ieTogQyBPIE1pdHRlciA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPiIgfAogCQlhcHBlbmRfc2lnbm9mZiA+YWN0dWFsICYmCi0JY2F0ID5leHBlY3RlZCA8PFxFT0YgJiYKLTQ6U3ViamVjdDogW1BBVENIXSBzdWJqZWN0Ci04OgotOTpTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+Ci1FT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJNDpTdWJqZWN0OiBbUEFUQ0hdIHN1YmplY3QKKwk4OgorCTk6U2lnbmVkLW9mZi1ieTogQyBPIE1pdHRlciA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPgorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2lnbm9mZjogdGhlIHNhbWUgc2lnbm9mZiBOT1QgYXQgdGhlIGVuZCcgJwotCWFwcGVuZF9zaWdub2ZmIDw8XEVPRiA+YWN0dWFsICYmCi1zdWJqZWN0CisJYXBwZW5kX3NpZ25vZmYgPDwtXEVPRiA+YWN0dWFsICYmCisJc3ViamVjdAogCi1ib2R5CisJYm9keQogCi1TaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBteUBob3VzZQotRU9GCi0JY2F0ID5leHBlY3RlZCA8PFxFT0YgJiYKLTQ6U3ViamVjdDogW1BBVENIXSBzdWJqZWN0Ci04OgotMTA6Ci0xMTpTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+Ci0xMjpTaWduZWQtb2ZmLWJ5OiBteUBob3VzZQotRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJU2lnbmVkLW9mZi1ieTogQyBPIE1pdHRlciA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPgorCVNpZ25lZC1vZmYtYnk6IG15QGhvdXNlCisJRU9GCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCTQ6U3ViamVjdDogW1BBVENIXSBzdWJqZWN0CisJODoKKwkxMDoKKwkxMTpTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+CisJMTI6U2lnbmVkLW9mZi1ieTogbXlAaG91c2UKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NpZ25vZmY6IHRvbGVyYXRlIGdhcmJhZ2UgaW4gY29uZm9ybWluZyBmb290ZXInICcKLQlhcHBlbmRfc2lnbm9mZiA8PFxFT0YgPmFjdHVhbCAmJgotc3ViamVjdAorCWFwcGVuZF9zaWdub2ZmIDw8LVxFT0YgPmFjdHVhbCAmJgorCXN1YmplY3QKIAotYm9keQorCWJvZHkKIAotVGVzdGVkLWJ5OiBteUBob3VzZQotU29tZSBUcmFzaAotU2lnbmVkLW9mZi1ieTogQyBPIE1pdHRlciA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPgotRU9GCi0JY2F0ID5leHBlY3RlZCA8PFxFT0YgJiYKLTQ6U3ViamVjdDogW1BBVENIXSBzdWJqZWN0Ci04OgotMTA6Ci0xMzpTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+Ci1FT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlUZXN0ZWQtYnk6IG15QGhvdXNlCisJU29tZSBUcmFzaAorCVNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KKwlFT0YKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJNDpTdWJqZWN0OiBbUEFUQ0hdIHN1YmplY3QKKwk4OgorCTEwOgorCTEzOlNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NpZ25vZmY6IHJlc3BlY3QgdHJhaWxlciBjb25maWcnICcKLQlhcHBlbmRfc2lnbm9mZiA8PFxFT0YgPmFjdHVhbCAmJgotc3ViamVjdAorCWFwcGVuZF9zaWdub2ZmIDw8LVxFT0YgPmFjdHVhbCAmJgorCXN1YmplY3QKIAotTXlmb290ZXI6IHgKLVNvbWUgVHJhc2gKLUVPRgotCWNhdCA+ZXhwZWN0ZWQgPDxcRU9GICYmCi00OlN1YmplY3Q6IFtQQVRDSF0gc3ViamVjdAotODoKLTExOgotMTI6U2lnbmVkLW9mZi1ieTogQyBPIE1pdHRlciA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPgotRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCisJTXlmb290ZXI6IHgKKwlTb21lIFRyYXNoCisJRU9GCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCTQ6U3ViamVjdDogW1BBVENIXSBzdWJqZWN0CisJODoKKwkxMToKKwkxMjpTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgogCiAJdGVzdF9jb25maWcgdHJhaWxlci5NeWZvb3Rlci5pZmV4aXN0cyBhZGQgJiYKLQlhcHBlbmRfc2lnbm9mZiA8PFxFT0YgPmFjdHVhbCAmJgotc3ViamVjdAorCWFwcGVuZF9zaWdub2ZmIDw8LVxFT0YgPmFjdHVhbCAmJgorCXN1YmplY3QKIAotTXlmb290ZXI6IHgKLVNvbWUgVHJhc2gKLUVPRgotCWNhdCA+ZXhwZWN0ZWQgPDxcRU9GICYmCi00OlN1YmplY3Q6IFtQQVRDSF0gc3ViamVjdAotODoKLTExOlNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KLUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCU15Zm9vdGVyOiB4CisJU29tZSBUcmFzaAorCUVPRgorCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwk0OlN1YmplY3Q6IFtQQVRDSF0gc3ViamVjdAorCTg6CisJMTE6U2lnbmVkLW9mZi1ieTogQyBPIE1pdHRlciA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPgorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2lnbm9mZjogZm9vdGVyIGJlZ2lucyB3aXRoIG5vbi1zaWdub2ZmIHdpdGhvdXQgQCBzaWduJyAnCi0JYXBwZW5kX3NpZ25vZmYgPDxcRU9GID5hY3R1YWwgJiYKLXN1YmplY3QKKwlhcHBlbmRfc2lnbm9mZiA8PC1cRU9GID5hY3R1YWwgJiYKKwlzdWJqZWN0CiAKLWJvZHkKKwlib2R5CiAKLVJldmlld2VkLWlkOiBOb29uZQotVGVzdGVkLWJ5OiBteUBob3VzZQotQ2hhbmdlLWlkOiBJZGVhZGJlZWYKLVNpZ25lZC1vZmYtYnk6IEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KLUJ1ZzogMTIzNAotRU9GCi0JY2F0ID5leHBlY3RlZCA8PFxFT0YgJiYKLTQ6U3ViamVjdDogW1BBVENIXSBzdWJqZWN0Ci04OgotMTA6Ci0xNDpTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+Ci1FT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlSZXZpZXdlZC1pZDogTm9vbmUKKwlUZXN0ZWQtYnk6IG15QGhvdXNlCisJQ2hhbmdlLWlkOiBJZGVhZGJlZWYKKwlTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+CisJQnVnOiAxMjM0CisJRU9GCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCTQ6U3ViamVjdDogW1BBVENIXSBzdWJqZWN0CisJODoKKwkxMDoKKwkxNDpTaWduZWQtb2ZmLWJ5OiBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JtYXQgcGF0Y2ggaWdub3JlcyBjb2xvci51aScgJwpAQCAtMTQ0OCw0NiArMTU0OSwyMTggQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvdmVyIGxldHRlciB3aXRoIGludmFsaWQgLS1jb3Zlci1mcm9tLWRlc2NyaXB0aW9uIGFuZCBjb25maWcnICcKKwl0ZXN0X2NvbmZpZyBicmFuY2gucmVidWlsZC0xLmRlc2NyaXB0aW9uICJjb25maWcgc3ViamVjdAorCitib2R5IiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBmb3JtYXQtcGF0Y2ggLS1jb3Zlci1sZXR0ZXIgLS1jb3Zlci1mcm9tLWRlc2NyaXB0aW9uIGdhcmJhZ2UgbWFzdGVyICYmCisJdGVzdF9jb25maWcgZm9ybWF0LmNvdmVyRnJvbURlc2NyaXB0aW9uIGdhcmJhZ2UgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZm9ybWF0LXBhdGNoIC0tY292ZXItbGV0dGVyIG1hc3RlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3ZlciBsZXR0ZXIgd2l0aCBmb3JtYXQuY292ZXJGcm9tRGVzY3JpcHRpb24gPSBkZWZhdWx0JyAnCisJdGVzdF9jb25maWcgYnJhbmNoLnJlYnVpbGQtMS5kZXNjcmlwdGlvbiAiY29uZmlnIHN1YmplY3QKKworYm9keSIgJiYKKwl0ZXN0X2NvbmZpZyBmb3JtYXQuY292ZXJGcm9tRGVzY3JpcHRpb24gZGVmYXVsdCAmJgorCWdpdCBjaGVja291dCByZWJ1aWxkLTEgJiYKKwlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IC0tY292ZXItbGV0dGVyIG1hc3RlciA+YWN0dWFsICYmCisJZ3JlcCAiXlN1YmplY3Q6IFxbUEFUQ0ggMC8yXF0gXCpcKlwqIFNVQkpFQ1QgSEVSRSBcKlwqXCokIiBhY3R1YWwgJiYKKwkhIGdyZXAgIl5cKlwqXCogQkxVUkIgSEVSRSBcKlwqXCokIiBhY3R1YWwgJiYKKwlncmVwICJeY29uZmlnIHN1YmplY3QkIiBhY3R1YWwgJiYKKwlncmVwICJeYm9keSQiIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3ZlciBsZXR0ZXIgd2l0aCAtLWNvdmVyLWZyb20tZGVzY3JpcHRpb24gZGVmYXVsdCcgJworCXRlc3RfY29uZmlnIGJyYW5jaC5yZWJ1aWxkLTEuZGVzY3JpcHRpb24gImNvbmZpZyBzdWJqZWN0CisKK2JvZHkiICYmCisJZ2l0IGNoZWNrb3V0IHJlYnVpbGQtMSAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgLS1jb3Zlci1sZXR0ZXIgLS1jb3Zlci1mcm9tLWRlc2NyaXB0aW9uIGRlZmF1bHQgbWFzdGVyID5hY3R1YWwgJiYKKwlncmVwICJeU3ViamVjdDogXFtQQVRDSCAwLzJcXSBcKlwqXCogU1VCSkVDVCBIRVJFIFwqXCpcKiQiIGFjdHVhbCAmJgorCSEgZ3JlcCAiXlwqXCpcKiBCTFVSQiBIRVJFIFwqXCpcKiQiIGFjdHVhbCAmJgorCWdyZXAgIl5jb25maWcgc3ViamVjdCQiIGFjdHVhbCAmJgorCWdyZXAgIl5ib2R5JCIgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvdmVyIGxldHRlciB3aXRoIGZvcm1hdC5jb3ZlckZyb21EZXNjcmlwdGlvbiA9IG5vbmUnICcKKwl0ZXN0X2NvbmZpZyBicmFuY2gucmVidWlsZC0xLmRlc2NyaXB0aW9uICJjb25maWcgc3ViamVjdAorCitib2R5IiAmJgorCXRlc3RfY29uZmlnIGZvcm1hdC5jb3ZlckZyb21EZXNjcmlwdGlvbiBub25lICYmCisJZ2l0IGNoZWNrb3V0IHJlYnVpbGQtMSAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgLS1jb3Zlci1sZXR0ZXIgbWFzdGVyID5hY3R1YWwgJiYKKwlncmVwICJeU3ViamVjdDogXFtQQVRDSCAwLzJcXSBcKlwqXCogU1VCSkVDVCBIRVJFIFwqXCpcKiQiIGFjdHVhbCAmJgorCWdyZXAgIl5cKlwqXCogQkxVUkIgSEVSRSBcKlwqXCokIiBhY3R1YWwgJiYKKwkhIGdyZXAgIl5jb25maWcgc3ViamVjdCQiIGFjdHVhbCAmJgorCSEgZ3JlcCAiXmJvZHkkIiBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY292ZXIgbGV0dGVyIHdpdGggLS1jb3Zlci1mcm9tLWRlc2NyaXB0aW9uIG5vbmUnICcKKwl0ZXN0X2NvbmZpZyBicmFuY2gucmVidWlsZC0xLmRlc2NyaXB0aW9uICJjb25maWcgc3ViamVjdAorCitib2R5IiAmJgorCWdpdCBjaGVja291dCByZWJ1aWxkLTEgJiYKKwlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IC0tY292ZXItbGV0dGVyIC0tY292ZXItZnJvbS1kZXNjcmlwdGlvbiBub25lIG1hc3RlciA+YWN0dWFsICYmCisJZ3JlcCAiXlN1YmplY3Q6IFxbUEFUQ0ggMC8yXF0gXCpcKlwqIFNVQkpFQ1QgSEVSRSBcKlwqXCokIiBhY3R1YWwgJiYKKwlncmVwICJeXCpcKlwqIEJMVVJCIEhFUkUgXCpcKlwqJCIgYWN0dWFsICYmCisJISBncmVwICJeY29uZmlnIHN1YmplY3QkIiBhY3R1YWwgJiYKKwkhIGdyZXAgIl5ib2R5JCIgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvdmVyIGxldHRlciB3aXRoIGZvcm1hdC5jb3ZlckZyb21EZXNjcmlwdGlvbiA9IG1lc3NhZ2UnICcKKwl0ZXN0X2NvbmZpZyBicmFuY2gucmVidWlsZC0xLmRlc2NyaXB0aW9uICJjb25maWcgc3ViamVjdAorCitib2R5IiAmJgorCXRlc3RfY29uZmlnIGZvcm1hdC5jb3ZlckZyb21EZXNjcmlwdGlvbiBtZXNzYWdlICYmCisJZ2l0IGNoZWNrb3V0IHJlYnVpbGQtMSAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgLS1jb3Zlci1sZXR0ZXIgbWFzdGVyID5hY3R1YWwgJiYKKwlncmVwICJeU3ViamVjdDogXFtQQVRDSCAwLzJcXSBcKlwqXCogU1VCSkVDVCBIRVJFIFwqXCpcKiQiIGFjdHVhbCAmJgorCSEgZ3JlcCAiXlwqXCpcKiBCTFVSQiBIRVJFIFwqXCpcKiQiIGFjdHVhbCAmJgorCWdyZXAgIl5jb25maWcgc3ViamVjdCQiIGFjdHVhbCAmJgorCWdyZXAgIl5ib2R5JCIgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvdmVyIGxldHRlciB3aXRoIC0tY292ZXItZnJvbS1kZXNjcmlwdGlvbiBtZXNzYWdlJyAnCisJdGVzdF9jb25maWcgYnJhbmNoLnJlYnVpbGQtMS5kZXNjcmlwdGlvbiAiY29uZmlnIHN1YmplY3QKKworYm9keSIgJiYKKwlnaXQgY2hlY2tvdXQgcmVidWlsZC0xICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtLWNvdmVyLWxldHRlciAtLWNvdmVyLWZyb20tZGVzY3JpcHRpb24gbWVzc2FnZSBtYXN0ZXIgPmFjdHVhbCAmJgorCWdyZXAgIl5TdWJqZWN0OiBcW1BBVENIIDAvMlxdIFwqXCpcKiBTVUJKRUNUIEhFUkUgXCpcKlwqJCIgYWN0dWFsICYmCisJISBncmVwICJeXCpcKlwqIEJMVVJCIEhFUkUgXCpcKlwqJCIgYWN0dWFsICYmCisJZ3JlcCAiXmNvbmZpZyBzdWJqZWN0JCIgYWN0dWFsICYmCisJZ3JlcCAiXmJvZHkkIiBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY292ZXIgbGV0dGVyIHdpdGggZm9ybWF0LmNvdmVyRnJvbURlc2NyaXB0aW9uID0gc3ViamVjdCcgJworCXRlc3RfY29uZmlnIGJyYW5jaC5yZWJ1aWxkLTEuZGVzY3JpcHRpb24gImNvbmZpZyBzdWJqZWN0CisKK2JvZHkiICYmCisJdGVzdF9jb25maWcgZm9ybWF0LmNvdmVyRnJvbURlc2NyaXB0aW9uIHN1YmplY3QgJiYKKwlnaXQgY2hlY2tvdXQgcmVidWlsZC0xICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtLWNvdmVyLWxldHRlciBtYXN0ZXIgPmFjdHVhbCAmJgorCWdyZXAgIl5TdWJqZWN0OiBcW1BBVENIIDAvMlxdIGNvbmZpZyBzdWJqZWN0JCIgYWN0dWFsICYmCisJISBncmVwICJeXCpcKlwqIEJMVVJCIEhFUkUgXCpcKlwqJCIgYWN0dWFsICYmCisJISBncmVwICJeY29uZmlnIHN1YmplY3QkIiBhY3R1YWwgJiYKKwlncmVwICJeYm9keSQiIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3ZlciBsZXR0ZXIgd2l0aCAtLWNvdmVyLWZyb20tZGVzY3JpcHRpb24gc3ViamVjdCcgJworCXRlc3RfY29uZmlnIGJyYW5jaC5yZWJ1aWxkLTEuZGVzY3JpcHRpb24gImNvbmZpZyBzdWJqZWN0CisKK2JvZHkiICYmCisJZ2l0IGNoZWNrb3V0IHJlYnVpbGQtMSAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgLS1jb3Zlci1sZXR0ZXIgLS1jb3Zlci1mcm9tLWRlc2NyaXB0aW9uIHN1YmplY3QgbWFzdGVyID5hY3R1YWwgJiYKKwlncmVwICJeU3ViamVjdDogXFtQQVRDSCAwLzJcXSBjb25maWcgc3ViamVjdCQiIGFjdHVhbCAmJgorCSEgZ3JlcCAiXlwqXCpcKiBCTFVSQiBIRVJFIFwqXCpcKiQiIGFjdHVhbCAmJgorCSEgZ3JlcCAiXmNvbmZpZyBzdWJqZWN0JCIgYWN0dWFsICYmCisJZ3JlcCAiXmJvZHkkIiBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY292ZXIgbGV0dGVyIHdpdGggZm9ybWF0LmNvdmVyRnJvbURlc2NyaXB0aW9uID0gYXV0byAoc2hvcnQgc3ViamVjdCBsaW5lKScgJworCXRlc3RfY29uZmlnIGJyYW5jaC5yZWJ1aWxkLTEuZGVzY3JpcHRpb24gImNvbmZpZyBzdWJqZWN0CisKK2JvZHkiICYmCisJdGVzdF9jb25maWcgZm9ybWF0LmNvdmVyRnJvbURlc2NyaXB0aW9uIGF1dG8gJiYKKwlnaXQgY2hlY2tvdXQgcmVidWlsZC0xICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtLWNvdmVyLWxldHRlciBtYXN0ZXIgPmFjdHVhbCAmJgorCWdyZXAgIl5TdWJqZWN0OiBcW1BBVENIIDAvMlxdIGNvbmZpZyBzdWJqZWN0JCIgYWN0dWFsICYmCisJISBncmVwICJeXCpcKlwqIEJMVVJCIEhFUkUgXCpcKlwqJCIgYWN0dWFsICYmCisJISBncmVwICJeY29uZmlnIHN1YmplY3QkIiBhY3R1YWwgJiYKKwlncmVwICJeYm9keSQiIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3ZlciBsZXR0ZXIgd2l0aCAtLWNvdmVyLWZyb20tZGVzY3JpcHRpb24gYXV0byAoc2hvcnQgc3ViamVjdCBsaW5lKScgJworCXRlc3RfY29uZmlnIGJyYW5jaC5yZWJ1aWxkLTEuZGVzY3JpcHRpb24gImNvbmZpZyBzdWJqZWN0CisKK2JvZHkiICYmCisJZ2l0IGNoZWNrb3V0IHJlYnVpbGQtMSAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgLS1jb3Zlci1sZXR0ZXIgLS1jb3Zlci1mcm9tLWRlc2NyaXB0aW9uIGF1dG8gbWFzdGVyID5hY3R1YWwgJiYKKwlncmVwICJeU3ViamVjdDogXFtQQVRDSCAwLzJcXSBjb25maWcgc3ViamVjdCQiIGFjdHVhbCAmJgorCSEgZ3JlcCAiXlwqXCpcKiBCTFVSQiBIRVJFIFwqXCpcKiQiIGFjdHVhbCAmJgorCSEgZ3JlcCAiXmNvbmZpZyBzdWJqZWN0JCIgYWN0dWFsICYmCisJZ3JlcCAiXmJvZHkkIiBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY292ZXIgbGV0dGVyIHdpdGggZm9ybWF0LmNvdmVyRnJvbURlc2NyaXB0aW9uID0gYXV0byAobG9uZyBzdWJqZWN0IGxpbmUpJyAnCisJdGVzdF9jb25maWcgYnJhbmNoLnJlYnVpbGQtMS5kZXNjcmlwdGlvbiAidGhpcyBpcyBhIHJlYWxseSBsb25nIGZpcnN0IGxpbmUgYW5kIGl0IGlzIG92ZXIgMTAwIGNoYXJhY3RlcnMgbG9uZyB3aGljaCBpcyB0aGUgdGhyZXNob2xkIGZvciBsb25nIHN1YmplY3RzCisKK2JvZHkiICYmCisJdGVzdF9jb25maWcgZm9ybWF0LmNvdmVyRnJvbURlc2NyaXB0aW9uIGF1dG8gJiYKKwlnaXQgY2hlY2tvdXQgcmVidWlsZC0xICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtLWNvdmVyLWxldHRlciBtYXN0ZXIgPmFjdHVhbCAmJgorCWdyZXAgIl5TdWJqZWN0OiBcW1BBVENIIDAvMlxdIFwqXCpcKiBTVUJKRUNUIEhFUkUgXCpcKlwqJCIgYWN0dWFsICYmCisJISBncmVwICJeXCpcKlwqIEJMVVJCIEhFUkUgXCpcKlwqJCIgYWN0dWFsICYmCisJZ3JlcCAiXnRoaXMgaXMgYSByZWFsbHkgbG9uZyBmaXJzdCBsaW5lIGFuZCBpdCBpcyBvdmVyIDEwMCBjaGFyYWN0ZXJzIGxvbmcgd2hpY2ggaXMgdGhlIHRocmVzaG9sZCBmb3IgbG9uZyBzdWJqZWN0cyQiIGFjdHVhbCAmJgorCWdyZXAgIl5ib2R5JCIgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvdmVyIGxldHRlciB3aXRoIC0tY292ZXItZnJvbS1kZXNjcmlwdGlvbiBhdXRvIChsb25nIHN1YmplY3QgbGluZSknICcKKwl0ZXN0X2NvbmZpZyBicmFuY2gucmVidWlsZC0xLmRlc2NyaXB0aW9uICJ0aGlzIGlzIGEgcmVhbGx5IGxvbmcgZmlyc3QgbGluZSBhbmQgaXQgaXMgb3ZlciAxMDAgY2hhcmFjdGVycyBsb25nIHdoaWNoIGlzIHRoZSB0aHJlc2hvbGQgZm9yIGxvbmcgc3ViamVjdHMKKworYm9keSIgJiYKKwlnaXQgY2hlY2tvdXQgcmVidWlsZC0xICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtLWNvdmVyLWxldHRlciAtLWNvdmVyLWZyb20tZGVzY3JpcHRpb24gYXV0byBtYXN0ZXIgPmFjdHVhbCAmJgorCWdyZXAgIl5TdWJqZWN0OiBcW1BBVENIIDAvMlxdIFwqXCpcKiBTVUJKRUNUIEhFUkUgXCpcKlwqJCIgYWN0dWFsICYmCisJISBncmVwICJeXCpcKlwqIEJMVVJCIEhFUkUgXCpcKlwqJCIgYWN0dWFsICYmCisJZ3JlcCAiXnRoaXMgaXMgYSByZWFsbHkgbG9uZyBmaXJzdCBsaW5lIGFuZCBpdCBpcyBvdmVyIDEwMCBjaGFyYWN0ZXJzIGxvbmcgd2hpY2ggaXMgdGhlIHRocmVzaG9sZCBmb3IgbG9uZyBzdWJqZWN0cyQiIGFjdHVhbCAmJgorCWdyZXAgIl5ib2R5JCIgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvdmVyIGxldHRlciB3aXRoIGNvbW1hbmQtbGluZSAtLWNvdmVyLWZyb20tZGVzY3JpcHRpb24gb3ZlcnJpZGVzIGNvbmZpZycgJworCXRlc3RfY29uZmlnIGJyYW5jaC5yZWJ1aWxkLTEuZGVzY3JpcHRpb24gImNvbmZpZyBzdWJqZWN0CisKK2JvZHkiICYmCisJdGVzdF9jb25maWcgZm9ybWF0LmNvdmVyRnJvbURlc2NyaXB0aW9uIG5vbmUgJiYKKwlnaXQgY2hlY2tvdXQgcmVidWlsZC0xICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtLWNvdmVyLWxldHRlciAtLWNvdmVyLWZyb20tZGVzY3JpcHRpb24gc3ViamVjdCBtYXN0ZXIgPmFjdHVhbCAmJgorCWdyZXAgIl5TdWJqZWN0OiBcW1BBVENIIDAvMlxdIGNvbmZpZyBzdWJqZWN0JCIgYWN0dWFsICYmCisJISBncmVwICJeXCpcKlwqIEJMVVJCIEhFUkUgXCpcKlwqJCIgYWN0dWFsICYmCisJISBncmVwICJeY29uZmlnIHN1YmplY3QkIiBhY3R1YWwgJiYKKwlncmVwICJeYm9keSQiIGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3ZlciBsZXR0ZXIgdXNpbmcgYnJhbmNoIGRlc2NyaXB0aW9uICgxKScgJwogCWdpdCBjaGVja291dCByZWJ1aWxkLTEgJiYKIAl0ZXN0X2NvbmZpZyBicmFuY2gucmVidWlsZC0xLmRlc2NyaXB0aW9uIGhlbGxvICYmCiAJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtLWNvdmVyLWxldHRlciBtYXN0ZXIgPmFjdHVhbCAmJgotCWdyZXAgaGVsbG8gYWN0dWFsID4vZGV2L251bGwKKwlncmVwIGhlbGxvIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3ZlciBsZXR0ZXIgdXNpbmcgYnJhbmNoIGRlc2NyaXB0aW9uICgyKScgJwogCWdpdCBjaGVja291dCByZWJ1aWxkLTEgJiYKIAl0ZXN0X2NvbmZpZyBicmFuY2gucmVidWlsZC0xLmRlc2NyaXB0aW9uIGhlbGxvICYmCiAJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtLWNvdmVyLWxldHRlciByZWJ1aWxkLTF+Mi4ucmVidWlsZC0xID5hY3R1YWwgJiYKLQlncmVwIGhlbGxvIGFjdHVhbCA+L2Rldi9udWxsCisJZ3JlcCBoZWxsbyBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY292ZXIgbGV0dGVyIHVzaW5nIGJyYW5jaCBkZXNjcmlwdGlvbiAoMyknICcKIAlnaXQgY2hlY2tvdXQgcmVidWlsZC0xICYmCiAJdGVzdF9jb25maWcgYnJhbmNoLnJlYnVpbGQtMS5kZXNjcmlwdGlvbiBoZWxsbyAmJgogCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgLS1jb3Zlci1sZXR0ZXIgXm1hc3RlciByZWJ1aWxkLTEgPmFjdHVhbCAmJgotCWdyZXAgaGVsbG8gYWN0dWFsID4vZGV2L251bGwKKwlncmVwIGhlbGxvIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3ZlciBsZXR0ZXIgdXNpbmcgYnJhbmNoIGRlc2NyaXB0aW9uICg0KScgJwogCWdpdCBjaGVja291dCByZWJ1aWxkLTEgJiYKIAl0ZXN0X2NvbmZpZyBicmFuY2gucmVidWlsZC0xLmRlc2NyaXB0aW9uIGhlbGxvICYmCiAJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtLWNvdmVyLWxldHRlciBtYXN0ZXIuLiA+YWN0dWFsICYmCi0JZ3JlcCBoZWxsbyBhY3R1YWwgPi9kZXYvbnVsbAorCWdyZXAgaGVsbG8gYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvdmVyIGxldHRlciB1c2luZyBicmFuY2ggZGVzY3JpcHRpb24gKDUpJyAnCiAJZ2l0IGNoZWNrb3V0IHJlYnVpbGQtMSAmJgogCXRlc3RfY29uZmlnIGJyYW5jaC5yZWJ1aWxkLTEuZGVzY3JpcHRpb24gaGVsbG8gJiYKIAlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IC0tY292ZXItbGV0dGVyIC0yIEhFQUQgPmFjdHVhbCAmJgotCWdyZXAgaGVsbG8gYWN0dWFsID4vZGV2L251bGwKKwlncmVwIGhlbGxvIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3ZlciBsZXR0ZXIgdXNpbmcgYnJhbmNoIGRlc2NyaXB0aW9uICg2KScgJwogCWdpdCBjaGVja291dCByZWJ1aWxkLTEgJiYKIAl0ZXN0X2NvbmZpZyBicmFuY2gucmVidWlsZC0xLmRlc2NyaXB0aW9uIGhlbGxvICYmCiAJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtLWNvdmVyLWxldHRlciAtMiA+YWN0dWFsICYmCi0JZ3JlcCBoZWxsbyBhY3R1YWwgPi9kZXYvbnVsbAorCWdyZXAgaGVsbG8gYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvdmVyIGxldHRlciB3aXRoIG5vdGhpbmcnICcKQEAgLTE1MzcsMTEgKzE4MTAsMzkgQEAKIAl0ZXN0X2NtcCBmcm9tIGZpbHRlcmVkCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC1wYXRjaCAtbyB3aXRoIG5vIGxlYWRpbmcgZGlyZWN0b3JpZXMnICcKKwlybSAtZnIgcGF0Y2hlcyAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLW8gcGF0Y2hlcyBtYXN0ZXIuLnNpZGUgJiYKKwljb3VudD0kKGdpdCByZXYtbGlzdCAtLWNvdW50IG1hc3Rlci4uc2lkZSkgJiYKKwlscyBwYXRjaGVzID5saXN0ICYmCisJdGVzdF9saW5lX2NvdW50ID0gJGNvdW50IGxpc3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9ybWF0LXBhdGNoIC1vIHdpdGggbGVhZGluZyBleGlzdGluZyBkaXJlY3RvcmllcycgJworCXJtIC1yZiBleGlzdGluZy1kaXIgJiYKKwlta2RpciBleGlzdGluZy1kaXIgJiYKKwlnaXQgZm9ybWF0LXBhdGNoIC1vIGV4aXN0aW5nLWRpci9wYXRjaGVzIG1hc3Rlci4uc2lkZSAmJgorCWNvdW50PSQoZ2l0IHJldi1saXN0IC0tY291bnQgbWFzdGVyLi5zaWRlKSAmJgorCWxzIGV4aXN0aW5nLWRpci9wYXRjaGVzID5saXN0ICYmCisJdGVzdF9saW5lX2NvdW50ID0gJGNvdW50IGxpc3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9ybWF0LXBhdGNoIC1vIHdpdGggbGVhZGluZyBub24tZXhpc3RpbmcgZGlyZWN0b3JpZXMnICcKKwlybSAtcmYgbm9uLWV4aXN0aW5nLWRpciAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLW8gbm9uLWV4aXN0aW5nLWRpci9wYXRjaGVzIG1hc3Rlci4uc2lkZSAmJgorCWNvdW50PSQoZ2l0IHJldi1saXN0IC0tY291bnQgbWFzdGVyLi5zaWRlKSAmJgorCXRlc3RfcGF0aF9pc19kaXIgbm9uLWV4aXN0aW5nLWRpciAmJgorCWxzIG5vbi1leGlzdGluZy1kaXIvcGF0Y2hlcyA+bGlzdCAmJgorCXRlc3RfbGluZV9jb3VudCA9ICRjb3VudCBsaXN0CisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC1wYXRjaCBmb3JtYXQub3V0cHV0RGlyZWN0b3J5IG9wdGlvbicgJwogCXRlc3RfY29uZmlnIGZvcm1hdC5vdXRwdXREaXJlY3RvcnkgcGF0Y2hlcyAmJgogCXJtIC1mciBwYXRjaGVzICYmCiAJZ2l0IGZvcm1hdC1wYXRjaCBtYXN0ZXIuLnNpZGUgJiYKLQl0ZXN0ICQoZ2l0IHJldi1saXN0IG1hc3Rlci4uc2lkZSB8IHdjIC1sKSAtZXEgJChscyBwYXRjaGVzIHwgd2MgLWwpCisJY291bnQ9JChnaXQgcmV2LWxpc3QgLS1jb3VudCBtYXN0ZXIuLnNpZGUpICYmCisJbHMgcGF0Y2hlcyA+bGlzdCAmJgorCXRlc3RfbGluZV9jb3VudCA9ICRjb3VudCBsaXN0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC1wYXRjaCAtbyBvdmVycmlkZXMgZm9ybWF0Lm91dHB1dERpcmVjdG9yeScgJwpAQCAtMTU1MywxNiArMTg1NCw0NCBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JtYXQtcGF0Y2ggLS1iYXNlJyAnCi0JZ2l0IGNoZWNrb3V0IHNpZGUgJiYKLQlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IC0tYmFzZT1IRUFEfjMgLTEgfCB0YWlsIC1uIDcgPmFjdHVhbDEgJiYKLQlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IC0tYmFzZT1IRUFEfjMgSEVBRH4uLiB8IHRhaWwgLW4gNyA+YWN0dWFsMiAmJgotCWVjaG8gPmV4cGVjdGVkICYmCi0JZWNobyAiYmFzZS1jb21taXQ6ICQoZ2l0IHJldi1wYXJzZSBIRUFEfjMpIiA+PmV4cGVjdGVkICYmCi0JZWNobyAicHJlcmVxdWlzaXRlLXBhdGNoLWlkOiAkKGdpdCBzaG93IC0tcGF0Y2ggSEVBRH4yIHwgZ2l0IHBhdGNoLWlkIC0tc3RhYmxlIHwgYXdrICJ7cHJpbnQgXCQxfSIpIiA+PmV4cGVjdGVkICYmCi0JZWNobyAicHJlcmVxdWlzaXRlLXBhdGNoLWlkOiAkKGdpdCBzaG93IC0tcGF0Y2ggSEVBRH4xIHwgZ2l0IHBhdGNoLWlkIC0tc3RhYmxlIHwgYXdrICJ7cHJpbnQgXCQxfSIpIiA+PmV4cGVjdGVkICYmCi0Jc2lnbmF0dXJlID4+IGV4cGVjdGVkICYmCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsMSAmJgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbDIKKwlnaXQgY2hlY2tvdXQgcGF0Y2hpZCAmJgorCisJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtLWJhc2U9SEVBRH4zIC0xID5wYXRjaCAmJgorCXRhaWwgLW4gNyBwYXRjaCA+YWN0dWFsMSAmJgorCisJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtLWJhc2U9SEVBRH4zIEhFQUR+Li4gPnBhdGNoICYmCisJdGFpbCAtbiA3IHBhdGNoID5hY3R1YWwyICYmCisKKwllY2hvID5leHBlY3QgJiYKKwlnaXQgcmV2LXBhcnNlIEhFQUR+MyA+Y29tbWl0LWlkLWJhc2UgJiYKKwllY2hvICJiYXNlLWNvbW1pdDogJChjYXQgY29tbWl0LWlkLWJhc2UpIiA+PmV4cGVjdCAmJgorCisJZ2l0IHNob3cgLS1wYXRjaCBIRUFEfjIgPnBhdGNoICYmCisJZ2l0IHBhdGNoLWlkIC0tc3RhYmxlIDxwYXRjaCA+cGF0Y2guaWQucmF3ICYmCisJYXdrICJ7cHJpbnQgXCJwcmVyZXF1aXNpdGUtcGF0Y2gtaWQ6XCIsIFwkMX0iIDxwYXRjaC5pZC5yYXcgPj5leHBlY3QgJiYKKworCWdpdCBzaG93IC0tcGF0Y2ggSEVBRH4xID5wYXRjaCAmJgorCWdpdCBwYXRjaC1pZCAtLXN0YWJsZSA8cGF0Y2ggPnBhdGNoLmlkLnJhdyAmJgorCWF3ayAie3ByaW50IFwicHJlcmVxdWlzaXRlLXBhdGNoLWlkOlwiLCBcJDF9IiA8cGF0Y2guaWQucmF3ID4+ZXhwZWN0ICYmCisKKwlzaWduYXR1cmUgPj5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsMSAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwyICYmCisKKwllY2hvID5mYWlsICYmCisJZWNobyAiYmFzZS1jb21taXQ6ICQoY2F0IGNvbW1pdC1pZC1iYXNlKSIgPj5mYWlsICYmCisKKwlnaXQgc2hvdyAtLXBhdGNoIEhFQUR+MiA+cGF0Y2ggJiYKKwlnaXQgcGF0Y2gtaWQgLS11bnN0YWJsZSA8cGF0Y2ggPnBhdGNoLmlkLnJhdyAmJgorCWF3ayAie3ByaW50IFwicHJlcmVxdWlzaXRlLXBhdGNoLWlkOlwiLCBcJDF9IiA8cGF0Y2guaWQucmF3ID4+ZmFpbCAmJgorCisJZ2l0IHNob3cgLS1wYXRjaCBIRUFEfjEgPnBhdGNoICYmCisJZ2l0IHBhdGNoLWlkIC0tdW5zdGFibGUgPHBhdGNoID5wYXRjaC5pZC5yYXcgJiYKKwlhd2sgIntwcmludCBcInByZXJlcXVpc2l0ZS1wYXRjaC1pZDpcIiwgXCQxfSIgPHBhdGNoLmlkLnJhdyA+PmZhaWwgJiYKKworCXNpZ25hdHVyZSA+PmZhaWwgJiYKKwkhIHRlc3RfY21wIGZhaWwgYWN0dWFsMSAmJgorCSEgdGVzdF9jbXAgZmFpbCBhY3R1YWwyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC1wYXRjaCAtLWJhc2UgZXJyb3JzIG91dCB3aGVuIGJhc2UgY29tbWl0IGlzIGluIHJldmlzaW9uIGxpc3QnICcKQEAgLTE1NzAsOCArMTg5OSw5IEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZvcm1hdC1wYXRjaCAtLWJhc2U9SEVBRH4xIC0yICYmCiAJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtLWJhc2U9SEVBRH4yIC0yID5wYXRjaCAmJgogCWdyZXAgIl5iYXNlLWNvbW1pdDoiIHBhdGNoID5hY3R1YWwgJiYKLQllY2hvICJiYXNlLWNvbW1pdDogJChnaXQgcmV2LXBhcnNlIEhFQUR+MikiID5leHBlY3RlZCAmJgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCWdpdCByZXYtcGFyc2UgSEVBRH4yID5jb21taXQtaWQtYmFzZSAmJgorCWVjaG8gImJhc2UtY29tbWl0OiAkKGNhdCBjb21taXQtaWQtYmFzZSkiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC1wYXRjaCAtLWJhc2UgZXJyb3JzIG91dCB3aGVuIGJhc2UgY29tbWl0IGlzIG5vdCBhbmNlc3RvciBvZiByZXZpc2lvbiBsaXN0JyAnCkBAIC0xNTk3LDggKzE5MjcsOCBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBmb3JtYXQtcGF0Y2ggLS1iYXNlPSQoY2F0IGNvbW1pdC1pZC1aKSAtMyAmJgogCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgLS1iYXNlPSQoY2F0IGNvbW1pdC1pZC1iYXNlKSAtMyA+cGF0Y2ggJiYKIAlncmVwICJeYmFzZS1jb21taXQ6IiBwYXRjaCA+YWN0dWFsICYmCi0JZWNobyAiYmFzZS1jb21taXQ6ICQoY2F0IGNvbW1pdC1pZC1iYXNlKSIgPmV4cGVjdGVkICYmCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJZWNobyAiYmFzZS1jb21taXQ6ICQoY2F0IGNvbW1pdC1pZC1iYXNlKSIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9ybWF0LXBhdGNoIC0tYmFzZT1hdXRvJyAnCkBAIC0xNjA5LDggKzE5MzksOSBAQAogCXRlc3RfY29tbWl0IE4yICYmCiAJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtLWJhc2U9YXV0byAtMiA+cGF0Y2ggJiYKIAlncmVwICJeYmFzZS1jb21taXQ6IiBwYXRjaCA+YWN0dWFsICYmCi0JZWNobyAiYmFzZS1jb21taXQ6ICQoZ2l0IHJldi1wYXJzZSB1cHN0cmVhbSkiID5leHBlY3RlZCAmJgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCWdpdCByZXYtcGFyc2UgdXBzdHJlYW0gPmNvbW1pdC1pZC1iYXNlICYmCisJZWNobyAiYmFzZS1jb21taXQ6ICQoY2F0IGNvbW1pdC1pZC1iYXNlKSIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9ybWF0LXBhdGNoIGVycm9ycyBvdXQgd2hlbiBoaXN0b3J5IGludm9sdmVzIGNyaXNzLWNyb3NzJyAnCkBAIC0xNjQwLDIzICsxOTcxLDI5IEBACiAJdGVzdF9tdXN0X2ZhaWwgCWdpdCBmb3JtYXQtcGF0Y2ggLS1iYXNlPWF1dG8gLTEKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9ybWF0LXBhdGNoIGZvcm1hdC51c2VBdXRvQmFzZW9wdGlvbicgJwotCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IGNvbmZpZyAtLXVuc2V0IGZvcm1hdC51c2VBdXRvQmFzZSIgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zvcm1hdC1wYXRjaCBmb3JtYXQudXNlQXV0b0Jhc2Ugb3B0aW9uJyAnCiAJZ2l0IGNoZWNrb3V0IGxvY2FsICYmCi0JZ2l0IGNvbmZpZyBmb3JtYXQudXNlQXV0b0Jhc2UgdHJ1ZSAmJgorCXRlc3RfY29uZmlnIGZvcm1hdC51c2VBdXRvQmFzZSB0cnVlICYmCiAJZ2l0IGZvcm1hdC1wYXRjaCAtLXN0ZG91dCAtMSA+cGF0Y2ggJiYKIAlncmVwICJeYmFzZS1jb21taXQ6IiBwYXRjaCA+YWN0dWFsICYmCi0JZWNobyAiYmFzZS1jb21taXQ6ICQoZ2l0IHJldi1wYXJzZSB1cHN0cmVhbSkiID5leHBlY3RlZCAmJgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCWdpdCByZXYtcGFyc2UgdXBzdHJlYW0gPmNvbW1pdC1pZC1iYXNlICYmCisJZWNobyAiYmFzZS1jb21taXQ6ICQoY2F0IGNvbW1pdC1pZC1iYXNlKSIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9ybWF0LXBhdGNoIC0tYmFzZSBvdmVycmlkZXMgZm9ybWF0LnVzZUF1dG9CYXNlJyAnCi0JdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY29uZmlnIC0tdW5zZXQgZm9ybWF0LnVzZUF1dG9CYXNlIiAmJgotCWdpdCBjb25maWcgZm9ybWF0LnVzZUF1dG9CYXNlIHRydWUgJiYKKwl0ZXN0X2NvbmZpZyBmb3JtYXQudXNlQXV0b0Jhc2UgdHJ1ZSAmJgogCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgLS1iYXNlPUhFQUR+MSAtMSA+cGF0Y2ggJiYKIAlncmVwICJeYmFzZS1jb21taXQ6IiBwYXRjaCA+YWN0dWFsICYmCi0JZWNobyAiYmFzZS1jb21taXQ6ICQoZ2l0IHJldi1wYXJzZSBIRUFEfjEpIiA+ZXhwZWN0ZWQgJiYKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlnaXQgcmV2LXBhcnNlIEhFQUR+MSA+Y29tbWl0LWlkLWJhc2UgJiYKKwllY2hvICJiYXNlLWNvbW1pdDogJChjYXQgY29tbWl0LWlkLWJhc2UpIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JtYXQtcGF0Y2ggLS1uby1iYXNlIG92ZXJyaWRlcyBmb3JtYXQudXNlQXV0b0Jhc2UnICcKKwl0ZXN0X2NvbmZpZyBmb3JtYXQudXNlQXV0b0Jhc2UgdHJ1ZSAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgLS1uby1iYXNlIC0xID5wYXRjaCAmJgorCSEgZ3JlcCAiXmJhc2UtY29tbWl0OiIgcGF0Y2gKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZm9ybWF0LXBhdGNoIC0tYmFzZSB3aXRoIC0tYXR0YWNoJyAnCkBAIC0xNzMxLDcgKzIwNjgsNyBAQAogCWdpdCBmb3JtYXQtcGF0Y2ggLS1jb3Zlci1sZXR0ZXIgLS1pbnRlcmRpZmY9Ym9vcH4yIC0xIGJvb3AgJiYKIAl0ZXN0X2kxOG5ncmVwICJeSW50ZXJkaWZmOiQiIDAwMDAtY292ZXItbGV0dGVyLnBhdGNoICYmCiAJdGVzdF9pMThuZ3JlcCAhICJeSW50ZXJkaWZmOiQiIDAwMDEtZmxlZXAucGF0Y2ggJiYKLQlzZWQgIjEsL15AQCAvZDsgL14tLSAkL3EiIDwwMDAwLWNvdmVyLWxldHRlci5wYXRjaCA+YWN0dWFsICYmCisJc2VkICIxLC9eQEAgL2Q7IC9eLS0gJC9xIiAwMDAwLWNvdmVyLWxldHRlci5wYXRjaCA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCkBAIC0xNzQ3LDcgKzIwODQsNyBAQAogCUVPRgogCWdpdCBmb3JtYXQtcGF0Y2ggLS1pbnRlcmRpZmY9Ym9vcH4yIC0xIGJvb3AgJiYKIAl0ZXN0X2kxOG5ncmVwICJeSW50ZXJkaWZmOiQiIDAwMDEtZmxlZXAucGF0Y2ggJiYKLQlzZWQgIjEsL14gIEBAIC9kOyAvXiQvcSIgPDAwMDEtZmxlZXAucGF0Y2ggPmFjdHVhbCAmJgorCXNlZCAiMSwvXiAgQEAgL2Q7IC9eJC9xIiAwMDAxLWZsZWVwLnBhdGNoID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKZGlmZiAtLWdpdCBhL3QvdDQwMTUtZGlmZi13aGl0ZXNwYWNlLnNoIGIvdC90NDAxNS1kaWZmLXdoaXRlc3BhY2Uuc2gKaW5kZXggYTlmYjIyNi4uODhkMzAyNiAxMDA3NTUKLS0tIGEvdC90NDAxNS1kaWZmLXdoaXRlc3BhY2Uuc2gKKysrIGIvdC90NDAxNS1kaWZmLXdoaXRlc3BhY2Uuc2gKQEAgLTE2LDYgKzE2LDggQEAKIAl9IHdoaWxlICgwKTsKIAlFT0YKIAlnaXQgdXBkYXRlLWluZGV4IC0tYWRkIHggJiYKKwlvbGRfaGFzaF94PSQoZ2l0IGhhc2gtb2JqZWN0IHgpICYmCisJYmVmb3JlPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0ICIkb2xkX2hhc2hfeCIpICYmCiAKIAljYXQgPDwtXEVPRiA+eCAmJgogCWRvCkBAIC0yNCwxMCArMjYsMTIgQEAKIAl9CiAJd2hpbGUgKDApOwogCUVPRgorCW5ld19oYXNoX3g9JChnaXQgaGFzaC1vYmplY3QgeCkgJiYKKwlhZnRlcj0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCAiJG5ld19oYXNoX3giKSAmJgogCi0JY2F0IDw8LVxFT0YgPmV4cGVjdCAmJgorCWNhdCA8PC1FT0YgPmV4cGVjdCAmJgogCWRpZmYgLS1naXQgYS94IGIveAotCWluZGV4IGFkZjM5MzcuLjZlZGMxNzIgMTAwNjQ0CisJaW5kZXggJGJlZm9yZS4uJGFmdGVyIDEwMDY0NAogCS0tLSBhL3gKIAkrKysgYi94CiAJQEAgLTEsMyArMSw1IEBACkBAIC02MSw2ICs2NSw4IEBACiAJRU9GCiAKIAlnaXQgdXBkYXRlLWluZGV4IHggJiYKKwlvbGRfaGFzaF94PSQoZ2l0IGhhc2gtb2JqZWN0IHgpICYmCisJYmVmb3JlPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0ICIkb2xkX2hhc2hfeCIpICYmCiAKIAl0ciAiXyIgIiAiIDw8LVxFT0YgPnggJiYKIAlfCXdoaXRlc3BhY2UgYXQgYmVnaW5uaW5nCkBAIC03MCwxMCArNzYsMTIgQEAKIAl1bmNoYW5nZWQgbGluZQogCUNSIGF0IGVuZAogCUVPRgorCW5ld19oYXNoX3g9JChnaXQgaGFzaC1vYmplY3QgeCkgJiYKKwlhZnRlcj0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCAiJG5ld19oYXNoX3giKSAmJgogCi0JdHIgIlFfIiAiXDAxNSAiIDw8LVxFT0YgPmV4cGVjdCAmJgorCXRyICJRXyIgIlwwMTUgIiA8PC1FT0YgPmV4cGVjdCAmJgogCWRpZmYgLS1naXQgYS94IGIveAotCWluZGV4IGQ5OWFmMjMuLjIyZDlmNzMgMTAwNjQ0CisJaW5kZXggJGJlZm9yZS4uJGFmdGVyIDEwMDY0NAogCS0tLSBhL3gKIAkrKysgYi94CiAJQEAgLTEsNiArMSw2IEBACkBAIC0xMDgsOSArMTE2LDkgQEAKIAlnaXQgZGlmZiAtdyAtLWlnbm9yZS1jci1hdC1lb2wgPm91dCAmJgogCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXQgJiYKIAotCXRyICJRXyIgIlwwMTUgIiA8PC1cRU9GID5leHBlY3QgJiYKKwl0ciAiUV8iICJcMDE1ICIgPDwtRU9GID5leHBlY3QgJiYKIAlkaWZmIC0tZ2l0IGEveCBiL3gKLQlpbmRleCBkOTlhZjIzLi4yMmQ5ZjczIDEwMDY0NAorCWluZGV4ICRiZWZvcmUuLiRhZnRlciAxMDA2NDQKIAktLS0gYS94CiAJKysrIGIveAogCUBAIC0xLDYgKzEsNiBAQApAQCAtMTMyLDkgKzE0MCw5IEBACiAJZ2l0IGRpZmYgLWIgLS1pZ25vcmUtY3ItYXQtZW9sID5vdXQgJiYKIAl0ZXN0X2NtcCBleHBlY3Qgb3V0ICYmCiAKLQl0ciAiUV8iICJcMDE1ICIgPDwtXEVPRiA+ZXhwZWN0ICYmCisJdHIgIlFfIiAiXDAxNSAiIDw8LUVPRiA+ZXhwZWN0ICYmCiAJZGlmZiAtLWdpdCBhL3ggYi94Ci0JaW5kZXggZDk5YWYyMy4uMjJkOWY3MyAxMDA2NDQKKwlpbmRleCAkYmVmb3JlLi4kYWZ0ZXIgMTAwNjQ0CiAJLS0tIGEveAogCSsrKyBiL3gKIAlAQCAtMSw2ICsxLDYgQEAKQEAgLTE1NCw5ICsxNjIsOSBAQAogCWdpdCBkaWZmIC0taWdub3JlLXNwYWNlLWF0LWVvbCAtLWlnbm9yZS1jci1hdC1lb2wgPm91dCAmJgogCXRlc3RfY21wIGV4cGVjdCBvdXQgJiYKIAotCXRyICJRXyIgIlwwMTUgIiA8PC1cRU9GID5leHBlY3QgJiYKKwl0ciAiUV8iICJcMDE1ICIgPDwtRU9GID5leHBlY3QgJiYKIAlkaWZmIC0tZ2l0IGEveCBiL3gKLQlpbmRleF9kOTlhZjIzLi4yMmQ5ZjczIDEwMDY0NAorCWluZGV4XyRiZWZvcmUuLiRhZnRlciAxMDA2NDQKIAktLS0gYS94CiAJKysrIGIveAogCUBAIC0xLDYgKzEsNiBAQApAQCAtNTIyLDEzICs1MzAsMTUgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrIG1peGVkIHNwYWNlcyBhbmQgdGFicyBpbiBpbmRlbnQnICcKIAkjIFRoaXMgaXMgaW5kZW50ZWQgd2l0aCBTUCBIVCBTUC4KIAllY2hvICIgCSBmb28oKTsiID54ICYmCi0JZ2l0IGRpZmYgLS1jaGVjayB8IGdyZXAgInNwYWNlIGJlZm9yZSB0YWIgaW4gaW5kZW50IgorCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmIC0tY2hlY2sgPmNoZWNrICYmCisJZ3JlcCAic3BhY2UgYmVmb3JlIHRhYiBpbiBpbmRlbnQiIGNoZWNrCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrIG1peGVkIHRhYnMgYW5kIHNwYWNlcyBpbiBpbmRlbnQnICcKIAkjIFRoaXMgaXMgaW5kZW50ZWQgd2l0aCBIVCBTUCBIVC4KIAllY2hvICIJIAlmb28oKTsiID54ICYmCi0JZ2l0IGRpZmYgLS1jaGVjayB8IGdyZXAgInNwYWNlIGJlZm9yZSB0YWIgaW4gaW5kZW50IgorCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmIC0tY2hlY2sgPmNoZWNrICYmCisJZ3JlcCAic3BhY2UgYmVmb3JlIHRhYiBpbiBpbmRlbnQiIGNoZWNrCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrIHdpdGggbm8gd2hpdGVzcGFjZSBlcnJvcnMnICcKQEAgLTc0OSwyMCArNzU5LDIzIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdsaW5lIG51bWJlcnMgaW4gLS1jaGVjayBvdXRwdXQgYXJlIGNvcnJlY3QnICcKIAllY2hvICIiID54ICYmCiAJZWNobyAiZm9vKCk7ICIgPj54ICYmCi0JZ2l0IGRpZmYgLS1jaGVjayB8IGdyZXAgIng6MjoiCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGRpZmYgLS1jaGVjayA+Y2hlY2sgJiYKKwlncmVwICJ4OjI6IiBjaGVjawogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja2RpZmYgZGV0ZWN0cyBuZXcgdHJhaWxpbmcgYmxhbmsgbGluZXMgKDEpJyAnCiAJZWNobyAiZm9vKCk7IiA+eCAmJgogCWVjaG8gIiIgPj54ICYmCi0JZ2l0IGRpZmYgLS1jaGVjayB8IGdyZXAgIm5ldyBibGFuayBsaW5lIgorCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmIC0tY2hlY2sgPmNoZWNrICYmCisJZ3JlcCAibmV3IGJsYW5rIGxpbmUiIGNoZWNrCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrZGlmZiBkZXRlY3RzIG5ldyB0cmFpbGluZyBibGFuayBsaW5lcyAoMiknICcKLQl7IGVjaG8gYTsgZWNobyBiOyBlY2hvOyBlY2hvOyB9ID54ICYmCisJdGVzdF93cml0ZV9saW5lcyBhIGIgIiIgIiIgPnggJiYKIAlnaXQgYWRkIHggJiYKLQl7IGVjaG8gYTsgZWNobzsgZWNobzsgZWNobzsgZWNobzsgfSA+eCAmJgotCWdpdCBkaWZmIC0tY2hlY2sgfCBncmVwICJuZXcgYmxhbmsgbGluZSIKKwl0ZXN0X3dyaXRlX2xpbmVzIGEgIiIgIiIgIiIgIiIgPnggJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZGlmZiAtLWNoZWNrID5jaGVjayAmJgorCWdyZXAgIm5ldyBibGFuayBsaW5lIiBjaGVjawogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja2RpZmYgYWxsb3dzIG5ldyBibGFuayBsaW5lcycgJwpAQCAtNzg2LDIzICs3OTksMjcgQEAKIAl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCiAnCiAKLWNhdCA8PEVPRiA+ZXhwZWN0Ci1kaWZmIC0tZ2l0IGEveCBiL3oKLXNpbWlsYXJpdHkgaW5kZXggTlVNJQotcmVuYW1lIGZyb20geAotcmVuYW1lIHRvIHoKLWluZGV4IDM4MGMzMmEuLmE5N2I3ODUgMTAwNjQ0Ci1FT0YKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3doaXRlc3BhY2Utb25seSBjaGFuZ2VzIHJlcG9ydGVkIGFjcm9zcyByZW5hbWVzJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWZvciBpIGluIDEgMiAzIDQgNSA2IDcgOCA5OyBkbyBlY2hvICIkaSRpJGkkaSRpJGkiOyBkb25lID54ICYmCiAJZ2l0IGFkZCB4ICYmCisJaGFzaF94PSQoZ2l0IGhhc2gtb2JqZWN0IHgpICYmCisJYmVmb3JlPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0ICIkaGFzaF94IikgJiYKIAlnaXQgY29tbWl0IC1tICJiYXNlIiAmJgogCXNlZCAtZSAiNXMvXi8gLyIgeCA+eiAmJgogCWdpdCBybSB4ICYmCiAJZ2l0IGFkZCB6ICYmCi0JZ2l0IGRpZmYgLXcgLU0gLS1jYWNoZWQgfAotCXNlZCAtZSAiL15zaW1pbGFyaXR5IGluZGV4IC9zL1swLTldWzAtOV0qL05VTS8iID5hY3R1YWwgJiYKKwloYXNoX3o9JChnaXQgaGFzaC1vYmplY3QgeikgJiYKKwlhZnRlcj0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCAiJGhhc2hfeiIpICYmCisJZ2l0IGRpZmYgLXcgLU0gLS1jYWNoZWQgPmFjdHVhbC5yYXcgJiYKKwlzZWQgLWUgIi9ec2ltaWxhcml0eSBpbmRleCAvcy9bMC05XVswLTldKi9OVU0vIiBhY3R1YWwucmF3ID5hY3R1YWwgJiYKKwljYXQgPDwtRU9GID5leHBlY3QgJiYKKwlkaWZmIC0tZ2l0IGEveCBiL3oKKwlzaW1pbGFyaXR5IGluZGV4IE5VTSUKKwlyZW5hbWUgZnJvbSB4CisJcmVuYW1lIHRvIHoKKwlpbmRleCAkYmVmb3JlLi4kYWZ0ZXIgMTAwNjQ0CisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCkBAIC04MzQsNyArODUxLDggQEAKIAlnaXQgY29uZmlnIGNvcmUuYXV0b2NybGYgdHJ1ZSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBtYXN0ZXIgJiYKIAotCWdpdCBkaWZmIHwgc2VkIC1lICIxLC9eQEBAL2QiID5hY3R1YWwgJiYKKwlnaXQgZGlmZiA+YWN0dWFsLnJhdyAmJgorCXNlZCAtZSAiMSwvXkBAQC9kIiBhY3R1YWwucmF3ID5hY3R1YWwgJiYKIAkhIGdyZXAgIl4tIiBhY3R1YWwKIAogJwpAQCAtODU4LDEzICs4NzYsMTggQEAKIAlnaXQgY29uZmlnIGNvcmUud2hpdGVzcGFjZSBibGFuay1hdC1lb2wgJiYKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZWNobyAidGVzdCIgPnggJiYKKwlvbGRfaGFzaF94PSQoZ2l0IGhhc2gtb2JqZWN0IHgpICYmCisJYmVmb3JlPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0ICIkb2xkX2hhc2hfeCIpICYmCiAJZ2l0IGNvbW1pdCAtbSAiaW5pdGlhbCIgeCAmJgogCWVjaG8gIntOVE59IiB8IHRyICJOVCIgIlxuXHQiID4+eCAmJgotCWdpdCBkaWZmIC0tY29sb3IgfCB0ZXN0X2RlY29kZV9jb2xvciA+Y3VycmVudCAmJgorCW5ld19oYXNoX3g9JChnaXQgaGFzaC1vYmplY3QgeCkgJiYKKwlhZnRlcj0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCAiJG5ld19oYXNoX3giKSAmJgorCWdpdCBkaWZmIC0tY29sb3IgPmN1cnJlbnQucmF3ICYmCisJdGVzdF9kZWNvZGVfY29sb3IgPGN1cnJlbnQucmF3ID5jdXJyZW50ICYmCiAKLQljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgogCTxCT0xEPmRpZmYgLS1naXQgYS94IGIveDxSRVNFVD4KLQk8Qk9MRD5pbmRleCA5ZGFlYWZiLi4yODc0YjkxIDEwMDY0NDxSRVNFVD4KKwk8Qk9MRD5pbmRleCAkYmVmb3JlLi4kYWZ0ZXIgMTAwNjQ0PFJFU0VUPgogCTxCT0xEPi0tLSBhL3g8UkVTRVQ+CiAJPEJPTEQ+KysrIGIveDxSRVNFVD4KIAk8Q1lBTj5AQCAtMSArMSw0IEBAPFJFU0VUPgpAQCAtODgzLDE5ICs5MDYsMjMgQEAKIAkJZWNobyAiMC4gYmxhbmstYXQtZW9sICIgJiYKIAkJZWNobyAiMS4gYmxhbmstYXQtZW9sICIKIAl9ID54ICYmCisJb2xkX2hhc2hfeD0kKGdpdCBoYXNoLW9iamVjdCB4KSAmJgorCWJlZm9yZT0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCAiJG9sZF9oYXNoX3giKSAmJgogCWdpdCBjb21taXQgLWEgLS1hbGxvdy1lbXB0eSAtbSBwcmVpbWFnZSAmJgogCXsKIAkJZWNobyAiMC4gYmxhbmstYXQtZW9sICIgJiYKIAkJZWNobyAiMS4gc3RpbGwtYmxhbmstYXQtZW9sICIgJiYKIAkJZWNobyAiMi4gYW5kIGEgbmV3IGxpbmUgIgogCX0gPnggJiYKKwluZXdfaGFzaF94PSQoZ2l0IGhhc2gtb2JqZWN0IHgpICYmCisJYWZ0ZXI9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgIiRuZXdfaGFzaF94IikgJiYKIAotCWdpdCBkaWZmIC0tY29sb3IgfAotCXRlc3RfZGVjb2RlX2NvbG9yID5jdXJyZW50ICYmCisJZ2l0IGRpZmYgLS1jb2xvciA+Y3VycmVudC5yYXcgJiYKKwl0ZXN0X2RlY29kZV9jb2xvciA8Y3VycmVudC5yYXcgPmN1cnJlbnQgJiYKIAotCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCiAJPEJPTEQ+ZGlmZiAtLWdpdCBhL3ggYi94PFJFU0VUPgotCTxCT0xEPmluZGV4IGQwMjMzYTIuLjcwMDg4NmUgMTAwNjQ0PFJFU0VUPgorCTxCT0xEPmluZGV4ICRiZWZvcmUuLiRhZnRlciAxMDA2NDQ8UkVTRVQ+CiAJPEJPTEQ+LS0tIGEveDxSRVNFVD4KIAk8Qk9MRD4rKysgYi94PFJFU0VUPgogCTxDWUFOPkBAIC0xLDIgKzEsMyBAQDxSRVNFVD4KQEAgLTkxNSwxNiArOTQyLDIwIEBACiAJCWVjaG8gIjAuIGJsYW5rLWF0LWVvbCAiICYmCiAJCWVjaG8gIjEuIGJsYW5rLWF0LWVvbCAiCiAJfSA+eCAmJgorCW9sZF9oYXNoX3g9JChnaXQgaGFzaC1vYmplY3QgeCkgJiYKKwliZWZvcmU9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgIiRvbGRfaGFzaF94IikgJiYKIAlnaXQgY29tbWl0IC1hIC0tYWxsb3ctZW1wdHkgLW0gcHJlaW1hZ2UgJiYKIAl7CiAJCWVjaG8gIjAuIGJsYW5rLWF0LWVvbCAiICYmCiAJCWVjaG8gIjEuIHN0aWxsLWJsYW5rLWF0LWVvbCAiICYmCiAJCWVjaG8gIjIuIGFuZCBhIG5ldyBsaW5lICIKIAl9ID54ICYmCisJbmV3X2hhc2hfeD0kKGdpdCBoYXNoLW9iamVjdCB4KSAmJgorCWFmdGVyPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0ICIkbmV3X2hhc2hfeCIpICYmCiAKLQljYXQgPmV4cGVjdC5kZWZhdWx0LW9sZCA8PC1cRU9GICYmCisJY2F0ID5leHBlY3QuZGVmYXVsdC1vbGQgPDwtRU9GICYmCiAJPEJPTEQ+ZGlmZiAtLWdpdCBhL3ggYi94PFJFU0VUPgotCTxCT0xEPmluZGV4IGQwMjMzYTIuLjcwMDg4NmUgMTAwNjQ0PFJFU0VUPgorCTxCT0xEPmluZGV4ICRiZWZvcmUuLiRhZnRlciAxMDA2NDQ8UkVTRVQ+CiAJPEJPTEQ+LS0tIGEveDxSRVNFVD4KIAk8Qk9MRD4rKysgYi94PFJFU0VUPgogCTxDWUFOPkBAIC0xLDIgKzEsMyBAQDxSRVNFVD4KQEAgLTkzNCw5ICs5NjUsOSBAQAogCTxHUkVFTj4rPFJFU0VUPjxHUkVFTj4yLiBhbmQgYSBuZXcgbGluZTxSRVNFVD48QkxVRT4gPFJFU0VUPgogCUVPRgogCi0JY2F0ID5leHBlY3QuYWxsIDw8LVxFT0YgJiYKKwljYXQgPmV4cGVjdC5hbGwgPDwtRU9GICYmCiAJPEJPTEQ+ZGlmZiAtLWdpdCBhL3ggYi94PFJFU0VUPgotCTxCT0xEPmluZGV4IGQwMjMzYTIuLjcwMDg4NmUgMTAwNjQ0PFJFU0VUPgorCTxCT0xEPmluZGV4ICRiZWZvcmUuLiRhZnRlciAxMDA2NDQ8UkVTRVQ+CiAJPEJPTEQ+LS0tIGEveDxSRVNFVD4KIAk8Qk9MRD4rKysgYi94PFJFU0VUPgogCTxDWUFOPkBAIC0xLDIgKzEsMyBAQDxSRVNFVD4KQEAgLTk0Niw5ICs5NzcsOSBAQAogCTxHUkVFTj4rPFJFU0VUPjxHUkVFTj4yLiBhbmQgYSBuZXcgbGluZTxSRVNFVD48QkxVRT4gPFJFU0VUPgogCUVPRgogCi0JY2F0ID5leHBlY3Qubm9uZSA8PC1cRU9GCisJY2F0ID5leHBlY3Qubm9uZSA8PC1FT0YKIAk8Qk9MRD5kaWZmIC0tZ2l0IGEveCBiL3g8UkVTRVQ+Ci0JPEJPTEQ+aW5kZXggZDAyMzNhMi4uNzAwODg2ZSAxMDA2NDQ8UkVTRVQ+CisJPEJPTEQ+aW5kZXggJGJlZm9yZS4uJGFmdGVyIDEwMDY0NDxSRVNFVD4KIAk8Qk9MRD4tLS0gYS94PFJFU0VUPgogCTxCT0xEPisrKyBiL3g8UkVTRVQ+CiAJPENZQU4+QEAgLTEsMiArMSwzIEBAPFJFU0VUPgpAQCAtOTYyLDMyICs5OTMsMzIgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCAtLXdzLWVycm9yLWhpZ2hsaWdodCBvcHRpb24nICcKIAotCWdpdCBkaWZmIC0tY29sb3IgLS13cy1lcnJvci1oaWdobGlnaHQ9ZGVmYXVsdCxvbGQgfAotCXRlc3RfZGVjb2RlX2NvbG9yID5jdXJyZW50ICYmCisJZ2l0IGRpZmYgLS1jb2xvciAtLXdzLWVycm9yLWhpZ2hsaWdodD1kZWZhdWx0LG9sZCA+Y3VycmVudC5yYXcgJiYKKwl0ZXN0X2RlY29kZV9jb2xvciA8Y3VycmVudC5yYXcgPmN1cnJlbnQgJiYKIAl0ZXN0X2NtcCBleHBlY3QuZGVmYXVsdC1vbGQgY3VycmVudCAmJgogCi0JZ2l0IGRpZmYgLS1jb2xvciAtLXdzLWVycm9yLWhpZ2hsaWdodD1hbGwgfAotCXRlc3RfZGVjb2RlX2NvbG9yID5jdXJyZW50ICYmCisJZ2l0IGRpZmYgLS1jb2xvciAtLXdzLWVycm9yLWhpZ2hsaWdodD1hbGwgPmN1cnJlbnQucmF3ICYmCisJdGVzdF9kZWNvZGVfY29sb3IgPGN1cnJlbnQucmF3ID5jdXJyZW50ICYmCiAJdGVzdF9jbXAgZXhwZWN0LmFsbCBjdXJyZW50ICYmCiAKLQlnaXQgZGlmZiAtLWNvbG9yIC0td3MtZXJyb3ItaGlnaGxpZ2h0PW5vbmUgfAotCXRlc3RfZGVjb2RlX2NvbG9yID5jdXJyZW50ICYmCisJZ2l0IGRpZmYgLS1jb2xvciAtLXdzLWVycm9yLWhpZ2hsaWdodD1ub25lID5jdXJyZW50LnJhdyAmJgorCXRlc3RfZGVjb2RlX2NvbG9yIDxjdXJyZW50LnJhdyA+Y3VycmVudCAmJgogCXRlc3RfY21wIGV4cGVjdC5ub25lIGN1cnJlbnQKIAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IGRpZmYud3NFcnJvckhpZ2hsaWdodCBjb25maWcnICcKIAotCWdpdCAtYyBkaWZmLndzRXJyb3JIaWdobGlnaHQ9ZGVmYXVsdCxvbGQgZGlmZiAtLWNvbG9yIHwKLQl0ZXN0X2RlY29kZV9jb2xvciA+Y3VycmVudCAmJgorCWdpdCAtYyBkaWZmLndzRXJyb3JIaWdobGlnaHQ9ZGVmYXVsdCxvbGQgZGlmZiAtLWNvbG9yID5jdXJyZW50LnJhdyAmJgorCXRlc3RfZGVjb2RlX2NvbG9yIDxjdXJyZW50LnJhdyA+Y3VycmVudCAmJgogCXRlc3RfY21wIGV4cGVjdC5kZWZhdWx0LW9sZCBjdXJyZW50ICYmCiAKLQlnaXQgLWMgZGlmZi53c0Vycm9ySGlnaGxpZ2h0PWFsbCBkaWZmIC0tY29sb3IgfAotCXRlc3RfZGVjb2RlX2NvbG9yID5jdXJyZW50ICYmCisJZ2l0IC1jIGRpZmYud3NFcnJvckhpZ2hsaWdodD1hbGwgZGlmZiAtLWNvbG9yID5jdXJyZW50LnJhdyAmJgorCXRlc3RfZGVjb2RlX2NvbG9yIDxjdXJyZW50LnJhdyA+Y3VycmVudCAmJgogCXRlc3RfY21wIGV4cGVjdC5hbGwgY3VycmVudCAmJgogCi0JZ2l0IC1jIGRpZmYud3NFcnJvckhpZ2hsaWdodD1ub25lIGRpZmYgLS1jb2xvciB8Ci0JdGVzdF9kZWNvZGVfY29sb3IgPmN1cnJlbnQgJiYKKwlnaXQgLWMgZGlmZi53c0Vycm9ySGlnaGxpZ2h0PW5vbmUgZGlmZiAtLWNvbG9yID5jdXJyZW50LnJhdyAmJgorCXRlc3RfZGVjb2RlX2NvbG9yIDxjdXJyZW50LnJhdyA+Y3VycmVudCAmJgogCXRlc3RfY21wIGV4cGVjdC5ub25lIGN1cnJlbnQKIAogJwpAQCAtOTk1LDE4ICsxMDI2LDE4IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdvcHRpb24gb3ZlcnJpZGVzIGRpZmYud3NFcnJvckhpZ2hsaWdodCcgJwogCiAJZ2l0IC1jIGRpZmYud3NFcnJvckhpZ2hsaWdodD1ub25lIFwKLQkJZGlmZiAtLWNvbG9yIC0td3MtZXJyb3ItaGlnaGxpZ2h0PWRlZmF1bHQsb2xkIHwKLQl0ZXN0X2RlY29kZV9jb2xvciA+Y3VycmVudCAmJgorCQlkaWZmIC0tY29sb3IgLS13cy1lcnJvci1oaWdobGlnaHQ9ZGVmYXVsdCxvbGQgPmN1cnJlbnQucmF3ICYmCisJdGVzdF9kZWNvZGVfY29sb3IgPGN1cnJlbnQucmF3ID5jdXJyZW50ICYmCiAJdGVzdF9jbXAgZXhwZWN0LmRlZmF1bHQtb2xkIGN1cnJlbnQgJiYKIAogCWdpdCAtYyBkaWZmLndzRXJyb3JIaWdobGlnaHQ9ZGVmYXVsdCBcCi0JCWRpZmYgLS1jb2xvciAtLXdzLWVycm9yLWhpZ2hsaWdodD1hbGwgfAotCXRlc3RfZGVjb2RlX2NvbG9yID5jdXJyZW50ICYmCisJCWRpZmYgLS1jb2xvciAtLXdzLWVycm9yLWhpZ2hsaWdodD1hbGwgPmN1cnJlbnQucmF3ICYmCisJdGVzdF9kZWNvZGVfY29sb3IgPGN1cnJlbnQucmF3ID5jdXJyZW50ICYmCiAJdGVzdF9jbXAgZXhwZWN0LmFsbCBjdXJyZW50ICYmCiAKIAlnaXQgLWMgZGlmZi53c0Vycm9ySGlnaGxpZ2h0PWFsbCBcCi0JCWRpZmYgLS1jb2xvciAtLXdzLWVycm9yLWhpZ2hsaWdodD1ub25lIHwKLQl0ZXN0X2RlY29kZV9jb2xvciA+Y3VycmVudCAmJgorCQlkaWZmIC0tY29sb3IgLS13cy1lcnJvci1oaWdobGlnaHQ9bm9uZSA+Y3VycmVudC5yYXcgJiYKKwl0ZXN0X2RlY29kZV9jb2xvciA8Y3VycmVudC5yYXcgPmN1cnJlbnQgJiYKIAl0ZXN0X2NtcCBleHBlY3Qubm9uZSBjdXJyZW50CiAKICcKQEAgLTEwMjIsMTQgKzEwNTMsMTYgQEAKIAlFT0YKIAlnaXQgYWRkIHRlc3QuYyAmJgogCWdpdCBjb21taXQgLW0gImFkZCBtYWluIGZ1bmN0aW9uIiAmJgorCWZpbGU9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRDp0ZXN0LmMpICYmCiAJZ2l0IG12IHRlc3QuYyBtYWluLmMgJiYKIAl0ZXN0X2NvbmZpZyBjb2xvci5kaWZmLm9sZE1vdmVkICJub3JtYWwgcmVkIiAmJgogCXRlc3RfY29uZmlnIGNvbG9yLmRpZmYubmV3TW92ZWQgIm5vcm1hbCBncmVlbiIgJiYKLQlnaXQgZGlmZiBIRUFEIC0tY29sb3ItbW92ZWQ9emVicmEgLS1jb2xvciAtLW5vLXJlbmFtZXMgfCB0ZXN0X2RlY29kZV9jb2xvciA+YWN0dWFsICYmCi0JY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisJZ2l0IGRpZmYgSEVBRCAtLWNvbG9yLW1vdmVkPXplYnJhIC0tY29sb3IgLS1uby1yZW5hbWVzID5hY3R1YWwucmF3ICYmCisJdGVzdF9kZWNvZGVfY29sb3IgPGFjdHVhbC5yYXcgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCiAJPEJPTEQ+ZGlmZiAtLWdpdCBhL21haW4uYyBiL21haW4uYzxSRVNFVD4KIAk8Qk9MRD5uZXcgZmlsZSBtb2RlIDEwMDY0NDxSRVNFVD4KLQk8Qk9MRD5pbmRleCAwMDAwMDAwLi5hOTg2YzU3PFJFU0VUPgorCTxCT0xEPmluZGV4IDAwMDAwMDAuLiRmaWxlPFJFU0VUPgogCTxCT0xEPi0tLSAvZGV2L251bGw8UkVTRVQ+CiAJPEJPTEQ+KysrIGIvbWFpbi5jPFJFU0VUPgogCTxDWUFOPkBAIC0wLDAgKzEsNSBAQDxSRVNFVD4KQEAgLTEwNDAsNyArMTA3Myw3IEBACiAJPEJHUkVFTj4rPFJFU0VUPjxCR1JFRU4+fTxSRVNFVD4KIAk8Qk9MRD5kaWZmIC0tZ2l0IGEvdGVzdC5jIGIvdGVzdC5jPFJFU0VUPgogCTxCT0xEPmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NDxSRVNFVD4KLQk8Qk9MRD5pbmRleCBhOTg2YzU3Li4wMDAwMDAwPFJFU0VUPgorCTxCT0xEPmluZGV4ICRmaWxlLi4wMDAwMDAwPFJFU0VUPgogCTxCT0xEPi0tLSBhL3Rlc3QuYzxSRVNFVD4KIAk8Qk9MRD4rKysgL2Rldi9udWxsPFJFU0VUPgogCTxDWUFOPkBAIC0xLDUgKzAsMCBAQDxSRVNFVD4KQEAgLTEwOTQsNiArMTEyNyw4IEBACiAJRU9GCiAJZ2l0IGFkZCBtYWluLmMgdGVzdC5jICYmCiAJZ2l0IGNvbW1pdCAtbSAiYWRkIG1haW4gYW5kIHRlc3QgZmlsZSIgJiYKKwliZWZvcmVfbWFpbj0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEOm1haW4uYykgJiYKKwliZWZvcmVfdGVzdD0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEOnRlc3QuYykgJiYKIAljYXQgPDwtXEVPRiA+bWFpbi5jICYmCiAJCSNpbmNsdWRlPHN0ZGlvLmg+CiAJCWludCBzdHVmZigpCkBAIC0xMTI2LDEwICsxMTYxLDE1IEBACiAJCQliYXIoKTsKIAkJfQogCUVPRgotCWdpdCBkaWZmIEhFQUQgLS1uby1yZW5hbWVzIC0tY29sb3ItbW92ZWQ9emVicmEgLS1jb2xvciB8IHRlc3RfZGVjb2RlX2NvbG9yID5hY3R1YWwgJiYKLQljYXQgPDwtXEVPRiA+ZXhwZWN0ZWQgJiYKKwloYXNoX21haW49JChnaXQgaGFzaC1vYmplY3QgbWFpbi5jKSAmJgorCWFmdGVyX21haW49JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgIiRoYXNoX21haW4iKSAmJgorCWhhc2hfdGVzdD0kKGdpdCBoYXNoLW9iamVjdCB0ZXN0LmMpICYmCisJYWZ0ZXJfdGVzdD0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCAiJGhhc2hfdGVzdCIpICYmCisJZ2l0IGRpZmYgSEVBRCAtLW5vLXJlbmFtZXMgLS1jb2xvci1tb3ZlZD16ZWJyYSAtLWNvbG9yID5hY3R1YWwucmF3ICYmCisJdGVzdF9kZWNvZGVfY29sb3IgPGFjdHVhbC5yYXcgPmFjdHVhbCAmJgorCWNhdCA8PC1FT0YgPmV4cGVjdGVkICYmCiAJPEJPTEQ+ZGlmZiAtLWdpdCBhL21haW4uYyBiL21haW4uYzxSRVNFVD4KLQk8Qk9MRD5pbmRleCAyN2E2MTljLi43Y2Y5MzM2IDEwMDY0NDxSRVNFVD4KKwk8Qk9MRD5pbmRleCAkYmVmb3JlX21haW4uLiRhZnRlcl9tYWluIDEwMDY0NDxSRVNFVD4KIAk8Qk9MRD4tLS0gYS9tYWluLmM8UkVTRVQ+CiAJPEJPTEQ+KysrIGIvbWFpbi5jPFJFU0VUPgogCTxDWUFOPkBAIC01LDEzICs1LDYgQEA8UkVTRVQ+IDxSRVNFVD5wcmludGYoIkhlbGxvICIpOzxSRVNFVD4KQEAgLTExNDcsNyArMTE4Nyw3IEBACiAJIHs8UkVTRVQ+CiAJIGZvbygpOzxSRVNFVD4KIAk8Qk9MRD5kaWZmIC0tZ2l0IGEvdGVzdC5jIGIvdGVzdC5jPFJFU0VUPgotCTxCT0xEPmluZGV4IDFkYzFkODUuLjJiZWRlYzkgMTAwNjQ0PFJFU0VUPgorCTxCT0xEPmluZGV4ICRiZWZvcmVfdGVzdC4uJGFmdGVyX3Rlc3QgMTAwNjQ0PFJFU0VUPgogCTxCT0xEPi0tLSBhL3Rlc3QuYzxSRVNFVD4KIAk8Qk9MRD4rKysgYi90ZXN0LmM8UkVTRVQ+CiAJPENZQU4+QEAgLTQsNiArNCwxMyBAQDxSRVNFVD4gPFJFU0VUPmludCBiYXIoKTxSRVNFVD4KQEAgLTExNzUsMTAgKzEyMTUsMTEgQEAKIAl0ZXN0X2NvbmZpZyBjb2xvci5kaWZmLm9sZE1vdmVkQWx0ZXJuYXRpdmUgImJsdWUiICYmCiAJdGVzdF9jb25maWcgY29sb3IuZGlmZi5uZXdNb3ZlZEFsdGVybmF0aXZlICJ5ZWxsb3ciICYmCiAJIyBuZWVkcyBwcmV2aW91cyB0ZXN0IGFzIHNldHVwCi0JZ2l0IGRpZmYgSEVBRCAtLW5vLXJlbmFtZXMgLS1jb2xvci1tb3ZlZD1wbGFpbiAtLWNvbG9yIHwgdGVzdF9kZWNvZGVfY29sb3IgPmFjdHVhbCAmJgotCWNhdCA8PC1cRU9GID5leHBlY3RlZCAmJgorCWdpdCBkaWZmIEhFQUQgLS1uby1yZW5hbWVzIC0tY29sb3ItbW92ZWQ9cGxhaW4gLS1jb2xvciA+YWN0dWFsLnJhdyAmJgorCXRlc3RfZGVjb2RlX2NvbG9yIDxhY3R1YWwucmF3ID5hY3R1YWwgJiYKKwljYXQgPDwtRU9GID5leHBlY3RlZCAmJgogCTxCT0xEPmRpZmYgLS1naXQgYS9tYWluLmMgYi9tYWluLmM8UkVTRVQ+Ci0JPEJPTEQ+aW5kZXggMjdhNjE5Yy4uN2NmOTMzNiAxMDA2NDQ8UkVTRVQ+CisJPEJPTEQ+aW5kZXggJGJlZm9yZV9tYWluLi4kYWZ0ZXJfbWFpbiAxMDA2NDQ8UkVTRVQ+CiAJPEJPTEQ+LS0tIGEvbWFpbi5jPFJFU0VUPgogCTxCT0xEPisrKyBiL21haW4uYzxSRVNFVD4KIAk8Q1lBTj5AQCAtNSwxMyArNSw2IEBAPFJFU0VUPiA8UkVTRVQ+cHJpbnRmKCJIZWxsbyAiKTs8UkVTRVQ+CkBAIC0xMTk2LDcgKzEyMzcsNyBAQAogCSB7PFJFU0VUPgogCSBmb28oKTs8UkVTRVQ+CiAJPEJPTEQ+ZGlmZiAtLWdpdCBhL3Rlc3QuYyBiL3Rlc3QuYzxSRVNFVD4KLQk8Qk9MRD5pbmRleCAxZGMxZDg1Li4yYmVkZWM5IDEwMDY0NDxSRVNFVD4KKwk8Qk9MRD5pbmRleCAkYmVmb3JlX3Rlc3QuLiRhZnRlcl90ZXN0IDEwMDY0NDxSRVNFVD4KIAk8Qk9MRD4tLS0gYS90ZXN0LmM8UkVTRVQ+CiAJPEJPTEQ+KysrIGIvdGVzdC5jPFJFU0VUPgogCTxDWUFOPkBAIC00LDYgKzQsMTMgQEA8UkVTRVQ+IDxSRVNFVD5pbnQgYmFyKCk8UkVTRVQ+CkBAIC0xNzU0LDcgKzE3OTUsOCBAQAogCSEgZ3JlcCBCUkVEIGRlY29kZWRfYWN0dWFsICYmCiAKIAkjIG5vciBkaWQgd2UgbWVzcyB3aXRoIGl0IGFub3RoZXIgd2F5Ci0JZ2l0IGRpZmYgLS1zdWJtb2R1bGU9ZGlmZiAtLWNvbG9yIHwgdGVzdF9kZWNvZGVfY29sb3IgPmV4cGVjdCAmJgorCWdpdCBkaWZmIC0tc3VibW9kdWxlPWRpZmYgLS1jb2xvciA+ZXhwZWN0LnJhdyAmJgorCXRlc3RfZGVjb2RlX2NvbG9yIDxleHBlY3QucmF3ID5leHBlY3QgJiYKIAl0ZXN0X2NtcCBleHBlY3QgZGVjb2RlZF9hY3R1YWwgJiYKIAlybSAtcmYgYmFuYW5hcyAmJgogCWdpdCBzdWJtb2R1bGUgZGVpbml0IGJhbmFuYXMKQEAgLTE4MDIsOCArMTg0NCw4IEBACiAJPEJPTEQ7TUFHRU5UQT4tYSBsb25nIGxpbmUgdG8gZXhjZWVkIHBlci1saW5lIG1pbmltdW08UkVTRVQ+CiAJPEJPTEQ7TUFHRU5UQT4tYW5vdGhlciBsb25nIGxpbmUgdG8gZXhjZWVkIHBlci1saW5lIG1pbmltdW08UkVTRVQ+CiAJPFJFRD4tb3JpZ2luYWwgZmlsZTxSRVNFVD4KLQk8Qk9MRDtZRUxMT1c+KzxSRVNFVD5RPEJPTEQ7WUVMTE9XPmEgbG9uZyBsaW5lIHRvIGV4Y2VlZCBwZXItbGluZSBtaW5pbXVtPFJFU0VUPgotCTxCT0xEO1lFTExPVz4rPFJFU0VUPlE8Qk9MRDtZRUxMT1c+YW5vdGhlciBsb25nIGxpbmUgdG8gZXhjZWVkIHBlci1saW5lIG1pbmltdW08UkVTRVQ+CisJPEJPTEQ7Q1lBTj4rPFJFU0VUPlE8Qk9MRDtDWUFOPmEgbG9uZyBsaW5lIHRvIGV4Y2VlZCBwZXItbGluZSBtaW5pbXVtPFJFU0VUPgorCTxCT0xEO0NZQU4+KzxSRVNFVD5RPEJPTEQ7Q1lBTj5hbm90aGVyIGxvbmcgbGluZSB0byBleGNlZWQgcGVyLWxpbmUgbWluaW11bTxSRVNFVD4KIAk8R1JFRU4+KzxSRVNFVD48R1JFRU4+bmV3IGZpbGU8UkVTRVQ+CiAJRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCkBAIC0xODI3LDYgKzE4NjksNyBAQAogCVFRUXRoYXQgaGFzIHNpbWlsYXIgbGluZXMKIAlRUVF0byBwcmV2aW91cyBibG9ja3MsIGJ1dCB3aXRoIGRpZmZlcmVudCBpbmRlbnQKIAlRUVFZZXRRQW5vdGhlclFvdXRsaWVyUQorCVFMaW5lIHdpdGggaW50ZXJuYWwgdyBoIGkgdCBlIHMgcCBhIGMgZSBjaGFuZ2UKIAlFT0YKIAogCWdpdCBhZGQgdGV4dC50eHQgJiYKQEAgLTE4NDcsNiArMTg5MCw3IEBACiAJUVF0aGF0IGhhcyBzaW1pbGFyIGxpbmVzCiAJUVF0byBwcmV2aW91cyBibG9ja3MsIGJ1dCB3aXRoIGRpZmZlcmVudCBpbmRlbnQKIAlRUVlldFFBbm90aGVyUW91dGxpZXIKKwlRTGluZSB3aXRoIGludGVybmFsIHdoaXRlc3BhY2UgY2hhbmdlCiAJRU9GCiAKIAlnaXQgZGlmZiAtLWNvbG9yIC0tY29sb3ItbW92ZWQgLS1jb2xvci1tb3ZlZC13cz1hbGxvdy1pbmRlbnRhdGlvbi1jaGFuZ2UgPmFjdHVhbC5yYXcgJiYKQEAgLTE4NTYsNyArMTkwMCw3IEBACiAJCTxCT0xEPmRpZmYgLS1naXQgYS90ZXh0LnR4dCBiL3RleHQudHh0PFJFU0VUPgogCQk8Qk9MRD4tLS0gYS90ZXh0LnR4dDxSRVNFVD4KIAkJPEJPTEQ+KysrIGIvdGV4dC50eHQ8UkVTRVQ+Ci0JCTxDWUFOPkBAIC0xLDE0ICsxLDE0IEBAPFJFU0VUPgorCQk8Q1lBTj5AQCAtMSwxNSArMSwxNSBAQDxSRVNFVD4KIAkJPEJPTEQ7TUFHRU5UQT4tUUluZGVudGVkPFJFU0VUPgogCQk8Qk9MRDtNQUdFTlRBPi1RVGV4dCBhY3Jvc3M8UkVTRVQ+CiAJCTxCT0xEO01BR0VOVEE+LVFzb21lIGxpbmVzPFJFU0VUPgpAQCAtMTg3MSw2ICsxOTE1LDcgQEAKIAkJPEJPTEQ7TUFHRU5UQT4tUVFRdGhhdCBoYXMgc2ltaWxhciBsaW5lczxSRVNFVD4KIAkJPEJPTEQ7TUFHRU5UQT4tUVFRdG8gcHJldmlvdXMgYmxvY2tzLCBidXQgd2l0aCBkaWZmZXJlbnQgaW5kZW50PFJFU0VUPgogCQk8UkVEPi1RUVFZZXRRQW5vdGhlclFvdXRsaWVyUTxSRVNFVD4KKwkJPFJFRD4tUUxpbmUgd2l0aCBpbnRlcm5hbCB3IGggaSB0IGUgcyBwIGEgYyBlIGNoYW5nZTxSRVNFVD4KIAkJPEJPTEQ7Q1lBTj4rPFJFU0VUPlFRPEJPTEQ7Q1lBTj5JbmRlbnRlZDxSRVNFVD4KIAkJPEJPTEQ7Q1lBTj4rPFJFU0VUPlFRPEJPTEQ7Q1lBTj5UZXh0IGFjcm9zczxSRVNFVD4KIAkJPEJPTEQ7Q1lBTj4rPFJFU0VUPlFRPEJPTEQ7Q1lBTj5zb21lIGxpbmVzPFJFU0VUPgpAQCAtMTg4NSwxMSArMTkzMCwzMCBAQAogCQk8Qk9MRDtDWUFOPis8UkVTRVQ+UVE8Qk9MRDtDWUFOPnRoYXQgaGFzIHNpbWlsYXIgbGluZXM8UkVTRVQ+CiAJCTxCT0xEO0NZQU4+KzxSRVNFVD5RUTxCT0xEO0NZQU4+dG8gcHJldmlvdXMgYmxvY2tzLCBidXQgd2l0aCBkaWZmZXJlbnQgaW5kZW50PFJFU0VUPgogCQk8R1JFRU4+KzxSRVNFVD5RUTxHUkVFTj5ZZXRRQW5vdGhlclFvdXRsaWVyPFJFU0VUPgorCQk8R1JFRU4+KzxSRVNFVD5RPEdSRUVOPkxpbmUgd2l0aCBpbnRlcm5hbCB3aGl0ZXNwYWNlIGNoYW5nZTxSRVNFVD4KIAlFT0YKIAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdib2d1cyBzZXR0aW5ncyBpbiBtb3ZlIGRldGVjdGlvbiBlcnJvcmluZyBvdXQnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgZGlmZiAtLWNvbG9yLW1vdmVkPWJvZ3VzIDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAibXVzdCBiZSBvbmUgb2YiIGVyciAmJgorCXRlc3RfaTE4bmdyZXAgYm9ndXMgZXJyICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgLWMgZGlmZi5jb2xvcm1vdmVkPWJvZ3VzIGRpZmYgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICJtdXN0IGJlIG9uZSBvZiIgZXJyICYmCisJdGVzdF9pMThuZ3JlcCAiZnJvbSBjb21tYW5kLWxpbmUgY29uZmlnIiBlcnIgJiYKKworCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmIC0tY29sb3ItbW92ZWQtd3M9Ym9ndXMgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICJwb3NzaWJsZSB2YWx1ZXMiIGVyciAmJgorCXRlc3RfaTE4bmdyZXAgYm9ndXMgZXJyICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgLWMgZGlmZi5jb2xvcm1vdmVkd3M9Ym9ndXMgZGlmZiAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgInBvc3NpYmxlIHZhbHVlcyIgZXJyICYmCisJdGVzdF9pMThuZ3JlcCAiZnJvbSBjb21tYW5kLWxpbmUgY29uZmlnIiBlcnIKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tcGFyZSB3aGl0ZXNwYWNlIGRlbHRhIGluY29tcGF0aWJsZSB3aXRoIG90aGVyIHNwYWNlIG9wdGlvbnMnICcKIAl0ZXN0X211c3RfZmFpbCBnaXQgZGlmZiBcCiAJCS0tY29sb3ItbW92ZWQtd3M9YWxsb3ctaW5kZW50YXRpb24tY2hhbmdlLGlnbm9yZS1hbGwtc3BhY2UgXApAQCAtMTg5Nyw0ICsxOTYxLDEzNCBAQAogCXRlc3RfaTE4bmdyZXAgYWxsb3ctaW5kZW50YXRpb24tY2hhbmdlIGVycgogJwogCitFTVBUWT0nJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tcGFyZSBtaXhlZCB3aGl0ZXNwYWNlIGRlbHRhIGFjcm9zcyBtb3ZlZCBibG9ja3MnICcKKworCWdpdCByZXNldCAtLWhhcmQgJiYKKwl0ciBRXyAiXHQgIiA8PC1FT0YgPnRleHQudHh0ICYmCisJJHtFTVBUWX0KKwlfX19fdG9vIHNob3J0IHdpdGhvdXQKKwkke0VNUFRZfQorCV9fX2JlaW5nIGdyb3VwZWQgYWNyb3NzIGJsYW5rIGxpbmUKKwkke0VNUFRZfQorCWNvbnRleHQKKwlsaW5lcworCXRvCisJYW5jaG9yCisJX19fX0luZGVudGVkIHRleHQgdG8KKwlfUV9fX19iZSBmdXJ0aGVyIGluZGVudGVkIGJ5IGZvdXIgc3BhY2VzIGFjcm9zcworCV9fX19Rc2V2ZXJhbCBsaW5lcworCVFRX19fX1RoZXNlIHR3byBsaW5lcyBoYXZlIGhhZCB0aGVpcgorCV9fX19pbmRlbnRhdGlvbiByZWR1Y2VkIGJ5IGZvdXIgc3BhY2VzCisJUWRpZmZlcmVudCBpbmRlbnRhdGlvbiBjaGFuZ2UKKwlfX19fdG9vIHNob3J0CisJRU9GCisKKwlnaXQgYWRkIHRleHQudHh0ICYmCisJZ2l0IGNvbW1pdCAtbSAiYWRkIHRleHQudHh0IiAmJgorCisJdHIgUV8gIlx0ICIgPDwtRU9GID50ZXh0LnR4dCAmJgorCWNvbnRleHQKKwlsaW5lcworCXRvCisJYW5jaG9yCisJUUluZGVudGVkIHRleHQgdG8KKwlRUWJlIGZ1cnRoZXIgaW5kZW50ZWQgYnkgZm91ciBzcGFjZXMgYWNyb3NzCisJUV9fX19zZXZlcmFsIGxpbmVzCisJJHtFTVBUWX0KKwlRUXRvbyBzaG9ydCB3aXRob3V0CisJJHtFTVBUWX0KKwlRX19fX19fX2JlaW5nIGdyb3VwZWQgYWNyb3NzIGJsYW5rIGxpbmUKKwkke0VNUFRZfQorCVFfUVRoZXNlIHR3byBsaW5lcyBoYXZlIGhhZCB0aGVpcgorCWluZGVudGF0aW9uIHJlZHVjZWQgYnkgZm91ciBzcGFjZXMKKwlRUWRpZmZlcmVudCBpbmRlbnRhdGlvbiBjaGFuZ2UKKwlfX1F0b28gc2hvcnQKKwlFT0YKKworCWdpdCAtYyBjb2xvci5kaWZmLndoaXRlc3BhY2U9Im5vcm1hbCByZWQiIFwKKwkJLWMgY29yZS53aGl0ZXNwYWNlPXNwYWNlLWJlZm9yZS10YWIgXAorCQlkaWZmIC0tY29sb3IgLS1jb2xvci1tb3ZlZCAtLXdzLWVycm9yLWhpZ2hsaWdodD1hbGwgXAorCQktLWNvbG9yLW1vdmVkLXdzPWFsbG93LWluZGVudGF0aW9uLWNoYW5nZSA+YWN0dWFsLnJhdyAmJgorCWdyZXAgLXYgImluZGV4IiBhY3R1YWwucmF3IHwgdGVzdF9kZWNvZGVfY29sb3IgPmFjdHVhbCAmJgorCisJY2F0IDw8LVxFT0YgPmV4cGVjdGVkICYmCisJPEJPTEQ+ZGlmZiAtLWdpdCBhL3RleHQudHh0IGIvdGV4dC50eHQ8UkVTRVQ+CisJPEJPTEQ+LS0tIGEvdGV4dC50eHQ8UkVTRVQ+CisJPEJPTEQ+KysrIGIvdGV4dC50eHQ8UkVTRVQ+CisJPENZQU4+QEAgLTEsMTYgKzEsMTYgQEA8UkVTRVQ+CisJPEJPTEQ7TUFHRU5UQT4tPFJFU0VUPgorCTxCT0xEO01BR0VOVEE+LTxSRVNFVD48Qk9MRDtNQUdFTlRBPiAgICB0b28gc2hvcnQgd2l0aG91dDxSRVNFVD4KKwk8Qk9MRDtNQUdFTlRBPi08UkVTRVQ+CisJPEJPTEQ7TUFHRU5UQT4tPFJFU0VUPjxCT0xEO01BR0VOVEE+ICAgYmVpbmcgZ3JvdXBlZCBhY3Jvc3MgYmxhbmsgbGluZTxSRVNFVD4KKwk8Qk9MRDtNQUdFTlRBPi08UkVTRVQ+CisJIDxSRVNFVD5jb250ZXh0PFJFU0VUPgorCSA8UkVTRVQ+bGluZXM8UkVTRVQ+CisJIDxSRVNFVD50bzxSRVNFVD4KKwkgPFJFU0VUPmFuY2hvcjxSRVNFVD4KKwk8Qk9MRDtNQUdFTlRBPi08UkVTRVQ+PEJPTEQ7TUFHRU5UQT4gICAgSW5kZW50ZWQgdGV4dCB0bzxSRVNFVD4KKwk8Qk9MRDtNQUdFTlRBPi08UkVTRVQ+PEJSRUQ+IDxSRVNFVD4JPEJPTEQ7TUFHRU5UQT4gICAgYmUgZnVydGhlciBpbmRlbnRlZCBieSBmb3VyIHNwYWNlcyBhY3Jvc3M8UkVTRVQ+CisJPEJPTEQ7TUFHRU5UQT4tPFJFU0VUPjxCUkVEPiAgICA8UkVTRVQ+CTxCT0xEO01BR0VOVEE+c2V2ZXJhbCBsaW5lczxSRVNFVD4KKwk8Qk9MRDtCTFVFPi08UkVTRVQ+CQk8Qk9MRDtCTFVFPiAgICBUaGVzZSB0d28gbGluZXMgaGF2ZSBoYWQgdGhlaXI8UkVTRVQ+CisJPEJPTEQ7QkxVRT4tPFJFU0VUPjxCT0xEO0JMVUU+ICAgIGluZGVudGF0aW9uIHJlZHVjZWQgYnkgZm91ciBzcGFjZXM8UkVTRVQ+CisJPEJPTEQ7TUFHRU5UQT4tPFJFU0VUPgk8Qk9MRDtNQUdFTlRBPmRpZmZlcmVudCBpbmRlbnRhdGlvbiBjaGFuZ2U8UkVTRVQ+CisJPFJFRD4tPFJFU0VUPjxSRUQ+ICAgIHRvbyBzaG9ydDxSRVNFVD4KKwk8Qk9MRDtDWUFOPis8UkVTRVQ+CTxCT0xEO0NZQU4+SW5kZW50ZWQgdGV4dCB0bzxSRVNFVD4KKwk8Qk9MRDtDWUFOPis8UkVTRVQ+CQk8Qk9MRDtDWUFOPmJlIGZ1cnRoZXIgaW5kZW50ZWQgYnkgZm91ciBzcGFjZXMgYWNyb3NzPFJFU0VUPgorCTxCT0xEO0NZQU4+KzxSRVNFVD4JPEJPTEQ7Q1lBTj4gICAgc2V2ZXJhbCBsaW5lczxSRVNFVD4KKwk8Qk9MRDtZRUxMT1c+KzxSRVNFVD4KKwk8Qk9MRDtZRUxMT1c+KzxSRVNFVD4JCTxCT0xEO1lFTExPVz50b28gc2hvcnQgd2l0aG91dDxSRVNFVD4KKwk8Qk9MRDtZRUxMT1c+KzxSRVNFVD4KKwk8Qk9MRDtZRUxMT1c+KzxSRVNFVD4JPEJPTEQ7WUVMTE9XPiAgICAgICBiZWluZyBncm91cGVkIGFjcm9zcyBibGFuayBsaW5lPFJFU0VUPgorCTxCT0xEO1lFTExPVz4rPFJFU0VUPgorCTxCT0xEO0NZQU4+KzxSRVNFVD4JPEJSRUQ+IDxSRVNFVD4JPEJPTEQ7Q1lBTj5UaGVzZSB0d28gbGluZXMgaGF2ZSBoYWQgdGhlaXI8UkVTRVQ+CisJPEJPTEQ7Q1lBTj4rPFJFU0VUPjxCT0xEO0NZQU4+aW5kZW50YXRpb24gcmVkdWNlZCBieSBmb3VyIHNwYWNlczxSRVNFVD4KKwk8Qk9MRDtZRUxMT1c+KzxSRVNFVD4JCTxCT0xEO1lFTExPVz5kaWZmZXJlbnQgaW5kZW50YXRpb24gY2hhbmdlPFJFU0VUPgorCTxHUkVFTj4rPFJFU0VUPjxCUkVEPiAgPFJFU0VUPgk8R1JFRU4+dG9vIHNob3J0PFJFU0VUPgorCUVPRgorCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbWJpbmUgLS1pZ25vcmUtYmxhbmstbGluZXMgd2l0aCAtLWZ1bmN0aW9uLWNvbnRleHQnICcKKwl0ZXN0X3dyaXRlX2xpbmVzIDEgIiIgMiAzIDQgNSA+YSAmJgorCXRlc3Rfd3JpdGVfbGluZXMgMSAgICAyIDMgNCAgID5iICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGRpZmYgLS1uby1pbmRleCBcCisJCS0taWdub3JlLWJsYW5rLWxpbmVzIC0tZnVuY3Rpb24tY29udGV4dCBhIGIgPmFjdHVhbC5yYXcgJiYKKwlzZWQgLW4gIi9AQC8sXCRwIiA8YWN0dWFsLnJhdyA+YWN0dWFsICYmCisJY2F0IDw8LVxFT0YgPmV4cGVjdCAmJgorCUBAIC0xLDYgKzEsNCBAQAorCSAxCisJLQorCSAyCisJIDMKKwkgNAorCS01CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb21iaW5lIC0taWdub3JlLWJsYW5rLWxpbmVzIHdpdGggLS1mdW5jdGlvbi1jb250ZXh0IDInICcKKwl0ZXN0X3dyaXRlX2xpbmVzICAgIGEgYiBjICIiIGZ1bmN0aW9uIDEgMiAzIDQgNSAiIiA2IDcgOCA5ID5hICYmCisJdGVzdF93cml0ZV9saW5lcyAiIiBhIGIgYyAiIiBmdW5jdGlvbiAxIDIgMyA0IDUgICAgNiA3IDggICA+YiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmIC0tbm8taW5kZXggXAorCQktLWlnbm9yZS1ibGFuay1saW5lcyAtLWZ1bmN0aW9uLWNvbnRleHQgYSBiID5hY3R1YWwucmF3ICYmCisJc2VkIC1uICIvQEAvLFwkcCIgPGFjdHVhbC5yYXcgPmFjdHVhbCAmJgorCWNhdCA8PC1cRU9GID5leHBlY3QgJiYKKwlAQCAtNSwxMSArNiw5IEBAIGMKKwkgZnVuY3Rpb24KKwkgMQorCSAyCisJIDMKKwkgNAorCSA1CisJLQorCSA2CisJIDcKKwkgOAorCS05CisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDQwMTgtZGlmZi1mdW5jbmFtZS5zaCBiL3QvdDQwMTgtZGlmZi1mdW5jbmFtZS5zaAppbmRleCAyMmY5Zjg4Li4wMjI1NWEwIDEwMDc1NQotLS0gYS90L3Q0MDE4LWRpZmYtZnVuY25hbWUuc2gKKysrIGIvdC90NDAxOC1kaWZmLWZ1bmNuYW1lLnNoCkBAIC0zMSw2ICszMSw4IEBACiAJY3BwCiAJY3NoYXJwCiAJY3NzCisJZHRzCisJZWxpeGlyCiAJZm9ydHJhbgogCWZvdW50YWluCiAJZ29sYW5nCkBAIC00Myw2ICs0NSw3IEBACiAJcGhwCiAJcHl0aG9uCiAJcnVieQorCXJ1c3QKIAl0ZXgKIAljdXN0b20xCiAJY3VzdG9tMgpAQCAtMTAzLDcgKzEwNiw2IEBACiAJCXJlc3VsdD1zdWNjZXNzCiAJZmkKIAl0ZXN0X2V4cGVjdF8kcmVzdWx0ICJodW5rIGhlYWRlcjogJGkiICIKLQkJdGVzdF93aGVuX2ZpbmlzaGVkICdjYXQgYWN0dWFsJyAmJgkjIGZvciBkZWJ1Z2dpbmcgb25seQogCQlnaXQgZGlmZiAtVTEgJGkgPmFjdHVhbCAmJgogCQlncmVwICdAQCAuKiBAQC4qUklHSFQnIGFjdHVhbAogCSIKZGlmZiAtLWdpdCBhL3QvdDQwMTgvZHRzLWxhYmVscyBiL3QvdDQwMTgvZHRzLWxhYmVscwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjFlZjg3Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxOC9kdHMtbGFiZWxzCkBAIC0wLDAgKzEsOSBAQAorLyB7CisJbGFiZWxfMTogbm9kZTFAZmYwMCB7CisJCWxhYmVsMjogUklHSFQgeworCQkJdmVuZG9yLHNvbWUtcHJvcGVydHk7CisKKwkJCUNoYW5nZU1lID0gPDB4NDUtMzA+OworCQl9OworCX07Cit9OwpkaWZmIC0tZ2l0IGEvdC90NDAxOC9kdHMtbm9kZS11bml0bGVzcyBiL3QvdDQwMTgvZHRzLW5vZGUtdW5pdGxlc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzUyODdkOQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvZHRzLW5vZGUtdW5pdGxlc3MKQEAgLTAsMCArMSw4IEBACisvIHsKKwlsYWJlbF8xOiBub2RlMSB7CisJCVJJR0hUIHsKKwkJCXByb3AtYXJyYXkgPSA8MT4sIDw0PjsKKwkJCUNoYW5nZU1lID0gPDB4ZmZlZWRkMDA+OworCQl9OworCX07Cit9OwpkaWZmIC0tZ2l0IGEvdC90NDAxOC9kdHMtbm9kZXMgYi90L3Q0MDE4L2R0cy1ub2RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTQzMzRiCi0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxOC9kdHMtbm9kZXMKQEAgLTAsMCArMSw4IEBACisvIHsKKwlsYWJlbF8xOiBub2RlMUBmZjAwIHsKKwkJUklHSFRAZGVhZGYwMCw0MDAwIHsKKwkJCSNzaXplLWNlbGxzID0gPDE+OworCQkJQ2hhbmdlTWUgPSA8MHhmZmVlZGQwMD47CisJCX07CisJfTsKK307CmRpZmYgLS1naXQgYS90L3Q0MDE4L2R0cy1ub2Rlcy1ib29sZWFuLXByb3AgYi90L3Q0MDE4L2R0cy1ub2Rlcy1ib29sZWFuLXByb3AKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWZjNmI1YgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvZHRzLW5vZGVzLWJvb2xlYW4tcHJvcApAQCAtMCwwICsxLDkgQEAKKy8geworCWxhYmVsXzE6IG5vZGUxQGZmMDAgeworCQlSSUdIVEBkZWFkZjAwLDQwMDAgeworCQkJYm9vbGVhbi1wcm9wMTsKKworCQkJQ2hhbmdlTWU7CisJCX07CisJfTsKK307CmRpZmYgLS1naXQgYS90L3Q0MDE4L2R0cy1ub2Rlcy1jb21tZW50MSBiL3QvdDQwMTgvZHRzLW5vZGVzLWNvbW1lbnQxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1OWRmY2UKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDE4L2R0cy1ub2Rlcy1jb21tZW50MQpAQCAtMCwwICsxLDggQEAKKy8geworCWxhYmVsXzE6IG5vZGUxQGZmMDAgeworCQlSSUdIVEBkZWFkZjAwLDQwMDAgLyogJmEgY29tbWVudCAqLyB7CisJCQkjc2l6ZS1jZWxscyA9IDwxPjsKKwkJCUNoYW5nZU1lID0gPDB4ZmZlZWRkMDA+OworCQl9OworCX07Cit9OwpkaWZmIC0tZ2l0IGEvdC90NDAxOC9kdHMtbm9kZXMtY29tbWVudDIgYi90L3Q0MDE4L2R0cy1ub2Rlcy1jb21tZW50MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yN2U5NzE4Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxOC9kdHMtbm9kZXMtY29tbWVudDIKQEAgLTAsMCArMSw4IEBACisvIHsKKwlsYWJlbF8xOiBub2RlMUBmZjAwIHsKKwkJUklHSFRAZGVhZGYwMCw0MDAwIHsgLyogYSB0cmFpbGluZyBjb21tZW50ICovIAorCQkJI3NpemUtY2VsbHMgPSA8MT47CisJCQlDaGFuZ2VNZSA9IDwweGZmZWVkZDAwPjsKKwkJfTsKKwl9OworfTsKZGlmZiAtLWdpdCBhL3QvdDQwMTgvZHRzLW5vZGVzLW11bHRpbGluZS1wcm9wIGIvdC90NDAxOC9kdHMtbm9kZXMtbXVsdGlsaW5lLXByb3AKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDcyZDU4YgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvZHRzLW5vZGVzLW11bHRpbGluZS1wcm9wCkBAIC0wLDAgKzEsMTMgQEAKKy8geworCWxhYmVsXzE6IG5vZGUxQGZmMDAgeworCQlSSUdIVEBkZWFkZjAwLDQwMDAgeworCQkJbXVsdGlsaW5lcHJvcCA9IDwzPiwKKwkJCQkJPDQ+LAorCQkJCQk8NT4sCisJCQkJCTw2PiwKKwkJCQkJPDc+OworCisJCQlDaGFuZ2VNZSA9IDwweGZmZWVkZDAwPjsKKwkJfTsKKwl9OworfTsKZGlmZiAtLWdpdCBhL3QvdDQwMTgvZHRzLXJlZmVyZW5jZSBiL3QvdDQwMTgvZHRzLXJlZmVyZW5jZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjBjODdkCi0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxOC9kdHMtcmVmZXJlbmNlCkBAIC0wLDAgKzEsOSBAQAorJmxhYmVsXzEgeworCVRFU1QgPSA8NDU1PjsKK307CisKKyZSSUdIVCB7CisJdmVuZG9yLHNvbWUtcHJvcGVydHk7CisKKwlDaGFuZ2VNZSA9IDwweDQ1LTMwPjsKK307CmRpZmYgLS1naXQgYS90L3Q0MDE4L2R0cy1yb290IGIvdC90NDAxOC9kdHMtcm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzUzYjgyCi0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxOC9kdHMtcm9vdApAQCAtMCwwICsxLDUgQEAKKy8geyBSSUdIVCAvKiBUZWNobmljYWxseSBqdXN0IHN1cHBvc2VkIHRvIGJlIGEgc2xhc2ggYW5kIGJyYWNlICovCisJI3NpemUtY2VsbHMgPSA8MT47CisKKwlDaGFuZ2VNZSA9IDwweGZmZWVkZDAwPjsKK307CmRpZmYgLS1naXQgYS90L3Q0MDE4L2R0cy1yb290LWNvbW1lbnQgYi90L3Q0MDE4L2R0cy1yb290LWNvbW1lbnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzMzYTYyNQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvZHRzLXJvb3QtY29tbWVudApAQCAtMCwwICsxLDggQEAKKy8geyBSSUdIVCAvKiBUZWNobmljYWxseSBqdXN0IHN1cHBvc2VkIHRvIGJlIGEgc2xhc2ggYW5kIGJyYWNlICovCisJI3NpemUtY2VsbHMgPSA8MT47CisKKwkvKiBUaGlzIGNvbW1lbnQgc2hvdWxkIGJlIGlnbm9yZWQgKi8KKworCXNvbWUtcHJvcGVydHkgPSA8NDArMj47CisJQ2hhbmdlTWUgPSA8MHhmZmVlZGQwMD47Cit9OwpkaWZmIC0tZ2l0IGEvdC90NDAxOC9lbGl4aXItZG8tbm90LXBpY2stZW5kIGIvdC90NDAxOC9lbGl4aXItZG8tbm90LXBpY2stZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhZTA4YmEKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDE4L2VsaXhpci1kby1ub3QtcGljay1lbmQKQEAgLTAsMCArMSw1IEBACitkZWZtb2R1bGUgUklHSFQgZG8KK2VuZAorIworIworIyBDaGFuZ2VNZTsgZG8gbm90IHBpY2sgdXAgJ2VuZCcgbGluZQpkaWZmIC0tZ2l0IGEvdC90NDAxOC9lbGl4aXItZXgtdW5pdC10ZXN0IGIvdC90NDAxOC9lbGl4aXItZXgtdW5pdC10ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1NjBhMmIKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDE4L2VsaXhpci1leC11bml0LXRlc3QKQEAgLTAsMCArMSw2IEBACitkZWZtb2R1bGUgVGVzdCBkbworICB0ZXN0ICJSSUdIVCIgZG8KKyAgICBhc3NlcnQgdHJ1ZSA9PSB0cnVlCisgICAgYXNzZXJ0IENoYW5nZU1lCisgIGVuZAorZW5kCmRpZmYgLS1naXQgYS90L3Q0MDE4L2VsaXhpci1mdW5jdGlvbiBiL3QvdDQwMTgvZWxpeGlyLWZ1bmN0aW9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0NTJmNDkKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDE4L2VsaXhpci1mdW5jdGlvbgpAQCAtMCwwICsxLDUgQEAKK2RlZiBmdW5jdGlvbihSSUdIVCwgYXJnKSBkbworICAjIGNvbW1lbnQKKyAgIyBjb21tZW50CisgIENoYW5nZU1lCitlbmQKZGlmZiAtLWdpdCBhL3QvdDQwMTgvZWxpeGlyLW1hY3JvIGIvdC90NDAxOC9lbGl4aXItbWFjcm8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGY5MjVlOQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvZWxpeGlyLW1hY3JvCkBAIC0wLDAgKzEsNSBAQAorZGVmbWFjcm8gZm9vKFJJR0hUKSBkbworICAjIENvZGUKKyAgIyBDb2RlCisgIENoYW5nZU1lCitlbmQKZGlmZiAtLWdpdCBhL3QvdDQwMTgvZWxpeGlyLW1vZHVsZSBiL3QvdDQwMTgvZWxpeGlyLW1vZHVsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MWE0ZTdhCi0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxOC9lbGl4aXItbW9kdWxlCkBAIC0wLDAgKzEsOSBAQAorZGVmbW9kdWxlIFJJR0hUIGRvCisgIEBtb2R1bGVkb2MgIiIiCisgIEZvbyBiYXIKKyAgIiIiCisKKyAgZGVmIENoYW5nZU1lKGEpIHdoZXJlIGlzX21hcChhKSBkbworICAgIGEKKyAgZW5kCitlbmQKZGlmZiAtLWdpdCBhL3QvdDQwMTgvZWxpeGlyLW1vZHVsZS1mdW5jIGIvdC90NDAxOC9lbGl4aXItbW9kdWxlLWZ1bmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzk5MTBkMAotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvZWxpeGlyLW1vZHVsZS1mdW5jCkBAIC0wLDAgKzEsOCBAQAorZGVmbW9kdWxlIEZvbyBkbworICBkZWYgZnVuKFJJR0hUKSBkbworICAgICAjIENvZGUKKyAgICAgIyBDb2RlCisgICAgICMgQ29kZQorICAgICBDaGFuZ2VNZQorICBlbmQKK2VuZApkaWZmIC0tZ2l0IGEvdC90NDAxOC9lbGl4aXItbmVzdGVkLW1vZHVsZSBiL3QvdDQwMTgvZWxpeGlyLW5lc3RlZC1tb2R1bGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzcxZWJjNQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvZWxpeGlyLW5lc3RlZC1tb2R1bGUKQEAgLTAsMCArMSw5IEBACitkZWZtb2R1bGUgTXlBcHAuUklHSFQgZG8KKyAgQG1vZHVsZWRvYyAiIiIKKyAgRm9vIGJhcgorICAiIiIKKworICBkZWYgQ2hhbmdlTWUoYSkgd2hlcmUgaXNfbWFwKGEpIGRvCisgICAgYQorICBlbmQKK2VuZApkaWZmIC0tZ2l0IGEvdC90NDAxOC9lbGl4aXItcHJpdmF0ZS1mdW5jdGlvbiBiL3QvdDQwMTgvZWxpeGlyLXByaXZhdGUtZnVuY3Rpb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFhYmUzMwotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvZWxpeGlyLXByaXZhdGUtZnVuY3Rpb24KQEAgLTAsMCArMSw1IEBACitkZWZwIGZ1bmN0aW9uKFJJR0hULCBhcmcpIGRvCisgICMgY29tbWVudAorICAjIGNvbW1lbnQKKyAgQ2hhbmdlTWUKK2VuZApkaWZmIC0tZ2l0IGEvdC90NDAxOC9lbGl4aXItcHJvdG9jb2wgYi90L3Q0MDE4L2VsaXhpci1wcm90b2NvbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDkxNzM2Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxOC9lbGl4aXItcHJvdG9jb2wKQEAgLTAsMCArMSw2IEBACitkZWZwcm90b2NvbCBSSUdIVCBkbworICBAZG9jICIiIgorICBDYWxjdWxhdGVzIHRoZSBzaXplIChhbmQgbm90IHRoZSBsZW5ndGghKSBvZiBhIGRhdGEgc3RydWN0dXJlCisgICIiIgorICBkZWYgc2l6ZShkYXRhLCBDaGFuZ2VNZSkKK2VuZApkaWZmIC0tZ2l0IGEvdC90NDAxOC9lbGl4aXItcHJvdG9jb2wtaW1wbGVtZW50YXRpb24gYi90L3Q0MDE4L2VsaXhpci1wcm90b2NvbC1pbXBsZW1lbnRhdGlvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOTIzNGJiCi0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxOC9lbGl4aXItcHJvdG9jb2wtaW1wbGVtZW50YXRpb24KQEAgLTAsMCArMSw1IEBACitkZWZpbXBsIFJJR0hUIGRvCisgICMgRG9jcworICAjIERvY3MKKyAgZGVmIGZvbyhDaGFuZ2VNZSksIGRvOiA6b2sKK2VuZApkaWZmIC0tZ2l0IGEvdC90NDAxOC9tYXRsYWItY2xhc3MtZGVmaW5pdGlvbiBiL3QvdDQwMTgvbWF0bGFiLWNsYXNzLWRlZmluaXRpb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRkYWVkZgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvbWF0bGFiLWNsYXNzLWRlZmluaXRpb24KQEAgLTAsMCArMSw1IEBACitjbGFzc2RlZiBSSUdIVAorICAgIHByb3BlcnRpZXMKKyAgICAgICAgQ2hhbmdlTWUKKyAgICBlbmQKK2VuZApkaWZmIC0tZ2l0IGEvdC90NDAxOC9tYXRsYWItZnVuY3Rpb24gYi90L3Q0MDE4L21hdGxhYi1mdW5jdGlvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTdhOWIxCi0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxOC9tYXRsYWItZnVuY3Rpb24KQEAgLTAsMCArMSw0IEBACitmdW5jdGlvbiB5ID0gUklHSFQoKQoreCA9IDU7Cit5ID0gQ2hhbmdlTWUgKyB4OworZW5kCmRpZmYgLS1naXQgYS90L3Q0MDE4L21hdGxhYi1vY3RhdmUtc2VjdGlvbi0xIGIvdC90NDAxOC9tYXRsYWItb2N0YXZlLXNlY3Rpb24tMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYmI2YzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxOC9tYXRsYWItb2N0YXZlLXNlY3Rpb24tMQpAQCAtMCwwICsxLDMgQEAKKyUlJSBSSUdIVCBzZWN0aW9uCisjIHRoaXMgaXMgb2N0YXZlIHNjcmlwdAorQ2hhbmdlTWUgPSAxOwpkaWZmIC0tZ2l0IGEvdC90NDAxOC9tYXRsYWItb2N0YXZlLXNlY3Rpb24tMiBiL3QvdDQwMTgvbWF0bGFiLW9jdGF2ZS1zZWN0aW9uLTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWIyOTgwZgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvbWF0bGFiLW9jdGF2ZS1zZWN0aW9uLTIKQEAgLTAsMCArMSwzIEBACisjIyBSSUdIVCBzZWN0aW9uCisjIHRoaXMgaXMgb2N0YXZlIHNjcmlwdAorQ2hhbmdlTWUgPSAxOwpkaWZmIC0tZ2l0IGEvdC90NDAxOC9tYXRsYWItc2VjdGlvbiBiL3QvdDQwMTgvbWF0bGFiLXNlY3Rpb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWVhNTlhNQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvbWF0bGFiLXNlY3Rpb24KQEAgLTAsMCArMSwzIEBACislJSBSSUdIVCBzZWN0aW9uCislIHRoaXMgaXMgdW5kZXJzdG9vZCBieSBib3RoIG1hdGxhYiBhbmQgb2N0YXZlCitDaGFuZ2VNZSA9IDE7CmRpZmYgLS1naXQgYS90L3Q0MDE4L3B5dGhvbi1hc3luYy1kZWYgYi90L3Q0MDE4L3B5dGhvbi1hc3luYy1kZWYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODc2NDBlMAotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvcHl0aG9uLWFzeW5jLWRlZgpAQCAtMCwwICsxLDQgQEAKK2FzeW5jIGRlZiBSSUdIVChwaTogaW50ID0gMy4xNCk6CisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgYnJlYWsKKyAgICByZXR1cm4gQ2hhbmdlTWUoKQpkaWZmIC0tZ2l0IGEvdC90NDAxOC9weXRob24tY2xhc3MgYi90L3Q0MDE4L3B5dGhvbi1jbGFzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTllNzQxCi0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxOC9weXRob24tY2xhc3MKQEAgLTAsMCArMSw0IEBACitjbGFzcyBSSUdIVChpbnQsIHN0cik6CisgICAgIyBjb21tZW50CisgICAgIyBhbm90aGVyIGNvbW1lbnQKKyAgICAjIENoYW5nZU1lCmRpZmYgLS1naXQgYS90L3Q0MDE4L3B5dGhvbi1kZWYgYi90L3Q0MDE4L3B5dGhvbi1kZWYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTUwYjMxYgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvcHl0aG9uLWRlZgpAQCAtMCwwICsxLDQgQEAKK2RlZiBSSUdIVChwaTogaW50ID0gMy4xNCk6CisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgYnJlYWsKKyAgICByZXR1cm4gQ2hhbmdlTWUoKQpkaWZmIC0tZ2l0IGEvdC90NDAxOC9weXRob24taW5kZW50ZWQtYXN5bmMtZGVmIGIvdC90NDAxOC9weXRob24taW5kZW50ZWQtYXN5bmMtZGVmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1ZDAzMjUKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDE4L3B5dGhvbi1pbmRlbnRlZC1hc3luYy1kZWYKQEAgLTAsMCArMSw3IEBACitjbGFzcyBGb286CisgICAgYXN5bmMgZGVmIFJJR0hUKHNlbGYsIHg6IGludCk6CisgICAgICAgIHJldHVybiBbCisgICAgICAgICAgICAxLAorICAgICAgICAgICAgMiwKKyAgICAgICAgICAgIENoYW5nZU1lLAorICAgICAgICBdCmRpZmYgLS1naXQgYS90L3Q0MDE4L3B5dGhvbi1pbmRlbnRlZC1jbGFzcyBiL3QvdDQwMTgvcHl0aG9uLWluZGVudGVkLWNsYXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5YjRmMzUKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDE4L3B5dGhvbi1pbmRlbnRlZC1jbGFzcwpAQCAtMCwwICsxLDUgQEAKK2lmIFRZUEVfQ0hFQ0tJTkc6CisgICAgY2xhc3MgUklHSFQ6CisgICAgICAgICMgY29tbWVudAorICAgICAgICAjIGFub3RoZXIgY29tbWVudAorICAgICAgICAjIENoYW5nZU1lCmRpZmYgLS1naXQgYS90L3Q0MDE4L3B5dGhvbi1pbmRlbnRlZC1kZWYgYi90L3Q0MDE4L3B5dGhvbi1pbmRlbnRlZC1kZWYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjA4ZmJhZAotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvcHl0aG9uLWluZGVudGVkLWRlZgpAQCAtMCwwICsxLDcgQEAKK2NsYXNzIEZvbzoKKyAgICBkZWYgUklHSFQoc2VsZiwgeDogaW50KToKKyAgICAgICAgcmV0dXJuIFsKKyAgICAgICAgICAgIDEsCisgICAgICAgICAgICAyLAorICAgICAgICAgICAgQ2hhbmdlTWUsCisgICAgICAgIF0KZGlmZiAtLWdpdCBhL3QvdDQwMTgvcnVzdC1mbiBiL3QvdDQwMTgvcnVzdC1mbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYmUwMjE1Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NDAxOC9ydXN0LWZuCkBAIC0wLDAgKzEsNSBAQAorcHViKHNlbGYpIGZuIFJJR0hUPFQ+KHg6ICZbVF0pIHdoZXJlIFQ6IERlYnVnIHsKKyAgICBsZXQgXyA9IHg7CisgICAgLy8gYSBjb21tZW50CisgICAgbGV0IGEgPSBDaGFuZ2VNZTsKK30KZGlmZiAtLWdpdCBhL3QvdDQwMTgvcnVzdC1pbXBsIGIvdC90NDAxOC9ydXN0LWltcGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDlkZjNjZAotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvcnVzdC1pbXBsCkBAIC0wLDAgKzEsNSBAQAoraW1wbDwnYSwgVDogQXNSZWY8W3U4XT4+ICBzdGQ6OlJJR0hUIGZvciBHaXQ8J2E+IHsKKworICAgIHB1YiBmbiBDaGFuZ2VNZSgmc2VsZikgLT4gKCkgeworICAgIH0KK30KZGlmZiAtLWdpdCBhL3QvdDQwMTgvcnVzdC1zdHJ1Y3QgYi90L3Q0MDE4L3J1c3Qtc3RydWN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2YWZmMWMKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDE4L3J1c3Qtc3RydWN0CkBAIC0wLDAgKzEsNSBAQAorI1tkZXJpdmUoRGVidWcpXQorcHViKHN1cGVyKSBzdHJ1Y3QgUklHSFQ8J2E+IHsKKyAgICBuYW1lOiAmJ2Egc3RyLAorICAgIGFnZTogQ2hhbmdlTWUsCit9CmRpZmYgLS1naXQgYS90L3Q0MDE4L3J1c3QtdHJhaXQgYi90L3Q0MDE4L3J1c3QtdHJhaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWEzOTdmMAotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMTgvcnVzdC10cmFpdApAQCAtMCwwICsxLDUgQEAKK3Vuc2FmZSB0cmFpdCBSSUdIVDxUPiB7CisgICAgZm4gbGVuKCZzZWxmKSAtPiB1MzI7CisgICAgZm4gQ2hhbmdlTWUoJnNlbGYsIG46IHUzMikgLT4gVDsKKyAgICBmbiBpdGVyPEY+KCZzZWxmLCBmOiBGKSB3aGVyZSBGOiBGbihUKTsKK30KZGlmZiAtLWdpdCBhL3QvdDQwMjYtY29sb3Iuc2ggYi90L3Q0MDI2LWNvbG9yLnNoCmluZGV4IDY3MWU5NTEuLmMwYjY0MmMgMTAwNzU1Ci0tLSBhL3QvdDQwMjYtY29sb3Iuc2gKKysrIGIvdC90NDAyNi1jb2xvci5zaApAQCAtMzAsNiArMzAsMTQgQEAKIAljb2xvciAiYm9sZCByZWQiICJbMTszMW0iCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FpeHRlcm0gYnJpZ2h0IGZnIGNvbG9yJyAnCisJY29sb3IgImJyaWdodHJlZCIgIls5MW0iCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FpeHRlcm0gYnJpZ2h0IGJnIGNvbG9yJyAnCisJY29sb3IgImdyZWVuIGJyaWdodGJsdWUiICJbMzI7MTA0bSIKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY29sb3IgbmFtZSBiZWZvcmUgYXR0cmlidXRlJyAnCiAJY29sb3IgInJlZCBib2xkIiAiWzE7MzFtIgogJwpAQCAtNzQsNiArODIsMTAgQEAKIAljb2xvciAiMCA3IiAiWzMwOzQ3bSIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnOC0xNSBhcmUgYWxpYXNlcyBmb3IgYWl4dGVybSBjb2xvciBuYW1lcycgJworCWNvbG9yICIxMiAxMyIgIls5NDsxMDVtIgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICcyNTYgY29sb3JzJyAnCiAJY29sb3IgIjI1NCBib2xkIDI1NSIgIlsxOzM4OzU7MjU0OzQ4OzU7MjU1bSIKICcKZGlmZiAtLWdpdCBhL3QvdDQwMjctZGlmZi1zdWJtb2R1bGUuc2ggYi90L3Q0MDI3LWRpZmYtc3VibW9kdWxlLnNoCmluZGV4IDlhYThlMmIuLmUyOWRlYWYgMTAwNzU1Ci0tLSBhL3QvdDQwMjctZGlmZi1zdWJtb2R1bGUuc2gKKysrIGIvdC90NDAyNy1kaWZmLXN1Ym1vZHVsZS5zaApAQCAtNiw2ICs2LDcgQEAKIC4gIiRURVNUX0RJUkVDVE9SWSIvZGlmZi1saWIuc2gKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCisJdGVzdF9vaWRfaW5pdCAmJgogCXRlc3RfdGljayAmJgogCXRlc3RfY3JlYXRlX3JlcG8gc3ViICYmCiAJKApAQCAtMzYsNyArMzcsOCBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgZGlmZiAtLXJhdyBIRUFEJyAnCi0JZ2l0IGRpZmYgLS1yYXcgLS1hYmJyZXY9NDAgSEVBRCA+YWN0dWFsICYmCisJaGV4c3o9JCh0ZXN0X29pZCBoZXhzeikgJiYKKwlnaXQgZGlmZiAtLXJhdyAtLWFiYnJldj0kaGV4c3ogSEVBRCA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCkBAIC0yNDUsMjMgKzI0NywyMSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb25mbGljdGVkIHN1Ym1vZHVsZSBzZXR1cCcgJwotCi0JIyAzOSBlZnMKLQljPWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiAmJgorCWM9JCh0ZXN0X29pZCBmZl8xKSAmJgogCSgKIAkJZWNobyAiMDAwMDAwICRaRVJPX09JRCAwCXN1YiIgJiYKIAkJZWNobyAiMTYwMDAwIDEkYyAxCXN1YiIgJiYKIAkJZWNobyAiMTYwMDAwIDIkYyAyCXN1YiIgJiYKIAkJZWNobyAiMTYwMDAwIDMkYyAzCXN1YiIKIAkpIHwgZ2l0IHVwZGF0ZS1pbmRleCAtLWluZGV4LWluZm8gJiYKLQllY2hvID5leHBlY3Qubm9zdWIgJ1wnJ2RpZmYgLS1jYyBzdWIKKwllY2hvID5leHBlY3Qubm9zdWIgImRpZmYgLS1jYyBzdWIKIGluZGV4IDJmZmZmZmYsM2ZmZmZmZi4uMDAwMDAwMAogLS0tIGEvc3ViCiArKysgYi9zdWIKIEBAQCAtMSwxIC0xLDEgKzEsMSBAQEAKLS0gU3VicHJvamVjdCBjb21taXQgMmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZgotIC1TdWJwcm9qZWN0IGNvbW1pdCAzZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmCi0rK1N1YnByb2plY3QgY29tbWl0IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnXCcnICYmCistIFN1YnByb2plY3QgY29tbWl0IDIkYworIC1TdWJwcm9qZWN0IGNvbW1pdCAzJGMKKysrU3VicHJvamVjdCBjb21taXQgJFpFUk9fT0lEIiAmJgogCiAJaGg9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCiAJc2VkIC1lICJzLyRaRVJPX09JRC8kaGgvIiBleHBlY3Qubm9zdWIgPmV4cGVjdC53aXRoc3ViCmRpZmYgLS1naXQgYS90L3Q0MDM0LWRpZmYtd29yZHMuc2ggYi90L3Q0MDM0LWRpZmYtd29yZHMuc2gKaW5kZXggOTEyZGY5MS4uZmIxNDVhYSAxMDA3NTUKLS0tIGEvdC90NDAzNC1kaWZmLXdvcmRzLnNoCisrKyBiL3QvdDQwMzQtZGlmZi13b3Jkcy5zaApAQCAtMTksOSArMTksMTEgQEAKIAogCWFlZmYgPSBhZWZmICogKCBhYWEgKQogRU9GCi1jYXQgPmV4cGVjdC5sZXR0ZXItcnVucy1hcmUtd29yZHMgPDwtXEVPRgorcHJlPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0ICQoZ2l0IGhhc2gtb2JqZWN0IHByZS5zaW1wbGUpKQorcG9zdD0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCAkKGdpdCBoYXNoLW9iamVjdCBwb3N0LnNpbXBsZSkpCitjYXQgPmV4cGVjdC5sZXR0ZXItcnVucy1hcmUtd29yZHMgPDwtRU9GCiAJPEJPTEQ+ZGlmZiAtLWdpdCBhL3ByZSBiL3Bvc3Q8UkVTRVQ+Ci0JPEJPTEQ+aW5kZXggMzMwYjA0Zi4uNWVkOGVmZiAxMDA2NDQ8UkVTRVQ+CisJPEJPTEQ+aW5kZXggJHByZS4uJHBvc3QgMTAwNjQ0PFJFU0VUPgogCTxCT0xEPi0tLSBhL3ByZTxSRVNFVD4KIAk8Qk9MRD4rKysgYi9wb3N0PFJFU0VUPgogCTxDWUFOPkBAIC0xLDMgKzEsNyBAQDxSRVNFVD4KQEAgLTMzLDkgKzM1LDkgQEAKIAogCTxHUkVFTj5hZWZmID0gYWVmZiAqICggYWFhPFJFU0VUPiApCiBFT0YKLWNhdCA+ZXhwZWN0Lm5vbi13aGl0ZXNwYWNlLWlzLXdvcmQgPDwtXEVPRgorY2F0ID5leHBlY3Qubm9uLXdoaXRlc3BhY2UtaXMtd29yZCA8PC1FT0YKIAk8Qk9MRD5kaWZmIC0tZ2l0IGEvcHJlIGIvcG9zdDxSRVNFVD4KLQk8Qk9MRD5pbmRleCAzMzBiMDRmLi41ZWQ4ZWZmIDEwMDY0NDxSRVNFVD4KKwk8Qk9MRD5pbmRleCAkcHJlLi4kcG9zdCAxMDA2NDQ8UkVTRVQ+CiAJPEJPTEQ+LS0tIGEvcHJlPFJFU0VUPgogCTxCT0xEPisrKyBiL3Bvc3Q8UkVTRVQ+CiAJPENZQU4+QEAgLTEsMyArMSw3IEBAPFJFU0VUPgpAQCAtNDksOSArNTEsMTIgQEAKIEVPRgogCiB3b3JkX2RpZmYgKCkgeworCXByZT0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCAkKGdpdCBoYXNoLW9iamVjdCBwcmUpKSAmJgorCXBvc3Q9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgJChnaXQgaGFzaC1vYmplY3QgcG9zdCkpICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGRpZmYgLS1uby1pbmRleCAiJEAiIHByZSBwb3N0ID5vdXRwdXQgJiYKIAl0ZXN0X2RlY29kZV9jb2xvciA8b3V0cHV0ID5vdXRwdXQuZGVjcnlwdGVkICYmCi0JdGVzdF9jbXAgZXhwZWN0IG91dHB1dC5kZWNyeXB0ZWQKKwlzZWQgLWUgIjJzL2luZGV4IFteIF0qL2luZGV4ICRwcmUuLiRwb3N0LyIgZXhwZWN0ID5leHBlY3RlZAorCXRlc3RfY21wIGV4cGVjdGVkIG91dHB1dC5kZWNyeXB0ZWQKIH0KIAogdGVzdF9sYW5ndWFnZV9kcml2ZXIgKCkgewpAQCAtNzcsOSArODIsOSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd3b3JkIGRpZmYgd2l0aCBydW5zIG9mIHdoaXRlc3BhY2UnICcKLQljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCiAJCTxCT0xEPmRpZmYgLS1naXQgYS9wcmUgYi9wb3N0PFJFU0VUPgotCQk8Qk9MRD5pbmRleCAzMzBiMDRmLi41ZWQ4ZWZmIDEwMDY0NDxSRVNFVD4KKwkJPEJPTEQ+aW5kZXggJHByZS4uJHBvc3QgMTAwNjQ0PFJFU0VUPgogCQk8Qk9MRD4tLS0gYS9wcmU8UkVTRVQ+CiAJCTxCT0xEPisrKyBiL3Bvc3Q8UkVTRVQ+CiAJCTxDWUFOPkBAIC0xLDMgKzEsNyBAQDxSRVNFVD4KQEAgLTk3LDkgKzEwMiw5IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0td29yZC1kaWZmPXBvcmNlbGFpbicgJwotCXNlZCAncy8jLiokLy8nID5leHBlY3QgPDwtXEVPRiAmJgorCXNlZCAncy8jLiokLy8nID5leHBlY3QgPDwtRU9GICYmCiAJCWRpZmYgLS1naXQgYS9wcmUgYi9wb3N0Ci0JCWluZGV4IDMzMGIwNGYuLjVlZDhlZmYgMTAwNjQ0CisJCWluZGV4ICRwcmUuLiRwb3N0IDEwMDY0NAogCQktLS0gYS9wcmUKIAkJKysrIGIvcG9zdAogCQlAQCAtMSwzICsxLDcgQEAKQEAgLTEyMSw5ICsxMjYsOSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXdvcmQtZGlmZj1wbGFpbicgJwotCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKIAkJZGlmZiAtLWdpdCBhL3ByZSBiL3Bvc3QKLQkJaW5kZXggMzMwYjA0Zi4uNWVkOGVmZiAxMDA2NDQKKwkJaW5kZXggJHByZS4uJHBvc3QgMTAwNjQ0CiAJCS0tLSBhL3ByZQogCQkrKysgYi9wb3N0CiAJCUBAIC0xLDMgKzEsNyBAQApAQCAtMTQwLDkgKzE0NSw5IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0td29yZC1kaWZmPXBsYWluIC0tY29sb3InICcKLQljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCiAJCTxCT0xEPmRpZmYgLS1naXQgYS9wcmUgYi9wb3N0PFJFU0VUPgotCQk8Qk9MRD5pbmRleCAzMzBiMDRmLi41ZWQ4ZWZmIDEwMDY0NDxSRVNFVD4KKwkJPEJPTEQ+aW5kZXggJHByZS4uJHBvc3QgMTAwNjQ0PFJFU0VUPgogCQk8Qk9MRD4tLS0gYS9wcmU8UkVTRVQ+CiAJCTxCT0xEPisrKyBiL3Bvc3Q8UkVTRVQ+CiAJCTxDWUFOPkBAIC0xLDMgKzEsNyBAQDxSRVNFVD4KQEAgLTE1OCw5ICsxNjMsOSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd3b3JkIGRpZmYgd2l0aG91dCBjb250ZXh0JyAnCi0JY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgogCQk8Qk9MRD5kaWZmIC0tZ2l0IGEvcHJlIGIvcG9zdDxSRVNFVD4KLQkJPEJPTEQ+aW5kZXggMzMwYjA0Zi4uNWVkOGVmZiAxMDA2NDQ8UkVTRVQ+CisJCTxCT0xEPmluZGV4ICRwcmUuLiRwb3N0IDEwMDY0NDxSRVNFVD4KIAkJPEJPTEQ+LS0tIGEvcHJlPFJFU0VUPgogCQk8Qk9MRD4rKysgYi9wb3N0PFJFU0VUPgogCQk8Q1lBTj5AQCAtMSArMSBAQDxSRVNFVD4KQEAgLTIwNyw5ICsyMTIsOSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb21tYW5kLWxpbmUgb3ZlcnJpZGVzIGNvbmZpZzogLS13b3JkLWRpZmYtcmVnZXgnICcKLQljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCiAJCTxCT0xEPmRpZmYgLS1naXQgYS9wcmUgYi9wb3N0PFJFU0VUPgotCQk8Qk9MRD5pbmRleCAzMzBiMDRmLi41ZWQ4ZWZmIDEwMDY0NDxSRVNFVD4KKwkJPEJPTEQ+aW5kZXggJHByZS4uJHBvc3QgMTAwNjQ0PFJFU0VUPgogCQk8Qk9MRD4tLS0gYS9wcmU8UkVTRVQ+CiAJCTxCT0xEPisrKyBiL3Bvc3Q8UkVTRVQ+CiAJCTxDWUFOPkBAIC0xLDMgKzEsNyBAQDxSRVNFVD4KQEAgLTIzNCw5ICsyMzksOSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd1c2UgY29uZmlndXJlZCByZWdleCcgJwotCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKIAkJPEJPTEQ+ZGlmZiAtLWdpdCBhL3ByZSBiL3Bvc3Q8UkVTRVQ+Ci0JCTxCT0xEPmluZGV4IDMzMGIwNGYuLjVlZDhlZmYgMTAwNjQ0PFJFU0VUPgorCQk8Qk9MRD5pbmRleCAkcHJlLi4kcG9zdCAxMDA2NDQ8UkVTRVQ+CiAJCTxCT0xEPi0tLSBhL3ByZTxSRVNFVD4KIAkJPEJPTEQ+KysrIGIvcG9zdDxSRVNFVD4KIAkJPENZQU4+QEAgLTEsMyArMSw3IEBAPFJFU0VUPgpAQCAtMjU0LDkgKzI1OSwxMSBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCBwYXJzaW5nIHdvcmRzIGZvciBuZXdsaW5lJyAnCiAJZWNobyAiYWFhIChhYWEpIiA+cHJlICYmCiAJZWNobyAiYWFhIChhYWEpIGFhYSIgPnBvc3QgJiYKLQljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJcHJlPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0ICQoZ2l0IGhhc2gtb2JqZWN0IHByZSkpICYmCisJcG9zdD0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCAkKGdpdCBoYXNoLW9iamVjdCBwb3N0KSkgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKIAkJPEJPTEQ+ZGlmZiAtLWdpdCBhL3ByZSBiL3Bvc3Q8UkVTRVQ+Ci0JCTxCT0xEPmluZGV4IGMyOTQ1M2IuLmJlMjJmMzcgMTAwNjQ0PFJFU0VUPgorCQk8Qk9MRD5pbmRleCAkcHJlLi4kcG9zdCAxMDA2NDQ8UkVTRVQ+CiAJCTxCT0xEPi0tLSBhL3ByZTxSRVNFVD4KIAkJPEJPTEQ+KysrIGIvcG9zdDxSRVNFVD4KIAkJPENZQU4+QEAgLTEgKzEgQEA8UkVTRVQ+CkBAIC0yNjgsOSArMjc1LDExIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IHdoZW4gd29yZHMgYXJlIG9ubHkgcmVtb3ZlZCBhdCB0aGUgZW5kJyAnCiAJZWNobyAiKDoiID5wcmUgJiYKIAllY2hvICIoIiA+cG9zdCAmJgotCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlwcmU9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgJChnaXQgaGFzaC1vYmplY3QgcHJlKSkgJiYKKwlwb3N0PSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0ICQoZ2l0IGhhc2gtb2JqZWN0IHBvc3QpKSAmJgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgogCQk8Qk9MRD5kaWZmIC0tZ2l0IGEvcHJlIGIvcG9zdDxSRVNFVD4KLQkJPEJPTEQ+aW5kZXggMjg5Y2I5ZC4uMmQwNmYzNyAxMDA2NDQ8UkVTRVQ+CisJCTxCT0xEPmluZGV4ICRwcmUuLiRwb3N0IDEwMDY0NDxSRVNFVD4KIAkJPEJPTEQ+LS0tIGEvcHJlPFJFU0VUPgogCQk8Qk9MRD4rKysgYi9wb3N0PFJFU0VUPgogCQk8Q1lBTj5AQCAtMSArMSBAQDxSRVNFVD4KQEAgLTI4Miw5ICsyOTEsMTEgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0td29yZC1kaWZmPW5vbmUnICcKIAllY2hvICIoOiIgPnByZSAmJgogCWVjaG8gIigiID5wb3N0ICYmCi0JY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCXByZT0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCAkKGdpdCBoYXNoLW9iamVjdCBwcmUpKSAmJgorCXBvc3Q9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgJChnaXQgaGFzaC1vYmplY3QgcG9zdCkpICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCiAJCWRpZmYgLS1naXQgYS9wcmUgYi9wb3N0Ci0JCWluZGV4IDI4OWNiOWQuLjJkMDZmMzcgMTAwNjQ0CisJCWluZGV4ICRwcmUuLiRwb3N0IDEwMDY0NAogCQktLS0gYS9wcmUKIAkJKysrIGIvcG9zdAogCQlAQCAtMSArMSBAQApAQCAtMzAzLDYgKzMxNCw3IEBACiB0ZXN0X2xhbmd1YWdlX2RyaXZlciBjcHAKIHRlc3RfbGFuZ3VhZ2VfZHJpdmVyIGNzaGFycAogdGVzdF9sYW5ndWFnZV9kcml2ZXIgY3NzCit0ZXN0X2xhbmd1YWdlX2RyaXZlciBkdHMKIHRlc3RfbGFuZ3VhZ2VfZHJpdmVyIGZvcnRyYW4KIHRlc3RfbGFuZ3VhZ2VfZHJpdmVyIGh0bWwKIHRlc3RfbGFuZ3VhZ2VfZHJpdmVyIGphdmEKQEAgLTMxNiwxNiArMzI4LDYgQEAKIHRlc3RfbGFuZ3VhZ2VfZHJpdmVyIHRleAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd3b3JkLWRpZmYgd2l0aCBkaWZmLnNiZScgJwotCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKLQlkaWZmIC0tZ2l0IGEvcHJlIGIvcG9zdAotCWluZGV4IGExYTUzYjUuLmJjOGZlNmQgMTAwNjQ0Ci0JLS0tIGEvcHJlCi0JKysrIGIvcG9zdAotCUBAIC0xLDMgKzEsMyBAQAotCWEKLQotCVstYi1deytjK30KLQlFT0YKIAljYXQgPnByZSA8PC1cRU9GICYmCiAJYQogCkBAIC0zMzYsMjEgKzMzOCwzNSBAQAogCiAJYwogCUVPRgorCXByZT0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCAkKGdpdCBoYXNoLW9iamVjdCBwcmUpKSAmJgorCXBvc3Q9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgJChnaXQgaGFzaC1vYmplY3QgcG9zdCkpICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJZGlmZiAtLWdpdCBhL3ByZSBiL3Bvc3QKKwlpbmRleCAkcHJlLi4kcG9zdCAxMDA2NDQKKwktLS0gYS9wcmUKKwkrKysgYi9wb3N0CisJQEAgLTEsMyArMSwzIEBACisJYQorCisJWy1iLV17K2MrfQorCUVPRgogCXRlc3RfY29uZmlnIGRpZmYuc3VwcHJlc3MtYmxhbmstZW1wdHkgdHJ1ZSAmJgogCXdvcmRfZGlmZiAtLXdvcmQtZGlmZj1wbGFpbgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd3b3JkLWRpZmYgd2l0aCBubyBuZXdsaW5lIGF0IEVPRicgJwotCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlwcmludGYgIiVzIiAiYSBhIGEgYSBhIiA+cHJlICYmCisJcHJpbnRmICIlcyIgImEgYSBhYiBhIGEiID5wb3N0ICYmCisJcHJlPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0ICQoZ2l0IGhhc2gtb2JqZWN0IHByZSkpICYmCisJcG9zdD0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCAkKGdpdCBoYXNoLW9iamVjdCBwb3N0KSkgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKIAlkaWZmIC0tZ2l0IGEvcHJlIGIvcG9zdAotCWluZGV4IDdiZjMxNmUuLjNkZDAzMDMgMTAwNjQ0CisJaW5kZXggJHByZS4uJHBvc3QgMTAwNjQ0CiAJLS0tIGEvcHJlCiAJKysrIGIvcG9zdAogCUBAIC0xICsxIEBACiAJYSBhIFstYS1deythYit9IGEgYQogCUVPRgotCXByaW50ZiAiJXMiICJhIGEgYSBhIGEiID5wcmUgJiYKLQlwcmludGYgIiVzIiAiYSBhIGFiIGEgYSIgPnBvc3QgJiYKIAl3b3JkX2RpZmYgLS13b3JkLWRpZmY9cGxhaW4KICcKIApkaWZmIC0tZ2l0IGEvdC90NDAzNC9kdHMvZXhwZWN0IGIvdC90NDAzNC9kdHMvZXhwZWN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2MGZjOTkKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDM0L2R0cy9leHBlY3QKQEAgLTAsMCArMSwzNyBAQAorPEJPTEQ+ZGlmZiAtLWdpdCBhL3ByZSBiL3Bvc3Q8UkVTRVQ+Cis8Qk9MRD5pbmRleCBiNmE5MDUxLi43ODAzYWVlIDEwMDY0NDxSRVNFVD4KKzxCT0xEPi0tLSBhL3ByZTxSRVNFVD4KKzxCT0xEPisrKyBiL3Bvc3Q8UkVTRVQ+Cis8Q1lBTj5AQCAtMSwzMiArMSwzMiBAQDxSRVNFVD4KKy8gezxSRVNFVD4KKwk8UkVEPnRoaXNfaGFuZGxlPFJFU0VUPjxHUkVFTj5IQU5ETEVfMjxSRVNFVD46IDxSRUQ+bm9kZTxSRVNFVD48R1JFRU4+bmV3LW5vZGU8UkVTRVQ+QDxSRUQ+ZjAwPFJFU0VUPjxHUkVFTj5lZWRhPFJFU0VUPiB7CisJCWNvbXBhdGlibGUgPSAiPFJFRD5teWRldjxSRVNFVD48R1JFRU4+dmVuZG9yLGNvbXBhdDxSRVNFVD4iOworCQlzdHJpbmctcHJvcCA9IDxSRUQ+c3RhcnQ8UkVTRVQ+PEdSRUVOPmVuZDxSRVNFVD46ICJoZWxsbyA8UkVEPndvcmxkITxSRVNFVD48R1JFRU4+d29ybGQ/PFJFU0VUPiIgPFJFRD5lbmQ8UkVTRVQ+PEdSRUVOPnN0YXJ0PFJFU0VUPjogOworCQk8UkVEPiNzaXplLWNlbGxzPFJFU0VUPjxHUkVFTj4jYWRkcmVzcy1jZWxsczxSRVNFVD4gPSA8PFJFRD4wKzA8UkVTRVQ+PEdSRUVOPjArNDA8UkVTRVQ+PjsKKwkJcmVnID0gPDxSRUQ+MHhmMDA8UkVTRVQ+PEdSRUVOPjB4ZWVkYTxSRVNFVD4+OworCQlwcm9wID0gPDxHUkVFTj4oPFJFU0VUPjE8R1JFRU4+KTxSRVNFVD4+OworCQlwcm9wID0gPDxHUkVFTj4oPFJFU0VUPi0xZTEwPEdSRUVOPik8UkVTRVQ+PjsKKwkJcHJvcCA9IDwoITxSRUQ+MzxSRVNFVD48R1JFRU4+MTxSRVNFVD4pPjsKKwkJcHJvcCA9IDwofjxSRUQ+MzxSRVNFVD48R1JFRU4+MTxSRVNFVD4pPjsKKwkJcHJvcCA9IDwoPFJFRD4zPFJFU0VUPjxHUkVFTj4xPFJFU0VUPio8UkVEPjQ8UkVTRVQ+PEdSRUVOPjI8UkVTRVQ+KT47CisJCXByb3AgPSA8KDxSRUQ+MzxSRVNFVD48R1JFRU4+MTxSRVNFVD4mPFJFRD40PFJFU0VUPjxHUkVFTj4yPFJFU0VUPik+OworCQlwcm9wID0gPCg8UkVEPjM8UkVTRVQ+PEdSRUVOPjE8UkVTRVQ+KjxSRUQ+NDxSRVNFVD48R1JFRU4+MjxSRVNFVD4pPjsKKwkJcHJvcCA9IDwoPFJFRD4zPFJFU0VUPjxHUkVFTj4xPFJFU0VUPi88UkVEPjQ8UkVTRVQ+PEdSRUVOPjI8UkVTRVQ+KT47CisJCXByb3AgPSA8KDxSRUQ+MzxSRVNFVD48R1JFRU4+MTxSRVNFVD4lPFJFRD40PFJFU0VUPjxHUkVFTj4yPFJFU0VUPik+OworCQlwcm9wID0gPCg8UkVEPjMrNDxSRVNFVD48R1JFRU4+MSsyPFJFU0VUPik+OworCQlwcm9wID0gPCg8UkVEPjMtNDxSRVNFVD48R1JFRU4+MS0yPFJFU0VUPik+OworCQlwcm9wID0gL2JpdHMvIDxSRUQ+NjQ8UkVTRVQ+PEdSRUVOPjMyPFJFU0VUPiA8KDxSRUQ+MzxSRVNFVD48R1JFRU4+MTxSRVNFVD48PDxSRUQ+NDxSRVNFVD48R1JFRU4+MjxSRVNFVD4pPjsKKwkJcHJvcCA9IDwoPFJFRD4zPFJFU0VUPjxHUkVFTj4xPFJFU0VUPj4+PFJFRD40PFJFU0VUPjxHUkVFTj4yPFJFU0VUPik+OworCQlwcm9wID0gPCg8UkVEPjM8UkVTRVQ+PEdSRUVOPjE8UkVTRVQ+JjxSRUQ+NDxSRVNFVD48R1JFRU4+MjxSRVNFVD4pPjsKKwkJcHJvcCA9IDwoPFJFRD4zPFJFU0VUPjxHUkVFTj4xPFJFU0VUPl48UkVEPjQ8UkVTRVQ+PEdSRUVOPjI8UkVTRVQ+KT47CisJCXByb3AgPSA8KDxSRUQ+MzxSRVNFVD48R1JFRU4+MTxSRVNFVD58PFJFRD40PFJFU0VUPjxHUkVFTj4yPFJFU0VUPik+OworCQlwcm9wID0gPCg8UkVEPjM8UkVTRVQ+PEdSRUVOPjE8UkVTRVQ+JiY8UkVEPjQ8UkVTRVQ+PEdSRUVOPjI8UkVTRVQ+KT47CisJCXByb3AgPSA8KDxSRUQ+MzxSRVNFVD48R1JFRU4+MTxSRVNFVD58fDxSRUQ+NDxSRVNFVD48R1JFRU4+MjxSRVNFVD4pPjsKKwkJcHJvcCA9IDwoPFJFRD40PzU8UkVTRVQ+PEdSRUVOPjE/MjxSRVNFVD46Myk+OworCQlsaXN0ID0gPCY8UkVEPnRoaXNfaGFuZGxlPFJFU0VUPjxHUkVFTj5IQU5ETEVfMjxSRVNFVD4+LCA8MCAwIDAgPFJFRD4wPFJFU0VUPjxHUkVFTj4xPFJFU0VUPj47CisJfTs8UkVTRVQ+CisKKwkmPFJFRD5waGFuZGxlPFJFU0VUPjxHUkVFTj5waGFuZGxlMjxSRVNFVD4geworCQk8UkVEPnByZS1waGFuZGxlPFJFU0VUPjxHUkVFTj5wcm9wX2hhbmRsZTxSRVNFVD4gPSA8JjxSRUQ+dGhpc19oYW5kbGU8UkVTRVQ+PEdSRUVOPkhBTkRMRV8yPFJFU0VUPj47CisJfTs8UkVTRVQ+Cit9OzxSRVNFVD4KZGlmZiAtLWdpdCBhL3QvdDQwMzQvZHRzL3Bvc3QgYi90L3Q0MDM0L2R0cy9wb3N0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4MDNhZWUKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MDM0L2R0cy9wb3N0CkBAIC0wLDAgKzEsMzIgQEAKKy8geworCUhBTkRMRV8yOiBuZXctbm9kZUBlZWRhIHsKKwkJY29tcGF0aWJsZSA9ICJ2ZW5kb3IsY29tcGF0IjsKKwkJc3RyaW5nLXByb3AgPSBlbmQ6ICJoZWxsbyB3b3JsZD8iIHN0YXJ0OiA7CisJCSNhZGRyZXNzLWNlbGxzID0gPDArNDA+OworCQlyZWcgPSA8MHhlZWRhPjsKKwkJcHJvcCA9IDwoMSk+OworCQlwcm9wID0gPCgtMWUxMCk+OworCQlwcm9wID0gPCghMSk+OworCQlwcm9wID0gPCh+MSk+OworCQlwcm9wID0gPCgxKjIpPjsKKwkJcHJvcCA9IDwoMSYyKT47CisJCXByb3AgPSA8KDEqMik+OworCQlwcm9wID0gPCgxLzIpPjsKKwkJcHJvcCA9IDwoMSUyKT47CisJCXByb3AgPSA8KDErMik+OworCQlwcm9wID0gPCgxLTIpPjsKKwkJcHJvcCA9IC9iaXRzLyAzMiA8KDE8PDIpPjsKKwkJcHJvcCA9IDwoMT4+Mik+OworCQlwcm9wID0gPCgxJjIpPjsKKwkJcHJvcCA9IDwoMV4yKT47CisJCXByb3AgPSA8KDF8Mik+OworCQlwcm9wID0gPCgxJiYyKT47CisJCXByb3AgPSA8KDF8fDIpPjsKKwkJcHJvcCA9IDwoMT8yOjMpPjsKKwkJbGlzdCA9IDwmSEFORExFXzI+LCA8MCAwIDAgMT47CisJfTsKKworCSZwaGFuZGxlMiB7CisJCXByb3BfaGFuZGxlID0gPCZIQU5ETEVfMj47CisJfTsKK307CmRpZmYgLS1naXQgYS90L3Q0MDM0L2R0cy9wcmUgYi90L3Q0MDM0L2R0cy9wcmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjZhOTA1MQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQwMzQvZHRzL3ByZQpAQCAtMCwwICsxLDMyIEBACisvIHsKKwl0aGlzX2hhbmRsZTogbm9kZUBmMDAgeworCQljb21wYXRpYmxlID0gIm15ZGV2IjsKKwkJc3RyaW5nLXByb3AgPSBzdGFydDogImhlbGxvIHdvcmxkISIgZW5kOiA7CisJCSNzaXplLWNlbGxzID0gPDArMD47CisJCXJlZyA9IDwweGYwMD47CisJCXByb3AgPSA8MT47CisJCXByb3AgPSA8LTFlMTA+OworCQlwcm9wID0gPCghMyk+OworCQlwcm9wID0gPCh+Myk+OworCQlwcm9wID0gPCgzKjQpPjsKKwkJcHJvcCA9IDwoMyY0KT47CisJCXByb3AgPSA8KDMqNCk+OworCQlwcm9wID0gPCgzLzQpPjsKKwkJcHJvcCA9IDwoMyU0KT47CisJCXByb3AgPSA8KDMrNCk+OworCQlwcm9wID0gPCgzLTQpPjsKKwkJcHJvcCA9IC9iaXRzLyA2NCA8KDM8PDQpPjsKKwkJcHJvcCA9IDwoMz4+NCk+OworCQlwcm9wID0gPCgzJjQpPjsKKwkJcHJvcCA9IDwoM140KT47CisJCXByb3AgPSA8KDN8NCk+OworCQlwcm9wID0gPCgzJiY0KT47CisJCXByb3AgPSA8KDN8fDQpPjsKKwkJcHJvcCA9IDwoND81OjMpPjsKKwkJbGlzdCA9IDwmdGhpc19oYW5kbGU+LCA8MCAwIDAgMD47CisJfTsKKworCSZwaGFuZGxlIHsKKwkJcHJlLXBoYW5kbGUgPSA8JnRoaXNfaGFuZGxlPjsKKwl9OworfTsKZGlmZiAtLWdpdCBhL3QvdDQwMzgtZGlmZi1jb21iaW5lZC5zaCBiL3QvdDQwMzgtZGlmZi1jb21iaW5lZC5zaAppbmRleCBlMjgyNGQzLi45NDY4MDgzIDEwMDc1NQotLS0gYS90L3Q0MDM4LWRpZmYtY29tYmluZWQuc2gKKysrIGIvdC90NDAzOC1kaWZmLWNvbWJpbmVkLnNoCkBAIC0zNTQsNyArMzU0LDcgQEAKICcKIAogIyBUZXN0IGZvciBhIGJ1ZyByZXBvcnRlZCBhdAotIyBodHRwczovL3B1YmxpYy1pbmJveC5vcmcvZ2l0LzIwMTMwNTE1MTQzNTA4LkdPMjU3NDJAbG9naW4uZHJzbnVnZ2xlcy5zdGRlcnIubmwvCisjIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2dpdC8yMDEzMDUxNTE0MzUwOC5HTzI1NzQyQGxvZ2luLmRyc251Z2dsZXMuc3RkZXJyLm5sLwogIyB3aGVyZSBhIGRlbGV0ZSBsaW5lcyB3ZXJlIG1pc3NpbmcgZnJvbSBjb21iaW5lZCBkaWZmIG91dHB1dCB3aGVuIHRoZXkKICMgb2NjdXJyZWQgZXhhY3RseSBiZWZvcmUgdGhlIGNvbnRleHQgbGluZXMgb2YgYSBsYXRlciBjaGFuZ2UuCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb21iaW5lIGRpZmYgbWlzc2luZyBkZWxldGUgYnVnJyAnCkBAIC00MzUsNCArNDM1LDk5IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBmb3IgLS1jb21iaW5lZC1hbGwtcGF0aHMnICcKKwlnaXQgYnJhbmNoIHNpZGUxYyAmJgorCWdpdCBicmFuY2ggc2lkZTJjICYmCisJZ2l0IGNoZWNrb3V0IHNpZGUxYyAmJgorCXRlc3Rfc2VxIDEgMTAgPmZpbGVuYW1lLXNpZGUxYyAmJgorCXNpZGUxY2Y9JChnaXQgaGFzaC1vYmplY3QgZmlsZW5hbWUtc2lkZTFjKSAmJgorCWdpdCBhZGQgZmlsZW5hbWUtc2lkZTFjICYmCisJZ2l0IGNvbW1pdCAtbSB3aXRoICYmCisJZ2l0IGNoZWNrb3V0IHNpZGUyYyAmJgorCXRlc3Rfc2VxIDEgOSA+ZmlsZW5hbWUtc2lkZTJjICYmCisJZWNobyB0ZW4gPj5maWxlbmFtZS1zaWRlMmMgJiYKKwlzaWRlMmNmPSQoZ2l0IGhhc2gtb2JqZWN0IGZpbGVuYW1lLXNpZGUyYykgJiYKKwlnaXQgYWRkIGZpbGVuYW1lLXNpZGUyYyAmJgorCWdpdCBjb21taXQgLW0gaWFtICYmCisJZ2l0IGNoZWNrb3V0IC1iIG1lcmdlcnkgc2lkZTFjICYmCisJZ2l0IG1lcmdlIC0tbm8tY29tbWl0IHNpZGUyYyAmJgorCWdpdCBybSBmaWxlbmFtZS1zaWRlMWMgJiYKKwllY2hvIGVsZXZlbiA+PmZpbGVuYW1lLXNpZGUyYyAmJgorCWdpdCBtdiBmaWxlbmFtZS1zaWRlMmMgZmlsZW5hbWUtbWVyZ2VkICYmCisJbWVyZ2VkZj0kKGdpdCBoYXNoLW9iamVjdCBmaWxlbmFtZS1tZXJnZWQpICYmCisJZ2l0IGFkZCBmaWxlbmFtZS1tZXJnZWQgJiYKKwlnaXQgY29tbWl0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tY29tYmluZWQtYWxsLXBhdGhzIGFuZCAtLXJhdycgJworCWNhdCA8PC1FT0YgPmV4cGVjdCAmJgorCTo6MTAwNjQ0IDEwMDY0NCAxMDA2NDQgJHNpZGUxY2YgJHNpZGUyY2YgJG1lcmdlZGYgUlIJZmlsZW5hbWUtc2lkZTFjCWZpbGVuYW1lLXNpZGUyYwlmaWxlbmFtZS1tZXJnZWQKKwlFT0YKKwlnaXQgZGlmZi10cmVlIC1jIC1NIC0tcmF3IC0tY29tYmluZWQtYWxsLXBhdGhzIEhFQUQgPmFjdHVhbC50bXAgJiYKKwlzZWQgMWQgPGFjdHVhbC50bXAgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1jb21iaW5lZC1hbGwtcGF0aHMgYW5kIC0tY2MnICcKKwljYXQgPDwtXEVPRiA+ZXhwZWN0ICYmCisJLS0tIGEvZmlsZW5hbWUtc2lkZTFjCisJLS0tIGEvZmlsZW5hbWUtc2lkZTJjCisJKysrIGIvZmlsZW5hbWUtbWVyZ2VkCisJRU9GCisJZ2l0IGRpZmYtdHJlZSAtLWNjIC1NIC0tY29tYmluZWQtYWxsLXBhdGhzIEhFQUQgPmFjdHVhbC50bXAgJiYKKwlncmVwIF5bLStdWy0rXVstK10gPGFjdHVhbC50bXAgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBGVU5OWU5BTUVTICdzZXR1cCBmb3IgLS1jb21iaW5lZC1hbGwtcGF0aHMgd2l0aCBmdW5ueSBuYW1lcycgJworCWdpdCBicmFuY2ggc2lkZTFkICYmCisJZ2l0IGJyYW5jaCBzaWRlMmQgJiYKKwlnaXQgY2hlY2tvdXQgc2lkZTFkICYmCisJdGVzdF9zZXEgMSAxMCA+IiQocHJpbnRmICJmaWxlXHR3aXRoXHR0YWJzIikiICYmCisJZ2l0IGFkZCBmaWxlKiAmJgorCXNpZGUxZGY9JChnaXQgaGFzaC1vYmplY3QgKnRhYnMpICYmCisJZ2l0IGNvbW1pdCAtbSB3aXRoICYmCisJZ2l0IGNoZWNrb3V0IHNpZGUyZCAmJgorCXRlc3Rfc2VxIDEgOSA+IiQocHJpbnRmICJpXHRhbVx0dGFiYmVkIikiICYmCisJZWNobyB0ZW4gPj4iJChwcmludGYgImlcdGFtXHR0YWJiZWQiKSIgJiYKKwlnaXQgYWRkICp0YWJiZWQgJiYKKwlzaWRlMmRmPSQoZ2l0IGhhc2gtb2JqZWN0ICp0YWJiZWQpICYmCisJZ2l0IGNvbW1pdCAtbSBpYW0gJiYKKwlnaXQgY2hlY2tvdXQgLWIgZnVubnktbmFtZXMtbWVyZ2VyeSBzaWRlMWQgJiYKKwlnaXQgbWVyZ2UgLS1uby1jb21taXQgc2lkZTJkICYmCisJZ2l0IHJtICp0YWJzICYmCisJZWNobyBlbGV2ZW4gPj4iJChwcmludGYgImlcdGFtXHR0YWJiZWQiKSIgJiYKKwlnaXQgbXYgIiQocHJpbnRmICJpXHRhbVx0dGFiYmVkIikiICIkKHByaW50ZiAiZmlja2xlXHRuYW1pbmciKSIgJiYKKwlnaXQgYWRkIGZpY2tsZSogJiYKKwloZWFkZj0kKGdpdCBoYXNoLW9iamVjdCBmaWNrbGUqKSAmJgorCWdpdCBjb21taXQgJiYKKwloZWFkPSQoZ2l0IHJldi1wYXJzZSBIRUFEKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEZVTk5ZTkFNRVMgJy0tY29tYmluZWQtYWxsLXBhdGhzIGFuZCAtLXJhdyBhbmQgZnVubnkgbmFtZXMnICcKKwljYXQgPDwtRU9GID5leHBlY3QgJiYKKwk6OjEwMDY0NCAxMDA2NDQgMTAwNjQ0ICRzaWRlMWRmICRzaWRlMmRmICRoZWFkZiBSUgkiZmlsZVx0d2l0aFx0dGFicyIJImlcdGFtXHR0YWJiZWQiCSJmaWNrbGVcdG5hbWluZyIKKwlFT0YKKwlnaXQgZGlmZi10cmVlIC1jIC1NIC0tcmF3IC0tY29tYmluZWQtYWxsLXBhdGhzIEhFQUQgPmFjdHVhbC50bXAgJiYKKwlzZWQgMWQgPGFjdHVhbC50bXAgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBGVU5OWU5BTUVTICctLWNvbWJpbmVkLWFsbC1wYXRocyBhbmQgLS1yYXcgLWFuZCAteiBhbmQgZnVubnkgbmFtZXMnICcKKwlwcmludGYgIiRoZWFkXDA6OjEwMDY0NCAxMDA2NDQgMTAwNjQ0ICRzaWRlMWRmICRzaWRlMmRmICRoZWFkZiBSUlwwZmlsZVx0d2l0aFx0dGFic1wwaVx0YW1cdHRhYmJlZFwwZmlja2xlXHRuYW1pbmdcMCIgPmV4cGVjdCAmJgorCWdpdCBkaWZmLXRyZWUgLWMgLU0gLS1yYXcgLS1jb21iaW5lZC1hbGwtcGF0aHMgLXogSEVBRCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEZVTk5ZTkFNRVMgJy0tY29tYmluZWQtYWxsLXBhdGhzIGFuZCAtLWNjIGFuZCBmdW5ueSBuYW1lcycgJworCWNhdCA8PC1cRU9GID5leHBlY3QgJiYKKwktLS0gImEvZmlsZVx0d2l0aFx0dGFicyIKKwktLS0gImEvaVx0YW1cdHRhYmJlZCIKKwkrKysgImIvZmlja2xlXHRuYW1pbmciCisJRU9GCisJZ2l0IGRpZmYtdHJlZSAtLWNjIC1NIC0tY29tYmluZWQtYWxsLXBhdGhzIEhFQUQgPmFjdHVhbC50bXAgJiYKKwlncmVwIF5bLStdWy0rXVstK10gPGFjdHVhbC50bXAgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q0MDM5LWRpZmYtYXNzdW1lLXVuY2hhbmdlZC5zaCBiL3QvdDQwMzktZGlmZi1hc3N1bWUtdW5jaGFuZ2VkLnNoCmluZGV4IDUzYWM0NGIuLjBlYjAzMTQgMTAwNzU1Ci0tLSBhL3QvdDQwMzktZGlmZi1hc3N1bWUtdW5jaGFuZ2VkLnNoCisrKyBiL3QvdDQwMzktZGlmZi1hc3N1bWUtdW5jaGFuZ2VkLnNoCkBAIC0xMiw2ICsxMiw3IEBACiAJZ2l0IGNvbW1pdCAtbSB6ZXJvICYmCiAJZWNobyBvbmUgPiBvbmUgJiYKIAllY2hvIHR3byA+IHR3byAmJgorCWJsb2I9JChnaXQgaGFzaC1vYmplY3Qgb25lKSAmJgogCWdpdCBhZGQgb25lIHR3byAmJgogCWdpdCBjb21taXQgLW0gb25ldHdvICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCAtLWFzc3VtZS11bmNoYW5nZWQgb25lICYmCkBAIC0yMCw3ICsyMSw3IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYtaW5kZXggZG9lcyBub3QgZXhhbWluZSBhc3N1bWUtdW5jaGFuZ2VkIGVudHJpZXMnICcKLQlnaXQgZGlmZi1pbmRleCBIRUFEXiAtLSBvbmUgfCBncmVwIC1xIDU2MjZhYmYwZjcyZTU4ZDdhMTUzMzY4YmE1N2RiNGM2NzNjMGUxNzEKKwlnaXQgZGlmZi1pbmRleCBIRUFEXiAtLSBvbmUgfCBncmVwIC1xICRibG9iCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYtZmlsZXMgZG9lcyBub3QgZXhhbWluZSBhc3N1bWUtdW5jaGFuZ2VkIGVudHJpZXMnICcKZGlmZiAtLWdpdCBhL3QvdDQwNDEtZGlmZi1zdWJtb2R1bGUtb3B0aW9uLnNoIGIvdC90NDA0MS1kaWZmLXN1Ym1vZHVsZS1vcHRpb24uc2gKaW5kZXggNjE5YmY5Ny4uZjg1MjEzNiAxMDA3NTUKLS0tIGEvdC90NDA0MS1kaWZmLXN1Ym1vZHVsZS1vcHRpb24uc2gKKysrIGIvdC90NDA0MS1kaWZmLXN1Ym1vZHVsZS1vcHRpb24uc2gKQEAgLTI4NCw3ICsyODQsNyBAQAogCXRlc3RfbXVzdF9iZV9lbXB0eSBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3VibW9kdWxlIGNvbnRhaW5zIHVudHJhY2tlZCBhbmQgbW9kaWZlZCBjb250ZW50JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgY29udGFpbnMgdW50cmFja2VkIGFuZCBtb2RpZmllZCBjb250ZW50JyAnCiAJZWNobyBuZXcgPiBzbTEvZm9vNiAmJgogCWdpdCBkaWZmLWluZGV4IC1wIC0tc3VibW9kdWxlPWxvZyBIRUFEID5hY3R1YWwgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgpAQCAtMjk0LDcgKzI5NCw3IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSBjb250YWlucyB1bnRyYWNrZWQgYW5kIG1vZGlmZWQgY29udGVudCAodW50cmFja2VkIGlnbm9yZWQpJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgY29udGFpbnMgdW50cmFja2VkIGFuZCBtb2RpZmllZCBjb250ZW50ICh1bnRyYWNrZWQgaWdub3JlZCknICcKIAllY2hvIG5ldyA+IHNtMS9mb282ICYmCiAJZ2l0IGRpZmYtaW5kZXggLXAgLS1pZ25vcmUtc3VibW9kdWxlcz11bnRyYWNrZWQgLS1zdWJtb2R1bGU9bG9nIEhFQUQgPmFjdHVhbCAmJgogCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCkBAIC0zMDMsMTkgKzMwMywxOSBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgY29udGFpbnMgdW50cmFja2VkIGFuZCBtb2RpZmVkIGNvbnRlbnQgKGRpcnR5IGlnbm9yZWQpJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgY29udGFpbnMgdW50cmFja2VkIGFuZCBtb2RpZmllZCBjb250ZW50IChkaXJ0eSBpZ25vcmVkKScgJwogCWVjaG8gbmV3ID4gc20xL2ZvbzYgJiYKIAlnaXQgZGlmZi1pbmRleCAtcCAtLWlnbm9yZS1zdWJtb2R1bGVzPWRpcnR5IC0tc3VibW9kdWxlPWxvZyBIRUFEID5hY3R1YWwgJiYKIAl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSBjb250YWlucyB1bnRyYWNrZWQgYW5kIG1vZGlmZWQgY29udGVudCAoYWxsIGlnbm9yZWQpJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgY29udGFpbnMgdW50cmFja2VkIGFuZCBtb2RpZmllZCBjb250ZW50IChhbGwgaWdub3JlZCknICcKIAllY2hvIG5ldyA+IHNtMS9mb282ICYmCiAJZ2l0IGRpZmYtaW5kZXggLXAgLS1pZ25vcmUtc3VibW9kdWxlcyAtLXN1Ym1vZHVsZT1sb2cgSEVBRCA+YWN0dWFsICYmCiAJdGVzdF9tdXN0X2JlX2VtcHR5IGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgY29udGFpbnMgbW9kaWZlZCBjb250ZW50JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgY29udGFpbnMgbW9kaWZpZWQgY29udGVudCcgJwogCXJtIC1mIHNtMS9uZXctZmlsZSAmJgogCWdpdCBkaWZmLWluZGV4IC1wIC0tc3VibW9kdWxlPWxvZyBIRUFEID5hY3R1YWwgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgpAQCAtMzY5LDcgKzM2OSw3IEBACiAJdGVzdF9tdXN0X2JlX2VtcHR5IGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdtb2RpZmllZCBzdWJtb2R1bGUgY29udGFpbnMgdW50cmFja2VkIGFuZCBtb2RpZmVkIGNvbnRlbnQnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmaWVkIHN1Ym1vZHVsZSBjb250YWlucyB1bnRyYWNrZWQgYW5kIG1vZGlmaWVkIGNvbnRlbnQnICcKIAllY2hvIG1vZGlmaWNhdGlvbiA+PiBzbTEvZm9vNiAmJgogCWdpdCBkaWZmLWluZGV4IC1wIC0tc3VibW9kdWxlPWxvZyBIRUFEID5hY3R1YWwgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgpAQCAtMzgxLDcgKzM4MSw3IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmaWVkIHN1Ym1vZHVsZSBjb250YWlucyB1bnRyYWNrZWQgYW5kIG1vZGlmZWQgY29udGVudCAodW50cmFja2VkIGlnbm9yZWQpJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtb2RpZmllZCBzdWJtb2R1bGUgY29udGFpbnMgdW50cmFja2VkIGFuZCBtb2RpZmllZCBjb250ZW50ICh1bnRyYWNrZWQgaWdub3JlZCknICcKIAllY2hvIG1vZGlmaWNhdGlvbiA+PiBzbTEvZm9vNiAmJgogCWdpdCBkaWZmLWluZGV4IC1wIC0taWdub3JlLXN1Ym1vZHVsZXM9dW50cmFja2VkIC0tc3VibW9kdWxlPWxvZyBIRUFEID5hY3R1YWwgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgpAQCAtMzkyLDcgKzM5Miw3IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmaWVkIHN1Ym1vZHVsZSBjb250YWlucyB1bnRyYWNrZWQgYW5kIG1vZGlmZWQgY29udGVudCAoZGlydHkgaWdub3JlZCknICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmaWVkIHN1Ym1vZHVsZSBjb250YWlucyB1bnRyYWNrZWQgYW5kIG1vZGlmaWVkIGNvbnRlbnQgKGRpcnR5IGlnbm9yZWQpJyAnCiAJZWNobyBtb2RpZmljYXRpb24gPj4gc20xL2ZvbzYgJiYKIAlnaXQgZGlmZi1pbmRleCAtcCAtLWlnbm9yZS1zdWJtb2R1bGVzPWRpcnR5IC0tc3VibW9kdWxlPWxvZyBIRUFEID5hY3R1YWwgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgpAQCAtNDAyLDEzICs0MDIsMTMgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnbW9kaWZpZWQgc3VibW9kdWxlIGNvbnRhaW5zIHVudHJhY2tlZCBhbmQgbW9kaWZlZCBjb250ZW50IChhbGwgaWdub3JlZCknICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmaWVkIHN1Ym1vZHVsZSBjb250YWlucyB1bnRyYWNrZWQgYW5kIG1vZGlmaWVkIGNvbnRlbnQgKGFsbCBpZ25vcmVkKScgJwogCWVjaG8gbW9kaWZpY2F0aW9uID4+IHNtMS9mb282ICYmCiAJZ2l0IGRpZmYtaW5kZXggLXAgLS1pZ25vcmUtc3VibW9kdWxlcyAtLXN1Ym1vZHVsZT1sb2cgSEVBRCA+YWN0dWFsICYmCiAJdGVzdF9tdXN0X2JlX2VtcHR5IGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdtb2RpZmllZCBzdWJtb2R1bGUgY29udGFpbnMgbW9kaWZlZCBjb250ZW50JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtb2RpZmllZCBzdWJtb2R1bGUgY29udGFpbnMgbW9kaWZpZWQgY29udGVudCcgJwogCXJtIC1mIHNtMS9uZXctZmlsZSAmJgogCWdpdCBkaWZmLWluZGV4IC1wIC0tc3VibW9kdWxlPWxvZyBIRUFEID5hY3R1YWwgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgpkaWZmIC0tZ2l0IGEvdC90NDA0NC1kaWZmLWluZGV4LXVuaXF1ZS1hYmJyZXYuc2ggYi90L3Q0MDQ0LWRpZmYtaW5kZXgtdW5pcXVlLWFiYnJldi5zaAppbmRleCA2NDc5MDVlLi40NzAxNzk2IDEwMDc1NQotLS0gYS90L3Q0MDQ0LWRpZmYtaW5kZXgtdW5pcXVlLWFiYnJldi5zaAorKysgYi90L3Q0MDQ0LWRpZmYtaW5kZXgtdW5pcXVlLWFiYnJldi5zaApAQCAtMywzNCArMyw0OCBAQAogdGVzdF9kZXNjcmlwdGlvbj0ndGVzdCB1bmlxdWUgc2hhMSBhYmJyZXZpYXRpb24gb24gImluZGV4IGZyb20uLnRvIiBsaW5lJwogLiAuL3Rlc3QtbGliLnNoCiAKLWlmICEgdGVzdF9oYXZlX3ByZXJlcSBTSEExCi10aGVuCi0gICAgICAgc2tpcF9hbGw9J25vdCB1c2luZyBTSEEtMSBmb3Igb2JqZWN0cycKLSAgICAgICB0ZXN0X2RvbmUKLWZpCi0KLWNhdCA+ZXhwZWN0X2luaXRpYWwgPDxFT0YKLTEwMDY0NCBibG9iIDUxZDI3Mzg0NjNlYTRjYTY2Zjg2OTFjOTFlMzNjZTY0YjdkNDFiYjEJZm9vCi1FT0YKLQotY2F0ID5leHBlY3RfdXBkYXRlIDw8RU9GCi0xMDA2NDQgYmxvYiA1MWQyNzM4ZWZiNGFkOGExZTQwYmVkODM5YWI4ZTExNmYwYTE1ZTQ3CWZvbwotRU9GCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCi0JZWNobyA0ODI3ID4gZm9vICYmCisJdGVzdF9vaWRfY2FjaGUgPDwtRU9GICYmCisJdmFsMSBzaGExOjQ4MjcKKwl2YWwxIHNoYTI1Njo1NjY0CisKKwl2YWwyIHNoYTE6MTE3NDIKKwl2YWwyIHNoYTI1NjoxMDYyNQorCisJaGFzaDEgc2hhMTo1MWQyNzM4NDYzZWE0Y2E2NmY4NjkxYzkxZTMzY2U2NGI3ZDQxYmIxCisJaGFzaDEgc2hhMjU2OmFlMzFkZmZmMGFmOTNiMmM2MmIwMDk4YTAzOWIzODU2OWM0M2IwYTdlOTdiODczMDAwY2E0MmQxMjhmMjczNTAKKworCWhhc2h0MSBzaGExOjUxZDI3Mzg0CisJaGFzaHQxIHNoYTI1NjphZTMxZGZmZgorCisJaGFzaDIgc2hhMTo1MWQyNzM4ZWZiNGFkOGExZTQwYmVkODM5YWI4ZTExNmYwYTE1ZTQ3CisJaGFzaDIgc2hhMjU2OmFlMzFkZmZhZGE4OGE0NmZkNWY1M2M3ZWQ1YWEyNWE3YTg5NTFmMWQ1ZTg4NDU2YzMxN2M4ZDU0ODRkMjYzZTUKKworCWhhc2h0MiBzaGExOjUxZDI3MzhlCisJaGFzaHQyIHNoYTI1NjphZTMxZGZmYQorCUVPRgorCisJY2F0ID5leHBlY3RfaW5pdGlhbCA8PC1FT0YgJiYKKwkxMDA2NDQgYmxvYiAkKHRlc3Rfb2lkIGhhc2gxKQlmb28KKwlFT0YKKworCWNhdCA+ZXhwZWN0X3VwZGF0ZSA8PC1FT0YgJiYKKwkxMDA2NDQgYmxvYiAkKHRlc3Rfb2lkIGhhc2gyKQlmb28KKwlFT0YKKworCWVjaG8gIiQodGVzdF9vaWQgdmFsMSkiID4gZm9vICYmCiAJZ2l0IGFkZCBmb28gJiYKIAlnaXQgY29tbWl0IC1tICJpbml0aWFsIiAmJgogCWdpdCBjYXQtZmlsZSAtcCBIRUFEOiA+IGFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdF9pbml0aWFsIGFjdHVhbCAmJgotCWVjaG8gMTE3NDIgPiBmb28gJiYKKwllY2hvICIkKHRlc3Rfb2lkIHZhbDIpIiA+IGZvbyAmJgogCWdpdCBjb21taXQgLWEgLW0gInVwZGF0ZSIgJiYKIAlnaXQgY2F0LWZpbGUgLXAgSEVBRDogPiBhY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3RfdXBkYXRlIGFjdHVhbAogJwogCiBjYXQgPmV4cGVjdCA8PEVPRgotaW5kZXggNTFkMjczODQuLjUxZDI3MzhlIDEwMDY0NAoraW5kZXggJCh0ZXN0X29pZCBoYXNodDEpLi4kKHRlc3Rfb2lkIGhhc2h0MikgMTAwNjQ0CiBFT0YKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZiBkb2VzIG5vdCBwcm9kdWNlIGFtYmlndW91cyBpbmRleCBsaW5lJyAnCmRpZmYgLS1naXQgYS90L3Q0MDQ1LWRpZmYtcmVsYXRpdmUuc2ggYi90L3Q0MDQ1LWRpZmYtcmVsYXRpdmUuc2gKaW5kZXggMzZmOGVkOC4uMjU4ODA4NyAxMDA3NTUKLS0tIGEvdC90NDA0NS1kaWZmLXJlbGF0aXZlLnNoCisrKyBiL3QvdDQwNDUtZGlmZi1yZWxhdGl2ZS5zaApAQCAtNzAsNyArNzAsNyBAQAogCWV4cGVjdD0kMQogCXNoaWZ0CiAJY2F0ID5leHBlY3RlZCA8PC1FT0YKLQk6MDAwMDAwIDEwMDY0NCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwICRibG9iIEEJJGV4cGVjdAorCTowMDAwMDAgMTAwNjQ0ICRaRVJPX09JRCAkYmxvYiBBCSRleHBlY3QKIAlFT0YKIAl0ZXN0X2V4cGVjdF9zdWNjZXNzICItLXJhdyAkKiIgIgogCQlnaXQgLUMgJyRkaXInIGRpZmYgLS1uby1hYmJyZXYgLS1yYXcgJCogSEVBRF4gPmFjdHVhbCAmJgpkaWZmIC0tZ2l0IGEvdC90NDA0OC1kaWZmLWNvbWJpbmVkLWJpbmFyeS5zaCBiL3QvdDQwNDgtZGlmZi1jb21iaW5lZC1iaW5hcnkuc2gKaW5kZXggODdhODk0OS4uN2Y5YWQ5ZiAxMDA3NTUKLS0tIGEvdC90NDA0OC1kaWZmLWNvbWJpbmVkLWJpbmFyeS5zaAorKysgYi90L3Q0MDQ4LWRpZmYtY29tYmluZWQtYmluYXJ5LnNoCkBAIC05LDI0ICs5LDI3IEBACiAJZ2l0IGNvbW1pdCAtbSBvbmUgJiYKIAllY2hvIHR3b1EyIHwgcV90b19udWwgPmJpbmFyeSAmJgogCWdpdCBjb21taXQgLWEgLW0gdHdvICYmCisJdHdvPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IEhFQUQ6YmluYXJ5KSAmJgogCWdpdCBjaGVja291dCAtYiBicmFuY2gtYmluYXJ5IEhFQUReICYmCiAJZWNobyB0aHJlZVEzIHwgcV90b19udWwgPmJpbmFyeSAmJgogCWdpdCBjb21taXQgLWEgLW0gdGhyZWUgJiYKKwl0aHJlZT0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEOmJpbmFyeSkgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgbWFzdGVyICYmCiAJZWNobyByZXNvbHZlZFFob29yYXkgfCBxX3RvX251bCA+YmluYXJ5ICYmCi0JZ2l0IGNvbW1pdCAtYSAtbSByZXNvbHZlZAorCWdpdCBjb21taXQgLWEgLW0gcmVzb2x2ZWQgJiYKKwlyZXM9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRDpiaW5hcnkpCiAnCiAKLWNhdCA+ZXhwZWN0IDw8J0VPRicKK2NhdCA+ZXhwZWN0IDw8RU9GCiByZXNvbHZlZAogCiBkaWZmIC0tZ2l0IGEvYmluYXJ5IGIvYmluYXJ5Ci1pbmRleCA3ZWE2ZGVkLi45NTYzNjkxIDEwMDY0NAoraW5kZXggJHRocmVlLi4kcmVzIDEwMDY0NAogQmluYXJ5IGZpbGVzIGEvYmluYXJ5IGFuZCBiL2JpbmFyeSBkaWZmZXIKIHJlc29sdmVkCiAKIGRpZmYgLS1naXQgYS9iaW5hcnkgYi9iaW5hcnkKLWluZGV4IDYxOTc1NzAuLjk1NjM2OTEgMTAwNjQ0CitpbmRleCAkdHdvLi4kcmVzIDEwMDY0NAogQmluYXJ5IGZpbGVzIGEvYmluYXJ5IGFuZCBiL2JpbmFyeSBkaWZmZXIKIEVPRgogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZiAtbSBpbmRpY2F0ZXMgYmluYXJ5LW5lc3MnICcKQEAgLTM0LDExICszNywxMSBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAotY2F0ID5leHBlY3QgPDwnRU9GJworY2F0ID5leHBlY3QgPDxFT0YKIHJlc29sdmVkCiAKIGRpZmYgLS1jb21iaW5lZCBiaW5hcnkKLWluZGV4IDdlYTZkZWQsNjE5NzU3MC4uOTU2MzY5MQoraW5kZXggJHRocmVlLCR0d28uLiRyZXMKIEJpbmFyeSBmaWxlcyBkaWZmZXIKIEVPRgogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZiAtYyBpbmRpY2F0ZXMgYmluYXJ5LW5lc3MnICcKQEAgLTQ2LDExICs0OSwxMSBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAotY2F0ID5leHBlY3QgPDwnRU9GJworY2F0ID5leHBlY3QgPDxFT0YKIHJlc29sdmVkCiAKIGRpZmYgLS1jYyBiaW5hcnkKLWluZGV4IDdlYTZkZWQsNjE5NzU3MC4uOTU2MzY5MQoraW5kZXggJHRocmVlLCR0d28uLiRyZXMKIEJpbmFyeSBmaWxlcyBkaWZmZXIKIEVPRgogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZiAtLWNjIGluZGljYXRlcyBiaW5hcnktbmVzcycgJwpAQCAtNjIsMjMgKzY1LDI2IEBACiAJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgogCXRlc3RfY29tbWl0IG9uZSB0ZXh0ICYmCiAJdGVzdF9jb21taXQgdHdvIHRleHQgJiYKKwl0d289JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRDp0ZXh0KSAmJgogCWdpdCBjaGVja291dCAtYiBicmFuY2gtdGV4dCBIRUFEXiAmJgogCXRlc3RfY29tbWl0IHRocmVlIHRleHQgJiYKKwl0aHJlZT0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEOnRleHQpICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIG1hc3RlciAmJgogCXRlc3RfY29tbWl0IHJlc29sdmVkIHRleHQgJiYKKwlyZXM9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRDp0ZXh0KSAmJgogCWVjaG8gdGV4dCAtZGlmZiA+LmdpdGF0dHJpYnV0ZXMKICcKIAotY2F0ID5leHBlY3QgPDwnRU9GJworY2F0ID5leHBlY3QgPDxFT0YKIHJlc29sdmVkCiAKIGRpZmYgLS1naXQgYS90ZXh0IGIvdGV4dAotaW5kZXggMmJkZjY3YS4uMmFiMTlhZSAxMDA2NDQKK2luZGV4ICR0aHJlZS4uJHJlcyAxMDA2NDQKIEJpbmFyeSBmaWxlcyBhL3RleHQgYW5kIGIvdGV4dCBkaWZmZXIKIHJlc29sdmVkCiAKIGRpZmYgLS1naXQgYS90ZXh0IGIvdGV4dAotaW5kZXggZjcxOWVmZC4uMmFiMTlhZSAxMDA2NDQKK2luZGV4ICR0d28uLiRyZXMgMTAwNjQ0CiBCaW5hcnkgZmlsZXMgYS90ZXh0IGFuZCBiL3RleHQgZGlmZmVyCiBFT0YKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYgLW0gcmVzcGVjdHMgYmluYXJ5IGF0dHJpYnV0ZScgJwpAQCAtODYsMTEgKzkyLDExIEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi1jYXQgPmV4cGVjdCA8PCdFT0YnCitjYXQgPmV4cGVjdCA8PEVPRgogcmVzb2x2ZWQKIAogZGlmZiAtLWNvbWJpbmVkIHRleHQKLWluZGV4IDJiZGY2N2EsZjcxOWVmZC4uMmFiMTlhZQoraW5kZXggJHRocmVlLCR0d28uLiRyZXMKIEJpbmFyeSBmaWxlcyBkaWZmZXIKIEVPRgogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZiAtYyByZXNwZWN0cyBiaW5hcnkgYXR0cmlidXRlJyAnCkBAIC05OCwxMSArMTA0LDExIEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi1jYXQgPmV4cGVjdCA8PCdFT0YnCitjYXQgPmV4cGVjdCA8PEVPRgogcmVzb2x2ZWQKIAogZGlmZiAtLWNjIHRleHQKLWluZGV4IDJiZGY2N2EsZjcxOWVmZC4uMmFiMTlhZQoraW5kZXggJHRocmVlLCR0d28uLiRyZXMKIEJpbmFyeSBmaWxlcyBkaWZmZXIKIEVPRgogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZiAtLWNjIHJlc3BlY3RzIGJpbmFyeSBhdHRyaWJ1dGUnICcKQEAgLTExNSwxMSArMTIxLDExIEBACiAJZ2l0IGNvbmZpZyBkaWZmLnVwY2FzZS50ZXh0Y29udiAidHIgYS16IEEtWiA8IgogJwogCi1jYXQgPmV4cGVjdCA8PCdFT0YnCitjYXQgPmV4cGVjdCA8PEVPRgogcmVzb2x2ZWQKIAogZGlmZiAtLWdpdCBhL3RleHQgYi90ZXh0Ci1pbmRleCAyYmRmNjdhLi4yYWIxOWFlIDEwMDY0NAoraW5kZXggJHRocmVlLi4kcmVzIDEwMDY0NAogLS0tIGEvdGV4dAogKysrIGIvdGV4dAogQEAgLTEgKzEgQEAKQEAgLTEyOCw3ICsxMzQsNyBAQAogcmVzb2x2ZWQKIAogZGlmZiAtLWdpdCBhL3RleHQgYi90ZXh0Ci1pbmRleCBmNzE5ZWZkLi4yYWIxOWFlIDEwMDY0NAoraW5kZXggJHR3by4uJHJlcyAxMDA2NDQKIC0tLSBhL3RleHQKICsrKyBiL3RleHQKIEBAIC0xICsxIEBACkBAIC0xNDAsMTEgKzE0NiwxMSBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAotY2F0ID5leHBlY3QgPDwnRU9GJworY2F0ID5leHBlY3QgPDxFT0YKIHJlc29sdmVkCiAKIGRpZmYgLS1jb21iaW5lZCB0ZXh0Ci1pbmRleCAyYmRmNjdhLGY3MTllZmQuLjJhYjE5YWUKK2luZGV4ICR0aHJlZSwkdHdvLi4kcmVzCiAtLS0gYS90ZXh0CiArKysgYi90ZXh0CiBAQEAgLTEsMSAtMSwxICsxLDEgQEBACkBAIC0xNTcsMTEgKzE2MywxMSBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAotY2F0ID5leHBlY3QgPDwnRU9GJworY2F0ID5leHBlY3QgPDxFT0YKIHJlc29sdmVkCiAKIGRpZmYgLS1jYyB0ZXh0Ci1pbmRleCAyYmRmNjdhLGY3MTllZmQuLjJhYjE5YWUKK2luZGV4ICR0aHJlZSwkdHdvLi4kcmVzCiAtLS0gYS90ZXh0CiArKysgYi90ZXh0CiBAQEAgLTEsMSAtMSwxICsxLDEgQEBACkBAIC0xNzQsOSArMTgwLDkgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKLWNhdCA+ZXhwZWN0IDw8J0VPRicKK2NhdCA+ZXhwZWN0IDw8RU9GCiBkaWZmIC0tY29tYmluZWQgdGV4dAotaW5kZXggMmJkZjY3YSxmNzE5ZWZkLi4yYWIxOWFlCitpbmRleCAkdGhyZWUsJHR3by4uJHJlcwogLS0tIGEvdGV4dAogKysrIGIvdGV4dAogQEBAIC0xLDEgLTEsMSArMSwxIEBAQApAQCAtMTkwLDkgKzE5Niw5IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi1jYXQgPmV4cGVjdCA8PCdFT0YnCitjYXQgPmV4cGVjdCA8PEVPRgogZGlmZiAtLWNjIHRleHQKLWluZGV4IDJiZGY2N2EsZjcxOWVmZC4uMDAwMDAwMAoraW5kZXggJHRocmVlLCR0d28uLjAwMDAwMDAKIC0tLSBhL3RleHQKICsrKyBiL3RleHQKIEBAQCAtMSwxIC0xLDEgKzEsNSBAQEAKZGlmZiAtLWdpdCBhL3QvdDQwNTMtZGlmZi1uby1pbmRleC5zaCBiL3QvdDQwNTMtZGlmZi1uby1pbmRleC5zaAppbmRleCA2ZTBkZDZmLi4wMTY4OTQ2IDEwMDc1NQotLS0gYS90L3Q0MDUzLWRpZmYtbm8taW5kZXguc2gKKysrIGIvdC90NDA1My1kaWZmLW5vLWluZGV4LnNoCkBAIC01MCw4ICs1MCw3IEBACiAJCWV4cG9ydCBHSVRfQ0VJTElOR19ESVJFQ1RPUklFUyAmJgogCQljZCBub24vZ2l0ICYmCiAJCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmIC0tbm8taW5kZXggYSAyPmFjdHVhbC5lcnIgJiYKLQkJZWNobyAidXNhZ2U6IGdpdCBkaWZmIC0tbm8taW5kZXggPHBhdGg+IDxwYXRoPiIgPmV4cGVjdC5lcnIgJiYKLQkJdGVzdF9jbXAgZXhwZWN0LmVyciBhY3R1YWwuZXJyCisJCXRlc3RfaTE4bmdyZXAgInVzYWdlOiBnaXQgZGlmZiAtLW5vLWluZGV4IiBhY3R1YWwuZXJyCiAJKQogJwogCkBAIC0xMzcsNCArMTM2LDEyIEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmIC0tbm8taW5kZXggYWxsb3dzIGV4dGVybmFsIGRpZmYnICcKKwl0ZXN0X2V4cGVjdF9jb2RlIDEgXAorCQllbnYgR0lUX0VYVEVSTkFMX0RJRkY9ImVjaG8gZXh0ZXJuYWwgOzoiIFwKKwkJZ2l0IGRpZmYgLS1uby1pbmRleCBub24vZ2l0L2Egbm9uL2dpdC9iID5hY3R1YWwgJiYKKwllY2hvIGV4dGVybmFsID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDA1NC1kaWZmLWJvZ3VzLXRyZWUuc2ggYi90L3Q0MDU0LWRpZmYtYm9ndXMtdHJlZS5zaAppbmRleCBmY2FlODJmLi44Yzk1ZjE1IDEwMDc1NQotLS0gYS90L3Q0MDU0LWRpZmYtYm9ndXMtdHJlZS5zaAorKysgYi90L3Q0MDU0LWRpZmYtYm9ndXMtdHJlZS5zaApAQCAtNCw4ICs0LDkgQEAKIC4gLi90ZXN0LWxpYi5zaAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgYm9ndXMgdHJlZScgJworCW5hbWU9JChlY2hvICRaRVJPX09JRCB8IHNlZCAtZSAicy8wMC9RL2ciKSAmJgogCWJvZ3VzX3RyZWU9JCgKLQkJcHJpbnRmICIxMDA2NDQgZm9vUVFRUVFRUVFRUVFRUVFRUVFRUVFRIiB8CisJCXByaW50ZiAiMTAwNjQ0IGZvb1EkbmFtZSIgfAogCQlxX3RvX251bCB8CiAJCWdpdCBoYXNoLW9iamVjdCAtdyAtLXN0ZGluIC10IHRyZWUKIAkpCmRpZmYgLS1naXQgYS90L3Q0MDU3LWRpZmYtY29tYmluZWQtcGF0aHMuc2ggYi90L3Q0MDU3LWRpZmYtY29tYmluZWQtcGF0aHMuc2gKaW5kZXggZGZmMzZiNy4uNGY0YjU0MSAxMDA3NTUKLS0tIGEvdC90NDA1Ny1kaWZmLWNvbWJpbmVkLXBhdGhzLnNoCisrKyBiL3QvdDQwNTctZGlmZi1jb21iaW5lZC1wYXRocy5zaApAQCAtMzMsNyArMzMsNyBAQAogJwogCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ29ubHkgb25lIHRydWxseSBjb25mbGljdGluZyBwYXRoJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdvbmx5IG9uZSB0cnVseSBjb25mbGljdGluZyBwYXRoJyAnCiAJZ2l0IGNoZWNrb3V0IHNpZGUgJiYKIAlmb3IgaSBpbiAkKHRlc3Rfc2VxIDIgOSkKIAlkbwpkaWZmIC0tZ2l0IGEvdC90NDA2MC1kaWZmLXN1Ym1vZHVsZS1vcHRpb24tZGlmZi1mb3JtYXQuc2ggYi90L3Q0MDYwLWRpZmYtc3VibW9kdWxlLW9wdGlvbi1kaWZmLWZvcm1hdC5zaAppbmRleCA5ZGNiNjlkLi5mYzgyMjljIDEwMDc1NQotLS0gYS90L3Q0MDYwLWRpZmYtc3VibW9kdWxlLW9wdGlvbi1kaWZmLWZvcm1hdC5zaAorKysgYi90L3Q0MDYwLWRpZmYtc3VibW9kdWxlLW9wdGlvbi1kaWZmLWZvcm1hdC5zaApAQCAtNDIsNiArNDIsMTcgQEAKIAlnaXQgY29tbWl0ICIkQCIgLW0gIkNvbW1pdCAkKiIgPi9kZXYvbnVsbAogfQogCitkaWZmX2NtcCAoKSB7CisgICAgICAgZm9yIGkgaW4gIiQxIiAiJDIiCisgICAgICAgZG8KKwkJc2VkIC1lICdzL15pbmRleCAwMDAwMDAwXC5cLlswLTlhLWZdKi9pbmRleCAwMDAwMDAwLi4xMjM0NTY3LycgXAorCQktZSAncy9eaW5kZXggWzAtOWEtZl0qXC5cLlswLTlhLWZdKi9pbmRleCAxMjM0NTY3Li44OWFiY2RlLycgXAorCQkiJGkiID4iJGkuY29tcGFyZSIgfHwgcmV0dXJuIDEKKyAgICAgICBkb25lICYmCisgICAgICAgdGVzdF9jbXAgIiQxLmNvbXBhcmUiICIkMi5jb21wYXJlIiAmJgorICAgICAgIHJtIC1mICIkMS5jb21wYXJlIiAiJDIuY29tcGFyZSIKK30KKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgcmVwb3NpdG9yeScgJwogCXRlc3RfY3JlYXRlX3JlcG8gc20xICYmCiAJYWRkX2ZpbGUgLiBmb28gJiYKQEAgLTY5LDcgKzgwLDcgQEAKIAlAQCAtMCwwICsxIEBACiAJK2ZvbzIKIAlFT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlkaWZmX2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYWRkZWQgc3VibW9kdWxlLCBzZXQgZGlmZi5zdWJtb2R1bGUnICcKQEAgLTkzLDcgKzEwNCw3IEBACiAJQEAgLTAsMCArMSBAQAogCStmb28yCiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJZGlmZl9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tc3VibW9kdWxlPXNob3J0IG92ZXJyaWRlcyBkaWZmLnN1Ym1vZHVsZScgJwpAQCAtMTA5LDcgKzEyMCw3IEBACiAJQEAgLTAsMCArMSBAQAogCStTdWJwcm9qZWN0IGNvbW1pdCAkZnVsbGhlYWQxCiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJZGlmZl9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpZmYuc3VibW9kdWxlIGRvZXMgbm90IGFmZmVjdCBwbHVtYmluZycgJwpAQCAtMTI0LDcgKzEzNSw3IEBACiAJQEAgLTAsMCArMSBAQAogCStTdWJwcm9qZWN0IGNvbW1pdCAkZnVsbGhlYWQxCiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJZGlmZl9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIGNvbW1pdF9maWxlIHNtMSAmJgpAQCAtMTQyLDcgKzE1Myw3IEBACiAJQEAgLTAsMCArMSBAQAogCStmb28zCiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJZGlmZl9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmaWVkIHN1Ym1vZHVsZShmb3J3YXJkKScgJwpAQCAtMTU3LDcgKzE2OCw3IEBACiAJQEAgLTAsMCArMSBAQAogCStmb28zCiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJZGlmZl9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmaWVkIHN1Ym1vZHVsZShmb3J3YXJkKSAtLXN1Ym1vZHVsZScgJwpAQCAtMTY2LDcgKzE3Nyw3IEBACiAJU3VibW9kdWxlIHNtMSAkaGVhZDEuLiRoZWFkMjoKIAkgID4gQWRkIGZvbzMgKCRhZGRlZCBmb28zKQogCUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCWRpZmZfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiBmdWxsaGVhZDI9JChjZCBzbTE7IGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCkKQEAgLTE4MSw3ICsxOTIsNyBAQAogCS1TdWJwcm9qZWN0IGNvbW1pdCAkZnVsbGhlYWQxCiAJK1N1YnByb2plY3QgY29tbWl0ICRmdWxsaGVhZDIKIAlFT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlkaWZmX2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogY29tbWl0X2ZpbGUgc20xICYmCkBAIC0yMTAsNyArMjIxLDcgQEAKIAlAQCAtMSArMCwwIEBACiAJLWZvbzMKIAlFT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlkaWZmX2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogaGVhZDQ9JChhZGRfZmlsZSBzbTEgZm9vNCBmb281KQpAQCAtMjQ3LDcgKzI1OCw3IEBACiAJQEAgLTAsMCArMSBAQAogCStmb281CiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJZGlmZl9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIGNvbW1pdF9maWxlIHNtMSAmJgpAQCAtMjkxLDcgKzMwMiw3IEBACiAJQEAgLTAsMCArMSBAQAogCStzbTEKIAlFT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlkaWZmX2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndHlwZWNoYW5nZWQgc3VibW9kdWxlKHN1Ym1vZHVsZS0+YmxvYiknICcKQEAgLTMyNyw3ICszMzgsNyBAQAogCUBAIC0wLDAgKzEgQEAKIAkrZm9vNQogCUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCWRpZmZfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiBybSAtcmYgc20xICYmCkBAIC0zNDQsNyArMzU1LDcgQEAKIAlAQCAtMCwwICsxIEBACiAJK3NtMQogCUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCWRpZmZfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiBybSAtZiBzbTEgJiYKQEAgLTM1Niw3ICszNjcsNyBAQAogCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCiAJU3VibW9kdWxlIHNtMSAkaGVhZDQuLi4kaGVhZDYgKGNvbW1pdHMgbm90IHByZXNlbnQpCiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJZGlmZl9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIGNvbW1pdF9maWxlCkBAIC0zODYsMTEgKzM5NywxMiBAQAogCUBAIC0wLDAgKzEgQEAKIAkrZm9vNwogCUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCWRpZmZfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiBjb21taXRfZmlsZSBzbTEgJiYKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSBpcyB1cCB0byBkYXRlJyAnCisJaGVhZDc9JChnaXQgLUMgc20xIHJldi1wYXJzZSAtLXNob3J0IC0tdmVyaWZ5IEhFQUQpICYmCiAJZ2l0IGRpZmYtaW5kZXggLXAgLS1zdWJtb2R1bGU9ZGlmZiBIRUFEID5hY3R1YWwgJiYKIAl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCiAnCkBAIC00MDEsNyArNDEzLDcgQEAKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgogCVN1Ym1vZHVsZSBzbTEgY29udGFpbnMgdW50cmFja2VkIGNvbnRlbnQKIAlFT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlkaWZmX2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3VibW9kdWxlIGNvbnRhaW5zIHVudHJhY2tlZCBjb250ZW50ICh1bnRyYWNrZWQgaWdub3JlZCknICcKQEAgLTQzMyw3ICs0NDUsNyBAQAogCS1mb282CiAJK25ldwogCUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCWRpZmZfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiAjIE5PVCBPSwpAQCAtNDUwLDcgKzQ2Miw3IEBACiAJLWZvbzYKIAkrbmV3CiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJZGlmZl9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSBjb250YWlucyB1bnRyYWNrZWQgYW5kIG1vZGlmaWVkIGNvbnRlbnQgKGRpcnR5IGlnbm9yZWQpJyAnCkBAIC00NzgsNyArNDkwLDcgQEAKIAktZm9vNgogCStuZXcKIAlFT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlkaWZmX2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogKGNkIHNtMTsgZ2l0IGNvbW1pdCAtbWNoYW5nZSBmb282ID4vZGV2L251bGwpICYmCkBAIC00ODYsNyArNDk4LDcgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSBpcyBtb2RpZmllZCcgJwogCWdpdCBkaWZmLWluZGV4IC1wIC0tc3VibW9kdWxlPWRpZmYgSEVBRCA+YWN0dWFsICYmCiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQlTdWJtb2R1bGUgc20xIDE3MjQzYzkuLiRoZWFkODoKKwlTdWJtb2R1bGUgc20xICRoZWFkNy4uJGhlYWQ4OgogCWRpZmYgLS1naXQgYS9zbTEvZm9vNiBiL3NtMS9mb282CiAJaW5kZXggNDYyMzk4Yi4uM2U3NTc2NSAxMDA2NDQKIAktLS0gYS9zbTEvZm9vNgpAQCAtNDk1LDcgKzUwNyw3IEBACiAJLWZvbzYKIAkrbmV3CiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJZGlmZl9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmaWVkIHN1Ym1vZHVsZSBjb250YWlucyB1bnRyYWNrZWQgY29udGVudCcgJwpAQCAtNTAzLDcgKzUxNSw3IEBACiAJZ2l0IGRpZmYtaW5kZXggLXAgLS1zdWJtb2R1bGU9ZGlmZiBIRUFEID5hY3R1YWwgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgogCVN1Ym1vZHVsZSBzbTEgY29udGFpbnMgdW50cmFja2VkIGNvbnRlbnQKLQlTdWJtb2R1bGUgc20xIDE3MjQzYzkuLiRoZWFkODoKKwlTdWJtb2R1bGUgc20xICRoZWFkNy4uJGhlYWQ4OgogCWRpZmYgLS1naXQgYS9zbTEvZm9vNiBiL3NtMS9mb282CiAJaW5kZXggNDYyMzk4Yi4uM2U3NTc2NSAxMDA2NDQKIAktLS0gYS9zbTEvZm9vNgpAQCAtNTEyLDEzICs1MjQsMTMgQEAKIAktZm9vNgogCStuZXcKIAlFT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlkaWZmX2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbW9kaWZpZWQgc3VibW9kdWxlIGNvbnRhaW5zIHVudHJhY2tlZCBjb250ZW50ICh1bnRyYWNrZWQgaWdub3JlZCknICcKIAlnaXQgZGlmZi1pbmRleCAtcCAtLWlnbm9yZS1zdWJtb2R1bGVzPXVudHJhY2tlZCAtLXN1Ym1vZHVsZT1kaWZmIEhFQUQgPmFjdHVhbCAmJgogCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCi0JU3VibW9kdWxlIHNtMSAxNzI0M2M5Li4kaGVhZDg6CisJU3VibW9kdWxlIHNtMSAkaGVhZDcuLiRoZWFkODoKIAlkaWZmIC0tZ2l0IGEvc20xL2ZvbzYgYi9zbTEvZm9vNgogCWluZGV4IDQ2MjM5OGIuLjNlNzU3NjUgMTAwNjQ0CiAJLS0tIGEvc20xL2ZvbzYKQEAgLTUyNywxMyArNTM5LDEzIEBACiAJLWZvbzYKIAkrbmV3CiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJZGlmZl9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmaWVkIHN1Ym1vZHVsZSBjb250YWlucyB1bnRyYWNrZWQgY29udGVudCAoZGlydHkgaWdub3JlZCknICcKIAlnaXQgZGlmZi1pbmRleCAtcCAtLWlnbm9yZS1zdWJtb2R1bGVzPWRpcnR5IC0tc3VibW9kdWxlPWRpZmYgSEVBRCA+YWN0dWFsICYmCiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQlTdWJtb2R1bGUgc20xIDE3MjQzYzkuLmNmY2U1NjI6CisJU3VibW9kdWxlIHNtMSAkaGVhZDcuLiRoZWFkODoKIAlkaWZmIC0tZ2l0IGEvc20xL2ZvbzYgYi9zbTEvZm9vNgogCWluZGV4IDQ2MjM5OGIuLjNlNzU3NjUgMTAwNjQ0CiAJLS0tIGEvc20xL2ZvbzYKQEAgLTU0Miw3ICs1NTQsNyBAQAogCS1mb282CiAJK25ldwogCUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCWRpZmZfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtb2RpZmllZCBzdWJtb2R1bGUgY29udGFpbnMgdW50cmFja2VkIGNvbnRlbnQgKGFsbCBpZ25vcmVkKScgJwpAQCAtNTU2LDcgKzU2OCw3IEBACiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKIAlTdWJtb2R1bGUgc20xIGNvbnRhaW5zIHVudHJhY2tlZCBjb250ZW50CiAJU3VibW9kdWxlIHNtMSBjb250YWlucyBtb2RpZmllZCBjb250ZW50Ci0JU3VibW9kdWxlIHNtMSAxNzI0M2M5Li5jZmNlNTYyOgorCVN1Ym1vZHVsZSBzbTEgJGhlYWQ3Li4kaGVhZDg6CiAJZGlmZiAtLWdpdCBhL3NtMS9mb282IGIvc20xL2ZvbzYKIAlpbmRleCA0NjIzOThiLi5kZmRhNTQxIDEwMDY0NAogCS0tLSBhL3NtMS9mb282CkBAIC01NjYsNyArNTc4LDcgQEAKIAkrbmV3CiAJK21vZGlmaWNhdGlvbgogCUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCWRpZmZfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtb2RpZmllZCBzdWJtb2R1bGUgY29udGFpbnMgdW50cmFja2VkIGFuZCBtb2RpZmllZCBjb250ZW50ICh1bnRyYWNrZWQgaWdub3JlZCknICcKQEAgLTU3NCw3ICs1ODYsNyBAQAogCWdpdCBkaWZmLWluZGV4IC1wIC0taWdub3JlLXN1Ym1vZHVsZXM9dW50cmFja2VkIC0tc3VibW9kdWxlPWRpZmYgSEVBRCA+YWN0dWFsICYmCiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKIAlTdWJtb2R1bGUgc20xIGNvbnRhaW5zIG1vZGlmaWVkIGNvbnRlbnQKLQlTdWJtb2R1bGUgc20xIDE3MjQzYzkuLmNmY2U1NjI6CisJU3VibW9kdWxlIHNtMSAkaGVhZDcuLiRoZWFkODoKIAlkaWZmIC0tZ2l0IGEvc20xL2ZvbzYgYi9zbTEvZm9vNgogCWluZGV4IDQ2MjM5OGIuLmUyMGUyZDkgMTAwNjQ0CiAJLS0tIGEvc20xL2ZvbzYKQEAgLTU4NSwxNCArNTk3LDE0IEBACiAJK21vZGlmaWNhdGlvbgogCSttb2RpZmljYXRpb24KIAlFT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlkaWZmX2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbW9kaWZpZWQgc3VibW9kdWxlIGNvbnRhaW5zIHVudHJhY2tlZCBhbmQgbW9kaWZpZWQgY29udGVudCAoZGlydHkgaWdub3JlZCknICcKIAllY2hvIG1vZGlmaWNhdGlvbiA+PiBzbTEvZm9vNiAmJgogCWdpdCBkaWZmLWluZGV4IC1wIC0taWdub3JlLXN1Ym1vZHVsZXM9ZGlydHkgLS1zdWJtb2R1bGU9ZGlmZiBIRUFEID5hY3R1YWwgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCVN1Ym1vZHVsZSBzbTEgMTcyNDNjOS4uY2ZjZTU2MjoKKwlTdWJtb2R1bGUgc20xICRoZWFkNy4uJGhlYWQ4OgogCWRpZmYgLS1naXQgYS9zbTEvZm9vNiBiL3NtMS9mb282CiAJaW5kZXggNDYyMzk4Yi4uM2U3NTc2NSAxMDA2NDQKIAktLS0gYS9zbTEvZm9vNgpAQCAtNjAxLDcgKzYxMyw3IEBACiAJLWZvbzYKIAkrbmV3CiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJZGlmZl9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmaWVkIHN1Ym1vZHVsZSBjb250YWlucyB1bnRyYWNrZWQgYW5kIG1vZGlmaWVkIGNvbnRlbnQgKGFsbCBpZ25vcmVkKScgJwpAQCAtNjE2LDcgKzYyOCw3IEBACiAJZ2l0IGRpZmYtaW5kZXggLXAgLS1zdWJtb2R1bGU9ZGlmZiBIRUFEID5hY3R1YWwgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgogCVN1Ym1vZHVsZSBzbTEgY29udGFpbnMgbW9kaWZpZWQgY29udGVudAotCVN1Ym1vZHVsZSBzbTEgMTcyNDNjOS4uY2ZjZTU2MjoKKwlTdWJtb2R1bGUgc20xICRoZWFkNy4uJGhlYWQ4OgogCWRpZmYgLS1naXQgYS9zbTEvZm9vNiBiL3NtMS9mb282CiAJaW5kZXggNDYyMzk4Yi4uYWM0NjZjYSAxMDA2NDQKIAktLS0gYS9zbTEvZm9vNgpAQCAtNjI5LDI5ICs2NDEsMjkgQEAKIAkrbW9kaWZpY2F0aW9uCiAJK21vZGlmaWNhdGlvbgogCUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCWRpZmZfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiBybSAtcmYgc20xCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWxldGVkIHN1Ym1vZHVsZScgJwogCWdpdCBkaWZmLWluZGV4IC1wIC0tc3VibW9kdWxlPWRpZmYgSEVBRCA+YWN0dWFsICYmCiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQlTdWJtb2R1bGUgc20xIDE3MjQzYzkuLi4wMDAwMDAwIChzdWJtb2R1bGUgZGVsZXRlZCkKKwlTdWJtb2R1bGUgc20xICRoZWFkNy4uLjAwMDAwMDAgKHN1Ym1vZHVsZSBkZWxldGVkKQogCUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCWRpZmZfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgc2Vjb25kIHN1Ym1vZHVsZScgJwogCXRlc3RfY3JlYXRlX3JlcG8gc20yICYmCi0JaGVhZDc9JChhZGRfZmlsZSBzbTIgZm9vOCBmb285KSAmJgorCWhlYWQ5PSQoYWRkX2ZpbGUgc20yIGZvbzggZm9vOSkgJiYKIAlnaXQgYWRkIHNtMgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtdWx0aXBsZSBzdWJtb2R1bGVzJyAnCiAJZ2l0IGRpZmYtaW5kZXggLXAgLS1zdWJtb2R1bGU9ZGlmZiBIRUFEID5hY3R1YWwgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCVN1Ym1vZHVsZSBzbTEgMTcyNDNjOS4uLjAwMDAwMDAgKHN1Ym1vZHVsZSBkZWxldGVkKQotCVN1Ym1vZHVsZSBzbTIgMDAwMDAwMC4uLmE1YTY1YzkgKG5ldyBzdWJtb2R1bGUpCisJU3VibW9kdWxlIHNtMSAkaGVhZDcuLi4wMDAwMDAwIChzdWJtb2R1bGUgZGVsZXRlZCkKKwlTdWJtb2R1bGUgc20yIDAwMDAwMDAuLi4kaGVhZDkgKG5ldyBzdWJtb2R1bGUpCiAJZGlmZiAtLWdpdCBhL3NtMi9mb284IGIvc20yL2ZvbzgKIAluZXcgZmlsZSBtb2RlIDEwMDY0NAogCWluZGV4IDAwMDAwMDAuLmRiOTkxNmIKQEAgLTY2NywxMyArNjc5LDEzIEBACiAJQEAgLTAsMCArMSBAQAogCStmb285CiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJZGlmZl9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhdGggZmlsdGVyJyAnCiAJZ2l0IGRpZmYtaW5kZXggLXAgLS1zdWJtb2R1bGU9ZGlmZiBIRUFEIHNtMiA+YWN0dWFsICYmCiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQlTdWJtb2R1bGUgc20yIDAwMDAwMDAuLi5hNWE2NWM5IChuZXcgc3VibW9kdWxlKQorCVN1Ym1vZHVsZSBzbTIgMDAwMDAwMC4uLiRoZWFkOSAobmV3IHN1Ym1vZHVsZSkKIAlkaWZmIC0tZ2l0IGEvc20yL2ZvbzggYi9zbTIvZm9vOAogCW5ldyBmaWxlIG1vZGUgMTAwNjQ0CiAJaW5kZXggMDAwMDAwMC4uZGI5OTE2YgpAQCAtNjg5LDE1ICs3MDEsMTUgQEAKIAlAQCAtMCwwICsxIEBACiAJK2ZvbzkKIAlFT0YKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlkaWZmX2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogY29tbWl0X2ZpbGUgc20yCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXZlbiBjb21taXQnICcKIAlnaXQgZGlmZi1pbmRleCAtcCAtLXN1Ym1vZHVsZT1kaWZmIEhFQUReID5hY3R1YWwgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCVN1Ym1vZHVsZSBzbTEgMTcyNDNjOS4uLjAwMDAwMDAgKHN1Ym1vZHVsZSBkZWxldGVkKQotCVN1Ym1vZHVsZSBzbTIgMDAwMDAwMC4uLmE1YTY1YzkgKG5ldyBzdWJtb2R1bGUpCisJU3VibW9kdWxlIHNtMSAkaGVhZDcuLi4wMDAwMDAwIChzdWJtb2R1bGUgZGVsZXRlZCkKKwlTdWJtb2R1bGUgc20yIDAwMDAwMDAuLi4kaGVhZDkgKG5ldyBzdWJtb2R1bGUpCiAJZGlmZiAtLWdpdCBhL3NtMi9mb284IGIvc20yL2ZvbzgKIAluZXcgZmlsZSBtb2RlIDEwMDY0NAogCWluZGV4IDAwMDAwMDAuLmRiOTkxNmIKQEAgLTcxMyw3ICs3MjUsNyBAQAogCUBAIC0wLDAgKzEgQEAKIAkrZm9vOQogCUVPRgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCWRpZmZfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCAuZ2l0IGZpbGUgZm9yIHNtMicgJwpAQCAtNzI2LDggKzczOCw4IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmIC0tc3VibW9kdWxlPWRpZmYgd2l0aCAuZ2l0IGZpbGUnICcKIAlnaXQgZGlmZiAtLXN1Ym1vZHVsZT1kaWZmIEhFQUReID5hY3R1YWwgJiYKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgotCVN1Ym1vZHVsZSBzbTEgMTcyNDNjOS4uLjAwMDAwMDAgKHN1Ym1vZHVsZSBkZWxldGVkKQotCVN1Ym1vZHVsZSBzbTIgMDAwMDAwMC4uLmE1YTY1YzkgKG5ldyBzdWJtb2R1bGUpCisJU3VibW9kdWxlIHNtMSAkaGVhZDcuLi4wMDAwMDAwIChzdWJtb2R1bGUgZGVsZXRlZCkKKwlTdWJtb2R1bGUgc20yIDAwMDAwMDAuLi4kaGVhZDkgKG5ldyBzdWJtb2R1bGUpCiAJZGlmZiAtLWdpdCBhL3NtMi9mb284IGIvc20yL2ZvbzgKIAluZXcgZmlsZSBtb2RlIDEwMDY0NAogCWluZGV4IDAwMDAwMDAuLmRiOTkxNmIKQEAgLTc0MywyNSArNzU1LDI3IEBACiAJQEAgLTAsMCArMSBAQAogCStmb285CiAJRU9GCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJZGlmZl9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIG5lc3RlZCBzdWJtb2R1bGUnICcKIAlnaXQgc3VibW9kdWxlIGFkZCAtZiAuL3NtMiAmJgogCWdpdCBjb21taXQgLWEgLW0gImFkZCBzbTIiICYmCiAJZ2l0IC1DIHNtMiBzdWJtb2R1bGUgYWRkIC4uL3NtMiBuZXN0ZWQgJiYKLQlnaXQgLUMgc20yIGNvbW1pdCAtYSAtbSAibmVzdGVkIHN1YiIKKwlnaXQgLUMgc20yIGNvbW1pdCAtYSAtbSAibmVzdGVkIHN1YiIgJiYKKwloZWFkMTA9JChnaXQgLUMgc20yIHJldi1wYXJzZSAtLXNob3J0IC0tdmVyaWZ5IEhFQUQpCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vdmUgbmVzdGVkIHN1Ym1vZHVsZSBIRUFEJyAnCiAJZWNobyAibmVzdGVkIGNvbnRlbnQiID5zbTIvbmVzdGVkL2ZpbGUgJiYKIAlnaXQgLUMgc20yL25lc3RlZCBhZGQgZmlsZSAmJgotCWdpdCAtQyBzbTIvbmVzdGVkIGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tICJuZXcgSEVBRCIKKwlnaXQgLUMgc20yL25lc3RlZCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSAibmV3IEhFQUQiICYmCisJaGVhZDExPSQoZ2l0IC1DIHNtMi9uZXN0ZWQgcmV2LXBhcnNlIC0tc2hvcnQgLS12ZXJpZnkgSEVBRCkKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZiAtLXN1Ym1vZHVsZT1kaWZmIHdpdGggbW92ZWQgbmVzdGVkIHN1Ym1vZHVsZSBIRUFEJyAnCiAJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKLQlTdWJtb2R1bGUgbmVzdGVkIGE1YTY1YzkuLmI1NTkyOGM6CisJU3VibW9kdWxlIG5lc3RlZCAkaGVhZDkuLiRoZWFkMTE6CiAJZGlmZiAtLWdpdCBhL25lc3RlZC9maWxlIGIvbmVzdGVkL2ZpbGUKIAluZXcgZmlsZSBtb2RlIDEwMDY0NAogCWluZGV4IDAwMDAwMDAuLmNhMjgxZjUKQEAgLTc3MiwxMyArNzg2LDEzIEBACiAJRU9GCiAJZ2l0IC1DIHNtMiBkaWZmIC0tc3VibW9kdWxlPWRpZmYgPmFjdHVhbCAyPmVyciAmJgogCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIgJiYKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlkaWZmX2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZiAtLXN1Ym1vZHVsZT1kaWZmIHJlY3Vyc2VzIGludG8gbmVzdGVkIHN1Ym1vZHVsZXMnICcKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgogCVN1Ym1vZHVsZSBzbTIgY29udGFpbnMgbW9kaWZpZWQgY29udGVudAotCVN1Ym1vZHVsZSBzbTIgYTVhNjVjOS4uMjgwOTY5YToKKwlTdWJtb2R1bGUgc20yICRoZWFkOS4uJGhlYWQxMDoKIAlkaWZmIC0tZ2l0IGEvc20yLy5naXRtb2R1bGVzIGIvc20yLy5naXRtb2R1bGVzCiAJbmV3IGZpbGUgbW9kZSAxMDA2NDQKIAlpbmRleCAwMDAwMDAwLi4zYTgxNmI4CkBAIC03ODgsNyArODAyLDcgQEAKIAkrW3N1Ym1vZHVsZSAibmVzdGVkIl0KIAkrCXBhdGggPSBuZXN0ZWQKIAkrCXVybCA9IC4uL3NtMgotCVN1Ym1vZHVsZSBuZXN0ZWQgMDAwMDAwMC4uLmI1NTkyOGMgKG5ldyBzdWJtb2R1bGUpCisJU3VibW9kdWxlIG5lc3RlZCAwMDAwMDAwLi4uJGhlYWQxMSAobmV3IHN1Ym1vZHVsZSkKIAlkaWZmIC0tZ2l0IGEvc20yL25lc3RlZC9maWxlIGIvc20yL25lc3RlZC9maWxlCiAJbmV3IGZpbGUgbW9kZSAxMDA2NDQKIAlpbmRleCAwMDAwMDAwLi5jYTI4MWY1CkBAIC04MTMsNyArODI3LDcgQEAKIAlFT0YKIAlnaXQgZGlmZiAtLXN1Ym1vZHVsZT1kaWZmID5hY3R1YWwgMj5lcnIgJiYKIAl0ZXN0X211c3RfYmVfZW1wdHkgZXJyICYmCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJZGlmZl9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDA2Ni1kaWZmLWVtaXQtZGVsYXkuc2ggYi90L3Q0MDY2LWRpZmYtZW1pdC1kZWxheS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MzMxZjYzCi0tLSAvZGV2L251bGwKKysrIGIvdC90NDA2Ni1kaWZmLWVtaXQtZGVsYXkuc2gKQEAgLTAsMCArMSw3OSBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J3Rlc3QgY29tYmluZWQvc3RhdC9tb3ZlZCBpbnRlcmFjdGlvbicKKy4gLi90ZXN0LWxpYi5zaAorCisjIFRoaXMgdGVzdCBjb3ZlcnMgYSB3ZWlyZCAzLXdheSBpbnRlcmFjdGlvbiBiZXR3ZWVuICItLWNjIC1wIiwgd2hpY2ggd2lsbCBydW4KKyMgdGhlIGNvbWJpbmVkIGRpZmYgY29kZSwgYWxvbmcgd2l0aCAiLS1zdGF0Iiwgd2hpY2ggd2lsbCBiZSBjb21wdXRlZCBhcyBhCisjIGZpcnN0LXBhcmVudCBzdGF0IGR1cmluZyB0aGUgY29tYmluZWQgZGlmZiwgYW5kICItLWNvbG9yLW1vdmVkIiwgd2hpY2gKKyMgZW5hYmxlcyB0aGUgZW1pdHRlZF9zeW1ib2xzIGxpc3QgdG8gc3RvcmUgdGhlIGRpZmYgaW4gbWVtb3J5LgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQgdXAgaGlzdG9yeSB3aXRoIGEgbWVyZ2UnICcKKwl0ZXN0X2NvbW1pdCBBICYmCisJdGVzdF9jb21taXQgQiAmJgorCWdpdCBjaGVja291dCAtYiBzaWRlIEhFQUReICYmCisJdGVzdF9jb21taXQgQyAmJgorCWdpdCBtZXJnZSAtbSBNIG1hc3RlciAmJgorCXRlc3RfY29tbWl0IEQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tY2MgLXAgLS1zdGF0IC0tY29sb3ItbW92ZWQnICcKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwljb21taXQgRAorCS0tLQorCSBELnQgfCAxICsKKwkgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKKwlkaWZmIC0tZ2l0IGEvRC50IGIvRC50CisJbmV3IGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCAwMDAwMDAwLi4kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBEOkQudCkKKwktLS0gL2Rldi9udWxsCisJKysrIGIvRC50CisJQEAgLTAsMCArMSBAQAorCStECisJY29tbWl0IE0KKworCSBCLnQgfCAxICsKKwkgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisJY29tbWl0IEMKKwktLS0KKwkgQy50IHwgMSArCisJIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCisJZGlmZiAtLWdpdCBhL0MudCBiL0MudAorCW5ldyBmaWxlIG1vZGUgMTAwNjQ0CisJaW5kZXggMDAwMDAwMC4uJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgQzpDLnQpCisJLS0tIC9kZXYvbnVsbAorCSsrKyBiL0MudAorCUBAIC0wLDAgKzEgQEAKKwkrQworCWNvbW1pdCBCCisJLS0tCisJIEIudCB8IDEgKworCSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworCWRpZmYgLS1naXQgYS9CLnQgYi9CLnQKKwluZXcgZmlsZSBtb2RlIDEwMDY0NAorCWluZGV4IDAwMDAwMDAuLiQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IEI6Qi50KQorCS0tLSAvZGV2L251bGwKKwkrKysgYi9CLnQKKwlAQCAtMCwwICsxIEBACisJK0IKKwljb21taXQgQQorCS0tLQorCSBBLnQgfCAxICsKKwkgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKKwlkaWZmIC0tZ2l0IGEvQS50IGIvQS50CisJbmV3IGZpbGUgbW9kZSAxMDA2NDQKKwlpbmRleCAwMDAwMDAwLi4kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBBOkEudCkKKwktLS0gL2Rldi9udWxsCisJKysrIGIvQS50CisJQEAgLTAsMCArMSBAQAorCStBCisJRU9GCisJZ2l0IGxvZyAtLWZvcm1hdD0iY29tbWl0ICVzIiAtLWNjIC1wIC0tc3RhdCAtLWNvbG9yLW1vdmVkID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDA2Ny1kaWZmLXBhcnRpYWwtY2xvbmUuc2ggYi90L3Q0MDY3LWRpZmYtcGFydGlhbC1jbG9uZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ODMxYWQzCi0tLSAvZGV2L251bGwKKysrIGIvdC90NDA2Ny1kaWZmLXBhcnRpYWwtY2xvbmUuc2gKQEAgLTAsMCArMSwxMzQgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdiZWhhdmlvciBvZiBkaWZmIHdoZW4gcmVhZGluZyBvYmplY3RzIGluIGEgcGFydGlhbCBjbG9uZScKKworLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBzaG93IGJhdGNoZXMgYmxvYnMnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBzZXJ2ZXIgY2xpZW50IHRyYWNlIiAmJgorCisJdGVzdF9jcmVhdGVfcmVwbyBzZXJ2ZXIgJiYKKwllY2hvIGEgPnNlcnZlci9hICYmCisJZWNobyBiID5zZXJ2ZXIvYiAmJgorCWdpdCAtQyBzZXJ2ZXIgYWRkIGEgYiAmJgorCWdpdCAtQyBzZXJ2ZXIgY29tbWl0IC1tIHggJiYKKworCXRlc3RfY29uZmlnIC1DIHNlcnZlciB1cGxvYWRwYWNrLmFsbG93ZmlsdGVyIDEgJiYKKwl0ZXN0X2NvbmZpZyAtQyBzZXJ2ZXIgdXBsb2FkcGFjay5hbGxvd2FueXNoYTFpbndhbnQgMSAmJgorCWdpdCBjbG9uZSAtLWJhcmUgLS1maWx0ZXI9YmxvYjpsaW1pdD0wICJmaWxlOi8vJChwd2QpL3NlcnZlciIgY2xpZW50ICYmCisKKwkjIEVuc3VyZSB0aGF0IHRoZXJlIGlzIGV4YWN0bHkgMSBuZWdvdGlhdGlvbiBieSBjaGVja2luZyB0aGF0IHRoZXJlIGlzCisJIyBvbmx5IDEgImRvbmUiIGxpbmUgc2VudC4gKCJkb25lIiBtYXJrcyB0aGUgZW5kIG9mIG5lZ290aWF0aW9uLikKKwlHSVRfVFJBQ0VfUEFDS0VUPSIkKHB3ZCkvdHJhY2UiIGdpdCAtQyBjbGllbnQgc2hvdyBIRUFEICYmCisJZ3JlcCAiZ2l0PiBkb25lIiB0cmFjZSA+ZG9uZV9saW5lcyAmJgorCXRlc3RfbGluZV9jb3VudCA9IDEgZG9uZV9saW5lcworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmIGJhdGNoZXMgYmxvYnMnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBzZXJ2ZXIgY2xpZW50IHRyYWNlIiAmJgorCisJdGVzdF9jcmVhdGVfcmVwbyBzZXJ2ZXIgJiYKKwllY2hvIGEgPnNlcnZlci9hICYmCisJZWNobyBiID5zZXJ2ZXIvYiAmJgorCWdpdCAtQyBzZXJ2ZXIgYWRkIGEgYiAmJgorCWdpdCAtQyBzZXJ2ZXIgY29tbWl0IC1tIHggJiYKKwllY2hvIGMgPnNlcnZlci9jICYmCisJZWNobyBkID5zZXJ2ZXIvZCAmJgorCWdpdCAtQyBzZXJ2ZXIgYWRkIGMgZCAmJgorCWdpdCAtQyBzZXJ2ZXIgY29tbWl0IC1tIHggJiYKKworCXRlc3RfY29uZmlnIC1DIHNlcnZlciB1cGxvYWRwYWNrLmFsbG93ZmlsdGVyIDEgJiYKKwl0ZXN0X2NvbmZpZyAtQyBzZXJ2ZXIgdXBsb2FkcGFjay5hbGxvd2FueXNoYTFpbndhbnQgMSAmJgorCWdpdCBjbG9uZSAtLWJhcmUgLS1maWx0ZXI9YmxvYjpsaW1pdD0wICJmaWxlOi8vJChwd2QpL3NlcnZlciIgY2xpZW50ICYmCisKKwkjIEVuc3VyZSB0aGF0IHRoZXJlIGlzIGV4YWN0bHkgMSBuZWdvdGlhdGlvbiBieSBjaGVja2luZyB0aGF0IHRoZXJlIGlzCisJIyBvbmx5IDEgImRvbmUiIGxpbmUgc2VudC4gKCJkb25lIiBtYXJrcyB0aGUgZW5kIG9mIG5lZ290aWF0aW9uLikKKwlHSVRfVFJBQ0VfUEFDS0VUPSIkKHB3ZCkvdHJhY2UiIGdpdCAtQyBjbGllbnQgZGlmZiBIRUFEXiBIRUFEICYmCisJZ3JlcCAiZ2l0PiBkb25lIiB0cmFjZSA+ZG9uZV9saW5lcyAmJgorCXRlc3RfbGluZV9jb3VudCA9IDEgZG9uZV9saW5lcworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmIHNraXBzIHNhbWUtT0lEIGJsb2JzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgc2VydmVyIGNsaWVudCB0cmFjZSIgJiYKKworCXRlc3RfY3JlYXRlX3JlcG8gc2VydmVyICYmCisJZWNobyBhID5zZXJ2ZXIvYSAmJgorCWVjaG8gYiA+c2VydmVyL2IgJiYKKwlnaXQgLUMgc2VydmVyIGFkZCBhIGIgJiYKKwlnaXQgLUMgc2VydmVyIGNvbW1pdCAtbSB4ICYmCisJZWNobyBhbm90aGVyLWEgPnNlcnZlci9hICYmCisJZ2l0IC1DIHNlcnZlciBhZGQgYSAmJgorCWdpdCAtQyBzZXJ2ZXIgY29tbWl0IC1tIHggJiYKKworCXRlc3RfY29uZmlnIC1DIHNlcnZlciB1cGxvYWRwYWNrLmFsbG93ZmlsdGVyIDEgJiYKKwl0ZXN0X2NvbmZpZyAtQyBzZXJ2ZXIgdXBsb2FkcGFjay5hbGxvd2FueXNoYTFpbndhbnQgMSAmJgorCWdpdCBjbG9uZSAtLWJhcmUgLS1maWx0ZXI9YmxvYjpsaW1pdD0wICJmaWxlOi8vJChwd2QpL3NlcnZlciIgY2xpZW50ICYmCisKKwllY2hvIGEgfCBnaXQgaGFzaC1vYmplY3QgLS1zdGRpbiA+aGFzaC1vbGQtYSAmJgorCWVjaG8gYW5vdGhlci1hIHwgZ2l0IGhhc2gtb2JqZWN0IC0tc3RkaW4gPmhhc2gtbmV3LWEgJiYKKwllY2hvIGIgfCBnaXQgaGFzaC1vYmplY3QgLS1zdGRpbiA+aGFzaC1iICYmCisKKwkjIEVuc3VyZSB0aGF0IG9ubHkgYSBhbmQgYW5vdGhlci1hIGFyZSBmZXRjaGVkLgorCUdJVF9UUkFDRV9QQUNLRVQ9IiQocHdkKS90cmFjZSIgZ2l0IC1DIGNsaWVudCBkaWZmIEhFQUReIEhFQUQgJiYKKwlncmVwICJ3YW50ICQoY2F0IGhhc2gtb2xkLWEpIiB0cmFjZSAmJgorCWdyZXAgIndhbnQgJChjYXQgaGFzaC1uZXctYSkiIHRyYWNlICYmCisJISBncmVwICJ3YW50ICQoY2F0IGhhc2gtYikiIHRyYWNlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3doZW4gZmV0Y2hpbmcgbWlzc2luZyBvYmplY3RzLCBkaWZmIHNraXBzIEdJVExJTktzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgc3ViIHNlcnZlciBjbGllbnQgdHJhY2UiICYmCisKKwl0ZXN0X2NyZWF0ZV9yZXBvIHN1YiAmJgorCXRlc3RfY29tbWl0IC1DIHN1YiBmaXJzdCAmJgorCisJdGVzdF9jcmVhdGVfcmVwbyBzZXJ2ZXIgJiYKKwllY2hvIGEgPnNlcnZlci9hICYmCisJZ2l0IC1DIHNlcnZlciBhZGQgYSAmJgorCWdpdCAtQyBzZXJ2ZXIgc3VibW9kdWxlIGFkZCAiZmlsZTovLyQocHdkKS9zdWIiICYmCisJZ2l0IC1DIHNlcnZlciBjb21taXQgLW0geCAmJgorCisJdGVzdF9jb21taXQgLUMgc2VydmVyL3N1YiBzZWNvbmQgJiYKKwllY2hvIGFub3RoZXItYSA+c2VydmVyL2EgJiYKKwlnaXQgLUMgc2VydmVyIGFkZCBhIHN1YiAmJgorCWdpdCAtQyBzZXJ2ZXIgY29tbWl0IC1tIHggJiYKKworCXRlc3RfY29uZmlnIC1DIHNlcnZlciB1cGxvYWRwYWNrLmFsbG93ZmlsdGVyIDEgJiYKKwl0ZXN0X2NvbmZpZyAtQyBzZXJ2ZXIgdXBsb2FkcGFjay5hbGxvd2FueXNoYTFpbndhbnQgMSAmJgorCWdpdCBjbG9uZSAtLWJhcmUgLS1maWx0ZXI9YmxvYjpsaW1pdD0wICJmaWxlOi8vJChwd2QpL3NlcnZlciIgY2xpZW50ICYmCisKKwllY2hvIGEgfCBnaXQgaGFzaC1vYmplY3QgLS1zdGRpbiA+aGFzaC1vbGQtYSAmJgorCWVjaG8gYW5vdGhlci1hIHwgZ2l0IGhhc2gtb2JqZWN0IC0tc3RkaW4gPmhhc2gtbmV3LWEgJiYKKworCSMgRW5zdXJlIHRoYXQgYSBhbmQgYW5vdGhlci1hIGFyZSBmZXRjaGVkLCBhbmQgY2hlY2sgKGJ5IHN1Y2Nlc3NmdWwKKwkjIGV4ZWN1dGlvbiBvZiB0aGUgZGlmZikgdGhhdCBubyBpbnZhbGlkIE9JRHMgYXJlIHNlbnQuCisJR0lUX1RSQUNFX1BBQ0tFVD0iJChwd2QpL3RyYWNlIiBnaXQgLUMgY2xpZW50IGRpZmYgSEVBRF4gSEVBRCAmJgorCWdyZXAgIndhbnQgJChjYXQgaGFzaC1vbGQtYSkiIHRyYWNlICYmCisJZ3JlcCAid2FudCAkKGNhdCBoYXNoLW5ldy1hKSIgdHJhY2UKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZiB3aXRoIHJlbmFtZSBkZXRlY3Rpb24gYmF0Y2hlcyBibG9icycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIHNlcnZlciBjbGllbnQgdHJhY2UiICYmCisKKwl0ZXN0X2NyZWF0ZV9yZXBvIHNlcnZlciAmJgorCWVjaG8gYSA+c2VydmVyL2EgJiYKKwlwcmludGYgImJcbmJcbmJcbmJcbmJcbiIgPnNlcnZlci9iICYmCisJZ2l0IC1DIHNlcnZlciBhZGQgYSBiICYmCisJZ2l0IC1DIHNlcnZlciBjb21taXQgLW0geCAmJgorCXJtIHNlcnZlci9iICYmCisJcHJpbnRmICJiXG5iXG5iXG5iXG5iWFxuIiA+c2VydmVyL2MgJiYKKwlnaXQgLUMgc2VydmVyIGFkZCBjICYmCisJZ2l0IC1DIHNlcnZlciBjb21taXQgLWEgLW0geCAmJgorCisJdGVzdF9jb25maWcgLUMgc2VydmVyIHVwbG9hZHBhY2suYWxsb3dmaWx0ZXIgMSAmJgorCXRlc3RfY29uZmlnIC1DIHNlcnZlciB1cGxvYWRwYWNrLmFsbG93YW55c2hhMWlud2FudCAxICYmCisJZ2l0IGNsb25lIC0tYmFyZSAtLWZpbHRlcj1ibG9iOmxpbWl0PTAgImZpbGU6Ly8kKHB3ZCkvc2VydmVyIiBjbGllbnQgJiYKKworCSMgRW5zdXJlIHRoYXQgdGhlcmUgaXMgZXhhY3RseSAxIG5lZ290aWF0aW9uIGJ5IGNoZWNraW5nIHRoYXQgdGhlcmUgaXMKKwkjIG9ubHkgMSAiZG9uZSIgbGluZSBzZW50LiAoImRvbmUiIG1hcmtzIHRoZSBlbmQgb2YgbmVnb3RpYXRpb24uKQorCUdJVF9UUkFDRV9QQUNLRVQ9IiQocHdkKS90cmFjZSIgZ2l0IC1DIGNsaWVudCBkaWZmIC1NIEhFQUReIEhFQUQgPm91dCAmJgorCWdyZXAgInNpbWlsYXJpdHkgaW5kZXgiIG91dCAmJgorCWdyZXAgImdpdD4gZG9uZSIgdHJhY2UgPmRvbmVfbGluZXMgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAxIGRvbmVfbGluZXMKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q0MTAwL3QtYXBwbHktMS5wYXRjaCBiL3QvdDQxMDAvdC1hcHBseS0xLnBhdGNoCmluZGV4IDkwYWI1NGYuLjQzMzk0ZjggMTAwNjQ0Ci0tLSBhL3QvdDQxMDAvdC1hcHBseS0xLnBhdGNoCisrKyBiL3QvdDQxMDAvdC1hcHBseS0xLnBhdGNoCkBAIC03NSw4ICs3NSw4IEBACiArbGluazpnaXQtc3NoLXB1bGwuaHRtbFtnaXQtc3NoLXB1bGxdOjoKICAJUHVsbHMgZnJvbSBhIHJlbW90ZSByZXBvc2l0b3J5IG92ZXIgc3NoIGNvbm5lY3Rpb24KICAKLSBJbnRlcm9nYXRvcnM6Ci1AQCAtMTU2LDggKzE1Niw4IEBAIEludGVyb2dhdG9yczoKKyBJbnRlcnJvZ2F0b3JzOgorQEAgLTE1Niw4ICsxNTYsOCBAQCBJbnRlcnJvZ2F0b3JzOgogIGxpbms6Z2l0LWRpZmYtaGVscGVyLmh0bWxbZ2l0LWRpZmYtaGVscGVyXTo6CiAgCUdlbmVyYXRlcyBwYXRjaCBmb3JtYXQgb3V0cHV0IGZvciBnaXQtZGlmZi0qCiAgCmRpZmYgLS1naXQgYS90L3Q0MTAwL3QtYXBwbHktMy5wYXRjaCBiL3QvdDQxMDAvdC1hcHBseS0zLnBhdGNoCmluZGV4IDkwY2RiYWEuLmNhYzE3MmUgMTAwNjQ0Ci0tLSBhL3QvdDQxMDAvdC1hcHBseS0zLnBhdGNoCisrKyBiL3QvdDQxMDAvdC1hcHBseS0zLnBhdGNoCkBAIC0yMTEsNyArMjExLDcgQEAKIC0KIC0JCS8qIElmIHRoaXMgaXMgYW4gZXhhY3QgZGlyZWN0b3J5IG1hdGNoLCB3ZSBtYXkgaGF2ZQogLQkJICogZGlyZWN0b3J5IGZpbGVzIGZvbGxvd2luZyB0aGlzIHBhdGguIE1hdGNoIG9uIHRoZW0uCi0tCQkgKiBPdGhlcndpc2UsIHdlJ3JlIGF0IGEgcGFjaCBzdWJjb21wb25lbnQsIGFuZCB3ZSBuZWVkCistCQkgKiBPdGhlcndpc2UsIHdlJ3JlIGF0IGEgcGF0Y2ggc3ViY29tcG9uZW50LCBhbmQgd2UgbmVlZAogLQkJICogdG8gdHJ5IHRvIG1hdGNoIGFnYWluLgogLQkJICovCiAtCQlpZiAobXR5cGUgPT0gMCkKZGlmZiAtLWdpdCBhL3QvdDQxMDAvdC1hcHBseS01LnBhdGNoIGIvdC90NDEwMC90LWFwcGx5LTUucGF0Y2gKaW5kZXggNWY2ZGRjMS4uNTdlYzc5ZCAxMDA2NDQKLS0tIGEvdC90NDEwMC90LWFwcGx5LTUucGF0Y2gKKysrIGIvdC90NDEwMC90LWFwcGx5LTUucGF0Y2gKQEAgLTE4NSw4ICsxODUsOCBAQAogK2xpbms6Z2l0LXNzaC1wdWxsLmh0bWxbZ2l0LXNzaC1wdWxsXTo6CiAgCVB1bGxzIGZyb20gYSByZW1vdGUgcmVwb3NpdG9yeSBvdmVyIHNzaCBjb25uZWN0aW9uCiAgCi0gSW50ZXJvZ2F0b3JzOgotQEAgLTE1Niw4ICsxNTYsOCBAQCBJbnRlcm9nYXRvcnM6CisgSW50ZXJyb2dhdG9yczoKK0BAIC0xNTYsOCArMTU2LDggQEAgSW50ZXJyb2dhdG9yczoKICBsaW5rOmdpdC1kaWZmLWhlbHBlci5odG1sW2dpdC1kaWZmLWhlbHBlcl06OgogIAlHZW5lcmF0ZXMgcGF0Y2ggZm9ybWF0IG91dHB1dCBmb3IgZ2l0LWRpZmYtKgogIApkaWZmIC0tZ2l0IGEvdC90NDEwMC90LWFwcGx5LTcucGF0Y2ggYi90L3Q0MTAwL3QtYXBwbHktNy5wYXRjaAppbmRleCAwN2M2NTg5Li5mYTI0MzA1IDEwMDY0NAotLS0gYS90L3Q0MTAwL3QtYXBwbHktNy5wYXRjaAorKysgYi90L3Q0MTAwL3QtYXBwbHktNy5wYXRjaApAQCAtMzM1LDcgKzMzNSw3IEBACiAgCiAtCQkvKiBJZiB0aGlzIGlzIGFuIGV4YWN0IGRpcmVjdG9yeSBtYXRjaCwgd2UgbWF5IGhhdmUKIC0JCSAqIGRpcmVjdG9yeSBmaWxlcyBmb2xsb3dpbmcgdGhpcyBwYXRoLiBNYXRjaCBvbiB0aGVtLgotLQkJICogT3RoZXJ3aXNlLCB3ZSdyZSBhdCBhIHBhY2ggc3ViY29tcG9uZW50LCBhbmQgd2UgbmVlZAorLQkJICogT3RoZXJ3aXNlLCB3ZSdyZSBhdCBhIHBhdGNoIHN1YmNvbXBvbmVudCwgYW5kIHdlIG5lZWQKIC0JCSAqIHRvIHRyeSB0byBtYXRjaCBhZ2Fpbi4KICsJaWYgKGUtPmRpcmVjdG9yeSkgewogKwkJLyogSWYgdGhpcyBpcyBhIGRpcmVjdG9yeSwgd2UgaGF2ZSB0aGUgZm9sbG93aW5nIGNhc2VzOgpkaWZmIC0tZ2l0IGEvdC90NDEwOC1hcHBseS10aHJlZXdheS5zaCBiL3QvdDQxMDgtYXBwbHktdGhyZWV3YXkuc2gKaW5kZXggZmE1ZDRlZi4uZDczNDljZSAxMDA3NTUKLS0tIGEvdC90NDEwOC1hcHBseS10aHJlZXdheS5zaAorKysgYi90L3Q0MTA4LWFwcGx5LXRocmVld2F5LnNoCkBAIC00LDIzICs0LDE3IEBACiAKIC4gLi90ZXN0LWxpYi5zaAogCi1jcmVhdGVfZmlsZSAoKSB7Ci0JZm9yIGkKLQlkbwotCQllY2hvICIkaSIKLQlkb25lCi19Ci0KLXNhbml0aXplX2NvbmZsaWN0ZWRfZGlmZiAoKSB7CitwcmludF9zYW5pdGl6ZWRfY29uZmxpY3RlZF9kaWZmICgpIHsKKwlnaXQgZGlmZiBIRUFEID5kaWZmLnJhdyAmJgogCXNlZCAtZSAnCiAJCS9eaW5kZXggL2QKLQkJcy9eXCgrWzw+XVs8Pl1bPD5dWzw+XSpcKSAuKi9cMS8KLQknCisJCXMvXlwoK1s8PnxdWzw+fF1bPD58XVs8PnxdKlwpIC4qL1wxLworCScgZGlmZi5yYXcKIH0KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCiAJdGVzdF90aWNrICYmCi0JY3JlYXRlX2ZpbGUgPm9uZSAxIDIgMyA0IDUgNiA3ICYmCisJdGVzdF93cml0ZV9saW5lcyAxIDIgMyA0IDUgNiA3ID5vbmUgJiYKIAljYXQgb25lID50d28gJiYKIAlnaXQgYWRkIG9uZSB0d28gJiYKIAlnaXQgY29tbWl0IC1tIGluaXRpYWwgJiYKQEAgLTI4LDEzICsyMiwxMyBAQAogCWdpdCBicmFuY2ggc2lkZSAmJgogCiAJdGVzdF90aWNrICYmCi0JY3JlYXRlX2ZpbGUgPm9uZSAxIHR3byAzIDQgNSBzaXggNyAmJgotCWNyZWF0ZV9maWxlID50d28gMSB0d28gMyA0IDUgNiA3ICYmCisJdGVzdF93cml0ZV9saW5lcyAxIHR3byAzIDQgNSBzaXggNyA+b25lICYmCisJdGVzdF93cml0ZV9saW5lcyAxIHR3byAzIDQgNSA2IDcgPnR3byAmJgogCWdpdCBjb21taXQgLWEgLW0gbWFzdGVyICYmCiAKIAlnaXQgY2hlY2tvdXQgc2lkZSAmJgotCWNyZWF0ZV9maWxlID5vbmUgMSAyIDMgNCBmaXZlIDYgNyAmJgotCWNyZWF0ZV9maWxlID50d28gMSAyIDMgNCBmaXZlIDYgNyAmJgorCXRlc3Rfd3JpdGVfbGluZXMgMSAyIDMgNCBmaXZlIDYgNyA+b25lICYmCisJdGVzdF93cml0ZV9saW5lcyAxIDIgMyA0IGZpdmUgNiA3ID50d28gJiYKIAlnaXQgY29tbWl0IC1hIC1tIHNpZGUgJiYKIAogCWdpdCBjaGVja291dCBtYXN0ZXIKQEAgLTUyLDcgKzQ2LDcgQEAKIAlnaXQgZGlmZi1pbmRleCAtLWV4aXQtY29kZSAtLWNhY2hlZCBIRUFECiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FwcGx5IHdpdGggLS0zd2F5JyAnCit0ZXN0X2FwcGx5X3dpdGhfM3dheSAoKSB7CiAJIyBNZXJnaW5nIHNpZGUgc2hvdWxkIGJlIHNpbWlsYXIgdG8gYXBwbHlpbmcgdGhpcyBwYXRjaAogCWdpdCBkaWZmIC4uLnNpZGUgPlAuZGlmZiAmJgogCkBAIC02MSwyMiArNTUsMzEgQEAKIAlnaXQgY2hlY2tvdXQgbWFzdGVyXjAgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLS1uby1jb21taXQgc2lkZSAmJgogCWdpdCBscy1maWxlcyAtcyA+ZXhwZWN0LmxzICYmCi0JZ2l0IGRpZmYgSEVBRCB8IHNhbml0aXplX2NvbmZsaWN0ZWRfZGlmZiA+ZXhwZWN0LmRpZmYgJiYKKwlwcmludF9zYW5pdGl6ZWRfY29uZmxpY3RlZF9kaWZmID5leHBlY3QuZGlmZiAmJgogCiAJIyBzaG91bGQgZmFpbCB0byBhcHBseQogCWdpdCByZXNldCAtLWhhcmQgJiYKIAlnaXQgY2hlY2tvdXQgbWFzdGVyXjAgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgYXBwbHkgLS1pbmRleCAtLTN3YXkgUC5kaWZmICYmCiAJZ2l0IGxzLWZpbGVzIC1zID5hY3R1YWwubHMgJiYKLQlnaXQgZGlmZiBIRUFEIHwgc2FuaXRpemVfY29uZmxpY3RlZF9kaWZmID5hY3R1YWwuZGlmZiAmJgorCXByaW50X3Nhbml0aXplZF9jb25mbGljdGVkX2RpZmYgPmFjdHVhbC5kaWZmICYmCiAKIAkjIFRoZSByZXN1bHQgc2hvdWxkIHJlc2VtYmxlIHRoZSBjb3JyZXNwb25kaW5nIG1lcmdlCiAJdGVzdF9jbXAgZXhwZWN0LmxzIGFjdHVhbC5scyAmJgogCXRlc3RfY21wIGV4cGVjdC5kaWZmIGFjdHVhbC5kaWZmCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FwcGx5IHdpdGggLS0zd2F5JyAnCisJdGVzdF9hcHBseV93aXRoXzN3YXkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYXBwbHkgd2l0aCAtLTN3YXkgd2l0aCBtZXJnZS5jb25mbGljdFN0eWxlID0gZGlmZjMnICcKKwl0ZXN0X2NvbmZpZyBtZXJnZS5jb25mbGljdFN0eWxlIGRpZmYzICYmCisJdGVzdF9hcHBseV93aXRoXzN3YXkKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYXBwbHkgd2l0aCAtLTN3YXkgd2l0aCByZXJlcmUgZW5hYmxlZCcgJwotCWdpdCBjb25maWcgcmVyZXJlLmVuYWJsZWQgdHJ1ZSAmJgorCXRlc3RfY29uZmlnIHJlcmVyZS5lbmFibGVkIHRydWUgJiYKIAogCSMgTWVyZ2luZyBzaWRlIHNob3VsZCBiZSBzaW1pbGFyIHRvIGFwcGx5aW5nIHRoaXMgcGF0Y2gKIAlnaXQgZGlmZiAuLi5zaWRlID5QLmRpZmYgJiYKQEAgLTg3LDcgKzkwLDcgQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLS1uby1jb21taXQgc2lkZSAmJgogCiAJIyBNYW51YWxseSByZXNvbHZlIGFuZCByZWNvcmQgdGhlIHJlc29sdXRpb24KLQljcmVhdGVfZmlsZSAxIHR3byAzIDQgZml2ZSBzaXggNyA+b25lICYmCisJdGVzdF93cml0ZV9saW5lcyAxIHR3byAzIDQgZml2ZSBzaXggNyA+b25lICYmCiAJZ2l0IHJlcmVyZSAmJgogCWNhdCBvbmUgPmV4cGVjdCAmJgogCkBAIC0xMDQsMTQgKzEwNywxNCBAQAogCWdpdCByZXNldCAtLWhhcmQgJiYKIAogCWdpdCBjaGVja291dCAtYiBhZGRlciAmJgotCWNyZWF0ZV9maWxlIDEgMiAzIDQgNSA2IDcgPnRocmVlICYmCi0JY3JlYXRlX2ZpbGUgMSAyIDMgNCA1IDYgNyA+Zm91ciAmJgorCXRlc3Rfd3JpdGVfbGluZXMgMSAyIDMgNCA1IDYgNyA+dGhyZWUgJiYKKwl0ZXN0X3dyaXRlX2xpbmVzIDEgMiAzIDQgNSA2IDcgPmZvdXIgJiYKIAlnaXQgYWRkIHRocmVlIGZvdXIgJiYKIAlnaXQgY29tbWl0IC1tICJhZGQgdGhyZWUgYW5kIGZvdXIiICYmCiAKIAlnaXQgY2hlY2tvdXQgLWIgYW5vdGhlciBhZGRlcl4gJiYKLQljcmVhdGVfZmlsZSAxIDIgMyA0IDUgNiA3ID50aHJlZSAmJgotCWNyZWF0ZV9maWxlIDEgMiAzIGZvdXIgNSA2IDcgPmZvdXIgJiYKKwl0ZXN0X3dyaXRlX2xpbmVzIDEgMiAzIDQgNSA2IDcgPnRocmVlICYmCisJdGVzdF93cml0ZV9saW5lcyAxIDIgMyBmb3VyIDUgNiA3ID5mb3VyICYmCiAJZ2l0IGFkZCB0aHJlZSBmb3VyICYmCiAJZ2l0IGNvbW1pdCAtbSAiYWRkIHRocmVlIGFuZCBmb3VyIiAmJgogCkBAIC0xMjEsNyArMTI0LDcgQEAKIAlnaXQgY2hlY2tvdXQgYWRkZXJeMCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSAtLW5vLWNvbW1pdCBhbm90aGVyICYmCiAJZ2l0IGxzLWZpbGVzIC1zID5leHBlY3QubHMgJiYKLQlnaXQgZGlmZiBIRUFEIHwgc2FuaXRpemVfY29uZmxpY3RlZF9kaWZmID5leHBlY3QuZGlmZgorCXByaW50X3Nhbml0aXplZF9jb25mbGljdGVkX2RpZmYgPmV4cGVjdC5kaWZmCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FwcGx5IC0zIHdpdGggYWRkL2FkZCBjb25mbGljdCcgJwpAQCAtMTMxLDcgKzEzNCw3IEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGFwcGx5IC0taW5kZXggLS0zd2F5IFAuZGlmZiAmJgogCSMgLi4uIGFuZCBsZWF2ZSBjb25mbGljdHMgaW4gdGhlIGluZGV4IGFuZCBpbiB0aGUgd29ya2luZyB0cmVlCiAJZ2l0IGxzLWZpbGVzIC1zID5hY3R1YWwubHMgJiYKLQlnaXQgZGlmZiBIRUFEIHwgc2FuaXRpemVfY29uZmxpY3RlZF9kaWZmID5hY3R1YWwuZGlmZiAmJgorCXByaW50X3Nhbml0aXplZF9jb25mbGljdGVkX2RpZmYgPmFjdHVhbC5kaWZmICYmCiAKIAkjIFRoZSByZXN1bHQgc2hvdWxkIHJlc2VtYmxlIHRoZSBjb3JyZXNwb25kaW5nIG1lcmdlCiAJdGVzdF9jbXAgZXhwZWN0LmxzIGFjdHVhbC5scyAmJgpkaWZmIC0tZ2l0IGEvdC90NDExNy1hcHBseS1yZWplY3Quc2ggYi90L3Q0MTE3LWFwcGx5LXJlamVjdC5zaAppbmRleCBmN2RlNmYwLi4wZWU5M2ZlIDEwMDc1NQotLS0gYS90L3Q0MTE3LWFwcGx5LXJlamVjdC5zaAorKysgYi90L3Q0MTE3LWFwcGx5LXJlamVjdC5zaApAQCAtNzQsNyArNzQsNyBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBhcHBseSAtLXJlamVjdCBwYXRjaC4xICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgZmlsZTEgJiYKIAotCWNhdCBmaWxlMS5yZWogJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBmaWxlMS5yZWogJiYKIAl0ZXN0X3BhdGhfaXNfbWlzc2luZyBmaWxlMi5yZWoKICcKIApAQCAtODcsNyArODcsNyBAQAogCXRlc3RfcGF0aF9pc19taXNzaW5nIGZpbGUxICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgZmlsZTIgJiYKIAotCWNhdCBmaWxlMi5yZWogJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBmaWxlMi5yZWogJiYKIAl0ZXN0X3BhdGhfaXNfbWlzc2luZyBmaWxlMS5yZWoKIAogJwpAQCAtMTAxLDcgKzEwMSw3IEBACiAJdGVzdF9wYXRoX2lzX21pc3NpbmcgZmlsZTEgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBmaWxlMiAmJgogCi0JY2F0IGZpbGUyLnJlaiAmJgorCXRlc3RfcGF0aF9pc19maWxlIGZpbGUyLnJlaiAmJgogCXRlc3RfcGF0aF9pc19taXNzaW5nIGZpbGUxLnJlagogCiAnCmRpZmYgLS1naXQgYS90L3Q0MTI0LWFwcGx5LXdzLXJ1bGUuc2ggYi90L3Q0MTI0LWFwcGx5LXdzLXJ1bGUuc2gKaW5kZXggZmY1MWU5ZS4uOTcxYTVhNyAxMDA3NTUKLS0tIGEvdC90NDEyNC1hcHBseS13cy1ydWxlLnNoCisrKyBiL3QvdDQxMjQtYXBwbHktd3MtcnVsZS5zaApAQCAtMzUsOSArMzUsMTUgQEAKIH0KIAogYXBwbHlfcGF0Y2ggKCkgeworCWNtZF9wcmVmaXg9ICYmCisJaWYgdGVzdCAieCQxIiA9ICd4IScKKwl0aGVuCisJCWNtZF9wcmVmaXg9dGVzdF9tdXN0X2ZhaWwgJiYKKwkJc2hpZnQKKwlmaSAmJgogCT50YXJnZXQgJiYKIAlzZWQgLWUgInN8XChbYWJdXCkvZmlsZXxcMS90YXJnZXR8IiA8cGF0Y2ggfAotCWdpdCBhcHBseSAiJEAiCisJJGNtZF9wcmVmaXggZ2l0IGFwcGx5ICIkQCIKIH0KIAogdGVzdF9maXggKCkgewpAQCAtOTksNyArMTA1LDcgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnd2hpdGVzcGFjZT1lcnJvci1hbGwsIGRlZmF1bHQgcnVsZScgJwogCi0JdGVzdF9tdXN0X2ZhaWwgYXBwbHlfcGF0Y2ggLS13aGl0ZXNwYWNlPWVycm9yLWFsbCAmJgorCWFwcGx5X3BhdGNoICEgLS13aGl0ZXNwYWNlPWVycm9yLWFsbCAmJgogCXRlc3RfbXVzdF9iZV9lbXB0eSB0YXJnZXQKIAogJwpkaWZmIC0tZ2l0IGEvdC90NDEzNC1hcHBseS1zdWJtb2R1bGUuc2ggYi90L3Q0MTM0LWFwcGx5LXN1Ym1vZHVsZS5zaAppbmRleCAwMDQzOTMwLi45OWVkNGNjIDEwMDc1NQotLS0gYS90L3Q0MTM0LWFwcGx5LXN1Ym1vZHVsZS5zaAorKysgYi90L3Q0MTM0LWFwcGx5LXN1Ym1vZHVsZS5zaApAQCAtOCw2ICs4LDcgQEAKIC4gLi90ZXN0LWxpYi5zaAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIHNldHVwICcKKwl0ZXN0X29pZF9pbml0ICYmCiAJY2F0ID4gY3JlYXRlLXNtLnBhdGNoIDw8RU9GICYmCiBkaWZmIC0tZ2l0IGEvZGlyL3NtIGIvZGlyL3NtCiBuZXcgZmlsZSBtb2RlIDE2MDAwMApAQCAtMTUsNyArMTYsNyBAQAogLS0tIC9kZXYvbnVsbAogKysrIGIvZGlyL3NtCiBAQCAtMCwwICsxIEBACi0rU3VicHJvamVjdCBjb21taXQgMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2NworK1N1YnByb2plY3QgY29tbWl0ICQodGVzdF9vaWQgbnVtZXJpYykKIEVPRgogCWNhdCA+IHJlbW92ZS1zbS5wYXRjaCA8PEVPRgogZGlmZiAtLWdpdCBhL2Rpci9zbSBiL2Rpci9zbQpAQCAtMjQsNyArMjUsNyBAQAogLS0tIGEvZGlyL3NtCiArKysgL2Rldi9udWxsCiBAQCAtMSArMCwwIEBACi0tU3VicHJvamVjdCBjb21taXQgMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2NworLVN1YnByb2plY3QgY29tbWl0ICQodGVzdF9vaWQgbnVtZXJpYykKIEVPRgogJwogCmRpZmYgLS1naXQgYS90L3Q0MTM4LWFwcGx5LXdzLWV4cGFuc2lvbi5zaCBiL3QvdDQxMzgtYXBwbHktd3MtZXhwYW5zaW9uLnNoCmluZGV4IDNiNjM2YTYuLmIxOWZhZWIgMTAwNzU1Ci0tLSBhL3QvdDQxMzgtYXBwbHktd3MtZXhwYW5zaW9uLnNoCisrKyBiL3QvdDQxMzgtYXBwbHktd3MtZXhwYW5zaW9uLnNoCkBAIC0xNyw4ICsxNyw4IEBACiAJcHJpbnRmICJcdCVzXG4iIDEgMiAzID5hZnRlciAmJgogCXByaW50ZiAiJTY0c1xuIiBhIGIgYyA+PmFmdGVyICYmCiAJcHJpbnRmICJcdCVzXG4iIDQgNSA2ID4+YWZ0ZXIgJiYKLQlnaXQgZGlmZiAtLW5vLWluZGV4IGJlZm9yZSBhZnRlciB8Ci0JCXNlZCAtZSAicy9iZWZvcmUvdGVzdC0xLyIgLWUgInMvYWZ0ZXIvdGVzdC0xLyIgPnBhdGNoMS5wYXRjaCAmJgorCXRlc3RfZXhwZWN0X2NvZGUgMSBnaXQgZGlmZiAtLW5vLWluZGV4IGJlZm9yZSBhZnRlciA+cGF0Y2gxLnBhdGNoLnJhdyAmJgorCXNlZCAtZSAicy9iZWZvcmUvdGVzdC0xLyIgLWUgInMvYWZ0ZXIvdGVzdC0xLyIgcGF0Y2gxLnBhdGNoLnJhdyA+cGF0Y2gxLnBhdGNoICYmCiAJcHJpbnRmICIlNjRzXG4iIDEgMiAzIDQgNSA2ID50ZXN0LTEgJiYKIAlwcmludGYgIiU2NHNcbiIgMSAyIDMgYSBiIGMgNCA1IDYgPmV4cGVjdC0xICYmCiAKQEAgLTMzLDggKzMzLDggQEAKIAkJeD0kKCggJHggKyAxICkpCiAJZG9uZSAmJgogCXByaW50ZiAiXHQlc1xuIiBkIGUgZiA+PmFmdGVyICYmCi0JZ2l0IGRpZmYgLS1uby1pbmRleCBiZWZvcmUgYWZ0ZXIgfAotCQlzZWQgLWUgInMvYmVmb3JlL3Rlc3QtMi8iIC1lICJzL2FmdGVyL3Rlc3QtMi8iID5wYXRjaDIucGF0Y2ggJiYKKwl0ZXN0X2V4cGVjdF9jb2RlIDEgZ2l0IGRpZmYgLS1uby1pbmRleCBiZWZvcmUgYWZ0ZXIgPnBhdGNoMi5wYXRjaC5yYXcgJiYKKwlzZWQgLWUgInMvYmVmb3JlL3Rlc3QtMi8iIC1lICJzL2FmdGVyL3Rlc3QtMi8iIHBhdGNoMi5wYXRjaC5yYXcgPnBhdGNoMi5wYXRjaCAmJgogCXByaW50ZiAiJTY0c1xuIiBhIGIgYyBkIGUgZiA+dGVzdC0yICYmCiAJcHJpbnRmICIlNjRzXG4iIGEgYiBjID5leHBlY3QtMiAmJgogCXg9MSAmJgpAQCAtNTYsOCArNTYsOCBAQAogCQl4PSQoKCAkeCArIDEgKSkKIAlkb25lICYmCiAJcHJpbnRmICJcdCVzXG4iIGQgZSBmID4+YWZ0ZXIgJiYKLQlnaXQgZGlmZiAtLW5vLWluZGV4IGJlZm9yZSBhZnRlciB8Ci0Jc2VkIC1lICJzL2JlZm9yZS90ZXN0LTMvIiAtZSAicy9hZnRlci90ZXN0LTMvIiA+cGF0Y2gzLnBhdGNoICYmCisJdGVzdF9leHBlY3RfY29kZSAxIGdpdCBkaWZmIC0tbm8taW5kZXggYmVmb3JlIGFmdGVyID5wYXRjaDMucGF0Y2gucmF3ICYmCisJc2VkIC1lICJzL2JlZm9yZS90ZXN0LTMvIiAtZSAicy9hZnRlci90ZXN0LTMvIiBwYXRjaDMucGF0Y2gucmF3ID5wYXRjaDMucGF0Y2ggJiYKIAlwcmludGYgIiU2NHNcbiIgYSBiIGMgZCBlIGYgPnRlc3QtMyAmJgogCXByaW50ZiAiJTY0c1xuIiBhIGIgYyA+ZXhwZWN0LTMgJiYKIAl4PTAgJiYKQEAgLTg0LDggKzg0LDggQEAKIAkJcHJpbnRmICJcdCUwMmRcbiIgJHggPj5hZnRlcgogCQl4PSQoKCAkeCArIDEgKSkKIAlkb25lICYmCi0JZ2l0IGRpZmYgLS1uby1pbmRleCBiZWZvcmUgYWZ0ZXIgfAotCXNlZCAtZSAicy9iZWZvcmUvdGVzdC00LyIgLWUgInMvYWZ0ZXIvdGVzdC00LyIgPnBhdGNoNC5wYXRjaCAmJgorCXRlc3RfZXhwZWN0X2NvZGUgMSBnaXQgZGlmZiAtLW5vLWluZGV4IGJlZm9yZSBhZnRlciA+cGF0Y2g0LnBhdGNoLnJhdyAmJgorCXNlZCAtZSAicy9iZWZvcmUvdGVzdC00LyIgLWUgInMvYWZ0ZXIvdGVzdC00LyIgcGF0Y2g0LnBhdGNoLnJhdyA+cGF0Y2g0LnBhdGNoICYmCiAJPnRlc3QtNCAmJgogCXg9MCAmJgogCXdoaWxlIHRlc3QgJHggLWx0IDUwCmRpZmYgLS1naXQgYS90L3Q0MTUwLWFtLnNoIGIvdC90NDE1MC1hbS5zaAppbmRleCA1NWI1NzdkLi5jYjQ1MjcxIDEwMDc1NQotLS0gYS90L3Q0MTUwLWFtLnNoCisrKyBiL3QvdDQxNTAtYW0uc2gKQEAgLTc3LDE0ICs3NywxMiBAQAogCiAJcHJpbnRmICJTdWJqZWN0OiAiID5zdWJqZWN0LXByZWZpeCAmJgogCi0JY2F0IC0gc3ViamVjdC1wcmVmaXggbXNnLXdpdGhvdXQtc2Npc3NvcnMtbGluZSA+bXNnLXdpdGgtc2Npc3NvcnMtbGluZSA8PC1cRU9GICYmCisJY2F0IC0gc3ViamVjdC1wcmVmaXggbXNnLXdpdGhvdXQtc2Npc3NvcnMtbGluZSA+bXNnLXdpdGgtc2Npc3NvcnMtbGluZSA8PC1cRU9GCiAJVGhpcyBsaW5lIHNob3VsZCBub3QgYmUgaW5jbHVkZWQgaW4gdGhlIGNvbW1pdCBtZXNzYWdlIHdpdGggLS1zY2lzc29ycyBlbmFibGVkLgogCiAJIC0gLSA+OCAtIC0gcmVtb3ZlIGV2ZXJ5dGhpbmcgYWJvdmUgdGhpcyBsaW5lIC0gLSA+OCAtIC0KIAogCUVPRgotCi0Jc2lnbm9mZj0iU2lnbmVkLW9mZi1ieTogJEdJVF9DT01NSVRURVJfTkFNRSA8JEdJVF9DT01NSVRURVJfRU1BSUw+IgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIHNldHVwICcKQEAgLTY2OCw2ICs2NjYsMjYgQEAKIAl0ZXN0X2NtcCAuZ2l0L3JlYmFzZS1hcHBseS8wMDAxIGFjdHVhbC5wYXRjaAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhbSAtLXNob3ctY3VycmVudC1wYXRjaD1yYXcnICcKKwlnaXQgYW0gLS1zaG93LWN1cnJlbnQtcGF0Y2g9cmF3ID5hY3R1YWwucGF0Y2ggJiYKKwl0ZXN0X2NtcCAuZ2l0L3JlYmFzZS1hcHBseS8wMDAxIGFjdHVhbC5wYXRjaAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhbSAtLXNob3ctY3VycmVudC1wYXRjaD1kaWZmJyAnCisJZ2l0IGFtIC0tc2hvdy1jdXJyZW50LXBhdGNoPWRpZmYgPmFjdHVhbC5wYXRjaCAmJgorCXRlc3RfY21wIC5naXQvcmViYXNlLWFwcGx5L3BhdGNoIGFjdHVhbC5wYXRjaAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhbSBhY2NlcHRzIHJlcGVhdGVkIC0tc2hvdy1jdXJyZW50LXBhdGNoJyAnCisJZ2l0IGFtIC0tc2hvdy1jdXJyZW50LXBhdGNoIC0tc2hvdy1jdXJyZW50LXBhdGNoPXJhdyA+YWN0dWFsLnBhdGNoICYmCisJdGVzdF9jbXAgLmdpdC9yZWJhc2UtYXBwbHkvMDAwMSBhY3R1YWwucGF0Y2gKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYW0gZGV0ZWN0cyBpbmNvbXBhdGlibGUgLS1zaG93LWN1cnJlbnQtcGF0Y2gnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgYW0gLS1zaG93LWN1cnJlbnQtcGF0Y2g9cmF3IC0tc2hvdy1jdXJyZW50LXBhdGNoPWRpZmYgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgYW0gLS1zaG93LWN1cnJlbnQtcGF0Y2ggLS1zaG93LWN1cnJlbnQtcGF0Y2g9ZGlmZgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhbSAtLXNraXAgd29ya3MnICcKIAllY2hvIGdvb2RieWUgPmV4cGVjdGVkICYmCiAJZ2l0IGFtIC0tc2tpcCAmJgpAQCAtMTA2Myw0ICsxMDgxLDU2IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FtIGFuZCAuZ2l0YXR0aWJ1dGVzJyAnCisJdGVzdF9jcmVhdGVfcmVwbyBhdHRyaWJ1dGVzICYmCisJKAorCQljZCBhdHRyaWJ1dGVzICYmCisJCXRlc3RfY29tbWl0IGluaXQgJiYKKwkJZ2l0IGNvbmZpZyBmaWx0ZXIudGVzdC5jbGVhbiAic2VkIC1lICdcJydzL3NtdWRnZWQvY2xlYW4vZydcJyciICYmCisJCWdpdCBjb25maWcgZmlsdGVyLnRlc3Quc211ZGdlICJzZWQgLWUgJ1wnJ3MvY2xlYW4vc211ZGdlZC9nJ1wnJyIgJiYKKworCQl0ZXN0X2NvbW1pdCBzZWNvbmQgJiYKKwkJZ2l0IGNoZWNrb3V0IC1iIHRlc3QgSEVBRF4gJiYKKworCQllY2hvICIqLnR4dCBmaWx0ZXI9dGVzdCBjb25mbGljdC1tYXJrZXItc2l6ZT0xMCIgPi5naXRhdHRyaWJ1dGVzICYmCisJCWdpdCBhZGQgLmdpdGF0dHJpYnV0ZXMgJiYKKwkJdGVzdF9jb21taXQgdGhpcmQgJiYKKworCQllY2hvICJUaGlzIHRleHQgaXMgc211ZGdlZC4iID5hLnR4dCAmJgorCQlnaXQgYWRkIGEudHh0ICYmCisJCXRlc3RfY29tbWl0IGZvdXJ0aCAmJgorCisJCWdpdCBjaGVja291dCAtYiByZW1vdmFsIEhFQUReICYmCisJCWdpdCBybSAuZ2l0YXR0cmlidXRlcyAmJgorCQlnaXQgYWRkIC11ICYmCisJCXRlc3RfY29tbWl0IGZpZnRoICYmCisJCWdpdCBjaGVycnktcGljayB0ZXN0ICYmCisKKwkJZ2l0IGNoZWNrb3V0IC1iIGNvbmZsaWN0IHRoaXJkICYmCisJCWVjaG8gIlRoaXMgdGV4dCBpcyBkaWZmZXJlbnQuIiA+YS50eHQgJiYKKwkJZ2l0IGFkZCBhLnR4dCAmJgorCQl0ZXN0X2NvbW1pdCBzaXh0aCAmJgorCisJCWdpdCBjaGVja291dCB0ZXN0ICYmCisJCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgbWFzdGVyLi5IRUFEID5wYXRjaGVzICYmCisJCWdpdCByZXNldCAtLWhhcmQgbWFzdGVyICYmCisJCWdpdCBhbSBwYXRjaGVzICYmCisJCWdyZXAgInNtdWRnZWQiIGEudHh0ICYmCisKKwkJZ2l0IGNoZWNrb3V0IHJlbW92YWwgJiYKKwkJZ2l0IHJlc2V0IC0taGFyZCAmJgorCQlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IG1hc3Rlci4uSEVBRCA+cGF0Y2hlcyAmJgorCQlnaXQgcmVzZXQgLS1oYXJkIG1hc3RlciAmJgorCQlnaXQgYW0gcGF0Y2hlcyAmJgorCQlncmVwICJjbGVhbiIgYS50eHQgJiYKKworCQlnaXQgY2hlY2tvdXQgY29uZmxpY3QgJiYKKwkJZ2l0IHJlc2V0IC0taGFyZCAmJgorCQlnaXQgZm9ybWF0LXBhdGNoIC0tc3Rkb3V0IG1hc3Rlci4uSEVBRCA+cGF0Y2hlcyAmJgorCQlnaXQgcmVzZXQgLS1oYXJkIGZvdXJ0aCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgYW0gLTMgcGF0Y2hlcyAmJgorCQlncmVwICI8PDw8PDw8PDw8IiBhLnR4dAorCSkKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q0MjAwLXJlcmVyZS5zaCBiL3QvdDQyMDAtcmVyZXJlLnNoCmluZGV4IDU1Yjc3NTAuLjgzMWQ0MjQgMTAwNzU1Ci0tLSBhL3QvdDQyMDAtcmVyZXJlLnNoCisrKyBiL3QvdDQyMDAtcmVyZXJlLnNoCkBAIC0yNSw2ICsyNSw3IEBACiAuIC4vdGVzdC1saWIuc2gKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKKwl0ZXN0X29pZF9pbml0ICYmCiAJY2F0ID5hMSA8PC1cRU9GICYmCiAJU29tZSB0aXRsZQogCT09PT09PT09PT0KQEAgLTIxMCw3ICsyMTEsNyBAQAogCWVjaG8gSGVsbG8gPiRyci9wcmVpbWFnZSAmJgogCWVjaG8gV29ybGQgPiRyci9wb3N0aW1hZ2UgJiYKIAotCXNoYTI9NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAmJgorCXNoYTI9JCh0ZXN0X29pZCBkZWFkYmVlZikgJiYKIAlycjI9LmdpdC9yci1jYWNoZS8kc2hhMiAmJgogCW1rZGlyICRycjIgJiYKIAllY2hvIEhlbGxvID4kcnIyL3ByZWltYWdlICYmCmRpZmYgLS1naXQgYS90L3Q0MjAyLWxvZy5zaCBiL3QvdDQyMDItbG9nLnNoCmluZGV4IDgxOWMyNGQuLjBmNzY2YmEgMTAwNzU1Ci0tLSBhL3QvdDQyMDItbG9nLnNoCisrKyBiL3QvdDQyMDItbG9nLnNoCkBAIC01LDYgKzUsMTEgQEAKIC4gLi90ZXN0LWxpYi5zaAogLiAiJFRFU1RfRElSRUNUT1JZL2xpYi1ncGcuc2giCiAuICIkVEVTVF9ESVJFQ1RPUlkvbGliLXRlcm1pbmFsLnNoIgorLiAiJFRFU1RfRElSRUNUT1JZL2xpYi1sb2ctZ3JhcGguc2giCisKK3Rlc3RfY21wX2dyYXBoICgpIHsKKwlsaWJfdGVzdF9jbXBfZ3JhcGggLS1mb3JtYXQ9JXMgIiRAIgorfQogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIHNldHVwICcKIApAQCAtODcsMTIgKzkyLDEyIEBACiAnCiAKIGNhdCA+IGV4cGVjdCA8PCBFT0YKLTgwNGE3ODcgc2l4dGgKLTM5NGVmNzggZmlmdGgKLTVkMzExNTkgZm91cnRoCi0yZmJlOGMwIHRoaXJkCi1mN2RhYjhlIHNlY29uZAotM2EyZmRjYiBpbml0aWFsCiskKGdpdCByZXYtcGFyc2UgLS1zaG9ydCA6L3NpeHRoICApIHNpeHRoCiskKGdpdCByZXYtcGFyc2UgLS1zaG9ydCA6L2ZpZnRoICApIGZpZnRoCiskKGdpdCByZXYtcGFyc2UgLS1zaG9ydCA6L2ZvdXJ0aCApIGZvdXJ0aAorJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgOi90aGlyZCAgKSB0aGlyZAorJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgOi9zZWNvbmQgKSBzZWNvbmQKKyQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IDovaW5pdGlhbCkgaW5pdGlhbAogRU9GCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdvbmVsaW5lJyAnCiAKQEAgLTE3Myw0MyArMTc4LDQ1IEBACiAJdmVyYm9zZSB0ZXN0ICIkYWN0dWFsIiA9ICIkZXhwZWN0IgogJwogCisjIE5vdGUgdGhhdCB0aGVzZSBjb21taXRzIGFyZSBpbnRlbnRpb25hbGx5IGxpc3RlZCBvdXQgb2Ygb3JkZXIuCitsYXN0X3RocmVlPSIkKGdpdCByZXYtcGFyc2UgOi9mb3VydGggOi9zaXh0aCA6L2ZpZnRoKSIKIGNhdCA+IGV4cGVjdCA8PCBFT0YKLTgwNGE3ODcgc2l4dGgKLTM5NGVmNzggZmlmdGgKLTVkMzExNTkgZm91cnRoCiskKGdpdCByZXYtcGFyc2UgLS1zaG9ydCA6L3NpeHRoICkgc2l4dGgKKyQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IDovZmlmdGggKSBmaWZ0aAorJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgOi9mb3VydGgpIGZvdXJ0aAogRU9GCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgbG9nIC0tbm8td2FsayA8Y29tbWl0cz4gc29ydHMgYnkgY29tbWl0IHRpbWUnICcKLQlnaXQgbG9nIC0tbm8td2FsayAtLW9uZWxpbmUgNWQzMTE1OSA4MDRhNzg3IDM5NGVmNzggPiBhY3R1YWwgJiYKKwlnaXQgbG9nIC0tbm8td2FsayAtLW9uZWxpbmUgJGxhc3RfdGhyZWUgPiBhY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBsb2cgLS1uby13YWxrPXNvcnRlZCA8Y29tbWl0cz4gc29ydHMgYnkgY29tbWl0IHRpbWUnICcKLQlnaXQgbG9nIC0tbm8td2Fsaz1zb3J0ZWQgLS1vbmVsaW5lIDVkMzExNTkgODA0YTc4NyAzOTRlZjc4ID4gYWN0dWFsICYmCisJZ2l0IGxvZyAtLW5vLXdhbGs9c29ydGVkIC0tb25lbGluZSAkbGFzdF90aHJlZSA+IGFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogY2F0ID4gZXhwZWN0IDw8IEVPRgotPT09IDgwNGE3ODcgc2l4dGgKLT09PSAzOTRlZjc4IGZpZnRoCi09PT0gNWQzMTE1OSBmb3VydGgKKz09PSAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCA6L3NpeHRoICkgc2l4dGgKKz09PSAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCA6L2ZpZnRoICkgZmlmdGgKKz09PSAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCA6L2ZvdXJ0aCkgZm91cnRoCiBFT0YKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBsb2cgLS1saW5lLXByZWZpeD0iPT09ICIgLS1uby13YWxrIDxjb21taXRzPiBzb3J0cyBieSBjb21taXQgdGltZScgJwotCWdpdCBsb2cgLS1saW5lLXByZWZpeD0iPT09ICIgLS1uby13YWxrIC0tb25lbGluZSA1ZDMxMTU5IDgwNGE3ODcgMzk0ZWY3OCA+IGFjdHVhbCAmJgorCWdpdCBsb2cgLS1saW5lLXByZWZpeD0iPT09ICIgLS1uby13YWxrIC0tb25lbGluZSAkbGFzdF90aHJlZSA+IGFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogY2F0ID4gZXhwZWN0IDw8IEVPRgotNWQzMTE1OSBmb3VydGgKLTgwNGE3ODcgc2l4dGgKLTM5NGVmNzggZmlmdGgKKyQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IDovZm91cnRoKSBmb3VydGgKKyQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IDovc2l4dGggKSBzaXh0aAorJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgOi9maWZ0aCApIGZpZnRoCiBFT0YKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBsb2cgLS1uby13YWxrPXVuc29ydGVkIDxjb21taXRzPiBsZWF2ZXMgbGlzdCBvZiBjb21taXRzIGFzIGdpdmVuJyAnCi0JZ2l0IGxvZyAtLW5vLXdhbGs9dW5zb3J0ZWQgLS1vbmVsaW5lIDVkMzExNTkgODA0YTc4NyAzOTRlZjc4ID4gYWN0dWFsICYmCisJZ2l0IGxvZyAtLW5vLXdhbGs9dW5zb3J0ZWQgLS1vbmVsaW5lICRsYXN0X3RocmVlID4gYWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgc2hvdyA8Y29tbWl0cz4gbGVhdmVzIGxpc3Qgb2YgY29tbWl0cyBhcyBnaXZlbicgJwotCWdpdCBzaG93IC0tb25lbGluZSAtcyA1ZDMxMTU5IDgwNGE3ODcgMzk0ZWY3OCA+IGFjdHVhbCAmJgorCWdpdCBzaG93IC0tb25lbGluZSAtcyAkbGFzdF90aHJlZSA+IGFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIApAQCAtMzUyLDcgKzM1OSw3IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgd2l0aCB2YXJpb3VzIGdyZXAucGF0dGVyblR5cGUgY29uZmlndXJhdGlvbnMgJiBjb21tYW5kLWxpbmVzJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICFGQUlMX1BSRVJFUVMgJ2xvZyB3aXRoIHZhcmlvdXMgZ3JlcC5wYXR0ZXJuVHlwZSBjb25maWd1cmF0aW9ucyAmIGNvbW1hbmQtbGluZXMnICcKIAlnaXQgaW5pdCBwYXR0ZXJuLXR5cGUgJiYKIAkoCiAJCWNkIHBhdHRlcm4tdHlwZSAmJgpAQCAtNDUwLDggKzQ1Nyw3IEBACiBFT0YKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2ltcGxlIGxvZyAtLWdyYXBoJyAnCi0JZ2l0IGxvZyAtLWdyYXBoIC0tcHJldHR5PXRmb3JtYXQ6JXMgPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwl0ZXN0X2NtcF9ncmFwaAogJwogCiBjYXQgPiBleHBlY3QgPDxFT0YKQEAgLTQ2NSw4ICs0NzEsNyBAQAogRU9GCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NpbXBsZSBsb2cgLS1ncmFwaCAtLWxpbmUtcHJlZml4PSIxMjMgIicgJwotCWdpdCBsb2cgLS1ncmFwaCAtLWxpbmUtcHJlZml4PSIxMjMgIiAtLXByZXR0eT10Zm9ybWF0OiVzID5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJdGVzdF9jbXBfZ3JhcGggLS1saW5lLXByZWZpeD0iMTIzICIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0IHVwIG1lcmdlIGhpc3RvcnknICcKQEAgLTQ5Myw5ICs0OTgsNyBAQAogRU9GCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyYXBoIHdpdGggbWVyZ2UnICcKLQlnaXQgbG9nIC0tZ3JhcGggLS1kYXRlLW9yZGVyIC0tcHJldHR5PXRmb3JtYXQ6JXMgfAotCQlzZWQgInMvICpcJC8vIiA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCXRlc3RfY21wX2dyYXBoIC0tZGF0ZS1vcmRlcgogJwogCiBjYXQgPiBleHBlY3QgPDxcRU9GCkBAIC01MTQsOSArNTE3LDcgQEAKIEVPRgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1ncmFwaCAtLWxpbmUtcHJlZml4PSJ8IHwgfCAiIHdpdGggbWVyZ2UnICcKLQlnaXQgbG9nIC0tbGluZS1wcmVmaXg9InwgfCB8ICIgLS1ncmFwaCAtLWRhdGUtb3JkZXIgLS1wcmV0dHk9dGZvcm1hdDolcyB8Ci0JCXNlZCAicy8gKlwkLy8iID5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJdGVzdF9jbXBfZ3JhcGggLS1saW5lLXByZWZpeD0ifCB8IHwgIiAtLWRhdGUtb3JkZXIKICcKIAogY2F0ID4gZXhwZWN0LmNvbG9ycyA8PFxFT0YKQEAgLTUzNiw5ICs1MzcsNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1ncmFwaCB3aXRoIG1lcmdlIHdpdGggbG9nLmdyYXBoQ29sb3JzJyAnCiAJdGVzdF9jb25maWcgbG9nLmdyYXBoQ29sb3JzICIgYmx1ZSxpbnZhbGlkLWNvbG9yLCBjeWFuLCByZWQgICwgIiAmJgotCWdpdCBsb2cgLS1jb2xvcj1hbHdheXMgLS1ncmFwaCAtLWRhdGUtb3JkZXIgLS1wcmV0dHk9dGZvcm1hdDolcyB8Ci0JCXRlc3RfZGVjb2RlX2NvbG9yIHwgc2VkICJzLyAqXCQvLyIgPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdC5jb2xvcnMgYWN0dWFsCisJbGliX3Rlc3RfY21wX2NvbG9yZWRfZ3JhcGggLS1kYXRlLW9yZGVyIC0tZm9ybWF0PSVzCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLXJhdyAtLWdyYXBoIC1tIHdpdGggbWVyZ2UnICcKQEAgLTY2NywxNiArNjY2LDE0IEBACiAqIHwgfCBmaWZ0aAogKiB8IHwgZm91cnRoCiB8LyAvCi0qIHwgdGhpcmQKKyogLyB0aGlyZAogfC8KICogc2Vjb25kCiAqIGluaXRpYWwKIEVPRgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1ncmFwaCB3aXRoIG1lcmdlJyAnCi0JZ2l0IGxvZyAtLWdyYXBoIC0tZGF0ZS1vcmRlciAtLXByZXR0eT10Zm9ybWF0OiVzIHwKLQkJc2VkICJzLyAqXCQvLyIgPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwl0ZXN0X2NtcF9ncmFwaCAtLWRhdGUtb3JkZXIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nLmRlY29yYXRlIGNvbmZpZ3VyYXRpb24nICcKQEAgLTgzNyw2ICs4MzQsMjEgQEAKIAl0ZXN0X2NtcCBleHBlY3QuZGVjb3JhdGUgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RlY29yYXRlLXJlZnMtZXhjbHVkZSBhbmQgc2ltcGxpZnktYnktZGVjb3JhdGlvbicgJworCWNhdCA+ZXhwZWN0LmRlY29yYXRlIDw8LVxFT0YgJiYKKwlNZXJnZS10YWctcmVhY2ggKEhFQUQgLT4gbWFzdGVyKQorCXJlYWNoICh0YWc6IHJlYWNoLCByZWFjaCkKKwlzZXZlbnRoICh0YWc6IHNldmVudGgpCisJTWVyZ2UtYnJhbmNoLXRhbmdsZQorCU1lcmdlLWJyYW5jaC1zaWRlLWVhcmx5LXBhcnQtaW50by10YW5nbGUgKHRhbmdsZSkKKwl0YW5nbGUtYSAodGFnOiB0YW5nbGUtYSkKKwlFT0YKKwlnaXQgbG9nIC1uNiAtLWRlY29yYXRlPXNob3J0IC0tcHJldHR5PSJ0Zm9ybWF0OiVmJWQiIFwKKwkJLS1kZWNvcmF0ZS1yZWZzLWV4Y2x1ZGU9IipvY3RvcHVzKiIgXAorCQktLXNpbXBsaWZ5LWJ5LWRlY29yYXRpb24gPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdC5kZWNvcmF0ZSBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nLmRlY29yYXRlIGNvbmZpZyBwYXJzaW5nJyAnCiAJZ2l0IGxvZyAtLW9uZWxpbmUgLS1kZWNvcmF0ZT1mdWxsID5leHBlY3QuZnVsbCAmJgogCWdpdCBsb2cgLS1vbmVsaW5lIC0tZGVjb3JhdGU9c2hvcnQgPmV4cGVjdC5zaG9ydCAmJgpAQCAtOTQyLDcgKzk1NCw3IEBACiB8IHwKIHwgfCBkaWZmIC0tZ2l0IGEvcmVhY2gudCBiL3JlYWNoLnQKIHwgfCBuZXcgZmlsZSBtb2RlIDEwMDY0NAotfCB8IGluZGV4IDAwMDAwMDAuLjEwYzk1OTEKK3wgfCBpbmRleCBCRUZPUkUuLkFGVEVSCiB8IHwgLS0tIC9kZXYvbnVsbAogfCB8ICsrKyBiL3JlYWNoLnQKIHwgfCBAQCAtMCwwICsxIEBACkBAIC05NjUsNyArOTc3LDcgQEAKIHwgfCB8CiB8IHwgfCAgIGRpZmYgLS1naXQgYS9vY3RvcHVzLWIudCBiL29jdG9wdXMtYi50CiB8IHwgfCAgIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci18IHwgfCAgIGluZGV4IDAwMDAwMDAuLmQ1ZmNhZDAKK3wgfCB8ICAgaW5kZXggQkVGT1JFLi5BRlRFUgogfCB8IHwgICAtLS0gL2Rldi9udWxsCiB8IHwgfCAgICsrKyBiL29jdG9wdXMtYi50CiB8IHwgfCAgIEBAIC0wLDAgKzEgQEAKQEAgLTk4MSw3ICs5OTMsNyBAQAogfCB8CiB8IHwgICBkaWZmIC0tZ2l0IGEvb2N0b3B1cy1hLnQgYi9vY3RvcHVzLWEudAogfCB8ICAgbmV3IGZpbGUgbW9kZSAxMDA2NDQKLXwgfCAgIGluZGV4IDAwMDAwMDAuLjExZWUwMTUKK3wgfCAgIGluZGV4IEJFRk9SRS4uQUZURVIKIHwgfCAgIC0tLSAvZGV2L251bGwKIHwgfCAgICsrKyBiL29jdG9wdXMtYS50CiB8IHwgICBAQCAtMCwwICsxIEBACkBAIC05OTcsNyArMTAwOSw3IEBACiB8CiB8ICAgZGlmZiAtLWdpdCBhL3NldmVudGgudCBiL3NldmVudGgudAogfCAgIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci18ICAgaW5kZXggMDAwMDAwMC4uOTc0NGZmYworfCAgIGluZGV4IEJFRk9SRS4uQUZURVIKIHwgICAtLS0gL2Rldi9udWxsCiB8ICAgKysrIGIvc2V2ZW50aC50CiB8ICAgQEAgLTAsMCArMSBAQApAQCAtMTAzMSw3ICsxMDQzLDcgQEAKIHwgfCB8IHwKIHwgfCB8IHwgZGlmZiAtLWdpdCBhL3RhbmdsZS1hIGIvdGFuZ2xlLWEKIHwgfCB8IHwgbmV3IGZpbGUgbW9kZSAxMDA2NDQKLXwgfCB8IHwgaW5kZXggMDAwMDAwMC4uNzg5ODE5MgorfCB8IHwgfCBpbmRleCBCRUZPUkUuLkFGVEVSCiB8IHwgfCB8IC0tLSAvZGV2L251bGwKIHwgfCB8IHwgKysrIGIvdGFuZ2xlLWEKIHwgfCB8IHwgQEAgLTAsMCArMSBAQApAQCAtMTA1Myw3ICsxMDY1LDcgQEAKIHwgfCB8IHwKIHwgfCB8IHwgICBkaWZmIC0tZ2l0IGEvMiBiLzIKIHwgfCB8IHwgICBuZXcgZmlsZSBtb2RlIDEwMDY0NAotfCB8IHwgfCAgIGluZGV4IDAwMDAwMDAuLjBjZmJmMDgKK3wgfCB8IHwgICBpbmRleCBCRUZPUkUuLkFGVEVSCiB8IHwgfCB8ICAgLS0tIC9kZXYvbnVsbAogfCB8IHwgfCAgICsrKyBiLzIKIHwgfCB8IHwgICBAQCAtMCwwICsxIEBACkBAIC0xMDY5LDcgKzEwODEsNyBAQAogfCB8IHwgfAogfCB8IHwgfCBkaWZmIC0tZ2l0IGEvMSBiLzEKIHwgfCB8IHwgbmV3IGZpbGUgbW9kZSAxMDA2NDQKLXwgfCB8IHwgaW5kZXggMDAwMDAwMC4uZDAwNDkxZgorfCB8IHwgfCBpbmRleCBCRUZPUkUuLkFGVEVSCiB8IHwgfCB8IC0tLSAvZGV2L251bGwKIHwgfCB8IHwgKysrIGIvMQogfCB8IHwgfCBAQCAtMCwwICsxIEBACkBAIC0xMDg1LDcgKzEwOTcsNyBAQAogfCB8IHwgfAogfCB8IHwgfCBkaWZmIC0tZ2l0IGEvb25lIGIvb25lCiB8IHwgfCB8IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci18IHwgfCB8IGluZGV4IDAwMDAwMDAuLjlhMzMzODMKK3wgfCB8IHwgaW5kZXggQkVGT1JFLi5BRlRFUgogfCB8IHwgfCAtLS0gL2Rldi9udWxsCiB8IHwgfCB8ICsrKyBiL29uZQogfCB8IHwgfCBAQCAtMCwwICsxIEBACkBAIC0xMTAxLDcgKzExMTMsNyBAQAogfCB8IHwKIHwgfCB8ICAgZGlmZiAtLWdpdCBhL2EvdHdvIGIvYS90d28KIHwgfCB8ICAgZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Ci18IHwgfCAgIGluZGV4IDkyNDVhZjUuLjAwMDAwMDAKK3wgfCB8ICAgaW5kZXggQkVGT1JFLi5BRlRFUgogfCB8IHwgICAtLS0gYS9hL3R3bwogfCB8IHwgICArKysgL2Rldi9udWxsCiB8IHwgfCAgIEBAIC0xICswLDAgQEAKQEAgLTExMTcsNyArMTEyOSw3IEBACiB8IHwgfAogfCB8IHwgZGlmZiAtLWdpdCBhL2EvdHdvIGIvYS90d28KIHwgfCB8IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci18IHwgfCBpbmRleCAwMDAwMDAwLi45MjQ1YWY1Cit8IHwgfCBpbmRleCBCRUZPUkUuLkFGVEVSCiB8IHwgfCAtLS0gL2Rldi9udWxsCiB8IHwgfCArKysgYi9hL3R3bwogfCB8IHwgQEAgLTAsMCArMSBAQApAQCAtMTEzMyw3ICsxMTQ1LDcgQEAKIHwgfAogfCB8ICAgZGlmZiAtLWdpdCBhL2VpbiBiL2VpbgogfCB8ICAgbmV3IGZpbGUgbW9kZSAxMDA2NDQKLXwgfCAgIGluZGV4IDAwMDAwMDAuLjlkN2U2OWYKK3wgfCAgIGluZGV4IEJFRk9SRS4uQUZURVIKIHwgfCAgIC0tLSAvZGV2L251bGwKIHwgfCAgICsrKyBiL2VpbgogfCB8ICAgQEAgLTAsMCArMSBAQApAQCAtMTE1MCwxNCArMTE2MiwxNCBAQAogfAogfCAgIGRpZmYgLS1naXQgYS9pY2hpIGIvaWNoaQogfCAgIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci18ICAgaW5kZXggMDAwMDAwMC4uOWQ3ZTY5ZgorfCAgIGluZGV4IEJFRk9SRS4uQUZURVIKIHwgICAtLS0gL2Rldi9udWxsCiB8ICAgKysrIGIvaWNoaQogfCAgIEBAIC0wLDAgKzEgQEAKIHwgICAraWNoaQogfCAgIGRpZmYgLS1naXQgYS9vbmUgYi9vbmUKIHwgICBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLXwgICBpbmRleCA5ZDdlNjlmLi4wMDAwMDAwCit8ICAgaW5kZXggQkVGT1JFLi5BRlRFUgogfCAgIC0tLSBhL29uZQogfCAgICsrKyAvZGV2L251bGwKIHwgICBAQCAtMSArMCwwIEBACkBAIC0xMTcyLDcgKzExODQsNyBAQAogfCAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiB8CiB8IGRpZmYgLS1naXQgYS9vbmUgYi9vbmUKLXwgaW5kZXggNTYyNmFiZi4uOWQ3ZTY5ZiAxMDA2NDQKK3wgaW5kZXggQkVGT1JFLi5BRlRFUiAxMDA2NDQKIHwgLS0tIGEvb25lCiB8ICsrKyBiL29uZQogfCBAQCAtMSArMSBAQApAQCAtMTE4OSwzMCArMTIwMSwxNSBAQAogCiAgIGRpZmYgLS1naXQgYS9vbmUgYi9vbmUKICAgbmV3IGZpbGUgbW9kZSAxMDA2NDQKLSAgaW5kZXggMDAwMDAwMC4uNTYyNmFiZgorICBpbmRleCBCRUZPUkUuLkFGVEVSCiAgIC0tLSAvZGV2L251bGwKICAgKysrIGIvb25lCiAgIEBAIC0wLDAgKzEgQEAKICAgK29uZQogRU9GCiAKLXNhbml0aXplX291dHB1dCAoKSB7Ci0Jc2VkIC1lICdzLyAqJC8vJyBcCi0JICAgIC1lICdzL2NvbW1pdCBbMC05YS1mXSokL2NvbW1pdCBDT01NSVRfT0JKRUNUX05BTUUvJyBcCi0JICAgIC1lICdzL01lcmdlOiBbIDAtOWEtZl0qJC9NZXJnZTogTUVSR0VfUEFSRU5UUy8nIFwKLQkgICAgLWUgJ3MvTWVyZ2UgdGFnLiovTWVyZ2UgSEVBRFMgREVTQ1JJUFRJT04vJyBcCi0JICAgIC1lICdzL01lcmdlIGNvbW1pdC4qL01lcmdlIEhFQURTIERFU0NSSVBUSU9OLycgXAotCSAgICAtZSAncy8sIDAgZGVsZXRpb25zKC0pLy8nIFwKLQkgICAgLWUgJ3MvLCAwIGluc2VydGlvbnMoKykvLycgXAotCSAgICAtZSAncy8gMSBmaWxlcyBjaGFuZ2VkLCAvIDEgZmlsZSBjaGFuZ2VkLCAvJyBcCi0JICAgIC1lICdzLywgMSBkZWxldGlvbnMoLSkvLCAxIGRlbGV0aW9uKC0pLycgXAotCSAgICAtZSAncy8sIDEgaW5zZXJ0aW9ucygrKS8sIDEgaW5zZXJ0aW9uKCspLycKLX0KLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tZ3JhcGggd2l0aCBkaWZmIGFuZCBzdGF0cycgJwotCWdpdCBsb2cgLS1uby1yZW5hbWVzIC0tZ3JhcGggLS1wcmV0dHk9c2hvcnQgLS1zdGF0IC1wID5hY3R1YWwgJiYKLQlzYW5pdGl6ZV9vdXRwdXQgPmFjdHVhbC5zYW5pdGl6ZWQgPGFjdHVhbCAmJgotCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsLnNhbml0aXplZAorCWxpYl90ZXN0X2NtcF9zaG9ydF9ncmFwaCAtLW5vLXJlbmFtZXMgLS1zdGF0IC1wCiAnCiAKIGNhdCA+ZXhwZWN0IDw8XEVPRgpAQCAtMTIzMiw3ICsxMjI5LDcgQEAKICoqKiB8IHwKICoqKiB8IHwgZGlmZiAtLWdpdCBhL3JlYWNoLnQgYi9yZWFjaC50CiAqKiogfCB8IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci0qKiogfCB8IGluZGV4IDAwMDAwMDAuLjEwYzk1OTEKKyoqKiB8IHwgaW5kZXggQkVGT1JFLi5BRlRFUgogKioqIHwgfCAtLS0gL2Rldi9udWxsCiAqKiogfCB8ICsrKyBiL3JlYWNoLnQKICoqKiB8IHwgQEAgLTAsMCArMSBAQApAQCAtMTI1NSw3ICsxMjUyLDcgQEAKICoqKiB8IHwgfAogKioqIHwgfCB8ICAgZGlmZiAtLWdpdCBhL29jdG9wdXMtYi50IGIvb2N0b3B1cy1iLnQKICoqKiB8IHwgfCAgIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci0qKiogfCB8IHwgICBpbmRleCAwMDAwMDAwLi5kNWZjYWQwCisqKiogfCB8IHwgICBpbmRleCBCRUZPUkUuLkFGVEVSCiAqKiogfCB8IHwgICAtLS0gL2Rldi9udWxsCiAqKiogfCB8IHwgICArKysgYi9vY3RvcHVzLWIudAogKioqIHwgfCB8ICAgQEAgLTAsMCArMSBAQApAQCAtMTI3MSw3ICsxMjY4LDcgQEAKICoqKiB8IHwKICoqKiB8IHwgICBkaWZmIC0tZ2l0IGEvb2N0b3B1cy1hLnQgYi9vY3RvcHVzLWEudAogKioqIHwgfCAgIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci0qKiogfCB8ICAgaW5kZXggMDAwMDAwMC4uMTFlZTAxNQorKioqIHwgfCAgIGluZGV4IEJFRk9SRS4uQUZURVIKICoqKiB8IHwgICAtLS0gL2Rldi9udWxsCiAqKiogfCB8ICAgKysrIGIvb2N0b3B1cy1hLnQKICoqKiB8IHwgICBAQCAtMCwwICsxIEBACkBAIC0xMjg3LDcgKzEyODQsNyBAQAogKioqIHwKICoqKiB8ICAgZGlmZiAtLWdpdCBhL3NldmVudGgudCBiL3NldmVudGgudAogKioqIHwgICBuZXcgZmlsZSBtb2RlIDEwMDY0NAotKioqIHwgICBpbmRleCAwMDAwMDAwLi45NzQ0ZmZjCisqKiogfCAgIGluZGV4IEJFRk9SRS4uQUZURVIKICoqKiB8ICAgLS0tIC9kZXYvbnVsbAogKioqIHwgICArKysgYi9zZXZlbnRoLnQKICoqKiB8ICAgQEAgLTAsMCArMSBAQApAQCAtMTMyMSw3ICsxMzE4LDcgQEAKICoqKiB8IHwgfCB8CiAqKiogfCB8IHwgfCBkaWZmIC0tZ2l0IGEvdGFuZ2xlLWEgYi90YW5nbGUtYQogKioqIHwgfCB8IHwgbmV3IGZpbGUgbW9kZSAxMDA2NDQKLSoqKiB8IHwgfCB8IGluZGV4IDAwMDAwMDAuLjc4OTgxOTIKKyoqKiB8IHwgfCB8IGluZGV4IEJFRk9SRS4uQUZURVIKICoqKiB8IHwgfCB8IC0tLSAvZGV2L251bGwKICoqKiB8IHwgfCB8ICsrKyBiL3RhbmdsZS1hCiAqKiogfCB8IHwgfCBAQCAtMCwwICsxIEBACkBAIC0xMzQzLDcgKzEzNDAsNyBAQAogKioqIHwgfCB8IHwKICoqKiB8IHwgfCB8ICAgZGlmZiAtLWdpdCBhLzIgYi8yCiAqKiogfCB8IHwgfCAgIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci0qKiogfCB8IHwgfCAgIGluZGV4IDAwMDAwMDAuLjBjZmJmMDgKKyoqKiB8IHwgfCB8ICAgaW5kZXggQkVGT1JFLi5BRlRFUgogKioqIHwgfCB8IHwgICAtLS0gL2Rldi9udWxsCiAqKiogfCB8IHwgfCAgICsrKyBiLzIKICoqKiB8IHwgfCB8ICAgQEAgLTAsMCArMSBAQApAQCAtMTM1OSw3ICsxMzU2LDcgQEAKICoqKiB8IHwgfCB8CiAqKiogfCB8IHwgfCBkaWZmIC0tZ2l0IGEvMSBiLzEKICoqKiB8IHwgfCB8IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci0qKiogfCB8IHwgfCBpbmRleCAwMDAwMDAwLi5kMDA0OTFmCisqKiogfCB8IHwgfCBpbmRleCBCRUZPUkUuLkFGVEVSCiAqKiogfCB8IHwgfCAtLS0gL2Rldi9udWxsCiAqKiogfCB8IHwgfCArKysgYi8xCiAqKiogfCB8IHwgfCBAQCAtMCwwICsxIEBACkBAIC0xMzc1LDcgKzEzNzIsNyBAQAogKioqIHwgfCB8IHwKICoqKiB8IHwgfCB8IGRpZmYgLS1naXQgYS9vbmUgYi9vbmUKICoqKiB8IHwgfCB8IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci0qKiogfCB8IHwgfCBpbmRleCAwMDAwMDAwLi45YTMzMzgzCisqKiogfCB8IHwgfCBpbmRleCBCRUZPUkUuLkFGVEVSCiAqKiogfCB8IHwgfCAtLS0gL2Rldi9udWxsCiAqKiogfCB8IHwgfCArKysgYi9vbmUKICoqKiB8IHwgfCB8IEBAIC0wLDAgKzEgQEAKQEAgLTEzOTEsNyArMTM4OCw3IEBACiAqKiogfCB8IHwKICoqKiB8IHwgfCAgIGRpZmYgLS1naXQgYS9hL3R3byBiL2EvdHdvCiAqKiogfCB8IHwgICBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLSoqKiB8IHwgfCAgIGluZGV4IDkyNDVhZjUuLjAwMDAwMDAKKyoqKiB8IHwgfCAgIGluZGV4IEJFRk9SRS4uQUZURVIKICoqKiB8IHwgfCAgIC0tLSBhL2EvdHdvCiAqKiogfCB8IHwgICArKysgL2Rldi9udWxsCiAqKiogfCB8IHwgICBAQCAtMSArMCwwIEBACkBAIC0xNDA3LDcgKzE0MDQsNyBAQAogKioqIHwgfCB8CiAqKiogfCB8IHwgZGlmZiAtLWdpdCBhL2EvdHdvIGIvYS90d28KICoqKiB8IHwgfCBuZXcgZmlsZSBtb2RlIDEwMDY0NAotKioqIHwgfCB8IGluZGV4IDAwMDAwMDAuLjkyNDVhZjUKKyoqKiB8IHwgfCBpbmRleCBCRUZPUkUuLkFGVEVSCiAqKiogfCB8IHwgLS0tIC9kZXYvbnVsbAogKioqIHwgfCB8ICsrKyBiL2EvdHdvCiAqKiogfCB8IHwgQEAgLTAsMCArMSBAQApAQCAtMTQyMyw3ICsxNDIwLDcgQEAKICoqKiB8IHwKICoqKiB8IHwgICBkaWZmIC0tZ2l0IGEvZWluIGIvZWluCiAqKiogfCB8ICAgbmV3IGZpbGUgbW9kZSAxMDA2NDQKLSoqKiB8IHwgICBpbmRleCAwMDAwMDAwLi45ZDdlNjlmCisqKiogfCB8ICAgaW5kZXggQkVGT1JFLi5BRlRFUgogKioqIHwgfCAgIC0tLSAvZGV2L251bGwKICoqKiB8IHwgICArKysgYi9laW4KICoqKiB8IHwgICBAQCAtMCwwICsxIEBACkBAIC0xNDQwLDE0ICsxNDM3LDE0IEBACiAqKiogfAogKioqIHwgICBkaWZmIC0tZ2l0IGEvaWNoaSBiL2ljaGkKICoqKiB8ICAgbmV3IGZpbGUgbW9kZSAxMDA2NDQKLSoqKiB8ICAgaW5kZXggMDAwMDAwMC4uOWQ3ZTY5ZgorKioqIHwgICBpbmRleCBCRUZPUkUuLkFGVEVSCiAqKiogfCAgIC0tLSAvZGV2L251bGwKICoqKiB8ICAgKysrIGIvaWNoaQogKioqIHwgICBAQCAtMCwwICsxIEBACiAqKiogfCAgICtpY2hpCiAqKiogfCAgIGRpZmYgLS1naXQgYS9vbmUgYi9vbmUKICoqKiB8ICAgZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Ci0qKiogfCAgIGluZGV4IDlkN2U2OWYuLjAwMDAwMDAKKyoqKiB8ICAgaW5kZXggQkVGT1JFLi5BRlRFUgogKioqIHwgICAtLS0gYS9vbmUKICoqKiB8ICAgKysrIC9kZXYvbnVsbAogKioqIHwgICBAQCAtMSArMCwwIEBACkBAIC0xNDYyLDcgKzE0NTksNyBAQAogKioqIHwgIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogKioqIHwKICoqKiB8IGRpZmYgLS1naXQgYS9vbmUgYi9vbmUKLSoqKiB8IGluZGV4IDU2MjZhYmYuLjlkN2U2OWYgMTAwNjQ0CisqKiogfCBpbmRleCBCRUZPUkUuLkFGVEVSIDEwMDY0NAogKioqIHwgLS0tIGEvb25lCiAqKiogfCArKysgYi9vbmUKICoqKiB8IEBAIC0xICsxIEBACkBAIC0xNDc5LDcgKzE0NzYsNyBAQAogKioqCiAqKiogICBkaWZmIC0tZ2l0IGEvb25lIGIvb25lCiAqKiogICBuZXcgZmlsZSBtb2RlIDEwMDY0NAotKioqICAgaW5kZXggMDAwMDAwMC4uNTYyNmFiZgorKioqICAgaW5kZXggQkVGT1JFLi5BRlRFUgogKioqICAgLS0tIC9kZXYvbnVsbAogKioqICAgKysrIGIvb25lCiAqKiogICBAQCAtMCwwICsxIEBACkBAIC0xNDg3LDkgKzE0ODQsNyBAQAogRU9GCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWxpbmUtcHJlZml4PSIqKiogIiAtLWdyYXBoIHdpdGggZGlmZiBhbmQgc3RhdHMnICcKLQlnaXQgbG9nIC0tbGluZS1wcmVmaXg9IioqKiAiIC0tbm8tcmVuYW1lcyAtLWdyYXBoIC0tcHJldHR5PXNob3J0IC0tc3RhdCAtcCA+YWN0dWFsICYmCi0Jc2FuaXRpemVfb3V0cHV0ID5hY3R1YWwuc2FuaXRpemVkIDxhY3R1YWwgJiYKLQl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbC5zYW5pdGl6ZWQKKwlsaWJfdGVzdF9jbXBfc2hvcnRfZ3JhcGggLS1saW5lLXByZWZpeD0iKioqICIgLS1uby1yZW5hbWVzIC0tc3RhdCAtcAogJwogCiBjYXQgPmV4cGVjdCA8PC1cRU9GCkBAIC0xNTExLDkgKzE1MDYsNyBAQAogRU9GCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyYXBoIHdpdGggLS1uYW1lLXN0YXR1cycgJwotCWdpdCBsb2cgLS1ncmFwaCAtLWZvcm1hdD0lcyAtLW5hbWUtc3RhdHVzIHRhbmdsZS4ucmVhY2ggPmFjdHVhbCAmJgotCXNhbml0aXplX291dHB1dCA8YWN0dWFsID5hY3R1YWwuc2FuaXRpemVkICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbC5zYW5pdGl6ZWQKKwl0ZXN0X2NtcF9ncmFwaCAtLW5hbWUtc3RhdHVzIHRhbmdsZS4ucmVhY2gKICcKIAogY2F0ID5leHBlY3QgPDwtXEVPRgpAQCAtMTUzNSw5ICsxNTI4LDcgQEAKIEVPRgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1ncmFwaCB3aXRoIC0tbmFtZS1vbmx5JyAnCi0JZ2l0IGxvZyAtLWdyYXBoIC0tZm9ybWF0PSVzIC0tbmFtZS1vbmx5IHRhbmdsZS4ucmVhY2ggPmFjdHVhbCAmJgotCXNhbml0aXplX291dHB1dCA8YWN0dWFsID5hY3R1YWwuc2FuaXRpemVkICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbC5zYW5pdGl6ZWQKKwl0ZXN0X2NtcF9ncmFwaCAtLW5hbWUtb25seSB0YW5nbGUuLnJlYWNoCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RvdGRvdCBpcyBhIHBhcmVudCBkaXJlY3RvcnknICcKQEAgLTE1NTUsNiArMTU0NiwxNCBAQAogCWdpdCBjb21taXQgLVMgLW0gc2lnbmVkX2NvbW1pdAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyAnc2V0dXAgc2lnbmVkIGJyYW5jaCB3aXRoIHN1YmtleScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCAmJiBnaXQgY2hlY2tvdXQgbWFzdGVyIiAmJgorCWdpdCBjaGVja291dCAtYiBzaWduZWQtc3Via2V5IG1hc3RlciAmJgorCWVjaG8gZm9vID5mb28gJiYKKwlnaXQgYWRkIGZvbyAmJgorCWdpdCBjb21taXQgLVNCNzIyNzE4OSAtbSBzaWduZWRfY29tbWl0CisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHU00gJ3NldHVwIHNpZ25lZCBicmFuY2ggeDUwOScgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCAmJiBnaXQgY2hlY2tvdXQgbWFzdGVyIiAmJgogCWdpdCBjaGVja291dCAtYiBzaWduZWQteDUwOSBtYXN0ZXIgJiYKQEAgLTE1NjUsNiArMTU2NCwxOCBAQAogCWdpdCBjb21taXQgLVMgLW0gc2lnbmVkX2NvbW1pdAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQR1NNICdsb2cgeDUwOSBmaW5nZXJwcmludCcgJworCWVjaG8gIkY4QkY2MkUwNjkzRDA2OTQ4MTYzNzcwOTk5MDlDNzc5RkEyM0ZENjUgfCAiID5leHBlY3QgJiYKKwlnaXQgbG9nIC1uMSAtLWZvcm1hdD0iJUdGIHwgJUdQIiBzaWduZWQteDUwOSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQR1NNICdsb2cgT3BlblBHUCBmaW5nZXJwcmludCcgJworCWVjaG8gIkQ0QkUyMjMxMUFEMzEzMUU1RURBMjlBNDYxMDkyRTg1QjcyMjcxODkiID4gZXhwZWN0ICYmCisJZ2l0IGxvZyAtbjEgLS1mb3JtYXQ9IiVHUCIgc2lnbmVkLXN1YmtleSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyAnbG9nIC0tZ3JhcGggLS1zaG93LXNpZ25hdHVyZScgJwogCWdpdCBsb2cgLS1ncmFwaCAtLXNob3ctc2lnbmF0dXJlIC1uMSBzaWduZWQgPmFjdHVhbCAmJgogCWdyZXAgIl58IGdwZzogU2lnbmF0dXJlIG1hZGUiIGFjdHVhbCAmJgpAQCAtMTU5Niw2ICsxNjA3LDI2IEBACiAJZ3JlcCAiXnwgfCBncGc6IEdvb2Qgc2lnbmF0dXJlIiBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyBHUEcgJ2xvZyAtLWdyYXBoIC0tc2hvdy1zaWduYXR1cmUgZm9yIG1lcmdlZCB0YWcgaW4gc2hhbGxvdyBjbG9uZScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCAmJiBnaXQgY2hlY2tvdXQgbWFzdGVyIiAmJgorCWdpdCBjaGVja291dCAtYiBwbGFpbi1zaGFsbG93IG1hc3RlciAmJgorCWVjaG8gYWFhID5iYXIgJiYKKwlnaXQgYWRkIGJhciAmJgorCWdpdCBjb21taXQgLW0gYmFyX2NvbW1pdCAmJgorCWdpdCBjaGVja291dCAtLWRldGFjaCBtYXN0ZXIgJiYKKwllY2hvIGJiYiA+YmF6ICYmCisJZ2l0IGFkZCBiYXogJiYKKwlnaXQgY29tbWl0IC1tIGJhel9jb21taXQgJiYKKwlnaXQgdGFnIC1zIC1tIHNpZ25lZF90YWdfbXNnIHNpZ25lZF90YWdfc2hhbGxvdyAmJgorCWhhc2g9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisJZ2l0IGNoZWNrb3V0IHBsYWluLXNoYWxsb3cgJiYKKwlnaXQgbWVyZ2UgLS1uby1mZiAtbSBtc2cgc2lnbmVkX3RhZ19zaGFsbG93ICYmCisJZ2l0IGNsb25lIC0tZGVwdGggMSAtLW5vLWxvY2FsIC4gc2hhbGxvdyAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIHNoYWxsb3ciICYmCisJZ2l0IC1DIHNoYWxsb3cgbG9nIC0tZ3JhcGggLS1zaG93LXNpZ25hdHVyZSAtbjEgcGxhaW4tc2hhbGxvdyA+YWN0dWFsICYmCisJZ3JlcCAidGFnIHNpZ25lZF90YWdfc2hhbGxvdyBuYW1lcyBhIG5vbi1wYXJlbnQgJGhhc2giIGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQR1NNICdsb2cgLS1ncmFwaCAtLXNob3ctc2lnbmF0dXJlIGZvciBtZXJnZWQgdGFnIHg1MDknICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCAtLWhhcmQgJiYgZ2l0IGNoZWNrb3V0IG1hc3RlciIgJiYKIAl0ZXN0X2NvbmZpZyBncGcuZm9ybWF0IHg1MDkgJiYKQEAgLTE2NzQsMTAgKzE3MDUsMTAgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tc291cmNlIHBhaW50cyBicmFuY2ggbmFtZXMnICcKLQljYXQgPmV4cGVjdCA8PC1cRU9GICYmCi0JMDllMTJhOQlzb3VyY2UtYiB0aHJlZQotCThlMzkzZTEJc291cmNlLWEgdHdvCi0JMWFjNmM3Nwlzb3VyY2UtYiBvbmUKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCA6L3RocmVlKQlzb3VyY2UtYiB0aHJlZQorCSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IDovdHdvICApCXNvdXJjZS1hIHR3bworCSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IDovb25lICApCXNvdXJjZS1iIG9uZQogCUVPRgogCWdpdCBsb2cgLS1vbmVsaW5lIC0tc291cmNlIHNvdXJjZS1hIHNvdXJjZS1iID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCkBAIC0xNjg1LDE5ICsxNzE2LDE5IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLXNvdXJjZSBwYWludHMgdGFnIG5hbWVzJyAnCiAJZ2l0IHRhZyAtbSB0YWdnZWQgc291cmNlLXRhZyAmJgotCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKLQkwOWUxMmE5CXNvdXJjZS10YWcgdGhyZWUKLQk4ZTM5M2UxCXNvdXJjZS1hIHR3bwotCTFhYzZjNzcJc291cmNlLXRhZyBvbmUKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCA6L3RocmVlKQlzb3VyY2UtdGFnIHRocmVlCisJJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgOi90d28gICkJc291cmNlLWEgdHdvCisJJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgOi9vbmUgICkJc291cmNlLXRhZyBvbmUKIAlFT0YKIAlnaXQgbG9nIC0tb25lbGluZSAtLXNvdXJjZSBzb3VyY2UtdGFnIHNvdXJjZS1hID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLXNvdXJjZSBwYWludHMgc3ltbWV0cmljIHJhbmdlcycgJwotCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKLQkwOWUxMmE5CXNvdXJjZS1iIHRocmVlCi0JOGUzOTNlMQlzb3VyY2UtYSB0d28KKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCA6L3RocmVlKQlzb3VyY2UtYiB0aHJlZQorCSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IDovdHdvICApCXNvdXJjZS1hIHR3bwogCUVPRgogCWdpdCBsb2cgLS1vbmVsaW5lIC0tc291cmNlIHNvdXJjZS1hLi4uc291cmNlLWIgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKQEAgLTE3MDcsNCArMTczOCwxMSBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBsb2cgLS1leGNsdWRlLXByb21pc29yLW9iamVjdHMgc291cmNlLWEKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tZW5kLW9mLW9wdGlvbnMnICcKKyAgICAgICBnaXQgdXBkYXRlLXJlZiByZWZzL2hlYWRzLy0tc291cmNlIEhFQUQgJiYKKyAgICAgICBnaXQgbG9nIC0tZW5kLW9mLW9wdGlvbnMgLS1zb3VyY2UgPmFjdHVhbCAmJgorICAgICAgIGdpdCBsb2cgPmV4cGVjdCAmJgorICAgICAgIHRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q0MjAzLW1haWxtYXAuc2ggYi90L3Q0MjAzLW1haWxtYXAuc2gKaW5kZXggNDNiMTUyMi4uNTg2YzNhOCAxMDA3NTUKLS0tIGEvdC90NDIwMy1tYWlsbWFwLnNoCisrKyBiL3QvdDQyMDMtbWFpbG1hcC5zaApAQCAtMTMsOCArMTMsOCBAQAogfQogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIHNldHVwICcKLQljYXQgPmNvbnRhY3RzIDw8LVxFT0YgJiYKLQlBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgorCWNhdCA+Y29udGFjdHMgPDwtIEVPRiAmJgorCSRHSVRfQVVUSE9SX05BTUUgPCRHSVRfQVVUSE9SX0VNQUlMPgogCW5pY2sxIDxidWdzQGNvbXBhbnkueHg+CiAJRU9GCiAKQEAgLTMzLDE5ICszMywxOSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjay1tYWlsbWFwIGFyZ3VtZW50cycgJwotCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKLQlBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPgorCWNhdCA+ZXhwZWN0IDw8LSBFT0YgJiYKKwkkR0lUX0FVVEhPUl9OQU1FIDwkR0lUX0FVVEhPUl9FTUFJTD4KIAluaWNrMSA8YnVnc0Bjb21wYW55Lnh4PgogCUVPRgogCWdpdCBjaGVjay1tYWlsbWFwIFwKLQkJIkEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+IiBcCisJCSIkR0lUX0FVVEhPUl9OQU1FIDwkR0lUX0FVVEhPUl9FTUFJTD4iIFwKIAkJIm5pY2sxIDxidWdzQGNvbXBhbnkueHg+IiA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjay1tYWlsbWFwIC0tc3RkaW4nICcKLQljYXQgPmV4cGVjdCA8PC1cRU9GICYmCi0JQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KKwljYXQgPmV4cGVjdCA8PC0gRU9GICYmCisJJEdJVF9BVVRIT1JfTkFNRSA8JEdJVF9BVVRIT1JfRU1BSUw+CiAJbmljazEgPGJ1Z3NAY29tcGFueS54eD4KIAlFT0YKIAlnaXQgY2hlY2stbWFpbG1hcCAtLXN0ZGluIDxjb250YWN0cyA+YWN0dWFsICYmCkBAIC02Niw4ICs2Niw4IEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZWNrLW1haWxtYXAgYm9ndXMKICcKIAotY2F0ID5leHBlY3QgPDxcRU9GCi1BIFUgVGhvciAoMSk6CitjYXQgPmV4cGVjdCA8PCBFT0YKKyRHSVRfQVVUSE9SX05BTUUgKDEpOgogICAgICAgaW5pdGlhbAogCiBuaWNrMSAoMSk6CkBAIC05MCw3ICs5MCw3IEBACiBFT0YKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVmYXVsdCAubWFpbG1hcCcgJwotCWVjaG8gIlJlcG8gR3V5IDxhdXRob3JAZXhhbXBsZS5jb20+IiA+IC5tYWlsbWFwICYmCisJZWNobyAiUmVwbyBHdXkgPCRHSVRfQVVUSE9SX0VNQUlMPiIgPiAubWFpbG1hcCAmJgogCWdpdCBzaG9ydGxvZyBIRUFEID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCkBAIC0xMjIsNyArMTIyLDcgQEAKIAogRU9GCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtYWlsbWFwLmZpbGUgb3ZlcnJpZGUnICcKLQllY2hvICJFeHRlcm5hbCBHdXkgPGF1dGhvckBleGFtcGxlLmNvbT4iID4+IGludGVybmFsX21haWxtYXAvLm1haWxtYXAgJiYKKwllY2hvICJFeHRlcm5hbCBHdXkgPCRHSVRfQVVUSE9SX0VNQUlMPiIgPj4gaW50ZXJuYWxfbWFpbG1hcC8ubWFpbG1hcCAmJgogCWdpdCBjb25maWcgbWFpbG1hcC5maWxlIGludGVybmFsX21haWxtYXAvLm1haWxtYXAgJiYKIAlnaXQgc2hvcnRsb2cgSEVBRCA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbApAQCAtMTc4LDggKzE3OCw4IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi1jYXQgPmV4cGVjdCA8PFxFT0YKLUEgVSBUaG9yICgxKToKK2NhdCA+ZXhwZWN0IDw8IEVPRgorJEdJVF9BVVRIT1JfTkFNRSAoMSk6CiAgICAgICBpbml0aWFsCiAKIG5pY2sxICgxKToKQEAgLTE5NSwxOCArMTk1LDE4IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBtYWlsbWFwIGJsb2IgdGVzdHMnICcKIAlnaXQgY2hlY2tvdXQgLWIgbWFwICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlY2tvdXQgbWFzdGVyIiAmJgotCWNhdCA+anVzdC1idWdzIDw8LVxFT0YgJiYKKwljYXQgPmp1c3QtYnVncyA8PC0gRU9GICYmCiAJQmxvYiBHdXkgPGJ1Z3NAY29tcGFueS54eD4KIAlFT0YKLQljYXQgPmJvdGggPDwtXEVPRiAmJgotCUJsb2IgR3V5IDxhdXRob3JAZXhhbXBsZS5jb20+CisJY2F0ID5ib3RoIDw8LSBFT0YgJiYKKwlCbG9iIEd1eSA8JEdJVF9BVVRIT1JfRU1BSUw+CiAJQmxvYiBHdXkgPGJ1Z3NAY29tcGFueS54eD4KIAlFT0YKLQlwcmludGYgIlRyaWNreSBHdXkgPGF1dGhvckBleGFtcGxlLmNvbT4iID5uby1uZXdsaW5lICYmCisJcHJpbnRmICJUcmlja3kgR3V5IDwkR0lUX0FVVEhPUl9FTUFJTD4iID5uby1uZXdsaW5lICYmCiAJZ2l0IGFkZCBqdXN0LWJ1Z3MgYm90aCBuby1uZXdsaW5lICYmCiAJZ2l0IGNvbW1pdCAtbSAibXkgbWFpbG1hcHMiICYmCi0JZWNobyAiUmVwbyBHdXkgPGF1dGhvckBleGFtcGxlLmNvbT4iID4ubWFpbG1hcCAmJgotCWVjaG8gIkludGVybmFsIEd1eSA8YXV0aG9yQGV4YW1wbGUuY29tPiIgPmludGVybmFsLm1hcAorCWVjaG8gIlJlcG8gR3V5IDwkR0lUX0FVVEhPUl9FTUFJTD4iID4ubWFpbG1hcCAmJgorCWVjaG8gIkludGVybmFsIEd1eSA8JEdJVF9BVVRIT1JfRU1BSUw+IiA+aW50ZXJuYWwubWFwCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21haWxtYXAuYmxvYiBzZXQnICcKQEAgLTI2NiwxMiArMjY2LDEyIEBACiAJZ2l0IGluaXQgbm9uLWJhcmUgJiYKIAkoCiAJCWNkIG5vbi1iYXJlICYmCi0JCXRlc3RfY29tbWl0IG9uZSAubWFpbG1hcCAiRmFrZSBOYW1lIDxhdXRob3JAZXhhbXBsZS5jb20+IiAmJgorCQl0ZXN0X2NvbW1pdCBvbmUgLm1haWxtYXAgIkZha2UgTmFtZSA8JEdJVF9BVVRIT1JfRU1BSUw+IiAmJgogCQllY2hvICIgICAgIDEJRmFrZSBOYW1lIiA+ZXhwZWN0ICYmCiAJCWdpdCBzaG9ydGxvZyAtbnMgSEVBRCA+YWN0dWFsICYmCiAJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKIAkJcm0gLm1haWxtYXAgJiYKLQkJZWNobyAiICAgICAxCUEgVSBUaG9yIiA+ZXhwZWN0ICYmCisJCWVjaG8gIiAgICAgMQkkR0lUX0FVVEhPUl9OQU1FIiA+ZXhwZWN0ICYmCiAJCWdpdCBzaG9ydGxvZyAtbnMgSEVBRCA+YWN0dWFsICYmCiAJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKIAkpCkBAIC0zMDUsMjYgKzMwNSwyNiBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaW5nbGUtY2hhcmFjdGVyIG5hbWUnICcKLQllY2hvICIgICAgIDEJQSA8YXV0aG9yQGV4YW1wbGUuY29tPiIgPmV4cGVjdCAmJgorCWVjaG8gIiAgICAgMQlBIDwkR0lUX0FVVEhPUl9FTUFJTD4iID5leHBlY3QgJiYKIAllY2hvICIgICAgIDEJbmljazEgPGJ1Z3NAY29tcGFueS54eD4iID4+ZXhwZWN0ICYmCi0JZWNobyAiQSA8YXV0aG9yQGV4YW1wbGUuY29tPiIgPi5tYWlsbWFwICYmCisJZWNobyAiQSA8JEdJVF9BVVRIT1JfRU1BSUw+IiA+Lm1haWxtYXAgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC5tYWlsbWFwIiAmJgogCWdpdCBzaG9ydGxvZyAtZXMgSEVBRCA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcmVzZXJ2ZSBjYW5vbmljYWwgZW1haWwgY2FzZScgJwotCWVjaG8gIiAgICAgMQlBIFUgVGhvciA8QVVUSE9SQGV4YW1wbGUuY29tPiIgPmV4cGVjdCAmJgorCWVjaG8gIiAgICAgMQkkR0lUX0FVVEhPUl9OQU1FIDxBVVRIT1JAZXhhbXBsZS5jb20+IiA+ZXhwZWN0ICYmCiAJZWNobyAiICAgICAxCW5pY2sxIDxidWdzQGNvbXBhbnkueHg+IiA+PmV4cGVjdCAmJgotCWVjaG8gIjxBVVRIT1JAZXhhbXBsZS5jb20+IDxhdXRob3JAZXhhbXBsZS5jb20+IiA+Lm1haWxtYXAgJiYKKwllY2hvICI8QVVUSE9SQGV4YW1wbGUuY29tPiA8JEdJVF9BVVRIT1JfRU1BSUw+IiA+Lm1haWxtYXAgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC5tYWlsbWFwIiAmJgogCWdpdCBzaG9ydGxvZyAtZXMgSEVBRCA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiAjIEV4dGVuZGVkIG1haWxtYXAgY29uZmlndXJhdGlvbnMgc2hvdWxkIGdpdmUgdXMgdGhlIGZvbGxvd2luZyBvdXRwdXQgZm9yIHNob3J0bG9nCi1jYXQgPmV4cGVjdCA8PFxFT0YKLUEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+ICgxKToKK2NhdCA+ZXhwZWN0IDw8IEVPRgorJEdJVF9BVVRIT1JfTkFNRSA8JEdJVF9BVVRIT1JfRU1BSUw+ICgxKToKICAgICAgIGluaXRpYWwKIAogQ1RPIDxjdG9AY29tcGFueS54eD4gKDEpOgpAQCAtMzcwLDcgKzM3MCw3IEBACiAJZ2l0IGNvbW1pdCAtLWF1dGhvciAiQ1RPIDxjdG9AY29vbXBhbnkueHg+IiAtbSBzZXZlbnRoICYmCiAKIAlta2RpciAtcCBpbnRlcm5hbF9tYWlsbWFwICYmCi0JZWNobyAiQ29tbWl0dGVkIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+IiA+IGludGVybmFsX21haWxtYXAvLm1haWxtYXAgJiYKKwllY2hvICJDb21taXR0ZWQgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiIgPiBpbnRlcm5hbF9tYWlsbWFwLy5tYWlsbWFwICYmCiAJZWNobyAiPGN0b0Bjb21wYW55Lnh4PiAgICAgICAgICAgICAgICAgICAgICAgPGN0b0Bjb29tcGFueS54eD4iID4+IGludGVybmFsX21haWxtYXAvLm1haWxtYXAgJiYKIAllY2hvICJTb21lIER1ZGUgPHNvbWVAZHVkZS54eD4gICAgICAgICBuaWNrMSA8YnVnc0Bjb21wYW55Lnh4PiIgPj4gaW50ZXJuYWxfbWFpbG1hcC8ubWFpbG1hcCAmJgogCWVjaG8gIk90aGVyIEF1dGhvciA8b3RoZXJAYXV0aG9yLnh4PiAgIG5pY2syIDxidWdzQGNvbXBhbnkueHg+IiA+PiBpbnRlcm5hbF9tYWlsbWFwLy5tYWlsbWFwICYmCkBAIC0zODQsMjcgKzM4NCwyNyBAQAogJwogCiAjIGdpdCBsb2cgd2l0aCAtLXByZXR0eSBmb3JtYXQgd2hpY2ggdXNlcyB0aGUgbmFtZSBhbmQgZW1haWwgbWFpbG1hcCBwbGFjZW1hcmtlcnMKLWNhdCA+ZXhwZWN0IDw8XEVPRgorY2F0ID5leHBlY3QgPDwgRU9GCiBBdXRob3IgQ1RPIDxjdG9AY29vbXBhbnkueHg+IG1hcHMgdG8gQ1RPIDxjdG9AY29tcGFueS54eD4KLUNvbW1pdHRlciBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+IG1hcHMgdG8gQ29tbWl0dGVkIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+CitDb21taXR0ZXIgJEdJVF9DT01NSVRURVJfTkFNRSA8JEdJVF9DT01NSVRURVJfRU1BSUw+IG1hcHMgdG8gQ29tbWl0dGVkIDwkR0lUX0NPTU1JVFRFUl9FTUFJTD4KIAogQXV0aG9yIGNsYXVzIDxtZUBjb21wYW55Lnh4PiBtYXBzIHRvIFNhbnRhIENsYXVzIDxzYW50YS5jbGF1c0Bub3J0aHBvbGUueHg+Ci1Db21taXR0ZXIgQyBPIE1pdHRlciA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPiBtYXBzIHRvIENvbW1pdHRlZCA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPgorQ29tbWl0dGVyICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiBtYXBzIHRvIENvbW1pdHRlZCA8JEdJVF9DT01NSVRURVJfRU1BSUw+CiAKIEF1dGhvciBzYW50YSA8bWVAY29tcGFueS54eD4gbWFwcyB0byBTYW50YSBDbGF1cyA8c2FudGEuY2xhdXNAbm9ydGhwb2xlLnh4PgotQ29tbWl0dGVyIEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4gbWFwcyB0byBDb21taXR0ZWQgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KK0NvbW1pdHRlciAkR0lUX0NPTU1JVFRFUl9OQU1FIDwkR0lUX0NPTU1JVFRFUl9FTUFJTD4gbWFwcyB0byBDb21taXR0ZWQgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPgogCiBBdXRob3IgbmljazIgPG5pY2syQGNvbXBhbnkueHg+IG1hcHMgdG8gT3RoZXIgQXV0aG9yIDxvdGhlckBhdXRob3IueHg+Ci1Db21taXR0ZXIgQyBPIE1pdHRlciA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPiBtYXBzIHRvIENvbW1pdHRlZCA8Y29tbWl0dGVyQGV4YW1wbGUuY29tPgorQ29tbWl0dGVyICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiBtYXBzIHRvIENvbW1pdHRlZCA8JEdJVF9DT01NSVRURVJfRU1BSUw+CiAKIEF1dGhvciBuaWNrMiA8YnVnc0Bjb21wYW55Lnh4PiBtYXBzIHRvIE90aGVyIEF1dGhvciA8b3RoZXJAYXV0aG9yLnh4PgotQ29tbWl0dGVyIEMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4gbWFwcyB0byBDb21taXR0ZWQgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KK0NvbW1pdHRlciAkR0lUX0NPTU1JVFRFUl9OQU1FIDwkR0lUX0NPTU1JVFRFUl9FTUFJTD4gbWFwcyB0byBDb21taXR0ZWQgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPgogCiBBdXRob3IgbmljazEgPGJ1Z3NAY29tcGFueS54eD4gbWFwcyB0byBTb21lIER1ZGUgPHNvbWVAZHVkZS54eD4KLUNvbW1pdHRlciBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+IG1hcHMgdG8gQ29tbWl0dGVkIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+CitDb21taXR0ZXIgJEdJVF9DT01NSVRURVJfTkFNRSA8JEdJVF9DT01NSVRURVJfRU1BSUw+IG1hcHMgdG8gQ29tbWl0dGVkIDwkR0lUX0NPTU1JVFRFUl9FTUFJTD4KIAotQXV0aG9yIEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+IG1hcHMgdG8gQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KLUNvbW1pdHRlciBDIE8gTWl0dGVyIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+IG1hcHMgdG8gQ29tbWl0dGVkIDxjb21taXR0ZXJAZXhhbXBsZS5jb20+CitBdXRob3IgJEdJVF9BVVRIT1JfTkFNRSA8JEdJVF9BVVRIT1JfRU1BSUw+IG1hcHMgdG8gJEdJVF9BVVRIT1JfTkFNRSA8JEdJVF9BVVRIT1JfRU1BSUw+CitDb21taXR0ZXIgJEdJVF9DT01NSVRURVJfTkFNRSA8JEdJVF9DT01NSVRURVJfRU1BSUw+IG1hcHMgdG8gQ29tbWl0dGVkIDwkR0lUX0NPTU1JVFRFUl9FTUFJTD4KIEVPRgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdMb2cgb3V0cHV0IChjb21wbGV4IG1hcHBpbmcpJyAnCkBAIC00MTIsMTQgKzQxMiw0MiBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAotY2F0ID5leHBlY3QgPDxcRU9GCitjYXQgPmV4cGVjdCA8PCBFT0YKK0F1dGhvciBlbWFpbCBjdG9AY29vbXBhbnkueHggaGFzIGxvY2FsLXBhcnQgY3RvCitDb21taXR0ZXIgZW1haWwgJEdJVF9DT01NSVRURVJfRU1BSUwgaGFzIGxvY2FsLXBhcnQgJFRFU1RfQ09NTUlUVEVSX0xPQ0FMTkFNRQorCitBdXRob3IgZW1haWwgbWVAY29tcGFueS54eCBoYXMgbG9jYWwtcGFydCBtZQorQ29tbWl0dGVyIGVtYWlsICRHSVRfQ09NTUlUVEVSX0VNQUlMIGhhcyBsb2NhbC1wYXJ0ICRURVNUX0NPTU1JVFRFUl9MT0NBTE5BTUUKKworQXV0aG9yIGVtYWlsIG1lQGNvbXBhbnkueHggaGFzIGxvY2FsLXBhcnQgbWUKK0NvbW1pdHRlciBlbWFpbCAkR0lUX0NPTU1JVFRFUl9FTUFJTCBoYXMgbG9jYWwtcGFydCAkVEVTVF9DT01NSVRURVJfTE9DQUxOQU1FCisKK0F1dGhvciBlbWFpbCBuaWNrMkBjb21wYW55Lnh4IGhhcyBsb2NhbC1wYXJ0IG5pY2syCitDb21taXR0ZXIgZW1haWwgJEdJVF9DT01NSVRURVJfRU1BSUwgaGFzIGxvY2FsLXBhcnQgJFRFU1RfQ09NTUlUVEVSX0xPQ0FMTkFNRQorCitBdXRob3IgZW1haWwgYnVnc0Bjb21wYW55Lnh4IGhhcyBsb2NhbC1wYXJ0IGJ1Z3MKK0NvbW1pdHRlciBlbWFpbCAkR0lUX0NPTU1JVFRFUl9FTUFJTCBoYXMgbG9jYWwtcGFydCAkVEVTVF9DT01NSVRURVJfTE9DQUxOQU1FCisKK0F1dGhvciBlbWFpbCBidWdzQGNvbXBhbnkueHggaGFzIGxvY2FsLXBhcnQgYnVncworQ29tbWl0dGVyIGVtYWlsICRHSVRfQ09NTUlUVEVSX0VNQUlMIGhhcyBsb2NhbC1wYXJ0ICRURVNUX0NPTU1JVFRFUl9MT0NBTE5BTUUKKworQXV0aG9yIGVtYWlsIGF1dGhvckBleGFtcGxlLmNvbSBoYXMgbG9jYWwtcGFydCBhdXRob3IKK0NvbW1pdHRlciBlbWFpbCAkR0lUX0NPTU1JVFRFUl9FTUFJTCBoYXMgbG9jYWwtcGFydCAkVEVTVF9DT01NSVRURVJfTE9DQUxOQU1FCitFT0YKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnTG9nIG91dHB1dCAobG9jYWwtcGFydCBlbWFpbCBhZGRyZXNzKScgJworCWdpdCBsb2cgLS1wcmV0dHk9Zm9ybWF0OiJBdXRob3IgZW1haWwgJWFlIGhhcyBsb2NhbC1wYXJ0ICVhbCVuQ29tbWl0dGVyIGVtYWlsICVjZSBoYXMgbG9jYWwtcGFydCAlY2wlbiIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKworY2F0ID5leHBlY3QgPDwgRU9GCiBBdXRob3I6IENUTyA8Y3RvQGNvbXBhbnkueHg+CiBBdXRob3I6IFNhbnRhIENsYXVzIDxzYW50YS5jbGF1c0Bub3J0aHBvbGUueHg+CiBBdXRob3I6IFNhbnRhIENsYXVzIDxzYW50YS5jbGF1c0Bub3J0aHBvbGUueHg+CiBBdXRob3I6IE90aGVyIEF1dGhvciA8b3RoZXJAYXV0aG9yLnh4PgogQXV0aG9yOiBPdGhlciBBdXRob3IgPG90aGVyQGF1dGhvci54eD4KIEF1dGhvcjogU29tZSBEdWRlIDxzb21lQGR1ZGUueHg+Ci1BdXRob3I6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+CitBdXRob3I6ICRHSVRfQVVUSE9SX05BTUUgPCRHSVRfQVVUSE9SX0VNQUlMPgogRU9GCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0xvZyBvdXRwdXQgd2l0aCAtLXVzZS1tYWlsbWFwJyAnCkBAIC00MjcsMTQgKzQ1NSwxNCBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAotY2F0ID5leHBlY3QgPDxcRU9GCitjYXQgPmV4cGVjdCA8PCBFT0YKIEF1dGhvcjogQ1RPIDxjdG9AY29tcGFueS54eD4KIEF1dGhvcjogU2FudGEgQ2xhdXMgPHNhbnRhLmNsYXVzQG5vcnRocG9sZS54eD4KIEF1dGhvcjogU2FudGEgQ2xhdXMgPHNhbnRhLmNsYXVzQG5vcnRocG9sZS54eD4KIEF1dGhvcjogT3RoZXIgQXV0aG9yIDxvdGhlckBhdXRob3IueHg+CiBBdXRob3I6IE90aGVyIEF1dGhvciA8b3RoZXJAYXV0aG9yLnh4PgogQXV0aG9yOiBTb21lIER1ZGUgPHNvbWVAZHVkZS54eD4KLUF1dGhvcjogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4KK0F1dGhvcjogJEdJVF9BVVRIT1JfTkFNRSA8JEdJVF9BVVRIT1JfRU1BSUw+CiBFT0YKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnTG9nIG91dHB1dCB3aXRoIGxvZy5tYWlsbWFwJyAnCkBAIC00NDIsNiArNDcwLDM0IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cubWFpbG1hcD1mYWxzZSBkaXNhYmxlcyBtYWlsbWFwJyAnCisJY2F0ID5leHBlY3QgPDwtIEVPRiAmJgorCUF1dGhvcjogQ1RPIDxjdG9AY29vbXBhbnkueHg+CisJQXV0aG9yOiBjbGF1cyA8bWVAY29tcGFueS54eD4KKwlBdXRob3I6IHNhbnRhIDxtZUBjb21wYW55Lnh4PgorCUF1dGhvcjogbmljazIgPG5pY2syQGNvbXBhbnkueHg+CisJQXV0aG9yOiBuaWNrMiA8YnVnc0Bjb21wYW55Lnh4PgorCUF1dGhvcjogbmljazEgPGJ1Z3NAY29tcGFueS54eD4KKwlBdXRob3I6ICRHSVRfQVVUSE9SX05BTUUgPCRHSVRfQVVUSE9SX0VNQUlMPgorCUVPRgorCWdpdCAtYyBsb2cubWFpbG1hcD1GYWxzZSBsb2cgfCBncmVwIEF1dGhvciA+IGFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1uby11c2UtbWFpbG1hcCBkaXNhYmxlcyBtYWlsbWFwJyAnCisJY2F0ID5leHBlY3QgPDwtIEVPRiAmJgorCUF1dGhvcjogQ1RPIDxjdG9AY29vbXBhbnkueHg+CisJQXV0aG9yOiBjbGF1cyA8bWVAY29tcGFueS54eD4KKwlBdXRob3I6IHNhbnRhIDxtZUBjb21wYW55Lnh4PgorCUF1dGhvcjogbmljazIgPG5pY2syQGNvbXBhbnkueHg+CisJQXV0aG9yOiBuaWNrMiA8YnVnc0Bjb21wYW55Lnh4PgorCUF1dGhvcjogbmljazEgPGJ1Z3NAY29tcGFueS54eD4KKwlBdXRob3I6ICRHSVRfQVVUSE9SX05BTUUgPCRHSVRfQVVUSE9SX0VNQUlMPgorCUVPRgorCWdpdCBsb2cgLS1uby11c2UtbWFpbG1hcCB8IGdyZXAgQXV0aG9yID4gYWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiBjYXQgPmV4cGVjdCA8PFxFT0YKIEF1dGhvcjogU2FudGEgQ2xhdXMgPHNhbnRhLmNsYXVzQG5vcnRocG9sZS54eD4KIEF1dGhvcjogU2FudGEgQ2xhdXMgPHNhbnRhLmNsYXVzQG5vcnRocG9sZS54eD4KQEAgLTQ2MSwxNCArNTE3LDE5IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cubWFpbG1hcCBpcyB0cnVlIGJ5IGRlZmF1bHQgdGhlc2UgZGF5cycgJworCWdpdCBsb2cgLS1hdXRob3IgU2FudGEgfCBncmVwIEF1dGhvciA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdPbmx5IGdyZXAgcmVwbGFjZWQgYXV0aG9yIHdpdGggLS11c2UtbWFpbG1hcCcgJwogCWdpdCBsb2cgLS11c2UtbWFpbG1hcCAtLWF1dGhvciAiPGN0b0Bjb29tcGFueS54eD4iID5hY3R1YWwgJiYKIAl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCiAnCiAKICMgZ2l0IGJsYW1lCi1jYXQgPmV4cGVjdCA8PFxFT0YKLV5PQkpJIChBIFUgVGhvciAgICAgREFURSAxKSBvbmUKK2NhdCA+ZXhwZWN0IDw8RU9GCiteT0JKSSAoJEdJVF9BVVRIT1JfTkFNRSAgICAgREFURSAxKSBvbmUKIE9CSklEIChTb21lIER1ZGUgICAgREFURSAyKSB0d28KIE9CSklEIChPdGhlciBBdXRob3IgREFURSAzKSB0aHJlZQogT0JKSUQgKE90aGVyIEF1dGhvciBEQVRFIDQpIGZvdXIKZGlmZiAtLWdpdCBhL3QvdDQyMDQtcGF0Y2gtaWQuc2ggYi90L3Q0MjA0LXBhdGNoLWlkLnNoCmluZGV4IDAyODhjMTcuLjhmZjhiZDggMTAwNzU1Ci0tLSBhL3QvdDQyMDQtcGF0Y2gtaWQuc2gKKysrIGIvdC90NDIwNC1wYXRjaC1pZC5zaApAQCAtMjUsNyArMjUsNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwYXRjaC1pZCBvdXRwdXQgaXMgd2VsbC1mb3JtZWQnICcKIAlnaXQgbG9nIC1wIC0xIHwgZ2l0IHBhdGNoLWlkID5vdXRwdXQgJiYKLQlncmVwICJeW2EtZjAtOV1cezQwXH0gJChnaXQgcmV2LXBhcnNlIEhFQUQpJCIgb3V0cHV0CisJZ3JlcCAiXiRPSURfUkVHRVggJChnaXQgcmV2LXBhcnNlIEhFQUQpJCIgb3V0cHV0CiAnCiAKICNjYWxjdWxhdGUgcGF0Y2ggaWQuIE1ha2Ugc3VyZSBvdXRwdXQgaXMgbm90IGVtcHR5LgpkaWZmIC0tZ2l0IGEvdC90NDIwNS1sb2ctcHJldHR5LWZvcm1hdHMuc2ggYi90L3Q0MjA1LWxvZy1wcmV0dHktZm9ybWF0cy5zaAppbmRleCA5NzhhOGE2Li4yMDRjMTQ5IDEwMDc1NQotLS0gYS90L3Q0MjA1LWxvZy1wcmV0dHktZm9ybWF0cy5zaAorKysgYi90L3Q0MjA1LWxvZy1wcmV0dHktZm9ybWF0cy5zaApAQCAtMTM0LDYgKzEzNCwzNiBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCitmb3IgcCBpbiBzaG9ydCBtZWRpdW0gZnVsbCBmdWxsZXIgZW1haWwgcmF3CitkbworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIk5VTCB0ZXJtaW5hdGlvbiB3aXRoIC0tcmVmbG9nIC0tcHJldHR5PSRwIiAnCisJCXJldnM9IiQoZ2l0IHJldi1saXN0IC0tcmVmbG9nKSIgJiYKKwkJZm9yIHIgaW4gJHJldnMKKwkJZG8KKwkJCWdpdCBzaG93IC1zICIkciIgLS1wcmV0dHk9IiRwIiAmJgorCQkJcHJpbnRmICJcMCIgfHwgcmV0dXJuIDEKKwkJZG9uZSA+ZXhwZWN0ICYmCisJCXsKKwkJCWdpdCBsb2cgLXogLS1yZWZsb2cgLS1wcmV0dHk9IiRwIiAmJgorCQkJcHJpbnRmICJcMCIKKwkJfSA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwknCitkb25lCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ05VTCB0ZXJtaW5hdGlvbiB3aXRoIC0tcmVmbG9nIC0tcHJldHR5PW9uZWxpbmUnICcKKwlyZXZzPSIkKGdpdCByZXYtbGlzdCAtLXJlZmxvZykiICYmCisJZm9yIHIgaW4gJHJldnMKKwlkbworCQlnaXQgc2hvdyAtcyAtLXByZXR0eT1vbmVsaW5lICIkciIgPnJhdyAmJgorCQljYXQgcmF3IHwgbGZfdG9fbnVsIHx8IGV4aXQgMQorCWRvbmUgPmV4cGVjdCAmJgorCSMgdGhlIHRyYWlsaW5nIE5VTCBpcyBhbHJlYWR5IHByb2R1Y2VkIHNvIHdlIGRvIG5vdCBuZWVkIHRvCisJIyBvdXRwdXQgYW5vdGhlciBvbmUKKwlnaXQgbG9nIC16IC0tcHJldHR5PW9uZWxpbmUgLS1yZWZsb2cgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgbW9yZSBjb21taXRzJyAnCiAJdGVzdF9jb21taXQgIm1lc3NhZ2Ugb25lIiBvbmUgb25lIG1lc3NhZ2Utb25lICYmCiAJdGVzdF9jb21taXQgIm1lc3NhZ2UgdHdvIiB0d28gdHdvIG1lc3NhZ2UtdHdvICYmCkBAIC01MDMsNiArNTMzLDEyIEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Nob3J0IGRhdGUnICcKKwlnaXQgbG9nIC0tZm9ybWF0PSVhZCVuJWNkIC0tZGF0ZT1zaG9ydCA+ZXhwZWN0ZWQgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSVhcyVuJWNzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwogIyBnZXQgbmV3IGRpZ2VzdHMgKHdpdGggbm8gYWJicmV2aWF0aW9ucykKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldCB1cCBsb2cgZGVjb3JhdGlvbiB0ZXN0cycgJwogCWhlYWQxPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEfjApICYmCkBAIC01NzgsNiArNjE0LDI0IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICclKHRyYWlsZXJzOm9ubHk9eWVzKSBzaG93cyBvbmx5ICJrZXk6IHZhbHVlIiB0cmFpbGVycycgJworCWdpdCBsb2cgLS1uby13YWxrIC0tcHJldHR5PWZvcm1hdDoiJSh0cmFpbGVyczpvbmx5PXllcykiID5hY3R1YWwgJiYKKwlncmVwIC12IHBhdGNoLmRlc2NyaXB0aW9uIDx0cmFpbGVycyA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICclKHRyYWlsZXJzOm9ubHk9bm8pIHNob3dzIGFsbCB0cmFpbGVycycgJworCWdpdCBsb2cgLS1uby13YWxrIC0tcHJldHR5PWZvcm1hdDoiJSh0cmFpbGVyczpvbmx5PW5vKSIgPmFjdHVhbCAmJgorCWNhdCB0cmFpbGVycyA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICclKHRyYWlsZXJzOm9ubHk9bm8sb25seT10cnVlKSBzaG93cyBvbmx5ICJrZXk6IHZhbHVlIiB0cmFpbGVycycgJworCWdpdCBsb2cgLS1uby13YWxrIC0tcHJldHR5PWZvcm1hdDoiJSh0cmFpbGVyczpvbmx5PXllcykiID5hY3R1YWwgJiYKKwlncmVwIC12IHBhdGNoLmRlc2NyaXB0aW9uIDx0cmFpbGVycyA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICclKHRyYWlsZXJzOnVuZm9sZCkgdW5mb2xkcyB0cmFpbGVycycgJwogCWdpdCBsb2cgLS1uby13YWxrIC0tcHJldHR5PSIlKHRyYWlsZXJzOnVuZm9sZCkiID5hY3R1YWwgJiYKIAl7CkBAIC01OTgsNiArNjUyLDEwNSBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncHJldHR5IGZvcm1hdCAlKHRyYWlsZXJzOmtleT1mb28pIHNob3dzIHRoYXQgdHJhaWxlcicgJworCWdpdCBsb2cgLS1uby13YWxrIC0tcHJldHR5PSJmb3JtYXQ6JSh0cmFpbGVyczprZXk9QWNrZWQtYnkpIiA+YWN0dWFsICYmCisJZWNobyAiQWNrZWQtYnk6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+IiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcmV0dHkgZm9ybWF0ICUodHJhaWxlcnM6a2V5PWZvbykgaXMgY2FzZSBpbnNlbnNpdGl2ZScgJworCWdpdCBsb2cgLS1uby13YWxrIC0tcHJldHR5PSJmb3JtYXQ6JSh0cmFpbGVyczprZXk9QWNLZWQtYlkpIiA+YWN0dWFsICYmCisJZWNobyAiQWNrZWQtYnk6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+IiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcmV0dHkgZm9ybWF0ICUodHJhaWxlcnM6a2V5PWZvbzopIHRyYWlsaW5nIGNvbG9uIGFsc28gd29ya3MnICcKKwlnaXQgbG9nIC0tbm8td2FsayAtLXByZXR0eT0iZm9ybWF0OiUodHJhaWxlcnM6a2V5PUFja2VkLWJ5OikiID5hY3R1YWwgJiYKKwllY2hvICJBY2tlZC1ieTogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4iID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ByZXR0eSBmb3JtYXQgJSh0cmFpbGVyczprZXk9Zm9vKSBtdWx0aXBsZSBrZXlzJyAnCisJZ2l0IGxvZyAtLW5vLXdhbGsgLS1wcmV0dHk9ImZvcm1hdDolKHRyYWlsZXJzOmtleT1BY2tlZC1ieTosa2V5PVNpZ25lZC1vZmYtQnkpIiA+YWN0dWFsICYmCisJZ3JlcCAtdiBwYXRjaC5kZXNjcmlwdGlvbiA8dHJhaWxlcnMgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnJSh0cmFpbGVyczprZXk9bm9uZXhpc3RlbnQpIGJlY29tZXMgZW1wdHknICcKKwlnaXQgbG9nIC0tbm8td2FsayAtLXByZXR0eT0ieCUodHJhaWxlcnM6a2V5PU5hY2tlZC1ieSl4IiA+YWN0dWFsICYmCisJZWNobyAieHgiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyUodHJhaWxlcnM6a2V5PWZvbykgaGFuZGxlcyBtdWx0aXBsZSBsaW5lcyBldmVuIGlmIGZvbGRlZCcgJworCWdpdCBsb2cgLS1uby13YWxrIC0tcHJldHR5PSJmb3JtYXQ6JSh0cmFpbGVyczprZXk9U2lnbmVkLU9mZi1ieSkiID5hY3R1YWwgJiYKKwlncmVwIC12IHBhdGNoLmRlc2NyaXB0aW9uIDx0cmFpbGVycyB8IGdyZXAgLXYgQWNrZWQtYnkgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnJSh0cmFpbGVyczprZXk9Zm9vLHVuZm9sZCkgcHJvcGVybHkgdW5mb2xkcycgJworCWdpdCBsb2cgLS1uby13YWxrIC0tcHJldHR5PSJmb3JtYXQ6JSh0cmFpbGVyczprZXk9U2lnbmVkLU9mZi1ieSx1bmZvbGQpIiA+YWN0dWFsICYmCisJdW5mb2xkIDx0cmFpbGVycyB8IGdyZXAgU2lnbmVkLW9mZi1ieSA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcmV0dHkgZm9ybWF0ICUodHJhaWxlcnM6a2V5PWZvbyxvbmx5PW5vKSBhbHNvIGluY2x1ZGVzIG5vbnRyYWlsZXIgbGluZXMnICcKKwlnaXQgbG9nIC0tbm8td2FsayAtLXByZXR0eT0iZm9ybWF0OiUodHJhaWxlcnM6a2V5PUFja2VkLWJ5LG9ubHk9bm8pIiA+YWN0dWFsICYmCisJeworCQllY2hvICJBY2tlZC1ieTogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT4iICYmCisJCWdyZXAgcGF0Y2guZGVzY3JpcHRpb24gPHRyYWlsZXJzCisJfSA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICclKHRyYWlsZXJzOmtleSkgd2l0aG91dCB2YWx1ZSBpcyBlcnJvcicgJworCWdpdCBsb2cgLS1uby13YWxrIC0tcHJldHR5PSJ0Zm9ybWF0OiUodHJhaWxlcnM6a2V5KSIgPmFjdHVhbCAmJgorCWVjaG8gIiUodHJhaWxlcnM6a2V5KSIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnJSh0cmFpbGVyczprZXk9Zm9vLHZhbHVlb25seSkgc2hvd3Mgb25seSB2YWx1ZScgJworCWdpdCBsb2cgLS1uby13YWxrIC0tcHJldHR5PSJmb3JtYXQ6JSh0cmFpbGVyczprZXk9QWNrZWQtYnksdmFsdWVvbmx5KSIgPmFjdHVhbCAmJgorCWVjaG8gIkEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+IiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcmV0dHkgZm9ybWF0ICUodHJhaWxlcnM6c2VwYXJhdG9yKSBjaGFuZ2VzIHNlcGFyYXRvcicgJworCWdpdCBsb2cgLS1uby13YWxrIC0tcHJldHR5PWZvcm1hdDoiWCUodHJhaWxlcnM6c2VwYXJhdG9yPSV4MDAsdW5mb2xkKVgiID5hY3R1YWwgJiYKKwlwcmludGYgIlhTaWduZWQtb2ZmLWJ5OiBBIFUgVGhvciA8YXV0aG9yQGV4YW1wbGUuY29tPlwwQWNrZWQtYnk6IEEgVSBUaG9yIDxhdXRob3JAZXhhbXBsZS5jb20+XDBbIHYyIHVwZGF0ZWQgcGF0Y2ggZGVzY3JpcHRpb24gXVwwU2lnbmVkLW9mZi1ieTogQSBVIFRob3IgPGF1dGhvckBleGFtcGxlLmNvbT5YIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcmV0dHkgZm9ybWF0ICUodHJhaWxlcnMpIGNvbWJpbmluZyBzZXBhcmF0b3Iva2V5L3ZhbHVlb25seScgJworCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtRiAtIDw8LVxFT0YgJiYKKwlJbXBvcnRhbnQgZml4CisKKwlUaGUgZml4IGlzIGV4cGxhaW5lZCBoZXJlCisKKwlDbG9zZXM6ICMxMjM0CisJRU9GCisKKwlnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHkgLUYgLSA8PC1cRU9GICYmCisJQW5vdGhlciBmaXgKKworCVRoZSBmaXggaXMgZXhwbGFpbmVkIGhlcmUKKworCUNsb3NlczogIzU2NworCUNsb3NlczogIzg5MAorCUVPRgorCisJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1GIC0gPDwtXEVPRiAmJgorCURvZXMgbm90IGNsb3NlIGFueSB0aWNrZXRzCisJRU9GCisKKwlnaXQgbG9nIC0tcHJldHR5PSIlcyUgKHRyYWlsZXJzOnNlcGFyYXRvcj0leDJjJXgyMCxrZXk9Q2xvc2VzLHZhbHVlb25seSkiIEhFQUR+My4uID5hY3R1YWwgJiYKKwl0ZXN0X3dyaXRlX2xpbmVzIFwKKwkJIkRvZXMgbm90IGNsb3NlIGFueSB0aWNrZXRzIiBcCisJCSJBbm90aGVyIGZpeCAjNTY3LCAjODkwIiBcCisJCSJJbXBvcnRhbnQgZml4ICMxMjM0IiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0cmFpbGVyIHBhcnNpbmcgbm90IGZvb2xlZCBieSAtLS0gbGluZScgJwogCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtRiAtIDw8LVxFT0YgJiYKIAl0aGlzIGlzIHRoZSBzdWJqZWN0CkBAIC02MjEsNCArNzc0LDk3IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQgdXAgJVMgdGVzdHMnICcKKwlnaXQgY2hlY2tvdXQgLS1vcnBoYW4gc291cmNlLWEgJiYKKwl0ZXN0X2NvbW1pdCBvbmUgJiYKKwl0ZXN0X2NvbW1pdCB0d28gJiYKKwlnaXQgY2hlY2tvdXQgLWIgc291cmNlLWIgSEVBRF4gJiYKKwl0ZXN0X2NvbW1pdCB0aHJlZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1mb3JtYXQ9JVMgcGFpbnRzIGJyYW5jaCBuYW1lcycgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlzb3VyY2UtYgorCXNvdXJjZS1hCisJc291cmNlLWIKKwlFT0YKKwlnaXQgbG9nIC0tZm9ybWF0PSVTIHNvdXJjZS1hIHNvdXJjZS1iID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWZvcm1hdD0lUyBwYWludHMgdGFnIG5hbWVzJyAnCisJZ2l0IHRhZyAtbSB0YWdnZWQgc291cmNlLXRhZyAmJgorCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlzb3VyY2UtdGFnCisJc291cmNlLWEKKwlzb3VyY2UtdGFnCisJRU9GCisJZ2l0IGxvZyAtLWZvcm1hdD0lUyBzb3VyY2UtdGFnIHNvdXJjZS1hID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWZvcm1hdD0lUyBwYWludHMgc3ltbWV0cmljIHJhbmdlcycgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlzb3VyY2UtYgorCXNvdXJjZS1hCisJRU9GCisJZ2l0IGxvZyAtLWZvcm1hdD0lUyBzb3VyY2UtYS4uLnNvdXJjZS1iID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJyVTIGluIGdpdCBsb2cgLS1mb3JtYXQgd29ya3Mgd2l0aCBvdGhlciBwbGFjZWhvbGRlcnMgKHBhcnQgMSknICcKKwlnaXQgbG9nIC0tZm9ybWF0PSJzb3VyY2UtYiAlaCIgc291cmNlLWIgPmV4cGVjdCAmJgorCWdpdCBsb2cgLS1mb3JtYXQ9IiVTICVoIiBzb3VyY2UtYiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICclUyBpbiBnaXQgbG9nIC0tZm9ybWF0IHdvcmtzIHdpdGggb3RoZXIgcGxhY2Vob2xkZXJzIChwYXJ0IDIpJyAnCisJZ2l0IGxvZyAtLWZvcm1hdD0iJWggc291cmNlLWIiIHNvdXJjZS1iID5leHBlY3QgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSIlaCAlUyIgc291cmNlLWIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tcHJldHR5PXJlZmVyZW5jZScgJworCWdpdCBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JWggKCVzLCAlYXMpIiA+ZXhwZWN0ICYmCisJZ2l0IGxvZyAtLXByZXR0eT1yZWZlcmVuY2UgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tcHJldHR5PXJlZmVyZW5jZSB3aXRoIGxvZy5kYXRlIGlzIG92ZXJyaWRkZW4gYnkgc2hvcnQgZGF0ZScgJworCWdpdCBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JWggKCVzLCAlYXMpIiA+ZXhwZWN0ICYmCisJdGVzdF9jb25maWcgbG9nLmRhdGUgcmZjICYmCisJZ2l0IGxvZyAtLXByZXR0eT1yZWZlcmVuY2UgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tcHJldHR5PXJlZmVyZW5jZSB3aXRoIGV4cGxpY2l0IGRhdGUgb3ZlcnJpZGVzIHNob3J0IGRhdGUnICcKKwlnaXQgbG9nIC0tZGF0ZT1yZmMgLS1wcmV0dHk9InRmb3JtYXQ6JWggKCVzLCAlYWQpIiA+ZXhwZWN0ICYmCisJZ2l0IGxvZyAtLWRhdGU9cmZjIC0tcHJldHR5PXJlZmVyZW5jZSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1wcmV0dHk9cmVmZXJlbmNlIGlzIG5ldmVyIHVuYWJicmV2aWF0ZWQnICcKKwlnaXQgbG9nIC0tcHJldHR5PSJ0Zm9ybWF0OiVoICglcywgJWFzKSIgPmV4cGVjdCAmJgorCWdpdCBsb2cgLS1uby1hYmJyZXYtY29tbWl0IC0tcHJldHR5PXJlZmVyZW5jZSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1wcmV0dHk9cmVmZXJlbmNlIGlzIG5ldmVyIGRlY29yYXRlZCcgJworCWdpdCBsb2cgLS1wcmV0dHk9InRmb3JtYXQ6JWggKCVzLCAlYXMpIiA+ZXhwZWN0ICYmCisJZ2l0IGxvZyAtLWRlY29yYXRlPXNob3J0IC0tcHJldHR5PXJlZmVyZW5jZSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1wcmV0dHk9cmVmZXJlbmNlIGRvZXMgbm90IG91dHB1dCByZWZsb2cgaW5mbycgJworCWdpdCBsb2cgLS13YWxrLXJlZmxvZ3MgLS1wcmV0dHk9InRmb3JtYXQ6JWggKCVzLCAlYXMpIiA+ZXhwZWN0ICYmCisJZ2l0IGxvZyAtLXdhbGstcmVmbG9ncyAtLXByZXR0eT1yZWZlcmVuY2UgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tcHJldHR5PXJlZmVyZW5jZSBpcyBjb2xvcmVkIGFwcHJvcHJpYXRlbHknICcKKwlnaXQgbG9nIC0tY29sb3I9YWx3YXlzIC0tcHJldHR5PSJ0Zm9ybWF0OiVDKGF1dG8pJWggKCVzLCAlYXMpIiA+ZXhwZWN0ICYmCisJZ2l0IGxvZyAtLWNvbG9yPWFsd2F5cyAtLXByZXR0eT1yZWZlcmVuY2UgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q0MjA5LWxvZy1waWNrYXhlLnNoIGIvdC90NDIwOS1sb2ctcGlja2F4ZS5zaAppbmRleCA4NDRkZjc2Li41ZDA2ZjVmIDEwMDc1NQotLS0gYS90L3Q0MjA5LWxvZy1waWNrYXhlLnNoCisrKyBiL3QvdDQyMDktbG9nLXBpY2theGUuc2gKQEAgLTEwNiw0ICsxMDYsMzkgQEAKIAlybSAuZ2l0YXR0cmlidXRlcwogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBsb2cgLVtHU10gYmluYXJ5ICYgLS10ZXh0JyAnCisJZ2l0IGNoZWNrb3V0IC0tb3JwaGFuIEdTLWJpbmFyeS1hbmQtdGV4dCAmJgorCWdpdCByZWFkLXRyZWUgLS1lbXB0eSAmJgorCXByaW50ZiAiYVxuYVwwYVxuIiA+ZGF0YS5iaW4gJiYKKwlnaXQgYWRkIGRhdGEuYmluICYmCisJZ2l0IGNvbW1pdCAtbSAiY3JlYXRlIGJpbmFyeSBmaWxlIiBkYXRhLmJpbiAmJgorCXByaW50ZiAiYVxuYVwwYVxuIiA+PmRhdGEuYmluICYmCisJZ2l0IGNvbW1pdCAtbSAibW9kaWZ5IGJpbmFyeSBmaWxlIiBkYXRhLmJpbiAmJgorCWdpdCBybSBkYXRhLmJpbiAmJgorCWdpdCBjb21taXQgLW0gImRlbGV0ZSBiaW5hcnkgZmlsZSIgZGF0YS5iaW4gJiYKKwlnaXQgbG9nID5mdWxsLWxvZworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLUcgaWdub3JlcyBiaW5hcnkgZmlsZXMnICcKKwlnaXQgbG9nIC1HYSA+bG9nICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGxvZworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLUcgbG9va3MgaW50byBiaW5hcnkgZmlsZXMgd2l0aCAtYScgJworCWdpdCBsb2cgLWEgLUdhID5sb2cgJiYKKwl0ZXN0X2NtcCBsb2cgZnVsbC1sb2cKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC1HIGxvb2tzIGludG8gYmluYXJ5IGZpbGVzIHdpdGggdGV4dGNvbnYgZmlsdGVyJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAuZ2l0YXR0cmlidXRlcyIgJiYKKwllY2hvICIqIGRpZmY9YmluIiA+LmdpdGF0dHJpYnV0ZXMgJiYKKwlnaXQgLWMgZGlmZi5iaW4udGV4dGNvbnY9Y2F0IGxvZyAtR2EgPmxvZyAmJgorCXRlc3RfY21wIGxvZyBmdWxsLWxvZworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLVMgbG9va3MgaW50byBiaW5hcnkgZmlsZXMnICcKKwlnaXQgbG9nIC1TYSA+bG9nICYmCisJdGVzdF9jbXAgbG9nIGZ1bGwtbG9nCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDIxMC1sb2ctaTE4bi5zaCBiL3QvdDQyMTAtbG9nLWkxOG4uc2gKaW5kZXggN2M1MTk0My4uYzM3OTIwOCAxMDA3NTUKLS0tIGEvdC90NDIxMC1sb2ctaTE4bi5zaAorKysgYi90L3Q0MjEwLWxvZy1pMThuLnNoCkBAIC0xLDEyICsxLDE1IEBACiAjIS9iaW4vc2gKIAogdGVzdF9kZXNjcmlwdGlvbj0ndGVzdCBsb2cgd2l0aCBpMThuIGZlYXR1cmVzJwotLiAuL3Rlc3QtbGliLnNoCisuIC4vbGliLWdldHRleHQuc2gKIAogIyB0d28gZm9ybXMgb2Ygw6kKIHV0ZjhfZT0kKHByaW50ZiAnXDMwM1wyNTEnKQogbGF0aW4xX2U9JChwcmludGYgJ1wzNTEnKQogCisjIGludmFsaWQgVVRGLTgKK2ludmFsaWRfZT0kKHByaW50ZiAnXDMwM1w1MCknKSAjICIpIiBhdCBlbmQgdG8gY2xvc2Ugb3BlbmluZyAiKCIKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIGNvbW1pdHMgaW4gZGlmZmVyZW50IGVuY29kaW5ncycgJwogCXRlc3RfdGljayAmJgogCWNhdCA+bXNnIDw8LUVPRiAmJgpAQCAtNDgsOSArNTEsNDMgQEAKIAl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyZXAgZG9lcyBub3QgZmluZCBub24tcmVlbmNvZGVkIHZhbHVlcyAobGF0aW4xKScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAhTUlOR1cgJ2xvZyAtLWdyZXAgZG9lcyBub3QgZmluZCBub24tcmVlbmNvZGVkIHZhbHVlcyAobGF0aW4xKScgJwogCWdpdCBsb2cgLS1lbmNvZGluZz1JU08tODg1OS0xIC0tZm9ybWF0PSVzIC0tZ3JlcD0kdXRmOF9lID5hY3R1YWwgJiYKIAl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCiAnCiAKK2ZvciBlbmdpbmUgaW4gZml4ZWQgYmFzaWMgZXh0ZW5kZWQgcGVybAorZG8KKwlwcmVyZXE9CisJaWYgdGVzdCAkZW5naW5lID0gInBlcmwiCisJdGhlbgorCQlwcmVyZXE9IlBDUkUiCisJZWxzZQorCQlwcmVyZXE9IiIKKwlmaQorCWZvcmNlX3JlZ2V4PQorCWlmIHRlc3QgJGVuZ2luZSAhPSAiZml4ZWQiCisJdGhlbgorCSAgICBmb3JjZV9yZWdleD0uKgorCWZpCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAhTUlOR1csIVJFR0VYX0lMTFNFUSxHRVRURVhUX0xPQ0FMRSwkcHJlcmVxICItYyBncmVwLnBhdHRlcm5UeXBlPSRlbmdpbmUgbG9nIC0tZ3JlcCBkb2VzIG5vdCBmaW5kIG5vbi1yZWVuY29kZWQgdmFsdWVzIChsYXRpbjEgKyBsb2NhbGUpIiAiCisJCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwkJbGF0aW4xCisJCXV0ZjgKKwkJRU9GCisJCUxDX0FMTD1cIiRpc19JU19sb2NhbGVcIiBnaXQgLWMgZ3JlcC5wYXR0ZXJuVHlwZT0kZW5naW5lIGxvZyAtLWVuY29kaW5nPUlTTy04ODU5LTEgLS1mb3JtYXQ9JXMgLS1ncmVwPVwiJGZvcmNlX3JlZ2V4JGxhdGluMV9lXCIgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJIgorCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAhTUlOR1csR0VUVEVYVF9MT0NBTEUsJHByZXJlcSAiLWMgZ3JlcC5wYXR0ZXJuVHlwZT0kZW5naW5lIGxvZyAtLWdyZXAgZG9lcyBub3QgZmluZCBub24tcmVlbmNvZGVkIHZhbHVlcyAobGF0aW4xICsgbG9jYWxlKSIgIgorCQlMQ19BTEw9XCIkaXNfSVNfbG9jYWxlXCIgZ2l0IC1jIGdyZXAucGF0dGVyblR5cGU9JGVuZ2luZSBsb2cgLS1lbmNvZGluZz1JU08tODg1OS0xIC0tZm9ybWF0PSVzIC0tZ3JlcD1cIiRmb3JjZV9yZWdleCR1dGY4X2VcIiA+YWN0dWFsICYmCisJCXRlc3RfbXVzdF9iZV9lbXB0eSBhY3R1YWwKKwkiCisKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICFNSU5HVywhUkVHRVhfSUxMU0VRLEdFVFRFWFRfTE9DQUxFLCRwcmVyZXEgIi1jIGdyZXAucGF0dGVyblR5cGU9JGVuZ2luZSBsb2cgLS1ncmVwIGRvZXMgbm90IGRpZSBvbiBpbnZhbGlkIFVURi04IHZhbHVlIChsYXRpbjEgKyBsb2NhbGUgKyBpbnZhbGlkIG5lZWRsZSkiICIKKwkJTENfQUxMPVwiJGlzX0lTX2xvY2FsZVwiIGdpdCAtYyBncmVwLnBhdHRlcm5UeXBlPSRlbmdpbmUgbG9nIC0tZW5jb2Rpbmc9SVNPLTg4NTktMSAtLWZvcm1hdD0lcyAtLWdyZXA9XCIkZm9yY2VfcmVnZXgkaW52YWxpZF9lXCIgPmFjdHVhbCAmJgorCQl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCisJIgorZG9uZQorCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDQyMTEtbGluZS1sb2cuc2ggYi90L3Q0MjExLWxpbmUtbG9nLnNoCmluZGV4IGVmMTMyMjEuLmNkYTU4MTggMTAwNzU1Ci0tLSBhL3QvdDQyMTEtbGluZS1sb2cuc2gKKysrIGIvdC90NDIxMS1saW5lLWxvZy5zaApAQCAtNCw2ICs0LDcgQEAKIC4gLi90ZXN0LWxpYi5zaAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCAoaW1wb3J0IGhpc3RvcnkpJyAnCisJdGVzdF9vaWRfaW5pdCAmJgogCWdpdCBmYXN0LWltcG9ydCA8ICIkVEVTVF9ESVJFQ1RPUlkiL3Q0MjExL2hpc3RvcnkuZXhwb3J0ICYmCiAJZ2l0IHJlc2V0IC0taGFyZAogJwpAQCAtMTEsNyArMTIsNyBAQAogY2FubmVkX3Rlc3RfMSAoKSB7CiAJdGVzdF9leHBlY3RfJDEgIiQyIiAiCiAJCWdpdCBsb2cgJDIgPmFjdHVhbCAmJgotCQl0ZXN0X2NtcCBcIlwkVEVTVF9ESVJFQ1RPUllcIi90NDIxMS9leHBlY3QuJDMgYWN0dWFsCisJCXRlc3RfY21wIFwiXCRURVNUX0RJUkVDVE9SWVwiL3Q0MjExLyQodGVzdF9vaWQgYWxnbykvZXhwZWN0LiQzIGFjdHVhbAogCSIKIH0KIApAQCAtMjUsNyArMjYsNyBAQAogdGVzdF9iYWRfb3B0cyAoKSB7CiAJdGVzdF9leHBlY3Rfc3VjY2VzcyAiaW52YWxpZCBhcmdzOiAkMSIgIgogCQl0ZXN0X211c3RfZmFpbCBnaXQgbG9nICQxIDI+ZXJyb3JzICYmCi0JCWdyZXAgJyQyJyBlcnJvcnMKKwkJdGVzdF9pMThuZ3JlcCAnJDInIGVycm9ycwogCSIKIH0KIApAQCAtMTE1LDQgKzExNiwxMDMgQEAKIAlnaXQgbG9nICQoZm9yIHggaW4gJCh0ZXN0X3NlcSAyMDApOyBkbyBlY2hvIC1MICQoKDIqeCkpLCsxOmMuYzsgZG9uZSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnLXMgc2hvd3Mgb25seSBsaW5lLWxvZyBjb21taXRzJyAnCisJZ2l0IGxvZyAtLWZvcm1hdD0iY29tbWl0ICVzIiAtTDEsMjQ6Yi5jID5leHBlY3QucmF3ICYmCisJZ3JlcCBeY29tbWl0IGV4cGVjdC5yYXcgPmV4cGVjdCAmJgorCWdpdCBsb2cgLS1mb3JtYXQ9ImNvbW1pdCAlcyIgLUwxLDI0OmIuYyAtcyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctcCBzaG93cyB0aGUgZGVmYXVsdCBwYXRjaCBvdXRwdXQnICcKKwlnaXQgbG9nIC1MMSwyNDpiLmMgPmV4cGVjdCAmJgorCWdpdCBsb2cgLUwxLDI0OmIuYyAtcCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXJhdyBpcyBmb3JiaWRkZW4nICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgbG9nIC1MMSwyNDpiLmMgLS1yYXcKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgZm9yIGNoZWNraW5nIGZhbmN5IHJlbmFtZSBmb2xsb3dpbmcnICcKKwlnaXQgY2hlY2tvdXQgLS1vcnBoYW4gbW92ZXMtc3RhcnQgJiYKKwlnaXQgcmVzZXQgLS1oYXJkICYmCisKKwlwcmludGYgIiVzXG4iICAgIDEyIDEzIDE0IDE1ICAgICAgYiBjIGQgZSAgID5maWxlLTEgJiYKKwlwcmludGYgIiVzXG4iICAgIDIyIDIzIDI0IDI1ICAgICAgQiBDIEQgRSAgID5maWxlLTIgJiYKKwlnaXQgYWRkIGZpbGUtMSBmaWxlLTIgJiYKKwl0ZXN0X3RpY2sgJiYKKwlnaXQgY29tbWl0IC1tICJBZGQgZmlsZS0xIGFuZCBmaWxlLTIiICYmCisJb2lkX2FkZF9mMV9mMj0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEKSAmJgorCisJZ2l0IGNoZWNrb3V0IC1iIG1vdmVzLW1haW4gJiYKKwlwcmludGYgIiVzXG4iIDExIDEyIDEzIDE0IDE1ICAgICAgYiBjIGQgZSAgID5maWxlLTEgJiYKKwlnaXQgY29tbWl0IC1hIC1tICJNb2RpZnkgZmlsZS0xIG9uIG1haW4iICYmCisJb2lkX21vZF9mMV9tYWluPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IEhFQUQpICYmCisKKwlwcmludGYgIiVzXG4iIDIxIDIyIDIzIDI0IDI1ICAgICAgQiBDIEQgRSAgID5maWxlLTIgJiYKKwlnaXQgY29tbWl0IC1hIC1tICJNb2RpZnkgZmlsZS0yIG9uIG1haW4gIzEiICYmCisJb2lkX21vZF9mMl9tYWluXzE9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRCkgJiYKKworCWdpdCBtdiBmaWxlLTEgcmVuYW1lZC0xICYmCisJZ2l0IGNvbW1pdCAtbSAiUmVuYW1lIGZpbGUtMSB0byByZW5hbWVkLTEgb24gbWFpbiIgJiYKKworCXByaW50ZiAiJXNcbiIgMTEgMTIgMTMgMTQgMTUgICAgICBiIGMgZCBlIGYgPnJlbmFtZWQtMSAmJgorCWdpdCBjb21taXQgLWEgLW0gIk1vZGlmeSByZW5hbWVkLTEgb24gbWFpbiIgJiYKKwlvaWRfbW9kX3IxX21haW49JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRCkgJiYKKworCXByaW50ZiAiJXNcbiIgMjEgMjIgMjMgMjQgMjUgICAgICBCIEMgRCBFIEYgPmZpbGUtMiAmJgorCWdpdCBjb21taXQgLWEgLW0gIk1vZGlmeSBmaWxlLTIgb24gbWFpbiAjMiIgJiYKKwlvaWRfbW9kX2YyX21haW5fMj0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEKSAmJgorCisJZ2l0IGNoZWNrb3V0IC1iIG1vdmVzLXNpZGUgbW92ZXMtc3RhcnQgJiYKKwlwcmludGYgIiVzXG4iICAgIDEyIDEzIDE0IDE1IDE2ICAgYiBjIGQgZSAgID5maWxlLTEgJiYKKwlnaXQgY29tbWl0IC1hIC1tICJNb2RpZnkgZmlsZS0xIG9uIHNpZGUgIzEiICYmCisJb2lkX21vZF9mMV9zaWRlXzE9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRCkgJiYKKworCXByaW50ZiAiJXNcbiIgICAgMjIgMjMgMjQgMjUgMjYgICBCIEMgRCBFICAgPmZpbGUtMiAmJgorCWdpdCBjb21taXQgLWEgLW0gIk1vZGlmeSBmaWxlLTIgb24gc2lkZSIgJiYKKwlvaWRfbW9kX2YyX3NpZGU9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRCkgJiYKKworCWdpdCBtdiBmaWxlLTIgcmVuYW1lZC0yICYmCisJZ2l0IGNvbW1pdCAtbSAiUmVuYW1lIGZpbGUtMiB0byByZW5hbWVkLTIgb24gc2lkZSIgJiYKKworCXByaW50ZiAiJXNcbiIgICAgMTIgMTMgMTQgMTUgMTYgYSBiIGMgZCBlICAgPmZpbGUtMSAmJgorCWdpdCBjb21taXQgLWEgLW0gIk1vZGlmeSBmaWxlLTEgb24gc2lkZSAjMiIgJiYKKwlvaWRfbW9kX2YxX3NpZGVfMj0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEKSAmJgorCisJcHJpbnRmICIlc1xuIiAgICAyMiAyMyAyNCAyNSAyNiBBIEIgQyBEIEUgICA+cmVuYW1lZC0yICYmCisJZ2l0IGNvbW1pdCAtYSAtbSAiTW9kaWZ5IHJlbmFtZWQtMiBvbiBzaWRlIiAmJgorCW9pZF9tb2RfcjJfc2lkZT0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEKSAmJgorCisJZ2l0IGNoZWNrb3V0IG1vdmVzLW1haW4gJiYKKwlnaXQgbWVyZ2UgbW92ZXMtc2lkZSAmJgorCW9pZF9tZXJnZT0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmYW5jeSByZW5hbWUgZm9sbG93aW5nICMxJyAnCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJJG9pZF9tZXJnZSBNZXJnZSBicmFuY2ggJ1wnJ21vdmVzLXNpZGUnXCcnIGludG8gbW92ZXMtbWFpbgorCSRvaWRfbW9kX2YxX3NpZGVfMiBNb2RpZnkgZmlsZS0xIG9uIHNpZGUgIzIKKwkkb2lkX21vZF9mMV9zaWRlXzEgTW9kaWZ5IGZpbGUtMSBvbiBzaWRlICMxCisJJG9pZF9tb2RfcjFfbWFpbiBNb2RpZnkgcmVuYW1lZC0xIG9uIG1haW4KKwkkb2lkX21vZF9mMV9tYWluIE1vZGlmeSBmaWxlLTEgb24gbWFpbgorCSRvaWRfYWRkX2YxX2YyIEFkZCBmaWxlLTEgYW5kIGZpbGUtMgorCUVPRgorCWdpdCBsb2cgLUwxOnJlbmFtZWQtMSAtLW9uZWxpbmUgLS1uby1wYXRjaCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmYW5jeSByZW5hbWUgZm9sbG93aW5nICMyJyAnCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJJG9pZF9tZXJnZSBNZXJnZSBicmFuY2ggJ1wnJ21vdmVzLXNpZGUnXCcnIGludG8gbW92ZXMtbWFpbgorCSRvaWRfbW9kX3IyX3NpZGUgTW9kaWZ5IHJlbmFtZWQtMiBvbiBzaWRlCisJJG9pZF9tb2RfZjJfc2lkZSBNb2RpZnkgZmlsZS0yIG9uIHNpZGUKKwkkb2lkX21vZF9mMl9tYWluXzIgTW9kaWZ5IGZpbGUtMiBvbiBtYWluICMyCisJJG9pZF9tb2RfZjJfbWFpbl8xIE1vZGlmeSBmaWxlLTIgb24gbWFpbiAjMQorCSRvaWRfYWRkX2YxX2YyIEFkZCBmaWxlLTEgYW5kIGZpbGUtMgorCUVPRgorCWdpdCBsb2cgLUwxOnJlbmFtZWQtMiAtLW9uZWxpbmUgLS1uby1wYXRjaCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDQyMTEvZXhwZWN0LmJlZ2lubmluZy1vZi1maWxlIGIvdC90NDIxMS9zaGExL2V4cGVjdC5iZWdpbm5pbmctb2YtZmlsZQpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gdC90NDIxMS9leHBlY3QuYmVnaW5uaW5nLW9mLWZpbGUKcmVuYW1lIHRvIHQvdDQyMTEvc2hhMS9leHBlY3QuYmVnaW5uaW5nLW9mLWZpbGUKZGlmZiAtLWdpdCBhL3QvdDQyMTEvZXhwZWN0LmVuZC1vZi1maWxlIGIvdC90NDIxMS9zaGExL2V4cGVjdC5lbmQtb2YtZmlsZQpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gdC90NDIxMS9leHBlY3QuZW5kLW9mLWZpbGUKcmVuYW1lIHRvIHQvdDQyMTEvc2hhMS9leHBlY3QuZW5kLW9mLWZpbGUKZGlmZiAtLWdpdCBhL3QvdDQyMTEvZXhwZWN0Lm1vdmUtc3VwcG9ydC1mIGIvdC90NDIxMS9zaGExL2V4cGVjdC5tb3ZlLXN1cHBvcnQtZgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gdC90NDIxMS9leHBlY3QubW92ZS1zdXBwb3J0LWYKcmVuYW1lIHRvIHQvdDQyMTEvc2hhMS9leHBlY3QubW92ZS1zdXBwb3J0LWYKZGlmZiAtLWdpdCBhL3QvdDQyMTEvZXhwZWN0Lm11bHRpcGxlIGIvdC90NDIxMS9zaGExL2V4cGVjdC5tdWx0aXBsZQpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gdC90NDIxMS9leHBlY3QubXVsdGlwbGUKcmVuYW1lIHRvIHQvdDQyMTEvc2hhMS9leHBlY3QubXVsdGlwbGUKZGlmZiAtLWdpdCBhL3QvdDQyMTEvZXhwZWN0Lm11bHRpcGxlLW92ZXJsYXBwaW5nIGIvdC90NDIxMS9zaGExL2V4cGVjdC5tdWx0aXBsZS1vdmVybGFwcGluZwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gdC90NDIxMS9leHBlY3QubXVsdGlwbGUtb3ZlcmxhcHBpbmcKcmVuYW1lIHRvIHQvdDQyMTEvc2hhMS9leHBlY3QubXVsdGlwbGUtb3ZlcmxhcHBpbmcKZGlmZiAtLWdpdCBhL3QvdDQyMTEvZXhwZWN0Lm11bHRpcGxlLXN1cGVyc2V0IGIvdC90NDIxMS9zaGExL2V4cGVjdC5tdWx0aXBsZS1zdXBlcnNldApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gdC90NDIxMS9leHBlY3QubXVsdGlwbGUtc3VwZXJzZXQKcmVuYW1lIHRvIHQvdDQyMTEvc2hhMS9leHBlY3QubXVsdGlwbGUtc3VwZXJzZXQKZGlmZiAtLWdpdCBhL3QvdDQyMTEvZXhwZWN0LnBhcmFsbGVsLWNoYW5nZS1mLXRvLW1haW4gYi90L3Q0MjExL3NoYTEvZXhwZWN0LnBhcmFsbGVsLWNoYW5nZS1mLXRvLW1haW4Kc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHQvdDQyMTEvZXhwZWN0LnBhcmFsbGVsLWNoYW5nZS1mLXRvLW1haW4KcmVuYW1lIHRvIHQvdDQyMTEvc2hhMS9leHBlY3QucGFyYWxsZWwtY2hhbmdlLWYtdG8tbWFpbgpkaWZmIC0tZ2l0IGEvdC90NDIxMS9leHBlY3Quc2ltcGxlLWYgYi90L3Q0MjExL3NoYTEvZXhwZWN0LnNpbXBsZS1mCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSB0L3Q0MjExL2V4cGVjdC5zaW1wbGUtZgpyZW5hbWUgdG8gdC90NDIxMS9zaGExL2V4cGVjdC5zaW1wbGUtZgpkaWZmIC0tZ2l0IGEvdC90NDIxMS9leHBlY3Quc2ltcGxlLWYtdG8tbWFpbiBiL3QvdDQyMTEvc2hhMS9leHBlY3Quc2ltcGxlLWYtdG8tbWFpbgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gdC90NDIxMS9leHBlY3Quc2ltcGxlLWYtdG8tbWFpbgpyZW5hbWUgdG8gdC90NDIxMS9zaGExL2V4cGVjdC5zaW1wbGUtZi10by1tYWluCmRpZmYgLS1naXQgYS90L3Q0MjExL2V4cGVjdC5zaW1wbGUtbWFpbiBiL3QvdDQyMTEvc2hhMS9leHBlY3Quc2ltcGxlLW1haW4Kc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHQvdDQyMTEvZXhwZWN0LnNpbXBsZS1tYWluCnJlbmFtZSB0byB0L3Q0MjExL3NoYTEvZXhwZWN0LnNpbXBsZS1tYWluCmRpZmYgLS1naXQgYS90L3Q0MjExL2V4cGVjdC5zaW1wbGUtbWFpbi10by1lbmQgYi90L3Q0MjExL3NoYTEvZXhwZWN0LnNpbXBsZS1tYWluLXRvLWVuZApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gdC90NDIxMS9leHBlY3Quc2ltcGxlLW1haW4tdG8tZW5kCnJlbmFtZSB0byB0L3Q0MjExL3NoYTEvZXhwZWN0LnNpbXBsZS1tYWluLXRvLWVuZApkaWZmIC0tZ2l0IGEvdC90NDIxMS9leHBlY3QudHdvLXJhbmdlcyBiL3QvdDQyMTEvc2hhMS9leHBlY3QudHdvLXJhbmdlcwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gdC90NDIxMS9leHBlY3QudHdvLXJhbmdlcwpyZW5hbWUgdG8gdC90NDIxMS9zaGExL2V4cGVjdC50d28tcmFuZ2VzCmRpZmYgLS1naXQgYS90L3Q0MjExL2V4cGVjdC52YW5pc2hlcy1lYXJseSBiL3QvdDQyMTEvc2hhMS9leHBlY3QudmFuaXNoZXMtZWFybHkKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHQvdDQyMTEvZXhwZWN0LnZhbmlzaGVzLWVhcmx5CnJlbmFtZSB0byB0L3Q0MjExL3NoYTEvZXhwZWN0LnZhbmlzaGVzLWVhcmx5CmRpZmYgLS1naXQgYS90L3Q0MjExL3NoYTI1Ni9leHBlY3QuYmVnaW5uaW5nLW9mLWZpbGUgYi90L3Q0MjExL3NoYTI1Ni9leHBlY3QuYmVnaW5uaW5nLW9mLWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWFkZmRmYwotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQyMTEvc2hhMjU2L2V4cGVjdC5iZWdpbm5pbmctb2YtZmlsZQpAQCAtMCwwICsxLDQzIEBACitjb21taXQgNjJhNDBiMzhmYTRmMDA4MDAwMDRhZWU4MWVmMjg3YjcyMDEzMTc1OTRlYmNiOTkwZjM4Y2JlNDkzYjAxZDIwMAorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ3OjQwIDIwMTMgKzAxMDAKKworICAgIGNoYW5nZSBhdCB2ZXJ5IGJlZ2lubmluZworCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gYS9hLmMKKysrKyBiL2EuYworQEAgLTEsMyArMSw0IEBACisrI2luY2x1ZGUgPHVuaXN0ZC5oPgorICNpbmNsdWRlIDxzdGRpby5oPgorIAorIGxvbmcgZihsb25nIHgpCisKK2NvbW1pdCBjY2Y5N2I5ODc4MTg5YzQwYTk4MWRhNTBiMTU3MTNiYjgwYTM1NzU1MzI2MzIwZWM4MDkwMGNhZjIyY2VkNDZmCitBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBzdHVkZW50LmV0aHouY2g+CitEYXRlOiAgIFRodSBGZWIgMjggMTA6NDU6MTYgMjAxMyArMDEwMAorCisgICAgdG91Y2ggYm90aCBmdW5jdGlvbnMKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIGEvYS5jCisrKysgYi9hLmMKK0BAIC0xLDMgKzEsMyBAQAorICNpbmNsdWRlIDxzdGRpby5oPgorIAorLWludCBmKGludCB4KQorK2xvbmcgZihsb25nIHgpCisKK2NvbW1pdCAxZGQ3ZTliMmIxNjk5MzI0YjUzYjM0MWU3Mjg2NTNiOTEzYmMxOTJhMTRkZmVhMTY4YzViNTFmMmIzZDAzNTkyCitBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBzdHVkZW50LmV0aHouY2g+CitEYXRlOiAgIFRodSBGZWIgMjggMTA6NDQ6NDggMjAxMyArMDEwMAorCisgICAgaW5pdGlhbAorCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gL2Rldi9udWxsCisrKysgYi9hLmMKK0BAIC0wLDAgKzEsMyBAQAorKyNpbmNsdWRlIDxzdGRpby5oPgorKworK2ludCBmKGludCB4KQpkaWZmIC0tZ2l0IGEvdC90NDIxMS9zaGEyNTYvZXhwZWN0LmVuZC1vZi1maWxlIGIvdC90NDIxMS9zaGEyNTYvZXhwZWN0LmVuZC1vZi1maWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzYWI1YzEKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MjExL3NoYTI1Ni9leHBlY3QuZW5kLW9mLWZpbGUKQEAgLTAsMCArMSw2MiBAQAorY29tbWl0IDU1MjZlZDA1YzI0NzZiNTZhZjhiN2JlNDk5ZThmNzhiZDUwZjQ5MDc0MDczM2E5Y2E3ZTFmNTU4NzhmYTkwYTkKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0ODo0MyAyMDEzICswMTAwCisKKyAgICBjaGFuZ2UgYmFjayB0byBjb21wbGV0ZSBsaW5lCisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSBhL2EuYworKysrIGIvYS5jCitAQCAtMjAsMyArMjAsNSBAQAorIAlwcmludGYoIiVsZFxuIiwgZigxNSkpOworIAlyZXR1cm4gMDsKKy19CitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyt9CisrCisrLyogaW5jb21wbGV0ZSBsaW5lcyBhcmUgYmFkISAqLworCitjb21taXQgMjlmMzJhYzMxNDFjNDhiMjI4MDNlNWM0MTI3YjcxOTkxN2I2N2QwZjhjYThjNTI0OGJlYmZhMmExOWY3ZGExMAorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ4OjEwIDIwMTMgKzAxMDAKKworICAgIGNoYW5nZSB0byBhbiBpbmNvbXBsZXRlIGxpbmUgYXQgZW5kCisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSBhL2EuYworKysrIGIvYS5jCitAQCAtMjAsMyArMjAsMyBAQAorIAlwcmludGYoIiVsZFxuIiwgZigxNSkpOworIAlyZXR1cm4gMDsKKy19CisrfQorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisKK2NvbW1pdCBjY2Y5N2I5ODc4MTg5YzQwYTk4MWRhNTBiMTU3MTNiYjgwYTM1NzU1MzI2MzIwZWM4MDkwMGNhZjIyY2VkNDZmCitBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBzdHVkZW50LmV0aHouY2g+CitEYXRlOiAgIFRodSBGZWIgMjggMTA6NDU6MTYgMjAxMyArMDEwMAorCisgICAgdG91Y2ggYm90aCBmdW5jdGlvbnMKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIGEvYS5jCisrKysgYi9hLmMKK0BAIC0xOSwzICsxOSwzIEBACistCXByaW50ZigiJWRcbiIsIGYoMTUpKTsKKysJcHJpbnRmKCIlbGRcbiIsIGYoMTUpKTsKKyAJcmV0dXJuIDA7CisgfQorCitjb21taXQgMWRkN2U5YjJiMTY5OTMyNGI1M2IzNDFlNzI4NjUzYjkxM2JjMTkyYTE0ZGZlYTE2OGM1YjUxZjJiM2QwMzU5MgorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ0OjQ4IDIwMTMgKzAxMDAKKworICAgIGluaXRpYWwKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIC9kZXYvbnVsbAorKysrIGIvYS5jCitAQCAtMCwwICsxOCwzIEBACisrCXByaW50ZigiJWRcbiIsIGYoMTUpKTsKKysJcmV0dXJuIDA7CisrfQpkaWZmIC0tZ2l0IGEvdC90NDIxMS9zaGEyNTYvZXhwZWN0Lm1vdmUtc3VwcG9ydC1mIGIvdC90NDIxMS9zaGEyNTYvZXhwZWN0Lm1vdmUtc3VwcG9ydC1mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyM2I0ZWQKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MjExL3NoYTI1Ni9leHBlY3QubW92ZS1zdXBwb3J0LWYKQEAgLTAsMCArMSw4MCBAQAorY29tbWl0IDRmN2E1ODE5NWE5MmM0MDBlMjhhMjM1NDMyODU4N2YxZmYxNGZiNzdmNWNmODk0NTM2ZjE3Y2NiYzcyOTMxYjkKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0OTo1MCAyMDEzICswMTAwCisKKyAgICBhbm90aGVyIHNpbXBsZSBjaGFuZ2UKKworZGlmZiAtLWdpdCBhL2IuYyBiL2IuYworLS0tIGEvYi5jCisrKysgYi9iLmMKK0BAIC00LDkgKzQsOSBAQAorIGxvbmcgZihsb25nIHgpCisgeworIAlpbnQgcyA9IDA7CisgCXdoaWxlICh4KSB7CistCQl4ID4+PSAxOworKwkJeCAvPSAyOworIAkJcysrOworIAl9CisgCXJldHVybiBzOworIH0KKworY29tbWl0IGNjZjk3Yjk4NzgxODljNDBhOTgxZGE1MGIxNTcxM2JiODBhMzU3NTUzMjYzMjBlYzgwOTAwY2FmMjJjZWQ0NmYKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0NToxNiAyMDEzICswMTAwCisKKyAgICB0b3VjaCBib3RoIGZ1bmN0aW9ucworCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gYS9hLmMKKysrKyBiL2EuYworQEAgLTMsOSArMyw5IEBACistaW50IGYoaW50IHgpCisrbG9uZyBmKGxvbmcgeCkKKyB7CisgCWludCBzID0gMDsKKyAJd2hpbGUgKHgpIHsKKyAJCXggPj49IDE7CisgCQlzKys7CisgCX0KKyAJcmV0dXJuIHM7CisgfQorCitjb21taXQgZjY0MzRhY2QzNDI2MGE2YzlmNjFlOTZkOTZiZjlhMzIzZDMzMDU2MWRmNWIxY2EyNjMxMTA0ZjgyMDI2ZGZlZAorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ0OjU1IDIwMTMgKzAxMDAKKworICAgIGNoYW5nZSBmKCkKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIGEvYS5jCisrKysgYi9hLmMKK0BAIC0zLDggKzMsOSBAQAorIGludCBmKGludCB4KQorIHsKKyAJaW50IHMgPSAwOworIAl3aGlsZSAoeCkgeworIAkJeCA+Pj0gMTsKKyAJCXMrKzsKKyAJfQorKwlyZXR1cm4gczsKKyB9CisKK2NvbW1pdCAxZGQ3ZTliMmIxNjk5MzI0YjUzYjM0MWU3Mjg2NTNiOTEzYmMxOTJhMTRkZmVhMTY4YzViNTFmMmIzZDAzNTkyCitBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBzdHVkZW50LmV0aHouY2g+CitEYXRlOiAgIFRodSBGZWIgMjggMTA6NDQ6NDggMjAxMyArMDEwMAorCisgICAgaW5pdGlhbAorCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gL2Rldi9udWxsCisrKysgYi9hLmMKK0BAIC0wLDAgKzMsOCBAQAorK2ludCBmKGludCB4KQorK3sKKysJaW50IHMgPSAwOworKwl3aGlsZSAoeCkgeworKwkJeCA+Pj0gMTsKKysJCXMrKzsKKysJfQorK30KZGlmZiAtLWdpdCBhL3QvdDQyMTEvc2hhMjU2L2V4cGVjdC5tdWx0aXBsZSBiL3QvdDQyMTEvc2hhMjU2L2V4cGVjdC5tdWx0aXBsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTAwNDA5Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NDIxMS9zaGEyNTYvZXhwZWN0Lm11bHRpcGxlCkBAIC0wLDAgKzEsMTA0IEBACitjb21taXQgNTUyNmVkMDVjMjQ3NmI1NmFmOGI3YmU0OTllOGY3OGJkNTBmNDkwNzQwNzMzYTljYTdlMWY1NTg3OGZhOTBhOQorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ4OjQzIDIwMTMgKzAxMDAKKworICAgIGNoYW5nZSBiYWNrIHRvIGNvbXBsZXRlIGxpbmUKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIGEvYS5jCisrKysgYi9hLmMKK0BAIC0xOCw1ICsxOCw3IEBACisgaW50IG1haW4gKCkKKyB7CisgCXByaW50ZigiJWxkXG4iLCBmKDE1KSk7CisgCXJldHVybiAwOworLX0KK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorK30KKysKKysvKiBpbmNvbXBsZXRlIGxpbmVzIGFyZSBiYWQhICovCisKK2NvbW1pdCAyOWYzMmFjMzE0MWM0OGIyMjgwM2U1YzQxMjdiNzE5OTE3YjY3ZDBmOGNhOGM1MjQ4YmViZmEyYTE5ZjdkYTEwCitBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBzdHVkZW50LmV0aHouY2g+CitEYXRlOiAgIFRodSBGZWIgMjggMTA6NDg6MTAgMjAxMyArMDEwMAorCisgICAgY2hhbmdlIHRvIGFuIGluY29tcGxldGUgbGluZSBhdCBlbmQKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIGEvYS5jCisrKysgYi9hLmMKK0BAIC0xOCw1ICsxOCw1IEBACisgaW50IG1haW4gKCkKKyB7CisgCXByaW50ZigiJWxkXG4iLCBmKDE1KSk7CisgCXJldHVybiAwOworLX0KKyt9CitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKworY29tbWl0IGNjZjk3Yjk4NzgxODljNDBhOTgxZGE1MGIxNTcxM2JiODBhMzU3NTUzMjYzMjBlYzgwOTAwY2FmMjJjZWQ0NmYKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0NToxNiAyMDEzICswMTAwCisKKyAgICB0b3VjaCBib3RoIGZ1bmN0aW9ucworCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gYS9hLmMKKysrKyBiL2EuYworQEAgLTMsOSArMyw5IEBACistaW50IGYoaW50IHgpCisrbG9uZyBmKGxvbmcgeCkKKyB7CisgCWludCBzID0gMDsKKyAJd2hpbGUgKHgpIHsKKyAJCXggPj49IDE7CisgCQlzKys7CisgCX0KKyAJcmV0dXJuIHM7CisgfQorQEAgLTE3LDUgKzE3LDUgQEAKKyBpbnQgbWFpbiAoKQorIHsKKy0JcHJpbnRmKCIlZFxuIiwgZigxNSkpOworKwlwcmludGYoIiVsZFxuIiwgZigxNSkpOworIAlyZXR1cm4gMDsKKyB9CisKK2NvbW1pdCBmNjQzNGFjZDM0MjYwYTZjOWY2MWU5NmQ5NmJmOWEzMjNkMzMwNTYxZGY1YjFjYTI2MzExMDRmODIwMjZkZmVkCitBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBzdHVkZW50LmV0aHouY2g+CitEYXRlOiAgIFRodSBGZWIgMjggMTA6NDQ6NTUgMjAxMyArMDEwMAorCisgICAgY2hhbmdlIGYoKQorCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gYS9hLmMKKysrKyBiL2EuYworQEAgLTMsOCArMyw5IEBACisgaW50IGYoaW50IHgpCisgeworIAlpbnQgcyA9IDA7CisgCXdoaWxlICh4KSB7CisgCQl4ID4+PSAxOworIAkJcysrOworIAl9CisrCXJldHVybiBzOworIH0KKworY29tbWl0IDFkZDdlOWIyYjE2OTkzMjRiNTNiMzQxZTcyODY1M2I5MTNiYzE5MmExNGRmZWExNjhjNWI1MWYyYjNkMDM1OTIKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0NDo0OCAyMDEzICswMTAwCisKKyAgICBpbml0aWFsCisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSAvZGV2L251bGwKKysrKyBiL2EuYworQEAgLTAsMCArMyw4IEBACisraW50IGYoaW50IHgpCisreworKwlpbnQgcyA9IDA7CisrCXdoaWxlICh4KSB7CisrCQl4ID4+PSAxOworKwkJcysrOworKwl9CisrfQpkaWZmIC0tZ2l0IGEvdC90NDIxMS9zaGEyNTYvZXhwZWN0Lm11bHRpcGxlLW92ZXJsYXBwaW5nIGIvdC90NDIxMS9zaGEyNTYvZXhwZWN0Lm11bHRpcGxlLW92ZXJsYXBwaW5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwMTVhNDUKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MjExL3NoYTI1Ni9leHBlY3QubXVsdGlwbGUtb3ZlcmxhcHBpbmcKQEAgLTAsMCArMSwxODcgQEAKK2NvbW1pdCA1NTI2ZWQwNWMyNDc2YjU2YWY4YjdiZTQ5OWU4Zjc4YmQ1MGY0OTA3NDA3MzNhOWNhN2UxZjU1ODc4ZmE5MGE5CitBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBzdHVkZW50LmV0aHouY2g+CitEYXRlOiAgIFRodSBGZWIgMjggMTA6NDg6NDMgMjAxMyArMDEwMAorCisgICAgY2hhbmdlIGJhY2sgdG8gY29tcGxldGUgbGluZQorCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gYS9hLmMKKysrKyBiL2EuYworQEAgLTQsMTkgKzQsMjEgQEAKKyBsb25nIGYobG9uZyB4KQorIHsKKyAJaW50IHMgPSAwOworIAl3aGlsZSAoeCkgeworIAkJeCA+Pj0gMTsKKyAJCXMrKzsKKyAJfQorIAlyZXR1cm4gczsKKyB9CisgCisgLyoKKyAgKiBUaGlzIGlzIG9ubHkgYW4gZXhhbXBsZSEKKyAgKi8KKyAKKyBpbnQgbWFpbiAoKQorIHsKKyAJcHJpbnRmKCIlbGRcbiIsIGYoMTUpKTsKKyAJcmV0dXJuIDA7CistfQorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisrfQorKworKy8qIGluY29tcGxldGUgbGluZXMgYXJlIGJhZCEgKi8KKworY29tbWl0IDI5ZjMyYWMzMTQxYzQ4YjIyODAzZTVjNDEyN2I3MTk5MTdiNjdkMGY4Y2E4YzUyNDhiZWJmYTJhMTlmN2RhMTAKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0ODoxMCAyMDEzICswMTAwCisKKyAgICBjaGFuZ2UgdG8gYW4gaW5jb21wbGV0ZSBsaW5lIGF0IGVuZAorCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gYS9hLmMKKysrKyBiL2EuYworQEAgLTQsMTkgKzQsMTkgQEAKKyBsb25nIGYobG9uZyB4KQorIHsKKyAJaW50IHMgPSAwOworIAl3aGlsZSAoeCkgeworIAkJeCA+Pj0gMTsKKyAJCXMrKzsKKyAJfQorIAlyZXR1cm4gczsKKyB9CisgCisgLyoKKyAgKiBUaGlzIGlzIG9ubHkgYW4gZXhhbXBsZSEKKyAgKi8KKyAKKyBpbnQgbWFpbiAoKQorIHsKKyAJcHJpbnRmKCIlbGRcbiIsIGYoMTUpKTsKKyAJcmV0dXJuIDA7CistfQorK30KK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorCitjb21taXQgNWExYjM5ODkwNjNkNTVlNzFlNzY4NWVmYTMzOTJmMTMzMzg1YjQwMzRiZGRkZTUzMGRjYjUwOTBkOGI4YjhjYQorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ1OjQxIDIwMTMgKzAxMDAKKworICAgIHRvdWNoIGNvbW1lbnQKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIGEvYS5jCisrKysgYi9hLmMKK0BAIC0zLDE5ICszLDE5IEBACisgbG9uZyBmKGxvbmcgeCkKKyB7CisgCWludCBzID0gMDsKKyAJd2hpbGUgKHgpIHsKKyAJCXggPj49IDE7CisgCQlzKys7CisgCX0KKyAJcmV0dXJuIHM7CisgfQorIAorIC8qCistICogQSBjb21tZW50LgorKyAqIFRoaXMgaXMgb25seSBhbiBleGFtcGxlIQorICAqLworIAorIGludCBtYWluICgpCisgeworIAlwcmludGYoIiVsZFxuIiwgZigxNSkpOworIAlyZXR1cm4gMDsKKyB9CisKK2NvbW1pdCBjY2Y5N2I5ODc4MTg5YzQwYTk4MWRhNTBiMTU3MTNiYjgwYTM1NzU1MzI2MzIwZWM4MDkwMGNhZjIyY2VkNDZmCitBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBzdHVkZW50LmV0aHouY2g+CitEYXRlOiAgIFRodSBGZWIgMjggMTA6NDU6MTYgMjAxMyArMDEwMAorCisgICAgdG91Y2ggYm90aCBmdW5jdGlvbnMKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIGEvYS5jCisrKysgYi9hLmMKK0BAIC0zLDE5ICszLDE5IEBACistaW50IGYoaW50IHgpCisrbG9uZyBmKGxvbmcgeCkKKyB7CisgCWludCBzID0gMDsKKyAJd2hpbGUgKHgpIHsKKyAJCXggPj49IDE7CisgCQlzKys7CisgCX0KKyAJcmV0dXJuIHM7CisgfQorIAorIC8qCisgICogQSBjb21tZW50LgorICAqLworIAorIGludCBtYWluICgpCisgeworLQlwcmludGYoIiVkXG4iLCBmKDE1KSk7CisrCXByaW50ZigiJWxkXG4iLCBmKDE1KSk7CisgCXJldHVybiAwOworIH0KKworY29tbWl0IGY2NDM0YWNkMzQyNjBhNmM5ZjYxZTk2ZDk2YmY5YTMyM2QzMzA1NjFkZjViMWNhMjYzMTEwNGY4MjAyNmRmZWQKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0NDo1NSAyMDEzICswMTAwCisKKyAgICBjaGFuZ2UgZigpCisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSBhL2EuYworKysrIGIvYS5jCitAQCAtMywxOCArMywxOSBAQAorIGludCBmKGludCB4KQorIHsKKyAJaW50IHMgPSAwOworIAl3aGlsZSAoeCkgeworIAkJeCA+Pj0gMTsKKyAJCXMrKzsKKyAJfQorKwlyZXR1cm4gczsKKyB9CisgCisgLyoKKyAgKiBBIGNvbW1lbnQuCisgICovCisgCisgaW50IG1haW4gKCkKKyB7CisgCXByaW50ZigiJWRcbiIsIGYoMTUpKTsKKyAJcmV0dXJuIDA7CisgfQorCitjb21taXQgMWRkN2U5YjJiMTY5OTMyNGI1M2IzNDFlNzI4NjUzYjkxM2JjMTkyYTE0ZGZlYTE2OGM1YjUxZjJiM2QwMzU5MgorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ0OjQ4IDIwMTMgKzAxMDAKKworICAgIGluaXRpYWwKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIC9kZXYvbnVsbAorKysrIGIvYS5jCitAQCAtMCwwICszLDE4IEBACisraW50IGYoaW50IHgpCisreworKwlpbnQgcyA9IDA7CisrCXdoaWxlICh4KSB7CisrCQl4ID4+PSAxOworKwkJcysrOworKwl9CisrfQorKworKy8qCisrICogQSBjb21tZW50LgorKyAqLworKworK2ludCBtYWluICgpCisreworKwlwcmludGYoIiVkXG4iLCBmKDE1KSk7CisrCXJldHVybiAwOworK30KZGlmZiAtLWdpdCBhL3QvdDQyMTEvc2hhMjU2L2V4cGVjdC5tdWx0aXBsZS1zdXBlcnNldCBiL3QvdDQyMTEvc2hhMjU2L2V4cGVjdC5tdWx0aXBsZS1zdXBlcnNldApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDE1YTQ1Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NDIxMS9zaGEyNTYvZXhwZWN0Lm11bHRpcGxlLXN1cGVyc2V0CkBAIC0wLDAgKzEsMTg3IEBACitjb21taXQgNTUyNmVkMDVjMjQ3NmI1NmFmOGI3YmU0OTllOGY3OGJkNTBmNDkwNzQwNzMzYTljYTdlMWY1NTg3OGZhOTBhOQorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ4OjQzIDIwMTMgKzAxMDAKKworICAgIGNoYW5nZSBiYWNrIHRvIGNvbXBsZXRlIGxpbmUKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIGEvYS5jCisrKysgYi9hLmMKK0BAIC00LDE5ICs0LDIxIEBACisgbG9uZyBmKGxvbmcgeCkKKyB7CisgCWludCBzID0gMDsKKyAJd2hpbGUgKHgpIHsKKyAJCXggPj49IDE7CisgCQlzKys7CisgCX0KKyAJcmV0dXJuIHM7CisgfQorIAorIC8qCisgICogVGhpcyBpcyBvbmx5IGFuIGV4YW1wbGUhCisgICovCisgCisgaW50IG1haW4gKCkKKyB7CisgCXByaW50ZigiJWxkXG4iLCBmKDE1KSk7CisgCXJldHVybiAwOworLX0KK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorK30KKysKKysvKiBpbmNvbXBsZXRlIGxpbmVzIGFyZSBiYWQhICovCisKK2NvbW1pdCAyOWYzMmFjMzE0MWM0OGIyMjgwM2U1YzQxMjdiNzE5OTE3YjY3ZDBmOGNhOGM1MjQ4YmViZmEyYTE5ZjdkYTEwCitBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBzdHVkZW50LmV0aHouY2g+CitEYXRlOiAgIFRodSBGZWIgMjggMTA6NDg6MTAgMjAxMyArMDEwMAorCisgICAgY2hhbmdlIHRvIGFuIGluY29tcGxldGUgbGluZSBhdCBlbmQKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIGEvYS5jCisrKysgYi9hLmMKK0BAIC00LDE5ICs0LDE5IEBACisgbG9uZyBmKGxvbmcgeCkKKyB7CisgCWludCBzID0gMDsKKyAJd2hpbGUgKHgpIHsKKyAJCXggPj49IDE7CisgCQlzKys7CisgCX0KKyAJcmV0dXJuIHM7CisgfQorIAorIC8qCisgICogVGhpcyBpcyBvbmx5IGFuIGV4YW1wbGUhCisgICovCisgCisgaW50IG1haW4gKCkKKyB7CisgCXByaW50ZigiJWxkXG4iLCBmKDE1KSk7CisgCXJldHVybiAwOworLX0KKyt9CitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKworY29tbWl0IDVhMWIzOTg5MDYzZDU1ZTcxZTc2ODVlZmEzMzkyZjEzMzM4NWI0MDM0YmRkZGU1MzBkY2I1MDkwZDhiOGI4Y2EKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0NTo0MSAyMDEzICswMTAwCisKKyAgICB0b3VjaCBjb21tZW50CisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSBhL2EuYworKysrIGIvYS5jCitAQCAtMywxOSArMywxOSBAQAorIGxvbmcgZihsb25nIHgpCisgeworIAlpbnQgcyA9IDA7CisgCXdoaWxlICh4KSB7CisgCQl4ID4+PSAxOworIAkJcysrOworIAl9CisgCXJldHVybiBzOworIH0KKyAKKyAvKgorLSAqIEEgY29tbWVudC4KKysgKiBUaGlzIGlzIG9ubHkgYW4gZXhhbXBsZSEKKyAgKi8KKyAKKyBpbnQgbWFpbiAoKQorIHsKKyAJcHJpbnRmKCIlbGRcbiIsIGYoMTUpKTsKKyAJcmV0dXJuIDA7CisgfQorCitjb21taXQgY2NmOTdiOTg3ODE4OWM0MGE5ODFkYTUwYjE1NzEzYmI4MGEzNTc1NTMyNjMyMGVjODA5MDBjYWYyMmNlZDQ2ZgorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ1OjE2IDIwMTMgKzAxMDAKKworICAgIHRvdWNoIGJvdGggZnVuY3Rpb25zCisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSBhL2EuYworKysrIGIvYS5jCitAQCAtMywxOSArMywxOSBAQAorLWludCBmKGludCB4KQorK2xvbmcgZihsb25nIHgpCisgeworIAlpbnQgcyA9IDA7CisgCXdoaWxlICh4KSB7CisgCQl4ID4+PSAxOworIAkJcysrOworIAl9CisgCXJldHVybiBzOworIH0KKyAKKyAvKgorICAqIEEgY29tbWVudC4KKyAgKi8KKyAKKyBpbnQgbWFpbiAoKQorIHsKKy0JcHJpbnRmKCIlZFxuIiwgZigxNSkpOworKwlwcmludGYoIiVsZFxuIiwgZigxNSkpOworIAlyZXR1cm4gMDsKKyB9CisKK2NvbW1pdCBmNjQzNGFjZDM0MjYwYTZjOWY2MWU5NmQ5NmJmOWEzMjNkMzMwNTYxZGY1YjFjYTI2MzExMDRmODIwMjZkZmVkCitBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBzdHVkZW50LmV0aHouY2g+CitEYXRlOiAgIFRodSBGZWIgMjggMTA6NDQ6NTUgMjAxMyArMDEwMAorCisgICAgY2hhbmdlIGYoKQorCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gYS9hLmMKKysrKyBiL2EuYworQEAgLTMsMTggKzMsMTkgQEAKKyBpbnQgZihpbnQgeCkKKyB7CisgCWludCBzID0gMDsKKyAJd2hpbGUgKHgpIHsKKyAJCXggPj49IDE7CisgCQlzKys7CisgCX0KKysJcmV0dXJuIHM7CisgfQorIAorIC8qCisgICogQSBjb21tZW50LgorICAqLworIAorIGludCBtYWluICgpCisgeworIAlwcmludGYoIiVkXG4iLCBmKDE1KSk7CisgCXJldHVybiAwOworIH0KKworY29tbWl0IDFkZDdlOWIyYjE2OTkzMjRiNTNiMzQxZTcyODY1M2I5MTNiYzE5MmExNGRmZWExNjhjNWI1MWYyYjNkMDM1OTIKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0NDo0OCAyMDEzICswMTAwCisKKyAgICBpbml0aWFsCisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSAvZGV2L251bGwKKysrKyBiL2EuYworQEAgLTAsMCArMywxOCBAQAorK2ludCBmKGludCB4KQorK3sKKysJaW50IHMgPSAwOworKwl3aGlsZSAoeCkgeworKwkJeCA+Pj0gMTsKKysJCXMrKzsKKysJfQorK30KKysKKysvKgorKyAqIEEgY29tbWVudC4KKysgKi8KKysKKytpbnQgbWFpbiAoKQorK3sKKysJcHJpbnRmKCIlZFxuIiwgZigxNSkpOworKwlyZXR1cm4gMDsKKyt9CmRpZmYgLS1naXQgYS90L3Q0MjExL3NoYTI1Ni9leHBlY3QucGFyYWxsZWwtY2hhbmdlLWYtdG8tbWFpbiBiL3QvdDQyMTEvc2hhMjU2L2V4cGVjdC5wYXJhbGxlbC1jaGFuZ2UtZi10by1tYWluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OGY4OTIKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MjExL3NoYTI1Ni9leHBlY3QucGFyYWxsZWwtY2hhbmdlLWYtdG8tbWFpbgpAQCAtMCwwICsxLDE2MCBAQAorY29tbWl0IDk4MTE3YzIwNTliNzZjMzY5OTU3NDhmYjk3YjAyNTQyYWVmNDc3ZmUyNjM3OWU5NGMxOGZkNzBmNzc5MGJjNjcKK01lcmdlOiBiNTExNjk0IDRmN2E1ODEKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QGluZi5ldGh6LmNoPgorRGF0ZTogICBGcmkgQXByIDEyIDE2OjE2OjI0IDIwMTMgKzAyMDAKKworICAgIE1lcmdlIGFjcm9zcyB0aGUgcmVuYW1lCisKKworY29tbWl0IDRmN2E1ODE5NWE5MmM0MDBlMjhhMjM1NDMyODU4N2YxZmYxNGZiNzdmNWNmODk0NTM2ZjE3Y2NiYzcyOTMxYjkKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0OTo1MCAyMDEzICswMTAwCisKKyAgICBhbm90aGVyIHNpbXBsZSBjaGFuZ2UKKworZGlmZiAtLWdpdCBhL2IuYyBiL2IuYworLS0tIGEvYi5jCisrKysgYi9iLmMKK0BAIC00LDE0ICs0LDE0IEBACisgbG9uZyBmKGxvbmcgeCkKKyB7CisgCWludCBzID0gMDsKKyAJd2hpbGUgKHgpIHsKKy0JCXggPj49IDE7CisrCQl4IC89IDI7CisgCQlzKys7CisgCX0KKyAJcmV0dXJuIHM7CisgfQorIAorIC8qCisgICogVGhpcyBpcyBvbmx5IGFuIGV4YW1wbGUhCisgICovCisgCisKK2NvbW1pdCBiNTExNjk0ZjUzMzc2NjNmYmQ2OTc2MjI5OTNhNWY4ZTEwOTllY2E4NGJlNGRmMzEzZjJiM2VlOTRhMDk4YjQyCitBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBpbmYuZXRoei5jaD4KK0RhdGU6ICAgRnJpIEFwciAxMiAxNjoxNTo1NyAyMDEzICswMjAwCisKKyAgICBjaGFuZ2Ugb24gYW5vdGhlciBsaW5lIG9mIGhpc3Rvcnkgd2hpbGUgcmVuYW1lIGhhcHBlbnMKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIGEvYS5jCisrKysgYi9hLmMKK0BAIC00LDE0ICs0LDE0IEBACisgbG9uZyBmKGxvbmcgeCkKKyB7CisgCWludCBzID0gMDsKKyAJd2hpbGUgKHgpIHsKKyAJCXggPj49IDE7CisgCQlzKys7CisgCX0KKyAJcmV0dXJuIHM7CisgfQorIAorIC8qCistICogVGhpcyBpcyBvbmx5IGFuIGV4YW1wbGUhCisrICogVGhpcyBpcyBvbmx5IGEgc2hvcnQgZXhhbXBsZSEKKyAgKi8KKyAKKworY29tbWl0IDVhMWIzOTg5MDYzZDU1ZTcxZTc2ODVlZmEzMzkyZjEzMzM4NWI0MDM0YmRkZGU1MzBkY2I1MDkwZDhiOGI4Y2EKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0NTo0MSAyMDEzICswMTAwCisKKyAgICB0b3VjaCBjb21tZW50CisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSBhL2EuYworKysrIGIvYS5jCitAQCAtMywxNCArMywxNCBAQAorIGxvbmcgZihsb25nIHgpCisgeworIAlpbnQgcyA9IDA7CisgCXdoaWxlICh4KSB7CisgCQl4ID4+PSAxOworIAkJcysrOworIAl9CisgCXJldHVybiBzOworIH0KKyAKKyAvKgorLSAqIEEgY29tbWVudC4KKysgKiBUaGlzIGlzIG9ubHkgYW4gZXhhbXBsZSEKKyAgKi8KKyAKKworY29tbWl0IGNjZjk3Yjk4NzgxODljNDBhOTgxZGE1MGIxNTcxM2JiODBhMzU3NTUzMjYzMjBlYzgwOTAwY2FmMjJjZWQ0NmYKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0NToxNiAyMDEzICswMTAwCisKKyAgICB0b3VjaCBib3RoIGZ1bmN0aW9ucworCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gYS9hLmMKKysrKyBiL2EuYworQEAgLTMsMTQgKzMsMTQgQEAKKy1pbnQgZihpbnQgeCkKKytsb25nIGYobG9uZyB4KQorIHsKKyAJaW50IHMgPSAwOworIAl3aGlsZSAoeCkgeworIAkJeCA+Pj0gMTsKKyAJCXMrKzsKKyAJfQorIAlyZXR1cm4gczsKKyB9CisgCisgLyoKKyAgKiBBIGNvbW1lbnQuCisgICovCisgCisKK2NvbW1pdCBmNjQzNGFjZDM0MjYwYTZjOWY2MWU5NmQ5NmJmOWEzMjNkMzMwNTYxZGY1YjFjYTI2MzExMDRmODIwMjZkZmVkCitBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBzdHVkZW50LmV0aHouY2g+CitEYXRlOiAgIFRodSBGZWIgMjggMTA6NDQ6NTUgMjAxMyArMDEwMAorCisgICAgY2hhbmdlIGYoKQorCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gYS9hLmMKKysrKyBiL2EuYworQEAgLTMsMTMgKzMsMTQgQEAKKyBpbnQgZihpbnQgeCkKKyB7CisgCWludCBzID0gMDsKKyAJd2hpbGUgKHgpIHsKKyAJCXggPj49IDE7CisgCQlzKys7CisgCX0KKysJcmV0dXJuIHM7CisgfQorIAorIC8qCisgICogQSBjb21tZW50LgorICAqLworIAorCitjb21taXQgMWRkN2U5YjJiMTY5OTMyNGI1M2IzNDFlNzI4NjUzYjkxM2JjMTkyYTE0ZGZlYTE2OGM1YjUxZjJiM2QwMzU5MgorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ0OjQ4IDIwMTMgKzAxMDAKKworICAgIGluaXRpYWwKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIC9kZXYvbnVsbAorKysrIGIvYS5jCitAQCAtMCwwICszLDEzIEBACisraW50IGYoaW50IHgpCisreworKwlpbnQgcyA9IDA7CisrCXdoaWxlICh4KSB7CisrCQl4ID4+PSAxOworKwkJcysrOworKwl9CisrfQorKworKy8qCisrICogQSBjb21tZW50LgorKyAqLworKwpkaWZmIC0tZ2l0IGEvdC90NDIxMS9zaGEyNTYvZXhwZWN0LnNpbXBsZS1mIGIvdC90NDIxMS9zaGEyNTYvZXhwZWN0LnNpbXBsZS1mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1NTA4ZDcKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MjExL3NoYTI1Ni9leHBlY3Quc2ltcGxlLWYKQEAgLTAsMCArMSw1OSBAQAorY29tbWl0IGNjZjk3Yjk4NzgxODljNDBhOTgxZGE1MGIxNTcxM2JiODBhMzU3NTUzMjYzMjBlYzgwOTAwY2FmMjJjZWQ0NmYKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0NToxNiAyMDEzICswMTAwCisKKyAgICB0b3VjaCBib3RoIGZ1bmN0aW9ucworCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gYS9hLmMKKysrKyBiL2EuYworQEAgLTMsOSArMyw5IEBACistaW50IGYoaW50IHgpCisrbG9uZyBmKGxvbmcgeCkKKyB7CisgCWludCBzID0gMDsKKyAJd2hpbGUgKHgpIHsKKyAJCXggPj49IDE7CisgCQlzKys7CisgCX0KKyAJcmV0dXJuIHM7CisgfQorCitjb21taXQgZjY0MzRhY2QzNDI2MGE2YzlmNjFlOTZkOTZiZjlhMzIzZDMzMDU2MWRmNWIxY2EyNjMxMTA0ZjgyMDI2ZGZlZAorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ0OjU1IDIwMTMgKzAxMDAKKworICAgIGNoYW5nZSBmKCkKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIGEvYS5jCisrKysgYi9hLmMKK0BAIC0zLDggKzMsOSBAQAorIGludCBmKGludCB4KQorIHsKKyAJaW50IHMgPSAwOworIAl3aGlsZSAoeCkgeworIAkJeCA+Pj0gMTsKKyAJCXMrKzsKKyAJfQorKwlyZXR1cm4gczsKKyB9CisKK2NvbW1pdCAxZGQ3ZTliMmIxNjk5MzI0YjUzYjM0MWU3Mjg2NTNiOTEzYmMxOTJhMTRkZmVhMTY4YzViNTFmMmIzZDAzNTkyCitBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBzdHVkZW50LmV0aHouY2g+CitEYXRlOiAgIFRodSBGZWIgMjggMTA6NDQ6NDggMjAxMyArMDEwMAorCisgICAgaW5pdGlhbAorCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gL2Rldi9udWxsCisrKysgYi9hLmMKK0BAIC0wLDAgKzMsOCBAQAorK2ludCBmKGludCB4KQorK3sKKysJaW50IHMgPSAwOworKwl3aGlsZSAoeCkgeworKwkJeCA+Pj0gMTsKKysJCXMrKzsKKysJfQorK30KZGlmZiAtLWdpdCBhL3QvdDQyMTEvc2hhMjU2L2V4cGVjdC5zaW1wbGUtZi10by1tYWluIGIvdC90NDIxMS9zaGEyNTYvZXhwZWN0LnNpbXBsZS1mLXRvLW1haW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdiNzIxYwotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQyMTEvc2hhMjU2L2V4cGVjdC5zaW1wbGUtZi10by1tYWluCkBAIC0wLDAgKzEsMTAwIEBACitjb21taXQgNWExYjM5ODkwNjNkNTVlNzFlNzY4NWVmYTMzOTJmMTMzMzg1YjQwMzRiZGRkZTUzMGRjYjUwOTBkOGI4YjhjYQorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ1OjQxIDIwMTMgKzAxMDAKKworICAgIHRvdWNoIGNvbW1lbnQKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIGEvYS5jCisrKysgYi9hLmMKK0BAIC0zLDE0ICszLDE0IEBACisgbG9uZyBmKGxvbmcgeCkKKyB7CisgCWludCBzID0gMDsKKyAJd2hpbGUgKHgpIHsKKyAJCXggPj49IDE7CisgCQlzKys7CisgCX0KKyAJcmV0dXJuIHM7CisgfQorIAorIC8qCistICogQSBjb21tZW50LgorKyAqIFRoaXMgaXMgb25seSBhbiBleGFtcGxlIQorICAqLworIAorCitjb21taXQgY2NmOTdiOTg3ODE4OWM0MGE5ODFkYTUwYjE1NzEzYmI4MGEzNTc1NTMyNjMyMGVjODA5MDBjYWYyMmNlZDQ2ZgorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ1OjE2IDIwMTMgKzAxMDAKKworICAgIHRvdWNoIGJvdGggZnVuY3Rpb25zCisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSBhL2EuYworKysrIGIvYS5jCitAQCAtMywxNCArMywxNCBAQAorLWludCBmKGludCB4KQorK2xvbmcgZihsb25nIHgpCisgeworIAlpbnQgcyA9IDA7CisgCXdoaWxlICh4KSB7CisgCQl4ID4+PSAxOworIAkJcysrOworIAl9CisgCXJldHVybiBzOworIH0KKyAKKyAvKgorICAqIEEgY29tbWVudC4KKyAgKi8KKyAKKworY29tbWl0IGY2NDM0YWNkMzQyNjBhNmM5ZjYxZTk2ZDk2YmY5YTMyM2QzMzA1NjFkZjViMWNhMjYzMTEwNGY4MjAyNmRmZWQKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0NDo1NSAyMDEzICswMTAwCisKKyAgICBjaGFuZ2UgZigpCisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSBhL2EuYworKysrIGIvYS5jCitAQCAtMywxMyArMywxNCBAQAorIGludCBmKGludCB4KQorIHsKKyAJaW50IHMgPSAwOworIAl3aGlsZSAoeCkgeworIAkJeCA+Pj0gMTsKKyAJCXMrKzsKKyAJfQorKwlyZXR1cm4gczsKKyB9CisgCisgLyoKKyAgKiBBIGNvbW1lbnQuCisgICovCisgCisKK2NvbW1pdCAxZGQ3ZTliMmIxNjk5MzI0YjUzYjM0MWU3Mjg2NTNiOTEzYmMxOTJhMTRkZmVhMTY4YzViNTFmMmIzZDAzNTkyCitBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBzdHVkZW50LmV0aHouY2g+CitEYXRlOiAgIFRodSBGZWIgMjggMTA6NDQ6NDggMjAxMyArMDEwMAorCisgICAgaW5pdGlhbAorCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gL2Rldi9udWxsCisrKysgYi9hLmMKK0BAIC0wLDAgKzMsMTMgQEAKKytpbnQgZihpbnQgeCkKKyt7CisrCWludCBzID0gMDsKKysJd2hpbGUgKHgpIHsKKysJCXggPj49IDE7CisrCQlzKys7CisrCX0KKyt9CisrCisrLyoKKysgKiBBIGNvbW1lbnQuCisrICovCisrCmRpZmYgLS1naXQgYS90L3Q0MjExL3NoYTI1Ni9leHBlY3Quc2ltcGxlLW1haW4gYi90L3Q0MjExL3NoYTI1Ni9leHBlY3Quc2ltcGxlLW1haW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDIwNzA4YwotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQyMTEvc2hhMjU2L2V4cGVjdC5zaW1wbGUtbWFpbgpAQCAtMCwwICsxLDY4IEBACitjb21taXQgNTUyNmVkMDVjMjQ3NmI1NmFmOGI3YmU0OTllOGY3OGJkNTBmNDkwNzQwNzMzYTljYTdlMWY1NTg3OGZhOTBhOQorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ4OjQzIDIwMTMgKzAxMDAKKworICAgIGNoYW5nZSBiYWNrIHRvIGNvbXBsZXRlIGxpbmUKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIGEvYS5jCisrKysgYi9hLmMKK0BAIC0xOCw1ICsxOCw1IEBACisgaW50IG1haW4gKCkKKyB7CisgCXByaW50ZigiJWxkXG4iLCBmKDE1KSk7CisgCXJldHVybiAwOworLX0KK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorK30KKworY29tbWl0IDI5ZjMyYWMzMTQxYzQ4YjIyODAzZTVjNDEyN2I3MTk5MTdiNjdkMGY4Y2E4YzUyNDhiZWJmYTJhMTlmN2RhMTAKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0ODoxMCAyMDEzICswMTAwCisKKyAgICBjaGFuZ2UgdG8gYW4gaW5jb21wbGV0ZSBsaW5lIGF0IGVuZAorCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gYS9hLmMKKysrKyBiL2EuYworQEAgLTE4LDUgKzE4LDUgQEAKKyBpbnQgbWFpbiAoKQorIHsKKyAJcHJpbnRmKCIlbGRcbiIsIGYoMTUpKTsKKyAJcmV0dXJuIDA7CistfQorK30KK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorCitjb21taXQgY2NmOTdiOTg3ODE4OWM0MGE5ODFkYTUwYjE1NzEzYmI4MGEzNTc1NTMyNjMyMGVjODA5MDBjYWYyMmNlZDQ2ZgorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ1OjE2IDIwMTMgKzAxMDAKKworICAgIHRvdWNoIGJvdGggZnVuY3Rpb25zCisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSBhL2EuYworKysrIGIvYS5jCitAQCAtMTcsNSArMTcsNSBAQAorIGludCBtYWluICgpCisgeworLQlwcmludGYoIiVkXG4iLCBmKDE1KSk7CisrCXByaW50ZigiJWxkXG4iLCBmKDE1KSk7CisgCXJldHVybiAwOworIH0KKworY29tbWl0IDFkZDdlOWIyYjE2OTkzMjRiNTNiMzQxZTcyODY1M2I5MTNiYzE5MmExNGRmZWExNjhjNWI1MWYyYjNkMDM1OTIKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0NDo0OCAyMDEzICswMTAwCisKKyAgICBpbml0aWFsCisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSAvZGV2L251bGwKKysrKyBiL2EuYworQEAgLTAsMCArMTYsNSBAQAorK2ludCBtYWluICgpCisreworKwlwcmludGYoIiVkXG4iLCBmKDE1KSk7CisrCXJldHVybiAwOworK30KZGlmZiAtLWdpdCBhL3QvdDQyMTEvc2hhMjU2L2V4cGVjdC5zaW1wbGUtbWFpbi10by1lbmQgYi90L3Q0MjExL3NoYTI1Ni9leHBlY3Quc2ltcGxlLW1haW4tdG8tZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxN2NkZjMKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q0MjExL3NoYTI1Ni9leHBlY3Quc2ltcGxlLW1haW4tdG8tZW5kCkBAIC0wLDAgKzEsNzAgQEAKK2NvbW1pdCA1NTI2ZWQwNWMyNDc2YjU2YWY4YjdiZTQ5OWU4Zjc4YmQ1MGY0OTA3NDA3MzNhOWNhN2UxZjU1ODc4ZmE5MGE5CitBdXRob3I6IFRob21hcyBSYXN0IDx0cmFzdEBzdHVkZW50LmV0aHouY2g+CitEYXRlOiAgIFRodSBGZWIgMjggMTA6NDg6NDMgMjAxMyArMDEwMAorCisgICAgY2hhbmdlIGJhY2sgdG8gY29tcGxldGUgbGluZQorCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gYS9hLmMKKysrKyBiL2EuYworQEAgLTE4LDUgKzE4LDcgQEAKKyBpbnQgbWFpbiAoKQorIHsKKyAJcHJpbnRmKCIlbGRcbiIsIGYoMTUpKTsKKyAJcmV0dXJuIDA7CistfQorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisrfQorKworKy8qIGluY29tcGxldGUgbGluZXMgYXJlIGJhZCEgKi8KKworY29tbWl0IDI5ZjMyYWMzMTQxYzQ4YjIyODAzZTVjNDEyN2I3MTk5MTdiNjdkMGY4Y2E4YzUyNDhiZWJmYTJhMTlmN2RhMTAKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0ODoxMCAyMDEzICswMTAwCisKKyAgICBjaGFuZ2UgdG8gYW4gaW5jb21wbGV0ZSBsaW5lIGF0IGVuZAorCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gYS9hLmMKKysrKyBiL2EuYworQEAgLTE4LDUgKzE4LDUgQEAKKyBpbnQgbWFpbiAoKQorIHsKKyAJcHJpbnRmKCIlbGRcbiIsIGYoMTUpKTsKKyAJcmV0dXJuIDA7CistfQorK30KK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorCitjb21taXQgY2NmOTdiOTg3ODE4OWM0MGE5ODFkYTUwYjE1NzEzYmI4MGEzNTc1NTMyNjMyMGVjODA5MDBjYWYyMmNlZDQ2ZgorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ1OjE2IDIwMTMgKzAxMDAKKworICAgIHRvdWNoIGJvdGggZnVuY3Rpb25zCisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSBhL2EuYworKysrIGIvYS5jCitAQCAtMTcsNSArMTcsNSBAQAorIGludCBtYWluICgpCisgeworLQlwcmludGYoIiVkXG4iLCBmKDE1KSk7CisrCXByaW50ZigiJWxkXG4iLCBmKDE1KSk7CisgCXJldHVybiAwOworIH0KKworY29tbWl0IDFkZDdlOWIyYjE2OTkzMjRiNTNiMzQxZTcyODY1M2I5MTNiYzE5MmExNGRmZWExNjhjNWI1MWYyYjNkMDM1OTIKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0NDo0OCAyMDEzICswMTAwCisKKyAgICBpbml0aWFsCisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSAvZGV2L251bGwKKysrKyBiL2EuYworQEAgLTAsMCArMTYsNSBAQAorK2ludCBtYWluICgpCisreworKwlwcmludGYoIiVkXG4iLCBmKDE1KSk7CisrCXJldHVybiAwOworK30KZGlmZiAtLWdpdCBhL3QvdDQyMTEvc2hhMjU2L2V4cGVjdC50d28tcmFuZ2VzIGIvdC90NDIxMS9zaGEyNTYvZXhwZWN0LnR3by1yYW5nZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWY1N2M4YgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQyMTEvc2hhMjU2L2V4cGVjdC50d28tcmFuZ2VzCkBAIC0wLDAgKzEsMTAyIEBACitjb21taXQgNTUyNmVkMDVjMjQ3NmI1NmFmOGI3YmU0OTllOGY3OGJkNTBmNDkwNzQwNzMzYTljYTdlMWY1NTg3OGZhOTBhOQorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ4OjQzIDIwMTMgKzAxMDAKKworICAgIGNoYW5nZSBiYWNrIHRvIGNvbXBsZXRlIGxpbmUKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIGEvYS5jCisrKysgYi9hLmMKK0BAIC0xOCw1ICsxOCw1IEBACisgaW50IG1haW4gKCkKKyB7CisgCXByaW50ZigiJWxkXG4iLCBmKDE1KSk7CisgCXJldHVybiAwOworLX0KK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorK30KKworY29tbWl0IDI5ZjMyYWMzMTQxYzQ4YjIyODAzZTVjNDEyN2I3MTk5MTdiNjdkMGY4Y2E4YzUyNDhiZWJmYTJhMTlmN2RhMTAKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0ODoxMCAyMDEzICswMTAwCisKKyAgICBjaGFuZ2UgdG8gYW4gaW5jb21wbGV0ZSBsaW5lIGF0IGVuZAorCitkaWZmIC0tZ2l0IGEvYS5jIGIvYS5jCistLS0gYS9hLmMKKysrKyBiL2EuYworQEAgLTE4LDUgKzE4LDUgQEAKKyBpbnQgbWFpbiAoKQorIHsKKyAJcHJpbnRmKCIlbGRcbiIsIGYoMTUpKTsKKyAJcmV0dXJuIDA7CistfQorK30KK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorCitjb21taXQgY2NmOTdiOTg3ODE4OWM0MGE5ODFkYTUwYjE1NzEzYmI4MGEzNTc1NTMyNjMyMGVjODA5MDBjYWYyMmNlZDQ2ZgorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ1OjE2IDIwMTMgKzAxMDAKKworICAgIHRvdWNoIGJvdGggZnVuY3Rpb25zCisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSBhL2EuYworKysrIGIvYS5jCitAQCAtMyw5ICszLDkgQEAKKy1pbnQgZihpbnQgeCkKKytsb25nIGYobG9uZyB4KQorIHsKKyAJaW50IHMgPSAwOworIAl3aGlsZSAoeCkgeworIAkJeCA+Pj0gMTsKKyAJCXMrKzsKKyAJfQorIAlyZXR1cm4gczsKKyB9CitAQCAtMTcsNSArMTcsNSBAQAorIGludCBtYWluICgpCisgeworLQlwcmludGYoIiVkXG4iLCBmKDE1KSk7CisrCXByaW50ZigiJWxkXG4iLCBmKDE1KSk7CisgCXJldHVybiAwOworIH0KKworY29tbWl0IGY2NDM0YWNkMzQyNjBhNmM5ZjYxZTk2ZDk2YmY5YTMyM2QzMzA1NjFkZjViMWNhMjYzMTEwNGY4MjAyNmRmZWQKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0NDo1NSAyMDEzICswMTAwCisKKyAgICBjaGFuZ2UgZigpCisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSBhL2EuYworKysrIGIvYS5jCitAQCAtMyw4ICszLDkgQEAKKyBpbnQgZihpbnQgeCkKKyB7CisgCWludCBzID0gMDsKKyAJd2hpbGUgKHgpIHsKKyAJCXggPj49IDE7CisgCQlzKys7CisgCX0KKysJcmV0dXJuIHM7CisgfQorCitjb21taXQgMWRkN2U5YjJiMTY5OTMyNGI1M2IzNDFlNzI4NjUzYjkxM2JjMTkyYTE0ZGZlYTE2OGM1YjUxZjJiM2QwMzU5MgorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ0OjQ4IDIwMTMgKzAxMDAKKworICAgIGluaXRpYWwKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIC9kZXYvbnVsbAorKysrIGIvYS5jCitAQCAtMCwwICszLDggQEAKKytpbnQgZihpbnQgeCkKKyt7CisrCWludCBzID0gMDsKKysJd2hpbGUgKHgpIHsKKysJCXggPj49IDE7CisrCQlzKys7CisrCX0KKyt9CmRpZmYgLS1naXQgYS90L3Q0MjExL3NoYTI1Ni9leHBlY3QudmFuaXNoZXMtZWFybHkgYi90L3Q0MjExL3NoYTI1Ni9leHBlY3QudmFuaXNoZXMtZWFybHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTFlYzliZAotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQyMTEvc2hhMjU2L2V4cGVjdC52YW5pc2hlcy1lYXJseQpAQCAtMCwwICsxLDM5IEBACitjb21taXQgNTUyNmVkMDVjMjQ3NmI1NmFmOGI3YmU0OTllOGY3OGJkNTBmNDkwNzQwNzMzYTljYTdlMWY1NTg3OGZhOTBhOQorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ4OjQzIDIwMTMgKzAxMDAKKworICAgIGNoYW5nZSBiYWNrIHRvIGNvbXBsZXRlIGxpbmUKKworZGlmZiAtLWdpdCBhL2EuYyBiL2EuYworLS0tIGEvYS5jCisrKysgYi9hLmMKK0BAIC0yMiwxICsyNCwxIEBACistfQorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisrLyogaW5jb21wbGV0ZSBsaW5lcyBhcmUgYmFkISAqLworCitjb21taXQgMjlmMzJhYzMxNDFjNDhiMjI4MDNlNWM0MTI3YjcxOTkxN2I2N2QwZjhjYThjNTI0OGJlYmZhMmExOWY3ZGExMAorQXV0aG9yOiBUaG9tYXMgUmFzdCA8dHJhc3RAc3R1ZGVudC5ldGh6LmNoPgorRGF0ZTogICBUaHUgRmViIDI4IDEwOjQ4OjEwIDIwMTMgKzAxMDAKKworICAgIGNoYW5nZSB0byBhbiBpbmNvbXBsZXRlIGxpbmUgYXQgZW5kCisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSBhL2EuYworKysrIGIvYS5jCitAQCAtMjIsMSArMjIsMSBAQAorLX0KKyt9CitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKworY29tbWl0IDFkZDdlOWIyYjE2OTkzMjRiNTNiMzQxZTcyODY1M2I5MTNiYzE5MmExNGRmZWExNjhjNWI1MWYyYjNkMDM1OTIKK0F1dGhvcjogVGhvbWFzIFJhc3QgPHRyYXN0QHN0dWRlbnQuZXRoei5jaD4KK0RhdGU6ICAgVGh1IEZlYiAyOCAxMDo0NDo0OCAyMDEzICswMTAwCisKKyAgICBpbml0aWFsCisKK2RpZmYgLS1naXQgYS9hLmMgYi9hLmMKKy0tLSAvZGV2L251bGwKKysrKyBiL2EuYworQEAgLTAsMCArMjAsMSBAQAorK30KZGlmZiAtLWdpdCBhL3QvdDQyMTMtbG9nLXRhYmV4cGFuZC5zaCBiL3QvdDQyMTMtbG9nLXRhYmV4cGFuZC5zaAppbmRleCA3ZjkwZjU4Li41M2E0YWYzIDEwMDc1NQotLS0gYS90L3Q0MjEzLWxvZy10YWJleHBhbmQuc2gKKysrIGIvdC90NDIxMy1sb2ctdGFiZXhwYW5kLnNoCkBAIC0zNiw3ICszNiw3IEBACiAJZXNhYwogCiAJIyBQcmVmaXggdGhlIG91dHB1dCB3aXRoIHRoZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzLCBhbmQKLQkjIHJlcGxhY2UgU1Agd2l0aCBhIGRvdCBib3RoIGluIHRoZSBleHBlY3RlIGFuZCBhY3R1YWwgb3V0cHV0CisJIyByZXBsYWNlIFNQIHdpdGggYSBkb3QgYm90aCBpbiB0aGUgZXhwZWN0ZWQgYW5kIGFjdHVhbCBvdXRwdXQKIAkjIHNvIHRoYXQgdGVzdF9jbXAgd291bGQgc2hvdyB0aGUgZGlmZmVyZW5jZSB0b2dldGhlciB3aXRoIHRoZQogCSMgYnJlYWthZ2UgaW4gYSB3YXkgZWFzaWVyIHRvIGNvbnN1bWUgYnkgdGhlIGRlYnVnZ2luZyB1c2VyLgogCXsKZGlmZiAtLWdpdCBhL3QvdDQyMTQtbG9nLWdyYXBoLW9jdG9wdXMuc2ggYi90L3Q0MjE0LWxvZy1ncmFwaC1vY3RvcHVzLnNoCmluZGV4IGRhYjk2YzguLmEwODAzMjUgMTAwNzU1Ci0tLSBhL3QvdDQyMTQtbG9nLWdyYXBoLW9jdG9wdXMuc2gKKysrIGIvdC90NDIxNC1sb2ctZ3JhcGgtb2N0b3B1cy5zaApAQCAtMywzNiArMywxOCBAQAogdGVzdF9kZXNjcmlwdGlvbj0nZ2l0IGxvZyAtLWdyYXBoIG9mIHNrZXdlZCBsZWZ0IG9jdG9wdXMgbWVyZ2UuJwogCiAuIC4vdGVzdC1saWIuc2gKKy4gIiRURVNUX0RJUkVDVE9SWSIvbGliLWxvZy1ncmFwaC5zaAorCit0ZXN0X2NtcF9ncmFwaCAoKSB7CisJY2F0ID5leHBlY3QgJiYKKwlsaWJfdGVzdF9jbXBfZ3JhcGggLS1jb2xvcj1uZXZlciAtLWRhdGUtb3JkZXIgLS1mb3JtYXQ9JXMgIiRAIgorfQorCit0ZXN0X2NtcF9jb2xvcmVkX2dyYXBoICgpIHsKKwlsaWJfdGVzdF9jbXBfY29sb3JlZF9ncmFwaCAtLWRhdGUtb3JkZXIgLS1mb3JtYXQ9JXMgIiRAIgorfQogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQgdXAgbWVyZ2UgaGlzdG9yeScgJwotCWNhdCA+ZXhwZWN0LnVuY29sb3JlZCA8PC1cRU9GICYmCi0JKiBsZWZ0Ci0JfCAqLS0tLiAgIG9jdG9wdXMtbWVyZ2UKLQl8IHxcIFwgXAotCXwvIC8gLyAvCi0JfCB8IHwgKiA0Ci0JfCB8ICogfCAzCi0JfCB8IHwvCi0JfCAqIHwgMgotCXwgfC8KLQkqIHwgMQotCXwvCi0JKiBpbml0aWFsCi0JRU9GCi0JY2F0ID5leHBlY3QuY29sb3JzIDw8LVxFT0YgJiYKLQkqIGxlZnQKLQk8UkVEPnw8UkVTRVQ+ICo8QkxVRT4tPFJFU0VUPjxCTFVFPi08UkVTRVQ+PE1BR0VOVEE+LTxSRVNFVD48TUFHRU5UQT4uPFJFU0VUPiAgIG9jdG9wdXMtbWVyZ2UKLQk8UkVEPnw8UkVTRVQ+IDxSRUQ+fDxSRVNFVD48WUVMTE9XPlw8UkVTRVQ+IDxCTFVFPlw8UkVTRVQ+IDxNQUdFTlRBPlw8UkVTRVQ+Ci0JPFJFRD58PFJFU0VUPjxSRUQ+LzxSRVNFVD4gPFlFTExPVz4vPFJFU0VUPiA8QkxVRT4vPFJFU0VUPiA8TUFHRU5UQT4vPFJFU0VUPgotCTxSRUQ+fDxSRVNFVD4gPFlFTExPVz58PFJFU0VUPiA8QkxVRT58PFJFU0VUPiAqIDQKLQk8UkVEPnw8UkVTRVQ+IDxZRUxMT1c+fDxSRVNFVD4gKiA8TUFHRU5UQT58PFJFU0VUPiAzCi0JPFJFRD58PFJFU0VUPiA8WUVMTE9XPnw8UkVTRVQ+IDxNQUdFTlRBPnw8UkVTRVQ+PE1BR0VOVEE+LzxSRVNFVD4KLQk8UkVEPnw8UkVTRVQ+ICogPE1BR0VOVEE+fDxSRVNFVD4gMgotCTxSRUQ+fDxSRVNFVD4gPE1BR0VOVEE+fDxSRVNFVD48TUFHRU5UQT4vPFJFU0VUPgotCSogPE1BR0VOVEE+fDxSRVNFVD4gMQotCTxNQUdFTlRBPnw8UkVTRVQ+PE1BR0VOVEE+LzxSRVNFVD4KLQkqIGluaXRpYWwKLQlFT0YKIAl0ZXN0X2NvbW1pdCBpbml0aWFsICYmCiAJZm9yIGkgaW4gMSAyIDMgNCA7IGRvCiAJCWdpdCBjaGVja291dCBtYXN0ZXIgLWIgJGkgfHwgcmV0dXJuICQ/CkBAIC00MSw0NCArMjMsNjYgQEAKIAkJdGVzdF9jb21taXQgJGkgJGkgJGkgdGFnJGkgfHwgcmV0dXJuICQ/CiAJZG9uZSAmJgogCWdpdCBjaGVja291dCAxIC1iIG1lcmdlICYmCi0JdGVzdF90aWNrICYmCi0JZ2l0IG1lcmdlIC1tIG9jdG9wdXMtbWVyZ2UgMSAyIDMgNCAmJgorCXRlc3RfbWVyZ2Ugb2N0b3B1cy1tZXJnZSAxIDIgMyA0ICYmCisJdGVzdF9jb21taXQgYWZ0ZXItbWVyZ2UgJiYKIAlnaXQgY2hlY2tvdXQgMSAtYiBMICYmCi0JdGVzdF9jb21taXQgbGVmdAorCXRlc3RfY29tbWl0IGxlZnQgJiYKKwlnaXQgY2hlY2tvdXQgNCAtYiBjcm9zc292ZXIgJiYKKwl0ZXN0X2NvbW1pdCBhZnRlci00ICYmCisJZ2l0IGNoZWNrb3V0IGluaXRpYWwgLWIgbW9yZS1MICYmCisJdGVzdF9jb21taXQgYWZ0ZXItaW5pdGlhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1ncmFwaCB3aXRoIHRyaWNreSBvY3RvcHVzIG1lcmdlLCBubyBjb2xvcicgJworCXRlc3RfY21wX2dyYXBoIGxlZnQgb2N0b3B1cy1tZXJnZSA8PC1cRU9GCisJKiBsZWZ0CisJfCAqLS4gICBvY3RvcHVzLW1lcmdlCisJfC98XCBcCisJfCB8IHwgKiA0CisJfCB8ICogfCAzCisJfCB8IHwvCisJfCAqIC8gMgorCXwgfC8KKwkqIC8gMQorCXwvCisJKiBpbml0aWFsCisJRU9GCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyYXBoIHdpdGggdHJpY2t5IG9jdG9wdXMgbWVyZ2Ugd2l0aCBjb2xvcnMnICcKIAl0ZXN0X2NvbmZpZyBsb2cuZ3JhcGhDb2xvcnMgcmVkLGdyZWVuLHllbGxvdyxibHVlLG1hZ2VudGEsY3lhbiAmJgotCWdpdCBsb2cgLS1jb2xvcj1hbHdheXMgLS1ncmFwaCAtLWRhdGUtb3JkZXIgLS1wcmV0dHk9dGZvcm1hdDolcyAtLWFsbCA+YWN0dWFsLmNvbG9ycy5yYXcgJiYKLQl0ZXN0X2RlY29kZV9jb2xvciA8YWN0dWFsLmNvbG9ycy5yYXcgfCBzZWQgInMvICpcJC8vIiA+YWN0dWFsLmNvbG9ycyAmJgotCXRlc3RfY21wIGV4cGVjdC5jb2xvcnMgYWN0dWFsLmNvbG9ycwotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1ncmFwaCB3aXRoIHRyaWNreSBvY3RvcHVzIG1lcmdlLCBubyBjb2xvcicgJwotCWdpdCBsb2cgLS1jb2xvcj1uZXZlciAtLWdyYXBoIC0tZGF0ZS1vcmRlciAtLXByZXR0eT10Zm9ybWF0OiVzIC0tYWxsID5hY3R1YWwucmF3ICYmCi0Jc2VkICJzLyAqXCQvLyIgYWN0dWFsLnJhdyA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0LnVuY29sb3JlZCBhY3R1YWwKKwljYXQgPmV4cGVjdC5jb2xvcnMgPDwtXEVPRiAmJgorCSogbGVmdAorCTxSRUQ+fDxSRVNFVD4gKjxNQUdFTlRBPi08UkVTRVQ+PE1BR0VOVEE+LjxSRVNFVD4gICBvY3RvcHVzLW1lcmdlCisJPFJFRD58PFJFU0VUPjxSRUQ+LzxSRVNFVD48WUVMTE9XPnw8UkVTRVQ+PEJMVUU+XDxSRVNFVD4gPE1BR0VOVEE+XDxSRVNFVD4KKwk8UkVEPnw8UkVTRVQ+IDxZRUxMT1c+fDxSRVNFVD4gPEJMVUU+fDxSRVNFVD4gKiA0CisJPFJFRD58PFJFU0VUPiA8WUVMTE9XPnw8UkVTRVQ+ICogPE1BR0VOVEE+fDxSRVNFVD4gMworCTxSRUQ+fDxSRVNFVD4gPFlFTExPVz58PFJFU0VUPiA8TUFHRU5UQT58PFJFU0VUPjxNQUdFTlRBPi88UkVTRVQ+CisJPFJFRD58PFJFU0VUPiAqIDxNQUdFTlRBPi88UkVTRVQ+IDIKKwk8UkVEPnw8UkVTRVQ+IDxNQUdFTlRBPnw8UkVTRVQ+PE1BR0VOVEE+LzxSRVNFVD4KKwkqIDxNQUdFTlRBPi88UkVTRVQ+IDEKKwk8TUFHRU5UQT58PFJFU0VUPjxNQUdFTlRBPi88UkVTRVQ+CisJKiBpbml0aWFsCisJRU9GCisJdGVzdF9jbXBfY29sb3JlZF9ncmFwaCBsZWZ0IG9jdG9wdXMtbWVyZ2UKICcKIAogIyBSZXBlYXQgdGhlIHByZXZpb3VzIHR3byB0ZXN0cyB3aXRoICJub3JtYWwiIG9jdG9wdXMgbWVyZ2UgKGkuZS4sCiAjIHdpdGhvdXQgdGhlIGZpcnN0IHBhcmVudCBza2V3aW5nIHRvIHRoZSAibGVmdCIgYnJhbmNoIGNvbHVtbikuCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyYXBoIHdpdGggbm9ybWFsIG9jdG9wdXMgbWVyZ2UsIG5vIGNvbG9yJyAnCi0JY2F0ID5leHBlY3QudW5jb2xvcmVkIDw8LVxFT0YgJiYKKwl0ZXN0X2NtcF9ncmFwaCBvY3RvcHVzLW1lcmdlIDw8LVxFT0YKIAkqLS0tLiAgIG9jdG9wdXMtbWVyZ2UKIAl8XCBcIFwKIAl8IHwgfCAqIDQKIAl8IHwgKiB8IDMKIAl8IHwgfC8KLQl8ICogfCAyCisJfCAqIC8gMgogCXwgfC8KLQkqIHwgMQorCSogLyAxCiAJfC8KIAkqIGluaXRpYWwKIAlFT0YKLQlnaXQgbG9nIC0tY29sb3I9bmV2ZXIgLS1ncmFwaCAtLWRhdGUtb3JkZXIgLS1wcmV0dHk9dGZvcm1hdDolcyBtZXJnZSA+YWN0dWFsLnJhdyAmJgotCXNlZCAicy8gKlwkLy8iIGFjdHVhbC5yYXcgPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdC51bmNvbG9yZWQgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyYXBoIHdpdGggbm9ybWFsIG9jdG9wdXMgbWVyZ2Ugd2l0aCBjb2xvcnMnICcKQEAgLTg4LDE1ICs5MiwyNTYgQEAKIAk8UkVEPnw8UkVTRVQ+IDxHUkVFTj58PFJFU0VUPiA8WUVMTE9XPnw8UkVTRVQ+ICogNAogCTxSRUQ+fDxSRVNFVD4gPEdSRUVOPnw8UkVTRVQ+ICogPEJMVUU+fDxSRVNFVD4gMwogCTxSRUQ+fDxSRVNFVD4gPEdSRUVOPnw8UkVTRVQ+IDxCTFVFPnw8UkVTRVQ+PEJMVUU+LzxSRVNFVD4KLQk8UkVEPnw8UkVTRVQ+ICogPEJMVUU+fDxSRVNFVD4gMgorCTxSRUQ+fDxSRVNFVD4gKiA8QkxVRT4vPFJFU0VUPiAyCiAJPFJFRD58PFJFU0VUPiA8QkxVRT58PFJFU0VUPjxCTFVFPi88UkVTRVQ+Ci0JKiA8QkxVRT58PFJFU0VUPiAxCisJKiA8QkxVRT4vPFJFU0VUPiAxCiAJPEJMVUU+fDxSRVNFVD48QkxVRT4vPFJFU0VUPgogCSogaW5pdGlhbAogCUVPRgogCXRlc3RfY29uZmlnIGxvZy5ncmFwaENvbG9ycyByZWQsZ3JlZW4seWVsbG93LGJsdWUsbWFnZW50YSxjeWFuICYmCi0JZ2l0IGxvZyAtLWNvbG9yPWFsd2F5cyAtLWdyYXBoIC0tZGF0ZS1vcmRlciAtLXByZXR0eT10Zm9ybWF0OiVzIG1lcmdlID5hY3R1YWwuY29sb3JzLnJhdyAmJgotCXRlc3RfZGVjb2RlX2NvbG9yIDxhY3R1YWwuY29sb3JzLnJhdyB8IHNlZCAicy8gKlwkLy8iID5hY3R1YWwuY29sb3JzICYmCi0JdGVzdF9jbXAgZXhwZWN0LmNvbG9ycyBhY3R1YWwuY29sb3JzCisJdGVzdF9jbXBfY29sb3JlZF9ncmFwaCBvY3RvcHVzLW1lcmdlCiAnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyYXBoIHdpdGggbm9ybWFsIG9jdG9wdXMgbWVyZ2UgYW5kIGNoaWxkLCBubyBjb2xvcicgJworCXRlc3RfY21wX2dyYXBoIGFmdGVyLW1lcmdlIDw8LVxFT0YKKwkqIGFmdGVyLW1lcmdlCisJKi0tLS4gICBvY3RvcHVzLW1lcmdlCisJfFwgXCBcCisJfCB8IHwgKiA0CisJfCB8ICogfCAzCisJfCB8IHwvCisJfCAqIC8gMgorCXwgfC8KKwkqIC8gMQorCXwvCisJKiBpbml0aWFsCisJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyYXBoIHdpdGggbm9ybWFsIG9jdG9wdXMgYW5kIGNoaWxkIG1lcmdlIHdpdGggY29sb3JzJyAnCisJY2F0ID5leHBlY3QuY29sb3JzIDw8LVxFT0YgJiYKKwkqIGFmdGVyLW1lcmdlCisJKjxCTFVFPi08UkVTRVQ+PEJMVUU+LTxSRVNFVD48TUFHRU5UQT4tPFJFU0VUPjxNQUdFTlRBPi48UkVTRVQ+ICAgb2N0b3B1cy1tZXJnZQorCTxHUkVFTj58PFJFU0VUPjxZRUxMT1c+XDxSRVNFVD4gPEJMVUU+XDxSRVNFVD4gPE1BR0VOVEE+XDxSRVNFVD4KKwk8R1JFRU4+fDxSRVNFVD4gPFlFTExPVz58PFJFU0VUPiA8QkxVRT58PFJFU0VUPiAqIDQKKwk8R1JFRU4+fDxSRVNFVD4gPFlFTExPVz58PFJFU0VUPiAqIDxNQUdFTlRBPnw8UkVTRVQ+IDMKKwk8R1JFRU4+fDxSRVNFVD4gPFlFTExPVz58PFJFU0VUPiA8TUFHRU5UQT58PFJFU0VUPjxNQUdFTlRBPi88UkVTRVQ+CisJPEdSRUVOPnw8UkVTRVQ+ICogPE1BR0VOVEE+LzxSRVNFVD4gMgorCTxHUkVFTj58PFJFU0VUPiA8TUFHRU5UQT58PFJFU0VUPjxNQUdFTlRBPi88UkVTRVQ+CisJKiA8TUFHRU5UQT4vPFJFU0VUPiAxCisJPE1BR0VOVEE+fDxSRVNFVD48TUFHRU5UQT4vPFJFU0VUPgorCSogaW5pdGlhbAorCUVPRgorCXRlc3RfY29uZmlnIGxvZy5ncmFwaENvbG9ycyByZWQsZ3JlZW4seWVsbG93LGJsdWUsbWFnZW50YSxjeWFuICYmCisJdGVzdF9jbXBfY29sb3JlZF9ncmFwaCBhZnRlci1tZXJnZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1ncmFwaCB3aXRoIHRyaWNreSBvY3RvcHVzIG1lcmdlIGFuZCBpdHMgY2hpbGQsIG5vIGNvbG9yJyAnCisJdGVzdF9jbXBfZ3JhcGggbGVmdCBhZnRlci1tZXJnZSA8PC1cRU9GCisJKiBsZWZ0CisJfCAqIGFmdGVyLW1lcmdlCisJfCAqLS4gICBvY3RvcHVzLW1lcmdlCisJfC98XCBcCisJfCB8IHwgKiA0CisJfCB8ICogfCAzCisJfCB8IHwvCisJfCAqIC8gMgorCXwgfC8KKwkqIC8gMQorCXwvCisJKiBpbml0aWFsCisJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyYXBoIHdpdGggdHJpY2t5IG9jdG9wdXMgbWVyZ2UgYW5kIGl0cyBjaGlsZCB3aXRoIGNvbG9ycycgJworCXRlc3RfY29uZmlnIGxvZy5ncmFwaENvbG9ycyByZWQsZ3JlZW4seWVsbG93LGJsdWUsbWFnZW50YSxjeWFuICYmCisJY2F0ID5leHBlY3QuY29sb3JzIDw8LVxFT0YgJiYKKwkqIGxlZnQKKwk8UkVEPnw8UkVTRVQ+ICogYWZ0ZXItbWVyZ2UKKwk8UkVEPnw8UkVTRVQ+ICo8Q1lBTj4tPFJFU0VUPjxDWUFOPi48UkVTRVQ+ICAgb2N0b3B1cy1tZXJnZQorCTxSRUQ+fDxSRVNFVD48UkVEPi88UkVTRVQ+PEJMVUU+fDxSRVNFVD48TUFHRU5UQT5cPFJFU0VUPiA8Q1lBTj5cPFJFU0VUPgorCTxSRUQ+fDxSRVNFVD4gPEJMVUU+fDxSRVNFVD4gPE1BR0VOVEE+fDxSRVNFVD4gKiA0CisJPFJFRD58PFJFU0VUPiA8QkxVRT58PFJFU0VUPiAqIDxDWUFOPnw8UkVTRVQ+IDMKKwk8UkVEPnw8UkVTRVQ+IDxCTFVFPnw8UkVTRVQ+IDxDWUFOPnw8UkVTRVQ+PENZQU4+LzxSRVNFVD4KKwk8UkVEPnw8UkVTRVQ+ICogPENZQU4+LzxSRVNFVD4gMgorCTxSRUQ+fDxSRVNFVD4gPENZQU4+fDxSRVNFVD48Q1lBTj4vPFJFU0VUPgorCSogPENZQU4+LzxSRVNFVD4gMQorCTxDWUFOPnw8UkVTRVQ+PENZQU4+LzxSRVNFVD4KKwkqIGluaXRpYWwKKwlFT0YKKwl0ZXN0X2NtcF9jb2xvcmVkX2dyYXBoIGxlZnQgYWZ0ZXItbWVyZ2UKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tZ3JhcGggd2l0aCBjcm9zc292ZXIgaW4gb2N0b3B1cyBtZXJnZSwgbm8gY29sb3InICcKKwl0ZXN0X2NtcF9ncmFwaCBhZnRlci00IG9jdG9wdXMtbWVyZ2UgPDwtXEVPRgorCSogYWZ0ZXItNAorCXwgKi0tLS4gICBvY3RvcHVzLW1lcmdlCisJfCB8XCBcIFwKKwl8IHxffF98LworCXwvfCB8IHwKKwkqIHwgfCB8IDQKKwl8IHwgfCAqIDMKKwl8IHxffC8KKwl8L3wgfAorCXwgfCAqIDIKKwl8IHwvCisJfC98CisJfCAqIDEKKwl8LworCSogaW5pdGlhbAorCUVPRgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1ncmFwaCB3aXRoIGNyb3Nzb3ZlciBpbiBvY3RvcHVzIG1lcmdlIHdpdGggY29sb3JzJyAnCisJdGVzdF9jb25maWcgbG9nLmdyYXBoQ29sb3JzIHJlZCxncmVlbix5ZWxsb3csYmx1ZSxtYWdlbnRhLGN5YW4gJiYKKwljYXQgPmV4cGVjdC5jb2xvcnMgPDwtXEVPRiAmJgorCSogYWZ0ZXItNAorCTxSRUQ+fDxSRVNFVD4gKjxCTFVFPi08UkVTRVQ+PEJMVUU+LTxSRVNFVD48UkVEPi08UkVTRVQ+PFJFRD4uPFJFU0VUPiAgIG9jdG9wdXMtbWVyZ2UKKwk8UkVEPnw8UkVTRVQ+IDxHUkVFTj58PFJFU0VUPjxZRUxMT1c+XDxSRVNFVD4gPEJMVUU+XDxSRVNFVD4gPFJFRD5cPFJFU0VUPgorCTxSRUQ+fDxSRVNFVD4gPEdSRUVOPnw8UkVTRVQ+PFJFRD5fPFJFU0VUPjxZRUxMT1c+fDxSRVNFVD48UkVEPl88UkVTRVQ+PEJMVUU+fDxSRVNFVD48UkVEPi88UkVTRVQ+CisJPFJFRD58PFJFU0VUPjxSRUQ+LzxSRVNFVD48R1JFRU4+fDxSRVNFVD4gPFlFTExPVz58PFJFU0VUPiA8QkxVRT58PFJFU0VUPgorCSogPEdSRUVOPnw8UkVTRVQ+IDxZRUxMT1c+fDxSRVNFVD4gPEJMVUU+fDxSRVNFVD4gNAorCTxNQUdFTlRBPnw8UkVTRVQ+IDxHUkVFTj58PFJFU0VUPiA8WUVMTE9XPnw8UkVTRVQ+ICogMworCTxNQUdFTlRBPnw8UkVTRVQ+IDxHUkVFTj58PFJFU0VUPjxNQUdFTlRBPl88UkVTRVQ+PFlFTExPVz58PFJFU0VUPjxNQUdFTlRBPi88UkVTRVQ+CisJPE1BR0VOVEE+fDxSRVNFVD48TUFHRU5UQT4vPFJFU0VUPjxHUkVFTj58PFJFU0VUPiA8WUVMTE9XPnw8UkVTRVQ+CisJPE1BR0VOVEE+fDxSRVNFVD4gPEdSRUVOPnw8UkVTRVQ+ICogMgorCTxNQUdFTlRBPnw8UkVTRVQ+IDxHUkVFTj58PFJFU0VUPjxNQUdFTlRBPi88UkVTRVQ+CisJPE1BR0VOVEE+fDxSRVNFVD48TUFHRU5UQT4vPFJFU0VUPjxHUkVFTj58PFJFU0VUPgorCTxNQUdFTlRBPnw8UkVTRVQ+ICogMQorCTxNQUdFTlRBPnw8UkVTRVQ+PE1BR0VOVEE+LzxSRVNFVD4KKwkqIGluaXRpYWwKKwlFT0YKKwl0ZXN0X2NtcF9jb2xvcmVkX2dyYXBoIGFmdGVyLTQgb2N0b3B1cy1tZXJnZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1ncmFwaCB3aXRoIGNyb3Nzb3ZlciBpbiBvY3RvcHVzIG1lcmdlIGFuZCBpdHMgY2hpbGQsIG5vIGNvbG9yJyAnCisJdGVzdF9jbXBfZ3JhcGggYWZ0ZXItNCBhZnRlci1tZXJnZSA8PC1cRU9GCisJKiBhZnRlci00CisJfCAqIGFmdGVyLW1lcmdlCisJfCAqLS0tLiAgIG9jdG9wdXMtbWVyZ2UKKwl8IHxcIFwgXAorCXwgfF98X3wvCisJfC98IHwgfAorCSogfCB8IHwgNAorCXwgfCB8ICogMworCXwgfF98LworCXwvfCB8CisJfCB8ICogMgorCXwgfC8KKwl8L3wKKwl8ICogMQorCXwvCisJKiBpbml0aWFsCisJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyYXBoIHdpdGggY3Jvc3NvdmVyIGluIG9jdG9wdXMgbWVyZ2UgYW5kIGl0cyBjaGlsZCB3aXRoIGNvbG9ycycgJworCXRlc3RfY29uZmlnIGxvZy5ncmFwaENvbG9ycyByZWQsZ3JlZW4seWVsbG93LGJsdWUsbWFnZW50YSxjeWFuICYmCisJY2F0ID5leHBlY3QuY29sb3JzIDw8LVxFT0YgJiYKKwkqIGFmdGVyLTQKKwk8UkVEPnw8UkVTRVQ+ICogYWZ0ZXItbWVyZ2UKKwk8UkVEPnw8UkVTRVQ+ICo8TUFHRU5UQT4tPFJFU0VUPjxNQUdFTlRBPi08UkVTRVQ+PFJFRD4tPFJFU0VUPjxSRUQ+LjxSRVNFVD4gICBvY3RvcHVzLW1lcmdlCisJPFJFRD58PFJFU0VUPiA8WUVMTE9XPnw8UkVTRVQ+PEJMVUU+XDxSRVNFVD4gPE1BR0VOVEE+XDxSRVNFVD4gPFJFRD5cPFJFU0VUPgorCTxSRUQ+fDxSRVNFVD4gPFlFTExPVz58PFJFU0VUPjxSRUQ+XzxSRVNFVD48QkxVRT58PFJFU0VUPjxSRUQ+XzxSRVNFVD48TUFHRU5UQT58PFJFU0VUPjxSRUQ+LzxSRVNFVD4KKwk8UkVEPnw8UkVTRVQ+PFJFRD4vPFJFU0VUPjxZRUxMT1c+fDxSRVNFVD4gPEJMVUU+fDxSRVNFVD4gPE1BR0VOVEE+fDxSRVNFVD4KKwkqIDxZRUxMT1c+fDxSRVNFVD4gPEJMVUU+fDxSRVNFVD4gPE1BR0VOVEE+fDxSRVNFVD4gNAorCTxDWUFOPnw8UkVTRVQ+IDxZRUxMT1c+fDxSRVNFVD4gPEJMVUU+fDxSRVNFVD4gKiAzCisJPENZQU4+fDxSRVNFVD4gPFlFTExPVz58PFJFU0VUPjxDWUFOPl88UkVTRVQ+PEJMVUU+fDxSRVNFVD48Q1lBTj4vPFJFU0VUPgorCTxDWUFOPnw8UkVTRVQ+PENZQU4+LzxSRVNFVD48WUVMTE9XPnw8UkVTRVQ+IDxCTFVFPnw8UkVTRVQ+CisJPENZQU4+fDxSRVNFVD4gPFlFTExPVz58PFJFU0VUPiAqIDIKKwk8Q1lBTj58PFJFU0VUPiA8WUVMTE9XPnw8UkVTRVQ+PENZQU4+LzxSRVNFVD4KKwk8Q1lBTj58PFJFU0VUPjxDWUFOPi88UkVTRVQ+PFlFTExPVz58PFJFU0VUPgorCTxDWUFOPnw8UkVTRVQ+ICogMQorCTxDWUFOPnw8UkVTRVQ+PENZQU4+LzxSRVNFVD4KKwkqIGluaXRpYWwKKwlFT0YKKwl0ZXN0X2NtcF9jb2xvcmVkX2dyYXBoIGFmdGVyLTQgYWZ0ZXItbWVyZ2UKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tZ3JhcGggd2l0aCB1bnJlbGF0ZWQgY29tbWl0IGFuZCBvY3RvcHVzIHRpcCwgbm8gY29sb3InICcKKwl0ZXN0X2NtcF9ncmFwaCBhZnRlci1pbml0aWFsIG9jdG9wdXMtbWVyZ2UgPDwtXEVPRgorCSogYWZ0ZXItaW5pdGlhbAorCXwgKi0tLS4gICBvY3RvcHVzLW1lcmdlCisJfCB8XCBcIFwKKwl8IHwgfCB8ICogNAorCXwgfF98X3wvCisJfC98IHwgfAorCXwgfCB8ICogMworCXwgfF98LworCXwvfCB8CisJfCB8ICogMgorCXwgfC8KKwl8L3wKKwl8ICogMQorCXwvCisJKiBpbml0aWFsCisJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyYXBoIHdpdGggdW5yZWxhdGVkIGNvbW1pdCBhbmQgb2N0b3B1cyB0aXAgd2l0aCBjb2xvcnMnICcKKwl0ZXN0X2NvbmZpZyBsb2cuZ3JhcGhDb2xvcnMgcmVkLGdyZWVuLHllbGxvdyxibHVlLG1hZ2VudGEsY3lhbiAmJgorCWNhdCA+ZXhwZWN0LmNvbG9ycyA8PC1cRU9GICYmCisJKiBhZnRlci1pbml0aWFsCisJPFJFRD58PFJFU0VUPiAqPEJMVUU+LTxSRVNFVD48QkxVRT4tPFJFU0VUPjxNQUdFTlRBPi08UkVTRVQ+PE1BR0VOVEE+LjxSRVNFVD4gICBvY3RvcHVzLW1lcmdlCisJPFJFRD58PFJFU0VUPiA8R1JFRU4+fDxSRVNFVD48WUVMTE9XPlw8UkVTRVQ+IDxCTFVFPlw8UkVTRVQ+IDxNQUdFTlRBPlw8UkVTRVQ+CisJPFJFRD58PFJFU0VUPiA8R1JFRU4+fDxSRVNFVD4gPFlFTExPVz58PFJFU0VUPiA8QkxVRT58PFJFU0VUPiAqIDQKKwk8UkVEPnw8UkVTRVQ+IDxHUkVFTj58PFJFU0VUPjxSRUQ+XzxSRVNFVD48WUVMTE9XPnw8UkVTRVQ+PFJFRD5fPFJFU0VUPjxCTFVFPnw8UkVTRVQ+PFJFRD4vPFJFU0VUPgorCTxSRUQ+fDxSRVNFVD48UkVEPi88UkVTRVQ+PEdSRUVOPnw8UkVTRVQ+IDxZRUxMT1c+fDxSRVNFVD4gPEJMVUU+fDxSRVNFVD4KKwk8UkVEPnw8UkVTRVQ+IDxHUkVFTj58PFJFU0VUPiA8WUVMTE9XPnw8UkVTRVQ+ICogMworCTxSRUQ+fDxSRVNFVD4gPEdSRUVOPnw8UkVTRVQ+PFJFRD5fPFJFU0VUPjxZRUxMT1c+fDxSRVNFVD48UkVEPi88UkVTRVQ+CisJPFJFRD58PFJFU0VUPjxSRUQ+LzxSRVNFVD48R1JFRU4+fDxSRVNFVD4gPFlFTExPVz58PFJFU0VUPgorCTxSRUQ+fDxSRVNFVD4gPEdSRUVOPnw8UkVTRVQ+ICogMgorCTxSRUQ+fDxSRVNFVD4gPEdSRUVOPnw8UkVTRVQ+PFJFRD4vPFJFU0VUPgorCTxSRUQ+fDxSRVNFVD48UkVEPi88UkVTRVQ+PEdSRUVOPnw8UkVTRVQ+CisJPFJFRD58PFJFU0VUPiAqIDEKKwk8UkVEPnw8UkVTRVQ+PFJFRD4vPFJFU0VUPgorCSogaW5pdGlhbAorCUVPRgorCXRlc3RfY21wX2NvbG9yZWRfZ3JhcGggYWZ0ZXItaW5pdGlhbCBvY3RvcHVzLW1lcmdlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyYXBoIHdpdGggdW5yZWxhdGVkIGNvbW1pdCBhbmQgb2N0b3B1cyBjaGlsZCwgbm8gY29sb3InICcKKwl0ZXN0X2NtcF9ncmFwaCBhZnRlci1pbml0aWFsIGFmdGVyLW1lcmdlIDw8LVxFT0YKKwkqIGFmdGVyLWluaXRpYWwKKwl8ICogYWZ0ZXItbWVyZ2UKKwl8ICotLS0uICAgb2N0b3B1cy1tZXJnZQorCXwgfFwgXCBcCisJfCB8IHwgfCAqIDQKKwl8IHxffF98LworCXwvfCB8IHwKKwl8IHwgfCAqIDMKKwl8IHxffC8KKwl8L3wgfAorCXwgfCAqIDIKKwl8IHwvCisJfC98CisJfCAqIDEKKwl8LworCSogaW5pdGlhbAorCUVPRgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1ncmFwaCB3aXRoIHVucmVsYXRlZCBjb21taXQgYW5kIG9jdG9wdXMgY2hpbGQgd2l0aCBjb2xvcnMnICcKKwl0ZXN0X2NvbmZpZyBsb2cuZ3JhcGhDb2xvcnMgcmVkLGdyZWVuLHllbGxvdyxibHVlLG1hZ2VudGEsY3lhbiAmJgorCWNhdCA+ZXhwZWN0LmNvbG9ycyA8PC1cRU9GICYmCisJKiBhZnRlci1pbml0aWFsCisJPFJFRD58PFJFU0VUPiAqIGFmdGVyLW1lcmdlCisJPFJFRD58PFJFU0VUPiAqPE1BR0VOVEE+LTxSRVNFVD48TUFHRU5UQT4tPFJFU0VUPjxDWUFOPi08UkVTRVQ+PENZQU4+LjxSRVNFVD4gICBvY3RvcHVzLW1lcmdlCisJPFJFRD58PFJFU0VUPiA8WUVMTE9XPnw8UkVTRVQ+PEJMVUU+XDxSRVNFVD4gPE1BR0VOVEE+XDxSRVNFVD4gPENZQU4+XDxSRVNFVD4KKwk8UkVEPnw8UkVTRVQ+IDxZRUxMT1c+fDxSRVNFVD4gPEJMVUU+fDxSRVNFVD4gPE1BR0VOVEE+fDxSRVNFVD4gKiA0CisJPFJFRD58PFJFU0VUPiA8WUVMTE9XPnw8UkVTRVQ+PFJFRD5fPFJFU0VUPjxCTFVFPnw8UkVTRVQ+PFJFRD5fPFJFU0VUPjxNQUdFTlRBPnw8UkVTRVQ+PFJFRD4vPFJFU0VUPgorCTxSRUQ+fDxSRVNFVD48UkVEPi88UkVTRVQ+PFlFTExPVz58PFJFU0VUPiA8QkxVRT58PFJFU0VUPiA8TUFHRU5UQT58PFJFU0VUPgorCTxSRUQ+fDxSRVNFVD4gPFlFTExPVz58PFJFU0VUPiA8QkxVRT58PFJFU0VUPiAqIDMKKwk8UkVEPnw8UkVTRVQ+IDxZRUxMT1c+fDxSRVNFVD48UkVEPl88UkVTRVQ+PEJMVUU+fDxSRVNFVD48UkVEPi88UkVTRVQ+CisJPFJFRD58PFJFU0VUPjxSRUQ+LzxSRVNFVD48WUVMTE9XPnw8UkVTRVQ+IDxCTFVFPnw8UkVTRVQ+CisJPFJFRD58PFJFU0VUPiA8WUVMTE9XPnw8UkVTRVQ+ICogMgorCTxSRUQ+fDxSRVNFVD4gPFlFTExPVz58PFJFU0VUPjxSRUQ+LzxSRVNFVD4KKwk8UkVEPnw8UkVTRVQ+PFJFRD4vPFJFU0VUPjxZRUxMT1c+fDxSRVNFVD4KKwk8UkVEPnw8UkVTRVQ+ICogMQorCTxSRUQ+fDxSRVNFVD48UkVEPi88UkVTRVQ+CisJKiBpbml0aWFsCisJRU9GCisJdGVzdF9jbXBfY29sb3JlZF9ncmFwaCBhZnRlci1pbml0aWFsIGFmdGVyLW1lcmdlCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDIxNS1sb2ctc2tld2VkLW1lcmdlcy5zaCBiL3QvdDQyMTUtbG9nLXNrZXdlZC1tZXJnZXMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjhkMDc3OQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDQyMTUtbG9nLXNrZXdlZC1tZXJnZXMuc2gKQEAgLTAsMCArMSwzNzMgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdnaXQgbG9nIC0tZ3JhcGggb2Ygc2tld2VkIG1lcmdlcycKKworLiAuL3Rlc3QtbGliLnNoCisuICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1sb2ctZ3JhcGguc2gKKworY2hlY2tfZ3JhcGggKCkgeworCWNhdCA+ZXhwZWN0ICYmCisJbGliX3Rlc3RfY21wX2dyYXBoIC0tZm9ybWF0PSVzICIkQCIKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tZ3JhcGggd2l0aCBtZXJnZSBmdXNpbmcgd2l0aCBpdHMgbGVmdCBhbmQgcmlnaHQgbmVpZ2hib3JzJyAnCisJZ2l0IGNoZWNrb3V0IC0tb3JwaGFuIF9wICYmCisJdGVzdF9jb21taXQgQSAmJgorCXRlc3RfY29tbWl0IEIgJiYKKwlnaXQgY2hlY2tvdXQgLWIgX3EgQF4gJiYgdGVzdF9jb21taXQgQyAmJgorCWdpdCBjaGVja291dCAtYiBfciBAXiAmJiB0ZXN0X2NvbW1pdCBEICYmCisJZ2l0IGNoZWNrb3V0IF9wICYmIGdpdCBtZXJnZSAtLW5vLWZmIF9xIF9yIC1tIEUgJiYKKwlnaXQgY2hlY2tvdXQgX3IgJiYgdGVzdF9jb21taXQgRiAmJgorCWdpdCBjaGVja291dCBfcCAmJiBnaXQgbWVyZ2UgLS1uby1mZiBfciAtbSBHICYmCisJZ2l0IGNoZWNrb3V0IEBeXiAmJiBnaXQgbWVyZ2UgLS1uby1mZiBfcCAtbSBIICYmCisKKwljaGVja19ncmFwaCA8PC1cRU9GCisJKiAgIEgKKwl8XAorCXwgKiAgIEcKKwl8IHxcCisJfCB8ICogRgorCXwgKiB8IEUKKwl8L3xcfAorCXwgfCAqIEQKKwl8ICogfCBDCisJfCB8LworCSogLyBCCisJfC8KKwkqIEEKKwlFT0YKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tZ3JhcGggd2l0aCBsZWZ0LXNrZXdlZCBtZXJnZScgJworCWdpdCBjaGVja291dCAtLW9ycGhhbiAwX3AgJiYgdGVzdF9jb21taXQgMF9BICYmCisJZ2l0IGNoZWNrb3V0IC1iIDBfcSAwX3AgJiYgdGVzdF9jb21taXQgMF9CICYmCisJZ2l0IGNoZWNrb3V0IC1iIDBfciAwX3AgJiYKKwl0ZXN0X2NvbW1pdCAwX0MgJiYKKwl0ZXN0X2NvbW1pdCAwX0QgJiYKKwlnaXQgY2hlY2tvdXQgLWIgMF9zIDBfcCAmJiB0ZXN0X2NvbW1pdCAwX0UgJiYKKwlnaXQgY2hlY2tvdXQgLWIgMF90IDBfcCAmJiBnaXQgbWVyZ2UgLS1uby1mZiAwX3JeIDBfcyAtbSAwX0YgJiYKKwlnaXQgY2hlY2tvdXQgMF9wICYmIGdpdCBtZXJnZSAtLW5vLWZmIDBfcyAtbSAwX0cgJiYKKwlnaXQgY2hlY2tvdXQgQF4gJiYgZ2l0IG1lcmdlIC0tbm8tZmYgMF9xIDBfciAwX3QgMF9wIC1tIDBfSCAmJgorCisJY2hlY2tfZ3JhcGggPDwtXEVPRgorCSotLS0tLS4gICAwX0gKKwl8XCBcIFwgXAorCXwgfCB8IHwgKiAwX0cKKwl8IHxffF98L3wKKwl8L3wgfCB8IHwKKwl8IHwgfCAqIHwgMF9GCisJfCB8X3wvfFx8CisJfC98IHwgfCB8CisJfCB8IHwgfCAqIDBfRQorCXwgfF98X3wvCisJfC98IHwgfAorCXwgfCAqIHwgMF9ECisJfCB8IHwvCisJfCB8ICogMF9DCisJfCB8LworCXwvfAorCXwgKiAwX0IKKwl8LworCSogMF9BCisJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyYXBoIHdpdGggbmVzdGVkIGxlZnQtc2tld2VkIG1lcmdlJyAnCisJZ2l0IGNoZWNrb3V0IC0tb3JwaGFuIDFfcCAmJgorCXRlc3RfY29tbWl0IDFfQSAmJgorCXRlc3RfY29tbWl0IDFfQiAmJgorCXRlc3RfY29tbWl0IDFfQyAmJgorCWdpdCBjaGVja291dCAtYiAxX3EgQF4gJiYgdGVzdF9jb21taXQgMV9EICYmCisJZ2l0IGNoZWNrb3V0IDFfcCAmJiBnaXQgbWVyZ2UgLS1uby1mZiAxX3EgLW0gMV9FICYmCisJZ2l0IGNoZWNrb3V0IC1iIDFfciBAfjMgJiYgdGVzdF9jb21taXQgMV9GICYmCisJZ2l0IGNoZWNrb3V0IDFfcCAmJiBnaXQgbWVyZ2UgLS1uby1mZiAxX3IgLW0gMV9HICYmCisJZ2l0IGNoZWNrb3V0IEBeXiAmJiBnaXQgbWVyZ2UgLS1uby1mZiAxX3AgLW0gMV9IICYmCisKKwljaGVja19ncmFwaCA8PC1cRU9GCisJKiAgIDFfSAorCXxcCisJfCAqICAgMV9HCisJfCB8XAorCXwgfCAqIDFfRgorCXwgKiB8IDFfRQorCXwvfCB8CisJfCAqIHwgMV9ECisJKiB8IHwgMV9DCisJfC8gLworCSogLyAxX0IKKwl8LworCSogMV9BCisJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyYXBoIHdpdGggbmVzdGVkIGxlZnQtc2tld2VkIG1lcmdlIGZvbGxvd2luZyBub3JtYWwgbWVyZ2UnICcKKwlnaXQgY2hlY2tvdXQgLS1vcnBoYW4gMl9wICYmCisJdGVzdF9jb21taXQgMl9BICYmCisJdGVzdF9jb21taXQgMl9CICYmCisJdGVzdF9jb21taXQgMl9DICYmCisJZ2l0IGNoZWNrb3V0IC1iIDJfcSBAXl4gJiYKKwl0ZXN0X2NvbW1pdCAyX0QgJiYKKwl0ZXN0X2NvbW1pdCAyX0UgJiYKKwlnaXQgY2hlY2tvdXQgLWIgMl9yIEBeICYmIHRlc3RfY29tbWl0IDJfRiAmJgorCWdpdCBjaGVja291dCAyX3EgJiYKKwlnaXQgbWVyZ2UgLS1uby1mZiAyX3IgLW0gMl9HICYmCisJZ2l0IG1lcmdlIC0tbm8tZmYgMl9wXiAtbSAyX0ggJiYKKwlnaXQgY2hlY2tvdXQgLWIgMl9zIEBeXiAmJiBnaXQgbWVyZ2UgLS1uby1mZiAyX3EgLW0gMl9KICYmCisJZ2l0IGNoZWNrb3V0IDJfcCAmJiBnaXQgbWVyZ2UgLS1uby1mZiAyX3MgLW0gMl9LICYmCisKKwljaGVja19ncmFwaCA8PC1cRU9GCisJKiAgIDJfSworCXxcCisJfCAqICAgMl9KCisJfCB8XAorCXwgfCAqICAgMl9ICisJfCB8IHxcCisJfCB8ICogfCAyX0cKKwl8IHwvfCB8CisJfCB8ICogfCAyX0YKKwl8ICogfCB8IDJfRQorCXwgfC8gLworCXwgKiB8IDJfRAorCSogfCB8IDJfQworCXwgfC8KKwl8L3wKKwkqIHwgMl9CCisJfC8KKwkqIDJfQQorCUVPRgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1ncmFwaCB3aXRoIG5lc3RlZCByaWdodC1za2V3ZWQgbWVyZ2UgZm9sbG93aW5nIGxlZnQtc2tld2VkIG1lcmdlJyAnCisJZ2l0IGNoZWNrb3V0IC0tb3JwaGFuIDNfcCAmJgorCXRlc3RfY29tbWl0IDNfQSAmJgorCWdpdCBjaGVja291dCAtYiAzX3EgJiYKKwl0ZXN0X2NvbW1pdCAzX0IgJiYKKwl0ZXN0X2NvbW1pdCAzX0MgJiYKKwlnaXQgY2hlY2tvdXQgLWIgM19yIEBeICYmCisJdGVzdF9jb21taXQgM19EICYmCisJZ2l0IGNoZWNrb3V0IDNfcSAmJiBnaXQgbWVyZ2UgLS1uby1mZiAzX3IgLW0gM19FICYmCisJZ2l0IGNoZWNrb3V0IDNfcCAmJiBnaXQgbWVyZ2UgLS1uby1mZiAzX3EgLW0gM19GICYmCisJZ2l0IGNoZWNrb3V0IDNfciAmJiB0ZXN0X2NvbW1pdCAzX0cgJiYKKwlnaXQgY2hlY2tvdXQgM19wICYmIGdpdCBtZXJnZSAtLW5vLWZmIDNfciAtbSAzX0ggJiYKKwlnaXQgY2hlY2tvdXQgQF5eICYmIGdpdCBtZXJnZSAtLW5vLWZmIDNfcCAtbSAzX0ogJiYKKworCWNoZWNrX2dyYXBoIDw8LVxFT0YKKwkqICAgM19KCisJfFwKKwl8ICogICAzX0gKKwl8IHxcCisJfCB8ICogM19HCisJfCAqIHwgM19GCisJfC98IHwKKwl8ICogfCAzX0UKKwl8IHxcfAorCXwgfCAqIDNfRAorCXwgKiB8IDNfQworCXwgfC8KKwl8ICogM19CCisJfC8KKwkqIDNfQQorCUVPRgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdsb2cgLS1ncmFwaCB3aXRoIHJpZ2h0LXNrZXdlZCBtZXJnZSBmb2xsb3dpbmcgYSBsZWZ0LXNrZXdlZCBvbmUnICcKKwlnaXQgY2hlY2tvdXQgLS1vcnBoYW4gNF9wICYmCisJdGVzdF9jb21taXQgNF9BICYmCisJdGVzdF9jb21taXQgNF9CICYmCisJdGVzdF9jb21taXQgNF9DICYmCisJZ2l0IGNoZWNrb3V0IC1iIDRfcSBAXl4gJiYgdGVzdF9jb21taXQgNF9EICYmCisJZ2l0IGNoZWNrb3V0IC1iIDRfciA0X3BeICYmIGdpdCBtZXJnZSAtLW5vLWZmIDRfcSAtbSA0X0UgJiYKKwlnaXQgY2hlY2tvdXQgLWIgNF9zIDRfcF5eICYmCisJZ2l0IG1lcmdlIC0tbm8tZmYgNF9yIC1tIDRfRiAmJgorCWdpdCBtZXJnZSAtLW5vLWZmIDRfcCAtbSA0X0cgJiYKKwlnaXQgY2hlY2tvdXQgQF5eICYmIGdpdCBtZXJnZSAtLW5vLWZmIDRfcyAtbSA0X0ggJiYKKworCWNoZWNrX2dyYXBoIC0tZGF0ZS1vcmRlciA8PC1cRU9GCisJKiAgIDRfSAorCXxcCisJfCAqICAgNF9HCisJfCB8XAorCXwgKiB8IDRfRgorCXwvfCB8CisJfCAqIHwgICA0X0UKKwl8IHxcIFwKKwl8IHwgKiB8IDRfRAorCXwgfC8gLworCXwvfCB8CisJfCB8ICogNF9DCisJfCB8LworCXwgKiA0X0IKKwl8LworCSogNF9BCisJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyYXBoIHdpdGggb2N0b3B1cyBtZXJnZSB3aXRoIGNvbHVtbiBqb2luaW5nIGl0cyBwZW51bHRpbWF0ZSBwYXJlbnQnICcKKwlnaXQgY2hlY2tvdXQgLS1vcnBoYW4gNV9wICYmCisJdGVzdF9jb21taXQgNV9BICYmCisJZ2l0IGJyYW5jaCA1X3EgJiYKKwlnaXQgYnJhbmNoIDVfciAmJgorCXRlc3RfY29tbWl0IDVfQiAmJgorCWdpdCBjaGVja291dCA1X3EgJiYgdGVzdF9jb21taXQgNV9DICYmCisJZ2l0IGNoZWNrb3V0IDVfciAmJiB0ZXN0X2NvbW1pdCA1X0QgJiYKKwlnaXQgY2hlY2tvdXQgNV9wICYmCisJZ2l0IG1lcmdlIC0tbm8tZmYgNV9xIDVfciAtbSA1X0UgJiYKKwlnaXQgY2hlY2tvdXQgNV9xICYmIHRlc3RfY29tbWl0IDVfRiAmJgorCWdpdCBjaGVja291dCAtYiA1X3MgNV9wXiAmJgorCWdpdCBtZXJnZSAtLW5vLWZmIDVfcCA1X3EgLW0gNV9HICYmCisJZ2l0IGNoZWNrb3V0IDVfciAmJgorCWdpdCBtZXJnZSAtLW5vLWZmIDVfcyAtbSA1X0ggJiYKKworCWNoZWNrX2dyYXBoIDw8LVxFT0YKKwkqICAgNV9ICisJfFwKKwl8ICotLiAgIDVfRworCXwgfFwgXAorCXwgfCB8ICogNV9GCisJfCB8ICogfCAgIDVfRQorCXwgfC98XCBcCisJfCB8X3wvIC8KKwl8L3wgfCAvCisJfCB8IHwvCisJKiB8IHwgNV9ECisJfCB8ICogNV9DCisJfCB8LworCXwvfAorCXwgKiA1X0IKKwl8LworCSogNV9BCisJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyYXBoIHdpdGggbXVsdGlwbGUgdGlwcycgJworCWdpdCBjaGVja291dCAtLW9ycGhhbiA2XzEgJiYKKwl0ZXN0X2NvbW1pdCA2X0EgJiYKKwlnaXQgYnJhbmNoIDZfMiAmJgorCWdpdCBicmFuY2ggNl80ICYmCisJdGVzdF9jb21taXQgNl9CICYmCisJZ2l0IGJyYW5jaCA2XzMgJiYKKwl0ZXN0X2NvbW1pdCA2X0MgJiYKKwlnaXQgY2hlY2tvdXQgNl8yICYmIHRlc3RfY29tbWl0IDZfRCAmJgorCWdpdCBjaGVja291dCA2XzMgJiYgdGVzdF9jb21taXQgNl9FICYmCisJZ2l0IGNoZWNrb3V0IC1iIDZfNSA2XzEgJiYKKwlnaXQgbWVyZ2UgLS1uby1mZiA2XzIgLW0gNl9GICYmCisJZ2l0IGNoZWNrb3V0IDZfNCAmJiB0ZXN0X2NvbW1pdCA2X0cgJiYKKwlnaXQgY2hlY2tvdXQgNl8zICYmCisJZ2l0IG1lcmdlIC0tbm8tZmYgNl80IC1tIDZfSCAmJgorCWdpdCBjaGVja291dCA2XzEgJiYKKwlnaXQgbWVyZ2UgLS1uby1mZiA2XzIgLW0gNl9JICYmCisKKwljaGVja19ncmFwaCA2XzEgNl8zIDZfNSA8PC1cRU9GCisJKiAgIDZfSQorCXxcCisJfCB8ICogICA2X0gKKwl8IHwgfFwKKwl8IHwgfCAqIDZfRworCXwgfCAqIHwgNl9FCisJfCB8IHwgfCAqIDZfRgorCXwgfF98X3wvfAorCXwvfCB8IHwvCisJfCB8IHwvfAorCXwgfC98IHwKKwl8ICogfCB8IDZfRAorCXwgfCB8LworCXwgfC98CisJKiB8IHwgNl9DCisJfCB8LworCXwvfAorCSogfCA2X0IKKwl8LworCSogNl9BCisJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyYXBoIHdpdGggbXVsdGlwbGUgdGlwcyBhbmQgY29sb3JzJyAnCisJdGVzdF9jb25maWcgbG9nLmdyYXBoQ29sb3JzIHJlZCxncmVlbix5ZWxsb3csYmx1ZSxtYWdlbnRhLGN5YW4gJiYKKwljYXQgPmV4cGVjdC5jb2xvcnMgPDwtXEVPRiAmJgorCSogICA2X0kKKwk8UkVEPnw8UkVTRVQ+PEdSRUVOPlw8UkVTRVQ+CisJPFJFRD58PFJFU0VUPiA8R1JFRU4+fDxSRVNFVD4gKiAgIDZfSAorCTxSRUQ+fDxSRVNFVD4gPEdSRUVOPnw8UkVTRVQ+IDxZRUxMT1c+fDxSRVNFVD48QkxVRT5cPFJFU0VUPgorCTxSRUQ+fDxSRVNFVD4gPEdSRUVOPnw8UkVTRVQ+IDxZRUxMT1c+fDxSRVNFVD4gKiA2X0cKKwk8UkVEPnw8UkVTRVQ+IDxHUkVFTj58PFJFU0VUPiA8WUVMTE9XPnw8UkVTRVQ+IDxCTFVFPnw8UkVTRVQ+ICogNl9GCisJPFJFRD58PFJFU0VUPiA8R1JFRU4+fDxSRVNFVD48UkVEPl88UkVTRVQ+PFlFTExPVz58PFJFU0VUPjxSRUQ+XzxSRVNFVD48QkxVRT58PFJFU0VUPjxSRUQ+LzxSRVNFVD48R1JFRU4+fDxSRVNFVD4KKwk8UkVEPnw8UkVTRVQ+PFJFRD4vPFJFU0VUPjxHUkVFTj58PFJFU0VUPiA8WUVMTE9XPnw8UkVTRVQ+IDxCTFVFPnw8UkVTRVQ+PEdSRUVOPi88UkVTRVQ+CisJPFJFRD58PFJFU0VUPiA8R1JFRU4+fDxSRVNFVD4gPFlFTExPVz58PFJFU0VUPjxHUkVFTj4vPFJFU0VUPjxCTFVFPnw8UkVTRVQ+CisJPFJFRD58PFJFU0VUPiA8R1JFRU4+fDxSRVNFVD48R1JFRU4+LzxSRVNFVD48WUVMTE9XPnw8UkVTRVQ+IDxCTFVFPnw8UkVTRVQ+CisJPFJFRD58PFJFU0VUPiA8R1JFRU4+fDxSRVNFVD4gKiA8QkxVRT58PFJFU0VUPiA2X0UKKwk8UkVEPnw8UkVTRVQ+ICogPENZQU4+fDxSRVNFVD4gPEJMVUU+fDxSRVNFVD4gNl9ECisJPFJFRD58PFJFU0VUPiA8QkxVRT58PFJFU0VUPiA8Q1lBTj58PFJFU0VUPjxCTFVFPi88UkVTRVQ+CisJPFJFRD58PFJFU0VUPiA8QkxVRT58PFJFU0VUPjxCTFVFPi88UkVTRVQ+PENZQU4+fDxSRVNFVD4KKwkqIDxCTFVFPnw8UkVTRVQ+IDxDWUFOPnw8UkVTRVQ+IDZfQworCTxDWUFOPnw8UkVTRVQ+IDxCTFVFPnw8UkVTRVQ+PENZQU4+LzxSRVNFVD4KKwk8Q1lBTj58PFJFU0VUPjxDWUFOPi88UkVTRVQ+PEJMVUU+fDxSRVNFVD4KKwkqIDxCTFVFPnw8UkVTRVQ+IDZfQgorCTxCTFVFPnw8UkVTRVQ+PEJMVUU+LzxSRVNFVD4KKwkqIDZfQQorCUVPRgorCWxpYl90ZXN0X2NtcF9jb2xvcmVkX2dyYXBoIC0tZGF0ZS1vcmRlciAtLXByZXR0eT10Zm9ybWF0OiVzIDZfMSA2XzMgNl81CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvZyAtLWdyYXBoIHdpdGggbXVsdGlwbGUgdGlwcycgJworCWdpdCBjaGVja291dCAtLW9ycGhhbiA3XzEgJiYKKwl0ZXN0X2NvbW1pdCA3X0EgJiYKKwl0ZXN0X2NvbW1pdCA3X0IgJiYKKwl0ZXN0X2NvbW1pdCA3X0MgJiYKKwlnaXQgY2hlY2tvdXQgLWIgN18yIDdfMX4yICYmCisJdGVzdF9jb21taXQgN19EICYmCisJdGVzdF9jb21taXQgN19FICYmCisJZ2l0IGNoZWNrb3V0IC1iIDdfMyA3XzF+MSAmJgorCXRlc3RfY29tbWl0IDdfRiAmJgorCXRlc3RfY29tbWl0IDdfRyAmJgorCWdpdCBjaGVja291dCAtYiA3XzQgN18yfjEgJiYKKwl0ZXN0X2NvbW1pdCA3X0ggJiYKKwlnaXQgY2hlY2tvdXQgLWIgN181IDdfMX4yICYmCisJdGVzdF9jb21taXQgN19JICYmCisJZ2l0IGNoZWNrb3V0IC1iIDdfNiA3XzN+MSAmJgorCXRlc3RfY29tbWl0IDdfSiAmJgorCWdpdCBjaGVja291dCAtYiBNXzEgN18xICYmCisJZ2l0IG1lcmdlIC0tbm8tZmYgN18yIC1tIDdfTTEgJiYKKwlnaXQgY2hlY2tvdXQgLWIgTV8zIDdfMyAmJgorCWdpdCBtZXJnZSAtLW5vLWZmIDdfNCAtbSA3X00yICYmCisJZ2l0IGNoZWNrb3V0IC1iIE1fNSA3XzUgJiYKKwlnaXQgbWVyZ2UgLS1uby1mZiA3XzYgLW0gN19NMyAmJgorCWdpdCBjaGVja291dCAtYiBNXzcgN18xICYmCisJZ2l0IG1lcmdlIC0tbm8tZmYgN18yIDdfMyAtbSA3X000ICYmCisKKwljaGVja19ncmFwaCBNXzEgTV8zIE1fNSBNXzcgPDwtXEVPRgorCSogICA3X00xCisJfFwKKwl8IHwgKiAgIDdfTTIKKwl8IHwgfFwKKwl8IHwgfCAqIDdfSAorCXwgfCB8IHwgKiAgIDdfTTMKKwl8IHwgfCB8IHxcCisJfCB8IHwgfCB8ICogN19KCisJfCB8IHwgfCAqIHwgN19JCisJfCB8IHwgfCB8IHwgKiAgIDdfTTQKKwl8IHxffF98X3xffC98XAorCXwvfCB8IHwgfCB8LyAvCisJfCB8IHxffF98L3wgLworCXwgfC98IHwgfCB8LworCXwgfCB8IHxffC98CisJfCB8IHwvfCB8IHwKKwl8IHwgKiB8IHwgfCA3X0cKKwl8IHwgfCB8X3wvCisJfCB8IHwvfCB8CisJfCB8ICogfCB8IDdfRgorCXwgKiB8IHwgfCA3X0UKKwl8IHwgfC8gLworCXwgfC98IHwKKwl8ICogfCB8IDdfRAorCXwgfCB8LworCXwgfC98CisJKiB8IHwgN19DCisJfCB8LworCXwvfAorCSogfCA3X0IKKwl8LworCSogN19BCisJRU9GCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NDI1My1hbS1rZWVwLWNyLWRvcy5zaCBiL3QvdDQyNTMtYW0ta2VlcC1jci1kb3Muc2gKaW5kZXggNTUzZmUzZS4uNmUxYjczZSAxMDA3NTUKLS0tIGEvdC90NDI1My1hbS1rZWVwLWNyLWRvcy5zaAorKysgYi90L3Q0MjUzLWFtLWtlZXAtY3ItZG9zLnNoCkBAIC01MSwxNCArNTEsMTYgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYW0gd2l0aCBkb3MgZmlsZXMgd2l0aCAtLWtlZXAtY3InICcKIAlnaXQgY2hlY2tvdXQgLWIgZG9zZmlsZXMta2VlcC1jciBpbml0aWFsICYmCi0JZ2l0IGZvcm1hdC1wYXRjaCAtayAtLXN0ZG91dCBpbml0aWFsLi5tYXN0ZXIgfCBnaXQgYW0gLS1rZWVwLWNyIC1rIC0zICYmCisJZ2l0IGZvcm1hdC1wYXRjaCAtayAtLXN0ZG91dCBpbml0aWFsLi5tYXN0ZXIgPm91dHB1dCAmJgorCWdpdCBhbSAtLWtlZXAtY3IgLWsgLTMgb3V0cHV0ICYmCiAJZ2l0IGRpZmYgLS1leGl0LWNvZGUgbWFzdGVyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FtIHdpdGggZG9zIGZpbGVzIGNvbmZpZyBhbS5rZWVwY3InICcKIAlnaXQgY29uZmlnIGFtLmtlZXBjciAxICYmCiAJZ2l0IGNoZWNrb3V0IC1iIGRvc2ZpbGVzLWNvbmYta2VlcGNyIGluaXRpYWwgJiYKLQlnaXQgZm9ybWF0LXBhdGNoIC1rIC0tc3Rkb3V0IGluaXRpYWwuLm1hc3RlciB8IGdpdCBhbSAtayAtMyAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLWsgLS1zdGRvdXQgaW5pdGlhbC4ubWFzdGVyID5vdXRwdXQgJiYKKwlnaXQgYW0gLWsgLTMgb3V0cHV0ICYmCiAJZ2l0IGRpZmYgLS1leGl0LWNvZGUgbWFzdGVyCiAnCiAKZGlmZiAtLWdpdCBhL3QvdDQyNTYtYW0tZm9ybWF0LWZsb3dlZC5zaCBiL3QvdDQyNTYtYW0tZm9ybWF0LWZsb3dlZC5zaAppbmRleCA2MzQwMzEwLi4yMzY5YzRlIDEwMDc1NQotLS0gYS90L3Q0MjU2LWFtLWZvcm1hdC1mbG93ZWQuc2gKKysrIGIvdC90NDI1Ni1hbS1mb3JtYXQtZmxvd2VkLnNoCkBAIC0xMSw3ICsxMSw3IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FtIHdpdGggZm9ybWF0PWZsb3dlZCcgJwotCWdpdCBhbSA8IiRURVNUX0RJUkVDVE9SWS90NDI1Ni8xL3BhdGNoIiA+c3Rkb3V0IDI+c3RkZXJyICYmCisJZ2l0IGFtIDwiJFRFU1RfRElSRUNUT1JZL3Q0MjU2LzEvcGF0Y2giIDI+c3RkZXJyICYmCiAJdGVzdF9pMThuZ3JlcCAid2FybmluZzogUGF0Y2ggc2VudCB3aXRoIGZvcm1hdD1mbG93ZWQiIHN0ZGVyciAmJgogCXRlc3RfY21wICIkVEVTVF9ESVJFQ1RPUlkvdDQyNTYvMS9tYWlsaW5mby5jIiBtYWlsaW5mby5jCiAnCmRpZmYgLS1naXQgYS90L3Q0MjU3LWFtLWludGVyYWN0aXZlLnNoIGIvdC90NDI1Ny1hbS1pbnRlcmFjdGl2ZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MzQ0YmQyCi0tLSAvZGV2L251bGwKKysrIGIvdC90NDI1Ny1hbS1pbnRlcmFjdGl2ZS5zaApAQCAtMCwwICsxLDUyIEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nYW0gLS1pbnRlcmFjdGl2ZSB0ZXN0cycKKy4gLi90ZXN0LWxpYi5zaAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQgdXAgcGF0Y2hlcyB0byBhcHBseScgJworCXRlc3RfY29tbWl0IHVucmVsYXRlZCAmJgorCXRlc3RfY29tbWl0IG5vLWNvbmZsaWN0ICYmCisJdGVzdF9jb21taXQgY29uZmxpY3QtcGF0Y2ggZmlsZSBwYXRjaCAmJgorCWdpdCBmb3JtYXQtcGF0Y2ggLS1zdGRvdXQgLTIgPm1ib3ggJiYKKworCWdpdCByZXNldCAtLWhhcmQgdW5yZWxhdGVkICYmCisJdGVzdF9jb21taXQgY29uZmxpY3QtbWFzdGVyIGZpbGUgbWFzdGVyIGJhc2UKKycKKworIyBTYW5pdHkgY2hlY2sgb3VyIHNldHVwLgordGVzdF9leHBlY3Rfc3VjY2VzcyAnYXBwbHlpbmcgYWxsIHBhdGNoZXMgZ2VuZXJhdGVzIGNvbmZsaWN0JyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGFtIG1ib3ggJiYKKwllY2hvIHJlc29sdmVkID5maWxlICYmCisJZ2l0IGFkZCAtdSAmJgorCWdpdCBhbSAtLXJlc29sdmVkCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ludGVyYWN0aXZlIGFtIGNhbiBhcHBseSBhIHNpbmdsZSBwYXRjaCcgJworCWdpdCByZXNldCAtLWhhcmQgYmFzZSAmJgorCSMgYXBwbHkgdGhlIGZpcnN0LCBidXQgbm90IHRoZSBzZWNvbmQKKwl0ZXN0X3dyaXRlX2xpbmVzIHkgbiB8IGdpdCBhbSAtaSBtYm94ICYmCisKKwllY2hvIG5vLWNvbmZsaWN0ID5leHBlY3QgJiYKKwlnaXQgbG9nIC0xIC0tZm9ybWF0PSVzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ludGVyYWN0aXZlIGFtIGNhbiByZXNvbHZlIGNvbmZsaWN0JyAnCisJZ2l0IHJlc2V0IC0taGFyZCBiYXNlICYmCisJIyBhcHBseSBib3RoOyB0aGUgc2Vjb25kIG9uZSB3aWxsIGNvbmZsaWN0CisJdGVzdF93cml0ZV9saW5lcyB5IHkgfCB0ZXN0X211c3RfZmFpbCBnaXQgYW0gLWkgbWJveCAmJgorCWVjaG8gcmVzb2x2ZWQgPmZpbGUgJiYKKwlnaXQgYWRkIC11ICYmCisJIyBpbnRlcmFjdGl2ZSAiLS1yZXNvbHZlZCIgd2lsbCBhc2sgdXMgaWYgd2Ugd2FudCB0byBhcHBseSB0aGUgcmVzdWx0CisJZWNobyB5IHwgZ2l0IGFtIC1pIC0tcmVzb2x2ZWQgJiYKKworCWVjaG8gY29uZmxpY3QtcGF0Y2ggPmV4cGVjdCAmJgorCWdpdCBsb2cgLTEgLS1mb3JtYXQ9JXMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCWVjaG8gcmVzb2x2ZWQgPmV4cGVjdCAmJgorCWdpdCBjYXQtZmlsZSBibG9iIEhFQUQ6ZmlsZSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDQzMDAtbWVyZ2UtdHJlZS5zaCBiL3QvdDQzMDAtbWVyZ2UtdHJlZS5zaAppbmRleCBkODdjYzdkLi5lNTk2MDFlIDEwMDc1NQotLS0gYS90L3Q0MzAwLW1lcmdlLXRyZWUuc2gKKysrIGIvdC90NDMwMC1tZXJnZS10cmVlLnNoCkBAIC0xMSwxNiArMTEsMTYgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmlsZSBhZGQgQSwgIUInICcKLQljYXQgPmV4cGVjdGVkIDw8XEVYUEVDVEVEICYmCisJZ2l0IHJlc2V0IC0taGFyZCBpbml0aWFsICYmCisJdGVzdF9jb21taXQgImFkZC1hLW5vdC1iIiAiT05FIiAiQUFBIiAmJgorCWdpdCBtZXJnZS10cmVlIGluaXRpYWwgaW5pdGlhbCBhZGQtYS1ub3QtYiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PEVYUEVDVEVEICYmCiBhZGRlZCBpbiByZW1vdGUKLSAgdGhlaXIgIDEwMDY0NCA0M2Q1YThlZDZlZjZjMDBmZjc3NTAwODYzM2Y5NTc4N2QwODgyODVkIE9ORQorICB0aGVpciAgMTAwNjQ0ICQoZ2l0IHJldi1wYXJzZSBIRUFEOk9ORSkgT05FCiBAQCAtMCwwICsxIEBACiArQUFBCiBFWFBFQ1RFRAogCi0JZ2l0IHJlc2V0IC0taGFyZCBpbml0aWFsICYmCi0JdGVzdF9jb21taXQgImFkZC1hLW5vdC1iIiAiT05FIiAiQUFBIiAmJgotCWdpdCBtZXJnZS10cmVlIGluaXRpYWwgaW5pdGlhbCBhZGQtYS1ub3QtYiA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKQEAgLTQxLDEwICs0MSwxNSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmaWxlIGFkZCBBLCBCIChkaWZmZXJlbnQpJyAnCi0JY2F0ID5leHBlY3RlZCA8PFxFWFBFQ1RFRCAmJgorCWdpdCByZXNldCAtLWhhcmQgaW5pdGlhbCAmJgorCXRlc3RfY29tbWl0ICJhZGQtYS1iLWRpZmYtQSIgIk9ORSIgIkFBQSIgJiYKKwlnaXQgcmVzZXQgLS1oYXJkIGluaXRpYWwgJiYKKwl0ZXN0X2NvbW1pdCAiYWRkLWEtYi1kaWZmLUIiICJPTkUiICJCQkIiICYmCisJZ2l0IG1lcmdlLXRyZWUgaW5pdGlhbCBhZGQtYS1iLWRpZmYtQSBhZGQtYS1iLWRpZmYtQiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PEVYUEVDVEVEICYmCiBhZGRlZCBpbiBib3RoCi0gIG91ciAgICAxMDA2NDQgNDNkNWE4ZWQ2ZWY2YzAwZmY3NzUwMDg2MzNmOTU3ODdkMDg4Mjg1ZCBPTkUKLSAgdGhlaXIgIDEwMDY0NCBiYTYyOTIzOGNhODk0ODlmMmIzNTBlMTk2Y2E0NDVlMDlkOGJiODM0IE9ORQorICBvdXIgICAgMTAwNjQ0ICQoZ2l0IHJldi1wYXJzZSBhZGQtYS1iLWRpZmYtQTpPTkUpIE9ORQorICB0aGVpciAgMTAwNjQ0ICQoZ2l0IHJldi1wYXJzZSBhZGQtYS1iLWRpZmYtQjpPTkUpIE9ORQogQEAgLTEgKzEsNSBAQAogKzw8PDw8PDwgLm91cgogIEFBQQpAQCAtNTMsMTEgKzU4LDYgQEAKICs+Pj4+Pj4+IC50aGVpcgogRVhQRUNURUQKIAotCWdpdCByZXNldCAtLWhhcmQgaW5pdGlhbCAmJgotCXRlc3RfY29tbWl0ICJhZGQtYS1iLWRpZmYtQSIgIk9ORSIgIkFBQSIgJiYKLQlnaXQgcmVzZXQgLS1oYXJkIGluaXRpYWwgJiYKLQl0ZXN0X2NvbW1pdCAiYWRkLWEtYi1kaWZmLUIiICJPTkUiICJCQkIiICYmCi0JZ2l0IG1lcmdlLXRyZWUgaW5pdGlhbCBhZGQtYS1iLWRpZmYtQSBhZGQtYS1iLWRpZmYtQiA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKQEAgLTY5LDE4ICs2OSwxOCBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmaWxlIGNoYW5nZSAhQSwgQicgJwotCWNhdCA+ZXhwZWN0ZWQgPDxcRVhQRUNURUQgJiYKKwlnaXQgcmVzZXQgLS1oYXJkIGluaXRpYWwgJiYKKwl0ZXN0X2NvbW1pdCAiY2hhbmdlLW5vdC1hLWIiICJpbml0aWFsLWZpbGUiICJCQkIiICYmCisJZ2l0IG1lcmdlLXRyZWUgaW5pdGlhbCBpbml0aWFsIGNoYW5nZS1ub3QtYS1iID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8RVhQRUNURUQgJiYKIG1lcmdlZAotICByZXN1bHQgMTAwNjQ0IGJhNjI5MjM4Y2E4OTQ4OWYyYjM1MGUxOTZjYTQ0NWUwOWQ4YmI4MzQgaW5pdGlhbC1maWxlCi0gIG91ciAgICAxMDA2NDQgZTc5YzVlOGY5NjQ0OTMyOTBhNDA5ODg4ZDU0MTNhNzM3ZThlNWRkNSBpbml0aWFsLWZpbGUKKyAgcmVzdWx0IDEwMDY0NCAkKGdpdCByZXYtcGFyc2UgY2hhbmdlLWEtbm90LWI6aW5pdGlhbC1maWxlKSBpbml0aWFsLWZpbGUKKyAgb3VyICAgIDEwMDY0NCAkKGdpdCByZXYtcGFyc2UgaW5pdGlhbDppbml0aWFsLWZpbGUgICAgICAgKSBpbml0aWFsLWZpbGUKIEBAIC0xICsxIEBACiAtaW5pdGlhbAogK0JCQgogRVhQRUNURUQKIAotCWdpdCByZXNldCAtLWhhcmQgaW5pdGlhbCAmJgotCXRlc3RfY29tbWl0ICJjaGFuZ2Utbm90LWEtYiIgImluaXRpYWwtZmlsZSIgIkJCQiIgJiYKLQlnaXQgbWVyZ2UtdHJlZSBpbml0aWFsIGluaXRpYWwgY2hhbmdlLW5vdC1hLWIgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCkBAIC05NCwxMSArOTQsMTYgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmlsZSBjaGFuZ2UgQSwgQiAoZGlmZmVyZW50KScgJwotCWNhdCA+ZXhwZWN0ZWQgPDxcRVhQRUNURUQgJiYKKwlnaXQgcmVzZXQgLS1oYXJkIGluaXRpYWwgJiYKKwl0ZXN0X2NvbW1pdCAiY2hhbmdlLWEtYi1kaWZmLUEiICJpbml0aWFsLWZpbGUiICJBQUEiICYmCisJZ2l0IHJlc2V0IC0taGFyZCBpbml0aWFsICYmCisJdGVzdF9jb21taXQgImNoYW5nZS1hLWItZGlmZi1CIiAiaW5pdGlhbC1maWxlIiAiQkJCIiAmJgorCWdpdCBtZXJnZS10cmVlIGluaXRpYWwgY2hhbmdlLWEtYi1kaWZmLUEgY2hhbmdlLWEtYi1kaWZmLUIgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDxFWFBFQ1RFRCAmJgogY2hhbmdlZCBpbiBib3RoCi0gIGJhc2UgICAxMDA2NDQgZTc5YzVlOGY5NjQ0OTMyOTBhNDA5ODg4ZDU0MTNhNzM3ZThlNWRkNSBpbml0aWFsLWZpbGUKLSAgb3VyICAgIDEwMDY0NCA0M2Q1YThlZDZlZjZjMDBmZjc3NTAwODYzM2Y5NTc4N2QwODgyODVkIGluaXRpYWwtZmlsZQotICB0aGVpciAgMTAwNjQ0IGJhNjI5MjM4Y2E4OTQ4OWYyYjM1MGUxOTZjYTQ0NWUwOWQ4YmI4MzQgaW5pdGlhbC1maWxlCisgIGJhc2UgICAxMDA2NDQgJChnaXQgcmV2LXBhcnNlIGluaXRpYWw6aW5pdGlhbC1maWxlICAgICAgICAgICkgaW5pdGlhbC1maWxlCisgIG91ciAgICAxMDA2NDQgJChnaXQgcmV2LXBhcnNlIGNoYW5nZS1hLWItZGlmZi1BOmluaXRpYWwtZmlsZSkgaW5pdGlhbC1maWxlCisgIHRoZWlyICAxMDA2NDQgJChnaXQgcmV2LXBhcnNlIGNoYW5nZS1hLWItZGlmZi1COmluaXRpYWwtZmlsZSkgaW5pdGlhbC1maWxlCiBAQCAtMSArMSw1IEBACiArPDw8PDw8PCAub3VyCiAgQUFBCkBAIC0xMDcsMzQgKzExMiwxMCBAQAogKz4+Pj4+Pj4gLnRoZWlyCiBFWFBFQ1RFRAogCi0JZ2l0IHJlc2V0IC0taGFyZCBpbml0aWFsICYmCi0JdGVzdF9jb21taXQgImNoYW5nZS1hLWItZGlmZi1BIiAiaW5pdGlhbC1maWxlIiAiQUFBIiAmJgotCWdpdCByZXNldCAtLWhhcmQgaW5pdGlhbCAmJgotCXRlc3RfY29tbWl0ICJjaGFuZ2UtYS1iLWRpZmYtQiIgImluaXRpYWwtZmlsZSIgIkJCQiIgJiYKLQlnaXQgbWVyZ2UtdHJlZSBpbml0aWFsIGNoYW5nZS1hLWItZGlmZi1BIGNoYW5nZS1hLWItZGlmZi1CID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmlsZSBjaGFuZ2UgQSwgQiAobWl4ZWQpJyAnCi0JY2F0ID5leHBlY3RlZCA8PFxFWFBFQ1RFRCAmJgotY2hhbmdlZCBpbiBib3RoCi0gIGJhc2UgICAxMDA2NDQgZjRmMWY5OThjNzc3NjU2OGM0ZmYzOGY1MTZkNzdmZWY5Mzk5YjVhNyBPTkUKLSAgb3VyICAgIDEwMDY0NCBhZjE0YzJjMzQ3NTMzN2M3Mzc1OWQ1NjFlZjcwYjU5ZTVjNzMxMTc2IE9ORQotICB0aGVpciAgMTAwNjQ0IDM3MmQ3NjE0OTNmNTI0ZDQ0ZDU5YmQyNDcwMGMzYmRmOTE0Yzk3M2MgT05FCi1AQCAtNyw3ICs3LDExIEBACi0gQUFBCi0gQUFBCi0gQUFBCi0rPDw8PDw8PCAub3VyCi0gQkJCCi0rPT09PT09PQotK0NDQwotKz4+Pj4+Pj4gLnRoZWlyCi0gQUFBCi0gQUFBCi0gQUFBCi1FWFBFQ1RFRAotCiAJZ2l0IHJlc2V0IC0taGFyZCBpbml0aWFsICYmCiAJdGVzdF9jb21taXQgImNoYW5nZS1hLWItbWl4LWJhc2UiICJPTkUiICIKIEFBQQpAQCAtMTU5LDYgKzE0MCwyNiBAQAogCQkiJChzZWQgLWUgIjF7cy9BQUEvQkJCLzt9IiAtZSAiMTB7cy9BQUEvQ0NDLzt9IiA8T05FKSIgJiYKIAlnaXQgbWVyZ2UtdHJlZSBjaGFuZ2UtYS1iLW1peC1iYXNlIGNoYW5nZS1hLWItbWl4LUEgY2hhbmdlLWEtYi1taXgtQiBcCiAJCT5hY3R1YWwgJiYKKworCWNhdCA+ZXhwZWN0ZWQgPDxFWFBFQ1RFRCAmJgorY2hhbmdlZCBpbiBib3RoCisgIGJhc2UgICAxMDA2NDQgJChnaXQgcmV2LXBhcnNlIGNoYW5nZS1hLWItbWl4LWJhc2U6T05FKSBPTkUKKyAgb3VyICAgIDEwMDY0NCAkKGdpdCByZXYtcGFyc2UgY2hhbmdlLWEtYi1taXgtQTpPTkUgICApIE9ORQorICB0aGVpciAgMTAwNjQ0ICQoZ2l0IHJldi1wYXJzZSBjaGFuZ2UtYS1iLW1peC1COk9ORSAgICkgT05FCitAQCAtNyw3ICs3LDExIEBACisgQUFBCisgQUFBCisgQUFBCisrPDw8PDw8PCAub3VyCisgQkJCCisrPT09PT09PQorK0NDQworKz4+Pj4+Pj4gLnRoZWlyCisgQUFBCisgQUFBCisgQUFBCitFWFBFQ1RFRAorCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKQEAgLTE3MywyMCArMTc0LDIwIEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZpbGUgcmVtb3ZlICFBLCBCJyAnCi0JY2F0ID5leHBlY3RlZCA8PFxFWFBFQ1RFRCAmJgotcmVtb3ZlZCBpbiByZW1vdGUKLSAgYmFzZSAgIDEwMDY0NCA0M2Q1YThlZDZlZjZjMDBmZjc3NTAwODYzM2Y5NTc4N2QwODgyODVkIE9ORQotICBvdXIgICAgMTAwNjQ0IDQzZDVhOGVkNmVmNmMwMGZmNzc1MDA4NjMzZjk1Nzg3ZDA4ODI4NWQgT05FCi1AQCAtMSArMCwwIEBACi0tQUFBCi1FWFBFQ1RFRAotCiAJZ2l0IHJlc2V0IC0taGFyZCBpbml0aWFsICYmCiAJdGVzdF9jb21taXQgInJtLW5vdC1hLWItYmFzZSIgIk9ORSIgIkFBQSIgJiYKIAlnaXQgcm0gT05FICYmCiAJZ2l0IGNvbW1pdCAtbSAicm0tbm90LWEtYiIgJiYKIAlnaXQgdGFnICJybS1ub3QtYS1iIiAmJgogCWdpdCBtZXJnZS10cmVlIHJtLWEtbm90LWItYmFzZSBybS1hLW5vdC1iLWJhc2Ugcm0tYS1ub3QtYiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PEVYUEVDVEVEICYmCityZW1vdmVkIGluIHJlbW90ZQorICBiYXNlICAgMTAwNjQ0ICQoZ2l0IHJldi1wYXJzZSBybS1hLW5vdC1iLWJhc2U6T05FKSBPTkUKKyAgb3VyICAgIDEwMDY0NCAkKGdpdCByZXYtcGFyc2Ugcm0tYS1ub3QtYi1iYXNlOk9ORSkgT05FCitAQCAtMSArMCwwIEBACistQUFBCitFWFBFQ1RFRAorCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKQEAgLTIwMSwxNCArMjAyLDYgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmlsZSBjaGFuZ2UgQSwgcmVtb3ZlIEInICcKLQljYXQgPmV4cGVjdGVkIDw8XEVYUEVDVEVEICYmCi1yZW1vdmVkIGluIHJlbW90ZQotICBiYXNlICAgMTAwNjQ0IDQzZDVhOGVkNmVmNmMwMGZmNzc1MDA4NjMzZjk1Nzg3ZDA4ODI4NWQgT05FCi0gIG91ciAgICAxMDA2NDQgYmE2MjkyMzhjYTg5NDg5ZjJiMzUwZTE5NmNhNDQ1ZTA5ZDhiYjgzNCBPTkUKLUBAIC0xICswLDAgQEAKLS1CQkIKLUVYUEVDVEVECi0KIAlnaXQgcmVzZXQgLS1oYXJkIGluaXRpYWwgJiYKIAl0ZXN0X2NvbW1pdCAiY2hhbmdlLWEtcm0tYi1iYXNlIiAiT05FIiAiQUFBIiAmJgogCXRlc3RfY29tbWl0ICJjaGFuZ2UtYS1ybS1iLUEiICJPTkUiICJCQkIiICYmCkBAIC0yMTgsMTYgKzIxMSwxOCBAQAogCWdpdCB0YWcgImNoYW5nZS1hLXJtLWItQiIgJiYKIAlnaXQgbWVyZ2UtdHJlZSBjaGFuZ2UtYS1ybS1iLWJhc2UgY2hhbmdlLWEtcm0tYi1BIGNoYW5nZS1hLXJtLWItQiBcCiAJCT5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8RVhQRUNURUQgJiYKK3JlbW92ZWQgaW4gcmVtb3RlCisgIGJhc2UgICAxMDA2NDQgJChnaXQgcmV2LXBhcnNlIGNoYW5nZS1hLXJtLWItYmFzZTpPTkUpIE9ORQorICBvdXIgICAgMTAwNjQ0ICQoZ2l0IHJldi1wYXJzZSBjaGFuZ2UtYS1ybS1iLUE6T05FICAgKSBPTkUKK0BAIC0xICswLDAgQEAKKy1CQkIKK0VYUEVDVEVECisKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmlsZSByZW1vdmUgQSwgY2hhbmdlIEInICcKLQljYXQgPmV4cGVjdGVkIDw8XEVYUEVDVEVEICYmCi1yZW1vdmVkIGluIGxvY2FsCi0gIGJhc2UgICAxMDA2NDQgNDNkNWE4ZWQ2ZWY2YzAwZmY3NzUwMDg2MzNmOTU3ODdkMDg4Mjg1ZCBPTkUKLSAgdGhlaXIgIDEwMDY0NCBiYTYyOTIzOGNhODk0ODlmMmIzNTBlMTk2Y2E0NDVlMDlkOGJiODM0IE9ORQotRVhQRUNURUQKLQogCWdpdCByZXNldCAtLWhhcmQgaW5pdGlhbCAmJgogCXRlc3RfY29tbWl0ICJybS1hLWNoYW5nZS1iLWJhc2UiICJPTkUiICJBQUEiICYmCiAKQEAgLTIzOCw2ICsyMzMsMTEgQEAKIAl0ZXN0X2NvbW1pdCAicm0tYS1jaGFuZ2UtYi1CIiAiT05FIiAiQkJCIiAmJgogCWdpdCBtZXJnZS10cmVlIHJtLWEtY2hhbmdlLWItYmFzZSBybS1hLWNoYW5nZS1iLUEgcm0tYS1jaGFuZ2UtYi1CIFwKIAkJPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDxFWFBFQ1RFRCAmJgorcmVtb3ZlZCBpbiBsb2NhbAorICBiYXNlICAgMTAwNjQ0ICQoZ2l0IHJldi1wYXJzZSBybS1hLWNoYW5nZS1iLWJhc2U6T05FKSBPTkUKKyAgdGhlaXIgIDEwMDY0NCAkKGdpdCByZXYtcGFyc2Ugcm0tYS1jaGFuZ2UtYi1COk9ORSAgICkgT05FCitFWFBFQ1RFRAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCkBAIC0yNTAsMTcgKzI1MCw2IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RyZWUgYWRkIEEsIEIgKGRpZmZlcmVudCknICcKLQljYXQgPmV4cGVjdCA8PC1cRU9GICYmCi0JYWRkZWQgaW4gYm90aAotCSAgb3VyICAgIDEwMDY0NCA0M2Q1YThlZDZlZjZjMDBmZjc3NTAwODYzM2Y5NTc4N2QwODgyODVkIHN1Yi9maWxlCi0JICB0aGVpciAgMTAwNjQ0IGJhNjI5MjM4Y2E4OTQ4OWYyYjM1MGUxOTZjYTQ0NWUwOWQ4YmI4MzQgc3ViL2ZpbGUKLQlAQCAtMSArMSw1IEBACi0JKzw8PDw8PDwgLm91cgotCSBBQUEKLQkrPT09PT09PQotCStCQkIKLQkrPj4+Pj4+PiAudGhlaXIKLQlFT0YKIAlnaXQgcmVzZXQgLS1oYXJkIGluaXRpYWwgJiYKIAlta2RpciBzdWIgJiYKIAl0ZXN0X2NvbW1pdCAiYWRkIHN1Yi9maWxlIiAic3ViL2ZpbGUiICJBQUEiIGFkZC10cmVlLWEtYi1BICYmCkBAIC0yNjgsMTcgKzI1NywyMSBAQAogCW1rZGlyIHN1YiAmJgogCXRlc3RfY29tbWl0ICJhZGQgc3ViL2ZpbGUiICJzdWIvZmlsZSIgIkJCQiIgYWRkLXRyZWUtYS1iLUIgJiYKIAlnaXQgbWVyZ2UtdHJlZSBpbml0aWFsIGFkZC10cmVlLWEtYi1BIGFkZC10cmVlLWEtYi1CID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwlhZGRlZCBpbiBib3RoCisJICBvdXIgICAgMTAwNjQ0ICQoZ2l0IHJldi1wYXJzZSBhZGQtdHJlZS1hLWItQTpzdWIvZmlsZSkgc3ViL2ZpbGUKKwkgIHRoZWlyICAxMDA2NDQgJChnaXQgcmV2LXBhcnNlIGFkZC10cmVlLWEtYi1COnN1Yi9maWxlKSBzdWIvZmlsZQorCUBAIC0xICsxLDUgQEAKKwkrPDw8PDw8PCAub3VyCisJIEFBQQorCSs9PT09PT09CisJK0JCQgorCSs+Pj4+Pj4+IC50aGVpcgorCUVPRgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndHJlZSB1bmNoYW5nZWQgQSwgcmVtb3ZlZCBCJyAnCi0JY2F0ID5leHBlY3QgPDwtXEVPRiAmJgotCXJlbW92ZWQgaW4gcmVtb3RlCi0JICBiYXNlICAgMTAwNjQ0IDQzZDVhOGVkNmVmNmMwMGZmNzc1MDA4NjMzZjk1Nzg3ZDA4ODI4NWQgc3ViL2ZpbGUKLQkgIG91ciAgICAxMDA2NDQgNDNkNWE4ZWQ2ZWY2YzAwZmY3NzUwMDg2MzNmOTU3ODdkMDg4Mjg1ZCBzdWIvZmlsZQotCUBAIC0xICswLDAgQEAKLQktQUFBCi0JRU9GCiAJZ2l0IHJlc2V0IC0taGFyZCBpbml0aWFsICYmCiAJbWtkaXIgc3ViICYmCiAJdGVzdF9jb21taXQgImFkZCBzdWIvZmlsZSIgInN1Yi9maWxlIiAiQUFBIiB0cmVlLXJlbW92ZS1iLWluaXRpYWwgJiYKQEAgLTI4Nyw2ICsyODAsMTMgQEAKIAlnaXQgY29tbWl0IC1tICJyZW1vdmUgc3ViL2ZpbGUiICYmCiAJZ2l0IHRhZyB0cmVlLXJlbW92ZS1iLUIgJiYKIAlnaXQgbWVyZ2UtdHJlZSB0cmVlLXJlbW92ZS1iLWluaXRpYWwgdHJlZS1yZW1vdmUtYi1pbml0aWFsIHRyZWUtcmVtb3ZlLWItQiA+YWN0dWFsICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJcmVtb3ZlZCBpbiByZW1vdGUKKwkgIGJhc2UgICAxMDA2NDQgJChnaXQgcmV2LXBhcnNlIHRyZWUtcmVtb3ZlLWItaW5pdGlhbDpzdWIvZmlsZSkgc3ViL2ZpbGUKKwkgIG91ciAgICAxMDA2NDQgJChnaXQgcmV2LXBhcnNlIHRyZWUtcmVtb3ZlLWItaW5pdGlhbDpzdWIvZmlsZSkgc3ViL2ZpbGUKKwlAQCAtMSArMCwwIEBACisJLUFBQQorCUVPRgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIApAQCAtMjk2LDE0ICsyOTYsMTQgQEAKIAlta2RpciBpbml0aWFsLWZpbGUgJiYKIAl0ZXN0X2NvbW1pdCAidHVybi1maWxlLXRvLXRyZWUiICJpbml0aWFsLWZpbGUvT05FIiAiQ0NDIiAmJgogCWdpdCBtZXJnZS10cmVlIGluaXRpYWwgaW5pdGlhbCB0dXJuLWZpbGUtdG8tdHJlZSA+YWN0dWFsICYmCi0JY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgogCWFkZGVkIGluIHJlbW90ZQotCSAgdGhlaXIgIDEwMDY0NCA0M2FhNGZkZWMzMWViOTJlMWZkYzJmMGNlNmVhOWRkYjdjMzJiY2Y3IGluaXRpYWwtZmlsZS9PTkUKKwkgIHRoZWlyICAxMDA2NDQgJChnaXQgcmV2LXBhcnNlIHR1cm4tZmlsZS10by10cmVlOmluaXRpYWwtZmlsZS9PTkUpIGluaXRpYWwtZmlsZS9PTkUKIAlAQCAtMCwwICsxIEBACiAJK0NDQwogCXJlbW92ZWQgaW4gcmVtb3RlCi0JICBiYXNlICAgMTAwNjQ0IGU3OWM1ZThmOTY0NDkzMjkwYTQwOTg4OGQ1NDEzYTczN2U4ZTVkZDUgaW5pdGlhbC1maWxlCi0JICBvdXIgICAgMTAwNjQ0IGU3OWM1ZThmOTY0NDkzMjkwYTQwOTg4OGQ1NDEzYTczN2U4ZTVkZDUgaW5pdGlhbC1maWxlCisJICBiYXNlICAgMTAwNjQ0ICQoZ2l0IHJldi1wYXJzZSBpbml0aWFsOmluaXRpYWwtZmlsZSkgaW5pdGlhbC1maWxlCisJICBvdXIgICAgMTAwNjQ0ICQoZ2l0IHJldi1wYXJzZSBpbml0aWFsOmluaXRpYWwtZmlsZSkgaW5pdGlhbC1maWxlCiAJQEAgLTEgKzAsMCBAQAogCS1pbml0aWFsCiAJRU9GCkBAIC0zMTgsMTQgKzMxOCwxNCBAQAogCXJtIC1mciBkaXIgJiYKIAl0ZXN0X2NvbW1pdCAibWFrZS1maWxlIiAiZGlyIiAiQ0NDIiAmJgogCWdpdCBtZXJnZS10cmVlIGFkZC10cmVlIGFkZC1hbm90aGVyLXRyZWUgbWFrZS1maWxlID5hY3R1YWwgJiYKLQljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCiAJcmVtb3ZlZCBpbiByZW1vdGUKLQkgIGJhc2UgICAxMDA2NDQgNDNkNWE4ZWQ2ZWY2YzAwZmY3NzUwMDg2MzNmOTU3ODdkMDg4Mjg1ZCBkaXIvcGF0aAotCSAgb3VyICAgIDEwMDY0NCA0M2Q1YThlZDZlZjZjMDBmZjc3NTAwODYzM2Y5NTc4N2QwODgyODVkIGRpci9wYXRoCisJICBiYXNlICAgMTAwNjQ0ICQoZ2l0IHJldi1wYXJzZSBhZGQtdHJlZTpkaXIvcGF0aCkgZGlyL3BhdGgKKwkgIG91ciAgICAxMDA2NDQgJChnaXQgcmV2LXBhcnNlIGFkZC10cmVlOmRpci9wYXRoKSBkaXIvcGF0aAogCUBAIC0xICswLDAgQEAKIAktQUFBCiAJYWRkZWQgaW4gcmVtb3RlCi0JICB0aGVpciAgMTAwNjQ0IDQzYWE0ZmRlYzMxZWI5MmUxZmRjMmYwY2U2ZWE5ZGRiN2MzMmJjZjcgZGlyCisJICB0aGVpciAgMTAwNjQ0ICQoZ2l0IHJldi1wYXJzZSBtYWtlLWZpbGU6ZGlyKSBkaXIKIAlAQCAtMCwwICsxIEBACiAJK0NDQwogCUVPRgpkaWZmIC0tZ2l0IGEvdC90NTAwMC10YXItdHJlZS5zaCBiL3QvdDUwMDAtdGFyLXRyZWUuc2gKaW5kZXggNjAyYmZkOS4uMzc2NTVhMiAxMDA3NTUKLS0tIGEvdC90NTAwMC10YXItdHJlZS5zaAorKysgYi90L3Q1MDAwLXRhci10cmVlLnNoCkBAIC05NCw2ICs5NCwxMyBAQAogCScKIH0KIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKKwl0ZXN0X29pZF9jYWNoZSA8PC1FT0YKKwlvYmogc2hhMToxOWY5YzgyNzNlYzQ1YTg5MzhlNjk5OWNiNTliM2ZmNjY3Mzk5MDJhCisJb2JqIHNoYTI1NjozYzY2NmY3OTg3OTg2MDE1NzFmNWNlYzBhZGI1N2NlNGFiYTg1NDY4NzVlNzY5MzE3N2UwNTM1ZjM0ZDJjNDliCisJRU9GCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAogICAgICdwb3B1bGF0ZSB3b3JrZGlyJyBcCiAgICAgJ21rZGlyIGEgJiYKQEAgLTM2OSwxMSArMzc2LDEwIEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgTE9OR19JU182NEJJVCAnc2V0IHVwIHJlcG9zaXRvcnkgd2l0aCBodWdlIGJsb2InICcKLQlvYmpfZD0xOSAmJgotCW9ial9mPWY5YzgyNzNlYzQ1YTg5MzhlNjk5OWNiNTliM2ZmNjY3Mzk5MDJhICYmCi0Jb2JqPSR7b2JqX2R9JHtvYmpfZn0gJiYKLQlta2RpciAtcCAuZ2l0L29iamVjdHMvJG9ial9kICYmCi0JY3AgIiRURVNUX0RJUkVDVE9SWSIvdDUwMDAvJG9iaiAuZ2l0L29iamVjdHMvJG9ial9kLyRvYmpfZiAmJgorCW9iaj0kKHRlc3Rfb2lkIG9iaikgJiYKKwlwYXRoPSQodGVzdF9vaWRfdG9fcGF0aCAkb2JqKSAmJgorCW1rZGlyIC1wIC5naXQvb2JqZWN0cy8kKGRpcm5hbWUgJHBhdGgpICYmCisJY3AgIiRURVNUX0RJUkVDVE9SWSIvdDUwMDAvaHVnZS1vYmplY3QgLmdpdC9vYmplY3RzLyRwYXRoICYmCiAJcm0gLWYgLmdpdC9pbmRleCAmJgogCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgLS1jYWNoZWluZm8gMTAwNjQ0LCRvYmosaHVnZSAmJgogCWdpdCBjb21taXQgLW0gaHVnZQpkaWZmIC0tZ2l0IGEvdC90NTAwMC8xOWY5YzgyNzNlYzQ1YTg5MzhlNjk5OWNiNTliM2ZmNjY3Mzk5MDJhIGIvdC90NTAwMC9odWdlLW9iamVjdApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gdC90NTAwMC8xOWY5YzgyNzNlYzQ1YTg5MzhlNjk5OWNiNTliM2ZmNjY3Mzk5MDJhCnJlbmFtZSB0byB0L3Q1MDAwL2h1Z2Utb2JqZWN0CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3QvdDUwMDQtYXJjaGl2ZS1jb3JuZXItY2FzZXMuc2ggYi90L3Q1MDA0LWFyY2hpdmUtY29ybmVyLWNhc2VzLnNoCmluZGV4IGNlZDQ0MzUuLjNlN2IyM2MgMTAwNzU1Ci0tLSBhL3QvdDUwMDQtYXJjaGl2ZS1jb3JuZXItY2FzZXMuc2gKKysrIGIvdC90NTAwNC1hcmNoaXZlLWNvcm5lci1jYXNlcy5zaApAQCAtMyw4ICszLDEyIEBACiB0ZXN0X2Rlc2NyaXB0aW9uPSd0ZXN0IGNvcm5lciBjYXNlcyBvZiBnaXQtYXJjaGl2ZScKIC4gLi90ZXN0LWxpYi5zaAogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgY29tbWl0IHdpdGggZW1wdHkgdHJlZScgJwotCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSBmb28KKyMgdGhlIDEwa251bHMudGFyIGZpbGUgaXMgdXNlZCB0byB0ZXN0IGZvciBhbiBlbXB0eSBnaXQgZ2VuZXJhdGVkIHRhcgorIyB3aXRob3V0IGhhdmluZyB0byBpbnZva2UgdGFyIGJlY2F1c2UgYW4gb3RoZXJ3aXNlIHZhbGlkIGVtcHR5IEdOVSB0YXIKKyMgd2lsbCBiZSBjb25zaWRlcmVkIGJyb2tlbiBieSB7T3BlbixOZXR9QlNEIHRhcgordGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIGNvbW1pdCB3aXRoIGVtcHR5IHRyZWUgYW5kIGZha2UgZW1wdHkgdGFyJyAnCisJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tIGZvbyAmJgorCXBlcmwgLWUgInByaW50IFwiXFwwXCIgeCAxMDI0MCIgPjEwa251bHMudGFyCiAnCiAKICMgTWFrZSBhIGRpciBhbmQgY2xlYW4gaXQgdXAgYWZ0ZXJ3YXJkcwpAQCAtNDcsNyArNTEsNiBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0YXIgYXJjaGl2ZSBvZiBlbXB0eSB0cmVlIGlzIGVtcHR5JyAnCiAJZ2l0IGFyY2hpdmUgLS1mb3JtYXQ9dGFyIEhFQUQ6ID5lbXB0eS50YXIgJiYKLQlwZXJsIC1lICJwcmludCBcIlxcMFwiIHggMTAyNDAiID4xMGtudWxzLnRhciAmJgogCXRlc3RfY21wX2JpbiAxMGtudWxzLnRhciBlbXB0eS50YXIKICcKIApAQCAtMTA2LDE2ICsxMDksMTIgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYXJjaGl2ZSBlbXB0eSBzdWJ0cmVlIHdpdGggbm8gcGF0aHNwZWMnICcKIAlnaXQgYXJjaGl2ZSAtLWZvcm1hdD10YXIgJHJvb3RfdHJlZSA+c3VidHJlZS1hbGwudGFyICYmCi0JbWFrZV9kaXIgZXh0cmFjdCAmJgotCSIkVEFSIiB4ZiBzdWJ0cmVlLWFsbC50YXIgLUMgZXh0cmFjdCAmJgotCWNoZWNrX2RpciBleHRyYWN0CisJdGVzdF9jbXBfYmluIDEwa251bHMudGFyIHN1YnRyZWUtYWxsLnRhcgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhcmNoaXZlIGVtcHR5IHN1YnRyZWUgYnkgZGlyZWN0IHBhdGhzcGVjJyAnCiAJZ2l0IGFyY2hpdmUgLS1mb3JtYXQ9dGFyICRyb290X3RyZWUgLS0gc3ViID5zdWJ0cmVlLXBhdGgudGFyICYmCi0JbWFrZV9kaXIgZXh0cmFjdCAmJgotCSIkVEFSIiB4ZiBzdWJ0cmVlLXBhdGgudGFyIC1DIGV4dHJhY3QgJiYKLQljaGVja19kaXIgZXh0cmFjdAorCXRlc3RfY21wX2JpbiAxMGtudWxzLnRhciBzdWJ0cmVlLXBhdGgudGFyCiAnCiAKIFpJUElORk89emlwaW5mbwpAQCAtMjA1LDQgKzIwNCwyMyBAQAogCWdyZXAgJHNpemUgYmlnLmxzdAogJwogCitidWlsZF90cmVlKCkgeworCXBlcmwgLWUgJworCQlteSAkaGFzaCA9ICRBUkdWWzBdOworCQlmb3JlYWNoIG15ICRvcmRlciAoMi4uNikgeworCQkJJGZpcnN0ID0gMTAgKiogJG9yZGVyOworCQkJZm9yZWFjaCBteSAkaSAoLTEzLi4tOSkgeworCQkJCW15ICRuYW1lID0gImEiIHggKCRmaXJzdCArICRpKTsKKwkJCQlwcmludCAiMTAwNjQ0IGJsb2IgJGhhc2hcdCRuYW1lXG4iCisJCQl9CisJCX0KKwknICIkMSIKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGFyIGFyY2hpdmUgd2l0aCBsb25nIHBhdGhzJyAnCisJYmxvYj0kKGVjaG8gZm9vIHwgZ2l0IGhhc2gtb2JqZWN0IC13IC0tc3RkaW4pICYmCisJdHJlZT0kKGJ1aWxkX3RyZWUgJGJsb2IgfCBnaXQgbWt0cmVlKSAmJgorCWdpdCBhcmNoaXZlIC1vIGxvbmdfcGF0aHMudGFyICR0cmVlCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTEwMC1tYWlsaW5mby5zaCBiL3QvdDUxMDAtbWFpbGluZm8uc2gKaW5kZXggOTY5MGRjYS4uMTQ3ZTYxNiAxMDA3NTUKLS0tIGEvdC90NTEwMC1tYWlsaW5mby5zaAorKysgYi90L3Q1MTAwLW1haWxpbmZvLnNoCkBAIC0yMTMsNCArMjEzLDE5IEBACiAJdGVzdCB6IiRzdWJqIiA9IHoiU3ViamVjdDogW290aGVyXSBtZXNzYWdlIgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtYWlsaW5mbyBoYW5kbGVzIHVudXN1YWwgaGVhZGVyIHdoaXRlc3BhY2UnICcKKwlnaXQgbWFpbGluZm8gL2Rldi9udWxsIC9kZXYvbnVsbCA+YWN0dWFsIDw8LVxFT0YgJiYKKwlGcm9tOlJlYWwgTmFtZSA8dXNlckBleGFtcGxlLmNvbT4KKwlTdWJqZWN0OiAgICBleHRyYSBzcGFjZXMKKwlFT0YKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlBdXRob3I6IFJlYWwgTmFtZQorCUVtYWlsOiB1c2VyQGV4YW1wbGUuY29tCisJU3ViamVjdDogZXh0cmEgc3BhY2VzCisKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTE1MC1yZXF1ZXN0LXB1bGwuc2ggYi90L3Q1MTUwLXJlcXVlc3QtcHVsbC5zaAppbmRleCBmY2EwMDFlLi5jMTgxMWVhIDEwMDc1NQotLS0gYS90L3Q1MTUwLXJlcXVlc3QtcHVsbC5zaAorKysgYi90L3Q1MTUwLXJlcXVlc3QtcHVsbC5zaApAQCAtNCw2ICs0LDEyIEBACiAKIC4gLi90ZXN0LWxpYi5zaAogCitpZiAhIHRlc3RfaGF2ZV9wcmVyZXEgUEVSTAordGhlbgorCXNraXBfYWxsPSdza2lwcGluZyByZXF1ZXN0LXB1bGwgdGVzdHMsIHBlcmwgbm90IGF2YWlsYWJsZScKKwl0ZXN0X2RvbmUKK2ZpCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCiAKIAlnaXQgaW5pdCAtLWJhcmUgdXBzdHJlYW0uZ2l0ICYmCkBAIC0xNDQsNyArMTUwLDYgQEAKIAkJZ2l0IHJlcXVlc3QtcHVsbCBpbml0aWFsIG9yaWdpbiBtYXN0ZXI6Zm9yLXVwc3RyZWFtID4uLi9yZXF1ZXN0CiAJKSAmJgogCXNlZCAtbmYgcmVhZC1yZXF1ZXN0LnNlZCA8cmVxdWVzdCA+ZGlnZXN0ICYmCi0JY2F0IGRpZ2VzdCAmJgogCXsKIAkJcmVhZCB0YXNrICYmCiAJCXJlYWQgcmVwb3NpdG9yeSAmJgpAQCAtMTczLDcgKzE3OCw2IEBACiAJCWdpdCByZXF1ZXN0LXB1bGwgaW5pdGlhbCAiJGRvd25zdHJlYW1fdXJsIiA+Li4vcmVxdWVzdAogCSkgJiYKIAlzZWQgLW5mIHJlYWQtcmVxdWVzdC5zZWQgPHJlcXVlc3QgPmRpZ2VzdCAmJgotCWNhdCBkaWdlc3QgJiYKIAl7CiAJCXJlYWQgdGFzayAmJgogCQlyZWFkIHJlcG9zaXRvcnkgJiYKQEAgLTI0Niw0ICsyNTAsNTcgQEAKIAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXF1ZXN0LXB1bGwgcXVvdGVzIHJlZ2V4IG1ldGFjaGFyYWN0ZXJzIHByb3Blcmx5JyAnCisKKwlybSAtZnIgZG93bnN0cmVhbS5naXQgJiYKKwlnaXQgaW5pdCAtLWJhcmUgZG93bnN0cmVhbS5naXQgJiYKKwkoCisJCWNkIGxvY2FsICYmCisJCWdpdCBjaGVja291dCBpbml0aWFsICYmCisJCWdpdCBtZXJnZSAtLWZmLW9ubHkgbWFzdGVyICYmCisJCWdpdCB0YWcgLW1yZWxlYXNlIHYyLjAgJiYKKwkJZ2l0IHB1c2ggb3JpZ2luIHJlZnMvdGFncy92Mi4wOnJlZnMvdGFncy92Mi0wICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCByZXF1ZXN0LXB1bGwgaW5pdGlhbCAiJGRvd25zdHJlYW1fdXJsIiB0YWdzL3YyLjAgXAorCQkJMj4uLi9lcnIKKwkpICYmCisJZ3JlcCAiTm8gbWF0Y2ggZm9yIGNvbW1pdCAuKiIgZXJyICYmCisJZ3JlcCAiQXJlIHlvdSBzdXJlIHlvdSBwdXNoZWQiIGVycgorCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1bGwgcmVxdWVzdCB3aXRoIG1pc21hdGNoZWQgb2JqZWN0JyAnCisKKwlybSAtZnIgZG93bnN0cmVhbS5naXQgJiYKKwlnaXQgaW5pdCAtLWJhcmUgZG93bnN0cmVhbS5naXQgJiYKKwkoCisJCWNkIGxvY2FsICYmCisJCWdpdCBjaGVja291dCBpbml0aWFsICYmCisJCWdpdCBtZXJnZSAtLWZmLW9ubHkgbWFzdGVyICYmCisJCWdpdCBwdXNoIG9yaWdpbiBIRUFEOnJlZnMvdGFncy9mdWxsICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCByZXF1ZXN0LXB1bGwgaW5pdGlhbCAiJGRvd25zdHJlYW1fdXJsIiB0YWdzL2Z1bGwgXAorCQkJMj4uLi9lcnIKKwkpICYmCisJZ3JlcCAicG9pbnRzIHRvIGEgZGlmZmVyZW50IG9iamVjdCIgZXJyICYmCisJZ3JlcCAiQXJlIHlvdSBzdXJlIHlvdSBwdXNoZWQiIGVycgorCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1bGwgcmVxdWVzdCB3aXRoIHN0YWxlIG9iamVjdCcgJworCisJcm0gLWZyIGRvd25zdHJlYW0uZ2l0ICYmCisJZ2l0IGluaXQgLS1iYXJlIGRvd25zdHJlYW0uZ2l0ICYmCisJKAorCQljZCBsb2NhbCAmJgorCQlnaXQgY2hlY2tvdXQgaW5pdGlhbCAmJgorCQlnaXQgbWVyZ2UgLS1mZi1vbmx5IG1hc3RlciAmJgorCQlnaXQgcHVzaCBvcmlnaW4gcmVmcy90YWdzL2Z1bGwgJiYKKwkJZ2l0IHRhZyAtZiAtbSJUaGlydHktb25lIGRheXMiIGZ1bGwgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlcXVlc3QtcHVsbCBpbml0aWFsICIkZG93bnN0cmVhbV91cmwiIHRhZ3MvZnVsbCBcCisJCQkyPi4uL2VycgorCSkgJiYKKwlncmVwICJwb2ludHMgdG8gYSBkaWZmZXJlbnQgb2JqZWN0IiBlcnIgJiYKKwlncmVwICJBcmUgeW91IHN1cmUgeW91IHB1c2hlZCIgZXJyCisKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1MjAwLXVwZGF0ZS1zZXJ2ZXItaW5mby5zaCBiL3QvdDUyMDAtdXBkYXRlLXNlcnZlci1pbmZvLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIxYTU4ZWUKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q1MjAwLXVwZGF0ZS1zZXJ2ZXItaW5mby5zaApAQCAtMCwwICsxLDQxIEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nVGVzdCBnaXQgdXBkYXRlLXNlcnZlci1pbmZvJworCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICd0ZXN0X2NvbW1pdCBmaWxlJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgaW5mby9yZWZzJyAnCisJZ2l0IHVwZGF0ZS1zZXJ2ZXItaW5mbyAmJgorCXRlc3RfcGF0aF9pc19maWxlIC5naXQvaW5mby9yZWZzCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmeSBhbmQgc3RvcmUgbXRpbWUnICcKKwl0ZXN0LXRvb2wgY2htdGltZSA9MCAuZ2l0L2luZm8vcmVmcyAmJgorCXRlc3QtdG9vbCBjaG10aW1lIC0tZ2V0IC5naXQvaW5mby9yZWZzID5hCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2luZm8vcmVmcyBpcyBub3QgbmVlZGxlc3NseSBvdmVyd3JpdHRlbicgJworCWdpdCB1cGRhdGUtc2VydmVyLWluZm8gJiYKKwl0ZXN0LXRvb2wgY2htdGltZSAtLWdldCAuZ2l0L2luZm8vcmVmcyA+YiAmJgorCXRlc3RfY21wIGEgYgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbmZvL3JlZnMgY2FuIGJlIGZvcmNlZCB0byB1cGRhdGUnICcKKwlnaXQgdXBkYXRlLXNlcnZlci1pbmZvIC1mICYmCisJdGVzdC10b29sIGNobXRpbWUgLS1nZXQgLmdpdC9pbmZvL3JlZnMgPmIgJiYKKwkhIHRlc3RfY21wIGEgYgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbmZvL3JlZnMgdXBkYXRlcyB3aGVuIGNoYW5nZXMgYXJlIG1hZGUnICcKKwl0ZXN0LXRvb2wgY2htdGltZSA9MCAuZ2l0L2luZm8vcmVmcyAmJgorCXRlc3QtdG9vbCBjaG10aW1lIC0tZ2V0IC5naXQvaW5mby9yZWZzID5iICYmCisJdGVzdF9jbXAgYSBiICYmCisJZ2l0IHVwZGF0ZS1yZWYgcmVmcy9oZWFkcy9mb28gSEVBRCAmJgorCWdpdCB1cGRhdGUtc2VydmVyLWluZm8gJiYKKwl0ZXN0LXRvb2wgY2htdGltZSAtLWdldCAuZ2l0L2luZm8vcmVmcyA+YiAmJgorCSEgdGVzdF9jbXAgYSBiCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTMwMi1wYWNrLWluZGV4LnNoIGIvdC90NTMwMi1wYWNrLWluZGV4LnNoCmluZGV4IDkxZDUxYjMuLmFkMDdmMmYgMTAwNzU1Ci0tLSBhL3QvdDUzMDItcGFjay1pbmRleC5zaAorKysgYi90L3Q1MzAyLXBhY2staW5kZXguc2gKQEAgLTYsOSArNiwxMCBAQAogdGVzdF9kZXNjcmlwdGlvbj0ncGFjayBpbmRleCB3aXRoIDY0LWJpdCBvZmZzZXRzIGFuZCBvYmplY3QgQ1JDJwogLiAuL3Rlc3QtbGliLnNoCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgXAotICAgICdzZXR1cCcgXAotICAgICdybSAtcmYgLmdpdCAmJgordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKKyAgICAgdGVzdF9vaWRfaW5pdCAmJgorICAgICByYXdzej0kKHRlc3Rfb2lkIHJhd3N6KSAmJgorICAgICBybSAtcmYgLmdpdCAmJgogICAgICBnaXQgaW5pdCAmJgogICAgICBnaXQgY29uZmlnIHBhY2sudGhyZWFkcyAxICYmCiAgICAgIGk9MSAmJgpAQCAtMzIsNyArMzMsOCBAQAogCSBlY2hvICR0cmVlICYmCiAJIGdpdCBscy10cmVlICR0cmVlIHwgc2VkIC1lICJzLy4qIFxcKFswLTlhLWZdKlxcKQkuKi9cXDEvIgogICAgICB9ID5vYmotbGlzdCAmJgotICAgICBnaXQgdXBkYXRlLXJlZiBIRUFEICRjb21taXQnCisgICAgIGdpdCB1cGRhdGUtcmVmIEhFQUQgJGNvbW1pdAorJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFwKICAgICAncGFjay1vYmplY3RzIHdpdGggaW5kZXggdmVyc2lvbiAxJyBcCkBAIC0xNTcsMTAgKzE1OSwxMSBAQAogICAgICBvZmZzXzEwMT0kKGluZGV4X29ial9vZmZzZXQgMS5pZHggJHNoYTFfMTAxKSAmJgogICAgICBucl8wOTk9JChpbmRleF9vYmpfbnIgMS5pZHggJHNoYTFfMDk5KSAmJgogICAgICBjaG1vZCArdyAiLmdpdC9vYmplY3RzL3BhY2svcGFjay0ke3BhY2sxfS5wYWNrIiAmJgorICAgICByZWNvcmRzej0kKChyYXdzeiArIDQpKSAmJgogICAgICBkZCBvZj0iLmdpdC9vYmplY3RzL3BhY2svcGFjay0ke3BhY2sxfS5wYWNrIiBzZWVrPSQoKCRvZmZzXzEwMSArIDEpKSBcCiAgICAgICAgIGlmPSIuZ2l0L29iamVjdHMvcGFjay9wYWNrLSR7cGFjazF9LmlkeCIgXAotICAgICAgICBza2lwPSQoKDQgKyAyNTYgKiA0ICsgJG5yXzA5OSAqIDI0KSkgXAotICAgICAgICBicz0xIGNvdW50PTIwIGNvbnY9bm90cnVuYyAmJgorICAgICAgICBza2lwPSQoKDQgKyAyNTYgKiA0ICsgJG5yXzA5OSAqIHJlY29yZHN6KSkgXAorICAgICAgICBicz0xIGNvdW50PSRyYXdzeiBjb252PW5vdHJ1bmMgJiYKICAgICAgZ2l0IGNhdC1maWxlIGJsb2IgJHNoYTFfMTAxID4gZmlsZV8xMDFfZm9vMScKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBcCkBAIC0yMDAsOCArMjAzLDggQEAKICAgICAgY2htb2QgK3cgIi5naXQvb2JqZWN0cy9wYWNrL3BhY2stJHtwYWNrMX0ucGFjayIgJiYKICAgICAgZGQgb2Y9Ii5naXQvb2JqZWN0cy9wYWNrL3BhY2stJHtwYWNrMX0ucGFjayIgc2Vlaz0kKCgkb2Zmc18xMDEgKyAxKSkgXAogICAgICAgICBpZj0iLmdpdC9vYmplY3RzL3BhY2svcGFjay0ke3BhY2sxfS5pZHgiIFwKLSAgICAgICAgc2tpcD0kKCg4ICsgMjU2ICogNCArICRucl8wOTkgKiAyMCkpIFwKLSAgICAgICAgYnM9MSBjb3VudD0yMCBjb252PW5vdHJ1bmMgJiYKKyAgICAgICAgc2tpcD0kKCg4ICsgMjU2ICogNCArICRucl8wOTkgKiByYXdzeikpIFwKKyAgICAgICAgYnM9MSBjb3VudD0kcmF3c3ogY29udj1ub3RydW5jICYmCiAgICAgIGdpdCBjYXQtZmlsZSBibG9iICRzaGExXzEwMSA+IGZpbGVfMTAxX2ZvbzInCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgXApAQCAtMjI2LDcgKzIyOSw3IEBACiAgICAgIG5yPSQoaW5kZXhfb2JqX25yICIuZ2l0L29iamVjdHMvcGFjay9wYWNrLSR7cGFjazF9LmlkeCIgJG9iaikgJiYKICAgICAgY2htb2QgK3cgIi5naXQvb2JqZWN0cy9wYWNrL3BhY2stJHtwYWNrMX0uaWR4IiAmJgogICAgICBwcmludGYgeHh4eCB8IGRkIG9mPSIuZ2l0L29iamVjdHMvcGFjay9wYWNrLSR7cGFjazF9LmlkeCIgY29udj1ub3RydW5jIFwKLSAgICAgICAgYnM9MSBjb3VudD00IHNlZWs9JCgoOCArIDI1NiAqIDQgKyAkKHdjIC1sIDxvYmotbGlzdCkgKiAyMCArICRuciAqIDQpKSAmJgorICAgICAgICBicz0xIGNvdW50PTQgc2Vlaz0kKCg4ICsgMjU2ICogNCArICQod2MgLWwgPG9iai1saXN0KSAqIHJhd3N6ICsgJG5yICogNCkpICYmCiAgICAgICggd2hpbGUgcmVhZCBvYmoKICAgICAgICBkbyBnaXQgY2F0LWZpbGUgLXAgJG9iaiA+L2Rldi9udWxsIHx8IGV4aXQgMQogICAgICAgIGRvbmUgPG9iai1saXN0ICkgJiYKZGlmZiAtLWdpdCBhL3QvdDUzMDQtcHJ1bmUuc2ggYi90L3Q1MzA0LXBydW5lLnNoCmluZGV4IDI3MGRhMjEuLmRmNjBmMTggMTAwNzU1Ci0tLSBhL3QvdDUzMDQtcHJ1bmUuc2gKKysrIGIvdC90NTMwNC1wcnVuZS5zaApAQCAtMTE4LDEwICsxMTgsMTAgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncHJ1bmU6IHBydW5lIGZvcm1lciBIRUFEIGFmdGVyIGNoZWNraW5nIG91dCBicmFuY2gnICcKIAotCWhlYWRfc2hhMT0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwloZWFkX29pZD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKIAlnaXQgY2hlY2tvdXQgLS1xdWlldCBtYXN0ZXIgJiYKIAlnaXQgcHJ1bmUgLXYgPnBydW5lX2FjdHVhbCAmJgotCWdyZXAgIiRoZWFkX3NoYTEiIHBydW5lX2FjdHVhbAorCWdyZXAgIiRoZWFkX29pZCIgcHJ1bmVfYWN0dWFsCiAKICcKIApAQCAtMjY1LDE1ICsyNjUsMjcgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncHJ1bmUgLmdpdC9zaGFsbG93JyAnCi0JU0hBMT0kKGVjaG8gaGl8Z2l0IGNvbW1pdC10cmVlIEhFQURee3RyZWV9KSAmJgotCWVjaG8gJFNIQTEgPi5naXQvc2hhbGxvdyAmJgorCW9pZD0kKGVjaG8gaGl8Z2l0IGNvbW1pdC10cmVlIEhFQURee3RyZWV9KSAmJgorCWVjaG8gJG9pZCA+LmdpdC9zaGFsbG93ICYmCiAJZ2l0IHBydW5lIC0tZHJ5LXJ1biA+b3V0ICYmCi0JZ3JlcCAkU0hBMSAuZ2l0L3NoYWxsb3cgJiYKLQlncmVwICRTSEExIG91dCAmJgorCWdyZXAgJG9pZCAuZ2l0L3NoYWxsb3cgJiYKKwlncmVwICRvaWQgb3V0ICYmCiAJZ2l0IHBydW5lICYmCiAJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9zaGFsbG93CiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BydW5lIC5naXQvc2hhbGxvdyB3aGVuIHRoZXJlIGFyZSBubyBsb29zZSBvYmplY3RzJyAnCisJb2lkPSQoZWNobyBoaXxnaXQgY29tbWl0LXRyZWUgSEVBRF57dHJlZX0pICYmCisJZWNobyAkb2lkID4uZ2l0L3NoYWxsb3cgJiYKKwlnaXQgdXBkYXRlLXJlZiByZWZzL2hlYWRzL3NoYWxsb3ctdGlwICRvaWQgJiYKKwlnaXQgcmVwYWNrIC1hZCAmJgorCSMgdmVyaWZ5IGFzc3VtcHRpb24gdGhhdCBhbGwgbG9vc2Ugb2JqZWN0cyBhcmUgZ29uZQorCWdpdCBjb3VudC1vYmplY3RzIHwgZ3JlcCBeMCAmJgorCWdpdCBwcnVuZSAmJgorCWVjaG8gJG9pZCA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IC5naXQvc2hhbGxvdworJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcnVuZTogaGFuZGxlIGFsdGVybmF0ZSBvYmplY3QgZGF0YWJhc2UnICcKIAl0ZXN0X2NyZWF0ZV9yZXBvIEEgJiYKIAlnaXQgLUMgQSBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSAiaW5pdGlhbCBjb21taXQiICYmCkBAIC0zMTQsOCArMzI2LDggQEAKIAkJZ2l0IHJlc2V0IC0taGFyZCBIRUFEXgogCSkgJiYKIAlnaXQgcHJ1bmUgLS1leHBpcmU9bm93ICYmCi0JU0hBMT1gZ2l0IGhhc2gtb2JqZWN0IGV4cGVjdGVkYCAmJgotCWdpdCAtQyB0aGlyZC13b3JrdHJlZSBzaG93ICIkU0hBMSIgPmFjdHVhbCAmJgorCW9pZD1gZ2l0IGhhc2gtb2JqZWN0IGV4cGVjdGVkYCAmJgorCWdpdCAtQyB0aGlyZC13b3JrdHJlZSBzaG93ICIkb2lkIiA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKQEAgLTMyOSw0ICszNDEsMTIgQEAKIAlnaXQgcHJ1bmUgLS1uby1leHBpcmUKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAndHJpdmlhbCBwcnVuZSB3aXRoIGJpdG1hcHMgZW5hYmxlZCcgJworCWdpdCByZXBhY2sgLWFkYiAmJgorCWJsb2I9JChlY2hvIGJpdG1hcC11bnJlYWNoYWJsZS1ibG9iIHwgZ2l0IGhhc2gtb2JqZWN0IC13IC0tc3RkaW4pICYmCisJZ2l0IHBydW5lIC0tZXhwaXJlPW5vdyAmJgorCWdpdCBjYXQtZmlsZSAtZSBIRUFEICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNhdC1maWxlIC1lICRibG9iCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTMwNy1wYWNrLW1pc3NpbmctY29tbWl0LnNoIGIvdC90NTMwNy1wYWNrLW1pc3NpbmctY29tbWl0LnNoCmluZGV4IGRhY2I0NDAuLmY0MzM4YWIgMTAwNzU1Ci0tLSBhL3QvdDUzMDctcGFjay1taXNzaW5nLWNvbW1pdC5zaAorKysgYi90L3Q1MzA3LXBhY2stbWlzc2luZy1jb21taXQuc2gKQEAgLTI0LDExICsyNCwxMSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtbGlzdCBub3RpY2VzIGNvcnJ1cHRpb24gKDEpJyAnCi0JdGVzdF9tdXN0X2ZhaWwgZW52IEdJVF9URVNUX0NPTU1JVF9HUkFQSD0wIGdpdCByZXYtbGlzdCBIRUFECisJdGVzdF9tdXN0X2ZhaWwgZW52IEdJVF9URVNUX0NPTU1JVF9HUkFQSD0wIGdpdCAtYyBjb3JlLmNvbW1pdEdyYXBoPWZhbHNlIHJldi1saXN0IEhFQUQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LWxpc3Qgbm90aWNlcyBjb3JydXB0aW9uICgyKScgJwotCXRlc3RfbXVzdF9mYWlsIGVudiBHSVRfVEVTVF9DT01NSVRfR1JBUEg9MCBnaXQgcmV2LWxpc3QgLS1vYmplY3RzIEhFQUQKKwl0ZXN0X211c3RfZmFpbCBlbnYgR0lUX1RFU1RfQ09NTUlUX0dSQVBIPTAgZ2l0IC1jIGNvcmUuY29tbWl0R3JhcGg9ZmFsc2UgcmV2LWxpc3QgLS1vYmplY3RzIEhFQUQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncGFjay1vYmplY3RzIG5vdGljZXMgY29ycnVwdGlvbicgJwpkaWZmIC0tZ2l0IGEvdC90NTMwOS1wYWNrLWRlbHRhLWN5Y2xlcy5zaCBiL3QvdDUzMDktcGFjay1kZWx0YS1jeWNsZXMuc2gKaW5kZXggNDkxNTU2ZGEuLjU1Yjc4NzYgMTAwNzU1Ci0tLSBhL3QvdDUzMDktcGFjay1kZWx0YS1jeWNsZXMuc2gKKysrIGIvdC90NTMwOS1wYWNrLWRlbHRhLWN5Y2xlcy5zaApAQCAtNCwxNSArNCw5IEBACiAuIC4vdGVzdC1saWIuc2gKIC4gIiRURVNUX0RJUkVDVE9SWSIvbGliLXBhY2suc2gKIAotaWYgISB0ZXN0X2hhdmVfcHJlcmVxIFNIQTEKLXRoZW4KLSAgICAgICBza2lwX2FsbD0nbm90IHVzaW5nIFNIQS0xIGZvciBvYmplY3RzJwotICAgICAgIHRlc3RfZG9uZQotZmkKLQogIyBUd28gc2ltaWxhci1pc2ggb2JqZWN0cyB0aGF0IHdlIGhhdmUgY29tcHV0ZWQgZGVsdGFzIGJldHdlZW4uCi1BPTAxZDc3MTM2NjZmNGRlODIyNzc2Yzc2MjJjMTBmMWIwN2RlMjgwZGMKLUI9ZTY4ZmU4MTI5YjU0NmIxMDFhZWU5NTEwYzUzMjhlN2YyMWNhMWQxOAorQT0kKHRlc3Rfb2lkIHBhY2tsaWJfN18wKQorQj0kKHRlc3Rfb2lkIHBhY2tsaWJfN183NikKIAogIyBkb3VibGUtY2hlY2sgb3VyIGhhbmQtY29uc3R1Y3RlZCBwYWNrcwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5kZXgtcGFjayB3b3JrcyB3aXRoIGEgc2luZ2xlIGRlbHRhIChBLT5CKScgJwpAQCAtNjIsMTMgKzU2LDEzIEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGluZGV4LXBhY2sgLS1maXgtdGhpbiAtLXN0ZGluIDxjeWNsZS5wYWNrCiAnCiAKLXRlc3RfZXhwZWN0X2ZhaWx1cmUgJ2ZhaWxvdmVyIHRvIGFuIG9iamVjdCBpbiBhbm90aGVyIHBhY2snICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZhaWxvdmVyIHRvIGFuIG9iamVjdCBpbiBhbm90aGVyIHBhY2snICcKIAljbGVhcl9wYWNrcyAmJgogCWdpdCBpbmRleC1wYWNrIC0tc3RkaW4gPGFiLnBhY2sgJiYKLQlnaXQgaW5kZXgtcGFjayAtLXN0ZGluIC0tZml4LXRoaW4gPGN5Y2xlLnBhY2sKKwl0ZXN0X211c3RfZmFpbCBnaXQgaW5kZXgtcGFjayAtLXN0ZGluIC0tZml4LXRoaW4gPGN5Y2xlLnBhY2sKICcKIAotdGVzdF9leHBlY3RfZmFpbHVyZSAnZmFpbG92ZXIgdG8gYSBkdXBsaWNhdGUgb2JqZWN0IGluIHRoZSBzYW1lIHBhY2snICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZhaWxvdmVyIHRvIGEgZHVwbGljYXRlIG9iamVjdCBpbiB0aGUgc2FtZSBwYWNrJyAnCiAJY2xlYXJfcGFja3MgJiYKIAl7CiAJCXBhY2tfaGVhZGVyIDMgJiYKQEAgLTc3LDcgKzcxLDcgQEAKIAkJcGFja19vYmogJEEKIAl9ID5yZWNvdmVyYWJsZS5wYWNrICYmCiAJcGFja190cmFpbGVyIHJlY292ZXJhYmxlLnBhY2sgJiYKLQlnaXQgaW5kZXgtcGFjayAtLWZpeC10aGluIC0tc3RkaW4gPHJlY292ZXJhYmxlLnBhY2sKKwl0ZXN0X211c3RfZmFpbCBnaXQgaW5kZXgtcGFjayAtLWZpeC10aGluIC0tc3RkaW4gPHJlY292ZXJhYmxlLnBhY2sKICcKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1MzEwLXBhY2stYml0bWFwcy5zaCBiL3QvdDUzMTAtcGFjay1iaXRtYXBzLnNoCmluZGV4IDgyZDdmN2YuLjgzMTg3ODEgMTAwNzU1Ci0tLSBhL3QvdDUzMTAtcGFjay1iaXRtYXBzLnNoCisrKyBiL3QvdDUzMTAtcGFjay1iaXRtYXBzLnNoCkBAIC0yMSwyMSArMjEsMTQgQEAKIH0KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgcmVwbyB3aXRoIG1vZGVyYXRlLXNpemVkIGhpc3RvcnknICcKLQlmb3IgaSBpbiAkKHRlc3Rfc2VxIDEgMTApCi0JZG8KLQkJdGVzdF9jb21taXQgJGkKLQlkb25lICYmCisJdGVzdF9jb21taXRfYnVsayAtLWlkPWZpbGUgMTAwICYmCiAJZ2l0IGNoZWNrb3V0IC1iIG90aGVyIEhFQUR+NSAmJgotCWZvciBpIGluICQodGVzdF9zZXEgMSAxMCkKLQlkbwotCQl0ZXN0X2NvbW1pdCBzaWRlLSRpCi0JZG9uZSAmJgorCXRlc3RfY29tbWl0X2J1bGsgLS1pZD1zaWRlIDEwICYmCiAJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgogCWJpdG1hcHRpcD0kKGdpdCByZXYtcGFyc2UgbWFzdGVyKSAmJgogCWJsb2I9JChlY2hvIHRhZ2dlZC1ibG9iIHwgZ2l0IGhhc2gtb2JqZWN0IC13IC0tc3RkaW4pICYmCiAJZ2l0IHRhZyB0YWdnZWQtYmxvYiAkYmxvYiAmJgotCWdpdCBjb25maWcgcmVwYWNrLndyaXRlYml0bWFwcyB0cnVlICYmCi0JZ2l0IGNvbmZpZyBwYWNrLndyaXRlYml0bWFwaGFzaGNhY2hlIHRydWUKKwlnaXQgY29uZmlnIHJlcGFjay53cml0ZWJpdG1hcHMgdHJ1ZQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmdWxsIHJlcGFjayBjcmVhdGVzIGJpdG1hcHMnICcKQEAgLTgxLDE2ICs3NCwyNCBAQAogCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAJJwogCi0JdGVzdF9leHBlY3Rfc3VjY2VzcyAiZW51bWVyYXRlIC0tb2JqZWN0cyAoJHN0YXRlKSIgJwotCQlnaXQgcmV2LWxpc3QgLS1vYmplY3RzIC0tdXNlLWJpdG1hcC1pbmRleCBIRUFEID50bXAgJiYKLQkJY3V0IC1kIiAiIC1mMSA8dG1wID50bXAyICYmCi0JCXNvcnQgPHRtcDIgPmFjdHVhbCAmJgotCQlnaXQgcmV2LWxpc3QgLS1vYmplY3RzIEhFQUQgPnRtcCAmJgotCQljdXQgLWQiICIgLWYxIDx0bXAgPnRtcDIgJiYKLQkJc29ydCA8dG1wMiA+ZXhwZWN0ICYmCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiY291bnRpbmcgb2JqZWN0cyB2aWEgYml0bWFwICgkc3RhdGUpIiAnCisJCWdpdCByZXYtbGlzdCAtLWNvdW50IC0tb2JqZWN0cyBIRUFEID5leHBlY3QgJiYKKwkJZ2l0IHJldi1saXN0IC0tdXNlLWJpdG1hcC1pbmRleCAtLWNvdW50IC0tb2JqZWN0cyBIRUFEID5hY3R1YWwgJiYKIAkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogCScKIAorCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImVudW1lcmF0ZSBjb21taXRzICgkc3RhdGUpIiAnCisJCWdpdCByZXYtbGlzdCAtLXVzZS1iaXRtYXAtaW5kZXggSEVBRCA+YWN0dWFsICYmCisJCWdpdCByZXYtbGlzdCBIRUFEID5leHBlY3QgJiYKKwkJdGVzdF9iaXRtYXBfdHJhdmVyc2FsIC0tbm8tY29uZmlybS1iaXRtYXBzIGV4cGVjdCBhY3R1YWwKKwknCisKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICJlbnVtZXJhdGUgLS1vYmplY3RzICgkc3RhdGUpIiAnCisJCWdpdCByZXYtbGlzdCAtLW9iamVjdHMgLS11c2UtYml0bWFwLWluZGV4IEhFQUQgPmFjdHVhbCAmJgorCQlnaXQgcmV2LWxpc3QgLS1vYmplY3RzIEhFQUQgPmV4cGVjdCAmJgorCQl0ZXN0X2JpdG1hcF90cmF2ZXJzYWwgZXhwZWN0IGFjdHVhbAorCScKKwogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImJpdG1hcCAtLW9iamVjdHMgaGFuZGxlcyBub24tY29tbWl0IG9iamVjdHMgKCRzdGF0ZSkiICcKIAkJZ2l0IHJldi1saXN0IC0tb2JqZWN0cyAtLXVzZS1iaXRtYXAtaW5kZXggSEVBRCB0YWdnZWQtYmxvYiA+YWN0dWFsICYmCiAJCWdyZXAgJGJsb2IgYWN0dWFsCkBAIC0xMDYsMTEgKzEwNywyMiBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncGFydGlhbCBjbG9uZSBmcm9tIGJpdG1hcHBlZCByZXBvc2l0b3J5JyAnCisJdGVzdF9jb25maWcgdXBsb2FkcGFjay5hbGxvd2ZpbHRlciB0cnVlICYmCisJZ2l0IGNsb25lIC0tbm8tbG9jYWwgLS1iYXJlIC0tZmlsdGVyPWJsb2I6bm9uZSAuIHBhcnRpYWwtY2xvbmUuZ2l0ICYmCisJKAorCQljZCBwYXJ0aWFsLWNsb25lLmdpdCAmJgorCQlwYWNrPSQoZWNobyBvYmplY3RzL3BhY2svKi5wYWNrKSAmJgorCQlnaXQgdmVyaWZ5LXBhY2sgLXYgIiRwYWNrIiA+aGF2ZSAmJgorCQlhd2sgIi9ibG9iLyB7IHByaW50IFwkMSB9IiA8aGF2ZSA+YmxvYnMgJiYKKwkJIyB3ZSBleHBlY3QgdGhpcyBzaW5nbGUgYmxvYiBiZWNhdXNlIG9mIHRoZSBkaXJlY3QgcmVmCisJCWdpdCByZXYtcGFyc2UgcmVmcy90YWdzL3RhZ2dlZC1ibG9iID5leHBlY3QgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGJsb2JzCisJKQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBmdXJ0aGVyIG5vbi1iaXRtYXBwZWQgY29tbWl0cycgJwotCWZvciBpIGluICQodGVzdF9zZXEgMSAxMCkKLQlkbwotCQl0ZXN0X2NvbW1pdCBmdXJ0aGVyLSRpCi0JZG9uZQorCXRlc3RfY29tbWl0X2J1bGsgLS1pZD1mdXJ0aGVyIDEwCiAnCiAKIHJldl9saXN0X3Rlc3RzICdwYXJ0aWFsIGJpdG1hcCcKQEAgLTI2OSw3ICsyODEsNyBAQAogCWdpdCBjbG9uZSAtLWJhcmUgLiBjb21wYXQtamdpdC5naXQgJiYKIAkoCiAJCWNkIGNvbXBhdC1qZ2l0LmdpdCAmJgotCQlybSAtZiAuZ2l0L29iamVjdHMvcGFjay8qLmJpdG1hcCAmJgorCQlybSAtZiBvYmplY3RzL3BhY2svKi5iaXRtYXAgJiYKIAkJamdpdCBnYyAmJgogCQlnaXQgcmV2LWxpc3QgLS10ZXN0LWJpdG1hcCBIRUFECiAJKQpkaWZmIC0tZ2l0IGEvdC90NTMxMy1wYWNrLWJvdW5kcy1jaGVja3Muc2ggYi90L3Q1MzEzLXBhY2stYm91bmRzLWNoZWNrcy5zaAppbmRleCBmMTcwOGQ0Li4yYTQ1NTdlIDEwMDc1NQotLS0gYS90L3Q1MzEzLXBhY2stYm91bmRzLWNoZWNrcy5zaAorKysgYi90L3Q1MzEzLXBhY2stYm91bmRzLWNoZWNrcy5zaApAQCAtMzgsMTYgKzM4LDI3IEBACiAjIGZvciB0aGUgaW5pdGlhbCwgYW5kIGFub3RoZXIgb2ZzKDQqbnIpIHBhc3QgdGhhdCBmb3IgdGhlIGV4dGVuZGVkLgogIwogb2ZzX3RhYmxlICgpIHsKLQllY2hvICQoKDQgKyA0ICsgNCoyNTYgKyAyMCokMSArIDQqJDEpKQorCWVjaG8gJCgoNCArIDQgKyA0KjI1NiArICQodGVzdF9vaWQgcmF3c3opKiQxICsgNCokMSkpCiB9CiBleHRlbmRlZF90YWJsZSAoKSB7CiAJZWNobyAkKCgkKG9mc190YWJsZSAiJDEiKSArIDQqJDEpKQogfQogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJworCXRlc3Rfb2lkX2luaXQgJiYKKwl0ZXN0X29pZF9jYWNoZSA8PC1FT0YKKwlvaWQwMDAgc2hhMToxNDg1CisJb2lkMDAwIHNoYTI1Njo0MjIyCisKKwlvaWRmZmYgc2hhMTo3NAorCW9pZGZmZiBzaGEyNTY6MTM1MAorCUVPRgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQgdXAgYmFzZSBwYWNrZmlsZSBhbmQgdmFyaWFibGVzJyAnCiAJIyB0aGUgaGFzaCBvZiB0aGlzIGNvbnRlbnQgc3RhcnRzIHdpdGggZmYsIHdoaWNoCiAJIyBtYWtlcyBzb21lIGxhdGVyIGNvbXB1dGF0aW9ucyBtdWNoIHNpbXBsZXIKLQllY2hvIDc0ID5maWxlICYmCisJZWNobyAkKHRlc3Rfb2lkIG9pZGZmZikgPmZpbGUgJiYKIAlnaXQgYWRkIGZpbGUgJiYKIAlnaXQgY29tbWl0IC1tIGJhc2UgJiYKIAlnaXQgcmVwYWNrIC1hZCAmJgpAQCAtMTQwLDEwICsxNTEsMTAgQEAKIAkjIGFuIGV4dGVuZGVkIHRhYmxlIChpZiB0aGUgZmlyc3Qgb2JqZWN0IHdlcmUgbGFyZ2VyIHRoYW4gMl4zMSkuCiAJIwogCSMgTm90ZSB0aGF0IHRoZSB2YWx1ZSBpcyBpbXBvcnRhbnQgaGVyZS4gV2Ugd2FudCAkb2JqZWN0IGFzCi0JIyB0aGUgc2Vjb25kIGVudHJ5IGluIHNvcnRlZC1zaGExIG9yZGVyLiBUaGUgc2hhMSBvZiAxNDg1IHN0YXJ0cworCSMgdGhlIHNlY29uZCBlbnRyeSBpbiBzb3J0ZWQtaGFzaCBvcmRlci4gVGhlIGhhc2ggb2YgdGhpcyBvYmplY3Qgc3RhcnRzCiAJIyB3aXRoICIwMDAiLCB3aGljaCBzb3J0cyBiZWZvcmUgdGhhdCBvZiAkb2JqZWN0ICh3aGljaCBzdGFydHMKIAkjIHdpdGggImZmZiIpLgotCXNlY29uZD0kKGVjaG8gMTQ4NSB8IGdpdCBoYXNoLW9iamVjdCAtdyAtLXN0ZGluKSAmJgorCXNlY29uZD0kKHRlc3Rfb2lkIG9pZDAwMCB8IGdpdCBoYXNoLW9iamVjdCAtdyAtLXN0ZGluKSAmJgogCWRvX3BhY2sgIiRvYmplY3QgJHNlY29uZCIgLS1pbmRleC12ZXJzaW9uPTIgJiYKIAogCSMgV2UgaGF2ZSB0byBtYWtlIGV4dHJhIHJvb20gZm9yIHRoZSB0YWJsZSwgc28gd2UgY2Fubm90CmRpZmYgLS1naXQgYS90L3Q1MzE0LXBhY2stY3ljbGUtZGV0ZWN0aW9uLnNoIGIvdC90NTMxNC1wYWNrLWN5Y2xlLWRldGVjdGlvbi5zaAppbmRleCBlNTI1NDY2Li4wYWVjODYxIDEwMDc1NQotLS0gYS90L3Q1MzE0LXBhY2stY3ljbGUtZGV0ZWN0aW9uLnNoCisrKyBiL3QvdDUzMTQtcGFjay1jeWNsZS1kZXRlY3Rpb24uc2gKQEAgLTUzLDcgKzUzLDcgQEAKIAogCiAKLSMgQ3JlYXRlIGEgcGFjayBjb250YWluaW5nIHRoZSB0aGUgdHJlZSAkMSBhbmQgYmxvYiAkMTpmaWxlLCB3aXRoCisjIENyZWF0ZSBhIHBhY2sgY29udGFpbmluZyB0aGUgdHJlZSAkMSBhbmQgYmxvYiAkMTpmaWxlLCB3aXRoCiAjIHRoZSBsYXR0ZXIgc3RvcmVkIGFzIGEgZGVsdGEgYWdhaW5zdCAkMjpmaWxlLgogIwogIyBXZSBjb252aW5jZSBwYWNrLW9iamVjdHMgdG8gbWFrZSB0aGUgZGVsdGEgaW4gdGhlIGRpcmVjdGlvbiBvZiBvdXIgY2hvb3NpbmcKZGlmZiAtLWdpdCBhL3QvdDUzMTUtcGFjay1vYmplY3RzLWNvbXByZXNzaW9uLnNoIGIvdC90NTMxNS1wYWNrLW9iamVjdHMtY29tcHJlc3Npb24uc2gKaW5kZXggMzRjNDdkYS4uZGY5NzBkNyAxMDA3NTUKLS0tIGEvdC90NTMxNS1wYWNrLW9iamVjdHMtY29tcHJlc3Npb24uc2gKKysrIGIvdC90NTMxNS1wYWNrLW9iamVjdHMtY29tcHJlc3Npb24uc2gKQEAgLTcsNyArNyw3IEBACiAjIFRoaXMgc2hvdWxkIGJlIG1vdmVkIHRvIHRlc3QtbGliLnNoIHRvZ2V0aGVyIHdpdGggdGhlCiAjIGNvcHkgaW4gdDAwMjEgYWZ0ZXIgYm90aCB0b3BpY3MgaGF2ZSBncmFkdWF0ZWQgdG8gJ21hc3RlcicuCiBmaWxlX3NpemUgKCkgewotCXBlcmwgLWUgJ3ByaW50IC1zICRBUkdWWzBdJyAiJDEiCisJdGVzdC10b29sIHBhdGgtdXRpbHMgZmlsZS1zaXplICIkMSIKIH0KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCAnCmRpZmYgLS1naXQgYS90L3Q1MzE3LXBhY2stb2JqZWN0cy1maWx0ZXItb2JqZWN0cy5zaCBiL3QvdDUzMTctcGFjay1vYmplY3RzLWZpbHRlci1vYmplY3RzLnNoCmluZGV4IDI0NTQxZWEuLmRjMDQ0NjUgMTAwNzU1Ci0tLSBhL3QvdDUzMTctcGFjay1vYmplY3RzLWZpbHRlci1vYmplY3RzLnNoCisrKyBiL3QvdDUzMTctcGFjay1vYmplY3RzLWZpbHRlci1vYmplY3RzLnNoCkBAIC0yNSw3ICsyNSw3IEBACiAJYXdrIC1mIHByaW50XzIuYXdrIGxzX2ZpbGVzX3Jlc3VsdCB8CiAJc29ydCA+ZXhwZWN0ZWQgJiYKIAotCWdpdCAtQyByMSBwYWNrLW9iamVjdHMgLS1yZXYgLS1zdGRvdXQgPmFsbC5wYWNrIDw8LUVPRiAmJgorCWdpdCAtQyByMSBwYWNrLW9iamVjdHMgLS1yZXZzIC0tc3Rkb3V0ID5hbGwucGFjayA8PC1FT0YgJiYKIAlIRUFECiAJRU9GCiAJZ2l0IC1DIHIxIGluZGV4LXBhY2sgLi4vYWxsLnBhY2sgJiYKQEAgLTM5LDE4ICszOSwxMyBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJpZnkgYmxvYjpub25lIHBhY2tmaWxlIGhhcyBubyBibG9icycgJwotCWdpdCAtQyByMSBwYWNrLW9iamVjdHMgLS1yZXYgLS1zdGRvdXQgLS1maWx0ZXI9YmxvYjpub25lID5maWx0ZXIucGFjayA8PC1FT0YgJiYKKwlnaXQgLUMgcjEgcGFjay1vYmplY3RzIC0tcmV2cyAtLXN0ZG91dCAtLWZpbHRlcj1ibG9iOm5vbmUgPmZpbHRlci5wYWNrIDw8LUVPRiAmJgogCUhFQUQKIAlFT0YKIAlnaXQgLUMgcjEgaW5kZXgtcGFjayAuLi9maWx0ZXIucGFjayAmJgogCiAJZ2l0IC1DIHIxIHZlcmlmeS1wYWNrIC12IC4uL2ZpbHRlci5wYWNrID52ZXJpZnlfcmVzdWx0ICYmCi0JZ3JlcCBibG9iIHZlcmlmeV9yZXN1bHQgfAotCWF3ayAtZiBwcmludF8xLmF3ayB8Ci0Jc29ydCA+b2JzZXJ2ZWQgJiYKLQotCW5yPSQod2MgLWwgPG9ic2VydmVkKSAmJgotCXRlc3QgMCAtZXEgJG5yCisJISBncmVwIGJsb2IgdmVyaWZ5X3Jlc3VsdAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJpZnkgbm9ybWFsIGFuZCBibG9iOm5vbmUgcGFja2ZpbGVzIGhhdmUgc2FtZSBjb21taXRzL3RyZWVzJyAnCkBAIC03Miw5ICs2NywxMCBAQAogCWVjaG8gZm9vID5yNS9mb28gJiYKIAlnaXQgLUMgcjUgYWRkIGZvbyAmJgogCWdpdCAtQyByNSBjb21taXQgLW0gImZvbyIgJiYKLQlkZWw9JChnaXQgLUMgcjUgcmV2LXBhcnNlIEhFQURee3RyZWV9IHwgc2VkICJzfC4ufCYvfCIpICYmCisJZ2l0IC1DIHI1IHJldi1wYXJzZSBIRUFEXnt0cmVlfSA+dHJlZSAmJgorCWRlbD0kKHNlZCAic3wuLnwmL3wiIHRyZWUpICYmCiAJcm0gcjUvLmdpdC9vYmplY3RzLyRkZWwgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgLUMgcjUgcGFjay1vYmplY3RzIC0tcmV2IC0tc3Rkb3V0IDI+YmFkX3RyZWUgPDwtRU9GICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIHI1IHBhY2stb2JqZWN0cyAtLXJldnMgLS1zdGRvdXQgMj5iYWRfdHJlZSA8PC1FT0YgJiYKIAlIRUFECiAJRU9GCiAJZ3JlcCAiYmFkIHRyZWUgb2JqZWN0IiBiYWRfdHJlZQpAQCAtODgsNyArODQsNyBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJpZnkgdHJlZTowIHBhY2tmaWxlIGhhcyBubyBibG9icyBvciB0cmVlcycgJwotCWdpdCAtQyByMSBwYWNrLW9iamVjdHMgLS1yZXYgLS1zdGRvdXQgLS1maWx0ZXI9dHJlZTowID5jb21taXRzb25seS5wYWNrIDw8LUVPRiAmJgorCWdpdCAtQyByMSBwYWNrLW9iamVjdHMgLS1yZXZzIC0tc3Rkb3V0IC0tZmlsdGVyPXRyZWU6MCA+Y29tbWl0c29ubHkucGFjayA8PC1FT0YgJiYKIAlIRUFECiAJRU9GCiAJZ2l0IC1DIHIxIGluZGV4LXBhY2sgLi4vY29tbWl0c29ubHkucGFjayAmJgpAQCAtOTgsNyArOTQsNyBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmFiIHRyZWUgZGlyZWN0bHkgd2hlbiB1c2luZyB0cmVlOjAnICcKIAkjIFdlIHNob3VsZCBnZXQgdGhlIHRyZWUgc3BlY2lmaWVkIGRpcmVjdGx5IGJ1dCBub3QgaXRzIGJsb2JzIG9yIHN1YnRyZWVzLgotCWdpdCAtQyByMSBwYWNrLW9iamVjdHMgLS1yZXYgLS1zdGRvdXQgLS1maWx0ZXI9dHJlZTowID5jb21taXRzb25seS5wYWNrIDw8LUVPRiAmJgorCWdpdCAtQyByMSBwYWNrLW9iamVjdHMgLS1yZXZzIC0tc3Rkb3V0IC0tZmlsdGVyPXRyZWU6MCA+Y29tbWl0c29ubHkucGFjayA8PC1FT0YgJiYKIAlIRUFEOgogCUVPRgogCWdpdCAtQyByMSBpbmRleC1wYWNrIC4uL2NvbW1pdHNvbmx5LnBhY2sgJiYKQEAgLTEyOCw3ICsxMjQsNyBAQAogCWF3ayAtZiBwcmludF8yLmF3ayBsc19maWxlc19yZXN1bHQgfAogCXNvcnQgPmV4cGVjdGVkICYmCiAKLQlnaXQgLUMgcjIgcGFjay1vYmplY3RzIC0tcmV2IC0tc3Rkb3V0ID5hbGwucGFjayA8PC1FT0YgJiYKKwlnaXQgLUMgcjIgcGFjay1vYmplY3RzIC0tcmV2cyAtLXN0ZG91dCA+YWxsLnBhY2sgPDwtRU9GICYmCiAJSEVBRAogCUVPRgogCWdpdCAtQyByMiBpbmRleC1wYWNrIC4uL2FsbC5wYWNrICYmCkBAIC0xNDIsMzMgKzEzOCwyMyBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJpZnkgYmxvYjpsaW1pdD01MDAgb21pdHMgYWxsIGJsb2JzJyAnCi0JZ2l0IC1DIHIyIHBhY2stb2JqZWN0cyAtLXJldiAtLXN0ZG91dCAtLWZpbHRlcj1ibG9iOmxpbWl0PTUwMCA+ZmlsdGVyLnBhY2sgPDwtRU9GICYmCisJZ2l0IC1DIHIyIHBhY2stb2JqZWN0cyAtLXJldnMgLS1zdGRvdXQgLS1maWx0ZXI9YmxvYjpsaW1pdD01MDAgPmZpbHRlci5wYWNrIDw8LUVPRiAmJgogCUhFQUQKIAlFT0YKIAlnaXQgLUMgcjIgaW5kZXgtcGFjayAuLi9maWx0ZXIucGFjayAmJgogCiAJZ2l0IC1DIHIyIHZlcmlmeS1wYWNrIC12IC4uL2ZpbHRlci5wYWNrID52ZXJpZnlfcmVzdWx0ICYmCi0JZ3JlcCBibG9iIHZlcmlmeV9yZXN1bHQgfAotCWF3ayAtZiBwcmludF8xLmF3ayB8Ci0Jc29ydCA+b2JzZXJ2ZWQgJiYKLQotCW5yPSQod2MgLWwgPG9ic2VydmVkKSAmJgotCXRlc3QgMCAtZXEgJG5yCisJISBncmVwIGJsb2IgdmVyaWZ5X3Jlc3VsdAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJpZnkgYmxvYjpsaW1pdD0xMDAwJyAnCi0JZ2l0IC1DIHIyIHBhY2stb2JqZWN0cyAtLXJldiAtLXN0ZG91dCAtLWZpbHRlcj1ibG9iOmxpbWl0PTEwMDAgPmZpbHRlci5wYWNrIDw8LUVPRiAmJgorCWdpdCAtQyByMiBwYWNrLW9iamVjdHMgLS1yZXZzIC0tc3Rkb3V0IC0tZmlsdGVyPWJsb2I6bGltaXQ9MTAwMCA+ZmlsdGVyLnBhY2sgPDwtRU9GICYmCiAJSEVBRAogCUVPRgogCWdpdCAtQyByMiBpbmRleC1wYWNrIC4uL2ZpbHRlci5wYWNrICYmCiAKIAlnaXQgLUMgcjIgdmVyaWZ5LXBhY2sgLXYgLi4vZmlsdGVyLnBhY2sgPnZlcmlmeV9yZXN1bHQgJiYKLQlncmVwIGJsb2IgdmVyaWZ5X3Jlc3VsdCB8Ci0JYXdrIC1mIHByaW50XzEuYXdrIHwKLQlzb3J0ID5vYnNlcnZlZCAmJgotCi0JbnI9JCh3YyAtbCA8b2JzZXJ2ZWQpICYmCi0JdGVzdCAwIC1lcSAkbnIKKwkhIGdyZXAgYmxvYiB2ZXJpZnlfcmVzdWx0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZlcmlmeSBibG9iOmxpbWl0PTEwMDEnICcKQEAgLTE3Niw3ICsxNjIsNyBAQAogCWF3ayAtZiBwcmludF8yLmF3ayBsc19maWxlc19yZXN1bHQgfAogCXNvcnQgPmV4cGVjdGVkICYmCiAKLQlnaXQgLUMgcjIgcGFjay1vYmplY3RzIC0tcmV2IC0tc3Rkb3V0IC0tZmlsdGVyPWJsb2I6bGltaXQ9MTAwMSA+ZmlsdGVyLnBhY2sgPDwtRU9GICYmCisJZ2l0IC1DIHIyIHBhY2stb2JqZWN0cyAtLXJldnMgLS1zdGRvdXQgLS1maWx0ZXI9YmxvYjpsaW1pdD0xMDAxID5maWx0ZXIucGFjayA8PC1FT0YgJiYKIAlIRUFECiAJRU9GCiAJZ2l0IC1DIHIyIGluZGV4LXBhY2sgLi4vZmlsdGVyLnBhY2sgJiYKQEAgLTE5NCw3ICsxODAsNyBAQAogCWF3ayAtZiBwcmludF8yLmF3ayBsc19maWxlc19yZXN1bHQgfAogCXNvcnQgPmV4cGVjdGVkICYmCiAKLQlnaXQgLUMgcjIgcGFjay1vYmplY3RzIC0tcmV2IC0tc3Rkb3V0IC0tZmlsdGVyPWJsb2I6bGltaXQ9MTAwMDEgPmZpbHRlci5wYWNrIDw8LUVPRiAmJgorCWdpdCAtQyByMiBwYWNrLW9iamVjdHMgLS1yZXZzIC0tc3Rkb3V0IC0tZmlsdGVyPWJsb2I6bGltaXQ9MTAwMDEgPmZpbHRlci5wYWNrIDw8LUVPRiAmJgogCUhFQUQKIAlFT0YKIAlnaXQgLUMgcjIgaW5kZXgtcGFjayAuLi9maWx0ZXIucGFjayAmJgpAQCAtMjEyLDcgKzE5OCw3IEBACiAJYXdrIC1mIHByaW50XzIuYXdrIGxzX2ZpbGVzX3Jlc3VsdCB8CiAJc29ydCA+ZXhwZWN0ZWQgJiYKIAotCWdpdCAtQyByMiBwYWNrLW9iamVjdHMgLS1yZXYgLS1zdGRvdXQgLS1maWx0ZXI9YmxvYjpsaW1pdD0xayA+ZmlsdGVyLnBhY2sgPDwtRU9GICYmCisJZ2l0IC1DIHIyIHBhY2stb2JqZWN0cyAtLXJldnMgLS1zdGRvdXQgLS1maWx0ZXI9YmxvYjpsaW1pdD0xayA+ZmlsdGVyLnBhY2sgPDwtRU9GICYmCiAJSEVBRAogCUVPRgogCWdpdCAtQyByMiBpbmRleC1wYWNrIC4uL2ZpbHRlci5wYWNrICYmCkBAIC0yMzAsMTAgKzIxNiw5IEBACiAJYXdrIC1mIHByaW50XzIuYXdrIGxzX2ZpbGVzX3Jlc3VsdCB8CiAJc29ydCA+ZXhwZWN0ZWQgJiYKIAotCWdpdCAtQyByMiBwYWNrLW9iamVjdHMgLS1yZXYgLS1zdGRvdXQgLS1maWx0ZXI9YmxvYjpsaW1pdD0xayA+ZmlsdGVyLnBhY2sgPDwtRU9GICYmCi0JSEVBRAotCSQoZ2l0IC1DIHIyIHJldi1wYXJzZSBIRUFEOmxhcmdlLjEwMDAwKQotCUVPRgorCWVjaG8gSEVBRCA+b2JqZWN0cyAmJgorCWdpdCAtQyByMiByZXYtcGFyc2UgSEVBRDpsYXJnZS4xMDAwMCA+Pm9iamVjdHMgJiYKKwlnaXQgLUMgcjIgcGFjay1vYmplY3RzIC0tcmV2cyAtLXN0ZG91dCAtLWZpbHRlcj1ibG9iOmxpbWl0PTFrIDxvYmplY3RzID5maWx0ZXIucGFjayAmJgogCWdpdCAtQyByMiBpbmRleC1wYWNrIC4uL2ZpbHRlci5wYWNrICYmCiAKIAlnaXQgLUMgcjIgdmVyaWZ5LXBhY2sgLXYgLi4vZmlsdGVyLnBhY2sgPnZlcmlmeV9yZXN1bHQgJiYKQEAgLTI0OSw3ICsyMzQsNyBAQAogCWF3ayAtZiBwcmludF8yLmF3ayBsc19maWxlc19yZXN1bHQgfAogCXNvcnQgPmV4cGVjdGVkICYmCiAKLQlnaXQgLUMgcjIgcGFjay1vYmplY3RzIC0tcmV2IC0tc3Rkb3V0IC0tZmlsdGVyPWJsb2I6bGltaXQ9MW0gPmZpbHRlci5wYWNrIDw8LUVPRiAmJgorCWdpdCAtQyByMiBwYWNrLW9iamVjdHMgLS1yZXZzIC0tc3Rkb3V0IC0tZmlsdGVyPWJsb2I6bGltaXQ9MW0gPmZpbHRlci5wYWNrIDw8LUVPRiAmJgogCUhFQUQKIAlFT0YKIAlnaXQgLUMgcjIgaW5kZXgtcGFjayAuLi9maWx0ZXIucGFjayAmJgpAQCAtMjc3LDYgKzI2MiwxMCBAQAogJwogCiAjIFRlc3Qgc3BhcnNlOnBhdGg9PHBhdGg+IGZpbHRlci4KKyMgISEhIQorIyBOT1RFOiBzcGFyc2U6cGF0aCBmaWx0ZXIgc3VwcG9ydCBoYXMgYmVlbiBkcm9wcGVkIGZvciBzZWN1cml0eSByZWFzb25zLAorIyBzbyB0aGUgdGVzdHMgaGF2ZSBiZWVuIGNoYW5nZWQgdG8gbWFrZSBzdXJlIHRoYXQgdXNpbmcgaXQgZmFpbHMuCisjICEhISEKICMgVXNlIGEgbG9jYWwgZmlsZSBjb250YWluaW5nIGEgc3BhcnNlLWNoZWNrb3V0IHNwZWNpZmljYXRpb24gdG8gZmlsdGVyCiAjIG91dCBibG9icyBub3QgcmVxdWlyZWQgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHNwYXJzZS1jaGVja291dC4gIFdlIGRvIG5vdAogIyByZXF1aXJlIHNwYXJzZS1jaGVja291dCB0byBhY3R1YWxseSBiZSBlbmFibGVkLgpAQCAtMzAyLDcgKzI5MSw3IEBACiAJYXdrIC1mIHByaW50XzIuYXdrIGxzX2ZpbGVzX3Jlc3VsdCB8CiAJc29ydCA+ZXhwZWN0ZWQgJiYKIAotCWdpdCAtQyByMyBwYWNrLW9iamVjdHMgLS1yZXYgLS1zdGRvdXQgPmFsbC5wYWNrIDw8LUVPRiAmJgorCWdpdCAtQyByMyBwYWNrLW9iamVjdHMgLS1yZXZzIC0tc3Rkb3V0ID5hbGwucGFjayA8PC1FT0YgJiYKIAlIRUFECiAJRU9GCiAJZ2l0IC1DIHIzIGluZGV4LXBhY2sgLi4vYWxsLnBhY2sgJiYKQEAgLTMxNSw3MyArMzA0LDI0IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgb2JzZXJ2ZWQKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IHNwYXJzZTpwYXRoPXBhdHRlcm4xJyAnCi0JZ2l0IC1DIHIzIGxzLWZpbGVzIC1zIGRpcjEvc3BhcnNlMSBkaXIxL3NwYXJzZTIgPmxzX2ZpbGVzX3Jlc3VsdCAmJgotCWF3ayAtZiBwcmludF8yLmF3ayBsc19maWxlc19yZXN1bHQgfAotCXNvcnQgPmV4cGVjdGVkICYmCi0KLQlnaXQgLUMgcjMgcGFjay1vYmplY3RzIC0tcmV2IC0tc3Rkb3V0IC0tZmlsdGVyPXNwYXJzZTpwYXRoPS4uL3BhdHRlcm4xID5maWx0ZXIucGFjayA8PC1FT0YgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZlcmlmeSBzcGFyc2U6cGF0aD1wYXR0ZXJuMSBmYWlscycgJworCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyByMyBwYWNrLW9iamVjdHMgLS1yZXZzIC0tc3Rkb3V0IFwKKwkJLS1maWx0ZXI9c3BhcnNlOnBhdGg9Li4vcGF0dGVybjEgPDwtRU9GCiAJSEVBRAogCUVPRgotCWdpdCAtQyByMyBpbmRleC1wYWNrIC4uL2ZpbHRlci5wYWNrICYmCi0KLQlnaXQgLUMgcjMgdmVyaWZ5LXBhY2sgLXYgLi4vZmlsdGVyLnBhY2sgPnZlcmlmeV9yZXN1bHQgJiYKLQlncmVwIGJsb2IgdmVyaWZ5X3Jlc3VsdCB8Ci0JYXdrIC1mIHByaW50XzEuYXdrIHwKLQlzb3J0ID5vYnNlcnZlZCAmJgotCi0JdGVzdF9jbXAgZXhwZWN0ZWQgb2JzZXJ2ZWQKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IG5vcm1hbCBhbmQgc3BhcnNlOnBhdGg9cGF0dGVybjEgcGFja2ZpbGVzIGhhdmUgc2FtZSBjb21taXRzL3RyZWVzJyAnCi0JZ2l0IC1DIHIzIHZlcmlmeS1wYWNrIC12IC4uL2FsbC5wYWNrID52ZXJpZnlfcmVzdWx0ICYmCi0JZ3JlcCAtRSAiY29tbWl0fHRyZWUiIHZlcmlmeV9yZXN1bHQgfAotCWF3ayAtZiBwcmludF8xLmF3ayB8Ci0Jc29ydCA+ZXhwZWN0ZWQgJiYKLQotCWdpdCAtQyByMyB2ZXJpZnktcGFjayAtdiAuLi9maWx0ZXIucGFjayA+dmVyaWZ5X3Jlc3VsdCAmJgotCWdyZXAgLUUgImNvbW1pdHx0cmVlIiB2ZXJpZnlfcmVzdWx0IHwKLQlhd2sgLWYgcHJpbnRfMS5hd2sgfAotCXNvcnQgPm9ic2VydmVkICYmCi0KLQl0ZXN0X2NtcCBleHBlY3RlZCBvYnNlcnZlZAotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJpZnkgc3BhcnNlOnBhdGg9cGF0dGVybjInICcKLQlnaXQgLUMgcjMgbHMtZmlsZXMgLXMgc3BhcnNlMSBkaXIxL3NwYXJzZTEgPmxzX2ZpbGVzX3Jlc3VsdCAmJgotCWF3ayAtZiBwcmludF8yLmF3ayBsc19maWxlc19yZXN1bHQgfAotCXNvcnQgPmV4cGVjdGVkICYmCi0KLQlnaXQgLUMgcjMgcGFjay1vYmplY3RzIC0tcmV2IC0tc3Rkb3V0IC0tZmlsdGVyPXNwYXJzZTpwYXRoPS4uL3BhdHRlcm4yID5maWx0ZXIucGFjayA8PC1FT0YgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZlcmlmeSBzcGFyc2U6cGF0aD1wYXR0ZXJuMiBmYWlscycgJworCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyByMyBwYWNrLW9iamVjdHMgLS1yZXZzIC0tc3Rkb3V0IFwKKwkJLS1maWx0ZXI9c3BhcnNlOnBhdGg9Li4vcGF0dGVybjIgPDwtRU9GCiAJSEVBRAogCUVPRgotCWdpdCAtQyByMyBpbmRleC1wYWNrIC4uL2ZpbHRlci5wYWNrICYmCi0KLQlnaXQgLUMgcjMgdmVyaWZ5LXBhY2sgLXYgLi4vZmlsdGVyLnBhY2sgPnZlcmlmeV9yZXN1bHQgJiYKLQlncmVwIGJsb2IgdmVyaWZ5X3Jlc3VsdCB8Ci0JYXdrIC1mIHByaW50XzEuYXdrIHwKLQlzb3J0ID5vYnNlcnZlZCAmJgotCi0JdGVzdF9jbXAgZXhwZWN0ZWQgb2JzZXJ2ZWQKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IG5vcm1hbCBhbmQgc3BhcnNlOnBhdGg9cGF0dGVybjIgcGFja2ZpbGVzIGhhdmUgc2FtZSBjb21taXRzL3RyZWVzJyAnCi0JZ2l0IC1DIHIzIHZlcmlmeS1wYWNrIC12IC4uL2FsbC5wYWNrID52ZXJpZnlfcmVzdWx0ICYmCi0JZ3JlcCAtRSAiY29tbWl0fHRyZWUiIHZlcmlmeV9yZXN1bHQgfAotCWF3ayAtZiBwcmludF8xLmF3ayB8Ci0Jc29ydCA+ZXhwZWN0ZWQgJiYKLQotCWdpdCAtQyByMyB2ZXJpZnktcGFjayAtdiAuLi9maWx0ZXIucGFjayA+dmVyaWZ5X3Jlc3VsdCAmJgotCWdyZXAgLUUgImNvbW1pdHx0cmVlIiB2ZXJpZnlfcmVzdWx0IHwKLQlhd2sgLWYgcHJpbnRfMS5hd2sgfAotCXNvcnQgPm9ic2VydmVkICYmCi0KLQl0ZXN0X2NtcCBleHBlY3RlZCBvYnNlcnZlZAogJwogCiAjIFRlc3Qgc3BhcnNlOm9pZD08b2lkLWlzaD4gZmlsdGVyLgotIyBMaWtlIHNwYXJzZTpwYXRoLCBidXQgd2UgZ2V0IHRoZSBzcGFyc2UtY2hlY2tvdXQgc3BlY2lmaWNhdGlvbiBmcm9tCi0jIGEgYmxvYiByYXRoZXIgdGhhbiBhIGZpbGUgb24gZGlzay4KKyMgVXNlIGEgYmxvYiBjb250YWluaW5nIGEgc3BhcnNlLWNoZWNrb3V0IHNwZWNpZmljYXRpb24gdG8gZmlsdGVyCisjIG91dCBibG9icyBub3QgcmVxdWlyZWQgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHNwYXJzZS1jaGVja291dC4gIFdlIGRvIG5vdAorIyByZXF1aXJlIHNwYXJzZS1jaGVja291dCB0byBhY3R1YWxseSBiZSBlbmFibGVkLgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCByNCcgJwogCWdpdCBpbml0IHI0ICYmCkBAIC00MDQsNyArMzQ0LDcgQEAKIAlhd2sgLWYgcHJpbnRfMi5hd2sgbHNfZmlsZXNfcmVzdWx0IHwKIAlzb3J0ID5leHBlY3RlZCAmJgogCi0JZ2l0IC1DIHI0IHBhY2stb2JqZWN0cyAtLXJldiAtLXN0ZG91dCA+YWxsLnBhY2sgPDwtRU9GICYmCisJZ2l0IC1DIHI0IHBhY2stb2JqZWN0cyAtLXJldnMgLS1zdGRvdXQgPmFsbC5wYWNrIDw8LUVPRiAmJgogCUhFQUQKIAlFT0YKIAlnaXQgLUMgcjQgaW5kZXgtcGFjayAuLi9hbGwucGFjayAmJgpAQCAtNDIyLDggKzM2Miw5IEBACiAJYXdrIC1mIHByaW50XzIuYXdrIGxzX2ZpbGVzX3Jlc3VsdCB8CiAJc29ydCA+ZXhwZWN0ZWQgJiYKIAotCW9pZD0kKGdpdCAtQyByNCBscy1maWxlcyAtcyBwYXR0ZXJuIHwgYXdrIC1mIHByaW50XzIuYXdrKSAmJgotCWdpdCAtQyByNCBwYWNrLW9iamVjdHMgLS1yZXYgLS1zdGRvdXQgLS1maWx0ZXI9c3BhcnNlOm9pZD0kb2lkID5maWx0ZXIucGFjayA8PC1FT0YgJiYKKwlnaXQgLUMgcjQgbHMtZmlsZXMgLXMgcGF0dGVybiA+c3RhZ2VkICYmCisJb2lkPSQoYXdrIC1mIHByaW50XzIuYXdrIHN0YWdlZCkgJiYKKwlnaXQgLUMgcjQgcGFjay1vYmplY3RzIC0tcmV2cyAtLXN0ZG91dCAtLWZpbHRlcj1zcGFyc2U6b2lkPSRvaWQgPmZpbHRlci5wYWNrIDw8LUVPRiAmJgogCUhFQUQKIAlFT0YKIAlnaXQgLUMgcjQgaW5kZXgtcGFjayAuLi9maWx0ZXIucGFjayAmJgpAQCAtNDQxLDcgKzM4Miw3IEBACiAJYXdrIC1mIHByaW50XzIuYXdrIGxzX2ZpbGVzX3Jlc3VsdCB8CiAJc29ydCA+ZXhwZWN0ZWQgJiYKIAotCWdpdCAtQyByNCBwYWNrLW9iamVjdHMgLS1yZXYgLS1zdGRvdXQgLS1maWx0ZXI9c3BhcnNlOm9pZD1tYXN0ZXI6cGF0dGVybiA+ZmlsdGVyLnBhY2sgPDwtRU9GICYmCisJZ2l0IC1DIHI0IHBhY2stb2JqZWN0cyAtLXJldnMgLS1zdGRvdXQgLS1maWx0ZXI9c3BhcnNlOm9pZD1tYXN0ZXI6cGF0dGVybiA+ZmlsdGVyLnBhY2sgPDwtRU9GICYmCiAJSEVBRAogCUVPRgogCWdpdCAtQyByNCBpbmRleC1wYWNrIC4uL2ZpbHRlci5wYWNrICYmCkBAIC00NzAsMTkgKzQxMSwxOSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJpZnkgcGFjay1vYmplY3RzIGZhaWxzIHcvIG1pc3Npbmcgb2JqZWN0cycgJwotCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyByMSBwYWNrLW9iamVjdHMgLS1yZXYgLS1zdGRvdXQgPm1pc3MucGFjayA8PC1FT0YKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgcjEgcGFjay1vYmplY3RzIC0tcmV2cyAtLXN0ZG91dCA+bWlzcy5wYWNrIDw8LUVPRgogCUhFQUQKIAlFT0YKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IHBhY2stb2JqZWN0cyBmYWlscyB3LyAtLW1pc3Npbmc9ZXJyb3InICcKLQl0ZXN0X211c3RfZmFpbCBnaXQgLUMgcjEgcGFjay1vYmplY3RzIC0tcmV2IC0tc3Rkb3V0IC0tbWlzc2luZz1lcnJvciA+bWlzcy5wYWNrIDw8LUVPRgorCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyByMSBwYWNrLW9iamVjdHMgLS1yZXZzIC0tc3Rkb3V0IC0tbWlzc2luZz1lcnJvciA+bWlzcy5wYWNrIDw8LUVPRgogCUhFQUQKIAlFT0YKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IHBhY2stb2JqZWN0cyB3LyAtLW1pc3Npbmc9YWxsb3ctYW55JyAnCi0JZ2l0IC1DIHIxIHBhY2stb2JqZWN0cyAtLXJldiAtLXN0ZG91dCAtLW1pc3Npbmc9YWxsb3ctYW55ID5taXNzLnBhY2sgPDwtRU9GCisJZ2l0IC1DIHIxIHBhY2stb2JqZWN0cyAtLXJldnMgLS1zdGRvdXQgLS1taXNzaW5nPWFsbG93LWFueSA+bWlzcy5wYWNrIDw8LUVPRgogCUhFQUQKIAlFT0YKICcKZGlmZiAtLWdpdCBhL3QvdDUzMTgtY29tbWl0LWdyYXBoLnNoIGIvdC90NTMxOC1jb21taXQtZ3JhcGguc2gKaW5kZXggNWZlMjFkYi4uOWJmOTIwYSAxMDA3NTUKLS0tIGEvdC90NTMxOC1jb21taXQtZ3JhcGguc2gKKysrIGIvdC90NTMxOC1jb21taXQtZ3JhcGguc2gKQEAgLTE5LDggKzE5LDE1IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dyaXRlIGdyYXBoIHdpdGggbm8gcGFja3MnICcKIAljZCAiJFRSQVNIX0RJUkVDVE9SWS9mdWxsIiAmJgotCWdpdCBjb21taXQtZ3JhcGggd3JpdGUgLS1vYmplY3QtZGlyIC4gJiYKLQl0ZXN0X3BhdGhfaXNfZmlsZSBpbmZvL2NvbW1pdC1ncmFwaAorCWdpdCBjb21taXQtZ3JhcGggd3JpdGUgLS1vYmplY3QtZGlyICRvYmpkaXIgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyAkb2JqZGlyL2luZm8vY29tbWl0LWdyYXBoCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2V4aXQgd2l0aCBjb3JyZWN0IGVycm9yIG9uIGJhZCBpbnB1dCB0byAtLXN0ZGluLXBhY2tzJyAnCisJY2QgIiRUUkFTSF9ESVJFQ1RPUlkvZnVsbCIgJiYKKwllY2hvIGRvZXNub3RleGlzdCA+aW4gJiYKKwl0ZXN0X2V4cGVjdF9jb2RlIDEgZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSAtLXN0ZGluLXBhY2tzIDxpbiAyPnN0ZGVyciAmJgorCXRlc3RfaTE4bmdyZXAgImVycm9yIGFkZGluZyBwYWNrIiBzdGRlcnIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIGNvbW1pdHMgYW5kIHJlcGFjaycgJwpAQCAtMzMsNiArNDAsMTUgQEAKIAlnaXQgcmVwYWNrCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2V4aXQgd2l0aCBjb3JyZWN0IGVycm9yIG9uIGJhZCBpbnB1dCB0byAtLXN0ZGluLWNvbW1pdHMnICcKKwljZCAiJFRSQVNIX0RJUkVDVE9SWS9mdWxsIiAmJgorCWVjaG8gSEVBRCB8IHRlc3RfZXhwZWN0X2NvZGUgMSBnaXQgY29tbWl0LWdyYXBoIHdyaXRlIC0tc3RkaW4tY29tbWl0cyAyPnN0ZGVyciAmJgorCXRlc3RfaTE4bmdyZXAgImludmFsaWQgY29tbWl0IG9iamVjdCBpZCIgc3RkZXJyICYmCisJIyB2YWxpZCB0cmVlIE9JRCwgYnV0IG5vdCBhIGNvbW1pdCBPSUQKKwlnaXQgcmV2LXBhcnNlIEhFQURee3RyZWV9IHwgdGVzdF9leHBlY3RfY29kZSAxIGdpdCBjb21taXQtZ3JhcGggd3JpdGUgLS1zdGRpbi1jb21taXRzIDI+c3RkZXJyICYmCisJdGVzdF9pMThuZ3JlcCAiaW52YWxpZCBjb21taXQgb2JqZWN0IGlkIiBzdGRlcnIKKycKKwogZ3JhcGhfZ2l0X3R3b19tb2RlcygpIHsKIAlnaXQgLWMgY29yZS5jb21taXRHcmFwaD10cnVlICQxID5vdXRwdXQKIAlnaXQgLWMgY29yZS5jb21taXRHcmFwaD1mYWxzZSAkMSA+ZXhwZWN0CkBAIC02OSwxMyArODUsMTMgQEAKIAludW1fY29tbWl0czogJDEKIAljaHVua3M6IG9pZF9mYW5vdXQgb2lkX2xvb2t1cCBjb21taXRfbWV0YWRhdGEkT1BUSU9OQUwKIAlFT0YKLQlnaXQgY29tbWl0LWdyYXBoIHJlYWQgPm91dHB1dCAmJgorCXRlc3QtdG9vbCByZWFkLWdyYXBoID5vdXRwdXQgJiYKIAl0ZXN0X2NtcCBleHBlY3Qgb3V0cHV0CiB9CiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dyaXRlIGdyYXBoJyAnCiAJY2QgIiRUUkFTSF9ESVJFQ1RPUlkvZnVsbCIgJiYKLQlncmFwaDE9JChnaXQgY29tbWl0LWdyYXBoIHdyaXRlKSAmJgorCWdpdCBjb21taXQtZ3JhcGggd3JpdGUgJiYKIAl0ZXN0X3BhdGhfaXNfZmlsZSAkb2JqZGlyL2luZm8vY29tbWl0LWdyYXBoICYmCiAJZ3JhcGhfcmVhZF9leHBlY3QgIjMiCiAnCkBAIC0xMDgsNiArMTI0LDQyIEBACiAJZ2l0IHJlcGFjawogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb21taXQtZ3JhcGggd3JpdGUgcHJvZ3Jlc3Mgb2ZmIGZvciByZWRpcmVjdGVkIHN0ZGVycicgJworCWNkICIkVFJBU0hfRElSRUNUT1JZL2Z1bGwiICYmCisJZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSAyPmVyciAmJgorCXRlc3RfbGluZV9jb3VudCA9IDAgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbW1pdC1ncmFwaCB3cml0ZSBmb3JjZSBwcm9ncmVzcyBvbiBmb3Igc3RkZXJyJyAnCisJY2QgIiRUUkFTSF9ESVJFQ1RPUlkvZnVsbCIgJiYKKwlHSVRfUFJPR1JFU1NfREVMQVk9MCBnaXQgY29tbWl0LWdyYXBoIHdyaXRlIC0tcHJvZ3Jlc3MgMj5lcnIgJiYKKwl0ZXN0X2ZpbGVfbm90X2VtcHR5IGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb21taXQtZ3JhcGggd3JpdGUgd2l0aCB0aGUgLS1uby1wcm9ncmVzcyBvcHRpb24nICcKKwljZCAiJFRSQVNIX0RJUkVDVE9SWS9mdWxsIiAmJgorCWdpdCBjb21taXQtZ3JhcGggd3JpdGUgLS1uby1wcm9ncmVzcyAyPmVyciAmJgorCXRlc3RfbGluZV9jb3VudCA9IDAgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbW1pdC1ncmFwaCB2ZXJpZnkgcHJvZ3Jlc3Mgb2ZmIGZvciByZWRpcmVjdGVkIHN0ZGVycicgJworCWNkICIkVFJBU0hfRElSRUNUT1JZL2Z1bGwiICYmCisJZ2l0IGNvbW1pdC1ncmFwaCB2ZXJpZnkgMj5lcnIgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAwIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb21taXQtZ3JhcGggdmVyaWZ5IGZvcmNlIHByb2dyZXNzIG9uIGZvciBzdGRlcnInICcKKwljZCAiJFRSQVNIX0RJUkVDVE9SWS9mdWxsIiAmJgorCUdJVF9QUk9HUkVTU19ERUxBWT0wIGdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IC0tcHJvZ3Jlc3MgMj5lcnIgJiYKKwl0ZXN0X2ZpbGVfbm90X2VtcHR5IGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb21taXQtZ3JhcGggdmVyaWZ5IHdpdGggdGhlIC0tbm8tcHJvZ3Jlc3Mgb3B0aW9uJyAnCisJY2QgIiRUUkFTSF9ESVJFQ1RPUlkvZnVsbCIgJiYKKwlnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSAtLW5vLXByb2dyZXNzIDI+ZXJyICYmCisJdGVzdF9saW5lX2NvdW50ID0gMCBlcnIKKycKKwogIyBDdXJyZW50IGdyYXBoIHN0cnVjdHVyZToKICMKICMgICBfX00zX19fCkBAIC0xMjIsNyArMTc0LDcgQEAKIAljZCAiJFRSQVNIX0RJUkVDVE9SWS9mdWxsIiAmJgogCWdpdCBjb21taXQtZ3JhcGggd3JpdGUgJiYKIAl0ZXN0X3BhdGhfaXNfZmlsZSAkb2JqZGlyL2luZm8vY29tbWl0LWdyYXBoICYmCi0JZ3JhcGhfcmVhZF9leHBlY3QgIjEwIiAibGFyZ2VfZWRnZXMiCisJZ3JhcGhfcmVhZF9leHBlY3QgIjEwIiAiZXh0cmFfZWRnZXMiCiAnCiAKIGdyYXBoX2dpdF9iZWhhdmlvciAnbWVyZ2UgMSB2cyAyJyBmdWxsIG1lcmdlLzEgbWVyZ2UvMgpAQCAtMTU3LDcgKzIwOSw3IEBACiAJY2QgIiRUUkFTSF9ESVJFQ1RPUlkvZnVsbCIgJiYKIAlnaXQgY29tbWl0LWdyYXBoIHdyaXRlICYmCiAJdGVzdF9wYXRoX2lzX2ZpbGUgJG9iamRpci9pbmZvL2NvbW1pdC1ncmFwaCAmJgotCWdyYXBoX3JlYWRfZXhwZWN0ICIxMSIgImxhcmdlX2VkZ2VzIgorCWdyYXBoX3JlYWRfZXhwZWN0ICIxMSIgImV4dHJhX2VkZ2VzIgogJwogCiBncmFwaF9naXRfYmVoYXZpb3IgJ2Z1bGwgZ3JhcGgsIGNvbW1pdCA4IHZzIG1lcmdlIDEnIGZ1bGwgY29tbWl0cy84IG1lcmdlLzEKQEAgLTE2Nyw3ICsyMTksNyBAQAogCWNkICIkVFJBU0hfRElSRUNUT1JZL2Z1bGwiICYmCiAJZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSAmJgogCXRlc3RfcGF0aF9pc19maWxlICRvYmpkaXIvaW5mby9jb21taXQtZ3JhcGggJiYKLQlncmFwaF9yZWFkX2V4cGVjdCAiMTEiICJsYXJnZV9lZGdlcyIKKwlncmFwaF9yZWFkX2V4cGVjdCAiMTEiICJleHRyYV9lZGdlcyIKICcKIAogZ3JhcGhfZ2l0X2JlaGF2aW9yICdjbGVhcmVkIGdyYXBoLCBjb21taXQgOCB2cyBtZXJnZSAxJyBmdWxsIGNvbW1pdHMvOCBtZXJnZS8xCkBAIC0xNzcsNyArMjI5LDcgQEAKIAljZCAiJFRSQVNIX0RJUkVDVE9SWS9mdWxsIiAmJgogCWNhdCBuZXctaWR4IHwgZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSAtLXN0ZGluLXBhY2tzICYmCiAJdGVzdF9wYXRoX2lzX2ZpbGUgJG9iamRpci9pbmZvL2NvbW1pdC1ncmFwaCAmJgotCWdyYXBoX3JlYWRfZXhwZWN0ICI5IiAibGFyZ2VfZWRnZXMiCisJZ3JhcGhfcmVhZF9leHBlY3QgIjkiICJleHRyYV9lZGdlcyIKICcKIAogZ3JhcGhfZ2l0X2JlaGF2aW9yICdncmFwaCBmcm9tIHBhY2ssIGNvbW1pdCA4IHZzIG1lcmdlIDEnIGZ1bGwgY29tbWl0cy84IG1lcmdlLzEKQEAgLTIwMCw3ICsyNTIsNyBAQAogCWNkICIkVFJBU0hfRElSRUNUT1JZL2Z1bGwiICYmCiAJZ2l0IHJldi1wYXJzZSBtZXJnZS8zIHwgZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSAtLXN0ZGluLWNvbW1pdHMgLS1hcHBlbmQgJiYKIAl0ZXN0X3BhdGhfaXNfZmlsZSAkb2JqZGlyL2luZm8vY29tbWl0LWdyYXBoICYmCi0JZ3JhcGhfcmVhZF9leHBlY3QgIjEwIiAibGFyZ2VfZWRnZXMiCisJZ3JhcGhfcmVhZF9leHBlY3QgIjEwIiAiZXh0cmFfZWRnZXMiCiAnCiAKIGdyYXBoX2dpdF9iZWhhdmlvciAnYXBwZW5kIGdyYXBoLCBjb21taXQgOCB2cyBtZXJnZSAxJyBmdWxsIGNvbW1pdHMvOCBtZXJnZS8xCkBAIC0yMTAsNyArMjYyLDcgQEAKIAljZCAiJFRSQVNIX0RJUkVDVE9SWS9mdWxsIiAmJgogCWdpdCBjb21taXQtZ3JhcGggd3JpdGUgLS1yZWFjaGFibGUgJiYKIAl0ZXN0X3BhdGhfaXNfZmlsZSAkb2JqZGlyL2luZm8vY29tbWl0LWdyYXBoICYmCi0JZ3JhcGhfcmVhZF9leHBlY3QgIjExIiAibGFyZ2VfZWRnZXMiCisJZ3JhcGhfcmVhZF9leHBlY3QgIjExIiAiZXh0cmFfZWRnZXMiCiAnCiAKIGdyYXBoX2dpdF9iZWhhdmlvciAnYXBwZW5kIGdyYXBoLCBjb21taXQgOCB2cyBtZXJnZSAxJyBmdWxsIGNvbW1pdHMvOCBtZXJnZS8xCkBAIC0yMzEsNyArMjgzLDcgQEAKIAljZCAiJFRSQVNIX0RJUkVDVE9SWS9iYXJlIiAmJgogCWdpdCBjb21taXQtZ3JhcGggd3JpdGUgJiYKIAl0ZXN0X3BhdGhfaXNfZmlsZSAkYmFyZWRpci9pbmZvL2NvbW1pdC1ncmFwaCAmJgotCWdyYXBoX3JlYWRfZXhwZWN0ICIxMSIgImxhcmdlX2VkZ2VzIgorCWdyYXBoX3JlYWRfZXhwZWN0ICIxMSIgImV4dHJhX2VkZ2VzIgogJwogCiBncmFwaF9naXRfYmVoYXZpb3IgJ2JhcmUgcmVwbyB3aXRoIGdyYXBoLCBjb21taXQgOCB2cyBtZXJnZSAxJyBiYXJlIGNvbW1pdHMvOCBtZXJnZS8xCkBAIC0zNjYsMjQgKzQxOCw1OCBAQAogR1JBUEhfQllURV9PQ1RPUFVTPSQoKCRHUkFQSF9PQ1RPUFVTX0RBVEFfT0ZGU0VUICsgNCkpCiBHUkFQSF9CWVRFX0ZPT1RFUj0kKCgkR1JBUEhfT0NUT1BVU19EQVRBX09GRlNFVCArIDQgKiAkTlVNX09DVE9QVVNfRURHRVMpKQogCi0jIHVzYWdlOiBjb3JydXB0X2dyYXBoX2FuZF92ZXJpZnkgPHBvc2l0aW9uPiA8ZGF0YT4gPHN0cmluZz4KK2NvcnJ1cHRfZ3JhcGhfc2V0dXAoKSB7CisJY2QgIiRUUkFTSF9ESVJFQ1RPUlkvZnVsbCIgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgbXYgY29tbWl0LWdyYXBoLWJhY2t1cCAkb2JqZGlyL2luZm8vY29tbWl0LWdyYXBoICYmCisJY3AgJG9iamRpci9pbmZvL2NvbW1pdC1ncmFwaCBjb21taXQtZ3JhcGgtYmFja3VwCit9CisKK2NvcnJ1cHRfZ3JhcGhfdmVyaWZ5KCkgeworCWdyZXBzdHI9JDEKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSAyPnRlc3RfZXJyICYmCisJZ3JlcCAtdiAiXisiIHRlc3RfZXJyID5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICIkZ3JlcHN0ciIgZXJyICYmCisJaWYgdGVzdCAiJDIiICE9ICJuby1jb3B5IgorCXRoZW4KKwkJY3AgJG9iamRpci9pbmZvL2NvbW1pdC1ncmFwaCBjb21taXQtZ3JhcGgtcHJlLXdyaXRlLXRlc3QKKwlmaSAmJgorCWdpdCBzdGF0dXMgLS1zaG9ydCAmJgorCUdJVF9URVNUX0NPTU1JVF9HUkFQSF9ESUVfT05fTE9BRD10cnVlIGdpdCBjb21taXQtZ3JhcGggd3JpdGUgJiYKKwlnaXQgY29tbWl0LWdyYXBoIHZlcmlmeQorfQorCisjIHVzYWdlOiBjb3JydXB0X2dyYXBoX2FuZF92ZXJpZnkgPHBvc2l0aW9uPiA8ZGF0YT4gPHN0cmluZz4gWzx6ZXJvX3Bvcz5dCiAjIE1hbmlwdWxhdGVzIHRoZSBjb21taXQtZ3JhcGggZmlsZSBhdCB0aGUgcG9zaXRpb24KLSMgYnkgaW5zZXJ0aW5nIHRoZSBkYXRhLCB0aGVuIHJ1bnMgJ2dpdCBjb21taXQtZ3JhcGggdmVyaWZ5JworIyBieSBpbnNlcnRpbmcgdGhlIGRhdGEsIG9wdGlvbmFsbHkgemVyb2luZyB0aGUgZmlsZQorIyBzdGFydGluZyBhdCA8emVyb19wb3M+LCB0aGVuIHJ1bnMgJ2dpdCBjb21taXQtZ3JhcGggdmVyaWZ5JwogIyBhbmQgcGxhY2VzIHRoZSBvdXRwdXQgaW4gdGhlIGZpbGUgJ2VycicuIFRlc3QgJ2VycicgZm9yCiAjIHRoZSBnaXZlbiBzdHJpbmcuCiBjb3JydXB0X2dyYXBoX2FuZF92ZXJpZnkoKSB7CiAJcG9zPSQxCiAJZGF0YT0iJHsyOi1cMH0iCiAJZ3JlcHN0cj0kMwotCWNkICIkVFJBU0hfRElSRUNUT1JZL2Z1bGwiICYmCi0JdGVzdF93aGVuX2ZpbmlzaGVkIG12IGNvbW1pdC1ncmFwaC1iYWNrdXAgJG9iamRpci9pbmZvL2NvbW1pdC1ncmFwaCAmJgotCWNwICRvYmpkaXIvaW5mby9jb21taXQtZ3JhcGggY29tbWl0LWdyYXBoLWJhY2t1cCAmJgorCWNvcnJ1cHRfZ3JhcGhfc2V0dXAgJiYKKwlvcmlnX3NpemU9JCh3YyAtYyA8ICRvYmpkaXIvaW5mby9jb21taXQtZ3JhcGgpICYmCisJemVyb19wb3M9JHs0Oi0ke29yaWdfc2l6ZX19ICYmCiAJcHJpbnRmICIkZGF0YSIgfCBkZCBvZj0iJG9iamRpci9pbmZvL2NvbW1pdC1ncmFwaCIgYnM9MSBzZWVrPSIkcG9zIiBjb252PW5vdHJ1bmMgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSAyPnRlc3RfZXJyICYmCi0JZ3JlcCAtdiAiXisiIHRlc3RfZXJyID5lcnIKLQl0ZXN0X2kxOG5ncmVwICIkZ3JlcHN0ciIgZXJyCisJZGQgb2Y9IiRvYmpkaXIvaW5mby9jb21taXQtZ3JhcGgiIGJzPTEgc2Vlaz0iJHplcm9fcG9zIiBpZj0vZGV2L251bGwgJiYKKwlnZW5lcmF0ZV96ZXJvX2J5dGVzICQoKCRvcmlnX3NpemUgLSAkemVyb19wb3MpKSA+PiIkb2JqZGlyL2luZm8vY29tbWl0LWdyYXBoIiAmJgorCWNvcnJ1cHRfZ3JhcGhfdmVyaWZ5ICIkZ3JlcHN0ciIKKwogfQogCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBPU0lYUEVSTSxTQU5JVFkgJ2RldGVjdCBwZXJtaXNzaW9uIHByb2JsZW0nICcKKwljb3JydXB0X2dyYXBoX3NldHVwICYmCisJY2htb2QgMDAwICRvYmpkaXIvaW5mby9jb21taXQtZ3JhcGggJiYKKwljb3JydXB0X2dyYXBoX3ZlcmlmeSAiQ291bGQgbm90IG9wZW4iICJuby1jb3B5IgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZXRlY3QgdG9vIHNtYWxsJyAnCisJY29ycnVwdF9ncmFwaF9zZXR1cCAmJgorCWVjaG8gImEgc21hbGwgZ3JhcGgiID4kb2JqZGlyL2luZm8vY29tbWl0LWdyYXBoICYmCisJY29ycnVwdF9ncmFwaF92ZXJpZnkgInRvbyBzbWFsbCIKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGV0ZWN0IGJhZCBzaWduYXR1cmUnICcKIAljb3JydXB0X2dyYXBoX2FuZF92ZXJpZnkgMCAiXDAiIFwKIAkJImdyYXBoIHNpZ25hdHVyZSIKQEAgLTM5NSw3ICs0ODEsNyBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZXRlY3QgYmFkIGhhc2ggdmVyc2lvbicgJwotCWNvcnJ1cHRfZ3JhcGhfYW5kX3ZlcmlmeSAkR1JBUEhfQllURV9IQVNIICJcMDIiIFwKKwljb3JydXB0X2dyYXBoX2FuZF92ZXJpZnkgJEdSQVBIX0JZVEVfSEFTSCAiXDAzIiBcCiAJCSJoYXNoIHZlcnNpb24iCiAnCiAKQEAgLTQ4NCwxMSArNTcwLDE3IEBACiAJCSJpbmNvcnJlY3QgY2hlY2tzdW0iCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RldGVjdCBpbmNvcnJlY3QgY2h1bmsgY291bnQnICcKKwljb3JydXB0X2dyYXBoX2FuZF92ZXJpZnkgJEdSQVBIX0JZVEVfQ0hVTktfQ09VTlQgIlwzNzciIFwKKwkJImNodW5rIGxvb2t1cCB0YWJsZSBlbnRyeSBtaXNzaW5nIiAkR1JBUEhfQ0hVTktfTE9PS1VQX09GRlNFVAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgZnNjayAoY2hlY2tzIGNvbW1pdC1ncmFwaCknICcKIAljZCAiJFRSQVNIX0RJUkVDVE9SWS9mdWxsIiAmJgogCWdpdCBmc2NrICYmCiAJY29ycnVwdF9ncmFwaF9hbmRfdmVyaWZ5ICRHUkFQSF9CWVRFX0ZPT1RFUiAiXDAwIiBcCiAJCSJpbmNvcnJlY3QgY2hlY2tzdW0iICYmCisJY3AgY29tbWl0LWdyYXBoLXByZS13cml0ZS10ZXN0ICRvYmpkaXIvaW5mby9jb21taXQtZ3JhcGggJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgZnNjawogJwogCkBAIC01MjksNCArNjIxLDQ3IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3JydXB0IGNvbW1pdC1ncmFwaCB3cml0ZSAoYnJva2VuIHBhcmVudCknICcKKwlybSAtcmYgcmVwbyAmJgorCWdpdCBpbml0IHJlcG8gJiYKKwkoCisJCWNkIHJlcG8gJiYKKwkJZW1wdHk9IiQoZ2l0IG1rdHJlZSA8L2Rldi9udWxsKSIgJiYKKwkJY2F0ID5icm9rZW4gPDwtRU9GICYmCisJCXRyZWUgJGVtcHR5CisJCXBhcmVudCAkWkVST19PSUQKKwkJYXV0aG9yIHdoYXRldmVyIDx3aGF0ZXZlckBleGFtcGxlLmNvbT4gMTIzNCAtMDAwMAorCQljb21taXR0ZXIgd2hhdGV2ZXIgPHdoYXRldmVyQGV4YW1wbGUuY29tPiAxMjM0IC0wMDAwCisKKwkJYnJva2VuIGNvbW1pdAorCQlFT0YKKwkJYnJva2VuPSIkKGdpdCBoYXNoLW9iamVjdCAtdyAtdCBjb21taXQgLS1saXRlcmFsbHkgYnJva2VuKSIgJiYKKwkJZ2l0IGNvbW1pdC10cmVlIC1wICIkYnJva2VuIiAtbSAiZ29vZCBjb21taXQiICIkZW1wdHkiID5nb29kICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBjb21taXQtZ3JhcGggd3JpdGUgLS1zdGRpbi1jb21taXRzIFwKKwkJCTxnb29kIDI+dGVzdF9lcnIgJiYKKwkJdGVzdF9pMThuZ3JlcCAidW5hYmxlIHRvIHBhcnNlIGNvbW1pdCIgdGVzdF9lcnIKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvcnJ1cHQgY29tbWl0LWdyYXBoIHdyaXRlIChtaXNzaW5nIHRyZWUpJyAnCisJcm0gLXJmIHJlcG8gJiYKKwlnaXQgaW5pdCByZXBvICYmCisJKAorCQljZCByZXBvICYmCisJCXRyZWU9IiQoZ2l0IG1rdHJlZSA8L2Rldi9udWxsKSIgJiYKKwkJY2F0ID5icm9rZW4gPDwtRU9GICYmCisJCXBhcmVudCAkWkVST19PSUQKKwkJYXV0aG9yIHdoYXRldmVyIDx3aGF0ZXZlckBleGFtcGxlLmNvbT4gMTIzNCAtMDAwMAorCQljb21taXR0ZXIgd2hhdGV2ZXIgPHdoYXRldmVyQGV4YW1wbGUuY29tPiAxMjM0IC0wMDAwCisKKwkJYnJva2VuIGNvbW1pdAorCQlFT0YKKwkJYnJva2VuPSIkKGdpdCBoYXNoLW9iamVjdCAtdyAtdCBjb21taXQgLS1saXRlcmFsbHkgYnJva2VuKSIgJiYKKwkJZ2l0IGNvbW1pdC10cmVlIC1wICIkYnJva2VuIiAtbSAiZ29vZCIgIiR0cmVlIiA+Z29vZCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgY29tbWl0LWdyYXBoIHdyaXRlIC0tc3RkaW4tY29tbWl0cyBcCisJCQk8Z29vZCAyPnRlc3RfZXJyICYmCisJCXRlc3RfaTE4bmdyZXAgInVuYWJsZSB0byBwYXJzZSBjb21taXQiIHRlc3RfZXJyCisJKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDUzMTktbXVsdGktcGFjay1pbmRleC5zaCBiL3QvdDUzMTktbXVsdGktcGFjay1pbmRleC5zaAppbmRleCA3MDkyNmI1Li40M2E3YTY2IDEwMDc1NQotLS0gYS90L3Q1MzE5LW11bHRpLXBhY2staW5kZXguc2gKKysrIGIvdC90NTMxOS1tdWx0aS1wYWNrLWluZGV4LnNoCkBAIC0yOCw2ICsyOCwyMCBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKIH0KIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKKwl0ZXN0X29pZF9pbml0ICYmCisJdGVzdF9vaWRfY2FjaGUgPDwtRU9GCisJaWR4b2ZmIHNoYTE6Mjk5OQorCWlkeG9mZiBzaGEyNTY6MzczOQorCisJcGFja25hbWVvZmYgc2hhMTo2NTIKKwlwYWNrbmFtZW9mZiBzaGEyNTY6OTQwCisKKwlmYW5vdXRvZmYgc2hhMToxCisJZmFub3V0b2ZmIHNoYTI1NjozCisJRU9GCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dyaXRlIG1pZHggd2l0aCBubyBwYWNrcycgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCBybSAtZiBwYWNrL211bHRpLXBhY2staW5kZXggJiYKIAlnaXQgbXVsdGktcGFjay1pbmRleCAtLW9iamVjdC1kaXI9LiB3cml0ZSAmJgpAQCAtODYsMTMgKzEwMCwxNCBAQAogJwogCiBtaWR4X2dpdF90d29fbW9kZXMgKCkgeworCWdpdCAtYyBjb3JlLm11bHRpUGFja0luZGV4PWZhbHNlICQxID5leHBlY3QgJiYKKwlnaXQgLWMgY29yZS5tdWx0aVBhY2tJbmRleD10cnVlICQxID5hY3R1YWwgJiYKIAlpZiBbICIkMiIgPSAic29ydGVkIiBdCiAJdGhlbgotCQlnaXQgLWMgY29yZS5tdWx0aVBhY2tJbmRleD1mYWxzZSAkMSB8IHNvcnQgPmV4cGVjdCAmJgotCQlnaXQgLWMgY29yZS5tdWx0aVBhY2tJbmRleD10cnVlICQxIHwgc29ydCA+YWN0dWFsCi0JZWxzZQotCQlnaXQgLWMgY29yZS5tdWx0aVBhY2tJbmRleD1mYWxzZSAkMSA+ZXhwZWN0ICYmCi0JCWdpdCAtYyBjb3JlLm11bHRpUGFja0luZGV4PXRydWUgJDEgPmFjdHVhbAorCQlzb3J0IDxleHBlY3QgPmV4cGVjdC5zb3J0ZWQgJiYKKwkJbXYgZXhwZWN0LnNvcnRlZCBleHBlY3QgJiYKKwkJc29ydCA8YWN0dWFsID5hY3R1YWwuc29ydGVkICYmCisJCW12IGFjdHVhbC5zb3J0ZWQgYWN0dWFsCiAJZmkgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiB9CkBAIC0xMDMsOCArMTE4LDggQEAKIAkJbWlkeF9naXRfdHdvX21vZGVzICJyZXYtbGlzdCAtLW9iamVjdHMgLS1hbGwiICYmCiAJCW1pZHhfZ2l0X3R3b19tb2RlcyAibG9nIC0tcmF3IiAmJgogCQltaWR4X2dpdF90d29fbW9kZXMgImNvdW50LW9iamVjdHMgLS12ZXJib3NlIiAmJgotCQltaWR4X2dpdF90d29fbW9kZXMgImNhdC1maWxlIC0tYmF0Y2gtYWxsLW9iamVjdHMgLS1idWZmZXIgLS1iYXRjaC1jaGVjayIgJiYKLQkJbWlkeF9naXRfdHdvX21vZGVzICJjYXQtZmlsZSAtLWJhdGNoLWFsbC1vYmplY3RzIC0tYnVmZmVyIC0tYmF0Y2gtY2hlY2sgLS11bnNvcnRlZCIgc29ydGVkCisJCW1pZHhfZ2l0X3R3b19tb2RlcyAiY2F0LWZpbGUgLS1iYXRjaC1hbGwtb2JqZWN0cyAtLWJhdGNoLWNoZWNrIiAmJgorCQltaWR4X2dpdF90d29fbW9kZXMgImNhdC1maWxlIC0tYmF0Y2gtYWxsLW9iamVjdHMgLS1iYXRjaC1jaGVjayAtLXVub3JkZXJlZCIgc29ydGVkCiAJJwogfQogCkBAIC0xMTYsNiArMTMxLDIwIEBACiAKIGNvbXBhcmVfcmVzdWx0c193aXRoX21pZHggIm9uZSB2MiBwYWNrIgogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3JydXB0IGlkeCBub3Qgb3BlbmVkJyAnCisJaWR4PSQodGVzdC10b29sIHJlYWQtbWlkeCAkb2JqZGlyIHwgZ3JlcCAiXC5pZHhcJCIpICYmCisJbXYgJG9iamRpci9wYWNrLyRpZHggYmFja3VwLSRpZHggJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgIm12IGJhY2t1cC1cJGlkeCBcJG9iamRpci9wYWNrL1wkaWR4IiAmJgorCisJIyBUaGlzIGlzIHRoZSBtaW5pbXVtIHNpemUgZm9yIGEgc2hhLTEgYmFzZWQgLmlkeDsgdGhpcyBsZXRzCisJIyB1cyBwYXNzIHBlcmZ1bmN0b3J5IHRlc3RzLCBidXQgYW55dGhpbmcgdGhhdCBhY3R1YWxseSBvcGVucyBhbmQgcmVhZHMKKwkjIHRoZSBpZHggZmlsZSB3aWxsIGNvbXBsYWluLgorCXRlc3RfY29weV9ieXRlcyAxMDY0IDxiYWNrdXAtJGlkeCA+JG9iamRpci9wYWNrLyRpZHggJiYKKworCWdpdCAtYyBjb3JlLm11bHRpUGFja0luZGV4PXRydWUgcmV2LWxpc3QgLS1vYmplY3RzIC0tYWxsIDI+ZXJyICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGVycgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhZGQgbW9yZSBvYmplY3RzJyAnCiAJZm9yIGkgaW4gJCh0ZXN0X3NlcSA2IDEwKQogCWRvCkBAIC0xMzIsNiArMTYxLDIxIEBACiAKIGNvbXBhcmVfcmVzdWx0c193aXRoX21pZHggInR3byBwYWNrcyIKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnd3JpdGUgcHJvZ3Jlc3Mgb2ZmIGZvciByZWRpcmVjdGVkIHN0ZGVycicgJworCWdpdCBtdWx0aS1wYWNrLWluZGV4IC0tb2JqZWN0LWRpcj0kb2JqZGlyIHdyaXRlIDI+ZXJyICYmCisJdGVzdF9saW5lX2NvdW50ID0gMCBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnd3JpdGUgZm9yY2UgcHJvZ3Jlc3Mgb24gZm9yIHN0ZGVycicgJworCWdpdCBtdWx0aS1wYWNrLWluZGV4IC0tb2JqZWN0LWRpcj0kb2JqZGlyIC0tcHJvZ3Jlc3Mgd3JpdGUgMj5lcnIgJiYKKwl0ZXN0X2ZpbGVfbm90X2VtcHR5IGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd3cml0ZSB3aXRoIHRoZSAtLW5vLXByb2dyZXNzIG9wdGlvbicgJworCWdpdCBtdWx0aS1wYWNrLWluZGV4IC0tb2JqZWN0LWRpcj0kb2JqZGlyIC0tbm8tcHJvZ3Jlc3Mgd3JpdGUgMj5lcnIgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAwIGVycgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhZGQgbW9yZSBwYWNrcycgJwogCWZvciBqIGluICQodGVzdF9zZXEgMTEgMjApCiAJZG8KQEAgLTE1NCw2ICsxOTgsMjEgQEAKIAlnaXQgbXVsdGktcGFjay1pbmRleCB2ZXJpZnkgLS1vYmplY3QtZGlyPSRvYmpkaXIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IHByb2dyZXNzIG9mZiBmb3IgcmVkaXJlY3RlZCBzdGRlcnInICcKKwlnaXQgbXVsdGktcGFjay1pbmRleCB2ZXJpZnkgLS1vYmplY3QtZGlyPSRvYmpkaXIgMj5lcnIgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAwIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJpZnkgZm9yY2UgcHJvZ3Jlc3Mgb24gZm9yIHN0ZGVycicgJworCWdpdCBtdWx0aS1wYWNrLWluZGV4IHZlcmlmeSAtLW9iamVjdC1kaXI9JG9iamRpciAtLXByb2dyZXNzIDI+ZXJyICYmCisJdGVzdF9maWxlX25vdF9lbXB0eSBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IHdpdGggdGhlIC0tbm8tcHJvZ3Jlc3Mgb3B0aW9uJyAnCisJZ2l0IG11bHRpLXBhY2staW5kZXggdmVyaWZ5IC0tb2JqZWN0LWRpcj0kb2JqZGlyIC0tbm8tcHJvZ3Jlc3MgMj5lcnIgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAwIGVycgorJworCiAjIHVzYWdlOiBjb3JydXB0X21pZHhfYW5kX3ZlcmlmeSA8cG9zPiA8ZGF0YT4gPG9iamRpcj4gPHN0cmluZz4KIGNvcnJ1cHRfbWlkeF9hbmRfdmVyaWZ5KCkgewogCVBPUz0kMSAmJgpAQCAtMTgwLDcgKzIzOSw3IEBACiAJCSJtdWx0aS1wYWNrLWluZGV4IHNpZ25hdHVyZSIKICcKIAotSEFTSF9MRU49MjAKK0hBU0hfTEVOPSQodGVzdF9vaWQgcmF3c3opCiBOVU1fT0JKRUNUUz03NAogTUlEWF9CWVRFX1ZFUlNJT049NAogTUlEWF9CWVRFX09JRF9WRVJTSU9OPTUKQEAgLTE5Myw5ICsyNTIsOSBAQAogTUlEWF9PRkZTRVRfUEFDS05BTUVTPSQoKCRNSURYX0hFQURFUl9TSVpFICsgXAogCQkJICRNSURYX05VTV9DSFVOS1MgKiAkTUlEWF9DSFVOS19MT09LVVBfV0lEVEgpKQogTUlEWF9CWVRFX1BBQ0tOQU1FX09SREVSPSQoKCRNSURYX09GRlNFVF9QQUNLTkFNRVMgKyAyKSkKLU1JRFhfT0ZGU0VUX09JRF9GQU5PVVQ9JCgoJE1JRFhfT0ZGU0VUX1BBQ0tOQU1FUyArIDY1MikpCitNSURYX09GRlNFVF9PSURfRkFOT1VUPSQoKCRNSURYX09GRlNFVF9QQUNLTkFNRVMgKyAkKHRlc3Rfb2lkIHBhY2tuYW1lb2ZmKSkpCiBNSURYX09JRF9GQU5PVVRfV0lEVEg9NAotTUlEWF9CWVRFX09JRF9GQU5PVVRfT1JERVI9JCgoTUlEWF9PRkZTRVRfT0lEX0ZBTk9VVCArIDI1MCAqICRNSURYX09JRF9GQU5PVVRfV0lEVEggKyAxKSkKK01JRFhfQllURV9PSURfRkFOT1VUX09SREVSPSQoKE1JRFhfT0ZGU0VUX09JRF9GQU5PVVQgKyAyNTAgKiAkTUlEWF9PSURfRkFOT1VUX1dJRFRIICsgJCh0ZXN0X29pZCBmYW5vdXRvZmYpKSkKIE1JRFhfT0ZGU0VUX09JRF9MT09LVVA9JCgoJE1JRFhfT0ZGU0VUX09JRF9GQU5PVVQgKyAyNTYgKiAkTUlEWF9PSURfRkFOT1VUX1dJRFRIKSkKIE1JRFhfQllURV9PSURfTE9PS1VQPSQoKCRNSURYX09GRlNFVF9PSURfTE9PS1VQICsgMTYgKiAkSEFTSF9MRU4pKQogTUlEWF9PRkZTRVRfT0JKRUNUX09GRlNFVFM9JCgoJE1JRFhfT0ZGU0VUX09JRF9MT09LVVAgKyAkTlVNX09CSkVDVFMgKiAkSEFTSF9MRU4pKQpAQCAtMjU5LDE2ICszMTgsMzEgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IGluY29ycmVjdCBvZmZzZXQnICcKLQljb3JydXB0X21pZHhfYW5kX3ZlcmlmeSAkTUlEWF9CWVRFX09GRlNFVCAiXDA3IiAkb2JqZGlyIFwKKwljb3JydXB0X21pZHhfYW5kX3ZlcmlmeSAkTUlEWF9CWVRFX09GRlNFVCAiXDM3NyIgJG9iamRpciBcCiAJCSJpbmNvcnJlY3Qgb2JqZWN0IG9mZnNldCIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0LWZzY2sgaW5jb3JyZWN0IG9mZnNldCcgJwotCWNvcnJ1cHRfbWlkeF9hbmRfdmVyaWZ5ICRNSURYX0JZVEVfT0ZGU0VUICJcMDciICRvYmpkaXIgXAorCWNvcnJ1cHRfbWlkeF9hbmRfdmVyaWZ5ICRNSURYX0JZVEVfT0ZGU0VUICJcMzc3IiAkb2JqZGlyIFwKIAkJImluY29ycmVjdCBvYmplY3Qgb2Zmc2V0IiBcCiAJCSJnaXQgLWMgY29yZS5tdWx0aXBhY2tpbmRleD10cnVlIGZzY2siCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlcGFjayBwcm9ncmVzcyBvZmYgZm9yIHJlZGlyZWN0ZWQgc3RkZXJyJyAnCisJZ2l0IG11bHRpLXBhY2staW5kZXggLS1vYmplY3QtZGlyPSRvYmpkaXIgcmVwYWNrIDI+ZXJyICYmCisJdGVzdF9saW5lX2NvdW50ID0gMCBlcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVwYWNrIGZvcmNlIHByb2dyZXNzIG9uIGZvciBzdGRlcnInICcKKwlnaXQgbXVsdGktcGFjay1pbmRleCAtLW9iamVjdC1kaXI9JG9iamRpciAtLXByb2dyZXNzIHJlcGFjayAyPmVyciAmJgorCXRlc3RfZmlsZV9ub3RfZW1wdHkgZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlcGFjayB3aXRoIHRoZSAtLW5vLXByb2dyZXNzIG9wdGlvbicgJworCWdpdCBtdWx0aS1wYWNrLWluZGV4IC0tb2JqZWN0LWRpcj0kb2JqZGlyIC0tbm8tcHJvZ3Jlc3MgcmVwYWNrIDI+ZXJyICYmCisJdGVzdF9saW5lX2NvdW50ID0gMCBlcnIKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVwYWNrIHJlbW92ZXMgbXVsdGktcGFjay1pbmRleCcgJwogCXRlc3RfcGF0aF9pc19maWxlICRvYmpkaXIvcGFjay9tdWx0aS1wYWNrLWluZGV4ICYmCiAJR0lUX1RFU1RfTVVMVElfUEFDS19JTkRFWD0wIGdpdCByZXBhY2sgLWFkZiAmJgpAQCAtMzI3LDcgKzQwMSw3IEBACiAJcGFjazY0PSQoZ2l0IHBhY2stb2JqZWN0cyAtLWluZGV4LXZlcnNpb249MiwweDQwIG9iamVjdHM2NC9wYWNrL3Rlc3QtNjQgPG9iai1saXN0KSAmJgogCWlkeDY0PW9iamVjdHM2NC9wYWNrL3Rlc3QtNjQtJHBhY2s2NC5pZHggJiYKIAljaG1vZCB1K3cgJGlkeDY0ICYmCi0JY29ycnVwdF9kYXRhICRpZHg2NCAyOTk5ICJcMDIiICYmCisJY29ycnVwdF9kYXRhICRpZHg2NCAkKHRlc3Rfb2lkIGlkeG9mZikgIlwwMiIgJiYKIAltaWR4NjQ9JChnaXQgbXVsdGktcGFjay1pbmRleCAtLW9iamVjdC1kaXI9b2JqZWN0czY0IHdyaXRlKSAmJgogCW1pZHhfcmVhZF9leHBlY3QgMSA2MyA1IG9iamVjdHM2NCAiIGxhcmdlLW9mZnNldHMiCiAnCkBAIC0zNDgsNCArNDIyLDIxMiBAQAogCQkiaW5jb3JyZWN0IG9iamVjdCBvZmZzZXQiCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGV4cGlyZSB0ZXN0cycgJworCW1rZGlyIGR1cCAmJgorCSgKKwkJY2QgZHVwICYmCisJCWdpdCBpbml0ICYmCisJCXRlc3QtdG9vbCBnZW5yYW5kb20gImRhdGEiIDQwOTYgPmxhcmdlX2ZpbGUudHh0ICYmCisJCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgbGFyZ2VfZmlsZS50eHQgJiYKKwkJZm9yIGkgaW4gJCh0ZXN0X3NlcSAxIDIwKQorCQlkbworCQkJdGVzdF9jb21taXQgJGkKKwkJZG9uZSAmJgorCQlnaXQgYnJhbmNoIEEgSEVBRCAmJgorCQlnaXQgYnJhbmNoIEIgSEVBRH44ICYmCisJCWdpdCBicmFuY2ggQyBIRUFEfjEzICYmCisJCWdpdCBicmFuY2ggRCBIRUFEfjE2ICYmCisJCWdpdCBicmFuY2ggRSBIRUFEfjE4ICYmCisJCWdpdCBwYWNrLW9iamVjdHMgLS1yZXZzIC5naXQvb2JqZWN0cy9wYWNrL3BhY2stQSA8PC1FT0YgJiYKKwkJcmVmcy9oZWFkcy9BCisJCV5yZWZzL2hlYWRzL0IKKwkJRU9GCisJCWdpdCBwYWNrLW9iamVjdHMgLS1yZXZzIC5naXQvb2JqZWN0cy9wYWNrL3BhY2stQiA8PC1FT0YgJiYKKwkJcmVmcy9oZWFkcy9CCisJCV5yZWZzL2hlYWRzL0MKKwkJRU9GCisJCWdpdCBwYWNrLW9iamVjdHMgLS1yZXZzIC5naXQvb2JqZWN0cy9wYWNrL3BhY2stQyA8PC1FT0YgJiYKKwkJcmVmcy9oZWFkcy9DCisJCV5yZWZzL2hlYWRzL0QKKwkJRU9GCisJCWdpdCBwYWNrLW9iamVjdHMgLS1yZXZzIC5naXQvb2JqZWN0cy9wYWNrL3BhY2stRCA8PC1FT0YgJiYKKwkJcmVmcy9oZWFkcy9ECisJCV5yZWZzL2hlYWRzL0UKKwkJRU9GCisJCWdpdCBwYWNrLW9iamVjdHMgLS1yZXZzIC5naXQvb2JqZWN0cy9wYWNrL3BhY2stRSA8PC1FT0YgJiYKKwkJcmVmcy9oZWFkcy9FCisJCUVPRgorCQlnaXQgbXVsdGktcGFjay1pbmRleCB3cml0ZSAmJgorCQljcCAtciAuZ2l0L29iamVjdHMvcGFjayAuZ2l0L29iamVjdHMvcGFjay1iYWNrdXAKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2V4cGlyZSBkb2VzIG5vdCByZW1vdmUgYW55IHBhY2tzJyAnCisJKAorCQljZCBkdXAgJiYKKwkJbHMgLmdpdC9vYmplY3RzL3BhY2sgPmV4cGVjdCAmJgorCQlnaXQgbXVsdGktcGFjay1pbmRleCBleHBpcmUgJiYKKwkJbHMgLmdpdC9vYmplY3RzL3BhY2sgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdleHBpcmUgcHJvZ3Jlc3Mgb2ZmIGZvciByZWRpcmVjdGVkIHN0ZGVycicgJworCSgKKwkJY2QgZHVwICYmCisJCWdpdCBtdWx0aS1wYWNrLWluZGV4IGV4cGlyZSAyPmVyciAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAwIGVycgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZXhwaXJlIGZvcmNlIHByb2dyZXNzIG9uIGZvciBzdGRlcnInICcKKwkoCisJCWNkIGR1cCAmJgorCQlnaXQgbXVsdGktcGFjay1pbmRleCAtLXByb2dyZXNzIGV4cGlyZSAyPmVyciAmJgorCQl0ZXN0X2ZpbGVfbm90X2VtcHR5IGVycgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZXhwaXJlIHdpdGggdGhlIC0tbm8tcHJvZ3Jlc3Mgb3B0aW9uJyAnCisJKAorCQljZCBkdXAgJiYKKwkJZ2l0IG11bHRpLXBhY2staW5kZXggLS1uby1wcm9ncmVzcyBleHBpcmUgMj5lcnIgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMCBlcnIKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2V4cGlyZSByZW1vdmVzIHVucmVmZXJlbmNlZCBwYWNrcycgJworCSgKKwkJY2QgZHVwICYmCisJCWdpdCBwYWNrLW9iamVjdHMgLS1yZXZzIC5naXQvb2JqZWN0cy9wYWNrL3BhY2stY29tYmluZWQgPDwtRU9GICYmCisJCXJlZnMvaGVhZHMvQQorCQlecmVmcy9oZWFkcy9DCisJCUVPRgorCQlnaXQgbXVsdGktcGFjay1pbmRleCB3cml0ZSAmJgorCQlscyAuZ2l0L29iamVjdHMvcGFjayB8IGdyZXAgLXYgLWUgcGFjay1bQUJdID5leHBlY3QgJiYKKwkJZ2l0IG11bHRpLXBhY2staW5kZXggZXhwaXJlICYmCisJCWxzIC5naXQvb2JqZWN0cy9wYWNrID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCQlscyAuZ2l0L29iamVjdHMvcGFjay8gfCBncmVwIGlkeCA+ZXhwZWN0LWlkeCAmJgorCQl0ZXN0LXRvb2wgcmVhZC1taWR4IC5naXQvb2JqZWN0cyB8IGdyZXAgaWR4ID5hY3R1YWwtbWlkeCAmJgorCQl0ZXN0X2NtcCBleHBlY3QtaWR4IGFjdHVhbC1taWR4ICYmCisJCWdpdCBtdWx0aS1wYWNrLWluZGV4IHZlcmlmeSAmJgorCQlnaXQgZnNjaworCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVwYWNrIHdpdGggbWluaW11bSBzaXplIGRvZXMgbm90IGFsdGVyIGV4aXN0aW5nIHBhY2tzJyAnCisJKAorCQljZCBkdXAgJiYKKwkJcm0gLXJmIC5naXQvb2JqZWN0cy9wYWNrICYmCisJCW12IC5naXQvb2JqZWN0cy9wYWNrLWJhY2t1cCAuZ2l0L29iamVjdHMvcGFjayAmJgorCQl0b3VjaCAtbSAtdCAyMDE5MDEwMTAwMDAgLmdpdC9vYmplY3RzL3BhY2svcGFjay1EKiAmJgorCQl0b3VjaCAtbSAtdCAyMDE5MDEwMTAwMDEgLmdpdC9vYmplY3RzL3BhY2svcGFjay1DKiAmJgorCQl0b3VjaCAtbSAtdCAyMDE5MDEwMTAwMDIgLmdpdC9vYmplY3RzL3BhY2svcGFjay1CKiAmJgorCQl0b3VjaCAtbSAtdCAyMDE5MDEwMTAwMDMgLmdpdC9vYmplY3RzL3BhY2svcGFjay1BKiAmJgorCQlscyAuZ2l0L29iamVjdHMvcGFjayA+ZXhwZWN0ICYmCisJCU1JTlNJWkU9JCh0ZXN0LXRvb2wgcGF0aC11dGlscyBmaWxlLXNpemUgLmdpdC9vYmplY3RzL3BhY2svKnBhY2sgfCBzb3J0IC1uIHwgaGVhZCAtbiAxKSAmJgorCQlnaXQgbXVsdGktcGFjay1pbmRleCByZXBhY2sgLS1iYXRjaC1zaXplPSRNSU5TSVpFICYmCisJCWxzIC5naXQvb2JqZWN0cy9wYWNrID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVwYWNrIGNyZWF0ZXMgYSBuZXcgcGFjaycgJworCSgKKwkJY2QgZHVwICYmCisJCWxzIC5naXQvb2JqZWN0cy9wYWNrLyppZHggPmlkeC1saXN0ICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDUgaWR4LWxpc3QgJiYKKwkJVEhJUkRfU01BTExFU1RfU0laRT0kKHRlc3QtdG9vbCBwYXRoLXV0aWxzIGZpbGUtc2l6ZSAuZ2l0L29iamVjdHMvcGFjay8qcGFjayB8IHNvcnQgLW4gfCBoZWFkIC1uIDMgfCB0YWlsIC1uIDEpICYmCisJCUJBVENIX1NJWkU9JCgoJFRISVJEX1NNQUxMRVNUX1NJWkUgKyAxKSkgJiYKKwkJZ2l0IG11bHRpLXBhY2staW5kZXggcmVwYWNrIC0tYmF0Y2gtc2l6ZT0kQkFUQ0hfU0laRSAmJgorCQlscyAuZ2l0L29iamVjdHMvcGFjay8qaWR4ID5pZHgtbGlzdCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSA2IGlkeC1saXN0ICYmCisJCXRlc3QtdG9vbCByZWFkLW1pZHggLmdpdC9vYmplY3RzIHwgZ3JlcCBpZHggPm1pZHgtbGlzdCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSA2IG1pZHgtbGlzdAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZXhwaXJlIHJlbW92ZXMgcmVwYWNrZWQgcGFja3MnICcKKwkoCisJCWNkIGR1cCAmJgorCQlscyAtYWwgLmdpdC9vYmplY3RzL3BhY2svKnBhY2sgJiYKKwkJbHMgLVMgLmdpdC9vYmplY3RzL3BhY2svKnBhY2sgfCBoZWFkIC1uIDQgPmV4cGVjdCAmJgorCQlnaXQgbXVsdGktcGFjay1pbmRleCBleHBpcmUgJiYKKwkJbHMgLVMgLmdpdC9vYmplY3RzL3BhY2svKnBhY2sgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJCXRlc3QtdG9vbCByZWFkLW1pZHggLmdpdC9vYmplY3RzIHwgZ3JlcCBpZHggPm1pZHgtbGlzdCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSA0IG1pZHgtbGlzdAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZXhwaXJlIHdvcmtzIHdoZW4gYWRkaW5nIG5ldyBwYWNrcycgJworCSgKKwkJY2QgZHVwICYmCisJCWdpdCBwYWNrLW9iamVjdHMgLS1yZXZzIC5naXQvb2JqZWN0cy9wYWNrL3BhY2stY29tYmluZWQgPDwtRU9GICYmCisJCXJlZnMvaGVhZHMvQQorCQlecmVmcy9oZWFkcy9CCisJCUVPRgorCQlnaXQgcGFjay1vYmplY3RzIC0tcmV2cyAuZ2l0L29iamVjdHMvcGFjay9wYWNrLWNvbWJpbmVkIDw8LUVPRiAmJgorCQlyZWZzL2hlYWRzL0IKKwkJXnJlZnMvaGVhZHMvQworCQlFT0YKKwkJZ2l0IHBhY2stb2JqZWN0cyAtLXJldnMgLmdpdC9vYmplY3RzL3BhY2svcGFjay1jb21iaW5lZCA8PC1FT0YgJiYKKwkJcmVmcy9oZWFkcy9DCisJCV5yZWZzL2hlYWRzL0QKKwkJRU9GCisJCWdpdCBtdWx0aS1wYWNrLWluZGV4IHdyaXRlICYmCisJCWdpdCBwYWNrLW9iamVjdHMgLS1yZXZzIC5naXQvb2JqZWN0cy9wYWNrL2EtcGFjayA8PC1FT0YgJiYKKwkJcmVmcy9oZWFkcy9ECisJCV5yZWZzL2hlYWRzL0UKKwkJRU9GCisJCWdpdCBtdWx0aS1wYWNrLWluZGV4IHdyaXRlICYmCisJCWdpdCBwYWNrLW9iamVjdHMgLS1yZXZzIC5naXQvb2JqZWN0cy9wYWNrL3otcGFjayA8PC1FT0YgJiYKKwkJcmVmcy9oZWFkcy9FCisJCUVPRgorCQlnaXQgbXVsdGktcGFjay1pbmRleCBleHBpcmUgJiYKKwkJbHMgLmdpdC9vYmplY3RzL3BhY2svIHwgZ3JlcCBpZHggPmV4cGVjdCAmJgorCQl0ZXN0LXRvb2wgcmVhZC1taWR4IC5naXQvb2JqZWN0cyB8IGdyZXAgaWR4ID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCQlnaXQgbXVsdGktcGFjay1pbmRleCB2ZXJpZnkKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2V4cGlyZSByZXNwZWN0cyAua2VlcCBmaWxlcycgJworCSgKKwkJY2QgZHVwICYmCisJCWdpdCBwYWNrLW9iamVjdHMgLS1yZXZzIC5naXQvb2JqZWN0cy9wYWNrL3BhY2stYWxsIDw8LUVPRiAmJgorCQlyZWZzL2hlYWRzL0EKKwkJRU9GCisJCWdpdCBtdWx0aS1wYWNrLWluZGV4IHdyaXRlICYmCisJCVBBQ0tBPSQobHMgLmdpdC9vYmplY3RzL3BhY2svYS1wYWNrKlwucGFjayB8IHNlZCBzL1wucGFja1wkLy8pICYmCisJCXRvdWNoICRQQUNLQS5rZWVwICYmCisJCWdpdCBtdWx0aS1wYWNrLWluZGV4IGV4cGlyZSAmJgorCQlscyAtUyAuZ2l0L29iamVjdHMvcGFjay9hLXBhY2sqIHwgZ3JlcCAkUEFDS0EgPmEtcGFjay1maWxlcyAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAzIGEtcGFjay1maWxlcyAmJgorCQl0ZXN0LXRvb2wgcmVhZC1taWR4IC5naXQvb2JqZWN0cyB8IGdyZXAgaWR4ID5taWR4LWxpc3QgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMiBtaWR4LWxpc3QKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlcGFjayAtLWJhdGNoLXNpemU9MCByZXBhY2tzIGV2ZXJ5dGhpbmcnICcKKwkoCisJCWNkIGR1cCAmJgorCQlybSAuZ2l0L29iamVjdHMvcGFjay8qLmtlZXAgJiYKKwkJbHMgLmdpdC9vYmplY3RzL3BhY2svKmlkeCA+aWR4LWxpc3QgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMiBpZHgtbGlzdCAmJgorCQlnaXQgbXVsdGktcGFjay1pbmRleCByZXBhY2sgLS1iYXRjaC1zaXplPTAgJiYKKwkJbHMgLmdpdC9vYmplY3RzL3BhY2svKmlkeCA+aWR4LWxpc3QgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMyBpZHgtbGlzdCAmJgorCQl0ZXN0LXRvb2wgcmVhZC1taWR4IC5naXQvb2JqZWN0cyB8IGdyZXAgaWR4ID5taWR4LWxpc3QgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMyBtaWR4LWxpc3QgJiYKKwkJZ2l0IG11bHRpLXBhY2staW5kZXggZXhwaXJlICYmCisJCWxzIC1hbCAuZ2l0L29iamVjdHMvcGFjay8qaWR4ID5pZHgtbGlzdCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAxIGlkeC1saXN0ICYmCisJCWdpdCBtdWx0aS1wYWNrLWluZGV4IHJlcGFjayAtLWJhdGNoLXNpemU9MCAmJgorCQlscyAtYWwgLmdpdC9vYmplY3RzL3BhY2svKmlkeCA+bmV3LWlkeC1saXN0ICYmCisJCXRlc3RfY21wIGlkeC1saXN0IG5ldy1pZHgtbGlzdAorCSkKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1MzIxLXBhY2stbGFyZ2Utb2JqZWN0cy5zaCBiL3QvdDUzMjEtcGFjay1sYXJnZS1vYmplY3RzLnNoCmluZGV4IGE3NWVhYjguLjhhNTZkOTggMTAwNzU1Ci0tLSBhL3QvdDUzMjEtcGFjay1sYXJnZS1vYmplY3RzLnNoCisrKyBiL3QvdDUzMjEtcGFjay1sYXJnZS1vYmplY3RzLnNoCkBAIC0xMCw4ICsxMCw4IEBACiAuICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1wYWNrLnNoCiAKICMgVHdvIHNpbWlsYXItaXNoIG9iamVjdHMgdGhhdCB3ZSBoYXZlIGNvbXB1dGVkIGRlbHRhcyBiZXR3ZWVuLgotQT0wMWQ3NzEzNjY2ZjRkZTgyMjc3NmM3NjIyYzEwZjFiMDdkZTI4MGRjCi1CPWU2OGZlODEyOWI1NDZiMTAxYWVlOTUxMGM1MzI4ZTdmMjFjYTFkMTgKK0E9JCh0ZXN0X29pZCBwYWNrbGliXzdfMCkKK0I9JCh0ZXN0X29pZCBwYWNrbGliXzdfNzYpCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCiAJY2xlYXJfcGFja3MgJiYKZGlmZiAtLWdpdCBhL3QvdDUzMjItcGFjay1vYmplY3RzLXNwYXJzZS5zaCBiL3QvdDUzMjItcGFjay1vYmplY3RzLXNwYXJzZS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MTI0YjU1Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NTMyMi1wYWNrLW9iamVjdHMtc3BhcnNlLnNoCkBAIC0wLDAgKzEsMTM2IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ncGFjay1vYmplY3RzIG9iamVjdCBzZWxlY3Rpb24gdXNpbmcgc3BhcnNlIGFsZ29yaXRobScKKy4gLi90ZXN0LWxpYi5zaAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCByZXBvJyAnCisJdGVzdF9jb21taXQgaW5pdGlhbCAmJgorCWZvciBpIGluICQodGVzdF9zZXEgMSAzKQorCWRvCisJCW1rZGlyIGYkaSAmJgorCQlmb3IgaiBpbiAkKHRlc3Rfc2VxIDEgMykKKwkJZG8KKwkJCW1rZGlyIGYkaS9mJGogJiYKKwkJCWVjaG8gJGogPmYkaS9mJGovZGF0YS50eHQKKwkJZG9uZQorCWRvbmUgJiYKKwlnaXQgYWRkIC4gJiYKKwlnaXQgY29tbWl0IC1tICJJbml0aWFsaXplZCB0cmVlcyIgJiYKKwlmb3IgaSBpbiAkKHRlc3Rfc2VxIDEgMykKKwlkbworCQlnaXQgY2hlY2tvdXQgLWIgdG9waWMkaSBtYXN0ZXIgJiYKKwkJZWNobyBjaGFuZ2UtJGkgPmYkaS9mJGkvZGF0YS50eHQgJiYKKwkJZ2l0IGNvbW1pdCAtYSAtbSAiQ2hhbmdlZCBmJGkvZiRpL2RhdGEudHh0IgorCWRvbmUgJiYKKwljYXQgPnBhY2tpbnB1dC50eHQgPDwtRU9GICYmCisJdG9waWMxCisJXnRvcGljMgorCV50b3BpYzMKKwlFT0YKKwlnaXQgcmV2LXBhcnNlCQkJXAorCQl0b3BpYzEJCQlcCisJCXRvcGljMV57dHJlZX0JCVwKKwkJdG9waWMxOmYxCQlcCisJCXRvcGljMTpmMS9mMQkJXAorCQl0b3BpYzE6ZjEvZjEvZGF0YS50eHQgfCBzb3J0ID5leHBlY3Rfb2JqZWN0cy50eHQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm9uLXNwYXJzZSBwYWNrLW9iamVjdHMnICcKKwlnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IC0tcmV2cyAtLW5vLXNwYXJzZSA8cGFja2lucHV0LnR4dCA+bm9uc3BhcnNlLnBhY2sgJiYKKwlnaXQgaW5kZXgtcGFjayAtbyBub25zcGFyc2UuaWR4IG5vbnNwYXJzZS5wYWNrICYmCisJZ2l0IHNob3ctaW5kZXggPG5vbnNwYXJzZS5pZHggfCBhd2sgIntwcmludCBcJDJ9IiA+bm9uc3BhcnNlX29iamVjdHMudHh0ICYmCisJdGVzdF9jbXAgZXhwZWN0X29iamVjdHMudHh0IG5vbnNwYXJzZV9vYmplY3RzLnR4dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzcGFyc2UgcGFjay1vYmplY3RzJyAnCisJZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCAtLXJldnMgLS1zcGFyc2UgPHBhY2tpbnB1dC50eHQgPnNwYXJzZS5wYWNrICYmCisJZ2l0IGluZGV4LXBhY2sgLW8gc3BhcnNlLmlkeCBzcGFyc2UucGFjayAmJgorCWdpdCBzaG93LWluZGV4IDxzcGFyc2UuaWR4IHwgYXdrICJ7cHJpbnQgXCQyfSIgPnNwYXJzZV9vYmplY3RzLnR4dCAmJgorCXRlc3RfY21wIGV4cGVjdF9vYmplY3RzLnR4dCBzcGFyc2Vfb2JqZWN0cy50eHQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZHVwbGljYXRlIGEgZm9sZGVyIGZyb20gZjMgYW5kIGNvbW1pdCB0byB0b3BpYzEnICcKKwlnaXQgY2hlY2tvdXQgdG9waWMxICYmCisJZWNobyBjaGFuZ2UtMyA+ZjMvZjMvZGF0YS50eHQgJiYKKwlnaXQgY29tbWl0IC1hIC1tICJDaGFuZ2VkIGYzL2YzL2RhdGEudHh0IiAmJgorCWdpdCByZXYtcGFyc2UJCQlcCisJCXRvcGljMX4xCQlcCisJCXRvcGljMX4xXnt0cmVlfQkJXAorCQl0b3BpYzFee3RyZWV9CQlcCisJCXRvcGljMQkJCVwKKwkJdG9waWMxOmYxCQlcCisJCXRvcGljMTpmMS9mMQkJXAorCQl0b3BpYzE6ZjEvZjEvZGF0YS50eHQgfCBzb3J0ID5yZXF1aXJlZF9vYmplY3RzLnR4dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdub24tc3BhcnNlIHBhY2stb2JqZWN0cycgJworCWdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgLS1yZXZzIC0tbm8tc3BhcnNlIDxwYWNraW5wdXQudHh0ID5ub25zcGFyc2UucGFjayAmJgorCWdpdCBpbmRleC1wYWNrIC1vIG5vbnNwYXJzZS5pZHggbm9uc3BhcnNlLnBhY2sgJiYKKwlnaXQgc2hvdy1pbmRleCA8bm9uc3BhcnNlLmlkeCB8IGF3ayAie3ByaW50IFwkMn0iID5ub25zcGFyc2Vfb2JqZWN0cy50eHQgJiYKKwljb21tIC0xIC0yIHJlcXVpcmVkX29iamVjdHMudHh0IG5vbnNwYXJzZV9vYmplY3RzLnR4dCA+bm9uc3BhcnNlX3JlcXVpcmVkX29iamVjdHMudHh0ICYmCisJdGVzdF9jbXAgcmVxdWlyZWRfb2JqZWN0cy50eHQgbm9uc3BhcnNlX3JlcXVpcmVkX29iamVjdHMudHh0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NwYXJzZSBwYWNrLW9iamVjdHMnICcKKwlnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IC0tcmV2cyAtLXNwYXJzZSA8cGFja2lucHV0LnR4dCA+c3BhcnNlLnBhY2sgJiYKKwlnaXQgaW5kZXgtcGFjayAtbyBzcGFyc2UuaWR4IHNwYXJzZS5wYWNrICYmCisJZ2l0IHNob3ctaW5kZXggPHNwYXJzZS5pZHggfCBhd2sgIntwcmludCBcJDJ9IiA+c3BhcnNlX29iamVjdHMudHh0ICYmCisJY29tbSAtMSAtMiByZXF1aXJlZF9vYmplY3RzLnR4dCBzcGFyc2Vfb2JqZWN0cy50eHQgPnNwYXJzZV9yZXF1aXJlZF9vYmplY3RzLnR4dCAmJgorCXRlc3RfY21wIHJlcXVpcmVkX29iamVjdHMudHh0IHNwYXJzZV9yZXF1aXJlZF9vYmplY3RzLnR4dAorJworCisjIERlbW9uc3RyYXRlIHRoYXQgdGhlIGFsZ29yaXRobXMgZGlmZmVyIHdoZW4gd2UgY29weSBhIHRyZWUgd2hvbGVzYWxlCisjIGZyb20gb25lIGZvbGRlciB0byBhbm90aGVyLgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkdXBsaWNhdGUgYSBmb2xkZXIgZnJvbSBmMSBpbnRvIGYzJyAnCisJbWtkaXIgZjMvZjQgJiYKKwljcCAtciBmMS9mMS8qIGYzL2Y0ICYmCisJZ2l0IGFkZCBmMy9mNCAmJgorCWdpdCBjb21taXQgLW0gIkNvcGllZCBmMS9mMSB0byBmMy9mNCIgJiYKKwljYXQgPnBhY2tpbnB1dC50eHQgPDwtRU9GICYmCisJdG9waWMxCisJXnRvcGljMX4xCisJRU9GCisJZ2l0IHJldi1wYXJzZQkJXAorCQl0b3BpYzEJCVwKKwkJdG9waWMxXnt0cmVlfSAgIFwKKwkJdG9waWMxOmYzIHwgc29ydCA+cmVxdWlyZWRfb2JqZWN0cy50eHQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbm9uLXNwYXJzZSBwYWNrLW9iamVjdHMnICcKKwlnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0IC0tcmV2cyAtLW5vLXNwYXJzZSA8cGFja2lucHV0LnR4dCA+bm9uc3BhcnNlLnBhY2sgJiYKKwlnaXQgaW5kZXgtcGFjayAtbyBub25zcGFyc2UuaWR4IG5vbnNwYXJzZS5wYWNrICYmCisJZ2l0IHNob3ctaW5kZXggPG5vbnNwYXJzZS5pZHggfCBhd2sgIntwcmludCBcJDJ9IiA+bm9uc3BhcnNlX29iamVjdHMudHh0ICYmCisJY29tbSAtMSAtMiByZXF1aXJlZF9vYmplY3RzLnR4dCBub25zcGFyc2Vfb2JqZWN0cy50eHQgPm5vbnNwYXJzZV9yZXF1aXJlZF9vYmplY3RzLnR4dCAmJgorCXRlc3RfY21wIHJlcXVpcmVkX29iamVjdHMudHh0IG5vbnNwYXJzZV9yZXF1aXJlZF9vYmplY3RzLnR4dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzcGFyc2UgcGFjay1vYmplY3RzJyAnCisJZ2l0IHJldi1wYXJzZQkJCVwKKwkJdG9waWMxCQkJXAorCQl0b3BpYzFee3RyZWV9CQlcCisJCXRvcGljMTpmMwkJXAorCQl0b3BpYzE6ZjMvZjQJCVwKKwkJdG9waWMxOmYzL2Y0L2RhdGEudHh0IHwgc29ydCA+ZXhwZWN0X3NwYXJzZV9vYmplY3RzLnR4dCAmJgorCWdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgLS1yZXZzIC0tc3BhcnNlIDxwYWNraW5wdXQudHh0ID5zcGFyc2UucGFjayAmJgorCWdpdCBpbmRleC1wYWNrIC1vIHNwYXJzZS5pZHggc3BhcnNlLnBhY2sgJiYKKwlnaXQgc2hvdy1pbmRleCA8c3BhcnNlLmlkeCB8IGF3ayAie3ByaW50IFwkMn0iID5zcGFyc2Vfb2JqZWN0cy50eHQgJiYKKwl0ZXN0X2NtcCBleHBlY3Rfc3BhcnNlX29iamVjdHMudHh0IHNwYXJzZV9vYmplY3RzLnR4dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwYWNrLnVzZVNwYXJzZSBlbmFibGVzIGFsZ29yaXRobScgJworCWdpdCBjb25maWcgcGFjay51c2VTcGFyc2UgdHJ1ZSAmJgorCWdpdCBwYWNrLW9iamVjdHMgLS1zdGRvdXQgLS1yZXZzIDxwYWNraW5wdXQudHh0ID5zcGFyc2UucGFjayAmJgorCWdpdCBpbmRleC1wYWNrIC1vIHNwYXJzZS5pZHggc3BhcnNlLnBhY2sgJiYKKwlnaXQgc2hvdy1pbmRleCA8c3BhcnNlLmlkeCB8IGF3ayAie3ByaW50IFwkMn0iID5zcGFyc2Vfb2JqZWN0cy50eHQgJiYKKwl0ZXN0X2NtcCBleHBlY3Rfc3BhcnNlX29iamVjdHMudHh0IHNwYXJzZV9vYmplY3RzLnR4dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwYWNrLnVzZVNwYXJzZSBvdmVycmlkZGVuJyAnCisJZ2l0IHBhY2stb2JqZWN0cyAtLXN0ZG91dCAtLXJldnMgLS1uby1zcGFyc2UgPHBhY2tpbnB1dC50eHQgPnNwYXJzZS5wYWNrICYmCisJZ2l0IGluZGV4LXBhY2sgLW8gc3BhcnNlLmlkeCBzcGFyc2UucGFjayAmJgorCWdpdCBzaG93LWluZGV4IDxzcGFyc2UuaWR4IHwgYXdrICJ7cHJpbnQgXCQyfSIgPnNwYXJzZV9vYmplY3RzLnR4dCAmJgorCXRlc3RfY21wIHJlcXVpcmVkX29iamVjdHMudHh0IHNwYXJzZV9vYmplY3RzLnR4dAorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDUzMjMtcGFjay1yZWR1bmRhbnQuc2ggYi90L3Q1MzIzLXBhY2stcmVkdW5kYW50LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZiNGQxY2EKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q1MzIzLXBhY2stcmVkdW5kYW50LnNoCkBAIC0wLDAgKzEsNDY3IEBACisjIS9iaW4vc2gKKyMKKyMgQ29weXJpZ2h0IChjKSAyMDE4IEppYW5nIFhpbgorIworCit0ZXN0X2Rlc2NyaXB0aW9uPSdUZXN0IGdpdCBwYWNrLXJlZHVuZGFudAorCitJbiBvcmRlciB0byB0ZXN0IGdpdC1wYWNrLXJlZHVuZGFudCwgd2Ugd2lsbCBjcmVhdGUgYSBudW1iZXIgb2Ygb2JqZWN0cyBhbmQKK3BhY2tzIGluIHRoZSByZXBvc2l0b3J5IGBtYXN0ZXIuZ2l0YC4gVGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHBhY2tzIChQMS1QOCkKK2FuZCBvYmplY3RzIChULCBBLVIpIGlzIHNob3dlZCBpbiB0aGUgZm9sbG93aW5nIGNoYXJ0LiBPYmplY3RzIG9mIGEgcGFjayB3aWxsCitiZSBtYXJrZWQgd2l0aCBsZXR0ZXIgeCwgd2hpbGUgb2JqZWN0cyBvZiByZWR1bmRhbnQgcGFja3Mgd2lsbCBiZSBtYXJrZWQgd2l0aAorZXhjbGFtYXRpb24gcG9pbnQsIGFuZCByZWR1bmRhbnQgcGFjayBpdHNlbGYgd2lsbCBiZSBtYXJrZWQgd2l0aCBhc3Rlcmlzay4KKworCXwgVCBBIEIgQyBEIEUgRiBHIEggSSBKIEsgTCBNIE4gTyBQIFEgUgorICAgIC0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICBQMSAgfCB4IHggeCB4IHggeCB4ICAgICAgICAgICAgICAgICAgICAgICB4CisgICAgUDIqIHwgICAgICEgISAhICEgICAhICEgIQorICAgIFAzICB8ICAgICAgICAgICAgIHggICAgIHggeCB4IHggeAorICAgIFA0KiB8ICAgICAgICAgICAgICAgICAgICAgISAhICEgISAgICAgIQorICAgIFA1ICB8ICAgICAgICAgICAgICAgeCB4ICAgICAgICAgICB4IHgKKyAgICBQNiogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISAhICAgIQorICAgIFA3ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeCB4CisgICAgUDgqIHwgICAhCisgICAgLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIEFMTCB8IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHgKKworQW5vdGhlciByZXBvc2l0b3J5IGBzaGFyZWQuZ2l0YCBoYXMgdW5pcXVlIG9iamVjdHMgKFgtWiksIHdoaWxlIG90aGVyIG9iamVjdHMKKyhtYXJrZWQgd2l0aCBsZXR0ZXIgcykgYXJlIHNoYXJlZCB0aHJvdWdoIGFsdC1vZGIgKG9mIGBtYXN0ZXIuZ2l0YCkuIFRoZQorcmVsYXRpb25zaGlwIGJldHdlZW4gcGFja3MgYW5kIG9iamVjdHMgaXMgYXMgZm9sbG93czoKKworCXwgVCBBIEIgQyBEIEUgRiBHIEggSSBKIEsgTCBNIE4gTyBQIFEgUiAgIFggWSBaCisgICAgLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgUHgxIHwgICBzIHMgcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHggeCB4CisgICAgUHgyIHwgICAgICAgICBzIHMgcyAgICAgICAgICAgICAgICAgICAgICAgICAgIHggeCB4CisnCisKKy4gLi90ZXN0LWxpYi5zaAorCittYXN0ZXJfcmVwbz1tYXN0ZXIuZ2l0CitzaGFyZWRfcmVwbz1zaGFyZWQuZ2l0CisKKyMgQ3JlYXRlIGNvbW1pdHMgaW4gPHJlcG8+IGFuZCBhc3NpZ24gZWFjaCBjb21taXQncyBvaWQgdG8gc2hlbGwgdmFyaWFibGVzCisjIGdpdmVuIGluIHRoZSBhcmd1bWVudHMgKEEsIEIsIGFuZCBDKS4gRS5nLjoKKyMKKyMgICAgIGNyZWF0ZV9jb21taXRzX2luIDxyZXBvPiBBIEIgQworIworIyBOT1RFOiBBdm9pZCBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gZnJvbSBhIHN1YnNoZWxsIHNpbmNlIHZhcmlhYmxlCisjIGFzc2lnbm1lbnRzIHdpbGwgZGlzYXBwZWFyIHdoZW4gc3Vic2hlbGwgZXhpdHMuCitjcmVhdGVfY29tbWl0c19pbiAoKSB7CisJcmVwbz0iJDEiICYmCisJaWYgISBwYXJlbnQ9JChnaXQgLUMgIiRyZXBvIiByZXYtcGFyc2UgSEVBRF57fSAyPi9kZXYvbnVsbCkKKwl0aGVuCisJCXBhcmVudD0KKwlmaSAmJgorCVQ9JChnaXQgLUMgIiRyZXBvIiB3cml0ZS10cmVlKSAmJgorCXNoaWZ0ICYmCisJd2hpbGUgdGVzdCAkIyAtZ3QgMAorCWRvCisJCW5hbWU9JDEgJiYKKwkJdGVzdF90aWNrICYmCisJCWlmIHRlc3QgLXogIiRwYXJlbnQiCisJCXRoZW4KKwkJCW9pZD0kKGVjaG8gJG5hbWUgfCBnaXQgLUMgIiRyZXBvIiBjb21taXQtdHJlZSAkVCkKKwkJZWxzZQorCQkJb2lkPSQoZWNobyAkbmFtZSB8IGdpdCAtQyAiJHJlcG8iIGNvbW1pdC10cmVlIC1wICRwYXJlbnQgJFQpCisJCWZpICYmCisJCWV2YWwgJG5hbWU9JG9pZCAmJgorCQlwYXJlbnQ9JG9pZCAmJgorCQlzaGlmdCB8fAorCQlyZXR1cm4gMQorCWRvbmUgJiYKKwlnaXQgLUMgIiRyZXBvIiB1cGRhdGUtcmVmIHJlZnMvaGVhZHMvbWFzdGVyICRvaWQKK30KKworIyBDcmVhdGUgcGFjayBpbiA8cmVwbz4gYW5kIGFzc2lnbiBwYWNrIGlkIHRvIHZhcmlhYmxlIGdpdmVuIGluIHRoZSAybmQgYXJndW1lbnQKKyMgKDxuYW1lPikuIENvbW1pdHMgaW4gdGhlIHBhY2sgd2lsbCBiZSByZWFkIGZyb20gc3RkaW4uIEUuZy46CisjCisjICAgICBjcmVhdGVfcGFja19pbiA8cmVwbz4gPG5hbWU+IDw8LUVPRgorIyAgICAgICAgIC4uLgorIyAgICAgICAgIEVPRgorIworIyBOT1RFOiBjb21taXRzIGZyb20gc3RkaW4gc2hvdWxkIGJlIGdpdmVuIHVzaW5nIGhlcmVkb2MsIG5vdCB1c2luZyBwaXBlLCBhbmQKKyMgYXZvaWQgY2FsbGluZyB0aGlzIGZ1bmN0aW9uIGZyb20gYSBzdWJzaGVsbCBzaW5jZSB2YXJpYWJsZSBhc3NpZ25tZW50cyB3aWxsCisjIGRpc2FwcGVhciB3aGVuIHN1YnNoZWxsIGV4aXRzLgorY3JlYXRlX3BhY2tfaW4gKCkgeworCXJlcG89IiQxIiAmJgorCW5hbWU9IiQyIiAmJgorCXBhY2s9JChnaXQgLUMgIiRyZXBvL29iamVjdHMvcGFjayIgcGFjay1vYmplY3RzIC1xIHBhY2spICYmCisJZXZhbCAkbmFtZT0kcGFjayAmJgorCWV2YWwgUCRwYWNrPSRuYW1lOiRwYWNrCit9CisKK2Zvcm1hdF9wYWNrZmlsZXMgKCkgeworCXNlZCBcCisJCS1lICJzIy4qL3BhY2stXCguKlwpXC5pZHgjXDEjIiBcCisJCS1lICJzIy4qL3BhY2stXCguKlwpXC5wYWNrI1wxIyIgfAorCXNvcnQgLXUgfAorCXdoaWxlIHJlYWQgcAorCWRvCisJCWlmIHRlc3QgLXogIiQoZXZhbCBlY2hvIFwke1AkcH0pIgorCQl0aGVuCisJCQllY2hvICRwCisJCWVsc2UKKwkJCWV2YWwgZWNobyAiXCR7UCRwfSIKKwkJZmkKKwlkb25lIHwKKwlzb3J0Cit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIG1hc3RlciByZXBvJyAnCisJZ2l0IGluaXQgLS1iYXJlICIkbWFzdGVyX3JlcG8iICYmCisJY3JlYXRlX2NvbW1pdHNfaW4gIiRtYXN0ZXJfcmVwbyIgQSBCIEMgRCBFIEYgRyBIIEkgSiBLIEwgTSBOIE8gUCBRIFIKKycKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQ2hhcnQgb2YgcGFja3MgYW5kIG9iamVjdHMgZm9yIHRoaXMgdGVzdCBjYXNlCisjCisjICAgICAgICAgfCBUIEEgQiBDIEQgRSBGIEcgSCBJIEogSyBMIE0gTiBPIFAgUSBSCisjICAgICAtLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjICAgICBQMSAgfCB4IHggeCB4IHggeCB4ICAgICAgICAgICAgICAgICAgICAgICB4CisjICAgICBQMiAgfCAgICAgeCB4IHggeCAgIHggeCB4CisjICAgICBQMyAgfCAgICAgICAgICAgICB4ICAgICB4IHggeCB4IHgKKyMgICAgIC0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgICAgIEFMTCB8IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCAgICAgICAgIHgKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtYXN0ZXI6IG5vIHJlZHVuZGFudCBmb3IgcGFjayAxLCAyLCAzJyAnCisJY3JlYXRlX3BhY2tfaW4gIiRtYXN0ZXJfcmVwbyIgUDEgPDwtRU9GICYmCisJCSRUCisJCSRBCisJCSRCCisJCSRDCisJCSRECisJCSRFCisJCSRGCisJCSRSCisJCUVPRgorCWNyZWF0ZV9wYWNrX2luICIkbWFzdGVyX3JlcG8iIFAyIDw8LUVPRiAmJgorCQkkQgorCQkkQworCQkkRAorCQkkRQorCQkkRworCQkkSAorCQkkSQorCQlFT0YKKwljcmVhdGVfcGFja19pbiAiJG1hc3Rlcl9yZXBvIiBQMyA8PC1FT0YgJiYKKwkJJEYKKwkJJEkKKwkJJEoKKwkJJEsKKwkJJEwKKwkJJE0KKwkJRU9GCisJKAorCQljZCAiJG1hc3Rlcl9yZXBvIiAmJgorCQlnaXQgcGFjay1yZWR1bmRhbnQgLS1hbGwgPm91dCAmJgorCQl0ZXN0X211c3RfYmVfZW1wdHkgb3V0CisJKQorJworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBDaGFydCBvZiBwYWNrcyBhbmQgb2JqZWN0cyBmb3IgdGhpcyB0ZXN0IGNhc2UKKyMKKyMgICAgICAgICB8IFQgQSBCIEMgRCBFIEYgRyBIIEkgSiBLIEwgTSBOIE8gUCBRIFIKKyMgICAgIC0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgICAgIFAxICB8IHggeCB4IHggeCB4IHggICAgICAgICAgICAgICAgICAgICAgIHgKKyMgICAgIFAyICB8ICAgICB4IHggeCB4ICAgeCB4IHgKKyMgICAgIFAzKiB8ICAgICAgICAgICAgICEgICAgICEgISAhICEgIQorIyAgICAgUDQgIHwgICAgICAgICAgICAgICAgICAgICB4IHggeCB4ICAgICB4CisjICAgICBQNSAgfCAgICAgICAgICAgICAgIHggeCAgICAgICAgICAgeCB4CisjICAgICAtLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjICAgICBBTEwgfCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggICB4CisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWFzdGVyOiBvbmUgb2YgcGFjay0yL3BhY2stMyBpcyByZWR1bmRhbnQnICcKKwljcmVhdGVfcGFja19pbiAiJG1hc3Rlcl9yZXBvIiBQNCA8PC1FT0YgJiYKKwkJJEoKKwkJJEsKKwkJJEwKKwkJJE0KKwkJJFAKKwkJRU9GCisJY3JlYXRlX3BhY2tfaW4gIiRtYXN0ZXJfcmVwbyIgUDUgPDwtRU9GICYmCisJCSRHCisJCSRICisJCSROCisJCSRPCisJCUVPRgorCSgKKwkJY2QgIiRtYXN0ZXJfcmVwbyIgJiYKKwkJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJCQlQMzokUDMKKwkJCUVPRgorCQlnaXQgcGFjay1yZWR1bmRhbnQgLS1hbGwgPm91dCAmJgorCQlmb3JtYXRfcGFja2ZpbGVzIDxvdXQgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJKQorJworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBDaGFydCBvZiBwYWNrcyBhbmQgb2JqZWN0cyBmb3IgdGhpcyB0ZXN0IGNhc2UKKyMKKyMgICAgICAgICB8IFQgQSBCIEMgRCBFIEYgRyBIIEkgSiBLIEwgTSBOIE8gUCBRIFIKKyMgICAgIC0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgICAgIFAxICB8IHggeCB4IHggeCB4IHggICAgICAgICAgICAgICAgICAgICAgIHgKKyMgICAgIFAyKiB8ICAgICAhICEgISAhICAgISAhICEKKyMgICAgIFAzICB8ICAgICAgICAgICAgIHggICAgIHggeCB4IHggeAorIyAgICAgUDQqIHwgICAgICAgICAgICAgICAgICAgICAhICEgISAhICAgICAhCisjICAgICBQNSAgfCAgICAgICAgICAgICAgIHggeCAgICAgICAgICAgeCB4CisjICAgICBQNiogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISAhICAgIQorIyAgICAgUDcgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4IHgKKyMgICAgIC0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgICAgIEFMTCB8IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHgKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtYXN0ZXI6IHBhY2sgMiwgNCwgYW5kIDYgYXJlIHJlZHVuZGFudCcgJworCWNyZWF0ZV9wYWNrX2luICIkbWFzdGVyX3JlcG8iIFA2IDw8LUVPRiAmJgorCQkkTgorCQkkTworCQkkUQorCQlFT0YKKwljcmVhdGVfcGFja19pbiAiJG1hc3Rlcl9yZXBvIiBQNyA8PC1FT0YgJiYKKwkJJFAKKwkJJFEKKwkJRU9GCisJKAorCQljZCAiJG1hc3Rlcl9yZXBvIiAmJgorCQljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkJCVAyOiRQMgorCQkJUDQ6JFA0CisJCQlQNjokUDYKKwkJCUVPRgorCQlnaXQgcGFjay1yZWR1bmRhbnQgLS1hbGwgPm91dCAmJgorCQlmb3JtYXRfcGFja2ZpbGVzIDxvdXQgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJKQorJworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBDaGFydCBvZiBwYWNrcyBhbmQgb2JqZWN0cyBmb3IgdGhpcyB0ZXN0IGNhc2UKKyMKKyMgICAgICAgICB8IFQgQSBCIEMgRCBFIEYgRyBIIEkgSiBLIEwgTSBOIE8gUCBRIFIKKyMgICAgIC0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgICAgIFAxICB8IHggeCB4IHggeCB4IHggICAgICAgICAgICAgICAgICAgICAgIHgKKyMgICAgIFAyKiB8ICAgICAhICEgISAhICAgISAhICEKKyMgICAgIFAzICB8ICAgICAgICAgICAgIHggICAgIHggeCB4IHggeAorIyAgICAgUDQqIHwgICAgICAgICAgICAgICAgICAgICAhICEgISAhICAgICAhCisjICAgICBQNSAgfCAgICAgICAgICAgICAgIHggeCAgICAgICAgICAgeCB4CisjICAgICBQNiogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISAhICAgIQorIyAgICAgUDcgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4IHgKKyMgICAgIFA4KiB8ICAgIQorIyAgICAgLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyAgICAgQUxMIHwgeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeAorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21hc3RlcjogcGFjay04IChzdWJzZXQgb2YgcGFjay0xKSBpcyBhbHNvIHJlZHVuZGFudCcgJworCWNyZWF0ZV9wYWNrX2luICIkbWFzdGVyX3JlcG8iIFA4IDw8LUVPRiAmJgorCQkkQQorCQlFT0YKKwkoCisJCWNkICIkbWFzdGVyX3JlcG8iICYmCisJCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCQkJUDI6JFAyCisJCQlQNDokUDQKKwkJCVA2OiRQNgorCQkJUDg6JFA4CisJCQlFT0YKKwkJZ2l0IHBhY2stcmVkdW5kYW50IC0tYWxsID5vdXQgJiYKKwkJZm9ybWF0X3BhY2tmaWxlcyA8b3V0ID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWFzdGVyOiBjbGVhbiBsb29zZSBvYmplY3RzJyAnCisJKAorCQljZCAiJG1hc3Rlcl9yZXBvIiAmJgorCQlnaXQgcHJ1bmUtcGFja2VkICYmCisJCWZpbmQgb2JqZWN0cyAtdHlwZSBmIHwgc2VkIC1lICIvb2JqZWN0c1wvcGFja1wvL2QiID5vdXQgJiYKKwkJdGVzdF9tdXN0X2JlX2VtcHR5IG91dAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWFzdGVyOiByZW1vdmUgcmVkdW5kYW50IHBhY2tzIGFuZCBwYXNzIGZzY2snICcKKwkoCisJCWNkICIkbWFzdGVyX3JlcG8iICYmCisJCWdpdCBwYWNrLXJlZHVuZGFudCAtLWFsbCB8IHhhcmdzIHJtICYmCisJCWdpdCBmc2NrICYmCisJCWdpdCBwYWNrLXJlZHVuZGFudCAtLWFsbCA+b3V0ICYmCisJCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXQKKwkpCisnCisKKyMgVGhlIGZvbGxvd2luZyB0ZXN0IGNhc2VzIHdpbGwgZXhlY3V0ZSBpbnNpZGUgYHNoYXJlZC5naXRgLCBpbnN0ZWFkIG9mCisjIGluc2lkZSBgbWFzdGVyLmdpdGAuCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBzaGFyZWQuZ2l0JyAnCisJZ2l0IGNsb25lIC0tbWlycm9yICIkbWFzdGVyX3JlcG8iICIkc2hhcmVkX3JlcG8iICYmCisJKAorCQljZCAiJHNoYXJlZF9yZXBvIiAmJgorCQlwcmludGYgIi4uLy4uLyRtYXN0ZXJfcmVwby9vYmplY3RzXG4iID5vYmplY3RzL2luZm8vYWx0ZXJuYXRlcworCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hhcmVkOiBhbGwgcGFja3MgYXJlIHJlZHVuZGFudCwgYnV0IG5vIG91dHB1dCB3aXRob3V0IC0tYWx0LW9kYicgJworCSgKKwkJY2QgIiRzaGFyZWRfcmVwbyIgJiYKKwkJZ2l0IHBhY2stcmVkdW5kYW50IC0tYWxsID5vdXQgJiYKKwkJdGVzdF9tdXN0X2JlX2VtcHR5IG91dAorCSkKKycKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQ2hhcnQgb2YgcGFja3MgYW5kIG9iamVjdHMgZm9yIHRoaXMgdGVzdCBjYXNlCisjCisjICAgICA9PT09PT09PT09PT09PT09IG1hc3Rlci5naXQgPT09PT09PT09PT09PT09CisjICAgICAgICAgfCBUIEEgQiBDIEQgRSBGIEcgSCBJIEogSyBMIE0gTiBPIFAgUSBSICA8LS0tLS0tLS0tLSsKKyMgICAgIC0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICAgICAgICAgICAgfAorIyAgICAgUDEgIHwgeCB4IHggeCB4IHggeCAgICAgICAgICAgICAgICAgICAgICAgeCAgICAgICAgICAgICB8CisjICAgICBQMyAgfCAgICAgICAgICAgICB4ICAgICB4IHggeCB4IHggICAgICAgICAgICAgICAgICAgICAgIHwKKyMgICAgIFA1ICB8ICAgICAgICAgICAgICAgeCB4ICAgICAgICAgICB4IHggICAgICAgICAgICAgICAgICAgfAorIyAgICAgUDcgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4IHggICAgICAgICAgICAgICB8CisjICAgICAtLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgICAgICAgICAgIHwKKyMgICAgIEFMTCB8IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggICAgICAgICAgICAgfAorIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyMgICAgID09PT09PT09PT09PT09PT0gc2hhcmVkLmdpdCA9PT09PT09PT09PT09PT0gICAgICAgICAgICAgfAorIyAgICAgICAgIHwgVCBBIEIgQyBEIEUgRiBHIEggSSBKIEsgTCBNIE4gTyBQIFEgUiAgPG9iamVjdHMvaW5mby9hbHRlcm5hdGVzPgorIyAgICAgLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyAgICAgUDEqIHwgcyBzIHMgcyBzIHMgcyAgICAgICAgICAgICAgICAgICAgICAgcworIyAgICAgUDMqIHwgICAgICAgICAgICAgcyAgICAgcyBzIHMgcyBzCisjICAgICBQNSogfCAgICAgICAgICAgICAgIHMgcyAgICAgICAgICAgcyBzCisjICAgICBQNyogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMgcworIyAgICAgLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyAgICAgQUxMIHwgeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeAorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NoYXJlZDogc2hvdyByZWR1bmRhbnQgcGFja3MgaW4gc3RkZXJyIGZvciB2ZXJib3NlIG1vZGUnICcKKwkoCisJCWNkICIkc2hhcmVkX3JlcG8iICYmCisJCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCQkJUDE6JFAxCisJCQlQMzokUDMKKwkJCVA1OiRQNQorCQkJUDc6JFA3CisJCQlFT0YKKwkJZ2l0IHBhY2stcmVkdW5kYW50IC0tYWxsIC0tdmVyYm9zZSA+b3V0IDI+b3V0LmVyciAmJgorCQl0ZXN0X211c3RfYmVfZW1wdHkgb3V0ICYmCisJCWdyZXAgInBhY2skIiBvdXQuZXJyIHwgZm9ybWF0X3BhY2tmaWxlcyA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NoYXJlZDogcmVtb3ZlIHJlZHVuZGFudCBwYWNrcywgbm8gcGFja3MgbGVmdCcgJworCSgKKwkJY2QgIiRzaGFyZWRfcmVwbyIgJiYKKwkJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJCQlmYXRhbDogWmVybyBwYWNrcyBmb3VuZCEKKwkJCUVPRgorCQlnaXQgcGFjay1yZWR1bmRhbnQgLS1hbGwgLS1hbHQtb2RiIHwgeGFyZ3Mgcm0gJiYKKwkJZ2l0IGZzY2sgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHBhY2stcmVkdW5kYW50IC0tYWxsIC0tYWx0LW9kYiA+YWN0dWFsIDI+JjEgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hhcmVkOiBjcmVhdGUgbmV3IG9iamVjdHMgYW5kIHBhY2tzJyAnCisJY3JlYXRlX2NvbW1pdHNfaW4gIiRzaGFyZWRfcmVwbyIgWCBZIFogJiYKKwljcmVhdGVfcGFja19pbiAiJHNoYXJlZF9yZXBvIiBQeDEgPDwtRU9GICYmCisJCSRYCisJCSRZCisJCSRaCisJCSRBCisJCSRCCisJCSRDCisJCUVPRgorCWNyZWF0ZV9wYWNrX2luICIkc2hhcmVkX3JlcG8iIFB4MiA8PC1FT0YKKwkJJFgKKwkJJFkKKwkJJFoKKwkJJEQKKwkJJEUKKwkJJEYKKwkJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NoYXJlZDogbm8gcmVkdW5kYW50IHdpdGhvdXQgLS1hbHQtb2RiJyAnCisJKAorCQljZCAiJHNoYXJlZF9yZXBvIiAmJgorCQlnaXQgcGFjay1yZWR1bmRhbnQgLS1hbGwgPm91dCAmJgorCQl0ZXN0X211c3RfYmVfZW1wdHkgb3V0CisJKQorJworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBDaGFydCBvZiBwYWNrcyBhbmQgb2JqZWN0cyBmb3IgdGhpcyB0ZXN0IGNhc2UKKyMKKyMgICAgID09PT09PT09PT09PT09PT0gbWFzdGVyLmdpdCA9PT09PT09PT09PT09PT0KKyMgICAgICAgICB8IFQgQSBCIEMgRCBFIEYgRyBIIEkgSiBLIEwgTSBOIE8gUCBRIFIgIDwtLS0tLS0tLS0tLS0tLS0tKworIyAgICAgLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgICAgICAgICAgICAgICAgICB8CisjICAgICBQMSAgfCB4IHggeCB4IHggeCB4ICAgICAgICAgICAgICAgICAgICAgICB4ICAgICAgICAgICAgICAgICAgIHwKKyMgICAgIFAzICB8ICAgICAgICAgICAgIHggICAgIHggeCB4IHggeCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorIyAgICAgUDUgIHwgICAgICAgICAgICAgICB4IHggICAgICAgICAgIHggeCAgICAgICAgICAgICAgICAgICAgICAgICB8CisjICAgICBQNyAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHggeCAgICAgICAgICAgICAgICAgICAgIHwKKyMgICAgIC0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICAgICAgICAgICAgICAgICAgfAorIyAgICAgQUxMIHwgeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCAgICAgICAgICAgICAgICAgICB8CisjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorIyAgICAgPT09PT09PT09PT09PT09PSBzaGFyZWQuZ2l0ID09PT09PT09PT09PT09PT09PT09PT09ICAgICAgICAgICB8CisjICAgICAgICAgfCBUIEEgQiBDIEQgRSBGIEcgSCBJIEogSyBMIE0gTiBPIFAgUSBSICAgWCBZIFogPG9iamVjdHMvaW5mby9hbHRlcm5hdGVzPgorIyAgICAgLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjICAgICBQeDEgfCAgIHMgcyBzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeCB4IHgKKyMgICAgIFB4Mip8ICAgICAgICAgcyBzIHMgICAgICAgICAgICAgICAgICAgICAgICAgICAhICEgIQorIyAgICAgLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjICAgICBBTEwgfCBzIHMgcyBzIHMgcyBzIHMgcyBzIHMgcyBzIHMgcyBzIHMgcyBzICAgeCB4IHgKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaGFyZWQ6IG9uZSBwYWNrIGlzIHJlZHVuZGFudCB3aXRoIC0tYWx0LW9kYicgJworCSgKKwkJY2QgIiRzaGFyZWRfcmVwbyIgJiYKKwkJZ2l0IHBhY2stcmVkdW5kYW50IC0tYWxsIC0tYWx0LW9kYiA+b3V0ICYmCisJCWZvcm1hdF9wYWNrZmlsZXMgPG91dCA+YWN0dWFsICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDEgYWN0dWFsCisJKQorJworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBDaGFydCBvZiBwYWNrcyBhbmQgb2JqZWN0cyBmb3IgdGhpcyB0ZXN0IGNhc2UKKyMKKyMgICAgID09PT09PT09PT09PT09PT0gbWFzdGVyLmdpdCA9PT09PT09PT09PT09PT0KKyMgICAgICAgICB8IFQgQSBCIEMgRCBFIEYgRyBIIEkgSiBLIEwgTSBOIE8gUCBRIFIgIDwtLS0tLS0tLS0tLS0tLS0tKworIyAgICAgLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgICAgICAgICAgICAgICAgICB8CisjICAgICBQMSAgfCB4IHggeCB4IHggeCB4ICAgICAgICAgICAgICAgICAgICAgICB4ICAgICAgICAgICAgICAgICAgIHwKKyMgICAgIFAzICB8ICAgICAgICAgICAgIHggICAgIHggeCB4IHggeCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorIyAgICAgUDUgIHwgICAgICAgICAgICAgICB4IHggICAgICAgICAgIHggeCAgICAgICAgICAgICAgICAgICAgICAgICB8CisjICAgICBQNyAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHggeCAgICAgICAgICAgICAgICAgICAgIHwKKyMgICAgIC0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICAgICAgICAgICAgICAgICAgfAorIyAgICAgQUxMIHwgeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCAgICAgICAgICAgICAgICAgICB8CisjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorIyAgICAgPT09PT09PT09PT09PT09PSBzaGFyZWQuZ2l0ID09PT09PT09PT09PT09PT09PT09PT09ICAgICAgICAgICB8CisjICAgICAgICAgfCBUIEEgQiBDIEQgRSBGIEcgSCBJIEogSyBMIE0gTiBPIFAgUSBSICAgWCBZIFogPG9iamVjdHMvaW5mby9hbHRlcm5hdGVzPgorIyAgICAgLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjICAgICBQeDEqfCAgIHMgcyBzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSBpIGkKKyMgICAgIFB4Mip8ICAgICAgICAgcyBzIHMgICAgICAgICAgICAgICAgICAgICAgICAgICBpIGkgaQorIyAgICAgLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjICAgICBBTEwgfCBzIHMgcyBzIHMgcyBzIHMgcyBzIHMgcyBzIHMgcyBzIHMgcyBzICAgaSBpIGkKKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZ25vcmVkIG9iamVjdHMsIG1hcmtlZCB3aXRoIGkpCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2hhcmVkOiBpZ25vcmUgdW5pcXVlIG9iamVjdHMgYW5kIGFsbCB0d28gcGFja3MgYXJlIHJlZHVuZGFudCcgJworCSgKKwkJY2QgIiRzaGFyZWRfcmVwbyIgJiYKKwkJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJCQlQeDE6JFB4MQorCQkJUHgyOiRQeDIKKwkJCUVPRgorCQlnaXQgcGFjay1yZWR1bmRhbnQgLS1hbGwgLS1hbHQtb2RiID5vdXQgPDwtRU9GICYmCisJCQkkWAorCQkJJFkKKwkJCSRaCisJCQlFT0YKKwkJZm9ybWF0X3BhY2tmaWxlcyA8b3V0ID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1MzI0LXNwbGl0LWNvbW1pdC1ncmFwaC5zaCBiL3QvdDUzMjQtc3BsaXQtY29tbWl0LWdyYXBoLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUzYjJlNmIKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q1MzI0LXNwbGl0LWNvbW1pdC1ncmFwaC5zaApAQCAtMCwwICsxLDM1NCBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J3NwbGl0IGNvbW1pdCBncmFwaCcKKy4gLi90ZXN0LWxpYi5zaAorCitHSVRfVEVTVF9DT01NSVRfR1JBUEg9MAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCByZXBvJyAnCisJZ2l0IGluaXQgJiYKKwlnaXQgY29uZmlnIGNvcmUuY29tbWl0R3JhcGggdHJ1ZSAmJgorCWdpdCBjb25maWcgZ2Mud3JpdGVDb21taXRHcmFwaCBmYWxzZSAmJgorCWluZm9kaXI9Ii5naXQvb2JqZWN0cy9pbmZvIiAmJgorCWdyYXBoZGlyPSIkaW5mb2Rpci9jb21taXQtZ3JhcGhzIiAmJgorCXRlc3Rfb2lkX2luaXQgJiYKKwl0ZXN0X29pZF9jYWNoZSA8PC1FT00KKwlzaGFsbG93IHNoYTE6MTc2MAorCXNoYWxsb3cgc2hhMjU2OjIwNjQKKworCWJhc2Ugc2hhMToxMzc2CisJYmFzZSBzaGEyNTY6MTQ5NgorCUVPTQorJworCitncmFwaF9yZWFkX2V4cGVjdCgpIHsKKwlOVU1fQkFTRT0wCisJaWYgdGVzdCAhIC16ICQyCisJdGhlbgorCQlOVU1fQkFTRT0kMgorCWZpCisJY2F0ID5leHBlY3QgPDwtIEVPRgorCWhlYWRlcjogNDM0NzUwNDggMSAxIDMgJE5VTV9CQVNFCisJbnVtX2NvbW1pdHM6ICQxCisJY2h1bmtzOiBvaWRfZmFub3V0IG9pZF9sb29rdXAgY29tbWl0X21ldGFkYXRhCisJRU9GCisJdGVzdC10b29sIHJlYWQtZ3JhcGggPm91dHB1dCAmJgorCXRlc3RfY21wIGV4cGVjdCBvdXRwdXQKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIGNvbW1pdHMgYW5kIHdyaXRlIGNvbW1pdC1ncmFwaCcgJworCWZvciBpIGluICQodGVzdF9zZXEgMykKKwlkbworCQl0ZXN0X2NvbW1pdCAkaSAmJgorCQlnaXQgYnJhbmNoIGNvbW1pdHMvJGkgfHwgcmV0dXJuIDEKKwlkb25lICYmCisJZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSAtLXJlYWNoYWJsZSAmJgorCXRlc3RfcGF0aF9pc19maWxlICRpbmZvZGlyL2NvbW1pdC1ncmFwaCAmJgorCWdyYXBoX3JlYWRfZXhwZWN0IDMKKycKKworZ3JhcGhfZ2l0X3R3b19tb2RlcygpIHsKKwlnaXQgLWMgY29yZS5jb21taXRHcmFwaD10cnVlICQxID5vdXRwdXQKKwlnaXQgLWMgY29yZS5jb21taXRHcmFwaD1mYWxzZSAkMSA+ZXhwZWN0CisJdGVzdF9jbXAgZXhwZWN0IG91dHB1dAorfQorCitncmFwaF9naXRfYmVoYXZpb3IoKSB7CisJTVNHPSQxCisJQlJBTkNIPSQyCisJQ09NUEFSRT0kMworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImNoZWNrIG5vcm1hbCBnaXQgb3BlcmF0aW9uczogJE1TRyIgJworCQlncmFwaF9naXRfdHdvX21vZGVzICJsb2cgLS1vbmVsaW5lICRCUkFOQ0giICYmCisJCWdyYXBoX2dpdF90d29fbW9kZXMgImxvZyAtLXRvcG8tb3JkZXIgJEJSQU5DSCIgJiYKKwkJZ3JhcGhfZ2l0X3R3b19tb2RlcyAibG9nIC0tZ3JhcGggJENPTVBBUkUuLiRCUkFOQ0giICYmCisJCWdyYXBoX2dpdF90d29fbW9kZXMgImJyYW5jaCAtdnYiICYmCisJCWdyYXBoX2dpdF90d29fbW9kZXMgIm1lcmdlLWJhc2UgLWEgJEJSQU5DSCAkQ09NUEFSRSIKKwknCit9CisKK2dyYXBoX2dpdF9iZWhhdmlvciAnZ3JhcGggZXhpc3RzJyBjb21taXRzLzMgY29tbWl0cy8xCisKK3ZlcmlmeV9jaGFpbl9maWxlc19leGlzdCgpIHsKKwlmb3IgaGFzaCBpbiAkKGNhdCAkMS9jb21taXQtZ3JhcGgtY2hhaW4pCisJZG8KKwkJdGVzdF9wYXRoX2lzX2ZpbGUgJDEvZ3JhcGgtJGhhc2guZ3JhcGggfHwgcmV0dXJuIDEKKwlkb25lCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FkZCBtb3JlIGNvbW1pdHMsIGFuZCB3cml0ZSBhIG5ldyBiYXNlIGdyYXBoJyAnCisJZ2l0IHJlc2V0IC0taGFyZCBjb21taXRzLzEgJiYKKwlmb3IgaSBpbiAkKHRlc3Rfc2VxIDQgNSkKKwlkbworCQl0ZXN0X2NvbW1pdCAkaSAmJgorCQlnaXQgYnJhbmNoIGNvbW1pdHMvJGkgfHwgcmV0dXJuIDEKKwlkb25lICYmCisJZ2l0IHJlc2V0IC0taGFyZCBjb21taXRzLzIgJiYKKwlmb3IgaSBpbiAkKHRlc3Rfc2VxIDYgMTApCisJZG8KKwkJdGVzdF9jb21taXQgJGkgJiYKKwkJZ2l0IGJyYW5jaCBjb21taXRzLyRpIHx8IHJldHVybiAxCisJZG9uZSAmJgorCWdpdCByZXNldCAtLWhhcmQgY29tbWl0cy8yICYmCisJZ2l0IG1lcmdlIGNvbW1pdHMvNCAmJgorCWdpdCBicmFuY2ggbWVyZ2UvMSAmJgorCWdpdCByZXNldCAtLWhhcmQgY29tbWl0cy80ICYmCisJZ2l0IG1lcmdlIGNvbW1pdHMvNiAmJgorCWdpdCBicmFuY2ggbWVyZ2UvMiAmJgorCWdpdCBjb21taXQtZ3JhcGggd3JpdGUgLS1yZWFjaGFibGUgJiYKKwlncmFwaF9yZWFkX2V4cGVjdCAxMgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb3JrIGFuZCBmYWlsIHRvIGJhc2UgYSBjaGFpbiBvbiBhIGNvbW1pdC1ncmFwaCBmaWxlJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkIHJtIC1yZiBmb3JrICYmCisJZ2l0IGNsb25lIC4gZm9yayAmJgorCSgKKwkJY2QgZm9yayAmJgorCQlybSAuZ2l0L29iamVjdHMvaW5mby9jb21taXQtZ3JhcGggJiYKKwkJZWNobyAiJChwd2QpLy4uLy5naXQvb2JqZWN0cyIgPi5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMgJiYKKwkJdGVzdF9jb21taXQgbmV3LWNvbW1pdCAmJgorCQlnaXQgY29tbWl0LWdyYXBoIHdyaXRlIC0tcmVhY2hhYmxlIC0tc3BsaXQgJiYKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgJGdyYXBoZGlyL2NvbW1pdC1ncmFwaC1jaGFpbiAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAxICRncmFwaGRpci9jb21taXQtZ3JhcGgtY2hhaW4gJiYKKwkJdmVyaWZ5X2NoYWluX2ZpbGVzX2V4aXN0ICRncmFwaGRpcgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYWRkIHRocmVlIG1vcmUgY29tbWl0cywgd3JpdGUgYSB0aXAgZ3JhcGgnICcKKwlnaXQgcmVzZXQgLS1oYXJkIGNvbW1pdHMvMyAmJgorCWdpdCBtZXJnZSBtZXJnZS8xICYmCisJZ2l0IG1lcmdlIGNvbW1pdHMvNSAmJgorCWdpdCBtZXJnZSBtZXJnZS8yICYmCisJZ2l0IGJyYW5jaCBtZXJnZS8zICYmCisJZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSAtLXJlYWNoYWJsZSAtLXNwbGl0ICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgJGluZm9kaXIvY29tbWl0LWdyYXBoICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgJGdyYXBoZGlyL2NvbW1pdC1ncmFwaC1jaGFpbiAmJgorCWxzICRncmFwaGRpci9ncmFwaC0qLmdyYXBoID5ncmFwaC1maWxlcyAmJgorCXRlc3RfbGluZV9jb3VudCA9IDIgZ3JhcGgtZmlsZXMgJiYKKwl2ZXJpZnlfY2hhaW5fZmlsZXNfZXhpc3QgJGdyYXBoZGlyCisnCisKK2dyYXBoX2dpdF9iZWhhdmlvciAnc3BsaXQgY29tbWl0LWdyYXBoOiBtZXJnZSAzIHZzIDInIG1lcmdlLzMgbWVyZ2UvMgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhZGQgb25lIGNvbW1pdCwgd3JpdGUgYSB0aXAgZ3JhcGgnICcKKwl0ZXN0X2NvbW1pdCAxMSAmJgorCWdpdCBicmFuY2ggY29tbWl0cy8xMSAmJgorCWdpdCBjb21taXQtZ3JhcGggd3JpdGUgLS1yZWFjaGFibGUgLS1zcGxpdCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nICRpbmZvZGlyL2NvbW1pdC1ncmFwaCAmJgorCXRlc3RfcGF0aF9pc19maWxlICRncmFwaGRpci9jb21taXQtZ3JhcGgtY2hhaW4gJiYKKwlscyAkZ3JhcGhkaXIvZ3JhcGgtKi5ncmFwaCA+Z3JhcGgtZmlsZXMgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAzIGdyYXBoLWZpbGVzICYmCisJdmVyaWZ5X2NoYWluX2ZpbGVzX2V4aXN0ICRncmFwaGRpcgorJworCitncmFwaF9naXRfYmVoYXZpb3IgJ3RocmVlLWxheWVyIGNvbW1pdC1ncmFwaDogY29tbWl0IDExIHZzIDYnIGNvbW1pdHMvMTEgY29tbWl0cy82CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FkZCBvbmUgY29tbWl0LCB3cml0ZSBhIG1lcmdlZCBncmFwaCcgJworCXRlc3RfY29tbWl0IDEyICYmCisJZ2l0IGJyYW5jaCBjb21taXRzLzEyICYmCisJZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSAtLXJlYWNoYWJsZSAtLXNwbGl0ICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgJGdyYXBoZGlyL2NvbW1pdC1ncmFwaC1jaGFpbiAmJgorCXRlc3RfbGluZV9jb3VudCA9IDIgJGdyYXBoZGlyL2NvbW1pdC1ncmFwaC1jaGFpbiAmJgorCWxzICRncmFwaGRpci9ncmFwaC0qLmdyYXBoID5ncmFwaC1maWxlcyAmJgorCXRlc3RfbGluZV9jb3VudCA9IDIgZ3JhcGgtZmlsZXMgJiYKKwl2ZXJpZnlfY2hhaW5fZmlsZXNfZXhpc3QgJGdyYXBoZGlyCisnCisKK2dyYXBoX2dpdF9iZWhhdmlvciAnbWVyZ2VkIGNvbW1pdC1ncmFwaDogY29tbWl0IDEyIHZzIDYnIGNvbW1pdHMvMTIgY29tbWl0cy82CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NyZWF0ZSBmb3JrIGFuZCBjaGFpbiBhY3Jvc3MgYWx0ZXJuYXRlJyAnCisJZ2l0IGNsb25lIC4gZm9yayAmJgorCSgKKwkJY2QgZm9yayAmJgorCQlnaXQgY29uZmlnIGNvcmUuY29tbWl0R3JhcGggdHJ1ZSAmJgorCQlybSAtcmYgJGdyYXBoZGlyICYmCisJCWVjaG8gIiQocHdkKS8uLi8uZ2l0L29iamVjdHMiID4uZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzICYmCisJCXRlc3RfY29tbWl0IDEzICYmCisJCWdpdCBicmFuY2ggY29tbWl0cy8xMyAmJgorCQlnaXQgY29tbWl0LWdyYXBoIHdyaXRlIC0tcmVhY2hhYmxlIC0tc3BsaXQgJiYKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgJGdyYXBoZGlyL2NvbW1pdC1ncmFwaC1jaGFpbiAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAzICRncmFwaGRpci9jb21taXQtZ3JhcGgtY2hhaW4gJiYKKwkJbHMgJGdyYXBoZGlyL2dyYXBoLSouZ3JhcGggPmdyYXBoLWZpbGVzICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDEgZ3JhcGgtZmlsZXMgJiYKKwkJZ2l0IC1jIGNvcmUuY29tbWl0R3JhcGg9dHJ1ZSAgcmV2LWxpc3QgSEVBRCA+ZXhwZWN0ICYmCisJCWdpdCAtYyBjb3JlLmNvbW1pdEdyYXBoPWZhbHNlIHJldi1saXN0IEhFQUQgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJCXRlc3RfY29tbWl0IDE0ICYmCisJCWdpdCBjb21taXQtZ3JhcGggd3JpdGUgLS1yZWFjaGFibGUgLS1zcGxpdCAtLW9iamVjdC1kaXI9LmdpdC9vYmplY3RzLyAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAzICRncmFwaGRpci9jb21taXQtZ3JhcGgtY2hhaW4gJiYKKwkJbHMgJGdyYXBoZGlyL2dyYXBoLSouZ3JhcGggPmdyYXBoLWZpbGVzICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDEgZ3JhcGgtZmlsZXMKKwkpCisnCisKK2dyYXBoX2dpdF9iZWhhdmlvciAnYWx0ZXJuYXRlOiBjb21taXQgMTMgdnMgNicgY29tbWl0cy8xMyBjb21taXRzLzYKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCBtZXJnZSBzdHJhZ2V0eSBjb25zdGFudHMnICcKKwlnaXQgY2xvbmUgLiBtZXJnZS0yICYmCisJKAorCQljZCBtZXJnZS0yICYmCisJCWdpdCBjb25maWcgY29yZS5jb21taXRHcmFwaCB0cnVlICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDIgJGdyYXBoZGlyL2NvbW1pdC1ncmFwaC1jaGFpbiAmJgorCQl0ZXN0X2NvbW1pdCAxNCAmJgorCQlnaXQgY29tbWl0LWdyYXBoIHdyaXRlIC0tcmVhY2hhYmxlIC0tc3BsaXQgLS1zaXplLW11bHRpcGxlPTIgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMyAkZ3JhcGhkaXIvY29tbWl0LWdyYXBoLWNoYWluCisKKwkpICYmCisJZ2l0IGNsb25lIC4gbWVyZ2UtMTAgJiYKKwkoCisJCWNkIG1lcmdlLTEwICYmCisJCWdpdCBjb25maWcgY29yZS5jb21taXRHcmFwaCB0cnVlICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDIgJGdyYXBoZGlyL2NvbW1pdC1ncmFwaC1jaGFpbiAmJgorCQl0ZXN0X2NvbW1pdCAxNCAmJgorCQlnaXQgY29tbWl0LWdyYXBoIHdyaXRlIC0tcmVhY2hhYmxlIC0tc3BsaXQgLS1zaXplLW11bHRpcGxlPTEwICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDEgJGdyYXBoZGlyL2NvbW1pdC1ncmFwaC1jaGFpbiAmJgorCQlscyAkZ3JhcGhkaXIvZ3JhcGgtKi5ncmFwaCA+Z3JhcGgtZmlsZXMgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMSBncmFwaC1maWxlcworCSkgJiYKKwlnaXQgY2xvbmUgLiBtZXJnZS0xMC1leHBpcmUgJiYKKwkoCisJCWNkIG1lcmdlLTEwLWV4cGlyZSAmJgorCQlnaXQgY29uZmlnIGNvcmUuY29tbWl0R3JhcGggdHJ1ZSAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAyICRncmFwaGRpci9jb21taXQtZ3JhcGgtY2hhaW4gJiYKKwkJdGVzdF9jb21taXQgMTUgJiYKKwkJZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSAtLXJlYWNoYWJsZSAtLXNwbGl0IC0tc2l6ZS1tdWx0aXBsZT0xMCAtLWV4cGlyZS10aW1lPTE5ODAtMDEtMDEgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMSAkZ3JhcGhkaXIvY29tbWl0LWdyYXBoLWNoYWluICYmCisJCWxzICRncmFwaGRpci9ncmFwaC0qLmdyYXBoID5ncmFwaC1maWxlcyAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAzIGdyYXBoLWZpbGVzCisJKSAmJgorCWdpdCBjbG9uZSAtLW5vLWhhcmRsaW5rcyAuIG1heC1jb21taXRzICYmCisJKAorCQljZCBtYXgtY29tbWl0cyAmJgorCQlnaXQgY29uZmlnIGNvcmUuY29tbWl0R3JhcGggdHJ1ZSAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAyICRncmFwaGRpci9jb21taXQtZ3JhcGgtY2hhaW4gJiYKKwkJdGVzdF9jb21taXQgMTYgJiYKKwkJdGVzdF9jb21taXQgMTcgJiYKKwkJZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSAtLXJlYWNoYWJsZSAtLXNwbGl0IC0tbWF4LWNvbW1pdHM9MSAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAxICRncmFwaGRpci9jb21taXQtZ3JhcGgtY2hhaW4gJiYKKwkJbHMgJGdyYXBoZGlyL2dyYXBoLSouZ3JhcGggPmdyYXBoLWZpbGVzICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDEgZ3JhcGgtZmlsZXMKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlbW92ZSBjb21taXQtZ3JhcGgtY2hhaW4gZmlsZSBhZnRlciBmbGF0dGVuaW5nJyAnCisJZ2l0IGNsb25lIC4gZmxhdHRlbiAmJgorCSgKKwkJY2QgZmxhdHRlbiAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAyICRncmFwaGRpci9jb21taXQtZ3JhcGgtY2hhaW4gJiYKKwkJZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSAtLXJlYWNoYWJsZSAmJgorCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyAkZ3JhcGhkaXIvY29tbWl0LWdyYXBoLWNoYWluICYmCisJCWxzICRncmFwaGRpciA+Z3JhcGgtZmlsZXMgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMCBncmFwaC1maWxlcworCSkKKycKKworY29ycnVwdF9maWxlKCkgeworCWZpbGU9JDEKKwlwb3M9JDIKKwlkYXRhPSIkezM6LVwwfSIKKwljaG1vZCBhK3cgIiRmaWxlIiAmJgorCXByaW50ZiAiJGRhdGEiIHwgZGQgb2Y9IiRmaWxlIiBicz0xIHNlZWs9IiRwb3MiIGNvbnY9bm90cnVuYworfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJpZnkgaGFzaGVzIGFsb25nIGNoYWluLCBldmVuIGluIHNoYWxsb3cnICcKKwlnaXQgY2xvbmUgLS1uby1oYXJkbGlua3MgLiB2ZXJpZnkgJiYKKwkoCisJCWNkIHZlcmlmeSAmJgorCQlnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSAmJgorCQliYXNlX2ZpbGU9JGdyYXBoZGlyL2dyYXBoLSQoaGVhZCAtbiAxICRncmFwaGRpci9jb21taXQtZ3JhcGgtY2hhaW4pLmdyYXBoICYmCisJCWNvcnJ1cHRfZmlsZSAiJGJhc2VfZmlsZSIgJCh0ZXN0X29pZCBzaGFsbG93KSAiXDAxIiAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSAtLXNoYWxsb3cgMj50ZXN0X2VyciAmJgorCQlncmVwIC12ICJeKyIgdGVzdF9lcnIgPmVyciAmJgorCQl0ZXN0X2kxOG5ncmVwICJpbmNvcnJlY3QgY2hlY2tzdW0iIGVycgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IC0tc2hhbGxvdyBkb2VzIG5vdCBjaGVjayBiYXNlIGNvbnRlbnRzJyAnCisJZ2l0IGNsb25lIC0tbm8taGFyZGxpbmtzIC4gdmVyaWZ5LXNoYWxsb3cgJiYKKwkoCisJCWNkIHZlcmlmeS1zaGFsbG93ICYmCisJCWdpdCBjb21taXQtZ3JhcGggdmVyaWZ5ICYmCisJCWJhc2VfZmlsZT0kZ3JhcGhkaXIvZ3JhcGgtJChoZWFkIC1uIDEgJGdyYXBoZGlyL2NvbW1pdC1ncmFwaC1jaGFpbikuZ3JhcGggJiYKKwkJY29ycnVwdF9maWxlICIkYmFzZV9maWxlIiAxMDAwICJcMDEiICYmCisJCWdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IC0tc2hhbGxvdyAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSAyPnRlc3RfZXJyICYmCisJCWdyZXAgLXYgIl4rIiB0ZXN0X2VyciA+ZXJyICYmCisJCXRlc3RfaTE4bmdyZXAgImluY29ycmVjdCBjaGVja3N1bSIgZXJyCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd3YXJuIG9uIGJhc2UgZ3JhcGggY2h1bmsgaW5jb3JyZWN0JyAnCisJZ2l0IGNsb25lIC0tbm8taGFyZGxpbmtzIC4gYmFzZS1jaHVuayAmJgorCSgKKwkJY2QgYmFzZS1jaHVuayAmJgorCQlnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSAmJgorCQliYXNlX2ZpbGU9JGdyYXBoZGlyL2dyYXBoLSQodGFpbCAtbiAxICRncmFwaGRpci9jb21taXQtZ3JhcGgtY2hhaW4pLmdyYXBoICYmCisJCWNvcnJ1cHRfZmlsZSAiJGJhc2VfZmlsZSIgJCh0ZXN0X29pZCBiYXNlKSAiXDAxIiAmJgorCQlnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSAtLXNoYWxsb3cgMj50ZXN0X2VyciAmJgorCQlncmVwIC12ICJeKyIgdGVzdF9lcnIgPmVyciAmJgorCQl0ZXN0X2kxOG5ncmVwICJjb21taXQtZ3JhcGggY2hhaW4gZG9lcyBub3QgbWF0Y2giIGVycgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IGFmdGVyIGNvbW1pdC1ncmFwaC1jaGFpbiBjb3JydXB0aW9uJyAnCisJZ2l0IGNsb25lIC0tbm8taGFyZGxpbmtzIC4gdmVyaWZ5LWNoYWluICYmCisJKAorCQljZCB2ZXJpZnktY2hhaW4gJiYKKwkJY29ycnVwdF9maWxlICIkZ3JhcGhkaXIvY29tbWl0LWdyYXBoLWNoYWluIiA2MCAiRyIgJiYKKwkJZ2l0IGNvbW1pdC1ncmFwaCB2ZXJpZnkgMj50ZXN0X2VyciAmJgorCQlncmVwIC12ICJeKyIgdGVzdF9lcnIgPmVyciAmJgorCQl0ZXN0X2kxOG5ncmVwICJpbnZhbGlkIGNvbW1pdC1ncmFwaCBjaGFpbiIgZXJyICYmCisJCWNvcnJ1cHRfZmlsZSAiJGdyYXBoZGlyL2NvbW1pdC1ncmFwaC1jaGFpbiIgNjAgIkEiICYmCisJCWdpdCBjb21taXQtZ3JhcGggdmVyaWZ5IDI+dGVzdF9lcnIgJiYKKwkJZ3JlcCAtdiAiXisiIHRlc3RfZXJyID5lcnIgJiYKKwkJdGVzdF9pMThuZ3JlcCAidW5hYmxlIHRvIGZpbmQgYWxsIGNvbW1pdC1ncmFwaCBmaWxlcyIgZXJyCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJpZnkgYWNyb3NzIGFsdGVybmF0ZXMnICcKKwlnaXQgY2xvbmUgLS1uby1oYXJkbGlua3MgLiB2ZXJpZnktYWx0ICYmCisJKAorCQljZCB2ZXJpZnktYWx0ICYmCisJCXJtIC1yZiAkZ3JhcGhkaXIgJiYKKwkJYWx0ZGlyPSIkKHB3ZCkvLi4vLmdpdC9vYmplY3RzIiAmJgorCQllY2hvICIkYWx0ZGlyIiA+LmdpdC9vYmplY3RzL2luZm8vYWx0ZXJuYXRlcyAmJgorCQlnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSAtLW9iamVjdC1kaXI9IiRhbHRkaXIvIiAmJgorCQl0ZXN0X2NvbW1pdCBleHRyYSAmJgorCQlnaXQgY29tbWl0LWdyYXBoIHdyaXRlIC0tcmVhY2hhYmxlIC0tc3BsaXQgJiYKKwkJdGlwX2ZpbGU9JGdyYXBoZGlyL2dyYXBoLSQodGFpbCAtbiAxICRncmFwaGRpci9jb21taXQtZ3JhcGgtY2hhaW4pLmdyYXBoICYmCisJCWNvcnJ1cHRfZmlsZSAiJHRpcF9maWxlIiAxMDAgIlwwMSIgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbW1pdC1ncmFwaCB2ZXJpZnkgLS1zaGFsbG93IDI+dGVzdF9lcnIgJiYKKwkJZ3JlcCAtdiAiXisiIHRlc3RfZXJyID5lcnIgJiYKKwkJdGVzdF9pMThuZ3JlcCAiY29tbWl0LWdyYXBoIGhhcyBpbmNvcnJlY3QgZmFub3V0IHZhbHVlIiBlcnIKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FkZCBvY3RvcHVzIG1lcmdlJyAnCisJZ2l0IHJlc2V0IC0taGFyZCBjb21taXRzLzEwICYmCisJZ2l0IG1lcmdlIGNvbW1pdHMvMyBjb21taXRzLzQgJiYKKwlnaXQgYnJhbmNoIG1lcmdlL29jdG9wdXMgJiYKKwlnaXQgY29tbWl0LWdyYXBoIHdyaXRlIC0tcmVhY2hhYmxlIC0tc3BsaXQgJiYKKwlnaXQgY29tbWl0LWdyYXBoIHZlcmlmeSAtLXByb2dyZXNzIDI+ZXJyICYmCisJdGVzdF9saW5lX2NvdW50ID0gMyBlcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICEgd2FybmluZyBlcnIgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAzICRncmFwaGRpci9jb21taXQtZ3JhcGgtY2hhaW4KKycKKworZ3JhcGhfZ2l0X2JlaGF2aW9yICdncmFwaCBleGlzdHMnIG1lcmdlL29jdG9wdXMgY29tbWl0cy8xMgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzcGxpdCBhY3Jvc3MgYWx0ZXJuYXRlIHdoZXJlIGFsdGVybmF0ZSBpcyBub3Qgc3BsaXQnICcKKwlnaXQgY29tbWl0LWdyYXBoIHdyaXRlIC0tcmVhY2hhYmxlICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgLmdpdC9vYmplY3RzL2luZm8vY29tbWl0LWdyYXBoICYmCisJY3AgLmdpdC9vYmplY3RzL2luZm8vY29tbWl0LWdyYXBoIC4gJiYKKwlnaXQgY2xvbmUgLS1uby1oYXJkbGlua3MgLiBhbHQtc3BsaXQgJiYKKwkoCisJCWNkIGFsdC1zcGxpdCAmJgorCQlybSAtZiAuZ2l0L29iamVjdHMvaW5mby9jb21taXQtZ3JhcGggJiYKKwkJZWNobyAiJChwd2QpIi8uLi8uZ2l0L29iamVjdHMgPi5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMgJiYKKwkJdGVzdF9jb21taXQgMTggJiYKKwkJZ2l0IGNvbW1pdC1ncmFwaCB3cml0ZSAtLXJlYWNoYWJsZSAtLXNwbGl0ICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDEgJGdyYXBoZGlyL2NvbW1pdC1ncmFwaC1jaGFpbgorCSkgJiYKKwl0ZXN0X2NtcCBjb21taXQtZ3JhcGggLmdpdC9vYmplY3RzL2luZm8vY29tbWl0LWdyYXBoCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTQwMC1zZW5kLXBhY2suc2ggYi90L3Q1NDAwLXNlbmQtcGFjay5zaAppbmRleCBmMTkzMmVhLi5iODQ2MThjIDEwMDc1NQotLS0gYS90L3Q1NDAwLXNlbmQtcGFjay5zaAorKysgYi90L3Q1NDAwLXNlbmQtcGFjay5zaApAQCAtMjg4LDcgKzI4OCw3IEBACiAJJHNoYXJlZCAuaGF2ZQogCUVPRgogCi0JR0lUX1RSQUNFX1BBQ0tFVD0kKHB3ZCkvdHJhY2UgXAorCUdJVF9UUkFDRV9QQUNLRVQ9JChwd2QpL3RyYWNlIEdJVF9URVNUX1BST1RPQ09MX1ZFUlNJT049MCBcCiAJICAgIGdpdCBwdXNoIFwKIAkJLS1yZWNlaXZlLXBhY2s9InVuc2V0IEdJVF9UUkFDRV9QQUNLRVQ7IGdpdC1yZWNlaXZlLXBhY2siIFwKIAkJZm9yayBIRUFEOmZvbyAmJgpkaWZmIC0tZ2l0IGEvdC90NTQwMy1wb3N0LWNoZWNrb3V0LWhvb2suc2ggYi90L3Q1NDAzLXBvc3QtY2hlY2tvdXQtaG9vay5zaAppbmRleCBmYzg5OGM5Li5hMzliM2I1IDEwMDc1NQotLS0gYS90L3Q1NDAzLXBvc3QtY2hlY2tvdXQtaG9vay5zaAorKysgYi90L3Q1NDAzLXBvc3QtY2hlY2tvdXQtaG9vay5zaApAQCAtNyw4MiArNyw3MCBAQAogLiAuL3Rlc3QtbGliLnNoCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3Mgc2V0dXAgJwotCWVjaG8gRGF0YSBmb3IgY29tbWl0MC4gPmEgJiYKLQllY2hvIERhdGEgZm9yIGNvbW1pdDAuID5iICYmCi0JZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCBhICYmCi0JZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCBiICYmCi0JdHJlZTA9JChnaXQgd3JpdGUtdHJlZSkgJiYKLQljb21taXQwPSQoZWNobyBzZXR1cCB8IGdpdCBjb21taXQtdHJlZSAkdHJlZTApICYmCi0JZ2l0IHVwZGF0ZS1yZWYgcmVmcy9oZWFkcy9tYXN0ZXIgJGNvbW1pdDAgJiYKLQlnaXQgY2xvbmUgLi8uIGNsb25lMSAmJgotCWdpdCBjbG9uZSAuLy4gY2xvbmUyICYmCi0JR0lUX0RJUj1jbG9uZTIvLmdpdCBnaXQgYnJhbmNoIG5ldzIgJiYKLQllY2hvIERhdGEgZm9yIGNvbW1pdDEuID5jbG9uZTIvYiAmJgotCUdJVF9ESVI9Y2xvbmUyLy5naXQgZ2l0IGFkZCBjbG9uZTIvYiAmJgotCUdJVF9ESVI9Y2xvbmUyLy5naXQgZ2l0IGNvbW1pdCAtbSBuZXcyCi0nCi0KLWZvciBjbG9uZSBpbiAxIDI7IGRvCi0gICAgY2F0ID5jbG9uZSR7Y2xvbmV9Ly5naXQvaG9va3MvcG9zdC1jaGVja291dCA8PCdFT0YnCi0jIS9iaW4vc2gKLWVjaG8gJEAgPiAkR0lUX0RJUi9wb3N0LWNoZWNrb3V0LmFyZ3MKLUVPRgotICAgIGNobW9kIHUreCBjbG9uZSR7Y2xvbmV9Ly5naXQvaG9va3MvcG9zdC1jaGVja291dAotZG9uZQotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdwb3N0LWNoZWNrb3V0IHJ1bnMgYXMgZXhwZWN0ZWQgJyAnCi0JR0lUX0RJUj1jbG9uZTEvLmdpdCBnaXQgY2hlY2tvdXQgbWFzdGVyICYmCi0JdGVzdCAtZSBjbG9uZTEvLmdpdC9wb3N0LWNoZWNrb3V0LmFyZ3MKKwlta2RpciAtcCAuZ2l0L2hvb2tzICYmCisJd3JpdGVfc2NyaXB0IC5naXQvaG9va3MvcG9zdC1jaGVja291dCA8PC1cRU9GICYmCisJZWNobyAiJEAiID4uZ2l0L3Bvc3QtY2hlY2tvdXQuYXJncworCUVPRgorCXRlc3RfY29tbWl0IG9uZSAmJgorCXRlc3RfY29tbWl0IHR3byAmJgorCXRlc3RfY29tbWl0IHJlYmFzZS1vbi1tZSAmJgorCWdpdCByZXNldCAtLWhhcmQgSEVBRF4gJiYKKwl0ZXN0X2NvbW1pdCB0aHJlZQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwb3N0LWNoZWNrb3V0IHJlY2VpdmVzIHRoZSByaWdodCBhcmd1bWVudHMgd2l0aCBIRUFEIHVuY2hhbmdlZCAnICcKLQlvbGQ9JChhd2sgIntwcmludCBcJDF9IiBjbG9uZTEvLmdpdC9wb3N0LWNoZWNrb3V0LmFyZ3MpICYmCi0JbmV3PSQoYXdrICJ7cHJpbnQgXCQyfSIgY2xvbmUxLy5naXQvcG9zdC1jaGVja291dC5hcmdzKSAmJgotCWZsYWc9JChhd2sgIntwcmludCBcJDN9IiBjbG9uZTEvLmdpdC9wb3N0LWNoZWNrb3V0LmFyZ3MpICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiAuZ2l0L3Bvc3QtY2hlY2tvdXQuYXJncyIgJiYKKwlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCisJcmVhZCBvbGQgbmV3IGZsYWcgPC5naXQvcG9zdC1jaGVja291dC5hcmdzICYmCiAJdGVzdCAkb2xkID0gJG5ldyAmJiB0ZXN0ICRmbGFnID0gMQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdwb3N0LWNoZWNrb3V0IHJ1bnMgYXMgZXhwZWN0ZWQgJyAnCi0JR0lUX0RJUj1jbG9uZTEvLmdpdCBnaXQgY2hlY2tvdXQgbWFzdGVyICYmCi0JdGVzdCAtZSBjbG9uZTEvLmdpdC9wb3N0LWNoZWNrb3V0LmFyZ3MKLScKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAncG9zdC1jaGVja291dCBhcmdzIGFyZSBjb3JyZWN0IHdpdGggZ2l0IGNoZWNrb3V0IC1iICcgJwotCUdJVF9ESVI9Y2xvbmUxLy5naXQgZ2l0IGNoZWNrb3V0IC1iIG5ldzEgJiYKLQlvbGQ9JChhd2sgIntwcmludCBcJDF9IiBjbG9uZTEvLmdpdC9wb3N0LWNoZWNrb3V0LmFyZ3MpICYmCi0JbmV3PSQoYXdrICJ7cHJpbnQgXCQyfSIgY2xvbmUxLy5naXQvcG9zdC1jaGVja291dC5hcmdzKSAmJgotCWZsYWc9JChhd2sgIntwcmludCBcJDN9IiBjbG9uZTEvLmdpdC9wb3N0LWNoZWNrb3V0LmFyZ3MpICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiAuZ2l0L3Bvc3QtY2hlY2tvdXQuYXJncyIgJiYKKwlnaXQgY2hlY2tvdXQgLWIgbmV3MSAmJgorCXJlYWQgb2xkIG5ldyBmbGFnIDwuZ2l0L3Bvc3QtY2hlY2tvdXQuYXJncyAmJgogCXRlc3QgJG9sZCA9ICRuZXcgJiYgdGVzdCAkZmxhZyA9IDEKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncG9zdC1jaGVja291dCByZWNlaXZlcyB0aGUgcmlnaHQgYXJncyB3aXRoIEhFQUQgY2hhbmdlZCAnICcKLQlHSVRfRElSPWNsb25lMi8uZ2l0IGdpdCBjaGVja291dCBuZXcyICYmCi0Jb2xkPSQoYXdrICJ7cHJpbnQgXCQxfSIgY2xvbmUyLy5naXQvcG9zdC1jaGVja291dC5hcmdzKSAmJgotCW5ldz0kKGF3ayAie3ByaW50IFwkMn0iIGNsb25lMi8uZ2l0L3Bvc3QtY2hlY2tvdXQuYXJncykgJiYKLQlmbGFnPSQoYXdrICJ7cHJpbnQgXCQzfSIgY2xvbmUyLy5naXQvcG9zdC1jaGVja291dC5hcmdzKSAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgLmdpdC9wb3N0LWNoZWNrb3V0LmFyZ3MiICYmCisJZ2l0IGNoZWNrb3V0IHR3byAmJgorCXJlYWQgb2xkIG5ldyBmbGFnIDwuZ2l0L3Bvc3QtY2hlY2tvdXQuYXJncyAmJgogCXRlc3QgJG9sZCAhPSAkbmV3ICYmIHRlc3QgJGZsYWcgPSAxCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Bvc3QtY2hlY2tvdXQgcmVjZWl2ZXMgdGhlIHJpZ2h0IGFyZ3Mgd2hlbiBub3Qgc3dpdGNoaW5nIGJyYW5jaGVzICcgJwotCUdJVF9ESVI9Y2xvbmUyLy5naXQgZ2l0IGNoZWNrb3V0IG1hc3RlciBiICYmCi0Jb2xkPSQoYXdrICJ7cHJpbnQgXCQxfSIgY2xvbmUyLy5naXQvcG9zdC1jaGVja291dC5hcmdzKSAmJgotCW5ldz0kKGF3ayAie3ByaW50IFwkMn0iIGNsb25lMi8uZ2l0L3Bvc3QtY2hlY2tvdXQuYXJncykgJiYKLQlmbGFnPSQoYXdrICJ7cHJpbnQgXCQzfSIgY2xvbmUyLy5naXQvcG9zdC1jaGVja291dC5hcmdzKSAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgLmdpdC9wb3N0LWNoZWNrb3V0LmFyZ3MiICYmCisJZ2l0IGNoZWNrb3V0IG1hc3RlciAtLSB0aHJlZS50ICYmCisJcmVhZCBvbGQgbmV3IGZsYWcgPC5naXQvcG9zdC1jaGVja291dC5hcmdzICYmCiAJdGVzdCAkb2xkID0gJG5ldyAmJiB0ZXN0ICRmbGFnID0gMAogJwogCi1pZiB0ZXN0ICIkKGdpdCBjb25maWcgLS1ib29sIGNvcmUuZmlsZW1vZGUpIiA9IHRydWU7IHRoZW4KLW1rZGlyIC1wIHRlbXBsYXRlcy9ob29rcwotY2F0ID50ZW1wbGF0ZXMvaG9va3MvcG9zdC1jaGVja291dCA8PCdFT0YnCi0jIS9iaW4vc2gKLWVjaG8gJEAgPiAkR0lUX0RJUi9wb3N0LWNoZWNrb3V0LmFyZ3MKLUVPRgotY2htb2QgK3ggdGVtcGxhdGVzL2hvb2tzL3Bvc3QtY2hlY2tvdXQKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Bvc3QtY2hlY2tvdXQgaXMgdHJpZ2dlcmVkIG9uIHJlYmFzZScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgLmdpdC9wb3N0LWNoZWNrb3V0LmFyZ3MiICYmCisJZ2l0IGNoZWNrb3V0IC1iIHJlYmFzZS10ZXN0IG1hc3RlciAmJgorCXJtIC1mIC5naXQvcG9zdC1jaGVja291dC5hcmdzICYmCisJZ2l0IHJlYmFzZSByZWJhc2Utb24tbWUgJiYKKwlyZWFkIG9sZCBuZXcgZmxhZyA8LmdpdC9wb3N0LWNoZWNrb3V0LmFyZ3MgJiYKKwl0ZXN0ICRvbGQgIT0gJG5ldyAmJiB0ZXN0ICRmbGFnID0gMQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwb3N0LWNoZWNrb3V0IGlzIHRyaWdnZXJlZCBvbiByZWJhc2Ugd2l0aCBmYXN0LWZvcndhcmQnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIC5naXQvcG9zdC1jaGVja291dC5hcmdzIiAmJgorCWdpdCBjaGVja291dCAtYiBmZi1yZWJhc2UtdGVzdCByZWJhc2Utb24tbWVeICYmCisJcm0gLWYgLmdpdC9wb3N0LWNoZWNrb3V0LmFyZ3MgJiYKKwlnaXQgcmViYXNlIHJlYmFzZS1vbi1tZSAmJgorCXJlYWQgb2xkIG5ldyBmbGFnIDwuZ2l0L3Bvc3QtY2hlY2tvdXQuYXJncyAmJgorCXRlc3QgJG9sZCAhPSAkbmV3ICYmIHRlc3QgJGZsYWcgPSAxCisnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Bvc3QtY2hlY2tvdXQgaG9vayBpcyB0cmlnZ2VyZWQgYnkgY2xvbmUnICcKKwlta2RpciAtcCB0ZW1wbGF0ZXMvaG9va3MgJiYKKwl3cml0ZV9zY3JpcHQgdGVtcGxhdGVzL2hvb2tzL3Bvc3QtY2hlY2tvdXQgPDwtXEVPRiAmJgorCWVjaG8gIiRAIiA+IiRHSVRfRElSL3Bvc3QtY2hlY2tvdXQuYXJncyIKKwlFT0YKIAlnaXQgY2xvbmUgLS10ZW1wbGF0ZT10ZW1wbGF0ZXMgLiBjbG9uZTMgJiYKIAl0ZXN0IC1mIGNsb25lMy8uZ2l0L3Bvc3QtY2hlY2tvdXQuYXJncwogJwotZmkKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NDA3LXBvc3QtcmV3cml0ZS1ob29rLnNoIGIvdC90NTQwNy1wb3N0LXJld3JpdGUtaG9vay5zaAppbmRleCA5YjJhMjc0Li44MDc1MGE4IDEwMDc1NQotLS0gYS90L3Q1NDA3LXBvc3QtcmV3cml0ZS1ob29rLnNoCisrKyBiL3QvdDU0MDctcG9zdC1yZXdyaXRlLWhvb2suc2gKQEAgLTUzLDEwICs1MywxMCBAQAogCXRlc3QgISAtZiBwb3N0LXJld3JpdGUuZGF0YQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgcmViYXNlJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgcmViYXNlIC0tYXBwbHknICcKIAlnaXQgcmVzZXQgLS1oYXJkIEQgJiYKIAljbGVhcl9ob29rX2lucHV0ICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtLW9udG8gQSBCICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtLWFwcGx5IC0tb250byBBIEIgJiYKIAllY2hvIEMgPiBmb28gJiYKIAlnaXQgYWRkIGZvbyAmJgogCWdpdCByZWJhc2UgLS1jb250aW51ZSAmJgpAQCAtNjgsMjkgKzY4LDMxIEBACiAJdmVyaWZ5X2hvb2tfaW5wdXQKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IHJlYmFzZSAtLXNraXAnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCByZWJhc2UgLS1hcHBseSAtLXNraXAnICcKIAlnaXQgcmVzZXQgLS1oYXJkIEQgJiYKIAljbGVhcl9ob29rX2lucHV0ICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtLW9udG8gQSBCICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtLWFwcGx5IC0tb250byBBIEIgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC0tc2tpcCAmJgogCWVjaG8gRCA+IGZvbyAmJgogCWdpdCBhZGQgZm9vICYmCiAJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlICYmCiAJZWNobyByZWJhc2UgPmV4cGVjdGVkLmFyZ3MgJiYKIAljYXQgPmV4cGVjdGVkLmRhdGEgPDwtRU9GICYmCisJJChnaXQgcmV2LXBhcnNlIEMpICQoZ2l0IHJldi1wYXJzZSBIRUFEXikKIAkkKGdpdCByZXYtcGFyc2UgRCkgJChnaXQgcmV2LXBhcnNlIEhFQUQpCiAJRU9GCiAJdmVyaWZ5X2hvb2tfaW5wdXQKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IHJlYmFzZSAtLXNraXAgdGhlIGxhc3Qgb25lJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgcmViYXNlIC0tYXBwbHkgLS1za2lwIHRoZSBsYXN0IG9uZScgJwogCWdpdCByZXNldCAtLWhhcmQgRiAmJgogCWNsZWFyX2hvb2tfaW5wdXQgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC0tb250byBEIEEgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC0tYXBwbHkgLS1vbnRvIEQgQSAmJgogCWdpdCByZWJhc2UgLS1za2lwICYmCiAJZWNobyByZWJhc2UgPmV4cGVjdGVkLmFyZ3MgJiYKIAljYXQgPmV4cGVjdGVkLmRhdGEgPDwtRU9GICYmCiAJJChnaXQgcmV2LXBhcnNlIEUpICQoZ2l0IHJldi1wYXJzZSBIRUFEKQorCSQoZ2l0IHJldi1wYXJzZSBGKSAkKGdpdCByZXYtcGFyc2UgSEVBRCkKIAlFT0YKIAl2ZXJpZnlfaG9va19pbnB1dAogJwpAQCAtMTIwLDYgKzEyMiwzOCBAQAogCWdpdCByZWJhc2UgLS1jb250aW51ZSAmJgogCWVjaG8gcmViYXNlID5leHBlY3RlZC5hcmdzICYmCiAJY2F0ID5leHBlY3RlZC5kYXRhIDw8LUVPRiAmJgorCSQoZ2l0IHJldi1wYXJzZSBDKSAkKGdpdCByZXYtcGFyc2UgSEVBRF4pCisJJChnaXQgcmV2LXBhcnNlIEQpICQoZ2l0IHJldi1wYXJzZSBIRUFEKQorCUVPRgorCXZlcmlmeV9ob29rX2lucHV0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCByZWJhc2Ugd2l0aCBpbXBsaWNpdCB1c2Ugb2YgbWVyZ2UgYmFja2VuZCcgJworCWdpdCByZXNldCAtLWhhcmQgRCAmJgorCWNsZWFyX2hvb2tfaW5wdXQgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC0ta2VlcC1lbXB0eSAtLW9udG8gQSBCICYmCisJZWNobyBDID4gZm9vICYmCisJZ2l0IGFkZCBmb28gJiYKKwlnaXQgcmViYXNlIC0tY29udGludWUgJiYKKwllY2hvIHJlYmFzZSA+ZXhwZWN0ZWQuYXJncyAmJgorCWNhdCA+ZXhwZWN0ZWQuZGF0YSA8PC1FT0YgJiYKKwkkKGdpdCByZXYtcGFyc2UgQykgJChnaXQgcmV2LXBhcnNlIEhFQUReKQorCSQoZ2l0IHJldi1wYXJzZSBEKSAkKGdpdCByZXYtcGFyc2UgSEVBRCkKKwlFT0YKKwl2ZXJpZnlfaG9va19pbnB1dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgcmViYXNlIC0tc2tpcCB3aXRoIGltcGxpY2l0IHVzZSBvZiBtZXJnZSBiYWNrZW5kJyAnCisJZ2l0IHJlc2V0IC0taGFyZCBEICYmCisJY2xlYXJfaG9va19pbnB1dCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLS1rZWVwLWVtcHR5IC0tb250byBBIEIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC0tc2tpcCAmJgorCWVjaG8gRCA+IGZvbyAmJgorCWdpdCBhZGQgZm9vICYmCisJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlICYmCisJZWNobyByZWJhc2UgPmV4cGVjdGVkLmFyZ3MgJiYKKwljYXQgPmV4cGVjdGVkLmRhdGEgPDwtRU9GICYmCisJJChnaXQgcmV2LXBhcnNlIEMpICQoZ2l0IHJldi1wYXJzZSBIRUFEXikKIAkkKGdpdCByZXYtcGFyc2UgRCkgJChnaXQgcmV2LXBhcnNlIEhFQUQpCiAJRU9GCiAJdmVyaWZ5X2hvb2tfaW5wdXQKZGlmZiAtLWdpdCBhL3QvdDU0MDktY29sb3JpemUtcmVtb3RlLW1lc3NhZ2VzLnNoIGIvdC90NTQwOS1jb2xvcml6ZS1yZW1vdGUtbWVzc2FnZXMuc2gKaW5kZXggZjgxYjY4MS4uNWQ4ZjQwMSAxMDA3NTUKLS0tIGEvdC90NTQwOS1jb2xvcml6ZS1yZW1vdGUtbWVzc2FnZXMuc2gKKysrIGIvdC90NTQwOS1jb2xvcml6ZS1yZW1vdGUtbWVzc2FnZXMuc2gKQEAgLTE3LDYgKzE3LDcgQEAKIAllY2hvICIgIiAiZXJyb3I6IGxlYWRpbmcgc3BhY2UiCiAJZWNobyAiICAgICIKIAllY2hvIEVycgorCWVjaG8gU1VDQ0VTUwogCWV4aXQgMAogCUVPRgogCWVjaG8gMSA+ZmlsZSAmJgpAQCAtMzUsNiArMzYsNyBAQAogCWdyZXAgIjxCT0xEO1JFRD5lcnJvcjxSRVNFVD46IGVycm9yIiBkZWNvZGVkICYmCiAJZ3JlcCAiPFlFTExPVz5oaW50PFJFU0VUPjoiIGRlY29kZWQgJiYKIAlncmVwICI8Qk9MRDtHUkVFTj5zdWNjZXNzPFJFU0VUPjoiIGRlY29kZWQgJiYKKwlncmVwICI8Qk9MRDtHUkVFTj5TVUNDRVNTPFJFU0VUPiIgZGVjb2RlZCAmJgogCWdyZXAgIjxCT0xEO1lFTExPVz53YXJuaW5nPFJFU0VUPjoiIGRlY29kZWQKICcKIApAQCAtNTQsMTQgKzU2LDEzIEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Nhc2UtaW5zZW5zaXRpdmUnICcKIAlnaXQgLS1naXQtZGlyIGNoaWxkLy5naXQgLWMgY29sb3IucmVtb3RlPWFsd2F5cyBwdXNoIC1mIG9yaWdpbiBIRUFEOnJlZnMvaGVhZHMvY2FzZS1pbnNlbnNpdGl2ZSAyPm91dHB1dCAmJgotCWNhdCBvdXRwdXQgJiYKIAl0ZXN0X2RlY29kZV9jb2xvciA8b3V0cHV0ID5kZWNvZGVkICYmCiAJZ3JlcCAiPEJPTEQ7UkVEPmVycm9yPFJFU0VUPjogZXJyb3IiIGRlY29kZWQgJiYKIAlncmVwICI8Qk9MRDtSRUQ+RVJST1I8UkVTRVQ+OiBhbHNvIGhpZ2hsaWdodGVkIiBkZWNvZGVkCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xlYWRpbmcgc3BhY2UnICcKLQlnaXQgLS1naXQtZGlyIGNoaWxkLy5naXQgLWMgY29sb3IucmVtb3RlPWFsd2F5cyBwdXNoIC1mIG9yaWdpbiBIRUFEOnJlZnMvaGVhZHMvbGVhZGluZy1zcGFjZSAyPm91dHB1dCAmJiAgICAgICAgY2F0IG91dHB1dCAmJgorCWdpdCAtLWdpdC1kaXIgY2hpbGQvLmdpdCAtYyBjb2xvci5yZW1vdGU9YWx3YXlzIHB1c2ggLWYgb3JpZ2luIEhFQUQ6cmVmcy9oZWFkcy9sZWFkaW5nLXNwYWNlIDI+b3V0cHV0ICYmCiAJdGVzdF9kZWNvZGVfY29sb3IgPG91dHB1dCA+ZGVjb2RlZCAmJgogCWdyZXAgIiAgPEJPTEQ7UkVEPmVycm9yPFJFU0VUPjogbGVhZGluZyBzcGFjZSIgZGVjb2RlZAogJwpkaWZmIC0tZ2l0IGEvdC90NTUwMC1mZXRjaC1wYWNrLnNoIGIvdC90NTUwMC1mZXRjaC1wYWNrLnNoCmluZGV4IDA4NmYyYzQuLmJhYTFhOTkgMTAwNzU1Ci0tLSBhL3QvdDU1MDAtZmV0Y2gtcGFjay5zaAorKysgYi90L3Q1NTAwLWZldGNoLXBhY2suc2gKQEAgLTQzOSwxNSArNDM5LDI0IEBACiAJKSA+aW5wdXQuZHVwCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoIHJlZnMgZnJvbSBjbWRsaW5lJyAnCi0JKAotCQljZCBjbGllbnQgJiYKLQkJZ2l0IGZldGNoLXBhY2sgLS1uby1wcm9ncmVzcyAuLiAkKGNhdCAuLi9pbnB1dCkKLQkpID5vdXRwdXQgJiYKLQljdXQgLWQgIiAiIC1mIDIgPG91dHB1dCB8IHNvcnQgPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGZldGNoIHJlZnMgZnJvbSBjbWRsaW5lIHZbMTJdJyAnCisJY3AgLXIgY2xpZW50IGNsaWVudDAgJiYKKwljcCAtciBjbGllbnQgY2xpZW50MSAmJgorCWNwIC1yIGNsaWVudCBjbGllbnQyCiAnCiAKK2ZvciB2ZXJzaW9uIGluICcnIDAgMSAyCitkbworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgInByb3RvY29sLnZlcnNpb249JHZlcnNpb24gZmV0Y2ggcmVmcyBmcm9tIGNtZGxpbmUiICIKKwkJKAorCQkJY2QgY2xpZW50JHZlcnNpb24gJiYKKwkJCUdJVF9URVNUX1BST1RPQ09MX1ZFUlNJT049JHZlcnNpb24gZ2l0IGZldGNoLXBhY2sgLS1uby1wcm9ncmVzcyAuLiBcJChjYXQgLi4vaW5wdXQpCisJCSkgPm91dHB1dCAmJgorCQljdXQgLWQgJyAnIC1mIDIgPG91dHB1dCB8IHNvcnQgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJIgorZG9uZQorCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaCByZWZzIGZyb20gc3RkaW4nICcKIAkoCiAJCWNkIGNsaWVudCAmJgpAQCAtNjI4LDcgKzYzNyw5IEBACiAJdGVzdF9jb21taXQgLUMgc2VydmVyIDYgJiYKIAogCWdpdCBpbml0IGNsaWVudCAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyBjbGllbnQgZmV0Y2gtcGFjayAuLi9zZXJ2ZXIgXAorCSMgU29tZSBwcm90b2NvbCB2ZXJzaW9ucyAoZS5nLiAyKSBzdXBwb3J0IGZldGNoaW5nCisJIyB1bmFkdmVydGlzZWQgb2JqZWN0cywgc28gcmVzdHJpY3QgdGhpcyB0ZXN0IHRvIHYwLgorCXRlc3RfbXVzdF9mYWlsIGVudiBHSVRfVEVTVF9QUk9UT0NPTF9WRVJTSU9OPTAgZ2l0IC1DIGNsaWVudCBmZXRjaC1wYWNrIC4uL3NlcnZlciBcCiAJCSQoZ2l0IC1DIHNlcnZlciByZXYtcGFyc2UgcmVmcy9oZWFkcy9tYXN0ZXJeKSAyPmVyciAmJgogCXRlc3RfaTE4bmdyZXAgIlNlcnZlciBkb2VzIG5vdCBhbGxvdyByZXF1ZXN0IGZvciB1bmFkdmVydGlzZWQgb2JqZWN0IiBlcnIKICcKQEAgLTY5OCwxMyArNzA5LDIyIEBACiAJIyBmaWxlIHdpdGggc2NoZW1lCiAJZm9yIHAgaW4gZmlsZQogCWRvCi0JCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImZldGNoLXBhY2sgLS1kaWFnLXVybCAkcDovLyRoLyRyIiAnCisJCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIU1JTkdXICJmZXRjaC1wYWNrIC0tZGlhZy11cmwgJHA6Ly8kaC8kciIgJwogCQkJY2hlY2tfcHJvdF9wYXRoICRwOi8vJGgvJHIgJHAgIi8kciIKIAkJJworCQl0ZXN0X2V4cGVjdF9zdWNjZXNzIE1JTkdXICJmZXRjaC1wYWNrIC0tZGlhZy11cmwgJHA6Ly8kaC8kciIgJworCQkJY2hlY2tfcHJvdF9wYXRoICRwOi8vJGgvJHIgJHAgIi8vJGgvJHIiCisJCScKKwkJdGVzdF9leHBlY3Rfc3VjY2VzcyBNSU5HVyAiZmV0Y2gtcGFjayAtLWRpYWctdXJsICRwOi8vLyRyIiAnCisJCQljaGVja19wcm90X3BhdGggJHA6Ly8vJHIgJHAgIi8kciIKKwkJJwogCQkjIE5vICIvfiIgLT4gIn4iIGNvbnZlcnNpb24gZm9yIGZpbGUKLQkJdGVzdF9leHBlY3Rfc3VjY2VzcyAiZmV0Y2gtcGFjayAtLWRpYWctdXJsICRwOi8vJGgvfiRyIiAnCisJCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIU1JTkdXICJmZXRjaC1wYWNrIC0tZGlhZy11cmwgJHA6Ly8kaC9+JHIiICcKIAkJCWNoZWNrX3Byb3RfcGF0aCAkcDovLyRoL34kciAkcCAiL34kciIKIAkJJworCQl0ZXN0X2V4cGVjdF9zdWNjZXNzIE1JTkdXICJmZXRjaC1wYWNrIC0tZGlhZy11cmwgJHA6Ly8kaC9+JHIiICcKKwkJCWNoZWNrX3Byb3RfcGF0aCAkcDovLyRoL34kciAkcCAiLy8kaC9+JHIiCisJCScKIAlkb25lCiAJIyBmaWxlIHdpdGhvdXQgc2NoZW1lCiAJZm9yIGggaW4gbm9ob3N0IG5vaG9zdDoxMiBbOjoxXSBbOjoxXToyMyBbIFs6YWEKQEAgLTc3Myw2ICs3OTMsNDQgQEAKIAkpCiAnCiAKKyMgQSBmZXcgc3VidGxlIHRoaW5ncyBhYm91dCB0aGUgcmVxdWVzdCBpbiB0aGlzIHRlc3Q6CisjCisjICAtIHRoZSBzZXJ2ZXIgbXVzdCBoYXZlIGNvbW1pdC1ncmFwaHMgcHJlc2VudCBhbmQgZW5hYmxlZAorIworIyAgLSB0aGUgaGlzdG9yeSBpcyBzdWNoIHRoYXQgb3VyIHdhbnQvaGF2ZSBzaGFyZSBhIGNvbW1vbiBhbmNlc3RvciAoImJhc2UiCisjICAgIGhlcmUpCisjCisjICAtIHdlIHNlbmQgb25seSBhIHNpbmdsZSBoYXZlLCB3aGljaCBpcyBmZXdlciB0aGFuIGEgbm9ybWFsIGNsaWVudCB3b3VsZAorIyAgICBzZW5kLiBUaGlzIGVuc3VyZXMgdGhhdCB3ZSBkb24ndCBwYXJzZSAiYmFzZSIgdXAgZnJvbnQgd2l0aAorIyAgICBwYXJzZV9vYmplY3QoKSwgYnV0IHJhdGhlciB0cmF2ZXJzZSB0byBpdCBhcyBhIHBhcmVudCB3aGlsZSBkZWNpZGluZyBpZiB3ZQorIyAgICBjYW4gc3RvcCB0aGUgImhhdmUiIG5lZ290aWF0aW9uLCBhbmQgY2FsbCBwYXJzZV9jb21taXQoKS4gVGhlIGZvcm1lcgorIyAgICBzZWVzIHRoZSBhY3R1YWwgb2JqZWN0IGRhdGEgYW5kIHNvIGFsd2F5cyBsb2FkcyB0aGUgdGhyZWUgb2lkLCB3aGVyZWFzIHRoZQorIyAgICBsYXR0ZXIgd2lsbCB0cnkgdG8gbG9hZCBpdCBsYXppbHkuCisjCisjICAtIHdlIG11c3QgdXNlIHByb3RvY29sIHYyLCBiZWNhdXNlIGl0IGhhbmRsZXMgdGhlICJoYXZlIiBuZWdvdGlhdGlvbiBiZWZvcmUKKyMgICAgcHJvY2Vzc2luZyB0aGUgc2hhbGxvdyBkaXJlY3RpdmVzCisjCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaGFsbG93IHNpbmNlIHdpdGggY29tbWl0IGdyYXBoIGFuZCBhbHJlYWR5LXNlZW4gY29tbWl0JyAnCisJdGVzdF9jcmVhdGVfcmVwbyBzaGFsbG93LXNpbmNlLWdyYXBoICYmCisJKAorCWNkIHNoYWxsb3ctc2luY2UtZ3JhcGggJiYKKwl0ZXN0X2NvbW1pdCBiYXNlICYmCisJdGVzdF9jb21taXQgbWFzdGVyICYmCisJZ2l0IGNoZWNrb3V0IC1iIG90aGVyIEhFQUReICYmCisJdGVzdF9jb21taXQgb3RoZXIgJiYKKwlnaXQgY29tbWl0LWdyYXBoIHdyaXRlIC0tcmVhY2hhYmxlICYmCisJZ2l0IGNvbmZpZyBjb3JlLmNvbW1pdEdyYXBoIHRydWUgJiYKKworCUdJVF9QUk9UT0NPTD12ZXJzaW9uPTIgZ2l0IHVwbG9hZC1wYWNrIC4gPDwtRU9GID4vZGV2L251bGwKKwkwMDEyY29tbWFuZD1mZXRjaAorCTAwMDEwMDEzZGVlcGVuLXNpbmNlIDEKKwkwMDMyd2FudCAkKGdpdCByZXYtcGFyc2Ugb3RoZXIpCisJMDAzMmhhdmUgJChnaXQgcmV2LXBhcnNlIG1hc3RlcikKKwkwMDAwCisJRU9GCisJKQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzaGFsbG93IGNsb25lIGV4Y2x1ZGUgdGFnIHR3bycgJwogCXRlc3RfY3JlYXRlX3JlcG8gc2hhbGxvdy1leGNsdWRlICYmCiAJKApAQCAtODYwLDcgKzkxOCwxMCBAQAogCWdpdCAtQyBjbGllbnQgZmV0Y2gtcGFjayAtLWZpbHRlcj1ibG9iOmxpbWl0PTAgLi4vc2VydmVyIEhFQUQgJiYKIAogCSMgRW5zdXJlIHRoYXQgb2JqZWN0IGlzIG5vdCBpbmFkdmVydGVudGx5IGZldGNoZWQKLQl0ZXN0X211c3RfZmFpbCBnaXQgLUMgY2xpZW50IGNhdC1maWxlIC1lICQoZ2l0IGhhc2gtb2JqZWN0IHNlcnZlci9vbmUudCkKKwljb21taXQ9JChnaXQgLUMgc2VydmVyIHJldi1wYXJzZSBIRUFEKSAmJgorCWJsb2I9JChnaXQgaGFzaC1vYmplY3Qgc2VydmVyL29uZS50KSAmJgorCWdpdCAtQyBjbGllbnQgcmV2LWxpc3QgLS1vYmplY3RzIC0tbWlzc2luZz1hbGxvdy1hbnkgIiRjb21taXQiID5vaWRzICYmCisJISBncmVwICIkYmxvYiIgb2lkcwogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmaWx0ZXJpbmcgYnkgc2l6ZSBoYXMgbm8gZWZmZWN0IGlmIHN1cHBvcnQgZm9yIGl0IGlzIG5vdCBhZHZlcnRpc2VkJyAnCkBAIC04NzIsNyArOTMzLDEwIEBACiAJZ2l0IC1DIGNsaWVudCBmZXRjaC1wYWNrIC0tZmlsdGVyPWJsb2I6bGltaXQ9MCAuLi9zZXJ2ZXIgSEVBRCAyPiBlcnIgJiYKIAogCSMgRW5zdXJlIHRoYXQgb2JqZWN0IGlzIGZldGNoZWQKLQlnaXQgLUMgY2xpZW50IGNhdC1maWxlIC1lICQoZ2l0IGhhc2gtb2JqZWN0IHNlcnZlci9vbmUudCkgJiYKKwljb21taXQ9JChnaXQgLUMgc2VydmVyIHJldi1wYXJzZSBIRUFEKSAmJgorCWJsb2I9JChnaXQgaGFzaC1vYmplY3Qgc2VydmVyL29uZS50KSAmJgorCWdpdCAtQyBjbGllbnQgcmV2LWxpc3QgLS1vYmplY3RzIC0tbWlzc2luZz1hbGxvdy1hbnkgIiRjb21taXQiID5vaWRzICYmCisJZ3JlcCAiJGJsb2IiIG9pZHMgJiYKIAogCXRlc3RfaTE4bmdyZXAgImZpbHRlcmluZyBub3QgcmVjb2duaXplZCBieSBzZXJ2ZXIiIGVycgogJwpAQCAtODk0LDkgKzk1OCwxMSBAQAogCWdpdCAtQyBjbGllbnQgZmV0Y2ggLS1maWx0ZXI9YmxvYjpsaW1pdD0wIG9yaWdpbiBIRUFEOnNvbWV3aGVyZSAmJgogCiAJIyBFbnN1cmUgdGhhdCBjb21taXQgaXMgZmV0Y2hlZCwgYnV0IGJsb2IgaXMgbm90Ci0JdGVzdF9jb25maWcgLUMgY2xpZW50IGV4dGVuc2lvbnMucGFydGlhbGNsb25lICJhcmJpdHJhcnkgc3RyaW5nIiAmJgotCWdpdCAtQyBjbGllbnQgY2F0LWZpbGUgLWUgJChnaXQgLUMgIiRTRVJWRVIiIHJldi1wYXJzZSB0d28pICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIGNsaWVudCBjYXQtZmlsZSAtZSAkKGdpdCBoYXNoLW9iamVjdCAiJFNFUlZFUi90d28udCIpCisJY29tbWl0PSQoZ2l0IC1DICIkU0VSVkVSIiByZXYtcGFyc2UgdHdvKSAmJgorCWJsb2I9JChnaXQgaGFzaC1vYmplY3Qgc2VydmVyL3R3by50KSAmJgorCWdpdCAtQyBjbGllbnQgcmV2LWxpc3QgLS1vYmplY3RzIC0tbWlzc2luZz1hbGxvdy1hbnkgIiRjb21taXQiID5vaWRzICYmCisJZ3JlcCAiJGNvbW1pdCIgb2lkcyAmJgorCSEgZ3JlcCAiJGJsb2IiIG9pZHMKIH0KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggd2l0aCAtLWZpbHRlcj1ibG9iOmxpbWl0PTAnICcKQEAgLTkxMCw3ICs5NzYsNyBAQAogCWZldGNoX2ZpbHRlcl9ibG9iX2xpbWl0X3plcm8gIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgvc2VydmVyIiAiJEhUVFBEX1VSTC9zbWFydC9zZXJ2ZXIiCiAnCiAKLXN0b3BfaHR0cGQKLQorIyBETyBOT1QgYWRkIG5vbi1odHRwZC1zcGVjaWZpYyB0ZXN0cyBoZXJlLCBiZWNhdXNlIHRoZSBsYXN0IHBhcnQgb2YgdGhpcworIyB0ZXN0IHNjcmlwdCBpcyBvbmx5IGV4ZWN1dGVkIHdoZW4gaHR0cGQgaXMgYXZhaWxhYmxlIGFuZCBlbmFibGVkLgogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1MDMtdGFnZm9sbG93LnNoIGIvdC90NTUwMy10YWdmb2xsb3cuc2gKaW5kZXggNGNhNDhmMC4uNjA0MWE0ZCAxMDA3NTUKLS0tIGEvdC90NTUwMy10YWdmb2xsb3cuc2gKKysrIGIvdC90NTUwMy10YWdmb2xsb3cuc2gKQEAgLTQ3LDcgKzQ3LDcgQEAKIAl0ZXN0IC1zICIkMSIgJiYKIAlwZXJsIC1hbG5lICcKIAkJbmV4dCB1bmxlc3MgJEZbMV0gZXEgInVwbG9hZC1wYWNrPCI7Ci0JCWxhc3QgaWYgJEZbMl0gZXEgIjAwMDAiOworCQluZXh0IHVubGVzcyAkRlsyXSBlcSAid2FudCI7CiAJCXByaW50ICRGWzJdLCAiICIsICRGWzNdOwogCScgIiQxIgogfQpkaWZmIC0tZ2l0IGEvdC90NTUwNC1mZXRjaC1yZWNlaXZlLXN0cmljdC5zaCBiL3QvdDU1MDQtZmV0Y2gtcmVjZWl2ZS1zdHJpY3Quc2gKaW5kZXggN2JjNzA2OC4uNjQ1YjRjNyAxMDA3NTUKLS0tIGEvdC90NTUwNC1mZXRjaC1yZWNlaXZlLXN0cmljdC5zaAorKysgYi90L3Q1NTA0LWZldGNoLXJlY2VpdmUtc3RyaWN0LnNoCkBAIC00LDYgKzQsNyBAQAogLiAuL3Rlc3QtbGliLnNoCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGFuZCBpbmplY3QgImNvcnJ1cHQgb3IgbWlzc2luZyIgb2JqZWN0JyAnCisJdGVzdF9vaWRfaW5pdCAmJgogCWVjaG8gaGVsbG8gPmdyZWV0aW5ncyAmJgogCWdpdCBhZGQgZ3JlZXRpbmdzICYmCiAJZ2l0IGNvbW1pdCAtbSBncmVldGluZ3MgJiYKQEAgLTE0NCwxMSArMTQ1LDExIEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHNvcnRlZCBhbmQgdW5zb3J0ZWQgc2tpcExpc3RzJyAnCiAJY2F0ID5TS0lQLnVuc29ydGVkIDw8LUVPRiAmJgotCTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKLQkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyCisJJCh0ZXN0X29pZCAwMDQpCisJJCh0ZXN0X29pZCAwMDIpCiAJJGNvbW1pdAotCTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKLQkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCisJJCh0ZXN0X29pZCAwMDEpCisJJCh0ZXN0X29pZCAwMDMpCiAJRU9GCiAJc29ydCBTS0lQLnVuc29ydGVkID5TS0lQLnNvcnRlZAogJwpAQCAtMTY0LDIyICsxNjUsMjIgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZzY2sgd2l0aCBpbnZhbGlkIG9yIGJvZ3VzIHNraXBMaXN0IGlucHV0JyAnCiAJZ2l0IC1jIGZzY2suc2tpcExpc3Q9L2Rldi9udWxsIC1jIGZzY2subWlzc2luZ0VtYWlsPWlnbm9yZSBmc2NrICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIGZzY2suc2tpcExpc3Q9ZG9lcy1ub3QtZXhpc3QgLWMgZnNjay5taXNzaW5nRW1haWw9aWdub3JlIGZzY2sgMj5lcnIgJiYKLQl0ZXN0X2kxOG5ncmVwICJDb3VsZCBub3Qgb3BlbiBza2lwIGxpc3Q6IGRvZXMtbm90LWV4aXN0IiBlcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICJjb3VsZCBub3Qgb3Blbi4qOiBkb2VzLW5vdC1leGlzdCIgZXJyICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIGZzY2suc2tpcExpc3Q9LmdpdC9jb25maWcgLWMgZnNjay5taXNzaW5nRW1haWw9aWdub3JlIGZzY2sgMj5lcnIgJiYKLQl0ZXN0X2kxOG5ncmVwICJJbnZhbGlkIFNIQS0xOiBcW2NvcmVcXSIgZXJyCisJdGVzdF9pMThuZ3JlcCAiaW52YWxpZCBvYmplY3QgbmFtZTogXFtjb3JlXF0iIGVycgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmc2NrIHdpdGggb3RoZXIgYWNjZXB0ZWQgc2tpcExpc3QgaW5wdXQgKGNvbW1lbnRzICYgZW1wdHkgbGluZXMpJyAnCiAJY2F0ID5TS0lQLndpdGgtY29tbWVudCA8PC1FT0YgJiYKIAkjIFNvbWUgYmFkIGNvbW1pdAotCTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKKwkkKHRlc3Rfb2lkIDAwMSkKIAlFT0YKIAl0ZXN0X211c3RfZmFpbCBnaXQgLWMgZnNjay5za2lwTGlzdD1TS0lQLndpdGgtY29tbWVudCBmc2NrIDI+ZXJyLXdpdGgtY29tbWVudCAmJgogCXRlc3RfaTE4bmdyZXAgIm1pc3NpbmdFbWFpbCIgZXJyLXdpdGgtY29tbWVudCAmJgogCWNhdCA+U0tJUC53aXRoLWVtcHR5LWxpbmUgPDwtRU9GICYmCi0JMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQorCSQodGVzdF9vaWQgMDAxKQogCi0JMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMgorCSQodGVzdF9vaWQgMDAyKQogCUVPRgogCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBmc2NrLnNraXBMaXN0PVNLSVAud2l0aC1lbXB0eS1saW5lIGZzY2sgMj5lcnItd2l0aC1lbXB0eS1saW5lICYmCiAJdGVzdF9pMThuZ3JlcCAibWlzc2luZ0VtYWlsIiBlcnItd2l0aC1lbXB0eS1saW5lCkBAIC0xOTMsNyArMTk0LDcgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZzY2sgd2l0aCBpbnZhbGlkIGFiYnJldmlhdGVkIHNraXBMaXN0IGlucHV0JyAnCiAJZWNobyAkY29tbWl0IHwgdGVzdF9jb3B5X2J5dGVzIDIwID5TS0lQLmFiYnJldmlhdGVkICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIGZzY2suc2tpcExpc3Q9U0tJUC5hYmJyZXZpYXRlZCBmc2NrIDI+ZXJyLWFiYnJldmlhdGVkICYmCi0JdGVzdF9pMThuZ3JlcCAiXmZhdGFsOiBJbnZhbGlkIFNIQS0xOiAiIGVyci1hYmJyZXZpYXRlZAorCXRlc3RfaTE4bmdyZXAgIl5mYXRhbDogaW52YWxpZCBvYmplY3QgbmFtZTogIiBlcnItYWJicmV2aWF0ZWQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZnNjayB3aXRoIGV4aGF1c3RpdmUgYWNjZXB0ZWQgc2tpcExpc3QgaW5wdXQgKHZhcmlvdXMgdHlwZXMgb2YgY29tbWVudHMgZXRjLiknICcKQEAgLTIwNCw3ICsyMDUsNyBAQAogCWVjaG8gIiAjIENvbW1lbnQgYWZ0ZXIgd2hpdGVzcGFjZSIgPj5TS0lQLmV4aGF1c3RpdmUgJiYKIAllY2hvICIkY29tbWl0ICMgT3VyIGJhZCBjb21taXQgKHdpdGggbGVhZGluZyB3aGl0ZXNwYWNlIGFuZCB0cmFpbGluZyBjb21tZW50KSIgPj5TS0lQLmV4aGF1c3RpdmUgJiYKIAllY2hvICIjIFNvbWUgYmFkIGNvbW1pdCAobGVhZGluZyB3aGl0ZXNwYWNlKSIgPj5TS0lQLmV4aGF1c3RpdmUgJiYKLQllY2hvICIgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEiID4+U0tJUC5leGhhdXN0aXZlICYmCisJZWNobyAiICAkKHRlc3Rfb2lkIDAwMSkiID4+U0tJUC5leGhhdXN0aXZlICYmCiAJZ2l0IC1jIGZzY2suc2tpcExpc3Q9U0tJUC5leGhhdXN0aXZlIGZzY2sgMj5lcnIgJiYKIAl0ZXN0X211c3RfYmVfZW1wdHkgZXJyCiAnCkBAIC0yMjYsMTAgKzIyNywxMCBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBwdXNoIC0tcG9yY2VsYWluIGRzdCBib2d1cyAmJgogCWdpdCAtLWdpdC1kaXI9ZHN0Ly5naXQgY29uZmlnIHJlY2VpdmUuZnNjay5za2lwTGlzdCBkb2VzLW5vdC1leGlzdCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBwdXNoIC0tcG9yY2VsYWluIGRzdCBib2d1cyAyPmVyciAmJgotCXRlc3RfaTE4bmdyZXAgIkNvdWxkIG5vdCBvcGVuIHNraXAgbGlzdDogZG9lcy1ub3QtZXhpc3QiIGVyciAmJgorCXRlc3RfaTE4bmdyZXAgImNvdWxkIG5vdCBvcGVuLio6IGRvZXMtbm90LWV4aXN0IiBlcnIgJiYKIAlnaXQgLS1naXQtZGlyPWRzdC8uZ2l0IGNvbmZpZyByZWNlaXZlLmZzY2suc2tpcExpc3QgY29uZmlnICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1c2ggLS1wb3JjZWxhaW4gZHN0IGJvZ3VzIDI+ZXJyICYmCi0JdGVzdF9pMThuZ3JlcCAiSW52YWxpZCBTSEEtMTogXFtjb3JlXF0iIGVyciAmJgorCXRlc3RfaTE4bmdyZXAgImludmFsaWQgb2JqZWN0IG5hbWU6IFxbY29yZVxdIiBlcnIgJiYKIAogCWdpdCAtLWdpdC1kaXI9ZHN0Ly5naXQgY29uZmlnIHJlY2VpdmUuZnNjay5za2lwTGlzdCBTS0lQICYmCiAJZ2l0IHB1c2ggLS1wb3JjZWxhaW4gZHN0IGJvZ3VzCkBAIC0yNTUsMTAgKzI1NiwxMCBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCAtLWdpdC1kaXI9ZHN0Ly5naXQgZmV0Y2ggImZpbGU6Ly8kKHB3ZCkiICRyZWZzcGVjICYmCiAJZ2l0IC0tZ2l0LWRpcj1kc3QvLmdpdCBjb25maWcgZmV0Y2guZnNjay5za2lwTGlzdCBkb2VzLW5vdC1leGlzdCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCAtLWdpdC1kaXI9ZHN0Ly5naXQgZmV0Y2ggImZpbGU6Ly8kKHB3ZCkiICRyZWZzcGVjIDI+ZXJyICYmCi0JdGVzdF9pMThuZ3JlcCAiQ291bGQgbm90IG9wZW4gc2tpcCBsaXN0OiBkb2VzLW5vdC1leGlzdCIgZXJyICYmCisJdGVzdF9pMThuZ3JlcCAiY291bGQgbm90IG9wZW4uKjogZG9lcy1ub3QtZXhpc3QiIGVyciAmJgogCWdpdCAtLWdpdC1kaXI9ZHN0Ly5naXQgY29uZmlnIGZldGNoLmZzY2suc2tpcExpc3QgZHN0Ly5naXQvY29uZmlnICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IC0tZ2l0LWRpcj1kc3QvLmdpdCBmZXRjaCAiZmlsZTovLyQocHdkKSIgJHJlZnNwZWMgMj5lcnIgJiYKLQl0ZXN0X2kxOG5ncmVwICJJbnZhbGlkIFNIQS0xOiBcW2NvcmVcXSIgZXJyICYmCisJdGVzdF9pMThuZ3JlcCAiaW52YWxpZCBvYmplY3QgbmFtZTogXFtjb3JlXF0iIGVyciAmJgogCiAJZ2l0IC0tZ2l0LWRpcj1kc3QvLmdpdCBjb25maWcgZmV0Y2guZnNjay5za2lwTGlzdCBkc3QvLmdpdC9TS0lQICYmCiAJZ2l0IC0tZ2l0LWRpcj1kc3QvLmdpdCBmZXRjaCAiZmlsZTovLyQocHdkKSIgJHJlZnNwZWMKZGlmZiAtLWdpdCBhL3QvdDU1MDUtcmVtb3RlLnNoIGIvdC90NTUwNS1yZW1vdGUuc2gKaW5kZXggZDJhMmNkZC4uZGRhODFiNyAxMDA3NTUKLS0tIGEvdC90NTUwNS1yZW1vdGUuc2gKKysrIGIvdC90NTUwNS1yZW1vdGUuc2gKQEAgLTczNCwxNSArNzM0LDUzIEBACiAjIHRoZSBsYXN0IHR3byBvbmVzIGNoZWNrIGlmIHRoZSBjb25maWcgaXMgdXBkYXRlZC4KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVuYW1lIGEgcmVtb3RlJyAnCisJdGVzdF9jb25maWdfZ2xvYmFsIHJlbW90ZS5wdXNoRGVmYXVsdCBvcmlnaW4gJiYKIAlnaXQgY2xvbmUgb25lIGZvdXIgJiYKIAkoCiAJCWNkIGZvdXIgJiYKKwkJZ2l0IGNvbmZpZyBicmFuY2gubWFzdGVyLnB1c2hSZW1vdGUgb3JpZ2luICYmCiAJCWdpdCByZW1vdGUgcmVuYW1lIG9yaWdpbiB1cHN0cmVhbSAmJgogCQl0ZXN0IC16ICIkKGdpdCBmb3ItZWFjaC1yZWYgcmVmcy9yZW1vdGVzL29yaWdpbikiICYmCiAJCXRlc3QgIiQoZ2l0IHN5bWJvbGljLXJlZiByZWZzL3JlbW90ZXMvdXBzdHJlYW0vSEVBRCkiID0gInJlZnMvcmVtb3Rlcy91cHN0cmVhbS9tYXN0ZXIiICYmCiAJCXRlc3QgIiQoZ2l0IHJldi1wYXJzZSB1cHN0cmVhbS9tYXN0ZXIpIiA9ICIkKGdpdCByZXYtcGFyc2UgbWFzdGVyKSIgJiYKIAkJdGVzdCAiJChnaXQgY29uZmlnIHJlbW90ZS51cHN0cmVhbS5mZXRjaCkiID0gIityZWZzL2hlYWRzLyo6cmVmcy9yZW1vdGVzL3Vwc3RyZWFtLyoiICYmCi0JCXRlc3QgIiQoZ2l0IGNvbmZpZyBicmFuY2gubWFzdGVyLnJlbW90ZSkiID0gInVwc3RyZWFtIgorCQl0ZXN0ICIkKGdpdCBjb25maWcgYnJhbmNoLm1hc3Rlci5yZW1vdGUpIiA9ICJ1cHN0cmVhbSIgJiYKKwkJdGVzdCAiJChnaXQgY29uZmlnIGJyYW5jaC5tYXN0ZXIucHVzaFJlbW90ZSkiID0gInVwc3RyZWFtIiAmJgorCQl0ZXN0ICIkKGdpdCBjb25maWcgLS1nbG9iYWwgcmVtb3RlLnB1c2hEZWZhdWx0KSIgPSAib3JpZ2luIgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVuYW1lIGEgcmVtb3RlIHJlbmFtZXMgcmVwbyByZW1vdGUucHVzaERlZmF1bHQnICcKKwlnaXQgY2xvbmUgb25lIGZvdXIuMSAmJgorCSgKKwkJY2QgZm91ci4xICYmCisJCWdpdCBjb25maWcgcmVtb3RlLnB1c2hEZWZhdWx0IG9yaWdpbiAmJgorCQlnaXQgcmVtb3RlIHJlbmFtZSBvcmlnaW4gdXBzdHJlYW0gJiYKKwkJdGVzdCAiJChnaXQgY29uZmlnIC0tbG9jYWwgcmVtb3RlLnB1c2hEZWZhdWx0KSIgPSAidXBzdHJlYW0iCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZW5hbWUgYSByZW1vdGUgcmVuYW1lcyByZXBvIHJlbW90ZS5wdXNoRGVmYXVsdCBidXQgaWdub3JlcyBnbG9iYWwnICcKKwl0ZXN0X2NvbmZpZ19nbG9iYWwgcmVtb3RlLnB1c2hEZWZhdWx0IG90aGVyICYmCisJZ2l0IGNsb25lIG9uZSBmb3VyLjIgJiYKKwkoCisJCWNkIGZvdXIuMiAmJgorCQlnaXQgY29uZmlnIHJlbW90ZS5wdXNoRGVmYXVsdCBvcmlnaW4gJiYKKwkJZ2l0IHJlbW90ZSByZW5hbWUgb3JpZ2luIHVwc3RyZWFtICYmCisJCXRlc3QgIiQoZ2l0IGNvbmZpZyAtLWdsb2JhbCByZW1vdGUucHVzaERlZmF1bHQpIiA9ICJvdGhlciIgJiYKKwkJdGVzdCAiJChnaXQgY29uZmlnIC0tbG9jYWwgcmVtb3RlLnB1c2hEZWZhdWx0KSIgPSAidXBzdHJlYW0iCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZW5hbWUgYSByZW1vdGUgcmVuYW1lcyByZXBvIHJlbW90ZS5wdXNoRGVmYXVsdCBidXQga2VlcHMgZ2xvYmFsJyAnCisJdGVzdF9jb25maWdfZ2xvYmFsIHJlbW90ZS5wdXNoRGVmYXVsdCBvcmlnaW4gJiYKKwlnaXQgY2xvbmUgb25lIGZvdXIuMyAmJgorCSgKKwkJY2QgZm91ci4zICYmCisJCWdpdCBjb25maWcgcmVtb3RlLnB1c2hEZWZhdWx0IG9yaWdpbiAmJgorCQlnaXQgcmVtb3RlIHJlbmFtZSBvcmlnaW4gdXBzdHJlYW0gJiYKKwkJdGVzdCAiJChnaXQgY29uZmlnIC0tZ2xvYmFsIHJlbW90ZS5wdXNoRGVmYXVsdCkiID0gIm9yaWdpbiIgJiYKKwkJdGVzdCAiJChnaXQgY29uZmlnIC0tbG9jYWwgcmVtb3RlLnB1c2hEZWZhdWx0KSIgPSAidXBzdHJlYW0iCiAJKQogJwogCkBAIC03ODQsNiArODIyLDU0IEBACiAJZ2l0IC1DIGZvdXIuZm91ciByZW1vdGUgcmVuYW1lIG9yaWdpbiB1cHN0cmVhbQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZW1vdmUgYSByZW1vdGUnICcKKwl0ZXN0X2NvbmZpZ19nbG9iYWwgcmVtb3RlLnB1c2hEZWZhdWx0IG9yaWdpbiAmJgorCWdpdCBjbG9uZSBvbmUgZm91ci5maXZlICYmCisJKAorCQljZCBmb3VyLmZpdmUgJiYKKwkJZ2l0IGNvbmZpZyBicmFuY2gubWFzdGVyLnB1c2hSZW1vdGUgb3JpZ2luICYmCisJCWdpdCByZW1vdGUgcmVtb3ZlIG9yaWdpbiAmJgorCQl0ZXN0IC16ICIkKGdpdCBmb3ItZWFjaC1yZWYgcmVmcy9yZW1vdGVzL29yaWdpbikiICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgYnJhbmNoLm1hc3Rlci5yZW1vdGUgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyBicmFuY2gubWFzdGVyLnB1c2hSZW1vdGUgJiYKKwkJdGVzdCAiJChnaXQgY29uZmlnIC0tZ2xvYmFsIHJlbW90ZS5wdXNoRGVmYXVsdCkiID0gIm9yaWdpbiIKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlbW92ZSBhIHJlbW90ZSByZW1vdmVzIHJlcG8gcmVtb3RlLnB1c2hEZWZhdWx0JyAnCisJZ2l0IGNsb25lIG9uZSBmb3VyLmZpdmUuMSAmJgorCSgKKwkJY2QgZm91ci5maXZlLjEgJiYKKwkJZ2l0IGNvbmZpZyByZW1vdGUucHVzaERlZmF1bHQgb3JpZ2luICYmCisJCWdpdCByZW1vdGUgcmVtb3ZlIG9yaWdpbiAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIC0tbG9jYWwgcmVtb3RlLnB1c2hEZWZhdWx0CisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZW1vdmUgYSByZW1vdGUgcmVtb3ZlcyByZXBvIHJlbW90ZS5wdXNoRGVmYXVsdCBidXQgaWdub3JlcyBnbG9iYWwnICcKKwl0ZXN0X2NvbmZpZ19nbG9iYWwgcmVtb3RlLnB1c2hEZWZhdWx0IG90aGVyICYmCisJZ2l0IGNsb25lIG9uZSBmb3VyLmZpdmUuMiAmJgorCSgKKwkJY2QgZm91ci5maXZlLjIgJiYKKwkJZ2l0IGNvbmZpZyByZW1vdGUucHVzaERlZmF1bHQgb3JpZ2luICYmCisJCWdpdCByZW1vdGUgcmVtb3ZlIG9yaWdpbiAmJgorCQl0ZXN0ICIkKGdpdCBjb25maWcgLS1nbG9iYWwgcmVtb3RlLnB1c2hEZWZhdWx0KSIgPSAib3RoZXIiICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBjb25maWcgLS1sb2NhbCByZW1vdGUucHVzaERlZmF1bHQKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlbW92ZSBhIHJlbW90ZSByZW1vdmVzIHJlcG8gcmVtb3RlLnB1c2hEZWZhdWx0IGJ1dCBrZWVwcyBnbG9iYWwnICcKKwl0ZXN0X2NvbmZpZ19nbG9iYWwgcmVtb3RlLnB1c2hEZWZhdWx0IG9yaWdpbiAmJgorCWdpdCBjbG9uZSBvbmUgZm91ci5maXZlLjMgJiYKKwkoCisJCWNkIGZvdXIuZml2ZS4zICYmCisJCWdpdCBjb25maWcgcmVtb3RlLnB1c2hEZWZhdWx0IG9yaWdpbiAmJgorCQlnaXQgcmVtb3RlIHJlbW92ZSBvcmlnaW4gJiYKKwkJdGVzdCAiJChnaXQgY29uZmlnIC0tZ2xvYmFsIHJlbW90ZS5wdXNoRGVmYXVsdCkiID0gIm9yaWdpbiIgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyAtLWxvY2FsIHJlbW90ZS5wdXNoRGVmYXVsdAorCSkKKycKKwogY2F0ID5yZW1vdGVzX29yaWdpbiA8PEVPRgogVVJMOiAkKHB3ZCkvb25lCiBQdXNoOiByZWZzL2hlYWRzL21hc3RlcjpyZWZzL2hlYWRzL3Vwc3RyZWFtCkBAIC0xMjIyLDQgKzEzMDgsNTkgQEAKIAlnaXQgcmVtb3RlIGFkZCBiYWNrdXAgeHl6QGV4YW1wbGUuY29tCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VucXVhbGlmaWVkIDxkc3Q+IHJlZnNwZWMgRFdJTSBhbmQgYWR2aWNlJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICIoY2QgdGVzdCAmJiBnaXQgdGFnIC1kIHNvbWUtdGFnKSIgJiYKKwkoCisJCWNkIHRlc3QgJiYKKwkJZ2l0IHRhZyAtYSAtbSAiU29tZSB0YWciIHNvbWUtdGFnIG1hc3RlciAmJgorCQlleGl0X3dpdGg9dHJ1ZSAmJgorCQlmb3IgdHlwZSBpbiBjb21taXQgdGFnIHRyZWUgYmxvYgorCQlkbworCQkJaWYgdGVzdCAiJHR5cGUiID0gImJsb2IiCisJCQl0aGVuCisJCQkJb2lkPSQoZ2l0IHJldi1wYXJzZSBzb21lLXRhZzpmaWxlKQorCQkJZWxzZQorCQkJCW9pZD0kKGdpdCByZXYtcGFyc2Ugc29tZS10YWdeeyR0eXBlfSkKKwkJCWZpICYmCisJCQl0ZXN0X211c3RfZmFpbCBnaXQgcHVzaCBvcmlnaW4gJG9pZDpkc3QgMj5lcnIgJiYKKwkJCXRlc3RfaTE4bmdyZXAgImVycm9yOiBUaGUgZGVzdGluYXRpb24geW91IiBlcnIgJiYKKwkJCXRlc3RfaTE4bmdyZXAgImhpbnQ6IERpZCB5b3UgbWVhbiIgZXJyICYmCisJCQl0ZXN0X211c3RfZmFpbCBnaXQgLWMgYWR2aWNlLnB1c2hVbnF1YWxpZmllZFJlZk5hbWU9ZmFsc2UgXAorCQkJCXB1c2ggb3JpZ2luICRvaWQ6ZHN0IDI+ZXJyICYmCisJCQl0ZXN0X2kxOG5ncmVwICJlcnJvcjogVGhlIGRlc3RpbmF0aW9uIHlvdSIgZXJyICYmCisJCQl0ZXN0X2kxOG5ncmVwICEgImhpbnQ6IERpZCB5b3UgbWVhbiIgZXJyIHx8CisJCQlleGl0X3dpdGg9ZmFsc2UKKwkJZG9uZSAmJgorCQkkZXhpdF93aXRoCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWZzL3JlbW90ZXMvKiA8c3JjPiByZWZzcGVjIGFuZCB1bnF1YWxpZmllZCA8ZHN0PiBEV0lNIGFuZCBhZHZpY2UnICcKKwkoCisJCWNkIHR3byAmJgorCQlnaXQgdGFnIC1hIC1tICJTb21lIHRhZyIgbXktdGFnIG1hc3RlciAmJgorCQlnaXQgdXBkYXRlLXJlZiByZWZzL3RyZWVzL215LWhlYWQtdHJlZSBIRUFEXnt0cmVlfSAmJgorCQlnaXQgdXBkYXRlLXJlZiByZWZzL2Jsb2JzL215LWZpbGUtYmxvYiBIRUFEOmZpbGUKKwkpICYmCisJKAorCQljZCB0ZXN0ICYmCisJCWdpdCBjb25maWcgLS1hZGQgcmVtb3RlLnR3by5mZXRjaCAiK3JlZnMvdGFncy8qOnJlZnMvcmVtb3Rlcy90YWdzLWZyb20tdHdvLyoiICYmCisJCWdpdCBjb25maWcgLS1hZGQgcmVtb3RlLnR3by5mZXRjaCAiK3JlZnMvdHJlZXMvKjpyZWZzL3JlbW90ZXMvdHJlZXMtZnJvbS10d28vKiIgJiYKKwkJZ2l0IGNvbmZpZyAtLWFkZCByZW1vdGUudHdvLmZldGNoICIrcmVmcy9ibG9icy8qOnJlZnMvcmVtb3Rlcy9ibG9icy1mcm9tLXR3by8qIiAmJgorCQlnaXQgZmV0Y2ggLS1uby10YWdzIHR3byAmJgorCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBwdXNoIG9yaWdpbiByZWZzL3JlbW90ZXMvdHdvL2Fub3RoZXI6ZHN0IDI+ZXJyICYmCisJCXRlc3RfaTE4bmdyZXAgImVycm9yOiBUaGUgZGVzdGluYXRpb24geW91IiBlcnIgJiYKKworCQl0ZXN0X211c3RfZmFpbCBnaXQgcHVzaCBvcmlnaW4gcmVmcy9yZW1vdGVzL3RhZ3MtZnJvbS10d28vbXktdGFnOmRzdC10YWcgMj5lcnIgJiYKKwkJdGVzdF9pMThuZ3JlcCAiZXJyb3I6IFRoZSBkZXN0aW5hdGlvbiB5b3UiIGVyciAmJgorCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBwdXNoIG9yaWdpbiByZWZzL3JlbW90ZXMvdHJlZXMtZnJvbS10d28vbXktaGVhZC10cmVlOmRzdC10cmVlIDI+ZXJyICYmCisJCXRlc3RfaTE4bmdyZXAgImVycm9yOiBUaGUgZGVzdGluYXRpb24geW91IiBlcnIgJiYKKworCQl0ZXN0X211c3RfZmFpbCBnaXQgcHVzaCBvcmlnaW4gcmVmcy9yZW1vdGVzL2Jsb2JzLWZyb20tdHdvL215LWZpbGUtYmxvYjpkc3QtYmxvYiAyPmVyciAmJgorCQl0ZXN0X2kxOG5ncmVwICJlcnJvcjogVGhlIGRlc3RpbmF0aW9uIHlvdSIgZXJyCisJKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1MDktZmV0Y2gtcHVzaC1uYW1lc3BhY2VzLnNoIGIvdC90NTUwOS1mZXRjaC1wdXNoLW5hbWVzcGFjZXMuc2gKaW5kZXggYzg4ZGY3OC4uYTY3Zjc5MiAxMDA3NTUKLS0tIGEvdC90NTUwOS1mZXRjaC1wdXNoLW5hbWVzcGFjZXMuc2gKKysrIGIvdC90NTUwOS1mZXRjaC1wdXNoLW5hbWVzcGFjZXMuc2gKQEAgLTIwLDcgKzIwLDcgQEAKIAkpICYmCiAJY29tbWl0MD0kKGNkIG9yaWdpbmFsICYmIGdpdCByZXYtcGFyc2UgSEVBRF4pICYmCiAJY29tbWl0MT0kKGNkIG9yaWdpbmFsICYmIGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKLQlnaXQgaW5pdCBwdXNoZWUgJiYKKwlnaXQgaW5pdCAtLWJhcmUgcHVzaGVlICYmCiAJZ2l0IGluaXQgcHVsbGVyCiAnCiAKQEAgLTEyNCw0ICsxMjQsNDMgQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgLUMgb3JpZ2luYWwgcHVzaCBwdXNoZWUtbmFtZXNwYWNlZCBtYXN0ZXIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0IHVwIGFtYmlndW91cyBIRUFEJyAnCisJZ2l0IGluaXQgYW1iaWd1b3VzICYmCisJKAorCQljZCBhbWJpZ3VvdXMgJiYKKwkJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tIGZvbyAmJgorCQlnaXQgdXBkYXRlLXJlZiByZWZzL25hbWVzcGFjZXMvbnMvcmVmcy9oZWFkcy9vbmUgSEVBRCAmJgorCQlnaXQgdXBkYXRlLXJlZiByZWZzL25hbWVzcGFjZXMvbnMvcmVmcy9oZWFkcy90d28gSEVBRCAmJgorCQlnaXQgc3ltYm9saWMtcmVmIHJlZnMvbmFtZXNwYWNlcy9ucy9IRUFEIFwKKwkJCXJlZnMvbmFtZXNwYWNlcy9ucy9yZWZzL2hlYWRzL3R3bworCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgY2hvb3NlcyBjb3JyZWN0IEhFQUQgKHYwKScgJworCUdJVF9OQU1FU1BBQ0U9bnMgZ2l0IC1jIHByb3RvY29sLnZlcnNpb249MCBcCisJCWNsb25lIGFtYmlndW91cyBhbWJpZ3VvdXMtdjAgJiYKKwllY2hvIHJlZnMvaGVhZHMvdHdvID5leHBlY3QgJiYKKwlnaXQgLUMgYW1iaWd1b3VzLXYwIHN5bWJvbGljLXJlZiBIRUFEID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Nsb25lIGNob29zZXMgY29ycmVjdCBIRUFEICh2MiknICcKKwlHSVRfTkFNRVNQQUNFPW5zIGdpdCAtYyBwcm90b2NvbC52ZXJzaW9uPTIgXAorCQljbG9uZSBhbWJpZ3VvdXMgYW1iaWd1b3VzLXYyICYmCisJZWNobyByZWZzL2hlYWRzL3R3byA+ZXhwZWN0ICYmCisJZ2l0IC1DIGFtYmlndW91cy12MiBzeW1ib2xpYy1yZWYgSEVBRCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZW55Q3VycmVudEJyYW5jaCBhbmQgdW5ib3JuIGJyYW5jaCB3aXRoIHJlZiBuYW1lc3BhY2UnICcKKwkoCisJCWNkIG9yaWdpbmFsICYmCisJCWdpdCBpbml0IHVuYm9ybiAmJgorCQlnaXQgcmVtb3RlIGFkZCB1bmJvcm4tbmFtZXNwYWNlZCAiZXh0OjpnaXQgLS1uYW1lc3BhY2U9bmFtZXNwYWNlICVzIHVuYm9ybiIgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1c2ggdW5ib3JuLW5hbWVzcGFjZWQgSEVBRDptYXN0ZXIgJiYKKwkJZ2l0IC1DIHVuYm9ybiBjb25maWcgcmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCB1cGRhdGVJbnN0ZWFkICYmCisJCWdpdCBwdXNoIHVuYm9ybi1uYW1lc3BhY2VkIEhFQUQ6bWFzdGVyCisJKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1MTAtZmV0Y2guc2ggYi90L3Q1NTEwLWZldGNoLnNoCmluZGV4IDNiN2IzMDUuLmE2NmRiZTAgMTAwNzU1Ci0tLSBhL3QvdDU1MTAtZmV0Y2guc2gKKysrIGIvdC90NTUxMC1mZXRjaC5zaApAQCAtMTEsNyArMTEsNyBAQAogCiB0ZXN0X2J1bmRsZV9vYmplY3RfY291bnQgKCkgewogCWdpdCB2ZXJpZnktcGFjayAtdiAiJDEiID52ZXJpZnkub3V0ICYmCi0JdGVzdCAiJDIiID0gJChncmVwICdeWzAtOWEtZl1cezQwXH0gJyB2ZXJpZnkub3V0IHwgd2MgLWwpCisJdGVzdCAiJDIiID0gJChncmVwICJeJE9JRF9SRUdFWCAiIHZlcmlmeS5vdXQgfCB3YyAtbCkKIH0KIAogY29udmVydF9idW5kbGVfdG9fcGFjayAoKSB7CkBAIC0xNzQsNiArMTc0LDMwIEBACiAJZ2l0IHJldi1wYXJzZSBzb21ldGFnCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmVmbWFwPSIiIGlnbm9yZXMgY29uZmlndXJlZCByZWZzcGVjJyAnCisJY2QgIiRUUkFTSF9ESVJFQ1RPUlkiICYmCisJZ2l0IGNsb25lICIkRCIgcmVtb3RlLXJlZnMgJiYKKwlnaXQgLUMgcmVtb3RlLXJlZnMgcmV2LXBhcnNlIHJlbW90ZXMvb3JpZ2luL21hc3RlciA+b2xkICYmCisJZ2l0IC1DIHJlbW90ZS1yZWZzIHVwZGF0ZS1yZWYgcmVmcy9yZW1vdGVzL29yaWdpbi9tYXN0ZXIgbWFzdGVyfjEgJiYKKwlnaXQgLUMgcmVtb3RlLXJlZnMgcmV2LXBhcnNlIHJlbW90ZXMvb3JpZ2luL21hc3RlciA+bmV3ICYmCisJZ2l0IC1DIHJlbW90ZS1yZWZzIGZldGNoIC0tcmVmbWFwPSBvcmlnaW4gIityZWZzL2hlYWRzLyo6cmVmcy9oaWRkZW4vb3JpZ2luLyoiICYmCisJZ2l0IC1DIHJlbW90ZS1yZWZzIHJldi1wYXJzZSByZW1vdGVzL29yaWdpbi9tYXN0ZXIgPmFjdHVhbCAmJgorCXRlc3RfY21wIG5ldyBhY3R1YWwgJiYKKwlnaXQgLUMgcmVtb3RlLXJlZnMgZmV0Y2ggb3JpZ2luICYmCisJZ2l0IC1DIHJlbW90ZS1yZWZzIHJldi1wYXJzZSByZW1vdGVzL29yaWdpbi9tYXN0ZXIgPmFjdHVhbCAmJgorCXRlc3RfY21wIG9sZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1yZWZtYXA9IiIgYW5kIC0tcHJ1bmUnICcKKwlnaXQgLUMgcmVtb3RlLXJlZnMgdXBkYXRlLXJlZiByZWZzL3JlbW90ZXMvb3JpZ2luL2Zvby9vdGhlcmJyYW5jaCBtYXN0ZXIgJiYKKwlnaXQgLUMgcmVtb3RlLXJlZnMgdXBkYXRlLXJlZiByZWZzL2hpZGRlbi9mb28vb3RoZXJicmFuY2ggbWFzdGVyICYmCisJZ2l0IC1DIHJlbW90ZS1yZWZzIGZldGNoIC0tcHJ1bmUgLS1yZWZtYXA9IiIgb3JpZ2luICtyZWZzL2hlYWRzLyo6cmVmcy9oaWRkZW4vKiAmJgorCWdpdCAtQyByZW1vdGUtcmVmcyByZXYtcGFyc2UgcmVtb3Rlcy9vcmlnaW4vZm9vL290aGVyYnJhbmNoICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIHJlbW90ZS1yZWZzIHJldi1wYXJzZSByZWZzL2hpZGRlbi9mb28vb3RoZXJicmFuY2ggJiYKKwlnaXQgLUMgcmVtb3RlLXJlZnMgZmV0Y2ggLS1wcnVuZSBvcmlnaW4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgcmVtb3RlLXJlZnMgcmV2LXBhcnNlIHJlbW90ZXMvb3JpZ2luL2Zvby9vdGhlcmJyYW5jaAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaCB0YWdzIHdoZW4gdGhlcmUgaXMgbm8gdGFncycgJwogCiAgICAgY2QgIiREIiAmJgpAQCAtMjYxLDkgKzI4NSwxMCBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdoZWFkZXIgb2YgYnVuZGxlIGxvb2tzIHJpZ2h0JyAnCisJaGVhZCAtbiA0ICIkRCIvYnVuZGxlMSAmJgogCWhlYWQgLW4gMSAiJEQiL2J1bmRsZTEgfCBncmVwICJeIyIgJiYKLQloZWFkIC1uIDIgIiREIi9idW5kbGUxIHwgZ3JlcCAiXi1bMC05YS1mXVx7NDBcfSAiICYmCi0JaGVhZCAtbiAzICIkRCIvYnVuZGxlMSB8IGdyZXAgIl5bMC05YS1mXVx7NDBcfSAiICYmCisJaGVhZCAtbiAyICIkRCIvYnVuZGxlMSB8IGdyZXAgIl4tJE9JRF9SRUdFWCAiICYmCisJaGVhZCAtbiAzICIkRCIvYnVuZGxlMSB8IGdyZXAgIl4kT0lEX1JFR0VYICIgJiYKIAloZWFkIC1uIDQgIiREIi9idW5kbGUxIHwgZ3JlcCAiXiQiCiAnCiAKQEAgLTI4OSw3ICszMTQsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndW5idW5kbGUgMicgJwogCWNkICIkRC9idW5kbGUiICYmCiAJZ2l0IGZldGNoIC4uL2J1bmRsZTIgbWFzdGVyOm1hc3RlciAmJgotCXRlc3QgInRpcCIgPSAiJChnaXQgbG9nIC0xIC0tcHJldHR5PW9uZWxpbmUgbWFzdGVyIHwgY3V0IC1iNDItKSIKKwl0ZXN0ICJ0aXAiID0gIiQoZ2l0IGxvZyAtMSAtLXByZXR0eT1vbmVsaW5lIG1hc3RlciB8IGN1dCAtZCIgIiAtZjIpIgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdidW5kbGUgZG9lcyBub3QgcHJlcmVxdWlzaXRlIG9iamVjdHMnICcKQEAgLTM1NCw3ICszNzksNiBAQAogIyB0aGUgc3RyYW5nZSBuYW1lIGlzOiBhXCEnYgogdGVzdF9leHBlY3Rfc3VjY2VzcyAncXVvdGluZyBvZiBhIHN0cmFuZ2VseSBuYW1lZCByZXBvJyAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZldGNoICJhXFwhJ1wnJ2IiID4gcmVzdWx0IDI+JjEgJiYKLQljYXQgcmVzdWx0ICYmCiAJZ3JlcCAiZmF0YWw6ICdcJydhXFxcXCEnXCcnYidcJyciIHJlc3VsdAogJwogCkBAIC01NzAsNiArNTk0LDM1IEBACiAJKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaC53cml0ZUNvbW1pdEdyYXBoJyAnCisJZ2l0IGNsb25lIHRocmVlIHdyaXRlICYmCisJKAorCQljZCB0aHJlZSAmJgorCQl0ZXN0X2NvbW1pdCBuZXcKKwkpICYmCisJKAorCQljZCB3cml0ZSAmJgorCQlnaXQgLWMgZmV0Y2gud3JpdGVDb21taXRHcmFwaCBmZXRjaCBvcmlnaW4gJiYKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgLmdpdC9vYmplY3RzL2luZm8vY29tbWl0LWdyYXBocy9jb21taXQtZ3JhcGgtY2hhaW4KKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoLndyaXRlQ29tbWl0R3JhcGggd2l0aCBzdWJtb2R1bGVzJyAnCisJZ2l0IGNsb25lIGR1cHMgc3VwZXIgJiYKKwkoCisJCWNkIHN1cGVyICYmCisJCWdpdCBzdWJtb2R1bGUgYWRkICJmaWxlOi8vJFRSQVNIX0RJUkVDVE9SWS90aHJlZSIgJiYKKwkJZ2l0IGNvbW1pdCAtbSAiYWRkIHN1Ym1vZHVsZSIKKwkpICYmCisJZ2l0IGNsb25lICJzdXBlciIgc3VwZXItY2xvbmUgJiYKKwkoCisJCWNkIHN1cGVyLWNsb25lICYmCisJCXJtIC1yZiAuZ2l0L29iamVjdHMvaW5mbyAmJgorCQlnaXQgLWMgZmV0Y2gud3JpdGVDb21taXRHcmFwaD10cnVlIGZldGNoIG9yaWdpbiAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSAuZ2l0L29iamVjdHMvaW5mby9jb21taXQtZ3JhcGhzL2NvbW1pdC1ncmFwaC1jaGFpbgorCSkKKycKKwogIyBjb25maWd1cmVkIHBydW5lIHRlc3RzCiAKIHNldF9jb25maWdfdHJpc3RhdGUgKCkgewpAQCAtOTAyLDYgKzk1NSwyOSBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1uby1zaG93LWZvcmNlZC11cGRhdGVzJyAnCisJbWtkaXIgZm9yY2VkLXVwZGF0ZXMgJiYKKwkoCisJCWNkIGZvcmNlZC11cGRhdGVzICYmCisJCWdpdCBpbml0ICYmCisJCXRlc3RfY29tbWl0IDEgJiYKKwkJdGVzdF9jb21taXQgMgorCSkgJiYKKwlnaXQgY2xvbmUgZm9yY2VkLXVwZGF0ZXMgZm9yY2VkLXVwZGF0ZS1jbG9uZSAmJgorCWdpdCBjbG9uZSBmb3JjZWQtdXBkYXRlcyBuby1mb3JjZWQtdXBkYXRlLWNsb25lICYmCisJZ2l0IC1DIGZvcmNlZC11cGRhdGVzIHJlc2V0IC0taGFyZCBIRUFEfjEgJiYKKwkoCisJCWNkIGZvcmNlZC11cGRhdGUtY2xvbmUgJiYKKwkJZ2l0IGZldGNoIC0tc2hvdy1mb3JjZWQtdXBkYXRlcyBvcmlnaW4gMj5vdXRwdXQgJiYKKwkJdGVzdF9pMThuZ3JlcCAiKGZvcmNlZCB1cGRhdGUpIiBvdXRwdXQKKwkpICYmCisJKAorCQljZCBuby1mb3JjZWQtdXBkYXRlLWNsb25lICYmCisJCWdpdCBmZXRjaCAtLW5vLXNob3ctZm9yY2VkLXVwZGF0ZXMgb3JpZ2luIDI+b3V0cHV0ICYmCisJCXRlc3RfaTE4bmdyZXAgISAiKGZvcmNlZCB1cGRhdGUpIiBvdXRwdXQKKwkpCisnCisKIHNldHVwX25lZ290aWF0aW9uX3RpcCAoKSB7CiAJU0VSVkVSPSIkMSIKIAlVUkw9IiQyIgpAQCAtOTc4LDYgKzEwNTQsNyBAQAogCWNoZWNrX25lZ290aWF0aW9uX3RpcAogJwogCi1zdG9wX2h0dHBkCisjIERPIE5PVCBhZGQgbm9uLWh0dHBkLXNwZWNpZmljIHRlc3RzIGhlcmUsIGJlY2F1c2UgdGhlIGxhc3QgcGFydCBvZiB0aGlzCisjIHRlc3Qgc2NyaXB0IGlzIG9ubHkgZXhlY3V0ZWQgd2hlbiBodHRwZCBpcyBhdmFpbGFibGUgYW5kIGVuYWJsZWQuCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTUxMi1scy1yZW1vdGUuc2ggYi90L3Q1NTEyLWxzLXJlbW90ZS5zaAppbmRleCAzMmU3MjJkLi4wNGIzNTQwIDEwMDc1NQotLS0gYS90L3Q1NTEyLWxzLXJlbW90ZS5zaAorKysgYi90L3Q1NTEyLWxzLXJlbW90ZS5zaApAQCAtMjA0LDYgKzIwNCwxMiBAQAogCWdyZXAgcmVmcy90YWdzL21hZ2ljIGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcm90b2NvbCB2MiBzdXBwb3J0cyBoaWRlcmVmcycgJworCXRlc3RfY29uZmlnIHVwbG9hZHBhY2suaGlkZXJlZnMgcmVmcy90YWdzICYmCisJZ2l0IC1jIHByb3RvY29sLnZlcnNpb249MiBscy1yZW1vdGUgLiA+YWN0dWFsICYmCisJISBncmVwIHJlZnMvdGFncyBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbHMtcmVtb3RlIC0tc3ltcmVmJyAnCiAJZ2l0IGZldGNoIG9yaWdpbiAmJgogCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgpAQCAtMjE3LDUwICsyMjMsNTggQEAKIAkkKGdpdCByZXYtcGFyc2UgcmVmcy90YWdzL21hcmsxLjEwKQlyZWZzL3RhZ3MvbWFyazEuMTAKIAkkKGdpdCByZXYtcGFyc2UgcmVmcy90YWdzL21hcmsxLjIpCXJlZnMvdGFncy9tYXJrMS4yCiAJRU9GCi0JZ2l0IGxzLXJlbW90ZSAtLXN5bXJlZiA+YWN0dWFsICYmCisJIyBQcm90b2NvbCB2MiBzdXBwb3J0cyBzZW5kaW5nIHN5bXJlZnMgZm9yIHJlZnMgb3RoZXIgdGhhbiBIRUFELCBzbyB1c2UKKwkjIHByb3RvY29sIHYwIGhlcmUuCisJR0lUX1RFU1RfUFJPVE9DT0xfVkVSU0lPTj0wIGdpdCBscy1yZW1vdGUgLS1zeW1yZWYgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbHMtcmVtb3RlIHdpdGggZmlsdGVyZWQgc3ltcmVmIChyZWZuYW1lKScgJwotCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlyZXY9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCiAJcmVmOiByZWZzL2hlYWRzL21hc3RlcglIRUFECi0JMWJkNDRjYjlkMTMyMDRiMGZlMTk1OGRiMDA4MmY1MDI4YTE2ZWIzYQlIRUFECisJJHJldglIRUFECiAJRU9GCi0JZ2l0IGxzLXJlbW90ZSAtLXN5bXJlZiAuIEhFQUQgPmFjdHVhbCAmJgorCSMgUHJvdG9jb2wgdjIgc3VwcG9ydHMgc2VuZGluZyBzeW1yZWZzIGZvciByZWZzIG90aGVyIHRoYW4gSEVBRCwgc28gdXNlCisJIyBwcm90b2NvbCB2MCBoZXJlLgorCUdJVF9URVNUX1BST1RPQ09MX1ZFUlNJT049MCBnaXQgbHMtcmVtb3RlIC0tc3ltcmVmIC4gSEVBRCA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9mYWlsdXJlICdscy1yZW1vdGUgd2l0aCBmaWx0ZXJlZCBzeW1yZWYgKC0taGVhZHMpJyAnCiAJZ2l0IHN5bWJvbGljLXJlZiByZWZzL2hlYWRzL2ZvbyByZWZzL3RhZ3MvbWFyayAmJgotCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKIAlyZWY6IHJlZnMvdGFncy9tYXJrCXJlZnMvaGVhZHMvZm9vCi0JMWJkNDRjYjlkMTMyMDRiMGZlMTk1OGRiMDA4MmY1MDI4YTE2ZWIzYQlyZWZzL2hlYWRzL2ZvbwotCTFiZDQ0Y2I5ZDEzMjA0YjBmZTE5NThkYjAwODJmNTAyOGExNmViM2EJcmVmcy9oZWFkcy9tYXN0ZXIKKwkkcmV2CXJlZnMvaGVhZHMvZm9vCisJJHJldglyZWZzL2hlYWRzL21hc3RlcgogCUVPRgotCWdpdCBscy1yZW1vdGUgLS1zeW1yZWYgLS1oZWFkcyAuID5hY3R1YWwgJiYKKwkjIFByb3RvY29sIHYyIHN1cHBvcnRzIHNlbmRpbmcgc3ltcmVmcyBmb3IgcmVmcyBvdGhlciB0aGFuIEhFQUQsIHNvIHVzZQorCSMgcHJvdG9jb2wgdjAgaGVyZS4KKwlHSVRfVEVTVF9QUk9UT0NPTF9WRVJTSU9OPTAgZ2l0IGxzLXJlbW90ZSAtLXN5bXJlZiAtLWhlYWRzIC4gPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbHMtcmVtb3RlIC0tc3ltcmVmIG9taXRzIGZpbHRlcmVkLW91dCBtYXRjaGVzJyAnCi0JY2F0ID5leHBlY3QgPDwtXEVPRiAmJgotCTFiZDQ0Y2I5ZDEzMjA0YjBmZTE5NThkYjAwODJmNTAyOGExNmViM2EJcmVmcy9oZWFkcy9mb28KLQkxYmQ0NGNiOWQxMzIwNGIwZmUxOTU4ZGIwMDgyZjUwMjhhMTZlYjNhCXJlZnMvaGVhZHMvbWFzdGVyCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJJHJldglyZWZzL2hlYWRzL2ZvbworCSRyZXYJcmVmcy9oZWFkcy9tYXN0ZXIKIAlFT0YKLQlnaXQgbHMtcmVtb3RlIC0tc3ltcmVmIC0taGVhZHMgLiA+YWN0dWFsICYmCisJIyBQcm90b2NvbCB2MiBzdXBwb3J0cyBzZW5kaW5nIHN5bXJlZnMgZm9yIHJlZnMgb3RoZXIgdGhhbiBIRUFELCBzbyB1c2UKKwkjIHByb3RvY29sIHYwIGhlcmUuCisJR0lUX1RFU1RfUFJPVE9DT0xfVkVSU0lPTj0wIGdpdCBscy1yZW1vdGUgLS1zeW1yZWYgLS1oZWFkcyAuID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCi0JZ2l0IGxzLXJlbW90ZSAtLXN5bXJlZiAuICJyZWZzL2hlYWRzLyoiID5hY3R1YWwgJiYKKwlHSVRfVEVTVF9QUk9UT0NPTF9WRVJTSU9OPTAgZ2l0IGxzLXJlbW90ZSAtLXN5bXJlZiAuICJyZWZzL2hlYWRzLyoiID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfbGF6eV9wcmVyZXEgR0lUX0RBRU1PTiAnCi0JdGVzdF90cmlzdGF0ZSBHSVRfVEVTVF9HSVRfREFFTU9OICYmCi0JdGVzdCAiJEdJVF9URVNUX0dJVF9EQUVNT04iICE9IGZhbHNlCisJdGVzdF9ib29sX2VudiBHSVRfVEVTVF9HSVRfREFFTU9OIHRydWUKICcKIAogIyBUaGlzIHRlc3Qgc3Bhd25zIGEgZGFlbW9uLCBzbyBydW4gaXQgb25seSBpZiB0aGUgdXNlciB3b3VsZCBiZSBPSyB3aXRoCiAjIHRlc3Rpbmcgd2l0aCBnaXQtZGFlbW9uLgogdGVzdF9leHBlY3Rfc3VjY2VzcyBQSVBFLEpHSVQsR0lUX0RBRU1PTiAnaW5kaWNhdGUgbm8gcmVmcyBpbiBzdGFuZGFyZHMtY29tcGxpYW50IGVtcHR5IHJlbW90ZScgJwotCUpHSVRfREFFTU9OX1BPUlQ9JHtKR0lUX0RBRU1PTl9QT1JULSR7dGhpc190ZXN0I3R9fSAmJgorCXRlc3Rfc2V0X3BvcnQgSkdJVF9EQUVNT05fUE9SVCAmJgogCUpHSVRfREFFTU9OX1BJRD0gJiYKIAlnaXQgaW5pdCAtLWJhcmUgZW1wdHkuZ2l0ICYmCiAJPmVtcHR5LmdpdC9naXQtZGFlbW9uLWV4cG9ydC1vayAmJgpkaWZmIC0tZ2l0IGEvdC90NTUxNC1mZXRjaC1tdWx0aXBsZS5zaCBiL3QvdDU1MTQtZmV0Y2gtbXVsdGlwbGUuc2gKaW5kZXggMDAzMGM5Mi4uZGU4ZTJmMSAxMDA3NTUKLS0tIGEvdC90NTUxNC1mZXRjaC1tdWx0aXBsZS5zaAorKysgYi90L3Q1NTE0LWZldGNoLW11bHRpcGxlLnNoCkBAIC0xMDUsOSArMTA1LDEyIEBACiAJIGdpdCByZW1vdGUgcm0gb3JpZ2luICYmCiAJIGdpdCByZW1vdGUgYWRkIG9uZSAuLi9vbmUgJiYKIAkgZ2l0IHJlbW90ZSBhZGQgdHdvIC4uL3R3byAmJgotCSBnaXQgZmV0Y2ggLS1tdWx0aXBsZSBvbmUgdHdvICYmCisJIEdJVF9UUkFDRT0xIGdpdCBmZXRjaCAtLW11bHRpcGxlIG9uZSB0d28gMj50cmFjZSAmJgogCSBnaXQgYnJhbmNoIC1yID4gb3V0cHV0ICYmCi0JIHRlc3RfY21wIC4uL2V4cGVjdCBvdXRwdXQpCisJIHRlc3RfY21wIC4uL2V4cGVjdCBvdXRwdXQgJiYKKwkgZ3JlcCAiYnVpbHQtaW46IGdpdCBnYyIgdHJhY2UgPmdjICYmCisJIHRlc3RfbGluZV9jb3VudCA9IDEgZ2MKKwkpCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBmZXRjaCAtLW11bHRpcGxlIChiYWQgcmVtb3RlIG5hbWVzKScgJwpAQCAtMTgwLDQgKzE4MywxNSBAQAogCXRlc3RfY21wIGV4cGVjdCB0ZXN0OC9vdXRwdXQKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncGFyYWxsZWwnICcKKwlnaXQgcmVtb3RlIGFkZCBvbmUgLi9ib2d1czEgJiYKKwlnaXQgcmVtb3RlIGFkZCB0d28gLi9ib2d1czIgJiYKKworCXRlc3RfbXVzdF9mYWlsIGVudiBHSVRfVFJBQ0U9IiRQV0QvdHJhY2UiIFwKKwkJZ2l0IGZldGNoIC0tam9icz0yIC0tbXVsdGlwbGUgb25lIHR3byAyPmVyciAmJgorCWdyZXAgInByZXBhcmluZyB0byBydW4gdXAgdG8gMiB0YXNrcyIgdHJhY2UgJiYKKwl0ZXN0X2kxOG5ncmVwICJjb3VsZCBub3QgZmV0Y2ggLm9uZS4qMTI4IiBlcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICJjb3VsZCBub3QgZmV0Y2ggLnR3by4qMTI4IiBlcnIKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NTE1LWZldGNoLW1lcmdlLWxvZ2ljLnNoIGIvdC90NTUxNS1mZXRjaC1tZXJnZS1sb2dpYy5zaAppbmRleCAzNmIwZGJjLi45ZDZhNDZmIDEwMDc1NQotLS0gYS90L3Q1NTE1LWZldGNoLW1lcmdlLWxvZ2ljLnNoCisrKyBiL3QvdDU1MTUtZmV0Y2gtbWVyZ2UtbG9naWMuc2gKQEAgLTYsMTYgKzYsNjIgQEAKIAogdGVzdF9kZXNjcmlwdGlvbj0nTWVyZ2UgbG9naWMgaW4gZmV0Y2gnCiAKKyMgTkVFRFNXT1JLOiBJZiB0aGUgb3ZlcnNwZWNpZmljYXRpb24gb2YgdGhlIGV4cGVjdGVkIHJlc3VsdCBpcyByZWR1Y2VkLCB3ZQorIyBtaWdodCBiZSBhYmxlIHRvIHJ1biB0aGlzIHRlc3QgaW4gYWxsIHByb3RvY29sIHZlcnNpb25zLgorR0lUX1RFU1RfUFJPVE9DT0xfVkVSU0lPTj0wCitleHBvcnQgR0lUX1RFU1RfUFJPVE9DT0xfVkVSU0lPTgorCiAuIC4vdGVzdC1saWIuc2gKIAotTEY9JwotJworYnVpbGRfc2NyaXB0ICgpIHsKKwlzY3JpcHQ9IiQxIiAmJgorCWZvciBpIGluIG9uZSB0aHJlZV9maWxlIG1hc3RlciBtYXN0ZXIyIG9uZV90cmVlIHRocmVlIHR3byB0d28yIHRocmVlMgorCWRvCisJCWVjaG8gInMvJCh0ZXN0X29pZCAtLWhhc2g9c2hhMSAiJGkiKS8kKHRlc3Rfb2lkICIkaSIpL2ciID4+IiRzY3JpcHQiCisJZG9uZQorfQorCitjb252ZXJ0X2V4cGVjdGVkICgpIHsKKwlmaWxlPSIkMSIgJiYKKwlzY3JpcHQ9IiQyIiAmJgorCXNlZCAtZiAiJHNjcmlwdCIgIiRmaWxlIiA+IiRmaWxlLnRtcCIgJiYKKwltdiAiJGZpbGUudG1wIiAiJGZpbGUiCit9CiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3Mgc2V0dXAgJwogCUdJVF9BVVRIT1JfREFURT0iMjAwNi0wNi0yNiAwMDowMDowMCArMDAwMCIgJiYKIAlHSVRfQ09NTUlUVEVSX0RBVEU9IjIwMDYtMDYtMjYgMDA6MDA6MDAgKzAwMDAiICYmCiAJZXhwb3J0IEdJVF9BVVRIT1JfREFURSBHSVRfQ09NTUlUVEVSX0RBVEUgJiYKIAorCXRlc3Rfb2lkX2NhY2hlIDw8LUVPRiAmJgorCW9uZSBzaGExOjhlMzJhNmQ5MDEzMjdhMjNlZjgzMTUxMWJhZGNlN2JmM2JmNDY2ODkKKwlvbmUgc2hhMjU2Ojg3Mzk1NDY0MzNhYjFhYzcyZWU5MzA4OGRjZTYxMTIxMGVmZmVlMDcyYjJiNTg2Y2VhYzZkZGU0M2ViZWM5Y2UKKworCXRocmVlX2ZpbGUgc2hhMTowZTNiMTQwNDdkM2VlMzY1ZjRmMmExYjY3M2RiMDU5YzM5NzI1ODljCisJdGhyZWVfZmlsZSBzaGEyNTY6YmM0NDQ3ZDUwYzA3NDk3YThiZmU2ZWVmODE3ZjIzNjRlY2NhOWQ0NzE0NTJlNDNiNTI3NTZjYzFhOTA4YmQzMgorCisJbWFzdGVyIHNoYTE6NmM5ZGVjMmI5MjMyMjhjOWZmOTk0YzZjZmU0YWUxNmMxMjQwOGRjNQorCW1hc3RlciBzaGEyNTY6ODUyMWMzMDcyNDYxZmNmZThmMzJkNjdmOTVjYzZlNmI4MzJhMmRiMmZhMjk3NjlmZmM3ODhiY2U4NWViY2Q3NQorCisJb25lX3RyZWUgc2hhMToyMmZlZWE0NDhiMDIzYTJkODY0ZWY5NGIwMTM3MzVhZjM0ZDIzOGJhCisJb25lX3RyZWUgc2hhMjU2OjZlNDc0M2Y0ZWYyMzU2Yjg4MWRkYTVlOTFmNWM3Y2RmZmU4NzBmYWYzNTBiZjdiMzEyZjgwYTIwOTM1ZjVkODMKKworCXRocmVlIHNoYTE6YzYxYTgyYjYwOTY3MTgwNTQ0ZTNjMTlmODE5ZGRiZDBjOWY4OTg5OQorCXRocmVlIHNoYTI1NjowY2M2ZDFlZGE2MTdkZWQ3MTUxNzA3ODZlMzFiYTRlMmQwMTg1NDA0ZWM1YTM1MDhkZDBkNzNiMzI0ODYwYzZhCisKKwl0d28gc2hhMTo1MjViN2ZiMDY4ZDU5OTUwZDE4NWE4Nzc5ZGM5NTdjNzdlZWQ3M2JhCisJdHdvIHNoYTI1NjozYjIxZGUzNDQwY2QzOGMyYTllOWI0NjRhZGI5MjNmNzA1NDk0OWVkNGM5MThlMWEwYWM0Yzk1Y2Q1Mjc3NGRiCisKKwltYXN0ZXIyIHNoYTE6NzU0Yjc1NDQwN2JmMDMyZTlhMmY5ZDVhOWFkMDVjYTc5YTZiMjI4ZgorCW1hc3RlcjIgc2hhMjU2OjZjN2FiYWVhOGE2ZDhlZjRkODk4NzdlNjg0NjI3NThkYzY3NzQ2OTBmYmJiYjBlNmQ3ZGQ1NzQxNWM5YWJkZTAKKworCXR3bzIgc2hhMTo2MTM0ZWU4Zjg1NzY5M2I5NmZmMWNjOThkM2UyZmQ2MmIxOTllNWE4CisJdHdvMiBzaGEyNTY6ODdhMmQzZWUyOWM4M2EzZGM3YWZkNDFjMDYwNmIxMWY2NzYwMzEyMGI5MTBhN2JlNzg0MGFjY2RjMTgzNDRkNAorCisJdGhyZWUyIHNoYTE6MDU2N2RhNGQ1ZWRkMmZmNGJiMjkyYTQ2NWJhOWU2NGRjYWQ5NTM2YgorCXRocmVlMiBzaGEyNTY6Y2NlYjNlOGVjYTM2NGZhOWEwYTM5YTFlZmJlYmVjYWNjNjY0YWY4NmNiYmQ4MDcwNTcxZjVmYWViNWYwZThjMworCUVPRgorCiAJZWNobyA+ZmlsZSBvcmlnaW5hbCAmJgogCWdpdCBhZGQgZmlsZSAmJgogCWdpdCBjb21taXQgLWEgLW0gT25lICYmCkBAIC04NSw3ICsxMzEsOCBAQAogCQlnaXQgY29uZmlnIGJyYW5jaC5ici0kcmVtb3RlLW9jdG9wdXMucmVtb3RlICRyZW1vdGUgJiYKIAkJZ2l0IGNvbmZpZyBicmFuY2guYnItJHJlbW90ZS1vY3RvcHVzLm1lcmdlIHJlZnMvaGVhZHMvb25lICYmCiAJCWdpdCBjb25maWcgLS1hZGQgYnJhbmNoLmJyLSRyZW1vdGUtb2N0b3B1cy5tZXJnZSB0d28KLQlkb25lCisJZG9uZSAmJgorCWJ1aWxkX3NjcmlwdCBzZWRfc2NyaXB0CiAnCiAKICMgTWVyZ2UgbG9naWMgZGVwZW5kcyBvbiBicmFuY2ggcHJvcGVydGllcyBhbmQgUHVsbDogb3IgLmZldGNoIGxpbmVzCkBAIC0xMzYsNiArMTgzLDEwIEBACiAJYWN0dWFsX3I9IiRwZngtcmVmcy4kdGVzdCIKIAogCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIiRjbWQiICcKKwkJY3AgIiRleHBlY3RfZiIgZXhwZWN0X2YgJiYKKwkJY29udmVydF9leHBlY3RlZCBleHBlY3RfZiBzZWRfc2NyaXB0ICYmCisJCWNwICIkZXhwZWN0X3IiIGV4cGVjdF9yICYmCisJCWNvbnZlcnRfZXhwZWN0ZWQgZXhwZWN0X3Igc2VkX3NjcmlwdCAmJgogCQl7CiAJCQllY2hvICIjICRjbWQiCiAJCQlzZXQgeCAkY21kOyBzaGlmdApAQCAtMTUxLDE4ICsyMDIsMTggQEAKIAkJCWNhdCAuZ2l0L0ZFVENIX0hFQUQKIAkJfSA+IiRhY3R1YWxfZiIgJiYKIAkJZ2l0IHNob3ctcmVmID4iJGFjdHVhbF9yIiAmJgotCQlpZiB0ZXN0IC1mICIkZXhwZWN0X2YiCisJCWlmIHRlc3QgLWYgImV4cGVjdF9mIgogCQl0aGVuCi0JCQl0ZXN0X2NtcCAiJGV4cGVjdF9mIiAiJGFjdHVhbF9mIiAmJgorCQkJdGVzdF9jbXAgImV4cGVjdF9mIiAiJGFjdHVhbF9mIiAmJgogCQkJcm0gLWYgIiRhY3R1YWxfZiIKIAkJZWxzZQogCQkJIyB0aGlzIGlzIHRvIGhlbHAgZGV2ZWxvcGluZyBuZXcgdGVzdHMuCiAJCQljcCAiJGFjdHVhbF9mIiAiJGV4cGVjdF9mIgogCQkJZmFsc2UKIAkJZmkgJiYKLQkJaWYgdGVzdCAtZiAiJGV4cGVjdF9yIgorCQlpZiB0ZXN0IC1mICJleHBlY3RfciIKIAkJdGhlbgotCQkJdGVzdF9jbXAgIiRleHBlY3RfciIgIiRhY3R1YWxfciIgJiYKKwkJCXRlc3RfY21wICJleHBlY3RfciIgIiRhY3R1YWxfciIgJiYKIAkJCXJtIC1mICIkYWN0dWFsX3IiCiAJCWVsc2UKIAkJCSMgdGhpcyBpcyB0byBoZWxwIGRldmVsb3BpbmcgbmV3IHRlc3RzLgpkaWZmIC0tZ2l0IGEvdC90NTUxNi1mZXRjaC1wdXNoLnNoIGIvdC90NTUxNi1mZXRjaC1wdXNoLnNoCmluZGV4IDM3ZThlODAuLjlmZjA0MWEgMTAwNzU1Ci0tLSBhL3QvdDU1MTYtZmV0Y2gtcHVzaC5zaAorKysgYi90L3Q1NTE2LWZldGNoLXB1c2guc2gKQEAgLTExNDcsOCArMTE0NywxMiBAQAogCQlnaXQgcHJ1bmUgJiYKIAkJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNhdC1maWxlIC10ICR0aGVfY29tbWl0ICYmCiAKKwkJIyBTb21lIHByb3RvY29sIHZlcnNpb25zIChlLmcuIDIpIHN1cHBvcnQgZmV0Y2hpbmcKKwkJIyB1bmFkdmVydGlzZWQgb2JqZWN0cywgc28gcmVzdHJpY3QgdGhpcyB0ZXN0IHRvIHYwLgorCiAJCSMgZmV0Y2hpbmcgdGhlIGhpZGRlbiBvYmplY3Qgc2hvdWxkIGZhaWwgYnkgZGVmYXVsdAotCQl0ZXN0X211c3RfZmFpbCBnaXQgZmV0Y2ggLXYgLi4vdGVzdHJlcG8gJHRoZV9jb21taXQ6cmVmcy9oZWFkcy9jb3B5IDI+ZXJyICYmCisJCXRlc3RfbXVzdF9mYWlsIGVudiBHSVRfVEVTVF9QUk9UT0NPTF9WRVJTSU9OPTAgXAorCQkJZ2l0IGZldGNoIC12IC4uL3Rlc3RyZXBvICR0aGVfY29tbWl0OnJlZnMvaGVhZHMvY29weSAyPmVyciAmJgogCQl0ZXN0X2kxOG5ncmVwICJTZXJ2ZXIgZG9lcyBub3QgYWxsb3cgcmVxdWVzdCBmb3IgdW5hZHZlcnRpc2VkIG9iamVjdCIgZXJyICYmCiAJCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgcmVmcy9oZWFkcy9jb3B5ICYmCiAKQEAgLTEyMDQsNyArMTIwOCwxMCBAQAogCQlta19lbXB0eSBzaGFsbG93ICYmCiAJCSgKIAkJCWNkIHNoYWxsb3cgJiYKLQkJCXRlc3RfbXVzdF9mYWlsIGdpdCBmZXRjaCAtLWRlcHRoPTEgLi4vdGVzdHJlcG8vLmdpdCAkU0hBMSAmJgorCQkJIyBTb21lIHByb3RvY29sIHZlcnNpb25zIChlLmcuIDIpIHN1cHBvcnQgZmV0Y2hpbmcKKwkJCSMgdW5hZHZlcnRpc2VkIG9iamVjdHMsIHNvIHJlc3RyaWN0IHRoaXMgdGVzdCB0byB2MC4KKwkJCXRlc3RfbXVzdF9mYWlsIGVudiBHSVRfVEVTVF9QUk9UT0NPTF9WRVJTSU9OPTAgXAorCQkJCWdpdCBmZXRjaCAtLWRlcHRoPTEgLi4vdGVzdHJlcG8vLmdpdCAkU0hBMSAmJgogCQkJZ2l0IC0tZ2l0LWRpcj0uLi90ZXN0cmVwby8uZ2l0IGNvbmZpZyB1cGxvYWRwYWNrLmFsbG93cmVhY2hhYmxlc2hhMWlud2FudCB0cnVlICYmCiAJCQlnaXQgZmV0Y2ggLS1kZXB0aD0xIC4uL3Rlc3RyZXBvLy5naXQgJFNIQTEgJiYKIAkJCWdpdCBjYXQtZmlsZSBjb21taXQgJFNIQTEKQEAgLTEyMzIsMTUgKzEyMzksMjEgQEAKIAkJbWtfZW1wdHkgc2hhbGxvdyAmJgogCQkoCiAJCQljZCBzaGFsbG93ICYmCi0JCQl0ZXN0X211c3RfZmFpbCBvaz1zaWdwaXBlIGdpdCBmZXRjaCAuLi90ZXN0cmVwby8uZ2l0ICRTSEExXzMgJiYKLQkJCXRlc3RfbXVzdF9mYWlsIG9rPXNpZ3BpcGUgZ2l0IGZldGNoIC4uL3Rlc3RyZXBvLy5naXQgJFNIQTFfMSAmJgorCQkJIyBTb21lIHByb3RvY29sIHZlcnNpb25zIChlLmcuIDIpIHN1cHBvcnQgZmV0Y2hpbmcKKwkJCSMgdW5hZHZlcnRpc2VkIG9iamVjdHMsIHNvIHJlc3RyaWN0IHRoaXMgdGVzdCB0byB2MC4KKwkJCXRlc3RfbXVzdF9mYWlsIGVudiBHSVRfVEVTVF9QUk9UT0NPTF9WRVJTSU9OPTAgXAorCQkJCWdpdCBmZXRjaCAuLi90ZXN0cmVwby8uZ2l0ICRTSEExXzMgJiYKKwkJCXRlc3RfbXVzdF9mYWlsIGVudiBHSVRfVEVTVF9QUk9UT0NPTF9WRVJTSU9OPTAgXAorCQkJCWdpdCBmZXRjaCAuLi90ZXN0cmVwby8uZ2l0ICRTSEExXzEgJiYKIAkJCWdpdCAtLWdpdC1kaXI9Li4vdGVzdHJlcG8vLmdpdCBjb25maWcgdXBsb2FkcGFjay5hbGxvd3JlYWNoYWJsZXNoYTFpbndhbnQgdHJ1ZSAmJgogCQkJZ2l0IGZldGNoIC4uL3Rlc3RyZXBvLy5naXQgJFNIQTFfMSAmJgogCQkJZ2l0IGNhdC1maWxlIGNvbW1pdCAkU0hBMV8xICYmCiAJCQl0ZXN0X211c3RfZmFpbCBnaXQgY2F0LWZpbGUgY29tbWl0ICRTSEExXzIgJiYKIAkJCWdpdCBmZXRjaCAuLi90ZXN0cmVwby8uZ2l0ICRTSEExXzIgJiYKIAkJCWdpdCBjYXQtZmlsZSBjb21taXQgJFNIQTFfMiAmJgotCQkJdGVzdF9tdXN0X2ZhaWwgb2s9c2lncGlwZSBnaXQgZmV0Y2ggLi4vdGVzdHJlcG8vLmdpdCAkU0hBMV8zCisJCQl0ZXN0X211c3RfZmFpbCBlbnYgR0lUX1RFU1RfUFJPVE9DT0xfVkVSU0lPTj0wIFwKKwkJCQlnaXQgZmV0Y2ggLi4vdGVzdHJlcG8vLmdpdCAkU0hBMV8zIDI+ZXJyICYmCisJCQl0ZXN0X2kxOG5ncmVwICJyZW1vdGUgZXJyb3I6Lipub3Qgb3VyIHJlZi4qJFNIQTFfM1wkIiBlcnIKIAkJKQogCScKIGRvbmUKQEAgLTEyNzIsNiArMTI4NSwxNyBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncGVlbGVkIGFkdmVydGlzZW1lbnRzIGFyZSBub3QgY29uc2lkZXJlZCByZWYgdGlwcycgJworCW1rX2VtcHR5IHRlc3RyZXBvICYmCisJZ2l0IC1DIHRlc3RyZXBvIGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tIG9uZSAmJgorCWdpdCAtQyB0ZXN0cmVwbyBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSB0d28gJiYKKwlnaXQgLUMgdGVzdHJlcG8gdGFnIC1tIGZvbyBteXRhZyBIRUFEXiAmJgorCW9pZD0kKGdpdCAtQyB0ZXN0cmVwbyByZXYtcGFyc2UgbXl0YWdee2NvbW1pdH0pICYmCisJdGVzdF9tdXN0X2ZhaWwgZW52IEdJVF9URVNUX1BST1RPQ09MX1ZFUlNJT049MCBcCisJCWdpdCBmZXRjaCB0ZXN0cmVwbyAkb2lkIDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAiU2VydmVyIGRvZXMgbm90IGFsbG93IHJlcXVlc3QgZm9yIHVuYWR2ZXJ0aXNlZCBvYmplY3QiIGVycgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoaW5nIGEgc3BlY2lmaWMgcmVmIGFwcGxpZXMgcmVtb3RlLiRuYW1lLnB1c2ggYXMgcmVmbWFwJyAnCiAJbWtfdGVzdCB0ZXN0cmVwbyBoZWFkcy9tYXN0ZXIgJiYKIAlybSAtZnIgc3JjIGRzdCAmJgpAQCAtMTM3MCw3ICsxMzk0LDcgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggLS1mb2xsb3ctdGFnIG9ubHkgcHVzaGVzIHJlbGV2YW50IHRhZ3MnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggLS1mb2xsb3ctdGFncyBvbmx5IHB1c2hlcyByZWxldmFudCB0YWdzJyAnCiAJbWtfdGVzdCB0ZXN0cmVwbyBoZWFkcy9tYXN0ZXIgJiYKIAlybSAtZnIgc3JjIGRzdCAmJgogCWdpdCBpbml0IHNyYyAmJgpAQCAtMTM4NCw3ICsxNDA4LDcgQEAKIAkJZ2l0IHRhZyAtbSAiZnV0dXJlIiBmdXR1cmUgJiYKIAkJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgogCQlnaXQgZm9yLWVhY2gtcmVmIHJlZnMvaGVhZHMvbWFzdGVyIHJlZnMvdGFncy90YWcgPi4uL2V4cGVjdCAmJgotCQlnaXQgcHVzaCAtLWZvbGxvdy10YWcgLi4vZHN0IG1hc3RlcgorCQlnaXQgcHVzaCAtLWZvbGxvdy10YWdzIC4uL2RzdCBtYXN0ZXIKIAkpICYmCiAJKAogCQljZCBkc3QgJiYKQEAgLTE2ODgsNCArMTcxMiwxNSBAQAogCSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVueUN1cnJlbnRCcmFuY2ggYW5kIHdvcmt0cmVlcycgJworCWdpdCB3b3JrdHJlZSBhZGQgbmV3LXd0ICYmCisJZ2l0IGNsb25lIC4gY2xvbmVkICYmCisJdGVzdF9jb21taXQgLUMgY2xvbmVkIGZpcnN0ICYmCisJdGVzdF9jb25maWcgcmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCByZWZ1c2UgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgY2xvbmVkIHB1c2ggb3JpZ2luIEhFQUQ6bmV3LXd0ICYmCisJdGVzdF9jb25maWcgcmVjZWl2ZS5kZW55Q3VycmVudEJyYW5jaCB1cGRhdGVJbnN0ZWFkICYmCisJZ2l0IC1DIGNsb25lZCBwdXNoIG9yaWdpbiBIRUFEOm5ldy13dCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyBjbG9uZWQgcHVzaCAtLWRlbGV0ZSBvcmlnaW4gbmV3LXd0CisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTUxNy1wdXNoLW1pcnJvci5zaCBiL3QvdDU1MTctcHVzaC1taXJyb3Iuc2gKaW5kZXggYzA1YTY2MS4uZTRlZGQ1NiAxMDA3NTUKLS0tIGEvdC90NTUxNy1wdXNoLW1pcnJvci5zaAorKysgYi90L3Q1NTE3LXB1c2gtbWlycm9yLnNoCkBAIC0yNjUsNCArMjY1LDE0IEBACiAKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVzaCB0byBtaXJyb3JlZCByZXBvc2l0b3J5IHdpdGggcmVmc3BlYyBmYWlscycgJworCW1rX3JlcG9fcGFpciAmJgorCSgKKwkJY2QgbWFzdGVyICYmCisJCWVjaG8gb25lID5mb28gJiYgZ2l0IGFkZCBmb28gJiYgZ2l0IGNvbW1pdCAtbSBvbmUgJiYKKwkJZ2l0IGNvbmZpZyAtLWFkZCByZW1vdGUudXAubWlycm9yIHRydWUgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1c2ggdXAgbWFzdGVyCisJKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1MjAtcHVsbC5zaCBiL3QvdDU1MjAtcHVsbC5zaAppbmRleCBjZjRjYzMyLi4yZjg2ZmNhIDEwMDc1NQotLS0gYS90L3Q1NTIwLXB1bGwuc2gKKysrIGIvdC90NTUyMC1wdWxsLnNoCkBAIC01LDcgKzUsNyBAQAogLiAuL3Rlc3QtbGliLnNoCiAKIG1vZGlmeSAoKSB7Ci0Jc2VkIC1lICIkMSIgPCIkMiIgPiIkMi54IiAmJgorCXNlZCAtZSAiJDEiICIkMiIgPiIkMi54IiAmJgogCW12ICIkMi54IiAiJDIiCiB9CiAKQEAgLTE1LDggKzE1LDEwIEBACiAJZ2l0IGFkZCBuZXdfZmlsZSAmJgogCWdpdCBwdWxsICIkQCIgLiBjb3B5ICYmCiAJdGVzdF9jbXBfcmV2IEhFQUReIGNvcHkgJiYKLQl0ZXN0ICIkKGNhdCBuZXdfZmlsZSkiID0gZGlydHkgJiYKLQl0ZXN0ICIkKGNhdCBmaWxlKSIgPSAibW9kaWZpZWQgYWdhaW4iCisJZWNobyBkaXJ0eSA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IG5ld19maWxlICYmCisJZWNobyAibW9kaWZpZWQgYWdhaW4iID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgZmlsZQogfQogCiB0ZXN0X3B1bGxfYXV0b3N0YXNoX2ZhaWwgKCkgewpAQCAtMzksOCArNDEsOCBAQAogCQljZCBjbG9uZWQgJiYKIAkJZ2l0IHB1bGwgLi4KIAkpICYmCi0JdGVzdCAtZiBmaWxlICYmCi0JdGVzdCAtZiBjbG9uZWQvZmlsZSAmJgorCXRlc3RfcGF0aF9pc19maWxlIGZpbGUgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBjbG9uZWQvZmlsZSAmJgogCXRlc3RfY21wIGZpbGUgY2xvbmVkL2ZpbGUKICcKIApAQCAtNTAsOCArNTIsOCBAQAogCQljZCBjbG9uZWQtdWhvICYmCiAJCWdpdCBwdWxsIC4uIG1hc3RlcjptYXN0ZXIKIAkpICYmCi0JdGVzdCAtZiBmaWxlICYmCi0JdGVzdCAtZiBjbG9uZWQtdWhvL2ZpbGUgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBmaWxlICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgY2xvbmVkLXVoby9maWxlICYmCiAJdGVzdF9jbXAgZmlsZSBjbG9uZWQtdWhvL2ZpbGUKICcKIApAQCAtOTksNyArMTAxLDcgQEAKIAkoCiAJCWNkIGNsb25lZC1vY3RvcHVzICYmCiAJCXRlc3RfbXVzdF9mYWlsIGdpdCBwdWxsIC4uIG1hc3RlciBtYXN0ZXIgJiYKLQkJISB0ZXN0IC1mIGZpbGUKKwkJdGVzdF9wYXRoX2lzX21pc3NpbmcgZmlsZQogCSkKICcKIApAQCAtMTEwLDkgKzExMiwxMSBAQAogCWVjaG8gdXBkYXRlZCA+ZmlsZSAmJgogCWdpdCBjb21taXQgLWEgLW0gdXBkYXRlZCAmJgogCWdpdCBjaGVja291dCBjb3B5ICYmCi0JdGVzdCAiJChjYXQgZmlsZSkiID0gZmlsZSAmJgorCWVjaG8gZmlsZSA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGZpbGUgJiYKIAlnaXQgcHVsbCAmJgotCXRlc3QgIiQoY2F0IGZpbGUpIiA9IHVwZGF0ZWQgJiYKKwllY2hvIHVwZGF0ZWQgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBmaWxlICYmCiAJZ2l0IHJlZmxvZyAtMSA+cmVmbG9nLmFjdHVhbCAmJgogCXNlZCAicy9eWzAtOWEtZl1bMC05YS1mXSovT0JKSUQvIiByZWZsb2cuYWN0dWFsID5yZWZsb2cuZnV6enkgJiYKIAllY2hvICJPQkpJRCBIRUFEQHswfTogcHVsbDogRmFzdC1mb3J3YXJkIiA+cmVmbG9nLmV4cGVjdGVkICYmCkBAIC0xMjUsOSArMTI5LDExIEBACiAJZ2l0IGNvbW1pdCAtYSAtbSBtb2RpZmllZCAmJgogCWdpdCBjaGVja291dCBjb3B5ICYmCiAJZ2l0IHJlc2V0IC0taGFyZCBIRUFEXiAmJgotCXRlc3QgIiQoY2F0IGZpbGUpIiA9IGZpbGUgJiYKKwllY2hvIGZpbGUgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBmaWxlICYmCiAJZ2l0IHB1bGwgLiBzZWNvbmQgJiYKLQl0ZXN0ICIkKGNhdCBmaWxlKSIgPSBtb2RpZmllZCAmJgorCWVjaG8gbW9kaWZpZWQgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBmaWxlICYmCiAJZ2l0IHJlZmxvZyAtMSA+cmVmbG9nLmFjdHVhbCAmJgogCXNlZCAicy9eWzAtOWEtZl1bMC05YS1mXSovT0JKSUQvIiByZWZsb2cuYWN0dWFsID5yZWZsb2cuZnV6enkgJiYKIAllY2hvICJPQkpJRCBIRUFEQHswfTogcHVsbCAuIHNlY29uZDogRmFzdC1mb3J3YXJkIiA+cmVmbG9nLmV4cGVjdGVkICYmCkBAIC0xMzcsMTAgKzE0MywxMSBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmFpbCBpZiB3aWxkY2FyZCBzcGVjIGRvZXMgbm90IG1hdGNoIGFueSByZWZzJyAnCiAJZ2l0IGNoZWNrb3V0IC1iIHRlc3QgY29weV4gJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBjaGVja291dCAtZiBjb3B5ICYmIGdpdCBicmFuY2ggLUQgdGVzdCIgJiYKLQl0ZXN0ICIkKGNhdCBmaWxlKSIgPSBmaWxlICYmCisJZWNobyBmaWxlID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgZmlsZSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBwdWxsIC4gInJlZnMvbm9uZXhpc3RpbmcxLyo6cmVmcy9ub25leGlzdGluZzIvKiIgMj5lcnIgJiYKIAl0ZXN0X2kxOG5ncmVwICJubyBjYW5kaWRhdGVzIGZvciBtZXJnaW5nIiBlcnIgJiYKLQl0ZXN0ICIkKGNhdCBmaWxlKSIgPSBmaWxlCisJdGVzdF9jbXAgZXhwZWN0IGZpbGUKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmFpbCBpZiBubyBicmFuY2hlcyBzcGVjaWZpZWQgd2l0aCBub24tZGVmYXVsdCByZW1vdGUnICcKQEAgLTE0OCwxMSArMTU1LDEyIEBACiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVtb3RlIHJlbW92ZSB0ZXN0X3JlbW90ZSIgJiYKIAlnaXQgY2hlY2tvdXQgLWIgdGVzdCBjb3B5XiAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IGNoZWNrb3V0IC1mIGNvcHkgJiYgZ2l0IGJyYW5jaCAtRCB0ZXN0IiAmJgotCXRlc3QgIiQoY2F0IGZpbGUpIiA9IGZpbGUgJiYKKwllY2hvIGZpbGUgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBmaWxlICYmCiAJdGVzdF9jb25maWcgYnJhbmNoLnRlc3QucmVtb3RlIG9yaWdpbiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBwdWxsIHRlc3RfcmVtb3RlIDI+ZXJyICYmCiAJdGVzdF9pMThuZ3JlcCAic3BlY2lmeSBhIGJyYW5jaCBvbiB0aGUgY29tbWFuZCBsaW5lIiBlcnIgJiYKLQl0ZXN0ICIkKGNhdCBmaWxlKSIgPSBmaWxlCisJdGVzdF9jbXAgZXhwZWN0IGZpbGUKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmFpbCBpZiBub3Qgb24gYSBicmFuY2gnICcKQEAgLTE2MCwxMCArMTY4LDExIEBACiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVtb3RlIHJlbW92ZSBvcmlnaW4iICYmCiAJZ2l0IGNoZWNrb3V0IEhFQUReICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlY2tvdXQgLWYgY29weSIgJiYKLQl0ZXN0ICIkKGNhdCBmaWxlKSIgPSBmaWxlICYmCisJZWNobyBmaWxlID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgZmlsZSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBwdWxsIDI+ZXJyICYmCiAJdGVzdF9pMThuZ3JlcCAibm90IGN1cnJlbnRseSBvbiBhIGJyYW5jaCIgZXJyICYmCi0JdGVzdCAiJChjYXQgZmlsZSkiID0gZmlsZQorCXRlc3RfY21wIGV4cGVjdCBmaWxlCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZhaWwgaWYgbm8gY29uZmlndXJhdGlvbiBmb3IgY3VycmVudCBicmFuY2gnICcKQEAgLTE3MiwxMCArMTgxLDExIEBACiAJZ2l0IGNoZWNrb3V0IC1iIHRlc3QgY29weV4gJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBjaGVja291dCAtZiBjb3B5ICYmIGdpdCBicmFuY2ggLUQgdGVzdCIgJiYKIAl0ZXN0X2NvbmZpZyBicmFuY2gudGVzdC5yZW1vdGUgdGVzdF9yZW1vdGUgJiYKLQl0ZXN0ICIkKGNhdCBmaWxlKSIgPSBmaWxlICYmCisJZWNobyBmaWxlID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgZmlsZSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBwdWxsIDI+ZXJyICYmCiAJdGVzdF9pMThuZ3JlcCAibm8gdHJhY2tpbmcgaW5mb3JtYXRpb24iIGVyciAmJgotCXRlc3QgIiQoY2F0IGZpbGUpIiA9IGZpbGUKKwl0ZXN0X2NtcCBleHBlY3QgZmlsZQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdWxsIC0tYWxsOiBmYWlsIGlmIG5vIGNvbmZpZ3VyYXRpb24gZm9yIGN1cnJlbnQgYnJhbmNoJyAnCkBAIC0xODQsMTAgKzE5NCwxMSBAQAogCWdpdCBjaGVja291dCAtYiB0ZXN0IGNvcHleICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlY2tvdXQgLWYgY29weSAmJiBnaXQgYnJhbmNoIC1EIHRlc3QiICYmCiAJdGVzdF9jb25maWcgYnJhbmNoLnRlc3QucmVtb3RlIHRlc3RfcmVtb3RlICYmCi0JdGVzdCAiJChjYXQgZmlsZSkiID0gZmlsZSAmJgorCWVjaG8gZmlsZSA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGZpbGUgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcHVsbCAtLWFsbCAyPmVyciAmJgogCXRlc3RfaTE4bmdyZXAgIlRoZXJlIGlzIG5vIHRyYWNraW5nIGluZm9ybWF0aW9uIiBlcnIgJiYKLQl0ZXN0ICIkKGNhdCBmaWxlKSIgPSBmaWxlCisJdGVzdF9jbXAgZXhwZWN0IGZpbGUKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmFpbCBpZiB1cHN0cmVhbSBicmFuY2ggZG9lcyBub3QgZXhpc3QnICcKQEAgLTE5NSwyNiArMjA2LDMxIEBACiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlY2tvdXQgLWYgY29weSAmJiBnaXQgYnJhbmNoIC1EIHRlc3QiICYmCiAJdGVzdF9jb25maWcgYnJhbmNoLnRlc3QucmVtb3RlIC4gJiYKIAl0ZXN0X2NvbmZpZyBicmFuY2gudGVzdC5tZXJnZSByZWZzL2hlYWRzL25vbmV4aXN0aW5nICYmCi0JdGVzdCAiJChjYXQgZmlsZSkiID0gZmlsZSAmJgorCWVjaG8gZmlsZSA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGZpbGUgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcHVsbCAyPmVyciAmJgogCXRlc3RfaTE4bmdyZXAgIm5vIHN1Y2ggcmVmIHdhcyBmZXRjaGVkIiBlcnIgJiYKLQl0ZXN0ICIkKGNhdCBmaWxlKSIgPSBmaWxlCisJdGVzdF9jbXAgZXhwZWN0IGZpbGUKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmFpbCBpZiB0aGUgaW5kZXggaGFzIHVucmVzb2x2ZWQgZW50cmllcycgJwogCWdpdCBjaGVja291dCAtYiB0aGlyZCBzZWNvbmReICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlY2tvdXQgLWYgY29weSAmJiBnaXQgYnJhbmNoIC1EIHRoaXJkIiAmJgotCXRlc3QgIiQoY2F0IGZpbGUpIiA9IGZpbGUgJiYKKwllY2hvIGZpbGUgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBmaWxlICYmCiAJdGVzdF9jb21taXQgbW9kaWZpZWQyIGZpbGUgJiYKLQl0ZXN0IC16ICIkKGdpdCBscy1maWxlcyAtdSkiICYmCisJZ2l0IGxzLWZpbGVzIC11ID51bm1lcmdlZCAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSB1bm1lcmdlZCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBwdWxsIC4gc2Vjb25kICYmCi0JdGVzdCAtbiAiJChnaXQgbHMtZmlsZXMgLXUpIiAmJgorCWdpdCBscy1maWxlcyAtdSA+dW5tZXJnZWQgJiYKKwl0ZXN0X2ZpbGVfbm90X2VtcHR5IHVubWVyZ2VkICYmCiAJY3AgZmlsZSBleHBlY3RlZCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBwdWxsIC4gc2Vjb25kIDI+ZXJyICYmCiAJdGVzdF9pMThuZ3JlcCAiUHVsbGluZyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSB5b3UgaGF2ZSB1bm1lcmdlZCBmaWxlcy4iIGVyciAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGZpbGUgJiYKIAlnaXQgYWRkIGZpbGUgJiYKLQl0ZXN0IC16ICIkKGdpdCBscy1maWxlcyAtdSkiICYmCisJZ2l0IGxzLWZpbGVzIC11ID51bm1lcmdlZCAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSB1bm1lcmdlZCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBwdWxsIC4gc2Vjb25kIDI+ZXJyICYmCiAJdGVzdF9pMThuZ3JlcCAiWW91IGhhdmUgbm90IGNvbmNsdWRlZCB5b3VyIG1lcmdlIiBlcnIgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBmaWxlCkBAIC0yMjMsNDcgKzIzOSw2NiBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmFzdC1mb3J3YXJkcyB3b3JraW5nIHRyZWUgaWYgYnJhbmNoIGhlYWQgaXMgdXBkYXRlZCcgJwogCWdpdCBjaGVja291dCAtYiB0aGlyZCBzZWNvbmReICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlY2tvdXQgLWYgY29weSAmJiBnaXQgYnJhbmNoIC1EIHRoaXJkIiAmJgotCXRlc3QgIiQoY2F0IGZpbGUpIiA9IGZpbGUgJiYKKwllY2hvIGZpbGUgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBmaWxlICYmCiAJZ2l0IHB1bGwgLiBzZWNvbmQ6dGhpcmQgMj5lcnIgJiYKIAl0ZXN0X2kxOG5ncmVwICJmZXRjaCB1cGRhdGVkIHRoZSBjdXJyZW50IGJyYW5jaCBoZWFkIiBlcnIgJiYKLQl0ZXN0ICIkKGNhdCBmaWxlKSIgPSBtb2RpZmllZCAmJgotCXRlc3QgIiQoZ2l0IHJldi1wYXJzZSB0aGlyZCkiID0gIiQoZ2l0IHJldi1wYXJzZSBzZWNvbmQpIgorCWVjaG8gbW9kaWZpZWQgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBmaWxlICYmCisJdGVzdF9jbXBfcmV2IHRoaXJkIHNlY29uZAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmYXN0LWZvcndhcmQgZmFpbHMgd2l0aCBjb25mbGljdGluZyB3b3JrIHRyZWUnICcKIAlnaXQgY2hlY2tvdXQgLWIgdGhpcmQgc2Vjb25kXiAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IGNoZWNrb3V0IC1mIGNvcHkgJiYgZ2l0IGJyYW5jaCAtRCB0aGlyZCIgJiYKLQl0ZXN0ICIkKGNhdCBmaWxlKSIgPSBmaWxlICYmCisJZWNobyBmaWxlID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgZmlsZSAmJgogCWVjaG8gY29uZmxpY3QgPmZpbGUgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcHVsbCAuIHNlY29uZDp0aGlyZCAyPmVyciAmJgogCXRlc3RfaTE4bmdyZXAgIkNhbm5vdCBmYXN0LWZvcndhcmQgeW91ciB3b3JraW5nIHRyZWUiIGVyciAmJgotCXRlc3QgIiQoY2F0IGZpbGUpIiA9IGNvbmZsaWN0ICYmCi0JdGVzdCAiJChnaXQgcmV2LXBhcnNlIHRoaXJkKSIgPSAiJChnaXQgcmV2LXBhcnNlIHNlY29uZCkiCisJZWNobyBjb25mbGljdCA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGZpbGUgJiYKKwl0ZXN0X2NtcF9yZXYgdGhpcmQgc2Vjb25kCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmViYXNlJyAnCiAJZ2l0IGJyYW5jaCB0by1yZWJhc2UgJiYKLQllY2hvIG1vZGlmaWVkIGFnYWluID4gZmlsZSAmJgorCWVjaG8gbW9kaWZpZWQgYWdhaW4gPmZpbGUgJiYKIAlnaXQgY29tbWl0IC1tIGZpbGUgZmlsZSAmJgogCWdpdCBjaGVja291dCB0by1yZWJhc2UgJiYKLQllY2hvIG5ldyA+IGZpbGUyICYmCisJZWNobyBuZXcgPmZpbGUyICYmCiAJZ2l0IGFkZCBmaWxlMiAmJgogCWdpdCBjb21taXQgLW0gIm5ldyBmaWxlIiAmJgogCWdpdCB0YWcgYmVmb3JlLXJlYmFzZSAmJgogCWdpdCBwdWxsIC0tcmViYXNlIC4gY29weSAmJgotCXRlc3QgIiQoZ2l0IHJldi1wYXJzZSBIRUFEXikiID0gIiQoZ2l0IHJldi1wYXJzZSBjb3B5KSIgJiYKLQl0ZXN0IG5ldyA9ICIkKGdpdCBzaG93IEhFQUQ6ZmlsZTIpIgorCXRlc3RfY21wX3JldiBIRUFEXiBjb3B5ICYmCisJZWNobyBuZXcgPmV4cGVjdCAmJgorCWdpdCBzaG93IEhFQUQ6ZmlsZTIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1yZWJhc2UgZmFzdCBmb3J3YXJkJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXJlYmFzZSAobWVyZ2UpIGZhc3QgZm9yd2FyZCcgJwogCWdpdCByZXNldCAtLWhhcmQgYmVmb3JlLXJlYmFzZSAmJgogCWdpdCBjaGVja291dCAtYiBmZiAmJgogCWVjaG8gYW5vdGhlciBtb2RpZmljYXRpb24gPmZpbGUgJiYKIAlnaXQgY29tbWl0IC1tIHRoaXJkIGZpbGUgJiYKIAogCWdpdCBjaGVja291dCB0by1yZWJhc2UgJiYKLQlnaXQgcHVsbCAtLXJlYmFzZSAuIGZmICYmCi0JdGVzdCAiJChnaXQgcmV2LXBhcnNlIEhFQUQpIiA9ICIkKGdpdCByZXYtcGFyc2UgZmYpIiAmJgorCWdpdCAtYyByZWJhc2UuYmFja2VuZD1tZXJnZSBwdWxsIC0tcmViYXNlIC4gZmYgJiYKKwl0ZXN0X2NtcF9yZXYgSEVBRCBmZiAmJgorCisJIyBUaGUgYWJvdmUgb25seSB2YWxpZGF0ZXMgdGhlIHJlc3VsdC4gIERpZCB3ZSBhY3R1YWxseSBieXBhc3MgcmViYXNlPworCWdpdCByZWZsb2cgLTEgPnJlZmxvZy5hY3R1YWwgJiYKKwlzZWQgInMvXlswLTlhLWZdWzAtOWEtZl0qL09CSklELyIgcmVmbG9nLmFjdHVhbCA+cmVmbG9nLmZ1enp5ICYmCisJZWNobyAiT0JKSUQgSEVBREB7MH06IHB1bGwgLS1yZWJhc2UgLiBmZjogRmFzdC1mb3J3YXJkIiA+cmVmbG9nLmV4cGVjdGVkICYmCisJdGVzdF9jbXAgcmVmbG9nLmV4cGVjdGVkIHJlZmxvZy5mdXp6eQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXJlYmFzZSAoYW0pIGZhc3QgZm9yd2FyZCcgJworCWdpdCByZXNldCAtLWhhcmQgYmVmb3JlLXJlYmFzZSAmJgorCisJZ2l0IC1jIHJlYmFzZS5iYWNrZW5kPWFwcGx5IHB1bGwgLS1yZWJhc2UgLiBmZiAmJgorCXRlc3RfY21wX3JldiBIRUFEIGZmICYmCiAKIAkjIFRoZSBhYm92ZSBvbmx5IHZhbGlkYXRlcyB0aGUgcmVzdWx0LiAgRGlkIHdlIGFjdHVhbGx5IGJ5cGFzcyByZWJhc2U/CiAJZ2l0IHJlZmxvZyAtMSA+cmVmbG9nLmFjdHVhbCAmJgpAQCAtMjg3LDcgKzMyMiw3IEBACiAJZ2l0IGNoZWNrb3V0IGJlaGluZCAmJgogCWVjaG8gZGlydHkgPmZpbGUgJiYKIAlnaXQgcHVsbCAtLXJlYmFzZSAtLWF1dG9zdGFzaCAuIHRvLXJlYmFzZS1mZiAmJgotCXRlc3QgIiQoZ2l0IHJldi1wYXJzZSBIRUFEKSIgPSAiJChnaXQgcmV2LXBhcnNlIHRvLXJlYmFzZS1mZikiCisJdGVzdF9jbXBfcmV2IEhFQUQgdG8tcmViYXNlLWZmCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmViYXNlIHdpdGggY29uZmxpY3RzIHNob3dzIGFkdmljZScgJwpAQCAtMzA1LDcgKzM0MCw3IEBACiAJdGVzdF90aWNrICYmCiAJZ2l0IGNvbW1pdCAtbSAiQ3JlYXRlIGNvbmZsaWN0IiBzZXEudHh0ICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1bGwgLS1yZWJhc2UgLiBzZXEgMj5lcnIgPm91dCAmJgotCXRlc3RfaTE4bmdyZXAgIlJlc29sdmUgYWxsIGNvbmZsaWN0cyBtYW51YWxseSIgb3V0CisJdGVzdF9pMThuZ3JlcCAiUmVzb2x2ZSBhbGwgY29uZmxpY3RzIG1hbnVhbGx5IiBlcnIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmFpbGVkIC0tcmViYXNlIHNob3dzIGFkdmljZScgJwpAQCAtMzE5LDE1ICszNTQsMTcgQEAKIAlnaXQgY2hlY2tvdXQgLWYgLWIgZmFpbHMtdG8tcmViYXNlIEhFQUReICYmCiAJdGVzdF9jb21taXQgdjItd2l0aG91dC1jciBmaWxlICIyIiBmaWxlMi1sZiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBwdWxsIC0tcmViYXNlIC4gZGl2ZXJnaW5nIDI+ZXJyID5vdXQgJiYKLQl0ZXN0X2kxOG5ncmVwICJSZXNvbHZlIGFsbCBjb25mbGljdHMgbWFudWFsbHkiIG91dAorCXRlc3RfaTE4bmdyZXAgIlJlc29sdmUgYWxsIGNvbmZsaWN0cyBtYW51YWxseSIgZXJyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmViYXNlIGZhaWxzIHdpdGggbXVsdGlwbGUgYnJhbmNoZXMnICcKIAlnaXQgcmVzZXQgLS1oYXJkIGJlZm9yZS1yZWJhc2UgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcHVsbCAtLXJlYmFzZSAuIGNvcHkgbWFzdGVyIDI+ZXJyICYmCi0JdGVzdCAiJChnaXQgcmV2LXBhcnNlIEhFQUQpIiA9ICIkKGdpdCByZXYtcGFyc2UgYmVmb3JlLXJlYmFzZSkiICYmCisJdGVzdF9jbXBfcmV2IEhFQUQgYmVmb3JlLXJlYmFzZSAmJgogCXRlc3RfaTE4bmdyZXAgIkNhbm5vdCByZWJhc2Ugb250byBtdWx0aXBsZSBicmFuY2hlcyIgZXJyICYmCi0JdGVzdCBtb2RpZmllZCA9ICIkKGdpdCBzaG93IEhFQUQ6ZmlsZSkiCisJZWNobyBtb2RpZmllZCA+ZXhwZWN0ICYmCisJZ2l0IHNob3cgSEVBRDpmaWxlID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1bGwgLS1yZWJhc2Ugc3VjY2VlZHMgd2l0aCBkaXJ0eSB3b3JraW5nIGRpcmVjdG9yeSBhbmQgcmViYXNlLmF1dG9zdGFzaCBzZXQnICcKQEAgLTM3Nyw4ICs0MTQsMTAgQEAKIAlnaXQgcmVzZXQgLS1oYXJkIGJlZm9yZS1yZWJhc2UgJiYKIAl0ZXN0X2NvbmZpZyBwdWxsLnJlYmFzZSB0cnVlICYmCiAJZ2l0IHB1bGwgLiBjb3B5ICYmCi0JdGVzdCAiJChnaXQgcmV2LXBhcnNlIEhFQUReKSIgPSAiJChnaXQgcmV2LXBhcnNlIGNvcHkpIiAmJgotCXRlc3QgbmV3ID0gIiQoZ2l0IHNob3cgSEVBRDpmaWxlMikiCisJdGVzdF9jbXBfcmV2IEhFQUReIGNvcHkgJiYKKwllY2hvIG5ldyA+ZXhwZWN0ICYmCisJZ2l0IHNob3cgSEVBRDpmaWxlMiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdWxsIC0tYXV0b3N0YXNoICYgcHVsbC5yZWJhc2U9dHJ1ZScgJwpAQCAtMzk1LDggKzQzNCwxMCBAQAogCWdpdCByZXNldCAtLWhhcmQgYmVmb3JlLXJlYmFzZSAmJgogCXRlc3RfY29uZmlnIGJyYW5jaC50by1yZWJhc2UucmViYXNlIHRydWUgJiYKIAlnaXQgcHVsbCAuIGNvcHkgJiYKLQl0ZXN0ICIkKGdpdCByZXYtcGFyc2UgSEVBRF4pIiA9ICIkKGdpdCByZXYtcGFyc2UgY29weSkiICYmCi0JdGVzdCBuZXcgPSAiJChnaXQgc2hvdyBIRUFEOmZpbGUyKSIKKwl0ZXN0X2NtcF9yZXYgSEVBRF4gY29weSAmJgorCWVjaG8gbmV3ID5leHBlY3QgJiYKKwlnaXQgc2hvdyBIRUFEOmZpbGUyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JyYW5jaC50by1yZWJhc2UucmViYXNlIHNob3VsZCBvdmVycmlkZSBwdWxsLnJlYmFzZScgJwpAQCAtNDA0LDIzICs0NDUsMjkgQEAKIAl0ZXN0X2NvbmZpZyBwdWxsLnJlYmFzZSB0cnVlICYmCiAJdGVzdF9jb25maWcgYnJhbmNoLnRvLXJlYmFzZS5yZWJhc2UgZmFsc2UgJiYKIAlnaXQgcHVsbCAuIGNvcHkgJiYKLQl0ZXN0ICIkKGdpdCByZXYtcGFyc2UgSEVBRF4pIiAhPSAiJChnaXQgcmV2LXBhcnNlIGNvcHkpIiAmJgotCXRlc3QgbmV3ID0gIiQoZ2l0IHNob3cgSEVBRDpmaWxlMikiCisJdGVzdF9jbXBfcmV2ICEgSEVBRF4gY29weSAmJgorCWVjaG8gbmV3ID5leHBlY3QgJiYKKwlnaXQgc2hvdyBIRUFEOmZpbGUyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgInB1bGwgLS1yZWJhc2Ugd2FybnMgb24gLS12ZXJpZnktc2lnbmF0dXJlcyIgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVsbCAtLXJlYmFzZSB3YXJucyBvbiAtLXZlcmlmeS1zaWduYXR1cmVzJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCBiZWZvcmUtcmViYXNlICYmCiAJZ2l0IHB1bGwgLS1yZWJhc2UgLS12ZXJpZnktc2lnbmF0dXJlcyAuIGNvcHkgMj5lcnIgJiYKLQl0ZXN0ICIkKGdpdCByZXYtcGFyc2UgSEVBRF4pIiA9ICIkKGdpdCByZXYtcGFyc2UgY29weSkiICYmCi0JdGVzdCBuZXcgPSAiJChnaXQgc2hvdyBIRUFEOmZpbGUyKSIgJiYKKwl0ZXN0X2NtcF9yZXYgSEVBRF4gY29weSAmJgorCWVjaG8gbmV3ID5leHBlY3QgJiYKKwlnaXQgc2hvdyBIRUFEOmZpbGUyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCiAJdGVzdF9pMThuZ3JlcCAiaWdub3JpbmcgLS12ZXJpZnktc2lnbmF0dXJlcyBmb3IgcmViYXNlIiBlcnIKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAicHVsbCAtLXJlYmFzZSBkb2VzIG5vdCB3YXJuIG9uIC0tbm8tdmVyaWZ5LXNpZ25hdHVyZXMiICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1bGwgLS1yZWJhc2UgZG9lcyBub3Qgd2FybiBvbiAtLW5vLXZlcmlmeS1zaWduYXR1cmVzJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCBiZWZvcmUtcmViYXNlICYmCiAJZ2l0IHB1bGwgLS1yZWJhc2UgLS1uby12ZXJpZnktc2lnbmF0dXJlcyAuIGNvcHkgMj5lcnIgJiYKLQl0ZXN0ICIkKGdpdCByZXYtcGFyc2UgSEVBRF4pIiA9ICIkKGdpdCByZXYtcGFyc2UgY29weSkiICYmCi0JdGVzdCBuZXcgPSAiJChnaXQgc2hvdyBIRUFEOmZpbGUyKSIgJiYKKwl0ZXN0X2NtcF9yZXYgSEVBRF4gY29weSAmJgorCWVjaG8gbmV3ID5leHBlY3QgJiYKKwlnaXQgc2hvdyBIRUFEOmZpbGUyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCiAJdGVzdF9pMThuZ3JlcCAhICJ2ZXJpZnktc2lnbmF0dXJlcyIgZXJyCiAnCiAKQEAgLTQ0MCwyNSArNDg3LDMxIEBACiAJZ2l0IHJlc2V0IC0taGFyZCBiZWZvcmUtcHJlc2VydmUtcmViYXNlICYmCiAJdGVzdF9jb25maWcgcHVsbC5yZWJhc2UgZmFsc2UgJiYKIAlnaXQgcHVsbCAuIGNvcHkgJiYKLQl0ZXN0ICIkKGdpdCByZXYtcGFyc2UgSEVBRF4xKSIgPSAiJChnaXQgcmV2LXBhcnNlIGJlZm9yZS1wcmVzZXJ2ZS1yZWJhc2UpIiAmJgotCXRlc3QgIiQoZ2l0IHJldi1wYXJzZSBIRUFEXjIpIiA9ICIkKGdpdCByZXYtcGFyc2UgY29weSkiICYmCi0JdGVzdCBmaWxlMyA9ICIkKGdpdCBzaG93IEhFQUQ6ZmlsZTMudCkiCisJdGVzdF9jbXBfcmV2IEhFQUReMSBiZWZvcmUtcHJlc2VydmUtcmViYXNlICYmCisJdGVzdF9jbXBfcmV2IEhFQUReMiBjb3B5ICYmCisJZWNobyBmaWxlMyA+ZXhwZWN0ICYmCisJZ2l0IHNob3cgSEVBRDpmaWxlMy50ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1bGwucmViYXNlPXRydWUgZmxhdHRlbnMga2VlcC1tZXJnZScgJwogCWdpdCByZXNldCAtLWhhcmQgYmVmb3JlLXByZXNlcnZlLXJlYmFzZSAmJgogCXRlc3RfY29uZmlnIHB1bGwucmViYXNlIHRydWUgJiYKIAlnaXQgcHVsbCAuIGNvcHkgJiYKLQl0ZXN0ICIkKGdpdCByZXYtcGFyc2UgSEVBRF5eKSIgPSAiJChnaXQgcmV2LXBhcnNlIGNvcHkpIiAmJgotCXRlc3QgZmlsZTMgPSAiJChnaXQgc2hvdyBIRUFEOmZpbGUzLnQpIgorCXRlc3RfY21wX3JldiBIRUFEXl4gY29weSAmJgorCWVjaG8gZmlsZTMgPmV4cGVjdCAmJgorCWdpdCBzaG93IEhFQUQ6ZmlsZTMudCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdWxsLnJlYmFzZT0xIGlzIHRyZWF0ZWQgYXMgdHJ1ZSBhbmQgZmxhdHRlbnMga2VlcC1tZXJnZScgJwogCWdpdCByZXNldCAtLWhhcmQgYmVmb3JlLXByZXNlcnZlLXJlYmFzZSAmJgogCXRlc3RfY29uZmlnIHB1bGwucmViYXNlIDEgJiYKIAlnaXQgcHVsbCAuIGNvcHkgJiYKLQl0ZXN0ICIkKGdpdCByZXYtcGFyc2UgSEVBRF5eKSIgPSAiJChnaXQgcmV2LXBhcnNlIGNvcHkpIiAmJgotCXRlc3QgZmlsZTMgPSAiJChnaXQgc2hvdyBIRUFEOmZpbGUzLnQpIgorCXRlc3RfY21wX3JldiBIRUFEXl4gY29weSAmJgorCWVjaG8gZmlsZTMgPmV4cGVjdCAmJgorCWdpdCBzaG93IEhFQUQ6ZmlsZTMudCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFJFQkFTRV9QIFwKQEAgLTQ2Niw4ICs1MTksOCBAQAogCWdpdCByZXNldCAtLWhhcmQgYmVmb3JlLXByZXNlcnZlLXJlYmFzZSAmJgogCXRlc3RfY29uZmlnIHB1bGwucmViYXNlIHByZXNlcnZlICYmCiAJZ2l0IHB1bGwgLiBjb3B5ICYmCi0JdGVzdCAiJChnaXQgcmV2LXBhcnNlIEhFQUReXikiID0gIiQoZ2l0IHJldi1wYXJzZSBjb3B5KSIgJiYKLQl0ZXN0ICIkKGdpdCByZXYtcGFyc2UgSEVBRF4yKSIgPSAiJChnaXQgcmV2LXBhcnNlIGtlZXAtbWVyZ2UpIgorCXRlc3RfY21wX3JldiBIRUFEXl4gY29weSAmJgorCXRlc3RfY21wX3JldiBIRUFEXjIga2VlcC1tZXJnZQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdWxsLnJlYmFzZT1pbnRlcmFjdGl2ZScgJwpAQCAtNDc4LDcgKzUzMSw4IEBACiAJdGVzdF9zZXRfZWRpdG9yICIkVFJBU0hfRElSRUNUT1JZL2Zha2UtZWRpdG9yIiAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAidGVzdF9taWdodF9mYWlsIGdpdCByZWJhc2UgLS1hYm9ydCIgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcHVsbCAtLXJlYmFzZT1pbnRlcmFjdGl2ZSAuIGNvcHkgJiYKLQl0ZXN0ICJJIHdhcyBoZXJlIiA9ICIkKGNhdCBmYWtlLm91dCkiCisJZWNobyAiSSB3YXMgaGVyZSIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBmYWtlLm91dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdWxsIC0tcmViYXNlPWknICcKQEAgLTQ4OSwzMCArNTQzLDM1IEBACiAJdGVzdF9zZXRfZWRpdG9yICIkVFJBU0hfRElSRUNUT1JZL2Zha2UtZWRpdG9yIiAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAidGVzdF9taWdodF9mYWlsIGdpdCByZWJhc2UgLS1hYm9ydCIgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcHVsbCAtLXJlYmFzZT1pIC4gY29weSAmJgotCXRlc3QgIkkgd2FzIGhlcmUsIHRvbyIgPSAiJChjYXQgZmFrZS5vdXQpIgorCWVjaG8gIkkgd2FzIGhlcmUsIHRvbyIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBmYWtlLm91dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdWxsLnJlYmFzZT1pbnZhbGlkIGZhaWxzJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCBiZWZvcmUtcHJlc2VydmUtcmViYXNlICYmCiAJdGVzdF9jb25maWcgcHVsbC5yZWJhc2UgaW52YWxpZCAmJgotCSEgZ2l0IHB1bGwgLiBjb3B5CisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1bGwgLiBjb3B5CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmViYXNlPWZhbHNlIGNyZWF0ZSBhIG5ldyBtZXJnZSBjb21taXQnICcKIAlnaXQgcmVzZXQgLS1oYXJkIGJlZm9yZS1wcmVzZXJ2ZS1yZWJhc2UgJiYKIAl0ZXN0X2NvbmZpZyBwdWxsLnJlYmFzZSB0cnVlICYmCiAJZ2l0IHB1bGwgLS1yZWJhc2U9ZmFsc2UgLiBjb3B5ICYmCi0JdGVzdCAiJChnaXQgcmV2LXBhcnNlIEhFQUReMSkiID0gIiQoZ2l0IHJldi1wYXJzZSBiZWZvcmUtcHJlc2VydmUtcmViYXNlKSIgJiYKLQl0ZXN0ICIkKGdpdCByZXYtcGFyc2UgSEVBRF4yKSIgPSAiJChnaXQgcmV2LXBhcnNlIGNvcHkpIiAmJgotCXRlc3QgZmlsZTMgPSAiJChnaXQgc2hvdyBIRUFEOmZpbGUzLnQpIgorCXRlc3RfY21wX3JldiBIRUFEXjEgYmVmb3JlLXByZXNlcnZlLXJlYmFzZSAmJgorCXRlc3RfY21wX3JldiBIRUFEXjIgY29weSAmJgorCWVjaG8gZmlsZTMgPmV4cGVjdCAmJgorCWdpdCBzaG93IEhFQUQ6ZmlsZTMudCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXJlYmFzZT10cnVlIHJlYmFzZXMgYW5kIGZsYXR0ZW5zIGtlZXAtbWVyZ2UnICcKIAlnaXQgcmVzZXQgLS1oYXJkIGJlZm9yZS1wcmVzZXJ2ZS1yZWJhc2UgJiYKIAl0ZXN0X2NvbmZpZyBwdWxsLnJlYmFzZSBwcmVzZXJ2ZSAmJgogCWdpdCBwdWxsIC0tcmViYXNlPXRydWUgLiBjb3B5ICYmCi0JdGVzdCAiJChnaXQgcmV2LXBhcnNlIEhFQUReXikiID0gIiQoZ2l0IHJldi1wYXJzZSBjb3B5KSIgJiYKLQl0ZXN0IGZpbGUzID0gIiQoZ2l0IHNob3cgSEVBRDpmaWxlMy50KSIKKwl0ZXN0X2NtcF9yZXYgSEVBRF5eIGNvcHkgJiYKKwllY2hvIGZpbGUzID5leHBlY3QgJiYKKwlnaXQgc2hvdyBIRUFEOmZpbGUzLnQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBSRUJBU0VfUCBcCkBAIC01MjAsNTggKzU3OSw2MiBAQAogCWdpdCByZXNldCAtLWhhcmQgYmVmb3JlLXByZXNlcnZlLXJlYmFzZSAmJgogCXRlc3RfY29uZmlnIHB1bGwucmViYXNlIHRydWUgJiYKIAlnaXQgcHVsbCAtLXJlYmFzZT1wcmVzZXJ2ZSAuIGNvcHkgJiYKLQl0ZXN0ICIkKGdpdCByZXYtcGFyc2UgSEVBRF5eKSIgPSAiJChnaXQgcmV2LXBhcnNlIGNvcHkpIiAmJgotCXRlc3QgIiQoZ2l0IHJldi1wYXJzZSBIRUFEXjIpIiA9ICIkKGdpdCByZXYtcGFyc2Uga2VlcC1tZXJnZSkiCisJdGVzdF9jbXBfcmV2IEhFQUReXiBjb3B5ICYmCisJdGVzdF9jbXBfcmV2IEhFQUReMiBrZWVwLW1lcmdlCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmViYXNlPWludmFsaWQgZmFpbHMnICcKIAlnaXQgcmVzZXQgLS1oYXJkIGJlZm9yZS1wcmVzZXJ2ZS1yZWJhc2UgJiYKLQkhIGdpdCBwdWxsIC0tcmViYXNlPWludmFsaWQgLiBjb3B5CisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1bGwgLS1yZWJhc2U9aW52YWxpZCAuIGNvcHkKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1yZWJhc2Ugb3ZlcnJpZGVzIHB1bGwucmViYXNlPXByZXNlcnZlIGFuZCBmbGF0dGVucyBrZWVwLW1lcmdlJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCBiZWZvcmUtcHJlc2VydmUtcmViYXNlICYmCiAJdGVzdF9jb25maWcgcHVsbC5yZWJhc2UgcHJlc2VydmUgJiYKIAlnaXQgcHVsbCAtLXJlYmFzZSAuIGNvcHkgJiYKLQl0ZXN0ICIkKGdpdCByZXYtcGFyc2UgSEVBRF5eKSIgPSAiJChnaXQgcmV2LXBhcnNlIGNvcHkpIiAmJgotCXRlc3QgZmlsZTMgPSAiJChnaXQgc2hvdyBIRUFEOmZpbGUzLnQpIgorCXRlc3RfY21wX3JldiBIRUFEXl4gY29weSAmJgorCWVjaG8gZmlsZTMgPmV4cGVjdCAmJgorCWdpdCBzaG93IEhFQUQ6ZmlsZTMudCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXJlYmFzZSB3aXRoIHJlYmFzZWQgdXBzdHJlYW0nICcKLQogCWdpdCByZW1vdGUgYWRkIC1mIG1lIC4gJiYKIAlnaXQgY2hlY2tvdXQgY29weSAmJgogCWdpdCB0YWcgY29weS1vcmlnICYmCiAJZ2l0IHJlc2V0IC0taGFyZCBIRUFEXiAmJgotCWVjaG8gY29uZmxpY3RpbmcgbW9kaWZpY2F0aW9uID4gZmlsZSAmJgorCWVjaG8gY29uZmxpY3RpbmcgbW9kaWZpY2F0aW9uID5maWxlICYmCiAJZ2l0IGNvbW1pdCAtbSBjb25mbGljdCBmaWxlICYmCiAJZ2l0IGNoZWNrb3V0IHRvLXJlYmFzZSAmJgotCWVjaG8gZmlsZSA+IGZpbGUyICYmCisJZWNobyBmaWxlID5maWxlMiAmJgogCWdpdCBjb21taXQgLW0gdG8tcmViYXNlIGZpbGUyICYmCiAJZ2l0IHRhZyB0by1yZWJhc2Utb3JpZyAmJgogCWdpdCBwdWxsIC0tcmViYXNlIG1lIGNvcHkgJiYKLQl0ZXN0ICJjb25mbGljdGluZyBtb2RpZmljYXRpb24iID0gIiQoY2F0IGZpbGUpIiAmJgotCXRlc3QgZmlsZSA9ICIkKGNhdCBmaWxlMikiCi0KKwllY2hvICJjb25mbGljdGluZyBtb2RpZmljYXRpb24iID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgZmlsZSAmJgorCWVjaG8gZmlsZSA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGZpbGUyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmViYXNlIC1mIHdpdGggcmViYXNlZCB1cHN0cmVhbScgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCAidGVzdF9taWdodF9mYWlsIGdpdCByZWJhc2UgLS1hYm9ydCIgJiYKIAlnaXQgcmVzZXQgLS1oYXJkIHRvLXJlYmFzZS1vcmlnICYmCiAJZ2l0IHB1bGwgLS1yZWJhc2UgLWYgbWUgY29weSAmJgotCXRlc3QgImNvbmZsaWN0aW5nIG1vZGlmaWNhdGlvbiIgPSAiJChjYXQgZmlsZSkiICYmCi0JdGVzdCBmaWxlID0gIiQoY2F0IGZpbGUyKSIKKwllY2hvICJjb25mbGljdGluZyBtb2RpZmljYXRpb24iID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgZmlsZSAmJgorCWVjaG8gZmlsZSA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGZpbGUyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcmViYXNlIHdpdGggcmViYXNlZCBkZWZhdWx0IHVwc3RyZWFtJyAnCi0KIAlnaXQgdXBkYXRlLXJlZiByZWZzL3JlbW90ZXMvbWUvY29weSBjb3B5LW9yaWcgJiYKIAlnaXQgY2hlY2tvdXQgLS10cmFjayAtYiB0by1yZWJhc2UyIG1lL2NvcHkgJiYKIAlnaXQgcmVzZXQgLS1oYXJkIHRvLXJlYmFzZS1vcmlnICYmCiAJZ2l0IHB1bGwgLS1yZWJhc2UgJiYKLQl0ZXN0ICJjb25mbGljdGluZyBtb2RpZmljYXRpb24iID0gIiQoY2F0IGZpbGUpIiAmJgotCXRlc3QgZmlsZSA9ICIkKGNhdCBmaWxlMikiCi0KKwllY2hvICJjb25mbGljdGluZyBtb2RpZmljYXRpb24iID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgZmlsZSAmJgorCWVjaG8gZmlsZSA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGZpbGUyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlYmFzZWQgdXBzdHJlYW0gKyBmZXRjaCArIHB1bGwgLS1yZWJhc2UnICcKQEAgLTU4MiwxMyArNjQ1LDE0IEBACiAJZ2l0IHJlc2V0IC0taGFyZCB0by1yZWJhc2Utb3JpZyAmJgogCWdpdCBmZXRjaCAmJgogCWdpdCBwdWxsIC0tcmViYXNlICYmCi0JdGVzdCAiY29uZmxpY3RpbmcgbW9kaWZpY2F0aW9uIiA9ICIkKGNhdCBmaWxlKSIgJiYKLQl0ZXN0IGZpbGUgPSAiJChjYXQgZmlsZTIpIgorCWVjaG8gImNvbmZsaWN0aW5nIG1vZGlmaWNhdGlvbiIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBmaWxlICYmCisJZWNobyBmaWxlID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgZmlsZTIKIAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdWxsIC0tcmViYXNlIGRpZXMgZWFybHkgd2l0aCBkaXJ0eSB3b3JraW5nIGRpcmVjdG9yeScgJwotCiAJZ2l0IGNoZWNrb3V0IHRvLXJlYmFzZSAmJgogCWdpdCB1cGRhdGUtcmVmIHJlZnMvcmVtb3Rlcy9tZS9jb3B5IGNvcHleICYmCiAJQ09QWT0iJChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IG1lL2NvcHkpIiAmJgpAQCAtNTk2LDIzICs2NjAsMjMgQEAKIAl0ZXN0X2NvbmZpZyBicmFuY2gudG8tcmViYXNlLnJlbW90ZSBtZSAmJgogCXRlc3RfY29uZmlnIGJyYW5jaC50by1yZWJhc2UubWVyZ2UgcmVmcy9oZWFkcy9jb3B5ICYmCiAJdGVzdF9jb25maWcgYnJhbmNoLnRvLXJlYmFzZS5yZWJhc2UgdHJ1ZSAmJgotCWVjaG8gZGlydHkgPj4gZmlsZSAmJgorCWVjaG8gZGlydHkgPj5maWxlICYmCiAJZ2l0IGFkZCBmaWxlICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1bGwgJiYKLQl0ZXN0ICIkQ09QWSIgPSAiJChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IG1lL2NvcHkpIiAmJgorCXRlc3RfY21wX3JldiAiJENPUFkiIG1lL2NvcHkgJiYKIAlnaXQgY2hlY2tvdXQgSEVBRCAtLSBmaWxlICYmCiAJZ2l0IHB1bGwgJiYKLQl0ZXN0ICIkQ09QWSIgIT0gIiQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBtZS9jb3B5KSIKLQorCXRlc3RfY21wX3JldiAhICIkQ09QWSIgbWUvY29weQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdWxsIC0tcmViYXNlIHdvcmtzIG9uIGJyYW5jaCB5ZXQgdG8gYmUgYm9ybicgJwogCWdpdCByZXYtcGFyc2UgbWFzdGVyID5leHBlY3QgJiYKIAlta2RpciBlbXB0eV9yZXBvICYmCi0JKGNkIGVtcHR5X3JlcG8gJiYKLQkgZ2l0IGluaXQgJiYKLQkgZ2l0IHB1bGwgLS1yZWJhc2UgLi4gbWFzdGVyICYmCi0JIGdpdCByZXYtcGFyc2UgSEVBRCA+Li4vYWN0dWFsCisJKAorCQljZCBlbXB0eV9yZXBvICYmCisJCWdpdCBpbml0ICYmCisJCWdpdCBwdWxsIC0tcmViYXNlIC4uIG1hc3RlciAmJgorCQlnaXQgcmV2LXBhcnNlIEhFQUQgPi4uL2FjdHVhbAogCSkgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCkBAIC02MjQsMTAgKzY4OCwxNCBAQAogCQljZCBlbXB0eV9yZXBvMiAmJgogCQllY2hvIHN0YWdlZC1maWxlID5zdGFnZWQtZmlsZSAmJgogCQlnaXQgYWRkIHN0YWdlZC1maWxlICYmCi0JCXRlc3QgIiQoZ2l0IGxzLWZpbGVzKSIgPSBzdGFnZWQtZmlsZSAmJgorCQllY2hvIHN0YWdlZC1maWxlID5leHBlY3QgJiYKKwkJZ2l0IGxzLWZpbGVzID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgogCQl0ZXN0X211c3RfZmFpbCBnaXQgcHVsbCAtLXJlYmFzZSAuLiBtYXN0ZXIgMj5lcnIgJiYKLQkJdGVzdCAiJChnaXQgbHMtZmlsZXMpIiA9IHN0YWdlZC1maWxlICYmCi0JCXRlc3QgIiQoZ2l0IHNob3cgOnN0YWdlZC1maWxlKSIgPSBzdGFnZWQtZmlsZSAmJgorCQlnaXQgbHMtZmlsZXMgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJCWdpdCBzaG93IDpzdGFnZWQtZmlsZSA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKIAkJdGVzdF9pMThuZ3JlcCAidW5ib3JuIGJyYW5jaCB3aXRoIGNoYW5nZXMgYWRkZWQgdG8gdGhlIGluZGV4IiBlcnIKIAkpCiAnCkBAIC02MzgsNyArNzA2LDggQEAKIAkoCiAJCWNkIGNvcnJ1cHQgJiYKIAkJdGVzdF9jb21taXQgb25lICYmCi0JCW9iaj0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCB8IHNlZCAicyNeLi4jJi8jIikgJiYKKwkJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEID5oZWFkICYmCisJCW9iaj0kKHNlZCAicyNeLi4jJi8jIiBoZWFkKSAmJgogCQlybSAtZiAuZ2l0L29iamVjdHMvJG9iaiAmJgogCQl0ZXN0X211c3RfZmFpbCBnaXQgcHVsbCAtLXJlYmFzZQogCSkKQEAgLTY0Niw2NiArNzE1LDc5IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGZvciBkZXRlY3RpbmcgdXBzdHJlYW1lZCBjaGFuZ2VzJyAnCiAJbWtkaXIgc3JjICYmCi0JKGNkIHNyYyAmJgotCSBnaXQgaW5pdCAmJgotCSBwcmludGYgIjFcbjJcbjNcbjRcbjVcbjZcbjdcbjhcbjlcbjEwXG4iID4gc3R1ZmYgJiYKLQkgZ2l0IGFkZCBzdHVmZiAmJgotCSBnaXQgY29tbWl0IC1tICJJbml0aWFsIHJldmlzaW9uIgorCSgKKwkJY2Qgc3JjICYmCisJCWdpdCBpbml0ICYmCisJCXByaW50ZiAiMVxuMlxuM1xuNFxuNVxuNlxuN1xuOFxuOVxuMTBcbiIgPiBzdHVmZiAmJgorCQlnaXQgYWRkIHN0dWZmICYmCisJCWdpdCBjb21taXQgLW0gIkluaXRpYWwgcmV2aXNpb24iCiAJKSAmJgogCWdpdCBjbG9uZSBzcmMgZHN0ICYmCi0JKGNkIHNyYyAmJgotCSBtb2RpZnkgcy81LzQzLyBzdHVmZiAmJgotCSBnaXQgY29tbWl0IC1hIC1tICI1LT40MyIgJiYKLQkgbW9kaWZ5IHMvNi80Mi8gc3R1ZmYgJiYKLQkgZ2l0IGNvbW1pdCAtYSAtbSAiTWFrZSBpdCBiaWdnZXIiCisJKAorCQljZCBzcmMgJiYKKwkJbW9kaWZ5IHMvNS80My8gc3R1ZmYgJiYKKwkJZ2l0IGNvbW1pdCAtYSAtbSAiNS0+NDMiICYmCisJCW1vZGlmeSBzLzYvNDIvIHN0dWZmICYmCisJCWdpdCBjb21taXQgLWEgLW0gIk1ha2UgaXQgYmlnZ2VyIgogCSkgJiYKLQkoY2QgZHN0ICYmCi0JIG1vZGlmeSBzLzUvNDMvIHN0dWZmICYmCi0JIGdpdCBjb21taXQgLWEgLW0gIkluZGVwZW5kZW50IGRpc2NvdmVyeSBvZiA1LT40MyIKKwkoCisJCWNkIGRzdCAmJgorCQltb2RpZnkgcy81LzQzLyBzdHVmZiAmJgorCQlnaXQgY29tbWl0IC1hIC1tICJJbmRlcGVuZGVudCBkaXNjb3Zlcnkgb2YgNS0+NDMiCiAJKQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgcHVsbCAtLXJlYmFzZSBkZXRlY3RzIHVwc3RyZWFtZWQgY2hhbmdlcycgJwotCShjZCBkc3QgJiYKLQkgZ2l0IHB1bGwgLS1yZWJhc2UgJiYKLQkgdGVzdCAteiAiJChnaXQgbHMtZmlsZXMgLXUpIgorCSgKKwkJY2QgZHN0ICYmCisJCWdpdCBwdWxsIC0tcmViYXNlICYmCisJCWdpdCBscy1maWxlcyAtdSA+dW50cmFja2VkICYmCisJCXRlc3RfbXVzdF9iZV9lbXB0eSB1bnRyYWNrZWQKIAkpCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGZvciBhdm9pZGluZyByZWFwcGx5aW5nIG9sZCBwYXRjaGVzJyAnCi0JKGNkIGRzdCAmJgotCSB0ZXN0X21pZ2h0X2ZhaWwgZ2l0IHJlYmFzZSAtLWFib3J0ICYmCi0JIGdpdCByZXNldCAtLWhhcmQgb3JpZ2luL21hc3RlcgorCSgKKwkJY2QgZHN0ICYmCisJCXRlc3RfbWlnaHRfZmFpbCBnaXQgcmViYXNlIC0tYWJvcnQgJiYKKwkJZ2l0IHJlc2V0IC0taGFyZCBvcmlnaW4vbWFzdGVyCiAJKSAmJgogCWdpdCBjbG9uZSAtLWJhcmUgc3JjIHNyYy1yZXBsYWNlLmdpdCAmJgogCXJtIC1yZiBzcmMgJiYKIAltdiBzcmMtcmVwbGFjZS5naXQgc3JjICYmCi0JKGNkIGRzdCAmJgotCSBtb2RpZnkgcy8yLzIyLyBzdHVmZiAmJgotCSBnaXQgY29tbWl0IC1hIC1tICJDaGFuZ2UgMiIgJiYKLQkgbW9kaWZ5IHMvMy8zMy8gc3R1ZmYgJiYKLQkgZ2l0IGNvbW1pdCAtYSAtbSAiQ2hhbmdlIDMiICYmCi0JIG1vZGlmeSBzLzQvNDQvIHN0dWZmICYmCi0JIGdpdCBjb21taXQgLWEgLW0gIkNoYW5nZSA0IiAmJgotCSBnaXQgcHVzaCAmJgorCSgKKwkJY2QgZHN0ICYmCisJCW1vZGlmeSBzLzIvMjIvIHN0dWZmICYmCisJCWdpdCBjb21taXQgLWEgLW0gIkNoYW5nZSAyIiAmJgorCQltb2RpZnkgcy8zLzMzLyBzdHVmZiAmJgorCQlnaXQgY29tbWl0IC1hIC1tICJDaGFuZ2UgMyIgJiYKKwkJbW9kaWZ5IHMvNC80NC8gc3R1ZmYgJiYKKwkJZ2l0IGNvbW1pdCAtYSAtbSAiQ2hhbmdlIDQiICYmCisJCWdpdCBwdXNoICYmCiAKLQkgbW9kaWZ5IHMvNDQvNTUvIHN0dWZmICYmCi0JIGdpdCBjb21taXQgLS1hbWVuZCAtYSAtbSAiTW9kaWZpZWQgQ2hhbmdlIDQiCisJCW1vZGlmeSBzLzQ0LzU1LyBzdHVmZiAmJgorCQlnaXQgY29tbWl0IC0tYW1lbmQgLWEgLW0gIk1vZGlmaWVkIENoYW5nZSA0IgogCSkKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IHB1bGwgLS1yZWJhc2UgZG9lcyBub3QgcmVhcHBseSBvbGQgcGF0Y2hlcycgJwotCShjZCBkc3QgJiYKLQkgdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1bGwgLS1yZWJhc2UgJiYKLQkgdGVzdCAxID0gJChmaW5kIC5naXQvcmViYXNlLWFwcGx5IC1uYW1lICIwMDAqIiB8IHdjIC1sKQorCSgKKwkJY2QgZHN0ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBwdWxsIC0tcmViYXNlICYmCisJCWNhdCAuZ2l0L3JlYmFzZS1tZXJnZS9kb25lIC5naXQvcmViYXNlLW1lcmdlL2dpdC1yZWJhc2UtdG9kbyA+d29yayAmJgorCQlncmVwIC12IC1lIFwjIC1lIF4kIHdvcmsgPnBhdGNoZXMgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMSBwYXRjaGVzICYmCisJCXJtIC1mIHdvcmsKIAkpCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBwdWxsIC0tcmViYXNlIGFnYWluc3QgbG9jYWwgYnJhbmNoJyAnCiAJZ2l0IGNoZWNrb3V0IC1iIGNvcHkyIHRvLXJlYmFzZS1vcmlnICYmCiAJZ2l0IHB1bGwgLS1yZWJhc2UgLiB0by1yZWJhc2UgJiYKLQl0ZXN0ICJjb25mbGljdGluZyBtb2RpZmljYXRpb24iID0gIiQoY2F0IGZpbGUpIiAmJgotCXRlc3QgZmlsZSA9ICIkKGNhdCBmaWxlMikiCisJZWNobyAiY29uZmxpY3RpbmcgbW9kaWZpY2F0aW9uIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGZpbGUgJiYKKwllY2hvIGZpbGUgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBmaWxlMgogJwogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1MjEtcHVsbC1vcHRpb25zLnNoIGIvdC90NTUyMS1wdWxsLW9wdGlvbnMuc2gKaW5kZXggYzE5ZDhkYi4uY2NkZThiYSAxMDA3NTUKLS0tIGEvdC90NTUyMS1wdWxsLW9wdGlvbnMuc2gKKysrIGIvdC90NTUyMS1wdWxsLW9wdGlvbnMuc2gKQEAgLTc3LDYgKzc3LDE0IEBACiAJdGVzdF9tdXN0X2JlX2VtcHR5IG91dCAmJgogCXRlc3QgLXMgZXJyKQogJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IHB1bGwgLS1jbGVhbnVwIGVycm9ycyBlYXJseSBvbiBpbnZhbGlkIGFyZ3VtZW50JyAnCisJbWtkaXIgY2xvbmVkY2xlYW51cCAmJgorCShjZCBjbG9uZWRjbGVhbnVwICYmIGdpdCBpbml0ICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1bGwgLS1jbGVhbnVwIGludmFsaWQgIi4uL3BhcmVudCIgPm91dCAyPmVyciAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXQgJiYKKwl0ZXN0IC1zIGVycikKKycKKwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgcHVsbCAtLWZvcmNlJyAnCiAJbWtkaXIgY2xvbmVkb2xkc3R5bGUgJiYKZGlmZiAtLWdpdCBhL3QvdDU1MjYtZmV0Y2gtc3VibW9kdWxlcy5zaCBiL3QvdDU1MjYtZmV0Y2gtc3VibW9kdWxlcy5zaAppbmRleCA2YzJmOWIyLi42MzIwNWRmIDEwMDc1NQotLS0gYS90L3Q1NTI2LWZldGNoLXN1Ym1vZHVsZXMuc2gKKysrIGIvdC90NTUyNi1mZXRjaC1zdWJtb2R1bGVzLnNoCkBAIC01MjQsNiArNTI0LDggQEAKIAlnaXQgY29uZmlnIGZldGNoLnJlY3Vyc2VTdWJtb2R1bGVzIHRydWUgJiYKIAkoCiAJCWNkIGRvd25zdHJlYW0gJiYKKwkJR0lUX1RSQUNFPSQocHdkKS90cmFjZS5vdXQgZ2l0IGZldGNoICYmCisJCWdyZXAgIjEgdGFza3MiIHRyYWNlLm91dCAmJgogCQlHSVRfVFJBQ0U9JChwd2QpL3RyYWNlLm91dCBnaXQgZmV0Y2ggLS1qb2JzIDcgJiYKIAkJZ3JlcCAiNyB0YXNrcyIgdHJhY2Uub3V0ICYmCiAJCWdpdCBjb25maWcgc3VibW9kdWxlLmZldGNoSm9icyA4ICYmCkBAIC02MDAsNCArNjAyLDEyMSBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAiZmV0Y2ggbmV3IHN1Ym1vZHVsZSBjb21taXRzIG9uLWRlbWFuZCBvdXRzaWRlIHN0YW5kYXJkIHJlZnNwZWMiICcKKwkjIGFkZCBhIHNlY29uZCBzdWJtb2R1bGUgYW5kIGVuc3VyZSBpdCBpcyBhcm91bmQgaW4gZG93bnN0cmVhbSBmaXJzdAorCWdpdCBjbG9uZSBzdWJtb2R1bGUgc3ViMSAmJgorCWdpdCBzdWJtb2R1bGUgYWRkIC4vc3ViMSAmJgorCWdpdCBjb21taXQgLW0gImFkZGluZyBhIHNlY29uZCBzdWJtb2R1bGUiICYmCisJZ2l0IC1DIGRvd25zdHJlYW0gcHVsbCAmJgorCWdpdCAtQyBkb3duc3RyZWFtIHN1Ym1vZHVsZSB1cGRhdGUgLS1pbml0IC0tcmVjdXJzaXZlICYmCisKKwlnaXQgY2hlY2tvdXQgLS1kZXRhY2ggJiYKKworCUM9JChnaXQgLUMgc3VibW9kdWxlIGNvbW1pdC10cmVlIC1tICJuZXcgY2hhbmdlIG91dHNpZGUgcmVmcy9oZWFkcyIgSEVBRF57dHJlZX0pICYmCisJZ2l0IC1DIHN1Ym1vZHVsZSB1cGRhdGUtcmVmIHJlZnMvY2hhbmdlcy8xICRDICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWNhY2hlaW5mbyAxNjAwMDAgJEMgc3VibW9kdWxlICYmCisJdGVzdF90aWNrICYmCisKKwlEPSQoZ2l0IC1DIHN1YjEgY29tbWl0LXRyZWUgLW0gIm5ldyBjaGFuZ2Ugb3V0c2lkZSByZWZzL2hlYWRzIiBIRUFEXnt0cmVlfSkgJiYKKwlnaXQgLUMgc3ViMSB1cGRhdGUtcmVmIHJlZnMvY2hhbmdlcy8yICREICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWNhY2hlaW5mbyAxNjAwMDAgJEQgc3ViMSAmJgorCisJZ2l0IGNvbW1pdCAtbSAidXBkYXRlZCBzdWJtb2R1bGVzIG91dHNpZGUgb2YgcmVmcy9oZWFkcyIgJiYKKwlFPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCWdpdCB1cGRhdGUtcmVmIHJlZnMvY2hhbmdlcy8zICRFICYmCisJKAorCQljZCBkb3duc3RyZWFtICYmCisJCWdpdCBmZXRjaCAtLXJlY3Vyc2Utc3VibW9kdWxlcyBvcmlnaW4gcmVmcy9jaGFuZ2VzLzM6cmVmcy9oZWFkcy9teV9icmFuY2ggJiYKKwkJZ2l0IC1DIHN1Ym1vZHVsZSBjYXQtZmlsZSAtdCAkQyAmJgorCQlnaXQgLUMgc3ViMSBjYXQtZmlsZSAtdCAkRCAmJgorCQlnaXQgY2hlY2tvdXQgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgRkVUQ0hfSEVBRAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggbmV3IHN1Ym1vZHVsZSBjb21taXQgb24tZGVtYW5kIGluIEZFVENIX0hFQUQnICcKKwkjIGRlcGVuZHMgb24gdGhlIHByZXZpb3VzIHRlc3QgZm9yIHNldHVwCisKKwlDPSQoZ2l0IC1DIHN1Ym1vZHVsZSBjb21taXQtdHJlZSAtbSAiYW5vdGhlciBjaGFuZ2Ugb3V0c2lkZSByZWZzL2hlYWRzIiBIRUFEXnt0cmVlfSkgJiYKKwlnaXQgLUMgc3VibW9kdWxlIHVwZGF0ZS1yZWYgcmVmcy9jaGFuZ2VzLzQgJEMgJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tY2FjaGVpbmZvIDE2MDAwMCAkQyBzdWJtb2R1bGUgJiYKKwl0ZXN0X3RpY2sgJiYKKworCUQ9JChnaXQgLUMgc3ViMSBjb21taXQtdHJlZSAtbSAiYW5vdGhlciBjaGFuZ2Ugb3V0c2lkZSByZWZzL2hlYWRzIiBIRUFEXnt0cmVlfSkgJiYKKwlnaXQgLUMgc3ViMSB1cGRhdGUtcmVmIHJlZnMvY2hhbmdlcy81ICREICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWNhY2hlaW5mbyAxNjAwMDAgJEQgc3ViMSAmJgorCisJZ2l0IGNvbW1pdCAtbSAidXBkYXRlZCBzdWJtb2R1bGVzIG91dHNpZGUgb2YgcmVmcy9oZWFkcyIgJiYKKwlFPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCWdpdCB1cGRhdGUtcmVmIHJlZnMvY2hhbmdlcy82ICRFICYmCisJKAorCQljZCBkb3duc3RyZWFtICYmCisJCWdpdCBmZXRjaCAtLXJlY3Vyc2Utc3VibW9kdWxlcyBvcmlnaW4gcmVmcy9jaGFuZ2VzLzYgJiYKKwkJZ2l0IC1DIHN1Ym1vZHVsZSBjYXQtZmlsZSAtdCAkQyAmJgorCQlnaXQgLUMgc3ViMSBjYXQtZmlsZSAtdCAkRCAmJgorCQlnaXQgY2hlY2tvdXQgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgRkVUQ0hfSEVBRAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggbmV3IHN1Ym1vZHVsZSBjb21taXRzIG9uLWRlbWFuZCB3aXRob3V0IC5naXRtb2R1bGVzIGVudHJ5JyAnCisJIyBkZXBlbmRzIG9uIHRoZSBwcmV2aW91cyB0ZXN0IGZvciBzZXR1cAorCisJZ2l0IGNvbmZpZyAtZiAuZ2l0bW9kdWxlcyAtLXJlbW92ZS1zZWN0aW9uIHN1Ym1vZHVsZS5zdWIxICYmCisJZ2l0IGFkZCAuZ2l0bW9kdWxlcyAmJgorCWdpdCBjb21taXQgLW0gImRlbGV0ZSBnaXRtb2R1bGVzIGZpbGUiICYmCisJZ2l0IGNoZWNrb3V0IC1CIG1hc3RlciAmJgorCWdpdCAtQyBkb3duc3RyZWFtIGZldGNoICYmCisJZ2l0IC1DIGRvd25zdHJlYW0gY2hlY2tvdXQgb3JpZ2luL21hc3RlciAmJgorCisJQz0kKGdpdCAtQyBzdWJtb2R1bGUgY29tbWl0LXRyZWUgLW0gInlldCBhbm90aGVyIGNoYW5nZSBvdXRzaWRlIHJlZnMvaGVhZHMiIEhFQURee3RyZWV9KSAmJgorCWdpdCAtQyBzdWJtb2R1bGUgdXBkYXRlLXJlZiByZWZzL2NoYW5nZXMvNyAkQyAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1jYWNoZWluZm8gMTYwMDAwICRDIHN1Ym1vZHVsZSAmJgorCXRlc3RfdGljayAmJgorCisJRD0kKGdpdCAtQyBzdWIxIGNvbW1pdC10cmVlIC1tICJ5ZXQgYW5vdGhlciBjaGFuZ2Ugb3V0c2lkZSByZWZzL2hlYWRzIiBIRUFEXnt0cmVlfSkgJiYKKwlnaXQgLUMgc3ViMSB1cGRhdGUtcmVmIHJlZnMvY2hhbmdlcy84ICREICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWNhY2hlaW5mbyAxNjAwMDAgJEQgc3ViMSAmJgorCisJZ2l0IGNvbW1pdCAtbSAidXBkYXRlZCBzdWJtb2R1bGVzIG91dHNpZGUgb2YgcmVmcy9oZWFkcyIgJiYKKwlFPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCWdpdCB1cGRhdGUtcmVmIHJlZnMvY2hhbmdlcy85ICRFICYmCisJKAorCQljZCBkb3duc3RyZWFtICYmCisJCWdpdCBmZXRjaCAtLXJlY3Vyc2Utc3VibW9kdWxlcyBvcmlnaW4gcmVmcy9jaGFuZ2VzLzkgJiYKKwkJZ2l0IC1DIHN1Ym1vZHVsZSBjYXQtZmlsZSAtdCAkQyAmJgorCQlnaXQgLUMgc3ViMSBjYXQtZmlsZSAtdCAkRCAmJgorCQlnaXQgY2hlY2tvdXQgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgRkVUQ0hfSEVBRAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggbmV3IHN1Ym1vZHVsZSBjb21taXQgaW50ZXJtaXR0ZW50bHkgcmVmZXJlbmNlZCBieSBzdXBlcnByb2plY3QnICcKKwkjIGRlcGVuZHMgb24gdGhlIHByZXZpb3VzIHRlc3QgZm9yIHNldHVwCisKKwlEPSQoZ2l0IC1DIHN1YjEgY29tbWl0LXRyZWUgLW0gImNoYW5nZSAxMCBvdXRzaWRlIHJlZnMvaGVhZHMiIEhFQURee3RyZWV9KSAmJgorCUU9JChnaXQgLUMgc3ViMSBjb21taXQtdHJlZSAtbSAiY2hhbmdlIDExIG91dHNpZGUgcmVmcy9oZWFkcyIgSEVBRF57dHJlZX0pICYmCisJRj0kKGdpdCAtQyBzdWIxIGNvbW1pdC10cmVlIC1tICJjaGFuZ2UgMTIgb3V0c2lkZSByZWZzL2hlYWRzIiBIRUFEXnt0cmVlfSkgJiYKKworCWdpdCAtQyBzdWIxIHVwZGF0ZS1yZWYgcmVmcy9jaGFuZ2VzLzEwICREICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWNhY2hlaW5mbyAxNjAwMDAgJEQgc3ViMSAmJgorCWdpdCBjb21taXQgLW0gInVwZGF0ZWQgc3VibW9kdWxlcyBvdXRzaWRlIG9mIHJlZnMvaGVhZHMiICYmCisKKwlnaXQgLUMgc3ViMSB1cGRhdGUtcmVmIHJlZnMvY2hhbmdlcy8xMSAkRSAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1jYWNoZWluZm8gMTYwMDAwICRFIHN1YjEgJiYKKwlnaXQgY29tbWl0IC1tICJ1cGRhdGVkIHN1Ym1vZHVsZXMgb3V0c2lkZSBvZiByZWZzL2hlYWRzIiAmJgorCisJZ2l0IC1DIHN1YjEgdXBkYXRlLXJlZiByZWZzL2NoYW5nZXMvMTIgJEYgJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tY2FjaGVpbmZvIDE2MDAwMCAkRiBzdWIxICYmCisJZ2l0IGNvbW1pdCAtbSAidXBkYXRlZCBzdWJtb2R1bGVzIG91dHNpZGUgb2YgcmVmcy9oZWFkcyIgJiYKKworCUc9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisJZ2l0IHVwZGF0ZS1yZWYgcmVmcy9jaGFuZ2VzLzEzICRHICYmCisJKAorCQljZCBkb3duc3RyZWFtICYmCisJCWdpdCBmZXRjaCAtLXJlY3Vyc2Utc3VibW9kdWxlcyBvcmlnaW4gcmVmcy9jaGFuZ2VzLzEzICYmCisKKwkJZ2l0IC1DIHN1YjEgY2F0LWZpbGUgLXQgJEQgJiYKKwkJZ2l0IC1DIHN1YjEgY2F0LWZpbGUgLXQgJEUgJiYKKwkJZ2l0IC1DIHN1YjEgY2F0LWZpbGUgLXQgJEYKKwkpCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTUyOC1wdXNoLWRlZmF1bHQuc2ggYi90L3Q1NTI4LXB1c2gtZGVmYXVsdC5zaAppbmRleCA0NDMwOTU2Li40ZDFlMGMzIDEwMDc1NQotLS0gYS90L3Q1NTI4LXB1c2gtZGVmYXVsdC5zaAorKysgYi90L3Q1NTI4LXB1c2gtZGVmYXVsdC5zaApAQCAtMTYzLDcgKzE2Myw3IEBACiAjIHVwZGF0ZSBwYXJlbnQxJ3MgZm9vICh3aGljaCBpcyBvdXIgdXBzdHJlYW0pCiB0ZXN0X3B1c2hkZWZhdWx0X3dvcmtmbG93IHN1Y2Nlc3MgdXBzdHJlYW0gZm9vCiAKLSMgdXBzcmVhbSBpcyBmb28gd2hpY2ggaXMgbm90IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGJyYW5jaAorIyB1cHN0cmVhbSBpcyBmb28gd2hpY2ggaXMgbm90IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGJyYW5jaAogdGVzdF9wdXNoZGVmYXVsdF93b3JrZmxvdyBmYWlsdXJlIHNpbXBsZSBtYXN0ZXIKIAogIyBtYXN0ZXIgYW5kIGZvbyBhcmUgdXBkYXRlZApkaWZmIC0tZ2l0IGEvdC90NTUzMC11cGxvYWQtcGFjay1lcnJvci5zaCBiL3QvdDU1MzAtdXBsb2FkLXBhY2stZXJyb3Iuc2gKaW5kZXggNGY2ZTMyYi4uNGNlOWE5ZiAxMDA3NTUKLS0tIGEvdC90NTUzMC11cGxvYWQtcGFjay1lcnJvci5zaAorKysgYi90L3Q1NTMwLXVwbG9hZC1wYWNrLWVycm9yLnNoCkBAIC0xNCw3ICsxNCw3IEBACiB9CiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGFuZCBjb3JydXB0IHJlcG9zaXRvcnknICcKLQorCXRlc3Rfb2lkX2luaXQgJiYKIAllY2hvIGZpbGUgPmZpbGUgJiYKIAlnaXQgYWRkIGZpbGUgJiYKIAlnaXQgcmV2LXBhcnNlIDpmaWxlICYmCkBAIC0zMSw5ICszMSwxMCBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd1cGxvYWQtcGFjayBmYWlscyBkdWUgdG8gZXJyb3IgaW4gcGFjay1vYmplY3RzIHBhY2tpbmcnICcKLQotCXByaW50ZiAiMDAzMndhbnQgJXNcbjAwMDAwMDA5ZG9uZVxuMDAwMCIgXAotCQkkKGdpdCByZXYtcGFyc2UgSEVBRCkgPmlucHV0ICYmCisJaGVhZD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKwloZXhzej0kKHRlc3Rfb2lkIGhleHN6KSAmJgorCXByaW50ZiAiJTA0eHdhbnQgJXNcbjAwMDAwMDA5ZG9uZVxuMDAwMCIgXAorCQkkKCgkaGV4c3ogKyAxMCkpICRoZWFkID5pbnB1dCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGxvYWQtcGFjayAuIDxpbnB1dCA+L2Rldi9udWxsIDI+b3V0cHV0LmVyciAmJgogCXRlc3RfaTE4bmdyZXAgInVuYWJsZSB0byByZWFkIiBvdXRwdXQuZXJyICYmCiAJdGVzdF9pMThuZ3JlcCAicGFjay1vYmplY3RzIGRpZWQiIG91dHB1dC5lcnIKQEAgLTUxLDI1ICs1MiwzOCBAQAogJwogdGVzdF9leHBlY3Rfc3VjY2VzcyAndXBsb2FkLXBhY2sgZmFpbHMgZHVlIHRvIGVycm9yIGluIHJldi1saXN0JyAnCiAKLQlwcmludGYgIjAwMzJ3YW50ICVzXG4wMDM0c2hhbGxvdyAlczAwMDAwMDA5ZG9uZVxuMDAwMCIgXAotCQkkKGdpdCByZXYtcGFyc2UgSEVBRCkgJChnaXQgcmV2LXBhcnNlIEhFQUReKSA+aW5wdXQgJiYKKwlwcmludGYgIiUwNHh3YW50ICVzXG4lMDR4c2hhbGxvdyAlczAwMDAwMDA5ZG9uZVxuMDAwMCIgXAorCQkkKCgkaGV4c3ogKyAxMCkpICQoZ2l0IHJldi1wYXJzZSBIRUFEKSBcCisJCSQoKCRoZXhzeiArIDEyKSkgJChnaXQgcmV2LXBhcnNlIEhFQUReKSA+aW5wdXQgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgdXBsb2FkLXBhY2sgLiA8aW5wdXQgPi9kZXYvbnVsbCAyPm91dHB1dC5lcnIgJiYKIAlncmVwICJiYWQgdHJlZSBvYmplY3QiIG91dHB1dC5lcnIKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAndXBsb2FkLXBhY2sgZXJyb3IgbWVzc2FnZSB3aGVuIGJhZCByZWYgcmVxdWVzdGVkJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd1cGxvYWQtcGFjayBmYWlscyBkdWUgdG8gYmFkIHdhbnQgKG5vIG9iamVjdCknICcKIAotCXByaW50ZiAiMDA0NXdhbnQgJXMgbXVsdGlfYWNrX2RldGFpbGVkXG4wMDAwMDAwOWRvbmVcbjAwMDAiIFwKLQkJImRlYWRiZWVmZGVhZGJlZWZkZWFkYmVlZmRlYWRiZWVmZGVhZGJlZWYiID5pbnB1dCAmJgorCXByaW50ZiAiJTA0eHdhbnQgJXMgbXVsdGlfYWNrX2RldGFpbGVkXG4wMDAwMDAwOWRvbmVcbjAwMDAiIFwKKwkJJCgoJGhleHN6ICsgMjkpKSAkKHRlc3Rfb2lkIGRlYWRiZWVmKSA+aW5wdXQgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgdXBsb2FkLXBhY2sgLiA8aW5wdXQgPm91dHB1dCAyPm91dHB1dC5lcnIgJiYKLQlncmVwIC1xICJub3Qgb3VyIHJlZiIgb3V0cHV0LmVyciAmJgotCSEgZ3JlcCAtcSBtdWx0aV9hY2tfZGV0YWlsZWQgb3V0cHV0LmVycgorCWdyZXAgIm5vdCBvdXIgcmVmIiBvdXRwdXQuZXJyICYmCisJZ3JlcCAiRVJSIiBvdXRwdXQgJiYKKwkhIGdyZXAgbXVsdGlfYWNrX2RldGFpbGVkIG91dHB1dC5lcnIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndXBsb2FkLXBhY2sgZmFpbHMgZHVlIHRvIGJhZCB3YW50IChub3QgdGlwKScgJworCisJb2lkPSQoZWNobyBhbiBvYmplY3Qgd2UgaGF2ZSB8IGdpdCBoYXNoLW9iamVjdCAtdyAtLXN0ZGluKSAmJgorCXByaW50ZiAiJTA0eHdhbnQgJXMgbXVsdGlfYWNrX2RldGFpbGVkXG4wMDAwMDAwOWRvbmVcbjAwMDAiIFwKKwkJJCgoJGhleHN6ICsgMjkpKSAiJG9pZCIgPmlucHV0ICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHVwbG9hZC1wYWNrIC4gPGlucHV0ID5vdXRwdXQgMj5vdXRwdXQuZXJyICYmCisJZ3JlcCAibm90IG91ciByZWYiIG91dHB1dC5lcnIgJiYKKwlncmVwICJFUlIiIG91dHB1dCAmJgorCSEgZ3JlcCBtdWx0aV9hY2tfZGV0YWlsZWQgb3V0cHV0LmVycgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd1cGxvYWQtcGFjayBmYWlscyBkdWUgdG8gZXJyb3IgaW4gcGFjay1vYmplY3RzIGVudW1lcmF0aW9uJyAnCiAKLQlwcmludGYgIjAwMzJ3YW50ICVzXG4wMDAwMDAwOWRvbmVcbjAwMDAiIFwKLQkJJChnaXQgcmV2LXBhcnNlIEhFQUQpID5pbnB1dCAmJgorCXByaW50ZiAiJTA0eHdhbnQgJXNcbjAwMDAwMDA5ZG9uZVxuMDAwMCIgXAorCQkkKChoZXhzeiArIDEwKSkgJChnaXQgcmV2LXBhcnNlIEhFQUQpID5pbnB1dCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGxvYWQtcGFjayAuIDxpbnB1dCA+L2Rldi9udWxsIDI+b3V0cHV0LmVyciAmJgogCWdyZXAgImJhZCB0cmVlIG9iamVjdCIgb3V0cHV0LmVyciAmJgogCWdyZXAgInBhY2stb2JqZWN0cyBkaWVkIiBvdXRwdXQuZXJyCmRpZmYgLS1naXQgYS90L3Q1NTMxLWRlZXAtc3VibW9kdWxlLXB1c2guc2ggYi90L3Q1NTMxLWRlZXAtc3VibW9kdWxlLXB1c2guc2gKaW5kZXggZTJjMzdmZC4uNGFkMDU5ZSAxMDA3NTUKLS0tIGEvdC90NTUzMS1kZWVwLXN1Ym1vZHVsZS1wdXNoLnNoCisrKyBiL3QvdDU1MzEtZGVlcC1zdWJtb2R1bGUtcHVzaC5zaApAQCAtMzYzLDcgKzM2Myw3IEBACiAJCSkgJiYKIAkJZ2l0IGFkZCBiICYmCiAJCWdpdCBjb21taXQgLW0gImFkZGVkIHN1Ym1vZHVsZSIgJiYKLQkJZ2l0IHB1c2ggLS1yZWN1cnNlLXN1Ym1vZHVsZT1jaGVjayBvcmlnaW4gbWFzdGVyCisJCWdpdCBwdXNoIC0tcmVjdXJzZS1zdWJtb2R1bGVzPWNoZWNrIG9yaWdpbiBtYXN0ZXIKIAkpCiAnCiAKZGlmZiAtLWdpdCBhL3QvdDU1MzUtZmV0Y2gtcHVzaC1zeW1yZWYuc2ggYi90L3Q1NTM1LWZldGNoLXB1c2gtc3ltcmVmLnNoCmluZGV4IDhlZDU4ZDIuLmU4ZjZkMjMgMTAwNzU1Ci0tLSBhL3QvdDU1MzUtZmV0Y2gtcHVzaC1zeW1yZWYuc2gKKysrIGIvdC90NTUzNS1mZXRjaC1wdXNoLXN5bXJlZi5zaApAQCAtMSw2ICsxLDYgQEAKICMhL2Jpbi9zaAogCi10ZXN0X2Rlc2NyaXB0aW9uPSdhdm9pZGluZyBjb25mbGljdGluZyB1cGRhdGUgdGhydSBzeW1yZWYgYWxpYXNpbmcnCit0ZXN0X2Rlc2NyaXB0aW9uPSdhdm9pZGluZyBjb25mbGljdGluZyB1cGRhdGUgdGhyb3VnaCBzeW1yZWYgYWxpYXNpbmcnCiAKIC4gLi90ZXN0LWxpYi5zaAogCmRpZmYgLS1naXQgYS90L3Q1NTM3LWZldGNoLXNoYWxsb3cuc2ggYi90L3Q1NTM3LWZldGNoLXNoYWxsb3cuc2gKaW5kZXggNmZhZjE3ZS4uNGY2ODFkYiAxMDA3NTUKLS0tIGEvdC90NTUzNy1mZXRjaC1zaGFsbG93LnNoCisrKyBiL3QvdDU1MzctZmV0Y2gtc2hhbGxvdy5zaApAQCAtMTUsNyArMTUsMTEgQEAKIAljb21taXQgMiAmJgogCWNvbW1pdCAzICYmCiAJY29tbWl0IDQgJiYKLQlnaXQgY29uZmlnIC0tZ2xvYmFsIHRyYW5zZmVyLmZzY2tPYmplY3RzIHRydWUKKwlnaXQgY29uZmlnIC0tZ2xvYmFsIHRyYW5zZmVyLmZzY2tPYmplY3RzIHRydWUgJiYKKwl0ZXN0X29pZF9jYWNoZSA8PC1FT0YKKwlwZXJsIHNoYTE6cy8wMDM0c2hhbGxvdyAlcy8wMDM2dW5zaGFsbG93ICVzLworCXBlcmwgc2hhMjU2OnMvMDA0Y3NoYWxsb3cgJXMvMDA0ZXVuc2hhbGxvdyAlcy8KKwlFT0YKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgc2hhbGxvdyBjbG9uZScgJwpAQCAtMjMzLDI3ICsyMzcsMjkgQEAKIAlnaXQgLUMgIiRSRVBPIiBjb25maWcgcHJvdG9jb2wudmVyc2lvbiAyICYmCiAJZ2l0IC1DIGNsaWVudCBjb25maWcgcHJvdG9jb2wudmVyc2lvbiAyICYmCiAKLQlnaXQgLUMgY2xpZW50IGZldGNoIC0tZGVwdGg9MiAiJEhUVFBEX1VSTC9vbmVfdGltZV9zZWQvcmVwbyIgbWFzdGVyOmFfYnJhbmNoICYmCisJZ2l0IC1DIGNsaWVudCBmZXRjaCAtLWRlcHRoPTIgIiRIVFRQRF9VUkwvb25lX3RpbWVfcGVybC9yZXBvIiBtYXN0ZXI6YV9icmFuY2ggJiYKIAogCSMgQ3JhZnQgYSBzaXR1YXRpb24gaW4gd2hpY2ggdGhlIHNlcnZlciBzZW5kcyBiYWNrIGFuIHVuc2hhbGxvdyByZXF1ZXN0CiAJIyB3aXRoIGFuIGVtcHR5IHBhY2tmaWxlLiBUaGlzIGlzIGRvbmUgYnkgcmVmZXRjaGluZyB3aXRoIGEgc2hvcnRlcgogCSMgZGVwdGggKHRvIGVuc3VyZSB0aGF0IHRoZSBwYWNrZmlsZSBpcyBlbXB0eSksIGFuZCBvdmVyd3JpdGluZyB0aGUKIAkjIHNoYWxsb3cgbGluZSBpbiB0aGUgcmVzcG9uc2Ugd2l0aCB0aGUgdW5zaGFsbG93IGxpbmUgd2Ugd2FudC4KLQlwcmludGYgInMvMDAzNHNoYWxsb3cgJXMvMDAzNnVuc2hhbGxvdyAlcy8iIFwKKwlwcmludGYgIiQodGVzdF9vaWQgcGVybCkiIFwKIAkgICAgICAgIiQoZ2l0IC1DICIkUkVQTyIgcmV2LXBhcnNlIEhFQUQpIiBcCiAJICAgICAgICIkKGdpdCAtQyAiJFJFUE8iIHJldi1wYXJzZSBIRUFEXikiIFwKLQkgICAgICAgPiIkSFRUUERfUk9PVF9QQVRIL29uZS10aW1lLXNlZCIgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgLUMgY2xpZW50IGZldGNoIC0tZGVwdGg9MSAiJEhUVFBEX1VSTC9vbmVfdGltZV9zZWQvcmVwbyIgXAorCSAgICAgICA+IiRIVFRQRF9ST09UX1BBVEgvb25lLXRpbWUtcGVybCIgJiYKKwl0ZXN0X211c3RfZmFpbCBlbnYgR0lUX1RFU1RfU0lERUJBTkRfQUxMPTAgZ2l0IC1DIGNsaWVudCBcCisJCWZldGNoIC0tZGVwdGg9MSAiJEhUVFBEX1VSTC9vbmVfdGltZV9wZXJsL3JlcG8iIFwKIAkJbWFzdGVyOmFfYnJhbmNoICYmCiAKLQkjIEVuc3VyZSB0aGF0IHRoZSBvbmUtdGltZS1zZWQgc2NyaXB0IHdhcyB1c2VkLgotCSEgdGVzdCAtZSAiJEhUVFBEX1JPT1RfUEFUSC9vbmUtdGltZS1zZWQiICYmCisJIyBFbnN1cmUgdGhhdCB0aGUgb25lLXRpbWUtcGVybCBzY3JpcHQgd2FzIHVzZWQuCisJISB0ZXN0IC1lICIkSFRUUERfUk9PVF9QQVRIL29uZS10aW1lLXBlcmwiICYmCiAKIAkjIEVuc3VyZSB0aGF0IHRoZSByZXN1bHRpbmcgcmVwbyBpcyBjb25zaXN0ZW50LCBkZXNwaXRlIG91ciBmYWlsdXJlIHRvCiAJIyBmZXRjaC4KIAlnaXQgLUMgY2xpZW50IGZzY2sKICcKIAotc3RvcF9odHRwZAorIyBETyBOT1QgYWRkIG5vbi1odHRwZC1zcGVjaWZpYyB0ZXN0cyBoZXJlLCBiZWNhdXNlIHRoZSBsYXN0IHBhcnQgb2YgdGhpcworIyB0ZXN0IHNjcmlwdCBpcyBvbmx5IGV4ZWN1dGVkIHdoZW4gaHR0cGQgaXMgYXZhaWxhYmxlIGFuZCBlbmFibGVkLgogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1MzktZmV0Y2gtaHR0cC1zaGFsbG93LnNoIGIvdC90NTUzOS1mZXRjaC1odHRwLXNoYWxsb3cuc2gKaW5kZXggNWZiZjY3Yy4uYzBkMDJkZSAxMDA3NTUKLS0tIGEvdC90NTUzOS1mZXRjaC1odHRwLXNoYWxsb3cuc2gKKysrIGIvdC90NTUzOS1mZXRjaC1odHRwLXNoYWxsb3cuc2gKQEAgLTY3LDcgKzY3LDEwIEBACiAJCWNkIGNsb25lICYmCiAJCWdpdCBjaGVja291dCAtLW9ycGhhbiBuZXduZXcgJiYKIAkJdGVzdF9jb21taXQgbmV3LXRvbyAmJgotCQlHSVRfVFJBQ0VfUEFDS0VUPSIkVFJBU0hfRElSRUNUT1JZL3RyYWNlIiBnaXQgZmV0Y2ggLS1kZXB0aD0yICYmCisJCSMgTkVFRFNXT1JLOiBJZiB0aGUgb3ZlcnNwZWNpZmljYXRpb24gb2YgdGhlIGV4cGVjdGVkIHJlc3VsdCBpcyByZWR1Y2VkLCB3ZQorCQkjIG1pZ2h0IGJlIGFibGUgdG8gcnVuIHRoaXMgdGVzdCBpbiBhbGwgcHJvdG9jb2wgdmVyc2lvbnMuCisJCUdJVF9UUkFDRV9QQUNLRVQ9IiRUUkFTSF9ESVJFQ1RPUlkvdHJhY2UiIEdJVF9URVNUX1BST1RPQ09MX1ZFUlNJT049MCBcCisJCQlnaXQgZmV0Y2ggLS1kZXB0aD0yICYmCiAJCWdyZXAgImZldGNoLXBhY2s8IEFDSyAuKiByZWFkeSIgLi4vdHJhY2UgJiYKIAkJISBncmVwICJmZXRjaC1wYWNrPiBkb25lIiAuLi90cmFjZQogCSkKQEAgLTE0Niw1ICsxNDksNCBAQAogCSkKICcKIAotc3RvcF9odHRwZAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NTQwLWh0dHAtcHVzaC13ZWJkYXYuc2ggYi90L3Q1NTQwLWh0dHAtcHVzaC13ZWJkYXYuc2gKaW5kZXggODhmZjVhNC4uZDQ3NmMzMyAxMDA3NTUKLS0tIGEvdC90NTU0MC1odHRwLXB1c2gtd2ViZGF2LnNoCisrKyBiL3QvdDU1NDAtaHR0cC1wdXNoLXdlYmRhdi5zaApAQCAtMTM0LDE1ICsxMzQsMTMgQEAKIAogeDE9IlswLTlhLWZdIgogeDI9IiR4MSR4MSIKLXg1PSIkeDEkeDEkeDEkeDEkeDEiCi14Mzg9IiR4NSR4NSR4NSR4NSR4NSR4NSR4NSR4MSR4MSR4MSIKLXg0MD0iJHgzOCR4MiIKK3h0cnVuYz0kKGVjaG8gJE9JRF9SRUdFWCB8IHNlZCAtZSAicy9cWzAtOWEtZlxdXFswLTlhLWZcXS8vIikKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnUFVUIGFuZCBNT1ZFIHNlbmRzIG9iamVjdCB0byBVUkxzIHdpdGggU0hBLTEgaGFzaCBzdWZmaXgnICcKIAlzZWQgXAogCQktZSAicy9QVVQgL09QIC8iIFwKIAkJLWUgInMvTU9WRSAvT1AgLyIgXAotCSAgICAtZSAic3wvb2JqZWN0cy8keDIvJHt4Mzh9XyR4NDB8V0FOVEVEX1BBVEhfUkVRVUVTVHwiIFwKKwkgICAgLWUgInN8L29iamVjdHMvJHgyLyR7eHRydW5jfV8kT0lEX1JFR0VYfFdBTlRFRF9QQVRIX1JFUVVFU1R8IiBcCiAJCSIkSFRUUERfUk9PVF9QQVRIIi9hY2Nlc3MubG9nIHwKIAlncmVwIC1lICJcIk9QIC4qV0FOVEVEX1BBVEhfUkVRVUVTVCBIVFRQL1suMC05XSpcIiAyMFswLTldICIKIApAQCAtMTc2LDYgKzE3NCw0IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi1zdG9wX2h0dHBkCi0KIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTU0MS1odHRwLXB1c2gtc21hcnQuc2ggYi90L3Q1NTQxLWh0dHAtcHVzaC1zbWFydC5zaAppbmRleCA1NDc1YWZjLi4yM2JlOGNlIDEwMDc1NQotLS0gYS90L3Q1NTQxLWh0dHAtcHVzaC1zbWFydC5zaAorKysgYi90L3Q1NTQxLWh0dHAtcHVzaC1zbWFydC5zaApAQCAtNDcsNyArNDcsMTIgQEAKIAljZCAiJFJPT1RfUEFUSCIgJiYKIAlnaXQgY2xvbmUgJEhUVFBEX1VSTC9zbWFydC90ZXN0X3JlcG8uZ2l0LyB0ZXN0X3JlcG9fY2xvbmUgJiYKIAotCWNoZWNrX2FjY2Vzc19sb2cgZXhwCisJIyBORUVEU1dPUks6IElmIHRoZSBvdmVyc3BlY2lmaWNhdGlvbiBvZiB0aGUgZXhwZWN0ZWQgcmVzdWx0IGlzIHJlZHVjZWQsIHdlCisJIyBtaWdodCBiZSBhYmxlIHRvIHJ1biB0aGlzIHRlc3QgaW4gYWxsIHByb3RvY29sIHZlcnNpb25zLgorCWlmIHRlc3QgIiRHSVRfVEVTVF9QUk9UT0NPTF9WRVJTSU9OIiA9IDAKKwl0aGVuCisJCWNoZWNrX2FjY2Vzc19sb2cgZXhwCisJZmkKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgcmVtb3RlIHJlcG9zaXRvcnknICcKQEAgLTEyOCw3ICsxMzMsMTIgQEAKIFBPU1QgL3NtYXJ0L3Rlc3RfcmVwby5naXQvZ2l0LXJlY2VpdmUtcGFjayBIVFRQLzEuMSAyMDAKIEVPRgogdGVzdF9leHBlY3Rfc3VjY2VzcyAndXNlZCByZWNlaXZlLXBhY2sgc2VydmljZScgJwotCWNoZWNrX2FjY2Vzc19sb2cgZXhwCisJIyBORUVEU1dPUks6IElmIHRoZSBvdmVyc3BlY2lmaWNhdGlvbiBvZiB0aGUgZXhwZWN0ZWQgcmVzdWx0IGlzIHJlZHVjZWQsIHdlCisJIyBtaWdodCBiZSBhYmxlIHRvIHJ1biB0aGlzIHRlc3QgaW4gYWxsIHByb3RvY29sIHZlcnNpb25zLgorCWlmIHRlc3QgIiRHSVRfVEVTVF9QUk9UT0NPTF9WRVJTSU9OIiA9IDAKKwl0aGVuCisJCWNoZWNrX2FjY2Vzc19sb2cgZXhwCisJZmkKICcKIAogdGVzdF9odHRwX3B1c2hfbm9uZmYgIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgiL3Rlc3RfcmVwby5naXQgXApAQCAtMTY3LDYgKzE3Nyw5MSBAQAogCSB0ZXN0ICRIRUFEID0gJChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQpKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIC0tYXRvbWljIGFsc28gcHJldmVudHMgYnJhbmNoIGNyZWF0aW9uLCByZXBvcnRzIGNvbGxhdGVyYWwnICcKKwkjIFNldHVwIHVwc3RyZWFtIHJlcG8gLSBlbXB0eSBmb3Igbm93CisJZD0kSFRUUERfRE9DVU1FTlRfUk9PVF9QQVRIL2F0b21pYy1icmFuY2hlcy5naXQgJiYKKwlnaXQgaW5pdCAtLWJhcmUgIiRkIiAmJgorCXRlc3RfY29uZmlnIC1DICIkZCIgaHR0cC5yZWNlaXZlcGFjayB0cnVlICYmCisJdXA9IiRIVFRQRF9VUkwiL3NtYXJ0L2F0b21pYy1icmFuY2hlcy5naXQgJiYKKworCSMgVGVsbCAiJHVwIiBhYm91dCB0aHJlZSBicmFuY2hlcyBmb3Igbm93CisJdGVzdF9jb21taXQgYXRvbWljMSAmJgorCXRlc3RfY29tbWl0IGF0b21pYzIgJiYKKwlnaXQgYnJhbmNoIGNvbGxhdGVyYWwgJiYKKwlnaXQgYnJhbmNoIG90aGVyICYmCisJZ2l0IHB1c2ggIiR1cCIgbWFzdGVyIGNvbGxhdGVyYWwgb3RoZXIgJiYKKworCSMgY29sbGF0ZXJhbCBpcyBhIHZhbGlkIHB1c2gsIGJ1dCBzaG91bGQgYmUgZmFpbGVkIGJ5IGF0b21pYyBwdXNoCisJZ2l0IGNoZWNrb3V0IGNvbGxhdGVyYWwgJiYKKwl0ZXN0X2NvbW1pdCBjb2xsYXRlcmFsMSAmJgorCisJIyBNYWtlIG1hc3RlciBpbmNvbXBhdGlibGUgd2l0aCB1cHN0cmVhbSB0byBwcm92b2tlIGF0b21pYworCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwlnaXQgcmVzZXQgLS1oYXJkIEhFQUReICYmCisKKwkjIEFkZCBhIG5ldyBicmFuY2ggd2hpY2ggc2hvdWxkIGJlIGZhaWxlZCBieSBhdG9taWMgcHVzaC4gVGhpcyBpcyBhCisJIyByZWdyZXNzaW9uIGNhc2UuCisJZ2l0IGJyYW5jaCBhdG9taWMgJiYKKworCSMgLS1hdG9taWMgc2hvdWxkIGNhdXNlIGVudGlyZSBwdXNoIHRvIGJlIHJlamVjdGVkCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1c2ggLS1hdG9taWMgIiR1cCIgbWFzdGVyIGF0b21pYyBjb2xsYXRlcmFsIDI+b3V0cHV0ICYmCisKKwkjIHRoZSBuZXcgYnJhbmNoIHNob3VsZCBub3QgaGF2ZSBiZWVuIGNyZWF0ZWQgdXBzdHJlYW0KKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgIiRkIiBzaG93LXJlZiAtLXZlcmlmeSByZWZzL2hlYWRzL2F0b21pYyAmJgorCisJIyB1cHN0cmVhbSBzaG91bGQgc3RpbGwgcmVmbGVjdCBhdG9taWMyLCB0aGUgbGFzdCB0aGluZyB3ZSBwdXNoZWQKKwkjIHN1Y2Nlc3NmdWxseQorCWdpdCByZXYtcGFyc2UgYXRvbWljMiA+ZXhwZWN0ZWQgJiYKKwkjIG9uIG1hc3Rlci4uLgorCWdpdCAtQyAiJGQiIHJldi1wYXJzZSByZWZzL2hlYWRzL21hc3RlciA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCisJIyAuLi5hbmQgY29sbGF0ZXJhbC4KKwlnaXQgLUMgIiRkIiByZXYtcGFyc2UgcmVmcy9oZWFkcy9jb2xsYXRlcmFsID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwgJiYKKworCSMgdGhlIGZhaWxlZCByZWZzIHNob3VsZCBiZSBpbmRpY2F0ZWQgdG8gdGhlIHVzZXIKKwlncmVwICJeICEgLipyZWplY3RlZC4qIG1hc3RlciAtPiBtYXN0ZXIiIG91dHB1dCAmJgorCisJIyB0aGUgY29sbGF0ZXJhbCBmYWlsdXJlIHJlZnMgc2hvdWxkIGJlIGluZGljYXRlZCB0byB0aGUgdXNlcgorCWdyZXAgIl4gISAuKnJlamVjdGVkLiogYXRvbWljIC0+IGF0b21pYyAuKmF0b21pYyBwdXNoIGZhaWxlZCIgb3V0cHV0ICYmCisJZ3JlcCAiXiAhIC4qcmVqZWN0ZWQuKiBjb2xsYXRlcmFsIC0+IGNvbGxhdGVyYWwgLiphdG9taWMgcHVzaCBmYWlsZWQiIG91dHB1dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIC0tYXRvbWljIGZhaWxzIG9uIHNlcnZlci1zaWRlIGVycm9ycycgJworCSMgVXNlIHByZXZpb3VzbHkgc2V0IHVwIHJlcG9zaXRvcnkKKwlkPSRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgvYXRvbWljLWJyYW5jaGVzLmdpdCAmJgorCXRlc3RfY29uZmlnIC1DICIkZCIgaHR0cC5yZWNlaXZlcGFjayB0cnVlICYmCisJdXA9IiRIVFRQRF9VUkwiL3NtYXJ0L2F0b21pYy1icmFuY2hlcy5naXQgJiYKKworCSMgYnJlYWsgcmVmIHVwZGF0ZXMgZm9yIG90aGVyIG9uIHRoZSByZW1vdGUgc2l0ZQorCW1rZGlyICIkZC9yZWZzL2hlYWRzL290aGVyLmxvY2siICYmCisKKwkjIGFkZCB0aGUgbmV3IGNvbW1pdCB0byBvdGhlcgorCWdpdCBicmFuY2ggLWYgb3RoZXIgY29sbGF0ZXJhbCAmJgorCisJIyAtLWF0b21pYyBzaG91bGQgY2F1c2UgZW50aXJlIHB1c2ggdG8gYmUgcmVqZWN0ZWQKKwl0ZXN0X211c3RfZmFpbCBnaXQgcHVzaCAtLWF0b21pYyAiJHVwIiBhdG9taWMgb3RoZXIgMj5vdXRwdXQgICYmCisKKwkjIHRoZSBuZXcgYnJhbmNoIHNob3VsZCBub3QgaGF2ZSBiZWVuIGNyZWF0ZWQgdXBzdHJlYW0KKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgIiRkIiBzaG93LXJlZiAtLXZlcmlmeSByZWZzL2hlYWRzL2F0b21pYyAmJgorCisJIyB1cHN0cmVhbSBzaG91bGQgc3RpbGwgcmVmbGVjdCBhdG9taWMyLCB0aGUgbGFzdCB0aGluZyB3ZSBwdXNoZWQKKwkjIHN1Y2Nlc3NmdWxseQorCWdpdCByZXYtcGFyc2UgYXRvbWljMiA+ZXhwZWN0ZWQgJiYKKwkjIC4uLnRvIG90aGVyLgorCWdpdCAtQyAiJGQiIHJldi1wYXJzZSByZWZzL2hlYWRzL290aGVyID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwgJiYKKworCSMgdGhlIG5ldyBicmFuY2ggc2hvdWxkIG5vdCBoYXZlIGJlZW4gY3JlYXRlZCB1cHN0cmVhbQorCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyAiJGQiIHNob3ctcmVmIC0tdmVyaWZ5IHJlZnMvaGVhZHMvYXRvbWljICYmCisKKwkjIHRoZSBmYWlsZWQgcmVmcyBzaG91bGQgYmUgaW5kaWNhdGVkIHRvIHRoZSB1c2VyCisJZ3JlcCAiXiAhIC4qcmVqZWN0ZWQuKiBvdGhlciAtPiBvdGhlciAuKmF0b21pYyB0cmFuc2FjdGlvbiBmYWlsZWQiIG91dHB1dCAmJgorCisJIyB0aGUgY29sbGF0ZXJhbCBmYWlsdXJlIHJlZnMgc2hvdWxkIGJlIGluZGljYXRlZCB0byB0aGUgdXNlcgorCWdyZXAgIl4gISAuKnJlamVjdGVkLiogYXRvbWljIC0+IGF0b21pYyAuKmF0b21pYyB0cmFuc2FjdGlvbiBmYWlsZWQiIG91dHB1dAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdXNoIC0tYWxsIGNhbiBwdXNoIHRvIGVtcHR5IHJlcG8nICcKIAlkPSRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgvZW1wdHktYWxsLmdpdCAmJgogCWdpdCBpbml0IC0tYmFyZSAiJGQiICYmCkBAIC0zNzMsNSArNDY4LDQgQEAKIAl0ZXN0X2kxOG5ncmVwICEgIl5oaW50OiAiIGRlY29kZWQKICcKIAotc3RvcF9odHRwZAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NTQyLXB1c2gtaHR0cC1zaGFsbG93LnNoIGIvdC90NTU0Mi1wdXNoLWh0dHAtc2hhbGxvdy5zaAppbmRleCA1MTY1ODMzLi5kZGMxZGI3IDEwMDc1NQotLS0gYS90L3Q1NTQyLXB1c2gtaHR0cC1zaGFsbG93LnNoCisrKyBiL3QvdDU1NDItcHVzaC1odHRwLXNoYWxsb3cuc2gKQEAgLTkwLDUgKzkwLDQgQEAKIAkpCiAnCiAKLXN0b3BfaHR0cGQKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTU0NS1wdXNoLW9wdGlvbnMuc2ggYi90L3Q1NTQ1LXB1c2gtb3B0aW9ucy5zaAppbmRleCBiNDdhOTU4Li4zOGU2ZjczIDEwMDc1NQotLS0gYS90L3Q1NTQ1LXB1c2gtb3B0aW9ucy5zaAorKysgYi90L3Q1NTQ1LXB1c2gtb3B0aW9ucy5zaApAQCAtMTE1LDcgKzExNSw3IEBACiAKIAlnaXQgLUMgcGFyZW50IHN1Ym1vZHVsZSBhZGQgLi4vdXBzdHJlYW0gd29ya2JlbmNoICYmCiAJZ2l0IC1DIHBhcmVudC93b3JrYmVuY2ggcmVtb3RlIGFkZCB1cCAuLi8uLi91cHN0cmVhbSAmJgotCWdpdCAtQyBwYXJlbnQgY29tbWl0IC1tICJhZGQgc3VibW91bGUiICYmCisJZ2l0IC1DIHBhcmVudCBjb21taXQgLW0gImFkZCBzdWJtb2R1bGUiICYmCiAKIAl0ZXN0X2NvbW1pdCAtQyBwYXJlbnQvd29ya2JlbmNoIHR3byAmJgogCWdpdCAtQyBwYXJlbnQgYWRkIHdvcmtiZW5jaCAmJgpAQCAtMjc4LDYgKzI3OCw3IEBACiAJdGVzdF9jbXAgZXhwZWN0ICIkSFRUUERfRE9DVU1FTlRfUk9PVF9QQVRIIi91cHN0cmVhbS5naXQvaG9va3MvcHJlLXJlY2VpdmUucHVzaF9vcHRpb25zCiAnCiAKLXN0b3BfaHR0cGQKKyMgRE8gTk9UIGFkZCBub24taHR0cGQtc3BlY2lmaWMgdGVzdHMgaGVyZSwgYmVjYXVzZSB0aGUgbGFzdCBwYXJ0IG9mIHRoaXMKKyMgdGVzdCBzY3JpcHQgaXMgb25seSBleGVjdXRlZCB3aGVuIGh0dHBkIGlzIGF2YWlsYWJsZSBhbmQgZW5hYmxlZC4KIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NTUwLWh0dHAtZmV0Y2gtZHVtYi5zaCBiL3QvdDU1NTAtaHR0cC1mZXRjaC1kdW1iLnNoCmluZGV4IDZkN2Q4OGMuLmI4MTFkODkgMTAwNzU1Ci0tLSBhL3QvdDU1NTAtaHR0cC1mZXRjaC1kdW1iLnNoCisrKyBiL3QvdDU1NTAtaHR0cC1mZXRjaC1kdW1iLnNoCkBAIC00MDgsNSArNDA4LDIwIEBACiAJdGVzdF9pMThuZ3JlcCAidW5hYmxlIHRvIGFjY2Vzcy4qL3JlZGlyLXRvLzUwMiIgc3RkZXJyCiAnCiAKLXN0b3BfaHR0cGQKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoaW5nIHZpYSBodHRwIGFsdGVybmF0ZXMgd29ya3MnICcKKwlwYXJlbnQ9JEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSC9hbHQtcGFyZW50LmdpdCAmJgorCWdpdCBpbml0IC0tYmFyZSAiJHBhcmVudCIgJiYKKwlnaXQgLUMgIiRwYXJlbnQiIC0td29yay10cmVlPS4gY29tbWl0IC0tYWxsb3ctZW1wdHkgLW0gZm9vICYmCisJZ2l0IC1DICIkcGFyZW50IiB1cGRhdGUtc2VydmVyLWluZm8gJiYKKwljb21taXQ9JChnaXQgLUMgIiRwYXJlbnQiIHJldi1wYXJzZSBIRUFEKSAmJgorCisJY2hpbGQ9JEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSC9hbHQtY2hpbGQuZ2l0ICYmCisJZ2l0IGluaXQgLS1iYXJlICIkY2hpbGQiICYmCisJZWNobyAiLi4vLi4vYWx0LXBhcmVudC5naXQvb2JqZWN0cyIgPiIkY2hpbGQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMiICYmCisJZ2l0IC1DICIkY2hpbGQiIHVwZGF0ZS1yZWYgSEVBRCAkY29tbWl0ICYmCisJZ2l0IC1DICIkY2hpbGQiIHVwZGF0ZS1zZXJ2ZXItaW5mbyAmJgorCisJZ2l0IC1jIGh0dHAuZm9sbG93cmVkaXJlY3RzPXRydWUgY2xvbmUgIiRIVFRQRF9VUkwvZHVtYi9hbHQtY2hpbGQuZ2l0IgorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1NTEtaHR0cC1mZXRjaC1zbWFydC5zaCBiL3QvdDU1NTEtaHR0cC1mZXRjaC1zbWFydC5zaAppbmRleCA4NjMwYjBjLi42Nzg4YWVmIDEwMDc1NQotLS0gYS90L3Q1NTUxLWh0dHAtZmV0Y2gtc21hcnQuc2gKKysrIGIvdC90NTU1MS1odHRwLWZldGNoLXNtYXJ0LnNoCkBAIC00Myw3ICs0Myw4IEBACiAJPCBDYWNoZS1Db250cm9sOiBuby1jYWNoZSwgbWF4LWFnZT0wLCBtdXN0LXJldmFsaWRhdGUKIAk8IENvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC1naXQtdXBsb2FkLXBhY2stcmVzdWx0CiAJRU9GCi0JR0lUX1RSQUNFX0NVUkw9dHJ1ZSBnaXQgY2xvbmUgLS1xdWlldCAkSFRUUERfVVJML3NtYXJ0L3JlcG8uZ2l0IGNsb25lIDI+ZXJyICYmCisJR0lUX1RSQUNFX0NVUkw9dHJ1ZSBHSVRfVEVTVF9QUk9UT0NPTF9WRVJTSU9OPTAgXAorCQlnaXQgY2xvbmUgLS1xdWlldCAkSFRUUERfVVJML3NtYXJ0L3JlcG8uZ2l0IGNsb25lIDI+ZXJyICYmCiAJdGVzdF9jbXAgZmlsZSBjbG9uZS9maWxlICYmCiAJdHIgJ1wnJ1wwMTUnXCcnIFEgPGVyciB8CiAJc2VkIC1lICIKQEAgLTgwLDEyICs4MSwxOCBAQAogCQkvXjwgQ29udGVudC1MZW5ndGg6IC9kCiAJCS9ePCBUcmFuc2Zlci1FbmNvZGluZzogL2QKIAkiID5hY3R1YWwgJiYKLQlzZWQgLWUgInMvXj4gQWNjZXB0LUVuY29kaW5nOiAuKi8+IEFjY2VwdC1FbmNvZGluZzogRU5DT0RJTkdTLyIgXAotCQkJYWN0dWFsID5hY3R1YWwuc211ZGdlZCAmJgotCXRlc3RfY21wIGV4cCBhY3R1YWwuc211ZGdlZCAmJgogCi0JZ3JlcCAiQWNjZXB0LUVuY29kaW5nOi4qZ3ppcCIgYWN0dWFsID5hY3R1YWwuZ3ppcCAmJgotCXRlc3RfbGluZV9jb3VudCA9IDIgYWN0dWFsLmd6aXAKKwkjIE5FRURTV09SSzogSWYgdGhlIG92ZXJzcGVjaWZpY2F0aW9uIG9mIHRoZSBleHBlY3RlZCByZXN1bHQgaXMgcmVkdWNlZCwgd2UKKwkjIG1pZ2h0IGJlIGFibGUgdG8gcnVuIHRoaXMgdGVzdCBpbiBhbGwgcHJvdG9jb2wgdmVyc2lvbnMuCisJaWYgdGVzdCAiJEdJVF9URVNUX1BST1RPQ09MX1ZFUlNJT04iID0gMAorCXRoZW4KKwkJc2VkIC1lICJzL14+IEFjY2VwdC1FbmNvZGluZzogLiovPiBBY2NlcHQtRW5jb2Rpbmc6IEVOQ09ESU5HUy8iIFwKKwkJCQlhY3R1YWwgPmFjdHVhbC5zbXVkZ2VkICYmCisJCXRlc3RfY21wIGV4cCBhY3R1YWwuc211ZGdlZCAmJgorCisJCWdyZXAgIkFjY2VwdC1FbmNvZGluZzouKmd6aXAiIGFjdHVhbCA+YWN0dWFsLmd6aXAgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMiBhY3R1YWwuZ3ppcAorCWZpCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoIGNoYW5nZXMgdmlhIGh0dHAnICcKQEAgLTEwMyw3ICsxMTAsMTMgQEAKIAlHRVQgIC9zbWFydC9yZXBvLmdpdC9pbmZvL3JlZnM/c2VydmljZT1naXQtdXBsb2FkLXBhY2sgSFRUUC8xLjEgMjAwCiAJUE9TVCAvc21hcnQvcmVwby5naXQvZ2l0LXVwbG9hZC1wYWNrIEhUVFAvMS4xIDIwMAogCUVPRgotCWNoZWNrX2FjY2Vzc19sb2cgZXhwCisKKwkjIE5FRURTV09SSzogSWYgdGhlIG92ZXJzcGVjaWZpY2F0aW9uIG9mIHRoZSBleHBlY3RlZCByZXN1bHQgaXMgcmVkdWNlZCwgd2UKKwkjIG1pZ2h0IGJlIGFibGUgdG8gcnVuIHRoaXMgdGVzdCBpbiBhbGwgcHJvdG9jb2wgdmVyc2lvbnMuCisJaWYgdGVzdCAiJEdJVF9URVNUX1BST1RPQ09MX1ZFUlNJT04iID0gMAorCXRoZW4KKwkJY2hlY2tfYWNjZXNzX2xvZyBleHAKKwlmaQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmb2xsb3cgcmVkaXJlY3RzICgzMDEpJyAnCkBAIC0xNTEsNyArMTY0LDE3IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vLW9wIGhhbGYtYXV0aCBmZXRjaCBkb2VzIG5vdCByZXF1aXJlIGEgcGFzc3dvcmQnICcKIAlzZXRfYXNrcGFzcyB3cm9uZyAmJgotCWdpdCAtLWdpdC1kaXI9aGFsZi1hdXRoIGZldGNoICYmCisKKwkjIE5FRURTV09SSzogV2hlbiB1c2luZyBIVFRQKFMpLCBwcm90b2NvbCB2MCBzdXBwb3J0cyBhICJoYWxmLWF1dGgiCisJIyBjb25maWd1cmF0aW9uIHdpdGggYXV0aGVudGljYXRpb24gcmVxdWlyZWQgb25seSB3aGVuIGRvd25sb2FkaW5nCisJIyBvYmplY3RzIGFuZCBub3QgcmVmcywgYnkgaGF2aW5nIHRoZSBIVFRQIHNlcnZlciBvbmx5IHJlcXVpcmUKKwkjIGF1dGhlbnRpY2F0aW9uIGZvciB0aGUgImdpdC11cGxvYWQtcGFjayIgcGF0aCBhbmQgbm90ICJpbmZvL3JlZnMiLgorCSMgVGhpcyBpcyBub3QgcG9zc2libGUgd2l0aCBwcm90b2NvbCB2Miwgc2luY2UgYm90aCBvYmplY3RzIGFuZCByZWZzCisJIyBhcmUgb2J0YWluZWQgZnJvbSB0aGUgImdpdC11cGxvYWQtcGFjayIgcGF0aC4gQSBzb2x1dGlvbiB0byB0aGlzIGlzCisJIyB0byB0ZWFjaCB0aGUgc2VydmVyIGFuZCBjbGllbnQgdG8gYmUgYWJsZSB0byBpbmxpbmUgbHMtcmVmcyByZXF1ZXN0cworCSMgYXMgYW4gRXh0cmEgUGFyYW1ldGVyIChzZWUgcGFjay1wcm90b2NvbC50eHQpLCBzbyB0aGF0ICJpbmZvL3JlZnMiCisJIyBjYW4gc2VydmUgcmVmcywganVzdCBsaWtlIGl0IGRvZXMgaW4gcHJvdG9jb2wgdjAuCisJR0lUX1RFU1RfUFJPVE9DT0xfVkVSU0lPTj0wIGdpdCAtLWdpdC1kaXI9aGFsZi1hdXRoIGZldGNoICYmCiAJZXhwZWN0X2Fza3Bhc3Mgbm9uZQogJwogCkBAIC0xNzYsNyArMTk5LDcgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnaW52YWxpZCBDb250ZW50LVR5cGUgcmVqZWN0ZWQnICcKIAl0ZXN0X211c3RfZmFpbCBnaXQgY2xvbmUgJEhUVFBEX1VSTC9icm9rZW5fc21hcnQvcmVwby5naXQgMj5hY3R1YWwgJiYKLQlncmVwICJub3QgdmFsaWQ6IiBhY3R1YWwKKwl0ZXN0X2kxOG5ncmVwICJub3QgdmFsaWQ6IiBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY3JlYXRlIG5hbWVzcGFjZWQgcmVmcycgJwpAQCAtMjE1LDggKzIzOCwxNCBAQAogCWdpdCBjb25maWcgaHR0cC5jb29raWVmaWxlIGNvb2tpZXMudHh0ICYmCiAJZ2l0IGNvbmZpZyBodHRwLnNhdmVjb29raWVzIHRydWUgJiYKIAlnaXQgbHMtcmVtb3RlICRIVFRQRF9VUkwvc21hcnRfY29va2llcy9yZXBvLmdpdCBtYXN0ZXIgJiYKLQl0YWlsIC0zIGNvb2tpZXMudHh0IHwgc29ydCA+Y29va2llc190YWlsLnR4dCAmJgotCXRlc3RfY21wIGV4cGVjdF9jb29raWVzLnR4dCBjb29raWVzX3RhaWwudHh0CisKKwkjIE5FRURTV09SSzogSWYgdGhlIG92ZXJzcGVjaWZpY2F0aW9uIG9mIHRoZSBleHBlY3RlZCByZXN1bHQgaXMgcmVkdWNlZCwgd2UKKwkjIG1pZ2h0IGJlIGFibGUgdG8gcnVuIHRoaXMgdGVzdCBpbiBhbGwgcHJvdG9jb2wgdmVyc2lvbnMuCisJaWYgdGVzdCAiJEdJVF9URVNUX1BST1RPQ09MX1ZFUlNJT04iID0gMAorCXRoZW4KKwkJdGFpbCAtMyBjb29raWVzLnR4dCB8IHNvcnQgPmNvb2tpZXNfdGFpbC50eHQgJiYKKwkJdGVzdF9jbXAgZXhwZWN0X2Nvb2tpZXMudHh0IGNvb2tpZXNfdGFpbC50eHQKKwlmaQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0cmFuc2Zlci5oaWRlcmVmcyB3b3JrcyBvdmVyIHNtYXJ0LWh0dHAnICcKQEAgLTI3MiwxMSArMzAxLDEwIEBACiAJKQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdsYXJnZSBmZXRjaC1wYWNrIHJlcXVlc3RzIGNhbiBiZSBzcGxpdCBhY3Jvc3MgUE9TVHMnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xhcmdlIGZldGNoLXBhY2sgcmVxdWVzdHMgY2FuIGJlIHNlbnQgdXNpbmcgY2h1bmtlZCBlbmNvZGluZycgJwogCUdJVF9UUkFDRV9DVVJMPXRydWUgZ2l0IC1jIGh0dHAucG9zdGJ1ZmZlcj02NTUzNiBcCiAJCWNsb25lIC0tYmFyZSAiJEhUVFBEX1VSTC9zbWFydC9yZXBvLmdpdCIgc3BsaXQuZ2l0IDI+ZXJyICYmCi0JZ3JlcCAiXj0+IFNlbmQgaGVhZGVyOiBQT1NUIiBlcnIgPnBvc3RzICYmCi0JdGVzdF9saW5lX2NvdW50ID0gMiBwb3N0cworCWdyZXAgIl49PiBTZW5kIGhlYWRlcjogVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWQiIGVycgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IGFsbG93cmVhY2hhYmxlc2hhMWlud2FudCcgJwpAQCAtMzA2LDcgKzMzNCwxMCBAQAogCiAJZ2l0IGluaXQgLS1iYXJlIHRlc3RfcmVhY2hhYmxlLmdpdCAmJgogCWdpdCAtQyB0ZXN0X3JlYWNoYWJsZS5naXQgcmVtb3RlIGFkZCBvcmlnaW4gIiRIVFRQRF9VUkwvc21hcnQvcmVwby5naXQiICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIHRlc3RfcmVhY2hhYmxlLmdpdCBmZXRjaCBvcmlnaW4gIiQoZ2l0IHJldi1wYXJzZSBIRUFEKSIKKwkjIFNvbWUgcHJvdG9jb2wgdmVyc2lvbnMgKGUuZy4gMikgc3VwcG9ydCBmZXRjaGluZworCSMgdW5hZHZlcnRpc2VkIG9iamVjdHMsIHNvIHJlc3RyaWN0IHRoaXMgdGVzdCB0byB2MC4KKwl0ZXN0X211c3RfZmFpbCBlbnYgR0lUX1RFU1RfUFJPVE9DT0xfVkVSU0lPTj0wIFwKKwkJZ2l0IC1DIHRlc3RfcmVhY2hhYmxlLmdpdCBmZXRjaCBvcmlnaW4gIiQoZ2l0IHJldi1wYXJzZSBIRUFEKSIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCBhbGxvd2FueXNoYTFpbndhbnQgd2l0aCB1bnJlYWNoYWJsZScgJwpAQCAtMzI1LDcgKzM1NiwxMCBAQAogCiAJZ2l0IGluaXQgLS1iYXJlIHRlc3RfcmVhY2hhYmxlLmdpdCAmJgogCWdpdCAtQyB0ZXN0X3JlYWNoYWJsZS5naXQgcmVtb3RlIGFkZCBvcmlnaW4gIiRIVFRQRF9VUkwvc21hcnQvcmVwby5naXQiICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIHRlc3RfcmVhY2hhYmxlLmdpdCBmZXRjaCBvcmlnaW4gIiQoZ2l0IHJldi1wYXJzZSBIRUFEKSIgJiYKKwkjIFNvbWUgcHJvdG9jb2wgdmVyc2lvbnMgKGUuZy4gMikgc3VwcG9ydCBmZXRjaGluZworCSMgdW5hZHZlcnRpc2VkIG9iamVjdHMsIHNvIHJlc3RyaWN0IHRoaXMgdGVzdCB0byB2MC4KKwl0ZXN0X211c3RfZmFpbCBlbnYgR0lUX1RFU1RfUFJPVE9DT0xfVkVSU0lPTj0wIFwKKwkJZ2l0IC1DIHRlc3RfcmVhY2hhYmxlLmdpdCBmZXRjaCBvcmlnaW4gIiQoZ2l0IHJldi1wYXJzZSBIRUFEKSIgJiYKIAogCWdpdCAtQyAiJHNlcnZlciIgY29uZmlnIHVwbG9hZHBhY2suYWxsb3dhbnlzaGExaW53YW50IDEgJiYKIAlnaXQgLUMgdGVzdF9yZWFjaGFibGUuZ2l0IGZldGNoIG9yaWdpbiAiJChnaXQgcmV2LXBhcnNlIEhFQUQpIgpAQCAtNDI5LDUgKzQ2Myw5IEBACiAJISBncmVwICI9PiBTZW5kIGRhdGEiIGVycgogJwogCi1zdG9wX2h0dHBkCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXJ2ZXItc2lkZSBlcnJvciBkZXRlY3RlZCcgJworCXRlc3RfbXVzdF9mYWlsIGdpdCBjbG9uZSAkSFRUUERfVVJML2Vycm9yX3NtYXJ0L3JlcG8uZ2l0IDI+YWN0dWFsICYmCisJdGVzdF9pMThuZ3JlcCAic2VydmVyLXNpZGUgZXJyb3IiIGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1NTItc2tpcHBpbmctZmV0Y2gtbmVnb3RpYXRvci5zaCBiL3QvdDU1NTItc2tpcHBpbmctZmV0Y2gtbmVnb3RpYXRvci5zaAppbmRleCAzMDg1N2I4Li4xNTZjNzA0IDEwMDc1NQotLS0gYS90L3Q1NTUyLXNraXBwaW5nLWZldGNoLW5lZ290aWF0b3Iuc2gKKysrIGIvdC90NTU1Mi1za2lwcGluZy1mZXRjaC1uZWdvdGlhdG9yLnNoCkBAIC02MCwyOSArNjAsNiBAQAogCWhhdmVfbm90X3NlbnQgYzYgYzQgYzMKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAndW5rbm93biBmZXRjaC5uZWdvdGlhdGlvbkFsZ29yaXRobSB2YWx1ZXMgZXJyb3Igb3V0JyAnCi0Jcm0gLXJmIHNlcnZlciBjbGllbnQgdHJhY2UgJiYKLQlnaXQgaW5pdCBzZXJ2ZXIgJiYKLQl0ZXN0X2NvbW1pdCAtQyBzZXJ2ZXIgdG9fZmV0Y2ggJiYKLQotCWdpdCBpbml0IGNsaWVudCAmJgotCXRlc3RfY29tbWl0IC1DIGNsaWVudCBvbl9jbGllbnQgJiYKLQlnaXQgLUMgY2xpZW50IGNoZWNrb3V0IG9uX2NsaWVudCAmJgotCi0JdGVzdF9jb25maWcgLUMgY2xpZW50IGZldGNoLm5lZ290aWF0aW9uQWxnb3JpdGhtIGludmFsaWQgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgLUMgY2xpZW50IGZldGNoICIkKHB3ZCkvc2VydmVyIiAyPmVyciAmJgotCXRlc3RfaTE4bmdyZXAgInVua25vd24gZmV0Y2ggbmVnb3RpYXRpb24gYWxnb3JpdGhtIiBlcnIgJiYKLQotCSMgRXhwbGljaXQgImRlZmF1bHQiIHZhbHVlCi0JdGVzdF9jb25maWcgLUMgY2xpZW50IGZldGNoLm5lZ290aWF0aW9uQWxnb3JpdGhtIGRlZmF1bHQgJiYKLQlnaXQgLUMgY2xpZW50IC1jIGZldGNoLm5lZ290aWF0aW9uQWxnb3JpdGhtPWRlZmF1bHQgZmV0Y2ggIiQocHdkKS9zZXJ2ZXIiICYmCi0KLQkjIEltcGxlbWVudGF0aW9uIGRldGFpbDogSWYgdGhlcmUgaXMgbm90aGluZyB0byBmZXRjaCwgd2Ugd2lsbCBub3QgZXJyb3Igb3V0Ci0JdGVzdF9jb25maWcgLUMgY2xpZW50IGZldGNoLm5lZ290aWF0aW9uQWxnb3JpdGhtIGludmFsaWQgJiYKLQlnaXQgLUMgY2xpZW50IGZldGNoICIkKHB3ZCkvc2VydmVyIiAyPmVyciAmJgotCXRlc3RfaTE4bmdyZXAgISAidW5rbm93biBmZXRjaCBuZWdvdGlhdGlvbiBhbGdvcml0aG0iIGVycgotJwotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd3aGVuIHR3byBza2lwcyBjb2xsaWRlLCBmYXZvciB0aGUgbGFyZ2VyIG9uZScgJwogCXJtIC1yZiBzZXJ2ZXIgY2xpZW50IHRyYWNlICYmCiAJZ2l0IGluaXQgc2VydmVyICYmCkBAIC0xMjcsNyArMTA0LDE0IEBACiAJIyBub3QgbmVlZCB0byBzZW5kIGFueSBhbmNlc3RvcnMgb2YgImMzIiwgYnV0IHdlIHN0aWxsIG5lZWQgdG8gc2VuZCAiYzMiCiAJIyBpdHNlbGYuCiAJdGVzdF9jb25maWcgLUMgY2xpZW50IGZldGNoLm5lZ290aWF0aW9uYWxnb3JpdGhtIHNraXBwaW5nICYmCi0JdHJhY2VfZmV0Y2ggY2xpZW50IG9yaWdpbiB0b19mZXRjaCAmJgorCisJIyBUaGUgcmVmIGFkdmVydGlzZW1lbnQgaXRzZWxmIGlzIGZpbHRlcmVkIHdoZW4gcHJvdG9jb2wgdjIgaXMgdXNlZCwgc28KKwkjIHVzZSB2MC4KKwkoCisJCUdJVF9URVNUX1BST1RPQ09MX1ZFUlNJT049MCAmJgorCQlleHBvcnQgR0lUX1RFU1RfUFJPVE9DT0xfVkVSU0lPTiAmJgorCQl0cmFjZV9mZXRjaCBjbGllbnQgb3JpZ2luIHRvX2ZldGNoCisJKSAmJgogCWhhdmVfc2VudCBjNSBjNF4gYzJzaWRlICYmCiAJaGF2ZV9ub3Rfc2VudCBjNCBjNF5eIGM0Xl5eCiAnCkBAIC0xODksNyArMTczLDE3IEBACiAJdGVzdF9jb21taXQgLUMgc2VydmVyIGNvbW1pdC1vbi1iMSAmJgogCiAJdGVzdF9jb25maWcgLUMgY2xpZW50IGZldGNoLm5lZ290aWF0aW9uYWxnb3JpdGhtIHNraXBwaW5nICYmCi0JdHJhY2VfZmV0Y2ggY2xpZW50ICIkKHB3ZCkvc2VydmVyIiB0b19mZXRjaCAmJgorCisJIyBORUVEU1dPUks6IFRoZSBudW1iZXIgb2YgImhhdmUicyBzZW50IGRlcGVuZHMgb24gd2hldGhlciB0aGUgdHJhbnNwb3J0CisJIyBpcyBzdGF0ZWZ1bC4gSWYgdGhlIG92ZXJzcGVjaWZpY2F0aW9uIG9mIHRoZSByZXN1bHQgd2VyZSByZWR1Y2VkLCB0aGlzCisJIyB0ZXN0IGNvdWxkIGJlIHVzZWQgZm9yIGJvdGggc3RhdGVmdWwgYW5kIHN0YXRlbGVzcyB0cmFuc3BvcnRzLgorCSgKKwkJIyBGb3JjZSBwcm90b2NvbCB2MCwgaW4gd2hpY2ggbG9jYWwgdHJhbnNwb3J0IGlzIHN0YXRlZnVsIChpbgorCQkjIHByb3RvY29sIHYyIGl0IGlzIHN0YXRlbGVzcykuCisJCUdJVF9URVNUX1BST1RPQ09MX1ZFUlNJT049MCAmJgorCQlleHBvcnQgR0lUX1RFU1RfUFJPVE9DT0xfVkVSU0lPTiAmJgorCQl0cmFjZV9mZXRjaCBjbGllbnQgIiQocHdkKS9zZXJ2ZXIiIHRvX2ZldGNoCisJKSAmJgogCWdyZXAgIiAgZmV0Y2giIHRyYWNlICYmCiAKIAkjIGZldGNoLXBhY2sgc2VuZHMgMiByZXF1ZXN0cyBlYWNoIGNvbnRhaW5pbmcgMTYgImhhdmUiIGxpbmVzIGJlZm9yZQpkaWZmIC0tZ2l0IGEvdC90NTU1My1zZXQtdXBzdHJlYW0uc2ggYi90L3Q1NTUzLXNldC11cHN0cmVhbS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MTk3NWFkCi0tLSAvZGV2L251bGwKKysrIGIvdC90NTU1My1zZXQtdXBzdHJlYW0uc2gKQEAgLTAsMCArMSwxNzggQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSciZ2l0IGZldGNoL3B1bGwgLS1zZXQtdXBzdHJlYW0iIGJhc2ljIHRlc3RzLicKKy4gLi90ZXN0LWxpYi5zaAorCitjaGVja19jb25maWcgKCkgeworCXByaW50ZiAiJXNcbiIgIiQyIiAiJDMiID4iZXhwZWN0LiQxIiAmJgorCXsKKwkJZ2l0IGNvbmZpZyAiYnJhbmNoLiQxLnJlbW90ZSIgJiYgZ2l0IGNvbmZpZyAiYnJhbmNoLiQxLm1lcmdlIgorCX0gPiJhY3R1YWwuJDEiICYmCisJdGVzdF9jbXAgImV4cGVjdC4kMSIgImFjdHVhbC4kMSIKK30KKworY2hlY2tfY29uZmlnX21pc3NpbmcgKCkgeworCXRlc3RfZXhwZWN0X2NvZGUgMSBnaXQgY29uZmlnICJicmFuY2guJDEucmVtb3RlIiAmJgorCXRlc3RfZXhwZWN0X2NvZGUgMSBnaXQgY29uZmlnICJicmFuY2guJDEubWVyZ2UiCit9CisKK2NsZWFyX2NvbmZpZyAoKSB7CisJZm9yIGJyYW5jaCBpbiAiJEAiOyBkbworCQl0ZXN0X21pZ2h0X2ZhaWwgZ2l0IGNvbmZpZyAtLXVuc2V0LWFsbCAiYnJhbmNoLiRicmFuY2gucmVtb3RlIgorCQl0ZXN0X21pZ2h0X2ZhaWwgZ2l0IGNvbmZpZyAtLXVuc2V0LWFsbCAiYnJhbmNoLiRicmFuY2gubWVyZ2UiCisJZG9uZQorfQorCitlbnN1cmVfZnJlc2hfdXBzdHJlYW0gKCkgeworCXJtIC1yZiBwYXJlbnQgJiYgZ2l0IGluaXQgLS1iYXJlIHBhcmVudAorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBiYXJlIHBhcmVudCBmZXRjaCcgJworCWVuc3VyZV9mcmVzaF91cHN0cmVhbSAmJgorCWdpdCByZW1vdGUgYWRkIHVwc3RyZWFtIHBhcmVudAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBjb21taXQgb24gbWFzdGVyIGFuZCBvdGhlciBmZXRjaCcgJworCXRlc3RfY29tbWl0IG9uZSAmJgorCWdpdCBwdXNoIHVwc3RyZWFtIG1hc3RlciAmJgorCWdpdCBjaGVja291dCAtYiBvdGhlciAmJgorCXRlc3RfY29tbWl0IHR3byAmJgorCWdpdCBwdXNoIHVwc3RyZWFtIG90aGVyCisnCisKKyMgdGVzdHMgZm9yIGZldGNoIC0tc2V0LXVwc3RyZWFtCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoIC0tc2V0LXVwc3RyZWFtIGRvZXMgbm90IHNldCB1cHN0cmVhbSB3L28gYnJhbmNoJyAnCisJY2xlYXJfY29uZmlnIG1hc3RlciBvdGhlciAmJgorCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwlnaXQgZmV0Y2ggLS1zZXQtdXBzdHJlYW0gdXBzdHJlYW0gJiYKKwljaGVja19jb25maWdfbWlzc2luZyBtYXN0ZXIgJiYKKwljaGVja19jb25maWdfbWlzc2luZyBvdGhlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaCAtLXNldC11cHN0cmVhbSB1cHN0cmVhbSBtYXN0ZXIgc2V0cyBicmFuY2ggbWFzdGVyIGJ1dCBub3Qgb3RoZXInICcKKwljbGVhcl9jb25maWcgbWFzdGVyIG90aGVyICYmCisJZ2l0IGZldGNoIC0tc2V0LXVwc3RyZWFtIHVwc3RyZWFtIG1hc3RlciAmJgorCWNoZWNrX2NvbmZpZyBtYXN0ZXIgdXBzdHJlYW0gcmVmcy9oZWFkcy9tYXN0ZXIgJiYKKwljaGVja19jb25maWdfbWlzc2luZyBvdGhlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaCAtLXNldC11cHN0cmVhbSB1cHN0cmVhbSBvdGhlciBzZXRzIGJyYW5jaCBvdGhlcicgJworCWNsZWFyX2NvbmZpZyBtYXN0ZXIgb3RoZXIgJiYKKwlnaXQgZmV0Y2ggLS1zZXQtdXBzdHJlYW0gdXBzdHJlYW0gb3RoZXIgJiYKKwljaGVja19jb25maWcgbWFzdGVyIHVwc3RyZWFtIHJlZnMvaGVhZHMvb3RoZXIgJiYKKwljaGVja19jb25maWdfbWlzc2luZyBvdGhlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaCAtLXNldC11cHN0cmVhbSBtYXN0ZXI6b3RoZXIgZG9lcyBub3Qgc2V0IHRoZSBicmFuY2ggb3RoZXIyJyAnCisJY2xlYXJfY29uZmlnIG90aGVyMiAmJgorCWdpdCBmZXRjaCAtLXNldC11cHN0cmVhbSB1cHN0cmVhbSBtYXN0ZXI6b3RoZXIyICYmCisJY2hlY2tfY29uZmlnX21pc3Npbmcgb3RoZXIyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoIC0tc2V0LXVwc3RyZWFtIGh0dHA6Ly9ub3N1Y2hkb21haW4uZXhhbXBsZS5jb20gZmFpbHMgd2l0aCBpbnZhbGlkIHVybCcgJworCSMgbWFzdGVyIGV4cGxpY2l0bHkgbm90IGNsZWFyZWQsIHdlIGNoZWNrIHRoYXQgaXQgaXMgbm90IHRvdWNoZWQgZnJvbSBwcmV2aW91cyB2YWx1ZQorCWNsZWFyX2NvbmZpZyBvdGhlciBvdGhlcjIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgZmV0Y2ggLS1zZXQtdXBzdHJlYW0gaHR0cDovL25vc3VjaGRvbWFpbi5leGFtcGxlLmNvbSAmJgorCWNoZWNrX2NvbmZpZyBtYXN0ZXIgdXBzdHJlYW0gcmVmcy9oZWFkcy9vdGhlciAmJgorCWNoZWNrX2NvbmZpZ19taXNzaW5nIG90aGVyICYmCisJY2hlY2tfY29uZmlnX21pc3Npbmcgb3RoZXIyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoIC0tc2V0LXVwc3RyZWFtIHdpdGggdmFsaWQgVVJMIHNldHMgdXBzdHJlYW0gdG8gVVJMJyAnCisJY2xlYXJfY29uZmlnIG90aGVyIG90aGVyMiAmJgorCXVybD0iZmlsZTovLyciJFBXRCInIiAmJgorCWdpdCBmZXRjaCAtLXNldC11cHN0cmVhbSAiJHVybCIgJiYKKwljaGVja19jb25maWcgbWFzdGVyICIkdXJsIiBIRUFEICYmCisJY2hlY2tfY29uZmlnX21pc3Npbmcgb3RoZXIgJiYKKwljaGVja19jb25maWdfbWlzc2luZyBvdGhlcjIKKycKKworIyB0ZXN0cyBmb3IgcHVsbCAtLXNldC11cHN0cmVhbQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBiYXJlIHBhcmVudCBwdWxsJyAnCisJZ2l0IHJlbW90ZSBybSB1cHN0cmVhbSAmJgorCWVuc3VyZV9mcmVzaF91cHN0cmVhbSAmJgorCWdpdCByZW1vdGUgYWRkIHVwc3RyZWFtIHBhcmVudAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBjb21taXQgb24gbWFzdGVyIGFuZCBvdGhlciBwdWxsJyAnCisJdGVzdF9jb21taXQgdGhyZWUgJiYKKwlnaXQgcHVzaCAtLXRhZ3MgdXBzdHJlYW0gbWFzdGVyICYmCisJdGVzdF9jb21taXQgZm91ciAmJgorCWdpdCBwdXNoIHVwc3RyZWFtIG90aGVyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1bGwgLS1zZXQtdXBzdHJlYW0gdXBzdHJlYW0gbWFzdGVyIHNldHMgYnJhbmNoIG1hc3RlciBidXQgbm90IG90aGVyJyAnCisJY2xlYXJfY29uZmlnIG1hc3RlciBvdGhlciAmJgorCWdpdCBwdWxsIC0tc2V0LXVwc3RyZWFtIHVwc3RyZWFtIG1hc3RlciAmJgorCWNoZWNrX2NvbmZpZyBtYXN0ZXIgdXBzdHJlYW0gcmVmcy9oZWFkcy9tYXN0ZXIgJiYKKwljaGVja19jb25maWdfbWlzc2luZyBvdGhlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdWxsIC0tc2V0LXVwc3RyZWFtIG1hc3RlcjpvdGhlcjIgZG9lcyBub3Qgc2V0IHRoZSBicmFuY2ggb3RoZXIyJyAnCisJY2xlYXJfY29uZmlnIG90aGVyMiAmJgorCWdpdCBwdWxsIC0tc2V0LXVwc3RyZWFtIHVwc3RyZWFtIG1hc3RlcjpvdGhlcjIgJiYKKwljaGVja19jb25maWdfbWlzc2luZyBvdGhlcjIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVsbCAtLXNldC11cHN0cmVhbSB1cHN0cmVhbSBvdGhlciBzZXRzIGJyYW5jaCBtYXN0ZXInICcKKwljbGVhcl9jb25maWcgbWFzdGVyIG90aGVyICYmCisJZ2l0IHB1bGwgLS1zZXQtdXBzdHJlYW0gdXBzdHJlYW0gb3RoZXIgJiYKKwljaGVja19jb25maWcgbWFzdGVyIHVwc3RyZWFtIHJlZnMvaGVhZHMvb3RoZXIgJiYKKwljaGVja19jb25maWdfbWlzc2luZyBvdGhlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdWxsIC0tc2V0LXVwc3RyZWFtIHVwc3RyZWFtIHRhZyBkb2VzIG5vdCBzZXQgdGhlIHRhZycgJworCWNsZWFyX2NvbmZpZyB0aHJlZSAmJgorCWdpdCBwdWxsIC0tdGFncyAtLXNldC11cHN0cmVhbSB1cHN0cmVhbSB0aHJlZSAmJgorCWNoZWNrX2NvbmZpZ19taXNzaW5nIHRocmVlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1bGwgLS1zZXQtdXBzdHJlYW0gaHR0cDovL25vc3VjaGRvbWFpbi5leGFtcGxlLmNvbSBmYWlscyB3aXRoIGludmFsaWQgdXJsJyAnCisJIyBtYXN0ZXIgZXhwbGljaXRseSBub3QgY2xlYXJlZCwgd2UgY2hlY2sgdGhhdCBpdCBpcyBub3QgdG91Y2hlZCBmcm9tIHByZXZpb3VzIHZhbHVlCisJY2xlYXJfY29uZmlnIG90aGVyIG90aGVyMiB0aHJlZSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBwdWxsIC0tc2V0LXVwc3RyZWFtIGh0dHA6Ly9ub3N1Y2hkb21haW4uZXhhbXBsZS5jb20gJiYKKwljaGVja19jb25maWcgbWFzdGVyIHVwc3RyZWFtIHJlZnMvaGVhZHMvb3RoZXIgJiYKKwljaGVja19jb25maWdfbWlzc2luZyBvdGhlciAmJgorCWNoZWNrX2NvbmZpZ19taXNzaW5nIG90aGVyMiAmJgorCWNoZWNrX2NvbmZpZ19taXNzaW5nIHRocmVlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1bGwgLS1zZXQtdXBzdHJlYW0gdXBzdHJlYW0gSEVBRCBzZXRzIGJyYW5jaCBIRUFEJyAnCisJY2xlYXJfY29uZmlnIG1hc3RlciBvdGhlciAmJgorCWdpdCBwdWxsIC0tc2V0LXVwc3RyZWFtIHVwc3RyZWFtIEhFQUQgJiYKKwljaGVja19jb25maWcgbWFzdGVyIHVwc3RyZWFtIEhFQUQgJiYKKwlnaXQgY2hlY2tvdXQgb3RoZXIgJiYKKwlnaXQgcHVsbCAtLXNldC11cHN0cmVhbSB1cHN0cmVhbSBIRUFEICYmCisJY2hlY2tfY29uZmlnIG90aGVyIHVwc3RyZWFtIEhFQUQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHVsbCAtLXNldC11cHN0cmVhbSB1cHN0cmVhbSB3aXRoIG1vcmUgdGhhbiBvbmUgYnJhbmNoIGRvZXMgbm90aGluZycgJworCWNsZWFyX2NvbmZpZyBtYXN0ZXIgdGhyZWUgJiYKKwlnaXQgcHVsbCAtLXNldC11cHN0cmVhbSB1cHN0cmVhbSBtYXN0ZXIgdGhyZWUgJiYKKwljaGVja19jb25maWdfbWlzc2luZyBtYXN0ZXIgJiYKKwljaGVja19jb25maWdfbWlzc2luZyB0aHJlZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwdWxsIC0tc2V0LXVwc3RyZWFtIHdpdGggdmFsaWQgVVJMIHNldHMgdXBzdHJlYW0gdG8gVVJMJyAnCisJY2xlYXJfY29uZmlnIG1hc3RlciBvdGhlciBvdGhlcjIgJiYKKwlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCisJdXJsPSJmaWxlOi8vJyIkUFdEIiciICYmCisJZ2l0IHB1bGwgLS1zZXQtdXBzdHJlYW0gIiR1cmwiICYmCisJY2hlY2tfY29uZmlnIG1hc3RlciAiJHVybCIgSEVBRCAmJgorCWNoZWNrX2NvbmZpZ19taXNzaW5nIG90aGVyICYmCisJY2hlY2tfY29uZmlnX21pc3Npbmcgb3RoZXIyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1bGwgLS1zZXQtdXBzdHJlYW0gd2l0aCB2YWxpZCBVUkwgYW5kIGJyYW5jaCBzZXRzIGJyYW5jaCcgJworCWNsZWFyX2NvbmZpZyBtYXN0ZXIgb3RoZXIgb3RoZXIyICYmCisJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCXVybD0iZmlsZTovLyciJFBXRCInIiAmJgorCWdpdCBwdWxsIC0tc2V0LXVwc3RyZWFtICIkdXJsIiBtYXN0ZXIgJiYKKwljaGVja19jb25maWcgbWFzdGVyICIkdXJsIiByZWZzL2hlYWRzL21hc3RlciAmJgorCWNoZWNrX2NvbmZpZ19taXNzaW5nIG90aGVyICYmCisJY2hlY2tfY29uZmlnX21pc3Npbmcgb3RoZXIyCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTU2MS1odHRwLWJhY2tlbmQuc2ggYi90L3Q1NTYxLWh0dHAtYmFja2VuZC5zaAppbmRleCAxYzQ5MDU0Li42ZWIwMjk0IDEwMDc1NQotLS0gYS90L3Q1NTYxLWh0dHAtYmFja2VuZC5zaAorKysgYi90L3Q1NTYxLWh0dHAtYmFja2VuZC5zaApAQCAtMTMyLDUgKzEzMiw0IEBACiAJY2hlY2tfYWNjZXNzX2xvZyBleHAKICcKIAotc3RvcF9odHRwZAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NTYyLWh0dHAtYmFja2VuZC1jb250ZW50LWxlbmd0aC5zaCBiL3QvdDU1NjItaHR0cC1iYWNrZW5kLWNvbnRlbnQtbGVuZ3RoLnNoCmluZGV4IDkwZDg5MGQuLjRhMTEwYjMgMTAwNzU1Ci0tLSBhL3QvdDU1NjItaHR0cC1iYWNrZW5kLWNvbnRlbnQtbGVuZ3RoLnNoCisrKyBiL3QvdDU1NjItaHR0cC1iYWNrZW5kLWNvbnRlbnQtbGVuZ3RoLnNoCkBAIC04LDEyICs4LDEyIEBACiB2ZXJpZnlfaHR0cF9yZXN1bHQoKSB7CiAJIyBzb21lIGZhdGFsIGVycm9ycyBzdGlsbCBwcm9kdWNlIHN0YXR1cyAyMDAKIAkjIHNvIGNoZWNrIGlmIHRoZXJlIGlzIHRoZSBlcnJvciBtZXNzYWdlCi0JaWYgZ3JlcCAnZmF0YWw6JyBhY3QuZXJyCisJaWYgZ3JlcCAnZmF0YWw6JyBhY3QuZXJyLiR0ZXN0X2NvdW50CiAJdGhlbgogCQlyZXR1cm4gMQogCWZpCiAKLQlpZiAhIGdyZXAgIlN0YXR1cyIgYWN0Lm91dCA+YWN0CisJaWYgISBncmVwICJTdGF0dXMiIGFjdC5vdXQuJHRlc3RfY291bnQgPmFjdAogCXRoZW4KIAkJcHJpbnRmICJTdGF0dXM6IDIwMCBPS1xyXG4iID5hY3QKIAlmaQpAQCAtMzMsNyArMzMsNyBAQAogCQlSRVFVRVNUX01FVEhPRD1QT1NUIFwKIAkJIiRQRVJMX1BBVEgiIFwKIAkJIiRURVNUX0RJUkVDVE9SWSIvdDU1NjIvaW52b2tlLXdpdGgtY29udGVudC1sZW5ndGgucGwgXAotCQkgICAgIiRyZXF1ZXN0X2JvZHkiIGdpdCBodHRwLWJhY2tlbmQgPmFjdC5vdXQgMj5hY3QuZXJyCisJCSAgICAiJHJlcXVlc3RfYm9keSIgZ2l0IGh0dHAtYmFja2VuZCA+YWN0Lm91dC4kdGVzdF9jb3VudCAyPmFjdC5lcnIuJHRlc3RfY291bnQKIH0KIAogc3NpemVfYjEwMGRvdHMoKSB7CkBAIC01OSw3ICs1OSw3IEBACiAJcHJpbnRmIGRvbmUgfCBwYWNrZXRpemUgPj5mZXRjaF9ib2R5ICYmCiAJdGVzdF9jb3B5X2J5dGVzIDEwIDxmZXRjaF9ib2R5ID5mZXRjaF9ib2R5LnRydW5jICYmCiAJaGFzaF9uZXh0PSQoZ2l0IGNvbW1pdC10cmVlIC1wIEhFQUQgLW0gbmV4dCBIRUFEXnt0cmVlfSkgJiYKLQlwcmludGYgIiVzICVzIHJlZnMvaGVhZHMvbmV3YnJhbmNoXFwwcmVwb3J0LXN0YXR1c1xcbiIgIiRfejQwIiAiJGhhc2hfbmV4dCIgfCBwYWNrZXRpemUgPnB1c2hfYm9keSAmJgorCXByaW50ZiAiJXMgJXMgcmVmcy9oZWFkcy9uZXdicmFuY2hcXDByZXBvcnQtc3RhdHVzXFxuIiAiJFpFUk9fT0lEIiAiJGhhc2hfbmV4dCIgfCBwYWNrZXRpemUgPnB1c2hfYm9keSAmJgogCXByaW50ZiAwMDAwID4+cHVzaF9ib2R5ICYmCiAJZWNobyAiJGhhc2hfbmV4dCIgfCBnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0ID4+cHVzaF9ib2R5ICYmCiAJdGVzdF9jb3B5X2J5dGVzIDEwIDxwdXNoX2JvZHkgPnB1c2hfYm9keS50cnVuYyAmJgpAQCAtMTUwLDcgKzE1MCw3IEBACiAJCUdJVF9IVFRQX0VYUE9SVF9BTEw9VFJVRSBcCiAJCVJFUVVFU1RfTUVUSE9EPVBPU1QgXAogCQlDT05URU5UX0xFTkdUSD0iJE5PVF9GSVRfSU5fU1NJWkUiIFwKLQkJZ2l0IGh0dHAtYmFja2VuZCA8L2Rldi96ZXJvID4vZGV2L251bGwgMj5lcnIgJiYKKwkJZ2l0IGh0dHAtYmFja2VuZCA8L2Rldi9udWxsID4vZGV2L251bGwgMj5lcnIgJiYKIAlncmVwICJmYXRhbDouKkNPTlRFTlRfTEVOR1RIIiBlcnIKICcKIApAQCAtMTYxLDcgKzE2MSw3IEBACiAJCUdJVF9IVFRQX0VYUE9SVF9BTEw9VFJVRSBcCiAJCVJFUVVFU1RfTUVUSE9EPUdFVCBcCiAJCUNPTlRFTlRfTEVOR1RIPSIiIFwKLQkJZ2l0IGh0dHAtYmFja2VuZCA8ZW1wdHlfYm9keSA+YWN0Lm91dCAyPmFjdC5lcnIgJiYKKwkJZ2l0IGh0dHAtYmFja2VuZCA8ZW1wdHlfYm9keSA+YWN0Lm91dC4kdGVzdF9jb3VudCAyPmFjdC5lcnIuJHRlc3RfY291bnQgJiYKIAl2ZXJpZnlfaHR0cF9yZXN1bHQgIjIwMCBPSyIKICcKIApkaWZmIC0tZ2l0IGEvdC90NTU3MC1naXQtZGFlbW9uLnNoIGIvdC90NTU3MC1naXQtZGFlbW9uLnNoCmluZGV4IDc0NjZhYWQuLjM0NDg3YmIgMTAwNzU1Ci0tLSBhL3QvdDU1NzAtZ2l0LWRhZW1vbi5zaAorKysgYi90L3Q1NTcwLWdpdC1kYWVtb24uc2gKQEAgLTkwLDYgKzkwLDcgQEAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoIG5vdGljZXMgY29ycnVwdCBpZHgnICcKIAljcCAtUiAiJEdJVF9EQUVNT05fRE9DVU1FTlRfUk9PVF9QQVRIIi9yZXBvX3BhY2suZ2l0ICIkR0lUX0RBRU1PTl9ET0NVTUVOVF9ST09UX1BBVEgiL3JlcG9fYmFkMi5naXQgJiYKIAkoY2QgIiRHSVRfREFFTU9OX0RPQ1VNRU5UX1JPT1RfUEFUSCIvcmVwb19iYWQyLmdpdCAmJgorCSBybSAtZiBvYmplY3RzL3BhY2svbXVsdGktcGFjay1pbmRleCAmJgogCSBwPSQobHMgb2JqZWN0cy9wYWNrL3BhY2stKi5pZHgpICYmCiAJIGNobW9kIHUrdyAkcCAmJgogCSBwcmludGYgJTAyNTZkIDAgfCBkZCBvZj0kcCBicz0yNTYgY291bnQ9MSBzZWVrPTEgY29udj1ub3RydW5jCkBAIC0xODMsMTkgKzE4NCw2IEBACiAJCWdpdCBscy1yZW1vdGUgIiRHSVRfREFFTU9OX1VSTC9lc2NhcGUuZ2l0IgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdkYWVtb24gbG9nIHJlY29yZHMgYWxsIGF0dHJpYnV0ZXMnICcKLQljYXQgPmV4cGVjdCA8PC1cRU9GICYmCi0JRXh0ZW5kZWQgYXR0cmlidXRlICJob3N0IjogbG9jYWxob3N0Ci0JRXh0ZW5kZWQgYXR0cmlidXRlICJwcm90b2NvbCI6IHZlcnNpb249MQotCUVPRgotCT5kYWVtb24ubG9nICYmCi0JR0lUX09WRVJSSURFX1ZJUlRVQUxfSE9TVD1sb2NhbGhvc3QgXAotCQlnaXQgLWMgcHJvdG9jb2wudmVyc2lvbj0xIFwKLQkJCWxzLXJlbW90ZSAiJEdJVF9EQUVNT05fVVJML2ludGVycC5naXQiICYmCi0JZ3JlcCAtaSBleHRlbmRlZC5hdHRyaWJ1dGUgZGFlbW9uLmxvZyB8IGN1dCAtZCIgIiAtZjItID5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCi0nCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgRkFLRU5DICdob3N0bmFtZSBpbnRlcnBvbGF0aW9uIHdvcmtzIGFmdGVyIExGLXN0cmlwcGluZycgJwogCXsKIAkJcHJpbnRmICJnaXQtdXBsb2FkLXBhY2sgL2ludGVycC5naXRcblwwaG9zdD1sb2NhbGhvc3QiIHwgcGFja2V0aXplCkBAIC0yMTEsNSArMTk5LDQgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKLXN0b3BfZ2l0X2RhZW1vbgogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NTczLXB1bGwtdmVyaWZ5LXNpZ25hdHVyZXMuc2ggYi90L3Q1NTczLXB1bGwtdmVyaWZ5LXNpZ25hdHVyZXMuc2gKaW5kZXggM2U5ODc2ZS4uYTUzZGQ4NSAxMDA3NTUKLS0tIGEvdC90NTU3My1wdWxsLXZlcmlmeS1zaWduYXR1cmVzLnNoCisrKyBiL3QvdDU1NzMtcHVsbC12ZXJpZnktc2lnbmF0dXJlcy5zaApAQCAtNjAsNiArNjAsMjcgQEAKIAl0ZXN0X2kxOG5ncmVwICJoYXMgYW4gdW50cnVzdGVkIEdQRyBzaWduYXR1cmUiIHB1bGxlcnJvcgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyAncHVsbCBjb21taXQgd2l0aCB1bnRydXN0ZWQgc2lnbmF0dXJlIHdpdGggLS12ZXJpZnktc2lnbmF0dXJlcyBhbmQgbWluVHJ1c3RMZXZlbD11bHRpbWF0ZScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCAmJiBnaXQgY2hlY2tvdXQgaW5pdGlhbCIgJiYKKwl0ZXN0X2NvbmZpZyBncGcubWluVHJ1c3RMZXZlbCB1bHRpbWF0ZSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBwdWxsIC0tZmYtb25seSAtLXZlcmlmeS1zaWduYXR1cmVzIHVudHJ1c3RlZCAyPnB1bGxlcnJvciAmJgorCXRlc3RfaTE4bmdyZXAgImhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSIgcHVsbGVycm9yCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHICdwdWxsIGNvbW1pdCB3aXRoIHVudHJ1c3RlZCBzaWduYXR1cmUgd2l0aCAtLXZlcmlmeS1zaWduYXR1cmVzIGFuZCBtaW5UcnVzdExldmVsPW1hcmdpbmFsJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkICYmIGdpdCBjaGVja291dCBpbml0aWFsIiAmJgorCXRlc3RfY29uZmlnIGdwZy5taW5UcnVzdExldmVsIG1hcmdpbmFsICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1bGwgLS1mZi1vbmx5IC0tdmVyaWZ5LXNpZ25hdHVyZXMgdW50cnVzdGVkIDI+cHVsbGVycm9yICYmCisJdGVzdF9pMThuZ3JlcCAiaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlIiBwdWxsZXJyb3IKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBHUEcgJ3B1bGwgY29tbWl0IHdpdGggdW50cnVzdGVkIHNpZ25hdHVyZSB3aXRoIC0tdmVyaWZ5LXNpZ25hdHVyZXMgYW5kIG1pblRydXN0TGV2ZWw9dW5kZWZpbmVkJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkICYmIGdpdCBjaGVja291dCBpbml0aWFsIiAmJgorCXRlc3RfY29uZmlnIGdwZy5taW5UcnVzdExldmVsIHVuZGVmaW5lZCAmJgorCWdpdCBwdWxsIC0tZmYtb25seSAtLXZlcmlmeS1zaWduYXR1cmVzIHVudHJ1c3RlZCA+cHVsbG91dHB1dCAmJgorCXRlc3RfaTE4bmdyZXAgImhhcyBhIGdvb2QgR1BHIHNpZ25hdHVyZSIgcHVsbG91dHB1dAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyAncHVsbCBzaWduZWQgY29tbWl0IHdpdGggLS12ZXJpZnktc2lnbmF0dXJlcycgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCAmJiBnaXQgY2hlY2tvdXQgaW5pdGlhbCIgJiYKIAlnaXQgcHVsbCAtLXZlcmlmeS1zaWduYXR1cmVzIHNpZ25lZCA+cHVsbG91dHB1dCAmJgpAQCAtNzksMTAgKzEwMCw1MyBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyAncHVsbCB1bnNpZ25lZCBjb21taXQgaW50byB1bmJvcm4gYnJhbmNoJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgZW1wdHktcmVwbyIgJiYKIAlnaXQgaW5pdCBlbXB0eS1yZXBvICYmCiAJdGVzdF9tdXN0X2ZhaWwgXAogCQlnaXQgLUMgZW1wdHktcmVwbyBwdWxsIC0tdmVyaWZ5LXNpZ25hdHVyZXMgLi4gIDI+cHVsbGVycm9yICYmCiAJdGVzdF9pMThuZ3JlcCAiZG9lcyBub3QgaGF2ZSBhIEdQRyBzaWduYXR1cmUiIHB1bGxlcnJvcgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyAncHVsbCBjb21taXQgaW50byB1bmJvcm4gYnJhbmNoIHdpdGggYmFkIHNpZ25hdHVyZSBhbmQgLS12ZXJpZnktc2lnbmF0dXJlcycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIGVtcHR5LXJlcG8iICYmCisJZ2l0IGluaXQgZW1wdHktcmVwbyAmJgorCXRlc3RfbXVzdF9mYWlsIFwKKwkJZ2l0IC1DIGVtcHR5LXJlcG8gcHVsbCAtLWZmLW9ubHkgLS12ZXJpZnktc2lnbmF0dXJlcyAuLi9iYWQgMj5wdWxsZXJyb3IgJiYKKwl0ZXN0X2kxOG5ncmVwICJoYXMgYSBiYWQgR1BHIHNpZ25hdHVyZSIgcHVsbGVycm9yCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHICdwdWxsIGNvbW1pdCBpbnRvIHVuYm9ybiBicmFuY2ggd2l0aCB1bnRydXN0ZWQgc2lnbmF0dXJlIGFuZCAtLXZlcmlmeS1zaWduYXR1cmVzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgZW1wdHktcmVwbyIgJiYKKwlnaXQgaW5pdCBlbXB0eS1yZXBvICYmCisJdGVzdF9tdXN0X2ZhaWwgXAorCQlnaXQgLUMgZW1wdHktcmVwbyBwdWxsIC0tZmYtb25seSAtLXZlcmlmeS1zaWduYXR1cmVzIC4uL3VudHJ1c3RlZCAyPnB1bGxlcnJvciAmJgorCXRlc3RfaTE4bmdyZXAgImhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSIgcHVsbGVycm9yCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHICdwdWxsIGNvbW1pdCBpbnRvIHVuYm9ybiBicmFuY2ggd2l0aCB1bnRydXN0ZWQgc2lnbmF0dXJlIGFuZCAtLXZlcmlmeS1zaWduYXR1cmVzIGFuZCBtaW5UcnVzdExldmVsPXVsdGltYXRlJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgZW1wdHktcmVwbyIgJiYKKwlnaXQgaW5pdCBlbXB0eS1yZXBvICYmCisJdGVzdF9jb25maWdfZ2xvYmFsIGdwZy5taW5UcnVzdExldmVsIHVsdGltYXRlICYmCisJdGVzdF9tdXN0X2ZhaWwgXAorCQlnaXQgLUMgZW1wdHktcmVwbyBwdWxsIC0tZmYtb25seSAtLXZlcmlmeS1zaWduYXR1cmVzIC4uL3VudHJ1c3RlZCAyPnB1bGxlcnJvciAmJgorCXRlc3RfaTE4bmdyZXAgImhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSIgcHVsbGVycm9yCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHICdwdWxsIGNvbW1pdCBpbnRvIHVuYm9ybiBicmFuY2ggd2l0aCB1bnRydXN0ZWQgc2lnbmF0dXJlIGFuZCAtLXZlcmlmeS1zaWduYXR1cmVzIGFuZCBtaW5UcnVzdExldmVsPW1hcmdpbmFsJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgZW1wdHktcmVwbyIgJiYKKwlnaXQgaW5pdCBlbXB0eS1yZXBvICYmCisJdGVzdF9jb25maWdfZ2xvYmFsIGdwZy5taW5UcnVzdExldmVsIG1hcmdpbmFsICYmCisJdGVzdF9tdXN0X2ZhaWwgXAorCQlnaXQgLUMgZW1wdHktcmVwbyBwdWxsIC0tZmYtb25seSAtLXZlcmlmeS1zaWduYXR1cmVzIC4uL3VudHJ1c3RlZCAyPnB1bGxlcnJvciAmJgorCXRlc3RfaTE4bmdyZXAgImhhcyBhbiB1bnRydXN0ZWQgR1BHIHNpZ25hdHVyZSIgcHVsbGVycm9yCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHICdwdWxsIGNvbW1pdCBpbnRvIHVuYm9ybiBicmFuY2ggd2l0aCB1bnRydXN0ZWQgc2lnbmF0dXJlIGFuZCAtLXZlcmlmeS1zaWduYXR1cmVzIGFuZCBtaW5UcnVzdExldmVsPXVuZGVmaW5lZCcgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIGVtcHR5LXJlcG8iICYmCisJZ2l0IGluaXQgZW1wdHktcmVwbyAmJgorCXRlc3RfY29uZmlnX2dsb2JhbCBncGcubWluVHJ1c3RMZXZlbCB1bmRlZmluZWQgJiYKKwlnaXQgLUMgZW1wdHktcmVwbyBwdWxsIC0tZmYtb25seSAtLXZlcmlmeS1zaWduYXR1cmVzIC4uL3VudHJ1c3RlZCA+cHVsbG91dHB1dCAmJgorCXRlc3RfaTE4bmdyZXAgImhhcyBhIGdvb2QgR1BHIHNpZ25hdHVyZSIgcHVsbG91dHB1dAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1ODAtY2xvbmUtcHVzaC11bmMuc2ggYi90L3Q1NTgwLXVuYy1wYXRocy5zaApzaW1pbGFyaXR5IGluZGV4IDY2JQpyZW5hbWUgZnJvbSB0L3Q1NTgwLWNsb25lLXB1c2gtdW5jLnNoCnJlbmFtZSB0byB0L3Q1NTgwLXVuYy1wYXRocy5zaAppbmRleCBiYTU0OGRmLi5jZjc2OGIzIDEwMDc1NQotLS0gYS90L3Q1NTgwLWNsb25lLXB1c2gtdW5jLnNoCisrKyBiL3QvdDU1ODAtdW5jLXBhdGhzLnNoCkBAIC00MCw2ICs0MCwyMyBAQAogCWdpdCBjbG9uZSAiZmlsZTovLyRVTkNQQVRIIiBjbG9uZQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSB3aXRob3V0IGZpbGU6Ly8nICcKKwlnaXQgY2xvbmUgIiRVTkNQQVRIIiBjbG9uZS13aXRob3V0LWZpbGUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgd2l0aCBiYWNrc2xhc2hlZCBwYXRoJyAnCisJQkFDS1NMQVNIRUQ9IiQoZWNobyAiJFVOQ1BBVEgiIHwgdHIgLyBcXFxcKSIgJiYKKwlnaXQgY2xvbmUgIiRCQUNLU0xBU0hFRCIgYmFja3NsYXNoZWQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBmZXRjaCAnCisJZ2l0IGluaXQgdG8tZmV0Y2ggJiYKKwkoCisJCWNkIHRvLWZldGNoICYmCisJCWdpdCBmZXRjaCAiJFVOQ1BBVEgiIG1hc3RlcgorCSkKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyBwdXNoICcKIAkoCiAJCWNkIGNsb25lICYmCkBAIC01Myw4ICs3MCwyMCBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIE1JTkdXICdyZW1vdGUgbmljayBjYW5ub3QgY29udGFpbiBiYWNrc2xhc2hlcycgJwogCUJBQ0tTTEFTSEVEPSIkKHdpbnB3ZCB8IHRyIC8gXFxcXCkiICYmCi0JZ2l0IGxzLXJlbW90ZSAiJEJBQ0tTTEFTSEVEIiA+b3V0IDI+ZXJyICYmCisJZ2l0IGxzLXJlbW90ZSAiJEJBQ0tTTEFTSEVEIiAyPmVyciAmJgogCXRlc3RfaTE4bmdyZXAgISAidW5hYmxlIHRvIGFjY2VzcyIgZXJyCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VuYyBhbHRlcm5hdGVzJyAnCisJdHJlZT0iJChnaXQgcmV2LXBhcnNlIEhFQUQ6KSIgJiYKKwlta2RpciB0ZXN0LXVuYy1hbHRlcm5hdGUgJiYKKwkoCisJCWNkIHRlc3QtdW5jLWFsdGVybmF0ZSAmJgorCQlnaXQgaW5pdCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgc2hvdyAkdHJlZSAmJgorCQllY2hvICIkVU5DUEFUSC8uZ2l0L29iamVjdHMiID4uZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzICYmCisJCWdpdCBzaG93ICR0cmVlCisJKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU1ODEtaHR0cC1jdXJsLXZlcmJvc2Uuc2ggYi90L3Q1NTgxLWh0dHAtY3VybC12ZXJib3NlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUxMjliMDcKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q1NTgxLWh0dHAtY3VybC12ZXJib3NlLnNoCkBAIC0wLDAgKzEsMjYgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSd0ZXN0IEdJVF9DVVJMX1ZFUkJPU0UnCisuIC4vdGVzdC1saWIuc2gKKy4gIiRURVNUX0RJUkVDVE9SWSIvbGliLWh0dHBkLnNoCitzdGFydF9odHRwZAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCByZXBvc2l0b3J5JyAnCisJbWtkaXIgIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgvcmVwby5naXQiICYmCisJZ2l0IC1DICIkSFRUUERfRE9DVU1FTlRfUk9PVF9QQVRIL3JlcG8uZ2l0IiAtLWJhcmUgaW5pdCAmJgorCWdpdCBjb25maWcgcHVzaC5kZWZhdWx0IG1hdGNoaW5nICYmCisJZWNobyBjb250ZW50ID5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJZ2l0IGNvbW1pdCAtbSBvbmUgJiYKKwlnaXQgcmVtb3RlIGFkZCBwdWJsaWMgIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgvcmVwby5naXQiICYmCisJZ2l0IHB1c2ggcHVibGljIG1hc3RlcjptYXN0ZXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmFpbHVyZSBpbiBnaXQtdXBsb2FkLXBhY2sgaXMgc2hvd24nICcKKwl0ZXN0X21pZ2h0X2ZhaWwgZW52IEdJVF9DVVJMX1ZFUkJPU0U9MSBcCisJCWdpdCBjbG9uZSAiJEhUVFBEX1VSTC9lcnJvcl9naXRfdXBsb2FkX3BhY2svc21hcnQvcmVwby5naXQiIFwKKwkJMj5jdXJsX2xvZyAmJgorCWdyZXAgIjwgSFRUUC8xLjEgNTAwIEludGVudGlvbmFsIEJyZWFrYWdlIiBjdXJsX2xvZworJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU2MDEtY2xvbmUuc2ggYi90L3Q1NjAxLWNsb25lLnNoCmluZGV4IDhiYmM3MDYuLjg0ZWEyYTMgMTAwNzU1Ci0tLSBhL3QvdDU2MDEtY2xvbmUuc2gKKysrIGIvdC90NTYwMS1jbG9uZS5zaApAQCAtMzQ1LDcgKzM0NSw3IEBACiB9CiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Nsb25lIG15aG9zdDpzcmMgdXNlcyBzc2gnICcKLQlnaXQgY2xvbmUgbXlob3N0OnNyYyBzc2gtY2xvbmUgJiYKKwlHSVRfVEVTVF9QUk9UT0NPTF9WRVJTSU9OPTAgZ2l0IGNsb25lIG15aG9zdDpzcmMgc3NoLWNsb25lICYmCiAJZXhwZWN0X3NzaCBteWhvc3Qgc3JjCiAnCiAKQEAgLTM1NiwxMiArMzU2LDEyIEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JyYWNrZXRlZCBob3N0bmFtZXMgYXJlIHN0aWxsIHNzaCcgJwotCWdpdCBjbG9uZSAiW215aG9zdDoxMjNdOnNyYyIgc3NoLWJyYWNrZXQtY2xvbmUgJiYKKwlHSVRfVEVTVF9QUk9UT0NPTF9WRVJTSU9OPTAgZ2l0IGNsb25lICJbbXlob3N0OjEyM106c3JjIiBzc2gtYnJhY2tldC1jbG9uZSAmJgogCWV4cGVjdF9zc2ggIi1wIDEyMyIgbXlob3N0IHNyYwogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdPcGVuU1NIIHZhcmlhbnQgcGFzc2VzIC00JyAnCi0JZ2l0IGNsb25lIC00ICJbbXlob3N0OjEyM106c3JjIiBzc2gtaXB2NC1jbG9uZSAmJgorCUdJVF9URVNUX1BST1RPQ09MX1ZFUlNJT049MCBnaXQgY2xvbmUgLTQgIltteWhvc3Q6MTIzXTpzcmMiIHNzaC1pcHY0LWNsb25lICYmCiAJZXhwZWN0X3NzaCAiLTQgLXAgMTIzIiBteWhvc3Qgc3JjCiAnCiAKQEAgLTQwNSw3ICs0MDUsNyBAQAogCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgXCJcJFRSQVNIX0RJUkVDVE9SWS91cGxpbmtcIiIgJiYKIAlHSVRfU1NIPSIkVFJBU0hfRElSRUNUT1JZL3VwbGluayIgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgIkdJVF9TU0g9XCJcJFRSQVNIX0RJUkVDVE9SWS9zc2hcJFhcIiIgJiYKLQlnaXQgY2xvbmUgIltteWhvc3Q6MTIzXTpzcmMiIHNzaC1icmFja2V0LWNsb25lLXNzaGxpa2UtdXBsaW5rICYmCisJR0lUX1RFU1RfUFJPVE9DT0xfVkVSU0lPTj0wIGdpdCBjbG9uZSAiW215aG9zdDoxMjNdOnNyYyIgc3NoLWJyYWNrZXQtY2xvbmUtc3NobGlrZS11cGxpbmsgJiYKIAlleHBlY3Rfc3NoICItcCAxMjMiIG15aG9zdCBzcmMKICcKIApAQCAtNDM0LDcgKzQzNCw2IEBACiAJZXhwZWN0X3NzaCAiLXYgLVAgMTIzIiBteWhvc3Qgc3JjCiAnCiAKLVNRPSInIgogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2luZ2xlIHF1b3RlZCBwbGluay5leGUgaW4gR0lUX1NTSF9DT01NQU5EJyAnCiAJY29weV9zc2hfd3JhcHBlcl9hcyAiJFRSQVNIX0RJUkVDVE9SWS9wbGluay5leGUiICYmCiAJR0lUX1NTSF9DT01NQU5EPSIkU1EkVFJBU0hfRElSRUNUT1JZL3BsaW5rLmV4ZSRTUSAtdiIgXApAQCAtNDQ0LDE0ICs0NDMsMTQgQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnR0lUX1NTSF9WQVJJQU5UIG92ZXJyaWRlcyBwbGluayBkZXRlY3Rpb24nICcKIAljb3B5X3NzaF93cmFwcGVyX2FzICIkVFJBU0hfRElSRUNUT1JZL3BsaW5rIiAmJgotCUdJVF9TU0hfVkFSSUFOVD1zc2ggXAotCWdpdCBjbG9uZSAiW215aG9zdDoxMjNdOnNyYyIgc3NoLWJyYWNrZXQtY2xvbmUtdmFyaWFudC0xICYmCisJR0lUX1RFU1RfUFJPVE9DT0xfVkVSU0lPTj0wIEdJVF9TU0hfVkFSSUFOVD1zc2ggXAorCQlnaXQgY2xvbmUgIltteWhvc3Q6MTIzXTpzcmMiIHNzaC1icmFja2V0LWNsb25lLXZhcmlhbnQtMSAmJgogCWV4cGVjdF9zc2ggIi1wIDEyMyIgbXlob3N0IHNyYwogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzc2gudmFyaWFudCBvdmVycmlkZXMgcGxpbmsgZGV0ZWN0aW9uJyAnCiAJY29weV9zc2hfd3JhcHBlcl9hcyAiJFRSQVNIX0RJUkVDVE9SWS9wbGluayIgJiYKLQlnaXQgLWMgc3NoLnZhcmlhbnQ9c3NoIFwKKwlHSVRfVEVTVF9QUk9UT0NPTF9WRVJTSU9OPTAgZ2l0IC1jIHNzaC52YXJpYW50PXNzaCBcCiAJCWNsb25lICJbbXlob3N0OjEyM106c3JjIiBzc2gtYnJhY2tldC1jbG9uZS12YXJpYW50LTIgJiYKIAlleHBlY3Rfc3NoICItcCAxMjMiIG15aG9zdCBzcmMKICcKQEAgLTQ4MiwxMiArNDgxLDEyIEBACiAjICQzIHBhdGgKIHRlc3RfY2xvbmVfdXJsICgpIHsKIAljb3VudGVyPSQoKCRjb3VudGVyICsgMSkpCi0JdGVzdF9taWdodF9mYWlsIGdpdCBjbG9uZSAiJDEiIHRtcCRjb3VudGVyICYmCisJdGVzdF9taWdodF9mYWlsIGVudiBHSVRfVEVTVF9QUk9UT0NPTF9WRVJTSU9OPTAgZ2l0IGNsb25lICIkMSIgdG1wJGNvdW50ZXIgJiYKIAlzaGlmdCAmJgogCWV4cGVjdF9zc2ggIiRAIgogfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICFNSU5HVyAnY2xvbmUgYzp0ZW1wIGlzIHNzbCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAhTUlOR1csIUNZR1dJTiAnY2xvbmUgYzp0ZW1wIGlzIHNzbCcgJwogCXRlc3RfY2xvbmVfdXJsIGM6dGVtcCBjIHRlbXAKICcKIApAQCAtNjExLDEwICs2MTAsNiBAQAogCWdpdCAtQyByZXBsYXkuZ2l0IGluZGV4LXBhY2sgLXYgLS1zdGRpbiA8dG1wLnBhY2sKICcKIAotaGV4Mm9jdCAoKSB7Ci0JcGVybCAtbmUgJ3ByaW50ZiAiXFwlMDNvIiwgaGV4IGZvciAvLi4vZycKLX0KLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgb24gY2FzZS1pbnNlbnNpdGl2ZSBmcycgJwogCWdpdCBpbml0IGljYXNlZnMgJiYKIAkoCkBAIC02MzQsMjYgKzYyOSwzMiBAQAogCXRlc3RfaTE4bmdyZXAgInRoZSBmb2xsb3dpbmcgcGF0aHMgaGF2ZSBjb2xsaWRlZCIgaWNhc2Vmcy93YXJuaW5nCiAnCiAKLXBhcnRpYWxfY2xvbmUgKCkgeworcGFydGlhbF9jbG9uZV9zZXJ2ZXIgKCkgewogCSAgICAgICBTRVJWRVI9IiQxIiAmJgotCSAgICAgICBVUkw9IiQyIiAmJgogCiAJcm0gLXJmICIkU0VSVkVSIiBjbGllbnQgJiYKIAl0ZXN0X2NyZWF0ZV9yZXBvICIkU0VSVkVSIiAmJgogCXRlc3RfY29tbWl0IC1DICIkU0VSVkVSIiBvbmUgJiYKLQlIQVNIMT0kKGdpdCBoYXNoLW9iamVjdCAiJFNFUlZFUi9vbmUudCIpICYmCisJSEFTSDE9JChnaXQgLUMgIiRTRVJWRVIiIGhhc2gtb2JqZWN0IG9uZS50KSAmJgogCWdpdCAtQyAiJFNFUlZFUiIgcmV2ZXJ0IEhFQUQgJiYKIAl0ZXN0X2NvbW1pdCAtQyAiJFNFUlZFUiIgdHdvICYmCi0JSEFTSDI9JChnaXQgaGFzaC1vYmplY3QgIiRTRVJWRVIvdHdvLnQiKSAmJgorCUhBU0gyPSQoZ2l0IC1DICIkU0VSVkVSIiBoYXNoLW9iamVjdCB0d28udCkgJiYKIAl0ZXN0X2NvbmZpZyAtQyAiJFNFUlZFUiIgdXBsb2FkcGFjay5hbGxvd2ZpbHRlciAxICYmCi0JdGVzdF9jb25maWcgLUMgIiRTRVJWRVIiIHVwbG9hZHBhY2suYWxsb3dhbnlzaGExaW53YW50IDEgJiYKKwl0ZXN0X2NvbmZpZyAtQyAiJFNFUlZFUiIgdXBsb2FkcGFjay5hbGxvd2FueXNoYTFpbndhbnQgMQorfQogCitwYXJ0aWFsX2Nsb25lICgpIHsKKwkgICAgICAgU0VSVkVSPSIkMSIgJiYKKwkgICAgICAgVVJMPSIkMiIgJiYKKworCXBhcnRpYWxfY2xvbmVfc2VydmVyICIke1NFUlZFUn0iICYmCiAJZ2l0IGNsb25lIC0tZmlsdGVyPWJsb2I6bGltaXQ9MCAiJFVSTCIgY2xpZW50ICYmCiAKIAlnaXQgLUMgY2xpZW50IGZzY2sgJiYKIAogCSMgRW5zdXJlIHRoYXQgdW5uZWVkZWQgYmxvYnMgYXJlIG5vdCBpbmFkdmVydGVudGx5IGZldGNoZWQuCi0JdGVzdF9jb25maWcgLUMgY2xpZW50IGV4dGVuc2lvbnMucGFydGlhbGNsb25lICJub3QgYSByZW1vdGUiICYmCisJdGVzdF9jb25maWcgLUMgY2xpZW50IHJlbW90ZS5vcmlnaW4ucHJvbWlzb3IgImZhbHNlIiAmJgorCWdpdCAtQyBjbGllbnQgY29uZmlnIC0tdW5zZXQgcmVtb3RlLm9yaWdpbi5wYXJ0aWFsY2xvbmVmaWx0ZXIgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgLUMgY2xpZW50IGNhdC1maWxlIC1lICIkSEFTSDEiICYmCiAKIAkjIEJ1dCB0aGlzIGJsb2Igd2FzIGZldGNoZWQsIGJlY2F1c2UgY2xvbmUgcGVyZm9ybXMgYW4gaW5pdGlhbCBjaGVja291dApAQCAtNjY0LDYgKzY2NSwxMSBAQAogCXBhcnRpYWxfY2xvbmUgc2VydmVyICJmaWxlOi8vJChwd2QpL3NlcnZlciIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncGFydGlhbCBjbG9uZSB3aXRoIC1vJyAnCisJcGFydGlhbF9jbG9uZV9zZXJ2ZXIgc2VydmVyICYmCisJZ2l0IGNsb25lIC1vIGJsYWggLS1maWx0ZXI9YmxvYjpsaW1pdD0wICJmaWxlOi8vJChwd2QpL3NlcnZlciIgY2xpZW50CisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhcnRpYWwgY2xvbmU6IHdhcm4gaWYgc2VydmVyIGRvZXMgbm90IHN1cHBvcnQgb2JqZWN0IGZpbHRlcmluZycgJwogCXJtIC1yZiBzZXJ2ZXIgY2xpZW50ICYmCiAJdGVzdF9jcmVhdGVfcmVwbyBzZXJ2ZXIgJiYKQEAgLTczMyw2ICs3MzksNyBAQAogCXBhcnRpYWxfY2xvbmUgIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgvc2VydmVyIiAiJEhUVFBEX1VSTC9zbWFydC9zZXJ2ZXIiCiAnCiAKLXN0b3BfaHR0cGQKKyMgRE8gTk9UIGFkZCBub24taHR0cGQtc3BlY2lmaWMgdGVzdHMgaGVyZSwgYmVjYXVzZSB0aGUgbGFzdCBwYXJ0IG9mIHRoaXMKKyMgdGVzdCBzY3JpcHQgaXMgb25seSBleGVjdXRlZCB3aGVuIGh0dHBkIGlzIGF2YWlsYWJsZSBhbmQgZW5hYmxlZC4KIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NjA0LWNsb25lLXJlZmVyZW5jZS5zaCBiL3QvdDU2MDQtY2xvbmUtcmVmZXJlbmNlLnNoCmluZGV4IDQzMjAwODIuLjBjNzRiNGUgMTAwNzU1Ci0tLSBhL3QvdDU2MDQtY2xvbmUtcmVmZXJlbmNlLnNoCisrKyBiL3QvdDU2MDQtY2xvbmUtcmVmZXJlbmNlLnNoCkBAIC0yMjEsNCArMjIxLDEzOCBAQAogCSggY2QgQyAmJiBnaXQgZnNjayApCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHJlcG8gd2l0aCBnYXJiYWdlIGluIG9iamVjdHMvKicgJworCWdpdCBpbml0IFMgJiYKKwkoCisJCWNkIFMgJiYKKwkJdGVzdF9jb21taXQgQSAmJgorCisJCWNkIC5naXQvb2JqZWN0cyAmJgorCQk+LnNvbWUtaGlkZGVuLWZpbGUgJiYKKwkJPnNvbWUtZmlsZSAmJgorCQlta2RpciAuc29tZS1oaWRkZW4tZGlyICYmCisJCT4uc29tZS1oaWRkZW4tZGlyL3NvbWUtZmlsZSAmJgorCQk+LnNvbWUtaGlkZGVuLWRpci8uc29tZS1kb3QtZmlsZSAmJgorCQlta2RpciBzb21lLWRpciAmJgorCQk+c29tZS1kaXIvc29tZS1maWxlICYmCisJCT5zb21lLWRpci8uc29tZS1kb3QtZmlsZQorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgYSByZXBvIHdpdGggZ2FyYmFnZSBpbiBvYmplY3RzLyonICcKKwlmb3Igb3B0aW9uIGluIC0tbG9jYWwgLS1uby1oYXJkbGlua3MgLS1zaGFyZWQgLS1kaXNzb2NpYXRlCisJZG8KKwkJZ2l0IGNsb25lICRvcHRpb24gUyBTJG9wdGlvbiB8fCByZXR1cm4gMSAmJgorCQlnaXQgLUMgUyRvcHRpb24gZnNjayB8fCByZXR1cm4gMQorCWRvbmUgJiYKKwlmaW5kIFMtKiAtbmFtZSAiKnNvbWUqIiB8IHNvcnQgPmFjdHVhbCAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtRU9GICYmCisJUy0tZGlzc29jaWF0ZS8uZ2l0L29iamVjdHMvLnNvbWUtaGlkZGVuLWRpcgorCVMtLWRpc3NvY2lhdGUvLmdpdC9vYmplY3RzLy5zb21lLWhpZGRlbi1kaXIvLnNvbWUtZG90LWZpbGUKKwlTLS1kaXNzb2NpYXRlLy5naXQvb2JqZWN0cy8uc29tZS1oaWRkZW4tZGlyL3NvbWUtZmlsZQorCVMtLWRpc3NvY2lhdGUvLmdpdC9vYmplY3RzLy5zb21lLWhpZGRlbi1maWxlCisJUy0tZGlzc29jaWF0ZS8uZ2l0L29iamVjdHMvc29tZS1kaXIKKwlTLS1kaXNzb2NpYXRlLy5naXQvb2JqZWN0cy9zb21lLWRpci8uc29tZS1kb3QtZmlsZQorCVMtLWRpc3NvY2lhdGUvLmdpdC9vYmplY3RzL3NvbWUtZGlyL3NvbWUtZmlsZQorCVMtLWRpc3NvY2lhdGUvLmdpdC9vYmplY3RzL3NvbWUtZmlsZQorCVMtLWxvY2FsLy5naXQvb2JqZWN0cy8uc29tZS1oaWRkZW4tZGlyCisJUy0tbG9jYWwvLmdpdC9vYmplY3RzLy5zb21lLWhpZGRlbi1kaXIvLnNvbWUtZG90LWZpbGUKKwlTLS1sb2NhbC8uZ2l0L29iamVjdHMvLnNvbWUtaGlkZGVuLWRpci9zb21lLWZpbGUKKwlTLS1sb2NhbC8uZ2l0L29iamVjdHMvLnNvbWUtaGlkZGVuLWZpbGUKKwlTLS1sb2NhbC8uZ2l0L29iamVjdHMvc29tZS1kaXIKKwlTLS1sb2NhbC8uZ2l0L29iamVjdHMvc29tZS1kaXIvLnNvbWUtZG90LWZpbGUKKwlTLS1sb2NhbC8uZ2l0L29iamVjdHMvc29tZS1kaXIvc29tZS1maWxlCisJUy0tbG9jYWwvLmdpdC9vYmplY3RzL3NvbWUtZmlsZQorCVMtLW5vLWhhcmRsaW5rcy8uZ2l0L29iamVjdHMvLnNvbWUtaGlkZGVuLWRpcgorCVMtLW5vLWhhcmRsaW5rcy8uZ2l0L29iamVjdHMvLnNvbWUtaGlkZGVuLWRpci8uc29tZS1kb3QtZmlsZQorCVMtLW5vLWhhcmRsaW5rcy8uZ2l0L29iamVjdHMvLnNvbWUtaGlkZGVuLWRpci9zb21lLWZpbGUKKwlTLS1uby1oYXJkbGlua3MvLmdpdC9vYmplY3RzLy5zb21lLWhpZGRlbi1maWxlCisJUy0tbm8taGFyZGxpbmtzLy5naXQvb2JqZWN0cy9zb21lLWRpcgorCVMtLW5vLWhhcmRsaW5rcy8uZ2l0L29iamVjdHMvc29tZS1kaXIvLnNvbWUtZG90LWZpbGUKKwlTLS1uby1oYXJkbGlua3MvLmdpdC9vYmplY3RzL3NvbWUtZGlyL3NvbWUtZmlsZQorCVMtLW5vLWhhcmRsaW5rcy8uZ2l0L29iamVjdHMvc29tZS1maWxlCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgU1lNTElOS1MgJ3NldHVwIHJlcG8gd2l0aCBtYW51YWxseSBzeW1saW5rZWQgb3IgdW5rbm93biBmaWxlcyBhdCBvYmplY3RzLycgJworCWdpdCBpbml0IFQgJiYKKwkoCisJCWNkIFQgJiYKKwkJZ2l0IGNvbmZpZyBnYy5hdXRvIDAgJiYKKwkJdGVzdF9jb21taXQgQSAmJgorCQlnaXQgZ2MgJiYKKwkJdGVzdF9jb21taXQgQiAmJgorCisJCWNkIC5naXQvb2JqZWN0cyAmJgorCQltdiBwYWNrIHBhY2tzICYmCisJCWxuIC1zIHBhY2tzIHBhY2sgJiYKKwkJZmluZCA/PyAtdHlwZSBkID5sb29zZS1kaXJzICYmCisJCWxhc3RfbG9vc2U9JCh0YWlsIC1uIDEgbG9vc2UtZGlycykgJiYKKwkJbXYgJGxhc3RfbG9vc2UgYS1sb29zZS1kaXIgJiYKKwkJbG4gLXMgYS1sb29zZS1kaXIgJGxhc3RfbG9vc2UgJiYKKwkJZmlyc3RfbG9vc2U9JChoZWFkIC1uIDEgbG9vc2UtZGlycykgJiYKKwkJcm0gLWYgbG9vc2UtZGlycyAmJgorCisJCWNkICRmaXJzdF9sb29zZSAmJgorCQlvYmo9JChscyAqKSAmJgorCQltdiAkb2JqIC4uL2FuLW9iamVjdCAmJgorCQlsbiAtcyAuLi9hbi1vYmplY3QgJG9iaiAmJgorCisJCWNkIC4uLyAmJgorCQlmaW5kIC4gLXR5cGUgZiB8IHNvcnQgPi4uLy4uLy4uL1Qub2JqZWN0cy1maWxlcy5yYXcgJiYKKwkJZmluZCAuIC10eXBlIGwgfCBzb3J0ID4uLi8uLi8uLi9ULm9iamVjdHMtc3ltbGlua3MucmF3ICYmCisJCWVjaG8gdW5rbm93bl9jb250ZW50ID51bmtub3duX2ZpbGUKKwkpICYmCisJZ2l0IC1DIFQgZnNjayAmJgorCWdpdCAtQyBUIHJldi1saXN0IC0tYWxsIC0tb2JqZWN0cyA+VC5vYmplY3RzCisnCisKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBTWU1MSU5LUyAnY2xvbmUgcmVwbyB3aXRoIHN5bWxpbmtlZCBvciB1bmtub3duIGZpbGVzIGF0IG9iamVjdHMvJyAnCisJZm9yIG9wdGlvbiBpbiAtLWxvY2FsIC0tbm8taGFyZGxpbmtzIC0tc2hhcmVkIC0tZGlzc29jaWF0ZQorCWRvCisJCWdpdCBjbG9uZSAkb3B0aW9uIFQgVCRvcHRpb24gfHwgcmV0dXJuIDEgJiYKKwkJZ2l0IC1DIFQkb3B0aW9uIGZzY2sgfHwgcmV0dXJuIDEgJiYKKwkJZ2l0IC1DIFQkb3B0aW9uIHJldi1saXN0IC0tYWxsIC0tb2JqZWN0cyA+VCRvcHRpb24ub2JqZWN0cyAmJgorCQl0ZXN0X2NtcCBULm9iamVjdHMgVCRvcHRpb24ub2JqZWN0cyAmJgorCQkoCisJCQljZCBUJG9wdGlvbi8uZ2l0L29iamVjdHMgJiYKKwkJCWZpbmQgLiAtdHlwZSBmIHwgc29ydCA+Li4vLi4vLi4vVCRvcHRpb24ub2JqZWN0cy1maWxlcy5yYXcgJiYKKwkJCWZpbmQgLiAtdHlwZSBsIHwgc29ydCA+Li4vLi4vLi4vVCRvcHRpb24ub2JqZWN0cy1zeW1saW5rcy5yYXcKKwkJKQorCWRvbmUgJiYKKworCWZvciByYXcgaW4gJChscyBUKi5yYXcpCisJZG8KKwkJc2VkIC1lICJzIS8uLi8hL1kvITsgcyFbMC05YS1mXVx7MzgsXH0hWiEiIC1lICIvY29tbWl0LWdyYXBoL2QiIFwKKwkJICAgIC1lICIvbXVsdGktcGFjay1pbmRleC9kIiA8JHJhdyA+JHJhdy5kZS1zaGEtMSAmJgorCQlzb3J0ICRyYXcuZGUtc2hhLTEgPiRyYXcuZGUtc2hhIHx8IHJldHVybiAxCisJZG9uZSAmJgorCisJY2F0ID5leHBlY3RlZC1maWxlcyA8PC1FT0YgJiYKKwkuL1kvWgorCS4vWS9aCisJLi9ZL1oKKwkuL2EtbG9vc2UtZGlyL1oKKwkuL2FuLW9iamVjdAorCS4vaW5mby9wYWNrcworCS4vcGFjay9wYWNrLVouaWR4CisJLi9wYWNrL3BhY2stWi5wYWNrCisJLi9wYWNrcy9wYWNrLVouaWR4CisJLi9wYWNrcy9wYWNrLVoucGFjaworCS4vdW5rbm93bl9maWxlCisJRU9GCisKKwlmb3Igb3B0aW9uIGluIC0tbG9jYWwgLS1uby1oYXJkbGlua3MgLS1kaXNzb2NpYXRlCisJZG8KKwkJdGVzdF9jbXAgZXhwZWN0ZWQtZmlsZXMgVCRvcHRpb24ub2JqZWN0cy1maWxlcy5yYXcuZGUtc2hhIHx8IHJldHVybiAxICYmCisJCXRlc3RfbXVzdF9iZV9lbXB0eSBUJG9wdGlvbi5vYmplY3RzLXN5bWxpbmtzLnJhdy5kZS1zaGEgfHwgcmV0dXJuIDEKKwlkb25lICYmCisKKwllY2hvIC4vaW5mby9hbHRlcm5hdGVzID5leHBlY3RlZC1maWxlcyAmJgorCXRlc3RfY21wIGV4cGVjdGVkLWZpbGVzIFQtLXNoYXJlZC5vYmplY3RzLWZpbGVzLnJhdyAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBULS1zaGFyZWQub2JqZWN0cy1zeW1saW5rcy5yYXcKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NjA3LWNsb25lLWJ1bmRsZS5zaCBiL3QvdDU2MDctY2xvbmUtYnVuZGxlLnNoCmluZGV4IGNmMzllOWUuLjkxMDhmZjYgMTAwNzU1Ci0tLSBhL3QvdDU2MDctY2xvbmUtYnVuZGxlLnNoCisrKyBiL3QvdDU2MDctY2xvbmUtYnVuZGxlLnNoCkBAIC0xNCw2ICsxNCwxMiBAQAogCWdpdCB0YWcgLWQgdGhpcmQKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnInZlcmlmeSIgbmVlZHMgYSB3b3JrdHJlZScgJworCWdpdCBidW5kbGUgY3JlYXRlIHRpcC5idW5kbGUgLTEgbWFzdGVyICYmCisJdGVzdF9tdXN0X2ZhaWwgbm9uZ2l0IGdpdCBidW5kbGUgdmVyaWZ5IC4uL3RpcC5idW5kbGUgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICJuZWVkIGEgcmVwb3NpdG9yeSIgZXJyCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Fubm90YXRlZCB0YWdzIGNhbiBiZSBleGNsdWRlZCBieSByZXYtbGlzdCBvcHRpb25zJyAnCiAJZ2l0IGJ1bmRsZSBjcmVhdGUgYnVuZGxlIC0tYWxsIC0tc2luY2U9Ny5BcHIuMjAwNS4xNToxNDowMC4tMDcwMCAmJgogCWdpdCBscy1yZW1vdGUgYnVuZGxlID4gb3V0cHV0ICYmCkBAIC01OCw3ICs2NCw3IEBACiAJdGVzdCAtcyBoZWFkcyAmJgogCWdpdCBmZXRjaCBsb25nLXN1YmplY3QtYnVuZGxlLmJkbCAmJgogCXNlZCAtbiAiL14tL3twO3E7fSIgbG9uZy1zdWJqZWN0LWJ1bmRsZS5iZGwgPmJvdW5kYXJ5ICYmCi0JZ3JlcCAiXi1bMC05YS1mXVxcezQwXFx9ICIgYm91bmRhcnkKKwlncmVwICJeLSRPSURfUkVHRVggIiBib3VuZGFyeQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcmVyZXF1aXNpdGVzIHdpdGggYW4gZW1wdHkgY29tbWl0IG1lc3NhZ2UnICcKQEAgLTc3LDQgKzgzLDE1IEBACiAJdGVzdF9wYXRoX2lzX21pc3NpbmcgZmFpbC5idW5kbGUubG9jawogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaCBTSEEtMSBmcm9tIGJ1bmRsZScgJworCXRlc3RfY3JlYXRlX3JlcG8gZm9vICYmCisJdGVzdF9jb21taXQgLUMgZm9vIHggJiYKKwlnaXQgLUMgZm9vIGJ1bmRsZSBjcmVhdGUgdGlwLmJ1bmRsZSAtMSBtYXN0ZXIgJiYKKwlnaXQgLUMgZm9vIHJldi1wYXJzZSBIRUFEID5oYXNoICYmCisKKwkjIEV4ZXJjaXNlIHRvIGVuc3VyZSB0aGF0IGZldGNoaW5nIGEgU0hBLTEgZnJvbSBhIGJ1bmRsZSB3b3JrcyB3aXRoIG5vCisJIyBlcnJvcnMKKwlnaXQgZmV0Y2ggLS1uby10YWdzIGZvby90aXAuYnVuZGxlICIkKGNhdCBoYXNoKSIKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NjA4LWNsb25lLTJnYi5zaCBiL3QvdDU2MDgtY2xvbmUtMmdiLnNoCmluZGV4IDJjNmJjMDcuLmVlZTA4NDIgMTAwNzU1Ci0tLSBhL3QvdDU2MDgtY2xvbmUtMmdiLnNoCisrKyBiL3QvdDU2MDgtY2xvbmUtMmdiLnNoCkBAIC0zLDcgKzMsNyBAQAogdGVzdF9kZXNjcmlwdGlvbj0nVGVzdCBjbG9uaW5nIGEgcmVwb3NpdG9yeSBsYXJnZXIgdGhhbiAyIGdpZ2FieXRlJwogLiAuL3Rlc3QtbGliLnNoCiAKLWlmIHRlc3QgLXogIiRHSVRfVEVTVF9DTE9ORV8yR0IiCitpZiAhIHRlc3RfYm9vbF9lbnYgR0lUX1RFU1RfQ0xPTkVfMkdCIGZhbHNlCiB0aGVuCiAJc2F5ICdTa2lwcGluZyBleHBlbnNpdmUgMkdCIGNsb25lIHRlc3Q7IGVuYWJsZSBpdCB3aXRoIEdJVF9URVNUX0NMT05FXzJHQj10JwogZWxzZQpkaWZmIC0tZ2l0IGEvdC90NTYxMS1jbG9uZS1jb25maWcuc2ggYi90L3Q1NjExLWNsb25lLWNvbmZpZy5zaAppbmRleCAzOTMyOWViLi42MGMxYmE5IDEwMDc1NQotLS0gYS90L3Q1NjExLWNsb25lLWNvbmZpZy5zaAorKysgYi90L3Q1NjExLWNsb25lLWNvbmZpZy5zaApAQCAtNDUsNiArNDUsNTMgQEAKIAl0ZXN0X2NtcCBleHBlY3QgY2hpbGQvZmlsZQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSAtYyByZW1vdGUub3JpZ2luLmZldGNoPTxyZWZzcGVjPiB3b3JrcycgJworCXJtIC1yZiBjaGlsZCAmJgorCWdpdCB1cGRhdGUtcmVmIHJlZnMvZ3JhYi9pdCByZWZzL2hlYWRzL21hc3RlciAmJgorCWdpdCB1cGRhdGUtcmVmIHJlZnMvbGVhdmUvb3V0IHJlZnMvaGVhZHMvbWFzdGVyICYmCisJZ2l0IGNsb25lIC1jICJyZW1vdGUub3JpZ2luLmZldGNoPStyZWZzL2dyYWIvKjpyZWZzL2dyYWIvKiIgLiBjaGlsZCAmJgorCWdpdCAtQyBjaGlsZCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUocmVmbmFtZSkiID5hY3R1YWwgJiYKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlyZWZzL2dyYWIvaXQKKwlyZWZzL2hlYWRzL21hc3RlcgorCXJlZnMvcmVtb3Rlcy9vcmlnaW4vSEVBRAorCXJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgLWMgcmVtb3RlLm9yaWdpbi5mZXRjaD08cmVmc3BlYz4gY2xvbmUgd29ya3MnICcKKwlybSAtcmYgY2hpbGQgJiYKKwlnaXQgLWMgInJlbW90ZS5vcmlnaW4uZmV0Y2g9K3JlZnMvZ3JhYi8qOnJlZnMvZ3JhYi8qIiBjbG9uZSAuIGNoaWxkICYmCisJZ2l0IC1DIGNoaWxkIGZvci1lYWNoLXJlZiAtLWZvcm1hdD0iJShyZWZuYW1lKSIgPmFjdHVhbCAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCXJlZnMvZ3JhYi9pdAorCXJlZnMvaGVhZHMvbWFzdGVyCisJcmVmcy9yZW1vdGVzL29yaWdpbi9IRUFECisJcmVmcy9yZW1vdGVzL29yaWdpbi9tYXN0ZXIKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Nsb25lIC1jIHJlbW90ZS48cmVtb3RlPi5mZXRjaD08cmVmc3BlYz4gLS1vcmlnaW49PG5hbWU+JyAnCisJcm0gLXJmIGNoaWxkICYmCisJZ2l0IGNsb25lIC0tb3JpZ2luPXVwc3RyZWFtIFwKKwkJICAtYyAicmVtb3RlLnVwc3RyZWFtLmZldGNoPStyZWZzL2dyYWIvKjpyZWZzL2dyYWIvKiIgXAorCQkgIC1jICJyZW1vdGUub3JpZ2luLmZldGNoPStyZWZzL2xlYXZlLyo6cmVmcy9sZWF2ZS8qIiBcCisJCSAgLiBjaGlsZCAmJgorCWdpdCAtQyBjaGlsZCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUocmVmbmFtZSkiID5hY3R1YWwgJiYKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlyZWZzL2dyYWIvaXQKKwlyZWZzL2hlYWRzL21hc3RlcgorCXJlZnMvcmVtb3Rlcy91cHN0cmVhbS9IRUFECisJcmVmcy9yZW1vdGVzL3Vwc3RyZWFtL21hc3RlcgorCUVPRgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogIyBUZXN0cyBmb3IgdGhlIGhpZGRlbiBmaWxlIGF0dHJpYnV0ZSBvbiB3aW5kb3dzCiBpc19oaWRkZW4gKCkgewogCSMgVXNlIHRoZSBvdXRwdXQgb2YgYGF0dHJpYmAsIGlnbm9yZSB0aGUgYWJzb2x1dGUgcGF0aApkaWZmIC0tZ2l0IGEvdC90NTYxNi1wYXJ0aWFsLWNsb25lLnNoIGIvdC90NTYxNi1wYXJ0aWFsLWNsb25lLnNoCmluZGV4IDMzNmYwMmEuLjc3YmI5MWUgMTAwNzU1Ci0tLSBhL3QvdDU2MTYtcGFydGlhbC1jbG9uZS5zaAorKysgYi90L3Q1NjE2LXBhcnRpYWwtY2xvbmUuc2gKQEAgLTQyLDggKzQyLDE2IEBACiAKIAl0ZXN0X2NtcCBleHBlY3RfMS5vaWRzIG9ic2VydmVkLm9pZHMgJiYKIAl0ZXN0ICIkKGdpdCAtQyBwYzEgY29uZmlnIC0tbG9jYWwgY29yZS5yZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbikiID0gIjEiICYmCi0JdGVzdCAiJChnaXQgLUMgcGMxIGNvbmZpZyAtLWxvY2FsIGV4dGVuc2lvbnMucGFydGlhbGNsb25lKSIgPSAib3JpZ2luIiAmJgotCXRlc3QgIiQoZ2l0IC1DIHBjMSBjb25maWcgLS1sb2NhbCBjb3JlLnBhcnRpYWxjbG9uZWZpbHRlcikiID0gImJsb2I6bm9uZSIKKwl0ZXN0ICIkKGdpdCAtQyBwYzEgY29uZmlnIC0tbG9jYWwgcmVtb3RlLm9yaWdpbi5wcm9taXNvcikiID0gInRydWUiICYmCisJdGVzdCAiJChnaXQgLUMgcGMxIGNvbmZpZyAtLWxvY2FsIHJlbW90ZS5vcmlnaW4ucGFydGlhbGNsb25lZmlsdGVyKSIgPSAiYmxvYjpub25lIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJpZnkgdGhhdCAucHJvbWlzb3IgZmlsZSBjb250YWlucyByZWZzIGZldGNoZWQnICcKKwlscyBwYzEvLmdpdC9vYmplY3RzL3BhY2svcGFjay0qLnByb21pc29yID5wcm9taXNvcmxpc3QgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAxIHByb21pc29ybGlzdCAmJgorCWdpdCAtQyBzcnYuYmFyZSByZXYtbGlzdCBIRUFEID5oZWFkaGFzaCAmJgorCWdyZXAgIiQoY2F0IGhlYWRoYXNoKSBIRUFEIiAkKGNhdCBwcm9taXNvcmxpc3QpICYmCisJZ3JlcCAiJChjYXQgaGVhZGhhc2gpIHJlZnMvaGVhZHMvbWFzdGVyIiAkKGNhdCBwcm9taXNvcmxpc3QpCiAnCiAKICMgY2hlY2tvdXQgbWFzdGVyIHRvIGZvcmNlIGR5bmFtaWMgb2JqZWN0IGZldGNoIG9mIGJsb2JzIGF0IEhFQUQuCkBAIC0yMDgsNiArMjE2LDI1IEBACiAJdGVzdF9jbXAgdW5pcXVlX3R5cGVzLmV4cGVjdGVkIHVuaXF1ZV90eXBlcy5vYnNlcnZlZAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdpbXBsaWNpdGx5IGNvbnN0cnVjdCBjb21iaW5lOiBmaWx0ZXIgd2l0aCByZXBlYXRlZCBmbGFncycgJworCUdJVF9UUkFDRT0kKHB3ZCkvdHJhY2UgZ2l0IGNsb25lIC0tYmFyZSBcCisJCS0tZmlsdGVyPWJsb2I6bm9uZSAtLWZpbHRlcj10cmVlOjEgXAorCQkiZmlsZTovLyQocHdkKS9zcnYuYmFyZSIgcGMyICYmCisJZ3JlcCAidHJhY2U6LiogZ2l0IHBhY2stb2JqZWN0cyAuKi0tZmlsdGVyPWNvbWJpbmU6YmxvYjpub25lK3RyZWU6MSIgXAorCQl0cmFjZSAmJgorCWdpdCAtQyBwYzIgcmV2LWxpc3QgLS1vYmplY3RzIC0tbWlzc2luZz1hbGxvdy1hbnkgSEVBRCA+b2JqZWN0cyAmJgorCisJIyBXZSBzaG91bGQgaGF2ZSBnb3R0ZW4gc29tZSByb290IHRyZWVzLgorCWdyZXAgIiAkIiBvYmplY3RzICYmCisJIyBTaG91bGQgbm90IGhhdmUgZ290dGVuIGFueSBub24tcm9vdCB0cmVlcyBvciBibG9icy4KKwkhIGdyZXAgIiAuIiBvYmplY3RzICYmCisKKwl4YXJncyAtbiAxIGdpdCAtQyBwYzIgY2F0LWZpbGUgLXQgPG9iamVjdHMgPnR5cGVzICYmCisJc29ydCAtdSB0eXBlcyA+dW5pcXVlX3R5cGVzLmFjdHVhbCAmJgorCXRlc3Rfd3JpdGVfbGluZXMgY29tbWl0IHRyZWUgPnVuaXF1ZV90eXBlcy5leHBlY3RlZCAmJgorCXRlc3RfY21wIHVuaXF1ZV90eXBlcy5leHBlY3RlZCB1bmlxdWVfdHlwZXMuYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhcnRpYWwgY2xvbmUgZmV0Y2hlcyBibG9icyBwb2ludGVkIHRvIGJ5IHJlZnMgZXZlbiBpZiBub3JtYWxseSBmaWx0ZXJlZCBvdXQnICcKIAlybSAtcmYgc3JjIGRzdCAmJgogCWdpdCBpbml0IHNyYyAmJgpAQCAtMjQxLDE0ICsyNjgsMTc5IEBACiAJISBncmVwICI/JChjYXQgYmxvYikiIG1pc3NpbmdfYWZ0ZXIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgc3JjIHJlcG8gZm9yIHNwYXJzZSBmaWx0ZXInICcKKwlnaXQgaW5pdCBzcGFyc2Utc3JjICYmCisJZ2l0IC1DIHNwYXJzZS1zcmMgY29uZmlnIC0tbG9jYWwgdXBsb2FkcGFjay5hbGxvd2ZpbHRlciAxICYmCisJZ2l0IC1DIHNwYXJzZS1zcmMgY29uZmlnIC0tbG9jYWwgdXBsb2FkcGFjay5hbGxvd2FueXNoYTFpbndhbnQgMSAmJgorCXRlc3RfY29tbWl0IC1DIHNwYXJzZS1zcmMgb25lICYmCisJdGVzdF9jb21taXQgLUMgc3BhcnNlLXNyYyB0d28gJiYKKwllY2hvIC9vbmUudCA+c3BhcnNlLXNyYy9vbmx5LW9uZSAmJgorCWdpdCAtQyBzcGFyc2Utc3JjIGFkZCAuICYmCisJZ2l0IC1DIHNwYXJzZS1zcmMgY29tbWl0IC1tICJhZGQgc3BhcnNlIGNoZWNrb3V0IGZpbGVzIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwYXJ0aWFsIGNsb25lIHdpdGggc3BhcnNlIGZpbHRlciBzdWNjZWVkcycgJworCXJtIC1yZiBkc3QuZ2l0ICYmCisJZ2l0IGNsb25lIC0tbm8tbG9jYWwgLS1iYXJlIFwKKwkJICAtLWZpbHRlcj1zcGFyc2U6b2lkPW1hc3Rlcjpvbmx5LW9uZSBcCisJCSAgc3BhcnNlLXNyYyBkc3QuZ2l0ICYmCisJKAorCQljZCBkc3QuZ2l0ICYmCisJCWdpdCByZXYtbGlzdCAtLW9iamVjdHMgLS1taXNzaW5nPXByaW50IEhFQUQgPm91dCAmJgorCQlncmVwICJeJChnaXQgcmV2LXBhcnNlIEhFQUQ6b25lLnQpIiBvdXQgJiYKKwkJZ3JlcCAiXj8kKGdpdCByZXYtcGFyc2UgSEVBRDp0d28udCkiIG91dAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncGFydGlhbCBjbG9uZSB3aXRoIHVucmVzb2x2YWJsZSBzcGFyc2UgZmlsdGVyIGZhaWxzIGNsZWFubHknICcKKwlybSAtcmYgZHN0LmdpdCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjbG9uZSAtLW5vLWxvY2FsIC0tYmFyZSBcCisJCQkJIC0tZmlsdGVyPXNwYXJzZTpvaWQ9bWFzdGVyOm5vLXN1Y2gtbmFtZSBcCisJCQkJIHNwYXJzZS1zcmMgZHN0LmdpdCAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgInVuYWJsZSB0byBhY2Nlc3Mgc3BhcnNlIGJsb2IgaW4gLm1hc3Rlcjpuby1zdWNoLW5hbWUiIGVyciAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjbG9uZSAtLW5vLWxvY2FsIC0tYmFyZSBcCisJCQkJIC0tZmlsdGVyPXNwYXJzZTpvaWQ9bWFzdGVyIFwKKwkJCQkgc3BhcnNlLXNyYyBkc3QuZ2l0IDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAidW5hYmxlIHRvIHBhcnNlIHNwYXJzZSBmaWx0ZXIgZGF0YSBpbiIgZXJyCisnCisKK3NldHVwX3RyaWFuZ2xlICgpIHsKKwlybSAtcmYgYmlnLWJsb2IudHh0IHNlcnZlciBjbGllbnQgcHJvbWlzb3ItcmVtb3RlICYmCisKKwlwcmludGYgImxpbmUgJWRcbiIgJCh0ZXN0X3NlcSAxIDEwMCkgPmJpZy1ibG9iLnR4dCAmJgorCisJIyBDcmVhdGUgYSBzZXJ2ZXIgd2l0aCAyIGNvbW1pdHM6IGEgY29tbWl0IHdpdGggYSBiaWcgdHJlZSBhbmQgYSBjaGlsZAorCSMgY29tbWl0IHdpdGggYW4gaW5jcmVtZW50YWwgY2hhbmdlLiBBbHNvLCBjcmVhdGUgYSBwYXJ0aWFsIGNsb25lCisJIyBjbGllbnQgdGhhdCBvbmx5IGNvbnRhaW5zIHRoZSBmaXJzdCBjb21taXQuCisJZ2l0IGluaXQgc2VydmVyICYmCisJZ2l0IC1DIHNlcnZlciBjb25maWcgLS1sb2NhbCB1cGxvYWRwYWNrLmFsbG93ZmlsdGVyIDEgJiYKKwlmb3IgaSBpbiAkKHRlc3Rfc2VxIDEgMTAwKQorCWRvCisJCWVjaG8gIm1ha2UgdGhlIHRyZWUgYmlnIiA+c2VydmVyL2ZpbGUkaSAmJgorCQlnaXQgLUMgc2VydmVyIGFkZCBmaWxlJGkKKwlkb25lICYmCisJZ2l0IC1DIHNlcnZlciBjb21taXQgLW0gImluaXRpYWwiICYmCisJZ2l0IGNsb25lIC0tYmFyZSAtLWZpbHRlcj10cmVlOjAgImZpbGU6Ly8kKHB3ZCkvc2VydmVyIiBjbGllbnQgJiYKKwllY2hvIGFub3RoZXIgbGluZSA+PnNlcnZlci9maWxlMSAmJgorCWdpdCAtQyBzZXJ2ZXIgY29tbWl0IC1hbSAiaW5jcmVtZW50YWwgY2hhbmdlIiAmJgorCisJIyBDcmVhdGUgYSBwcm9taXNvciByZW1vdGUgdGhhdCBvbmx5IGNvbnRhaW5zIHRoZSB0cmVlIGFuZCBibG9iIGZyb20KKwkjIHRoZSBmaXJzdCBjb21taXQuCisJZ2l0IGluaXQgcHJvbWlzb3ItcmVtb3RlICYmCisJZ2l0IC1DIHNlcnZlciBjb25maWcgLS1sb2NhbCB1cGxvYWRwYWNrLmFsbG93YW55c2hhMWlud2FudCAxICYmCisJVFJFRV9IQVNIPSQoZ2l0IC1DIHNlcnZlciByZXYtcGFyc2UgSEVBRH4xXnt0cmVlfSkgJiYKKwlnaXQgLUMgcHJvbWlzb3ItcmVtb3RlIGZldGNoIC0ta2VlcCAiZmlsZTovLyQocHdkKS9zZXJ2ZXIiICIkVFJFRV9IQVNIIiAmJgorCWdpdCAtQyBwcm9taXNvci1yZW1vdGUgY291bnQtb2JqZWN0cyAtdiA+b2JqZWN0LWNvdW50ICYmCisJdGVzdF9pMThuZ3JlcCAiY291bnQ6IDAiIG9iamVjdC1jb3VudCAmJgorCXRlc3RfaTE4bmdyZXAgImluLXBhY2s6IDIiIG9iamVjdC1jb3VudCAmJgorCisJIyBTZXQgaXQgYXMgdGhlIHByb21pc29yIHJlbW90ZSBvZiBjbGllbnQuIFRodXMsIHdoZW5ldmVyCisJIyB0aGUgY2xpZW50IGxhenkgZmV0Y2hlcywgdGhlIGxhenkgZmV0Y2ggd2lsbCBzdWNjZWVkIG9ubHkgaWYgaXQgaXMKKwkjIGZvciB0aGlzIHRyZWUgb3IgYmxvYi4KKwl0ZXN0X2NvbW1pdCAtQyBwcm9taXNvci1yZW1vdGUgb25lICYmICMgc28gdGhhdCByZWYgYWR2ZXJ0aXNlbWVudCBpcyBub3QgZW1wdHkKKwlnaXQgLUMgcHJvbWlzb3ItcmVtb3RlIGNvbmZpZyAtLWxvY2FsIHVwbG9hZHBhY2suYWxsb3dhbnlzaGExaW53YW50IDEgJiYKKwlnaXQgLUMgY2xpZW50IHJlbW90ZSBzZXQtdXJsIG9yaWdpbiAiZmlsZTovLyQocHdkKS9wcm9taXNvci1yZW1vdGUiCit9CisKKyMgTkVFRFNXT1JLOiBUaGUgdGVzdHMgYmVnaW5uaW5nIHdpdGggImZldGNoIGxhenktZmV0Y2hlcyIgYmVsb3cgb25seQorIyB0ZXN0IHRoYXQgImZldGNoIiBhdm9pZCBmZXRjaGluZyB0cmVlcyBhbmQgYmxvYnMsIGJ1dCBub3QgY29tbWl0cyBvcgorIyB0YWdzLiBSZXZpc2l0IHRoaXMgaWYgR2l0IGlzIGV2ZXIgdGF1Z2h0IHRvIHN1cHBvcnQgcGFydGlhbCBjbG9uZXMKKyMgd2l0aCBjb21taXRzIGFuZC9vciB0YWdzIGZpbHRlcmVkIG91dC4KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggbGF6eS1mZXRjaGVzIG9ubHkgdG8gcmVzb2x2ZSBkZWx0YXMnICcKKwlzZXR1cF90cmlhbmdsZSAmJgorCisJIyBFeGVyY2lzZSB0byBtYWtlIHN1cmUgaXQgd29ya3MuIEdpdCB3aWxsIG5vdCBmZXRjaCBhbnl0aGluZyBmcm9tIHRoZQorCSMgcHJvbWlzb3IgcmVtb3RlIG90aGVyIHRoYW4gZm9yIHRoZSBiaWcgdHJlZSAoYmVjYXVzZSBpdCBuZWVkcyB0bworCSMgcmVzb2x2ZSB0aGUgZGVsdGEpLgorCUdJVF9UUkFDRV9QQUNLRVQ9IiQocHdkKS90cmFjZSIgZ2l0IC1DIGNsaWVudCBcCisJCWZldGNoICJmaWxlOi8vJChwd2QpL3NlcnZlciIgbWFzdGVyICYmCisKKwkjIFZlcmlmeSB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoZSBjbGllbnQgbmVlZGVkIHRvIGZldGNoIHRoZSBkZWx0YSBiYXNlCisJIyB0byByZXNvbHZlIHRoZSBkZWx0YS4KKwlnaXQgLUMgc2VydmVyIHJldi1wYXJzZSBIRUFEfjFee3RyZWV9ID5oYXNoICYmCisJZ3JlcCAid2FudCAkKGNhdCBoYXNoKSIgdHJhY2UKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggbGF6eS1mZXRjaGVzIG9ubHkgdG8gcmVzb2x2ZSBkZWx0YXMsIHByb3RvY29sIHYyJyAnCisJc2V0dXBfdHJpYW5nbGUgJiYKKworCWdpdCAtQyBzZXJ2ZXIgY29uZmlnIC0tbG9jYWwgcHJvdG9jb2wudmVyc2lvbiAyICYmCisJZ2l0IC1DIGNsaWVudCBjb25maWcgLS1sb2NhbCBwcm90b2NvbC52ZXJzaW9uIDIgJiYKKwlnaXQgLUMgcHJvbWlzb3ItcmVtb3RlIGNvbmZpZyAtLWxvY2FsIHByb3RvY29sLnZlcnNpb24gMiAmJgorCisJIyBFeGVyY2lzZSB0byBtYWtlIHN1cmUgaXQgd29ya3MuIEdpdCB3aWxsIG5vdCBmZXRjaCBhbnl0aGluZyBmcm9tIHRoZQorCSMgcHJvbWlzb3IgcmVtb3RlIG90aGVyIHRoYW4gZm9yIHRoZSBiaWcgYmxvYiAoYmVjYXVzZSBpdCBuZWVkcyB0bworCSMgcmVzb2x2ZSB0aGUgZGVsdGEpLgorCUdJVF9UUkFDRV9QQUNLRVQ9IiQocHdkKS90cmFjZSIgZ2l0IC1DIGNsaWVudCBcCisJCWZldGNoICJmaWxlOi8vJChwd2QpL3NlcnZlciIgbWFzdGVyICYmCisKKwkjIFZlcmlmeSB0aGF0IHByb3RvY29sIHZlcnNpb24gMiB3YXMgdXNlZC4KKwlncmVwICJmZXRjaDwgdmVyc2lvbiAyIiB0cmFjZSAmJgorCisJIyBWZXJpZnkgdGhlIGFzc3VtcHRpb24gdGhhdCB0aGUgY2xpZW50IG5lZWRlZCB0byBmZXRjaCB0aGUgZGVsdGEgYmFzZQorCSMgdG8gcmVzb2x2ZSB0aGUgZGVsdGEuCisJZ2l0IC1DIHNlcnZlciByZXYtcGFyc2UgSEVBRH4xXnt0cmVlfSA+aGFzaCAmJgorCWdyZXAgIndhbnQgJChjYXQgaGFzaCkiIHRyYWNlCisnCisKKyMgVGhlIGZvbGxvd2luZyB0d28gdGVzdHMgbXVzdCBiZSBpbiB0aGlzIG9yZGVyLCBvciBlbHNlCisjIHRoZSBmaXJzdCB3aWxsIG5vdCBmYWlsLiBJdCBpcyBpbXBvcnRhbnQgdGhhdCB0aGUgc3J2LmJhcmUKKyMgcmVwb3NpdG9yeSBkaWQgbm90IGhhdmUgdGFncyBkdXJpbmcgY2xvbmUsIGJ1dCBoYXMgdGFncworIyBpbiB0aGUgZmV0Y2guCisKK3Rlc3RfZXhwZWN0X2ZhaWx1cmUgJ3ZlcmlmeSBmZXRjaCBzdWNjZWVkcyB3aGVuIGFza2luZyBmb3IgbmV3IHRhZ3MnICcKKwlnaXQgY2xvbmUgLS1maWx0ZXI9YmxvYjpub25lICJmaWxlOi8vJChwd2QpL3Nydi5iYXJlIiB0YWctdGVzdCAmJgorCWZvciBpIGluIEkgSiBLCisJZG8KKwkJdGVzdF9jb21taXQgLUMgc3JjICRpICYmCisJCWdpdCAtQyBzcmMgYnJhbmNoICRpIHx8IHJldHVybiAxCisJZG9uZSAmJgorCWdpdCAtQyBzcnYuYmFyZSBmZXRjaCAtLXRhZ3Mgb3JpZ2luICtyZWZzL2hlYWRzLyo6cmVmcy9oZWFkcy8qICYmCisJZ2l0IC1DIHRhZy10ZXN0IC1jIHByb3RvY29sLnZlcnNpb249MiBmZXRjaCAtLXRhZ3Mgb3JpZ2luCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZlcmlmeSBmZXRjaCBkb3dubG9hZHMgb25seSBvbmUgcGFjayB3aGVuIHVwZGF0aW5nIHJlZnMnICcKKwlnaXQgY2xvbmUgLS1maWx0ZXI9YmxvYjpub25lICJmaWxlOi8vJChwd2QpL3Nydi5iYXJlIiBwYWNrLXRlc3QgJiYKKwlscyBwYWNrLXRlc3QvLmdpdC9vYmplY3RzL3BhY2svKnBhY2sgPnBhY2stbGlzdCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDIgcGFjay1saXN0ICYmCisJZm9yIGkgaW4gQSBCIEMKKwlkbworCQl0ZXN0X2NvbW1pdCAtQyBzcmMgJGkgJiYKKwkJZ2l0IC1DIHNyYyBicmFuY2ggJGkgfHwgcmV0dXJuIDEKKwlkb25lICYmCisJZ2l0IC1DIHNydi5iYXJlIGZldGNoIG9yaWdpbiArcmVmcy9oZWFkcy8qOnJlZnMvaGVhZHMvKiAmJgorCWdpdCAtQyBwYWNrLXRlc3QgZmV0Y2ggb3JpZ2luICYmCisJbHMgcGFjay10ZXN0Ly5naXQvb2JqZWN0cy9wYWNrLypwYWNrID5wYWNrLWxpc3QgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAzIHBhY2stbGlzdAorJworCiAuICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1odHRwZC5zaAogc3RhcnRfaHR0cGQKIAotIyBDb252ZXJ0cyBieXRlcyBpbnRvIGEgZm9ybSBzdWl0YWJsZSBmb3IgaW5jbHVzaW9uIGluIGEgc2VkIGNvbW1hbmQuIEZvcgotIyBleGFtcGxlLCAicHJpbnRmICdhYlxyXG4nIHwgaGV4X3VucGFjayIgcmVzdWx0cyBpbiAnXHg2MVx4NjJceDBkXHgwYScuCi1zZWRfZXNjYXBlICgpIHsKLQlwZXJsIC1lICckLyA9IHVuZGVmOyAkaW5wdXQgPSA8PjsgcHJpbnQgdW5wYWNrKCJIMiIgeCBsZW5ndGgoJGlucHV0KSwgJGlucHV0KScgfAotCQlzZWQgJ3MvXCguLlwpL1xceFwxL2cnCisjIENvbnZlcnRzIGJ5dGVzIGludG8gdGhlaXIgaGV4YWRlY2ltYWwgcmVwcmVzZW50YXRpb24uIEZvciBleGFtcGxlLAorIyAicHJpbnRmICdhYlxyXG4nIHwgaGV4X3VucGFjayIgcmVzdWx0cyBpbiAnNjE2MjBkMGEnLgoraGV4X3VucGFjayAoKSB7CisJcGVybCAtZSAnJC8gPSB1bmRlZjsgJGlucHV0ID0gPD47IHByaW50IHVucGFjaygiSDIiIHggbGVuZ3RoKCRpbnB1dCksICRpbnB1dCknCit9CisKKyMgSW5zZXJ0cyAkMSBhdCB0aGUgc3RhcnQgb2YgdGhlIHN0cmluZyBhbmQgZXZlcnkgMiBjaGFyYWN0ZXJzIHRoZXJlYWZ0ZXIuCitpbnRlcnNwZXJzZSAoKSB7CisJc2VkICdzL1woLi5cKS8nJDEnXDEvZycKK30KKworIyBDcmVhdGUgYSBvbmUtdGltZS1wZXJsIGNvbW1hbmQgdG8gcmVwbGFjZSB0aGUgZXhpc3RpbmcgcGFja2ZpbGUgd2l0aCAkMS4KK3JlcGxhY2VfcGFja2ZpbGUgKCkgeworCSMgVGhlIHByb3RvY29sIHJlcXVpcmVzIHRoYXQgdGhlIHBhY2tmaWxlIGJlIHNlbnQgaW4gc2lkZWJhbmQgMSwgaGVuY2UKKwkjIHRoZSBleHRyYSBceDAxIGJ5dGUgYXQgdGhlIGJlZ2lubmluZy4KKwljcCAkMSAiJEhUVFBEX1JPT1RfUEFUSC9vbmUtdGltZS1wYWNrIiAmJgorCWVjaG8gJ2lmICgvcGFja2ZpbGUvKSB7CisJCXByaW50OworCQlteSAkbGVuZ3RoID0gLXMgIm9uZS10aW1lLXBhY2siOworCQlwcmludGYgIiUwNHhceDAxIiwgJGxlbmd0aCArIDU7CisJCXByaW50IGBjYXQgb25lLXRpbWUtcGFja2AgLiAiMDAwMCI7CisJCWxhc3QKKwl9JyA+IiRIVFRQRF9ST09UX1BBVEgvb25lLXRpbWUtcGVybCIKIH0KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndXBvbiBjbG9uaW5nLCBjaGVjayB0aGF0IGFsbCByZWZzIHBvaW50IHRvIG9iamVjdHMnICcKQEAgLTI3MCwyMSArNDYyLDE4IEBACiAJIyBSZXBsYWNlIHRoZSBleGlzdGluZyBwYWNrZmlsZSB3aXRoIHRoZSBjcmFmdGVkIG9uZS4gVGhlIHByb3RvY29sCiAJIyByZXF1aXJlcyB0aGF0IHRoZSBwYWNrZmlsZSBiZSBzZW50IGluIHNpZGViYW5kIDEsIGhlbmNlIHRoZSBleHRyYQogCSMgXHgwMSBieXRlIGF0IHRoZSBiZWdpbm5pbmcuCi0JcHJpbnRmICIxLC9wYWNrZmlsZS8hYyAlMDR4XFxcXHgwMSVzMDAwMCIgXAotCQkiJCgoJCh3YyAtYyA8aW5jb21wbGV0ZS5wYWNrKSArIDUpKSIgXAotCQkiJChzZWRfZXNjYXBlIDxpbmNvbXBsZXRlLnBhY2spIiBcCi0JCT4iJEhUVFBEX1JPT1RfUEFUSC9vbmUtdGltZS1zZWQiICYmCisJcmVwbGFjZV9wYWNrZmlsZSBpbmNvbXBsZXRlLnBhY2sgJiYKIAotCSMgVXNlIHByb3RvY29sIHYyIGJlY2F1c2UgdGhlIHNlZCBjb21tYW5kIGxvb2tzIGZvciB0aGUgInBhY2tmaWxlIgorCSMgVXNlIHByb3RvY29sIHYyIGJlY2F1c2UgdGhlIHBlcmwgY29tbWFuZCBsb29rcyBmb3IgdGhlICJwYWNrZmlsZSIKIAkjIHNlY3Rpb24gaGVhZGVyLgogCXRlc3RfY29uZmlnIC1DICIkU0VSVkVSIiBwcm90b2NvbC52ZXJzaW9uIDIgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgLWMgcHJvdG9jb2wudmVyc2lvbj0yIGNsb25lIFwKLQkJLS1maWx0ZXI9YmxvYjpub25lICRIVFRQRF9VUkwvb25lX3RpbWVfc2VkL3NlcnZlciByZXBvIDI+ZXJyICYmCisJCS0tZmlsdGVyPWJsb2I6bm9uZSAkSFRUUERfVVJML29uZV90aW1lX3Blcmwvc2VydmVyIHJlcG8gMj5lcnIgJiYKIAotCWdyZXAgImRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiIGVyciAmJgorCXRlc3RfaTE4bmdyZXAgImRpZCBub3Qgc2VuZCBhbGwgbmVjZXNzYXJ5IG9iamVjdHMiIGVyciAmJgogCi0JIyBFbnN1cmUgdGhhdCB0aGUgb25lLXRpbWUtc2VkIHNjcmlwdCB3YXMgdXNlZC4KLQkhIHRlc3QgLWUgIiRIVFRQRF9ST09UX1BBVEgvb25lLXRpbWUtc2VkIgorCSMgRW5zdXJlIHRoYXQgdGhlIG9uZS10aW1lLXBlcmwgc2NyaXB0IHdhcyB1c2VkLgorCSEgdGVzdCAtZSAiJEhUVFBEX1JPT1RfUEFUSC9vbmUtdGltZS1wZXJsIgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd3aGVuIHBhcnRpYWwgY2xvbmluZywgdG9sZXJhdGUgc2VydmVyIG5vdCBzZW5kaW5nIHRhcmdldCBvZiB0YWcnICcKQEAgLTMxMywyNCArNTAyLDEwMCBAQAogCSMgUmVwbGFjZSB0aGUgZXhpc3RpbmcgcGFja2ZpbGUgd2l0aCB0aGUgY3JhZnRlZCBvbmUuIFRoZSBwcm90b2NvbAogCSMgcmVxdWlyZXMgdGhhdCB0aGUgcGFja2ZpbGUgYmUgc2VudCBpbiBzaWRlYmFuZCAxLCBoZW5jZSB0aGUgZXh0cmEKIAkjIFx4MDEgYnl0ZSBhdCB0aGUgYmVnaW5uaW5nLgotCXByaW50ZiAiMSwvcGFja2ZpbGUvIWMgJTA0eFxcXFx4MDElczAwMDAiIFwKLQkJIiQoKCQod2MgLWMgPGluY29tcGxldGUucGFjaykgKyA1KSkiIFwKLQkJIiQoc2VkX2VzY2FwZSA8aW5jb21wbGV0ZS5wYWNrKSIgXAotCQk+IiRIVFRQRF9ST09UX1BBVEgvb25lLXRpbWUtc2VkIiAmJgorCXJlcGxhY2VfcGFja2ZpbGUgaW5jb21wbGV0ZS5wYWNrICYmCiAKLQkjIFVzZSBwcm90b2NvbCB2MiBiZWNhdXNlIHRoZSBzZWQgY29tbWFuZCBsb29rcyBmb3IgdGhlICJwYWNrZmlsZSIKKwkjIFVzZSBwcm90b2NvbCB2MiBiZWNhdXNlIHRoZSBwZXJsIGNvbW1hbmQgbG9va3MgZm9yIHRoZSAicGFja2ZpbGUiCiAJIyBzZWN0aW9uIGhlYWRlci4KIAl0ZXN0X2NvbmZpZyAtQyAiJFNFUlZFUiIgcHJvdG9jb2wudmVyc2lvbiAyICYmCiAKIAkjIEV4ZXJjaXNlIHRvIG1ha2Ugc3VyZSBpdCB3b3Jrcy4KIAlnaXQgLWMgcHJvdG9jb2wudmVyc2lvbj0yIGNsb25lIFwKLQkJLS1maWx0ZXI9YmxvYjpub25lICRIVFRQRF9VUkwvb25lX3RpbWVfc2VkL3NlcnZlciByZXBvIDI+IGVyciAmJgorCQktLWZpbHRlcj1ibG9iOm5vbmUgJEhUVFBEX1VSTC9vbmVfdGltZV9wZXJsL3NlcnZlciByZXBvIDI+IGVyciAmJgogCSEgZ3JlcCAibWlzc2luZyBvYmplY3QgcmVmZXJlbmNlZCBieSIgZXJyICYmCiAKLQkjIEVuc3VyZSB0aGF0IHRoZSBvbmUtdGltZS1zZWQgc2NyaXB0IHdhcyB1c2VkLgotCSEgdGVzdCAtZSAiJEhUVFBEX1JPT1RfUEFUSC9vbmUtdGltZS1zZWQiCisJIyBFbnN1cmUgdGhhdCB0aGUgb25lLXRpbWUtcGVybCBzY3JpcHQgd2FzIHVzZWQuCisJISB0ZXN0IC1lICIkSFRUUERfUk9PVF9QQVRIL29uZS10aW1lLXBlcmwiCiAnCiAKLXN0b3BfaHR0cGQKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RvbGVyYXRlIHNlcnZlciBzZW5kaW5nIFJFRl9ERUxUQSBhZ2FpbnN0IG1pc3NpbmcgcHJvbWlzb3Igb2JqZWN0cycgJworCVNFUlZFUj0iJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSC9zZXJ2ZXIiICYmCisJcm0gLXJmICIkU0VSVkVSIiByZXBvICYmCisJdGVzdF9jcmVhdGVfcmVwbyAiJFNFUlZFUiIgJiYKKwl0ZXN0X2NvbmZpZyAtQyAiJFNFUlZFUiIgdXBsb2FkcGFjay5hbGxvd2ZpbHRlciAxICYmCisJdGVzdF9jb25maWcgLUMgIiRTRVJWRVIiIHVwbG9hZHBhY2suYWxsb3dhbnlzaGExaW53YW50IDEgJiYKKworCSMgQ3JlYXRlIGEgY29tbWl0IHdpdGggMiBibG9icyB0byBiZSB1c2VkIGFzIGRlbHRhIGJhc2VzLgorCWZvciBpIGluICQodGVzdF9zZXEgMTApCisJZG8KKwkJZWNobyAidGhpcyBpcyBhIGxpbmUiID4+IiRTRVJWRVIvZm9vLnR4dCIgJiYKKwkJZWNobyAidGhpcyBpcyBhbm90aGVyIGxpbmUiID4+IiRTRVJWRVIvaGF2ZS50eHQiCisJZG9uZSAmJgorCWdpdCAtQyAiJFNFUlZFUiIgYWRkIGZvby50eHQgaGF2ZS50eHQgJiYKKwlnaXQgLUMgIiRTRVJWRVIiIGNvbW1pdCAtbSBiYXIgJiYKKwlnaXQgLUMgIiRTRVJWRVIiIHJldi1wYXJzZSBIRUFEOmZvby50eHQgPmRlbHRhYmFzZV9taXNzaW5nICYmCisJZ2l0IC1DICIkU0VSVkVSIiByZXYtcGFyc2UgSEVBRDpoYXZlLnR4dCA+ZGVsdGFiYXNlX2hhdmUgJiYKKworCSMgQ2xvbmUuIFRoZSBjbGllbnQgaGFzIGRlbHRhYmFzZV9oYXZlIGJ1dCBub3QgZGVsdGFiYXNlX21pc3NpbmcuCisJZ2l0IC1jIHByb3RvY29sLnZlcnNpb249MiBjbG9uZSAtLW5vLWNoZWNrb3V0IFwKKwkJLS1maWx0ZXI9YmxvYjpub25lICRIVFRQRF9VUkwvb25lX3RpbWVfcGVybC9zZXJ2ZXIgcmVwbyAmJgorCWdpdCAtQyByZXBvIGhhc2gtb2JqZWN0IC13IC0tICIkU0VSVkVSL2hhdmUudHh0IiAmJgorCisJIyBTYW5pdHkgY2hlY2sgdG8gZW5zdXJlIHRoYXQgdGhlIGNsaWVudCBkb2VzIG5vdCBoYXZlCisJIyBkZWx0YWJhc2VfbWlzc2luZy4KKwlnaXQgLUMgcmVwbyByZXYtbGlzdCAtLW9iamVjdHMgLS1pZ25vcmUtbWlzc2luZyBcCisJCS0tICQoY2F0IGRlbHRhYmFzZV9taXNzaW5nKSA+b2JqbGlzdCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDAgb2JqbGlzdCAmJgorCisJIyBBbm90aGVyIGNvbW1pdC4gVGhpcyBjb21taXQgd2lsbCBiZSBmZXRjaGVkIGJ5IHRoZSBjbGllbnQuCisJZWNobyAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiID4+IiRTRVJWRVIvZm9vLnR4dCIgJiYKKwllY2hvICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIgPj4iJFNFUlZFUi9oYXZlLnR4dCIgJiYKKwlnaXQgLUMgIiRTRVJWRVIiIGFkZCBmb28udHh0IGhhdmUudHh0ICYmCisJZ2l0IC1DICIkU0VSVkVSIiBjb21taXQgLW0gYmF6ICYmCisKKwkjIFBhY2sgYSB0aGluIHBhY2sgY29udGFpbmluZywgYW1vbmcgb3RoZXIgdGhpbmdzLCBIRUFEOmZvby50eHQKKwkjIGRlbHRhLWVkIGFnYWluc3QgSEVBRF46Zm9vLnR4dCBhbmQgSEVBRDpoYXZlLnR4dCBkZWx0YS1lZCBhZ2FpbnN0CisJIyBIRUFEXjpoYXZlLnR4dC4KKwlwcmludGYgIiVzXG4tLW5vdFxuJXNcbiIgXAorCQkkKGdpdCAtQyAiJFNFUlZFUiIgcmV2LXBhcnNlIEhFQUQpIFwKKwkJJChnaXQgLUMgIiRTRVJWRVIiIHJldi1wYXJzZSBIRUFEXikgfAorCQlnaXQgLUMgIiRTRVJWRVIiIHBhY2stb2JqZWN0cyAtLXRoaW4gLS1zdGRvdXQgPnRoaW4ucGFjayAmJgorCisJIyBFbnN1cmUgdGhhdCB0aGUgcGFjayBjb250YWlucyBvbmUgZGVsdGEgYWdhaW5zdCBIRUFEXjpmb28udHh0LiBTaW5jZQorCSMgdGhlIGRlbHRhIGNvbnRhaW5zIGF0IGxlYXN0IDI2IG5vdmVsIGNoYXJhY3RlcnMsIHRoZSBzaXplIGNhbm5vdCBiZQorCSMgY29udGFpbmVkIGluIDQgYml0cywgc28gdGhlIG9iamVjdCBoZWFkZXIgd2lsbCB0YWtlIHVwIDIgYnl0ZXMuIFRoZQorCSMgbW9zdCBzaWduaWZpY2FudCBueWJibGUgb2YgdGhlIGZpcnN0IGJ5dGUgaXMgMGIxMTExICgwYjEgdG8gaW5kaWNhdGUKKwkjIHRoYXQgdGhlIGhlYWRlciBjb250aW51ZXMsIGFuZCAwYjExMSB0byBpbmRpY2F0ZSBSRUZfREVMVEEpLCBmb2xsb3dlZAorCSMgYnkgYW55IDMgbnliYmxlcywgdGhlbiB0aGUgT0lEIG9mIHRoZSBkZWx0YSBiYXNlLgorCXByaW50ZiAiZi4sLi4lcyIgJChpbnRlcnNwZXJzZSAiLCIgPGRlbHRhYmFzZV9taXNzaW5nKSA+d2FudCAmJgorCWhleF91bnBhY2sgPHRoaW4ucGFjayB8IGludGVyc3BlcnNlICIsIiA+aGF2ZSAmJgorCWdyZXAgJChjYXQgd2FudCkgaGF2ZSAmJgorCisJIyBFbnN1cmUgdGhhdCB0aGUgcGFjayBjb250YWlucyBvbmUgZGVsdGEgYWdhaW5zdCBIRUFEXjpoYXZlLnR4dCwKKwkjIHNpbWlsYXIgdG8gdGhlIGFib3ZlLgorCXByaW50ZiAiZi4sLi4lcyIgJChpbnRlcnNwZXJzZSAiLCIgPGRlbHRhYmFzZV9oYXZlKSA+d2FudCAmJgorCWhleF91bnBhY2sgPHRoaW4ucGFjayB8IGludGVyc3BlcnNlICIsIiA+aGF2ZSAmJgorCWdyZXAgJChjYXQgd2FudCkgaGF2ZSAmJgorCisJcmVwbGFjZV9wYWNrZmlsZSB0aGluLnBhY2sgJiYKKworCSMgVXNlIHByb3RvY29sIHYyIGJlY2F1c2UgdGhlIHBlcmwgY29tbWFuZCBsb29rcyBmb3IgdGhlICJwYWNrZmlsZSIKKwkjIHNlY3Rpb24gaGVhZGVyLgorCXRlc3RfY29uZmlnIC1DICIkU0VSVkVSIiBwcm90b2NvbC52ZXJzaW9uIDIgJiYKKworCSMgRmV0Y2ggdGhlIHRoaW4gcGFjayBhbmQgZW5zdXJlIHRoYXQgaW5kZXgtcGFjayBpcyBhYmxlIHRvIGhhbmRsZSB0aGUKKwkjIFJFRl9ERUxUQSBvYmplY3Qgd2l0aCBhIG1pc3NpbmcgcHJvbWlzb3IgZGVsdGEgYmFzZS4KKwlHSVRfVFJBQ0VfUEFDS0VUPSIkKHB3ZCkvdHJhY2UiIGdpdCAtQyByZXBvIC1jIHByb3RvY29sLnZlcnNpb249MiBmZXRjaCAmJgorCisJIyBFbnN1cmUgdGhhdCB0aGUgbWlzc2luZyBkZWx0YSBiYXNlIHdhcyBkaXJlY3RseSBmZXRjaGVkLCBidXQgbm90IHRoZQorCSMgb25lIHRoYXQgdGhlIGNsaWVudCBoYXMuCisJZ3JlcCAid2FudCAkKGNhdCBkZWx0YWJhc2VfbWlzc2luZykiIHRyYWNlICYmCisJISBncmVwICJ3YW50ICQoY2F0IGRlbHRhYmFzZV9oYXZlKSIgdHJhY2UgJiYKKworCSMgRW5zdXJlIHRoYXQgdGhlIG9uZS10aW1lLXBlcmwgc2NyaXB0IHdhcyB1c2VkLgorCSEgdGVzdCAtZSAiJEhUVFBEX1JPT1RfUEFUSC9vbmUtdGltZS1wZXJsIgorJworCisjIERPIE5PVCBhZGQgbm9uLWh0dHBkLXNwZWNpZmljIHRlc3RzIGhlcmUsIGJlY2F1c2UgdGhlIGxhc3QgcGFydCBvZiB0aGlzCisjIHRlc3Qgc2NyaXB0IGlzIG9ubHkgZXhlY3V0ZWQgd2hlbiBodHRwZCBpcyBhdmFpbGFibGUgYW5kIGVuYWJsZWQuCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTYxNy1jbG9uZS1zdWJtb2R1bGVzLXJlbW90ZS5zaCBiL3QvdDU2MTctY2xvbmUtc3VibW9kdWxlcy1yZW1vdGUuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWEwNDFkZgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDU2MTctY2xvbmUtc3VibW9kdWxlcy1yZW1vdGUuc2gKQEAgLTAsMCArMSw2NSBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J1Rlc3QgY2xvbmluZyByZXBvcyB3aXRoIHN1Ym1vZHVsZXMgdXNpbmcgcmVtb3RlLXRyYWNraW5nIGJyYW5jaGVzJworCisuIC4vdGVzdC1saWIuc2gKKworcHdkPSQocHdkKQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJworCWdpdCBjaGVja291dCAtYiBtYXN0ZXIgJiYKKwl0ZXN0X2NvbW1pdCBjb21taXQxICYmCisJbWtkaXIgc3ViICYmCisJKAorCQljZCBzdWIgJiYKKwkJZ2l0IGluaXQgJiYKKwkJdGVzdF9jb21taXQgc3ViY29tbWl0MSAmJgorCQlnaXQgdGFnIHN1Yl93aGVuX2FkZGVkX3RvX3N1cGVyICYmCisJCWdpdCBicmFuY2ggb3RoZXIKKwkpICYmCisJZ2l0IHN1Ym1vZHVsZSBhZGQgImZpbGU6Ly8kcHdkL3N1YiIgc3ViICYmCisJZ2l0IGNvbW1pdCAtbSAiYWRkIHN1Ym1vZHVsZSIgJiYKKwkoCisJCWNkIHN1YiAmJgorCQl0ZXN0X2NvbW1pdCBzdWJjb21taXQyCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSB3aXRoIC0tbm8tcmVtb3RlLXN1Ym1vZHVsZXMnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBzdXBlcl9jbG9uZSIgJiYKKwlnaXQgY2xvbmUgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgLS1uby1yZW1vdGUtc3VibW9kdWxlcyAiZmlsZTovLyRwd2QvLiIgc3VwZXJfY2xvbmUgJiYKKwkoCisJCWNkIHN1cGVyX2Nsb25lL3N1YiAmJgorCQlnaXQgZGlmZiAtLWV4aXQtY29kZSBzdWJfd2hlbl9hZGRlZF90b19zdXBlcgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgd2l0aCAtLXJlbW90ZS1zdWJtb2R1bGVzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgc3VwZXJfY2xvbmUiICYmCisJZ2l0IGNsb25lIC0tcmVjdXJzZS1zdWJtb2R1bGVzIC0tcmVtb3RlLXN1Ym1vZHVsZXMgImZpbGU6Ly8kcHdkLy4iIHN1cGVyX2Nsb25lICYmCisJKAorCQljZCBzdXBlcl9jbG9uZS9zdWIgJiYKKwkJZ2l0IGRpZmYgLS1leGl0LWNvZGUgcmVtb3Rlcy9vcmlnaW4vbWFzdGVyCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayB0aGUgZGVmYXVsdCBpcyAtLW5vLXJlbW90ZS1zdWJtb2R1bGVzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgc3VwZXJfY2xvbmUiICYmCisJZ2l0IGNsb25lIC0tcmVjdXJzZS1zdWJtb2R1bGVzICJmaWxlOi8vJHB3ZC8uIiBzdXBlcl9jbG9uZSAmJgorCSgKKwkJY2Qgc3VwZXJfY2xvbmUvc3ViICYmCisJCWdpdCBkaWZmIC0tZXhpdC1jb2RlIHN1Yl93aGVuX2FkZGVkX3RvX3N1cGVyCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSB3aXRoIC0tc2luZ2xlLWJyYW5jaCcgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIHN1cGVyX2Nsb25lIiAmJgorCWdpdCBjbG9uZSAtLXJlY3Vyc2Utc3VibW9kdWxlcyAtLXNpbmdsZS1icmFuY2ggImZpbGU6Ly8kcHdkLy4iIHN1cGVyX2Nsb25lICYmCisJKAorCQljZCBzdXBlcl9jbG9uZS9zdWIgJiYKKwkJZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBvcmlnaW4vbWFzdGVyICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgb3JpZ2luL290aGVyCisJKQorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU2MTgtYWx0ZXJuYXRlLXJlZnMuc2ggYi90L3Q1NjE4LWFsdGVybmF0ZS1yZWZzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMzNTMyMTYKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q1NjE4LWFsdGVybmF0ZS1yZWZzLnNoCkBAIC0wLDAgKzEsNjAgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSd0ZXN0IGhhbmRsaW5nIG9mIC0tYWx0ZXJuYXRlLXJlZnMgdHJhdmVyc2FsJworLiAuL3Rlc3QtbGliLnNoCisKKyMgQXZvaWQgdGVzdF9jb21taXQgYmVjYXVzZSB3ZSB3YW50IGEgc3BlY2lmaWMgYW5kIGtub3duIHNldCBvZiByZWZzOgorIworIyAgYmFzZSAtLSBvbmUKKyMgICAgICBcICAgICAgXAorIyAgICAgICB0d28gLS0gbWVyZ2VkCisjCisjIHdoZXJlICJvbmUiIGFuZCAidHdvIiBhcmUgb24gc2VwYXJhdGUgcmVmcywgYW5kICJtZXJnZWQiIGlzIGF2YWlsYWJsZSBvbmx5IGluCisjIHRoZSBkZXBlbmRlbnQgY2hpbGQgcmVwb3NpdG9yeS4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldCB1cCBsb2NhbCByZWZzJyAnCisJZ2l0IGNoZWNrb3V0IC1iIG9uZSAmJgorCXRlc3RfdGljayAmJgorCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSBiYXNlICYmCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tIG9uZSAmJgorCWdpdCBjaGVja291dCAtYiB0d28gSEVBRF4gJiYKKwl0ZXN0X3RpY2sgJiYKKwlnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHkgLW0gdHdvCisnCisKKyMgV2UnbGwgZW50ZXIgdGhlIGNoaWxkIHJlcG9zaXRvcnkgYWZ0ZXIgaXQncyBzZXQgdXAgc2luY2UgdGhhdCdzIHdoZXJlCisjIGFsbCBvZiB0aGUgc3Vic2VxdWVudCB0ZXN0cyB3aWxsIHdhbnQgdG8gcnVuIChhbmQgaXQncyBlYXN5IHRvIGZvcmdldCBhCisjICItQyBjaGlsZCIgYW5kIGdldCBub25zZW5zZSByZXN1bHRzKS4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldCB1cCBzaGFyZWQgY2xvbmUnICcKKwlnaXQgY2xvbmUgLXMgLiBjaGlsZCAmJgorCWNkIGNoaWxkICYmCisJZ2l0IG1lcmdlIG9yaWdpbi9vbmUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LWxpc3QgLS1hbHRlcm5hdGUtcmVmcycgJworCWdpdCByZXYtbGlzdCAtLXJlbW90ZXM9b3JpZ2luID5leHBlY3QgJiYKKwlnaXQgcmV2LWxpc3QgLS1hbHRlcm5hdGUtcmVmcyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtbGlzdCAtLW5vdCAtLWFsdGVybmF0ZS1yZWZzJyAnCisJZ2l0IHJldi1wYXJzZSBIRUFEID5leHBlY3QgJiYKKwlnaXQgcmV2LWxpc3QgSEVBRCAtLW5vdCAtLWFsdGVybmF0ZS1yZWZzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xpbWl0aW5nIHdpdGggYWx0ZXJuYXRlUmVmc1ByZWZpeGVzJyAnCisJdGVzdF9jb25maWcgY29yZS5hbHRlcm5hdGVSZWZzUHJlZml4ZXMgcmVmcy9oZWFkcy9vbmUgJiYKKwlnaXQgcmV2LWxpc3Qgb3JpZ2luL29uZSA+ZXhwZWN0ICYmCisJZ2l0IHJldi1saXN0IC0tYWx0ZXJuYXRlLXJlZnMgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9nIC0tc291cmNlIHNob3dzIC5hbHRlcm5hdGUgbWFya2VyJyAnCisJZ2l0IGxvZyAtLW9uZWxpbmUgLS1zb3VyY2UgLS1yZW1vdGVzPW9yaWdpbiA+ZXhwZWN0Lm9yaWcgJiYKKwlzZWQgInMvb3JpZ2luLiogLy5hbHRlcm5hdGUgLyIgPGV4cGVjdC5vcmlnID5leHBlY3QgJiYKKwlnaXQgbG9nIC0tb25lbGluZSAtLXNvdXJjZSAtLWFsdGVybmF0ZS1yZWZzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTcwMC1wcm90b2NvbC12MS5zaCBiL3QvdDU3MDAtcHJvdG9jb2wtdjEuc2gKaW5kZXggYmE4NmE0NC4uMDIyOTAxYiAxMDA3NTUKLS0tIGEvdC90NTcwMC1wcm90b2NvbC12MS5zaAorKysgYi90L3Q1NzAwLXByb3RvY29sLXYxLnNoCkBAIC00LDYgKzQsMTAgQEAKIAogVEVTVF9OT19DUkVBVEVfUkVQTz0xCiAKKyMgVGhpcyBpcyBhIHByb3RvY29sLXNwZWNpZmljIHRlc3QuCitHSVRfVEVTVF9QUk9UT0NPTF9WRVJTSU9OPTAKK2V4cG9ydCBHSVRfVEVTVF9QUk9UT0NPTF9WRVJTSU9OCisKIC4gLi90ZXN0LWxpYi5zaAogCiAjIFRlc3QgcHJvdG9jb2wgdjEgd2l0aCAnZ2l0Oi8vJyB0cmFuc3BvcnQKQEAgLTI4OSw2ICsyOTMsNyBAQAogCWdyZXAgImdpdDwgdmVyc2lvbiAxIiBsb2cKICcKIAotc3RvcF9odHRwZAorIyBETyBOT1QgYWRkIG5vbi1odHRwZC1zcGVjaWZpYyB0ZXN0cyBoZXJlLCBiZWNhdXNlIHRoZSBsYXN0IHBhcnQgb2YgdGhpcworIyB0ZXN0IHNjcmlwdCBpcyBvbmx5IGV4ZWN1dGVkIHdoZW4gaHR0cGQgaXMgYXZhaWxhYmxlIGFuZCBlbmFibGVkLgogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDU3MDEtZ2l0LXNlcnZlLnNoIGIvdC90NTcwMS1naXQtc2VydmUuc2gKaW5kZXggYWU3OWM2Yi4uZmZiOTYxMyAxMDA3NTUKLS0tIGEvdC90NTcwMS1naXQtc2VydmUuc2gKKysrIGIvdC90NTcwMS1naXQtc2VydmUuc2gKQEAgLTEsNiArMSw2IEBACiAjIS9iaW4vc2gKIAotdGVzdF9kZXNjcmlwdGlvbj0ndGVzdCBnaXQtc2VydmUgYW5kIHNlcnZlciBjb21tYW5kcycKK3Rlc3RfZGVzY3JpcHRpb249J3Rlc3QgcHJvdG9jb2wgdjIgc2VydmVyIGNvbW1hbmRzJwogCiAuIC4vdGVzdC1saWIuc2gKIApAQCAtMTQsNyArMTQsOCBAQAogCTAwMDAKIAlFT0YKIAotCWdpdCBzZXJ2ZSAtLWFkdmVydGlzZS1jYXBhYmlsaXRpZXMgPm91dCAmJgorCUdJVF9URVNUX1NJREVCQU5EX0FMTD0wIHRlc3QtdG9vbCBzZXJ2ZS12MiBcCisJCS0tYWR2ZXJ0aXNlLWNhcGFiaWxpdGllcyA+b3V0ICYmCiAJdGVzdC10b29sIHBrdC1saW5lIHVucGFjayA8b3V0ID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCkBAIC0yNCwxMSArMjUsMTEgQEAKIAl0ZXN0LXRvb2wgcGt0LWxpbmUgcGFjayA+aW4gPDwtRU9GICYmCiAJMDAwMAogCUVPRgotCWdpdCBzZXJ2ZSAtLXN0YXRlbGVzcy1ycGMgPm91dCA8aW4gJiYKKwl0ZXN0LXRvb2wgc2VydmUtdjIgLS1zdGF0ZWxlc3MtcnBjID5vdXQgPGluICYmCiAJdGVzdF9tdXN0X2JlX2VtcHR5IG91dCAmJgogCiAJIyBFT0YKLQlnaXQgc2VydmUgLS1zdGF0ZWxlc3MtcnBjID5vdXQgJiYKKwl0ZXN0LXRvb2wgc2VydmUtdjIgLS1zdGF0ZWxlc3MtcnBjID5vdXQgJiYKIAl0ZXN0X211c3RfYmVfZW1wdHkgb3V0CiAnCiAKQEAgLTM3LDcgKzM4LDcgQEAKIAlmb29iYXIKIAkwMDAwCiAJRU9GCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IHNlcnZlIC0tc3RhdGVsZXNzLXJwYyAyPmVyciA8aW4gJiYKKwl0ZXN0X211c3RfZmFpbCB0ZXN0LXRvb2wgc2VydmUtdjIgLS1zdGF0ZWxlc3MtcnBjIDI+ZXJyIDxpbiAmJgogCXRlc3RfaTE4bmdyZXAgInVua25vd24gY2FwYWJpbGl0eSIgZXJyCiAnCiAKQEAgLTQ2LDcgKzQ3LDcgQEAKIAlhZ2VudD1naXQvdGVzdAogCTAwMDAKIAlFT0YKLQl0ZXN0X211c3RfZmFpbCBnaXQgc2VydmUgLS1zdGF0ZWxlc3MtcnBjIDI+ZXJyIDxpbiAmJgorCXRlc3RfbXVzdF9mYWlsIHRlc3QtdG9vbCBzZXJ2ZS12MiAtLXN0YXRlbGVzcy1ycGMgMj5lcnIgPGluICYmCiAJdGVzdF9pMThuZ3JlcCAibm8gY29tbWFuZCByZXF1ZXN0ZWQiIGVycgogJwogCkBAIC01Niw3ICs1Nyw3IEBACiAJYWdlbnQ9Z2l0L3Rlc3QKIAkwMDAwCiAJRU9GCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IHNlcnZlIC0tc3RhdGVsZXNzLXJwYyAyPmVyciA8aW4gJiYKKwl0ZXN0X211c3RfZmFpbCB0ZXN0LXRvb2wgc2VydmUtdjIgLS1zdGF0ZWxlc3MtcnBjIDI+ZXJyIDxpbiAmJgogCXRlc3RfaTE4bmdyZXAgImludmFsaWQgY29tbWFuZCIgZXJyCiAnCiAKQEAgLTg3LDcgKzg4LDcgQEAKIAkwMDAwCiAJRU9GCiAKLQlnaXQgc2VydmUgLS1zdGF0ZWxlc3MtcnBjIDxpbiA+b3V0ICYmCisJdGVzdC10b29sIHNlcnZlLXYyIC0tc3RhdGVsZXNzLXJwYyA8aW4gPm91dCAmJgogCXRlc3QtdG9vbCBwa3QtbGluZSB1bnBhY2sgPG91dCA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwpAQCAtMTA3LDcgKzEwOCw3IEBACiAJMDAwMAogCUVPRgogCi0JZ2l0IHNlcnZlIC0tc3RhdGVsZXNzLXJwYyA8aW4gPm91dCAmJgorCXRlc3QtdG9vbCBzZXJ2ZS12MiAtLXN0YXRlbGVzcy1ycGMgPGluID5vdXQgJiYKIAl0ZXN0LXRvb2wgcGt0LWxpbmUgdW5wYWNrIDxvdXQgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKQEAgLTEyNyw3ICsxMjgsNyBAQAogCTAwMDAKIAlFT0YKIAotCWdpdCBzZXJ2ZSAtLXN0YXRlbGVzcy1ycGMgPGluID5vdXQgJiYKKwl0ZXN0LXRvb2wgc2VydmUtdjIgLS1zdGF0ZWxlc3MtcnBjIDxpbiA+b3V0ICYmCiAJdGVzdC10b29sIHBrdC1saW5lIHVucGFjayA8b3V0ID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCkBAIC0xNDgsNyArMTQ5LDcgQEAKIAkwMDAwCiAJRU9GCiAKLQlnaXQgc2VydmUgLS1zdGF0ZWxlc3MtcnBjIDxpbiA+b3V0ICYmCisJdGVzdC10b29sIHNlcnZlLXYyIC0tc3RhdGVsZXNzLXJwYyA8aW4gPm91dCAmJgogCXRlc3QtdG9vbCBwa3QtbGluZSB1bnBhY2sgPG91dCA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwpAQCAtMTY5LDcgKzE3MCw3IEBACiAJMDAwMAogCUVPRgogCi0JZ2l0IHNlcnZlIC0tc3RhdGVsZXNzLXJwYyA8aW4gPm91dCAmJgorCXRlc3QtdG9vbCBzZXJ2ZS12MiAtLXN0YXRlbGVzcy1ycGMgPGluID5vdXQgJiYKIAl0ZXN0LXRvb2wgcGt0LWxpbmUgdW5wYWNrIDxvdXQgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKQEAgLTE4OSw3ICsxOTAsNyBAQAogCTAwMDAKIAlFT0YKIAotCWdpdCBzZXJ2ZSAtLXN0YXRlbGVzcy1ycGMgPGluID5vdXQgJiYKKwl0ZXN0LXRvb2wgc2VydmUtdjIgLS1zdGF0ZWxlc3MtcnBjIDxpbiA+b3V0ICYmCiAJdGVzdC10b29sIHBrdC1saW5lIHVucGFjayA8b3V0ID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCkBAIC0yMDQsNyArMjA1LDEwIEBACiAJMDAwMAogCUVPRgogCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIHNlcnZlciBzZXJ2ZSAtLXN0YXRlbGVzcy1ycGMgPGluID4vZGV2L251bGwgMj5lcnIgJiYKKwkoCisJCWNkIHNlcnZlciAmJgorCQl0ZXN0X211c3RfZmFpbCB0ZXN0LXRvb2wgc2VydmUtdjIgLS1zdGF0ZWxlc3MtcnBjCisJKSA8aW4gPi9kZXYvbnVsbCAyPmVyciAmJgogCWdyZXAgInVuZXhwZWN0ZWQgbGluZTogLnRoaXMtaXMtbm90LWEtY29tbWFuZC4iIGVycgogJwogCmRpZmYgLS1naXQgYS90L3Q1NzAyLXByb3RvY29sLXYyLnNoIGIvdC90NTcwMi1wcm90b2NvbC12Mi5zaAppbmRleCAwZjJiMDllLi41MDM5ZTY2IDEwMDc1NQotLS0gYS90L3Q1NzAyLXByb3RvY29sLXYyLnNoCisrKyBiL3QvdDU3MDItcHJvdG9jb2wtdjIuc2gKQEAgLTMyLDcgKzMyLDcgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlZiBhZHZlcnRpc21lbnQgaXMgZmlsdGVyZWQgd2l0aCBscy1yZW1vdGUgdXNpbmcgcHJvdG9jb2wgdjInICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlZiBhZHZlcnRpc2VtZW50IGlzIGZpbHRlcmVkIHdpdGggbHMtcmVtb3RlIHVzaW5nIHByb3RvY29sIHYyJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBsb2ciICYmCiAKIAlHSVRfVFJBQ0VfUEFDS0VUPSIkKHB3ZCkvbG9nIiBnaXQgLWMgcHJvdG9jb2wudmVyc2lvbj0yIFwKQEAgLTE1NCw3ICsxNTQsNyBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVmIGFkdmVydGlzbWVudCBpcyBmaWx0ZXJlZCB3aXRoIGxzLXJlbW90ZSB1c2luZyBwcm90b2NvbCB2MicgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVmIGFkdmVydGlzZW1lbnQgaXMgZmlsdGVyZWQgd2l0aCBscy1yZW1vdGUgdXNpbmcgcHJvdG9jb2wgdjInICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIGxvZyIgJiYKIAogCUdJVF9UUkFDRV9QQUNLRVQ9IiQocHdkKS9sb2ciIGdpdCAtYyBwcm90b2NvbC52ZXJzaW9uPTIgXApAQCAtMTgyLDYgKzE4MiwxMyBAQAogCWdyZXAgInNlcnZlci1vcHRpb249d29ybGQiIGxvZwogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd3YXJuIGlmIHVzaW5nIHNlcnZlci1vcHRpb24gd2l0aCBscy1yZW1vdGUgd2l0aCBsZWdhY3kgcHJvdG9jb2wnICcKKwl0ZXN0X211c3RfZmFpbCBlbnYgR0lUX1RFU1RfUFJPVE9DT0xfVkVSU0lPTj0wIGdpdCAtYyBwcm90b2NvbC52ZXJzaW9uPTAgXAorCQlscy1yZW1vdGUgLW8gaGVsbG8gLW8gd29ybGQgImZpbGU6Ly8kKHB3ZCkvZmlsZV9wYXJlbnQiIG1hc3RlciAyPmVyciAmJgorCisJdGVzdF9pMThuZ3JlcCAic2VlIHByb3RvY29sLnZlcnNpb24gaW4iIGVyciAmJgorCXRlc3RfaTE4bmdyZXAgInNlcnZlciBvcHRpb25zIHJlcXVpcmUgcHJvdG9jb2wgdmVyc2lvbiAyIG9yIGxhdGVyIiBlcnIKKycKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xvbmUgd2l0aCBmaWxlOi8vIHVzaW5nIHByb3RvY29sIHYyJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBsb2ciICYmCkBAIC0yMTgsNyArMjI1LDcgQEAKIAlncmVwICJmZXRjaDwgdmVyc2lvbiAyIiBsb2cKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVmIGFkdmVydGlzbWVudCBpcyBmaWx0ZXJlZCBkdXJpbmcgZmV0Y2ggdXNpbmcgcHJvdG9jb2wgdjInICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlZiBhZHZlcnRpc2VtZW50IGlzIGZpbHRlcmVkIGR1cmluZyBmZXRjaCB1c2luZyBwcm90b2NvbCB2MicgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgbG9nIiAmJgogCiAJdGVzdF9jb21taXQgLUMgZmlsZV9wYXJlbnQgdGhyZWUgJiYKQEAgLTI1MSw2ICsyNTgsNDAgQEAKIAlncmVwICJzZXJ2ZXItb3B0aW9uPXdvcmxkIiBsb2cKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnd2FybiBpZiB1c2luZyBzZXJ2ZXItb3B0aW9uIHdpdGggZmV0Y2ggd2l0aCBsZWdhY3kgcHJvdG9jb2wnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiB0ZW1wX2NoaWxkIiAmJgorCisJZ2l0IGluaXQgdGVtcF9jaGlsZCAmJgorCisJdGVzdF9tdXN0X2ZhaWwgZW52IEdJVF9URVNUX1BST1RPQ09MX1ZFUlNJT049MCBnaXQgLUMgdGVtcF9jaGlsZCAtYyBwcm90b2NvbC52ZXJzaW9uPTAgXAorCQlmZXRjaCAtbyBoZWxsbyAtbyB3b3JsZCAiZmlsZTovLyQocHdkKS9maWxlX3BhcmVudCIgbWFzdGVyIDI+ZXJyICYmCisKKwl0ZXN0X2kxOG5ncmVwICJzZWUgcHJvdG9jb2wudmVyc2lvbiBpbiIgZXJyICYmCisJdGVzdF9pMThuZ3JlcCAic2VydmVyIG9wdGlvbnMgcmVxdWlyZSBwcm90b2NvbCB2ZXJzaW9uIDIgb3IgbGF0ZXIiIGVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXJ2ZXItb3B0aW9ucyBhcmUgc2VudCB3aGVuIGNsb25pbmcnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBsb2cgbXljbG9uZSIgJiYKKworCUdJVF9UUkFDRV9QQUNLRVQ9IiQocHdkKS9sb2ciIGdpdCAtYyBwcm90b2NvbC52ZXJzaW9uPTIgXAorCQljbG9uZSAtLXNlcnZlci1vcHRpb249aGVsbG8gLS1zZXJ2ZXItb3B0aW9uPXdvcmxkIFwKKwkJImZpbGU6Ly8kKHB3ZCkvZmlsZV9wYXJlbnQiIG15Y2xvbmUgJiYKKworCWdyZXAgInNlcnZlci1vcHRpb249aGVsbG8iIGxvZyAmJgorCWdyZXAgInNlcnZlci1vcHRpb249d29ybGQiIGxvZworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd3YXJuIGlmIHVzaW5nIHNlcnZlci1vcHRpb24gd2l0aCBjbG9uZSB3aXRoIGxlZ2FjeSBwcm90b2NvbCcgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIG15Y2xvbmUiICYmCisKKwl0ZXN0X211c3RfZmFpbCBlbnYgR0lUX1RFU1RfUFJPVE9DT0xfVkVSU0lPTj0wIGdpdCAtYyBwcm90b2NvbC52ZXJzaW9uPTAgXAorCQljbG9uZSAtLXNlcnZlci1vcHRpb249aGVsbG8gLS1zZXJ2ZXItb3B0aW9uPXdvcmxkIFwKKwkJImZpbGU6Ly8kKHB3ZCkvZmlsZV9wYXJlbnQiIG15Y2xvbmUgMj5lcnIgJiYKKworCXRlc3RfaTE4bmdyZXAgInNlZSBwcm90b2NvbC52ZXJzaW9uIGluIiBlcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICJzZXJ2ZXIgb3B0aW9ucyByZXF1aXJlIHByb3RvY29sIHZlcnNpb24gMiBvciBsYXRlciIgZXJyCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VwbG9hZC1wYWNrIHJlc3BlY3RzIGNvbmZpZyB1c2luZyBwcm90b2NvbCB2MicgJwogCWdpdCBpbml0IHNlcnZlciAmJgogCXdyaXRlX3NjcmlwdCBzZXJ2ZXIvLmdpdC9ob29rIDw8LVxFT0YgJiYKQEAgLTM1OSwxMiArNDAwLDEzIEBACiAJMDAwMAogCUVPRgogCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIHNlcnZlciBzZXJ2ZSAtLXN0YXRlbGVzcy1ycGMgPGluID4vZGV2L251bGwgMj5lcnIgJiYKKwl0ZXN0X211c3RfZmFpbCB0ZXN0LXRvb2wgLUMgc2VydmVyIHNlcnZlLXYyIC0tc3RhdGVsZXNzLXJwYyBcCisJCTxpbiA+L2Rldi9udWxsIDI+ZXJyICYmCiAJZ3JlcCAidW5leHBlY3RlZCBsaW5lOiAuZmlsdGVyIGJsb2I6bm9uZS4iIGVyciAmJgogCiAJIyBFeGVyY2lzZSB0byBlbnN1cmUgdGhhdCBpZiBhZHZlcnRpc2VkLCBmaWx0ZXIgd29ya3MKIAlnaXQgLUMgc2VydmVyIGNvbmZpZyB1cGxvYWRwYWNrLmFsbG93ZmlsdGVyIDEgJiYKLQlnaXQgLUMgc2VydmVyIHNlcnZlIC0tc3RhdGVsZXNzLXJwYyA8aW4gPi9kZXYvbnVsbAorCXRlc3QtdG9vbCAtQyBzZXJ2ZXIgc2VydmUtdjIgLS1zdGF0ZWxlc3MtcnBjIDxpbiA+L2Rldi9udWxsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RlZmF1bHQgcmVmc3BlYyBpcyB1c2VkIHRvIGZpbHRlciByZWYgd2hlbiBmZXRjaGNpbmcnICcKQEAgLTQ1NywxMCArNDk5LDcgQEAKIAogCSMgQWRkIGV4dHJhIGNvbW1pdHMgdG8gdGhlIGNsaWVudCBzbyB0aGF0IHRoZSB3aG9sZSBmZXRjaCB0YWtlcyBtb3JlCiAJIyB0aGFuIDEgcmVxdWVzdCAoZHVlIHRvIG5lZ290aWF0aW9uKQotCWZvciBpIGluICQodGVzdF9zZXEgMSAzMikKLQlkbwotCQl0ZXN0X2NvbW1pdCAtQyBjbGllbnQgYyRpCi0JZG9uZSAmJgorCXRlc3RfY29tbWl0X2J1bGsgLUMgY2xpZW50IC0taWQ9YyAzMiAmJgogCiAJZ2l0IC1DIHNlcnZlciBjaGVja291dCAtYiBuZXdicmFuY2ggYmFzZSAmJgogCXRlc3RfY29tbWl0IC1DIHNlcnZlciBjbGllbnRfd2FudHMgJiYKQEAgLTQ3MSw2ICs1MTAsNTMgQEAKIAlncmVwICJmZXRjaDwgdmVyc2lvbiAyIiB0cmFjZQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdlbnN1cmUgdGhhdCBtdWx0aXBsZSBmZXRjaGVzIGluIHNhbWUgcHJvY2VzcyBmcm9tIGEgc2hhbGxvdyByZXBvIHdvcmtzJyAnCisJcm0gLXJmIHNlcnZlciBjbGllbnQgdHJhY2UgJiYKKworCXRlc3RfY3JlYXRlX3JlcG8gc2VydmVyICYmCisJdGVzdF9jb21taXQgLUMgc2VydmVyIG9uZSAmJgorCXRlc3RfY29tbWl0IC1DIHNlcnZlciB0d28gJiYKKwl0ZXN0X2NvbW1pdCAtQyBzZXJ2ZXIgdGhyZWUgJiYKKwlnaXQgY2xvbmUgLS1zaGFsbG93LWV4Y2x1ZGUgdHdvICJmaWxlOi8vJChwd2QpL3NlcnZlciIgY2xpZW50ICYmCisKKwlnaXQgLUMgc2VydmVyIHRhZyAtYSAtbSAiYW4gYW5ub3RhdGVkIHRhZyIgdHdvdGFnIHR3byAmJgorCisJIyBUcmlnZ2VycyB0YWcgZm9sbG93aW5nICh0aHVzLCAyIGZldGNoZXMgaW4gb25lIHByb2Nlc3MpCisJR0lUX1RSQUNFX1BBQ0tFVD0iJChwd2QpL3RyYWNlIiBnaXQgLUMgY2xpZW50IC1jIHByb3RvY29sLnZlcnNpb249MiBcCisJCWZldGNoIC0tc2hhbGxvdy1leGNsdWRlIG9uZSBvcmlnaW4gJiYKKwkjIEVuc3VyZSB0aGF0IHByb3RvY29sIHYyIGlzIHVzZWQKKwlncmVwICJmZXRjaDwgdmVyc2lvbiAyIiB0cmFjZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWVwZW4tcmVsYXRpdmUnICcKKwlybSAtcmYgc2VydmVyIGNsaWVudCB0cmFjZSAmJgorCisJdGVzdF9jcmVhdGVfcmVwbyBzZXJ2ZXIgJiYKKwl0ZXN0X2NvbW1pdCAtQyBzZXJ2ZXIgb25lICYmCisJdGVzdF9jb21taXQgLUMgc2VydmVyIHR3byAmJgorCXRlc3RfY29tbWl0IC1DIHNlcnZlciB0aHJlZSAmJgorCWdpdCBjbG9uZSAtLWRlcHRoIDEgImZpbGU6Ly8kKHB3ZCkvc2VydmVyIiBjbGllbnQgJiYKKwl0ZXN0X2NvbW1pdCAtQyBzZXJ2ZXIgZm91ciAmJgorCisJIyBTYW5pdHkgY2hlY2sgdGhhdCBvbmx5ICJ0aHJlZSIgaXMgZG93bmxvYWRlZAorCWdpdCAtQyBjbGllbnQgbG9nIC0tcHJldHR5PXRmb3JtYXQ6JXMgbWFzdGVyID5hY3R1YWwgJiYKKwllY2hvIHRocmVlID5leHBlY3RlZCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCisJR0lUX1RSQUNFX1BBQ0tFVD0iJChwd2QpL3RyYWNlIiBnaXQgLUMgY2xpZW50IC1jIHByb3RvY29sLnZlcnNpb249MiBcCisJCWZldGNoIC0tZGVlcGVuPTEgb3JpZ2luICYmCisJIyBFbnN1cmUgdGhhdCBwcm90b2NvbCB2MiBpcyB1c2VkCisJZ3JlcCAiZmV0Y2g8IHZlcnNpb24gMiIgdHJhY2UgJiYKKworCWdpdCAtQyBjbGllbnQgbG9nIC0tcHJldHR5PXRmb3JtYXQ6JXMgb3JpZ2luL21hc3RlciA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisJZm91cgorCXRocmVlCisJdHdvCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKICMgVGVzdCBwcm90b2NvbCB2MiB3aXRoICdodHRwOi8vJyB0cmFuc3BvcnQKICMKIC4gIiRURVNUX0RJUkVDVE9SWSIvbGliLWh0dHBkLnNoCkBAIC00OTUsNyArNTgxLDM4IEBACiAJIyBDbGllbnQgcmVxdWVzdGVkIHRvIHVzZSBwcm90b2NvbCB2MgogCWdyZXAgIkdpdC1Qcm90b2NvbDogdmVyc2lvbj0yIiBsb2cgJiYKIAkjIFNlcnZlciByZXNwb25kZWQgdXNpbmcgcHJvdG9jb2wgdjIKLQlncmVwICJnaXQ8IHZlcnNpb24gMiIgbG9nCisJZ3JlcCAiZ2l0PCB2ZXJzaW9uIDIiIGxvZyAmJgorCSMgVmVyaWZ5IHRoYXQgdGhlIGNodW5rZWQgZW5jb2Rpbmcgc2VuZGluZyBjb2RlcGF0aCBpcyBOT1QgZXhlcmNpc2VkCisJISBncmVwICJTZW5kIGhlYWRlcjogVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWQiIGxvZworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSBiaWcgcmVwb3NpdG9yeSB3aXRoIGh0dHA6Ly8gdXNpbmcgcHJvdG9jb2wgdjInICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIGxvZyIgJiYKKworCWdpdCBpbml0ICIkSFRUUERfRE9DVU1FTlRfUk9PVF9QQVRIL2JpZyIgJiYKKwkjIEVuc3VyZSB0aGF0IHRoZSBsaXN0IG9mIHdhbnRzIGlzIGdyZWF0ZXIgdGhhbiBodHRwLnBvc3RidWZmZXIgYmVsb3cKKwlmb3IgaSBpbiAkKHRlc3Rfc2VxIDEgMTUwMCkKKwlkbworCQkjIGRvIG5vdCB1c2UgaGVyZS1kb2MsIGJlY2F1c2UgaXQgcmVxdWlyZXMgYSBwcm9jZXNzCisJCSMgcGVyIGxvb3AgaXRlcmF0aW9uCisJCWVjaG8gImNvbW1pdCByZWZzL2hlYWRzL3Rvby1tYW55LXJlZnMtJGkiICYmCisJCWVjaG8gImNvbW1pdHRlciBnaXQgPGdpdEBleGFtcGxlLmNvbT4gJGkgKzAwMDAiICYmCisJCWVjaG8gImRhdGEgMCIgJiYKKwkJZWNobyAiTSA2NDQgaW5saW5lIGJsYS50eHQiICYmCisJCWVjaG8gImRhdGEgNCIgJiYKKwkJZWNobyAiYmxhIgorCWRvbmUgfCBnaXQgLUMgIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgvYmlnIiBmYXN0LWltcG9ydCAmJgorCisJR0lUX1RSQUNFX1BBQ0tFVD0iJChwd2QpL2xvZyIgR0lUX1RSQUNFX0NVUkw9IiQocHdkKS9sb2ciIGdpdCBcCisJCS1jIHByb3RvY29sLnZlcnNpb249MiAtYyBodHRwLnBvc3RidWZmZXI9NjU1MzYgXAorCQljbG9uZSAiJEhUVFBEX1VSTC9zbWFydC9iaWciIGJpZ19jaGlsZCAmJgorCisJIyBDbGllbnQgcmVxdWVzdGVkIHRvIHVzZSBwcm90b2NvbCB2MgorCWdyZXAgIkdpdC1Qcm90b2NvbDogdmVyc2lvbj0yIiBsb2cgJiYKKwkjIFNlcnZlciByZXNwb25kZWQgdXNpbmcgcHJvdG9jb2wgdjIKKwlncmVwICJnaXQ8IHZlcnNpb24gMiIgbG9nICYmCisJIyBWZXJpZnkgdGhhdCB0aGUgY2h1bmtlZCBlbmNvZGluZyBzZW5kaW5nIGNvZGVwYXRoIGlzIGV4ZXJjaXNlZAorCWdyZXAgIlNlbmQgaGVhZGVyOiBUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZCIgbG9nCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoIHdpdGggaHR0cDovLyB1c2luZyBwcm90b2NvbCB2MicgJwpAQCAtNTE0LDYgKzYzMSw1MiBAQAogCWdyZXAgImdpdDwgdmVyc2lvbiAyIiBsb2cKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggd2l0aCBodHRwOi8vIGJ5IGhhc2ggd2l0aG91dCB0YWcgZm9sbG93aW5nIHdpdGggcHJvdG9jb2wgdjIgZG9lcyBub3QgbGlzdCByZWZzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBsb2ciICYmCisKKwl0ZXN0X2NvbW1pdCAtQyAiJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSC9odHRwX3BhcmVudCIgdHdvX2EgJiYKKwlnaXQgLUMgIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgvaHR0cF9wYXJlbnQiIHJldi1wYXJzZSB0d29fYSA+dHdvX2FfaGFzaCAmJgorCisJR0lUX1RSQUNFX1BBQ0tFVD0iJChwd2QpL2xvZyIgZ2l0IC1DIGh0dHBfY2hpbGQgLWMgcHJvdG9jb2wudmVyc2lvbj0yIFwKKwkJZmV0Y2ggLS1uby10YWdzIG9yaWdpbiAkKGNhdCB0d29fYV9oYXNoKSAmJgorCisJZ3JlcCAiZmV0Y2g8IHZlcnNpb24gMiIgbG9nICYmCisJISBncmVwICJmZXRjaD4gY29tbWFuZD1scy1yZWZzIiBsb2cKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggZnJvbSBuYW1lc3BhY2VkIHJlcG8gcmVzcGVjdHMgbmFtZXNwYWNlcycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgbG9nIiAmJgorCisJZ2l0IGluaXQgIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgvbnNyZXBvIiAmJgorCXRlc3RfY29tbWl0IC1DICIkSFRUUERfRE9DVU1FTlRfUk9PVF9QQVRIL25zcmVwbyIgb25lICYmCisJdGVzdF9jb21taXQgLUMgIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgvbnNyZXBvIiB0d28gJiYKKwlnaXQgLUMgIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgvbnNyZXBvIiBcCisJCXVwZGF0ZS1yZWYgcmVmcy9uYW1lc3BhY2VzL25zL3JlZnMvaGVhZHMvbWFzdGVyIG9uZSAmJgorCisJR0lUX1RSQUNFX1BBQ0tFVD0iJChwd2QpL2xvZyIgZ2l0IC1DIGh0dHBfY2hpbGQgLWMgcHJvdG9jb2wudmVyc2lvbj0yIFwKKwkJZmV0Y2ggIiRIVFRQRF9VUkwvc21hcnRfbmFtZXNwYWNlL25zcmVwbyIgXAorCQlyZWZzL2hlYWRzL21hc3RlcjpyZWZzL2hlYWRzL3RoZWlycyAmJgorCisJIyBTZXJ2ZXIgcmVzcG9uZGVkIHVzaW5nIHByb3RvY29sIHYyCisJZ3JlcCAiZmV0Y2g8IHZlcnNpb24gMiIgbG9nICYmCisKKwlnaXQgLUMgIiRIVFRQRF9ET0NVTUVOVF9ST09UX1BBVEgvbnNyZXBvIiByZXYtcGFyc2Ugb25lID5leHBlY3QgJiYKKwlnaXQgLUMgaHR0cF9jaGlsZCByZXYtcGFyc2UgdGhlaXJzID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xzLXJlbW90ZSB3aXRoIHYyIGh0dHAgc2VuZHMgb25seSBvbmUgUE9TVCcgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgbG9nIiAmJgorCisJZ2l0IGxzLXJlbW90ZSAiJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSC9odHRwX3BhcmVudCIgPmV4cGVjdCAmJgorCUdJVF9UUkFDRV9DVVJMPSIkKHB3ZCkvbG9nIiBnaXQgLWMgcHJvdG9jb2wudmVyc2lvbj0yIFwKKwkJbHMtcmVtb3RlICIkSFRUUERfVVJML3NtYXJ0L2h0dHBfcGFyZW50IiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJZ3JlcCAiU2VuZCBoZWFkZXI6IFBPU1QiIGxvZyA+cG9zdHMgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAxIHBvc3RzCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1c2ggd2l0aCBodHRwOi8vIGFuZCBhIGNvbmZpZyBvZiB2MiBkb2VzIG5vdCByZXF1ZXN0IHYyJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBsb2ciICYmCiAJIyBUaWxsIHYyIGZvciBwdXNoIGlzIGRlc2lnbmVkLCBtYWtlIHN1cmUgdGhhdCBpZiBhIGNsaWVudCBoYXMKQEAgLTUzMSw5ICs2OTQsOSBAQAogCWdpdCAtQyAiJEhUVFBEX0RPQ1VNRU5UX1JPT1RfUEFUSC9odHRwX3BhcmVudCIgbG9nIC0xIC0tZm9ybWF0PSVzIGNsaWVudF9icmFuY2ggPmV4cGVjdCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKIAotCSMgQ2xpZW50IGRpZG50IHJlcXVlc3QgdG8gdXNlIHByb3RvY29sIHYyCisJIyBDbGllbnQgZGlkIG5vdCByZXF1ZXN0IHRvIHVzZSBwcm90b2NvbCB2MgogCSEgZ3JlcCAiR2l0LVByb3RvY29sOiB2ZXJzaW9uPTIiIGxvZyAmJgotCSMgU2VydmVyIGRpZG50IHJlc3BvbmQgdXNpbmcgcHJvdG9jb2wgdjIKKwkjIFNlcnZlciBkaWQgbm90IHJlc3BvbmQgdXNpbmcgcHJvdG9jb2wgdjIKIAkhIGdyZXAgImdpdDwgdmVyc2lvbiAyIiBsb2cKICcKIApAQCAtNTQ5LDExICs3MTIsMTEgQEAKIAogCSMgQWZ0ZXIgInJlYWR5IiBpbiB0aGUgYWNrbm93bGVkZ21lbnRzIHNlY3Rpb24sIHByZXRlbmQgdGhhdCBhIEZMVVNICiAJIyAoMDAwMCkgd2FzIHNlbnQgaW5zdGVhZCBvZiBhIERFTElNICgwMDAxKS4KLQlwcmludGYgIi9yZWFkeS8sJCBzLzAwMDEvMDAwMC8iIFwKLQkJPiIkSFRUUERfUk9PVF9QQVRIL29uZS10aW1lLXNlZCIgJiYKKwlwcmludGYgIlwkcmVhZHkgPSAxIGlmIC9yZWFkeS87IFwkcmVhZHkgJiYgcy8wMDAxLzAwMDAvIiBcCisJCT4iJEhUVFBEX1JPT1RfUEFUSC9vbmUtdGltZS1wZXJsIiAmJgogCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIGh0dHBfY2hpbGQgLWMgcHJvdG9jb2wudmVyc2lvbj0yIFwKLQkJZmV0Y2ggIiRIVFRQRF9VUkwvb25lX3RpbWVfc2VkL2h0dHBfcGFyZW50IiAyPiBlcnIgJiYKKwkJZmV0Y2ggIiRIVFRQRF9VUkwvb25lX3RpbWVfcGVybC9odHRwX3BhcmVudCIgMj4gZXJyICYmCiAJdGVzdF9pMThuZ3JlcCAiZXhwZWN0ZWQgcGFja2ZpbGUgdG8gYmUgc2VudCBhZnRlciAucmVhZHkuIiBlcnIKICcKIApAQCAtNTcwLDI0ICs3MzMsMjIgQEAKIAkjIENyZWF0ZSBtYW55IGNvbW1pdHMgdG8gZXh0ZW5kIHRoZSBuZWdvdGlhdGlvbiBwaGFzZSBhY3Jvc3MgbXVsdGlwbGUKIAkjIHJlcXVlc3RzLCBzbyB0aGF0IHRoZSBzZXJ2ZXIgZG9lcyBub3Qgc2VuZCAicmVhZHkiIGluIHRoZSBmaXJzdAogCSMgcmVxdWVzdC4KLQlmb3IgaSBpbiAkKHRlc3Rfc2VxIDEgMzIpCi0JZG8KLQkJdGVzdF9jb21taXQgLUMgaHR0cF9jaGlsZCBjJGkKLQlkb25lICYmCisJdGVzdF9jb21taXRfYnVsayAtQyBodHRwX2NoaWxkIC0taWQ9YyAzMiAmJgogCiAJIyBBZnRlciB0aGUgYWNrbm93bGVkZ21lbnRzIHNlY3Rpb24sIHByZXRlbmQgdGhhdCBhIERFTElNCiAJIyAoMDAwMSkgd2FzIHNlbnQgaW5zdGVhZCBvZiBhIEZMVVNIICgwMDAwKS4KLQlwcmludGYgIi9hY2tub3dsZWRnbWVudHMvLCQgcy8wMDAwLzAwMDEvIiBcCi0JCT4iJEhUVFBEX1JPT1RfUEFUSC9vbmUtdGltZS1zZWQiICYmCisJcHJpbnRmICJcJGFjayA9IDEgaWYgL2Fja25vd2xlZGdtZW50cy87IFwkYWNrICYmIHMvMDAwMC8wMDAxLyIgXAorCQk+IiRIVFRQRF9ST09UX1BBVEgvb25lLXRpbWUtcGVybCIgJiYKIAogCXRlc3RfbXVzdF9mYWlsIGVudiBHSVRfVFJBQ0VfUEFDS0VUPSIkKHB3ZCkvbG9nIiBnaXQgLUMgaHR0cF9jaGlsZCBcCiAJCS1jIHByb3RvY29sLnZlcnNpb249MiBcCi0JCWZldGNoICIkSFRUUERfVVJML29uZV90aW1lX3NlZC9odHRwX3BhcmVudCIgMj4gZXJyICYmCi0JZ3JlcCAiZmV0Y2g8IGFja25vd2xlZGdtZW50cyIgbG9nICYmCi0JISBncmVwICJmZXRjaDwgcmVhZHkiIGxvZyAmJgorCQlmZXRjaCAiJEhUVFBEX1VSTC9vbmVfdGltZV9wZXJsL2h0dHBfcGFyZW50IiAyPiBlcnIgJiYKKwlncmVwICJmZXRjaDwgLiphY2tub3dsZWRnbWVudHMiIGxvZyAmJgorCSEgZ3JlcCAiZmV0Y2g8IC4qcmVhZHkiIGxvZyAmJgogCXRlc3RfaTE4bmdyZXAgImV4cGVjdGVkIG5vIG90aGVyIHNlY3Rpb25zIHRvIGJlIHNlbnQgYWZ0ZXIgbm8gLnJlYWR5LiIgZXJyCiAnCiAKLXN0b3BfaHR0cGQKKyMgRE8gTk9UIGFkZCBub24taHR0cGQtc3BlY2lmaWMgdGVzdHMgaGVyZSwgYmVjYXVzZSB0aGUgbGFzdCBwYXJ0IG9mIHRoaXMKKyMgdGVzdCBzY3JpcHQgaXMgb25seSBleGVjdXRlZCB3aGVuIGh0dHBkIGlzIGF2YWlsYWJsZSBhbmQgZW5hYmxlZC4KIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q1NzAzLXVwbG9hZC1wYWNrLXJlZi1pbi13YW50LnNoIGIvdC90NTcwMy11cGxvYWQtcGFjay1yZWYtaW4td2FudC5zaAppbmRleCAzZjU4ZjA1Li43ZmJhMzA2IDEwMDc1NQotLS0gYS90L3Q1NzAzLXVwbG9hZC1wYWNrLXJlZi1pbi13YW50LnNoCisrKyBiL3QvdDU3MDMtdXBsb2FkLXBhY2stcmVmLWluLXdhbnQuc2gKQEAgLTE4LDE0ICsxOCwxNiBAQAogCQlwCiAJCX0nIDxvdXQgfCB0ZXN0LXRvb2wgcGt0LWxpbmUgdW5wYWNrLXNpZGViYW5kID5vLnBhY2sgJiYKIAlnaXQgaW5kZXgtcGFjayBvLnBhY2sgJiYKLQlnaXQgdmVyaWZ5LXBhY2sgLXYgby5pZHggfCBncmVwIGNvbW1pdCB8IGN1dCAtYy00MCB8IHNvcnQgPmFjdHVhbF9jb21taXRzCisJZ2l0IHZlcmlmeS1wYWNrIC12IG8uaWR4ID5vYmpzICYmCisJZ3JlcCBjb21taXQgb2JqcyB8IGN1dCAtZCIgIiAtZjEgfCBzb3J0ID5hY3R1YWxfY29tbWl0cwogfQogCiBjaGVja19vdXRwdXQgKCkgewogCWdldF9hY3R1YWxfcmVmcyAmJgogCXRlc3RfY21wIGV4cGVjdGVkX3JlZnMgYWN0dWFsX3JlZnMgJiYKIAlnZXRfYWN0dWFsX2NvbW1pdHMgJiYKLQl0ZXN0X2NtcCBleHBlY3RlZF9jb21taXRzIGFjdHVhbF9jb21taXRzCisJc29ydCBleHBlY3RlZF9jb21taXRzID5zb3J0ZWRfY29tbWl0cyAmJgorCXRlc3RfY21wIHNvcnRlZF9jb21taXRzIGFjdHVhbF9jb21taXRzCiB9CiAKICMgYyhvL2ZvbykgZChvL2JhcikKQEAgLTM1LDYgKzM3LDcgQEAKICMgICAgICAgICAgICAgXCB8IC8KICMgICAgICAgICAgICAgICBhCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCByZXBvc2l0b3J5JyAnCisJdGVzdF9vaWRfaW5pdCAmJgogCXRlc3RfY29tbWl0IGEgJiYKIAlnaXQgY2hlY2tvdXQgLWIgby9mb28gJiYKIAl0ZXN0X2NvbW1pdCBiICYmCkBAIC00OCwxNSArNTEsMTUgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY29uZmlnIGNvbnRyb2xzIHJlZi1pbi13YW50IGFkdmVydGlzZW1lbnQnICcKLQlnaXQgc2VydmUgLS1hZHZlcnRpc2UtY2FwYWJpbGl0aWVzID5vdXQgJiYKKwl0ZXN0LXRvb2wgc2VydmUtdjIgLS1hZHZlcnRpc2UtY2FwYWJpbGl0aWVzID5vdXQgJiYKIAkhIGdyZXAgLWEgcmVmLWluLXdhbnQgb3V0ICYmCiAKIAlnaXQgY29uZmlnIHVwbG9hZHBhY2suYWxsb3dSZWZJbldhbnQgZmFsc2UgJiYKLQlnaXQgc2VydmUgLS1hZHZlcnRpc2UtY2FwYWJpbGl0aWVzID5vdXQgJiYKKwl0ZXN0LXRvb2wgc2VydmUtdjIgLS1hZHZlcnRpc2UtY2FwYWJpbGl0aWVzID5vdXQgJiYKIAkhIGdyZXAgLWEgcmVmLWluLXdhbnQgb3V0ICYmCiAKIAlnaXQgY29uZmlnIHVwbG9hZHBhY2suYWxsb3dSZWZJbldhbnQgdHJ1ZSAmJgotCWdpdCBzZXJ2ZSAtLWFkdmVydGlzZS1jYXBhYmlsaXRpZXMgPm91dCAmJgorCXRlc3QtdG9vbCBzZXJ2ZS12MiAtLWFkdmVydGlzZS1jYXBhYmlsaXRpZXMgPm91dCAmJgogCWdyZXAgLWEgcmVmLWluLXdhbnQgb3V0CiAnCiAKQEAgLTcwLDU3ICs3Myw2MyBAQAogCTAwMDAKIAlFT0YKIAotCXRlc3RfbXVzdF9mYWlsIGdpdCBzZXJ2ZSAtLXN0YXRlbGVzcy1ycGMgMj5vdXQgPGluICYmCisJdGVzdF9tdXN0X2ZhaWwgdGVzdC10b29sIHNlcnZlLXYyIC0tc3RhdGVsZXNzLXJwYyAyPm91dCA8aW4gJiYKIAlncmVwICJ1bmtub3duIHJlZiIgb3V0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Jhc2ljIHdhbnQtcmVmJyAnCisJb2lkPSQoZ2l0IHJldi1wYXJzZSBmKSAmJgogCWNhdCA+ZXhwZWN0ZWRfcmVmcyA8PC1FT0YgJiYKLQkkKGdpdCByZXYtcGFyc2UgZikgcmVmcy9oZWFkcy9tYXN0ZXIKKwkkb2lkIHJlZnMvaGVhZHMvbWFzdGVyCiAJRU9GCi0JZ2l0IHJldi1wYXJzZSBmIHwgc29ydCA+ZXhwZWN0ZWRfY29tbWl0cyAmJgorCWdpdCByZXYtcGFyc2UgZiA+ZXhwZWN0ZWRfY29tbWl0cyAmJgogCisJb2lkPSQoZ2l0IHJldi1wYXJzZSBhKSAmJgogCXRlc3QtdG9vbCBwa3QtbGluZSBwYWNrID5pbiA8PC1FT0YgJiYKIAljb21tYW5kPWZldGNoCiAJMDAwMQogCW5vLXByb2dyZXNzCiAJd2FudC1yZWYgcmVmcy9oZWFkcy9tYXN0ZXIKLQloYXZlICQoZ2l0IHJldi1wYXJzZSBhKQorCWhhdmUgJG9pZAogCWRvbmUKIAkwMDAwCiAJRU9GCiAKLQlnaXQgc2VydmUgLS1zdGF0ZWxlc3MtcnBjID5vdXQgPGluICYmCisJdGVzdC10b29sIHNlcnZlLXYyIC0tc3RhdGVsZXNzLXJwYyA+b3V0IDxpbiAmJgogCWNoZWNrX291dHB1dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtdWx0aXBsZSB3YW50LXJlZiBsaW5lcycgJworCW9pZF9jPSQoZ2l0IHJldi1wYXJzZSBjKSAmJgorCW9pZF9kPSQoZ2l0IHJldi1wYXJzZSBkKSAmJgogCWNhdCA+ZXhwZWN0ZWRfcmVmcyA8PC1FT0YgJiYKLQkkKGdpdCByZXYtcGFyc2UgYykgcmVmcy9oZWFkcy9vL2ZvbwotCSQoZ2l0IHJldi1wYXJzZSBkKSByZWZzL2hlYWRzL28vYmFyCisJJG9pZF9jIHJlZnMvaGVhZHMvby9mb28KKwkkb2lkX2QgcmVmcy9oZWFkcy9vL2JhcgogCUVPRgotCWdpdCByZXYtcGFyc2UgYyBkIHwgc29ydCA+ZXhwZWN0ZWRfY29tbWl0cyAmJgorCWdpdCByZXYtcGFyc2UgYyBkID5leHBlY3RlZF9jb21taXRzICYmCiAKKwlvaWQ9JChnaXQgcmV2LXBhcnNlIGIpICYmCiAJdGVzdC10b29sIHBrdC1saW5lIHBhY2sgPmluIDw8LUVPRiAmJgogCWNvbW1hbmQ9ZmV0Y2gKIAkwMDAxCiAJbm8tcHJvZ3Jlc3MKIAl3YW50LXJlZiByZWZzL2hlYWRzL28vZm9vCiAJd2FudC1yZWYgcmVmcy9oZWFkcy9vL2JhcgotCWhhdmUgJChnaXQgcmV2LXBhcnNlIGIpCisJaGF2ZSAkb2lkCiAJZG9uZQogCTAwMDAKIAlFT0YKIAotCWdpdCBzZXJ2ZSAtLXN0YXRlbGVzcy1ycGMgPm91dCA8aW4gJiYKKwl0ZXN0LXRvb2wgc2VydmUtdjIgLS1zdGF0ZWxlc3MtcnBjID5vdXQgPGluICYmCiAJY2hlY2tfb3V0cHV0CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21peCB3YW50IGFuZCB3YW50LXJlZicgJworCW9pZD0kKGdpdCByZXYtcGFyc2UgZikgJiYKIAljYXQgPmV4cGVjdGVkX3JlZnMgPDwtRU9GICYmCi0JJChnaXQgcmV2LXBhcnNlIGYpIHJlZnMvaGVhZHMvbWFzdGVyCisJJG9pZCByZWZzL2hlYWRzL21hc3RlcgogCUVPRgotCWdpdCByZXYtcGFyc2UgZSBmIHwgc29ydCA+ZXhwZWN0ZWRfY29tbWl0cyAmJgorCWdpdCByZXYtcGFyc2UgZSBmID5leHBlY3RlZF9jb21taXRzICYmCiAKIAl0ZXN0LXRvb2wgcGt0LWxpbmUgcGFjayA+aW4gPDwtRU9GICYmCiAJY29tbWFuZD1mZXRjaApAQCAtMTMzLDMwICsxNDIsMTQ5IEBACiAJMDAwMAogCUVPRgogCi0JZ2l0IHNlcnZlIC0tc3RhdGVsZXNzLXJwYyA+b3V0IDxpbiAmJgorCXRlc3QtdG9vbCBzZXJ2ZS12MiAtLXN0YXRlbGVzcy1ycGMgPm91dCA8aW4gJiYKIAljaGVja19vdXRwdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnd2FudC1yZWYgd2l0aCByZWYgd2UgYWxyZWFkeSBoYXZlIGNvbW1pdCBmb3InICcKKwlvaWQ9JChnaXQgcmV2LXBhcnNlIGMpICYmCiAJY2F0ID5leHBlY3RlZF9yZWZzIDw8LUVPRiAmJgotCSQoZ2l0IHJldi1wYXJzZSBjKSByZWZzL2hlYWRzL28vZm9vCisJJG9pZCByZWZzL2hlYWRzL28vZm9vCiAJRU9GCiAJPmV4cGVjdGVkX2NvbW1pdHMgJiYKIAorCW9pZD0kKGdpdCByZXYtcGFyc2UgYykgJiYKIAl0ZXN0LXRvb2wgcGt0LWxpbmUgcGFjayA+aW4gPDwtRU9GICYmCiAJY29tbWFuZD1mZXRjaAogCTAwMDEKIAluby1wcm9ncmVzcwogCXdhbnQtcmVmIHJlZnMvaGVhZHMvby9mb28KLQloYXZlICQoZ2l0IHJldi1wYXJzZSBjKQorCWhhdmUgJG9pZAogCWRvbmUKIAkwMDAwCiAJRU9GCiAKLQlnaXQgc2VydmUgLS1zdGF0ZWxlc3MtcnBjID5vdXQgPGluICYmCisJdGVzdC10b29sIHNlcnZlLXYyIC0tc3RhdGVsZXNzLXJwYyA+b3V0IDxpbiAmJgogCWNoZWNrX291dHB1dAogJwogCitSRVBPPSIkKHB3ZCkvcmVwbyIKK0xPQ0FMX1BSSVNUSU5FPSIkKHB3ZCkvbG9jYWxfcHJpc3RpbmUiCisKKyMgJFJFUE8KKyMgYyhvL2ZvbykgZChvL2JhcikKKyMgICAgICAgIFwgLworIyAgICAgICAgIGIgICBlKGJheikgIGYobWFzdGVyKQorIyAgICAgICAgICBcX18gIHwgIF9fLworIyAgICAgICAgICAgICBcIHwgLworIyAgICAgICAgICAgICAgIGEKKyMKKyMgJExPQ0FMX1BSSVNUSU5FCisjCQlzMzIoc2lkZSkKKyMJCXwKKyMJCS4KKyMJCS4KKyMJCXwKKyMJCWEobWFzdGVyKQordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgcmVwb3MgZm9yIGZldGNoaW5nIHdpdGggcmVmLWluLXdhbnQgdGVzdHMnICcKKwkoCisJCWdpdCBpbml0ICIkUkVQTyIgJiYKKwkJY2QgIiRSRVBPIiAmJgorCQl0ZXN0X2NvbW1pdCBhICYmCisKKwkJIyBMb2NhbCByZXBvIHdpdGggbWFueSBjb21taXRzIChzbyB0aGF0IG5lZ290aWF0aW9uIHdpbGwgdGFrZQorCQkjIG1vcmUgdGhhbiAxIHJlcXVlc3QvcmVzcG9uc2UgcGFpcikKKwkJcm0gLXJmICIkTE9DQUxfUFJJU1RJTkUiICYmCisJCWdpdCBjbG9uZSAiZmlsZTovLyRSRVBPIiAiJExPQ0FMX1BSSVNUSU5FIiAmJgorCQljZCAiJExPQ0FMX1BSSVNUSU5FIiAmJgorCQlnaXQgY2hlY2tvdXQgLWIgc2lkZSAmJgorCQl0ZXN0X2NvbW1pdF9idWxrIC0taWQ9cyAzMyAmJgorCisJCSMgQWRkIG5vdmVsIGNvbW1pdHMgdG8gdXBzdHJlYW0KKwkJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCQljZCAiJFJFUE8iICYmCisJCWdpdCBjaGVja291dCAtYiBvL2ZvbyAmJgorCQl0ZXN0X2NvbW1pdCBiICYmCisJCXRlc3RfY29tbWl0IGMgJiYKKwkJZ2l0IGNoZWNrb3V0IC1iIG8vYmFyIGIgJiYKKwkJdGVzdF9jb21taXQgZCAmJgorCQlnaXQgY2hlY2tvdXQgLWIgYmF6IGEgJiYKKwkJdGVzdF9jb21taXQgZSAmJgorCQlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCisJCXRlc3RfY29tbWl0IGYKKwkpICYmCisJZ2l0IC1DICIkUkVQTyIgY29uZmlnIHVwbG9hZHBhY2suYWxsb3dSZWZJbldhbnQgdHJ1ZSAmJgorCWdpdCAtQyAiJExPQ0FMX1BSSVNUSU5FIiBjb25maWcgcHJvdG9jb2wudmVyc2lvbiAyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoaW5nIHdpdGggZXhhY3QgT0lEJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBsb2ciICYmCisKKwlybSAtcmYgbG9jYWwgJiYKKwljcCAtciAiJExPQ0FMX1BSSVNUSU5FIiBsb2NhbCAmJgorCW9pZD0kKGdpdCAtQyAiJFJFUE8iIHJldi1wYXJzZSBkKSAmJgorCUdJVF9UUkFDRV9QQUNLRVQ9IiQocHdkKS9sb2ciIGdpdCAtQyBsb2NhbCBmZXRjaCBvcmlnaW4gXAorCQkiJG9pZCI6cmVmcy9oZWFkcy9hY3R1YWwgJiYKKworCWdpdCAtQyAiJFJFUE8iIHJldi1wYXJzZSAiZCIgPmV4cGVjdGVkICYmCisJZ2l0IC1DIGxvY2FsIHJldi1wYXJzZSByZWZzL2hlYWRzL2FjdHVhbCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCisJZ3JlcCAid2FudCAkb2lkIiBsb2cKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2hpbmcgbXVsdGlwbGUgcmVmcycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgbG9nIiAmJgorCisJcm0gLXJmIGxvY2FsICYmCisJY3AgLXIgIiRMT0NBTF9QUklTVElORSIgbG9jYWwgJiYKKwlHSVRfVFJBQ0VfUEFDS0VUPSIkKHB3ZCkvbG9nIiBnaXQgLUMgbG9jYWwgZmV0Y2ggb3JpZ2luIG1hc3RlciBiYXogJiYKKworCWdpdCAtQyAiJFJFUE8iIHJldi1wYXJzZSAibWFzdGVyIiAiYmF6IiA+ZXhwZWN0ZWQgJiYKKwlnaXQgLUMgbG9jYWwgcmV2LXBhcnNlIHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyIHJlZnMvcmVtb3Rlcy9vcmlnaW4vYmF6ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwgJiYKKwlncmVwICJ3YW50LXJlZiByZWZzL2hlYWRzL21hc3RlciIgbG9nICYmCisJZ3JlcCAid2FudC1yZWYgcmVmcy9oZWFkcy9iYXoiIGxvZworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaGluZyByZWYgYW5kIGV4YWN0IE9JRCcgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgbG9nIiAmJgorCisJcm0gLXJmIGxvY2FsICYmCisJY3AgLXIgIiRMT0NBTF9QUklTVElORSIgbG9jYWwgJiYKKwlvaWQ9JChnaXQgLUMgIiRSRVBPIiByZXYtcGFyc2UgYikgJiYKKwlHSVRfVFJBQ0VfUEFDS0VUPSIkKHB3ZCkvbG9nIiBnaXQgLUMgbG9jYWwgZmV0Y2ggb3JpZ2luIFwKKwkJbWFzdGVyICIkb2lkIjpyZWZzL2hlYWRzL2FjdHVhbCAmJgorCisJZ2l0IC1DICIkUkVQTyIgcmV2LXBhcnNlICJtYXN0ZXIiICJiIiA+ZXhwZWN0ZWQgJiYKKwlnaXQgLUMgbG9jYWwgcmV2LXBhcnNlIHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyIHJlZnMvaGVhZHMvYWN0dWFsID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwgJiYKKwlncmVwICJ3YW50ICRvaWQiIGxvZyAmJgorCWdyZXAgIndhbnQtcmVmIHJlZnMvaGVhZHMvbWFzdGVyIiBsb2cKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2hpbmcgd2l0aCB3aWxkY2FyZCB0aGF0IGRvZXMgbm90IG1hdGNoIGFueSByZWZzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBsb2ciICYmCisKKwlybSAtcmYgbG9jYWwgJiYKKwljcCAtciAiJExPQ0FMX1BSSVNUSU5FIiBsb2NhbCAmJgorCWdpdCAtQyBsb2NhbCBmZXRjaCBvcmlnaW4gcmVmcy9oZWFkcy9ub25lKjpyZWZzL2hlYWRzLyogPm91dCAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2hpbmcgd2l0aCB3aWxkY2FyZCB0aGF0IG1hdGNoZXMgbXVsdGlwbGUgcmVmcycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgbG9nIiAmJgorCisJcm0gLXJmIGxvY2FsICYmCisJY3AgLXIgIiRMT0NBTF9QUklTVElORSIgbG9jYWwgJiYKKwlHSVRfVFJBQ0VfUEFDS0VUPSIkKHB3ZCkvbG9nIiBnaXQgLUMgbG9jYWwgZmV0Y2ggb3JpZ2luIHJlZnMvaGVhZHMvbyo6cmVmcy9oZWFkcy9vKiAmJgorCisJZ2l0IC1DICIkUkVQTyIgcmV2LXBhcnNlICJvL2ZvbyIgIm8vYmFyIiA+ZXhwZWN0ZWQgJiYKKwlnaXQgLUMgbG9jYWwgcmV2LXBhcnNlICJvL2ZvbyIgIm8vYmFyIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCisJZ3JlcCAid2FudC1yZWYgcmVmcy9oZWFkcy9vL2ZvbyIgbG9nICYmCisJZ3JlcCAid2FudC1yZWYgcmVmcy9oZWFkcy9vL2JhciIgbG9nCisnCisKIC4gIiRURVNUX0RJUkVDVE9SWSIvbGliLWh0dHBkLnNoCiBzdGFydF9odHRwZAogCkBAIC0xNzMsMTAgKzMwMSwxMSBAQAogCiAJCSMgTG9jYWwgcmVwbyB3aXRoIG1hbnkgY29tbWl0cyAoc28gdGhhdCBuZWdvdGlhdGlvbiB3aWxsIHRha2UKIAkJIyBtb3JlIHRoYW4gMSByZXF1ZXN0L3Jlc3BvbnNlIHBhaXIpCisJCXJtIC1yZiAiJExPQ0FMX1BSSVNUSU5FIiAmJgogCQlnaXQgY2xvbmUgImh0dHA6Ly8xMjcuMC4wLjE6JExJQl9IVFRQRF9QT1JUL3NtYXJ0L3JlcG8iICIkTE9DQUxfUFJJU1RJTkUiICYmCiAJCWNkICIkTE9DQUxfUFJJU1RJTkUiICYmCiAJCWdpdCBjaGVja291dCAtYiBzaWRlICYmCi0JCWZvciBpIGluICQodGVzdF9zZXEgMSAzMyk7IGRvIHRlc3RfY29tbWl0IHMkaTsgZG9uZSAmJgorCQl0ZXN0X2NvbW1pdF9idWxrIC0taWQ9cyAzMyAmJgogCiAJCSMgQWRkIG5vdmVsIGNvbW1pdHMgdG8gdXBzdHJlYW0KIAkJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgpAQCAtMTg1LDcgKzMxNCw3IEBACiAJCXRlc3RfY29tbWl0IG0zICYmCiAJCWdpdCB0YWcgLWQgbTIgbTMKIAkpICYmCi0JZ2l0IC1DICIkTE9DQUxfUFJJU1RJTkUiIHJlbW90ZSBzZXQtdXJsIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTokTElCX0hUVFBEX1BPUlQvb25lX3RpbWVfc2VkL3JlcG8iICYmCisJZ2l0IC1DICIkTE9DQUxfUFJJU1RJTkUiIHJlbW90ZSBzZXQtdXJsIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTokTElCX0hUVFBEX1BPUlQvb25lX3RpbWVfcGVybC9yZXBvIiAmJgogCWdpdCAtQyAiJExPQ0FMX1BSSVNUSU5FIiBjb25maWcgcHJvdG9jb2wudmVyc2lvbiAyCiAnCiAKQEAgLTE5NiwyNiArMzI1LDI1IEBACiAJIyByZXBvc2l0b3J5IGFwcGVhcnMgdG8gY2hhbmdlIGR1cmluZyBuZWdvdGlhdGlvbiwgZm9yIGV4YW1wbGUsIHdoZW4KIAkjIGRpZmZlcmVudCBzZXJ2ZXJzIGluIGEgbG9hZC1iYWxhbmNpbmcgYXJyYW5nZW1lbnQgc2VydmUgKHN0YXRlbGVzcykKIAkjIFJQQ3MgZHVyaW5nIGEgc2luZ2xlIG5lZ290aWF0aW9uLgotCXByaW50ZiAicy8lcy8lcy8iIFwKLQkgICAgICAgJChnaXQgLUMgIiRSRVBPIiByZXYtcGFyc2UgJDEgfCB0ciAtZCAiXG4iKSBcCi0JICAgICAgICQoZ2l0IC1DICIkUkVQTyIgcmV2LXBhcnNlICQyIHwgdHIgLWQgIlxuIikgXAotCSAgICAgICA+IiRIVFRQRF9ST09UX1BBVEgvb25lLXRpbWUtc2VkIgorCW9pZDE9JChnaXQgLUMgIiRSRVBPIiByZXYtcGFyc2UgJDEpICYmCisJb2lkMj0kKGdpdCAtQyAiJFJFUE8iIHJldi1wYXJzZSAkMikgJiYKKwllY2hvICJzLyRvaWQxLyRvaWQyLyIgPiIkSFRUUERfUk9PVF9QQVRIL29uZS10aW1lLXBlcmwiCiB9CiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NlcnZlciBpcyBpbml0aWFsbHkgYWhlYWQgLSBubyByZWYgaW4gd2FudCcgJwogCWdpdCAtQyAiJFJFUE8iIGNvbmZpZyB1cGxvYWRwYWNrLmFsbG93UmVmSW5XYW50IGZhbHNlICYmCiAJcm0gLXJmIGxvY2FsICYmCiAJY3AgLXIgIiRMT0NBTF9QUklTVElORSIgbG9jYWwgJiYKLQlpbmNvbnNpc3RlbmN5IG1hc3RlciAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwICYmCisJaW5jb25zaXN0ZW5jeSBtYXN0ZXIgJCh0ZXN0X29pZCBudW1lcmljKSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCAtQyBsb2NhbCBmZXRjaCAyPmVyciAmJgotCWdyZXAgIkVSUiB1cGxvYWQtcGFjazogbm90IG91ciByZWYiIGVycgorCXRlc3RfaTE4bmdyZXAgImZhdGFsOiByZW1vdGUgZXJyb3I6IHVwbG9hZC1wYWNrOiBub3Qgb3VyIHJlZiIgZXJyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NlcnZlciBpcyBpbml0aWFsbHkgYWhlYWQgLSByZWYgaW4gd2FudCcgJwogCWdpdCAtQyAiJFJFUE8iIGNvbmZpZyB1cGxvYWRwYWNrLmFsbG93UmVmSW5XYW50IHRydWUgJiYKIAlybSAtcmYgbG9jYWwgJiYKIAljcCAtciAiJExPQ0FMX1BSSVNUSU5FIiBsb2NhbCAmJgotCWluY29uc2lzdGVuY3kgbWFzdGVyIDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAgJiYKKwlpbmNvbnNpc3RlbmN5IG1hc3RlciAkKHRlc3Rfb2lkIG51bWVyaWMpICYmCiAJZ2l0IC1DIGxvY2FsIGZldGNoICYmCiAKIAlnaXQgLUMgIiRSRVBPIiByZXYtcGFyc2UgLS12ZXJpZnkgbWFzdGVyID5leHBlY3RlZCAmJgpAQCAtMjUxLDEyNyArMzc5LDEzIEBACiAJZ2l0IC1DICIkUkVQTyIgY29uZmlnIHVwbG9hZHBhY2suYWxsb3dSZWZJbldhbnQgdHJ1ZSAmJgogCXJtIC1yZiBsb2NhbCAmJgogCWNwIC1yICIkTE9DQUxfUFJJU1RJTkUiIGxvY2FsICYmCi0JZWNobyAicy9tYXN0ZXIvcmFzdGVyLyIgPiIkSFRUUERfUk9PVF9QQVRIL29uZS10aW1lLXNlZCIgJiYKKwllY2hvICJzL21hc3Rlci9yYXN0ZXIvIiA+IiRIVFRQRF9ST09UX1BBVEgvb25lLXRpbWUtcGVybCIgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgLUMgbG9jYWwgZmV0Y2ggMj5lcnIgJiYKIAotCWdyZXAgIkVSUiB1bmtub3duIHJlZiByZWZzL2hlYWRzL3Jhc3RlciIgZXJyCisJdGVzdF9pMThuZ3JlcCAiZmF0YWw6IHJlbW90ZSBlcnJvcjogdW5rbm93biByZWYgcmVmcy9oZWFkcy9yYXN0ZXIiIGVycgogJwogCi1zdG9wX2h0dHBkCi0KLVJFUE89IiQocHdkKS9yZXBvIgotTE9DQUxfUFJJU1RJTkU9IiQocHdkKS9sb2NhbF9wcmlzdGluZSIKLQotIyAkUkVQTwotIyBjKG8vZm9vKSBkKG8vYmFyKQotIyAgICAgICAgXCAvCi0jICAgICAgICAgYiAgIGUoYmF6KSAgZihtYXN0ZXIpCi0jICAgICAgICAgIFxfXyAgfCAgX18vCi0jICAgICAgICAgICAgIFwgfCAvCi0jICAgICAgICAgICAgICAgYQotIwotIyAkTE9DQUxfUFJJU1RJTkUKLSMJCXMzMihzaWRlKQotIwkJfAotIwkJLgotIwkJLgotIwkJfAotIwkJYShtYXN0ZXIpCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCByZXBvcyBmb3IgZmV0Y2hpbmcgd2l0aCByZWYtaW4td2FudCB0ZXN0cycgJwotCSgKLQkJZ2l0IGluaXQgIiRSRVBPIiAmJgotCQljZCAiJFJFUE8iICYmCi0JCXRlc3RfY29tbWl0IGEgJiYKLQotCQkjIExvY2FsIHJlcG8gd2l0aCBtYW55IGNvbW1pdHMgKHNvIHRoYXQgbmVnb3RpYXRpb24gd2lsbCB0YWtlCi0JCSMgbW9yZSB0aGFuIDEgcmVxdWVzdC9yZXNwb25zZSBwYWlyKQotCQlybSAtcmYgIiRMT0NBTF9QUklTVElORSIgJiYKLQkJZ2l0IGNsb25lICJmaWxlOi8vJFJFUE8iICIkTE9DQUxfUFJJU1RJTkUiICYmCi0JCWNkICIkTE9DQUxfUFJJU1RJTkUiICYmCi0JCWdpdCBjaGVja291dCAtYiBzaWRlICYmCi0JCWZvciBpIGluICQodGVzdF9zZXEgMSAzMyk7IGRvIHRlc3RfY29tbWl0IHMkaTsgZG9uZSAmJgotCi0JCSMgQWRkIG5vdmVsIGNvbW1pdHMgdG8gdXBzdHJlYW0KLQkJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgotCQljZCAiJFJFUE8iICYmCi0JCWdpdCBjaGVja291dCAtYiBvL2ZvbyAmJgotCQl0ZXN0X2NvbW1pdCBiICYmCi0JCXRlc3RfY29tbWl0IGMgJiYKLQkJZ2l0IGNoZWNrb3V0IC1iIG8vYmFyIGIgJiYKLQkJdGVzdF9jb21taXQgZCAmJgotCQlnaXQgY2hlY2tvdXQgLWIgYmF6IGEgJiYKLQkJdGVzdF9jb21taXQgZSAmJgotCQlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCi0JCXRlc3RfY29tbWl0IGYKLQkpICYmCi0JZ2l0IC1DICIkUkVQTyIgY29uZmlnIHVwbG9hZHBhY2suYWxsb3dSZWZJbldhbnQgdHJ1ZSAmJgotCWdpdCAtQyAiJExPQ0FMX1BSSVNUSU5FIiBjb25maWcgcHJvdG9jb2wudmVyc2lvbiAyCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZldGNoaW5nIHdpdGggZXhhY3QgT0lEJyAnCi0JdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBsb2ciICYmCi0KLQlybSAtcmYgbG9jYWwgJiYKLQljcCAtciAiJExPQ0FMX1BSSVNUSU5FIiBsb2NhbCAmJgotCUdJVF9UUkFDRV9QQUNLRVQ9IiQocHdkKS9sb2ciIGdpdCAtQyBsb2NhbCBmZXRjaCBvcmlnaW4gXAotCQkkKGdpdCAtQyAiJFJFUE8iIHJldi1wYXJzZSBkKTpyZWZzL2hlYWRzL2FjdHVhbCAmJgotCi0JZ2l0IC1DICIkUkVQTyIgcmV2LXBhcnNlICJkIiA+ZXhwZWN0ZWQgJiYKLQlnaXQgLUMgbG9jYWwgcmV2LXBhcnNlIHJlZnMvaGVhZHMvYWN0dWFsID5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwgJiYKLQlncmVwICJ3YW50ICQoZ2l0IC1DICIkUkVQTyIgcmV2LXBhcnNlIGQpIiBsb2cKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2hpbmcgbXVsdGlwbGUgcmVmcycgJwotCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgbG9nIiAmJgotCi0Jcm0gLXJmIGxvY2FsICYmCi0JY3AgLXIgIiRMT0NBTF9QUklTVElORSIgbG9jYWwgJiYKLQlHSVRfVFJBQ0VfUEFDS0VUPSIkKHB3ZCkvbG9nIiBnaXQgLUMgbG9jYWwgZmV0Y2ggb3JpZ2luIG1hc3RlciBiYXogJiYKLQotCWdpdCAtQyAiJFJFUE8iIHJldi1wYXJzZSAibWFzdGVyIiAiYmF6IiA+ZXhwZWN0ZWQgJiYKLQlnaXQgLUMgbG9jYWwgcmV2LXBhcnNlIHJlZnMvcmVtb3Rlcy9vcmlnaW4vbWFzdGVyIHJlZnMvcmVtb3Rlcy9vcmlnaW4vYmF6ID5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwgJiYKLQlncmVwICJ3YW50LXJlZiByZWZzL2hlYWRzL21hc3RlciIgbG9nICYmCi0JZ3JlcCAid2FudC1yZWYgcmVmcy9oZWFkcy9iYXoiIGxvZwotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdmZXRjaGluZyByZWYgYW5kIGV4YWN0IE9JRCcgJwotCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgbG9nIiAmJgotCi0Jcm0gLXJmIGxvY2FsICYmCi0JY3AgLXIgIiRMT0NBTF9QUklTVElORSIgbG9jYWwgJiYKLQlHSVRfVFJBQ0VfUEFDS0VUPSIkKHB3ZCkvbG9nIiBnaXQgLUMgbG9jYWwgZmV0Y2ggb3JpZ2luIFwKLQkJbWFzdGVyICQoZ2l0IC1DICIkUkVQTyIgcmV2LXBhcnNlIGIpOnJlZnMvaGVhZHMvYWN0dWFsICYmCi0KLQlnaXQgLUMgIiRSRVBPIiByZXYtcGFyc2UgIm1hc3RlciIgImIiID5leHBlY3RlZCAmJgotCWdpdCAtQyBsb2NhbCByZXYtcGFyc2UgcmVmcy9yZW1vdGVzL29yaWdpbi9tYXN0ZXIgcmVmcy9oZWFkcy9hY3R1YWwgPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgotCWdyZXAgIndhbnQgJChnaXQgLUMgIiRSRVBPIiByZXYtcGFyc2UgYikiIGxvZyAmJgotCWdyZXAgIndhbnQtcmVmIHJlZnMvaGVhZHMvbWFzdGVyIiBsb2cKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2hpbmcgd2l0aCB3aWxkY2FyZCB0aGF0IGRvZXMgbm90IG1hdGNoIGFueSByZWZzJyAnCi0JdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBsb2ciICYmCi0KLQlybSAtcmYgbG9jYWwgJiYKLQljcCAtciAiJExPQ0FMX1BSSVNUSU5FIiBsb2NhbCAmJgotCWdpdCAtQyBsb2NhbCBmZXRjaCBvcmlnaW4gcmVmcy9oZWFkcy9ub25lKjpyZWZzL2hlYWRzLyogPm91dCAmJgotCXRlc3RfbXVzdF9iZV9lbXB0eSBvdXQKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2hpbmcgd2l0aCB3aWxkY2FyZCB0aGF0IG1hdGNoZXMgbXVsdGlwbGUgcmVmcycgJwotCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgbG9nIiAmJgotCi0Jcm0gLXJmIGxvY2FsICYmCi0JY3AgLXIgIiRMT0NBTF9QUklTVElORSIgbG9jYWwgJiYKLQlHSVRfVFJBQ0VfUEFDS0VUPSIkKHB3ZCkvbG9nIiBnaXQgLUMgbG9jYWwgZmV0Y2ggb3JpZ2luIHJlZnMvaGVhZHMvbyo6cmVmcy9oZWFkcy9vKiAmJgotCi0JZ2l0IC1DICIkUkVQTyIgcmV2LXBhcnNlICJvL2ZvbyIgIm8vYmFyIiA+ZXhwZWN0ZWQgJiYKLQlnaXQgLUMgbG9jYWwgcmV2LXBhcnNlICJvL2ZvbyIgIm8vYmFyIiA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsICYmCi0JZ3JlcCAid2FudC1yZWYgcmVmcy9oZWFkcy9vL2ZvbyIgbG9nICYmCi0JZ3JlcCAid2FudC1yZWYgcmVmcy9oZWFkcy9vL2JhciIgbG9nCi0nCisjIERPIE5PVCBhZGQgbm9uLWh0dHBkLXNwZWNpZmljIHRlc3RzIGhlcmUsIGJlY2F1c2UgdGhlIGxhc3QgcGFydCBvZiB0aGlzCisjIHRlc3Qgc2NyaXB0IGlzIG9ubHkgZXhlY3V0ZWQgd2hlbiBodHRwZCBpcyBhdmFpbGFibGUgYW5kIGVuYWJsZWQuCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NTgwMS1yZW1vdGUtaGVscGVycy5zaCBiL3QvdDU4MDEtcmVtb3RlLWhlbHBlcnMuc2gKaW5kZXggYWFhYTcyMi4uMTIxZTVjNiAxMDA3NTUKLS0tIGEvdC90NTgwMS1yZW1vdGUtaGVscGVycy5zaAorKysgYi90L3Q1ODAxLXJlbW90ZS1oZWxwZXJzLnNoCkBAIC04LDYgKzgsOCBAQAogLiAuL3Rlc3QtbGliLnNoCiAuICIkVEVTVF9ESVJFQ1RPUlkiL2xpYi1ncGcuc2gKIAorUEFUSD0iJFRFU1RfRElSRUNUT1JZL3Q1ODAxOiRQQVRIIgorCiBjb21wYXJlX3JlZnMoKSB7CiAJZ2l0IC0tZ2l0LWRpcj0iJDEvLmdpdCIgcmV2LXBhcnNlIC0tdmVyaWZ5ICQyID5leHBlY3QgJiYKIAlnaXQgLS1naXQtZGlyPSIkMy8uZ2l0IiByZXYtcGFyc2UgLS12ZXJpZnkgJDQgPmFjdHVhbCAmJgpAQCAtMTI0LDcgKzEyNiw3IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Nsb25pbmcgd2l0aG91dCByZWZzcGVjJyAnCi0JR0lUX1JFTU9URV9URVNUR0lUX1JFRlNQRUM9IiIgXAorCUdJVF9SRU1PVEVfVEVTVEdJVF9OT1JFRlNQRUM9MSBcCiAJZ2l0IGNsb25lICJ0ZXN0Z2l0Ojoke1BXRH0vc2VydmVyIiBsb2NhbDIgMj5lcnJvciAmJgogCXRlc3RfaTE4bmdyZXAgInRoaXMgcmVtb3RlIGhlbHBlciBzaG91bGQgaW1wbGVtZW50IHJlZnNwZWMgY2FwYWJpbGl0eSIgZXJyb3IgJiYKIAljb21wYXJlX3JlZnMgbG9jYWwyIEhFQUQgc2VydmVyIEhFQUQKQEAgLTEzMyw3ICsxMzUsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncHVsbGluZyB3aXRob3V0IHJlZnNwZWNzJyAnCiAJKGNkIGxvY2FsMiAmJgogCWdpdCByZXNldCAtLWhhcmQgJiYKLQlHSVRfUkVNT1RFX1RFU1RHSVRfUkVGU1BFQz0iIiBnaXQgcHVsbCAyPi4uL2Vycm9yKSAmJgorCUdJVF9SRU1PVEVfVEVTVEdJVF9OT1JFRlNQRUM9MSBnaXQgcHVsbCAyPi4uL2Vycm9yKSAmJgogCXRlc3RfaTE4bmdyZXAgInRoaXMgcmVtb3RlIGhlbHBlciBzaG91bGQgaW1wbGVtZW50IHJlZnNwZWMgY2FwYWJpbGl0eSIgZXJyb3IgJiYKIAljb21wYXJlX3JlZnMgbG9jYWwyIEhFQUQgc2VydmVyIEhFQUQKICcKQEAgLTE0Myw4ICsxNDUsOCBAQAogCShjZCBsb2NhbDIgJiYKIAllY2hvIGNvbnRlbnQgPj5maWxlICYmCiAJZ2l0IGNvbW1pdCAtYSAtbSB0ZW4gJiYKLQlHSVRfUkVNT1RFX1RFU1RHSVRfUkVGU1BFQz0iIiAmJgotCWV4cG9ydCBHSVRfUkVNT1RFX1RFU1RHSVRfUkVGU1BFQyAmJgorCUdJVF9SRU1PVEVfVEVTVEdJVF9OT1JFRlNQRUM9MSAmJgorCWV4cG9ydCBHSVRfUkVNT1RFX1RFU1RHSVRfTk9SRUZTUEVDICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHB1c2ggMj4uLi9lcnJvcikgJiYKIAl0ZXN0X2kxOG5ncmVwICJyZW1vdGUtaGVscGVyIGRvZXNuLnQgc3VwcG9ydCBwdXNoOyByZWZzcGVjIG5lZWRlZCIgZXJyb3IKICcKQEAgLTI0NSw3ICsyNDcsNiBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncHJvcGVyIGZhaWx1cmUgY2hlY2tzIGZvciBmZXRjaGluZycgJwogCShjZCBsb2NhbCAmJgogCXRlc3RfbXVzdF9mYWlsIGVudiBHSVRfUkVNT1RFX1RFU1RHSVRfRkFJTFVSRT0xIGdpdCBmZXRjaCAyPmVycm9yICYmCi0JY2F0IGVycm9yICYmCiAJdGVzdF9pMThuZ3JlcCAtcSAiZXJyb3Igd2hpbGUgcnVubmluZyBmYXN0LWltcG9ydCIgZXJyb3IKIAkpCiAnCkBAIC0zMDEsNCArMzAyLDE0IEBACiAJY29tcGFyZV9yZWZzIHNlcnZlciBIRUFEIGxvY2FsIEZFVENIX0hFQUQKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmV0Y2ggdGFnJyAnCisJKGNkIHNlcnZlciAmJgorCSBnaXQgdGFnIHYxLjAKKwkpICYmCisJKGNkIGxvY2FsICYmCisJIGdpdCBmZXRjaAorCSkgJiYKKwljb21wYXJlX3JlZnMgbG9jYWwgdjEuMCBzZXJ2ZXIgdjEuMAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL2dpdC1yZW1vdGUtdGVzdGdpdC5zaCBiL3QvdDU4MDEvZ2l0LXJlbW90ZS10ZXN0Z2l0CnNpbWlsYXJpdHkgaW5kZXggODQlCnJlbmFtZSBmcm9tIGdpdC1yZW1vdGUtdGVzdGdpdC5zaApyZW5hbWUgdG8gdC90NTgwMS9naXQtcmVtb3RlLXRlc3RnaXQKaW5kZXggNzUyYzc2My4uNmI5ZjBiNSAxMDA3NTUKLS0tIGEvZ2l0LXJlbW90ZS10ZXN0Z2l0LnNoCisrKyBiL3QvdDU4MDEvZ2l0LXJlbW90ZS10ZXN0Z2l0CkBAIC0xMSwxMyArMTEsMTUgQEAKIHVybD0kMgogCiBkaXI9IiRHSVRfRElSL3Rlc3RnaXQvJGFsaWFzIgotcHJlZml4PSJyZWZzL3Rlc3RnaXQvJGFsaWFzIgogCi1kZWZhdWx0X3JlZnNwZWM9InJlZnMvaGVhZHMvKjoke3ByZWZpeH0vaGVhZHMvKiIKK2hfcmVmc3BlYz0icmVmcy9oZWFkcy8qOnJlZnMvdGVzdGdpdC8kYWxpYXMvaGVhZHMvKiIKK3RfcmVmc3BlYz0icmVmcy90YWdzLyo6cmVmcy90ZXN0Z2l0LyRhbGlhcy90YWdzLyoiCiAKLXJlZnNwZWM9IiR7R0lUX1JFTU9URV9URVNUR0lUX1JFRlNQRUMtJGRlZmF1bHRfcmVmc3BlY30iCi0KLXRlc3QgLXogIiRyZWZzcGVjIiAmJiBwcmVmaXg9InJlZnMiCitpZiB0ZXN0IC1uICIkR0lUX1JFTU9URV9URVNUR0lUX05PUkVGU1BFQyIKK3RoZW4KKwloX3JlZnNwZWM9IiIKKwl0X3JlZnNwZWM9IiIKK2ZpCiAKIEdJVF9ESVI9IiR1cmwvLmdpdCIKIGV4cG9ydCBHSVRfRElSCkBAIC00MCw3ICs0Miw4IEBACiAJY2FwYWJpbGl0aWVzKQogCQllY2hvICdpbXBvcnQnCiAJCWVjaG8gJ2V4cG9ydCcKLQkJdGVzdCAtbiAiJHJlZnNwZWMiICYmIGVjaG8gInJlZnNwZWMgJHJlZnNwZWMiCisJCXRlc3QgLW4gIiRoX3JlZnNwZWMiICYmIGVjaG8gInJlZnNwZWMgJGhfcmVmc3BlYyIKKwkJdGVzdCAtbiAiJHRfcmVmc3BlYyIgJiYgZWNobyAicmVmc3BlYyAkdF9yZWZzcGVjIgogCQlpZiB0ZXN0IC1uICIkZ2l0bWFya3MiCiAJCXRoZW4KIAkJCWVjaG8gIippbXBvcnQtbWFya3MgJGdpdG1hcmtzIgpAQCAtNTIsNyArNTUsNyBAQAogCQllY2hvCiAJCTs7CiAJbGlzdCkKLQkJZ2l0IGZvci1lYWNoLXJlZiAtLWZvcm1hdD0nPyAlKHJlZm5hbWUpJyAncmVmcy9oZWFkcy8nCisJCWdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9Jz8gJShyZWZuYW1lKScgJ3JlZnMvaGVhZHMvJyAncmVmcy90YWdzLycKIAkJaGVhZD0kKGdpdCBzeW1ib2xpYy1yZWYgSEVBRCkKIAkJZWNobyAiQCRoZWFkIEhFQUQiCiAJCWVjaG8KQEAgLTgxLDEwICs4NCwxMSBAQAogCiAJCWVjaG8gImZlYXR1cmUgZG9uZSIKIAkJZ2l0IGZhc3QtZXhwb3J0IFwKKwkJCSR7aF9yZWZzcGVjOisiLS1yZWZzcGVjPSRoX3JlZnNwZWMifSBcCisJCQkke3RfcmVmc3BlYzorIi0tcmVmc3BlYz0kdF9yZWZzcGVjIn0gXAogCQkJJHt0ZXN0Z2l0bWFya3M6KyItLWltcG9ydC1tYXJrcz0kdGVzdGdpdG1hcmtzIn0gXAogCQkJJHt0ZXN0Z2l0bWFya3M6KyItLWV4cG9ydC1tYXJrcz0kdGVzdGdpdG1hcmtzIn0gXAotCQkJJHJlZnMgfAotCQlzZWQgLWUgInMjcmVmcy9oZWFkcy8jJHtwcmVmaXh9L2hlYWRzLyNnIgorCQkJJHJlZnMKIAkJZWNobyAiZG9uZSIKIAkJOzsKIAlleHBvcnQpCmRpZmYgLS1naXQgYS90L3Q1ODEyLXByb3RvLWRpc2FibGUtaHR0cC5zaCBiL3QvdDU4MTItcHJvdG8tZGlzYWJsZS1odHRwLnNoCmluZGV4IDg3Mjc4OGEuLmFmODc3MmYgMTAwNzU1Ci0tLSBhL3QvdDU4MTItcHJvdG8tZGlzYWJsZS1odHRwLnNoCisrKyBiL3QvdDU4MTItcHJvdG8tZGlzYWJsZS1odHRwLnNoCkBAIC0zNCw1ICszNCw0IEBACiAJCWNsb25lICIkSFRUUERfVVJML3NtYXJ0LXJlZGlyLXBlcm0vcmVwby5naXQiIHJlZGlyLmdpdAogJwogCi1zdG9wX2h0dHBkCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDYwMDAtcmV2LWxpc3QtbWlzYy5zaCBiL3QvdDYwMDAtcmV2LWxpc3QtbWlzYy5zaAppbmRleCAwNTA3OTk5Li4zZGMxYWQ4IDEwMDc1NQotLS0gYS90L3Q2MDAwLXJldi1saXN0LW1pc2Muc2gKKysrIGIvdC90NjAwMC1yZXYtbGlzdC1taXNjLnNoCkBAIC00OCw2ICs0OCwyNiBAQAogCSEgZ3JlcCBvbmUgb3V0cHV0CiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jldi1saXN0IC0tb2JqZWN0cyAtLW5vLW9iamVjdC1uYW1lcyBoYXMgbm8gc3BhY2UvbmFtZXMnICcKKwlnaXQgcmV2LWxpc3QgLS1vYmplY3RzIC0tbm8tb2JqZWN0LW5hbWVzIEhFQUQgPm91dHB1dCAmJgorCSEgZ3JlcCB3YW50ZWRfZmlsZSBvdXRwdXQgJiYKKwkhIGdyZXAgdW53YW50ZWRfZmlsZSBvdXRwdXQgJiYKKwkhIGdyZXAgIiAiIG91dHB1dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtbGlzdCAtLW9iamVjdHMgLS1uby1vYmplY3QtbmFtZXMgd29ya3Mgd2l0aCBjYXQtZmlsZScgJworCWdpdCByZXYtbGlzdCAtLW9iamVjdHMgLS1uby1vYmplY3QtbmFtZXMgLS1hbGwgPmxpc3Qtb3V0cHV0ICYmCisJZ2l0IGNhdC1maWxlIC0tYmF0Y2gtY2hlY2sgPGxpc3Qtb3V0cHV0ID5jYXQtb3V0cHV0ICYmCisJISBncmVwIG1pc3NpbmcgY2F0LW91dHB1dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLW5vLW9iamVjdC1uYW1lcyBhbmQgLS1vYmplY3QtbmFtZXMgYXJlIGxhc3Qtb25lLXdpbnMnICcKKwlnaXQgcmV2LWxpc3QgLS1vYmplY3RzIC0tbm8tb2JqZWN0LW5hbWVzIC0tb2JqZWN0LW5hbWVzIC0tYWxsID5vdXRwdXQgJiYKKwlncmVwIHdhbnRlZF9maWxlIG91dHB1dCAmJgorCWdpdCByZXYtbGlzdCAtLW9iamVjdHMgLS1vYmplY3QtbmFtZXMgLS1uby1vYmplY3QtbmFtZXMgLS1hbGwgPm91dHB1dCAmJgorCSEgZ3JlcCB3YW50ZWRfZmlsZSBvdXRwdXQKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LWxpc3QgQS4uQiBhbmQgcmV2LWxpc3QgXkEgQiBhcmUgdGhlIHNhbWUnICcKIAlnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHkgLW0gYW5vdGhlciAmJgogCWdpdCB0YWcgLWEgLW0gImFubm90YXRlZCIgdjEuMCAmJgpAQCAtODQsMTMgKzEwNCwxNiBAQAogCSMgICAtIHdlIGRvIG5vdCBzaG93IHRoZSByb290IHRyZWU7IHNpbmNlIHdlIHVwZGF0ZWQgdGhlIGluZGV4LCBpdAogCSMgICAgIGRvZXMgbm90IGhhdmUgYSB2YWxpZCBjYWNoZSB0cmVlCiAJIwotCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKLQk4ZTQwMjBiYjVhOGQ4Yzg3M2IyNWRlMTU5MzNlNzVjYzBmYzI3NWRmIG9uZQotCWQ5ZDNhNzQxN2I5NjA1Y2ZkODhlZTYzMDZiMjhkYWRjMjllNmFiMDggb25seS1pbi1pbmRleAotCTkyMDBiNjI4Y2Y5ZGM4ODNhODVhN2FiYzhkNmU2NzMwYmFlZTU4OWMgdHdvCi0JRU9GCiAJZWNobyBvbmx5LWluLWluZGV4ID5vbmx5LWluLWluZGV4ICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkIiAmJgorCXJldjE9JChnaXQgcmV2LXBhcnNlIEhFQUQ6b25lKSAmJgorCXJldjI9JChnaXQgcmV2LXBhcnNlIEhFQUQ6dHdvKSAmJgorCXJldmk9JChnaXQgaGFzaC1vYmplY3Qgb25seS1pbi1pbmRleCkgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkkcmV2MSBvbmUKKwkkcmV2aSBvbmx5LWluLWluZGV4CisJJHJldjIgdHdvCisJRU9GCiAJZ2l0IGFkZCBvbmx5LWluLWluZGV4ICYmCiAJZ2l0IHJldi1saXN0IC0tb2JqZWN0cyAtLWluZGV4ZWQtb2JqZWN0cyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbApAQCAtMTIwLDQgKzE0MywyNCBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LWxpc3QgLS1lbmQtb2Ytb3B0aW9ucycgJworCWdpdCB1cGRhdGUtcmVmIHJlZnMvaGVhZHMvLS1vdXRwdXQ9eWlrZXMgSEVBRCAmJgorCWdpdCByZXYtbGlzdCAtLWVuZC1vZi1vcHRpb25zIC0tb3V0cHV0PXlpa2VzID5hY3R1YWwgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyB5aWtlcyAmJgorCWdpdCByZXYtbGlzdCBIRUFEID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jldi1saXN0IC0tY291bnQnICcKKwljb3VudD0kKGdpdCByZXYtbGlzdCAtLWNvdW50IEhFQUQpICYmCisJZ2l0IHJldi1saXN0IEhFQUQgPmFjdHVhbCAmJgorCXRlc3RfbGluZV9jb3VudCA9ICRjb3VudCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmV2LWxpc3QgLS1jb3VudCAtLW9iamVjdHMnICcKKwljb3VudD0kKGdpdCByZXYtbGlzdCAtLWNvdW50IC0tb2JqZWN0cyBIRUFEKSAmJgorCWdpdCByZXYtbGlzdCAtLW9iamVjdHMgSEVBRCA+YWN0dWFsICYmCisJdGVzdF9saW5lX2NvdW50ID0gJGNvdW50IGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDYwMDYtcmV2LWxpc3QtZm9ybWF0LnNoIGIvdC90NjAwNi1yZXYtbGlzdC1mb3JtYXQuc2gKaW5kZXggZWM0MmMyZi4uN2U4MmU0MyAxMDA3NTUKLS0tIGEvdC90NjAwNi1yZXYtbGlzdC1mb3JtYXQuc2gKKysrIGIvdC90NjAwNi1yZXYtbGlzdC1mb3JtYXQuc2gKQEAgLTMyLDYgKzMyLDcgQEAKIHRydW5jYXRlX2NvdW50PTIwCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJdGVzdF9vaWRfaW5pdCAmJgogCTogPmZvbyAmJgogCWdpdCBhZGQgZm9vICYmCiAJZ2l0IGNvbmZpZyBpMThuLmNvbW1pdEVuY29kaW5nICR0ZXN0X2VuY29kaW5nICYmCkBAIC0xMDksMzEgKzExMCwzNSBAQAogRU9GCiAKICMgd2UgZG9uJ3QgdGVzdCByZWxhdGl2ZSBoZXJlCi10ZXN0X2Zvcm1hdCBhdXRob3IgJWFuJW4lYWUlbiVhZCVuJWFEJW4lYXQgPDxFT0YKK3Rlc3RfZm9ybWF0IGF1dGhvciAlYW4lbiVhZSVuJWFsJW4lYWQlbiVhRCVuJWF0IDw8RU9GCiBjb21taXQgJGhlYWQyCi1BIFUgVGhvcgotYXV0aG9yQGV4YW1wbGUuY29tCiskR0lUX0FVVEhPUl9OQU1FCiskR0lUX0FVVEhPUl9FTUFJTAorJFRFU1RfQVVUSE9SX0xPQ0FMTkFNRQogVGh1IEFwciA3IDE1OjEzOjEzIDIwMDUgLTA3MDAKIFRodSwgNyBBcHIgMjAwNSAxNToxMzoxMyAtMDcwMAogMTExMjkxMTk5MwogY29tbWl0ICRoZWFkMQotQSBVIFRob3IKLWF1dGhvckBleGFtcGxlLmNvbQorJEdJVF9BVVRIT1JfTkFNRQorJEdJVF9BVVRIT1JfRU1BSUwKKyRURVNUX0FVVEhPUl9MT0NBTE5BTUUKIFRodSBBcHIgNyAxNToxMzoxMyAyMDA1IC0wNzAwCiBUaHUsIDcgQXByIDIwMDUgMTU6MTM6MTMgLTA3MDAKIDExMTI5MTE5OTMKIEVPRgogCi10ZXN0X2Zvcm1hdCBjb21taXR0ZXIgJWNuJW4lY2UlbiVjZCVuJWNEJW4lY3QgPDxFT0YKK3Rlc3RfZm9ybWF0IGNvbW1pdHRlciAlY24lbiVjZSVuJWNsJW4lY2QlbiVjRCVuJWN0IDw8RU9GCiBjb21taXQgJGhlYWQyCi1DIE8gTWl0dGVyCi1jb21taXR0ZXJAZXhhbXBsZS5jb20KKyRHSVRfQ09NTUlUVEVSX05BTUUKKyRHSVRfQ09NTUlUVEVSX0VNQUlMCiskVEVTVF9DT01NSVRURVJfTE9DQUxOQU1FCiBUaHUgQXByIDcgMTU6MTM6MTMgMjAwNSAtMDcwMAogVGh1LCA3IEFwciAyMDA1IDE1OjEzOjEzIC0wNzAwCiAxMTEyOTExOTkzCiBjb21taXQgJGhlYWQxCi1DIE8gTWl0dGVyCi1jb21taXR0ZXJAZXhhbXBsZS5jb20KKyRHSVRfQ09NTUlUVEVSX05BTUUKKyRHSVRfQ09NTUlUVEVSX0VNQUlMCiskVEVTVF9DT01NSVRURVJfTE9DQUxOQU1FCiBUaHUgQXByIDcgMTU6MTM6MTMgMjAwNSAtMDcwMAogVGh1LCA3IEFwciAyMDA1IDE1OjEzOjEzIC0wNzAwCiAxMTEyOTExOTkzCkBAIC0xODUsNiArMTkwLDEwIEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICclUyBpcyBub3QgYSBwbGFjZWhvbGRlciBmb3IgcmV2LWxpc3QgeWV0JyAnCisJZ2l0IHJldi1saXN0IC0tZm9ybWF0PSIlUyIgLTEgbWFzdGVyIHwgZ3JlcCAiJVMiCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FkdmFuY2VkIGNvbG9ycycgJwogCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgogCWNvbW1pdCAkaGVhZDIKQEAgLTQwNiw3ICs0MTUsNyBAQAogCXRlc3RfdGljayAmJgogCUM9JChHSVRfQVVUSE9SX0VNQUlMPSBnaXQgY29tbWl0LXRyZWUgSEVBRF57dHJlZX0gPC9kZXYvbnVsbCkgJiYKIAlBPSQoZ2l0IHNob3cgLS1wcmV0dHk9Zm9ybWF0OiVhbiwlYWUsJWFkJW4gLXMgJEMpICYmCi0JdmVyYm9zZSB0ZXN0ICIkQSIgPSAiQSBVIFRob3IsLFRodSBBcHIgNyAxNToxNDoxMyAyMDA1IC0wNzAwIgorCXZlcmJvc2UgdGVzdCAiJEEiID0gIiRHSVRfQVVUSE9SX05BTUUsLFRodSBBcHIgNyAxNToxNDoxMyAyMDA1IC0wNzAwIgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWwgTEYgYmVmb3JlIGVtcHR5ICgxKScgJwpAQCAtNDU1LDkgKzQ2NCwxMCBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICclSCBpcyBub3QgYWZmZWN0ZWQgYnkgLS1hYmJyZXYtY29tbWl0JyAnCisJZXhwZWN0ZWQ9JCgoJCh0ZXN0X29pZCBoZXhzeikgKyAxKSkgJiYKIAlnaXQgbG9nIC0xIC0tZm9ybWF0PSVIIC0tYWJicmV2LWNvbW1pdCAtLWFiYnJldj0yMCBIRUFEID5hY3R1YWwgJiYKIAlsZW49JCh3YyAtYyA8YWN0dWFsKSAmJgotCXRlc3QgJGxlbiA9IDQxCisJdGVzdCAkbGVuID0gJGV4cGVjdGVkCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyVoIGlzIG5vdCBhZmZlY3RlZCBieSAtLWFiYnJldi1jb21taXQnICcKQEAgLTQ5MSwxNSArNTAxLDE0IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlZmxvZyBpZGVudGl0eScgJwotCWVjaG8gIkMgTyBNaXR0ZXI6Y29tbWl0dGVyQGV4YW1wbGUuY29tIiA+ZXhwZWN0ICYmCisJZWNobyAiJEdJVF9DT01NSVRURVJfTkFNRTokR0lUX0NPTU1JVFRFUl9FTUFJTCIgPmV4cGVjdCAmJgogCWdpdCBsb2cgLWcgLTEgLS1mb3JtYXQ9IiVnbjolZ2UiID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ29uZWxpbmUgd2l0aCBlbXB0eSBtZXNzYWdlJyAnCi0JZ2l0IGNvbW1pdCAtbSAiZHVtbXkiIC0tYWxsb3ctZW1wdHkgJiYKLQlnaXQgY29tbWl0IC1tICJkdW1teSIgLS1hbGxvdy1lbXB0eSAmJgotCWdpdCBmaWx0ZXItYnJhbmNoIC0tbXNnLWZpbHRlciAic2VkIC1lIHMvZHVtbXkvLyIgSEVBRF5eLi4gJiYKKwlnaXQgY29tbWl0IC0tYWxsb3ctZW1wdHkgLS1jbGVhbnVwPXZlcmJhdGltIC1tICIkTEYiICYmCisJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC0tYWxsb3ctZW1wdHktbWVzc2FnZSAmJgogCWdpdCByZXYtbGlzdCAtLW9uZWxpbmUgSEVBRCA+dGVzdC50eHQgJiYKIAl0ZXN0X2xpbmVfY291bnQgPSA1IHRlc3QudHh0ICYmCiAJZ2l0IHJldi1saXN0IC0tb25lbGluZSAtLWdyYXBoIEhFQUQgPnRlc3RnLnR4dCAmJgpkaWZmIC0tZ2l0IGEvdC90NjAxMS1yZXYtbGlzdC13aXRoLWJhZC1jb21taXQuc2ggYi90L3Q2MDExLXJldi1saXN0LXdpdGgtYmFkLWNvbW1pdC5zaAppbmRleCA1NDViNDYxLi5iYWQwMmNmIDEwMDc1NQotLS0gYS90L3Q2MDExLXJldi1saXN0LXdpdGgtYmFkLWNvbW1pdC5zaAorKysgYi90L3Q2MDExLXJldi1saXN0LXdpdGgtYmFkLWNvbW1pdC5zaApAQCAtNDIsNyArNDIsNyBAQAogICAgJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXYtbGlzdCBzaG91bGQgZmFpbCcgJwotCXRlc3RfbXVzdF9mYWlsIGVudiBHSVRfVEVTVF9DT01NSVRfR1JBUEg9MCBnaXQgcmV2LWxpc3QgLS1hbGwgPiAvZGV2L251bGwKKwl0ZXN0X211c3RfZmFpbCBlbnYgR0lUX1RFU1RfQ09NTUlUX0dSQVBIPTAgZ2l0IC1jIGNvcmUuY29tbWl0R3JhcGg9ZmFsc2UgcmV2LWxpc3QgLS1hbGwgPiAvZGV2L251bGwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IHJlcGFjayBfTVVTVF8gZmFpbCcgXApkaWZmIC0tZ2l0IGEvdC90NjAxNi1yZXYtbGlzdC1ncmFwaC1zaW1wbGlmeS1oaXN0b3J5LnNoIGIvdC90NjAxNi1yZXYtbGlzdC1ncmFwaC1zaW1wbGlmeS1oaXN0b3J5LnNoCmluZGV4IGY3MTgxZDEuLmY1ZTZlOTIgMTAwNzU1Ci0tLSBhL3QvdDYwMTYtcmV2LWxpc3QtZ3JhcGgtc2ltcGxpZnktaGlzdG9yeS5zaAorKysgYi90L3Q2MDE2LXJldi1saXN0LWdyYXBoLXNpbXBsaWZ5LWhpc3Rvcnkuc2gKQEAgLTY3LDExICs2NywxMCBAQAogCWVjaG8gInwgKiAkQzQiID4+IGV4cGVjdGVkICYmCiAJZWNobyAifCAqICRDMyIgPj4gZXhwZWN0ZWQgJiYKIAllY2hvICIqIHwgJEE1IiA+PiBleHBlY3RlZCAmJgotCWVjaG8gInwgfCAgICAgIiA+PiBleHBlY3RlZCAmJgotCWVjaG8gInwgIFxcICAgICIgPj4gZXhwZWN0ZWQgJiYKLQllY2hvICIqLS4gXFwgICAkQTQiID4+IGV4cGVjdGVkICYmCi0JZWNobyAifFxcIFxcIFxcICAiID4+IGV4cGVjdGVkICYmCi0JZWNobyAifCB8IHwvICAiID4+IGV4cGVjdGVkICYmCisJZWNobyAifCB8ICAgIiA+PiBleHBlY3RlZCAmJgorCWVjaG8gInwgIFxcICAiID4+IGV4cGVjdGVkICYmCisJZWNobyAiKi0uIHwgJEE0IiA+PiBleHBlY3RlZCAmJgorCWVjaG8gInxcXCBcXHwgIiA+PiBleHBlY3RlZCAmJgogCWVjaG8gInwgfCAqICRDMiIgPj4gZXhwZWN0ZWQgJiYKIAllY2hvICJ8IHwgKiAkQzEiID4+IGV4cGVjdGVkICYmCiAJZWNobyAifCAqIHwgJEIyIiA+PiBleHBlY3RlZCAmJgpAQCAtOTcsMTEgKzk2LDEwIEBACiAJZWNobyAifCAqICRDNCIgPj4gZXhwZWN0ZWQgJiYKIAllY2hvICJ8ICogJEMzIiA+PiBleHBlY3RlZCAmJgogCWVjaG8gIiogfCAkQTUiID4+IGV4cGVjdGVkICYmCi0JZWNobyAifCB8ICAgICAiID4+IGV4cGVjdGVkICYmCi0JZWNobyAifCAgXFwgICAgIiA+PiBleHBlY3RlZCAmJgotCWVjaG8gIiotLiBcXCAgICRBNCIgPj4gZXhwZWN0ZWQgJiYKLQllY2hvICJ8XFwgXFwgXFwgICIgPj4gZXhwZWN0ZWQgJiYKLQllY2hvICJ8IHwgfC8gICIgPj4gZXhwZWN0ZWQgJiYKKwllY2hvICJ8IHwgICAiID4+IGV4cGVjdGVkICYmCisJZWNobyAifCAgXFwgICIgPj4gZXhwZWN0ZWQgJiYKKwllY2hvICIqLS4gfCAkQTQiID4+IGV4cGVjdGVkICYmCisJZWNobyAifFxcIFxcfCAiID4+IGV4cGVjdGVkICYmCiAJZWNobyAifCB8ICogJEMyIiA+PiBleHBlY3RlZCAmJgogCWVjaG8gInwgfCAqICRDMSIgPj4gZXhwZWN0ZWQgJiYKIAllY2hvICJ8ICogfCAkQjIiID4+IGV4cGVjdGVkICYmCkBAIC0xMzEsOSArMTI5LDggQEAKIAllY2hvICJ8ICogJEM0IiA+PiBleHBlY3RlZCAmJgogCWVjaG8gInwgKiAkQzMiID4+IGV4cGVjdGVkICYmCiAJZWNobyAiKiB8ICRBNSIgPj4gZXhwZWN0ZWQgJiYKLQllY2hvICIqIHwgICAkQTQiID4+IGV4cGVjdGVkICYmCi0JZWNobyAifFxcIFxcICAiID4+IGV4cGVjdGVkICYmCi0JZWNobyAifCB8LyAgIiA+PiBleHBlY3RlZCAmJgorCWVjaG8gIiogfCAkQTQiID4+IGV4cGVjdGVkICYmCisJZWNobyAifFxcfCAiID4+IGV4cGVjdGVkICYmCiAJZWNobyAifCAqICRDMiIgPj4gZXhwZWN0ZWQgJiYKIAllY2hvICJ8ICogJEMxIiA+PiBleHBlY3RlZCAmJgogCWVjaG8gIiogfCAkQTMiID4+IGV4cGVjdGVkICYmCkBAIC0xNTEsOSArMTQ4LDggQEAKIAllY2hvICJ8XFwgICIgPj4gZXhwZWN0ZWQgJiYKIAllY2hvICJ8ICogJEM0IiA+PiBleHBlY3RlZCAmJgogCWVjaG8gIiogfCAkQTUiID4+IGV4cGVjdGVkICYmCi0JZWNobyAiKiB8ICAgJEE0IiA+PiBleHBlY3RlZCAmJgotCWVjaG8gInxcXCBcXCAgIiA+PiBleHBlY3RlZCAmJgotCWVjaG8gInwgfC8gICIgPj4gZXhwZWN0ZWQgJiYKKwllY2hvICIqIHwgJEE0IiA+PiBleHBlY3RlZCAmJgorCWVjaG8gInxcXHwgIiA+PiBleHBlY3RlZCAmJgogCWVjaG8gIiogfCAkQTMiID4+IGV4cGVjdGVkICYmCiAJZWNobyAifC8gICIgPj4gZXhwZWN0ZWQgJiYKIAllY2hvICIqICRBMiIgPj4gZXhwZWN0ZWQgJiYKQEAgLTI1NSw3ICsyNTEsNyBAQAogCWVjaG8gIiogfCB8IHwgJEEzIiA+PiBleHBlY3RlZCAmJgogCWVjaG8gIm8gfCB8IHwgJEEyIiA+PiBleHBlY3RlZCAmJgogCWVjaG8gInwvIC8gLyAgIiA+PiBleHBlY3RlZCAmJgotCWVjaG8gIm8gfCB8ICRBMSIgPj4gZXhwZWN0ZWQgJiYKKwllY2hvICJvIC8gLyAkQTEiID4+IGV4cGVjdGVkICYmCiAJZWNobyAiIC8gLyAgIiA+PiBleHBlY3RlZCAmJgogCWVjaG8gInwgbyAkQzMiID4+IGV4cGVjdGVkICYmCiAJZWNobyAifC8gICIgPj4gZXhwZWN0ZWQgJiYKZGlmZiAtLWdpdCBhL3QvdDYwMTktcmV2LWxpc3QtYW5jZXN0cnktcGF0aC5zaCBiL3QvdDYwMTktcmV2LWxpc3QtYW5jZXN0cnktcGF0aC5zaAppbmRleCBiZWFkYWY2Li4zNTNmODQzIDEwMDc1NQotLS0gYS90L3Q2MDE5LXJldi1saXN0LWFuY2VzdHJ5LXBhdGguc2gKKysrIGIvdC90NjAxOS1yZXYtbGlzdC1hbmNlc3RyeS1wYXRoLnNoCkBAIC0xNDMsMTQgKzE0MywxNCBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY3Jpc3MtY3Jvc3M6IHJldi1saXN0IC0tYW5jZXN0cnktcGF0aCBjYi4uYmMnICcKIAkoY2QgY3Jpc3MtY3Jvc3MgJiYKIAkgZ2l0IHJldi1saXN0IC0tYW5jZXN0cnktcGF0aCB4Y2IuLnhiYyA+IGFjdHVhbCAmJgotCSB0ZXN0IC16ICIkKGNhdCBhY3R1YWwpIikKKwkgdGVzdF9tdXN0X2JlX2VtcHR5IGFjdHVhbCkKICcKIAogIyBubyBjb21taXRzIGluIHJlcG9zaXRvcnkgZGVzY2VuZCBmcm9tIGNiCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmlzcy1jcm9zczogcmV2LWxpc3QgLS1hbmNlc3RyeS1wYXRoIC0tYWxsIF5jYicgJwogCShjZCBjcmlzcy1jcm9zcyAmJgogCSBnaXQgcmV2LWxpc3QgLS1hbmNlc3RyeS1wYXRoIC0tYWxsIF54Y2IgPiBhY3R1YWwgJiYKLQkgdGVzdCAteiAiJChjYXQgYWN0dWFsKSIpCisJIHRlc3RfbXVzdF9iZV9lbXB0eSBhY3R1YWwpCiAnCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NjAyMC1tZXJnZS1kZi5zaCBiL3QvdDYwMjAtbWVyZ2UtZGYuc2gKaW5kZXggNDZiNTA2Yi4uNDAwYTRjZCAxMDA3NTUKLS0tIGEvdC90NjAyMC1tZXJnZS1kZi5zaAorKysgYi90L3Q2MDIwLW1lcmdlLWRmLnNoCkBAIC04Myw5ICs4Myw5IEBACiAJdGVzdCA0IC1lcSAkKGdpdCBscy1maWxlcyAtdSB8IHdjIC1sKSAmJgogCXRlc3QgMSAtZXEgJChnaXQgbHMtZmlsZXMgLW8gfCB3YyAtbCkgJiYKIAotCXRlc3QgLWYgbGV0dGVycy9maWxlICYmCi0JdGVzdCAtZiBsZXR0ZXJzLnR4dCAmJgotCXRlc3QgLWYgbGV0dGVyc35tb2RpZnkKKwl0ZXN0X3BhdGhfaXNfZmlsZSBsZXR0ZXJzL2ZpbGUgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBsZXR0ZXJzLnR4dCAmJgorCXRlc3RfcGF0aF9pc19maWxlIGxldHRlcnN+bW9kaWZ5CiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21vZGlmeS9kZWxldGUgKyBkaXJlY3RvcnkvZmlsZSBjb25mbGljdDsgb3RoZXIgd2F5JyAnCkBAIC05OSw5ICs5OSw1MiBAQAogCXRlc3QgNCAtZXEgJChnaXQgbHMtZmlsZXMgLXUgfCB3YyAtbCkgJiYKIAl0ZXN0IDEgLWVxICQoZ2l0IGxzLWZpbGVzIC1vIHwgd2MgLWwpICYmCiAKLQl0ZXN0IC1mIGxldHRlcnMvZmlsZSAmJgotCXRlc3QgLWYgbGV0dGVycy50eHQgJiYKLQl0ZXN0IC1mIGxldHRlcnN+SEVBRAorCXRlc3RfcGF0aF9pc19maWxlIGxldHRlcnMvZmlsZSAmJgorCXRlc3RfcGF0aF9pc19maWxlIGxldHRlcnMudHh0ICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgbGV0dGVyc35IRUFECisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1NpbXBsZSBtZXJnZSBpbiByZXBvIHdpdGggaW50ZXJlc3RpbmcgcGF0aG5hbWVzJyAnCisJIyBTaW1wbGUgbGV4aWNvZ3JhcGhpYyBvcmRlcmluZyBvZiBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgd291bGQgYmU6CisJIyAgICAgZm9vCisJIyAgICAgZm9vL2JhcgorCSMgICAgIGZvby9iYXItMgorCSMgICAgIGZvby9iYXIvYmF6CisJIyAgICAgZm9vL2Jhci0yL2JhegorCSMgVGhlIGZhY3QgdGhhdCBmb28vYmFyLTIgYXBwZWFycyBiZXR3ZWVuIGZvby9iYXIgYW5kIGZvby9iYXIvYmF6CisJIyBjYW4gdHJpcCB1cCBzb21lIGNvZGVwYXRocywgYW5kIGlzIHRoZSBwb2ludCBvZiB0aGlzIHRlc3QuCisJdGVzdF9jcmVhdGVfcmVwbyBuYW1lLW9yZGVyaW5nICYmCisJKAorCQljZCBuYW1lLW9yZGVyaW5nICYmCisKKwkJbWtkaXIgLXAgZm9vL2JhciAmJgorCQlta2RpciAtcCBmb28vYmFyLTIgJiYKKwkJPmZvby9iYXIvYmF6ICYmCisJCT5mb28vYmFyLTIvYmF6ICYmCisJCWdpdCBhZGQgLiAmJgorCQlnaXQgY29tbWl0IC1tIGluaXRpYWwgJiYKKworCQlnaXQgYnJhbmNoIG1haW4gJiYKKwkJZ2l0IGJyYW5jaCBvdGhlciAmJgorCisJCWdpdCBjaGVja291dCBvdGhlciAmJgorCQllY2hvIG90aGVyID5mb28vYmFyLTIvYmF6ICYmCisJCWdpdCBhZGQgLXUgJiYKKwkJZ2l0IGNvbW1pdCAtbSBvdGhlciAmJgorCisJCWdpdCBjaGVja291dCBtYWluICYmCisJCWVjaG8gbWFpbiA+Zm9vL2Jhci9iYXogJiYKKwkJZ2l0IGFkZCAtdSAmJgorCQlnaXQgY29tbWl0IC1tIG1haW4gJiYKKworCQlnaXQgbWVyZ2Ugb3RoZXIgJiYKKwkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMiBvdXQgJiYKKwkJZ2l0IHJldi1wYXJzZSA6MDpmb28vYmFyL2JheiA6MDpmb28vYmFyLTIvYmF6ID5hY3R1YWwgJiYKKwkJZ2l0IHJldi1wYXJzZSBIRUFEfjE6Zm9vL2Jhci9iYXogb3RoZXI6Zm9vL2Jhci0yL2JheiA+ZXhwZWN0ICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpCisKICcKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q2MDIxLW1lcmdlLWNyaXNzLWNyb3NzLnNoIGIvdC90NjAyMS1tZXJnZS1jcmlzcy1jcm9zcy5zaAppbmRleCAyMTNkZWVjLi45ZDVlOTkyIDEwMDc1NQotLS0gYS90L3Q2MDIxLW1lcmdlLWNyaXNzLWNyb3NzLnNoCisrKyBiL3QvdDYwMjEtbWVyZ2UtY3Jpc3MtY3Jvc3Muc2gKQEAgLTMsOTQgKzMsNjUgQEAKICMgQ29weXJpZ2h0IChjKSAyMDA1IEZyZWRyaWsgS3VpdmluZW4KICMKIAotIyBTZWUgaHR0cDovL21hcmMuaW5mby8/bD1naXQmbT0xMTE0NjMzNTg1MDAzNjImdz0yIGZvciBhCisjIFNlZSBodHRwczovL2xvcmUua2VybmVsLm9yZy9naXQvUGluZS5MTlguNC40NC4wNTA0MjcxMjU0MTIwLjQ2NzgtMTAwMDAwQHdheC5lZHMub3JnLyBmb3IgYQogIyBuaWNlIGRlc2NyaXB0aW9uIG9mIHdoYXQgdGhpcyBpcyBhYm91dC4KIAogCiB0ZXN0X2Rlc2NyaXB0aW9uPSdUZXN0IGNyaXNzLWNyb3NzIG1lcmdlJwogLiAuL3Rlc3QtbGliLnNoCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ByZXBhcmUgcmVwb3NpdG9yeScgXAotJ2VjaG8gIjEKLTIKLTMKLTQKLTUKLTYKLTcKLTgKLTkiID4gZmlsZSAmJgotZ2l0IGFkZCBmaWxlICYmCi1naXQgY29tbWl0IC1tICJJbml0aWFsIGNvbW1pdCIgZmlsZSAmJgotZ2l0IGJyYW5jaCBBICYmCi1naXQgYnJhbmNoIEIgJiYKLWdpdCBjaGVja291dCBBICYmCi1lY2hvICIxCi0yCi0zCi00Ci01Ci02Ci03Ci04IGNoYW5nZWQgaW4gQjgsIGJyYW5jaCBBCi05IiA+IGZpbGUgJiYKLWdpdCBjb21taXQgLW0gIkI4IiBmaWxlICYmCi1naXQgY2hlY2tvdXQgQiAmJgotZWNobyAiMQotMgotMyBjaGFuZ2VkIGluIEMzLCBicmFuY2ggQgotNAotNQotNgotNwotOAotOQotIiA+IGZpbGUgJiYKLWdpdCBjb21taXQgLW0gIkMzIiBmaWxlICYmCi1naXQgYnJhbmNoIEMzICYmCi1naXQgbWVyZ2UgLW0gInByZSBFMyBtZXJnZSIgQSAmJgotZWNobyAiMQotMgotMyBjaGFuZ2VkIGluIEUzLCBicmFuY2ggQi4gTmV3IGZpbGUgc2l6ZQotNAotNQotNgotNwotOCBjaGFuZ2VkIGluIEI4LCBicmFuY2ggQQotOQotIiA+IGZpbGUgJiYKLWdpdCBjb21taXQgLW0gIkUzIiBmaWxlICYmCi1naXQgY2hlY2tvdXQgQSAmJgotZ2l0IG1lcmdlIC1tICJwcmUgRDggbWVyZ2UiIEMzICYmCi1lY2hvICIxCi0yCi0zIGNoYW5nZWQgaW4gQzMsIGJyYW5jaCBCCi00Ci01Ci02Ci03Ci04IGNoYW5nZWQgaW4gRDgsIGJyYW5jaCBBLiBOZXcgZmlsZSBzaXplIDIKLTkiID4gZmlsZSAmJgotZ2l0IGNvbW1pdCAtbSBEOCBmaWxlJwordGVzdF9leHBlY3Rfc3VjY2VzcyAncHJlcGFyZSByZXBvc2l0b3J5JyAnCisJdGVzdF93cml0ZV9saW5lcyAxIDIgMyA0IDUgNiA3IDggOSA+ZmlsZSAmJgorCWdpdCBhZGQgZmlsZSAmJgorCWdpdCBjb21taXQgLW0gIkluaXRpYWwgY29tbWl0IiBmaWxlICYmCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0NyaXNzLWNyb3NzIG1lcmdlJyAnZ2l0IG1lcmdlIC1tICJmaW5hbCBtZXJnZSIgQicKKwlnaXQgYnJhbmNoIEEgJiYKKwlnaXQgYnJhbmNoIEIgJiYKKwlnaXQgY2hlY2tvdXQgQSAmJgogCi1jYXQgPiBmaWxlLWV4cGVjdCA8PEVPRgotMQotMgotMyBjaGFuZ2VkIGluIEUzLCBicmFuY2ggQi4gTmV3IGZpbGUgc2l6ZQotNAotNQotNgotNwotOCBjaGFuZ2VkIGluIEQ4LCBicmFuY2ggQS4gTmV3IGZpbGUgc2l6ZSAyCi05Ci1FT0YKKwl0ZXN0X3dyaXRlX2xpbmVzIDEgMiAzIDQgNSA2IDcgIjggY2hhbmdlZCBpbiBCOCwgYnJhbmNoIEEiIDkgPmZpbGUgJiYKKwlnaXQgY29tbWl0IC1tICJCOCIgZmlsZSAmJgorCWdpdCBjaGVja291dCBCICYmCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0NyaXNzLWNyb3NzIG1lcmdlIHJlc3VsdCcgJ2NtcCBmaWxlIGZpbGUtZXhwZWN0JworCXRlc3Rfd3JpdGVfbGluZXMgMSAyICIzIGNoYW5nZWQgaW4gQzMsIGJyYW5jaCBCIiA0IDUgNiA3IDggOSA+ZmlsZSAmJgorCWdpdCBjb21taXQgLW0gIkMzIiBmaWxlICYmCisJZ2l0IGJyYW5jaCBDMyAmJgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdDcmlzcy1jcm9zcyBtZXJnZSBmYWlscyAoLXMgcmVzb2x2ZSknIFwKLSdnaXQgcmVzZXQgLS1oYXJkIEFeICYmCi10ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVzb2x2ZSAtbSAiZmluYWwgbWVyZ2UiIEInCisJZ2l0IG1lcmdlIC1tICJwcmUgRTMgbWVyZ2UiIEEgJiYKKworCXRlc3Rfd3JpdGVfbGluZXMgMSAyICIzIGNoYW5nZWQgaW4gRTMsIGJyYW5jaCBCLiBOZXcgZmlsZSBzaXplIiA0IDUgNiA3ICI4IGNoYW5nZWQgaW4gQjgsIGJyYW5jaCBBIiA5ID5maWxlICYmCisJZ2l0IGNvbW1pdCAtbSAiRTMiIGZpbGUgJiYKKworCWdpdCBjaGVja291dCBBICYmCisJZ2l0IG1lcmdlIC1tICJwcmUgRDggbWVyZ2UiIEMzICYmCisJdGVzdF93cml0ZV9saW5lcyAxIDIgIjMgY2hhbmdlZCBpbiBDMywgYnJhbmNoIEIiIDQgNSA2IDcgIjggY2hhbmdlZCBpbiBEOCwgYnJhbmNoIEEuIE5ldyBmaWxlIHNpemUgMiIgOSA+ZmlsZSAmJgorCisJZ2l0IGNvbW1pdCAtbSBEOCBmaWxlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0NyaXNzLWNyb3NzIG1lcmdlJyAnCisJZ2l0IG1lcmdlIC1tICJmaW5hbCBtZXJnZSIgQgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdDcmlzcy1jcm9zcyBtZXJnZSByZXN1bHQnICcKKwljYXQgPDwtXEVPRiA+ZmlsZS1leHBlY3QgJiYKKwkxCisJMgorCTMgY2hhbmdlZCBpbiBFMywgYnJhbmNoIEIuIE5ldyBmaWxlIHNpemUKKwk0CisJNQorCTYKKwk3CisJOCBjaGFuZ2VkIGluIEQ4LCBicmFuY2ggQS4gTmV3IGZpbGUgc2l6ZSAyCisJOQorCUVPRgorCisJdGVzdF9jbXAgZmlsZS1leHBlY3QgZmlsZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdDcmlzcy1jcm9zcyBtZXJnZSBmYWlscyAoLXMgcmVzb2x2ZSknICcKKwlnaXQgcmVzZXQgLS1oYXJkIEFeICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIC1zIHJlc29sdmUgLW0gImZpbmFsIG1lcmdlIiBCCisnCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NjAyMi1tZXJnZS1yZW5hbWUuc2ggYi90L3Q2MDIyLW1lcmdlLXJlbmFtZS5zaAppbmRleCA1M2NjOWIyLi5kOTdjZjQ4IDEwMDc1NQotLS0gYS90L3Q2MDIyLW1lcmdlLXJlbmFtZS5zaAorKysgYi90L3Q2MDIyLW1lcmdlLXJlbmFtZS5zaApAQCAtOCw5NCArOCw5NCBAQAogCW12ICIkMi54IiAiJDIiCiB9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3Mgc2V0dXAgXAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICcKKwljYXQgPkEgPDwtXEVPRiAmJgorCWEgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhCisJYiBiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmIKKwljIGNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjYworCWQgZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkCisJZSBlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWUKKwlmIGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZgorCWcgZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnCisJaCBoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgKKwlpIGlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaQorCWogampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqCisJayBra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2sKKwlsIGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAorCW0gbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tCisJbiBubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm4KKwlvIG9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vbworCUVPRgorCisJY2F0ID5NIDw8LVxFT0YgJiYKKwlBIEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQorCUIgQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCCisJQyBDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0MKKwlEIERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERAorCUUgRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFCisJRiBGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKKwlHIEdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRworCUggSEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhICisJSSBJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUkKKwlKIEpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSgorCUsgS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLCisJTCBMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwKKwlNIE1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTQorCU4gTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OCisJTyBPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT08KKwlFT0YKKworCWdpdCBhZGQgQSBNICYmCisJZ2l0IGNvbW1pdCAtbSAiaW5pdGlhbCBoYXMgQSBhbmQgTSIgJiYKKwlnaXQgYnJhbmNoIHdoaXRlICYmCisJZ2l0IGJyYW5jaCByZWQgJiYKKwlnaXQgYnJhbmNoIGJsdWUgJiYKKwlnaXQgYnJhbmNoIHllbGxvdyAmJgorCWdpdCBicmFuY2ggY2hhbmdlICYmCisJZ2l0IGJyYW5jaCBjaGFuZ2UrcmVuYW1lICYmCisKKwlzZWQgLWUgIi9eZyAvcy8uKi9nIDogbWFzdGVyIGNoYW5nZXMgYSBsaW5lLyIgPEEgPkErICYmCisJbXYgQSsgQSAmJgorCWdpdCBjb21taXQgLWEgLW0gIm1hc3RlciB1cGRhdGVzIEEiICYmCisKKwlnaXQgY2hlY2tvdXQgeWVsbG93ICYmCisJcm0gLWYgTSAmJgorCWdpdCBjb21taXQgLWEgLW0gInllbGxvdyByZW1vdmVzIE0iICYmCisKKwlnaXQgY2hlY2tvdXQgd2hpdGUgJiYKKwlzZWQgLWUgIi9eZyAvcy8uKi9nIDogd2hpdGUgY2hhbmdlcyBhIGxpbmUvIiA8QSA+QiAmJgorCXNlZCAtZSAiL15HIC9zLy4qL0cgOiBjb2xvcmVkIGJyYW5jaCBjaGFuZ2VzIGEgbGluZS8iIDxNID5OICYmCisJcm0gLWYgQSBNICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCAtLXJlbW92ZSBBIEIgTSBOICYmCisJZ2l0IGNvbW1pdCAtbSAid2hpdGUgcmVuYW1lcyBBLT5CLCBNLT5OIiAmJgorCisJZ2l0IGNoZWNrb3V0IHJlZCAmJgorCXNlZCAtZSAiL15nIC9zLy4qL2cgOiByZWQgY2hhbmdlcyBhIGxpbmUvIiA8QSA+QiAmJgorCXNlZCAtZSAiL15HIC9zLy4qL0cgOiBjb2xvcmVkIGJyYW5jaCBjaGFuZ2VzIGEgbGluZS8iIDxNID5OICYmCisJcm0gLWYgQSBNICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCAtLXJlbW92ZSBBIEIgTSBOICYmCisJZ2l0IGNvbW1pdCAtbSAicmVkIHJlbmFtZXMgQS0+QiwgTS0+TiIgJiYKKworCWdpdCBjaGVja291dCBibHVlICYmCisJc2VkIC1lICIvXmcgL3MvLiovZyA6IGJsdWUgY2hhbmdlcyBhIGxpbmUvIiA8QSA+QyAmJgorCXNlZCAtZSAiL15HIC9zLy4qL0cgOiBjb2xvcmVkIGJyYW5jaCBjaGFuZ2VzIGEgbGluZS8iIDxNID5OICYmCisJcm0gLWYgQSBNICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCAtLXJlbW92ZSBBIEMgTSBOICYmCisJZ2l0IGNvbW1pdCAtbSAiYmx1ZSByZW5hbWVzIEEtPkMsIE0tPk4iICYmCisKKwlnaXQgY2hlY2tvdXQgY2hhbmdlICYmCisJc2VkIC1lICIvXmcgL3MvLiovZyA6IGNoYW5nZWQgbGluZS8iIDxBID5BKyAmJgorCW12IEErIEEgJiYKKwlnaXQgY29tbWl0IC1xIC1hIC1tICJjaGFuZ2VkIiAmJgorCisJZ2l0IGNoZWNrb3V0IGNoYW5nZStyZW5hbWUgJiYKKwlzZWQgLWUgIi9eZyAvcy8uKi9nIDogY2hhbmdlZCBsaW5lLyIgPEEgPkIgJiYKKwlybSBBICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCBCICYmCisJZ2l0IGNvbW1pdCAtcSAtYSAtbSAiY2hhbmdlZCBhbmQgcmVuYW1lZCIgJiYKKworCWdpdCBjaGVja291dCBtYXN0ZXIKICcKLWNhdCA+QSA8PFxFT0YgJiYKLWEgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhCi1iIGJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYgotYyBjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2MKLWQgZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkCi1lIGVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZQotZiBmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYKLWcgZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnCi1oIGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaAotaSBpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWkKLWogampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqCi1rIGtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2trawotbCBsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwKLW0gbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tCi1uIG5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubgotbyBvb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb28KLUVPRgotCi1jYXQgPk0gPDxcRU9GICYmCi1BIEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQotQiBCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIKLUMgQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDCi1EIERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERAotRSBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUKLUYgRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCi1HIEdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRwotSCBISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEgKLUkgSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJCi1KIEpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSgotSyBLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0sKLUwgTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMCi1NIE1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTQotTiBOTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk4KLU8gT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PCi1FT0YKLQotZ2l0IGFkZCBBIE0gJiYKLWdpdCBjb21taXQgLW0gImluaXRpYWwgaGFzIEEgYW5kIE0iICYmCi1naXQgYnJhbmNoIHdoaXRlICYmCi1naXQgYnJhbmNoIHJlZCAmJgotZ2l0IGJyYW5jaCBibHVlICYmCi1naXQgYnJhbmNoIHllbGxvdyAmJgotZ2l0IGJyYW5jaCBjaGFuZ2UgJiYKLWdpdCBicmFuY2ggY2hhbmdlK3JlbmFtZSAmJgotCi1zZWQgLWUgIi9eZyAvcy8uKi9nIDogbWFzdGVyIGNoYW5nZXMgYSBsaW5lLyIgPEEgPkErICYmCi1tdiBBKyBBICYmCi1naXQgY29tbWl0IC1hIC1tICJtYXN0ZXIgdXBkYXRlcyBBIiAmJgotCi1naXQgY2hlY2tvdXQgeWVsbG93ICYmCi1ybSAtZiBNICYmCi1naXQgY29tbWl0IC1hIC1tICJ5ZWxsb3cgcmVtb3ZlcyBNIiAmJgotCi1naXQgY2hlY2tvdXQgd2hpdGUgJiYKLXNlZCAtZSAiL15nIC9zLy4qL2cgOiB3aGl0ZSBjaGFuZ2VzIGEgbGluZS8iIDxBID5CICYmCi1zZWQgLWUgIi9eRyAvcy8uKi9HIDogY29sb3JlZCBicmFuY2ggY2hhbmdlcyBhIGxpbmUvIiA8TSA+TiAmJgotcm0gLWYgQSBNICYmCi1naXQgdXBkYXRlLWluZGV4IC0tYWRkIC0tcmVtb3ZlIEEgQiBNIE4gJiYKLWdpdCBjb21taXQgLW0gIndoaXRlIHJlbmFtZXMgQS0+QiwgTS0+TiIgJiYKLQotZ2l0IGNoZWNrb3V0IHJlZCAmJgotc2VkIC1lICIvXmcgL3MvLiovZyA6IHJlZCBjaGFuZ2VzIGEgbGluZS8iIDxBID5CICYmCi1zZWQgLWUgIi9eRyAvcy8uKi9HIDogY29sb3JlZCBicmFuY2ggY2hhbmdlcyBhIGxpbmUvIiA8TSA+TiAmJgotcm0gLWYgQSBNICYmCi1naXQgdXBkYXRlLWluZGV4IC0tYWRkIC0tcmVtb3ZlIEEgQiBNIE4gJiYKLWdpdCBjb21taXQgLW0gInJlZCByZW5hbWVzIEEtPkIsIE0tPk4iICYmCi0KLWdpdCBjaGVja291dCBibHVlICYmCi1zZWQgLWUgIi9eZyAvcy8uKi9nIDogYmx1ZSBjaGFuZ2VzIGEgbGluZS8iIDxBID5DICYmCi1zZWQgLWUgIi9eRyAvcy8uKi9HIDogY29sb3JlZCBicmFuY2ggY2hhbmdlcyBhIGxpbmUvIiA8TSA+TiAmJgotcm0gLWYgQSBNICYmCi1naXQgdXBkYXRlLWluZGV4IC0tYWRkIC0tcmVtb3ZlIEEgQyBNIE4gJiYKLWdpdCBjb21taXQgLW0gImJsdWUgcmVuYW1lcyBBLT5DLCBNLT5OIiAmJgotCi1naXQgY2hlY2tvdXQgY2hhbmdlICYmCi1zZWQgLWUgIi9eZyAvcy8uKi9nIDogY2hhbmdlZCBsaW5lLyIgPEEgPkErICYmCi1tdiBBKyBBICYmCi1naXQgY29tbWl0IC1xIC1hIC1tICJjaGFuZ2VkIiAmJgotCi1naXQgY2hlY2tvdXQgY2hhbmdlK3JlbmFtZSAmJgotc2VkIC1lICIvXmcgL3MvLiovZyA6IGNoYW5nZWQgbGluZS8iIDxBID5CICYmCi1ybSBBICYmCi1naXQgdXBkYXRlLWluZGV4IC0tYWRkIEIgJiYKLWdpdCBjb21taXQgLXEgLWEgLW0gImNoYW5nZWQgYW5kIHJlbmFtZWQiICYmCi0KLWdpdCBjaGVja291dCBtYXN0ZXInCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3B1bGwgcmVuYW1pbmcgYnJhbmNoIGludG8gdW5yZW5hbWluZyBvbmUnIFwKICcKQEAgLTI0MiwxMiArMjQyLDIzIEBACiAJcm0gLWYgQSBNIE4gJiYKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZ2l0IGNoZWNrb3V0IGNoYW5nZStyZW5hbWUgJiYKKworCXRlc3QtdG9vbCBjaG10aW1lID0zMTMzNyBCICYmCisJdGVzdC10b29sIGNobXRpbWUgLS1nZXQgQiA+b2xkLW10aW1lICYmCiAJR0lUX01FUkdFX1ZFUkJPU0lUWT0zIGdpdCBtZXJnZSBjaGFuZ2UgPm91dCAmJgotCXRlc3RfaTE4bmdyZXAgIl5Ta2lwcGVkIEIiIG91dCAmJgorCisJdGVzdC10b29sIGNobXRpbWUgLS1nZXQgQiA+bmV3LW10aW1lICYmCisJdGVzdF9jbXAgb2xkLW10aW1lIG5ldy1tdGltZSAmJgorCiAJZ2l0IHJlc2V0IC0taGFyZCBIRUFEXiAmJgogCWdpdCBjaGVja291dCBjaGFuZ2UgJiYKKworCXRlc3QtdG9vbCBjaG10aW1lID0tMSBNICYmCisJdGVzdC10b29sIGNobXRpbWUgLS1nZXQgTSA+b2xkLW10aW1lICYmCiAJR0lUX01FUkdFX1ZFUkJPU0lUWT0zIGdpdCBtZXJnZSBjaGFuZ2UrcmVuYW1lID5vdXQgJiYKLQl0ZXN0X2kxOG5ncmVwICEgIl5Ta2lwcGVkIEIiIG91dAorCisJdGVzdC10b29sIGNobXRpbWUgLS1nZXQgQiA+bmV3LW10aW1lICYmCisJdGVzdCAkKGNhdCBvbGQtbXRpbWUpIC1sdCAkKGNhdCBuZXctbXRpbWUpCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGZvciByZW5hbWUgKyBkL2YgY29uZmxpY3RzJyAnCkBAIC0yODgsMTQgKzI5OSwxNSBAQAogCWdpdCBjb21taXQgLW0gIkNvbmZsaWN0aW5nIGNoYW5nZSIKICcKIAotcHJpbnRmICIxXG4yXG4zXG40XG41NTU1XG42XG43XG44XG45XG4xMFxuMTFcbiIgPmV4cGVjdGVkCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1JlbmFtZStEL0YgY29uZmxpY3Q7IHJlbmFtZWQgZmlsZSBtZXJnZXMgKyBkaXIgbm90IGluIHdheScgJwogCWdpdCByZXNldCAtLWhhcmQgJiYKIAlnaXQgY2hlY2tvdXQgLXEgcmVuYW1lZC1maWxlLWhhcy1uby1jb25mbGljdHNeMCAmJgorCiAJZ2l0IG1lcmdlIC0tc3RyYXRlZ3k9cmVjdXJzaXZlIGRpci1ub3QtaW4td2F5ICYmCisKIAlnaXQgZGlmZiAtLXF1aWV0ICYmCi0JdGVzdCAtZiBkaXIgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBkaXIgJiYKKwl0ZXN0X3dyaXRlX2xpbmVzIDEgMiAzIDQgNTU1NSA2IDcgOCA5IDEwIDExID5leHBlY3RlZCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGRpcgogJwogCkBAIC0zMTUsOCArMzI3LDggQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgZGlmZiAtLXF1aWV0ICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGRpZmYgLS1jYWNoZWQgLS1xdWlldCAmJgogCi0JdGVzdCAtZiBkaXIvZmlsZS1pbi10aGUtd2F5ICYmCi0JdGVzdCAtZiBkaXJ+SEVBRCAmJgorCXRlc3RfcGF0aF9pc19maWxlIGRpci9maWxlLWluLXRoZS13YXkgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBkaXJ+SEVBRCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGRpcn5IRUFECiAnCiAKQEAgLTMzNywyOSArMzQ5LDExIEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGRpZmYgLS1xdWlldCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmIC0tY2FjaGVkIC0tcXVpZXQgJiYKIAotCXRlc3QgLWYgZGlyL2ZpbGUtaW4tdGhlLXdheSAmJgotCXRlc3QgLWYgZGlyfnJlbmFtZWQtZmlsZS1oYXMtbm8tY29uZmxpY3RzICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgZGlyL2ZpbGUtaW4tdGhlLXdheSAmJgorCXRlc3RfcGF0aF9pc19maWxlIGRpcn5yZW5hbWVkLWZpbGUtaGFzLW5vLWNvbmZsaWN0cyAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGRpcn5yZW5hbWVkLWZpbGUtaGFzLW5vLWNvbmZsaWN0cwogJwogCi1jYXQgPmV4cGVjdGVkIDw8XEVPRiAmJgotMQotMgotMwotNAotNQotNgotNwotOAotOQotMTAKLTw8PDw8PDwgSEVBRDpkaXIKLTEyCi09PT09PT09Ci0xMQotPj4+Pj4+PiBkaXItbm90LWluLXdheTpzdWIvZmlsZQotRU9GCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1JlbmFtZStEL0YgY29uZmxpY3Q7IHJlbmFtZWQgZmlsZSBjYW5ub3QgbWVyZ2UsIGRpciBub3QgaW4gd2F5JyAnCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCXJtIC1yZiBkaXJ+KiAmJgpAQCAtMzcyLDcgKzM2NiwyNCBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmIC0tcXVpZXQgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgZGlmZiAtLWNhY2hlZCAtLXF1aWV0ICYmCiAKLQl0ZXN0IC1mIGRpciAmJgorCXRlc3RfcGF0aF9pc19maWxlIGRpciAmJgorCWNhdCA+ZXhwZWN0ZWQgPDwtXEVPRiAmJgorCTEKKwkyCisJMworCTQKKwk1CisJNgorCTcKKwk4CisJOQorCTEwCisJPDw8PDw8PCBIRUFEOmRpcgorCTEyCisJPT09PT09PQorCTExCisJPj4+Pj4+PiBkaXItbm90LWluLXdheTpzdWIvZmlsZQorCUVPRgogCXRlc3RfY21wIGV4cGVjdGVkIGRpcgogJwogCkBAIC0zOTEsMjkgKzQwMiwxMSBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmIC0tcXVpZXQgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgZGlmZiAtLWNhY2hlZCAtLXF1aWV0ICYmCiAKLQl0ZXN0IC1mIGRpci9maWxlLWluLXRoZS13YXkgJiYKLQl0ZXN0IC1mIGRpcn5IRUFEICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgZGlyL2ZpbGUtaW4tdGhlLXdheSAmJgorCXRlc3RfcGF0aF9pc19maWxlIGRpcn5IRUFEICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgZGlyfkhFQUQKICcKIAotY2F0ID5leHBlY3RlZCA8PFxFT0YgJiYKLTEKLTIKLTMKLTQKLTUKLTYKLTcKLTgKLTkKLTEwCi08PDw8PDw8IEhFQUQ6c3ViL2ZpbGUKLTExCi09PT09PT09Ci0xMgotPj4+Pj4+PiByZW5hbWVkLWZpbGUtaGFzLWNvbmZsaWN0czpkaXIKLUVPRgotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdTYW1lIGFzIHByZXZpb3VzLCBidXQgbWVyZ2VkIG90aGVyIHdheScgJwogCWdpdCByZXNldCAtLWhhcmQgJiYKIAlybSAtcmYgZGlyfiogJiYKQEAgLTQyNyw4ICs0MjAsMjUgQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgZGlmZiAtLXF1aWV0ICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGRpZmYgLS1jYWNoZWQgLS1xdWlldCAmJgogCi0JdGVzdCAtZiBkaXIvZmlsZS1pbi10aGUtd2F5ICYmCi0JdGVzdCAtZiBkaXJ+cmVuYW1lZC1maWxlLWhhcy1jb25mbGljdHMgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBkaXIvZmlsZS1pbi10aGUtd2F5ICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgZGlyfnJlbmFtZWQtZmlsZS1oYXMtY29uZmxpY3RzICYmCisJY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCisJMQorCTIKKwkzCisJNAorCTUKKwk2CisJNworCTgKKwk5CisJMTAKKwk8PDw8PDw8IEhFQUQ6c3ViL2ZpbGUKKwkxMQorCT09PT09PT0KKwkxMgorCT4+Pj4+Pj4gcmVuYW1lZC1maWxlLWhhcy1jb25mbGljdHM6ZGlyCisJRU9GCiAJdGVzdF9jbXAgZXhwZWN0ZWQgZGlyfnJlbmFtZWQtZmlsZS1oYXMtY29uZmxpY3RzCiAnCiAKQEAgLTQ2NCw5ICs0NzQsOSBAQAogCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGRpZmYgLS1xdWlldCAmJgogCi0JdGVzdCAtZiBkZXN0ZGlyL2ZvbyAmJgotCXRlc3QgLWYgb25lICYmCi0JdGVzdCAtZiBkZXN0ZGlyfkhFQUQgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBkZXN0ZGlyL2ZvbyAmJgorCXRlc3RfcGF0aF9pc19maWxlIG9uZSAmJgorCXRlc3RfcGF0aF9pc19maWxlIGRlc3RkaXJ+SEVBRCAmJgogCXRlc3QgInN0dWZmIiA9ICIkKGNhdCBkZXN0ZGlyfkhFQUQpIgogJwogCkBAIC01MDcsOSArNTE3LDkgQEAKIAogCXRlc3QgNCAtZXEgJChmaW5kIC4gfCBncmVwIC12IC5naXQgfCB3YyAtbCkgJiYKIAotCXRlc3QgLWQgb25lICYmCi0JdGVzdCAtZiBvbmV+cmVuYW1lLXR3byAmJgotCXRlc3QgLWYgdHdvICYmCisJdGVzdF9wYXRoX2lzX2RpciBvbmUgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBvbmV+cmVuYW1lLXR3byAmJgorCXRlc3RfcGF0aF9pc19maWxlIHR3byAmJgogCXRlc3QgIm90aGVyIiA9ICQoY2F0IG9uZX5yZW5hbWUtdHdvKSAmJgogCXRlc3QgInN0dWZmIiA9ICQoY2F0IHR3bykKICcKQEAgLTUyNyw4ICs1MzcsOCBAQAogCiAJdGVzdCAzIC1lcSAkKGZpbmQgLiB8IGdyZXAgLXYgLmdpdCB8IHdjIC1sKSAmJgogCi0JdGVzdCAtZiBvbmUgJiYKLQl0ZXN0IC1mIHR3byAmJgorCXRlc3RfcGF0aF9pc19maWxlIG9uZSAmJgorCXRlc3RfcGF0aF9pc19maWxlIHR3byAmJgogCXRlc3QgIm90aGVyIiA9ICQoY2F0IG9uZSkgJiYKIAl0ZXN0ICJzdHVmZiIgPSAkKGNhdCB0d28pCiAnCkBAIC01NjgsMTEgKzU3OCwxMSBAQAogCXRlc3QgMSAtZXEgIiQoZ2l0IGxzLWZpbGVzIC11IG9yaWdpbmFsIHwgd2MgLWwpIiAmJgogCXRlc3QgMiAtZXEgIiQoZ2l0IGxzLWZpbGVzIC1vIHwgd2MgLWwpIiAmJgogCi0JdGVzdCAtZiBvbmUvZmlsZSAmJgotCXRlc3QgLWYgdHdvL2ZpbGUgJiYKLQl0ZXN0IC1mIG9uZX5IRUFEICYmCi0JdGVzdCAtZiB0d29+c2Vjb25kLXJlbmFtZSAmJgotCSEgdGVzdCAtZiBvcmlnaW5hbAorCXRlc3RfcGF0aF9pc19maWxlIG9uZS9maWxlICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgdHdvL2ZpbGUgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBvbmV+SEVBRCAmJgorCXRlc3RfcGF0aF9pc19maWxlIHR3b35zZWNvbmQtcmVuYW1lICYmCisJdGVzdF9wYXRoX2lzX21pc3Npbmcgb3JpZ2luYWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgcmVuYW1lIG9uZSBmaWxlIHRvIHR3bzsgZGlyZWN0b3JpZXMgbW92aW5nIG91dCBvZiB0aGUgd2F5JyAnCkBAIC02MDcsOSArNjE3LDkgQEAKIAl0ZXN0IDEgLWVxICIkKGdpdCBscy1maWxlcyAtdSBvcmlnaW5hbCB8IHdjIC1sKSIgJiYKIAl0ZXN0IDAgLWVxICIkKGdpdCBscy1maWxlcyAtbyB8IHdjIC1sKSIgJiYKIAotCXRlc3QgLWYgb25lICYmCi0JdGVzdCAtZiB0d28gJiYKLQkhIHRlc3QgLWYgb3JpZ2luYWwKKwl0ZXN0X3BhdGhfaXNfZmlsZSBvbmUgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSB0d28gJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBvcmlnaW5hbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBhdm9pZCB1bm5lY2Vzc2FyeSB1cGRhdGUsIG5vcm1hbCByZW5hbWUnICcKQEAgLTgxMCw0OCArODIwLDQ4IEBACiAJZ2l0IGNvbW1pdCAtbUMKICcKIAotY2F0ID5leHBlY3RlZCA8PFxFT0YgJiYKLTEKLTIKLTMKLTQKLTUKLTYKLTcKLTgKLTw8PDw8PDwgSEVBRDpyZW5hbWVkX2ZpbGUKLTkKLT09PT09PT0KLTguNQotPj4+Pj4+PiBtYXN0ZXJeMDpvcmlnaW5hbF9maWxlCi1FT0YKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbWVyZ2UgbWFzdGVyIGludG8gcmVuYW1lIGhhcyBjb3JyZWN0IGV4dGVuZGVkIG1hcmtlcnMnICcKIAlnaXQgY2hlY2tvdXQgcmVuYW1lXjAgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIG1hc3Rlcl4wICYmCisKKwljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKwkxCisJMgorCTMKKwk0CisJNQorCTYKKwk3CisJOAorCTw8PDw8PDwgSEVBRDpyZW5hbWVkX2ZpbGUKKwk5CisJPT09PT09PQorCTguNQorCT4+Pj4+Pj4gbWFzdGVyXjA6b3JpZ2luYWxfZmlsZQorCUVPRgogCXRlc3RfY21wIGV4cGVjdGVkIHJlbmFtZWRfZmlsZQogJwogCi1jYXQgPmV4cGVjdGVkIDw8XEVPRiAmJgotMQotMgotMwotNAotNQotNgotNwotOAotPDw8PDw8PCBIRUFEOm9yaWdpbmFsX2ZpbGUKLTguNQotPT09PT09PQotOQotPj4+Pj4+PiByZW5hbWVeMDpyZW5hbWVkX2ZpbGUKLUVPRgotCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtZXJnZSByZW5hbWUgaW50byBtYXN0ZXIgaGFzIGNvcnJlY3QgZXh0ZW5kZWQgbWFya2VycycgJwogCWdpdCByZXNldCAtLWhhcmQgJiYKIAlnaXQgY2hlY2tvdXQgbWFzdGVyXjAgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIHJlbmFtZV4wICYmCisKKwljYXQgPmV4cGVjdGVkIDw8LVxFT0YgJiYKKwkxCisJMgorCTMKKwk0CisJNQorCTYKKwk3CisJOAorCTw8PDw8PDwgSEVBRDpvcmlnaW5hbF9maWxlCisJOC41CisJPT09PT09PQorCTkKKwk+Pj4+Pj4+IHJlbmFtZV4wOnJlbmFtZWRfZmlsZQorCUVPRgogCXRlc3RfY21wIGV4cGVjdGVkIHJlbmFtZWRfZmlsZQogJwogCmRpZmYgLS1naXQgYS90L3Q2MDIzLW1lcmdlLWZpbGUuc2ggYi90L3Q2MDIzLW1lcmdlLWZpbGUuc2gKaW5kZXggNTFlZTg4Ny4uMmY0MjFkOSAxMDA3NTUKLS0tIGEvdC90NjAyMy1tZXJnZS1maWxlLnNoCisrKyBiL3QvdDYwMjMtbWVyZ2UtZmlsZS5zaApAQCAtMyw1NiArMyw1OSBAQAogdGVzdF9kZXNjcmlwdGlvbj0nUkNTIG1lcmdlIHJlcGxhY2VtZW50OiBtZXJnZS1maWxlJwogLiAuL3Rlc3QtbGliLnNoCiAKLWNhdCA+IG9yaWcudHh0IDw8IEVPRgotRG9taW51cyByZWdpdCBtZSwKLWV0IG5paGlsIG1paGkgZGVlcml0LgotSW4gbG9jbyBwYXNjdWFlIGliaSBtZSBjb2xsb2Nhdml0LAotc3VwZXIgYXF1YW0gcmVmZWN0aW9uaXMgZWR1Y2F2aXQgbWU7Ci1hbmltYW0gbWVhbSBjb252ZXJ0aXQsCi1kZWR1eGl0IG1lIHN1cGVyIHNlbWl0YXMganVzaXRpYWUsCi1wcm9wdGVyIG5vbWVuIHN1dW0uCi1FT0YKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJY2F0ID5vcmlnLnR4dCA8PC1cRU9GICYmCisJRG9taW51cyByZWdpdCBtZSwKKwlldCBuaWhpbCBtaWhpIGRlZXJpdC4KKwlJbiBsb2NvIHBhc2N1YWUgaWJpIG1lIGNvbGxvY2F2aXQsCisJc3VwZXIgYXF1YW0gcmVmZWN0aW9uaXMgZWR1Y2F2aXQgbWU7CisJYW5pbWFtIG1lYW0gY29udmVydGl0LAorCWRlZHV4aXQgbWUgc3VwZXIgc2VtaXRhcyBqdXNpdGlhZSwKKwlwcm9wdGVyIG5vbWVuIHN1dW0uCisJRU9GCiAKLWNhdCA+IG5ldzEudHh0IDw8IEVPRgotRG9taW51cyByZWdpdCBtZSwKLWV0IG5paGlsIG1paGkgZGVlcml0LgotSW4gbG9jbyBwYXNjdWFlIGliaSBtZSBjb2xsb2Nhdml0LAotc3VwZXIgYXF1YW0gcmVmZWN0aW9uaXMgZWR1Y2F2aXQgbWU7Ci1hbmltYW0gbWVhbSBjb252ZXJ0aXQsCi1kZWR1eGl0IG1lIHN1cGVyIHNlbWl0YXMganVzaXRpYWUsCi1wcm9wdGVyIG5vbWVuIHN1dW0uCi1OYW0gZXQgc2kgYW1idWxhdmVybyBpbiBtZWRpbyB1bWJyYWUgbW9ydGlzLAotbm9uIHRpbWVibyBtYWxhLCBxdW9uaWFtIHR1IG1lY3VtIGVzOgotdmlyZ2EgdHVhIGV0IGJhY3VsdXMgdHV1cyBpcHNhIG1lIGNvbnNvbGF0YSBzdW50LgotRU9GCisJY2F0ID5uZXcxLnR4dCA8PC1cRU9GICYmCisJRG9taW51cyByZWdpdCBtZSwKKwlldCBuaWhpbCBtaWhpIGRlZXJpdC4KKwlJbiBsb2NvIHBhc2N1YWUgaWJpIG1lIGNvbGxvY2F2aXQsCisJc3VwZXIgYXF1YW0gcmVmZWN0aW9uaXMgZWR1Y2F2aXQgbWU7CisJYW5pbWFtIG1lYW0gY29udmVydGl0LAorCWRlZHV4aXQgbWUgc3VwZXIgc2VtaXRhcyBqdXNpdGlhZSwKKwlwcm9wdGVyIG5vbWVuIHN1dW0uCisJTmFtIGV0IHNpIGFtYnVsYXZlcm8gaW4gbWVkaW8gdW1icmFlIG1vcnRpcywKKwlub24gdGltZWJvIG1hbGEsIHF1b25pYW0gdHUgbWVjdW0gZXM6CisJdmlyZ2EgdHVhIGV0IGJhY3VsdXMgdHV1cyBpcHNhIG1lIGNvbnNvbGF0YSBzdW50LgorCUVPRgogCi1jYXQgPiBuZXcyLnR4dCA8PCBFT0YKLURvbWludXMgcmVnaXQgbWUsIGV0IG5paGlsIG1paGkgZGVlcml0LgotSW4gbG9jbyBwYXNjdWFlIGliaSBtZSBjb2xsb2Nhdml0LAotc3VwZXIgYXF1YW0gcmVmZWN0aW9uaXMgZWR1Y2F2aXQgbWU7Ci1hbmltYW0gbWVhbSBjb252ZXJ0aXQsCi1kZWR1eGl0IG1lIHN1cGVyIHNlbWl0YXMganVzaXRpYWUsCi1wcm9wdGVyIG5vbWVuIHN1dW0uCi1FT0YKKwljYXQgPm5ldzIudHh0IDw8LVxFT0YgJiYKKwlEb21pbnVzIHJlZ2l0IG1lLCBldCBuaWhpbCBtaWhpIGRlZXJpdC4KKwlJbiBsb2NvIHBhc2N1YWUgaWJpIG1lIGNvbGxvY2F2aXQsCisJc3VwZXIgYXF1YW0gcmVmZWN0aW9uaXMgZWR1Y2F2aXQgbWU7CisJYW5pbWFtIG1lYW0gY29udmVydGl0LAorCWRlZHV4aXQgbWUgc3VwZXIgc2VtaXRhcyBqdXNpdGlhZSwKKwlwcm9wdGVyIG5vbWVuIHN1dW0uCisJRU9GCiAKLWNhdCA+IG5ldzMudHh0IDw8IEVPRgotRE9NSU5VUyByZWdpdCBtZSwKLWV0IG5paGlsIG1paGkgZGVlcml0LgotSW4gbG9jbyBwYXNjdWFlIGliaSBtZSBjb2xsb2Nhdml0LAotc3VwZXIgYXF1YW0gcmVmZWN0aW9uaXMgZWR1Y2F2aXQgbWU7Ci1hbmltYW0gbWVhbSBjb252ZXJ0aXQsCi1kZWR1eGl0IG1lIHN1cGVyIHNlbWl0YXMganVzaXRpYWUsCi1wcm9wdGVyIG5vbWVuIHN1dW0uCi1FT0YKKwljYXQgPm5ldzMudHh0IDw8LVxFT0YgJiYKKwlET01JTlVTIHJlZ2l0IG1lLAorCWV0IG5paGlsIG1paGkgZGVlcml0LgorCUluIGxvY28gcGFzY3VhZSBpYmkgbWUgY29sbG9jYXZpdCwKKwlzdXBlciBhcXVhbSByZWZlY3Rpb25pcyBlZHVjYXZpdCBtZTsKKwlhbmltYW0gbWVhbSBjb252ZXJ0aXQsCisJZGVkdXhpdCBtZSBzdXBlciBzZW1pdGFzIGp1c2l0aWFlLAorCXByb3B0ZXIgbm9tZW4gc3V1bS4KKwlFT0YKIAotY2F0ID4gbmV3NC50eHQgPDwgRU9GCi1Eb21pbnVzIHJlZ2l0IG1lLCBldCBuaWhpbCBtaWhpIGRlZXJpdC4KLUluIGxvY28gcGFzY3VhZSBpYmkgbWUgY29sbG9jYXZpdCwKLXN1cGVyIGFxdWFtIHJlZmVjdGlvbmlzIGVkdWNhdml0IG1lOwotYW5pbWFtIG1lYW0gY29udmVydGl0LAotZGVkdXhpdCBtZSBzdXBlciBzZW1pdGFzIGp1c2l0aWFlLAotRU9GCi1wcmludGYgInByb3B0ZXIgbm9tZW4gc3V1bS4iID4+IG5ldzQudHh0CisJY2F0ID5uZXc0LnR4dCA8PC1cRU9GICYmCisJRG9taW51cyByZWdpdCBtZSwgZXQgbmloaWwgbWloaSBkZWVyaXQuCisJSW4gbG9jbyBwYXNjdWFlIGliaSBtZSBjb2xsb2Nhdml0LAorCXN1cGVyIGFxdWFtIHJlZmVjdGlvbmlzIGVkdWNhdml0IG1lOworCWFuaW1hbSBtZWFtIGNvbnZlcnRpdCwKKwlkZWR1eGl0IG1lIHN1cGVyIHNlbWl0YXMganVzaXRpYWUsCisJRU9GCisKKwlwcmludGYgInByb3B0ZXIgbm9tZW4gc3V1bS4iID4+bmV3NC50eHQKKycKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbWVyZ2Ugd2l0aCBubyBjaGFuZ2VzJyAnCiAJY3Agb3JpZy50eHQgdGVzdC50eHQgJiYKQEAgLTYwLDkgKzYzLDEwIEBACiAJdGVzdF9jbXAgdGVzdC50eHQgb3JpZy50eHQKICcKIAotY3AgbmV3MS50eHQgdGVzdC50eHQKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIm1lcmdlIHdpdGhvdXQgY29uZmxpY3QiIFwKLQkiZ2l0IG1lcmdlLWZpbGUgdGVzdC50eHQgb3JpZy50eHQgbmV3Mi50eHQiCit0ZXN0X2V4cGVjdF9zdWNjZXNzICJtZXJnZSB3aXRob3V0IGNvbmZsaWN0IiAnCisJY3AgbmV3MS50eHQgdGVzdC50eHQgJiYKKwlnaXQgbWVyZ2UtZmlsZSB0ZXN0LnR4dCBvcmlnLnR4dCBuZXcyLnR4dAorJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd3b3JrcyBpbiBzdWJkaXJlY3RvcnknICcKIAlta2RpciBkaXIgJiYKQEAgLTczLDE1MSArNzcsMTc2IEBACiAJdGVzdF9wYXRoX2lzX21pc3NpbmcgYS50eHQKICcKIAotY3AgbmV3MS50eHQgdGVzdC50eHQKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIm1lcmdlIHdpdGhvdXQgY29uZmxpY3QgKC0tcXVpZXQpIiBcCi0JImdpdCBtZXJnZS1maWxlIC0tcXVpZXQgdGVzdC50eHQgb3JpZy50eHQgbmV3Mi50eHQiCit0ZXN0X2V4cGVjdF9zdWNjZXNzICJtZXJnZSB3aXRob3V0IGNvbmZsaWN0ICgtLXF1aWV0KSIgJworCWNwIG5ldzEudHh0IHRlc3QudHh0ICYmCisJZ2l0IG1lcmdlLWZpbGUgLS1xdWlldCB0ZXN0LnR4dCBvcmlnLnR4dCBuZXcyLnR4dAorJwogCi1jcCBuZXcxLnR4dCB0ZXN0Mi50eHQKLXRlc3RfZXhwZWN0X2ZhaWx1cmUgIm1lcmdlIHdpdGhvdXQgY29uZmxpY3QgKG1pc3NpbmcgTEYgYXQgRU9GKSIgXAotCSJnaXQgbWVyZ2UtZmlsZSB0ZXN0Mi50eHQgb3JpZy50eHQgbmV3NC50eHQiCit0ZXN0X2V4cGVjdF9mYWlsdXJlICJtZXJnZSB3aXRob3V0IGNvbmZsaWN0IChtaXNzaW5nIExGIGF0IEVPRikiICcKKwljcCBuZXcxLnR4dCB0ZXN0Mi50eHQgJiYKKwlnaXQgbWVyZ2UtZmlsZSB0ZXN0Mi50eHQgb3JpZy50eHQgbmV3NC50eHQKKycKIAotdGVzdF9leHBlY3RfZmFpbHVyZSAibWVyZ2UgcmVzdWx0IGFkZGVkIG1pc3NpbmcgTEYiIFwKLQkidGVzdF9jbXAgdGVzdC50eHQgdGVzdDIudHh0IgordGVzdF9leHBlY3RfZmFpbHVyZSAibWVyZ2UgcmVzdWx0IGFkZGVkIG1pc3NpbmcgTEYiICcKKwl0ZXN0X2NtcCB0ZXN0LnR4dCB0ZXN0Mi50eHQKKycKIAotY3AgbmV3NC50eHQgdGVzdDMudHh0Ci10ZXN0X2V4cGVjdF9zdWNjZXNzICJtZXJnZSB3aXRob3V0IGNvbmZsaWN0IChtaXNzaW5nIExGIGF0IEVPRiwgYXdheSBmcm9tIGNoYW5nZSBpbiB0aGUgb3RoZXIgZmlsZSkiIFwKLQkiZ2l0IG1lcmdlLWZpbGUgLS1xdWlldCB0ZXN0My50eHQgbmV3Mi50eHQgbmV3My50eHQiCit0ZXN0X2V4cGVjdF9zdWNjZXNzICJtZXJnZSB3aXRob3V0IGNvbmZsaWN0IChtaXNzaW5nIExGIGF0IEVPRiwgYXdheSBmcm9tIGNoYW5nZSBpbiB0aGUgb3RoZXIgZmlsZSkiICcKKwljcCBuZXc0LnR4dCB0ZXN0My50eHQgJiYKKwlnaXQgbWVyZ2UtZmlsZSAtLXF1aWV0IHRlc3QzLnR4dCBuZXcyLnR4dCBuZXczLnR4dAorJwogCi1jYXQgPiBleHBlY3QudHh0IDw8IEVPRgotRE9NSU5VUyByZWdpdCBtZSwKLWV0IG5paGlsIG1paGkgZGVlcml0LgotSW4gbG9jbyBwYXNjdWFlIGliaSBtZSBjb2xsb2Nhdml0LAotc3VwZXIgYXF1YW0gcmVmZWN0aW9uaXMgZWR1Y2F2aXQgbWU7Ci1hbmltYW0gbWVhbSBjb252ZXJ0aXQsCi1kZWR1eGl0IG1lIHN1cGVyIHNlbWl0YXMganVzaXRpYWUsCi1FT0YKLXByaW50ZiAicHJvcHRlciBub21lbiBzdXVtLiIgPj4gZXhwZWN0LnR4dAordGVzdF9leHBlY3Rfc3VjY2VzcyAibWVyZ2UgZG9lcyBub3QgYWRkIExGIGF3YXkgb2YgY2hhbmdlIiAnCisJY2F0ID5leHBlY3QudHh0IDw8LVxFT0YgJiYKKwlET01JTlVTIHJlZ2l0IG1lLAorCWV0IG5paGlsIG1paGkgZGVlcml0LgorCUluIGxvY28gcGFzY3VhZSBpYmkgbWUgY29sbG9jYXZpdCwKKwlzdXBlciBhcXVhbSByZWZlY3Rpb25pcyBlZHVjYXZpdCBtZTsKKwlhbmltYW0gbWVhbSBjb252ZXJ0aXQsCisJZGVkdXhpdCBtZSBzdXBlciBzZW1pdGFzIGp1c2l0aWFlLAorCUVPRgorCXByaW50ZiAicHJvcHRlciBub21lbiBzdXVtLiIgPj5leHBlY3QudHh0ICYmCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIm1lcmdlIGRvZXMgbm90IGFkZCBMRiBhd2F5IG9mIGNoYW5nZSIgXAotCSJ0ZXN0X2NtcCBleHBlY3QudHh0IHRlc3QzLnR4dCIKKwl0ZXN0X2NtcCBleHBlY3QudHh0IHRlc3QzLnR4dAorJwogCi1jcCB0ZXN0LnR4dCBiYWNrdXAudHh0Ci10ZXN0X2V4cGVjdF9zdWNjZXNzICJtZXJnZSB3aXRoIGNvbmZsaWN0cyIgXAotCSJ0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UtZmlsZSB0ZXN0LnR4dCBvcmlnLnR4dCBuZXczLnR4dCIKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgIm1lcmdlIHdpdGggY29uZmxpY3RzIiAnCisJY3AgdGVzdC50eHQgYmFja3VwLnR4dCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZS1maWxlIHRlc3QudHh0IG9yaWcudHh0IG5ldzMudHh0CisnCiAKLWNhdCA+IGV4cGVjdC50eHQgPDwgRU9GCi08PDw8PDw8IHRlc3QudHh0Ci1Eb21pbnVzIHJlZ2l0IG1lLCBldCBuaWhpbCBtaWhpIGRlZXJpdC4KLT09PT09PT0KLURPTUlOVVMgcmVnaXQgbWUsCi1ldCBuaWhpbCBtaWhpIGRlZXJpdC4KLT4+Pj4+Pj4gbmV3My50eHQKLUluIGxvY28gcGFzY3VhZSBpYmkgbWUgY29sbG9jYXZpdCwKLXN1cGVyIGFxdWFtIHJlZmVjdGlvbmlzIGVkdWNhdml0IG1lOwotYW5pbWFtIG1lYW0gY29udmVydGl0LAotZGVkdXhpdCBtZSBzdXBlciBzZW1pdGFzIGp1c2l0aWFlLAotcHJvcHRlciBub21lbiBzdXVtLgotTmFtIGV0IHNpIGFtYnVsYXZlcm8gaW4gbWVkaW8gdW1icmFlIG1vcnRpcywKLW5vbiB0aW1lYm8gbWFsYSwgcXVvbmlhbSB0dSBtZWN1bSBlczoKLXZpcmdhIHR1YSBldCBiYWN1bHVzIHR1dXMgaXBzYSBtZSBjb25zb2xhdGEgc3VudC4KLUVPRgordGVzdF9leHBlY3Rfc3VjY2VzcyAiZXhwZWN0ZWQgY29uZmxpY3QgbWFya2VycyIgJworCWNhdCA+ZXhwZWN0LnR4dCA8PC1cRU9GICYmCisJPDw8PDw8PCB0ZXN0LnR4dAorCURvbWludXMgcmVnaXQgbWUsIGV0IG5paGlsIG1paGkgZGVlcml0LgorCT09PT09PT0KKwlET01JTlVTIHJlZ2l0IG1lLAorCWV0IG5paGlsIG1paGkgZGVlcml0LgorCT4+Pj4+Pj4gbmV3My50eHQKKwlJbiBsb2NvIHBhc2N1YWUgaWJpIG1lIGNvbGxvY2F2aXQsCisJc3VwZXIgYXF1YW0gcmVmZWN0aW9uaXMgZWR1Y2F2aXQgbWU7CisJYW5pbWFtIG1lYW0gY29udmVydGl0LAorCWRlZHV4aXQgbWUgc3VwZXIgc2VtaXRhcyBqdXNpdGlhZSwKKwlwcm9wdGVyIG5vbWVuIHN1dW0uCisJTmFtIGV0IHNpIGFtYnVsYXZlcm8gaW4gbWVkaW8gdW1icmFlIG1vcnRpcywKKwlub24gdGltZWJvIG1hbGEsIHF1b25pYW0gdHUgbWVjdW0gZXM6CisJdmlyZ2EgdHVhIGV0IGJhY3VsdXMgdHV1cyBpcHNhIG1lIGNvbnNvbGF0YSBzdW50LgorCUVPRgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICJleHBlY3RlZCBjb25mbGljdCBtYXJrZXJzIiAidGVzdF9jbXAgZXhwZWN0LnR4dCB0ZXN0LnR4dCIKKwl0ZXN0X2NtcCBleHBlY3QudHh0IHRlc3QudHh0CisnCiAKLWNwIGJhY2t1cC50eHQgdGVzdC50eHQKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgIm1lcmdlIGNvbmZsaWN0aW5nIHdpdGggLS1vdXJzIiAnCisJY3AgYmFja3VwLnR4dCB0ZXN0LnR4dCAmJgogCi1jYXQgPiBleHBlY3QudHh0IDw8IEVPRgotRG9taW51cyByZWdpdCBtZSwgZXQgbmloaWwgbWloaSBkZWVyaXQuCi1JbiBsb2NvIHBhc2N1YWUgaWJpIG1lIGNvbGxvY2F2aXQsCi1zdXBlciBhcXVhbSByZWZlY3Rpb25pcyBlZHVjYXZpdCBtZTsKLWFuaW1hbSBtZWFtIGNvbnZlcnRpdCwKLWRlZHV4aXQgbWUgc3VwZXIgc2VtaXRhcyBqdXNpdGlhZSwKLXByb3B0ZXIgbm9tZW4gc3V1bS4KLU5hbSBldCBzaSBhbWJ1bGF2ZXJvIGluIG1lZGlvIHVtYnJhZSBtb3J0aXMsCi1ub24gdGltZWJvIG1hbGEsIHF1b25pYW0gdHUgbWVjdW0gZXM6Ci12aXJnYSB0dWEgZXQgYmFjdWx1cyB0dXVzIGlwc2EgbWUgY29uc29sYXRhIHN1bnQuCi1FT0YKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIm1lcmdlIGNvbmZsaWN0aW5nIHdpdGggLS1vdXJzIiBcCi0JImdpdCBtZXJnZS1maWxlIC0tb3VycyB0ZXN0LnR4dCBvcmlnLnR4dCBuZXczLnR4dCAmJiB0ZXN0X2NtcCBleHBlY3QudHh0IHRlc3QudHh0IgotY3AgYmFja3VwLnR4dCB0ZXN0LnR4dAorCWNhdCA+ZXhwZWN0LnR4dCA8PC1cRU9GICYmCisJRG9taW51cyByZWdpdCBtZSwgZXQgbmloaWwgbWloaSBkZWVyaXQuCisJSW4gbG9jbyBwYXNjdWFlIGliaSBtZSBjb2xsb2Nhdml0LAorCXN1cGVyIGFxdWFtIHJlZmVjdGlvbmlzIGVkdWNhdml0IG1lOworCWFuaW1hbSBtZWFtIGNvbnZlcnRpdCwKKwlkZWR1eGl0IG1lIHN1cGVyIHNlbWl0YXMganVzaXRpYWUsCisJcHJvcHRlciBub21lbiBzdXVtLgorCU5hbSBldCBzaSBhbWJ1bGF2ZXJvIGluIG1lZGlvIHVtYnJhZSBtb3J0aXMsCisJbm9uIHRpbWVibyBtYWxhLCBxdW9uaWFtIHR1IG1lY3VtIGVzOgorCXZpcmdhIHR1YSBldCBiYWN1bHVzIHR1dXMgaXBzYSBtZSBjb25zb2xhdGEgc3VudC4KKwlFT0YKIAotY2F0ID4gZXhwZWN0LnR4dCA8PCBFT0YKLURPTUlOVVMgcmVnaXQgbWUsCi1ldCBuaWhpbCBtaWhpIGRlZXJpdC4KLUluIGxvY28gcGFzY3VhZSBpYmkgbWUgY29sbG9jYXZpdCwKLXN1cGVyIGFxdWFtIHJlZmVjdGlvbmlzIGVkdWNhdml0IG1lOwotYW5pbWFtIG1lYW0gY29udmVydGl0LAotZGVkdXhpdCBtZSBzdXBlciBzZW1pdGFzIGp1c2l0aWFlLAotcHJvcHRlciBub21lbiBzdXVtLgotTmFtIGV0IHNpIGFtYnVsYXZlcm8gaW4gbWVkaW8gdW1icmFlIG1vcnRpcywKLW5vbiB0aW1lYm8gbWFsYSwgcXVvbmlhbSB0dSBtZWN1bSBlczoKLXZpcmdhIHR1YSBldCBiYWN1bHVzIHR1dXMgaXBzYSBtZSBjb25zb2xhdGEgc3VudC4KLUVPRgotdGVzdF9leHBlY3Rfc3VjY2VzcyAibWVyZ2UgY29uZmxpY3Rpbmcgd2l0aCAtLXRoZWlycyIgXAotCSJnaXQgbWVyZ2UtZmlsZSAtLXRoZWlycyB0ZXN0LnR4dCBvcmlnLnR4dCBuZXczLnR4dCAmJiB0ZXN0X2NtcCBleHBlY3QudHh0IHRlc3QudHh0IgotY3AgYmFja3VwLnR4dCB0ZXN0LnR4dAorCWdpdCBtZXJnZS1maWxlIC0tb3VycyB0ZXN0LnR4dCBvcmlnLnR4dCBuZXczLnR4dCAmJgorCXRlc3RfY21wIGV4cGVjdC50eHQgdGVzdC50eHQKKycKIAotY2F0ID4gZXhwZWN0LnR4dCA8PCBFT0YKLURvbWludXMgcmVnaXQgbWUsIGV0IG5paGlsIG1paGkgZGVlcml0LgotRE9NSU5VUyByZWdpdCBtZSwKLWV0IG5paGlsIG1paGkgZGVlcml0LgotSW4gbG9jbyBwYXNjdWFlIGliaSBtZSBjb2xsb2Nhdml0LAotc3VwZXIgYXF1YW0gcmVmZWN0aW9uaXMgZWR1Y2F2aXQgbWU7Ci1hbmltYW0gbWVhbSBjb252ZXJ0aXQsCi1kZWR1eGl0IG1lIHN1cGVyIHNlbWl0YXMganVzaXRpYWUsCi1wcm9wdGVyIG5vbWVuIHN1dW0uCi1OYW0gZXQgc2kgYW1idWxhdmVybyBpbiBtZWRpbyB1bWJyYWUgbW9ydGlzLAotbm9uIHRpbWVibyBtYWxhLCBxdW9uaWFtIHR1IG1lY3VtIGVzOgotdmlyZ2EgdHVhIGV0IGJhY3VsdXMgdHV1cyBpcHNhIG1lIGNvbnNvbGF0YSBzdW50LgotRU9GCi10ZXN0X2V4cGVjdF9zdWNjZXNzICJtZXJnZSBjb25mbGljdGluZyB3aXRoIC0tdW5pb24iIFwKLQkiZ2l0IG1lcmdlLWZpbGUgLS11bmlvbiB0ZXN0LnR4dCBvcmlnLnR4dCBuZXczLnR4dCAmJiB0ZXN0X2NtcCBleHBlY3QudHh0IHRlc3QudHh0IgotY3AgYmFja3VwLnR4dCB0ZXN0LnR4dAordGVzdF9leHBlY3Rfc3VjY2VzcyAibWVyZ2UgY29uZmxpY3Rpbmcgd2l0aCAtLXRoZWlycyIgJworCWNwIGJhY2t1cC50eHQgdGVzdC50eHQgJiYKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAibWVyZ2Ugd2l0aCBjb25mbGljdHMsIHVzaW5nIC1MIiBcCi0JInRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZS1maWxlIC1MIDEgLUwgMiB0ZXN0LnR4dCBvcmlnLnR4dCBuZXczLnR4dCIKKwljYXQgPmV4cGVjdC50eHQgPDwtXEVPRiAmJgorCURPTUlOVVMgcmVnaXQgbWUsCisJZXQgbmloaWwgbWloaSBkZWVyaXQuCisJSW4gbG9jbyBwYXNjdWFlIGliaSBtZSBjb2xsb2Nhdml0LAorCXN1cGVyIGFxdWFtIHJlZmVjdGlvbmlzIGVkdWNhdml0IG1lOworCWFuaW1hbSBtZWFtIGNvbnZlcnRpdCwKKwlkZWR1eGl0IG1lIHN1cGVyIHNlbWl0YXMganVzaXRpYWUsCisJcHJvcHRlciBub21lbiBzdXVtLgorCU5hbSBldCBzaSBhbWJ1bGF2ZXJvIGluIG1lZGlvIHVtYnJhZSBtb3J0aXMsCisJbm9uIHRpbWVibyBtYWxhLCBxdW9uaWFtIHR1IG1lY3VtIGVzOgorCXZpcmdhIHR1YSBldCBiYWN1bHVzIHR1dXMgaXBzYSBtZSBjb25zb2xhdGEgc3VudC4KKwlFT0YKIAotY2F0ID4gZXhwZWN0LnR4dCA8PCBFT0YKLTw8PDw8PDwgMQotRG9taW51cyByZWdpdCBtZSwgZXQgbmloaWwgbWloaSBkZWVyaXQuCi09PT09PT09Ci1ET01JTlVTIHJlZ2l0IG1lLAotZXQgbmloaWwgbWloaSBkZWVyaXQuCi0+Pj4+Pj4+IG5ldzMudHh0Ci1JbiBsb2NvIHBhc2N1YWUgaWJpIG1lIGNvbGxvY2F2aXQsCi1zdXBlciBhcXVhbSByZWZlY3Rpb25pcyBlZHVjYXZpdCBtZTsKLWFuaW1hbSBtZWFtIGNvbnZlcnRpdCwKLWRlZHV4aXQgbWUgc3VwZXIgc2VtaXRhcyBqdXNpdGlhZSwKLXByb3B0ZXIgbm9tZW4gc3V1bS4KLU5hbSBldCBzaSBhbWJ1bGF2ZXJvIGluIG1lZGlvIHVtYnJhZSBtb3J0aXMsCi1ub24gdGltZWJvIG1hbGEsIHF1b25pYW0gdHUgbWVjdW0gZXM6Ci12aXJnYSB0dWEgZXQgYmFjdWx1cyB0dXVzIGlwc2EgbWUgY29uc29sYXRhIHN1bnQuCi1FT0YKKwlnaXQgbWVyZ2UtZmlsZSAtLXRoZWlycyB0ZXN0LnR4dCBvcmlnLnR4dCBuZXczLnR4dCAmJgorCXRlc3RfY21wIGV4cGVjdC50eHQgdGVzdC50eHQKKycKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAiZXhwZWN0ZWQgY29uZmxpY3QgbWFya2Vycywgd2l0aCAtTCIgXAotCSJ0ZXN0X2NtcCBleHBlY3QudHh0IHRlc3QudHh0IgordGVzdF9leHBlY3Rfc3VjY2VzcyAibWVyZ2UgY29uZmxpY3Rpbmcgd2l0aCAtLXVuaW9uIiAnCisJY3AgYmFja3VwLnR4dCB0ZXN0LnR4dCAmJgogCi1zZWQgInMvIHR1IC8gVFUgLyIgPCBuZXcxLnR4dCA+IG5ldzUudHh0Ci10ZXN0X2V4cGVjdF9zdWNjZXNzICJjb25mbGljdCBpbiByZW1vdmVkIHRhaWwiIFwKLQkidGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlLWZpbGUgLXAgb3JpZy50eHQgbmV3MS50eHQgbmV3NS50eHQgPiBvdXQiCisJY2F0ID5leHBlY3QudHh0IDw8LVxFT0YgJiYKKwlEb21pbnVzIHJlZ2l0IG1lLCBldCBuaWhpbCBtaWhpIGRlZXJpdC4KKwlET01JTlVTIHJlZ2l0IG1lLAorCWV0IG5paGlsIG1paGkgZGVlcml0LgorCUluIGxvY28gcGFzY3VhZSBpYmkgbWUgY29sbG9jYXZpdCwKKwlzdXBlciBhcXVhbSByZWZlY3Rpb25pcyBlZHVjYXZpdCBtZTsKKwlhbmltYW0gbWVhbSBjb252ZXJ0aXQsCisJZGVkdXhpdCBtZSBzdXBlciBzZW1pdGFzIGp1c2l0aWFlLAorCXByb3B0ZXIgbm9tZW4gc3V1bS4KKwlOYW0gZXQgc2kgYW1idWxhdmVybyBpbiBtZWRpbyB1bWJyYWUgbW9ydGlzLAorCW5vbiB0aW1lYm8gbWFsYSwgcXVvbmlhbSB0dSBtZWN1bSBlczoKKwl2aXJnYSB0dWEgZXQgYmFjdWx1cyB0dXVzIGlwc2EgbWUgY29uc29sYXRhIHN1bnQuCisJRU9GCiAKLWNhdCA+IGV4cGVjdCA8PCBFT0YKLURvbWludXMgcmVnaXQgbWUsCi1ldCBuaWhpbCBtaWhpIGRlZXJpdC4KLUluIGxvY28gcGFzY3VhZSBpYmkgbWUgY29sbG9jYXZpdCwKLXN1cGVyIGFxdWFtIHJlZmVjdGlvbmlzIGVkdWNhdml0IG1lOwotYW5pbWFtIG1lYW0gY29udmVydGl0LAotZGVkdXhpdCBtZSBzdXBlciBzZW1pdGFzIGp1c2l0aWFlLAotcHJvcHRlciBub21lbiBzdXVtLgotPDw8PDw8PCBvcmlnLnR4dAotPT09PT09PQotTmFtIGV0IHNpIGFtYnVsYXZlcm8gaW4gbWVkaW8gdW1icmFlIG1vcnRpcywKLW5vbiB0aW1lYm8gbWFsYSwgcXVvbmlhbSBUVSBtZWN1bSBlczoKLXZpcmdhIHR1YSBldCBiYWN1bHVzIHR1dXMgaXBzYSBtZSBjb25zb2xhdGEgc3VudC4KLT4+Pj4+Pj4gbmV3NS50eHQKLUVPRgorCWdpdCBtZXJnZS1maWxlIC0tdW5pb24gdGVzdC50eHQgb3JpZy50eHQgbmV3My50eHQgJiYKKwl0ZXN0X2NtcCBleHBlY3QudHh0IHRlc3QudHh0CisnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImV4cGVjdGVkIGNvbmZsaWN0IG1hcmtlcnMiICJ0ZXN0X2NtcCBleHBlY3Qgb3V0IgordGVzdF9leHBlY3Rfc3VjY2VzcyAibWVyZ2Ugd2l0aCBjb25mbGljdHMsIHVzaW5nIC1MIiAnCisJY3AgYmFja3VwLnR4dCB0ZXN0LnR4dCAmJgorCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlLWZpbGUgLUwgMSAtTCAyIHRlc3QudHh0IG9yaWcudHh0IG5ldzMudHh0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgImV4cGVjdGVkIGNvbmZsaWN0IG1hcmtlcnMsIHdpdGggLUwiICcKKwljYXQgPmV4cGVjdC50eHQgPDwtXEVPRiAmJgorCTw8PDw8PDwgMQorCURvbWludXMgcmVnaXQgbWUsIGV0IG5paGlsIG1paGkgZGVlcml0LgorCT09PT09PT0KKwlET01JTlVTIHJlZ2l0IG1lLAorCWV0IG5paGlsIG1paGkgZGVlcml0LgorCT4+Pj4+Pj4gbmV3My50eHQKKwlJbiBsb2NvIHBhc2N1YWUgaWJpIG1lIGNvbGxvY2F2aXQsCisJc3VwZXIgYXF1YW0gcmVmZWN0aW9uaXMgZWR1Y2F2aXQgbWU7CisJYW5pbWFtIG1lYW0gY29udmVydGl0LAorCWRlZHV4aXQgbWUgc3VwZXIgc2VtaXRhcyBqdXNpdGlhZSwKKwlwcm9wdGVyIG5vbWVuIHN1dW0uCisJTmFtIGV0IHNpIGFtYnVsYXZlcm8gaW4gbWVkaW8gdW1icmFlIG1vcnRpcywKKwlub24gdGltZWJvIG1hbGEsIHF1b25pYW0gdHUgbWVjdW0gZXM6CisJdmlyZ2EgdHVhIGV0IGJhY3VsdXMgdHV1cyBpcHNhIG1lIGNvbnNvbGF0YSBzdW50LgorCUVPRgorCisJdGVzdF9jbXAgZXhwZWN0LnR4dCB0ZXN0LnR4dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICJjb25mbGljdCBpbiByZW1vdmVkIHRhaWwiICcKKwlzZWQgInMvIHR1IC8gVFUgLyIgPG5ldzEudHh0ID5uZXc1LnR4dCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZS1maWxlIC1wIG9yaWcudHh0IG5ldzEudHh0IG5ldzUudHh0ID5vdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAiZXhwZWN0ZWQgY29uZmxpY3QgbWFya2VycyIgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlEb21pbnVzIHJlZ2l0IG1lLAorCWV0IG5paGlsIG1paGkgZGVlcml0LgorCUluIGxvY28gcGFzY3VhZSBpYmkgbWUgY29sbG9jYXZpdCwKKwlzdXBlciBhcXVhbSByZWZlY3Rpb25pcyBlZHVjYXZpdCBtZTsKKwlhbmltYW0gbWVhbSBjb252ZXJ0aXQsCisJZGVkdXhpdCBtZSBzdXBlciBzZW1pdGFzIGp1c2l0aWFlLAorCXByb3B0ZXIgbm9tZW4gc3V1bS4KKwk8PDw8PDw8IG9yaWcudHh0CisJPT09PT09PQorCU5hbSBldCBzaSBhbWJ1bGF2ZXJvIGluIG1lZGlvIHVtYnJhZSBtb3J0aXMsCisJbm9uIHRpbWVibyBtYWxhLCBxdW9uaWFtIFRVIG1lY3VtIGVzOgorCXZpcmdhIHR1YSBldCBiYWN1bHVzIHR1dXMgaXBzYSBtZSBjb25zb2xhdGEgc3VudC4KKwk+Pj4+Pj4+IG5ldzUudHh0CisJRU9GCisKKwl0ZXN0X2NtcCBleHBlY3Qgb3V0CisnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2JpbmFyeSBmaWxlcyBjYW5ub3QgYmUgbWVyZ2VkJyAnCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlLWZpbGUgLXAgXApAQCAtMjI1LDU5ICsyNTQsNTUgQEAKIAlncmVwICJDYW5ub3QgbWVyZ2UgYmluYXJ5IGZpbGVzIiBtZXJnZS5lcnIKICcKIAotc2VkIC1lICJzL2RlZXJpdC5cJC9kZWVyaXQ7LyIgLWUgInMvbWU7XCQvbWUuLyIgPCBuZXc1LnR4dCA+IG5ldzYudHh0Ci1zZWQgLWUgInMvZGVlcml0LlwkL2RlZXJpdCwvIiAtZSAicy9tZTtcJC9tZSwvIiA8IG5ldzUudHh0ID4gbmV3Ny50eHQKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnTUVSR0VfWkVBTE9VUyBzaW1wbGlmaWVzIG5vbi1jb25mbGljdHMnICcKKwlzZWQgLWUgInMvZGVlcml0LlwkL2RlZXJpdDsvIiAtZSAicy9tZTtcJC9tZS4vIiA8bmV3NS50eHQgPm5ldzYudHh0ICYmCisJc2VkIC1lICJzL2RlZXJpdC5cJC9kZWVyaXQsLyIgLWUgInMvbWU7XCQvbWUsLyIgPG5ldzUudHh0ID5uZXc3LnR4dCAmJgogCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlLWZpbGUgLXAgbmV3Ni50eHQgbmV3NS50eHQgbmV3Ny50eHQgPiBvdXRwdXQgJiYKLQl0ZXN0IDEgPSAkKGdyZXAgPT09PT09PSA8IG91dHB1dCB8IHdjIC1sKQotCisJdGVzdCAxID0gJChncmVwID09PT09PT0gPG91dHB1dCB8IHdjIC1sKQogJwogCi1zZWQgLWUgJ3MvZGVlcml0Li8mJSUlJS8nIC1lICJzL2xvY2F2aXQsL2xvY2F2aXQ7LyI8IG5ldzYudHh0IHwgdHIgJyUnICdcMDEyJyA+IG5ldzgudHh0Ci1zZWQgLWUgJ3MvZGVlcml0Li8mJSUlJS8nIC1lICJzL2xvY2F2aXQsL2xvY2F2aXQgLS0vIiA8IG5ldzcudHh0IHwgdHIgJyUnICdcMDEyJyA+IG5ldzkudHh0Ci0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ1pFQUxPVVNfQUxOVU0nICcKKwlzZWQgLWUgInMvZGVlcml0Li8mJSUlJS8iIC1lICJzL2xvY2F2aXQsL2xvY2F2aXQ7LyIgPG5ldzYudHh0IHwgdHIgJSAiXDAxMiIgPm5ldzgudHh0ICYmCisJc2VkIC1lICJzL2RlZXJpdC4vJiUlJSUvIiAtZSAicy9sb2Nhdml0LC9sb2Nhdml0IC0tLyIgPG5ldzcudHh0IHwgdHIgJSAiXDAxMiIgPm5ldzkudHh0ICYmCiAKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UtZmlsZSAtcCBcCi0JCW5ldzgudHh0IG5ldzUudHh0IG5ldzkudHh0ID4gbWVyZ2Uub3V0ICYmCi0JdGVzdCAxID0gJChncmVwID09PT09PT0gPCBtZXJnZS5vdXQgfCB3YyAtbCkKLQorCQluZXc4LnR4dCBuZXc1LnR4dCBuZXc5LnR4dCA+bWVyZ2Uub3V0ICYmCisJdGVzdCAxID0gJChncmVwID09PT09PT0gPG1lcmdlLm91dCB8IHdjIC1sKQogJwogCi1jYXQgPmV4cGVjdCA8PFxFT0YKLURvbWludXMgcmVnaXQgbWUsCi08PDw8PDw8IG5ldzgudHh0Ci1ldCBuaWhpbCBtaWhpIGRlZXJpdDsKLQotCi0KLQotSW4gbG9jbyBwYXNjdWFlIGliaSBtZSBjb2xsb2Nhdml0Owotc3VwZXIgYXF1YW0gcmVmZWN0aW9uaXMgZWR1Y2F2aXQgbWUuCi18fHx8fHx8IG5ldzUudHh0Ci1ldCBuaWhpbCBtaWhpIGRlZXJpdC4KLUluIGxvY28gcGFzY3VhZSBpYmkgbWUgY29sbG9jYXZpdCwKLXN1cGVyIGFxdWFtIHJlZmVjdGlvbmlzIGVkdWNhdml0IG1lOwotPT09PT09PQotZXQgbmloaWwgbWloaSBkZWVyaXQsCi0KLQotCi0KLUluIGxvY28gcGFzY3VhZSBpYmkgbWUgY29sbG9jYXZpdCAtLQotc3VwZXIgYXF1YW0gcmVmZWN0aW9uaXMgZWR1Y2F2aXQgbWUsCi0+Pj4+Pj4+IG5ldzkudHh0Ci1hbmltYW0gbWVhbSBjb252ZXJ0aXQsCi1kZWR1eGl0IG1lIHN1cGVyIHNlbWl0YXMganVzaXRpYWUsCi1wcm9wdGVyIG5vbWVuIHN1dW0uCi1OYW0gZXQgc2kgYW1idWxhdmVybyBpbiBtZWRpbyB1bWJyYWUgbW9ydGlzLAotbm9uIHRpbWVibyBtYWxhLCBxdW9uaWFtIFRVIG1lY3VtIGVzOgotdmlyZ2EgdHVhIGV0IGJhY3VsdXMgdHV1cyBpcHNhIG1lIGNvbnNvbGF0YSBzdW50LgotRU9GCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJkaWZmMyAtbSIgc3R5bGUgb3V0cHV0ICgxKScgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlEb21pbnVzIHJlZ2l0IG1lLAorCTw8PDw8PDwgbmV3OC50eHQKKwlldCBuaWhpbCBtaWhpIGRlZXJpdDsKKworCisKKworCUluIGxvY28gcGFzY3VhZSBpYmkgbWUgY29sbG9jYXZpdDsKKwlzdXBlciBhcXVhbSByZWZlY3Rpb25pcyBlZHVjYXZpdCBtZS4KKwl8fHx8fHx8IG5ldzUudHh0CisJZXQgbmloaWwgbWloaSBkZWVyaXQuCisJSW4gbG9jbyBwYXNjdWFlIGliaSBtZSBjb2xsb2Nhdml0LAorCXN1cGVyIGFxdWFtIHJlZmVjdGlvbmlzIGVkdWNhdml0IG1lOworCT09PT09PT0KKwlldCBuaWhpbCBtaWhpIGRlZXJpdCwKKworCisKKworCUluIGxvY28gcGFzY3VhZSBpYmkgbWUgY29sbG9jYXZpdCAtLQorCXN1cGVyIGFxdWFtIHJlZmVjdGlvbmlzIGVkdWNhdml0IG1lLAorCT4+Pj4+Pj4gbmV3OS50eHQKKwlhbmltYW0gbWVhbSBjb252ZXJ0aXQsCisJZGVkdXhpdCBtZSBzdXBlciBzZW1pdGFzIGp1c2l0aWFlLAorCXByb3B0ZXIgbm9tZW4gc3V1bS4KKwlOYW0gZXQgc2kgYW1idWxhdmVybyBpbiBtZWRpbyB1bWJyYWUgbW9ydGlzLAorCW5vbiB0aW1lYm8gbWFsYSwgcXVvbmlhbSBUVSBtZWN1bSBlczoKKwl2aXJnYSB0dWEgZXQgYmFjdWx1cyB0dXVzIGlwc2EgbWUgY29uc29sYXRhIHN1bnQuCisJRU9GCisKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UtZmlsZSAtcCAtLWRpZmYzIFwKIAkJbmV3OC50eHQgbmV3NS50eHQgbmV3OS50eHQgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKQEAgLTI5MCw2MSArMzE1LDY0IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi1jYXQgPmV4cGVjdCA8PFxFT0YKLURvbWludXMgcmVnaXQgbWUsCi08PDw8PDw8PDw8IG5ldzgudHh0Ci1ldCBuaWhpbCBtaWhpIGRlZXJpdDsKLQotCi0KLQotSW4gbG9jbyBwYXNjdWFlIGliaSBtZSBjb2xsb2Nhdml0Owotc3VwZXIgYXF1YW0gcmVmZWN0aW9uaXMgZWR1Y2F2aXQgbWUuCi18fHx8fHx8fHx8IG5ldzUudHh0Ci1ldCBuaWhpbCBtaWhpIGRlZXJpdC4KLUluIGxvY28gcGFzY3VhZSBpYmkgbWUgY29sbG9jYXZpdCwKLXN1cGVyIGFxdWFtIHJlZmVjdGlvbmlzIGVkdWNhdml0IG1lOwotPT09PT09PT09PQotZXQgbmloaWwgbWloaSBkZWVyaXQsCi0KLQotCi0KLUluIGxvY28gcGFzY3VhZSBpYmkgbWUgY29sbG9jYXZpdCAtLQotc3VwZXIgYXF1YW0gcmVmZWN0aW9uaXMgZWR1Y2F2aXQgbWUsCi0+Pj4+Pj4+Pj4+IG5ldzkudHh0Ci1hbmltYW0gbWVhbSBjb252ZXJ0aXQsCi1kZWR1eGl0IG1lIHN1cGVyIHNlbWl0YXMganVzaXRpYWUsCi1wcm9wdGVyIG5vbWVuIHN1dW0uCi1OYW0gZXQgc2kgYW1idWxhdmVybyBpbiBtZWRpbyB1bWJyYWUgbW9ydGlzLAotbm9uIHRpbWVibyBtYWxhLCBxdW9uaWFtIFRVIG1lY3VtIGVzOgotdmlyZ2EgdHVhIGV0IGJhY3VsdXMgdHV1cyBpcHNhIG1lIGNvbnNvbGF0YSBzdW50LgotRU9GCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21hcmtlciBzaXplJyAnCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCURvbWludXMgcmVnaXQgbWUsCisJPDw8PDw8PDw8PCBuZXc4LnR4dAorCWV0IG5paGlsIG1paGkgZGVlcml0OworCisKKworCisJSW4gbG9jbyBwYXNjdWFlIGliaSBtZSBjb2xsb2Nhdml0OworCXN1cGVyIGFxdWFtIHJlZmVjdGlvbmlzIGVkdWNhdml0IG1lLgorCXx8fHx8fHx8fHwgbmV3NS50eHQKKwlldCBuaWhpbCBtaWhpIGRlZXJpdC4KKwlJbiBsb2NvIHBhc2N1YWUgaWJpIG1lIGNvbGxvY2F2aXQsCisJc3VwZXIgYXF1YW0gcmVmZWN0aW9uaXMgZWR1Y2F2aXQgbWU7CisJPT09PT09PT09PQorCWV0IG5paGlsIG1paGkgZGVlcml0LAorCisKKworCisJSW4gbG9jbyBwYXNjdWFlIGliaSBtZSBjb2xsb2Nhdml0IC0tCisJc3VwZXIgYXF1YW0gcmVmZWN0aW9uaXMgZWR1Y2F2aXQgbWUsCisJPj4+Pj4+Pj4+PiBuZXc5LnR4dAorCWFuaW1hbSBtZWFtIGNvbnZlcnRpdCwKKwlkZWR1eGl0IG1lIHN1cGVyIHNlbWl0YXMganVzaXRpYWUsCisJcHJvcHRlciBub21lbiBzdXVtLgorCU5hbSBldCBzaSBhbWJ1bGF2ZXJvIGluIG1lZGlvIHVtYnJhZSBtb3J0aXMsCisJbm9uIHRpbWVibyBtYWxhLCBxdW9uaWFtIFRVIG1lY3VtIGVzOgorCXZpcmdhIHR1YSBldCBiYWN1bHVzIHR1dXMgaXBzYSBtZSBjb25zb2xhdGEgc3VudC4KKwlFT0YKKwogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZS1maWxlIC1wIC0tbWFya2VyLXNpemU9MTAgXAogCQluZXc4LnR4dCBuZXc1LnR4dCBuZXc5LnR4dCA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCi1wcmludGYgImxpbmUxXG5saW5lMlxubGluZTMiID5ub2xmLW9yaWcudHh0Ci1wcmludGYgImxpbmUxXG5saW5lMlxubGluZTN4IiA+bm9sZi1kaWZmMS50eHQKLXByaW50ZiAibGluZTFcbmxpbmUyXG5saW5lM3kiID5ub2xmLWRpZmYyLnR4dAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29uZmxpY3QgYXQgRU9GIHdpdGhvdXQgTEYgcmVzb2x2ZWQgYnkgLS1vdXJzJyAnCisJcHJpbnRmICJsaW5lMVxubGluZTJcbmxpbmUzIiA+bm9sZi1vcmlnLnR4dCAmJgorCXByaW50ZiAibGluZTFcbmxpbmUyXG5saW5lM3giID5ub2xmLWRpZmYxLnR4dCAmJgorCXByaW50ZiAibGluZTFcbmxpbmUyXG5saW5lM3kiID5ub2xmLWRpZmYyLnR4dCAmJgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjb25mbGljdCBhdCBFT0Ygd2l0aG91dCBMRiByZXNvbHZlZCBieSAtLW91cnMnIFwKLQknZ2l0IG1lcmdlLWZpbGUgLXAgLS1vdXJzIG5vbGYtZGlmZjEudHh0IG5vbGYtb3JpZy50eHQgbm9sZi1kaWZmMi50eHQgPm91dHB1dC50eHQgJiYKLQkgcHJpbnRmICJsaW5lMVxubGluZTJcbmxpbmUzeCIgPmV4cGVjdC50eHQgJiYKLQkgdGVzdF9jbXAgZXhwZWN0LnR4dCBvdXRwdXQudHh0JworCWdpdCBtZXJnZS1maWxlIC1wIC0tb3VycyBub2xmLWRpZmYxLnR4dCBub2xmLW9yaWcudHh0IG5vbGYtZGlmZjIudHh0ID5vdXRwdXQudHh0ICYmCisJcHJpbnRmICJsaW5lMVxubGluZTJcbmxpbmUzeCIgPmV4cGVjdC50eHQgJiYKKwl0ZXN0X2NtcCBleHBlY3QudHh0IG91dHB1dC50eHQKKycKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnY29uZmxpY3QgYXQgRU9GIHdpdGhvdXQgTEYgcmVzb2x2ZWQgYnkgLS10aGVpcnMnIFwKLQknZ2l0IG1lcmdlLWZpbGUgLXAgLS10aGVpcnMgbm9sZi1kaWZmMS50eHQgbm9sZi1vcmlnLnR4dCBub2xmLWRpZmYyLnR4dCA+b3V0cHV0LnR4dCAmJgotCSBwcmludGYgImxpbmUxXG5saW5lMlxubGluZTN5IiA+ZXhwZWN0LnR4dCAmJgotCSB0ZXN0X2NtcCBleHBlY3QudHh0IG91dHB1dC50eHQnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb25mbGljdCBhdCBFT0Ygd2l0aG91dCBMRiByZXNvbHZlZCBieSAtLXRoZWlycycgJworCWdpdCBtZXJnZS1maWxlIC1wIC0tdGhlaXJzIG5vbGYtZGlmZjEudHh0IG5vbGYtb3JpZy50eHQgbm9sZi1kaWZmMi50eHQgPm91dHB1dC50eHQgJiYKKwlwcmludGYgImxpbmUxXG5saW5lMlxubGluZTN5IiA+ZXhwZWN0LnR4dCAmJgorCXRlc3RfY21wIGV4cGVjdC50eHQgb3V0cHV0LnR4dAorJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjb25mbGljdCBhdCBFT0Ygd2l0aG91dCBMRiByZXNvbHZlZCBieSAtLXVuaW9uJyBcCi0JJ2dpdCBtZXJnZS1maWxlIC1wIC0tdW5pb24gbm9sZi1kaWZmMS50eHQgbm9sZi1vcmlnLnR4dCBub2xmLWRpZmYyLnR4dCA+b3V0cHV0LnR4dCAmJgotCSBwcmludGYgImxpbmUxXG5saW5lMlxubGluZTN4XG5saW5lM3kiID5leHBlY3QudHh0ICYmCi0JIHRlc3RfY21wIGV4cGVjdC50eHQgb3V0cHV0LnR4dCcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbmZsaWN0IGF0IEVPRiB3aXRob3V0IExGIHJlc29sdmVkIGJ5IC0tdW5pb24nICcKKwlnaXQgbWVyZ2UtZmlsZSAtcCAtLXVuaW9uIG5vbGYtZGlmZjEudHh0IG5vbGYtb3JpZy50eHQgbm9sZi1kaWZmMi50eHQgPm91dHB1dC50eHQgJiYKKwlwcmludGYgImxpbmUxXG5saW5lMlxubGluZTN4XG5saW5lM3kiID5leHBlY3QudHh0ICYmCisJdGVzdF9jbXAgZXhwZWN0LnR4dCBvdXRwdXQudHh0CisnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NvbmZsaWN0IHNlY3Rpb25zIG1hdGNoIGV4aXN0aW5nIGxpbmUgZW5kaW5ncycgJwogCXByaW50ZiAiMVxcclxcbjJcXHJcXG4zIiA+Y3JsZi1vcmlnLnR4dCAmJgpkaWZmIC0tZ2l0IGEvdC90NjAyNC1yZWN1cnNpdmUtbWVyZ2Uuc2ggYi90L3Q2MDI0LXJlY3Vyc2l2ZS1tZXJnZS5zaAppbmRleCAyN2M3ZGU5Li4zMzJjZmM1IDEwMDc1NQotLS0gYS90L3Q2MDI0LXJlY3Vyc2l2ZS1tZXJnZS5zaAorKysgYi90L3Q2MDI0LXJlY3Vyc2l2ZS1tZXJnZS5zaApAQCAtMTQsODUgKzE0LDk1IEBACiBHSVRfQ09NTUlUVEVSX0RBVEU9IjIwMDYtMTItMTIgMjM6Mjg6MDAgKzAxMDAiCiBleHBvcnQgR0lUX0NPTU1JVFRFUl9EQVRFCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgInNldHVwIHRlc3RzIiAnCi1lY2hvIDEgPiBhMSAmJgotZ2l0IGFkZCBhMSAmJgotR0lUX0FVVEhPUl9EQVRFPSIyMDA2LTEyLTEyIDIzOjAwOjAwIiBnaXQgY29tbWl0IC1tIDEgYTEgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHRlc3RzJyAnCisJZWNobyAxID5hMSAmJgorCWdpdCBhZGQgYTEgJiYKKwlHSVRfQVVUSE9SX0RBVEU9IjIwMDYtMTItMTIgMjM6MDA6MDAiIGdpdCBjb21taXQgLW0gMSBhMSAmJgogCi1naXQgY2hlY2tvdXQgLWIgQSBtYXN0ZXIgJiYKLWVjaG8gQSA+IGExICYmCi1HSVRfQVVUSE9SX0RBVEU9IjIwMDYtMTItMTIgMjM6MDA6MDEiIGdpdCBjb21taXQgLW0gQSBhMSAmJgorCWdpdCBjaGVja291dCAtYiBBIG1hc3RlciAmJgorCWVjaG8gQSA+YTEgJiYKKwlHSVRfQVVUSE9SX0RBVEU9IjIwMDYtMTItMTIgMjM6MDA6MDEiIGdpdCBjb21taXQgLW0gQSBhMSAmJgogCi1naXQgY2hlY2tvdXQgLWIgQiBtYXN0ZXIgJiYKLWVjaG8gQiA+IGExICYmCi1HSVRfQVVUSE9SX0RBVEU9IjIwMDYtMTItMTIgMjM6MDA6MDIiIGdpdCBjb21taXQgLW0gQiBhMSAmJgorCWdpdCBjaGVja291dCAtYiBCIG1hc3RlciAmJgorCWVjaG8gQiA+YTEgJiYKKwlHSVRfQVVUSE9SX0RBVEU9IjIwMDYtMTItMTIgMjM6MDA6MDIiIGdpdCBjb21taXQgLW0gQiBhMSAmJgogCi1naXQgY2hlY2tvdXQgLWIgRCBBICYmCi1naXQgcmV2LXBhcnNlIEIgPiAuZ2l0L01FUkdFX0hFQUQgJiYKLWVjaG8gRCA+IGExICYmCi1naXQgdXBkYXRlLWluZGV4IGExICYmCi1HSVRfQVVUSE9SX0RBVEU9IjIwMDYtMTItMTIgMjM6MDA6MDMiIGdpdCBjb21taXQgLW0gRCAmJgorCWdpdCBjaGVja291dCAtYiBEIEEgJiYKKwlnaXQgcmV2LXBhcnNlIEIgPi5naXQvTUVSR0VfSEVBRCAmJgorCWVjaG8gRCA+YTEgJiYKKwlnaXQgdXBkYXRlLWluZGV4IGExICYmCisJR0lUX0FVVEhPUl9EQVRFPSIyMDA2LTEyLTEyIDIzOjAwOjAzIiBnaXQgY29tbWl0IC1tIEQgJiYKIAotZ2l0IHN5bWJvbGljLXJlZiBIRUFEIHJlZnMvaGVhZHMvb3RoZXIgJiYKLWVjaG8gMiA+IGExICYmCi1HSVRfQVVUSE9SX0RBVEU9IjIwMDYtMTItMTIgMjM6MDA6MDQiIGdpdCBjb21taXQgLW0gMiBhMSAmJgorCWdpdCBzeW1ib2xpYy1yZWYgSEVBRCByZWZzL2hlYWRzL290aGVyICYmCisJZWNobyAyID5hMSAmJgorCUdJVF9BVVRIT1JfREFURT0iMjAwNi0xMi0xMiAyMzowMDowNCIgZ2l0IGNvbW1pdCAtbSAyIGExICYmCiAKLWdpdCBjaGVja291dCAtYiBDICYmCi1lY2hvIEMgPiBhMSAmJgotR0lUX0FVVEhPUl9EQVRFPSIyMDA2LTEyLTEyIDIzOjAwOjA1IiBnaXQgY29tbWl0IC1tIEMgYTEgJiYKKwlnaXQgY2hlY2tvdXQgLWIgQyAmJgorCWVjaG8gQyA+YTEgJiYKKwlHSVRfQVVUSE9SX0RBVEU9IjIwMDYtMTItMTIgMjM6MDA6MDUiIGdpdCBjb21taXQgLW0gQyBhMSAmJgogCi1naXQgY2hlY2tvdXQgLWIgRSBDICYmCi1naXQgcmV2LXBhcnNlIEIgPiAuZ2l0L01FUkdFX0hFQUQgJiYKLWVjaG8gRSA+IGExICYmCi1naXQgdXBkYXRlLWluZGV4IGExICYmCi1HSVRfQVVUSE9SX0RBVEU9IjIwMDYtMTItMTIgMjM6MDA6MDYiIGdpdCBjb21taXQgLW0gRSAmJgorCWdpdCBjaGVja291dCAtYiBFIEMgJiYKKwlnaXQgcmV2LXBhcnNlIEIgPi5naXQvTUVSR0VfSEVBRCAmJgorCWVjaG8gRSA+YTEgJiYKKwlnaXQgdXBkYXRlLWluZGV4IGExICYmCisJR0lUX0FVVEhPUl9EQVRFPSIyMDA2LTEyLTEyIDIzOjAwOjA2IiBnaXQgY29tbWl0IC1tIEUgJiYKIAotZ2l0IGNoZWNrb3V0IC1iIEcgRSAmJgotZ2l0IHJldi1wYXJzZSBBID4gLmdpdC9NRVJHRV9IRUFEICYmCi1lY2hvIEcgPiBhMSAmJgotZ2l0IHVwZGF0ZS1pbmRleCBhMSAmJgotR0lUX0FVVEhPUl9EQVRFPSIyMDA2LTEyLTEyIDIzOjAwOjA3IiBnaXQgY29tbWl0IC1tIEcgJiYKKwlnaXQgY2hlY2tvdXQgLWIgRyBFICYmCisJZ2l0IHJldi1wYXJzZSBBID4uZ2l0L01FUkdFX0hFQUQgJiYKKwllY2hvIEcgPmExICYmCisJZ2l0IHVwZGF0ZS1pbmRleCBhMSAmJgorCUdJVF9BVVRIT1JfREFURT0iMjAwNi0xMi0xMiAyMzowMDowNyIgZ2l0IGNvbW1pdCAtbSBHICYmCiAKLWdpdCBjaGVja291dCAtYiBGIEQgJiYKLWdpdCByZXYtcGFyc2UgQyA+IC5naXQvTUVSR0VfSEVBRCAmJgotZWNobyBGID4gYTEgJiYKLWdpdCB1cGRhdGUtaW5kZXggYTEgJiYKLUdJVF9BVVRIT1JfREFURT0iMjAwNi0xMi0xMiAyMzowMDowOCIgZ2l0IGNvbW1pdCAtbSBGCisJZ2l0IGNoZWNrb3V0IC1iIEYgRCAmJgorCWdpdCByZXYtcGFyc2UgQyA+LmdpdC9NRVJHRV9IRUFEICYmCisJZWNobyBGID5hMSAmJgorCWdpdCB1cGRhdGUtaW5kZXggYTEgJiYKKwlHSVRfQVVUSE9SX0RBVEU9IjIwMDYtMTItMTIgMjM6MDA6MDgiIGdpdCBjb21taXQgLW0gRiAmJgorCisJdGVzdF9vaWRfY2FjaGUgPDwtRU9GCisJaWR4c3RhZ2UxIHNoYTE6ZWMzZmUyYTc5MTcwNjczM2YyZDhmYTdhZDQ1ZDlhOTY3MjAzMWY1ZQorCWlkeHN0YWdlMSBzaGEyNTY6YjNjODQ4ODkyOTkwM2FhZWJkZWIyMjI3MGNiNmQzNmU1Yjg3MjRiMDFhZTBkNGRhMjQ2MzJmMTU4Yzk5Njc2ZgorCUVPRgogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb21iaW5lZCBtZXJnZSBjb25mbGljdHMnICcKIAl0ZXN0X211c3RfZmFpbCBlbnYgR0lUX1RFU1RfQ09NTUlUX0dSQVBIPTAgZ2l0IG1lcmdlIC1tIGZpbmFsIEcKICcKIAotY2F0ID4gZXhwZWN0IDw8IEVPRgotPDw8PDw8PCBIRUFECi1GCi09PT09PT09Ci1HCi0+Pj4+Pj4+IEcKLUVPRgordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVzdWx0IGNvbnRhaW5zIGEgY29uZmxpY3QnICcKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJPDw8PDw8PCBIRUFECisJRgorCT09PT09PT0KKwlHCisJPj4+Pj4+PiBHCisJRU9GCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgInJlc3VsdCBjb250YWlucyBhIGNvbmZsaWN0IiAidGVzdF9jbXAgZXhwZWN0IGExIgorCXRlc3RfY21wIGV4cGVjdCBhMQorJwogCi1naXQgbHMtZmlsZXMgLS1zdGFnZSA+IG91dAotY2F0ID4gZXhwZWN0IDw8IEVPRgotMTAwNjQ0IGVjM2ZlMmE3OTE3MDY3MzNmMmQ4ZmE3YWQ0NWQ5YTk2NzIwMzFmNWUgMQlhMQotMTAwNjQ0IGNmODQ0NDNlNDllMWIzNjZmYWM5Mzg3MTFkZGY0YmUyZDRkMWQ5ZTkgMglhMQotMTAwNjQ0IGZkNzkyMzUyOTg1NWQwYjI3NDc5NWFlMzM0OWM1ZTA0MzgzMzM5NzkgMwlhMQotRU9GCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd2aXJ0dWFsIHRyZWVzIHdlcmUgcHJvY2Vzc2VkJyAnCisJZ2l0IGxzLWZpbGVzIC0tc3RhZ2UgPm91dCAmJgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICJ2aXJ0dWFsIHRyZWVzIHdlcmUgcHJvY2Vzc2VkIiAidGVzdF9jbXAgZXhwZWN0IG91dCIKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkxMDA2NDQgJCh0ZXN0X29pZCBpZHhzdGFnZTEpIDEJYTEKKwkxMDA2NDQgJChnaXQgcmV2LXBhcnNlIEY6YTEpIDIJYTEKKwkxMDA2NDQgJChnaXQgcmV2LXBhcnNlIEc6YTEpIDMJYTEKKwlFT0YKKworCXRlc3RfY21wIGV4cGVjdCBvdXQKKycKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVmdXNlIHRvIG1lcmdlIGJpbmFyeSBmaWxlcycgJwogCWdpdCByZXNldCAtLWhhcmQgJiYKLQlwcmludGYgIlwwIiA+IGJpbmFyeS1maWxlICYmCisJcHJpbnRmICJcMCIgPmJpbmFyeS1maWxlICYmCiAJZ2l0IGFkZCBiaW5hcnktZmlsZSAmJgogCWdpdCBjb21taXQgLW0gYmluYXJ5ICYmCiAJZ2l0IGNoZWNrb3V0IEcgJiYKLQlwcmludGYgIlwwXDAiID4gYmluYXJ5LWZpbGUgJiYKKwlwcmludGYgIlwwXDAiID5iaW5hcnktZmlsZSAmJgogCWdpdCBhZGQgYmluYXJ5LWZpbGUgJiYKIAlnaXQgY29tbWl0IC1tIGJpbmFyeTIgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgRiA+IG1lcmdlLm91dCAyPiBtZXJnZS5lcnIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgRiA+bWVyZ2Uub3V0IDI+bWVyZ2UuZXJyICYmCiAJZ3JlcCAiQ2Fubm90IG1lcmdlIGJpbmFyeSBmaWxlczogYmluYXJ5LWZpbGUgKEhFQUQgdnMuIEYpIiBtZXJnZS5lcnIKICcKIApAQCAtMTE2LDcgKzEyNiw2IEBACiAJdGVzdCAxID0gJChnaXQgbHMtZmlsZXMgLS11bm1lcmdlZCB8IHdjIC1sKSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgOjI6YTIgJiYKIAlnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IDozOmEyCi0KICcKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q2MDI1LW1lcmdlLXN5bWxpbmtzLnNoIGIvdC90NjAyNS1tZXJnZS1zeW1saW5rcy5zaAppbmRleCA0MzNjNGRlLi42YzBhOTBkIDEwMDc1NQotLS0gYS90L3Q2MDI1LW1lcmdlLXN5bWxpbmtzLnNoCisrKyBiL3QvdDYwMjUtbWVyZ2Utc3ltbGlua3Muc2gKQEAgLTEwLDUyICsxMCw1MyBAQAogCiAuIC4vdGVzdC1saWIuc2gKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0nc2V0dXAnICcKLWdpdCBjb25maWcgY29yZS5zeW1saW5rcyBmYWxzZSAmJgotPiBmaWxlICYmCi1naXQgYWRkIGZpbGUgJiYKLWdpdCBjb21taXQgLW0gaW5pdGlhbCAmJgotZ2l0IGJyYW5jaCBiLXN5bWxpbmsgJiYKLWdpdCBicmFuY2ggYi1maWxlICYmCi1sPSQocHJpbnRmIGZpbGUgfCBnaXQgaGFzaC1vYmplY3QgLXQgYmxvYiAtdyAtLXN0ZGluKSAmJgotZWNobyAiMTIwMDAwICRsCXN5bWxpbmsiIHwgZ2l0IHVwZGF0ZS1pbmRleCAtLWluZGV4LWluZm8gJiYKLWdpdCBjb21taXQgLW0gbWFzdGVyICYmCi1naXQgY2hlY2tvdXQgYi1zeW1saW5rICYmCi1sPSQocHJpbnRmIGZpbGUtZGlmZmVyZW50IHwgZ2l0IGhhc2gtb2JqZWN0IC10IGJsb2IgLXcgLS1zdGRpbikgJiYKLWVjaG8gIjEyMDAwMCAkbAlzeW1saW5rIiB8IGdpdCB1cGRhdGUtaW5kZXggLS1pbmRleC1pbmZvICYmCi1naXQgY29tbWl0IC1tIGItc3ltbGluayAmJgotZ2l0IGNoZWNrb3V0IGItZmlsZSAmJgotZWNobyBwbGFpbi1maWxlID4gc3ltbGluayAmJgotZ2l0IGFkZCBzeW1saW5rICYmCi1naXQgY29tbWl0IC1tIGItZmlsZScKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJZ2l0IGNvbmZpZyBjb3JlLnN5bWxpbmtzIGZhbHNlICYmCisJPmZpbGUgJiYKKwlnaXQgYWRkIGZpbGUgJiYKKwlnaXQgY29tbWl0IC1tIGluaXRpYWwgJiYKKwlnaXQgYnJhbmNoIGItc3ltbGluayAmJgorCWdpdCBicmFuY2ggYi1maWxlICYmCisJbD0kKHByaW50ZiBmaWxlIHwgZ2l0IGhhc2gtb2JqZWN0IC10IGJsb2IgLXcgLS1zdGRpbikgJiYKKwllY2hvICIxMjAwMDAgJGwJc3ltbGluayIgfCBnaXQgdXBkYXRlLWluZGV4IC0taW5kZXgtaW5mbyAmJgorCWdpdCBjb21taXQgLW0gbWFzdGVyICYmCisJZ2l0IGNoZWNrb3V0IGItc3ltbGluayAmJgorCWw9JChwcmludGYgZmlsZS1kaWZmZXJlbnQgfCBnaXQgaGFzaC1vYmplY3QgLXQgYmxvYiAtdyAtLXN0ZGluKSAmJgorCWVjaG8gIjEyMDAwMCAkbAlzeW1saW5rIiB8IGdpdCB1cGRhdGUtaW5kZXggLS1pbmRleC1pbmZvICYmCisJZ2l0IGNvbW1pdCAtbSBiLXN5bWxpbmsgJiYKKwlnaXQgY2hlY2tvdXQgYi1maWxlICYmCisJZWNobyBwbGFpbi1maWxlID5zeW1saW5rICYmCisJZ2l0IGFkZCBzeW1saW5rICYmCisJZ2l0IGNvbW1pdCAtbSBiLWZpbGUKKycKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0nbWVyZ2UgbWFzdGVyIGludG8gYi1zeW1saW5rLCB3aGljaCBoYXMgYSBkaWZmZXJlbnQgc3ltYm9saWMgbGluaycgJwotZ2l0IGNoZWNrb3V0IGItc3ltbGluayAmJgotdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIG1hc3RlcicKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21lcmdlIG1hc3RlciBpbnRvIGItc3ltbGluaywgd2hpY2ggaGFzIGEgZGlmZmVyZW50IHN5bWJvbGljIGxpbmsnICcKKwlnaXQgY2hlY2tvdXQgYi1zeW1saW5rICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIG1hc3RlcgorJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLSd0aGUgbWVyZ2UgcmVzdWx0IG11c3QgYmUgYSBmaWxlJyAnCi10ZXN0IC1mIHN5bWxpbmsnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0aGUgbWVyZ2UgcmVzdWx0IG11c3QgYmUgYSBmaWxlJyAnCisJdGVzdF9wYXRoX2lzX2ZpbGUgc3ltbGluaworJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLSdtZXJnZSBtYXN0ZXIgaW50byBiLWZpbGUsIHdoaWNoIGhhcyBhIGZpbGUgaW5zdGVhZCBvZiBhIHN5bWJvbGljIGxpbmsnICcKLWdpdCByZXNldCAtLWhhcmQgJiYgZ2l0IGNoZWNrb3V0IGItZmlsZSAmJgotdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIG1hc3RlcicKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21lcmdlIG1hc3RlciBpbnRvIGItZmlsZSwgd2hpY2ggaGFzIGEgZmlsZSBpbnN0ZWFkIG9mIGEgc3ltYm9saWMgbGluaycgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwlnaXQgY2hlY2tvdXQgYi1maWxlICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIG1hc3RlcgorJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLSd0aGUgbWVyZ2UgcmVzdWx0IG11c3QgYmUgYSBmaWxlJyAnCi10ZXN0IC1mIHN5bWxpbmsnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0aGUgbWVyZ2UgcmVzdWx0IG11c3QgYmUgYSBmaWxlJyAnCisJdGVzdF9wYXRoX2lzX2ZpbGUgc3ltbGluaworJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLSdtZXJnZSBiLWZpbGUsIHdoaWNoIGhhcyBhIGZpbGUgaW5zdGVhZCBvZiBhIHN5bWJvbGljIGxpbmssIGludG8gbWFzdGVyJyAnCi1naXQgcmVzZXQgLS1oYXJkICYmCi1naXQgY2hlY2tvdXQgbWFzdGVyICYmCi10ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgYi1maWxlJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWVyZ2UgYi1maWxlLCB3aGljaCBoYXMgYSBmaWxlIGluc3RlYWQgb2YgYSBzeW1ib2xpYyBsaW5rLCBpbnRvIG1hc3RlcicgJworCWdpdCByZXNldCAtLWhhcmQgJiYKKwlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIGItZmlsZQorJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFwKLSd0aGUgbWVyZ2UgcmVzdWx0IG11c3QgYmUgYSBmaWxlJyAnCi10ZXN0IC1mIHN5bWxpbmsnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0aGUgbWVyZ2UgcmVzdWx0IG11c3QgYmUgYSBmaWxlJyAnCisJdGVzdF9wYXRoX2lzX2ZpbGUgc3ltbGluaworJwogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDYwMjYtbWVyZ2UtYXR0ci5zaCBiL3QvdDYwMjYtbWVyZ2UtYXR0ci5zaAppbmRleCA4ZjliNDhhLi41OTAwMzU4IDEwMDc1NQotLS0gYS90L3Q2MDI2LW1lcmdlLWF0dHIuc2gKKysrIGIvdC90NjAyNi1tZXJnZS1hdHRyLnNoCkBAIC0zMiw3ICszMiwyOSBAQAogCXRlc3RfdGljayAmJgogCWdpdCBjb21taXQgLW0gU2lkZSAmJgogCi0JZ2l0IHRhZyBhbmNob3IKKwlnaXQgdGFnIGFuY2hvciAmJgorCisJY2F0ID4uL2N1c3RvbS1tZXJnZSA8PC1cRU9GICYmCisJIyEvYmluL3NoCisKKwlvcmlnPSIkMSIgb3Vycz0iJDIiIHRoZWlycz0iJDMiIGV4aXQ9IiQ0IiBwYXRoPSQ1CisJKAorCQllY2hvICJvcmlnIGlzICRvcmlnIgorCQllY2hvICJvdXJzIGlzICRvdXJzIgorCQllY2hvICJ0aGVpcnMgaXMgJHRoZWlycyIKKwkJZWNobyAicGF0aCBpcyAkcGF0aCIKKwkJZWNobyAiPT09IG9yaWcgPT09IgorCQljYXQgIiRvcmlnIgorCQllY2hvICI9PT0gb3VycyA9PT0iCisJCWNhdCAiJG91cnMiCisJCWVjaG8gIj09PSB0aGVpcnMgPT09IgorCQljYXQgIiR0aGVpcnMiCisJKSA+IiRvdXJzKyIKKwljYXQgIiRvdXJzKyIgPiIkb3VycyIKKwlybSAtZiAiJG91cnMrIgorCWV4aXQgIiRleGl0IgorCUVPRgorCWNobW9kICt4IC4vY3VzdG9tLW1lcmdlCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgbWVyZ2UgJwpAQCAtODIsMjggKzEwNCw2IEBACiAJZ3JlcCAiPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDwiIGFjdHVhbAogJwogCi1jYXQgPi4vY3VzdG9tLW1lcmdlIDw8XEVPRgotIyEvYmluL3NoCi0KLW9yaWc9IiQxIiBvdXJzPSIkMiIgdGhlaXJzPSIkMyIgZXhpdD0iJDQiIHBhdGg9JDUKLSgKLQllY2hvICJvcmlnIGlzICRvcmlnIgotCWVjaG8gIm91cnMgaXMgJG91cnMiCi0JZWNobyAidGhlaXJzIGlzICR0aGVpcnMiCi0JZWNobyAicGF0aCBpcyAkcGF0aCIKLQllY2hvICI9PT0gb3JpZyA9PT0iCi0JY2F0ICIkb3JpZyIKLQllY2hvICI9PT0gb3VycyA9PT0iCi0JY2F0ICIkb3VycyIKLQllY2hvICI9PT0gdGhlaXJzID09PSIKLQljYXQgIiR0aGVpcnMiCi0pID4iJG91cnMrIgotY2F0ICIkb3VycysiID4iJG91cnMiCi1ybSAtZiAiJG91cnMrIgotZXhpdCAiJGV4aXQiCi1FT0YKLWNobW9kICt4IC4vY3VzdG9tLW1lcmdlCi0KIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2N1c3RvbSBtZXJnZSBiYWNrZW5kJyAnCiAKIAllY2hvICIqIG1lcmdlPXVuaW9uIiA+LmdpdGF0dHJpYnV0ZXMgJiYKZGlmZiAtLWdpdCBhL3QvdDYwMzAtYmlzZWN0LXBvcmNlbGFpbi5zaCBiL3QvdDYwMzAtYmlzZWN0LXBvcmNlbGFpbi5zaAppbmRleCBmODRmZjk0Li44MjFhMGM4IDEwMDc1NQotLS0gYS90L3Q2MDMwLWJpc2VjdC1wb3JjZWxhaW4uc2gKKysrIGIvdC90NjAzMC1iaXNlY3QtcG9yY2VsYWluLnNoCkBAIC00ODIsNyArNDgyLDcgQEAKIAlnaXQgYmlzZWN0IGdvb2QgPiBteV9iaXNlY3RfbG9nMi50eHQgJiYKIAl0ZXN0IC1mICIuZ2l0L0JJU0VDVF9BTkNFU1RPUlNfT0siICYmCiAJdGVzdCAiJEhBU0g2IiA9ICQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKSAmJgotCWdpdCBiaXNlY3QgYmFkID4gbXlfYmlzZWN0X2xvZzMudHh0ICYmCisJZ2l0IGJpc2VjdCBiYWQgJiYKIAlnaXQgYmlzZWN0IGdvb2QgIiRBX0hBU0giID4gbXlfYmlzZWN0X2xvZzQudHh0ICYmCiAJdGVzdF9pMThuZ3JlcCAibWVyZ2UgYmFzZSBtdXN0IGJlIHRlc3RlZCIgbXlfYmlzZWN0X2xvZzQudHh0ICYmCiAJdGVzdF9tdXN0X2ZhaWwgdGVzdCAtZiAiLmdpdC9CSVNFQ1RfQU5DRVNUT1JTX09LIgpAQCAtNjE1LDYgKzYxNSw3IEBACiAJZ2l0IGFkZCBtaXNzaW5nL01JU1NJTkcgJiYKIAlnaXQgY29tbWl0IC1tICI2KGJyb2tlbik6IEFkZGVkIGZpbGUgdGhhdCB3aWxsIGJlIGRlbGV0ZWQiICYmCiAJZ2l0IHRhZyBCUk9LRU5fSEFTSDYgJiYKKwlkZWxldGVkPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEOm1pc3NpbmcpICYmCiAJYWRkX2xpbmVfaW50b19maWxlICI3KGJyb2tlbik6IHNlY29uZCBsaW5lIG9uIGEgYnJva2VuIGJyYW5jaCIgaGVsbG8yICYmCiAJZ2l0IHRhZyBCUk9LRU5fSEFTSDcgJiYKIAlhZGRfbGluZV9pbnRvX2ZpbGUgIjgoYnJva2VuKTogdGhpcmQgbGluZSBvbiBhIGJyb2tlbiBicmFuY2giIGhlbGxvMiAmJgpAQCAtNjIyLDEyICs2MjMsMTIgQEAKIAlnaXQgcm0gbWlzc2luZy9NSVNTSU5HICYmCiAJZ2l0IGNvbW1pdCAtbSAiOShicm9rZW4pOiBSZW1vdmUgbWlzc2luZyBmaWxlIiAmJgogCWdpdCB0YWcgQlJPS0VOX0hBU0g5ICYmCi0Jcm0gLmdpdC9vYmplY3RzLzM5L2Y3ZTYxYTcyNDE4N2FiNzY3ZDJlMDg0NDJkOWI2YjlkYWI1ODdkCisJcm0gLmdpdC9vYmplY3RzLyQodGVzdF9vaWRfdG9fcGF0aCAkZGVsZXRlZCkKICcKIAogZWNobyAiIiA+IGV4cGVjdGVkLm9rCiBjYXQgPiBleHBlY3RlZC5taXNzaW5nLXRyZWUuZGVmYXVsdCA8PEVPRgotZmF0YWw6IHVuYWJsZSB0byByZWFkIHRyZWUgMzlmN2U2MWE3MjQxODdhYjc2N2QyZTA4NDQyZDliNmI5ZGFiNTg3ZAorZmF0YWw6IHVuYWJsZSB0byByZWFkIHRyZWUgJGRlbGV0ZWQKIEVPRgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdiaXNlY3QgZmFpbHMgaWYgdHJlZSBpcyBicm9rZW4gb24gc3RhcnQgY29tbWl0JyAnCkBAIC02ODEsNyArNjgyLDcgQEAKIAljaGVja19zYW1lIEJST0tFTl9IQVNINiBCSVNFQ1RfSEVBRCAmJgogCWdpdCBiaXNlY3QgYmFkIEJJU0VDVF9IRUFEICYmCiAJY2hlY2tfc2FtZSBCUk9LRU5fSEFTSDUgQklTRUNUX0hFQUQgJiYKLQlnaXQgYmlzZWN0IGdvb2QgQklTRUNUX0hFQUQgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgYmlzZWN0IGdvb2QgQklTRUNUX0hFQUQgJiYKIAljaGVja19zYW1lIEJST0tFTl9IQVNINiBiaXNlY3QvYmFkICYmCiAJZ2l0IGJpc2VjdCByZXNldAogJwpAQCAtNjkyLDcgKzY5Myw3IEBACiAJY2hlY2tfc2FtZSBCUk9LRU5fSEFTSDYgQklTRUNUX0hFQUQgJiYKIAlnaXQgYmlzZWN0IGdvb2QgQklTRUNUX0hFQUQgJiYKIAljaGVja19zYW1lIEJST0tFTl9IQVNIOCBCSVNFQ1RfSEVBRCAmJgotCWdpdCBiaXNlY3QgZ29vZCBCSVNFQ1RfSEVBRCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBiaXNlY3QgZ29vZCBCSVNFQ1RfSEVBRCAmJgogCWNoZWNrX3NhbWUgQlJPS0VOX0hBU0g5IGJpc2VjdC9iYWQgJiYKIAlnaXQgYmlzZWN0IHJlc2V0CiAnCkBAIC03MDEsNyArNzAyLDcgQEAKIAlnaXQgYmlzZWN0IHJlc2V0ICYmCiAJZ2l0IGNoZWNrb3V0IGJyb2tlbiAmJgogCWdpdCBiaXNlY3Qgc3RhcnQgYnJva2VuIG1hc3RlciAtLW5vLWNoZWNrb3V0ICYmCi0JZ2l0IGJpc2VjdCBydW4gXCJcJFNIRUxMX1BBVEhcIiAtYyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGJpc2VjdCBydW4gXCJcJFNIRUxMX1BBVEhcIiAtYyAnCiAJCUdPT0Q9XCQoZ2l0IGZvci1lYWNoLXJlZiBcIi0tZm9ybWF0PSUob2JqZWN0bmFtZSlcIiByZWZzL2Jpc2VjdC9nb29kLSopICYmCiAJCWdpdCByZXYtbGlzdCAtLW9iamVjdHMgQklTRUNUX0hFQUQgLS1ub3QgXCRHT09EID50bXAuXCRcJCAmJgogCQlnaXQgcGFjay1vYmplY3RzIC0tc3Rkb3V0ID4vZGV2L251bGwgPCB0bXAuXCRcJApAQCAtNzEzLDEyICs3MTQsMTIgQEAKICIKIAogY2F0ID4gZXhwZWN0ZWQuYmlzZWN0LWxvZyA8PEVPRgotIyBiYWQ6IFszMmE1OTRhM2ZkYWMyZDU3Y2Y2ZDAyOTg3ZTMwZWVjNjg1MTE0OThjXSBBZGQgPDQ6IENpYW8gZm9yIG5vdz4gaW50byA8aGVsbG8+LgotIyBnb29kOiBbN2I3ZjIwNGE3NDljMzEyNWQ1MjI0ZWQ2MWVhMmFlMTE4N2FkMDQ2Zl0gQWRkIDwyOiBBIG5ldyBkYXkgZm9yIGdpdD4gaW50byA8aGVsbG8+LgotZ2l0IGJpc2VjdCBzdGFydCAnMzJhNTk0YTNmZGFjMmQ1N2NmNmQwMjk4N2UzMGVlYzY4NTExNDk4YycgJzdiN2YyMDRhNzQ5YzMxMjVkNTIyNGVkNjFlYTJhZTExODdhZDA0NmYnCi0jIGdvb2Q6IFszZGU5NTJmMjQxNmI2MDg0ZjU1N2VjNDE3NzA5ZWFjNzQwYzY4MThjXSBBZGQgPDM6IEFub3RoZXIgbmV3IGRheSBmb3IgZ2l0PiBpbnRvIDxoZWxsbz4uCi1naXQgYmlzZWN0IGdvb2QgM2RlOTUyZjI0MTZiNjA4NGY1NTdlYzQxNzcwOWVhYzc0MGM2ODE4YwotIyBmaXJzdCBiYWQgY29tbWl0OiBbMzJhNTk0YTNmZGFjMmQ1N2NmNmQwMjk4N2UzMGVlYzY4NTExNDk4Y10gQWRkIDw0OiBDaWFvIGZvciBub3c+IGludG8gPGhlbGxvPi4KKyMgYmFkOiBbJEhBU0g0XSBBZGQgPDQ6IENpYW8gZm9yIG5vdz4gaW50byA8aGVsbG8+LgorIyBnb29kOiBbJEhBU0gyXSBBZGQgPDI6IEEgbmV3IGRheSBmb3IgZ2l0PiBpbnRvIDxoZWxsbz4uCitnaXQgYmlzZWN0IHN0YXJ0ICckSEFTSDQnICckSEFTSDInCisjIGdvb2Q6IFskSEFTSDNdIEFkZCA8MzogQW5vdGhlciBuZXcgZGF5IGZvciBnaXQ+IGludG8gPGhlbGxvPi4KK2dpdCBiaXNlY3QgZ29vZCAkSEFTSDMKKyMgZmlyc3QgYmFkIGNvbW1pdDogWyRIQVNINF0gQWRkIDw0OiBDaWFvIGZvciBub3c+IGludG8gPGhlbGxvPi4KIEVPRgogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdiaXNlY3QgbG9nOiBzdWNjZXNzZnVsIHJlc3VsdCcgJwpAQCAtNzMxLDE0ICs3MzIsMTQgQEAKICcKIAogY2F0ID4gZXhwZWN0ZWQuYmlzZWN0LXNraXAtbG9nIDw8RU9GCi0jIGJhZDogWzMyYTU5NGEzZmRhYzJkNTdjZjZkMDI5ODdlMzBlZWM2ODUxMTQ5OGNdIEFkZCA8NDogQ2lhbyBmb3Igbm93PiBpbnRvIDxoZWxsbz4uCi0jIGdvb2Q6IFs3YjdmMjA0YTc0OWMzMTI1ZDUyMjRlZDYxZWEyYWUxMTg3YWQwNDZmXSBBZGQgPDI6IEEgbmV3IGRheSBmb3IgZ2l0PiBpbnRvIDxoZWxsbz4uCi1naXQgYmlzZWN0IHN0YXJ0ICczMmE1OTRhM2ZkYWMyZDU3Y2Y2ZDAyOTg3ZTMwZWVjNjg1MTE0OThjJyAnN2I3ZjIwNGE3NDljMzEyNWQ1MjI0ZWQ2MWVhMmFlMTE4N2FkMDQ2ZicKLSMgc2tpcDogWzNkZTk1MmYyNDE2YjYwODRmNTU3ZWM0MTc3MDllYWM3NDBjNjgxOGNdIEFkZCA8MzogQW5vdGhlciBuZXcgZGF5IGZvciBnaXQ+IGludG8gPGhlbGxvPi4KLWdpdCBiaXNlY3Qgc2tpcCAzZGU5NTJmMjQxNmI2MDg0ZjU1N2VjNDE3NzA5ZWFjNzQwYzY4MThjCisjIGJhZDogWyRIQVNINF0gQWRkIDw0OiBDaWFvIGZvciBub3c+IGludG8gPGhlbGxvPi4KKyMgZ29vZDogWyRIQVNIMl0gQWRkIDwyOiBBIG5ldyBkYXkgZm9yIGdpdD4gaW50byA8aGVsbG8+LgorZ2l0IGJpc2VjdCBzdGFydCAnJEhBU0g0JyAnJEhBU0gyJworIyBza2lwOiBbJEhBU0gzXSBBZGQgPDM6IEFub3RoZXIgbmV3IGRheSBmb3IgZ2l0PiBpbnRvIDxoZWxsbz4uCitnaXQgYmlzZWN0IHNraXAgJEhBU0gzCiAjIG9ubHkgc2tpcHBlZCBjb21taXRzIGxlZnQgdG8gdGVzdAotIyBwb3NzaWJsZSBmaXJzdCBiYWQgY29tbWl0OiBbMzJhNTk0YTNmZGFjMmQ1N2NmNmQwMjk4N2UzMGVlYzY4NTExNDk4Y10gQWRkIDw0OiBDaWFvIGZvciBub3c+IGludG8gPGhlbGxvPi4KLSMgcG9zc2libGUgZmlyc3QgYmFkIGNvbW1pdDogWzNkZTk1MmYyNDE2YjYwODRmNTU3ZWM0MTc3MDllYWM3NDBjNjgxOGNdIEFkZCA8MzogQW5vdGhlciBuZXcgZGF5IGZvciBnaXQ+IGludG8gPGhlbGxvPi4KKyMgcG9zc2libGUgZmlyc3QgYmFkIGNvbW1pdDogWyRIQVNINF0gQWRkIDw0OiBDaWFvIGZvciBub3c+IGludG8gPGhlbGxvPi4KKyMgcG9zc2libGUgZmlyc3QgYmFkIGNvbW1pdDogWyRIQVNIM10gQWRkIDwzOiBBbm90aGVyIG5ldyBkYXkgZm9yIGdpdD4gaW50byA8aGVsbG8+LgogRU9GCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Jpc2VjdCBsb2c6IG9ubHkgc2tpcCBjb21taXRzIGxlZnQnICcKQEAgLTgwMiw3ICs4MDMsNyBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBiaXNlY3QgdGVybXMgb25seS1vbmUgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgYmlzZWN0IHRlcm1zIDEgMiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBiaXNlY3QgdGVybXMgMj5hY3R1YWwgJiYKLQllY2hvICJubyB0ZXJtcyBkZWZpbmVkIiA+ZXhwZWN0ZWQgJiYKKwllY2hvICJlcnJvcjogbm8gdGVybXMgZGVmaW5lZCIgPmV4cGVjdGVkICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCmRpZmYgLS1naXQgYS90L3Q2MDM0LW1lcmdlLXJlbmFtZS1ub2NydWZ0LnNoIGIvdC90NjAzNC1tZXJnZS1yZW5hbWUtbm9jcnVmdC5zaAppbmRleCA4OTg3MWFhLi5hMjVlNzMwIDEwMDc1NQotLS0gYS90L3Q2MDM0LW1lcmdlLXJlbmFtZS1ub2NydWZ0LnNoCisrKyBiL3QvdDYwMzQtbWVyZ2UtcmVuYW1lLW5vY3J1ZnQuc2gKQEAgLTMsNzQgKzMsNzMgQEAKIHRlc3RfZGVzY3JpcHRpb249J01lcmdlLXJlY3Vyc2l2ZSBtZXJnaW5nIHJlbmFtZXMnCiAuIC4vdGVzdC1saWIuc2gKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBzZXR1cCBcCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCcgJworCWNhdCA+QSA8PC1cRU9GICYmCisJYSBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEKKwliIGJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYgorCWMgY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjCisJZCBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQKKwllIGVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZQorCWYgZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmCisJZyBnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2cKKwloIGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaAorCWkgaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpCisJaiBqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqamoKKwlrIGtra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2traworCWwgbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCisJbSBtbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW0KKwluIG5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubgorCW8gb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vCisJRU9GCisKKwljYXQgPk0gPDwtXEVPRiAmJgorCUEgQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCisJQiBCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIKKwlDIENDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQworCUQgRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERECisJRSBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUKKwlGIEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgorCUcgR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHCisJSCBISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEgKKwlJIElJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSQorCUogSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKCisJSyBLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0sKKwlMIExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAorCU0gTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NCisJTiBOTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk4KKwlPIE9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PTworCUVPRgorCisJZ2l0IGFkZCBBIE0gJiYKKwlnaXQgY29tbWl0IC1tICJpbml0aWFsIGhhcyBBIGFuZCBNIiAmJgorCWdpdCBicmFuY2ggd2hpdGUgJiYKKwlnaXQgYnJhbmNoIHJlZCAmJgorCWdpdCBicmFuY2ggYmx1ZSAmJgorCisJZ2l0IGNoZWNrb3V0IHdoaXRlICYmCisJc2VkIC1lICIvXmcgL3MvLiovZyA6IHdoaXRlIGNoYW5nZXMgYSBsaW5lLyIgPEEgPkIgJiYKKwlzZWQgLWUgIi9eRyAvcy8uKi9HIDogY29sb3JlZCBicmFuY2ggY2hhbmdlcyBhIGxpbmUvIiA8TSA+TiAmJgorCXJtIC1mIEEgTSAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgLS1yZW1vdmUgQSBCIE0gTiAmJgorCWdpdCBjb21taXQgLW0gIndoaXRlIHJlbmFtZXMgQS0+QiwgTS0+TiIgJiYKKworCWdpdCBjaGVja291dCByZWQgJiYKKwllY2hvIGNyZWF0ZWQgYnkgcmVkID5SICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCBSICYmCisJZ2l0IGNvbW1pdCAtbSAicmVkIGNyZWF0ZXMgUiIgJiYKKworCWdpdCBjaGVja291dCBibHVlICYmCisJc2VkIC1lICIvXm8gL3MvLiovZyA6IGJsdWUgY2hhbmdlcyBhIGxpbmUvIiA8QSA+QiAmJgorCXJtIC1mIEEgJiYKKwltdiBCIEEgJiYKKwlnaXQgdXBkYXRlLWluZGV4IEEgJiYKKwlnaXQgY29tbWl0IC1tICJibHVlIG1vZGlmeSBBIiAmJgorCisJZ2l0IGNoZWNrb3V0IG1hc3RlcgogJwotY2F0ID5BIDw8XEVPRiAmJgotYSBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEKLWIgYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiCi1jIGNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjYwotZCBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQKLWUgZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlCi1mIGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZgotZyBnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2cKLWggaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoCi1pIGlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaQotaiBqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqamoKLWsga2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2trCi1sIGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAotbSBtbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW0KLW4gbm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubm5uCi1vIG9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vbwotRU9GCi0KLWNhdCA+TSA8PFxFT0YgJiYKLUEgQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCi1CIEJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQgotQyBDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0MKLUQgRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERECi1FIEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRQotRiBGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKLUcgR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHCi1IIEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISAotSSBJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUkKLUogSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKCi1LIEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSwotTCBMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwKLU0gTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NCi1OIE5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTgotTyBPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT08KLUVPRgotCi1naXQgYWRkIEEgTSAmJgotZ2l0IGNvbW1pdCAtbSAiaW5pdGlhbCBoYXMgQSBhbmQgTSIgJiYKLWdpdCBicmFuY2ggd2hpdGUgJiYKLWdpdCBicmFuY2ggcmVkICYmCi1naXQgYnJhbmNoIGJsdWUgJiYKLQotZ2l0IGNoZWNrb3V0IHdoaXRlICYmCi1zZWQgLWUgIi9eZyAvcy8uKi9nIDogd2hpdGUgY2hhbmdlcyBhIGxpbmUvIiA8QSA+QiAmJgotc2VkIC1lICIvXkcgL3MvLiovRyA6IGNvbG9yZWQgYnJhbmNoIGNoYW5nZXMgYSBsaW5lLyIgPE0gPk4gJiYKLXJtIC1mIEEgTSAmJgotZ2l0IHVwZGF0ZS1pbmRleCAtLWFkZCAtLXJlbW92ZSBBIEIgTSBOICYmCi1naXQgY29tbWl0IC1tICJ3aGl0ZSByZW5hbWVzIEEtPkIsIE0tPk4iICYmCi0KLWdpdCBjaGVja291dCByZWQgJiYKLWVjaG8gY3JlYXRlZCBieSByZWQgPlIgJiYKLWdpdCB1cGRhdGUtaW5kZXggLS1hZGQgUiAmJgotZ2l0IGNvbW1pdCAtbSAicmVkIGNyZWF0ZXMgUiIgJiYKLQotZ2l0IGNoZWNrb3V0IGJsdWUgJiYKLXNlZCAtZSAiL15vIC9zLy4qL2cgOiBibHVlIGNoYW5nZXMgYSBsaW5lLyIgPEEgPkIgJiYKLXJtIC1mIEEgJiYKLW12IEIgQSAmJgotZ2l0IHVwZGF0ZS1pbmRleCBBICYmCi1naXQgY29tbWl0IC1tICJibHVlIG1vZGlmeSBBIiAmJgotCi1naXQgY2hlY2tvdXQgbWFzdGVyJwogCiAjIFRoaXMgdGVzdCBicm9rZSBpbiA2NWFjNmU5YzNmNDc4MDdjYjYwM2FmMDdhNmE5ZTFhNDNiYzExOWFlCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdtZXJnZSB3aGl0ZSBpbnRvIHJlZCAoQS0+QixNLT5OKScgXAotJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWVyZ2Ugd2hpdGUgaW50byByZWQgKEEtPkIsTS0+TiknICcKIAlnaXQgY2hlY2tvdXQgLWIgcmVkLXdoaXRlIHJlZCAmJgogCWdpdCBtZXJnZSB3aGl0ZSAmJgogCWdpdCB3cml0ZS10cmVlICYmCkBAIC04Miw4ICs4MSw3IEBACiAnCiAKICMgVGhpcyB0ZXN0IGJyb2tlIGluIDgzNzEyMzRlY2FhZjZlMTRmZTNmMjA4MmE4NTVlZmYxYmJkNzlhZTkKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21lcmdlIGJsdWUgaW50byB3aGl0ZSAoQS0+QiwgbW9kIEEsIEEgdW50cmFja2VkKScgXAotJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWVyZ2UgYmx1ZSBpbnRvIHdoaXRlIChBLT5CLCBtb2QgQSwgQSB1bnRyYWNrZWQpJyAnCiAJZ2l0IGNoZWNrb3V0IC1iIHdoaXRlLWJsdWUgd2hpdGUgJiYKIAllY2hvIGRpcnR5ID5BICYmCiAJZ2l0IG1lcmdlIGJsdWUgJiYKZGlmZiAtLWdpdCBhL3QvdDYwMzUtbWVyZ2UtZGlyLXRvLXN5bWxpbmsuc2ggYi90L3Q2MDM1LW1lcmdlLWRpci10by1zeW1saW5rLnNoCmluZGV4IDkzMjRlYTQuLjJlZGRjYzcgMTAwNzU1Ci0tLSBhL3QvdDYwMzUtbWVyZ2UtZGlyLXRvLXN5bWxpbmsuc2gKKysrIGIvdC90NjAzNS1tZXJnZS1kaXItdG8tc3ltbGluay5zaApAQCAtMzEsMTkgKzMxLDE5IEBACiAJZ2l0IHJtIC0tY2FjaGVkIGEvYiAmJgogCWdpdCBjb21taXQgLW0gInVudHJhY2tlZCBzeW1saW5rIHJlbWFpbnMiICYmCiAJZ2l0IGNoZWNrb3V0IC1mIHN0YXJ0XjAgJiYKLQl0ZXN0IC1mIGEvYi0yL2MvZAorCXRlc3RfcGF0aF9pc19maWxlIGEvYi0yL2MvZAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja291dCBzaG91bGQgbm90IGhhdmUgZGVsZXRlZCBhL2ItMi9jL2QnICcKIAlnaXQgY2hlY2tvdXQgSEVBRF4wICYmCiAJZ2l0IHJlc2V0IC0taGFyZCBtYXN0ZXIgJiYKIAkgZ2l0IGNoZWNrb3V0IHN0YXJ0XjAgJiYKLQkgdGVzdCAtZiBhL2ItMi9jL2QKKwkgdGVzdF9wYXRoX2lzX2ZpbGUgYS9iLTIvYy9kCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGZvciBtZXJnZSB0ZXN0JyAnCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgotCXRlc3QgLWYgYS9iLTIvYy9kICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgYS9iLTIvYy9kICYmCiAJZWNobyB4ID4gYS94ICYmCiAJZ2l0IGFkZCBhL3ggJiYKIAlnaXQgY29tbWl0IC1tIHggJiYKQEAgLTU0LDcgKzU0LDcgQEAKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZ2l0IGNoZWNrb3V0IGJhc2VsaW5lXjAgJiYKIAlnaXQgbWVyZ2UgLXMgcmVzb2x2ZSBtYXN0ZXIgJiYKLQl0ZXN0IC1mIGEvYi0yL2MvZAorCXRlc3RfcGF0aF9pc19maWxlIGEvYi0yL2MvZAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFNZTUxJTktTICdhL2Igd2FzIHJlc29sdmVkIGFzIHN5bWxpbmsnICcKQEAgLTY1LDcgKzY1LDcgQEAKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZ2l0IGNoZWNrb3V0IGJhc2VsaW5lXjAgJiYKIAlnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIG1hc3RlciAmJgotCXRlc3QgLWYgYS9iLTIvYy9kCisJdGVzdF9wYXRoX2lzX2ZpbGUgYS9iLTIvYy9kCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgU1lNTElOS1MgJ2EvYiB3YXMgcmVzb2x2ZWQgYXMgc3ltbGluaycgJwpAQCAtNzYsNyArNzYsNyBAQAogCWdpdCByZXNldCAtLWhhcmQgJiYKIAlnaXQgY2hlY2tvdXQgbWFzdGVyXjAgJiYKIAlnaXQgbWVyZ2UgLXMgcmVzb2x2ZSBiYXNlbGluZV4wICYmCi0JdGVzdCAtZiBhL2ItMi9jL2QKKwl0ZXN0X3BhdGhfaXNfZmlsZSBhL2ItMi9jL2QKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBTWU1MSU5LUyAnYS9iIHdhcyByZXNvbHZlZCBhcyBzeW1saW5rJyAnCkBAIC04Nyw3ICs4Nyw3IEBACiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWdpdCBjaGVja291dCBtYXN0ZXJeMCAmJgogCWdpdCBtZXJnZSAtcyByZWN1cnNpdmUgYmFzZWxpbmVeMCAmJgotCXRlc3QgLWYgYS9iLTIvYy9kCisJdGVzdF9wYXRoX2lzX2ZpbGUgYS9iLTIvYy9kCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgU1lNTElOS1MgJ2EvYiB3YXMgcmVzb2x2ZWQgYXMgc3ltbGluaycgJwpAQCAtOTksOCArOTksOCBAQAogCWdpdCBjaGVja291dCBiYXNlbGluZV4wICYmCiAJPmEvYi9jL2UgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVzb2x2ZSBtYXN0ZXIgJiYKLQl0ZXN0IC1mIGEvYi9jL2UgJiYKLQl0ZXN0IC1mIGEvYi0yL2MvZAorCXRlc3RfcGF0aF9pc19maWxlIGEvYi9jL2UgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBhL2ItMi9jL2QKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZG8gbm90IGxvc2UgdW50cmFja2VkIGluIG1lcmdlIChyZWN1cnNpdmUpJyAnCkBAIC0xMDgsOCArMTA4LDggQEAKIAlnaXQgY2hlY2tvdXQgYmFzZWxpbmVeMCAmJgogCT5hL2IvYy9lICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBtYXN0ZXIgJiYKLQl0ZXN0IC1mIGEvYi9jL2UgJiYKLQl0ZXN0IC1mIGEvYi0yL2MvZAorCXRlc3RfcGF0aF9pc19maWxlIGEvYi9jL2UgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSBhL2ItMi9jL2QKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZG8gbm90IGxvc2UgbW9kaWZpY2F0aW9ucyBpbiBtZXJnZSAocmVzb2x2ZSknICcKQEAgLTE0MCw3ICsxNDAsNyBAQAogCWdpdCByZXNldCAtLWhhcmQgJiYKIAlnaXQgY2hlY2tvdXQgYmFzZWxpbmVeMCAmJgogCWdpdCBtZXJnZSAtcyByZXNvbHZlIHRlc3QyICYmCi0JdGVzdCAtZiBhL2IvYy9kCisJdGVzdF9wYXRoX2lzX2ZpbGUgYS9iL2MvZAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFNZTUxJTktTICdhL2ItMiB3YXMgcmVzb2x2ZWQgYXMgc3ltbGluaycgJwpAQCAtMTUxLDcgKzE1MSw3IEBACiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWdpdCBjaGVja291dCBiYXNlbGluZV4wICYmCiAJZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSB0ZXN0MiAmJgotCXRlc3QgLWYgYS9iL2MvZAorCXRlc3RfcGF0aF9pc19maWxlIGEvYi9jL2QKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBTWU1MSU5LUyAnYS9iLTIgd2FzIHJlc29sdmVkIGFzIHN5bWxpbmsnICcKQEAgLTE2Miw3ICsxNjIsNyBAQAogCWdpdCByZXNldCAtLWhhcmQgJiYKIAlnaXQgY2hlY2tvdXQgLWIgZm9vIHRlc3QyICYmCiAJZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBiYXNlbGluZV4wICYmCi0JdGVzdCAtZiBhL2IvYy9kCisJdGVzdF9wYXRoX2lzX2ZpbGUgYS9iL2MvZAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFNZTUxJTktTICdhL2ItMiB3YXMgcmVzb2x2ZWQgYXMgc3ltbGluaycgJwpkaWZmIC0tZ2l0IGEvdC90NjAzNi1yZWN1cnNpdmUtY29ybmVyLWNhc2VzLnNoIGIvdC90NjAzNi1yZWN1cnNpdmUtY29ybmVyLWNhc2VzLnNoCmluZGV4IGUxY2VmNTguLmIzYmY0NjIgMTAwNzU1Ci0tLSBhL3QvdDYwMzYtcmVjdXJzaXZlLWNvcm5lci1jYXNlcy5zaAorKysgYi90L3Q2MDM2LXJlY3Vyc2l2ZS1jb3JuZXItY2FzZXMuc2gKQEAgLTYwLDE5ICs2MCwxNiBAQAogCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIFIyXjAgJiYKIAogCQlnaXQgbHMtZmlsZXMgLXMgPm91dCAmJgotCQl0ZXN0X2xpbmVfY291bnQgPSAyIG91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSA1IG91dCAmJgogCQlnaXQgbHMtZmlsZXMgLXUgPm91dCAmJgotCQl0ZXN0X2xpbmVfY291bnQgPSAyIG91dCAmJgotCQlnaXQgbHMtZmlsZXMgLW8gPm91dCAmJgogCQl0ZXN0X2xpbmVfY291bnQgPSAzIG91dCAmJgorCQlnaXQgbHMtZmlsZXMgLW8gPm91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAxIG91dCAmJgogCiAJCWdpdCByZXYtcGFyc2UgPmV4cGVjdCAgICAgICBcCi0JCQlMMjp0aHJlZSAgIFIyOnRocmVlIFwKIAkJCUwyOnRocmVlICAgUjI6dGhyZWUgJiYKIAkJZ2l0IHJldi1wYXJzZSAgID5hY3R1YWwgICAgIFwKIAkJCToyOnRocmVlICAgOjM6dGhyZWUgJiYKLQkJZ2l0IGhhc2gtb2JqZWN0ID4+YWN0dWFsICAgIFwKLQkJCXRocmVlfkhFQUQgdGhyZWV+UjJeMCAmJgogCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAJKQogJwpAQCAtMTM2LDE5ICsxMzMsMTYgQEAKIAkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBSMl4wICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKLQkJdGVzdF9saW5lX2NvdW50ID0gMiBvdXQgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gNSBvdXQgJiYKIAkJZ2l0IGxzLWZpbGVzIC11ID5vdXQgJiYKLQkJdGVzdF9saW5lX2NvdW50ID0gMiBvdXQgJiYKLQkJZ2l0IGxzLWZpbGVzIC1vID5vdXQgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gMyBvdXQgJiYKKwkJZ2l0IGxzLWZpbGVzIC1vID5vdXQgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMSBvdXQgJiYKIAogCQlnaXQgcmV2LXBhcnNlID5leHBlY3QgICAgICAgXAotCQkJTDI6dGhyZWUgICBSMjp0aHJlZSBcCiAJCQlMMjp0aHJlZSAgIFIyOnRocmVlICYmCiAJCWdpdCByZXYtcGFyc2UgICA+YWN0dWFsICAgICBcCiAJCQk6Mjp0aHJlZSAgIDozOnRocmVlICYmCi0JCWdpdCBoYXNoLW9iamVjdCA+PmFjdHVhbCAgICBcCi0JCQl0aHJlZX5IRUFEIHRocmVlflIyXjAgJiYKIAkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogCSkKICcKQEAgLTE4NSw3ICsxNzksNyBAQAogCQlnaXQgYnJhbmNoIEIgJiYKIAkJZ2l0IGNoZWNrb3V0IC1iIEMgJiYKIAkJZWNobyAxMCA+PmEgJiYKLQkJZWNobyAib3RoZXIgY29udGVudCIgPj5uZXdfYSAmJgorCQl0ZXN0X3dyaXRlX2xpbmVzIDAgMSAyIDMgNCA1IDYgNyBmb29iYXIgPm5ld19hICYmCiAJCWdpdCBhZGQgYSBuZXdfYSAmJgogCQl0ZXN0X3RpY2sgJiYgZ2l0IGNvbW1pdCAtbSBDICYmCiAKQEAgLTE5NSwxNCArMTg5LDE0IEBACiAKIAkJZ2l0IGNoZWNrb3V0IEJeMCAmJgogCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgQyAmJgotCQlnaXQgY2xlYW4gLWYgJiYKKwkJZ2l0IHNob3cgOjI6bmV3X2EgPm5ld19hICYmCisJCWdpdCBhZGQgbmV3X2EgJiYKIAkJdGVzdF90aWNrICYmIGdpdCBjb21taXQgLW0gRCAmJgogCQlnaXQgdGFnIEQgJiYKIAogCQlnaXQgY2hlY2tvdXQgQ14wICYmCiAJCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBCICYmCi0JCXJtIG5ld19hfkhFQUQgbmV3X2EgJiYKLQkJcHJpbnRmICJJbmNvcnJlY3RseSBtZXJnZWQgY29udGVudCIgPj5uZXdfYSAmJgorCQl0ZXN0X3dyaXRlX2xpbmVzIDAgMSAyIDMgNCA1IDYgNyBiYWRfbWVyZ2UgPm5ld19hICYmCiAJCWdpdCBhZGQgLXUgJiYKIAkJdGVzdF90aWNrICYmIGdpdCBjb21taXQgLW0gRSAmJgogCQlnaXQgdGFnIEUKQEAgLTIyNCwyMiArMjE4LDk2IEBACiAJCWdpdCBscy1maWxlcyAtbyA+b3V0ICYmCiAJCXRlc3RfbGluZV9jb3VudCA9IDEgb3V0ICYmCiAKLQkJZ2l0IHJldi1wYXJzZSA+ZXhwZWN0ICAgICAgIFwKLQkJCUQ6bmV3X2EgIEU6bmV3X2EgJiYKLQkJZ2l0IHJldi1wYXJzZSAgID5hY3R1YWwgICAgIFwKLQkJCToyOm5ld19hIDozOm5ld19hICYmCi0JCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKLQogCQlnaXQgY2F0LWZpbGUgLXAgQzpuZXdfYSA+b3VycyAmJgotCQlnaXQgY2F0LWZpbGUgLXAgQjpuZXdfYSA+dGhlaXJzICYmCisJCWdpdCBjYXQtZmlsZSAtcCBDOmEgPnRoZWlycyAmJgogCQk+ZW1wdHkgJiYKIAkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlLWZpbGUgXAogCQkJLUwgIlRlbXBvcmFyeSBtZXJnZSBicmFuY2ggMSIgXAogCQkJLUwgIiIgXAogCQkJLUwgIlRlbXBvcmFyeSBtZXJnZSBicmFuY2ggMiIgXAogCQkJb3VycyBlbXB0eSB0aGVpcnMgJiYKKwkJc2VkIC1lICJzL15cKFs8PT5dXCkvXDFcMVwxLyIgb3VycyA+b3Vycy10d2Vha2VkICYmCisJCWdpdCBoYXNoLW9iamVjdCBvdXJzLXR3ZWFrZWQgPmV4cGVjdCAmJgorCQlnaXQgcmV2LXBhcnNlID4+ZXhwZWN0ICAgICAgXAorCQkJCSAgRDpuZXdfYSAgRTpuZXdfYSAmJgorCQlnaXQgcmV2LXBhcnNlICAgPmFjdHVhbCAgICAgXAorCQkJOjE6bmV3X2EgOjI6bmV3X2EgOjM6bmV3X2EgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJCSMgVGVzdCB0aGF0IHRoZSB0d28td2F5IG1lcmdlIGluIG5ld19hIGlzIGFzIGV4cGVjdGVkCisJCWdpdCBjYXQtZmlsZSAtcCBEOm5ld19hID5vdXJzICYmCisJCWdpdCBjYXQtZmlsZSAtcCBFOm5ld19hID50aGVpcnMgJiYKKwkJPmVtcHR5ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZS1maWxlIFwKKwkJCS1MICJIRUFEIiBcCisJCQktTCAiIiBcCisJCQktTCAiRV4wIiBcCisJCQlvdXJzIGVtcHR5IHRoZWlycyAmJgogCQlzZWQgLWUgInMvXlwoWzw9Pl1cKS9cMVwxXDEvIiBvdXJzID5leHBlY3QgJiYKLQkJZ2l0IGNhdC1maWxlIC1wIDoxOm5ld19hID5hY3R1YWwgJiYKKwkJZ2l0IGhhc2gtb2JqZWN0IG5ld19hID5hY3R1YWwgJiYKKwkJZ2l0IGhhc2gtb2JqZWN0IG91cnMgID5leHBlY3QgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKworIyBSZXBlYXQgdGhlIGFib3ZlIHRlc3RjYXNlIHdpdGggcHJlY2lzZWx5IHRoZSBzYW1lIHNldHVwLCBvdGhlciB0aGFuIHdpdGgKKyMgdGhlIHR3byBtZXJnZSBiYXNlcyBoYXZpbmcgZGlmZmVyZW50IG9yZGVyaW5ncyBvZiBjb21taXQgdGltZXN0YW1wcyBzbworIyB0aGF0IHRoZXkgYXJlIHJldmVyc2VkIGluIHRoZSBvcmRlciB0aGV5IGFyZSBwcm92aWRlZCB0byBtZXJnZS1yZWN1cnNpdmUsCisjIHNvIHRoYXQgd2UgY2FuIGltcHJvdmUgY29kZSBjb3ZlcmFnZS4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBkZXRlY3RzIGRpZmZlcmVudGx5IGhhbmRsZWQgbWVyZ2VzIGNvbmZsaWN0LCBzd2FwcGVkJyAnCisJKAorCQljZCByZW5hbWUtYWRkICYmCisKKwkJIyBEaWZmZXJlbmNlICMxOiBEbyBjbGVhbnVwIGZyb20gcHJldmlvdXMgdGVzdHJ1bgorCQlnaXQgcmVzZXQgLS1oYXJkICYmCisJCWdpdCBjbGVhbiAtZmRxeCAmJgorCisJCSMgRGlmZmVyZW5jZSAjMjogQ2hhbmdlIGNvbW1pdCB0aW1lc3RhbXBzCisJCWJ0aW1lPSQoZ2l0IGxvZyAtLW5vLXdhbGsgLS1kYXRlPXJhdyAtLWZvcm1hdD0lY2QgQiB8IGF3ayAie3ByaW50IFwkMX0iKSAmJgorCQljdGltZT0kKGdpdCBsb2cgLS1uby13YWxrIC0tZGF0ZT1yYXcgLS1mb3JtYXQ9JWNkIEMgfCBhd2sgIntwcmludCBcJDF9IikgJiYKKwkJbmV3Y3RpbWU9JCgoJGJ0aW1lKzEpKSAmJgorCQlnaXQgZmFzdC1leHBvcnQgLS1uby1kYXRhIC0tYWxsIHwgc2VkIC1lIHMvJGN0aW1lLyRuZXdjdGltZS8gfCBnaXQgZmFzdC1pbXBvcnQgLS1mb3JjZSAtLXF1aWV0ICYmCisJCSMgRW5kIG9mIG1vc3QgZGlmZmVyZW5jZXM7IHJlc3QgaXMgY29weS1wYXN0ZSBvZiBsYXN0IHRlc3QsCisJCSMgb3RoZXIgdGhhbiBzd2FwcGluZyBDOmEgYW5kIEM6bmV3X2EgZHVlIHRvIG9yZGVyIHN3aXRjaAorCisJCWdpdCBjaGVja291dCBEXjAgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBFXjAgJiYKKworCQlnaXQgbHMtZmlsZXMgLXMgPm91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAzIG91dCAmJgorCQlnaXQgbHMtZmlsZXMgLXUgPm91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAzIG91dCAmJgorCQlnaXQgbHMtZmlsZXMgLW8gPm91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAxIG91dCAmJgorCisJCWdpdCBjYXQtZmlsZSAtcCBDOmEgPm91cnMgJiYKKwkJZ2l0IGNhdC1maWxlIC1wIEM6bmV3X2EgPnRoZWlycyAmJgorCQk+ZW1wdHkgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlLWZpbGUgXAorCQkJLUwgIlRlbXBvcmFyeSBtZXJnZSBicmFuY2ggMSIgXAorCQkJLUwgIiIgXAorCQkJLUwgIlRlbXBvcmFyeSBtZXJnZSBicmFuY2ggMiIgXAorCQkJb3VycyBlbXB0eSB0aGVpcnMgJiYKKwkJc2VkIC1lICJzL15cKFs8PT5dXCkvXDFcMVwxLyIgb3VycyA+b3Vycy10d2Vha2VkICYmCisJCWdpdCBoYXNoLW9iamVjdCBvdXJzLXR3ZWFrZWQgPmV4cGVjdCAmJgorCQlnaXQgcmV2LXBhcnNlID4+ZXhwZWN0ICAgICAgXAorCQkJCSAgRDpuZXdfYSAgRTpuZXdfYSAmJgorCQlnaXQgcmV2LXBhcnNlICAgPmFjdHVhbCAgICAgXAorCQkJOjE6bmV3X2EgOjI6bmV3X2EgOjM6bmV3X2EgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJCSMgVGVzdCB0aGF0IHRoZSB0d28td2F5IG1lcmdlIGluIG5ld19hIGlzIGFzIGV4cGVjdGVkCisJCWdpdCBjYXQtZmlsZSAtcCBEOm5ld19hID5vdXJzICYmCisJCWdpdCBjYXQtZmlsZSAtcCBFOm5ld19hID50aGVpcnMgJiYKKwkJPmVtcHR5ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZS1maWxlIFwKKwkJCS1MICJIRUFEIiBcCisJCQktTCAiIiBcCisJCQktTCAiRV4wIiBcCisJCQlvdXJzIGVtcHR5IHRoZWlycyAmJgorCQlzZWQgLWUgInMvXlwoWzw9Pl1cKS9cMVwxXDEvIiBvdXJzID5leHBlY3QgJiYKKwkJZ2l0IGhhc2gtb2JqZWN0IG5ld19hID5hY3R1YWwgJiYKKwkJZ2l0IGhhc2gtb2JqZWN0IG91cnMgID5leHBlY3QgJiYKIAkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogCSkKICcKQEAgLTE0MDIsNCArMTQ3MCwzNTEgQEAKIAkpCiAnCiAKKyMgU2V0dXA6CisjICAgICAgICAgIEwxLS0tTDIKKyMgICAgICAgICAvICBcIC8gIFwKKyMgICBtYXN0ZXIgICAgWCAgICA/CisjICAgICAgICAgXCAgLyBcICAvCisjICAgICAgICAgIFIxLS0tUjIKKyMKKyMgV2hlcmU6CisjICAgbWFzdGVyIGhhcyB0d28gZmlsZXMsIG5hbWVkICdiJyBhbmQgJ2EnCisjICAgYnJhbmNoZXMgTDEgYW5kIFIxIGJvdGggbW9kaWZ5IGVhY2ggb2YgdGhlIHR3byBmaWxlcyBpbiBjb25mbGljdGluZyB3YXlzCisjCisjICAgTDIgaXMgYSBtZXJnZSBvZiBSMSBpbnRvIEwxOyBtb3JlIG9uIGl0IGxhdGVyLgorIyAgIFIyIGlzIGEgbWVyZ2Ugb2YgTDEgaW50byBSMTsgbW9yZSBvbiBpdCBsYXRlci4KKyMKKyMgICBYIGlzIGFuIGF1dG8tZ2VuZXJhdGVkIG1lcmdlLWJhc2UgdXNlZCB3aGVuIG1lcmdpbmcgTDIgYW5kIFIyLgorIyAgIHNpbmNlIFggaXMgYSBtZXJnZSBvZiBMMSBhbmQgUjEsIGl0IGhhcyBjb25mbGljdGluZyB2ZXJzaW9ucyBvZiBlYWNoIGZpbGUKKyMKKyMgICBNb3JlIGFib3V0IEwyIGFuZCBSMjoKKyMgICAgIC0gYm90aCByZXNvbHZlIHRoZSBjb25mbGljdHMgaW4gJ2InIGFuZCAnYScgZGlmZmVyZW50bHkKKyMgICAgIC0gTDIgcmVuYW1lcyAnYicgdG8gJ20nCisjICAgICAtIFIyIHJlbmFtZXMgJ2EnIHRvICdtJworIworIyAgIEluIHRoZSBlbmQsIGluIGZpbGUgJ20nIHdlIGhhdmUgZm91ciBkaWZmZXJlbnQgY29uZmxpY3RpbmcgZmlsZXMgKGZyb20KKyMgICB0d28gdmVyc2lvbnMgb2YgJ2InIGFuZCB0d28gb2YgJ2EnKS4gIEluIGFkZGl0aW9uLCBpZgorIyAgIG1lcmdlLmNvbmZsaWN0c3R5bGUgaXMgZGlmZjMsIHRoZW4gdGhlIGJhc2UgdmVyc2lvbiBhbHNvIGhhcworIyAgIGNvbmZsaWN0IG1hcmtlcnMgb2YgaXRzIG93biwgbGVhZGluZyB0byBhIHRvdGFsIG9mIHRocmVlIGxldmVscyBvZgorIyAgIGNvbmZsaWN0IG1hcmtlcnMuICBUaGlzIGlzIGEgcHJldHR5IHdlaXJkIGNvcm5lciBjYXNlLCBidXQgd2UganVzdCB3YW50CisjICAgdG8gZW5zdXJlIHRoYXQgd2UgaGFuZGxlIGl0IGFzIHdlbGwgYXMgcHJhY3RpY2FsLgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBuZXN0ZWQgY29uZmxpY3RzJyAnCisJdGVzdF9jcmVhdGVfcmVwbyBuZXN0ZWRfY29uZmxpY3RzICYmCisJKAorCQljZCBuZXN0ZWRfY29uZmxpY3RzICYmCisKKwkJIyBDcmVhdGUgc29tZSByZWxhdGVkIGZpbGVzIG5vdworCQlmb3IgaSBpbiAkKHRlc3Rfc2VxIDEgMTApCisJCWRvCisJCQllY2hvIFJhbmRvbSBiYXNlIGNvbnRlbnQgbGluZSAkaQorCQlkb25lID5pbml0aWFsICYmCisKKwkJY3AgaW5pdGlhbCBiX0wxICYmCisJCWNwIGluaXRpYWwgYl9SMSAmJgorCQljcCBpbml0aWFsIGJfTDIgJiYKKwkJY3AgaW5pdGlhbCBiX1IyICYmCisJCWNwIGluaXRpYWwgYV9MMSAmJgorCQljcCBpbml0aWFsIGFfUjEgJiYKKwkJY3AgaW5pdGlhbCBhX0wyICYmCisJCWNwIGluaXRpYWwgYV9SMiAmJgorCisJCXRlc3Rfd3JpdGVfbGluZXMgYiBiX0wxID4+Yl9MMSAmJgorCQl0ZXN0X3dyaXRlX2xpbmVzIGIgYl9SMSA+PmJfUjEgJiYKKwkJdGVzdF93cml0ZV9saW5lcyBiIGJfTDIgPj5iX0wyICYmCisJCXRlc3Rfd3JpdGVfbGluZXMgYiBiX1IyID4+Yl9SMiAmJgorCQl0ZXN0X3dyaXRlX2xpbmVzIGEgYV9MMSA+PmFfTDEgJiYKKwkJdGVzdF93cml0ZV9saW5lcyBhIGFfUjEgPj5hX1IxICYmCisJCXRlc3Rfd3JpdGVfbGluZXMgYSBhX0wyID4+YV9MMiAmJgorCQl0ZXN0X3dyaXRlX2xpbmVzIGEgYV9SMiA+PmFfUjIgJiYKKworCQkjIFNldHVwIG9yaWdpbmFsIGNvbW1pdCAob3IgbWVyZ2UtYmFzZSksIGNvbnNpc3Rpbmcgb2YKKwkJIyBmaWxlcyBuYW1lZCAiYiIgYW5kICJhIgorCQljcCBpbml0aWFsIGIgJiYKKwkJY3AgaW5pdGlhbCBhICYmCisJCWVjaG8gYiA+PmIgJiYKKwkJZWNobyBhID4+YSAmJgorCQlnaXQgYWRkIGIgYSAmJgorCQl0ZXN0X3RpY2sgJiYgZ2l0IGNvbW1pdCAtbSBpbml0aWFsICYmCisKKwkJZ2l0IGJyYW5jaCBMICYmCisJCWdpdCBicmFuY2ggUiAmJgorCisJCSMgSGFuZGxlIHRoZSBsZWZ0IHNpZGUKKwkJZ2l0IGNoZWNrb3V0IEwgJiYKKwkJbXYgLWYgYl9MMSBiICYmCisJCW12IC1mIGFfTDEgYSAmJgorCQlnaXQgYWRkIGIgYSAmJgorCQl0ZXN0X3RpY2sgJiYgZ2l0IGNvbW1pdCAtbSAidmVyc2lvbiBMMSBvZiBmaWxlcyIgJiYKKwkJZ2l0IHRhZyBMMSAmJgorCisJCSMgSGFuZGxlIHRoZSByaWdodCBzaWRlCisJCWdpdCBjaGVja291dCBSICYmCisJCW12IC1mIGJfUjEgYiAmJgorCQltdiAtZiBhX1IxIGEgJiYKKwkJZ2l0IGFkZCBiIGEgJiYKKwkJdGVzdF90aWNrICYmIGdpdCBjb21taXQgLW0gInZlcnNpb24gUjEgb2YgZmlsZXMiICYmCisJCWdpdCB0YWcgUjEgJiYKKworCQkjIENyZWF0ZSBmaXJzdCBtZXJnZSBvbiBsZWZ0IHNpZGUKKwkJZ2l0IGNoZWNrb3V0IEwgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIFIxICYmCisJCW12IC1mIGJfTDIgYiAmJgorCQltdiAtZiBhX0wyIGEgJiYKKwkJZ2l0IGFkZCBiIGEgJiYKKwkJZ2l0IG12IGIgbSAmJgorCQl0ZXN0X3RpY2sgJiYgZ2l0IGNvbW1pdCAtbSAibGVmdCBtZXJnZSwgcmVuYW1lIGItPm0iICYmCisJCWdpdCB0YWcgTDIgJiYKKworCQkjIENyZWF0ZSBmaXJzdCBtZXJnZSBvbiByaWdodCBzaWRlCisJCWdpdCBjaGVja291dCBSICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBMMSAmJgorCQltdiAtZiBiX1IyIGIgJiYKKwkJbXYgLWYgYV9SMiBhICYmCisJCWdpdCBhZGQgYiBhICYmCisJCWdpdCBtdiBhIG0gJiYKKwkJdGVzdF90aWNrICYmIGdpdCBjb21taXQgLW0gInJpZ2h0IG1lcmdlLCByZW5hbWUgYS0+bSIgJiYKKwkJZ2l0IHRhZyBSMgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgbmVzdGVkIGNvbmZsaWN0cycgJworCSgKKwkJY2QgbmVzdGVkX2NvbmZsaWN0cyAmJgorCisJCWdpdCBjbGVhbiAtZiAmJgorCQlNQVNURVI9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgbWFzdGVyKSAmJgorCQlnaXQgY2hlY2tvdXQgTDJeMCAmJgorCisJCSMgTWVyZ2UgbXVzdCBmYWlsOyB0aGVyZSBpcyBhIGNvbmZsaWN0CisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5jb25mbGljdHN0eWxlPWRpZmYzIG1lcmdlIC1zIHJlY3Vyc2l2ZSBSMl4wICYmCisKKwkJIyBNYWtlIHN1cmUgdGhlIGluZGV4IGhhcyB0aGUgcmlnaHQgbnVtYmVyIG9mIGVudHJpZXMKKwkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMiBvdXQgJiYKKwkJZ2l0IGxzLWZpbGVzIC11ID5vdXQgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMiBvdXQgJiYKKwkJIyBFbnN1cmUgd2UgaGF2ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgdW50cmFja2VkIGZpbGVzCisJCWdpdCBscy1maWxlcyAtbyA+b3V0ICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDEgb3V0ICYmCisKKwkJIyBDcmVhdGUgYSBhbmQgYiBmcm9tIHZpcnR1YWwgbWVyZ2UgYmFzZSBYCisJCWdpdCBjYXQtZmlsZSAtcCBtYXN0ZXI6YSA+YmFzZSAmJgorCQlnaXQgY2F0LWZpbGUgLXAgTDE6YSA+b3VycyAmJgorCQlnaXQgY2F0LWZpbGUgLXAgUjE6YSA+dGhlaXJzICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZS1maWxlIC0tZGlmZjMgXAorCQkJLUwgIlRlbXBvcmFyeSBtZXJnZSBicmFuY2ggMSIgXAorCQkJLUwgIiRNQVNURVIiICBcCisJCQktTCAiVGVtcG9yYXJ5IG1lcmdlIGJyYW5jaCAyIiBcCisJCQlvdXJzICBcCisJCQliYXNlICBcCisJCQl0aGVpcnMgJiYKKwkJc2VkIC1lICJzL15cKFs8fD0+XVwpL1wxXDEvIiBvdXJzID52bWJfYSAmJgorCisJCWdpdCBjYXQtZmlsZSAtcCBtYXN0ZXI6YiA+YmFzZSAmJgorCQlnaXQgY2F0LWZpbGUgLXAgTDE6YiA+b3VycyAmJgorCQlnaXQgY2F0LWZpbGUgLXAgUjE6YiA+dGhlaXJzICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZS1maWxlIC0tZGlmZjMgXAorCQkJLUwgIlRlbXBvcmFyeSBtZXJnZSBicmFuY2ggMSIgXAorCQkJLUwgIiRNQVNURVIiICBcCisJCQktTCAiVGVtcG9yYXJ5IG1lcmdlIGJyYW5jaCAyIiBcCisJCQlvdXJzICBcCisJCQliYXNlICBcCisJCQl0aGVpcnMgJiYKKwkJc2VkIC1lICJzL15cKFs8fD0+XVwpL1wxXDEvIiBvdXJzID52bWJfYiAmJgorCisJCSMgQ29tcGFyZSA6MjptIHRvIGV4cGVjdGVkIHZhbHVlcworCQlnaXQgY2F0LWZpbGUgLXAgTDI6bSA+b3VycyAmJgorCQlnaXQgY2F0LWZpbGUgLXAgUjI6YiA+dGhlaXJzICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZS1maWxlIC0tZGlmZjMgIFwKKwkJCS1MICJIRUFEOm0iICAgICAgICAgICAgICAgICAgICBcCisJCQktTCAibWVyZ2VkIGNvbW1vbiBhbmNlc3RvcnM6YiIgXAorCQkJLUwgIlIyXjA6YiIgICAgICAgICAgICAgICAgICAgIFwKKwkJCW91cnMgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisJCQl2bWJfYiAgICAgICAgICAgICAgICAgICAgICAgICAgXAorCQkJdGhlaXJzICAgICAgICAgICAgICAgICAgICAgICAgICYmCisJCXNlZCAtZSAicy9eXChbPHw9Pl1cKS9cMVwxLyIgb3VycyA+bV9zdGFnZV8yICYmCisJCWdpdCBjYXQtZmlsZSAtcCA6MjptID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgbV9zdGFnZV8yIGFjdHVhbCAmJgorCisJCSMgQ29tcGFyZSA6MzptIHRvIGV4cGVjdGVkIHZhbHVlcworCQlnaXQgY2F0LWZpbGUgLXAgTDI6YSA+b3VycyAmJgorCQlnaXQgY2F0LWZpbGUgLXAgUjI6bSA+dGhlaXJzICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZS1maWxlIC0tZGlmZjMgIFwKKwkJCS1MICJIRUFEOmEiICAgICAgICAgICAgICAgICAgICBcCisJCQktTCAibWVyZ2VkIGNvbW1vbiBhbmNlc3RvcnM6YSIgXAorCQkJLUwgIlIyXjA6bSIgICAgICAgICAgICAgICAgICAgIFwKKwkJCW91cnMgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisJCQl2bWJfYSAgICAgICAgICAgICAgICAgICAgICAgICAgXAorCQkJdGhlaXJzICAgICAgICAgICAgICAgICAgICAgICAgICYmCisJCXNlZCAtZSAicy9eXChbPHw9Pl1cKS9cMVwxLyIgb3VycyA+bV9zdGFnZV8zICYmCisJCWdpdCBjYXQtZmlsZSAtcCA6MzptID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgbV9zdGFnZV8zIGFjdHVhbCAmJgorCisJCSMgQ29tcGFyZSBtIHRvIGV4cGVjdGVkIGNvbnRlbnRzCisJCT5lbXB0eSAmJgorCQljcCBtX3N0YWdlXzIgZXhwZWN0ZWRfZmluYWxfbSAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UtZmlsZSAtLWRpZmYzIFwKKwkJCS1MICJIRUFEIiAgICAgICAgICAgICAgICAgICAgIFwKKwkJCS1MICJtZXJnZWQgY29tbW9uIGFuY2VzdG9ycyIgIFwKKwkJCS1MICJSMl4wIiAgICAgICAgICAgICAgICAgICAgIFwKKwkJCWV4cGVjdGVkX2ZpbmFsX20gICAgICAgICAgICAgIFwKKwkJCWVtcHR5ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKwkJCW1fc3RhZ2VfMyAgICAgICAgICAgICAgICAgICAgICYmCisJCXRlc3RfY21wIGV4cGVjdGVkX2ZpbmFsX20gbQorCSkKKycKKworIyBTZXR1cDoKKyMgICAgICAgICAgTDEtLS1MMi0tLUwzCisjICAgICAgICAgLyAgXCAvICBcIC8gIFwKKyMgICBtYXN0ZXIgICAgWDEgICBYMiAgID8KKyMgICAgICAgICBcICAvIFwgIC8gXCAgLworIyAgICAgICAgICBSMS0tLVIyLS0tUjMKKyMKKyMgV2hlcmU6CisjICAgbWFzdGVyIGhhcyBvbmUgZmlsZSBuYW1lZCAnY29udGVudCcKKyMgICBicmFuY2hlcyBMMSBhbmQgUjEgYm90aCBtb2RpZnkgZWFjaCBvZiB0aGUgdHdvIGZpbGVzIGluIGNvbmZsaWN0aW5nIHdheXMKKyMKKyMgICBMPG4+IChuPjEpIGlzIGEgbWVyZ2Ugb2YgUjxuLTE+IGludG8gTDxuLTE+CisjICAgUjxuPiAobj4xKSBpcyBhIG1lcmdlIG9mIEw8bi0xPiBpbnRvIFI8bi0xPgorIyAgIEw8bj4gYW5kIFI8bj4gcmVzb2x2ZSB0aGUgY29uZmxpY3RzIGRpZmZlcmVudGx5LgorIworIyAgIFg8bj4gaXMgYW4gYXV0by1nZW5lcmF0ZWQgbWVyZ2UtYmFzZSB1c2VkIHdoZW4gbWVyZ2luZyBMPG4rMT4gYW5kIFI8bisxPi4KKyMgICBCeSBjb25zdHJ1Y3Rpb24sIFgxIGhhcyBjb25mbGljdCBtYXJrZXJzIGR1ZSB0byBjb25mbGljdGluZyB2ZXJzaW9ucy4KKyMgICBYMiwgZHVlIHRvIHVzaW5nIG1lcmdlLmNvbmZsaWN0c3R5bGU9MywgaGFzIG5lc3RlZCBjb25mbGljdCBtYXJrZXJzLgorIworIyAgIFNvLCBtZXJnaW5nIFIzIGludG8gTDMgdXNpbmcgbWVyZ2UuY29uZmxpY3RzdHlsZT0zIHNob3VsZCBzaG93IHRoZQorIyAgIG5lc3RlZCBjb25mbGljdCBtYXJrZXJzIGZyb20gWDIgaW4gdGhlIGJhc2UgdmVyc2lvbiAtLSB0aGF0IG1lYW5zIHdlCisjICAgaGF2ZSB0aHJlZSBsZXZlbHMgb2YgY29uZmxpY3QgbWFya2Vycy4gIENhbiB3ZSBkaXN0aW5ndWlzaCBhbGwgdGhyZWU/CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHZpcnR1YWwgbWVyZ2UgYmFzZSB3aXRoIG5lc3RlZCBjb25mbGljdHMnICcKKwl0ZXN0X2NyZWF0ZV9yZXBvIHZpcnR1YWxfbWVyZ2VfYmFzZV9oYXNfbmVzdGVkX2NvbmZsaWN0cyAmJgorCSgKKwkJY2QgdmlydHVhbF9tZXJnZV9iYXNlX2hhc19uZXN0ZWRfY29uZmxpY3RzICYmCisKKwkJIyBDcmVhdGUgc29tZSByZWxhdGVkIGZpbGVzIG5vdworCQlmb3IgaSBpbiAkKHRlc3Rfc2VxIDEgMTApCisJCWRvCisJCQllY2hvIFJhbmRvbSBiYXNlIGNvbnRlbnQgbGluZSAkaQorCQlkb25lID5jb250ZW50ICYmCisKKwkJIyBTZXR1cCBvcmlnaW5hbCBjb21taXQKKwkJZ2l0IGFkZCBjb250ZW50ICYmCisJCXRlc3RfdGljayAmJiBnaXQgY29tbWl0IC1tIGluaXRpYWwgJiYKKworCQlnaXQgYnJhbmNoIEwgJiYKKwkJZ2l0IGJyYW5jaCBSICYmCisKKwkJIyBDcmVhdGUgTDEKKwkJZ2l0IGNoZWNrb3V0IEwgJiYKKwkJZWNobyBsZWZ0ID4+Y29udGVudCAmJgorCQlnaXQgYWRkIGNvbnRlbnQgJiYKKwkJdGVzdF90aWNrICYmIGdpdCBjb21taXQgLW0gInZlcnNpb24gTDEgb2YgY29udGVudCIgJiYKKwkJZ2l0IHRhZyBMMSAmJgorCisJCSMgQ3JlYXRlIFIxCisJCWdpdCBjaGVja291dCBSICYmCisJCWVjaG8gcmlnaHQgPj5jb250ZW50ICYmCisJCWdpdCBhZGQgY29udGVudCAmJgorCQl0ZXN0X3RpY2sgJiYgZ2l0IGNvbW1pdCAtbSAidmVyc2lvbiBSMSBvZiBjb250ZW50IiAmJgorCQlnaXQgdGFnIFIxICYmCisKKwkJIyBDcmVhdGUgTDIKKwkJZ2l0IGNoZWNrb3V0IEwgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIG1lcmdlLmNvbmZsaWN0c3R5bGU9ZGlmZjMgbWVyZ2UgUjEgJiYKKwkJZ2l0IGNoZWNrb3V0IEwxIGNvbnRlbnQgJiYKKwkJdGVzdF90aWNrICYmIGdpdCBjb21taXQgLW0gInZlcnNpb24gTDIgb2YgY29udGVudCIgJiYKKwkJZ2l0IHRhZyBMMiAmJgorCisJCSMgQ3JlYXRlIFIyCisJCWdpdCBjaGVja291dCBSICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5jb25mbGljdHN0eWxlPWRpZmYzIG1lcmdlIEwxICYmCisJCWdpdCBjaGVja291dCBSMSBjb250ZW50ICYmCisJCXRlc3RfdGljayAmJiBnaXQgY29tbWl0IC1tICJ2ZXJzaW9uIFIyIG9mIGNvbnRlbnQiICYmCisJCWdpdCB0YWcgUjIgJiYKKworCQkjIENyZWF0ZSBMMworCQlnaXQgY2hlY2tvdXQgTCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgLWMgbWVyZ2UuY29uZmxpY3RzdHlsZT1kaWZmMyBtZXJnZSBSMiAmJgorCQlnaXQgY2hlY2tvdXQgTDEgY29udGVudCAmJgorCQl0ZXN0X3RpY2sgJiYgZ2l0IGNvbW1pdCAtbSAidmVyc2lvbiBMMyBvZiBjb250ZW50IiAmJgorCQlnaXQgdGFnIEwzICYmCisKKwkJIyBDcmVhdGUgUjMKKwkJZ2l0IGNoZWNrb3V0IFIgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIG1lcmdlLmNvbmZsaWN0c3R5bGU9ZGlmZjMgbWVyZ2UgTDIgJiYKKwkJZ2l0IGNoZWNrb3V0IFIxIGNvbnRlbnQgJiYKKwkJdGVzdF90aWNrICYmIGdpdCBjb21taXQgLW0gInZlcnNpb24gUjMgb2YgY29udGVudCIgJiYKKwkJZ2l0IHRhZyBSMworCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgdmlydHVhbCBtZXJnZSBiYXNlIHdpdGggbmVzdGVkIGNvbmZsaWN0cycgJworCSgKKwkJY2QgdmlydHVhbF9tZXJnZV9iYXNlX2hhc19uZXN0ZWRfY29uZmxpY3RzICYmCisKKwkJTUFTVEVSPSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IG1hc3RlcikgJiYKKwkJZ2l0IGNoZWNrb3V0IEwzXjAgJiYKKworCQkjIE1lcmdlIG11c3QgZmFpbDsgdGhlcmUgaXMgYSBjb25mbGljdAorCQl0ZXN0X211c3RfZmFpbCBnaXQgLWMgbWVyZ2UuY29uZmxpY3RzdHlsZT1kaWZmMyBtZXJnZSAtcyByZWN1cnNpdmUgUjNeMCAmJgorCisJCSMgTWFrZSBzdXJlIHRoZSBpbmRleCBoYXMgdGhlIHJpZ2h0IG51bWJlciBvZiBlbnRyaWVzCisJCWdpdCBscy1maWxlcyAtcyA+b3V0ICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDMgb3V0ICYmCisJCWdpdCBscy1maWxlcyAtdSA+b3V0ICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDMgb3V0ICYmCisJCSMgRW5zdXJlIHdlIGhhdmUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIHVudHJhY2tlZCBmaWxlcworCQlnaXQgbHMtZmlsZXMgLW8gPm91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAxIG91dCAmJgorCisJCSMgQ29tcGFyZSA6WzIzXTpjb250ZW50IHRvIGV4cGVjdGVkIHZhbHVlcworCQlnaXQgcmV2LXBhcnNlIEwxOmNvbnRlbnQgUjE6Y29udGVudCA+ZXhwZWN0ICYmCisJCWdpdCByZXYtcGFyc2UgOjI6Y29udGVudCA6Mzpjb250ZW50ID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJCSMgSW1pdGF0ZSBYMSBtZXJnZSBiYXNlLCBleGNlcHQgd2l0aG91dCBsb25nIGVub3VnaCBjb25mbGljdAorCQkjIG1hcmtlcnMgYmVjYXVzZSBhIHN1YnNlcXVlbnQgc2VkIHdpbGwgbW9kaWZ5IHRoZW0uICBQdXQKKwkJIyByZXN1bHQgaW50byB2bWIuCisJCWdpdCBjYXQtZmlsZSAtcCBtYXN0ZXI6Y29udGVudCA+YmFzZSAmJgorCQlnaXQgY2F0LWZpbGUgLXAgTDpjb250ZW50ID5sZWZ0ICYmCisJCWdpdCBjYXQtZmlsZSAtcCBSOmNvbnRlbnQgPnJpZ2h0ICYmCisJCWNwIGxlZnQgbWVyZ2VkLW9uY2UgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlLWZpbGUgLS1kaWZmMyBcCisJCQktTCAiVGVtcG9yYXJ5IG1lcmdlIGJyYW5jaCAxIiBcCisJCQktTCAiJE1BU1RFUiIgIFwKKwkJCS1MICJUZW1wb3JhcnkgbWVyZ2UgYnJhbmNoIDIiIFwKKwkJCW1lcmdlZC1vbmNlIFwKKwkJCWJhc2UgICAgICAgIFwKKwkJCXJpZ2h0ICAgICAgICYmCisJCXNlZCAtZSAicy9eXChbPHw9Pl1cKS9cMVwxXDEvIiBtZXJnZWQtb25jZSA+dm1iICYmCisKKwkJIyBJbWl0YXRlIFgyIG1lcmdlIGJhc2UsIG92ZXJ3cml0aW5nIHZtYi4gIE5vdGUgdGhhdCB3ZQorCQkjIGV4dGVuZCBib3RoIHNldHMgb2YgY29uZmxpY3QgbWFya2VycyB0byBtYWtlIHRoZW0gbG9uZ2VyCisJCSMgd2l0aCB0aGUgc2VkIGNvbW1hbmQuCisJCWNwIGxlZnQgbWVyZ2VkLXR3aWNlICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZS1maWxlIC0tZGlmZjMgXAorCQkJLUwgIlRlbXBvcmFyeSBtZXJnZSBicmFuY2ggMSIgXAorCQkJLUwgIm1lcmdlZCBjb21tb24gYW5jZXN0b3JzIiAgXAorCQkJLUwgIlRlbXBvcmFyeSBtZXJnZSBicmFuY2ggMiIgXAorCQkJbWVyZ2VkLXR3aWNlIFwKKwkJCXZtYiAgICAgICAgICBcCisJCQlyaWdodCAgICAgICAgJiYKKwkJc2VkIC1lICJzL15cKFs8fD0+XVwpL1wxXDFcMS8iIG1lcmdlZC10d2ljZSA+dm1iICYmCisKKwkJIyBDb21wYXJlIDoxOmNvbnRlbnQgdG8gZXhwZWN0ZWQgdmFsdWUKKwkJZ2l0IGNhdC1maWxlIC1wIDoxOmNvbnRlbnQgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCB2bWIgYWN0dWFsICYmCisKKwkJIyBEZXRlcm1pbmUgZXhwZWN0ZWQgY29udGVudCBpbiBmaW5hbCBvdXRlciBtZXJnZSwgY29tcGFyZSB0bworCQkjIHdoYXQgdGhlIG1lcmdlIGdlbmVyYXRlZC4KKwkJY3AgLWYgbGVmdCBleHBlY3QgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlLWZpbGUgLS1kaWZmMyAgICAgICAgICAgICAgICAgICAgICBcCisJCQktTCAiSEVBRCIgIC1MICJtZXJnZWQgY29tbW9uIGFuY2VzdG9ycyIgIC1MICJSM14wIiBcCisJCQlleHBlY3QgICAgIHZtYiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0ICAgICAmJgorCQl0ZXN0X2NtcCBleHBlY3QgY29udGVudAorCSkKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q2MDQwLXRyYWNraW5nLWluZm8uc2ggYi90L3Q2MDQwLXRyYWNraW5nLWluZm8uc2gKaW5kZXggNzE2MjgzYi4uYWQxOTIyYiAxMDA3NTUKLS0tIGEvdC90NjA0MC10cmFja2luZy1pbmZvLnNoCisrKyBiL3QvdDYwNDAtdHJhY2tpbmctaW5mby5zaApAQCAtMzgsNyArMzgsNyBAQAogCWFkdmFuY2UgaAogJwogCi1zY3JpcHQ9J3MvXi4uXChiLlwpICpbMC05YS1mXSogXCguKlwpJC9cMSBcMi9wJwordDYwNDBfc2NyaXB0PSdzL14uLlwoYi5cKSAqWzAtOWEtZl0qIFwoLipcKSQvXDEgXDIvcCcKIGNhdCA+ZXhwZWN0IDw8XEVPRgogYjEgW2FoZWFkIDEsIGJlaGluZCAxXSBkCiBiMiBbYWhlYWQgMSwgYmVoaW5kIDFdIGQKQEAgLTUzLDcgKzUzLDcgQEAKIAkJY2QgdGVzdCAmJgogCQlnaXQgYnJhbmNoIC12CiAJKSB8Ci0Jc2VkIC1uIC1lICIkc2NyaXB0IiA+YWN0dWFsICYmCisJc2VkIC1uIC1lICIkdDYwNDBfc2NyaXB0IiA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwKICcKIApAQCAtNzEsNyArNzEsNyBAQAogCQljZCB0ZXN0ICYmCiAJCWdpdCBicmFuY2ggLXZ2CiAJKSB8Ci0Jc2VkIC1uIC1lICIkc2NyaXB0IiA+YWN0dWFsICYmCisJc2VkIC1uIC1lICIkdDYwNDBfc2NyaXB0IiA+YWN0dWFsICYmCiAJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwKICcKIApAQCAtMTYwLDYgKzE2MCwxOSBAQAogJwogCiBjYXQgPmV4cGVjdCA8PFxFT0YKKyMjIGIxLi4ub3JpZ2luL21hc3RlciBbZGlmZmVyZW50XQorRU9GCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cy5haGVhZGJlaGluZD1mYWxzZSBzdGF0dXMgLXMgLWIgKGRpdmVyZ2VkIGZyb20gdXBzdHJlYW0pJyAnCisJKAorCQljZCB0ZXN0ICYmCisJCWdpdCBjaGVja291dCBiMSA+L2Rldi9udWxsICYmCisJCWdpdCAtYyBzdGF0dXMuYWhlYWRiZWhpbmQ9ZmFsc2Ugc3RhdHVzIC1zIC1iIHwgaGVhZCAtMQorCSkgPmFjdHVhbCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCisnCisKK2NhdCA+ZXhwZWN0IDw8XEVPRgogT24gYnJhbmNoIGIxCiBZb3VyIGJyYW5jaCBhbmQgJ29yaWdpbi9tYXN0ZXInIGhhdmUgZGl2ZXJnZWQsCiBhbmQgaGF2ZSAxIGFuZCAxIGRpZmZlcmVudCBjb21taXRzIGVhY2gsIHJlc3BlY3RpdmVseS4KQEAgLTE3NCw2ICsxODcsMTUgQEAKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgLS1sb25nIC0tYnJhbmNoJyAnCisJKAorCQljZCB0ZXN0ICYmCisJCWdpdCBjaGVja291dCBiMSA+L2Rldi9udWxsICYmCisJCWdpdCAtYyBzdGF0dXMuYWhlYWRiZWhpbmQ9dHJ1ZSBzdGF0dXMgLS1sb25nIC1iIHwgaGVhZCAtMworCSkgPmFjdHVhbCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCisnCisKIGNhdCA+ZXhwZWN0IDw8XEVPRgogT24gYnJhbmNoIGIxCiBZb3VyIGJyYW5jaCBhbmQgJ29yaWdpbi9tYXN0ZXInIHJlZmVyIHRvIGRpZmZlcmVudCBjb21taXRzLgpAQCAtMTg4LDYgKzIxMCwxNSBAQAogCXRlc3RfaTE4bmNtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cy5haGVhZGJlaGluZD1mYWxzZSBzdGF0dXMgLS1sb25nIC0tYnJhbmNoJyAnCisJKAorCQljZCB0ZXN0ICYmCisJCWdpdCBjaGVja291dCBiMSA+L2Rldi9udWxsICYmCisJCWdpdCAtYyBzdGF0dXMuYWhlYWRiZWhpbmQ9ZmFsc2Ugc3RhdHVzIC0tbG9uZyAtYiB8IGhlYWQgLTIKKwkpID5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAorJworCiBjYXQgPmV4cGVjdCA8PFxFT0YKICMjIGI1Li4uYnJva2VuYmFzZSBbZ29uZV0KIEVPRgpkaWZmIC0tZ2l0IGEvdC90NjA0Mi1tZXJnZS1yZW5hbWUtY29ybmVyLWNhc2VzLnNoIGIvdC90NjA0Mi1tZXJnZS1yZW5hbWUtY29ybmVyLWNhc2VzLnNoCmluZGV4IGI5N2FjYTcuLmIwNDdjZjEgMTAwNzU1Ci0tLSBhL3QvdDYwNDItbWVyZ2UtcmVuYW1lLWNvcm5lci1jYXNlcy5zaAorKysgYi90L3Q2MDQyLW1lcmdlLXJlbmFtZS1jb3JuZXItY2FzZXMuc2gKQEAgLTUsNyArNSw3IEBACiAKIC4gLi90ZXN0LWxpYi5zaAogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCByZW5hbWUvZGVsZXRlICsgdW50cmFja2VkIGZpbGUnICcKK3Rlc3Rfc2V0dXBfcmVuYW1lX2RlbGV0ZV91bnRyYWNrZWQgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gcmVuYW1lLWRlbGV0ZS11bnRyYWNrZWQgJiYKIAkoCiAJCWNkIHJlbmFtZS1kZWxldGUtdW50cmFja2VkICYmCkBAIC0yOSw5ICsyOSwxMCBAQAogCQlnaXQgY29tbWl0IC1tIHRyYWNrLXBlb3BsZS1pbnN0ZWFkLW9mLW9iamVjdHMgJiYKIAkJZWNobyAiTXl5eSBQUkVDSU9VU1NTIiA+cmluZwogCSkKLScKK30KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAiRG9lcyBnaXQgcHJlc2VydmUgR29sbHVtJ3MgcHJlY2lvdXMgYXJ0aWZhY3Q/IiAnCisJdGVzdF9zZXR1cF9yZW5hbWVfZGVsZXRlX3VudHJhY2tlZCAmJgogCSgKIAkJY2QgcmVuYW1lLWRlbGV0ZS11bnRyYWNrZWQgJiYKIApAQCAtNDksNyArNTAsNyBAQAogIwogIyBXZSBzaG91bGQgYmUgYWJsZSB0byBtZXJnZSBCICYgQyBjbGVhbmx5CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHJlbmFtZS9tb2RpZnkvYWRkLXNvdXJjZSBjb25mbGljdCcgJwordGVzdF9zZXR1cF9yZW5hbWVfbW9kaWZ5X2FkZF9zb3VyY2UgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gcmVuYW1lLW1vZGlmeS1hZGQtc291cmNlICYmCiAJKAogCQljZCByZW5hbWUtbW9kaWZ5LWFkZC1zb3VyY2UgJiYKQEAgLTcwLDkgKzcxLDEwIEBACiAJCWdpdCBhZGQgYSAmJgogCQlnaXQgY29tbWl0IC1tIEMKIAkpCi0nCit9CiAKIHRlc3RfZXhwZWN0X2ZhaWx1cmUgJ3JlbmFtZS9tb2RpZnkvYWRkLXNvdXJjZSBjb25mbGljdCByZXNvbHZhYmxlJyAnCisJdGVzdF9zZXR1cF9yZW5hbWVfbW9kaWZ5X2FkZF9zb3VyY2UgJiYKIAkoCiAJCWNkIHJlbmFtZS1tb2RpZnktYWRkLXNvdXJjZSAmJgogCkBAIC04OCw3ICs5MCw3IEBACiAJKQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCByZXNvbHZhYmxlIGNvbmZsaWN0IG1pc3NlZCBpZiByZW5hbWUgbWlzc2VkJyAnCit0ZXN0X3NldHVwX2JyZWFrX2RldGVjdGlvbl8xICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIGJyZWFrLWRldGVjdGlvbi0xICYmCiAJKAogCQljZCBicmVhay1kZXRlY3Rpb24tMSAmJgpAQCAtMTEwLDkgKzExMiwxMCBAQAogCQlnaXQgYWRkIGEgJiYKIAkJZ2l0IGNvbW1pdCAtbSBDCiAJKQotJworfQogCiB0ZXN0X2V4cGVjdF9mYWlsdXJlICdjb25mbGljdCBjYXVzZWQgaWYgcmVuYW1lIG5vdCBkZXRlY3RlZCcgJworCXRlc3Rfc2V0dXBfYnJlYWtfZGV0ZWN0aW9uXzEgJiYKIAkoCiAJCWNkIGJyZWFrLWRldGVjdGlvbi0xICYmCiAKQEAgLTEzNSw3ICsxMzgsNyBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgY29uZmxpY3QgcmVzb2x2ZWQgd3JvbmcgaWYgcmVuYW1lIG1pc3NlZCcgJwordGVzdF9zZXR1cF9icmVha19kZXRlY3Rpb25fMiAoKSB7CiAJdGVzdF9jcmVhdGVfcmVwbyBicmVhay1kZXRlY3Rpb24tMiAmJgogCSgKIAkJY2QgYnJlYWstZGV0ZWN0aW9uLTIgJiYKQEAgLTE2MCw5ICsxNjMsMTAgQEAKIAkJZ2l0IGFkZCBhICYmCiAJCWdpdCBjb21taXQgLW0gRQogCSkKLScKK30KIAogdGVzdF9leHBlY3RfZmFpbHVyZSAnbWlzc2VkIGNvbmZsaWN0IGlmIHJlbmFtZSBub3QgZGV0ZWN0ZWQnICcKKwl0ZXN0X3NldHVwX2JyZWFrX2RldGVjdGlvbl8yICYmCiAJKAogCQljZCBicmVhay1kZXRlY3Rpb24tMiAmJgogCkBAIC0xODIsNyArMTg2LDcgQEAKICMgICBDb21taXQgQjogcmVuYW1lIGEtPmIKICMgICBDb21taXQgQzogcmVuYW1lIGEtPmIsIGFkZCB1bnJlbGF0ZWQgYQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCB1bmRldGVjdGVkIHJlbmFtZS9hZGQtc291cmNlIGNhdXNlcyBkYXRhIGxvc3MnICcKK3Rlc3Rfc2V0dXBfYnJlYWtfZGV0ZWN0aW9uXzMgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gYnJlYWstZGV0ZWN0aW9uLTMgJiYKIAkoCiAJCWNkIGJyZWFrLWRldGVjdGlvbi0zICYmCkBAIC0yMDIsOSArMjA2LDEwIEBACiAJCWdpdCBhZGQgYSAmJgogCQlnaXQgY29tbWl0IC1tIEMKIAkpCi0nCit9CiAKIHRlc3RfZXhwZWN0X2ZhaWx1cmUgJ2RldGVjdCByZW5hbWUvYWRkLXNvdXJjZSBhbmQgcHJlc2VydmUgYWxsIGRhdGEnICcKKwl0ZXN0X3NldHVwX2JyZWFrX2RldGVjdGlvbl8zICYmCiAJKAogCQljZCBicmVhay1kZXRlY3Rpb24tMyAmJgogCkBAIC0yMzEsNiArMjM2LDcgQEAKICcKIAogdGVzdF9leHBlY3RfZmFpbHVyZSAnZGV0ZWN0IHJlbmFtZS9hZGQtc291cmNlIGFuZCBwcmVzZXJ2ZSBhbGwgZGF0YSwgbWVyZ2Ugb3RoZXIgd2F5JyAnCisJdGVzdF9zZXR1cF9icmVha19kZXRlY3Rpb25fMyAmJgogCSgKIAkJY2QgYnJlYWstZGV0ZWN0aW9uLTMgJiYKIApAQCAtMjU2LDEwICsyNjIsMTAgQEAKIAkpCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGNvbnRlbnQgbWVyZ2UgKyByZW5hbWUvZGlyZWN0b3J5IGNvbmZsaWN0JyAnCi0JdGVzdF9jcmVhdGVfcmVwbyByZW5hbWUtZGlyZWN0b3J5LTEgJiYKK3Rlc3Rfc2V0dXBfcmVuYW1lX2RpcmVjdG9yeSAoKSB7CisJdGVzdF9jcmVhdGVfcmVwbyByZW5hbWUtZGlyZWN0b3J5LSQxICYmCiAJKAotCQljZCByZW5hbWUtZGlyZWN0b3J5LTEgJiYKKwkJY2QgcmVuYW1lLWRpcmVjdG9yeS0kMSAmJgogCiAJCXByaW50ZiAiMVxuMlxuM1xuNFxuNVxuNlxuIiA+ZmlsZSAmJgogCQlnaXQgYWRkIGZpbGUgJiYKQEAgLTI5MCwxMSArMjk2LDEyIEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tIGxlZnQKIAkpCi0nCit9CiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlbmFtZS9kaXJlY3RvcnkgY29uZmxpY3QgKyBjbGVhbiBjb250ZW50IG1lcmdlJyAnCisJdGVzdF9zZXR1cF9yZW5hbWVfZGlyZWN0b3J5IDFhICYmCiAJKAotCQljZCByZW5hbWUtZGlyZWN0b3J5LTEgJiYKKwkJY2QgcmVuYW1lLWRpcmVjdG9yeS0xYSAmJgogCiAJCWdpdCBjaGVja291dCBsZWZ0LWNsZWFuXjAgJiYKIApAQCAtMzIwLDggKzMyNyw5IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlbmFtZS9kaXJlY3RvcnkgY29uZmxpY3QgKyBjb250ZW50IG1lcmdlIGNvbmZsaWN0JyAnCisJdGVzdF9zZXR1cF9yZW5hbWVfZGlyZWN0b3J5IDFiICYmCiAJKAotCQljZCByZW5hbWUtZGlyZWN0b3J5LTEgJiYKKwkJY2QgcmVuYW1lLWRpcmVjdG9yeS0xYiAmJgogCiAJCWdpdCByZXNldCAtLWhhcmQgJiYKIAkJZ2l0IGNsZWFuIC1mZHF4ICYmCkBAIC0zNTgsNyArMzY2LDcgQEAKIAkpCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGNvbnRlbnQgbWVyZ2UgKyByZW5hbWUvZGlyZWN0b3J5IGNvbmZsaWN0IHcvIGRpc2FwcGVhcmluZyBkaXInICcKK3Rlc3Rfc2V0dXBfcmVuYW1lX2RpcmVjdG9yeV8yICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIHJlbmFtZS1kaXJlY3RvcnktMiAmJgogCSgKIAkJY2QgcmVuYW1lLWRpcmVjdG9yeS0yICYmCkBAIC0zODUsOSArMzkzLDEwIEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tIGxlZnQKIAkpCi0nCit9CiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Rpc2FwcGVhcmluZyBkaXIgaW4gcmVuYW1lL2RpcmVjdG9yeSBjb25mbGljdCBoYW5kbGVkJyAnCisJdGVzdF9zZXR1cF9yZW5hbWVfZGlyZWN0b3J5XzIgJiYKIAkoCiAJCWNkIHJlbmFtZS1kaXJlY3RvcnktMiAmJgogCkBAIC00MTEsNiArNDIwLDEyNCBAQAogCSkKICcKIAorIyBUZXN0IGZvciBiYXNpYyByZW5hbWUvYWRkLWRlc3QgY29uZmxpY3QsIHdpdGggcmVuYW1lIG5lZWRpbmcgY29udGVudCBtZXJnZToKKyMgICBDb21taXQgTzogYQorIyAgIENvbW1pdCBBOiByZW5hbWUgYS0+YiwgbW9kaWZ5aW5nIGIgdG9vCisjICAgQ29tbWl0IEI6IG1vZGlmeSBhLCBhZGQgZGlmZmVyZW50IGIKKwordGVzdF9zZXR1cF9yZW5hbWVfd2l0aF9jb250ZW50X21lcmdlX2FuZF9hZGQgKCkgeworCXRlc3RfY3JlYXRlX3JlcG8gcmVuYW1lLXdpdGgtY29udGVudC1tZXJnZS1hbmQtYWRkLSQxICYmCisJKAorCQljZCByZW5hbWUtd2l0aC1jb250ZW50LW1lcmdlLWFuZC1hZGQtJDEgJiYKKworCQl0ZXN0X3NlcSAxIDUgPmEgJiYKKwkJZ2l0IGFkZCBhICYmCisJCWdpdCBjb21taXQgLW0gTyAmJgorCQlnaXQgdGFnIE8gJiYKKworCQlnaXQgY2hlY2tvdXQgLWIgQSBPICYmCisJCWdpdCBtdiBhIGIgJiYKKwkJdGVzdF9zZXEgMCA1ID5iICYmCisJCWdpdCBhZGQgYiAmJgorCQlnaXQgY29tbWl0IC1tIEEgJiYKKworCQlnaXQgY2hlY2tvdXQgLWIgQiBPICYmCisJCWVjaG8gNiA+PmEgJiYKKwkJZWNobyBoZWxsbyB3b3JsZCA+YiAmJgorCQlnaXQgYWRkIGEgYiAmJgorCQlnaXQgY29tbWl0IC1tIEIKKwkpCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2hhbmRsZSByZW5hbWUtd2l0aC1jb250ZW50LW1lcmdlIHZzLiBhZGQnICcKKwl0ZXN0X3NldHVwX3JlbmFtZV93aXRoX2NvbnRlbnRfbWVyZ2VfYW5kX2FkZCBBQiAmJgorCSgKKwkJY2QgcmVuYW1lLXdpdGgtY29udGVudC1tZXJnZS1hbmQtYWRkLUFCICYmCisKKwkJZ2l0IGNoZWNrb3V0IEFeMCAmJgorCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgJiYKKwkJdGVzdF9pMThuZ3JlcCAiQ09ORkxJQ1QgKHJlbmFtZS9hZGQpIiBvdXQgJiYKKworCQlnaXQgbHMtZmlsZXMgLXMgPm91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAyIG91dCAmJgorCQlnaXQgbHMtZmlsZXMgLXUgPm91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAyIG91dCAmJgorCQkjIEFsc28sIG1ha2Ugc3VyZSBib3RoIHVubWVyZ2VkIGVudHJpZXMgYXJlIGZvciAiYiIKKwkJZ2l0IGxzLWZpbGVzIC11IGIgPm91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAyIG91dCAmJgorCQlnaXQgbHMtZmlsZXMgLW8gPm91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAxIG91dCAmJgorCisJCXRlc3RfcGF0aF9pc19taXNzaW5nIGEgJiYKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgYiAmJgorCisJCXRlc3Rfc2VxIDAgNiA+dG1wICYmCisJCWdpdCBoYXNoLW9iamVjdCB0bXAgPmV4cGVjdCAmJgorCQlnaXQgcmV2LXBhcnNlIEI6YiA+PmV4cGVjdCAmJgorCQlnaXQgcmV2LXBhcnNlID5hY3R1YWwgIFwKKwkJCToyOmIgICAgOjM6YiAgICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCQkjIFRlc3QgdGhhdCB0aGUgdHdvLXdheSBtZXJnZSBpbiBiIGlzIGFzIGV4cGVjdGVkCisJCWdpdCBjYXQtZmlsZSAtcCA6MjpiID4+b3VycyAmJgorCQlnaXQgY2F0LWZpbGUgLXAgOjM6YiA+PnRoZWlycyAmJgorCQk+ZW1wdHkgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlLWZpbGUgXAorCQkJLUwgIkhFQUQiIFwKKwkJCS1MICIiIFwKKwkJCS1MICJCXjAiIFwKKwkJCW91cnMgZW1wdHkgdGhlaXJzICYmCisJCXRlc3RfY21wIG91cnMgYgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnaGFuZGxlIHJlbmFtZS13aXRoLWNvbnRlbnQtbWVyZ2UgdnMuIGFkZCwgbWVyZ2Ugb3RoZXIgd2F5JyAnCisJdGVzdF9zZXR1cF9yZW5hbWVfd2l0aF9jb250ZW50X21lcmdlX2FuZF9hZGQgQkEgJiYKKwkoCisJCWNkIHJlbmFtZS13aXRoLWNvbnRlbnQtbWVyZ2UtYW5kLWFkZC1CQSAmJgorCisJCWdpdCByZXNldCAtLWhhcmQgJiYKKwkJZ2l0IGNsZWFuIC1mZHggJiYKKworCQlnaXQgY2hlY2tvdXQgQl4wICYmCisKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBBXjAgPm91dCAmJgorCQl0ZXN0X2kxOG5ncmVwICJDT05GTElDVCAocmVuYW1lL2FkZCkiIG91dCAmJgorCisJCWdpdCBscy1maWxlcyAtcyA+b3V0ICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDIgb3V0ICYmCisJCWdpdCBscy1maWxlcyAtdSA+b3V0ICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDIgb3V0ICYmCisJCSMgQWxzbywgbWFrZSBzdXJlIGJvdGggdW5tZXJnZWQgZW50cmllcyBhcmUgZm9yICJiIgorCQlnaXQgbHMtZmlsZXMgLXUgYiA+b3V0ICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDIgb3V0ICYmCisJCWdpdCBscy1maWxlcyAtbyA+b3V0ICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDEgb3V0ICYmCisKKwkJdGVzdF9wYXRoX2lzX21pc3NpbmcgYSAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSBiICYmCisKKwkJdGVzdF9zZXEgMCA2ID50bXAgJiYKKwkJZ2l0IHJldi1wYXJzZSBCOmIgPmV4cGVjdCAmJgorCQlnaXQgaGFzaC1vYmplY3QgdG1wID4+ZXhwZWN0ICYmCisJCWdpdCByZXYtcGFyc2UgPmFjdHVhbCAgXAorCQkJOjI6YiAgICA6MzpiICAgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJCSMgVGVzdCB0aGF0IHRoZSB0d28td2F5IG1lcmdlIGluIGIgaXMgYXMgZXhwZWN0ZWQKKwkJZ2l0IGNhdC1maWxlIC1wIDoyOmIgPj5vdXJzICYmCisJCWdpdCBjYXQtZmlsZSAtcCA6MzpiID4+dGhlaXJzICYmCisJCT5lbXB0eSAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UtZmlsZSBcCisJCQktTCAiSEVBRCIgXAorCQkJLUwgIiIgXAorCQkJLUwgIkFeMCIgXAorCQkJb3VycyBlbXB0eSB0aGVpcnMgJiYKKwkJdGVzdF9jbXAgb3VycyBiCisJKQorJworCiAjIFRlc3QgZm9yIGFsbCBraW5kcyBvZiB0aGluZ3MgdGhhdCBjYW4gZ28gd3Jvbmcgd2l0aCByZW5hbWUvcmVuYW1lICgydG8xKToKICMgICBDb21taXQgQTogbmV3IGZpbGVzOiBhICYgYgogIyAgIENvbW1pdCBCOiByZW5hbWUgYS0+YywgbW9kaWZ5IGIKQEAgLTQyMyw3ICs1NTAsNyBAQAogIyAgICogVGhlIHdvcmtpbmcgY29weSBzaG91bGQgaGF2ZSB0d28gZmlsZXMsIGJvdGggb2YgZm9ybSBjfjx1bmlxdWU+OyBkb2VzIGl0PwogIyAgICogTm90aGluZyBlbHNlIHNob3VsZCBiZSBwcmVzZW50LiAgSXMgYW55dGhpbmc/CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHJlbmFtZS9yZW5hbWUgKDJ0bzEpICsgbW9kaWZ5L21vZGlmeScgJwordGVzdF9zZXR1cF9yZW5hbWVfcmVuYW1lXzJ0bzEgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gcmVuYW1lLXJlbmFtZS0ydG8xICYmCiAJKAogCQljZCByZW5hbWUtcmVuYW1lLTJ0bzEgJiYKQEAgLTQ0Niw5ICs1NzMsMTAgQEAKIAkJZ2l0IGFkZCBhICYmCiAJCWdpdCBjb21taXQgLW0gQwogCSkKLScKK30KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnaGFuZGxlIHJlbmFtZS9yZW5hbWUgKDJ0bzEpIGNvbmZsaWN0IGNvcnJlY3RseScgJworCXRlc3Rfc2V0dXBfcmVuYW1lX3JlbmFtZV8ydG8xICYmCiAJKAogCQljZCByZW5hbWUtcmVuYW1lLTJ0bzEgJiYKIApAQCAtNDY0LDE3ICs1OTIsMjggQEAKIAkJZ2l0IGxzLWZpbGVzIC11IGMgPm91dCAmJgogCQl0ZXN0X2xpbmVfY291bnQgPSAyIG91dCAmJgogCQlnaXQgbHMtZmlsZXMgLW8gPm91dCAmJgotCQl0ZXN0X2xpbmVfY291bnQgPSAzIG91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAxIG91dCAmJgogCiAJCXRlc3RfcGF0aF9pc19taXNzaW5nIGEgJiYKIAkJdGVzdF9wYXRoX2lzX21pc3NpbmcgYiAmJgotCQl0ZXN0X3BhdGhfaXNfZmlsZSBjfkhFQUQgJiYKLQkJdGVzdF9wYXRoX2lzX2ZpbGUgY35DXjAgJiYKIAotCQlnaXQgcmV2LXBhcnNlID5leHBlY3QgICBcCi0JCQlDOmEgICAgIEI6YiAgICAgJiYKLQkJZ2l0IGhhc2gtb2JqZWN0ID5hY3R1YWwgXAotCQkJY35IRUFEICBjfkNeMCAgICYmCisJCWdpdCByZXYtcGFyc2UgPmV4cGVjdCAgXAorCQkJQzphICAgICBCOmIgICAgJiYKKwkJZ2l0IHJldi1wYXJzZSA+YWN0dWFsICBcCisJCQk6MjpjICAgIDozOmMgICAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwkJIyBUZXN0IHRoYXQgdGhlIHR3by13YXkgbWVyZ2UgaW4gbmV3X2EgaXMgYXMgZXhwZWN0ZWQKKwkJZ2l0IGNhdC1maWxlIC1wIDoyOmMgPj5vdXJzICYmCisJCWdpdCBjYXQtZmlsZSAtcCA6MzpjID4+dGhlaXJzICYmCisJCT5lbXB0eSAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UtZmlsZSBcCisJCQktTCAiSEVBRCIgXAorCQkJLUwgIiIgXAorCQkJLUwgIkNeMCIgXAorCQkJb3VycyBlbXB0eSB0aGVpcnMgJiYKKwkJZ2l0IGhhc2gtb2JqZWN0IGMgPmFjdHVhbCAmJgorCQlnaXQgaGFzaC1vYmplY3Qgb3VycyA+ZXhwZWN0ICYmCiAJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKIAkpCiAnCkBAIC00ODMsNyArNjIyLDcgQEAKICMgICBDb21taXQgQTogbmV3IGZpbGU6IGEKICMgICBDb21taXQgQjogcmVuYW1lIGEtPmIKICMgICBDb21taXQgQzogcmVuYW1lIGEtPmMKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHNpbXBsZSByZW5hbWUvcmVuYW1lICgxdG8yKSBjb25mbGljdCcgJwordGVzdF9zZXR1cF9yZW5hbWVfcmVuYW1lXzF0bzIgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gcmVuYW1lLXJlbmFtZS0xdG8yICYmCiAJKAogCQljZCByZW5hbWUtcmVuYW1lLTF0bzIgJiYKQEAgLTUwNCw5ICs2NDMsMTAgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gQwogCSkKLScKK30KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbWVyZ2UgaGFzIGNvcnJlY3Qgd29ya2luZyB0cmVlIGNvbnRlbnRzJyAnCisJdGVzdF9zZXR1cF9yZW5hbWVfcmVuYW1lXzF0bzIgJiYKIAkoCiAJCWNkIHJlbmFtZS1yZW5hbWUtMXRvMiAmJgogCkBAIC01NDAsNyArNjgwLDcgQEAKICMKICMgTWVyZ2luZyBvZiBCICYgQyBzaG91bGQgTk9UIGJlIGNsZWFuOyB0aGVyZSdzIGEgcmVuYW1lL3JlbmFtZSBjb25mbGljdAogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCByZW5hbWUvcmVuYW1lKDF0bzIpL2FkZC1zb3VyY2UgY29uZmxpY3QnICcKK3Rlc3Rfc2V0dXBfcmVuYW1lX3JlbmFtZV8xdG8yX2FkZF9zb3VyY2VfMSAoKSB7CiAJdGVzdF9jcmVhdGVfcmVwbyByZW5hbWUtcmVuYW1lLTF0bzItYWRkLXNvdXJjZS0xICYmCiAJKAogCQljZCByZW5hbWUtcmVuYW1lLTF0bzItYWRkLXNvdXJjZS0xICYmCkBAIC01NjAsOSArNzAwLDEwIEBACiAJCWdpdCBhZGQgYSAmJgogCQlnaXQgY29tbWl0IC1tIEMKIAkpCi0nCit9CiAKIHRlc3RfZXhwZWN0X2ZhaWx1cmUgJ2RldGVjdCBjb25mbGljdCB3aXRoIHJlbmFtZS9yZW5hbWUoMXRvMikvYWRkLXNvdXJjZSBtZXJnZScgJworCXRlc3Rfc2V0dXBfcmVuYW1lX3JlbmFtZV8xdG8yX2FkZF9zb3VyY2VfMSAmJgogCSgKIAkJY2QgcmVuYW1lLXJlbmFtZS0xdG8yLWFkZC1zb3VyY2UtMSAmJgogCkBAIC01ODcsNyArNzI4LDcgQEAKIAkpCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHJlbmFtZS9yZW5hbWUoMXRvMikvYWRkLXNvdXJjZSByZXNvbHZhYmxlIGNvbmZsaWN0JyAnCit0ZXN0X3NldHVwX3JlbmFtZV9yZW5hbWVfMXRvMl9hZGRfc291cmNlXzIgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gcmVuYW1lLXJlbmFtZS0xdG8yLWFkZC1zb3VyY2UtMiAmJgogCSgKIAkJY2QgcmVuYW1lLXJlbmFtZS0xdG8yLWFkZC1zb3VyY2UtMiAmJgpAQCAtNjEwLDkgKzc1MSwxMCBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSB0d28KIAkpCi0nCit9CiAKIHRlc3RfZXhwZWN0X2ZhaWx1cmUgJ3JlbmFtZS9yZW5hbWUvYWRkLXNvdXJjZSBzdGlsbCB0cmFja3MgbmV3IGEgZmlsZScgJworCXRlc3Rfc2V0dXBfcmVuYW1lX3JlbmFtZV8xdG8yX2FkZF9zb3VyY2VfMiAmJgogCSgKIAkJY2QgcmVuYW1lLXJlbmFtZS0xdG8yLWFkZC1zb3VyY2UtMiAmJgogCkBAIC02MzIsNyArNzc0LDcgQEAKIAkpCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHJlbmFtZS9yZW5hbWUoMXRvMikvYWRkLWRlc3QgY29uZmxpY3QnICcKK3Rlc3Rfc2V0dXBfcmVuYW1lX3JlbmFtZV8xdG8yX2FkZF9kZXN0ICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIHJlbmFtZS1yZW5hbWUtMXRvMi1hZGQtZGVzdCAmJgogCSgKIAkJY2QgcmVuYW1lLXJlbmFtZS0xdG8yLWFkZC1kZXN0ICYmCkBAIC02NTcsOSArNzk5LDEwIEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tIHR3bwogCSkKLScKK30KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVuYW1lL3JlbmFtZS9hZGQtZGVzdCBtZXJnZSBzdGlsbCBrbm93cyBhYm91dCBjb25mbGljdGluZyBmaWxlIHZlcnNpb25zJyAnCisJdGVzdF9zZXR1cF9yZW5hbWVfcmVuYW1lXzF0bzJfYWRkX2Rlc3QgJiYKIAkoCiAJCWNkIHJlbmFtZS1yZW5hbWUtMXRvMi1hZGQtZGVzdCAmJgogCkBAIC02NzMsNyArODE2LDcgQEAKIAkJZ2l0IGxzLWZpbGVzIC11IGMgPm91dCAmJgogCQl0ZXN0X2xpbmVfY291bnQgPSAyIG91dCAmJgogCQlnaXQgbHMtZmlsZXMgLW8gPm91dCAmJgotCQl0ZXN0X2xpbmVfY291bnQgPSA1IG91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAxIG91dCAmJgogCiAJCWdpdCByZXYtcGFyc2UgPmV4cGVjdCAgICAgICAgICAgICAgIFwKIAkJCUE6YSAgIEM6YiAgIEI6YiAgIEM6YyAgIEI6YyAmJgpAQCAtNjgxLDE0ICs4MjQsMjcgQEAKIAkJCToxOmEgIDoyOmIgIDozOmIgIDoyOmMgIDozOmMgJiYKIAkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgogCi0JCWdpdCByZXYtcGFyc2UgPmV4cGVjdCAgICAgICAgICAgICAgIFwKLQkJCUM6YyAgICAgQjpjICAgICBDOmIgICAgIEI6YiAmJgotCQlnaXQgaGFzaC1vYmplY3QgPmFjdHVhbCAgICAgICAgICAgICAgICBcCi0JCQljfkhFQUQgIGN+QlxeMCAgYn5IRUFEICBifkJcXjAgJiYKLQkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCQkjIFJlY29yZCBzb21lIGNvbnRlbnRzIGZvciByZS1kb2luZyBtZXJnZXMKKwkJZ2l0IGNhdC1maWxlIC1wIEE6YSA+c3R1ZmYgJiYKKwkJZ2l0IGNhdC1maWxlIC1wIEM6YiA+aW1wb3J0YW50X2luZm8gJiYKKwkJZ2l0IGNhdC1maWxlIC1wIEI6YyA+cHJlY2lvdXNfZGF0YSAmJgorCQk+ZW1wdHkgJiYKIAotCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyBiICYmCi0JCXRlc3RfcGF0aF9pc19taXNzaW5nIGMKKwkJIyBUZXN0IHRoZSBtZXJnZSBpbiBiCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZS1maWxlIFwKKwkJCS1MICJIRUFEIiBcCisJCQktTCAiIiBcCisJCQktTCAiQl4wIiBcCisJCQlpbXBvcnRhbnRfaW5mbyBlbXB0eSBzdHVmZiAmJgorCQl0ZXN0X2NtcCBpbXBvcnRhbnRfaW5mbyBiICYmCisKKwkJIyBUZXN0IHRoZSBtZXJnZSBpbiBjCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZS1maWxlIFwKKwkJCS1MICJIRUFEIiBcCisJCQktTCAiIiBcCisJCQktTCAiQl4wIiBcCisJCQlzdHVmZiBlbXB0eSBwcmVjaW91c19kYXRhICYmCisJCXRlc3RfY21wIHN0dWZmIGMKIAkpCiAnCiAKQEAgLTY5OCw3ICs4NTQsNyBAQAogIyAgIENvbW1pdCBCOiByZW5hbWUgZm9vLT5iYXIKICMgICBFeHBlY3RlZDogQ09ORkxJQ1QgKHJlbmFtZS9hZGQvZGVsZXRlKSwgdHdvLXdheSBtZXJnZWQgYmFyCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JhZC1zZXR1cDogcmVuYW1lL2FkZC9kZWxldGUgY29uZmxpY3QnICcKK3Rlc3Rfc2V0dXBfcmFkICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIHJhZCAmJgogCSgKIAkJY2QgcmFkICYmCkBAIC03MjAsOSArODc2LDEwIEBACiAJCWdpdCBtdiBmb28gYmFyICYmCiAJCWdpdCBjb21taXQgLW0gInJlbmFtZSBmb28gdG8gYmFyIgogCSkKLScKK30KIAogdGVzdF9leHBlY3RfZmFpbHVyZSAncmFkLWNoZWNrOiByZW5hbWUvYWRkL2RlbGV0ZSBjb25mbGljdCcgJworCXRlc3Rfc2V0dXBfcmFkICYmCiAJKAogCQljZCByYWQgJiYKIApAQCAtNzY0LDcgKzkyMSw3IEBACiAjICAgQ29tbWl0IEI6IHJlbmFtZSBiYXItPmJheiwgcm0gZm9vCiAjICAgRXhwZWN0ZWQ6IENPTkZMSUNUIChyZW5hbWUvcmVuYW1lL2RlbGV0ZS9kZWxldGUpLCB0d28td2F5IG1lcmdlZCBiYXoKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAncnJkZC1zZXR1cDogcmVuYW1lL3JlbmFtZSgydG8xKS9kZWxldGUvZGVsZXRlIGNvbmZsaWN0JyAnCit0ZXN0X3NldHVwX3JyZGQgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gcnJkZCAmJgogCSgKIAkJY2QgcnJkZCAmJgpAQCAtNzg3LDkgKzk0NCwxMCBAQAogCQlnaXQgcm0gZm9vICYmCiAJCWdpdCBjb21taXQgLW0gIlJlbmFtZSBiYXIsIHJlbW92ZSBmb28iCiAJKQotJworfQogCiB0ZXN0X2V4cGVjdF9mYWlsdXJlICdycmRkLWNoZWNrOiByZW5hbWUvcmVuYW1lKDJ0bzEpL2RlbGV0ZS9kZWxldGUgY29uZmxpY3QnICcKKwl0ZXN0X3NldHVwX3JyZGQgJiYKIAkoCiAJCWNkIHJyZGQgJiYKIApAQCAtODMzLDcgKzk5MSw3IEBACiAjICAgRXhwZWN0ZWQ6IHNpeCBDT05GTElDVChyZW5hbWUvcmVuYW1lKSBtZXNzYWdlcywgZWFjaCBwYXRoIGluIHR3byBvZiB0aGUKICMgICAgICAgICAgICAgbXVsdGktd2F5IG1lcmdlZCBjb250ZW50cyBmb3VuZCBpbiB0d28sIGZvdXIsIHNpeAogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdtb2Q2LXNldHVwOiBjaGFpbnMgb2YgcmVuYW1lL3JlbmFtZSgxdG8yKSBhbmQgcmVuYW1lL3JlbmFtZSgydG8xKScgJwordGVzdF9zZXR1cF9tb2Q2ICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIG1vZDYgJiYKIAkoCiAJCWNkIG1vZDYgJiYKQEAgLTg2OSw5ICsxMDI3LDEwIEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tICJCIgogCSkKLScKK30KIAogdGVzdF9leHBlY3RfZmFpbHVyZSAnbW9kNi1jaGVjazogY2hhaW5zIG9mIHJlbmFtZS9yZW5hbWUoMXRvMikgYW5kIHJlbmFtZS9yZW5hbWUoMnRvMSknICcKKwl0ZXN0X3NldHVwX21vZDYgJiYKIAkoCiAJCWNkIG1vZDYgJiYKIApAQCAtOTM3LDQgKzEwOTYsMjg3IEBACiAJKQogJwogCit0ZXN0X2NvbmZsaWN0c193aXRoX2FkZHNfYW5kX3JlbmFtZXMoKSB7CisJc2lkZUw9JDEKKwlzaWRlUj0kMgorCisJIyBTZXR1cDoKKwkjICAgICAgICAgIEwKKwkjICAgICAgICAgLyBcCisJIyAgIG1hc3RlciAgID8KKwkjICAgICAgICAgXCAvCisJIyAgICAgICAgICBSCisJIworCSMgV2hlcmU6CisJIyAgIEJvdGggTCBhbmQgUiBoYXZlIGZpbGVzIG5hbWVkICd0aHJlZScgd2hpY2ggY29sbGlkZS4gIEVhY2ggb2YKKwkjICAgdGhlIGNvbGxpZGluZyBmaWxlcyBjb3VsZCBoYXZlIGJlZW4gaW52b2x2ZWQgaW4gYSByZW5hbWUsIGluCisJIyAgIHdoaWNoIGNhc2UgdGhlcmUgd2FzIGEgZmlsZSBuYW1lZCAnb25lJyBvciAndHdvJyB0aGF0IHdhcworCSMgICBtb2RpZmllZCBvbiB0aGUgb3Bwb3NpdGUgc2lkZSBvZiBoaXN0b3J5IGFuZCByZW5hbWVkIGludG8gdGhlCisJIyAgIGNvbGxpc2lvbiBvbiB0aGlzIHNpZGUgb2YgaGlzdG9yeS4KKwkjCisJIyBRdWVzdGlvbnM6CisJIyAgIDEpIFRoZSBpbmRleCBzaG91bGQgY29udGFpbiBib3RoIGEgc3RhZ2UgMiBhbmQgc3RhZ2UgMyBlbnRyeQorCSMgICAgICBmb3IgdGhlIGNvbGxpZGluZyBmaWxlLiAgRG9lcyBpdD8KKwkjICAgMikgV2hlbiByZW5hbWVzIGFyZSBpbnZvbHZlZCwgdGhlIGNvbnRlbnQgbWVyZ2VzIGFyZSBjbGVhbiwgc28KKwkjICAgICAgdGhlIGluZGV4IHNob3VsZCByZWZsZWN0IHRoZSBjb250ZW50IG1lcmdlcywgbm90IG1lcmVseSB0aGUKKwkjICAgICAgdmVyc2lvbiBvZiB0aGUgY29sbGlkaW5nIGZpbGUgZnJvbSB0aGUgcHJpb3IgY29tbWl0LiAgRG9lcworCSMgICAgICBpdD8KKwkjICAgMykgVGhlcmUgc2hvdWxkIGJlIGEgZmlsZSBpbiB0aGUgd29ya3RyZWUgbmFtZWQgJ3RocmVlJworCSMgICAgICBjb250YWluaW5nIHRoZSB0d28td2F5IG1lcmdlZCBjb250ZW50cyBvZiB0aGUgY29udGVudC1tZXJnZWQKKwkjICAgICAgdmVyc2lvbnMgb2YgJ3RocmVlJyBmcm9tIGVhY2ggb2YgdGhlIHR3byBjb2xsaWRpbmcKKwkjICAgICAgZmlsZXMuICBJcyBpdCBwcmVzZW50PworCSMgICA0KSBUaGVyZSBzaG91bGQgbm90IGJlIGFueSB0aHJlZX4qIGZpbGVzIGluIHRoZSB3b3JraW5nCisJIyAgICAgIHRyZWUKKwl0ZXN0X3NldHVwX2NvbGxpc2lvbl9jb25mbGljdCAoKSB7CisJI3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgInNldHVwIHNpbXBsZSAkc2lkZUwvJHNpZGVSIGNvbmZsaWN0IiAnCisJCXRlc3RfY3JlYXRlX3JlcG8gc2ltcGxlXyR7c2lkZUx9XyR7c2lkZVJ9ICYmCisJCSgKKwkJCWNkIHNpbXBsZV8ke3NpZGVMfV8ke3NpZGVSfSAmJgorCisJCQkjIENyZWF0ZSBzb21lIHJlbGF0ZWQgZmlsZXMgbm93CisJCQlmb3IgaSBpbiAkKHRlc3Rfc2VxIDEgMTApCisJCQlkbworCQkJCWVjaG8gUmFuZG9tIGJhc2UgY29udGVudCBsaW5lICRpCisJCQlkb25lID5maWxlX3YxICYmCisJCQljcCBmaWxlX3YxIGZpbGVfdjIgJiYKKwkJCWVjaG8gbW9kaWZpY2F0aW9uID4+ZmlsZV92MiAmJgorCisJCQljcCBmaWxlX3YxIGZpbGVfdjMgJiYKKwkJCWVjaG8gbW9yZSBzdHVmZiA+PmZpbGVfdjMgJiYKKwkJCWNwIGZpbGVfdjMgZmlsZV92NCAmJgorCQkJZWNobyB5ZXQgbW9yZSBzdHVmZiA+PmZpbGVfdjQgJiYKKworCQkJIyBVc2UgYSB0YWcgdG8gcmVjb3JkIGJvdGggdGhlc2UgZmlsZXMgZm9yIHNpbXBsZQorCQkJIyBhY2Nlc3MsIGFuZCBjbGVhbiBvdXQgdGhlc2UgdW50cmFja2VkIGZpbGVzCisJCQlnaXQgdGFnIGZpbGVfdjEgJChnaXQgaGFzaC1vYmplY3QgLXcgZmlsZV92MSkgJiYKKwkJCWdpdCB0YWcgZmlsZV92MiAkKGdpdCBoYXNoLW9iamVjdCAtdyBmaWxlX3YyKSAmJgorCQkJZ2l0IHRhZyBmaWxlX3YzICQoZ2l0IGhhc2gtb2JqZWN0IC13IGZpbGVfdjMpICYmCisJCQlnaXQgdGFnIGZpbGVfdjQgJChnaXQgaGFzaC1vYmplY3QgLXcgZmlsZV92NCkgJiYKKwkJCWdpdCBjbGVhbiAtZiAmJgorCisJCQkjIFNldHVwIG9yaWdpbmFsIGNvbW1pdCAob3IgbWVyZ2UtYmFzZSksIGNvbnNpc3Rpbmcgb2YKKwkJCSMgZmlsZXMgbmFtZWQgIm9uZSIgYW5kICJ0d28iIGlmIHJlbmFtZXMgd2VyZSBpbnZvbHZlZC4KKwkJCXRvdWNoIGlycmVsZXZhbnRfZmlsZSAmJgorCQkJZ2l0IGFkZCBpcnJlbGV2YW50X2ZpbGUgJiYKKwkJCWlmIFsgJHNpZGVMID0gInJlbmFtZSIgXQorCQkJdGhlbgorCQkJCWdpdCBzaG93IGZpbGVfdjEgPm9uZSAmJgorCQkJCWdpdCBhZGQgb25lCisJCQlmaSAmJgorCQkJaWYgWyAkc2lkZVIgPSAicmVuYW1lIiBdCisJCQl0aGVuCisJCQkJZ2l0IHNob3cgZmlsZV92MyA+dHdvICYmCisJCQkJZ2l0IGFkZCB0d28KKwkJCWZpICYmCisJCQl0ZXN0X3RpY2sgJiYgZ2l0IGNvbW1pdCAtbSBpbml0aWFsICYmCisKKwkJCWdpdCBicmFuY2ggTCAmJgorCQkJZ2l0IGJyYW5jaCBSICYmCisKKwkJCSMgSGFuZGxlIHRoZSBsZWZ0IHNpZGUKKwkJCWdpdCBjaGVja291dCBMICYmCisJCQlpZiBbICRzaWRlTCA9ICJyZW5hbWUiIF0KKwkJCXRoZW4KKwkJCQlnaXQgbXYgb25lIHRocmVlCisJCQllbHNlCisJCQkJZ2l0IHNob3cgZmlsZV92MiA+dGhyZWUgJiYKKwkJCQlnaXQgYWRkIHRocmVlCisJCQlmaSAmJgorCQkJaWYgWyAkc2lkZVIgPSAicmVuYW1lIiBdCisJCQl0aGVuCisJCQkJZ2l0IHNob3cgZmlsZV92NCA+dHdvICYmCisJCQkJZ2l0IGFkZCB0d28KKwkJCWZpICYmCisJCQl0ZXN0X3RpY2sgJiYgZ2l0IGNvbW1pdCAtbSBMICYmCisKKwkJCSMgSGFuZGxlIHRoZSByaWdodCBzaWRlCisJCQlnaXQgY2hlY2tvdXQgUiAmJgorCQkJaWYgWyAkc2lkZUwgPSAicmVuYW1lIiBdCisJCQl0aGVuCisJCQkJZ2l0IHNob3cgZmlsZV92MiA+b25lICYmCisJCQkJZ2l0IGFkZCBvbmUKKwkJCWZpICYmCisJCQlpZiBbICRzaWRlUiA9ICJyZW5hbWUiIF0KKwkJCXRoZW4KKwkJCQlnaXQgbXYgdHdvIHRocmVlCisJCQllbHNlCisJCQkJZ2l0IHNob3cgZmlsZV92NCA+dGhyZWUgJiYKKwkJCQlnaXQgYWRkIHRocmVlCisJCQlmaSAmJgorCQkJdGVzdF90aWNrICYmIGdpdCBjb21taXQgLW0gUgorCQkpCisJIycKKwl9CisKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICJjaGVjayBzaW1wbGUgJHNpZGVMLyRzaWRlUiBjb25mbGljdCIgJworCQl0ZXN0X3NldHVwX2NvbGxpc2lvbl9jb25mbGljdCAmJgorCQkoCisJCQljZCBzaW1wbGVfJHtzaWRlTH1fJHtzaWRlUn0gJiYKKworCQkJZ2l0IGNoZWNrb3V0IExeMCAmJgorCisJCQkjIE1lcmdlIG11c3QgZmFpbDsgdGhlcmUgaXMgYSBjb25mbGljdAorCQkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBSXjAgJiYKKworCQkJIyBNYWtlIHN1cmUgdGhlIGluZGV4IGhhcyB0aGUgcmlnaHQgbnVtYmVyIG9mIGVudHJpZXMKKwkJCWdpdCBscy1maWxlcyAtcyA+b3V0ICYmCisJCQl0ZXN0X2xpbmVfY291bnQgPSAzIG91dCAmJgorCQkJZ2l0IGxzLWZpbGVzIC11ID5vdXQgJiYKKwkJCXRlc3RfbGluZV9jb3VudCA9IDIgb3V0ICYmCisJCQkjIEVuc3VyZSB3ZSBoYXZlIHRoZSBjb3JyZWN0IG51bWJlciBvZiB1bnRyYWNrZWQgZmlsZXMKKwkJCWdpdCBscy1maWxlcyAtbyA+b3V0ICYmCisJCQl0ZXN0X2xpbmVfY291bnQgPSAxIG91dCAmJgorCisJCQkjIE5vdGhpbmcgc2hvdWxkIGhhdmUgdG91Y2hlZCBpcnJlbGV2YW50X2ZpbGUKKwkJCWdpdCByZXYtcGFyc2UgPmFjdHVhbCAgICAgIFwKKwkJCQk6MDppcnJlbGV2YW50X2ZpbGUgXAorCQkJCToyOnRocmVlICAgICAgICAgICBcCisJCQkJOjM6dGhyZWUgICAgICAgICAgICYmCisJCQlnaXQgcmV2LXBhcnNlID5leHBlY3RlZCAgICAgICAgXAorCQkJCW1hc3RlcjppcnJlbGV2YW50X2ZpbGUgXAorCQkJCWZpbGVfdjIgICAgICAgICAgICAgICAgXAorCQkJCWZpbGVfdjQgICAgICAgICAgICAgICAgJiYKKwkJCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCisJCQkjIE1ha2Ugc3VyZSB3ZSBoYXZlIHRoZSBjb3JyZWN0IG1lcmdlZCBjb250ZW50cyBmb3IKKwkJCSMgdGhyZWUKKwkJCWdpdCBzaG93IGZpbGVfdjEgPmV4cGVjdGVkICYmCisJCQljYXQgPDwtXEVPRiA+PmV4cGVjdGVkICYmCisJCQk8PDw8PDw8IEhFQUQKKwkJCW1vZGlmaWNhdGlvbgorCQkJPT09PT09PQorCQkJbW9yZSBzdHVmZgorCQkJeWV0IG1vcmUgc3R1ZmYKKwkJCT4+Pj4+Pj4gUl4wCisJCQlFT0YKKworCQkJdGVzdF9jbXAgZXhwZWN0ZWQgdGhyZWUKKwkJKQorCScKK30KKwordGVzdF9jb25mbGljdHNfd2l0aF9hZGRzX2FuZF9yZW5hbWVzIHJlbmFtZSByZW5hbWUKK3Rlc3RfY29uZmxpY3RzX3dpdGhfYWRkc19hbmRfcmVuYW1lcyByZW5hbWUgYWRkCit0ZXN0X2NvbmZsaWN0c193aXRoX2FkZHNfYW5kX3JlbmFtZXMgYWRkICAgIHJlbmFtZQordGVzdF9jb25mbGljdHNfd2l0aF9hZGRzX2FuZF9yZW5hbWVzIGFkZCAgICBhZGQKKworIyBTZXR1cDoKKyMgICAgICAgICAgTAorIyAgICAgICAgIC8gXAorIyAgIG1hc3RlciAgID8KKyMgICAgICAgICBcIC8KKyMgICAgICAgICAgUgorIworIyBXaGVyZToKKyMgICBtYXN0ZXIgaGFzIHR3byBmaWxlcywgbmFtZWQgJ29uZScgYW5kICd0d28nLgorIyAgIGJyYW5jaGVzIEwgYW5kIFIgYm90aCBtb2RpZnkgJ29uZScsIGluIGNvbmZsaWN0aW5nIHdheXMuCisjICAgYnJhbmNoZXMgTCBhbmQgUiBib3RoIG1vZGlmeSAndHdvJywgaW4gY29uZmxpY3Rpbmcgd2F5cy4KKyMgICBicmFuY2ggTCBhbHNvIHJlbmFtZXMgJ29uZScgdG8gJ3RocmVlJy4KKyMgICBicmFuY2ggUiBhbHNvIHJlbmFtZXMgJ3R3bycgdG8gJ3RocmVlJy4KKyMKKyMgICBTbywgd2UgaGF2ZSBmb3VyIGRpZmZlcmVudCBjb25mbGljdGluZyBmaWxlcyB0aGF0IGFsbCBlbmQgdXAgYXQgcGF0aAorIyAgICd0aHJlZScuCit0ZXN0X3NldHVwX25lc3RlZF9jb25mbGljdHNfZnJvbV9yZW5hbWVfcmVuYW1lICgpIHsKKwl0ZXN0X2NyZWF0ZV9yZXBvIG5lc3RlZF9jb25mbGljdHNfZnJvbV9yZW5hbWVfcmVuYW1lICYmCisJKAorCQljZCBuZXN0ZWRfY29uZmxpY3RzX2Zyb21fcmVuYW1lX3JlbmFtZSAmJgorCisJCSMgQ3JlYXRlIHNvbWUgcmVsYXRlZCBmaWxlcyBub3cKKwkJZm9yIGkgaW4gJCh0ZXN0X3NlcSAxIDEwKQorCQlkbworCQkJZWNobyBSYW5kb20gYmFzZSBjb250ZW50IGxpbmUgJGkKKwkJZG9uZSA+ZmlsZV92MSAmJgorCisJCWNwIGZpbGVfdjEgZmlsZV92MiAmJgorCQljcCBmaWxlX3YxIGZpbGVfdjMgJiYKKwkJY3AgZmlsZV92MSBmaWxlX3Y0ICYmCisJCWNwIGZpbGVfdjEgZmlsZV92NSAmJgorCQljcCBmaWxlX3YxIGZpbGVfdjYgJiYKKworCQllY2hvIG9uZSAgPj5maWxlX3YxICYmCisJCWVjaG8gdW5vICA+PmZpbGVfdjIgJiYKKwkJZWNobyBlaW5zID4+ZmlsZV92MyAmJgorCisJCWVjaG8gdHdvICA+PmZpbGVfdjQgJiYKKwkJZWNobyBkb3MgID4+ZmlsZV92NSAmJgorCQllY2hvIHp3ZWkgPj5maWxlX3Y2ICYmCisKKwkJIyBTZXR1cCBvcmlnaW5hbCBjb21taXQgKG9yIG1lcmdlLWJhc2UpLCBjb25zaXN0aW5nIG9mCisJCSMgZmlsZXMgbmFtZWQgIm9uZSIgYW5kICJ0d28iLgorCQltdiBmaWxlX3YxIG9uZSAmJgorCQltdiBmaWxlX3Y0IHR3byAmJgorCQlnaXQgYWRkIG9uZSB0d28gJiYKKwkJdGVzdF90aWNrICYmIGdpdCBjb21taXQgLW0gZW5nbGlzaCAmJgorCisJCWdpdCBicmFuY2ggTCAmJgorCQlnaXQgYnJhbmNoIFIgJiYKKworCQkjIEhhbmRsZSB0aGUgbGVmdCBzaWRlCisJCWdpdCBjaGVja291dCBMICYmCisJCWdpdCBybSBvbmUgdHdvICYmCisJCW12IC1mIGZpbGVfdjIgdGhyZWUgJiYKKwkJbXYgLWYgZmlsZV92NSB0d28gJiYKKwkJZ2l0IGFkZCB0d28gdGhyZWUgJiYKKwkJdGVzdF90aWNrICYmIGdpdCBjb21taXQgLW0gc3BhbmlzaCAmJgorCisJCSMgSGFuZGxlIHRoZSByaWdodCBzaWRlCisJCWdpdCBjaGVja291dCBSICYmCisJCWdpdCBybSBvbmUgdHdvICYmCisJCW12IC1mIGZpbGVfdjMgb25lICYmCisJCW12IC1mIGZpbGVfdjYgdGhyZWUgJiYKKwkJZ2l0IGFkZCBvbmUgdGhyZWUgJiYKKwkJdGVzdF90aWNrICYmIGdpdCBjb21taXQgLW0gZ2VybWFuCisJKQorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayBuZXN0ZWQgY29uZmxpY3RzIGZyb20gcmVuYW1lL3JlbmFtZSgydG8xKScgJworCXRlc3Rfc2V0dXBfbmVzdGVkX2NvbmZsaWN0c19mcm9tX3JlbmFtZV9yZW5hbWUgJiYKKwkoCisJCWNkIG5lc3RlZF9jb25mbGljdHNfZnJvbV9yZW5hbWVfcmVuYW1lICYmCisKKwkJZ2l0IGNoZWNrb3V0IExeMCAmJgorCisJCSMgTWVyZ2UgbXVzdCBmYWlsOyB0aGVyZSBpcyBhIGNvbmZsaWN0CisJCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSAtcyByZWN1cnNpdmUgUl4wICYmCisKKwkJIyBNYWtlIHN1cmUgdGhlIGluZGV4IGhhcyB0aGUgcmlnaHQgbnVtYmVyIG9mIGVudHJpZXMKKwkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMiBvdXQgJiYKKwkJZ2l0IGxzLWZpbGVzIC11ID5vdXQgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMiBvdXQgJiYKKwkJIyBFbnN1cmUgd2UgaGF2ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgdW50cmFja2VkIGZpbGVzCisJCWdpdCBscy1maWxlcyAtbyA+b3V0ICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDEgb3V0ICYmCisKKwkJIyBDb21wYXJlIDoyOnRocmVlIHRvIGV4cGVjdGVkIHZhbHVlcworCQlnaXQgY2F0LWZpbGUgLXAgbWFzdGVyOm9uZSA+YmFzZSAmJgorCQlnaXQgY2F0LWZpbGUgLXAgTDp0aHJlZSA+b3VycyAmJgorCQlnaXQgY2F0LWZpbGUgLXAgUjpvbmUgPnRoZWlycyAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UtZmlsZSAgICBcCisJCQktTCAiSEVBRDp0aHJlZSIgIC1MICIiICAtTCAiUl4wOm9uZSIgXAorCQkJb3VycyAgICAgICAgICAgICBiYXNlICAgdGhlaXJzICYmCisJCXNlZCAtZSAicy9eXChbPD0+XVwpL1wxXDEvIiBvdXJzID5MLXRocmVlICYmCisJCWdpdCBjYXQtZmlsZSAtcCA6Mjp0aHJlZSA+ZXhwZWN0ICYmCisJCXRlc3RfY21wIGV4cGVjdCBMLXRocmVlICYmCisKKwkJIyBDb21wYXJlIDoyOnRocmVlIHRvIGV4cGVjdGVkIHZhbHVlcworCQlnaXQgY2F0LWZpbGUgLXAgbWFzdGVyOnR3byA+YmFzZSAmJgorCQlnaXQgY2F0LWZpbGUgLXAgTDp0d28gPm91cnMgJiYKKwkJZ2l0IGNhdC1maWxlIC1wIFI6dGhyZWUgPnRoZWlycyAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UtZmlsZSAgICBcCisJCQktTCAiSEVBRDp0d28iICAtTCAiIiAgLUwgIlJeMDp0aHJlZSIgXAorCQkJb3VycyAgICAgICAgICAgYmFzZSAgIHRoZWlycyAmJgorCQlzZWQgLWUgInMvXlwoWzw9Pl1cKS9cMVwxLyIgb3VycyA+Ui10aHJlZSAmJgorCQlnaXQgY2F0LWZpbGUgLXAgOjM6dGhyZWUgPmV4cGVjdCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgUi10aHJlZSAmJgorCisJCSMgQ29tcGFyZSB0aHJlZSB0byBleHBlY3RlZCBjb250ZW50cworCQk+ZW1wdHkgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlLWZpbGUgICAgXAorCQkJLUwgIkhFQUQiICAtTCAiIiAgLUwgIlJeMCIgXAorCQkJTC10aHJlZSAgICBlbXB0eSAgUi10aHJlZSAmJgorCQl0ZXN0X2NtcCB0aHJlZSBMLXRocmVlCisJKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDYwNDMtbWVyZ2UtcmVuYW1lLWRpcmVjdG9yaWVzLnNoIGIvdC90NjA0My1tZXJnZS1yZW5hbWUtZGlyZWN0b3JpZXMuc2gKaW5kZXggNGE3MWYxNy4uODM3OTJjNSAxMDA3NTUKLS0tIGEvdC90NjA0My1tZXJnZS1yZW5hbWUtZGlyZWN0b3JpZXMuc2gKKysrIGIvdC90NjA0My1tZXJnZS1yZW5hbWUtZGlyZWN0b3JpZXMuc2gKQEAgLTM4LDcgKzM4LDcgQEAKICMgICBDb21taXQgQjogei97YixjLGQsZS9mfQogIyAgIEV4cGVjdGVkOiB5L3tiLGMsZCxlL2Z9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzFhLXNldHVwOiBTaW1wbGUgZGlyZWN0b3J5IHJlbmFtZSBkZXRlY3Rpb24nICcKK3Rlc3Rfc2V0dXBfMWEgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gMWEgJiYKIAkoCiAJCWNkIDFhICYmCkBAIC02NywxNSArNjcsMTYgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcxYS1jaGVjazogU2ltcGxlIGRpcmVjdG9yeSByZW5hbWUgZGV0ZWN0aW9uJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcxYTogU2ltcGxlIGRpcmVjdG9yeSByZW5hbWUgZGV0ZWN0aW9uJyAnCisJdGVzdF9zZXR1cF8xYSAmJgogCSgKIAkJY2QgMWEgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKLQkJZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgJiYKKwkJZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgJiYKIAogCQlnaXQgbHMtZmlsZXMgLXMgPm91dCAmJgogCQl0ZXN0X2xpbmVfY291bnQgPSA0IG91dCAmJgpAQCAtMTAzLDcgKzEwNCw3IEBACiAjICAgQ29tbWl0IEI6IHkve2IsYyxkfQogIyAgIEV4cGVjdGVkOiB5L3tiLGMsZCxlfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcxYi1zZXR1cDogTWVyZ2UgYSBkaXJlY3Rvcnkgd2l0aCBhbm90aGVyJyAnCit0ZXN0X3NldHVwXzFiICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIDFiICYmCiAJKAogCQljZCAxYiAmJgpAQCAtMTM0LDE1ICsxMzUsMTYgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcxYi1jaGVjazogTWVyZ2UgYSBkaXJlY3Rvcnkgd2l0aCBhbm90aGVyJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcxYjogTWVyZ2UgYSBkaXJlY3Rvcnkgd2l0aCBhbm90aGVyJyAnCisJdGVzdF9zZXR1cF8xYiAmJgogCSgKIAkJY2QgMWIgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKLQkJZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgJiYKKwkJZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gNCBvdXQgJiYKQEAgLTE2NSw3ICsxNjcsNyBAQAogIyAgIENvbW1pdCBCOiB6L3tiLGMsZH0KICMgICBFeHBlY3RlZDogeS97YixjLGR9ICAoYmVjYXVzZSB4L2QgLT4gei9kIC0+IHkvZCkKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnMWMtc2V0dXA6IFRyYW5zaXRpdmUgcmVuYW1pbmcnICcKK3Rlc3Rfc2V0dXBfMWMgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gMWMgJiYKIAkoCiAJCWNkIDFjICYmCkBAIC0xOTMsMTUgKzE5NSwxNiBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzFjLWNoZWNrOiBUcmFuc2l0aXZlIHJlbmFtaW5nJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcxYzogVHJhbnNpdGl2ZSByZW5hbWluZycgJworCXRlc3Rfc2V0dXBfMWMgJiYKIAkoCiAJCWNkIDFjICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEFeMCAmJgogCi0JCWdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wICYmCisJCWdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0ICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gMyBvdXQgJiYKQEAgLTIyNyw3ICsyMzAsNyBAQAogIyAgIE5vdGU6IHkvbSAmIHovbiBzaG91bGQgZGVmaW5pdGVseSBtb3ZlIGludG8geC4gIEJ5IHRoZSBzYW1lIHRva2VuLCBib3RoCiAjICAgICAgICAgeS93aGFtXzEgJiB6L3doYW1fMiBzaG91bGQgdG9vLi4uZ2l2aW5nIHVzIGEgY29uZmxpY3QuCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzFkLXNldHVwOiBEaXJlY3RvcnkgcmVuYW1lcyBjYXVzZSBhIHJlbmFtZS9yZW5hbWUoMnRvMSkgY29uZmxpY3QnICcKK3Rlc3Rfc2V0dXBfMWQgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gMWQgJiYKIAkoCiAJCWNkIDFkICYmCkBAIC0yNjIsMTUgKzI2NSwxNiBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzFkLWNoZWNrOiBEaXJlY3RvcnkgcmVuYW1lcyBjYXVzZSBhIHJlbmFtZS9yZW5hbWUoMnRvMSkgY29uZmxpY3QnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzFkOiBEaXJlY3RvcnkgcmVuYW1lcyBjYXVzZSBhIHJlbmFtZS9yZW5hbWUoMnRvMSkgY29uZmxpY3QnICcKKwl0ZXN0X3NldHVwXzFkICYmCiAJKAogCQljZCAxZCAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAotCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0ICYmCiAJCXRlc3RfaTE4bmdyZXAgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKSIgb3V0ICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKQEAgLTI3OCw3ICsyODIsNyBAQAogCQlnaXQgbHMtZmlsZXMgLXUgPm91dCAmJgogCQl0ZXN0X2xpbmVfY291bnQgPSAyIG91dCAmJgogCQlnaXQgbHMtZmlsZXMgLW8gPm91dCAmJgotCQl0ZXN0X2xpbmVfY291bnQgPSAzIG91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAxIG91dCAmJgogCiAJCWdpdCByZXYtcGFyc2UgPmFjdHVhbCBcCiAJCQk6MDp4L2IgOjA6eC9jIDowOngvZCA6MDp4L2UgOjA6eC9tIDowOngvbiAmJgpAQCAtMjkzLDE1ICsyOTcsMTYgQEAKIAkJCSBBOnkvd2hhbSAgQjp6L3doYW0gJiYKIAkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgogCi0JCXRlc3RfcGF0aF9pc19taXNzaW5nIHgvd2hhbSAmJgotCQl0ZXN0X3BhdGhfaXNfZmlsZSB4L3doYW1+SEVBRCAmJgotCQl0ZXN0X3BhdGhfaXNfZmlsZSB4L3doYW1+Ql4wICYmCi0KLQkJZ2l0IGhhc2gtb2JqZWN0ID5hY3R1YWwgXAotCQkJeC93aGFtfkhFQUQgeC93aGFtfkJeMCAmJgotCQlnaXQgcmV2LXBhcnNlID5leHBlY3QgXAotCQkJQTp5L3doYW0gICAgQjp6L3doYW0gJiYKLQkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCQkjIFRlc3QgdGhhdCB0aGUgdHdvLXdheSBtZXJnZSBpbiB4L3doYW0gaXMgYXMgZXhwZWN0ZWQKKwkJZ2l0IGNhdC1maWxlIC1wIDoyOngvd2hhbSA+ZXhwZWN0ICYmCisJCWdpdCBjYXQtZmlsZSAtcCA6Mzp4L3doYW0gPm90aGVyICYmCisJCT5lbXB0eSAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UtZmlsZSBcCisJCQktTCAiSEVBRCIgXAorCQkJLUwgIiIgXAorCQkJLUwgIkJeMCIgXAorCQkJZXhwZWN0IGVtcHR5IG90aGVyICYmCisJCXRlc3RfY21wIGV4cGVjdCB4L3doYW0KIAkpCiAnCiAKQEAgLTMxMiw3ICszMTcsNyBAQAogIyAgIENvbW1pdCBCOiB6L3tvbGRiLG9sZGMsZH0KICMgICBFeHBlY3RlZDogeS97bmV3YixuZXdjLGR9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzFlLXNldHVwOiBSZW5hbWVkIGRpcmVjdG9yeSwgd2l0aCBhbGwgZmlsZXMgYmVpbmcgcmVuYW1lZCB0b28nICcKK3Rlc3Rfc2V0dXBfMWUgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gMWUgJiYKIAkoCiAJCWNkIDFlICYmCkBAIC0zNDEsMTUgKzM0NiwxNiBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzFlLWNoZWNrOiBSZW5hbWVkIGRpcmVjdG9yeSwgd2l0aCBhbGwgZmlsZXMgYmVpbmcgcmVuYW1lZCB0b28nICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzFlOiBSZW5hbWVkIGRpcmVjdG9yeSwgd2l0aCBhbGwgZmlsZXMgYmVpbmcgcmVuYW1lZCB0b28nICcKKwl0ZXN0X3NldHVwXzFlICYmCiAJKAogCQljZCAxZSAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAotCQlnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCAmJgorCQlnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgJiYKIAogCQlnaXQgbHMtZmlsZXMgLXMgPm91dCAmJgogCQl0ZXN0X2xpbmVfY291bnQgPSAzIG91dCAmJgpAQCAtMzcwLDcgKzM3Niw3IEBACiAjICAgQ29tbWl0IEI6IHkve2IsY30sIHgve2QsZSxmfQogIyAgIEV4cGVjdGVkOiB5L3tiLGN9LCB4L3tkLGUsZixnfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcxZi1zZXR1cDogU3BsaXQgYSBkaXJlY3RvcnkgaW50byB0d28gb3RoZXIgZGlyZWN0b3JpZXMnICcKK3Rlc3Rfc2V0dXBfMWYgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gMWYgJiYKIAkoCiAJCWNkIDFmICYmCkBAIC00MDcsMTUgKzQxMywxNiBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzFmLWNoZWNrOiBTcGxpdCBhIGRpcmVjdG9yeSBpbnRvIHR3byBvdGhlciBkaXJlY3RvcmllcycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnMWY6IFNwbGl0IGEgZGlyZWN0b3J5IGludG8gdHdvIG90aGVyIGRpcmVjdG9yaWVzJyAnCisJdGVzdF9zZXR1cF8xZiAmJgogCSgKIAkJY2QgMWYgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKLQkJZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgJiYKKwkJZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gNiBvdXQgJiYKQEAgLTQ1OCw3ICs0NjUsNyBAQAogIyAgIENvbW1pdCBBOiB5L2IsIHcvYwogIyAgIENvbW1pdCBCOiB6L3tiLGMsZH0KICMgICBFeHBlY3RlZDogeS9iLCB3L2MsIHovZCwgd2l0aCB3YXJuaW5nIGFib3V0IHovIC0+ICh5LyB2cy4gdy8pIGNvbmZsaWN0Ci10ZXN0X2V4cGVjdF9zdWNjZXNzICcyYS1zZXR1cDogRGlyZWN0b3J5IHNwbGl0IGludG8gdHdvIG9uIG9uZSBzaWRlLCB3aXRoIGVxdWFsIG51bWJlcnMgb2YgcGF0aHMnICcKK3Rlc3Rfc2V0dXBfMmEgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gMmEgJiYKIAkoCiAJCWNkIDJhICYmCkBAIC00ODgsMTUgKzQ5NSwxNiBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzJhLWNoZWNrOiBEaXJlY3Rvcnkgc3BsaXQgaW50byB0d28gb24gb25lIHNpZGUsIHdpdGggZXF1YWwgbnVtYmVycyBvZiBwYXRocycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnMmE6IERpcmVjdG9yeSBzcGxpdCBpbnRvIHR3byBvbiBvbmUgc2lkZSwgd2l0aCBlcXVhbCBudW1iZXJzIG9mIHBhdGhzJyAnCisJdGVzdF9zZXR1cF8yYSAmJgogCSgKIAkJY2QgMmEgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKLQkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAmJgogCQl0ZXN0X2kxOG5ncmVwICJDT05GTElDVC4qZGlyZWN0b3J5IHJlbmFtZSBzcGxpdCIgb3V0ICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKQEAgLTUxOSw3ICs1MjcsNyBAQAogIyAgIENvbW1pdCBBOiB5L2IsIHcvYwogIyAgIENvbW1pdCBCOiB6L3tiLGN9LCB4L2QKICMgICBFeHBlY3RlZDogeS9iLCB3L2MsIHgvZDsgTm8gd2FybmluZyBhYm91dCB6LyAtPiAoeS8gdnMuIHcvKSBjb25mbGljdAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnMmItc2V0dXA6IERpcmVjdG9yeSBzcGxpdCBpbnRvIHR3byBvbiBvbmUgc2lkZSwgd2l0aCBlcXVhbCBudW1iZXJzIG9mIHBhdGhzJyAnCit0ZXN0X3NldHVwXzJiICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIDJiICYmCiAJKAogCQljZCAyYiAmJgpAQCAtNTUwLDE1ICs1NTgsMTYgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcyYi1jaGVjazogRGlyZWN0b3J5IHNwbGl0IGludG8gdHdvIG9uIG9uZSBzaWRlLCB3aXRoIGVxdWFsIG51bWJlcnMgb2YgcGF0aHMnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzJiOiBEaXJlY3Rvcnkgc3BsaXQgaW50byB0d28gb24gb25lIHNpZGUsIHdpdGggZXF1YWwgbnVtYmVycyBvZiBwYXRocycgJworCXRlc3Rfc2V0dXBfMmIgJiYKIAkoCiAJCWNkIDJiICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEFeMCAmJgogCi0JCWdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgJiYKKwkJZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgJiYKIAogCQlnaXQgbHMtZmlsZXMgLXMgPm91dCAmJgogCQl0ZXN0X2xpbmVfY291bnQgPSAzIG91dCAmJgpAQCAtNjAwLDcgKzYwOSw3IEBACiAjICAgQ29tbWl0IEE6IHove2IsYyxkfSAobm8gY2hhbmdlKQogIyAgIENvbW1pdCBCOiB5L3tiLGN9LCB4L2QKICMgICBFeHBlY3RlZDogeS97YixjfSwgeC9kCi10ZXN0X2V4cGVjdF9zdWNjZXNzICczYS1zZXR1cDogQXZvaWQgaW1wbGljaXQgcmVuYW1lIGlmIGludm9sdmVkIGFzIHNvdXJjZSBvbiBvdGhlciBzaWRlJyAnCit0ZXN0X3NldHVwXzNhICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIDNhICYmCiAJKAogCQljZCAzYSAmJgpAQCAtNjMxLDE1ICs2NDAsMTYgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICczYS1jaGVjazogQXZvaWQgaW1wbGljaXQgcmVuYW1lIGlmIGludm9sdmVkIGFzIHNvdXJjZSBvbiBvdGhlciBzaWRlJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICczYTogQXZvaWQgaW1wbGljaXQgcmVuYW1lIGlmIGludm9sdmVkIGFzIHNvdXJjZSBvbiBvdGhlciBzaWRlJyAnCisJdGVzdF9zZXR1cF8zYSAmJgogCSgKIAkJY2QgM2EgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKLQkJZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgJiYKKwkJZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gMyBvdXQgJiYKQEAgLTY2Myw3ICs2NzMsNyBAQAogIyAgICAgICAgIGdldCBpdCBpbnZvbHZlZCBpbiBkaXJlY3RvcnkgcmVuYW1lIGRldGVjdGlvbi4gIElmIGl0IHdlcmUsIHdlIG1pZ2h0CiAjICAgICAgICAgZW5kIHVwIHdpdGggQ09ORkxJQ1Q6KHovZCAtPiB5L2QgdnMuIHgvZCB2cy4gdy9kKSwgaS5lLiBhCiAjICAgICAgICAgcmVuYW1lL3JlbmFtZS9yZW5hbWUoMXRvMykgY29uZmxpY3QsIHdoaWNoIGlzIGp1c3Qgd2VpcmQuCi10ZXN0X2V4cGVjdF9zdWNjZXNzICczYi1zZXR1cDogQXZvaWQgaW1wbGljaXQgcmVuYW1lIGlmIGludm9sdmVkIGFzIHNvdXJjZSBvbiBjdXJyZW50IHNpZGUnICcKK3Rlc3Rfc2V0dXBfM2IgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gM2IgJiYKIAkoCiAJCWNkIDNiICYmCkBAIC02OTYsMTUgKzcwNiwxNiBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzNiLWNoZWNrOiBBdm9pZCBpbXBsaWNpdCByZW5hbWUgaWYgaW52b2x2ZWQgYXMgc291cmNlIG9uIGN1cnJlbnQgc2lkZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnM2I6IEF2b2lkIGltcGxpY2l0IHJlbmFtZSBpZiBpbnZvbHZlZCBhcyBzb3VyY2Ugb24gY3VycmVudCBzaWRlJyAnCisJdGVzdF9zZXR1cF8zYiAmJgogCSgKIAkJY2QgM2IgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKLQkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAmJgogCQl0ZXN0X2kxOG5ncmVwIENPTkZMSUNULipyZW5hbWUvcmVuYW1lLip6L2QuKngvZC4qdy9kIG91dCAmJgogCQl0ZXN0X2kxOG5ncmVwICEgQ09ORkxJQ1QuKnJlbmFtZS9yZW5hbWUuKnkvZCBvdXQgJiYKIApAQCAtNzQzLDcgKzc1NCw3IEBACiAjCiAjIFdoYXQgaWYgd2Ugd2VyZSB0byBhdHRlbXB0IHRvIGRvIGRpcmVjdG9yeSByZW5hbWUgZGV0ZWN0aW9uIHdoZW4gc29tZW9uZQogIyAibW9zdGx5IiBtb3ZlZCBhIGRpcmVjdG9yeSBidXQgc3RpbGwgbGVmdCBzb21lIGZpbGVzIGFyb3VuZCwgb3IsCi0jIGVxdWl2YWxlbnRseSwgZnVsbHkgcmVuYW1lZCBhIGRpcmVjdG9yeSBpbiBvbmUgY29tbW1pdCBhbmQgdGhlbiByZWNyZWF0ZWQKKyMgZXF1aXZhbGVudGx5LCBmdWxseSByZW5hbWVkIGEgZGlyZWN0b3J5IGluIG9uZSBjb21taXQgYW5kIHRoZW4gcmVjcmVhdGVkCiAjIHRoYXQgZGlyZWN0b3J5IGluIGEgbGF0ZXIgY29tbWl0IGFkZGluZyBzb21lIG5ldyBmaWxlcyBhbmQgdGhlbiB0cmllZCB0bwogIyBtZXJnZT8KICMKQEAgLTc4NSw3ICs3OTYsNyBAQAogIyAgIEV4cGVjdGVkOiB5L3tiLGMsZH0sIHove2UsZn0KICMgICBOT1RFOiBFdmVuIHRob3VnaCBtb3N0IGZpbGVzIGZyb20geiBtb3ZlZCB0byB5LCB3ZSBkb24ndCB3YW50IGYgdG8gZm9sbG93LgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc0YS1zZXR1cDogRGlyZWN0b3J5IHNwbGl0LCB3aXRoIG9yaWdpbmFsIGRpcmVjdG9yeSBzdGlsbCBwcmVzZW50JyAnCit0ZXN0X3NldHVwXzRhICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIDRhICYmCiAJKAogCQljZCA0YSAmJgpAQCAtODE3LDE1ICs4MjgsMTYgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc0YS1jaGVjazogRGlyZWN0b3J5IHNwbGl0LCB3aXRoIG9yaWdpbmFsIGRpcmVjdG9yeSBzdGlsbCBwcmVzZW50JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICc0YTogRGlyZWN0b3J5IHNwbGl0LCB3aXRoIG9yaWdpbmFsIGRpcmVjdG9yeSBzdGlsbCBwcmVzZW50JyAnCisJdGVzdF9zZXR1cF80YSAmJgogCSgKIAkJY2QgNGEgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKLQkJZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgJiYKKwkJZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gNSBvdXQgJiYKQEAgLTg3Myw3ICs4ODUsNyBAQAogIyAgICAgICAgIG9mIGhpc3RvcnksIGdpdmluZyB1cyBubyB3YXkgdG8gcmVwcmVzZW50IHRoaXMgY29uZmxpY3QgaW4gdGhlCiAjICAgICAgICAgaW5kZXguCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzVhLXNldHVwOiBNZXJnZSBkaXJlY3Rvcmllcywgb3RoZXIgc2lkZSBhZGRzIGZpbGVzIHRvIG9yaWdpbmFsIGFuZCB0YXJnZXQnICcKK3Rlc3Rfc2V0dXBfNWEgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gNWEgJiYKIAkoCiAJCWNkIDVhICYmCkBAIC05MDYsMTUgKzkxOCwxNiBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzVhLWNoZWNrOiBNZXJnZSBkaXJlY3Rvcmllcywgb3RoZXIgc2lkZSBhZGRzIGZpbGVzIHRvIG9yaWdpbmFsIGFuZCB0YXJnZXQnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzVhOiBNZXJnZSBkaXJlY3Rvcmllcywgb3RoZXIgc2lkZSBhZGRzIGZpbGVzIHRvIG9yaWdpbmFsIGFuZCB0YXJnZXQnICcKKwl0ZXN0X3NldHVwXzVhICYmCiAJKAogCQljZCA1YSAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAotCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0ICYmCiAJCXRlc3RfaTE4bmdyZXAgIkNPTkZMSUNULippbXBsaWNpdCBkaXIgcmVuYW1lIiBvdXQgJiYKIAogCQlnaXQgbHMtZmlsZXMgLXMgPm91dCAmJgpAQCAtOTQwLDE0ICs5NTMsMTQgQEAKICMgICBDb21taXQgQjogei97YixjLGRfMSxlfSwgeS9kXzMKICMgICBFeHBlY3RlZDogeS97YixjLGV9LCBDT05GTElDVChhZGQvYWRkOiB5L2RfMiB2cy4geS9kXzMpCiAjICAgTk9URTogSWYgei9kXzEgaW4gY29tbWl0IEIgd2VyZSB0byBiZSBpbnZvbHZlZCBpbiBkaXIgcmVuYW1lIGRldGVjdGlvbiwgYXMKLSMgICAgICAgICB3ZSBub3JtYWx5IHdvdWxkIHNpbmNlIHovIGlzIGJlaW5nIHJlbmFtZWQgdG8geS8sIHRoZW4gdGhpcyB3b3VsZCBiZQorIyAgICAgICAgIHdlIG5vcm1hbGx5IHdvdWxkIHNpbmNlIHovIGlzIGJlaW5nIHJlbmFtZWQgdG8geS8sIHRoZW4gdGhpcyB3b3VsZCBiZQogIyAgICAgICAgIGEgcmVuYW1lL2RlbGV0ZSAoei9kXzEgLT4geS9kXzEgdnMuIGRlbGV0ZWQpIEFORCBhbiBhZGQvYWRkL2FkZAogIyAgICAgICAgIGNvbmZsaWN0IG9mIHkvZF8xIHZzLiB5L2RfMiB2cy4geS9kXzMuICBBZGQvYWRkL2FkZCBpcyBub3QKICMgICAgICAgICByZXByZXNlbnRhYmxlIGluIHRoZSBpbmRleCwgc28gdGhlIGV4aXN0ZW5jZSBvZiB5L2RfMyBuZWVkcyB0bwogIyAgICAgICAgIGNhdXNlIHVzIHRvIGJhaWwgb24gZGlyZWN0b3J5IHJlbmFtZSBkZXRlY3Rpb24gZm9yIHRoYXQgcGF0aCwgZmFsbGluZwogIyAgICAgICAgIGJhY2sgdG8gZ2l0IGJlaGF2aW9yIHdpdGhvdXQgdGhlIGRpcmVjdG9yeSByZW5hbWUgZGV0ZWN0aW9uLgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc1Yi1zZXR1cDogUmVuYW1lL2RlbGV0ZSBpbiBvcmRlciB0byBnZXQgYWRkL2FkZC9hZGQgY29uZmxpY3QnICcKK3Rlc3Rfc2V0dXBfNWIgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gNWIgJiYKIAkoCiAJCWNkIDViICYmCkBAIC05ODAsMTUgKzk5MywxNiBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzViLWNoZWNrOiBSZW5hbWUvZGVsZXRlIGluIG9yZGVyIHRvIGdldCBhZGQvYWRkL2FkZCBjb25mbGljdCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnNWI6IFJlbmFtZS9kZWxldGUgaW4gb3JkZXIgdG8gZ2V0IGFkZC9hZGQvYWRkIGNvbmZsaWN0JyAnCisJdGVzdF9zZXR1cF81YiAmJgogCSgKIAkJY2QgNWIgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKLQkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAmJgogCQl0ZXN0X2kxOG5ncmVwICJDT05GTElDVCAoYWRkL2FkZCkuKiB5L2QiIG91dCAmJgogCiAJCWdpdCBscy1maWxlcyAtcyA+b3V0ICYmCkBAIC0xMDIzLDcgKzEwMzcsNyBAQAogIyAgICAgICAgICAgICB5L2QgYXJlIHkvZF8yIGFuZCB5L2RfNC4gIFdlIHN0aWxsIGRvIHRoZSBtb3ZlIGZyb20gei9lIHRvIHkvZSwKICMgICAgICAgICAgICAgdGhvdWdoLCBiZWNhdXNlIGl0IGRvZXNuJ3QgaGF2ZSBhbnl0aGluZyBpbiB0aGUgd2F5LgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc1Yy1zZXR1cDogVHJhbnNpdGl2ZSByZW5hbWUgd291bGQgY2F1c2UgcmVuYW1lL3JlbmFtZS9yZW5hbWUvYWRkL2FkZC9hZGQnICcKK3Rlc3Rfc2V0dXBfNWMgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gNWMgJiYKIAkoCiAJCWNkIDVjICYmCkBAIC0xMDYwLDE1ICsxMDc0LDE2IEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tICJCIgogCSkKLScKK30KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnNWMtY2hlY2s6IFRyYW5zaXRpdmUgcmVuYW1lIHdvdWxkIGNhdXNlIHJlbmFtZS9yZW5hbWUvcmVuYW1lL2FkZC9hZGQvYWRkJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICc1YzogVHJhbnNpdGl2ZSByZW5hbWUgd291bGQgY2F1c2UgcmVuYW1lL3JlbmFtZS9yZW5hbWUvYWRkL2FkZC9hZGQnICcKKwl0ZXN0X3NldHVwXzVjICYmCiAJKAogCQljZCA1YyAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAotCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0ICYmCiAJCXRlc3RfaTE4bmdyZXAgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKS4qeC9kLip3L2QuKnovZCIgb3V0ICYmCiAJCXRlc3RfaTE4bmdyZXAgIkNPTkZMSUNUIChhZGQvYWRkKS4qIHkvZCIgb3V0ICYmCiAKQEAgLTEwNzcsNyArMTA5Miw3IEBACiAJCWdpdCBscy1maWxlcyAtdSA+b3V0ICYmCiAJCXRlc3RfbGluZV9jb3VudCA9IDYgb3V0ICYmCiAJCWdpdCBscy1maWxlcyAtbyA+b3V0ICYmCi0JCXRlc3RfbGluZV9jb3VudCA9IDMgb3V0ICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDEgb3V0ICYmCiAKIAkJZ2l0IHJldi1wYXJzZSA+YWN0dWFsIFwKIAkJCTowOnkvYiA6MDp5L2MgOjA6eS9lICYmCkBAIC0xMDkzLDkgKzExMDgsOSBAQAogCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCiAKIAkJZ2l0IGhhc2gtb2JqZWN0ID5hY3R1YWwgXAotCQkJdy9kfkhFQUQgdy9kfkJeMCB6L2QgJiYKKwkJCXovZCAmJgogCQlnaXQgcmV2LXBhcnNlID5leHBlY3QgXAotCQkJTzp4L2QgICAgQjp3L2QgICBPOngvZCAmJgorCQkJTzp4L2QgJiYKIAkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgogCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyB4L2QgJiYKIAkJdGVzdF9wYXRoX2lzX2ZpbGUgeS9kICYmCkBAIC0xMTEyLDcgKzExMjcsNyBAQAogIyAgICAgICAgIGRldGVjdGlvbiBmb3Igei9kXzIsIGJ1dCB0aGF0IGRvZXNuJ3QgcHJldmVudCB1cyBmcm9tIGFwcGx5aW5nIHRoZQogIyAgICAgICAgIGRpcmVjdG9yeSByZW5hbWUgZGV0ZWN0aW9uIGZvciB6L2YgLT4geS9mLgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc1ZC1zZXR1cDogRGlyZWN0b3J5L2ZpbGUvZmlsZSBjb25mbGljdCBkdWUgdG8gZGlyZWN0b3J5IHJlbmFtZScgJwordGVzdF9zZXR1cF81ZCAoKSB7CiAJdGVzdF9jcmVhdGVfcmVwbyA1ZCAmJgogCSgKIAkJY2QgNWQgJiYKQEAgLTExNDQsMTUgKzExNTksMTYgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc1ZC1jaGVjazogRGlyZWN0b3J5L2ZpbGUvZmlsZSBjb25mbGljdCBkdWUgdG8gZGlyZWN0b3J5IHJlbmFtZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnNWQ6IERpcmVjdG9yeS9maWxlL2ZpbGUgY29uZmxpY3QgZHVlIHRvIGRpcmVjdG9yeSByZW5hbWUnICcKKwl0ZXN0X3NldHVwXzVkICYmCiAJKAogCQljZCA1ZCAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAotCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0ICYmCiAJCXRlc3RfaTE4bmdyZXAgIkNPTkZMSUNUIChmaWxlL2RpcmVjdG9yeSkuKnkvZCIgb3V0ICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKQEAgLTEyMDQsNyArMTIyMCw3IEBACiAjICAgICAgICAgdGhlbSB1bmRlciB5LyBkb2Vzbid0IGFjY2lkZW50YWxseSBjYXRjaCB6L2QgYW5kIG1ha2UgaXQgbG9vayBsaWtlCiAjICAgICAgICAgaXQgaXMgYWxzbyBpbnZvbHZlZCBpbiBhIHJlbmFtZS9kZWxldGUgY29uZmxpY3QuCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzZhLXNldHVwOiBUcmlja3kgcmVuYW1lL2RlbGV0ZScgJwordGVzdF9zZXR1cF82YSAoKSB7CiAJdGVzdF9jcmVhdGVfcmVwbyA2YSAmJgogCSgKIAkJY2QgNmEgJiYKQEAgLTEyMzQsMTUgKzEyNTAsMTYgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc2YS1jaGVjazogVHJpY2t5IHJlbmFtZS9kZWxldGUnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzZhOiBUcmlja3kgcmVuYW1lL2RlbGV0ZScgJworCXRlc3Rfc2V0dXBfNmEgJiYKIAkoCiAJCWNkIDZhICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEFeMCAmJgogCi0JCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgJiYKIAkJdGVzdF9pMThuZ3JlcCAiQ09ORkxJQ1QgKHJlbmFtZS9kZWxldGUpLip6L2MuKnkvYyIgb3V0ICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKQEAgLTEyNzAsNyArMTI4Nyw3IEBACiAjICAgICAgICAgYnV0IEIgZGlkIHRoYXQgcmVuYW1lIGFuZCBzdGlsbCBkZWNpZGVkIHRvIHB1dCB0aGUgZmlsZSBpbnRvIHovLAogIyAgICAgICAgIHNvIHdlIHByb2JhYmx5IHNob3VsZG4ndCBhcHBseSBkaXJlY3RvcnkgcmVuYW1lIGRldGVjdGlvbiBmb3IgaXQuCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzZiLXNldHVwOiBTYW1lIHJlbmFtZSBkb25lIG9uIGJvdGggc2lkZXMnICcKK3Rlc3Rfc2V0dXBfNmIgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gNmIgJiYKIAkoCiAJCWNkIDZiICYmCkBAIC0xMjk5LDE1ICsxMzE2LDE2IEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tICJCIgogCSkKLScKK30KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnNmItY2hlY2s6IFNhbWUgcmVuYW1lIGRvbmUgb24gYm90aCBzaWRlcycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnNmI6IFNhbWUgcmVuYW1lIGRvbmUgb24gYm90aCBzaWRlcycgJworCXRlc3Rfc2V0dXBfNmIgJiYKIAkoCiAJCWNkIDZiICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEFeMCAmJgogCi0JCWdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wICYmCisJCWdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCAmJgogCiAJCWdpdCBscy1maWxlcyAtcyA+b3V0ICYmCiAJCXRlc3RfbGluZV9jb3VudCA9IDMgb3V0ICYmCkBAIC0xMzMzLDcgKzEzNTEsNyBAQAogIyAgIE5PVEU6IFNlZW1zIG9idmlvdXMsIGJ1dCBqdXN0IGNoZWNraW5nIHRoYXQgdGhlIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QKICMgICAgICAgICAiYWNjaWRlbnRhbGx5IGRldGVjdCBhIHJlbmFtZSIgYW5kIGdpdmUgdXMgeS97YixjLGR9LgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc2Yy1zZXR1cDogUmVuYW1lIG9ubHkgZG9uZSBvbiBzYW1lIHNpZGUnICcKK3Rlc3Rfc2V0dXBfNmMgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gNmMgJiYKIAkoCiAJCWNkIDZjICYmCkBAIC0xMzYxLDE1ICsxMzc5LDE2IEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tICJCIgogCSkKLScKK30KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnNmMtY2hlY2s6IFJlbmFtZSBvbmx5IGRvbmUgb24gc2FtZSBzaWRlJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICc2YzogUmVuYW1lIG9ubHkgZG9uZSBvbiBzYW1lIHNpZGUnICcKKwl0ZXN0X3NldHVwXzZjICYmCiAJKAogCQljZCA2YyAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAotCQlnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCAmJgorCQlnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgJiYKIAogCQlnaXQgbHMtZmlsZXMgLXMgPm91dCAmJgogCQl0ZXN0X2xpbmVfY291bnQgPSAzIG91dCAmJgpAQCAtMTM5NSw3ICsxNDE0LDcgQEAKICMgICBOT1RFOiBBZ2FpbiwgdGhpcyBzZWVtcyBvYnZpb3VzIGJ1dCBqdXN0IGNoZWNraW5nIHRoYXQgdGhlIGltcGxlbWVudGF0aW9uCiAjICAgICAgICAgZG9lc24ndCAiYWNjaWRlbnRhbGx5IGRldGVjdCBhIHJlbmFtZSIgYW5kIGdpdmUgdXMgeS97YixjLGR9LgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc2ZC1zZXR1cDogV2UgZG8gbm90IGFsd2F5cyB3YW50IHRyYW5zaXRpdmUgcmVuYW1pbmcnICcKK3Rlc3Rfc2V0dXBfNmQgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gNmQgJiYKIAkoCiAJCWNkIDZkICYmCkBAIC0xNDIzLDE1ICsxNDQyLDE2IEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tICJCIgogCSkKLScKK30KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnNmQtY2hlY2s6IFdlIGRvIG5vdCBhbHdheXMgd2FudCB0cmFuc2l0aXZlIHJlbmFtaW5nJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICc2ZDogV2UgZG8gbm90IGFsd2F5cyB3YW50IHRyYW5zaXRpdmUgcmVuYW1pbmcnICcKKwl0ZXN0X3NldHVwXzZkICYmCiAJKAogCQljZCA2ZCAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAotCQlnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCAmJgorCQlnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgJiYKIAogCQlnaXQgbHMtZmlsZXMgLXMgPm91dCAmJgogCQl0ZXN0X2xpbmVfY291bnQgPSAzIG91dCAmJgpAQCAtMTQ1Nyw3ICsxNDc3LDcgQEAKICMgICAgICAgICBkb2Vzbid0ICJhY2NpZGVudGFsbHkgZGV0ZWN0IGEgcmVuYW1lIiBhbmQgZ2l2ZSB1cyB5L3tiLGN9ICsKICMgICAgICAgICBhZGQvYWRkIGNvbmZsaWN0IG9uIHkvZF8xIHZzIHkvZF8yLgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc2ZS1zZXR1cDogQWRkL2FkZCBmcm9tIG9uZSBzaWRlJyAnCit0ZXN0X3NldHVwXzZlICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIDZlICYmCiAJKAogCQljZCA2ZSAmJgpAQCAtMTQ4NiwxNSArMTUwNiwxNiBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzZlLWNoZWNrOiBBZGQvYWRkIGZyb20gb25lIHNpZGUnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzZlOiBBZGQvYWRkIGZyb20gb25lIHNpZGUnICcKKwl0ZXN0X3NldHVwXzZlICYmCiAJKAogCQljZCA2ZSAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAotCQlnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCAmJgorCQlnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgJiYKIAogCQlnaXQgbHMtZmlsZXMgLXMgPm91dCAmJgogCQl0ZXN0X2xpbmVfY291bnQgPSA0IG91dCAmJgpAQCAtMTU1MSw3ICsxNTcyLDcgQEAKICMgICBFeHBlY3RlZDogeS9kLCBDT05GTElDVChyZW5hbWUvcmVuYW1lIGZvciBib3RoIHovYiBhbmQgei9jKQogIyAgIE5PVEU6IFRoZXJlJ3MgYSByZW5hbWUgb2Ygei8gaGVyZSwgeS8gaGFzIG1vcmUgcmVuYW1lcywgc28gei9kIC0+IHkvZC4KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnN2Etc2V0dXA6IHJlbmFtZS1kaXIgdnMuIHJlbmFtZS1kaXIgKE5PVCBzcGxpdCBldmVubHkpIFBMVVMgYWRkLW90aGVyLWZpbGUnICcKK3Rlc3Rfc2V0dXBfN2EgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gN2EgJiYKIAkoCiAJCWNkIDdhICYmCkBAIC0xNTgyLDE1ICsxNjAzLDE2IEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tICJCIgogCSkKLScKK30KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnN2EtY2hlY2s6IHJlbmFtZS1kaXIgdnMuIHJlbmFtZS1kaXIgKE5PVCBzcGxpdCBldmVubHkpIFBMVVMgYWRkLW90aGVyLWZpbGUnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzdhOiByZW5hbWUtZGlyIHZzLiByZW5hbWUtZGlyIChOT1Qgc3BsaXQgZXZlbmx5KSBQTFVTIGFkZC1vdGhlci1maWxlJyAnCisJdGVzdF9zZXR1cF83YSAmJgogCSgKIAkJY2QgN2EgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKLQkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAmJgogCQl0ZXN0X2kxOG5ncmVwICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSkuKnovYi4qeS9iLip3L2IiIG91dCAmJgogCQl0ZXN0X2kxOG5ncmVwICJDT05GTElDVCAocmVuYW1lL3JlbmFtZSkuKnovYy4qeS9jLip4L2MiIG91dCAmJgogCkBAIC0xNjIyLDcgKzE2NDQsNyBAQAogIyAgIENvbW1pdCBCOiB6L3tiLGMsZF8xfSwgICAgICAgIHcvZF8yCiAjICAgRXhwZWN0ZWQ6IHkve2IsY30sIENPTkZMSUNUKHJlbmFtZS9yZW5hbWUoMnRvMSk6IHgvZF8xLCB3L2RfMiAtPiB5X2QpCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzdiLXNldHVwOiByZW5hbWUvcmVuYW1lKDJ0bzEpLCBidXQgb25seSBkdWUgdG8gdHJhbnNpdGl2ZSByZW5hbWUnICcKK3Rlc3Rfc2V0dXBfN2IgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gN2IgJiYKIAkoCiAJCWNkIDdiICYmCkBAIC0xNjU0LDE1ICsxNjc2LDE2IEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tICJCIgogCSkKLScKK30KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnN2ItY2hlY2s6IHJlbmFtZS9yZW5hbWUoMnRvMSksIGJ1dCBvbmx5IGR1ZSB0byB0cmFuc2l0aXZlIHJlbmFtZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnN2I6IHJlbmFtZS9yZW5hbWUoMnRvMSksIGJ1dCBvbmx5IGR1ZSB0byB0cmFuc2l0aXZlIHJlbmFtZScgJworCXRlc3Rfc2V0dXBfN2IgJiYKIAkoCiAJCWNkIDdiICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEFeMCAmJgogCi0JCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgJiYKIAkJdGVzdF9pMThuZ3JlcCAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpIiBvdXQgJiYKIAogCQlnaXQgbHMtZmlsZXMgLXMgPm91dCAmJgpAQCAtMTY3MCw3ICsxNjkzLDcgQEAKIAkJZ2l0IGxzLWZpbGVzIC11ID5vdXQgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gMiBvdXQgJiYKIAkJZ2l0IGxzLWZpbGVzIC1vID5vdXQgJiYKLQkJdGVzdF9saW5lX2NvdW50ID0gMyBvdXQgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMSBvdXQgJiYKIAogCQlnaXQgcmV2LXBhcnNlID5hY3R1YWwgXAogCQkJOjA6eS9iIDowOnkvYyA6Mjp5L2QgOjM6eS9kICYmCkBAIC0xNjc4LDE1ICsxNzAxLDE2IEBACiAJCQkgTzp6L2IgIE86ei9jICBPOncvZCAgTzp4L2QgJiYKIAkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgogCi0JCXRlc3RfcGF0aF9pc19taXNzaW5nIHkvZCAmJgotCQl0ZXN0X3BhdGhfaXNfZmlsZSB5L2R+SEVBRCAmJgotCQl0ZXN0X3BhdGhfaXNfZmlsZSB5L2R+Ql4wICYmCi0KLQkJZ2l0IGhhc2gtb2JqZWN0ID5hY3R1YWwgXAotCQkJeS9kfkhFQUQgeS9kfkJeMCAmJgotCQlnaXQgcmV2LXBhcnNlID5leHBlY3QgXAotCQkJTzp3L2QgICAgTzp4L2QgJiYKLQkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCQkjIFRlc3QgdGhhdCB0aGUgdHdvLXdheSBtZXJnZSBpbiB5L2QgaXMgYXMgZXhwZWN0ZWQKKwkJZ2l0IGNhdC1maWxlIC1wIDoyOnkvZCA+ZXhwZWN0ICYmCisJCWdpdCBjYXQtZmlsZSAtcCA6Mzp5L2QgPm90aGVyICYmCisJCT5lbXB0eSAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UtZmlsZSBcCisJCQktTCAiSEVBRCIgXAorCQkJLUwgIiIgXAorCQkJLUwgIkJeMCIgXAorCQkJZXhwZWN0IGVtcHR5IG90aGVyICYmCisJCXRlc3RfY21wIGV4cGVjdCB5L2QKIAkpCiAnCiAKQEAgLTE3MDAsNyArMTcyNCw3IEBACiAjICAgICAgICAgbmVpdGhlciBDT05GTElDVCh4L2QgLT4gdy9kIHZzLiB6L2QpCiAjICAgICAgICAgbm9yIENPTkZMaUNUIHgvZCAtPiB3L2QgdnMuIHkvZCB2cy4gei9kKQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc3Yy1zZXR1cDogcmVuYW1lL3JlbmFtZSgxdG8uLi4yb3IzKTsgdHJhbnNpdGl2ZSByZW5hbWUgbWF5IGFkZCBjb21wbGV4aXR5JyAnCit0ZXN0X3NldHVwXzdjICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIDdjICYmCiAJKAogCQljZCA3YyAmJgpAQCAtMTczMCwxNSArMTc1NCwxNiBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzdjLWNoZWNrOiByZW5hbWUvcmVuYW1lKDF0by4uLjJvcjMpOyB0cmFuc2l0aXZlIHJlbmFtZSBtYXkgYWRkIGNvbXBsZXhpdHknICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzdjOiByZW5hbWUvcmVuYW1lKDF0by4uLjJvcjMpOyB0cmFuc2l0aXZlIHJlbmFtZSBtYXkgYWRkIGNvbXBsZXhpdHknICcKKwl0ZXN0X3NldHVwXzdjICYmCiAJKAogCQljZCA3YyAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAotCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0ICYmCiAJCXRlc3RfaTE4bmdyZXAgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKS4qeC9kLip3L2QuKnkvZCIgb3V0ICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKQEAgLTE3NjQsNyArMTc4OSw3IEBACiAjICAgRXhwZWN0ZWQ6IHkve2IsY30sIENPTkZMSUNUKGRlbGV0ZSB4L2QgdnMgcmVuYW1lIHRvIHkvZCkKICMgICBOT1RFOiB6LT55IHNvIE5PVCBDT05GTElDVChkZWxldGUgeC9kIHZzIHJlbmFtZSB0byB6L2QpCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzdkLXNldHVwOiB0cmFuc2l0aXZlIHJlbmFtZSBpbnZvbHZlZCBpbiByZW5hbWUvZGVsZXRlOyBob3cgaXMgaXQgcmVwb3J0ZWQ/JyAnCit0ZXN0X3NldHVwXzdkICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIDdkICYmCiAJKAogCQljZCA3ZCAmJgpAQCAtMTc5NCwxNSArMTgxOSwxNiBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzdkLWNoZWNrOiB0cmFuc2l0aXZlIHJlbmFtZSBpbnZvbHZlZCBpbiByZW5hbWUvZGVsZXRlOyBob3cgaXMgaXQgcmVwb3J0ZWQ/JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICc3ZDogdHJhbnNpdGl2ZSByZW5hbWUgaW52b2x2ZWQgaW4gcmVuYW1lL2RlbGV0ZTsgaG93IGlzIGl0IHJlcG9ydGVkPycgJworCXRlc3Rfc2V0dXBfN2QgJiYKIAkoCiAJCWNkIDdkICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEFeMCAmJgogCi0JCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgJiYKIAkJdGVzdF9pMThuZ3JlcCAiQ09ORkxJQ1QgKHJlbmFtZS9kZWxldGUpLip4L2QuKnkvZCIgb3V0ICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKQEAgLTE4NDksNyArMTg3NSw3IEBACiAjICAgICAgICAgc2VlIHRlc3RjYXNlcyA5YyBhbmQgOWQgZm9yIGZ1cnRoZXIgZGlzY3Vzc2lvbiBvZiB0aGlzIGlzc3VlIGFuZAogIyAgICAgICAgIGhvdyBpdCdzIHJlc29sdmVkLgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc3ZS1zZXR1cDogdHJhbnNpdGl2ZSByZW5hbWUgaW4gcmVuYW1lL2RlbGV0ZSBBTkQgZGlycyBpbiB0aGUgd2F5JyAnCit0ZXN0X3NldHVwXzdlICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIDdlICYmCiAJKAogCQljZCA3ZSAmJgpAQCAtMTg4NCwxNSArMTkxMCwxNiBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzdlLWNoZWNrOiB0cmFuc2l0aXZlIHJlbmFtZSBpbiByZW5hbWUvZGVsZXRlIEFORCBkaXJzIGluIHRoZSB3YXknICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzdlOiB0cmFuc2l0aXZlIHJlbmFtZSBpbiByZW5hbWUvZGVsZXRlIEFORCBkaXJzIGluIHRoZSB3YXknICcKKwl0ZXN0X3NldHVwXzdlICYmCiAJKAogCQljZCA3ZSAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAotCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0ICYmCiAJCXRlc3RfaTE4bmdyZXAgIkNPTkZMSUNUIChyZW5hbWUvZGVsZXRlKS4qeC9kLip5L2QiIG91dCAmJgogCiAJCWdpdCBscy1maWxlcyAtcyA+b3V0ICYmCkBAIC0xOTQzLDcgKzE5NzAsNyBAQAogIyBzaW1wbGUgcnVsZSBmcm9tIHNlY3Rpb24gNSBwcmV2ZW50cyBtZSBmcm9tIGhhbmRsaW5nIHRoaXMgYXMgb3B0aW1hbGx5IGFzCiAjIHdlIHBvdGVudGlhbGx5IGNvdWxkLgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc4YS1zZXR1cDogRHVhbC1kaXJlY3RvcnkgcmVuYW1lLCBvbmUgaW50byB0aGUgb3RoZXJzIHdheScgJwordGVzdF9zZXR1cF84YSAoKSB7CiAJdGVzdF9jcmVhdGVfcmVwbyA4YSAmJgogCSgKIAkJY2QgOGEgJiYKQEAgLTE5NzUsMTUgKzIwMDIsMTYgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc4YS1jaGVjazogRHVhbC1kaXJlY3RvcnkgcmVuYW1lLCBvbmUgaW50byB0aGUgb3RoZXJzIHdheScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnOGE6IER1YWwtZGlyZWN0b3J5IHJlbmFtZSwgb25lIGludG8gdGhlIG90aGVycyB3YXknICcKKwl0ZXN0X3NldHVwXzhhICYmCiAJKAogCQljZCA4YSAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAotCQlnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCAmJgorCQlnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgJiYKIAogCQlnaXQgbHMtZmlsZXMgLXMgPm91dCAmJgogCQl0ZXN0X2xpbmVfY291bnQgPSA2IG91dCAmJgpAQCAtMjAyMSw3ICsyMDQ5LDcgQEAKICMgbWFraW5nIHVzIGZhbGwgYmFjayB0byBwcmUtZGlyZWN0b3J5LXJlbmFtZS1kZXRlY3Rpb24gYmVoYXZpb3IgZm9yIGJvdGgKICMgZV8xIGFuZCBlXzIuCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzhiLXNldHVwOiBEdWFsLWRpcmVjdG9yeSByZW5hbWUsIG9uZSBpbnRvIHRoZSBvdGhlcnMgd2F5LCB3aXRoIGNvbmZsaWN0aW5nIGZpbGVuYW1lcycgJwordGVzdF9zZXR1cF84YiAoKSB7CiAJdGVzdF9jcmVhdGVfcmVwbyA4YiAmJgogCSgKIAkJY2QgOGIgJiYKQEAgLTIwNTMsMTUgKzIwODEsMTYgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc4Yi1jaGVjazogRHVhbC1kaXJlY3RvcnkgcmVuYW1lLCBvbmUgaW50byB0aGUgb3RoZXJzIHdheSwgd2l0aCBjb25mbGljdGluZyBmaWxlbmFtZXMnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzhiOiBEdWFsLWRpcmVjdG9yeSByZW5hbWUsIG9uZSBpbnRvIHRoZSBvdGhlcnMgd2F5LCB3aXRoIGNvbmZsaWN0aW5nIGZpbGVuYW1lcycgJworCXRlc3Rfc2V0dXBfOGIgJiYKIAkoCiAJCWNkIDhiICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEFeMCAmJgogCi0JCWdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wICYmCisJCWdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCAmJgogCiAJCWdpdCBscy1maWxlcyAtcyA+b3V0ICYmCiAJCXRlc3RfbGluZV9jb3VudCA9IDYgb3V0ICYmCkBAIC0yMDg3LDE0ICsyMTE2LDE0IEBACiAjCiAjICAgTm90ZTogSXQgY291bGQgZWFzaWx5IGJlIGFyZ3VlZCB0aGF0IHRoZSBjb3JyZWN0IHJlc29sdXRpb24gaGVyZSBpcwogIyAgICAgICAgIHkve2IsYyxlfSwgQ09ORkxJQ1QocmVuYW1lL2RlbGV0ZTogei9kIC0+IHkvZCB2cyBkZWxldGVkKQotIyAgICAgICAgIGFuZCB0aGF0IHRoZSBtb2RpZmVkIHZlcnNpb24gb2YgZCBzaG91bGQgYmUgcHJlc2VudCBpbiB5LyBhZnRlcgorIyAgICAgICAgIGFuZCB0aGF0IHRoZSBtb2RpZmllZCB2ZXJzaW9uIG9mIGQgc2hvdWxkIGJlIHByZXNlbnQgaW4geS8gYWZ0ZXIKICMgICAgICAgICB0aGUgbWVyZ2UsIGp1c3QgbWFya2VkIGFzIGNvbmZsaWN0ZWQuICBJbmRlZWQsIEkgcHJldmlvdXNseSBkaWQKICMgICAgICAgICBhcmd1ZSB0aGF0LiAgQnV0IGFwcGx5aW5nIGRpcmVjdG9yeSByZW5hbWVzIHRvIHRoZSBzaWRlIG9mCiAjICAgICAgICAgaGlzdG9yeSB3aGVyZSBhIGZpbGUgaXMgbWVyZWx5IG1vZGlmaWVkIHJlc3VsdHMgaW4gc3B1cmlvdXMKICMgICAgICAgICByZW5hbWUvcmVuYW1lKDF0bzIpIGNvbmZsaWN0cyAtLSBzZWUgdGVzdGNhc2UgOWguICBTZWUgYWxzbwogIyAgICAgICAgIG5vdGVzIGluIDhkLgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc4Yy1zZXR1cDogbW9kaWZ5L2RlbGV0ZSBvciByZW5hbWUrbW9kaWZ5L2RlbGV0ZT8nICcKK3Rlc3Rfc2V0dXBfOGMgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gOGMgJiYKIAkoCiAJCWNkIDhjICYmCkBAIC0yMTI1LDE1ICsyMTU0LDE2IEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tICJCIgogCSkKLScKK30KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnOGMtY2hlY2s6IG1vZGlmeS9kZWxldGUgb3IgcmVuYW1lK21vZGlmeS9kZWxldGUnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzhjOiBtb2RpZnkvZGVsZXRlIG9yIHJlbmFtZSttb2RpZnkvZGVsZXRlJyAnCisJdGVzdF9zZXR1cF84YyAmJgogCSgKIAkJY2QgOGMgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKLQkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAmJgogCQl0ZXN0X2kxOG5ncmVwICJDT05GTElDVCAobW9kaWZ5L2RlbGV0ZSkuKiB6L2QiIG91dCAmJgogCiAJCWdpdCBscy1maWxlcyAtcyA+b3V0ICYmCkBAIC0yMTczLDcgKzIyMDMsNyBAQAogIyAgIGR1cmluZyBtZXJnaW5nIGFyZSBzdXBwb3NlZCB0byBiZSBhYm91dCBvcHBvc2l0ZSBzaWRlcyBkb2luZyB0aGluZ3MKICMgICBkaWZmZXJlbnRseS4KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnOGQtc2V0dXA6IHJlbmFtZS9kZWxldGUuLi5vciBub3Q/JyAnCit0ZXN0X3NldHVwXzhkICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIDhkICYmCiAJKAogCQljZCA4ZCAmJgpAQCAtMjIwMiwxNSArMjIzMiwxNiBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzhkLWNoZWNrOiByZW5hbWUvZGVsZXRlLi4ub3Igbm90PycgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnOGQ6IHJlbmFtZS9kZWxldGUuLi5vciBub3Q/JyAnCisJdGVzdF9zZXR1cF84ZCAmJgogCSgKIAkJY2QgOGQgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKLQkJZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgJiYKKwkJZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gMyBvdXQgJiYKQEAgLTIyNDgsNyArMjI3OSw3IEBACiAjICAgICAgICBhYm91dCB0aGUgcmFtaWZpY2F0aW9ucyBvZiBkb2luZyB0aGF0LCBJIGRpZG4ndCBrbm93IGhvdyB0byBydWxlIG91dAogIyAgICAgICAgdGhhdCBvcGVuaW5nIG90aGVyIHdlaXJkIGVkZ2UgYW5kIGNvcm5lciBjYXNlcyBzbyBJIGp1c3QgcHVudGVkLgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc4ZS1zZXR1cDogQm90aCBzaWRlcyByZW5hbWUsIG9uZSBzaWRlIGFkZHMgdG8gb3JpZ2luYWwgZGlyZWN0b3J5JyAnCit0ZXN0X3NldHVwXzhlICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIDhlICYmCiAJKAogCQljZCA4ZSAmJgpAQCAtMjI3NywxNSArMjMwOCwxNiBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzhlLWNoZWNrOiBCb3RoIHNpZGVzIHJlbmFtZSwgb25lIHNpZGUgYWRkcyB0byBvcmlnaW5hbCBkaXJlY3RvcnknICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzhlOiBCb3RoIHNpZGVzIHJlbmFtZSwgb25lIHNpZGUgYWRkcyB0byBvcmlnaW5hbCBkaXJlY3RvcnknICcKKwl0ZXN0X3NldHVwXzhlICYmCiAJKAogCQljZCA4ZSAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAotCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCiAJCXRlc3RfaTE4bmdyZXAgQ09ORkxJQ1QuKnJlbmFtZS9yZW5hbWUuKnovYy4qeS9jLip3L2Mgb3V0ICYmCiAJCXRlc3RfaTE4bmdyZXAgQ09ORkxJQ1QuKnJlbmFtZS9yZW5hbWUuKnovYi4qeS9iLip3L2Igb3V0ICYmCiAKQEAgLTIzMzEsNyArMjM2Myw3IEBACiAjICAgICAgICAgb2Ygd2hpY2ggb25lIGhhZCB0aGUgbW9zdCBwYXRocyBnb2luZyB0byBpdC4gIEEgbmFpdmUgaW1wbGVtZW50YXRpb24KICMgICAgICAgICBvZiB0aGF0IGNvdWxkIHRha2UgdGhlIG5ldyBmaWxlIGluIGNvbW1pdCBCIGF0IHovaSB0byB4L3cvaSBvciB4L2kuCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzlhLXNldHVwOiBJbm5lciByZW5hbWVkIGRpcmVjdG9yeSB3aXRoaW4gb3V0ZXIgcmVuYW1lZCBkaXJlY3RvcnknICcKK3Rlc3Rfc2V0dXBfOWEgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gOWEgJiYKIAkoCiAJCWNkIDlhICYmCkBAIC0yMzY0LDE1ICsyMzk2LDE2IEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tICJCIgogCSkKLScKK30KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnOWEtY2hlY2s6IElubmVyIHJlbmFtZWQgZGlyZWN0b3J5IHdpdGhpbiBvdXRlciByZW5hbWVkIGRpcmVjdG9yeScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnOWE6IElubmVyIHJlbmFtZWQgZGlyZWN0b3J5IHdpdGhpbiBvdXRlciByZW5hbWVkIGRpcmVjdG9yeScgJworCXRlc3Rfc2V0dXBfOWEgJiYKIAkoCiAJCWNkIDlhICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEFeMCAmJgogCi0JCWdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wICYmCisJCWdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCAmJgogCiAJCWdpdCBscy1maWxlcyAtcyA+b3V0ICYmCiAJCXRlc3RfbGluZV9jb3VudCA9IDcgb3V0ICYmCkBAIC0yNDAyLDcgKzI0MzUsNyBAQAogIyAgIENvbW1pdCBCOiB6L3tiLGMsZF8zfQogIyAgIEV4cGVjdGVkOiB5L3tiLGMsZF9tZXJnZWR9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzliLXNldHVwOiBUcmFuc2l0aXZlIHJlbmFtZSB3aXRoIGNvbnRlbnQgbWVyZ2UnICcKK3Rlc3Rfc2V0dXBfOWIgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gOWIgJiYKIAkoCiAJCWNkIDliICYmCkBAIC0yNDM0LDE1ICsyNDY3LDE2IEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tICJCIgogCSkKLScKK30KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnOWItY2hlY2s6IFRyYW5zaXRpdmUgcmVuYW1lIHdpdGggY29udGVudCBtZXJnZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnOWI6IFRyYW5zaXRpdmUgcmVuYW1lIHdpdGggY29udGVudCBtZXJnZScgJworCXRlc3Rfc2V0dXBfOWIgJiYKIAkoCiAJCWNkIDliICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEFeMCAmJgogCi0JCWdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wICYmCisJCWdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCAmJgogCiAJCWdpdCBscy1maWxlcyAtcyA+b3V0ICYmCiAJCXRlc3RfbGluZV9jb3VudCA9IDMgb3V0ICYmCkBAIC0yNDg5LDcgKzI1MjMsNyBAQAogIyAgICAgICAgIGF3YXksIHRoZW4gaWdub3JlIHRoYXQgcGFydGljdWxhciByZW5hbWUgZnJvbSB0aGUgb3RoZXIgc2lkZSBvZgogIyAgICAgICAgIGhpc3RvcnkgZm9yIGFueSBpbXBsaWNpdCBkaXJlY3RvcnkgcmVuYW1lcy4KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnOWMtc2V0dXA6IERvdWJseSB0cmFuc2l0aXZlIHJlbmFtZT8nICcKK3Rlc3Rfc2V0dXBfOWMgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gOWMgJiYKIAkoCiAJCWNkIDljICYmCkBAIC0yNTI0LDE1ICsyNTU4LDE2IEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tICJCIgogCSkKLScKK30KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnOWMtY2hlY2s6IERvdWJseSB0cmFuc2l0aXZlIHJlbmFtZT8nICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzljOiBEb3VibHkgdHJhbnNpdGl2ZSByZW5hbWU/JyAnCisJdGVzdF9zZXR1cF85YyAmJgogCSgKIAkJY2QgOWMgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKLQkJZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAmJgorCQlnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAmJgogCQl0ZXN0X2kxOG5ncmVwICJXQVJOSU5HOiBBdm9pZGluZyBhcHBseWluZyB4IC0+IHogcmVuYW1lIHRvIHgvZiIgb3V0ICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKQEAgLTI1NzcsNyArMjYxMiw3IEBACiAjICAgc2ltcGxlIHJ1bGVzIHRoYXQgYXJlIGNvbnNpc3RlbnQgd2l0aCB3aGF0IHdlIG5lZWQgZm9yIGFsbCB0aGUgb3RoZXIKICMgICB0ZXN0Y2FzZXMgYW5kIHNpbXBsaWZpZXMgdGhpbmdzIGZvciB0aGUgdXNlci4KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnOWQtc2V0dXA6IE4td2F5IHRyYW5zaXRpdmUgcmVuYW1lPycgJwordGVzdF9zZXR1cF85ZCAoKSB7CiAJdGVzdF9jcmVhdGVfcmVwbyA5ZCAmJgogCSgKIAkJY2QgOWQgJiYKQEAgLTI2MTIsMTUgKzI2NDcsMTYgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc5ZC1jaGVjazogTi13YXkgdHJhbnNpdGl2ZSByZW5hbWU/JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICc5ZDogTi13YXkgdHJhbnNpdGl2ZSByZW5hbWU/JyAnCisJdGVzdF9zZXR1cF85ZCAmJgogCSgKIAkJY2QgOWQgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKLQkJZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAmJgorCQlnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAmJgogCQl0ZXN0X2kxOG5ncmVwICJXQVJOSU5HOiBBdm9pZGluZyBhcHBseWluZyB6IC0+IHkgcmVuYW1lIHRvIHovdCIgb3V0ICYmCiAJCXRlc3RfaTE4bmdyZXAgIldBUk5JTkc6IEF2b2lkaW5nIGFwcGx5aW5nIHkgLT4geCByZW5hbWUgdG8geS9hIiBvdXQgJiYKIAkJdGVzdF9pMThuZ3JlcCAiV0FSTklORzogQXZvaWRpbmcgYXBwbHlpbmcgeCAtPiB3IHJlbmFtZSB0byB4L2IiIG91dCAmJgpAQCAtMjY1MSw3ICsyNjg3LDcgQEAKICMgICBFeHBlY3RlZDogY29tYmluZWQve2EsYixjLGQsZSxmLGcsaCxpLGosayxsfSwgQ09ORkxJQ1QoTnRvMSkgd2FybmluZ3MsCiAjICAgICAgICAgICAgIGRpcjEveW8sIGRpcjIveW8sIGRpcjMveW8sIGRpck4veW8KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnOWUtc2V0dXA6IE4tdG8tMSB3aGFtbW8nICcKK3Rlc3Rfc2V0dXBfOWUgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gOWUgJiYKIAkoCiAJCWNkIDllICYmCkBAIC0yNjk0LDE1ICsyNzMwLDE2IEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tICJCIgogCSkKLScKK30KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBDX0xPQ0FMRV9PVVRQVVQgJzllLWNoZWNrOiBOLXRvLTEgd2hhbW1vJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIENfTE9DQUxFX09VVFBVVCAnOWU6IE4tdG8tMSB3aGFtbW8nICcKKwl0ZXN0X3NldHVwXzllICYmCiAJKAogCQljZCA5ZSAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAotCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0ICYmCiAJCWdyZXAgIkNPTkZMSUNUIChpbXBsaWNpdCBkaXIgcmVuYW1lKTogQ2Fubm90IG1hcCBtb3JlIHRoYW4gb25lIHBhdGggdG8gY29tYmluZWQveW8iIG91dCA+ZXJyb3JfbGluZSAmJgogCQlncmVwIC1xIGRpcjEveW8gZXJyb3JfbGluZSAmJgogCQlncmVwIC1xIGRpcjIveW8gZXJyb3JfbGluZSAmJgpAQCAtMjc0Myw3ICsyNzgwLDcgQEAKICMgICBDb21taXQgQjogZ29hbC97YSxifS8kbW9yZV9maWxlcywgZ29hbC9jCiAjICAgRXhwZWN0ZWQ6IHByaW9yaXR5L3thLGJ9LyRtb3JlX2ZpbGVzLCBwcmlvcml0eS9jCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzlmLXNldHVwOiBSZW5hbWVkIGRpcmVjdG9yeSB0aGF0IG9ubHkgY29udGFpbmVkIGltbWVkaWF0ZSBzdWJkaXJzJyAnCit0ZXN0X3NldHVwXzlmICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIDlmICYmCiAJKAogCQljZCA5ZiAmJgpAQCAtMjc3MiwxNSArMjgwOSwxNiBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzlmLWNoZWNrOiBSZW5hbWVkIGRpcmVjdG9yeSB0aGF0IG9ubHkgY29udGFpbmVkIGltbWVkaWF0ZSBzdWJkaXJzJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICc5ZjogUmVuYW1lZCBkaXJlY3RvcnkgdGhhdCBvbmx5IGNvbnRhaW5lZCBpbW1lZGlhdGUgc3ViZGlycycgJworCXRlc3Rfc2V0dXBfOWYgJiYKIAkoCiAJCWNkIDlmICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEFeMCAmJgogCi0JCWdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wICYmCisJCWdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCAmJgogCiAJCWdpdCBscy1maWxlcyAtcyA+b3V0ICYmCiAJCXRlc3RfbGluZV9jb3VudCA9IDQgb3V0ICYmCkBAIC0yODA3LDcgKzI4NDUsNyBAQAogIyAgIENvbW1pdCBCOiBnb2FsL3thLGJ9LyRtb3JlX2ZpbGVzLCBnb2FsL2MKICMgICBFeHBlY3RlZDogcHJpb3JpdHkve2FscGhhLGJyYXZvfS8kbW9yZV9maWxlcywgcHJpb3JpdHkvYwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc5Zy1zZXR1cDogUmVuYW1lZCBkaXJlY3RvcnkgdGhhdCBvbmx5IGNvbnRhaW5lZCBpbW1lZGlhdGUgc3ViZGlycywgaW1tZWRpYXRlIHN1YmRpcnMgcmVuYW1lZCcgJwordGVzdF9zZXR1cF85ZyAoKSB7CiAJdGVzdF9jcmVhdGVfcmVwbyA5ZyAmJgogCSgKIAkJY2QgOWcgJiYKQEAgLTI4MzksMTUgKzI4NzcsMTUgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9mYWlsdXJlICc5Zy1jaGVjazogUmVuYW1lZCBkaXJlY3RvcnkgdGhhdCBvbmx5IGNvbnRhaW5lZCBpbW1lZGlhdGUgc3ViZGlycywgaW1tZWRpYXRlIHN1YmRpcnMgcmVuYW1lZCcgJwordGVzdF9leHBlY3RfZmFpbHVyZSAnOWc6IFJlbmFtZWQgZGlyZWN0b3J5IHRoYXQgb25seSBjb250YWluZWQgaW1tZWRpYXRlIHN1YmRpcnMsIGltbWVkaWF0ZSBzdWJkaXJzIHJlbmFtZWQnICcKIAkoCiAJCWNkIDlnICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEFeMCAmJgogCi0JCWdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wICYmCisJCWdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCAmJgogCiAJCWdpdCBscy1maWxlcyAtcyA+b3V0ICYmCiAJCXRlc3RfbGluZV9jb3VudCA9IDQgb3V0ICYmCkBAIC0yODc1LDcgKzI5MTMsNyBAQAogIyAgIEV4cGVjdGVkOiB5L3tiLGN9LCB4L2RfMgogIyAgIE5PVEU6IElmIHdlIGFwcGxpZWQgdGhlIHovIC0+IHkvIHJlbmFtZSB0byB6L2QsIHRoZW4gd2UnZCBlbmQgdXAgd2l0aAogIyAgICAgICAgIGEgcmVuYW1lL3JlbmFtZSgxdG8yKSBjb25mbGljdCAoei9kIC0+IHkvZCB2cy4geC9kKQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnOWgtc2V0dXA6IEF2b2lkIGRpciByZW5hbWUgb24gbWVyZWx5IG1vZGlmaWVkIHBhdGgnICcKK3Rlc3Rfc2V0dXBfOWggKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gOWggJiYKIAkoCiAJCWNkIDloICYmCkBAIC0yOTA4LDE1ICsyOTQ2LDE2IEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tICJCIgogCSkKLScKK30KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnOWgtY2hlY2s6IEF2b2lkIGRpciByZW5hbWUgb24gbWVyZWx5IG1vZGlmaWVkIHBhdGgnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzloOiBBdm9pZCBkaXIgcmVuYW1lIG9uIG1lcmVseSBtb2RpZmllZCBwYXRoJyAnCisJdGVzdF9zZXR1cF85aCAmJgogCSgKIAkJY2QgOWggJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKLQkJZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgJiYKKwkJZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gMyBvdXQgJiYKQEAgLTI5NTUsNyArMjk5NCw3IEBACiAjICAgRXhwZWN0ZWQ6IEFib3J0ZWQgTWVyZ2UgKwogIyAgICAgICBFUlJPUl9NU0codW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZSkKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnMTBhLXNldHVwOiBPdmVyd3JpdGUgdW50cmFja2VkIHdpdGggbm9ybWFsIHJlbmFtZS9kZWxldGUnICcKK3Rlc3Rfc2V0dXBfMTBhICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIDEwYSAmJgogCSgKIAkJY2QgMTBhICYmCkBAIC0yOTgxLDkgKzMwMjAsMTAgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcxMGEtY2hlY2s6IE92ZXJ3cml0ZSB1bnRyYWNrZWQgd2l0aCBub3JtYWwgcmVuYW1lL2RlbGV0ZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnMTBhOiBPdmVyd3JpdGUgdW50cmFja2VkIHdpdGggbm9ybWFsIHJlbmFtZS9kZWxldGUnICcKKwl0ZXN0X3NldHVwXzEwYSAmJgogCSgKIAkJY2QgMTBhICYmCiAKQEAgLTI5OTEsNyArMzAzMSw3IEBACiAJCWVjaG8gdmVyeSA+ei9jICYmCiAJCWVjaG8gaW1wb3J0YW50ID56L2QgJiYKIAotCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCiAJCXRlc3RfaTE4bmdyZXAgIlRoZSBmb2xsb3dpbmcgdW50cmFja2VkIHdvcmtpbmcgdHJlZSBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZSIgZXJyICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKQEAgLTMwMTksNyArMzA1OSw3IEBACiAjICAgICAgICAgICAgIHovY18xIC0+IHovZF8xIHJlbmFtZSByZWNvcmRlZCBhdCBzdGFnZSAzIGZvciB5L2QgKwogIyAgICAgICBFUlJPUl9NU0cocmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCAneS9kJykKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnMTBiLXNldHVwOiBPdmVyd3JpdGUgdW50cmFja2VkIHdpdGggZGlyIHJlbmFtZSArIGRlbGV0ZScgJwordGVzdF9zZXR1cF8xMGIgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gMTBiICYmCiAJKAogCQljZCAxMGIgJiYKQEAgLTMwNDgsOSArMzA4OCwxMCBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzEwYi1jaGVjazogT3ZlcndyaXRlIHVudHJhY2tlZCB3aXRoIGRpciByZW5hbWUgKyBkZWxldGUnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzEwYjogT3ZlcndyaXRlIHVudHJhY2tlZCB3aXRoIGRpciByZW5hbWUgKyBkZWxldGUnICcKKwl0ZXN0X3NldHVwXzEwYiAmJgogCSgKIAkJY2QgMTBiICYmCiAKQEAgLTMwNTksNyArMzEwMCw3IEBACiAJCWVjaG8gaW1wb3J0YW50ID55L2QgJiYKIAkJZWNobyBjb250ZW50cyA+eS9lICYmCiAKLQkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAyPmVyciAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAyPmVyciAmJgogCQl0ZXN0X2kxOG5ncmVwICJDT05GTElDVCAocmVuYW1lL2RlbGV0ZSkuKlZlcnNpb24gQlxeMCBvZiB5L2QgbGVmdCBpbiB0cmVlIGF0IHkvZH5CXF4wIiBvdXQgJiYKIAkJdGVzdF9pMThuZ3JlcCAiRXJyb3I6IFJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgeS9lOyB3cml0aW5nIHRvIHkvZX5CXF4wIGluc3RlYWQiIG91dCAmJgogCkBAIC0zMDk2LDEwICszMTM3LDEwIEBACiAjICAgICAgICAgICAgIHkvY35CXjAgKwogIyAgICAgICAgICAgICBFUlJPUl9NU0coUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCB5L2MpCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzEwYy1zZXR1cDogT3ZlcndyaXRlIHVudHJhY2tlZCB3aXRoIGRpciByZW5hbWUvcmVuYW1lKDF0bzIpJyAnCi0JdGVzdF9jcmVhdGVfcmVwbyAxMGMgJiYKK3Rlc3Rfc2V0dXBfMTBjICgpIHsKKwl0ZXN0X2NyZWF0ZV9yZXBvIDEwY18kMSAmJgogCSgKLQkJY2QgMTBjICYmCisJCWNkIDEwY18kMSAmJgogCiAJCW1rZGlyIHogeCAmJgogCQllY2hvIGEgPnovYSAmJgpAQCAtMzEyNiwxNiArMzE2NywxNyBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzEwYy1jaGVjazogT3ZlcndyaXRlIHVudHJhY2tlZCB3aXRoIGRpciByZW5hbWUvcmVuYW1lKDF0bzIpJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcxMGMxOiBPdmVyd3JpdGUgdW50cmFja2VkIHdpdGggZGlyIHJlbmFtZS9yZW5hbWUoMXRvMiknICcKKwl0ZXN0X3NldHVwXzEwYyAxICYmCiAJKAotCQljZCAxMGMgJiYKKwkJY2QgMTBjXzEgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAJCWVjaG8gaW1wb3J0YW50ID55L2MgJiYKIAotCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCiAJCXRlc3RfaTE4bmdyZXAgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKSIgb3V0ICYmCiAJCXRlc3RfaTE4bmdyZXAgIlJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgeS9jOyBhZGRpbmcgYXMgeS9jfkJcXjAgaW5zdGVhZCIgb3V0ICYmCiAKQEAgLTMxNjEsMTUgKzMyMDMsNTMgQEAKIAkpCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzEwYzI6IE92ZXJ3cml0ZSB1bnRyYWNrZWQgd2l0aCBkaXIgcmVuYW1lL3JlbmFtZSgxdG8yKSwgb3RoZXIgZGlyZWN0aW9uJyAnCisJdGVzdF9zZXR1cF8xMGMgMiAmJgorCSgKKwkJY2QgMTBjXzIgJiYKKworCQlnaXQgcmVzZXQgLS1oYXJkICYmCisJCWdpdCBjbGVhbiAtZmRxeCAmJgorCisJCWdpdCBjaGVja291dCBCXjAgJiYKKwkJbWtkaXIgeSAmJgorCQllY2hvIGltcG9ydGFudCA+eS9jICYmCisKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQV4wID5vdXQgMj5lcnIgJiYKKwkJdGVzdF9pMThuZ3JlcCAiQ09ORkxJQ1QgKHJlbmFtZS9yZW5hbWUpIiBvdXQgJiYKKwkJdGVzdF9pMThuZ3JlcCAiUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCB5L2M7IGFkZGluZyBhcyB5L2N+SEVBRCBpbnN0ZWFkIiBvdXQgJiYKKworCQlnaXQgbHMtZmlsZXMgLXMgPm91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSA2IG91dCAmJgorCQlnaXQgbHMtZmlsZXMgLXUgPm91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAzIG91dCAmJgorCQlnaXQgbHMtZmlsZXMgLW8gPm91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAzIG91dCAmJgorCisJCWdpdCByZXYtcGFyc2UgPmFjdHVhbCBcCisJCQk6MDp5L2EgOjA6eS9iIDowOngvZCA6MTp4L2MgOjM6dy9jIDoyOnkvYyAmJgorCQlnaXQgcmV2LXBhcnNlID5leHBlY3QgXAorCQkJIE86ei9hICBPOnovYiAgTzp4L2QgIE86eC9jICBPOngvYyAgTzp4L2MgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJCWdpdCBoYXNoLW9iamVjdCB5L2N+SEVBRCA+YWN0dWFsICYmCisJCWdpdCByZXYtcGFyc2UgTzp4L2MgPmV4cGVjdCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwkJZWNobyBpbXBvcnRhbnQgPmV4cGVjdCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgeS9jCisJKQorJworCiAjIFRlc3RjYXNlIDEwZCwgRGVsZXRlIHVudHJhY2tlZCB3LyBkaXIgcmVuYW1lL3JlbmFtZSgydG8xKQogIyAgIENvbW1pdCBPOiB6L3thLGIsY18xfSwgICAgICAgIHgve2QsZSxmXzJ9CiAjICAgQ29tbWl0IEE6IHkve2EsYn0sICAgICAgICAgICAgeC97ZCxlLGZfMix3aGFtXzF9ICsgdW50cmFja2VkIHkvd2hhbQogIyAgIENvbW1pdCBCOiB6L3thLGIsY18xLHdoYW1fMn0sIHkve2QsZX0KLSMgICBFeHBlY3RlZDogRmFpbGVkIE1lcmdlOyB5L3thLGIsZCxlfSArIHVudHJhY2tlZCB5L3t3aGFtLHdoYW1+Ql4wLHdoYW1+SEVBRH0rCisjICAgRXhwZWN0ZWQ6IEZhaWxlZCBNZXJnZTsgeS97YSxiLGQsZX0gKyB1bnRyYWNrZWQgeS97d2hhbSx3aGFtfm1lcmdlZH0rCiAjICAgICAgICAgICAgIENPTkZMSUNUKHJlbmFtZS9yZW5hbWUpIHovY18xIHZzIHgvZl8yIC0+IHkvd2hhbQogIyAgICAgICAgICAgICBFUlJPUl9NU0coUmVmdXNpbmcgdG8gbG9zZSB1bnRyYWNrZWQgZmlsZSBhdCB5L3doYW0pCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzEwZC1zZXR1cDogRGVsZXRlIHVudHJhY2tlZCB3aXRoIGRpciByZW5hbWUvcmVuYW1lKDJ0bzEpJyAnCit0ZXN0X3NldHVwXzEwZCAoKSB7CiAJdGVzdF9jcmVhdGVfcmVwbyAxMGQgJiYKIAkoCiAJCWNkIDEwZCAmJgpAQCAtMzIwMSwxNiArMzI4MSwxNyBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzEwZC1jaGVjazogRGVsZXRlIHVudHJhY2tlZCB3aXRoIGRpciByZW5hbWUvcmVuYW1lKDJ0bzEpJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcxMGQ6IERlbGV0ZSB1bnRyYWNrZWQgd2l0aCBkaXIgcmVuYW1lL3JlbmFtZSgydG8xKScgJworCXRlc3Rfc2V0dXBfMTBkICYmCiAJKAogCQljZCAxMGQgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAJCWVjaG8gaW1wb3J0YW50ID55L3doYW0gJiYKIAotCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCiAJCXRlc3RfaTE4bmdyZXAgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKSIgb3V0ICYmCiAJCXRlc3RfaTE4bmdyZXAgIlJlZnVzaW5nIHRvIGxvc2UgdW50cmFja2VkIGZpbGUgYXQgeS93aGFtIiBvdXQgJiYKIApAQCAtMzIxOSw3ICszMzAwLDcgQEAKIAkJZ2l0IGxzLWZpbGVzIC11ID5vdXQgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gMiBvdXQgJiYKIAkJZ2l0IGxzLWZpbGVzIC1vID5vdXQgJiYKLQkJdGVzdF9saW5lX2NvdW50ID0gNCBvdXQgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMyBvdXQgJiYKIAogCQlnaXQgcmV2LXBhcnNlID5hY3R1YWwgXAogCQkJOjA6eS9hIDowOnkvYiA6MDp5L2QgOjA6eS9lIDoyOnkvd2hhbSA6Mzp5L3doYW0gJiYKQEAgLTMyMzIsMTEgKzMzMTMsMTYgQEAKIAkJZWNobyBpbXBvcnRhbnQgPmV4cGVjdCAmJgogCQl0ZXN0X2NtcCBleHBlY3QgeS93aGFtICYmCiAKLQkJZ2l0IGhhc2gtb2JqZWN0ID5hY3R1YWwgXAotCQkJeS93aGFtfkJeMCB5L3doYW1+SEVBRCAmJgotCQlnaXQgcmV2LXBhcnNlID5leHBlY3QgXAotCQkJTzp4L2YgICAgICBPOnovYyAmJgotCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJCSMgVGVzdCB0aGF0IHRoZSB0d28td2F5IG1lcmdlIGluIHkvd2hhbX5tZXJnZWQgaXMgYXMgZXhwZWN0ZWQKKwkJZ2l0IGNhdC1maWxlIC1wIDoyOnkvd2hhbSA+ZXhwZWN0ICYmCisJCWdpdCBjYXQtZmlsZSAtcCA6Mzp5L3doYW0gPm90aGVyICYmCisJCT5lbXB0eSAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UtZmlsZSBcCisJCQktTCAiSEVBRCIgXAorCQkJLUwgIiIgXAorCQkJLUwgIkJeMCIgXAorCQkJZXhwZWN0IGVtcHR5IG90aGVyICYmCisJCXRlc3RfY21wIGV4cGVjdCB5L3doYW1+bWVyZ2VkCiAJKQogJwogCkBAIC0zMjQ2LDcgKzMzMzIsNyBAQAogIyAgIENvbW1pdCBCOiB6L3thLGIsY30KICMgICBFeHBlY3RlZDogeS97YSxiLGN9ICsgdW50cmFja2VkIHovYwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcxMGUtc2V0dXA6IERvZXMgZ2l0IGNvbXBsYWluIGFib3V0IHVudHJhY2tlZCBmaWxlIHRoYXQgaXMgbm90IHJlYWxseSBpbiB0aGUgd2F5PycgJwordGVzdF9zZXR1cF8xMGUgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gMTBlICYmCiAJKAogCQljZCAxMGUgJiYKQEAgLTMyNzMsOSArMzM1OSw5IEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tICJCIgogCSkKLScKK30KIAotdGVzdF9leHBlY3RfZmFpbHVyZSAnMTBlLWNoZWNrOiBEb2VzIGdpdCBjb21wbGFpbiBhYm91dCB1bnRyYWNrZWQgZmlsZSB0aGF0IGlzIG5vdCByZWFsbHkgaW4gdGhlIHdheT8nICcKK3Rlc3RfZXhwZWN0X2ZhaWx1cmUgJzEwZTogRG9lcyBnaXQgY29tcGxhaW4gYWJvdXQgdW50cmFja2VkIGZpbGUgdGhhdCBpcyBub3QgcmVhbGx5IGluIHRoZSB3YXk/JyAnCiAJKAogCQljZCAxMGUgJiYKIApAQCAtMzI4Myw3ICszMzY5LDcgQEAKIAkJbWtkaXIgeiAmJgogCQllY2hvIHJhbmRvbSA+ei9jICYmCiAKLQkJZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAyPmVyciAmJgorCQlnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAyPmVyciAmJgogCQl0ZXN0X2kxOG5ncmVwICEgImZvbGxvd2luZyB1bnRyYWNrZWQgd29ya2luZyB0cmVlIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlIiBlcnIgJiYKIAogCQlnaXQgbHMtZmlsZXMgLXMgPm91dCAmJgpAQCAtMzMyNyw3ICszNDEzLDcgQEAKICMgICAgICAgICAgICAgei9jfkhFQUQgd2l0aCBjb250ZW50cyBvZiBCOnovYl92MiwKICMgICAgICAgICAgICAgei9jIHdpdGggdW5jb21taXR0ZWQgbW9kcyBvbiB0b3Agb2YgQTp6L2NfdjEKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnMTFhLXNldHVwOiBBdm9pZCBsb3NpbmcgZGlydHkgY29udGVudHMgd2l0aCBzaW1wbGUgcmVuYW1lJyAnCit0ZXN0X3NldHVwXzExYSAoKSB7CiAJdGVzdF9jcmVhdGVfcmVwbyAxMWEgJiYKIAkoCiAJCWNkIDExYSAmJgpAQCAtMzM1NCwxNiArMzQ0MCwxNyBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzExYS1jaGVjazogQXZvaWQgbG9zaW5nIGRpcnR5IGNvbnRlbnRzIHdpdGggc2ltcGxlIHJlbmFtZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnMTFhOiBBdm9pZCBsb3NpbmcgZGlydHkgY29udGVudHMgd2l0aCBzaW1wbGUgcmVuYW1lJyAnCisJdGVzdF9zZXR1cF8xMWEgJiYKIAkoCiAJCWNkIDExYSAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAkJZWNobyBzdHVmZiA+PnovYyAmJgogCi0JCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgMj5lcnIgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgMj5lcnIgJiYKIAkJdGVzdF9pMThuZ3JlcCAiUmVmdXNpbmcgdG8gbG9zZSBkaXJ0eSBmaWxlIGF0IHovYyIgb3V0ICYmCiAKIAkJdGVzdF9zZXEgMSAxMCA+ZXhwZWN0ZWQgJiYKQEAgLTMzOTcsNyArMzQ4NCw3IEBACiAjICAgICAgICAgICAgIEVSUk9SX01TRyhSZWZ1c2luZyB0byBsb3NlIGRpcnR5IGZpbGUgYXQgei9jKQogCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzExYi1zZXR1cDogQXZvaWQgbG9zaW5nIGRpcnR5IGZpbGUgaW52b2x2ZWQgaW4gZGlyZWN0b3J5IHJlbmFtZScgJwordGVzdF9zZXR1cF8xMWIgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gMTFiICYmCiAJKAogCQljZCAxMWIgJiYKQEAgLTM0MjYsMTYgKzM1MTMsMTcgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcxMWItY2hlY2s6IEF2b2lkIGxvc2luZyBkaXJ0eSBmaWxlIGludm9sdmVkIGluIGRpcmVjdG9yeSByZW5hbWUnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzExYjogQXZvaWQgbG9zaW5nIGRpcnR5IGZpbGUgaW52b2x2ZWQgaW4gZGlyZWN0b3J5IHJlbmFtZScgJworCXRlc3Rfc2V0dXBfMTFiICYmCiAJKAogCQljZCAxMWIgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAJCWVjaG8gc3R1ZmYgPj56L2MgJiYKIAotCQlnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCisJCWdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCiAJCXRlc3RfaTE4bmdyZXAgIlJlZnVzaW5nIHRvIGxvc2UgZGlydHkgZmlsZSBhdCB6L2MiIG91dCAmJgogCiAJCWdyZXAgLXEgc3R1ZmYgei9jICYmCkBAIC0zNDcxLDcgKzM1NTksNyBAQAogIyAgIEV4cGVjdGVkOiBBYm9ydF9tc2coImZvbGxvd2luZyBmaWxlcyB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtZXJnZSIpICsKICMgICAgICAgICAgICAgeS9jIGxlZnQgdW50b3VjaGVkIChzdGlsbCBoYXMgdW5jb21taXR0ZWQgbW9kcykKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnMTFjLXNldHVwOiBBdm9pZCBsb3Npbmcgbm90LXVwdG9kYXRlIHdpdGggcmVuYW1lICsgRC9GIGNvbmZsaWN0JyAnCit0ZXN0X3NldHVwXzExYyAoKSB7CiAJdGVzdF9jcmVhdGVfcmVwbyAxMWMgJiYKIAkoCiAJCWNkIDExYyAmJgpAQCAtMzUwMSwxNiArMzU4OSwxNyBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzExYy1jaGVjazogQXZvaWQgbG9zaW5nIG5vdC11cHRvZGF0ZSB3aXRoIHJlbmFtZSArIEQvRiBjb25mbGljdCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnMTFjOiBBdm9pZCBsb3Npbmcgbm90LXVwdG9kYXRlIHdpdGggcmVuYW1lICsgRC9GIGNvbmZsaWN0JyAnCisJdGVzdF9zZXR1cF8xMWMgJiYKIAkoCiAJCWNkIDExYyAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAkJZWNobyBzdHVmZiA+PnkvYyAmJgogCi0JCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgMj5lcnIgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgMj5lcnIgJiYKIAkJdGVzdF9pMThuZ3JlcCAiZm9sbG93aW5nIGZpbGVzIHdvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5IG1lcmdlIiBlcnIgJiYKIAogCQlncmVwIC1xIHN0dWZmIHkvYyAmJgpAQCAtMzUzNyw3ICszNjI2LDcgQEAKICMgICAgICAgICAgICAgV2FybmluZ19Nc2coIlJlZnVzaW5nIHRvIGxvc2UgZGlydHkgZmlsZSBhdCB6L2MpICsKICMgICAgICAgICAgICAgeS97YSxjfkhFQUQsYy9kfSwgeC9iLCBub3ctdW50cmFja2VkIHovY192MSB3aXRoIHVuY29tbWl0dGVkIG1vZHMKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnMTFkLXNldHVwOiBBdm9pZCBsb3Npbmcgbm90LXVwdG9kYXRlIHdpdGggcmVuYW1lICsgRC9GIGNvbmZsaWN0JyAnCit0ZXN0X3NldHVwXzExZCAoKSB7CiAJdGVzdF9jcmVhdGVfcmVwbyAxMWQgJiYKIAkoCiAJCWNkIDExZCAmJgpAQCAtMzU2OCwxNiArMzY1NywxNyBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzExZC1jaGVjazogQXZvaWQgbG9zaW5nIG5vdC11cHRvZGF0ZSB3aXRoIHJlbmFtZSArIEQvRiBjb25mbGljdCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnMTFkOiBBdm9pZCBsb3Npbmcgbm90LXVwdG9kYXRlIHdpdGggcmVuYW1lICsgRC9GIGNvbmZsaWN0JyAnCisJdGVzdF9zZXR1cF8xMWQgJiYKIAkoCiAJCWNkIDExZCAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAkJZWNobyBzdHVmZiA+PnovYyAmJgogCi0JCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgMj5lcnIgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgMj5lcnIgJiYKIAkJdGVzdF9pMThuZ3JlcCAiUmVmdXNpbmcgdG8gbG9zZSBkaXJ0eSBmaWxlIGF0IHovYyIgb3V0ICYmCiAKIAkJZ3JlcCAtcSBzdHVmZiB6L2MgJiYKQEAgLTM2MTUsNyArMzcwNSw3IEBACiAjICAgICAgICAgICAgIHkvY35IRUFEIGhhcyBBOnkvY18yIGNvbnRlbnRzCiAjICAgICAgICAgICAgIHkvYyBoYXMgZGlydHkgZmlsZSBmcm9tIGJlZm9yZSBtZXJnZQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcxMWUtc2V0dXA6IEF2b2lkIGRlbGV0aW5nIG5vdC11cHRvZGF0ZSB3aXRoIGRpciByZW5hbWUvcmVuYW1lKDF0bzIpL2FkZCcgJwordGVzdF9zZXR1cF8xMWUgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gMTFlICYmCiAJKAogCQljZCAxMWUgJiYKQEAgLTM2NDcsMTYgKzM3MzcsMTcgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcxMWUtY2hlY2s6IEF2b2lkIGRlbGV0aW5nIG5vdC11cHRvZGF0ZSB3aXRoIGRpciByZW5hbWUvcmVuYW1lKDF0bzIpL2FkZCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnMTFlOiBBdm9pZCBkZWxldGluZyBub3QtdXB0b2RhdGUgd2l0aCBkaXIgcmVuYW1lL3JlbmFtZSgxdG8yKS9hZGQnICcKKwl0ZXN0X3NldHVwXzExZSAmJgogCSgKIAkJY2QgMTFlICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEFeMCAmJgogCQllY2hvIG1vZHMgPj55L2MgJiYKIAotCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCiAJCXRlc3RfaTE4bmdyZXAgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKSIgb3V0ICYmCiAJCXRlc3RfaTE4bmdyZXAgIlJlZnVzaW5nIHRvIGxvc2UgZGlydHkgZmlsZSBhdCB5L2MiIG91dCAmJgogCkBAIC0zNjY1LDcgKzM3NTYsNyBAQAogCQlnaXQgbHMtZmlsZXMgLXUgPm91dCAmJgogCQl0ZXN0X2xpbmVfY291bnQgPSA0IG91dCAmJgogCQlnaXQgbHMtZmlsZXMgLW8gPm91dCAmJgotCQl0ZXN0X2xpbmVfY291bnQgPSA0IG91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAzIG91dCAmJgogCiAJCWVjaG8gZGlmZmVyZW50ID5leHBlY3RlZCAmJgogCQllY2hvIG1vZHMgPj5leHBlY3RlZCAmJgpAQCAtMzY3NywxMSArMzc2OCwxNyBAQAogCQkJIE86ei9hICBPOnovYiAgTzp4L2QgIE86eC9jICBPOngvYyAgQTp5L2MgIE86eC9jICYmCiAJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKIAotCQlnaXQgaGFzaC1vYmplY3QgPmFjdHVhbCBcCi0JCQl5L2N+Ql4wIHkvY35IRUFEICYmCi0JCWdpdCByZXYtcGFyc2UgPmV4cGVjdCBcCi0JCQlPOngvYyAgIEE6eS9jICYmCi0JCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkJIyBTZWUgaWYgeS9jfm1lcmdlZCBoYXMgZXhwZWN0ZWQgY29udGVudHM7IHJlcXVpcmVzIG1hbnVhbGx5CisJCSMgZG9pbmcgdGhlIGV4cGVjdGVkIGZpbGUgbWVyZ2UKKwkJZ2l0IGNhdC1maWxlIC1wIEE6eS9jID5jMSAmJgorCQlnaXQgY2F0LWZpbGUgLXAgQjp6L2MgPmMyICYmCisJCT5lbXB0eSAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UtZmlsZSBcCisJCQktTCAiSEVBRCIgXAorCQkJLUwgIiIgXAorCQkJLUwgIkJeMCIgXAorCQkJYzEgZW1wdHkgYzIgJiYKKwkJdGVzdF9jbXAgYzEgeS9jfm1lcmdlZAogCSkKICcKIApAQCAtMzY4OSwxMiArMzc4NiwxMiBAQAogIyAgIENvbW1pdCBPOiB6L3thLGJ9LCAgICAgICAgeC97Y18xLGRfMn0KICMgICBDb21taXQgQTogeS97YSxiLHdoYW1fMX0sIHgvZF8yLCBleGNlcHQgeS93aGFtIGhhcyB1bmNvbW1pdHRlZCBtb2RzCiAjICAgQ29tbWl0IEI6IHove2EsYix3aGFtXzJ9LCB4L2NfMQotIyAgIEV4cGVjdGVkOiBGYWlsZWQgTWVyZ2U7IHkve2EsYn0gKyB1bnRyYWNrZWQgeS97d2hhbX5CXjAsd2hhbX5CXkhFQUR9ICsKKyMgICBFeHBlY3RlZDogRmFpbGVkIE1lcmdlOyB5L3thLGJ9ICsgdW50cmFja2VkIHkve3doYW1+bWVyZ2VkfSArCiAjICAgICAgICAgICAgIHkvd2hhbSB3aXRoIGRpcnR5IGNoYW5nZXMgZnJvbSBiZWZvcmUgbWVyZ2UgKwogIyAgICAgICAgICAgICBDT05GTElDVChyZW5hbWUvcmVuYW1lKSB4L2MgdnMgeC9kIC0+IHkvd2hhbQogIyAgICAgICAgICAgICBFUlJPUl9NU0coUmVmdXNpbmcgdG8gbG9zZSBkaXJ0eSBmaWxlIGF0IHkvd2hhbSkKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnMTFmLXNldHVwOiBBdm9pZCBkZWxldGluZyBub3QtdXB0b2RhdGUgd2l0aCBkaXIgcmVuYW1lL3JlbmFtZSgydG8xKScgJwordGVzdF9zZXR1cF8xMWYgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gMTFmICYmCiAJKAogCQljZCAxMWYgJiYKQEAgLTM3MjMsMTYgKzM4MjAsMTcgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcxMWYtY2hlY2s6IEF2b2lkIGRlbGV0aW5nIG5vdC11cHRvZGF0ZSB3aXRoIGRpciByZW5hbWUvcmVuYW1lKDJ0bzEpJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcxMWY6IEF2b2lkIGRlbGV0aW5nIG5vdC11cHRvZGF0ZSB3aXRoIGRpciByZW5hbWUvcmVuYW1lKDJ0bzEpJyAnCisJdGVzdF9zZXR1cF8xMWYgJiYKIAkoCiAJCWNkIDExZiAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAkJZWNobyBpbXBvcnRhbnQgPj55L3doYW0gJiYKIAotCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCiAJCXRlc3RfaTE4bmdyZXAgIkNPTkZMSUNUIChyZW5hbWUvcmVuYW1lKSIgb3V0ICYmCiAJCXRlc3RfaTE4bmdyZXAgIlJlZnVzaW5nIHRvIGxvc2UgZGlydHkgZmlsZSBhdCB5L3doYW0iIG91dCAmJgogCkBAIC0zNzQxLDI0ICszODM5LDMwIEBACiAJCWdpdCBscy1maWxlcyAtdSA+b3V0ICYmCiAJCXRlc3RfbGluZV9jb3VudCA9IDIgb3V0ICYmCiAJCWdpdCBscy1maWxlcyAtbyA+b3V0ICYmCi0JCXRlc3RfbGluZV9jb3VudCA9IDQgb3V0ICYmCisJCXRlc3RfbGluZV9jb3VudCA9IDMgb3V0ICYmCiAKIAkJdGVzdF9zZXEgMSAxMCA+ZXhwZWN0ZWQgJiYKIAkJZWNobyBpbXBvcnRhbnQgPj5leHBlY3RlZCAmJgogCQl0ZXN0X2NtcCBleHBlY3RlZCB5L3doYW0gJiYKIAogCQl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIDoxOnkvd2hhbSAmJgotCQlnaXQgaGFzaC1vYmplY3QgPmFjdHVhbCBcCi0JCQl5L3doYW1+Ql4wIHkvd2hhbX5IRUFEICYmCi0JCWdpdCByZXYtcGFyc2UgPmV4cGVjdCBcCi0JCQlPOngvZCAgICAgIE86eC9jICYmCi0JCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKIAogCQlnaXQgcmV2LXBhcnNlID5hY3R1YWwgXAogCQkJOjA6eS9hIDowOnkvYiA6Mjp5L3doYW0gOjM6eS93aGFtICYmCiAJCWdpdCByZXYtcGFyc2UgPmV4cGVjdCBcCiAJCQkgTzp6L2EgIE86ei9iICBPOngvYyAgICAgTzp4L2QgJiYKLQkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwkJIyBUZXN0IHRoYXQgdGhlIHR3by13YXkgbWVyZ2UgaW4geS93aGFtfm1lcmdlZCBpcyBhcyBleHBlY3RlZAorCQlnaXQgY2F0LWZpbGUgLXAgOjI6eS93aGFtID5leHBlY3QgJiYKKwkJZ2l0IGNhdC1maWxlIC1wIDozOnkvd2hhbSA+b3RoZXIgJiYKKwkJPmVtcHR5ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZS1maWxlIFwKKwkJCS1MICJIRUFEIiBcCisJCQktTCAiIiBcCisJCQktTCAiQl4wIiBcCisJCQlleHBlY3QgZW1wdHkgb3RoZXIgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IHkvd2hhbX5tZXJnZWQKIAkpCiAnCiAKQEAgLTM3NzYsNyArMzg4MCw3IEBACiAjICAgQ29tbWl0IEI6IG5vZGUxL3tsZWFmMSxsZWFmMixsZWFmNX0sIG5vZGUyL3tsZWFmMyxsZWFmNCxsZWFmNn0KICMgICBFeHBlY3RlZDogbm9kZTEve2xlYWYxLGxlYWYyLGxlYWY1LG5vZGUyL3tsZWFmMyxsZWFmNCxsZWFmNn19CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzEyYS1zZXR1cDogTW92aW5nIG9uZSBkaXJlY3RvcnkgaGllcmFyY2h5IGludG8gYW5vdGhlcicgJwordGVzdF9zZXR1cF8xMmEgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gMTJhICYmCiAJKAogCQljZCAxMmEgJiYKQEAgLTM4MDYsMTUgKzM5MTAsMTYgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcxMmEtY2hlY2s6IE1vdmluZyBvbmUgZGlyZWN0b3J5IGhpZXJhcmNoeSBpbnRvIGFub3RoZXInICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzEyYTogTW92aW5nIG9uZSBkaXJlY3RvcnkgaGllcmFyY2h5IGludG8gYW5vdGhlcicgJworCXRlc3Rfc2V0dXBfMTJhICYmCiAJKAogCQljZCAxMmEgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKLQkJZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgJiYKKwkJZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gNiBvdXQgJiYKQEAgLTM4NTQsNyArMzk1OSw3IEBACiAjICAgICAgICAgVG8gd2hpY2gsIEkgY2FuIGRvIG5vIG1vcmUgdGhhbiBzaHJ1ZyBteSBzaG91bGRlcnMgYW5kIHNheSB0aGF0CiAjICAgICAgICAgZXZlbiBzaW1wbGUgcnVsZXMgZ2l2ZSB3ZWlyZCByZXN1bHRzIHdoZW4gZ2l2ZW4gd2VpcmQgaW5wdXRzLgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcxMmItc2V0dXA6IE1vdmluZyBvbmUgZGlyZWN0b3J5IGhpZXJhcmNoeSBpbnRvIGFub3RoZXInICcKK3Rlc3Rfc2V0dXBfMTJiICgpIHsKIAl0ZXN0X2NyZWF0ZV9yZXBvIDEyYiAmJgogCSgKIAkJY2QgMTJiICYmCkBAIC0zODgyLDE1ICszOTg3LDE2IEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tICJCIgogCSkKLScKK30KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnMTJiLWNoZWNrOiBNb3Zpbmcgb25lIGRpcmVjdG9yeSBoaWVyYXJjaHkgaW50byBhbm90aGVyJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcxMmI6IE1vdmluZyB0d28gZGlyZWN0b3J5IGhpZXJhcmNoaWVzIGludG8gZWFjaCBvdGhlcicgJworCXRlc3Rfc2V0dXBfMTJiICYmCiAJKAogCQljZCAxMmIgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKLQkJZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgJiYKKwkJZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gNCBvdXQgJiYKQEAgLTM5MjAsNyArNDAyNiw3IEBACiAjICAgTk9URTogVGhpcyBpcyAqZXhhY3RseSogbGlrZSAxMmMsIGV4Y2VwdCB0aGF0IGV2ZXJ5IHBhdGggaXMgbW9kaWZpZWQgb24KICMgICAgICAgICBlYWNoIHNpZGUgb2YgdGhlIG1lcmdlLgogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcxMmMtc2V0dXA6IE1vdmluZyBvbmUgZGlyZWN0b3J5IGhpZXJhcmNoeSBpbnRvIGFub3RoZXIgdy8gY29udGVudCBtZXJnZScgJwordGVzdF9zZXR1cF8xMmMgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gMTJjICYmCiAJKAogCQljZCAxMmMgJiYKQEAgLTM5NTIsMTUgKzQwNTgsMTYgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcxMmMtY2hlY2s6IE1vdmluZyBvbmUgZGlyZWN0b3J5IGhpZXJhcmNoeSBpbnRvIGFub3RoZXIgdy8gY29udGVudCBtZXJnZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnMTJjOiBNb3Zpbmcgb25lIGRpcmVjdG9yeSBoaWVyYXJjaHkgaW50byBhbm90aGVyIHcvIGNvbnRlbnQgbWVyZ2UnICcKKwl0ZXN0X3NldHVwXzEyYyAmJgogCSgKIAkJY2QgMTJjICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEFeMCAmJgogCi0JCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCAmJgogCiAJCWdpdCBscy1maWxlcyAtdSA+b3V0ICYmCiAJCXRlc3RfbGluZV9jb3VudCA9IDEyIG91dCAmJgpAQCAtMzk5NSw0ICs0MTAyLDU5MiBAQAogCSkKICcKIAorIyBUZXN0Y2FzZSAxMmQsIFJlbmFtZS9tZXJnZSBvZiBzdWJkaXJlY3RvcnkgaW50byB0aGUgcm9vdAorIyAgIENvbW1pdCBPOiBhL2Ivc3ViZGlyL2ZvbworIyAgIENvbW1pdCBBOiBzdWJkaXIvZm9vCisjICAgQ29tbWl0IEI6IGEvYi9zdWJkaXIvZm9vLCBhL2IvYmFyCisjICAgRXhwZWN0ZWQ6IHN1YmRpci9mb28sIGJhcgorCit0ZXN0X3NldHVwXzEyZCAoKSB7CisJdGVzdF9jcmVhdGVfcmVwbyAxMmQgJiYKKwkoCisJCWNkIDEyZCAmJgorCisJCW1rZGlyIC1wIGEvYi9zdWJkaXIgJiYKKwkJdGVzdF9jb21taXQgYS9iL3N1YmRpci9mb28gJiYKKworCQlnaXQgYnJhbmNoIE8gJiYKKwkJZ2l0IGJyYW5jaCBBICYmCisJCWdpdCBicmFuY2ggQiAmJgorCisJCWdpdCBjaGVja291dCBBICYmCisJCW1rZGlyIHN1YmRpciAmJgorCQlnaXQgbXYgYS9iL3N1YmRpci9mb28udCBzdWJkaXIvZm9vLnQgJiYKKwkJdGVzdF90aWNrICYmCisJCWdpdCBjb21taXQgLW0gIkEiICYmCisKKwkJZ2l0IGNoZWNrb3V0IEIgJiYKKwkJdGVzdF9jb21taXQgYS9iL2JhcgorCSkKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnMTJkOiBSZW5hbWUvbWVyZ2Ugc3ViZGlyIGludG8gdGhlIHJvb3QsIHZhcmlhbnQgMScgJworCXRlc3Rfc2V0dXBfMTJkICYmCisJKAorCQljZCAxMmQgJiYKKworCQlnaXQgY2hlY2tvdXQgQV4wICYmCisKKwkJZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wICYmCisKKwkJZ2l0IGxzLWZpbGVzIC1zID5vdXQgJiYKKwkJdGVzdF9saW5lX2NvdW50ID0gMiBvdXQgJiYKKworCQlnaXQgcmV2LXBhcnNlID5hY3R1YWwgXAorCQkJSEVBRDpzdWJkaXIvZm9vLnQgICBIRUFEOmJhci50ICYmCisJCWdpdCByZXYtcGFyc2UgPmV4cGVjdCBcCisJCQlPOmEvYi9zdWJkaXIvZm9vLnQgIEI6YS9iL2Jhci50ICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCQlnaXQgaGFzaC1vYmplY3QgYmFyLnQgPmFjdHVhbCAmJgorCQlnaXQgcmV2LXBhcnNlIEI6YS9iL2Jhci50ID5leHBlY3QgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgSEVBRDphL2Ivc3ViZGlyL2Zvby50ICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgSEVBRDphL2IvYmFyLnQgJiYKKwkJdGVzdF9wYXRoX2lzX21pc3NpbmcgYS8gJiYKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgYmFyLnQKKwkpCisnCisKKyMgVGVzdGNhc2UgMTJlLCBSZW5hbWUvbWVyZ2Ugb2Ygc3ViZGlyZWN0b3J5IGludG8gdGhlIHJvb3QKKyMgICBDb21taXQgTzogYS9iL2ZvbworIyAgIENvbW1pdCBBOiBmb28KKyMgICBDb21taXQgQjogYS9iL2ZvbywgYS9iL2JhcgorIyAgIEV4cGVjdGVkOiBmb28sIGJhcgorCit0ZXN0X3NldHVwXzEyZSAoKSB7CisJdGVzdF9jcmVhdGVfcmVwbyAxMmUgJiYKKwkoCisJCWNkIDEyZSAmJgorCisJCW1rZGlyIC1wIGEvYiAmJgorCQl0ZXN0X2NvbW1pdCBhL2IvZm9vICYmCisKKwkJZ2l0IGJyYW5jaCBPICYmCisJCWdpdCBicmFuY2ggQSAmJgorCQlnaXQgYnJhbmNoIEIgJiYKKworCQlnaXQgY2hlY2tvdXQgQSAmJgorCQlta2RpciBzdWJkaXIgJiYKKwkJZ2l0IG12IGEvYi9mb28udCBmb28udCAmJgorCQl0ZXN0X3RpY2sgJiYKKwkJZ2l0IGNvbW1pdCAtbSAiQSIgJiYKKworCQlnaXQgY2hlY2tvdXQgQiAmJgorCQl0ZXN0X2NvbW1pdCBhL2IvYmFyCisJKQorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcxMmU6IFJlbmFtZS9tZXJnZSBzdWJkaXIgaW50byB0aGUgcm9vdCwgdmFyaWFudCAyJyAnCisJdGVzdF9zZXR1cF8xMmUgJiYKKwkoCisJCWNkIDEyZSAmJgorCisJCWdpdCBjaGVja291dCBBXjAgJiYKKworCQlnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgJiYKKworCQlnaXQgbHMtZmlsZXMgLXMgPm91dCAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAyIG91dCAmJgorCisJCWdpdCByZXYtcGFyc2UgPmFjdHVhbCBcCisJCQlIRUFEOmZvby50ICAgSEVBRDpiYXIudCAmJgorCQlnaXQgcmV2LXBhcnNlID5leHBlY3QgXAorCQkJTzphL2IvZm9vLnQgIEI6YS9iL2Jhci50ICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCQlnaXQgaGFzaC1vYmplY3QgYmFyLnQgPmFjdHVhbCAmJgorCQlnaXQgcmV2LXBhcnNlIEI6YS9iL2Jhci50ID5leHBlY3QgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgSEVBRDphL2IvZm9vLnQgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBIRUFEOmEvYi9iYXIudCAmJgorCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyBhLyAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSBiYXIudAorCSkKKycKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFNFQ1RJT04gMTM6IENoZWNraW5nIGluZm9ybWF0aW9uYWwgYW5kIGNvbmZsaWN0IG1lc3NhZ2VzCisjCisjIEEgeWVhciBhZnRlciBkaXJlY3RvcnkgcmVuYW1lIGRldGVjdGlvbiBiZWNhbWUgdGhlIGRlZmF1bHQsIGl0IHdhcworIyBpbnN0ZWFkIGRlY2lkZWQgdG8gcmVwb3J0IGNvbmZsaWN0cyBvbiB0aGUgcGF0aG5hbWUgb24gdGhlIGJhc2lzIHRoYXQKKyMgc29tZSB1c2VycyBtYXkgZXhwZWN0IHRoZSBuZXcgZmlsZXMgYWRkZWQgb3IgbW92ZWQgaW50byBhIGRpcmVjdG9yeSB0bworIyBiZSB1bnJlbGF0ZWQgdG8gYWxsIHRoZSBvdGhlciBmaWxlcyBpbiB0aGF0IGRpcmVjdG9yeSwgYW5kIHRodXMgdGhhdAorIyBkaXJlY3RvcnkgcmVuYW1lIGRldGVjdGlvbiBpcyB1bmV4cGVjdGVkLiAgVGVzdCB0aGF0IHRoZSBtZXNzYWdlcyBwcmludGVkCisjIG1hdGNoIG91ciBleHBlY3RhdGlvbi4KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIFRlc3RjYXNlIDEzYSwgQmFzaWMgZGlyZWN0b3J5IHJlbmFtZSB3aXRoIG5ld2x5IGFkZGVkIGZpbGVzCisjICAgQ29tbWl0IE86IHove2IsY30KKyMgICBDb21taXQgQTogeS97YixjfQorIyAgIENvbW1pdCBCOiB6L3tiLGMsZCxlL2Z9CisjICAgRXhwZWN0ZWQ6IHkve2IsYyxkLGUvZn0sIHdpdGggbm90aWNlcy9jb25mbGljdHMgZm9yIGJvdGggeS9kIGFuZCB5L2UvZgorCit0ZXN0X3NldHVwXzEzYSAoKSB7CisJdGVzdF9jcmVhdGVfcmVwbyAxM2FfJDEgJiYKKwkoCisJCWNkIDEzYV8kMSAmJgorCisJCW1rZGlyIHogJiYKKwkJZWNobyBiID56L2IgJiYKKwkJZWNobyBjID56L2MgJiYKKwkJZ2l0IGFkZCB6ICYmCisJCXRlc3RfdGljayAmJgorCQlnaXQgY29tbWl0IC1tICJPIiAmJgorCisJCWdpdCBicmFuY2ggTyAmJgorCQlnaXQgYnJhbmNoIEEgJiYKKwkJZ2l0IGJyYW5jaCBCICYmCisKKwkJZ2l0IGNoZWNrb3V0IEEgJiYKKwkJZ2l0IG12IHogeSAmJgorCQl0ZXN0X3RpY2sgJiYKKwkJZ2l0IGNvbW1pdCAtbSAiQSIgJiYKKworCQlnaXQgY2hlY2tvdXQgQiAmJgorCQllY2hvIGQgPnovZCAmJgorCQlta2RpciB6L2UgJiYKKwkJZWNobyBmID56L2UvZiAmJgorCQlnaXQgYWRkIHovZCB6L2UvZiAmJgorCQl0ZXN0X3RpY2sgJiYKKwkJZ2l0IGNvbW1pdCAtbSAiQiIKKwkpCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzEzYShjb25mbGljdCk6IG1lc3NhZ2VzIGZvciBuZXdseSBhZGRlZCBmaWxlcycgJworCXRlc3Rfc2V0dXBfMTNhIGNvbmZsaWN0ICYmCisJKAorCQljZCAxM2FfY29uZmxpY3QgJiYKKworCQlnaXQgY2hlY2tvdXQgQV4wICYmCisKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAyPmVyciAmJgorCisJCXRlc3RfaTE4bmdyZXAgQ09ORkxJQ1QuLmZpbGUubG9jYXRpb24uKnovZS9mLmFkZGVkLmluLkJeMC4qeS9lL2Ygb3V0ICYmCisJCXRlc3RfaTE4bmdyZXAgQ09ORkxJQ1QuLmZpbGUubG9jYXRpb24uKnovZC5hZGRlZC5pbi5CXjAuKnkvZCBvdXQgJiYKKworCQlnaXQgbHMtZmlsZXMgPnBhdGhzICYmCisJCSEgZ3JlcCB6LyBwYXRocyAmJgorCQlncmVwICJ5L1tkZV0iIHBhdGhzICYmCisKKwkJdGVzdF9wYXRoX2lzX21pc3Npbmcgei9kICYmCisJCXRlc3RfcGF0aF9pc19maWxlICAgIHkvZCAmJgorCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyB6L2UvZiAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSAgICB5L2UvZgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnMTNhKGluZm8pOiBtZXNzYWdlcyBmb3IgbmV3bHkgYWRkZWQgZmlsZXMnICcKKwl0ZXN0X3NldHVwXzEzYSBpbmZvICYmCisJKAorCQljZCAxM2FfaW5mbyAmJgorCisJCWdpdCByZXNldCAtLWhhcmQgJiYKKwkJZ2l0IGNoZWNrb3V0IEFeMCAmJgorCisJCWdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCisKKwkJdGVzdF9pMThuZ3JlcCBQYXRoLnVwZGF0ZWQ6Lip6L2UvZi5hZGRlZC5pbi5CXjAuKnkvZS9mIG91dCAmJgorCQl0ZXN0X2kxOG5ncmVwIFBhdGgudXBkYXRlZDouKnovZC5hZGRlZC5pbi5CXjAuKnkvZCBvdXQgJiYKKworCQlnaXQgbHMtZmlsZXMgPnBhdGhzICYmCisJCSEgZ3JlcCB6LyBwYXRocyAmJgorCQlncmVwICJ5L1tkZV0iIHBhdGhzICYmCisKKwkJdGVzdF9wYXRoX2lzX21pc3Npbmcgei9kICYmCisJCXRlc3RfcGF0aF9pc19maWxlICAgIHkvZCAmJgorCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyB6L2UvZiAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSAgICB5L2UvZgorCSkKKycKKworIyBUZXN0Y2FzZSAxM2IsIFRyYW5zaXRpdmUgcmVuYW1lIHdpdGggY29uZmxpY3RlZCBjb250ZW50IG1lcmdlIGFuZCBkZWZhdWx0CisjICAgICAgICAgICAgICAgImNvbmZsaWN0IiBzZXR0aW5nCisjICAgKFJlbGF0ZWQgdG8gdGVzdGNhc2UgMWMsIDliKQorIyAgIENvbW1pdCBPOiB6L3tiLGN9LCAgIHgvZF8xCisjICAgQ29tbWl0IEE6IHkve2IsY30sICAgeC9kXzIKKyMgICBDb21taXQgQjogei97YixjLGRfM30KKyMgICBFeHBlY3RlZDogeS97YixjLGRfbWVyZ2VkfSwgd2l0aCB0d28gY29uZmxpY3QgbWVzc2FnZXMgZm9yIHkvZCwKKyMgICAgICAgICAgICAgb25lIGFib3V0IGNvbnRlbnQsIGFuZCBvbmUgYWJvdXQgZmlsZSBsb2NhdGlvbgorCit0ZXN0X3NldHVwXzEzYiAoKSB7CisJdGVzdF9jcmVhdGVfcmVwbyAxM2JfJDEgJiYKKwkoCisJCWNkIDEzYl8kMSAmJgorCisJCW1rZGlyIHggJiYKKwkJbWtkaXIgeiAmJgorCQl0ZXN0X3NlcSAxIDEwID54L2QgJiYKKwkJZWNobyBiID56L2IgJiYKKwkJZWNobyBjID56L2MgJiYKKwkJZ2l0IGFkZCB4IHogJiYKKwkJdGVzdF90aWNrICYmCisJCWdpdCBjb21taXQgLW0gIk8iICYmCisKKwkJZ2l0IGJyYW5jaCBPICYmCisJCWdpdCBicmFuY2ggQSAmJgorCQlnaXQgYnJhbmNoIEIgJiYKKworCQlnaXQgY2hlY2tvdXQgQSAmJgorCQlnaXQgbXYgeiB5ICYmCisJCWVjaG8gMTEgPj54L2QgJiYKKwkJZ2l0IGFkZCB4L2QgJiYKKwkJdGVzdF90aWNrICYmCisJCWdpdCBjb21taXQgLW0gIkEiICYmCisKKwkJZ2l0IGNoZWNrb3V0IEIgJiYKKwkJZWNobyBlbGV2ZW4gPj54L2QgJiYKKwkJZ2l0IG12IHgvZCB6L2QgJiYKKwkJZ2l0IGFkZCB6L2QgJiYKKwkJdGVzdF90aWNrICYmCisJCWdpdCBjb21taXQgLW0gIkIiCisJKQorfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcxM2IoY29uZmxpY3QpOiBtZXNzYWdlcyBmb3IgdHJhbnNpdGl2ZSByZW5hbWUgd2l0aCBjb25mbGljdGVkIGNvbnRlbnQnICcKKwl0ZXN0X3NldHVwXzEzYiBjb25mbGljdCAmJgorCSgKKwkJY2QgMTNiX2NvbmZsaWN0ICYmCisKKwkJZ2l0IGNoZWNrb3V0IEFeMCAmJgorCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgMj5lcnIgJiYKKworCQl0ZXN0X2kxOG5ncmVwIENPTkZMSUNULipjb250ZW50LipNZXJnZS5jb25mbGljdC5pbi55L2Qgb3V0ICYmCisJCXRlc3RfaTE4bmdyZXAgQ09ORkxJQ1QuLmZpbGUubG9jYXRpb24uKngvZC5yZW5hbWVkLnRvLnovZC4qbW92ZWQudG8ueS9kIG91dCAmJgorCisJCWdpdCBscy1maWxlcyA+cGF0aHMgJiYKKwkJISBncmVwIHovIHBhdGhzICYmCisJCWdyZXAgInkvZCIgcGF0aHMgJiYKKworCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyB6L2QgJiYKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgICAgeS9kCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcxM2IoaW5mbyk6IG1lc3NhZ2VzIGZvciB0cmFuc2l0aXZlIHJlbmFtZSB3aXRoIGNvbmZsaWN0ZWQgY29udGVudCcgJworCXRlc3Rfc2V0dXBfMTNiIGluZm8gJiYKKwkoCisJCWNkIDEzYl9pbmZvICYmCisKKwkJZ2l0IHJlc2V0IC0taGFyZCAmJgorCQlnaXQgY2hlY2tvdXQgQV4wICYmCisKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgMj5lcnIgJiYKKworCQl0ZXN0X2kxOG5ncmVwIENPTkZMSUNULipjb250ZW50LipNZXJnZS5jb25mbGljdC5pbi55L2Qgb3V0ICYmCisJCXRlc3RfaTE4bmdyZXAgUGF0aC51cGRhdGVkOi4qeC9kLnJlbmFtZWQudG8uei9kLmluLkJeMC4qbW92aW5nLml0LnRvLnkvZCBvdXQgJiYKKworCQlnaXQgbHMtZmlsZXMgPnBhdGhzICYmCisJCSEgZ3JlcCB6LyBwYXRocyAmJgorCQlncmVwICJ5L2QiIHBhdGhzICYmCisKKwkJdGVzdF9wYXRoX2lzX21pc3Npbmcgei9kICYmCisJCXRlc3RfcGF0aF9pc19maWxlICAgIHkvZAorCSkKKycKKworIyBUZXN0Y2FzZSAxM2MsIFJlbmFtZS9yZW5hbWUoMXRvMSkgZHVlIHRvIGRpcmVjdG9yeSByZW5hbWUKKyMgICBDb21taXQgTzogei97YixjfSwgICB4L3tkLGV9CisjICAgQ29tbWl0IEE6IHkve2IsYyxkfSwgeC9lCisjICAgQ29tbWl0IEI6IHove2IsYyxkfSwgeC9lCisjICAgRXhwZWN0ZWQ6IHkve2IsYyxkfSwgd2l0aCBpbmZvIG9yIGNvbmZsaWN0IG1lc3NhZ2VzIGZvciBkICgKKyMgICAgICAgICAgICAgQTogcmVuYW1lZCB4L2QgLT4gei9kOyBCOiByZW5hbWVkIHovIC0+IHkvIEFORCByZW5hbWVkIHgvZCB0byB5L2QKKyMgICAgICAgICAgICAgT25lIGNvdWxkIGFyZ3VlIEEgaGFkIHBhcnRpYWwga25vd2xlZGdlIG9mIHdoYXQgd2FzIGRvbmUgd2l0aAorIyAgICAgICAgICAgICBkIGFuZCBCIGhhZCBmdWxsIGtub3dsZWRnZSwgYnV0IHRoYXQncyBhIHNsaXBwZXJ5IHNsb3BlIGFzCisjICAgICAgICAgICAgIHNob3duIGluIHRlc3RjYXNlIDEzZC4KKwordGVzdF9zZXR1cF8xM2MgKCkgeworCXRlc3RfY3JlYXRlX3JlcG8gMTNjXyQxICYmCisJKAorCQljZCAxM2NfJDEgJiYKKworCQlta2RpciB4ICYmCisJCW1rZGlyIHogJiYKKwkJdGVzdF9zZXEgMSAxMCA+eC9kICYmCisJCWVjaG8gZSA+eC9lICYmCisJCWVjaG8gYiA+ei9iICYmCisJCWVjaG8gYyA+ei9jICYmCisJCWdpdCBhZGQgeCB6ICYmCisJCXRlc3RfdGljayAmJgorCQlnaXQgY29tbWl0IC1tICJPIiAmJgorCisJCWdpdCBicmFuY2ggTyAmJgorCQlnaXQgYnJhbmNoIEEgJiYKKwkJZ2l0IGJyYW5jaCBCICYmCisKKwkJZ2l0IGNoZWNrb3V0IEEgJiYKKwkJZ2l0IG12IHogeSAmJgorCQlnaXQgbXYgeC9kIHkvICYmCisJCXRlc3RfdGljayAmJgorCQlnaXQgY29tbWl0IC1tICJBIiAmJgorCisJCWdpdCBjaGVja291dCBCICYmCisJCWdpdCBtdiB4L2Qgei9kICYmCisJCWdpdCBhZGQgei9kICYmCisJCXRlc3RfdGljayAmJgorCQlnaXQgY29tbWl0IC1tICJCIgorCSkKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnMTNjKGNvbmZsaWN0KTogbWVzc2FnZXMgZm9yIHJlbmFtZS9yZW5hbWUoMXRvMSkgdmlhIHRyYW5zaXRpdmUgcmVuYW1lJyAnCisJdGVzdF9zZXR1cF8xM2MgY29uZmxpY3QgJiYKKwkoCisJCWNkIDEzY19jb25mbGljdCAmJgorCisJCWdpdCBjaGVja291dCBBXjAgJiYKKworCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCisKKwkJdGVzdF9pMThuZ3JlcCBDT05GTElDVC4uZmlsZS5sb2NhdGlvbi4qeC9kLnJlbmFtZWQudG8uei9kLiptb3ZlZC50by55L2Qgb3V0ICYmCisKKwkJZ2l0IGxzLWZpbGVzID5wYXRocyAmJgorCQkhIGdyZXAgei8gcGF0aHMgJiYKKwkJZ3JlcCAieS9kIiBwYXRocyAmJgorCisJCXRlc3RfcGF0aF9pc19taXNzaW5nIHovZCAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSAgICB5L2QKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzEzYyhpbmZvKTogbWVzc2FnZXMgZm9yIHJlbmFtZS9yZW5hbWUoMXRvMSkgdmlhIHRyYW5zaXRpdmUgcmVuYW1lJyAnCisJdGVzdF9zZXR1cF8xM2MgaW5mbyAmJgorCSgKKwkJY2QgMTNjX2luZm8gJiYKKworCQlnaXQgcmVzZXQgLS1oYXJkICYmCisJCWdpdCBjaGVja291dCBBXjAgJiYKKworCQlnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz10cnVlIG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAyPmVyciAmJgorCisJCXRlc3RfaTE4bmdyZXAgUGF0aC51cGRhdGVkOi4qeC9kLnJlbmFtZWQudG8uei9kLmluLkJeMC4qbW92aW5nLml0LnRvLnkvZCBvdXQgJiYKKworCQlnaXQgbHMtZmlsZXMgPnBhdGhzICYmCisJCSEgZ3JlcCB6LyBwYXRocyAmJgorCQlncmVwICJ5L2QiIHBhdGhzICYmCisKKwkJdGVzdF9wYXRoX2lzX21pc3Npbmcgei9kICYmCisJCXRlc3RfcGF0aF9pc19maWxlICAgIHkvZAorCSkKKycKKworIyBUZXN0Y2FzZSAxM2QsIFJlbmFtZS9yZW5hbWUoMXRvMSkgZHVlIHRvIGRpcmVjdG9yeSByZW5hbWUgb24gYm90aCBzaWRlcworIyAgIENvbW1pdCBPOiBhL3t6LHl9LCBiL3gsICAgICBjL3cKKyMgICBDb21taXQgQTogYS96LCAgICAgYi97eSx4fSwgZC93CisjICAgQ29tbWl0IEI6IGEveiwgICAgIGQveCwgICAgIGMve3ksd30KKyMgICBFeHBlY3RlZDogYS96LCBkL3t5LHgsd30gd2l0aCBubyBmaWxlIGxvY2F0aW9uIGNvbmZsaWN0IGZvciB4CisjICAgICAgICAgICAgIEVhc3kgY2FzZXM6CisjICAgICAgICAgICAgICAgKiB6IGlzIGFsd2F5cyBpbiBhOyBzbyBpdCBzdGF5cyBpbiBhLgorIyAgICAgICAgICAgICAgICogeCBzdGFydHMgaW4gYiwgb25seSBtb2RpZmllZCBvbiBvbmUgc2lkZSB0byBtb3ZlIGludG8gZC8KKyMgICAgICAgICAgICAgICAqIHcgc3RhcnRzIGluIGMsIG9ubHkgbW9kaWZpZWQgb24gb25lIHNpZGUgdG8gbW92ZSBpbnRvIGQvCisjICAgICAgICAgICAgIEhhcmQgY2FzZToKKyMgICAgICAgICAgICAgICAqIEEgcmVuYW1lcyBhL3kgdG8gYi95LCBhbmQgQiByZW5hbWVzIGIvLT5kLyA9PiBhL3kgLT4gZC95CisjICAgICAgICAgICAgICAgKiBCIHJlbmFtZXMgYS95IHRvIGMveSwgYW5kIEEgcmVuYW1lcyBjLy0+ZC8gPT4gYS95IC0+IGQveQorIyAgICAgICAgICAgICAgIE5vIGNvbmZsaWN0IGluIHdoZXJlIGEveSBlbmRzIHVwLCBzbyBwdXQgaXQgaW4gZC95LgorCit0ZXN0X3NldHVwXzEzZCAoKSB7CisJdGVzdF9jcmVhdGVfcmVwbyAxM2RfJDEgJiYKKwkoCisJCWNkIDEzZF8kMSAmJgorCisJCW1rZGlyIGEgJiYKKwkJbWtkaXIgYiAmJgorCQlta2RpciBjICYmCisJCWVjaG8geiA+YS96ICYmCisJCWVjaG8geSA+YS95ICYmCisJCWVjaG8geCA+Yi94ICYmCisJCWVjaG8gdyA+Yy93ICYmCisJCWdpdCBhZGQgYSBiIGMgJiYKKwkJdGVzdF90aWNrICYmCisJCWdpdCBjb21taXQgLW0gIk8iICYmCisKKwkJZ2l0IGJyYW5jaCBPICYmCisJCWdpdCBicmFuY2ggQSAmJgorCQlnaXQgYnJhbmNoIEIgJiYKKworCQlnaXQgY2hlY2tvdXQgQSAmJgorCQlnaXQgbXYgYS95IGIvICYmCisJCWdpdCBtdiBjLyBkLyAmJgorCQl0ZXN0X3RpY2sgJiYKKwkJZ2l0IGNvbW1pdCAtbSAiQSIgJiYKKworCQlnaXQgY2hlY2tvdXQgQiAmJgorCQlnaXQgbXYgYS95IGMvICYmCisJCWdpdCBtdiBiLyBkLyAmJgorCQl0ZXN0X3RpY2sgJiYKKwkJZ2l0IGNvbW1pdCAtbSAiQiIKKwkpCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzEzZChjb25mbGljdCk6IG1lc3NhZ2VzIGZvciByZW5hbWUvcmVuYW1lKDF0bzEpIHZpYSBkdWFsIHRyYW5zaXRpdmUgcmVuYW1lJyAnCisJdGVzdF9zZXR1cF8xM2QgY29uZmxpY3QgJiYKKwkoCisJCWNkIDEzZF9jb25mbGljdCAmJgorCisJCWdpdCBjaGVja291dCBBXjAgJiYKKworCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCisKKwkJdGVzdF9pMThuZ3JlcCBDT05GTElDVC4uZmlsZS5sb2NhdGlvbi4qYS95LnJlbmFtZWQudG8uYi95Liptb3ZlZC50by5kL3kgb3V0ICYmCisJCXRlc3RfaTE4bmdyZXAgQ09ORkxJQ1QuLmZpbGUubG9jYXRpb24uKmEveS5yZW5hbWVkLnRvLmMveS4qbW92ZWQudG8uZC95IG91dCAmJgorCisJCWdpdCBscy1maWxlcyA+cGF0aHMgJiYKKwkJISBncmVwIGIvIHBhdGhzICYmCisJCSEgZ3JlcCBjLyBwYXRocyAmJgorCQlncmVwICJkL3kiIHBhdGhzICYmCisKKwkJdGVzdF9wYXRoX2lzX21pc3NpbmcgYi95ICYmCisJCXRlc3RfcGF0aF9pc19taXNzaW5nIGMveSAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSAgICBkL3kKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzEzZChpbmZvKTogbWVzc2FnZXMgZm9yIHJlbmFtZS9yZW5hbWUoMXRvMSkgdmlhIGR1YWwgdHJhbnNpdGl2ZSByZW5hbWUnICcKKwl0ZXN0X3NldHVwXzEzZCBpbmZvICYmCisJKAorCQljZCAxM2RfaW5mbyAmJgorCisJCWdpdCByZXNldCAtLWhhcmQgJiYKKwkJZ2l0IGNoZWNrb3V0IEFeMCAmJgorCisJCWdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCisKKwkJdGVzdF9pMThuZ3JlcCBQYXRoLnVwZGF0ZWQuKmEveS5yZW5hbWVkLnRvLmIveS4qbW92aW5nLml0LnRvLmQveSBvdXQgJiYKKwkJdGVzdF9pMThuZ3JlcCBQYXRoLnVwZGF0ZWQuKmEveS5yZW5hbWVkLnRvLmMveS4qbW92aW5nLml0LnRvLmQveSBvdXQgJiYKKworCQlnaXQgbHMtZmlsZXMgPnBhdGhzICYmCisJCSEgZ3JlcCBiLyBwYXRocyAmJgorCQkhIGdyZXAgYy8gcGF0aHMgJiYKKwkJZ3JlcCAiZC95IiBwYXRocyAmJgorCisJCXRlc3RfcGF0aF9pc19taXNzaW5nIGIveSAmJgorCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyBjL3kgJiYKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgICAgZC95CisJKQorJworCisjIFRlc3RjYXNlIDEzZSwgZGlyZWN0b3J5IHJlbmFtZSBpbiB2aXJ0dWFsIG1lcmdlIGJhc2UKKyMKKyMgVGhpcyB0ZXN0Y2FzZSBoYXMgYSBzbGlnaHRseSBkaWZmZXJlbnQgc2V0dXAgdGhhbiBhbGwgdGhlIGFib3ZlIGNhc2VzLCBpbgorIyBvcmRlciB0byBpbmNsdWRlIGEgcmVjdXJzaXZlIGNhc2U6CisjCisjICAgICAgQSAgIEMKKyMgICAgICBvIC0gbworIyAgICAgLyBcIC8gXAorIyAgTyBvICAgWCAgID8KKyMgICAgIFwgLyBcIC8KKyMgICAgICBvICAgbworIyAgICAgIEIgICBECisjCisjICAgQ29tbWl0IE86IGEve3oseX0KKyMgICBDb21taXQgQTogYi97eix5fQorIyAgIENvbW1pdCBCOiBhL3t6LHkseH0KKyMgICBDb21taXQgQzogYi97eix5LHh9CisjICAgQ29tbWl0IEQ6IGIve3oseX0sIGEveAorIyAgIEV4cGVjdGVkOiBiL3t6LHkseH0gIChzb3J0IG9mOyBzZWUgYmVsb3cgZm9yIHdoeSB0aGlzIG1pZ2h0IG5vdCBiZSBleHBlY3RlZCkKKyMKKyMgICBOT1RFUzogJ1gnIHJlcHJlc2VudHMgYSB2aXJ0dWFsIG1lcmdlIGJhc2UuICBXaXRoIHRoZSBkZWZhdWx0IG9mCisjICAgICAgICAgIGRpcmVjdG9yeSByZW5hbWUgZGV0ZWN0aW9uIHlpZWxkaW5nIGNvbmZsaWN0cywgbWVyZ2luZyBBIGFuZCBCCisjICAgICAgICAgIHJlc3VsdHMgaW4gYSBjb25mbGljdCBjb21wbGFpbmluZyBhYm91dCB3aGV0aGVyICd4JyBzaG91bGQgYmUKKyMgICAgICAgICAgdW5kZXIgJ2EvJyBvciAnYi8nLiAgSG93ZXZlciwgd2hlbiBjcmVhdGluZyB0aGUgdmlydHVhbCBtZXJnZQorIyAgICAgICAgICBiYXNlICdYJywgc2luY2UgdmlydHVhbCBtZXJnZSBiYXNlcyBuZWVkIHRvIGJlIHdyaXR0ZW4gb3V0IGFzIGEKKyMgICAgICAgICAgdHJlZSwgd2UgY2Fubm90IGhhdmUgYSBjb25mbGljdCwgc28gc29tZSByZXNvbHV0aW9uIGhhcyB0byBiZQorIyAgICAgICAgICBwaWNrZWQuCisjCisjICAgICAgICAgIEluIGNob29zaW5nIHRoZSByaWdodCByZXNvbHV0aW9uLCBpdCdzIHdvcnRoIG5vdGluZyBoZXJlIHRoYXQKKyMgICAgICAgICAgY29tbWl0cyBDICYgRCBhcmUgbWVyZ2VzIG9mIEEgJiBCIHRoYXQgY2hvb3NlIGRpZmZlcmVudAorIyAgICAgICAgICBsb2NhdGlvbnMgZm9yICd4JyAoaS5lLiB0aGV5IHJlc29sdmUgdGhlIGNvbmZsaWN0IGRpZmZlcmVudGx5KSwKKyMgICAgICAgICAgYW5kIHNvIGl0IHdvdWxkIGJlIG5pY2Ugd2hlbiBtZXJnaW5nIEMgJiBEIGlmIGdpdCBjb3VsZCBkZXRlY3QKKyMgICAgICAgICAgdGhpcyBkaWZmZXJlbmNlIG9mIG9waW5pb24gYW5kIHJlcG9ydCBhIGNvbmZsaWN0LiAgQnV0IHRoZSBvbmx5CisjICAgICAgICAgIHdheSB0byBkbyBzbyB0aGF0IEkgY2FuIHRoaW5rIG9mIHdvdWxkIGJlIHRvIGhhdmUgdGhlIHZpcnR1YWwKKyMgICAgICAgICAgbWVyZ2UgYmFzZSBwbGFjZSAneCcgaW4gc29tZSBkaXJlY3Rvcnkgb3RoZXIgdGhhbiBlaXRoZXIgJ2EvJyBvcgorIyAgICAgICAgICAnYi8nLCB3aGljaCBzZWVtcyBhIGxpdHRsZSB3ZWlyZCAtLSBlc3BlY2lhbGx5IHNpbmNlIGl0J2QgcmVzdWx0CisjICAgICAgICAgIGluIGEgcmVuYW1lL3JlbmFtZSgxdG8yKSBjb25mbGljdCB3aXRoIGEgc291cmNlIHBhdGggdGhhdCBuZXZlcgorIyAgICAgICAgICBleGlzdGVkIGluIGFueSB2ZXJzaW9uLgorIworIyAgICAgICAgICBTbywgZm9yIG5vdywgd2hlbiBkaXJlY3RvcnkgcmVuYW1lIGRldGVjdGlvbiBpcyBzZXQgdG8KKyMgICAgICAgICAgJ2NvbmZsaWN0JyBqdXN0IGF2b2lkIGRvaW5nIGRpcmVjdG9yeSByZW5hbWUgZGV0ZWN0aW9uIGF0IGFsbCBpbgorIyAgICAgICAgICB0aGUgcmVjdXJzaXZlIGNhc2UuICBUaGlzIHdpbGwgbm90IGFsbG93IHVzIHRvIGRldGVjdCBhIGNvbmZsaWN0CisjICAgICAgICAgIGluIHRoZSBvdXRlciBtZXJnZSBmb3IgdGhpcyBzcGVjaWFsIGtpbmQgb2Ygc2V0dXAsIGJ1dCBpdCBhdAorIyAgICAgICAgICBsZWFzdCBhdm9pZHMgaGl0dGluZyBhIEJVRygpLgorIwordGVzdF9zZXR1cF8xM2UgKCkgeworCXRlc3RfY3JlYXRlX3JlcG8gMTNlICYmCisJKAorCQljZCAxM2UgJiYKKworCQlta2RpciBhICYmCisJCWVjaG8geiA+YS96ICYmCisJCWVjaG8geSA+YS95ICYmCisJCWdpdCBhZGQgYSAmJgorCQl0ZXN0X3RpY2sgJiYKKwkJZ2l0IGNvbW1pdCAtbSAiTyIgJiYKKworCQlnaXQgYnJhbmNoIE8gJiYKKwkJZ2l0IGJyYW5jaCBBICYmCisJCWdpdCBicmFuY2ggQiAmJgorCisJCWdpdCBjaGVja291dCBBICYmCisJCWdpdCBtdiBhLyBiLyAmJgorCQl0ZXN0X3RpY2sgJiYKKwkJZ2l0IGNvbW1pdCAtbSAiQSIgJiYKKworCQlnaXQgY2hlY2tvdXQgQiAmJgorCQllY2hvIHggPmEveCAmJgorCQlnaXQgYWRkIGEgJiYKKwkJdGVzdF90aWNrICYmCisJCWdpdCBjb21taXQgLW0gIkIiICYmCisKKwkJZ2l0IGJyYW5jaCBDIEEgJiYKKwkJZ2l0IGJyYW5jaCBEIEIgJiYKKworCQlnaXQgY2hlY2tvdXQgQyAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz1jb25mbGljdCBtZXJnZSBCICYmCisJCWdpdCBhZGQgYi94ICYmCisJCXRlc3RfdGljayAmJgorCQlnaXQgY29tbWl0IC1tICJDIiAmJgorCisKKwkJZ2l0IGNoZWNrb3V0IEQgJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9Y29uZmxpY3QgbWVyZ2UgQSAmJgorCQlnaXQgYWRkIGIveCAmJgorCQlta2RpciBhICYmCisJCWdpdCBtdiBiL3ggYS94ICYmCisJCXRlc3RfdGljayAmJgorCQlnaXQgY29tbWl0IC1tICJEIgorCSkKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnMTNlOiBkaXJlY3RvcnkgcmVuYW1lIGRldGVjdGlvbiBpbiByZWN1cnNpdmUgY2FzZScgJworCXRlc3Rfc2V0dXBfMTNlICYmCisJKAorCQljZCAxM2UgJiYKKworCQlnaXQgY2hlY2tvdXQgLS1xdWlldCBEXjAgJiYKKworCQlnaXQgLWMgbWVyZ2UuZGlyZWN0b3J5UmVuYW1lcz1jb25mbGljdCBtZXJnZSAtcyByZWN1cnNpdmUgQ14wID5vdXQgMj5lcnIgJiYKKworCQl0ZXN0X2kxOG5ncmVwICEgQ09ORkxJQ1Qgb3V0ICYmCisJCXRlc3RfaTE4bmdyZXAgISBCVUc6IGVyciAmJgorCQl0ZXN0X2kxOG5ncmVwICEgY29yZS5kdW1wZWQgZXJyICYmCisJCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIgJiYKKworCQlnaXQgbHMtZmlsZXMgPnBhdGhzICYmCisJCSEgZ3JlcCBhL3ggcGF0aHMgJiYKKwkJZ3JlcCBiL3ggcGF0aHMKKwkpCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NjA0Ni1tZXJnZS1za2lwLXVubmVlZGVkLXVwZGF0ZXMuc2ggYi90L3Q2MDQ2LW1lcmdlLXNraXAtdW5uZWVkZWQtdXBkYXRlcy5zaAppbmRleCAzOGUyNGY3Li45NjIwMzBlIDEwMDc1NQotLS0gYS90L3Q2MDQ2LW1lcmdlLXNraXAtdW5uZWVkZWQtdXBkYXRlcy5zaAorKysgYi90L3Q2MDQ2LW1lcmdlLXNraXAtdW5uZWVkZWQtdXBkYXRlcy5zaApAQCAtMzYsMTAgKzM2LDEwIEBACiAjICAgQ29tbWl0IEI6IGJfMwogIyAgIEV4cGVjdGVkOiBiXzIKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnMWEtc2V0dXA6IE1vZGlmeShBKS9Nb2RpZnkoQiksIGNoYW5nZSBvbiBCIHN1YnNldCBvZiBBJyAnCi0JdGVzdF9jcmVhdGVfcmVwbyAxYSAmJgordGVzdF9zZXR1cF8xYSAoKSB7CisJdGVzdF9jcmVhdGVfcmVwbyAxYV8kMSAmJgogCSgKLQkJY2QgMWEgJiYKKwkJY2QgMWFfJDEgJiYKIAogCQl0ZXN0X3dyaXRlX2xpbmVzIDEgMiAzIDQgNSA2IDcgOCA5IDEwID5iICYmCiAJCWdpdCBhZGQgYiAmJgpAQCAtNjIsMjYgKzYyLDI1IEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tICJCIgogCSkKLScKK30KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnMWEtY2hlY2stTDogTW9kaWZ5KEEpL01vZGlmeShCKSwgY2hhbmdlIG9uIEIgc3Vic2V0IG9mIEEnICcKLQl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCAtQyAxYSByZXNldCAtLWhhcmQiICYmCi0JdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgLUMgMWEgY2xlYW4gLWZkIiAmJgordGVzdF9leHBlY3Rfc3VjY2VzcyAnMWEtTDogTW9kaWZ5KEEpL01vZGlmeShCKSwgY2hhbmdlIG9uIEIgc3Vic2V0IG9mIEEnICcKKwl0ZXN0X3NldHVwXzFhIEwgJiYKIAkoCi0JCWNkIDFhICYmCisJCWNkIDFhX0wgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKLQkJdGVzdC10b29sIGNobXRpbWUgPTMxMzM3IGIgJiYKLQkJdGVzdC10b29sIGNobXRpbWUgLXYgKzAgYiA+ZXhwZWN0ZWQtbXRpbWUgJiYKKwkJdGVzdC10b29sIGNobXRpbWUgPS0xIGIgJiYKKwkJdGVzdC10b29sIGNobXRpbWUgLS1nZXQgYiA+b2xkLW10aW1lICYmCiAKIAkJR0lUX01FUkdFX1ZFUkJPU0lUWT0zIGdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgMj5lcnIgJiYKIAotCQl0ZXN0X2kxOG5ncmVwICJTa2lwcGVkIGIiIG91dCAmJgogCQl0ZXN0X211c3RfYmVfZW1wdHkgZXJyICYmCiAKLQkJdGVzdC10b29sIGNobXRpbWUgLXYgKzAgYiA+YWN0dWFsLW10aW1lICYmCi0JCXRlc3RfY21wIGV4cGVjdGVkLW10aW1lIGFjdHVhbC1tdGltZSAmJgorCQkjIE1ha2Ugc3VyZSBiIHdhcyBOT1QgdXBkYXRlZAorCQl0ZXN0LXRvb2wgY2htdGltZSAtLWdldCBiID5uZXctbXRpbWUgJiYKKwkJdGVzdF9jbXAgb2xkLW10aW1lIG5ldy1tdGltZSAmJgogCiAJCWdpdCBscy1maWxlcyAtcyA+aW5kZXhfZmlsZXMgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gMSBpbmRleF9maWxlcyAmJgpAQCAtOTYsMTcgKzk1LDIxIEBACiAJKQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcxYS1jaGVjay1SOiBNb2RpZnkoQSkvTW9kaWZ5KEIpLCBjaGFuZ2Ugb24gQiBzdWJzZXQgb2YgQScgJwotCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IC1DIDFhIHJlc2V0IC0taGFyZCIgJiYKLQl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCAtQyAxYSBjbGVhbiAtZmQiICYmCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcxYS1SOiBNb2RpZnkoQSkvTW9kaWZ5KEIpLCBjaGFuZ2Ugb24gQiBzdWJzZXQgb2YgQScgJworCXRlc3Rfc2V0dXBfMWEgUiAmJgogCSgKLQkJY2QgMWEgJiYKKwkJY2QgMWFfUiAmJgogCiAJCWdpdCBjaGVja291dCBCXjAgJiYKIAorCQl0ZXN0LXRvb2wgY2htdGltZSA9LTEgYiAmJgorCQl0ZXN0LXRvb2wgY2htdGltZSAtLWdldCBiID5vbGQtbXRpbWUgJiYKIAkJR0lUX01FUkdFX1ZFUkJPU0lUWT0zIGdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQV4wID5vdXQgMj5lcnIgJiYKIAotCQl0ZXN0X2kxOG5ncmVwICJBdXRvLW1lcmdpbmcgYiIgb3V0ICYmCisJCSMgTWFrZSBzdXJlIGIgV0FTIHVwZGF0ZWQKKwkJdGVzdC10b29sIGNobXRpbWUgLS1nZXQgYiA+bmV3LW10aW1lICYmCisJCXRlc3QgJChjYXQgb2xkLW10aW1lKSAtbHQgJChjYXQgbmV3LW10aW1lKSAmJgorCiAJCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIgJiYKIAogCQlnaXQgbHMtZmlsZXMgLXMgPmluZGV4X2ZpbGVzICYmCkBAIC0xMzMsMTAgKzEzNiwxMCBAQAogIyAgIENvbW1pdCBCOiBjXzEKICMgICBFeHBlY3RlZDogY18yCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzJhLXNldHVwOiBNb2RpZnkoQSkvcmVuYW1lKEIpJyAnCi0JdGVzdF9jcmVhdGVfcmVwbyAyYSAmJgordGVzdF9zZXR1cF8yYSAoKSB7CisJdGVzdF9jcmVhdGVfcmVwbyAyYV8kMSAmJgogCSgKLQkJY2QgMmEgJiYKKwkJY2QgMmFfJDEgJiYKIAogCQl0ZXN0X3NlcSAxIDEwID5iICYmCiAJCWdpdCBhZGQgYiAmJgpAQCAtMTU4LDIwICsxNjEsMTkgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcyYS1jaGVjay1MOiBNb2RpZnkvcmVuYW1lLCBtZXJnZSBpbnRvIG1vZGlmeSBzaWRlJyAnCi0JdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgLUMgMmEgcmVzZXQgLS1oYXJkIiAmJgotCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IC1DIDJhIGNsZWFuIC1mZCIgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzJhLUw6IE1vZGlmeS9yZW5hbWUsIG1lcmdlIGludG8gbW9kaWZ5IHNpZGUnICcKKwl0ZXN0X3NldHVwXzJhIEwgJiYKIAkoCi0JCWNkIDJhICYmCisJCWNkIDJhX0wgJiYKIAogCQlnaXQgY2hlY2tvdXQgQV4wICYmCiAKKwkJdGVzdF9wYXRoX2lzX21pc3NpbmcgYyAmJgogCQlHSVRfTUVSR0VfVkVSQk9TSVRZPTMgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAyPmVyciAmJgogCi0JCXRlc3RfaTE4bmdyZXAgISAiU2tpcHBlZCBjIiBvdXQgJiYKLQkJdGVzdF9tdXN0X2JlX2VtcHR5IGVyciAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSBjICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5pbmRleF9maWxlcyAmJgogCQl0ZXN0X2xpbmVfY291bnQgPSAxIGluZGV4X2ZpbGVzICYmCkBAIC0xODksMTcgKzE5MSwyMSBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnMmEtY2hlY2stUjogTW9kaWZ5L3JlbmFtZSwgbWVyZ2UgaW50byByZW5hbWUgc2lkZScgJwotCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IC1DIDJhIHJlc2V0IC0taGFyZCIgJiYKLQl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCAtQyAyYSBjbGVhbiAtZmQiICYmCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcyYS1SOiBNb2RpZnkvcmVuYW1lLCBtZXJnZSBpbnRvIHJlbmFtZSBzaWRlJyAnCisJdGVzdF9zZXR1cF8yYSBSICYmCiAJKAotCQljZCAyYSAmJgorCQljZCAyYV9SICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEJeMCAmJgogCisJCXRlc3QtdG9vbCBjaG10aW1lID0tMSBjICYmCisJCXRlc3QtdG9vbCBjaG10aW1lIC0tZ2V0IGMgPm9sZC1tdGltZSAmJgogCQlHSVRfTUVSR0VfVkVSQk9TSVRZPTMgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBBXjAgPm91dCAyPmVyciAmJgogCi0JCXRlc3RfaTE4bmdyZXAgISAiU2tpcHBlZCBjIiBvdXQgJiYKKwkJIyBNYWtlIHN1cmUgYyBXQVMgdXBkYXRlZAorCQl0ZXN0LXRvb2wgY2htdGltZSAtLWdldCBjID5uZXctbXRpbWUgJiYKKwkJdGVzdCAkKGNhdCBvbGQtbXRpbWUpIC1sdCAkKGNhdCBuZXctbXRpbWUpICYmCisKIAkJdGVzdF9tdXN0X2JlX2VtcHR5IGVyciAmJgogCiAJCWdpdCBscy1maWxlcyAtcyA+aW5kZXhfZmlsZXMgJiYKQEAgLTIyNCwxMCArMjMwLDEwIEBACiAjICAgQ29tbWl0IEI6IGJfMwogIyAgIEV4cGVjdGVkOiBjXzIKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnMmItc2V0dXA6IFJlbmFtZStNb2QoQSkvTW9kKEIpLCBCIG1vZHMgc3Vic2V0IG9mIEEnICcKLQl0ZXN0X2NyZWF0ZV9yZXBvIDJiICYmCit0ZXN0X3NldHVwXzJiICgpIHsKKwl0ZXN0X2NyZWF0ZV9yZXBvIDJiXyQxICYmCiAJKAotCQljZCAyYiAmJgorCQljZCAyYl8kMSAmJgogCiAJCXRlc3Rfd3JpdGVfbGluZXMgMSAyIDMgNCA1IDYgNyA4IDkgMTAgPmIgJiYKIAkJZ2l0IGFkZCBiICYmCkBAIC0yNTEsMjYgKzI1NywyNCBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzJiLWNoZWNrLUw6IFJlbmFtZStNb2QoQSkvTW9kKEIpLCBCIG1vZHMgc3Vic2V0IG9mIEEnICcKLQl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCAtQyAyYiByZXNldCAtLWhhcmQiICYmCi0JdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgLUMgMmIgY2xlYW4gLWZkIiAmJgordGVzdF9leHBlY3Rfc3VjY2VzcyAnMmItTDogUmVuYW1lK01vZChBKS9Nb2QoQiksIEIgbW9kcyBzdWJzZXQgb2YgQScgJworCXRlc3Rfc2V0dXBfMmIgTCAmJgogCSgKLQkJY2QgMmIgJiYKKwkJY2QgMmJfTCAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAotCQl0ZXN0LXRvb2wgY2htdGltZSA9MzEzMzcgYyAmJgotCQl0ZXN0LXRvb2wgY2htdGltZSAtdiArMCBjID5leHBlY3RlZC1tdGltZSAmJgotCisJCXRlc3QtdG9vbCBjaG10aW1lID0tMSBjICYmCisJCXRlc3QtdG9vbCBjaG10aW1lIC0tZ2V0IGMgPm9sZC1tdGltZSAmJgogCQlHSVRfTUVSR0VfVkVSQk9TSVRZPTMgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAyPmVyciAmJgogCi0JCXRlc3RfaTE4bmdyZXAgIlNraXBwZWQgYyIgb3V0ICYmCiAJCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIgJiYKIAotCQl0ZXN0LXRvb2wgY2htdGltZSAtdiArMCBjID5hY3R1YWwtbXRpbWUgJiYKLQkJdGVzdF9jbXAgZXhwZWN0ZWQtbXRpbWUgYWN0dWFsLW10aW1lICYmCisJCSMgTWFrZSBzdXJlIGMgV0FTIHVwZGF0ZWQKKwkJdGVzdC10b29sIGNobXRpbWUgLS1nZXQgYyA+bmV3LW10aW1lICYmCisJCXRlc3RfY21wIG9sZC1tdGltZSBuZXctbXRpbWUgJiYKIAogCQlnaXQgbHMtZmlsZXMgLXMgPmluZGV4X2ZpbGVzICYmCiAJCXRlc3RfbGluZV9jb3VudCA9IDEgaW5kZXhfZmlsZXMgJiYKQEAgLTI4OCwxNyArMjkyLDE5IEBACiAJKQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICcyYi1jaGVjay1SOiBSZW5hbWUrTW9kKEEpL01vZChCKSwgQiBtb2RzIHN1YnNldCBvZiBBJyAnCi0JdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgLUMgMmIgcmVzZXQgLS1oYXJkIiAmJgotCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IC1DIDJiIGNsZWFuIC1mZCIgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzJiLVI6IFJlbmFtZStNb2QoQSkvTW9kKEIpLCBCIG1vZHMgc3Vic2V0IG9mIEEnICcKKwl0ZXN0X3NldHVwXzJiIFIgJiYKIAkoCi0JCWNkIDJiICYmCisJCWNkIDJiX1IgJiYKIAogCQlnaXQgY2hlY2tvdXQgQl4wICYmCiAKKwkJdGVzdF9wYXRoX2lzX21pc3NpbmcgYyAmJgogCQlHSVRfTUVSR0VfVkVSQk9TSVRZPTMgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBBXjAgPm91dCAyPmVyciAmJgogCi0JCXRlc3RfaTE4bmdyZXAgIkF1dG8tbWVyZ2luZyBjIiBvdXQgJiYKKwkJIyBNYWtlIHN1cmUgYyBub3cgcHJlc2VudCAoYW5kIHRodXMgd2FzIHVwZGF0ZWQpCisJCXRlc3RfcGF0aF9pc19maWxlIGMgJiYKKwogCQl0ZXN0X211c3RfYmVfZW1wdHkgZXJyICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5pbmRleF9maWxlcyAmJgpAQCAtMzMyLDcgKzMzOCw3IEBACiAjICAgICAgICAgc2tpcCB0aGUgdXBkYXRlLCB0aGVuIHdlJ3JlIGluIHRyb3VibGUuICBUaGlzIHRlc3QgdmVyaWZpZXMgd2UgZG8KICMgICAgICAgICBub3QgbWFrZSB0aGF0IHBhcnRpY3VsYXIgbWlzdGFrZS4KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnMmMtc2V0dXA6IE1vZGlmeSBiICYgYWRkIGMgVlMgcmVuYW1lIGItPmMnICcKK3Rlc3Rfc2V0dXBfMmMgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gMmMgJiYKIAkoCiAJCWNkIDJjICYmCkBAIC0zNTgsMjEgKzM2NCwyNyBAQAogCQl0ZXN0X3RpY2sgJiYKIAkJZ2l0IGNvbW1pdCAtbSAiQiIKIAkpCi0nCit9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzJjLWNoZWNrOiBNb2RpZnkgYiAmIGFkZCBjIFZTIHJlbmFtZSBiLT5jJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICcyYzogTW9kaWZ5IGIgJiBhZGQgYyBWUyByZW5hbWUgYi0+YycgJworCXRlc3Rfc2V0dXBfMmMgJiYKIAkoCiAJCWNkIDJjICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEFeMCAmJgogCisJCXRlc3QtdG9vbCBjaG10aW1lID0tMSBjICYmCisJCXRlc3QtdG9vbCBjaG10aW1lIC0tZ2V0IGMgPm9sZC1tdGltZSAmJgogCQlHSVRfTUVSR0VfVkVSQk9TSVRZPTMgJiYKIAkJZXhwb3J0IEdJVF9NRVJHRV9WRVJCT1NJVFkgJiYKIAkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAyPmVyciAmJgogCiAJCXRlc3RfaTE4bmdyZXAgIkNPTkZMSUNUIChyZW5hbWUvYWRkKTogUmVuYW1lIGItPmMiIG91dCAmJgotCQl0ZXN0X2kxOG5ncmVwICEgIlNraXBwZWQgYyIgb3V0ICYmCi0JCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIKKwkJdGVzdF9tdXN0X2JlX2VtcHR5IGVyciAmJgorCisJCSMgTWFrZSBzdXJlIGMgV0FTIHVwZGF0ZWQKKwkJdGVzdC10b29sIGNobXRpbWUgLS1nZXQgYyA+bmV3LW10aW1lICYmCisJCXRlc3QgJChjYXQgb2xkLW10aW1lKSAtbHQgJChjYXQgbmV3LW10aW1lKQogCiAJCSMgRklYTUU6IHJlbmFtZS9hZGQgY29uZmxpY3RzIGFyZSBob3JyaWJseSBicm9rZW4gcmlnaHQgbm93OwogCQkjIHdoZW4gSSBnZXQgYmFjayB0byBteSBwYXRjaCBzZXJpZXMgZml4aW5nIGl0IGFuZApAQCAtNDI4LDEwICs0NDAsMTAgQEAKICMgICBDb21taXQgQjogYnFfMSwgYmFyL3doYXRldmVyCiAjICAgRXhwZWN0ZWQ6IGJhci97YnFfMiwgd2hhdGV2ZXJ9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzNhLXNldHVwOiBicV8xLT5mb28vYnFfMiBvbiBBLCBmb28vLT5iYXIvIG9uIEInICcKLQl0ZXN0X2NyZWF0ZV9yZXBvIDNhICYmCit0ZXN0X3NldHVwXzNhICgpIHsKKwl0ZXN0X2NyZWF0ZV9yZXBvIDNhXyQxICYmCiAJKAotCQljZCAzYSAmJgorCQljZCAzYV8kMSAmJgogCiAJCW1rZGlyIGZvbyAmJgogCQl0ZXN0X3NlcSAxIDEwID5icSAmJgpAQCAtNDU2LDIxICs0NjgsMjIgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICczYS1jaGVjay1MOiBicV8xLT5mb28vYnFfMiBvbiBBLCBmb28vLT5iYXIvIG9uIEInICcKLQl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCAtQyAzYSByZXNldCAtLWhhcmQiICYmCi0JdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgLUMgM2EgY2xlYW4gLWZkIiAmJgordGVzdF9leHBlY3Rfc3VjY2VzcyAnM2EtTDogYnFfMS0+Zm9vL2JxXzIgb24gQSwgZm9vLy0+YmFyLyBvbiBCJyAnCisJdGVzdF9zZXR1cF8zYSBMICYmCiAJKAotCQljZCAzYSAmJgorCQljZCAzYV9MICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEFeMCAmJgogCi0JCUdJVF9NRVJHRV9WRVJCT1NJVFk9MyBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCisJCXRlc3RfcGF0aF9pc19taXNzaW5nIGJhci9icSAmJgorCQlHSVRfTUVSR0VfVkVSQk9TSVRZPTMgZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgMj5lcnIgJiYKIAotCQl0ZXN0X2kxOG5ncmVwICEgIlNraXBwZWQgYmFyL2JxIiBvdXQgJiYKIAkJdGVzdF9tdXN0X2JlX2VtcHR5IGVyciAmJgogCisJCXRlc3RfcGF0aF9pc19maWxlIGJhci9icSAmJgorCiAJCWdpdCBscy1maWxlcyAtcyA+aW5kZXhfZmlsZXMgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gMiBpbmRleF9maWxlcyAmJgogCkBAIC00ODcsMTkgKzUwMCwyMCBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnM2EtY2hlY2stUjogYnFfMS0+Zm9vL2JxXzIgb24gQSwgZm9vLy0+YmFyLyBvbiBCJyAnCi0JdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgLUMgM2EgcmVzZXQgLS1oYXJkIiAmJgotCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IC1DIDNhIGNsZWFuIC1mZCIgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzNhLVI6IGJxXzEtPmZvby9icV8yIG9uIEEsIGZvby8tPmJhci8gb24gQicgJworCXRlc3Rfc2V0dXBfM2EgUiAmJgogCSgKLQkJY2QgM2EgJiYKKwkJY2QgM2FfUiAmJgogCiAJCWdpdCBjaGVja291dCBCXjAgJiYKIAotCQlHSVRfTUVSR0VfVkVSQk9TSVRZPTMgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBBXjAgPm91dCAyPmVyciAmJgorCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyBiYXIvYnEgJiYKKwkJR0lUX01FUkdFX1ZFUkJPU0lUWT0zIGdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEFeMCA+b3V0IDI+ZXJyICYmCiAKLQkJdGVzdF9pMThuZ3JlcCAhICJTa2lwcGVkIGJhci9icSIgb3V0ICYmCiAJCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIgJiYKIAorCQl0ZXN0X3BhdGhfaXNfZmlsZSBiYXIvYnEgJiYKKwogCQlnaXQgbHMtZmlsZXMgLXMgPmluZGV4X2ZpbGVzICYmCiAJCXRlc3RfbGluZV9jb3VudCA9IDIgaW5kZXhfZmlsZXMgJiYKIApAQCAtNTIyLDEwICs1MzYsMTAgQEAKICMgICBDb21taXQgQjogYnFfMiwgYmFyL3doYXRldmVyCiAjICAgRXhwZWN0ZWQ6IGJhci97YnFfMiwgd2hhdGV2ZXJ9CiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzNiLXNldHVwOiBicV8xLT5mb28vYnFfMiBvbiBBLCBmb28vLT5iYXIvIG9uIEInICcKLQl0ZXN0X2NyZWF0ZV9yZXBvIDNiICYmCit0ZXN0X3NldHVwXzNiICgpIHsKKwl0ZXN0X2NyZWF0ZV9yZXBvIDNiXyQxICYmCiAJKAotCQljZCAzYiAmJgorCQljZCAzYl8kMSAmJgogCiAJCW1rZGlyIGZvbyAmJgogCQl0ZXN0X3NlcSAxIDEwID5icSAmJgpAQCAtNTUwLDIxICs1NjQsMjIgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICczYi1jaGVjay1MOiBicV8xLT5mb28vYnFfMiBvbiBBLCBmb28vLT5iYXIvIG9uIEInICcKLQl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCAtQyAzYiByZXNldCAtLWhhcmQiICYmCi0JdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgLUMgM2IgY2xlYW4gLWZkIiAmJgordGVzdF9leHBlY3Rfc3VjY2VzcyAnM2ItTDogYnFfMS0+Zm9vL2JxXzIgb24gQSwgZm9vLy0+YmFyLyBvbiBCJyAnCisJdGVzdF9zZXR1cF8zYiBMICYmCiAJKAotCQljZCAzYiAmJgorCQljZCAzYl9MICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEFeMCAmJgogCi0JCUdJVF9NRVJHRV9WRVJCT1NJVFk9MyBnaXQgbWVyZ2UgLXMgcmVjdXJzaXZlIEJeMCA+b3V0IDI+ZXJyICYmCisJCXRlc3RfcGF0aF9pc19taXNzaW5nIGJhci9icSAmJgorCQlHSVRfTUVSR0VfVkVSQk9TSVRZPTMgZ2l0IC1jIG1lcmdlLmRpcmVjdG9yeVJlbmFtZXM9dHJ1ZSBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgMj5lcnIgJiYKIAotCQl0ZXN0X2kxOG5ncmVwICEgIlNraXBwZWQgYmFyL2JxIiBvdXQgJiYKIAkJdGVzdF9tdXN0X2JlX2VtcHR5IGVyciAmJgogCisJCXRlc3RfcGF0aF9pc19maWxlIGJhci9icSAmJgorCiAJCWdpdCBscy1maWxlcyAtcyA+aW5kZXhfZmlsZXMgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gMiBpbmRleF9maWxlcyAmJgogCkBAIC01ODEsMTkgKzU5NiwyMCBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnM2ItY2hlY2stUjogYnFfMS0+Zm9vL2JxXzIgb24gQSwgZm9vLy0+YmFyLyBvbiBCJyAnCi0JdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgLUMgM2IgcmVzZXQgLS1oYXJkIiAmJgotCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IC1DIDNiIGNsZWFuIC1mZCIgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzNiLVI6IGJxXzEtPmZvby9icV8yIG9uIEEsIGZvby8tPmJhci8gb24gQicgJworCXRlc3Rfc2V0dXBfM2IgUiAmJgogCSgKLQkJY2QgM2IgJiYKKwkJY2QgM2JfUiAmJgogCiAJCWdpdCBjaGVja291dCBCXjAgJiYKIAotCQlHSVRfTUVSR0VfVkVSQk9TSVRZPTMgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBBXjAgPm91dCAyPmVyciAmJgorCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyBiYXIvYnEgJiYKKwkJR0lUX01FUkdFX1ZFUkJPU0lUWT0zIGdpdCAtYyBtZXJnZS5kaXJlY3RvcnlSZW5hbWVzPXRydWUgbWVyZ2UgLXMgcmVjdXJzaXZlIEFeMCA+b3V0IDI+ZXJyICYmCiAKLQkJdGVzdF9pMThuZ3JlcCAhICJTa2lwcGVkIGJhci9icSIgb3V0ICYmCiAJCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIgJiYKIAorCQl0ZXN0X3BhdGhfaXNfZmlsZSBiYXIvYnEgJiYKKwogCQlnaXQgbHMtZmlsZXMgLXMgPmluZGV4X2ZpbGVzICYmCiAJCXRlc3RfbGluZV9jb3VudCA9IDIgaW5kZXhfZmlsZXMgJiYKIApAQCAtNjIxLDcgKzYzNyw3IEBACiAjICAgV29ya2luZyBjb3B5OiBiXzQKICMgICBFeHBlY3RlZDogYl8yIGZvciBtZXJnZSwgYl80IGluIHdvcmtpbmcgY29weQogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICc0YS1zZXR1cDogQ2hhbmdlIG9uIEEsIGNoYW5nZSBvbiBCIHN1YnNldCBvZiBBLCBkaXJ0eSBtb2RzIHByZXNlbnQnICcKK3Rlc3Rfc2V0dXBfNGEgKCkgewogCXRlc3RfY3JlYXRlX3JlcG8gNGEgJiYKIAkoCiAJCWNkIDRhICYmCkBAIC02NDcsNyArNjYzLDcgQEAKIAkJdGVzdF90aWNrICYmCiAJCWdpdCBjb21taXQgLW0gIkIiCiAJKQotJworfQogCiAjIE5PVEU6IEZvciBhcyBsb25nIGFzIHdlIGNvbnRpbnVlIHVzaW5nIHVucGFja190cmVlcygpIHdpdGhvdXQgaW5kZXhfb25seQogIyAgIHNldCB0byB0cnVlLCBpdCB3aWxsIGVycm9yIG91dCBvbiBhIGNhc2UgbGlrZSB0aGlzIGNsYWltaW5nIHRoZSB0aGUgbG9jYWxseQpAQCAtNjU1LDI1ICs2NzEsMjQgQEAKICMgICBjb3JyZWN0IHJlcXVpcmVzIGRvaW5nIHRoZSBtZXJnZSBpbi1tZW1vcnkgZmlyc3QsIHRoZW4gcmVhbGl6aW5nIHRoYXQgbm8KICMgICB1cGRhdGVzIHRvIHRoZSBmaWxlIGFyZSBuZWNlc3NhcnksIGFuZCB0aHVzIHRoYXQgd2UgY2FuIGp1c3QgbGVhdmUgdGhlIHBhdGgKICMgICBhbG9uZS4KLXRlc3RfZXhwZWN0X2ZhaWx1cmUgJzRhLWNoZWNrOiBDaGFuZ2Ugb24gQSwgY2hhbmdlIG9uIEIgc3Vic2V0IG9mIEEsIGRpcnR5IG1vZHMgcHJlc2VudCcgJwotCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IC1DIDRhIHJlc2V0IC0taGFyZCIgJiYKLQl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCAtQyA0YSBjbGVhbiAtZmQiICYmCit0ZXN0X2V4cGVjdF9mYWlsdXJlICc0YTogQ2hhbmdlIG9uIEEsIGNoYW5nZSBvbiBCIHN1YnNldCBvZiBBLCBkaXJ0eSBtb2RzIHByZXNlbnQnICcKKwl0ZXN0X3NldHVwXzRhICYmCiAJKAogCQljZCA0YSAmJgogCiAJCWdpdCBjaGVja291dCBBXjAgJiYKIAkJZWNobyAiRmlsZSByZXdyaXR0ZW4iID5iICYmCiAKLQkJdGVzdC10b29sIGNobXRpbWUgPTMxMzM3IGIgJiYKLQkJdGVzdC10b29sIGNobXRpbWUgLXYgKzAgYiA+ZXhwZWN0ZWQtbXRpbWUgJiYKKwkJdGVzdC10b29sIGNobXRpbWUgPS0xIGIgJiYKKwkJdGVzdC10b29sIGNobXRpbWUgLS1nZXQgYiA+b2xkLW10aW1lICYmCiAKIAkJR0lUX01FUkdFX1ZFUkJPU0lUWT0zIGdpdCBtZXJnZSAtcyByZWN1cnNpdmUgQl4wID5vdXQgMj5lcnIgJiYKIAotCQl0ZXN0X2kxOG5ncmVwICJTa2lwcGVkIGIiIG91dCAmJgogCQl0ZXN0X211c3RfYmVfZW1wdHkgZXJyICYmCiAKLQkJdGVzdC10b29sIGNobXRpbWUgLXYgKzAgYiA+YWN0dWFsLW10aW1lICYmCi0JCXRlc3RfY21wIGV4cGVjdGVkLW10aW1lIGFjdHVhbC1tdGltZSAmJgorCQkjIE1ha2Ugc3VyZSBiIHdhcyBOT1QgdXBkYXRlZAorCQl0ZXN0LXRvb2wgY2htdGltZSAtLWdldCBiID5uZXctbXRpbWUgJiYKKwkJdGVzdF9jbXAgb2xkLW10aW1lIG5ldy1tdGltZSAmJgogCiAJCWdpdCBscy1maWxlcyAtcyA+aW5kZXhfZmlsZXMgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gMSBpbmRleF9maWxlcyAmJgpAQCAtNjk1LDcgKzcxMCw3IEBACiAjICAgV29ya2luZyBjb3B5OiBjXzQKICMgICBFeHBlY3RlZDogY18yCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJzRiLXNldHVwOiBSZW5hbWUrTW9kKEEpL01vZChCKSwgY2hhbmdlIG9uIEIgc3Vic2V0IG9mIEEsIGRpcnR5IG1vZHMgcHJlc2VudCcgJwordGVzdF9zZXR1cF80YiAoKSB7CiAJdGVzdF9jcmVhdGVfcmVwbyA0YiAmJgogCSgKIAkJY2QgNGIgJiYKQEAgLTcyMiwyNyArNzM3LDI2IEBACiAJCXRlc3RfdGljayAmJgogCQlnaXQgY29tbWl0IC1tICJCIgogCSkKLScKK30KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnNGItY2hlY2s6IFJlbmFtZStNb2QoQSkvTW9kKEIpLCBjaGFuZ2Ugb24gQiBzdWJzZXQgb2YgQSwgZGlydHkgbW9kcyBwcmVzZW50JyAnCi0JdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgLUMgNGIgcmVzZXQgLS1oYXJkIiAmJgotCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IC1DIDRiIGNsZWFuIC1mZCIgJiYKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJzRiOiBSZW5hbWUrTW9kKEEpL01vZChCKSwgY2hhbmdlIG9uIEIgc3Vic2V0IG9mIEEsIGRpcnR5IG1vZHMgcHJlc2VudCcgJworCXRlc3Rfc2V0dXBfNGIgJiYKIAkoCiAJCWNkIDRiICYmCiAKIAkJZ2l0IGNoZWNrb3V0IEFeMCAmJgogCQllY2hvICJGaWxlIHJld3JpdHRlbiIgPmMgJiYKIAotCQl0ZXN0LXRvb2wgY2htdGltZSA9MzEzMzcgYyAmJgotCQl0ZXN0LXRvb2wgY2htdGltZSAtdiArMCBjID5leHBlY3RlZC1tdGltZSAmJgorCQl0ZXN0LXRvb2wgY2htdGltZSA9LTEgYyAmJgorCQl0ZXN0LXRvb2wgY2htdGltZSAtLWdldCBjID5vbGQtbXRpbWUgJiYKIAogCQlHSVRfTUVSR0VfVkVSQk9TSVRZPTMgZ2l0IG1lcmdlIC1zIHJlY3Vyc2l2ZSBCXjAgPm91dCAyPmVyciAmJgogCi0JCXRlc3RfaTE4bmdyZXAgIlNraXBwZWQgYyIgb3V0ICYmCiAJCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIgJiYKIAotCQl0ZXN0LXRvb2wgY2htdGltZSAtdiArMCBjID5hY3R1YWwtbXRpbWUgJiYKLQkJdGVzdF9jbXAgZXhwZWN0ZWQtbXRpbWUgYWN0dWFsLW10aW1lICYmCisJCSMgTWFrZSBzdXJlIGMgd2FzIE5PVCB1cGRhdGVkCisJCXRlc3QtdG9vbCBjaG10aW1lIC0tZ2V0IGMgPm5ldy1tdGltZSAmJgorCQl0ZXN0X2NtcCBvbGQtbXRpbWUgbmV3LW10aW1lICYmCiAKIAkJZ2l0IGxzLWZpbGVzIC1zID5pbmRleF9maWxlcyAmJgogCQl0ZXN0X2xpbmVfY291bnQgPSAxIGluZGV4X2ZpbGVzICYmCmRpZmYgLS1naXQgYS90L3Q2MDQ3LWRpZmYzLWNvbmZsaWN0LW1hcmtlcnMuc2ggYi90L3Q2MDQ3LWRpZmYzLWNvbmZsaWN0LW1hcmtlcnMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjQ2NTViYgotLS0gL2Rldi9udWxsCisrKyBiL3QvdDYwNDctZGlmZjMtY29uZmxpY3QtbWFya2Vycy5zaApAQCAtMCwwICsxLDIxMSBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J3JlY3Vyc2l2ZSBtZXJnZSBkaWZmMyBzdHlsZSBjb25mbGljdCBtYXJrZXJzJworCisuIC4vdGVzdC1saWIuc2gKKworIyBTZXR1cDoKKyMgICAgICAgICAgTDEKKyMgICAgICAgICAgICBcCisjICAgICAgICAgICAgID8KKyMgICAgICAgICAgICAvCisjICAgICAgICAgIFIxCisjCisjIFdoZXJlOgorIyAgIEwxIGFuZCBSMSBib3RoIGhhdmUgYSBmaWxlIG5hbWVkICdjb250ZW50JyBidXQgaGF2ZSBubyBjb21tb24gaGlzdG9yeQorIworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBubyBtZXJnZSBiYXNlJyAnCisJdGVzdF9jcmVhdGVfcmVwbyBub19tZXJnZV9iYXNlICYmCisJKAorCQljZCBub19tZXJnZV9iYXNlICYmCisKKwkJZ2l0IGNoZWNrb3V0IC1iIEwgJiYKKwkJdGVzdF9jb21taXQgQSBjb250ZW50IEEgJiYKKworCQlnaXQgY2hlY2tvdXQgLS1vcnBoYW4gUiAmJgorCQl0ZXN0X2NvbW1pdCBCIGNvbnRlbnQgQgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgbm8gbWVyZ2UgYmFzZScgJworCSgKKwkJY2Qgbm9fbWVyZ2VfYmFzZSAmJgorCisJCWdpdCBjaGVja291dCBMXjAgJiYKKworCQl0ZXN0X211c3RfZmFpbCBnaXQgLWMgbWVyZ2UuY29uZmxpY3RzdHlsZT1kaWZmMyBtZXJnZSAtLWFsbG93LXVucmVsYXRlZC1oaXN0b3JpZXMgLXMgcmVjdXJzaXZlIFJeMCAmJgorCisJCWdyZXAgInx8fHx8fCBlbXB0eSB0cmVlIiBjb250ZW50CisJKQorJworCisjIFNldHVwOgorIyAgICAgICAgICBMMQorIyAgICAgICAgIC8gIFwKKyMgICBtYXN0ZXIgICAgPworIyAgICAgICAgIFwgIC8KKyMgICAgICAgICAgUjEKKyMKKyMgV2hlcmU6CisjICAgTDEgYW5kIFIxIGhhdmUgbW9kaWZpZWQgdGhlIHNhbWUgZmlsZSAoJ2NvbnRlbnQnKSBpbiBjb25mbGljdGluZyB3YXlzCisjCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHVuaXF1ZSBtZXJnZSBiYXNlJyAnCisJdGVzdF9jcmVhdGVfcmVwbyB1bmlxdWVfbWVyZ2VfYmFzZSAmJgorCSgKKwkJY2QgdW5pcXVlX21lcmdlX2Jhc2UgJiYKKworCQl0ZXN0X2NvbW1pdCBiYXNlIGNvbnRlbnQgIjEKKzIKKzMKKzQKKzUKKyIgJiYKKworCQlnaXQgYnJhbmNoIEwgJiYKKwkJZ2l0IGJyYW5jaCBSICYmCisKKwkJZ2l0IGNoZWNrb3V0IEwgJiYKKwkJdGVzdF9jb21taXQgTCBjb250ZW50ICIxCisyCiszCis0Cis1Cis3IiAmJgorCisJCWdpdCBjaGVja291dCBSICYmCisJCWdpdCBybSBjb250ZW50ICYmCisJCXRlc3RfY29tbWl0IFIgcmVuYW1lZCAiMQorMgorMworNAorNQorc2l4IgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgdW5pcXVlIG1lcmdlIGJhc2UnICcKKwkoCisJCWNkIHVuaXF1ZV9tZXJnZV9iYXNlICYmCisKKwkJZ2l0IGNoZWNrb3V0IExeMCAmJgorCQlNQVNURVI9JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgbWFzdGVyKSAmJgorCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5jb25mbGljdHN0eWxlPWRpZmYzIG1lcmdlIC1zIHJlY3Vyc2l2ZSBSXjAgJiYKKworCQlncmVwICJ8fHx8fHwgJE1BU1RFUjpjb250ZW50IiByZW5hbWVkCisJKQorJworCisjIFNldHVwOgorIyAgICAgICAgICBMMS0tLUwyLS1MMworIyAgICAgICAgIC8gIFwgLyAgICAgIFwKKyMgICBtYXN0ZXIgICAgWDEgICAgICAgPworIyAgICAgICAgIFwgIC8gXCAgICAgIC8KKyMgICAgICAgICAgUjEtLS1SMi0tUjMKKyMKKyMgV2hlcmU6CisjICAgY29tbWl0cyBMMSBhbmQgUjEgaGF2ZSBtb2RpZmllZCB0aGUgc2FtZSBmaWxlIGluIG5vbi1jb25mbGljdGluZyB3YXlzCisjICAgWDEgaXMgYW4gYXV0by1nZW5lcmF0ZWQgbWVyZ2UtYmFzZSB1c2VkIHdoZW4gbWVyZ2luZyBMMSBhbmQgUjEKKyMgICBjb21taXRzIEwyIGFuZCBSMiBhcmUgbWVyZ2VzIG9mIFIxIGFuZCBMMSBpbnRvIEwxIGFuZCBSMSwgcmVzcGVjdGl2ZWx5CisjICAgY29tbWl0cyBMMyBhbmQgUjMgYm90aCBtb2RpZnkgJ2NvbnRlbnQnIGluIGNvbmZsaWN0aW5nIHdheXMKKyMKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgbXVsdGlwbGUgbWVyZ2UgYmFzZXMnICcKKwl0ZXN0X2NyZWF0ZV9yZXBvIG11bHRpcGxlX21lcmdlX2Jhc2VzICYmCisJKAorCQljZCBtdWx0aXBsZV9tZXJnZV9iYXNlcyAmJgorCisJCXRlc3RfY29tbWl0IGluaXRpYWwgY29udGVudCAiMQorMgorMworNAorNSIgJiYKKworCQlnaXQgYnJhbmNoIEwgJiYKKwkJZ2l0IGJyYW5jaCBSICYmCisKKwkJIyBDcmVhdGUgTDEKKwkJZ2l0IGNoZWNrb3V0IEwgJiYKKwkJdGVzdF9jb21taXQgTDEgY29udGVudCAiMAorMQorMgorMworNAorNSIgJiYKKworCQkjIENyZWF0ZSBSMQorCQlnaXQgY2hlY2tvdXQgUiAmJgorCQl0ZXN0X2NvbW1pdCBSMSBjb250ZW50ICIxCisyCiszCis0Cis1Cis2IiAmJgorCisJCSMgQ3JlYXRlIEwyCisJCWdpdCBjaGVja291dCBMICYmCisJCWdpdCBtZXJnZSBSMSAmJgorCisJCSMgQ3JlYXRlIFIyCisJCWdpdCBjaGVja291dCBSICYmCisJCWdpdCBtZXJnZSBMMSAmJgorCisJCSMgQ3JlYXRlIEwzCisJCWdpdCBjaGVja291dCBMICYmCisJCXRlc3RfY29tbWl0IEwzIGNvbnRlbnQgIjAKKzEKKzIKKzMKKzQKKzUKK0EiICYmCisKKwkJIyBDcmVhdGUgUjMKKwkJZ2l0IGNoZWNrb3V0IFIgJiYKKwkJZ2l0IHJtIGNvbnRlbnQgJiYKKwkJdGVzdF9jb21taXQgUjMgcmVuYW1lZCAiMAorMgorMworNAorNQorc2l4IgorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgbXVsdGlwbGUgbWVyZ2UgYmFzZXMnICcKKwkoCisJCWNkIG11bHRpcGxlX21lcmdlX2Jhc2VzICYmCisKKwkJZ2l0IGNoZWNrb3V0IExeMCAmJgorCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5jb25mbGljdHN0eWxlPWRpZmYzIG1lcmdlIC1zIHJlY3Vyc2l2ZSBSXjAgJiYKKworCQlncmVwICJ8fHx8fHwgbWVyZ2VkIGNvbW1vbiBhbmNlc3RvcnM6Y29udGVudCIgcmVuYW1lZAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC0tbWVyZ2UgZGVzY3JpYmVzIHBhcmVudCBvZiBjb21taXQgYmVpbmcgcGlja2VkJyAnCisJdGVzdF9jcmVhdGVfcmVwbyByZWJhc2UgJiYKKwkoCisJCWNkIHJlYmFzZSAmJgorCQl0ZXN0X2NvbW1pdCBiYXNlIGZpbGUgJiYKKwkJdGVzdF9jb21taXQgbWFzdGVyIGZpbGUgJiYKKwkJZ2l0IGNoZWNrb3V0IC1iIHNpZGUgSEVBRF4gJiYKKwkJdGVzdF9jb21taXQgc2lkZSBmaWxlICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBtZXJnZS5jb25mbGljdHN0eWxlPWRpZmYzIHJlYmFzZSAtLW1lcmdlIG1hc3RlciAmJgorCQlncmVwICJ8fHx8fHx8IHBhcmVudCBvZiIgZmlsZQorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncmViYXNlIC0tYXBwbHkgZGVzY3JpYmVzIGZha2UgYW5jZXN0b3IgYmFzZScgJworCSgKKwkJY2QgcmViYXNlICYmCisJCWdpdCByZWJhc2UgLS1hYm9ydCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgLWMgbWVyZ2UuY29uZmxpY3RzdHlsZT1kaWZmMyByZWJhc2UgLS1hcHBseSBtYXN0ZXIgJiYKKwkJZ3JlcCAifHx8fHx8fCBjb25zdHJ1Y3RlZCBtZXJnZSBiYXNlIiBmaWxlCisJKQorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDYwNTAtcmVwbGFjZS5zaCBiL3QvdDYwNTAtcmVwbGFjZS5zaAppbmRleCA1ZDZkMzE4Li5lN2U2NGUwIDEwMDc1NQotLS0gYS90L3Q2MDUwLXJlcGxhY2Uuc2gKKysrIGIvdC90NjA1MC1yZXBsYWNlLnNoCkBAIC00MCw3ICs0MCw4IEBACiAJdGVzdCAiJF9mb3VuZCIgPSAiJF9wYXJlbnQiIHx8IHJldHVybiAxCiAJX3BhcmVudF9udW1iZXI9JCgoICRfcGFyZW50X251bWJlciArIDEgKSkKICAgICBkb25lICYmCi0gICAgdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAkX2NvbW1pdF4kX3BhcmVudF9udW1iZXIKKyAgICB0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5ICRfY29tbWl0XiRfcGFyZW50X251bWJlciAyPmVyciAmJgorICAgIHRlc3RfaTE4bmdyZXAgIk5lZWRlZCBhIHNpbmdsZSByZXZpc2lvbiIgZXJyCiB9CiAKIGNvbW1pdF9oYXNfcGFyZW50cyAoKQpAQCAtMTMzLDggKzEzNCw4IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJyJnaXQgZnNjayIgd29ya3MnICcKICAgICAgZ2l0IGZzY2sgbWFzdGVyID5mc2NrX21hc3Rlci5vdXQgJiYKLSAgICAgZ3JlcCAiZGFuZ2xpbmcgY29tbWl0ICRSIiBmc2NrX21hc3Rlci5vdXQgJiYKLSAgICAgZ3JlcCAiZGFuZ2xpbmcgdGFnICQoY2F0IC5naXQvcmVmcy90YWdzL215dGFnKSIgZnNja19tYXN0ZXIub3V0ICYmCisgICAgIHRlc3RfaTE4bmdyZXAgImRhbmdsaW5nIGNvbW1pdCAkUiIgZnNja19tYXN0ZXIub3V0ICYmCisgICAgIHRlc3RfaTE4bmdyZXAgImRhbmdsaW5nIHRhZyAkKGNhdCAuZ2l0L3JlZnMvdGFncy9teXRhZykiIGZzY2tfbWFzdGVyLm91dCAmJgogICAgICB0ZXN0IC16ICIkKGdpdCBmc2NrKSIKICcKIApAQCAtMzkzLDkgKzM5NCwxMSBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICctLWdyYWZ0IHdpdGggYW5kIHdpdGhvdXQgYWxyZWFkeSByZXBsYWNlZCBvYmplY3QnICcKLQl0ZXN0ICQoZ2l0IGxvZyAtLW9uZWxpbmUgfCB3YyAtbCkgPSA3ICYmCisJZ2l0IGxvZyAtLW9uZWxpbmUgPmxvZyAmJgorCXRlc3RfbGluZV9jb3VudCA9IDcgbG9nICYmCiAJZ2l0IHJlcGxhY2UgLS1ncmFmdCAkSEFTSDUgJiYKLQl0ZXN0ICQoZ2l0IGxvZyAtLW9uZWxpbmUgfCB3YyAtbCkgPSAzICYmCisJZ2l0IGxvZyAtLW9uZWxpbmUgPmxvZyAmJgorCXRlc3RfbGluZV9jb3VudCA9IDMgbG9nICYmCiAJY29tbWl0X2hhc19wYXJlbnRzICRIQVNINSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCByZXBsYWNlIC0tZ3JhZnQgJEhBU0g1ICRIQVNINCAkSEFTSDMgJiYKIAlnaXQgcmVwbGFjZSAtLWZvcmNlIC1nICRIQVNINSAkSEFTSDQgJEhBU0gzICYmCkBAIC00MDMsNiArNDA2LDI4IEBACiAJZ2l0IHJlcGxhY2UgLWQgJEhBU0g1CiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tZ3JhZnQgdXNpbmcgYSB0YWcgYXMgdGhlIG5ldyBwYXJlbnQnICcKKwlnaXQgdGFnIG5ld19wYXJlbnQgJEhBU0g1ICYmCisJZ2l0IHJlcGxhY2UgLS1ncmFmdCAkSEFTSDcgbmV3X3BhcmVudCAmJgorCWNvbW1pdF9oYXNfcGFyZW50cyAkSEFTSDcgJEhBU0g1ICYmCisJZ2l0IHJlcGxhY2UgLWQgJEhBU0g3ICYmCisJZ2l0IHRhZyAtYSAtbSAiYW5ub3RhdGVkIG5ldyBwYXJlbnQgdGFnIiBhbm5vdGF0ZWRfbmV3X3BhcmVudCAkSEFTSDUgJiYKKwlnaXQgcmVwbGFjZSAtLWdyYWZ0ICRIQVNINyBhbm5vdGF0ZWRfbmV3X3BhcmVudCAmJgorCWNvbW1pdF9oYXNfcGFyZW50cyAkSEFTSDcgJEhBU0g1ICYmCisJZ2l0IHJlcGxhY2UgLWQgJEhBU0g3CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tZ3JhZnQgdXNpbmcgYSB0YWcgYXMgdGhlIHJlcGxhY2VkIG9iamVjdCcgJworCWdpdCB0YWcgcmVwbGFjZWRfb2JqZWN0ICRIQVNINyAmJgorCWdpdCByZXBsYWNlIC0tZ3JhZnQgcmVwbGFjZWRfb2JqZWN0ICRIQVNINSAmJgorCWNvbW1pdF9oYXNfcGFyZW50cyAkSEFTSDcgJEhBU0g1ICYmCisJZ2l0IHJlcGxhY2UgLWQgJEhBU0g3ICYmCisJZ2l0IHRhZyAtYSAtbSAiYW5ub3RhdGVkIHJlcGxhY2VkIG9iamVjdCB0YWciIGFubm90YXRlZF9yZXBsYWNlZF9vYmplY3QgJEhBU0g3ICYmCisJZ2l0IHJlcGxhY2UgLS1ncmFmdCBhbm5vdGF0ZWRfcmVwbGFjZWRfb2JqZWN0ICRIQVNINSAmJgorCWNvbW1pdF9oYXNfcGFyZW50cyAkSEFTSDcgJEhBU0g1ICYmCisJZ2l0IHJlcGxhY2UgLWQgJEhBU0g3CisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHICdzZXQgdXAgYSBzaWduZWQgY29tbWl0JyAnCiAJZWNobyAibGluZSAxNyIgPj5oZWxsbyAmJgogCWVjaG8gImxpbmUgMTgiID4+aGVsbG8gJiYKZGlmZiAtLWdpdCBhL3QvdDYxMDItcmV2LWxpc3QtdW5leHBlY3RlZC1vYmplY3RzLnNoIGIvdC90NjEwMi1yZXYtbGlzdC11bmV4cGVjdGVkLW9iamVjdHMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTJjZGUwOQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDYxMDItcmV2LWxpc3QtdW5leHBlY3RlZC1vYmplY3RzLnNoCkBAIC0wLDAgKzEsMTI3IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nZ2l0IHJldi1saXN0IHNob3VsZCBoYW5kbGUgdW5leHBlY3RlZCBvYmplY3QgdHlwZXMnCisKKy4gLi90ZXN0LWxpYi5zaAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCB3ZWxsLWZvcm1lZCBvYmplY3RzJyAnCisJYmxvYj0iJChwcmludGYgImZvbyIgfCBnaXQgaGFzaC1vYmplY3QgLXcgLS1zdGRpbikiICYmCisJdHJlZT0iJChwcmludGYgIjEwMDY0NCBibG9iICRibG9iXHRmb28iIHwgZ2l0IG1rdHJlZSkiICYmCisJY29tbWl0PSIkKGdpdCBjb21taXQtdHJlZSAkdHJlZSAtbSAiZmlyc3QgY29tbWl0IikiICYmCisJZ2l0IGNhdC1maWxlIGNvbW1pdCAkY29tbWl0ID5nb29kLWNvbW1pdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCB1bmV4cGVjdGVkIG5vbi1ibG9iIGVudHJ5JyAnCisJcHJpbnRmICIxMDA2NDQgZm9vXDAkKGVjaG8gJHRyZWUgfCBoZXgyb2N0KSIgPmJyb2tlbi10cmVlICYmCisJYnJva2VuX3RyZWU9IiQoZ2l0IGhhc2gtb2JqZWN0IC13IC0tbGl0ZXJhbGx5IC10IHRyZWUgYnJva2VuLXRyZWUpIgorJworCit0ZXN0X2V4cGVjdF9mYWlsdXJlICd0cmF2ZXJzZSB1bmV4cGVjdGVkIG5vbi1ibG9iIGVudHJ5IChsb25lKScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtbGlzdCAtLW9iamVjdHMgJGJyb2tlbl90cmVlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RyYXZlcnNlIHVuZXhwZWN0ZWQgbm9uLWJsb2IgZW50cnkgKHNlZW4pJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1saXN0IC0tb2JqZWN0cyAkdHJlZSAkYnJva2VuX3RyZWUgPm91dHB1dCAyPiYxICYmCisJdGVzdF9pMThuZ3JlcCAiaXMgbm90IGEgYmxvYiIgb3V0cHV0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHVuZXhwZWN0ZWQgbm9uLXRyZWUgZW50cnknICcKKwlwcmludGYgIjQwMDAwIGZvb1wwJChlY2hvICRibG9iIHwgaGV4Mm9jdCkiID5icm9rZW4tdHJlZSAmJgorCWJyb2tlbl90cmVlPSIkKGdpdCBoYXNoLW9iamVjdCAtdyAtLWxpdGVyYWxseSAtdCB0cmVlIGJyb2tlbi10cmVlKSIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndHJhdmVyc2UgdW5leHBlY3RlZCBub24tdHJlZSBlbnRyeSAobG9uZSknICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LWxpc3QgLS1vYmplY3RzICRicm9rZW5fdHJlZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0cmF2ZXJzZSB1bmV4cGVjdGVkIG5vbi10cmVlIGVudHJ5IChzZWVuKScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtbGlzdCAtLW9iamVjdHMgJGJsb2IgJGJyb2tlbl90cmVlID5vdXRwdXQgMj4mMSAmJgorCXRlc3RfaTE4bmdyZXAgImlzIG5vdCBhIHRyZWUiIG91dHB1dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCB1bmV4cGVjdGVkIG5vbi1jb21taXQgcGFyZW50JyAnCisJc2VkICIvXmF1dGhvci8geyBoOyBzLy4qL3BhcmVudCAkYmxvYi87IEc7IH0iIDxnb29kLWNvbW1pdCBcCisJCT5icm9rZW4tY29tbWl0ICYmCisJYnJva2VuX2NvbW1pdD0iJChnaXQgaGFzaC1vYmplY3QgLXcgLS1saXRlcmFsbHkgLXQgY29tbWl0IFwKKwkJYnJva2VuLWNvbW1pdCkiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RyYXZlcnNlIHVuZXhwZWN0ZWQgbm9uLWNvbW1pdCBwYXJlbnQgKGxvbmUpJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1saXN0IC0tb2JqZWN0cyAkYnJva2VuX2NvbW1pdCA+b3V0cHV0IDI+JjEgJiYKKwl0ZXN0X2kxOG5ncmVwICJub3QgYSBjb21taXQiIG91dHB1dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0cmF2ZXJzZSB1bmV4cGVjdGVkIG5vbi1jb21taXQgcGFyZW50IChzZWVuKScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtbGlzdCAtLW9iamVjdHMgJGJsb2IgJGJyb2tlbl9jb21taXQgXAorCQk+b3V0cHV0IDI+JjEgJiYKKwl0ZXN0X2kxOG5ncmVwICJub3QgYSBjb21taXQiIG91dHB1dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCB1bmV4cGVjdGVkIG5vbi10cmVlIHJvb3QnICcKKwlzZWQgLWUgInMvJHRyZWUvJGJsb2IvIiA8Z29vZC1jb21taXQgPmJyb2tlbi1jb21taXQgJiYKKwlicm9rZW5fY29tbWl0PSIkKGdpdCBoYXNoLW9iamVjdCAtdyAtLWxpdGVyYWxseSAtdCBjb21taXQgXAorCQlicm9rZW4tY29tbWl0KSIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndHJhdmVyc2UgdW5leHBlY3RlZCBub24tdHJlZSByb290IChsb25lKScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtbGlzdCAtLW9iamVjdHMgJGJyb2tlbl9jb21taXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndHJhdmVyc2UgdW5leHBlY3RlZCBub24tdHJlZSByb290IChzZWVuKScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtbGlzdCAtLW9iamVjdHMgJGJsb2IgJGJyb2tlbl9jb21taXQgXAorCQk+b3V0cHV0IDI+JjEgJiYKKwl0ZXN0X2kxOG5ncmVwICJub3QgYSB0cmVlIiBvdXRwdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgdW5leHBlY3RlZCBub24tY29tbWl0IHRhZycgJworCWdpdCB0YWcgLWEgLW0gInRhZ2dlZCBjb21taXQiIHRhZyAkY29tbWl0ICYmCisJZ2l0IGNhdC1maWxlIHRhZyB0YWcgPmdvb2QtdGFnICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgdGFnIC1kIHRhZyIgJiYKKwlzZWQgLWUgInMvJGNvbW1pdC8kYmxvYi8iIDxnb29kLXRhZyA+YnJva2VuLXRhZyAmJgorCXRhZz0kKGdpdCBoYXNoLW9iamVjdCAtdyAtLWxpdGVyYWxseSAtdCB0YWcgYnJva2VuLXRhZykKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndHJhdmVyc2UgdW5leHBlY3RlZCBub24tY29tbWl0IHRhZyAobG9uZSknICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LWxpc3QgLS1vYmplY3RzICR0YWcKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndHJhdmVyc2UgdW5leHBlY3RlZCBub24tY29tbWl0IHRhZyAoc2VlbiknICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LWxpc3QgLS1vYmplY3RzICRibG9iICR0YWcgPm91dHB1dCAyPiYxICYmCisJdGVzdF9pMThuZ3JlcCAibm90IGEgY29tbWl0IiBvdXRwdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgdW5leHBlY3RlZCBub24tdHJlZSB0YWcnICcKKwlnaXQgdGFnIC1hIC1tICJ0YWdnZWQgdHJlZSIgdGFnICR0cmVlICYmCisJZ2l0IGNhdC1maWxlIHRhZyB0YWcgPmdvb2QtdGFnICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgdGFnIC1kIHRhZyIgJiYKKwlzZWQgLWUgInMvJHRyZWUvJGJsb2IvIiA8Z29vZC10YWcgPmJyb2tlbi10YWcgJiYKKwl0YWc9JChnaXQgaGFzaC1vYmplY3QgLXcgLS1saXRlcmFsbHkgLXQgdGFnIGJyb2tlbi10YWcpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RyYXZlcnNlIHVuZXhwZWN0ZWQgbm9uLXRyZWUgdGFnIChsb25lKScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtbGlzdCAtLW9iamVjdHMgJHRhZworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0cmF2ZXJzZSB1bmV4cGVjdGVkIG5vbi10cmVlIHRhZyAoc2VlbiknICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LWxpc3QgLS1vYmplY3RzICRibG9iICR0YWcgPm91dHB1dCAyPiYxICYmCisJdGVzdF9pMThuZ3JlcCAibm90IGEgdHJlZSIgb3V0cHV0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHVuZXhwZWN0ZWQgbm9uLWJsb2IgdGFnJyAnCisJZ2l0IHRhZyAtYSAtbSAidGFnZ2VkIGJsb2IiIHRhZyAkYmxvYiAmJgorCWdpdCBjYXQtZmlsZSB0YWcgdGFnID5nb29kLXRhZyAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHRhZyAtZCB0YWciICYmCisJc2VkIC1lICJzLyRibG9iLyRjb21taXQvIiA8Z29vZC10YWcgPmJyb2tlbi10YWcgJiYKKwl0YWc9JChnaXQgaGFzaC1vYmplY3QgLXcgLS1saXRlcmFsbHkgLXQgdGFnIGJyb2tlbi10YWcpCisnCisKK3Rlc3RfZXhwZWN0X2ZhaWx1cmUgJ3RyYXZlcnNlIHVuZXhwZWN0ZWQgbm9uLWJsb2IgdGFnIChsb25lKScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtbGlzdCAtLW9iamVjdHMgJHRhZworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0cmF2ZXJzZSB1bmV4cGVjdGVkIG5vbi1ibG9iIHRhZyAoc2VlbiknICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LWxpc3QgLS1vYmplY3RzICRjb21taXQgJHRhZyA+b3V0cHV0IDI+JjEgJiYKKwl0ZXN0X2kxOG5ncmVwICJub3QgYSBibG9iIiBvdXRwdXQKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q2MTEyLXJldi1saXN0LWZpbHRlcnMtb2JqZWN0cy5zaCBiL3QvdDYxMTItcmV2LWxpc3QtZmlsdGVycy1vYmplY3RzLnNoCmluZGV4IGViMzI1MDUuLmRlMGU1YTUgMTAwNzU1Ci0tLSBhL3QvdDYxMTItcmV2LWxpc3QtZmlsdGVycy1vYmplY3RzLnNoCisrKyBiL3QvdDYxMTItcmV2LWxpc3QtZmlsdGVycy1vYmplY3RzLnNoCkBAIC0xNTcsNiArMTU3LDEwIEBACiAnCiAKICMgVGVzdCBzcGFyc2U6cGF0aD08cGF0aD4gZmlsdGVyLgorIyAhISEhCisjIE5PVEU6IHNwYXJzZTpwYXRoIGZpbHRlciBzdXBwb3J0IGhhcyBiZWVuIGRyb3BwZWQgZm9yIHNlY3VyaXR5IHJlYXNvbnMsCisjIHNvIHRoZSB0ZXN0cyBoYXZlIGJlZW4gY2hhbmdlZCB0byBtYWtlIHN1cmUgdGhhdCB1c2luZyBpdCBmYWlscy4KKyMgISEhIQogIyBVc2UgYSBsb2NhbCBmaWxlIGNvbnRhaW5pbmcgYSBzcGFyc2UtY2hlY2tvdXQgc3BlY2lmaWNhdGlvbiB0byBmaWx0ZXIKICMgb3V0IGJsb2JzIG5vdCByZXF1aXJlZCBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgc3BhcnNlLWNoZWNrb3V0LiAgV2UgZG8gbm90CiAjIHJlcXVpcmUgc3BhcnNlLWNoZWNrb3V0IHRvIGFjdHVhbGx5IGJlIGVuYWJsZWQuCkBAIC0xNzYsMzcgKzE4MCwyMCBAQAogCWVjaG8gc3BhcnNlMSA+cGF0dGVybjIKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IHNwYXJzZTpwYXRoPXBhdHRlcm4xIG9taXRzIHRvcC1sZXZlbCBmaWxlcycgJwotCWdpdCAtQyByMyBscy1maWxlcyAtcyBzcGFyc2UxIHNwYXJzZTIgPmxzX2ZpbGVzX3Jlc3VsdCAmJgotCWF3ayAtZiBwcmludF8yLmF3ayBsc19maWxlc19yZXN1bHQgfAotCXNvcnQgPmV4cGVjdGVkICYmCi0KLQlnaXQgLUMgcjMgcmV2LWxpc3QgLS1xdWlldCAtLW9iamVjdHMgLS1maWx0ZXItcHJpbnQtb21pdHRlZCBcCi0JCS0tZmlsdGVyPXNwYXJzZTpwYXRoPS4uL3BhdHRlcm4xIEhFQUQgPnJldnMgJiYKLQlhd2sgLWYgcHJpbnRfMS5hd2sgcmV2cyB8Ci0Jc2VkICJzL34vLyIgfAotCXNvcnQgPm9ic2VydmVkICYmCi0KLQl0ZXN0X2NtcCBleHBlY3RlZCBvYnNlcnZlZAordGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IHNwYXJzZTpwYXRoPXBhdHRlcm4xIGZhaWxzJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIHIzIHJldi1saXN0IC0tcXVpZXQgLS1vYmplY3RzIFwKKwkJLS1maWx0ZXItcHJpbnQtb21pdHRlZCAtLWZpbHRlcj1zcGFyc2U6cGF0aD0uLi9wYXR0ZXJuMSBIRUFECiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZlcmlmeSBzcGFyc2U6cGF0aD1wYXR0ZXJuMiBvbWl0cyBib3RoIHNwYXJzZTIgZmlsZXMnICcKLQlnaXQgLUMgcjMgbHMtZmlsZXMgLXMgc3BhcnNlMiBkaXIxL3NwYXJzZTIgPmxzX2ZpbGVzX3Jlc3VsdCAmJgotCWF3ayAtZiBwcmludF8yLmF3ayBsc19maWxlc19yZXN1bHQgfAotCXNvcnQgPmV4cGVjdGVkICYmCi0KLQlnaXQgLUMgcjMgcmV2LWxpc3QgLS1xdWlldCAtLW9iamVjdHMgLS1maWx0ZXItcHJpbnQtb21pdHRlZCBcCi0JCS0tZmlsdGVyPXNwYXJzZTpwYXRoPS4uL3BhdHRlcm4yIEhFQUQgPnJldnMgJiYKLQlhd2sgLWYgcHJpbnRfMS5hd2sgcmV2cyB8Ci0Jc2VkICJzL34vLyIgfAotCXNvcnQgPm9ic2VydmVkICYmCi0KLQl0ZXN0X2NtcCBleHBlY3RlZCBvYnNlcnZlZAordGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IHNwYXJzZTpwYXRoPXBhdHRlcm4yIGZhaWxzJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1DIHIzIHJldi1saXN0IC0tcXVpZXQgLS1vYmplY3RzIFwKKwkJLS1maWx0ZXItcHJpbnQtb21pdHRlZCAtLWZpbHRlcj1zcGFyc2U6cGF0aD0uLi9wYXR0ZXJuMiBIRUFECiAnCiAKICMgVGVzdCBzcGFyc2U6b2lkPTxvaWQtaXNoPiBmaWx0ZXIuCi0jIExpa2Ugc3BhcnNlOnBhdGgsIGJ1dCB3ZSBnZXQgdGhlIHNwYXJzZS1jaGVja291dCBzcGVjaWZpY2F0aW9uIGZyb20KLSMgYSBibG9iIHJhdGhlciB0aGFuIGEgZmlsZSBvbiBkaXNrLgorIyBVc2UgYSBibG9iIGNvbnRhaW5pbmcgYSBzcGFyc2UtY2hlY2tvdXQgc3BlY2lmaWNhdGlvbiB0byBmaWx0ZXIKKyMgb3V0IGJsb2JzIG5vdCByZXF1aXJlZCBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgc3BhcnNlLWNoZWNrb3V0LiAgV2UgZG8gbm90CisjIHJlcXVpcmUgc3BhcnNlLWNoZWNrb3V0IHRvIGFjdHVhbGx5IGJlIGVuYWJsZWQuCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHIzIHBhcnQgMicgJwogCWVjaG8gZGlyMS8gPnIzL3BhdHRlcm4gJiYKQEAgLTI4Myw3ICsyNzAsNyBAQAogCiAjIE1ha2Ugc3VyZSB0cmVlOjAgZG9lcyBub3QgaXRlcmF0ZSB0aHJvdWdoIGFueSB0cmVlcy4KIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZmlsdGVyIGEgR0lBTlQgdHJlZSB0aHJvdWdoIHRyZWU6MCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IHNraXBwaW5nIHRyZWUgaXRlcmF0aW9uIHdoZW4gbm90IGNvbGxlY3Rpbmcgb21pdHMnICcKIAlHSVRfVFJBQ0U9MSBnaXQgLUMgcjMgcmV2LWxpc3QgXAogCQktLW9iamVjdHMgLS1maWx0ZXI9dHJlZTowIEhFQUQgMj5maWx0ZXJfdHJhY2UgJiYKIAlncmVwICJTa2lwcGluZyBjb250ZW50cyBvZiB0cmVlIFsuXVsuXVsuXSIgZmlsdGVyX3RyYWNlID5hY3R1YWwgJiYKQEAgLTI5MSw3ICsyNzgsMzEyIEBACiAJdGVzdF9saW5lX2NvdW50ID0gMiBhY3R1YWwgJiYKIAogCSMgTWFrZSBzdXJlIG5vIG90aGVyIHRyZWVzIHdlcmUgY29uc2lkZXJlZCBiZXNpZGVzIHRoZSByb290LgotCSEgZ3JlcCAiU2tpcHBpbmcgY29udGVudHMgb2YgdHJlZSBbXi5dIiBmaWx0ZXJfdHJhY2UKKwkhIGdyZXAgIlNraXBwaW5nIGNvbnRlbnRzIG9mIHRyZWUgW14uXSIgZmlsdGVyX3RyYWNlICYmCisKKwkjIFRyeSB0aGlzIGFnYWluIHdpdGggImNvbWJpbmU6Ii4gSWYgYm90aCBzdWItZmlsdGVycyBhcmUgc2tpcHBpbmcKKwkjIHRyZWVzLCB0aGUgY29tcG9zaXRlIGZpbHRlciBzaG91bGQgYWxzbyBza2lwIHRyZWVzLiBUaGlzIGlzIG5vdAorCSMgaW1wb3J0YW50IHVubGVzcyB0aGUgdXNlciBkb2VzIGNvbWJpbmU6dHJlZTpYK3RyZWU6WSBvciBhbm90aGVyIGZpbHRlcgorCSMgYmVzaWRlcyAidHJlZToiIGlzIGltcGxlbWVudGVkIGluIHRoZSBmdXR1cmUgd2hpY2ggY2FuIHNraXAgdHJlZXMuCisJR0lUX1RSQUNFPTEgZ2l0IC1DIHIzIHJldi1saXN0IFwKKwkJLS1vYmplY3RzIC0tZmlsdGVyPWNvbWJpbmU6dHJlZToxK3RyZWU6MyBIRUFEIDI+ZmlsdGVyX3RyYWNlICYmCisKKwkjIE9ubHkgc2tpcCB0aGUgZGlyMS8gdHJlZSwgd2hpY2ggaXMgc2hhcmVkIGJldHdlZW4gdGhlIHR3byBjb21taXRzLgorCWdyZXAgIlNraXBwaW5nIGNvbnRlbnRzIG9mIHRyZWUgIiBmaWx0ZXJfdHJhY2UgPmFjdHVhbCAmJgorCXRlc3Rfd3JpdGVfbGluZXMgIlNraXBwaW5nIGNvbnRlbnRzIG9mIHRyZWUgZGlyMS8uLi4iID5leHBlY3RlZCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCisjIFRlc3QgdHJlZTojIGZpbHRlcnMuCisKK2V4cGVjdF9oYXMgKCkgeworCWNvbW1pdD0kMSAmJgorCW5hbWU9JDIgJiYKKworCWhhc2g9JChnaXQgLUMgcjMgcmV2LXBhcnNlICRjb21taXQ6JG5hbWUpICYmCisJZ3JlcCAiXiRoYXNoICRuYW1lJCIgYWN0dWFsCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZlcmlmeSB0cmVlOjEgaW5jbHVkZXMgcm9vdCB0cmVlcycgJworCWdpdCAtQyByMyByZXYtbGlzdCAtLW9iamVjdHMgLS1maWx0ZXI9dHJlZToxIEhFQUQgPmFjdHVhbCAmJgorCisJIyBXZSBzaG91bGQgZ2V0IHR3byByb290IGRpcmVjdG9yaWVzIGFuZCB0d28gY29tbWl0cy4KKwlleHBlY3RfaGFzIEhFQUQgIiIgJiYKKwlleHBlY3RfaGFzIEhFQUR+MSAiIiAgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSA0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJpZnkgdHJlZToyIGluY2x1ZGVzIHJvb3QgdHJlZXMgYW5kIGltbWVkaWF0ZSBjaGlsZHJlbicgJworCWdpdCAtQyByMyByZXYtbGlzdCAtLW9iamVjdHMgLS1maWx0ZXI9dHJlZToyIEhFQUQgPmFjdHVhbCAmJgorCisJZXhwZWN0X2hhcyBIRUFEICIiICYmCisJZXhwZWN0X2hhcyBIRUFEfjEgIiIgJiYKKwlleHBlY3RfaGFzIEhFQUQgZGlyMSAmJgorCWV4cGVjdF9oYXMgSEVBRCBwYXR0ZXJuICYmCisJZXhwZWN0X2hhcyBIRUFEIHNwYXJzZTEgJiYKKwlleHBlY3RfaGFzIEhFQUQgc3BhcnNlMiAmJgorCisJIyBUaGVyZSBhcmUgYWxzbyAyIGNvbW1pdCBvYmplY3RzCisJdGVzdF9saW5lX2NvdW50ID0gOCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndmVyaWZ5IHRyZWU6MyBpbmNsdWRlcyBldmVyeXRoaW5nIGV4cGVjdGVkJyAnCisJZ2l0IC1DIHIzIHJldi1saXN0IC0tb2JqZWN0cyAtLWZpbHRlcj10cmVlOjMgSEVBRCA+YWN0dWFsICYmCisKKwlleHBlY3RfaGFzIEhFQUQgIiIgJiYKKwlleHBlY3RfaGFzIEhFQUR+MSAiIiAmJgorCWV4cGVjdF9oYXMgSEVBRCBkaXIxICYmCisJZXhwZWN0X2hhcyBIRUFEIGRpcjEvc3BhcnNlMSAmJgorCWV4cGVjdF9oYXMgSEVBRCBkaXIxL3NwYXJzZTIgJiYKKwlleHBlY3RfaGFzIEhFQUQgcGF0dGVybiAmJgorCWV4cGVjdF9oYXMgSEVBRCBzcGFyc2UxICYmCisJZXhwZWN0X2hhcyBIRUFEIHNwYXJzZTIgJiYKKworCSMgVGhlcmUgYXJlIGFsc28gMiBjb21taXQgb2JqZWN0cworCXRlc3RfbGluZV9jb3VudCA9IDEwIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb21iaW5lOi4uLiBmb3IgYSBzaW1wbGUgY29tYmluYXRpb24nICcKKwlnaXQgLUMgcjMgcmV2LWxpc3QgLS1vYmplY3RzIC0tZmlsdGVyPWNvbWJpbmU6dHJlZToyK2Jsb2I6bm9uZSBIRUFEIFwKKwkJPmFjdHVhbCAmJgorCisJZXhwZWN0X2hhcyBIRUFEICIiICYmCisJZXhwZWN0X2hhcyBIRUFEfjEgIiIgJiYKKwlleHBlY3RfaGFzIEhFQUQgZGlyMSAmJgorCisJIyBUaGVyZSBhcmUgYWxzbyAyIGNvbW1pdCBvYmplY3RzCisJdGVzdF9saW5lX2NvdW50ID0gNSBhY3R1YWwgJiYKKworCWNwIGFjdHVhbCBleHBlY3RlZCAmJgorCisJIyBUcnkgYWdhaW4gdXNpbmcgcmVwZWF0ZWQgLS1maWx0ZXIgLSB0aGlzIGlzIGVxdWl2YWxlbnQgdG8gYSBtYW51YWwKKwkjIGNvbWJpbmUgd2l0aCAiY29tYmluZTouLi4rLi4uIgorCWdpdCAtQyByMyByZXYtbGlzdCAtLW9iamVjdHMgLS1maWx0ZXI9Y29tYmluZTp0cmVlOjIgXAorCQktLWZpbHRlcj1ibG9iOm5vbmUgSEVBRCA+YWN0dWFsICYmCisKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tYmluZTouLi4gd2l0aCBVUkwgZW5jb2RpbmcnICcKKwlnaXQgLUMgcjMgcmV2LWxpc3QgLS1vYmplY3RzIFwKKwkJLS1maWx0ZXI9Y29tYmluZTp0cmVlJTNhMitibG9iOiU2RW9uJTY1IEhFQUQgPmFjdHVhbCAmJgorCisJZXhwZWN0X2hhcyBIRUFEICIiICYmCisJZXhwZWN0X2hhcyBIRUFEfjEgIiIgJiYKKwlleHBlY3RfaGFzIEhFQUQgZGlyMSAmJgorCisJIyBUaGVyZSBhcmUgYWxzbyAyIGNvbW1pdCBvYmplY3RzCisJdGVzdF9saW5lX2NvdW50ID0gNSBhY3R1YWwKKycKKworZXhwZWN0X2ludmFsaWRfZmlsdGVyX3NwZWMgKCkgeworCXNwZWM9IiQxIiAmJgorCWVycj0iJDIiICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgLUMgcjMgcmV2LWxpc3QgLS1vYmplY3RzIC0tZmlsdGVyPSIkc3BlYyIgSEVBRCBcCisJCT5hY3R1YWwgMj5hY3R1YWxfc3RkZXJyICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGFjdHVhbCAmJgorCXRlc3RfaTE4bmdyZXAgIiRlcnIiIGFjdHVhbF9zdGRlcnIKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tYmluZTouLi4gd2hpbGUgVVJMLWVuY29kaW5nIHRoaW5ncyB0aGF0IHNob3VsZCBub3QgYmUnICcKKwlleHBlY3RfaW52YWxpZF9maWx0ZXJfc3BlYyBjb21iaW5lJTNBdHJlZToyK2Jsb2I6bm9uZSBcCisJCSJpbnZhbGlkIGZpbHRlci1zcGVjIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb21iaW5lOiB3aXRoIG5vdGhpbmcgYWZ0ZXIgdGhlIDonICcKKwlleHBlY3RfaW52YWxpZF9maWx0ZXJfc3BlYyBjb21iaW5lOiAiZXhwZWN0ZWQgc29tZXRoaW5nIGFmdGVyIGNvbWJpbmU6IgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwYXJzZSBlcnJvciBpbiBmaXJzdCBzdWItZmlsdGVyIGluIGNvbWJpbmU6JyAnCisJZXhwZWN0X2ludmFsaWRfZmlsdGVyX3NwZWMgY29tYmluZTp0cmVlOmFzZGYrYmxvYjpub25lIFwKKwkJImV4cGVjdGVkIC50cmVlOjxkZXB0aD4uIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb21iaW5lOi4uLiB3aXRoIG5vbi1lbmNvZGVkIHJlc2VydmVkIGNoYXJzJyAnCisJZXhwZWN0X2ludmFsaWRfZmlsdGVyX3NwZWMgY29tYmluZTp0cmVlOjIrc3BhcnNlOkB4eXogXAorCQkibXVzdCBlc2NhcGUgY2hhciBpbiBzdWItZmlsdGVyLXNwZWM6IC5ALiIgJiYKKwlleHBlY3RfaW52YWxpZF9maWx0ZXJfc3BlYyBjb21iaW5lOnRyZWU6MitzcGFyc2U6XGAgXAorCQkibXVzdCBlc2NhcGUgY2hhciBpbiBzdWItZmlsdGVyLXNwZWM6IC5cYC4iICYmCisJZXhwZWN0X2ludmFsaWRfZmlsdGVyX3NwZWMgY29tYmluZTp0cmVlOjIrc3BhcnNlOn5hYmMgXAorCQkibXVzdCBlc2NhcGUgY2hhciBpbiBzdWItZmlsdGVyLXNwZWM6IC5cfi4iCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZhbGlkYXRlIGVyciBtc2cgZm9yICJjb21iaW5lOjx2YWxpZC1maWx0ZXI+KyInICcKKwlleHBlY3RfaW52YWxpZF9maWx0ZXJfc3BlYyBjb21iaW5lOnRyZWU6MisgImV4cGVjdGVkIC50cmVlOjxkZXB0aD4uIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb21iaW5lOi4uLiB3aXRoIGVkZ2UtY2FzZSBoZXggZGlnaXRzOiBGZiBBYSAwIDknICcKKwlnaXQgLUMgcjMgcmV2LWxpc3QgLS1vYmplY3RzIC0tZmlsdGVyPSJjb21iaW5lOnRyZWU6MitibCU2RmI6biU2Zm5lIiBcCisJCUhFQUQgPmFjdHVhbCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDUgYWN0dWFsICYmCisJZ2l0IC1DIHIzIHJldi1saXN0IC0tb2JqZWN0cyAtLWZpbHRlcj0iY29tYmluZTp0cmVlJTNBMitibG9iJTNhbm9uZSIgXAorCQlIRUFEID5hY3R1YWwgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSA1IGFjdHVhbCAmJgorCWdpdCAtQyByMyByZXYtbGlzdCAtLW9iamVjdHMgLS1maWx0ZXI9ImNvbWJpbmU6dHJlZTolMzAiIEhFQUQgPmFjdHVhbCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDIgYWN0dWFsICYmCisJZ2l0IC1DIHIzIHJldi1saXN0IC0tb2JqZWN0cyAtLWZpbHRlcj0iY29tYmluZTp0cmVlOiUzOStibG9iOm5vbmUiIFwKKwkJSEVBRCA+YWN0dWFsICYmCisJdGVzdF9saW5lX2NvdW50ID0gNSBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYWRkIHNwYXJzZSBwYXR0ZXJuIGJsb2JzIHdob3NlIHBhdGhzIGhhdmUgcmVzZXJ2ZWQgY2hhcnMnICcKKwljcCByMy9wYXR0ZXJuIHIzL3BhdHRlcm4xK3JlbmFtZWQlICYmCisJY3AgcjMvcGF0dGVybiAicjMvcDthdCV0ZXIrbiIgJiYKKwljcCByMy9wYXR0ZXJuIHIzL15+cGF0dGVybiAmJgorCWdpdCAtQyByMyBhZGQgcGF0dGVybjErcmVuYW1lZCUgInA7YXQldGVyK24iIF5+cGF0dGVybiAmJgorCWdpdCAtQyByMyBjb21taXQgLW0gImFkZCBzcGFyc2UgcGF0dGVybiBmaWxlcyB3aXRoIHJlc2VydmVkIGNoYXJzIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb21iaW5lOi4uLiB3aXRoIG1vcmUgdGhhbiB0d28gc3ViLWZpbHRlcnMnICcKKwlnaXQgLUMgcjMgcmV2LWxpc3QgLS1vYmplY3RzIFwKKwkJLS1maWx0ZXI9Y29tYmluZTp0cmVlOjMrYmxvYjpsaW1pdD00MCtzcGFyc2U6b2lkPW1hc3RlcjpwYXR0ZXJuIFwKKwkJSEVBRCA+YWN0dWFsICYmCisKKwlleHBlY3RfaGFzIEhFQUQgIiIgJiYKKwlleHBlY3RfaGFzIEhFQUR+MSAiIiAmJgorCWV4cGVjdF9oYXMgSEVBRH4yICIiICYmCisJZXhwZWN0X2hhcyBIRUFEIGRpcjEgJiYKKwlleHBlY3RfaGFzIEhFQUQgZGlyMS9zcGFyc2UxICYmCisJZXhwZWN0X2hhcyBIRUFEIGRpcjEvc3BhcnNlMiAmJgorCisJIyBTaG91bGQgYWxzbyBoYXZlIDMgY29tbWl0cworCXRlc3RfbGluZV9jb3VudCA9IDkgYWN0dWFsICYmCisKKwkjIFRyeSBhZ2FpbiwgdGhpcyB0aW1lIG1ha2luZyBzdXJlIHRoZSBsYXN0IHN1Yi1maWx0ZXIgaXMgb25seQorCSMgVVJMLWRlY29kZWQgb25jZS4KKwljcCBhY3R1YWwgZXhwZWN0ICYmCisKKwlnaXQgLUMgcjMgcmV2LWxpc3QgLS1vYmplY3RzIFwKKwkJLS1maWx0ZXI9Y29tYmluZTp0cmVlOjMrYmxvYjpsaW1pdD00MCtzcGFyc2U6b2lkPW1hc3RlcjpwYXR0ZXJuMSUyYnJlbmFtZWQlMjUgXAorCQlIRUFEID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwkjIFVzZSB0aGUgc2FtZSBjb21wb3NpdGUgZmlsdGVyIGFnYWluLCBidXQgd2l0aCBhIHBhdHRlcm4gZmlsZSBuYW1lIHRoYXQKKwkjIHJlcXVpcmVzIGVuY29kaW5nIG11bHRpcGxlIGNoYXJhY3RlcnMsIGFuZCB1c2UgaW1wbGljaXQgZmlsdGVyCisJIyBjb21iaW5pbmcuCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiB0cmFjZTEiICYmCisJR0lUX1RSQUNFPSQocHdkKS90cmFjZTEgZ2l0IC1DIHIzIHJldi1saXN0IC0tb2JqZWN0cyBcCisJCS0tZmlsdGVyPXRyZWU6MyAtLWZpbHRlcj1ibG9iOmxpbWl0PTQwIFwKKwkJLS1maWx0ZXI9c3BhcnNlOm9pZD0ibWFzdGVyOnA7YXQldGVyK24iIFwKKwkJSEVBRCA+YWN0dWFsICYmCisKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ3JlcCAiQWRkIHRvIGNvbWJpbmUgZmlsdGVyLXNwZWM6IHNwYXJzZTpvaWQ9bWFzdGVyOnAlM2JhdCUyNXRlciUyYm4iIFwKKwkJdHJhY2UxICYmCisKKwkjIFJlcGVhdCB0aGUgYWJvdmUgdGVzdCwgYnV0IHRoaXMgdGltZSwgdGhlIGNoYXJhY3RlcnMgdG8gZW5jb2RlIGFyZSBpbgorCSMgdGhlIExIUyBvZiB0aGUgY29tYmluZWQgZmlsdGVyLgorCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgdHJhY2UyIiAmJgorCUdJVF9UUkFDRT0kKHB3ZCkvdHJhY2UyIGdpdCAtQyByMyByZXYtbGlzdCAtLW9iamVjdHMgXAorCQktLWZpbHRlcj1zcGFyc2U6b2lkPW1hc3RlcjpefnBhdHRlcm4gXAorCQktLWZpbHRlcj10cmVlOjMgLS1maWx0ZXI9YmxvYjpsaW1pdD00MCBcCisJCUhFQUQgPmFjdHVhbCAmJgorCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCWdyZXAgIkFkZCB0byBjb21iaW5lIGZpbHRlci1zcGVjOiBzcGFyc2U6b2lkPW1hc3RlcjolNWUlN2VwYXR0ZXJuIiBcCisJCXRyYWNlMgorJworCisjIFRlc3QgcHJvdmlzaW9uYWwgb21pdCBjb2xsZWN0aW9uIGxvZ2ljIHdpdGggYSByZXBvIHRoYXQgaGFzIG9iamVjdHMgYXBwZWFyaW5nCisjIGF0IG11bHRpcGxlIGRlcHRocyAtIGZpcnN0IGRlZXBlciB0aGFuIHRoZSBmaWx0ZXIncyB0aHJlc2hvbGQsIHRoZW4gc2hhbGxvdy4KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgcjQnICcKKwlnaXQgaW5pdCByNCAmJgorCisJZWNobyBmb28gPiByNC9mb28gJiYKKwlta2RpciByNC9zdWJkaXIgJiYKKwllY2hvIGJhciA+IHI0L3N1YmRpci9iYXIgJiYKKworCW1rZGlyIHI0L2ZpbHQgJiYKKwljcCAtciByNC9mb28gcjQvc3ViZGlyIHI0L2ZpbHQgJiYKKworCWdpdCAtQyByNCBhZGQgZm9vIHN1YmRpciBmaWx0ICYmCisJZ2l0IC1DIHI0IGNvbW1pdCAtbSAiY29tbWl0IG1zZyIKKycKKworZXhwZWN0X2hhc193aXRoX2RpZmZlcmVudF9uYW1lICgpIHsKKwlyZXBvPSQxICYmCisJbmFtZT0kMiAmJgorCisJaGFzaD0kKGdpdCAtQyAkcmVwbyByZXYtcGFyc2UgSEVBRDokbmFtZSkgJiYKKwkhIGdyZXAgIl4kaGFzaCAkbmFtZSQiIGFjdHVhbCAmJgorCWdyZXAgIl4kaGFzaCAiIGFjdHVhbCAmJgorCSEgZ3JlcCAifiRoYXNoIiBhY3R1YWwKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCB0cmVlOiMgZmlsdGVyIHByb3Zpc2lvbmFsIG9taXQgZm9yIGJsb2IgYW5kIHRyZWUnICcKKwlnaXQgLUMgcjQgcmV2LWxpc3QgLS1vYmplY3RzIC0tZmlsdGVyLXByaW50LW9taXR0ZWQgLS1maWx0ZXI9dHJlZToyIFwKKwkJSEVBRCA+YWN0dWFsICYmCisJZXhwZWN0X2hhc193aXRoX2RpZmZlcmVudF9uYW1lIHI0IGZpbHQvZm9vICYmCisJZXhwZWN0X2hhc193aXRoX2RpZmZlcmVudF9uYW1lIHI0IGZpbHQvc3ViZGlyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZlcmlmeSBza2lwcGluZyB0cmVlIGl0ZXJhdGlvbiB3aGVuIGNvbGxlY3Rpbmcgb21pdHMnICcKKwlHSVRfVFJBQ0U9MSBnaXQgLUMgcjQgcmV2LWxpc3QgLS1maWx0ZXItcHJpbnQtb21pdHRlZCBcCisJCS0tb2JqZWN0cyAtLWZpbHRlcj10cmVlOjAgSEVBRCAyPmZpbHRlcl90cmFjZSAmJgorCWdyZXAgIl5Ta2lwcGluZyBjb250ZW50cyBvZiB0cmVlICIgZmlsdGVyX3RyYWNlID5hY3R1YWwgJiYKKworCWVjaG8gIlNraXBwaW5nIGNvbnRlbnRzIG9mIHRyZWUgc3ViZGlyLy4uLiIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgcjUnICcKKwlnaXQgaW5pdCByNSAmJgorCW1rZGlyIC1wIHI1L3N1YmRpciAmJgorCisJZWNobyAxICAgICA+cjUvc2hvcnQtcm9vdCAgICAgICAgICAmJgorCWVjaG8gMTIzNDUgPnI1L2xvbmctcm9vdCAgICAgICAgICAgJiYKKwllY2hvIGEgICAgID5yNS9zdWJkaXIvc2hvcnQtc3ViZGlyICYmCisJZWNobyBhYmNkZSA+cjUvc3ViZGlyL2xvbmctc3ViZGlyICAmJgorCisJZ2l0IC1DIHI1IGFkZCBzaG9ydC1yb290IGxvbmctcm9vdCBzdWJkaXIgJiYKKwlnaXQgLUMgcjUgY29tbWl0IC1tICJjb21taXQgbXNnIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd2ZXJpZnkgY29sbGVjdGluZyBvbWl0cyBpbiBjb21iaW5lZDogZmlsdGVyJyAnCisJIyBOb3RlIHRoYXQgdGhpcyB0ZXN0IGd1YXJkcyBhZ2FpbnN0IHRoZSBuYWl2ZSBpbXBsZW1lbnRhdGlvbiBvZiBzaW1wbHkKKwkjIGdpdmluZyBib3RoIGZpbHRlcnMgdGhlIHNhbWUgIm9taXRzIiBzZXQgYW5kIGV4cGVjdGluZyBpdCB0bworCSMgYXV0b21hdGljYWxseSBtZXJnZSB0aGVtLgorCWdpdCAtQyByNSByZXYtbGlzdCAtLW9iamVjdHMgLS1xdWlldCAtLWZpbHRlci1wcmludC1vbWl0dGVkIFwKKwkJLS1maWx0ZXI9Y29tYmluZTp0cmVlOjIrYmxvYjpsaW1pdD0zIEhFQUQgPmFjdHVhbCAmJgorCisJIyBFeHBlY3QgMCB0cmVlcy9jb21taXRzLCAzIGJsb2JzIG9taXR0ZWQgKGFsbCBibG9icyBleGNlcHQgc2hvcnQtcm9vdCkKKwlvbWl0dGVkXzE9JChlY2hvIDEyMzQ1IHwgZ2l0IGhhc2gtb2JqZWN0IC0tc3RkaW4pICYmCisJb21pdHRlZF8yPSQoZWNobyBhICAgICB8IGdpdCBoYXNoLW9iamVjdCAtLXN0ZGluKSAmJgorCW9taXR0ZWRfMz0kKGVjaG8gYWJjZGUgfCBnaXQgaGFzaC1vYmplY3QgLS1zdGRpbikgJiYKKworCWdyZXAgfiRvbWl0dGVkXzEgYWN0dWFsICYmCisJZ3JlcCB+JG9taXR0ZWRfMiBhY3R1YWwgJiYKKwlncmVwIH4kb21pdHRlZF8zIGFjdHVhbCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDMgYWN0dWFsCisnCisKKyMgVGVzdCB0cmVlOjxkZXB0aD4gd2hlcmUgYSB0cmVlIGlzIGl0ZXJhdGVkIHRvIHR3aWNlIC0gb25jZSB3aGVyZSBhIHN1YmVudHJ5IGlzCisjIHRvbyBkZWVwIHRvIGJlIGluY2x1ZGVkLCBhbmQgYWdhaW4gd2hlcmUgdGhlIGJsb2IgaW5zaWRlIGl0IGlzIHNoYWxsb3cgZW5vdWdoCisjIHRvIGJlIGluY2x1ZGVkLiBUaGlzIG1ha2VzIHN1cmUgd2UgZG9uJ3QgdXNlIExPRlJfTUFSS19TRUVOIGluY29ycmVjdGx5ICh3ZQorIyBjYW4ndCB1c2UgaXQgYmVjYXVzZSBhIHRyZWUgY2FuIGJlIGl0ZXJhdGVkIG92ZXIgYWdhaW4gYXQgYSBsb3dlciBkZXB0aCkuCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RyZWU6PGRlcHRoPiB3aGVyZSB3ZSBpdGVyYXRlIG92ZXIgdHJlZSBhdCB0d28gbGV2ZWxzJyAnCisJZ2l0IGluaXQgcjUgJiYKKworCW1rZGlyIC1wIHI1L2Evc3ViZGlyL2IgJiYKKwllY2hvIGZvbyA+IHI1L2Evc3ViZGlyL2IvZm9vICYmCisKKwlta2RpciAtcCByNS9zdWJkaXIvYiAmJgorCWVjaG8gZm9vID4gcjUvc3ViZGlyL2IvZm9vICYmCisKKwlnaXQgLUMgcjUgYWRkIGEgc3ViZGlyICYmCisJZ2l0IC1DIHI1IGNvbW1pdCAtbSAiY29tbWl0IG1zZyIgJiYKKworCWdpdCAtQyByNSByZXYtbGlzdCAtLW9iamVjdHMgLS1maWx0ZXI9dHJlZTo0IEhFQUQgPmFjdHVhbCAmJgorCWV4cGVjdF9oYXNfd2l0aF9kaWZmZXJlbnRfbmFtZSByNSBhL3N1YmRpci9iL2ZvbworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0cmVlOjxkZXB0aD4gd2hpY2ggZmlsdGVycyBvdXQgYmxvYiBidXQgZ2l2ZW4gYXMgYXJnJyAnCisJYmxvYl9oYXNoPSQoZ2l0IC1DIHI0IHJldi1wYXJzZSBIRUFEOnN1YmRpci9iYXIpICYmCisKKwlnaXQgLUMgcjQgcmV2LWxpc3QgLS1vYmplY3RzIC0tZmlsdGVyPXRyZWU6MSBIRUFEICRibG9iX2hhc2ggPmFjdHVhbCAmJgorCWdyZXAgXiRibG9iX2hhc2ggYWN0dWFsCiAnCiAKICMgRGVsZXRlIHNvbWUgbG9vc2Ugb2JqZWN0cyBhbmQgdXNlIHJldi1saXN0LCBidXQgV0lUSE9VVCBhbnkgZmlsdGVyaW5nLgpAQCAtMzI0LDQgKzYxNiwxNCBAQAogCWdpdCAtQyByMSByZXYtbGlzdCAtLXF1aWV0IC0tbWlzc2luZz1hbGxvdy1hbnkgLS1vYmplY3RzIEhFQUQKICcKIAorIyBUZXN0IGV4cGFuc2lvbiBvZiBmaWx0ZXIgc3BlY3MuCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2V4cGFuZCBibG9iIGxpbWl0IGluIHByb3RvY29sJyAnCisJZ2l0IC1DIHIyIGNvbmZpZyAtLWxvY2FsIHVwbG9hZHBhY2suYWxsb3dmaWx0ZXIgMSAmJgorCUdJVF9UUkFDRV9QQUNLRVQ9IiQocHdkKS90cmFjZSIgZ2l0IC1jIHByb3RvY29sLnZlcnNpb249MiBjbG9uZSBcCisJCS0tZmlsdGVyPWJsb2I6bGltaXQ9MWsgImZpbGU6Ly8kKHB3ZCkvcjIiIGxpbWl0ICYmCisJISBncmVwICJibG9iOmxpbWl0PTFrIiB0cmFjZSAmJgorCWdyZXAgImJsb2I6bGltaXQ9MTAyNCIgdHJhY2UKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q2MTEzLXJldi1saXN0LWJpdG1hcC1maWx0ZXJzLnNoIGIvdC90NjExMy1yZXYtbGlzdC1iaXRtYXAtZmlsdGVycy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNDU2MDNmCi0tLSAvZGV2L251bGwKKysrIGIvdC90NjExMy1yZXYtbGlzdC1iaXRtYXAtZmlsdGVycy5zaApAQCAtMCwwICsxLDU2IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ncmV2LWxpc3QgY29tYmluaW5nIGJpdG1hcHMgYW5kIGZpbHRlcnMnCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0IHVwIGJpdG1hcHBlZCByZXBvJyAnCisJIyBvbmUgY29tbWl0IHdpbGwgaGF2ZSBiaXRtYXBzLCB0aGUgb3RoZXIgd2lsbCBub3QKKwl0ZXN0X2NvbW1pdCBvbmUgJiYKKwl0ZXN0X2NvbW1pdCBtdWNoLWxhcmdlci1ibG9iLW9uZSAmJgorCWdpdCByZXBhY2sgLWFkYiAmJgorCXRlc3RfY29tbWl0IHR3byAmJgorCXRlc3RfY29tbWl0IG11Y2gtbGFyZ2VyLWJsb2ItdHdvCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ZpbHRlcnMgZmFsbGJhY2sgdG8gbm9uLWJpdG1hcCB0cmF2ZXJzYWwnICcKKwkjIHVzZSBhIHBhdGgtYmFzZWQgZmlsdGVyLCBzaW5jZSB0aGV5IGFyZSBpbmhlcmVudGx5IGluY29tcGF0aWJsZSB3aXRoCisJIyBiaXRtYXBzIChpLmUuLCB0aGlzIHRlc3Qgd2lsbCBuZXZlciBnZXQgY29uZnVzZWQgYnkgbGF0ZXIgY29kZSB0bworCSMgY29tYmluZSB0aGUgZmVhdHVyZXMpCisJZmlsdGVyPSQoZWNobyAiIW9uZSIgfCBnaXQgaGFzaC1vYmplY3QgLXcgLS1zdGRpbikgJiYKKwlnaXQgcmV2LWxpc3QgLS1vYmplY3RzIC0tZmlsdGVyPXNwYXJzZTpvaWQ9JGZpbHRlciBIRUFEID5leHBlY3QgJiYKKwlnaXQgcmV2LWxpc3QgLS11c2UtYml0bWFwLWluZGV4IFwKKwkJICAgICAtLW9iamVjdHMgLS1maWx0ZXI9c3BhcnNlOm9pZD0kZmlsdGVyIEhFQUQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxvYjpub25lIGZpbHRlcicgJworCWdpdCByZXYtbGlzdCAtLW9iamVjdHMgLS1maWx0ZXI9YmxvYjpub25lIEhFQUQgPmV4cGVjdCAmJgorCWdpdCByZXYtbGlzdCAtLXVzZS1iaXRtYXAtaW5kZXggXAorCQkgICAgIC0tb2JqZWN0cyAtLWZpbHRlcj1ibG9iOm5vbmUgSEVBRCA+YWN0dWFsICYmCisJdGVzdF9iaXRtYXBfdHJhdmVyc2FsIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxvYjpub25lIGZpbHRlciB3aXRoIHNwZWNpZmllZCBibG9iJyAnCisJZ2l0IHJldi1saXN0IC0tb2JqZWN0cyAtLWZpbHRlcj1ibG9iOm5vbmUgSEVBRCBIRUFEOnR3by50ID5leHBlY3QgJiYKKwlnaXQgcmV2LWxpc3QgLS11c2UtYml0bWFwLWluZGV4IFwKKwkJICAgICAtLW9iamVjdHMgLS1maWx0ZXI9YmxvYjpub25lIEhFQUQgSEVBRDp0d28udCA+YWN0dWFsICYmCisJdGVzdF9iaXRtYXBfdHJhdmVyc2FsIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxvYjpsaW1pdCBmaWx0ZXInICcKKwlnaXQgcmV2LWxpc3QgLS1vYmplY3RzIC0tZmlsdGVyPWJsb2I6bGltaXQ9NSBIRUFEID5leHBlY3QgJiYKKwlnaXQgcmV2LWxpc3QgLS11c2UtYml0bWFwLWluZGV4IFwKKwkJICAgICAtLW9iamVjdHMgLS1maWx0ZXI9YmxvYjpsaW1pdD01IEhFQUQgPmFjdHVhbCAmJgorCXRlc3RfYml0bWFwX3RyYXZlcnNhbCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Jsb2I6bGltaXQgZmlsdGVyIHdpdGggc3BlY2lmaWVkIGJsb2InICcKKwlnaXQgcmV2LWxpc3QgLS1vYmplY3RzIC0tZmlsdGVyPWJsb2I6bGltaXQ9NSBcCisJCSAgICAgSEVBRCBIRUFEOm11Y2gtbGFyZ2VyLWJsb2ItdHdvLnQgPmV4cGVjdCAmJgorCWdpdCByZXYtbGlzdCAtLXVzZS1iaXRtYXAtaW5kZXggXAorCQkgICAgIC0tb2JqZWN0cyAtLWZpbHRlcj1ibG9iOmxpbWl0PTUgXAorCQkgICAgIEhFQUQgSEVBRDptdWNoLWxhcmdlci1ibG9iLXR3by50ID5hY3R1YWwgJiYKKwl0ZXN0X2JpdG1hcF90cmF2ZXJzYWwgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDYxMjAtZGVzY3JpYmUuc2ggYi90L3Q2MTIwLWRlc2NyaWJlLnNoCmluZGV4IGQ2MzlkOTQuLjM0NTAyZTMgMTAwNzU1Ci0tLSBhL3QvdDYxMjAtZGVzY3JpYmUuc2gKKysrIGIvdC90NjEyMC1kZXNjcmliZS5zaApAQCAtMSwyOCArMSwyNyBAQAogIyEvYmluL3NoCiAKLXRlc3RfZGVzY3JpcHRpb249J3Rlc3QgZGVzY3JpYmUKK3Rlc3RfZGVzY3JpcHRpb249J3Rlc3QgZGVzY3JpYmUnCiAKLSAgICAgICAgICAgICAgICAgICAgICAgQgotICAgICAgICAuLS0tLS0tLS0tLS0tLS1vLS0tLW8tLS0tby0tLS14Ci0gICAgICAgLyAgICAgICAgICAgICAgICAgICAvICAgIC8KLSBvLS0tLW8tLS0tby0tLS1vLS0tLW8tLS0tLiAgICAvCi0gICAgICAgXCAgICAgICAgQSAgICBjICAgICAgICAvCi0gICAgICAgIC4tLS0tLS0tLS0tLS1vLS0tby0tLW8KLSAgICAgICAgICAgICAgICAgICBELFIgICBlCi0nCisjICBvLS0tby0tLS0tby0tLS1vLS0tLW8tLS0tLS0tby0tLS14CisjICAgICAgIFwgICBELFIgICBlICAgICAgICAgICAvCisjICAgICAgICBcLS0tby0tLS0tLS0tLS0tLS1vLScKKyMgICAgICAgICBcICBCICAgICAgICAgICAgLworIyAgICAgICAgICBgLW8tLS0tby0tLS1vLScKKyMgICAgICAgICAgICAgICAgIEEgICAgYworIworIyBGaXJzdCBwYXJlbnQgb2YgYSBtZXJnZSBjb21taXQgaXMgb24gdGhlIHNhbWUgbGluZSwgc2Vjb25kIHBhcmVudCBiZWxvdy4KKwogLiAuL3Rlc3QtbGliLnNoCiAKIGNoZWNrX2Rlc2NyaWJlICgpIHsKIAlleHBlY3Q9IiQxIgogCXNoaWZ0Ci0JUj0kKGdpdCBkZXNjcmliZSAiJEAiIDI+ZXJyLmFjdHVhbCkKLQlTPSQ/Ci0JY2F0IGVyci5hY3R1YWwgPiYzCi0JdGVzdF9leHBlY3Rfc3VjY2VzcyAiZGVzY3JpYmUgJCoiICcKLQl0ZXN0ICRTID0gMCAmJgorCWRlc2NyaWJlX29wdHM9IiRAIgorCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImRlc2NyaWJlICRkZXNjcmliZV9vcHRzIiAnCisJUj0kKGdpdCBkZXNjcmliZSAkZGVzY3JpYmVfb3B0cyAyPmVyci5hY3R1YWwpICYmCiAJY2FzZSAiJFIiIGluCiAJJGV4cGVjdCkJZWNobyBoYXBweSA7OwotCSopCWVjaG8gIk9vcHMgLSAkUiBpcyBub3QgJGV4cGVjdCI7CisJKikJZWNobyAiT29wcyAtICRSIGlzIG5vdCAkZXhwZWN0IiAmJgogCQlmYWxzZSA7OwogCWVzYWMKIAknCkBAIC0xNDMsMTYgKzE0Miw0NiBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncGFjayB0YWcgcmVmcycgJ2dpdCBwYWNrLXJlZnMnCiBjaGVja19kZXNjcmliZSBBLSogSEVBRAogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZXNjcmliZSB3b3JrcyBmcm9tIG91dHNpZGUgcmVwbyB1c2luZyAtLWdpdC1kaXInICcKKwlnaXQgY2xvbmUgLS1iYXJlICIkVFJBU0hfRElSRUNUT1JZIiAiJFRSQVNIX0RJUkVDVE9SWS9iYXJlIiAmJgorCWdpdCAtLWdpdC1kaXIgIiRUUkFTSF9ESVJFQ1RPUlkvYmFyZSIgZGVzY3JpYmUgPm91dCAmJgorCWdyZXAgLUUgIl5BLVsxLTldWzAtOV0/LWdbMC05YS1mXSskIiBvdXQKKycKKwogY2hlY2tfZGVzY3JpYmUgIkEtKlswLTlhLWZdIiAtLWRpcnR5CiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Rlc2NyaWJlIC0tZGlydHkgd2l0aCAtLXdvcmstdHJlZScgJworCSgKKwkJY2QgIiRURVNUX0RJUkVDVE9SWSIgJiYKKwkJZ2l0IC0tZ2l0LWRpciAiJFRSQVNIX0RJUkVDVE9SWS8uZ2l0IiAtLXdvcmstdHJlZSAiJFRSQVNIX0RJUkVDVE9SWSIgZGVzY3JpYmUgLS1kaXJ0eSA+IiRUUkFTSF9ESVJFQ1RPUlkvb3V0IgorCSkgJiYKKwlncmVwIC1FICJeQS1bMS05XVswLTldPy1nWzAtOWEtZl0rJCIgb3V0CisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldC11cCBkaXJ0eSB3b3JrIHRyZWUnICcKIAllY2hvID4+ZmlsZQogJwogCiBjaGVja19kZXNjcmliZSAiQS0qWzAtOWEtZl0tZGlydHkiIC0tZGlydHkKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVzY3JpYmUgLS1kaXJ0eSB3aXRoIC0td29yay10cmVlIChkaXJ0eSknICcKKwkoCisJCWNkICIkVEVTVF9ESVJFQ1RPUlkiICYmCisJCWdpdCAtLWdpdC1kaXIgIiRUUkFTSF9ESVJFQ1RPUlkvLmdpdCIgLS13b3JrLXRyZWUgIiRUUkFTSF9ESVJFQ1RPUlkiIGRlc2NyaWJlIC0tZGlydHkgPiIkVFJBU0hfRElSRUNUT1JZL291dCIKKwkpICYmCisJZ3JlcCAtRSAiXkEtWzEtOV1bMC05XT8tZ1swLTlhLWZdKy1kaXJ0eSQiIG91dAorJworCiBjaGVja19kZXNjcmliZSAiQS0qWzAtOWEtZl0ubW9kIiAtLWRpcnR5PS5tb2QKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVzY3JpYmUgLS1kaXJ0eT0ubW9kIHdpdGggLS13b3JrLXRyZWUgKGRpcnR5KScgJworCSgKKwkJY2QgIiRURVNUX0RJUkVDVE9SWSIgJiYKKwkJZ2l0IC0tZ2l0LWRpciAiJFRSQVNIX0RJUkVDVE9SWS8uZ2l0IiAtLXdvcmstdHJlZSAiJFRSQVNIX0RJUkVDVE9SWSIgZGVzY3JpYmUgLS1kaXJ0eT0ubW9kID4iJFRSQVNIX0RJUkVDVE9SWS9vdXQiCisJKSAmJgorCWdyZXAgLUUgIl5BLVsxLTldWzAtOV0/LWdbMC05YS1mXSsubW9kJCIgb3V0CisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Rlc2NyaWJlIC0tZGlydHkgSEVBRCcgJwogCXRlc3RfbXVzdF9mYWlsIGdpdCBkZXNjcmliZSAtLWRpcnR5IEhFQUQKICcKQEAgLTMwMyw4ICszMzIsMTcgQEAKIAltdiAuZ2l0L21vZHVsZXMvc3ViMS8gLmdpdC9tb2R1bGVzL3N1Yl9tb3ZlZCAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBkZXNjcmliZSAtLWRpcnR5CiAnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Rlc2NyaWJlIGlnbm9yaW5nIGEgYnJva2VuIHN1Ym1vZHVsZScgJwogCWdpdCBkZXNjcmliZSAtLWJyb2tlbiA+b3V0ICYmCisJZ3JlcCBicm9rZW4gb3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Rlc2NyaWJlIHdpdGggLS13b3JrLXRyZWUgaWdub3JpbmcgYSBicm9rZW4gc3VibW9kdWxlJyAnCisJKAorCQljZCAiJFRFU1RfRElSRUNUT1JZIiAmJgorCQlnaXQgLS1naXQtZGlyICIkVFJBU0hfRElSRUNUT1JZLy5naXQiIC0td29yay10cmVlICIkVFJBU0hfRElSRUNUT1JZIiBkZXNjcmliZSAtLWJyb2tlbiA+IiRUUkFTSF9ESVJFQ1RPUlkvb3V0IgorCSkgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgIm12IC5naXQvbW9kdWxlcy9zdWJfbW92ZWQgLmdpdC9tb2R1bGVzL3N1YjEiICYmCiAJZ3JlcCBicm9rZW4gb3V0CiAnCkBAIC0zNDMsNyArMzgxLDcgQEAKIAl0ZXN0X2kxOG5ncmVwICJmYXRhbDogdGVzdC1ibG9iLTEgaXMgbmVpdGhlciBhIGNvbW1pdCBub3IgYmxvYiIgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X2ZhaWx1cmUgVUxJTUlUX1NUQUNLX1NJWkUgJ25hbWUtcmV2IHdvcmtzIGluIGEgZGVlcCByZXBvJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFVMSU1JVF9TVEFDS19TSVpFICduYW1lLXJldiB3b3JrcyBpbiBhIGRlZXAgcmVwbycgJwogCWk9MSAmJgogCXdoaWxlIHRlc3QgJGkgLWx0IDgwMDAKIAlkbwpAQCAtMzg1LDQgKzQyMywxMTEgQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgZGVzY3JpYmUgJFpFUk9fT0lECiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25hbWUtcmV2IGEgcmV2IHNob3J0bHkgYWZ0ZXIgZXBvY2gnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBjaGVja291dCBtYXN0ZXIiICYmCisKKwlnaXQgY2hlY2tvdXQgLS1vcnBoYW4gbm8tdGltZXN0YW1wLXVuZGVyZmxvdyAmJgorCSMgQW55IGRhdGUgY2xvc2VyIHRvIGVwb2NoIHRoYW4gdGhlIENVVE9GRl9EQVRFX1NMT1AgY29uc3RhbnQKKwkjIGluIGJ1aWx0aW4vbmFtZS1yZXYuYy4KKwlHSVRfQ09NTUlUVEVSX0RBVEU9IkAxMjM0ICswMDAwIiBcCisJZ2l0IGNvbW1pdCAtbSAiY29tbWl0dGVyIGRhdGUgc2hvcnRseSBhZnRlciBlcG9jaCIgJiYKKwlvbGRfY29tbWl0X29pZD0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKworCWVjaG8gIiRvbGRfY29tbWl0X29pZCBuby10aW1lc3RhbXAtdW5kZXJmbG93IiA+ZXhwZWN0ICYmCisJZ2l0IG5hbWUtcmV2ICRvbGRfY29tbWl0X29pZCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCisjIEEtLS0tLS0tLS0tLS0tLW1hc3RlcgorIyAgXCAgICAgICAgICAgIC8KKyMgICBcLS0tLS0tLS0tLU0yCisjICAgIFwgICAgICAgIC8KKyMgICAgIFwtLS1NMS1DCisjICAgICAgXCAvCisjICAgICAgIEIKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25hbWUtcmV2IGNvdmVycyBhbGwgY29uZGl0aW9ucyB3aGlsZSBsb29raW5nIGF0IHBhcmVudHMnICcKKwlnaXQgaW5pdCByZXBvICYmCisJKAorCQljZCByZXBvICYmCisKKwkJZWNobyBBID5maWxlICYmCisJCWdpdCBhZGQgZmlsZSAmJgorCQlnaXQgY29tbWl0IC1tIEEgJiYKKwkJQT0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKworCQlnaXQgY2hlY2tvdXQgLS1kZXRhY2ggJiYKKwkJZWNobyBCID5maWxlICYmCisJCWdpdCBjb21taXQgLW0gQiBmaWxlICYmCisJCUI9JChnaXQgcmV2LXBhcnNlIEhFQUQpICYmCisKKwkJZ2l0IGNoZWNrb3V0ICRBICYmCisJCWdpdCBtZXJnZSAtLW5vLWZmICRCICYmICAjIE0xCisKKwkJZWNobyBDID5maWxlICYmCisJCWdpdCBjb21taXQgLW0gQyBmaWxlICYmCisKKwkJZ2l0IGNoZWNrb3V0ICRBICYmCisJCWdpdCBtZXJnZSAtLW5vLWZmIEhFQURAezF9ICYmICMgTTIKKworCQlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCisJCWdpdCBtZXJnZSAtLW5vLWZmIEhFQURAezF9ICYmCisKKwkJZWNobyAiJEIgbWFzdGVyXjJeMn4xXjIiID5leHBlY3QgJiYKKwkJZ2l0IG5hbWUtcmV2ICRCID5hY3R1YWwgJiYKKworCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJKQorJworCisjICAgICAgICAgICAgICAgQgorIyAgICAgICAgICAgICAgIG8KKyMgICAgICAgICAgICAgICAgXAorIyAgby0tLS0tby0tLW8tLS0teAorIyAgICAgICAgQQorIwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVzY3JpYmUgY29tbWl0cyB3aXRoIGRpc2pvaW50IGJhc2VzJyAnCisJZ2l0IGluaXQgZGlzam9pbnQxICYmCisJKAorCQljZCBkaXNqb2ludDEgJiYKKworCQllY2hvIG8gPj4gZmlsZSAmJiBnaXQgYWRkIGZpbGUgJiYgZ2l0IGNvbW1pdCAtbSBvICYmCisJCWVjaG8gQSA+PiBmaWxlICYmIGdpdCBhZGQgZmlsZSAmJiBnaXQgY29tbWl0IC1tIEEgJiYKKwkJZ2l0IHRhZyBBIC1hIC1tIEEgJiYKKwkJZWNobyBvID4+IGZpbGUgJiYgZ2l0IGFkZCBmaWxlICYmIGdpdCBjb21taXQgLW0gbyAmJgorCisJCWdpdCBjaGVja291dCAtLW9ycGhhbiBicmFuY2ggJiYgcm0gZmlsZSAmJgorCQllY2hvIEIgPiBmaWxlMiAmJiBnaXQgYWRkIGZpbGUyICYmIGdpdCBjb21taXQgLW0gQiAmJgorCQlnaXQgdGFnIEIgLWEgLW0gQiAmJgorCQlnaXQgbWVyZ2UgLS1uby1mZiAtLWFsbG93LXVucmVsYXRlZC1oaXN0b3JpZXMgbWFzdGVyIC1tIHggJiYKKworCQljaGVja19kZXNjcmliZSAiQS0zLSoiIEhFQUQKKwkpCisnCisKKyMgICAgICAgICAgIEIKKyMgICBvLS0tby0tLW8tLS0tLS0tLS0tLS0uCisjICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyMgICAgICAgICAgICAgICAgICBvLS0tby0tLXgKKyMgICAgICAgICAgICAgICAgICBBCisjCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZXNjcmliZSBjb21taXRzIHdpdGggZGlzam9pbnQgYmFzZXMgMicgJworCWdpdCBpbml0IGRpc2pvaW50MiAmJgorCSgKKwkJY2QgZGlzam9pbnQyICYmCisKKwkJZWNobyBBID4+IGZpbGUgJiYgZ2l0IGFkZCBmaWxlICYmIEdJVF9DT01NSVRURVJfREFURT0iMjAyMC0wMS0wMSAxODowMCIgZ2l0IGNvbW1pdCAtbSBBICYmCisJCWdpdCB0YWcgQSAtYSAtbSBBICYmCisJCWVjaG8gbyA+PiBmaWxlICYmIGdpdCBhZGQgZmlsZSAmJiBHSVRfQ09NTUlUVEVSX0RBVEU9IjIwMjAtMDEtMDEgMTg6MDEiIGdpdCBjb21taXQgLW0gbyAmJgorCisJCWdpdCBjaGVja291dCAtLW9ycGhhbiBicmFuY2ggJiYKKwkJZWNobyBvID4+IGZpbGUyICYmIGdpdCBhZGQgZmlsZTIgJiYgR0lUX0NPTU1JVFRFUl9EQVRFPSIyMDIwLTAxLTAxIDE1OjAwIiBnaXQgY29tbWl0IC1tIG8gJiYKKwkJZWNobyBvID4+IGZpbGUyICYmIGdpdCBhZGQgZmlsZTIgJiYgR0lUX0NPTU1JVFRFUl9EQVRFPSIyMDIwLTAxLTAxIDE1OjAxIiBnaXQgY29tbWl0IC1tIG8gJiYKKwkJZWNobyBCID4+IGZpbGUyICYmIGdpdCBhZGQgZmlsZTIgJiYgR0lUX0NPTU1JVFRFUl9EQVRFPSIyMDIwLTAxLTAxIDE1OjAyIiBnaXQgY29tbWl0IC1tIEIgJiYKKwkJZ2l0IHRhZyBCIC1hIC1tIEIgJiYKKwkJZ2l0IG1lcmdlIC0tbm8tZmYgLS1hbGxvdy11bnJlbGF0ZWQtaGlzdG9yaWVzIG1hc3RlciAtbSB4ICYmCisKKwkJY2hlY2tfZGVzY3JpYmUgIkItMy0qIiBIRUFECisJKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDYxMzUtcGF0aHNwZWMtd2l0aC1hdHRycy5zaCBiL3QvdDYxMzUtcGF0aHNwZWMtd2l0aC1hdHRycy5zaAppbmRleCBlNDM2YTczLi40NTdjYzE2IDEwMDc1NQotLS0gYS90L3Q2MTM1LXBhdGhzcGVjLXdpdGgtYXR0cnMuc2gKKysrIGIvdC90NjEzNS1wYXRoc3BlYy13aXRoLWF0dHJzLnNoCkBAIC0zMSw3ICszMSw3IEBACiAJbWtkaXIgc3ViICYmCiAJd2hpbGUgcmVhZCBwYXRoCiAJZG8KLQkJOiA+JHBhdGggJiYKKwkJZWNobyBjb250ZW50ID4kcGF0aCAmJgogCQlnaXQgYWRkICRwYXRoIHx8IHJldHVybiAxCiAJZG9uZSA8ZXhwZWN0ICYmCiAJZ2l0IGNvbW1pdCAtbSAiaW5pdGlhbCBjb21taXQiICYmCkBAIC00OCw2ICs0OCwxMCBAQAogCXRlc3RfbXVzdF9iZV9lbXB0eSBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAncGF0aHNwZWMgd2l0aCBsYWJlbHMgYW5kIG5vbiBleGlzdGVudCAuZ2l0YXR0cmlidXRlcyAoMiknICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgZ3JlcCBjb250ZW50IEhFQUQgLS0gIjooYXR0cjpsYWJlbCkiCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIC5naXRhdHRyaWJ1dGVzJyAnCiAJY2F0IDw8LVxFT0YgPi5naXRhdHRyaWJ1dGVzICYmCiAJZmlsZUEgbGFiZWxBCkBAIC03NCw2ICs3OCwxNSBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgc3BlY2lmaWMgc2V0IGF0dHIgKDIpJyAnCisJY2F0IDw8LVxFT0YgPmV4cGVjdCAmJgorCUhFQUQ6ZmlsZVNldExhYmVsCisJSEVBRDpzdWIvZmlsZVNldExhYmVsCisJRU9GCisJZ2l0IGdyZXAgLWwgY29udGVudCBIRUFEICI6KGF0dHI6bGFiZWwpIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayBzcGVjaWZpYyB1bnNldCBhdHRyJyAnCiAJY2F0IDw8LVxFT0YgPmV4cGVjdCAmJgogCWZpbGVVbnNldExhYmVsCkBAIC04Myw2ICs5NiwxNSBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgc3BlY2lmaWMgdW5zZXQgYXR0ciAoMiknICcKKwljYXQgPDwtXEVPRiA+ZXhwZWN0ICYmCisJSEVBRDpmaWxlVW5zZXRMYWJlbAorCUhFQUQ6c3ViL2ZpbGVVbnNldExhYmVsCisJRU9GCisJZ2l0IGdyZXAgLWwgY29udGVudCBIRUFEICI6KGF0dHI6LWxhYmVsKSIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgc3BlY2lmaWMgdmFsdWUgYXR0cicgJwogCWNhdCA8PC1cRU9GID5leHBlY3QgJiYKIAlmaWxlVmFsdWUKQEAgLTk0LDYgKzExNiwxNiBAQAogCXRlc3RfbXVzdF9iZV9lbXB0eSBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgc3BlY2lmaWMgdmFsdWUgYXR0ciAoMiknICcKKwljYXQgPDwtXEVPRiA+ZXhwZWN0ICYmCisJSEVBRDpmaWxlVmFsdWUKKwlIRUFEOnN1Yi9maWxlVmFsdWUKKwlFT0YKKwlnaXQgZ3JlcCAtbCBjb250ZW50IEhFQUQgIjooYXR0cjpsYWJlbD1mb28pIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBncmVwIC1sIGNvbnRlbnQgSEVBRCAiOihhdHRyOmxhYmVsPWJhcikiCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrIHVuc3BlY2lmaWVkIGF0dHInICcKIAljYXQgPDwtXEVPRiA+ZXhwZWN0ICYmCiAJLmdpdGF0dHJpYnV0ZXMKQEAgLTExOCw2ICsxNTAsMzAgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrIHVuc3BlY2lmaWVkIGF0dHIgKDIpJyAnCisJY2F0IDw8LVxFT0YgPmV4cGVjdCAmJgorCUhFQUQ6LmdpdGF0dHJpYnV0ZXMKKwlIRUFEOmZpbGVBCisJSEVBRDpmaWxlQUIKKwlIRUFEOmZpbGVBQworCUhFQUQ6ZmlsZUIKKwlIRUFEOmZpbGVCQworCUhFQUQ6ZmlsZUMKKwlIRUFEOmZpbGVOb0xhYmVsCisJSEVBRDpmaWxlV3JvbmdMYWJlbAorCUhFQUQ6c3ViL2ZpbGVBCisJSEVBRDpzdWIvZmlsZUFCCisJSEVBRDpzdWIvZmlsZUFDCisJSEVBRDpzdWIvZmlsZUIKKwlIRUFEOnN1Yi9maWxlQkMKKwlIRUFEOnN1Yi9maWxlQworCUhFQUQ6c3ViL2ZpbGVOb0xhYmVsCisJSEVBRDpzdWIvZmlsZVdyb25nTGFiZWwKKwlFT0YKKwlnaXQgZ3JlcCAtbCBeIEhFQUQgIjooYXR0cjohbGFiZWwpIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVjayBtdWx0aXBsZSB1bnNwZWNpZmllZCBhdHRyJyAnCiAJY2F0IDw8LVxFT0YgPmV4cGVjdCAmJgogCS5naXRhdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS90L3Q2MjAwLWZtdC1tZXJnZS1tc2cuc2ggYi90L3Q2MjAwLWZtdC1tZXJnZS1tc2cuc2gKaW5kZXggOTNmMjNjZi4uOGE3MmI0YyAxMDA3NTUKLS0tIGEvdC90NjIwMC1mbXQtbWVyZ2UtbXNnLnNoCisrKyBiL3QvdDYyMDAtZm10LW1lcmdlLW1zZy5zaApAQCAtNjYsMTIgKzY2LDcgQEAKIAlnaXQgY29tbWl0IC1hIC1tICJSaWdodCAjNSIgJiYKIAogCWdpdCBjaGVja291dCAtYiBsb25nICYmCi0JaT0wICYmCi0Jd2hpbGUgdGVzdCAkaSAtbHQgMzAKLQlkbwotCQl0ZXN0X2NvbW1pdCAkaSBvbmUgJiYKLQkJaT0kKCgkaSsxKSkKLQlkb25lICYmCisJdGVzdF9jb21taXRfYnVsayAtLXN0YXJ0PTAgLS1tZXNzYWdlPSVzIC0tZmlsZW5hbWU9b25lIDMwICYmCiAKIAlnaXQgc2hvdy1icmFuY2ggJiYKIApkaWZmIC0tZ2l0IGEvdC90NjMwMC1mb3ItZWFjaC1yZWYuc2ggYi90L3Q2MzAwLWZvci1lYWNoLXJlZi5zaAppbmRleCA5N2JmYmVlLi45YzkxMGNlIDEwMDc1NQotLS0gYS90L3Q2MzAwLWZvci1lYWNoLXJlZi5zaAorKysgYi90L3Q2MzAwLWZvci1lYWNoLXJlZi5zaApAQCAtODMsNiArODMsOCBAQAogdGVzdF9hdG9tIGhlYWQgcHVzaDpzdHJpcD0tMSBtYXN0ZXIKIHRlc3RfYXRvbSBoZWFkIG9iamVjdHR5cGUgY29tbWl0CiB0ZXN0X2F0b20gaGVhZCBvYmplY3RzaXplIDE3MQordGVzdF9hdG9tIGhlYWQgb2JqZWN0c2l6ZTpkaXNrIDEzOAordGVzdF9hdG9tIGhlYWQgZGVsdGFiYXNlIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKIHRlc3RfYXRvbSBoZWFkIG9iamVjdG5hbWUgJChnaXQgcmV2LXBhcnNlIHJlZnMvaGVhZHMvbWFzdGVyKQogdGVzdF9hdG9tIGhlYWQgb2JqZWN0bmFtZTpzaG9ydCAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCByZWZzL2hlYWRzL21hc3RlcikKIHRlc3RfYXRvbSBoZWFkIG9iamVjdG5hbWU6c2hvcnQ9MSAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydD0xIHJlZnMvaGVhZHMvbWFzdGVyKQpAQCAtMTI0LDYgKzEyNiwxMCBAQAogdGVzdF9hdG9tIHRhZyBwdXNoICcnCiB0ZXN0X2F0b20gdGFnIG9iamVjdHR5cGUgdGFnCiB0ZXN0X2F0b20gdGFnIG9iamVjdHNpemUgMTU0Cit0ZXN0X2F0b20gdGFnIG9iamVjdHNpemU6ZGlzayAxMzgKK3Rlc3RfYXRvbSB0YWcgJypvYmplY3RzaXplOmRpc2snIDEzOAordGVzdF9hdG9tIHRhZyBkZWx0YWJhc2UgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAordGVzdF9hdG9tIHRhZyAnKmRlbHRhYmFzZScgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAogdGVzdF9hdG9tIHRhZyBvYmplY3RuYW1lICQoZ2l0IHJldi1wYXJzZSByZWZzL3RhZ3MvdGVzdHRhZykKIHRlc3RfYXRvbSB0YWcgb2JqZWN0bmFtZTpzaG9ydCAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCByZWZzL3RhZ3MvdGVzdHRhZykKIHRlc3RfYXRvbSBoZWFkIG9iamVjdG5hbWU6c2hvcnQ9MSAkKGdpdCByZXYtcGFyc2UgLS1zaG9ydD0xIHJlZnMvaGVhZHMvbWFzdGVyKQpAQCAtMzQwLDYgKzM0NiwzMiBAQAogJwogCiBjYXQgPmV4cGVjdGVkIDw8XEVPRgorcmVmcy90YWdzL3Rlc3R0YWcKK3JlZnMvdGFncy90ZXN0dGFnLTIKK0VPRgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdleGVyY2lzZSBwYXR0ZXJucyB3aXRoIHByZWZpeGVzJyAnCisJZ2l0IHRhZyB0ZXN0dGFnLTIgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCB0YWcgLWQgdGVzdHRhZy0yIiAmJgorCWdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUocmVmbmFtZSkiIFwKKwkJcmVmcy90YWdzL3Rlc3R0YWcgcmVmcy90YWdzL3Rlc3R0YWctMiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK2NhdCA+ZXhwZWN0ZWQgPDxcRU9GCityZWZzL3RhZ3MvdGVzdHRhZworcmVmcy90YWdzL3Rlc3R0YWctMgorRU9GCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2V4ZXJjaXNlIGdsb2IgcGF0dGVybnMgd2l0aCBwcmVmaXhlcycgJworCWdpdCB0YWcgdGVzdHRhZy0yICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgdGFnIC1kIHRlc3R0YWctMiIgJiYKKwlnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKHJlZm5hbWUpIiBcCisJCXJlZnMvdGFncy90ZXN0dGFnICJyZWZzL3RhZ3MvdGVzdHRhZy0qIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK2NhdCA+ZXhwZWN0ZWQgPDxcRU9GCiAncmVmcy9oZWFkcy9tYXN0ZXInCiAncmVmcy9yZW1vdGVzL29yaWdpbi9tYXN0ZXInCiAncmVmcy90YWdzL3Rlc3R0YWcnCkBAIC0zODYsOCArNDE4LDE1IEBACiB0ZXN0X2F0b20gaGVhZCB1cHN0cmVhbTp0cmFja3Nob3J0ICc+JwogdGVzdF9hdG9tIGhlYWQgdXBzdHJlYW06dHJhY2ssbm9icmFja2V0ICdhaGVhZCAxJwogdGVzdF9hdG9tIGhlYWQgdXBzdHJlYW06bm9icmFja2V0LHRyYWNrICdhaGVhZCAxJwotdGVzdF9hdG9tIGhlYWQgcHVzaDp0cmFjayAnW2FoZWFkIDFdJwotdGVzdF9hdG9tIGhlYWQgcHVzaDp0cmFja3Nob3J0ICc+JworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBmb3IgcHVzaDp0cmFja1tzaG9ydF0nICcKKwl0ZXN0X2NvbW1pdCB0aGlyZCAmJgorCWdpdCB1cGRhdGUtcmVmIHJlZnMvcmVtb3Rlcy9teWZvcmsvbWFzdGVyIG1hc3RlciAmJgorCWdpdCByZXNldCBtYXN0ZXJ+MQorJworCit0ZXN0X2F0b20gaGVhZCBwdXNoOnRyYWNrICdbYmVoaW5kIDFdJwordGVzdF9hdG9tIGhlYWQgcHVzaDp0cmFja3Nob3J0ICc8JwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdDaGVjayB0aGF0IDp0cmFja1tzaG9ydF0gY2Fubm90IGJlIHVzZWQgd2l0aCBvdGhlciBhdG9tcycgJwogCXRlc3RfbXVzdF9mYWlsIGdpdCBmb3ItZWFjaC1yZWYgLS1mb3JtYXQ9IiUocmVmbmFtZTp0cmFjaykiIDI+L2Rldi9udWxsICYmCkBAIC00MTQsOCArNDUzLDEwIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXQgdXAgY29sb3IgdGVzdHMnICcKIAljYXQgPmV4cGVjdGVkLmNvbG9yIDw8LUVPRiAmJgogCSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IHJlZnMvaGVhZHMvbWFzdGVyKSA8R1JFRU4+bWFzdGVyPFJFU0VUPgorCSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IHJlZnMvcmVtb3Rlcy9teWZvcmsvbWFzdGVyKSA8R1JFRU4+bXlmb3JrL21hc3RlcjxSRVNFVD4KIAkkKGdpdCByZXYtcGFyc2UgLS1zaG9ydCByZWZzL3JlbW90ZXMvb3JpZ2luL21hc3RlcikgPEdSRUVOPm9yaWdpbi9tYXN0ZXI8UkVTRVQ+CiAJJChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgcmVmcy90YWdzL3Rlc3R0YWcpIDxHUkVFTj50ZXN0dGFnPFJFU0VUPgorCSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IHJlZnMvdGFncy90aGlyZCkgPEdSRUVOPnRoaXJkPFJFU0VUPgogCSQoZ2l0IHJldi1wYXJzZSAtLXNob3J0IHJlZnMvdGFncy90d28pIDxHUkVFTj50d288UkVTRVQ+CiAJRU9GCiAJc2VkICJzLzxbXj5dKj4vL2ciIDxleHBlY3RlZC5jb2xvciA+ZXhwZWN0ZWQuYmFyZSAmJgpAQCAtNDg1LDYgKzUyNiwyNSBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgdGFnIHdpdGhvdXQgdGFnZ2VyJyAnCisJZ2l0IHRhZyAtYSAtbSAiQnJva2VuIHRhZyIgdGFnZ2VybGVzcyAmJgorCWdpdCB0YWcgLWYgdGFnZ2VybGVzcyAkKGdpdCBjYXQtZmlsZSB0YWcgdGFnZ2VybGVzcyB8CisJCXNlZCAtZSAiL150YWdnZXIgL2QiIHwKKwkJZ2l0IGhhc2gtb2JqZWN0IC0tc3RkaW4gLXcgLXQgdGFnKQorJworCit0ZXN0X2F0b20gcmVmcy90YWdzL3RhZ2dlcmxlc3MgdHlwZSAnY29tbWl0JwordGVzdF9hdG9tIHJlZnMvdGFncy90YWdnZXJsZXNzIHRhZyAndGFnZ2VybGVzcycKK3Rlc3RfYXRvbSByZWZzL3RhZ3MvdGFnZ2VybGVzcyB0YWdnZXIgJycKK3Rlc3RfYXRvbSByZWZzL3RhZ3MvdGFnZ2VybGVzcyB0YWdnZXJuYW1lICcnCit0ZXN0X2F0b20gcmVmcy90YWdzL3RhZ2dlcmxlc3MgdGFnZ2VyZW1haWwgJycKK3Rlc3RfYXRvbSByZWZzL3RhZ3MvdGFnZ2VybGVzcyB0YWdnZXJkYXRlICcnCit0ZXN0X2F0b20gcmVmcy90YWdzL3RhZ2dlcmxlc3MgY29tbWl0dGVyICcnCit0ZXN0X2F0b20gcmVmcy90YWdzL3RhZ2dlcmxlc3MgY29tbWl0dGVybmFtZSAnJwordGVzdF9hdG9tIHJlZnMvdGFncy90YWdnZXJsZXNzIGNvbW1pdHRlcmVtYWlsICcnCit0ZXN0X2F0b20gcmVmcy90YWdzL3RhZ2dlcmxlc3MgY29tbWl0dGVyZGF0ZSAnJwordGVzdF9hdG9tIHJlZnMvdGFncy90YWdnZXJsZXNzIHN1YmplY3QgJ0Jyb2tlbiB0YWcnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FuIHVudXN1YWwgdGFnIHdpdGggYW4gaW5jb21wbGV0ZSBsaW5lJyAnCiAKIAlnaXQgdGFnIC1tICJib2dvIiBib2dvICYmCmRpZmYgLS1naXQgYS90L3Q2MzAyLWZvci1lYWNoLXJlZi1maWx0ZXIuc2ggYi90L3Q2MzAyLWZvci1lYWNoLXJlZi1maWx0ZXIuc2gKaW5kZXggZmMwNjdlZC4uMzU0MDhkNSAxMDA3NTUKLS0tIGEvdC90NjMwMi1mb3ItZWFjaC1yZWYtZmlsdGVyLnNoCisrKyBiL3QvdDYzMDItZm9yLWVhY2gtcmVmLWZpbHRlci5zaApAQCAtNDQxLDQgKzQ0MSwxNyBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBmb3ItZWFjaC1yZWYgLS1tZXJnZWQgSEVBRCAtLW5vLW1lcmdlZCBIRUFECiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ZhbGlkYXRlIHdvcmt0cmVlIGF0b20nICcKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwltYXN0ZXI6ICQocHdkKQorCW1hc3Rlcl93b3JrdHJlZTogJChwd2QpL3dvcmt0cmVlX2RpcgorCXNpZGU6IG5vdCBjaGVja2VkIG91dAorCUVPRgorCWdpdCB3b3JrdHJlZSBhZGQgLWIgbWFzdGVyX3dvcmt0cmVlIHdvcmt0cmVlX2RpciBtYXN0ZXIgJiYKKwlnaXQgZm9yLWVhY2gtcmVmIC0tZm9ybWF0PSIlKHJlZm5hbWU6c2hvcnQpOiAlKGlmKSUod29ya3RyZWVwYXRoKSUodGhlbiklKHdvcmt0cmVlcGF0aCklKGVsc2Upbm90IGNoZWNrZWQgb3V0JShlbmQpIiByZWZzL2hlYWRzLyA+YWN0dWFsICYmCisJcm0gLXIgd29ya3RyZWVfZGlyICYmCisJZ2l0IHdvcmt0cmVlIHBydW5lICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDY1MDAtZ2Muc2ggYi90L3Q2NTAwLWdjLnNoCmluZGV4IDQ2ODRkMDYuLjBhNjlhNjcgMTAwNzU1Ci0tLSBhL3QvdDY1MDAtZ2Muc2gKKysrIGIvdC90NjUwMC1nYy5zaApAQCAtNzEsNiArNzEsOCBAQAogCQlnaXQgZ2MgLS1rZWVwLWxhcmdlc3QtcGFjayAmJgogCQkoIGNkIC5naXQvb2JqZWN0cy9wYWNrICYmIGxzICoucGFjayApID5wYWNrLWxpc3QgJiYKIAkJdGVzdF9saW5lX2NvdW50ID0gMiBwYWNrLWxpc3QgJiYKKwkJYXdrICIvXlAgL3twcmludCBcJDJ9IiA8LmdpdC9vYmplY3RzL2luZm8vcGFja3MgPnBhY2staW5mbyAmJgorCQl0ZXN0X2xpbmVfY291bnQgPSAyIHBhY2staW5mbyAmJgogCQl0ZXN0X3BhdGhfaXNfZmlsZSAkQkFTRV9QQUNLICYmCiAJCWdpdCBmc2NrCiAJKQpAQCAtMTAxLDE0ICsxMDMsMTQgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2MgLS1uby1xdWlldCcgJwotCWdpdCAtYyBnYy53cml0ZUNvbW1pdEdyYXBoPXRydWUgZ2MgLS1uby1xdWlldCA+c3Rkb3V0IDI+c3RkZXJyICYmCisJR0lUX1BST0dSRVNTX0RFTEFZPTAgZ2l0IC1jIGdjLndyaXRlQ29tbWl0R3JhcGg9dHJ1ZSBnYyAtLW5vLXF1aWV0ID5zdGRvdXQgMj5zdGRlcnIgJiYKIAl0ZXN0X211c3RfYmVfZW1wdHkgc3Rkb3V0ICYmCi0JdGVzdF9saW5lX2NvdW50ID0gMSBzdGRlcnIgJiYKIAl0ZXN0X2kxOG5ncmVwICJDb21wdXRpbmcgY29tbWl0IGdyYXBoIGdlbmVyYXRpb24gbnVtYmVycyIgc3RkZXJyCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgVFRZICd3aXRoIFRUWTogZ2MgLS1uby1xdWlldCcgJwotCXRlc3RfdGVybWluYWwgZ2l0IC1jIGdjLndyaXRlQ29tbWl0R3JhcGg9dHJ1ZSBnYyAtLW5vLXF1aWV0ID5zdGRvdXQgMj5zdGRlcnIgJiYKKwl0ZXN0X3Rlcm1pbmFsIGVudiBHSVRfUFJPR1JFU1NfREVMQVk9MCBcCisJCWdpdCAtYyBnYy53cml0ZUNvbW1pdEdyYXBoPXRydWUgZ2MgLS1uby1xdWlldCA+c3Rkb3V0IDI+c3RkZXJyICYmCiAJdGVzdF9tdXN0X2JlX2VtcHR5IHN0ZG91dCAmJgogCXRlc3RfaTE4bmdyZXAgIkVudW1lcmF0aW5nIG9iamVjdHMiIHN0ZGVyciAmJgogCXRlc3RfaTE4bmdyZXAgIkNvbXB1dGluZyBjb21taXQgZ3JhcGggZ2VuZXJhdGlvbiBudW1iZXJzIiBzdGRlcnIKQEAgLTEyMCw2ICsxMjIsMjUgQEAKIAl0ZXN0X211c3RfYmVfZW1wdHkgc3RkZXJyCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2djLnJlZmxvZ0V4cGlyZXtVbnJlYWNoYWJsZSx9PW5ldmVyIHNraXBzICJleHBpcmUiIHZpYSAiZ2MiJyAnCisJdGVzdF9jb25maWcgZ2MucmVmbG9nRXhwaXJlIG5ldmVyICYmCisJdGVzdF9jb25maWcgZ2MucmVmbG9nRXhwaXJlVW5yZWFjaGFibGUgbmV2ZXIgJiYKKworCUdJVF9UUkFDRT0kKHB3ZCkvdHJhY2Uub3V0IGdpdCBnYyAmJgorCisJIyBDaGVjayB0aGF0IGdpdC1wYWNrLXJlZnMgaXMgcnVuIGFzIGEgc2FuaXR5IGNoZWNrIChkb25lIHZpYQorCSMgZ2NfYmVmb3JlX3JlcGFjaygpKSBidXQgdGhhdCBnaXQtZXhwaXJlIGlzIG5vdC4KKwlncmVwIC1FICJedHJhY2U6IChidWlsdC1pbnxleGVjfHJ1bl9jb21tYW5kKTogZ2l0IHBhY2stcmVmcyAtLSIgdHJhY2Uub3V0ICYmCisJISBncmVwIC1FICJedHJhY2U6IChidWlsdC1pbnxleGVjfHJ1bl9jb21tYW5kKTogZ2l0IHJlZmxvZyBleHBpcmUgLS0iIHRyYWNlLm91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdvbmUgb2YgZ2MucmVmbG9nRXhwaXJle1VucmVhY2hhYmxlLH09bmV2ZXIgZG9lcyBub3Qgc2tpcCAiZXhwaXJlIiB2aWEgImdjIicgJworCT50cmFjZS5vdXQgJiYKKwl0ZXN0X2NvbmZpZyBnYy5yZWZsb2dFeHBpcmUgbmV2ZXIgJiYKKwlHSVRfVFJBQ0U9JChwd2QpL3RyYWNlLm91dCBnaXQgZ2MgJiYKKwlncmVwIC1FICJedHJhY2U6IChidWlsdC1pbnxleGVjfHJ1bl9jb21tYW5kKTogZ2l0IHJlZmxvZyBleHBpcmUgLS0iIHRyYWNlLm91dAorJworCiBydW5fYW5kX3dhaXRfZm9yX2F1dG9fZ2MgKCkgewogCSMgV2UgcmVhZCBzdGRvdXQgZnJvbSBnYyBmb3IgdGhlIHNpZGUgZWZmZWN0IG9mIHdhaXRpbmcgdW50aWwgdGhlCiAJIyBiYWNrZ3JvdW5kIGdjIHByb2Nlc3MgZXhpdHMsIGNsb3NpbmcgaXRzIGZkIDkuICBGdXJ0aGVybW9yZSwgdGhlCkBAIC0xNjIsNyArMTgzLDE1IEBACiAJIyBub3cgZmFrZSBhIGNvbmN1cnJlbnQgZ2MgdGhhdCBob2xkcyB0aGUgbG9jazsgd2UgY2FuIHVzZSBvdXIKIAkjIHNoZWxsIHBpZCBzbyB0aGF0IGl0IGxvb2tzIHZhbGlkLgogCWhvc3RuYW1lPSQoaG9zdG5hbWUgfHwgZWNobyB1bmtub3duKSAmJgotCXByaW50ZiAiJCQgJXMiICIkaG9zdG5hbWUiID4uZ2l0L2djLnBpZCAmJgorCXNoZWxsX3BpZD0kJCAmJgorCWlmIHRlc3RfaGF2ZV9wcmVyZXEgTUlOR1cgJiYgdGVzdCAtZiAvcHJvYy8kc2hlbGxfcGlkL3dpbnBpZAorCXRoZW4KKwkJIyBJbiBHaXQgZm9yIFdpbmRvd3MsIEJhc2ggKGFjdHVhbGx5LCB0aGUgTVNZUzIgcnVudGltZSkgaGFzIGEKKwkJIyBkaWZmZXJlbnQgaWRlYSBvZiBQSURzIHRoYW4gZ2l0LmV4ZSAoYWN0dWFsbHkgV2luZG93cykuIFVzZQorCQkjIHRoZSBXaW5kb3dzIFBJRCBpbiB0aGlzIGNhc2UuCisJCXNoZWxsX3BpZD0kKGNhdCAvcHJvYy8kc2hlbGxfcGlkL3dpbnBpZCkKKwlmaSAmJgorCXByaW50ZiAiJWQgJXMiICIkc2hlbGxfcGlkIiAiJGhvc3RuYW1lIiA+LmdpdC9nYy5waWQgJiYKIAogCSMgb3VyIGdjIHNob3VsZCBleGl0IHplcm8gd2l0aG91dCBkb2luZyBhbnl0aGluZwogCXJ1bl9hbmRfd2FpdF9mb3JfYXV0b19nYyAmJgpkaWZmIC0tZ2l0IGEvdC90NjUwMS1mcmVzaGVuLW9iamVjdHMuc2ggYi90L3Q2NTAxLWZyZXNoZW4tb2JqZWN0cy5zaAppbmRleCAwMzM4NzFlLi5mMzBiNDg0IDEwMDc1NQotLS0gYS90L3Q2NTAxLWZyZXNoZW4tb2JqZWN0cy5zaAorKysgYi90L3Q2NTAxLWZyZXNoZW4tb2JqZWN0cy5zaApAQCAtMTM3LDcgKzEzNyw3IEBACiAJc29tZSBtZXNzYWdlCiAJRU9GCiAJY29tbWl0PSQoZ2l0IGhhc2gtb2JqZWN0IC10IGNvbW1pdCAtdyBicm9rZW4tY29tbWl0KSAmJgotCWdpdCBnYyAyPnN0ZGVyciAmJgorCWdpdCBnYyAtcSAyPnN0ZGVyciAmJgogCXZlcmJvc2UgZ2l0IGNhdC1maWxlIC1lICRjb21taXQgJiYKIAl0ZXN0X211c3RfYmVfZW1wdHkgc3RkZXJyCiAnCkBAIC0xNDcsNyArMTQ3LDcgQEAKIAkxMDA2NDQgYmxvYiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCWZvbwogCUVPRgogCXRyZWU9JChnaXQgbWt0cmVlIC0tbWlzc2luZyA8YnJva2VuLXRyZWUpICYmCi0JZ2l0IGdjIDI+c3RkZXJyICYmCisJZ2l0IGdjIC1xIDI+c3RkZXJyICYmCiAJZ2l0IGNhdC1maWxlIC1lICR0cmVlICYmCiAJdGVzdF9tdXN0X2JlX2VtcHR5IHN0ZGVycgogJwpAQCAtMTYyLDcgKzE2Miw3IEBACiAJdGhpcyBpcyBhIGJyb2tlbiB0YWcKIAlFT0YKIAl0YWc9JChnaXQgaGFzaC1vYmplY3QgLXQgdGFnIC13IGJyb2tlbi10YWcpICYmCi0JZ2l0IGdjIDI+c3RkZXJyICYmCisJZ2l0IGdjIC1xIDI+c3RkZXJyICYmCiAJZ2l0IGNhdC1maWxlIC1lICR0YWcgJiYKIAl0ZXN0X211c3RfYmVfZW1wdHkgc3RkZXJyCiAnCmRpZmYgLS1naXQgYS90L3Q3MDA0LXRhZy5zaCBiL3QvdDcwMDQtdGFnLnNoCmluZGV4IDBiMDE4NjIuLjZkYjkyYmQgMTAwNzU1Ci0tLSBhL3QvdDcwMDQtdGFnLnNoCisrKyBiL3QvdDcwMDQtdGFnLnNoCkBAIC0yMjcsMTAgKzIyNywxMCBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyBcCiAJJ3RyeWluZyB0byBkZWxldGUgdHdvIHRhZ3MsIGV4aXN0aW5nIGFuZCBub3QsIHNob3VsZCBmYWlsIGluIHRoZSAybmQnICcKIAl0YWdfZXhpc3RzIG15dGFnICYmCi0JISB0YWdfZXhpc3RzIG15aGVhZCAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLWQgbXl0YWcgYW5vdGhlcnRhZyAmJgorCSEgdGFnX2V4aXN0cyBub25leGlzdGluZ3RhZyAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB0YWcgLWQgbXl0YWcgbm9uZXhpc3Rpbmd0YWcgJiYKIAkhIHRhZ19leGlzdHMgbXl0YWcgJiYKLQkhIHRhZ19leGlzdHMgbXloZWFkCisJISB0YWdfZXhpc3RzIG5vbmV4aXN0aW5ndGFnCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3RyeWluZyB0byBkZWxldGUgYW4gYWxyZWFkeSBkZWxldGVkIHRhZyBzaG91bGQgZmFpbCcgXApAQCAtNTE3LDcgKzUxNyw2IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFwKIAkndHJ5aW5nIHRvIGNyZWF0ZSB0YWdzIGdpdmluZyBib3RoIC1tIG9yIC1GIG9wdGlvbnMgc2hvdWxkIGZhaWwnICcKIAllY2hvICJtZXNzYWdlIGZpbGUgMSIgPm1zZ2ZpbGUxICYmCi0JZWNobyAibWVzc2FnZSBmaWxlIDIiID5tc2dmaWxlMiAmJgogCSEgdGFnX2V4aXN0cyBtc2d0YWcgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgdGFnIC1tICJtZXNzYWdlIDEiIC1GIG1zZ2ZpbGUxIG1zZ3RhZyAmJgogCSEgdGFnX2V4aXN0cyBtc2d0YWcgJiYKQEAgLTkzMiw2ICs5MzEsMjcgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK2dldF90YWdfaGVhZGVyIGdwZ3NpZ24tZW5hYmxlZCAkY29tbWl0IGNvbW1pdCAkdGltZSA+ZXhwZWN0CitlY2hvICJBIG1lc3NhZ2UiID4+ZXhwZWN0CitlY2hvICctLS0tLUJFR0lOIFBHUCBTSUdOQVRVUkUtLS0tLScgPj5leHBlY3QKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHIFwKKwknZ2l0IHRhZyBjb25maWd1cmVkIHRhZy5ncGdzaWduIGVuYWJsZXMgR1BHIHNpZ24nIFwKKwkndGVzdF9jb25maWcgdGFnLmdwZ3NpZ24gdHJ1ZSAmJgorCWdpdCB0YWcgLW0gIkEgbWVzc2FnZSIgZ3Bnc2lnbi1lbmFibGVkICYmCisJZ2V0X3RhZ19tc2cgZ3Bnc2lnbi1lbmFibGVkPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKworZ2V0X3RhZ19oZWFkZXIgbm8tc2lnbiAkY29tbWl0IGNvbW1pdCAkdGltZSA+ZXhwZWN0CitlY2hvICJBIG1lc3NhZ2UiID4+ZXhwZWN0Cit0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyBcCisJJ2dpdCB0YWcgLS1uby1zaWduIGNvbmZpZ3VyZWQgdGFnLmdwZ3NpZ24gc2tpcCBHUEcgc2lnbicgXAorCSd0ZXN0X2NvbmZpZyB0YWcuZ3Bnc2lnbiB0cnVlICYmCisJZ2l0IHRhZyAtYSAtLW5vLXNpZ24gLW0gIkEgbWVzc2FnZSIgbm8tc2lnbiAmJgorCWdldF90YWdfbXNnIG5vLXNpZ24+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyBcCiAJJ3RyeWluZyB0byBjcmVhdGUgYSBzaWduZWQgdGFnIHdpdGggbm9uLWV4aXN0aW5nIC1GIGZpbGUgc2hvdWxkIGZhaWwnICcKIAkhIHRlc3QgLWYgbm9uZXhpc3RpbmdmaWxlICYmCkBAIC0xMzk5LDcgKzE0MTksNyBAQAogZ2V0X3RhZ19oZWFkZXIgcmV1c2UgJGNvbW1pdCBjb21taXQgJHRpbWUgPmV4cGVjdAogZWNobyAiQW4gYW5ub3RhdGlvbiB0byBiZSByZXVzZWQiID4+IGV4cGVjdAogdGVzdF9leHBlY3Rfc3VjY2VzcyBcCi0JJ292ZXJ3cml0aW5nIGFuIGFubm90ZWQgdGFnIHNob3VsZCB1c2UgaXRzIHByZXZpb3VzIGJvZHknICcKKwknb3ZlcndyaXRpbmcgYW4gYW5ub3RhdGVkIHRhZyBzaG91bGQgdXNlIGl0cyBwcmV2aW91cyBib2R5JyAnCiAJZ2l0IHRhZyAtYSAtbSAiQW4gYW5ub3RhdGlvbiB0byBiZSByZXVzZWQiIHJldXNlICYmCiAJR0lUX0VESVRPUj10cnVlIGdpdCB0YWcgLWYgLWEgcmV1c2UgJiYKIAlnZXRfdGFnX21zZyByZXVzZSA+YWN0dWFsICYmCkBAIC0xNzAwLDYgKzE3MjAsMTcgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlY3Vyc2l2ZSB0YWdnaW5nIHNob3VsZCBnaXZlIGFkdmljZScgJworCXNlZCAtZSAicy98JC8vIiA8PC1FT0YgPmV4cGVjdCAmJgorCWhpbnQ6IFlvdSBoYXZlIGNyZWF0ZWQgYSBuZXN0ZWQgdGFnLiBUaGUgb2JqZWN0IHJlZmVycmVkIHRvIGJ5IHlvdXIgbmV3IHRhZyBpcworCWhpbnQ6IGFscmVhZHkgYSB0YWcuIElmIHlvdSBtZWFudCB0byB0YWcgdGhlIG9iamVjdCB0aGF0IGl0IHBvaW50cyB0bywgdXNlOgorCWhpbnQ6IHwKKwloaW50OiAJZ2l0IHRhZyAtZiBuZXN0ZWQgYW5ub3RhdGVkLXY0LjBee30KKwlFT0YKKwlnaXQgdGFnIC1tIG5lc3RlZCBuZXN0ZWQgYW5ub3RhdGVkLXY0LjAgMj5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtdWx0aXBsZSAtLXBvaW50cy1hdCBhcmUgT1ItZWQgdG9nZXRoZXInICcKIAljYXQgPmV4cGVjdCA8PC1cRU9GICYmCiAJdjIuMApkaWZmIC0tZ2l0IGEvdC90NzAwOS1maWx0ZXItYnJhbmNoLW51bGwtc2hhMS5zaCBiL3QvdDcwMDgtZmlsdGVyLWJyYW5jaC1udWxsLXNoYTEuc2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHQvdDcwMDktZmlsdGVyLWJyYW5jaC1udWxsLXNoYTEuc2gKcmVuYW1lIHRvIHQvdDcwMDgtZmlsdGVyLWJyYW5jaC1udWxsLXNoYTEuc2gKZGlmZiAtLWdpdCBhL3QvdDcwMDgtZ3JlcC1iaW5hcnkuc2ggYi90L3Q3MDA4LWdyZXAtYmluYXJ5LnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAyZDg3YzQ5Li4wMDAwMDAwCi0tLSBhL3QvdDcwMDgtZ3JlcC1iaW5hcnkuc2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNDkgKzAsMCBAQAotIyEvYmluL3NoCi0KLXRlc3RfZGVzY3JpcHRpb249J2dpdCBncmVwIGluIGJpbmFyeSBmaWxlcycKLQotLiAuL3Rlc3QtbGliLnNoCi0KLW51bF9tYXRjaCAoKSB7Ci0JbWF0Y2hlcz0kMQotCWZsYWdzPSQyCi0JcGF0dGVybj0kMwotCXBhdHRlcm5faHVtYW49JChlY2hvICIkcGF0dGVybiIgfCBzZWQgJ3MvUS88TlVMPi9nJykKLQotCWlmIHRlc3QgIiRtYXRjaGVzIiA9IDEKLQl0aGVuCi0JCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImdpdCBncmVwIC1mIGYgJGZsYWdzICckcGF0dGVybl9odW1hbicgYSIgIgotCQkJcHJpbnRmICckcGF0dGVybicgfCBxX3RvX251bCA+ZiAmJgotCQkJZ2l0IGdyZXAgLWYgZiAkZmxhZ3MgYQotCQkiCi0JZWxpZiB0ZXN0ICIkbWF0Y2hlcyIgPSAwCi0JdGhlbgotCQl0ZXN0X2V4cGVjdF9zdWNjZXNzICJnaXQgZ3JlcCAtZiBmICRmbGFncyAnJHBhdHRlcm5faHVtYW4nIGEiICIKLQkJCXByaW50ZiAnJHBhdHRlcm4nIHwgcV90b19udWwgPmYgJiYKLQkJCXRlc3RfbXVzdF9mYWlsIGdpdCBncmVwIC1mIGYgJGZsYWdzIGEKLQkJIgotCWVsaWYgdGVzdCAiJG1hdGNoZXMiID0gVDEKLQl0aGVuCi0JCXRlc3RfZXhwZWN0X2ZhaWx1cmUgImdpdCBncmVwIC1mIGYgJGZsYWdzICckcGF0dGVybl9odW1hbicgYSIgIgotCQkJcHJpbnRmICckcGF0dGVybicgfCBxX3RvX251bCA+ZiAmJgotCQkJZ2l0IGdyZXAgLWYgZiAkZmxhZ3MgYQotCQkiCi0JZWxpZiB0ZXN0ICIkbWF0Y2hlcyIgPSBUMAotCXRoZW4KLQkJdGVzdF9leHBlY3RfZmFpbHVyZSAiZ2l0IGdyZXAgLWYgZiAkZmxhZ3MgJyRwYXR0ZXJuX2h1bWFuJyBhIiAiCi0JCQlwcmludGYgJyRwYXR0ZXJuJyB8IHFfdG9fbnVsID5mICYmCi0JCQl0ZXN0X211c3RfZmFpbCBnaXQgZ3JlcCAtZiBmICRmbGFncyBhCi0JCSIKLQllbHNlCi0JCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIlBBTklDOiBUZXN0IGZyYW1ld29yayBlcnJvci4gVW5rbm93biBtYXRjaGVzIHZhbHVlICRtYXRjaGVzIiAnZmFsc2UnCi0JZmkKLX0KLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICIKLQllY2hvICdiaW5hcnlRZmlsZVFtWypdY1Eqw6ZRw7AnIHwgcV90b19udWwgPmEgJiYKLQlnaXQgYWRkIGEgJiYKLQlnaXQgY29tbWl0IC1tLgotIgotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgZ3JlcCBpbmEgYScgJwotCWVjaG8gQmluYXJ5IGZpbGUgYSBtYXRjaGVzID5leHBlY3QgJiYKLQlnaXQgZ3JlcCBpbmEgYSA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgZ3JlcCAtYWggaW5hIGEnICcKLQlnaXQgZ3JlcCAtYWggaW5hIGEgPmFjdHVhbCAmJgotCXRlc3RfY21wIGEgYWN0dWFsCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBncmVwIC1JIGluYSBhJyAnCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IGdyZXAgLUkgaW5hIGEgPmFjdHVhbCAmJgotCXRlc3RfbXVzdF9iZV9lbXB0eSBhY3R1YWwKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGdyZXAgLWMgaW5hIGEnICcKLQllY2hvIGE6MSA+ZXhwZWN0ICYmCi0JZ2l0IGdyZXAgLWMgaW5hIGEgPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGdyZXAgLWwgaW5hIGEnICcKLQllY2hvIGEgPmV4cGVjdCAmJgotCWdpdCBncmVwIC1sIGluYSBhID5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBncmVwIC1MIGJhciBhJyAnCi0JZWNobyBhID5leHBlY3QgJiYKLQlnaXQgZ3JlcCAtTCBiYXIgYSA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgZ3JlcCAtcSBpbmEgYScgJwotCWdpdCBncmVwIC1xIGluYSBhID5hY3R1YWwgJiYKLQl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBncmVwIC1GIGlsZSBhJyAnCi0JZ2l0IGdyZXAgLUYgaWxlIGEKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGdyZXAgLUZpIGlMRSBhJyAnCi0JZ2l0IGdyZXAgLUZpIGlMRSBhCi0nCi0KLSMgVGhpcyB0ZXN0IGFjdHVhbGx5IHBhc3NlcyBvbiBwbGF0Zm9ybXMgd2hlcmUgcmVnZXhlYygpIHN1cHBvcnRzIHRoZQotIyBmbGFnIFJFR19TVEFSVEVORC4KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBncmVwIGlsZSBhJyAnCi0JZ2l0IGdyZXAgaWxlIGEKLScKLQotdGVzdF9leHBlY3RfZmFpbHVyZSAnZ2l0IGdyZXAgLmZpIGEnICcKLQlnaXQgZ3JlcCAuZmkgYQotJwotCi1udWxfbWF0Y2ggMSAnLUYnICd5UWYnCi1udWxfbWF0Y2ggMCAnLUYnICd5UXgnCi1udWxfbWF0Y2ggMSAnLUZpJyAnWVFmJwotbnVsX21hdGNoIDAgJy1GaScgJ1lReCcKLW51bF9tYXRjaCAxICcnICd5UWYnCi1udWxfbWF0Y2ggMCAnJyAneVF4JwotbnVsX21hdGNoIDEgJycgJ8OmUcOwJwotbnVsX21hdGNoIDEgJy1GJyAnZVFtWypdYycKLW51bF9tYXRjaCAxICctRmknICdFUU1bKl1DJwotCi0jIFJlZ2V4IHBhdHRlcm5zIHRoYXQgd291bGQgbWF0Y2ggYnV0IHNob3VsZG4ndCB3aXRoIC1GCi1udWxfbWF0Y2ggMCAnLUYnICd5UVtmXScKLW51bF9tYXRjaCAwICctRicgJ1t5XVFmJwotbnVsX21hdGNoIDAgJy1GaScgJ1lRW0ZdJwotbnVsX21hdGNoIDAgJy1GaScgJ1tZXVFGJwotbnVsX21hdGNoIDAgJy1GJyAnw6ZRW8OwXScKLW51bF9tYXRjaCAwICctRicgJ1vDpl1Rw7AnCi1udWxfbWF0Y2ggMCAnLUZpJyAnw4ZRW8OQXScKLW51bF9tYXRjaCAwICctRmknICdbw4ZdUcOQJwotCi0jIGt3c2V0IGlzIGRpc2FibGVkIG9uIC1pICYgbm9uLUFTQ0lJLiBObyB3YXkgdG8gbWF0Y2ggbm9uLUFTQ0lJIFwwCi0jIHBhdHRlcm5zIGNhc2UtaW5zZW5zaXRpdmVseS4KLW51bF9tYXRjaCBUMSAnLWknICfDhlHDkCcKLQotIyBcMCBpbXBsaWNpdGx5IGRpc2FibGVzIHJlZ2V4ZXMuIFRoaXMgaXMgYW4gdW5kb2N1bWVudGVkIGludGVybmFsCi0jIGxpbWl0YXRpb24uCi1udWxfbWF0Y2ggVDEgJycgJ3lRW2ZdJwotbnVsX21hdGNoIFQxICcnICdbeV1RZicKLW51bF9tYXRjaCBUMSAnLWknICdZUVtGXScKLW51bF9tYXRjaCBUMSAnLWknICdbWV1RZicKLW51bF9tYXRjaCBUMSAnJyAnw6ZRW8OwXScKLW51bF9tYXRjaCBUMSAnJyAnW8OmXVHDsCcKLW51bF9tYXRjaCBUMSAnLWknICfDhlFbw5BdJwotCi0jIC4uLiBiZWNhdXNlIG9mIFwwIGltcGxpY2l0bHkgZGlzYWJsaW5nIHJlZ2V4ZXMgcmVnZXhlcyB0aGF0Ci0jIHNob3VsZC9zaG91bGRuJ3QgbWF0Y2ggZG9uJ3QgZG8gdGhlIHJpZ2h0IHRoaW5nLgotbnVsX21hdGNoIFQxICcnICdlUW0uKmNRJwotbnVsX21hdGNoIFQxICctaScgJ0VRTS4qY1EnCi1udWxfbWF0Y2ggVDAgJycgJ2VRbVsqXWMnCi1udWxfbWF0Y2ggVDAgJy1pJyAnRVFNWypdQycKLQotIyBEdWUgdG8gdGhlIFJFR19TVEFSVEVORCBleHRlbnNpb24gd2hlbiBrd3NldCgpIGlzIGRpc2FibGVkIG9uIC1pICYKLSMgbm9uLUFTQ0lJIHRoZSBzdHJpbmcgd2lsbCBiZSBtYXRjaGVkIGluIGl0cyBlbnRpcmV0eSwgYnV0IHRoZQotIyBwYXR0ZXJuIHdpbGwgYmUgY3V0IG9mZiBhdCB0aGUgZmlyc3QgXDAuCi1udWxfbWF0Y2ggMCAnLWknICdOT01BVENIUcOwJwotbnVsX21hdGNoIFQwICctaScgJ1vDhl1RTk9NQVRDSCcKLW51bF9tYXRjaCBUMCAnLWknICdbw6ZdUU5PTUFUQ0gnCi0jIE1hdGNoZXMsIGJ1dCBmb3IgdGhlIHdyb25nIHJlYXNvbnMsIGp1c3Qgc3RvcHMgYXQgW8OmXQotbnVsX21hdGNoIDEgJy1pJyAnW8OGXVHDsCcKLW51bF9tYXRjaCAxICctaScgJ1vDpl1Rw7AnCi0KLSMgRW5zdXJlIHRoYXQgdGhlIG1hdGNoZXIgZG9lc24ndCByZWdyZXNzIHRvIHNvbWV0aGluZyB0aGF0IHN0b3BzIGF0Ci0jIFwwCi1udWxfbWF0Y2ggMCAnLUYnICd5UVtmXScKLW51bF9tYXRjaCAwICctRmknICdZUVtGXScKLW51bF9tYXRjaCAwICcnICd5UU5PTUFUQ0gnCi1udWxfbWF0Y2ggMCAnJyAnUU5PTUFUQ0gnCi1udWxfbWF0Y2ggMCAnLWknICdZUU5PTUFUQ0gnCi1udWxfbWF0Y2ggMCAnLWknICdRTk9NQVRDSCcKLW51bF9tYXRjaCAwICctRicgJ8OmUVvDsF0nCi1udWxfbWF0Y2ggMCAnLUZpJyAnw4ZRW8OQXScKLW51bF9tYXRjaCAwICcnICd5UU7Dk01BVENIJwotbnVsX21hdGNoIDAgJycgJ1FOw5NNQVRDSCcKLW51bF9tYXRjaCAwICctaScgJ1lRTsOTTUFUQ0gnCi1udWxfbWF0Y2ggMCAnLWknICdRTsOTTUFUQ0gnCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyZXAgcmVzcGVjdHMgYmluYXJ5IGRpZmYgYXR0cmlidXRlJyAnCi0JZWNobyB0ZXh0ID50ICYmCi0JZ2l0IGFkZCB0ICYmCi0JZWNobyB0OnRleHQgPmV4cGVjdCAmJgotCWdpdCBncmVwIHRleHQgdCA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgotCWVjaG8gInQgLWRpZmYiID4uZ2l0YXR0cmlidXRlcyAmJgotCWVjaG8gIkJpbmFyeSBmaWxlIHQgbWF0Y2hlcyIgPmV4cGVjdCAmJgotCWdpdCBncmVwIHRleHQgdCA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIC0tY2FjaGVkIHJlc3BlY3RzIGJpbmFyeSBkaWZmIGF0dHJpYnV0ZScgJwotCWdpdCBncmVwIC0tY2FjaGVkIHRleHQgdCA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIC0tY2FjaGVkIHJlc3BlY3RzIGJpbmFyeSBkaWZmIGF0dHJpYnV0ZSAoMiknICcKLQlnaXQgYWRkIC5naXRhdHRyaWJ1dGVzICYmCi0Jcm0gLmdpdGF0dHJpYnV0ZXMgJiYKLQlnaXQgZ3JlcCAtLWNhY2hlZCB0ZXh0IHQgPmFjdHVhbCAmJgotCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJtIC0tY2FjaGVkIC5naXRhdHRyaWJ1dGVzIiAmJgotCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IGNoZWNrb3V0IC5naXRhdHRyaWJ1dGVzIiAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCByZXZpc2lvbiByZXNwZWN0cyBiaW5hcnkgZGlmZiBhdHRyaWJ1dGUnICcKLQlnaXQgY29tbWl0IC1tIG5ldyAmJgotCWVjaG8gIkJpbmFyeSBmaWxlIEhFQUQ6dCBtYXRjaGVzIiA+ZXhwZWN0ICYmCi0JZ2l0IGdyZXAgdGV4dCBIRUFEIC0tIHQgPmFjdHVhbCAmJgotCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IEhFQUReIiAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCByZXNwZWN0cyBub3QtYmluYXJ5IGRpZmYgYXR0cmlidXRlJyAnCi0JZWNobyBiaW5RYXJ5IHwgcV90b19udWwgPmIgJiYKLQlnaXQgYWRkIGIgJiYKLQllY2hvICJCaW5hcnkgZmlsZSBiIG1hdGNoZXMiID5leHBlY3QgJiYKLQlnaXQgZ3JlcCBiaW4gYiA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgotCWVjaG8gImIgZGlmZiIgPi5naXRhdHRyaWJ1dGVzICYmCi0JZWNobyAiYjpiaW5RYXJ5IiA+ZXhwZWN0ICYmCi0JZ2l0IGdyZXAgYmluIGIgPmFjdHVhbC5yYXcgJiYKLQludWxfdG9fcSA8YWN0dWFsLnJhdyA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAotJwotCi1jYXQgPm51bF90b19xX3RleHRjb252IDw8J0VPRicKLSMhL2Jpbi9zaAotIiRQRVJMX1BBVEgiIC1wZSAneS9cMDAwL1EvJyA8ICIkMSIKLUVPRgotY2htb2QgK3ggbnVsX3RvX3FfdGV4dGNvbnYKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAgdGV4dGNvbnYgZmlsdGVycycgJwotCWVjaG8gYSBkaWZmPWZvbyA+LmdpdGF0dHJpYnV0ZXMgJiYKLQlnaXQgY29uZmlnIGRpZmYuZm9vLnRleHRjb252ICJcIiQocHdkKVwiIi9udWxfdG9fcV90ZXh0Y29udgotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIGRvZXMgbm90IGhvbm9yIHRleHRjb252JyAnCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IGdyZXAgUWZpbGUKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCAtLXRleHRjb252IGhvbm9ycyB0ZXh0Y29udicgJwotCWVjaG8gImE6YmluYXJ5UWZpbGVRbVsqXWNRKsOmUcOwIiA+ZXhwZWN0ICYmCi0JZ2l0IGdyZXAgLS10ZXh0Y29udiBRZmlsZSA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIC0tbm8tdGV4dGNvbnYgZG9lcyBub3QgaG9ub3IgdGV4dGNvbnYnICcKLQl0ZXN0X211c3RfZmFpbCBnaXQgZ3JlcCAtLW5vLXRleHRjb252IFFmaWxlCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyZXAgLS10ZXh0Y29udiBibG9iIGhvbm9ycyB0ZXh0Y29udicgJwotCWVjaG8gIkhFQUQ6YTpiaW5hcnlRZmlsZVFtWypdY1Eqw6ZRw7AiID5leHBlY3QgJiYKLQlnaXQgZ3JlcCAtLXRleHRjb252IFFmaWxlIEhFQUQ6YSA+YWN0dWFsICYmCi0JdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAotJwotCi10ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDcwMTItc2tpcC13b3JrdHJlZS13cml0aW5nLnNoIGIvdC90NzAxMi1za2lwLXdvcmt0cmVlLXdyaXRpbmcuc2gKaW5kZXggOWQxYWJlNS4uNzQ3Njc4MSAxMDA3NTUKLS0tIGEvdC90NzAxMi1za2lwLXdvcmt0cmVlLXdyaXRpbmcuc2gKKysrIGIvdC90NzAxMi1za2lwLXdvcmt0cmVlLXdyaXRpbmcuc2gKQEAgLTEzNCw2ICsxMzQsMjEgQEAKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgcmVzdWx0CiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0taWdub3JlLXNraXAtd29ya3RyZWUtZW50cmllcyBsZWF2ZXMgd29ya3RyZWUgYWxvbmUnICcKKwl0ZXN0X2NvbW1pdCBrZWVwLW1lICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAtLXNraXAtd29ya3RyZWUga2VlcC1tZS50ICYmCisJcm0ga2VlcC1tZS50ICYmCisKKwk6IGlnbm9yaW5nIHRoZSB3b3JrdHJlZSAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1yZW1vdmUgLS1pZ25vcmUtc2tpcC13b3JrdHJlZS1lbnRyaWVzIGtlZXAtbWUudCAmJgorCWdpdCBkaWZmLWluZGV4IC0tY2FjaGVkIC0tZXhpdC1jb2RlIEhFQUQgJiYKKworCTogbm90IGlnbm9yaW5nIHRoZSB3b3JrdHJlZSwgYSBkZWxldGlvbiBpcyBzdGFnZWQgJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tcmVtb3ZlIGtlZXAtbWUudCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmLWluZGV4IC0tY2FjaGVkIC0tZXhpdC1jb2RlIEhFQUQgXAorCQktLWRpZmYtZmlsdGVyPUQgLS0ga2VlcC1tZS50CisnCisKICNUT0RPIHRlc3RfZXhwZWN0X2ZhaWx1cmUgJ2dpdC1hcHBseSBhZGRzIGZpbGUnIGZhbHNlCiAjVE9ETyB0ZXN0X2V4cGVjdF9mYWlsdXJlICdnaXQtYXBwbHkgdXBkYXRlcyBmaWxlJyBmYWxzZQogI1RPRE8gdGVzdF9leHBlY3RfZmFpbHVyZSAnZ2l0LWFwcGx5IHJlbW92ZXMgZmlsZScgZmFsc2UKZGlmZiAtLWdpdCBhL3QvdDcwMzAtdmVyaWZ5LXRhZy5zaCBiL3QvdDcwMzAtdmVyaWZ5LXRhZy5zaAppbmRleCAwNDFlMzE5Li41YzViYzMyIDEwMDc1NQotLS0gYS90L3Q3MDMwLXZlcmlmeS10YWcuc2gKKysrIGIvdC90NzAzMC12ZXJpZnktdGFnLnNoCkBAIC00NCw4ICs0NCw4IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQR1NNICdjcmVhdGUgc2lnbmVkIHRhZ3MgeDUwOSAnICcKIAl0ZXN0X2NvbmZpZyBncGcuZm9ybWF0IHg1MDkgJiYKIAl0ZXN0X2NvbmZpZyB1c2VyLnNpZ25pbmdrZXkgJEdJVF9DT01NSVRURVJfRU1BSUwgJiYKLQllY2hvIDkgPmZpbGUgJiYgdGVzdF90aWNrICYmIGdpdCBjb21taXQgLWEgLW0gIm5pbmV0aCBncGdzbS1zaWduZWQiICYmCi0JZ2l0IHRhZyAtcyAtbSBuaW5ldGggbmluZXRoLXNpZ25lZC14NTA5CisJZWNobyA5ID5maWxlICYmIHRlc3RfdGljayAmJiBnaXQgY29tbWl0IC1hIC1tICJuaW50aCBncGdzbS1zaWduZWQiICYmCisJZ2l0IHRhZyAtcyAtbSBuaW50aCBuaW50aC1zaWduZWQteDUwOQogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyAndmVyaWZ5IGFuZCBzaG93IHNpZ25hdHVyZXMnICcKQEAgLTgwLDEwICs4MCwzNCBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQR1NNICd2ZXJpZnkgYW5kIHNob3cgc2lnbmF0dXJlcyB4NTA5JyAnCi0JZ2l0IHZlcmlmeS10YWcgbmluZXRoLXNpZ25lZC14NTA5IDI+YWN0dWFsICYmCisJZ2l0IHZlcmlmeS10YWcgbmludGgtc2lnbmVkLXg1MDkgMj5hY3R1YWwgJiYKIAlncmVwICJHb29kIHNpZ25hdHVyZSBmcm9tIiBhY3R1YWwgJiYKIAkhIGdyZXAgIkJBRCBzaWduYXR1cmUgZnJvbSIgYWN0dWFsICYmCi0JZWNobyBuaW5ldGgtc2lnbmVkLXg1MDkgT0sKKwllY2hvIG5pbnRoLXNpZ25lZC14NTA5IE9LCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHU00gJ3ZlcmlmeSBhbmQgc2hvdyBzaWduYXR1cmVzIHg1MDkgd2l0aCBsb3cgbWluVHJ1c3RMZXZlbCcgJworCXRlc3RfY29uZmlnIGdwZy5taW5UcnVzdExldmVsIHVuZGVmaW5lZCAmJgorCWdpdCB2ZXJpZnktdGFnIG5pbnRoLXNpZ25lZC14NTA5IDI+YWN0dWFsICYmCisJZ3JlcCAiR29vZCBzaWduYXR1cmUgZnJvbSIgYWN0dWFsICYmCisJISBncmVwICJCQUQgc2lnbmF0dXJlIGZyb20iIGFjdHVhbCAmJgorCWVjaG8gbmludGgtc2lnbmVkLXg1MDkgT0sKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBHUEdTTSAndmVyaWZ5IGFuZCBzaG93IHNpZ25hdHVyZXMgeDUwOSB3aXRoIG1hdGNoaW5nIG1pblRydXN0TGV2ZWwnICcKKwl0ZXN0X2NvbmZpZyBncGcubWluVHJ1c3RMZXZlbCBmdWxseSAmJgorCWdpdCB2ZXJpZnktdGFnIG5pbnRoLXNpZ25lZC14NTA5IDI+YWN0dWFsICYmCisJZ3JlcCAiR29vZCBzaWduYXR1cmUgZnJvbSIgYWN0dWFsICYmCisJISBncmVwICJCQUQgc2lnbmF0dXJlIGZyb20iIGFjdHVhbCAmJgorCWVjaG8gbmludGgtc2lnbmVkLXg1MDkgT0sKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBHUEdTTSAndmVyaWZ5IGFuZCBzaG93IHNpZ25hdHVyZXMgeDUwOSB3aXRoIGhpZ2ggbWluVHJ1c3RMZXZlbCcgJworCXRlc3RfY29uZmlnIGdwZy5taW5UcnVzdExldmVsIHVsdGltYXRlICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHZlcmlmeS10YWcgbmludGgtc2lnbmVkLXg1MDkgMj5hY3R1YWwgJiYKKwlncmVwICJHb29kIHNpZ25hdHVyZSBmcm9tIiBhY3R1YWwgJiYKKwkhIGdyZXAgIkJBRCBzaWduYXR1cmUgZnJvbSIgYWN0dWFsICYmCisJZWNobyBuaW50aC1zaWduZWQteDUwOSBPSwogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyAnZGV0ZWN0IGZ1ZGdlZCBzaWduYXR1cmUnICcKQEAgLTEyNywxMCArMTUxLDEwIEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHU00gJ3ZlcmlmeSBzaWduYXR1cmVzIHdpdGggLS1yYXcgeDUwOScgJwotCWdpdCB2ZXJpZnktdGFnIC0tcmF3IG5pbmV0aC1zaWduZWQteDUwOSAyPmFjdHVhbCAmJgorCWdpdCB2ZXJpZnktdGFnIC0tcmF3IG5pbnRoLXNpZ25lZC14NTA5IDI+YWN0dWFsICYmCiAJZ3JlcCAiR09PRFNJRyIgYWN0dWFsICYmCiAJISBncmVwICJCQURTSUciIGFjdHVhbCAmJgotCWVjaG8gbmluZXRoLXNpZ25lZC14NTA5IE9LCisJZWNobyBuaW50aC1zaWduZWQteDUwOSBPSwogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyAndmVyaWZ5IG11bHRpcGxlIHRhZ3MnICcKQEAgLTE0Nyw3ICsxNzEsNyBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQR1NNICd2ZXJpZnkgbXVsdGlwbGUgdGFncyB4NTA5JyAnCi0JdGFncz0ic2V2ZW50aC1zaWduZWQgbmluZXRoLXNpZ25lZC14NTA5IiAmJgorCXRhZ3M9InNldmVudGgtc2lnbmVkIG5pbnRoLXNpZ25lZC14NTA5IiAmJgogCWZvciBpIGluICR0YWdzCiAJZG8KIAkJZ2l0IHZlcmlmeS10YWcgLXYgLS1yYXcgJGkgfHwgcmV0dXJuIDEKZGlmZiAtLWdpdCBhL3QvdDcwNjAtd3RzdGF0dXMuc2ggYi90L3Q3MDYwLXd0c3RhdHVzLnNoCmluZGV4IDUzY2Y0MmYuLmQ1MjE4NzQgMTAwNzU1Ci0tLSBhL3QvdDcwNjAtd3RzdGF0dXMuc2gKKysrIGIvdC90NzA2MC13dHN0YXR1cy5zaApAQCAtMzgsNyArMzgsNiBAQAogCiBVbm1lcmdlZCBwYXRoczoKICAgKHVzZSAiZ2l0IGFkZC9ybSA8ZmlsZT4uLi4iIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikKLQogCWRlbGV0ZWQgYnkgdXM6ICAgZm9vCiAKIG5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgImdpdCBhZGQiIGFuZC9vciAiZ2l0IGNvbW1pdCAtYSIpCkBAIC0xNDMsNyArMTQyLDYgQEAKIAogVW5tZXJnZWQgcGF0aHM6CiAgICh1c2UgImdpdCBhZGQvcm0gPGZpbGU+Li4uIiBhcyBhcHByb3ByaWF0ZSB0byBtYXJrIHJlc29sdXRpb24pCi0KIAlib3RoIGFkZGVkOiAgICAgIGNvbmZsaWN0LnR4dAogCWRlbGV0ZWQgYnkgdGhlbTogbWFpbi50eHQKIApAQCAtMTc3LDcgKzE3NSw2IEBACiAKIFVubWVyZ2VkIHBhdGhzOgogICAodXNlICJnaXQgYWRkL3JtIDxmaWxlPi4uLiIgYXMgYXBwcm9wcmlhdGUgdG8gbWFyayByZXNvbHV0aW9uKQotCiAJYm90aCBkZWxldGVkOiAgICBtYWluLnR4dAogCWFkZGVkIGJ5IHRoZW06ICAgc3ViX21hc3Rlci50eHQKIAlhZGRlZCBieSB1czogICAgIHN1Yl9zZWNvbmQudHh0CkBAIC0yMDEsMTIgKzE5OCwxMCBAQAogICAodXNlICJnaXQgbWVyZ2UgLS1hYm9ydCIgdG8gYWJvcnQgdGhlIG1lcmdlKQogCiBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLQogCW5ldyBmaWxlOiAgIHN1Yl9tYXN0ZXIudHh0CiAKIFVubWVyZ2VkIHBhdGhzOgogICAodXNlICJnaXQgcm0gPGZpbGU+Li4uIiB0byBtYXJrIHJlc29sdXRpb24pCi0KIAlib3RoIGRlbGV0ZWQ6ICAgIG1haW4udHh0CiAKIFVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQpkaWZmIC0tZ2l0IGEvdC90NzA2MS13dHN0YXR1cy1pZ25vcmUuc2ggYi90L3Q3MDYxLXd0c3RhdHVzLWlnbm9yZS5zaAppbmRleCAwYzM5NGNmLi5lNGNmNTQ4IDEwMDc1NQotLS0gYS90L3Q3MDYxLXd0c3RhdHVzLWlnbm9yZS5zaAorKysgYi90L3Q3MDYxLXd0c3RhdHVzLWlnbm9yZS5zaApAQCAtNDMsMTEgKzQzLDE2IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiBjYXQgPmV4cGVjdGVkIDw8XEVPRgotPz8gdW50cmFja2VkL3VuY29tbWl0dGVkCis/PyB1bnRyYWNrZWQvCiAhISB1bnRyYWNrZWQvaWdub3JlZAogRU9GCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyBwcmVmaXhlZCB1bnRyYWNrZWQgZGlyZWN0b3J5IHdpdGggLS1pZ25vcmVkJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgb2YgdW50cmFja2VkIGRpcmVjdG9yeSB3aXRoIC0taWdub3JlZCB3b3JrcyB3aXRoIG9yIHdpdGhvdXQgcHJlZml4JyAnCisJZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbiAtLWlnbm9yZWQgPnRtcCAmJgorCWdyZXAgdW50cmFja2VkLyB0bXAgPmFjdHVhbCAmJgorCXJtIHRtcCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCiAJZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbiAtLWlnbm9yZWQgdW50cmFja2VkLyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCmRpZmYgLS1naXQgYS90L3Q3MDY0LXd0c3RhdHVzLXB2Mi5zaCBiL3QvdDcwNjQtd3RzdGF0dXMtcHYyLnNoCmluZGV4IDExZWNjYzIuLjUzNzc4N2UgMTAwNzU1Ci0tLSBhL3QvdDcwNjQtd3RzdGF0dXMtcHYyLnNoCisrKyBiL3QvdDcwNjQtd3RzdGF0dXMtcHYyLnNoCkBAIC00NDUsNiArNDQ1LDE0IEBACiAJCUVPRgogCiAJCWdpdCBzdGF0dXMgLS1haGVhZC1iZWhpbmQgLS1wb3JjZWxhaW49djIgLS1icmFuY2ggLS11bnRyYWNrZWQtZmlsZXM9YWxsID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJCSMgQ29uZmlybSB0aGF0ICJzdGF0dXMuYWhlYWRiZWhpbmQiIERPRVMgTk9UIHdvcmsgb24gVjIgZm9ybWF0LgorCQlnaXQgLWMgc3RhdHVzLmFoZWFkYmVoaW5kPWZhbHNlIHN0YXR1cyAtLXBvcmNlbGFpbj12MiAtLWJyYW5jaCAtLXVudHJhY2tlZC1maWxlcz1hbGwgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwkJIyBDb25maXJtIHRoYXQgInN0YXR1cy5haGVhZGJlaGluZCIgRE9FUyBOT1Qgd29yayBvbiBWMiBmb3JtYXQuCisJCWdpdCAtYyBzdGF0dXMuYWhlYWRiZWhpbmQ9dHJ1ZSBzdGF0dXMgLS1wb3JjZWxhaW49djIgLS1icmFuY2ggLS11bnRyYWNrZWQtZmlsZXM9YWxsID5hY3R1YWwgJiYKIAkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogCSkKICcKZGlmZiAtLWdpdCBhL3QvdDcxMDUtcmVzZXQtcGF0Y2guc2ggYi90L3Q3MTA1LXJlc2V0LXBhdGNoLnNoCmluZGV4IGJkMTBhOTYuLmZjMmE2Y2YgMTAwNzU1Ci0tLSBhL3QvdDcxMDUtcmVzZXQtcGF0Y2guc2gKKysrIGIvdC90NzEwNS1yZXNldC1wYXRjaC5zaApAQCAtMzgsNiArMzgsMjcgQEAKIAl0ZXN0X2kxOG5ncmVwICJBcHBseSIgb3V0cHV0CiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnZ2l0IHJlc2V0IC1wIEhFQUReXnt0cmVlfScgJworCXRlc3Rfd3JpdGVfbGluZXMgbiB5IHwgZ2l0IHJlc2V0IC1wIEhFQUReXnt0cmVlfSA+b3V0cHV0ICYmCisJdmVyaWZ5X3N0YXRlIGRpci9mb28gd29yayBwYXJlbnQgJiYKKwl2ZXJpZnlfc2F2ZWRfc3RhdGUgYmFyICYmCisJdGVzdF9pMThuZ3JlcCAiQXBwbHkiIG91dHB1dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ2dpdCByZXNldCAtcCBIRUFEXjpkaXIvZm9vIChibG9iIGZhaWxzKScgJworCXNldF9hbmRfc2F2ZV9zdGF0ZSBkaXIvZm9vIHdvcmsgd29yayAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXNldCAtcCBIRUFEXjpkaXIvZm9vICYmCisJdmVyaWZ5X3NhdmVkX3N0YXRlIGRpci9mb28gJiYKKwl2ZXJpZnlfc2F2ZWRfc3RhdGUgYmFyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUEVSTCAnZ2l0IHJlc2V0IC1wIGFhYWFhYWFhICh1bmtub3duIGZhaWxzKScgJworCXNldF9hbmRfc2F2ZV9zdGF0ZSBkaXIvZm9vIHdvcmsgd29yayAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXNldCAtcCBhYWFhYWFhYSAmJgorCXZlcmlmeV9zYXZlZF9zdGF0ZSBkaXIvZm9vICYmCisJdmVyaWZ5X3NhdmVkX3N0YXRlIGJhcgorJworCiAjIFRoZSBpZGVhIGluIHRoZSByZXN0IGlzIHRoYXQgYmFyIHNvcnRzIGZpcnN0LCBzbyB3ZSBhbHdheXMgc2F5ICd5JwogIyBmaXJzdCBhbmQgaWYgdGhlIHBhdGggbGltaXRlciBmYWlscyBpdCdsbCBhcHBseSB0byBiYXIgaW5zdGVhZCBvZgogIyBkaXIvZm9vLiAgVGhlcmUncyBhbHdheXMgYW4gZXh0cmEgJ24nIHRvIHJlamVjdCBlZGl0cyB0byBkaXIvZm9vIGluCmRpZmYgLS1naXQgYS90L3Q3MTA3LXJlc2V0LXBhdGhzcGVjLWZpbGUuc2ggYi90L3Q3MTA3LXJlc2V0LXBhdGhzcGVjLWZpbGUuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2FkM2E5ZAotLS0gL2Rldi9udWxsCisrKyBiL3QvdDcxMDctcmVzZXQtcGF0aHNwZWMtZmlsZS5zaApAQCAtMCwwICsxLDE3MyBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J3Jlc2V0IC0tcGF0aHNwZWMtZnJvbS1maWxlJworCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF90aWNrCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3Mgc2V0dXAgJworCWVjaG8gQSA+ZmlsZUEudCAmJgorCWVjaG8gQiA+ZmlsZUIudCAmJgorCWVjaG8gQyA+ZmlsZUMudCAmJgorCWVjaG8gRCA+ZmlsZUQudCAmJgorCWdpdCBhZGQgLiAmJgorCWdpdCBjb21taXQgLS1pbmNsdWRlIC4gLW0gIkNvbW1pdCIgJiYKKwlnaXQgdGFnIGNoZWNrcG9pbnQKKycKKworcmVzdG9yZV9jaGVja3BvaW50ICgpIHsKKwlnaXQgcmVzZXQgLS1oYXJkIGNoZWNrcG9pbnQKK30KKwordmVyaWZ5X2V4cGVjdCAoKSB7CisJZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbiAtLSBmaWxlQS50IGZpbGVCLnQgZmlsZUMudCBmaWxlRC50ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tcGF0aHNwZWMtZnJvbS1maWxlIGZyb20gc3RkaW4nICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCWdpdCBybSBmaWxlQS50ICYmCisJZWNobyBmaWxlQS50IHwgZ2l0IHJlc2V0IC0tcGF0aHNwZWMtZnJvbS1maWxlPS0gJiYKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwkgRCBmaWxlQS50CisJRU9GCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXBhdGhzcGVjLWZyb20tZmlsZSBmcm9tIGZpbGUnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCWdpdCBybSBmaWxlQS50ICYmCisJZWNobyBmaWxlQS50ID5saXN0ICYmCisJZ2l0IHJlc2V0IC0tcGF0aHNwZWMtZnJvbS1maWxlPWxpc3QgJiYKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwkgRCBmaWxlQS50CisJRU9GCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdOVUwgZGVsaW1pdGVycycgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJZ2l0IHJtIGZpbGVBLnQgZmlsZUIudCAmJgorCXByaW50ZiAiZmlsZUEudFwwZmlsZUIudFwwIiB8IGdpdCByZXNldCAtLXBhdGhzcGVjLWZyb20tZmlsZT0tIC0tcGF0aHNwZWMtZmlsZS1udWwgJiYKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwkgRCBmaWxlQS50CisJIEQgZmlsZUIudAorCUVPRgorCXZlcmlmeV9leHBlY3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnTEYgZGVsaW1pdGVycycgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJZ2l0IHJtIGZpbGVBLnQgZmlsZUIudCAmJgorCXByaW50ZiAiZmlsZUEudFxuZmlsZUIudFxuIiB8IGdpdCByZXNldCAtLXBhdGhzcGVjLWZyb20tZmlsZT0tICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJIEQgZmlsZUEudAorCSBEIGZpbGVCLnQKKwlFT0YKKwl2ZXJpZnlfZXhwZWN0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vIHRyYWlsaW5nIGRlbGltaXRlcicgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJZ2l0IHJtIGZpbGVBLnQgZmlsZUIudCAmJgorCXByaW50ZiAiZmlsZUEudFxuZmlsZUIudCIgfCBnaXQgcmVzZXQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9LSAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCSBEIGZpbGVBLnQKKwkgRCBmaWxlQi50CisJRU9GCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdDUkxGIGRlbGltaXRlcnMnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCWdpdCBybSBmaWxlQS50IGZpbGVCLnQgJiYKKwlwcmludGYgImZpbGVBLnRcclxuZmlsZUIudFxyXG4iIHwgZ2l0IHJlc2V0IC0tcGF0aHNwZWMtZnJvbS1maWxlPS0gJiYKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwkgRCBmaWxlQS50CisJIEQgZmlsZUIudAorCUVPRgorCXZlcmlmeV9leHBlY3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAncXVvdGVzJyAnCisJcmVzdG9yZV9jaGVja3BvaW50ICYmCisKKwljYXQgPmxpc3QgPDwtXEVPRiAmJgorCSJmaWxlXDEwMS50IgorCUVPRgorCisJZ2l0IHJtIGZpbGVBLnQgJiYKKwlnaXQgcmVzZXQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9bGlzdCAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCSBEIGZpbGVBLnQKKwlFT0YKKwl2ZXJpZnlfZXhwZWN0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3F1b3RlcyBub3QgY29tcGF0aWJsZSB3aXRoIC0tcGF0aHNwZWMtZmlsZS1udWwnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCWNhdCA+bGlzdCA8PC1cRU9GICYmCisJImZpbGVcMTAxLnQiCisJRU9GCisKKwkjIE5vdGU6ICJnaXQgcmVzZXQiIGhhcyBub3QgeWV0IGxlYXJuZWQgdG8gZmFpbCBvbiB3cm9uZyBwYXRoc3BlY3MKKwlnaXQgcmVzZXQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9bGlzdCAtLXBhdGhzcGVjLWZpbGUtbnVsICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJIEQgZmlsZUEudAorCUVPRgorCXRlc3RfbXVzdF9mYWlsIHZlcmlmeV9leHBlY3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnb25seSB0b3VjaGVzIHdoYXQgd2FzIGxpc3RlZCcgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJZ2l0IHJtIGZpbGVBLnQgZmlsZUIudCBmaWxlQy50IGZpbGVELnQgJiYKKwlwcmludGYgImZpbGVCLnRcbmZpbGVDLnRcbiIgfCBnaXQgcmVzZXQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9LSAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCUQgIGZpbGVBLnQKKwkgRCBmaWxlQi50CisJIEQgZmlsZUMudAorCUQgIGZpbGVELnQKKwlFT0YKKwl2ZXJpZnlfZXhwZWN0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Vycm9yIGNvbmRpdGlvbnMnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKwllY2hvIGZpbGVBLnQgPmxpc3QgJiYKKwlnaXQgcm0gZmlsZUEudCAmJgorCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlc2V0IC0tcGF0aHNwZWMtZnJvbS1maWxlPWxpc3QgLS1wYXRjaCAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgLWUgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIC0tcGF0Y2giIGVyciAmJgorCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlc2V0IC0tcGF0aHNwZWMtZnJvbS1maWxlPWxpc3QgLS0gZmlsZUEudCAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgLWUgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIHBhdGhzcGVjIGFyZ3VtZW50cyIgZXJyICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmVzZXQgLS1wYXRoc3BlYy1maWxlLW51bCAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgLWUgIi0tcGF0aHNwZWMtZmlsZS1udWwgcmVxdWlyZXMgLS1wYXRoc3BlYy1mcm9tLWZpbGUiIGVyciAmJgorCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlc2V0IC0tc29mdCAtLXBhdGhzcGVjLWZyb20tZmlsZT1saXN0IDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAtZSAiZmF0YWw6IENhbm5vdCBkbyBzb2Z0IHJlc2V0IHdpdGggcGF0aHMiIGVyciAmJgorCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlc2V0IC0taGFyZCAtLXBhdGhzcGVjLWZyb20tZmlsZT1saXN0IDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAtZSAiZmF0YWw6IENhbm5vdCBkbyBoYXJkIHJlc2V0IHdpdGggcGF0aHMiIGVycgorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDcxMTMtcG9zdC1pbmRleC1jaGFuZ2UtaG9vay5zaCBiL3QvdDcxMTMtcG9zdC1pbmRleC1jaGFuZ2UtaG9vay5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMDExYWQ3Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NzExMy1wb3N0LWluZGV4LWNoYW5nZS1ob29rLnNoCkBAIC0wLDAgKzEsMTQ0IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ncG9zdCBpbmRleCBjaGFuZ2UgaG9vaycKKworLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCisJbWtkaXIgLXAgZGlyMSAmJgorCXRvdWNoIGRpcjEvZmlsZTEudHh0ICYmCisJZWNobyB0ZXN0aW5nID5kaXIxL2ZpbGUyLnR4dCAmJgorCWdpdCBhZGQgLiAmJgorCWdpdCBjb21taXQgLW0gImluaXRpYWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Rlc3Qgc3RhdHVzLCBhZGQsIGNvbW1pdCwgb3RoZXJzIHRyaWdnZXIgaG9vayB3aXRob3V0IGZsYWdzIHNldCcgJworCW1rZGlyIC1wIC5naXQvaG9va3MgJiYKKwl3cml0ZV9zY3JpcHQgLmdpdC9ob29rcy9wb3N0LWluZGV4LWNoYW5nZSA8PC1cRU9GICYmCisJCWlmIHRlc3QgIiQxIiAtZXEgMTsgdGhlbgorCQkJZWNobyAiSW52YWxpZCBjb21iaW5hdGlvbiBvZiBmbGFncyBwYXNzZWQgdG8gaG9vazsgdXBkYXRlZF93b3JrZGlyIGlzIHNldC4iID50ZXN0ZmFpbHVyZQorCQkJZXhpdCAxCisJCWZpCisJCWlmIHRlc3QgIiQyIiAtZXEgMTsgdGhlbgorCQkJZWNobyAiSW52YWxpZCBjb21iaW5hdGlvbiBvZiBmbGFncyBwYXNzZWQgdG8gaG9vazsgdXBkYXRlZF9za2lwd29ya3RyZWUgaXMgc2V0LiIgPnRlc3RmYWlsdXJlCisJCQlleGl0IDEKKwkJZmkKKwkJaWYgdGVzdCAtZiAiLmdpdC9pbmRleC5sb2NrIjsgdGhlbgorCQkJZWNobyAiLmdpdC9pbmRleC5sb2NrIGV4aXN0cyIgPnRlc3RmYWlsdXJlCisJCQlleGl0IDMKKwkJZmkKKwkJaWYgISB0ZXN0IC1mICIuZ2l0L2luZGV4IjsgdGhlbgorCQkJZWNobyAiLmdpdC9pbmRleCBkb2VzIG5vdCBleGlzdCIgPnRlc3RmYWlsdXJlCisJCQlleGl0IDMKKwkJZmkKKwkJZWNobyAic3VjY2VzcyIgPnRlc3RzdWNjZXNzCisJRU9GCisJbWtkaXIgLXAgZGlyMiAmJgorCXRvdWNoIGRpcjIvZmlsZTEudHh0ICYmCisJdG91Y2ggZGlyMi9maWxlMi50eHQgJiYKKwk6IGZvcmNlIGluZGV4IHRvIGJlIGRpcnR5ICYmCisJdGVzdC10b29sIGNobXRpbWUgKzYwIGRpcjEvZmlsZTEudHh0ICYmCisJZ2l0IHN0YXR1cyAmJgorCXRlc3RfcGF0aF9pc19maWxlIHRlc3RzdWNjZXNzICYmIHJtIC1mIHRlc3RzdWNjZXNzICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgdGVzdGZhaWx1cmUgJiYKKwlnaXQgYWRkIC4gJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSB0ZXN0c3VjY2VzcyAmJiBybSAtZiB0ZXN0c3VjY2VzcyAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHRlc3RmYWlsdXJlICYmCisJZ2l0IGNvbW1pdCAtbSAic2Vjb25kIiAmJgorCXRlc3RfcGF0aF9pc19maWxlIHRlc3RzdWNjZXNzICYmIHJtIC1mIHRlc3RzdWNjZXNzICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgdGVzdGZhaWx1cmUgJiYKKwlnaXQgY2hlY2tvdXQgLS0gZGlyMS9maWxlMS50eHQgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSB0ZXN0c3VjY2VzcyAmJiBybSAtZiB0ZXN0c3VjY2VzcyAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHRlc3RmYWlsdXJlICYmCisJZ2l0IHVwZGF0ZS1pbmRleCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHRlc3RzdWNjZXNzICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgdGVzdGZhaWx1cmUgJiYKKwlnaXQgcmVzZXQgLS1zb2Z0ICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgdGVzdHN1Y2Nlc3MgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyB0ZXN0ZmFpbHVyZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IGNoZWNrb3V0IGFuZCByZXNldCB0cmlnZ2VyIHRoZSBob29rJyAnCisJd3JpdGVfc2NyaXB0IC5naXQvaG9va3MvcG9zdC1pbmRleC1jaGFuZ2UgPDwtXEVPRiAmJgorCQlpZiB0ZXN0ICIkMSIgLWVxIDEgJiYgdGVzdCAiJDIiIC1lcSAxOyB0aGVuCisJCQllY2hvICJJbnZhbGlkIGNvbWJpbmF0aW9uIG9mIGZsYWdzIHBhc3NlZCB0byBob29rOyB1cGRhdGVkX3dvcmtkaXIgYW5kIHVwZGF0ZWRfc2tpcHdvcmt0cmVlIGFyZSBib3RoIHNldC4iID50ZXN0ZmFpbHVyZQorCQkJZXhpdCAxCisJCWZpCisJCWlmIHRlc3QgIiQxIiAtZXEgMCAmJiB0ZXN0ICIkMiIgLWVxIDA7IHRoZW4KKwkJCWVjaG8gIkludmFsaWQgY29tYmluYXRpb24gb2YgZmxhZ3MgcGFzc2VkIHRvIGhvb2s7IG5laXRoZXIgdXBkYXRlZF93b3JrZGlyIG9yIHVwZGF0ZWRfc2tpcHdvcmt0cmVlIGFyZSBzZXQuIiA+dGVzdGZhaWx1cmUKKwkJCWV4aXQgMgorCQlmaQorCQlpZiB0ZXN0ICIkMSIgLWVxIDE7IHRoZW4KKwkJCWlmIHRlc3QgLWYgIi5naXQvaW5kZXgubG9jayI7IHRoZW4KKwkJCQllY2hvICJ1cGRhdGVkX3dvcmtkaXIgc2V0IGJ1dCAuZ2l0L2luZGV4LmxvY2sgZXhpc3RzIiA+dGVzdGZhaWx1cmUKKwkJCQlleGl0IDMKKwkJCWZpCisJCQlpZiAhIHRlc3QgLWYgIi5naXQvaW5kZXgiOyB0aGVuCisJCQkJZWNobyAidXBkYXRlZF93b3JrZGlyIHNldCBidXQgLmdpdC9pbmRleCBkb2VzIG5vdCBleGlzdCIgPnRlc3RmYWlsdXJlCisJCQkJZXhpdCAzCisJCQlmaQorCQllbHNlCisJCQllY2hvICJ1cGRhdGVfd29ya2RpciBzaG91bGQgYmUgc2V0IGZvciBjaGVja291dCIgPnRlc3RmYWlsdXJlCisJCQlleGl0IDQKKwkJZmkKKwkJZWNobyAic3VjY2VzcyIgPnRlc3RzdWNjZXNzCisJRU9GCisJOiBmb3JjZSBpbmRleCB0byBiZSBkaXJ0eSAmJgorCXRlc3QtdG9vbCBjaG10aW1lICs2MCBkaXIxL2ZpbGUxLnR4dCAmJgorCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSB0ZXN0c3VjY2VzcyAmJiBybSAtZiB0ZXN0c3VjY2VzcyAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHRlc3RmYWlsdXJlICYmCisJdGVzdC10b29sIGNobXRpbWUgKzYwIGRpcjEvZmlsZTEudHh0ICYmCisJZ2l0IGNoZWNrb3V0IEhFQUQgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSB0ZXN0c3VjY2VzcyAmJiBybSAtZiB0ZXN0c3VjY2VzcyAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHRlc3RmYWlsdXJlICYmCisJdGVzdC10b29sIGNobXRpbWUgKzYwIGRpcjEvZmlsZTEudHh0ICYmCisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCXRlc3RfcGF0aF9pc19maWxlIHRlc3RzdWNjZXNzICYmIHJtIC1mIHRlc3RzdWNjZXNzICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgdGVzdGZhaWx1cmUgJiYKKwlnaXQgY2hlY2tvdXQgLUIgdGVzdCAmJgorCXRlc3RfcGF0aF9pc19maWxlIHRlc3RzdWNjZXNzICYmIHJtIC1mIHRlc3RzdWNjZXNzICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgdGVzdGZhaWx1cmUKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCByZXNldCAtLW1peGVkIGFuZCB1cGRhdGUtaW5kZXggdHJpZ2dlcnMgdGhlIGhvb2snICcKKwl3cml0ZV9zY3JpcHQgLmdpdC9ob29rcy9wb3N0LWluZGV4LWNoYW5nZSA8PC1cRU9GICYmCisJCWlmIHRlc3QgIiQxIiAtZXEgMSAmJiB0ZXN0ICIkMiIgLWVxIDE7IHRoZW4KKwkJCWVjaG8gIkludmFsaWQgY29tYmluYXRpb24gb2YgZmxhZ3MgcGFzc2VkIHRvIGhvb2s7IHVwZGF0ZWRfd29ya2RpciBhbmQgdXBkYXRlZF9za2lwd29ya3RyZWUgYXJlIGJvdGggc2V0LiIgPnRlc3RmYWlsdXJlCisJCQlleGl0IDEKKwkJZmkKKwkJaWYgdGVzdCAiJDEiIC1lcSAwICYmIHRlc3QgIiQyIiAtZXEgMDsgdGhlbgorCQkJZWNobyAiSW52YWxpZCBjb21iaW5hdGlvbiBvZiBmbGFncyBwYXNzZWQgdG8gaG9vazsgbmVpdGhlciB1cGRhdGVkX3dvcmtkaXIgb3IgdXBkYXRlZF9za2lwd29ya3RyZWUgYXJlIHNldC4iID50ZXN0ZmFpbHVyZQorCQkJZXhpdCAyCisJCWZpCisJCWlmIHRlc3QgIiQyIiAtZXEgMTsgdGhlbgorCQkJaWYgdGVzdCAtZiAiLmdpdC9pbmRleC5sb2NrIjsgdGhlbgorCQkJCWVjaG8gInVwZGF0ZWRfc2tpcHdvcmt0cmVlIHNldCBidXQgLmdpdC9pbmRleC5sb2NrIGV4aXN0cyIgPnRlc3RmYWlsdXJlCisJCQkJZXhpdCAzCisJCQlmaQorCQkJaWYgISB0ZXN0IC1mICIuZ2l0L2luZGV4IjsgdGhlbgorCQkJCWVjaG8gInVwZGF0ZWRfc2tpcHdvcmt0cmVlIHNldCBidXQgLmdpdC9pbmRleCBkb2VzIG5vdCBleGlzdCIgPnRlc3RmYWlsdXJlCisJCQkJZXhpdCAzCisJCQlmaQorCQllbHNlCisJCQllY2hvICJ1cGRhdGVkX3NraXB3b3JrdHJlZSBzaG91bGQgYmUgc2V0IGZvciByZXNldCAtLW1peGVkIGFuZCB1cGRhdGUtaW5kZXgiID50ZXN0ZmFpbHVyZQorCQkJZXhpdCA0CisJCWZpCisJCWVjaG8gInN1Y2Nlc3MiID50ZXN0c3VjY2VzcworCUVPRgorCTogZm9yY2UgaW5kZXggdG8gYmUgZGlydHkgJiYKKwl0ZXN0LXRvb2wgY2htdGltZSArNjAgZGlyMS9maWxlMS50eHQgJiYKKwlnaXQgcmVzZXQgLS1taXhlZCAtLXF1aWV0IEhFQUR+MSAmJgorCXRlc3RfcGF0aF9pc19maWxlIHRlc3RzdWNjZXNzICYmIHJtIC1mIHRlc3RzdWNjZXNzICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgdGVzdGZhaWx1cmUgJiYKKwlnaXQgaGFzaC1vYmplY3QgLXcgLS1zdGRpbiA8ZGlyMS9maWxlMi50eHQgPmV4cGVjdCAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1jYWNoZWluZm8gMTAwNjQ0ICIkKGNhdCBleHBlY3QpIiBkaXIxL2ZpbGUxLnR4dCAmJgorCXRlc3RfcGF0aF9pc19maWxlIHRlc3RzdWNjZXNzICYmIHJtIC1mIHRlc3RzdWNjZXNzICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgdGVzdGZhaWx1cmUgJiYKKwlnaXQgdXBkYXRlLWluZGV4IC0tc2tpcC13b3JrdHJlZSBkaXIxL2ZpbGUyLnR4dCAmJgorCWdpdCB1cGRhdGUtaW5kZXggLS1yZW1vdmUgZGlyMS9maWxlMi50eHQgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSB0ZXN0c3VjY2VzcyAmJiBybSAtZiB0ZXN0c3VjY2VzcyAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIHRlc3RmYWlsdXJlCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzIwMS1jby5zaCBiL3QvdDcyMDEtY28uc2gKaW5kZXggNzJiOWIzNy4uYjY5NmJhZSAxMDA3NTUKLS0tIGEvdC90NzIwMS1jby5zaAorKysgYi90L3Q3MjAxLWNvLnNoCkBAIC0yMjMsMTMgKzIyMyw4IEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZWNrb3V0IHNpbXBsZSAyPmVycnMgJiYKIAl0ZXN0X2kxOG5ncmVwIG92ZXJ3cml0dGVuIGVycnMgJiYKIAotCWdpdCBjaGVja291dCAtLW1lcmdlIHNpbXBsZSAyPmVycnMgJiYKLQl0ZXN0X2kxOG5ncmVwICEgb3ZlcndyaXR0ZW4gZXJycyAmJgotCWdpdCBscy1maWxlcyAtdSAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCBjYXQtZmlsZSAtdCA6MDp0d28gJiYKLQl0ZXN0ICIkKGdpdCBjYXQtZmlsZSAtdCA6MTp0d28pIiA9IGJsb2IgJiYKLQl0ZXN0ICIkKGdpdCBjYXQtZmlsZSAtdCA6Mjp0d28pIiA9IGJsb2IgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgY2F0LWZpbGUgLXQgOjM6dHdvCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYWQtdHJlZSAtLXF1aWV0IC1tIC11IEhFQUQgc2ltcGxlIDI+ZXJycyAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnJzCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IHRvIGRldGFjaCBIRUFEICh3aXRoIGFkdmljZSBkZWNsaW5lZCknICcKQEAgLTI1NCw3ICsyNDksNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2tvdXQgdG8gZGV0YWNoIEhFQUQnICcKIAlnaXQgY29uZmlnIGFkdmljZS5kZXRhY2hlZEhlYWQgdHJ1ZSAmJgogCWdpdCBjaGVja291dCAtZiByZW5hbWVyICYmIGdpdCBjbGVhbiAtZiAmJgotCUdJVF9URVNUX0dFVFRFWFRfUE9JU09OPSBnaXQgY2hlY2tvdXQgcmVuYW1lcl4gMj5tZXNzYWdlcyAmJgorCUdJVF9URVNUX0dFVFRFWFRfUE9JU09OPWZhbHNlIGdpdCBjaGVja291dCByZW5hbWVyXiAyPm1lc3NhZ2VzICYmCiAJZ3JlcCAiSEVBRCBpcyBub3cgYXQgNzMyOTM4OCIgbWVzc2FnZXMgJiYKIAl0ZXN0X2xpbmVfY291bnQgLWd0IDEgbWVzc2FnZXMgJiYKIAlIPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKSAmJgpkaWZmIC0tZ2l0IGEvdC90NzMwMC1jbGVhbi5zaCBiL3QvdDczMDAtY2xlYW4uc2gKaW5kZXggN2IzNjk1NC4uY2I1ZTM0ZCAxMDA3NTUKLS0tIGEvdC90NzMwMC1jbGVhbi5zaAorKysgYi90L3Q3MzAwLWNsZWFuLnNoCkBAIC0xMTcsNiArMTE3LDcgQEAKIAl3b3VsZF9jbGVhbj0kKAogCQljZCBkb2NzICYmCiAJCWdpdCBjbGVhbiAtbiAuLi9zcmMgfAorCQlncmVwIHBhcnQzIHwKIAkJc2VkIC1uIC1lICJzfF5Xb3VsZCByZW1vdmUgfHxwIgogCSkgJiYKIAl2ZXJib3NlIHRlc3QgIiR3b3VsZF9jbGVhbiIgPSAuLi9zcmMvcGFydDMuYwpAQCAtMTI5LDYgKzEzMCw3IEBACiAJd291bGRfY2xlYW49JCgKIAkJY2QgZG9jcyAmJgogCQlnaXQgY2xlYW4gLW4gIiQocHdkKS8uLi9zcmMiIHwKKwkJZ3JlcCBwYXJ0MyB8CiAJCXNlZCAtbiAtZSAic3xeV291bGQgcmVtb3ZlIHx8cCIKIAkpICYmCiAJdmVyYm9zZSB0ZXN0ICIkd291bGRfY2xlYW4iID0gLi4vc3JjL3BhcnQzLmMKQEAgLTU0Nyw3ICs1NDksNyBAQAogCXRlc3RfcGF0aF9pc19taXNzaW5nIHN0cmFuZ2VfYmFyZQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXZpbmcgcGF0aCBpbiBuZXN0ZWQgZ2l0IHdvcmsgdHJlZSB3aWxsIHJlbW92ZSBpdCcgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l2aW5nIHBhdGggaW4gbmVzdGVkIGdpdCB3b3JrIHRyZWUgd2lsbCBOT1QgcmVtb3ZlIGl0JyAnCiAJcm0gLWZyIHJlcG8gJiYKIAlta2RpciByZXBvICYmCiAJKApAQCAtNTU5LDcgKzU2MSw3IEBACiAJZ2l0IGNsZWFuIC1mIC1kIHJlcG8vYmFyL2JheiAmJgogCXRlc3RfcGF0aF9pc19maWxlIHJlcG8vLmdpdC9IRUFEICYmCiAJdGVzdF9wYXRoX2lzX2RpciByZXBvL2Jhci8gJiYKLQl0ZXN0X3BhdGhfaXNfbWlzc2luZyByZXBvL2Jhci9iYXoKKwl0ZXN0X3BhdGhfaXNfZmlsZSByZXBvL2Jhci9iYXovaGVsbG8ud29ybGQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l2aW5nIHBhdGggdG8gbmVzdGVkIC5naXQgd2lsbCBub3QgcmVtb3ZlIGl0JyAnCkBAIC01NzcsNyArNTc5LDcgQEAKIAl0ZXN0X3BhdGhfaXNfZGlyIHVudHJhY2tlZC8KICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l2aW5nIHBhdGggdG8gbmVzdGVkIC5naXQvIHdpbGwgcmVtb3ZlIGNvbnRlbnRzJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXZpbmcgcGF0aCB0byBuZXN0ZWQgLmdpdC8gd2lsbCBOT1QgcmVtb3ZlIGNvbnRlbnRzJyAnCiAJcm0gLWZyIHJlcG8gdW50cmFja2VkICYmCiAJbWtkaXIgcmVwbyB1bnRyYWNrZWQgJiYKIAkoCkBAIC01ODcsNyArNTg5LDcgQEAKIAkpICYmCiAJZ2l0IGNsZWFuIC1mIC1kIHJlcG8vLmdpdC8gJiYKIAl0ZXN0X3BhdGhfaXNfZGlyIHJlcG8vLmdpdCAmJgotCXRlc3RfZGlyX2lzX2VtcHR5IHJlcG8vLmdpdCAmJgorCXRlc3RfcGF0aF9pc19maWxlIHJlcG8vLmdpdC9IRUFEICYmCiAJdGVzdF9wYXRoX2lzX2RpciB1bnRyYWNrZWQvCiAnCiAKQEAgLTY2OSw0ICs2NzEsNzkgQEAKIAl0ZXN0X3BhdGhfaXNfbWlzc2luZyBmb28vYi9iYgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgY2xlYW4gLWQgc2tpcHMgbmVzdGVkIHJlcG8gY29udGFpbmluZyBpZ25vcmVkIGZpbGVzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgbmVzdGVkLXJlcG8td2l0aC1pZ25vcmVkLWZpbGUiICYmCisKKwlnaXQgaW5pdCBuZXN0ZWQtcmVwby13aXRoLWlnbm9yZWQtZmlsZSAmJgorCSgKKwkJY2QgbmVzdGVkLXJlcG8td2l0aC1pZ25vcmVkLWZpbGUgJiYKKwkJPmZpbGUgJiYKKwkJZ2l0IGFkZCBmaWxlICYmCisJCWdpdCBjb21taXQgLW0gSW5pdGlhbCAmJgorCisJCSMgVGhpcyBmaWxlIGlzIGlnbm9yZWQgYnkgYSAuZ2l0aWdub3JlIHJ1bGUgaW4gdGhlIG91dGVyIHJlcG8KKwkJIyBhZGRlZCBpbiB0aGUgcHJldmlvdXMgdGVzdC4KKwkJPmlnbm9yZW1lCisJKSAmJgorCisJZ2l0IGNsZWFuIC1mZCAmJgorCisJdGVzdF9wYXRoX2lzX2ZpbGUgbmVzdGVkLXJlcG8td2l0aC1pZ25vcmVkLWZpbGUvLmdpdC9pbmRleCAmJgorCXRlc3RfcGF0aF9pc19maWxlIG5lc3RlZC1yZXBvLXdpdGgtaWdub3JlZC1maWxlL2lnbm9yZW1lICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgbmVzdGVkLXJlcG8td2l0aC1pZ25vcmVkLWZpbGUvZmlsZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgY2xlYW4gaGFuZGxlcyBiZWluZyB0b2xkIHdoYXQgdG8gY2xlYW4nICcKKwlta2RpciAtcCBkMSBkMiAmJgorCXRvdWNoIGQxL3V0IGQyL3V0ICYmCisJZ2l0IGNsZWFuIC1mICovdXQgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBkMS91dCAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIGQyL3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBjbGVhbiBoYW5kbGVzIGJlaW5nIHRvbGQgd2hhdCB0byBjbGVhbiwgd2l0aCAtZCcgJworCW1rZGlyIC1wIGQxIGQyICYmCisJdG91Y2ggZDEvdXQgZDIvdXQgJiYKKwlnaXQgY2xlYW4gLWZmZCAqL3V0ICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgZDEvdXQgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBkMi91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgY2xlYW4gd29ya3MgaWYgYSBnbG9iIGlzIHBhc3NlZCB3aXRob3V0IC1kJyAnCisJbWtkaXIgLXAgZDEgZDIgJiYKKwl0b3VjaCBkMS91dCBkMi91dCAmJgorCWdpdCBjbGVhbiAtZiAiKnV0IiAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIGQxL3V0ICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgZDIvdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGNsZWFuIHdvcmtzIGlmIGEgZ2xvYiBpcyBwYXNzZWQgd2l0aCAtZCcgJworCW1rZGlyIC1wIGQxIGQyICYmCisJdG91Y2ggZDEvdXQgZDIvdXQgJiYKKwlnaXQgY2xlYW4gLWZmZCAiKnV0IiAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIGQxL3V0ICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgZDIvdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBNSU5HVyAnaGFuZGxlIGNsZWFuICYgY29yZS5sb25ncGF0aHMgPSBmYWxzZSBuaWNlbHknICcKKwl0ZXN0X2NvbmZpZyBjb3JlLmxvbmdwYXRocyBmYWxzZSAmJgorCWE1MD1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSAmJgorCW1rZGlyIC1wICRhNTAkYTUwLyRhNTAkYTUwLyRhNTAkYTUwICYmCisJOiA+IiRhNTAkYTUwL3Rlc3QudHh0IiAyPiIkYTUwJGE1MC8kYTUwJGE1MC8kYTUwJGE1MC90ZXN0LnR4dCIgJiYKKwkjIGNyZWF0ZSBhIHRlbXBvcmFyeSBvdXRzaWRlIHRoZSB3b3JraW5nIHRyZWUgdG8gaGlkZSBmcm9tICJnaXQgY2xlYW4iCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNsZWFuIC14ZGYgMj4uZ2l0L2VyciAmJgorCSMgZ3JlcHBpbmcgZm9yIGEgc3RyZXJyb3Igc3RyaW5nIGlzIHVucG9ydGFibGUgYnV0IGl0IGlzIE9LIGhlcmUgd2l0aAorCSMgTUlOR1cgcHJlcmVxCisJdGVzdF9pMThuZ3JlcCAidG9vIGxvbmciIC5naXQvZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NsZWFuIHVudHJhY2tlZCBwYXRocyBieSBwYXRoc3BlYycgJworCWdpdCBpbml0IHVudHJhY2tlZCAmJgorCW1rZGlyIHVudHJhY2tlZC9kaXIgJiYKKwllY2hvID51bnRyYWNrZWQvZGlyL2ZpbGUudHh0ICYmCisJZ2l0IC1DIHVudHJhY2tlZCBjbGVhbiAtZiBkaXIvZmlsZS50eHQgJiYKKwlscyB1bnRyYWNrZWQvZGlyID5hY3R1YWwgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCisnCisKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzQwMC1zdWJtb2R1bGUtYmFzaWMuc2ggYi90L3Q3NDAwLXN1Ym1vZHVsZS1iYXNpYy5zaAppbmRleCA3NmE3Y2IwLi5lM2UyYWFiIDEwMDc1NQotLS0gYS90L3Q3NDAwLXN1Ym1vZHVsZS1iYXNpYy5zaAorKysgYi90L3Q3NDAwLXN1Ym1vZHVsZS1iYXNpYy5zaApAQCAtNDYsNiArNDYsMzAgQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgc3VibW9kdWxlIGluaXQKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnYWRkIGFib3J0cyBvbiByZXBvc2l0b3J5IHdpdGggbm8gY29tbWl0cycgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwknIidyZXBvLW5vLWNvbW1pdHMnIicgZG9lcyBub3QgaGF2ZSBhIGNvbW1pdCBjaGVja2VkIG91dAorCUVPRgorCWdpdCBpbml0IHJlcG8tbm8tY29tbWl0cyAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBzdWJtb2R1bGUgYWRkIC4uL2EgLi9yZXBvLW5vLWNvbW1pdHMgMj5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgc2hvdWxkIGlnbm9yZSBpbm5lciBnaXQgcmVwbyB3aGVuIG5vdCBhZGRlZCcgJworCXJtIC1mciBpbm5lciAmJgorCW1rZGlyIGlubmVyICYmCisJKAorCQljZCBpbm5lciAmJgorCQlnaXQgaW5pdCAmJgorCQk+dCAmJgorCQlnaXQgYWRkIHQgJiYKKwkJZ2l0IGNvbW1pdCAtbSAiaW5pdGlhbCIKKwkpICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHN1Ym1vZHVsZSBzdGF0dXMgaW5uZXIgMj5vdXRwdXQuZXJyICYmCisJcm0gLWZyIGlubmVyICYmCisJdGVzdF9pMThuZ3JlcCAiXmVycm9yOiAuKmRpZCBub3QgbWF0Y2ggYW55IGZpbGUocykga25vd24gdG8gZ2l0IiBvdXRwdXQuZXJyCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIC0gcmVwb3NpdG9yeSBpbiBpbml0IHN1YmRpcmVjdG9yeScgJwogCW1rZGlyIGluaXQgJiYKIAkoCkBAIC0xNDcsOSArMTcxLDExIEBACiAJKAogCQljZCBhZGR0ZXN0LWlnbm9yZSAmJgogCQljYXQgPDwtXEVPRiA+ZXhwZWN0ICYmCi0JCVRoZSBmb2xsb3dpbmcgcGF0aCBpcyBpZ25vcmVkIGJ5IG9uZSBvZiB5b3VyIC5naXRpZ25vcmUgZmlsZXM6CisJCVRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIGlnbm9yZWQgYnkgb25lIG9mIHlvdXIgLmdpdGlnbm9yZSBmaWxlczoKIAkJc3VibW9kCi0JCVVzZSAtZiBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gYWRkIGl0LgorCQloaW50OiBVc2UgLWYgaWYgeW91IHJlYWxseSB3YW50IHRvIGFkZCB0aGVtLgorCQloaW50OiBUdXJuIHRoaXMgbWVzc2FnZSBvZmYgYnkgcnVubmluZworCQloaW50OiAiZ2l0IGNvbmZpZyBhZHZpY2UuYWRkSWdub3JlZEZpbGUgZmFsc2UiCiAJCUVPRgogCQkjIERvZXMgbm90IHVzZSB0ZXN0X2NvbW1pdCBkdWUgdG8gdGhlIGlnbm9yZQogCQllY2hvICIqIiA+IC5naXRpZ25vcmUgJiYKQEAgLTE4Miw2ICsyMDgsMTcgQEAKIAkpCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSBhZGQgcmVsYXlzIGFkZCAtLWRyeS1ydW4gc3RkZXJyJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgYWRkdGVzdC8uZ2l0L2luZGV4LmxvY2siICYmCisJKAorCQljZCBhZGR0ZXN0ICYmCisJCTogPi5naXQvaW5kZXgubG9jayAmJgorCQkhIGdpdCBzdWJtb2R1bGUgYWRkICIkc3VibW9kdXJsIiBzdWItd2hpbGUtbG9ja2VkIDI+b3V0cHV0LmVyciAmJgorCQl0ZXN0X2kxOG5ncmVwICJeZmF0YWw6IC4qaW5kZXhcLmxvY2siIG91dHB1dC5lcnIgJiYKKwkJdGVzdF9wYXRoX2lzX21pc3Npbmcgc3ViLXdoaWxlLWxvY2tlZAorCSkKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3VibW9kdWxlIGFkZCAtLWJyYW5jaCcgJwogCWVjaG8gInJlZnMvaGVhZHMvaW5pdGlhbCIgPmV4cGVjdC1oZWFkICYmCiAJY2F0IDw8LVxFT0YgPmV4cGVjdC1oZWFkcyAmJgpAQCAtMzQ3LDYgKzM4NCwyOCBAQAogCXRlc3RfbGluZV9jb3VudCA9IDEgbGluZXMKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIGZyb20gc3ViZGlyZWN0b3J5IHNob3VsZCBoYXZlIHRoZSBzYW1lIFNIQTEnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtZGlyIGFkZHRlc3Qvc3ViZGlyIiAmJgorCSgKKwkJY2QgYWRkdGVzdCAmJgorCQlta2RpciBzdWJkaXIgJiYKKwkJZ2l0IHN1Ym1vZHVsZSBzdGF0dXMgPm91dHB1dCAmJgorCQlhd2sgIntwcmludCBcJDF9IiA8b3V0cHV0ID5leHBlY3QgJiYKKwkJY2Qgc3ViZGlyICYmCisJCWdpdCBzdWJtb2R1bGUgc3RhdHVzID4uLi9vdXRwdXQgJiYKKwkJYXdrICJ7cHJpbnQgXCQxfSIgPC4uL291dHB1dCA+Li4vYWN0dWFsICYmCisJCXRlc3RfY21wIC4uL2V4cGVjdCAuLi9hY3R1YWwgJiYKKwkJZ2l0IC1DIC4uL3N1Ym1vZCBjaGVja291dCBIRUFEXiAmJgorCQlnaXQgc3VibW9kdWxlIHN0YXR1cyA+Li4vb3V0cHV0ICYmCisJCWF3ayAie3ByaW50IFwkMX0iIDwuLi9vdXRwdXQgPi4uL2FjdHVhbDIgJiYKKwkJY2QgLi4gJiYKKwkJZ2l0IHN1Ym1vZHVsZSBzdGF0dXMgPm91dHB1dCAmJgorCQlhd2sgIntwcmludCBcJDF9IiA8b3V0cHV0ID5leHBlY3QyICYmCisJCXRlc3RfY21wIGV4cGVjdDIgYWN0dWFsMiAmJgorCQkhIHRlc3RfY21wIGFjdHVhbCBhY3R1YWwyCisJKQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCAtIGZldGNoIGNvbW1pdCBuYW1lIGZyb20gc3VibW9kdWxlJyAnCiAJcmV2MT0kKGNkIC5zdWJyZXBvICYmIGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKIAlwcmludGYgInJldjE6ICVzXG4iICIkcmV2MSIgJiYKQEAgLTM2OCw2ICs0MjcsMTQgQEAKIAl0ZXN0X2NtcCBleHBlY3QgdXJsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyBzaG91bGQgc3RpbGwgYmUgIm1pc3NpbmciIGFmdGVyIGluaXRpYWxpemluZycgJworCXJtIC1mciBpbml0ICYmCisJbWtkaXIgaW5pdCAmJgorCWdpdCBzdWJtb2R1bGUgc3RhdHVzID5saW5lcyAmJgorCXJtIC1mciBpbml0ICYmCisJZ3JlcCAiXi0kcmV2MSIgbGluZXMKKycKKwogdGVzdF9mYWlsdXJlX3dpdGhfdW5rbm93bl9zdWJtb2R1bGUgKCkgewogCXRlc3RfbXVzdF9mYWlsIGdpdCBzdWJtb2R1bGUgJDEgbm8tc3VjaC1zdWJtb2R1bGUgMj5vdXRwdXQuZXJyICYmCiAJdGVzdF9pMThuZ3JlcCAiXmVycm9yOiAuKm5vLXN1Y2gtc3VibW9kdWxlIiBvdXRwdXQuZXJyCkBAIC01MTgsNyArNTg1LDYgQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgY29uZmlnIHN1Ym1vZHVsZS5leGFtcGxlLnVybCAmJgogCiAJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgaW5pdCAyPiB1cGRhdGUub3V0ICYmCi0JY2F0IHVwZGF0ZS5vdXQgJiYKIAl0ZXN0X2kxOG5ncmVwICJub3QgaW5pdGlhbGl6ZWQiIHVwZGF0ZS5vdXQgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tcmVzb2x2ZS1naXQtZGlyIGluaXQvLmdpdCAmJgogCkBAIC01MzYsNyArNjAyLDYgQEAKIAkoCiAJCWNkIHN1YiAmJgogCQlnaXQgc3VibW9kdWxlIHVwZGF0ZSAuLi9pbml0IDI+dXBkYXRlLm91dCAmJgotCQljYXQgdXBkYXRlLm91dCAmJgogCQl0ZXN0X2kxOG5ncmVwICJub3QgaW5pdGlhbGl6ZWQiIHVwZGF0ZS5vdXQgJiYKIAkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSAtLXJlc29sdmUtZ2l0LWRpciAuLi9pbml0Ly5naXQgJiYKIApAQCAtODA5LDcgKzg3NCw3IEBACiAJCWNwIHByaXN0aW5lLS5naXQtY29uZmlnIC5naXQvY29uZmlnICYmCiAJCWNwIHByaXN0aW5lLS5naXRtb2R1bGVzIC5naXRtb2R1bGVzICYmCiAJCW1rZGlyIC1wIGEvYi9jICYmCi0JCShjZCBhL2IvYyAmJiBnaXQgaW5pdCkgJiYKKwkJKGNkIGEvYi9jICYmIGdpdCBpbml0ICYmIHRlc3RfY29tbWl0IG1zZykgJiYKIAkJZ2l0IGNvbmZpZyByZW1vdGUub3JpZ2luLnVybCAuLi9mb28vYmFyLmdpdCAmJgogCQlnaXQgc3VibW9kdWxlIGFkZCAuLi9iYXIvYS9iL2MgLi9hL2IvYyAmJgogCQlnaXQgc3VibW9kdWxlIGluaXQgJiYKQEAgLTk4NCw2ICsxMDQ5LDExIEBACiAJcm1kaXIgaW5pdAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgZGVpbml0IHNob3VsZCB1bnNldCBjb3JlLndvcmt0cmVlJyAnCisJdGVzdF9wYXRoX2lzX2ZpbGUgLmdpdC9tb2R1bGVzL2V4YW1wbGUvY29uZmlnICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbmZpZyAtZiAuZ2l0L21vZHVsZXMvZXhhbXBsZS9jb25maWcgY29yZS53b3JrdHJlZQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgZGVpbml0IGZyb20gc3ViZGlyZWN0b3J5JyAnCiAJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLS1pbml0ICYmCiAJZ2l0IGNvbmZpZyBzdWJtb2R1bGUuZXhhbXBsZS5mb28gYmFyICYmCmRpZmYgLS1naXQgYS90L3Q3NDA1LXN1Ym1vZHVsZS1tZXJnZS5zaCBiL3QvdDc0MDUtc3VibW9kdWxlLW1lcmdlLnNoCmluZGV4IDc4NTViZDguLmFhMzM5NzggMTAwNzU1Ci0tLSBhL3QvdDc0MDUtc3VibW9kdWxlLW1lcmdlLnNoCisrKyBiL3QvdDc0MDUtc3VibW9kdWxlLW1lcmdlLnNoCkBAIC00MTcsNyArNDE3LDcgQEAKIAkpCiAnCiAKLXRlc3RfZXhwZWN0X2ZhaWx1cmUgJ2RpcmVjdG9yeS9zdWJtb2R1bGUgY29uZmxpY3Q7IHNob3VsZCBub3QgdHJlYXQgc3VibW9kdWxlIGZpbGVzIGFzIHVudHJhY2tlZCBvciBpbiB0aGUgd2F5JyAnCit0ZXN0X2V4cGVjdF9mYWlsdXJlICFGQUlMX1BSRVJFUVMgJ2RpcmVjdG9yeS9zdWJtb2R1bGUgY29uZmxpY3Q7IHNob3VsZCBub3QgdHJlYXQgc3VibW9kdWxlIGZpbGVzIGFzIHVudHJhY2tlZCBvciBpbiB0aGUgd2F5JyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgLUMgZGlyZWN0b3J5LXN1Ym1vZHVsZS9wYXRoIHJlc2V0IC0taGFyZCIgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCAtQyBkaXJlY3Rvcnktc3VibW9kdWxlIHJlc2V0IC0taGFyZCIgJiYKIAkoCmRpZmYgLS1naXQgYS90L3Q3NDA2LXN1Ym1vZHVsZS11cGRhdGUuc2ggYi90L3Q3NDA2LXN1Ym1vZHVsZS11cGRhdGUuc2gKaW5kZXggYWQ3ZDhmYS4uNGZiNDQ3YSAxMDA3NTUKLS0tIGEvdC90NzQwNi1zdWJtb2R1bGUtdXBkYXRlLnNoCisrKyBiL3QvdDc0MDYtc3VibW9kdWxlLXVwZGF0ZS5zaApAQCAtMTU4LDcgKzE1OCw2IEBACiAJdGVzdF9pMThuY21wIGV4cGVjdDIgYWN0dWFsMgogJwogCi1hcG9zPSInIjsKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSB1cGRhdGUgZG9lcyBub3QgZmV0Y2ggYWxyZWFkeSBwcmVzZW50IGNvbW1pdHMnICcKIAkoY2Qgc3VibW9kdWxlICYmCiAJICBlY2hvIGxpbmUzID4+IGZpbGUgJiYKQEAgLTE2OCw3ICsxNjcsNyBAQAogCSkgJiYKIAkoY2Qgc3VwZXIvc3VibW9kdWxlICYmCiAJICBoZWFkPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKSAmJgotCSAgZWNobyAiU3VibW9kdWxlIHBhdGggJHthcG9zfXN1Ym1vZHVsZSRhcG9zOiBjaGVja2VkIG91dCAkYXBvcyRoZWFkJGFwb3MiID4gLi4vLi4vZXhwZWN0ZWQgJiYKKwkgIGVjaG8gIlN1Ym1vZHVsZSBwYXRoICR7U1F9c3VibW9kdWxlJFNROiBjaGVja2VkIG91dCAkU1EkaGVhZCRTUSIgPiAuLi8uLi9leHBlY3RlZCAmJgogCSAgZ2l0IHJlc2V0IC0taGFyZCBIRUFEfjEKIAkpICYmCiAJKGNkIHN1cGVyICYmCkBAIC05NTksNyArOTU4LDEwIEBACiAJCWNkIHN1cGVyMyAmJgogCQlzZWQgLWUgInMjdXJsID0gLi4vI3VybCA9IGZpbGU6Ly8kcHdkLyMiIDwuZ2l0bW9kdWxlcyA+LmdpdG1vZHVsZXMudG1wICYmCiAJCW12IC1mIC5naXRtb2R1bGVzLnRtcCAuZ2l0bW9kdWxlcyAmJgotCQl0ZXN0X211c3RfZmFpbCBnaXQgc3VibW9kdWxlIHVwZGF0ZSAtLWluaXQgLS1kZXB0aD0xIDI+YWN0dWFsICYmCisJCSMgU29tZSBwcm90b2NvbCB2ZXJzaW9ucyAoZS5nLiAyKSBzdXBwb3J0IGZldGNoaW5nCisJCSMgdW5hZHZlcnRpc2VkIG9iamVjdHMsIHNvIHJlc3RyaWN0IHRoaXMgdGVzdCB0byB2MC4KKwkJdGVzdF9tdXN0X2ZhaWwgZW52IEdJVF9URVNUX1BST1RPQ09MX1ZFUlNJT049MCBcCisJCQlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtLWluaXQgLS1kZXB0aD0xIDI+YWN0dWFsICYmCiAJCXRlc3RfaTE4bmdyZXAgIkRpcmVjdCBmZXRjaGluZyBvZiB0aGF0IGNvbW1pdCBmYWlsZWQuIiBhY3R1YWwgJiYKIAkJZ2l0IC1DIC4uL3N1Ym1vZHVsZSBjb25maWcgdXBsb2FkcGFjay5hbGxvd1JlYWNoYWJsZVNIQTFJbldhbnQgdHJ1ZSAmJgogCQlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtLWluaXQgLS1kZXB0aD0xID5hY3R1YWwgJiYKZGlmZiAtLWdpdCBhL3QvdDc0MDctc3VibW9kdWxlLWZvcmVhY2guc2ggYi90L3Q3NDA3LXN1Ym1vZHVsZS1mb3JlYWNoLnNoCmluZGV4IDc3NzI5YWMuLjZiMmFhOTEgMTAwNzU1Ci0tLSBhL3QvdDc0MDctc3VibW9kdWxlLWZvcmVhY2guc2gKKysrIGIvdC90NzQwNy1zdWJtb2R1bGUtZm9yZWFjaC5zaApAQCAtNDExLDQgKzQxMSwyMSBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdvcHRpb24tbGlrZSBhcmd1bWVudHMgcGFzc2VkIHRvIGZvcmVhY2ggY29tbWFuZHMgYXJlIG5vdCBsb3N0JyAnCisJKAorCQljZCBzdXBlciAmJgorCQlnaXQgc3VibW9kdWxlIGZvcmVhY2ggImVjaG8gYmUgLS1xdWlldCIgPiAuLi9leHBlY3RlZCAmJgorCQlnaXQgc3VibW9kdWxlIGZvcmVhY2ggZWNobyBiZSAtLXF1aWV0ID4gLi4vYWN0dWFsCisJKSAmJgorCWdyZXAgLXNxIC1lICItLXF1aWV0IiBleHBlY3RlZCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdvcHRpb24tbGlrZSBhcmd1bWVudHMgcGFzc2VkIHRvIGZvcmVhY2ggcmVjdXJzZSBjb3JyZWN0bHknICcKKwlnaXQgLUMgY2xvbmUyIHN1Ym1vZHVsZSBmb3JlYWNoIC0tcmVjdXJzaXZlICJlY2hvIGJlIC0tYW4tb3B0aW9uIiA+ZXhwZWN0ICYmCisJZ2l0IC1DIGNsb25lMiBzdWJtb2R1bGUgZm9yZWFjaCAtLXJlY3Vyc2l2ZSBlY2hvIGJlIC0tYW4tb3B0aW9uID5hY3R1YWwgJiYKKwlncmVwIC1lICItLWFuLW9wdGlvbiIgZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDc0MTAtc3VibW9kdWxlLWNoZWNrb3V0LXRvLnNoIGIvdC90NzQxMC1zdWJtb2R1bGUtY2hlY2tvdXQtdG8uc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGYxYjQ5MmUuLjAwMDAwMDAKLS0tIGEvdC90NzQxMC1zdWJtb2R1bGUtY2hlY2tvdXQtdG8uc2gKKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi0jIS9iaW4vc2gKLQotdGVzdF9kZXNjcmlwdGlvbj0nQ29tYmluYXRpb24gb2Ygc3VibW9kdWxlcyBhbmQgbXVsdGlwbGUgd29ya2RpcnMnCi0KLS4gLi90ZXN0LWxpYi5zaAotCi1iYXNlX3BhdGg9JChwd2QgLVApCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwOiBtYWtlIG9yaWdpbicgICcKLQlta2RpciAtcCBvcmlnaW4vc3ViICYmCi0JKAotCQljZCBvcmlnaW4vc3ViICYmIGdpdCBpbml0ICYmCi0JCWVjaG8gZmlsZTEgPmZpbGUxICYmCi0JCWdpdCBhZGQgZmlsZTEgJiYKLQkJZ2l0IGNvbW1pdCAtbSBmaWxlMQotCSkgJiYKLQlta2RpciAtcCBvcmlnaW4vbWFpbiAmJgotCSgKLQkJY2Qgb3JpZ2luL21haW4gJiYgZ2l0IGluaXQgJiYKLQkJZ2l0IHN1Ym1vZHVsZSBhZGQgLi4vc3ViICYmCi0JCWdpdCBjb21taXQgLW0gImFkZCBzdWIiCi0JKSAmJgotCSgKLQkJY2Qgb3JpZ2luL3N1YiAmJgotCQllY2hvIGZpbGUxdXBkYXRlZCA+ZmlsZTEgJiYKLQkJZ2l0IGFkZCBmaWxlMSAmJgotCQlnaXQgY29tbWl0IC1tICJmaWxlMSB1cGRhdGVkIgotCSkgJiYKLQlnaXQgLUMgb3JpZ2luL21haW4vc3ViIHB1bGwgJiYKLQkoCi0JCWNkIG9yaWdpbi9tYWluICYmCi0JCWdpdCBhZGQgc3ViICYmCi0JCWdpdCBjb21taXQgLW0gInN1YiB1cGRhdGVkIgotCSkKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXA6IGNsb25lJyAnCi0JbWtkaXIgY2xvbmUgJiYKLQlnaXQgLUMgY2xvbmUgY2xvbmUgLS1yZWN1cnNpdmUgIiRiYXNlX3BhdGgvb3JpZ2luL21haW4iCi0nCi0KLXJldjFfaGFzaF9tYWluPSQoZ2l0IC0tZ2l0LWRpcj1vcmlnaW4vbWFpbi8uZ2l0IHNob3cgLS1wcmV0dHk9Zm9ybWF0OiVoIC1xICJIRUFEfjEiKQotcmV2MV9oYXNoX3N1Yj0kKGdpdCAtLWdpdC1kaXI9b3JpZ2luL3N1Yi8uZ2l0IHNob3cgLS1wcmV0dHk9Zm9ybWF0OiVoIC1xICJIRUFEfjEiKQotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjaGVja291dCBtYWluJyAnCi0JbWtkaXIgZGVmYXVsdF9jaGVja291dCAmJgotCWdpdCAtQyBjbG9uZS9tYWluIHdvcmt0cmVlIGFkZCAiJGJhc2VfcGF0aC9kZWZhdWx0X2NoZWNrb3V0L21haW4iICIkcmV2MV9oYXNoX21haW4iCi0nCi0KLXRlc3RfZXhwZWN0X2ZhaWx1cmUgJ2NhbiBzZWUgc3VibW9kdWxlIGRpZmZzIGp1c3QgYWZ0ZXIgY2hlY2tvdXQnICcKLQlnaXQgLUMgZGVmYXVsdF9jaGVja291dC9tYWluIGRpZmYgLS1zdWJtb2R1bGUgbWFzdGVyIl4hIiA+b3V0ICYmCi0JZ3JlcCAiZmlsZTEgdXBkYXRlZCIgb3V0Ci0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IG1haW4gYW5kIGluaXRpYWxpemUgaW5kZXBlbmRlbnQgY2xvbmVzJyAnCi0JbWtkaXIgZnVsbHlfY2xvbmVkX3N1Ym1vZHVsZSAmJgotCWdpdCAtQyBjbG9uZS9tYWluIHdvcmt0cmVlIGFkZCAiJGJhc2VfcGF0aC9mdWxseV9jbG9uZWRfc3VibW9kdWxlL21haW4iICIkcmV2MV9oYXNoX21haW4iICYmCi0JZ2l0IC1DIGZ1bGx5X2Nsb25lZF9zdWJtb2R1bGUvbWFpbiBzdWJtb2R1bGUgdXBkYXRlCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NhbiBzZWUgc3VibW9kdWxlIGRpZmZzIGFmdGVyIGluZGVwZW5kZW50IGNsb25pbmcnICcKLQlnaXQgLUMgZnVsbHlfY2xvbmVkX3N1Ym1vZHVsZS9tYWluIGRpZmYgLS1zdWJtb2R1bGUgbWFzdGVyIl4hIiA+b3V0ICYmCi0JZ3JlcCAiZmlsZTEgdXBkYXRlZCIgb3V0Ci0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrb3V0IHN1YiBtYW51YWxseScgJwotCW1rZGlyIGxpbmtlZF9zdWJtb2R1bGUgJiYKLQlnaXQgLUMgY2xvbmUvbWFpbiB3b3JrdHJlZSBhZGQgIiRiYXNlX3BhdGgvbGlua2VkX3N1Ym1vZHVsZS9tYWluIiAiJHJldjFfaGFzaF9tYWluIiAmJgotCWdpdCAtQyBjbG9uZS9tYWluL3N1YiB3b3JrdHJlZSBhZGQgIiRiYXNlX3BhdGgvbGlua2VkX3N1Ym1vZHVsZS9tYWluL3N1YiIgIiRyZXYxX2hhc2hfc3ViIgotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjYW4gc2VlIHN1Ym1vZHVsZSBkaWZmcyBhZnRlciBtYW51YWwgY2hlY2tvdXQgb2YgbGlua2VkIHN1Ym1vZHVsZScgJwotCWdpdCAtQyBsaW5rZWRfc3VibW9kdWxlL21haW4gZGlmZiAtLXN1Ym1vZHVsZSBtYXN0ZXIiXiEiID5vdXQgJiYKLQlncmVwICJmaWxlMSB1cGRhdGVkIiBvdXQKLScKLQotdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3NDExLXN1Ym1vZHVsZS1jb25maWcuc2ggYi90L3Q3NDExLXN1Ym1vZHVsZS1jb25maWcuc2gKaW5kZXggODk2OTBiNy4uYWQyOGU5MyAxMDA3NTUKLS0tIGEvdC90NzQxMS1zdWJtb2R1bGUtY29uZmlnLnNoCisrKyBiL3QvdDc0MTEtc3VibW9kdWxlLWNvbmZpZy5zaApAQCAtMTQyLDYgKzE0MiwxNSBAQAogCSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAndW5zZXR0aW5nIHN1Ym1vZHVsZXMgY29uZmlnIGZyb20gdGhlIHdvcmtpbmcgdHJlZSB3aXRoICJzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgLS11bnNldCInICcKKwkoY2Qgc3VwZXIgJiYKKwkJZ2l0IHN1Ym1vZHVsZS0taGVscGVyIGNvbmZpZyAtLXVuc2V0IHN1Ym1vZHVsZS5zdWJtb2R1bGUudXJsICYmCisJCWdpdCBzdWJtb2R1bGUtLWhlbHBlciBjb25maWcgc3VibW9kdWxlLnN1Ym1vZHVsZS51cmwgPmFjdHVhbCAmJgorCQl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCisJKQorJworCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dyaXRpbmcgc3VibW9kdWxlcyBjb25maWcgd2l0aCAic3VibW9kdWxlLS1oZWxwZXIgY29uZmlnIicgJwogCShjZCBzdXBlciAmJgogCQllY2hvICJuZXdfdXJsIiA+ZXhwZWN0ICYmCkBAIC0yMzQsMTggKzI0MywxNCBAQAogCSkKICcKIAotIyBXaGVuIHRoaXMgdGVzdCBldmVudHVhbGx5IHBhc3NlcywgYmVmb3JlIHR1cm5pbmcgaXQgaW50bwotIyB0ZXN0X2V4cGVjdF9zdWNjZXNzLCByZW1lbWJlciB0byByZXBsYWNlIHRoZSB0ZXN0X2kxOG5ncmVwIGJlbG93IHdpdGgKLSMgYSAidGVzdF9tdXN0X2JlX2VtcHR5IHdhcm5pbmciIHRvIGJlIHN1cmUgdGhhdCB0aGUgd2FybmluZyBpcyBhY3R1YWxseQotIyByZW1vdmVkIGZyb20gdGhlIGNvZGUuCi10ZXN0X2V4cGVjdF9mYWlsdXJlICdyZWFkaW5nIG5lc3RlZCBzdWJtb2R1bGVzIGNvbmZpZyB3aGVuIC5naXRtb2R1bGVzIGlzIG5vdCBpbiB0aGUgd29ya2luZyB0cmVlJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZWFkaW5nIG5lc3RlZCBzdWJtb2R1bGVzIGNvbmZpZyB3aGVuIC5naXRtb2R1bGVzIGlzIG5vdCBpbiB0aGUgd29ya2luZyB0cmVlJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgLUMgc3VwZXIvc3VibW9kdWxlIGNoZWNrb3V0IC5naXRtb2R1bGVzIiAmJgogCShjZCBzdXBlciAmJgogCQllY2hvICIuL25lc3RlZF9zdWJtb2R1bGUiID5leHBlY3QgJiYKIAkJcm0gc3VibW9kdWxlLy5naXRtb2R1bGVzICYmCiAJCXRlc3QtdG9vbCBzdWJtb2R1bGUtbmVzdGVkLXJlcG8tY29uZmlnIFwKIAkJCXN1Ym1vZHVsZSBzdWJtb2R1bGUubmVzdGVkX3N1Ym1vZHVsZS51cmwgPmFjdHVhbCAyPndhcm5pbmcgJiYKLQkJdGVzdF9pMThuZ3JlcCAibmVzdGVkIHN1Ym1vZHVsZXMgd2l0aG91dCAlcyBpbiB0aGUgd29ya2luZyB0cmVlIGFyZSBub3Qgc3VwcG9ydGVkIHlldCIgd2FybmluZyAmJgorCQl0ZXN0X211c3RfYmVfZW1wdHkgd2FybmluZyAmJgogCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAJKQogJwpkaWZmIC0tZ2l0IGEvdC90NzQxMi1zdWJtb2R1bGUtYWJzb3JiZ2l0ZGlycy5zaCBiL3QvdDc0MTItc3VibW9kdWxlLWFic29yYmdpdGRpcnMuc2gKaW5kZXggY2U3NGMxMi4uMWNmYTE1MCAxMDA3NTUKLS0tIGEvdC90NzQxMi1zdWJtb2R1bGUtYWJzb3JiZ2l0ZGlycy5zaAorKysgYi90L3Q3NDEyLXN1Ym1vZHVsZS1hYnNvcmJnaXRkaXJzLnNoCkBAIC03NSw3ICs3NSwxMiBAQAogCUdJVF9XT1JLX1RSRUU9Li4vLi4vLi4vbmVzdGVkIGdpdCAtQyBzdWIxLy5naXQvbW9kdWxlcy9uZXN0ZWQgY29uZmlnIFwKIAkJY29yZS53b3JrdHJlZSAiLi4vLi4vLi4vbmVzdGVkIiAmJgogCSMgbWFrZSBzdXJlIHRoaXMgcmUtc2V0dXAgaXMgY29ycmVjdAotCWdpdCBzdGF0dXMgLS1pZ25vcmUtc3VibW9kdWxlcz1ub25lCisJZ2l0IHN0YXR1cyAtLWlnbm9yZS1zdWJtb2R1bGVzPW5vbmUgJiYKKworCSMgYWxzbyBtYWtlIHN1cmUgdGhpcyBvbGQgc2V0dXAgZG9lcyBub3QgcmVncmVzcworCWdpdCBzdWJtb2R1bGUgdXBkYXRlIC0taW5pdCAtLXJlY3Vyc2l2ZSA+b3V0IDI+ZXJyICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IG91dCAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnYWJzb3JiIHRoZSBnaXQgZGlyIGluIGEgbmVzdGVkIHN1Ym1vZHVsZScgJwpkaWZmIC0tZ2l0IGEvdC90NzQxNS1zdWJtb2R1bGUtbmFtZXMuc2ggYi90L3Q3NDE1LXN1Ym1vZHVsZS1uYW1lcy5zaAppbmRleCAxNDBlYThjLi5mNzAzNjhiIDEwMDc1NQotLS0gYS90L3Q3NDE1LXN1Ym1vZHVsZS1uYW1lcy5zaAorKysgYi90L3Q3NDE1LXN1Ym1vZHVsZS1uYW1lcy5zaApAQCAtMTU0LDcgKzE1NCw3IEBACiAJCSMgc3ltbGluayBkZXRlY3RvcjsgdGhpcyBncmVwIHN0cmluZyBjb21lcyBmcm9tIHRoZSBjb25maWcKIAkJIyB2YXJpYWJsZSBuYW1lIGFuZCB3aWxsIG5vdCBiZSB0cmFuc2xhdGVkLgogCQl0ZXN0X211c3RfZmFpbCBnaXQgZnNjayAyPm91dHB1dCAmJgotCQlncmVwIGdpdG1vZHVsZXNTeW1saW5rIG91dHB1dAorCQl0ZXN0X2kxOG5ncmVwIGdpdG1vZHVsZXNTeW1saW5rIG91dHB1dAogCSkKICcKIApAQCAtMTcyLDcgKzE3Miw3IEBACiAJCWdpdCBscy10cmVlIEhFQUQgfCBzZWQgcy9zdWJkaXIvLmdpdG1vZHVsZXMvIHwgZ2l0IG1rdHJlZSAmJgogCiAJCXRlc3RfbXVzdF9mYWlsIGdpdCBmc2NrIDI+b3V0cHV0ICYmCi0JCWdyZXAgZ2l0bW9kdWxlc0Jsb2Igb3V0cHV0CisJCXRlc3RfaTE4bmdyZXAgZ2l0bW9kdWxlc0Jsb2Igb3V0cHV0CiAJKQogJwogCkBAIC0xODYsNyArMTg2LDcgQEAKIAkJZ2l0IGNvbW1pdCAtbSAiYnJva2VuIGdpdG1vZHVsZXMiICYmCiAKIAkJZ2l0IGZzY2sgMj5vdXRwdXQgJiYKLQkJZ3JlcCBnaXRtb2R1bGVzUGFyc2Ugb3V0cHV0ICYmCisJCXRlc3RfaTE4bmdyZXAgZ2l0bW9kdWxlc1BhcnNlIG91dHB1dCAmJgogCQl0ZXN0X2kxOG5ncmVwICEgImJhZCBjb25maWciIG91dHB1dAogCSkKICcKQEAgLTIwNyw2ICsyMDcsOSBAQAogCQkJZ2l0IGhhc2gtb2JqZWN0IC13IC0tc3RkaW4pIiAmJgogCQlyZXY9IiQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEKSIgJiYKIAkJaGFzaD0iJChlY2hvIHggfCBnaXQgaGFzaC1vYmplY3QgLXcgLS1zdGRpbikiICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCB1cGRhdGUtaW5kZXggLS1hZGQgXAorCQkJLS1jYWNoZWluZm8gMTYwMDAwLCRyZXYsZFxcYSAyPmVyciAmJgorCQl0ZXN0X2kxOG5ncmVwICJJbnZhbGlkIHBhdGgiIGVyciAmJgogCQlnaXQgLWMgY29yZS5wcm90ZWN0TlRGUz1mYWxzZSB1cGRhdGUtaW5kZXggLS1hZGQgXAogCQkJLS1jYWNoZWluZm8gMTAwNjQ0LCRtb2R1bGVzLC5naXRtb2R1bGVzIFwKIAkJCS0tY2FjaGVpbmZvIDE2MDAwMCwkcmV2LGMgXApAQCAtMjE0LDkgKzIxNyw3IEBACiAJCQktLWNhY2hlaW5mbyAxMDA2NDQsJGhhc2gsZC4vYS94IFwKIAkJCS0tY2FjaGVpbmZvIDEwMDY0NCwkaGFzaCxkLi9hLy4uZ2l0ICYmCiAJCXRlc3RfdGljayAmJgotCQlnaXQgLWMgY29yZS5wcm90ZWN0TlRGUz1mYWxzZSBjb21taXQgLW0gIm1vZHVsZSIgJiYKLQkJdGVzdF9tdXN0X2ZhaWwgZ2l0IHNob3cgSEVBRDogMj5lcnIgJiYKLQkJdGVzdF9pMThuZ3JlcCBiYWNrc2xhc2ggZXJyCisJCWdpdCAtYyBjb3JlLnByb3RlY3ROVEZTPWZhbHNlIGNvbW1pdCAtbSAibW9kdWxlIgogCSkgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgLWMgY29yZS5wcm90ZWN0TlRGUz1mYWxzZSBcCiAJCWNsb25lIC0tcmVjdXJzZS1zdWJtb2R1bGVzIHNxdWF0dGluZyBzcXVhdHRpbmctY2xvbmUgMj5lcnIgJiYKQEAgLTI0NCw3ICsyNDUsNyBAQAogCQlnaXQgY29tbWl0IC1tIG5lc3RlZAogCSkgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgY2xvbmUgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgbmVzdGVkIGNsb25lIDI+ZXJyICYmCi0JdGVzdF9pMThuZ3JlcCAtRSAiKGlzIGluc2lkZSBnaXQgZGlyfGhpcHBvIGFscmVhZHkgZXhpc3RzfG5vdCBhIGdpdCByZXBvc2l0b3J5OiAuKi9oaXBwbykiIGVycgorCXRlc3RfaTE4bmdyZXAgImlzIGluc2lkZSBnaXQgZGlyIiBlcnIKICcKIAogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3NDE5LXN1Ym1vZHVsZS1zZXQtYnJhbmNoLnNoIGIvdC90NzQxOS1zdWJtb2R1bGUtc2V0LWJyYW5jaC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZDI1Zjc4Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NzQxOS1zdWJtb2R1bGUtc2V0LWJyYW5jaC5zaApAQCAtMCwwICsxLDkzIEBACisjIS9iaW4vc2gKKyMKKyMgQ29weXJpZ2h0IChjKSAyMDE5IERlbnRvbiBMaXUKKyMKKwordGVzdF9kZXNjcmlwdGlvbj0nVGVzdCBzdWJtb2R1bGVzIHNldC1icmFuY2ggc3ViY29tbWFuZAorCitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgc2V0LWJyYW5jaCBzdWJjb21tYW5kIG9mIGdpdC1zdWJtb2R1bGUgaXMgd29ya2luZworYXMgZXhwZWN0ZWQuCisnCisKK1RFU1RfTk9fQ1JFQVRFX1JFUE89MQorLiAuL3Rlc3QtbGliLnNoCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Ym1vZHVsZSBjb25maWcgY2FjaGUgc2V0dXAnICcKKwlta2RpciBzdWJtb2R1bGUgJiYKKwkoY2Qgc3VibW9kdWxlICYmCisJCWdpdCBpbml0ICYmCisJCWVjaG8gYSA+YSAmJgorCQlnaXQgYWRkIC4gJiYKKwkJZ2l0IGNvbW1pdCAtbWEgJiYKKwkJZ2l0IGNoZWNrb3V0IC1iIHRvcGljICYmCisJCWVjaG8gYiA+YSAmJgorCQlnaXQgYWRkIC4gJiYKKwkJZ2l0IGNvbW1pdCAtbWIKKwkpICYmCisJbWtkaXIgc3VwZXIgJiYKKwkoY2Qgc3VwZXIgJiYKKwkJZ2l0IGluaXQgJiYKKwkJZ2l0IHN1Ym1vZHVsZSBhZGQgLi4vc3VibW9kdWxlICYmCisJCWdpdCBjb21taXQgLW0gImFkZCBzdWJtb2R1bGUiCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdlbnN1cmUgc3VibW9kdWxlIGJyYW5jaCBpcyB1bnNldCcgJworCShjZCBzdXBlciAmJgorCQkhIGdyZXAgYnJhbmNoIC5naXRtb2R1bGVzCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IHN1Ym1vZHVsZSBzZXQtYnJhbmNoIC0tYnJhbmNoJyAnCisJKGNkIHN1cGVyICYmCisJCWdpdCBzdWJtb2R1bGUgc2V0LWJyYW5jaCAtLWJyYW5jaCB0b3BpYyBzdWJtb2R1bGUgJiYKKwkJZ3JlcCAiYnJhbmNoID0gdG9waWMiIC5naXRtb2R1bGVzICYmCisJCWdpdCBzdWJtb2R1bGUgdXBkYXRlIC0tcmVtb3RlICYmCisJCWNhdCA8PC1cRU9GID5leHBlY3QgJiYKKwkJYgorCQlFT0YKKwkJZ2l0IC1DIHN1Ym1vZHVsZSBzaG93IC1zIC0tcHJldHR5PSVzID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorCSkKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCBzdWJtb2R1bGUgc2V0LWJyYW5jaCAtLWRlZmF1bHQnICcKKwkoY2Qgc3VwZXIgJiYKKwkJZ2l0IHN1Ym1vZHVsZSBzZXQtYnJhbmNoIC0tZGVmYXVsdCBzdWJtb2R1bGUgJiYKKwkJISBncmVwIGJyYW5jaCAuZ2l0bW9kdWxlcyAmJgorCQlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtLXJlbW90ZSAmJgorCQljYXQgPDwtXEVPRiA+ZXhwZWN0ICYmCisJCWEKKwkJRU9GCisJCWdpdCAtQyBzdWJtb2R1bGUgc2hvdyAtcyAtLXByZXR0eT0lcyA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Rlc3Qgc3VibW9kdWxlIHNldC1icmFuY2ggLWInICcKKwkoY2Qgc3VwZXIgJiYKKwkJZ2l0IHN1Ym1vZHVsZSBzZXQtYnJhbmNoIC1iIHRvcGljIHN1Ym1vZHVsZSAmJgorCQlncmVwICJicmFuY2ggPSB0b3BpYyIgLmdpdG1vZHVsZXMgJiYKKwkJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLS1yZW1vdGUgJiYKKwkJY2F0IDw8LVxFT0YgPmV4cGVjdCAmJgorCQliCisJCUVPRgorCQlnaXQgLUMgc3VibW9kdWxlIHNob3cgLXMgLS1wcmV0dHk9JXMgPmFjdHVhbCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IHN1Ym1vZHVsZSBzZXQtYnJhbmNoIC1kJyAnCisJKGNkIHN1cGVyICYmCisJCWdpdCBzdWJtb2R1bGUgc2V0LWJyYW5jaCAtZCBzdWJtb2R1bGUgJiYKKwkJISBncmVwIGJyYW5jaCAuZ2l0bW9kdWxlcyAmJgorCQlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtLXJlbW90ZSAmJgorCQljYXQgPDwtXEVPRiA+ZXhwZWN0ICYmCisJCWEKKwkJRU9GCisJCWdpdCAtQyBzdWJtb2R1bGUgc2hvdyAtcyAtLXByZXR0eT0lcyA+YWN0dWFsICYmCisJCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwkpCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzQyMC1zdWJtb2R1bGUtc2V0LXVybC5zaCBiL3QvdDc0MjAtc3VibW9kdWxlLXNldC11cmwuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWYwY2I2ZQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDc0MjAtc3VibW9kdWxlLXNldC11cmwuc2gKQEAgLTAsMCArMSw1NSBAQAorIyEvYmluL3NoCisjCisjIENvcHlyaWdodCAoYykgMjAxOSBEZW50b24gTGl1CisjCisKK3Rlc3RfZGVzY3JpcHRpb249J1Rlc3Qgc3VibW9kdWxlcyBzZXQtdXJsIHN1YmNvbW1hbmQKKworVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIHNldC11cmwgc3ViY29tbWFuZCBvZiBnaXQtc3VibW9kdWxlIGlzIHdvcmtpbmcKK2FzIGV4cGVjdGVkLgorJworCitURVNUX05PX0NSRUFURV9SRVBPPTEKKy4gLi90ZXN0LWxpYi5zaAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdWJtb2R1bGUgY29uZmlnIGNhY2hlIHNldHVwJyAnCisJbWtkaXIgc3VibW9kdWxlICYmCisJKAorCQljZCBzdWJtb2R1bGUgJiYKKwkJZ2l0IGluaXQgJiYKKwkJZWNobyBhID5maWxlICYmCisJCWdpdCBhZGQgZmlsZSAmJgorCQlnaXQgY29tbWl0IC1tYQorCSkgJiYKKwlta2RpciBzdXBlciAmJgorCSgKKwkJY2Qgc3VwZXIgJiYKKwkJZ2l0IGluaXQgJiYKKwkJZ2l0IHN1Ym1vZHVsZSBhZGQgLi4vc3VibW9kdWxlICYmCisJCWdpdCBjb21taXQgLW0gImFkZCBzdWJtb2R1bGUiCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd0ZXN0IHN1Ym1vZHVsZSBzZXQtdXJsJyAnCisJIyBhZGQgYSBjb21taXQgYW5kIG1vdmUgdGhlIHN1Ym1vZHVsZSAoY2hhbmdlIHRoZSB1cmwpCisJKAorCQljZCBzdWJtb2R1bGUgJiYKKwkJZWNobyBiID4+ZmlsZSAmJgorCQlnaXQgYWRkIGZpbGUgJiYKKwkJZ2l0IGNvbW1pdCAtbWIKKwkpICYmCisJbXYgc3VibW9kdWxlIG5ld3N1Ym1vZHVsZSAmJgorCisJZ2l0IC1DIG5ld3N1Ym1vZHVsZSBzaG93ID5leHBlY3QgJiYKKwkoCisJCWNkIHN1cGVyICYmCisJCXRlc3RfbXVzdF9mYWlsIGdpdCBzdWJtb2R1bGUgdXBkYXRlIC0tcmVtb3RlICYmCisJCWdpdCBzdWJtb2R1bGUgc2V0LXVybCBzdWJtb2R1bGUgLi4vbmV3c3VibW9kdWxlICYmCisJCWdyZXAgLUYgInVybCA9IC4uL25ld3N1Ym1vZHVsZSIgLmdpdG1vZHVsZXMgJiYKKwkJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLS1yZW1vdGUKKwkpICYmCisJZ2l0IC1DIHN1cGVyL3N1Ym1vZHVsZSBzaG93ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzUwMC1jb21taXQtdGVtcGxhdGUtc3F1YXNoLXNpZ25vZmYuc2ggYi90L3Q3NTAwLWNvbW1pdC10ZW1wbGF0ZS1zcXVhc2gtc2lnbm9mZi5zaAppbmRleCA0NmE1Y2Q0Li42ZDE5ZWNlIDEwMDc1NQotLS0gYS90L3Q3NTAwLWNvbW1pdC10ZW1wbGF0ZS1zcXVhc2gtc2lnbm9mZi5zaAorKysgYi90L3Q3NTAwLWNvbW1pdC10ZW1wbGF0ZS1zcXVhc2gtc2lnbm9mZi5zaApAQCAtMzgyLDQgKzM4MiwxMyBAQAogCSkKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tbWl0IHdpdGhvdXQgc3RhZ2luZyBmaWxlcyBmYWlscyBhbmQgZGlzcGxheXMgaGludHMnICcKKwllY2hvICJpbml0aWFsIiA+ZmlsZSAmJgorCWdpdCBhZGQgZmlsZSAmJgorCWdpdCBjb21taXQgLW0gaW5pdGlhbCAmJgorCWVjaG8gImNoYW5nZXMiID4+ZmlsZSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBjb21taXQgLW0gdXBkYXRlID5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5ncmVwICJubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlIFwiZ2l0IGFkZFwiIGFuZC9vciBcImdpdCBjb21taXQgLWFcIikiIGFjdHVhbAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDc1MDEtY29tbWl0LWJhc2ljLWZ1bmN0aW9uYWxpdHkuc2ggYi90L3Q3NTAxLWNvbW1pdC1iYXNpYy1mdW5jdGlvbmFsaXR5LnNoCmluZGV4IGYxMzQ5YWYuLjExMGI0YmYgMTAwNzU1Ci0tLSBhL3QvdDc1MDEtY29tbWl0LWJhc2ljLWZ1bmN0aW9uYWxpdHkuc2gKKysrIGIvdC90NzUwMS1jb21taXQtYmFzaWMtZnVuY3Rpb25hbGl0eS5zaApAQCAtMTUwLDcgKzE1MCw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdhbWVuZCBjb21taXQnICcKIAljYXQgPmVkaXRvciA8PC1cRU9GICYmCiAJIyEvYmluL3NoCi0Jc2VkIC1lICJzL2EgZmlsZS9hbiBhbWVuZCBjb21taXQvZyIgPCAiJDEiID4gIiQxLSIKKwlzZWQgLWUgInMvYSBmaWxlL2FuIGFtZW5kIGNvbW1pdC9nIiA8IiQxIiA+IiQxLSIKIAltdiAiJDEtIiAiJDEiCiAJRU9GCiAJY2htb2QgNzU1IGVkaXRvciAmJgpAQCAtMjYzLDcgKzI2Myw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdlZGl0aW5nIG1lc3NhZ2UgZnJvbSBvdGhlciBjb21taXQnICcKIAljYXQgPmVkaXRvciA8PC1cRU9GICYmCiAJIyEvYmluL3NoCi0Jc2VkIC1lICJzL2FtZW5kL29sZGVyL2ciICA8ICIkMSIgPiAiJDEtIgorCXNlZCAtZSAicy9hbWVuZC9vbGRlci9nIiAgPCIkMSIgPiIkMS0iCiAJbXYgIiQxLSIgIiQxIgogCUVPRgogCWNobW9kIDc1NSBlZGl0b3IgJiYKQEAgLTI4NSw5ICsyODUsOCBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIFBFUkwgJ2ludGVyYWN0aXZlIGFkZCcgJwotCWVjaG8gNyB8Ci0JZ2l0IGNvbW1pdCAtLWludGVyYWN0aXZlIHwKLQlncmVwICJXaGF0IG5vdyIKKwllY2hvIDcgfCB0ZXN0X211c3RfZmFpbCBnaXQgY29tbWl0IC0taW50ZXJhY3RpdmUgPm91dCAmJgorCWdyZXAgIldoYXQgbm93IiBvdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICJjb21taXQgLS1pbnRlcmFjdGl2ZSBkb2Vzbid0IGNoYW5nZSBpbmRleCBpZiBlZGl0b3IgYWJvcnRzIiAnCkBAIC0zNjIsMTIgKzM2MSwxMiBAQAogCW9sZHRpY2s9JEdJVF9BVVRIT1JfREFURSAmJgogCXRlc3RfdGljayAmJgogCWdpdCByZXNldCAtLWhhcmQgJiYKLQlnaXQgY2F0LWZpbGUgLXAgSEVBRCB8CisJZ2l0IGNhdC1maWxlIC1wIEhFQUQgPmNvbW1pdCAmJgogCXNlZCAtZSAicy9hdXRob3IuKi9hdXRob3IgJGF1dGhvciAkb2xkdGljay8iIFwKLQkJLWUgInMvXlwoY29tbWl0dGVyLio+IFwpLiokL1wxJEdJVF9DT01NSVRURVJfREFURS8iID4gXAotCQlleHBlY3RlZCAmJgorCQktZSAicy9eXChjb21taXR0ZXIuKj4gXCkuKiQvXDEkR0lUX0NPTU1JVFRFUl9EQVRFLyIgXAorCQljb21taXQgPmV4cGVjdGVkICYmCiAJZ2l0IGNvbW1pdCAtLWFtZW5kIC0tYXV0aG9yPSIkYXV0aG9yIiAmJgotCWdpdCBjYXQtZmlsZSAtcCBIRUFEID4gY3VycmVudCAmJgorCWdpdCBjYXQtZmlsZSAtcCBIRUFEID5jdXJyZW50ICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgY3VycmVudAogCiAnCkBAIC0zNzcsMTIgKzM3NiwxMiBAQAogCXRlc3RfdGljayAmJgogCW5ld3RpY2s9JEdJVF9BVVRIT1JfREFURSAmJgogCWdpdCByZXNldCAtLWhhcmQgJiYKLQlnaXQgY2F0LWZpbGUgLXAgSEVBRCB8CisJZ2l0IGNhdC1maWxlIC1wIEhFQUQgPmNvbW1pdCAmJgogCXNlZCAtZSAicy9hdXRob3IuKi9hdXRob3IgJGF1dGhvciAkbmV3dGljay8iIFwKLQkJLWUgInMvXlwoY29tbWl0dGVyLio+IFwpLiokL1wxJEdJVF9DT01NSVRURVJfREFURS8iID4gXAotCQlleHBlY3RlZCAmJgorCQktZSAicy9eXChjb21taXR0ZXIuKj4gXCkuKiQvXDEkR0lUX0NPTU1JVFRFUl9EQVRFLyIgXAorCQljb21taXQgPmV4cGVjdGVkICYmCiAJZ2l0IGNvbW1pdCAtLWFtZW5kIC0tZGF0ZT0iJG5ld3RpY2siICYmCi0JZ2l0IGNhdC1maWxlIC1wIEhFQUQgPiBjdXJyZW50ICYmCisJZ2l0IGNhdC1maWxlIC1wIEhFQUQgPmN1cnJlbnQgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBjdXJyZW50CiAKICcKQEAgLTQwOSwxMiArNDA4LDEzIEBACiAJZWNobyAxID5wb3NpdGl2ZSAmJgogCWdpdCBhZGQgcG9zaXRpdmUgJiYKIAlnaXQgY29tbWl0IC1zIC1tICJ0aGFuayB5b3UiICYmCi0JZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgc2VkIC1lICIxLC9eXCQvZCIgPmFjdHVhbCAmJgorCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCA+Y29tbWl0ICYmCisJc2VkIC1lICIxLC9eXCQvZCIgY29tbWl0ID5hY3R1YWwgJiYKIAkoCiAJCWVjaG8gdGhhbmsgeW91ICYmCiAJCWVjaG8gJiYKLQkJZ2l0IHZhciBHSVRfQ09NTUlUVEVSX0lERU5UIHwKLQkJc2VkIC1lICJzLz4uKi8+LyIgLWUgInMvXi9TaWduZWQtb2ZmLWJ5OiAvIgorCQlnaXQgdmFyIEdJVF9DT01NSVRURVJfSURFTlQgPmlkZW50ICYmCisJCXNlZCAtZSAicy8+LiovPi8iIC1lICJzL14vU2lnbmVkLW9mZi1ieTogLyIgaWRlbnQKIAkpID5leHBlY3RlZCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogCkBAIC00MjgsMTMgKzQyOCwxNCBAQAogCWdpdCBjb21taXQgLXMgLW0gInRoYW5rIHlvdQogCiAkZXhpc3RpbmciICYmCi0JZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgc2VkIC1lICIxLC9eXCQvZCIgPmFjdHVhbCAmJgorCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCA+Y29tbWl0ICYmCisJc2VkIC1lICIxLC9eXCQvZCIgY29tbWl0ID5hY3R1YWwgJiYKIAkoCiAJCWVjaG8gdGhhbmsgeW91ICYmCiAJCWVjaG8gJiYKIAkJZWNobyAkZXhpc3RpbmcgJiYKLQkJZ2l0IHZhciBHSVRfQ09NTUlUVEVSX0lERU5UIHwKLQkJc2VkIC1lICJzLz4uKi8+LyIgLWUgInMvXi9TaWduZWQtb2ZmLWJ5OiAvIgorCQlnaXQgdmFyIEdJVF9DT01NSVRURVJfSURFTlQgPmlkZW50ICYmCisJCXNlZCAtZSAicy8+LiovPi8iIC1lICJzL14vU2lnbmVkLW9mZi1ieTogLyIgaWRlbnQKIAkpID5leHBlY3RlZCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogCkBAIC00NDgsMTMgKzQ0OSwxNCBAQAogCWdpdCBjb21taXQgLXMgLW0gIndlbGNvbWUKIAogJGFsdCIgJiYKLQlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBzZWQgLWUgIjEsL15cJC9kIiA+IGFjdHVhbCAmJgorCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCA+Y29tbWl0ICYmCisJc2VkIC1lICIxLC9eXCQvZCIgY29tbWl0ID5hY3R1YWwgJiYKIAkoCiAJCWVjaG8gd2VsY29tZSAmJgogCQllY2hvICYmCiAJCWVjaG8gJGFsdCAmJgotCQlnaXQgdmFyIEdJVF9DT01NSVRURVJfSURFTlQgfAotCQlzZWQgLWUgInMvPi4qLz4vIiAtZSAicy9eL1NpZ25lZC1vZmYtYnk6IC8iCisJCWdpdCB2YXIgR0lUX0NPTU1JVFRFUl9JREVOVCA+aWRlbnQgJiYKKwkJc2VkIC1lICJzLz4uKi8+LyIgLWUgInMvXi9TaWduZWQtb2ZmLWJ5OiAvIiBpZGVudAogCSkgPmV4cGVjdGVkICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCkBAIC00NjgsMTUgKzQ3MCwxNiBAQAogCiBXZSBoYXZlIG5vdwogJGFsdCIgJiYKLQlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBzZWQgLWUgIjEsL15cJC9kIiA+IGFjdHVhbCAmJgorCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCA+Y29tbWl0ICYmCisJc2VkIC1lICIxLC9eXCQvZCIgY29tbWl0ID5hY3R1YWwgJiYKIAkoCiAJCWVjaG8gd2VsY29tZSAmJgogCQllY2hvICYmCiAJCWVjaG8gV2UgaGF2ZSBub3cgJiYKIAkJZWNobyAkYWx0ICYmCiAJCWVjaG8gJiYKLQkJZ2l0IHZhciBHSVRfQ09NTUlUVEVSX0lERU5UIHwKLQkJc2VkIC1lICJzLz4uKi8+LyIgLWUgInMvXi9TaWduZWQtb2ZmLWJ5OiAvIgorCQlnaXQgdmFyIEdJVF9DT01NSVRURVJfSURFTlQgPmlkZW50ICYmCisJCXNlZCAtZSAicy8+LiovPi8iIC1lICJzL14vU2lnbmVkLW9mZi1ieTogLyIgaWRlbnQKIAkpID5leHBlY3RlZCAmJgogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwpAQCAtNDg5LDcgKzQ5Miw4IEBACiAKIG5vbi10cmFpbGVyIGxpbmUKIE15Zm9vdGVyOiB4IiAmJgotCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCB8IHNlZCAtZSAiMSwvXlwkL2QiID4gYWN0dWFsICYmCisJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEID5jb21taXQgJiYKKwlzZWQgLWUgIjEsL15cJC9kIiBjb21taXQgPmFjdHVhbCAmJgogCSgKIAkJZWNobyBzdWJqZWN0ICYmCiAJCWVjaG8gJiYKQEAgLTUwNiw3ICs1MTAsOCBAQAogCiBub24tdHJhaWxlciBsaW5lCiBNeWZvb3RlcjogeCIgJiYKLQlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBzZWQgLWUgIjEsL15cJC9kIiA+IGFjdHVhbCAmJgorCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCA+Y29tbWl0ICYmCisJc2VkIC1lICIxLC9eXCQvZCIgY29tbWl0ID5hY3R1YWwgJiYKIAkoCiAJCWVjaG8gc3ViamVjdCAmJgogCQllY2hvICYmCkBAIC01MzgsNyArNTQzLDggQEAKIAk+bmVnYXRpdmUgJiYKIAlnaXQgYWRkIG5lZ2F0aXZlICYmCiAJZ2l0IGNvbW1pdCAtbSAib25lIiAtbSAidHdvIiAtbSAidGhyZWUiICYmCi0JZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgc2VkIC1lICIxLC9eXCQvZCIgPmFjdHVhbCAmJgorCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCA+Y29tbWl0ICYmCisJc2VkIC1lICIxLC9eXCQvZCIgY29tbWl0ID5hY3R1YWwgJiYKIAkoCiAJCWVjaG8gb25lICYmCiAJCWVjaG8gJiYKQEAgLTU1NSwyMyArNTYxLDI1IEBACiAJb2xkdGljaz0kR0lUX0FVVEhPUl9EQVRFICYmCiAJdGVzdF90aWNrICYmCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgotCWdpdCBjYXQtZmlsZSAtcCBIRUFEIHwKKwlnaXQgY2F0LWZpbGUgLXAgSEVBRCA+Y29tbWl0ICYmCiAJc2VkIC1lICJzL2F1dGhvci4qL2F1dGhvciAkYXV0aG9yICRvbGR0aWNrLyIgXAotCQktZSAicy9eXChjb21taXR0ZXIuKj4gXCkuKiQvXDEkR0lUX0NPTU1JVFRFUl9EQVRFLyIgPiBcCi0JCWV4cGVjdGVkICYmCisJCS1lICJzL15cKGNvbW1pdHRlci4qPiBcKS4qJC9cMSRHSVRfQ09NTUlUVEVSX0RBVEUvIiBcCisJCWNvbW1pdCA+ZXhwZWN0ZWQgJiYKIAlnaXQgY29tbWl0IC0tYW1lbmQgLS1hdXRob3I9IiRhdXRob3IiICYmCi0JZ2l0IGNhdC1maWxlIC1wIEhFQUQgPiBjdXJyZW50ICYmCisJZ2l0IGNhdC1maWxlIC1wIEhFQUQgPmN1cnJlbnQgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZCBjdXJyZW50CiAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGNvbW1pdCA8ZmlsZT4gd2l0aCBkaXJ0eSBpbmRleCcgJwotCWVjaG8gdGFjb2NhdCA+IGVsaWYgJiYKLQllY2hvIHRlaGx1bHogPiBjaHogJiYKKwllY2hvIHRhY29jYXQgPmVsaWYgJiYKKwllY2hvIHRlaGx1bHogPmNoeiAmJgogCWdpdCBhZGQgY2h6ICYmCiAJZ2l0IGNvbW1pdCBlbGlmIC1tICJ0YWNvY2F0IGlzIGEgcGFsaW5kcm9tZSIgJiYKLQlnaXQgc2hvdyAtLXN0YXQgfCBncmVwIGVsaWYgJiYKLQlnaXQgZGlmZiAtLWNhY2hlZCB8IGdyZXAgY2h6CisJZ2l0IHNob3cgLS1zdGF0ID5zdGF0ICYmCisJZ3JlcCBlbGlmIHN0YXQgJiYKKwlnaXQgZGlmZiAtLWNhY2hlZCA+ZGlmZiAmJgorCWdyZXAgY2h6IGRpZmYKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc2FtZSB0cmVlIChzaW5nbGUgcGFyZW50KScgJwpAQCAtNTg0LDcgKzU5Miw4IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzYW1lIHRyZWUgKHNpbmdsZSBwYXJlbnQpIC0tYWxsb3ctZW1wdHknICcKIAogCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSAiZm9yY2VkIGVtcHR5IiAmJgotCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCB8IGdyZXAgZm9yY2VkCisJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEID5jb21taXQgJiYKKwlncmVwIGZvcmNlZCBjb21taXQKIAogJwogCmRpZmYgLS1naXQgYS90L3Q3NTAyLWNvbW1pdC1wb3JjZWxhaW4uc2ggYi90L3Q3NTAyLWNvbW1pdC1wb3JjZWxhaW4uc2gKaW5kZXggY2E0YTc0MC4uMTRjOTJlNCAxMDA3NTUKLS0tIGEvdC90NzUwMi1jb21taXQtcG9yY2VsYWluLnNoCisrKyBiL3QvdDc1MDItY29tbWl0LXBvcmNlbGFpbi5zaApAQCAtMTYsNyArMTYsOCBAQAogIyBBcmd1bWVudHM6IFs8cHJlZml4XSBbPGNvbW1pdCBtZXNzYWdlPl0gWzxjb21taXQgb3B0aW9ucz5dCiBjaGVja19zdW1tYXJ5X29uZWxpbmUoKSB7CiAJdGVzdF90aWNrICYmCi0JZ2l0IGNvbW1pdCAkezMrIiQzIn0gLW0gIiQyIiB8IGhlYWQgLTEgPiBhY3QgJiYKKwlnaXQgY29tbWl0ICR7MysiJDMifSAtbSAiJDIiID5yYXcgJiYKKwloZWFkIC1uIDEgcmF3ID5hY3QgJiYKIAogCSMgYnJhbmNoIG5hbWUKIAlTVU1NQVJZX1BSRUZJWD0iJChnaXQgbmFtZS1yZXYgLS1uYW1lLW9ubHkgSEVBRCkiICYmCkBAIC02OCw3ICs2OSw3IEBACiAJZ2l0IGNoZWNrb3V0IHJlY3Vyc2l2ZS1hICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIHJlY3Vyc2l2ZS1iICYmCiAJIyByZXNvbHZlIHRoZSBjb25mbGljdAotCWVjaG8gY29tbWl0LWEgPiBmaWxlMSAmJgorCWVjaG8gY29tbWl0LWEgPmZpbGUxICYmCiAJZ2l0IGFkZCBmaWxlMSAmJgogCWNoZWNrX3N1bW1hcnlfb25lbGluZSAiIiAiTWVyZ2UiCiAnCkBAIC0xNDIsOSArMTQzLDExIEBACiAJPnBvc2l0aXZlICYmCiAJZ2l0IGFkZCBwb3NpdGl2ZSAmJgogCWdpdCBjb21taXQgLXMgLW0gInRoYW5rIHlvdSIgJiYKLQlhY3R1YWw9JChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBzZWQgLW5lICJzL1NpZ25lZC1vZmYtYnk6IC8vcCIpICYmCi0JZXhwZWN0ZWQ9JChnaXQgdmFyIEdJVF9DT01NSVRURVJfSURFTlQgfCBzZWQgLWUgInMvPi4qLz4vIikgJiYKLQl0ZXN0ICJ6JGFjdHVhbCIgPSAieiRleHBlY3RlZCIKKwlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgPmNvbW1pdC5tc2cgJiYKKwlzZWQgLW5lICJzL1NpZ25lZC1vZmYtYnk6IC8vcCIgY29tbWl0Lm1zZyA+YWN0dWFsICYmCisJZ2l0IHZhciBHSVRfQ09NTUlUVEVSX0lERU5UID5pZGVudCAmJgorCXNlZCAtZSAicy8+LiovPi8iIGlkZW50ID5leHBlY3RlZCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogCiAnCiAKQEAgLTE1Myw4ICsxNTYsOCBAQAogCT5uZWdhdGl2ZSAmJgogCWdpdCBhZGQgbmVnYXRpdmUgJiYKIAlnaXQgY29tbWl0IC1tICJvbmUiIC1tICJ0d28iIC1tICJ0aHJlZSIgJiYKLQlhY3R1YWw9JChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgfCBzZWQgLWUgIjEsL15cJC9kIikgJiYKLQlleHBlY3RlZD0kKGVjaG8gb25lOyBlY2hvOyBlY2hvIHR3bzsgZWNobzsgZWNobyB0aHJlZSkgJiYKKwlhY3R1YWw9JChnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgPnRtcCAmJiBzZWQgLWUgIjEsL15cJC9kIiB0bXAgJiYgcm0gdG1wKSAmJgorCWV4cGVjdGVkPSQodGVzdF93cml0ZV9saW5lcyAib25lIiAiIiAidHdvIiAiIiAidGhyZWUiKSAmJgogCXRlc3QgInokYWN0dWFsIiA9ICJ6JGV4cGVjdGVkIgogCiAnCkBAIC0xNjMsNyArMTY2LDggQEAKIAogCWVjaG8gbWludXMgPm5lZ2F0aXZlICYmCiAJZ2l0IGFkZCBuZWdhdGl2ZSAmJgotCWdpdCBzdGF0dXMgLXYgfCBzZWQgLW5lICIvXmRpZmYgLS1naXQgL3AiID5hY3R1YWwgJiYKKwlnaXQgc3RhdHVzIC12ID5yYXcgJiYKKwlzZWQgLW5lICIvXmRpZmYgLS1naXQgL3AiIHJhdyA+YWN0dWFsICYmCiAJZWNobyAiZGlmZiAtLWdpdCBhL25lZ2F0aXZlIGIvbmVnYXRpdmUiID5leHBlY3QgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAKQEAgLTE4OSw3ICsxOTMsOCBAQAogCiAJZWNobyA+Pm5lZ2F0aXZlICYmCiAJZ2l0IGNvbW1pdCAtLWNsZWFudXA9dmVyYmF0aW0gLS1uby1zdGF0dXMgLXQgZXhwZWN0IC1hICYmCi0JZ2l0IGNhdC1maWxlIC1wIEhFQUQgfHNlZCAtZSAiMSwvXlwkL2QiID5hY3R1YWwgJiYKKwlnaXQgY2F0LWZpbGUgLXAgSEVBRCA+cmF3ICYmCisJc2VkIC1lICIxLC9eXCQvZCIgcmF3ID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAKICcKQEAgLTE5OCw3ICsyMDMsOCBAQAogCiAJZWNobyA+Pm5lZ2F0aXZlICYmCiAJZ2l0IGNvbW1pdCAtLWNsZWFudXA9dmVyYmF0aW0gLUYgZXhwZWN0IC1hICYmCi0JZ2l0IGNhdC1maWxlIC1wIEhFQUQgfHNlZCAtZSAiMSwvXlwkL2QiPmFjdHVhbCAmJgorCWdpdCBjYXQtZmlsZSAtcCBIRUFEID5yYXcgJiYKKwlzZWQgLWUgIjEsL15cJC9kIiByYXcgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKIAogJwpAQCAtMjA3LDcgKzIxMyw4IEBACiAKIAllY2hvID4+bmVnYXRpdmUgJiYKIAlnaXQgY29tbWl0IC0tY2xlYW51cD12ZXJiYXRpbSAtbSAiJG1lc2dfd2l0aF9jb21tZW50X2FuZF9uZXdsaW5lcyIgLWEgJiYKLQlnaXQgY2F0LWZpbGUgLXAgSEVBRCB8c2VkIC1lICIxLC9eXCQvZCI+YWN0dWFsICYmCisJZ2l0IGNhdC1maWxlIC1wIEhFQUQgPnJhdyAmJgorCXNlZCAtZSAiMSwvXlwkL2QiIHJhdyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogCiAnCkBAIC0yMTUsMTAgKzIyMiwxMSBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xlYW51cCBjb21taXQgbWVzc2FnZXMgKHdoaXRlc3BhY2Ugb3B0aW9uLC1GKScgJwogCiAJZWNobyA+Pm5lZ2F0aXZlICYmCi0JeyBlY2hvO2VjaG8gIiMgdGV4dCI7ZWNobzsgfSA+dGV4dCAmJgorCXRlc3Rfd3JpdGVfbGluZXMgIiIgIiMgdGV4dCIgIiIgPnRleHQgJiYKIAllY2hvICIjIHRleHQiID5leHBlY3QgJiYKIAlnaXQgY29tbWl0IC0tY2xlYW51cD13aGl0ZXNwYWNlIC1GIHRleHQgLWEgJiYKLQlnaXQgY2F0LWZpbGUgLXAgSEVBRCB8c2VkIC1lICIxLC9eXCQvZCI+YWN0dWFsICYmCisJZ2l0IGNhdC1maWxlIC1wIEhFQUQgPnJhdyAmJgorCXNlZCAtZSAiMSwvXlwkL2QiIHJhdyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogCiAnCkBAIC0yMjYsNDggKzIzNCw1MSBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xlYW51cCBjb21taXQgbWVzc2FnZXMgKHNjaXNzb3JzIG9wdGlvbiwtRiwtZSknICcKIAogCWVjaG8gPj5uZWdhdGl2ZSAmJgotCWNhdCA+dGV4dCA8PEVPRiAmJgorCWNhdCA+dGV4dCA8PC1cRU9GICYmCiAKLSMgdG8gYmUga2VwdAorCSMgdG8gYmUga2VwdAogCi0gICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tID44IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyB0byBiZSBrZXB0LCB0b28KLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tID44IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotdG8gYmUgcmVtb3ZlZAotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gPjggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi10byBiZSByZW1vdmVkLCB0b28KLUVPRgorCSAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gPjggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisJIyB0byBiZSBrZXB0LCB0b28KKwkjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSA+OCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwl0byBiZSByZW1vdmVkCisJIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gPjggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisJdG8gYmUgcmVtb3ZlZCwgdG9vCisJRU9GCiAKLQljYXQgPmV4cGVjdCA8PEVPRiAmJgotIyB0byBiZSBrZXB0CisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCSMgdG8gYmUga2VwdAogCi0gICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tID44IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyB0byBiZSBrZXB0LCB0b28KLUVPRgorCSAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gPjggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisJIyB0byBiZSBrZXB0LCB0b28KKwlFT0YKIAlnaXQgY29tbWl0IC0tY2xlYW51cD1zY2lzc29ycyAtZSAtRiB0ZXh0IC1hICYmCi0JZ2l0IGNhdC1maWxlIC1wIEhFQUQgfHNlZCAtZSAiMSwvXlwkL2QiPmFjdHVhbCAmJgorCWdpdCBjYXQtZmlsZSAtcCBIRUFEID5yYXcgJiYKKwlzZWQgLWUgIjEsL15cJC9kIiByYXcgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xlYW51cCBjb21taXQgbWVzc2FnZXMgKHNjaXNzb3JzIG9wdGlvbiwtRiwtZSwgc2Npc3NvcnMgb24gZmlyc3QgbGluZSknICcKIAogCWVjaG8gPj5uZWdhdGl2ZSAmJgotCWNhdCA+dGV4dCA8PEVPRiAmJgotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gPjggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi10byBiZSByZW1vdmVkCi1FT0YKKwljYXQgPnRleHQgPDwtXEVPRiAmJgorCSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tID44IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCXRvIGJlIHJlbW92ZWQKKwlFT0YKIAlnaXQgY29tbWl0IC0tY2xlYW51cD1zY2lzc29ycyAtZSAtRiB0ZXh0IC1hIC0tYWxsb3ctZW1wdHktbWVzc2FnZSAmJgotCWdpdCBjYXQtZmlsZSAtcCBIRUFEIHxzZWQgLWUgIjEsL15cJC9kIj5hY3R1YWwgJiYKKwlnaXQgY2F0LWZpbGUgLXAgSEVBRCA+cmF3ICYmCisJc2VkIC1lICIxLC9eXCQvZCIgcmF3ID5hY3R1YWwgJiYKIAl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NsZWFudXAgY29tbWl0IG1lc3NhZ2VzIChzdHJpcCBvcHRpb24sLUYpJyAnCiAKIAllY2hvID4+bmVnYXRpdmUgJiYKLQl7IGVjaG87ZWNobyAiIyB0ZXh0IjtlY2hvIHNhbXBsZTtlY2hvOyB9ID50ZXh0ICYmCisJdGVzdF93cml0ZV9saW5lcyAiIiAiIyB0ZXh0IiAic2FtcGxlIiAiIiA+dGV4dCAmJgogCWVjaG8gc2FtcGxlID5leHBlY3QgJiYKIAlnaXQgY29tbWl0IC0tY2xlYW51cD1zdHJpcCAtRiB0ZXh0IC1hICYmCi0JZ2l0IGNhdC1maWxlIC1wIEhFQUQgfHNlZCAtZSAiMSwvXlwkL2QiPmFjdHVhbCAmJgorCWdpdCBjYXQtZmlsZSAtcCBIRUFEID5yYXcgJiYKKwlzZWQgLWUgIjEsL15cJC9kIiByYXcgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKIAogJwpAQCAtMjc1LDcgKzI4Niw3IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbGVhbnVwIGNvbW1pdCBtZXNzYWdlcyAoc3RyaXAgb3B0aW9uLC1GLC1lKScgJwogCiAJZWNobyA+Pm5lZ2F0aXZlICYmCi0JeyBlY2hvO2VjaG8gc2FtcGxlO2VjaG87IH0gPnRleHQgJiYKKwl0ZXN0X3dyaXRlX2xpbmVzICIiICJzYW1wbGUiICIiID50ZXh0ICYmCiAJZ2l0IGNvbW1pdCAtZSAtRiB0ZXh0IC1hICYmCiAJaGVhZCAtbiA0IC5naXQvQ09NTUlUX0VESVRNU0cgPmFjdHVhbAogJwpAQCAtMzg3LDExICszOTgsMTEgQEAKICcKIAogd3JpdGVfc2NyaXB0IC5naXQvRkFLRV9FRElUT1IgPDxFT0YKLWVjaG8gZWRpdG9yIHN0YXJ0ZWQgPiAiJChwd2QpLy5naXQvcmVzdWx0IgorZWNobyBlZGl0b3Igc3RhcnRlZCA+IiQocHdkKS8uZ2l0L3Jlc3VsdCIKIGV4aXQgMAogRU9GCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIUFVVE9JREVOVCAnZG8gbm90IGZpcmUgZWRpdG9yIHdoZW4gY29tbWl0dGVyIGlzIGJvZ3VzJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICFGQUlMX1BSRVJFUVMsIUFVVE9JREVOVCAnZG8gbm90IGZpcmUgZWRpdG9yIHdoZW4gY29tbWl0dGVyIGlzIGJvZ3VzJyAnCiAJPi5naXQvcmVzdWx0ICYmCiAKIAllY2hvID4+bmVnYXRpdmUgJiYKQEAgLTQ1NSw3ICs0NjYsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyBFWEVDS0VFUFNQSUQgJ2EgU0lHVEVSTSBzaG91bGQgYnJlYWsgbG9ja3MnICcKIAllY2hvID4+bmVnYXRpdmUgJiYKIAkhICIkU0hFTExfUEFUSCIgLWMgJ1wnJwotCSAgZWNobyBraWxsIC1URVJNICQkID4+IC5naXQvRkFLRV9FRElUT1IKKwkgIGVjaG8ga2lsbCAtVEVSTSAkJCA+Pi5naXQvRkFLRV9FRElUT1IKIAkgIEdJVF9FRElUT1I9LmdpdC9GQUtFX0VESVRPUgogCSAgZXhwb3J0IEdJVF9FRElUT1IKIAkgIGV4ZWMgZ2l0IGNvbW1pdCAtYSdcJycgJiYKQEAgLTQ3MSw3ICs0ODIsOCBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBzZWNvbmQgbWFzdGVyICYmCiAJZ2l0IGNoZWNrb3V0IG1hc3RlciBnICYmCiAJRURJVE9SPTogZ2l0IGNvbW1pdCAtYSAmJgotCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCB8IHNlZCAtbiAtZSAicy9ecGFyZW50IC8vcCIgLWUgIi9eJC9xIiA+YWN0dWFsICYmCisJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEID5yYXcgJiYKKwlzZWQgLW4gLWUgInMvXnBhcmVudCAvL3AiIC1lICIvXiQvcSIgcmF3ID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAKICcKQEAgLTQ4MCw3ICs0OTIsOCBAQAogCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWdpdCBjb21taXQgLXMgLW0gImhlbGxvOiBraXR0eSIgLS1hbGxvdy1lbXB0eSAmJgotCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCB8IHNlZCAtZSAiMSwvXiQvZCIgPmFjdHVhbCAmJgorCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCA+cmF3ICYmCisJc2VkIC1lICIxLC9eJC9kIiByYXcgPmFjdHVhbCAmJgogCXRlc3RfbGluZV9jb3VudCA9IDMgYWN0dWFsCiAKICcKZGlmZiAtLWdpdCBhL3QvdDc1MDMtcHJlLWNvbW1pdC1hbmQtcHJlLW1lcmdlLWNvbW1pdC1ob29rcy5zaCBiL3QvdDc1MDMtcHJlLWNvbW1pdC1hbmQtcHJlLW1lcmdlLWNvbW1pdC1ob29rcy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMzQ4NTQ1Ci0tLSAvZGV2L251bGwKKysrIGIvdC90NzUwMy1wcmUtY29tbWl0LWFuZC1wcmUtbWVyZ2UtY29tbWl0LWhvb2tzLnNoCkBAIC0wLDAgKzEsMjgxIEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ncHJlLWNvbW1pdCBhbmQgcHJlLW1lcmdlLWNvbW1pdCBob29rcycKKworLiAuL3Rlc3QtbGliLnNoCisKK0hPT0tESVI9IiQoZ2l0IHJldi1wYXJzZSAtLWdpdC1kaXIpL2hvb2tzIgorUFJFQ09NTUlUPSIkSE9PS0RJUi9wcmUtY29tbWl0IgorUFJFTUVSR0U9IiRIT09LRElSL3ByZS1tZXJnZS1jb21taXQiCisKKyMgUHJlcGFyZSBzYW1wbGUgc2NyaXB0cyB0aGF0IHdyaXRlIHRoZWlyICQwIHRvIGFjdHVhbF9ob29rcwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2FtcGxlIHNjcmlwdCBzZXR1cCcgJworCW1rZGlyIC1wICIkSE9PS0RJUiIgJiYKKwl3cml0ZV9zY3JpcHQgIiRIT09LRElSL3N1Y2Nlc3Muc2FtcGxlIiA8PC1cRU9GICYmCisJZWNobyAkMCA+PmFjdHVhbF9ob29rcworCWV4aXQgMAorCUVPRgorCXdyaXRlX3NjcmlwdCAiJEhPT0tESVIvZmFpbC5zYW1wbGUiIDw8LVxFT0YgJiYKKwllY2hvICQwID4+YWN0dWFsX2hvb2tzCisJZXhpdCAxCisJRU9GCisJd3JpdGVfc2NyaXB0ICIkSE9PS0RJUi9ub24tZXhlYy5zYW1wbGUiIDw8LVxFT0YgJiYKKwllY2hvICQwID4+YWN0dWFsX2hvb2tzCisJZXhpdCAxCisJRU9GCisJY2htb2QgLXggIiRIT09LRElSL25vbi1leGVjLnNhbXBsZSIgJiYKKwl3cml0ZV9zY3JpcHQgIiRIT09LRElSL3JlcXVpcmUtcHJlZml4LnNhbXBsZSIgPDwtXEVPRiAmJgorCWVjaG8gJDAgPj5hY3R1YWxfaG9va3MKKwl0ZXN0ICRHSVRfUFJFRklYID0gInN1Y2Nlc3MvIgorCUVPRgorCXdyaXRlX3NjcmlwdCAiJEhPT0tESVIvY2hlY2stYXV0aG9yLnNhbXBsZSIgPDwtXEVPRgorCWVjaG8gJDAgPj5hY3R1YWxfaG9va3MKKwl0ZXN0ICIkR0lUX0FVVEhPUl9OQU1FIiA9ICJOZXcgQXV0aG9yIiAmJgorCXRlc3QgIiRHSVRfQVVUSE9SX0VNQUlMIiA9ICJuZXdhdXRob3JAZXhhbXBsZS5jb20iCisJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Jvb3QgY29tbWl0JyAnCisJZWNobyAicm9vdCIgPmZpbGUgJiYKKwlnaXQgYWRkIGZpbGUgJiYKKwlnaXQgY29tbWl0IC1tICJ6ZXJvdGgiICYmCisJZ2l0IGNoZWNrb3V0IC1iIHNpZGUgJiYKKwllY2hvICJmb28iID5mb28gJiYKKwlnaXQgYWRkIGZvbyAmJgorCWdpdCBjb21taXQgLW0gIm1ha2UgaXQgbm9uLWZmIiAmJgorCWdpdCBicmFuY2ggc2lkZS1vcmlnIHNpZGUgJiYKKwlnaXQgY2hlY2tvdXQgbWFzdGVyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIGNvbmZsaWN0aW5nIGJyYW5jaGVzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlY2tvdXQgbWFzdGVyIiAmJgorCWdpdCBjaGVja291dCAtYiBjb25mbGljdGluZy1hIG1hc3RlciAmJgorCWVjaG8gYSA+Y29uZmxpY3RpbmcgJiYKKwlnaXQgYWRkIGNvbmZsaWN0aW5nICYmCisJZ2l0IGNvbW1pdCAtbSBjb25mbGljdGluZy1hICYmCisJZ2l0IGNoZWNrb3V0IC1iIGNvbmZsaWN0aW5nLWIgbWFzdGVyICYmCisJZWNobyBiID5jb25mbGljdGluZyAmJgorCWdpdCBhZGQgY29uZmxpY3RpbmcgJiYKKwlnaXQgY29tbWl0IC1tIGNvbmZsaWN0aW5nLWIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnd2l0aCBubyBob29rJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBhY3R1YWxfaG9va3MiICYmCisJZWNobyAiZm9vIiA+ZmlsZSAmJgorCWdpdCBhZGQgZmlsZSAmJgorCWdpdCBjb21taXQgLW0gImZpcnN0IiAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIGFjdHVhbF9ob29rcworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd3aXRoIG5vIGhvb2sgKG1lcmdlKScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgYWN0dWFsX2hvb2tzIiAmJgorCWdpdCBicmFuY2ggLWYgc2lkZSBzaWRlLW9yaWcgJiYKKwlnaXQgY2hlY2tvdXQgc2lkZSAmJgorCWdpdCBtZXJnZSAtbSAibWVyZ2UgbWFzdGVyIiBtYXN0ZXIgJiYKKwlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgYWN0dWFsX2hvb2tzCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tbm8tdmVyaWZ5IHdpdGggbm8gaG9vaycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgYWN0dWFsX2hvb2tzIiAmJgorCWVjaG8gImJhciIgPmZpbGUgJiYKKwlnaXQgYWRkIGZpbGUgJiYKKwlnaXQgY29tbWl0IC0tbm8tdmVyaWZ5IC1tICJiYXIiICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgYWN0dWFsX2hvb2tzCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tbm8tdmVyaWZ5IHdpdGggbm8gaG9vayAobWVyZ2UpJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBhY3R1YWxfaG9va3MiICYmCisJZ2l0IGJyYW5jaCAtZiBzaWRlIHNpZGUtb3JpZyAmJgorCWdpdCBjaGVja291dCBzaWRlICYmCisJZ2l0IG1lcmdlIC0tbm8tdmVyaWZ5IC1tICJtZXJnZSBtYXN0ZXIiIG1hc3RlciAmJgorCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBhY3R1YWxfaG9va3MKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnd2l0aCBzdWNjZWVkaW5nIGhvb2snICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIFwiJFBSRUNPTU1JVFwiIGV4cGVjdGVkX2hvb2tzIGFjdHVhbF9ob29rcyIgJiYKKwljcCAiJEhPT0tESVIvc3VjY2Vzcy5zYW1wbGUiICIkUFJFQ09NTUlUIiAmJgorCWVjaG8gIiRQUkVDT01NSVQiID5leHBlY3RlZF9ob29rcyAmJgorCWVjaG8gIm1vcmUiID4+ZmlsZSAmJgorCWdpdCBhZGQgZmlsZSAmJgorCWdpdCBjb21taXQgLW0gIm1vcmUiICYmCisJdGVzdF9jbXAgZXhwZWN0ZWRfaG9va3MgYWN0dWFsX2hvb2tzCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dpdGggc3VjY2VlZGluZyBob29rIChtZXJnZSknICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIFwiJFBSRU1FUkdFXCIgZXhwZWN0ZWRfaG9va3MgYWN0dWFsX2hvb2tzIiAmJgorCWNwICIkSE9PS0RJUi9zdWNjZXNzLnNhbXBsZSIgIiRQUkVNRVJHRSIgJiYKKwllY2hvICIkUFJFTUVSR0UiID5leHBlY3RlZF9ob29rcyAmJgorCWdpdCBjaGVja291dCBzaWRlICYmCisJZ2l0IG1lcmdlIC1tICJtZXJnZSBtYXN0ZXIiIG1hc3RlciAmJgorCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZF9ob29rcyBhY3R1YWxfaG9va3MKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnYXV0b21hdGljIG1lcmdlIGZhaWxzOyBib3RoIGhvb2tzIGFyZSBhdmFpbGFibGUnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIFwiJFBSRU1FUkdFXCIgXCIkUFJFQ09NTUlUXCIiICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBleHBlY3RlZF9ob29rcyBhY3R1YWxfaG9va3MiICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlY2tvdXQgbWFzdGVyIiAmJgorCWNwICIkSE9PS0RJUi9zdWNjZXNzLnNhbXBsZSIgIiRQUkVNRVJHRSIgJiYKKwljcCAiJEhPT0tESVIvc3VjY2Vzcy5zYW1wbGUiICIkUFJFQ09NTUlUIiAmJgorCisJZ2l0IGNoZWNrb3V0IGNvbmZsaWN0aW5nLWEgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLW0gIm1lcmdlIGNvbmZsaWN0aW5nLWIiIGNvbmZsaWN0aW5nLWIgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBhY3R1YWxfaG9va3MgJiYKKworCWVjaG8gIiRQUkVDT01NSVQiID5leHBlY3RlZF9ob29rcyAmJgorCWVjaG8gYStiID5jb25mbGljdGluZyAmJgorCWdpdCBhZGQgY29uZmxpY3RpbmcgJiYKKwlnaXQgY29tbWl0IC1tICJyZXNvbHZlIGNvbmZsaWN0IiAmJgorCXRlc3RfY21wIGV4cGVjdGVkX2hvb2tzIGFjdHVhbF9ob29rcworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLW5vLXZlcmlmeSB3aXRoIHN1Y2NlZWRpbmcgaG9vaycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgXCIkUFJFQ09NTUlUXCIgYWN0dWFsX2hvb2tzIiAmJgorCWNwICIkSE9PS0RJUi9zdWNjZXNzLnNhbXBsZSIgIiRQUkVDT01NSVQiICYmCisJZWNobyAiZXZlbiBtb3JlIiA+PmZpbGUgJiYKKwlnaXQgYWRkIGZpbGUgJiYKKwlnaXQgY29tbWl0IC0tbm8tdmVyaWZ5IC1tICJldmVuIG1vcmUiICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgYWN0dWFsX2hvb2tzCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tbm8tdmVyaWZ5IHdpdGggc3VjY2VlZGluZyBob29rIChtZXJnZSknICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIFwiJFBSRU1FUkdFXCIgYWN0dWFsX2hvb2tzIiAmJgorCWNwICIkSE9PS0RJUi9zdWNjZXNzLnNhbXBsZSIgIiRQUkVNRVJHRSIgJiYKKwlnaXQgYnJhbmNoIC1mIHNpZGUgc2lkZS1vcmlnICYmCisJZ2l0IGNoZWNrb3V0IHNpZGUgJiYKKwlnaXQgbWVyZ2UgLS1uby12ZXJpZnkgLW0gIm1lcmdlIG1hc3RlciIgbWFzdGVyICYmCisJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIGFjdHVhbF9ob29rcworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd3aXRoIGZhaWxpbmcgaG9vaycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgXCIkUFJFQ09NTUlUXCIgZXhwZWN0ZWRfaG9va3MgYWN0dWFsX2hvb2tzIiAmJgorCWNwICIkSE9PS0RJUi9mYWlsLnNhbXBsZSIgIiRQUkVDT01NSVQiICYmCisJZWNobyAiJFBSRUNPTU1JVCIgPmV4cGVjdGVkX2hvb2tzICYmCisJZWNobyAiYW5vdGhlciIgPj5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbW1pdCAtbSAiYW5vdGhlciIgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZF9ob29rcyBhY3R1YWxfaG9va3MKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1uby12ZXJpZnkgd2l0aCBmYWlsaW5nIGhvb2snICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIFwiJFBSRUNPTU1JVFwiIGFjdHVhbF9ob29rcyIgJiYKKwljcCAiJEhPT0tESVIvZmFpbC5zYW1wbGUiICIkUFJFQ09NTUlUIiAmJgorCWVjaG8gInN0dWZmIiA+PmZpbGUgJiYKKwlnaXQgYWRkIGZpbGUgJiYKKwlnaXQgY29tbWl0IC0tbm8tdmVyaWZ5IC1tICJzdHVmZiIgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBhY3R1YWxfaG9va3MKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnd2l0aCBmYWlsaW5nIGhvb2sgKG1lcmdlKScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgXCIkUFJFTUVSR0VcIiBleHBlY3RlZF9ob29rcyBhY3R1YWxfaG9va3MiICYmCisJY3AgIiRIT09LRElSL2ZhaWwuc2FtcGxlIiAiJFBSRU1FUkdFIiAmJgorCWVjaG8gIiRQUkVNRVJHRSIgPmV4cGVjdGVkX2hvb2tzICYmCisJZ2l0IGNoZWNrb3V0IHNpZGUgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLW0gIm1lcmdlIG1hc3RlciIgbWFzdGVyICYmCisJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCXRlc3RfY21wIGV4cGVjdGVkX2hvb2tzIGFjdHVhbF9ob29rcworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLW5vLXZlcmlmeSB3aXRoIGZhaWxpbmcgaG9vayAobWVyZ2UpJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBcIiRQUkVNRVJHRVwiIGFjdHVhbF9ob29rcyIgJiYKKwljcCAiJEhPT0tESVIvZmFpbC5zYW1wbGUiICIkUFJFTUVSR0UiICYmCisJZ2l0IGJyYW5jaCAtZiBzaWRlIHNpZGUtb3JpZyAmJgorCWdpdCBjaGVja291dCBzaWRlICYmCisJZ2l0IG1lcmdlIC0tbm8tdmVyaWZ5IC1tICJtZXJnZSBtYXN0ZXIiIG1hc3RlciAmJgorCWdpdCBjaGVja291dCBtYXN0ZXIgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBhY3R1YWxfaG9va3MKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBQT1NJWFBFUk0gJ3dpdGggbm9uLWV4ZWN1dGFibGUgaG9vaycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgXCIkUFJFQ09NTUlUXCIgYWN0dWFsX2hvb2tzIiAmJgorCWNwICIkSE9PS0RJUi9ub24tZXhlYy5zYW1wbGUiICIkUFJFQ09NTUlUIiAmJgorCWVjaG8gImNvbnRlbnQiID4+ZmlsZSAmJgorCWdpdCBhZGQgZmlsZSAmJgorCWdpdCBjb21taXQgLW0gImNvbnRlbnQiICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgYWN0dWFsX2hvb2tzCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUE9TSVhQRVJNICctLW5vLXZlcmlmeSB3aXRoIG5vbi1leGVjdXRhYmxlIGhvb2snICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIFwiJFBSRUNPTU1JVFwiIGFjdHVhbF9ob29rcyIgJiYKKwljcCAiJEhPT0tESVIvbm9uLWV4ZWMuc2FtcGxlIiAiJFBSRUNPTU1JVCIgJiYKKwllY2hvICJtb3JlIGNvbnRlbnQiID4+ZmlsZSAmJgorCWdpdCBhZGQgZmlsZSAmJgorCWdpdCBjb21taXQgLS1uby12ZXJpZnkgLW0gIm1vcmUgY29udGVudCIgJiYKKwl0ZXN0X3BhdGhfaXNfbWlzc2luZyBhY3R1YWxfaG9va3MKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBQT1NJWFBFUk0gJ3dpdGggbm9uLWV4ZWN1dGFibGUgaG9vayAobWVyZ2UpJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBcIiRQUkVNRVJHRVwiIGFjdHVhbF9ob29rcyIgJiYKKwljcCAiJEhPT0tESVIvbm9uLWV4ZWMuc2FtcGxlIiAiJFBSRU1FUkdFIiAmJgorCWdpdCBicmFuY2ggLWYgc2lkZSBzaWRlLW9yaWcgJiYKKwlnaXQgY2hlY2tvdXQgc2lkZSAmJgorCWdpdCBtZXJnZSAtbSAibWVyZ2UgbWFzdGVyIiBtYXN0ZXIgJiYKKwlnaXQgY2hlY2tvdXQgbWFzdGVyICYmCisJdGVzdF9wYXRoX2lzX21pc3NpbmcgYWN0dWFsX2hvb2tzCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgUE9TSVhQRVJNICctLW5vLXZlcmlmeSB3aXRoIG5vbi1leGVjdXRhYmxlIGhvb2sgKG1lcmdlKScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLWYgXCIkUFJFTUVSR0VcIiBhY3R1YWxfaG9va3MiICYmCisJY3AgIiRIT09LRElSL25vbi1leGVjLnNhbXBsZSIgIiRQUkVNRVJHRSIgJiYKKwlnaXQgYnJhbmNoIC1mIHNpZGUgc2lkZS1vcmlnICYmCisJZ2l0IGNoZWNrb3V0IHNpZGUgJiYKKwlnaXQgbWVyZ2UgLS1uby12ZXJpZnkgLW0gIm1lcmdlIG1hc3RlciIgbWFzdGVyICYmCisJZ2l0IGNoZWNrb3V0IG1hc3RlciAmJgorCXRlc3RfcGF0aF9pc19taXNzaW5nIGFjdHVhbF9ob29rcworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd3aXRoIGhvb2sgcmVxdWlyaW5nIEdJVF9QUkVGSVgnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBcIiRQUkVDT01NSVRcIiBleHBlY3RlZF9ob29rcyBhY3R1YWxfaG9va3Mgc3VjY2VzcyIgJiYKKwljcCAiJEhPT0tESVIvcmVxdWlyZS1wcmVmaXguc2FtcGxlIiAiJFBSRUNPTU1JVCIgJiYKKwllY2hvICIkUFJFQ09NTUlUIiA+ZXhwZWN0ZWRfaG9va3MgJiYKKwllY2hvICJtb3JlIGNvbnRlbnQiID4+ZmlsZSAmJgorCWdpdCBhZGQgZmlsZSAmJgorCW1rZGlyIHN1Y2Nlc3MgJiYKKwkoCisJCWNkIHN1Y2Nlc3MgJiYKKwkJZ2l0IGNvbW1pdCAtbSAiaG9vayByZXF1aXJlcyBHSVRfUFJFRklYID0gc3VjY2Vzcy8iCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdGVkX2hvb2tzIGFjdHVhbF9ob29rcworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd3aXRoIGZhaWxpbmcgaG9vayByZXF1aXJpbmcgR0lUX1BSRUZJWCcgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLXJmIFwiJFBSRUNPTU1JVFwiIGV4cGVjdGVkX2hvb2tzIGFjdHVhbF9ob29rcyBmYWlsIiAmJgorCWNwICIkSE9PS0RJUi9yZXF1aXJlLXByZWZpeC5zYW1wbGUiICIkUFJFQ09NTUlUIiAmJgorCWVjaG8gIiRQUkVDT01NSVQiID5leHBlY3RlZF9ob29rcyAmJgorCWVjaG8gIm1vcmUgY29udGVudCIgPj5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJbWtkaXIgZmFpbCAmJgorCSgKKwkJY2QgZmFpbCAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgY29tbWl0IC1tICJob29rIG11c3QgZmFpbCIKKwkpICYmCisJZ2l0IGNoZWNrb3V0IC0tIGZpbGUgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZF9ob29rcyBhY3R1YWxfaG9va3MKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgdGhlIGF1dGhvciBpbiBob29rJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBcIiRQUkVDT01NSVRcIiBleHBlY3RlZF9ob29rcyBhY3R1YWxfaG9va3MiICYmCisJY3AgIiRIT09LRElSL2NoZWNrLWF1dGhvci5zYW1wbGUiICIkUFJFQ09NTUlUIiAmJgorCWNhdCA+ZXhwZWN0ZWRfaG9va3MgPDwtRU9GICYmCisJJFBSRUNPTU1JVAorCSRQUkVDT01NSVQKKwkkUFJFQ09NTUlUCisJRU9GCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tICJieSBhLnUudGhvciIgJiYKKwkoCisJCUdJVF9BVVRIT1JfTkFNRT0iTmV3IEF1dGhvciIgJiYKKwkJR0lUX0FVVEhPUl9FTUFJTD0ibmV3YXV0aG9yQGV4YW1wbGUuY29tIiAmJgorCQlleHBvcnQgR0lUX0FVVEhPUl9OQU1FIEdJVF9BVVRIT1JfRU1BSUwgJiYKKwkJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tICJieSBuZXcuYXV0aG9yIHZpYSBlbnYiICYmCisJCWdpdCBzaG93IC1zCisJKSAmJgorCWdpdCBjb21taXQgLS1hdXRob3I9Ik5ldyBBdXRob3IgPG5ld2F1dGhvckBleGFtcGxlLmNvbT4iIFwKKwkJLS1hbGxvdy1lbXB0eSAtbSAiYnkgbmV3LmF1dGhvciB2aWEgY29tbWFuZCBsaW5lIiAmJgorCWdpdCBzaG93IC1zICYmCisJdGVzdF9jbXAgZXhwZWN0ZWRfaG9va3MgYWN0dWFsX2hvb2tzCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzUwMy1wcmUtY29tbWl0LWhvb2suc2ggYi90L3Q3NTAzLXByZS1jb21taXQtaG9vay5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggOTg0ODg5Yi4uMDAwMDAwMAotLS0gYS90L3Q3NTAzLXByZS1jb21taXQtaG9vay5zaAorKysgL2Rldi9udWxsCkBAIC0xLDEzOSArMCwwIEBACi0jIS9iaW4vc2gKLQotdGVzdF9kZXNjcmlwdGlvbj0ncHJlLWNvbW1pdCBob29rJwotCi0uIC4vdGVzdC1saWIuc2gKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnd2l0aCBubyBob29rJyAnCi0KLQllY2hvICJmb28iID4gZmlsZSAmJgotCWdpdCBhZGQgZmlsZSAmJgotCWdpdCBjb21taXQgLW0gImZpcnN0IgotCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJy0tbm8tdmVyaWZ5IHdpdGggbm8gaG9vaycgJwotCi0JZWNobyAiYmFyIiA+IGZpbGUgJiYKLQlnaXQgYWRkIGZpbGUgJiYKLQlnaXQgY29tbWl0IC0tbm8tdmVyaWZ5IC1tICJiYXIiCi0KLScKLQotIyBub3cgaW5zdGFsbCBob29rIHRoYXQgYWx3YXlzIHN1Y2NlZWRzCi1IT09LRElSPSIkKGdpdCByZXYtcGFyc2UgLS1naXQtZGlyKS9ob29rcyIKLUhPT0s9IiRIT09LRElSL3ByZS1jb21taXQiCi1ta2RpciAtcCAiJEhPT0tESVIiCi1jYXQgPiAiJEhPT0siIDw8RU9GCi0jIS9iaW4vc2gKLWV4aXQgMAotRU9GCi1jaG1vZCAreCAiJEhPT0siCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dpdGggc3VjY2VlZGluZyBob29rJyAnCi0KLQllY2hvICJtb3JlIiA+PiBmaWxlICYmCi0JZ2l0IGFkZCBmaWxlICYmCi0JZ2l0IGNvbW1pdCAtbSAibW9yZSIKLQotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICctLW5vLXZlcmlmeSB3aXRoIHN1Y2NlZWRpbmcgaG9vaycgJwotCi0JZWNobyAiZXZlbiBtb3JlIiA+PiBmaWxlICYmCi0JZ2l0IGFkZCBmaWxlICYmCi0JZ2l0IGNvbW1pdCAtLW5vLXZlcmlmeSAtbSAiZXZlbiBtb3JlIgotCi0nCi0KLSMgbm93IGEgaG9vayB0aGF0IGZhaWxzCi1jYXQgPiAiJEhPT0siIDw8RU9GCi0jIS9iaW4vc2gKLWV4aXQgMQotRU9GCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dpdGggZmFpbGluZyBob29rJyAnCi0KLQllY2hvICJhbm90aGVyIiA+PiBmaWxlICYmCi0JZ2l0IGFkZCBmaWxlICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbW1pdCAtbSAiYW5vdGhlciIKLQotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICctLW5vLXZlcmlmeSB3aXRoIGZhaWxpbmcgaG9vaycgJwotCi0JZWNobyAic3R1ZmYiID4+IGZpbGUgJiYKLQlnaXQgYWRkIGZpbGUgJiYKLQlnaXQgY29tbWl0IC0tbm8tdmVyaWZ5IC1tICJzdHVmZiIKLQotJwotCi1jaG1vZCAteCAiJEhPT0siCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBPU0lYUEVSTSAnd2l0aCBub24tZXhlY3V0YWJsZSBob29rJyAnCi0KLQllY2hvICJjb250ZW50IiA+PiBmaWxlICYmCi0JZ2l0IGFkZCBmaWxlICYmCi0JZ2l0IGNvbW1pdCAtbSAiY29udGVudCIKLQotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzIFBPU0lYUEVSTSAnLS1uby12ZXJpZnkgd2l0aCBub24tZXhlY3V0YWJsZSBob29rJyAnCi0KLQllY2hvICJtb3JlIGNvbnRlbnQiID4+IGZpbGUgJiYKLQlnaXQgYWRkIGZpbGUgJiYKLQlnaXQgY29tbWl0IC0tbm8tdmVyaWZ5IC1tICJtb3JlIGNvbnRlbnQiCi0KLScKLWNobW9kICt4ICIkSE9PSyIKLQotIyBhIGhvb2sgdGhhdCBjaGVja3MgJEdJVF9QUkVGSVggYW5kIHN1Y2NlZWRzIGluc2lkZSB0aGUKLSMgc3VjY2Vzcy8gc3ViZGlyZWN0b3J5IG9ubHkKLWNhdCA+ICIkSE9PSyIgPDxFT0YKLSMhL2Jpbi9zaAotdGVzdCBcJEdJVF9QUkVGSVggPSBzdWNjZXNzLwotRU9GCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dpdGggaG9vayByZXF1aXJpbmcgR0lUX1BSRUZJWCcgJwotCi0JZWNobyAibW9yZSBjb250ZW50IiA+PiBmaWxlICYmCi0JZ2l0IGFkZCBmaWxlICYmCi0JbWtkaXIgc3VjY2VzcyAmJgotCSgKLQkJY2Qgc3VjY2VzcyAmJgotCQlnaXQgY29tbWl0IC1tICJob29rIHJlcXVpcmVzIEdJVF9QUkVGSVggPSBzdWNjZXNzLyIKLQkpICYmCi0Jcm1kaXIgc3VjY2VzcwotJwotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICd3aXRoIGZhaWxpbmcgaG9vayByZXF1aXJpbmcgR0lUX1BSRUZJWCcgJwotCi0JZWNobyAibW9yZSBjb250ZW50IiA+PiBmaWxlICYmCi0JZ2l0IGFkZCBmaWxlICYmCi0JbWtkaXIgZmFpbCAmJgotCSgKLQkJY2QgZmFpbCAmJgotCQl0ZXN0X211c3RfZmFpbCBnaXQgY29tbWl0IC1tICJob29rIG11c3QgZmFpbCIKLQkpICYmCi0Jcm1kaXIgZmFpbCAmJgotCWdpdCBjaGVja291dCAtLSBmaWxlCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NoZWNrIHRoZSBhdXRob3IgaW4gaG9vaycgJwotCXdyaXRlX3NjcmlwdCAiJEhPT0siIDw8LVxFT0YgJiYKLQl0ZXN0ICIkR0lUX0FVVEhPUl9OQU1FIiA9ICJOZXcgQXV0aG9yIiAmJgotCXRlc3QgIiRHSVRfQVVUSE9SX0VNQUlMIiA9ICJuZXdhdXRob3JAZXhhbXBsZS5jb20iCi0JRU9GCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tICJieSBhLnUudGhvciIgJiYKLQkoCi0JCUdJVF9BVVRIT1JfTkFNRT0iTmV3IEF1dGhvciIgJiYKLQkJR0lUX0FVVEhPUl9FTUFJTD0ibmV3YXV0aG9yQGV4YW1wbGUuY29tIiAmJgotCQlleHBvcnQgR0lUX0FVVEhPUl9OQU1FIEdJVF9BVVRIT1JfRU1BSUwgJiYKLQkJZ2l0IGNvbW1pdCAtLWFsbG93LWVtcHR5IC1tICJieSBuZXcuYXV0aG9yIHZpYSBlbnYiICYmCi0JCWdpdCBzaG93IC1zCi0JKSAmJgotCWdpdCBjb21taXQgLS1hdXRob3I9Ik5ldyBBdXRob3IgPG5ld2F1dGhvckBleGFtcGxlLmNvbT4iIFwKLQkJLS1hbGxvdy1lbXB0eSAtbSAiYnkgbmV3LmF1dGhvciB2aWEgY29tbWFuZCBsaW5lIiAmJgotCWdpdCBzaG93IC1zCi0nCi0KLXRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzUwNS1wcmVwYXJlLWNvbW1pdC1tc2ctaG9vay5zaCBiL3QvdDc1MDUtcHJlcGFyZS1jb21taXQtbXNnLWhvb2suc2gKaW5kZXggZWJmY2FkOS4uOTRmODVjZCAxMDA3NTUKLS0tIGEvdC90NzUwNS1wcmVwYXJlLWNvbW1pdC1tc2ctaG9vay5zaAorKysgYi90L3Q3NTA1LXByZXBhcmUtY29tbWl0LW1zZy1ob29rLnNoCkBAIC0yMTUsNyArMjE1LDcgQEAKIHRlc3RfcmViYXNlICgpIHsKIAlleHBlY3Q9JDEgJiYKIAltb2RlPSQyICYmCi0JdGVzdF9leHBlY3RfJGV4cGVjdCBDX0xPQ0FMRV9PVVRQVVQgIndpdGggaG9vayAocmViYXNlICRtb2RlKSIgJworCXRlc3RfZXhwZWN0XyRleHBlY3QgQ19MT0NBTEVfT1VUUFVUICJ3aXRoIGhvb2sgKHJlYmFzZSAke21vZGU6LS1pfSkiICcKIAkJdGVzdF93aGVuX2ZpbmlzaGVkICJcCiAJCQlnaXQgcmViYXNlIC0tYWJvcnQKIAkJCWdpdCBjaGVja291dCAtZiBtYXN0ZXIKQEAgLTIyNSw3ICsyMjUsNyBAQAogCQlHSVRfRURJVE9SPSJcIiRGQUtFX0VESVRPUlwiIiAmJgogCQkoCiAJCQlleHBvcnQgR0lUX1NFUVVFTkNFX0VESVRPUiBHSVRfRURJVE9SICYmCi0JCQl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlICRtb2RlIGIgJiYKKwkJCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLWkgJG1vZGUgYiAmJgogCQkJZWNobyB4ID5hICYmCiAJCQlnaXQgYWRkIGEgJiYKIAkJCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLS1jb250aW51ZSAmJgpAQCAtMjQxLDE4ICsyNDEsMTIgQEAKIAkJCWdpdCBhZGQgYiAmJgogCQkJZ2l0IHJlYmFzZSAtLWNvbnRpbnVlCiAJCSkgJiYKLQkJaWYgdGVzdCAkbW9kZSA9IC1wICMgcmV3b3JkIGFtZW5kZWQgYWZ0ZXIgcGljawotCQl0aGVuCi0JCQluPTE4Ci0JCWVsc2UKLQkJCW49MTcKLQkJZmkgJiYKLQkJZ2l0IGxvZyAtLXByZXR0eT0lcyAtZyAtbiRuIEhFQURAezF9ID5hY3R1YWwgJiYKLQkJdGVzdF9jbXAgIiRURVNUX0RJUkVDVE9SWS90NzUwNS9leHBlY3RlZC1yZWJhc2UkbW9kZSIgYWN0dWFsCisJCWdpdCBsb2cgLS1wcmV0dHk9JXMgLWcgLW4xOCBIRUFEQHsxfSA+YWN0dWFsICYmCisJCXRlc3RfY21wICIkVEVTVF9ESVJFQ1RPUlkvdDc1MDUvZXhwZWN0ZWQtcmViYXNlJHttb2RlOi0taX0iIGFjdHVhbAogCScKIH0KIAotdGVzdF9yZWJhc2Ugc3VjY2VzcyAtaQordGVzdF9yZWJhc2Ugc3VjY2VzcwogdGVzdF9oYXZlX3ByZXJlcSAhUkVCQVNFX1AgfHwgdGVzdF9yZWJhc2Ugc3VjY2VzcyAtcAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd3aXRoIGhvb2sgKGNoZXJyeS1waWNrKScgJwpkaWZmIC0tZ2l0IGEvdC90NzUwNS9leHBlY3RlZC1yZWJhc2UtaSBiL3QvdDc1MDUvZXhwZWN0ZWQtcmViYXNlLWkKaW5kZXggYzUxNGJkYi4uOTNiYWRhNSAxMDA2NDQKLS0tIGEvdC90NzUwNS9leHBlY3RlZC1yZWJhc2UtaQorKysgYi90L3Q3NTA1L2V4cGVjdGVkLXJlYmFzZS1pCkBAIC03LDcgKzcsOCBAQAogbWVzc2FnZSBbZml4dXAgcmViYXNlLTldCiBtZXNzYWdlIChubyBlZGl0b3IpIFtmaXh1cCByZWJhc2UtOF0KIG1lc3NhZ2UgKG5vIGVkaXRvcikgW3NxdWFzaCByZWJhc2UtN10KLW1lc3NhZ2UgW3Jld29yZCByZWJhc2UtNl0KK0hFQUQgW3Jld29yZCByZWJhc2UtNl0KK21lc3NhZ2UgKG5vIGVkaXRvcikgW3Jld29yZCByZWJhc2UtNl0KIG1lc3NhZ2UgW3NxdWFzaCByZWJhc2UtNV0KIG1lc3NhZ2UgKG5vIGVkaXRvcikgW2ZpeHVwIHJlYmFzZS00XQogbWVzc2FnZSAobm8gZWRpdG9yKSBbcGljayByZWJhc2UtM10KZGlmZiAtLWdpdCBhL3QvdDc1MDgtc3RhdHVzLnNoIGIvdC90NzUwOC1zdGF0dXMuc2gKaW5kZXggZTFmMTEyOS4uNDgyY2UzNSAxMDA3NTUKLS0tIGEvdC90NzUwOC1zdGF0dXMuc2gKKysrIGIvdC90NzUwOC1zdGF0dXMuc2gKQEAgLTk0LDE5ICs5NCwxNiBAQAogIyAgICh1c2UgImdpdCBwdWxsIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKQogIwogIyBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLSMgICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCi0jCisjICAgKHVzZSAiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogIwluZXcgZmlsZTogICBkaXIyL2FkZGVkCiAjCiAjIENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgogIyAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLSMgICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCi0jCisjICAgKHVzZSAiZ2l0IHJlc3RvcmUgPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCiAjCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKICMKICMgVW50cmFja2VkIGZpbGVzOgogIyAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0jCiAjCWRpcjEvdW50cmFja2VkIGRpcjIvdW50cmFja2VkCiAjCWRpcjIvbW9kaWZpZWQgIHVudHJhY2tlZAogIwpAQCAtMTI4LDE5ICsxMjUsMTYgQEAKICMgICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKICMKICMgQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0jICAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQotIworIyAgICh1c2UgImdpdCByZXN0b3JlIC0tc3RhZ2VkIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKICMJbmV3IGZpbGU6ICAgZGlyMi9hZGRlZAogIwogIyBDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKICMgICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0jICAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQotIworIyAgICh1c2UgImdpdCByZXN0b3JlIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQogIwltb2RpZmllZDogICBkaXIxL21vZGlmaWVkCiAjCiAjIFVudHJhY2tlZCBmaWxlczoKICMgICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotIwogIwlkaXIxL3VudHJhY2tlZAogIwlkaXIyL21vZGlmaWVkCiAjCWRpcjIvdW50cmFja2VkCkBAIC0yNzgsMjQgKzI3MiwyMCBAQAogICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKIAogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0gICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKLQorICAodXNlICJnaXQgcmVzdG9yZSAtLXN0YWdlZCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiAJbmV3IGZpbGU6ICAgZGlyMi9hZGRlZAogCiBDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCi0KKyAgKHVzZSAiZ2l0IHJlc3RvcmUgPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCiAJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAogCiBVbnRyYWNrZWQgZmlsZXM6CiAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0KIAlkaXIyL21vZGlmaWVkCiAKIElnbm9yZWQgZmlsZXM6CiAgICh1c2UgImdpdCBhZGQgLWYgPGZpbGU+Li4uIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0KIAkuZ2l0aWdub3JlCiAJZGlyMS91bnRyYWNrZWQKIAlkaXIyL3VudHJhY2tlZApAQCAtMzQ3LDE5ICszMzcsMTYgQEAKICAgKHVzZSAiZ2l0IHB1bGwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpCiAKIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCi0KKyAgKHVzZSAiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogCW5ldyBmaWxlOiAgIGRpcjIvYWRkZWQKIAogQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6CiAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLSAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQotCisgICh1c2UgImdpdCByZXN0b3JlIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQogCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKIAogSWdub3JlZCBmaWxlczoKICAgKHVzZSAiZ2l0IGFkZCAtZiA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLQogCS5naXRpZ25vcmUKIAlkaXIxL3VudHJhY2tlZAogCWRpcjIvbW9kaWZpZWQKQEAgLTQyMCwxNCArNDA3LDEyIEBACiAgICh1c2UgImdpdCBwdWxsIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKQogCiBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLSAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQotCisgICh1c2UgImdpdCByZXN0b3JlIC0tc3RhZ2VkIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKIAluZXcgZmlsZTogICBkaXIyL2FkZGVkCiAKIENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0gICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLQorICAodXNlICJnaXQgcmVzdG9yZSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKIAltb2RpZmllZDogICBkaXIxL21vZGlmaWVkCiAKIFVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQpAQCAtNDg0LDE5ICs0NjksMTYgQEAKICAgKHVzZSAiZ2l0IHB1bGwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpCiAKIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCi0KKyAgKHVzZSAiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogCW5ldyBmaWxlOiAgIGRpcjIvYWRkZWQKIAogQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6CiAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLSAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQotCisgICh1c2UgImdpdCByZXN0b3JlIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQogCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKIAogVW50cmFja2VkIGZpbGVzOgogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotCiAJZGlyMS91bnRyYWNrZWQKIAlkaXIyL21vZGlmaWVkCiAJZGlyMi91bnRyYWNrZWQKQEAgLTU0MiwxOSArNTI0LDE2IEBACiAgICh1c2UgImdpdCBwdWxsIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKQogCiBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLSAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQotCisgICh1c2UgImdpdCByZXN0b3JlIC0tc3RhZ2VkIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKIAluZXcgZmlsZTogICBkaXIyL2FkZGVkCiAKIENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0gICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLQorICAodXNlICJnaXQgcmVzdG9yZSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKIAltb2RpZmllZDogICBkaXIxL21vZGlmaWVkCiAKIFVudHJhY2tlZCBmaWxlczoKICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLQogCWRpcjEvdW50cmFja2VkCiAJZGlyMi9tb2RpZmllZAogCWRpcjIvdW50cmFja2VkCkBAIC02MDUsMTkgKzU4NCwxNiBAQAogICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKIAogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0gICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKLQorICAodXNlICJnaXQgcmVzdG9yZSAtLXN0YWdlZCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiAJbmV3IGZpbGU6ICAgLi4vZGlyMi9hZGRlZAogCiBDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCi0KKyAgKHVzZSAiZ2l0IHJlc3RvcmUgPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCiAJbW9kaWZpZWQ6ICAgbW9kaWZpZWQKIAogVW50cmFja2VkIGZpbGVzOgogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotCiAJdW50cmFja2VkCiAJLi4vZGlyMi9tb2RpZmllZAogCS4uL2RpcjIvdW50cmFja2VkCkBAIC02NzYsMTkgKzY1MiwxNiBAQAogICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKIAogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0gICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKLQorICAodXNlICJnaXQgcmVzdG9yZSAtLXN0YWdlZCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiAJPEdSRUVOPm5ldyBmaWxlOiAgIGRpcjIvYWRkZWQ8UkVTRVQ+CiAKIENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0gICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLQorICAodXNlICJnaXQgcmVzdG9yZSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKIAk8UkVEPm1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQ8UkVTRVQ+CiAKIFVudHJhY2tlZCBmaWxlczoKICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLQogCTxCTFVFPmRpcjEvdW50cmFja2VkPFJFU0VUPgogCTxCTFVFPmRpcjIvbW9kaWZpZWQ8UkVTRVQ+CiAJPEJMVUU+ZGlyMi91bnRyYWNrZWQ8UkVTRVQ+CkBAIC04MDIsMTkgKzc3NSwxNiBAQAogICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKIAogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0gICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKLQorICAodXNlICJnaXQgcmVzdG9yZSAtLXN0YWdlZCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiAJbmV3IGZpbGU6ICAgZGlyMi9hZGRlZAogCiBDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCi0KKyAgKHVzZSAiZ2l0IHJlc3RvcmUgPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCiAJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAogCiBVbnRyYWNrZWQgZmlsZXM6CiAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0KIAlkaXIxL3VudHJhY2tlZAogCWRpcjIvbW9kaWZpZWQKIAlkaXIyL3VudHJhY2tlZApAQCAtODUyLDEzICs4MjIsMTEgQEAKICAgKHVzZSAiZ2l0IHB1bGwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpCiAKIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCi0KKyAgKHVzZSAiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKIAogVW50cmFja2VkIGZpbGVzOgogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotCiAJZGlyMS91bnRyYWNrZWQKIAlkaXIyLwogCXVudHJhY2tlZApAQCAtODk2LDIwICs4NjQsMTcgQEAKICAgKHVzZSAiZ2l0IHB1bGwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpCiAKIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCi0KKyAgKHVzZSAiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogCW5ldyBmaWxlOiAgIGRpcjIvYWRkZWQKIAluZXcgZmlsZTogICBzbQogCiBDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCi0KKyAgKHVzZSAiZ2l0IHJlc3RvcmUgPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCiAJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAogCiBVbnRyYWNrZWQgZmlsZXM6CiAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0KIAlkaXIxL3VudHJhY2tlZAogCWRpcjIvbW9kaWZpZWQKIAlkaXIyL3VudHJhY2tlZApAQCAtOTU2LDE1ICs5MjEsMTMgQEAKICAgKHVzZSAiZ2l0IHB1bGwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpCiAKIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCi0KKyAgKHVzZSAiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogCW5ldyBmaWxlOiAgIGRpcjIvYWRkZWQKIAluZXcgZmlsZTogICBzbQogCiBDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCi0KKyAgKHVzZSAiZ2l0IHJlc3RvcmUgPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCiAJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAogCiBTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CkBAIC05NzQsNyArOTM3LDYgQEAKIAogVW50cmFja2VkIGZpbGVzOgogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotCiAJZGlyMS91bnRyYWNrZWQKIAlkaXIyL21vZGlmaWVkCiAJZGlyMi91bnRyYWNrZWQKQEAgLTEwMTksMTMgKzk4MSwxMSBAQAogCiBDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCi0KKyAgKHVzZSAiZ2l0IHJlc3RvcmUgPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCiAJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAogCiBVbnRyYWNrZWQgZmlsZXM6CiAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0KIAlkaXIxL3VudHJhY2tlZAogCWRpcjIvbW9kaWZpZWQKIAlkaXIyL3VudHJhY2tlZApAQCAtMTA2OCwxNSArMTAyOCwxMyBAQAogICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKIAogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0gICh1c2UgImdpdCByZXNldCBIRUFEXjEgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQotCisgICh1c2UgImdpdCByZXN0b3JlIC0tc291cmNlPUhFQUReMSAtLXN0YWdlZCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiAJbmV3IGZpbGU6ICAgZGlyMi9hZGRlZAogCW5ldyBmaWxlOiAgIHNtCiAKIENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0gICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLQorICAodXNlICJnaXQgcmVzdG9yZSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKIAltb2RpZmllZDogICBkaXIxL21vZGlmaWVkCiAKIFN1Ym1vZHVsZSBjaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKQEAgLTEwODYsNyArMTA0NCw2IEBACiAKIFVudHJhY2tlZCBmaWxlczoKICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLQogCWRpcjEvdW50cmFja2VkCiAJZGlyMi9tb2RpZmllZAogCWRpcjIvdW50cmFja2VkCkBAIC0xMTIzLDE0ICsxMDgwLDEyIEBACiAgICh1c2UgImdpdCBwdWxsIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKQogCiBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLSAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQotCisgICh1c2UgImdpdCByZXN0b3JlIC0tc3RhZ2VkIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKIAltb2RpZmllZDogICBzbQogCiBDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCi0KKyAgKHVzZSAiZ2l0IHJlc3RvcmUgPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCiAJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAogCiBTdWJtb2R1bGUgY2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6CkBAIC0xMTQwLDcgKzEwOTUsNiBAQAogCiBVbnRyYWNrZWQgZmlsZXM6CiAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0KIAkuZ2l0bW9kdWxlcwogCWRpcjEvdW50cmFja2VkCiAJZGlyMi9tb2RpZmllZApAQCAtMTIzNSwxNSArMTE4OSwxMyBAQAogICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKIAogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0gICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKLQorICAodXNlICJnaXQgcmVzdG9yZSAtLXN0YWdlZCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiAJbW9kaWZpZWQ6ICAgc20KIAogQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6CiAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLSAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQorICAodXNlICJnaXQgcmVzdG9yZSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKICAgKGNvbW1pdCBvciBkaXNjYXJkIHRoZSB1bnRyYWNrZWQgb3IgbW9kaWZpZWQgY29udGVudCBpbiBzdWJtb2R1bGVzKQotCiAJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAogCW1vZGlmaWVkOiAgIHNtIChtb2RpZmllZCBjb250ZW50KQogCkBAIC0xMjU0LDcgKzEyMDYsNiBAQAogCiBVbnRyYWNrZWQgZmlsZXM6CiAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0KIAkuZ2l0bW9kdWxlcwogCWRpcjEvdW50cmFja2VkCiAJZGlyMi9tb2RpZmllZApAQCAtMTI5NSwxNCArMTI0NiwxMiBAQAogICAodXNlICJnaXQgcHVsbCIgdG8gbWVyZ2UgdGhlIHJlbW90ZSBicmFuY2ggaW50byB5b3VycykKIAogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0gICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKLQorICAodXNlICJnaXQgcmVzdG9yZSAtLXN0YWdlZCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiAJbW9kaWZpZWQ6ICAgc20KIAogQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6CiAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLSAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQotCisgICh1c2UgImdpdCByZXN0b3JlIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQogCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKIAltb2RpZmllZDogICBzbSAobmV3IGNvbW1pdHMpCiAKQEAgLTEzMTgsNyArMTI2Nyw2IEBACiAKIFVudHJhY2tlZCBmaWxlczoKICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLQogCS5naXRtb2R1bGVzCiAJZGlyMS91bnRyYWNrZWQKIAlkaXIyL21vZGlmaWVkCkBAIC0xMzc5LDE0ICsxMzI3LDEyIEBACiA7ICAgKHVzZSAiZ2l0IHB1bGwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpCiA7CiA7IENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotOyAgICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKLTsKKzsgICAodXNlICJnaXQgcmVzdG9yZSAtLXN0YWdlZCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiA7CW1vZGlmaWVkOiAgIHNtCiA7CiA7IENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgogOyAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLTsgICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCi07Cis7ICAgKHVzZSAiZ2l0IHJlc3RvcmUgPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCiA7CW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKIDsJbW9kaWZpZWQ6ICAgc20gKG5ldyBjb21taXRzKQogOwpAQCAtMTQwMiw3ICsxMzQ4LDYgQEAKIDsKIDsgVW50cmFja2VkIGZpbGVzOgogOyAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byBpbmNsdWRlIGluIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi07CiA7CS5naXRtb2R1bGVzCiA7CWRpcjEvdW50cmFja2VkCiA7CWRpcjIvbW9kaWZpZWQKQEAgLTE0MzEsMTMgKzEzNzYsMTEgQEAKIAogQ2hhbmdlcyBub3Qgc3RhZ2VkIGZvciBjb21taXQ6CiAgICh1c2UgImdpdCBhZGQgPGZpbGU+Li4uIiB0byB1cGRhdGUgd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLSAgKHVzZSAiZ2l0IGNoZWNrb3V0IC0tIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQotCisgICh1c2UgImdpdCByZXN0b3JlIDxmaWxlPi4uLiIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KQogCW1vZGlmaWVkOiAgIGRpcjEvbW9kaWZpZWQKIAogVW50cmFja2VkIGZpbGVzOgogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gaW5jbHVkZSBpbiB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotCiAJLmdpdG1vZHVsZXMKIAlkaXIxL3VudHJhY2tlZAogCWRpcjIvbW9kaWZpZWQKQEAgLTE0NTgsMTkgKzE0MDEsMTYgQEAKICAgKHVzZSAiZ2l0IHB1bGwiIHRvIG1lcmdlIHRoZSByZW1vdGUgYnJhbmNoIGludG8geW91cnMpCiAKIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCi0KKyAgKHVzZSAiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogCW1vZGlmaWVkOiAgIHNtCiAKIENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0gICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLQorICAodXNlICJnaXQgcmVzdG9yZSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKIAltb2RpZmllZDogICBkaXIxL21vZGlmaWVkCiAKIFVudHJhY2tlZCBmaWxlczoKICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkKLQogCS5naXRtb2R1bGVzCiAJZGlyMS91bnRyYWNrZWQKIAlkaXIyL21vZGlmaWVkCkBAIC0xNTgxLDE0ICsxNTIxLDEyIEBACiAgICh1c2UgImdpdCBwdWxsIiB0byBtZXJnZSB0aGUgcmVtb3RlIGJyYW5jaCBpbnRvIHlvdXJzKQogCiBDaGFuZ2VzIHRvIGJlIGNvbW1pdHRlZDoKLSAgKHVzZSAiZ2l0IHJlc2V0IEhFQUQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQotCisgICh1c2UgImdpdCByZXN0b3JlIC0tc3RhZ2VkIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKIAltb2RpZmllZDogICBzbQogCiBDaGFuZ2VzIG5vdCBzdGFnZWQgZm9yIGNvbW1pdDoKICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKQotICAodXNlICJnaXQgY2hlY2tvdXQgLS0gPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCi0KKyAgKHVzZSAiZ2l0IHJlc3RvcmUgPGZpbGU+Li4uIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpCiAJbW9kaWZpZWQ6ICAgZGlyMS9tb2RpZmllZAogCiBVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKQEAgLTE2MzMsNyArMTU3MSw3IEBACiAJdGVzdF9jbXAgZXhwZWN0ZWRfd2l0aG91dF9zdGFzaCBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnbm8gYWRkaXRpb25uYWwgaW5mbyBpZiBubyBzdGFzaCBlbnRyaWVzJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdubyBhZGRpdGlvbmFsIGluZm8gaWYgbm8gc3Rhc2ggZW50cmllcycgJwogCWdpdCBzdGFzaCBjbGVhciAmJgogCWdpdCAtYyBzdGF0dXMuc2hvd1N0YXNoPXRydWUgc3RhdHVzID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3RlZF93aXRob3V0X3N0YXNoIGFjdHVhbApkaWZmIC0tZ2l0IGEvdC90NzUxMC1zaWduZWQtY29tbWl0LnNoIGIvdC90NzUxMC1zaWduZWQtY29tbWl0LnNoCmluZGV4IDg2ZDNmOTMuLjBjMDZkMjIgMTAwNzU1Ci0tLSBhL3QvdDc1MTAtc2lnbmVkLWNvbW1pdC5zaAorKysgYi90L3Q3NTEwLXNpZ25lZC1jb21taXQuc2gKQEAgLTQ5LDE1ICs0OSwyOCBAQAogCWdpdCB0YWcgZWlnaHRoLXNpZ25lZC1hbHQgJiYKIAogCSMgY29tbWl0LmdwZ3NpZ24gaXMgc3RpbGwgb24gYnV0IHRoaXMgbXVzdCBub3QgYmUgc2lnbmVkCi0JZ2l0IHRhZyBuaW50aC11bnNpZ25lZCAkKGVjaG8gOSB8IGdpdCBjb21taXQtdHJlZSBIRUFEXnt0cmVlfSkgJiYKKwllY2hvIDkgfCBnaXQgY29tbWl0LXRyZWUgSEVBRF57dHJlZX0gPm9pZCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDEgb2lkICYmCisJZ2l0IHRhZyBuaW50aC11bnNpZ25lZCAkKGNhdCBvaWQpICYmCiAJIyBleHBsaWNpdCAtUyBvZiBjb3Vyc2UgbXVzdCBzaWduLgotCWdpdCB0YWcgdGVudGgtc2lnbmVkICQoZWNobyA5IHwgZ2l0IGNvbW1pdC10cmVlIC1TIEhFQURee3RyZWV9KQorCWVjaG8gMTAgfCBnaXQgY29tbWl0LXRyZWUgLVMgSEVBRF57dHJlZX0gPm9pZCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDEgb2lkICYmCisJZ2l0IHRhZyB0ZW50aC1zaWduZWQgJChjYXQgb2lkKSAmJgorCisJIyAtLWdwZy1zaWduWz08a2V5LWlkPl0gbXVzdCBzaWduLgorCWVjaG8gMTEgfCBnaXQgY29tbWl0LXRyZWUgLS1ncGctc2lnbiBIRUFEXnt0cmVlfSA+b2lkICYmCisJdGVzdF9saW5lX2NvdW50ID0gMSBvaWQgJiYKKwlnaXQgdGFnIGVsZXZlbnRoLXNpZ25lZCAkKGNhdCBvaWQpICYmCisJZWNobyAxMiB8IGdpdCBjb21taXQtdHJlZSAtLWdwZy1zaWduPUI3MjI3MTg5IEhFQURee3RyZWV9ID5vaWQgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAxIG9pZCAmJgorCWdpdCB0YWcgdHdlbGZ0aC1zaWduZWQtYWx0ICQoY2F0IG9pZCkKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBHUEcgJ3ZlcmlmeSBhbmQgc2hvdyBzaWduYXR1cmVzJyAnCiAJKAogCQlmb3IgY29tbWl0IGluIGluaXRpYWwgc2Vjb25kIG1lcmdlIGZvdXJ0aC1zaWduZWQgXAotCQkJZmlmdGgtc2lnbmVkIHNpeHRoLXNpZ25lZCBzZXZlbnRoLXNpZ25lZCB0ZW50aC1zaWduZWQKKwkJCWZpZnRoLXNpZ25lZCBzaXh0aC1zaWduZWQgc2V2ZW50aC1zaWduZWQgdGVudGgtc2lnbmVkIFwKKwkJCWVsZXZlbnRoLXNpZ25lZAogCQlkbwogCQkJZ2l0IHZlcmlmeS1jb21taXQgJGNvbW1pdCAmJgogCQkJZ2l0IHNob3cgLS1wcmV0dHk9c2hvcnQgLS1zaG93LXNpZ25hdHVyZSAkY29tbWl0ID5hY3R1YWwgJiYKQEAgLTc4LDcgKzkxLDcgQEAKIAkJZG9uZQogCSkgJiYKIAkoCi0JCWZvciBjb21taXQgaW4gZWlnaHRoLXNpZ25lZC1hbHQKKwkJZm9yIGNvbW1pdCBpbiBlaWdodGgtc2lnbmVkLWFsdCB0d2VsZnRoLXNpZ25lZC1hbHQKIAkJZG8KIAkJCWdpdCBzaG93IC0tcHJldHR5PXNob3J0IC0tc2hvdy1zaWduYXR1cmUgJGNvbW1pdCA+YWN0dWFsICYmCiAJCQlncmVwICJHb29kIHNpZ25hdHVyZSBmcm9tIiBhY3R1YWwgJiYKQEAgLTk2LDYgKzEwOSwyMSBAQAogCWdyZXAgIm5vdCBjZXJ0aWZpZWQiIGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyAndmVyaWZ5LWNvbW1pdCBleGl0cyBzdWNjZXNzIHdpdGggbWF0Y2hpbmcgbWluVHJ1c3RMZXZlbCcgJworCXRlc3RfY29uZmlnIGdwZy5taW5UcnVzdExldmVsIHVsdGltYXRlICYmCisJZ2l0IHZlcmlmeS1jb21taXQgc2l4dGgtc2lnbmVkCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHICd2ZXJpZnktY29tbWl0IGV4aXRzIHN1Y2Nlc3Mgd2l0aCBsb3cgbWluVHJ1c3RMZXZlbCcgJworCXRlc3RfY29uZmlnIGdwZy5taW5UcnVzdExldmVsIGZ1bGx5ICYmCisJZ2l0IHZlcmlmeS1jb21taXQgc2l4dGgtc2lnbmVkCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHICd2ZXJpZnktY29tbWl0IGV4aXRzIGZhaWx1cmUgd2l0aCBoaWdoIG1pblRydXN0TGV2ZWwnICcKKwl0ZXN0X2NvbmZpZyBncGcubWluVHJ1c3RMZXZlbCB1bHRpbWF0ZSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCB2ZXJpZnktY29tbWl0IGVpZ2h0aC1zaWduZWQtYWx0CisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHICd2ZXJpZnkgc2lnbmF0dXJlcyB3aXRoIC0tcmF3JyAnCiAJKAogCQlmb3IgY29tbWl0IGluIGluaXRpYWwgc2Vjb25kIG1lcmdlIGZvdXJ0aC1zaWduZWQgZmlmdGgtc2lnbmVkIHNpeHRoLXNpZ25lZCBzZXZlbnRoLXNpZ25lZApAQCAtMjA2LDYgKzIzNCwzMCBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyBHUEcgJ3Nob3cgdW50cnVzdGVkIHNpZ25hdHVyZSB3aXRoIHVuZGVmaW5lZCB0cnVzdCBsZXZlbCcgJworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwl1bmRlZmluZWQKKwk2NUEwRUVBMDJFMzBDQUQ3CisJRXJpcyBEaXNjb3JkaWEgPGRpc2NvcmRAZXhhbXBsZS5uZXQ+CisJRjgzNjRBNTlFMDdGRkU5RjRENjMwMDVBNjVBMEVFQTAyRTMwQ0FENworCUQ0QkUyMjMxMUFEMzEzMUU1RURBMjlBNDYxMDkyRTg1QjcyMjcxODkKKwlFT0YKKwlnaXQgbG9nIC0xIC0tZm9ybWF0PSIlR1QlbiVHSyVuJUdTJW4lR0YlbiVHUCIgZWlnaHRoLXNpZ25lZC1hbHQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBHUEcgJ3Nob3cgdW50cnVzdGVkIHNpZ25hdHVyZSB3aXRoIHVsdGltYXRlIHRydXN0IGxldmVsJyAnCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCXVsdGltYXRlCisJMTNCNkY1MUVDRERFNDMwRAorCUMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNvbT4KKwk3M0Q3NTg3NDRCRTcyMTY5OEVDNTRFODcxM0I2RjUxRUNEREU0MzBECisJNzNENzU4NzQ0QkU3MjE2OThFQzU0RTg3MTNCNkY1MUVDRERFNDMwRAorCUVPRgorCWdpdCBsb2cgLTEgLS1mb3JtYXQ9IiVHVCVuJUdLJW4lR1MlbiVHRiVuJUdQIiBzaXh0aC1zaWduZWQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyBHUEcgJ3Nob3cgdW5rbm93biBzaWduYXR1cmUgd2l0aCBjdXN0b20gZm9ybWF0JyAnCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgogCUUKZGlmZiAtLWdpdCBhL3QvdDc1MTItc3RhdHVzLWhlbHAuc2ggYi90L3Q3NTEyLXN0YXR1cy1oZWxwLnNoCmluZGV4IDQ1ODYwOGMuLjI5NTE4ZTAgMTAwNzU1Ci0tLSBhL3QvdDc1MTItc3RhdHVzLWhlbHAuc2gKKysrIGIvdC90NzUxMi1zdGF0dXMtaGVscC5zaApAQCAtMzMsNyArMzMsNiBAQAogCiBVbm1lcmdlZCBwYXRoczoKICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIG1hcmsgcmVzb2x1dGlvbikKLQogCWJvdGggbW9kaWZpZWQ6ICAgbWFpbi50eHQKIAogbm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSAiZ2l0IGFkZCIgYW5kL29yICJnaXQgY29tbWl0IC1hIikKQEAgLTU0LDcgKzUzLDYgQEAKICAgKHVzZSAiZ2l0IGNvbW1pdCIgdG8gY29uY2x1ZGUgbWVyZ2UpCiAKIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotCiAJbW9kaWZpZWQ6ICAgbWFpbi50eHQKIAogVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpCkBAIC03MywxMCArNzEsMTAgQEAKICcKIAogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgd2hlbiByZWJhc2UgaW4gcHJvZ3Jlc3MgYmVmb3JlIHJlc29sdmluZyBjb25mbGljdHMnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyB3aGVuIHJlYmFzZSAtLWFwcGx5IGluIHByb2dyZXNzIGJlZm9yZSByZXNvbHZpbmcgY29uZmxpY3RzJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmViYXNlIC0tYWJvcnQiICYmCiAJT05UTz0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEXl4pICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSBIRUFEXiAtLW9udG8gSEVBRF5eICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtLWFwcGx5IEhFQUReIC0tb250byBIRUFEXl4gJiYKIAljYXQgPmV4cGVjdGVkIDw8RU9GICYmCiByZWJhc2UgaW4gcHJvZ3Jlc3M7IG9udG8gJE9OVE8KIFlvdSBhcmUgY3VycmVudGx5IHJlYmFzaW5nIGJyYW5jaCAnXCcncmViYXNlX2NvbmZsaWN0cydcJycgb24gJ1wnJyRPTlRPJ1wnJy4KQEAgLTg1LDkgKzgzLDggQEAKICAgKHVzZSAiZ2l0IHJlYmFzZSAtLWFib3J0IiB0byBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCkKIAogVW5tZXJnZWQgcGF0aHM6Ci0gICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKKyAgKHVzZSAiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gbWFyayByZXNvbHV0aW9uKQotCiAJYm90aCBtb2RpZmllZDogICBtYWluLnR4dAogCiBubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlICJnaXQgYWRkIiBhbmQvb3IgImdpdCBjb21taXQgLWEiKQpAQCAtOTcsMTEgKzk0LDExIEBACiAnCiAKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIHdoZW4gcmViYXNlIGluIHByb2dyZXNzIGJlZm9yZSByZWJhc2UgLS1jb250aW51ZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIHdoZW4gcmViYXNlIC0tYXBwbHkgaW4gcHJvZ3Jlc3MgYmVmb3JlIHJlYmFzZSAtLWNvbnRpbnVlJyAnCiAJZ2l0IHJlc2V0IC0taGFyZCByZWJhc2VfY29uZmxpY3RzICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmViYXNlIC0tYWJvcnQiICYmCiAJT05UTz0kKGdpdCByZXYtcGFyc2UgLS1zaG9ydCBIRUFEXl4pICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSBIRUFEXiAtLW9udG8gSEVBRF5eICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtLWFwcGx5IEhFQUReIC0tb250byBIRUFEXl4gJiYKIAllY2hvIHRocmVlID5tYWluLnR4dCAmJgogCWdpdCBhZGQgbWFpbi50eHQgJiYKIAljYXQgPmV4cGVjdGVkIDw8RU9GICYmCkBAIC0xMTAsOCArMTA3LDcgQEAKICAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biAiZ2l0IHJlYmFzZSAtLWNvbnRpbnVlIikKIAogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0gICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKLQorICAodXNlICJnaXQgcmVzdG9yZSAtLXN0YWdlZCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiAJbW9kaWZpZWQ6ICAgbWFpbi50eHQKIAogVW50cmFja2VkIGZpbGVzIG5vdCBsaXN0ZWQgKHVzZSAtdSBvcHRpb24gdG8gc2hvdyB1bnRyYWNrZWQgZmlsZXMpCkBAIC0xNDgsOSArMTQ0LDggQEAKICAgKHVzZSAiZ2l0IHJlYmFzZSAtLWFib3J0IiB0byBjaGVjayBvdXQgdGhlIG9yaWdpbmFsIGJyYW5jaCkKIAogVW5tZXJnZWQgcGF0aHM6Ci0gICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKKyAgKHVzZSAiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gbWFyayByZXNvbHV0aW9uKQotCiAJYm90aCBtb2RpZmllZDogICBtYWluLnR4dAogCiBubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlICJnaXQgYWRkIiBhbmQvb3IgImdpdCBjb21taXQgLWEiKQpAQCAtMTc2LDggKzE3MSw3IEBACiAgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gImdpdCByZWJhc2UgLS1jb250aW51ZSIpCiAKIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOgotICAodXNlICJnaXQgcmVzZXQgSEVBRCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCi0KKyAgKHVzZSAiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogCW1vZGlmaWVkOiAgIG1haW4udHh0CiAKIFVudHJhY2tlZCBmaWxlcyBub3QgbGlzdGVkICh1c2UgLXUgb3B0aW9uIHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQpAQCAtMjQ2LDggKzI0MCw3IEBACiAKIENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0gICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLQorICAodXNlICJnaXQgcmVzdG9yZSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKIAltb2RpZmllZDogICBtYWluLnR4dAogCiBubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlICJnaXQgYWRkIiBhbmQvb3IgImdpdCBjb21taXQgLWEiKQpAQCAtMzU0LDggKzM0Nyw3IEBACiAKIENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0gICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLQorICAodXNlICJnaXQgcmVzdG9yZSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKIAltb2RpZmllZDogICBtYWluLnR4dAogCiBubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlICJnaXQgYWRkIiBhbmQvb3IgImdpdCBjb21taXQgLWEiKQpAQCAtNDUzLDggKzQ0NSw3IEBACiAKIENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0gICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLQorICAodXNlICJnaXQgcmVzdG9yZSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKIAltb2RpZmllZDogICBtYWluLnR4dAogCiBubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlICJnaXQgYWRkIiBhbmQvb3IgImdpdCBjb21taXQgLWEiKQpAQCAtNTU3LDggKzU0OCw3IEBACiAKIENoYW5nZXMgbm90IHN0YWdlZCBmb3IgY29tbWl0OgogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpCi0gICh1c2UgImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKLQorICAodXNlICJnaXQgcmVzdG9yZSA8ZmlsZT4uLi4iIHRvIGRpc2NhcmQgY2hhbmdlcyBpbiB3b3JraW5nIGRpcmVjdG9yeSkKIAltb2RpZmllZDogICBtYWluLnR4dAogCiBubyBjaGFuZ2VzIGFkZGVkIHRvIGNvbW1pdCAodXNlICJnaXQgYWRkIiBhbmQvb3IgImdpdCBjb21taXQgLWEiKQpAQCAtNjk4LDcgKzY4OCw3IEBACiAnCiAKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIHdoZW4gcmViYXNlIGNvbmZsaWN0cyB3aXRoIHN0YXR1c2hpbnRzIGRpc2FibGVkJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgd2hlbiByZWJhc2UgLS1hcHBseSBjb25mbGljdHMgd2l0aCBzdGF0dXNoaW50cyBkaXNhYmxlZCcgJwogCWdpdCByZXNldCAtLWhhcmQgbWFzdGVyICYmCiAJZ2l0IGNoZWNrb3V0IC1iIHN0YXR1c2hpbnRzX2Rpc2FibGVkICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY29uZmlnIC0tbG9jYWwgYWR2aWNlLnN0YXR1c2hpbnRzIHRydWUiICYmCkBAIC03MDgsNyArNjk4LDcgQEAKIAl0ZXN0X2NvbW1pdCB0aHJlZV9zdGF0dXNoaW50cyBtYWluLnR4dCB0aHJlZSAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlYmFzZSAtLWFib3J0IiAmJgogCU9OVE89JChnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRF5eKSAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgSEVBRF4gLS1vbnRvIEhFQUReXiAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgLS1hcHBseSBIRUFEXiAtLW9udG8gSEVBRF5eICYmCiAJY2F0ID5leHBlY3RlZCA8PEVPRiAmJgogcmViYXNlIGluIHByb2dyZXNzOyBvbnRvICRPTlRPCiBZb3UgYXJlIGN1cnJlbnRseSByZWJhc2luZyBicmFuY2ggJ1wnJ3N0YXR1c2hpbnRzX2Rpc2FibGVkJ1wnJyBvbiAnXCcnJE9OVE8nXCcnLgpAQCAtNzQzLDExICs3MzMsMTEgQEAKIE9uIGJyYW5jaCBjaGVycnlfYnJhbmNoCiBZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJFRPX0NIRVJSWV9QSUNLLgogICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuICJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZSIpCisgICh1c2UgImdpdCBjaGVycnktcGljayAtLXNraXAiIHRvIHNraXAgdGhpcyBwYXRjaCkKICAgKHVzZSAiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnQiIHRvIGNhbmNlbCB0aGUgY2hlcnJ5LXBpY2sgb3BlcmF0aW9uKQogCiBVbm1lcmdlZCBwYXRoczoKICAgKHVzZSAiZ2l0IGFkZCA8ZmlsZT4uLi4iIHRvIG1hcmsgcmVzb2x1dGlvbikKLQogCWJvdGggbW9kaWZpZWQ6ICAgbWFpbi50eHQKIAogbm8gY2hhbmdlcyBhZGRlZCB0byBjb21taXQgKHVzZSAiZ2l0IGFkZCIgYW5kL29yICJnaXQgY29tbWl0IC1hIikKQEAgLTc2OCwxMCArNzU4LDEwIEBACiBPbiBicmFuY2ggY2hlcnJ5X2JyYW5jaAogWW91IGFyZSBjdXJyZW50bHkgY2hlcnJ5LXBpY2tpbmcgY29tbWl0ICRUT19DSEVSUllfUElDSy4KICAgKGFsbCBjb25mbGljdHMgZml4ZWQ6IHJ1biAiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWUiKQorICAodXNlICJnaXQgY2hlcnJ5LXBpY2sgLS1za2lwIiB0byBza2lwIHRoaXMgcGF0Y2gpCiAgICh1c2UgImdpdCBjaGVycnktcGljayAtLWFib3J0IiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikKIAogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0KIAltb2RpZmllZDogICBtYWluLnR4dAogCiBVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKQEAgLTc4MCw2ICs3NzAsNDEgQEAKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyB3aGVuIGNoZXJyeS1waWNraW5nIGFmdGVyIGNvbW1pdHRpbmcgY29uZmxpY3QgcmVzb2x1dGlvbicgJworCWdpdCByZXNldCAtLWhhcmQgY2hlcnJ5X2JyYW5jaCAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnQiICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZXJyeS1waWNrIGNoZXJyeV9icmFuY2hfc2Vjb25kIG9uZV9jaGVycnkgJiYKKwllY2hvIGVuZCA+bWFpbi50eHQgJiYKKwlnaXQgY29tbWl0IC1hICYmCisJY2F0ID5leHBlY3RlZCA8PEVPRiAmJgorT24gYnJhbmNoIGNoZXJyeV9icmFuY2gKK0NoZXJyeS1waWNrIGN1cnJlbnRseSBpbiBwcm9ncmVzcy4KKyAgKHJ1biAiZ2l0IGNoZXJyeS1waWNrIC0tY29udGludWUiIHRvIGNvbnRpbnVlKQorICAodXNlICJnaXQgY2hlcnJ5LXBpY2sgLS1za2lwIiB0byBza2lwIHRoaXMgcGF0Y2gpCisgICh1c2UgImdpdCBjaGVycnktcGljayAtLWFib3J0IiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikKKworbm90aGluZyB0byBjb21taXQgKHVzZSAtdSB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKK0VPRgorCWdpdCBzdGF0dXMgLS11bnRyYWNrZWQtZmlsZXM9bm8gPmFjdHVhbCAmJgorCXRlc3RfaTE4bmNtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc3RhdHVzIHNob3dzIGNoZXJyeS1waWNrIHdpdGggaW52YWxpZCBvaWQnICcKKwlta2RpciAuZ2l0L3NlcXVlbmNlciAmJgorCXRlc3Rfd3JpdGVfbGluZXMgInBpY2sgaW52YWxpZC1vaWQiID4uZ2l0L3NlcXVlbmNlci90b2RvICYmCisJZ2l0IHN0YXR1cyAtLXVudHJhY2tlZC1maWxlcz1ubyA+YWN0dWFsIDI+ZXJyICYmCisJZ2l0IGNoZXJyeS1waWNrIC0tcXVpdCAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBlcnIgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyBkb2VzIG5vdCBzaG93IGVycm9yIGlmIC5naXQvc2VxdWVuY2VyIGlzIGEgZmlsZScgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAicm0gLmdpdC9zZXF1ZW5jZXIiICYmCisJdGVzdF93cml0ZV9saW5lcyBoZWxsbyA+LmdpdC9zZXF1ZW5jZXIgJiYKKwlnaXQgc3RhdHVzIC0tdW50cmFja2VkLWZpbGVzPW5vIDI+ZXJyICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGVycgorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGF0dXMgc2hvd2luZyBkZXRhY2hlZCBhdCBhbmQgZnJvbSBhIHRhZycgJwogCXRlc3RfY29tbWl0IGF0YWcgdGFnZ2luZyAmJgogCWdpdCBjaGVja291dCBhdGFnICYmCkBAIC04MTMsMTIgKzgzOCwxMiBAQAogT24gYnJhbmNoIG1hc3RlcgogWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAkVE9fUkVWRVJULgogICAoZml4IGNvbmZsaWN0cyBhbmQgcnVuICJnaXQgcmV2ZXJ0IC0tY29udGludWUiKQorICAodXNlICJnaXQgcmV2ZXJ0IC0tc2tpcCIgdG8gc2tpcCB0aGlzIHBhdGNoKQogICAodXNlICJnaXQgcmV2ZXJ0IC0tYWJvcnQiIHRvIGNhbmNlbCB0aGUgcmV2ZXJ0IG9wZXJhdGlvbikKIAogVW5tZXJnZWQgcGF0aHM6Ci0gICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKKyAgKHVzZSAiZ2l0IHJlc3RvcmUgLS1zdGFnZWQgPGZpbGU+Li4uIiB0byB1bnN0YWdlKQogICAodXNlICJnaXQgYWRkIDxmaWxlPi4uLiIgdG8gbWFyayByZXNvbHV0aW9uKQotCiAJYm90aCBtb2RpZmllZDogICB0by1yZXZlcnQudHh0CiAKIG5vIGNoYW5nZXMgYWRkZWQgdG8gY29tbWl0ICh1c2UgImdpdCBhZGQiIGFuZC9vciAiZ2l0IGNvbW1pdCAtYSIpCkBAIC04MzQsMTEgKzg1OSwxMSBAQAogT24gYnJhbmNoIG1hc3RlcgogWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAkVE9fUkVWRVJULgogICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuICJnaXQgcmV2ZXJ0IC0tY29udGludWUiKQorICAodXNlICJnaXQgcmV2ZXJ0IC0tc2tpcCIgdG8gc2tpcCB0aGlzIHBhdGNoKQogICAodXNlICJnaXQgcmV2ZXJ0IC0tYWJvcnQiIHRvIGNhbmNlbCB0aGUgcmV2ZXJ0IG9wZXJhdGlvbikKIAogQ2hhbmdlcyB0byBiZSBjb21taXR0ZWQ6Ci0gICh1c2UgImdpdCByZXNldCBIRUFEIDxmaWxlPi4uLiIgdG8gdW5zdGFnZSkKLQorICAodXNlICJnaXQgcmVzdG9yZSAtLXN0YWdlZCA8ZmlsZT4uLi4iIHRvIHVuc3RhZ2UpCiAJbW9kaWZpZWQ6ICAgdG8tcmV2ZXJ0LnR4dAogCiBVbnRyYWNrZWQgZmlsZXMgbm90IGxpc3RlZCAodXNlIC11IG9wdGlvbiB0byBzaG93IHVudHJhY2tlZCBmaWxlcykKQEAgLTg1Nyw2ICs4ODIsMjUgQEAKIAl0ZXN0X2kxOG5jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyB3aGlsZSByZXZlcnRpbmcgYWZ0ZXIgY29tbWl0dGluZyBjb25mbGljdCByZXNvbHV0aW9uJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmV2ZXJ0IC0tYWJvcnQiICYmCisJZ2l0IHJlc2V0IC0taGFyZCBuZXcgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2ZXJ0IG9sZCBuZXcgJiYKKwllY2hvIHJldmVydGVkID50by1yZXZlcnQudHh0ICYmCisJZ2l0IGNvbW1pdCAtYSAmJgorCWNhdCA+ZXhwZWN0ZWQgPDxFT0YgJiYKK09uIGJyYW5jaCBtYXN0ZXIKK1JldmVydCBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MuCisgIChydW4gImdpdCByZXZlcnQgLS1jb250aW51ZSIgdG8gY29udGludWUpCisgICh1c2UgImdpdCByZXZlcnQgLS1za2lwIiB0byBza2lwIHRoaXMgcGF0Y2gpCisgICh1c2UgImdpdCByZXZlcnQgLS1hYm9ydCIgdG8gY2FuY2VsIHRoZSByZXZlcnQgb3BlcmF0aW9uKQorCitub3RoaW5nIHRvIGNvbW1pdCAodXNlIC11IHRvIHNob3cgdW50cmFja2VkIGZpbGVzKQorRU9GCisJZ2l0IHN0YXR1cyAtLXVudHJhY2tlZC1maWxlcz1ubyA+YWN0dWFsICYmCisJdGVzdF9pMThuY21wIGV4cGVjdGVkIGFjdHVhbAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcmVwYXJlIGZvciBkaWZmZXJlbnQgbnVtYmVyIG9mIGNvbW1pdHMgcmViYXNlZCcgJwogCWdpdCByZXNldCAtLWhhcmQgbWFzdGVyICYmCiAJZ2l0IGNoZWNrb3V0IC1iIHNldmVyYWxfY29tbWl0cyAmJgpkaWZmIC0tZ2l0IGEvdC90NzUxMy1pbnRlcnByZXQtdHJhaWxlcnMuc2ggYi90L3Q3NTEzLWludGVycHJldC10cmFpbGVycy5zaAppbmRleCBjNDQxODYxLi42NjAyNzkwIDEwMDc1NQotLS0gYS90L3Q3NTEzLWludGVycHJldC10cmFpbGVycy5zaAorKysgYi90L3Q3NTEzLWludGVycHJldC10cmFpbGVycy5zaApAQCAtNTM4LDMzICs1MzgsNTAgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnd2l0aCBtZXNzYWdlIHRoYXQgaGFzIGNvbW1lbnRzJyAnCi0JY2F0IGJhc2ljX21lc3NhZ2UgPm1lc3NhZ2Vfd2l0aF9jb21tZW50cyAmJgotCXNlZCAtZSAicy8gWlwkLyAvIiA+Pm1lc3NhZ2Vfd2l0aF9jb21tZW50cyA8PC1cRU9GICYmCi0JCSMgY29tbWVudAorIyBDb3ZlciBtdWx0aXBsZSBjb21tZW50IGNoYXJhY3RlcnMgd2l0aCB0aGUgc2FtZSB0ZXN0IGlucHV0LgorZm9yIGNoYXIgaW4gIiMiICI7IgorZG8KKwljYXNlICIkY2hhciIgaW4KKwkiIyIpCisJCSMgVGhpcyBpcyB0aGUgZGVmYXVsdCwgc28gbGV0J3MgZXhwbGljaXRseSBfbm90XworCQkjIHNldCBhbnkgY29uZmlnIHRvIG1ha2Ugc3VyZSBpdCBiZWhhdmVzIGFzIHdlIGV4cGVjdC4KKwkJOzsKKwkqKQorCQljb25maWc9Ii1jIGNvcmUuY29tbWVudENoYXI9JGNoYXIiCisJCTs7CisJZXNhYwogCi0JCSMgb3RoZXIgY29tbWVudAotCQlDYzogWgotCQkjIHlldCBhbm90aGVyIGNvbW1lbnQKLQkJUmV2aWV3ZWQtYnk6IEpvaGFuCi0JCVJldmlld2VkLWJ5OiBaCi0JCSMgbGFzdCBjb21tZW50CisJdGVzdF9leHBlY3Rfc3VjY2VzcyAid2l0aCBtZXNzYWdlIHRoYXQgaGFzIGNvbW1lbnRzICgkY2hhcikiICcKKwkJY2F0IGJhc2ljX21lc3NhZ2UgPm1lc3NhZ2Vfd2l0aF9jb21tZW50cyAmJgorCQlzZWQgLWUgInMvIFpcJC8gLyIgXAorCQkgICAgLWUgInMvIy8kY2hhci9nIiA+Pm1lc3NhZ2Vfd2l0aF9jb21tZW50cyA8PC1FT0YgJiYKKwkJCSMgY29tbWVudAogCi0JRU9GCi0JY2F0IGJhc2ljX3BhdGNoID4+bWVzc2FnZV93aXRoX2NvbW1lbnRzICYmCi0JY2F0IGJhc2ljX21lc3NhZ2UgPmV4cGVjdGVkICYmCi0JY2F0ID4+ZXhwZWN0ZWQgPDwtXEVPRiAmJgotCQkjIGNvbW1lbnQKKwkJCSMgb3RoZXIgY29tbWVudAorCQkJQ2M6IFoKKwkJCSMgeWV0IGFub3RoZXIgY29tbWVudAorCQkJUmV2aWV3ZWQtYnk6IEpvaGFuCisJCQlSZXZpZXdlZC1ieTogWgorCQkJIyBsYXN0IGNvbW1lbnQKIAotCQlSZXZpZXdlZC1ieTogSm9oYW4KLQkJQ2M6IFBlZmYKLQkJIyBsYXN0IGNvbW1lbnQKKwkJRU9GCisJCWNhdCBiYXNpY19wYXRjaCA+Pm1lc3NhZ2Vfd2l0aF9jb21tZW50cyAmJgorCQljYXQgYmFzaWNfbWVzc2FnZSA+ZXhwZWN0ZWQgJiYKKwkJc2VkIC1lICJzLyMvJGNoYXIvZyIgPj5leHBlY3RlZCA8PC1cRU9GICYmCisJCQkjIGNvbW1lbnQKIAotCUVPRgotCWNhdCBiYXNpY19wYXRjaCA+PmV4cGVjdGVkICYmCi0JZ2l0IGludGVycHJldC10cmFpbGVycyAtLXRyaW0tZW1wdHkgLS10cmFpbGVyICJDYzogUGVmZiIgbWVzc2FnZV93aXRoX2NvbW1lbnRzID5hY3R1YWwgJiYKLQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKLScKKwkJCVJldmlld2VkLWJ5OiBKb2hhbgorCQkJQ2M6IFBlZmYKKwkJCSMgbGFzdCBjb21tZW50CisKKwkJRU9GCisJCWNhdCBiYXNpY19wYXRjaCA+PmV4cGVjdGVkICYmCisJCWdpdCAkY29uZmlnIGludGVycHJldC10cmFpbGVycyBcCisJCQktLXRyaW0tZW1wdHkgLS10cmFpbGVyICJDYzogUGVmZiIgXAorCQkJbWVzc2FnZV93aXRoX2NvbW1lbnRzID5hY3R1YWwgJiYKKwkJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJJworZG9uZQogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd3aXRoIG1lc3NhZ2UgdGhhdCBoYXMgYW4gb2xkIHN0eWxlIGNvbmZsaWN0IGJsb2NrJyAnCiAJY2F0IGJhc2ljX21lc3NhZ2UgPm1lc3NhZ2Vfd2l0aF9jb21tZW50cyAmJgpAQCAtMTIxNyw3ICsxMjM0LDcgQEAKIAl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnd2l0aCBjb21tYW5kIHVzaW5nIGNvbW1pdGVyIGluZm9ybWF0aW9uJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICd3aXRoIGNvbW1hbmQgdXNpbmcgY29tbWl0dGVyIGluZm9ybWF0aW9uJyAnCiAJZ2l0IGNvbmZpZyB0cmFpbGVyLnNpZ24uaWZFeGlzdHMgImFkZElmRGlmZmVyZW50IiAmJgogCWdpdCBjb25maWcgdHJhaWxlci5zaWduLmNvbW1hbmQgImVjaG8gXCJcJEdJVF9DT01NSVRURVJfTkFNRSA8XCRHSVRfQ09NTUlUVEVSX0VNQUlMPlwiIiAmJgogCWNhdCBjb21wbGV4X21lc3NhZ2VfYm9keSA+ZXhwZWN0ZWQgJiYKZGlmZiAtLWdpdCBhL3QvdDc1MTctcGVyLXJlcG8tZW1haWwuc2ggYi90L3Q3NTE3LXBlci1yZXBvLWVtYWlsLnNoCmluZGV4IDIzMWI4Y2MuLmIyNDAxY2UgMTAwNzU1Ci0tLSBhL3QvdDc1MTctcGVyLXJlcG8tZW1haWwuc2gKKysrIGIvdC90NzUxNy1wZXItcmVwby1lbWFpbC5zaApAQCAtODUsNCArODUsNzggQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC1wIG1hc3RlcgogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhdXRob3IubmFtZSBvdmVycmlkZXMgdXNlci5uYW1lJyAnCisJdGVzdF9jb25maWcgdXNlci5uYW1lIHVzZXIgJiYKKwl0ZXN0X2NvbmZpZyB1c2VyLmVtYWlsIHVzZXJAZXhhbXBsZS5jb20gJiYKKwl0ZXN0X2NvbmZpZyBhdXRob3IubmFtZSBhdXRob3IgJiYKKwl0ZXN0X2NvbW1pdCBhdXRob3ItbmFtZS1vdmVycmlkZS11c2VyICYmCisJZWNobyBhdXRob3IgdXNlckBleGFtcGxlLmNvbSA+IGV4cGVjdGVkLWF1dGhvciAmJgorCWVjaG8gdXNlciB1c2VyQGV4YW1wbGUuY29tID4gZXhwZWN0ZWQtY29tbWl0dGVyICYmCisJZ2l0IGxvZyAtLWZvcm1hdD0iJWFuICVhZSIgLTEgPiBhY3R1YWwtYXV0aG9yICYmCisJZ2l0IGxvZyAtLWZvcm1hdD0iJWNuICVjZSIgLTEgPiBhY3R1YWwtY29tbWl0dGVyICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQtYXV0aG9yIGFjdHVhbC1hdXRob3IgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZC1jb21taXR0ZXIgYWN0dWFsLWNvbW1pdHRlcgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhdXRob3IuZW1haWwgb3ZlcnJpZGVzIHVzZXIuZW1haWwnICcKKwl0ZXN0X2NvbmZpZyB1c2VyLm5hbWUgdXNlciAmJgorCXRlc3RfY29uZmlnIHVzZXIuZW1haWwgdXNlckBleGFtcGxlLmNvbSAmJgorCXRlc3RfY29uZmlnIGF1dGhvci5lbWFpbCBhdXRob3JAZXhhbXBsZS5jb20gJiYKKwl0ZXN0X2NvbW1pdCBhdXRob3ItZW1haWwtb3ZlcnJpZGUtdXNlciAmJgorCWVjaG8gdXNlciBhdXRob3JAZXhhbXBsZS5jb20gPiBleHBlY3RlZC1hdXRob3IgJiYKKwllY2hvIHVzZXIgdXNlckBleGFtcGxlLmNvbSA+IGV4cGVjdGVkLWNvbW1pdHRlciAmJgorCWdpdCBsb2cgLS1mb3JtYXQ9IiVhbiAlYWUiIC0xID4gYWN0dWFsLWF1dGhvciAmJgorCWdpdCBsb2cgLS1mb3JtYXQ9IiVjbiAlY2UiIC0xID4gYWN0dWFsLWNvbW1pdHRlciAmJgorCXRlc3RfY21wIGV4cGVjdGVkLWF1dGhvciBhY3R1YWwtYXV0aG9yICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQtY29tbWl0dGVyIGFjdHVhbC1jb21taXR0ZXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tbWl0dGVyLm5hbWUgb3ZlcnJpZGVzIHVzZXIubmFtZScgJworCXRlc3RfY29uZmlnIHVzZXIubmFtZSB1c2VyICYmCisJdGVzdF9jb25maWcgdXNlci5lbWFpbCB1c2VyQGV4YW1wbGUuY29tICYmCisJdGVzdF9jb25maWcgY29tbWl0dGVyLm5hbWUgY29tbWl0dGVyICYmCisJdGVzdF9jb21taXQgY29tbWl0dGVyLW5hbWUtb3ZlcnJpZGUtdXNlciAmJgorCWVjaG8gdXNlciB1c2VyQGV4YW1wbGUuY29tID4gZXhwZWN0ZWQtYXV0aG9yICYmCisJZWNobyBjb21taXR0ZXIgdXNlckBleGFtcGxlLmNvbSA+IGV4cGVjdGVkLWNvbW1pdHRlciAmJgorCWdpdCBsb2cgLS1mb3JtYXQ9IiVhbiAlYWUiIC0xID4gYWN0dWFsLWF1dGhvciAmJgorCWdpdCBsb2cgLS1mb3JtYXQ9IiVjbiAlY2UiIC0xID4gYWN0dWFsLWNvbW1pdHRlciAmJgorCXRlc3RfY21wIGV4cGVjdGVkLWF1dGhvciBhY3R1YWwtYXV0aG9yICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQtY29tbWl0dGVyIGFjdHVhbC1jb21taXR0ZXIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tbWl0dGVyLmVtYWlsIG92ZXJyaWRlcyB1c2VyLmVtYWlsJyAnCisJdGVzdF9jb25maWcgdXNlci5uYW1lIHVzZXIgJiYKKwl0ZXN0X2NvbmZpZyB1c2VyLmVtYWlsIHVzZXJAZXhhbXBsZS5jb20gJiYKKwl0ZXN0X2NvbmZpZyBjb21taXR0ZXIuZW1haWwgY29tbWl0dGVyQGV4YW1wbGUuY29tICYmCisJdGVzdF9jb21taXQgY29tbWl0dGVyLWVtYWlsLW92ZXJyaWRlLXVzZXIgJiYKKwllY2hvIHVzZXIgdXNlckBleGFtcGxlLmNvbSA+IGV4cGVjdGVkLWF1dGhvciAmJgorCWVjaG8gdXNlciBjb21taXR0ZXJAZXhhbXBsZS5jb20gPiBleHBlY3RlZC1jb21taXR0ZXIgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSIlYW4gJWFlIiAtMSA+IGFjdHVhbC1hdXRob3IgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSIlY24gJWNlIiAtMSA+IGFjdHVhbC1jb21taXR0ZXIgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZC1hdXRob3IgYWN0dWFsLWF1dGhvciAmJgorCXRlc3RfY21wIGV4cGVjdGVkLWNvbW1pdHRlciBhY3R1YWwtY29tbWl0dGVyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2F1dGhvciBhbmQgY29tbWl0dGVyIGVudmlyb25tZW50IHZhcmlhYmxlcyBvdmVycmlkZSBjb25maWcgc2V0dGluZ3MnICcKKwl0ZXN0X2NvbmZpZyB1c2VyLm5hbWUgdXNlciAmJgorCXRlc3RfY29uZmlnIHVzZXIuZW1haWwgdXNlckBleGFtcGxlLmNvbSAmJgorCXRlc3RfY29uZmlnIGF1dGhvci5uYW1lIGF1dGhvciAmJgorCXRlc3RfY29uZmlnIGF1dGhvci5lbWFpbCBhdXRob3JAZXhhbXBsZS5jb20gJiYKKwl0ZXN0X2NvbmZpZyBjb21taXR0ZXIubmFtZSBjb21taXR0ZXIgJiYKKwl0ZXN0X2NvbmZpZyBjb21taXR0ZXIuZW1haWwgY29tbWl0dGVyQGV4YW1wbGUuY29tICYmCisJR0lUX0FVVEhPUl9OQU1FPWVudl9hdXRob3IgJiYgZXhwb3J0IEdJVF9BVVRIT1JfTkFNRSAmJgorCUdJVF9BVVRIT1JfRU1BSUw9ZW52X2F1dGhvckBleGFtcGxlLmNvbSAmJiBleHBvcnQgR0lUX0FVVEhPUl9FTUFJTCAmJgorCUdJVF9DT01NSVRURVJfTkFNRT1lbnZfY29tbWl0ICYmIGV4cG9ydCBHSVRfQ09NTUlUVEVSX05BTUUgJiYKKwlHSVRfQ09NTUlUVEVSX0VNQUlMPWVudl9jb21taXRAZXhhbXBsZS5jb20gJiYgZXhwb3J0IEdJVF9DT01NSVRURVJfRU1BSUwgJiYKKwl0ZXN0X2NvbW1pdCBlbnYtb3ZlcnJpZGUtY29uZiAmJgorCWVjaG8gZW52X2F1dGhvciBlbnZfYXV0aG9yQGV4YW1wbGUuY29tID4gZXhwZWN0ZWQtYXV0aG9yICYmCisJZWNobyBlbnZfY29tbWl0IGVudl9jb21taXRAZXhhbXBsZS5jb20gPiBleHBlY3RlZC1jb21taXR0ZXIgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSIlYW4gJWFlIiAtMSA+IGFjdHVhbC1hdXRob3IgJiYKKwlnaXQgbG9nIC0tZm9ybWF0PSIlY24gJWNlIiAtMSA+IGFjdHVhbC1jb21taXR0ZXIgJiYKKwlzYW5lX3Vuc2V0IEdJVF9BVVRIT1JfTkFNRSBHSVRfQVVUSE9SX0VNQUlMICYmCisJc2FuZV91bnNldCBHSVRfQ09NTUlUVEVSX05BTUUgR0lUX0NPTU1JVFRFUl9FTUFJTCAmJgorCXRlc3RfY21wIGV4cGVjdGVkLWF1dGhvciBhY3R1YWwtYXV0aG9yICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQtY29tbWl0dGVyIGFjdHVhbC1jb21taXR0ZXIKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3NTE5LXN0YXR1cy1mc21vbml0b3Iuc2ggYi90L3Q3NTE5LXN0YXR1cy1mc21vbml0b3Iuc2gKaW5kZXggM2UwYTYxZC4uZmJmZGNjYSAxMDA3NTUKLS0tIGEvdC90NzUxOS1zdGF0dXMtZnNtb25pdG9yLnNoCisrKyBiL3QvdDc1MTktc3RhdHVzLWZzbW9uaXRvci5zaApAQCAtMzIsMTEgKzMyLDEyIEBACiAJCWVjaG8gIiQwOiBleGFjdGx5IDIgYXJndW1lbnRzIGV4cGVjdGVkIgogCQlleGl0IDIKIAlmaQotCWlmIHRlc3QgIiQxIiAhPSAxCisJaWYgdGVzdCAiJDEiICE9IDIKIAl0aGVuCiAJCWVjaG8gIlVuc3VwcG9ydGVkIGNvcmUuZnNtb25pdG9yIGhvb2sgdmVyc2lvbi4iID4mMgogCQlleGl0IDEKIAlmaQorCXByaW50ZiAibGFzdF91cGRhdGVfdG9rZW5cMCIKIAlwcmludGYgInVudHJhY2tlZFwwIgogCXByaW50ZiAiZGlyMS91bnRyYWNrZWRcMCIKIAlwcmludGYgImRpcjIvdW50cmFja2VkXDAiCkBAIC0xMDYsNiArMTA3LDkgQEAKIAogIyB0ZXN0IHRoYXQgInVwZGF0ZS1pbmRleCAtLWZzbW9uaXRvci12YWxpZCIgc2V0cyB0aGUgZnNtb25pdG9yIHZhbGlkIGJpdAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndXBkYXRlLWluZGV4IC0tZnNtb25pdG9yLXZhbGlkIiBzZXRzIHRoZSBmc21vbml0b3IgdmFsaWQgYml0JyAnCisJd3JpdGVfc2NyaXB0IC5naXQvaG9va3MvZnNtb25pdG9yLXRlc3Q8PC1cRU9GICYmCisJCXByaW50ZiAibGFzdF91cGRhdGVfdG9rZW5cMCIKKwlFT0YKIAlnaXQgdXBkYXRlLWluZGV4IC0tZnNtb25pdG9yICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCAtLWZzbW9uaXRvci12YWxpZCBkaXIxL21vZGlmaWVkICYmCiAJZ2l0IHVwZGF0ZS1pbmRleCAtLWZzbW9uaXRvci12YWxpZCBkaXIyL21vZGlmaWVkICYmCkBAIC0xNjQsNiArMTY4LDkgQEAKIAogIyB0ZXN0IHRoYXQgbmV3bHkgYWRkZWQgZmlsZXMgYXJlIG1hcmtlZCB2YWxpZAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbmV3bHkgYWRkZWQgZmlsZXMgYXJlIG1hcmtlZCB2YWxpZCcgJworCXdyaXRlX3NjcmlwdCAuZ2l0L2hvb2tzL2ZzbW9uaXRvci10ZXN0PDwtXEVPRiAmJgorCQlwcmludGYgImxhc3RfdXBkYXRlX3Rva2VuXDAiCisJRU9GCiAJZ2l0IGFkZCBuZXcgJiYKIAlnaXQgYWRkIGRpcjEvbmV3ICYmCiAJZ2l0IGFkZCBkaXIyL25ldyAmJgpAQCAtMjAzLDYgKzIxMCw3IEBACiAjIHRlc3QgdGhhdCAqb25seSogZmlsZXMgcmV0dXJuZWQgYnkgdGhlIGludGVncmF0aW9uIHNjcmlwdCBnZXQgZmxhZ2dlZCBhcyBpbnZhbGlkCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICcqb25seSogZmlsZXMgcmV0dXJuZWQgYnkgdGhlIGludGVncmF0aW9uIHNjcmlwdCBnZXQgZmxhZ2dlZCBhcyBpbnZhbGlkJyAnCiAJd3JpdGVfc2NyaXB0IC5naXQvaG9va3MvZnNtb25pdG9yLXRlc3Q8PC1cRU9GICYmCisJcHJpbnRmICJsYXN0X3VwZGF0ZV90b2tlblwwIgogCXByaW50ZiAiZGlyMS9tb2RpZmllZFwwIgogCUVPRgogCWNsZWFuX3JlcG8gJiYKQEAgLTIxOCwxMSArMjI2LDEyIEBACiAjIEVuc3VyZSBjb21tYW5kcyB0aGF0IGNhbGwgcmVmcmVzaF9pbmRleCgpIHRvIG1vdmUgdGhlIGluZGV4IGJhY2sgaW4gdGltZQogIyBwcm9wZXJseSBpbnZhbGlkYXRlIHRoZSBmc21vbml0b3IgY2FjaGUKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlZnJlc2hfaW5kZXgoKSBpbnZhbGlkYXRlcyBmc21vbml0b3IgY2FjaGUnICcKLQl3cml0ZV9zY3JpcHQgLmdpdC9ob29rcy9mc21vbml0b3ItdGVzdDw8LVxFT0YgJiYKLQlFT0YKIAljbGVhbl9yZXBvICYmCiAJZGlydHlfcmVwbyAmJgorCXdyaXRlX2ludGVncmF0aW9uX3NjcmlwdCAmJgogCWdpdCBhZGQgLiAmJgorCXdyaXRlX3NjcmlwdCAuZ2l0L2hvb2tzL2ZzbW9uaXRvci10ZXN0PDwtXEVPRiAmJgorCUVPRgogCWdpdCBjb21taXQgLW0gInRvIHJlc2V0IiAmJgogCWdpdCByZXNldCBIRUFEfjEgJiYKIAlnaXQgc3RhdHVzID5hY3R1YWwgJiYKQEAgLTI3MSw2ICsyODAsNyBAQAogCQkjIChpZiBlbmFibGVkKSBmaWxlcyB1bmxlc3MgaXQgaXMgdG9sZCBhYm91dCB0aGVtLgogCQl0ZXN0X2V4cGVjdF9zdWNjZXNzICJzdGF0dXMgZG9lc24ndCBkZXRlY3QgdW5yZXBvcnRlZCBtb2RpZmljYXRpb25zIiAnCiAJCQl3cml0ZV9zY3JpcHQgLmdpdC9ob29rcy9mc21vbml0b3ItdGVzdDw8LVxFT0YgJiYKKwkJCXByaW50ZiAibGFzdF91cGRhdGVfdG9rZW5cMCIKIAkJCTo+bWFya2VyCiAJCQlFT0YKIAkJCWNsZWFuX3JlcG8gJiYKQEAgLTI5NCw3ICszMDQsNyBAQAogCWRvbmUKIGRvbmUKIAotIyB0ZXN0IHRoYXQgc3BsaXR0aW5nIHRoZSBpbmRleCBkb3NuJ3QgaW50ZXJmZXJlCisjIHRlc3QgdGhhdCBzcGxpdHRpbmcgdGhlIGluZGV4IGRvZXNuJ3QgaW50ZXJmZXJlCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzcGxpdHRpbmcgdGhlIGluZGV4IHJlc3VsdHMgaW4gdGhlIHNhbWUgc3RhdGUnICcKIAl3cml0ZV9pbnRlZ3JhdGlvbl9zY3JpcHQgJiYKIAlkaXJ0eV9yZXBvICYmCkBAIC0zNDYsNCArMzU2LDMxIEBACiAJdGVzdF9jbXAgYmVmb3JlIGFmdGVyCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Rpc2NhcmRfaW5kZXgoKSBhbHNvIGRpc2NhcmRzIGZzbW9uaXRvciBpbmZvJyAnCisJdGVzdF9jb25maWcgY29yZS5mc21vbml0b3IgIiRURVNUX0RJUkVDVE9SWS90NzUxOS9mc21vbml0b3ItYWxsIiAmJgorCXRlc3RfbWlnaHRfZmFpbCBnaXQgdXBkYXRlLWluZGV4IC0tcmVmcmVzaCAmJgorCXRlc3QtdG9vbCByZWFkLWNhY2hlIC0tcHJpbnQtYW5kLXJlZnJlc2g9dHJhY2tlZCAyID5hY3R1YWwgJiYKKwlwcmludGYgInRyYWNrZWQgaXMlcyB1cCB0byBkYXRlXG4iICIiICIgbm90IiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCisjIFRlc3QgdW5zdGFnaW5nIGVudHJpZXMgdGhhdDoKKyMgIC0gQXJlIG5vdCBmbGFnZ2VkIHdpdGggQ0VfRlNNT05JVE9SX1ZBTElECisjICAtIEhhdmUgYSBwb3NpdGlvbiBpbiB0aGUgaW5kZXggPj0gdGhlIG51bWJlciBvZiBlbnRyaWVzIHByZXNlbnQgaW4gdGhlIGluZGV4CisjICAgIGFmdGVyIHVuc3RhZ2luZy4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N0YXR1cyBzdWNjZWVkcyBhZnRlciBzdGFnaW5nL3Vuc3RhZ2luZycgJworCXRlc3RfY3JlYXRlX3JlcG8gZnNtb25pdG9yLXN0YWdlLXVuc3RhZ2UgJiYKKwkoCisJCWNkIGZzbW9uaXRvci1zdGFnZS11bnN0YWdlICYmCisJCXRlc3RfY29tbWl0IGluaXRpYWwgJiYKKwkJZ2l0IHVwZGF0ZS1pbmRleCAtLWZzbW9uaXRvciAmJgorCQlyZW1vdmVkPSQodGVzdF9zZXEgMSAxMDAgfCBzZWQgInMvXi96LyIpICYmCisJCXRvdWNoICRyZW1vdmVkICYmCisJCWdpdCBhZGQgJHJlbW92ZWQgJiYKKwkJZ2l0IGNvbmZpZyBjb3JlLmZzbW9uaXRvciAiJFRFU1RfRElSRUNUT1JZL3Q3NTE5L2ZzbW9uaXRvci1lbnYiICYmCisJCUZTTU9OSVRPUl9MSVNUPSIkcmVtb3ZlZCIgZ2l0IHJlc3RvcmUgLVMgJHJlbW92ZWQgJiYKKwkJRlNNT05JVE9SX0xJU1Q9IiRyZW1vdmVkIiBnaXQgc3RhdHVzCisJKQorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDc1MTkvZnNtb25pdG9yLWFsbCBiL3QvdDc1MTkvZnNtb25pdG9yLWFsbAppbmRleCA2OTFiYzk0Li45NGFiNjZiIDEwMDc1NQotLS0gYS90L3Q3NTE5L2ZzbW9uaXRvci1hbGwKKysrIGIvdC90NzUxOS9mc21vbml0b3ItYWxsCkBAIC0xNyw3ICsxNyw2IEBACiAKIGlmIHRlc3QgIiQxIiAhPSAxCiB0aGVuCi0JZWNobyAiVW5zdXBwb3J0ZWQgY29yZS5mc21vbml0b3IgaG9vayB2ZXJzaW9uLiIgPiYyCiAJZXhpdCAxCiBmaQogCmRpZmYgLS1naXQgYS90L3Q3NTE5L2ZzbW9uaXRvci1hbGwtdjIgYi90L3Q3NTE5L2ZzbW9uaXRvci1hbGwtdjIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDYxOTA3ZQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDc1MTkvZnNtb25pdG9yLWFsbC12MgpAQCAtMCwwICsxLDIxIEBACisjIS91c3IvYmluL3BlcmwKKwordXNlIHN0cmljdDsKK3VzZSB3YXJuaW5nczsKKyMKKyMgQW4gdGVzdCBob29rIHNjcmlwdCB0byBpbnRlZ3JhdGUgd2l0aCBnaXQgdG8gdGVzdCBmc21vbml0b3IuCisjCisjIFRoZSBob29rIGlzIHBhc3NlZCBhIHZlcnNpb24gKGN1cnJlbnRseSAyKSBhbmQgc2luY2UgdG9rZW4KKyMgZm9ybWF0dGVkIGFzIGEgc3RyaW5nIGFuZCBvdXRwdXRzIHRvIHN0ZG91dCBhbGwgZmlsZXMgdGhhdCBoYXZlIGJlZW4KKyMgbW9kaWZpZWQgc2luY2UgdGhlIGdpdmVuIHRpbWUuIFBhdGhzIG11c3QgYmUgcmVsYXRpdmUgdG8gdGhlIHJvb3Qgb2YKKyMgdGhlIHdvcmtpbmcgdHJlZSBhbmQgc2VwYXJhdGVkIGJ5IGEgc2luZ2xlIE5VTC4KKyMKKyNlY2hvICIkMCAkKiIgPiYyCitteSAoJHZlcnNpb24sICRsYXN0X3VwZGF0ZV90b2tlbikgPSBAQVJHVjsKKworaWYgKCR2ZXJzaW9uIG5lIDIpIHsKKwlwcmludCAiVW5zdXBwb3J0ZWQgcXVlcnktZnNtb25pdG9yIGhvb2sgdmVyc2lvbiAnJHZlcnNpb24nLlxuIjsKKwlleGl0IDE7Cit9CisKK3ByaW50ICJsYXN0X3VwZGF0ZV90b2tlblwwL1wwIgpkaWZmIC0tZ2l0IGEvdC90NzUxOS9mc21vbml0b3ItZW52IGIvdC90NzUxOS9mc21vbml0b3ItZW52Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhmMWY3YWIKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q3NTE5L2ZzbW9uaXRvci1lbnYKQEAgLTAsMCArMSwyNCBAQAorIyEvYmluL3NoCisjCisjIEFuIHRlc3QgaG9vayBzY3JpcHQgdG8gaW50ZWdyYXRlIHdpdGggZ2l0IHRvIHRlc3QgZnNtb25pdG9yLgorIworIyBUaGUgaG9vayBpcyBwYXNzZWQgYSB2ZXJzaW9uIChjdXJyZW50bHkgMSkgYW5kIGEgdGltZSBpbiBuYW5vc2Vjb25kcworIyBmb3JtYXR0ZWQgYXMgYSBzdHJpbmcgYW5kIG91dHB1dHMgdG8gc3Rkb3V0IGFsbCBmaWxlcyB0aGF0IGhhdmUgYmVlbgorIyBtb2RpZmllZCBzaW5jZSB0aGUgZ2l2ZW4gdGltZS4gUGF0aHMgbXVzdCBiZSByZWxhdGl2ZSB0byB0aGUgcm9vdCBvZgorIyB0aGUgd29ya2luZyB0cmVlIGFuZCBzZXBhcmF0ZWQgYnkgYSBzaW5nbGUgTlVMLgorIworI2VjaG8gIiQwICQqIiA+JjIKKworaWYgdGVzdCAiJCMiIC1uZSAyCit0aGVuCisJZWNobyAiJDA6IGV4YWN0bHkgMiBhcmd1bWVudHMgZXhwZWN0ZWQiID4mMgorCWV4aXQgMgorZmkKKworaWYgdGVzdCAiJDEiICE9IDEKK3RoZW4KKwllY2hvICJVbnN1cHBvcnRlZCBjb3JlLmZzbW9uaXRvciBob29rIHZlcnNpb24uIiA+JjIKKwlleGl0IDEKK2ZpCisKK3ByaW50ZiAnJXNcbicgJEZTTU9OSVRPUl9MSVNUCmRpZmYgLS1naXQgYS90L3Q3NTE5L2ZzbW9uaXRvci13YXRjaG1hbiBiL3QvdDc1MTkvZnNtb25pdG9yLXdhdGNobWFuCmluZGV4IDU1MTRlZGMuLjI2NGI5ZGEgMTAwNzU1Ci0tLSBhL3QvdDc1MTkvZnNtb25pdG9yLXdhdGNobWFuCisrKyBiL3QvdDc1MTkvZnNtb25pdG9yLXdhdGNobWFuCkBAIC0yMywxMCArMjMsMTAgQEAKIAogaWYgKCR2ZXJzaW9uID09IDEpIHsKIAkjIGNvbnZlcnQgbmFub3NlY29uZHMgdG8gc2Vjb25kcwotCSR0aW1lID0gaW50ICR0aW1lIC8gMTAwMDAwMDAwMDsKKwkjIHN1YnRyYWN0IG9uZSBzZWNvbmQgdG8gbWFrZSBzdXJlIHdhdGNobWFuIHdpbGwgcmV0dXJuIGFsbCBjaGFuZ2VzCisJJHRpbWUgPSBpbnQgKCR0aW1lIC8gMTAwMDAwMDAwMCkgLSAxOwogfSBlbHNlIHsKLQlkaWUgIlVuc3VwcG9ydGVkIHF1ZXJ5LWZzbW9uaXRvciBob29rIHZlcnNpb24gJyR2ZXJzaW9uJy5cbiIgLgotCSAgICAiRmFsbGluZyBiYWNrIHRvIHNjYW5uaW5nLi4uXG4iOworCWV4aXQgMTsKIH0KIAogbXkgJGdpdF93b3JrX3RyZWU7CkBAIC01NCwxOCArNTQsMTIgQEAKIAkjCiAJIyBUbyBhY2NvbXBsaXNoIHRoaXMsIHdlJ3JlIHVzaW5nIHRoZSAic2luY2UiIGdlbmVyYXRvciB0byB1c2UgdGhlCiAJIyByZWNlbmN5IGluZGV4IHRvIHNlbGVjdCBjYW5kaWRhdGUgbm9kZXMgYW5kICJmaWVsZHMiIHRvIGxpbWl0IHRoZQotCSMgb3V0cHV0IHRvIGZpbGUgbmFtZXMgb25seS4gVGhlbiB3ZSdyZSB1c2luZyB0aGUgImV4cHJlc3Npb24iIHRlcm0gdG8KLQkjIGZ1cnRoZXIgY29uc3RyYWluIHRoZSByZXN1bHRzLgotCSMKLQkjIFRoZSBjYXRlZ29yeSBvZiB0cmFuc2llbnQgZmlsZXMgdGhhdCB3ZSB3YW50IHRvIGlnbm9yZSB3aWxsIGhhdmUgYQotCSMgY3JlYXRpb24gY2xvY2sgKGNjbG9jaykgbmV3ZXIgdGhhbiAkdGltZV90IHZhbHVlIGFuZCB3aWxsIGFsc28gbm90Ci0JIyBjdXJyZW50bHkgZXhpc3QuCisJIyBvdXRwdXQgdG8gZmlsZSBuYW1lcyBvbmx5LgogCiAJbXkgJHF1ZXJ5ID0gPDwiCUVORCI7CiAJCVsicXVlcnkiLCAiJGdpdF93b3JrX3RyZWUiLCB7CiAJCQkic2luY2UiOiAkdGltZSwKLQkJCSJmaWVsZHMiOiBbIm5hbWUiXSwKLQkJCSJleHByZXNzaW9uIjogWyJub3QiLCBbImFsbG9mIiwgWyJzaW5jZSIsICR0aW1lLCAiY2Nsb2NrIl0sIFsibm90IiwgImV4aXN0cyJdXV0KKwkJCSJmaWVsZHMiOiBbIm5hbWUiXQogCQl9XQogCUVORAogCQpkaWZmIC0tZ2l0IGEvdC90NzUxOS9mc21vbml0b3Itd2F0Y2htYW4tdjIgYi90L3Q3NTE5L2ZzbW9uaXRvci13YXRjaG1hbi12MgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNGVkMGFhCi0tLSAvZGV2L251bGwKKysrIGIvdC90NzUxOS9mc21vbml0b3Itd2F0Y2htYW4tdjIKQEAgLTAsMCArMSwxNzMgQEAKKyMhL3Vzci9iaW4vcGVybAorCit1c2Ugc3RyaWN0OwordXNlIHdhcm5pbmdzOwordXNlIElQQzo6T3BlbjI7CisKKyMgQW4gZXhhbXBsZSBob29rIHNjcmlwdCB0byBpbnRlZ3JhdGUgV2F0Y2htYW4KKyMgKGh0dHBzOi8vZmFjZWJvb2suZ2l0aHViLmlvL3dhdGNobWFuLykgd2l0aCBnaXQgdG8gc3BlZWQgdXAgZGV0ZWN0aW5nCisjIG5ldyBhbmQgbW9kaWZpZWQgZmlsZXMuCisjCisjIFRoZSBob29rIGlzIHBhc3NlZCBhIHZlcnNpb24gKGN1cnJlbnRseSAyKSBhbmQgbGFzdCB1cGRhdGUgdG9rZW4KKyMgZm9ybWF0dGVkIGFzIGEgc3RyaW5nIGFuZCBvdXRwdXRzIHRvIHN0ZG91dCBhIG5ldyB1cGRhdGUgdG9rZW4gYW5kCisjIGFsbCBmaWxlcyB0aGF0IGhhdmUgYmVlbiBtb2RpZmllZCBzaW5jZSB0aGUgdXBkYXRlIHRva2VuLiBQYXRocyBtdXN0CisjIGJlIHJlbGF0aXZlIHRvIHRoZSByb290IG9mIHRoZSB3b3JraW5nIHRyZWUgYW5kIHNlcGFyYXRlZCBieSBhIHNpbmdsZSBOVUwuCisjCisjIFRvIGVuYWJsZSB0aGlzIGhvb2ssIHJlbmFtZSB0aGlzIGZpbGUgdG8gInF1ZXJ5LXdhdGNobWFuIiBhbmQgc2V0CisjICdnaXQgY29uZmlnIGNvcmUuZnNtb25pdG9yIC5naXQvaG9va3MvcXVlcnktd2F0Y2htYW4nCisjCitteSAoJHZlcnNpb24sICRsYXN0X3VwZGF0ZV90b2tlbikgPSBAQVJHVjsKKworIyBVbmNvbW1lbnQgZm9yIGRlYnVnZ2luZworIyBwcmludCBTVERFUlIgIiQwICR2ZXJzaW9uICRsYXN0X3VwZGF0ZV90b2tlblxuIjsKKworIyBDaGVjayB0aGUgaG9vayBpbnRlcmZhY2UgdmVyc2lvbgoraWYgKCR2ZXJzaW9uIG5lIDIpIHsKKwlkaWUgIlVuc3VwcG9ydGVkIHF1ZXJ5LWZzbW9uaXRvciBob29rIHZlcnNpb24gJyR2ZXJzaW9uJy5cbiIgLgorCSAgICAiRmFsbGluZyBiYWNrIHRvIHNjYW5uaW5nLi4uXG4iOworfQorCitteSAkZ2l0X3dvcmtfdHJlZSA9IGdldF93b3JraW5nX2RpcigpOworCitteSAkcmV0cnkgPSAxOworCitteSAkanNvbl9wa2c7CitldmFsIHsKKwlyZXF1aXJlIEpTT046OlhTOworCSRqc29uX3BrZyA9ICJKU09OOjpYUyI7CisJMTsKK30gb3IgZG8geworCXJlcXVpcmUgSlNPTjo6UFA7CisJJGpzb25fcGtnID0gIkpTT046OlBQIjsKK307CisKK2xhdW5jaF93YXRjaG1hbigpOworCitzdWIgbGF1bmNoX3dhdGNobWFuIHsKKwlteSAkbyA9IHdhdGNobWFuX3F1ZXJ5KCk7CisJaWYgKGlzX3dvcmtfdHJlZV93YXRjaGVkKCRvKSkgeworCQlvdXRwdXRfcmVzdWx0KCRvLT57Y2xvY2t9LCBAeyRvLT57ZmlsZXN9fSk7CisJfQorfQorCitzdWIgb3V0cHV0X3Jlc3VsdCB7CisJbXkgKCRjbG9ja2lkLCBAZmlsZXMpID0gQF87CisKKwkjIFVuY29tbWVudCBmb3IgZGVidWdnaW5nIHdhdGNobWFuIG91dHB1dAorCSMgb3BlbiAobXkgJGZoLCAiPiIsICIuZ2l0L3dhdGNobWFuLW91dHB1dC5vdXQiKTsKKwkjIGJpbm1vZGUgJGZoLCAiOnV0ZjgiOworCSMgcHJpbnQgJGZoICIkY2xvY2tpZFxuQGZpbGVzXG4iOworCSMgY2xvc2UgJGZoOworCisJYmlubW9kZSBTVERPVVQsICI6dXRmOCI7CisJcHJpbnQgJGNsb2NraWQ7CisJcHJpbnQgIlwwIjsKKwlsb2NhbCAkLCA9ICJcMCI7CisJcHJpbnQgQGZpbGVzOworfQorCitzdWIgd2F0Y2htYW5fY2xvY2sgeworCW15ICRyZXNwb25zZSA9IHF4L3dhdGNobWFuIGNsb2NrICIkZ2l0X3dvcmtfdHJlZSIvOworCWRpZSAiRmFpbGVkIHRvIGdldCBjbG9jayBpZCBvbiAnJGdpdF93b3JrX3RyZWUnLlxuIiAuCisJCSJGYWxsaW5nIGJhY2sgdG8gc2Nhbm5pbmcuLi5cbiIgaWYgJD8gIT0gMDsKKworCXJldHVybiAkanNvbl9wa2ctPm5ldy0+dXRmOC0+ZGVjb2RlKCRyZXNwb25zZSk7Cit9CisKK3N1YiB3YXRjaG1hbl9xdWVyeSB7CisJbXkgJHBpZCA9IG9wZW4yKFwqQ0hMRF9PVVQsIFwqQ0hMRF9JTiwgJ3dhdGNobWFuIC1qIC0tbm8tcHJldHR5JykKKwlvciBkaWUgIm9wZW4yKCkgZmFpbGVkOiAkIVxuIiAuCisJIkZhbGxpbmcgYmFjayB0byBzY2FubmluZy4uLlxuIjsKKworCSMgSW4gdGhlIHF1ZXJ5IGV4cHJlc3Npb24gYmVsb3cgd2UncmUgYXNraW5nIGZvciBuYW1lcyBvZiBmaWxlcyB0aGF0CisJIyBjaGFuZ2VkIHNpbmNlICRsYXN0X3VwZGF0ZV90b2tlbiBidXQgbm90IGZyb20gdGhlIC5naXQgZm9sZGVyLgorCSMKKwkjIFRvIGFjY29tcGxpc2ggdGhpcywgd2UncmUgdXNpbmcgdGhlICJzaW5jZSIgZ2VuZXJhdG9yIHRvIHVzZSB0aGUKKwkjIHJlY2VuY3kgaW5kZXggdG8gc2VsZWN0IGNhbmRpZGF0ZSBub2RlcyBhbmQgImZpZWxkcyIgdG8gbGltaXQgdGhlCisJIyBvdXRwdXQgdG8gZmlsZSBuYW1lcyBvbmx5LiBUaGVuIHdlJ3JlIHVzaW5nIHRoZSAiZXhwcmVzc2lvbiIgdGVybSB0bworCSMgZnVydGhlciBjb25zdHJhaW4gdGhlIHJlc3VsdHMuCisJaWYgKHN1YnN0cigkbGFzdF91cGRhdGVfdG9rZW4sIDAsIDEpIGVxICJjIikgeworCQkkbGFzdF91cGRhdGVfdG9rZW4gPSAiXCIkbGFzdF91cGRhdGVfdG9rZW5cIiI7CisJfQorCW15ICRxdWVyeSA9IDw8IglFTkQiOworCQlbInF1ZXJ5IiwgIiRnaXRfd29ya190cmVlIiwgeworCQkJInNpbmNlIjogJGxhc3RfdXBkYXRlX3Rva2VuLAorCQkJImZpZWxkcyI6IFsibmFtZSJdLAorCQkJImV4cHJlc3Npb24iOiBbIm5vdCIsIFsiZGlybmFtZSIsICIuZ2l0Il1dCisJCX1dCisJRU5ECisKKwkjIFVuY29tbWVudCBmb3IgZGVidWdnaW5nIHRoZSB3YXRjaG1hbiBxdWVyeQorCSMgb3BlbiAobXkgJGZoLCAiPiIsICIuZ2l0L3dhdGNobWFuLXF1ZXJ5Lmpzb24iKTsKKwkjIHByaW50ICRmaCAkcXVlcnk7CisJIyBjbG9zZSAkZmg7CisKKwlwcmludCBDSExEX0lOICRxdWVyeTsKKwljbG9zZSBDSExEX0lOOworCW15ICRyZXNwb25zZSA9IGRvIHtsb2NhbCAkLzsgPENITERfT1VUPn07CisKKwkjIFVuY29tbWVudCBmb3IgZGVidWdnaW5nIHRoZSB3YXRjaCByZXNwb25zZQorCSMgb3BlbiAoJGZoLCAiPiIsICIuZ2l0L3dhdGNobWFuLXJlc3BvbnNlLmpzb24iKTsKKwkjIHByaW50ICRmaCAkcmVzcG9uc2U7CisJIyBjbG9zZSAkZmg7CisKKwlkaWUgIldhdGNobWFuOiBjb21tYW5kIHJldHVybmVkIG5vIG91dHB1dC5cbiIgLgorCSJGYWxsaW5nIGJhY2sgdG8gc2Nhbm5pbmcuLi5cbiIgaWYgJHJlc3BvbnNlIGVxICIiOworCWRpZSAiV2F0Y2htYW46IGNvbW1hbmQgcmV0dXJuZWQgaW52YWxpZCBvdXRwdXQ6ICRyZXNwb25zZVxuIiAuCisJIkZhbGxpbmcgYmFjayB0byBzY2FubmluZy4uLlxuIiB1bmxlc3MgJHJlc3BvbnNlID1+IC9eXHsvOworCisJcmV0dXJuICRqc29uX3BrZy0+bmV3LT51dGY4LT5kZWNvZGUoJHJlc3BvbnNlKTsKK30KKworc3ViIGlzX3dvcmtfdHJlZV93YXRjaGVkIHsKKwlteSAoJG91dHB1dCkgPSBAXzsKKwlteSAkZXJyb3IgPSAkb3V0cHV0LT57ZXJyb3J9OworCWlmICgkcmV0cnkgPiAwIGFuZCAkZXJyb3IgYW5kICRlcnJvciA9fiBtL3VuYWJsZSB0byByZXNvbHZlIHJvb3QgLiogZGlyZWN0b3J5ICguKikgaXMgbm90IHdhdGNoZWQvKSB7CisJCSRyZXRyeS0tOworCQlteSAkcmVzcG9uc2UgPSBxeC93YXRjaG1hbiB3YXRjaCAiJGdpdF93b3JrX3RyZWUiLzsKKwkJZGllICJGYWlsZWQgdG8gbWFrZSB3YXRjaG1hbiB3YXRjaCAnJGdpdF93b3JrX3RyZWUnLlxuIiAuCisJCSAgICAiRmFsbGluZyBiYWNrIHRvIHNjYW5uaW5nLi4uXG4iIGlmICQ/ICE9IDA7CisJCSRvdXRwdXQgPSAkanNvbl9wa2ctPm5ldy0+dXRmOC0+ZGVjb2RlKCRyZXNwb25zZSk7CisJCSRlcnJvciA9ICRvdXRwdXQtPntlcnJvcn07CisJCWRpZSAiV2F0Y2htYW46ICRlcnJvci5cbiIgLgorCQkiRmFsbGluZyBiYWNrIHRvIHNjYW5uaW5nLi4uXG4iIGlmICRlcnJvcjsKKworCQkjIFVuY29tbWVudCBmb3IgZGVidWdnaW5nIHdhdGNobWFuIG91dHB1dAorCQkjIG9wZW4gKG15ICRmaCwgIj4iLCAiLmdpdC93YXRjaG1hbi1vdXRwdXQub3V0Iik7CisJCSMgY2xvc2UgJGZoOworCisJCSMgV2F0Y2htYW4gd2lsbCBhbHdheXMgcmV0dXJuIGFsbCBmaWxlcyBvbiB0aGUgZmlyc3QgcXVlcnkgc28KKwkJIyByZXR1cm4gdGhlIGZhc3QgImV2ZXJ5dGhpbmcgaXMgZGlydHkiIGZsYWcgdG8gZ2l0IGFuZCBkbyB0aGUKKwkJIyBXYXRjaG1hbiBxdWVyeSBqdXN0IHRvIGdldCBpdCBvdmVyIHdpdGggbm93IHNvIHdlIHdvbid0IHBheQorCQkjIHRoZSBjb3N0IGluIGdpdCB0byBsb29rIHVwIGVhY2ggaW5kaXZpZHVhbCBmaWxlLgorCQlteSAkbyA9IHdhdGNobWFuX2Nsb2NrKCk7CisJCSRlcnJvciA9ICRvdXRwdXQtPntlcnJvcn07CisKKwkJZGllICJXYXRjaG1hbjogJGVycm9yLlxuIiAuCisJCSJGYWxsaW5nIGJhY2sgdG8gc2Nhbm5pbmcuLi5cbiIgaWYgJGVycm9yOworCisJCW91dHB1dF9yZXN1bHQoJG8tPntjbG9ja30sICgiLyIpKTsKKwkJJGxhc3RfdXBkYXRlX3Rva2VuID0gJG8tPntjbG9ja307CisKKwkJZXZhbCB7IGxhdW5jaF93YXRjaG1hbigpIH07CisJCXJldHVybiAwOworCX0KKworCWRpZSAiV2F0Y2htYW46ICRlcnJvci5cbiIgLgorCSJGYWxsaW5nIGJhY2sgdG8gc2Nhbm5pbmcuLi5cbiIgaWYgJGVycm9yOworCisJcmV0dXJuIDE7Cit9CisKK3N1YiBnZXRfd29ya2luZ19kaXIgeworCW15ICR3b3JraW5nX2RpcjsKKwlpZiAoJF5PID1+ICdtc3lzJyB8fCAkXk8gPX4gJ2N5Z3dpbicpIHsKKwkJJHdvcmtpbmdfZGlyID0gV2luMzI6OkdldEN3ZCgpOworCQkkd29ya2luZ19kaXIgPX4gdHIvXFwvXC8vOworCX0gZWxzZSB7CisJCXJlcXVpcmUgQ3dkOworCQkkd29ya2luZ19kaXIgPSBDd2Q6OmN3ZCgpOworCX0KKworCXJldHVybiAkd29ya2luZ19kaXI7Cit9CmRpZmYgLS1naXQgYS90L3Q3NTI1LXN0YXR1cy1yZW5hbWUuc2ggYi90L3Q3NTI1LXN0YXR1cy1yZW5hbWUuc2gKaW5kZXggZWY4YjFiMy4uYTYyNzM2ZCAxMDA3NTUKLS0tIGEvdC90NzUyNS1zdGF0dXMtcmVuYW1lLnNoCisrKyBiL3QvdDc1MjUtc3RhdHVzLXJlbmFtZS5zaApAQCAtODQsNyArODQsNyBAQAogCXRlc3RfaTE4bmdyZXAgImRlbGV0ZWQ6IiBhY3R1YWwgJiYKIAl0ZXN0X2kxOG5ncmVwICJuZXcgZmlsZToiIGFjdHVhbCAmJgogCi0JZ2l0IHN0YXR1cyAtLWZpbmQtcmVuYW1lPTEwMCUgPmFjdHVhbCAmJgorCWdpdCBzdGF0dXMgLS1maW5kLXJlbmFtZXM9MTAwJSA+YWN0dWFsICYmCiAJdGVzdF9pMThuZ3JlcCAiZGVsZXRlZDoiIGFjdHVhbCAmJgogCXRlc3RfaTE4bmdyZXAgIm5ldyBmaWxlOiIgYWN0dWFsCiAnCkBAIC05MywxMSArOTMsMTEgQEAKIAlnaXQgc3RhdHVzIC1NPTAxJSA+YWN0dWFsICYmCiAJdGVzdF9pMThuZ3JlcCAicmVuYW1lZDoiIGFjdHVhbCAmJgogCi0JZ2l0IHN0YXR1cyAtLWZpbmQtcmVuYW1lPTAxJSA+YWN0dWFsICYmCisJZ2l0IHN0YXR1cyAtLWZpbmQtcmVuYW1lcz0wMSUgPmFjdHVhbCAmJgogCXRlc3RfaTE4bmdyZXAgInJlbmFtZWQ6IiBhY3R1YWwKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnY29waWVzIG5vdCBvdmVycmlkZGVuIGJ5IGZpbmQtcmVuYW1lJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjb3BpZXMgbm90IG92ZXJyaWRkZW4gYnkgZmluZC1yZW5hbWVzJyAnCiAJY3AgcmVuYW1lZCBjb3B5ICYmCiAJZ2l0IGFkZCBjb3B5ICYmCiAKQEAgLTEwNSw3ICsxMDUsNyBAQAogCXRlc3RfaTE4bmdyZXAgImNvcGllZDoiIGFjdHVhbCAmJgogCXRlc3RfaTE4bmdyZXAgInJlbmFtZWQ6IiBhY3R1YWwgJiYKIAotCWdpdCAtYyBzdGF0dXMucmVuYW1lcz1jb3BpZXMgc3RhdHVzIC0tZmluZC1yZW5hbWU9MDElID5hY3R1YWwgJiYKKwlnaXQgLWMgc3RhdHVzLnJlbmFtZXM9Y29waWVzIHN0YXR1cyAtLWZpbmQtcmVuYW1lcz0wMSUgPmFjdHVhbCAmJgogCXRlc3RfaTE4bmdyZXAgImNvcGllZDoiIGFjdHVhbCAmJgogCXRlc3RfaTE4bmdyZXAgInJlbmFtZWQ6IiBhY3R1YWwKICcKZGlmZiAtLWdpdCBhL3QvdDc1MjYtY29tbWl0LXBhdGhzcGVjLWZpbGUuc2ggYi90L3Q3NTI2LWNvbW1pdC1wYXRoc3BlYy1maWxlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVmYmU0N2UKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q3NTI2LWNvbW1pdC1wYXRoc3BlYy1maWxlLnNoCkBAIC0wLDAgKzEsMTY0IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nY29tbWl0IC0tcGF0aHNwZWMtZnJvbS1maWxlJworCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF90aWNrCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3Mgc2V0dXAgJworCXRlc3RfY29tbWl0IGZpbGUwICYmCisJZ2l0IHRhZyBjaGVja3BvaW50ICYmCisKKwllY2hvIEEgPmZpbGVBLnQgJiYKKwllY2hvIEIgPmZpbGVCLnQgJiYKKwllY2hvIEMgPmZpbGVDLnQgJiYKKwllY2hvIEQgPmZpbGVELnQgJiYKKwlnaXQgYWRkIGZpbGVBLnQgZmlsZUIudCBmaWxlQy50IGZpbGVELnQKKycKKworcmVzdG9yZV9jaGVja3BvaW50ICgpIHsKKwlnaXQgcmVzZXQgLS1zb2Z0IGNoZWNrcG9pbnQKK30KKwordmVyaWZ5X2V4cGVjdCAoKSB7CisJZ2l0IGRpZmYtdHJlZSAtLW5vLWNvbW1pdC1pZCAtLW5hbWUtc3RhdHVzIC1yIEhFQUQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKK30KKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnLS1wYXRoc3BlYy1mcm9tLWZpbGUgZnJvbSBzdGRpbicgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJZWNobyBmaWxlQS50IHwgZ2l0IGNvbW1pdCAtLXBhdGhzcGVjLWZyb20tZmlsZT0tIC1tICJDb21taXQiICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJQQlmaWxlQS50CisJRU9GCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICctLXBhdGhzcGVjLWZyb20tZmlsZSBmcm9tIGZpbGUnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCWVjaG8gZmlsZUEudCA+bGlzdCAmJgorCWdpdCBjb21taXQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9bGlzdCAtbSAiQ29tbWl0IiAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCUEJZmlsZUEudAorCUVPRgorCXZlcmlmeV9leHBlY3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnTlVMIGRlbGltaXRlcnMnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCXByaW50ZiAiZmlsZUEudFwwZmlsZUIudFwwIiB8IGdpdCBjb21taXQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9LSAtLXBhdGhzcGVjLWZpbGUtbnVsIC1tICJDb21taXQiICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJQQlmaWxlQS50CisJQQlmaWxlQi50CisJRU9GCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdMRiBkZWxpbWl0ZXJzJyAnCisJcmVzdG9yZV9jaGVja3BvaW50ICYmCisKKwlwcmludGYgImZpbGVBLnRcbmZpbGVCLnRcbiIgfCBnaXQgY29tbWl0IC0tcGF0aHNwZWMtZnJvbS1maWxlPS0gLW0gIkNvbW1pdCIgJiYKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlBCWZpbGVBLnQKKwlBCWZpbGVCLnQKKwlFT0YKKwl2ZXJpZnlfZXhwZWN0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vIHRyYWlsaW5nIGRlbGltaXRlcicgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJcHJpbnRmICJmaWxlQS50XG5maWxlQi50IiB8IGdpdCBjb21taXQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9LSAtbSAiQ29tbWl0IiAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCUEJZmlsZUEudAorCUEJZmlsZUIudAorCUVPRgorCXZlcmlmeV9leHBlY3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnQ1JMRiBkZWxpbWl0ZXJzJyAnCisJcmVzdG9yZV9jaGVja3BvaW50ICYmCisKKwlwcmludGYgImZpbGVBLnRcclxuZmlsZUIudFxyXG4iIHwgZ2l0IGNvbW1pdCAtLXBhdGhzcGVjLWZyb20tZmlsZT0tIC1tICJDb21taXQiICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJQQlmaWxlQS50CisJQQlmaWxlQi50CisJRU9GCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdxdW90ZXMnICcKKwlyZXN0b3JlX2NoZWNrcG9pbnQgJiYKKworCWNhdCA+bGlzdCA8PC1cRU9GICYmCisJImZpbGVcMTAxLnQiCisJRU9GCisKKwlnaXQgY29tbWl0IC0tcGF0aHNwZWMtZnJvbS1maWxlPWxpc3QgLW0gIkNvbW1pdCIgJiYKKworCWNhdCA+ZXhwZWN0IDw8LVxFT0YgJiYKKwlBCWZpbGVBLnQKKwlFT0YKKwl2ZXJpZnlfZXhwZWN0IGV4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdxdW90ZXMgbm90IGNvbXBhdGlibGUgd2l0aCAtLXBhdGhzcGVjLWZpbGUtbnVsJyAnCisJcmVzdG9yZV9jaGVja3BvaW50ICYmCisKKwljYXQgPmxpc3QgPDwtXEVPRiAmJgorCSJmaWxlXDEwMS50IgorCUVPRgorCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbW1pdCAtLXBhdGhzcGVjLWZyb20tZmlsZT1saXN0IC0tcGF0aHNwZWMtZmlsZS1udWwgLW0gIkNvbW1pdCIKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnb25seSB0b3VjaGVzIHdoYXQgd2FzIGxpc3RlZCcgJworCXJlc3RvcmVfY2hlY2twb2ludCAmJgorCisJcHJpbnRmICJmaWxlQi50XG5maWxlQy50XG4iIHwgZ2l0IGNvbW1pdCAtLXBhdGhzcGVjLWZyb20tZmlsZT0tIC1tICJDb21taXQiICYmCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJQQlmaWxlQi50CisJQQlmaWxlQy50CisJRU9GCisJdmVyaWZ5X2V4cGVjdAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdlcnJvciBjb25kaXRpb25zJyAnCisJcmVzdG9yZV9jaGVja3BvaW50ICYmCisJZWNobyBmaWxlQS50ID5saXN0ICYmCisJPmVtcHR5X2xpc3QgJiYKKworCXRlc3RfbXVzdF9mYWlsIGdpdCBjb21taXQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9bGlzdCAtLWludGVyYWN0aXZlIC1tICJDb21taXQiIDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAtZSAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIiBlcnIgJiYKKworCXRlc3RfbXVzdF9mYWlsIGdpdCBjb21taXQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9bGlzdCAtLXBhdGNoIC1tICJDb21taXQiIDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAtZSAiLS1wYXRoc3BlYy1mcm9tLWZpbGUgaXMgaW5jb21wYXRpYmxlIHdpdGggLS1pbnRlcmFjdGl2ZS8tLXBhdGNoIiBlcnIgJiYKKworCXRlc3RfbXVzdF9mYWlsIGdpdCBjb21taXQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9bGlzdCAtLWFsbCAtbSAiQ29tbWl0IiAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgLWUgIi0tcGF0aHNwZWMtZnJvbS1maWxlIHdpdGggLWEgZG9lcyBub3QgbWFrZSBzZW5zZSIgZXJyICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29tbWl0IC0tcGF0aHNwZWMtZnJvbS1maWxlPWxpc3QgLW0gIkNvbW1pdCIgLS0gZmlsZUEudCAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgLWUgIi0tcGF0aHNwZWMtZnJvbS1maWxlIGlzIGluY29tcGF0aWJsZSB3aXRoIHBhdGhzcGVjIGFyZ3VtZW50cyIgZXJyICYmCisKKwl0ZXN0X211c3RfZmFpbCBnaXQgY29tbWl0IC0tcGF0aHNwZWMtZmlsZS1udWwgLW0gIkNvbW1pdCIgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwIC1lICItLXBhdGhzcGVjLWZpbGUtbnVsIHJlcXVpcmVzIC0tcGF0aHNwZWMtZnJvbS1maWxlIiBlcnIgJiYKKworCXRlc3RfbXVzdF9mYWlsIGdpdCBjb21taXQgLS1wYXRoc3BlYy1mcm9tLWZpbGU9ZW1wdHlfbGlzdCAtLWluY2x1ZGUgLW0gIkNvbW1pdCIgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwIC1lICJObyBwYXRocyB3aXRoIC0taW5jbHVkZS8tLW9ubHkgZG9lcyBub3QgbWFrZSBzZW5zZS4iIGVyciAmJgorCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNvbW1pdCAtLXBhdGhzcGVjLWZyb20tZmlsZT1lbXB0eV9saXN0IC0tb25seSAtbSAiQ29tbWl0IiAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgLWUgIk5vIHBhdGhzIHdpdGggLS1pbmNsdWRlLy0tb25seSBkb2VzIG5vdCBtYWtlIHNlbnNlLiIgZXJyCisnCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90NzYwMC1tZXJnZS5zaCBiL3QvdDc2MDAtbWVyZ2Uuc2gKaW5kZXggMTA2MTQ4Mi4uMTMyNjA4OCAxMDA3NTUKLS0tIGEvdC90NzYwMC1tZXJnZS5zaAorKysgYi90L3Q3NjAwLW1lcmdlLnNoCkBAIC0yMzMsMjAgKzIzMyw2NSBAQAogCWNhdCByZXN1bHQuOXogPmZpbGUgJiYKIAlnaXQgY29tbWl0IC0tbm8tZWRpdCAtYSAmJgogCi0JewotCQljYXQgPDwtRU9GCi0JCVNxdWFzaGVkIGNvbW1pdCBvZiB0aGUgZm9sbG93aW5nOgorCWNhdCA+ZXhwZWN0IDw8LUVPRiAmJgorCVNxdWFzaGVkIGNvbW1pdCBvZiB0aGUgZm9sbG93aW5nOgogCi0JCSQoZ2l0IHNob3cgLXMgYzcpCisJJChnaXQgc2hvdyAtcyBjNykKIAotCQkjIENvbmZsaWN0czoKLQkJIwlmaWxlCi0JCUVPRgotCX0gPmV4cGVjdCAmJgotCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCB8IHNlZCAtZSAnMSwvXiQvZCcgPmFjdHVhbCAmJgorCSMgQ29uZmxpY3RzOgorCSMJZmlsZQorCUVPRgorCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCA+cmF3ICYmCisJc2VkIC1lICcxLC9eJC9kJyByYXcgPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWVyZ2UgYzMgd2l0aCBjNyB3aXRoIGNvbW1pdC5jbGVhbnVwID0gc2Npc3NvcnMnICcKKwlnaXQgY29uZmlnIGNvbW1pdC5jbGVhbnVwIHNjaXNzb3JzICYmCisJZ2l0IHJlc2V0IC0taGFyZCBjMyAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBjNyAmJgorCWNhdCByZXN1bHQuOXogPmZpbGUgJiYKKwlnaXQgY29tbWl0IC0tbm8tZWRpdCAtYSAmJgorCisJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgorCU1lcmdlIHRhZyAnIiciJ2M3JyInIicKKworCSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tID44IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCSMgRG8gbm90IG1vZGlmeSBvciByZW1vdmUgdGhlIGxpbmUgYWJvdmUuCisJIyBFdmVyeXRoaW5nIGJlbG93IGl0IHdpbGwgYmUgaWdub3JlZC4KKwkjCisJIyBDb25mbGljdHM6CisJIwlmaWxlCisJRU9GCisJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEID5yYXcgJiYKKwlzZWQgLWUgJzEsL14kL2QnIHJhdyA+YWN0dWFsICYmCisJdGVzdF9pMThuY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWVyZ2UgYzMgd2l0aCBjNyB3aXRoIC0tc3F1YXNoIGNvbW1pdC5jbGVhbnVwID0gc2Npc3NvcnMnICcKKwlnaXQgY29uZmlnIGNvbW1pdC5jbGVhbnVwIHNjaXNzb3JzICYmCisJZ2l0IHJlc2V0IC0taGFyZCBjMyAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSAtLXNxdWFzaCBjNyAmJgorCWNhdCByZXN1bHQuOXogPmZpbGUgJiYKKwlnaXQgY29tbWl0IC0tbm8tZWRpdCAtYSAmJgorCisJY2F0ID5leHBlY3QgPDwtRU9GICYmCisJU3F1YXNoZWQgY29tbWl0IG9mIHRoZSBmb2xsb3dpbmc6CisKKwkkKGdpdCBzaG93IC1zIGM3KQorCisJIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gPjggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisJIyBEbyBub3QgbW9kaWZ5IG9yIHJlbW92ZSB0aGUgbGluZSBhYm92ZS4KKwkjIEV2ZXJ5dGhpbmcgYmVsb3cgaXQgd2lsbCBiZSBpZ25vcmVkLgorCSMKKwkjIENvbmZsaWN0czoKKwkjCWZpbGUKKwlFT0YKKwlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgPnJhdyAmJgorCXNlZCAtZSAnMSwvXiQvZCcgcmF3ID5hY3R1YWwgJiYKKwl0ZXN0X2kxOG5jbXAgZXhwZWN0IGFjdHVhbAorJworCiB0ZXN0X2RlYnVnICdnaXQgbG9nIC0tZ3JhcGggLS1kZWNvcmF0ZSAtLW9uZWxpbmUgLS1hbGwnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21lcmdlIGMxIHdpdGggYzIgYW5kIGMzJyAnCkBAIC01MjUsNiArNTcwLDEyIEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIC0tbm8tZmYgLS1zcXVhc2ggYzEKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tYmluaW5nIC0tc3F1YXNoIGFuZCAtLWNvbW1pdCBpcyByZWZ1c2VkJyAnCisJZ2l0IHJlc2V0IC0taGFyZCBjMCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSAtLXNxdWFzaCAtLWNvbW1pdCBjMSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSAtLWNvbW1pdCAtLXNxdWFzaCBjMQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdvcHRpb24gLS1mZi1vbmx5IG92ZXJ3cml0ZXMgLS1uby1mZicgJwogCWdpdCBtZXJnZSAtLW5vLWZmIC0tZmYtb25seSBjMSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSAtLW5vLWZmIC0tZmYtb25seSBjMgpAQCAtNjgwLDEwICs3MzEsMTAgQEAKICgKIAllY2hvICJNZXJnZSB3b3JrIGRvbmUgb24gdGhlIHNpZGUgYnJhbmNoIGMxIgogCWVjaG8KLQljYXQgPCIkMSIKKwljYXQgIiQxIgogKSA+IiQxLnRtcCIgJiYgbXYgIiQxLnRtcCIgIiQxIgogIyBzdHJpcCBjb21tZW50cyBhbmQgYmxhbmsgbGluZXMgZnJvbSBlbmQgb2YgbWVzc2FnZQotc2VkIC1lICcvXiMvZCcgPCAiJDEiIHwgc2VkIC1lIDphIC1lICcvXlxuKiQveyRkO047YmEnIC1lICd9JyA+IGV4cGVjdGVkCitzZWQgLWUgJy9eIy9kJyAiJDEiIHwgc2VkIC1lIDphIC1lICcvXlxuKiQveyRkO047YmEnIC1lICd9JyA+ZXhwZWN0ZWQKIEVPRgogY2htb2QgNzU1IGVkaXRvcgogCkBAIC03NjgsMTQgKzgxOSwxNCBAQAogCWdpdCBjb21taXQgLW0gYmFzZSAmJgogCiAJIyBvbmUgc2lkZSBjaGFuZ2VzIHRoZSBmaXJzdCBsaW5lIG9mIGVhY2ggdG8gIm1hc3RlciIKLQlzZWQgcy8tMS8tbWFzdGVyLyA8ZmlsZSA+dG1wICYmCisJc2VkIHMvLTEvLW1hc3Rlci8gZmlsZSA+dG1wICYmCiAJbXYgdG1wIGZpbGUgJiYKIAlnaXQgY29tbWl0IC1hbSBtYXN0ZXIgJiYKIAogCSMgYW5kIHRoZSBvdGhlciB0byAic2lkZSI7IG1lcmdpbmcgdGhlIHR3byB3aWxsCiAJIyB5aWVsZCAyNTYgc2VwYXJhdGUgY29uZmxpY3RzCiAJZ2l0IGNoZWNrb3V0IC1iIHNpZGUgSEVBRF4gJiYKLQlzZWQgcy8tMS8tc2lkZS8gPGZpbGUgPnRtcCAmJgorCXNlZCBzLy0xLy1zaWRlLyBmaWxlID50bXAgJiYKIAltdiB0bXAgZmlsZSAmJgogCWdpdCBjb21taXQgLWFtIHNpZGUKICcKQEAgLTgxNCw3ICs4NjUsNyBAQAogdGVzdF9leHBlY3Rfc3VjY2VzcyBFWEVDS0VFUFNQSUQgJ2tpbGxlZCBtZXJnZSBjYW4gYmUgY29tcGxldGVkIHdpdGggLS1jb250aW51ZScgJwogCWdpdCByZXNldCAtLWhhcmQgYzAgJiYKIAkhICIkU0hFTExfUEFUSCIgLWMgJ1wnJwotCSAgZWNobyBraWxsIC1URVJNICQkID4+IC5naXQvRkFLRV9FRElUT1IKKwkgIGVjaG8ga2lsbCAtVEVSTSAkJCA+Pi5naXQvRkFLRV9FRElUT1IKIAkgIEdJVF9FRElUT1I9LmdpdC9GQUtFX0VESVRPUgogCSAgZXhwb3J0IEdJVF9FRElUT1IKIAkgIGV4ZWMgZ2l0IG1lcmdlIC0tbm8tZmYgLS1lZGl0IGMxJ1wnJyAmJgpAQCAtODIyLDQgKzg3Myw1MCBAQAogCXZlcmlmeV9wYXJlbnRzICRjMCAkYzEKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnbWVyZ2UgLS1xdWl0JyAnCisJZ2l0IGluaXQgbWVyZ2UtcXVpdCAmJgorCSgKKwkJY2QgbWVyZ2UtcXVpdCAmJgorCQl0ZXN0X2NvbW1pdCBiYXNlICYmCisJCWVjaG8gb25lID4+YmFzZS50ICYmCisJCWdpdCBjb21taXQgLWFtIG9uZSAmJgorCQlnaXQgYnJhbmNoIG9uZSAmJgorCQlnaXQgY2hlY2tvdXQgYmFzZSAmJgorCQllY2hvIHR3byA+PmJhc2UudCAmJgorCQlnaXQgY29tbWl0IC1hbSB0d28gJiYKKwkJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIHJlcmVyZS5lbmFibGVkPXRydWUgbWVyZ2Ugb25lICYmCisJCXRlc3RfcGF0aF9pc19maWxlIC5naXQvTUVSR0VfSEVBRCAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSAuZ2l0L01FUkdFX01PREUgJiYKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgLmdpdC9NRVJHRV9NU0cgJiYKKwkJZ2l0IHJlcmVyZSBzdGF0dXMgPnJlcmVyZS5iZWZvcmUgJiYKKwkJZ2l0IG1lcmdlIC0tcXVpdCAmJgorCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyAuZ2l0L01FUkdFX0hFQUQgJiYKKwkJdGVzdF9wYXRoX2lzX21pc3NpbmcgLmdpdC9NRVJHRV9NT0RFICYmCisJCXRlc3RfcGF0aF9pc19taXNzaW5nIC5naXQvTUVSR0VfTVNHICYmCisJCWdpdCByZXJlcmUgc3RhdHVzID5yZXJlcmUuYWZ0ZXIgJiYKKwkJdGVzdF9tdXN0X2JlX2VtcHR5IHJlcmVyZS5hZnRlciAmJgorCQkhIHRlc3RfY21wIHJlcmVyZS5hZnRlciByZXJlcmUuYmVmb3JlCisJKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdtZXJnZSBzdWdnZXN0cyBtYXRjaGluZyByZW1vdGUgcmVmbmFtZScgJworCWdpdCBjb21taXQgLS1hbGxvdy1lbXB0eSAtbSBub3QtbG9jYWwgJiYKKwlnaXQgdXBkYXRlLXJlZiByZWZzL3JlbW90ZXMvb3JpZ2luL25vdC1sb2NhbCBIRUFEICYmCisJZ2l0IHJlc2V0IC0taGFyZCBIRUFEXiAmJgorCisJIyBUaGlzIGlzIHdoaXRlLWJveCB0ZXN0aW5nIGhhY2tlcnk7IHdlIGhhcHBlbiB0byBrbm93CisJIyB0aGF0IHJlYWRpbmcgcGFja2VkIHJlZnMgaXMgbW9yZSBwaWNreSBhYm91dCB0aGUgbWVtb3J5CisJIyBvd25lcnNoaXAgb2Ygc3RyaW5ncyB3ZSBwYXNzIHRvIGZvcl9lYWNoX3JlZigpIGNhbGxiYWNrcy4KKwlnaXQgcGFjay1yZWZzIC0tYWxsIC0tcHJ1bmUgJiYKKworCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBub3QtbG9jYWwgMj5zdGRlcnIgJiYKKwlncmVwIG9yaWdpbi9ub3QtbG9jYWwgc3RkZXJyCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3N1Z2dlc3RlZCBuYW1lcyBhcmUgbm90IGFtYmlndW91cycgJworCWdpdCB1cGRhdGUtcmVmIHJlZnMvaGVhZHMvb3JpZ2luL25vdC1sb2NhbCBIRUFEICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIG5vdC1sb2NhbCAyPnN0ZGVyciAmJgorCWdyZXAgcmVtb3Rlcy9vcmlnaW4vbm90LWxvY2FsIHN0ZGVycgorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDc2MDQtbWVyZ2UtY3VzdG9tLW1lc3NhZ2Uuc2ggYi90L3Q3NjA0LW1lcmdlLWN1c3RvbS1tZXNzYWdlLnNoCmluZGV4IDg5NjE5Y2YuLmNkNGY5NjAgMTAwNzU1Ci0tLSBhL3QvdDc2MDQtbWVyZ2UtY3VzdG9tLW1lc3NhZ2Uuc2gKKysrIGIvdC90NzYwNC1tZXJnZS1jdXN0b20tbWVzc2FnZS5zaApAQCAtMTYsMTYgKzE2LDE2IEBACiB9CiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAnCi0JZWNobyBjMCA+IGMwLmMgJiYKKwllY2hvIGMwID5jMC5jICYmCiAJZ2l0IGFkZCBjMC5jICYmCiAJZ2l0IGNvbW1pdCAtbSBjMCAmJgogCWdpdCB0YWcgYzAgJiYKLQllY2hvIGMxID4gYzEuYyAmJgorCWVjaG8gYzEgPmMxLmMgJiYKIAlnaXQgYWRkIGMxLmMgJiYKIAlnaXQgY29tbWl0IC1tIGMxICYmCiAJZ2l0IHRhZyBjMSAmJgogCWdpdCByZXNldCAtLWhhcmQgYzAgJiYKLQllY2hvIGMyID4gYzIuYyAmJgorCWVjaG8gYzIgPmMyLmMgJiYKIAlnaXQgYWRkIGMyLmMgJiYKIAlnaXQgY29tbWl0IC1tIGMyICYmCiAJZ2l0IHRhZyBjMiAmJgpAQCAtMzYsMTUgKzM2LDgwIEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdtZXJnZSBjMiB3aXRoIGEgY3VzdG9tIG1lc3NhZ2UnICcKIAlnaXQgcmVzZXQgLS1oYXJkIGMxICYmCiAJZ2l0IG1lcmdlIC1tICIkKGNhdCBleHAuc3ViamVjdCkiIGMyICYmCi0JZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgc2VkIC1lICIxLC9eJC9kIiA+YWN0dWFsICYmCisJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEID5yYXcgJiYKKwlzZWQgLWUgIjEsL14kL2QiIHJhdyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwLnN1YmplY3QgYWN0dWFsCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21lcmdlIC0tbG9nIGFwcGVuZHMgdG8gY3VzdG9tIG1lc3NhZ2UnICcKIAlnaXQgcmVzZXQgLS1oYXJkIGMxICYmCiAJZ2l0IG1lcmdlIC0tbG9nIC1tICIkKGNhdCBleHAuc3ViamVjdCkiIGMyICYmCi0JZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEIHwgc2VkIC1lICIxLC9eJC9kIiA+YWN0dWFsICYmCisJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEID5yYXcgJiYKKwlzZWQgLWUgIjEsL14kL2QiIHJhdyA+YWN0dWFsICYmCiAJdGVzdF9jbXAgZXhwLmxvZyBhY3R1YWwKICcKIAorbWVzZ193aXRoX2NvbW1lbnRfYW5kX25ld2xpbmVzPScKKyMgdGV4dAorCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3ByZXBhcmUgZmlsZSB3aXRoIGNvbW1lbnQgbGluZSBhbmQgdHJhaWxpbmcgbmV3bGluZXMnICAnCisJcHJpbnRmICIlcyIgIiRtZXNnX3dpdGhfY29tbWVudF9hbmRfbmV3bGluZXMiID5leHBlY3QKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnY2xlYW51cCBjb21taXQgbWVzc2FnZXMgKHZlcmJhdGltIG9wdGlvbiknICcKKwlnaXQgcmVzZXQgLS1oYXJkIGMxICYmCisJZ2l0IG1lcmdlIC0tY2xlYW51cD12ZXJiYXRpbSAtRiBleHBlY3QgYzIgJiYKKwlnaXQgY2F0LWZpbGUgY29tbWl0IEhFQUQgPnJhdyAmJgorCXNlZCAtZSAiMSwvXiQvZCIgcmF3ID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2NsZWFudXAgY29tbWl0IG1lc3NhZ2VzICh3aGl0ZXNwYWNlIG9wdGlvbiknICcKKwlnaXQgcmVzZXQgLS1oYXJkIGMxICYmCisJdGVzdF93cml0ZV9saW5lcyAiIiAiIyB0ZXh0IiAiIiA+dGV4dCAmJgorCWVjaG8gIiMgdGV4dCIgPmV4cGVjdCAmJgorCWdpdCBtZXJnZSAtLWNsZWFudXA9d2hpdGVzcGFjZSAtRiB0ZXh0IGMyICYmCisJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEID5yYXcgJiYKKwlzZWQgLWUgIjEsL14kL2QiIHJhdyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbGVhbnVwIG1lcmdlIG1lc3NhZ2VzIChzY2lzc29ycyBvcHRpb24pJyAnCisJZ2l0IHJlc2V0IC0taGFyZCBjMSAmJgorCWNhdCA+dGV4dCA8PC1cRU9GICYmCisKKwkjIHRvIGJlIGtlcHQKKworCSAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gPjggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisJIyB0byBiZSBrZXB0LCB0b28KKwkjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSA+OCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwl0byBiZSByZW1vdmVkCisJIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gPjggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisJdG8gYmUgcmVtb3ZlZCwgdG9vCisJRU9GCisKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJIyB0byBiZSBrZXB0CisKKwkgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tID44IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCSMgdG8gYmUga2VwdCwgdG9vCisJRU9GCisJZ2l0IG1lcmdlIC0tY2xlYW51cD1zY2lzc29ycyAtZSAtRiB0ZXh0IGMyICYmCisJZ2l0IGNhdC1maWxlIGNvbW1pdCBIRUFEID5yYXcgJiYKKwlzZWQgLWUgIjEsL14kL2QiIHJhdyA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbGVhbnVwIGNvbW1pdCBtZXNzYWdlcyAoc3RyaXAgb3B0aW9uKScgJworCWdpdCByZXNldCAtLWhhcmQgYzEgJiYKKwl0ZXN0X3dyaXRlX2xpbmVzICIiICIjIHRleHQiICJzYW1wbGUiICIiID50ZXh0ICYmCisJZWNobyBzYW1wbGUgPmV4cGVjdCAmJgorCWdpdCBtZXJnZSAtLWNsZWFudXA9c3RyaXAgLUYgdGV4dCBjMiAmJgorCWdpdCBjYXQtZmlsZSBjb21taXQgSEVBRCA+cmF3ICYmCisJc2VkIC1lICIxLC9eJC9kIiByYXcgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3NjEwLW1lcmdldG9vbC5zaCBiL3QvdDc2MTAtbWVyZ2V0b29sLnNoCmluZGV4IGE5ZmI5NzEuLmFkMjg4ZGQgMTAwNzU1Ci0tLSBhL3QvdDc2MTAtbWVyZ2V0b29sLnNoCisrKyBiL3QvdDc2MTAtbWVyZ2V0b29sLnNoCkBAIC0xMzAsMTggKzEzMCw3MSBAQAogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCIgJiYKIAlnaXQgY2hlY2tvdXQgLWIgdGVzdCR0ZXN0X2NvdW50IGJyYW5jaDEgJiYKIAlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtTiAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBtYXN0ZXIgPi9kZXYvbnVsbCAyPiYxICYmCi0JKCB5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIGJvdGggPi9kZXYvbnVsbCAyPiYxICkgJiYKLQkoIHllcyAiIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTEgZmlsZTEgKSAmJgotCSggeWVzICIiIHwgZ2l0IG1lcmdldG9vbCBmaWxlMiAic3BhY2VkIG5hbWUiID4vZGV2L251bGwgMj4mMSApICYmCi0JKCB5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIHN1YmRpci9maWxlMyA+L2Rldi9udWxsIDI+JjEgKSAmJgotCSggeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTExID4vZGV2L251bGwgMj4mMSApICYmCi0JKCB5ZXMgImQiIHwgZ2l0IG1lcmdldG9vbCBmaWxlMTIgPi9kZXYvbnVsbCAyPiYxICkgJiYKLQkoIHllcyAibCIgfCBnaXQgbWVyZ2V0b29sIHN1Ym1vZCA+L2Rldi9udWxsIDI+JjEgKSAmJgotCXRlc3QgIiQoY2F0IGZpbGUxKSIgPSAibWFzdGVyIHVwZGF0ZWQiICYmCi0JdGVzdCAiJChjYXQgZmlsZTIpIiA9ICJtYXN0ZXIgbmV3IiAmJgotCXRlc3QgIiQoY2F0IHN1YmRpci9maWxlMykiID0gIm1hc3RlciBuZXcgc3ViIiAmJgotCXRlc3QgIiQoY2F0IHN1Ym1vZC9iYXIpIiA9ICJicmFuY2gxIHN1Ym1vZHVsZSIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgbWFzdGVyICYmCisJeWVzICIiIHwgZ2l0IG1lcmdldG9vbCBib3RoICYmCisJeWVzICIiIHwgZ2l0IG1lcmdldG9vbCBmaWxlMSBmaWxlMSAmJgorCXllcyAiIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTIgInNwYWNlZCBuYW1lIiAmJgorCXllcyAiIiB8IGdpdCBtZXJnZXRvb2wgc3ViZGlyL2ZpbGUzICYmCisJeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTExICYmCisJeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTEyICYmCisJeWVzICJsIiB8IGdpdCBtZXJnZXRvb2wgc3VibW9kICYmCisJZWNobyAibWFzdGVyIHVwZGF0ZWQiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgZmlsZTEgJiYKKwllY2hvICJtYXN0ZXIgbmV3IiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGZpbGUyICYmCisJZWNobyAibWFzdGVyIG5ldyBzdWIiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3Qgc3ViZGlyL2ZpbGUzICYmCisJZWNobyAiYnJhbmNoMSBzdWJtb2R1bGUiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3Qgc3VibW9kL2JhciAmJgorCWdpdCBjb21taXQgLW0gImJyYW5jaDEgcmVzb2x2ZWQgd2l0aCBtZXJnZXRvb2wiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2d1aSBtZXJnZXRvb2wnICcKKwl0ZXN0X2NvbmZpZyBtZXJnZS5ndWl0b29sIG15Z3VpdG9vbCAmJgorCXRlc3RfY29uZmlnIG1lcmdldG9vbC5teWd1aXRvb2wuY21kICIocHJpbnRmIFwiZ3VpIFwiICYmIGNhdCBcIlwkUkVNT1RFXCIpID5cIlwkTUVSR0VEXCIiICYmCisJdGVzdF9jb25maWcgbWVyZ2V0b29sLm15Z3VpdG9vbC50cnVzdEV4aXRDb2RlIHRydWUgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCAtLWhhcmQiICYmCisJZ2l0IGNoZWNrb3V0IC1iIHRlc3QkdGVzdF9jb3VudCBicmFuY2gxICYmCisJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLU4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgbWFzdGVyICYmCisJeWVzICIiIHwgZ2l0IG1lcmdldG9vbCAtLWd1aSBib3RoICYmCisJeWVzICIiIHwgZ2l0IG1lcmdldG9vbCAtZyBmaWxlMSBmaWxlMSAmJgorCXllcyAiIiB8IGdpdCBtZXJnZXRvb2wgLS1ndWkgZmlsZTIgInNwYWNlZCBuYW1lIiAmJgorCXllcyAiIiB8IGdpdCBtZXJnZXRvb2wgLS1ndWkgc3ViZGlyL2ZpbGUzICYmCisJeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgLS1ndWkgZmlsZTExICYmCisJeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgLS1ndWkgZmlsZTEyICYmCisJeWVzICJsIiB8IGdpdCBtZXJnZXRvb2wgLS1ndWkgc3VibW9kICYmCisJZWNobyAiZ3VpIG1hc3RlciB1cGRhdGVkIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGZpbGUxICYmCisJZWNobyAiZ3VpIG1hc3RlciBuZXciID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgZmlsZTIgJiYKKwllY2hvICJndWkgbWFzdGVyIG5ldyBzdWIiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3Qgc3ViZGlyL2ZpbGUzICYmCisJZWNobyAiYnJhbmNoMSBzdWJtb2R1bGUiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3Qgc3VibW9kL2JhciAmJgorCWdpdCBjb21taXQgLW0gImJyYW5jaDEgcmVzb2x2ZWQgd2l0aCBtZXJnZXRvb2wiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2d1aSBtZXJnZXRvb2wgd2l0aG91dCBtZXJnZS5ndWl0b29sIHNldCBmYWxscyBiYWNrIHRvIG1lcmdlLnRvb2wnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCAtLWhhcmQiICYmCisJZ2l0IGNoZWNrb3V0IC1iIHRlc3QkdGVzdF9jb3VudCBicmFuY2gxICYmCisJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLU4gJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgbWFzdGVyICYmCisJeWVzICIiIHwgZ2l0IG1lcmdldG9vbCAtLWd1aSBib3RoICYmCisJeWVzICIiIHwgZ2l0IG1lcmdldG9vbCAtZyBmaWxlMSBmaWxlMSAmJgorCXllcyAiIiB8IGdpdCBtZXJnZXRvb2wgLS1ndWkgZmlsZTIgInNwYWNlZCBuYW1lIiAmJgorCXllcyAiIiB8IGdpdCBtZXJnZXRvb2wgLS1ndWkgc3ViZGlyL2ZpbGUzICYmCisJeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgLS1ndWkgZmlsZTExICYmCisJeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgLS1ndWkgZmlsZTEyICYmCisJeWVzICJsIiB8IGdpdCBtZXJnZXRvb2wgLS1ndWkgc3VibW9kICYmCisJZWNobyAibWFzdGVyIHVwZGF0ZWQiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgZmlsZTEgJiYKKwllY2hvICJtYXN0ZXIgbmV3IiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGZpbGUyICYmCisJZWNobyAibWFzdGVyIG5ldyBzdWIiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3Qgc3ViZGlyL2ZpbGUzICYmCisJZWNobyAiYnJhbmNoMSBzdWJtb2R1bGUiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3Qgc3VibW9kL2JhciAmJgogCWdpdCBjb21taXQgLW0gImJyYW5jaDEgcmVzb2x2ZWQgd2l0aCBtZXJnZXRvb2wiCiAnCiAKQEAgLTE1MywyMCArMjA2LDIxIEBACiAJIyB0ZXN0X3doZW5fZmluaXNoZWQgaXMgTElGTy4pCiAJdGVzdF9jb25maWcgY29yZS5hdXRvY3JsZiB0cnVlICYmCiAJZ2l0IGNoZWNrb3V0IC1iIHRlc3QkdGVzdF9jb3VudCBicmFuY2gxICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIG1hc3RlciA+L2Rldi9udWxsIDI+JjEgJiYKLQkoIHllcyAiIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTEgPi9kZXYvbnVsbCAyPiYxICkgJiYKLQkoIHllcyAiIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTIgPi9kZXYvbnVsbCAyPiYxICkgJiYKLQkoIHllcyAiIiB8IGdpdCBtZXJnZXRvb2wgInNwYWNlZCBuYW1lIiA+L2Rldi9udWxsIDI+JjEgKSAmJgotCSggeWVzICIiIHwgZ2l0IG1lcmdldG9vbCBib3RoID4vZGV2L251bGwgMj4mMSApICYmCi0JKCB5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIHN1YmRpci9maWxlMyA+L2Rldi9udWxsIDI+JjEgKSAmJgotCSggeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTExID4vZGV2L251bGwgMj4mMSApICYmCi0JKCB5ZXMgImQiIHwgZ2l0IG1lcmdldG9vbCBmaWxlMTIgPi9kZXYvbnVsbCAyPiYxICkgJiYKLQkoIHllcyAiciIgfCBnaXQgbWVyZ2V0b29sIHN1Ym1vZCA+L2Rldi9udWxsIDI+JjEgKSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBtYXN0ZXIgJiYKKwl5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIGZpbGUxICYmCisJeWVzICIiIHwgZ2l0IG1lcmdldG9vbCBmaWxlMiAmJgorCXllcyAiIiB8IGdpdCBtZXJnZXRvb2wgInNwYWNlZCBuYW1lIiAmJgorCXllcyAiIiB8IGdpdCBtZXJnZXRvb2wgYm90aCAmJgorCXllcyAiIiB8IGdpdCBtZXJnZXRvb2wgc3ViZGlyL2ZpbGUzICYmCisJeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTExICYmCisJeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTEyICYmCisJeWVzICJyIiB8IGdpdCBtZXJnZXRvb2wgc3VibW9kICYmCiAJdGVzdCAiJChwcmludGYgeCB8IGNhdCBmaWxlMSAtKSIgPSAiJChwcmludGYgIm1hc3RlciB1cGRhdGVkXHJcbngiKSIgJiYKIAl0ZXN0ICIkKHByaW50ZiB4IHwgY2F0IGZpbGUyIC0pIiA9ICIkKHByaW50ZiAibWFzdGVyIG5ld1xyXG54IikiICYmCiAJdGVzdCAiJChwcmludGYgeCB8IGNhdCBzdWJkaXIvZmlsZTMgLSkiID0gIiQocHJpbnRmICJtYXN0ZXIgbmV3IHN1YlxyXG54IikiICYmCiAJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLU4gJiYKLQl0ZXN0ICIkKGNhdCBzdWJtb2QvYmFyKSIgPSAibWFzdGVyIHN1Ym1vZHVsZSIgJiYKKwllY2hvICJtYXN0ZXIgc3VibW9kdWxlIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IHN1Ym1vZC9iYXIgJiYKIAlnaXQgY29tbWl0IC1tICJicmFuY2gxIHJlc29sdmVkIHdpdGggbWVyZ2V0b29sIC0gYXV0b2NybGYiCiAnCiAKQEAgLTE3Niw5ICsyMzAsMTAgQEAKIAlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtTiAmJgogCSgKIAkJY2Qgc3ViZGlyICYmCi0JCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBtYXN0ZXIgPi9kZXYvbnVsbCAyPiYxICYmCi0JCSggeWVzICIiIHwgZ2l0IG1lcmdldG9vbCBmaWxlMyA+L2Rldi9udWxsIDI+JjEgKSAmJgotCQl0ZXN0ICIkKGNhdCBmaWxlMykiID0gIm1hc3RlciBuZXcgc3ViIgorCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgbWFzdGVyICYmCisJCXllcyAiIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTMgJiYKKwkJZWNobyAibWFzdGVyIG5ldyBzdWIiID5leHBlY3QgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGZpbGUzCiAJKQogJwogCkBAIC0xODgsMTcgKzI0MywyMCBAQAogCWdpdCBzdWJtb2R1bGUgdXBkYXRlIC1OICYmCiAJKAogCQljZCBzdWJkaXIgJiYKLQkJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIG1hc3RlciA+L2Rldi9udWxsIDI+JjEgJiYKLQkJKCB5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIGZpbGUzID4vZGV2L251bGwgMj4mMSApICYmCi0JCSggeWVzICIiIHwgZ2l0IG1lcmdldG9vbCAuLi9maWxlMSA+L2Rldi9udWxsIDI+JjEgKSAmJgotCQkoIHllcyAiIiB8IGdpdCBtZXJnZXRvb2wgLi4vZmlsZTIgLi4vc3BhY2VkXCBuYW1lID4vZGV2L251bGwgMj4mMSApICYmCi0JCSggeWVzICIiIHwgZ2l0IG1lcmdldG9vbCAuLi9ib3RoID4vZGV2L251bGwgMj4mMSApICYmCi0JCSggeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgLi4vZmlsZTExID4vZGV2L251bGwgMj4mMSApICYmCi0JCSggeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgLi4vZmlsZTEyID4vZGV2L251bGwgMj4mMSApICYmCi0JCSggeWVzICJsIiB8IGdpdCBtZXJnZXRvb2wgLi4vc3VibW9kID4vZGV2L251bGwgMj4mMSApICYmCi0JCXRlc3QgIiQoY2F0IC4uL2ZpbGUxKSIgPSAibWFzdGVyIHVwZGF0ZWQiICYmCi0JCXRlc3QgIiQoY2F0IC4uL2ZpbGUyKSIgPSAibWFzdGVyIG5ldyIgJiYKLQkJdGVzdCAiJChjYXQgLi4vc3VibW9kL2JhcikiID0gImJyYW5jaDEgc3VibW9kdWxlIiAmJgorCQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgbWFzdGVyICYmCisJCXllcyAiIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTMgJiYKKwkJeWVzICIiIHwgZ2l0IG1lcmdldG9vbCAuLi9maWxlMSAmJgorCQl5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIC4uL2ZpbGUyIC4uL3NwYWNlZFwgbmFtZSAmJgorCQl5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIC4uL2JvdGggJiYKKwkJeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgLi4vZmlsZTExICYmCisJCXllcyAiZCIgfCBnaXQgbWVyZ2V0b29sIC4uL2ZpbGUxMiAmJgorCQl5ZXMgImwiIHwgZ2l0IG1lcmdldG9vbCAuLi9zdWJtb2QgJiYKKwkJZWNobyAibWFzdGVyIHVwZGF0ZWQiID5leHBlY3QgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IC4uL2ZpbGUxICYmCisJCWVjaG8gIm1hc3RlciBuZXciID5leHBlY3QgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IC4uL2ZpbGUyICYmCisJCWVjaG8gImJyYW5jaDEgc3VibW9kdWxlIiA+ZXhwZWN0ICYmCisJCXRlc3RfY21wIGV4cGVjdCAuLi9zdWJtb2QvYmFyICYmCiAJCWdpdCBjb21taXQgLW0gImJyYW5jaDEgcmVzb2x2ZWQgd2l0aCBtZXJnZXRvb2wgLSBzdWJkaXIiCiAJKQogJwpAQCAtMjA5LDkgKzI2Nyw5IEBACiAJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLU4gJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgbWFzdGVyICYmCiAJdGVzdCAtbiAiJChnaXQgbHMtZmlsZXMgLXUpIiAmJgotCSggeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTExID4vZGV2L251bGwgMj4mMSApICYmCi0JKCB5ZXMgImQiIHwgZ2l0IG1lcmdldG9vbCBmaWxlMTIgPi9kZXYvbnVsbCAyPiYxICkgJiYKLQkoIHllcyAibCIgfCBnaXQgbWVyZ2V0b29sIHN1Ym1vZCA+L2Rldi9udWxsIDI+JjEgKSAmJgorCXllcyAiZCIgfCBnaXQgbWVyZ2V0b29sIGZpbGUxMSAmJgorCXllcyAiZCIgfCBnaXQgbWVyZ2V0b29sIGZpbGUxMiAmJgorCXllcyAibCIgfCBnaXQgbWVyZ2V0b29sIHN1Ym1vZCAmJgogCW91dHB1dD0iJChnaXQgbWVyZ2V0b29sIC0tbm8tcHJvbXB0KSIgJiYKIAl0ZXN0ICIkb3V0cHV0IiA9ICJObyBmaWxlcyBuZWVkIG1lcmdpbmciCiAnCkBAIC0yMjMsMTMgKzI4MSwxNyBAQAogCSgKIAkJY2Qgc3ViZGlyICYmCiAJCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBtYXN0ZXIgJiYKLQkJKCB5ZXMgInIiIHwgZ2l0IG1lcmdldG9vbCAuLi9zdWJtb2QgKSAmJgotCQkoIHllcyAiZCIgImQiIHwgZ2l0IG1lcmdldG9vbCAtLW5vLXByb21wdCApICYmCi0JCXRlc3QgIiQoY2F0IC4uL2ZpbGUxKSIgPSAibWFzdGVyIHVwZGF0ZWQiICYmCi0JCXRlc3QgIiQoY2F0IC4uL2ZpbGUyKSIgPSAibWFzdGVyIG5ldyIgJiYKLQkJdGVzdCAiJChjYXQgZmlsZTMpIiA9ICJtYXN0ZXIgbmV3IHN1YiIgJiYKKwkJeWVzICJyIiB8IGdpdCBtZXJnZXRvb2wgLi4vc3VibW9kICYmCisJCXllcyAiZCIgImQiIHwgZ2l0IG1lcmdldG9vbCAtLW5vLXByb21wdCAmJgorCQllY2hvICJtYXN0ZXIgdXBkYXRlZCIgPmV4cGVjdCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgLi4vZmlsZTEgJiYKKwkJZWNobyAibWFzdGVyIG5ldyIgPmV4cGVjdCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgLi4vZmlsZTIgJiYKKwkJZWNobyAibWFzdGVyIG5ldyBzdWIiID5leHBlY3QgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGZpbGUzICYmCiAJCSggY2QgLi4gJiYgZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLU4gKSAmJgotCQl0ZXN0ICIkKGNhdCAuLi9zdWJtb2QvYmFyKSIgPSAibWFzdGVyIHN1Ym1vZHVsZSIgJiYKKwkJZWNobyAibWFzdGVyIHN1Ym1vZHVsZSIgPmV4cGVjdCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgLi4vc3VibW9kL2JhciAmJgogCQlnaXQgY29tbWl0IC1tICJicmFuY2gyIHJlc29sdmVkIGJ5IG1lcmdldG9vbCBmcm9tIHN1YmRpciIKIAkpCiAnCkBAIC0yNDIsMTMgKzMwNCwxNyBAQAogCSgKIAkJY2Qgc3ViZGlyICYmCiAJCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBtYXN0ZXIgJiYKLQkJKCB5ZXMgInIiIHwgZ2l0IG1lcmdldG9vbCAuLi9zdWJtb2QgKSAmJgotCQkoIHllcyAiZCIgImQiIHwgZ2l0IG1lcmdldG9vbCAtLW5vLXByb21wdCApICYmCi0JCXRlc3QgIiQoY2F0IC4uL2ZpbGUxKSIgPSAibWFzdGVyIHVwZGF0ZWQiICYmCi0JCXRlc3QgIiQoY2F0IC4uL2ZpbGUyKSIgPSAibWFzdGVyIG5ldyIgJiYKLQkJdGVzdCAiJChjYXQgZmlsZTMpIiA9ICJtYXN0ZXIgbmV3IHN1YiIgJiYKKwkJeWVzICJyIiB8IGdpdCBtZXJnZXRvb2wgLi4vc3VibW9kICYmCisJCXllcyAiZCIgImQiIHwgZ2l0IG1lcmdldG9vbCAtLW5vLXByb21wdCAmJgorCQllY2hvICJtYXN0ZXIgdXBkYXRlZCIgPmV4cGVjdCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgLi4vZmlsZTEgJiYKKwkJZWNobyAibWFzdGVyIG5ldyIgPmV4cGVjdCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgLi4vZmlsZTIgJiYKKwkJZWNobyAibWFzdGVyIG5ldyBzdWIiID5leHBlY3QgJiYKKwkJdGVzdF9jbXAgZXhwZWN0IGZpbGUzICYmCiAJCSggY2QgLi4gJiYgZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLU4gKSAmJgotCQl0ZXN0ICIkKGNhdCAuLi9zdWJtb2QvYmFyKSIgPSAibWFzdGVyIHN1Ym1vZHVsZSIgJiYKKwkJZWNobyAibWFzdGVyIHN1Ym1vZHVsZSIgPmV4cGVjdCAmJgorCQl0ZXN0X2NtcCBleHBlY3QgLi4vc3VibW9kL2JhciAmJgogCQlnaXQgY29tbWl0IC1tICJicmFuY2gyIHJlc29sdmVkIGJ5IG1lcmdldG9vbCBmcm9tIHN1YmRpciIKIAkpCiAnCkBAIC0yNTksOSArMzI1LDkgQEAKIAlybSAtcmYgLmdpdC9yci1jYWNoZSAmJgogCWdpdCBjaGVja291dCAtYiB0ZXN0JHRlc3RfY291bnQgYnJhbmNoMSAmJgogCWdpdCBzdWJtb2R1bGUgdXBkYXRlIC1OICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIG1hc3RlciA+L2Rldi9udWxsIDI+JjEgJiYKLQkoIHllcyAibCIgfCBnaXQgbWVyZ2V0b29sIC0tbm8tcHJvbXB0IHN1Ym1vZCA+L2Rldi9udWxsIDI+JjEgKSAmJgotCSggeWVzICJkIiAiZCIgfCBnaXQgbWVyZ2V0b29sIC0tbm8tcHJvbXB0ID4vZGV2L251bGwgMj4mMSApICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIG1hc3RlciAmJgorCXllcyAibCIgfCBnaXQgbWVyZ2V0b29sIC0tbm8tcHJvbXB0IHN1Ym1vZCAmJgorCXllcyAiZCIgImQiIHwgZ2l0IG1lcmdldG9vbCAtLW5vLXByb21wdCAmJgogCWdpdCBzdWJtb2R1bGUgdXBkYXRlIC1OICYmCiAJb3V0cHV0PSIkKHllcyAibiIgfCBnaXQgbWVyZ2V0b29sIC0tbm8tcHJvbXB0KSIgJiYKIAl0ZXN0ICIkb3V0cHV0IiA9ICJObyBmaWxlcyBuZWVkIG1lcmdpbmciCkBAIC0zMDIsOSArMzY4LDEwIEBACiAJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLU4gJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgbWFzdGVyICYmCiAKLQkoIHllcyAiIiB8IGdpdCBtZXJnZXRvb2wgc3ViZGlyICkgJiYKKwl5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIHN1YmRpciAmJgogCi0JdGVzdCAiJChjYXQgc3ViZGlyL2ZpbGUzKSIgPSAibWFzdGVyIG5ldyBzdWIiCisJZWNobyAibWFzdGVyIG5ldyBzdWIiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3Qgc3ViZGlyL2ZpbGUzCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ21lcmdldG9vbCBkZWxldGUvZGVsZXRlIGNvbmZsaWN0JyAnCkBAIC0zNjksMTQgKzQzNiwxNiBAQAogCWdpdCBjaGVja291dCAtYiB0ZXN0JHRlc3RfY291bnQuYSB0ZXN0JHRlc3RfY291bnQgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgbWFzdGVyICYmCiAJdGVzdCAtbiAiJChnaXQgbHMtZmlsZXMgLXUpIiAmJgotCSggeWVzICIiIHwgZ2l0IG1lcmdldG9vbCBmaWxlMSBmaWxlMiBzcGFjZWRcIG5hbWUgc3ViZGlyL2ZpbGUzID4vZGV2L251bGwgMj4mMSApICYmCi0JKCB5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIGJvdGggPi9kZXYvbnVsbCAyPiYxICkgJiYKLQkoIHllcyAiZCIgfCBnaXQgbWVyZ2V0b29sIGZpbGUxMSBmaWxlMTIgPi9kZXYvbnVsbCAyPiYxICkgJiYKLQkoIHllcyAiciIgfCBnaXQgbWVyZ2V0b29sIHN1Ym1vZCApICYmCisJeWVzICIiIHwgZ2l0IG1lcmdldG9vbCBmaWxlMSBmaWxlMiBzcGFjZWRcIG5hbWUgc3ViZGlyL2ZpbGUzICYmCisJeWVzICIiIHwgZ2l0IG1lcmdldG9vbCBib3RoICYmCisJeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTExIGZpbGUxMiAmJgorCXllcyAiciIgfCBnaXQgbWVyZ2V0b29sIHN1Ym1vZCAmJgogCXJtZGlyIHN1Ym1vZCAmJiBtdiBzdWJtb2QtbW92ZWRhc2lkZSBzdWJtb2QgJiYKLQl0ZXN0ICIkKGNhdCBzdWJtb2QvYmFyKSIgPSAiYnJhbmNoMSBzdWJtb2R1bGUiICYmCisJZWNobyAiYnJhbmNoMSBzdWJtb2R1bGUiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3Qgc3VibW9kL2JhciAmJgogCWdpdCBzdWJtb2R1bGUgdXBkYXRlIC1OICYmCi0JdGVzdCAiJChjYXQgc3VibW9kL2JhcikiID0gIm1hc3RlciBzdWJtb2R1bGUiICYmCisJZWNobyAibWFzdGVyIHN1Ym1vZHVsZSIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBzdWJtb2QvYmFyICYmCiAJb3V0cHV0PSIkKGdpdCBtZXJnZXRvb2wgLS1uby1wcm9tcHQpIiAmJgogCXRlc3QgIiRvdXRwdXQiID0gIk5vIGZpbGVzIG5lZWQgbWVyZ2luZyIgJiYKIAlnaXQgY29tbWl0IC1tICJNZXJnZSByZXNvbHZlZCBieSBrZWVwaW5nIG1vZHVsZSIgJiYKQEAgLTM4NiwxMCArNDU1LDEwIEBACiAJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLU4gJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgbWFzdGVyICYmCiAJdGVzdCAtbiAiJChnaXQgbHMtZmlsZXMgLXUpIiAmJgotCSggeWVzICIiIHwgZ2l0IG1lcmdldG9vbCBmaWxlMSBmaWxlMiBzcGFjZWRcIG5hbWUgc3ViZGlyL2ZpbGUzID4vZGV2L251bGwgMj4mMSApICYmCi0JKCB5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIGJvdGggPi9kZXYvbnVsbCAyPiYxICkgJiYKLQkoIHllcyAiZCIgfCBnaXQgbWVyZ2V0b29sIGZpbGUxMSBmaWxlMTIgPi9kZXYvbnVsbCAyPiYxICkgJiYKLQkoIHllcyAibCIgfCBnaXQgbWVyZ2V0b29sIHN1Ym1vZCApICYmCisJeWVzICIiIHwgZ2l0IG1lcmdldG9vbCBmaWxlMSBmaWxlMiBzcGFjZWRcIG5hbWUgc3ViZGlyL2ZpbGUzICYmCisJeWVzICIiIHwgZ2l0IG1lcmdldG9vbCBib3RoICYmCisJeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTExIGZpbGUxMiAmJgorCXllcyAibCIgfCBnaXQgbWVyZ2V0b29sIHN1Ym1vZCAmJgogCXRlc3QgISAtZSBzdWJtb2QgJiYKIAlvdXRwdXQ9IiQoZ2l0IG1lcmdldG9vbCAtLW5vLXByb21wdCkiICYmCiAJdGVzdCAiJG91dHB1dCIgPSAiTm8gZmlsZXMgbmVlZCBtZXJnaW5nIiAmJgpAQCAtNDAwLDEwICs0NjksMTAgQEAKIAlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtTiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSB0ZXN0JHRlc3RfY291bnQgJiYKIAl0ZXN0IC1uICIkKGdpdCBscy1maWxlcyAtdSkiICYmCi0JKCB5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIGZpbGUxIGZpbGUyIHNwYWNlZFwgbmFtZSBzdWJkaXIvZmlsZTMgPi9kZXYvbnVsbCAyPiYxICkgJiYKLQkoIHllcyAiIiB8IGdpdCBtZXJnZXRvb2wgYm90aCA+L2Rldi9udWxsIDI+JjEgKSAmJgotCSggeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTExIGZpbGUxMiA+L2Rldi9udWxsIDI+JjEgKSAmJgotCSggeWVzICJyIiB8IGdpdCBtZXJnZXRvb2wgc3VibW9kICkgJiYKKwl5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIGZpbGUxIGZpbGUyIHNwYWNlZFwgbmFtZSBzdWJkaXIvZmlsZTMgJiYKKwl5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIGJvdGggJiYKKwl5ZXMgImQiIHwgZ2l0IG1lcmdldG9vbCBmaWxlMTEgZmlsZTEyICYmCisJeWVzICJyIiB8IGdpdCBtZXJnZXRvb2wgc3VibW9kICYmCiAJdGVzdCAhIC1lIHN1Ym1vZCAmJgogCXRlc3QgLWQgc3VibW9kLm9yaWcgJiYKIAlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtTiAmJgpAQCAtNDE2LDEzICs0ODUsMTUgQEAKIAlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtTiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSB0ZXN0JHRlc3RfY291bnQgJiYKIAl0ZXN0IC1uICIkKGdpdCBscy1maWxlcyAtdSkiICYmCi0JKCB5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIGZpbGUxIGZpbGUyIHNwYWNlZFwgbmFtZSBzdWJkaXIvZmlsZTMgPi9kZXYvbnVsbCAyPiYxICkgJiYKLQkoIHllcyAiIiB8IGdpdCBtZXJnZXRvb2wgYm90aCA+L2Rldi9udWxsIDI+JjEgKSAmJgotCSggeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTExIGZpbGUxMiA+L2Rldi9udWxsIDI+JjEgKSAmJgotCSggeWVzICJsIiB8IGdpdCBtZXJnZXRvb2wgc3VibW9kICkgJiYKLQl0ZXN0ICIkKGNhdCBzdWJtb2QvYmFyKSIgPSAibWFzdGVyIHN1Ym1vZHVsZSIgJiYKKwl5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIGZpbGUxIGZpbGUyIHNwYWNlZFwgbmFtZSBzdWJkaXIvZmlsZTMgJiYKKwl5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIGJvdGggJiYKKwl5ZXMgImQiIHwgZ2l0IG1lcmdldG9vbCBmaWxlMTEgZmlsZTEyICYmCisJeWVzICJsIiB8IGdpdCBtZXJnZXRvb2wgc3VibW9kICYmCisJZWNobyAibWFzdGVyIHN1Ym1vZHVsZSIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBzdWJtb2QvYmFyICYmCiAJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLU4gJiYKLQl0ZXN0ICIkKGNhdCBzdWJtb2QvYmFyKSIgPSAibWFzdGVyIHN1Ym1vZHVsZSIgJiYKKwllY2hvICJtYXN0ZXIgc3VibW9kdWxlIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IHN1Ym1vZC9iYXIgJiYKIAlvdXRwdXQ9IiQoZ2l0IG1lcmdldG9vbCAtLW5vLXByb21wdCkiICYmCiAJdGVzdCAiJG91dHB1dCIgPSAiTm8gZmlsZXMgbmVlZCBtZXJnaW5nIiAmJgogCWdpdCBjb21taXQgLW0gIk1lcmdlIHJlc29sdmVkIGJ5IGtlZXBpbmcgbW9kdWxlIgpAQCAtNDQwLDE0ICs1MTEsMTYgQEAKIAlnaXQgY2hlY2tvdXQgLWIgdGVzdCR0ZXN0X2NvdW50LmEgYnJhbmNoMSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBtYXN0ZXIgJiYKIAl0ZXN0IC1uICIkKGdpdCBscy1maWxlcyAtdSkiICYmCi0JKCB5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIGZpbGUxIGZpbGUyIHNwYWNlZFwgbmFtZSBzdWJkaXIvZmlsZTMgPi9kZXYvbnVsbCAyPiYxICkgJiYKLQkoIHllcyAiIiB8IGdpdCBtZXJnZXRvb2wgYm90aCA+L2Rldi9udWxsIDI+JjEgKSAmJgotCSggeWVzICJkIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTExIGZpbGUxMiA+L2Rldi9udWxsIDI+JjEgKSAmJgotCSggeWVzICJyIiB8IGdpdCBtZXJnZXRvb2wgc3VibW9kICkgJiYKKwl5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIGZpbGUxIGZpbGUyIHNwYWNlZFwgbmFtZSBzdWJkaXIvZmlsZTMgJiYKKwl5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIGJvdGggJiYKKwl5ZXMgImQiIHwgZ2l0IG1lcmdldG9vbCBmaWxlMTEgZmlsZTEyICYmCisJeWVzICJyIiB8IGdpdCBtZXJnZXRvb2wgc3VibW9kICYmCiAJcm1kaXIgc3VibW9kICYmIG12IHN1Ym1vZC1tb3ZlZGFzaWRlIHN1Ym1vZCAmJgotCXRlc3QgIiQoY2F0IHN1Ym1vZC9iYXIpIiA9ICJicmFuY2gxIHN1Ym1vZHVsZSIgJiYKKwllY2hvICJicmFuY2gxIHN1Ym1vZHVsZSIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBzdWJtb2QvYmFyICYmCiAJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLU4gJiYKLQl0ZXN0ICIkKGNhdCBzdWJtb2QvYmFyKSIgPSAibWFzdGVyIHN1Ym1vZHVsZSIgJiYKKwllY2hvICJtYXN0ZXIgc3VibW9kdWxlIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IHN1Ym1vZC9iYXIgJiYKIAlvdXRwdXQ9IiQoZ2l0IG1lcmdldG9vbCAtLW5vLXByb21wdCkiICYmCiAJdGVzdCAiJG91dHB1dCIgPSAiTm8gZmlsZXMgbmVlZCBtZXJnaW5nIiAmJgogCWdpdCBjb21taXQgLW0gIk1lcmdlIHJlc29sdmVkIGJ5IGtlZXBpbmcgbW9kdWxlIiAmJgpAQCAtNDU2LDEyICs1MjksMTMgQEAKIAlnaXQgY2hlY2tvdXQgLWIgdGVzdCR0ZXN0X2NvdW50LmIgdGVzdCR0ZXN0X2NvdW50ICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIG1hc3RlciAmJgogCXRlc3QgLW4gIiQoZ2l0IGxzLWZpbGVzIC11KSIgJiYKLQkoIHllcyAiIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTEgZmlsZTIgc3BhY2VkXCBuYW1lIHN1YmRpci9maWxlMyA+L2Rldi9udWxsIDI+JjEgKSAmJgotCSggeWVzICIiIHwgZ2l0IG1lcmdldG9vbCBib3RoID4vZGV2L251bGwgMj4mMSApICYmCi0JKCB5ZXMgImQiIHwgZ2l0IG1lcmdldG9vbCBmaWxlMTEgZmlsZTEyID4vZGV2L251bGwgMj4mMSApICYmCi0JKCB5ZXMgImwiIHwgZ2l0IG1lcmdldG9vbCBzdWJtb2QgKSAmJgorCXllcyAiIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTEgZmlsZTIgc3BhY2VkXCBuYW1lIHN1YmRpci9maWxlMyAmJgorCXllcyAiIiB8IGdpdCBtZXJnZXRvb2wgYm90aCAmJgorCXllcyAiZCIgfCBnaXQgbWVyZ2V0b29sIGZpbGUxMSBmaWxlMTIgJiYKKwl5ZXMgImwiIHwgZ2l0IG1lcmdldG9vbCBzdWJtb2QgJiYKIAlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtTiAmJgotCXRlc3QgIiQoY2F0IHN1Ym1vZCkiID0gIm5vdCBhIHN1Ym1vZHVsZSIgJiYKKwllY2hvICJub3QgYSBzdWJtb2R1bGUiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3Qgc3VibW9kICYmCiAJb3V0cHV0PSIkKGdpdCBtZXJnZXRvb2wgLS1uby1wcm9tcHQpIiAmJgogCXRlc3QgIiRvdXRwdXQiID0gIk5vIGZpbGVzIG5lZWQgbWVyZ2luZyIgJiYKIAlnaXQgY29tbWl0IC1tICJNZXJnZSByZXNvbHZlZCBieSBrZWVwaW5nIGZpbGUiICYmCkBAIC00NzIsMTMgKzU0NiwxNCBAQAogCWdpdCBzdWJtb2R1bGUgdXBkYXRlIC1OICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIHRlc3QkdGVzdF9jb3VudCAmJgogCXRlc3QgLW4gIiQoZ2l0IGxzLWZpbGVzIC11KSIgJiYKLQkoIHllcyAiIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTEgZmlsZTIgc3BhY2VkXCBuYW1lIHN1YmRpci9maWxlMyA+L2Rldi9udWxsIDI+JjEgKSAmJgotCSggeWVzICIiIHwgZ2l0IG1lcmdldG9vbCBib3RoID4vZGV2L251bGwgMj4mMSApICYmCi0JKCB5ZXMgImQiIHwgZ2l0IG1lcmdldG9vbCBmaWxlMTEgZmlsZTEyID4vZGV2L251bGwgMj4mMSApICYmCi0JKCB5ZXMgInIiIHwgZ2l0IG1lcmdldG9vbCBzdWJtb2QgKSAmJgorCXllcyAiIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTEgZmlsZTIgc3BhY2VkXCBuYW1lIHN1YmRpci9maWxlMyAmJgorCXllcyAiIiB8IGdpdCBtZXJnZXRvb2wgYm90aCAmJgorCXllcyAiZCIgfCBnaXQgbWVyZ2V0b29sIGZpbGUxMSBmaWxlMTIgJiYKKwl5ZXMgInIiIHwgZ2l0IG1lcmdldG9vbCBzdWJtb2QgJiYKIAl0ZXN0IC1kIHN1Ym1vZC5vcmlnICYmCiAJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLU4gJiYKLQl0ZXN0ICIkKGNhdCBzdWJtb2QpIiA9ICJub3QgYSBzdWJtb2R1bGUiICYmCisJZWNobyAibm90IGEgc3VibW9kdWxlIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IHN1Ym1vZCAmJgogCW91dHB1dD0iJChnaXQgbWVyZ2V0b29sIC0tbm8tcHJvbXB0KSIgJiYKIAl0ZXN0ICIkb3V0cHV0IiA9ICJObyBmaWxlcyBuZWVkIG1lcmdpbmciICYmCiAJZ2l0IGNvbW1pdCAtbSAiTWVyZ2UgcmVzb2x2ZWQgYnkga2VlcGluZyBmaWxlIiAmJgpAQCAtNDg4LDEzICs1NjMsMTUgQEAKIAlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtTiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSB0ZXN0JHRlc3RfY291bnQgJiYKIAl0ZXN0IC1uICIkKGdpdCBscy1maWxlcyAtdSkiICYmCi0JKCB5ZXMgIiIgfCBnaXQgbWVyZ2V0b29sIGZpbGUxIGZpbGUyIHNwYWNlZFwgbmFtZSBzdWJkaXIvZmlsZTMgPi9kZXYvbnVsbCAyPiYxICkgJiYKLQkoIHllcyAiIiB8IGdpdCBtZXJnZXRvb2wgYm90aD4vZGV2L251bGwgMj4mMSApICYmCi0JKCB5ZXMgImQiIHwgZ2l0IG1lcmdldG9vbCBmaWxlMTEgZmlsZTEyID4vZGV2L251bGwgMj4mMSApICYmCi0JKCB5ZXMgImwiIHwgZ2l0IG1lcmdldG9vbCBzdWJtb2QgKSAmJgotCXRlc3QgIiQoY2F0IHN1Ym1vZC9iYXIpIiA9ICJtYXN0ZXIgc3VibW9kdWxlIiAmJgorCXllcyAiIiB8IGdpdCBtZXJnZXRvb2wgZmlsZTEgZmlsZTIgc3BhY2VkXCBuYW1lIHN1YmRpci9maWxlMyAmJgorCXllcyAiIiB8IGdpdCBtZXJnZXRvb2wgYm90aCAmJgorCXllcyAiZCIgfCBnaXQgbWVyZ2V0b29sIGZpbGUxMSBmaWxlMTIgJiYKKwl5ZXMgImwiIHwgZ2l0IG1lcmdldG9vbCBzdWJtb2QgJiYKKwllY2hvICJtYXN0ZXIgc3VibW9kdWxlIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IHN1Ym1vZC9iYXIgJiYKIAlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtTiAmJgotCXRlc3QgIiQoY2F0IHN1Ym1vZC9iYXIpIiA9ICJtYXN0ZXIgc3VibW9kdWxlIiAmJgorCWVjaG8gIm1hc3RlciBzdWJtb2R1bGUiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3Qgc3VibW9kL2JhciAmJgogCW91dHB1dD0iJChnaXQgbWVyZ2V0b29sIC0tbm8tcHJvbXB0KSIgJiYKIAl0ZXN0ICIkb3V0cHV0IiA9ICJObyBmaWxlcyBuZWVkIG1lcmdpbmciICYmCiAJZ2l0IGNvbW1pdCAtbSAiTWVyZ2UgcmVzb2x2ZWQgYnkga2VlcGluZyBtb2R1bGUiCkBAIC01NDMsMjIgKzYyMCwyNiBAQAogCWdpdCBhZGQgc3ViZGlyL3N1YmRpcl9tb2R1bGUgJiYKIAlnaXQgY29tbWl0IC1tICJjaGFuZ2Ugc3VibW9kdWxlIGluIHN1YmRpcmVjdG9yeSBvbiB0ZXN0JHRlc3RfY291bnQuYiIgJiYKIAotCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSB0ZXN0JHRlc3RfY291bnQuYSA+L2Rldi9udWxsIDI+JjEgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgdGVzdCR0ZXN0X2NvdW50LmEgJiYKIAkoCiAJCWNkIHN1YmRpciAmJgotCQkoIHllcyAibCIgfCBnaXQgbWVyZ2V0b29sIHN1YmRpcl9tb2R1bGUgKQorCQl5ZXMgImwiIHwgZ2l0IG1lcmdldG9vbCBzdWJkaXJfbW9kdWxlCiAJKSAmJgotCXRlc3QgIiQoY2F0IHN1YmRpci9zdWJkaXJfbW9kdWxlL2ZpbGUxNSkiID0gInRlc3QkdGVzdF9jb3VudC5iIiAmJgorCWVjaG8gInRlc3QkdGVzdF9jb3VudC5iIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IHN1YmRpci9zdWJkaXJfbW9kdWxlL2ZpbGUxNSAmJgogCWdpdCBzdWJtb2R1bGUgdXBkYXRlIC1OICYmCi0JdGVzdCAiJChjYXQgc3ViZGlyL3N1YmRpcl9tb2R1bGUvZmlsZTE1KSIgPSAidGVzdCR0ZXN0X2NvdW50LmIiICYmCisJZWNobyAidGVzdCR0ZXN0X2NvdW50LmIiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3Qgc3ViZGlyL3N1YmRpcl9tb2R1bGUvZmlsZTE1ICYmCiAJZ2l0IHJlc2V0IC0taGFyZCAmJgogCWdpdCBzdWJtb2R1bGUgdXBkYXRlIC1OICYmCiAKLQl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgdGVzdCR0ZXN0X2NvdW50LmEgPi9kZXYvbnVsbCAyPiYxICYmCi0JKCB5ZXMgInIiIHwgZ2l0IG1lcmdldG9vbCBzdWJkaXIvc3ViZGlyX21vZHVsZSApICYmCi0JdGVzdCAiJChjYXQgc3ViZGlyL3N1YmRpcl9tb2R1bGUvZmlsZTE1KSIgPSAidGVzdCR0ZXN0X2NvdW50LmIiICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIHRlc3QkdGVzdF9jb3VudC5hICYmCisJeWVzICJyIiB8IGdpdCBtZXJnZXRvb2wgc3ViZGlyL3N1YmRpcl9tb2R1bGUgJiYKKwllY2hvICJ0ZXN0JHRlc3RfY291bnQuYiIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBzdWJkaXIvc3ViZGlyX21vZHVsZS9maWxlMTUgJiYKIAlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtTiAmJgotCXRlc3QgIiQoY2F0IHN1YmRpci9zdWJkaXJfbW9kdWxlL2ZpbGUxNSkiID0gInRlc3QkdGVzdF9jb3VudC5hIiAmJgorCWVjaG8gInRlc3QkdGVzdF9jb3VudC5hIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IHN1YmRpci9zdWJkaXJfbW9kdWxlL2ZpbGUxNSAmJgogCWdpdCBjb21taXQgLW0gImJyYW5jaDEgcmVzb2x2ZWQgd2l0aCBtZXJnZXRvb2wiCiAnCiAKQEAgLTU3NCwyMiArNjU1LDI1IEBACiAKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgbWFzdGVyICYmCiAJdGVzdCAtbiAiJChnaXQgbHMtZmlsZXMgLXUpIiAmJgotCSggeWVzICJsIiB8IGdpdCBtZXJnZXRvb2wgc3VibW9kICkgJiYKLQl0ZXN0ICIkKGNhdCBzdWJtb2QvZmlsZTE2KSIgPSAibm90IGEgc3VibW9kdWxlIiAmJgorCXllcyAibCIgfCBnaXQgbWVyZ2V0b29sIHN1Ym1vZCAmJgorCWVjaG8gIm5vdCBhIHN1Ym1vZHVsZSIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBzdWJtb2QvZmlsZTE2ICYmCiAJcm0gLXJmIHN1Ym1vZC5vcmlnICYmCiAKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIG1hc3RlciAmJgogCXRlc3QgLW4gIiQoZ2l0IGxzLWZpbGVzIC11KSIgJiYKIAl0ZXN0ICEgLWUgc3VibW9kLm9yaWcgJiYKLQkoIHllcyAiciIgfCBnaXQgbWVyZ2V0b29sIHN1Ym1vZCApICYmCisJeWVzICJyIiB8IGdpdCBtZXJnZXRvb2wgc3VibW9kICYmCiAJdGVzdCAtZCBzdWJtb2Qub3JpZyAmJgotCXRlc3QgIiQoY2F0IHN1Ym1vZC5vcmlnL2ZpbGUxNikiID0gIm5vdCBhIHN1Ym1vZHVsZSIgJiYKKwllY2hvICJub3QgYSBzdWJtb2R1bGUiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3Qgc3VibW9kLm9yaWcvZmlsZTE2ICYmCiAJcm0gLXIgc3VibW9kLm9yaWcgJiYKIAltdiBzdWJtb2QtbW92ZWRhc2lkZS8uZ2l0IHN1Ym1vZCAmJgogCSggY2Qgc3VibW9kICYmIGdpdCBjbGVhbiAtZiAmJiBnaXQgcmVzZXQgLS1oYXJkICkgJiYKIAlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtTiAmJgotCXRlc3QgIiQoY2F0IHN1Ym1vZC9iYXIpIiA9ICJtYXN0ZXIgc3VibW9kdWxlIiAmJgorCWVjaG8gIm1hc3RlciBzdWJtb2R1bGUiID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3Qgc3VibW9kL2JhciAmJgogCWdpdCByZXNldCAtLWhhcmQgJiYKIAlybSAtcmYgc3VibW9kLW1vdmVkYXNpZGUgJiYKIApAQCAtNTk3LDE3ICs2ODEsMTkgQEAKIAlnaXQgc3VibW9kdWxlIHVwZGF0ZSAtTiAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSB0ZXN0JHRlc3RfY291bnQgJiYKIAl0ZXN0IC1uICIkKGdpdCBscy1maWxlcyAtdSkiICYmCi0JKCB5ZXMgImwiIHwgZ2l0IG1lcmdldG9vbCBzdWJtb2QgKSAmJgorCXllcyAibCIgfCBnaXQgbWVyZ2V0b29sIHN1Ym1vZCAmJgogCWdpdCBzdWJtb2R1bGUgdXBkYXRlIC1OICYmCi0JdGVzdCAiJChjYXQgc3VibW9kL2JhcikiID0gIm1hc3RlciBzdWJtb2R1bGUiICYmCisJZWNobyAibWFzdGVyIHN1Ym1vZHVsZSIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBzdWJtb2QvYmFyICYmCiAKIAlnaXQgcmVzZXQgLS1oYXJkICYmCiAJZ2l0IHN1Ym1vZHVsZSB1cGRhdGUgLU4gJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgdGVzdCR0ZXN0X2NvdW50ICYmCiAJdGVzdCAtbiAiJChnaXQgbHMtZmlsZXMgLXUpIiAmJgogCXRlc3QgISAtZSBzdWJtb2Qub3JpZyAmJgotCSggeWVzICJyIiB8IGdpdCBtZXJnZXRvb2wgc3VibW9kICkgJiYKLQl0ZXN0ICIkKGNhdCBzdWJtb2QvZmlsZTE2KSIgPSAibm90IGEgc3VibW9kdWxlIiAmJgorCXllcyAiciIgfCBnaXQgbWVyZ2V0b29sIHN1Ym1vZCAmJgorCWVjaG8gIm5vdCBhIHN1Ym1vZHVsZSIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBzdWJtb2QvZmlsZTE2ICYmCiAKIAlnaXQgcmVzZXQgLS1oYXJkIG1hc3RlciAmJgogCSggY2Qgc3VibW9kICYmIGdpdCBjbGVhbiAtZiAmJiBnaXQgcmVzZXQgLS1oYXJkICkgJiYKQEAgLTY0MSw3ICs3MjcsNyBAQAogCXRlc3RfY29uZmlnIG1lcmdldG9vbC5teWVjaG8udHJ1c3RFeGl0Q29kZSB0cnVlICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIG1hc3RlciAmJgogCWdpdCBtZXJnZXRvb2wgLS1uby1wcm9tcHQgLS10b29sIG15ZWNobyAtLSBib3RoID5hY3R1YWwgJiYKLQlncmVwIF5cLi9ib3RoX0xPQ0FMXyBhY3R1YWwgPi9kZXYvbnVsbAorCWdyZXAgXlwuL2JvdGhfTE9DQUxfIGFjdHVhbAogJwogCiB0ZXN0X2xhenlfcHJlcmVxIE1LVEVNUCAnCkBAIC02NTgsOCArNzQ0LDggQEAKIAl0ZXN0X2NvbmZpZyBtZXJnZXRvb2wubXllY2hvLnRydXN0RXhpdENvZGUgdHJ1ZSAmJgogCXRlc3RfbXVzdF9mYWlsIGdpdCBtZXJnZSBtYXN0ZXIgJiYKIAlnaXQgbWVyZ2V0b29sIC0tbm8tcHJvbXB0IC0tdG9vbCBteWVjaG8gLS0gYm90aCA+YWN0dWFsICYmCi0JISBncmVwIF5cLi9ib3RoX0xPQ0FMXyBhY3R1YWwgPi9kZXYvbnVsbCAmJgotCWdyZXAgL2JvdGhfTE9DQUxfIGFjdHVhbCA+L2Rldi9udWxsCisJISBncmVwIF5cLi9ib3RoX0xPQ0FMXyBhY3R1YWwgJiYKKwlncmVwIC9ib3RoX0xPQ0FMXyBhY3R1YWwKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZGlmZi5vcmRlckZpbGUgY29uZmlndXJhdGlvbiBpcyBob25vcmVkJyAnCmRpZmYgLS1naXQgYS90L3Q3NjEyLW1lcmdlLXZlcmlmeS1zaWduYXR1cmVzLnNoIGIvdC90NzYxMi1tZXJnZS12ZXJpZnktc2lnbmF0dXJlcy5zaAppbmRleCBkOTkyMThhLi5hNDI2ZjNhIDEwMDc1NQotLS0gYS90L3Q3NjEyLW1lcmdlLXZlcmlmeS1zaWduYXR1cmVzLnNoCisrKyBiL3QvdDc2MTItbWVyZ2UtdmVyaWZ5LXNpZ25hdHVyZXMuc2gKQEAgLTY2LDYgKzY2LDIwIEBACiAJdGVzdF9pMThuZ3JlcCAiaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlIiBtZXJnZWVycm9yCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHICdtZXJnZSBjb21taXQgd2l0aCB1bnRydXN0ZWQgc2lnbmF0dXJlIHdpdGggdmVyaWZpY2F0aW9uIGFuZCBoaWdoIG1pblRydXN0TGV2ZWwnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCAtLWhhcmQgJiYgZ2l0IGNoZWNrb3V0IGluaXRpYWwiICYmCisJdGVzdF9jb25maWcgZ3BnLm1pblRydXN0TGV2ZWwgbWFyZ2luYWwgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgbWVyZ2UgLS1mZi1vbmx5IC0tdmVyaWZ5LXNpZ25hdHVyZXMgc2lkZS11bnRydXN0ZWQgMj5tZXJnZWVycm9yICYmCisJdGVzdF9pMThuZ3JlcCAiaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlIiBtZXJnZWVycm9yCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHICdtZXJnZSBjb21taXQgd2l0aCB1bnRydXN0ZWQgc2lnbmF0dXJlIHdpdGggdmVyaWZpY2F0aW9uIGFuZCBsb3cgbWluVHJ1c3RMZXZlbCcgJworCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCAmJiBnaXQgY2hlY2tvdXQgaW5pdGlhbCIgJiYKKwl0ZXN0X2NvbmZpZyBncGcubWluVHJ1c3RMZXZlbCB1bmRlZmluZWQgJiYKKwlnaXQgbWVyZ2UgLS1mZi1vbmx5IC0tdmVyaWZ5LXNpZ25hdHVyZXMgc2lkZS11bnRydXN0ZWQgPm1lcmdlb3V0cHV0ICYmCisJdGVzdF9pMThuZ3JlcCAiaGFzIGEgZ29vZCBHUEcgc2lnbmF0dXJlIiBtZXJnZW91dHB1dAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzIEdQRyAnbWVyZ2UgY29tbWl0IHdpdGggdW50cnVzdGVkIHNpZ25hdHVyZSB3aXRoIG1lcmdlLnZlcmlmeVNpZ25hdHVyZXM9dHJ1ZScgJwogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCAmJiBnaXQgY2hlY2tvdXQgaW5pdGlhbCIgJiYKIAl0ZXN0X2NvbmZpZyBtZXJnZS52ZXJpZnlTaWduYXR1cmVzIHRydWUgJiYKQEAgLTczLDYgKzg3LDE0IEBACiAJdGVzdF9pMThuZ3JlcCAiaGFzIGFuIHVudHJ1c3RlZCBHUEcgc2lnbmF0dXJlIiBtZXJnZWVycm9yCiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR1BHICdtZXJnZSBjb21taXQgd2l0aCB1bnRydXN0ZWQgc2lnbmF0dXJlIHdpdGggbWVyZ2UudmVyaWZ5U2lnbmF0dXJlcz10cnVlIGFuZCBtaW5UcnVzdExldmVsJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkICYmIGdpdCBjaGVja291dCBpbml0aWFsIiAmJgorCXRlc3RfY29uZmlnIG1lcmdlLnZlcmlmeVNpZ25hdHVyZXMgdHJ1ZSAmJgorCXRlc3RfY29uZmlnIGdwZy5taW5UcnVzdExldmVsIG1hcmdpbmFsICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IG1lcmdlIC0tZmYtb25seSBzaWRlLXVudHJ1c3RlZCAyPm1lcmdlZXJyb3IgJiYKKwl0ZXN0X2kxOG5ncmVwICJoYXMgYW4gdW50cnVzdGVkIEdQRyBzaWduYXR1cmUiIG1lcmdlZXJyb3IKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyBHUEcgJ21lcmdlIHNpZ25lZCBjb21taXQgd2l0aCB2ZXJpZmljYXRpb24nICcKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCAtLWhhcmQgJiYgZ2l0IGNoZWNrb3V0IGluaXRpYWwiICYmCiAJZ2l0IG1lcmdlIC0tdmVyYm9zZSAtLWZmLW9ubHkgLS12ZXJpZnktc2lnbmF0dXJlcyBzaWRlLXNpZ25lZCA+bWVyZ2VvdXRwdXQgJiYKZGlmZiAtLWdpdCBhL3QvdDc3MDAtcmVwYWNrLnNoIGIvdC90NzcwMC1yZXBhY2suc2gKaW5kZXggNjE2MmUyYS4uMjViMjM1YyAxMDA3NTUKLS0tIGEvdC90NzcwMC1yZXBhY2suc2gKKysrIGIvdC90NzcwMC1yZXBhY2suc2gKQEAgLTQsMTI5ICs0LDEwNCBAQAogCiAuIC4vdGVzdC1saWIuc2gKIAotY29tbWl0X2FuZF9wYWNrKCkgewotCXRlc3RfY29tbWl0ICIkQCIgPi9kZXYvbnVsbCAmJgotCVNIQTE9JChnaXQgcGFjay1vYmplY3RzIC0tYWxsIC0tdW5wYWNrZWQgLS1pbmNyZW1lbnRhbCAuZ2l0L29iamVjdHMvcGFjay9wYWNrIDwvZGV2L251bGwpICYmCi0JZWNobyBwYWNrLSR7U0hBMX0ucGFjaworY29tbWl0X2FuZF9wYWNrICgpIHsKKwl0ZXN0X2NvbW1pdCAiJEAiIDE+JjIgJiYKKwlpbmNycGFja2lkPSQoZ2l0IHBhY2stb2JqZWN0cyAtLWFsbCAtLXVucGFja2VkIC0taW5jcmVtZW50YWwgLmdpdC9vYmplY3RzL3BhY2svcGFjayA8L2Rldi9udWxsKSAmJgorCWVjaG8gcGFjay0ke2luY3JwYWNraWR9LnBhY2sKK30KKwordGVzdF9ub19taXNzaW5nX2luX3BhY2tzICgpIHsKKwlteWlkeD0kKGxzIC0xIC5naXQvb2JqZWN0cy9wYWNrLyouaWR4KSAmJgorCXRlc3RfcGF0aF9pc19maWxlICIkbXlpZHgiICYmCisJZ2l0IHZlcmlmeS1wYWNrIC12IGFsdF9vYmplY3RzL3BhY2svKi5pZHggPm9yaWcucmF3ICYmCisJc2VkIC1uIC1lICJzL15cKCRPSURfUkVHRVhcKS4qL1wxL3AiIG9yaWcucmF3IHwgc29ydCA+b3JpZyAmJgorCWdpdCB2ZXJpZnktcGFjayAtdiAkbXlpZHggPmRlc3QucmF3ICYmCisJY3V0IC1kIiAiIC1mMSBkZXN0LnJhdyB8IHNvcnQgPmRlc3QgJiYKKwljb21tIC0yMyBvcmlnIGRlc3QgPm1pc3NpbmcgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgbWlzc2luZworfQorCisjIHdlIGV4cGVjdCAkcGFja2lkIGFuZCAkb2lkIHRvIGJlIGRlZmluZWQKK3Rlc3RfaGFzX2R1cGxpY2F0ZV9vYmplY3QgKCkgeworCXdhbnRfZHVwbGljYXRlX29iamVjdD0iJDEiCisJZm91bmRfZHVwbGljYXRlX29iamVjdD1mYWxzZQorCWZvciBwIGluIC5naXQvb2JqZWN0cy9wYWNrLyouaWR4CisJZG8KKwkJaWR4PSQoYmFzZW5hbWUgJHApCisJCXRlc3QgInBhY2stJHBhY2tpZC5pZHgiID0gIiRpZHgiICYmIGNvbnRpbnVlCisJCWdpdCB2ZXJpZnktcGFjayAtdiAkcCA+cGFja2xpc3QgfHwgcmV0dXJuICQ/CisJCWlmIGdyZXAgIl4kb2lkIiBwYWNrbGlzdAorCQl0aGVuCisJCQlmb3VuZF9kdXBsaWNhdGVfb2JqZWN0PXRydWUKKwkJCWVjaG8gIkRVUExJQ0FURSBPQkpFQ1QgRk9VTkQiCisJCQlicmVhaworCQlmaQorCWRvbmUgJiYKKwl0ZXN0ICIkd2FudF9kdXBsaWNhdGVfb2JqZWN0IiA9ICIkZm91bmRfZHVwbGljYXRlX29iamVjdCIKIH0KIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnb2JqZWN0cyBpbiBwYWNrcyBtYXJrZWQgLmtlZXAgYXJlIG5vdCByZXBhY2tlZCcgJwotCWVjaG8gY29udGVudDEgPiBmaWxlMSAmJgotCWVjaG8gY29udGVudDIgPiBmaWxlMiAmJgorCWVjaG8gY29udGVudDEgPmZpbGUxICYmCisJZWNobyBjb250ZW50MiA+ZmlsZTIgJiYKIAlnaXQgYWRkIC4gJiYKIAl0ZXN0X3RpY2sgJiYKIAlnaXQgY29tbWl0IC1tIGluaXRpYWxfY29tbWl0ICYmCiAJIyBDcmVhdGUgdHdvIHBhY2tzCiAJIyBUaGUgZmlyc3QgcGFjayB3aWxsIGNvbnRhaW4gYWxsIG9mIHRoZSBvYmplY3RzIGV4Y2VwdCBvbmUKLQlnaXQgcmV2LWxpc3QgLS1vYmplY3RzIC0tYWxsIHwgZ3JlcCAtdiBmaWxlMiB8Ci0JCWdpdCBwYWNrLW9iamVjdHMgcGFjayA+IC9kZXYvbnVsbCAmJgorCWdpdCByZXYtbGlzdCAtLW9iamVjdHMgLS1hbGwgPm9ianMgJiYKKwlncmVwIC12IGZpbGUyIG9ianMgfCBnaXQgcGFjay1vYmplY3RzIHBhY2sgJiYKIAkjIFRoZSBzZWNvbmQgcGFjayB3aWxsIGNvbnRhaW4gdGhlIGV4Y2x1ZGVkIG9iamVjdAotCXBhY2tzaGExPSQoZ2l0IHJldi1saXN0IC0tb2JqZWN0cyAtLWFsbCB8IGdyZXAgZmlsZTIgfAotCQlnaXQgcGFjay1vYmplY3RzIHBhY2spICYmCi0JPnBhY2stJHBhY2tzaGExLmtlZXAgJiYKLQlvYmpzaGExPSQoZ2l0IHZlcmlmeS1wYWNrIC12IHBhY2stJHBhY2tzaGExLmlkeCB8IGhlYWQgLW4gMSB8Ci0JCXNlZCAtZSAicy9eXChbMC05YS1mXVx7NDBcfVwpLiovXDEvIikgJiYKKwlwYWNraWQ9JChncmVwIGZpbGUyIG9ianMgfCBnaXQgcGFjay1vYmplY3RzIHBhY2spICYmCisJPnBhY2stJHBhY2tpZC5rZWVwICYmCisJZ2l0IHZlcmlmeS1wYWNrIC12IHBhY2stJHBhY2tpZC5pZHggPnBhY2tsaXN0ICYmCisJb2lkPSQoaGVhZCAtbiAxIHBhY2tsaXN0IHwgc2VkIC1lICJzL15cKCRPSURfUkVHRVhcKS4qL1wxLyIpICYmCiAJbXYgcGFjay0qIC5naXQvb2JqZWN0cy9wYWNrLyAmJgogCWdpdCByZXBhY2sgLUEgLWQgLWwgJiYKIAlnaXQgcHJ1bmUtcGFja2VkICYmCi0JZm9yIHAgaW4gLmdpdC9vYmplY3RzL3BhY2svKi5pZHg7IGRvCi0JCWlkeD0kKGJhc2VuYW1lICRwKQotCQl0ZXN0ICJwYWNrLSRwYWNrc2hhMS5pZHgiID0gIiRpZHgiICYmIGNvbnRpbnVlCi0JCWlmIGdpdCB2ZXJpZnktcGFjayAtdiAkcCB8IGVncmVwICJeJG9ianNoYTEiOyB0aGVuCi0JCQlmb3VuZF9kdXBsaWNhdGVfb2JqZWN0PTEKLQkJCWVjaG8gIkRVUExJQ0FURSBPQkpFQ1QgRk9VTkQiCi0JCQlicmVhawotCQlmaQotCWRvbmUgJiYKLQl0ZXN0IC16ICIkZm91bmRfZHVwbGljYXRlX29iamVjdCIKKwl0ZXN0X2hhc19kdXBsaWNhdGVfb2JqZWN0IGZhbHNlCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dyaXRpbmcgYml0bWFwcyB2aWEgY29tbWFuZC1saW5lIGNhbiBkdXBsaWNhdGUgLmtlZXAgb2JqZWN0cycgJwotCSMgYnVpbGQgb24gJG9ianNoYTEsICRwYWNrc2hhMSwgYW5kIC5rZWVwIHN0YXRlIGZyb20gcHJldmlvdXMKKwkjIGJ1aWxkIG9uICRvaWQsICRwYWNraWQsIGFuZCAua2VlcCBzdGF0ZSBmcm9tIHByZXZpb3VzCiAJZ2l0IHJlcGFjayAtQWRibCAmJgotCXRlc3Rfd2hlbl9maW5pc2hlZCAiZm91bmRfZHVwbGljYXRlX29iamVjdD0iICYmCi0JZm9yIHAgaW4gLmdpdC9vYmplY3RzL3BhY2svKi5pZHg7IGRvCi0JCWlkeD0kKGJhc2VuYW1lICRwKQotCQl0ZXN0ICJwYWNrLSRwYWNrc2hhMS5pZHgiID0gIiRpZHgiICYmIGNvbnRpbnVlCi0JCWlmIGdpdCB2ZXJpZnktcGFjayAtdiAkcCB8IGVncmVwICJeJG9ianNoYTEiOyB0aGVuCi0JCQlmb3VuZF9kdXBsaWNhdGVfb2JqZWN0PTEKLQkJCWVjaG8gIkRVUExJQ0FURSBPQkpFQ1QgRk9VTkQiCi0JCQlicmVhawotCQlmaQotCWRvbmUgJiYKLQl0ZXN0ICIkZm91bmRfZHVwbGljYXRlX29iamVjdCIgPSAxCisJdGVzdF9oYXNfZHVwbGljYXRlX29iamVjdCB0cnVlCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3dyaXRpbmcgYml0bWFwcyB2aWEgY29uZmlnIGNhbiBkdXBsaWNhdGUgLmtlZXAgb2JqZWN0cycgJwotCSMgYnVpbGQgb24gJG9ianNoYTEsICRwYWNrc2hhMSwgYW5kIC5rZWVwIHN0YXRlIGZyb20gcHJldmlvdXMKKwkjIGJ1aWxkIG9uICRvaWQsICRwYWNraWQsIGFuZCAua2VlcCBzdGF0ZSBmcm9tIHByZXZpb3VzCiAJZ2l0IC1jIHJlcGFjay53cml0ZWJpdG1hcHM9dHJ1ZSByZXBhY2sgLUFkbCAmJgotCXRlc3Rfd2hlbl9maW5pc2hlZCAiZm91bmRfZHVwbGljYXRlX29iamVjdD0iICYmCi0JZm9yIHAgaW4gLmdpdC9vYmplY3RzL3BhY2svKi5pZHg7IGRvCi0JCWlkeD0kKGJhc2VuYW1lICRwKQotCQl0ZXN0ICJwYWNrLSRwYWNrc2hhMS5pZHgiID0gIiRpZHgiICYmIGNvbnRpbnVlCi0JCWlmIGdpdCB2ZXJpZnktcGFjayAtdiAkcCB8IGVncmVwICJeJG9ianNoYTEiOyB0aGVuCi0JCQlmb3VuZF9kdXBsaWNhdGVfb2JqZWN0PTEKLQkJCWVjaG8gIkRVUExJQ0FURSBPQkpFQ1QgRk9VTkQiCi0JCQlicmVhawotCQlmaQotCWRvbmUgJiYKLQl0ZXN0ICIkZm91bmRfZHVwbGljYXRlX29iamVjdCIgPSAxCisJdGVzdF9oYXNfZHVwbGljYXRlX29iamVjdCB0cnVlCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2xvb3NlIG9iamVjdHMgaW4gYWx0ZXJuYXRlIE9EQiBhcmUgbm90IHJlcGFja2VkJyAnCiAJbWtkaXIgYWx0X29iamVjdHMgJiYKLQllY2hvICQocHdkKS9hbHRfb2JqZWN0cyA+IC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMgJiYKLQllY2hvIGNvbnRlbnQzID4gZmlsZTMgJiYKLQlvYmpzaGExPSQoR0lUX09CSkVDVF9ESVJFQ1RPUlk9YWx0X29iamVjdHMgZ2l0IGhhc2gtb2JqZWN0IC13IGZpbGUzKSAmJgorCWVjaG8gJChwd2QpL2FsdF9vYmplY3RzID4uZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzICYmCisJZWNobyBjb250ZW50MyA+ZmlsZTMgJiYKKwlvaWQ9JChHSVRfT0JKRUNUX0RJUkVDVE9SWT1hbHRfb2JqZWN0cyBnaXQgaGFzaC1vYmplY3QgLXcgZmlsZTMpICYmCiAJZ2l0IGFkZCBmaWxlMyAmJgogCXRlc3RfdGljayAmJgogCWdpdCBjb21taXQgLW0gY29tbWl0X2ZpbGUzICYmCiAJZ2l0IHJlcGFjayAtYSAtZCAtbCAmJgogCWdpdCBwcnVuZS1wYWNrZWQgJiYKLQlmb3IgcCBpbiAuZ2l0L29iamVjdHMvcGFjay8qLmlkeDsgZG8KLQkJaWYgZ2l0IHZlcmlmeS1wYWNrIC12ICRwIHwgZWdyZXAgIl4kb2Jqc2hhMSI7IHRoZW4KLQkJCWZvdW5kX2R1cGxpY2F0ZV9vYmplY3Q9MQotCQkJZWNobyAiRFVQTElDQVRFIE9CSkVDVCBGT1VORCIKLQkJCWJyZWFrCi0JCWZpCi0JZG9uZSAmJgotCXRlc3QgLXogIiRmb3VuZF9kdXBsaWNhdGVfb2JqZWN0IgorCXRlc3RfaGFzX2R1cGxpY2F0ZV9vYmplY3QgZmFsc2UKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncGFja2VkIG9icyBpbiBhbHQgT0RCIGFyZSByZXBhY2tlZCBldmVuIHdoZW4gbG9jYWwgcmVwbyBpcyBwYWNrbGVzcycgJwogCW1rZGlyIGFsdF9vYmplY3RzL3BhY2sgJiYKIAltdiAuZ2l0L29iamVjdHMvcGFjay8qIGFsdF9vYmplY3RzL3BhY2sgJiYKIAlnaXQgcmVwYWNrIC1hICYmCi0JbXlpZHg9JChscyAtMSAuZ2l0L29iamVjdHMvcGFjay8qLmlkeCkgJiYKLQl0ZXN0IC1mICIkbXlpZHgiICYmCi0JZm9yIHAgaW4gYWx0X29iamVjdHMvcGFjay8qLmlkeDsgZG8KLQkJZ2l0IHZlcmlmeS1wYWNrIC12ICRwIHwgc2VkIC1uIC1lICIvXlswLTlhLWZdXHs0MFx9L3AiCi0JZG9uZSB8IHdoaWxlIHJlYWQgc2hhMSByZXN0OyBkbwotCQlpZiAhICggZ2l0IHZlcmlmeS1wYWNrIC12ICRteWlkeCB8IGdyZXAgIl4kc2hhMSIgKTsgdGhlbgotCQkJZWNobyAiTWlzc2luZyBvYmplY3QgaW4gbG9jYWwgcGFjazogJHNoYTEiCi0JCQlyZXR1cm4gMQotCQlmaQotCWRvbmUKKwl0ZXN0X25vX21pc3NpbmdfaW5fcGFja3MKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncGFja2VkIG9icyBpbiBhbHQgT0RCIGFyZSByZXBhY2tlZCB3aGVuIGxvY2FsIHJlcG8gaGFzIHBhY2tzJyAnCiAJcm0gLWYgLmdpdC9vYmplY3RzL3BhY2svKiAmJgotCWVjaG8gbmV3X2NvbnRlbnQgPj4gZmlsZTEgJiYKKwllY2hvIG5ld19jb250ZW50ID4+ZmlsZTEgJiYKIAlnaXQgYWRkIGZpbGUxICYmCiAJdGVzdF90aWNrICYmCiAJZ2l0IGNvbW1pdCAtbSBtb3JlX2NvbnRlbnQgJiYKIAlnaXQgcmVwYWNrICYmCiAJZ2l0IHJlcGFjayAtYSAtZCAmJgotCW15aWR4PSQobHMgLTEgLmdpdC9vYmplY3RzL3BhY2svKi5pZHgpICYmCi0JdGVzdCAtZiAiJG15aWR4IiAmJgotCWZvciBwIGluIGFsdF9vYmplY3RzL3BhY2svKi5pZHg7IGRvCi0JCWdpdCB2ZXJpZnktcGFjayAtdiAkcCB8IHNlZCAtbiAtZSAiL15bMC05YS1mXVx7NDBcfS9wIgotCWRvbmUgfCB3aGlsZSByZWFkIHNoYTEgcmVzdDsgZG8KLQkJaWYgISAoIGdpdCB2ZXJpZnktcGFjayAtdiAkbXlpZHggfCBncmVwICJeJHNoYTEiICk7IHRoZW4KLQkJCWVjaG8gIk1pc3Npbmcgb2JqZWN0IGluIGxvY2FsIHBhY2s6ICRzaGExIgotCQkJcmV0dXJuIDEKLQkJZmkKLQlkb25lCisJdGVzdF9ub19taXNzaW5nX2luX3BhY2tzCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3BhY2tlZCBvYnMgaW4gYWx0ZXJuYXRlIE9EQiBrZXB0IHBhY2sgYXJlIHJlcGFja2VkJyAnCkBAIC0xMzQsNyArMTA5LDcgQEAKIAlmb3IgcCBpbiBhbHRfb2JqZWN0cy9wYWNrLyoucGFjawogCWRvCiAJCWJhc2VfbmFtZT0kKGJhc2VuYW1lICRwIC5wYWNrKSAmJgotCQlpZiB0ZXN0IC1mIGFsdF9vYmplY3RzL3BhY2svJGJhc2VfbmFtZS5rZWVwCisJCWlmIHRlc3RfcGF0aF9pc19maWxlIGFsdF9vYmplY3RzL3BhY2svJGJhc2VfbmFtZS5rZWVwCiAJCXRoZW4KIAkJCXJtIGFsdF9vYmplY3RzL3BhY2svJGJhc2VfbmFtZS5rZWVwCiAJCWVsc2UKQEAgLTE0MiwyMiArMTE3LDEzIEBACiAJCWZpCiAJZG9uZSAmJgogCWdpdCByZXBhY2sgLWEgLWQgJiYKLQlteWlkeD0kKGxzIC0xIC5naXQvb2JqZWN0cy9wYWNrLyouaWR4KSAmJgotCXRlc3QgLWYgIiRteWlkeCIgJiYKLQlmb3IgcCBpbiBhbHRfb2JqZWN0cy9wYWNrLyouaWR4OyBkbwotCQlnaXQgdmVyaWZ5LXBhY2sgLXYgJHAgfCBzZWQgLW4gLWUgIi9eWzAtOWEtZl1cezQwXH0vcCIKLQlkb25lIHwgd2hpbGUgcmVhZCBzaGExIHJlc3Q7IGRvCi0JCWlmICEgKCBnaXQgdmVyaWZ5LXBhY2sgLXYgJG15aWR4IHwgZ3JlcCAiXiRzaGExIiApOyB0aGVuCi0JCQllY2hvICJNaXNzaW5nIG9iamVjdCBpbiBsb2NhbCBwYWNrOiAkc2hhMSIKLQkJCXJldHVybiAxCi0JCWZpCi0JZG9uZQorCXRlc3Rfbm9fbWlzc2luZ19pbl9wYWNrcwogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwYWNrZWQgdW5yZWFjaGFibGUgb2JzIGluIGFsdGVybmF0ZSBPREIgYXJlIG5vdCBsb29zZW5lZCcgJwogCXJtIC1mIGFsdF9vYmplY3RzL3BhY2svKi5rZWVwICYmCiAJbXYgLmdpdC9vYmplY3RzL3BhY2svKiBhbHRfb2JqZWN0cy9wYWNrLyAmJgotCWNzaGExPSQoZ2l0IHJldi1wYXJzZSBIRUFEXntjb21taXR9KSAmJgorCWNvaWQ9JChnaXQgcmV2LXBhcnNlIEhFQURee2NvbW1pdH0pICYmCiAJZ2l0IHJlc2V0IC0taGFyZCBIRUFEXiAmJgogCXRlc3RfdGljayAmJgogCWdpdCByZWZsb2cgZXhwaXJlIC0tZXhwaXJlPSR0ZXN0X3RpY2sgLS1leHBpcmUtdW5yZWFjaGFibGU9JHRlc3RfdGljayAtLWFsbCAmJgpAQCAtMTY3LDE1ICsxMzMsMTUgQEAKIAkgICAgLS11bnBhY2stdW5yZWFjaGFibGUgPC9kZXYvbnVsbCBwYWNrICYmCiAJcm0gLWYgLmdpdC9vYmplY3RzL3BhY2svKiAmJgogCW12IHBhY2stKiAuZ2l0L29iamVjdHMvcGFjay8gJiYKLQl0ZXN0IDAgPSAkKGdpdCB2ZXJpZnktcGFjayAtdiAtLSAuZ2l0L29iamVjdHMvcGFjay8qLmlkeCB8Ci0JCWVncmVwICJeJGNzaGExICIgfCBzb3J0IHwgdW5pcSB8IHdjIC1sKSAmJgotCWVjaG8gPiAuZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IHNob3cgJGNzaGExCisJZ2l0IHZlcmlmeS1wYWNrIC12IC0tIC5naXQvb2JqZWN0cy9wYWNrLyouaWR4ID5wYWNrbGlzdCAmJgorCSEgZ3JlcCAiXiRjb2lkICIgcGFja2xpc3QgJiYKKwllY2hvID4uZ2l0L29iamVjdHMvaW5mby9hbHRlcm5hdGVzICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHNob3cgJGNvaWQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnbG9jYWwgcGFja2VkIHVucmVhY2hhYmxlIG9icyB0aGF0IGV4aXN0IGluIGFsdGVybmF0ZSBPREIgYXJlIG5vdCBsb29zZW5lZCcgJwotCWVjaG8gJChwd2QpL2FsdF9vYmplY3RzID4gLmdpdC9vYmplY3RzL2luZm8vYWx0ZXJuYXRlcyAmJgotCWVjaG8gIiRjc2hhMSIgfCBnaXQgcGFjay1vYmplY3RzIC0tbm9uLWVtcHR5IC0tYWxsIC0tcmVmbG9nIHBhY2sgJiYKKwllY2hvICQocHdkKS9hbHRfb2JqZWN0cyA+LmdpdC9vYmplY3RzL2luZm8vYWx0ZXJuYXRlcyAmJgorCWVjaG8gIiRjb2lkIiB8IGdpdCBwYWNrLW9iamVjdHMgLS1ub24tZW1wdHkgLS1hbGwgLS1yZWZsb2cgcGFjayAmJgogCXJtIC1mIC5naXQvb2JqZWN0cy9wYWNrLyogJiYKIAltdiBwYWNrLSogLmdpdC9vYmplY3RzL3BhY2svICYmCiAJIyBUaGUgcGFjay1vYmplY3RzIGNhbGwgb24gdGhlIG5leHQgbGluZSBpcyBlcXVpdmFsZW50IHRvCkBAIC0xODQsMTAgKzE1MCwxMCBAQAogCSAgICAtLXVucGFjay11bnJlYWNoYWJsZSA8L2Rldi9udWxsIHBhY2sgJiYKIAlybSAtZiAuZ2l0L29iamVjdHMvcGFjay8qICYmCiAJbXYgcGFjay0qIC5naXQvb2JqZWN0cy9wYWNrLyAmJgotCXRlc3QgMCA9ICQoZ2l0IHZlcmlmeS1wYWNrIC12IC0tIC5naXQvb2JqZWN0cy9wYWNrLyouaWR4IHwKLQkJZWdyZXAgIl4kY3NoYTEgIiB8IHNvcnQgfCB1bmlxIHwgd2MgLWwpICYmCi0JZWNobyA+IC5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgc2hvdyAkY3NoYTEKKwlnaXQgdmVyaWZ5LXBhY2sgLXYgLS0gLmdpdC9vYmplY3RzL3BhY2svKi5pZHggPnBhY2tsaXN0ICYmCisJISBncmVwICJeJGNvaWQgIiAmJgorCWVjaG8gPi5naXQvb2JqZWN0cy9pbmZvL2FsdGVybmF0ZXMgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgc2hvdyAkY29pZAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdvYmplY3RzIG1hZGUgdW5yZWFjaGFibGUgYnkgZ3JhZnRzIG9ubHkgYXJlIGtlcHQnICcKQEAgLTE5Niw3ICsxNjIsNyBAQAogCUgwPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgogCUgxPSQoZ2l0IHJldi1wYXJzZSBIRUFEXikgJiYKIAlIMj0kKGdpdCByZXYtcGFyc2UgSEVBRF5eKSAmJgotCWVjaG8gIiRIMCAkSDIiID4gLmdpdC9pbmZvL2dyYWZ0cyAmJgorCWVjaG8gIiRIMCAkSDIiID4uZ2l0L2luZm8vZ3JhZnRzICYmCiAJZ2l0IHJlZmxvZyBleHBpcmUgLS1leHBpcmU9JHRlc3RfdGljayAtLWV4cGlyZS11bnJlYWNoYWJsZT0kdGVzdF90aWNrIC0tYWxsICYmCiAJZ2l0IHJlcGFjayAtYSAtZCAmJgogCWdpdCBjYXQtZmlsZSAtdCAkSDEKQEAgLTIyMSw1ICsxODcsNDUgQEAKIAkpCiAnCiAKLXRlc3RfZG9uZQordGVzdF9leHBlY3Rfc3VjY2VzcyAnYml0bWFwcyBhcmUgY3JlYXRlZCBieSBkZWZhdWx0IGluIGJhcmUgcmVwb3MnICcKKwlnaXQgY2xvbmUgLS1iYXJlIC5naXQgYmFyZS5naXQgJiYKKwlnaXQgLUMgYmFyZS5naXQgcmVwYWNrIC1hZCAmJgorCWJpdG1hcD0kKGxzIGJhcmUuZ2l0L29iamVjdHMvcGFjay8qLmJpdG1hcCkgJiYKKwl0ZXN0X3BhdGhfaXNfZmlsZSAiJGJpdG1hcCIKKycKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnaW5jcmVtZW50YWwgcmVwYWNrIGRvZXMgbm90IGNvbXBsYWluJyAnCisJZ2l0IC1DIGJhcmUuZ2l0IHJlcGFjayAtcSAyPnJlcGFjay5lcnIgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgcmVwYWNrLmVycgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdiaXRtYXBzIGNhbiBiZSBkaXNhYmxlZCBvbiBiYXJlIHJlcG9zJyAnCisJZ2l0IC1jIHJlcGFjay53cml0ZUJpdG1hcHM9ZmFsc2UgLUMgYmFyZS5naXQgcmVwYWNrIC1hZCAmJgorCWJpdG1hcD0kKGxzIGJhcmUuZ2l0L29iamVjdHMvcGFjay8qLmJpdG1hcCB8fCA6KSAmJgorCXRlc3QgLXogIiRiaXRtYXAiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ25vIGJpdG1hcHMgY3JlYXRlZCBpZiAua2VlcCBmaWxlcyBwcmVzZW50JyAnCisJcGFjaz0kKGxzIGJhcmUuZ2l0L29iamVjdHMvcGFjay8qLnBhY2spICYmCisJdGVzdF9wYXRoX2lzX2ZpbGUgIiRwYWNrIiAmJgorCWtlZXA9JHtwYWNrJS5wYWNrfS5rZWVwICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtZiBcIlwka2VlcFwiIiAmJgorCT4iJGtlZXAiICYmCisJZ2l0IC1DIGJhcmUuZ2l0IHJlcGFjayAtYWQgMj5zdGRlcnIgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgc3RkZXJyICYmCisJZmluZCBiYXJlLmdpdC9vYmplY3RzL3BhY2svIC10eXBlIGYgLW5hbWUgIiouYml0bWFwIiA+YWN0dWFsICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhdXRvLWJpdG1hcHMgZG8gbm90IGNvbXBsYWluIGlmIHVuYXZhaWxhYmxlJyAnCisJdGVzdF9jb25maWcgLUMgYmFyZS5naXQgcGFjay5wYWNrU2l6ZUxpbWl0IDFNICYmCisJYmxvYj0kKHRlc3QtdG9vbCBnZW5yYW5kb20gYmlnICQoKDEwMjQqMTAyNCkpIHwKKwkgICAgICAgZ2l0IC1DIGJhcmUuZ2l0IGhhc2gtb2JqZWN0IC13IC0tc3RkaW4pICYmCisJZ2l0IC1DIGJhcmUuZ2l0IHVwZGF0ZS1yZWYgcmVmcy90YWdzL2JpZyAkYmxvYiAmJgorCWdpdCAtQyBiYXJlLmdpdCByZXBhY2sgLWFkIDI+c3RkZXJyICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IHN0ZGVyciAmJgorCWZpbmQgYmFyZS5naXQvb2JqZWN0cy9wYWNrIC10eXBlIGYgLW5hbWUgIiouYml0bWFwIiA+YWN0dWFsICYmCisJdGVzdF9tdXN0X2JlX2VtcHR5IGFjdHVhbAorJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDc4MDAtZGlmZnRvb2wuc2ggYi90L3Q3ODAwLWRpZmZ0b29sLnNoCmluZGV4IDIyYjkxOTkuLjI5YjkyOTAgMTAwNzU1Ci0tLSBhL3QvdDc4MDAtZGlmZnRvb2wuc2gKKysrIGIvdC90NzgwMC1kaWZmdG9vbC5zaApAQCAtMTI1LDE1ICsxMjUsMTQgQEAKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1mIGZvci1kaWZmIC5naXQvZmFpbC1yaWdodC1maWxlIiAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0tIGZvci1kaWZmIiAmJgogCXdyaXRlX3NjcmlwdCAuZ2l0L2ZhaWwtcmlnaHQtZmlsZSA8PC1cRU9GICYmCi0JZWNobyAiJDIiCisJZWNobyBmYWlsZWQKIAlleGl0IDEKIAlFT0YKIAk+Zm9yLWRpZmYgJiYKIAlnaXQgYWRkIGZvci1kaWZmICYmCi0JZWNobyBmaWxlID5leHBlY3QgJiYKIAl0ZXN0X211c3RfZmFpbCBnaXQgZGlmZnRvb2wgLXkgLS10cnVzdC1leGl0LWNvZGUgXAogCQktLWV4dGNtZCAuZ2l0L2ZhaWwtcmlnaHQtZmlsZSBicmFuY2ggPmFjdHVhbCAmJgotCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwl0ZXN0X2xpbmVfY291bnQgPSAxIGFjdHVhbAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmdG9vbCBob25vcnMgZXhpdCBzdGF0dXMgaWYgY29tbWFuZCBub3QgZm91bmQnICcKQEAgLTI3OSwxMSArMjc4LDI3IEBACiAJZWNobyBicmFuY2ggPmV4cGVjdCAmJgogCWdpdCBkaWZmdG9vbCAtLW5vLXByb21wdCBicmFuY2ggPmFjdHVhbCAmJgogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwlnaXQgZGlmZnRvb2wgLS1ndWkgLS1uby1wcm9tcHQgYnJhbmNoID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCiAKIAkjIHNldCBtZXJnZS50b29sIHRvIHNvbWV0aGluZyBib2d1cywgZGlmZi50b29sIHRvIHRlc3QtdG9vbAogCXRlc3RfY29uZmlnIG1lcmdlLnRvb2wgYm9ndXMtdG9vbCAmJgogCXRlc3RfY29uZmlnIGRpZmYudG9vbCB0ZXN0LXRvb2wgJiYKIAlnaXQgZGlmZnRvb2wgLS1uby1wcm9tcHQgYnJhbmNoID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJZ2l0IGRpZmZ0b29sIC0tZ3VpIC0tbm8tcHJvbXB0IGJyYW5jaCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJIyBzZXQgbWVyZ2UudG9vbCwgZGlmZi50b29sIHRvIHNvbWV0aGluZyBib2d1cywgbWVyZ2UuZ3VpdG9vbCB0byB0ZXN0LXRvb2wKKwl0ZXN0X2NvbmZpZyBkaWZmLnRvb2wgYm9ndXMtdG9vbCAmJgorCXRlc3RfY29uZmlnIG1lcmdlLmd1aXRvb2wgdGVzdC10b29sICYmCisJZ2l0IGRpZmZ0b29sIC0tZ3VpIC0tbm8tcHJvbXB0IGJyYW5jaCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJIyBzZXQgbWVyZ2UudG9vbCwgZGlmZi50b29sLCBtZXJnZS5ndWl0b29sIHRvIHNvbWV0aGluZyBib2d1cywgZGlmZi5ndWl0b29sIHRvIHRlc3QtdG9vbAorCXRlc3RfY29uZmlnIG1lcmdlLmd1aXRvb2wgYm9ndXMtdG9vbCAmJgorCXRlc3RfY29uZmlnIGRpZmYuZ3VpdG9vbCB0ZXN0LXRvb2wgJiYKKwlnaXQgZGlmZnRvb2wgLS1ndWkgLS1uby1wcm9tcHQgYnJhbmNoID5hY3R1YWwgJiYKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKQEAgLTU0Niw3ICs1NjEsNyBAQAogZG9uZSA+YWN0dWFsCiBFT0YKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyBTWU1MSU5LUyAnZGlmZnRvb2wgLS1kaXItZGlmZiAtLXN5bWxpbmsgd2l0aG91dCB1bnN0YWdlZCBjaGFuZ2VzJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzIFNZTUxJTktTICdkaWZmdG9vbCAtLWRpci1kaWZmIC0tc3ltbGlua3Mgd2l0aG91dCB1bnN0YWdlZCBjaGFuZ2VzJyAnCiAJY2F0ID5leHBlY3QgPDwtRU9GICYmCiAJZmlsZQogCSRQV0QvZmlsZQpAQCAtNTU1LDcgKzU3MCw3IEBACiAJc3ViL3N1YgogCSRQV0Qvc3ViL3N1YgogCUVPRgotCWdpdCBkaWZmdG9vbCAtLWRpci1kaWZmIC0tc3ltbGluayBcCisJZ2l0IGRpZmZ0b29sIC0tZGlyLWRpZmYgLS1zeW1saW5rcyBcCiAJCS0tZXh0Y21kICIuLy5naXQvQ0hFQ0tfU1lNTElOS1MiIGJyYW5jaCBIRUFEICYmCiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwpAQCAtNzA1LDQgKzcyMCwyMiBAQAogCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnb3V0c2lkZSB3b3JrdHJlZScgJworCWVjaG8gMSA+MSAmJgorCWVjaG8gMiA+MiAmJgorCXRlc3RfZXhwZWN0X2NvZGUgMSBub25naXQgZ2l0IFwKKwkJLWMgZGlmZi50b29sPWVjaG8gLWMgZGlmZnRvb2wuZWNoby5jbWQ9ImVjaG8gXCRMT0NBTCBcJFJFTU9URSIgXAorCQlkaWZmdG9vbCAtLW5vLXByb21wdCAtLW5vLWluZGV4IC4uLzEgLi4vMiA+YWN0dWFsICYmCisJZWNobyAiLi4vMSAuLi8yIiA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaWZmdG9vbCAtLWd1aSwgLS10b29sIGFuZCAtLWV4dGNtZCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlJyAnCisJZGlmZnRvb2xfdGVzdF9zZXR1cCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmdG9vbCAtLWd1aSAtLXRvb2w9dGVzdC10b29sICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGRpZmZ0b29sIC0tZ3VpIC0tZXh0Y21kPWNhdCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmdG9vbCAtLXRvb2w9dGVzdC10b29sIC0tZXh0Y21kPWNhdCAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBkaWZmdG9vbCAtLWd1aSAtLXRvb2w9dGVzdC10b29sIC0tZXh0Y21kPWNhdAorJworCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDc4MTAtZ3JlcC5zaCBiL3QvdDc4MTAtZ3JlcC5zaAppbmRleCA0M2FhNDE2Li43ZDdiMzk2IDEwMDc1NQotLS0gYS90L3Q3ODEwLWdyZXAuc2gKKysrIGIvdC90NzgxMC1ncmVwLnNoCkBAIC0xMTksMzMgKzExOSwzMyBAQAogCQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKIAknCiAKLQl0ZXN0X2V4cGVjdF9zdWNjZXNzICJncmVwIC13ICRMICh3aXRoIC0tY29sdW1uLCAtLWludmVydCkiICcKKwl0ZXN0X2V4cGVjdF9zdWNjZXNzICJncmVwIC13ICRMICh3aXRoIC0tY29sdW1uLCAtLWludmVydC1tYXRjaCkiICcKIAkJewogCQkJZWNobyAke0hDfWZpbGU6MTpmb28gbW1hcCBiYXIKIAkJCWVjaG8gJHtIQ31maWxlOjE6Zm9vX21tYXAgYmFyCiAJCQllY2hvICR7SEN9ZmlsZToxOmZvb19tbWFwIGJhciBtbWFwCiAJCQllY2hvICR7SEN9ZmlsZToxOmZvbyBtbWFwIGJhcl9tbWFwCiAJCX0gPmV4cGVjdGVkICYmCi0JCWdpdCBncmVwIC0tY29sdW1uIC0taW52ZXJ0IC13IC1lIGJheiAkSCAtLSBmaWxlID5hY3R1YWwgJiYKKwkJZ2l0IGdyZXAgLS1jb2x1bW4gLS1pbnZlcnQtbWF0Y2ggLXcgLWUgYmF6ICRIIC0tIGZpbGUgPmFjdHVhbCAmJgogCQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKIAknCiAKLQl0ZXN0X2V4cGVjdF9zdWNjZXNzICJncmVwICRMICh3aXRoIC0tY29sdW1uLCAtLWludmVydCwgZXh0ZW5kZWQgT1IpIiAnCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAiZ3JlcCAkTCAod2l0aCAtLWNvbHVtbiwgLS1pbnZlcnQtbWF0Y2gsIGV4dGVuZGVkIE9SKSIgJwogCQl7CiAJCQllY2hvICR7SEN9aGVsbG9fd29ybGQ6NjpIZUxMb193b3JsZAogCQl9ID5leHBlY3RlZCAmJgotCQlnaXQgZ3JlcCAtLWNvbHVtbiAtLWludmVydCAtZSBsbCAtLW9yIC0tbm90IC1lIF8gJEggLS0gaGVsbG9fd29ybGQgXAorCQlnaXQgZ3JlcCAtLWNvbHVtbiAtLWludmVydC1tYXRjaCAtZSBsbCAtLW9yIC0tbm90IC1lIF8gJEggLS0gaGVsbG9fd29ybGQgXAogCQkJPmFjdHVhbCAmJgogCQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKIAknCiAKLQl0ZXN0X2V4cGVjdF9zdWNjZXNzICJncmVwICRMICh3aXRoIC0tY29sdW1uLCAtLWludmVydCwgZXh0ZW5kZWQgQU5EKSIgJworCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgImdyZXAgJEwgKHdpdGggLS1jb2x1bW4sIC0taW52ZXJ0LW1hdGNoLCBleHRlbmRlZCBBTkQpIiAnCiAJCXsKIAkJCWVjaG8gJHtIQ31oZWxsb193b3JsZDozOkhlbGxvIHdvcmxkCiAJCQllY2hvICR7SEN9aGVsbG9fd29ybGQ6MzpIZWxsb193b3JsZAogCQkJZWNobyAke0hDfWhlbGxvX3dvcmxkOjY6SGVMTG9fd29ybGQKIAkJfSA+ZXhwZWN0ZWQgJiYKLQkJZ2l0IGdyZXAgLS1jb2x1bW4gLS1pbnZlcnQgLS1ub3QgLWUgXyAtLWFuZCAtLW5vdCAtZSBsbCAkSCAtLSBoZWxsb193b3JsZCBcCisJCWdpdCBncmVwIC0tY29sdW1uIC0taW52ZXJ0LW1hdGNoIC0tbm90IC1lIF8gLS1hbmQgLS1ub3QgLWUgbGwgJEggLS0gaGVsbG9fd29ybGQgXAogCQkJPmFjdHVhbCAmJgogCQl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKIAknCkBAIC00MTIsNyArNDEyLDcgQEAKIAkJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAJJwogCi0JdGVzdF9leHBlY3Rfc3VjY2VzcyAhUENSRSAiZ3JlcCAkTCB3aXRoIGdyZXAucGF0dGVybnR5cGU9cGVybCBlcnJvcnMgd2l0aG91dCBQQ1JFIiAnCisJdGVzdF9leHBlY3Rfc3VjY2VzcyAhRkFJTF9QUkVSRVFTLCFQQ1JFICJncmVwICRMIHdpdGggZ3JlcC5wYXR0ZXJudHlwZT1wZXJsIGVycm9ycyB3aXRob3V0IFBDUkUiICcKIAkJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIGdyZXAucGF0dGVybnR5cGU9cGVybCBncmVwICJmb28uKmJhciIKIAknCiAKQEAgLTEwMTAsNyArMTAxMCw3IEBACiAJCQllY2hvICIuZ2l0aWdub3JlOi4qbyoiICYmCiAJCQljYXQgLi4vZXhwZWN0LmZ1bGwKIAkJfSA+Li4vZXhwZWN0LndpdGguaWdub3JlZCAmJgotCQlnaXQgZ3JlcCAtLW5vLWluZGV4IC0tbm8tZXhjbHVkZSBvID4uLi9hY3R1YWwuZnVsbCAmJgorCQlnaXQgZ3JlcCAtLW5vLWluZGV4IC0tbm8tZXhjbHVkZS1zdGFuZGFyZCBvID4uLi9hY3R1YWwuZnVsbCAmJgogCQl0ZXN0X2NtcCAuLi9leHBlY3Qud2l0aC5pZ25vcmVkIC4uL2FjdHVhbC5mdWxsCiAJKQogJwpAQCAtMTA1MSw3ICsxMDUxLDcgQEAKIAkJCWVjaG8gIi5naXRpZ25vcmU6LipvKiIgJiYKIAkJCWNhdCAuLi9leHBlY3QuZnVsbAogCQl9ID4uLi9leHBlY3Qud2l0aC5pZ25vcmVkICYmCi0JCWdpdCAtYyBncmVwLmZhbGxiYWNrVG9Ob0luZGV4IGdyZXAgLS1uby1leGNsdWRlIG8gPi4uL2FjdHVhbC5mdWxsICYmCisJCWdpdCAtYyBncmVwLmZhbGxiYWNrVG9Ob0luZGV4IGdyZXAgLS1uby1leGNsdWRlLXN0YW5kYXJkIG8gPi4uL2FjdHVhbC5mdWxsICYmCiAJCXRlc3RfY21wIC4uL2V4cGVjdC53aXRoLmlnbm9yZWQgLi4vYWN0dWFsLmZ1bGwKIAkpCiAnCkBAIC0xMjM0LDcgKzEyMzQsNyBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICFQQ1JFICdncmVwIC0tcGVybC1yZWdleHAgcGF0dGVybiBlcnJvcnMgd2l0aG91dCBQQ1JFJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICFGQUlMX1BSRVJFUVMsIVBDUkUgJ2dyZXAgLS1wZXJsLXJlZ2V4cCBwYXR0ZXJuIGVycm9ycyB3aXRob3V0IFBDUkUnICcKIAl0ZXN0X211c3RfZmFpbCBnaXQgZ3JlcCAtLXBlcmwtcmVnZXhwICJmb28uKmJhciIKICcKIApAQCAtMTI0OSw3ICsxMjQ5LDcgQEAKIAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICFQQ1JFICdncmVwIC1QIHBhdHRlcm4gZXJyb3JzIHdpdGhvdXQgUENSRScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAhRkFJTF9QUkVSRVFTLCFQQ1JFICdncmVwIC1QIHBhdHRlcm4gZXJyb3JzIHdpdGhvdXQgUENSRScgJwogCXRlc3RfbXVzdF9mYWlsIGdpdCBncmVwIC1QICJmb28uKmJhciIKICcKIApkaWZmIC0tZ2l0IGEvdC90NzgxMS1ncmVwLW9wZW4uc2ggYi90L3Q3ODExLWdyZXAtb3Blbi5zaAppbmRleCBkMWViZmQ4Li5hOTg3ODVkIDEwMDc1NQotLS0gYS90L3Q3ODExLWdyZXAtb3Blbi5zaAorKysgYi90L3Q3ODExLWdyZXAtb3Blbi5zaApAQCAtMTEzLDcgKzExMyw2IEBACiAJc3ViZGlyL2dyZXAuYwogCXVucmVsYXRlZAogCUVPRgotCT5lbXB0eSAmJgogCiAJZWNobyAiZW51bSBncmVwX3BhdF90b2tlbiIgPnVucmVsYXRlZCAmJgogCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IGNoZWNrb3V0IEhFQUQgdW5yZWxhdGVkIiAmJgpkaWZmIC0tZ2l0IGEvdC90NzgxMi1ncmVwLWljYXNlLW5vbi1hc2NpaS5zaCBiL3QvdDc4MTItZ3JlcC1pY2FzZS1ub24tYXNjaWkuc2gKaW5kZXggMGM2ODVkMy4uMDNkYmE2NiAxMDA3NTUKLS0tIGEvdC90NzgxMi1ncmVwLWljYXNlLW5vbi1hc2NpaS5zaAorKysgYi90L3Q3ODEyLWdyZXAtaWNhc2Utbm9uLWFzY2lpLnNoCkBAIC01Myw0ICs1MywzNSBAQAogCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzIEdFVFRFWFRfTE9DQUxFLExJQlBDUkUyICdQQ1JFIHYyOiBzZXR1cCBpbnZhbGlkIFVURi04IGRhdGEnICcKKwlwcmludGYgIlxcMjAwXFxuIiA+aW52YWxpZC0weDgwICYmCisJZWNobyAiw6Z2YXIiID5leHBlY3RlZCAmJgorCWNhdCBleHBlY3RlZCA+PmludmFsaWQtMHg4MCAmJgorCWdpdCBhZGQgaW52YWxpZC0weDgwCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR0VUVEVYVF9MT0NBTEUsTElCUENSRTIgJ1BDUkUgdjI6IGdyZXAgQVNDSUkgZnJvbSBpbnZhbGlkIFVURi04IGRhdGEnICcKKwlnaXQgZ3JlcCAtaCAidmFyIiBpbnZhbGlkLTB4ODAgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCWdpdCBncmVwIC1oICIoKk5PX0pJVCl2YXIiIGludmFsaWQtMHg4MCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgR0VUVEVYVF9MT0NBTEUsTElCUENSRTIgJ1BDUkUgdjI6IGdyZXAgbm9uLUFTQ0lJIGZyb20gaW52YWxpZCBVVEYtOCBkYXRhJyAnCisJZ2l0IGdyZXAgLWggIsOmIiBpbnZhbGlkLTB4ODAgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbCAmJgorCWdpdCBncmVwIC1oICIoKk5PX0pJVCnDpiIgaW52YWxpZC0weDgwID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBHRVRURVhUX0xPQ0FMRSxMSUJQQ1JFMiAnUENSRSB2MjogZ3JlcCBub24tQVNDSUkgZnJvbSBpbnZhbGlkIFVURi04IGRhdGEgd2l0aCAtaScgJworCXRlc3RfbWlnaHRfZmFpbCBnaXQgZ3JlcCAtaGkgIsOGIiBpbnZhbGlkLTB4ODAgPmFjdHVhbCAmJgorCWlmIHRlc3QgLXMgYWN0dWFsCisJdGhlbgorCSAgICB0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKwlmaSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBncmVwIC1oaSAiKCpOT19KSVQpw4YiIGludmFsaWQtMHg4MCA+YWN0dWFsICYmCisJISB0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3ODE0LWdyZXAtcmVjdXJzZS1zdWJtb2R1bGVzLnNoIGIvdC90NzgxNC1ncmVwLXJlY3Vyc2Utc3VibW9kdWxlcy5zaAppbmRleCBmYTQ3NWQ1Li44MjhjYjNiIDEwMDc1NQotLS0gYS90L3Q3ODE0LWdyZXAtcmVjdXJzZS1zdWJtb2R1bGVzLnNoCisrKyBiL3QvdDc4MTQtZ3JlcC1yZWN1cnNlLXN1Ym1vZHVsZXMuc2gKQEAgLTE0LDEyICsxNCwxNCBAQAogCWVjaG8gIigzfDQpIiA+Yi9iICYmCiAJZ2l0IGFkZCBhIGIgJiYKIAlnaXQgY29tbWl0IC1tICJhZGQgYSBhbmQgYiIgJiYKKwl0ZXN0X3RpY2sgJiYKIAlnaXQgaW5pdCBzdWJtb2R1bGUgJiYKIAllY2hvICIoMXwyKWQoM3w0KSIgPnN1Ym1vZHVsZS9hICYmCiAJZ2l0IC1DIHN1Ym1vZHVsZSBhZGQgYSAmJgogCWdpdCAtQyBzdWJtb2R1bGUgY29tbWl0IC1tICJhZGQgYSIgJiYKIAlnaXQgc3VibW9kdWxlIGFkZCAuL3N1Ym1vZHVsZSAmJgotCWdpdCBjb21taXQgLW0gImFkZGVkIHN1Ym1vZHVsZSIKKwlnaXQgY29tbWl0IC1tICJhZGRlZCBzdWJtb2R1bGUiICYmCisJdGVzdF90aWNrCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyZXAgY29ycmVjdGx5IGZpbmRzIHBhdHRlcm5zIGluIGEgc3VibW9kdWxlJyAnCkBAIC02NSwxMSArNjcsMTQgQEAKIAllY2hvICIoMXwyKWQoM3w0KSIgPnN1Ym1vZHVsZS9zdWIvYSAmJgogCWdpdCAtQyBzdWJtb2R1bGUvc3ViIGFkZCBhICYmCiAJZ2l0IC1DIHN1Ym1vZHVsZS9zdWIgY29tbWl0IC1tICJhZGQgYSIgJiYKKwl0ZXN0X3RpY2sgJiYKIAlnaXQgLUMgc3VibW9kdWxlIHN1Ym1vZHVsZSBhZGQgLi9zdWIgJiYKIAlnaXQgLUMgc3VibW9kdWxlIGFkZCBzdWIgJiYKIAlnaXQgLUMgc3VibW9kdWxlIGNvbW1pdCAtbSAiYWRkZWQgc3ViIiAmJgorCXRlc3RfdGljayAmJgogCWdpdCBhZGQgc3VibW9kdWxlICYmCiAJZ2l0IGNvbW1pdCAtbSAidXBkYXRlZCBzdWJtb2R1bGUiICYmCisJdGVzdF90aWNrICYmCiAKIAljYXQgPmV4cGVjdCA8PC1cRU9GICYmCiAJYTooMXwyKWQoM3w0KQpAQCAtMTc5LDE1ICsxODQsMTggQEAKIAllY2hvICIoMXwyKWQoM3w0KSIgPiJwYXJlbnQvZmk6bGUiICYmCiAJZ2l0IC1DIHBhcmVudCBhZGQgImZpOmxlIiAmJgogCWdpdCAtQyBwYXJlbnQgY29tbWl0IC1tICJhZGQgZmk6bGUiICYmCisJdGVzdF90aWNrICYmCiAKIAlnaXQgaW5pdCAic3U6YiIgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgInJtIC1yZiBzdTpiIiAmJgogCWVjaG8gIigxfDIpZCgzfDQpIiA+InN1OmIvZmk6bGUiICYmCiAJZ2l0IC1DICJzdTpiIiBhZGQgImZpOmxlIiAmJgogCWdpdCAtQyAic3U6YiIgY29tbWl0IC1tICJhZGQgZmk6bGUiICYmCisJdGVzdF90aWNrICYmCiAKIAlnaXQgLUMgcGFyZW50IHN1Ym1vZHVsZSBhZGQgIi4uL3N1OmIiICJzdTpiIiAmJgogCWdpdCAtQyBwYXJlbnQgY29tbWl0IC1tICJhZGQgc3VibW9kdWxlIiAmJgorCXRlc3RfdGljayAmJgogCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgogCWZpOmxlOigxfDIpZCgzfDQpCkBAIC0yMTAsMTUgKzIxOCwxOCBAQAogCWVjaG8gIigxfDIpZCgzfDQpIiA+cGFyZW50L2ZpbGUgJiYKIAlnaXQgLUMgcGFyZW50IGFkZCBmaWxlICYmCiAJZ2l0IC1DIHBhcmVudCBjb21taXQgLW0gImFkZCBmaWxlIiAmJgorCXRlc3RfdGljayAmJgogCiAJZ2l0IGluaXQgc3ViICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJybSAtcmYgc3ViIiAmJgogCWVjaG8gIigxfDIpZCgzfDQpIiA+c3ViL2ZpbGUgJiYKIAlnaXQgLUMgc3ViIGFkZCBmaWxlICYmCiAJZ2l0IC1DIHN1YiBjb21taXQgLW0gImFkZCBmaWxlIiAmJgorCXRlc3RfdGljayAmJgogCiAJZ2l0IC1DIHBhcmVudCBzdWJtb2R1bGUgYWRkIC4uL3N1YiBkaXIvc3ViICYmCiAJZ2l0IC1DIHBhcmVudCBjb21taXQgLW0gImFkZCBzdWJtb2R1bGUiICYmCisJdGVzdF90aWNrICYmCiAKIAljYXQgPmV4cGVjdCA8PC1cRU9GICYmCiAJZGlyL3N1Yi9maWxlOigxfDIpZCgzfDQpCkBAIC0yMjksNiArMjQwLDcgQEAKIAogCWdpdCAtQyBwYXJlbnQgbXYgZGlyL3N1YiBzdWItbW92ZWQgJiYKIAlnaXQgLUMgcGFyZW50IGNvbW1pdCAtbSAibW92ZWQgc3VibW9kdWxlIiAmJgorCXRlc3RfdGljayAmJgogCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgogCWZpbGU6KDF8MilkKDN8NCkKQEAgLTI1MSw2ICsyNjMsNyBAQAogCWVjaG8gIigxfDIpZCgzfDQpIiA+c3ViL2ZpbGUgJiYKIAlnaXQgLUMgc3ViIGFkZCBmaWxlICYmCiAJZ2l0IC1DIHN1YiBjb21taXQgLW0gImFkZCBmaWxlIiAmJgorCXRlc3RfdGljayAmJgogCiAJZ2l0IGluaXQgcGFyZW50ICYmCiAJZWNobyAiKDF8MilkKDN8NCkiID5wYXJlbnQvZmlsZSAmJgpAQCAtMjYwLDYgKzI3Myw3IEBACiAJZ2l0IC1DIHBhcmVudCBhZGQgc3JjL2ZpbGUyICYmCiAJZ2l0IC1DIHBhcmVudCBzdWJtb2R1bGUgYWRkIC4uL3N1YiAmJgogCWdpdCAtQyBwYXJlbnQgY29tbWl0IC1tICJhZGQgZmlsZXMgYW5kIHN1Ym1vZHVsZSIgJiYKKwl0ZXN0X3RpY2sgJiYKIAogCSMgRnJvbSB0b3Agd29ya3MKIAljYXQgPmV4cGVjdCA8PC1cRU9GICYmCkBAIC0yOTMsNiArMzA3LDcgQEAKIAllY2hvICIoMXwyKWQoM3w0KSIgPnN1Yi9maWxlICYmCiAJZ2l0IC1DIHN1YiBhZGQgZmlsZSAmJgogCWdpdCAtQyBzdWIgY29tbWl0IC1tICJhZGQgZmlsZSIgJiYKKwl0ZXN0X3RpY2sgJiYKIAogCWdpdCBpbml0IHBhcmVudCAmJgogCW1rZGlyIHBhcmVudC9zcmMgJiYKQEAgLTMwMSw2ICszMTYsNyBAQAogCWdpdCAtQyBwYXJlbnQgc3VibW9kdWxlIGFkZCAuLi9zdWIgc3JjL3N1YiAmJgogCWdpdCAtQyBwYXJlbnQgc3VibW9kdWxlIGFkZCAuLi9zdWIgc3ViICYmCiAJZ2l0IC1DIHBhcmVudCBjb21taXQgLW0gImFkZCBmaWxlcyBhbmQgc3VibW9kdWxlcyIgJiYKKwl0ZXN0X3RpY2sgJiYKIAogCSMgVmVyaWZ5IGdyZXAgZnJvbSByb290IHdvcmtzCiAJY2F0ID5leHBlY3QgPDwtXEVPRiAmJgpAQCAtMzI5LDcgKzM0NSwxNiBAQAogfQogCiB0ZXN0X2luY29tcGF0aWJsZV93aXRoX3JlY3Vyc2Vfc3VibW9kdWxlcyAtLXVudHJhY2tlZAotdGVzdF9pbmNvbXBhdGlibGVfd2l0aF9yZWN1cnNlX3N1Ym1vZHVsZXMgLS1uby1pbmRleAorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIC0tcmVjdXJzZS1zdWJtb2R1bGVzIC0tbm8taW5kZXggaWdub3JlcyAtLXJlY3Vyc2Utc3VibW9kdWxlcycgJworCWdpdCBncmVwIC0tcmVjdXJzZS1zdWJtb2R1bGVzIC0tbm8taW5kZXggLWUgIl4oLnwuKVtcZF0iID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdCA8PC1cRU9GICYmCisJYTooMXwyKWQoM3w0KQorCXN1Ym1vZHVsZS9hOigxfDIpZCgzfDQpCisJc3VibW9kdWxlL3N1Yi9hOigxfDIpZCgzfDQpCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIC0tcmVjdXJzZS1zdWJtb2R1bGVzIHNob3VsZCBwYXNzIHRoZSBwYXR0ZXJuIHR5cGUgYWxvbmcnICcKIAkjIEZpeGVkCkBAIC0zODAsMTEgKzQwNSw3IEBACiAJZmkKICcKIAotIyBSZWN1cnNpbmcgZG93biBpbnRvIG5lc3RlZCBzdWJtb2R1bGVzIHdoaWNoIGRvIG5vdCBoYXZlIC5naXRtb2R1bGVzIGluIHRoZWlyCi0jIHdvcmtpbmcgdHJlZSBkb2VzIG5vdCB3b3JrIHlldC4gVGhpcyBpcyBiZWNhdXNlIGNvbmZpZ19mcm9tX2dpdG1vZHVsZXMoKQotIyB1c2VzIGdldF9vaWQoKSBhbmQgdGhlIGxhdHRlciBpcyBzdGlsbCBub3QgYWJsZSB0byBnZXQgb2JqZWN0cyBmcm9tIGFuCi0jIGFyYml0cmFyeSByZXBvc2l0b3J5ICh0aGUgbmVzdGVkIHN1Ym1vZHVsZSwgaW4gdGhpcyBjYXNlKS4KLXRlc3RfZXhwZWN0X2ZhaWx1cmUgJ2dyZXAgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgd2l0aCBzdWJtb2R1bGVzIHdpdGhvdXQgLmdpdG1vZHVsZXMgaW4gdGhlIHdvcmtpbmcgdHJlZScgJwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCAtLXJlY3Vyc2Utc3VibW9kdWxlcyB3aXRoIHN1Ym1vZHVsZXMgd2l0aG91dCAuZ2l0bW9kdWxlcyBpbiB0aGUgd29ya2luZyB0cmVlJyAnCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgLUMgc3VibW9kdWxlIGNoZWNrb3V0IC5naXRtb2R1bGVzIiAmJgogCXJtIHN1Ym1vZHVsZS8uZ2l0bW9kdWxlcyAmJgogCWdpdCBncmVwIC0tcmVjdXJzZS1zdWJtb2R1bGVzIC1lICIoLnwuKVtcZF0iID5hY3R1YWwgJiYKQEAgLTM5Niw0ICs0MTcsMjUgQEAKIAl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCiAnCiAKK3Jlc2V0X2FuZF9jbGVhbiAoKSB7CisJZ2l0IHJlc2V0IC0taGFyZCAmJgorCWdpdCBjbGVhbiAtZmQgJiYKKwlnaXQgc3VibW9kdWxlIGZvcmVhY2ggLS1yZWN1cnNpdmUgJ2dpdCByZXNldCAtLWhhcmQnICYmCisJZ2l0IHN1Ym1vZHVsZSBmb3JlYWNoIC0tcmVjdXJzaXZlICdnaXQgY2xlYW4gLWZkJworfQorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIC0tcmVjdXJzZS1zdWJtb2R1bGVzIHdpdGhvdXQgLS1jYWNoZWQgY29uc2lkZXJzIHdvcmt0cmVlIG1vZGlmaWNhdGlvbnMnICcKKwlyZXNldF9hbmRfY2xlYW4gJiYKKwllY2hvICJBIG1vZGlmaWVkIGxpbmUgaW4gc3VibW9kdWxlIiA+PnN1Ym1vZHVsZS9hICYmCisJZWNobyAic3VibW9kdWxlL2E6QSBtb2RpZmllZCBsaW5lIGluIHN1Ym1vZHVsZSIgPmV4cGVjdCAmJgorCWdpdCBncmVwIC0tcmVjdXJzZS1zdWJtb2R1bGVzICJBIG1vZGlmaWVkIGxpbmUgaW4gc3VibW9kdWxlIiA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIC0tcmVjdXJzZS1zdWJtb2R1bGVzIHdpdGggLS1jYWNoZWQgaWdub3JlcyB3b3JrdHJlZSBtb2RpZmljYXRpb25zJyAnCisJcmVzZXRfYW5kX2NsZWFuICYmCisJZWNobyAiQSBtb2RpZmllZCBsaW5lIGluIHN1Ym1vZHVsZSIgPj5zdWJtb2R1bGUvYSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBncmVwIC0tcmVjdXJzZS1zdWJtb2R1bGVzIC0tY2FjaGVkICJBIG1vZGlmaWVkIGxpbmUgaW4gc3VibW9kdWxlIiA+YWN0dWFsIDI+JjEgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCisnCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDc4MTUtZ3JlcC1iaW5hcnkuc2ggYi90L3Q3ODE1LWdyZXAtYmluYXJ5LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkwZWJiNjQKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q3ODE1LWdyZXAtYmluYXJ5LnNoCkBAIC0wLDAgKzEsMTQ4IEBACisjIS9iaW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0nZ2l0IGdyZXAgaW4gYmluYXJ5IGZpbGVzJworCisuIC4vdGVzdC1saWIuc2gKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnc2V0dXAnICIKKwllY2hvICdiaW5hcnlRZmlsZVFtWypdY1Eqw6ZRw7AnIHwgcV90b19udWwgPmEgJiYKKwlnaXQgYWRkIGEgJiYKKwlnaXQgY29tbWl0IC1tLgorIgorCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgZ3JlcCBpbmEgYScgJworCWVjaG8gQmluYXJ5IGZpbGUgYSBtYXRjaGVzID5leHBlY3QgJiYKKwlnaXQgZ3JlcCBpbmEgYSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgZ3JlcCAtYWggaW5hIGEnICcKKwlnaXQgZ3JlcCAtYWggaW5hIGEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGEgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBncmVwIC1JIGluYSBhJyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGdyZXAgLUkgaW5hIGEgPmFjdHVhbCAmJgorCXRlc3RfbXVzdF9iZV9lbXB0eSBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGdyZXAgLWMgaW5hIGEnICcKKwllY2hvIGE6MSA+ZXhwZWN0ICYmCisJZ2l0IGdyZXAgLWMgaW5hIGEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGdyZXAgLWwgaW5hIGEnICcKKwllY2hvIGEgPmV4cGVjdCAmJgorCWdpdCBncmVwIC1sIGluYSBhID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBncmVwIC1MIGJhciBhJyAnCisJZWNobyBhID5leHBlY3QgJiYKKwlnaXQgZ3JlcCAtTCBiYXIgYSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgZ3JlcCAtcSBpbmEgYScgJworCWdpdCBncmVwIC1xIGluYSBhID5hY3R1YWwgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBncmVwIC1GIGlsZSBhJyAnCisJZ2l0IGdyZXAgLUYgaWxlIGEKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGdyZXAgLUZpIGlMRSBhJyAnCisJZ2l0IGdyZXAgLUZpIGlMRSBhCisnCisKKyMgVGhpcyB0ZXN0IGFjdHVhbGx5IHBhc3NlcyBvbiBwbGF0Zm9ybXMgd2hlcmUgcmVnZXhlYygpIHN1cHBvcnRzIHRoZQorIyBmbGFnIFJFR19TVEFSVEVORC4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBncmVwIGlsZSBhJyAnCisJZ2l0IGdyZXAgaWxlIGEKKycKKwordGVzdF9leHBlY3RfZmFpbHVyZSAnZ2l0IGdyZXAgLmZpIGEnICcKKwlnaXQgZ3JlcCAuZmkgYQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIHJlc3BlY3RzIGJpbmFyeSBkaWZmIGF0dHJpYnV0ZScgJworCWVjaG8gdGV4dCA+dCAmJgorCWdpdCBhZGQgdCAmJgorCWVjaG8gdDp0ZXh0ID5leHBlY3QgJiYKKwlnaXQgZ3JlcCB0ZXh0IHQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwllY2hvICJ0IC1kaWZmIiA+LmdpdGF0dHJpYnV0ZXMgJiYKKwllY2hvICJCaW5hcnkgZmlsZSB0IG1hdGNoZXMiID5leHBlY3QgJiYKKwlnaXQgZ3JlcCB0ZXh0IHQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCAtLWNhY2hlZCByZXNwZWN0cyBiaW5hcnkgZGlmZiBhdHRyaWJ1dGUnICcKKwlnaXQgZ3JlcCAtLWNhY2hlZCB0ZXh0IHQgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCAtLWNhY2hlZCByZXNwZWN0cyBiaW5hcnkgZGlmZiBhdHRyaWJ1dGUgKDIpJyAnCisJZ2l0IGFkZCAuZ2l0YXR0cmlidXRlcyAmJgorCXJtIC5naXRhdHRyaWJ1dGVzICYmCisJZ2l0IGdyZXAgLS1jYWNoZWQgdGV4dCB0ID5hY3R1YWwgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBybSAtLWNhY2hlZCAuZ2l0YXR0cmlidXRlcyIgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBjaGVja291dCAuZ2l0YXR0cmlidXRlcyIgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyZXAgcmV2aXNpb24gcmVzcGVjdHMgYmluYXJ5IGRpZmYgYXR0cmlidXRlJyAnCisJZ2l0IGNvbW1pdCAtbSBuZXcgJiYKKwllY2hvICJCaW5hcnkgZmlsZSBIRUFEOnQgbWF0Y2hlcyIgPmV4cGVjdCAmJgorCWdpdCBncmVwIHRleHQgSEVBRCAtLSB0ID5hY3R1YWwgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCBIRUFEXiIgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyZXAgcmVzcGVjdHMgbm90LWJpbmFyeSBkaWZmIGF0dHJpYnV0ZScgJworCWVjaG8gYmluUWFyeSB8IHFfdG9fbnVsID5iICYmCisJZ2l0IGFkZCBiICYmCisJZWNobyAiQmluYXJ5IGZpbGUgYiBtYXRjaGVzIiA+ZXhwZWN0ICYmCisJZ2l0IGdyZXAgYmluIGIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKwllY2hvICJiIGRpZmYiID4uZ2l0YXR0cmlidXRlcyAmJgorCWVjaG8gImI6YmluUWFyeSIgPmV4cGVjdCAmJgorCWdpdCBncmVwIGJpbiBiID5hY3R1YWwucmF3ICYmCisJbnVsX3RvX3EgPGFjdHVhbC5yYXcgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKworY2F0ID5udWxfdG9fcV90ZXh0Y29udiA8PCdFT0YnCisjIS9iaW4vc2gKKyIkUEVSTF9QQVRIIiAtcGUgJ3kvXDAwMC9RLycgPCAiJDEiCitFT0YKK2NobW9kICt4IG51bF90b19xX3RleHRjb252CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwIHRleHRjb252IGZpbHRlcnMnICcKKwllY2hvIGEgZGlmZj1mb28gPi5naXRhdHRyaWJ1dGVzICYmCisJZ2l0IGNvbmZpZyBkaWZmLmZvby50ZXh0Y29udiAiXCIkKHB3ZClcIiIvbnVsX3RvX3FfdGV4dGNvbnYKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCBkb2VzIG5vdCBob25vciB0ZXh0Y29udicgJworCXRlc3RfbXVzdF9mYWlsIGdpdCBncmVwIFFmaWxlCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dyZXAgLS10ZXh0Y29udiBob25vcnMgdGV4dGNvbnYnICcKKwllY2hvICJhOmJpbmFyeVFmaWxlUW1bKl1jUSrDplHDsCIgPmV4cGVjdCAmJgorCWdpdCBncmVwIC0tdGV4dGNvbnYgUWZpbGUgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ3JlcCAtLW5vLXRleHRjb252IGRvZXMgbm90IGhvbm9yIHRleHRjb252JyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGdyZXAgLS1uby10ZXh0Y29udiBRZmlsZQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdncmVwIC0tdGV4dGNvbnYgYmxvYiBob25vcnMgdGV4dGNvbnYnICcKKwllY2hvICJIRUFEOmE6YmluYXJ5UWZpbGVRbVsqXWNRKsOmUcOwIiA+ZXhwZWN0ICYmCisJZ2l0IGdyZXAgLS10ZXh0Y29udiBRZmlsZSBIRUFEOmEgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q3ODE2LWdyZXAtYmluYXJ5LXBhdHRlcm4uc2ggYi90L3Q3ODE2LWdyZXAtYmluYXJ5LXBhdHRlcm4uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjBiYWIyOQotLS0gL2Rldi9udWxsCisrKyBiL3QvdDc4MTYtZ3JlcC1iaW5hcnktcGF0dGVybi5zaApAQCAtMCwwICsxLDEyNyBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J2dpdCBncmVwIHdpdGggYSBiaW5hcnkgcGF0dGVybiBmaWxlcycKKworLiAuL2xpYi1nZXR0ZXh0LnNoCisKK251bF9tYXRjaF9pbnRlcm5hbCAoKSB7CisJbWF0Y2hlcz0kMQorCXByZXJlcXM9JDIKKwlsY19hbGw9JDMKKwlleHRyYV9mbGFncz0kNAorCWZsYWdzPSQ1CisJcGF0dGVybj0kNgorCXBhdHRlcm5faHVtYW49JChlY2hvICIkcGF0dGVybiIgfCBzZWQgJ3MvUS88TlVMPi9nJykKKworCWlmIHRlc3QgIiRtYXRjaGVzIiA9IDEKKwl0aGVuCisJCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJHByZXJlcXMgIkxDX0FMTD0nJGxjX2FsbCcgZ2l0IGdyZXAgJGV4dHJhX2ZsYWdzIC1mIGYgJGZsYWdzICckcGF0dGVybl9odW1hbicgYSIgIgorCQkJcHJpbnRmICckcGF0dGVybicgfCBxX3RvX251bCA+ZiAmJgorCQkJTENfQUxMPSckbGNfYWxsJyBnaXQgZ3JlcCAkZXh0cmFfZmxhZ3MgLWYgZiAkZmxhZ3MgYQorCQkiCisJZWxpZiB0ZXN0ICIkbWF0Y2hlcyIgPSAwCisJdGhlbgorCQl0ZXN0X2V4cGVjdF9zdWNjZXNzICRwcmVyZXFzICJMQ19BTEw9JyRsY19hbGwnIGdpdCBncmVwICRleHRyYV9mbGFncyAtZiBmICRmbGFncyAnJHBhdHRlcm5faHVtYW4nIGEiICIKKwkJCT5zdGRlcnIgJiYKKwkJCXByaW50ZiAnJHBhdHRlcm4nIHwgcV90b19udWwgPmYgJiYKKwkJCXRlc3RfbXVzdF9mYWlsIGVudiBMQ19BTEw9XCIkbGNfYWxsXCIgZ2l0IGdyZXAgJGV4dHJhX2ZsYWdzIC1mIGYgJGZsYWdzIGEgMj5zdGRlcnIgJiYKKwkJCXRlc3RfaTE4bmdyZXAgISAnVGhpcyBpcyBvbmx5IHN1cHBvcnRlZCB3aXRoIC1QIHVuZGVyIFBDUkUgdjInIHN0ZGVycgorCQkiCisJZWxpZiB0ZXN0ICIkbWF0Y2hlcyIgPSBQCisJdGhlbgorCQl0ZXN0X2V4cGVjdF9zdWNjZXNzICRwcmVyZXFzICJlcnJvciwgUENSRSB2MiBvbmx5OiBMQ19BTEw9JyRsY19hbGwnIGdpdCBncmVwIC1mIGYgJGZsYWdzICckcGF0dGVybl9odW1hbicgYSIgIgorCQkJPnN0ZGVyciAmJgorCQkJcHJpbnRmICckcGF0dGVybicgfCBxX3RvX251bCA+ZiAmJgorCQkJdGVzdF9tdXN0X2ZhaWwgZW52IExDX0FMTD1cIiRsY19hbGxcIiBnaXQgZ3JlcCAtZiBmICRmbGFncyBhIDI+c3RkZXJyICYmCisJCQl0ZXN0X2kxOG5ncmVwICdUaGlzIGlzIG9ubHkgc3VwcG9ydGVkIHdpdGggLVAgdW5kZXIgUENSRSB2Micgc3RkZXJyCisJCSIKKwllbHNlCisJCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIlBBTklDOiBUZXN0IGZyYW1ld29yayBlcnJvci4gVW5rbm93biBtYXRjaGVzIHZhbHVlICRtYXRjaGVzIiAnZmFsc2UnCisJZmkKK30KKworbnVsX21hdGNoICgpIHsKKwltYXRjaGVzPSQxCisJbWF0Y2hlc19wY3JlMj0kMgorCW1hdGNoZXNfcGNyZTJfbG9jYWxlPSQzCisJZmxhZ3M9JDQKKwlwYXR0ZXJuPSQ1CisJcGF0dGVybl9odW1hbj0kKGVjaG8gIiRwYXR0ZXJuIiB8IHNlZCAncy9RLzxOVUw+L2cnKQorCisJbnVsX21hdGNoX2ludGVybmFsICIkbWF0Y2hlcyIgIiIgIkMiICIiICIkZmxhZ3MiICIkcGF0dGVybiIKKwludWxfbWF0Y2hfaW50ZXJuYWwgIiRtYXRjaGVzX3BjcmUyIiAiTElCUENSRTIiICJDIiAiLVAiICIkZmxhZ3MiICIkcGF0dGVybiIKKwludWxfbWF0Y2hfaW50ZXJuYWwgIiRtYXRjaGVzX3BjcmUyX2xvY2FsZSIgIkxJQlBDUkUyLEdFVFRFWFRfTE9DQUxFIiAiJGlzX0lTX2xvY2FsZSIgIi1QIiAiJGZsYWdzIiAiJHBhdHRlcm4iCit9CisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NldHVwJyAiCisJZWNobyAnYmluYXJ5UWZpbGVRbVsqXWNRKsOmUcOwJyB8IHFfdG9fbnVsID5hICYmCisJZ2l0IGFkZCBhICYmCisJZ2l0IGNvbW1pdCAtbS4KKyIKKworIyBTaW1wbGUgZml4ZWQtc3RyaW5nIG1hdGNoaW5nIHRoYXQgY2FuIHVzZSBrd3NldCAobm8gLWkgJiYgbm9uLUFTQ0lJKQorbnVsX21hdGNoIFAgUCBQICctRicgJ3lRZicKK251bF9tYXRjaCBQIFAgUCAnLUYnICd5UXgnCitudWxfbWF0Y2ggUCBQIFAgJy1GaScgJ1lRZicKK251bF9tYXRjaCBQIFAgUCAnLUZpJyAnWVF4JworbnVsX21hdGNoIFAgUCAxICcnICd5UWYnCitudWxfbWF0Y2ggUCBQIDAgJycgJ3lReCcKK251bF9tYXRjaCBQIFAgMSAnJyAnw6ZRw7AnCitudWxfbWF0Y2ggUCBQIFAgJy1GJyAnZVFtWypdYycKK251bF9tYXRjaCBQIFAgUCAnLUZpJyAnRVFNWypdQycKKworIyBSZWdleCBwYXR0ZXJucyB0aGF0IHdvdWxkIG1hdGNoIGJ1dCBzaG91bGRuJ3Qgd2l0aCAtRgorbnVsX21hdGNoIFAgUCBQICctRicgJ3lRW2ZdJworbnVsX21hdGNoIFAgUCBQICctRicgJ1t5XVFmJworbnVsX21hdGNoIFAgUCBQICctRmknICdZUVtGXScKK251bF9tYXRjaCBQIFAgUCAnLUZpJyAnW1ldUUYnCitudWxfbWF0Y2ggUCBQIFAgJy1GJyAnw6ZRW8OwXScKK251bF9tYXRjaCBQIFAgUCAnLUYnICdbw6ZdUcOwJworCisjIFRoZSAtRiBrd3NldCBjb2RlcGF0aCBjYW4ndCBoYW5kbGUgLWkgJiYgbm9uLUFTQ0lJLi4uCitudWxfbWF0Y2ggUCAxIDEgJy1pJyAnW8OmXVHDsCcKKworIyAuLi5QQ1JFIHYyIG9ubHkgbWF0Y2hlcyBub24tQVNDSUkgd2l0aCAtaSBjYXNlZm9sZGluZyB1bmRlciBVVEYtOAorIyBzZW1hbnRpY3MKK251bF9tYXRjaCBQIFAgUCAnLUZpJyAnw4ZRW8OQXScKK251bF9tYXRjaCBQIDAgMSAnLWknICAnw4ZRW8OQXScKK251bF9tYXRjaCBQIDAgMSAnLWknICAnW8OGXVHDkCcKK251bF9tYXRjaCBQIDAgMSAnLWknICdbw4ZdUcOwJworbnVsX21hdGNoIFAgMCAxICctaScgJ8OGUcOQJworCisjIFwwIGluIHJlZ2V4ZXMgY2FuIG9ubHkgd29yayB3aXRoIC1QICYgUENSRSB2MgorbnVsX21hdGNoIFAgUCAxICcnICd5UVtmXScKK251bF9tYXRjaCBQIFAgMSAnJyAnW3ldUWYnCitudWxfbWF0Y2ggUCBQIDEgJy1pJyAnWVFbRl0nCitudWxfbWF0Y2ggUCBQIDEgJy1pJyAnW1ldUWYnCitudWxfbWF0Y2ggUCBQIDEgJycgJ8OmUVvDsF0nCitudWxfbWF0Y2ggUCBQIDEgJycgJ1vDpl1Rw7AnCitudWxfbWF0Y2ggUCBQIDEgJy1pJyAnw4ZRW8OQXScKK251bF9tYXRjaCBQIFAgMSAnJyAnZVFtLipjUScKK251bF9tYXRjaCBQIFAgMSAnLWknICdFUU0uKmNRJworbnVsX21hdGNoIFAgUCAwICcnICdlUW1bKl1jJworbnVsX21hdGNoIFAgUCAwICctaScgJ0VRTVsqXUMnCisKKyMgQXNzZXJ0IHRoYXQgd2UncmUgdXNpbmcgUkVHX1NUQVJURU5EIGFuZCB0aGUgcGF0dGVybiBkb2Vzbid0IG1hdGNoCisjIGp1c3QgYmVjYXVzZSBpdCdzIGN1dCBvZmYgYXQgdGhlIGZpcnN0IFwwLgorbnVsX21hdGNoIFAgUCAwICctaScgJ05PTUFUQ0hRw7AnCitudWxfbWF0Y2ggUCBQIDAgJy1pJyAnW8OGXVFOT01BVENIJworbnVsX21hdGNoIFAgUCAwICctaScgJ1vDpl1RTk9NQVRDSCcKKworIyBFbnN1cmUgdGhhdCB0aGUgbWF0Y2hlciBkb2Vzbid0IHJlZ3Jlc3MgdG8gc29tZXRoaW5nIHRoYXQgc3RvcHMgYXQKKyMgXDAKK251bF9tYXRjaCBQIFAgUCAnLUYnICd5UVtmXScKK251bF9tYXRjaCBQIFAgUCAnLUZpJyAnWVFbRl0nCitudWxfbWF0Y2ggUCBQIDAgJycgJ3lRTk9NQVRDSCcKK251bF9tYXRjaCBQIFAgMCAnJyAnUU5PTUFUQ0gnCitudWxfbWF0Y2ggUCBQIDAgJy1pJyAnWVFOT01BVENIJworbnVsX21hdGNoIFAgUCAwICctaScgJ1FOT01BVENIJworbnVsX21hdGNoIFAgUCBQICctRicgJ8OmUVvDsF0nCitudWxfbWF0Y2ggUCBQIFAgJy1GaScgJ8OGUVvDkF0nCitudWxfbWF0Y2ggUCBQIDEgJy1pJyAnw4ZRW8OQXScKK251bF9tYXRjaCBQIFAgMCAnJyAneVFOw5NNQVRDSCcKK251bF9tYXRjaCBQIFAgMCAnJyAnUU7Dk01BVENIJworbnVsX21hdGNoIFAgUCAwICctaScgJ1lRTsOTTUFUQ0gnCitudWxfbWF0Y2ggUCBQIDAgJy1pJyAnUU7Dk01BVENIJworCit0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDgwMDMtYmxhbWUtY29ybmVyLWNhc2VzLnNoIGIvdC90ODAwMy1ibGFtZS1jb3JuZXItY2FzZXMuc2gKaW5kZXggYzkyYTQ3Yi4uOTEzMGI4OCAxMDA3NTUKLS0tIGEvdC90ODAwMy1ibGFtZS1jb3JuZXItY2FzZXMuc2gKKysrIGIvdC90ODAwMy1ibGFtZS1jb3JuZXItY2FzZXMuc2gKQEAgLTE3Myw3ICsxNzMsNiBAQAogCWdpdCBzaG93IEhFQURAezF9OnJvZGVudCA+IHJvZGVudCAmJgogCWdpdCBhZGQgcm9kZW50ICYmCiAJZ2l0IGJsYW1lIC1mIC1DIC1DMSByb2RlbnQgfCBzZWQgLWUgIiRwaWNrX2ZjIiA+Y3VycmVudCAmJgotCWNhdCBjdXJyZW50ICYmCiAJY2F0ID5leHBlY3RlZCA8PC1cRU9GICYmCiAJbW91c2UtSW5pdGlhbAogCW1vdXNlLVNlY29uZApAQCAtMjc1LDQgKzI3NCw0MCBAQAogCWdyZXAgIkEgVSBUaG9yIiBhY3R1YWwKICcKIAorIyBUZXN0cyB0aGUgc3BsaXR0aW5nIGFuZCBtZXJnaW5nIG9mIGJsYW1lIGVudHJpZXMgaW4gYmxhbWVfY29hbGVzY2UoKS4KKyMgVGhlIG91dHB1dCBvZiBibGFtZSBpcyB0aGUgc2FtZSwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGJsYW1lX2NvYWxlc2NlKCkgcnVucworIyBvciBub3QsIHNvIHdlJ2QgbGlrZWx5IG9ubHkgbm90aWNlIGEgcHJvYmxlbSBpZiBibGFtZSBjcmFzaGVzIG9yIGFzc2lnbmVkCisjIGJsYW1lIHRvIHRoZSAic3BsaXR0aW5nIiBjb21taXQgKCdTUExJVCcgYmVsb3cpLgordGVzdF9leHBlY3Rfc3VjY2VzcyAnYmxhbWUgY29hbGVzY2UnICcKKwljYXQgPmdpcmFmZmUgPDwtXEVPRiAmJgorCUFCQworCURFRgorCUVPRgorCWdpdCBhZGQgZ2lyYWZmZSAmJgorCWdpdCBjb21taXQgLW0gIm9yaWdpbmFsIGZpbGUiICYmCisJb2lkPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCisJY2F0ID5naXJhZmZlIDw8LVxFT0YgJiYKKwlBQkMKKwlTUExJVAorCURFRgorCUVPRgorCWdpdCBhZGQgZ2lyYWZmZSAmJgorCWdpdCBjb21taXQgLW0gImludGVyaW9yIFNQTElUIGxpbmUiICYmCisKKwljYXQgPmdpcmFmZmUgPDwtXEVPRiAmJgorCUFCQworCURFRgorCUVPRgorCWdpdCBhZGQgZ2lyYWZmZSAmJgorCWdpdCBjb21taXQgLW0gInNhbWUgY29udGVudHMgYXMgb3JpZ2luYWwiICYmCisKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwkkb2lkIDEpIEFCQworCSRvaWQgMikgREVGCisJRU9GCisJZ2l0IC1jIGNvcmUuYWJicmV2PTQwIGJsYW1lIC1zIGdpcmFmZmUgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q4MDEzLWJsYW1lLWlnbm9yZS1yZXZzLnNoIGIvdC90ODAxMy1ibGFtZS1pZ25vcmUtcmV2cy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNmRjMzFlCi0tLSAvZGV2L251bGwKKysrIGIvdC90ODAxMy1ibGFtZS1pZ25vcmUtcmV2cy5zaApAQCAtMCwwICsxLDI3NCBAQAorIyEvYmluL3NoCisKK3Rlc3RfZGVzY3JpcHRpb249J2lnbm9yZSByZXZpc2lvbnMgd2hlbiBibGFtaW5nJworLiAuL3Rlc3QtbGliLnNoCisKKyMgQ3JlYXRlczoKKyMgCUEtLUItLVgKKyMgQSBhZGRlZCBsaW5lIDEgYW5kIEIgYWRkZWQgbGluZSAyLiAgWCBtYWtlcyBjaGFuZ2VzIHRvIHRob3NlIGxpbmVzLiAgU2FuaXR5CisjIGNoZWNrIHRoYXQgWCBpcyBibGFtZWQgZm9yIGJvdGggbGluZXMuCit0ZXN0X2V4cGVjdF9zdWNjZXNzIHNldHVwICcKKwl0ZXN0X2NvbW1pdCBBIGZpbGUgbGluZTEgJiYKKworCWVjaG8gbGluZTIgPj5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtbSBCICYmCisJZ2l0IHRhZyBCICYmCisKKwl0ZXN0X3dyaXRlX2xpbmVzIGxpbmUtb25lIGxpbmUtdHdvID5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtbSBYICYmCisJZ2l0IHRhZyBYICYmCisKKwlnaXQgYmxhbWUgLS1saW5lLXBvcmNlbGFpbiBmaWxlID5ibGFtZV9yYXcgJiYKKworCWdyZXAgLUUgIl5bMC05YS1mXSsgWzAtOV0rIDEiIGJsYW1lX3JhdyB8IHNlZCAtZSAicy8gLiovLyIgPmFjdHVhbCAmJgorCWdpdCByZXYtcGFyc2UgWCA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJZ3JlcCAtRSAiXlswLTlhLWZdKyBbMC05XSsgMiIgYmxhbWVfcmF3IHwgc2VkIC1lICJzLyAuKi8vIiA+YWN0dWFsICYmCisJZ2l0IHJldi1wYXJzZSBYID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJJworCisjIElnbm9yZSBYLCBtYWtlIHN1cmUgQSBpcyBibGFtZWQgZm9yIGxpbmUgMSBhbmQgQiBmb3IgbGluZSAyLgordGVzdF9leHBlY3Rfc3VjY2VzcyBpZ25vcmVfcmV2X2NoYW5naW5nX2xpbmVzICcKKwlnaXQgYmxhbWUgLS1saW5lLXBvcmNlbGFpbiAtLWlnbm9yZS1yZXYgWCBmaWxlID5ibGFtZV9yYXcgJiYKKworCWdyZXAgLUUgIl5bMC05YS1mXSsgWzAtOV0rIDEiIGJsYW1lX3JhdyB8IHNlZCAtZSAicy8gLiovLyIgPmFjdHVhbCAmJgorCWdpdCByZXYtcGFyc2UgQSA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJZ3JlcCAtRSAiXlswLTlhLWZdKyBbMC05XSsgMiIgYmxhbWVfcmF3IHwgc2VkIC1lICJzLyAuKi8vIiA+YWN0dWFsICYmCisJZ2l0IHJldi1wYXJzZSBCID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJJworCisjIEZvciBpZ25vcmVkIHJldnMgdGhhdCBoYXZlIGFkZGVkICd1bmJsYW1hYmxlJyBsaW5lcywgYXR0cmlidXRlIHRob3NlIHRvIHRoZQorIyBpZ25vcmVkIGNvbW1pdC4KKyMgCUEtLUItLVgtLVkKKyMgV2hlcmUgWSBjaGFuZ2VzIGxpbmVzIDEgYW5kIDIsIGFuZCBhZGRzIGxpbmVzIDMgYW5kIDQuICBUaGUgYWRkZWQgbGluZXMgb3VnaHQKKyMgdG8gaGF2ZSBub3RoaW5nIGluIGNvbW1vbiB3aXRoICJsaW5lLW9uZSIgb3IgImxpbmUtdHdvIiwgdG8ga2VlcCBhbnkKKyMgaGV1cmlzdGljcyBmcm9tIG1hdGNoaW5nIHRoZW0gd2l0aCBhbnkgbGluZXMgaW4gdGhlIHBhcmVudC4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgaWdub3JlX3Jldl9hZGRpbmdfdW5ibGFtYWJsZV9saW5lcyAnCisJdGVzdF93cml0ZV9saW5lcyBsaW5lLW9uZS1jaGFuZ2UgbGluZS10d28tY2hhbmdlZCB5MyB5NCA+ZmlsZSAmJgorCWdpdCBhZGQgZmlsZSAmJgorCXRlc3RfdGljayAmJgorCWdpdCBjb21taXQgLW0gWSAmJgorCWdpdCB0YWcgWSAmJgorCisJZ2l0IHJldi1wYXJzZSBZID5leHBlY3QgJiYKKwlnaXQgYmxhbWUgLS1saW5lLXBvcmNlbGFpbiBmaWxlIC0taWdub3JlLXJldiBZID5ibGFtZV9yYXcgJiYKKworCWdyZXAgLUUgIl5bMC05YS1mXSsgWzAtOV0rIDMiIGJsYW1lX3JhdyB8IHNlZCAtZSAicy8gLiovLyIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCWdyZXAgLUUgIl5bMC05YS1mXSsgWzAtOV0rIDQiIGJsYW1lX3JhdyB8IHNlZCAtZSAicy8gLiovLyIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwknCisKKyMgSWdub3JlIFggYW5kIFksIGJvdGggaW4gc2VwYXJhdGUgZmlsZXMuICBMaW5lcyAxID09IEEsIDIgPT0gQi4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgaWdub3JlX3JldnNfZnJvbV9maWxlcyAnCisJZ2l0IHJldi1wYXJzZSBYID5pZ25vcmVfeCAmJgorCWdpdCByZXYtcGFyc2UgWSA+aWdub3JlX3kgJiYKKwlnaXQgYmxhbWUgLS1saW5lLXBvcmNlbGFpbiBmaWxlIC0taWdub3JlLXJldnMtZmlsZSBpZ25vcmVfeCAtLWlnbm9yZS1yZXZzLWZpbGUgaWdub3JlX3kgPmJsYW1lX3JhdyAmJgorCisJZ3JlcCAtRSAiXlswLTlhLWZdKyBbMC05XSsgMSIgYmxhbWVfcmF3IHwgc2VkIC1lICJzLyAuKi8vIiA+YWN0dWFsICYmCisJZ2l0IHJldi1wYXJzZSBBID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwlncmVwIC1FICJeWzAtOWEtZl0rIFswLTldKyAyIiBibGFtZV9yYXcgfCBzZWQgLWUgInMvIC4qLy8iID5hY3R1YWwgJiYKKwlnaXQgcmV2LXBhcnNlIEIgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwknCisKKyMgSWdub3JlIFggZnJvbSB0aGUgY29uZmlnIG9wdGlvbiwgWSBmcm9tIGEgZmlsZS4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgaWdub3JlX3JldnNfZnJvbV9jb25maWdzX2FuZF9maWxlcyAnCisJZ2l0IGNvbmZpZyAtLWFkZCBibGFtZS5pZ25vcmVSZXZzRmlsZSBpZ25vcmVfeCAmJgorCWdpdCBibGFtZSAtLWxpbmUtcG9yY2VsYWluIGZpbGUgLS1pZ25vcmUtcmV2cy1maWxlIGlnbm9yZV95ID5ibGFtZV9yYXcgJiYKKworCWdyZXAgLUUgIl5bMC05YS1mXSsgWzAtOV0rIDEiIGJsYW1lX3JhdyB8IHNlZCAtZSAicy8gLiovLyIgPmFjdHVhbCAmJgorCWdpdCByZXYtcGFyc2UgQSA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJZ3JlcCAtRSAiXlswLTlhLWZdKyBbMC05XSsgMiIgYmxhbWVfcmF3IHwgc2VkIC1lICJzLyAuKi8vIiA+YWN0dWFsICYmCisJZ2l0IHJldi1wYXJzZSBCID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJJworCisjIE92ZXJyaWRlIGJsYW1lLmlnbm9yZVJldnNGaWxlIChpZ25vcmVfeCkgd2l0aCBhbiBlbXB0eSBzdHJpbmcuICBYIHNob3VsZCBiZQorIyBibGFtZWQgbm93IGZvciBsaW5lcyAxIGFuZCAyLCBzaW5jZSB3ZSBhcmUgbm8gbG9uZ2VyIGlnbm9yaW5nIFguCit0ZXN0X2V4cGVjdF9zdWNjZXNzIG92ZXJyaWRlX2lnbm9yZV9yZXZzX2ZpbGUgJworCWdpdCBibGFtZSAtLWxpbmUtcG9yY2VsYWluIGZpbGUgLS1pZ25vcmUtcmV2cy1maWxlICIiIC0taWdub3JlLXJldnMtZmlsZSBpZ25vcmVfeSA+YmxhbWVfcmF3ICYmCisJZ2l0IHJldi1wYXJzZSBYID5leHBlY3QgJiYKKworCWdyZXAgLUUgIl5bMC05YS1mXSsgWzAtOV0rIDEiIGJsYW1lX3JhdyB8IHNlZCAtZSAicy8gLiovLyIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwgJiYKKworCWdyZXAgLUUgIl5bMC05YS1mXSsgWzAtOV0rIDIiIGJsYW1lX3JhdyB8IHNlZCAtZSAicy8gLiovLyIgPmFjdHVhbCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwknCit0ZXN0X2V4cGVjdF9zdWNjZXNzIGJhZF9maWxlc19hbmRfcmV2cyAnCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGJsYW1lIGZpbGUgLS1pZ25vcmUtcmV2IE5PUkVWIDI+ZXJyICYmCisJdGVzdF9pMThuZ3JlcCAiY2Fubm90IGZpbmQgcmV2aXNpb24gTk9SRVYgdG8gaWdub3JlIiBlcnIgJiYKKworCXRlc3RfbXVzdF9mYWlsIGdpdCBibGFtZSBmaWxlIC0taWdub3JlLXJldnMtZmlsZSBOT0ZJTEUgMj5lcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICJjb3VsZCBub3Qgb3Blbi4qOiBOT0ZJTEUiIGVyciAmJgorCisJZWNobyBOT1JFViA+aWdub3JlX25vcmV2ICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGJsYW1lIGZpbGUgLS1pZ25vcmUtcmV2cy1maWxlIGlnbm9yZV9ub3JldiAyPmVyciAmJgorCXRlc3RfaTE4bmdyZXAgImludmFsaWQgb2JqZWN0IG5hbWU6IE5PUkVWIiBlcnIKKwknCisKKyMgRm9yIGlnbm9yZWQgcmV2cyB0aGF0IGhhdmUgYWRkZWQgJ3VuYmxhbWFibGUnIGxpbmVzLCBtYXJrIHRob3NlIGxpbmVzIHdpdGggYQorIyAnKicKKyMgCUEtLUItLVgtLVkKKyMgTGluZXMgMyBhbmQgNCBhcmUgZnJvbSBZIGFuZCB1bmJsYW1hYmxlLiAgVGhpcyB3YXMgc2V0IHVwIGluCisjIGlnbm9yZV9yZXZfYWRkaW5nX3VuYmxhbWFibGVfbGluZXMuCit0ZXN0X2V4cGVjdF9zdWNjZXNzIG1hcmtfdW5ibGFtYWJsZV9saW5lcyAnCisJZ2l0IGNvbmZpZyAtLWFkZCBibGFtZS5tYXJrVW5ibGFtYWJsZUxpbmVzIHRydWUgJiYKKworCWdpdCBibGFtZSAtLWlnbm9yZS1yZXYgWSBmaWxlID5ibGFtZV9yYXcgJiYKKwllY2hvICIqIiA+ZXhwZWN0ICYmCisKKwlzZWQgLW4gIjNwIiBibGFtZV9yYXcgfCBjdXQgLWMxID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwlzZWQgLW4gIjRwIiBibGFtZV9yYXcgfCBjdXQgLWMxID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJJworCisjIENvbW1pdCBaIHdpbGwgdG91Y2ggdGhlIGZpcnN0IHR3byBsaW5lcy4gIFkgdG91Y2hlZCBhbGwgZm91ci4KKyMgCUEtLUItLVgtLVktLVoKKyMgVGhlIGJsYW1lIG91dHB1dCB3aGVuIGlnbm9yaW5nIFogc2hvdWxkIGJlOgorIyA/WSAuLi4gMSkKKyMgP1kgLi4uIDIpCisjIFkgIC4uLiAzKQorIyBZICAuLi4gNCkKKyMgV2UncmUgY2hlY2tpbmcgb25seSB0aGUgZmlyc3QgY2hhcmFjdGVyCit0ZXN0X2V4cGVjdF9zdWNjZXNzIG1hcmtfaWdub3JlZF9saW5lcyAnCisJZ2l0IGNvbmZpZyAtLWFkZCBibGFtZS5tYXJrSWdub3JlZExpbmVzIHRydWUgJiYKKworCXRlc3Rfd3JpdGVfbGluZXMgbGluZS1vbmUtWiBsaW5lLXR3by1aIHkzIHk0ID5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtbSBaICYmCisJZ2l0IHRhZyBaICYmCisKKwlnaXQgYmxhbWUgLS1pZ25vcmUtcmV2IFogZmlsZSA+YmxhbWVfcmF3ICYmCisJZWNobyAiPyIgPmV4cGVjdCAmJgorCisJc2VkIC1uICIxcCIgYmxhbWVfcmF3IHwgY3V0IC1jMSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJc2VkIC1uICIycCIgYmxhbWVfcmF3IHwgY3V0IC1jMSA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAmJgorCisJc2VkIC1uICIzcCIgYmxhbWVfcmF3IHwgY3V0IC1jMSA+YWN0dWFsICYmCisJISB0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwlzZWQgLW4gIjRwIiBibGFtZV9yYXcgfCBjdXQgLWMxID5hY3R1YWwgJiYKKwkhIHRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwknCisKKyMgRm9yIGlnbm9yZWQgcmV2cyB0aGF0IGFkZGVkICd1bmJsYW1hYmxlJyBsaW5lcyBhbmQgbW9yZSByZWNlbnQgY29tbWl0cyBjaGFuZ2VkCisjIHRoZSBibGFtYWJsZSBsaW5lcywgbWFyayB0aGUgdW5ibGFtYWJsZSBsaW5lcyB3aXRoIGEKKyMgJyonCisjIAlBLS1CLS1YLS1ZLS1aCisjIExpbmVzIDMgYW5kIDQgYXJlIGZyb20gWSBhbmQgdW5ibGFtYWJsZSwgYXMgc2V0IHVwIGluCisjIGlnbm9yZV9yZXZfYWRkaW5nX3VuYmxhbWFibGVfbGluZXMuICBaIGNoYW5nZWQgbGluZXMgMSBhbmQgMi4KK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgbWFya191bmJsYW1hYmxlX2xpbmVzX2ludGVybWVkaWF0ZSAnCisJZ2l0IGNvbmZpZyAtLWFkZCBibGFtZS5tYXJrVW5ibGFtYWJsZUxpbmVzIHRydWUgJiYKKworCWdpdCBibGFtZSAtLWlnbm9yZS1yZXYgWSBmaWxlID5ibGFtZV9yYXcgMj5zdGRlcnIgJiYKKwllY2hvICIqIiA+ZXhwZWN0ICYmCisKKwlzZWQgLW4gIjNwIiBibGFtZV9yYXcgfCBjdXQgLWMxID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwlzZWQgLW4gIjRwIiBibGFtZV9yYXcgfCBjdXQgLWMxID5hY3R1YWwgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsCisJJworCisjIFRoZSBoZXVyaXN0aWMgY2FsbGVkIGJ5IGd1ZXNzX2xpbmVfYmxhbWVzKCkgdHJpZXMgdG8gZmluZCB0aGUgc2l6ZSBvZiBhCisjIGJsYW1lX2VudHJ5ICdlJyBpbiB0aGUgcGFyZW50J3MgYWRkcmVzcyBzcGFjZS4gIFRob3NlIGNhbGN1bGF0aW9ucyBuZWVkIHRvCisjIGNoZWNrIGZvciBuZWdhdGl2ZSBvciB6ZXJvIHZhbHVlcyBmb3Igd2hlbiBhIGJsYW1lIGVudHJ5IGlzIGNvbXBsZXRlbHkgb3V0c2lkZQorIyB0aGUgd2luZG93IG9mIHRoZSBwYXJlbnQncyB2ZXJzaW9uIG9mIGEgZmlsZS4KKyMKKyMgVGhpcyBoYXBwZW5zIHdoZW4gb25lIGNvbW1pdCBhZGRzIHNldmVyYWwgbGluZXMgKGNvbW1pdCBCIGJlbG93KS4gIEEgbGF0ZXIKKyMgY29tbWl0IChDKSBjaGFuZ2VzIG9uZSBsaW5lIGluIHRoZSBtaWRkbGUgb2YgQidzIGNoYW5nZS4gIENvbW1pdCBDIGdldHMgYmxhbWVkCisjIGZvciBpdHMgY2hhbmdlLCBhbmQgdGhhdCBicmVha3MgdXAgQidzIGNoYW5nZSBpbnRvIG11bHRpcGxlIGJsYW1lIGVudHJpZXMuCisjIFdoZW4gcHJvY2Vzc2luZyBCLCBvbmUgb2YgdGhlIGJsYW1lX2VudHJpZXMgaXMgb3V0c2lkZSBBJ3Mgd2luZG93ICh3aGljaCB3YXMKKyMgemVybyAtIGl0IGhhZCBubyBsaW5lcyBhZGRlZCBvbiBpdHMgc2lkZSBvZiB0aGUgZGlmZikuCisjCisjIEEtLUItLUMsIGlnbm9yZSBCIHRvIHRlc3QgdGhlIGlnbm9yZSBoZXVyaXN0aWMncyBib3VuZGFyeSBjaGVja3MuCit0ZXN0X2V4cGVjdF9zdWNjZXNzIGlnbm9yZWRfY2h1bmtfbmVnYXRpdmVfcGFyZW50X3NpemUgJworCXJtIC1yZiAuZ2l0LyAmJgorCWdpdCBpbml0ICYmCisKKwl0ZXN0X3dyaXRlX2xpbmVzIEwxIEwyIEw3IEw4IEw5ID5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtbSBBICYmCisJZ2l0IHRhZyBBICYmCisKKwl0ZXN0X3dyaXRlX2xpbmVzIEwxIEwyIEwzIEw0IEw1IEw2IEw3IEw4IEw5ID5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtbSBCICYmCisJZ2l0IHRhZyBCICYmCisKKwl0ZXN0X3dyaXRlX2xpbmVzIEwxIEwyIEwzIEw0IHh4eCBMNiBMNyBMOCBMOSA+ZmlsZSAmJgorCWdpdCBhZGQgZmlsZSAmJgorCXRlc3RfdGljayAmJgorCWdpdCBjb21taXQgLW0gQyAmJgorCWdpdCB0YWcgQyAmJgorCisJZ2l0IGJsYW1lIGZpbGUgLS1pZ25vcmUtcmV2IEIgPmJsYW1lX3JhdworCScKKworIyBSZXNldHRpbmcgdGhlIHJlcG8gYW5kIGNyZWF0aW5nOgorIworIyBBLS1CLS1NCisjICBcICAgLworIyAgIEMtKworIworIyAnQScgY3JlYXRlcyBhIGZpbGUuICBCIGNoYW5nZXMgbGluZSAxLCBhbmQgQyBjaGFuZ2VzIGxpbmUgOS4gIE0gbWVyZ2VzLgordGVzdF9leHBlY3Rfc3VjY2VzcyBpZ25vcmVfbWVyZ2UgJworCXJtIC1yZiAuZ2l0LyAmJgorCWdpdCBpbml0ICYmCisKKwl0ZXN0X3dyaXRlX2xpbmVzIEwxIEwyIEwzIEw0IEw1IEw2IEw3IEw4IEw5ID5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtbSBBICYmCisJZ2l0IHRhZyBBICYmCisKKwl0ZXN0X3dyaXRlX2xpbmVzIEJCIEwyIEwzIEw0IEw1IEw2IEw3IEw4IEw5ID5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtbSBCICYmCisJZ2l0IHRhZyBCICYmCisKKwlnaXQgcmVzZXQgLS1oYXJkIEEgJiYKKwl0ZXN0X3dyaXRlX2xpbmVzIEwxIEwyIEwzIEw0IEw1IEw2IEw3IEw4IENDID5maWxlICYmCisJZ2l0IGFkZCBmaWxlICYmCisJdGVzdF90aWNrICYmCisJZ2l0IGNvbW1pdCAtbSBDICYmCisJZ2l0IHRhZyBDICYmCisKKwl0ZXN0X21lcmdlIE0gQiAmJgorCWdpdCBibGFtZSAtLWxpbmUtcG9yY2VsYWluIGZpbGUgLS1pZ25vcmUtcmV2IE0gPmJsYW1lX3JhdyAmJgorCisJZ3JlcCAtRSAiXlswLTlhLWZdKyBbMC05XSsgMSIgYmxhbWVfcmF3IHwgc2VkIC1lICJzLyAuKi8vIiA+YWN0dWFsICYmCisJZ2l0IHJldi1wYXJzZSBCID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisKKwlncmVwIC1FICJeWzAtOWEtZl0rIFswLTldKyA5IiBibGFtZV9yYXcgfCBzZWQgLWUgInMvIC4qLy8iID5hY3R1YWwgJiYKKwlnaXQgcmV2LXBhcnNlIEMgPmV4cGVjdCAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKwknCisKK3Rlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90ODAxNC1ibGFtZS1pZ25vcmUtZnV6enkuc2ggYi90L3Q4MDE0LWJsYW1lLWlnbm9yZS1mdXp6eS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZTYxODgyCi0tLSAvZGV2L251bGwKKysrIGIvdC90ODAxNC1ibGFtZS1pZ25vcmUtZnV6enkuc2gKQEAgLTAsMCArMSw0MzcgQEAKKyMhL2Jpbi9zaAorCit0ZXN0X2Rlc2NyaXB0aW9uPSdnaXQgYmxhbWUgaWdub3JlIGZ1enp5IGhldXJpc3RpYycKKy4gLi90ZXN0LWxpYi5zaAorCitwaWNrX2F1dGhvcj0ncy9eWzAtOWEtZl5dKiAqKFwoW14gXSpcKSAuKi9cMS8nCisKKyMgRWFjaCB0ZXN0IGlzIGNvbXBvc2VkIG9mIDQgdmFyaWFibGVzOgorIyB0aXRsZU4gLSB0aGUgdGVzdCBuYW1lCisjIGFOIC0gdGhlIGluaXRpYWwgY29udGVudAorIyBiTiAtIHRoZSBmaW5hbCBjb250ZW50CisjIGV4cGVjdGVkTiAtIHRoZSBsaW5lIG51bWJlcnMgZnJvbSBhTiB0aGF0IHdlIGV4cGVjdCBnaXQgYmxhbWUKKyMgICAgICAgICAgICAgb24gYk4gdG8gaWRlbnRpZnksIG9yICJGaW5hbCIgaWYgYk4gaXRzZWxmIHNob3VsZAorIyAgICAgICAgICAgICBiZSBpZGVudGlmaWVkIGFzIHRoZSBvcmlnaW4gb2YgdGhhdCBsaW5lLgorCisjIFdlIHN0YXJ0IGF0IHRlc3QgMiBiZWNhdXNlIHNldHVwIHdpbGwgc2hvdyBhcyB0ZXN0IDEKK3RpdGxlMj0iUmVncmVzc2lvbiB0ZXN0IGZvciBwYXJ0aWFsbHkgb3ZlcmxhcHBpbmcgc2VhcmNoIHJhbmdlcyIKK2NhdCA8PEVPRiA+YTIKKzEKKzIKKzMKK2FiY2RlZgorNQorNgorNworaWprbAorOQorMTAKKzExCitwcXJzCisxMworMTQKKzE1Cit3eHl6CisxNworMTgKKzE5CitFT0YKK2NhdCA8PEVPRiA+YjIKK2FiY2RlCitpamsKK3Bxcgord3h5CitFT0YKK2NhdCA8PEVPRiA+ZXhwZWN0ZWQyCis0Cis4CisxMgorMTYKK0VPRgorCit0aXRsZTM9IkNvbWJpbmUgMyBsaW5lcyBpbnRvIDIiCitjYXQgPDxFT0YgPmEzCitpZiAoKG1heGdyb3c9PTApIHx8CisJKCBzaW5nbGVfbGluZV9maWVsZCAmJiAoZmllbGQtPmRjb2xzIDwgbWF4Z3JvdykpIHx8CisJKCFzaW5nbGVfbGluZV9maWVsZCAmJiAoZmllbGQtPmRyb3dzIDwgbWF4Z3JvdykpKQorRU9GCitjYXQgPDxFT0YgPmIzCitpZiAoKG1heGdyb3cgPT0gMCkgfHwgKHNpbmdsZV9saW5lX2ZpZWxkICYmIChmaWVsZC0+ZGNvbHMgPCBtYXhncm93KSkgfHwKKwkoIXNpbmdsZV9saW5lX2ZpZWxkICYmIChmaWVsZC0+ZHJvd3MgPCBtYXhncm93KSkpIHsKK0VPRgorY2F0IDw8RU9GID5leHBlY3RlZDMKKzIKKzMKK0VPRgorCit0aXRsZTQ9IkFkZCBjdXJseSBicmFja2V0cyIKK2NhdCA8PEVPRiA+YTQKKwlpZiAocm93cykgKnJvd3MgPSBmaWVsZC0+cm93czsKKwlpZiAoY29scykgKmNvbHMgPSBmaWVsZC0+Y29sczsKKwlpZiAoZnJvdykgKmZyb3cgPSBmaWVsZC0+ZnJvdzsKKwlpZiAoZmNvbCkgKmZjb2wgPSBmaWVsZC0+ZmNvbDsKK0VPRgorY2F0IDw8RU9GID5iNAorCWlmIChyb3dzKSB7CisJCSpyb3dzID0gZmllbGQtPnJvd3M7CisJfQorCWlmIChjb2xzKSB7CisJCSpjb2xzID0gZmllbGQtPmNvbHM7CisJfQorCWlmIChmcm93KSB7CisJCSpmcm93ID0gZmllbGQtPmZyb3c7CisJfQorCWlmIChmY29sKSB7CisJCSpmY29sID0gZmllbGQtPmZjb2w7CisJfQorRU9GCitjYXQgPDxFT0YgPmV4cGVjdGVkNAorMQorMQorRmluYWwKKzIKKzIKK0ZpbmFsCiszCiszCitGaW5hbAorNAorNAorRmluYWwKK0VPRgorCisKK3RpdGxlNT0iQ29tYmluZSBtYW55IGxpbmVzIGFuZCBjaGFuZ2UgY2FzZSIKK2NhdCA8PEVPRiA+YTUKK2Zvcihyb3c9MCxwQnVmZmVyPWZpZWxkLT5idWY7CisJcm93PGhlaWdodDsKKwlyb3crKyxwQnVmZmVyKz13aWR0aCApCit7CisJaWYgKChsZW4gPSAoaW50KSggQWZ0ZXJfRW5kX09mX0RhdGEoIHBCdWZmZXIsIHdpZHRoICkgLSBwQnVmZmVyICkpID4gMCkKKwl7CisJCXdtb3ZlKCB3aW4sIHJvdywgMCApOworCQl3YWRkbnN0ciggd2luLCBwQnVmZmVyLCBsZW4gKTsKK0VPRgorY2F0IDw8RU9GID5iNQorZm9yIChSb3cgPSAwLCBQQnVmZmVyID0gZmllbGQtPmJ1ZjsgUm93IDwgSGVpZ2h0OyBSb3crKywgUEJ1ZmZlciArPSBXaWR0aCkgeworCWlmICgoTGVuID0gKGludCkoYWZ0ZXJFbmRPZkRhdGEoUEJ1ZmZlciwgV2lkdGgpIC0gUEJ1ZmZlcikpID4gMCkgeworCQl3bW92ZSh3aW4sIFJvdywgMCk7CisJCXdhZGRuc3RyKHdpbiwgUEJ1ZmZlciwgTGVuKTsKK0VPRgorY2F0IDw8RU9GID5leHBlY3RlZDUKKzEKKzUKKzcKKzgKK0VPRgorCit0aXRsZTY9IlJlbmFtZSBhbmQgY29tYmluZSBsaW5lcyIKK2NhdCA8PEVPRiA+YTYKK2Jvb2wgbmVlZF92aXN1YWxfdXBkYXRlID0gKChmb3JtICE9IChGT1JNICopMCkgICAgICAmJgorCShmb3JtLT5zdGF0dXMgJiBfUE9TVEVEKSAmJgorCShmb3JtLT5jdXJyZW50PT1maWVsZCkpOworCitpZiAobmVlZF92aXN1YWxfdXBkYXRlKQorCVN5bmNocm9uaXplX0J1ZmZlcihmb3JtKTsKKworaWYgKHNpbmdsZV9saW5lX2ZpZWxkKQoreworCWdyb3d0aCA9IGZpZWxkLT5jb2xzICogYW1vdW50OworCWlmIChmaWVsZC0+bWF4Z3JvdykKKwkJZ3Jvd3RoID0gTWluaW11bShmaWVsZC0+bWF4Z3JvdyAtIGZpZWxkLT5kY29scyxncm93dGgpOworCWZpZWxkLT5kY29scyArPSBncm93dGg7CisJaWYgKGZpZWxkLT5kY29scyA9PSBmaWVsZC0+bWF4Z3JvdykKK0VPRgorY2F0IDw8RU9GID5iNgorYm9vbCBOZWVkVmlzdWFsVXBkYXRlID0gKChGb3JtICE9IChGT1JNICopMCkgJiYgKEZvcm0tPnN0YXR1cyAmIF9QT1NURUQpICYmCisJKEZvcm0tPmN1cnJlbnQgPT0gZmllbGQpKTsKKworaWYgKE5lZWRWaXN1YWxVcGRhdGUpIHsKKwlzeW5jaHJvbml6ZUJ1ZmZlcihGb3JtKTsKK30KKworaWYgKFNpbmdsZUxpbmVGaWVsZCkgeworCUdyb3d0aCA9IGZpZWxkLT5jb2xzICogYW1vdW50OworCWlmIChmaWVsZC0+bWF4Z3JvdykgeworCQlHcm93dGggPSBNaW5pbXVtKGZpZWxkLT5tYXhncm93IC0gZmllbGQtPmRjb2xzLCBHcm93dGgpOworCX0KKwlmaWVsZC0+ZGNvbHMgKz0gR3Jvd3RoOworCWlmIChmaWVsZC0+ZGNvbHMgPT0gZmllbGQtPm1heGdyb3cpIHsKK0VPRgorY2F0IDw8RU9GID5leHBlY3RlZDYKKzEKKzMKKzQKKzUKKzYKK0ZpbmFsCis3Cis4CisxMAorMTEKKzEyCitGaW5hbAorMTMKKzE0CitFT0YKKworIyBCb3RoIGxpbmVzIG1hdGNoIGlkZW50aWNhbGx5IHNvIHBvc2l0aW9uIG11c3QgYmUgdXNlZCB0byB0aWUtYnJlYWsuCit0aXRsZTc9IlNhbWUgbGluZSB0d2ljZSIKK2NhdCA8PEVPRiA+YTcKK2FiYworYWJjCitFT0YKK2NhdCA8PEVPRiA+YjcKK2FiY2QKK2FiY2QKK0VPRgorY2F0IDw8RU9GID5leHBlY3RlZDcKKzEKKzIKK0VPRgorCit0aXRsZTg9IkVuZm9yY2UgbGluZSBvcmRlciIKK2NhdCA8PEVPRiA+YTgKK2FiY2RlZgorZ2hpamtsCithYgorRU9GCitjYXQgPDxFT0YgPmI4CitnaGlqaworYWJjZAorRU9GCitjYXQgPDxFT0YgPmV4cGVjdGVkOAorMgorMworRU9GCisKK3RpdGxlOT0iRXhwYW5kIGxpbmVzIGFuZCByZW5hbWUgdmFyaWFibGVzIgorY2F0IDw8RU9GID5hOQoraW50IG15RnVuY3Rpb24oaW50IEFyZ3VtZW50T25lLCBUaGluZyAqQXJnVHdvLCBCbGFoIFh1Z2x5QnVnKSB7CisJU3F1aWdnbGUgRmFidWxvdXNSZXN1bHQgPSBzcXVhcmdsZShBcmd1bWVudE9uZSwgKkFyZ1R3bywKKwkJWHVnbHlCdWcpICsgRXd3d0dsb2JhbFdpdGhBUmVhbGx5TG9uZ05hbWVZZXBUb29Mb25nOworCXJldHVybiBGYWJ1bG91c1Jlc3VsdCAqIDQyOworfQorRU9GCitjYXQgPDxFT0YgPmI5CitpbnQgbXlGdW5jdGlvbihpbnQgYXJndW1lbnRfb25lLCBUaGluZyAqYXJnX2FzZGZnaCwKKwlCbGFoIHh1Z2x5X2J1ZykgeworCVNxdWlnZ2xlIGZhYnVsb3VzX3Jlc3VsdCA9IHNxdWFyZ2xlKGFyZ3VtZW50X29uZSwKKwkJKmFyZ19hc2RmZ2gsIHh1Z2x5X2J1ZykKKwkJKyBnX2V3d3dfZ2xvYmFsX3dpdGhfYV9yZWFsbHlfbG9uZ19uYW1lX3llcF90b29fbG9uZzsKKwlyZXR1cm4gZmFidWxvdXNfcmVzdWx0ICogNDI7Cit9CitFT0YKK2NhdCA8PEVPRiA+ZXhwZWN0ZWQ5CisxCisxCisyCiszCiszCis0Cis1CitFT0YKKwordGl0bGUxMD0iVHdvIGNsb3NlIG1hdGNoZXMgdmVyc3VzIG9uZSBsZXNzIGNsb3NlIG1hdGNoIgorY2F0IDw8RU9GID5hMTAKK2FiY2RlZgorYWJjZGVmCitnaGlqa2wKK0VPRgorY2F0IDw8RU9GID5iMTAKK2doCithYmNkZWZ4CitFT0YKK2NhdCA8PEVPRiA+ZXhwZWN0ZWQxMAorRmluYWwKKzIKK0VPRgorCisjIFRoZSBmaXJzdCBsaW5lIG9mIGIgbWF0Y2hlcyBiZXN0IHdpdGggdGhlIGxhc3QgbGluZSBvZiBhLCBidXQgdGhlIG92ZXJhbGwKKyMgbWF0Y2ggaXMgYmV0dGVyIGlmIHdlIG1hdGNoIGl0IHdpdGggdGhlIHRoZSBmaXJzdCBsaW5lIG9mIGEuCit0aXRsZTExPSJQaWdneSBpbiB0aGUgbWlkZGxlIgorY2F0IDw8RU9GID5hMTEKK2FiY2RlZmcKK2lqa2xtbgorYWJjZGVmZ2gKK0VPRgorY2F0IDw8RU9GID5iMTEKK2FiY2RlZmdoeAoraWprbG0KK0VPRgorY2F0IDw8RU9GID5leHBlY3RlZDExCisxCisyCitFT0YKKwordGl0bGUxMj0iTm8gdHJhaWxpbmcgbmV3bGluZSIKK3ByaW50ZiAiYWJjXG5kZWYiID5hMTIKK3ByaW50ZiAiYWJ4XG5zdHUiID5iMTIKK2NhdCA8PEVPRiA+ZXhwZWN0ZWQxMgorMQorRmluYWwKK0VPRgorCit0aXRsZTEzPSJSZW9yZGVyIGluY2x1ZGVzIgorY2F0IDw8RU9GID5hMTMKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiYi5oIgorI2luY2x1ZGUgImEuaCIKKyNpbmNsdWRlICJlLmgiCisjaW5jbHVkZSAiZC5oIgorRU9GCitjYXQgPDxFT0YgPmIxMworI2luY2x1ZGUgImEuaCIKKyNpbmNsdWRlICJiLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImQuaCIKKyNpbmNsdWRlICJlLmgiCitFT0YKK2NhdCA8PEVPRiA+ZXhwZWN0ZWQxMworMworMgorMQorNQorNAorRU9GCisKK2xhc3RfdGVzdD0xMworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIHNldHVwICcKKwlmb3IgaSBpbiAkKHRlc3Rfc2VxIDIgJGxhc3RfdGVzdCkKKwlkbworCQkjIEFwcGVuZCBlYWNoIGxpbmUgaW4gYSBzZXBhcmF0ZSBjb21taXQgdG8gbWFrZSBpdCBlYXN5IHRvCisJCSMgY2hlY2sgd2hpY2ggb3JpZ2luYWwgbGluZSB0aGUgYmxhbWUgb3V0cHV0IHJlbGF0ZXMgdG8uCisKKwkJbGluZV9jb3VudD0wICYmCisJCXdoaWxlIElGUz0gcmVhZCBsaW5lCisJCWRvCisJCQlsaW5lX2NvdW50PSQoKGxpbmVfY291bnQrMSkpICYmCisJCQllY2hvICIkbGluZSIgPj4iJGkiICYmCisJCQlnaXQgYWRkICIkaSIgJiYKKwkJCXRlc3RfdGljayAmJgorCQkJR0lUX0FVVEhPUl9OQU1FPSIkbGluZV9jb3VudCIgZ2l0IGNvbW1pdCAtbSAiJGxpbmVfY291bnQiCisJCWRvbmUgPCJhJGkiCisJZG9uZSAmJgorCisJZm9yIGkgaW4gJCh0ZXN0X3NlcSAyICRsYXN0X3Rlc3QpCisJZG8KKwkJIyBPdmVyd3JpdGUgdGhlIGZpbGVzIHdpdGggdGhlIGZpbmFsIGNvbnRlbnQuCisJCWNwIGIkaSAkaSAmJgorCQlnaXQgYWRkICRpCisJZG9uZSAmJgorCXRlc3RfdGljayAmJgorCisJIyBDb21taXQgdGhlIGZpbmFsIGNvbnRlbnQgYWxsIGF0IG9uY2Ugc28gaXQgY2FuIGFsbCBiZQorCSMgcmVmZXJyZWQgdG8gd2l0aCB0aGUgc2FtZSBjb21taXQgSUQuCisJR0lUX0FVVEhPUl9OQU1FPUZpbmFsIGdpdCBjb21taXQgLW0gRmluYWwgJiYKKworCUlHTk9SRU1FPSQoZ2l0IHJldi1wYXJzZSBIRUFEKQorJworCitmb3IgaSBpbiAkKHRlc3Rfc2VxIDIgJGxhc3RfdGVzdCk7IGRvCisJZXZhbCB0aXRsZT0iXCR0aXRsZSRpIgorCXRlc3RfZXhwZWN0X3N1Y2Nlc3MgIiR0aXRsZSIgXAorCSJnaXQgYmxhbWUgLU05IC0taWdub3JlLXJldiAkSUdOT1JFTUUgJGkgPm91dHB1dCAmJgorCXNlZCAtZSBcIiRwaWNrX2F1dGhvclwiIG91dHB1dCA+YWN0dWFsICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQkaSBhY3R1YWwiCitkb25lCisKKyMgVGhpcyBpbnZva2VkIGEgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIHdoZW4gdGhlIGNodW5rIGNhbGxiYWNrIHdhcyBjYWxsZWQKKyMgd2l0aCBhIHplcm8gbGVuZ3RoIHBhcmVudCBjaHVuayBhbmQgdGhlcmUgd2VyZSBubyBtb3JlIHN1c3BlY3RzLgordGVzdF9leHBlY3Rfc3VjY2VzcyAnRGlmZiBjaHVua3Mgd2l0aCBubyBzdXNwZWN0cycgJworCXRlc3Rfd3JpdGVfbGluZXMgeHkxIEEgQiBDIHh5MSA+ZmlsZSAmJgorCWdpdCBhZGQgZmlsZSAmJgorCXRlc3RfdGljayAmJgorCUdJVF9BVVRIT1JfTkFNRT0xIGdpdCBjb21taXQgLW0gMSAmJgorCisJdGVzdF93cml0ZV9saW5lcyB4eTIgQSBCIHh5MiBDIHh5MiA+ZmlsZSAmJgorCWdpdCBhZGQgZmlsZSAmJgorCXRlc3RfdGljayAmJgorCUdJVF9BVVRIT1JfTkFNRT0yIGdpdCBjb21taXQgLW0gMiAmJgorCVJFVl8yPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCisJdGVzdF93cml0ZV9saW5lcyB4eTMgQSA+ZmlsZSAmJgorCWdpdCBhZGQgZmlsZSAmJgorCXRlc3RfdGljayAmJgorCUdJVF9BVVRIT1JfTkFNRT0zIGdpdCBjb21taXQgLW0gMyAmJgorCVJFVl8zPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCisJdGVzdF93cml0ZV9saW5lcyAxIDEgPmV4cGVjdGVkICYmCisKKwlnaXQgYmxhbWUgLS1pZ25vcmUtcmV2ICRSRVZfMiAtLWlnbm9yZS1yZXYgJFJFVl8zIGZpbGUgPm91dHB1dCAmJgorCXNlZCAtZSAiJHBpY2tfYXV0aG9yIiBvdXRwdXQgPmFjdHVhbCAmJgorCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwb3NpdGlvbiBtYXRjaGluZycgJworCXRlc3Rfd3JpdGVfbGluZXMgYWJjIGRlZiA+ZmlsZTIgJiYKKwlnaXQgYWRkIGZpbGUyICYmCisJdGVzdF90aWNrICYmCisJR0lUX0FVVEhPUl9OQU1FPTEgZ2l0IGNvbW1pdCAtbSAxICYmCisKKwl0ZXN0X3dyaXRlX2xpbmVzIGFiYyBkZWYgYWJjIGRlZiA+ZmlsZTIgJiYKKwlnaXQgYWRkIGZpbGUyICYmCisJdGVzdF90aWNrICYmCisJR0lUX0FVVEhPUl9OQU1FPTIgZ2l0IGNvbW1pdCAtbSAyICYmCisKKwl0ZXN0X3dyaXRlX2xpbmVzIGFiY3ggZGVmeCBhYmN4IGRlZnggPmZpbGUyICYmCisJZ2l0IGFkZCBmaWxlMiAmJgorCXRlc3RfdGljayAmJgorCUdJVF9BVVRIT1JfTkFNRT0zIGdpdCBjb21taXQgLW0gMyAmJgorCVJFVl8zPSQoZ2l0IHJldi1wYXJzZSBIRUFEKSAmJgorCisJdGVzdF93cml0ZV9saW5lcyBhYmN5IGRlZnkgYWJjeCBkZWZ4ID5maWxlMiAmJgorCWdpdCBhZGQgZmlsZTIgJiYKKwl0ZXN0X3RpY2sgJiYKKwlHSVRfQVVUSE9SX05BTUU9NCBnaXQgY29tbWl0IC1tIDQgJiYKKwlSRVZfND0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKworCXRlc3Rfd3JpdGVfbGluZXMgMSAxIDIgMiA+ZXhwZWN0ZWQgJiYKKworCWdpdCBibGFtZSAtLWlnbm9yZS1yZXYgJFJFVl8zIC0taWdub3JlLXJldiAkUkVWXzQgZmlsZTIgPm91dHB1dCAmJgorCXNlZCAtZSAiJHBpY2tfYXV0aG9yIiBvdXRwdXQgPmFjdHVhbCAmJgorCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJJworCisjIFRoaXMgZmFpbHMgaWYgZWFjaCBibGFtZSBlbnRyeSBpcyBwcm9jZXNzZWQgaW5kZXBlbmRlbnRseSBpbnN0ZWFkIG9mCisjIHByb2Nlc3NpbmcgZWFjaCBkaWZmIGNoYW5nZSBpbiBmdWxsLgordGVzdF9leHBlY3Rfc3VjY2VzcyAncHJlc2VydmUgb3JkZXInICcKKwl0ZXN0X3dyaXRlX2xpbmVzIGJjZGUgPmZpbGUzICYmCisJZ2l0IGFkZCBmaWxlMyAmJgorCXRlc3RfdGljayAmJgorCUdJVF9BVVRIT1JfTkFNRT0xIGdpdCBjb21taXQgLW0gMSAmJgorCisJdGVzdF93cml0ZV9saW5lcyBiY2RlIGZnaGlqID5maWxlMyAmJgorCWdpdCBhZGQgZmlsZTMgJiYKKwl0ZXN0X3RpY2sgJiYKKwlHSVRfQVVUSE9SX05BTUU9MiBnaXQgY29tbWl0IC1tIDIgJiYKKworCXRlc3Rfd3JpdGVfbGluZXMgYmNkZSBmZ2hpaiBhYmNkID5maWxlMyAmJgorCWdpdCBhZGQgZmlsZTMgJiYKKwl0ZXN0X3RpY2sgJiYKKwlHSVRfQVVUSE9SX05BTUU9MyBnaXQgY29tbWl0IC1tIDMgJiYKKworCXRlc3Rfd3JpdGVfbGluZXMgYWJjZHggZmdoaWp4IGJjZGV4ID5maWxlMyAmJgorCWdpdCBhZGQgZmlsZTMgJiYKKwl0ZXN0X3RpY2sgJiYKKwlHSVRfQVVUSE9SX05BTUU9NCBnaXQgY29tbWl0IC1tIDQgJiYKKwlSRVZfND0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKworCXRlc3Rfd3JpdGVfbGluZXMgYWJjZHggZmdoaWp5IGJjZGV4ID5maWxlMyAmJgorCWdpdCBhZGQgZmlsZTMgJiYKKwl0ZXN0X3RpY2sgJiYKKwlHSVRfQVVUSE9SX05BTUU9NSBnaXQgY29tbWl0IC1tIDUgJiYKKwlSRVZfNT0kKGdpdCByZXYtcGFyc2UgSEVBRCkgJiYKKworCXRlc3Rfd3JpdGVfbGluZXMgMSAyIDMgPmV4cGVjdGVkICYmCisKKwlnaXQgYmxhbWUgLS1pZ25vcmUtcmV2ICRSRVZfNCAtLWlnbm9yZS1yZXYgJFJFVl81IGZpbGUzID5vdXRwdXQgJiYKKwlzZWQgLWUgIiRwaWNrX2F1dGhvciIgb3V0cHV0ID5hY3R1YWwgJiYKKworCXRlc3RfY21wIGV4cGVjdGVkIGFjdHVhbAorCScKKwordGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q5MDAxLXNlbmQtZW1haWwuc2ggYi90L3Q5MDAxLXNlbmQtZW1haWwuc2gKaW5kZXggZWUxZWZjYy4uOTBmNjFjMyAxMDA3NTUKLS0tIGEvdC90OTAwMS1zZW5kLWVtYWlsLnNoCisrKyBiL3QvdDkwMDEtc2VuZC1lbWFpbC5zaApAQCAtNDgxLDYgKzQ4MSwyMCBAQAogCWdyZXAgIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUiIG1zZ3R4dDEKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAkUFJFUkVRICdjYXJyaWFnZSByZXR1cm5zIHdpdGggYXV0byBlbmNvZGluZyBhcmUgcXVvdGVkLXByaW50YWJsZScgJworCWNsZWFuX2Zha2Vfc2VuZG1haWwgJiYKKwljcCAkcGF0Y2hlcyBjci5wYXRjaCAmJgorCXByaW50ZiAidGhpcyBpcyBhIGxpbmVcclxuIiA+PmNyLnBhdGNoICYmCisJZ2l0IHNlbmQtZW1haWwgXAorCQktLWZyb209IkV4YW1wbGUgPG5vYm9keUBleGFtcGxlLmNvbT4iIFwKKwkJLS10bz1ub2JvZHlAZXhhbXBsZS5jb20gXAorCQktLXNtdHAtc2VydmVyPSIkKHB3ZCkvZmFrZS5zZW5kbWFpbCIgXAorCQktLXRyYW5zZmVyLWVuY29kaW5nPWF1dG8gXAorCQktLW5vLXZhbGlkYXRlIFwKKwkJY3IucGF0Y2ggJiYKKwlncmVwICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBxdW90ZWQtcHJpbnRhYmxlIiBtc2d0eHQxCisnCisKIGZvciBlbmMgaW4gYXV0byBxdW90ZWQtcHJpbnRhYmxlIGJhc2U2NAogZG8KIAl0ZXN0X2V4cGVjdF9zdWNjZXNzICRQUkVSRVEgIi0tdmFsaWRhdGUgcGFzc2VzIHdpdGggZW5jb2RpbmcgJGVuYyIgJwpAQCAtMTE4MCw4ICsxMTk0LDggQEAKIAkJLS10bz1ub2JvZHlAZXhhbXBsZS5jb20gXAogCQktLWluLXJlcGx5LXRvPSI8aW4tcmVwbHktaWRAZXhhbXBsZS5jb20+IiBcCiAJCS0tbm8tdGhyZWFkIFwKLQkJJHBhdGNoZXMgfAotCWdyZXAgIkluLVJlcGx5LVRvOiA8aW4tcmVwbHktaWRAZXhhbXBsZS5jb20+IgorCQkkcGF0Y2hlcyA+b3V0ICYmCisJZ3JlcCAiSW4tUmVwbHktVG86IDxpbi1yZXBseS1pZEBleGFtcGxlLmNvbT4iIG91dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICRQUkVSRVEgJ25vIGluLXJlcGx5LXRvIGFuZCBubyB0aHJlYWRpbmcnICcKQEAgLTExOTAsNyArMTIwNCw3IEBACiAJCS0tZnJvbT0iRXhhbXBsZSA8bm9ib2R5QGV4YW1wbGUuY29tPiIgXAogCQktLXRvPW5vYm9keUBleGFtcGxlLmNvbSBcCiAJCS0tbm8tdGhyZWFkIFwKLQkJJHBhdGNoZXMgJHBhdGNoZXMgPnN0ZG91dCAmJgorCQkkcGF0Y2hlcyA+c3Rkb3V0ICYmCiAJISBncmVwICJJbi1SZXBseS1UbzogIiBzdGRvdXQKICcKIApAQCAtMTIxMCwxNyArMTIyNCw3MiBAQAogCWdpdCBzZW5kLWVtYWlsIFwKIAkJLS1kcnktcnVuIFwKIAkJLS1mcm9tPSJFeGFtcGxlIDxub2JvZHlAZXhhbXBsZS5jb20+IiBcCi0JCSRwYXRjaGVzICRwYXRjaGVzID5zdGRvdXQgJiYKKwkJJHBhdGNoZXMgPnN0ZG91dCAmJgogCWdyZXAgIlRvOiBTb21lYm9keSA8c29tZWJvZHlAZXguY29tPiIgc3Rkb3V0CiAnCiAKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJFBSRVJFUSAnc2V0dXAgc2VuZGVtYWlsLmlkZW50aXR5JyAnCisJZ2l0IGNvbmZpZyAtLXJlcGxhY2UtYWxsIHNlbmRlbWFpbC50byAiZGVmYXVsdEBleGFtcGxlLmNvbSIgJiYKKwlnaXQgY29uZmlnIC0tcmVwbGFjZS1hbGwgc2VuZGVtYWlsLmlzcC50byAiaXNwQGV4YW1wbGUuY29tIiAmJgorCWdpdCBjb25maWcgLS1yZXBsYWNlLWFsbCBzZW5kZW1haWwuY2xvdWQudG8gImNsb3VkQGV4YW1wbGUuY29tIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICRQUkVSRVEgJ3NlbmRlbWFpbC5pZGVudGl0eTogcmVhZHMgdGhlIGNvcnJlY3QgaWRlbnRpdHkgY29uZmlnJyAnCisJZ2l0IC1jIHNlbmRlbWFpbC5pZGVudGl0eT1jbG91ZCBzZW5kLWVtYWlsIFwKKwkJLS1kcnktcnVuIFwKKwkJLS1mcm9tPSJub2JvZHlAZXhhbXBsZS5jb20iIFwKKwkJJHBhdGNoZXMgPnN0ZG91dCAmJgorCWdyZXAgIlRvOiBjbG91ZEBleGFtcGxlLmNvbSIgc3Rkb3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJFBSRVJFUSAnc2VuZGVtYWlsLmlkZW50aXR5OiBpZGVudGl0eSBvdmVycmlkZXMgc2VuZGVtYWlsLmlkZW50aXR5JyAnCisJZ2l0IC1jIHNlbmRlbWFpbC5pZGVudGl0eT1jbG91ZCBzZW5kLWVtYWlsIFwKKwkJLS1pZGVudGl0eT1pc3AgXAorCQktLWRyeS1ydW4gXAorCQktLWZyb209Im5vYm9keUBleGFtcGxlLmNvbSIgXAorCQkkcGF0Y2hlcyA+c3Rkb3V0ICYmCisJZ3JlcCAiVG86IGlzcEBleGFtcGxlLmNvbSIgc3Rkb3V0CisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJFBSRVJFUSAnc2VuZGVtYWlsLmlkZW50aXR5OiAtLW5vLWlkZW50aXR5IGNsZWFycyBwcmV2aW91cyBpZGVudGl0eScgJworCWdpdCAtYyBzZW5kZW1haWwuaWRlbnRpdHk9Y2xvdWQgc2VuZC1lbWFpbCBcCisJCS0tbm8taWRlbnRpdHkgXAorCQktLWRyeS1ydW4gXAorCQktLWZyb209Im5vYm9keUBleGFtcGxlLmNvbSIgXAorCQkkcGF0Y2hlcyA+c3Rkb3V0ICYmCisJZ3JlcCAiVG86IGRlZmF1bHRAZXhhbXBsZS5jb20iIHN0ZG91dAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICRQUkVSRVEgJ3NlbmRlbWFpbC5pZGVudGl0eTogYm9vbCBpZGVudGl0eSB2YXJpYWJsZSBleGlzdGVuY2Ugb3ZlcnJpZGVzJyAnCisJZ2l0IC1jIHNlbmRlbWFpbC5pZGVudGl0eT1jbG91ZCBcCisJCS1jIHNlbmRlbWFpbC54bWFpbGVyPXRydWUgXAorCQktYyBzZW5kZW1haWwuY2xvdWQueG1haWxlcj1mYWxzZSBcCisJCXNlbmQtZW1haWwgXAorCQktLWRyeS1ydW4gXAorCQktLWZyb209Im5vYm9keUBleGFtcGxlLmNvbSIgXAorCQkkcGF0Y2hlcyA+c3Rkb3V0ICYmCisJZ3JlcCAiVG86IGNsb3VkQGV4YW1wbGUuY29tIiBzdGRvdXQgJiYKKwkhIGdyZXAgIlgtTWFpbGVyIiBzdGRvdXQKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAkUFJFUkVRICdzZW5kZW1haWwuaWRlbnRpdHk6IGJvb2wgdmFyaWFibGUgZmFsbGJhY2snICcKKwlnaXQgLWMgc2VuZGVtYWlsLmlkZW50aXR5PWNsb3VkIFwKKwkJLWMgc2VuZGVtYWlsLnhtYWlsZXI9ZmFsc2UgXAorCQlzZW5kLWVtYWlsIFwKKwkJLS1kcnktcnVuIFwKKwkJLS1mcm9tPSJub2JvZHlAZXhhbXBsZS5jb20iIFwKKwkJJHBhdGNoZXMgPnN0ZG91dCAmJgorCWdyZXAgIlRvOiBjbG91ZEBleGFtcGxlLmNvbSIgc3Rkb3V0ICYmCisJISBncmVwICJYLU1haWxlciIgc3Rkb3V0CisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJFBSRVJFUSAnLS1uby10byBvdmVycmlkZXMgc2VuZGVtYWlsLnRvJyAnCiAJZ2l0IHNlbmQtZW1haWwgXAogCQktLWRyeS1ydW4gXAogCQktLWZyb209IkV4YW1wbGUgPG5vYm9keUBleGFtcGxlLmNvbT4iIFwKIAkJLS1uby10byBcCiAJCS0tdG89bm9ib2R5QGV4YW1wbGUuY29tIFwKLQkJJHBhdGNoZXMgJHBhdGNoZXMgPnN0ZG91dCAmJgorCQkkcGF0Y2hlcyA+c3Rkb3V0ICYmCiAJZ3JlcCAiVG86IG5vYm9keUBleGFtcGxlLmNvbSIgc3Rkb3V0ICYmCiAJISBncmVwICJUbzogU29tZWJvZHkgPHNvbWVib2R5QGV4LmNvbT4iIHN0ZG91dAogJwpAQCAtMTIzMSw3ICsxMzAwLDcgQEAKIAkJLS1kcnktcnVuIFwKIAkJLS1mcm9tPSJFeGFtcGxlIDxub2JvZHlAZXhhbXBsZS5jb20+IiBcCiAJCS0tdG89bm9ib2R5QGV4YW1wbGUuY29tIFwKLQkJJHBhdGNoZXMgJHBhdGNoZXMgPnN0ZG91dCAmJgorCQkkcGF0Y2hlcyA+c3Rkb3V0ICYmCiAJZ3JlcCAiQ2M6IFNvbWVib2R5IDxzb21lYm9keUBleC5jb20+IiBzdGRvdXQKICcKIApAQCAtMTI0Miw3ICsxMzExLDcgQEAKIAkJLS1uby1jYyBcCiAJCS0tY2M9Ym9kaWVzQGV4YW1wbGUuY29tIFwKIAkJLS10bz1ub2JvZHlAZXhhbXBsZS5jb20gXAotCQkkcGF0Y2hlcyAkcGF0Y2hlcyA+c3Rkb3V0ICYmCisJCSRwYXRjaGVzID5zdGRvdXQgJiYKIAlncmVwICJDYzogYm9kaWVzQGV4YW1wbGUuY29tIiBzdGRvdXQgJiYKIAkhIGdyZXAgIkNjOiBTb21lYm9keSA8c29tZWJvZHlAZXguY29tPiIgc3Rkb3V0CiAnCkBAIC0xMjU0LDcgKzEzMjMsNyBAQAogCQktLWZyb209IkV4YW1wbGUgPG5vYm9keUBleGFtcGxlLmNvbT4iIFwKIAkJLS10bz1ub2JvZHlAZXhhbXBsZS5jb20gXAogCQktLXNtdHAtc2VydmVyIHJlbGF5LmV4YW1wbGUuY29tIFwKLQkJJHBhdGNoZXMgJHBhdGNoZXMgPnN0ZG91dCAmJgorCQkkcGF0Y2hlcyA+c3Rkb3V0ICYmCiAJZ3JlcCAiUkNQVCBUTzo8b3RoZXJAZXguY29tPiIgc3Rkb3V0CiAnCiAKQEAgLTEyNjYsNyArMTMzNSw3IEBACiAJCS0tYmNjPWJvZGllc0BleGFtcGxlLmNvbSBcCiAJCS0tdG89bm9ib2R5QGV4YW1wbGUuY29tIFwKIAkJLS1zbXRwLXNlcnZlciByZWxheS5leGFtcGxlLmNvbSBcCi0JCSRwYXRjaGVzICRwYXRjaGVzID5zdGRvdXQgJiYKKwkJJHBhdGNoZXMgPnN0ZG91dCAmJgogCWdyZXAgIlJDUFQgVE86PGJvZGllc0BleGFtcGxlLmNvbT4iIHN0ZG91dCAmJgogCSEgZ3JlcCAiUkNQVCBUTzo8b3RoZXJAZXguY29tPiIgc3Rkb3V0CiAnCkBAIC0xNDIzLDIyICsxNDkyLDEwIEBACiAJRU9GCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJFBSRVJFUSAnc2VuZGVtYWlsLnRyYW5zZmVyZW5jb2Rpbmc9N2JpdCBmYWlscyBvbiA4Yml0IGRhdGEnICcKLQljbGVhbl9mYWtlX3NlbmRtYWlsICYmCi0JZ2l0IGNvbmZpZyBzZW5kZW1haWwudHJhbnNmZXJFbmNvZGluZyA3Yml0ICYmCi0JdGVzdF9tdXN0X2ZhaWwgZ2l0IHNlbmQtZW1haWwgXAotCQktLXRyYW5zZmVyLWVuY29kaW5nPTdiaXQgXAotCQktLXNtdHAtc2VydmVyPSIkKHB3ZCkvZmFrZS5zZW5kbWFpbCIgXAotCQllbWFpbC11c2luZy04Yml0IFwKLQkJMj5lcnJvcnMgPm91dCAmJgotCWdyZXAgImNhbm5vdCBzZW5kIG1lc3NhZ2UgYXMgN2JpdCIgZXJyb3JzICYmCi0JdGVzdCAteiAiJChscyBtc2d0eHQqKSIKLScKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAkUFJFUkVRICctLXRyYW5zZmVyLWVuY29kaW5nIG92ZXJyaWRlcyBzZW5kZW1haWwudHJhbnNmZXJFbmNvZGluZycgJwogCWNsZWFuX2Zha2Vfc2VuZG1haWwgJiYKLQlnaXQgY29uZmlnIHNlbmRlbWFpbC50cmFuc2ZlckVuY29kaW5nIDhiaXQgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgc2VuZC1lbWFpbCBcCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IC1jIHNlbmRlbWFpbC50cmFuc2ZlckVuY29kaW5nPThiaXQgXAorCQlzZW5kLWVtYWlsIFwKIAkJLS10cmFuc2Zlci1lbmNvZGluZz03Yml0IFwKIAkJLS1zbXRwLXNlcnZlcj0iJChwd2QpL2Zha2Uuc2VuZG1haWwiIFwKIAkJZW1haWwtdXNpbmctOGJpdCBcCkBAIC0xNDQ3LDE2ICsxNTA0LDI2IEBACiAJdGVzdCAteiAiJChscyBtc2d0eHQqKSIKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAkUFJFUkVRICdzZW5kZW1haWwudHJhbnNmZXJlbmNvZGluZz04Yml0JyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICRQUkVSRVEgJ3NlbmRlbWFpbC50cmFuc2ZlckVuY29kaW5nIHZpYSBjb25maWcnICcKIAljbGVhbl9mYWtlX3NlbmRtYWlsICYmCi0JZ2l0IHNlbmQtZW1haWwgXAotCQktLXRyYW5zZmVyLWVuY29kaW5nPThiaXQgXAorCXRlc3RfbXVzdF9mYWlsIGdpdCAtYyBzZW5kZW1haWwudHJhbnNmZXJFbmNvZGluZz03Yml0IFwKKwkJc2VuZC1lbWFpbCBcCiAJCS0tc210cC1zZXJ2ZXI9IiQocHdkKS9mYWtlLnNlbmRtYWlsIiBcCiAJCWVtYWlsLXVzaW5nLThiaXQgXAogCQkyPmVycm9ycyA+b3V0ICYmCi0Jc2VkICcxLC9eJC9kJyBtc2d0eHQxID5hY3R1YWwgJiYKLQlzZWQgJzEsL14kL2QnIGVtYWlsLXVzaW5nLThiaXQgPmV4cGVjdGVkICYmCi0JdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisJZ3JlcCAiY2Fubm90IHNlbmQgbWVzc2FnZSBhcyA3Yml0IiBlcnJvcnMgJiYKKwl0ZXN0IC16ICIkKGxzIG1zZ3R4dCopIgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICRQUkVSRVEgJ3NlbmRlbWFpbC50cmFuc2ZlckVuY29kaW5nIHZpYSBjbGknICcKKwljbGVhbl9mYWtlX3NlbmRtYWlsICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHNlbmQtZW1haWwgXAorCQktLXRyYW5zZmVyLWVuY29kaW5nPTdiaXQgXAorCQktLXNtdHAtc2VydmVyPSIkKHB3ZCkvZmFrZS5zZW5kbWFpbCIgXAorCQllbWFpbC11c2luZy04Yml0IFwKKwkJMj5lcnJvcnMgPm91dCAmJgorCWdyZXAgImNhbm5vdCBzZW5kIG1lc3NhZ2UgYXMgN2JpdCIgZXJyb3JzICYmCisJdGVzdCAteiAiJChscyBtc2d0eHQqKSIKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAkUFJFUkVRICdzZXR1cCBleHBlY3QnICcKQEAgLTE3NzMsNiArMTg0MCwxNSBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBzZW5kLWVtYWlsIC0tZHVtcC1hbGlhc2VzIC0tdG89amFuaWNlQGV4YW1wbGUuY29tIC0xIHJlZnMvaGVhZHMvYWNjb3VudGluZwogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICRQUkVSRVEgJ2FsaWFzZXMgYW5kIHNlbmRlbWFpbC5pZGVudGl0eScgJworCXRlc3RfbXVzdF9mYWlsIGdpdCBcCisJCS1jIHNlbmRlbWFpbC5pZGVudGl0eT1jbG91ZCBcCisJCS1jIHNlbmRlbWFpbC5hbGlhc2VzZmlsZT1kZWZhdWx0LWFsaWFzZXMgXAorCQktYyBzZW5kZW1haWwuY2xvdWQuYWxpYXNlc2ZpbGU9Y2xvdWQtYWxpYXNlcyBcCisJCXNlbmQtZW1haWwgLTEgMj5zdGRlcnIgJiYKKwl0ZXN0X2kxOG5ncmVwICJjbG91ZC1hbGlhc2VzIiBzdGRlcnIKKycKKwogdGVzdF9zZW5kbWFpbF9hbGlhc2VzICgpIHsKIAltc2c9IiQxIiAmJiBzaGlmdCAmJgogCWV4cGVjdD0iJEAiICYmCkBAIC0xOTkwLDcgKzIwNjYsNyBAQAogCVRPMT0kKGVjaG8gIlFUbyAxIDx0bzFAZXhhbXBsZS5jb20+IiB8IHFfdG9fdGFiKSAmJgogCVRPMj0kKGVjaG8gIlFadG8yIiB8IHF6X3RvX3RhYl9zcGFjZSkgJiYKIAlDQzE9JChlY2hvICJjYzEiIHwgYXBwZW5kX2NyKSAmJgotCUJDQzE9JChlY2hvICJRIGJjYzFAZXhhbXBsZS5jb20gUSIgfCBxX3RvX251bCkgJiYKKwlCQ0MxPSQoZWNobyAiIGJjYzFAZXhhbXBsZS5jb20gUSIgfCBxX3RvX251bCkgJiYKIAlnaXQgc2VuZC1lbWFpbCBcCiAJLS1kcnktcnVuIFwKIAktLWZyb209IglFeGFtcGxlIDxmcm9tQGV4YW1wbGUuY29tPiIgXApkaWZmIC0tZ2l0IGEvdC90OTAxMC1zdm4tZmUuc2ggYi90L3Q5MDEwLXN2bi1mZS5zaAppbmRleCAwYjIwYjA3Li5jOTBmZGM1IDEwMDc1NQotLS0gYS90L3Q5MDEwLXN2bi1mZS5zaAorKysgYi90L3Q5MDEwLXN2bi1mZS5zaApAQCAtNTMsOCArNTMsNiBAQAogCXByaW50ZiAiJXNcbiIgIiR0ZXh0IgogfQogCi0+ZW1wdHkKLQogdGVzdF9leHBlY3Rfc3VjY2VzcyAnZW1wdHkgZHVtcCcgJwogCXJlaW5pdF9naXQgJiYKIAllY2hvICJTVk4tZnMtZHVtcC1mb3JtYXQtdmVyc2lvbjogMiIgPmlucHV0ICYmCkBAIC0yMDgsNyArMjA2LDcgQEAKIAl0ZXN0X2NtcCBleHBlY3QuZGF0ZSBhY3R1YWwuZGF0ZSAmJgogCXRlc3RfY21wIGV4cGVjdC5maWxlcyBhY3R1YWwuZmlsZXMgJiYKIAlnaXQgY2hlY2tvdXQgSEVBRCBlbXB0eS1maWxlICYmCi0JdGVzdF9jbXAgZW1wdHkgZmlsZQorCXRlc3RfbXVzdF9iZV9lbXB0eSBmaWxlCiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RpcmVjdG9yeSB3aXRoIGZpbGVzJyAnCmRpZmYgLS1naXQgYS90L3Q5MTA2LWdpdC1zdm4tY29tbWl0LWRpZmYtY2xvYmJlci5zaCBiL3QvdDkxMDYtZ2l0LXN2bi1jb21taXQtZGlmZi1jbG9iYmVyLnNoCmluZGV4IGRiZThkZWEuLmFlYzQ1YmMgMTAwNzU1Ci0tLSBhL3QvdDkxMDYtZ2l0LXN2bi1jb21taXQtZGlmZi1jbG9iYmVyLnNoCisrKyBiL3QvdDkxMDYtZ2l0LXN2bi1jb21taXQtZGlmZi1jbG9iYmVyLnNoCkBAIC05Miw3ICs5Miw4IEBACiAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnY2hlY2sgdGhhdCByZWJhc2UgcmVhbGx5IGZhaWxlZCcgJwotCXRlc3QgLWQgLmdpdC9yZWJhc2UtYXBwbHkKKwlnaXQgc3RhdHVzID5vdXRwdXQgJiYKKwlncmVwIGN1cnJlbnRseS5yZWJhc2luZyBvdXRwdXQKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVzb2x2ZSwgY29udGludWUgdGhlIHJlYmFzZSBhbmQgZGNvbW1pdCcgIgpkaWZmIC0tZ2l0IGEvdC90OTExNS1naXQtc3ZuLWRjb21taXQtZnVua3ktcmVuYW1lcy5zaCBiL3QvdDkxMTUtZ2l0LXN2bi1kY29tbWl0LWZ1bmt5LXJlbmFtZXMuc2gKaW5kZXggNjRiYjQ5NS4uOWI0NGE0NCAxMDA3NTUKLS0tIGEvdC90OTExNS1naXQtc3ZuLWRjb21taXQtZnVua3ktcmVuYW1lcy5zaAorKysgYi90L3Q5MTE1LWdpdC1zdm4tZGNvbW1pdC1mdW5reS1yZW5hbWVzLnNoCkBAIC0xMjAsNiArMTIwLDQgQEAKIAlnaXQgc3ZuIGRjb21taXQKICcKIAotc3RvcF9odHRwZAotCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDkxMTYtZ2l0LXN2bi1sb2cuc2ggYi90L3Q5MTE2LWdpdC1zdm4tbG9nLnNoCmluZGV4IDQ1NzczZWUuLjBhOWYxZWYgMTAwNzU1Ci0tLSBhL3QvdDkxMTYtZ2l0LXN2bi1sb2cuc2gKKysrIGIvdC90OTExNi1naXQtc3ZuLWxvZy5zaApAQCAtNDMsMTQgKzQzLDE4IEBACiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3J1biBsb2cnICIKIAlnaXQgcmVzZXQgLS1oYXJkIG9yaWdpbi9hICYmCi0JZ2l0IHN2biBsb2cgLXIyIG9yaWdpbi90cnVuayB8IGdyZXAgXnIyICYmCi0JZ2l0IHN2biBsb2cgLXI0IG9yaWdpbi90cnVuayB8IGdyZXAgXnI0ICYmCi0JZ2l0IHN2biBsb2cgLXIzIHwgZ3JlcCBecjMKKwlnaXQgc3ZuIGxvZyAtcjIgb3JpZ2luL3RydW5rID5vdXQgJiYKKwlncmVwIF5yMiBvdXQgJiYKKwlnaXQgc3ZuIGxvZyAtcjQgb3JpZ2luL3RydW5rID5vdXQgJiYKKwlncmVwIF5yNCBvdXQgJiYKKwlnaXQgc3ZuIGxvZyAtcjMgPm91dCAmJgorCWdyZXAgXnIzIG91dAogCSIKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncnVuIGxvZyBhZ2FpbnN0IGEgZnJvbSB0cnVuaycgIgogCWdpdCByZXNldCAtLWhhcmQgb3JpZ2luL3RydW5rICYmCi0JZ2l0IHN2biBsb2cgLXIzIG9yaWdpbi9hIHwgZ3JlcCBecjMKKwlnaXQgc3ZuIGxvZyAtcjMgb3JpZ2luL2EgPm91dCAmJgorCWdyZXAgXnIzIG91dAogCSIKIAogcHJpbnRmICdyMSBcbnIyIFxucjQgXG4nID4gZXhwZWN0ZWQtcmFuZ2UtcjEtcjItcjQKZGlmZiAtLWdpdCBhL3QvdDkxMTgtZ2l0LXN2bi1mdW5reS1icmFuY2gtbmFtZXMuc2ggYi90L3Q5MTE4LWdpdC1zdm4tZnVua3ktYnJhbmNoLW5hbWVzLnNoCmluZGV4IDQxYTAyNjYuLmExNTlmZjkgMTAwNzU1Ci0tLSBhL3QvdDkxMTgtZ2l0LXN2bi1mdW5reS1icmFuY2gtbmFtZXMuc2gKKysrIGIvdC90OTExOC1naXQtc3ZuLWZ1bmt5LWJyYW5jaC1uYW1lcy5zaApAQCAtODcsNiArODcsNCBAQAogCSkKIAknCiAKLXN0b3BfaHR0cGQKLQogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q5MTIwLWdpdC1zdm4tY2xvbmUtd2l0aC1wZXJjZW50LWVzY2FwZXMuc2ggYi90L3Q5MTIwLWdpdC1zdm4tY2xvbmUtd2l0aC1wZXJjZW50LWVzY2FwZXMuc2gKaW5kZXggYjI4YTE3NC4uNDBiNzE0ZCAxMDA3NTUKLS0tIGEvdC90OTEyMC1naXQtc3ZuLWNsb25lLXdpdGgtcGVyY2VudC1lc2NhcGVzLnNoCisrKyBiL3QvdDkxMjAtZ2l0LXN2bi1jbG9uZS13aXRoLXBlcmNlbnQtZXNjYXBlcy5zaApAQCAtNzQsNiArNzQsNCBAQAogCSkKICcKIAotc3RvcF9odHRwZAotCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDkxNDItZ2l0LXN2bi1zaGFsbG93LWNsb25lLnNoIGIvdC90OTE0Mi1naXQtc3ZuLXNoYWxsb3ctY2xvbmUuc2gKaW5kZXggOWVlMjNiZS4uYTMwNzMwNSAxMDA3NTUKLS0tIGEvdC90OTE0Mi1naXQtc3ZuLXNoYWxsb3ctY2xvbmUuc2gKKysrIGIvdC90OTE0Mi1naXQtc3ZuLXNoYWxsb3ctY2xvbmUuc2gKQEAgLTI2LDYgKzI2LDQgQEAKIAkoIGNkIGcgJiYgZ2l0IHJldi1wYXJzZSAtLXN5bWJvbGljIC0tdmVyaWZ5IEhFQUQgKQogJwogCi1zdG9wX2h0dHBkCi0KIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTMwMC1mYXN0LWltcG9ydC5zaCBiL3QvdDkzMDAtZmFzdC1pbXBvcnQuc2gKaW5kZXggMzc3YzJiNC4uM2U0MWM1OCAxMDA3NTUKLS0tIGEvdC90OTMwMC1mYXN0LWltcG9ydC5zaAorKysgYi90L3Q5MzAwLWZhc3QtaW1wb3J0LnNoCkBAIC04NSw2ICs4NSwzNiBAQAogCUFuIGFubm90YXRlZCB0YWcgdGhhdCBhbm5vdGF0ZXMgYSBibG9iLgogCUVPRgogCisJdGFnIHRvLWJlLWRlbGV0ZWQKKwlmcm9tIDozCisJZGF0YSA8PEVPRgorCUFub3RoZXIgYW5ub3RhdGVkIHRhZyB0aGF0IGFubm90YXRlcyBhIGJsb2IuCisJRU9GCisKKwlyZXNldCByZWZzL3RhZ3MvdG8tYmUtZGVsZXRlZAorCWZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAorCisJdGFnIG5lc3RlZAorCW1hcmsgOjYKKwlmcm9tIDo0CisJZGF0YSA8PEVPRgorCVRhZyBvZiBvdXIgbG92ZWx5IGNvbW1pdAorCUVPRgorCisJcmVzZXQgcmVmcy90YWdzL25lc3RlZAorCWZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAorCisJdGFnIG5lc3RlZAorCW1hcmsgOjcKKwlmcm9tIDo2CisJZGF0YSA8PEVPRgorCVRhZyBvZiB0YWcgb2Ygb3VyIGxvdmVseSBjb21taXQKKwlFT0YKKworCWFsaWFzCisJbWFyayA6OAorCXRvIDo1CisKIAlJTlBVVF9FTkQKIAlnaXQgZmFzdC1pbXBvcnQgLS1leHBvcnQtbWFya3M9bWFya3Mub3V0IDxpbnB1dCAmJgogCWdpdCB3aGF0Y2hhbmdlZCBtYXN0ZXIKQEAgLTE1NywxMiArMTg3LDE5IEBACiAJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdBOiB2ZXJpZnkgdGFnIGRlbGV0aW9uIGlzIHN1Y2Nlc3NmdWwnICcKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IHJlZnMvdGFncy90by1iZS1kZWxldGVkCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ0E6IHZlcmlmeSBtYXJrcyBvdXRwdXQnICcKIAljYXQgPmV4cGVjdCA8PC1FT0YgJiYKIAk6MiAkKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgbWFzdGVyOmZpbGUyKQogCTozICQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBtYXN0ZXI6ZmlsZTMpCiAJOjQgJChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IG1hc3RlcjpmaWxlNCkKIAk6NSAkKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgbWFzdGVyXjApCisJOjYgJChnaXQgY2F0LWZpbGUgdGFnIG5lc3RlZCB8IGdyZXAgb2JqZWN0IHwgY3V0IC1kIiAiIC1mIDIpCisJOjcgJChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IG5lc3RlZCkKKwk6OCAkKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgbWFzdGVyXjApCiAJRU9GCiAJdGVzdF9jbXAgZXhwZWN0IG1hcmtzLm91dAogJwpAQCAtMTAxMCw3ICsxMDQ3LDYgQEAKIAlFT0YKIAlnaXQgZmFzdC1pbXBvcnQgPGlucHV0ICYmCiAJZ2l0IGRpZmYtdHJlZSAtTSAtciBNNF4gTTQgPmFjdHVhbCAmJgotCWNhdCBhY3R1YWwgJiYKIAljb21wYXJlX2RpZmZfcmF3IGV4cGVjdCBhY3R1YWwKICcKIApAQCAtMjQ3MCw5ICsyNTA2LDYgQEAKIAllY2hvICRleHBlY3RfaWQgYmxvYiAkZXhwZWN0X2xlbiA+ZXhwZWN0LnJlc3BvbnNlICYmCiAKIAlybSAtZiBibG9icyAmJgotCWNhdCA+ZnJvbnRlbmQgPDwtXEZST05URU5EX0VORCAmJgotCSMhL2Jpbi9zaAotCUZST05URU5EX0VORAogCiAJbWtmaWZvIGJsb2JzICYmCiAJKApAQCAtMjgxMSw3ICsyODQ0LDYgQEAKIAlDT01NSVQKIAlNIDEwMDY0NCA6NDAzeCBoZWxsby5jCiAJRU9GCi0JY2F0IGVyciAmJgogCXRlc3RfaTE4bmdyZXAgInNwYWNlIGFmdGVyIG1hcmsiIGVycgogJwogCkBAIC0yODI4LDcgKzI4NjAsNiBAQAogCWlubGluZQogCUJMT0IKIAlFT0YKLQljYXQgZXJyICYmCiAJdGVzdF9pMThuZ3JlcCAibnZhbGlkIGRhdGFyZWYiIGVycgogJwogCkBAIC0yODQyLDcgKzI4NzMsNiBAQAogCUNPTU1JVAogCU0gMTAwNjQ0ICR7c2hhMX14IGhlbGxvLmMKIAlFT0YKLQljYXQgZXJyICYmCiAJdGVzdF9pMThuZ3JlcCAic3BhY2UgYWZ0ZXIgU0hBMSIgZXJyCiAnCiAKQEAgLTI4NTgsNyArMjg4OCw2IEBACiAJQ09NTUlUCiAJTiA6MjAyeCA6MzAyCiAJRU9GCi0JY2F0IGVyciAmJgogCXRlc3RfaTE4bmdyZXAgInNwYWNlIGFmdGVyIG1hcmsiIGVycgogJwogCkBAIC0yODc0LDcgKzI5MDMsNiBAQAogCW5vdGUgYmxvYgogCUJMT0IKIAlFT0YKLQljYXQgZXJyICYmCiAJdGVzdF9pMThuZ3JlcCAibnZhbGlkIGRhdGFyZWYiIGVycgogJwogCkBAIC0yODg4LDcgKzI5MTYsNiBAQAogCUNPTU1JVAogCU4gJHtzaGExfXggOjMwMgogCUVPRgotCWNhdCBlcnIgJiYKIAl0ZXN0X2kxOG5ncmVwICJzcGFjZSBhZnRlciBTSEExIiBlcnIKICcKIApAQCAtMjkwNCw3ICsyOTMxLDYgQEAKIAlDT01NSVQKIAlOIDoyMDIgOjMwMngKIAlFT0YKLQljYXQgZXJyICYmCiAJdGVzdF9pMThuZ3JlcCAiYWZ0ZXIgbWFyayIgZXJyCiAnCiAKQEAgLTI5MzgsNyArMjk2NCw2IEBACiAJRU9GCiAKIAkjIG5vdyBldmFsdWF0ZSB0aGUgZXJyb3IKLQljYXQgZXJyICYmCiAJdGVzdF9pMThuZ3JlcCAiYWZ0ZXIgbWFyayIgZXJyCiAnCiAKQEAgLTI5NTgsNyArMjk4Myw2IEBACiAJbWVyZ2UgOjMwM3gKIAlNIDEwMDY0NCA6NDAzIGhlbGxvLmMKIAlFT0YKLQljYXQgZXJyICYmCiAJdGVzdF9pMThuZ3JlcCAiYWZ0ZXIgbWFyayIgZXJyCiAnCiAKQEAgLTI5NzQsNyArMjk5OCw2IEBACiAJdGFnIFMKIAlUQUcKIAlFT0YKLQljYXQgZXJyICYmCiAJdGVzdF9pMThuZ3JlcCAiYWZ0ZXIgbWFyayIgZXJyCiAnCiAKQEAgLTI5ODUsNyArMzAwOCw2IEBACiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IGZhc3QtaW1wb3J0IC0taW1wb3J0LW1hcmtzPW1hcmtzIDw8LUVPRiAyPmVyciAmJgogCWNhdC1ibG9iIDo0MDN4CiAJRU9GCi0JY2F0IGVyciAmJgogCXRlc3RfaTE4bmdyZXAgImFmdGVyIG1hcmsiIGVycgogJwogCkBAIC0yOTk2LDcgKzMwMTgsNiBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBmYXN0LWltcG9ydCAtLWltcG9ydC1tYXJrcz1tYXJrcyA8PC1FT0YgMj5lcnIgJiYKIAlscyA6MzAyeCBoZWxsby5jCiAJRU9GCi0JY2F0IGVyciAmJgogCXRlc3RfaTE4bmdyZXAgInNwYWNlIGFmdGVyIG1hcmsiIGVycgogJwogCkBAIC0zMDA1LDcgKzMwMjYsNiBAQAogCXRlc3RfbXVzdF9mYWlsIGdpdCBmYXN0LWltcG9ydCAtLWltcG9ydC1tYXJrcz1tYXJrcyA8PC1FT0YgMj5lcnIgJiYKIAlscyAke3NoYTF9eCBoZWxsby5jCiAJRU9GCi0JY2F0IGVyciAmJgogCXRlc3RfaTE4bmdyZXAgInNwYWNlIGFmdGVyIHRyZWUtaXNoIiBlcnIKICcKIApAQCAtMzE3MCwxMyArMzE5MCwyMiBAQAogCWV4ZWMgOTw+Vi5vdXRwdXQKIAlybSBWLm91dHB1dAogCi0JZ2l0IGZhc3QtaW1wb3J0ICRvcHRpb25zIDwmOCA+JjkgJgotCWVjaG8gJCEgPlYucGlkCisJKAorCQlnaXQgZmFzdC1pbXBvcnQgJG9wdGlvbnMgPCY4ID4mOSAmCisJCWVjaG8gJCEgPiY5CisJCXdhaXQgJCEKKwkJZWNobyA+JjIgImJhY2tncm91bmQgZmFzdC1pbXBvcnQgdGVybWluYXRlZCB0b28gZWFybHkgd2l0aCBleGl0IGNvZGUgJD8iCisJCSMgVW4tYmxvY2sgdGhlIHJlYWQgbG9vcCBpbiB0aGUgbWFpbiBzaGVsbCBwcm9jZXNzLgorCQllY2hvID4mOSBVTkVYUEVDVEVECisJKSAmCisJc2hfcGlkPSQhCisJcmVhZCBmaV9waWQgPCY5CiAJIyBXZSBkb24ndCBtaW5kIGlmIGZhc3QtaW1wb3J0IGhhcyBhbHJlYWR5IGRpZWQgYnkgdGhlIHRpbWUgdGhlIHRlc3QKIAkjIGVuZHMuCiAJdGVzdF93aGVuX2ZpbmlzaGVkICIKIAkJZXhlYyA4PiYtOyBleGVjIDk+Ji07Ci0JCWtpbGwgJChjYXQgVi5waWQpICYmIHdhaXQgJChjYXQgVi5waWQpCisJCWtpbGwgJHNoX3BpZCAmJiB3YWl0ICRzaF9waWQKKwkJa2lsbCAkZmlfcGlkICYmIHdhaXQgJGZpX3BpZAogCQl0cnVlIgogCiAJIyBTdGFydCBpbiB0aGUgYmFja2dyb3VuZCB0byBlbnN1cmUgd2UgYWRoZXJlIHN0cmljdGx5IHRvIChibG9ja2luZykKQEAgLTMxOTYsNiArMzIyNSw5IEBACiAJCXRoZW4KIAkJCWVycm9yPTAKIAkJCWJyZWFrCisJCWVsaWYgdGVzdCAiJG91dHB1dCIgPSAiVU5FWFBFQ1RFRCIKKwkJdGhlbgorCQkJYnJlYWsKIAkJZmkKIAkJIyBvdGhlcndpc2UgaWdub3JlIGNydWZ0CiAJCWVjaG8gPiYyICJjcnVmdDogJG91dHB1dCIKQEAgLTMyMDgsNyArMzI0MCw3IEBACiB9CiAKIGJhY2tncm91bmRfaW1wb3J0X3N0aWxsX3J1bm5pbmcgKCkgewotCWlmICEga2lsbCAtMCAiJChjYXQgVi5waWQpIgorCWlmICEga2lsbCAtMCAiJGZpX3BpZCIKIAl0aGVuCiAJCWVjaG8gPiYyICJiYWNrZ3JvdW5kIGZhc3QtaW1wb3J0IHRlcm1pbmF0ZWQgdG9vIGVhcmx5IgogCQlmYWxzZQpAQCAtMzI5Miw0ICszMzI0LDYxIEBACiAJYmFja2dyb3VuZF9pbXBvcnRfc3RpbGxfcnVubmluZwogJwogCisjIyMKKyMjIyBzZXJpZXMgVyAoZ2V0LW1hcmsgYW5kIGVtcHR5IG9ycGhhbiBjb21taXRzKQorIyMjCisKK2NhdCA+PlctaW5wdXQgPDwtV19JTlBVVF9FTkQKKwljb21taXQgcmVmcy9oZWFkcy9XLWJyYW5jaAorCW1hcmsgOjEKKwlhdXRob3IgRnVsbCBOYW1lIDx1c2VyQGNvbXBhbnkudGxkPiAxMDAwMDAwMDAwICswMTAwCisJY29tbWl0dGVyIEZ1bGwgTmFtZSA8dXNlckBjb21wYW55LnRsZD4gMTAwMDAwMDAwMCArMDEwMAorCWRhdGEgMjcKKwlJbnRlbnRpb25hbGx5IGVtcHR5IGNvbW1pdAorCUxGc2dldC1tYXJrIDoxCisJV19JTlBVVF9FTkQKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAhTUlOR1cgJ1c6IGdldC1tYXJrICYgZW1wdHkgb3JwaGFuIGNvbW1pdCB3aXRoIG5vIG5ld2xpbmVzJyAnCisJc2VkIC1lIHMvTEZzLy8gVy1pbnB1dCB8IHRyIEwgIlxuIiB8IGdpdCBmYXN0LWltcG9ydAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICFNSU5HVyAnVzogZ2V0LW1hcmsgJiBlbXB0eSBvcnBoYW4gY29tbWl0IHdpdGggb25lIG5ld2xpbmUnICcKKwlzZWQgLWUgcy9MRnMvTC8gVy1pbnB1dCB8IHRyIEwgIlxuIiB8IGdpdCBmYXN0LWltcG9ydAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICFNSU5HVyAnVzogZ2V0LW1hcmsgJiBlbXB0eSBvcnBoYW4gY29tbWl0IHdpdGggdWdseSBzZWNvbmQgbmV3bGluZScgJworCSMgVGVjaG5pY2FsbHksIHRoaXMgc2hvdWxkIGZhaWwgYXMgaXQgaGFzIHRvbyBtYW55IGxpbmVmZWVkcworCSMgYWNjb3JkaW5nIHRvIHRoZSBncmFtbWFyIGluIGZhc3QtaW1wb3J0LnR4dC4gIEJ1dCwgZm9yIHdoYXRldmVyCisJIyByZWFzb24sIGl0IHdvcmtzLiAgU2luY2UgdXNpbmcgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIG5ld2xpbmVzCisJIyBkb2VzIG5vdCB3b3JrIHdpdGggb2xkZXIgKHByZS0yLjIyKSB2ZXJzaW9ucyBvZiBnaXQsIGFsbG93IGFwcHMKKwkjIHRoYXQgdXNlZCB0aGlzIHNlY29uZC1uZXdsaW5lIHdvcmthcm91bmQgdG8ga2VlcCB3b3JraW5nIGJ5CisJIyBjaGVja2luZyBpdCB3aXRoIHRoaXMgdGVzdC4uLgorCXNlZCAtZSBzL0xGcy9MTC8gVy1pbnB1dCB8IHRyIEwgIlxuIiB8IGdpdCBmYXN0LWltcG9ydAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICFNSU5HVyAnVzogZ2V0LW1hcmsgJiBlbXB0eSBvcnBoYW4gY29tbWl0IHdpdGggZXJyb25lb3VzIHRoaXJkIG5ld2xpbmUnICcKKwkjIC4uLmJ1dCBkbyBOT1QgYWxsb3cgbW9yZSBlbXB0eSBsaW5lcyB0aGFuIHRoYXQgKHNlZSBwcmV2aW91cyB0ZXN0KS4KKwlzZWQgLWUgcy9MRnMvTExMLyBXLWlucHV0IHwgdHIgTCAiXG4iIHwgdGVzdF9tdXN0X2ZhaWwgZ2l0IGZhc3QtaW1wb3J0CisnCisKKyMjIworIyMjIHNlcmllcyBYIChvdGhlciBuZXcgZmVhdHVyZXMpCisjIyMKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnWDogaGFuZGxpbmcgZW5jb2RpbmcnICcKKwl0ZXN0X3RpY2sgJiYKKwljYXQgPmlucHV0IDw8LUlOUFVUX0VORCAmJgorCWNvbW1pdCByZWZzL2hlYWRzL2VuY29kaW5nCisJY29tbWl0dGVyICRHSVRfQ09NTUlUVEVSX05BTUUgPCRHSVRfQ09NTUlUVEVSX0VNQUlMPiAkR0lUX0NPTU1JVFRFUl9EQVRFCisJZW5jb2RpbmcgaXNvLTg4NTktNworCWRhdGEgPDxDT01NSVQKKwlJTlBVVF9FTkQKKworCXByaW50ZiAiUGk6IFwzNjBcbkNPTU1JVFxuIiA+PmlucHV0ICYmCisKKwlnaXQgZmFzdC1pbXBvcnQgPGlucHV0ICYmCisJZ2l0IGNhdC1maWxlIC1wIGVuY29kaW5nIHwgZ3JlcCAkKHByaW50ZiAiXDM2MCIpICYmCisJZ2l0IGxvZyAtMSAtLWZvcm1hdD0lQiBlbmNvZGluZyB8IGdyZXAgJChwcmludGYgIlwzMTdcMjAwIikKKycKKwogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q5MzAxLWZhc3QtaW1wb3J0LW5vdGVzLnNoIGIvdC90OTMwMS1mYXN0LWltcG9ydC1ub3Rlcy5zaAppbmRleCBkYWRjNzBiLi5jYTIyM2RjIDEwMDc1NQotLS0gYS90L3Q5MzAxLWZhc3QtaW1wb3J0LW5vdGVzLnNoCisrKyBiL3QvdDkzMDEtZmFzdC1pbXBvcnQtbm90ZXMuc2gKQEAgLTI3NSw3ICsyNzUsNyBAQAogICAgIHRoaXJkIG5vdGUgZm9yIGZpcnN0IGNvbW1pdAogRVhQRUNUX0VORAogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdhZGQgY29uY2F0ZW50YXRpb24gbm90ZXMgd2l0aCBNIGNvbW1hbmQnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2FkZCBjb25jYXRlbmF0aW9uIG5vdGVzIHdpdGggTSBjb21tYW5kJyAnCiAKIAlnaXQgZmFzdC1pbXBvcnQgPGlucHV0ICYmCiAJR0lUX05PVEVTX1JFRj1yZWZzL25vdGVzL3Rlc3QgZ2l0IGxvZyB8IGdyZXAgIl4gICAgIiA+IGFjdHVhbCAmJgpkaWZmIC0tZ2l0IGEvdC90OTMwMy1mYXN0LWltcG9ydC1jb21wcmVzc2lvbi5zaCBiL3QvdDkzMDMtZmFzdC1pbXBvcnQtY29tcHJlc3Npb24uc2gKaW5kZXggODU2MjE5Zi4uNTA0NWYwMiAxMDA3NTUKLS0tIGEvdC90OTMwMy1mYXN0LWltcG9ydC1jb21wcmVzc2lvbi5zaAorKysgYi90L3Q5MzAzLWZhc3QtaW1wb3J0LWNvbXByZXNzaW9uLnNoCkBAIC02LDcgKzYsNyBAQAogIyBUaGlzIHNob3VsZCBiZSBtb3ZlZCB0byB0ZXN0LWxpYi5zaCB0b2dldGhlciB3aXRoIHRoZQogIyBjb3B5IGluIHQwMDIxIGFmdGVyIGJvdGggdG9waWNzIGhhdmUgZ3JhZHVhdGVkIHRvICdtYXN0ZXInLgogZmlsZV9zaXplICgpIHsKLQlwZXJsIC1lICdwcmludCAtcyAkQVJHVlswXScgIiQxIgorCXRlc3QtdG9vbCBwYXRoLXV0aWxzIGZpbGUtc2l6ZSAiJDEiCiB9CiAKIGltcG9ydF9sYXJnZSAoKSB7CmRpZmYgLS1naXQgYS90L3Q5MzUwLWZhc3QtZXhwb3J0LnNoIGIvdC90OTM1MC1mYXN0LWV4cG9ydC5zaAppbmRleCBlZjFlMDE4Li42OTBjOTBmIDEwMDc1NQotLS0gYS90L3Q5MzUwLWZhc3QtZXhwb3J0LnNoCisrKyBiL3QvdDkzNTAtZmFzdC1leHBvcnQuc2gKQEAgLTUzLDYgKzUzLDMzIEBACiAKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmFzdC1leHBvcnQgXm11c3Nee2NvbW1pdH0gbXVzcycgJworCWdpdCBmYXN0LWV4cG9ydCAtLXRhZy1vZi1maWx0ZXJlZC1vYmplY3Q9cmV3cml0ZSBebXVzc157Y29tbWl0fSBtdXNzID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCXRhZyBtdXNzCisJZnJvbSAkKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgbXVzc157Y29tbWl0fSkKKwkkKGdpdCBjYXQtZmlsZSB0YWcgbXVzcyB8IGdyZXAgdGFnZ2VyKQorCWRhdGEgOQorCXZhbGVudGluCisKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZmFzdC1leHBvcnQgLS1tYXJrLXRhZ3MgXm11c3Nee2NvbW1pdH0gbXVzcycgJworCWdpdCBmYXN0LWV4cG9ydCAtLW1hcmstdGFncyAtLXRhZy1vZi1maWx0ZXJlZC1vYmplY3Q9cmV3cml0ZSBebXVzc157Y29tbWl0fSBtdXNzID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCXRhZyBtdXNzCisJbWFyayA6MQorCWZyb20gJChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IG11c3Nee2NvbW1pdH0pCisJJChnaXQgY2F0LWZpbGUgdGFnIG11c3MgfCBncmVwIHRhZ2dlcikKKwlkYXRhIDkKKwl2YWxlbnRpbgorCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zhc3QtZXhwb3J0IG1hc3Rlcn4yLi5tYXN0ZXInICcKIAogCWdpdCBmYXN0LWV4cG9ydCBtYXN0ZXJ+Mi4ubWFzdGVyID5hY3R1YWwgJiYKQEAgLTY2LDIyICs5MywxMTEgQEAKIAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdpc28tODg1OS0xJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmYXN0LWV4cG9ydCAtLXJlZmVyZW5jZS1leGNsdWRlZC1wYXJlbnRzIG1hc3Rlcn4yLi5tYXN0ZXInICcKIAotCWdpdCBjb25maWcgaTE4bi5jb21taXRlbmNvZGluZyBJU084ODU5LTEgJiYKLQkjIHVzZSBhdXRob3IgYW5kIGNvbW1pdHRlciBuYW1lIGluIElTTy04ODU5LTEgdG8gbWF0Y2ggaXQuCi0JLiAiJFRFU1RfRElSRUNUT1JZIi90MzkwMS84ODU5LTEudHh0ICYmCi0JdGVzdF90aWNrICYmCi0JZWNobyByb3N0ZW4gPmZpbGUgJiYKLQlnaXQgY29tbWl0IC1zIC1tIGRlbiBmaWxlICYmCi0JZ2l0IGZhc3QtZXhwb3J0IHdlcl4uLndlciA+aXNvODg1OS0xLmZpICYmCi0Jc2VkICJzL3dlci9pMThuLyIgaXNvODg1OS0xLmZpIHwKKwlnaXQgZmFzdC1leHBvcnQgLS1yZWZlcmVuY2UtZXhjbHVkZWQtcGFyZW50cyBtYXN0ZXJ+Mi4ubWFzdGVyID5hY3R1YWwgJiYKKwlncmVwIGNvbW1pdC5yZWZzL2hlYWRzL21hc3RlciBhY3R1YWwgPmNvbW1pdC1jb3VudCAmJgorCXRlc3RfbGluZV9jb3VudCA9IDIgY29tbWl0LWNvdW50ICYmCisJc2VkICJzL21hc3Rlci9yZXdyaXRlLyIgYWN0dWFsIHwKIAkJKGNkIG5ldyAmJgogCQkgZ2l0IGZhc3QtaW1wb3J0ICYmCi0JCSBnaXQgY2F0LWZpbGUgY29tbWl0IGkxOG4gPmFjdHVhbCAmJgotCQkgZ3JlcCAiw4HDqcOtIMOzw7oiIGFjdHVhbCkKLQorCQkgdGVzdCAkTUFTVEVSID0gJChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IHJlZnMvaGVhZHMvcmV3cml0ZSkpCiAnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Zhc3QtZXhwb3J0IC0tc2hvdy1vcmlnaW5hbC1pZHMnICcKKworCWdpdCBmYXN0LWV4cG9ydCAtLXNob3ctb3JpZ2luYWwtaWRzIG1hc3RlciA+b3V0cHV0ICYmCisJZ3JlcCBeb3JpZ2luYWwtb2lkIG91dHB1dHwgc2VkIC1lIHMvXm9yaWdpbmFsLW9pZC4vLyB8IHNvcnQgPmFjdHVhbCAmJgorCWdpdCByZXYtbGlzdCAtLW9iamVjdHMgbWFzdGVyIG11c3MgPm9iamVjdHMtYW5kLW5hbWVzICYmCisJYXdrICJ7cHJpbnQgXCQxfSIgb2JqZWN0cy1hbmQtbmFtZXMgfCBzb3J0ID5jb21taXRzLXRyZWVzLWJsb2JzICYmCisJY29tbSAtMjMgYWN0dWFsIGNvbW1pdHMtdHJlZXMtYmxvYnMgPnVuZm91bmQgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgdW5mb3VuZAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdmYXN0LWV4cG9ydCAtLXNob3ctb3JpZ2luYWwtaWRzIHwgZ2l0IGZhc3QtaW1wb3J0JyAnCisKKwlnaXQgZmFzdC1leHBvcnQgLS1zaG93LW9yaWdpbmFsLWlkcyBtYXN0ZXIgbXVzcyB8IGdpdCBmYXN0LWltcG9ydCAtLXF1aWV0ICYmCisJdGVzdCAkTUFTVEVSID0gJChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IHJlZnMvaGVhZHMvbWFzdGVyKSAmJgorCXRlc3QgJE1VU1MgPSAkKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgcmVmcy90YWdzL211c3MpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3JlZW5jb2RpbmcgaXNvLTg4NTktNycgJworCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkIEhFQUR+MSIgJiYKKwl0ZXN0X2NvbmZpZyBpMThuLmNvbW1pdGVuY29kaW5nIGlzby04ODU5LTcgJiYKKwl0ZXN0X3RpY2sgJiYKKwllY2hvIHJvc3RlbiA+ZmlsZSAmJgorCWdpdCBjb21taXQgLXMgLUYgIiRURVNUX0RJUkVDVE9SWS90OTM1MC9zaW1wbGUtaXNvLTg4NTktNy1jb21taXQtbWVzc2FnZS50eHQiIGZpbGUgJiYKKwlnaXQgZmFzdC1leHBvcnQgLS1yZWVuY29kZT15ZXMgd2VyXi4ud2VyID5pc28tODg1OS03LmZpICYmCisJc2VkICJzL3dlci9pMThuLyIgaXNvLTg4NTktNy5maSB8CisJCShjZCBuZXcgJiYKKwkJIGdpdCBmYXN0LWltcG9ydCAmJgorCQkgIyBUaGUgY29tbWl0IG9iamVjdCwgaWYgbm90IHJlLWVuY29kZWQsIHdvdWxkIGJlIDI0MCBieXRlcy4KKwkJICMgUmVtb3ZpbmcgdGhlICJlbmNvZGluZyBpc28tODg1OS03XG4iIGhlYWRlciBkcm9wcyAyMCBieXRlcy4KKwkJICMgUmUtZW5jb2RpbmcgdGhlIFBpIGNoYXJhY3RlciBmcm9tIFx4RjAgKFwzNjApIGluIGlzby04ODU5LTcKKwkJICMgdG8gXHhDRlx4ODAgKFwzMTdcMjAwKSBpbiBVVEYtOCBhZGRzIGEgYnl0ZS4gIENoZWNrIGZvcgorCQkgIyB0aGUgZXhwZWN0ZWQgc2l6ZS4KKwkJIHRlc3QgMjIxIC1lcSAiJChnaXQgY2F0LWZpbGUgLXMgaTE4bikiICYmCisJCSAjIC4uLmFuZCBmb3IgdGhlIGV4cGVjdGVkIHRyYW5zbGF0aW9uIG9mIGJ5dGVzLgorCQkgZ2l0IGNhdC1maWxlIGNvbW1pdCBpMThuID5hY3R1YWwgJiYKKwkJIGdyZXAgJChwcmludGYgIlwzMTdcMjAwIikgYWN0dWFsICYmCisJCSAjIEFsc28gbWFrZSBzdXJlIHRoZSBjb21taXQgZG9lcyBub3QgaGF2ZSB0aGUgImVuY29kaW5nIiBoZWFkZXIKKwkJICEgZ3JlcCBeZW5jb2RpbmcgYWN0dWFsKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhYm9ydGluZyBvbiBpc28tODg1OS03JyAnCisKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCAtLWhhcmQgSEVBRH4xIiAmJgorCXRlc3RfY29uZmlnIGkxOG4uY29tbWl0ZW5jb2RpbmcgaXNvLTg4NTktNyAmJgorCWVjaG8gcm9zdGVuID5maWxlICYmCisJZ2l0IGNvbW1pdCAtcyAtRiAiJFRFU1RfRElSRUNUT1JZL3Q5MzUwL3NpbXBsZS1pc28tODg1OS03LWNvbW1pdC1tZXNzYWdlLnR4dCIgZmlsZSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCBmYXN0LWV4cG9ydCAtLXJlZW5jb2RlPWFib3J0IHdlcl4uLndlciA+aXNvLTg4NTktNy5maQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcmVzZXJ2aW5nIGlzby04ODU5LTcnICcKKworCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IHJlc2V0IC0taGFyZCBIRUFEfjEiICYmCisJdGVzdF9jb25maWcgaTE4bi5jb21taXRlbmNvZGluZyBpc28tODg1OS03ICYmCisJZWNobyByb3N0ZW4gPmZpbGUgJiYKKwlnaXQgY29tbWl0IC1zIC1GICIkVEVTVF9ESVJFQ1RPUlkvdDkzNTAvc2ltcGxlLWlzby04ODU5LTctY29tbWl0LW1lc3NhZ2UudHh0IiBmaWxlICYmCisJZ2l0IGZhc3QtZXhwb3J0IC0tcmVlbmNvZGU9bm8gd2VyXi4ud2VyID5pc28tODg1OS03LmZpICYmCisJc2VkICJzL3dlci9pMThuLW5vLXJlY29kaW5nLyIgaXNvLTg4NTktNy5maSB8CisJCShjZCBuZXcgJiYKKwkJIGdpdCBmYXN0LWltcG9ydCAmJgorCQkgIyBUaGUgY29tbWl0IG9iamVjdCwgaWYgbm90IHJlLWVuY29kZWQsIGlzIDI0MCBieXRlcy4KKwkJICMgUmVtb3ZpbmcgdGhlICJlbmNvZGluZyBpc28tODg1OS03XG4iIGhlYWRlciB3b3VsZCBkcm9wcyAyMAorCQkgIyBieXRlcy4gIFJlLWVuY29kaW5nIHRoZSBQaSBjaGFyYWN0ZXIgZnJvbSBceEYwIChcMzYwKSBpbgorCQkgIyBpc28tODg1OS03IHRvIFx4Q0ZceDgwIChcMzE3XDIwMCkgaW4gVVRGLTggYWRkcyBhIGJ5dGUuCisJCSAjIENoZWNrIGZvciB0aGUgZXhwZWN0ZWQgc2l6ZS4uLgorCQkgdGVzdCAyNDAgLWVxICIkKGdpdCBjYXQtZmlsZSAtcyBpMThuLW5vLXJlY29kaW5nKSIgJiYKKwkJICMgLi4uYXMgd2VsbCBhcyB0aGUgZXhwZWN0ZWQgYnl0ZS4KKwkJIGdpdCBjYXQtZmlsZSBjb21taXQgaTE4bi1uby1yZWNvZGluZyA+YWN0dWFsICYmCisJCSBncmVwICQocHJpbnRmICJcMzYwIikgYWN0dWFsICYmCisJCSAjIEFsc28gbWFrZSBzdXJlIHRoZSBjb21taXQgaGFzIHRoZSAiZW5jb2RpbmciIGhlYWRlcgorCQkgZ3JlcCBeZW5jb2RpbmcgYWN0dWFsKQorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdlbmNvZGluZyBwcmVzZXJ2ZWQgaWYgcmVlbmNvZGluZyBmYWlscycgJworCisJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgcmVzZXQgLS1oYXJkIEhFQUR+MSIgJiYKKwl0ZXN0X2NvbmZpZyBpMThuLmNvbW1pdGVuY29kaW5nIGlzby04ODU5LTcgJiYKKwllY2hvIHJvc3RlbiA+ZmlsZSAmJgorCWdpdCBjb21taXQgLXMgLUYgIiRURVNUX0RJUkVDVE9SWS90OTM1MC9icm9rZW4taXNvLTg4NTktNy1jb21taXQtbWVzc2FnZS50eHQiIGZpbGUgJiYKKwlnaXQgZmFzdC1leHBvcnQgLS1yZWVuY29kZT15ZXMgd2VyXi4ud2VyID5pc28tODg1OS03LmZpICYmCisJc2VkICJzL3dlci9pMThuLWludmFsaWQvIiBpc28tODg1OS03LmZpIHwKKwkJKGNkIG5ldyAmJgorCQkgZ2l0IGZhc3QtaW1wb3J0ICYmCisJCSBnaXQgY2F0LWZpbGUgY29tbWl0IGkxOG4taW52YWxpZCA+YWN0dWFsICYmCisJCSAjIE1ha2Ugc3VyZSB0aGUgY29tbWl0IHN0aWxsIGhhcyB0aGUgZW5jb2RpbmcgaGVhZGVyCisJCSBncmVwIF5lbmNvZGluZyBhY3R1YWwgJiYKKwkJICMgVmVyaWZ5IHRoYXQgdGhlIGNvbW1pdCBoYXMgdGhlIGV4cGVjdGVkIHNpemU7IGkuZS4KKwkJICMgdGhhdCBubyBieXRlcyB3ZXJlIHJlLWVuY29kZWQgdG8gYSBkaWZmZXJlbnQgZW5jb2RpbmcuCisJCSB0ZXN0IDI1MiAtZXEgIiQoZ2l0IGNhdC1maWxlIC1zIGkxOG4taW52YWxpZCkiICYmCisJCSAjIC4uLmFuZCBjaGVjayBmb3IgdGhlIG9yaWdpbmFsIHNwZWNpYWwgYnl0ZXMKKwkJIGdyZXAgJChwcmludGYgIlwzNjAiKSBhY3R1YWwgJiYKKwkJIGdyZXAgJChwcmludGYgIlwzNzciKSBhY3R1YWwpCisnCisKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2ltcG9ydC9leHBvcnQtbWFya3MnICcKIAogCWdpdCBjaGVja291dCAtYiBtYXJrcyBtYXN0ZXIgJiYKQEAgLTE5Niw3ICszMTIsNiBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBjb3BpZXMnICcKIAotCWdpdCBjb25maWcgLS11bnNldCBpMThuLmNvbW1pdGVuY29kaW5nICYmCiAJZ2l0IGNoZWNrb3V0IC1iIGNvcHkgcmVpbiAmJgogCWdpdCBtdiBmaWxlIGZpbGUzICYmCiAJZ2l0IGNvbW1pdCAtbSBtb3ZlMSAmJgpAQCAtMzI1LDYgKzQ0MCwyMiBAQAogKQogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXdyaXRlIHRhZyBwcmVkYXRpbmcgcGF0aHNwZWNzIHRvIG5vdGhpbmcnICcKKwl0ZXN0X2NyZWF0ZV9yZXBvIHJld3JpdGVfdGFnX3ByZWRhdGluZ19wYXRoc3BlY3MgJiYKKwkoCisJCWNkIHJld3JpdGVfdGFnX3ByZWRhdGluZ19wYXRoc3BlY3MgJiYKKworCQl0ZXN0X2NvbW1pdCBpbml0aWFsICYmCisKKwkJZ2l0IHRhZyAtYSAtbSAiU29tZSBvbGQgdGFnIiB2MC4wLjAuMC4wLjAuMSAmJgorCisJCXRlc3RfY29tbWl0IGJhciAmJgorCisJCWdpdCBmYXN0LWV4cG9ydCAtLXRhZy1vZi1maWx0ZXJlZC1vYmplY3Q9cmV3cml0ZSAtLWFsbCAtLSBiYXIudCA+b3V0cHV0ICYmCisJCWdyZXAgZnJvbS4kWkVST19PSUQgb3V0cHV0CisJKQorJworCiBjYXQgPiBsaW1pdC1ieS1wYXRocy9leHBlY3RlZCA8PCBFT0YKIGJsb2IKIG1hcmsgOjEKQEAgLTM2Niw2ICs0OTcsMjYgQEAKIAlncmVwIGZpbGUwIGFjdHVhbAogJwogCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdhdm9pZCBjb3JydXB0IHN0cmVhbSB3aXRoIG5vbi1leGlzdGVudCBtYXJrJyAnCisJdGVzdF9jcmVhdGVfcmVwbyBhdm9pZF9ub25fZXhpc3RlbnRfbWFyayAmJgorCSgKKwkJY2QgYXZvaWRfbm9uX2V4aXN0ZW50X21hcmsgJiYKKworCQl0ZXN0X2NvbW1pdCBpbXBvcnRhbnQtcGF0aCAmJgorCisJCXRlc3RfY29tbWl0IGlnbm9yZWQgJiYKKworCQlnaXQgYnJhbmNoIEEgJiYKKwkJZ2l0IGJyYW5jaCBCICYmCisKKwkJZWNobyBmb28gPj5pbXBvcnRhbnQtcGF0aC50ICYmCisJCWdpdCBhZGQgaW1wb3J0YW50LXBhdGgudCAmJgorCQl0ZXN0X2NvbW1pdCBtb3JlIGNoYW5nZXMgJiYKKworCQlnaXQgZmFzdC1leHBvcnQgLS1hbGwgLS0gaW1wb3J0YW50LXBhdGgudCB8IGdpdCBmYXN0LWltcG9ydCAtLWZvcmNlCisJKQorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdmdWxsLXRyZWUgcmUtc2hvd3MgdW5tb2RpZmllZCBmaWxlcycgICAgICAgICcKIAlnaXQgY2hlY2tvdXQgLWYgc2ltcGxlICYmCiAJZ2l0IGZhc3QtZXhwb3J0IC0tZnVsbC10cmVlIHNpbXBsZSA+YWN0dWFsICYmCkBAIC0zODksMTAgKzU0MCw0MSBAQAogJwogCiAjIE5FRURTV09SSzogbm90IGp1c3QgY2hlY2sgcmV0dXJuIHN0YXR1cywgYnV0IHZhbGlkYXRlIHRoZSBvdXRwdXQKKyMgTm90ZSB0aGF0IHRoZXNlIHRlc3RzIERPIE5PVEhJTkcgb3RoZXIgdGhhbiBwcmludCBhIHdhcm5pbmcgdGhhdAorIyB0aGV5IGFyZSBvbWl0dGluZyB0aGUgb25lIHRhZyB3ZSBhc2tlZCB0aGVtIHRvIGV4cG9ydCAoYmVjYXVzZSB0aGUKKyMgdGFncyByZXNvbHZlIHRvIGEgdHJlZSkuICBUaGV5IGV4aXN0IGp1c3QgdG8gbWFrZSBzdXJlIHdlIGRvIG5vdAorIyBhYm9ydCBidXQgaW5zdGVhZCBqdXN0IHdhcm4uCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd0cmVlX3RhZy1vYmonICAgICdnaXQgZmFzdC1leHBvcnQgdHJlZV90YWctb2JqJwogdGVzdF9leHBlY3Rfc3VjY2VzcyAndGFnLW9ial90YWcnICAgICAnZ2l0IGZhc3QtZXhwb3J0IHRhZy1vYmpfdGFnJwogdGVzdF9leHBlY3Rfc3VjY2VzcyAndGFnLW9ial90YWctb2JqJyAnZ2l0IGZhc3QtZXhwb3J0IHRhZy1vYmpfdGFnLW9iaicKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnaGFuZGxpbmcgdGFncyBvZiBibG9icycgJworCWdpdCB0YWcgLWEgLW0gIlRhZyBvZiBhIGJsb2IiIGJsb2J0YWcgJChnaXQgcmV2LXBhcnNlIG1hc3RlcjpmaWxlKSAmJgorCWdpdCBmYXN0LWV4cG9ydCBibG9idGFnID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdCA8PC1FT0YgJiYKKwlibG9iCisJbWFyayA6MQorCWRhdGEgOQorCWRpZSBMdWZ0CisKKwl0YWcgYmxvYnRhZworCWZyb20gOjEKKwl0YWdnZXIgJEdJVF9DT01NSVRURVJfTkFNRSA8JEdJVF9DT01NSVRURVJfRU1BSUw+ICRHSVRfQ09NTUlUVEVSX0RBVEUKKwlkYXRhIDE0CisJVGFnIG9mIGEgYmxvYgorCisJRU9GCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdoYW5kbGluZyBuZXN0ZWQgdGFncycgJworCWdpdCB0YWcgLWEgLW0gIlRoaXMgaXMgYSBuZXN0ZWQgdGFnIiBuZXN0ZWQgbXVzcyAmJgorCWdpdCBmYXN0LWV4cG9ydCAtLW1hcmstdGFncyBuZXN0ZWQgPm91dHB1dCAmJgorCWdyZXAgIl5mcm9tICRaRVJPX09JRCQiIG91dHB1dCAmJgorCWdyZXAgIl50YWcgbmVzdGVkJCIgb3V0cHV0ID50YWdfbGluZXMgJiYKKwl0ZXN0X2xpbmVfY291bnQgPSAyIHRhZ19saW5lcworJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkaXJlY3RvcnkgYmVjb21lcyBzeW1saW5rJyAgICAgICAgJwogCWdpdCBpbml0IGRpcnRvc3ltbGluayAmJgogCWdpdCBpbml0IHJlc3VsdCAmJgpAQCAtNDQ0LDE3ICs2MjYsMTUgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCBiaWRpcmVjdGlvbmFsaXR5JyAnCi0JPm1hcmtzLWN1ciAmJgotCT5tYXJrcy1uZXcgJiYKIAlnaXQgaW5pdCBtYXJrcy10ZXN0ICYmCi0JZ2l0IGZhc3QtZXhwb3J0IC0tZXhwb3J0LW1hcmtzPW1hcmtzLWN1ciAtLWltcG9ydC1tYXJrcz1tYXJrcy1jdXIgLS1icmFuY2hlcyB8IFwKLQlnaXQgLS1naXQtZGlyPW1hcmtzLXRlc3QvLmdpdCBmYXN0LWltcG9ydCAtLWV4cG9ydC1tYXJrcz1tYXJrcy1uZXcgLS1pbXBvcnQtbWFya3M9bWFya3MtbmV3ICYmCisJZ2l0IGZhc3QtZXhwb3J0IC0tZXhwb3J0LW1hcmtzPW1hcmtzLWN1ciAtLWltcG9ydC1tYXJrcy1pZi1leGlzdHM9bWFya3MtY3VyIC0tYnJhbmNoZXMgfCBcCisJZ2l0IC0tZ2l0LWRpcj1tYXJrcy10ZXN0Ly5naXQgZmFzdC1pbXBvcnQgLS1leHBvcnQtbWFya3M9bWFya3MtbmV3IC0taW1wb3J0LW1hcmtzLWlmLWV4aXN0cz1tYXJrcy1uZXcgJiYKIAkoY2QgbWFya3MtdGVzdCAmJgogCWdpdCByZXNldCAtLWhhcmQgJiYKIAllY2hvIFdvaGxhdWYgPiBmaWxlICYmCiAJZ2l0IGNvbW1pdCAtYSAtbSAiYmFjayBpbiB0aW1lIikgJiYKLQlnaXQgLS1naXQtZGlyPW1hcmtzLXRlc3QvLmdpdCBmYXN0LWV4cG9ydCAtLWV4cG9ydC1tYXJrcz1tYXJrcy1uZXcgLS1pbXBvcnQtbWFya3M9bWFya3MtbmV3IC0tYnJhbmNoZXMgfCBcCi0JZ2l0IGZhc3QtaW1wb3J0IC0tZXhwb3J0LW1hcmtzPW1hcmtzLWN1ciAtLWltcG9ydC1tYXJrcz1tYXJrcy1jdXIKKwlnaXQgLS1naXQtZGlyPW1hcmtzLXRlc3QvLmdpdCBmYXN0LWV4cG9ydCAtLWV4cG9ydC1tYXJrcz1tYXJrcy1uZXcgLS1pbXBvcnQtbWFya3MtaWYtZXhpc3RzPW1hcmtzLW5ldyAtLWJyYW5jaGVzIHwgXAorCWdpdCBmYXN0LWltcG9ydCAtLWV4cG9ydC1tYXJrcz1tYXJrcy1jdXIgLS1pbXBvcnQtbWFya3MtaWYtZXhpc3RzPW1hcmtzLWN1cgogJwogCiBjYXQgPiBleHBlY3RlZCA8PCBFT0YKQEAgLTUwOSwxMCArNjg5LDIwIEBACiAJdGVzdF9jbXAgZXhwZWN0ZWQgYWN0dWFsCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2RlbGV0ZSByZWZzcGVjJyAnCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdkZWxldGUgcmVmIGJlY2F1c2UgZW50aXJlIGhpc3RvcnkgZXhjbHVkZWQnICcKIAlnaXQgYnJhbmNoIHRvLWRlbGV0ZSAmJgotCWdpdCBmYXN0LWV4cG9ydCAtLXJlZnNwZWMgOnJlZnMvaGVhZHMvdG8tZGVsZXRlIHRvLWRlbGV0ZSBedG8tZGVsZXRlID4gYWN0dWFsICYmCi0JY2F0ID4gZXhwZWN0ZWQgPDwtRU9GICYmCisJZ2l0IGZhc3QtZXhwb3J0IHRvLWRlbGV0ZSBedG8tZGVsZXRlID5hY3R1YWwgJiYKKwljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgorCXJlc2V0IHJlZnMvaGVhZHMvdG8tZGVsZXRlCisJZnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCisKKwlFT0YKKwl0ZXN0X2NtcCBleHBlY3RlZCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZGVsZXRlIHJlZnNwZWMnICcKKwlnaXQgZmFzdC1leHBvcnQgLS1yZWZzcGVjIDpyZWZzL2hlYWRzL3RvLWRlbGV0ZSA+YWN0dWFsICYmCisJY2F0ID5leHBlY3RlZCA8PC1FT0YgJiYKIAlyZXNldCByZWZzL2hlYWRzL3RvLWRlbGV0ZQogCWZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAogCmRpZmYgLS1naXQgYS90L3Q5MzUwL2Jyb2tlbi1pc28tODg1OS03LWNvbW1pdC1tZXNzYWdlLnR4dCBiL3QvdDkzNTAvYnJva2VuLWlzby04ODU5LTctY29tbWl0LW1lc3NhZ2UudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwNmFkNzUKLS0tIC9kZXYvbnVsbAorKysgYi90L3Q5MzUwL2Jyb2tlbi1pc28tODg1OS03LWNvbW1pdC1tZXNzYWdlLnR4dApAQCAtMCwwICsxIEBACitQaTog8DsgSW52YWxpZDog/wpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3QvdDkzNTAvc2ltcGxlLWlzby04ODU5LTctY29tbWl0LW1lc3NhZ2UudHh0IGIvdC90OTM1MC9zaW1wbGUtaXNvLTg4NTktNy1jb21taXQtbWVzc2FnZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGIzZjBjMwotLS0gL2Rldi9udWxsCisrKyBiL3QvdDkzNTAvc2ltcGxlLWlzby04ODU5LTctY29tbWl0LW1lc3NhZ2UudHh0CkBAIC0wLDAgKzEgQEAKK1BpOiDwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdC90OTUwMi1naXR3ZWItc3RhbmRhbG9uZS1wYXJzZS1vdXRwdXQuc2ggYi90L3Q5NTAyLWdpdHdlYi1zdGFuZGFsb25lLXBhcnNlLW91dHB1dC5zaAppbmRleCAwNzk2YTQzLi5lMzhjYmM5IDEwMDc1NQotLS0gYS90L3Q5NTAyLWdpdHdlYi1zdGFuZGFsb25lLXBhcnNlLW91dHB1dC5zaAorKysgYi90L3Q5NTAyLWdpdHdlYi1zdGFuZGFsb25lLXBhcnNlLW91dHB1dC5zaApAQCAtMTg4LDggKzE4OCw4IEBACiAnCiAKIHhzcygpIHsKLQllY2hvID4mMiAiQ2hlY2tpbmcgJDEuLi4iICYmCi0JZ2l0d2ViX3J1biAiJDEiICYmCisJZWNobyA+JjIgIkNoZWNraW5nICQqLi4uIiAmJgorCWdpdHdlYl9ydW4gIiRAIiAmJgogCWlmIGdyZXAgIiRUQUciIGdpdHdlYi5ib2R5OyB0aGVuCiAJCWVjaG8gPiYyICJ4c3M6ICRUQUcgc2hvdWxkIGhhdmUgYmVlbiBxdW90ZWQgaW4gb3V0cHV0IgogCQlyZXR1cm4gMQpAQCAtMjAwLDcgKzIwMCw4IEBACiB0ZXN0X2V4cGVjdF9zdWNjZXNzICd4c3MgY2hlY2tzJyAnCiAJVEFHPSI8bWFnaWMteHNzLXRhZz4iICYmCiAJeHNzICJhPXJzcyZwPSRUQUciICYmCi0JeHNzICJhPXJzcyZwPWZvby5naXQmZj0kVEFHIgorCXhzcyAiYT1yc3MmcD1mb28uZ2l0JmY9JFRBRyIgJiYKKwl4c3MgIiIgIiRUQUcrIgogJwogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk4MDAtZ2l0LXA0LWJhc2ljLnNoIGIvdC90OTgwMC1naXQtcDQtYmFzaWMuc2gKaW5kZXggNzI5Y2QyNS4uYzk4YzFkZiAxMDA3NTUKLS0tIGEvdC90OTgwMC1naXQtcDQtYmFzaWMuc2gKKysrIGIvdC90OTgwMC1naXQtcDQtYmFzaWMuc2gKQEAgLTIwMiw3ICsyMDIsNiBAQAogCQlleHBvcnQgUEFUSCAmJgogCQl0ZXN0X2V4cGVjdF9jb2RlIDEgZ2l0IHA0IGNsb25lIC0tZGVzdD0iJGdpdCIgLy9kZXBvdCA+ZXJycyAyPiYxCiAJKSAmJgotCWNhdCBlcnJzICYmCiAJdGVzdF9pMThuZ3JlcCAhIFRyYWNlYmFjayBlcnJzCiAnCiAKQEAgLTMyNiw4ICszMjUsNCBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAna2lsbCBwNGQnICcKLQlraWxsX3A0ZAotJwotCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk4MDEtZ2l0LXA0LWJyYW5jaC5zaCBiL3QvdDk4MDEtZ2l0LXA0LWJyYW5jaC5zaAppbmRleCA2YTg2ZDY5Li42N2ZmMjcxIDEwMDc1NQotLS0gYS90L3Q5ODAxLWdpdC1wNC1icmFuY2guc2gKKysrIGIvdC90OTgwMS1naXQtcDQtYnJhbmNoLnNoCkBAIC0xNTEsNyArMTUxLDcgQEAKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAncmVzdGFydCBwNGQnICcKLQlraWxsX3A0ZCAmJgorCXN0b3BfYW5kX2NsZWFudXBfcDRkICYmCiAJc3RhcnRfcDRkCiAnCiAKQEAgLTQxMSw2ICs0MTEsNDYgQEAKIAkpCiAnCiAKKyMgQ2hlY2sgdGhhdCBleGNsdWRlZCBmaWxlcyBhcmUgb21pdHRlZCBkdXJpbmcgaW1wb3J0Cit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgcDQgY2xvbmUgY29tcGxleCBicmFuY2hlcyB3aXRoIGV4Y2x1ZGVkIGZpbGVzJyAnCisJdGVzdF93aGVuX2ZpbmlzaGVkIGNsZWFudXBfZ2l0ICYmCisJdGVzdF9jcmVhdGVfcmVwbyAiJGdpdCIgJiYKKwkoCisJCWNkICIkZ2l0IiAmJgorCQlnaXQgY29uZmlnIGdpdC1wNC5icmFuY2hMaXN0IGJyYW5jaDE6YnJhbmNoMiAmJgorCQlnaXQgY29uZmlnIC0tYWRkIGdpdC1wNC5icmFuY2hMaXN0IGJyYW5jaDE6YnJhbmNoMyAmJgorCQlnaXQgY29uZmlnIC0tYWRkIGdpdC1wNC5icmFuY2hMaXN0IGJyYW5jaDE6YnJhbmNoNCAmJgorCQlnaXQgY29uZmlnIC0tYWRkIGdpdC1wNC5icmFuY2hMaXN0IGJyYW5jaDE6YnJhbmNoNSAmJgorCQlnaXQgY29uZmlnIC0tYWRkIGdpdC1wNC5icmFuY2hMaXN0IGJyYW5jaDE6YnJhbmNoNiAmJgorCQlnaXQgcDQgY2xvbmUgLS1kZXN0PS4gLS1kZXRlY3QtYnJhbmNoZXMgLS8vZGVwb3QvYnJhbmNoMS9maWxlMiAtLy9kZXBvdC9icmFuY2gyL2ZpbGUyIC0vL2RlcG90L2JyYW5jaDMvZmlsZTIgLS8vZGVwb3QvYnJhbmNoNC9maWxlMiAtLy9kZXBvdC9icmFuY2g1L2ZpbGUyIC0vL2RlcG90L2JyYW5jaDYvZmlsZTIgLy9kZXBvdEBhbGwgJiYKKwkJZ2l0IGxvZyAtLWFsbCAtLWdyYXBoIC0tZGVjb3JhdGUgLS1zdGF0ICYmCisJCWdpdCByZXNldCAtLWhhcmQgcDQvZGVwb3QvYnJhbmNoMSAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSBmaWxlMSAmJgorCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyBmaWxlMiAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSBmaWxlMyAmJgorCQlnaXQgcmVzZXQgLS1oYXJkIHA0L2RlcG90L2JyYW5jaDIgJiYKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgZmlsZTEgJiYKKwkJdGVzdF9wYXRoX2lzX21pc3NpbmcgZmlsZTIgJiYKKwkJdGVzdF9wYXRoX2lzX21pc3NpbmcgZmlsZTMgJiYKKwkJZ2l0IHJlc2V0IC0taGFyZCBwNC9kZXBvdC9icmFuY2gzICYmCisJCXRlc3RfcGF0aF9pc19maWxlIGZpbGUxICYmCisJCXRlc3RfcGF0aF9pc19taXNzaW5nIGZpbGUyICYmCisJCXRlc3RfcGF0aF9pc19taXNzaW5nIGZpbGUzICYmCisJCWdpdCByZXNldCAtLWhhcmQgcDQvZGVwb3QvYnJhbmNoNCAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSBmaWxlMSAmJgorCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyBmaWxlMiAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSBmaWxlMyAmJgorCQlnaXQgcmVzZXQgLS1oYXJkIHA0L2RlcG90L2JyYW5jaDUgJiYKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgZmlsZTEgJiYKKwkJdGVzdF9wYXRoX2lzX21pc3NpbmcgZmlsZTIgJiYKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgZmlsZTMgJiYKKwkJZ2l0IHJlc2V0IC0taGFyZCBwNC9kZXBvdC9icmFuY2g2ICYmCisJCXRlc3RfcGF0aF9pc19maWxlIGZpbGUxICYmCisJCXRlc3RfcGF0aF9pc19taXNzaW5nIGZpbGUyICYmCisJCXRlc3RfcGF0aF9pc19taXNzaW5nIGZpbGUzCisJKQorJworCiAjIEZyb20gYSByZXBvcnQgaW4gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMTg5MzY4OAogIyB3aGVyZSAtLXVzZS1jbGllbnQtc3BlYyBjYXVzZWQgYnJhbmNoIHByZWZpeGVzIG5vdCB0byBiZSByZW1vdmVkOwogIyBldmVyeSBmaWxlIGluIGdpdCBhcHBlYXJlZCBpbnRvIGEgc3ViZGlyZWN0b3J5IG9mIHRoZSBicmFuY2ggbmFtZS4KQEAgLTUwNSw3ICs1NDUsNyBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdyZXN0YXJ0IHA0ZCcgJwotCWtpbGxfcDRkICYmCisJc3RvcF9hbmRfY2xlYW51cF9wNGQgJiYKIAlzdGFydF9wNGQKICcKIApAQCAtNjEwLDggKzY1MCw5NiBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAna2lsbCBwNGQnICcKLQlraWxsX3A0ZAordGVzdF9leHBlY3Rfc3VjY2VzcyAncmVzdGFydCBwNGQgKGNhc2UgZm9sZGluZyBlbmFibGVkKScgJworCXN0b3BfYW5kX2NsZWFudXBfcDRkICYmCisJc3RhcnRfcDRkIC1DMQorJworCisjCisjIDE6IC8vZGVwb3QvbWFpbi9tZjEKKyMgMjogaW50ZWdyYXRlIC8vZGVwb3QvbWFpbi8uLi4gLT4gLy9kZXBvdC9icmFuY2gxLy4uLgorIyAzOiAvL2RlcG90L21haW4vbWYyCisjIDQ6IC8vZGVwb3QvQlJBTkNIMS9CMWYzCisjIDU6IC8vZGVwb3QvYnJhbmNoMS9iMWY0CisjCit0ZXN0X2V4cGVjdF9zdWNjZXNzICFDQVNFX0lOU0VOU0lUSVZFX0ZTICdiYXNpYyBwNCBicmFuY2hlcyBmb3IgY2FzZSBmb2xkaW5nJyAnCisJKAorCQljZCAiJGNsaSIgJiYKKwkJbWtkaXIgLXAgbWFpbiAmJgorCisJCWVjaG8gbWYxID5tYWluL21mMSAmJgorCQlwNCBhZGQgbWFpbi9tZjEgJiYKKwkJcDQgc3VibWl0IC1kICJtYWluL21mMSIgJiYKKworCQlwNCBpbnRlZ3JhdGUgLy9kZXBvdC9tYWluLy4uLiAvL2RlcG90L2JyYW5jaDEvLi4uICYmCisJCXA0IHN1Ym1pdCAtZCAiaW50ZWdyYXRlIG1haW4gdG8gYnJhbmNoMSIgJiYKKworCQllY2hvIG1mMiA+bWFpbi9tZjIgJiYKKwkJcDQgYWRkIG1haW4vbWYyICYmCisJCXA0IHN1Ym1pdCAtZCAibWFpbi9tZjIiICYmCisKKwkJbWtkaXIgQlJBTkNIMSAmJgorCQllY2hvIEIxZjMgPkJSQU5DSDEvQjFmMyAmJgorCQlwNCBhZGQgQlJBTkNIMS9CMWYzICYmCisJCXA0IHN1Ym1pdCAtZCAiQlJBTkNIMS9CMWYzIiAmJgorCisJCWVjaG8gYjFmNCA+YnJhbmNoMS9iMWY0ICYmCisJCXA0IGFkZCBicmFuY2gxL2IxZjQgJiYKKwkJcDQgc3VibWl0IC1kICJicmFuY2gxL2IxZjQiCisJKQorJworCisjIENoZWNrIHRoYXQgZmlsZXMgYXJlIHByb3Blcmx5IHNwbGl0IGFjcm9zcyBicmFuY2hlcyB3aGVuIGlnbm9yZWNhc2UgaXMgc2V0Cit0ZXN0X2V4cGVjdF9zdWNjZXNzICFDQVNFX0lOU0VOU0lUSVZFX0ZTICdnaXQgcDQgY2xvbmUsIGJyYW5jaExpc3QgYnJhbmNoIGRlZmluaXRpb24sIGlnbm9yZWNhc2UnICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgY2xlYW51cF9naXQgJiYKKwl0ZXN0X2NyZWF0ZV9yZXBvICIkZ2l0IiAmJgorCSgKKwkJY2QgIiRnaXQiICYmCisJCWdpdCBjb25maWcgZ2l0LXA0LmJyYW5jaExpc3QgbWFpbjpicmFuY2gxICYmCisJCWdpdCBjb25maWcgLS10eXBlPWJvb2wgY29yZS5pZ25vcmVDYXNlIHRydWUgJiYKKwkJZ2l0IHA0IGNsb25lIC0tZGVzdD0uIC0tZGV0ZWN0LWJyYW5jaGVzIC8vZGVwb3RAYWxsICYmCisKKwkJZ2l0IGxvZyAtLWFsbCAtLWdyYXBoIC0tZGVjb3JhdGUgLS1zdGF0ICYmCisKKwkJZ2l0IHJlc2V0IC0taGFyZCBwNC9tYXN0ZXIgJiYKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgbWYxICYmCisJCXRlc3RfcGF0aF9pc19maWxlIG1mMiAmJgorCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyBCMWYzICYmCisJCXRlc3RfcGF0aF9pc19taXNzaW5nIGIxZjQgJiYKKworCQlnaXQgcmVzZXQgLS1oYXJkIHA0L2RlcG90L2JyYW5jaDEgJiYKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgbWYxICYmCisJCXRlc3RfcGF0aF9pc19taXNzaW5nIG1mMiAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSBCMWYzICYmCisJCXRlc3RfcGF0aF9pc19maWxlIGIxZjQKKwkpCisnCisKKyMgQ2hlY2sgdGhhdCBmaWxlcyBhcmUgcHJvcGVybHkgc3BsaXQgYWNyb3NzIGJyYW5jaGVzIHdoZW4gaWdub3JlY2FzZSBpcyBzZXQsIHVzZS1jbGllbnQtc3BlYyBjYXNlCit0ZXN0X2V4cGVjdF9zdWNjZXNzICFDQVNFX0lOU0VOU0lUSVZFX0ZTICdnaXQgcDQgY2xvbmUgd2l0aCBjbGllbnQtc3BlYywgYnJhbmNoTGlzdCBicmFuY2ggZGVmaW5pdGlvbiwgaWdub3JlY2FzZScgJworCWNsaWVudF92aWV3ICIvL2RlcG90Ly4uLiAvL2NsaWVudC8uLi4iICYmCisJdGVzdF93aGVuX2ZpbmlzaGVkIGNsZWFudXBfZ2l0ICYmCisJdGVzdF9jcmVhdGVfcmVwbyAiJGdpdCIgJiYKKwkoCisJCWNkICIkZ2l0IiAmJgorCQlnaXQgY29uZmlnIGdpdC1wNC5icmFuY2hMaXN0IG1haW46YnJhbmNoMSAmJgorCQlnaXQgY29uZmlnIC0tdHlwZT1ib29sIGNvcmUuaWdub3JlQ2FzZSB0cnVlICYmCisJCWdpdCBwNCBjbG9uZSAtLWRlc3Q9LiAtLXVzZS1jbGllbnQtc3BlYyAtLWRldGVjdC1icmFuY2hlcyAvL2RlcG90QGFsbCAmJgorCisJCWdpdCBsb2cgLS1hbGwgLS1ncmFwaCAtLWRlY29yYXRlIC0tc3RhdCAmJgorCisJCWdpdCByZXNldCAtLWhhcmQgcDQvbWFzdGVyICYmCisJCXRlc3RfcGF0aF9pc19maWxlIG1mMSAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSBtZjIgJiYKKwkJdGVzdF9wYXRoX2lzX21pc3NpbmcgQjFmMyAmJgorCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyBiMWY0ICYmCisKKwkJZ2l0IHJlc2V0IC0taGFyZCBwNC9kZXBvdC9icmFuY2gxICYmCisJCXRlc3RfcGF0aF9pc19maWxlIG1mMSAmJgorCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyBtZjIgJiYKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgQjFmMyAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSBiMWY0CisJKQogJwogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk4MDItZ2l0LXA0LWZpbGV0eXBlLnNoIGIvdC90OTgwMi1naXQtcDQtZmlsZXR5cGUuc2gKaW5kZXggOTk3ODM1Mi4uOTRlZGViZTIgMTAwNzU1Ci0tLSBhL3QvdDk4MDItZ2l0LXA0LWZpbGV0eXBlLnNoCisrKyBiL3QvdDk4MDItZ2l0LXA0LWZpbGV0eXBlLnNoCkBAIC0zMzMsOCArMzMzLDQgQEAKIAkpCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2tpbGwgcDRkJyAnCi0Ja2lsbF9wNGQKLScKLQogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q5ODAzLWdpdC1wNC1zaGVsbC1tZXRhY2hhcnMuc2ggYi90L3Q5ODAzLWdpdC1wNC1zaGVsbC1tZXRhY2hhcnMuc2gKaW5kZXggZDVjMzY3NS4uMjkxMzI3NyAxMDA3NTUKLS0tIGEvdC90OTgwMy1naXQtcDQtc2hlbGwtbWV0YWNoYXJzLnNoCisrKyBiL3QvdDk4MDMtZ2l0LXA0LXNoZWxsLW1ldGFjaGFycy5zaApAQCAtMTA1LDggKzEwNSw0IEBACiAJKQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdraWxsIHA0ZCcgJwotCWtpbGxfcDRkCi0nCi0KIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTgwNC1naXQtcDQtbGFiZWwuc2ggYi90L3Q5ODA0LWdpdC1wNC1sYWJlbC5zaAppbmRleCBlMzBmODBlLi4zMjM2NDU3IDEwMDc1NQotLS0gYS90L3Q5ODA0LWdpdC1wNC1sYWJlbC5zaAorKysgYi90L3Q5ODA0LWdpdC1wNC1sYWJlbC5zaApAQCAtMTA4LDggKzEwOCw0IEBACiAJKQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdraWxsIHA0ZCcgJwotCWtpbGxfcDRkCi0nCi0KIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTgwNS1naXQtcDQtc2tpcC1zdWJtaXQtZWRpdC5zaCBiL3QvdDk4MDUtZ2l0LXA0LXNraXAtc3VibWl0LWVkaXQuc2gKaW5kZXggNWZiZjkwNC4uOTBlZjY0NyAxMDA3NTUKLS0tIGEvdC90OTgwNS1naXQtcDQtc2tpcC1zdWJtaXQtZWRpdC5zaAorKysgYi90L3Q5ODA1LWdpdC1wNC1za2lwLXN1Ym1pdC1lZGl0LnNoCkBAIC05OCw4ICs5OCw0IEBACiAJKQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdraWxsIHA0ZCcgJwotCWtpbGxfcDRkCi0nCi0KIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTgwNi1naXQtcDQtb3B0aW9ucy5zaCBiL3QvdDk4MDYtZ2l0LXA0LW9wdGlvbnMuc2gKaW5kZXggM2Y1MjkxYi4uNGU3OTRhMCAxMDA3NTUKLS0tIGEvdC90OTgwNi1naXQtcDQtb3B0aW9ucy5zaAorKysgYi90L3Q5ODA2LWdpdC1wNC1vcHRpb25zLnNoCkBAIC0zMDAsOSArMzAwLDQgQEAKIAl0ZXN0X3BhdGhfaXNfZmlsZSAiJGdpdCIvY2xpX2ZpbGUyLnQKICcKIAotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdraWxsIHA0ZCcgJwotCWtpbGxfcDRkCi0nCi0KIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTgwNy1naXQtcDQtc3VibWl0LnNoIGIvdC90OTgwNy1naXQtcDQtc3VibWl0LnNoCmluZGV4IDIzMjU1OTkuLmVhYWFlNDEgMTAwNzU1Ci0tLSBhL3QvdDk4MDctZ2l0LXA0LXN1Ym1pdC5zaAorKysgYi90L3Q5ODA3LWdpdC1wNC1zdWJtaXQuc2gKQEAgLTUwMCw2ICs1MDAsMTAgQEAKIAkpCiAnCiAKK2xhc3Rfc2hlbHZlICgpIHsKKwlwNCAtRyBjaGFuZ2VzIC1zIHNoZWx2ZWQgLW0gMSAvL2RlcG90Ly4uLiB8IG1hcnNoYWxfZHVtcCBjaGFuZ2UKK30KKwogbWFrZV9zaGVsdmVkX2NsKCkgewogCXRlc3RfY29tbWl0ICIkMSIgPi9kZXYvbnVsbCAmJgogCWdpdCBwNCBzdWJtaXQgLS1vcmlnaW4gSEVBRF4gLS1zaGVsdmUgPi9kZXYvbnVsbCAmJgpAQCAtNTMzLDE3ICs1MzcsNjAgQEAKIAkpICYmCiAJKAogCQljZCAiJGNsaSIgJiYKLQkJY2hhbmdlPSQocDQgLUcgY2hhbmdlcyAtcyBzaGVsdmVkIC1tIDEgLy9kZXBvdC8uLi4gfCBcCi0JCQkgbWFyc2hhbF9kdW1wIGNoYW5nZSkgJiYKKwkJY2hhbmdlPSQobGFzdF9zaGVsdmUpICYmCiAJCXA0IHVuc2hlbHZlIC1jICRjaGFuZ2UgLXMgJGNoYW5nZSAmJgogCQlncmVwIC1xIHVwZGF0ZWQtbGluZSBzaGVsZi50ICYmCiAJCXA0IGRlc2NyaWJlIC1TICRjaGFuZ2UgfCBncmVwIGFkZGVkLWZpbGUudCAmJgotCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyBzaGVsdmVkLWNoYW5nZS0xLnQKKwkJdGVzdF9wYXRoX2lzX21pc3Npbmcgc2hlbHZlZC1jaGFuZ2UtMS50ICYmCisJCXA0IHJldmVydCAuLi4KIAkpCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2tpbGwgcDRkJyAnCi0Ja2lsbF9wNGQKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3VwZGF0ZSBhIHNoZWx2ZSBpbnZvbHZpbmcgbW92ZWQgYW5kIGNvcGllZCBmaWxlcycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCBjbGVhbnVwX2dpdCAmJgorCSgKKwkJY2QgIiRjbGkiICYmCisJCTogPmZpbGVfdG9fbW92ZSAmJgorCQlwNCBhZGQgZmlsZV90b19tb3ZlICYmCisJCXA0IHN1Ym1pdCAtZCAiY2hhbmdlMSIgJiYKKwkJcDQgZWRpdCBmaWxlX3RvX21vdmUgJiYKKwkJZWNobyBjaGFuZ2UgPj5maWxlX3RvX21vdmUgJiYKKwkJcDQgc3VibWl0IC1kICJjaGFuZ2UyIiAmJgorCQlwNCBvcGVuZWQKKwkpICYmCisJZ2l0IHA0IGNsb25lIC0tZGVzdD0iJGdpdCIgLy9kZXBvdCAmJgorCSgKKwkJY2QgIiRnaXQiICYmCisJCWdpdCBjb25maWcgZ2l0LXA0LmRldGVjdENvcGllcyB0cnVlICYmCisJCWdpdCBjb25maWcgZ2l0LXA0LmRldGVjdFJlbmFtZXMgdHJ1ZSAmJgorCQlnaXQgY29uZmlnIGdpdC1wNC5za2lwU3VibWl0RWRpdCB0cnVlICYmCisJCW1rZGlyIG1vdmVkICYmCisJCWNwIGZpbGVfdG9fbW92ZSBjb3B5X29mX2ZpbGUgJiYKKwkJZ2l0IGFkZCBjb3B5X29mX2ZpbGUgJiYKKwkJZ2l0IG12IGZpbGVfdG9fbW92ZSBtb3ZlZC8gJiYKKwkJZ2l0IGNvbW1pdCAtbSAicmVuYW1lIGEgZmlsZSIgJiYKKwkJZ2l0IHA0IHN1Ym1pdCAtTSAtLXNoZWx2ZSAtLW9yaWdpbiBIRUFEXiAmJgorCQk6ID5uZXdfZmlsZSAmJgorCQlnaXQgYWRkIG5ld19maWxlICYmCisJCWdpdCBjb21taXQgLS1hbWVuZCAmJgorCQlnaXQgc2hvdyAtLXN0YXQgSEVBRCAmJgorCQljaGFuZ2U9JChsYXN0X3NoZWx2ZSkgJiYKKwkJZ2l0IHA0IHN1Ym1pdCAtTSAtLXVwZGF0ZS1zaGVsdmUgJGNoYW5nZSAtLWNvbW1pdCBIRUFECisJKSAmJgorCSgKKwkJY2QgIiRjbGkiICYmCisJCWNoYW5nZT0kKGxhc3Rfc2hlbHZlKSAmJgorCQllY2hvIGNoYW5nZT0kY2hhbmdlICYmCisJCXA0IHVuc2hlbHZlIC1zICRjaGFuZ2UgJiYKKwkJcDQgc3VibWl0IC1kICJUZXN0aW5nIHVwZGF0ZS1zaGVsdmUiICYmCisJCXRlc3RfcGF0aF9pc19maWxlIGNvcHlfb2ZfZmlsZSAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSBtb3ZlZC9maWxlX3RvX21vdmUgJiYKKwkJdGVzdF9wYXRoX2lzX21pc3NpbmcgZmlsZV90b19tb3ZlICYmCisJCXRlc3RfcGF0aF9pc19maWxlIG5ld19maWxlICYmCisJCWVjaG8gInVuc2hlbHZlZCBhbmQgc3VibWl0dGVkIGNoYW5nZSAkY2hhbmdlIiAmJgorCQlwNCBjaGFuZ2VzIG1vdmVkL2ZpbGVfdG9fbW92ZSB8IGdyZXAgIlRlc3RpbmcgdXBkYXRlLXNoZWx2ZSIgJiYKKwkJcDQgY2hhbmdlcyBjb3B5X29mX2ZpbGUgfCBncmVwICJUZXN0aW5nIHVwZGF0ZS1zaGVsdmUiCisJKQogJwogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk4MDgtZ2l0LXA0LWNoZGlyLnNoIGIvdC90OTgwOC1naXQtcDQtY2hkaXIuc2gKaW5kZXggMTFkMmI1MS4uNThhOWIzYiAxMDA3NTUKLS0tIGEvdC90OTgwOC1naXQtcDQtY2hkaXIuc2gKKysrIGIvdC90OTgwOC1naXQtcDQtY2hkaXIuc2gKQEAgLTgzLDggKzgzLDQgQEAKIAkpCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2tpbGwgcDRkJyAnCi0Ja2lsbF9wNGQKLScKLQogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q5ODA5LWdpdC1wNC1jbGllbnQtdmlldy5zaCBiL3QvdDk4MDktZ2l0LXA0LWNsaWVudC12aWV3LnNoCmluZGV4IDg5N2IzYzMuLjljOTcxMGQgMTAwNzU1Ci0tLSBhL3QvdDk4MDktZ2l0LXA0LWNsaWVudC12aWV3LnNoCisrKyBiL3QvdDk4MDktZ2l0LXA0LWNsaWVudC12aWV3LnNoCkBAIC00MDcsNyArNDA3LDcgQEAKICcKIAogIwotIyBXaGF0IGhhcHBlbnMgd2hlbiB0d28gZmlsZXMgb2YgdGhlIHNhbWUgbmFtZSBhcmUgb3ZlcmxheWVkIHRvZ2V0aGVyPworIyBXaGF0IGhhcHBlbnMgd2hlbiB0d28gZmlsZXMgb2YgdGhlIHNhbWUgbmFtZSBhcmUgb3ZlcmxhaWQgdG9nZXRoZXI/CiAjIFRoZSBsYXN0LWxpc3RlZCBmaWxlIHNob3VsZCB0YWtlIHByZWZlcmVuY2UuCiAjCiAjIC8vZGVwb3QKQEAgLTgzNiw4ICs4MzYsNCBAQAogCWdpdF92ZXJpZnkgImNkaXIgMS9maWxlMTEiICJjZGlyIDEvZmlsZTEyIgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdraWxsIHA0ZCcgJwotCWtpbGxfcDRkCi0nCi0KIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTgxMC1naXQtcDQtcmNzLnNoIGIvdC90OTgxMC1naXQtcDQtcmNzLnNoCmluZGV4IGNjNTNkZWIuLmUzODM2ODggMTAwNzU1Ci0tLSBhL3QvdDk4MTAtZ2l0LXA0LXJjcy5zaAorKysgYi90L3Q5ODEwLWdpdC1wNC1yY3Muc2gKQEAgLTI5NCw3ICsyOTQsNiBAQAogCQllY2hvICJcJFJldmlzaW9uXCQiID5rd2RlbGZpbGUuYyAmJgogCQlwNCBhZGQgLXQga3RleHQga3dkZWxmaWxlLmMgJiYKIAkJcDQgc3VibWl0IC1kICJBZGQgZmlsZSB0byBiZSBkZWxldGVkIiAmJgotCQljYXQga3dkZWxmaWxlLmMgJiYKIAkJZ3JlcCAxIGt3ZGVsZmlsZS5jCiAJKSAmJgogCWdpdCBwNCBjbG9uZSAtLWRlc3Q9IiRnaXQiIC8vZGVwb3QgJiYKQEAgLTM2MCw4ICszNTksNCBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAna2lsbCBwNGQnICcKLQlraWxsX3A0ZAotJwotCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk4MTEtZ2l0LXA0LWxhYmVsLWltcG9ydC5zaCBiL3QvdDk4MTEtZ2l0LXA0LWxhYmVsLWltcG9ydC5zaAppbmRleCA2MDJiMGE1Li5jMTQ0NmYyIDEwMDc1NQotLS0gYS90L3Q5ODExLWdpdC1wNC1sYWJlbC1pbXBvcnQuc2gKKysrIGIvdC90OTgxMS1naXQtcDQtbGFiZWwtaW1wb3J0LnNoCkBAIC0xOTEsNyArMTkxLDcgQEAKIAkoCiAJCWNkICIkY2xpIiAmJgogCQlwNCBzeW5jIC4uLiAmJgotCQkhKHA0IGxhYmVscyB8IGdyZXAgR0lUX1RBR19PTl9BX0JSQU5DSCkKKwkJISBwNCBsYWJlbHMgfCBncmVwIEdJVF9UQUdfT05fQV9CUkFOQ0gKIAkpCiAnCiAKQEAgLTI1OSw5ICsyNTksNCBAQAogCSkKICcKIAotCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdraWxsIHA0ZCcgJwotCWtpbGxfcDRkCi0nCi0KIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTgxMi1naXQtcDQtd2lsZGNhcmRzLnNoIGIvdC90OTgxMi1naXQtcDQtd2lsZGNhcmRzLnNoCmluZGV4IDAyMDY3NzEuLjI1NGE3YzIgMTAwNzU1Ci0tLSBhL3QvdDk4MTItZ2l0LXA0LXdpbGRjYXJkcy5zaAorKysgYi90L3Q5ODEyLWdpdC1wNC13aWxkY2FyZHMuc2gKQEAgLTIxMSw4ICsyMTEsNCBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAna2lsbCBwNGQnICcKLQlraWxsX3A0ZAotJwotCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk4MTMtZ2l0LXA0LXByZXNlcnZlLXVzZXJzLnNoIGIvdC90OTgxMy1naXQtcDQtcHJlc2VydmUtdXNlcnMuc2gKaW5kZXggNzgzYzZhZC4uZmQwMThjOCAxMDA3NTUKLS0tIGEvdC90OTgxMy1naXQtcDQtcHJlc2VydmUtdXNlcnMuc2gKKysrIGIvdC90OTgxMy1naXQtcDQtcHJlc2VydmUtdXNlcnMuc2gKQEAgLTEzOCw4ICsxMzgsNCBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAna2lsbCBwNGQnICcKLQlraWxsX3A0ZAotJwotCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk4MTQtZ2l0LXA0LXJlbmFtZS5zaCBiL3QvdDk4MTQtZ2l0LXA0LXJlbmFtZS5zaAppbmRleCA2MGJhYTA2Li40Njg3NjdjIDEwMDc1NQotLS0gYS90L3Q5ODE0LWdpdC1wNC1yZW5hbWUuc2gKKysrIGIvdC90OTgxNC1naXQtcDQtcmVuYW1lLnNoCkBAIC0yNDIsOCArMjQyLDQgQEAKIAkpCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2tpbGwgcDRkJyAnCi0Ja2lsbF9wNGQKLScKLQogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q5ODE1LWdpdC1wNC1zdWJtaXQtZmFpbC5zaCBiL3QvdDk4MTUtZ2l0LXA0LXN1Ym1pdC1mYWlsLnNoCmluZGV4IGVhZjAzYTYuLjk3NzlkYzAgMTAwNzU1Ci0tLSBhL3QvdDk4MTUtZ2l0LXA0LXN1Ym1pdC1mYWlsLnNoCisrKyBiL3QvdDk4MTUtZ2l0LXA0LXN1Ym1pdC1mYWlsLnNoCkBAIC00MjIsOCArNDIyLDQgQEAKIAkpCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2tpbGwgcDRkJyAnCi0Ja2lsbF9wNGQKLScKLQogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q5ODE2LWdpdC1wNC1sb2NrZWQuc2ggYi90L3Q5ODE2LWdpdC1wNC1sb2NrZWQuc2gKaW5kZXggZDA0OGJkMy4uOTMyODQxMCAxMDA3NTUKLS0tIGEvdC90OTgxNi1naXQtcDQtbG9ja2VkLnNoCisrKyBiL3QvdDk4MTYtZ2l0LXA0LWxvY2tlZC5zaApAQCAtMTM4LDggKzEzOCw0IEBACiAJKQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdraWxsIHA0ZCcgJwotCWtpbGxfcDRkCi0nCi0KIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTgxNy1naXQtcDQtZXhjbHVkZS5zaCBiL3QvdDk4MTctZ2l0LXA0LWV4Y2x1ZGUuc2gKaW5kZXggYWFjNTY4ZS4uZWMzZDkzNyAxMDA3NTUKLS0tIGEvdC90OTgxNy1naXQtcDQtZXhjbHVkZS5zaAorKysgYi90L3Q5ODE3LWdpdC1wNC1leGNsdWRlLnNoCkBAIC0yMiw3ICsyMiw5IEBACiAJCW1rZGlyIC1wIHdhbnRlZCBkaXNjYXJkICYmCiAJCWVjaG8gd2FudGVkID53YW50ZWQvZm9vICYmCiAJCWVjaG8gZGlzY2FyZCA+ZGlzY2FyZC9mb28gJiYKLQkJcDQgYWRkIHdhbnRlZC9mb28gZGlzY2FyZC9mb28gJiYKKwkJZWNobyBkaXNjYXJkX2ZpbGUgPmRpc2NhcmRfZmlsZSAmJgorCQllY2hvIGRpc2NhcmRfZmlsZV9ub3QgPmRpc2NhcmRfZmlsZV9ub3QgJiYKKwkJcDQgYWRkIHdhbnRlZC9mb28gZGlzY2FyZC9mb28gZGlzY2FyZF9maWxlIGRpc2NhcmRfZmlsZV9ub3QgJiYKIAkJcDQgc3VibWl0IC1kICJpbml0aWFsIHJldmlzaW9uIgogCSkKICcKQEAgLTMzLDcgKzM1LDkgQEAKIAkoCiAJCWNkICIkZ2l0IiAmJgogCQl0ZXN0X3BhdGhfaXNfZmlsZSB3YW50ZWQvZm9vICYmCi0JCXRlc3RfcGF0aF9pc19maWxlIGRpc2NhcmQvZm9vCisJCXRlc3RfcGF0aF9pc19maWxlIGRpc2NhcmQvZm9vICYmCisJCXRlc3RfcGF0aF9pc19maWxlIGRpc2NhcmRfZmlsZSAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSBkaXNjYXJkX2ZpbGVfbm90CiAJKQogJwogCkBAIC00Myw3ICs0NywyMSBAQAogCSgKIAkJY2QgIiRnaXQiICYmCiAJCXRlc3RfcGF0aF9pc19maWxlIHdhbnRlZC9mb28gJiYKLQkJdGVzdF9wYXRoX2lzX21pc3NpbmcgZGlzY2FyZC9mb28KKwkJdGVzdF9wYXRoX2lzX21pc3NpbmcgZGlzY2FyZC9mb28gJiYKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgZGlzY2FyZF9maWxlICYmCisJCXRlc3RfcGF0aF9pc19maWxlIGRpc2NhcmRfZmlsZV9ub3QKKwkpCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2Nsb25lLCBleGNsdWRpbmcgc2luZ2xlIGZpbGUsIG5vIHRyYWlsaW5nIC8nICcKKwl0ZXN0X3doZW5fZmluaXNoZWQgY2xlYW51cF9naXQgJiYKKwlnaXQgcDQgY2xvbmUgLS8vZGVwb3QvZGlzY2FyZF9maWxlIC0tZGVzdD0iJGdpdCIgLy9kZXBvdC8uLi5AYWxsICYmCisJKAorCQljZCAiJGdpdCIgJiYKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgd2FudGVkL2ZvbyAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSBkaXNjYXJkL2ZvbyAmJgorCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyBkaXNjYXJkX2ZpbGUgJiYKKwkJdGVzdF9wYXRoX2lzX2ZpbGUgZGlzY2FyZF9maWxlX25vdAogCSkKICcKIApAQCAtNTIsMjAgKzcwLDM5IEBACiAJZ2l0IHA0IGNsb25lIC0vL2RlcG90L2Rpc2NhcmQvLi4uIC0tZGVzdD0iJGdpdCIgLy9kZXBvdC8uLi5AYWxsICYmCiAJKAogCQljZCAiJGNsaSIgJiYKLQkJcDQgZWRpdCB3YW50ZWQvZm9vIGRpc2NhcmQvZm9vICYmCisJCXA0IGVkaXQgd2FudGVkL2ZvbyBkaXNjYXJkL2ZvbyBkaXNjYXJkX2ZpbGVfbm90ICYmCiAJCWRhdGUgPj53YW50ZWQvZm9vICYmCiAJCWRhdGUgPj5kaXNjYXJkL2ZvbyAmJgorCQlkYXRlID4+ZGlzY2FyZF9maWxlX25vdCAmJgogCQlwNCBzdWJtaXQgLWQgInVwZGF0aW5nIiAmJgogCiAJCWNkICIkZ2l0IiAmJgogCQlnaXQgcDQgc3luYyAtLy9kZXBvdC9kaXNjYXJkLy4uLiAmJgogCQl0ZXN0X3BhdGhfaXNfZmlsZSB3YW50ZWQvZm9vICYmCi0JCXRlc3RfcGF0aF9pc19taXNzaW5nIGRpc2NhcmQvZm9vCisJCXRlc3RfcGF0aF9pc19taXNzaW5nIGRpc2NhcmQvZm9vICYmCisJCXRlc3RfcGF0aF9pc19maWxlIGRpc2NhcmRfZmlsZSAmJgorCQl0ZXN0X3BhdGhfaXNfZmlsZSBkaXNjYXJkX2ZpbGVfbm90CiAJKQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdraWxsIHA0ZCcgJwotCWtpbGxfcDRkCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdjbG9uZSwgdGhlbiBzeW5jIHdpdGggZXhjbHVkZSwgbm8gdHJhaWxpbmcgLycgJworCXRlc3Rfd2hlbl9maW5pc2hlZCBjbGVhbnVwX2dpdCAmJgorCWdpdCBwNCBjbG9uZSAtLy9kZXBvdC9kaXNjYXJkLy4uLiAtLy9kZXBvdC9kaXNjYXJkX2ZpbGUgLS1kZXN0PSIkZ2l0IiAvL2RlcG90Ly4uLkBhbGwgJiYKKwkoCisJCWNkICIkY2xpIiAmJgorCQlwNCBlZGl0IHdhbnRlZC9mb28gZGlzY2FyZC9mb28gZGlzY2FyZF9maWxlX25vdCAmJgorCQlkYXRlID4+d2FudGVkL2ZvbyAmJgorCQlkYXRlID4+ZGlzY2FyZC9mb28gJiYKKwkJZGF0ZSA+PmRpc2NhcmRfZmlsZV9ub3QgJiYKKwkJcDQgc3VibWl0IC1kICJ1cGRhdGluZyIgJiYKKworCQljZCAiJGdpdCIgJiYKKwkJZ2l0IHA0IHN5bmMgLS8vZGVwb3QvZGlzY2FyZC8uLi4gLS8vZGVwb3QvZGlzY2FyZF9maWxlICYmCisJCXRlc3RfcGF0aF9pc19maWxlIHdhbnRlZC9mb28gJiYKKwkJdGVzdF9wYXRoX2lzX21pc3NpbmcgZGlzY2FyZC9mb28gJiYKKwkJdGVzdF9wYXRoX2lzX21pc3NpbmcgZGlzY2FyZF9maWxlICYmCisJCXRlc3RfcGF0aF9pc19maWxlIGRpc2NhcmRfZmlsZV9ub3QKKwkpCiAnCiAKIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTgxOC1naXQtcDQtYmxvY2suc2ggYi90L3Q5ODE4LWdpdC1wNC1ibG9jay5zaAppbmRleCBjZTdjYjIyLi4wZGI3YWI5IDEwMDc1NQotLS0gYS90L3Q5ODE4LWdpdC1wNC1ibG9jay5zaAorKysgYi90L3Q5ODE4LWdpdC1wNC1ibG9jay5zaApAQCAtMTQ2LDggKzE0Niw0IEBACiAJdGVzdF9saW5lX2NvdW50IFw+IDEwIGxvZwogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdraWxsIHA0ZCcgJwotCWtpbGxfcDRkCi0nCi0KIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTgxOS1naXQtcDQtY2FzZS1mb2xkaW5nLnNoIGIvdC90OTgxOS1naXQtcDQtY2FzZS1mb2xkaW5nLnNoCmluZGV4IGQ4MDhjMDAuLjYwMGNlMWUgMTAwNzU1Ci0tLSBhL3QvdDk4MTktZ2l0LXA0LWNhc2UtZm9sZGluZy5zaAorKysgYi90L3Q5ODE5LWdpdC1wNC1jYXNlLWZvbGRpbmcuc2gKQEAgLTUzLDggKzUzLDQgQEAKIAl0ZXN0X211c3RfZmFpbCBnaXQgcDQgY2xvbmUgLy9kZXBvdC91Yy8uLi4KICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAna2lsbCBwNGQnICcKLQlraWxsX3A0ZAotJwotCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk4MjAtZ2l0LXA0LWVkaXRvci1oYW5kbGluZy5zaCBiL3QvdDk4MjAtZ2l0LXA0LWVkaXRvci1oYW5kbGluZy5zaAppbmRleCAzYzIyZjc0Li5mYTFiYmExIDEwMDc1NQotLS0gYS90L3Q5ODIwLWdpdC1wNC1lZGl0b3ItaGFuZGxpbmcuc2gKKysrIGIvdC90OTgyMC1naXQtcDQtZWRpdG9yLWhhbmRsaW5nLnNoCkBAIC0zMSw4ICszMSw0IEBACiAJKQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdraWxsIHA0ZCcgJwotCWtpbGxfcDRkCi0nCi0KIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTgyMS1naXQtcDQtcGF0aC12YXJpYXRpb25zLnNoIGIvdC90OTgyMS1naXQtcDQtcGF0aC12YXJpYXRpb25zLnNoCmluZGV4IDgxZTQ2YWMuLmVmODBmMTYgMTAwNzU1Ci0tLSBhL3QvdDk4MjEtZ2l0LXA0LXBhdGgtdmFyaWF0aW9ucy5zaAorKysgYi90L3Q5ODIxLWdpdC1wNC1wYXRoLXZhcmlhdGlvbnMuc2gKQEAgLTE5Myw4ICsxOTMsNCBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAna2lsbCBwNGQnICcKLQlraWxsX3A0ZAotJwotCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk4MjItZ2l0LXA0LXBhdGgtZW5jb2Rpbmcuc2ggYi90L3Q5ODIyLWdpdC1wNC1wYXRoLWVuY29kaW5nLnNoCmluZGV4IGM3ODQ3N2MuLjU3MmQzOTUgMTAwNzU1Ci0tLSBhL3QvdDk4MjItZ2l0LXA0LXBhdGgtZW5jb2Rpbmcuc2gKKysrIGIvdC90OTgyMi1naXQtcDQtcGF0aC1lbmNvZGluZy5zaApAQCAtNyw2ICs3LDEzIEBACiBVVEY4X0VTQ0FQRUQ9ImEtXDMwM1wyNDRfby1cMzAzXDI2Nl91LVwzMDNcMjc0LnR4dCIKIElTTzg4NTlfRVNDQVBFRD0iYS1cMzQ0X28tXDM2Nl91LVwzNzQudHh0IgogCitJU084ODU5PSIkKHByaW50ZiAiJElTTzg4NTlfRVNDQVBFRCIpIiAmJgorZWNobyBjb250ZW50MTIzID4iJElTTzg4NTkiICYmCitybSAiJElTTzg4NTkiIHx8IHsKKwlza2lwX2FsbD0iZnMgZG9lcyBub3QgYWNjZXB0IElTTy04ODU5LTEgZmlsZW5hbWVzIgorCXRlc3RfZG9uZQorfQorCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzdGFydCBwNGQnICcKIAlzdGFydF9wNGQKICcKQEAgLTY3LDggKzc0LDQgQEAKIAkpCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2tpbGwgcDRkJyAnCi0Ja2lsbF9wNGQKLScKLQogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q5ODIzLWdpdC1wNC1tb2NrLWxmcy5zaCBiL3QvdDk4MjMtZ2l0LXA0LW1vY2stbGZzLnNoCmluZGV4IDFmMmRjMzYuLjg4Yjc2ZGMgMTAwNzU1Ci0tLSBhL3QvdDk4MjMtZ2l0LXA0LW1vY2stbGZzLnNoCisrKyBiL3QvdDk4MjMtZ2l0LXA0LW1vY2stbGZzLnNoCkBAIC0xODUsOCArMTg1LDQgQEAKIAkpCiAnCiAKLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2tpbGwgcDRkJyAnCi0Ja2lsbF9wNGQKLScKLQogdGVzdF9kb25lCmRpZmYgLS1naXQgYS90L3Q5ODI0LWdpdC1wNC1naXQtbGZzLnNoIGIvdC90OTgyNC1naXQtcDQtZ2l0LWxmcy5zaAppbmRleCBlZDgwY2E4Li5hMjhkYmJkIDEwMDc1NQotLS0gYS90L3Q5ODI0LWdpdC1wNC1naXQtbGZzLnNoCisrKyBiL3QvdDk4MjQtZ2l0LXA0LWdpdC1sZnMuc2gKQEAgLTI4Nyw4ICsyODcsNCBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAna2lsbCBwNGQnICcKLQlraWxsX3A0ZAotJwotCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk4MjUtZ2l0LXA0LWhhbmRsZS11dGYxNi13aXRob3V0LWJvbS5zaCBiL3QvdDk4MjUtZ2l0LXA0LWhhbmRsZS11dGYxNi13aXRob3V0LWJvbS5zaAppbmRleCAxNTUxODQ1Li5mMDQ5ZmY4IDEwMDc1NQotLS0gYS90L3Q5ODI1LWdpdC1wNC1oYW5kbGUtdXRmMTYtd2l0aG91dC1ib20uc2gKKysrIGIvdC90OTgyNS1naXQtcDQtaGFuZGxlLXV0ZjE2LXdpdGhvdXQtYm9tLnNoCkBAIC00Myw4ICs0Myw0IEBACiAJZ2l0IHA0IGNsb25lIC0tZGVzdD0iJGdpdCIgLy9kZXBvdAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdraWxsIHA0ZCcgJwotCWtpbGxfcDRkCi0nCi0KIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTgyNi1naXQtcDQta2VlcC1lbXB0eS1jb21taXRzLnNoIGIvdC90OTgyNi1naXQtcDQta2VlcC1lbXB0eS1jb21taXRzLnNoCmluZGV4IGZhOGI5ZGEuLmZkNjRhZmUgMTAwNzU1Ci0tLSBhL3QvdDk4MjYtZ2l0LXA0LWtlZXAtZW1wdHktY29tbWl0cy5zaAorKysgYi90L3Q5ODI2LWdpdC1wNC1rZWVwLWVtcHR5LWNvbW1pdHMuc2gKQEAgLTEyNyw4ICsxMjcsNCBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAna2lsbCBwNGQnICcKLQlraWxsX3A0ZAotJwotCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk4MjctZ2l0LXA0LWNoYW5nZS1maWxldHlwZS5zaCBiL3QvdDk4MjctZ2l0LXA0LWNoYW5nZS1maWxldHlwZS5zaAppbmRleCA3NDMzOTk4Li5kMzY3MGJkIDEwMDc1NQotLS0gYS90L3Q5ODI3LWdpdC1wNC1jaGFuZ2UtZmlsZXR5cGUuc2gKKysrIGIvdC90OTgyNy1naXQtcDQtY2hhbmdlLWZpbGV0eXBlLnNoCkBAIC01OSw4ICs1OSw0IEBACiAJKQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdraWxsIHA0ZCcgJwotCWtpbGxfcDRkCi0nCi0KIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTgyOC1naXQtcDQtbWFwLXVzZXIuc2ggYi90L3Q5ODI4LWdpdC1wNC1tYXAtdXNlci5zaAppbmRleCBlMjAzOTVjLi5jYTZjMjk0IDEwMDc1NQotLS0gYS90L3Q5ODI4LWdpdC1wNC1tYXAtdXNlci5zaAorKysgYi90L3Q5ODI4LWdpdC1wNC1tYXAtdXNlci5zaApAQCAtNTQsOCArNTQsNCBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAna2lsbCBwNGQnICcKLQlraWxsX3A0ZAotJwotCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk4MjktZ2l0LXA0LWpvYnMuc2ggYi90L3Q5ODI5LWdpdC1wNC1qb2JzLnNoCmluZGV4IDk3MWFlZWUuLjg4Y2ZiMWYgMTAwNzU1Ci0tLSBhL3QvdDk4MjktZ2l0LXA0LWpvYnMuc2gKKysrIGIvdC90OTgyOS1naXQtcDQtam9icy5zaApAQCAtOTIsOCArOTIsNCBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAna2lsbCBwNGQnICcKLQlraWxsX3A0ZAotJwotCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk4MzAtZ2l0LXA0LXN5bWxpbmstZGlyLnNoIGIvdC90OTgzMC1naXQtcDQtc3ltbGluay1kaXIuc2gKaW5kZXggMmFkMWIwOC4uM2ZiNjk2MCAxMDA3NTUKLS0tIGEvdC90OTgzMC1naXQtcDQtc3ltbGluay1kaXIuc2gKKysrIGIvdC90OTgzMC1naXQtcDQtc3ltbGluay1kaXIuc2gKQEAgLTM2LDggKzM2LDQgQEAKIAogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdraWxsIHA0ZCcgJwotCWtpbGxfcDRkCi0nCi0KIHRlc3RfZG9uZQpkaWZmIC0tZ2l0IGEvdC90OTgzMS1naXQtcDQtdHJpZ2dlcnMuc2ggYi90L3Q5ODMxLWdpdC1wNC10cmlnZ2Vycy5zaAppbmRleCBiZTQ0Yzk3Li5kNzQzY2EzIDEwMDc1NQotLS0gYS90L3Q5ODMxLWdpdC1wNC10cmlnZ2Vycy5zaAorKysgYi90L3Q5ODMxLWdpdC1wNC10cmlnZ2Vycy5zaApAQCAtOTYsOCArOTYsNCBAQAogCSkKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAna2lsbCBwNGQnICcKLQlraWxsX3A0ZAotJwotCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk4MzItdW5zaGVsdmUuc2ggYi90L3Q5ODMyLXVuc2hlbHZlLnNoCmluZGV4IDQxYzA5ZjEuLmU5Mjc2YzQgMTAwNzU1Ci0tLSBhL3QvdDk4MzItdW5zaGVsdmUuc2gKKysrIGIvdC90OTgzMi11bnNoZWx2ZS5zaApAQCAtMjIsNyArMjIsMTAgQEAKIAkJOiA+ZmlsZV90b19tb3ZlICYmCiAJCXA0IGFkZCBmaWxlX3RvX2RlbGV0ZSAmJgogCQlwNCBhZGQgZmlsZV90b19tb3ZlICYmCi0JCXA0IHN1Ym1pdCAtZCAiYWRkIGZpbGVzIHRvIGRlbGV0ZSIKKwkJcDQgc3VibWl0IC1kICJhZGQgZmlsZXMgdG8gZGVsZXRlIiAmJgorCQllY2hvIGZpbGVfdG9faW50ZWdyYXRlID5maWxlX3RvX2ludGVncmF0ZSAmJgorCQlwNCBhZGQgZmlsZV90b19pbnRlZ3JhdGUgJiYKKwkJcDQgc3VibWl0IC1kICJhZGQgZmlsZSB0byBpbnRlZ3JhdGUiCiAJKQogJwogCkBAIC00MCw2ICs0Myw3IEBACiAJCXA0IGRlbGV0ZSBmaWxlX3RvX2RlbGV0ZSAmJgogCQlwNCBlZGl0IGZpbGVfdG9fbW92ZSAmJgogCQlwNCBtb3ZlIGZpbGVfdG9fbW92ZSBtb3ZlZF9maWxlICYmCisJCXA0IGludGVncmF0ZSBmaWxlX3RvX2ludGVncmF0ZSBpbnRlZ3JhdGVkX2ZpbGUgJiYKIAkJcDQgb3BlbmVkICYmCiAJCXA0IHNoZWx2ZSAtaSA8PEVPRgogQ2hhbmdlOiBuZXcKQEAgLTUzLDYgKzU3LDcgQEAKIAkvL2RlcG90L2ZpbGVfdG9fZGVsZXRlCiAJLy9kZXBvdC9maWxlX3RvX21vdmUKIAkvL2RlcG90L21vdmVkX2ZpbGUKKwkvL2RlcG90L2ludGVncmF0ZWRfZmlsZQogRU9GCiAKIAkpICYmCkBAIC02NSw2ICs3MCw3IEBACiAJCXRlc3RfcGF0aF9pc19maWxlIGZpbGUyICYmCiAJCXRlc3RfY21wIGZpbGUxICIkY2xpIi9maWxlMSAmJgogCQl0ZXN0X2NtcCBmaWxlMiAiJGNsaSIvZmlsZTIgJiYKKwkJdGVzdF9jbXAgZmlsZV90b19pbnRlZ3JhdGUgIiRjbGkiL2ludGVncmF0ZWRfZmlsZSAmJgogCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyBmaWxlX3RvX2RlbGV0ZSAmJgogCQl0ZXN0X3BhdGhfaXNfbWlzc2luZyBmaWxlX3RvX21vdmUgJiYKIAkJdGVzdF9wYXRoX2lzX2ZpbGUgbW92ZWRfZmlsZQpAQCAtMTc0LDggKzE4MCw1IEBACiAJCXRlc3RfcGF0aF9pc19maWxlIGZpbGVfdG9fc2hlbHZlCiAJKQogJwotdGVzdF9leHBlY3Rfc3VjY2VzcyAna2lsbCBwNGQnICcKLQlraWxsX3A0ZAotJwogCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk4MzMtZXJyb3JzLnNoIGIvdC90OTgzMy1lcnJvcnMuc2gKaW5kZXggMjc3ZDM0Ny4uZTIyMzY5YyAxMDA3NTUKLS0tIGEvdC90OTgzMy1lcnJvcnMuc2gKKysrIGIvdC90OTgzMy1lcnJvcnMuc2gKQEAgLTQ1LDM2ICs0NSw0IEBACiAJKQogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdjcmVhdGUgZ3JvdXAgd2l0aCBzaG9ydCB0aWNrZXQgZXhwaXJ5JyAnCi0JUDRUSUNLRVRTPSIkY2xpL3RpY2tldHMiICYmCi0JZWNobyAibmV3cGFzc3dvcmQiIHwgcDQgbG9naW4gJiYKLQlwNF9hZGRfdXNlciBzaG9ydF9leHBpcnlfdXNlciAmJgotCXA0IC11IHNob3J0X2V4cGlyeV91c2VyIHBhc3N3ZCAtUCBwYXNzd29yZCAmJgotCXA0IGdyb3VwIC1pIDw8LUVPRiAmJgotCUdyb3VwOiB0ZXN0Z3JvdXAKLQlUaW1lb3V0OiAzCi0JVXNlcnM6IHNob3J0X2V4cGlyeV91c2VyCi0JRU9GCi0KLQlwNCB1c2VycyB8IGdyZXAgc2hvcnRfZXhwaXJ5X3VzZXIKLScKLQotdGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IG9wZXJhdGlvbiB3aXRoIGV4cGlyZWQgdGlja2V0JyAnCi0JUDRUSUNLRVRTPSIkY2xpL3RpY2tldHMiICYmCi0JUDRVU0VSPXNob3J0X2V4cGlyeV91c2VyICYmCi0JZWNobyAicGFzc3dvcmQiIHwgcDQgbG9naW4gJiYKLQkoCi0JCWNkICIkZ2l0IiAmJgotCQlnaXQgcDQgc3luYyAmJgotCQlzbGVlcCA1ICYmCi0JCXRlc3RfbXVzdF9mYWlsIGdpdCBwNCBzeW5jIDI+ZXJybXNnICYmCi0JCWdyZXAgImZhaWx1cmUgYWNjZXNzaW5nIGRlcG90IiBlcnJtc2cKLQkpCi0nCi0KLXRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2tpbGwgcDRkJyAnCi0Ja2lsbF9wNGQKLScKLQotCiB0ZXN0X2RvbmUKZGlmZiAtLWdpdCBhL3QvdDk5MDItY29tcGxldGlvbi5zaCBiL3QvdDk5MDItY29tcGxldGlvbi5zaAppbmRleCAxMzdmZGM5Li41NTA1ZTVhIDEwMDc1NQotLS0gYS90L3Q5OTAyLWNvbXBsZXRpb24uc2gKKysrIGIvdC90OTkwMi1jb21wbGV0aW9uLnNoCkBAIC0yOCwxMCArMjgsMTAgQEAKICMKICMgKDIpIEEgdGVzdCBtYWtlcyBzdXJlIHRoYXQgY29tbW9uIHN1YmNvbW1hbmRzIGFyZSBpbmNsdWRlZCBpbiB0aGUKICMgICAgIGNvbXBsZXRpb24gZm9yICJnaXQgPFRBQj4iLCBhbmQgYSBwbHVtYmluZyBpcyBleGNsdWRlZC4gICJhZGQiLAotIyAgICAgImZpbHRlci1icmFuY2giIGFuZCAibHMtZmlsZXMiIGFyZSBsaXN0ZWQgZm9yIHRoaXMuCisjICAgICAicmViYXNlIiBhbmQgImxzLWZpbGVzIiBhcmUgbGlzdGVkIGZvciB0aGlzLgogCi1HSVRfVEVTVElOR19BTExfQ09NTUFORF9MSVNUPSdhZGQgY2hlY2tvdXQgY2hlY2stYXR0ciBmaWx0ZXItYnJhbmNoIGxzLWZpbGVzJwotR0lUX1RFU1RJTkdfUE9SQ0VMQUlOX0NPTU1BTkRfTElTVD0nYWRkIGNoZWNrb3V0IGZpbHRlci1icmFuY2gnCitHSVRfVEVTVElOR19BTExfQ09NTUFORF9MSVNUPSdhZGQgY2hlY2tvdXQgY2hlY2stYXR0ciByZWJhc2UgbHMtZmlsZXMnCitHSVRfVEVTVElOR19QT1JDRUxBSU5fQ09NTUFORF9MSVNUPSdhZGQgY2hlY2tvdXQgcmViYXNlJwogCiAuICIkR0lUX0JVSUxEX0RJUi9jb250cmliL2NvbXBsZXRpb24vZ2l0LWNvbXBsZXRpb24uYmFzaCIKIApAQCAtMzc4LDcgKzM3OCw3IEBACiAnCiAKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRkaXIgLSByZXR1cm5zIGVycm9yIHdoZW4gY2FudCBmaW5kIHJlcG8nICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0ZGlyIC0gcmV0dXJucyBlcnJvciB3aGVuIGNhbm5vdCBmaW5kIHJlcG8nICcKIAkoCiAJCV9fZ2l0X2Rpcj0ibm9uLWV4aXN0aW5nIiAmJgogCQl0ZXN0X211c3RfZmFpbCBfX2dpdGRpciA+IiRhY3R1YWwiCkBAIC05NDUsNyArOTQ1LDcgQEAKIAlybSAtZiAuZ2l0L0ZFVENIX0hFQUQKICcKIAotdGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfcmVmcyAtIGRvbnQgZmlsdGVyIHJlZnMgdW5sZXNzIHRvbGQgc28nICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X3JlZnMgLSBkbyBub3QgZmlsdGVyIHJlZnMgdW5sZXNzIHRvbGQgc28nICcKIAljYXQgPmV4cGVjdGVkIDw8LUVPRiAmJgogCUhFQUQKIAltYXN0ZXIKQEAgLTEyNTcsNyArMTI1Nyw3IEBACiAJCSMgSW4gdGhlIGZvbGxvd2luZyB0ZXN0cyBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gd2Ugb25seQogCQkjIGNhcmUgYWJvdXQgaG93IF9fZ2l0X2NvbXBsZXRlX2luZGV4X2ZpbGUoKSBkZWFscyB3aXRoCiAJCSMgdW51c3VhbCBjaGFyYWN0ZXJzIGluIHBhdGggbmFtZXMuICBCeSByZXF1ZXN0aW5nIG9ubHkKLQkJIyB1bnRyYWNrZWQgZmlsZXMgd2UgZG9udCBoYXZlIHRvIGJvdGhlciBhZGRpbmcgYW55CisJCSMgdW50cmFja2VkIGZpbGVzIHdlIGRvIG5vdCBoYXZlIHRvIGJvdGhlciBhZGRpbmcgYW55CiAJCSMgcGF0aHMgdG8gdGhlIGluZGV4IGluIHRob3NlIHRlc3RzLgogCQlfX2dpdF9jb21wbGV0ZV9pbmRleF9maWxlIC0tb3RoZXJzICYmCiAJCXByaW50X2NvbXAKQEAgLTEzNjMsNiArMTM2Myw2MyBAQAogCSAgICAgICBCU1xcZGlyICckJ3NlcGFyYXRvcnNcMDM0aW5cMDM1ZGlyJycKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfZmluZF9vbl9jbWRsaW5lIC0gc2luZ2xlIG1hdGNoJyAnCisJZWNobyBsaXN0ID5leHBlY3QgJiYKKwkoCisJCXdvcmRzPShnaXQgY29tbWFuZCAtLW9wdCBsaXN0KSAmJgorCQljd29yZD0keyN3b3Jkc1tAXX0gJiYKKwkJX19naXRfZmluZF9vbl9jbWRsaW5lICJhZGQgbGlzdCByZW1vdmUiID5hY3R1YWwKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9maW5kX29uX2NtZGxpbmUgLSBtdWx0aXBsZSBtYXRjaGVzJyAnCisJZWNobyByZW1vdmUgPmV4cGVjdCAmJgorCSgKKwkJd29yZHM9KGdpdCBjb21tYW5kIC1vIC0tb3B0IHJlbW92ZSBsaXN0IGFkZCkgJiYKKwkJY3dvcmQ9JHsjd29yZHNbQF19ICYmCisJCV9fZ2l0X2ZpbmRfb25fY21kbGluZSAiYWRkIGxpc3QgcmVtb3ZlIiA+YWN0dWFsCisJKSAmJgorCXRlc3RfY21wIGV4cGVjdCBhY3R1YWwKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnX19naXRfZmluZF9vbl9jbWRsaW5lIC0gbm8gbWF0Y2gnICcKKwkoCisJCXdvcmRzPShnaXQgY29tbWFuZCAtLW9wdCBicmFuY2gpICYmCisJCWN3b3JkPSR7I3dvcmRzW0BdfSAmJgorCQlfX2dpdF9maW5kX29uX2NtZGxpbmUgImFkZCBsaXN0IHJlbW92ZSIgPmFjdHVhbAorCSkgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X2ZpbmRfb25fY21kbGluZSAtIHNpbmdsZSBtYXRjaCB3aXRoIGluZGV4JyAnCisJZWNobyAiMyBsaXN0IiA+ZXhwZWN0ICYmCisJKAorCQl3b3Jkcz0oZ2l0IGNvbW1hbmQgLS1vcHQgbGlzdCkgJiYKKwkJY3dvcmQ9JHsjd29yZHNbQF19ICYmCisJCV9fZ2l0X2ZpbmRfb25fY21kbGluZSAtLXNob3ctaWR4ICJhZGQgbGlzdCByZW1vdmUiID5hY3R1YWwKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9maW5kX29uX2NtZGxpbmUgLSBtdWx0aXBsZSBtYXRjaGVzIHdpdGggaW5kZXgnICcKKwllY2hvICI0IHJlbW92ZSIgPmV4cGVjdCAmJgorCSgKKwkJd29yZHM9KGdpdCBjb21tYW5kIC1vIC0tb3B0IHJlbW92ZSBsaXN0IGFkZCkgJiYKKwkJY3dvcmQ9JHsjd29yZHNbQF19ICYmCisJCV9fZ2l0X2ZpbmRfb25fY21kbGluZSAtLXNob3ctaWR4ICJhZGQgbGlzdCByZW1vdmUiID5hY3R1YWwKKwkpICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdfX2dpdF9maW5kX29uX2NtZGxpbmUgLSBubyBtYXRjaCB3aXRoIGluZGV4JyAnCisJKAorCQl3b3Jkcz0oZ2l0IGNvbW1hbmQgLS1vcHQgYnJhbmNoKSAmJgorCQljd29yZD0keyN3b3Jkc1tAXX0gJiYKKwkJX19naXRfZmluZF9vbl9jbWRsaW5lIC0tc2hvdy1pZHggImFkZCBsaXN0IHJlbW92ZSIgPmFjdHVhbAorCSkgJiYKKwl0ZXN0X211c3RfYmVfZW1wdHkgYWN0dWFsCisnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ19fZ2l0X2dldF9jb25maWdfdmFyaWFibGVzJyAnCiAJY2F0ID5leHBlY3QgPDwtRU9GICYmCkBAIC0xMzkyLDEyICsxNDQ5LDEyIEBACiAJIyBidWlsdC1pbgogCWdyZXAgLXEgIl5hZGQgXCQiIG91dCAmJgogCSMgc2NyaXB0Ci0JZ3JlcCAtcSAiXmZpbHRlci1icmFuY2ggXCQiIG91dCAmJgorCWdyZXAgLXEgIl5yZWJhc2UgXCQiIG91dCAmJgogCSMgcGx1bWJpbmcKIAkhIGdyZXAgLXEgIl5scy1maWxlcyBcJCIgb3V0ICYmCiAKLQlydW5fY29tcGxldGlvbiAiZ2l0IGYiICYmCi0JISBncmVwIC1xIC12ICJeZiIgb3V0CisJcnVuX2NvbXBsZXRpb24gImdpdCByIiAmJgorCSEgZ3JlcCAtcSAtdiAiXnIiIG91dAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdkb3VibGUgZGFzaCAiZ2l0IiBpdHNlbGYnICcKQEAgLTE0MzQsOCArMTQ5MSwxMiBAQAogCS0taWdub3JlLW90aGVyLXdvcmt0cmVlcyBaCiAJLS1yZWN1cnNlLXN1Ym1vZHVsZXMgWgogCS0tcHJvZ3Jlc3MgWgotCS0tbm8tcXVpZXQgWgorCS0tZ3Vlc3MgWgorCS0tbm8tZ3Vlc3MgWgogCS0tbm8tLi4uIFoKKwktLW92ZXJsYXkgWgorCS0tcGF0aHNwZWMtZmlsZS1udWwgWgorCS0tcGF0aHNwZWMtZnJvbS1maWxlPVoKIAlFT0YKICcKIApAQCAtMTQ4Miw2ICsxNTQzLDEyIEBACiAJdGVzdF9jb21wbGV0aW9uICJnaXQgLS1oZWxwIGNvcmUiICJjb3JlLXR1dG9yaWFsICIKICcKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnY29tcGxldGlvbi5jb21tYW5kcyByZW1vdmVzIG11bHRpcGxlIGNvbW1hbmRzJyAnCisJdGVzdF9jb25maWcgY29tcGxldGlvbi5jb21tYW5kcyAiLWNoZXJyeSAtbWVyZ2V0b29sIiAmJgorCWdpdCAtLWxpc3QtY21kcz1saXN0LW1haW5wb3JjZWxhaW4sbGlzdC1jb21wbGV0ZSxjb25maWcgPm91dCAmJgorCSEgZ3JlcCAtRSAiXihjaGVycnl8bWVyZ2V0b29sKSQiIG91dAorJworCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdzZXR1cCBmb3IgaW50ZWdyYXRpb24gdGVzdHMnICcKIAllY2hvIGNvbnRlbnQgPmZpbGUxICYmCiAJZWNobyBtb3JlID5maWxlMiAmJgpAQCAtMTUxNSw4ICsxNTgyLDggQEAKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyAnPHJlZj46IGNvbXBsZXRlcyBwYXRocycgJwogCXRlc3RfY29tcGxldGlvbiAiZ2l0IHNob3cgbXl0YWc6ZiIgPDwtXEVPRgotCWZpbGUxIFoKLQlmaWxlMiBaCisJZmlsZTFaCisJZmlsZTJaCiAJRU9GCiAnCiAKQEAgLTE1MjUsNyArMTU5Miw3IEBACiAJZ2l0IGFkZCAibmFtZSB3aXRoIHNwYWNlcyIgJiYKIAlnaXQgY29tbWl0IC1tIHNwYWNlcyAmJgogCXRlc3RfY29tcGxldGlvbiAiZ2l0IHNob3cgSEVBRDpuYW0iIDw8LVxFT0YKLQluYW1lIHdpdGggc3BhY2VzIFoKKwluYW1lIHdpdGggc3BhY2VzWgogCUVPRgogJwogCkBAIC0xNTM0LDEzICsxNjAxLDE2IEBACiAJZ2l0IGFkZCAibmFtZSB3aXRoIFwke21ldGF9IiAmJgogCWdpdCBjb21taXQgLW0gbWV0YSAmJgogCXRlc3RfY29tcGxldGlvbiAiZ2l0IHNob3cgSEVBRDpuYW0iIDw8LVxFT0YKLQluYW1lIHdpdGggJHttZXRhfSBaCi0JbmFtZSB3aXRoIHNwYWNlcyBaCisJbmFtZSB3aXRoICR7bWV0YX1aCisJbmFtZSB3aXRoIHNwYWNlc1oKIAlFT0YKICcKIAogdGVzdF9leHBlY3Rfc3VjY2VzcyBQRVJMICdzZW5kLWVtYWlsJyAnCi0JdGVzdF9jb21wbGV0aW9uICJnaXQgc2VuZC1lbWFpbCAtLWNvdiIgIi0tY292ZXItbGV0dGVyICIgJiYKKwl0ZXN0X2NvbXBsZXRpb24gImdpdCBzZW5kLWVtYWlsIC0tY292IiA8PC1cRU9GICYmCisJLS1jb3Zlci1mcm9tLWRlc2NyaXB0aW9uPVoKKwktLWNvdmVyLWxldHRlciBaCisJRU9GCiAJdGVzdF9jb21wbGV0aW9uICJnaXQgc2VuZC1lbWFpbCBtYSIgIm1hc3RlciAiCiAnCiAKQEAgLTE2OTAsNiArMTc2MCw2OSBAQAogCScKIGRvbmUKIAordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IGNvbmZpZyAtIHNlY3Rpb24nICcKKwl0ZXN0X2NvbXBsZXRpb24gImdpdCBjb25maWcgYnIiIDw8LVxFT0YKKwlicmFuY2guWgorCWJyb3dzZXIuWgorCUVPRgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgY29uZmlnIC0gdmFyaWFibGUgbmFtZScgJworCXRlc3RfY29tcGxldGlvbiAiZ2l0IGNvbmZpZyBsb2cuZCIgPDwtXEVPRgorCWxvZy5kYXRlIFoKKwlsb2cuZGVjb3JhdGUgWgorCUVPRgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgY29uZmlnIC0gdmFsdWUnICcKKwl0ZXN0X2NvbXBsZXRpb24gImdpdCBjb25maWcgY29sb3IucGFnZXIgIiA8PC1cRU9GCisJZmFsc2UgWgorCXRydWUgWgorCUVPRgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgLWMgLSBzZWN0aW9uJyAnCisJdGVzdF9jb21wbGV0aW9uICJnaXQgLWMgYnIiIDw8LVxFT0YKKwlicmFuY2guWgorCWJyb3dzZXIuWgorCUVPRgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgLWMgLSB2YXJpYWJsZSBuYW1lJyAnCisJdGVzdF9jb21wbGV0aW9uICJnaXQgLWMgbG9nLmQiIDw8LVxFT0YKKwlsb2cuZGF0ZT1aCisJbG9nLmRlY29yYXRlPVoKKwlFT0YKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyAnZ2l0IC1jIC0gdmFsdWUnICcKKwl0ZXN0X2NvbXBsZXRpb24gImdpdCAtYyBjb2xvci5wYWdlcj0iIDw8LVxFT0YKKwlmYWxzZSBaCisJdHJ1ZSBaCisJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBjbG9uZSAtLWNvbmZpZz0gLSBzZWN0aW9uJyAnCisJdGVzdF9jb21wbGV0aW9uICJnaXQgY2xvbmUgLS1jb25maWc9YnIiIDw8LVxFT0YKKwlicmFuY2guWgorCWJyb3dzZXIuWgorCUVPRgorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzICdnaXQgY2xvbmUgLS1jb25maWc9IC0gdmFyaWFibGUgbmFtZScgJworCXRlc3RfY29tcGxldGlvbiAiZ2l0IGNsb25lIC0tY29uZmlnPWxvZy5kIiA8PC1cRU9GCisJbG9nLmRhdGU9WgorCWxvZy5kZWNvcmF0ZT1aCisJRU9GCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ2dpdCBjbG9uZSAtLWNvbmZpZz0gLSB2YWx1ZScgJworCXRlc3RfY29tcGxldGlvbiAiZ2l0IGNsb25lIC0tY29uZmlnPWNvbG9yLnBhZ2VyPSIgPDwtXEVPRgorCWZhbHNlIFoKKwl0cnVlIFoKKwlFT0YKKycKKwogdGVzdF9leHBlY3Rfc3VjY2VzcyAnc291cmNpbmcgdGhlIGNvbXBsZXRpb24gc2NyaXB0IGNsZWFycyBjYWNoZWQgY29tbWFuZHMnICcKIAlfX2dpdF9jb21wdXRlX2FsbF9jb21tYW5kcyAmJgogCXZlcmJvc2UgdGVzdCAtbiAiJF9fZ2l0X2FsbF9jb21tYW5kcyIgJiYKQEAgLTE2OTgsNyArMTgzMSw3IEBACiAnCiAKIHRlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3NvdXJjaW5nIHRoZSBjb21wbGV0aW9uIHNjcmlwdCBjbGVhcnMgY2FjaGVkIG1lcmdlIHN0cmF0ZWdpZXMnICcKLQlHSVRfVEVTVF9HRVRURVhUX1BPSVNPTj0gJiYKKwlHSVRfVEVTVF9HRVRURVhUX1BPSVNPTj1mYWxzZSAmJgogCV9fZ2l0X2NvbXB1dGVfbWVyZ2Vfc3RyYXRlZ2llcyAmJgogCXZlcmJvc2UgdGVzdCAtbiAiJF9fZ2l0X21lcmdlX3N0cmF0ZWdpZXMiICYmCiAJLiAiJEdJVF9CVUlMRF9ESVIvY29udHJpYi9jb21wbGV0aW9uL2dpdC1jb21wbGV0aW9uLmJhc2giICYmCmRpZmYgLS1naXQgYS90L3Q5OTAzLWJhc2gtcHJvbXB0LnNoIGIvdC90OTkwMy1iYXNoLXByb21wdC5zaAppbmRleCA4MWE1MTc5Li5hYjVkYTJjIDEwMDc1NQotLS0gYS90L3Q5OTAzLWJhc2gtcHJvbXB0LnNoCisrKyBiL3QvdDk5MDMtYmFzaC1wcm9tcHQuc2gKQEAgLTE2Myw3ICsxNjMsNyBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcm9tcHQgLSBpbnRlcmFjdGl2ZSByZWJhc2UnICcKLQlwcmludGYgIiAoYjF8UkVCQVNFLWkgMi8zKSIgPmV4cGVjdGVkICYmCisJcHJpbnRmICIgKGIxfFJFQkFTRSAyLzMpIiA+ZXhwZWN0ZWQgJiYKIAl3cml0ZV9zY3JpcHQgZmFrZV9lZGl0b3Iuc2ggPDwtXEVPRiAmJgogCQllY2hvICJleGVjIGVjaG8iID4iJDEiCiAJCWVjaG8gImVkaXQgJChnaXQgbG9nIC0xIC0tZm9ybWF0PSIlaCIpIiA+PiIkMSIKQEAgLTE4MCw3ICsxODAsNyBAQAogJwogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcm9tcHQgLSByZWJhc2UgbWVyZ2UnICcKLQlwcmludGYgIiAoYjJ8UkVCQVNFLW0gMS8zKSIgPmV4cGVjdGVkICYmCisJcHJpbnRmICIgKGIyfFJFQkFTRSAxLzMpIiA+ZXhwZWN0ZWQgJiYKIAlnaXQgY2hlY2tvdXQgYjIgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCBjaGVja291dCBtYXN0ZXIiICYmCiAJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJlYmFzZSAtLW1lcmdlIGIxIGIyICYmCkBAIC0xODksMTEgKzE4OSwxMSBAQAogCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgogJwogCi10ZXN0X2V4cGVjdF9zdWNjZXNzICdwcm9tcHQgLSByZWJhc2UnICcKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Byb21wdCAtIHJlYmFzZSBhbScgJwogCXByaW50ZiAiIChiMnxSRUJBU0UgMS8zKSIgPmV4cGVjdGVkICYmCiAJZ2l0IGNoZWNrb3V0IGIyICYmCiAJdGVzdF93aGVuX2ZpbmlzaGVkICJnaXQgY2hlY2tvdXQgbWFzdGVyIiAmJgotCXRlc3RfbXVzdF9mYWlsIGdpdCByZWJhc2UgYjEgYjIgJiYKKwl0ZXN0X211c3RfZmFpbCBnaXQgcmViYXNlIC0tYXBwbHkgYjEgYjIgJiYKIAl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZWJhc2UgLS1hYm9ydCIgJiYKIAlfX2dpdF9wczEgPiIkYWN0dWFsIiAmJgogCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIgpAQCAtMjExLDggKzIxMSwyNCBAQAogCiB0ZXN0X2V4cGVjdF9zdWNjZXNzICdwcm9tcHQgLSBjaGVycnktcGljaycgJwogCXByaW50ZiAiIChtYXN0ZXJ8Q0hFUlJZLVBJQ0tJTkcpIiA+ZXhwZWN0ZWQgJiYKLQl0ZXN0X211c3RfZmFpbCBnaXQgY2hlcnJ5LXBpY2sgYjEgJiYKLQl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXNldCAtLWhhcmQiICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IGNoZXJyeS1waWNrIGIxIGIxXiAmJgorCXRlc3Rfd2hlbl9maW5pc2hlZCAiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnQiICYmCisJX19naXRfcHMxID4iJGFjdHVhbCIgJiYKKwl0ZXN0X2NtcCBleHBlY3RlZCAiJGFjdHVhbCIgJiYKKwlnaXQgcmVzZXQgLS1tZXJnZSAmJgorCXRlc3RfbXVzdF9mYWlsIGdpdCByZXYtcGFyc2UgQ0hFUlJZX1BJQ0tfSEVBRCAmJgorCV9fZ2l0X3BzMSA+IiRhY3R1YWwiICYmCisJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgJ3Byb21wdCAtIHJldmVydCcgJworCXByaW50ZiAiIChtYXN0ZXJ8UkVWRVJUSU5HKSIgPmV4cGVjdGVkICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldmVydCBiMV4gYjEgJiYKKwl0ZXN0X3doZW5fZmluaXNoZWQgImdpdCByZXZlcnQgLS1hYm9ydCIgJiYKKwlfX2dpdF9wczEgPiIkYWN0dWFsIiAmJgorCXRlc3RfY21wIGV4cGVjdGVkICIkYWN0dWFsIiAmJgorCWdpdCByZXNldCAtLW1lcmdlICYmCisJdGVzdF9tdXN0X2ZhaWwgZ2l0IHJldi1wYXJzZSBSRVZFUlRfSEVBRCAmJgogCV9fZ2l0X3BzMSA+IiRhY3R1YWwiICYmCiAJdGVzdF9jbXAgZXhwZWN0ZWQgIiRhY3R1YWwiCiAnCmRpZmYgLS1naXQgYS90L3Rlc3QtbGliLWZ1bmN0aW9ucy5zaCBiL3QvdGVzdC1saWItZnVuY3Rpb25zLnNoCmluZGV4IDZiM2JiZjkuLjM1MmMyMTMgMTAwNjQ0Ci0tLSBhL3QvdGVzdC1saWItZnVuY3Rpb25zLnNoCisrKyBiL3QvdGVzdC1saWItZnVuY3Rpb25zLnNoCkBAIC0xMTYsNiArMTE2LDEzIEBACiAJdHIgJ1wwMTUnIFEgfCBzZWQgLWUgJ3MvUSQvLycKIH0KIAorIyBHZW5lcmF0ZSBhbiBvdXRwdXQgb2YgJDEgYnl0ZXMgb2YgYWxsIHplcm9lcyAoTlVMcywgbm90IEFTQ0lJIHplcm9lcykuCisjIElmICQxIGlzICdpbmZpbml0eScsIG91dHB1dCBmb3JldmVyIG9yIHVudGlsIHRoZSByZWNlaXZpbmcgcGlwZSBzdG9wcyByZWFkaW5nLAorIyB3aGljaGV2ZXIgY29tZXMgZmlyc3QuCitnZW5lcmF0ZV96ZXJvX2J5dGVzICgpIHsKKwl0ZXN0LXRvb2wgZ2VuemVyb3MgIiRAIgorfQorCiAjIEluIHNvbWUgYm91cm5lIHNoZWxsIGltcGxlbWVudGF0aW9ucywgdGhlICJ1bnNldCIgYnVpbHRpbiByZXR1cm5zCiAjIG5vbnplcm8gc3RhdHVzIHdoZW4gYSB2YXJpYWJsZSB0byBiZSB1bnNldCB3YXMgbm90IHNldCBpbiB0aGUgZmlyc3QKICMgcGxhY2UuCkBAIC0yMjEsOSArMjI4LDEzNCBAQAogIyBjYW4gYmUgYSB0YWcgcG9pbnRpbmcgdG8gdGhlIGNvbW1pdC10by1tZXJnZS4KIAogdGVzdF9tZXJnZSAoKSB7CisJbGFiZWw9IiQxIiAmJgorCXNoaWZ0ICYmCiAJdGVzdF90aWNrICYmCi0JZ2l0IG1lcmdlIC1tICIkMSIgIiQyIiAmJgotCWdpdCB0YWcgIiQxIgorCWdpdCBtZXJnZSAtbSAiJGxhYmVsIiAiJEAiICYmCisJZ2l0IHRhZyAiJGxhYmVsIgorfQorCisjIEVmZmljaWVudGx5IGNyZWF0ZSA8bnI+IGNvbW1pdHMsIGVhY2ggd2l0aCBhIHVuaXF1ZSBudW1iZXIgKGZyb20gMSB0byA8bnI+CisjIGJ5IGRlZmF1bHQpIGluIHRoZSBjb21taXQgbWVzc2FnZS4KKyMKKyMgVXNhZ2U6IHRlc3RfY29tbWl0X2J1bGsgW29wdGlvbnNdIDxucj4KKyMgICAtQyA8ZGlyPjoKKyMJUnVuIGFsbCBnaXQgY29tbWFuZHMgaW4gZGlyZWN0b3J5IDxkaXI+CisjICAgLS1yZWY9PG4+OgorIwlyZWYgb24gd2hpY2ggdG8gY3JlYXRlIGNvbW1pdHMgKGRlZmF1bHQ6IEhFQUQpCisjICAgLS1zdGFydD08bj46CisjCW51bWJlciBjb21taXQgbWVzc2FnZXMgZnJvbSA8bj4gKGRlZmF1bHQ6IDEpCisjICAgLS1tZXNzYWdlPTxtc2c+OgorIwl1c2UgPG1zZz4gYXMgdGhlIGNvbW1pdCBtZXNhc2dlIChkZWZhdWx0OiAiY29tbWl0ICVzIikKKyMgICAtLWZpbGVuYW1lPTxmbj46CisjCW1vZGlmeSA8Zm4+IGluIGVhY2ggY29tbWl0IChkZWZhdWx0OiAlcy50KQorIyAgIC0tY29udGVudHM9PHN0cmluZz46CisjCXBsYWNlIDxzdHJpbmc+IGluIGVhY2ggZmlsZSAoZGVmYXVsdDogImNvbnRlbnQgJXMiKQorIyAgIC0taWQ9PHN0cmluZz46CisjCXNob3J0aGFuZCB0byB1c2UgPHN0cmluZz4gYW5kICVzIGluIG1lc3NhZ2UsIGZpbGVuYW1lLCBhbmQgY29udGVudHMKKyMKKyMgVGhlIG1lc3NhZ2UsIGZpbGVuYW1lLCBhbmQgY29udGVudHMgc3RyaW5ncyBhcmUgZXZhbHVhdGVkIGJ5IHByaW50Ziwgd2l0aCB0aGUKKyMgZmlyc3QgIiVzIiByZXBsYWNlZCBieSB0aGUgY3VycmVudCBjb21taXQgbnVtYmVyLiBTbyB5b3UgY2FuIGRvOgorIworIyAgIHRlc3RfY29tbWl0X2J1bGsgLS1maWxlbmFtZT1maWxlIC0tY29udGVudHM9Im1vZGlmaWNhdGlvbiAlcyIKKyMKKyMgdG8gaGF2ZSBldmVyeSBjb21taXQgdG91Y2ggdGhlIHNhbWUgZmlsZSwgYnV0IHdpdGggdW5pcXVlIGNvbnRlbnQuCisjCit0ZXN0X2NvbW1pdF9idWxrICgpIHsKKwl0bXBmaWxlPS5idWxrLWNvbW1pdC5pbnB1dAorCWluZGlyPS4KKwlyZWY9SEVBRAorCW49MQorCW1lc3NhZ2U9J2NvbW1pdCAlcycKKwlmaWxlbmFtZT0nJXMudCcKKwljb250ZW50cz0nY29udGVudCAlcycKKwl3aGlsZSB0ZXN0ICQjIC1ndCAwCisJZG8KKwkJY2FzZSAiJDEiIGluCisJCS1DKQorCQkJaW5kaXI9JDIKKwkJCXNoaWZ0CisJCQk7OworCQktLXJlZj0qKQorCQkJcmVmPSR7MSMtLSo9fQorCQkJOzsKKwkJLS1zdGFydD0qKQorCQkJbj0kezEjLS0qPX0KKwkJCTs7CisJCS0tbWVzc2FnZT0qKQorCQkJbWVzc2FnZT0kezEjLS0qPX0KKwkJCTs7CisJCS0tZmlsZW5hbWU9KikKKwkJCWZpbGVuYW1lPSR7MSMtLSo9fQorCQkJOzsKKwkJLS1jb250ZW50cz0qKQorCQkJY29udGVudHM9JHsxIy0tKj19CisJCQk7OworCQktLWlkPSopCisJCQltZXNzYWdlPSIkezEjLS0qPX0gJXMiCisJCQlmaWxlbmFtZT0iJHsxIy0tKj19LSVzLnQiCisJCQljb250ZW50cz0iJHsxIy0tKj19ICVzIgorCQkJOzsKKwkJLSopCisJCQlCVUcgImludmFsaWQgdGVzdF9jb21taXRfYnVsayBvcHRpb246ICQxIgorCQkJOzsKKwkJKikKKwkJCWJyZWFrCisJCQk7OworCQllc2FjCisJCXNoaWZ0CisJZG9uZQorCXRvdGFsPSQxCisKKwlhZGRfZnJvbT0KKwlpZiBnaXQgLUMgIiRpbmRpciIgcmV2LXBhcnNlIC0tcXVpZXQgLS12ZXJpZnkgIiRyZWYiCisJdGhlbgorCQlhZGRfZnJvbT10CisJZmkKKworCXdoaWxlIHRlc3QgIiR0b3RhbCIgLWd0IDAKKwlkbworCQl0ZXN0X3RpY2sgJiYKKwkJZWNobyAiY29tbWl0ICRyZWYiCisJCXByaW50ZiAnYXV0aG9yICVzIDwlcz4gJXNcbicgXAorCQkJIiRHSVRfQVVUSE9SX05BTUUiIFwKKwkJCSIkR0lUX0FVVEhPUl9FTUFJTCIgXAorCQkJIiRHSVRfQVVUSE9SX0RBVEUiCisJCXByaW50ZiAnY29tbWl0dGVyICVzIDwlcz4gJXNcbicgXAorCQkJIiRHSVRfQ09NTUlUVEVSX05BTUUiIFwKKwkJCSIkR0lUX0NPTU1JVFRFUl9FTUFJTCIgXAorCQkJIiRHSVRfQ09NTUlUVEVSX0RBVEUiCisJCWVjaG8gImRhdGEgPDxFT0YiCisJCXByaW50ZiAiJG1lc3NhZ2VcbiIgJG4KKwkJZWNobyAiRU9GIgorCQlpZiB0ZXN0IC1uICIkYWRkX2Zyb20iCisJCXRoZW4KKwkJCWVjaG8gImZyb20gJHJlZl4wIgorCQkJYWRkX2Zyb209CisJCWZpCisJCXByaW50ZiAiTSA2NDQgaW5saW5lICRmaWxlbmFtZVxuIiAkbgorCQllY2hvICJkYXRhIDw8RU9GIgorCQlwcmludGYgIiRjb250ZW50c1xuIiAkbgorCQllY2hvICJFT0YiCisJCWVjaG8KKwkJbj0kKChuICsgMSkpCisJCXRvdGFsPSQoKHRvdGFsIC0gMSkpCisJZG9uZSA+IiR0bXBmaWxlIgorCisJZ2l0IC1DICIkaW5kaXIiIFwKKwkgICAgLWMgZmFzdGltcG9ydC51bnBhY2tsaW1pdD0wIFwKKwkgICAgZmFzdC1pbXBvcnQgPCIkdG1wZmlsZSIgfHwgcmV0dXJuIDEKKworCSMgVGhpcyB3aWxsIGJlIGxlZnQgaW4gcGxhY2Ugb24gZmFpbHVyZSwgd2hpY2ggbWF5IGFpZCBkZWJ1Z2dpbmcuCisJcm0gLWYgIiR0bXBmaWxlIgorCisJIyBJZiB3ZSB1cGRhdGVkIEhFQUQsIHRoZW4gYmUgbmljZSBhbmQgdXBkYXRlIHRoZSBpbmRleCBhbmQgd29ya2luZworCSMgdHJlZSwgdG9vLgorCWlmIHRlc3QgIiRyZWYiID0gIkhFQUQiCisJdGhlbgorCQlnaXQgLUMgIiRpbmRpciIgY2hlY2tvdXQgLWYgSEVBRCB8fCByZXR1cm4gMQorCWZpCisKIH0KIAogIyBUaGlzIGZ1bmN0aW9uIGhlbHBzIHN5c3RlbXMgd2hlcmUgY29yZS5maWxlbW9kZT1mYWxzZSBpcyBzZXQuCkBAIC0zMDIsNiArNDM0LDI2IEBACiB9CiAKIHRlc3Rfc2V0X3ByZXJlcSAoKSB7CisJaWYgdGVzdCAtbiAiJEdJVF9URVNUX0ZBSUxfUFJFUkVRU19JTlRFUk5BTCIKKwl0aGVuCisJCWNhc2UgIiQxIiBpbgorCQkjIFRoZSAiISIgY2FzZSBpcyBoYW5kbGVkIGJlbG93IHdpdGgKKwkJIyB0ZXN0X3Vuc2V0X3ByZXJlcSgpCisJCSEqKQorCQkJOzsKKwkJIyAoVGVtcG9yYXJ5Pykgd2hpdGVsaXN0IG9mIHRoaW5ncyB3ZSBjYW4ndCBlYXNpbHkKKwkJIyBwcmV0ZW5kIG5vdCB0byBzdXBwb3J0CisJCVNZTUxJTktTKQorCQkJOzsKKwkJIyBJbnNwZWN0aW5nIHdoZXRoZXIgR0lUX1RFU1RfRkFJTF9QUkVSRVFTIGlzIG9uCisJCSMgc2hvdWxkIGJlIHVuYWZmZWN0ZWQuCisJCUZBSUxfUFJFUkVRUykKKwkJCTs7CisJCSopCisJCQlyZXR1cm4KKwkJZXNhYworCWZpCisKIAljYXNlICIkMSIgaW4KIAkhKikKIAkJdGVzdF91bnNldF9wcmVyZXEgIiR7MSMhfSIKQEAgLTQzMCw3ICs1ODIsNyBAQAogCWV4cG9ydCB0ZXN0X3ByZXJlcQogCWlmICEgdGVzdF9za2lwICIkQCIKIAl0aGVuCi0JCXNheSA+JjMgImNoZWNraW5nIGtub3duIGJyZWFrYWdlOiAkMiIKKwkJc2F5ID4mMyAiY2hlY2tpbmcga25vd24gYnJlYWthZ2Ugb2YgJFRFU1RfTlVNQkVSLiR0ZXN0X2NvdW50ICckMSc6ICQyIgogCQlpZiB0ZXN0X3J1bl8gIiQyIiBleHBlY3RpbmdfZmFpbHVyZQogCQl0aGVuCiAJCQl0ZXN0X2tub3duX2Jyb2tlbl9va18gIiQxIgpAQCAtNDUwLDcgKzYwMiw3IEBACiAJZXhwb3J0IHRlc3RfcHJlcmVxCiAJaWYgISB0ZXN0X3NraXAgIiRAIgogCXRoZW4KLQkJc2F5ID4mMyAiZXhwZWN0aW5nIHN1Y2Nlc3M6ICQyIgorCQlzYXkgPiYzICJleHBlY3Rpbmcgc3VjY2VzcyBvZiAkVEVTVF9OVU1CRVIuJHRlc3RfY291bnQgJyQxJzogJDIiCiAJCWlmIHRlc3RfcnVuXyAiJDIiCiAJCXRoZW4KIAkJCXRlc3Rfb2tfICIkMSIKQEAgLTU4Niw2ICs3MzgsMTUgQEAKIAlmaQogfQogCisjIENoZWNrIGlmIHRoZSBmaWxlIGV4aXN0cyBhbmQgaGFzIGEgc2l6ZSBncmVhdGVyIHRoYW4gemVybwordGVzdF9maWxlX25vdF9lbXB0eSAoKSB7CisJaWYgISB0ZXN0IC1zICIkMSIKKwl0aGVuCisJCWVjaG8gIickMScgaXMgbm90IGEgbm9uLWVtcHR5IGZpbGUuIgorCQlmYWxzZQorCWZpCit9CisKIHRlc3RfcGF0aF9pc19taXNzaW5nICgpIHsKIAlpZiB0ZXN0IC1lICIkMSIKIAl0aGVuCkBAIC04NTEsMTkgKzEwMTIsMzAgQEAKIAlmaQogfQogCi0jIFRlc3RzIHRoYXQgaXRzIHR3byBwYXJhbWV0ZXJzIHJlZmVyIHRvIHRoZSBzYW1lIHJldmlzaW9uCisjIFRlc3RzIHRoYXQgaXRzIHR3byBwYXJhbWV0ZXJzIHJlZmVyIHRvIHRoZSBzYW1lIHJldmlzaW9uLCBvciBpZiAnIScgaXMKKyMgcHJvdmlkZWQgZmlyc3QsIHRoYXQgaXRzIG90aGVyIHR3byBwYXJhbWV0ZXJzIHJlZmVyIHRvIGRpZmZlcmVudAorIyByZXZpc2lvbnMuCiB0ZXN0X2NtcF9yZXYgKCkgeworCWxvY2FsIG9wPSc9JyB3cm9uZ19yZXN1bHQ9ZGlmZmVyZW50CisKKwlpZiB0ZXN0ICQjIC1nZSAxICYmIHRlc3QgIngkMSIgPSAneCEnCisJdGhlbgorCSAgICBvcD0nIT0nCisJICAgIHdyb25nX3Jlc3VsdD0ndGhlIHNhbWUnCisJICAgIHNoaWZ0CisJZmkKIAlpZiB0ZXN0ICQjICE9IDIKIAl0aGVuCiAJCWVycm9yICJidWcgaW4gdGhlIHRlc3Qgc2NyaXB0OiB0ZXN0X2NtcF9yZXYgcmVxdWlyZXMgdHdvIHJldmlzaW9ucywgYnV0IGdvdCAkIyIKIAllbHNlCiAJCWxvY2FsIHIxIHIyCiAJCXIxPSQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSAiJDEiKSAmJgotCQlyMj0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgIiQyIikgJiYKLQkJaWYgdGVzdCAiJHIxIiAhPSAiJHIyIgorCQlyMj0kKGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgIiQyIikgfHwgcmV0dXJuIDEKKworCQlpZiAhIHRlc3QgIiRyMSIgIiRvcCIgIiRyMiIKIAkJdGhlbgogCQkJY2F0ID4mNCA8PC1FT0YKLQkJCWVycm9yOiB0d28gcmV2aXNpb25zIHBvaW50IHRvIGRpZmZlcmVudCBvYmplY3RzOgorCQkJZXJyb3I6IHR3byByZXZpc2lvbnMgcG9pbnQgdG8gJHdyb25nX3Jlc3VsdCBvYmplY3RzOgogCQkJICAnJDEnOiAkcjEKIAkJCSAgJyQyJzogJHIyCiAJCQlFT0YKQEAgLTg3Miw2ICsxMDQ0LDIxIEBACiAJZmkKIH0KIAorIyBDb21wYXJlIHBhdGhzIHJlc3BlY3RpbmcgY29yZS5pZ25vcmVDYXNlCit0ZXN0X2NtcF9mc3BhdGggKCkgeworCWlmIHRlc3QgIngkMSIgPSAieCQyIgorCXRoZW4KKwkJcmV0dXJuIDAKKwlmaQorCisJaWYgdGVzdCB0cnVlICE9ICIkKGdpdCBjb25maWcgLS1nZXQgLS10eXBlPWJvb2wgY29yZS5pZ25vcmVjYXNlKSIKKwl0aGVuCisJCXJldHVybiAxCisJZmkKKworCXRlc3QgIngkKGVjaG8gIiQxIiB8IHRyIEEtWiBhLXopIiA9ICAieCQoZWNobyAiJDIiIHwgdHIgQS1aIGEteikiCit9CisKICMgUHJpbnQgYSBzZXF1ZW5jZSBvZiBpbnRlZ2VycyBpbiBpbmNyZWFzaW5nIG9yZGVyLCBlaXRoZXIgd2l0aAogIyB0d28gYXJndW1lbnRzIChzdGFydCBhbmQgZW5kKToKICMKQEAgLTkyNyw2ICsxMTE0LDM0IEBACiAJCX0gJiYgKGV4aXQgXCJcJGV2YWxfcmV0XCIpOyBldmFsX3JldD1cJD87ICR0ZXN0X2NsZWFudXAiCiB9CiAKKyMgVGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byBzY2hlZHVsZSBzb21lIGNvbW1hbmRzIHRvIGJlIHJ1bgorIyB1bmNvbmRpdGlvbmFsbHkgYXQgdGhlIGVuZCBvZiB0aGUgdGVzdCBzY3JpcHQsIGUuZy4gdG8gc3RvcCBhIGRhZW1vbjoKKyMKKyMJdGVzdF9leHBlY3Rfc3VjY2VzcyAndGVzdCBnaXQgZGFlbW9uJyAnCisjCQlnaXQgZGFlbW9uICYKKyMJCWRhZW1vbl9waWQ9JCEgJiYKKyMJCXRlc3RfYXRleGl0ICdraWxsICRkYWVtb25fcGlkJyAmJgorIwkJaGVsbG8gd29ybGQKKyMJJworIworIyBUaGUgY29tbWFuZHMgd2lsbCBiZSBleGVjdXRlZCBiZWZvcmUgdGhlIHRyYXNoIGRpcmVjdG9yeSBpcyByZW1vdmVkLAorIyBpLmUuIHRoZSBhdGV4aXQgY29tbWFuZHMgd2lsbCBzdGlsbCBiZSBhYmxlIHRvIGFjY2VzcyBhbnkgcGlkZmlsZXMgb3IKKyMgc29ja2V0IGZpbGVzLgorIworIyBOb3RlIHRoYXQgdGhlc2UgY29tbWFuZHMgd2lsbCBiZSBydW4gZXZlbiB3aGVuIGEgdGVzdCBzY3JpcHQgcnVuCisjIHdpdGggJy0taW1tZWRpYXRlJyBmYWlscy4gIEJlIGNhcmVmdWwgd2l0aCB5b3VyIGF0ZXhpdCBjb21tYW5kcyB0bworIyBtaW5pbWl6ZSBhbnkgY2hhbmdlcyB0byB0aGUgZmFpbGVkIHN0YXRlLgorCit0ZXN0X2F0ZXhpdCAoKSB7CisJIyBXZSBjYW5ub3QgZGV0ZWN0IHdoZW4gd2UgYXJlIGluIGEgc3Vic2hlbGwgaW4gZ2VuZXJhbCwgYnV0IGJ5CisJIyBkb2luZyBzbyBvbiBCYXNoIGlzIGJldHRlciB0aGFuIG5vdGhpbmcgKHRoZSB0ZXN0IHdpbGwKKwkjIHNpbGVudGx5IHBhc3Mgb24gb3RoZXIgc2hlbGxzKS4KKwl0ZXN0ICIke0JBU0hfU1VCU0hFTEwtMH0iID0gMCB8fAorCWVycm9yICJidWcgaW4gdGVzdCBzY3JpcHQ6IHRlc3RfYXRleGl0IGRvZXMgbm90aGluZyBpbiBhIHN1YnNoZWxsIgorCXRlc3RfYXRleGl0X2NsZWFudXA9InsgJCoKKwkJfSAmJiAoZXhpdCBcIlwkZXZhbF9yZXRcIik7IGV2YWxfcmV0PVwkPzsgJHRlc3RfYXRleGl0X2NsZWFudXAiCit9CisKICMgTW9zdCB0ZXN0cyBjYW4gdXNlIHRoZSBjcmVhdGVkIHJlcG9zaXRvcnksIGJ1dCBzb21lIG1heSBuZWVkIHRvIGNyZWF0ZSBtb3JlLgogIyBVc2FnZTogdGVzdF9jcmVhdGVfcmVwbyA8ZGlyZWN0b3J5PgogdGVzdF9jcmVhdGVfcmVwbyAoKSB7CkBAIC05NzEsNjIgKzExODYsNDggQEAKIAljb21tYW5kICIkUEVSTF9QQVRIIiAiJEAiIDI+JjcKIH0gNz4mMiAyPiY0CiAKLSMgSXMgdGhlIHZhbHVlIG9uZSBvZiB0aGUgdmFyaW91cyB3YXlzIHRvIHNwZWxsIGEgYm9vbGVhbiB0cnVlL2ZhbHNlPwotdGVzdF9ub3JtYWxpemVfYm9vbCAoKSB7Ci0JZ2l0IC1jIG1hZ2ljLnZhcmlhYmxlPSIkMSIgY29uZmlnIC0tYm9vbCBtYWdpYy52YXJpYWJsZSAyPi9kZXYvbnVsbAotfQorIyBHaXZlbiB0aGUgbmFtZSBvZiBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB3aXRoIGEgYm9vbCB2YWx1ZSwgbm9ybWFsaXplCisjIGl0cyB2YWx1ZSB0byBhIDAgKHRydWUpIG9yIDEgKGZhbHNlIG9yIGVtcHR5IHN0cmluZykgcmV0dXJuIGNvZGUuCisjCisjICAgdGVzdF9ib29sX2VudiBHSVRfVEVTVF9IVFRQRCA8ZGVmYXVsdC12YWx1ZT4KKyMKKyMgUmV0dXJuIHdpdGggY29kZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBnaXZlbiBkZWZhdWx0IHZhbHVlIGlmIHRoZSB2YXJpYWJsZQorIyBpcyB1bnNldC4KKyMgQWJvcnQgdGhlIHRlc3Qgc2NyaXB0IGlmIGVpdGhlciB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIG9yIHRoZSBkZWZhdWx0CisjIGFyZSBub3QgdmFsaWQgYm9vbCB2YWx1ZXMuCiAKLSMgR2l2ZW4gYSB2YXJpYWJsZSAkMSwgbm9ybWFsaXplIHRoZSB2YWx1ZSBvZiBpdCB0byBvbmUgb2YgInRydWUiLAotIyAiZmFsc2UiLCBvciAiYXV0byIgYW5kIHN0b3JlIHRoZSByZXN1bHQgdG8gaXQuCi0jCi0jICAgICB0ZXN0X3RyaXN0YXRlIEdJVF9URVNUX0hUVFBECi0jCi0jIEEgdmFyaWFibGUgc2V0IHRvIGFuIGVtcHR5IHN0cmluZyBpcyBzZXQgdG8gJ2ZhbHNlJy4KLSMgQSB2YXJpYWJsZSBzZXQgdG8gJ2ZhbHNlJyBvciAnYXV0bycga2VlcHMgaXRzIHZhbHVlLgotIyBBbnl0aGluZyBlbHNlIGlzIHNldCB0byAndHJ1ZScuCi0jIEFuIHVuc2V0IHZhcmlhYmxlIGRlZmF1bHRzIHRvICdhdXRvJy4KLSMKLSMgVGhlIGxhc3QgcnVsZSBpcyB0byBhbGxvdyBwZW9wbGUgdG8gc2V0IHRoZSB2YXJpYWJsZSB0byBhbiBlbXB0eQotIyBzdHJpbmcgYW5kIGV4cG9ydCBpdCB0byBkZWNsaW5lIHRlc3RpbmcgdGhlIHBhcnRpY3VsYXIgZmVhdHVyZQotIyBmb3IgdmVyc2lvbnMgYm90aCBiZWZvcmUgYW5kIGFmdGVyIHRoaXMgY2hhbmdlLiAgV2UgdXNlZCB0byB0cmVhdAotIyBib3RoIHVuc2V0IGFuZCBlbXB0eSB2YXJpYWJsZSBhcyBhIHNpZ25hbCBmb3IgImRvIG5vdCB0ZXN0IiBhbmQKLSMgdG9vayBhbnkgbm9uLWVtcHR5IHN0cmluZyBhcyAicGxlYXNlIHRlc3QiLgotCi10ZXN0X3RyaXN0YXRlICgpIHsKLQlpZiBldmFsICJ0ZXN0IHhcIlwkeyQxK2lzc2V0fVwiID0geGlzc2V0IgordGVzdF9ib29sX2VudiAoKSB7CisJaWYgdGVzdCAkIyAhPSAyCiAJdGhlbgotCQkjIGV4cGxpY2l0bHkgc2V0Ci0JCWV2YWwgIgotCQkJY2FzZSBcIlwkJDFcIiBpbgotCQkJJycpCSQxPWZhbHNlIDs7Ci0JCQlhdXRvKQk7OwotCQkJKikJJDE9XCQodGVzdF9ub3JtYWxpemVfYm9vbCBcJCQxIHx8IGVjaG8gdHJ1ZSkgOzsKLQkJCWVzYWMKLQkJIgotCWVsc2UKLQkJZXZhbCAiJDE9YXV0byIKKwkJQlVHICJ0ZXN0X2Jvb2xfZW52IHJlcXVpcmVzIHR3byBwYXJhbWV0ZXJzICh2YXJpYWJsZSBuYW1lIGFuZCBkZWZhdWx0IHZhbHVlKSIKIAlmaQorCisJZ2l0IGVudi0taGVscGVyIC0tdHlwZT1ib29sIC0tZGVmYXVsdD0iJDIiIC0tZXhpdC1jb2RlICIkMSIKKwlyZXQ9JD8KKwljYXNlICRyZXQgaW4KKwkwfDEpCSMgdW5zZXQgb3IgdmFsaWQgYm9vbCB2YWx1ZQorCQk7OworCSopCSMgaW52YWxpZCBib29sIHZhbHVlIG9yIHNvbWV0aGluZyB1bmV4cGVjdGVkCisJCWVycm9yID4mNyAidGVzdF9ib29sX2VudiByZXF1aXJlcyBib29sIHZhbHVlcyBib3RoIGZvciBcJCQxIGFuZCBmb3IgdGhlIGRlZmF1bHQgZmFsbGJhY2siCisJCTs7CisJZXNhYworCXJldHVybiAkcmV0CiB9CiAKICMgRXhpdCB0aGUgdGVzdCBzdWl0ZSwgZWl0aGVyIGJ5IHNraXBwaW5nIGFsbCByZW1haW5pbmcgdGVzdHMgb3IgYnkKLSMgZXhpdGluZyB3aXRoIGFuIGVycm9yLiBJZiAiJDEiIGlzICJhdXRvIiwgd2UgdGhlbiB3ZSBhc3N1bWUgd2Ugd2VyZQotIyBvcHBvcnR1bmlzdGljYWxseSB0cnlpbmcgdG8gc2V0IHVwIHNvbWUgdGVzdHMgYW5kIHdlIHNraXAuIElmIGl0IGlzCi0jICJ0cnVlIiwgdGhlbiB3ZSByZXBvcnQgYSBmYWlsdXJlLgorIyBleGl0aW5nIHdpdGggYW4gZXJyb3IuIElmIG91ciBwcmVyZXF1aXNpdGUgdmFyaWFibGUgJDEgZmFsbHMgYmFjaworIyBvbiBhIGRlZmF1bHQgYXNzdW1lIHdlIHdlcmUgb3Bwb3J0dW5pc3RpY2FsbHkgdHJ5aW5nIHRvIHNldCB1cCBzb21lCisjIHRlc3RzIGFuZCB3ZSBza2lwLiBJZiBpdCBpcyBleHBsaWNpdGx5ICJ0cnVlIiwgdGhlbiB3ZSByZXBvcnQgYSBmYWlsdXJlLgogIwogIyBUaGUgZXJyb3Ivc2tpcCBtZXNzYWdlIHNob3VsZCBiZSBnaXZlbiBieSAkMi4KICMKIHRlc3Rfc2tpcF9vcl9kaWUgKCkgewotCWNhc2UgIiQxIiBpbgotCWF1dG8pCisJaWYgISB0ZXN0X2Jvb2xfZW52ICIkMSIgZmFsc2UKKwl0aGVuCiAJCXNraXBfYWxsPSQyCiAJCXRlc3RfZG9uZQotCQk7OwotCXRydWUpCi0JCWVycm9yICIkMiIKLQkJOzsKLQkqKQotCQllcnJvciAiQlVHOiB0ZXN0IHRyaXN0YXRlIGlzICckMScgKHJlYWwgZXJyb3I6ICQyKSIKLQllc2FjCisJZmkKKwllcnJvciAiJDIiCiB9CiAKICMgVGhlIGZvbGxvd2luZyBtaW5nd18qIGZ1bmN0aW9ucyBvYmV5IFBPU0lYIHNoZWxsIHN5bnRheCwgYnV0IGFyZSBhY3R1YWxseQpAQCAtMTE5NSw2ICsxMzk2LDEyIEBACiAJJwogfQogCisjIENvbnZlcnRzIGJhc2UtMTYgZGF0YSBpbnRvIGJhc2UtOC4gVGhlIG91dHB1dCBpcyBnaXZlbiBhcyBhIHNlcXVlbmNlIG9mCisjIGVzY2FwZWQgb2N0YWxzLCBzdWl0YWJsZSBmb3IgY29uc3VtcHRpb24gYnkgJ3ByaW50ZicuCitoZXgyb2N0ICgpIHsKKwlwZXJsIC1uZSAncHJpbnRmICJcXCUwM28iLCBoZXggZm9yIC8uLi9nJworfQorCiAjIFNldCB0aGUgaGFzaCBhbGdvcml0aG0gaW4gdXNlIHRvICQxLiAgT25seSB1c2VmdWwgd2hlbiB0ZXN0aW5nIHRoZSB0ZXN0c3VpdGUuCiB0ZXN0X3NldF9oYXNoICgpIHsKIAl0ZXN0X2hhc2hfYWxnbz0iJDEiCkBAIC0xMjYzLDMgKzE0NzAsNzYgQEAKIAlmaSAmJgogCWV2YWwgInByaW50ZiAnJXMnIFwiXCR7JHZhcn1cIiIKIH0KKworIyBJbnNlcnQgYSBzbGFzaCBpbnRvIGFuIG9iamVjdCBJRCBzbyBpdCBjYW4gYmUgdXNlZCB0byByZWZlcmVuY2UgYSBsb2NhdGlvbgorIyB1bmRlciAiLmdpdC9vYmplY3RzIi4gIEZvciBleGFtcGxlLCAiZGVhZGJlZWYuLi4iIGJlY29tZXMgImRlL2FkYmVlZi4uIi4KK3Rlc3Rfb2lkX3RvX3BhdGggKCkgeworCWxvY2FsIGJhc2VuYW1lPSR7MSM/P30KKwllY2hvICIkezElJGJhc2VuYW1lfS8kYmFzZW5hbWUiCit9CisKKyMgQ2hvb3NlIGEgcG9ydCBudW1iZXIgYmFzZWQgb24gdGhlIHRlc3Qgc2NyaXB0J3MgbnVtYmVyIGFuZCBzdG9yZSBpdCBpbgorIyB0aGUgZ2l2ZW4gdmFyaWFibGUgbmFtZSwgdW5sZXNzIHRoYXQgdmFyaWFibGUgYWxyZWFkeSBjb250YWlucyBhIG51bWJlci4KK3Rlc3Rfc2V0X3BvcnQgKCkgeworCWxvY2FsIHZhcj0kMSBwb3J0CisKKwlpZiB0ZXN0ICQjIC1uZSAxIHx8IHRlc3QgLXogIiR2YXIiCisJdGhlbgorCQlCVUcgInRlc3Rfc2V0X3BvcnQgcmVxdWlyZXMgYSB2YXJpYWJsZSBuYW1lIgorCWZpCisKKwlldmFsIHBvcnQ9XCQkdmFyCisJY2FzZSAiJHBvcnQiIGluCisJIiIpCisJCSMgTm8gcG9ydCBpcyBzZXQgaW4gdGhlIGdpdmVuIGVudiB2YXIsIHVzZSB0aGUgdGVzdAorCQkjIG51bWJlciBhcyBwb3J0IG51bWJlciBpbnN0ZWFkLgorCQkjIFJlbW92ZSBub3Qgb25seSB0aGUgbGVhZGluZyAndCcsIGJ1dCBhbGwgbGVhZGluZyB6ZXJvcworCQkjIGFzIHdlbGwsIHNvIHRoZSBhcml0aG1ldGljIGJlbG93IHdvbid0IChtaXMpaW50ZXJwcmV0CisJCSMgYSB0ZXN0IG51bWJlciBsaWtlICcwMTIzJyBhcyBhbiBvY3RhbCB2YWx1ZS4KKwkJcG9ydD0ke3RoaXNfdGVzdCMke3RoaXNfdGVzdCUlWzEtOV0qfX0KKwkJaWYgdGVzdCAiJHtwb3J0Oi0wfSIgLWx0IDEwMjQKKwkJdGhlbgorCQkJIyByb290LW9ubHkgcG9ydCwgdXNlIGEgbGFyZ2VyIG9uZSBpbnN0ZWFkLgorCQkJcG9ydD0kKCgkcG9ydCArIDEwMDAwKSkKKwkJZmkKKwkJOzsKKwkqWyEwLTldKnwwKikKKwkJZXJyb3IgPiY3ICJpbnZhbGlkIHBvcnQgbnVtYmVyOiAkcG9ydCIKKwkJOzsKKwkqKQorCQkjIFRoZSB1c2VyIGhhcyBzcGVjaWZpZWQgdGhlIHBvcnQuCisJCTs7CisJZXNhYworCisJIyBNYWtlIHN1cmUgdGhhdCBwYXJhbGxlbCAnLS1zdHJlc3MnIHRlc3Qgam9icyBnZXQgZGlmZmVyZW50CisJIyBwb3J0cy4KKwlwb3J0PSQoKCRwb3J0ICsgJHtHSVRfVEVTVF9TVFJFU1NfSk9CX05SOi0wfSkpCisJZXZhbCAkdmFyPSRwb3J0Cit9CisKKyMgQ29tcGFyZSBhIGZpbGUgY29udGFpbmluZyByZXYtbGlzdCBiaXRtYXAgdHJhdmVyc2FsIG91dHB1dCB0byBpdHMgbm9uLWJpdG1hcAorIyBjb3VudGVycGFydC4gWW91IGNhbid0IGp1c3QgdXNlIHRlc3RfY21wIGZvciB0aGlzLCBiZWNhdXNlIHRoZSB0d28gcHJvZHVjZQorIyBzdWJ0bHkgZGlmZmVyZW50IG91dHB1dDoKKyMKKyMgICAtIHJlZ3VsYXIgb3V0cHV0IGlzIGluIHRyYXZlcnNhbCBvcmRlciwgd2hlcmVhcyBiaXRtYXAgaXMgc3BsaXQgYnkgdHlwZSwKKyMgICAgIHdpdGggbm9uLXBhY2tlZCBvYmplY3RzIGF0IHRoZSBlbmQKKyMKKyMgICAtIHJlZ3VsYXIgb3V0cHV0IGhhcyBhIHNwYWNlIGFuZCB0aGUgcGF0aG5hbWUgYXBwZW5kZWQgdG8gbm9uLWNvbW1pdAorIyAgICAgb2JqZWN0czsgYml0bWFwIG91dHB1dCBvbWl0cyB0aGlzCisjCisjIFRoaXMgZnVuY3Rpb24gbm9ybWFsaXplcyBhbmQgY29tcGFyZXMgdGhlIHR3by4gVGhlIHNlY29uZCBmaWxlIHNob3VsZAorIyBhbHdheXMgYmUgdGhlIGJpdG1hcCBvdXRwdXQuCit0ZXN0X2JpdG1hcF90cmF2ZXJzYWwgKCkgeworCWlmIHRlc3QgIiQxIiA9ICItLW5vLWNvbmZpcm0tYml0bWFwcyIKKwl0aGVuCisJCXNoaWZ0CisJZWxpZiBjbXAgIiQxIiAiJDIiCisJdGhlbgorCQllY2hvID4mMiAiaWRlbnRpY2FsIHJhdyBvdXRwdXRzOyBhcmUgeW91IHN1cmUgYml0bWFwcyB3ZXJlIHVzZWQ/IgorCQlyZXR1cm4gMQorCWZpICYmCisJY3V0IC1kJyAnIC1mMSAiJDEiIHwgc29ydCA+IiQxLm5vcm1hbGl6ZWQiICYmCisJc29ydCAiJDIiID4iJDIubm9ybWFsaXplZCIgJiYKKwl0ZXN0X2NtcCAiJDEubm9ybWFsaXplZCIgIiQyLm5vcm1hbGl6ZWQiICYmCisJcm0gLWYgIiQxLm5vcm1hbGl6ZWQiICIkMi5ub3JtYWxpemVkIgorfQpkaWZmIC0tZ2l0IGEvdC90ZXN0LWxpYi5zaCBiL3QvdGVzdC1saWIuc2gKaW5kZXggMGYxZmFhMi4uMGVhMWU1YSAxMDA2NDQKLS0tIGEvdC90ZXN0LWxpYi5zaAorKysgYi90L3Rlc3QtbGliLnNoCkBAIC01Nyw2ICs1NywxMyBAQAogLiAiJEdJVF9CVUlMRF9ESVIiL0dJVC1CVUlMRC1PUFRJT05TCiBleHBvcnQgUEVSTF9QQVRIIFNIRUxMX1BBVEgKIAorIyBEaXNhbGxvdyB0aGUgdXNlIG9mIGFiYnJldmlhdGVkIG9wdGlvbnMgaW4gdGhlIHRlc3Qgc3VpdGUgYnkgZGVmYXVsdAoraWYgdGVzdCAteiAiJHtHSVRfVEVTVF9ESVNBTExPV19BQkJSRVZJQVRFRF9PUFRJT05TfSIKK3RoZW4KKwlHSVRfVEVTVF9ESVNBTExPV19BQkJSRVZJQVRFRF9PUFRJT05TPXRydWUKKwlleHBvcnQgR0lUX1RFU1RfRElTQUxMT1dfQUJCUkVWSUFURURfT1BUSU9OUworZmkKKwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBJdCBhcHBlYXJzIHRoYXQgcGVvcGxlIHRyeSB0byBydW4gdGVzdHMgd2l0aG91dCBidWlsZGluZy4uLgogIiR7R0lUX1RFU1RfSU5TVEFMTEVEOi0kR0lUX0JVSUxEX0RJUn0vZ2l0JFgiID4vZGV2L251bGwKQEAgLTcxLDE5ICs3OCwyNTAgQEAKIAlleGl0IDEKIGZpCiAKKyMgUGFyc2Ugb3B0aW9ucyB3aGlsZSB0YWtpbmcgY2FyZSB0byBsZWF2ZSAkQCBpbnRhY3QsIHNvIHdlIHdpbGwgc3RpbGwKKyMgaGF2ZSBhbGwgdGhlIG9yaWdpbmFsIGNvbW1hbmQgbGluZSBvcHRpb25zIHdoZW4gZXhlY3V0aW5nIHRoZSB0ZXN0CisjIHNjcmlwdCBhZ2FpbiBmb3IgJy0tdGVlJyBhbmQgJy0tdmVyYm9zZS1sb2cnIGJlbG93Lgorc3RvcmVfYXJnX3RvPQorcHJldl9vcHQ9Citmb3Igb3B0CitkbworCWlmIHRlc3QgLW4gIiRzdG9yZV9hcmdfdG8iCisJdGhlbgorCQlldmFsICRzdG9yZV9hcmdfdG89XCRvcHQKKwkJc3RvcmVfYXJnX3RvPQorCQlwcmV2X29wdD0KKwkJY29udGludWUKKwlmaQorCisJY2FzZSAiJG9wdCIgaW4KKwktZHwtLWR8LS1kZXwtLWRlYnwtLWRlYnV8LS1kZWJ1ZykKKwkJZGVidWc9dCA7OworCS1pfC0taXwtLWltfC0taW1tfC0taW1tZXwtLWltbWVkfC0taW1tZWRpfC0taW1tZWRpYXwtLWltbWVkaWF0fC0taW1tZWRpYXRlKQorCQlpbW1lZGlhdGU9dCA7OworCS1sfC0tbHwtLWxvfC0tbG9ufC0tbG9uZ3wtLWxvbmctfC0tbG9uZy10fC0tbG9uZy10ZXwtLWxvbmctdGVzfC0tbG9uZy10ZXN0fC0tbG9uZy10ZXN0cykKKwkJR0lUX1RFU1RfTE9ORz10OyBleHBvcnQgR0lUX1RFU1RfTE9ORyA7OworCS1yKQorCQlzdG9yZV9hcmdfdG89cnVuX2xpc3QKKwkJOzsKKwktLXJ1bj0qKQorCQlydW5fbGlzdD0ke29wdCMtLSo9fSA7OworCS1ofC0taHwtLWhlfC0taGVsfC0taGVscCkKKwkJaGVscD10IDs7CisJLXZ8LS12fC0tdmV8LS12ZXJ8LS12ZXJifC0tdmVyYm98LS12ZXJib3N8LS12ZXJib3NlKQorCQl2ZXJib3NlPXQgOzsKKwktLXZlcmJvc2Utb25seT0qKQorCQl2ZXJib3NlX29ubHk9JHtvcHQjLS0qPX0KKwkJOzsKKwktcXwtLXF8LS1xdXwtLXF1aXwtLXF1aWV8LS1xdWlldCkKKwkJIyBJZ25vcmUgLS1xdWlldCB1bmRlciBhIFRBUDo6SGFybmVzcy4gU2F5aW5nIGhvdyBtYW55IHRlc3RzCisJCSMgcGFzc2VkIHdpdGhvdXQgdGhlIG9rL25vdCBvayBkZXRhaWxzIGlzIGFsd2F5cyBhbiBlcnJvci4KKwkJdGVzdCAteiAiJEhBUk5FU1NfQUNUSVZFIiAmJiBxdWlldD10IDs7CisJLS13aXRoLWRhc2hlcykKKwkJd2l0aF9kYXNoZXM9dCA7OworCS0tbm8tYmluLXdyYXBwZXJzKQorCQlub19iaW5fd3JhcHBlcnM9dCA7OworCS0tbm8tY29sb3IpCisJCWNvbG9yPSA7OworCS0tdmF8LS12YWx8LS12YWxnfC0tdmFsZ3J8LS12YWxncml8LS12YWxncmlufC0tdmFsZ3JpbmQpCisJCXZhbGdyaW5kPW1lbWNoZWNrCisJCXRlZT10CisJCTs7CisJLS12YWxncmluZD0qKQorCQl2YWxncmluZD0ke29wdCMtLSo9fQorCQl0ZWU9dAorCQk7OworCS0tdmFsZ3JpbmQtb25seT0qKQorCQl2YWxncmluZF9vbmx5PSR7b3B0Iy0tKj19CisJCXRlZT10CisJCTs7CisJLS10ZWUpCisJCXRlZT10IDs7CisJLS1yb290PSopCisJCXJvb3Q9JHtvcHQjLS0qPX0gOzsKKwktLWNoYWluLWxpbnQpCisJCUdJVF9URVNUX0NIQUlOX0xJTlQ9MSA7OworCS0tbm8tY2hhaW4tbGludCkKKwkJR0lUX1RFU1RfQ0hBSU5fTElOVD0wIDs7CisJLXgpCisJCXRyYWNlPXQgOzsKKwktVnwtLXZlcmJvc2UtbG9nKQorCQl2ZXJib3NlX2xvZz10CisJCXRlZT10CisJCTs7CisJLS13cml0ZS1qdW5pdC14bWwpCisJCXdyaXRlX2p1bml0X3htbD10CisJCTs7CisJLS1zdHJlc3MpCisJCXN0cmVzcz10IDs7CisJLS1zdHJlc3M9KikKKwkJZWNobyAiZXJyb3I6IC0tc3RyZXNzIGRvZXMgbm90IGFjY2VwdCBhbiBhcmd1bWVudDogJyRvcHQnIiA+JjIKKwkJZWNobyAiZGlkIHlvdSBtZWFuIC0tc3RyZXNzLWpvYnM9JHtvcHQjKj19IG9yIC0tc3RyZXNzLWxpbWl0PSR7b3B0Iyo9fT8iID4mMgorCQlleGl0IDEKKwkJOzsKKwktLXN0cmVzcy1qb2JzPSopCisJCXN0cmVzcz10OworCQlzdHJlc3M9JHtvcHQjLS0qPX0KKwkJY2FzZSAiJHN0cmVzcyIgaW4KKwkJKlshMC05XSp8MCp8IiIpCisJCQllY2hvICJlcnJvcjogLS1zdHJlc3Mtam9icz08Tj4gcmVxdWlyZXMgdGhlIG51bWJlciBvZiBqb2JzIHRvIHJ1biIgPiYyCisJCQlleGl0IDEKKwkJCTs7CisJCSopCSMgR29vZC4KKwkJCTs7CisJCWVzYWMKKwkJOzsKKwktLXN0cmVzcy1saW1pdD0qKQorCQlzdHJlc3M9dDsKKwkJc3RyZXNzX2xpbWl0PSR7b3B0Iy0tKj19CisJCWNhc2UgIiRzdHJlc3NfbGltaXQiIGluCisJCSpbITAtOV0qfDAqfCIiKQorCQkJZWNobyAiZXJyb3I6IC0tc3RyZXNzLWxpbWl0PTxOPiByZXF1aXJlcyB0aGUgbnVtYmVyIG9mIHJlcGV0aXRpb25zIiA+JjIKKwkJCWV4aXQgMQorCQkJOzsKKwkJKikJIyBHb29kLgorCQkJOzsKKwkJZXNhYworCQk7OworCSopCisJCWVjaG8gImVycm9yOiB1bmtub3duIHRlc3Qgb3B0aW9uICckb3B0JyIgPiYyOyBleGl0IDEgOzsKKwllc2FjCisKKwlwcmV2X29wdD0kb3B0Citkb25lCitpZiB0ZXN0IC1uICIkc3RvcmVfYXJnX3RvIgordGhlbgorCWVjaG8gImVycm9yOiAkcHJldl9vcHQgcmVxdWlyZXMgYW4gYXJndW1lbnQiID4mMgorCWV4aXQgMQorZmkKKworaWYgdGVzdCAtbiAiJHZhbGdyaW5kX29ubHkiCit0aGVuCisJdGVzdCAteiAiJHZhbGdyaW5kIiAmJiB2YWxncmluZD1tZW1jaGVjaworCXRlc3QgLXogIiR2ZXJib3NlIiAmJiB2ZXJib3NlX29ubHk9IiR2YWxncmluZF9vbmx5IgorZWxpZiB0ZXN0IC1uICIkdmFsZ3JpbmQiCit0aGVuCisJdGVzdCAteiAiJHZlcmJvc2VfbG9nIiAmJiB2ZXJib3NlPXQKK2ZpCisKK2lmIHRlc3QgLW4gIiRzdHJlc3MiCit0aGVuCisJdmVyYm9zZT10CisJdHJhY2U9dAorCWltbWVkaWF0ZT10CitmaQorCitURVNUX1NUUkVTU19KT0JfU0ZYPSIke0dJVF9URVNUX1NUUkVTU19KT0JfTlI6Ky5zdHJlc3MtJEdJVF9URVNUX1NUUkVTU19KT0JfTlJ9IgorVEVTVF9OQU1FPSIkKGJhc2VuYW1lICIkMCIgLnNoKSIKK1RFU1RfTlVNQkVSPSIke1RFU1RfTkFNRSUlLSp9IgorVEVTVF9OVU1CRVI9IiR7VEVTVF9OVU1CRVIjdH0iCitURVNUX1JFU1VMVFNfRElSPSIkVEVTVF9PVVRQVVRfRElSRUNUT1JZL3Rlc3QtcmVzdWx0cyIKK1RFU1RfUkVTVUxUU19CQVNFPSIkVEVTVF9SRVNVTFRTX0RJUi8kVEVTVF9OQU1FJFRFU1RfU1RSRVNTX0pPQl9TRlgiCitUUkFTSF9ESVJFQ1RPUlk9InRyYXNoIGRpcmVjdG9yeS4kVEVTVF9OQU1FJFRFU1RfU1RSRVNTX0pPQl9TRlgiCit0ZXN0IC1uICIkcm9vdCIgJiYgVFJBU0hfRElSRUNUT1JZPSIkcm9vdC8kVFJBU0hfRElSRUNUT1JZIgorY2FzZSAiJFRSQVNIX0RJUkVDVE9SWSIgaW4KKy8qKSA7OyAjIGFic29sdXRlIHBhdGggaXMgZ29vZAorICopIFRSQVNIX0RJUkVDVE9SWT0iJFRFU1RfT1VUUFVUX0RJUkVDVE9SWS8kVFJBU0hfRElSRUNUT1JZIiA7OworZXNhYworCisjIElmIC0tc3RyZXNzIHdhcyBwYXNzZWQsIHJ1biB0aGlzIHRlc3QgcmVwZWF0ZWRseSBpbiBzZXZlcmFsIHBhcmFsbGVsIGxvb3BzLgoraWYgdGVzdCAiJEdJVF9URVNUX1NUUkVTU19TVEFSVEVEIiA9ICJkb25lIgordGhlbgorCTogIyBEb24ndCBzdHJlc3MgdGVzdCBhZ2Fpbi4KK2VsaWYgdGVzdCAtbiAiJHN0cmVzcyIKK3RoZW4KKwlpZiB0ZXN0ICIkc3RyZXNzIiAhPSB0CisJdGhlbgorCQlqb2JfY291bnQ9JHN0cmVzcworCWVsaWYgdGVzdCAtbiAiJEdJVF9URVNUX1NUUkVTU19MT0FEIgorCXRoZW4KKwkJam9iX2NvdW50PSIkR0lUX1RFU1RfU1RSRVNTX0xPQUQiCisJZWxpZiBqb2JfY291bnQ9JChnZXRjb25mIF9OUFJPQ0VTU09SU19PTkxOIDI+L2Rldi9udWxsKSAmJgorCSAgICAgdGVzdCAtbiAiJGpvYl9jb3VudCIKKwl0aGVuCisJCWpvYl9jb3VudD0kKCgyICogJGpvYl9jb3VudCkpCisJZWxzZQorCQlqb2JfY291bnQ9OAorCWZpCisKKwlta2RpciAtcCAiJFRFU1RfUkVTVUxUU19ESVIiCisJc3RyZXNzZmFpbD0iJFRFU1RfUkVTVUxUU19CQVNFLnN0cmVzcy1mYWlsZWQiCisJcm0gLWYgIiRzdHJlc3NmYWlsIgorCisJc3RyZXNzX2V4aXQ9MAorCXRyYXAgJworCQlraWxsICRqb2JfcGlkcyAyPi9kZXYvbnVsbAorCQl3YWl0CisJCXN0cmVzc19leGl0PTEKKwknIFRFUk0gSU5UIEhVUAorCisJam9iX3BpZHM9CisJam9iX25yPTAKKwl3aGlsZSB0ZXN0ICRqb2JfbnIgLWx0ICIkam9iX2NvdW50IgorCWRvCisJCSgKKwkJCUdJVF9URVNUX1NUUkVTU19TVEFSVEVEPWRvbmUKKwkJCUdJVF9URVNUX1NUUkVTU19KT0JfTlI9JGpvYl9ucgorCQkJZXhwb3J0IEdJVF9URVNUX1NUUkVTU19TVEFSVEVEIEdJVF9URVNUX1NUUkVTU19KT0JfTlIKKworCQkJdHJhcCAnCisJCQkJa2lsbCAkdGVzdF9waWQgMj4vZGV2L251bGwKKwkJCQl3YWl0CisJCQkJZXhpdCAxCisJCQknIFRFUk0gSU5UCisKKwkJCWNudD0xCisJCQl3aGlsZSAhIHRlc3QgLWUgIiRzdHJlc3NmYWlsIiAmJgorCQkJICAgICAgeyB0ZXN0IC16ICIkc3RyZXNzX2xpbWl0IiB8fAorCQkJCXRlc3QgJGNudCAtbGUgJHN0cmVzc19saW1pdCA7IH0KKwkJCWRvCisJCQkJJFRFU1RfU0hFTExfUEFUSCAiJDAiICIkQCIgPiIkVEVTVF9SRVNVTFRTX0JBU0Uuc3RyZXNzLSRqb2JfbnIub3V0IiAyPiYxICYKKwkJCQl0ZXN0X3BpZD0kIQorCisJCQkJaWYgd2FpdCAkdGVzdF9waWQKKwkJCQl0aGVuCisJCQkJCXByaW50ZiAiT0sgICAlMmQuJWRcbiIgJEdJVF9URVNUX1NUUkVTU19KT0JfTlIgJGNudAorCQkJCWVsc2UKKwkJCQkJZWNobyAkR0lUX1RFU1RfU1RSRVNTX0pPQl9OUiA+PiIkc3RyZXNzZmFpbCIKKwkJCQkJcHJpbnRmICJGQUlMICUyZC4lZFxuIiAkR0lUX1RFU1RfU1RSRVNTX0pPQl9OUiAkY250CisJCQkJZmkKKwkJCQljbnQ9JCgoJGNudCArIDEpKQorCQkJZG9uZQorCQkpICYKKwkJam9iX3BpZHM9IiRqb2JfcGlkcyAkISIKKwkJam9iX25yPSQoKCRqb2JfbnIgKyAxKSkKKwlkb25lCisKKwl3YWl0CisKKwlpZiB0ZXN0IC1mICIkc3RyZXNzZmFpbCIKKwl0aGVuCisJCXN0cmVzc19leGl0PTEKKwkJZWNobyAiTG9nKHMpIG9mIGZhaWxlZCB0ZXN0IHJ1bihzKToiCisJCWZvciBmYWlsZWRfam9iX25yIGluICQoc29ydCAtbiAiJHN0cmVzc2ZhaWwiKQorCQlkbworCQkJZWNobyAiQ29udGVudHMgb2YgJyRURVNUX1JFU1VMVFNfQkFTRS5zdHJlc3MtJGZhaWxlZF9qb2JfbnIub3V0JzoiCisJCQljYXQgIiRURVNUX1JFU1VMVFNfQkFTRS5zdHJlc3MtJGZhaWxlZF9qb2JfbnIub3V0IgorCQlkb25lCisJCXJtIC1yZiAiJFRSQVNIX0RJUkVDVE9SWS5zdHJlc3MtZmFpbGVkIgorCQkjIE1vdmUgdGhlIGxhc3Qgb25lLgorCQltdiAiJFRSQVNIX0RJUkVDVE9SWS5zdHJlc3MtJGZhaWxlZF9qb2JfbnIiICIkVFJBU0hfRElSRUNUT1JZLnN0cmVzcy1mYWlsZWQiCisJZmkKKworCWV4aXQgJHN0cmVzc19leGl0CitmaQorCiAjIGlmIC0tdGVlIHdhcyBwYXNzZWQsIHdyaXRlIHRoZSBvdXRwdXQgbm90IG9ubHkgdG8gdGhlIHRlcm1pbmFsLCBidXQKICMgYWRkaXRpb25hbGx5IHRvIHRoZSBmaWxlIHRlc3QtcmVzdWx0cy8kQkFTRU5BTUUub3V0LCB0b28uCi1jYXNlICIkR0lUX1RFU1RfVEVFX1NUQVJURUQsICQqICIgaW4KLWRvbmUsKikKLQkjIGRvIG5vdCByZWRpcmVjdCBhZ2FpbgotCTs7Ci0qJyAtLXRlZSAnKnwqJyAtLXZhJyp8KicgLVYgJyp8KicgLS12ZXJib3NlLWxvZyAnKikKLQlta2RpciAtcCAiJFRFU1RfT1VUUFVUX0RJUkVDVE9SWS90ZXN0LXJlc3VsdHMiCi0JQkFTRT0iJFRFU1RfT1VUUFVUX0RJUkVDVE9SWS90ZXN0LXJlc3VsdHMvJChiYXNlbmFtZSAiJDAiIC5zaCkiCitpZiB0ZXN0ICIkR0lUX1RFU1RfVEVFX1NUQVJURUQiID0gImRvbmUiCit0aGVuCisJOiAjIGRvIG5vdCByZWRpcmVjdCBhZ2FpbgorZWxpZiB0ZXN0IC1uICIkdGVlIgordGhlbgorCW1rZGlyIC1wICIkVEVTVF9SRVNVTFRTX0RJUiIKIAogCSMgTWFrZSB0aGlzIGZpbGVuYW1lIGF2YWlsYWJsZSB0byB0aGUgc3ViLXByb2Nlc3MgaW4gY2FzZSBpdCBpcyB1c2luZwogCSMgLS12ZXJib3NlLWxvZy4KLQlHSVRfVEVTVF9URUVfT1VUUFVUX0ZJTEU9JEJBU0Uub3V0CisJR0lUX1RFU1RfVEVFX09VVFBVVF9GSUxFPSRURVNUX1JFU1VMVFNfQkFTRS5vdXQKIAlleHBvcnQgR0lUX1RFU1RfVEVFX09VVFBVVF9GSUxFCiAKIAkjIFRydW5jYXRlIGJlZm9yZSBjYWxsaW5nICJ0ZWUgLWEiIHRvIGdldCByaWQgb2YgdGhlIHJlc3VsdHMKQEAgLTkxLDExICszMjksMzggQEAKIAk+IiRHSVRfVEVTVF9URUVfT1VUUFVUX0ZJTEUiCiAKIAkoR0lUX1RFU1RfVEVFX1NUQVJURUQ9ZG9uZSAke1RFU1RfU0hFTExfUEFUSH0gIiQwIiAiJEAiIDI+JjE7Ci0JIGVjaG8gJD8gPiIkQkFTRS5leGl0IikgfCB0ZWUgLWEgIiRHSVRfVEVTVF9URUVfT1VUUFVUX0ZJTEUiCi0JdGVzdCAiJChjYXQgIiRCQVNFLmV4aXQiKSIgPSAwCisJIGVjaG8gJD8gPiIkVEVTVF9SRVNVTFRTX0JBU0UuZXhpdCIpIHwgdGVlIC1hICIkR0lUX1RFU1RfVEVFX09VVFBVVF9GSUxFIgorCXRlc3QgIiQoY2F0ICIkVEVTVF9SRVNVTFRTX0JBU0UuZXhpdCIpIiA9IDAKIAlleGl0Ci0JOzsKLWVzYWMKK2ZpCisKK2lmIHRlc3QgLW4gIiR0cmFjZSIgJiYgdGVzdCAtbiAiJHRlc3RfdW50cmFjZWFibGUiCit0aGVuCisJIyAnLXgnIHRyYWNpbmcgcmVxdWVzdGVkLCBidXQgdGhpcyB0ZXN0IHNjcmlwdCBjYW4ndCBiZSByZWxpYWJseQorCSMgdHJhY2VkLCB1bmxlc3MgaXQgaXMgcnVuIHdpdGggYSBCYXNoIHZlcnNpb24gc3VwcG9ydGluZworCSMgQkFTSF9YVFJBQ0VGRCAoaW50cm9kdWNlZCBpbiBCYXNoIHY0LjEpLgorCSMKKwkjIFBlcmZvcm0gdGhpcyB2ZXJzaW9uIGNoZWNrIF9hZnRlcl8gdGhlIHRlc3Qgc2NyaXB0IHdhcworCSMgcG90ZW50aWFsbHkgcmUtZXhlY3V0ZWQgd2l0aCAkVEVTVF9TSEVMTF9QQVRIIGZvciAnLS10ZWUnIG9yCisJIyAnLS12ZXJib3NlLWxvZycsIHNvIHRoZSByaWdodCBzaGVsbCBpcyBjaGVja2VkIGFuZCB0aGUKKwkjIHdhcm5pbmcgaXMgaXNzdWVkIG9ubHkgb25jZS4KKwlpZiB0ZXN0IC1uICIkQkFTSF9WRVJTSU9OIiAmJiBldmFsICcKKwkgICAgIHRlc3QgJHtCQVNIX1ZFUlNJTkZPWzBdfSAtZ3QgNCB8fCB7CisJICAgICAgIHRlc3QgJHtCQVNIX1ZFUlNJTkZPWzBdfSAtZXEgNCAmJgorCSAgICAgICB0ZXN0ICR7QkFTSF9WRVJTSU5GT1sxXX0gLWdlIDEKKwkgICAgIH0KKwkgICAnCisJdGhlbgorCQk6IEV4ZWN1dGVkIGJ5IGEgQmFzaCB2ZXJzaW9uIHN1cHBvcnRpbmcgQkFTSF9YVFJBQ0VGRC4gIEdvb2QuCisJZWxzZQorCQllY2hvID4mMiAid2FybmluZzogaWdub3JpbmcgLXg7ICckMCcgaXMgdW50cmFjZWFibGUgd2l0aG91dCBCQVNIX1hUUkFDRUZEIgorCQl0cmFjZT0KKwlmaQorZmkKK2lmIHRlc3QgLW4gIiR0cmFjZSIgJiYgdGVzdCAteiAiJHZlcmJvc2VfbG9nIgordGhlbgorCXZlcmJvc2U9dAorZmkKIAogIyBGb3IgcmVwZWF0YWJpbGl0eSwgcmVzZXQgdGhlIGVudmlyb25tZW50IHRvIGtub3duIHZhbHVlLgogIyBURVJNIGlzIHNhbml0aXplZCBiZWxvdywgYWZ0ZXIgc2F2aW5nIGNvbG9yIGNvbnRyb2wgc2VxdWVuY2VzLgpAQCAtMTM5LDkgKzQwNCwxMyBAQAogdW5zZXQgWERHX0NBQ0hFX0hPTUUKIHVuc2V0IFhER19DT05GSUdfSE9NRQogdW5zZXQgR0lUUEVSTExJQgotR0lUX0FVVEhPUl9FTUFJTD1hdXRob3JAZXhhbXBsZS5jb20KK1RFU1RfQVVUSE9SX0xPQ0FMTkFNRT1hdXRob3IKK1RFU1RfQVVUSE9SX0RPTUFJTj1leGFtcGxlLmNvbQorR0lUX0FVVEhPUl9FTUFJTD0ke1RFU1RfQVVUSE9SX0xPQ0FMTkFNRX1AJHtURVNUX0FVVEhPUl9ET01BSU59CiBHSVRfQVVUSE9SX05BTUU9J0EgVSBUaG9yJwotR0lUX0NPTU1JVFRFUl9FTUFJTD1jb21taXR0ZXJAZXhhbXBsZS5jb20KK1RFU1RfQ09NTUlUVEVSX0xPQ0FMTkFNRT1jb21taXR0ZXIKK1RFU1RfQ09NTUlUVEVSX0RPTUFJTj1leGFtcGxlLmNvbQorR0lUX0NPTU1JVFRFUl9FTUFJTD0ke1RFU1RfQ09NTUlUVEVSX0xPQ0FMTkFNRX1AJHtURVNUX0NPTU1JVFRFUl9ET01BSU59CiBHSVRfQ09NTUlUVEVSX05BTUU9J0MgTyBNaXR0ZXInCiBHSVRfTUVSR0VfVkVSQk9TSVRZPTUKIEdJVF9NRVJHRV9BVVRPRURJVD1ubwpAQCAtMTkzLDcgKzQ2Miw3IEBACiAKICMgQWRkIGxpYmMgTUFMTE9DIGFuZCBNQUxMT0NfUEVSVFVSQiB0ZXN0CiAjIG9ubHkgaWYgd2UgYXJlIG5vdCBleGVjdXRpbmcgdGhlIHRlc3Qgd2l0aCB2YWxncmluZAotaWYgZXhwciAiICRHSVRfVEVTVF9PUFRTICIgOiAiLiogLS12YWxncmluZCAiID4vZGV2L251bGwgfHwKK2lmIHRlc3QgLW4gIiR2YWxncmluZCIgfHwKICAgIHRlc3QgLW4gIiRURVNUX05PX01BTExPQ19DSEVDSyIKIHRoZW4KIAlzZXR1cF9tYWxsb2NfY2hlY2sgKCkgewpAQCAtMjQ0LDYgKzUxMyw5IEBACiBMRj0nCiAnCiAKKyMgU2luZ2xlIHF1b3RlCitTUT1cJworCiAjIFVURi04IFpFUk8gV0lEVEggTk9OLUpPSU5FUiwgd2hpY2ggSEZTKyBpZ25vcmVzCiAjIHdoZW4gY2FzZS1mb2xkaW5nIGZpbGVuYW1lcwogdTIwMGM9JChwcmludGYgJ1wzNDJcMjAwXDIxNCcpCkBAIC0yNjQsMTAwICs1MzYsNiBAQAogCSkgJiYKIAljb2xvcj10CiAKLXdoaWxlIHRlc3QgIiQjIiAtbmUgMAotZG8KLQljYXNlICIkMSIgaW4KLQktZHwtLWR8LS1kZXwtLWRlYnwtLWRlYnV8LS1kZWJ1ZykKLQkJZGVidWc9dDsgc2hpZnQgOzsKLQktaXwtLWl8LS1pbXwtLWltbXwtLWltbWV8LS1pbW1lZHwtLWltbWVkaXwtLWltbWVkaWF8LS1pbW1lZGlhdHwtLWltbWVkaWF0ZSkKLQkJaW1tZWRpYXRlPXQ7IHNoaWZ0IDs7Ci0JLWx8LS1sfC0tbG98LS1sb258LS1sb25nfC0tbG9uZy18LS1sb25nLXR8LS1sb25nLXRlfC0tbG9uZy10ZXN8LS1sb25nLXRlc3R8LS1sb25nLXRlc3RzKQotCQlHSVRfVEVTVF9MT05HPXQ7IGV4cG9ydCBHSVRfVEVTVF9MT05HOyBzaGlmdCA7OwotCS1yKQotCQlzaGlmdDsgdGVzdCAiJCMiIC1uZSAwIHx8IHsKLQkJCWVjaG8gJ2Vycm9yOiAtciByZXF1aXJlcyBhbiBhcmd1bWVudCcgPiYyOwotCQkJZXhpdCAxOwotCQl9Ci0JCXJ1bl9saXN0PSQxOyBzaGlmdCA7OwotCS0tcnVuPSopCi0JCXJ1bl9saXN0PSR7MSMtLSo9fTsgc2hpZnQgOzsKLQktaHwtLWh8LS1oZXwtLWhlbHwtLWhlbHApCi0JCWhlbHA9dDsgc2hpZnQgOzsKLQktdnwtLXZ8LS12ZXwtLXZlcnwtLXZlcmJ8LS12ZXJib3wtLXZlcmJvc3wtLXZlcmJvc2UpCi0JCXZlcmJvc2U9dDsgc2hpZnQgOzsKLQktLXZlcmJvc2Utb25seT0qKQotCQl2ZXJib3NlX29ubHk9JHsxIy0tKj19Ci0JCXNoaWZ0IDs7Ci0JLXF8LS1xfC0tcXV8LS1xdWl8LS1xdWllfC0tcXVpZXQpCi0JCSMgSWdub3JlIC0tcXVpZXQgdW5kZXIgYSBUQVA6Okhhcm5lc3MuIFNheWluZyBob3cgbWFueSB0ZXN0cwotCQkjIHBhc3NlZCB3aXRob3V0IHRoZSBvay9ub3Qgb2sgZGV0YWlscyBpcyBhbHdheXMgYW4gZXJyb3IuCi0JCXRlc3QgLXogIiRIQVJORVNTX0FDVElWRSIgJiYgcXVpZXQ9dDsgc2hpZnQgOzsKLQktLXdpdGgtZGFzaGVzKQotCQl3aXRoX2Rhc2hlcz10OyBzaGlmdCA7OwotCS0tbm8tY29sb3IpCi0JCWNvbG9yPTsgc2hpZnQgOzsKLQktLXZhfC0tdmFsfC0tdmFsZ3wtLXZhbGdyfC0tdmFsZ3JpfC0tdmFsZ3JpbnwtLXZhbGdyaW5kKQotCQl2YWxncmluZD1tZW1jaGVjawotCQlzaGlmdCA7OwotCS0tdmFsZ3JpbmQ9KikKLQkJdmFsZ3JpbmQ9JHsxIy0tKj19Ci0JCXNoaWZ0IDs7Ci0JLS12YWxncmluZC1vbmx5PSopCi0JCXZhbGdyaW5kX29ubHk9JHsxIy0tKj19Ci0JCXNoaWZ0IDs7Ci0JLS10ZWUpCi0JCXNoaWZ0IDs7ICMgd2FzIGhhbmRsZWQgYWxyZWFkeQotCS0tcm9vdD0qKQotCQlyb290PSR7MSMtLSo9fQotCQlzaGlmdCA7OwotCS0tY2hhaW4tbGludCkKLQkJR0lUX1RFU1RfQ0hBSU5fTElOVD0xCi0JCXNoaWZ0IDs7Ci0JLS1uby1jaGFpbi1saW50KQotCQlHSVRfVEVTVF9DSEFJTl9MSU5UPTAKLQkJc2hpZnQgOzsKLQkteCkKLQkJIyBTb21lIHRlc3Qgc2NyaXB0cyBjYW4ndCBiZSByZWxpYWJseSB0cmFjZWQgIHdpdGggJy14JywKLQkJIyB1bmxlc3MgdGhlIHRlc3QgaXMgcnVuIHdpdGggYSBCYXNoIHZlcnNpb24gc3VwcG9ydGluZwotCQkjIEJBU0hfWFRSQUNFRkQgKGludHJvZHVjZWQgaW4gQmFzaCB2NC4xKS4gIENoZWNrIHdoZXRoZXIKLQkJIyB0aGlzIHRlc3QgaXMgbWFya2VkIGFzIHN1Y2gsIGFuZCBpZ25vcmUgJy14JyBpZiBpdAotCQkjIGlzbid0IGV4ZWN1dGVkIHdpdGggYSBzdWl0YWJsZSBCYXNoIHZlcnNpb24uCi0JCWlmIHRlc3QgLXogIiR0ZXN0X3VudHJhY2VhYmxlIiB8fCB7Ci0JCSAgICAgdGVzdCAtbiAiJEJBU0hfVkVSU0lPTiIgJiYgewotCQkgICAgICAgdGVzdCAke0JBU0hfVkVSU0lORk9bMF19IC1ndCA0IHx8IHsKLQkJCSB0ZXN0ICR7QkFTSF9WRVJTSU5GT1swXX0gLWVxIDQgJiYKLQkJCSB0ZXN0ICR7QkFTSF9WRVJTSU5GT1sxXX0gLWdlIDEKLQkJICAgICAgIH0KLQkJICAgICB9Ci0JCSAgIH0KLQkJdGhlbgotCQkJdHJhY2U9dAotCQllbHNlCi0JCQllY2hvID4mMiAid2FybmluZzogaWdub3JpbmcgLXg7ICckMCcgaXMgdW50cmFjZWFibGUgd2l0aG91dCBCQVNIX1hUUkFDRUZEIgotCQlmaQotCQlzaGlmdCA7OwotCS1WfC0tdmVyYm9zZS1sb2cpCi0JCXZlcmJvc2VfbG9nPXQKLQkJc2hpZnQgOzsKLQkqKQotCQllY2hvICJlcnJvcjogdW5rbm93biB0ZXN0IG9wdGlvbiAnJDEnIiA+JjI7IGV4aXQgMSA7OwotCWVzYWMKLWRvbmUKLQotaWYgdGVzdCAtbiAiJHZhbGdyaW5kX29ubHkiCi10aGVuCi0JdGVzdCAteiAiJHZhbGdyaW5kIiAmJiB2YWxncmluZD1tZW1jaGVjawotCXRlc3QgLXogIiR2ZXJib3NlIiAmJiB2ZXJib3NlX29ubHk9IiR2YWxncmluZF9vbmx5IgotZWxpZiB0ZXN0IC1uICIkdmFsZ3JpbmQiCi10aGVuCi0JdGVzdCAteiAiJHZlcmJvc2VfbG9nIiAmJiB2ZXJib3NlPXQKLWZpCi0KLWlmIHRlc3QgLW4gIiR0cmFjZSIgJiYgdGVzdCAteiAiJHZlcmJvc2VfbG9nIgotdGhlbgotCXZlcmJvc2U9dAotZmkKLQogaWYgdGVzdCAtbiAiJGNvbG9yIgogdGhlbgogCSMgU2F2ZSB0aGUgY29sb3IgY29udHJvbCBzZXF1ZW5jZXMgbm93IHJhdGhlciB0aGFuIHJ1biB0cHV0CkBAIC0zOTgsNiArNTc2LDcgQEAKIAogZXJyb3IgKCkgewogCXNheV9jb2xvciBlcnJvciAiZXJyb3I6ICQqIgorCWZpbmFsaXplX2p1bml0X3htbAogCUdJVF9FWElUX09LPXQKIAlleGl0IDEKIH0KQEAgLTQ2NSw2ICs2NDQsMTAgQEAKIAogZGllICgpIHsKIAljb2RlPSQ/CisJIyBUaGlzIGlzIHJlc3BvbnNpYmxlIGZvciBydW5uaW5nIHRoZSBhdGV4aXQgY29tbWFuZHMgZXZlbiB3aGVuIGEKKwkjIHRlc3Qgc2NyaXB0IHJ1biB3aXRoICctLWltbWVkaWF0ZScgZmFpbHMsIG9yIHdoZW4gdGhlIHVzZXIgaGl0cworCSMgY3RybC1DLCBpLmUuIHdoZW4gJ3Rlc3RfZG9uZScgaXMgbm90IGludm9rZWQgYXQgYWxsLgorCXRlc3RfYXRleGl0X2hhbmRsZXIgfHwgY29kZT0kPwogCWlmIHRlc3QgLW4gIiRHSVRfRVhJVF9PSyIKIAl0aGVuCiAJCWV4aXQgJGNvZGUKQEAgLTQ3Niw3ICs2NTksMTAgQEAKIAogR0lUX0VYSVRfT0s9CiB0cmFwICdkaWUnIEVYSVQKLXRyYXAgJ2V4aXQgJD8nIElOVAorIyBEaXNhYmxlICcteCcgdHJhY2luZywgYmVjYXVzZSB3aXRoIHNvbWUgc2hlbGxzLCBub3RhYmx5IGRhc2gsIGl0CisjIHByZXZlbnRzIHJ1bm5pbmcgdGhlIGNsZWFudXAgY29tbWFuZHMgd2hlbiBhIHRlc3Qgc2NyaXB0IHJ1biB3aXRoCisjICctLXZlcmJvc2UtbG9nIC14JyBpcyBpbnRlcnJ1cHRlZC4KK3RyYXAgJ3sgY29kZT0kPzsgc2V0ICt4OyB9IDI+L2Rldi9udWxsOyBleGl0ICRjb2RlJyBJTlQgVEVSTSBIVVAKIAogIyBUaGUgdXNlci1mYWNpbmcgZnVuY3Rpb25zIGFyZSBsb2FkZWQgZnJvbSBhIHNlcGFyYXRlIGZpbGUgc28gdGhhdAogIyB0ZXN0X3BlcmYgc3Vic2hlbGxzIGNhbiBoYXZlIHRoZW0gdG9vCkBAIC00ODYsMjQgKzY3Miw1NiBAQAogIyB0aGUgdGVzdF9leHBlY3RfKiBmdW5jdGlvbnMgaW5zdGVhZC4KIAogdGVzdF9va18gKCkgeworCWlmIHRlc3QgLW4gIiR3cml0ZV9qdW5pdF94bWwiCisJdGhlbgorCQl3cml0ZV9qdW5pdF94bWxfdGVzdGNhc2UgIiQqIgorCWZpCiAJdGVzdF9zdWNjZXNzPSQoKCR0ZXN0X3N1Y2Nlc3MgKyAxKSkKIAlzYXlfY29sb3IgIiIgIm9rICR0ZXN0X2NvdW50IC0gJEAiCiB9CiAKIHRlc3RfZmFpbHVyZV8gKCkgeworCWlmIHRlc3QgLW4gIiR3cml0ZV9qdW5pdF94bWwiCisJdGhlbgorCQlqdW5pdF9pbnNlcnQ9IjxmYWlsdXJlIG1lc3NhZ2U9XCJub3Qgb2sgJHRlc3RfY291bnQgLSIKKwkJanVuaXRfaW5zZXJ0PSIkanVuaXRfaW5zZXJ0ICQoeG1sX2F0dHJfZW5jb2RlICIkMSIpXCI+IgorCQlqdW5pdF9pbnNlcnQ9IiRqdW5pdF9pbnNlcnQgJCh4bWxfYXR0cl9lbmNvZGUgXAorCQkJIiQoaWYgdGVzdCAtbiAiJEdJVF9URVNUX1RFRV9PVVRQVVRfRklMRSIKKwkJCSAgIHRoZW4KKwkJCQl0ZXN0LXRvb2wgcGF0aC11dGlscyBza2lwLW4tYnl0ZXMgXAorCQkJCQkiJEdJVF9URVNUX1RFRV9PVVRQVVRfRklMRSIgJEdJVF9URVNUX1RFRV9PRkZTRVQKKwkJCSAgIGVsc2UKKwkJCQlwcmludGYgJyVzXG4nICIkQCIgfCBzZWQgMWQKKwkJCSAgIGZpKSIpIgorCQlqdW5pdF9pbnNlcnQ9IiRqdW5pdF9pbnNlcnQ8L2ZhaWx1cmU+IgorCQlpZiB0ZXN0IC1uICIkR0lUX1RFU1RfVEVFX09VVFBVVF9GSUxFIgorCQl0aGVuCisJCQlqdW5pdF9pbnNlcnQ9IiRqdW5pdF9pbnNlcnQ8c3lzdGVtLWVycj4kKHhtbF9hdHRyX2VuY29kZSBcCisJCQkJIiQoY2F0ICIkR0lUX1RFU1RfVEVFX09VVFBVVF9GSUxFIikiKTwvc3lzdGVtLWVycj4iCisJCWZpCisJCXdyaXRlX2p1bml0X3htbF90ZXN0Y2FzZSAiJDEiICIgICAgICAkanVuaXRfaW5zZXJ0IgorCWZpCiAJdGVzdF9mYWlsdXJlPSQoKCR0ZXN0X2ZhaWx1cmUgKyAxKSkKIAlzYXlfY29sb3IgZXJyb3IgIm5vdCBvayAkdGVzdF9jb3VudCAtICQxIgogCXNoaWZ0CiAJcHJpbnRmICclc1xuJyAiJCoiIHwgc2VkIC1lICdzL14vIwkvJwotCXRlc3QgIiRpbW1lZGlhdGUiID0gIiIgfHwgeyBHSVRfRVhJVF9PSz10OyBleGl0IDE7IH0KKwl0ZXN0ICIkaW1tZWRpYXRlIiA9ICIiIHx8IHsgZmluYWxpemVfanVuaXRfeG1sOyBHSVRfRVhJVF9PSz10OyBleGl0IDE7IH0KIH0KIAogdGVzdF9rbm93bl9icm9rZW5fb2tfICgpIHsKKwlpZiB0ZXN0IC1uICIkd3JpdGVfanVuaXRfeG1sIgorCXRoZW4KKwkJd3JpdGVfanVuaXRfeG1sX3Rlc3RjYXNlICIkKiAoYnJlYWthZ2UgZml4ZWQpIgorCWZpCiAJdGVzdF9maXhlZD0kKCgkdGVzdF9maXhlZCsxKSkKIAlzYXlfY29sb3IgZXJyb3IgIm9rICR0ZXN0X2NvdW50IC0gJEAgIyBUT0RPIGtub3duIGJyZWFrYWdlIHZhbmlzaGVkIgogfQogCiB0ZXN0X2tub3duX2Jyb2tlbl9mYWlsdXJlXyAoKSB7CisJaWYgdGVzdCAtbiAiJHdyaXRlX2p1bml0X3htbCIKKwl0aGVuCisJCXdyaXRlX2p1bml0X3htbF90ZXN0Y2FzZSAiJCogKGtub3duIGJyZWFrYWdlKSIKKwlmaQogCXRlc3RfYnJva2VuPSQoKCR0ZXN0X2Jyb2tlbisxKSkKIAlzYXlfY29sb3Igd2FybiAibm90IG9rICR0ZXN0X2NvdW50IC0gJEAgIyBUT0RPIGtub3duIGJyZWFrYWdlIgogfQpAQCAtNzYxLDEyICs5NzksMjEgQEAKIAl0ZXN0X2NvdW50PSQoKCR0ZXN0X2NvdW50KzEpKQogCW1heWJlX3NldHVwX3ZlcmJvc2UKIAltYXliZV9zZXR1cF92YWxncmluZAorCWlmIHRlc3QgLW4gIiR3cml0ZV9qdW5pdF94bWwiCisJdGhlbgorCQlqdW5pdF9zdGFydD0kKHRlc3QtdG9vbCBkYXRlIGdldG5hbm9zKQorCWZpCiB9CiAKIHRlc3RfZmluaXNoXyAoKSB7CiAJZWNobyA+JjMgIiIKIAltYXliZV90ZWFyZG93bl92YWxncmluZAogCW1heWJlX3RlYXJkb3duX3ZlcmJvc2UKKwlpZiB0ZXN0IC1uICIkR0lUX1RFU1RfVEVFX09GRlNFVCIKKwl0aGVuCisJCUdJVF9URVNUX1RFRV9PRkZTRVQ9JCh0ZXN0LXRvb2wgcGF0aC11dGlscyBmaWxlLXNpemUgXAorCQkJIiRHSVRfVEVTVF9URUVfT1VUUFVUX0ZJTEUiKQorCWZpCiB9CiAKIHRlc3Rfc2tpcCAoKSB7CkBAIC03NzcsNiArMTAwNCwxMiBAQAogCQl0b19za2lwPXQKIAkJc2tpcHBlZF9yZWFzb249IkdJVF9TS0lQX1RFU1RTIgogCWZpCisJaWYgdGVzdCAteiAiJHRvX3NraXAiICYmIHRlc3QgLW4gIiRydW5fbGlzdCIgJiYKKwkgICAhIG1hdGNoX3Rlc3Rfc2VsZWN0b3JfbGlzdCAnLS1ydW4nICR0ZXN0X2NvdW50ICIkcnVuX2xpc3QiCisJdGhlbgorCQl0b19za2lwPXQKKwkJc2tpcHBlZF9yZWFzb249Ii0tcnVuIgorCWZpCiAJaWYgdGVzdCAteiAiJHRvX3NraXAiICYmIHRlc3QgLW4gIiR0ZXN0X3ByZXJlcSIgJiYKIAkgICAhIHRlc3RfaGF2ZV9wcmVyZXEgIiR0ZXN0X3ByZXJlcSIKIAl0aGVuCkBAIC03ODksMTUgKzEwMjIsMTYgQEAKIAkJZmkKIAkJc2tpcHBlZF9yZWFzb249Im1pc3NpbmcgJG1pc3NpbmdfcHJlcmVxJHtvZl9wcmVyZXF9IgogCWZpCi0JaWYgdGVzdCAteiAiJHRvX3NraXAiICYmIHRlc3QgLW4gIiRydW5fbGlzdCIgJiYKLQkJISBtYXRjaF90ZXN0X3NlbGVjdG9yX2xpc3QgJy0tcnVuJyAkdGVzdF9jb3VudCAiJHJ1bl9saXN0IgotCXRoZW4KLQkJdG9fc2tpcD10Ci0JCXNraXBwZWRfcmVhc29uPSItLXJ1biIKLQlmaQogCiAJY2FzZSAiJHRvX3NraXAiIGluCiAJdCkKKwkJaWYgdGVzdCAtbiAiJHdyaXRlX2p1bml0X3htbCIKKwkJdGhlbgorCQkJbWVzc2FnZT0iJCh4bWxfYXR0cl9lbmNvZGUgIiRza2lwcGVkX3JlYXNvbiIpIgorCQkJd3JpdGVfanVuaXRfeG1sX3Rlc3RjYXNlICIkMSIgXAorCQkJCSIgICAgICA8c2tpcHBlZCBtZXNzYWdlPVwiJG1lc3NhZ2VcIiAvPiIKKwkJZmkKKwogCQlzYXlfY29sb3Igc2tpcCA+JjMgInNraXBwaW5nIHRlc3Q6ICRAIgogCQlzYXlfY29sb3Igc2tpcCAib2sgJHRlc3RfY291bnQgIyBza2lwICQxICgkc2tpcHBlZF9yZWFzb24pIgogCQk6IHRydWUKQEAgLTgxMywxNyArMTA0Nyw4MSBAQAogCToKIH0KIAord3JpdGVfanVuaXRfeG1sICgpIHsKKwljYXNlICIkMSIgaW4KKwktLXRydW5jYXRlKQorCQk+IiRqdW5pdF94bWxfcGF0aCIKKwkJanVuaXRfaGF2ZV90ZXN0Y2FzZT0KKwkJc2hpZnQKKwkJOzsKKwllc2FjCisJcHJpbnRmICclc1xuJyAiJEAiID4+IiRqdW5pdF94bWxfcGF0aCIKK30KKworeG1sX2F0dHJfZW5jb2RlICgpIHsKKwlwcmludGYgJyVzXG4nICIkQCIgfCB0ZXN0LXRvb2wgeG1sLWVuY29kZQorfQorCit3cml0ZV9qdW5pdF94bWxfdGVzdGNhc2UgKCkgeworCWp1bml0X2F0dHJzPSJuYW1lPVwiJCh4bWxfYXR0cl9lbmNvZGUgIiR0aGlzX3Rlc3QuJHRlc3RfY291bnQgJDEiKVwiIgorCXNoaWZ0CisJanVuaXRfYXR0cnM9IiRqdW5pdF9hdHRycyBjbGFzc25hbWU9XCIkdGhpc190ZXN0XCIiCisJanVuaXRfYXR0cnM9IiRqdW5pdF9hdHRycyB0aW1lPVwiJCh0ZXN0LXRvb2wgXAorCQlkYXRlIGdldG5hbm9zICRqdW5pdF9zdGFydClcIiIKKwl3cml0ZV9qdW5pdF94bWwgIiQocHJpbnRmICclc1xuJyBcCisJCSIgICAgPHRlc3RjYXNlICRqdW5pdF9hdHRycz4iICIkQCIgIiAgICA8L3Rlc3RjYXNlPiIpIgorCWp1bml0X2hhdmVfdGVzdGNhc2U9dAorfQorCitmaW5hbGl6ZV9qdW5pdF94bWwgKCkgeworCWlmIHRlc3QgLW4gIiR3cml0ZV9qdW5pdF94bWwiICYmIHRlc3QgLW4gIiRqdW5pdF94bWxfcGF0aCIKKwl0aGVuCisJCXRlc3QgLW4gIiRqdW5pdF9oYXZlX3Rlc3RjYXNlIiB8fCB7CisJCQlqdW5pdF9zdGFydD0kKHRlc3QtdG9vbCBkYXRlIGdldG5hbm9zKQorCQkJd3JpdGVfanVuaXRfeG1sX3Rlc3RjYXNlICJhbGwgdGVzdHMgc2tpcHBlZCIKKwkJfQorCisJCSMgYWRqdXN0IHRoZSBvdmVyYWxsIHRpbWUKKwkJanVuaXRfdGltZT0kKHRlc3QtdG9vbCBkYXRlIGdldG5hbm9zICRqdW5pdF9zdWl0ZV9zdGFydCkKKwkJc2VkIC1lICJzL1woPHRlc3RzdWl0ZS4qXCkgdGltZT1cIlteXCJdKlwiL1wxLyIgXAorCQkJLWUgInMvPHRlc3RzdWl0ZSBbXj5dKi8mIHRpbWU9XCIkanVuaXRfdGltZVwiLyIgXAorCQkJPCIkanVuaXRfeG1sX3BhdGgiID4iJGp1bml0X3htbF9wYXRoLm5ldyIKKwkJbXYgIiRqdW5pdF94bWxfcGF0aC5uZXciICIkanVuaXRfeG1sX3BhdGgiCisKKwkJd3JpdGVfanVuaXRfeG1sICIgIDwvdGVzdHN1aXRlPiIgIjwvdGVzdHN1aXRlcz4iCisJCXdyaXRlX2p1bml0X3htbD0KKwlmaQorfQorCit0ZXN0X2F0ZXhpdF9jbGVhbnVwPToKK3Rlc3RfYXRleGl0X2hhbmRsZXIgKCkgeworCSMgSW4gYSBzdWNjZWVkaW5nIHRlc3Qgc2NyaXB0ICd0ZXN0X2F0ZXhpdF9oYW5kbGVyJyBpcyBpbnZva2VkCisJIyB0d2ljZTogZmlyc3QgZnJvbSAndGVzdF9kb25lJywgdGhlbiBmcm9tICdkaWUnIGluIHRoZSB0cmFwIG9uCisJIyBFWElULgorCSMgVGhpcyBjb25kaXRpb24gYW5kIHJlc2V0dGluZyAndGVzdF9hdGV4aXRfY2xlYW51cCcgYmVsb3cgbWFrZXMKKwkjIHN1cmUgdGhhdCB0aGUgcmVnaXN0ZXJlZCBjbGVhbnVwIGNvbW1hbmRzIGFyZSBydW4gb25seSBvbmNlLgorCXRlc3QgOiAhPSAiJHRlc3RfYXRleGl0X2NsZWFudXAiIHx8IHJldHVybiAwCisKKwlzZXR1cF9tYWxsb2NfY2hlY2sKKwl0ZXN0X2V2YWxfICIkdGVzdF9hdGV4aXRfY2xlYW51cCIKKwl0ZXN0X2F0ZXhpdF9jbGVhbnVwPToKKwl0ZWFyZG93bl9tYWxsb2NfY2hlY2sKK30KKwogdGVzdF9kb25lICgpIHsKIAlHSVRfRVhJVF9PSz10CiAKKwkjIFJ1biB0aGUgYXRleGl0IGNvbW1hbmRzIF9iZWZvcmVfIHRoZSB0cmFzaCBkaXJlY3RvcnkgaXMKKwkjIHJlbW92ZWQsIHNvIHRoZSBjb21tYW5kcyBjYW4gYWNjZXNzIHBpZGZpbGVzIGFuZCBzb2NrZXQgZmlsZXMuCisJdGVzdF9hdGV4aXRfaGFuZGxlcgorCisJZmluYWxpemVfanVuaXRfeG1sCisKIAlpZiB0ZXN0IC16ICIkSEFSTkVTU19BQ1RJVkUiCiAJdGhlbgotCQl0ZXN0X3Jlc3VsdHNfZGlyPSIkVEVTVF9PVVRQVVRfRElSRUNUT1JZL3Rlc3QtcmVzdWx0cyIKLQkJbWtkaXIgLXAgIiR0ZXN0X3Jlc3VsdHNfZGlyIgotCQliYXNlPSR7MCMjKi99Ci0JCXRlc3RfcmVzdWx0c19wYXRoPSIkdGVzdF9yZXN1bHRzX2Rpci8ke2Jhc2UlLnNofS5jb3VudHMiCisJCW1rZGlyIC1wICIkVEVTVF9SRVNVTFRTX0RJUiIKIAotCQljYXQgPiIkdGVzdF9yZXN1bHRzX3BhdGgiIDw8LUVPRgorCQljYXQgPiIkVEVTVF9SRVNVTFRTX0JBU0UuY291bnRzIiA8PC1FT0YKIAkJdG90YWwgJHRlc3RfY291bnQKIAkJc3VjY2VzcyAkdGVzdF9zdWNjZXNzCiAJCWZpeGVkICR0ZXN0X2ZpeGVkCkBAIC04NzgsNyArMTE3NiwxMSBAQAogCQkJZXJyb3IgIlRlc3RzIHBhc3NlZCBidXQgdHJhc2ggZGlyZWN0b3J5IGFscmVhZHkgcmVtb3ZlZCBiZWZvcmUgdGVzdCBjbGVhbnVwOyBhYm9ydGluZyIKIAogCQkJY2QgIiRUUkFTSF9ESVJFQ1RPUlkvLi4iICYmCi0JCQlybSAtZnIgIiRUUkFTSF9ESVJFQ1RPUlkiIHx8CisJCQlybSAtZnIgIiRUUkFTSF9ESVJFQ1RPUlkiIHx8IHsKKwkJCQkjIHRyeSBhZ2FpbiBpbiBhIGJpdAorCQkJCXNsZWVwIDU7CisJCQkJcm0gLWZyICIkVFJBU0hfRElSRUNUT1JZIgorCQkJfSB8fAogCQkJZXJyb3IgIlRlc3RzIHBhc3NlZCBidXQgdGVzdCBjbGVhbnVwIGZhaWxlZDsgYWJvcnRpbmciCiAJCWZpCiAJCXRlc3RfYXRfZW5kX2hvb2tfCkBAIC05ODQsMjAgKzEyODYsMjUgQEAKIAlQQVRIPSRHSVRfVEVTVF9JTlNUQUxMRUQ6JEdJVF9CVUlMRF9ESVIvdC9oZWxwZXI6JFBBVEgKIAlHSVRfRVhFQ19QQVRIPSR7R0lUX1RFU1RfRVhFQ19QQVRIOi0kR0lUX0VYRUNfUEFUSH0KIGVsc2UgIyBub3JtYWwgY2FzZSwgdXNlIC4uL2Jpbi13cmFwcGVycyBvbmx5IHVubGVzcyAkd2l0aF9kYXNoZXM6Ci0JZ2l0X2Jpbl9kaXI9IiRHSVRfQlVJTERfRElSL2Jpbi13cmFwcGVycyIKLQlpZiAhIHRlc3QgLXggIiRnaXRfYmluX2Rpci9naXQiCisJaWYgdGVzdCAtbiAiJG5vX2Jpbl93cmFwcGVycyIKIAl0aGVuCi0JCWlmIHRlc3QgLXogIiR3aXRoX2Rhc2hlcyIKLQkJdGhlbgotCQkJc2F5ICIkZ2l0X2Jpbl9kaXIvZ2l0IGlzIG5vdCBleGVjdXRhYmxlOyB1c2luZyBHSVRfRVhFQ19QQVRIIgotCQlmaQogCQl3aXRoX2Rhc2hlcz10CisJZWxzZQorCQlnaXRfYmluX2Rpcj0iJEdJVF9CVUlMRF9ESVIvYmluLXdyYXBwZXJzIgorCQlpZiAhIHRlc3QgLXggIiRnaXRfYmluX2Rpci9naXQiCisJCXRoZW4KKwkJCWlmIHRlc3QgLXogIiR3aXRoX2Rhc2hlcyIKKwkJCXRoZW4KKwkJCQlzYXkgIiRnaXRfYmluX2Rpci9naXQgaXMgbm90IGV4ZWN1dGFibGU7IHVzaW5nIEdJVF9FWEVDX1BBVEgiCisJCQlmaQorCQkJd2l0aF9kYXNoZXM9dAorCQlmaQorCQlQQVRIPSIkZ2l0X2Jpbl9kaXI6JFBBVEgiCiAJZmkKLQlQQVRIPSIkZ2l0X2Jpbl9kaXI6JFBBVEgiCiAJR0lUX0VYRUNfUEFUSD0kR0lUX0JVSUxEX0RJUgogCWlmIHRlc3QgLW4gIiR3aXRoX2Rhc2hlcyIKIAl0aGVuCi0JCVBBVEg9IiRHSVRfQlVJTERfRElSOiRQQVRIIgorCQlQQVRIPSIkR0lUX0JVSUxEX0RJUjokR0lUX0JVSUxEX0RJUi90L2hlbHBlcjokUEFUSCIKIAlmaQogZmkKIEdJVF9URU1QTEFURV9ESVI9IiRHSVRfQlVJTERfRElSIi90ZW1wbGF0ZXMvYmx0CkBAIC0xMDIxLDcgKzEzMjgsNyBAQAogCWVycm9yICJZb3UgaGF2ZW4ndCBidWlsdCB0aGluZ3MgeWV0LCBoYXZlIHlvdT8iCiB9CiAKLWlmICEgdGVzdCAteCAiJEdJVF9CVUlMRF9ESVIiL3QvaGVscGVyL3Rlc3QtdG9vbAoraWYgISB0ZXN0IC14ICIkR0lUX0JVSUxEX0RJUiIvdC9oZWxwZXIvdGVzdC10b29sJFgKIHRoZW4KIAllY2hvID4mMiAnWW91IG5lZWQgdG8gYnVpbGQgdGVzdC10b29sOicKIAllY2hvID4mMiAnUnVuICJtYWtlIHQvaGVscGVyL3Rlc3QtdG9vbCIgaW4gdGhlIHNvdXJjZSAodG9wbGV2ZWwpIGRpcmVjdG9yeScKQEAgLTEwMjksMTIgKzEzMzYsNiBAQAogZmkKIAogIyBUZXN0IHJlcG9zaXRvcnkKLVRSQVNIX0RJUkVDVE9SWT0idHJhc2ggZGlyZWN0b3J5LiQoYmFzZW5hbWUgIiQwIiAuc2gpIgotdGVzdCAtbiAiJHJvb3QiICYmIFRSQVNIX0RJUkVDVE9SWT0iJHJvb3QvJFRSQVNIX0RJUkVDVE9SWSIKLWNhc2UgIiRUUkFTSF9ESVJFQ1RPUlkiIGluCi0vKikgOzsgIyBhYnNvbHV0ZSBwYXRoIGlzIGdvb2QKLSAqKSBUUkFTSF9ESVJFQ1RPUlk9IiRURVNUX09VVFBVVF9ESVJFQ1RPUlkvJFRSQVNIX0RJUkVDVE9SWSIgOzsKLWVzYWMKIHJtIC1mciAiJFRSQVNIX0RJUkVDVE9SWSIgfHwgewogCUdJVF9FWElUX09LPXQKIAllY2hvID4mNSAiRkFUQUw6IENhbm5vdCBwcmVwYXJlIHRlc3QgYXJlYSIKQEAgLTEwNTEsNiArMTM1Miw3IEBACiBlbHNlCiAJbWtkaXIgLXAgIiRUUkFTSF9ESVJFQ1RPUlkiCiBmaQorCiAjIFVzZSAtUCB0byByZXNvbHZlIHN5bWxpbmtzIGluIG91ciB3b3JraW5nIGRpcmVjdG9yeSBzbyB0aGF0IHRoZSBjd2QKICMgaW4gc3VicHJvY2Vzc2VzIGxpa2UgZ2l0IGVxdWFscyBvdXIgJFBXRCAoZm9yIHBhdGhuYW1lIGNvbXBhcmlzb25zKS4KIGNkIC1QICIkVFJBU0hfRElSRUNUT1JZIiB8fCBleGl0IDEKQEAgLTEwNjQsNyArMTM2NiwyOCBAQAogCXRlc3RfZG9uZQogZmkKIAotIyBQcm92aWRlIGFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSAneWVzJyB1dGlsaXR5CitpZiB0ZXN0IC1uICIkd3JpdGVfanVuaXRfeG1sIgordGhlbgorCWp1bml0X3htbF9kaXI9IiRURVNUX09VVFBVVF9ESVJFQ1RPUlkvb3V0IgorCW1rZGlyIC1wICIkanVuaXRfeG1sX2RpciIKKwlqdW5pdF94bWxfYmFzZT0kezAjIyovfQorCWp1bml0X3htbF9wYXRoPSIkanVuaXRfeG1sX2Rpci9URVNULSR7anVuaXRfeG1sX2Jhc2UlLnNofS54bWwiCisJanVuaXRfYXR0cnM9Im5hbWU9XCIke2p1bml0X3htbF9iYXNlJS5zaH1cIiIKKwlqdW5pdF9hdHRycz0iJGp1bml0X2F0dHJzIHRpbWVzdGFtcD1cIiQoVFo9VVRDIFwKKwkJZGF0ZSArJVktJW0tJWRUJUg6JU06JVMpXCIiCisJd3JpdGVfanVuaXRfeG1sIC0tdHJ1bmNhdGUgIjx0ZXN0c3VpdGVzPiIgIiAgPHRlc3RzdWl0ZSAkanVuaXRfYXR0cnM+IgorCWp1bml0X3N1aXRlX3N0YXJ0PSQodGVzdC10b29sIGRhdGUgZ2V0bmFub3MpCisJaWYgdGVzdCAtbiAiJEdJVF9URVNUX1RFRV9PVVRQVVRfRklMRSIKKwl0aGVuCisJCUdJVF9URVNUX1RFRV9PRkZTRVQ9MAorCWZpCitmaQorCisjIFByb3ZpZGUgYW4gaW1wbGVtZW50YXRpb24gb2YgdGhlICd5ZXMnIHV0aWxpdHk7IHRoZSB1cHBlciBib3VuZAorIyBsaW1pdCBpcyB0aGVyZSB0byBoZWxwIFdpbmRvd3MgdGhhdCBjYW5ub3Qgc3RvcCB0aGlzIGxvb3AgZnJvbQorIyB3YXN0aW5nIGN5Y2xlcyB3aGVuIHRoZSBkb3duc3RyZWFtIHN0b3BzIHJlYWRpbmcsIHNvIGRvIG5vdCBiZQorIyB0ZW1wdGVkIHRvIHR1cm4gaXQgaW50byBhbiBpbmZpbml0ZSBsb29wLiBjZi4gNjEyOWM5MzAgKCJ0ZXN0LWxpYjoKKyMgbGltaXQgdGhlIG91dHB1dCBvZiB0aGUgeWVzIHV0aWxpdHkiLCAyMDE2LTAyLTAyKQogeWVzICgpIHsKIAlpZiB0ZXN0ICQjID0gMAogCXRoZW4KQEAgLTEwODEsNyArMTQwNCwyNiBAQAogCWRvbmUKIH0KIAotIyBGaXggc29tZSBjb21tYW5kcyBvbiBXaW5kb3dzCisjIFRoZSBHSVRfVEVTVF9GQUlMX1BSRVJFUVMgY29kZSBob29rcyBpbnRvIHRlc3Rfc2V0X3ByZXJlcSgpLCBhbmQKKyMgdGh1cyBuZWVkcyB0byBiZSBzZXQgdXAgcmVhbGx5IGVhcmx5LCBhbmQgc2V0IGFuIGludGVybmFsIHZhcmlhYmxlCisjIGZvciBjb252ZW5pZW5jZSBzbyB0aGUgaG90IHRlc3Rfc2V0X3ByZXJlcSgpIGNvZGVwYXRoIGRvZXNuJ3QgbmVlZAorIyB0byBjYWxsICJnaXQgZW52LS1oZWxwZXIiICh2aWEgdGVzdF9ib29sX2VudikuIE9ubHkgZG8gdGhhdCB3b3JrCisjIGlmIG5lZWRlZCBieSBzZWVpbmcgaWYgR0lUX1RFU1RfRkFJTF9QUkVSRVFTIGlzIHNldCBhdCBhbGwuCitHSVRfVEVTVF9GQUlMX1BSRVJFUVNfSU5URVJOQUw9CitpZiB0ZXN0IC1uICIkR0lUX1RFU1RfRkFJTF9QUkVSRVFTIgordGhlbgorCWlmIHRlc3RfYm9vbF9lbnYgR0lUX1RFU1RfRkFJTF9QUkVSRVFTIGZhbHNlCisJdGhlbgorCQlHSVRfVEVTVF9GQUlMX1BSRVJFUVNfSU5URVJOQUw9dHJ1ZQorCQl0ZXN0X3NldF9wcmVyZXEgRkFJTF9QUkVSRVFTCisJZmkKK2Vsc2UKKwl0ZXN0X2xhenlfcHJlcmVxIEZBSUxfUFJFUkVRUyAnCisJCXRlc3RfYm9vbF9lbnYgR0lUX1RFU1RfRkFJTF9QUkVSRVFTIGZhbHNlCisJJworZmkKKworIyBGaXggc29tZSBjb21tYW5kcyBvbiBXaW5kb3dzLCBhbmQgb3RoZXIgT1Mtc3BlY2lmaWMgdGhpbmdzCiB1bmFtZV9zPSQodW5hbWUgLXMpCiBjYXNlICR1bmFtZV9zIGluCiAqTUlOR1cqKQpAQCAtMTExMiw2ICsxNDU0LDEyIEBACiAJdGVzdF9zZXRfcHJlcmVxIFNFRF9TVFJJUFNfQ1IKIAl0ZXN0X3NldF9wcmVyZXEgR1JFUF9TVFJJUFNfQ1IKIAk7OworRnJlZUJTRCkKKwl0ZXN0X3NldF9wcmVyZXEgUkVHRVhfSUxMU0VRCisJdGVzdF9zZXRfcHJlcmVxIFBPU0lYUEVSTQorCXRlc3Rfc2V0X3ByZXJlcSBCU0xBU0hQU1BFQworCXRlc3Rfc2V0X3ByZXJlcSBFWEVDS0VFUFNQSUQKKwk7OwogKikKIAl0ZXN0X3NldF9wcmVyZXEgUE9TSVhQRVJNCiAJdGVzdF9zZXRfcHJlcmVxIEJTTEFTSFBTUEVDCkBAIC0xMTMxLDE0ICsxNDc5LDEzIEBACiBpZiB0ZXN0IC1uICIkR0lUX1RFU1RfR0VUVEVYVF9QT0lTT05fT1JJRyIKIHRoZW4KIAlHSVRfVEVTVF9HRVRURVhUX1BPSVNPTj0kR0lUX1RFU1RfR0VUVEVYVF9QT0lTT05fT1JJRworCWV4cG9ydCBHSVRfVEVTVF9HRVRURVhUX1BPSVNPTgogCXVuc2V0IEdJVF9URVNUX0dFVFRFWFRfUE9JU09OX09SSUcKIGZpCiAKLSMgQ2FuIHdlIHJlbHkgb24gZ2l0J3Mgb3V0cHV0IGluIHRoZSBDIGxvY2FsZT8KLWlmIHRlc3QgLXogIiRHSVRfVEVTVF9HRVRURVhUX1BPSVNPTiIKLXRoZW4KLQl0ZXN0X3NldF9wcmVyZXEgQ19MT0NBTEVfT1VUUFVUCi1maQordGVzdF9sYXp5X3ByZXJlcSBDX0xPQ0FMRV9PVVRQVVQgJworCSEgdGVzdF9ib29sX2VudiBHSVRfVEVTVF9HRVRURVhUX1BPSVNPTiBmYWxzZQorJwogCiBpZiB0ZXN0IC16ICIkR0lUX1RFU1RfQ0hFQ0tfQ0FDSEVfVFJFRSIKIHRoZW4KQEAgLTEyMTMsNyArMTU2MCw3IEBACiAnCiAKIHRlc3RfbGF6eV9wcmVyZXEgSkdJVCAnCi0JdHlwZSBqZ2l0CisJamdpdCAtLXZlcnNpb24KICcKIAogIyBTQU5JVFkgaXMgYWJvdXQgImNhbiB5b3UgY29ycmVjdGx5IHByZWRpY3Qgd2hhdCB0aGUgZmlsZXN5c3RlbSB3b3VsZApkaWZmIC0tZ2l0IGEvdGFnLmMgYi90YWcuYwppbmRleCA3NDQ1YjhmLi43MWI1NDQ0IDEwMDY0NAotLS0gYS90YWcuYworKysgYi90YWcuYwpAQCAtMTAwLDEwICsxMDAsOSBAQAogCiBzdHJ1Y3QgdGFnICpsb29rdXBfdGFnKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0Jc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX29iamVjdChyLCBvaWQtPmhhc2gpOworCXN0cnVjdCBvYmplY3QgKm9iaiA9IGxvb2t1cF9vYmplY3Qociwgb2lkKTsKIAlpZiAoIW9iaikKLQkJcmV0dXJuIGNyZWF0ZV9vYmplY3Qociwgb2lkLT5oYXNoLAotCQkJCSAgICAgYWxsb2NfdGFnX25vZGUocikpOworCQlyZXR1cm4gY3JlYXRlX29iamVjdChyLCBvaWQsIGFsbG9jX3RhZ19ub2RlKHIpKTsKIAlyZXR1cm4gb2JqZWN0X2FzX3R5cGUociwgb2JqLCBPQkpfVEFHLCAwKTsKIH0KIApAQCAtMTQyLDcgKzE0MSwxNiBAQAogCiAJaWYgKGl0ZW0tPm9iamVjdC5wYXJzZWQpCiAJCXJldHVybiAwOwotCWl0ZW0tPm9iamVjdC5wYXJzZWQgPSAxOworCisJaWYgKGl0ZW0tPnRhZykgeworCQkvKgorCQkgKiBQcmVzdW1hYmx5IGxlZnQgb3ZlciBmcm9tIGEgcHJldmlvdXMgZmFpbGVkIHBhcnNlOworCQkgKiBjbGVhciBpdCBvdXQgaW4gcHJlcGFyYXRpb24gZm9yIHJlLXBhcnNpbmcgKHdlJ2xsIHByb2JhYmx5CisJCSAqIGhpdCB0aGUgc2FtZSBlcnJvciwgd2hpY2ggbGV0cyB1cyB0ZWxsIG91ciBjdXJyZW50IGNhbGxlcgorCQkgKiBhYm91dCB0aGUgcHJvYmxlbSkuCisJCSAqLworCQlGUkVFX0FORF9OVUxMKGl0ZW0tPnRhZyk7CisJfQogCiAJaWYgKHNpemUgPCB0aGVfaGFzaF9hbGdvLT5oZXhzeiArIDI0KQogCQlyZXR1cm4gLTE7CkBAIC0xNjgsMTAgKzE3NiwxNSBAQAogCX0gZWxzZSBpZiAoIXN0cmNtcCh0eXBlLCB0YWdfdHlwZSkpIHsKIAkJaXRlbS0+dGFnZ2VkID0gKHN0cnVjdCBvYmplY3QgKilsb29rdXBfdGFnKHIsICZvaWQpOwogCX0gZWxzZSB7Ci0JCWVycm9yKCJVbmtub3duIHR5cGUgJXMiLCB0eXBlKTsKLQkJaXRlbS0+dGFnZ2VkID0gTlVMTDsKKwkJcmV0dXJuIGVycm9yKCJ1bmtub3duIHRhZyB0eXBlICclcycgaW4gJXMiLAorCQkJICAgICB0eXBlLCBvaWRfdG9faGV4KCZpdGVtLT5vYmplY3Qub2lkKSk7CiAJfQogCisJaWYgKCFpdGVtLT50YWdnZWQpCisJCXJldHVybiBlcnJvcigiYmFkIHRhZyBwb2ludGVyIHRvICVzIGluICVzIiwKKwkJCSAgICAgb2lkX3RvX2hleCgmb2lkKSwKKwkJCSAgICAgb2lkX3RvX2hleCgmaXRlbS0+b2JqZWN0Lm9pZCkpOworCiAJaWYgKGJ1ZnB0ciArIDQgPCB0YWlsICYmIHN0YXJ0c193aXRoKGJ1ZnB0ciwgInRhZyAiKSkKIAkJOyAJCS8qIGdvb2QgKi8KIAllbHNlCkBAIC0xODgsNiArMjAxLDcgQEAKIAllbHNlCiAJCWl0ZW0tPmRhdGUgPSAwOwogCisJaXRlbS0+b2JqZWN0LnBhcnNlZCA9IDE7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTIxMywzICsyMjcsMTAgQEAKIAlmcmVlKGRhdGEpOwogCXJldHVybiByZXQ7CiB9CisKK3N0cnVjdCBvYmplY3RfaWQgKmdldF90YWdnZWRfb2lkKHN0cnVjdCB0YWcgKnRhZykKK3sKKwlpZiAoIXRhZy0+dGFnZ2VkKQorCQlkaWUoImJhZCB0YWciKTsKKwlyZXR1cm4gJnRhZy0+dGFnZ2VkLT5vaWQ7Cit9CmRpZmYgLS1naXQgYS90YWcuaCBiL3RhZy5oCmluZGV4IGU2NjljM2UuLjNjZThlNzIgMTAwNjQ0Ci0tLSBhL3RhZy5oCisrKyBiL3RhZy5oCkBAIC0xMSwxMyArMTEsMTQgQEAKIAljaGFyICp0YWc7CiAJdGltZXN0YW1wX3QgZGF0ZTsKIH07Ci1leHRlcm4gc3RydWN0IHRhZyAqbG9va3VwX3RhZyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKLWV4dGVybiBpbnQgcGFyc2VfdGFnX2J1ZmZlcihzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHRhZyAqaXRlbSwgY29uc3Qgdm9pZCAqZGF0YSwgdW5zaWduZWQgbG9uZyBzaXplKTsKLWV4dGVybiBpbnQgcGFyc2VfdGFnKHN0cnVjdCB0YWcgKml0ZW0pOwotZXh0ZXJuIHZvaWQgcmVsZWFzZV90YWdfbWVtb3J5KHN0cnVjdCB0YWcgKnQpOwotZXh0ZXJuIHN0cnVjdCBvYmplY3QgKmRlcmVmX3RhZyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IG9iamVjdCAqLCBjb25zdCBjaGFyICosIGludCk7Ci1leHRlcm4gc3RydWN0IG9iamVjdCAqZGVyZWZfdGFnX25vdmVyaWZ5KHN0cnVjdCBvYmplY3QgKik7Ci1leHRlcm4gaW50IGdwZ192ZXJpZnlfdGFnKGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKLQkJY29uc3QgY2hhciAqbmFtZV90b19yZXBvcnQsIHVuc2lnbmVkIGZsYWdzKTsKK3N0cnVjdCB0YWcgKmxvb2t1cF90YWcoc3RydWN0IHJlcG9zaXRvcnkgKnIsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CitpbnQgcGFyc2VfdGFnX2J1ZmZlcihzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHRhZyAqaXRlbSwgY29uc3Qgdm9pZCAqZGF0YSwgdW5zaWduZWQgbG9uZyBzaXplKTsKK2ludCBwYXJzZV90YWcoc3RydWN0IHRhZyAqaXRlbSk7Cit2b2lkIHJlbGVhc2VfdGFnX21lbW9yeShzdHJ1Y3QgdGFnICp0KTsKK3N0cnVjdCBvYmplY3QgKmRlcmVmX3RhZyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IG9iamVjdCAqLCBjb25zdCBjaGFyICosIGludCk7CitzdHJ1Y3Qgb2JqZWN0ICpkZXJlZl90YWdfbm92ZXJpZnkoc3RydWN0IG9iamVjdCAqKTsKK2ludCBncGdfdmVyaWZ5X3RhZyhjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsCisJCSAgIGNvbnN0IGNoYXIgKm5hbWVfdG9fcmVwb3J0LCB1bnNpZ25lZCBmbGFncyk7CitzdHJ1Y3Qgb2JqZWN0X2lkICpnZXRfdGFnZ2VkX29pZChzdHJ1Y3QgdGFnICp0YWcpOwogCiAjZW5kaWYgLyogVEFHX0ggKi8KZGlmZiAtLWdpdCBhL3Rhci5oIGIvdGFyLmgKaW5kZXggMzQ2NzcwNS4uNmIyNThjNCAxMDA2NDQKLS0tIGEvdGFyLmgKKysrIGIvdGFyLmgKQEAgLTEsMyArMSw2IEBACisjaWZuZGVmIFRBUl9ICisjZGVmaW5lIFRBUl9ICisKICNkZWZpbmUgVFlQRUZMQUdfQVVUTwkJJ1wwJwogI2RlZmluZSBUWVBFRkxBR19SRUcJCScwJwogI2RlZmluZSBUWVBFRkxBR19MTksJCScyJwpAQCAtMjMsMyArMjYsNSBAQAogCWNoYXIgZGV2bWlub3JbOF07CS8qIDMzNyAqLwogCWNoYXIgcHJlZml4WzE1NV07CS8qIDM0NSAqLwogfTsKKworI2VuZGlmIC8qIFRBUl9IICovCmRpZmYgLS1naXQgYS90ZW1wZmlsZS5oIGIvdGVtcGZpbGUuaAppbmRleCA2MWQ4ZGM0Li5jZGRkYTBhIDEwMDY0NAotLS0gYS90ZW1wZmlsZS5oCisrKyBiL3RlbXBmaWxlLmgKQEAgLTg5LDcgKzg5LDcgQEAKICAqIGEgdGVtcGZpbGUgKHdob3NlICJmZCIgbWVtYmVyIGNhbiBiZSB1c2VkIGZvciB3cml0aW5nIHRvIGl0KSwgb3IKICAqIE5VTEwgb24gZXJyb3IuIEl0IGlzIGFuIGVycm9yIGlmIGEgZmlsZSBhbHJlYWR5IGV4aXN0cyBhdCB0aGF0IHBhdGguCiAgKi8KLWV4dGVybiBzdHJ1Y3QgdGVtcGZpbGUgKmNyZWF0ZV90ZW1wZmlsZShjb25zdCBjaGFyICpwYXRoKTsKK3N0cnVjdCB0ZW1wZmlsZSAqY3JlYXRlX3RlbXBmaWxlKGNvbnN0IGNoYXIgKnBhdGgpOwogCiAvKgogICogUmVnaXN0ZXIgYW4gZXhpc3RpbmcgZmlsZSBhcyBhIHRlbXBmaWxlLCBtZWFuaW5nIHRoYXQgaXQgd2lsbCBiZQpAQCAtOTcsNyArOTcsNyBAQAogICogYnV0IGl0IGNhbiBiZSB3b3JrZWQgd2l0aCBsaWtlIGFueSBvdGhlciBjbG9zZWQgdGVtcGZpbGUgKGZvcgogICogZXhhbXBsZSwgaXQgY2FuIGJlIG9wZW5lZCB1c2luZyByZW9wZW5fdGVtcGZpbGUoKSkuCiAgKi8KLWV4dGVybiBzdHJ1Y3QgdGVtcGZpbGUgKnJlZ2lzdGVyX3RlbXBmaWxlKGNvbnN0IGNoYXIgKnBhdGgpOworc3RydWN0IHRlbXBmaWxlICpyZWdpc3Rlcl90ZW1wZmlsZShjb25zdCBjaGFyICpwYXRoKTsKIAogCiAvKgpAQCAtMTM2LDggKzEzNiw4IEBACiAgKi8KIAogLyogU2VlICJta3NfdGVtcGZpbGUgZnVuY3Rpb25zIiBhYm92ZS4gKi8KLWV4dGVybiBzdHJ1Y3QgdGVtcGZpbGUgKm1rc190ZW1wZmlsZV9zbShjb25zdCBjaGFyICpmaWxlbmFtZV90ZW1wbGF0ZSwKLQkJCQkJaW50IHN1ZmZpeGxlbiwgaW50IG1vZGUpOworc3RydWN0IHRlbXBmaWxlICpta3NfdGVtcGZpbGVfc20oY29uc3QgY2hhciAqZmlsZW5hbWVfdGVtcGxhdGUsCisJCQkJIGludCBzdWZmaXhsZW4sIGludCBtb2RlKTsKIAogLyogU2VlICJta3NfdGVtcGZpbGUgZnVuY3Rpb25zIiBhYm92ZS4gKi8KIHN0YXRpYyBpbmxpbmUgc3RydWN0IHRlbXBmaWxlICpta3NfdGVtcGZpbGVfcyhjb25zdCBjaGFyICpmaWxlbmFtZV90ZW1wbGF0ZSwKQEAgLTE1OSw4ICsxNTksOCBAQAogfQogCiAvKiBTZWUgIm1rc190ZW1wZmlsZSBmdW5jdGlvbnMiIGFib3ZlLiAqLwotZXh0ZXJuIHN0cnVjdCB0ZW1wZmlsZSAqbWtzX3RlbXBmaWxlX3RzbShjb25zdCBjaGFyICpmaWxlbmFtZV90ZW1wbGF0ZSwKLQkJCQkJIGludCBzdWZmaXhsZW4sIGludCBtb2RlKTsKK3N0cnVjdCB0ZW1wZmlsZSAqbWtzX3RlbXBmaWxlX3RzbShjb25zdCBjaGFyICpmaWxlbmFtZV90ZW1wbGF0ZSwKKwkJCQkgIGludCBzdWZmaXhsZW4sIGludCBtb2RlKTsKIAogLyogU2VlICJta3NfdGVtcGZpbGUgZnVuY3Rpb25zIiBhYm92ZS4gKi8KIHN0YXRpYyBpbmxpbmUgc3RydWN0IHRlbXBmaWxlICpta3NfdGVtcGZpbGVfdHMoY29uc3QgY2hhciAqZmlsZW5hbWVfdGVtcGxhdGUsCkBAIC0xODIsNyArMTgyLDcgQEAKIH0KIAogLyogU2VlICJta3NfdGVtcGZpbGUgZnVuY3Rpb25zIiBhYm92ZS4gKi8KLWV4dGVybiBzdHJ1Y3QgdGVtcGZpbGUgKnhta3NfdGVtcGZpbGVfbShjb25zdCBjaGFyICpmaWxlbmFtZV90ZW1wbGF0ZSwgaW50IG1vZGUpOworc3RydWN0IHRlbXBmaWxlICp4bWtzX3RlbXBmaWxlX20oY29uc3QgY2hhciAqZmlsZW5hbWVfdGVtcGxhdGUsIGludCBtb2RlKTsKIAogLyogU2VlICJta3NfdGVtcGZpbGUgZnVuY3Rpb25zIiBhYm92ZS4gKi8KIHN0YXRpYyBpbmxpbmUgc3RydWN0IHRlbXBmaWxlICp4bWtzX3RlbXBmaWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lX3RlbXBsYXRlKQpAQCAtMTk2LDcgKzE5Niw3IEBACiAgKiBzdHJlYW0gaXMgY2xvc2VkIGF1dG9tYXRpY2FsbHkgd2hlbiBgY2xvc2VfdGVtcGZpbGVfZ2VudGx5KClgIGlzIGNhbGxlZCBvcgogICogd2hlbiB0aGUgZmlsZSBpcyBkZWxldGVkIG9yIHJlbmFtZWQuCiAgKi8KLWV4dGVybiBGSUxFICpmZG9wZW5fdGVtcGZpbGUoc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZSwgY29uc3QgY2hhciAqbW9kZSk7CitGSUxFICpmZG9wZW5fdGVtcGZpbGUoc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZSwgY29uc3QgY2hhciAqbW9kZSk7CiAKIHN0YXRpYyBpbmxpbmUgaW50IGlzX3RlbXBmaWxlX2FjdGl2ZShzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlKQogewpAQCAtMjA3LDEwICsyMDcsMTAgQEAKICAqIFJldHVybiB0aGUgcGF0aCBvZiB0aGUgbG9ja2ZpbGUuIFRoZSByZXR1cm4gdmFsdWUgaXMgYSBwb2ludGVyIHRvIGEKICAqIGZpZWxkIHdpdGhpbiB0aGUgbG9ja19maWxlIG9iamVjdCBhbmQgc2hvdWxkIG5vdCBiZSBmcmVlZC4KICAqLwotZXh0ZXJuIGNvbnN0IGNoYXIgKmdldF90ZW1wZmlsZV9wYXRoKHN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUpOworY29uc3QgY2hhciAqZ2V0X3RlbXBmaWxlX3BhdGgoc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZSk7CiAKLWV4dGVybiBpbnQgZ2V0X3RlbXBmaWxlX2ZkKHN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUpOwotZXh0ZXJuIEZJTEUgKmdldF90ZW1wZmlsZV9mcChzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlKTsKK2ludCBnZXRfdGVtcGZpbGVfZmQoc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZSk7CitGSUxFICpnZXRfdGVtcGZpbGVfZnAoc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZSk7CiAKIC8qCiAgKiBJZiB0aGUgdGVtcG9yYXJ5IGZpbGUgaXMgc3RpbGwgb3BlbiwgY2xvc2UgaXQgKGFuZCB0aGUgZmlsZSBwb2ludGVyCkBAIC0yMjAsNyArMjIwLDcgQEAKICAqIHNob3VsZCBldmVudHVhbGx5IGJlIGNhbGxlZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgYGNsb3NlX3RlbXBmaWxlX2dlbnRseSgpYAogICogc3VjY2VlZHMuCiAgKi8KLWV4dGVybiBpbnQgY2xvc2VfdGVtcGZpbGVfZ2VudGx5KHN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUpOworaW50IGNsb3NlX3RlbXBmaWxlX2dlbnRseShzdHJ1Y3QgdGVtcGZpbGUgKnRlbXBmaWxlKTsKIAogLyoKICAqIFJlLW9wZW4gYSB0ZW1wb3JhcnkgZmlsZSB0aGF0IGhhcyBiZWVuIGNsb3NlZCB1c2luZwpAQCAtMjQxLDcgKzI0MSw3IEBACiAgKgogICogKiBgcmVuYW1lX3RlbXBmaWxlKClgIHRvIG1vdmUgdGhlIGZpbGUgdG8gaXRzIHBlcm1hbmVudCBsb2NhdGlvbi4KICAqLwotZXh0ZXJuIGludCByZW9wZW5fdGVtcGZpbGUoc3RydWN0IHRlbXBmaWxlICp0ZW1wZmlsZSk7CitpbnQgcmVvcGVuX3RlbXBmaWxlKHN0cnVjdCB0ZW1wZmlsZSAqdGVtcGZpbGUpOwogCiAvKgogICogQ2xvc2UgdGhlIGZpbGUgZGVzY3JpcHRvciBhbmQvb3IgZmlsZSBwb2ludGVyIGFuZCByZW1vdmUgdGhlCkBAIC0yNDksNyArMjQ5LDcgQEAKICAqIGBkZWxldGVfdGVtcGZpbGUoKWAgZm9yIGEgYHRlbXBmaWxlYCBvYmplY3QgdGhhdCBoYXMgYWxyZWFkeSBiZWVuCiAgKiBkZWxldGVkIG9yIHJlbmFtZWQuCiAgKi8KLWV4dGVybiB2b2lkIGRlbGV0ZV90ZW1wZmlsZShzdHJ1Y3QgdGVtcGZpbGUgKip0ZW1wZmlsZV9wKTsKK3ZvaWQgZGVsZXRlX3RlbXBmaWxlKHN0cnVjdCB0ZW1wZmlsZSAqKnRlbXBmaWxlX3ApOwogCiAvKgogICogQ2xvc2UgdGhlIGZpbGUgZGVzY3JpcHRvciBhbmQvb3IgZmlsZSBwb2ludGVyIGlmIHRoZXkgYXJlIHN0aWxsCkBAIC0yNjAsNiArMjYwLDYgQEAKICAqIGByZW5hbWUoMilgLiBJdCBpcyBhIGJ1ZyB0byBjYWxsIGByZW5hbWVfdGVtcGZpbGUoKWAgZm9yIGEKICAqIGB0ZW1wZmlsZWAgb2JqZWN0IHRoYXQgaXMgbm90IGN1cnJlbnRseSBhY3RpdmUuCiAgKi8KLWV4dGVybiBpbnQgcmVuYW1lX3RlbXBmaWxlKHN0cnVjdCB0ZW1wZmlsZSAqKnRlbXBmaWxlX3AsIGNvbnN0IGNoYXIgKnBhdGgpOworaW50IHJlbmFtZV90ZW1wZmlsZShzdHJ1Y3QgdGVtcGZpbGUgKip0ZW1wZmlsZV9wLCBjb25zdCBjaGFyICpwYXRoKTsKIAogI2VuZGlmIC8qIFRFTVBGSUxFX0ggKi8KZGlmZiAtLWdpdCBhL3RlbXBsYXRlcy9ob29rcy0tZnNtb25pdG9yLXdhdGNobWFuLnNhbXBsZSBiL3RlbXBsYXRlcy9ob29rcy0tZnNtb25pdG9yLXdhdGNobWFuLnNhbXBsZQppbmRleCBlNjczYmIzLi4xNGVkMGFhIDEwMDc1NQotLS0gYS90ZW1wbGF0ZXMvaG9va3MtLWZzbW9uaXRvci13YXRjaG1hbi5zYW1wbGUKKysrIGIvdGVtcGxhdGVzL2hvb2tzLS1mc21vbml0b3Itd2F0Y2htYW4uc2FtcGxlCkBAIC04LDEwNyArOCwxNjYgQEAKICMgKGh0dHBzOi8vZmFjZWJvb2suZ2l0aHViLmlvL3dhdGNobWFuLykgd2l0aCBnaXQgdG8gc3BlZWQgdXAgZGV0ZWN0aW5nCiAjIG5ldyBhbmQgbW9kaWZpZWQgZmlsZXMuCiAjCi0jIFRoZSBob29rIGlzIHBhc3NlZCBhIHZlcnNpb24gKGN1cnJlbnRseSAxKSBhbmQgYSB0aW1lIGluIG5hbm9zZWNvbmRzCi0jIGZvcm1hdHRlZCBhcyBhIHN0cmluZyBhbmQgb3V0cHV0cyB0byBzdGRvdXQgYWxsIGZpbGVzIHRoYXQgaGF2ZSBiZWVuCi0jIG1vZGlmaWVkIHNpbmNlIHRoZSBnaXZlbiB0aW1lLiBQYXRocyBtdXN0IGJlIHJlbGF0aXZlIHRvIHRoZSByb290IG9mCi0jIHRoZSB3b3JraW5nIHRyZWUgYW5kIHNlcGFyYXRlZCBieSBhIHNpbmdsZSBOVUwuCisjIFRoZSBob29rIGlzIHBhc3NlZCBhIHZlcnNpb24gKGN1cnJlbnRseSAyKSBhbmQgbGFzdCB1cGRhdGUgdG9rZW4KKyMgZm9ybWF0dGVkIGFzIGEgc3RyaW5nIGFuZCBvdXRwdXRzIHRvIHN0ZG91dCBhIG5ldyB1cGRhdGUgdG9rZW4gYW5kCisjIGFsbCBmaWxlcyB0aGF0IGhhdmUgYmVlbiBtb2RpZmllZCBzaW5jZSB0aGUgdXBkYXRlIHRva2VuLiBQYXRocyBtdXN0CisjIGJlIHJlbGF0aXZlIHRvIHRoZSByb290IG9mIHRoZSB3b3JraW5nIHRyZWUgYW5kIHNlcGFyYXRlZCBieSBhIHNpbmdsZSBOVUwuCiAjCiAjIFRvIGVuYWJsZSB0aGlzIGhvb2ssIHJlbmFtZSB0aGlzIGZpbGUgdG8gInF1ZXJ5LXdhdGNobWFuIiBhbmQgc2V0CiAjICdnaXQgY29uZmlnIGNvcmUuZnNtb25pdG9yIC5naXQvaG9va3MvcXVlcnktd2F0Y2htYW4nCiAjCi1teSAoJHZlcnNpb24sICR0aW1lKSA9IEBBUkdWOworbXkgKCR2ZXJzaW9uLCAkbGFzdF91cGRhdGVfdG9rZW4pID0gQEFSR1Y7CisKKyMgVW5jb21tZW50IGZvciBkZWJ1Z2dpbmcKKyMgcHJpbnQgU1RERVJSICIkMCAkdmVyc2lvbiAkbGFzdF91cGRhdGVfdG9rZW5cbiI7CiAKICMgQ2hlY2sgdGhlIGhvb2sgaW50ZXJmYWNlIHZlcnNpb24KLQotaWYgKCR2ZXJzaW9uID09IDEpIHsKLQkjIGNvbnZlcnQgbmFub3NlY29uZHMgdG8gc2Vjb25kcwotCSR0aW1lID0gaW50ICR0aW1lIC8gMTAwMDAwMDAwMDsKLX0gZWxzZSB7CitpZiAoJHZlcnNpb24gbmUgMikgewogCWRpZSAiVW5zdXBwb3J0ZWQgcXVlcnktZnNtb25pdG9yIGhvb2sgdmVyc2lvbiAnJHZlcnNpb24nLlxuIiAuCiAJICAgICJGYWxsaW5nIGJhY2sgdG8gc2Nhbm5pbmcuLi5cbiI7CiB9CiAKLW15ICRnaXRfd29ya190cmVlOwotaWYgKCReTyA9fiAnbXN5cycgfHwgJF5PID1+ICdjeWd3aW4nKSB7Ci0JJGdpdF93b3JrX3RyZWUgPSBXaW4zMjo6R2V0Q3dkKCk7Ci0JJGdpdF93b3JrX3RyZWUgPX4gdHIvXFwvXC8vOwotfSBlbHNlIHsKLQlyZXF1aXJlIEN3ZDsKLQkkZ2l0X3dvcmtfdHJlZSA9IEN3ZDo6Y3dkKCk7Ci19CitteSAkZ2l0X3dvcmtfdHJlZSA9IGdldF93b3JraW5nX2RpcigpOwogCiBteSAkcmV0cnkgPSAxOwogCitteSAkanNvbl9wa2c7CitldmFsIHsKKwlyZXF1aXJlIEpTT046OlhTOworCSRqc29uX3BrZyA9ICJKU09OOjpYUyI7CisJMTsKK30gb3IgZG8geworCXJlcXVpcmUgSlNPTjo6UFA7CisJJGpzb25fcGtnID0gIkpTT046OlBQIjsKK307CisKIGxhdW5jaF93YXRjaG1hbigpOwogCiBzdWIgbGF1bmNoX3dhdGNobWFuIHsKKwlteSAkbyA9IHdhdGNobWFuX3F1ZXJ5KCk7CisJaWYgKGlzX3dvcmtfdHJlZV93YXRjaGVkKCRvKSkgeworCQlvdXRwdXRfcmVzdWx0KCRvLT57Y2xvY2t9LCBAeyRvLT57ZmlsZXN9fSk7CisJfQorfQogCitzdWIgb3V0cHV0X3Jlc3VsdCB7CisJbXkgKCRjbG9ja2lkLCBAZmlsZXMpID0gQF87CisKKwkjIFVuY29tbWVudCBmb3IgZGVidWdnaW5nIHdhdGNobWFuIG91dHB1dAorCSMgb3BlbiAobXkgJGZoLCAiPiIsICIuZ2l0L3dhdGNobWFuLW91dHB1dC5vdXQiKTsKKwkjIGJpbm1vZGUgJGZoLCAiOnV0ZjgiOworCSMgcHJpbnQgJGZoICIkY2xvY2tpZFxuQGZpbGVzXG4iOworCSMgY2xvc2UgJGZoOworCisJYmlubW9kZSBTVERPVVQsICI6dXRmOCI7CisJcHJpbnQgJGNsb2NraWQ7CisJcHJpbnQgIlwwIjsKKwlsb2NhbCAkLCA9ICJcMCI7CisJcHJpbnQgQGZpbGVzOworfQorCitzdWIgd2F0Y2htYW5fY2xvY2sgeworCW15ICRyZXNwb25zZSA9IHF4L3dhdGNobWFuIGNsb2NrICIkZ2l0X3dvcmtfdHJlZSIvOworCWRpZSAiRmFpbGVkIHRvIGdldCBjbG9jayBpZCBvbiAnJGdpdF93b3JrX3RyZWUnLlxuIiAuCisJCSJGYWxsaW5nIGJhY2sgdG8gc2Nhbm5pbmcuLi5cbiIgaWYgJD8gIT0gMDsKKworCXJldHVybiAkanNvbl9wa2ctPm5ldy0+dXRmOC0+ZGVjb2RlKCRyZXNwb25zZSk7Cit9CisKK3N1YiB3YXRjaG1hbl9xdWVyeSB7CiAJbXkgJHBpZCA9IG9wZW4yKFwqQ0hMRF9PVVQsIFwqQ0hMRF9JTiwgJ3dhdGNobWFuIC1qIC0tbm8tcHJldHR5JykKLQkgICAgb3IgZGllICJvcGVuMigpIGZhaWxlZDogJCFcbiIgLgotCSAgICAiRmFsbGluZyBiYWNrIHRvIHNjYW5uaW5nLi4uXG4iOworCW9yIGRpZSAib3BlbjIoKSBmYWlsZWQ6ICQhXG4iIC4KKwkiRmFsbGluZyBiYWNrIHRvIHNjYW5uaW5nLi4uXG4iOwogCiAJIyBJbiB0aGUgcXVlcnkgZXhwcmVzc2lvbiBiZWxvdyB3ZSdyZSBhc2tpbmcgZm9yIG5hbWVzIG9mIGZpbGVzIHRoYXQKLQkjIGNoYW5nZWQgc2luY2UgJHRpbWUgYnV0IHdlcmUgbm90IHRyYW5zaWVudCAoaWUgY3JlYXRlZCBhZnRlcgotCSMgJHRpbWUgYnV0IG5vIGxvbmdlciBleGlzdCkuCisJIyBjaGFuZ2VkIHNpbmNlICRsYXN0X3VwZGF0ZV90b2tlbiBidXQgbm90IGZyb20gdGhlIC5naXQgZm9sZGVyLgogCSMKIAkjIFRvIGFjY29tcGxpc2ggdGhpcywgd2UncmUgdXNpbmcgdGhlICJzaW5jZSIgZ2VuZXJhdG9yIHRvIHVzZSB0aGUKIAkjIHJlY2VuY3kgaW5kZXggdG8gc2VsZWN0IGNhbmRpZGF0ZSBub2RlcyBhbmQgImZpZWxkcyIgdG8gbGltaXQgdGhlCiAJIyBvdXRwdXQgdG8gZmlsZSBuYW1lcyBvbmx5LiBUaGVuIHdlJ3JlIHVzaW5nIHRoZSAiZXhwcmVzc2lvbiIgdGVybSB0bwogCSMgZnVydGhlciBjb25zdHJhaW4gdGhlIHJlc3VsdHMuCi0JIwotCSMgVGhlIGNhdGVnb3J5IG9mIHRyYW5zaWVudCBmaWxlcyB0aGF0IHdlIHdhbnQgdG8gaWdub3JlIHdpbGwgaGF2ZSBhCi0JIyBjcmVhdGlvbiBjbG9jayAoY2Nsb2NrKSBuZXdlciB0aGFuICR0aW1lX3QgdmFsdWUgYW5kIHdpbGwgYWxzbyBub3QKLQkjIGN1cnJlbnRseSBleGlzdC4KLQorCWlmIChzdWJzdHIoJGxhc3RfdXBkYXRlX3Rva2VuLCAwLCAxKSBlcSAiYyIpIHsKKwkJJGxhc3RfdXBkYXRlX3Rva2VuID0gIlwiJGxhc3RfdXBkYXRlX3Rva2VuXCIiOworCX0KIAlteSAkcXVlcnkgPSA8PCIJRU5EIjsKIAkJWyJxdWVyeSIsICIkZ2l0X3dvcmtfdHJlZSIsIHsKLQkJCSJzaW5jZSI6ICR0aW1lLAorCQkJInNpbmNlIjogJGxhc3RfdXBkYXRlX3Rva2VuLAogCQkJImZpZWxkcyI6IFsibmFtZSJdLAotCQkJImV4cHJlc3Npb24iOiBbIm5vdCIsIFsiYWxsb2YiLCBbInNpbmNlIiwgJHRpbWUsICJjY2xvY2siXSwgWyJub3QiLCAiZXhpc3RzIl1dXQorCQkJImV4cHJlc3Npb24iOiBbIm5vdCIsIFsiZGlybmFtZSIsICIuZ2l0Il1dCiAJCX1dCiAJRU5ECiAKKwkjIFVuY29tbWVudCBmb3IgZGVidWdnaW5nIHRoZSB3YXRjaG1hbiBxdWVyeQorCSMgb3BlbiAobXkgJGZoLCAiPiIsICIuZ2l0L3dhdGNobWFuLXF1ZXJ5Lmpzb24iKTsKKwkjIHByaW50ICRmaCAkcXVlcnk7CisJIyBjbG9zZSAkZmg7CisKIAlwcmludCBDSExEX0lOICRxdWVyeTsKIAljbG9zZSBDSExEX0lOOwogCW15ICRyZXNwb25zZSA9IGRvIHtsb2NhbCAkLzsgPENITERfT1VUPn07CiAKKwkjIFVuY29tbWVudCBmb3IgZGVidWdnaW5nIHRoZSB3YXRjaCByZXNwb25zZQorCSMgb3BlbiAoJGZoLCAiPiIsICIuZ2l0L3dhdGNobWFuLXJlc3BvbnNlLmpzb24iKTsKKwkjIHByaW50ICRmaCAkcmVzcG9uc2U7CisJIyBjbG9zZSAkZmg7CisKIAlkaWUgIldhdGNobWFuOiBjb21tYW5kIHJldHVybmVkIG5vIG91dHB1dC5cbiIgLgotCSAgICAiRmFsbGluZyBiYWNrIHRvIHNjYW5uaW5nLi4uXG4iIGlmICRyZXNwb25zZSBlcSAiIjsKKwkiRmFsbGluZyBiYWNrIHRvIHNjYW5uaW5nLi4uXG4iIGlmICRyZXNwb25zZSBlcSAiIjsKIAlkaWUgIldhdGNobWFuOiBjb21tYW5kIHJldHVybmVkIGludmFsaWQgb3V0cHV0OiAkcmVzcG9uc2VcbiIgLgotCSAgICAiRmFsbGluZyBiYWNrIHRvIHNjYW5uaW5nLi4uXG4iIHVubGVzcyAkcmVzcG9uc2UgPX4gL15cey87CisJIkZhbGxpbmcgYmFjayB0byBzY2FubmluZy4uLlxuIiB1bmxlc3MgJHJlc3BvbnNlID1+IC9eXHsvOwogCi0JbXkgJGpzb25fcGtnOwotCWV2YWwgewotCQlyZXF1aXJlIEpTT046OlhTOwotCQkkanNvbl9wa2cgPSAiSlNPTjo6WFMiOwotCQkxOwotCX0gb3IgZG8gewotCQlyZXF1aXJlIEpTT046OlBQOwotCQkkanNvbl9wa2cgPSAiSlNPTjo6UFAiOwotCX07CisJcmV0dXJuICRqc29uX3BrZy0+bmV3LT51dGY4LT5kZWNvZGUoJHJlc3BvbnNlKTsKK30KIAotCW15ICRvID0gJGpzb25fcGtnLT5uZXctPnV0ZjgtPmRlY29kZSgkcmVzcG9uc2UpOwotCi0JaWYgKCRyZXRyeSA+IDAgYW5kICRvLT57ZXJyb3J9IGFuZCAkby0+e2Vycm9yfSA9fiBtL3VuYWJsZSB0byByZXNvbHZlIHJvb3QgLiogZGlyZWN0b3J5ICguKikgaXMgbm90IHdhdGNoZWQvKSB7Ci0JCXByaW50IFNUREVSUiAiQWRkaW5nICckZ2l0X3dvcmtfdHJlZScgdG8gd2F0Y2htYW4ncyB3YXRjaCBsaXN0LlxuIjsKK3N1YiBpc193b3JrX3RyZWVfd2F0Y2hlZCB7CisJbXkgKCRvdXRwdXQpID0gQF87CisJbXkgJGVycm9yID0gJG91dHB1dC0+e2Vycm9yfTsKKwlpZiAoJHJldHJ5ID4gMCBhbmQgJGVycm9yIGFuZCAkZXJyb3IgPX4gbS91bmFibGUgdG8gcmVzb2x2ZSByb290IC4qIGRpcmVjdG9yeSAoLiopIGlzIG5vdCB3YXRjaGVkLykgewogCQkkcmV0cnktLTsKLQkJcXgvd2F0Y2htYW4gd2F0Y2ggIiRnaXRfd29ya190cmVlIi87CisJCW15ICRyZXNwb25zZSA9IHF4L3dhdGNobWFuIHdhdGNoICIkZ2l0X3dvcmtfdHJlZSIvOwogCQlkaWUgIkZhaWxlZCB0byBtYWtlIHdhdGNobWFuIHdhdGNoICckZ2l0X3dvcmtfdHJlZScuXG4iIC4KIAkJICAgICJGYWxsaW5nIGJhY2sgdG8gc2Nhbm5pbmcuLi5cbiIgaWYgJD8gIT0gMDsKKwkJJG91dHB1dCA9ICRqc29uX3BrZy0+bmV3LT51dGY4LT5kZWNvZGUoJHJlc3BvbnNlKTsKKwkJJGVycm9yID0gJG91dHB1dC0+e2Vycm9yfTsKKwkJZGllICJXYXRjaG1hbjogJGVycm9yLlxuIiAuCisJCSJGYWxsaW5nIGJhY2sgdG8gc2Nhbm5pbmcuLi5cbiIgaWYgJGVycm9yOworCisJCSMgVW5jb21tZW50IGZvciBkZWJ1Z2dpbmcgd2F0Y2htYW4gb3V0cHV0CisJCSMgb3BlbiAobXkgJGZoLCAiPiIsICIuZ2l0L3dhdGNobWFuLW91dHB1dC5vdXQiKTsKKwkJIyBjbG9zZSAkZmg7CiAKIAkJIyBXYXRjaG1hbiB3aWxsIGFsd2F5cyByZXR1cm4gYWxsIGZpbGVzIG9uIHRoZSBmaXJzdCBxdWVyeSBzbwogCQkjIHJldHVybiB0aGUgZmFzdCAiZXZlcnl0aGluZyBpcyBkaXJ0eSIgZmxhZyB0byBnaXQgYW5kIGRvIHRoZQogCQkjIFdhdGNobWFuIHF1ZXJ5IGp1c3QgdG8gZ2V0IGl0IG92ZXIgd2l0aCBub3cgc28gd2Ugd29uJ3QgcGF5CiAJCSMgdGhlIGNvc3QgaW4gZ2l0IHRvIGxvb2sgdXAgZWFjaCBpbmRpdmlkdWFsIGZpbGUuCi0JCXByaW50ICIvXDAiOworCQlteSAkbyA9IHdhdGNobWFuX2Nsb2NrKCk7CisJCSRlcnJvciA9ICRvdXRwdXQtPntlcnJvcn07CisKKwkJZGllICJXYXRjaG1hbjogJGVycm9yLlxuIiAuCisJCSJGYWxsaW5nIGJhY2sgdG8gc2Nhbm5pbmcuLi5cbiIgaWYgJGVycm9yOworCisJCW91dHB1dF9yZXN1bHQoJG8tPntjbG9ja30sICgiLyIpKTsKKwkJJGxhc3RfdXBkYXRlX3Rva2VuID0gJG8tPntjbG9ja307CisKIAkJZXZhbCB7IGxhdW5jaF93YXRjaG1hbigpIH07Ci0JCWV4aXQgMDsKKwkJcmV0dXJuIDA7CiAJfQogCi0JZGllICJXYXRjaG1hbjogJG8tPntlcnJvcn0uXG4iIC4KLQkgICAgIkZhbGxpbmcgYmFjayB0byBzY2FubmluZy4uLlxuIiBpZiAkby0+e2Vycm9yfTsKKwlkaWUgIldhdGNobWFuOiAkZXJyb3IuXG4iIC4KKwkiRmFsbGluZyBiYWNrIHRvIHNjYW5uaW5nLi4uXG4iIGlmICRlcnJvcjsKIAotCWJpbm1vZGUgU1RET1VULCAiOnV0ZjgiOwotCWxvY2FsICQsID0gIlwwIjsKLQlwcmludCBAeyRvLT57ZmlsZXN9fTsKKwlyZXR1cm4gMTsKK30KKworc3ViIGdldF93b3JraW5nX2RpciB7CisJbXkgJHdvcmtpbmdfZGlyOworCWlmICgkXk8gPX4gJ21zeXMnIHx8ICReTyA9fiAnY3lnd2luJykgeworCQkkd29ya2luZ19kaXIgPSBXaW4zMjo6R2V0Q3dkKCk7CisJCSR3b3JraW5nX2RpciA9fiB0ci9cXC9cLy87CisJfSBlbHNlIHsKKwkJcmVxdWlyZSBDd2Q7CisJCSR3b3JraW5nX2RpciA9IEN3ZDo6Y3dkKCk7CisJfQorCisJcmV0dXJuICR3b3JraW5nX2RpcjsKIH0KZGlmZiAtLWdpdCBhL3RlbXBsYXRlcy9ob29rcy0tcHJlLWNvbW1pdC5zYW1wbGUgYi90ZW1wbGF0ZXMvaG9va3MtLXByZS1jb21taXQuc2FtcGxlCmluZGV4IDZhNzU2NDEuLmUxNDQ3MTIgMTAwNzU1Ci0tLSBhL3RlbXBsYXRlcy9ob29rcy0tcHJlLWNvbW1pdC5zYW1wbGUKKysrIGIvdGVtcGxhdGVzL2hvb2tzLS1wcmUtY29tbWl0LnNhbXBsZQpAQCAtMTYsNyArMTYsNyBAQAogZmkKIAogIyBJZiB5b3Ugd2FudCB0byBhbGxvdyBub24tQVNDSUkgZmlsZW5hbWVzIHNldCB0aGlzIHZhcmlhYmxlIHRvIHRydWUuCi1hbGxvd25vbmFzY2lpPSQoZ2l0IGNvbmZpZyAtLWJvb2wgaG9va3MuYWxsb3dub25hc2NpaSkKK2FsbG93bm9uYXNjaWk9JChnaXQgY29uZmlnIC0tdHlwZT1ib29sIGhvb2tzLmFsbG93bm9uYXNjaWkpCiAKICMgUmVkaXJlY3Qgb3V0cHV0IHRvIHN0ZGVyci4KIGV4ZWMgMT4mMgpkaWZmIC0tZ2l0IGEvdGVtcGxhdGVzL2hvb2tzLS1wcmUtbWVyZ2UtY29tbWl0LnNhbXBsZSBiL3RlbXBsYXRlcy9ob29rcy0tcHJlLW1lcmdlLWNvbW1pdC5zYW1wbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzk5ZWFiMQotLS0gL2Rldi9udWxsCisrKyBiL3RlbXBsYXRlcy9ob29rcy0tcHJlLW1lcmdlLWNvbW1pdC5zYW1wbGUKQEAgLTAsMCArMSwxMyBAQAorIyEvYmluL3NoCisjCisjIEFuIGV4YW1wbGUgaG9vayBzY3JpcHQgdG8gdmVyaWZ5IHdoYXQgaXMgYWJvdXQgdG8gYmUgY29tbWl0dGVkLgorIyBDYWxsZWQgYnkgImdpdCBtZXJnZSIgd2l0aCBubyBhcmd1bWVudHMuICBUaGUgaG9vayBzaG91bGQKKyMgZXhpdCB3aXRoIG5vbi16ZXJvIHN0YXR1cyBhZnRlciBpc3N1aW5nIGFuIGFwcHJvcHJpYXRlIG1lc3NhZ2UgdG8KKyMgc3RkZXJyIGlmIGl0IHdhbnRzIHRvIHN0b3AgdGhlIG1lcmdlIGNvbW1pdC4KKyMKKyMgVG8gZW5hYmxlIHRoaXMgaG9vaywgcmVuYW1lIHRoaXMgZmlsZSB0byAicHJlLW1lcmdlLWNvbW1pdCIuCisKKy4gZ2l0LXNoLXNldHVwCit0ZXN0IC14ICIkR0lUX0RJUi9ob29rcy9wcmUtY29tbWl0IiAmJgorICAgICAgICBleGVjICIkR0lUX0RJUi9ob29rcy9wcmUtY29tbWl0IgorOgpkaWZmIC0tZ2l0IGEvdGVtcGxhdGVzL2hvb2tzLS11cGRhdGUuc2FtcGxlIGIvdGVtcGxhdGVzL2hvb2tzLS11cGRhdGUuc2FtcGxlCmluZGV4IDgwYmE5NDEuLjUwMTRjNGIgMTAwNzU1Ci0tLSBhL3RlbXBsYXRlcy9ob29rcy0tdXBkYXRlLnNhbXBsZQorKysgYi90ZW1wbGF0ZXMvaG9va3MtLXVwZGF0ZS5zYW1wbGUKQEAgLTQzLDExICs0MywxMSBAQAogZmkKIAogIyAtLS0gQ29uZmlnCi1hbGxvd3VuYW5ub3RhdGVkPSQoZ2l0IGNvbmZpZyAtLWJvb2wgaG9va3MuYWxsb3d1bmFubm90YXRlZCkKLWFsbG93ZGVsZXRlYnJhbmNoPSQoZ2l0IGNvbmZpZyAtLWJvb2wgaG9va3MuYWxsb3dkZWxldGVicmFuY2gpCi1kZW55Y3JlYXRlYnJhbmNoPSQoZ2l0IGNvbmZpZyAtLWJvb2wgaG9va3MuZGVueWNyZWF0ZWJyYW5jaCkKLWFsbG93ZGVsZXRldGFnPSQoZ2l0IGNvbmZpZyAtLWJvb2wgaG9va3MuYWxsb3dkZWxldGV0YWcpCi1hbGxvd21vZGlmeXRhZz0kKGdpdCBjb25maWcgLS1ib29sIGhvb2tzLmFsbG93bW9kaWZ5dGFnKQorYWxsb3d1bmFubm90YXRlZD0kKGdpdCBjb25maWcgLS10eXBlPWJvb2wgaG9va3MuYWxsb3d1bmFubm90YXRlZCkKK2FsbG93ZGVsZXRlYnJhbmNoPSQoZ2l0IGNvbmZpZyAtLXR5cGU9Ym9vbCBob29rcy5hbGxvd2RlbGV0ZWJyYW5jaCkKK2RlbnljcmVhdGVicmFuY2g9JChnaXQgY29uZmlnIC0tdHlwZT1ib29sIGhvb2tzLmRlbnljcmVhdGVicmFuY2gpCithbGxvd2RlbGV0ZXRhZz0kKGdpdCBjb25maWcgLS10eXBlPWJvb2wgaG9va3MuYWxsb3dkZWxldGV0YWcpCithbGxvd21vZGlmeXRhZz0kKGdpdCBjb25maWcgLS10eXBlPWJvb2wgaG9va3MuYWxsb3dtb2RpZnl0YWcpCiAKICMgY2hlY2sgZm9yIG5vIGRlc2NyaXB0aW9uCiBwcm9qZWN0ZGVzYz0kKHNlZCAtZSAnMXEnICIkR0lUX0RJUi9kZXNjcmlwdGlvbiIpCmRpZmYgLS1naXQgYS90cmFjZS5jIGIvdHJhY2UuYwppbmRleCBmYTRhMmU3Li5iM2VmMGU2IDEwMDY0NAotLS0gYS90cmFjZS5jCisrKyBiL3RyYWNlLmMKQEAgLTg4LDggKzg4LDYgQEAKIAlpZiAoIXRyYWNlX3dhbnQoa2V5KSkKIAkJcmV0dXJuIDA7CiAKLQlzZXRfdHJ5X3RvX2ZyZWVfcm91dGluZShOVUxMKTsJLyogaXMgbmV2ZXIgcmVzZXQgKi8KLQogCS8qIHVuaXQgdGVzdHMgbWF5IHdhbnQgdG8gZGlzYWJsZSBhZGRpdGlvbmFsIHRyYWNlIG91dHB1dCAqLwogCWlmICh0cmFjZV93YW50KCZ0cmFjZV9iYXJlKSkKIAkJcmV0dXJuIDE7CmRpZmYgLS1naXQgYS90cmFjZS5oIGIvdHJhY2UuaAppbmRleCAxNzFiMjU2Li45ODI2NjE4IDEwMDY0NAotLS0gYS90cmFjZS5oCisrKyBiL3RyYWNlLmgKQEAgLTQsNiArNCw4MiBAQAogI2luY2x1ZGUgImdpdC1jb21wYXQtdXRpbC5oIgogI2luY2x1ZGUgInN0cmJ1Zi5oIgogCisvKioKKyAqIFRoZSB0cmFjZSBBUEkgY2FuIGJlIHVzZWQgdG8gcHJpbnQgZGVidWcgbWVzc2FnZXMgdG8gc3RkZXJyIG9yIGEgZmlsZS4gVHJhY2UKKyAqIGNvZGUgaXMgaW5hY3RpdmUgdW5sZXNzIGV4cGxpY2l0bHkgZW5hYmxlZCBieSBzZXR0aW5nIGBHSVRfVFJBQ0UqYCBlbnZpcm9ubWVudAorICogdmFyaWFibGVzLgorICoKKyAqIFRoZSB0cmFjZSBpbXBsZW1lbnRhdGlvbiBhdXRvbWF0aWNhbGx5IGFkZHMgYHRpbWVzdGFtcCBmaWxlOmxpbmUgLi4uIFxuYCB0bworICogYWxsIHRyYWNlIG1lc3NhZ2VzLiBFLmcuOgorICoKKyAqIC0tLS0tLS0tLS0tLQorICogMjM6NTk6NTkuMTIzNDU2IGdpdC5jOjMxMiAgICAgICAgICAgICAgIHRyYWNlOiBidWlsdC1pbjogZ2l0ICdmb28nCisgKiAwMDowMDowMC4wMDAwMDEgYnVpbHRpbi9mb28uYzo5OSAgICAgICAgZm9vOiBzb21lIG1lc3NhZ2UKKyAqIC0tLS0tLS0tLS0tLQorICoKKyAqIEJ1Z3MgJiBDYXZlYXRzCisgKiAtLS0tLS0tLS0tLS0tLQorICoKKyAqIEdJVF9UUkFDRV8qIGVudmlyb25tZW50IHZhcmlhYmxlcyBjYW4gYmUgdXNlZCB0byB0ZWxsIEdpdCB0byBzaG93CisgKiB0cmFjZSBvdXRwdXQgdG8gaXRzIHN0YW5kYXJkIGVycm9yIHN0cmVhbS4gR2l0IGNhbiBvZnRlbiBzcGF3biBhIHBhZ2VyCisgKiBpbnRlcm5hbGx5IHRvIHJ1biBpdHMgc3ViY29tbWFuZCBhbmQgc2VuZCBpdHMgc3RhbmRhcmQgb3V0cHV0IGFuZAorICogc3RhbmRhcmQgZXJyb3IgdG8gaXQuCisgKgorICogQmVjYXVzZSBHSVRfVFJBQ0VfUEVSRk9STUFOQ0UgdHJhY2UgaXMgZ2VuZXJhdGVkIG9ubHkgYXQgdGhlIHZlcnkgZW5kCisgKiBvZiB0aGUgcHJvZ3JhbSB3aXRoIGF0ZXhpdCgpLCB3aGljaCBoYXBwZW5zIGFmdGVyIHRoZSBwYWdlciBleGl0cywgaXQKKyAqIHdvdWxkIG5vdCB3b3JrIHdlbGwgaWYgeW91IHNlbmQgaXRzIGxvZyB0byB0aGUgc3RhbmRhcmQgZXJyb3Igb3V0cHV0CisgKiBhbmQgbGV0IEdpdCBzcGF3biB0aGUgcGFnZXIgYXQgdGhlIHNhbWUgdGltZS4KKyAqCisgKiBBcyBhIHdvcmsgYXJvdW5kLCB5b3UgY2FuIGZvciBleGFtcGxlIHVzZSAnLS1uby1wYWdlcicsIG9yIHNldAorICogR0lUX1RSQUNFX1BFUkZPUk1BTkNFIHRvIGFub3RoZXIgZmlsZSBkZXNjcmlwdG9yIHdoaWNoIGlzIHJlZGlyZWN0ZWQKKyAqIHRvIHN0ZGVyciwgb3Igc2V0IEdJVF9UUkFDRV9QRVJGT1JNQU5DRSB0byBhIGZpbGUgc3BlY2lmaWVkIGJ5IGl0cworICogYWJzb2x1dGUgcGF0aC4KKyAqCisgKiBGb3IgZXhhbXBsZSBpbnN0ZWFkIG9mIHRoZSBmb2xsb3dpbmcgY29tbWFuZCB3aGljaCBieSBkZWZhdWx0IG1heSBub3QKKyAqIHByaW50IGFueSBwZXJmb3JtYW5jZSBpbmZvcm1hdGlvbjoKKyAqCisgKiAtLS0tLS0tLS0tLS0KKyAqIEdJVF9UUkFDRV9QRVJGT1JNQU5DRT0yIGdpdCBsb2cgLTEKKyAqIC0tLS0tLS0tLS0tLQorICoKKyAqIHlvdSBtYXkgd2FudCB0byB1c2U6CisgKgorICogLS0tLS0tLS0tLS0tCisgKiBHSVRfVFJBQ0VfUEVSRk9STUFOQ0U9MiBnaXQgLS1uby1wYWdlciBsb2cgLTEKKyAqIC0tLS0tLS0tLS0tLQorICoKKyAqIG9yOgorICoKKyAqIC0tLS0tLS0tLS0tLQorICogR0lUX1RSQUNFX1BFUkZPUk1BTkNFPTMgMz4mMiBnaXQgbG9nIC0xCisgKiAtLS0tLS0tLS0tLS0KKyAqCisgKiBvcjoKKyAqCisgKiAtLS0tLS0tLS0tLS0KKyAqIEdJVF9UUkFDRV9QRVJGT1JNQU5DRT0vcGF0aC90by9sb2cvZmlsZSBnaXQgbG9nIC0xCisgKiAtLS0tLS0tLS0tLS0KKyAqCisgKi8KKworLyoqCisgKiBEZWZpbmVzIGEgdHJhY2Uga2V5IChvciBjYXRlZ29yeSkuIFRoZSBkZWZhdWx0IChmb3IgQVBJIGZ1bmN0aW9ucyB0aGF0CisgKiBkb24ndCB0YWtlIGEga2V5KSBpcyBgR0lUX1RSQUNFYC4KKyAqCisgKiBFLmcuIHRvIGRlZmluZSBhIHRyYWNlIGtleSBjb250cm9sbGVkIGJ5IGVudmlyb25tZW50IHZhcmlhYmxlIGBHSVRfVFJBQ0VfRk9PYDoKKyAqCisgKiAtLS0tLS0tLS0tLS0KKyAqIHN0YXRpYyBzdHJ1Y3QgdHJhY2Vfa2V5IHRyYWNlX2ZvbyA9IFRSQUNFX0tFWV9JTklUKEZPTyk7CisgKgorICogc3RhdGljIHZvaWQgdHJhY2VfcHJpbnRfZm9vKGNvbnN0IGNoYXIgKm1lc3NhZ2UpCisgKiB7CisgKiAJdHJhY2VfcHJpbnRmX2tleSgmdHJhY2VfZm9vLCAiJXMiLCBtZXNzYWdlKTsKKyAqIH0KKyAqIC0tLS0tLS0tLS0tLQorICoKKyAqIE5vdGU6IGRvbid0IHVzZSBgY29uc3RgIGFzIHRoZSB0cmFjZSBpbXBsZW1lbnRhdGlvbiBzdG9yZXMgaW50ZXJuYWwgc3RhdGUgaW4KKyAqIHRoZSBgdHJhY2Vfa2V5YCBzdHJ1Y3R1cmUuCisgKi8KIHN0cnVjdCB0cmFjZV9rZXkgewogCWNvbnN0IGNoYXIgKiBjb25zdCBrZXk7CiAJaW50IGZkOwpAQCAtMTcsMzQgKzkzLDg3IEBACiBleHRlcm4gc3RydWN0IHRyYWNlX2tleSB0cmFjZV9wZXJmX2tleTsKIGV4dGVybiBzdHJ1Y3QgdHJhY2Vfa2V5IHRyYWNlX3NldHVwX2tleTsKIAotZXh0ZXJuIHZvaWQgdHJhY2VfcmVwb19zZXR1cChjb25zdCBjaGFyICpwcmVmaXgpOwotZXh0ZXJuIGludCB0cmFjZV93YW50KHN0cnVjdCB0cmFjZV9rZXkgKmtleSk7Ci1leHRlcm4gdm9pZCB0cmFjZV9kaXNhYmxlKHN0cnVjdCB0cmFjZV9rZXkgKmtleSk7Ci1leHRlcm4gdWludDY0X3QgZ2V0bmFub3RpbWUodm9pZCk7Ci1leHRlcm4gdm9pZCB0cmFjZV9jb21tYW5kX3BlcmZvcm1hbmNlKGNvbnN0IGNoYXIgKiphcmd2KTsKLWV4dGVybiB2b2lkIHRyYWNlX3ZlcmJhdGltKHN0cnVjdCB0cmFjZV9rZXkgKmtleSwgY29uc3Qgdm9pZCAqYnVmLCB1bnNpZ25lZCBsZW4pOwordm9pZCB0cmFjZV9yZXBvX3NldHVwKGNvbnN0IGNoYXIgKnByZWZpeCk7CisKKy8qKgorICogQ2hlY2tzIHdoZXRoZXIgdGhlIHRyYWNlIGtleSBpcyBlbmFibGVkLiBVc2VkIHRvIHByZXZlbnQgZXhwZW5zaXZlCisgKiBzdHJpbmcgZm9ybWF0dGluZyBiZWZvcmUgY2FsbGluZyBvbmUgb2YgdGhlIHByaW50aW5nIEFQSXMuCisgKi8KK2ludCB0cmFjZV93YW50KHN0cnVjdCB0cmFjZV9rZXkgKmtleSk7CisKKy8qKgorICogRGlzYWJsZXMgdHJhY2luZyBmb3IgdGhlIHNwZWNpZmllZCBrZXksIGV2ZW4gaWYgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlCisgKiB3YXMgc2V0LgorICovCit2b2lkIHRyYWNlX2Rpc2FibGUoc3RydWN0IHRyYWNlX2tleSAqa2V5KTsKKworLyoqCisgKiBSZXR1cm5zIG5hbm9zZWNvbmRzIHNpbmNlIHRoZSBlcG9jaCAoMDEvMDEvMTk3MCksIHR5cGljYWxseSB1c2VkCisgKiBmb3IgcGVyZm9ybWFuY2UgbWVhc3VyZW1lbnRzLgorICogQ3VycmVudGx5IHRoZXJlIGFyZSBoaWdoIHByZWNpc2lvbiB0aW1lciBpbXBsZW1lbnRhdGlvbnMgZm9yIExpbnV4ICh1c2luZworICogYGNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDKWApIGFuZCBXaW5kb3dzIChgUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXJgKS4KKyAqIE90aGVyIHBsYXRmb3JtcyB1c2UgYGdldHRpbWVvZmRheWAgYXMgdGltZSBzb3VyY2UuCisgKi8KK3VpbnQ2NF90IGdldG5hbm90aW1lKHZvaWQpOworCit2b2lkIHRyYWNlX2NvbW1hbmRfcGVyZm9ybWFuY2UoY29uc3QgY2hhciAqKmFyZ3YpOwordm9pZCB0cmFjZV92ZXJiYXRpbShzdHJ1Y3QgdHJhY2Vfa2V5ICprZXksIGNvbnN0IHZvaWQgKmJ1ZiwgdW5zaWduZWQgbGVuKTsKIHVpbnQ2NF90IHRyYWNlX3BlcmZvcm1hbmNlX2VudGVyKHZvaWQpOwogCiAjaWZuZGVmIEhBVkVfVkFSSUFESUNfTUFDUk9TCiAKKy8qKgorICogUHJpbnRzIGEgZm9ybWF0dGVkIG1lc3NhZ2UsIHNpbWlsYXIgdG8gcHJpbnRmLgorICovCiBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMSwgMikpKQotZXh0ZXJuIHZvaWQgdHJhY2VfcHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKK3ZvaWQgdHJhY2VfcHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKIAogX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSkKLWV4dGVybiB2b2lkIHRyYWNlX3ByaW50Zl9rZXkoc3RydWN0IHRyYWNlX2tleSAqa2V5LCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLik7Cit2b2lkIHRyYWNlX3ByaW50Zl9rZXkoc3RydWN0IHRyYWNlX2tleSAqa2V5LCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLik7CiAKKy8qKgorICogUHJpbnRzIGEgZm9ybWF0dGVkIG1lc3NhZ2UsIGZvbGxvd2VkIGJ5IGEgcXVvdGVkIGxpc3Qgb2YgYXJndW1lbnRzLgorICovCiBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMiwgMykpKQotZXh0ZXJuIHZvaWQgdHJhY2VfYXJndl9wcmludGYoY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKK3ZvaWQgdHJhY2VfYXJndl9wcmludGYoY29uc3QgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKIAotZXh0ZXJuIHZvaWQgdHJhY2Vfc3RyYnVmKHN0cnVjdCB0cmFjZV9rZXkgKmtleSwgY29uc3Qgc3RydWN0IHN0cmJ1ZiAqZGF0YSk7CisvKioKKyAqIFByaW50cyB0aGUgc3RyYnVmLCB3aXRob3V0IGFkZGl0aW9uYWwgZm9ybWF0dGluZyAoaS5lLiBkb2Vzbid0CisgKiBjaG9rZSBvbiBgJWAgb3IgZXZlbiBgXDBgKS4KKyAqLwordm9pZCB0cmFjZV9zdHJidWYoc3RydWN0IHRyYWNlX2tleSAqa2V5LCBjb25zdCBzdHJ1Y3Qgc3RyYnVmICpkYXRhKTsKIAotLyogUHJpbnRzIGVsYXBzZWQgdGltZSAoaW4gbmFub3NlY29uZHMpIGlmIEdJVF9UUkFDRV9QRVJGT1JNQU5DRSBpcyBlbmFibGVkLiAqLworLyoqCisgKiBQcmludHMgZWxhcHNlZCB0aW1lIChpbiBuYW5vc2Vjb25kcykgaWYgR0lUX1RSQUNFX1BFUkZPUk1BTkNFIGlzIGVuYWJsZWQuCisgKgorICogRXhhbXBsZToKKyAqIC0tLS0tLS0tLS0tLQorICogdWludDY0X3QgdCA9IDA7CisgKiBmb3IgKDs7KSB7CisgKiAJLy8gaWdub3JlCisgKiB0IC09IGdldG5hbm90aW1lKCk7CisgKiAvLyBjb2RlIHNlY3Rpb24gdG8gbWVhc3VyZQorICogdCArPSBnZXRuYW5vdGltZSgpOworICogLy8gaWdub3JlCisgKiB9CisgKiB0cmFjZV9wZXJmb3JtYW5jZSh0LCAiZnJvdHoiKTsKKyAqIC0tLS0tLS0tLS0tLQorICovCiBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgMiwgMykpKQotZXh0ZXJuIHZvaWQgdHJhY2VfcGVyZm9ybWFuY2UodWludDY0X3QgbmFub3MsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKK3ZvaWQgdHJhY2VfcGVyZm9ybWFuY2UodWludDY0X3QgbmFub3MsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKIAotLyogUHJpbnRzIGVsYXBzZWQgdGltZSBzaW5jZSAnc3RhcnQnIGlmIEdJVF9UUkFDRV9QRVJGT1JNQU5DRSBpcyBlbmFibGVkLiAqLworLyoqCisgKiBQcmludHMgZWxhcHNlZCB0aW1lIHNpbmNlICdzdGFydCcgaWYgR0lUX1RSQUNFX1BFUkZPUk1BTkNFIGlzIGVuYWJsZWQuCisgKgorICogRXhhbXBsZToKKyAqIC0tLS0tLS0tLS0tLQorICogdWludDY0X3Qgc3RhcnQgPSBnZXRuYW5vdGltZSgpOworICogLy8gY29kZSBzZWN0aW9uIHRvIG1lYXN1cmUKKyAqIHRyYWNlX3BlcmZvcm1hbmNlX3NpbmNlKHN0YXJ0LCAiZm9vYmFyIik7CisgKiAtLS0tLS0tLS0tLS0KKyAqLwogX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSkKLWV4dGVybiB2b2lkIHRyYWNlX3BlcmZvcm1hbmNlX3NpbmNlKHVpbnQ2NF90IHN0YXJ0LCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLik7Cit2b2lkIHRyYWNlX3BlcmZvcm1hbmNlX3NpbmNlKHVpbnQ2NF90IHN0YXJ0LCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLik7CiAKIF9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAxLCAyKSkpCiB2b2lkIHRyYWNlX3BlcmZvcm1hbmNlX2xlYXZlKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKQEAgLTEzMiwxOSArMjYxLDE5IEBACiAKIC8qIGJhY2tlbmQgZnVuY3Rpb25zLCB1c2Ugbm9uLSpmbCBtYWNyb3MgaW5zdGVhZCAqLwogX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDQsIDUpKSkKLWV4dGVybiB2b2lkIHRyYWNlX3ByaW50Zl9rZXlfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIHN0cnVjdCB0cmFjZV9rZXkgKmtleSwKLQkJCQljb25zdCBjaGFyICpmb3JtYXQsIC4uLik7Cit2b2lkIHRyYWNlX3ByaW50Zl9rZXlfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIHN0cnVjdCB0cmFjZV9rZXkgKmtleSwKKwkJCSBjb25zdCBjaGFyICpmb3JtYXQsIC4uLik7CiBfX2F0dHJpYnV0ZV9fKChmb3JtYXQgKHByaW50ZiwgNCwgNSkpKQotZXh0ZXJuIHZvaWQgdHJhY2VfYXJndl9wcmludGZfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKiphcmd2LAotCQkJCSBjb25zdCBjaGFyICpmb3JtYXQsIC4uLik7Ci1leHRlcm4gdm9pZCB0cmFjZV9zdHJidWZfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIHN0cnVjdCB0cmFjZV9rZXkgKmtleSwKLQkJCSAgICBjb25zdCBzdHJ1Y3Qgc3RyYnVmICpkYXRhKTsKK3ZvaWQgdHJhY2VfYXJndl9wcmludGZfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKiphcmd2LAorCQkJICBjb25zdCBjaGFyICpmb3JtYXQsIC4uLik7Cit2b2lkIHRyYWNlX3N0cmJ1Zl9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgc3RydWN0IHRyYWNlX2tleSAqa2V5LAorCQkgICAgIGNvbnN0IHN0cnVjdCBzdHJidWYgKmRhdGEpOwogX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDQsIDUpKSkKLWV4dGVybiB2b2lkIHRyYWNlX3BlcmZvcm1hbmNlX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAotCQkJCSB1aW50NjRfdCBuYW5vcywgY29uc3QgY2hhciAqZm10LCAuLi4pOwordm9pZCB0cmFjZV9wZXJmb3JtYW5jZV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCSAgdWludDY0X3QgbmFub3MsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKIF9fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCA0LCA1KSkpCi1leHRlcm4gdm9pZCB0cmFjZV9wZXJmb3JtYW5jZV9sZWF2ZV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKLQkJCQkgICAgICAgdWludDY0X3QgbmFub3MsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKK3ZvaWQgdHJhY2VfcGVyZm9ybWFuY2VfbGVhdmVfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCQkJdWludDY0X3QgbmFub3MsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKIHN0YXRpYyBpbmxpbmUgaW50IHRyYWNlX3Bhc3NfZmwoc3RydWN0IHRyYWNlX2tleSAqa2V5KQogewogCXJldHVybiBrZXktPmZkIHx8ICFrZXktPmluaXRpYWxpemVkOwpkaWZmIC0tZ2l0IGEvdHJhY2UyLmMgYi90cmFjZTIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jN2I0ZjE0Ci0tLSAvZGV2L251bGwKKysrIGIvdHJhY2UyLmMKQEAgLTAsMCArMSw3ODUgQEAKKyNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgImpzb24td3JpdGVyLmgiCisjaW5jbHVkZSAicXVvdGUuaCIKKyNpbmNsdWRlICJydW4tY29tbWFuZC5oIgorI2luY2x1ZGUgInNpZ2NoYWluLmgiCisjaW5jbHVkZSAidGhyZWFkLXV0aWxzLmgiCisjaW5jbHVkZSAidmVyc2lvbi5oIgorI2luY2x1ZGUgInRyYWNlMi90cjJfY2ZnLmgiCisjaW5jbHVkZSAidHJhY2UyL3RyMl9jbWRfbmFtZS5oIgorI2luY2x1ZGUgInRyYWNlMi90cjJfZHN0LmgiCisjaW5jbHVkZSAidHJhY2UyL3RyMl9zaWQuaCIKKyNpbmNsdWRlICJ0cmFjZTIvdHIyX3N5c2Vudi5oIgorI2luY2x1ZGUgInRyYWNlMi90cjJfdGd0LmgiCisjaW5jbHVkZSAidHJhY2UyL3RyMl90bHMuaCIKKworc3RhdGljIGludCB0cmFjZTJfZW5hYmxlZDsKKworc3RhdGljIGludCB0cjJfbmV4dF9jaGlsZF9pZDsgLyogbW9kaWZ5IHVuZGVyIGxvY2sgKi8KK3N0YXRpYyBpbnQgdHIyX25leHRfZXhlY19pZDsgLyogbW9kaWZ5IHVuZGVyIGxvY2sgKi8KK3N0YXRpYyBpbnQgdHIyX25leHRfcmVwb19pZCA9IDE7IC8qIG1vZGlmeSB1bmRlciBsb2NrLiB6ZXJvIGlzIHJlc2VydmVkICovCisKKy8qCisgKiBBIHRhYmxlIG9mIHRoZSBidWlsdGluIFRSQUNFMiB0YXJnZXRzLiAgRWFjaCBvZiB0aGVzZSBtYXkgYmUgaW5kZXBlbmRlbnRseQorICogZW5hYmxlZCBvciBkaXNhYmxlZC4gIEVhY2ggVFJBQ0UyIEFQSSBtZXRob2Qgd2lsbCB0cnkgdG8gd3JpdGUgYW4gZXZlbnQgdG8KKyAqICplYWNoKiBvZiB0aGUgZW5hYmxlZCB0YXJnZXRzLgorICovCisvKiBjbGFuZy1mb3JtYXQgb2ZmICovCitzdGF0aWMgc3RydWN0IHRyMl90Z3QgKnRyMl90Z3RfYnVpbHRpbnNbXSA9Cit7CisJJnRyMl90Z3Rfbm9ybWFsLAorCSZ0cjJfdGd0X3BlcmYsCisJJnRyMl90Z3RfZXZlbnQsCisJTlVMTAorfTsKKy8qIGNsYW5nLWZvcm1hdCBvbiAqLworCisvKiBjbGFuZy1mb3JtYXQgb2ZmICovCisjZGVmaW5lIGZvcl9lYWNoX2J1aWx0aW4oaiwgdGd0X2opCQkJXAorCWZvciAoaiA9IDAsIHRndF9qID0gdHIyX3RndF9idWlsdGluc1tqXTsJXAorCSAgICAgdGd0X2o7CQkJCQlcCisJICAgICBqKyssIHRndF9qID0gdHIyX3RndF9idWlsdGluc1tqXSkKKy8qIGNsYW5nLWZvcm1hdCBvbiAqLworCisvKiBjbGFuZy1mb3JtYXQgb2ZmICovCisjZGVmaW5lIGZvcl9lYWNoX3dhbnRlZF9idWlsdGluKGosIHRndF9qKSAgICAgICAgICAgIFwKKwlmb3JfZWFjaF9idWlsdGluKGosIHRndF9qKSAgICAgICAgICAgICAgICAgICBcCisJCWlmICh0cjJfZHN0X3RyYWNlX3dhbnQodGd0X2otPnBkc3QpKQorLyogY2xhbmctZm9ybWF0IG9uICovCisKKy8qCisgKiBGb3JjZSAocmF0aGVyIHRoYW4gbGF6aWx5KSBpbml0aWFsaXplIGFueSBvZiB0aGUgcmVxdWVzdGVkCisgKiBidWlsdGluIFRSQUNFMiB0YXJnZXRzIGF0IHN0YXJ0dXAgKGFuZCBiZWZvcmUgd2UndmUgc2VlbiBhbgorICogYWN0dWFsIFRSQUNFMiBldmVudCBjYWxsKSBzbyB3ZSBjYW4gc2VlIGlmIHdlIG5lZWQgdG8gc2V0dXAKKyAqIHRoZSBUUjIgYW5kIFRMUyBtYWNoaW5lcnkuCisgKgorICogUmV0dXJuIHRoZSBudW1iZXIgb2YgYnVpbHRpbiB0YXJnZXRzIGVuYWJsZWQuCisgKi8KK3N0YXRpYyBpbnQgdHIyX3RndF93YW50X2J1aWx0aW5zKHZvaWQpCit7CisJc3RydWN0IHRyMl90Z3QgKnRndF9qOworCWludCBqOworCWludCBzdW0gPSAwOworCisJZm9yX2VhY2hfYnVpbHRpbiAoaiwgdGd0X2opCisJCWlmICh0Z3Rfai0+cGZuX2luaXQoKSkKKwkJCXN1bSsrOworCisJcmV0dXJuIHN1bTsKK30KKworLyoKKyAqIFByb3Blcmx5IHRlcm1pbmF0ZSBlYWNoIGJ1aWx0aW4gdGFyZ2V0LiAgR2l2ZSBlYWNoIHRhcmdldAorICogYSBjaGFuY2UgdG8gd3JpdGUgYSBzdW1tYXJ5IGV2ZW50IGFuZC9vciBmbHVzaCBpZiBuZWNlc3NhcnkKKyAqIGFuZCB0aGVuIGNsb3NlIHRoZSBmZC4KKyAqLworc3RhdGljIHZvaWQgdHIyX3RndF9kaXNhYmxlX2J1aWx0aW5zKHZvaWQpCit7CisJc3RydWN0IHRyMl90Z3QgKnRndF9qOworCWludCBqOworCisJZm9yX2VhY2hfYnVpbHRpbiAoaiwgdGd0X2opCisJCXRndF9qLT5wZm5fdGVybSgpOworfQorCitzdGF0aWMgaW50IHRyMm1haW5fZXhpdF9jb2RlOworCisvKgorICogT3VyIGF0ZXhpdCByb3V0aW5lIHNob3VsZCBydW4gYWZ0ZXIgZXZlcnl0aGluZyBoYXMgZmluaXNoZWQuCisgKgorICogTm90ZSB0aGF0IGV2ZW50cyBnZW5lcmF0ZWQgaGVyZSBtaWdodCBub3QgYWN0dWFsbHkgYXBwZWFyIGlmCisgKiB3ZSBhcmUgd3JpdGluZyB0byBmZCAxIG9yIDIgYW5kIG91ciBhdGV4aXQgcm91dGluZSBydW5zIGFmdGVyCisgKiB0aGUgcGFnZXIncyBhdGV4aXQgcm91dGluZSAoc2luY2UgaXQgY2xvc2VzIHRoZW0gdG8gc2h1dGRvd24KKyAqIHRoZSBwaXBlcykuCisgKi8KK3N0YXRpYyB2b2lkIHRyMm1haW5fYXRleGl0X2hhbmRsZXIodm9pZCkKK3sKKwlzdHJ1Y3QgdHIyX3RndCAqdGd0X2o7CisJaW50IGo7CisJdWludDY0X3QgdXNfbm93OworCXVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGU7CisKKwl1c19ub3cgPSBnZXRuYW5vdGltZSgpIC8gMTAwMDsKKwl1c19lbGFwc2VkX2Fic29sdXRlID0gdHIydGxzX2Fic29sdXRlX2VsYXBzZWQodXNfbm93KTsKKworCS8qCisJICogQ2xlYXIgYW55IHVuYmFsYW5jZWQgcmVnaW9ucyBzbyB0aGF0IG91ciBhdGV4aXQgbWVzc2FnZQorCSAqIGRvZXMgbm90IGFwcGVhciBuZXN0ZWQuICBUaGlzIGltcHJvdmVzIHRoZSBhcHBlYXJhbmNlIG9mCisJICogdGhlIHRyYWNlIG91dHB1dCBpZiBzb21lb25lIGNhbGxzIGRpZSgpLCBmb3IgZXhhbXBsZS4KKwkgKi8KKwl0cjJ0bHNfcG9wX3Vud2luZF9zZWxmKCk7CisKKwlmb3JfZWFjaF93YW50ZWRfYnVpbHRpbiAoaiwgdGd0X2opCisJCWlmICh0Z3Rfai0+cGZuX2F0ZXhpdCkKKwkJCXRndF9qLT5wZm5fYXRleGl0KHVzX2VsYXBzZWRfYWJzb2x1dGUsCisJCQkJCSAgdHIybWFpbl9leGl0X2NvZGUpOworCisJdHIyX3RndF9kaXNhYmxlX2J1aWx0aW5zKCk7CisKKwl0cjJ0bHNfcmVsZWFzZSgpOworCXRyMl9zaWRfcmVsZWFzZSgpOworCXRyMl9jbWRfbmFtZV9yZWxlYXNlKCk7CisJdHIyX2NmZ19mcmVlX3BhdHRlcm5zKCk7CisJdHIyX3N5c2Vudl9yZWxlYXNlKCk7CisKKwl0cmFjZTJfZW5hYmxlZCA9IDA7Cit9CisKK3N0YXRpYyB2b2lkIHRyMm1haW5fc2lnbmFsX2hhbmRsZXIoaW50IHNpZ25vKQoreworCXN0cnVjdCB0cjJfdGd0ICp0Z3RfajsKKwlpbnQgajsKKwl1aW50NjRfdCB1c19ub3c7CisJdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZTsKKworCXVzX25vdyA9IGdldG5hbm90aW1lKCkgLyAxMDAwOworCXVzX2VsYXBzZWRfYWJzb2x1dGUgPSB0cjJ0bHNfYWJzb2x1dGVfZWxhcHNlZCh1c19ub3cpOworCisJZm9yX2VhY2hfd2FudGVkX2J1aWx0aW4gKGosIHRndF9qKQorCQlpZiAodGd0X2otPnBmbl9zaWduYWwpCisJCQl0Z3Rfai0+cGZuX3NpZ25hbCh1c19lbGFwc2VkX2Fic29sdXRlLCBzaWdubyk7CisKKwlzaWdjaGFpbl9wb3Aoc2lnbm8pOworCXJhaXNlKHNpZ25vKTsKK30KKwordm9pZCB0cmFjZTJfaW5pdGlhbGl6ZV9jbG9jayh2b2lkKQoreworCXRyMnRsc19zdGFydF9wcm9jZXNzX2Nsb2NrKCk7Cit9CisKK3ZvaWQgdHJhY2UyX2luaXRpYWxpemVfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUpCit7CisJc3RydWN0IHRyMl90Z3QgKnRndF9qOworCWludCBqOworCisJaWYgKHRyYWNlMl9lbmFibGVkKQorCQlyZXR1cm47CisKKwl0cjJfc3lzZW52X2xvYWQoKTsKKworCWlmICghdHIyX3RndF93YW50X2J1aWx0aW5zKCkpCisJCXJldHVybjsKKwl0cmFjZTJfZW5hYmxlZCA9IDE7CisKKwl0cjJfc2lkX2dldCgpOworCisJYXRleGl0KHRyMm1haW5fYXRleGl0X2hhbmRsZXIpOworCXNpZ2NoYWluX3B1c2goU0lHUElQRSwgdHIybWFpbl9zaWduYWxfaGFuZGxlcik7CisJdHIydGxzX2luaXQoKTsKKworCS8qCisJICogRW1pdCAndmVyc2lvbicgbWVzc2FnZSBvbiBlYWNoIGFjdGl2ZSBidWlsdGluIHRhcmdldC4KKwkgKi8KKwlmb3JfZWFjaF93YW50ZWRfYnVpbHRpbiAoaiwgdGd0X2opCisJCWlmICh0Z3Rfai0+cGZuX3ZlcnNpb25fZmwpCisJCQl0Z3Rfai0+cGZuX3ZlcnNpb25fZmwoZmlsZSwgbGluZSk7Cit9CisKK2ludCB0cmFjZTJfaXNfZW5hYmxlZCh2b2lkKQoreworCXJldHVybiB0cmFjZTJfZW5hYmxlZDsKK30KKwordm9pZCB0cmFjZTJfY21kX3N0YXJ0X2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgdHIyX3RndCAqdGd0X2o7CisJaW50IGo7CisJdWludDY0X3QgdXNfbm93OworCXVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGU7CisKKwlpZiAoIXRyYWNlMl9lbmFibGVkKQorCQlyZXR1cm47CisKKwl1c19ub3cgPSBnZXRuYW5vdGltZSgpIC8gMTAwMDsKKwl1c19lbGFwc2VkX2Fic29sdXRlID0gdHIydGxzX2Fic29sdXRlX2VsYXBzZWQodXNfbm93KTsKKworCWZvcl9lYWNoX3dhbnRlZF9idWlsdGluIChqLCB0Z3RfaikKKwkJaWYgKHRndF9qLT5wZm5fc3RhcnRfZmwpCisJCQl0Z3Rfai0+cGZuX3N0YXJ0X2ZsKGZpbGUsIGxpbmUsIHVzX2VsYXBzZWRfYWJzb2x1dGUsCisJCQkJCSAgICBhcmd2KTsKK30KKworaW50IHRyYWNlMl9jbWRfZXhpdF9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgaW50IGNvZGUpCit7CisJc3RydWN0IHRyMl90Z3QgKnRndF9qOworCWludCBqOworCXVpbnQ2NF90IHVzX25vdzsKKwl1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlOworCisJY29kZSAmPSAweGZmOworCisJaWYgKCF0cmFjZTJfZW5hYmxlZCkKKwkJcmV0dXJuIGNvZGU7CisKKwl0cmFjZTJfY29sbGVjdF9wcm9jZXNzX2luZm8oVFJBQ0UyX1BST0NFU1NfSU5GT19FWElUKTsKKworCXRyMm1haW5fZXhpdF9jb2RlID0gY29kZTsKKworCXVzX25vdyA9IGdldG5hbm90aW1lKCkgLyAxMDAwOworCXVzX2VsYXBzZWRfYWJzb2x1dGUgPSB0cjJ0bHNfYWJzb2x1dGVfZWxhcHNlZCh1c19ub3cpOworCisJZm9yX2VhY2hfd2FudGVkX2J1aWx0aW4gKGosIHRndF9qKQorCQlpZiAodGd0X2otPnBmbl9leGl0X2ZsKQorCQkJdGd0X2otPnBmbl9leGl0X2ZsKGZpbGUsIGxpbmUsIHVzX2VsYXBzZWRfYWJzb2x1dGUsCisJCQkJCSAgIGNvZGUpOworCisJcmV0dXJuIGNvZGU7Cit9CisKK3ZvaWQgdHJhY2UyX2NtZF9lcnJvcl92YV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqZm10LAorCQkJICAgIHZhX2xpc3QgYXApCit7CisJc3RydWN0IHRyMl90Z3QgKnRndF9qOworCWludCBqOworCisJaWYgKCF0cmFjZTJfZW5hYmxlZCkKKwkJcmV0dXJuOworCisJLyoKKwkgKiBXZSBleHBlY3QgZWFjaCB0YXJnZXQgZnVuY3Rpb24gdG8gdHJlYXQgJ2FwJyBhcyBjb25zdGFudAorCSAqIGFuZCB1c2UgdmFfY29weSAoYmVjYXVzZSBhbiAnYXAnIGNhbiBvbmx5IGJlIHdhbGtlZCBvbmNlKS4KKwkgKi8KKwlmb3JfZWFjaF93YW50ZWRfYnVpbHRpbiAoaiwgdGd0X2opCisJCWlmICh0Z3Rfai0+cGZuX2Vycm9yX3ZhX2ZsKQorCQkJdGd0X2otPnBmbl9lcnJvcl92YV9mbChmaWxlLCBsaW5lLCBmbXQsIGFwKTsKK30KKwordm9pZCB0cmFjZTJfY21kX3BhdGhfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKnBhdGhuYW1lKQoreworCXN0cnVjdCB0cjJfdGd0ICp0Z3RfajsKKwlpbnQgajsKKworCWlmICghdHJhY2UyX2VuYWJsZWQpCisJCXJldHVybjsKKworCWZvcl9lYWNoX3dhbnRlZF9idWlsdGluIChqLCB0Z3RfaikKKwkJaWYgKHRndF9qLT5wZm5fY29tbWFuZF9wYXRoX2ZsKQorCQkJdGd0X2otPnBmbl9jb21tYW5kX3BhdGhfZmwoZmlsZSwgbGluZSwgcGF0aG5hbWUpOworfQorCit2b2lkIHRyYWNlMl9jbWRfbmFtZV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzdHJ1Y3QgdHIyX3RndCAqdGd0X2o7CisJY29uc3QgY2hhciAqaGllcmFyY2h5OworCWludCBqOworCisJaWYgKCF0cmFjZTJfZW5hYmxlZCkKKwkJcmV0dXJuOworCisJdHIyX2NtZF9uYW1lX2FwcGVuZF9oaWVyYXJjaHkobmFtZSk7CisJaGllcmFyY2h5ID0gdHIyX2NtZF9uYW1lX2dldF9oaWVyYXJjaHkoKTsKKworCWZvcl9lYWNoX3dhbnRlZF9idWlsdGluIChqLCB0Z3RfaikKKwkJaWYgKHRndF9qLT5wZm5fY29tbWFuZF9uYW1lX2ZsKQorCQkJdGd0X2otPnBmbl9jb21tYW5kX25hbWVfZmwoZmlsZSwgbGluZSwgbmFtZSwgaGllcmFyY2h5KTsKK30KKwordm9pZCB0cmFjZTJfY21kX21vZGVfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKm1vZGUpCit7CisJc3RydWN0IHRyMl90Z3QgKnRndF9qOworCWludCBqOworCisJaWYgKCF0cmFjZTJfZW5hYmxlZCkKKwkJcmV0dXJuOworCisJZm9yX2VhY2hfd2FudGVkX2J1aWx0aW4gKGosIHRndF9qKQorCQlpZiAodGd0X2otPnBmbl9jb21tYW5kX21vZGVfZmwpCisJCQl0Z3Rfai0+cGZuX2NvbW1hbmRfbW9kZV9mbChmaWxlLCBsaW5lLCBtb2RlKTsKK30KKwordm9pZCB0cmFjZTJfY21kX2FsaWFzX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICphbGlhcywKKwkJCSBjb25zdCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgdHIyX3RndCAqdGd0X2o7CisJaW50IGo7CisKKwlpZiAoIXRyYWNlMl9lbmFibGVkKQorCQlyZXR1cm47CisKKwlmb3JfZWFjaF93YW50ZWRfYnVpbHRpbiAoaiwgdGd0X2opCisJCWlmICh0Z3Rfai0+cGZuX2FsaWFzX2ZsKQorCQkJdGd0X2otPnBmbl9hbGlhc19mbChmaWxlLCBsaW5lLCBhbGlhcywgYXJndik7Cit9CisKK3ZvaWQgdHJhY2UyX2NtZF9saXN0X2NvbmZpZ19mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSkKK3sKKwlpZiAoIXRyYWNlMl9lbmFibGVkKQorCQlyZXR1cm47CisKKwl0cjJfY2ZnX2xpc3RfY29uZmlnX2ZsKGZpbGUsIGxpbmUpOworfQorCit2b2lkIHRyYWNlMl9jbWRfc2V0X2NvbmZpZ19mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqa2V5LAorCQkJICAgICAgY29uc3QgY2hhciAqdmFsdWUpCit7CisJaWYgKCF0cmFjZTJfZW5hYmxlZCkKKwkJcmV0dXJuOworCisJdHIyX2NmZ19zZXRfZmwoZmlsZSwgbGluZSwga2V5LCB2YWx1ZSk7Cit9CisKK3ZvaWQgdHJhY2UyX2NoaWxkX3N0YXJ0X2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJICAgc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNtZCkKK3sKKwlzdHJ1Y3QgdHIyX3RndCAqdGd0X2o7CisJaW50IGo7CisJdWludDY0X3QgdXNfbm93OworCXVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGU7CisKKwlpZiAoIXRyYWNlMl9lbmFibGVkKQorCQlyZXR1cm47CisKKwl1c19ub3cgPSBnZXRuYW5vdGltZSgpIC8gMTAwMDsKKwl1c19lbGFwc2VkX2Fic29sdXRlID0gdHIydGxzX2Fic29sdXRlX2VsYXBzZWQodXNfbm93KTsKKworCWNtZC0+dHJhY2UyX2NoaWxkX2lkID0gdHIydGxzX2xvY2tlZF9pbmNyZW1lbnQoJnRyMl9uZXh0X2NoaWxkX2lkKTsKKwljbWQtPnRyYWNlMl9jaGlsZF91c19zdGFydCA9IHVzX25vdzsKKworCWZvcl9lYWNoX3dhbnRlZF9idWlsdGluIChqLCB0Z3RfaikKKwkJaWYgKHRndF9qLT5wZm5fY2hpbGRfc3RhcnRfZmwpCisJCQl0Z3Rfai0+cGZuX2NoaWxkX3N0YXJ0X2ZsKGZpbGUsIGxpbmUsCisJCQkJCQkgIHVzX2VsYXBzZWRfYWJzb2x1dGUsIGNtZCk7Cit9CisKK3ZvaWQgdHJhY2UyX2NoaWxkX2V4aXRfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIHN0cnVjdCBjaGlsZF9wcm9jZXNzICpjbWQsCisJCQkgIGludCBjaGlsZF9leGl0X2NvZGUpCit7CisJc3RydWN0IHRyMl90Z3QgKnRndF9qOworCWludCBqOworCXVpbnQ2NF90IHVzX25vdzsKKwl1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlOworCXVpbnQ2NF90IHVzX2VsYXBzZWRfY2hpbGQ7CisKKwlpZiAoIXRyYWNlMl9lbmFibGVkKQorCQlyZXR1cm47CisKKwl1c19ub3cgPSBnZXRuYW5vdGltZSgpIC8gMTAwMDsKKwl1c19lbGFwc2VkX2Fic29sdXRlID0gdHIydGxzX2Fic29sdXRlX2VsYXBzZWQodXNfbm93KTsKKworCWlmIChjbWQtPnRyYWNlMl9jaGlsZF91c19zdGFydCkKKwkJdXNfZWxhcHNlZF9jaGlsZCA9IHVzX25vdyAtIGNtZC0+dHJhY2UyX2NoaWxkX3VzX3N0YXJ0OworCWVsc2UKKwkJdXNfZWxhcHNlZF9jaGlsZCA9IDA7CisKKwlmb3JfZWFjaF93YW50ZWRfYnVpbHRpbiAoaiwgdGd0X2opCisJCWlmICh0Z3Rfai0+cGZuX2NoaWxkX2V4aXRfZmwpCisJCQl0Z3Rfai0+cGZuX2NoaWxkX2V4aXRfZmwoZmlsZSwgbGluZSwKKwkJCQkJCSB1c19lbGFwc2VkX2Fic29sdXRlLAorCQkJCQkJIGNtZC0+dHJhY2UyX2NoaWxkX2lkLCBjbWQtPnBpZCwKKwkJCQkJCSBjaGlsZF9leGl0X2NvZGUsCisJCQkJCQkgdXNfZWxhcHNlZF9jaGlsZCk7Cit9CisKK2ludCB0cmFjZTJfZXhlY19mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqZXhlLAorCQkgICBjb25zdCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgdHIyX3RndCAqdGd0X2o7CisJaW50IGo7CisJaW50IGV4ZWNfaWQ7CisJdWludDY0X3QgdXNfbm93OworCXVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGU7CisKKwlpZiAoIXRyYWNlMl9lbmFibGVkKQorCQlyZXR1cm4gLTE7CisKKwl1c19ub3cgPSBnZXRuYW5vdGltZSgpIC8gMTAwMDsKKwl1c19lbGFwc2VkX2Fic29sdXRlID0gdHIydGxzX2Fic29sdXRlX2VsYXBzZWQodXNfbm93KTsKKworCWV4ZWNfaWQgPSB0cjJ0bHNfbG9ja2VkX2luY3JlbWVudCgmdHIyX25leHRfZXhlY19pZCk7CisKKwlmb3JfZWFjaF93YW50ZWRfYnVpbHRpbiAoaiwgdGd0X2opCisJCWlmICh0Z3Rfai0+cGZuX2V4ZWNfZmwpCisJCQl0Z3Rfai0+cGZuX2V4ZWNfZmwoZmlsZSwgbGluZSwgdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCQkJICAgZXhlY19pZCwgZXhlLCBhcmd2KTsKKworCXJldHVybiBleGVjX2lkOworfQorCit2b2lkIHRyYWNlMl9leGVjX3Jlc3VsdF9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgaW50IGV4ZWNfaWQsIGludCBjb2RlKQoreworCXN0cnVjdCB0cjJfdGd0ICp0Z3RfajsKKwlpbnQgajsKKwl1aW50NjRfdCB1c19ub3c7CisJdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZTsKKworCWlmICghdHJhY2UyX2VuYWJsZWQpCisJCXJldHVybjsKKworCXVzX25vdyA9IGdldG5hbm90aW1lKCkgLyAxMDAwOworCXVzX2VsYXBzZWRfYWJzb2x1dGUgPSB0cjJ0bHNfYWJzb2x1dGVfZWxhcHNlZCh1c19ub3cpOworCisJZm9yX2VhY2hfd2FudGVkX2J1aWx0aW4gKGosIHRndF9qKQorCQlpZiAodGd0X2otPnBmbl9leGVjX3Jlc3VsdF9mbCkKKwkJCXRndF9qLT5wZm5fZXhlY19yZXN1bHRfZmwoCisJCQkJZmlsZSwgbGluZSwgdXNfZWxhcHNlZF9hYnNvbHV0ZSwgZXhlY19pZCwgY29kZSk7Cit9CisKK3ZvaWQgdHJhY2UyX3RocmVhZF9zdGFydF9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqdGhyZWFkX25hbWUpCit7CisJc3RydWN0IHRyMl90Z3QgKnRndF9qOworCWludCBqOworCXVpbnQ2NF90IHVzX25vdzsKKwl1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlOworCisJaWYgKCF0cmFjZTJfZW5hYmxlZCkKKwkJcmV0dXJuOworCisJaWYgKHRyMnRsc19pc19tYWluX3RocmVhZCgpKSB7CisJCS8qCisJCSAqIFdlIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBmcm9tIHRoZSBuZXcgdGhyZWFkJ3MgdGhyZWFkLXByb2MsCisJCSAqIHNvIHRoaXMgaXMgdGVjaG5pY2FsbHkgYSBidWcuICBCdXQgaW4gdGhvc2UgY2FzZXMgd2hlcmUgdGhlCisJCSAqIG1haW4gdGhyZWFkIGFsc28gcnVucyB0aGUgdGhyZWFkLXByb2MgZnVuY3Rpb24gKG9yIHdoZW4gd2UKKwkJICogYXJlIGJ1aWx0IHdpdGggdGhyZWFkaW5nIGRpc2FibGVkKSwgd2UgbmVlZCB0byBhbGxvdyBpdC4KKwkJICoKKwkJICogQ29udmVydCB0aGlzIGNhbGwgdG8gYSByZWdpb24tZW50ZXIgc28gdGhlIG5lc3RpbmcgbG9va3MKKwkJICogY29ycmVjdC4KKwkJICovCisJCXRyYWNlMl9yZWdpb25fZW50ZXJfcHJpbnRmX2ZsKGZpbGUsIGxpbmUsIE5VTEwsIE5VTEwsIE5VTEwsCisJCQkJCSAgICAgICJ0aHJlYWQtcHJvYyBvbiBtYWluOiAlcyIsCisJCQkJCSAgICAgIHRocmVhZF9uYW1lKTsKKwkJcmV0dXJuOworCX0KKworCXVzX25vdyA9IGdldG5hbm90aW1lKCkgLyAxMDAwOworCXVzX2VsYXBzZWRfYWJzb2x1dGUgPSB0cjJ0bHNfYWJzb2x1dGVfZWxhcHNlZCh1c19ub3cpOworCisJdHIydGxzX2NyZWF0ZV9zZWxmKHRocmVhZF9uYW1lLCB1c19ub3cpOworCisJZm9yX2VhY2hfd2FudGVkX2J1aWx0aW4gKGosIHRndF9qKQorCQlpZiAodGd0X2otPnBmbl90aHJlYWRfc3RhcnRfZmwpCisJCQl0Z3Rfai0+cGZuX3RocmVhZF9zdGFydF9mbChmaWxlLCBsaW5lLAorCQkJCQkJICAgdXNfZWxhcHNlZF9hYnNvbHV0ZSk7Cit9CisKK3ZvaWQgdHJhY2UyX3RocmVhZF9leGl0X2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lKQoreworCXN0cnVjdCB0cjJfdGd0ICp0Z3RfajsKKwlpbnQgajsKKwl1aW50NjRfdCB1c19ub3c7CisJdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZTsKKwl1aW50NjRfdCB1c19lbGFwc2VkX3RocmVhZDsKKworCWlmICghdHJhY2UyX2VuYWJsZWQpCisJCXJldHVybjsKKworCWlmICh0cjJ0bHNfaXNfbWFpbl90aHJlYWQoKSkgeworCQkvKgorCQkgKiBXZSBzaG91bGQgb25seSBiZSBjYWxsZWQgZnJvbSB0aGUgZXhpdGluZyB0aHJlYWQncworCQkgKiB0aHJlYWQtcHJvYywgc28gdGhpcyBpcyB0ZWNobmljYWxseSBhIGJ1Zy4gIEJ1dCBpbgorCQkgKiB0aG9zZSBjYXNlcyB3aGVyZSB0aGUgbWFpbiB0aHJlYWQgYWxzbyBydW5zIHRoZQorCQkgKiB0aHJlYWQtcHJvYyBmdW5jdGlvbiAob3Igd2hlbiB3ZSBhcmUgYnVpbHQgd2l0aAorCQkgKiB0aHJlYWRpbmcgZGlzYWJsZWQpLCB3ZSBuZWVkIHRvIGFsbG93IGl0LgorCQkgKgorCQkgKiBDb252ZXJ0IHRoaXMgY2FsbCB0byBhIHJlZ2lvbi1sZWF2ZSBzbyB0aGUgbmVzdGluZworCQkgKiBsb29rcyBjb3JyZWN0LgorCQkgKi8KKwkJdHJhY2UyX3JlZ2lvbl9sZWF2ZV9wcmludGZfZmwoZmlsZSwgbGluZSwgTlVMTCwgTlVMTCwgTlVMTCwKKwkJCQkJICAgICAgInRocmVhZC1wcm9jIG9uIG1haW4iKTsKKwkJcmV0dXJuOworCX0KKworCXVzX25vdyA9IGdldG5hbm90aW1lKCkgLyAxMDAwOworCXVzX2VsYXBzZWRfYWJzb2x1dGUgPSB0cjJ0bHNfYWJzb2x1dGVfZWxhcHNlZCh1c19ub3cpOworCisJLyoKKwkgKiBDbGVhciBhbnkgdW5iYWxhbmNlZCByZWdpb25zIGFuZCB0aGVuIGdldCB0aGUgcmVsYXRpdmUgdGltZQorCSAqIGZvciB0aGUgb3V0ZXItbW9zdCByZWdpb24gKHdoaWNoIHdlIHB1c2hlZCB3aGVuIHRoZSB0aHJlYWQKKwkgKiBzdGFydGVkKS4gIFRoaXMgZ2l2ZXMgdXMgdGhlIHJ1biB0aW1lIG9mIHRoZSB0aHJlYWQuCisJICovCisJdHIydGxzX3BvcF91bndpbmRfc2VsZigpOworCXVzX2VsYXBzZWRfdGhyZWFkID0gdHIydGxzX3JlZ2lvbl9lbGFzcGVkX3NlbGYodXNfbm93KTsKKworCWZvcl9lYWNoX3dhbnRlZF9idWlsdGluIChqLCB0Z3RfaikKKwkJaWYgKHRndF9qLT5wZm5fdGhyZWFkX2V4aXRfZmwpCisJCQl0Z3Rfai0+cGZuX3RocmVhZF9leGl0X2ZsKGZpbGUsIGxpbmUsCisJCQkJCQkgIHVzX2VsYXBzZWRfYWJzb2x1dGUsCisJCQkJCQkgIHVzX2VsYXBzZWRfdGhyZWFkKTsKKworCXRyMnRsc191bnNldF9zZWxmKCk7Cit9CisKK3ZvaWQgdHJhY2UyX2RlZl9wYXJhbV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqcGFyYW0sCisJCQkgY29uc3QgY2hhciAqdmFsdWUpCit7CisJc3RydWN0IHRyMl90Z3QgKnRndF9qOworCWludCBqOworCisJaWYgKCF0cmFjZTJfZW5hYmxlZCkKKwkJcmV0dXJuOworCisJZm9yX2VhY2hfd2FudGVkX2J1aWx0aW4gKGosIHRndF9qKQorCQlpZiAodGd0X2otPnBmbl9wYXJhbV9mbCkKKwkJCXRndF9qLT5wZm5fcGFyYW1fZmwoZmlsZSwgbGluZSwgcGFyYW0sIHZhbHVlKTsKK30KKwordm9pZCB0cmFjZTJfZGVmX3JlcG9fZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvKQoreworCXN0cnVjdCB0cjJfdGd0ICp0Z3RfajsKKwlpbnQgajsKKworCWlmICghdHJhY2UyX2VuYWJsZWQpCisJCXJldHVybjsKKworCWlmIChyZXBvLT50cmFjZTJfcmVwb19pZCkKKwkJcmV0dXJuOworCisJcmVwby0+dHJhY2UyX3JlcG9faWQgPSB0cjJ0bHNfbG9ja2VkX2luY3JlbWVudCgmdHIyX25leHRfcmVwb19pZCk7CisKKwlmb3JfZWFjaF93YW50ZWRfYnVpbHRpbiAoaiwgdGd0X2opCisJCWlmICh0Z3Rfai0+cGZuX3JlcG9fZmwpCisJCQl0Z3Rfai0+cGZuX3JlcG9fZmwoZmlsZSwgbGluZSwgcmVwbyk7Cit9CisKK3ZvaWQgdHJhY2UyX3JlZ2lvbl9lbnRlcl9wcmludGZfdmFfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCQkJICAgICAgY29uc3QgY2hhciAqY2F0ZWdvcnksIGNvbnN0IGNoYXIgKmxhYmVsLAorCQkJCSAgICAgIGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJCSAgICAgIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcCkKK3sKKwlzdHJ1Y3QgdHIyX3RndCAqdGd0X2o7CisJaW50IGo7CisJdWludDY0X3QgdXNfbm93OworCXVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGU7CisKKwlpZiAoIXRyYWNlMl9lbmFibGVkKQorCQlyZXR1cm47CisKKwl1c19ub3cgPSBnZXRuYW5vdGltZSgpIC8gMTAwMDsKKwl1c19lbGFwc2VkX2Fic29sdXRlID0gdHIydGxzX2Fic29sdXRlX2VsYXBzZWQodXNfbm93KTsKKworCS8qCisJICogUHJpbnQgdGhlIHJlZ2lvbi1lbnRlciBtZXNzYWdlIGF0IHRoZSBjdXJyZW50IG5lc3RpbmcKKwkgKiAoaW5kZW50YXRpb24pIGxldmVsIGFuZCB0aGVuIHB1c2ggYSBuZXcgbGV2ZWwuCisJICoKKwkgKiBXZSBleHBlY3QgZWFjaCB0YXJnZXQgZnVuY3Rpb24gdG8gdHJlYXQgJ2FwJyBhcyBjb25zdGFudAorCSAqIGFuZCB1c2UgdmFfY29weS4KKwkgKi8KKwlmb3JfZWFjaF93YW50ZWRfYnVpbHRpbiAoaiwgdGd0X2opCisJCWlmICh0Z3Rfai0+cGZuX3JlZ2lvbl9lbnRlcl9wcmludGZfdmFfZmwpCisJCQl0Z3Rfai0+cGZuX3JlZ2lvbl9lbnRlcl9wcmludGZfdmFfZmwoCisJCQkJZmlsZSwgbGluZSwgdXNfZWxhcHNlZF9hYnNvbHV0ZSwgY2F0ZWdvcnksCisJCQkJbGFiZWwsIHJlcG8sIGZtdCwgYXApOworCisJdHIydGxzX3B1c2hfc2VsZih1c19ub3cpOworfQorCit2b2lkIHRyYWNlMl9yZWdpb25fZW50ZXJfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmNhdGVnb3J5LAorCQkJICAgIGNvbnN0IGNoYXIgKmxhYmVsLCBjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgLi4uKQoreworCXZhX2xpc3QgYXA7CisJdmFfc3RhcnQoYXAsIHJlcG8pOworCXRyYWNlMl9yZWdpb25fZW50ZXJfcHJpbnRmX3ZhX2ZsKGZpbGUsIGxpbmUsIGNhdGVnb3J5LCBsYWJlbCwgcmVwbywKKwkJCQkJIE5VTEwsIGFwKTsKKwl2YV9lbmQoYXApOworCit9CisKK3ZvaWQgdHJhY2UyX3JlZ2lvbl9lbnRlcl9wcmludGZfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCQkJICAgY29uc3QgY2hhciAqY2F0ZWdvcnksIGNvbnN0IGNoYXIgKmxhYmVsLAorCQkJCSAgIGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJCSAgIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXZhX2xpc3QgYXA7CisKKwl2YV9zdGFydChhcCwgZm10KTsKKwl0cmFjZTJfcmVnaW9uX2VudGVyX3ByaW50Zl92YV9mbChmaWxlLCBsaW5lLCBjYXRlZ29yeSwgbGFiZWwsIHJlcG8sIGZtdCwKKwkJCQkJIGFwKTsKKwl2YV9lbmQoYXApOworfQorCisjaWZuZGVmIEhBVkVfVkFSSUFESUNfTUFDUk9TCit2b2lkIHRyYWNlMl9yZWdpb25fZW50ZXJfcHJpbnRmKGNvbnN0IGNoYXIgKmNhdGVnb3J5LCBjb25zdCBjaGFyICpsYWJlbCwKKwkJCQljb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqZm10LAorCQkJCS4uLikKK3sKKwl2YV9saXN0IGFwOworCisJdmFfc3RhcnQoYXAsIGZtdCk7CisJdHJhY2UyX3JlZ2lvbl9lbnRlcl9wcmludGZfdmFfZmwoTlVMTCwgMCwgY2F0ZWdvcnksIGxhYmVsLCByZXBvLCBmbXQsCisJCQkJCSBhcCk7CisJdmFfZW5kKGFwKTsKK30KKyNlbmRpZgorCit2b2lkIHRyYWNlMl9yZWdpb25fbGVhdmVfcHJpbnRmX3ZhX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJCSAgICAgIGNvbnN0IGNoYXIgKmNhdGVnb3J5LCBjb25zdCBjaGFyICpsYWJlbCwKKwkJCQkgICAgICBjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCQkgICAgICBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApCit7CisJc3RydWN0IHRyMl90Z3QgKnRndF9qOworCWludCBqOworCXVpbnQ2NF90IHVzX25vdzsKKwl1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlOworCXVpbnQ2NF90IHVzX2VsYXBzZWRfcmVnaW9uOworCisJaWYgKCF0cmFjZTJfZW5hYmxlZCkKKwkJcmV0dXJuOworCisJdXNfbm93ID0gZ2V0bmFub3RpbWUoKSAvIDEwMDA7CisJdXNfZWxhcHNlZF9hYnNvbHV0ZSA9IHRyMnRsc19hYnNvbHV0ZV9lbGFwc2VkKHVzX25vdyk7CisKKwkvKgorCSAqIEdldCB0aGUgZWxhcHNlZCB0aW1lIGluIHRoZSBjdXJyZW50IHJlZ2lvbiBiZWZvcmUgd2UKKwkgKiBwb3AgaXQgb2ZmIHRoZSBzdGFjay4gIFBvcCB0aGUgc3RhY2suICBBbmQgdGhlbiBwcmludAorCSAqIHRoZSBwZXJmIG1lc3NhZ2UgYXQgdGhlIG5ldyAoc2hhbGxvd2VyKSBsZXZlbCBzbyB0aGF0CisJICogaXQgbGluZXMgdXAgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBwdXNoL2VudGVyLgorCSAqLworCXVzX2VsYXBzZWRfcmVnaW9uID0gdHIydGxzX3JlZ2lvbl9lbGFzcGVkX3NlbGYodXNfbm93KTsKKworCXRyMnRsc19wb3Bfc2VsZigpOworCisJLyoKKwkgKiBXZSBleHBlY3QgZWFjaCB0YXJnZXQgZnVuY3Rpb24gdG8gdHJlYXQgJ2FwJyBhcyBjb25zdGFudAorCSAqIGFuZCB1c2UgdmFfY29weS4KKwkgKi8KKwlmb3JfZWFjaF93YW50ZWRfYnVpbHRpbiAoaiwgdGd0X2opCisJCWlmICh0Z3Rfai0+cGZuX3JlZ2lvbl9sZWF2ZV9wcmludGZfdmFfZmwpCisJCQl0Z3Rfai0+cGZuX3JlZ2lvbl9sZWF2ZV9wcmludGZfdmFfZmwoCisJCQkJZmlsZSwgbGluZSwgdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCQl1c19lbGFwc2VkX3JlZ2lvbiwgY2F0ZWdvcnksIGxhYmVsLCByZXBvLCBmbXQsCisJCQkJYXApOworfQorCit2b2lkIHRyYWNlMl9yZWdpb25fbGVhdmVfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmNhdGVnb3J5LAorCQkJICAgIGNvbnN0IGNoYXIgKmxhYmVsLCBjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgLi4uKQoreworCXZhX2xpc3QgYXA7CisJdmFfc3RhcnQoYXAsIHJlcG8pOworCXRyYWNlMl9yZWdpb25fbGVhdmVfcHJpbnRmX3ZhX2ZsKGZpbGUsIGxpbmUsIGNhdGVnb3J5LCBsYWJlbCwgcmVwbywKKwkJCQkJIE5VTEwsIGFwKTsKKwl2YV9lbmQoYXApOworfQorCit2b2lkIHRyYWNlMl9yZWdpb25fbGVhdmVfcHJpbnRmX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJCSAgIGNvbnN0IGNoYXIgKmNhdGVnb3J5LCBjb25zdCBjaGFyICpsYWJlbCwKKwkJCQkgICBjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCQkgICBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwl2YV9saXN0IGFwOworCisJdmFfc3RhcnQoYXAsIGZtdCk7CisJdHJhY2UyX3JlZ2lvbl9sZWF2ZV9wcmludGZfdmFfZmwoZmlsZSwgbGluZSwgY2F0ZWdvcnksIGxhYmVsLCByZXBvLCBmbXQsCisJCQkJCSBhcCk7CisJdmFfZW5kKGFwKTsKK30KKworI2lmbmRlZiBIQVZFX1ZBUklBRElDX01BQ1JPUwordm9pZCB0cmFjZTJfcmVnaW9uX2xlYXZlX3ByaW50Zihjb25zdCBjaGFyICpjYXRlZ29yeSwgY29uc3QgY2hhciAqbGFiZWwsCisJCQkJY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sIGNvbnN0IGNoYXIgKmZtdCwKKwkJCQkuLi4pCit7CisJdmFfbGlzdCBhcDsKKworCXZhX3N0YXJ0KGFwLCBmbXQpOworCXRyYWNlMl9yZWdpb25fbGVhdmVfcHJpbnRmX3ZhX2ZsKE5VTEwsIDAsIGNhdGVnb3J5LCBsYWJlbCwgcmVwbywgZm10LAorCQkJCQkgYXApOworCXZhX2VuZChhcCk7Cit9CisjZW5kaWYKKwordm9pZCB0cmFjZTJfZGF0YV9zdHJpbmdfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmNhdGVnb3J5LAorCQkJICAgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sIGNvbnN0IGNoYXIgKmtleSwKKwkJCSAgIGNvbnN0IGNoYXIgKnZhbHVlKQoreworCXN0cnVjdCB0cjJfdGd0ICp0Z3RfajsKKwlpbnQgajsKKwl1aW50NjRfdCB1c19ub3c7CisJdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZTsKKwl1aW50NjRfdCB1c19lbGFwc2VkX3JlZ2lvbjsKKworCWlmICghdHJhY2UyX2VuYWJsZWQpCisJCXJldHVybjsKKworCXVzX25vdyA9IGdldG5hbm90aW1lKCkgLyAxMDAwOworCXVzX2VsYXBzZWRfYWJzb2x1dGUgPSB0cjJ0bHNfYWJzb2x1dGVfZWxhcHNlZCh1c19ub3cpOworCXVzX2VsYXBzZWRfcmVnaW9uID0gdHIydGxzX3JlZ2lvbl9lbGFzcGVkX3NlbGYodXNfbm93KTsKKworCWZvcl9lYWNoX3dhbnRlZF9idWlsdGluIChqLCB0Z3RfaikKKwkJaWYgKHRndF9qLT5wZm5fZGF0YV9mbCkKKwkJCXRndF9qLT5wZm5fZGF0YV9mbChmaWxlLCBsaW5lLCB1c19lbGFwc2VkX2Fic29sdXRlLAorCQkJCQkgICB1c19lbGFwc2VkX3JlZ2lvbiwgY2F0ZWdvcnksIHJlcG8sCisJCQkJCSAgIGtleSwgdmFsdWUpOworfQorCit2b2lkIHRyYWNlMl9kYXRhX2ludG1heF9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqY2F0ZWdvcnksCisJCQkgICBjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqa2V5LAorCQkJICAgaW50bWF4X3QgdmFsdWUpCit7CisJc3RydWN0IHN0cmJ1ZiBidWZfc3RyaW5nID0gU1RSQlVGX0lOSVQ7CisKKwlpZiAoIXRyYWNlMl9lbmFibGVkKQorCQlyZXR1cm47CisKKwlzdHJidWZfYWRkZigmYnVmX3N0cmluZywgIiUiIFBSSWRNQVgsIHZhbHVlKTsKKwl0cmFjZTJfZGF0YV9zdHJpbmdfZmwoZmlsZSwgbGluZSwgY2F0ZWdvcnksIHJlcG8sIGtleSwgYnVmX3N0cmluZy5idWYpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfc3RyaW5nKTsKK30KKwordm9pZCB0cmFjZTJfZGF0YV9qc29uX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICpjYXRlZ29yeSwKKwkJCSBjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqa2V5LAorCQkJIGNvbnN0IHN0cnVjdCBqc29uX3dyaXRlciAqdmFsdWUpCit7CisJc3RydWN0IHRyMl90Z3QgKnRndF9qOworCWludCBqOworCXVpbnQ2NF90IHVzX25vdzsKKwl1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlOworCXVpbnQ2NF90IHVzX2VsYXBzZWRfcmVnaW9uOworCisJaWYgKCF0cmFjZTJfZW5hYmxlZCkKKwkJcmV0dXJuOworCisJdXNfbm93ID0gZ2V0bmFub3RpbWUoKSAvIDEwMDA7CisJdXNfZWxhcHNlZF9hYnNvbHV0ZSA9IHRyMnRsc19hYnNvbHV0ZV9lbGFwc2VkKHVzX25vdyk7CisJdXNfZWxhcHNlZF9yZWdpb24gPSB0cjJ0bHNfcmVnaW9uX2VsYXNwZWRfc2VsZih1c19ub3cpOworCisJZm9yX2VhY2hfd2FudGVkX2J1aWx0aW4gKGosIHRndF9qKQorCQlpZiAodGd0X2otPnBmbl9kYXRhX2pzb25fZmwpCisJCQl0Z3Rfai0+cGZuX2RhdGFfanNvbl9mbChmaWxlLCBsaW5lLCB1c19lbGFwc2VkX2Fic29sdXRlLAorCQkJCQkJdXNfZWxhcHNlZF9yZWdpb24sIGNhdGVnb3J5LAorCQkJCQkJcmVwbywga2V5LCB2YWx1ZSk7Cit9CisKK3ZvaWQgdHJhY2UyX3ByaW50Zl92YV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqZm10LAorCQkJIHZhX2xpc3QgYXApCit7CisJc3RydWN0IHRyMl90Z3QgKnRndF9qOworCWludCBqOworCXVpbnQ2NF90IHVzX25vdzsKKwl1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlOworCisJaWYgKCF0cmFjZTJfZW5hYmxlZCkKKwkJcmV0dXJuOworCisJdXNfbm93ID0gZ2V0bmFub3RpbWUoKSAvIDEwMDA7CisJdXNfZWxhcHNlZF9hYnNvbHV0ZSA9IHRyMnRsc19hYnNvbHV0ZV9lbGFwc2VkKHVzX25vdyk7CisKKwkvKgorCSAqIFdlIGV4cGVjdCBlYWNoIHRhcmdldCBmdW5jdGlvbiB0byB0cmVhdCAnYXAnIGFzIGNvbnN0YW50CisJICogYW5kIHVzZSB2YV9jb3B5LgorCSAqLworCWZvcl9lYWNoX3dhbnRlZF9idWlsdGluIChqLCB0Z3RfaikKKwkJaWYgKHRndF9qLT5wZm5fcHJpbnRmX3ZhX2ZsKQorCQkJdGd0X2otPnBmbl9wcmludGZfdmFfZmwoZmlsZSwgbGluZSwgdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCQkJCWZtdCwgYXApOworfQorCit2b2lkIHRyYWNlMl9wcmludGZfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXZhX2xpc3QgYXA7CisKKwl2YV9zdGFydChhcCwgZm10KTsKKwl0cmFjZTJfcHJpbnRmX3ZhX2ZsKGZpbGUsIGxpbmUsIGZtdCwgYXApOworCXZhX2VuZChhcCk7Cit9CisKKyNpZm5kZWYgSEFWRV9WQVJJQURJQ19NQUNST1MKK3ZvaWQgdHJhY2UyX3ByaW50Zihjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwl2YV9saXN0IGFwOworCisJdmFfc3RhcnQoYXAsIGZtdCk7CisJdHJhY2UyX3ByaW50Zl92YV9mbChOVUxMLCAwLCBmbXQsIGFwKTsKKwl2YV9lbmQoYXApOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS90cmFjZTIuaCBiL3RyYWNlMi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1ZTgxYzAKLS0tIC9kZXYvbnVsbAorKysgYi90cmFjZTIuaApAQCAtMCwwICsxLDQ5MCBAQAorI2lmbmRlZiBUUkFDRTJfSAorI2RlZmluZSBUUkFDRTJfSAorCisvKioKKyAqIFRoZSBUcmFjZTIgQVBJIGNhbiBiZSB1c2VkIHRvIHByaW50IGRlYnVnLCBwZXJmb3JtYW5jZSwgYW5kIHRlbGVtZXRyeQorICogaW5mb3JtYXRpb24gdG8gc3RkZXJyIG9yIGEgZmlsZS4gIFRoZSBUcmFjZTIgZmVhdHVyZSBpcyBpbmFjdGl2ZSB1bmxlc3MKKyAqIGV4cGxpY2l0bHkgZW5hYmxlZCBieSBlbmFibGluZyBvbmUgb3IgbW9yZSBUcmFjZTIgVGFyZ2V0cy4KKyAqCisgKiBUaGUgVHJhY2UyIEFQSSBpcyBpbnRlbmRlZCB0byByZXBsYWNlIHRoZSBleGlzdGluZyAoVHJhY2UxKQorICogcHJpbnRmLXN0eWxlIHRyYWNpbmcgcHJvdmlkZWQgYnkgdGhlIGV4aXN0aW5nIGBHSVRfVFJBQ0VgIGFuZAorICogYEdJVF9UUkFDRV9QRVJGT1JNQU5DRWAgZmFjaWxpdGllcy4gIER1cmluZyBpbml0aWFsIGltcGxlbWVudGF0aW9uLAorICogVHJhY2UyIGFuZCBUcmFjZTEgbWF5IG9wZXJhdGUgaW4gcGFyYWxsZWwuCisgKgorICogVGhlIFRyYWNlMiBBUEkgZGVmaW5lcyBhIHNldCBvZiBoaWdoLWxldmVsIG1lc3NhZ2VzIHdpdGgga25vd24gZmllbGRzLAorICogc3VjaCBhcyAoYHN0YXJ0YDogYGFyZ3ZgKSBhbmQgKGBleGl0YDoge2BleGl0LWNvZGVgLCBgZWxhcHNlZC10aW1lYH0pLgorICoKKyAqIFRyYWNlMiBpbnN0cnVtZW50YXRpb24gdGhyb3VnaG91dCB0aGUgR2l0IGNvZGUgYmFzZSBzZW5kcyBUcmFjZTIKKyAqIG1lc3NhZ2VzIHRvIHRoZSBlbmFibGVkIFRyYWNlMiBUYXJnZXRzLiAgVGFyZ2V0cyB0cmFuc2Zvcm0gdGhlc2UKKyAqIG1lc3NhZ2VzIGNvbnRlbnQgaW50byBwdXJwb3NlLXNwZWNpZmljIGZvcm1hdHMgYW5kIHdyaXRlIGV2ZW50cyB0bworICogdGhlaXIgZGF0YSBzdHJlYW1zLiAgSW4gdGhpcyBtYW5uZXIsIHRoZSBUcmFjZTIgQVBJIGNhbiBkcml2ZQorICogbWFueSBkaWZmZXJlbnQgdHlwZXMgb2YgYW5hbHlzaXMuCisgKgorICogVGFyZ2V0cyBhcmUgZGVmaW5lZCB1c2luZyBhIFZUYWJsZSBhbGxvd2luZyBlYXN5IGV4dGVuc2lvbiB0byBvdGhlcgorICogZm9ybWF0cyBpbiB0aGUgZnV0dXJlLiAgVGhpcyBtaWdodCBiZSB1c2VkIHRvIGRlZmluZSBhIGJpbmFyeSBmb3JtYXQsCisgKiBmb3IgZXhhbXBsZS4KKyAqCisgKiBUcmFjZTIgaXMgY29udHJvbGxlZCB1c2luZyBgdHJhY2UyLipgIGNvbmZpZyB2YWx1ZXMgaW4gdGhlIHN5c3RlbSBhbmQKKyAqIGdsb2JhbCBjb25maWcgZmlsZXMgYW5kIGBHSVRfVFJBQ0UyKmAgZW52aXJvbm1lbnQgdmFyaWFibGVzLiAgVHJhY2UyIGRvZXMKKyAqIG5vdCByZWFkIGZyb20gcmVwbyBsb2NhbCBvciB3b3JrdHJlZSBjb25maWcgZmlsZXMgb3IgcmVzcGVjdCBgLWNgCisgKiBjb21tYW5kIGxpbmUgY29uZmlnIHNldHRpbmdzLgorICoKKyAqIEZvciBtb3JlIGluZm8gYWJvdXQ6IHRyYWNlMiB0YXJnZXRzLCBjb252ZW50aW9ucyBmb3IgcHVibGljIGZ1bmN0aW9ucyBhbmQKKyAqIG1hY3JvcywgdHJhY2UyIHRhcmdldCBmb3JtYXRzIGFuZCBleGFtcGxlcyBvbiB0cmFjZTIgQVBJIHVzYWdlIHJlZmVyIHRvCisgKiBEb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktdHJhY2UyLnR4dAorICoKKyAqLworCitzdHJ1Y3QgY2hpbGRfcHJvY2VzczsKK3N0cnVjdCByZXBvc2l0b3J5Oworc3RydWN0IGpzb25fd3JpdGVyOworCisvKgorICogVGhlIHB1YmxpYyBUUkFDRTIgcm91dGluZXMgYXJlIGdyb3VwZWQgaW50byB0aGUgZm9sbG93aW5nIGdyb3VwczoKKyAqCisgKiBbXSB0cmFjZTJfaW5pdGlhbGl6ZSAtLSBpbml0aWFsaXphdGlvbi4KKyAqIFtdIHRyYWNlMl9jbWRfKiAgICAgIC0tIGVtaXQgY29tbWFuZC9jb250cm9sIG1lc3NhZ2VzLgorICogW10gdHJhY2UyX2NoaWxkKiAgICAgLS0gZW1pdCBjaGlsZCBzdGFydC9zdG9wIG1lc3NhZ2VzLgorICogW10gdHJhY2UyX2V4ZWMqICAgICAgLS0gZW1pdCBleGVjIHN0YXJ0L3N0b3AgbWVzc2FnZXMuCisgKiBbXSB0cmFjZTJfdGhyZWFkKiAgICAtLSBlbWl0IHRocmVhZCBzdGFydC9zdG9wIG1lc3NhZ2VzLgorICogW10gdHJhY2UyX2RlZiogICAgICAgLS0gZW1pdCBkZWZpbml0aW9uL3BhcmFtZXRlciBtZXNhc2dlcy4KKyAqIFtdIHRyYWNlMl9yZWdpb24qICAgIC0tIGVtaXQgcmVnaW9uIG5lc3RpbmcgbWVzc2FnZXMuCisgKiBbXSB0cmFjZTJfZGF0YSogICAgICAtLSBlbWl0IHJlZ2lvbi90aHJlYWQvcmVwbyBkYXRhIG1lc3NhZ2VzLgorICogW10gdHJhY2UyX3ByaW50ZiogICAgLS0gbGVnYWN5IHRyYWNlWzFdIG1lc3NhZ2VzLgorICovCisKKy8qCisgKiBJbml0aWFsaXplIHRoZSBUUkFDRTIgY2xvY2sgYW5kIGRvIG5vdGhpbmcgZWxzZSwgaW4gcGFydGljdWxhcgorICogbm8gbWFsbG9jcywgbm8gc3lzdGVtIGluc3BlY3Rpb24sIGFuZCBubyBlbnZpcm9ubWVudCBpbnNwZWN0aW9uLgorICoKKyAqIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCBhdCB0aGUgdmVyeSB0b3Agb2YgbWFpbigpIHRvIGNhcHR1cmUgdGhlCisgKiBwcm9jZXNzIHN0YXJ0IHRpbWUuICBUaGlzIGlzIGludGVuZGVkIHRvIHJlZHVjZSBjaGlja2VuLW4tZWdnCisgKiBib290c3RyYXAgcHJlc3N1cmUuCisgKgorICogSXQgaXMgc2FmZSB0byBjYWxsIHRoaXMgbW9yZSB0aGFuIG9uY2UuICBUaGlzIGFsbG93cyBjYXB0dXJpbmcKKyAqIGFic29sdXRlIHN0YXJ0dXAgY29zdHMgb24gV2luZG93cyB3aGljaCB1c2VzIGEgbGl0dGxlIHRyaWNrZXJ5CisgKiB0byBkbyBzZXR1cCB3b3JrIGJlZm9yZSBjb21tb24tbWFpbi5jOm1haW4oKSBpcyBjYWxsZWQuCisgKgorICogVGhlIG1haW4gdHJhY2UyX2luaXRpYWxpemVfZmwoKSBtYXkgYmUgY2FsbGVkIGEgbGl0dGxlIGxhdGVyCisgKiBhZnRlciBtb3JlIGluZnJhc3RydWN0dXJlIGlzIGVzdGFibGlzaGVkLgorICovCit2b2lkIHRyYWNlMl9pbml0aWFsaXplX2Nsb2NrKHZvaWQpOworCisvKgorICogSW5pdGlhbGl6ZSBUUkFDRTIgdHJhY2luZyBmYWNpbGl0eSBpZiBhbnkgb2YgdGhlIGJ1aWx0aW4gVFJBQ0UyCisgKiB0YXJnZXRzIGFyZSBlbmFibGVkIGluIHRoZSBzeXN0ZW0gY29uZmlnIG9yIHRoZSBlbnZpcm9ubWVudC4KKyAqIFRoaXMgaW5jbHVkZXMgc2V0dGluZyB1cCB0aGUgVHJhY2UyIHRocmVhZCBsb2NhbCBzdG9yYWdlIChUTFMpLgorICogRW1pdHMgYSAndmVyc2lvbicgbWVzc2FnZSBjb250YWluaW5nIHRoZSB2ZXJzaW9uIG9mIGdpdAorICogYW5kIHRoZSBUcmFjZTIgcHJvdG9jb2wuCisgKgorICogVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIGZyb20gYG1haW4oKWAgYXMgZWFybHkgYXMgcG9zc2libGUgaW4KKyAqIHRoZSBsaWZlIG9mIHRoZSBwcm9jZXNzIGFmdGVyIGVzc2VudGlhbCBwcm9jZXNzIGluaXRpYWxpemF0aW9uLgorICoKKyAqIENsZWFudXAvVGVybWluYXRpb24gaXMgaGFuZGxlZCBhdXRvbWF0aWNhbGx5IGJ5IGEgcmVnaXN0ZXJlZAorICogYXRleGl0KCkgcm91dGluZS4KKyAqLwordm9pZCB0cmFjZTJfaW5pdGlhbGl6ZV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSk7CisKKyNkZWZpbmUgdHJhY2UyX2luaXRpYWxpemUoKSB0cmFjZTJfaW5pdGlhbGl6ZV9mbChfX0ZJTEVfXywgX19MSU5FX18pCisKKy8qCisgKiBSZXR1cm4gMSBpZiB0cmFjZTIgaXMgZW5hYmxlZCAoYXQgbGVhc3Qgb25lIHRhcmdldCBpcyBhY3RpdmUpLgorICovCitpbnQgdHJhY2UyX2lzX2VuYWJsZWQodm9pZCk7CisKKy8qCisgKiBFbWl0IGEgJ3N0YXJ0JyBldmVudCB3aXRoIHRoZSBvcmlnaW5hbCAodW5tb2RpZmllZCkgYXJndi4KKyAqLwordm9pZCB0cmFjZTJfY21kX3N0YXJ0X2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICoqYXJndik7CisKKyNkZWZpbmUgdHJhY2UyX2NtZF9zdGFydChhcmd2KSB0cmFjZTJfY21kX3N0YXJ0X2ZsKF9fRklMRV9fLCBfX0xJTkVfXywgKGFyZ3YpKQorCisvKgorICogRW1pdCBhbiAnZXhpdCcgZXZlbnQuCisgKgorICogV3JpdGUgdGhlIGV4aXQtY29kZSB0aGF0IHdpbGwgYmUgcGFzc2VkIHRvIGV4aXQoKSBvciByZXR1cm5lZAorICogZnJvbSBtYWluKCkuCisgKgorICogVXNlIHRoaXMgcHJpb3IgdG8gYWN0dWFsbHkgY2FsbGluZyBleGl0KCkuCisgKiBTZWUgIiNkZWZpbmUgZXhpdCgpIiBpbiBnaXQtY29tcGF0LXV0aWwuaAorICovCitpbnQgdHJhY2UyX2NtZF9leGl0X2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBpbnQgY29kZSk7CisKKyNkZWZpbmUgdHJhY2UyX2NtZF9leGl0KGNvZGUpICh0cmFjZTJfY21kX2V4aXRfZmwoX19GSUxFX18sIF9fTElORV9fLCAoY29kZSkpKQorCisvKgorICogRW1pdCBhbiAnZXJyb3InIGV2ZW50LgorICoKKyAqIFdyaXRlIGFuIGVycm9yIG1lc3NhZ2UgdG8gdGhlIFRSQUNFMiB0YXJnZXRzLgorICovCit2b2lkIHRyYWNlMl9jbWRfZXJyb3JfdmFfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmZtdCwKKwkJCSAgICB2YV9saXN0IGFwKTsKKworI2RlZmluZSB0cmFjZTJfY21kX2Vycm9yX3ZhKGZtdCwgYXApIFwKKwl0cmFjZTJfY21kX2Vycm9yX3ZhX2ZsKF9fRklMRV9fLCBfX0xJTkVfXywgKGZtdCksIChhcCkpCisKKy8qCisgKiBFbWl0IGEgJ3BhdGhuYW1lJyBldmVudCB3aXRoIHRoZSBjYW5vbmljYWwgcGF0aG5hbWUgb2YgdGhlIGN1cnJlbnQgcHJvY2VzcworICogVGhpcyBnaXZlcyBwb3N0LXByb2Nlc3NvcnMgYSBzaW1wbGUgZmllbGQgdG8gaWRlbnRpZnkgdGhlIGNvbW1hbmQgd2l0aG91dAorICogaGF2aW5nIHRvIHBhcnNlIHRoZSBhcmd2LiAgRm9yIGV4YW1wbGUsIHRvIGRpc3Rpbmd1aXNoIGludm9jYXRpb25zIGZyb20KKyAqIGluc3RhbGxlZCB2ZXJzdXMgZGVidWcgZXhlY3V0YWJsZXMuCisgKi8KK3ZvaWQgdHJhY2UyX2NtZF9wYXRoX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICpwYXRobmFtZSk7CisKKyNkZWZpbmUgdHJhY2UyX2NtZF9wYXRoKHApIHRyYWNlMl9jbWRfcGF0aF9mbChfX0ZJTEVfXywgX19MSU5FX18sIChwKSkKKworLyoKKyAqIEVtaXQgYSAnY21kX25hbWUnIGV2ZW50IHdpdGggdGhlIGNhbm9uaWNhbCBuYW1lIG9mIHRoZSBjb21tYW5kLgorICogVGhpcyBnaXZlcyBwb3N0LXByb2Nlc3NvcnMgYSBzaW1wbGUgZmllbGQgdG8gaWRlbnRpZnkgdGhlIGNvbW1hbmQKKyAqIHdpdGhvdXQgaGF2aW5nIHRvIHBhcnNlIHRoZSBhcmd2LgorICovCit2b2lkIHRyYWNlMl9jbWRfbmFtZV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqbmFtZSk7CisKKyNkZWZpbmUgdHJhY2UyX2NtZF9uYW1lKHYpIHRyYWNlMl9jbWRfbmFtZV9mbChfX0ZJTEVfXywgX19MSU5FX18sICh2KSkKKworLyoKKyAqIEVtaXQgYSAnY21kX21vZGUnIGV2ZW50IHRvIGZ1cnRoZXIgZGVzY3JpYmUgdGhlIGNvbW1hbmQgYmVpbmcgcnVuLgorICogRm9yIGV4YW1wbGUsICJjaGVja291dCIgY2FuIGNoZWNrb3V0IGEgc2luZ2xlIGZpbGUgb3IgY2FuIGNoZWNrb3V0IGEKKyAqIGRpZmZlcmVudCBicmFuY2guICBUaGlzIGdpdmVzIHBvc3QtcHJvY2Vzc29ycyBhIHNpbXBsZSBmaWVsZCB0byBjb21wYXJlCisgKiBlcXVpdmFsZW50IGNvbW1hbmRzIHdpdGhvdXQgaGF2aW5nIHRvIHBhcnNlIHRoZSBhcmd2LgorICovCit2b2lkIHRyYWNlMl9jbWRfbW9kZV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqbW9kZSk7CisKKyNkZWZpbmUgdHJhY2UyX2NtZF9tb2RlKHN2KSB0cmFjZTJfY21kX21vZGVfZmwoX19GSUxFX18sIF9fTElORV9fLCAoc3YpKQorCisvKgorICogRW1pdHMgYW4gImFsaWFzIiBtZXNzYWdlIGNvbnRhaW5pbmcgdGhlIGFsaWFzIHVzZWQgYW5kIHRoZSBhcmd1bWVudAorICogZXhwYW5zaW9uLgorICovCit2b2lkIHRyYWNlMl9jbWRfYWxpYXNfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmFsaWFzLAorCQkJIGNvbnN0IGNoYXIgKiphcmd2KTsKKworI2RlZmluZSB0cmFjZTJfY21kX2FsaWFzKGFsaWFzLCBhcmd2KSBcCisJdHJhY2UyX2NtZF9hbGlhc19mbChfX0ZJTEVfXywgX19MSU5FX18sIChhbGlhcyksIChhcmd2KSkKKworLyoKKyAqIEVtaXQgb25lIG9yIG1vcmUgJ2RlZl9wYXJhbScgZXZlbnRzIGZvciAiaW1wb3J0YW50IiBjb25maWd1cmF0aW9uCisgKiBzZXR0aW5ncy4KKyAqCisgKiBVc2UgdGhlIFRSMl9TWVNFTlZfQ0ZHX1BBUkFNIHNldHRpbmcgdG8gcmVnaXN0ZXIgYSBjb21tYS1zZXBhcmF0ZWQKKyAqIGxpc3Qgb2YgcGF0dGVybnMgY29uZmlndXJlZCBpbXBvcnRhbnQuICBGb3IgZXhhbXBsZToKKyAqICAgICBnaXQgY29uZmlnIC0tc3lzdGVtIHRyYWNlMi5jb25maWdQYXJhbXMgJ2NvcmUuKixyZW1vdGUuKi51cmwnCisgKiBvcjoKKyAqICAgICBHSVRfVFJBQ0UyX0NPTkZJR19QQVJBTVM9Y29yZS4qLHJlbW90ZS4qLnVybCIKKyAqCisgKiBOb3RlOiB0aGlzIHJvdXRpbmUgZG9lcyBhIHJlYWQtb25seSBpdGVyYXRpb24gb24gdGhlIGNvbmZpZyBkYXRhCisgKiAodXNpbmcgcmVhZF9lYXJseV9jb25maWcoKSksIHNvIGl0IG11c3Qgbm90IGJlIGNhbGxlZCB1bnRpbCBlbm91Z2gKKyAqIG9mIHRoZSBwcm9jZXNzIGVudmlyb25tZW50IGhhcyBiZWVuIGVzdGFibGlzaGVkLiAgVGhpcyBpbmNsdWRlcyB0aGUKKyAqIGxvY2F0aW9uIG9mIHRoZSBnaXQgYW5kIHdvcmt0cmVlIGRpcmVjdG9yaWVzLCBleHBhbnNpb24gb2YgYW55ICItYyIKKyAqIGFuZCAiLUMiIGNvbW1hbmQgbGluZSBvcHRpb25zLCBhbmQgZXRjLgorICovCit2b2lkIHRyYWNlMl9jbWRfbGlzdF9jb25maWdfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUpOworCisjZGVmaW5lIHRyYWNlMl9jbWRfbGlzdF9jb25maWcoKSB0cmFjZTJfY21kX2xpc3RfY29uZmlnX2ZsKF9fRklMRV9fLCBfX0xJTkVfXykKKworLyoKKyAqIEVtaXQgYSAiZGVmX3BhcmFtIiBldmVudCBmb3IgdGhlIGdpdmVuIGNvbmZpZyBrZXkvdmFsdWUgcGFpciBJRgorICogd2UgY29uc2lkZXIgdGhlIGtleSB0byBiZSAiaW1wb3J0YW50Ii4KKyAqCisgKiBVc2UgdGhpcyBmb3IgbmV3L3VwZGF0ZWQgY29uZmlnIHNldHRpbmdzIGNyZWF0ZWQvdXBkYXRlZCBhZnRlcgorICogdHJhY2UyX2NtZF9saXN0X2NvbmZpZygpIGlzIGNhbGxlZC4KKyAqLwordm9pZCB0cmFjZTJfY21kX3NldF9jb25maWdfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmtleSwKKwkJCSAgICAgIGNvbnN0IGNoYXIgKnZhbHVlKTsKKworI2RlZmluZSB0cmFjZTJfY21kX3NldF9jb25maWcoaywgdikgXAorCXRyYWNlMl9jbWRfc2V0X2NvbmZpZ19mbChfX0ZJTEVfXywgX19MSU5FX18sIChrKSwgKHYpKQorCisvKioKKyAqIEVtaXRzIGEgImNoaWxkX3N0YXJ0IiBtZXNzYWdlIGNvbnRhaW5pbmcgdGhlICJjaGlsZC1pZCIsCisgKiAiY2hpbGQtYXJndiIsIGFuZCAiY2hpbGQtY2xhc3NpZmljYXRpb24iLgorICoKKyAqIEJlZm9yZSBjYWxsaW5nIG9wdGlvbmFsbHkgc2V0ICJjbWQtPnRyYWNlMl9jaGlsZF9jbGFzcyIgdG8gYSBzdHJpbmcKKyAqIGRlc2NyaWJpbmcgdGhlIHR5cGUgb2YgdGhlIGNoaWxkIHByb2Nlc3MuICBGb3IgZXhhbXBsZSwgImVkaXRvciIgb3IKKyAqICJwYWdlciIuCisgKgorICogVGhpcyBmdW5jdGlvbiBhc3NpZ25zIGEgdW5pcXVlICJjaGlsZC1pZCIgdG8gYGNtZC0+dHJhY2UyX2NoaWxkX2lkYC4KKyAqIFRoaXMgZmllbGQgaXMgdXNlZCBsYXRlciBkdXJpbmcgdGhlICJjaGlsZF9leGl0IiBtZXNzYWdlIHRvIGFzc29jaWF0ZQorICogaXQgd2l0aCB0aGUgImNoaWxkX3N0YXJ0IiBtZXNzYWdlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUgc3Bhd25pbmcgdGhlIGNoaWxkIHByb2Nlc3MuCisgKi8KK3ZvaWQgdHJhY2UyX2NoaWxkX3N0YXJ0X2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJICAgc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNtZCk7CisKKyNkZWZpbmUgdHJhY2UyX2NoaWxkX3N0YXJ0KGNtZCkgdHJhY2UyX2NoaWxkX3N0YXJ0X2ZsKF9fRklMRV9fLCBfX0xJTkVfXywgKGNtZCkpCisKKy8qKgorICogRW1pdHMgYSAiY2hpbGRfZXhpdCIgbWVzc2FnZSBjb250YWluaW5nIHRoZSAiY2hpbGQtaWQiLAorICogdGhlIGNoaWxkJ3MgZWxhcHNlZCB0aW1lIGFuZCBleGl0LWNvZGUuCisgKgorICogVGhlIHJlcG9ydGVkIGVsYXBzZWQgdGltZSBpbmNsdWRlcyB0aGUgcHJvY2VzcyBjcmVhdGlvbiBvdmVyaGVhZCBhbmQKKyAqIHRpbWUgc3BlbmQgd2FpdGluZyBmb3IgaXQgdG8gZXhpdCwgc28gaXQgbWF5IGJlIHNsaWdodGx5IGxvbmdlciB0aGFuCisgKiB0aGUgdGltZSByZXBvcnRlZCBieSB0aGUgY2hpbGQgaXRzZWxmLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBhZnRlciByZWFwaW5nIHRoZSBjaGlsZCBwcm9jZXNzLgorICovCit2b2lkIHRyYWNlMl9jaGlsZF9leGl0X2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY21kLAorCQkJICBpbnQgY2hpbGRfZXhpdF9jb2RlKTsKKworI2RlZmluZSB0cmFjZTJfY2hpbGRfZXhpdChjbWQsIGNvZGUpIFwKKwl0cmFjZTJfY2hpbGRfZXhpdF9mbChfX0ZJTEVfXywgX19MSU5FX18sIChjbWQpLCAoY29kZSkpCisKKy8qKgorICogRW1pdCBhbiAnZXhlYycgZXZlbnQgcHJpb3IgdG8gY2FsbGluZyBvbmUgb2YgZXhlYygpLCBleGVjdigpLAorICogZXhlY3ZwKCksIGFuZCBldGMuICBPbiBVbml4LWRlcml2ZWQgc3lzdGVtcywgdGhpcyB3aWxsIGJlIHRoZQorICogbGFzdCBldmVudCBlbWl0dGVkIGZvciB0aGUgY3VycmVudCBwcm9jZXNzLCB1bmxlc3MgdGhlIGV4ZWMKKyAqIGZhaWxzLiAgT24gV2luZG93cywgZXhlYygpIGJlaGF2ZXMgbGlrZSAnY2hpbGRfc3RhcnQnIGFuZCBhCisgKiB3YWl0cGlkKCksIHNvIGFkZGl0aW9uYWwgZXZlbnRzIG1heSBiZSBlbWl0dGVkLgorICoKKyAqIFJldHVybnMgYSB1bmlxdWUgImV4ZWMtaWQiLiAgVGhpcyB2YWx1ZSBpcyB1c2VkIGxhdGVyCisgKiBpZiB0aGUgZXhlYygpIGZhaWxzIGFuZCBhICJleGVjLXJlc3VsdCIgbWVzc2FnZSBpcyBuZWNlc3NhcnkuCisgKi8KK2ludCB0cmFjZTJfZXhlY19mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqZXhlLAorCQkgICBjb25zdCBjaGFyICoqYXJndik7CisKKyNkZWZpbmUgdHJhY2UyX2V4ZWMoZXhlLCBhcmd2KSB0cmFjZTJfZXhlY19mbChfX0ZJTEVfXywgX19MSU5FX18sIChleGUpLCAoYXJndikpCisKKy8qKgorICogRW1pdCBhbiAnZXhlY19yZXN1bHQnIHdoZW4gcG9zc2libGUuICBPbiBVbml4LWRlcml2ZWQgc3lzdGVtcywKKyAqIHRoaXMgc2hvdWxkIGJlIGNhbGxlZCBhZnRlciBleGVjKCkgcmV0dXJucyAod2hpY2ggb25seSBoYXBwZW5zCisgKiB3aGVuIHRoZXJlIGlzIGFuIGVycm9yIHN0YXJ0aW5nIHRoZSBuZXcgcHJvY2VzcykuICBPbiBXaW5kb3dzLAorICogdGhpcyBzaG91bGQgYmUgY2FsbGVkIGFmdGVyIHRoZSB3YWl0cGlkKCkuCisgKgorICogVGhlICJleGVjX2lkIiBzaG91bGQgYmUgdGhlIHZhbHVlIHJldHVybmVkIGZyb20gdHJhY2UyX2V4ZWMoKS4KKyAqLwordm9pZCB0cmFjZTJfZXhlY19yZXN1bHRfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGludCBleGVjX2lkLCBpbnQgY29kZSk7CisKKyNkZWZpbmUgdHJhY2UyX2V4ZWNfcmVzdWx0KGlkLCBjb2RlKSBcCisJdHJhY2UyX2V4ZWNfcmVzdWx0X2ZsKF9fRklMRV9fLCBfX0xJTkVfXywgKGlkKSwgKGNvZGUpKQorCisvKgorICogRW1pdCBhICd0aHJlYWRfc3RhcnQnIGV2ZW50LiAgVGhpcyBtdXN0IGJlIGNhbGxlZCBmcm9tIGluc2lkZSB0aGUKKyAqIHRocmVhZC1wcm9jIHRvIHNldCB1cCB0aGUgdHJhY2UyIFRMUyBkYXRhIGZvciB0aGUgdGhyZWFkLgorICoKKyAqIFRocmVhZCBuYW1lcyBzaG91bGQgYmUgZGVzY3JpcHRpdmUsIGxpa2UgInByZWxvYWRfaW5kZXgiLgorICogVGhyZWFkIG5hbWVzIHdpbGwgYmUgZGVjb3JhdGVkIHdpdGggYW4gaW5zdGFuY2UgbnVtYmVyIGF1dG9tYXRpY2FsbHkuCisgKi8KK3ZvaWQgdHJhY2UyX3RocmVhZF9zdGFydF9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCSAgICBjb25zdCBjaGFyICp0aHJlYWRfbmFtZSk7CisKKyNkZWZpbmUgdHJhY2UyX3RocmVhZF9zdGFydCh0aHJlYWRfbmFtZSkgXAorCXRyYWNlMl90aHJlYWRfc3RhcnRfZmwoX19GSUxFX18sIF9fTElORV9fLCAodGhyZWFkX25hbWUpKQorCisvKgorICogRW1pdCBhICd0aHJlYWRfZXhpdCcgZXZlbnQuICBUaGlzIG11c3QgYmUgY2FsbGVkIGZyb20gaW5zaWRlIHRoZQorICogdGhyZWFkLXByb2MgdG8gcmVwb3J0IHRocmVhZC1zcGVjaWZpYyBkYXRhIGFuZCBjbGVhbnVwIFRMUyBkYXRhCisgKiBmb3IgdGhlIHRocmVhZC4KKyAqLwordm9pZCB0cmFjZTJfdGhyZWFkX2V4aXRfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUpOworCisjZGVmaW5lIHRyYWNlMl90aHJlYWRfZXhpdCgpIHRyYWNlMl90aHJlYWRfZXhpdF9mbChfX0ZJTEVfXywgX19MSU5FX18pCisKKy8qCisgKiBFbWl0cyBhICJkZWZfcGFyYW0iIG1lc3NhZ2UgY29udGFpbmluZyBhIGtleS92YWx1ZSBwYWlyLgorICoKKyAqIFRoaXMgbWVzc2FnZSBpcyBpbnRlbmRlZCB0byByZXBvcnQgc29tZSBnbG9iYWwgYXNwZWN0IG9mIHRoZSBjdXJyZW50CisgKiBjb21tYW5kLCBzdWNoIGFzIGEgY29uZmlndXJhdGlvbiBzZXR0aW5nIG9yIGNvbW1hbmQgbGluZSBzd2l0Y2ggdGhhdAorICogc2lnbmlmaWNhbnRseSBhZmZlY3RzIHByb2dyYW0gcGVyZm9ybWFuY2Ugb3IgYmVoYXZpb3IsIHN1Y2ggYXMKKyAqIGBjb3JlLmFiYnJldmAsIGBzdGF0dXMuc2hvd1VudHJhY2tlZEZpbGVzYCwgb3IgYC0tbm8tYWhlYWQtYmVoaW5kYC4KKyAqLwordm9pZCB0cmFjZTJfZGVmX3BhcmFtX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICpwYXJhbSwKKwkJCSBjb25zdCBjaGFyICp2YWx1ZSk7CisKKyNkZWZpbmUgdHJhY2UyX2RlZl9wYXJhbShwYXJhbSwgdmFsdWUpIFwKKwl0cmFjZTJfZGVmX3BhcmFtX2ZsKF9fRklMRV9fLCBfX0xJTkVfXywgKHBhcmFtKSwgKHZhbHVlKSkKKworLyoKKyAqIFRlbGwgdHJhY2UyIGFib3V0IGEgbmV3bHkgaW5zdGFudGlhdGVkIHJlcG8gb2JqZWN0IGFuZCBhc3NpZ24KKyAqIGEgdHJhY2UyLXJlcG8taWQgdG8gYmUgdXNlZCBpbiBzdWJzZXF1ZW50IGFjdGl2aXR5IGV2ZW50cy4KKyAqCisgKiBFbWl0cyBhICd3b3JrdHJlZScgZXZlbnQgZm9yIHRoaXMgcmVwbyBpbnN0YW5jZS4KKyAqCisgKiBSZWdpb24gYW5kIGRhdGEgbWVzc2FnZXMgbWF5IHJlZmVyIHRvIHRoaXMgcmVwby1pZC4KKyAqCisgKiBUaGUgbWFpbi90b3AtbGV2ZWwgcmVwb3NpdG9yeSB3aWxsIGhhdmUgcmVwby1pZCB2YWx1ZSAxIChha2EgInIxIikuCisgKgorICogVGhlIHJlcG8taWQgZmllbGQgaXMgaW4gYW50aWNpcGF0aW9uIG9mIGZ1dHVyZSBpbi1wcm9jIHN1Ym1vZHVsZQorICogcmVwb3NpdG9yaWVzLgorICovCit2b2lkIHRyYWNlMl9kZWZfcmVwb19mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8pOworCisjZGVmaW5lIHRyYWNlMl9kZWZfcmVwbyhyZXBvKSB0cmFjZTJfZGVmX3JlcG9fZmwoX19GSUxFX18sIF9fTElORV9fLCByZXBvKQorCisvKioKKyAqIEVtaXQgYSAncmVnaW9uX2VudGVyJyBldmVudCBmb3IgPGNhdGVnb3J5Pi48bGFiZWw+IHdpdGggb3B0aW9uYWwKKyAqIHJlcG8taWQgYW5kIHByaW50ZiBtZXNzYWdlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcHVzaGVzIGEgbmV3IHJlZ2lvbiBuZXN0aW5nIHN0YWNrIGxldmVsIG9uIHRoZSBjdXJyZW50CisgKiB0aHJlYWQgYW5kIHN0YXJ0cyBhIGNsb2NrIGZvciB0aGUgbmV3IHN0YWNrIGZyYW1lLgorICoKKyAqIFRoZSBgY2F0ZWdvcnlgIGZpZWxkIGlzIGFuIGFyYml0cmFyeSBjYXRlZ29yeSBuYW1lIHVzZWQgdG8gY2xhc3NpZnkKKyAqIHJlZ2lvbnMgYnkgZmVhdHVyZSBhcmVhLCBzdWNoIGFzICJzdGF0dXMiIG9yICJpbmRleCIuICBBdCB0aGlzIHRpbWUKKyAqIGl0IGlzIG9ubHkganVzdCBwcmludGVkIGFsb25nIHdpdGggdGhlIHJlc3Qgb2YgdGhlIG1lc3NhZ2UuICBJdCBtYXkKKyAqIGJlIHVzZWQgaW4gdGhlIGZ1dHVyZSB0byBmaWx0ZXIgbWVzc2FnZXMuCisgKgorICogVGhlIGBsYWJlbGAgZmllbGQgaXMgYW4gYXJiaXRyYXJ5IGxhYmVsIHVzZWQgdG8gZGVzY3JpYmUgdGhlIGFjdGl2aXR5CisgKiBiZWluZyBzdGFydGVkLCBzdWNoIGFzICJyZWFkX3JlY3Vyc2l2ZSIgb3IgImRvX3JlYWRfaW5kZXgiLgorICoKKyAqIFRoZSBgcmVwb2AgZmllbGQsIGlmIHNldCwgd2lsbCBiZSB1c2VkIHRvIGdldCB0aGUgInJlcG8taWQiLCBzbyB0aGF0CisgKiByZWN1cnNpdmUgb2VyYXRpb25zIGNhbiBiZSBhdHRyaWJ1dGVkIHRvIHRoZSBjb3JyZWN0IHJlcG9zaXRvcnkuCisgKi8KK3ZvaWQgdHJhY2UyX3JlZ2lvbl9lbnRlcl9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqY2F0ZWdvcnksCisJCQkgICAgY29uc3QgY2hhciAqbGFiZWwsIGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLCAuLi4pOworCisjZGVmaW5lIHRyYWNlMl9yZWdpb25fZW50ZXIoY2F0ZWdvcnksIGxhYmVsLCByZXBvKSBcCisJdHJhY2UyX3JlZ2lvbl9lbnRlcl9mbChfX0ZJTEVfXywgX19MSU5FX18sIChjYXRlZ29yeSksIChsYWJlbCksIChyZXBvKSkKKwordm9pZCB0cmFjZTJfcmVnaW9uX2VudGVyX3ByaW50Zl92YV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCQkgICAgICBjb25zdCBjaGFyICpjYXRlZ29yeSwgY29uc3QgY2hhciAqbGFiZWwsCisJCQkJICAgICAgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkJICAgICAgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwKTsKKworI2RlZmluZSB0cmFjZTJfcmVnaW9uX2VudGVyX3ByaW50Zl92YShjYXRlZ29yeSwgbGFiZWwsIHJlcG8sIGZtdCwgYXApICAgIFwKKwl0cmFjZTJfcmVnaW9uX2VudGVyX3ByaW50Zl92YV9mbChfX0ZJTEVfXywgX19MSU5FX18sIChjYXRlZ29yeSksIFwKKwkJCQkJIChsYWJlbCksIChyZXBvKSwgKGZtdCksIChhcCkpCisKK3ZvaWQgdHJhY2UyX3JlZ2lvbl9lbnRlcl9wcmludGZfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCQkJICAgY29uc3QgY2hhciAqY2F0ZWdvcnksIGNvbnN0IGNoYXIgKmxhYmVsLAorCQkJCSAgIGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJCSAgIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKworI2lmZGVmIEhBVkVfVkFSSUFESUNfTUFDUk9TCisjZGVmaW5lIHRyYWNlMl9yZWdpb25fZW50ZXJfcHJpbnRmKGNhdGVnb3J5LCBsYWJlbCwgcmVwbywgLi4uKSAgICAgICAgICAgICAgICAgXAorCXRyYWNlMl9yZWdpb25fZW50ZXJfcHJpbnRmX2ZsKF9fRklMRV9fLCBfX0xJTkVfXywgKGNhdGVnb3J5KSwgKGxhYmVsKSwgXAorCQkJCSAgICAgIChyZXBvKSwgX19WQV9BUkdTX18pCisjZWxzZQorLyogY2xhbmctZm9ybWF0IG9mZiAqLworX19hdHRyaWJ1dGVfXygoZm9ybWF0IChyZWdpb25fZW50ZXJfcHJpbnRmLCA0LCA1KSkpCit2b2lkIHRyYWNlMl9yZWdpb25fZW50ZXJfcHJpbnRmKGNvbnN0IGNoYXIgKmNhdGVnb3J5LCBjb25zdCBjaGFyICpsYWJlbCwKKwkJCQljb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqZm10LAorCQkJCS4uLik7CisvKiBjbGFuZy1mb3JtYXQgb24gKi8KKyNlbmRpZgorCisvKioKKyAqIEVtaXQgYSAncmVnaW9uX2xlYXZlJyBldmVudCBmb3IgPGNhdGVnb3J5Pi48bGFiZWw+IHdpdGggb3B0aW9uYWwKKyAqIHJlcG8taWQgYW5kIHByaW50ZiBtZXNzYWdlLgorICoKKyAqIExlYXZlIGN1cnJlbnQgbmVzdGluZyBsZXZlbCBhbmQgcmVwb3J0IHRoZSBlbGFwc2VkIHRpbWUgc3BlbnQKKyAqIGluIHRoaXMgbmVzdGluZyBsZXZlbC4KKyAqCisgKiBUaGUgYGNhdGVnb3J5YCwgYGxhYmVsYCwgYW5kIGByZXBvYCBmaWVsZHMgYXJlIHRoZSBzYW1lIGFzCisgKiB0cmFjZTJfcmVnaW9uX2VudGVyX2ZsLiBUaGUgYGNhdGVnb3J5YCBhbmQgYGxhYmVsYCBkbyBub3QKKyAqIG5lZWQgdG8gbWF0Y2ggdGhlIGNvcnJlc3BvbmRpbmcgInJlZ2lvbl9lbnRlciIgbWVzc2FnZSwKKyAqIGJ1dCBpdCBtYWtlcyB0aGUgZGF0YSBzdHJlYW0gZWFzaWVyIHRvIHVuZGVyc3RhbmQuCisgKi8KK3ZvaWQgdHJhY2UyX3JlZ2lvbl9sZWF2ZV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqY2F0ZWdvcnksCisJCQkgICAgY29uc3QgY2hhciAqbGFiZWwsIGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLCAuLi4pOworCisjZGVmaW5lIHRyYWNlMl9yZWdpb25fbGVhdmUoY2F0ZWdvcnksIGxhYmVsLCByZXBvKSBcCisJdHJhY2UyX3JlZ2lvbl9sZWF2ZV9mbChfX0ZJTEVfXywgX19MSU5FX18sIChjYXRlZ29yeSksIChsYWJlbCksIChyZXBvKSkKKwordm9pZCB0cmFjZTJfcmVnaW9uX2xlYXZlX3ByaW50Zl92YV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCQkgICAgICBjb25zdCBjaGFyICpjYXRlZ29yeSwgY29uc3QgY2hhciAqbGFiZWwsCisJCQkJICAgICAgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkJICAgICAgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwKTsKKworI2RlZmluZSB0cmFjZTJfcmVnaW9uX2xlYXZlX3ByaW50Zl92YShjYXRlZ29yeSwgbGFiZWwsIHJlcG8sIGZtdCwgYXApICAgIFwKKwl0cmFjZTJfcmVnaW9uX2xlYXZlX3ByaW50Zl92YV9mbChfX0ZJTEVfXywgX19MSU5FX18sIChjYXRlZ29yeSksIFwKKwkJCQkJIChsYWJlbCksIChyZXBvKSwgKGZtdCksIChhcCkpCisKK3ZvaWQgdHJhY2UyX3JlZ2lvbl9sZWF2ZV9wcmludGZfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCQkJICAgY29uc3QgY2hhciAqY2F0ZWdvcnksIGNvbnN0IGNoYXIgKmxhYmVsLAorCQkJCSAgIGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJCSAgIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKworI2lmZGVmIEhBVkVfVkFSSUFESUNfTUFDUk9TCisjZGVmaW5lIHRyYWNlMl9yZWdpb25fbGVhdmVfcHJpbnRmKGNhdGVnb3J5LCBsYWJlbCwgcmVwbywgLi4uKSAgICAgICAgICAgICAgICAgXAorCXRyYWNlMl9yZWdpb25fbGVhdmVfcHJpbnRmX2ZsKF9fRklMRV9fLCBfX0xJTkVfXywgKGNhdGVnb3J5KSwgKGxhYmVsKSwgXAorCQkJCSAgICAgIChyZXBvKSwgX19WQV9BUkdTX18pCisjZWxzZQorLyogY2xhbmctZm9ybWF0IG9mZiAqLworX19hdHRyaWJ1dGVfXygoZm9ybWF0IChyZWdpb25fbGVhdmVfcHJpbnRmLCA0LCA1KSkpCit2b2lkIHRyYWNlMl9yZWdpb25fbGVhdmVfcHJpbnRmKGNvbnN0IGNoYXIgKmNhdGVnb3J5LCBjb25zdCBjaGFyICpsYWJlbCwKKwkJCQljb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqZm10LAorCQkJCS4uLik7CisvKiBjbGFuZy1mb3JtYXQgb24gKi8KKyNlbmRpZgorCisvKioKKyAqIEVtaXQgYSBrZXktdmFsdWUgcGFpciAnZGF0YScgZXZlbnQgb2YgdGhlIGZvcm0gPGNhdGVnb3J5Pi48a2V5PiA9IDx2YWx1ZT4uCisgKiBUaGlzIGV2ZW50IGltcGxpY2l0bHkgY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgdGhyZWFkLCBuZXN0aW5nIHJlZ2lvbiwKKyAqIGFuZCBvcHRpb25hbCByZXBvLWlkLgorICogVGhpcyBjb3VsZCBiZSB1c2VkIHRvIHByaW50IHRoZSBudW1iZXIgb2YgZmlsZXMgaW4gYSBkaXJlY3RvcnkgZHVyaW5nCisgKiBhIG11bHRpLXRocmVhZGVkIHJlY3Vyc2l2ZSB0cmVlIHdhbGsuCisgKgorICogT24gZXZlbnQtYmFzZWQgVFJBQ0UyIHRhcmdldHMsIHRoaXMgZ2VuZXJhdGVzIGEgJ2RhdGEnIGV2ZW50IHN1aXRhYmxlCisgKiBmb3IgcG9zdC1wcm9jZXNzaW5nLiAgT24gcHJpbnRmLWJhc2VkIFRSQUNFMiB0YXJnZXRzLCB0aGlzIGlzIGNvbnZlcnRlZAorICogaW50byBhIGZpeGVkLWZvcm1hdCBwcmludGYgbWVzc2FnZS4KKyAqLwordm9pZCB0cmFjZTJfZGF0YV9zdHJpbmdfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmNhdGVnb3J5LAorCQkJICAgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sIGNvbnN0IGNoYXIgKmtleSwKKwkJCSAgIGNvbnN0IGNoYXIgKnZhbHVlKTsKKworI2RlZmluZSB0cmFjZTJfZGF0YV9zdHJpbmcoY2F0ZWdvcnksIHJlcG8sIGtleSwgdmFsdWUpICAgICAgICAgICAgICAgICAgICAgICBcCisJdHJhY2UyX2RhdGFfc3RyaW5nX2ZsKF9fRklMRV9fLCBfX0xJTkVfXywgKGNhdGVnb3J5KSwgKHJlcG8pLCAoa2V5KSwgXAorCQkJICAgICAgKHZhbHVlKSkKKwordm9pZCB0cmFjZTJfZGF0YV9pbnRtYXhfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmNhdGVnb3J5LAorCQkJICAgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sIGNvbnN0IGNoYXIgKmtleSwKKwkJCSAgIGludG1heF90IHZhbHVlKTsKKworI2RlZmluZSB0cmFjZTJfZGF0YV9pbnRtYXgoY2F0ZWdvcnksIHJlcG8sIGtleSwgdmFsdWUpICAgICAgICAgICAgICAgICAgICAgICBcCisJdHJhY2UyX2RhdGFfaW50bWF4X2ZsKF9fRklMRV9fLCBfX0xJTkVfXywgKGNhdGVnb3J5KSwgKHJlcG8pLCAoa2V5KSwgXAorCQkJICAgICAgKHZhbHVlKSkKKwordm9pZCB0cmFjZTJfZGF0YV9qc29uX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICpjYXRlZ29yeSwKKwkJCSBjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqa2V5LAorCQkJIGNvbnN0IHN0cnVjdCBqc29uX3dyaXRlciAqancpOworCisjZGVmaW5lIHRyYWNlMl9kYXRhX2pzb24oY2F0ZWdvcnksIHJlcG8sIGtleSwgdmFsdWUpICAgICAgICAgICAgICAgICAgICAgICBcCisJdHJhY2UyX2RhdGFfanNvbl9mbChfX0ZJTEVfXywgX19MSU5FX18sIChjYXRlZ29yeSksIChyZXBvKSwgKGtleSksIFwKKwkJCSAgICAodmFsdWUpKQorCisvKgorICogRW1pdCBhICdwcmludGYnIGV2ZW50LgorICoKKyAqIFdyaXRlIGFuIGFyYml0cmFyeSBmb3JtYXR0ZWQgbWVzc2FnZSB0byB0aGUgVFJBQ0UyIHRhcmdldHMuICBUaGVzZQorICogdGV4dCBtZXNzYWdlcyBzaG91bGQgYmUgY29uc2lkZXJlZCBhcyBodW1hbi1yZWFkYWJsZSBzdHJpbmdzIHdpdGhvdXQKKyAqIGFueSBmb3JtYXR0aW5nIGd1aWRlbGluZXMuICBQb3N0LXByb2Nlc3NvcnMgbWF5IGNob29zZSB0byBpZ25vcmUKKyAqIHRoZW0uCisgKi8KK3ZvaWQgdHJhY2UyX3ByaW50Zl92YV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqZm10LAorCQkJIHZhX2xpc3QgYXApOworCisjZGVmaW5lIHRyYWNlMl9wcmludGZfdmEoZm10LCBhcCkgXAorCXRyYWNlMl9wcmludGZfdmFfZmwoX19GSUxFX18sIF9fTElORV9fLCAoZm10KSwgKGFwKSkKKwordm9pZCB0cmFjZTJfcHJpbnRmX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICpmbXQsIC4uLik7CisKKyNpZmRlZiBIQVZFX1ZBUklBRElDX01BQ1JPUworI2RlZmluZSB0cmFjZTJfcHJpbnRmKC4uLikgdHJhY2UyX3ByaW50Zl9mbChfX0ZJTEVfXywgX19MSU5FX18sIF9fVkFfQVJHU19fKQorI2Vsc2UKKy8qIGNsYW5nLWZvcm1hdCBvZmYgKi8KK19fYXR0cmlidXRlX18oKGZvcm1hdCAocHJpbnRmLCAxLCAyKSkpCit2b2lkIHRyYWNlMl9wcmludGYoY29uc3QgY2hhciAqZm10LCAuLi4pOworLyogY2xhbmctZm9ybWF0IG9uICovCisjZW5kaWYKKworLyoKKyAqIE9wdGlvbmFsIHBsYXRmb3JtLXNwZWNpZmljIGNvZGUgdG8gZHVtcCBpbmZvcm1hdGlvbiBhYm91dCB0aGUKKyAqIGN1cnJlbnQgYW5kIGFueSBwYXJlbnQgcHJvY2VzcyhlcykuICBUaGlzIGlzIGludGVuZGVkIHRvIGFsbG93CisgKiBwb3N0LXByb2Nlc3NvcnMgdG8ga25vdyB3aG8gc3Bhd25lZCB0aGlzIGdpdCBpbnN0YW5jZSBhbmQgYW55dGhpbmcKKyAqIGVsc2UgdGhhdCB0aGUgcGxhdGZvcm0gbWF5IGJlIGFibGUgdG8gdGVsbCB1cyBhYm91dCB0aGUgY3VycmVudCBwcm9jZXNzLgorICovCisKK2VudW0gdHJhY2UyX3Byb2Nlc3NfaW5mb19yZWFzb24geworCVRSQUNFMl9QUk9DRVNTX0lORk9fU1RBUlRVUCwKKwlUUkFDRTJfUFJPQ0VTU19JTkZPX0VYSVQsCit9OworCisjaWYgZGVmaW5lZChHSVRfV0lORE9XU19OQVRJVkUpCit2b2lkIHRyYWNlMl9jb2xsZWN0X3Byb2Nlc3NfaW5mbyhlbnVtIHRyYWNlMl9wcm9jZXNzX2luZm9fcmVhc29uIHJlYXNvbik7CisjZWxzZQorI2RlZmluZSB0cmFjZTJfY29sbGVjdF9wcm9jZXNzX2luZm8ocmVhc29uKSBcCisJZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorCX0gd2hpbGUgKDApCisjZW5kaWYKKworI2VuZGlmIC8qIFRSQUNFMl9IICovCmRpZmYgLS1naXQgYS90cmFjZTIvdHIyX2NmZy5jIGIvdHJhY2UyL3RyMl9jZmcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWE3ZjA2Ci0tLSAvZGV2L251bGwKKysrIGIvdHJhY2UyL3RyMl9jZmcuYwpAQCAtMCwwICsxLDg5IEBACisjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJ0cmFjZTIvdHIyX2NmZy5oIgorI2luY2x1ZGUgInRyYWNlMi90cjJfc3lzZW52LmgiCisKK3N0YXRpYyBzdHJ1Y3Qgc3RyYnVmICoqdHIyX2NmZ19wYXR0ZXJuczsKK3N0YXRpYyBpbnQgdHIyX2NmZ19jb3VudF9wYXR0ZXJuczsKK3N0YXRpYyBpbnQgdHIyX2NmZ19sb2FkZWQ7CisKKy8qCisgKiBQYXJzZSBhIHN0cmluZyBjb250YWluaW5nIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Qgb2YgY29uZmlnIGtleXMKKyAqIG9yIHdpbGRjYXJkIHBhdHRlcm5zIGludG8gYSBsaXN0IG9mIHN0cmJ1ZnMuCisgKi8KK3N0YXRpYyBpbnQgdHIyX2NmZ19sb2FkX3BhdHRlcm5zKHZvaWQpCit7CisJc3RydWN0IHN0cmJ1ZiAqKnM7CisJY29uc3QgY2hhciAqZW52dmFyOworCisJaWYgKHRyMl9jZmdfbG9hZGVkKQorCQlyZXR1cm4gdHIyX2NmZ19jb3VudF9wYXR0ZXJuczsKKwl0cjJfY2ZnX2xvYWRlZCA9IDE7CisKKwllbnZ2YXIgPSB0cjJfc3lzZW52X2dldChUUjJfU1lTRU5WX0NGR19QQVJBTSk7CisJaWYgKCFlbnZ2YXIgfHwgISplbnZ2YXIpCisJCXJldHVybiB0cjJfY2ZnX2NvdW50X3BhdHRlcm5zOworCisJdHIyX2NmZ19wYXR0ZXJucyA9IHN0cmJ1Zl9zcGxpdF9idWYoZW52dmFyLCBzdHJsZW4oZW52dmFyKSwgJywnLCAtMSk7CisJZm9yIChzID0gdHIyX2NmZ19wYXR0ZXJuczsgKnM7IHMrKykgeworCQlzdHJ1Y3Qgc3RyYnVmICpidWYgPSAqczsKKworCQlpZiAoYnVmLT5sZW4gJiYgYnVmLT5idWZbYnVmLT5sZW4gLSAxXSA9PSAnLCcpCisJCQlzdHJidWZfc2V0bGVuKGJ1ZiwgYnVmLT5sZW4gLSAxKTsKKwkJc3RyYnVmX3RyaW1fdHJhaWxpbmdfbmV3bGluZSgqcyk7CisJCXN0cmJ1Zl90cmltKCpzKTsKKwl9CisKKwl0cjJfY2ZnX2NvdW50X3BhdHRlcm5zID0gcyAtIHRyMl9jZmdfcGF0dGVybnM7CisJcmV0dXJuIHRyMl9jZmdfY291bnRfcGF0dGVybnM7Cit9CisKK3ZvaWQgdHIyX2NmZ19mcmVlX3BhdHRlcm5zKHZvaWQpCit7CisJaWYgKHRyMl9jZmdfcGF0dGVybnMpCisJCXN0cmJ1Zl9saXN0X2ZyZWUodHIyX2NmZ19wYXR0ZXJucyk7CisJdHIyX2NmZ19jb3VudF9wYXR0ZXJucyA9IDA7CisJdHIyX2NmZ19sb2FkZWQgPSAwOworfQorCitzdHJ1Y3QgdHIyX2NmZ19kYXRhIHsKKwljb25zdCBjaGFyICpmaWxlOworCWludCBsaW5lOworfTsKKworLyoKKyAqIFNlZSBpZiB0aGUgZ2l2ZW4gY29uZmlnIGtleSBtYXRjaGVzIGFueSBvZiBvdXIgcGF0dGVybnMgb2YgaW50ZXJlc3QuCisgKi8KK3N0YXRpYyBpbnQgdHIyX2NmZ19jYihjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpkKQoreworCXN0cnVjdCBzdHJidWYgKipzOworCXN0cnVjdCB0cjJfY2ZnX2RhdGEgKmRhdGEgPSAoc3RydWN0IHRyMl9jZmdfZGF0YSAqKWQ7CisKKwlmb3IgKHMgPSB0cjJfY2ZnX3BhdHRlcm5zOyAqczsgcysrKSB7CisJCXN0cnVjdCBzdHJidWYgKmJ1ZiA9ICpzOworCQlpbnQgd20gPSB3aWxkbWF0Y2goYnVmLT5idWYsIGtleSwgV01fQ0FTRUZPTEQpOworCQlpZiAod20gPT0gV01fTUFUQ0gpIHsKKwkJCXRyYWNlMl9kZWZfcGFyYW1fZmwoZGF0YS0+ZmlsZSwgZGF0YS0+bGluZSwga2V5LCB2YWx1ZSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCXJldHVybiAwOworfQorCit2b2lkIHRyMl9jZmdfbGlzdF9jb25maWdfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUpCit7CisJc3RydWN0IHRyMl9jZmdfZGF0YSBkYXRhID0geyBmaWxlLCBsaW5lIH07CisKKwlpZiAodHIyX2NmZ19sb2FkX3BhdHRlcm5zKCkgPiAwKQorCQlyZWFkX2Vhcmx5X2NvbmZpZyh0cjJfY2ZnX2NiLCAmZGF0YSk7Cit9CisKK3ZvaWQgdHIyX2NmZ19zZXRfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmtleSwKKwkJICAgIGNvbnN0IGNoYXIgKnZhbHVlKQoreworCXN0cnVjdCB0cjJfY2ZnX2RhdGEgZGF0YSA9IHsgZmlsZSwgbGluZSB9OworCisJaWYgKHRyMl9jZmdfbG9hZF9wYXR0ZXJucygpID4gMCkKKwkJdHIyX2NmZ19jYihrZXksIHZhbHVlLCAmZGF0YSk7Cit9CmRpZmYgLS1naXQgYS90cmFjZTIvdHIyX2NmZy5oIGIvdHJhY2UyL3RyMl9jZmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOWM5OGY2Ci0tLSAvZGV2L251bGwKKysrIGIvdHJhY2UyL3RyMl9jZmcuaApAQCAtMCwwICsxLDE5IEBACisjaWZuZGVmIFRSMl9DRkdfSAorI2RlZmluZSBUUjJfQ0ZHX0gKKworLyoKKyAqIEl0ZXJhdGUgb3ZlciBhbGwgY29uZmlnIHNldHRpbmdzIGFuZCBlbWl0ICdkZWZfcGFyYW0nIGV2ZW50cyBmb3IgdGhlCisgKiAiaW50ZXJlc3RpbmciIG9uZXMgdG8gVFJBQ0UyLgorICovCit2b2lkIHRyMl9jZmdfbGlzdF9jb25maWdfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUpOworCisvKgorICogRW1pdCBhICJkZWZfcGFyYW0iIGV2ZW50IGZvciB0aGUgZ2l2ZW4ga2V5L3ZhbHVlIHBhaXIgSUYgd2UgY29uc2lkZXIKKyAqIHRoZSBrZXkgdG8gYmUgImludGVyZXN0aW5nIi4KKyAqLwordm9pZCB0cjJfY2ZnX3NldF9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqa2V5LAorCQkgICAgY29uc3QgY2hhciAqdmFsdWUpOworCit2b2lkIHRyMl9jZmdfZnJlZV9wYXR0ZXJucyh2b2lkKTsKKworI2VuZGlmIC8qIFRSMl9DRkdfSCAqLwpkaWZmIC0tZ2l0IGEvdHJhY2UyL3RyMl9jbWRfbmFtZS5jIGIvdHJhY2UyL3RyMl9jbWRfbmFtZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkMzEzMjAKLS0tIC9kZXYvbnVsbAorKysgYi90cmFjZTIvdHIyX2NtZF9uYW1lLmMKQEAgLTAsMCArMSwzMCBAQAorI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAidHJhY2UyL3RyMl9jbWRfbmFtZS5oIgorCisjZGVmaW5lIFRSMl9FTlZWQVJfUEFSRU5UX05BTUUgIkdJVF9UUkFDRTJfUEFSRU5UX05BTUUiCisKK3N0YXRpYyBzdHJ1Y3Qgc3RyYnVmIHRyMmNtZG5hbWVfaGllcmFyY2h5ID0gU1RSQlVGX0lOSVQ7CisKK3ZvaWQgdHIyX2NtZF9uYW1lX2FwcGVuZF9oaWVyYXJjaHkoY29uc3QgY2hhciAqbmFtZSkKK3sKKwljb25zdCBjaGFyICpwYXJlbnRfbmFtZSA9IGdldGVudihUUjJfRU5WVkFSX1BBUkVOVF9OQU1FKTsKKworCXN0cmJ1Zl9yZXNldCgmdHIyY21kbmFtZV9oaWVyYXJjaHkpOworCWlmIChwYXJlbnRfbmFtZSAmJiAqcGFyZW50X25hbWUpIHsKKwkJc3RyYnVmX2FkZHN0cigmdHIyY21kbmFtZV9oaWVyYXJjaHksIHBhcmVudF9uYW1lKTsKKwkJc3RyYnVmX2FkZGNoKCZ0cjJjbWRuYW1lX2hpZXJhcmNoeSwgJy8nKTsKKwl9CisJc3RyYnVmX2FkZHN0cigmdHIyY21kbmFtZV9oaWVyYXJjaHksIG5hbWUpOworCisJc2V0ZW52KFRSMl9FTlZWQVJfUEFSRU5UX05BTUUsIHRyMmNtZG5hbWVfaGllcmFyY2h5LmJ1ZiwgMSk7Cit9CisKK2NvbnN0IGNoYXIgKnRyMl9jbWRfbmFtZV9nZXRfaGllcmFyY2h5KHZvaWQpCit7CisJcmV0dXJuIHRyMmNtZG5hbWVfaGllcmFyY2h5LmJ1ZjsKK30KKwordm9pZCB0cjJfY21kX25hbWVfcmVsZWFzZSh2b2lkKQoreworCXN0cmJ1Zl9yZWxlYXNlKCZ0cjJjbWRuYW1lX2hpZXJhcmNoeSk7Cit9CmRpZmYgLS1naXQgYS90cmFjZTIvdHIyX2NtZF9uYW1lLmggYi90cmFjZTIvdHIyX2NtZF9uYW1lLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWI3MGI2NwotLS0gL2Rldi9udWxsCisrKyBiL3RyYWNlMi90cjJfY21kX25hbWUuaApAQCAtMCwwICsxLDI0IEBACisjaWZuZGVmIFRSMl9DTURfTkFNRV9ICisjZGVmaW5lIFRSMl9DTURfTkFNRV9ICisKKy8qCisgKiBBcHBlbmQgdGhlIGN1cnJlbnQgY29tbWFuZCBuYW1lIHRvIHRoZSBsaXN0IGJlaW5nIG1haW50YWluZWQKKyAqIGluIHRoZSBlbnZpcm9ubWVudC4KKyAqCisgKiBUaGUgaGllcmFyY2h5IGZvciBhIHRvcC1sZXZlbCBnaXQgY29tbWFuZCBpcyBqdXN0IHRoZSBjdXJyZW50CisgKiBjb21tYW5kIG5hbWUuICBGb3IgYSBjaGlsZCBnaXQgcHJvY2VzcywgdGhlIGhpZXJhcmNoeSBpbmNsdWRlcyB0aGUKKyAqIG5hbWVzIG9mIHRoZSBwYXJlbnQgcHJvY2Vzc2VzLgorICoKKyAqIFRoZSBoaWVyYXJjaHkgZm9yIHRoZSBjdXJyZW50IHByb2Nlc3Mgd2lsbCBiZSBleHBvcnRlZCB0byB0aGUKKyAqIGVudmlyb25tZW50IGFuZCBpbmhlcml0ZWQgYnkgY2hpbGQgcHJvY2Vzc2VzLgorICovCit2b2lkIHRyMl9jbWRfbmFtZV9hcHBlbmRfaGllcmFyY2h5KGNvbnN0IGNoYXIgKm5hbWUpOworCisvKgorICogR2V0IHRoZSBjb21tYW5kIG5hbWUgaGllcmFyY2h5IGZvciB0aGUgY3VycmVudCBwcm9jZXNzLgorICovCitjb25zdCBjaGFyICp0cjJfY21kX25hbWVfZ2V0X2hpZXJhcmNoeSh2b2lkKTsKKwordm9pZCB0cjJfY21kX25hbWVfcmVsZWFzZSh2b2lkKTsKKworI2VuZGlmIC8qIFRSMl9DTURfTkFNRV9IICovCmRpZmYgLS1naXQgYS90cmFjZTIvdHIyX2RzdC5jIGIvdHJhY2UyL3RyMl9kc3QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTA1MmEwCi0tLSAvZGV2L251bGwKKysrIGIvdHJhY2UyL3RyMl9kc3QuYwpAQCAtMCwwICsxLDM5MSBAQAorI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAidHJhY2UyL3RyMl9kc3QuaCIKKyNpbmNsdWRlICJ0cmFjZTIvdHIyX3NpZC5oIgorI2luY2x1ZGUgInRyYWNlMi90cjJfc3lzZW52LmgiCisKKy8qCisgKiBIb3cgbWFueSBhdHRlbXB0cyB3ZSB3aWxsIG1ha2UgYXQgY3JlYXRpbmcgYW4gYXV0b21hdGljYWxseS1uYW1lZCB0cmFjZSBmaWxlLgorICovCisjZGVmaW5lIE1BWF9BVVRPX0FUVEVNUFRTIDEwCisKKy8qCisgKiBTZW50aW5lbCBmaWxlIHVzZWQgdG8gZGV0ZWN0IHdoZW4gd2Ugc2hvdWxkIGRpc2NhcmQgbmV3IHRyYWNlcyB0byBhdm9pZAorICogd3JpdGluZyB0b28gbWFueSB0cmFjZSBmaWxlcyB0byBhIGRpcmVjdG9yeS4KKyAqLworI2RlZmluZSBESVNDQVJEX1NFTlRJTkVMX05BTUUgImdpdC10cmFjZTItZGlzY2FyZCIKKworLyoKKyAqIFdoZW4gc2V0IHRvIHplcm8sIGRpc2FibGVzIGRpcmVjdG9yeSBmaWxlIGNvdW50IGNoZWNrcy4gT3RoZXJ3aXNlLCBjb250cm9scworICogaG93IG1hbnkgZmlsZXMgd2UgY2FuIHdyaXRlIHRvIGEgZGlyZWN0b3J5IGJlZm9yZSBlbnRlcmluZyBkaXNjYXJkIG1vZGUuCisgKiBUaGlzIGNhbiBiZSBvdmVycmlkZGVuIHZpYSB0aGUgVFIyX1NZU0VOVl9NQVhfRklMRVMgc2V0dGluZy4KKyAqLworc3RhdGljIGludCB0cjJlbnZfbWF4X2ZpbGVzID0gMDsKKworc3RhdGljIGludCB0cjJfZHN0X3dhbnRfd2FybmluZyh2b2lkKQoreworCXN0YXRpYyBpbnQgdHIyZW52X2RzdF9kZWJ1ZyA9IC0xOworCisJaWYgKHRyMmVudl9kc3RfZGVidWcgPT0gLTEpIHsKKwkJY29uc3QgY2hhciAqZW52X3ZhbHVlID0gdHIyX3N5c2Vudl9nZXQoVFIyX1NZU0VOVl9EU1RfREVCVUcpOworCQlpZiAoIWVudl92YWx1ZSB8fCAhKmVudl92YWx1ZSkKKwkJCXRyMmVudl9kc3RfZGVidWcgPSAwOworCQllbHNlCisJCQl0cjJlbnZfZHN0X2RlYnVnID0gYXRvaShlbnZfdmFsdWUpID4gMDsKKwl9CisKKwlyZXR1cm4gdHIyZW52X2RzdF9kZWJ1ZzsKK30KKwordm9pZCB0cjJfZHN0X3RyYWNlX2Rpc2FibGUoc3RydWN0IHRyMl9kc3QgKmRzdCkKK3sKKwlpZiAoZHN0LT5uZWVkX2Nsb3NlKQorCQljbG9zZShkc3QtPmZkKTsKKwlkc3QtPmZkID0gMDsKKwlkc3QtPmluaXRpYWxpemVkID0gMTsKKwlkc3QtPm5lZWRfY2xvc2UgPSAwOworfQorCisvKgorICogQ2hlY2sgdG8gbWFrZSBzdXJlIHdlJ3JlIG5vdCBvdmVybG9hZGluZyB0aGUgdGFyZ2V0IGRpcmVjdG9yeSB3aXRoIHRvbyBtYW55CisgKiBmaWxlcy4gRmlyc3QgZ2V0IHRoZSB0aHJlc2hvbGQgKGlmIHByZXNlbnQpIGZyb20gdGhlIGNvbmZpZyBvciBlbnZ2YXIuIElmCisgKiBpdCdzIHplcm8gb3IgdW5zZXQsIGRpc2FibGUgdGhpcyBjaGVjay4gTmV4dCBjaGVjayBmb3IgdGhlIHByZXNlbmNlIG9mIGEKKyAqIHNlbnRpbmVsIGZpbGUsIHRoZW4gY2hlY2sgZmlsZSBjb3VudC4KKyAqCisgKiBSZXR1cm5zIDAgaWYgdHJhY2luZyBzaG91bGQgcHJvY2VlZCBhcyBub3JtYWwuIFJldHVybnMgMSBpZiB0aGUgc2VudGluZWwgZmlsZQorICogYWxyZWFkeSBleGlzdHMsIHdoaWNoIG1lYW5zIHRyYWNpbmcgc2hvdWxkIGJlIGRpc2FibGVkLiBSZXR1cm5zIC0xIGlmIHRoZXJlCisgKiBhcmUgdG9vIG1hbnkgZmlsZXMgYnV0IHRoZXJlIHdhcyBubyBzZW50aW5lbCBmaWxlLCB3aGljaCBtZWFucyB3ZSBoYXZlCisgKiBjcmVhdGVkIGFuZCBzaG91bGQgd3JpdGUgdHJhY2VzIHRvIHRoZSBzZW50aW5lbCBmaWxlLgorICoKKyAqIFdlIGV4cGVjdCB0aGF0IHNvbWUgdHJhY2UgcHJvY2Vzc2luZyBzeXN0ZW0gaXMgZ3JhZHVhbGx5IGNvbGxlY3RpbmcgZmlsZXMKKyAqIGZyb20gdGhlIHRhcmdldCBkaXJlY3Rvcnk7IGFmdGVyIGl0IHJlbW92ZXMgdGhlIHNlbnRpbmVsIGZpbGUgd2UnbGwgc3RhcnQKKyAqIHdyaXRpbmcgdHJhY2VzIGFnYWluLgorICovCitzdGF0aWMgaW50IHRyMl9kc3RfdG9vX21hbnlfZmlsZXMoc3RydWN0IHRyMl9kc3QgKmRzdCwgY29uc3QgY2hhciAqdGd0X3ByZWZpeCkKK3sKKwlpbnQgZmlsZV9jb3VudCA9IDAsIG1heF9maWxlcyA9IDAsIHJldCA9IDA7CisJY29uc3QgY2hhciAqbWF4X2ZpbGVzX3ZhcjsKKwlESVIgKmRpcnA7CisJc3RydWN0IHN0cmJ1ZiBwYXRoID0gU1RSQlVGX0lOSVQsIHNlbnRpbmVsX3BhdGggPSBTVFJCVUZfSU5JVDsKKwlzdHJ1Y3Qgc3RhdCBzdGF0YnVmOworCisJLyogR2V0IHRoZSBjb25maWcgb3IgZW52dmFyIGFuZCBkZWNpZGUgaWYgd2Ugc2hvdWxkIGNvbnRpbnVlIHRoaXMgY2hlY2sgKi8KKwltYXhfZmlsZXNfdmFyID0gdHIyX3N5c2Vudl9nZXQoVFIyX1NZU0VOVl9NQVhfRklMRVMpOworCWlmIChtYXhfZmlsZXNfdmFyICYmICptYXhfZmlsZXNfdmFyICYmICgobWF4X2ZpbGVzID0gYXRvaShtYXhfZmlsZXNfdmFyKSkgPj0gMCkpCisJCXRyMmVudl9tYXhfZmlsZXMgPSBtYXhfZmlsZXM7CisKKwlpZiAoIXRyMmVudl9tYXhfZmlsZXMpIHsKKwkJcmV0ID0gMDsKKwkJZ290byBjbGVhbnVwOworCX0KKworCXN0cmJ1Zl9hZGRzdHIoJnBhdGgsIHRndF9wcmVmaXgpOworCWlmICghaXNfZGlyX3NlcChwYXRoLmJ1ZltwYXRoLmxlbiAtIDFdKSkgeworCQlzdHJidWZfYWRkY2goJnBhdGgsICcvJyk7CisJfQorCisJLyogY2hlY2sgc2VudGluZWwgKi8KKwlzdHJidWZfYWRkYnVmKCZzZW50aW5lbF9wYXRoLCAmcGF0aCk7CisJc3RyYnVmX2FkZHN0cigmc2VudGluZWxfcGF0aCwgRElTQ0FSRF9TRU5USU5FTF9OQU1FKTsKKwlpZiAoIXN0YXQoc2VudGluZWxfcGF0aC5idWYsICZzdGF0YnVmKSkgeworCQlyZXQgPSAxOworCQlnb3RvIGNsZWFudXA7CisJfQorCisJLyogY2hlY2sgZmlsZSBjb3VudCAqLworCWRpcnAgPSBvcGVuZGlyKHBhdGguYnVmKTsKKwl3aGlsZSAoZmlsZV9jb3VudCA8IHRyMmVudl9tYXhfZmlsZXMgJiYgZGlycCAmJiByZWFkZGlyKGRpcnApKQorCQlmaWxlX2NvdW50Kys7CisJaWYgKGRpcnApCisJCWNsb3NlZGlyKGRpcnApOworCisJaWYgKGZpbGVfY291bnQgPj0gdHIyZW52X21heF9maWxlcykgeworCQlkc3QtPnRvb19tYW55X2ZpbGVzID0gMTsKKwkJZHN0LT5mZCA9IG9wZW4oc2VudGluZWxfcGF0aC5idWYsIE9fV1JPTkxZIHwgT19DUkVBVCB8IE9fRVhDTCwgMDY2Nik7CisJCXJldCA9IC0xOworCQlnb3RvIGNsZWFudXA7CisJfQorCitjbGVhbnVwOgorCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoKTsKKwlzdHJidWZfcmVsZWFzZSgmc2VudGluZWxfcGF0aCk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCB0cjJfZHN0X3RyeV9hdXRvX3BhdGgoc3RydWN0IHRyMl9kc3QgKmRzdCwgY29uc3QgY2hhciAqdGd0X3ByZWZpeCkKK3sKKwlpbnQgdG9vX21hbnlfZmlsZXM7CisJY29uc3QgY2hhciAqbGFzdF9zbGFzaCwgKnNpZCA9IHRyMl9zaWRfZ2V0KCk7CisJc3RydWN0IHN0cmJ1ZiBwYXRoID0gU1RSQlVGX0lOSVQ7CisJc2l6ZV90IGJhc2VfcGF0aF9sZW47CisJdW5zaWduZWQgYXR0ZW1wdF9jb3VudDsKKworCWxhc3Rfc2xhc2ggPSBzdHJyY2hyKHNpZCwgJy8nKTsKKwlpZiAobGFzdF9zbGFzaCkKKwkJc2lkID0gbGFzdF9zbGFzaCArIDE7CisKKwlzdHJidWZfYWRkc3RyKCZwYXRoLCB0Z3RfcHJlZml4KTsKKwlpZiAoIWlzX2Rpcl9zZXAocGF0aC5idWZbcGF0aC5sZW4gLSAxXSkpCisJCXN0cmJ1Zl9hZGRjaCgmcGF0aCwgJy8nKTsKKwlzdHJidWZfYWRkc3RyKCZwYXRoLCBzaWQpOworCWJhc2VfcGF0aF9sZW4gPSBwYXRoLmxlbjsKKworCXRvb19tYW55X2ZpbGVzID0gdHIyX2RzdF90b29fbWFueV9maWxlcyhkc3QsIHRndF9wcmVmaXgpOworCWlmICghdG9vX21hbnlfZmlsZXMpIHsKKwkJZm9yIChhdHRlbXB0X2NvdW50ID0gMDsgYXR0ZW1wdF9jb3VudCA8IE1BWF9BVVRPX0FUVEVNUFRTOyBhdHRlbXB0X2NvdW50KyspIHsKKwkJCWlmIChhdHRlbXB0X2NvdW50ID4gMCkgeworCQkJCXN0cmJ1Zl9zZXRsZW4oJnBhdGgsIGJhc2VfcGF0aF9sZW4pOworCQkJCXN0cmJ1Zl9hZGRmKCZwYXRoLCAiLiVkIiwgYXR0ZW1wdF9jb3VudCk7CisJCQl9CisKKwkJCWRzdC0+ZmQgPSBvcGVuKHBhdGguYnVmLCBPX1dST05MWSB8IE9fQ1JFQVQgfCBPX0VYQ0wsIDA2NjYpOworCQkJaWYgKGRzdC0+ZmQgIT0gLTEpCisJCQkJYnJlYWs7CisJCX0KKwl9IGVsc2UgaWYgKHRvb19tYW55X2ZpbGVzID09IDEpIHsKKwkJc3RyYnVmX3JlbGVhc2UoJnBhdGgpOworCQlpZiAodHIyX2RzdF93YW50X3dhcm5pbmcoKSkKKwkJCXdhcm5pbmcoInRyYWNlMjogbm90IG9wZW5pbmcgJXMgdHJhY2UgZmlsZSBkdWUgdG8gdG9vICIKKwkJCQkibWFueSBmaWxlcyBpbiB0YXJnZXQgZGlyZWN0b3J5ICVzIiwKKwkJCQl0cjJfc3lzZW52X2Rpc3BsYXlfbmFtZShkc3QtPnN5c2Vudl92YXIpLAorCQkJCXRndF9wcmVmaXgpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoZHN0LT5mZCA9PSAtMSkgeworCQlpZiAodHIyX2RzdF93YW50X3dhcm5pbmcoKSkKKwkJCXdhcm5pbmcoInRyYWNlMjogY291bGQgbm90IG9wZW4gJyUuKnMnIGZvciAnJXMnIHRyYWNpbmc6ICVzIiwKKwkJCQkoaW50KSBiYXNlX3BhdGhfbGVuLCBwYXRoLmJ1ZiwKKwkJCQl0cjJfc3lzZW52X2Rpc3BsYXlfbmFtZShkc3QtPnN5c2Vudl92YXIpLAorCQkJCXN0cmVycm9yKGVycm5vKSk7CisKKwkJdHIyX2RzdF90cmFjZV9kaXNhYmxlKGRzdCk7CisJCXN0cmJ1Zl9yZWxlYXNlKCZwYXRoKTsKKwkJcmV0dXJuIDA7CisJfQorCisJc3RyYnVmX3JlbGVhc2UoJnBhdGgpOworCisJZHN0LT5uZWVkX2Nsb3NlID0gMTsKKwlkc3QtPmluaXRpYWxpemVkID0gMTsKKworCXJldHVybiBkc3QtPmZkOworfQorCitzdGF0aWMgaW50IHRyMl9kc3RfdHJ5X3BhdGgoc3RydWN0IHRyMl9kc3QgKmRzdCwgY29uc3QgY2hhciAqdGd0X3ZhbHVlKQoreworCWludCBmZCA9IG9wZW4odGd0X3ZhbHVlLCBPX1dST05MWSB8IE9fQVBQRU5EIHwgT19DUkVBVCwgMDY2Nik7CisJaWYgKGZkID09IC0xKSB7CisJCWlmICh0cjJfZHN0X3dhbnRfd2FybmluZygpKQorCQkJd2FybmluZygidHJhY2UyOiBjb3VsZCBub3Qgb3BlbiAnJXMnIGZvciAnJXMnIHRyYWNpbmc6ICVzIiwKKwkJCQl0Z3RfdmFsdWUsCisJCQkJdHIyX3N5c2Vudl9kaXNwbGF5X25hbWUoZHN0LT5zeXNlbnZfdmFyKSwKKwkJCQlzdHJlcnJvcihlcnJubykpOworCisJCXRyMl9kc3RfdHJhY2VfZGlzYWJsZShkc3QpOworCQlyZXR1cm4gMDsKKwl9CisKKwlkc3QtPmZkID0gZmQ7CisJZHN0LT5uZWVkX2Nsb3NlID0gMTsKKwlkc3QtPmluaXRpYWxpemVkID0gMTsKKworCXJldHVybiBkc3QtPmZkOworfQorCisjaWZuZGVmIE5PX1VOSVhfU09DS0VUUworI2RlZmluZSBQUkVGSVhfQUZfVU5JWCAiYWZfdW5peDoiCisjZGVmaW5lIFBSRUZJWF9BRl9VTklYX1NUUkVBTSAiYWZfdW5peDpzdHJlYW06IgorI2RlZmluZSBQUkVGSVhfQUZfVU5JWF9ER1JBTSAiYWZfdW5peDpkZ3JhbToiCisKK3N0YXRpYyBpbnQgdHIyX2RzdF90cnlfdWRzX2Nvbm5lY3QoY29uc3QgY2hhciAqcGF0aCwgaW50IHNvY2tfdHlwZSwgaW50ICpvdXRfZmQpCit7CisJaW50IGZkOworCXN0cnVjdCBzb2NrYWRkcl91biBzYTsKKworCWZkID0gc29ja2V0KEFGX1VOSVgsIHNvY2tfdHlwZSwgMCk7CisJaWYgKGZkID09IC0xKQorCQlyZXR1cm4gZXJybm87CisKKwlzYS5zdW5fZmFtaWx5ID0gQUZfVU5JWDsKKwlzdHJsY3B5KHNhLnN1bl9wYXRoLCBwYXRoLCBzaXplb2Yoc2Euc3VuX3BhdGgpKTsKKworCWlmIChjb25uZWN0KGZkLCAoc3RydWN0IHNvY2thZGRyICopJnNhLCBzaXplb2Yoc2EpKSA9PSAtMSkgeworCQlpbnQgZSA9IGVycm5vOworCQljbG9zZShmZCk7CisJCXJldHVybiBlOworCX0KKworCSpvdXRfZmQgPSBmZDsKKwlyZXR1cm4gMDsKK30KKworI2RlZmluZSBUUjJfRFNUX1VEU19UUllfU1RSRUFNICgxIDw8IDApCisjZGVmaW5lIFRSMl9EU1RfVURTX1RSWV9ER1JBTSAgKDEgPDwgMSkKKworc3RhdGljIGludCB0cjJfZHN0X3RyeV91bml4X2RvbWFpbl9zb2NrZXQoc3RydWN0IHRyMl9kc3QgKmRzdCwKKwkJCQkJICBjb25zdCBjaGFyICp0Z3RfdmFsdWUpCit7CisJdW5zaWduZWQgaW50IHVkc190cnkgPSAwOworCWludCBmZDsKKwlpbnQgZTsKKwljb25zdCBjaGFyICpwYXRoID0gTlVMTDsKKworCS8qCisJICogQWxsb3cgImFmX3VuaXg6Wzx0eXBlPjpdPGFic29sdXRlX3BhdGg+IgorCSAqCisJICogVHJhY2UyIGFsd2F5cyB3cml0ZXMgY29tcGxldGUgaW5kaXZpZHVhbCBtZXNzYWdlcyAod2l0aG91dAorCSAqIGNodW5raW5nKSwgc28gd2UgY2FuIHRhbGsgdG8gZWl0aGVyIERHUkFNIG9yIFNUUkVBTSB0eXBlIHNvY2tldHMuCisJICoKKwkgKiBBbGxvdyB0aGUgdXNlciB0byBleHBsaWNpdGx5IHJlcXVlc3QgdGhlIHNvY2tldCB0eXBlLgorCSAqCisJICogSWYgdGhleSBvbWl0IHRoZSBzb2NrZXQgdHlwZSwgdHJ5IG9uZSBhbmQgdGhlbiB0aGUgb3RoZXIuCisJICovCisKKwlpZiAoc2tpcF9wcmVmaXgodGd0X3ZhbHVlLCBQUkVGSVhfQUZfVU5JWF9TVFJFQU0sICZwYXRoKSkKKwkJdWRzX3RyeSB8PSBUUjJfRFNUX1VEU19UUllfU1RSRUFNOworCisJZWxzZSBpZiAoc2tpcF9wcmVmaXgodGd0X3ZhbHVlLCBQUkVGSVhfQUZfVU5JWF9ER1JBTSwgJnBhdGgpKQorCQl1ZHNfdHJ5IHw9IFRSMl9EU1RfVURTX1RSWV9ER1JBTTsKKworCWVsc2UgaWYgKHNraXBfcHJlZml4KHRndF92YWx1ZSwgUFJFRklYX0FGX1VOSVgsICZwYXRoKSkKKwkJdWRzX3RyeSB8PSBUUjJfRFNUX1VEU19UUllfU1RSRUFNIHwgVFIyX0RTVF9VRFNfVFJZX0RHUkFNOworCisJaWYgKCFwYXRoIHx8ICEqcGF0aCkgeworCQlpZiAodHIyX2RzdF93YW50X3dhcm5pbmcoKSkKKwkJCXdhcm5pbmcoInRyYWNlMjogaW52YWxpZCBBRl9VTklYIHZhbHVlICclcycgZm9yICclcycgdHJhY2luZyIsCisJCQkJdGd0X3ZhbHVlLAorCQkJCXRyMl9zeXNlbnZfZGlzcGxheV9uYW1lKGRzdC0+c3lzZW52X3ZhcikpOworCisJCXRyMl9kc3RfdHJhY2VfZGlzYWJsZShkc3QpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoIWlzX2Fic29sdXRlX3BhdGgocGF0aCkgfHwKKwkgICAgc3RybGVuKHBhdGgpID49IHNpemVvZigoKHN0cnVjdCBzb2NrYWRkcl91biAqKTApLT5zdW5fcGF0aCkpIHsKKwkJaWYgKHRyMl9kc3Rfd2FudF93YXJuaW5nKCkpCisJCQl3YXJuaW5nKCJ0cmFjZTI6IGludmFsaWQgQUZfVU5JWCBwYXRoICclcycgZm9yICclcycgdHJhY2luZyIsCisJCQkJcGF0aCwgdHIyX3N5c2Vudl9kaXNwbGF5X25hbWUoZHN0LT5zeXNlbnZfdmFyKSk7CisKKwkJdHIyX2RzdF90cmFjZV9kaXNhYmxlKGRzdCk7CisJCXJldHVybiAwOworCX0KKworCWlmICh1ZHNfdHJ5ICYgVFIyX0RTVF9VRFNfVFJZX1NUUkVBTSkgeworCQllID0gdHIyX2RzdF90cnlfdWRzX2Nvbm5lY3QocGF0aCwgU09DS19TVFJFQU0sICZmZCk7CisJCWlmICghZSkKKwkJCWdvdG8gY29ubmVjdGVkOworCQlpZiAoZSAhPSBFUFJPVE9UWVBFKQorCQkJZ290byBlcnJvcjsKKwl9CisJaWYgKHVkc190cnkgJiBUUjJfRFNUX1VEU19UUllfREdSQU0pIHsKKwkJZSA9IHRyMl9kc3RfdHJ5X3Vkc19jb25uZWN0KHBhdGgsIFNPQ0tfREdSQU0sICZmZCk7CisJCWlmICghZSkKKwkJCWdvdG8gY29ubmVjdGVkOworCX0KKworZXJyb3I6CisJaWYgKHRyMl9kc3Rfd2FudF93YXJuaW5nKCkpCisJCXdhcm5pbmcoInRyYWNlMjogY291bGQgbm90IGNvbm5lY3QgdG8gc29ja2V0ICclcycgZm9yICclcycgdHJhY2luZzogJXMiLAorCQkJcGF0aCwgdHIyX3N5c2Vudl9kaXNwbGF5X25hbWUoZHN0LT5zeXNlbnZfdmFyKSwKKwkJCXN0cmVycm9yKGUpKTsKKworCXRyMl9kc3RfdHJhY2VfZGlzYWJsZShkc3QpOworCXJldHVybiAwOworCitjb25uZWN0ZWQ6CisJZHN0LT5mZCA9IGZkOworCWRzdC0+bmVlZF9jbG9zZSA9IDE7CisJZHN0LT5pbml0aWFsaXplZCA9IDE7CisKKwlyZXR1cm4gZHN0LT5mZDsKK30KKyNlbmRpZgorCitzdGF0aWMgdm9pZCB0cjJfZHN0X21hbGZvcm1lZF93YXJuaW5nKHN0cnVjdCB0cjJfZHN0ICpkc3QsCisJCQkJICAgICAgY29uc3QgY2hhciAqdGd0X3ZhbHVlKQoreworCXdhcm5pbmcoInRyYWNlMjogdW5rbm93biB2YWx1ZSBmb3IgJyVzJzogJyVzJyIsCisJCXRyMl9zeXNlbnZfZGlzcGxheV9uYW1lKGRzdC0+c3lzZW52X3ZhciksIHRndF92YWx1ZSk7Cit9CisKK2ludCB0cjJfZHN0X2dldF90cmFjZV9mZChzdHJ1Y3QgdHIyX2RzdCAqZHN0KQoreworCWNvbnN0IGNoYXIgKnRndF92YWx1ZTsKKworCS8qIGRvbid0IG9wZW4gdHdpY2UgKi8KKwlpZiAoZHN0LT5pbml0aWFsaXplZCkKKwkJcmV0dXJuIGRzdC0+ZmQ7CisKKwlkc3QtPmluaXRpYWxpemVkID0gMTsKKworCXRndF92YWx1ZSA9IHRyMl9zeXNlbnZfZ2V0KGRzdC0+c3lzZW52X3Zhcik7CisKKwlpZiAoIXRndF92YWx1ZSB8fCAhc3RyY21wKHRndF92YWx1ZSwgIiIpIHx8ICFzdHJjbXAodGd0X3ZhbHVlLCAiMCIpIHx8CisJICAgICFzdHJjYXNlY21wKHRndF92YWx1ZSwgImZhbHNlIikpIHsKKwkJZHN0LT5mZCA9IDA7CisJCXJldHVybiBkc3QtPmZkOworCX0KKworCWlmICghc3RyY21wKHRndF92YWx1ZSwgIjEiKSB8fCAhc3RyY2FzZWNtcCh0Z3RfdmFsdWUsICJ0cnVlIikpIHsKKwkJZHN0LT5mZCA9IFNUREVSUl9GSUxFTk87CisJCXJldHVybiBkc3QtPmZkOworCX0KKworCWlmIChzdHJsZW4odGd0X3ZhbHVlKSA9PSAxICYmIGlzZGlnaXQoKnRndF92YWx1ZSkpIHsKKwkJZHN0LT5mZCA9IGF0b2kodGd0X3ZhbHVlKTsKKwkJcmV0dXJuIGRzdC0+ZmQ7CisJfQorCisJaWYgKGlzX2Fic29sdXRlX3BhdGgodGd0X3ZhbHVlKSkgeworCQlpZiAoaXNfZGlyZWN0b3J5KHRndF92YWx1ZSkpCisJCQlyZXR1cm4gdHIyX2RzdF90cnlfYXV0b19wYXRoKGRzdCwgdGd0X3ZhbHVlKTsKKwkJZWxzZQorCQkJcmV0dXJuIHRyMl9kc3RfdHJ5X3BhdGgoZHN0LCB0Z3RfdmFsdWUpOworCX0KKworI2lmbmRlZiBOT19VTklYX1NPQ0tFVFMKKwlpZiAoc3RhcnRzX3dpdGgodGd0X3ZhbHVlLCBQUkVGSVhfQUZfVU5JWCkpCisJCXJldHVybiB0cjJfZHN0X3RyeV91bml4X2RvbWFpbl9zb2NrZXQoZHN0LCB0Z3RfdmFsdWUpOworI2VuZGlmCisKKwkvKiBBbHdheXMgd2FybiBhYm91dCBtYWxmb3JtZWQgdmFsdWVzLiAqLworCXRyMl9kc3RfbWFsZm9ybWVkX3dhcm5pbmcoZHN0LCB0Z3RfdmFsdWUpOworCXRyMl9kc3RfdHJhY2VfZGlzYWJsZShkc3QpOworCXJldHVybiAwOworfQorCitpbnQgdHIyX2RzdF90cmFjZV93YW50KHN0cnVjdCB0cjJfZHN0ICpkc3QpCit7CisJcmV0dXJuICEhdHIyX2RzdF9nZXRfdHJhY2VfZmQoZHN0KTsKK30KKwordm9pZCB0cjJfZHN0X3dyaXRlX2xpbmUoc3RydWN0IHRyMl9kc3QgKmRzdCwgc3RydWN0IHN0cmJ1ZiAqYnVmX2xpbmUpCit7CisJaW50IGZkID0gdHIyX2RzdF9nZXRfdHJhY2VfZmQoZHN0KTsKKworCXN0cmJ1Zl9jb21wbGV0ZV9saW5lKGJ1Zl9saW5lKTsgLyogZW5zdXJlIGZpbmFsIE5MIG9uIGJ1ZmZlciAqLworCisJLyoKKwkgKiBXZSBkbyBub3QgdXNlIHdyaXRlX2luX2Z1bGwoKSBiZWNhdXNlIHdlIGRvIG5vdCB3YW50CisJICogYSBzaG9ydC13cml0ZSB0byB0cnkgYWdhaW4uICBXZSBhcmUgdXNpbmcgT19BUFBFTkQgbW9kZQorCSAqIGZpbGVzIGFuZCB0aGUga2VybmVsIGhhbmRsZXMgdGhlIGF0b21pYyBzZWVrK3dyaXRlLiBJZgorCSAqIGFub3RoZXIgdGhyZWFkIG9yIGdpdCBwcm9jZXNzIGlzIGNvbmN1cnJlbnRseSB3cml0aW5nIHRvCisJICogdGhpcyBmZCBvciBmaWxlLCBvdXIgcmVtYWluZGVyLXdyaXRlIG1heSBub3QgYmUgY29udGlndW91cworCSAqIHdpdGggb3VyIGluaXRpYWwgd3JpdGUgb2YgdGhpcyBtZXNzYWdlLiAgQW5kIHRoYXQgd2lsbAorCSAqIGNvbmZ1c2UgcmVhZGVycy4gIFNvIGp1c3QgZG9uJ3QgYm90aGVyLgorCSAqCisJICogSXQgaXMgYXNzdW1lZCB0aGF0IFRSQUNFMiBtZXNzYWdlcyBhcmUgc2hvcnQgZW5vdWdoIHRoYXQKKwkgKiB0aGUgc3lzdGVtIGNhbiB3cml0ZSB0aGVtIGluIDEgYXR0ZW1wdCBhbmQgd2Ugd29uJ3Qgc2VlCisJICogYSBzaG9ydC13cml0ZS4KKwkgKgorCSAqIElmIHdlIGdldCBhbiBJTyBlcnJvciwganVzdCBjbG9zZSB0aGUgdHJhY2UgZHN0LgorCSAqLworCWlmICh3cml0ZShmZCwgYnVmX2xpbmUtPmJ1ZiwgYnVmX2xpbmUtPmxlbikgPj0gMCkKKwkJcmV0dXJuOworCisJaWYgKHRyMl9kc3Rfd2FudF93YXJuaW5nKCkpCisJCXdhcm5pbmcoInVuYWJsZSB0byB3cml0ZSB0cmFjZSB0byAnJXMnOiAlcyIsCisJCQl0cjJfc3lzZW52X2Rpc3BsYXlfbmFtZShkc3QtPnN5c2Vudl92YXIpLAorCQkJc3RyZXJyb3IoZXJybm8pKTsKKwl0cjJfZHN0X3RyYWNlX2Rpc2FibGUoZHN0KTsKK30KZGlmZiAtLWdpdCBhL3RyYWNlMi90cjJfZHN0LmggYi90cmFjZTIvdHIyX2RzdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxYThjMTQKLS0tIC9kZXYvbnVsbAorKysgYi90cmFjZTIvdHIyX2RzdC5oCkBAIC0wLDAgKzEsMzggQEAKKyNpZm5kZWYgVFIyX0RTVF9ICisjZGVmaW5lIFRSMl9EU1RfSAorCitzdHJ1Y3Qgc3RyYnVmOworI2luY2x1ZGUgInRyYWNlMi90cjJfc3lzZW52LmgiCisKK3N0cnVjdCB0cjJfZHN0IHsKKwllbnVtIHRyMl9zeXNlbnZfdmFyaWFibGUgc3lzZW52X3ZhcjsKKwlpbnQgZmQ7CisJdW5zaWduZWQgaW50IGluaXRpYWxpemVkIDogMTsKKwl1bnNpZ25lZCBpbnQgbmVlZF9jbG9zZSA6IDE7CisJdW5zaWduZWQgaW50IHRvb19tYW55X2ZpbGVzIDogMTsKK307CisKKy8qCisgKiBEaXNhYmxlIFRSQUNFMiBvbiB0aGUgZGVzdGluYXRpb24uICBJbiBUUkFDRTIgYSBkZXN0aW5hdGlvbiAoRFNUKQorICogd3JhcHMgYSBmaWxlIGRlc2NyaXB0b3I7IGl0IGlzIGFzc29jaWF0ZWQgd2l0aCBhIFRBUkdFVCB3aGljaAorICogZGVmaW5lcyB0aGUgZm9ybWF0dGluZy4KKyAqLwordm9pZCB0cjJfZHN0X3RyYWNlX2Rpc2FibGUoc3RydWN0IHRyMl9kc3QgKmRzdCk7CisKKy8qCisgKiBSZXR1cm4gdGhlIGZpbGUgZGVzY3JpcHRvciBmb3IgdGhlIERTVC4KKyAqIElmIDAsIHRoZSBkc3QgaXMgY2xvc2VkIG9yIGRpc2FibGVkLgorICovCitpbnQgdHIyX2RzdF9nZXRfdHJhY2VfZmQoc3RydWN0IHRyMl9kc3QgKmRzdCk7CisKKy8qCisgKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgRFNUIGlzIG9wZW5lZCBmb3Igd3JpdGluZy4KKyAqLworaW50IHRyMl9kc3RfdHJhY2Vfd2FudChzdHJ1Y3QgdHIyX2RzdCAqZHN0KTsKKworLyoKKyAqIFdyaXRlIGEgc2luZ2xlIGxpbmUvbWVzc2FnZSB0byB0aGUgdHJhY2UgZmlsZS4KKyAqLwordm9pZCB0cjJfZHN0X3dyaXRlX2xpbmUoc3RydWN0IHRyMl9kc3QgKmRzdCwgc3RydWN0IHN0cmJ1ZiAqYnVmX2xpbmUpOworCisjZW5kaWYgLyogVFIyX0RTVF9IICovCmRpZmYgLS1naXQgYS90cmFjZTIvdHIyX3NpZC5jIGIvdHJhY2UyL3RyMl9zaWQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzZlNzVlCi0tLSAvZGV2L251bGwKKysrIGIvdHJhY2UyL3RyMl9zaWQuYwpAQCAtMCwwICsxLDExMiBAQAorI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAidHJhY2UyL3RyMl90YnVmLmgiCisjaW5jbHVkZSAidHJhY2UyL3RyMl9zaWQuaCIKKworI2RlZmluZSBUUjJfRU5WVkFSX1BBUkVOVF9TSUQgIkdJVF9UUkFDRTJfUEFSRU5UX1NJRCIKKworc3RhdGljIHN0cnVjdCBzdHJidWYgdHIyc2lkX2J1ZiA9IFNUUkJVRl9JTklUOworc3RhdGljIGludCB0cjJzaWRfbnJfZ2l0X3BhcmVudHM7CisKKy8qCisgKiBDb21wdXRlIHRoZSBmaW5hbCBjb21wb25lbnQgb2YgdGhlIFNJRCByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgcHJvY2Vzcy4KKyAqIFRoaXMgc2hvdWxkIHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBwcm9jZXNzIGFuZCBiZSBhIHZhbGlkIGZpbGVuYW1lICh0bworICogYWxsb3cgd3JpdGluZyB0cmFjZTIgZGF0YSB0byBwZXItcHJvY2VzcyBmaWxlcykuICBJdCBzaG91bGQgYWxzbyBiZSBmaXhlZAorICogbGVuZ3RoIGZvciBwb3NzaWJsZSB1c2UgYXMgYSBkYXRhYmFzZSBrZXkuCisgKgorICogIjx5eXl5bW1kZD5UPGhobW1zcz4uPGZyYWN0aW9uPlotPGhvc3Q+LTxwcm9jZXNzPiIKKyAqCisgKiB3aGVyZSA8aG9zdD4gaXMgYSA5IGNoYXJhY3RlciBzdHJpbmc6CisgKiAgICAiSDxmaXJzdF84X2NoYXJzX29mX3NoYTFfb2ZfaG9zdG5hbWU+IgorICogICAgIkxvY2FsaG9zdCIgd2hlbiBubyBob3N0bmFtZS4KKyAqCisgKiB3aGVyZSA8cHJvY2Vzcz4gaXMgYSA5IGNoYXJhY3RlciBzdHJpbmcgY29udGFpbmluZyB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQKKyAqIDMyIGJpdHMgaW4gdGhlIHByb2Nlc3MtaWQuCisgKiAgICAiUDxwaWQ+IgorICogKFRoaXMgaXMgYW4gYWJyaWJyYXJ5IGNob2ljZS4gIE9uIG1vc3Qgc3lzdGVtcyBwaWRfdCBpcyBhIDMyIGJpdCB2YWx1ZSwKKyAqIHNvIGxpbWl0IGRvZXNuJ3QgbWF0dGVyLiAgT24gbGFyZ2VyIHN5c3RlbXMsIGEgdHJ1bmNhdGVkIHZhbHVlIGlzIGZpbmUKKyAqIGZvciBvdXIgcHVycG9zZXMgaGVyZS4pCisgKi8KK3N0YXRpYyB2b2lkIHRyMl9zaWRfYXBwZW5kX215X3NpZF9jb21wb25lbnQodm9pZCkKK3sKKwljb25zdCBzdHJ1Y3QgZ2l0X2hhc2hfYWxnbyAqYWxnbyA9ICZoYXNoX2FsZ29zW0dJVF9IQVNIX1NIQTFdOworCXN0cnVjdCB0cjJfdGJ1ZiB0Yl9ub3c7CisJZ2l0X2hhc2hfY3R4IGN0eDsKKwlwaWRfdCBwaWQgPSBnZXRwaWQoKTsKKwl1bnNpZ25lZCBjaGFyIGhhc2hbR0lUX01BWF9SQVdTWiArIDFdOworCWNoYXIgaGV4W0dJVF9NQVhfSEVYU1ogKyAxXTsKKwljaGFyIGhvc3RuYW1lW0hPU1RfTkFNRV9NQVggKyAxXTsKKworCXRyMl90YnVmX3V0Y19kYXRldGltZSgmdGJfbm93KTsKKwlzdHJidWZfYWRkc3RyKCZ0cjJzaWRfYnVmLCB0Yl9ub3cuYnVmKTsKKworCXN0cmJ1Zl9hZGRjaCgmdHIyc2lkX2J1ZiwgJy0nKTsKKwlpZiAoeGdldGhvc3RuYW1lKGhvc3RuYW1lLCBzaXplb2YoaG9zdG5hbWUpKSkKKwkJc3RyYnVmX2FkZCgmdHIyc2lkX2J1ZiwgIkxvY2FsaG9zdCIsIDkpOworCWVsc2UgeworCQlhbGdvLT5pbml0X2ZuKCZjdHgpOworCQlhbGdvLT51cGRhdGVfZm4oJmN0eCwgaG9zdG5hbWUsIHN0cmxlbihob3N0bmFtZSkpOworCQlhbGdvLT5maW5hbF9mbihoYXNoLCAmY3R4KTsKKwkJaGFzaF90b19oZXhfYWxnb3BfcihoZXgsIGhhc2gsIGFsZ28pOworCQlzdHJidWZfYWRkY2goJnRyMnNpZF9idWYsICdIJyk7CisJCXN0cmJ1Zl9hZGQoJnRyMnNpZF9idWYsIGhleCwgOCk7CisJfQorCisJc3RyYnVmX2FkZGYoJnRyMnNpZF9idWYsICItUCUwOCJQUkl4MzIsICh1aW50MzJfdClwaWQpOworfQorCisvKgorICogQ29tcHV0ZSBhICJ1bmlxdWUiIHNlc3Npb24gaWQgKFNJRCkgZm9yIHRoZSBjdXJyZW50IHByb2Nlc3MuICBUaGlzIGFsbG93cworICogYWxsIGV2ZW50cyBmcm9tIHRoaXMgcHJvY2VzcyB0byBoYXZlIGEgc2luZ2xlIGxhYmVsIChtdWNoIGxpa2UgYSBQSUQpLgorICoKKyAqIEV4cG9ydCB0aGlzIGludG8gb3VyIGVudmlyb25tZW50IHNvIHRoYXQgYWxsIGNoaWxkIHByb2Nlc3NlcyBpbmhlcml0IGl0LgorICoKKyAqIElmIHdlIHdlcmUgc3RhcnRlZCBieSBhbm90aGVyIGdpdCBpbnN0YW5jZSwgdXNlIG91ciBwYXJlbnQncyBTSUQgYXMgYQorICogcHJlZml4LiAgKFRoaXMgbGV0cyB1cyB0cmFjayBwYXJlbnQvY2hpbGQgcmVsYXRpb25zaGlwcyBldmVuIGlmIHRoZXJlCisgKiBpcyBhbiBpbnRlcm1lZGlhdGUgc2hlbGwgcHJvY2Vzcy4pCisgKgorICogQWRkaXRpb25hbGx5LCBjb3VudCB0aGUgbnVtYmVyIG9mIG5lc3RlZCBnaXQgcHJvY2Vzc2VzLgorICovCitzdGF0aWMgdm9pZCB0cjJfc2lkX2NvbXB1dGUodm9pZCkKK3sKKwljb25zdCBjaGFyICpwYXJlbnRfc2lkOworCisJaWYgKHRyMnNpZF9idWYubGVuKQorCQlyZXR1cm47CisKKwlwYXJlbnRfc2lkID0gZ2V0ZW52KFRSMl9FTlZWQVJfUEFSRU5UX1NJRCk7CisJaWYgKHBhcmVudF9zaWQgJiYgKnBhcmVudF9zaWQpIHsKKwkJY29uc3QgY2hhciAqcDsKKwkJZm9yIChwID0gcGFyZW50X3NpZDsgKnA7IHArKykKKwkJCWlmICgqcCA9PSAnLycpCisJCQkJdHIyc2lkX25yX2dpdF9wYXJlbnRzKys7CisKKwkJc3RyYnVmX2FkZHN0cigmdHIyc2lkX2J1ZiwgcGFyZW50X3NpZCk7CisJCXN0cmJ1Zl9hZGRjaCgmdHIyc2lkX2J1ZiwgJy8nKTsKKwkJdHIyc2lkX25yX2dpdF9wYXJlbnRzKys7CisJfQorCisJdHIyX3NpZF9hcHBlbmRfbXlfc2lkX2NvbXBvbmVudCgpOworCisJc2V0ZW52KFRSMl9FTlZWQVJfUEFSRU5UX1NJRCwgdHIyc2lkX2J1Zi5idWYsIDEpOworfQorCitjb25zdCBjaGFyICp0cjJfc2lkX2dldCh2b2lkKQoreworCWlmICghdHIyc2lkX2J1Zi5sZW4pCisJCXRyMl9zaWRfY29tcHV0ZSgpOworCisJcmV0dXJuIHRyMnNpZF9idWYuYnVmOworfQorCitpbnQgdHIyX3NpZF9kZXB0aCh2b2lkKQoreworCWlmICghdHIyc2lkX2J1Zi5sZW4pCisJCXRyMl9zaWRfY29tcHV0ZSgpOworCisJcmV0dXJuIHRyMnNpZF9ucl9naXRfcGFyZW50czsKK30KKwordm9pZCB0cjJfc2lkX3JlbGVhc2Uodm9pZCkKK3sKKwlzdHJidWZfcmVsZWFzZSgmdHIyc2lkX2J1Zik7Cit9CmRpZmYgLS1naXQgYS90cmFjZTIvdHIyX3NpZC5oIGIvdHJhY2UyL3RyMl9zaWQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YmVmMzIxCi0tLSAvZGV2L251bGwKKysrIGIvdHJhY2UyL3RyMl9zaWQuaApAQCAtMCwwICsxLDE4IEBACisjaWZuZGVmIFRSMl9TSURfSAorI2RlZmluZSBUUjJfU0lEX0gKKworLyoKKyAqIEdldCBvdXIgc2Vzc2lvbiBpZC4gQ29tcHV0ZSBpZiBuZWNlc3NhcnkuCisgKi8KK2NvbnN0IGNoYXIgKnRyMl9zaWRfZ2V0KHZvaWQpOworCisvKgorICogR2V0IG91ciBwcm9jZXNzIGRlcHRoLiAgQSB0b3AtbGV2ZWwgZ2l0IHByb2Nlc3MgaW52b2tlZCBmcm9tIHRoZQorICogY29tbWFuZCBsaW5lIHdpbGwgaGF2ZSBkZXB0aD0wLiAgQSBjaGlsZCBnaXQgcHJvY2VzcyB3aWxsIGhhdmUKKyAqIGRlcHRoPTEgYW5kIHNvIG9uLgorICovCitpbnQgdHIyX3NpZF9kZXB0aCh2b2lkKTsKKwordm9pZCB0cjJfc2lkX3JlbGVhc2Uodm9pZCk7CisKKyNlbmRpZiAvKiBUUjJfU0lEX0ggKi8KZGlmZiAtLWdpdCBhL3RyYWNlMi90cjJfc3lzZW52LmMgYi90cmFjZTIvdHIyX3N5c2Vudi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjMzc5MmUKLS0tIC9kZXYvbnVsbAorKysgYi90cmFjZTIvdHIyX3N5c2Vudi5jCkBAIC0wLDAgKzEsMTMwIEBACisjaW5jbHVkZSAiY2FjaGUuaCIKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJkaXIuaCIKKyNpbmNsdWRlICJ0cjJfc3lzZW52LmgiCisKKy8qCisgKiBFYWNoIGVudHJ5IHJlcHJlc2VudHMgYSB0cmFjZTIgc2V0dGluZy4KKyAqIFNlZSBEb2N1bWVudGF0aW9uL3RlY2huaWNhbC9hcGktdHJhY2UyLnR4dAorICovCitzdHJ1Y3QgdHIyX3N5c2Vudl9lbnRyeSB7CisJY29uc3QgY2hhciAqZW52X3Zhcl9uYW1lOworCWNvbnN0IGNoYXIgKmdpdF9jb25maWdfbmFtZTsKKworCWNoYXIgKnZhbHVlOworCXVuc2lnbmVkIGludCBnZXRlbnZfY2FsbGVkIDogMTsKK307CisKKy8qCisgKiBUaGlzIHRhYmxlIG11c3QgbWF0Y2ggImVudW0gdHIyX3N5c2Vudl92YXJpYWJsZSIgaW4gdHIyX3N5c2Vudi5oLgorICoKKyAqIFRoZSBzdHJpbmdzIGluIHRoaXMgdGFibGUgYXJlIGNvbnN0YW50IGFuZCBtdXN0IG1hdGNoIHRoZSBwdWJsaXNoZWQKKyAqIGNvbmZpZyBhbmQgZW52aXJvbm1lbnQgdmFyaWFibGUgbmFtZXMgYXMgZGVzY3JpYmVkIGluIHRoZSBkb2N1bWVudGF0aW9uLgorICoKKyAqIFdlIGRvIG5vdCBkZWZpbmUgZW50cmllcyBmb3IgdGhlIEdJVF9UUkFDRTJfUEFSRU5UXyogZW52aXJvbm1lbnQKKyAqIHZhcmlhYmxlcyBiZWNhdXNlIHRoZXkgYXJlIHRyYW5zaWVudCBhbmQgdXNlZCB0byBwYXNzIGluZm9ybWF0aW9uCisgKiBmcm9tIHBhcmVudCB0byBjaGlsZCBnaXQgcHJvY2Vzc2VzLCByYXRoZXIgdGhhbiBzZXR0aW5ncy4KKyAqLworLyogY2xhbmctZm9ybWF0IG9mZiAqLworc3RhdGljIHN0cnVjdCB0cjJfc3lzZW52X2VudHJ5IHRyMl9zeXNlbnZfc2V0dGluZ3NbXSA9IHsKKwlbVFIyX1NZU0VOVl9DRkdfUEFSQU1dICAgICA9IHsgIkdJVF9UUkFDRTJfQ09ORklHX1BBUkFNUyIsCisJCQkJICAgICAgICJ0cmFjZTIuY29uZmlncGFyYW1zIiB9LAorCisJW1RSMl9TWVNFTlZfRFNUX0RFQlVHXSAgICAgPSB7ICJHSVRfVFJBQ0UyX0RTVF9ERUJVRyIsCisJCQkJICAgICAgICJ0cmFjZTIuZGVzdGluYXRpb25kZWJ1ZyIgfSwKKworCVtUUjJfU1lTRU5WX05PUk1BTF0gICAgICAgID0geyAiR0lUX1RSQUNFMiIsCisJCQkJICAgICAgICJ0cmFjZTIubm9ybWFsdGFyZ2V0IiB9LAorCVtUUjJfU1lTRU5WX05PUk1BTF9CUklFRl0gID0geyAiR0lUX1RSQUNFMl9CUklFRiIsCisJCQkJICAgICAgICJ0cmFjZTIubm9ybWFsYnJpZWYiIH0sCisKKwlbVFIyX1NZU0VOVl9FVkVOVF0gICAgICAgICA9IHsgIkdJVF9UUkFDRTJfRVZFTlQiLAorCQkJCSAgICAgICAidHJhY2UyLmV2ZW50dGFyZ2V0IiB9LAorCVtUUjJfU1lTRU5WX0VWRU5UX0JSSUVGXSAgID0geyAiR0lUX1RSQUNFMl9FVkVOVF9CUklFRiIsCisJCQkJICAgICAgICJ0cmFjZTIuZXZlbnRicmllZiIgfSwKKwlbVFIyX1NZU0VOVl9FVkVOVF9ORVNUSU5HXSA9IHsgIkdJVF9UUkFDRTJfRVZFTlRfTkVTVElORyIsCisJCQkJICAgICAgICJ0cmFjZTIuZXZlbnRuZXN0aW5nIiB9LAorCisJW1RSMl9TWVNFTlZfUEVSRl0gICAgICAgICAgPSB7ICJHSVRfVFJBQ0UyX1BFUkYiLAorCQkJCSAgICAgICAidHJhY2UyLnBlcmZ0YXJnZXQiIH0sCisJW1RSMl9TWVNFTlZfUEVSRl9CUklFRl0gICAgPSB7ICJHSVRfVFJBQ0UyX1BFUkZfQlJJRUYiLAorCQkJCSAgICAgICAidHJhY2UyLnBlcmZicmllZiIgfSwKKworCVtUUjJfU1lTRU5WX01BWF9GSUxFU10gICAgID0geyAiR0lUX1RSQUNFMl9NQVhfRklMRVMiLAorCQkJCSAgICAgICAidHJhY2UyLm1heGZpbGVzIiB9LAorfTsKKy8qIGNsYW5nLWZvcm1hdCBvbiAqLworCitzdGF0aWMgaW50IHRyMl9zeXNlbnZfY2IoY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqZCkKK3sKKwlpbnQgazsKKworCWlmICghc3RhcnRzX3dpdGgoa2V5LCAidHJhY2UyLiIpKQorCQlyZXR1cm4gMDsKKworCWZvciAoayA9IDA7IGsgPCBBUlJBWV9TSVpFKHRyMl9zeXNlbnZfc2V0dGluZ3MpOyBrKyspIHsKKwkJaWYgKCFzdHJjbXAoa2V5LCB0cjJfc3lzZW52X3NldHRpbmdzW2tdLmdpdF9jb25maWdfbmFtZSkpIHsKKwkJCWZyZWUodHIyX3N5c2Vudl9zZXR0aW5nc1trXS52YWx1ZSk7CisJCQl0cjJfc3lzZW52X3NldHRpbmdzW2tdLnZhbHVlID0geHN0cmR1cCh2YWx1ZSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCXJldHVybiAwOworfQorCisvKgorICogTG9hZCBUcmFjZTIgc2V0dGluZ3MgZnJvbSB0aGUgc3lzdGVtIGNvbmZpZyAodXN1YWxseSAiL2V0Yy9naXRjb25maWciCisgKiB1bmxlc3Mgd2Ugd2VyZSBidWlsdCB3aXRoIGEgcnVudGltZS1wcmVmaXgpLiAgVGhlc2UgYXJlIGludGVuZGVkIHRvCisgKiBkZWZpbmUgdGhlIGRlZmF1bHQgdmFsdWVzIGZvciBUcmFjZTIgYXMgcmVxdWVzdGVkIGJ5IHRoZSBhZG1pbmlzdHJhdG9yLgorICoKKyAqIFRoZW4gb3ZlcnJpZGUgd2l0aCB0aGUgVHJhY2UyIHNldHRpbmdzIGZyb20gdGhlIGdsb2JhbCBjb25maWcuCisgKi8KK3ZvaWQgdHIyX3N5c2Vudl9sb2FkKHZvaWQpCit7CisJaWYgKEFSUkFZX1NJWkUodHIyX3N5c2Vudl9zZXR0aW5ncykgIT0gVFIyX1NZU0VOVl9NVVNUX0JFX0xBU1QpCisJCUJVRygidHIyX3N5c2Vudl9zZXR0aW5ncyBzaXplIGlzIHdyb25nIik7CisKKwlyZWFkX3ZlcnlfZWFybHlfY29uZmlnKHRyMl9zeXNlbnZfY2IsIE5VTEwpOworfQorCisvKgorICogUmV0dXJuIHRoZSB2YWx1ZSBmb3IgdGhlIHJlcXVlc3RlZCBUcmFjZTIgc2V0dGluZyBmcm9tIHRoZXNlIHNvdXJjZXM6CisgKiB0aGUgc3lzdGVtIGNvbmZpZywgdGhlIGdsb2JhbCBjb25maWcsIGFuZCB0aGUgZW52aXJvbm1lbnQuCisgKi8KK2NvbnN0IGNoYXIgKnRyMl9zeXNlbnZfZ2V0KGVudW0gdHIyX3N5c2Vudl92YXJpYWJsZSB2YXIpCit7CisJaWYgKHZhciA+PSBUUjJfU1lTRU5WX01VU1RfQkVfTEFTVCkKKwkJQlVHKCJ0cjJfc3lzZW52X2dldCBpbnZhbGlkIHZhciAnJWQnIiwgdmFyKTsKKworCWlmICghdHIyX3N5c2Vudl9zZXR0aW5nc1t2YXJdLmdldGVudl9jYWxsZWQpIHsKKwkJY29uc3QgY2hhciAqdiA9IGdldGVudih0cjJfc3lzZW52X3NldHRpbmdzW3Zhcl0uZW52X3Zhcl9uYW1lKTsKKwkJaWYgKHYgJiYgKnYpIHsKKwkJCWZyZWUodHIyX3N5c2Vudl9zZXR0aW5nc1t2YXJdLnZhbHVlKTsKKwkJCXRyMl9zeXNlbnZfc2V0dGluZ3NbdmFyXS52YWx1ZSA9IHhzdHJkdXAodik7CisJCX0KKwkJdHIyX3N5c2Vudl9zZXR0aW5nc1t2YXJdLmdldGVudl9jYWxsZWQgPSAxOworCX0KKworCXJldHVybiB0cjJfc3lzZW52X3NldHRpbmdzW3Zhcl0udmFsdWU7Cit9CisKKy8qCisgKiBSZXR1cm4gYSBmcmllbmRseSBuYW1lIGZvciB0aGlzIHNldHRpbmcgdGhhdCBpcyBzdWl0YWJsZSBmb3IgcHJpbnRpbmcKKyAqIGluIGFuIGVycm9yIG1lc3NhZ2VzLgorICovCitjb25zdCBjaGFyICp0cjJfc3lzZW52X2Rpc3BsYXlfbmFtZShlbnVtIHRyMl9zeXNlbnZfdmFyaWFibGUgdmFyKQoreworCWlmICh2YXIgPj0gVFIyX1NZU0VOVl9NVVNUX0JFX0xBU1QpCisJCUJVRygidHIyX3N5c2Vudl9nZXQgaW52YWxpZCB2YXIgJyVkJyIsIHZhcik7CisKKwlyZXR1cm4gdHIyX3N5c2Vudl9zZXR0aW5nc1t2YXJdLmVudl92YXJfbmFtZTsKK30KKwordm9pZCB0cjJfc3lzZW52X3JlbGVhc2Uodm9pZCkKK3sKKwlpbnQgazsKKworCWZvciAoayA9IDA7IGsgPCBBUlJBWV9TSVpFKHRyMl9zeXNlbnZfc2V0dGluZ3MpOyBrKyspCisJCWZyZWUodHIyX3N5c2Vudl9zZXR0aW5nc1trXS52YWx1ZSk7Cit9CmRpZmYgLS1naXQgYS90cmFjZTIvdHIyX3N5c2Vudi5oIGIvdHJhY2UyL3RyMl9zeXNlbnYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDM2NGE3Ci0tLSAvZGV2L251bGwKKysrIGIvdHJhY2UyL3RyMl9zeXNlbnYuaApAQCAtMCwwICsxLDM4IEBACisjaWZuZGVmIFRSMl9TWVNFTlZfSAorI2RlZmluZSBUUjJfU1lTRU5WX0gKKworLyoKKyAqIFRoZSBUcmFjZTIgc2V0dGluZ3MgdGhhdCBjYW4gYmUgbG9hZGVkIGZyb20gL2V0Yy9naXRjb25maWcKKyAqIGFuZC9vciB1c2VyIGVudmlyb25tZW50IHZhcmlhYmxlcy4KKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBzZXQgZG9lcyBub3QgY29udGFpbiBhbnkgb2YgdGhlIHRyYW5zaWVudAorICogZW52aXJvbm1lbnQgdmFyaWFibGVzIHVzZWQgdG8gcGFzcyBpbmZvcm1hdGlvbiBmcm9tIHBhcmVudAorICogdG8gY2hpbGQgZ2l0IHByb2Nlc3Nlcywgc3VjaCAiR0lUX1RSQUNFMl9QQVJFTlRfU0lEIi4KKyAqLworZW51bSB0cjJfc3lzZW52X3ZhcmlhYmxlIHsKKwlUUjJfU1lTRU5WX0NGR19QQVJBTSA9IDAsCisKKwlUUjJfU1lTRU5WX0RTVF9ERUJVRywKKworCVRSMl9TWVNFTlZfTk9STUFMLAorCVRSMl9TWVNFTlZfTk9STUFMX0JSSUVGLAorCisJVFIyX1NZU0VOVl9FVkVOVCwKKwlUUjJfU1lTRU5WX0VWRU5UX0JSSUVGLAorCVRSMl9TWVNFTlZfRVZFTlRfTkVTVElORywKKworCVRSMl9TWVNFTlZfUEVSRiwKKwlUUjJfU1lTRU5WX1BFUkZfQlJJRUYsCisKKwlUUjJfU1lTRU5WX01BWF9GSUxFUywKKworCVRSMl9TWVNFTlZfTVVTVF9CRV9MQVNUCit9OworCit2b2lkIHRyMl9zeXNlbnZfbG9hZCh2b2lkKTsKKworY29uc3QgY2hhciAqdHIyX3N5c2Vudl9nZXQoZW51bSB0cjJfc3lzZW52X3ZhcmlhYmxlKTsKK2NvbnN0IGNoYXIgKnRyMl9zeXNlbnZfZGlzcGxheV9uYW1lKGVudW0gdHIyX3N5c2Vudl92YXJpYWJsZSB2YXIpOwordm9pZCB0cjJfc3lzZW52X3JlbGVhc2Uodm9pZCk7CisKKyNlbmRpZiAvKiBUUjJfU1lTRU5WX0ggKi8KZGlmZiAtLWdpdCBhL3RyYWNlMi90cjJfdGJ1Zi5jIGIvdHJhY2UyL3RyMl90YnVmLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjQ5ODQ4MgotLS0gL2Rldi9udWxsCisrKyBiL3RyYWNlMi90cjJfdGJ1Zi5jCkBAIC0wLDAgKzEsNDcgQEAKKyNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgInRyMl90YnVmLmgiCisKK3ZvaWQgdHIyX3RidWZfbG9jYWxfdGltZShzdHJ1Y3QgdHIyX3RidWYgKnRiKQoreworCXN0cnVjdCB0aW1ldmFsIHR2OworCXN0cnVjdCB0bSB0bTsKKwl0aW1lX3Qgc2VjczsKKworCWdldHRpbWVvZmRheSgmdHYsIE5VTEwpOworCXNlY3MgPSB0di50dl9zZWM7CisJbG9jYWx0aW1lX3IoJnNlY3MsICZ0bSk7CisKKwl4c25wcmludGYodGItPmJ1Ziwgc2l6ZW9mKHRiLT5idWYpLCAiJTAyZDolMDJkOiUwMmQuJTA2bGQiLCB0bS50bV9ob3VyLAorCQkgIHRtLnRtX21pbiwgdG0udG1fc2VjLCAobG9uZyl0di50dl91c2VjKTsKK30KKwordm9pZCB0cjJfdGJ1Zl91dGNfZGF0ZXRpbWVfZXh0ZW5kZWQoc3RydWN0IHRyMl90YnVmICp0YikKK3sKKwlzdHJ1Y3QgdGltZXZhbCB0djsKKwlzdHJ1Y3QgdG0gdG07CisJdGltZV90IHNlY3M7CisKKwlnZXR0aW1lb2ZkYXkoJnR2LCBOVUxMKTsKKwlzZWNzID0gdHYudHZfc2VjOworCWdtdGltZV9yKCZzZWNzLCAmdG0pOworCisJeHNucHJpbnRmKHRiLT5idWYsIHNpemVvZih0Yi0+YnVmKSwKKwkJICAiJTRkLSUwMmQtJTAyZFQlMDJkOiUwMmQ6JTAyZC4lMDZsZFoiLCB0bS50bV95ZWFyICsgMTkwMCwKKwkJICB0bS50bV9tb24gKyAxLCB0bS50bV9tZGF5LCB0bS50bV9ob3VyLCB0bS50bV9taW4sIHRtLnRtX3NlYywKKwkJICAobG9uZyl0di50dl91c2VjKTsKK30KKwordm9pZCB0cjJfdGJ1Zl91dGNfZGF0ZXRpbWUoc3RydWN0IHRyMl90YnVmICp0YikKK3sKKwlzdHJ1Y3QgdGltZXZhbCB0djsKKwlzdHJ1Y3QgdG0gdG07CisJdGltZV90IHNlY3M7CisKKwlnZXR0aW1lb2ZkYXkoJnR2LCBOVUxMKTsKKwlzZWNzID0gdHYudHZfc2VjOworCWdtdGltZV9yKCZzZWNzLCAmdG0pOworCisJeHNucHJpbnRmKHRiLT5idWYsIHNpemVvZih0Yi0+YnVmKSwgIiU0ZCUwMmQlMDJkVCUwMmQlMDJkJTAyZC4lMDZsZFoiLAorCQkgIHRtLnRtX3llYXIgKyAxOTAwLCB0bS50bV9tb24gKyAxLCB0bS50bV9tZGF5LCB0bS50bV9ob3VyLAorCQkgIHRtLnRtX21pbiwgdG0udG1fc2VjLCAobG9uZyl0di50dl91c2VjKTsKK30KZGlmZiAtLWdpdCBhL3RyYWNlMi90cjJfdGJ1Zi5oIGIvdHJhY2UyL3RyMl90YnVmLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmE4NTNkOAotLS0gL2Rldi9udWxsCisrKyBiL3RyYWNlMi90cjJfdGJ1Zi5oCkBAIC0wLDAgKzEsMjQgQEAKKyNpZm5kZWYgVFIyX1RCVUZfSAorI2RlZmluZSBUUjJfVEJVRl9ICisKKy8qCisgKiBBIHNpbXBsZSB3cmFwcGVyIGFyb3VuZCBhIGZpeGVkIGJ1ZmZlciB0byBhdm9pZCBDIHN5bnRheAorICogcXVpcmtzIGFuZCB0aGUgbmVlZCB0byBwYXNzIGFyb3VuZCBhbiBhZGRpdGlvbmFsIHNpemVfdAorICogYXJndW1lbnQuCisgKi8KK3N0cnVjdCB0cjJfdGJ1ZiB7CisJY2hhciBidWZbMzJdOworfTsKKworLyoKKyAqIEZpbGwgYnVmZmVyIHdpdGggZm9ybWF0dGVkIGxvY2FsIHRpbWUgc3RyaW5nLgorICovCit2b2lkIHRyMl90YnVmX2xvY2FsX3RpbWUoc3RydWN0IHRyMl90YnVmICp0Yik7CisKKy8qCisgKiBGaWxsIGJ1ZmZlciB3aXRoIGZvcm1hdHRlZCBVVEMgZGF0YXRpbWUgc3RyaW5nLgorICovCit2b2lkIHRyMl90YnVmX3V0Y19kYXRldGltZV9leHRlbmRlZChzdHJ1Y3QgdHIyX3RidWYgKnRiKTsKK3ZvaWQgdHIyX3RidWZfdXRjX2RhdGV0aW1lKHN0cnVjdCB0cjJfdGJ1ZiAqdGIpOworCisjZW5kaWYgLyogVFIyX1RCVUZfSCAqLwpkaWZmIC0tZ2l0IGEvdHJhY2UyL3RyMl90Z3QuaCBiL3RyYWNlMi90cjJfdGd0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2I5MDQ2OQotLS0gL2Rldi9udWxsCisrKyBiL3RyYWNlMi90cjJfdGd0LmgKQEAgLTAsMCArMSwxMzQgQEAKKyNpZm5kZWYgVFIyX1RHVF9ICisjZGVmaW5lIFRSMl9UR1RfSAorCitzdHJ1Y3QgY2hpbGRfcHJvY2VzczsKK3N0cnVjdCByZXBvc2l0b3J5Oworc3RydWN0IGpzb25fd3JpdGVyOworCisvKgorICogRnVuY3Rpb24gcHJvdG90eXBlcyBmb3IgYSBUUkFDRTIgInRhcmdldCIgdnRhYmxlLgorICovCisKK3R5cGVkZWYgaW50KHRyMl90Z3RfaW5pdF90KSh2b2lkKTsKK3R5cGVkZWYgdm9pZCh0cjJfdGd0X3Rlcm1fdCkodm9pZCk7CisKK3R5cGVkZWYgdm9pZCh0cjJfdGd0X2V2dF92ZXJzaW9uX2ZsX3QpKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lKTsKKwordHlwZWRlZiB2b2lkKHRyMl90Z3RfZXZ0X3N0YXJ0X2ZsX3QpKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJCSAgICAgdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCQkgICAgIGNvbnN0IGNoYXIgKiphcmd2KTsKK3R5cGVkZWYgdm9pZCh0cjJfdGd0X2V2dF9leGl0X2ZsX3QpKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJCSAgICB1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlLCBpbnQgY29kZSk7Cit0eXBlZGVmIHZvaWQodHIyX3RndF9ldnRfc2lnbmFsX3QpKHVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGUsIGludCBzaWdubyk7Cit0eXBlZGVmIHZvaWQodHIyX3RndF9ldnRfYXRleGl0X3QpKHVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGUsIGludCBjb2RlKTsKKwordHlwZWRlZiB2b2lkKHRyMl90Z3RfZXZ0X2Vycm9yX3ZhX2ZsX3QpKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJCQljb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApOworCit0eXBlZGVmIHZvaWQodHIyX3RndF9ldnRfY29tbWFuZF9wYXRoX2ZsX3QpKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJCQkgICAgY29uc3QgY2hhciAqY29tbWFuZF9wYXRoKTsKK3R5cGVkZWYgdm9pZCh0cjJfdGd0X2V2dF9jb21tYW5kX25hbWVfZmxfdCkoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCQkJCSAgICBjb25zdCBjaGFyICpuYW1lLAorCQkJCQkgICAgY29uc3QgY2hhciAqaGllcmFyY2h5KTsKK3R5cGVkZWYgdm9pZCh0cjJfdGd0X2V2dF9jb21tYW5kX21vZGVfZmxfdCkoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCQkJCSAgICBjb25zdCBjaGFyICptb2RlKTsKKwordHlwZWRlZiB2b2lkKHRyMl90Z3RfZXZ0X2FsaWFzX2ZsX3QpKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJCSAgICAgY29uc3QgY2hhciAqYWxpYXMsIGNvbnN0IGNoYXIgKiphcmd2KTsKKwordHlwZWRlZiB2b2lkKHRyMl90Z3RfZXZ0X2NoaWxkX3N0YXJ0X2ZsX3QpKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJCQkgICB1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlLAorCQkJCQkgICBjb25zdCBzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY21kKTsKK3R5cGVkZWYgdm9pZCh0cjJfdGd0X2V2dF9jaGlsZF9leGl0X2ZsX3QpKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJCQkgIHVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGUsIGludCBjaWQsCisJCQkJCSAgaW50IHBpZCwgaW50IGNvZGUsCisJCQkJCSAgdWludDY0X3QgdXNfZWxhcHNlZF9jaGlsZCk7CisKK3R5cGVkZWYgdm9pZCh0cjJfdGd0X2V2dF90aHJlYWRfc3RhcnRfZmxfdCkoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCQkJCSAgICB1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlKTsKK3R5cGVkZWYgdm9pZCh0cjJfdGd0X2V2dF90aHJlYWRfZXhpdF9mbF90KShjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCQkJICAgdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCQkJICAgdWludDY0X3QgdXNfZWxhcHNlZF90aHJlYWQpOworCit0eXBlZGVmIHZvaWQodHIyX3RndF9ldnRfZXhlY19mbF90KShjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCQkgICAgdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwgaW50IGV4ZWNfaWQsCisJCQkJICAgIGNvbnN0IGNoYXIgKmV4ZSwgY29uc3QgY2hhciAqKmFyZ3YpOwordHlwZWRlZiB2b2lkKHRyMl90Z3RfZXZ0X2V4ZWNfcmVzdWx0X2ZsX3QpKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJCQkgICB1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlLAorCQkJCQkgICBpbnQgZXhlY19pZCwgaW50IGNvZGUpOworCit0eXBlZGVmIHZvaWQodHIyX3RndF9ldnRfcGFyYW1fZmxfdCkoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCQkJICAgICBjb25zdCBjaGFyICpwYXJhbSwgY29uc3QgY2hhciAqdmFsdWUpOworCit0eXBlZGVmIHZvaWQodHIyX3RndF9ldnRfcmVwb19mbF90KShjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCQkgICAgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8pOworCit0eXBlZGVmIHZvaWQodHIyX3RndF9ldnRfcmVnaW9uX2VudGVyX3ByaW50Zl92YV9mbF90KSgKKwljb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwljb25zdCBjaGFyICpjYXRlZ29yeSwgY29uc3QgY2hhciAqbGFiZWwsIGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCWNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcCk7Cit0eXBlZGVmIHZvaWQodHIyX3RndF9ldnRfcmVnaW9uX2xlYXZlX3ByaW50Zl92YV9mbF90KSgKKwljb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwl1aW50NjRfdCB1c19lbGFwc2VkX3JlZ2lvbiwgY29uc3QgY2hhciAqY2F0ZWdvcnksIGNvbnN0IGNoYXIgKmxhYmVsLAorCWNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApOworCit0eXBlZGVmIHZvaWQodHIyX3RndF9ldnRfZGF0YV9mbF90KShjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCQkgICAgdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCQkgICAgdWludDY0X3QgdXNfZWxhcHNlZF9yZWdpb24sCisJCQkJICAgIGNvbnN0IGNoYXIgKmNhdGVnb3J5LAorCQkJCSAgICBjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCQkgICAgY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICp2YWx1ZSk7Cit0eXBlZGVmIHZvaWQodHIyX3RndF9ldnRfZGF0YV9qc29uX2ZsX3QpKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJCQkgdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCQkJIHVpbnQ2NF90IHVzX2VsYXBzZWRfcmVnaW9uLAorCQkJCQkgY29uc3QgY2hhciAqY2F0ZWdvcnksCisJCQkJCSBjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCQkJIGNvbnN0IGNoYXIgKmtleSwKKwkJCQkJIGNvbnN0IHN0cnVjdCBqc29uX3dyaXRlciAqdmFsdWUpOworCit0eXBlZGVmIHZvaWQodHIyX3RndF9ldnRfcHJpbnRmX3ZhX2ZsX3QpKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJCQkgdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCQkJIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcCk7CisKKy8qCisgKiAidnRhYmxlIiBmb3IgYSBUUkFDRTIgdGFyZ2V0LiAgVXNlIE5VTEwgaWYgYSB0YXJnZXQgZG9lcyBub3Qgd2FudAorICogdG8gZW1pdCB0aGF0IG1lc3NhZ2UuCisgKi8KKy8qIGNsYW5nLWZvcm1hdCBvZmYgKi8KK3N0cnVjdCB0cjJfdGd0IHsKKwlzdHJ1Y3QgdHIyX2RzdCAgICAgICAgICAgICAgICAgICAgICAgICAgKnBkc3Q7CisKKwl0cjJfdGd0X2luaXRfdCAgICAgICAgICAgICAgICAgICAgICAgICAgKnBmbl9pbml0OworCXRyMl90Z3RfdGVybV90ICAgICAgICAgICAgICAgICAgICAgICAgICAqcGZuX3Rlcm07CisKKwl0cjJfdGd0X2V2dF92ZXJzaW9uX2ZsX3QgICAgICAgICAgICAgICAgKnBmbl92ZXJzaW9uX2ZsOworCXRyMl90Z3RfZXZ0X3N0YXJ0X2ZsX3QgICAgICAgICAgICAgICAgICAqcGZuX3N0YXJ0X2ZsOworCXRyMl90Z3RfZXZ0X2V4aXRfZmxfdCAgICAgICAgICAgICAgICAgICAqcGZuX2V4aXRfZmw7CisJdHIyX3RndF9ldnRfc2lnbmFsX3QgICAgICAgICAgICAgICAgICAgICpwZm5fc2lnbmFsOworCXRyMl90Z3RfZXZ0X2F0ZXhpdF90ICAgICAgICAgICAgICAgICAgICAqcGZuX2F0ZXhpdDsKKwl0cjJfdGd0X2V2dF9lcnJvcl92YV9mbF90ICAgICAgICAgICAgICAgKnBmbl9lcnJvcl92YV9mbDsKKwl0cjJfdGd0X2V2dF9jb21tYW5kX3BhdGhfZmxfdCAgICAgICAgICAgKnBmbl9jb21tYW5kX3BhdGhfZmw7CisJdHIyX3RndF9ldnRfY29tbWFuZF9uYW1lX2ZsX3QgICAgICAgICAgICpwZm5fY29tbWFuZF9uYW1lX2ZsOworCXRyMl90Z3RfZXZ0X2NvbW1hbmRfbW9kZV9mbF90ICAgICAgICAgICAqcGZuX2NvbW1hbmRfbW9kZV9mbDsKKwl0cjJfdGd0X2V2dF9hbGlhc19mbF90ICAgICAgICAgICAgICAgICAgKnBmbl9hbGlhc19mbDsKKwl0cjJfdGd0X2V2dF9jaGlsZF9zdGFydF9mbF90ICAgICAgICAgICAgKnBmbl9jaGlsZF9zdGFydF9mbDsKKwl0cjJfdGd0X2V2dF9jaGlsZF9leGl0X2ZsX3QgICAgICAgICAgICAgKnBmbl9jaGlsZF9leGl0X2ZsOworCXRyMl90Z3RfZXZ0X3RocmVhZF9zdGFydF9mbF90ICAgICAgICAgICAqcGZuX3RocmVhZF9zdGFydF9mbDsKKwl0cjJfdGd0X2V2dF90aHJlYWRfZXhpdF9mbF90ICAgICAgICAgICAgKnBmbl90aHJlYWRfZXhpdF9mbDsKKwl0cjJfdGd0X2V2dF9leGVjX2ZsX3QgICAgICAgICAgICAgICAgICAgKnBmbl9leGVjX2ZsOworCXRyMl90Z3RfZXZ0X2V4ZWNfcmVzdWx0X2ZsX3QgICAgICAgICAgICAqcGZuX2V4ZWNfcmVzdWx0X2ZsOworCXRyMl90Z3RfZXZ0X3BhcmFtX2ZsX3QgICAgICAgICAgICAgICAgICAqcGZuX3BhcmFtX2ZsOworCXRyMl90Z3RfZXZ0X3JlcG9fZmxfdCAgICAgICAgICAgICAgICAgICAqcGZuX3JlcG9fZmw7CisJdHIyX3RndF9ldnRfcmVnaW9uX2VudGVyX3ByaW50Zl92YV9mbF90ICpwZm5fcmVnaW9uX2VudGVyX3ByaW50Zl92YV9mbDsKKwl0cjJfdGd0X2V2dF9yZWdpb25fbGVhdmVfcHJpbnRmX3ZhX2ZsX3QgKnBmbl9yZWdpb25fbGVhdmVfcHJpbnRmX3ZhX2ZsOworCXRyMl90Z3RfZXZ0X2RhdGFfZmxfdCAgICAgICAgICAgICAgICAgICAqcGZuX2RhdGFfZmw7CisJdHIyX3RndF9ldnRfZGF0YV9qc29uX2ZsX3QgICAgICAgICAgICAgICpwZm5fZGF0YV9qc29uX2ZsOworCXRyMl90Z3RfZXZ0X3ByaW50Zl92YV9mbF90ICAgICAgICAgICAgICAqcGZuX3ByaW50Zl92YV9mbDsKK307CisvKiBjbGFuZy1mb3JtYXQgb24gKi8KKworZXh0ZXJuIHN0cnVjdCB0cjJfdGd0IHRyMl90Z3RfZXZlbnQ7CitleHRlcm4gc3RydWN0IHRyMl90Z3QgdHIyX3RndF9ub3JtYWw7CitleHRlcm4gc3RydWN0IHRyMl90Z3QgdHIyX3RndF9wZXJmOworCisjZW5kaWYgLyogVFIyX1RHVF9IICovCmRpZmYgLS1naXQgYS90cmFjZTIvdHIyX3RndF9ldmVudC5jIGIvdHJhY2UyL3RyMl90Z3RfZXZlbnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzUzZThhCi0tLSAvZGV2L251bGwKKysrIGIvdHJhY2UyL3RyMl90Z3RfZXZlbnQuYwpAQCAtMCwwICsxLDYwMyBAQAorI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAianNvbi13cml0ZXIuaCIKKyNpbmNsdWRlICJydW4tY29tbWFuZC5oIgorI2luY2x1ZGUgInZlcnNpb24uaCIKKyNpbmNsdWRlICJ0cmFjZTIvdHIyX2RzdC5oIgorI2luY2x1ZGUgInRyYWNlMi90cjJfdGJ1Zi5oIgorI2luY2x1ZGUgInRyYWNlMi90cjJfc2lkLmgiCisjaW5jbHVkZSAidHJhY2UyL3RyMl9zeXNlbnYuaCIKKyNpbmNsdWRlICJ0cmFjZTIvdHIyX3RndC5oIgorI2luY2x1ZGUgInRyYWNlMi90cjJfdGxzLmgiCisKK3N0YXRpYyBzdHJ1Y3QgdHIyX2RzdCB0cjJkc3RfZXZlbnQgPSB7IFRSMl9TWVNFTlZfRVZFTlQsIDAsIDAsIDAsIDAgfTsKKworLyoKKyAqIFRoZSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgSlNPTiBkYXRhIGdlbmVyYXRlZCBieSB0aGUgRVZFTlQgdGFyZ2V0IGluIHRoaXMKKyAqIHNvdXJjZSBmaWxlLiBUaGUgdmVyc2lvbiBzaG91bGQgYmUgaW5jcmVtZW50ZWQgaWYgbmV3IGV2ZW50IHR5cGVzIGFyZSBhZGRlZCwKKyAqIGlmIGV4aXN0aW5nIGZpZWxkcyBhcmUgcmVtb3ZlZCwgb3IgaWYgdGhlcmUgYXJlIHNpZ25pZmljYW50IGNoYW5nZXMgaW4KKyAqIGludGVycHJldGF0aW9uIG9mIGV4aXN0aW5nIGV2ZW50cyBvciBmaWVsZHMuIFNtYWxsZXIgY2hhbmdlcywgc3VjaCBhcyBhZGRpbmcKKyAqIGEgbmV3IGZpZWxkIHRvIGFuIGV4aXN0aW5nIGV2ZW50LCBkbyBub3QgcmVxdWlyZSBhbiBpbmNyZW1lbnQgdG8gdGhlIEVWRU5UCisgKiBmb3JtYXQgdmVyc2lvbi4KKyAqLworI2RlZmluZSBUUjJfRVZFTlRfVkVSU0lPTiAiMiIKKworLyoKKyAqIFJlZ2lvbiBuZXN0aW5nIGxpbWl0IGZvciBtZXNzYWdlcyB3cml0dGVuIHRvIHRoZSBldmVudCB0YXJnZXQuCisgKgorICogVGhlICJyZWdpb25fZW50ZXIiIGFuZCAicmVnaW9uX2xlYXZlIiBtZXNzYWdlcyAoZXNwZWNpYWxseSByZWN1cnNpdmUKKyAqIG1lc3NhZ2VzIHN1Y2ggYXMgdGhvc2UgcHJvZHVjZWQgd2hpbGUgZGl2aW5nIHRoZSB3b3JrdHJlZSBvciBpbmRleCkKKyAqIGFyZSBwcmltYXJpbHkgaW50ZW5kZWQgZm9yIHRoZSBwZXJmb3JtYW5jZSB0YXJnZXQgZHVyaW5nIGRlYnVnZ2luZy4KKyAqCisgKiBTb21lIG9mIHRoZSBvdXRlci1tb3N0IG1lc3NhZ2VzLCBob3dldmVyLCBtYXkgYmUgb2YgaW50ZXJlc3QgdG8gdGhlCisgKiBldmVudCB0YXJnZXQuICBVc2UgdGhlIFRSMl9TWVNFTlZfRVZFTlRfTkVTVElORyBzZXR0aW5nIHRvIGluY3JlYXNlCisgKiByZWdpb24gZGV0YWlscyBpbiB0aGUgZXZlbnQgdGFyZ2V0LgorICovCitzdGF0aWMgaW50IHRyMmVudl9ldmVudF9tYXhfbmVzdGluZ19sZXZlbHMgPSAyOworCisvKgorICogVXNlIHRoZSBUUjJfU1lTRU5WX0VWRU5UX0JSSUVGIHRvIG9taXQgdGhlIDx0aW1lPiwgPGZpbGU+LCBhbmQKKyAqIDxsaW5lPiBmaWVsZHMgZnJvbSBtb3N0IGV2ZW50cy4KKyAqLworc3RhdGljIGludCB0cjJlbnZfZXZlbnRfYmVfYnJpZWY7CisKK3N0YXRpYyBpbnQgZm5faW5pdCh2b2lkKQoreworCWludCB3YW50ID0gdHIyX2RzdF90cmFjZV93YW50KCZ0cjJkc3RfZXZlbnQpOworCWludCBtYXhfbmVzdGluZzsKKwlpbnQgd2FudF9icmllZjsKKwljb25zdCBjaGFyICpuZXN0aW5nOworCWNvbnN0IGNoYXIgKmJyaWVmOworCisJaWYgKCF3YW50KQorCQlyZXR1cm4gd2FudDsKKworCW5lc3RpbmcgPSB0cjJfc3lzZW52X2dldChUUjJfU1lTRU5WX0VWRU5UX05FU1RJTkcpOworCWlmIChuZXN0aW5nICYmICpuZXN0aW5nICYmICgobWF4X25lc3RpbmcgPSBhdG9pKG5lc3RpbmcpKSA+IDApKQorCQl0cjJlbnZfZXZlbnRfbWF4X25lc3RpbmdfbGV2ZWxzID0gbWF4X25lc3Rpbmc7CisKKwlicmllZiA9IHRyMl9zeXNlbnZfZ2V0KFRSMl9TWVNFTlZfRVZFTlRfQlJJRUYpOworCWlmIChicmllZiAmJiAqYnJpZWYgJiYKKwkgICAgKCh3YW50X2JyaWVmID0gZ2l0X3BhcnNlX21heWJlX2Jvb2woYnJpZWYpKSAhPSAtMSkpCisJCXRyMmVudl9ldmVudF9iZV9icmllZiA9IHdhbnRfYnJpZWY7CisKKwlyZXR1cm4gd2FudDsKK30KKworc3RhdGljIHZvaWQgZm5fdGVybSh2b2lkKQoreworCXRyMl9kc3RfdHJhY2VfZGlzYWJsZSgmdHIyZHN0X2V2ZW50KTsKK30KKworLyoKKyAqIEFwcGVuZCBjb21tb24ga2V5LXZhbHVlIHBhaXJzIHRvIHRoZSBjdXJyZW50bHkgb3BlbiBKU09OIG9iamVjdC4KKyAqICAgICAiZXZlbnQ6IjxldmVudF9uYW1lPiIKKyAqICAgICAgInNpZCI6IjxzaWQ+IgorICogICAidGhyZWFkIjoiPHRocmVhZF9uYW1lPiIKKyAqICAgICAidGltZSI6Ijx0aW1lPiIKKyAqICAgICAiZmlsZSI6IjxmaWxlbmFtZT4iCisgKiAgICAgImxpbmUiOjxsaW5lX251bWJlcj4KKyAqICAgICAicmVwbyI6PHJlcG9faWQ+CisgKi8KK3N0YXRpYyB2b2lkIGV2ZW50X2ZtdF9wcmVwYXJlKGNvbnN0IGNoYXIgKmV2ZW50X25hbWUsIGNvbnN0IGNoYXIgKmZpbGUsCisJCQkgICAgICBpbnQgbGluZSwgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkgICAgICBzdHJ1Y3QganNvbl93cml0ZXIgKmp3KQoreworCXN0cnVjdCB0cjJ0bHNfdGhyZWFkX2N0eCAqY3R4ID0gdHIydGxzX2dldF9zZWxmKCk7CisJc3RydWN0IHRyMl90YnVmIHRiX25vdzsKKworCWp3X29iamVjdF9zdHJpbmcoancsICJldmVudCIsIGV2ZW50X25hbWUpOworCWp3X29iamVjdF9zdHJpbmcoancsICJzaWQiLCB0cjJfc2lkX2dldCgpKTsKKwlqd19vYmplY3Rfc3RyaW5nKGp3LCAidGhyZWFkIiwgY3R4LT50aHJlYWRfbmFtZS5idWYpOworCisJLyoKKwkgKiBJbiBicmllZiBtb2RlLCBvbmx5IGVtaXQgPHRpbWU+IG9uIHRoZXNlIDIgZXZlbnQgdHlwZXMuCisJICovCisJaWYgKCF0cjJlbnZfZXZlbnRfYmVfYnJpZWYgfHwgIXN0cmNtcChldmVudF9uYW1lLCAidmVyc2lvbiIpIHx8CisJICAgICFzdHJjbXAoZXZlbnRfbmFtZSwgImF0ZXhpdCIpKSB7CisJCXRyMl90YnVmX3V0Y19kYXRldGltZV9leHRlbmRlZCgmdGJfbm93KTsKKwkJandfb2JqZWN0X3N0cmluZyhqdywgInRpbWUiLCB0Yl9ub3cuYnVmKTsKKwl9CisKKwlpZiAoIXRyMmVudl9ldmVudF9iZV9icmllZiAmJiBmaWxlICYmICpmaWxlKSB7CisJCWp3X29iamVjdF9zdHJpbmcoancsICJmaWxlIiwgZmlsZSk7CisJCWp3X29iamVjdF9pbnRtYXgoancsICJsaW5lIiwgbGluZSk7CisJfQorCisJaWYgKHJlcG8pCisJCWp3X29iamVjdF9pbnRtYXgoancsICJyZXBvIiwgcmVwby0+dHJhY2UyX3JlcG9faWQpOworfQorCitzdGF0aWMgdm9pZCBmbl90b29fbWFueV9maWxlc19mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSkKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gInRvb19tYW55X2ZpbGVzIjsKKwlzdHJ1Y3QganNvbl93cml0ZXIgancgPSBKU09OX1dSSVRFUl9JTklUOworCisJandfb2JqZWN0X2JlZ2luKCZqdywgMCk7CisJZXZlbnRfZm10X3ByZXBhcmUoZXZlbnRfbmFtZSwgZmlsZSwgbGluZSwgTlVMTCwgJmp3KTsKKwlqd19lbmQoJmp3KTsKKworCXRyMl9kc3Rfd3JpdGVfbGluZSgmdHIyZHN0X2V2ZW50LCAmancuanNvbik7CisJandfcmVsZWFzZSgmancpOworfQorCitzdGF0aWMgdm9pZCBmbl92ZXJzaW9uX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lKQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAidmVyc2lvbiI7CisJc3RydWN0IGpzb25fd3JpdGVyIGp3ID0gSlNPTl9XUklURVJfSU5JVDsKKworCWp3X29iamVjdF9iZWdpbigmancsIDApOworCWV2ZW50X2ZtdF9wcmVwYXJlKGV2ZW50X25hbWUsIGZpbGUsIGxpbmUsIE5VTEwsICZqdyk7CisJandfb2JqZWN0X3N0cmluZygmancsICJldnQiLCBUUjJfRVZFTlRfVkVSU0lPTik7CisJandfb2JqZWN0X3N0cmluZygmancsICJleGUiLCBnaXRfdmVyc2lvbl9zdHJpbmcpOworCWp3X2VuZCgmancpOworCisJdHIyX2RzdF93cml0ZV9saW5lKCZ0cjJkc3RfZXZlbnQsICZqdy5qc29uKTsKKwlqd19yZWxlYXNlKCZqdyk7CisKKwlpZiAodHIyZHN0X2V2ZW50LnRvb19tYW55X2ZpbGVzKQorCQlmbl90b29fbWFueV9maWxlc19mbChmaWxlLCBsaW5lKTsKK30KKworc3RhdGljIHZvaWQgZm5fc3RhcnRfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCQl1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlLCBjb25zdCBjaGFyICoqYXJndikKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gInN0YXJ0IjsKKwlzdHJ1Y3QganNvbl93cml0ZXIgancgPSBKU09OX1dSSVRFUl9JTklUOworCWRvdWJsZSB0X2FicyA9IChkb3VibGUpdXNfZWxhcHNlZF9hYnNvbHV0ZSAvIDEwMDAwMDAuMDsKKworCWp3X29iamVjdF9iZWdpbigmancsIDApOworCWV2ZW50X2ZtdF9wcmVwYXJlKGV2ZW50X25hbWUsIGZpbGUsIGxpbmUsIE5VTEwsICZqdyk7CisJandfb2JqZWN0X2RvdWJsZSgmancsICJ0X2FicyIsIDYsIHRfYWJzKTsKKwlqd19vYmplY3RfaW5saW5lX2JlZ2luX2FycmF5KCZqdywgImFyZ3YiKTsKKwlqd19hcnJheV9hcmd2KCZqdywgYXJndik7CisJandfZW5kKCZqdyk7CisJandfZW5kKCZqdyk7CisKKwl0cjJfZHN0X3dyaXRlX2xpbmUoJnRyMmRzdF9ldmVudCwgJmp3Lmpzb24pOworCWp3X3JlbGVhc2UoJmp3KTsKK30KKworc3RhdGljIHZvaWQgZm5fZXhpdF9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJICAgICAgIGludCBjb2RlKQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAiZXhpdCI7CisJc3RydWN0IGpzb25fd3JpdGVyIGp3ID0gSlNPTl9XUklURVJfSU5JVDsKKwlkb3VibGUgdF9hYnMgPSAoZG91YmxlKXVzX2VsYXBzZWRfYWJzb2x1dGUgLyAxMDAwMDAwLjA7CisKKwlqd19vYmplY3RfYmVnaW4oJmp3LCAwKTsKKwlldmVudF9mbXRfcHJlcGFyZShldmVudF9uYW1lLCBmaWxlLCBsaW5lLCBOVUxMLCAmancpOworCWp3X29iamVjdF9kb3VibGUoJmp3LCAidF9hYnMiLCA2LCB0X2Ficyk7CisJandfb2JqZWN0X2ludG1heCgmancsICJjb2RlIiwgY29kZSk7CisJandfZW5kKCZqdyk7CisKKwl0cjJfZHN0X3dyaXRlX2xpbmUoJnRyMmRzdF9ldmVudCwgJmp3Lmpzb24pOworCWp3X3JlbGVhc2UoJmp3KTsKK30KKworc3RhdGljIHZvaWQgZm5fc2lnbmFsKHVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGUsIGludCBzaWdubykKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gInNpZ25hbCI7CisJc3RydWN0IGpzb25fd3JpdGVyIGp3ID0gSlNPTl9XUklURVJfSU5JVDsKKwlkb3VibGUgdF9hYnMgPSAoZG91YmxlKXVzX2VsYXBzZWRfYWJzb2x1dGUgLyAxMDAwMDAwLjA7CisKKwlqd19vYmplY3RfYmVnaW4oJmp3LCAwKTsKKwlldmVudF9mbXRfcHJlcGFyZShldmVudF9uYW1lLCBfX0ZJTEVfXywgX19MSU5FX18sIE5VTEwsICZqdyk7CisJandfb2JqZWN0X2RvdWJsZSgmancsICJ0X2FicyIsIDYsIHRfYWJzKTsKKwlqd19vYmplY3RfaW50bWF4KCZqdywgInNpZ25vIiwgc2lnbm8pOworCWp3X2VuZCgmancpOworCisJdHIyX2RzdF93cml0ZV9saW5lKCZ0cjJkc3RfZXZlbnQsICZqdy5qc29uKTsKKwlqd19yZWxlYXNlKCZqdyk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX2F0ZXhpdCh1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlLCBpbnQgY29kZSkKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gImF0ZXhpdCI7CisJc3RydWN0IGpzb25fd3JpdGVyIGp3ID0gSlNPTl9XUklURVJfSU5JVDsKKwlkb3VibGUgdF9hYnMgPSAoZG91YmxlKXVzX2VsYXBzZWRfYWJzb2x1dGUgLyAxMDAwMDAwLjA7CisKKwlqd19vYmplY3RfYmVnaW4oJmp3LCAwKTsKKwlldmVudF9mbXRfcHJlcGFyZShldmVudF9uYW1lLCBfX0ZJTEVfXywgX19MSU5FX18sIE5VTEwsICZqdyk7CisJandfb2JqZWN0X2RvdWJsZSgmancsICJ0X2FicyIsIDYsIHRfYWJzKTsKKwlqd19vYmplY3RfaW50bWF4KCZqdywgImNvZGUiLCBjb2RlKTsKKwlqd19lbmQoJmp3KTsKKworCXRyMl9kc3Rfd3JpdGVfbGluZSgmdHIyZHN0X2V2ZW50LCAmancuanNvbik7CisJandfcmVsZWFzZSgmancpOworfQorCitzdGF0aWMgdm9pZCBtYXliZV9hZGRfc3RyaW5nX3ZhKHN0cnVjdCBqc29uX3dyaXRlciAqancsIGNvbnN0IGNoYXIgKmZpZWxkX25hbWUsCisJCQkJY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwKQoreworCWlmIChmbXQgJiYgKmZtdCkgeworCQl2YV9saXN0IGNvcHlfYXA7CisJCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CisKKwkJdmFfY29weShjb3B5X2FwLCBhcCk7CisJCXN0cmJ1Zl92YWRkZigmYnVmLCBmbXQsIGNvcHlfYXApOworCQl2YV9lbmQoY29weV9hcCk7CisKKwkJandfb2JqZWN0X3N0cmluZyhqdywgZmllbGRfbmFtZSwgYnVmLmJ1Zik7CisJCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOworCQlyZXR1cm47CisJfQorfQorCitzdGF0aWMgdm9pZCBmbl9lcnJvcl92YV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqZm10LAorCQkJICAgdmFfbGlzdCBhcCkKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gImVycm9yIjsKKwlzdHJ1Y3QganNvbl93cml0ZXIgancgPSBKU09OX1dSSVRFUl9JTklUOworCisJandfb2JqZWN0X2JlZ2luKCZqdywgMCk7CisJZXZlbnRfZm10X3ByZXBhcmUoZXZlbnRfbmFtZSwgZmlsZSwgbGluZSwgTlVMTCwgJmp3KTsKKwltYXliZV9hZGRfc3RyaW5nX3ZhKCZqdywgIm1zZyIsIGZtdCwgYXApOworCS8qCisJICogQWxzbyBlbWl0IHRoZSBmb3JtYXQgc3RyaW5nIGFzIGEgZmllbGQgaW4gY2FzZQorCSAqIHBvc3QtcHJvY2Vzc29ycyB3YW50IHRvIGFnZ3JlZ2F0ZSBjb21tb24gZXJyb3IKKwkgKiBtZXNzYWdlcyBieSB0eXBlIHdpdGhvdXQgYXJndW1lbnQgZmllbGRzIChzdWNoCisJICogYXMgcGF0aG5hbWVzIG9yIGJyYW5jaCBuYW1lcykgY2x1dHRlcmluZyBpdCB1cC4KKwkgKi8KKwlpZiAoZm10ICYmICpmbXQpCisJCWp3X29iamVjdF9zdHJpbmcoJmp3LCAiZm10IiwgZm10KTsKKwlqd19lbmQoJmp3KTsKKworCXRyMl9kc3Rfd3JpdGVfbGluZSgmdHIyZHN0X2V2ZW50LCAmancuanNvbik7CisJandfcmVsZWFzZSgmancpOworfQorCitzdGF0aWMgdm9pZCBmbl9jb21tYW5kX3BhdGhfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKnBhdGhuYW1lKQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAiY21kX3BhdGgiOworCXN0cnVjdCBqc29uX3dyaXRlciBqdyA9IEpTT05fV1JJVEVSX0lOSVQ7CisKKwlqd19vYmplY3RfYmVnaW4oJmp3LCAwKTsKKwlldmVudF9mbXRfcHJlcGFyZShldmVudF9uYW1lLCBmaWxlLCBsaW5lLCBOVUxMLCAmancpOworCWp3X29iamVjdF9zdHJpbmcoJmp3LCAicGF0aCIsIHBhdGhuYW1lKTsKKwlqd19lbmQoJmp3KTsKKworCXRyMl9kc3Rfd3JpdGVfbGluZSgmdHIyZHN0X2V2ZW50LCAmancuanNvbik7CisJandfcmVsZWFzZSgmancpOworfQorCitzdGF0aWMgdm9pZCBmbl9jb21tYW5kX25hbWVfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkgICAgICAgY29uc3QgY2hhciAqaGllcmFyY2h5KQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAiY21kX25hbWUiOworCXN0cnVjdCBqc29uX3dyaXRlciBqdyA9IEpTT05fV1JJVEVSX0lOSVQ7CisKKwlqd19vYmplY3RfYmVnaW4oJmp3LCAwKTsKKwlldmVudF9mbXRfcHJlcGFyZShldmVudF9uYW1lLCBmaWxlLCBsaW5lLCBOVUxMLCAmancpOworCWp3X29iamVjdF9zdHJpbmcoJmp3LCAibmFtZSIsIG5hbWUpOworCWlmIChoaWVyYXJjaHkgJiYgKmhpZXJhcmNoeSkKKwkJandfb2JqZWN0X3N0cmluZygmancsICJoaWVyYXJjaHkiLCBoaWVyYXJjaHkpOworCWp3X2VuZCgmancpOworCisJdHIyX2RzdF93cml0ZV9saW5lKCZ0cjJkc3RfZXZlbnQsICZqdy5qc29uKTsKKwlqd19yZWxlYXNlKCZqdyk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX2NvbW1hbmRfbW9kZV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqbW9kZSkKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gImNtZF9tb2RlIjsKKwlzdHJ1Y3QganNvbl93cml0ZXIgancgPSBKU09OX1dSSVRFUl9JTklUOworCisJandfb2JqZWN0X2JlZ2luKCZqdywgMCk7CisJZXZlbnRfZm10X3ByZXBhcmUoZXZlbnRfbmFtZSwgZmlsZSwgbGluZSwgTlVMTCwgJmp3KTsKKwlqd19vYmplY3Rfc3RyaW5nKCZqdywgIm5hbWUiLCBtb2RlKTsKKwlqd19lbmQoJmp3KTsKKworCXRyMl9kc3Rfd3JpdGVfbGluZSgmdHIyZHN0X2V2ZW50LCAmancuanNvbik7CisJandfcmVsZWFzZSgmancpOworfQorCitzdGF0aWMgdm9pZCBmbl9hbGlhc19mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqYWxpYXMsCisJCQljb25zdCBjaGFyICoqYXJndikKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gImFsaWFzIjsKKwlzdHJ1Y3QganNvbl93cml0ZXIgancgPSBKU09OX1dSSVRFUl9JTklUOworCisJandfb2JqZWN0X2JlZ2luKCZqdywgMCk7CisJZXZlbnRfZm10X3ByZXBhcmUoZXZlbnRfbmFtZSwgZmlsZSwgbGluZSwgTlVMTCwgJmp3KTsKKwlqd19vYmplY3Rfc3RyaW5nKCZqdywgImFsaWFzIiwgYWxpYXMpOworCWp3X29iamVjdF9pbmxpbmVfYmVnaW5fYXJyYXkoJmp3LCAiYXJndiIpOworCWp3X2FycmF5X2FyZ3YoJmp3LCBhcmd2KTsKKwlqd19lbmQoJmp3KTsKKwlqd19lbmQoJmp3KTsKKworCXRyMl9kc3Rfd3JpdGVfbGluZSgmdHIyZHN0X2V2ZW50LCAmancuanNvbik7CisJandfcmVsZWFzZSgmancpOworfQorCitzdGF0aWMgdm9pZCBmbl9jaGlsZF9zdGFydF9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCSAgICAgIHVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGUsCisJCQkgICAgICBjb25zdCBzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY21kKQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAiY2hpbGRfc3RhcnQiOworCXN0cnVjdCBqc29uX3dyaXRlciBqdyA9IEpTT05fV1JJVEVSX0lOSVQ7CisKKwlqd19vYmplY3RfYmVnaW4oJmp3LCAwKTsKKwlldmVudF9mbXRfcHJlcGFyZShldmVudF9uYW1lLCBmaWxlLCBsaW5lLCBOVUxMLCAmancpOworCWp3X29iamVjdF9pbnRtYXgoJmp3LCAiY2hpbGRfaWQiLCBjbWQtPnRyYWNlMl9jaGlsZF9pZCk7CisJaWYgKGNtZC0+dHJhY2UyX2hvb2tfbmFtZSkgeworCQlqd19vYmplY3Rfc3RyaW5nKCZqdywgImNoaWxkX2NsYXNzIiwgImhvb2siKTsKKwkJandfb2JqZWN0X3N0cmluZygmancsICJob29rX25hbWUiLCBjbWQtPnRyYWNlMl9ob29rX25hbWUpOworCX0gZWxzZSB7CisJCWNvbnN0IGNoYXIgKmNoaWxkX2NsYXNzID0KKwkJCWNtZC0+dHJhY2UyX2NoaWxkX2NsYXNzID8gY21kLT50cmFjZTJfY2hpbGRfY2xhc3MgOiAiPyI7CisJCWp3X29iamVjdF9zdHJpbmcoJmp3LCAiY2hpbGRfY2xhc3MiLCBjaGlsZF9jbGFzcyk7CisJfQorCWlmIChjbWQtPmRpcikKKwkJandfb2JqZWN0X3N0cmluZygmancsICJjZCIsIGNtZC0+ZGlyKTsKKwlqd19vYmplY3RfYm9vbCgmancsICJ1c2Vfc2hlbGwiLCBjbWQtPnVzZV9zaGVsbCk7CisJandfb2JqZWN0X2lubGluZV9iZWdpbl9hcnJheSgmancsICJhcmd2Iik7CisJaWYgKGNtZC0+Z2l0X2NtZCkKKwkJandfYXJyYXlfc3RyaW5nKCZqdywgImdpdCIpOworCWp3X2FycmF5X2FyZ3YoJmp3LCBjbWQtPmFyZ3YpOworCWp3X2VuZCgmancpOworCWp3X2VuZCgmancpOworCisJdHIyX2RzdF93cml0ZV9saW5lKCZ0cjJkc3RfZXZlbnQsICZqdy5qc29uKTsKKwlqd19yZWxlYXNlKCZqdyk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX2NoaWxkX2V4aXRfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCQkgICAgIHVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGUsIGludCBjaWQsIGludCBwaWQsCisJCQkgICAgIGludCBjb2RlLCB1aW50NjRfdCB1c19lbGFwc2VkX2NoaWxkKQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAiY2hpbGRfZXhpdCI7CisJc3RydWN0IGpzb25fd3JpdGVyIGp3ID0gSlNPTl9XUklURVJfSU5JVDsKKwlkb3VibGUgdF9yZWwgPSAoZG91YmxlKXVzX2VsYXBzZWRfY2hpbGQgLyAxMDAwMDAwLjA7CisKKwlqd19vYmplY3RfYmVnaW4oJmp3LCAwKTsKKwlldmVudF9mbXRfcHJlcGFyZShldmVudF9uYW1lLCBmaWxlLCBsaW5lLCBOVUxMLCAmancpOworCWp3X29iamVjdF9pbnRtYXgoJmp3LCAiY2hpbGRfaWQiLCBjaWQpOworCWp3X29iamVjdF9pbnRtYXgoJmp3LCAicGlkIiwgcGlkKTsKKwlqd19vYmplY3RfaW50bWF4KCZqdywgImNvZGUiLCBjb2RlKTsKKwlqd19vYmplY3RfZG91YmxlKCZqdywgInRfcmVsIiwgNiwgdF9yZWwpOworCWp3X2VuZCgmancpOworCisJdHIyX2RzdF93cml0ZV9saW5lKCZ0cjJkc3RfZXZlbnQsICZqdy5qc29uKTsKKworCWp3X3JlbGVhc2UoJmp3KTsKK30KKworc3RhdGljIHZvaWQgZm5fdGhyZWFkX3N0YXJ0X2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJICAgICAgIHVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGUpCit7CisJY29uc3QgY2hhciAqZXZlbnRfbmFtZSA9ICJ0aHJlYWRfc3RhcnQiOworCXN0cnVjdCBqc29uX3dyaXRlciBqdyA9IEpTT05fV1JJVEVSX0lOSVQ7CisKKwlqd19vYmplY3RfYmVnaW4oJmp3LCAwKTsKKwlldmVudF9mbXRfcHJlcGFyZShldmVudF9uYW1lLCBmaWxlLCBsaW5lLCBOVUxMLCAmancpOworCWp3X2VuZCgmancpOworCisJdHIyX2RzdF93cml0ZV9saW5lKCZ0cjJkc3RfZXZlbnQsICZqdy5qc29uKTsKKwlqd19yZWxlYXNlKCZqdyk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX3RocmVhZF9leGl0X2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJICAgICAgdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCSAgICAgIHVpbnQ2NF90IHVzX2VsYXBzZWRfdGhyZWFkKQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAidGhyZWFkX2V4aXQiOworCXN0cnVjdCBqc29uX3dyaXRlciBqdyA9IEpTT05fV1JJVEVSX0lOSVQ7CisJZG91YmxlIHRfcmVsID0gKGRvdWJsZSl1c19lbGFwc2VkX3RocmVhZCAvIDEwMDAwMDAuMDsKKworCWp3X29iamVjdF9iZWdpbigmancsIDApOworCWV2ZW50X2ZtdF9wcmVwYXJlKGV2ZW50X25hbWUsIGZpbGUsIGxpbmUsIE5VTEwsICZqdyk7CisJandfb2JqZWN0X2RvdWJsZSgmancsICJ0X3JlbCIsIDYsIHRfcmVsKTsKKwlqd19lbmQoJmp3KTsKKworCXRyMl9kc3Rfd3JpdGVfbGluZSgmdHIyZHN0X2V2ZW50LCAmancuanNvbik7CisJandfcmVsZWFzZSgmancpOworfQorCitzdGF0aWMgdm9pZCBmbl9leGVjX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCB1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlLAorCQkgICAgICAgaW50IGV4ZWNfaWQsIGNvbnN0IGNoYXIgKmV4ZSwgY29uc3QgY2hhciAqKmFyZ3YpCit7CisJY29uc3QgY2hhciAqZXZlbnRfbmFtZSA9ICJleGVjIjsKKwlzdHJ1Y3QganNvbl93cml0ZXIgancgPSBKU09OX1dSSVRFUl9JTklUOworCisJandfb2JqZWN0X2JlZ2luKCZqdywgMCk7CisJZXZlbnRfZm10X3ByZXBhcmUoZXZlbnRfbmFtZSwgZmlsZSwgbGluZSwgTlVMTCwgJmp3KTsKKwlqd19vYmplY3RfaW50bWF4KCZqdywgImV4ZWNfaWQiLCBleGVjX2lkKTsKKwlpZiAoZXhlKQorCQlqd19vYmplY3Rfc3RyaW5nKCZqdywgImV4ZSIsIGV4ZSk7CisJandfb2JqZWN0X2lubGluZV9iZWdpbl9hcnJheSgmancsICJhcmd2Iik7CisJandfYXJyYXlfYXJndigmancsIGFyZ3YpOworCWp3X2VuZCgmancpOworCWp3X2VuZCgmancpOworCisJdHIyX2RzdF93cml0ZV9saW5lKCZ0cjJkc3RfZXZlbnQsICZqdy5qc29uKTsKKwlqd19yZWxlYXNlKCZqdyk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX2V4ZWNfcmVzdWx0X2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJICAgICAgdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwgaW50IGV4ZWNfaWQsCisJCQkgICAgICBpbnQgY29kZSkKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gImV4ZWNfcmVzdWx0IjsKKwlzdHJ1Y3QganNvbl93cml0ZXIgancgPSBKU09OX1dSSVRFUl9JTklUOworCisJandfb2JqZWN0X2JlZ2luKCZqdywgMCk7CisJZXZlbnRfZm10X3ByZXBhcmUoZXZlbnRfbmFtZSwgZmlsZSwgbGluZSwgTlVMTCwgJmp3KTsKKwlqd19vYmplY3RfaW50bWF4KCZqdywgImV4ZWNfaWQiLCBleGVjX2lkKTsKKwlqd19vYmplY3RfaW50bWF4KCZqdywgImNvZGUiLCBjb2RlKTsKKwlqd19lbmQoJmp3KTsKKworCXRyMl9kc3Rfd3JpdGVfbGluZSgmdHIyZHN0X2V2ZW50LCAmancuanNvbik7CisJandfcmVsZWFzZSgmancpOworfQorCitzdGF0aWMgdm9pZCBmbl9wYXJhbV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqcGFyYW0sCisJCQljb25zdCBjaGFyICp2YWx1ZSkKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gImRlZl9wYXJhbSI7CisJc3RydWN0IGpzb25fd3JpdGVyIGp3ID0gSlNPTl9XUklURVJfSU5JVDsKKworCWp3X29iamVjdF9iZWdpbigmancsIDApOworCWV2ZW50X2ZtdF9wcmVwYXJlKGV2ZW50X25hbWUsIGZpbGUsIGxpbmUsIE5VTEwsICZqdyk7CisJandfb2JqZWN0X3N0cmluZygmancsICJwYXJhbSIsIHBhcmFtKTsKKwlqd19vYmplY3Rfc3RyaW5nKCZqdywgInZhbHVlIiwgdmFsdWUpOworCWp3X2VuZCgmancpOworCisJdHIyX2RzdF93cml0ZV9saW5lKCZ0cjJkc3RfZXZlbnQsICZqdy5qc29uKTsKKwlqd19yZWxlYXNlKCZqdyk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX3JlcG9fZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCSAgICAgICBjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbykKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gImRlZl9yZXBvIjsKKwlzdHJ1Y3QganNvbl93cml0ZXIgancgPSBKU09OX1dSSVRFUl9JTklUOworCisJandfb2JqZWN0X2JlZ2luKCZqdywgMCk7CisJZXZlbnRfZm10X3ByZXBhcmUoZXZlbnRfbmFtZSwgZmlsZSwgbGluZSwgcmVwbywgJmp3KTsKKwlqd19vYmplY3Rfc3RyaW5nKCZqdywgIndvcmt0cmVlIiwgcmVwby0+d29ya3RyZWUpOworCWp3X2VuZCgmancpOworCisJdHIyX2RzdF93cml0ZV9saW5lKCZ0cjJkc3RfZXZlbnQsICZqdy5qc29uKTsKKwlqd19yZWxlYXNlKCZqdyk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX3JlZ2lvbl9lbnRlcl9wcmludGZfdmFfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCQkJCSB1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlLAorCQkJCQkgY29uc3QgY2hhciAqY2F0ZWdvcnksCisJCQkJCSBjb25zdCBjaGFyICpsYWJlbCwKKwkJCQkJIGNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJCQkgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwKQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAicmVnaW9uX2VudGVyIjsKKwlzdHJ1Y3QgdHIydGxzX3RocmVhZF9jdHggKmN0eCA9IHRyMnRsc19nZXRfc2VsZigpOworCWlmIChjdHgtPm5yX29wZW5fcmVnaW9ucyA8PSB0cjJlbnZfZXZlbnRfbWF4X25lc3RpbmdfbGV2ZWxzKSB7CisJCXN0cnVjdCBqc29uX3dyaXRlciBqdyA9IEpTT05fV1JJVEVSX0lOSVQ7CisKKwkJandfb2JqZWN0X2JlZ2luKCZqdywgMCk7CisJCWV2ZW50X2ZtdF9wcmVwYXJlKGV2ZW50X25hbWUsIGZpbGUsIGxpbmUsIHJlcG8sICZqdyk7CisJCWp3X29iamVjdF9pbnRtYXgoJmp3LCAibmVzdGluZyIsIGN0eC0+bnJfb3Blbl9yZWdpb25zKTsKKwkJaWYgKGNhdGVnb3J5KQorCQkJandfb2JqZWN0X3N0cmluZygmancsICJjYXRlZ29yeSIsIGNhdGVnb3J5KTsKKwkJaWYgKGxhYmVsKQorCQkJandfb2JqZWN0X3N0cmluZygmancsICJsYWJlbCIsIGxhYmVsKTsKKwkJbWF5YmVfYWRkX3N0cmluZ192YSgmancsICJtc2ciLCBmbXQsIGFwKTsKKwkJandfZW5kKCZqdyk7CisKKwkJdHIyX2RzdF93cml0ZV9saW5lKCZ0cjJkc3RfZXZlbnQsICZqdy5qc29uKTsKKwkJandfcmVsZWFzZSgmancpOworCX0KK30KKworc3RhdGljIHZvaWQgZm5fcmVnaW9uX2xlYXZlX3ByaW50Zl92YV9mbCgKKwljb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwl1aW50NjRfdCB1c19lbGFwc2VkX3JlZ2lvbiwgY29uc3QgY2hhciAqY2F0ZWdvcnksIGNvbnN0IGNoYXIgKmxhYmVsLAorCWNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApCit7CisJY29uc3QgY2hhciAqZXZlbnRfbmFtZSA9ICJyZWdpb25fbGVhdmUiOworCXN0cnVjdCB0cjJ0bHNfdGhyZWFkX2N0eCAqY3R4ID0gdHIydGxzX2dldF9zZWxmKCk7CisJaWYgKGN0eC0+bnJfb3Blbl9yZWdpb25zIDw9IHRyMmVudl9ldmVudF9tYXhfbmVzdGluZ19sZXZlbHMpIHsKKwkJc3RydWN0IGpzb25fd3JpdGVyIGp3ID0gSlNPTl9XUklURVJfSU5JVDsKKwkJZG91YmxlIHRfcmVsID0gKGRvdWJsZSl1c19lbGFwc2VkX3JlZ2lvbiAvIDEwMDAwMDAuMDsKKworCQlqd19vYmplY3RfYmVnaW4oJmp3LCAwKTsKKwkJZXZlbnRfZm10X3ByZXBhcmUoZXZlbnRfbmFtZSwgZmlsZSwgbGluZSwgcmVwbywgJmp3KTsKKwkJandfb2JqZWN0X2RvdWJsZSgmancsICJ0X3JlbCIsIDYsIHRfcmVsKTsKKwkJandfb2JqZWN0X2ludG1heCgmancsICJuZXN0aW5nIiwgY3R4LT5ucl9vcGVuX3JlZ2lvbnMpOworCQlpZiAoY2F0ZWdvcnkpCisJCQlqd19vYmplY3Rfc3RyaW5nKCZqdywgImNhdGVnb3J5IiwgY2F0ZWdvcnkpOworCQlpZiAobGFiZWwpCisJCQlqd19vYmplY3Rfc3RyaW5nKCZqdywgImxhYmVsIiwgbGFiZWwpOworCQltYXliZV9hZGRfc3RyaW5nX3ZhKCZqdywgIm1zZyIsIGZtdCwgYXApOworCQlqd19lbmQoJmp3KTsKKworCQl0cjJfZHN0X3dyaXRlX2xpbmUoJnRyMmRzdF9ldmVudCwgJmp3Lmpzb24pOworCQlqd19yZWxlYXNlKCZqdyk7CisJfQorfQorCitzdGF0aWMgdm9pZCBmbl9kYXRhX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCB1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlLAorCQkgICAgICAgdWludDY0X3QgdXNfZWxhcHNlZF9yZWdpb24sIGNvbnN0IGNoYXIgKmNhdGVnb3J5LAorCQkgICAgICAgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sIGNvbnN0IGNoYXIgKmtleSwKKwkJICAgICAgIGNvbnN0IGNoYXIgKnZhbHVlKQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAiZGF0YSI7CisJc3RydWN0IHRyMnRsc190aHJlYWRfY3R4ICpjdHggPSB0cjJ0bHNfZ2V0X3NlbGYoKTsKKwlpZiAoY3R4LT5ucl9vcGVuX3JlZ2lvbnMgPD0gdHIyZW52X2V2ZW50X21heF9uZXN0aW5nX2xldmVscykgeworCQlzdHJ1Y3QganNvbl93cml0ZXIgancgPSBKU09OX1dSSVRFUl9JTklUOworCQlkb3VibGUgdF9hYnMgPSAoZG91YmxlKXVzX2VsYXBzZWRfYWJzb2x1dGUgLyAxMDAwMDAwLjA7CisJCWRvdWJsZSB0X3JlbCA9IChkb3VibGUpdXNfZWxhcHNlZF9yZWdpb24gLyAxMDAwMDAwLjA7CisKKwkJandfb2JqZWN0X2JlZ2luKCZqdywgMCk7CisJCWV2ZW50X2ZtdF9wcmVwYXJlKGV2ZW50X25hbWUsIGZpbGUsIGxpbmUsIHJlcG8sICZqdyk7CisJCWp3X29iamVjdF9kb3VibGUoJmp3LCAidF9hYnMiLCA2LCB0X2Ficyk7CisJCWp3X29iamVjdF9kb3VibGUoJmp3LCAidF9yZWwiLCA2LCB0X3JlbCk7CisJCWp3X29iamVjdF9pbnRtYXgoJmp3LCAibmVzdGluZyIsIGN0eC0+bnJfb3Blbl9yZWdpb25zKTsKKwkJandfb2JqZWN0X3N0cmluZygmancsICJjYXRlZ29yeSIsIGNhdGVnb3J5KTsKKwkJandfb2JqZWN0X3N0cmluZygmancsICJrZXkiLCBrZXkpOworCQlqd19vYmplY3Rfc3RyaW5nKCZqdywgInZhbHVlIiwgdmFsdWUpOworCQlqd19lbmQoJmp3KTsKKworCQl0cjJfZHN0X3dyaXRlX2xpbmUoJnRyMmRzdF9ldmVudCwgJmp3Lmpzb24pOworCQlqd19yZWxlYXNlKCZqdyk7CisJfQorfQorCitzdGF0aWMgdm9pZCBmbl9kYXRhX2pzb25fZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCQkgICAgdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCSAgICB1aW50NjRfdCB1c19lbGFwc2VkX3JlZ2lvbiwgY29uc3QgY2hhciAqY2F0ZWdvcnksCisJCQkgICAgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sIGNvbnN0IGNoYXIgKmtleSwKKwkJCSAgICBjb25zdCBzdHJ1Y3QganNvbl93cml0ZXIgKnZhbHVlKQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAiZGF0YV9qc29uIjsKKwlzdHJ1Y3QgdHIydGxzX3RocmVhZF9jdHggKmN0eCA9IHRyMnRsc19nZXRfc2VsZigpOworCWlmIChjdHgtPm5yX29wZW5fcmVnaW9ucyA8PSB0cjJlbnZfZXZlbnRfbWF4X25lc3RpbmdfbGV2ZWxzKSB7CisJCXN0cnVjdCBqc29uX3dyaXRlciBqdyA9IEpTT05fV1JJVEVSX0lOSVQ7CisJCWRvdWJsZSB0X2FicyA9IChkb3VibGUpdXNfZWxhcHNlZF9hYnNvbHV0ZSAvIDEwMDAwMDAuMDsKKwkJZG91YmxlIHRfcmVsID0gKGRvdWJsZSl1c19lbGFwc2VkX3JlZ2lvbiAvIDEwMDAwMDAuMDsKKworCQlqd19vYmplY3RfYmVnaW4oJmp3LCAwKTsKKwkJZXZlbnRfZm10X3ByZXBhcmUoZXZlbnRfbmFtZSwgZmlsZSwgbGluZSwgcmVwbywgJmp3KTsKKwkJandfb2JqZWN0X2RvdWJsZSgmancsICJ0X2FicyIsIDYsIHRfYWJzKTsKKwkJandfb2JqZWN0X2RvdWJsZSgmancsICJ0X3JlbCIsIDYsIHRfcmVsKTsKKwkJandfb2JqZWN0X2ludG1heCgmancsICJuZXN0aW5nIiwgY3R4LT5ucl9vcGVuX3JlZ2lvbnMpOworCQlqd19vYmplY3Rfc3RyaW5nKCZqdywgImNhdGVnb3J5IiwgY2F0ZWdvcnkpOworCQlqd19vYmplY3Rfc3RyaW5nKCZqdywgImtleSIsIGtleSk7CisJCWp3X29iamVjdF9zdWJfancoJmp3LCAidmFsdWUiLCB2YWx1ZSk7CisJCWp3X2VuZCgmancpOworCisJCXRyMl9kc3Rfd3JpdGVfbGluZSgmdHIyZHN0X2V2ZW50LCAmancuanNvbik7CisJCWp3X3JlbGVhc2UoJmp3KTsKKwl9Cit9CisKK3N0cnVjdCB0cjJfdGd0IHRyMl90Z3RfZXZlbnQgPSB7CisJJnRyMmRzdF9ldmVudCwKKworCWZuX2luaXQsCisJZm5fdGVybSwKKworCWZuX3ZlcnNpb25fZmwsCisJZm5fc3RhcnRfZmwsCisJZm5fZXhpdF9mbCwKKwlmbl9zaWduYWwsCisJZm5fYXRleGl0LAorCWZuX2Vycm9yX3ZhX2ZsLAorCWZuX2NvbW1hbmRfcGF0aF9mbCwKKwlmbl9jb21tYW5kX25hbWVfZmwsCisJZm5fY29tbWFuZF9tb2RlX2ZsLAorCWZuX2FsaWFzX2ZsLAorCWZuX2NoaWxkX3N0YXJ0X2ZsLAorCWZuX2NoaWxkX2V4aXRfZmwsCisJZm5fdGhyZWFkX3N0YXJ0X2ZsLAorCWZuX3RocmVhZF9leGl0X2ZsLAorCWZuX2V4ZWNfZmwsCisJZm5fZXhlY19yZXN1bHRfZmwsCisJZm5fcGFyYW1fZmwsCisJZm5fcmVwb19mbCwKKwlmbl9yZWdpb25fZW50ZXJfcHJpbnRmX3ZhX2ZsLAorCWZuX3JlZ2lvbl9sZWF2ZV9wcmludGZfdmFfZmwsCisJZm5fZGF0YV9mbCwKKwlmbl9kYXRhX2pzb25fZmwsCisJTlVMTCwgLyogcHJpbnRmICovCit9OwpkaWZmIC0tZ2l0IGEvdHJhY2UyL3RyMl90Z3Rfbm9ybWFsLmMgYi90cmFjZTIvdHIyX3RndF9ub3JtYWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMWI2MDJjCi0tLSAvZGV2L251bGwKKysrIGIvdHJhY2UyL3RyMl90Z3Rfbm9ybWFsLmMKQEAgLTAsMCArMSwzMjUgQEAKKyNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCisjaW5jbHVkZSAicXVvdGUuaCIKKyNpbmNsdWRlICJ2ZXJzaW9uLmgiCisjaW5jbHVkZSAidHJhY2UyL3RyMl9kc3QuaCIKKyNpbmNsdWRlICJ0cmFjZTIvdHIyX3N5c2Vudi5oIgorI2luY2x1ZGUgInRyYWNlMi90cjJfdGJ1Zi5oIgorI2luY2x1ZGUgInRyYWNlMi90cjJfdGd0LmgiCisjaW5jbHVkZSAidHJhY2UyL3RyMl90bHMuaCIKKworc3RhdGljIHN0cnVjdCB0cjJfZHN0IHRyMmRzdF9ub3JtYWwgPSB7IFRSMl9TWVNFTlZfTk9STUFMLCAwLCAwLCAwLCAwIH07CisKKy8qCisgKiBVc2UgdGhlIFRSMl9TWVNFTlZfTk9STUFMX0JSSUVGIHNldHRpbmcgdG8gb21pdCB0aGUgIjx0aW1lPiA8ZmlsZT46PGxpbmU+IgorICogZmllbGRzIGZyb20gZWFjaCBsaW5lIHdyaXR0ZW4gdG8gdGhlIGJ1aWx0aW4gbm9ybWFsIHRhcmdldC4KKyAqCisgKiBVbml0IHRlc3RzIG1heSB3YW50IHRvIHVzZSB0aGlzIHRvIGhlbHAgd2l0aCB0ZXN0aW5nLgorICovCitzdGF0aWMgaW50IHRyMmVudl9ub3JtYWxfYmVfYnJpZWY7CisKKyNkZWZpbmUgVFIyRk1UX05PUk1BTF9GTF9XSURUSCAoNTApCisKK3N0YXRpYyBpbnQgZm5faW5pdCh2b2lkKQoreworCWludCB3YW50ID0gdHIyX2RzdF90cmFjZV93YW50KCZ0cjJkc3Rfbm9ybWFsKTsKKwlpbnQgd2FudF9icmllZjsKKwljb25zdCBjaGFyICpicmllZjsKKworCWlmICghd2FudCkKKwkJcmV0dXJuIHdhbnQ7CisKKwlicmllZiA9IHRyMl9zeXNlbnZfZ2V0KFRSMl9TWVNFTlZfTk9STUFMX0JSSUVGKTsKKwlpZiAoYnJpZWYgJiYgKmJyaWVmICYmCisJICAgICgod2FudF9icmllZiA9IGdpdF9wYXJzZV9tYXliZV9ib29sKGJyaWVmKSkgIT0gLTEpKQorCQl0cjJlbnZfbm9ybWFsX2JlX2JyaWVmID0gd2FudF9icmllZjsKKworCXJldHVybiB3YW50OworfQorCitzdGF0aWMgdm9pZCBmbl90ZXJtKHZvaWQpCit7CisJdHIyX2RzdF90cmFjZV9kaXNhYmxlKCZ0cjJkc3Rfbm9ybWFsKTsKK30KKworc3RhdGljIHZvaWQgbm9ybWFsX2ZtdF9wcmVwYXJlKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBzdHJ1Y3Qgc3RyYnVmICpidWYpCit7CisJc3RyYnVmX3NldGxlbihidWYsIDApOworCisJaWYgKCF0cjJlbnZfbm9ybWFsX2JlX2JyaWVmKSB7CisJCXN0cnVjdCB0cjJfdGJ1ZiB0Yl9ub3c7CisKKwkJdHIyX3RidWZfbG9jYWxfdGltZSgmdGJfbm93KTsKKwkJc3RyYnVmX2FkZHN0cihidWYsIHRiX25vdy5idWYpOworCQlzdHJidWZfYWRkY2goYnVmLCAnICcpOworCisJCWlmIChmaWxlICYmICpmaWxlKQorCQkJc3RyYnVmX2FkZGYoYnVmLCAiJXM6JWQgIiwgZmlsZSwgbGluZSk7CisJCXdoaWxlIChidWYtPmxlbiA8IFRSMkZNVF9OT1JNQUxfRkxfV0lEVEgpCisJCQlzdHJidWZfYWRkY2goYnVmLCAnICcpOworCX0KK30KKworc3RhdGljIHZvaWQgbm9ybWFsX2lvX3dyaXRlX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJICAgICAgIGNvbnN0IHN0cnVjdCBzdHJidWYgKmJ1Zl9wYXlsb2FkKQoreworCXN0cnVjdCBzdHJidWYgYnVmX2xpbmUgPSBTVFJCVUZfSU5JVDsKKworCW5vcm1hbF9mbXRfcHJlcGFyZShmaWxlLCBsaW5lLCAmYnVmX2xpbmUpOworCXN0cmJ1Zl9hZGRidWYoJmJ1Zl9saW5lLCBidWZfcGF5bG9hZCk7CisJdHIyX2RzdF93cml0ZV9saW5lKCZ0cjJkc3Rfbm9ybWFsLCAmYnVmX2xpbmUpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfbGluZSk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX3ZlcnNpb25fZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUpCit7CisJc3RydWN0IHN0cmJ1ZiBidWZfcGF5bG9hZCA9IFNUUkJVRl9JTklUOworCisJc3RyYnVmX2FkZGYoJmJ1Zl9wYXlsb2FkLCAidmVyc2lvbiAlcyIsIGdpdF92ZXJzaW9uX3N0cmluZyk7CisJbm9ybWFsX2lvX3dyaXRlX2ZsKGZpbGUsIGxpbmUsICZidWZfcGF5bG9hZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zl9wYXlsb2FkKTsKK30KKworc3RhdGljIHZvaWQgZm5fc3RhcnRfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCQl1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlLCBjb25zdCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGJ1Zl9wYXlsb2FkID0gU1RSQlVGX0lOSVQ7CisKKwlzdHJidWZfYWRkc3RyKCZidWZfcGF5bG9hZCwgInN0YXJ0ICIpOworCXNxX2FwcGVuZF9xdW90ZV9hcmd2X3ByZXR0eSgmYnVmX3BheWxvYWQsIGFyZ3YpOworCW5vcm1hbF9pb193cml0ZV9mbChmaWxlLCBsaW5lLCAmYnVmX3BheWxvYWQpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfcGF5bG9hZCk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX2V4aXRfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIHVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGUsCisJCSAgICAgICBpbnQgY29kZSkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGJ1Zl9wYXlsb2FkID0gU1RSQlVGX0lOSVQ7CisJZG91YmxlIGVsYXBzZWQgPSAoZG91YmxlKXVzX2VsYXBzZWRfYWJzb2x1dGUgLyAxMDAwMDAwLjA7CisKKwlzdHJidWZfYWRkZigmYnVmX3BheWxvYWQsICJleGl0IGVsYXBzZWQ6JS42ZiBjb2RlOiVkIiwgZWxhcHNlZCwgY29kZSk7CisJbm9ybWFsX2lvX3dyaXRlX2ZsKGZpbGUsIGxpbmUsICZidWZfcGF5bG9hZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zl9wYXlsb2FkKTsKK30KKworc3RhdGljIHZvaWQgZm5fc2lnbmFsKHVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGUsIGludCBzaWdubykKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGJ1Zl9wYXlsb2FkID0gU1RSQlVGX0lOSVQ7CisJZG91YmxlIGVsYXBzZWQgPSAoZG91YmxlKXVzX2VsYXBzZWRfYWJzb2x1dGUgLyAxMDAwMDAwLjA7CisKKwlzdHJidWZfYWRkZigmYnVmX3BheWxvYWQsICJzaWduYWwgZWxhcHNlZDolLjZmIGNvZGU6JWQiLCBlbGFwc2VkLAorCQkgICAgc2lnbm8pOworCW5vcm1hbF9pb193cml0ZV9mbChfX0ZJTEVfXywgX19MSU5FX18sICZidWZfcGF5bG9hZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zl9wYXlsb2FkKTsKK30KKworc3RhdGljIHZvaWQgZm5fYXRleGl0KHVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGUsIGludCBjb2RlKQoreworCXN0cnVjdCBzdHJidWYgYnVmX3BheWxvYWQgPSBTVFJCVUZfSU5JVDsKKwlkb3VibGUgZWxhcHNlZCA9IChkb3VibGUpdXNfZWxhcHNlZF9hYnNvbHV0ZSAvIDEwMDAwMDAuMDsKKworCXN0cmJ1Zl9hZGRmKCZidWZfcGF5bG9hZCwgImF0ZXhpdCBlbGFwc2VkOiUuNmYgY29kZTolZCIsIGVsYXBzZWQsIGNvZGUpOworCW5vcm1hbF9pb193cml0ZV9mbChfX0ZJTEVfXywgX19MSU5FX18sICZidWZfcGF5bG9hZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zl9wYXlsb2FkKTsKK30KKworc3RhdGljIHZvaWQgbWF5YmVfYXBwZW5kX3N0cmluZ192YShzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IGNoYXIgKmZtdCwKKwkJCQkgICB2YV9saXN0IGFwKQoreworCWlmIChmbXQgJiYgKmZtdCkgeworCQl2YV9saXN0IGNvcHlfYXA7CisKKwkJdmFfY29weShjb3B5X2FwLCBhcCk7CisJCXN0cmJ1Zl92YWRkZihidWYsIGZtdCwgY29weV9hcCk7CisJCXZhX2VuZChjb3B5X2FwKTsKKwkJcmV0dXJuOworCX0KK30KKworc3RhdGljIHZvaWQgZm5fZXJyb3JfdmFfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmZtdCwKKwkJCSAgIHZhX2xpc3QgYXApCit7CisJc3RydWN0IHN0cmJ1ZiBidWZfcGF5bG9hZCA9IFNUUkJVRl9JTklUOworCisJc3RyYnVmX2FkZHN0cigmYnVmX3BheWxvYWQsICJlcnJvciIpOworCWlmIChmbXQgJiYgKmZtdCkgeworCQlzdHJidWZfYWRkY2goJmJ1Zl9wYXlsb2FkLCAnICcpOworCQltYXliZV9hcHBlbmRfc3RyaW5nX3ZhKCZidWZfcGF5bG9hZCwgZm10LCBhcCk7CisJfQorCW5vcm1hbF9pb193cml0ZV9mbChmaWxlLCBsaW5lLCAmYnVmX3BheWxvYWQpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfcGF5bG9hZCk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX2NvbW1hbmRfcGF0aF9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqcGF0aG5hbWUpCit7CisJc3RydWN0IHN0cmJ1ZiBidWZfcGF5bG9hZCA9IFNUUkJVRl9JTklUOworCisJc3RyYnVmX2FkZGYoJmJ1Zl9wYXlsb2FkLCAiY21kX3BhdGggJXMiLCBwYXRobmFtZSk7CisJbm9ybWFsX2lvX3dyaXRlX2ZsKGZpbGUsIGxpbmUsICZidWZfcGF5bG9hZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zl9wYXlsb2FkKTsKK30KKworc3RhdGljIHZvaWQgZm5fY29tbWFuZF9uYW1lX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICpuYW1lLAorCQkJICAgICAgIGNvbnN0IGNoYXIgKmhpZXJhcmNoeSkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGJ1Zl9wYXlsb2FkID0gU1RSQlVGX0lOSVQ7CisKKwlzdHJidWZfYWRkZigmYnVmX3BheWxvYWQsICJjbWRfbmFtZSAlcyIsIG5hbWUpOworCWlmIChoaWVyYXJjaHkgJiYgKmhpZXJhcmNoeSkKKwkJc3RyYnVmX2FkZGYoJmJ1Zl9wYXlsb2FkLCAiICglcykiLCBoaWVyYXJjaHkpOworCW5vcm1hbF9pb193cml0ZV9mbChmaWxlLCBsaW5lLCAmYnVmX3BheWxvYWQpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfcGF5bG9hZCk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX2NvbW1hbmRfbW9kZV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqbW9kZSkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGJ1Zl9wYXlsb2FkID0gU1RSQlVGX0lOSVQ7CisKKwlzdHJidWZfYWRkZigmYnVmX3BheWxvYWQsICJjbWRfbW9kZSAlcyIsIG1vZGUpOworCW5vcm1hbF9pb193cml0ZV9mbChmaWxlLCBsaW5lLCAmYnVmX3BheWxvYWQpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfcGF5bG9hZCk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX2FsaWFzX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICphbGlhcywKKwkJCWNvbnN0IGNoYXIgKiphcmd2KQoreworCXN0cnVjdCBzdHJidWYgYnVmX3BheWxvYWQgPSBTVFJCVUZfSU5JVDsKKworCXN0cmJ1Zl9hZGRmKCZidWZfcGF5bG9hZCwgImFsaWFzICVzIC0+ICIsIGFsaWFzKTsKKwlzcV9hcHBlbmRfcXVvdGVfYXJndl9wcmV0dHkoJmJ1Zl9wYXlsb2FkLCBhcmd2KTsKKwlub3JtYWxfaW9fd3JpdGVfZmwoZmlsZSwgbGluZSwgJmJ1Zl9wYXlsb2FkKTsKKwlzdHJidWZfcmVsZWFzZSgmYnVmX3BheWxvYWQpOworfQorCitzdGF0aWMgdm9pZCBmbl9jaGlsZF9zdGFydF9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCSAgICAgIHVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGUsCisJCQkgICAgICBjb25zdCBzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY21kKQoreworCXN0cnVjdCBzdHJidWYgYnVmX3BheWxvYWQgPSBTVFJCVUZfSU5JVDsKKworCXN0cmJ1Zl9hZGRmKCZidWZfcGF5bG9hZCwgImNoaWxkX3N0YXJ0WyVkXSIsIGNtZC0+dHJhY2UyX2NoaWxkX2lkKTsKKworCWlmIChjbWQtPmRpcikgeworCQlzdHJidWZfYWRkc3RyKCZidWZfcGF5bG9hZCwgIiBjZCAiKTsKKwkJc3FfcXVvdGVfYnVmX3ByZXR0eSgmYnVmX3BheWxvYWQsIGNtZC0+ZGlyKTsKKwkJc3RyYnVmX2FkZHN0cigmYnVmX3BheWxvYWQsICI7Iik7CisJfQorCisJLyoKKwkgKiBUT0RPIGlmIChjbWQtPmVudikgeyBDb25zaWRlciBkdW1waW5nIGNoYW5nZXMgdG8gZW52aXJvbm1lbnQuIH0KKwkgKiBTZWUgdHJhY2VfYWRkX2VudigpIGluIHJ1bi1jb21tYW5kLmMgYXMgdXNlZCBieSBvcmlnaW5hbCB0cmFjZS5jCisJICovCisKKwlzdHJidWZfYWRkY2goJmJ1Zl9wYXlsb2FkLCAnICcpOworCWlmIChjbWQtPmdpdF9jbWQpCisJCXN0cmJ1Zl9hZGRzdHIoJmJ1Zl9wYXlsb2FkLCAiZ2l0ICIpOworCXNxX2FwcGVuZF9xdW90ZV9hcmd2X3ByZXR0eSgmYnVmX3BheWxvYWQsIGNtZC0+YXJndik7CisKKwlub3JtYWxfaW9fd3JpdGVfZmwoZmlsZSwgbGluZSwgJmJ1Zl9wYXlsb2FkKTsKKwlzdHJidWZfcmVsZWFzZSgmYnVmX3BheWxvYWQpOworfQorCitzdGF0aWMgdm9pZCBmbl9jaGlsZF9leGl0X2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJICAgICB1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlLCBpbnQgY2lkLCBpbnQgcGlkLAorCQkJICAgICBpbnQgY29kZSwgdWludDY0X3QgdXNfZWxhcHNlZF9jaGlsZCkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGJ1Zl9wYXlsb2FkID0gU1RSQlVGX0lOSVQ7CisJZG91YmxlIGVsYXBzZWQgPSAoZG91YmxlKXVzX2VsYXBzZWRfY2hpbGQgLyAxMDAwMDAwLjA7CisKKwlzdHJidWZfYWRkZigmYnVmX3BheWxvYWQsICJjaGlsZF9leGl0WyVkXSBwaWQ6JWQgY29kZTolZCBlbGFwc2VkOiUuNmYiLAorCQkgICAgY2lkLCBwaWQsIGNvZGUsIGVsYXBzZWQpOworCW5vcm1hbF9pb193cml0ZV9mbChmaWxlLCBsaW5lLCAmYnVmX3BheWxvYWQpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfcGF5bG9hZCk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX2V4ZWNfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIHVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGUsCisJCSAgICAgICBpbnQgZXhlY19pZCwgY29uc3QgY2hhciAqZXhlLCBjb25zdCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGJ1Zl9wYXlsb2FkID0gU1RSQlVGX0lOSVQ7CisKKwlzdHJidWZfYWRkZigmYnVmX3BheWxvYWQsICJleGVjWyVkXSAiLCBleGVjX2lkKTsKKwlpZiAoZXhlKSB7CisJCXN0cmJ1Zl9hZGRzdHIoJmJ1Zl9wYXlsb2FkLCBleGUpOworCQlzdHJidWZfYWRkY2goJmJ1Zl9wYXlsb2FkLCAnICcpOworCX0KKwlzcV9hcHBlbmRfcXVvdGVfYXJndl9wcmV0dHkoJmJ1Zl9wYXlsb2FkLCBhcmd2KTsKKwlub3JtYWxfaW9fd3JpdGVfZmwoZmlsZSwgbGluZSwgJmJ1Zl9wYXlsb2FkKTsKKwlzdHJidWZfcmVsZWFzZSgmYnVmX3BheWxvYWQpOworfQorCitzdGF0aWMgdm9pZCBmbl9leGVjX3Jlc3VsdF9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCSAgICAgIHVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGUsIGludCBleGVjX2lkLAorCQkJICAgICAgaW50IGNvZGUpCit7CisJc3RydWN0IHN0cmJ1ZiBidWZfcGF5bG9hZCA9IFNUUkJVRl9JTklUOworCisJc3RyYnVmX2FkZGYoJmJ1Zl9wYXlsb2FkLCAiZXhlY19yZXN1bHRbJWRdIGNvZGU6JWQiLCBleGVjX2lkLCBjb2RlKTsKKwlpZiAoY29kZSA+IDApCisJCXN0cmJ1Zl9hZGRmKCZidWZfcGF5bG9hZCwgIiBlcnI6JXMiLCBzdHJlcnJvcihjb2RlKSk7CisJbm9ybWFsX2lvX3dyaXRlX2ZsKGZpbGUsIGxpbmUsICZidWZfcGF5bG9hZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zl9wYXlsb2FkKTsKK30KKworc3RhdGljIHZvaWQgZm5fcGFyYW1fZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKnBhcmFtLAorCQkJY29uc3QgY2hhciAqdmFsdWUpCit7CisJc3RydWN0IHN0cmJ1ZiBidWZfcGF5bG9hZCA9IFNUUkJVRl9JTklUOworCisJc3RyYnVmX2FkZGYoJmJ1Zl9wYXlsb2FkLCAiZGVmX3BhcmFtICVzPSVzIiwgcGFyYW0sIHZhbHVlKTsKKwlub3JtYWxfaW9fd3JpdGVfZmwoZmlsZSwgbGluZSwgJmJ1Zl9wYXlsb2FkKTsKKwlzdHJidWZfcmVsZWFzZSgmYnVmX3BheWxvYWQpOworfQorCitzdGF0aWMgdm9pZCBmbl9yZXBvX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkgICAgICAgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8pCit7CisJc3RydWN0IHN0cmJ1ZiBidWZfcGF5bG9hZCA9IFNUUkJVRl9JTklUOworCisJc3RyYnVmX2FkZHN0cigmYnVmX3BheWxvYWQsICJ3b3JrdHJlZSAiKTsKKwlzcV9xdW90ZV9idWZfcHJldHR5KCZidWZfcGF5bG9hZCwgcmVwby0+d29ya3RyZWUpOworCW5vcm1hbF9pb193cml0ZV9mbChmaWxlLCBsaW5lLCAmYnVmX3BheWxvYWQpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfcGF5bG9hZCk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX3ByaW50Zl92YV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCSAgICB1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlLCBjb25zdCBjaGFyICpmbXQsCisJCQkgICAgdmFfbGlzdCBhcCkKK3sKKwlzdHJ1Y3Qgc3RyYnVmIGJ1Zl9wYXlsb2FkID0gU1RSQlVGX0lOSVQ7CisKKwltYXliZV9hcHBlbmRfc3RyaW5nX3ZhKCZidWZfcGF5bG9hZCwgZm10LCBhcCk7CisJbm9ybWFsX2lvX3dyaXRlX2ZsKGZpbGUsIGxpbmUsICZidWZfcGF5bG9hZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zl9wYXlsb2FkKTsKK30KKworc3RydWN0IHRyMl90Z3QgdHIyX3RndF9ub3JtYWwgPSB7CisJJnRyMmRzdF9ub3JtYWwsCisKKwlmbl9pbml0LAorCWZuX3Rlcm0sCisKKwlmbl92ZXJzaW9uX2ZsLAorCWZuX3N0YXJ0X2ZsLAorCWZuX2V4aXRfZmwsCisJZm5fc2lnbmFsLAorCWZuX2F0ZXhpdCwKKwlmbl9lcnJvcl92YV9mbCwKKwlmbl9jb21tYW5kX3BhdGhfZmwsCisJZm5fY29tbWFuZF9uYW1lX2ZsLAorCWZuX2NvbW1hbmRfbW9kZV9mbCwKKwlmbl9hbGlhc19mbCwKKwlmbl9jaGlsZF9zdGFydF9mbCwKKwlmbl9jaGlsZF9leGl0X2ZsLAorCU5VTEwsIC8qIHRocmVhZF9zdGFydCAqLworCU5VTEwsIC8qIHRocmVhZF9leGl0ICovCisJZm5fZXhlY19mbCwKKwlmbl9leGVjX3Jlc3VsdF9mbCwKKwlmbl9wYXJhbV9mbCwKKwlmbl9yZXBvX2ZsLAorCU5VTEwsIC8qIHJlZ2lvbl9lbnRlciAqLworCU5VTEwsIC8qIHJlZ2lvbl9sZWF2ZSAqLworCU5VTEwsIC8qIGRhdGEgKi8KKwlOVUxMLCAvKiBkYXRhX2pzb24gKi8KKwlmbl9wcmludGZfdmFfZmwsCit9OwpkaWZmIC0tZ2l0IGEvdHJhY2UyL3RyMl90Z3RfcGVyZi5jIGIvdHJhY2UyL3RyMl90Z3RfcGVyZi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4MDE4ZjEKLS0tIC9kZXYvbnVsbAorKysgYi90cmFjZTIvdHIyX3RndF9wZXJmLmMKQEAgLTAsMCArMSw1NTEgQEAKKyNpbmNsdWRlICJjYWNoZS5oIgorI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCisjaW5jbHVkZSAicXVvdGUuaCIKKyNpbmNsdWRlICJ2ZXJzaW9uLmgiCisjaW5jbHVkZSAianNvbi13cml0ZXIuaCIKKyNpbmNsdWRlICJ0cmFjZTIvdHIyX2RzdC5oIgorI2luY2x1ZGUgInRyYWNlMi90cjJfc2lkLmgiCisjaW5jbHVkZSAidHJhY2UyL3RyMl9zeXNlbnYuaCIKKyNpbmNsdWRlICJ0cmFjZTIvdHIyX3RidWYuaCIKKyNpbmNsdWRlICJ0cmFjZTIvdHIyX3RndC5oIgorI2luY2x1ZGUgInRyYWNlMi90cjJfdGxzLmgiCisKK3N0YXRpYyBzdHJ1Y3QgdHIyX2RzdCB0cjJkc3RfcGVyZiA9IHsgVFIyX1NZU0VOVl9QRVJGLCAwLCAwLCAwLCAwIH07CisKKy8qCisgKiBVc2UgVFIyX1NZU0VOVl9QRVJGX0JSSUVGIHRvIG9taXQgdGhlICI8dGltZT4gPGZpbGU+OjxsaW5lPiIKKyAqIGZpZWxkcyBmcm9tIGVhY2ggbGluZSB3cml0dGVuIHRvIHRoZSBidWlsdGluIHBlcmZvcm1hbmNlIHRhcmdldC4KKyAqCisgKiBVbml0IHRlc3RzIG1heSB3YW50IHRvIHVzZSB0aGlzIHRvIGhlbHAgd2l0aCB0ZXN0aW5nLgorICovCitzdGF0aWMgaW50IHRyMmVudl9wZXJmX2JlX2JyaWVmOworCisjZGVmaW5lIFRSMkZNVF9QRVJGX0ZMX1dJRFRIICgyOCkKKyNkZWZpbmUgVFIyRk1UX1BFUkZfTUFYX0VWRU5UX05BTUUgKDEyKQorI2RlZmluZSBUUjJGTVRfUEVSRl9SRVBPX1dJRFRIICgzKQorI2RlZmluZSBUUjJGTVRfUEVSRl9DQVRFR09SWV9XSURUSCAoMTIpCisKKyNkZWZpbmUgVFIyX0lOREVOVCAoMikKKyNkZWZpbmUgVFIyX0lOREVOVF9MRU5HVEgoY3R4KSAoKChjdHgpLT5ucl9vcGVuX3JlZ2lvbnMgLSAxKSAqIFRSMl9JTkRFTlQpCisKK3N0YXRpYyBpbnQgZm5faW5pdCh2b2lkKQoreworCWludCB3YW50ID0gdHIyX2RzdF90cmFjZV93YW50KCZ0cjJkc3RfcGVyZik7CisJaW50IHdhbnRfYnJpZWY7CisJY29uc3QgY2hhciAqYnJpZWY7CisKKwlpZiAoIXdhbnQpCisJCXJldHVybiB3YW50OworCisJYnJpZWYgPSB0cjJfc3lzZW52X2dldChUUjJfU1lTRU5WX1BFUkZfQlJJRUYpOworCWlmIChicmllZiAmJiAqYnJpZWYgJiYKKwkgICAgKCh3YW50X2JyaWVmID0gZ2l0X3BhcnNlX21heWJlX2Jvb2woYnJpZWYpKSAhPSAtMSkpCisJCXRyMmVudl9wZXJmX2JlX2JyaWVmID0gd2FudF9icmllZjsKKworCXJldHVybiB3YW50OworfQorCitzdGF0aWMgdm9pZCBmbl90ZXJtKHZvaWQpCit7CisJdHIyX2RzdF90cmFjZV9kaXNhYmxlKCZ0cjJkc3RfcGVyZik7Cit9CisKKy8qCisgKiBGb3JtYXQgdHJhY2UgbGluZSBwcmVmaXggaW4gaHVtYW4tcmVhZGFibGUgY2xhc3NpYyBmb3JtYXQgZm9yCisgKiB0aGUgcGVyZm9ybWFuY2UgdGFyZ2V0OgorICogICAgICJbPHRpbWU+IFs8ZmlsZT46PGxpbmU+XSA8YmFyPl0gPG5yX3BhcmVudHM+IDxiYXI+CisgKiAgICAgICAgIDx0aHJlYWRfbmFtZT4gPGJhcj4gPGV2ZW50X25hbWU+IDxiYXI+IFs8cmVwbz5dIDxiYXI+CisgKiAgICAgICAgIFs8ZWxhcHNlZF9hYnNvbHV0ZT5dIFs8ZWxhcHNlZF9yZWxhdGl2ZT5dIDxiYXI+CisgKiAgICAgICAgIFs8Y2F0ZWdvcnk+XSA8YmFyPiBbPGRvdHM+XSAiCisgKi8KK3N0YXRpYyB2b2lkIHBlcmZfZm10X3ByZXBhcmUoY29uc3QgY2hhciAqZXZlbnRfbmFtZSwKKwkJCSAgICAgc3RydWN0IHRyMnRsc190aHJlYWRfY3R4ICpjdHgsIGNvbnN0IGNoYXIgKmZpbGUsCisJCQkgICAgIGludCBsaW5lLCBjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCSAgICAgdWludDY0X3QgKnBfdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCSAgICAgdWludDY0X3QgKnBfdXNfZWxhcHNlZF9yZWxhdGl2ZSwKKwkJCSAgICAgY29uc3QgY2hhciAqY2F0ZWdvcnksIHN0cnVjdCBzdHJidWYgKmJ1ZikKK3sKKwlpbnQgbGVuOworCisJc3RyYnVmX3NldGxlbihidWYsIDApOworCisJaWYgKCF0cjJlbnZfcGVyZl9iZV9icmllZikgeworCQlzdHJ1Y3QgdHIyX3RidWYgdGJfbm93OworCQlzaXplX3QgZmxfZW5kX2NvbDsKKworCQl0cjJfdGJ1Zl9sb2NhbF90aW1lKCZ0Yl9ub3cpOworCQlzdHJidWZfYWRkc3RyKGJ1ZiwgdGJfbm93LmJ1Zik7CisJCXN0cmJ1Zl9hZGRjaChidWYsICcgJyk7CisKKwkJZmxfZW5kX2NvbCA9IGJ1Zi0+bGVuICsgVFIyRk1UX1BFUkZfRkxfV0lEVEg7CisKKwkJaWYgKGZpbGUgJiYgKmZpbGUpIHsKKwkJCXN0cnVjdCBzdHJidWYgYnVmX2ZsID0gU1RSQlVGX0lOSVQ7CisKKwkJCXN0cmJ1Zl9hZGRmKCZidWZfZmwsICIlczolZCIsIGZpbGUsIGxpbmUpOworCisJCQlpZiAoYnVmX2ZsLmxlbiA8PSBUUjJGTVRfUEVSRl9GTF9XSURUSCkKKwkJCQlzdHJidWZfYWRkYnVmKGJ1ZiwgJmJ1Zl9mbCk7CisJCQllbHNlIHsKKwkJCQlzaXplX3QgYXZhaWwgPSBUUjJGTVRfUEVSRl9GTF9XSURUSCAtIDM7CisJCQkJc3RyYnVmX2FkZHN0cihidWYsICIuLi4iKTsKKwkJCQlzdHJidWZfYWRkKGJ1ZiwKKwkJCQkJICAgJmJ1Zl9mbC5idWZbYnVmX2ZsLmxlbiAtIGF2YWlsXSwKKwkJCQkJICAgYXZhaWwpOworCQkJfQorCisJCQlzdHJidWZfcmVsZWFzZSgmYnVmX2ZsKTsKKwkJfQorCisJCXdoaWxlIChidWYtPmxlbiA8IGZsX2VuZF9jb2wpCisJCQlzdHJidWZfYWRkY2goYnVmLCAnICcpOworCisJCXN0cmJ1Zl9hZGRzdHIoYnVmLCAiIHwgIik7CisJfQorCisJc3RyYnVmX2FkZGYoYnVmLCAiZCVkIHwgIiwgdHIyX3NpZF9kZXB0aCgpKTsKKwlzdHJidWZfYWRkZihidWYsICIlLSpzIHwgJS0qcyB8ICIsIFRSMl9NQVhfVEhSRUFEX05BTUUsCisJCSAgICBjdHgtPnRocmVhZF9uYW1lLmJ1ZiwgVFIyRk1UX1BFUkZfTUFYX0VWRU5UX05BTUUsCisJCSAgICBldmVudF9uYW1lKTsKKworCWxlbiA9IGJ1Zi0+bGVuICsgVFIyRk1UX1BFUkZfUkVQT19XSURUSDsKKwlpZiAocmVwbykKKwkJc3RyYnVmX2FkZGYoYnVmLCAiciVkICIsIHJlcG8tPnRyYWNlMl9yZXBvX2lkKTsKKwl3aGlsZSAoYnVmLT5sZW4gPCBsZW4pCisJCXN0cmJ1Zl9hZGRjaChidWYsICcgJyk7CisJc3RyYnVmX2FkZHN0cihidWYsICIgfCAiKTsKKworCWlmIChwX3VzX2VsYXBzZWRfYWJzb2x1dGUpCisJCXN0cmJ1Zl9hZGRmKGJ1ZiwgIiU5LjZmIHwgIiwKKwkJCSAgICAoKGRvdWJsZSkoKnBfdXNfZWxhcHNlZF9hYnNvbHV0ZSkpIC8gMTAwMDAwMC4wKTsKKwllbHNlCisJCXN0cmJ1Zl9hZGRmKGJ1ZiwgIiU5cyB8ICIsICIgIik7CisKKwlpZiAocF91c19lbGFwc2VkX3JlbGF0aXZlKQorCQlzdHJidWZfYWRkZihidWYsICIlOS42ZiB8ICIsCisJCQkgICAgKChkb3VibGUpKCpwX3VzX2VsYXBzZWRfcmVsYXRpdmUpKSAvIDEwMDAwMDAuMCk7CisJZWxzZQorCQlzdHJidWZfYWRkZihidWYsICIlOXMgfCAiLCAiICIpOworCisJc3RyYnVmX2FkZGYoYnVmLCAiJS0qLipzIHwgIiwgVFIyRk1UX1BFUkZfQ0FURUdPUllfV0lEVEgsCisJCSAgICBUUjJGTVRfUEVSRl9DQVRFR09SWV9XSURUSCwgKGNhdGVnb3J5ID8gY2F0ZWdvcnkgOiAiIikpOworCisJaWYgKGN0eC0+bnJfb3Blbl9yZWdpb25zID4gMCkKKwkJc3RyYnVmX2FkZGNoYXJzKGJ1ZiwgJy4nLCBUUjJfSU5ERU5UX0xFTkdUSChjdHgpKTsKK30KKworc3RhdGljIHZvaWQgcGVyZl9pb193cml0ZV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciAqZXZlbnRfbmFtZSwKKwkJCSAgICAgY29uc3Qgc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkgICAgIHVpbnQ2NF90ICpwX3VzX2VsYXBzZWRfYWJzb2x1dGUsCisJCQkgICAgIHVpbnQ2NF90ICpwX3VzX2VsYXBzZWRfcmVsYXRpdmUsCisJCQkgICAgIGNvbnN0IGNoYXIgKmNhdGVnb3J5LAorCQkJICAgICBjb25zdCBzdHJ1Y3Qgc3RyYnVmICpidWZfcGF5bG9hZCkKK3sKKwlzdHJ1Y3QgdHIydGxzX3RocmVhZF9jdHggKmN0eCA9IHRyMnRsc19nZXRfc2VsZigpOworCXN0cnVjdCBzdHJidWYgYnVmX2xpbmUgPSBTVFJCVUZfSU5JVDsKKworCXBlcmZfZm10X3ByZXBhcmUoZXZlbnRfbmFtZSwgY3R4LCBmaWxlLCBsaW5lLCByZXBvLAorCQkJIHBfdXNfZWxhcHNlZF9hYnNvbHV0ZSwgcF91c19lbGFwc2VkX3JlbGF0aXZlLCBjYXRlZ29yeSwKKwkJCSAmYnVmX2xpbmUpOworCXN0cmJ1Zl9hZGRidWYoJmJ1Zl9saW5lLCBidWZfcGF5bG9hZCk7CisJdHIyX2RzdF93cml0ZV9saW5lKCZ0cjJkc3RfcGVyZiwgJmJ1Zl9saW5lKTsKKwlzdHJidWZfcmVsZWFzZSgmYnVmX2xpbmUpOworfQorCitzdGF0aWMgdm9pZCBmbl92ZXJzaW9uX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lKQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAidmVyc2lvbiI7CisJc3RydWN0IHN0cmJ1ZiBidWZfcGF5bG9hZCA9IFNUUkJVRl9JTklUOworCisJc3RyYnVmX2FkZHN0cigmYnVmX3BheWxvYWQsIGdpdF92ZXJzaW9uX3N0cmluZyk7CisKKwlwZXJmX2lvX3dyaXRlX2ZsKGZpbGUsIGxpbmUsIGV2ZW50X25hbWUsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsCisJCQkgJmJ1Zl9wYXlsb2FkKTsKKwlzdHJidWZfcmVsZWFzZSgmYnVmX3BheWxvYWQpOworfQorCitzdGF0aWMgdm9pZCBmbl9zdGFydF9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCXVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGUsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAic3RhcnQiOworCXN0cnVjdCBzdHJidWYgYnVmX3BheWxvYWQgPSBTVFJCVUZfSU5JVDsKKworCXNxX2FwcGVuZF9xdW90ZV9hcmd2X3ByZXR0eSgmYnVmX3BheWxvYWQsIGFyZ3YpOworCisJcGVyZl9pb193cml0ZV9mbChmaWxlLCBsaW5lLCBldmVudF9uYW1lLCBOVUxMLCAmdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCSBOVUxMLCBOVUxMLCAmYnVmX3BheWxvYWQpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfcGF5bG9hZCk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX2V4aXRfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIHVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGUsCisJCSAgICAgICBpbnQgY29kZSkKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gImV4aXQiOworCXN0cnVjdCBzdHJidWYgYnVmX3BheWxvYWQgPSBTVFJCVUZfSU5JVDsKKworCXN0cmJ1Zl9hZGRmKCZidWZfcGF5bG9hZCwgImNvZGU6JWQiLCBjb2RlKTsKKworCXBlcmZfaW9fd3JpdGVfZmwoZmlsZSwgbGluZSwgZXZlbnRfbmFtZSwgTlVMTCwgJnVzX2VsYXBzZWRfYWJzb2x1dGUsCisJCQkgTlVMTCwgTlVMTCwgJmJ1Zl9wYXlsb2FkKTsKKwlzdHJidWZfcmVsZWFzZSgmYnVmX3BheWxvYWQpOworfQorCitzdGF0aWMgdm9pZCBmbl9zaWduYWwodWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwgaW50IHNpZ25vKQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAic2lnbmFsIjsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1Zl9wYXlsb2FkID0gU1RSQlVGX0lOSVQ7CisKKwlzdHJidWZfYWRkZigmYnVmX3BheWxvYWQsICJzaWdubzolZCIsIHNpZ25vKTsKKworCXBlcmZfaW9fd3JpdGVfZmwoX19GSUxFX18sIF9fTElORV9fLCBldmVudF9uYW1lLCBOVUxMLAorCQkJICZ1c19lbGFwc2VkX2Fic29sdXRlLCBOVUxMLCBOVUxMLCAmYnVmX3BheWxvYWQpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfcGF5bG9hZCk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX2F0ZXhpdCh1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlLCBpbnQgY29kZSkKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gImF0ZXhpdCI7CisJc3RydWN0IHN0cmJ1ZiBidWZfcGF5bG9hZCA9IFNUUkJVRl9JTklUOworCisJc3RyYnVmX2FkZGYoJmJ1Zl9wYXlsb2FkLCAiY29kZTolZCIsIGNvZGUpOworCisJcGVyZl9pb193cml0ZV9mbChfX0ZJTEVfXywgX19MSU5FX18sIGV2ZW50X25hbWUsIE5VTEwsCisJCQkgJnVzX2VsYXBzZWRfYWJzb2x1dGUsIE5VTEwsIE5VTEwsICZidWZfcGF5bG9hZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zl9wYXlsb2FkKTsKK30KKworc3RhdGljIHZvaWQgbWF5YmVfYXBwZW5kX3N0cmluZ192YShzdHJ1Y3Qgc3RyYnVmICpidWYsIGNvbnN0IGNoYXIgKmZtdCwKKwkJCQkgICB2YV9saXN0IGFwKQoreworCWlmIChmbXQgJiYgKmZtdCkgeworCQl2YV9saXN0IGNvcHlfYXA7CisKKwkJdmFfY29weShjb3B5X2FwLCBhcCk7CisJCXN0cmJ1Zl92YWRkZihidWYsIGZtdCwgY29weV9hcCk7CisJCXZhX2VuZChjb3B5X2FwKTsKKwkJcmV0dXJuOworCX0KK30KKworc3RhdGljIHZvaWQgZm5fZXJyb3JfdmFfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmZtdCwKKwkJCSAgIHZhX2xpc3QgYXApCit7CisJY29uc3QgY2hhciAqZXZlbnRfbmFtZSA9ICJlcnJvciI7CisJc3RydWN0IHN0cmJ1ZiBidWZfcGF5bG9hZCA9IFNUUkJVRl9JTklUOworCisJbWF5YmVfYXBwZW5kX3N0cmluZ192YSgmYnVmX3BheWxvYWQsIGZtdCwgYXApOworCisJcGVyZl9pb193cml0ZV9mbChmaWxlLCBsaW5lLCBldmVudF9uYW1lLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLAorCQkJICZidWZfcGF5bG9hZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zl9wYXlsb2FkKTsKK30KKworc3RhdGljIHZvaWQgZm5fY29tbWFuZF9wYXRoX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICpwYXRobmFtZSkKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gImNtZF9wYXRoIjsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1Zl9wYXlsb2FkID0gU1RSQlVGX0lOSVQ7CisKKwlzdHJidWZfYWRkc3RyKCZidWZfcGF5bG9hZCwgcGF0aG5hbWUpOworCisJcGVyZl9pb193cml0ZV9mbChmaWxlLCBsaW5lLCBldmVudF9uYW1lLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLAorCQkJICZidWZfcGF5bG9hZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zl9wYXlsb2FkKTsKK30KKworc3RhdGljIHZvaWQgZm5fY29tbWFuZF9uYW1lX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICpuYW1lLAorCQkJICAgICAgIGNvbnN0IGNoYXIgKmhpZXJhcmNoeSkKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gImNtZF9uYW1lIjsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1Zl9wYXlsb2FkID0gU1RSQlVGX0lOSVQ7CisKKwlzdHJidWZfYWRkc3RyKCZidWZfcGF5bG9hZCwgbmFtZSk7CisJaWYgKGhpZXJhcmNoeSAmJiAqaGllcmFyY2h5KQorCQlzdHJidWZfYWRkZigmYnVmX3BheWxvYWQsICIgKCVzKSIsIGhpZXJhcmNoeSk7CisKKwlwZXJmX2lvX3dyaXRlX2ZsKGZpbGUsIGxpbmUsIGV2ZW50X25hbWUsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsCisJCQkgJmJ1Zl9wYXlsb2FkKTsKKwlzdHJidWZfcmVsZWFzZSgmYnVmX3BheWxvYWQpOworfQorCitzdGF0aWMgdm9pZCBmbl9jb21tYW5kX21vZGVfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKm1vZGUpCit7CisJY29uc3QgY2hhciAqZXZlbnRfbmFtZSA9ICJjbWRfbW9kZSI7CisJc3RydWN0IHN0cmJ1ZiBidWZfcGF5bG9hZCA9IFNUUkJVRl9JTklUOworCisJc3RyYnVmX2FkZHN0cigmYnVmX3BheWxvYWQsIG1vZGUpOworCisJcGVyZl9pb193cml0ZV9mbChmaWxlLCBsaW5lLCBldmVudF9uYW1lLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLAorCQkJICZidWZfcGF5bG9hZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zl9wYXlsb2FkKTsKK30KKworc3RhdGljIHZvaWQgZm5fYWxpYXNfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKmFsaWFzLAorCQkJY29uc3QgY2hhciAqKmFyZ3YpCit7CisJY29uc3QgY2hhciAqZXZlbnRfbmFtZSA9ICJhbGlhcyI7CisJc3RydWN0IHN0cmJ1ZiBidWZfcGF5bG9hZCA9IFNUUkJVRl9JTklUOworCisJc3RyYnVmX2FkZGYoJmJ1Zl9wYXlsb2FkLCAiYWxpYXM6JXMgYXJndjpbIiwgYWxpYXMpOworCXNxX2FwcGVuZF9xdW90ZV9hcmd2X3ByZXR0eSgmYnVmX3BheWxvYWQsIGFyZ3YpOworCXN0cmJ1Zl9hZGRjaCgmYnVmX3BheWxvYWQsICddJyk7CisKKwlwZXJmX2lvX3dyaXRlX2ZsKGZpbGUsIGxpbmUsIGV2ZW50X25hbWUsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsCisJCQkgJmJ1Zl9wYXlsb2FkKTsKKwlzdHJidWZfcmVsZWFzZSgmYnVmX3BheWxvYWQpOworfQorCitzdGF0aWMgdm9pZCBmbl9jaGlsZF9zdGFydF9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCSAgICAgIHVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGUsCisJCQkgICAgICBjb25zdCBzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY21kKQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAiY2hpbGRfc3RhcnQiOworCXN0cnVjdCBzdHJidWYgYnVmX3BheWxvYWQgPSBTVFJCVUZfSU5JVDsKKworCWlmIChjbWQtPnRyYWNlMl9ob29rX25hbWUpIHsKKwkJc3RyYnVmX2FkZGYoJmJ1Zl9wYXlsb2FkLCAiW2NoJWRdIGNsYXNzOmhvb2sgaG9vazolcyIsCisJCQkgICAgY21kLT50cmFjZTJfY2hpbGRfaWQsIGNtZC0+dHJhY2UyX2hvb2tfbmFtZSk7CisJfSBlbHNlIHsKKwkJY29uc3QgY2hhciAqY2hpbGRfY2xhc3MgPQorCQkJY21kLT50cmFjZTJfY2hpbGRfY2xhc3MgPyBjbWQtPnRyYWNlMl9jaGlsZF9jbGFzcyA6ICI/IjsKKwkJc3RyYnVmX2FkZGYoJmJ1Zl9wYXlsb2FkLCAiW2NoJWRdIGNsYXNzOiVzIiwKKwkJCSAgICBjbWQtPnRyYWNlMl9jaGlsZF9pZCwgY2hpbGRfY2xhc3MpOworCX0KKworCWlmIChjbWQtPmRpcikgeworCQlzdHJidWZfYWRkc3RyKCZidWZfcGF5bG9hZCwgIiBjZDoiKTsKKwkJc3FfcXVvdGVfYnVmX3ByZXR0eSgmYnVmX3BheWxvYWQsIGNtZC0+ZGlyKTsKKwl9CisKKwlzdHJidWZfYWRkc3RyKCZidWZfcGF5bG9hZCwgIiBhcmd2OlsiKTsKKwlpZiAoY21kLT5naXRfY21kKSB7CisJCXN0cmJ1Zl9hZGRzdHIoJmJ1Zl9wYXlsb2FkLCAiZ2l0Iik7CisJCWlmIChjbWQtPmFyZ3ZbMF0pCisJCQlzdHJidWZfYWRkY2goJmJ1Zl9wYXlsb2FkLCAnICcpOworCX0KKwlzcV9hcHBlbmRfcXVvdGVfYXJndl9wcmV0dHkoJmJ1Zl9wYXlsb2FkLCBjbWQtPmFyZ3YpOworCXN0cmJ1Zl9hZGRjaCgmYnVmX3BheWxvYWQsICddJyk7CisKKwlwZXJmX2lvX3dyaXRlX2ZsKGZpbGUsIGxpbmUsIGV2ZW50X25hbWUsIE5VTEwsICZ1c19lbGFwc2VkX2Fic29sdXRlLAorCQkJIE5VTEwsIE5VTEwsICZidWZfcGF5bG9hZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zl9wYXlsb2FkKTsKK30KKworc3RhdGljIHZvaWQgZm5fY2hpbGRfZXhpdF9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCSAgICAgdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwgaW50IGNpZCwgaW50IHBpZCwKKwkJCSAgICAgaW50IGNvZGUsIHVpbnQ2NF90IHVzX2VsYXBzZWRfY2hpbGQpCit7CisJY29uc3QgY2hhciAqZXZlbnRfbmFtZSA9ICJjaGlsZF9leGl0IjsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1Zl9wYXlsb2FkID0gU1RSQlVGX0lOSVQ7CisKKwlzdHJidWZfYWRkZigmYnVmX3BheWxvYWQsICJbY2glZF0gcGlkOiVkIGNvZGU6JWQiLCBjaWQsIHBpZCwgY29kZSk7CisKKwlwZXJmX2lvX3dyaXRlX2ZsKGZpbGUsIGxpbmUsIGV2ZW50X25hbWUsIE5VTEwsICZ1c19lbGFwc2VkX2Fic29sdXRlLAorCQkJICZ1c19lbGFwc2VkX2NoaWxkLCBOVUxMLCAmYnVmX3BheWxvYWQpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfcGF5bG9hZCk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX3RocmVhZF9zdGFydF9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCSAgICAgICB1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlKQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAidGhyZWFkX3N0YXJ0IjsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1Zl9wYXlsb2FkID0gU1RSQlVGX0lOSVQ7CisKKwlwZXJmX2lvX3dyaXRlX2ZsKGZpbGUsIGxpbmUsIGV2ZW50X25hbWUsIE5VTEwsICZ1c19lbGFwc2VkX2Fic29sdXRlLAorCQkJIE5VTEwsIE5VTEwsICZidWZfcGF5bG9hZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zl9wYXlsb2FkKTsKK30KKworc3RhdGljIHZvaWQgZm5fdGhyZWFkX2V4aXRfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCQkgICAgICB1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlLAorCQkJICAgICAgdWludDY0X3QgdXNfZWxhcHNlZF90aHJlYWQpCit7CisJY29uc3QgY2hhciAqZXZlbnRfbmFtZSA9ICJ0aHJlYWRfZXhpdCI7CisJc3RydWN0IHN0cmJ1ZiBidWZfcGF5bG9hZCA9IFNUUkJVRl9JTklUOworCisJcGVyZl9pb193cml0ZV9mbChmaWxlLCBsaW5lLCBldmVudF9uYW1lLCBOVUxMLCAmdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCSAmdXNfZWxhcHNlZF90aHJlYWQsIE5VTEwsICZidWZfcGF5bG9hZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zl9wYXlsb2FkKTsKK30KKworc3RhdGljIHZvaWQgZm5fZXhlY19mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJICAgICAgIGludCBleGVjX2lkLCBjb25zdCBjaGFyICpleGUsIGNvbnN0IGNoYXIgKiphcmd2KQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAiZXhlYyI7CisJc3RydWN0IHN0cmJ1ZiBidWZfcGF5bG9hZCA9IFNUUkJVRl9JTklUOworCisJc3RyYnVmX2FkZGYoJmJ1Zl9wYXlsb2FkLCAiaWQ6JWQgIiwgZXhlY19pZCk7CisJc3RyYnVmX2FkZHN0cigmYnVmX3BheWxvYWQsICJhcmd2OlsiKTsKKwlpZiAoZXhlKSB7CisJCXN0cmJ1Zl9hZGRzdHIoJmJ1Zl9wYXlsb2FkLCBleGUpOworCQlpZiAoYXJndlswXSkKKwkJCXN0cmJ1Zl9hZGRjaCgmYnVmX3BheWxvYWQsICcgJyk7CisJfQorCXNxX2FwcGVuZF9xdW90ZV9hcmd2X3ByZXR0eSgmYnVmX3BheWxvYWQsIGFyZ3YpOworCXN0cmJ1Zl9hZGRjaCgmYnVmX3BheWxvYWQsICddJyk7CisKKwlwZXJmX2lvX3dyaXRlX2ZsKGZpbGUsIGxpbmUsIGV2ZW50X25hbWUsIE5VTEwsICZ1c19lbGFwc2VkX2Fic29sdXRlLAorCQkJIE5VTEwsIE5VTEwsICZidWZfcGF5bG9hZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zl9wYXlsb2FkKTsKK30KKworc3RhdGljIHZvaWQgZm5fZXhlY19yZXN1bHRfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCQkgICAgICB1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlLCBpbnQgZXhlY19pZCwKKwkJCSAgICAgIGludCBjb2RlKQoreworCWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAiZXhlY19yZXN1bHQiOworCXN0cnVjdCBzdHJidWYgYnVmX3BheWxvYWQgPSBTVFJCVUZfSU5JVDsKKworCXN0cmJ1Zl9hZGRmKCZidWZfcGF5bG9hZCwgImlkOiVkIGNvZGU6JWQiLCBleGVjX2lkLCBjb2RlKTsKKwlpZiAoY29kZSA+IDApCisJCXN0cmJ1Zl9hZGRmKCZidWZfcGF5bG9hZCwgIiBlcnI6JXMiLCBzdHJlcnJvcihjb2RlKSk7CisKKwlwZXJmX2lvX3dyaXRlX2ZsKGZpbGUsIGxpbmUsIGV2ZW50X25hbWUsIE5VTEwsICZ1c19lbGFwc2VkX2Fic29sdXRlLAorCQkJIE5VTEwsIE5VTEwsICZidWZfcGF5bG9hZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zl9wYXlsb2FkKTsKK30KKworc3RhdGljIHZvaWQgZm5fcGFyYW1fZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKnBhcmFtLAorCQkJY29uc3QgY2hhciAqdmFsdWUpCit7CisJY29uc3QgY2hhciAqZXZlbnRfbmFtZSA9ICJkZWZfcGFyYW0iOworCXN0cnVjdCBzdHJidWYgYnVmX3BheWxvYWQgPSBTVFJCVUZfSU5JVDsKKworCXN0cmJ1Zl9hZGRmKCZidWZfcGF5bG9hZCwgIiVzOiVzIiwgcGFyYW0sIHZhbHVlKTsKKworCXBlcmZfaW9fd3JpdGVfZmwoZmlsZSwgbGluZSwgZXZlbnRfbmFtZSwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwKKwkJCSAmYnVmX3BheWxvYWQpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfcGF5bG9hZCk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX3JlcG9fZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsCisJCSAgICAgICBjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbykKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gImRlZl9yZXBvIjsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1Zl9wYXlsb2FkID0gU1RSQlVGX0lOSVQ7CisKKwlzdHJidWZfYWRkc3RyKCZidWZfcGF5bG9hZCwgIndvcmt0cmVlOiIpOworCXNxX3F1b3RlX2J1Zl9wcmV0dHkoJmJ1Zl9wYXlsb2FkLCByZXBvLT53b3JrdHJlZSk7CisKKwlwZXJmX2lvX3dyaXRlX2ZsKGZpbGUsIGxpbmUsIGV2ZW50X25hbWUsIHJlcG8sIE5VTEwsIE5VTEwsIE5VTEwsCisJCQkgJmJ1Zl9wYXlsb2FkKTsKKwlzdHJidWZfcmVsZWFzZSgmYnVmX3BheWxvYWQpOworfQorCitzdGF0aWMgdm9pZCBmbl9yZWdpb25fZW50ZXJfcHJpbnRmX3ZhX2ZsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLAorCQkJCQkgdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCQkJIGNvbnN0IGNoYXIgKmNhdGVnb3J5LAorCQkJCQkgY29uc3QgY2hhciAqbGFiZWwsCisJCQkJCSBjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCQkJIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcCkKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gInJlZ2lvbl9lbnRlciI7CisJc3RydWN0IHN0cmJ1ZiBidWZfcGF5bG9hZCA9IFNUUkJVRl9JTklUOworCisJaWYgKGxhYmVsKQorCQlzdHJidWZfYWRkZigmYnVmX3BheWxvYWQsICJsYWJlbDolcyIsIGxhYmVsKTsKKwlpZiAoZm10ICYmICpmbXQpIHsKKwkJc3RyYnVmX2FkZGNoKCZidWZfcGF5bG9hZCwgJyAnKTsKKwkJbWF5YmVfYXBwZW5kX3N0cmluZ192YSgmYnVmX3BheWxvYWQsIGZtdCwgYXApOworCX0KKworCXBlcmZfaW9fd3JpdGVfZmwoZmlsZSwgbGluZSwgZXZlbnRfbmFtZSwgcmVwbywgJnVzX2VsYXBzZWRfYWJzb2x1dGUsCisJCQkgTlVMTCwgY2F0ZWdvcnksICZidWZfcGF5bG9hZCk7CisJc3RyYnVmX3JlbGVhc2UoJmJ1Zl9wYXlsb2FkKTsKK30KKworc3RhdGljIHZvaWQgZm5fcmVnaW9uX2xlYXZlX3ByaW50Zl92YV9mbCgKKwljb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgdWludDY0X3QgdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwl1aW50NjRfdCB1c19lbGFwc2VkX3JlZ2lvbiwgY29uc3QgY2hhciAqY2F0ZWdvcnksIGNvbnN0IGNoYXIgKmxhYmVsLAorCWNvbnN0IHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApCit7CisJY29uc3QgY2hhciAqZXZlbnRfbmFtZSA9ICJyZWdpb25fbGVhdmUiOworCXN0cnVjdCBzdHJidWYgYnVmX3BheWxvYWQgPSBTVFJCVUZfSU5JVDsKKworCWlmIChsYWJlbCkKKwkJc3RyYnVmX2FkZGYoJmJ1Zl9wYXlsb2FkLCAibGFiZWw6JXMiLCBsYWJlbCk7CisJaWYgKGZtdCAmJiAqZm10KSB7CisJCXN0cmJ1Zl9hZGRjaCgmYnVmX3BheWxvYWQsICcgJyApOworCQltYXliZV9hcHBlbmRfc3RyaW5nX3ZhKCZidWZfcGF5bG9hZCwgZm10LCBhcCk7CisJfQorCisJcGVyZl9pb193cml0ZV9mbChmaWxlLCBsaW5lLCBldmVudF9uYW1lLCByZXBvLCAmdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCSAmdXNfZWxhcHNlZF9yZWdpb24sIGNhdGVnb3J5LCAmYnVmX3BheWxvYWQpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfcGF5bG9hZCk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX2RhdGFfZmwoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIHVpbnQ2NF90IHVzX2VsYXBzZWRfYWJzb2x1dGUsCisJCSAgICAgICB1aW50NjRfdCB1c19lbGFwc2VkX3JlZ2lvbiwgY29uc3QgY2hhciAqY2F0ZWdvcnksCisJCSAgICAgICBjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqa2V5LAorCQkgICAgICAgY29uc3QgY2hhciAqdmFsdWUpCit7CisJY29uc3QgY2hhciAqZXZlbnRfbmFtZSA9ICJkYXRhIjsKKwlzdHJ1Y3Qgc3RyYnVmIGJ1Zl9wYXlsb2FkID0gU1RSQlVGX0lOSVQ7CisKKwlzdHJidWZfYWRkZigmYnVmX3BheWxvYWQsICIlczolcyIsIGtleSwgdmFsdWUpOworCisJcGVyZl9pb193cml0ZV9mbChmaWxlLCBsaW5lLCBldmVudF9uYW1lLCByZXBvLCAmdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCSAmdXNfZWxhcHNlZF9yZWdpb24sIGNhdGVnb3J5LCAmYnVmX3BheWxvYWQpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfcGF5bG9hZCk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX2RhdGFfanNvbl9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCSAgICB1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlLAorCQkJICAgIHVpbnQ2NF90IHVzX2VsYXBzZWRfcmVnaW9uLCBjb25zdCBjaGFyICpjYXRlZ29yeSwKKwkJCSAgICBjb25zdCBzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywgY29uc3QgY2hhciAqa2V5LAorCQkJICAgIGNvbnN0IHN0cnVjdCBqc29uX3dyaXRlciAqdmFsdWUpCit7CisJY29uc3QgY2hhciAqZXZlbnRfbmFtZSA9ICJkYXRhX2pzb24iOworCXN0cnVjdCBzdHJidWYgYnVmX3BheWxvYWQgPSBTVFJCVUZfSU5JVDsKKworCXN0cmJ1Zl9hZGRmKCZidWZfcGF5bG9hZCwgIiVzOiVzIiwga2V5LCB2YWx1ZS0+anNvbi5idWYpOworCisJcGVyZl9pb193cml0ZV9mbChmaWxlLCBsaW5lLCBldmVudF9uYW1lLCByZXBvLCAmdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCSAmdXNfZWxhcHNlZF9yZWdpb24sIGNhdGVnb3J5LCAmYnVmX3BheWxvYWQpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfcGF5bG9hZCk7Cit9CisKK3N0YXRpYyB2b2lkIGZuX3ByaW50Zl92YV9mbChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwKKwkJCSAgICB1aW50NjRfdCB1c19lbGFwc2VkX2Fic29sdXRlLCBjb25zdCBjaGFyICpmbXQsCisJCQkgICAgdmFfbGlzdCBhcCkKK3sKKwljb25zdCBjaGFyICpldmVudF9uYW1lID0gInByaW50ZiI7CisJc3RydWN0IHN0cmJ1ZiBidWZfcGF5bG9hZCA9IFNUUkJVRl9JTklUOworCisJbWF5YmVfYXBwZW5kX3N0cmluZ192YSgmYnVmX3BheWxvYWQsIGZtdCwgYXApOworCisJcGVyZl9pb193cml0ZV9mbChmaWxlLCBsaW5lLCBldmVudF9uYW1lLCBOVUxMLCAmdXNfZWxhcHNlZF9hYnNvbHV0ZSwKKwkJCSBOVUxMLCBOVUxMLCAmYnVmX3BheWxvYWQpOworCXN0cmJ1Zl9yZWxlYXNlKCZidWZfcGF5bG9hZCk7Cit9CisKK3N0cnVjdCB0cjJfdGd0IHRyMl90Z3RfcGVyZiA9IHsKKwkmdHIyZHN0X3BlcmYsCisKKwlmbl9pbml0LAorCWZuX3Rlcm0sCisKKwlmbl92ZXJzaW9uX2ZsLAorCWZuX3N0YXJ0X2ZsLAorCWZuX2V4aXRfZmwsCisJZm5fc2lnbmFsLAorCWZuX2F0ZXhpdCwKKwlmbl9lcnJvcl92YV9mbCwKKwlmbl9jb21tYW5kX3BhdGhfZmwsCisJZm5fY29tbWFuZF9uYW1lX2ZsLAorCWZuX2NvbW1hbmRfbW9kZV9mbCwKKwlmbl9hbGlhc19mbCwKKwlmbl9jaGlsZF9zdGFydF9mbCwKKwlmbl9jaGlsZF9leGl0X2ZsLAorCWZuX3RocmVhZF9zdGFydF9mbCwKKwlmbl90aHJlYWRfZXhpdF9mbCwKKwlmbl9leGVjX2ZsLAorCWZuX2V4ZWNfcmVzdWx0X2ZsLAorCWZuX3BhcmFtX2ZsLAorCWZuX3JlcG9fZmwsCisJZm5fcmVnaW9uX2VudGVyX3ByaW50Zl92YV9mbCwKKwlmbl9yZWdpb25fbGVhdmVfcHJpbnRmX3ZhX2ZsLAorCWZuX2RhdGFfZmwsCisJZm5fZGF0YV9qc29uX2ZsLAorCWZuX3ByaW50Zl92YV9mbCwKK307CmRpZmYgLS1naXQgYS90cmFjZTIvdHIyX3Rscy5jIGIvdHJhY2UyL3RyMl90bHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjdjMjM3Ci0tLSAvZGV2L251bGwKKysrIGIvdHJhY2UyL3RyMl90bHMuYwpAQCAtMCwwICsxLDE4MCBAQAorI2luY2x1ZGUgImNhY2hlLmgiCisjaW5jbHVkZSAidGhyZWFkLXV0aWxzLmgiCisjaW5jbHVkZSAidHJhY2UyL3RyMl90bHMuaCIKKworLyoKKyAqIEluaXRpYWxpemUgc2l6ZSBvZiB0aGUgdGhyZWFkIHN0YWNrIGZvciBuZXN0ZWQgcmVnaW9ucy4KKyAqIFRoaXMgaXMgdXNlZCB0byBzdG9yZSBuZXN0ZWQgcmVnaW9uIHN0YXJ0IHRpbWVzLiAgTm90ZSB0aGF0CisgKiB0aGlzIHN0YWNrIGlzIHBlci10aHJlYWQgYW5kIG5vdCBwZXItdHJhY2Uta2V5LgorICovCisjZGVmaW5lIFRSMl9SRUdJT05fTkVTVElOR19JTklUSUFMX1NJWkUgKDEwMCkKKworc3RhdGljIHN0cnVjdCB0cjJ0bHNfdGhyZWFkX2N0eCAqdHIydGxzX3RocmVhZF9tYWluOworc3RhdGljIHVpbnQ2NF90IHRyMnRsc191c19zdGFydF9wcm9jZXNzOworCitzdGF0aWMgcHRocmVhZF9tdXRleF90IHRyMnRsc19tdXRleDsKK3N0YXRpYyBwdGhyZWFkX2tleV90IHRyMnRsc19rZXk7CisKK3N0YXRpYyBpbnQgdHIyX25leHRfdGhyZWFkX2lkOyAvKiBtb2RpZnkgdW5kZXIgbG9jayAqLworCit2b2lkIHRyMnRsc19zdGFydF9wcm9jZXNzX2Nsb2NrKHZvaWQpCit7CisJaWYgKHRyMnRsc191c19zdGFydF9wcm9jZXNzKQorCQlyZXR1cm47CisKKwkvKgorCSAqIEtlZXAgdGhlIGFic29sdXRlIHN0YXJ0IHRpbWUgb2YgdGhlIHByb2Nlc3MgKGkuZS4gdGhlIG1haW4KKwkgKiBwcm9jZXNzKSBpbiBhIGZpeGVkIHZhcmlhYmxlIHNpbmNlIG90aGVyIHRocmVhZHMgbmVlZCB0bworCSAqIGFjY2VzcyBpdC4gIFRoaXMgYWxsb3dzIHRoZW0gdG8gZG8gdGhhdCB3aXRob3V0IGEgbG9jayBvbgorCSAqIG1haW4gdGhyZWFkJ3MgYXJyYXkgZGF0YSAoYmVjYXVzZSBvZiByZWFsbG9jcykuCisJICovCisJdHIydGxzX3VzX3N0YXJ0X3Byb2Nlc3MgPSBnZXRuYW5vdGltZSgpIC8gMTAwMDsKK30KKworc3RydWN0IHRyMnRsc190aHJlYWRfY3R4ICp0cjJ0bHNfY3JlYXRlX3NlbGYoY29uc3QgY2hhciAqdGhyZWFkX25hbWUsCisJCQkJCSAgICAgdWludDY0X3QgdXNfdGhyZWFkX3N0YXJ0KQoreworCXN0cnVjdCB0cjJ0bHNfdGhyZWFkX2N0eCAqY3R4ID0geGNhbGxvYygxLCBzaXplb2YoKmN0eCkpOworCisJLyoKKwkgKiBJbXBsaWNpdGx5ICJ0cjJ0bHNfcHVzaF9zZWxmKCkiIHRvIGNhcHR1cmUgdGhlIHRocmVhZCdzIHN0YXJ0CisJICogdGltZSBpbiBhcnJheV91c19zdGFydFswXS4gIEZvciB0aGUgbWFpbiB0aHJlYWQgdGhpcyBnaXZlcyB1cyB0aGUKKwkgKiBhcHBsaWNhdGlvbiBydW4gdGltZS4KKwkgKi8KKwljdHgtPmFsbG9jID0gVFIyX1JFR0lPTl9ORVNUSU5HX0lOSVRJQUxfU0laRTsKKwljdHgtPmFycmF5X3VzX3N0YXJ0ID0gKHVpbnQ2NF90ICopeGNhbGxvYyhjdHgtPmFsbG9jLCBzaXplb2YodWludDY0X3QpKTsKKwljdHgtPmFycmF5X3VzX3N0YXJ0W2N0eC0+bnJfb3Blbl9yZWdpb25zKytdID0gdXNfdGhyZWFkX3N0YXJ0OworCisJY3R4LT50aHJlYWRfaWQgPSB0cjJ0bHNfbG9ja2VkX2luY3JlbWVudCgmdHIyX25leHRfdGhyZWFkX2lkKTsKKworCXN0cmJ1Zl9pbml0KCZjdHgtPnRocmVhZF9uYW1lLCAwKTsKKwlpZiAoY3R4LT50aHJlYWRfaWQpCisJCXN0cmJ1Zl9hZGRmKCZjdHgtPnRocmVhZF9uYW1lLCAidGglMDJkOiIsIGN0eC0+dGhyZWFkX2lkKTsKKwlzdHJidWZfYWRkc3RyKCZjdHgtPnRocmVhZF9uYW1lLCB0aHJlYWRfbmFtZSk7CisJaWYgKGN0eC0+dGhyZWFkX25hbWUubGVuID4gVFIyX01BWF9USFJFQURfTkFNRSkKKwkJc3RyYnVmX3NldGxlbigmY3R4LT50aHJlYWRfbmFtZSwgVFIyX01BWF9USFJFQURfTkFNRSk7CisKKwlwdGhyZWFkX3NldHNwZWNpZmljKHRyMnRsc19rZXksIGN0eCk7CisKKwlyZXR1cm4gY3R4OworfQorCitzdHJ1Y3QgdHIydGxzX3RocmVhZF9jdHggKnRyMnRsc19nZXRfc2VsZih2b2lkKQoreworCXN0cnVjdCB0cjJ0bHNfdGhyZWFkX2N0eCAqY3R4OworCisJaWYgKCFIQVZFX1RIUkVBRFMpCisJCXJldHVybiB0cjJ0bHNfdGhyZWFkX21haW47CisKKwljdHggPSBwdGhyZWFkX2dldHNwZWNpZmljKHRyMnRsc19rZXkpOworCisJLyoKKwkgKiBJZiB0aGUgdGhyZWFkLXByb2MgZGlkIG5vdCBjYWxsIHRyYWNlMl90aHJlYWRfc3RhcnQoKSwgd2Ugd29uJ3QKKwkgKiBoYXZlIGFueSBUTFMgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQgdGhyZWFkLiAgRml4IGl0CisJICogaGVyZSBhbmQgc2lsZW50bHkgY29udGludWUuCisJICovCisJaWYgKCFjdHgpCisJCWN0eCA9IHRyMnRsc19jcmVhdGVfc2VsZigidW5rbm93biIsIGdldG5hbm90aW1lKCkgLyAxMDAwKTsKKworCXJldHVybiBjdHg7Cit9CisKK2ludCB0cjJ0bHNfaXNfbWFpbl90aHJlYWQodm9pZCkKK3sKKwlpZiAoIUhBVkVfVEhSRUFEUykKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gcHRocmVhZF9nZXRzcGVjaWZpYyh0cjJ0bHNfa2V5KSA9PSB0cjJ0bHNfdGhyZWFkX21haW47Cit9CisKK3ZvaWQgdHIydGxzX3Vuc2V0X3NlbGYodm9pZCkKK3sKKwlzdHJ1Y3QgdHIydGxzX3RocmVhZF9jdHggKmN0eDsKKworCWN0eCA9IHRyMnRsc19nZXRfc2VsZigpOworCisJcHRocmVhZF9zZXRzcGVjaWZpYyh0cjJ0bHNfa2V5LCBOVUxMKTsKKworCWZyZWUoY3R4LT5hcnJheV91c19zdGFydCk7CisJZnJlZShjdHgpOworfQorCit2b2lkIHRyMnRsc19wdXNoX3NlbGYodWludDY0X3QgdXNfbm93KQoreworCXN0cnVjdCB0cjJ0bHNfdGhyZWFkX2N0eCAqY3R4ID0gdHIydGxzX2dldF9zZWxmKCk7CisKKwlBTExPQ19HUk9XKGN0eC0+YXJyYXlfdXNfc3RhcnQsIGN0eC0+bnJfb3Blbl9yZWdpb25zICsgMSwgY3R4LT5hbGxvYyk7CisJY3R4LT5hcnJheV91c19zdGFydFtjdHgtPm5yX29wZW5fcmVnaW9ucysrXSA9IHVzX25vdzsKK30KKwordm9pZCB0cjJ0bHNfcG9wX3NlbGYodm9pZCkKK3sKKwlzdHJ1Y3QgdHIydGxzX3RocmVhZF9jdHggKmN0eCA9IHRyMnRsc19nZXRfc2VsZigpOworCisJaWYgKCFjdHgtPm5yX29wZW5fcmVnaW9ucykKKwkJQlVHKCJubyBvcGVuIHJlZ2lvbnMgaW4gdGhyZWFkICclcyciLCBjdHgtPnRocmVhZF9uYW1lLmJ1Zik7CisKKwljdHgtPm5yX29wZW5fcmVnaW9ucy0tOworfQorCit2b2lkIHRyMnRsc19wb3BfdW53aW5kX3NlbGYodm9pZCkKK3sKKwlzdHJ1Y3QgdHIydGxzX3RocmVhZF9jdHggKmN0eCA9IHRyMnRsc19nZXRfc2VsZigpOworCisJd2hpbGUgKGN0eC0+bnJfb3Blbl9yZWdpb25zID4gMSkKKwkJdHIydGxzX3BvcF9zZWxmKCk7Cit9CisKK3VpbnQ2NF90IHRyMnRsc19yZWdpb25fZWxhc3BlZF9zZWxmKHVpbnQ2NF90IHVzKQoreworCXN0cnVjdCB0cjJ0bHNfdGhyZWFkX2N0eCAqY3R4OworCXVpbnQ2NF90IHVzX3N0YXJ0OworCisJY3R4ID0gdHIydGxzX2dldF9zZWxmKCk7CisJaWYgKCFjdHgtPm5yX29wZW5fcmVnaW9ucykKKwkJcmV0dXJuIDA7CisKKwl1c19zdGFydCA9IGN0eC0+YXJyYXlfdXNfc3RhcnRbY3R4LT5ucl9vcGVuX3JlZ2lvbnMgLSAxXTsKKworCXJldHVybiB1cyAtIHVzX3N0YXJ0OworfQorCit1aW50NjRfdCB0cjJ0bHNfYWJzb2x1dGVfZWxhcHNlZCh1aW50NjRfdCB1cykKK3sKKwlpZiAoIXRyMnRsc190aHJlYWRfbWFpbikKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gdXMgLSB0cjJ0bHNfdXNfc3RhcnRfcHJvY2VzczsKK30KKwordm9pZCB0cjJ0bHNfaW5pdCh2b2lkKQoreworCXRyMnRsc19zdGFydF9wcm9jZXNzX2Nsb2NrKCk7CisKKwlwdGhyZWFkX2tleV9jcmVhdGUoJnRyMnRsc19rZXksIE5VTEwpOworCWluaXRfcmVjdXJzaXZlX211dGV4KCZ0cjJ0bHNfbXV0ZXgpOworCisJdHIydGxzX3RocmVhZF9tYWluID0KKwkJdHIydGxzX2NyZWF0ZV9zZWxmKCJtYWluIiwgdHIydGxzX3VzX3N0YXJ0X3Byb2Nlc3MpOworfQorCit2b2lkIHRyMnRsc19yZWxlYXNlKHZvaWQpCit7CisJdHIydGxzX3Vuc2V0X3NlbGYoKTsKKwl0cjJ0bHNfdGhyZWFkX21haW4gPSBOVUxMOworCisJcHRocmVhZF9tdXRleF9kZXN0cm95KCZ0cjJ0bHNfbXV0ZXgpOworCXB0aHJlYWRfa2V5X2RlbGV0ZSh0cjJ0bHNfa2V5KTsKK30KKworaW50IHRyMnRsc19sb2NrZWRfaW5jcmVtZW50KGludCAqcCkKK3sKKwlpbnQgY3VycmVudF92YWx1ZTsKKworCXB0aHJlYWRfbXV0ZXhfbG9jaygmdHIydGxzX211dGV4KTsKKwljdXJyZW50X3ZhbHVlID0gKnA7CisJKnAgPSBjdXJyZW50X3ZhbHVlICsgMTsKKwlwdGhyZWFkX211dGV4X3VubG9jaygmdHIydGxzX211dGV4KTsKKworCXJldHVybiBjdXJyZW50X3ZhbHVlOworfQpkaWZmIC0tZ2l0IGEvdHJhY2UyL3RyMl90bHMuaCBiL3RyYWNlMi90cjJfdGxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjFlMzI3YQotLS0gL2Rldi9udWxsCisrKyBiL3RyYWNlMi90cjJfdGxzLmgKQEAgLTAsMCArMSwxMDMgQEAKKyNpZm5kZWYgVFIyX1RMU19ICisjZGVmaW5lIFRSMl9UTFNfSAorCisjaW5jbHVkZSAic3RyYnVmLmgiCisKKy8qCisgKiBBcmJpdHJ5IGxpbWl0IGZvciB0aHJlYWQgbmFtZXMgZm9yIGNvbHVtbiBhbGlnbm1lbnQuCisgKi8KKyNkZWZpbmUgVFIyX01BWF9USFJFQURfTkFNRSAoMjQpCisKK3N0cnVjdCB0cjJ0bHNfdGhyZWFkX2N0eCB7CisJc3RydWN0IHN0cmJ1ZiB0aHJlYWRfbmFtZTsKKwl1aW50NjRfdCAqYXJyYXlfdXNfc3RhcnQ7CisJaW50IGFsbG9jOworCWludCBucl9vcGVuX3JlZ2lvbnM7IC8qIHBsYXlzIHJvbGUgb2YgIm5yIiBpbiBBTExPQ19HUk9XICovCisJaW50IHRocmVhZF9pZDsKK307CisKKy8qCisgKiBDcmVhdGUgVExTIGRhdGEgZm9yIHRoZSBjdXJyZW50IHRocmVhZC4gIFRoaXMgZ2l2ZXMgdXMgYSBwbGFjZSB0bworICogcHV0IHBlci10aHJlYWQgZGF0YSwgc3VjaCBhcyB0aHJlYWQgc3RhcnQgdGltZSwgZnVuY3Rpb24gbmVzdGluZworICogYW5kIGEgcGVyLXRocmVhZCBsYWJlbCBmb3Igb3VyIG1lc3NhZ2VzLgorICoKKyAqIFdlIGFzc3VtZSB0aGUgZmlyc3QgdGhyZWFkIGlzICJtYWluIi4gIE90aGVyIHRocmVhZHMgYXJlIGdpdmVuCisgKiBub24temVybyB0aHJlYWQtaWRzIHRvIGhlbHAgZGlzdGluZ3Vpc2ggbWVzc2FnZXMgZnJvbSBjb25jdXJyZW50CisgKiB0aHJlYWRzLgorICoKKyAqIFRydW5jYXRlIHRoZSB0aHJlYWQgbmFtZSBpZiBuZWNlc3NhcnkgdG8gaGVscCB3aXRoIGNvbHVtbiBhbGlnbm1lbnQKKyAqIGluIHByaW50Zi1zdHlsZSBtZXNzYWdlcy4KKyAqCisgKiBJbiB0aGlzIGFuZCBhbGwgZm9sbG93aW5nIGZ1bmN0aW9ucyB0aGUgdGVybSAic2VsZiIgcmVmZXJzIHRvIHRoZQorICogY3VycmVudCB0aHJlYWQuCisgKi8KK3N0cnVjdCB0cjJ0bHNfdGhyZWFkX2N0eCAqdHIydGxzX2NyZWF0ZV9zZWxmKGNvbnN0IGNoYXIgKnRocmVhZF9uYW1lLAorCQkJCQkgICAgIHVpbnQ2NF90IHVzX3RocmVhZF9zdGFydCk7CisKKy8qCisgKiBHZXQgb3VyIFRMUyBkYXRhLgorICovCitzdHJ1Y3QgdHIydGxzX3RocmVhZF9jdHggKnRyMnRsc19nZXRfc2VsZih2b2lkKTsKKworLyoKKyAqIHJldHVybiB0cnVlIGlmIHRoZSBjdXJyZW50IHRocmVhZCBpcyB0aGUgbWFpbiB0aHJlYWQuCisgKi8KK2ludCB0cjJ0bHNfaXNfbWFpbl90aHJlYWQodm9pZCk7CisKKy8qCisgKiBGcmVlIG91ciBUTFMgZGF0YS4KKyAqLwordm9pZCB0cjJ0bHNfdW5zZXRfc2VsZih2b2lkKTsKKworLyoKKyAqIEJlZ2luIGEgbmV3IG5lc3RlZCByZWdpb24gYW5kIHJlbWVtYmVyIHRoZSBzdGFydCB0aW1lLgorICovCit2b2lkIHRyMnRsc19wdXNoX3NlbGYodWludDY0X3QgdXNfbm93KTsKKworLyoKKyAqIEVuZCB0aGUgaW5uZXJtb3N0IG5lc3RlZCByZWdpb24uCisgKi8KK3ZvaWQgdHIydGxzX3BvcF9zZWxmKHZvaWQpOworCisvKgorICogUG9wIGFueSBleHRyYSAoYWJvdmUgdGhlIGZpcnN0KSBvcGVuIHJlZ2lvbnMgb24gdGhlIGN1cnJlbnQKKyAqIHRocmVhZCBhbmQgZGlzY2FyZC4gIER1cmluZyBhIHRocmVhZC1leGl0LCB3ZSBzaG91bGQgb25seQorICogaGF2ZSByZWdpb25bMF0gdGhhdCB3YXMgcHVzaGVkIGluIHRyYWNlMl90aHJlYWRfc3RhcnQoKSBpZgorICogdGhlIHRocmVhZCBleGl0cyBub3JtYWxseS4KKyAqLwordm9pZCB0cjJ0bHNfcG9wX3Vud2luZF9zZWxmKHZvaWQpOworCisvKgorICogQ29tcHV0ZSB0aGUgZWxhcHNlZCB0aW1lIHNpbmNlIHRoZSBpbm5lcm1vc3QgcmVnaW9uIGluIHRoZQorICogY3VycmVudCB0aHJlYWQgc3RhcnRlZCBhbmQgdGhlIGdpdmVuIHRpbWUgKHVzdWFsbHkgbm93KS4KKyAqLwordWludDY0X3QgdHIydGxzX3JlZ2lvbl9lbGFzcGVkX3NlbGYodWludDY0X3QgdXMpOworCisvKgorICogQ29tcHV0ZSB0aGUgZWxhcHNlZCB0aW1lIHNpbmNlIHRoZSBtYWluIHRocmVhZCBzdGFydGVkCisgKiBhbmQgdGhlIGdpdmVuIHRpbWUgKHVzdWFsbHkgbm93KS4gIFRoaXMgaXMgYXNzdW1lZCB0bworICogYmUgdGhlIGFic29sdXRlIHJ1biB0aW1lIG9mIHRoZSBwcm9jZXNzLgorICovCit1aW50NjRfdCB0cjJ0bHNfYWJzb2x1dGVfZWxhcHNlZCh1aW50NjRfdCB1cyk7CisKKy8qCisgKiBJbml0aWFsaXplIHRoZSB0cjIgVExTIHN5c3RlbS4KKyAqLwordm9pZCB0cjJ0bHNfaW5pdCh2b2lkKTsKKworLyoKKyAqIEZyZWUgYWxsIHRyMiBUTFMgcmVzb3VyY2VzLgorICovCit2b2lkIHRyMnRsc19yZWxlYXNlKHZvaWQpOworCisvKgorICogUHJvdGVjdGVkIGluY3JlbWVudCBvZiBhbiBpbnRlZ2VyLgorICovCitpbnQgdHIydGxzX2xvY2tlZF9pbmNyZW1lbnQoaW50ICpwKTsKKworLyoKKyAqIENhcHR1cmUgdGhlIHByb2Nlc3Mgc3RhcnQgdGltZSBhbmQgZG8gbm90aGluZyBlbHNlLgorICovCit2b2lkIHRyMnRsc19zdGFydF9wcm9jZXNzX2Nsb2NrKHZvaWQpOworCisjZW5kaWYgLyogVFIyX1RMU19IICovCmRpZmYgLS1naXQgYS90cmFpbGVyLmMgYi90cmFpbGVyLmMKaW5kZXggMDc5NmYzMi4uMGM0MTRmMiAxMDA2NDQKLS0tIGEvdHJhaWxlci5jCisrKyBiL3RyYWlsZXIuYwpAQCAtMTEyOSwxMCArMTEyOSwxMSBAQAogCQkJCWNvbnN0IHN0cnVjdCB0cmFpbGVyX2luZm8gKmluZm8sCiAJCQkJY29uc3Qgc3RydWN0IHByb2Nlc3NfdHJhaWxlcl9vcHRpb25zICpvcHRzKQogeworCXNpemVfdCBvcmlnbGVuID0gb3V0LT5sZW47CiAJc2l6ZV90IGk7CiAKIAkvKiBJZiB3ZSB3YW50IHRoZSB3aG9sZSBibG9jayB1bnRvdWNoZWQsIHdlIGNhbiB0YWtlIHRoZSBmYXN0IHBhdGguICovCi0JaWYgKCFvcHRzLT5vbmx5X3RyYWlsZXJzICYmICFvcHRzLT51bmZvbGQpIHsKKwlpZiAoIW9wdHMtPm9ubHlfdHJhaWxlcnMgJiYgIW9wdHMtPnVuZm9sZCAmJiAhb3B0cy0+ZmlsdGVyICYmICFvcHRzLT5zZXBhcmF0b3IpIHsKIAkJc3RyYnVmX2FkZChvdXQsIGluZm8tPnRyYWlsZXJfc3RhcnQsCiAJCQkgICBpbmZvLT50cmFpbGVyX2VuZCAtIGluZm8tPnRyYWlsZXJfc3RhcnQpOwogCQlyZXR1cm47CkBAIC0xMTQ3LDE1ICsxMTQ4LDI5IEBACiAJCQlzdHJ1Y3Qgc3RyYnVmIHZhbCA9IFNUUkJVRl9JTklUOwogCiAJCQlwYXJzZV90cmFpbGVyKCZ0b2ssICZ2YWwsIE5VTEwsIHRyYWlsZXIsIHNlcGFyYXRvcl9wb3MpOwotCQkJaWYgKG9wdHMtPnVuZm9sZCkKLQkJCQl1bmZvbGRfdmFsdWUoJnZhbCk7CisJCQlpZiAoIW9wdHMtPmZpbHRlciB8fCBvcHRzLT5maWx0ZXIoJnRvaywgb3B0cy0+ZmlsdGVyX2RhdGEpKSB7CisJCQkJaWYgKG9wdHMtPnVuZm9sZCkKKwkJCQkJdW5mb2xkX3ZhbHVlKCZ2YWwpOwogCi0JCQlzdHJidWZfYWRkZihvdXQsICIlczogJXNcbiIsIHRvay5idWYsIHZhbC5idWYpOworCQkJCWlmIChvcHRzLT5zZXBhcmF0b3IgJiYgb3V0LT5sZW4gIT0gb3JpZ2xlbikKKwkJCQkJc3RyYnVmX2FkZGJ1ZihvdXQsIG9wdHMtPnNlcGFyYXRvcik7CisJCQkJaWYgKCFvcHRzLT52YWx1ZV9vbmx5KQorCQkJCQlzdHJidWZfYWRkZihvdXQsICIlczogIiwgdG9rLmJ1Zik7CisJCQkJc3RyYnVmX2FkZGJ1ZihvdXQsICZ2YWwpOworCQkJCWlmICghb3B0cy0+c2VwYXJhdG9yKQorCQkJCQlzdHJidWZfYWRkY2gob3V0LCAnXG4nKTsKKwkJCX0KIAkJCXN0cmJ1Zl9yZWxlYXNlKCZ0b2spOwogCQkJc3RyYnVmX3JlbGVhc2UoJnZhbCk7CiAKIAkJfSBlbHNlIGlmICghb3B0cy0+b25seV90cmFpbGVycykgeworCQkJaWYgKG9wdHMtPnNlcGFyYXRvciAmJiBvdXQtPmxlbiAhPSBvcmlnbGVuKSB7CisJCQkJc3RyYnVmX2FkZGJ1ZihvdXQsIG9wdHMtPnNlcGFyYXRvcik7CisJCQl9CiAJCQlzdHJidWZfYWRkc3RyKG91dCwgdHJhaWxlcik7CisJCQlpZiAob3B0cy0+c2VwYXJhdG9yKSB7CisJCQkJc3RyYnVmX3J0cmltKG91dCk7CisJCQl9CiAJCX0KIAl9CiAKZGlmZiAtLWdpdCBhL3RyYWlsZXIuaCBiL3RyYWlsZXIuaAppbmRleCBiOTk3NzM5Li4yMDNhY2Y0IDEwMDY0NAotLS0gYS90cmFpbGVyLmgKKysrIGIvdHJhaWxlci5oCkBAIC03Miw2ICs3MiwxMCBAQAogCWludCBvbmx5X2lucHV0OwogCWludCB1bmZvbGQ7CiAJaW50IG5vX2RpdmlkZXI7CisJaW50IHZhbHVlX29ubHk7CisJY29uc3Qgc3RydWN0IHN0cmJ1ZiAqc2VwYXJhdG9yOworCWludCAoKmZpbHRlcikoY29uc3Qgc3RydWN0IHN0cmJ1ZiAqLCB2b2lkICopOworCXZvaWQgKmZpbHRlcl9kYXRhOwogfTsKIAogI2RlZmluZSBQUk9DRVNTX1RSQUlMRVJfT1BUSU9OU19JTklUIHswfQpkaWZmIC0tZ2l0IGEvdHJhbnNwb3J0LWhlbHBlci5jIGIvdHJhbnNwb3J0LWhlbHBlci5jCmluZGV4IGY3OTIyMWMuLjIwYTcxODUgMTAwNjQ0Ci0tLSBhL3RyYW5zcG9ydC1oZWxwZXIuYworKysgYi90cmFuc3BvcnQtaGVscGVyLmMKQEAgLTMzLDYgKzMzLDE2IEBACiAJCWNoZWNrX2Nvbm5lY3Rpdml0eSA6IDEsCiAJCW5vX2Rpc2Nvbm5lY3RfcmVxIDogMSwKIAkJbm9fcHJpdmF0ZV91cGRhdGUgOiAxOworCisJLyoKKwkgKiBBcyBhbiBvcHRpbWl6YXRpb24sIHRoZSB0cmFuc3BvcnQgY29kZSBtYXkgaW52b2tlIGZldGNoIGJlZm9yZQorCSAqIGdldF9yZWZzX2xpc3QuIElmIHRoaXMgaGFwcGVucywgYW5kIGlmIHRoZSB0cmFuc3BvcnQgaGVscGVyIGRvZXNuJ3QKKwkgKiBzdXBwb3J0IGNvbm5lY3Qgb3Igc3RhdGVsZXNzX2Nvbm5lY3QsIHdlIG5lZWQgdG8gaW52b2tlCisJICogZ2V0X3JlZnNfbGlzdCBvdXJzZWx2ZXMgaWYgd2UgaGF2ZW4ndCBhbHJlYWR5IGRvbmUgc28uIEtlZXAgdHJhY2sgb2YKKwkgKiB3aGV0aGVyIHdlIGhhdmUgaW52b2tlZCBnZXRfcmVmc19saXN0LgorCSAqLworCXVuc2lnbmVkIGdldF9yZWZzX2xpc3RfY2FsbGVkIDogMTsKKwogCWNoYXIgKmV4cG9ydF9tYXJrczsKIAljaGFyICppbXBvcnRfbWFya3M7CiAJLyogVGhlc2UgZ28gZnJvbSByZW1vdGUgbmFtZSAoYXMgaW4gImxpc3QiKSB0byBwcml2YXRlIG5hbWUgKi8KQEAgLTEyNyw2ICsxMzcsOCBAQAogCQlhcmd2X2FycmF5X3B1c2hmKCZoZWxwZXItPmVudl9hcnJheSwgIiVzPSVzIiwKIAkJCQkgR0lUX0RJUl9FTlZJUk9OTUVOVCwgZ2V0X2dpdF9kaXIoKSk7CiAKKwloZWxwZXItPnRyYWNlMl9jaGlsZF9jbGFzcyA9IGhlbHBlci0+YXJncy5hcmd2WzBdOyAvKiAicmVtb3RlLTxuYW1lPiIgKi8KKwogCWNvZGUgPSBzdGFydF9jb21tYW5kKGhlbHBlcik7CiAJaWYgKGNvZGUgPCAwICYmIGVycm5vID09IEVOT0VOVCkKIAkJZGllKF8oInVuYWJsZSB0byBmaW5kIHJlbW90ZSBoZWxwZXIgZm9yICclcyciKSwgZGF0YS0+bmFtZSk7CkBAIC0zOTIsMTEgKzQwNCwxMiBAQAogCXNlbmRsaW5lKGRhdGEsICZidWYpOwogCiAJd2hpbGUgKDEpIHsKKwkJY29uc3QgY2hhciAqbmFtZTsKKwogCQlpZiAocmVjdmxpbmUoZGF0YSwgJmJ1ZikpCiAJCQlleGl0KDEyOCk7CiAKLQkJaWYgKHN0YXJ0c193aXRoKGJ1Zi5idWYsICJsb2NrICIpKSB7Ci0JCQljb25zdCBjaGFyICpuYW1lID0gYnVmLmJ1ZiArIDU7CisJCWlmIChza2lwX3ByZWZpeChidWYuYnVmLCAibG9jayAiLCAmbmFtZSkpIHsKIAkJCWlmICh0cmFuc3BvcnQtPnBhY2tfbG9ja2ZpbGUpCiAJCQkJd2FybmluZyhfKCIlcyBhbHNvIGxvY2tlZCAlcyIpLCBkYXRhLT5uYW1lLCBuYW1lKTsKIAkJCWVsc2UKQEAgLTQyMSw3ICs0MzQsNyBAQAogCXN0cnVjdCBoZWxwZXJfZGF0YSAqZGF0YSA9IHRyYW5zcG9ydC0+ZGF0YTsKIAlpbnQgY2F0X2Jsb2JfZmQsIGNvZGU7CiAJY2hpbGRfcHJvY2Vzc19pbml0KGZhc3RpbXBvcnQpOwotCWZhc3RpbXBvcnQtPmluID0gaGVscGVyLT5vdXQ7CisJZmFzdGltcG9ydC0+aW4gPSB4ZHVwKGhlbHBlci0+b3V0KTsKIAlhcmd2X2FycmF5X3B1c2goJmZhc3RpbXBvcnQtPmFyZ3MsICJmYXN0LWltcG9ydCIpOwogCWFyZ3ZfYXJyYXlfcHVzaCgmZmFzdGltcG9ydC0+YXJncywgIi0tYWxsb3ctdW5zYWZlLWZlYXR1cmVzIik7CiAJYXJndl9hcnJheV9wdXNoKCZmYXN0aW1wb3J0LT5hcmdzLCBkZWJ1ZyA/ICItLXN0YXRzIiA6ICItLXF1aWV0Iik7CkBAIC02NTEsMTcgKzY2NCwyNSBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgc3RydWN0IHJlZiAqZ2V0X3JlZnNfbGlzdF91c2luZ19saXN0KHN0cnVjdCB0cmFuc3BvcnQgKnRyYW5zcG9ydCwKKwkJCQkJICAgIGludCBmb3JfcHVzaCk7CisKIHN0YXRpYyBpbnQgZmV0Y2goc3RydWN0IHRyYW5zcG9ydCAqdHJhbnNwb3J0LAogCQkgaW50IG5yX2hlYWRzLCBzdHJ1Y3QgcmVmICoqdG9fZmV0Y2gpCiB7CiAJc3RydWN0IGhlbHBlcl9kYXRhICpkYXRhID0gdHJhbnNwb3J0LT5kYXRhOwogCWludCBpLCBjb3VudDsKIAorCWdldF9oZWxwZXIodHJhbnNwb3J0KTsKKwogCWlmIChwcm9jZXNzX2Nvbm5lY3QodHJhbnNwb3J0LCAwKSkgewogCQlkb190YWtlX292ZXIodHJhbnNwb3J0KTsKIAkJcmV0dXJuIHRyYW5zcG9ydC0+dnRhYmxlLT5mZXRjaCh0cmFuc3BvcnQsIG5yX2hlYWRzLCB0b19mZXRjaCk7CiAJfQogCisJaWYgKCFkYXRhLT5nZXRfcmVmc19saXN0X2NhbGxlZCkKKwkJZ2V0X3JlZnNfbGlzdF91c2luZ19saXN0KHRyYW5zcG9ydCwgMCk7CisKIAljb3VudCA9IDA7CiAJZm9yIChpID0gMDsgaSA8IG5yX2hlYWRzOyBpKyspCiAJCWlmICghKHRvX2ZldGNoW2ldLT5zdGF0dXMgJiBSRUZfU1RBVFVTX1VQVE9EQVRFKSkKQEAgLTY4MCwxMCArNzAxLDExIEBACiAJaWYgKGRhdGEtPnRyYW5zcG9ydF9vcHRpb25zLnVwZGF0ZV9zaGFsbG93KQogCQlzZXRfaGVscGVyX29wdGlvbih0cmFuc3BvcnQsICJ1cGRhdGUtc2hhbGxvdyIsICJ0cnVlIik7CiAKLQlpZiAoZGF0YS0+dHJhbnNwb3J0X29wdGlvbnMuZmlsdGVyX29wdGlvbnMuY2hvaWNlKQotCQlzZXRfaGVscGVyX29wdGlvbigKLQkJCXRyYW5zcG9ydCwgImZpbHRlciIsCi0JCQlkYXRhLT50cmFuc3BvcnRfb3B0aW9ucy5maWx0ZXJfb3B0aW9ucy5maWx0ZXJfc3BlYyk7CisJaWYgKGRhdGEtPnRyYW5zcG9ydF9vcHRpb25zLmZpbHRlcl9vcHRpb25zLmNob2ljZSkgeworCQljb25zdCBjaGFyICpzcGVjID0gZXhwYW5kX2xpc3Rfb2JqZWN0c19maWx0ZXJfc3BlYygKKwkJCSZkYXRhLT50cmFuc3BvcnRfb3B0aW9ucy5maWx0ZXJfb3B0aW9ucyk7CisJCXNldF9oZWxwZXJfb3B0aW9uKHRyYW5zcG9ydCwgImZpbHRlciIsIHNwZWMpOworCX0KIAogCWlmIChkYXRhLT50cmFuc3BvcnRfb3B0aW9ucy5uZWdvdGlhdGlvbl90aXBzKQogCQl3YXJuaW5nKCJJZ25vcmluZyAtLW5lZ290aWF0aW9uLXRpcCBiZWNhdXNlIHRoZSBwcm90b2NvbCBkb2VzIG5vdCBzdXBwb3J0IGl0LiIpOwpAQCAtODM0LDYgKzg1NiwxMCBAQAogCQkJZGllKF8oImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0IC0tc2lnbmVkPWlmLWFza2VkIiksIG5hbWUpOwogCX0KIAorCWlmIChmbGFncyAmIFRSQU5TUE9SVF9QVVNIX0FUT01JQykKKwkJaWYgKHNldF9oZWxwZXJfb3B0aW9uKHRyYW5zcG9ydCwgVFJBTlNfT1BUX0FUT01JQywgInRydWUiKSAhPSAwKQorCQkJZGllKF8oImhlbHBlciAlcyBkb2VzIG5vdCBzdXBwb3J0IC0tYXRvbWljIiksIG5hbWUpOworCiAJaWYgKGZsYWdzICYgVFJBTlNQT1JUX1BVU0hfT1BUSU9OUykgewogCQlzdHJ1Y3Qgc3RyaW5nX2xpc3RfaXRlbSAqaXRlbTsKIAkJZm9yX2VhY2hfc3RyaW5nX2xpc3RfaXRlbShpdGVtLCB0cmFuc3BvcnQtPnB1c2hfb3B0aW9ucykKQEAgLTg0Nyw2ICs4NzMsNyBAQAogewogCWludCBmb3JjZV9hbGwgPSBmbGFncyAmIFRSQU5TUE9SVF9QVVNIX0ZPUkNFOwogCWludCBtaXJyb3IgPSBmbGFncyAmIFRSQU5TUE9SVF9QVVNIX01JUlJPUjsKKwlpbnQgYXRvbWljID0gZmxhZ3MgJiBUUkFOU1BPUlRfUFVTSF9BVE9NSUM7CiAJc3RydWN0IGhlbHBlcl9kYXRhICpkYXRhID0gdHJhbnNwb3J0LT5kYXRhOwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHJlZiAqcmVmOwpAQCAtODY2LDYgKzg5MywxMSBAQAogCQljYXNlIFJFRl9TVEFUVVNfUkVKRUNUX05PTkZBU1RGT1JXQVJEOgogCQljYXNlIFJFRl9TVEFUVVNfUkVKRUNUX1NUQUxFOgogCQljYXNlIFJFRl9TVEFUVVNfUkVKRUNUX0FMUkVBRFlfRVhJU1RTOgorCQkJaWYgKGF0b21pYykgeworCQkJCXN0cmluZ19saXN0X2NsZWFyKCZjYXNfb3B0aW9ucywgMCk7CisJCQkJcmV0dXJuIDA7CisJCQl9IGVsc2UKKwkJCQljb250aW51ZTsKIAkJY2FzZSBSRUZfU1RBVFVTX1VQVE9EQVRFOgogCQkJY29udGludWU7CiAJCWRlZmF1bHQ6CkBAIC0xMDI3LDcgKzEwNTksOCBAQAogfQogCiAKLXN0YXRpYyBpbnQgaGFzX2F0dHJpYnV0ZShjb25zdCBjaGFyICphdHRycywgY29uc3QgY2hhciAqYXR0cikgeworc3RhdGljIGludCBoYXNfYXR0cmlidXRlKGNvbnN0IGNoYXIgKmF0dHJzLCBjb25zdCBjaGFyICphdHRyKQorewogCWludCBsZW47CiAJaWYgKCFhdHRycykKIAkJcmV0dXJuIDA7CkBAIC0xMDQ2LDYgKzEwNzksMTkgQEAKIHN0YXRpYyBzdHJ1Y3QgcmVmICpnZXRfcmVmc19saXN0KHN0cnVjdCB0cmFuc3BvcnQgKnRyYW5zcG9ydCwgaW50IGZvcl9wdXNoLAogCQkJCSBjb25zdCBzdHJ1Y3QgYXJndl9hcnJheSAqcmVmX3ByZWZpeGVzKQogeworCWdldF9oZWxwZXIodHJhbnNwb3J0KTsKKworCWlmIChwcm9jZXNzX2Nvbm5lY3QodHJhbnNwb3J0LCBmb3JfcHVzaCkpIHsKKwkJZG9fdGFrZV9vdmVyKHRyYW5zcG9ydCk7CisJCXJldHVybiB0cmFuc3BvcnQtPnZ0YWJsZS0+Z2V0X3JlZnNfbGlzdCh0cmFuc3BvcnQsIGZvcl9wdXNoLCByZWZfcHJlZml4ZXMpOworCX0KKworCXJldHVybiBnZXRfcmVmc19saXN0X3VzaW5nX2xpc3QodHJhbnNwb3J0LCBmb3JfcHVzaCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcmVmICpnZXRfcmVmc19saXN0X3VzaW5nX2xpc3Qoc3RydWN0IHRyYW5zcG9ydCAqdHJhbnNwb3J0LAorCQkJCQkgICAgaW50IGZvcl9wdXNoKQorewogCXN0cnVjdCBoZWxwZXJfZGF0YSAqZGF0YSA9IHRyYW5zcG9ydC0+ZGF0YTsKIAlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqaGVscGVyOwogCXN0cnVjdCByZWYgKnJldCA9IE5VTEw7CkBAIC0xMDUzLDEzICsxMDk5LDkgQEAKIAlzdHJ1Y3QgcmVmICpwb3NuOwogCXN0cnVjdCBzdHJidWYgYnVmID0gU1RSQlVGX0lOSVQ7CiAKKwlkYXRhLT5nZXRfcmVmc19saXN0X2NhbGxlZCA9IDE7CiAJaGVscGVyID0gZ2V0X2hlbHBlcih0cmFuc3BvcnQpOwogCi0JaWYgKHByb2Nlc3NfY29ubmVjdCh0cmFuc3BvcnQsIGZvcl9wdXNoKSkgewotCQlkb190YWtlX292ZXIodHJhbnNwb3J0KTsKLQkJcmV0dXJuIHRyYW5zcG9ydC0+dnRhYmxlLT5nZXRfcmVmc19saXN0KHRyYW5zcG9ydCwgZm9yX3B1c2gsIHJlZl9wcmVmaXhlcyk7Ci0JfQotCiAJaWYgKGRhdGEtPnB1c2ggJiYgZm9yX3B1c2gpCiAJCXdyaXRlX3N0cl9pbl9mdWxsKGhlbHBlci0+aW4sICJsaXN0IGZvci1wdXNoXG4iKTsKIAllbHNlCkBAIC0xMTA2LDcgKzExNDgsNiBAQAogfQogCiBzdGF0aWMgc3RydWN0IHRyYW5zcG9ydF92dGFibGUgdnRhYmxlID0gewotCTAsCiAJc2V0X2hlbHBlcl9vcHRpb24sCiAJZ2V0X3JlZnNfbGlzdCwKIAlmZXRjaCwKQEAgLTEyMjYsOSArMTI2Nyw4IEBACiAJCXJldHVybiAwOwkvKiBObyBzcGFjZSBmb3IgbW9yZS4gKi8KIAogCXRyYW5zZmVyX2RlYnVnKCIlcyBpcyByZWFkYWJsZSIsIHQtPnNyY19uYW1lKTsKLQlieXRlcyA9IHJlYWQodC0+c3JjLCB0LT5idWYgKyB0LT5idWZ1c2UsIEJVRkZFUlNJWkUgLSB0LT5idWZ1c2UpOwotCWlmIChieXRlcyA8IDAgJiYgZXJybm8gIT0gRVdPVUxEQkxPQ0sgJiYgZXJybm8gIT0gRUFHQUlOICYmCi0JCWVycm5vICE9IEVJTlRSKSB7CisJYnl0ZXMgPSB4cmVhZCh0LT5zcmMsIHQtPmJ1ZiArIHQtPmJ1ZnVzZSwgQlVGRkVSU0laRSAtIHQtPmJ1ZnVzZSk7CisJaWYgKGJ5dGVzIDwgMCkgewogCQllcnJvcl9lcnJubyhfKCJyZWFkKCVzKSBmYWlsZWQiKSwgdC0+c3JjX25hbWUpOwogCQlyZXR1cm4gLTE7CiAJfSBlbHNlIGlmIChieXRlcyA9PSAwKSB7CkBAIC0xMjU1LDcgKzEyOTUsNyBAQAogCiAJdHJhbnNmZXJfZGVidWcoIiVzIGlzIHdyaXRhYmxlIiwgdC0+ZGVzdF9uYW1lKTsKIAlieXRlcyA9IHh3cml0ZSh0LT5kZXN0LCB0LT5idWYsIHQtPmJ1ZnVzZSk7Ci0JaWYgKGJ5dGVzIDwgMCAmJiBlcnJubyAhPSBFV09VTERCTE9DSykgeworCWlmIChieXRlcyA8IDApIHsKIAkJZXJyb3JfZXJybm8oXygid3JpdGUoJXMpIGZhaWxlZCIpLCB0LT5kZXN0X25hbWUpOwogCQlyZXR1cm4gLTE7CiAJfSBlbHNlIGlmIChieXRlcyA+IDApIHsKZGlmZiAtLWdpdCBhL3RyYW5zcG9ydC1pbnRlcm5hbC5oIGIvdHJhbnNwb3J0LWludGVybmFsLmgKaW5kZXggMDA0YmVlNS4uMWNkZTYyNSAxMDA2NDQKLS0tIGEvdHJhbnNwb3J0LWludGVybmFsLmgKKysrIGIvdHJhbnNwb3J0LWludGVybmFsLmgKQEAgLTcsMTIgKzcsNiBAQAogCiBzdHJ1Y3QgdHJhbnNwb3J0X3Z0YWJsZSB7CiAJLyoqCi0JICogVGhpcyB0cmFuc3BvcnQgc3VwcG9ydHMgdGhlIGZldGNoKCkgZnVuY3Rpb24gYmVpbmcgY2FsbGVkCi0JICogd2l0aG91dCBnZXRfcmVmc19saXN0KCkgZmlyc3QgYmVpbmcgY2FsbGVkLgotCSAqLwotCXVuc2lnbmVkIGZldGNoX3dpdGhvdXRfbGlzdCA6IDE7Ci0KLQkvKioKIAkgKiBSZXR1cm5zIDAgaWYgc3VjY2Vzc2Z1bCwgcG9zaXRpdmUgaWYgdGhlIG9wdGlvbiBpcyBub3QKIAkgKiByZWNvZ25pemVkIG9yIGlzIGluYXBwbGljYWJsZSwgYW5kIG5lZ2F0aXZlIGlmIHRoZSBvcHRpb24KIAkgKiBpcyBhcHBsaWNhYmxlIGJ1dCB0aGUgdmFsdWUgaXMgaW52YWxpZC4KZGlmZiAtLWdpdCBhL3RyYW5zcG9ydC5jIGIvdHJhbnNwb3J0LmMKaW5kZXggNWE3NGI2MC4uMWZkYzdkYSAxMDA2NDQKLS0tIGEvdHJhbnNwb3J0LmMKKysrIGIvdHJhbnNwb3J0LmMKQEAgLTEyMiw2ICsxMjIsNyBAQAogc3RydWN0IGJ1bmRsZV90cmFuc3BvcnRfZGF0YSB7CiAJaW50IGZkOwogCXN0cnVjdCBidW5kbGVfaGVhZGVyIGhlYWRlcjsKKwl1bnNpZ25lZCBnZXRfcmVmc19mcm9tX2J1bmRsZV9jYWxsZWQgOiAxOwogfTsKIAogc3RhdGljIHN0cnVjdCByZWYgKmdldF9yZWZzX2Zyb21fYnVuZGxlKHN0cnVjdCB0cmFuc3BvcnQgKnRyYW5zcG9ydCwKQEAgLTEzNSw2ICsxMzYsOCBAQAogCWlmIChmb3JfcHVzaCkKIAkJcmV0dXJuIE5VTEw7CiAKKwlkYXRhLT5nZXRfcmVmc19mcm9tX2J1bmRsZV9jYWxsZWQgPSAxOworCiAJaWYgKGRhdGEtPmZkID4gMCkKIAkJY2xvc2UoZGF0YS0+ZmQpOwogCWRhdGEtPmZkID0gcmVhZF9idW5kbGVfaGVhZGVyKHRyYW5zcG9ydC0+dXJsLCAmZGF0YS0+aGVhZGVyKTsKQEAgLTE1NCw3ICsxNTcsMTAgQEAKIAkJCSAgICAgICBpbnQgbnJfaGVhZHMsIHN0cnVjdCByZWYgKip0b19mZXRjaCkKIHsKIAlzdHJ1Y3QgYnVuZGxlX3RyYW5zcG9ydF9kYXRhICpkYXRhID0gdHJhbnNwb3J0LT5kYXRhOwotCXJldHVybiB1bmJ1bmRsZSgmZGF0YS0+aGVhZGVyLCBkYXRhLT5mZCwKKworCWlmICghZGF0YS0+Z2V0X3JlZnNfZnJvbV9idW5kbGVfY2FsbGVkKQorCQlnZXRfcmVmc19mcm9tX2J1bmRsZSh0cmFuc3BvcnQsIDAsIE5VTEwpOworCXJldHVybiB1bmJ1bmRsZSh0aGVfcmVwb3NpdG9yeSwgJmRhdGEtPmhlYWRlciwgZGF0YS0+ZmQsCiAJCQl0cmFuc3BvcnQtPnByb2dyZXNzID8gQlVORExFX1ZFUkJPU0UgOiAwKTsKIH0KIApAQCAtMjI0LDYgKzIzMCw3IEBACiAJCW9wdHMtPm5vX2RlcGVuZGVudHMgPSAhIXZhbHVlOwogCQlyZXR1cm4gMDsKIAl9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgVFJBTlNfT1BUX0xJU1RfT0JKRUNUU19GSUxURVIpKSB7CisJCWxpc3Rfb2JqZWN0c19maWx0ZXJfZGllX2lmX3BvcHVsYXRlZCgmb3B0cy0+ZmlsdGVyX29wdGlvbnMpOwogCQlwYXJzZV9saXN0X29iamVjdHNfZmlsdGVyKCZvcHRzLT5maWx0ZXJfb3B0aW9ucywgdmFsdWUpOwogCQlyZXR1cm4gMDsKIAl9CkBAIC0yNTIsNiArMjU5LDE0IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB2b2lkIGRpZV9pZl9zZXJ2ZXJfb3B0aW9ucyhzdHJ1Y3QgdHJhbnNwb3J0ICp0cmFuc3BvcnQpCit7CisJaWYgKCF0cmFuc3BvcnQtPnNlcnZlcl9vcHRpb25zIHx8ICF0cmFuc3BvcnQtPnNlcnZlcl9vcHRpb25zLT5ucikKKwkJcmV0dXJuOworCWFkdmlzZShfKCJzZWUgcHJvdG9jb2wudmVyc2lvbiBpbiAnZ2l0IGhlbHAgY29uZmlnJyBmb3IgbW9yZSBkZXRhaWxzIikpOworCWRpZShfKCJzZXJ2ZXIgb3B0aW9ucyByZXF1aXJlIHByb3RvY29sIHZlcnNpb24gMiBvciBsYXRlciIpKTsKK30KKwogLyoKICAqIE9idGFpbnMgdGhlIHByb3RvY29sIHZlcnNpb24gZnJvbSB0aGUgdHJhbnNwb3J0IGFuZCB3cml0ZXMgaXQgdG8KICAqIHRyYW5zcG9ydC0+ZGF0YS0+dmVyc2lvbiwgZmlyc3QgY29ubmVjdGluZyBpZiBub3QgYWxyZWFkeSBjb25uZWN0ZWQuCkBAIC0yNzMsNyArMjg4LDggQEAKIAogCXBhY2tldF9yZWFkZXJfaW5pdCgmcmVhZGVyLCBkYXRhLT5mZFswXSwgTlVMTCwgMCwKIAkJCSAgIFBBQ0tFVF9SRUFEX0NIT01QX05FV0xJTkUgfAotCQkJICAgUEFDS0VUX1JFQURfR0VOVExFX09OX0VPRik7CisJCQkgICBQQUNLRVRfUkVBRF9HRU5UTEVfT05fRU9GIHwKKwkJCSAgIFBBQ0tFVF9SRUFEX0RJRV9PTl9FUlJfUEFDS0VUKTsKIAogCWRhdGEtPnZlcnNpb24gPSBkaXNjb3Zlcl92ZXJzaW9uKCZyZWFkZXIpOwogCXN3aXRjaCAoZGF0YS0+dmVyc2lvbikgewpAQCAtMjg1LDYgKzMwMSw3IEBACiAJCWJyZWFrOwogCWNhc2UgcHJvdG9jb2xfdjE6CiAJY2FzZSBwcm90b2NvbF92MDoKKwkJZGllX2lmX3NlcnZlcl9vcHRpb25zKHRyYW5zcG9ydCk7CiAJCWdldF9yZW1vdGVfaGVhZHMoJnJlYWRlciwgJnJlZnMsCiAJCQkJIGZvcl9wdXNoID8gUkVGX05PUk1BTCA6IDAsCiAJCQkJICZkYXRhLT5leHRyYV9oYXZlLApAQCAtMzEzLDcgKzMzMCw2IEBACiAJaW50IHJldCA9IDA7CiAJc3RydWN0IGdpdF90cmFuc3BvcnRfZGF0YSAqZGF0YSA9IHRyYW5zcG9ydC0+ZGF0YTsKIAlzdHJ1Y3QgcmVmICpyZWZzID0gTlVMTDsKLQljaGFyICpkZXN0ID0geHN0cmR1cCh0cmFuc3BvcnQtPnVybCk7CiAJc3RydWN0IGZldGNoX3BhY2tfYXJncyBhcmdzOwogCXN0cnVjdCByZWYgKnJlZnNfdG1wID0gTlVMTDsKIApAQCAtMzU1LDE2ICszNzEsMTcgQEAKIAogCXN3aXRjaCAoZGF0YS0+dmVyc2lvbikgewogCWNhc2UgcHJvdG9jb2xfdjI6Ci0JCXJlZnMgPSBmZXRjaF9wYWNrKCZhcmdzLCBkYXRhLT5mZCwgZGF0YS0+Y29ubiwKKwkJcmVmcyA9IGZldGNoX3BhY2soJmFyZ3MsIGRhdGEtPmZkLAogCQkJCSAgcmVmc190bXAgPyByZWZzX3RtcCA6IHRyYW5zcG9ydC0+cmVtb3RlX3JlZnMsCi0JCQkJICBkZXN0LCB0b19mZXRjaCwgbnJfaGVhZHMsICZkYXRhLT5zaGFsbG93LAorCQkJCSAgdG9fZmV0Y2gsIG5yX2hlYWRzLCAmZGF0YS0+c2hhbGxvdywKIAkJCQkgICZ0cmFuc3BvcnQtPnBhY2tfbG9ja2ZpbGUsIGRhdGEtPnZlcnNpb24pOwogCQlicmVhazsKIAljYXNlIHByb3RvY29sX3YxOgogCWNhc2UgcHJvdG9jb2xfdjA6Ci0JCXJlZnMgPSBmZXRjaF9wYWNrKCZhcmdzLCBkYXRhLT5mZCwgZGF0YS0+Y29ubiwKKwkJZGllX2lmX3NlcnZlcl9vcHRpb25zKHRyYW5zcG9ydCk7CisJCXJlZnMgPSBmZXRjaF9wYWNrKCZhcmdzLCBkYXRhLT5mZCwKIAkJCQkgIHJlZnNfdG1wID8gcmVmc190bXAgOiB0cmFuc3BvcnQtPnJlbW90ZV9yZWZzLAotCQkJCSAgZGVzdCwgdG9fZmV0Y2gsIG5yX2hlYWRzLCAmZGF0YS0+c2hhbGxvdywKKwkJCQkgIHRvX2ZldGNoLCBucl9oZWFkcywgJmRhdGEtPnNoYWxsb3csCiAJCQkJICAmdHJhbnNwb3J0LT5wYWNrX2xvY2tmaWxlLCBkYXRhLT52ZXJzaW9uKTsKIAkJYnJlYWs7CiAJY2FzZSBwcm90b2NvbF91bmtub3duX3ZlcnNpb246CkBAIC0zODgsNyArNDA1LDYgQEAKIAogCWZyZWVfcmVmcyhyZWZzX3RtcCk7CiAJZnJlZV9yZWZzKHJlZnMpOwotCWZyZWUoZGVzdCk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtNzIxLDcgKzczNyw3IEBACiB7CiAJc3RydWN0IGdpdF90cmFuc3BvcnRfZGF0YSAqZGF0YSA9IHRyYW5zcG9ydC0+ZGF0YTsKIAlpZiAoZGF0YS0+Y29ubikgewotCQlpZiAoZGF0YS0+Z290X3JlbW90ZV9oZWFkcykKKwkJaWYgKGRhdGEtPmdvdF9yZW1vdGVfaGVhZHMgJiYgIXRyYW5zcG9ydC0+c3RhdGVsZXNzX3JwYykKIAkJCXBhY2tldF9mbHVzaChkYXRhLT5mZFsxXSk7CiAJCWNsb3NlKGRhdGEtPmZkWzBdKTsKIAkJY2xvc2UoZGF0YS0+ZmRbMV0pOwpAQCAtNzMzLDcgKzc0OSw2IEBACiB9CiAKIHN0YXRpYyBzdHJ1Y3QgdHJhbnNwb3J0X3Z0YWJsZSB0YWtlbl9vdmVyX3Z0YWJsZSA9IHsKLQkxLAogCU5VTEwsCiAJZ2V0X3JlZnNfdmlhX2Nvbm5lY3QsCiAJZmV0Y2hfcmVmc192aWFfcGFjaywKQEAgLTg4Myw3ICs4OTgsNiBAQAogfQogCiBzdGF0aWMgc3RydWN0IHRyYW5zcG9ydF92dGFibGUgYnVuZGxlX3Z0YWJsZSA9IHsKLQkwLAogCU5VTEwsCiAJZ2V0X3JlZnNfZnJvbV9idW5kbGUsCiAJZmV0Y2hfcmVmc19mcm9tX2J1bmRsZSwKQEAgLTg5Myw3ICs5MDcsNiBAQAogfTsKIAogc3RhdGljIHN0cnVjdCB0cmFuc3BvcnRfdnRhYmxlIGJ1aWx0aW5fc21hcnRfdnRhYmxlID0gewotCTEsCiAJTlVMTCwKIAlnZXRfcmVmc192aWFfY29ubmVjdCwKIAlmZXRjaF9yZWZzX3ZpYV9wYWNrLApAQCAtMTA2MSw2ICsxMDc0LDcgQEAKIAogCXByb2MuYXJndiA9IGFyZ3Y7CiAJcHJvYy5pbiA9IC0xOworCXByb2MudHJhY2UyX2hvb2tfbmFtZSA9ICJwcmUtcHVzaCI7CiAKIAlpZiAoc3RhcnRfY29tbWFuZCgmcHJvYykpIHsKIAkJZmluaXNoX2NvbW1hbmQoJnByb2MpOwpAQCAtMTEwNSw3ICsxMTE5LDggQEAKIAlyZXR1cm4gcmV0OwogfQogCi1pbnQgdHJhbnNwb3J0X3B1c2goc3RydWN0IHRyYW5zcG9ydCAqdHJhbnNwb3J0LAoraW50IHRyYW5zcG9ydF9wdXNoKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkgICBzdHJ1Y3QgdHJhbnNwb3J0ICp0cmFuc3BvcnQsCiAJCSAgIHN0cnVjdCByZWZzcGVjICpycywgaW50IGZsYWdzLAogCQkgICB1bnNpZ25lZCBpbnQgKnJlamVjdF9yZWFzb25zKQogewpAQCAtMTEzMCw4ICsxMTQ1LDEwIEBACiAKIAkJcmVmc3BlY19yZWZfcHJlZml4ZXMocnMsICZyZWZfcHJlZml4ZXMpOwogCisJCXRyYWNlMl9yZWdpb25fZW50ZXIoInRyYW5zcG9ydF9wdXNoIiwgImdldF9yZWZzX2xpc3QiLCByKTsKIAkJcmVtb3RlX3JlZnMgPSB0cmFuc3BvcnQtPnZ0YWJsZS0+Z2V0X3JlZnNfbGlzdCh0cmFuc3BvcnQsIDEsCiAJCQkJCQkJICAgICAgICZyZWZfcHJlZml4ZXMpOworCQl0cmFjZTJfcmVnaW9uX2xlYXZlKCJ0cmFuc3BvcnRfcHVzaCIsICJnZXRfcmVmc19saXN0Iiwgcik7CiAKIAkJYXJndl9hcnJheV9jbGVhcigmcmVmX3ByZWZpeGVzKTsKIApAQCAtMTE2NywyMSArMTE4NCwyNCBAQAogCQkJc3RydWN0IHJlZiAqcmVmID0gcmVtb3RlX3JlZnM7CiAJCQlzdHJ1Y3Qgb2lkX2FycmF5IGNvbW1pdHMgPSBPSURfQVJSQVlfSU5JVDsKIAorCQkJdHJhY2UyX3JlZ2lvbl9lbnRlcigidHJhbnNwb3J0X3B1c2giLCAicHVzaF9zdWJtb2R1bGVzIiwgcik7CiAJCQlmb3IgKDsgcmVmOyByZWYgPSByZWYtPm5leHQpCiAJCQkJaWYgKCFpc19udWxsX29pZCgmcmVmLT5uZXdfb2lkKSkKIAkJCQkJb2lkX2FycmF5X2FwcGVuZCgmY29tbWl0cywKIAkJCQkJCQkgICZyZWYtPm5ld19vaWQpOwogCi0JCQlpZiAoIXB1c2hfdW5wdXNoZWRfc3VibW9kdWxlcyh0aGVfcmVwb3NpdG9yeSwKKwkJCWlmICghcHVzaF91bnB1c2hlZF9zdWJtb2R1bGVzKHIsCiAJCQkJCQkgICAgICAmY29tbWl0cywKIAkJCQkJCSAgICAgIHRyYW5zcG9ydC0+cmVtb3RlLAogCQkJCQkJICAgICAgcnMsCiAJCQkJCQkgICAgICB0cmFuc3BvcnQtPnB1c2hfb3B0aW9ucywKIAkJCQkJCSAgICAgIHByZXRlbmQpKSB7CiAJCQkJb2lkX2FycmF5X2NsZWFyKCZjb21taXRzKTsKKwkJCQl0cmFjZTJfcmVnaW9uX2xlYXZlKCJ0cmFuc3BvcnRfcHVzaCIsICJwdXNoX3N1Ym1vZHVsZXMiLCByKTsKIAkJCQlkaWUoXygiZmFpbGVkIHRvIHB1c2ggYWxsIG5lZWRlZCBzdWJtb2R1bGVzIikpOwogCQkJfQogCQkJb2lkX2FycmF5X2NsZWFyKCZjb21taXRzKTsKKwkJCXRyYWNlMl9yZWdpb25fbGVhdmUoInRyYW5zcG9ydF9wdXNoIiwgInB1c2hfc3VibW9kdWxlcyIsIHIpOwogCQl9CiAKIAkJaWYgKCgoZmxhZ3MgJiBUUkFOU1BPUlRfUkVDVVJTRV9TVUJNT0RVTEVTX0NIRUNLKSB8fApAQCAtMTE5MiwyOSArMTIxMiw0OCBAQAogCQkJc3RydWN0IHN0cmluZ19saXN0IG5lZWRzX3B1c2hpbmcgPSBTVFJJTkdfTElTVF9JTklUX0RVUDsKIAkJCXN0cnVjdCBvaWRfYXJyYXkgY29tbWl0cyA9IE9JRF9BUlJBWV9JTklUOwogCisJCQl0cmFjZTJfcmVnaW9uX2VudGVyKCJ0cmFuc3BvcnRfcHVzaCIsICJjaGVja19zdWJtb2R1bGVzIiwgcik7CiAJCQlmb3IgKDsgcmVmOyByZWYgPSByZWYtPm5leHQpCiAJCQkJaWYgKCFpc19udWxsX29pZCgmcmVmLT5uZXdfb2lkKSkKIAkJCQkJb2lkX2FycmF5X2FwcGVuZCgmY29tbWl0cywKIAkJCQkJCQkgICZyZWYtPm5ld19vaWQpOwogCi0JCQlpZiAoZmluZF91bnB1c2hlZF9zdWJtb2R1bGVzKHRoZV9yZXBvc2l0b3J5LAorCQkJaWYgKGZpbmRfdW5wdXNoZWRfc3VibW9kdWxlcyhyLAogCQkJCQkJICAgICAmY29tbWl0cywKIAkJCQkJCSAgICAgdHJhbnNwb3J0LT5yZW1vdGUtPm5hbWUsCiAJCQkJCQkgICAgICZuZWVkc19wdXNoaW5nKSkgewogCQkJCW9pZF9hcnJheV9jbGVhcigmY29tbWl0cyk7CisJCQkJdHJhY2UyX3JlZ2lvbl9sZWF2ZSgidHJhbnNwb3J0X3B1c2giLCAiY2hlY2tfc3VibW9kdWxlcyIsIHIpOwogCQkJCWRpZV93aXRoX3VucHVzaGVkX3N1Ym1vZHVsZXMoJm5lZWRzX3B1c2hpbmcpOwogCQkJfQogCQkJc3RyaW5nX2xpc3RfY2xlYXIoJm5lZWRzX3B1c2hpbmcsIDApOwogCQkJb2lkX2FycmF5X2NsZWFyKCZjb21taXRzKTsKKwkJCXRyYWNlMl9yZWdpb25fbGVhdmUoInRyYW5zcG9ydF9wdXNoIiwgImNoZWNrX3N1Ym1vZHVsZXMiLCByKTsKIAkJfQogCi0JCWlmICghKGZsYWdzICYgVFJBTlNQT1JUX1JFQ1VSU0VfU1VCTU9EVUxFU19PTkxZKSkKKwkJaWYgKCEoZmxhZ3MgJiBUUkFOU1BPUlRfUkVDVVJTRV9TVUJNT0RVTEVTX09OTFkpKSB7CisJCQl0cmFjZTJfcmVnaW9uX2VudGVyKCJ0cmFuc3BvcnRfcHVzaCIsICJwdXNoX3JlZnMiLCByKTsKIAkJCXB1c2hfcmV0ID0gdHJhbnNwb3J0LT52dGFibGUtPnB1c2hfcmVmcyh0cmFuc3BvcnQsIHJlbW90ZV9yZWZzLCBmbGFncyk7Ci0JCWVsc2UKKwkJCXRyYWNlMl9yZWdpb25fbGVhdmUoInRyYW5zcG9ydF9wdXNoIiwgInB1c2hfcmVmcyIsIHIpOworCQl9IGVsc2UKIAkJCXB1c2hfcmV0ID0gMDsKIAkJZXJyID0gcHVzaF9oYWRfZXJyb3JzKHJlbW90ZV9yZWZzKTsKIAkJcmV0ID0gcHVzaF9yZXQgfCBlcnI7CiAKKwkJaWYgKChmbGFncyAmIFRSQU5TUE9SVF9QVVNIX0FUT01JQykgJiYgZXJyKSB7CisJCQlzdHJ1Y3QgcmVmICppdDsKKwkJCWZvciAoaXQgPSByZW1vdGVfcmVmczsgaXQ7IGl0ID0gaXQtPm5leHQpCisJCQkJc3dpdGNoIChpdC0+c3RhdHVzKSB7CisJCQkJY2FzZSBSRUZfU1RBVFVTX05PTkU6CisJCQkJY2FzZSBSRUZfU1RBVFVTX1VQVE9EQVRFOgorCQkJCWNhc2UgUkVGX1NUQVRVU19PSzoKKwkJCQkJaXQtPnN0YXR1cyA9IFJFRl9TVEFUVVNfQVRPTUlDX1BVU0hfRkFJTEVEOworCQkJCQlicmVhazsKKwkJCQlkZWZhdWx0OgorCQkJCQlicmVhazsKKwkJCQl9CisJCX0KKwogCQlpZiAoIXF1aWV0IHx8IGVycikKIAkJCXRyYW5zcG9ydF9wcmludF9wdXNoX3N0YXR1cyh0cmFuc3BvcnQtPnVybCwgcmVtb3RlX3JlZnMsCiAJCQkJCXZlcmJvc2UgfCBwb3JjZWxhaW4sIHBvcmNlbGFpbiwKQEAgLTEyNjAsMTUgKzEyOTksNiBAQAogCXN0cnVjdCByZWYgKipoZWFkcyA9IE5VTEw7CiAJc3RydWN0IHJlZiAqcm07CiAKLQlpZiAoIXRyYW5zcG9ydC0+dnRhYmxlLT5mZXRjaF93aXRob3V0X2xpc3QpCi0JCS8qCi0JCSAqIFNvbWUgdHJhbnNwb3J0cyAoZS5nLiB0aGUgYnVpbHQtaW4gYnVuZGxlIHRyYW5zcG9ydCBhbmQgdGhlCi0JCSAqIHRyYW5zcG9ydCBoZWxwZXIgaW50ZXJmYWNlKSBkbyBub3Qgd29yayB3aGVuIGZldGNoaW5nIGlzCi0JCSAqIGRvbmUgaW1tZWRpYXRlbHkgYWZ0ZXIgdHJhbnNwb3J0IGNyZWF0aW9uLiBMaXN0IHRoZSByZW1vdGUKLQkJICogcmVmcyBhbnl3YXkgKGlmIG5vdCBhbHJlYWR5IGxpc3RlZCkgYXMgYSB3b3JrYXJvdW5kLgotCQkgKi8KLQkJdHJhbnNwb3J0X2dldF9yZW1vdGVfcmVmcyh0cmFuc3BvcnQsIE5VTEwpOwotCiAJZm9yIChybSA9IHJlZnM7IHJtOyBybSA9IHJtLT5uZXh0KSB7CiAJCW5yX3JlZnMrKzsKIAkJaWYgKHJtLT5wZWVyX3JlZiAmJgpAQCAtMTM2OSwxMDAgKzEzOTksMyBAQAogbGl0ZXJhbF9jb3B5OgogCXJldHVybiB4c3RyZHVwKHVybCk7CiB9Ci0KLXN0YXRpYyB2b2lkIGZpbGxfYWx0ZXJuYXRlX3JlZnNfY29tbWFuZChzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY21kLAotCQkJCQljb25zdCBjaGFyICpyZXBvX3BhdGgpCi17Ci0JY29uc3QgY2hhciAqdmFsdWU7Ci0KLQlpZiAoIWdpdF9jb25maWdfZ2V0X3ZhbHVlKCJjb3JlLmFsdGVybmF0ZVJlZnNDb21tYW5kIiwgJnZhbHVlKSkgewotCQljbWQtPnVzZV9zaGVsbCA9IDE7Ci0KLQkJYXJndl9hcnJheV9wdXNoKCZjbWQtPmFyZ3MsIHZhbHVlKTsKLQkJYXJndl9hcnJheV9wdXNoKCZjbWQtPmFyZ3MsIHJlcG9fcGF0aCk7Ci0JfSBlbHNlIHsKLQkJY21kLT5naXRfY21kID0gMTsKLQotCQlhcmd2X2FycmF5X3B1c2hmKCZjbWQtPmFyZ3MsICItLWdpdC1kaXI9JXMiLCByZXBvX3BhdGgpOwotCQlhcmd2X2FycmF5X3B1c2goJmNtZC0+YXJncywgImZvci1lYWNoLXJlZiIpOwotCQlhcmd2X2FycmF5X3B1c2goJmNtZC0+YXJncywgIi0tZm9ybWF0PSUob2JqZWN0bmFtZSkiKTsKLQotCQlpZiAoIWdpdF9jb25maWdfZ2V0X3ZhbHVlKCJjb3JlLmFsdGVybmF0ZVJlZnNQcmVmaXhlcyIsICZ2YWx1ZSkpIHsKLQkJCWFyZ3ZfYXJyYXlfcHVzaCgmY21kLT5hcmdzLCAiLS0iKTsKLQkJCWFyZ3ZfYXJyYXlfc3BsaXQoJmNtZC0+YXJncywgdmFsdWUpOwotCQl9Ci0JfQotCi0JY21kLT5lbnYgPSBsb2NhbF9yZXBvX2VudjsKLQljbWQtPm91dCA9IC0xOwotfQotCi1zdGF0aWMgdm9pZCByZWFkX2FsdGVybmF0ZV9yZWZzKGNvbnN0IGNoYXIgKnBhdGgsCi0JCQkJYWx0ZXJuYXRlX3JlZl9mbiAqY2IsCi0JCQkJdm9pZCAqZGF0YSkKLXsKLQlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBjbWQgPSBDSElMRF9QUk9DRVNTX0lOSVQ7Ci0Jc3RydWN0IHN0cmJ1ZiBsaW5lID0gU1RSQlVGX0lOSVQ7Ci0JRklMRSAqZmg7Ci0KLQlmaWxsX2FsdGVybmF0ZV9yZWZzX2NvbW1hbmQoJmNtZCwgcGF0aCk7Ci0KLQlpZiAoc3RhcnRfY29tbWFuZCgmY21kKSkKLQkJcmV0dXJuOwotCi0JZmggPSB4ZmRvcGVuKGNtZC5vdXQsICJyIik7Ci0Jd2hpbGUgKHN0cmJ1Zl9nZXRsaW5lX2xmKCZsaW5lLCBmaCkgIT0gRU9GKSB7Ci0JCXN0cnVjdCBvYmplY3RfaWQgb2lkOwotCQljb25zdCBjaGFyICpwOwotCi0JCWlmIChwYXJzZV9vaWRfaGV4KGxpbmUuYnVmLCAmb2lkLCAmcCkgfHwgKnApIHsKLQkJCXdhcm5pbmcoXygiaW52YWxpZCBsaW5lIHdoaWxlIHBhcnNpbmcgYWx0ZXJuYXRlIHJlZnM6ICVzIiksCi0JCQkJbGluZS5idWYpOwotCQkJYnJlYWs7Ci0JCX0KLQotCQljYigmb2lkLCBkYXRhKTsKLQl9Ci0KLQlmY2xvc2UoZmgpOwotCWZpbmlzaF9jb21tYW5kKCZjbWQpOwotfQotCi1zdHJ1Y3QgYWx0ZXJuYXRlX3JlZnNfZGF0YSB7Ci0JYWx0ZXJuYXRlX3JlZl9mbiAqZm47Ci0Jdm9pZCAqZGF0YTsKLX07Ci0KLXN0YXRpYyBpbnQgcmVmc19mcm9tX2FsdGVybmF0ZV9jYihzdHJ1Y3QgYWx0ZXJuYXRlX29iamVjdF9kYXRhYmFzZSAqZSwKLQkJCQkgIHZvaWQgKmRhdGEpCi17Ci0Jc3RydWN0IHN0cmJ1ZiBwYXRoID0gU1RSQlVGX0lOSVQ7Ci0Jc2l6ZV90IGJhc2VfbGVuOwotCXN0cnVjdCBhbHRlcm5hdGVfcmVmc19kYXRhICpjYiA9IGRhdGE7Ci0KLQlpZiAoIXN0cmJ1Zl9yZWFscGF0aCgmcGF0aCwgZS0+cGF0aCwgMCkpCi0JCWdvdG8gb3V0OwotCWlmICghc3RyYnVmX3N0cmlwX3N1ZmZpeCgmcGF0aCwgIi9vYmplY3RzIikpCi0JCWdvdG8gb3V0OwotCWJhc2VfbGVuID0gcGF0aC5sZW47Ci0KLQkvKiBJcyB0aGlzIGEgZ2l0IHJlcG9zaXRvcnkgd2l0aCByZWZzPyAqLwotCXN0cmJ1Zl9hZGRzdHIoJnBhdGgsICIvcmVmcyIpOwotCWlmICghaXNfZGlyZWN0b3J5KHBhdGguYnVmKSkKLQkJZ290byBvdXQ7Ci0Jc3RyYnVmX3NldGxlbigmcGF0aCwgYmFzZV9sZW4pOwotCi0JcmVhZF9hbHRlcm5hdGVfcmVmcyhwYXRoLmJ1ZiwgY2ItPmZuLCBjYi0+ZGF0YSk7Ci0KLW91dDoKLQlzdHJidWZfcmVsZWFzZSgmcGF0aCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXZvaWQgZm9yX2VhY2hfYWx0ZXJuYXRlX3JlZihhbHRlcm5hdGVfcmVmX2ZuIGZuLCB2b2lkICpkYXRhKQotewotCXN0cnVjdCBhbHRlcm5hdGVfcmVmc19kYXRhIGNiOwotCWNiLmZuID0gZm47Ci0JY2IuZGF0YSA9IGRhdGE7Ci0JZm9yZWFjaF9hbHRfb2RiKHJlZnNfZnJvbV9hbHRlcm5hdGVfY2IsICZjYik7Ci19CmRpZmYgLS1naXQgYS90cmFuc3BvcnQuaCBiL3RyYW5zcG9ydC5oCmluZGV4IDliYWVjYTIuLmUwMTMxZGEgMTAwNjQ0Ci0tLSBhL3RyYW5zcG9ydC5oCisrKyBiL3RyYW5zcG9ydC5oCkBAIC0xMzQsNyArMTM0LDcgQEAKICNkZWZpbmUgVFJBTlNQT1JUX1BVU0hfT1BUSU9OUwkJCSgxPDwxNCkKICNkZWZpbmUgVFJBTlNQT1JUX1JFQ1VSU0VfU1VCTU9EVUxFU19PTkxZCSgxPDwxNSkKIAotZXh0ZXJuIGludCB0cmFuc3BvcnRfc3VtbWFyeV93aWR0aChjb25zdCBzdHJ1Y3QgcmVmICpyZWZzKTsKK2ludCB0cmFuc3BvcnRfc3VtbWFyeV93aWR0aChjb25zdCBzdHJ1Y3QgcmVmICpyZWZzKTsKIAogLyogUmV0dXJucyBhIHRyYW5zcG9ydCBzdWl0YWJsZSBmb3IgdGhlIHVybCAqLwogc3RydWN0IHRyYW5zcG9ydCAqdHJhbnNwb3J0X2dldChzdHJ1Y3QgcmVtb3RlICosIGNvbnN0IGNoYXIgKik7CkBAIC0yMDgsNiArMjA4LDkgQEAKIC8qIEZpbHRlciBvYmplY3RzIGZvciBwYXJ0aWFsIGNsb25lIGFuZCBmZXRjaCAqLwogI2RlZmluZSBUUkFOU19PUFRfTElTVF9PQkpFQ1RTX0ZJTFRFUiAiZmlsdGVyIgogCisvKiBSZXF1ZXN0IGF0b21pYyAoYWxsLW9yLW5vdGhpbmcpIHVwZGF0ZXMgd2hlbiBwdXNoaW5nICovCisjZGVmaW5lIFRSQU5TX09QVF9BVE9NSUMgImF0b21pYyIKKwogLyoqCiAgKiBSZXR1cm5zIDAgaWYgdGhlIG9wdGlvbiB3YXMgdXNlZCwgbm9uLXplcm8gb3RoZXJ3aXNlLiBQcmludHMgYQogICogbWVzc2FnZSB0byBzdGRlcnIgaWYgdGhlIG9wdGlvbiBpcyBub3QgdXNlZC4KQEAgLTIyMyw3ICsyMjYsOCBAQAogI2RlZmluZSBSRUpFQ1RfRkVUQ0hfRklSU1QgICAgIDB4MDgKICNkZWZpbmUgUkVKRUNUX05FRURTX0ZPUkNFICAgICAweDEwCiAKLWludCB0cmFuc3BvcnRfcHVzaChzdHJ1Y3QgdHJhbnNwb3J0ICpjb25uZWN0aW9uLAoraW50IHRyYW5zcG9ydF9wdXNoKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkgICBzdHJ1Y3QgdHJhbnNwb3J0ICpjb25uZWN0aW9uLAogCQkgICBzdHJ1Y3QgcmVmc3BlYyAqcnMsIGludCBmbGFncywKIAkJICAgdW5zaWduZWQgaW50ICogcmVqZWN0X3JlYXNvbnMpOwogCkBAIC0yNjEsNiArMjY1LDQgQEAKIHZvaWQgdHJhbnNwb3J0X3ByaW50X3B1c2hfc3RhdHVzKGNvbnN0IGNoYXIgKmRlc3QsIHN0cnVjdCByZWYgKnJlZnMsCiAJCSAgaW50IHZlcmJvc2UsIGludCBwb3JjZWxhaW4sIHVuc2lnbmVkIGludCAqcmVqZWN0X3JlYXNvbnMpOwogCi10eXBlZGVmIHZvaWQgYWx0ZXJuYXRlX3JlZl9mbihjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHZvaWQgKik7Ci1leHRlcm4gdm9pZCBmb3JfZWFjaF9hbHRlcm5hdGVfcmVmKGFsdGVybmF0ZV9yZWZfZm4sIHZvaWQgKik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL3RyZWUtZGlmZi5jIGIvdHJlZS1kaWZmLmMKaW5kZXggMGU1NDMyNC4uMzNkZWQ3ZiAxMDA2NDQKLS0tIGEvdHJlZS1kaWZmLmMKKysrIGIvdHJlZS1kaWZmLmMKQEAgLTE4MSw3ICsxODEsNyBAQAogCXN0cnVjdCB0cmVlX2Rlc2MgKnQsIHN0cnVjdCB0cmVlX2Rlc2MgKnRwLAogCWludCBpbWluKQogewotCXVuc2lnbmVkIG1vZGU7CisJdW5zaWduZWQgc2hvcnQgbW9kZTsKIAljb25zdCBjaGFyICpwYXRoOwogCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZDsKIAlpbnQgcGF0aGxlbjsKQEAgLTIzOSw3ICsyMzksNyBAQAogCQkJCQkJRElGRl9TVEFUVVNfQURERUQ7CiAKIAkJCWlmICh0cGlfdmFsaWQpIHsKLQkJCQlvaWRfaSA9IHRwW2ldLmVudHJ5Lm9pZDsKKwkJCQlvaWRfaSA9ICZ0cFtpXS5lbnRyeS5vaWQ7CiAJCQkJbW9kZV9pID0gdHBbaV0uZW50cnkubW9kZTsKIAkJCX0KIAkJCWVsc2UgewpAQCAtMjgwLDcgKzI4MCw3IEBACiAJCQkvKiBzYW1lIHJ1bGUgYXMgaW4gZW1pdHRoaXMgKi8KIAkJCWludCB0cGlfdmFsaWQgPSB0cCAmJiAhKHRwW2ldLmVudHJ5Lm1vZGUgJiBTX0lGWE1JTl9ORVEpOwogCi0JCQlwYXJlbnRzX29pZFtpXSA9IHRwaV92YWxpZCA/IHRwW2ldLmVudHJ5Lm9pZCA6IE5VTEw7CisJCQlwYXJlbnRzX29pZFtpXSA9IHRwaV92YWxpZCA/ICZ0cFtpXS5lbnRyeS5vaWQgOiBOVUxMOwogCQl9CiAKIAkJc3RyYnVmX2FkZChiYXNlLCBwYXRoLCBwYXRobGVuKTsKQEAgLTI5OSw3ICsyOTksOCBAQAogCWVudW0gaW50ZXJlc3RpbmcgbWF0Y2g7CiAKIAl3aGlsZSAodC0+c2l6ZSkgewotCQltYXRjaCA9IHRyZWVfZW50cnlfaW50ZXJlc3RpbmcoJnQtPmVudHJ5LCBiYXNlLCAwLCAmb3B0LT5wYXRoc3BlYyk7CisJCW1hdGNoID0gdHJlZV9lbnRyeV9pbnRlcmVzdGluZyhvcHQtPnJlcG8tPmluZGV4LCAmdC0+ZW50cnksCisJCQkJCSAgICAgICBiYXNlLCAwLCAmb3B0LT5wYXRoc3BlYyk7CiAJCWlmIChtYXRjaCkgewogCQkJaWYgKG1hdGNoID09IGFsbF9lbnRyaWVzX25vdF9pbnRlcmVzdGluZykKIAkJCQl0LT5zaXplID0gMDsKQEAgLTQyMSw4ICs0MjIsOCBAQAogCSAqICAgZGlmZl90cmVlX29pZChwYXJlbnQsIGNvbW1pdCkgKQogCSAqLwogCWZvciAoaSA9IDA7IGkgPCBucGFyZW50OyArK2kpCi0JCXRwdHJlZVtpXSA9IGZpbGxfdHJlZV9kZXNjcmlwdG9yKCZ0cFtpXSwgcGFyZW50c19vaWRbaV0pOwotCXR0cmVlID0gZmlsbF90cmVlX2Rlc2NyaXB0b3IoJnQsIG9pZCk7CisJCXRwdHJlZVtpXSA9IGZpbGxfdHJlZV9kZXNjcmlwdG9yKG9wdC0+cmVwbywgJnRwW2ldLCBwYXJlbnRzX29pZFtpXSk7CisJdHRyZWUgPSBmaWxsX3RyZWVfZGVzY3JpcHRvcihvcHQtPnJlcG8sICZ0LCBvaWQpOwogCiAJLyogRW5hYmxlIHJlY3Vyc2lvbiBpbmRlZmluaXRlbHkgKi8KIAlvcHQtPnBhdGhzcGVjLnJlY3Vyc2l2ZSA9IG9wdC0+ZmxhZ3MucmVjdXJzaXZlOwpAQCAtNDkxLDcgKzQ5Miw3IEBACiAJCQkJCQljb250aW51ZTsKIAogCQkJCQkvKiBkaWZmKHQscGkpICE9IMO4ICovCi0JCQkJCWlmICghb2lkZXEodC5lbnRyeS5vaWQsIHRwW2ldLmVudHJ5Lm9pZCkgfHwKKwkJCQkJaWYgKCFvaWRlcSgmdC5lbnRyeS5vaWQsICZ0cFtpXS5lbnRyeS5vaWQpIHx8CiAJCQkJCSAgICAodC5lbnRyeS5tb2RlICE9IHRwW2ldLmVudHJ5Lm1vZGUpKQogCQkJCQkJY29udGludWU7CiAKZGlmZiAtLWdpdCBhL3RyZWUtd2Fsay5jIGIvdHJlZS13YWxrLmMKaW5kZXggYmYwNzk0Ni4uYmIwYWQzNCAxMDA2NDQKLS0tIGEvdHJlZS13YWxrLmMKKysrIGIvdHJlZS13YWxrLmMKQEAgLTEsNiArMSw1IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJ0cmVlLXdhbGsuaCIKLSNpbmNsdWRlICJ1bnBhY2stdHJlZXMuaCIKICNpbmNsdWRlICJkaXIuaCIKICNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKICNpbmNsdWRlICJ0cmVlLmgiCkBAIC00MywxOCArNDIsMTMgQEAKIAkJc3RyYnVmX2FkZHN0cihlcnIsIF8oImVtcHR5IGZpbGVuYW1lIGluIHRyZWUgZW50cnkiKSk7CiAJCXJldHVybiAtMTsKIAl9Ci0jaWZkZWYgR0lUX1dJTkRPV1NfTkFUSVZFCi0JaWYgKHByb3RlY3RfbnRmcyAmJiBzdHJjaHIocGF0aCwgJ1xcJykpIHsKLQkJc3RyYnVmX2FkZGYoZXJyLCBfKCJmaWxlbmFtZSBpbiB0cmVlIGVudHJ5IGNvbnRhaW5zIGJhY2tzbGFzaDogJyVzJyIpLCBwYXRoKTsKLQkJcmV0dXJuIC0xOwotCX0KLSNlbmRpZgogCWxlbiA9IHN0cmxlbihwYXRoKSArIDE7CiAKIAkvKiBJbml0aWFsaXplIHRoZSBkZXNjcmlwdG9yIGVudHJ5ICovCiAJZGVzYy0+ZW50cnkucGF0aCA9IHBhdGg7CiAJZGVzYy0+ZW50cnkubW9kZSA9IGNhbm9uX21vZGUobW9kZSk7Ci0JZGVzYy0+ZW50cnkub2lkICA9IChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICopKHBhdGggKyBsZW4pOworCWRlc2MtPmVudHJ5LnBhdGhsZW4gPSBsZW4gLSAxOworCWhhc2hjcHkoZGVzYy0+ZW50cnkub2lkLmhhc2gsIChjb25zdCB1bnNpZ25lZCBjaGFyICopcGF0aCArIGxlbik7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTg2LDEzICs4MCwxNSBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLXZvaWQgKmZpbGxfdHJlZV9kZXNjcmlwdG9yKHN0cnVjdCB0cmVlX2Rlc2MgKmRlc2MsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKK3ZvaWQgKmZpbGxfdHJlZV9kZXNjcmlwdG9yKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJICAgc3RydWN0IHRyZWVfZGVzYyAqZGVzYywKKwkJCSAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIHNpemUgPSAwOwogCXZvaWQgKmJ1ZiA9IE5VTEw7CiAKIAlpZiAob2lkKSB7Ci0JCWJ1ZiA9IHJlYWRfb2JqZWN0X3dpdGhfcmVmZXJlbmNlKG9pZCwgdHJlZV90eXBlLCAmc2l6ZSwgTlVMTCk7CisJCWJ1ZiA9IHJlYWRfb2JqZWN0X3dpdGhfcmVmZXJlbmNlKHIsIG9pZCwgdHJlZV90eXBlLCAmc2l6ZSwgTlVMTCk7CiAJCWlmICghYnVmKQogCQkJZGllKCJ1bmFibGUgdG8gcmVhZCB0cmVlICVzIiwgb2lkX3RvX2hleChvaWQpKTsKIAl9CkBAIC0xMTMsNyArMTA5LDcgQEAKIHN0YXRpYyBpbnQgdXBkYXRlX3RyZWVfZW50cnlfaW50ZXJuYWwoc3RydWN0IHRyZWVfZGVzYyAqZGVzYywgc3RydWN0IHN0cmJ1ZiAqZXJyKQogewogCWNvbnN0IHZvaWQgKmJ1ZiA9IGRlc2MtPmJ1ZmZlcjsKLQljb25zdCB1bnNpZ25lZCBjaGFyICplbmQgPSBkZXNjLT5lbnRyeS5vaWQtPmhhc2ggKyB0aGVfaGFzaF9hbGdvLT5yYXdzejsKKwljb25zdCB1bnNpZ25lZCBjaGFyICplbmQgPSAoY29uc3QgdW5zaWduZWQgY2hhciAqKWRlc2MtPmVudHJ5LnBhdGggKyBkZXNjLT5lbnRyeS5wYXRobGVuICsgMSArIHRoZV9oYXNoX2FsZ28tPnJhd3N6OwogCXVuc2lnbmVkIGxvbmcgc2l6ZSA9IGRlc2MtPnNpemU7CiAJdW5zaWduZWQgbG9uZyBsZW4gPSBlbmQgLSAoY29uc3QgdW5zaWduZWQgY2hhciAqKWJ1ZjsKIApAQCAtMTczLDM4ICsxNjksNjEgQEAKIAogdm9pZCBzZXR1cF90cmF2ZXJzZV9pbmZvKHN0cnVjdCB0cmF2ZXJzZV9pbmZvICppbmZvLCBjb25zdCBjaGFyICpiYXNlKQogewotCWludCBwYXRobGVuID0gc3RybGVuKGJhc2UpOworCXNpemVfdCBwYXRobGVuID0gc3RybGVuKGJhc2UpOwogCXN0YXRpYyBzdHJ1Y3QgdHJhdmVyc2VfaW5mbyBkdW1teTsKIAogCW1lbXNldChpbmZvLCAwLCBzaXplb2YoKmluZm8pKTsKIAlpZiAocGF0aGxlbiAmJiBiYXNlW3BhdGhsZW4tMV0gPT0gJy8nKQogCQlwYXRobGVuLS07CiAJaW5mby0+cGF0aGxlbiA9IHBhdGhsZW4gPyBwYXRobGVuICsgMSA6IDA7Ci0JaW5mby0+bmFtZS5wYXRoID0gYmFzZTsKLQlpbmZvLT5uYW1lLm9pZCA9ICh2b2lkICopKGJhc2UgKyBwYXRobGVuICsgMSk7CisJaW5mby0+bmFtZSA9IGJhc2U7CisJaW5mby0+bmFtZWxlbiA9IHBhdGhsZW47CiAJaWYgKHBhdGhsZW4pCiAJCWluZm8tPnByZXYgPSAmZHVtbXk7CiB9CiAKLWNoYXIgKm1ha2VfdHJhdmVyc2VfcGF0aChjaGFyICpwYXRoLCBjb25zdCBzdHJ1Y3QgdHJhdmVyc2VfaW5mbyAqaW5mbywgY29uc3Qgc3RydWN0IG5hbWVfZW50cnkgKm4pCitjaGFyICptYWtlX3RyYXZlcnNlX3BhdGgoY2hhciAqcGF0aCwgc2l6ZV90IHBhdGhsZW4sCisJCQkgY29uc3Qgc3RydWN0IHRyYXZlcnNlX2luZm8gKmluZm8sCisJCQkgY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVsZW4pCiB7Ci0JaW50IGxlbiA9IHRyZWVfZW50cnlfbGVuKG4pOwotCWludCBwYXRobGVuID0gaW5mby0+cGF0aGxlbjsKKwkvKiBBbHdheXMgcG9pbnRzIHRvIHRoZSBlbmQgb2YgdGhlIG5hbWUgd2UncmUgYWJvdXQgdG8gYWRkICovCisJc2l6ZV90IHBvcyA9IHN0X2FkZChpbmZvLT5wYXRobGVuLCBuYW1lbGVuKTsKIAotCXBhdGhbcGF0aGxlbiArIGxlbl0gPSAwOworCWlmIChwb3MgPj0gcGF0aGxlbikKKwkJQlVHKCJ0b28gc21hbGwgYnVmZmVyIHBhc3NlZCB0byBtYWtlX3RyYXZlcnNlX3BhdGgiKTsKKworCXBhdGhbcG9zXSA9IDA7CiAJZm9yICg7OykgewotCQltZW1jcHkocGF0aCArIHBhdGhsZW4sIG4tPnBhdGgsIGxlbik7Ci0JCWlmICghcGF0aGxlbikKKwkJaWYgKHBvcyA8IG5hbWVsZW4pCisJCQlCVUcoInRyYXZlcnNlX2luZm8gcGF0aGxlbiBkb2VzIG5vdCBtYXRjaCBzdHJpbmdzIik7CisJCXBvcyAtPSBuYW1lbGVuOworCQltZW1jcHkocGF0aCArIHBvcywgbmFtZSwgbmFtZWxlbik7CisKKwkJaWYgKCFwb3MpCiAJCQlicmVhazsKLQkJcGF0aFstLXBhdGhsZW5dID0gJy8nOwotCQluID0gJmluZm8tPm5hbWU7Ci0JCWxlbiA9IHRyZWVfZW50cnlfbGVuKG4pOworCQlwYXRoWy0tcG9zXSA9ICcvJzsKKworCQlpZiAoIWluZm8pCisJCQlCVUcoInRyYXZlcnNlX2luZm8gcmFuIG91dCBvZiBsaXN0IGl0ZW1zIik7CisJCW5hbWUgPSBpbmZvLT5uYW1lOworCQluYW1lbGVuID0gaW5mby0+bmFtZWxlbjsKIAkJaW5mbyA9IGluZm8tPnByZXY7Ci0JCXBhdGhsZW4gLT0gbGVuOwogCX0KIAlyZXR1cm4gcGF0aDsKIH0KIAordm9pZCBzdHJidWZfbWFrZV90cmF2ZXJzZV9wYXRoKHN0cnVjdCBzdHJidWYgKm91dCwKKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgdHJhdmVyc2VfaW5mbyAqaW5mbywKKwkJCSAgICAgICBjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZWxlbikKK3sKKwlzaXplX3QgbGVuID0gdHJhdmVyc2VfcGF0aF9sZW4oaW5mbywgbmFtZWxlbik7CisKKwlzdHJidWZfZ3JvdyhvdXQsIGxlbik7CisJbWFrZV90cmF2ZXJzZV9wYXRoKG91dC0+YnVmICsgb3V0LT5sZW4sIG91dC0+YWxsb2MgLSBvdXQtPmxlbiwKKwkJCSAgIGluZm8sIG5hbWUsIG5hbWVsZW4pOworCXN0cmJ1Zl9zZXRsZW4ob3V0LCBvdXQtPmxlbiArIGxlbik7Cit9CisKIHN0cnVjdCB0cmVlX2Rlc2Nfc2tpcCB7CiAJc3RydWN0IHRyZWVfZGVzY19za2lwICpwcmV2OwogCWNvbnN0IHZvaWQgKnB0cjsKQEAgLTM3MSw3ICszOTAsOCBAQAogCX0KIH0KIAotc3RhdGljIGlubGluZSBpbnQgcHJ1bmVfdHJhdmVyc2FsKHN0cnVjdCBuYW1lX2VudHJ5ICplLAorc3RhdGljIGlubGluZSBpbnQgcHJ1bmVfdHJhdmVyc2FsKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAorCQkJCSAgc3RydWN0IG5hbWVfZW50cnkgKmUsCiAJCQkJICBzdHJ1Y3QgdHJhdmVyc2VfaW5mbyAqaW5mbywKIAkJCQkgIHN0cnVjdCBzdHJidWYgKmJhc2UsCiAJCQkJICBpbnQgc3RpbGxfaW50ZXJlc3RpbmcpCkBAIC0zODAsMzAgKzQwMCwzNyBAQAogCQlyZXR1cm4gMjsKIAlpZiAoc3RpbGxfaW50ZXJlc3RpbmcgPCAwKQogCQlyZXR1cm4gc3RpbGxfaW50ZXJlc3Rpbmc7Ci0JcmV0dXJuIHRyZWVfZW50cnlfaW50ZXJlc3RpbmcoZSwgYmFzZSwgMCwgaW5mby0+cGF0aHNwZWMpOworCXJldHVybiB0cmVlX2VudHJ5X2ludGVyZXN0aW5nKGlzdGF0ZSwgZSwgYmFzZSwKKwkJCQkgICAgICAwLCBpbmZvLT5wYXRoc3BlYyk7CiB9CiAKLWludCB0cmF2ZXJzZV90cmVlcyhpbnQgbiwgc3RydWN0IHRyZWVfZGVzYyAqdCwgc3RydWN0IHRyYXZlcnNlX2luZm8gKmluZm8pCitpbnQgdHJhdmVyc2VfdHJlZXMoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCisJCSAgIGludCBuLCBzdHJ1Y3QgdHJlZV9kZXNjICp0LAorCQkgICBzdHJ1Y3QgdHJhdmVyc2VfaW5mbyAqaW5mbykKIHsKIAlpbnQgZXJyb3IgPSAwOwotCXN0cnVjdCBuYW1lX2VudHJ5ICplbnRyeSA9IHhtYWxsb2MobipzaXplb2YoKmVudHJ5KSk7CisJc3RydWN0IG5hbWVfZW50cnkgZW50cnlbTUFYX1RSQVZFUlNFX1RSRUVTXTsKIAlpbnQgaTsKLQlzdHJ1Y3QgdHJlZV9kZXNjX3ggKnR4ID0geGNhbGxvYyhuLCBzaXplb2YoKnR4KSk7CisJc3RydWN0IHRyZWVfZGVzY194IHR4W0FSUkFZX1NJWkUoZW50cnkpXTsKIAlzdHJ1Y3Qgc3RyYnVmIGJhc2UgPSBTVFJCVUZfSU5JVDsKIAlpbnQgaW50ZXJlc3RpbmcgPSAxOwogCWNoYXIgKnRyYXZlcnNlX3BhdGg7CiAKLQlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQorCWlmIChuID49IEFSUkFZX1NJWkUoZW50cnkpKQorCQlCVUcoInRyYXZlcnNlX3RyZWVzKCkgY2FsbGVkIHdpdGggdG9vIG1hbnkgdHJlZXMgKCVkKSIsIG4pOworCisJZm9yIChpID0gMDsgaSA8IG47IGkrKykgewogCQl0eFtpXS5kID0gdFtpXTsKKwkJdHhbaV0uc2tpcCA9IE5VTEw7CisJfQogCiAJaWYgKGluZm8tPnByZXYpIHsKLQkJc3RyYnVmX2dyb3coJmJhc2UsIGluZm8tPnBhdGhsZW4pOwotCQltYWtlX3RyYXZlcnNlX3BhdGgoYmFzZS5idWYsIGluZm8tPnByZXYsICZpbmZvLT5uYW1lKTsKLQkJYmFzZS5idWZbaW5mby0+cGF0aGxlbi0xXSA9ICcvJzsKLQkJc3RyYnVmX3NldGxlbigmYmFzZSwgaW5mby0+cGF0aGxlbik7Ci0JCXRyYXZlcnNlX3BhdGggPSB4c3RybmR1cChiYXNlLmJ1ZiwgaW5mby0+cGF0aGxlbik7CisJCXN0cmJ1Zl9tYWtlX3RyYXZlcnNlX3BhdGgoJmJhc2UsIGluZm8tPnByZXYsCisJCQkJCSAgaW5mby0+bmFtZSwgaW5mby0+bmFtZWxlbik7CisJCXN0cmJ1Zl9hZGRjaCgmYmFzZSwgJy8nKTsKKwkJdHJhdmVyc2VfcGF0aCA9IHhzdHJuZHVwKGJhc2UuYnVmLCBiYXNlLmxlbik7CiAJfSBlbHNlIHsKLQkJdHJhdmVyc2VfcGF0aCA9IHhzdHJuZHVwKGluZm8tPm5hbWUucGF0aCwgaW5mby0+cGF0aGxlbik7CisJCXRyYXZlcnNlX3BhdGggPSB4c3RybmR1cChpbmZvLT5uYW1lLCBpbmZvLT5wYXRobGVuKTsKIAl9CiAJaW5mby0+dHJhdmVyc2VfcGF0aCA9IHRyYXZlcnNlX3BhdGg7CiAJZm9yICg7OykgewpAQCAtNDY3LDcgKzQ5NCw3IEBACiAJCX0KIAkJaWYgKCFtYXNrKQogCQkJYnJlYWs7Ci0JCWludGVyZXN0aW5nID0gcHJ1bmVfdHJhdmVyc2FsKGUsIGluZm8sICZiYXNlLCBpbnRlcmVzdGluZyk7CisJCWludGVyZXN0aW5nID0gcHJ1bmVfdHJhdmVyc2FsKGlzdGF0ZSwgZSwgaW5mbywgJmJhc2UsIGludGVyZXN0aW5nKTsKIAkJaWYgKGludGVyZXN0aW5nIDwgMCkKIAkJCWJyZWFrOwogCQlpZiAoaW50ZXJlc3RpbmcpIHsKQEAgLTQ4MywxMCArNTEwLDggQEAKIAkJCWlmIChtYXNrICYgKDF1bCA8PCBpKSkKIAkJCQl1cGRhdGVfZXh0ZW5kZWRfZW50cnkodHggKyBpLCBlbnRyeSArIGkpOwogCX0KLQlmcmVlKGVudHJ5KTsKIAlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQogCQlmcmVlX2V4dGVuZGVkX2VudHJ5KHR4ICsgaSk7Ci0JZnJlZSh0eCk7CiAJZnJlZSh0cmF2ZXJzZV9wYXRoKTsKIAlpbmZvLT50cmF2ZXJzZV9wYXRoID0gTlVMTDsKIAlzdHJidWZfcmVsZWFzZSgmYmFzZSk7CkBAIC00OTksMTUgKzUyNCwxNyBAQAogCXN0cnVjdCBvYmplY3RfaWQgb2lkOwogfTsKIAotc3RhdGljIGludCBmaW5kX3RyZWVfZW50cnkoc3RydWN0IHRyZWVfZGVzYyAqdCwgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9pZCAqcmVzdWx0LCB1bnNpZ25lZCAqbW9kZSkKK3N0YXRpYyBpbnQgZmluZF90cmVlX2VudHJ5KHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3QgdHJlZV9kZXNjICp0LAorCQkJICAgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9pZCAqcmVzdWx0LAorCQkJICAgdW5zaWduZWQgc2hvcnQgKm1vZGUpCiB7CiAJaW50IG5hbWVsZW4gPSBzdHJsZW4obmFtZSk7CiAJd2hpbGUgKHQtPnNpemUpIHsKIAkJY29uc3QgY2hhciAqZW50cnk7Ci0JCWNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZDsKKwkJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJCWludCBlbnRyeWxlbiwgY21wOwogCi0JCW9pZCA9IHRyZWVfZW50cnlfZXh0cmFjdCh0LCAmZW50cnksIG1vZGUpOworCQlvaWRjcHkoJm9pZCwgdHJlZV9lbnRyeV9leHRyYWN0KHQsICZlbnRyeSwgbW9kZSkpOwogCQllbnRyeWxlbiA9IHRyZWVfZW50cnlfbGVuKCZ0LT5lbnRyeSk7CiAJCXVwZGF0ZV90cmVlX2VudHJ5KHQpOwogCQlpZiAoZW50cnlsZW4gPiBuYW1lbGVuKQpAQCAtNTE4LDcgKzU0NSw3IEBACiAJCWlmIChjbXAgPCAwKQogCQkJYnJlYWs7CiAJCWlmIChlbnRyeWxlbiA9PSBuYW1lbGVuKSB7Ci0JCQlvaWRjcHkocmVzdWx0LCBvaWQpOworCQkJb2lkY3B5KHJlc3VsdCwgJm9pZCk7CiAJCQlyZXR1cm4gMDsKIAkJfQogCQlpZiAobmFtZVtlbnRyeWxlbl0gIT0gJy8nKQpAQCAtNTI2LDIyICs1NTMsMjYgQEAKIAkJaWYgKCFTX0lTRElSKCptb2RlKSkKIAkJCWJyZWFrOwogCQlpZiAoKytlbnRyeWxlbiA9PSBuYW1lbGVuKSB7Ci0JCQlvaWRjcHkocmVzdWx0LCBvaWQpOworCQkJb2lkY3B5KHJlc3VsdCwgJm9pZCk7CiAJCQlyZXR1cm4gMDsKIAkJfQotCQlyZXR1cm4gZ2V0X3RyZWVfZW50cnkob2lkLCBuYW1lICsgZW50cnlsZW4sIHJlc3VsdCwgbW9kZSk7CisJCXJldHVybiBnZXRfdHJlZV9lbnRyeShyLCAmb2lkLCBuYW1lICsgZW50cnlsZW4sIHJlc3VsdCwgbW9kZSk7CiAJfQogCXJldHVybiAtMTsKIH0KIAotaW50IGdldF90cmVlX2VudHJ5KGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKnRyZWVfb2lkLCBjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQsIHVuc2lnbmVkICptb2RlKQoraW50IGdldF90cmVlX2VudHJ5KHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkgICBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICp0cmVlX29pZCwKKwkJICAgY29uc3QgY2hhciAqbmFtZSwKKwkJICAgc3RydWN0IG9iamVjdF9pZCAqb2lkLAorCQkgICB1bnNpZ25lZCBzaG9ydCAqbW9kZSkKIHsKIAlpbnQgcmV0dmFsOwogCXZvaWQgKnRyZWU7CiAJdW5zaWduZWQgbG9uZyBzaXplOwogCXN0cnVjdCBvYmplY3RfaWQgcm9vdDsKIAotCXRyZWUgPSByZWFkX29iamVjdF93aXRoX3JlZmVyZW5jZSh0cmVlX29pZCwgdHJlZV90eXBlLCAmc2l6ZSwgJnJvb3QpOworCXRyZWUgPSByZWFkX29iamVjdF93aXRoX3JlZmVyZW5jZShyLCB0cmVlX29pZCwgdHJlZV90eXBlLCAmc2l6ZSwgJnJvb3QpOwogCWlmICghdHJlZSkKIAkJcmV0dXJuIC0xOwogCkBAIC01NTYsNyArNTg3LDcgQEAKIAl9IGVsc2UgewogCQlzdHJ1Y3QgdHJlZV9kZXNjIHQ7CiAJCWluaXRfdHJlZV9kZXNjKCZ0LCB0cmVlLCBzaXplKTsKLQkJcmV0dmFsID0gZmluZF90cmVlX2VudHJ5KCZ0LCBuYW1lLCBvaWQsIG1vZGUpOworCQlyZXR2YWwgPSBmaW5kX3RyZWVfZW50cnkociwgJnQsIG5hbWUsIG9pZCwgbW9kZSk7CiAJfQogCWZyZWUodHJlZSk7CiAJcmV0dXJuIHJldHZhbDsKQEAgLTU4MSwxMCArNjEyLDEzIEBACiAgKiB3aXRoIHRoZSBzaGExIG9mIHRoZSBmb3VuZCBvYmplY3QsIGFuZCAqbW9kZSB3aWxsIGhvbGQgdGhlIG1vZGUgb2YKICAqIHRoZSBvYmplY3QuCiAgKgotICogU2VlIHRoZSBjb2RlIGZvciBlbnVtIGZvbGxvd19zeW1saW5rX3Jlc3VsdCBmb3IgYSBkZXNjcmlwdGlvbiBvZgorICogU2VlIHRoZSBjb2RlIGZvciBlbnVtIGdldF9vaWRfcmVzdWx0IGZvciBhIGRlc2NyaXB0aW9uIG9mCiAgKiB0aGUgcmV0dXJuIHZhbHVlcy4KICAqLwotZW51bSBmb2xsb3dfc3ltbGlua3NfcmVzdWx0IGdldF90cmVlX2VudHJ5X2ZvbGxvd19zeW1saW5rcyhzdHJ1Y3Qgb2JqZWN0X2lkICp0cmVlX29pZCwgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamVjdF9pZCAqcmVzdWx0LCBzdHJ1Y3Qgc3RyYnVmICpyZXN1bHRfcGF0aCwgdW5zaWduZWQgKm1vZGUpCitlbnVtIGdldF9vaWRfcmVzdWx0IGdldF90cmVlX2VudHJ5X2ZvbGxvd19zeW1saW5rcyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJc3RydWN0IG9iamVjdF9pZCAqdHJlZV9vaWQsIGNvbnN0IGNoYXIgKm5hbWUsCisJCXN0cnVjdCBvYmplY3RfaWQgKnJlc3VsdCwgc3RydWN0IHN0cmJ1ZiAqcmVzdWx0X3BhdGgsCisJCXVuc2lnbmVkIHNob3J0ICptb2RlKQogewogCWludCByZXR2YWwgPSBNSVNTSU5HX09CSkVDVDsKIAlzdHJ1Y3QgZGlyX3N0YXRlICpwYXJlbnRzID0gTlVMTDsKQEAgLTYwOCw3ICs2NDIsOCBAQAogCQkJdm9pZCAqdHJlZTsKIAkJCXN0cnVjdCBvYmplY3RfaWQgcm9vdDsKIAkJCXVuc2lnbmVkIGxvbmcgc2l6ZTsKLQkJCXRyZWUgPSByZWFkX29iamVjdF93aXRoX3JlZmVyZW5jZSgmY3VycmVudF90cmVlX29pZCwKKwkJCXRyZWUgPSByZWFkX29iamVjdF93aXRoX3JlZmVyZW5jZShyLAorCQkJCQkJCSAgJmN1cnJlbnRfdHJlZV9vaWQsCiAJCQkJCQkJICB0cmVlX3R5cGUsICZzaXplLAogCQkJCQkJCSAgJnJvb3QpOwogCQkJaWYgKCF0cmVlKQpAQCAtNjc3LDcgKzcxMiw3IEBACiAJCX0KIAogCQkvKiBMb29rIHVwIHRoZSBmaXJzdCAob3Igb25seSkgcGF0aCBjb21wb25lbnQgaW4gdGhlIHRyZWUuICovCi0JCWZpbmRfcmVzdWx0ID0gZmluZF90cmVlX2VudHJ5KCZ0LCBuYW1lYnVmLmJ1ZiwKKwkJZmluZF9yZXN1bHQgPSBmaW5kX3RyZWVfZW50cnkociwgJnQsIG5hbWVidWYuYnVmLAogCQkJCQkgICAgICAmY3VycmVudF90cmVlX29pZCwgbW9kZSk7CiAJCWlmIChmaW5kX3Jlc3VsdCkgewogCQkJZ290byBkb25lOwpAQCAtNzIxLDcgKzc1Niw4IEBACiAJCQkgKi8KIAkJCXJldHZhbCA9IERBTkdMSU5HX1NZTUxJTks7CiAKLQkJCWNvbnRlbnRzID0gcmVhZF9vYmplY3RfZmlsZSgmY3VycmVudF90cmVlX29pZCwgJnR5cGUsCisJCQljb250ZW50cyA9IHJlcG9fcmVhZF9vYmplY3RfZmlsZShyLAorCQkJCQkJICAgICZjdXJyZW50X3RyZWVfb2lkLCAmdHlwZSwKIAkJCQkJCSAgICAmbGlua19sZW4pOwogCiAJCQlpZiAoIWNvbnRlbnRzKQpAQCAtOTM0LDcgKzk3MCw4IEBACiAgKiBQcmUtY29uZGl0aW9uOiBlaXRoZXIgYmFzZWxlbiA9PSBiYXNlX29mZnNldCAoaS5lLiBlbXB0eSBwYXRoKQogICogb3IgYmFzZVtiYXNlbGVuLTFdID09ICcvJyAoaS5lLiB3aXRoIHRyYWlsaW5nIHNsYXNoKS4KICAqLwotc3RhdGljIGVudW0gaW50ZXJlc3RpbmcgZG9fbWF0Y2goY29uc3Qgc3RydWN0IG5hbWVfZW50cnkgKmVudHJ5LAorc3RhdGljIGVudW0gaW50ZXJlc3RpbmcgZG9fbWF0Y2goc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCisJCQkJIGNvbnN0IHN0cnVjdCBuYW1lX2VudHJ5ICplbnRyeSwKIAkJCQkgc3RydWN0IHN0cmJ1ZiAqYmFzZSwgaW50IGJhc2Vfb2Zmc2V0LAogCQkJCSBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBzLAogCQkJCSBpbnQgZXhjbHVkZSkKQEAgLTk1MCw3ICs5ODcsOCBAQAogCQkgICAgICAgUEFUSFNQRUNfTElURVJBTCB8CiAJCSAgICAgICBQQVRIU1BFQ19HTE9CIHwKIAkJICAgICAgIFBBVEhTUEVDX0lDQVNFIHwKLQkJICAgICAgIFBBVEhTUEVDX0VYQ0xVREUpOworCQkgICAgICAgUEFUSFNQRUNfRVhDTFVERSB8CisJCSAgICAgICBQQVRIU1BFQ19BVFRSKTsKIAogCWlmICghcHMtPm5yKSB7CiAJCWlmICghcHMtPnJlY3Vyc2l2ZSB8fApAQCAtOTgyLDE0ICsxMDIwLDIwIEBACiAKIAkJCWlmICghcHMtPnJlY3Vyc2l2ZSB8fAogCQkJICAgICEocHMtPm1hZ2ljICYgUEFUSFNQRUNfTUFYREVQVEgpIHx8Ci0JCQkgICAgcHMtPm1heF9kZXB0aCA9PSAtMSkKLQkJCQlyZXR1cm4gYWxsX2VudHJpZXNfaW50ZXJlc3Rpbmc7CisJCQkgICAgcHMtPm1heF9kZXB0aCA9PSAtMSkgeworCQkJCWlmICghaXRlbS0+YXR0cl9tYXRjaF9ucikKKwkJCQkJcmV0dXJuIGFsbF9lbnRyaWVzX2ludGVyZXN0aW5nOworCQkJCWVsc2UKKwkJCQkJZ290byBpbnRlcmVzdGluZzsKKwkJCX0KIAotCQkJcmV0dXJuIHdpdGhpbl9kZXB0aChiYXNlX3N0ciArIG1hdGNobGVuICsgMSwKLQkJCQkJICAgIGJhc2VsZW4gLSBtYXRjaGxlbiAtIDEsCi0JCQkJCSAgICAhIVNfSVNESVIoZW50cnktPm1vZGUpLAotCQkJCQkgICAgcHMtPm1heF9kZXB0aCkgPwotCQkJCWVudHJ5X2ludGVyZXN0aW5nIDogZW50cnlfbm90X2ludGVyZXN0aW5nOworCQkJaWYgKHdpdGhpbl9kZXB0aChiYXNlX3N0ciArIG1hdGNobGVuICsgMSwKKwkJCQkJIGJhc2VsZW4gLSBtYXRjaGxlbiAtIDEsCisJCQkJCSAhIVNfSVNESVIoZW50cnktPm1vZGUpLAorCQkJCQkgcHMtPm1heF9kZXB0aCkpCisJCQkJZ290byBpbnRlcmVzdGluZzsKKwkJCWVsc2UKKwkJCQlyZXR1cm4gZW50cnlfbm90X2ludGVyZXN0aW5nOwogCQl9CiAKIAkJLyogRWl0aGVyIHRoZXJlIG11c3QgYmUgbm8gYmFzZSwgb3IgdGhlIGJhc2UgbXVzdCBtYXRjaC4gKi8KQEAgLTk5NywxMiArMTA0MSwxMiBAQAogCQkJaWYgKG1hdGNoX2VudHJ5KGl0ZW0sIGVudHJ5LCBwYXRobGVuLAogCQkJCQltYXRjaCArIGJhc2VsZW4sIG1hdGNobGVuIC0gYmFzZWxlbiwKIAkJCQkJJm5ldmVyX2ludGVyZXN0aW5nKSkKLQkJCQlyZXR1cm4gZW50cnlfaW50ZXJlc3Rpbmc7CisJCQkJZ290byBpbnRlcmVzdGluZzsKIAogCQkJaWYgKGl0ZW0tPm5vd2lsZGNhcmRfbGVuIDwgaXRlbS0+bGVuKSB7CiAJCQkJaWYgKCFnaXRfZm5tYXRjaChpdGVtLCBtYXRjaCArIGJhc2VsZW4sIGVudHJ5LT5wYXRoLAogCQkJCQkJIGl0ZW0tPm5vd2lsZGNhcmRfbGVuIC0gYmFzZWxlbikpCi0JCQkJCXJldHVybiBlbnRyeV9pbnRlcmVzdGluZzsKKwkJCQkJZ290byBpbnRlcmVzdGluZzsKIAogCQkJCS8qCiAJCQkJICogTWF0Y2ggYWxsIGRpcmVjdG9yaWVzLiBXZSdsbCB0cnkgdG8KQEAgLTEwMjMsNyArMTA2Nyw3IEBACiAJCQkJICAgICFwc19zdHJuY21wKGl0ZW0sIG1hdGNoICsgYmFzZWxlbiwKIAkJCQkJCWVudHJ5LT5wYXRoLAogCQkJCQkJaXRlbS0+bm93aWxkY2FyZF9sZW4gLSBiYXNlbGVuKSkKLQkJCQkJcmV0dXJuIGVudHJ5X2ludGVyZXN0aW5nOworCQkJCQlnb3RvIGludGVyZXN0aW5nOwogCQkJfQogCiAJCQljb250aW51ZTsKQEAgLTEwNTgsNyArMTEwMiw3IEBACiAJCWlmICghZ2l0X2ZubWF0Y2goaXRlbSwgbWF0Y2gsIGJhc2UtPmJ1ZiArIGJhc2Vfb2Zmc2V0LAogCQkJCSBpdGVtLT5ub3dpbGRjYXJkX2xlbikpIHsKIAkJCXN0cmJ1Zl9zZXRsZW4oYmFzZSwgYmFzZV9vZmZzZXQgKyBiYXNlbGVuKTsKLQkJCXJldHVybiBlbnRyeV9pbnRlcmVzdGluZzsKKwkJCWdvdG8gaW50ZXJlc3Rpbmc7CiAJCX0KIAogCQkvKgpAQCAtMTA3Miw3ICsxMTE2LDcgQEAKIAkJICAgICFwc19zdHJuY21wKGl0ZW0sIG1hdGNoLCBiYXNlLT5idWYgKyBiYXNlX29mZnNldCwKIAkJCQlpdGVtLT5ub3dpbGRjYXJkX2xlbikpIHsKIAkJCXN0cmJ1Zl9zZXRsZW4oYmFzZSwgYmFzZV9vZmZzZXQgKyBiYXNlbGVuKTsKLQkJCXJldHVybiBlbnRyeV9pbnRlcmVzdGluZzsKKwkJCWdvdG8gaW50ZXJlc3Rpbmc7CiAJCX0KIAogCQlzdHJidWZfc2V0bGVuKGJhc2UsIGJhc2Vfb2Zmc2V0ICsgYmFzZWxlbik7CkBAIC0xMDgyLDEwICsxMTI2LDQyIEBACiAJCSAqIGxhdGVyIG9uLgogCQkgKiBtYXhfZGVwdGggaXMgaWdub3JlZCBidXQgd2UgbWF5IGNvbnNpZGVyIHN1cHBvcnQgaXQKIAkJICogaW4gZnV0dXJlLCBzZWUKLQkJICogaHR0cHM6Ly9wdWJsaWMtaW5ib3gub3JnL2dpdC83dm14bzVsMmc0LmZzZkBhbHRlci5zaWFtZXNlLmR5bmRucy5vcmcvCisJCSAqIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2dpdC83dm14bzVsMmc0LmZzZkBhbHRlci5zaWFtZXNlLmR5bmRucy5vcmcvCiAJCSAqLwogCQlpZiAocHMtPnJlY3Vyc2l2ZSAmJiBTX0lTRElSKGVudHJ5LT5tb2RlKSkKIAkJCXJldHVybiBlbnRyeV9pbnRlcmVzdGluZzsKKwkJY29udGludWU7CitpbnRlcmVzdGluZzoKKwkJaWYgKGl0ZW0tPmF0dHJfbWF0Y2hfbnIpIHsKKwkJCWludCByZXQ7CisKKwkJCS8qCisJCQkgKiBNdXN0IG5vdCByZXR1cm4gYWxsX2VudHJpZXNfbm90X2ludGVyZXN0aW5nCisJCQkgKiBwcmVtYXR1cmVseS4gV2UgZG8gbm90IGtub3cgaWYgYWxsIGVudHJpZXMgZG8gbm90CisJCQkgKiBtYXRjaCBzb21lIGF0dHJpYnV0ZXMgd2l0aCBjdXJyZW50IGF0dHIgQVBJLgorCQkJICovCisJCQluZXZlcl9pbnRlcmVzdGluZyA9IGVudHJ5X25vdF9pbnRlcmVzdGluZzsKKworCQkJLyoKKwkJCSAqIENvbnNpZGVyIGFsbCBkaXJlY3RvcmllcyBpbnRlcmVzdGluZyAoYmVjYXVzZSBzb21lCisJCQkgKiBvZiB0aG9zZSBmaWxlcyBpbnNpZGUgbWF5IG1hdGNoIHNvbWUgYXR0cmlidXRlcworCQkJICogZXZlbiB0aG91Z2ggdGhlIHBhcmVudCBkaXIgZG9lcyBub3QpCisJCQkgKgorCQkJICogRklYTUU6IGF0dHJpYnV0ZXMgX2Nhbl8gbWF0Y2ggZGlyZWN0b3JpZXMgYW5kIHdlCisJCQkgKiBjYW4gcHJvYmFibHkgcmV0dXJuIGFsbF9lbnRyaWVzX2ludGVyZXN0aW5nIG9yCisJCQkgKiBhbGxfZW50cmllc19ub3RfaW50ZXJlc3RpbmcgaGVyZSBpZiBtYXRjaGVkLgorCQkJICovCisJCQlpZiAoU19JU0RJUihlbnRyeS0+bW9kZSkpCisJCQkJcmV0dXJuIGVudHJ5X2ludGVyZXN0aW5nOworCisJCQlzdHJidWZfYWRkKGJhc2UsIGVudHJ5LT5wYXRoLCBwYXRobGVuKTsKKwkJCXJldCA9IG1hdGNoX3BhdGhzcGVjX2F0dHJzKGlzdGF0ZSwgYmFzZS0+YnVmICsgYmFzZV9vZmZzZXQsCisJCQkJCQkgICBiYXNlLT5sZW4gLSBiYXNlX29mZnNldCwgaXRlbSk7CisJCQlzdHJidWZfc2V0bGVuKGJhc2UsIGJhc2Vfb2Zmc2V0ICsgYmFzZWxlbik7CisJCQlpZiAoIXJldCkKKwkJCQljb250aW51ZTsKKwkJfQorCQlyZXR1cm4gZW50cnlfaW50ZXJlc3Rpbmc7CiAJfQogCXJldHVybiBuZXZlcl9pbnRlcmVzdGluZzsgLyogTm8gbWF0Y2hlcyAqLwogfQpAQCAtMTA5NiwxMiArMTE3MiwxMyBAQAogICogUHJlLWNvbmRpdGlvbjogZWl0aGVyIGJhc2VsZW4gPT0gYmFzZV9vZmZzZXQgKGkuZS4gZW1wdHkgcGF0aCkKICAqIG9yIGJhc2VbYmFzZWxlbi0xXSA9PSAnLycgKGkuZS4gd2l0aCB0cmFpbGluZyBzbGFzaCkuCiAgKi8KLWVudW0gaW50ZXJlc3RpbmcgdHJlZV9lbnRyeV9pbnRlcmVzdGluZyhjb25zdCBzdHJ1Y3QgbmFtZV9lbnRyeSAqZW50cnksCitlbnVtIGludGVyZXN0aW5nIHRyZWVfZW50cnlfaW50ZXJlc3Rpbmcoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCisJCQkJCWNvbnN0IHN0cnVjdCBuYW1lX2VudHJ5ICplbnRyeSwKIAkJCQkJc3RydWN0IHN0cmJ1ZiAqYmFzZSwgaW50IGJhc2Vfb2Zmc2V0LAogCQkJCQljb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBzKQogewogCWVudW0gaW50ZXJlc3RpbmcgcG9zaXRpdmUsIG5lZ2F0aXZlOwotCXBvc2l0aXZlID0gZG9fbWF0Y2goZW50cnksIGJhc2UsIGJhc2Vfb2Zmc2V0LCBwcywgMCk7CisJcG9zaXRpdmUgPSBkb19tYXRjaChpc3RhdGUsIGVudHJ5LCBiYXNlLCBiYXNlX29mZnNldCwgcHMsIDApOwogCiAJLyoKIAkgKiBjYXNlIHwgZW50cnkgfCBwb3NpdGl2ZSB8IG5lZ2F0aXZlIHwgcmVzdWx0CkBAIC0xMTM4LDcgKzEyMTUsNyBAQAogCSAgICBwb3NpdGl2ZSA8PSBlbnRyeV9ub3RfaW50ZXJlc3RpbmcpIC8qICMxLCAjMiwgIzExLCAjMTIgKi8KIAkJcmV0dXJuIHBvc2l0aXZlOwogCi0JbmVnYXRpdmUgPSBkb19tYXRjaChlbnRyeSwgYmFzZSwgYmFzZV9vZmZzZXQsIHBzLCAxKTsKKwluZWdhdGl2ZSA9IGRvX21hdGNoKGlzdGF0ZSwgZW50cnksIGJhc2UsIGJhc2Vfb2Zmc2V0LCBwcywgMSk7CiAKIAkvKiAjOCwgIzE4ICovCiAJaWYgKHBvc2l0aXZlID09IGFsbF9lbnRyaWVzX2ludGVyZXN0aW5nICYmCmRpZmYgLS1naXQgYS90cmVlLXdhbGsuaCBiL3RyZWUtd2Fsay5oCmluZGV4IDE5NjgzMTAuLmE1MDU4NDYgMTAwNjQ0Ci0tLSBhL3RyZWUtd2Fsay5oCisrKyBiL3RyZWUtd2Fsay5oCkBAIC0xLDMwICsxLDYyIEBACiAjaWZuZGVmIFRSRUVfV0FMS19ICiAjZGVmaW5lIFRSRUVfV0FMS19ICiAKLXN0cnVjdCBzdHJidWY7CisjaW5jbHVkZSAiY2FjaGUuaCIKIAorI2RlZmluZSBNQVhfVFJBVkVSU0VfVFJFRVMgOAorCisvKioKKyAqIFRoZSB0cmVlIHdhbGtpbmcgQVBJIGlzIHVzZWQgdG8gdHJhdmVyc2UgYW5kIGluc3BlY3QgdHJlZXMuCisgKi8KKworLyoqCisgKiBBbiBlbnRyeSBpbiBhIHRyZWUuIEVhY2ggZW50cnkgaGFzIGEgc2hhMSBpZGVudGlmaWVyLCBwYXRobmFtZSwgYW5kIG1vZGUuCisgKi8KIHN0cnVjdCBuYW1lX2VudHJ5IHsKLQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQ7CisJc3RydWN0IG9iamVjdF9pZCBvaWQ7CiAJY29uc3QgY2hhciAqcGF0aDsKKwlpbnQgcGF0aGxlbjsKIAl1bnNpZ25lZCBpbnQgbW9kZTsKIH07CiAKKy8qKgorICogQSBzZW1pLW9wYXF1ZSBkYXRhIHN0cnVjdHVyZSB1c2VkIHRvIG1haW50YWluIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSB3YWxrLgorICovCiBzdHJ1Y3QgdHJlZV9kZXNjIHsKKwkvKgorCSAqIHBvaW50ZXIgaW50byB0aGUgbWVtb3J5IHJlcHJlc2VudGF0aW9uIG9mIHRoZSB0cmVlLiBJdCBhbHdheXMKKwkgKiBwb2ludHMgYXQgdGhlIGN1cnJlbnQgZW50cnkgYmVpbmcgdmlzaXRlZC4KKwkgKi8KIAljb25zdCB2b2lkICpidWZmZXI7CisKKwkvKiBwb2ludHMgdG8gdGhlIGN1cnJlbnQgZW50cnkgYmVpbmcgdmlzaXRlZC4gKi8KIAlzdHJ1Y3QgbmFtZV9lbnRyeSBlbnRyeTsKKworCS8qIGNvdW50cyB0aGUgbnVtYmVyIG9mIGJ5dGVzIGxlZnQgaW4gdGhlIGBidWZmZXJgLiAqLwogCXVuc2lnbmVkIGludCBzaXplOwogfTsKIAotc3RhdGljIGlubGluZSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICp0cmVlX2VudHJ5X2V4dHJhY3Qoc3RydWN0IHRyZWVfZGVzYyAqZGVzYywgY29uc3QgY2hhciAqKnBhdGhwLCB1bnNpZ25lZCBpbnQgKm1vZGVwKQorLyoqCisgKiBEZWNvZGUgdGhlIGVudHJ5IGN1cnJlbnRseSBiZWluZyB2aXNpdGVkICh0aGUgb25lIHBvaW50ZWQgdG8gYnkKKyAqIGB0cmVlX2Rlc2Mnc2AgYGVudHJ5YCBtZW1iZXIpIGFuZCByZXR1cm4gdGhlIHNoYTEgb2YgdGhlIGVudHJ5LiBUaGUKKyAqIGBwYXRocGAgYW5kIGBtb2RlcGAgYXJndW1lbnRzIGFyZSBzZXQgdG8gdGhlIGVudHJ5J3MgcGF0aG5hbWUgYW5kIG1vZGUKKyAqIHJlc3BlY3RpdmVseS4KKyAqLworc3RhdGljIGlubGluZSBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICp0cmVlX2VudHJ5X2V4dHJhY3Qoc3RydWN0IHRyZWVfZGVzYyAqZGVzYywgY29uc3QgY2hhciAqKnBhdGhwLCB1bnNpZ25lZCBzaG9ydCAqbW9kZXApCiB7CiAJKnBhdGhwID0gZGVzYy0+ZW50cnkucGF0aDsKIAkqbW9kZXAgPSBkZXNjLT5lbnRyeS5tb2RlOwotCXJldHVybiBkZXNjLT5lbnRyeS5vaWQ7CisJcmV0dXJuICZkZXNjLT5lbnRyeS5vaWQ7CiB9CiAKKy8qKgorICogQ2FsY3VsYXRlIHRoZSBsZW5ndGggb2YgYSB0cmVlIGVudHJ5J3MgcGF0aG5hbWUuIFRoaXMgdXRpbGl6ZXMgdGhlCisgKiBtZW1vcnkgc3RydWN0dXJlIG9mIGEgdHJlZSBlbnRyeSB0byBhdm9pZCB0aGUgb3ZlcmhlYWQgb2YgdXNpbmcgYQorICogZ2VuZXJpYyBzdHJsZW4oKS4KKyAqLwogc3RhdGljIGlubGluZSBpbnQgdHJlZV9lbnRyeV9sZW4oY29uc3Qgc3RydWN0IG5hbWVfZW50cnkgKm5lKQogewotCXJldHVybiAoY29uc3QgY2hhciAqKW5lLT5vaWQgLSBuZS0+cGF0aCAtIDE7CisJcmV0dXJuIG5lLT5wYXRobGVuOwogfQogCiAvKgpAQCAtMzIsNjIgKzY0LDE0NSBAQAogICogY29ycnVwdCB0cmVlIGVudHJ5IHJhdGhlciB0aGFuIGR5aW5nLAogICovCiAKKy8qKgorICogV2FsayB0byB0aGUgbmV4dCBlbnRyeSBpbiBhIHRyZWUuIFRoaXMgaXMgY29tbW9ubHkgdXNlZCBpbiBjb25qdW5jdGlvbgorICogd2l0aCBgdHJlZV9lbnRyeV9leHRyYWN0YCB0byBpbnNwZWN0IHRoZSBjdXJyZW50IGVudHJ5LgorICovCiB2b2lkIHVwZGF0ZV90cmVlX2VudHJ5KHN0cnVjdCB0cmVlX2Rlc2MgKik7CisKIGludCB1cGRhdGVfdHJlZV9lbnRyeV9nZW50bHkoc3RydWN0IHRyZWVfZGVzYyAqKTsKKworLyoqCisgKiBJbml0aWFsaXplIGEgYHRyZWVfZGVzY2AgYW5kIGRlY29kZSBpdHMgZmlyc3QgZW50cnkuIFRoZSBidWZmZXIgYW5kCisgKiBzaXplIHBhcmFtZXRlcnMgYXJlIGFzc3VtZWQgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIGJ1ZmZlciBhbmQgc2l6ZQorICogbWVtYmVycyBvZiBgc3RydWN0IHRyZWVgLgorICovCiB2b2lkIGluaXRfdHJlZV9kZXNjKHN0cnVjdCB0cmVlX2Rlc2MgKmRlc2MsIGNvbnN0IHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyBzaXplKTsKKwogaW50IGluaXRfdHJlZV9kZXNjX2dlbnRseShzdHJ1Y3QgdHJlZV9kZXNjICpkZXNjLCBjb25zdCB2b2lkICpidWYsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CiAKIC8qCi0gKiBIZWxwZXIgZnVuY3Rpb24gdGhhdCBkb2VzIGJvdGggdHJlZV9lbnRyeV9leHRyYWN0KCkgYW5kIHVwZGF0ZV90cmVlX2VudHJ5KCkKLSAqIGFuZCByZXR1cm5zIHRydWUgZm9yIHN1Y2Nlc3MKKyAqIFZpc2l0IHRoZSBuZXh0IGVudHJ5IGluIGEgdHJlZS4gUmV0dXJucyAxIHdoZW4gdGhlcmUgYXJlIG1vcmUgZW50cmllcworICogbGVmdCB0byB2aXNpdCBhbmQgMCB3aGVuIGFsbCBlbnRyaWVzIGhhdmUgYmVlbiB2aXNpdGVkLiBUaGlzIGlzCisgKiBjb21tb25seSB1c2VkIGluIHRoZSB0ZXN0IG9mIGEgd2hpbGUgbG9vcC4KICAqLwogaW50IHRyZWVfZW50cnkoc3RydWN0IHRyZWVfZGVzYyAqLCBzdHJ1Y3QgbmFtZV9lbnRyeSAqKTsKKwogaW50IHRyZWVfZW50cnlfZ2VudGx5KHN0cnVjdCB0cmVlX2Rlc2MgKiwgc3RydWN0IG5hbWVfZW50cnkgKik7CiAKLXZvaWQgKmZpbGxfdHJlZV9kZXNjcmlwdG9yKHN0cnVjdCB0cmVlX2Rlc2MgKmRlc2MsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CisvKioKKyAqIEluaXRpYWxpemUgYSBgdHJlZV9kZXNjYCBhbmQgZGVjb2RlIGl0cyBmaXJzdCBlbnRyeSBnaXZlbiB0aGUKKyAqIG9iamVjdCBJRCBvZiBhIHRyZWUuIFJldHVybnMgdGhlIGBidWZmZXJgIG1lbWJlciBpZiB0aGUgbGF0dGVyCisgKiBpcyBhIHZhbGlkIHRyZWUgaWRlbnRpZmllciBhbmQgTlVMTCBvdGhlcndpc2UuCisgKi8KK3ZvaWQgKmZpbGxfdHJlZV9kZXNjcmlwdG9yKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJICAgc3RydWN0IHRyZWVfZGVzYyAqZGVzYywKKwkJCSAgIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCk7CiAKIHN0cnVjdCB0cmF2ZXJzZV9pbmZvOwogdHlwZWRlZiBpbnQgKCp0cmF2ZXJzZV9jYWxsYmFja190KShpbnQgbiwgdW5zaWduZWQgbG9uZyBtYXNrLCB1bnNpZ25lZCBsb25nIGRpcm1hc2ssIHN0cnVjdCBuYW1lX2VudHJ5ICplbnRyeSwgc3RydWN0IHRyYXZlcnNlX2luZm8gKik7Ci1pbnQgdHJhdmVyc2VfdHJlZXMoaW50IG4sIHN0cnVjdCB0cmVlX2Rlc2MgKnQsIHN0cnVjdCB0cmF2ZXJzZV9pbmZvICppbmZvKTsKIAotZW51bSBmb2xsb3dfc3ltbGlua3NfcmVzdWx0IHsKLQlGT1VORCA9IDAsIC8qIFRoaXMgaW5jbHVkZXMgb3V0LW9mLXRyZWUgbGlua3MgKi8KLQlNSVNTSU5HX09CSkVDVCA9IC0xLCAvKiBUaGUgaW5pdGlhbCBzeW1saW5rIGlzIG1pc3NpbmcgKi8KLQlEQU5HTElOR19TWU1MSU5LID0gLTIsIC8qCi0JCQkJKiBUaGUgaW5pdGlhbCBzeW1saW5rIGlzIHRoZXJlLCBidXQKLQkJCQkqICh0cmFuc2l0aXZlbHkpIHBvaW50cyB0byBhIG1pc3NpbmcKLQkJCQkqIGluLXRyZWUgZmlsZQotCQkJCSovCi0JU1lNTElOS19MT09QID0gLTMsCi0JTk9UX0RJUiA9IC00LCAvKgotCQkgICAgICAgKiBTb21ld2hlcmUgYWxvbmcgdGhlIHN5bWxpbmsgY2hhaW4sIGEgcGF0aCBpcwotCQkgICAgICAgKiByZXF1ZXN0ZWQgd2hpY2ggY29udGFpbnMgYSBmaWxlIGFzIGEKLQkJICAgICAgICogbm9uLWZpbmFsIGVsZW1lbnQuCi0JCSAgICAgICAqLwotfTsKKy8qKgorICogVHJhdmVyc2UgYG5gIG51bWJlciBvZiB0cmVlcyBpbiBwYXJhbGxlbC4gVGhlIGBmbmAgY2FsbGJhY2sgbWVtYmVyIG9mCisgKiBgdHJhdmVyc2VfaW5mb2AgaXMgY2FsbGVkIG9uY2UgZm9yIGVhY2ggdHJlZSBlbnRyeS4KKyAqLworaW50IHRyYXZlcnNlX3RyZWVzKHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLCBpbnQgbiwgc3RydWN0IHRyZWVfZGVzYyAqdCwgc3RydWN0IHRyYXZlcnNlX2luZm8gKmluZm8pOwogCi1lbnVtIGZvbGxvd19zeW1saW5rc19yZXN1bHQgZ2V0X3RyZWVfZW50cnlfZm9sbG93X3N5bWxpbmtzKHN0cnVjdCBvYmplY3RfaWQgKnRyZWVfb2lkLCBjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgb2JqZWN0X2lkICpyZXN1bHQsIHN0cnVjdCBzdHJidWYgKnJlc3VsdF9wYXRoLCB1bnNpZ25lZCAqbW9kZSk7CitlbnVtIGdldF9vaWRfcmVzdWx0IGdldF90cmVlX2VudHJ5X2ZvbGxvd19zeW1saW5rcyhzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IG9iamVjdF9pZCAqdHJlZV9vaWQsIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmplY3RfaWQgKnJlc3VsdCwgc3RydWN0IHN0cmJ1ZiAqcmVzdWx0X3BhdGgsIHVuc2lnbmVkIHNob3J0ICptb2RlKTsKIAorLyoqCisgKiBBIHN0cnVjdHVyZSB1c2VkIHRvIG1haW50YWluIHRoZSBzdGF0ZSBvZiBhIHRyYXZlcnNhbC4KKyAqLwogc3RydWN0IHRyYXZlcnNlX2luZm8gewogCWNvbnN0IGNoYXIgKnRyYXZlcnNlX3BhdGg7CisKKwkvKgorCSAqIHBvaW50cyB0byB0aGUgdHJhdmVyc2VfaW5mbyB3aGljaCB3YXMgdXNlZCB0byBkZXNjZW5kIGludG8gdGhlCisJICogY3VycmVudCB0cmVlLiBJZiB0aGlzIGlzIHRoZSB0b3AtbGV2ZWwgdHJlZSBgcHJldmAgd2lsbCBwb2ludCB0bworCSAqIGEgZHVtbXkgdHJhdmVyc2VfaW5mby4KKwkgKi8KIAlzdHJ1Y3QgdHJhdmVyc2VfaW5mbyAqcHJldjsKLQlzdHJ1Y3QgbmFtZV9lbnRyeSBuYW1lOwotCWludCBwYXRobGVuOworCisJLyogaXMgdGhlIGVudHJ5IGZvciB0aGUgY3VycmVudCB0cmVlIChpZiB0aGUgdHJlZSBpcyBhIHN1YnRyZWUpLiAqLworCWNvbnN0IGNoYXIgKm5hbWU7CisKKwlzaXplX3QgbmFtZWxlbjsKKwl1bnNpZ25lZCBtb2RlOworCisJLyogaXMgdGhlIGxlbmd0aCBvZiB0aGUgZnVsbCBwYXRoIGZvciB0aGUgY3VycmVudCB0cmVlLiAqLworCXNpemVfdCBwYXRobGVuOworCiAJc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYzsKIAorCS8qIGNhbiBiZSB1c2VkIGJ5IGNhbGxiYWNrcyB0byBtYWludGFpbiBkaXJlY3RvcnktZmlsZSBjb25mbGljdHMuICovCiAJdW5zaWduZWQgbG9uZyBkZl9jb25mbGljdHM7CisKKwkvKiBhIGNhbGxiYWNrIGNhbGxlZCBmb3IgZWFjaCBlbnRyeSBpbiB0aGUgdHJlZS4KKwkgKgorCSAqIFRoZSBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSB0cmF2ZXJzZSBjYWxsYmFjayBhcmUgYXMgZm9sbG93czoKKwkgKgorCSAqIC0gYG5gIGNvdW50cyB0aGUgbnVtYmVyIG9mIHRyZWVzIGJlaW5nIHRyYXZlcnNlZC4KKwkgKgorCSAqIC0gYG1hc2tgIGhhcyBpdHMgbnRoIGJpdCBzZXQgaWYgc29tZXRoaW5nIGV4aXN0cyBpbiB0aGUgbnRoIGVudHJ5LgorCSAqCisJICogLSBgZGlybWFza2AgaGFzIGl0cyBudGggYml0IHNldCBpZiB0aGUgbnRoIHRyZWUncyBlbnRyeSBpcyBhIGRpcmVjdG9yeS4KKwkgKgorCSAqIC0gYGVudHJ5YCBpcyBhbiBhcnJheSBvZiBzaXplIGBuYCB3aGVyZSB0aGUgbnRoIGVudHJ5IGlzIGZyb20gdGhlIG50aCB0cmVlLgorCSAqCisJICogLSBgaW5mb2AgbWFpbnRhaW5zIHRoZSBzdGF0ZSBvZiB0aGUgdHJhdmVyc2FsLgorCSAqCisJICogUmV0dXJuaW5nIGEgbmVnYXRpdmUgdmFsdWUgd2lsbCB0ZXJtaW5hdGUgdGhlIHRyYXZlcnNhbC4gT3RoZXJ3aXNlIHRoZQorCSAqIHJldHVybiB2YWx1ZSBpcyB0cmVhdGVkIGFzIGFuIHVwZGF0ZSBtYXNrLiBJZiB0aGUgbnRoIGJpdCBpcyBzZXQgdGhlIG50aCB0cmVlCisJICogd2lsbCBiZSB1cGRhdGVkIGFuZCBpZiB0aGUgYml0IGlzIG5vdCBzZXQgdGhlIG50aCB0cmVlIGVudHJ5IHdpbGwgYmUgdGhlCisJICogc2FtZSBpbiB0aGUgbmV4dCBjYWxsYmFjayBpbnZvY2F0aW9uLgorCSAqLwogCXRyYXZlcnNlX2NhbGxiYWNrX3QgZm47CisKKwkvKiBjYW4gYmUgYW55dGhpbmcgdGhlIGBmbmAgY2FsbGJhY2sgd291bGQgd2FudCB0byB1c2UuICovCiAJdm9pZCAqZGF0YTsKKworCS8qIHRlbGxzIHdoZXRoZXIgdG8gc3RvcCBhdCB0aGUgZmlyc3QgZXJyb3Igb3Igbm90LiAqLwogCWludCBzaG93X2FsbF9lcnJvcnM7CiB9OwogCi1pbnQgZ2V0X3RyZWVfZW50cnkoY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqLCBjb25zdCBjaGFyICosIHN0cnVjdCBvYmplY3RfaWQgKiwgdW5zaWduZWQgKik7Ci1leHRlcm4gY2hhciAqbWFrZV90cmF2ZXJzZV9wYXRoKGNoYXIgKnBhdGgsIGNvbnN0IHN0cnVjdCB0cmF2ZXJzZV9pbmZvICppbmZvLCBjb25zdCBzdHJ1Y3QgbmFtZV9lbnRyeSAqbik7Ci1leHRlcm4gdm9pZCBzZXR1cF90cmF2ZXJzZV9pbmZvKHN0cnVjdCB0cmF2ZXJzZV9pbmZvICppbmZvLCBjb25zdCBjaGFyICpiYXNlKTsKKy8qKgorICogRmluZCBhbiBlbnRyeSBpbiBhIHRyZWUgZ2l2ZW4gYSBwYXRobmFtZSBhbmQgdGhlIHNoYTEgb2YgYSB0cmVlIHRvCisgKiBzZWFyY2guIFJldHVybnMgMCBpZiB0aGUgZW50cnkgaXMgZm91bmQgYW5kIC0xIG90aGVyd2lzZS4gVGhlIHRoaXJkCisgKiBhbmQgZm91cnRoIHBhcmFtZXRlcnMgYXJlIHNldCB0byB0aGUgZW50cnkncyBzaGExIGFuZCBtb2RlIHJlc3BlY3RpdmVseS4KKyAqLworaW50IGdldF90cmVlX2VudHJ5KHN0cnVjdCByZXBvc2l0b3J5ICosIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKiwgY29uc3QgY2hhciAqLCBzdHJ1Y3Qgb2JqZWN0X2lkICosIHVuc2lnbmVkIHNob3J0ICopOwogCi1zdGF0aWMgaW5saW5lIGludCB0cmF2ZXJzZV9wYXRoX2xlbihjb25zdCBzdHJ1Y3QgdHJhdmVyc2VfaW5mbyAqaW5mbywgY29uc3Qgc3RydWN0IG5hbWVfZW50cnkgKm4pCisvKioKKyAqIEdlbmVyYXRlIHRoZSBmdWxsIHBhdGhuYW1lIG9mIGEgdHJlZSBlbnRyeSBiYXNlZCBmcm9tIHRoZSByb290IG9mIHRoZQorICogdHJhdmVyc2FsLiBGb3IgZXhhbXBsZSwgaWYgdGhlIHRyYXZlcnNhbCBoYXMgcmVjdXJzZWQgaW50byBhbm90aGVyCisgKiB0cmVlIG5hbWVkICJiYXIiIHRoZSBwYXRobmFtZSBvZiBhbiBlbnRyeSAiYmF6IiBpbiB0aGUgImJhciIKKyAqIHRyZWUgd291bGQgYmUgImJhci9iYXoiLgorICovCitjaGFyICptYWtlX3RyYXZlcnNlX3BhdGgoY2hhciAqcGF0aCwgc2l6ZV90IHBhdGhsZW4sIGNvbnN0IHN0cnVjdCB0cmF2ZXJzZV9pbmZvICppbmZvLAorCQkJIGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lbGVuKTsKKworLyoqCisgKiBDb252ZW5pZW5jZSB3cmFwcGVyIHRvIGBtYWtlX3RyYXZlcnNlX3BhdGhgIGludG8gYSBzdHJidWYuCisgKi8KK3ZvaWQgc3RyYnVmX21ha2VfdHJhdmVyc2VfcGF0aChzdHJ1Y3Qgc3RyYnVmICpvdXQsCisJCQkgICAgICAgY29uc3Qgc3RydWN0IHRyYXZlcnNlX2luZm8gKmluZm8sCisJCQkgICAgICAgY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVsZW4pOworCisvKioKKyAqIEluaXRpYWxpemUgYSBgdHJhdmVyc2VfaW5mb2AgZ2l2ZW4gdGhlIHBhdGhuYW1lIG9mIHRoZSB0cmVlIHRvIHN0YXJ0CisgKiB0cmF2ZXJzaW5nIGZyb20uCisgKi8KK3ZvaWQgc2V0dXBfdHJhdmVyc2VfaW5mbyhzdHJ1Y3QgdHJhdmVyc2VfaW5mbyAqaW5mbywgY29uc3QgY2hhciAqYmFzZSk7CisKKy8qKgorICogQ2FsY3VsYXRlIHRoZSBsZW5ndGggb2YgYSBwYXRobmFtZSByZXR1cm5lZCBieSBgbWFrZV90cmF2ZXJzZV9wYXRoYC4KKyAqIFRoaXMgdXRpbGl6ZXMgdGhlIG1lbW9yeSBzdHJ1Y3R1cmUgb2YgYSB0cmVlIGVudHJ5IHRvIGF2b2lkIHRoZQorICogb3ZlcmhlYWQgb2YgdXNpbmcgYSBnZW5lcmljIHN0cmxlbigpLgorICovCitzdGF0aWMgaW5saW5lIHNpemVfdCB0cmF2ZXJzZV9wYXRoX2xlbihjb25zdCBzdHJ1Y3QgdHJhdmVyc2VfaW5mbyAqaW5mbywKKwkJCQkgICAgICAgc2l6ZV90IG5hbWVsZW4pCiB7Ci0JcmV0dXJuIGluZm8tPnBhdGhsZW4gKyB0cmVlX2VudHJ5X2xlbihuKTsKKwlyZXR1cm4gc3RfYWRkKGluZm8tPnBhdGhsZW4sIG5hbWVsZW4pOwogfQogCiAvKiBpbiBnZW5lcmFsLCBwb3NpdGl2ZSBtZWFucyAia2luZCBvZiBpbnRlcmVzdGluZyIgKi8KQEAgLTk4LDggKzIxMyw5IEBACiAJYWxsX2VudHJpZXNfaW50ZXJlc3RpbmcgPSAyIC8qIHllcywgYW5kIGFsbCBzdWJzZXF1ZW50IGVudHJpZXMgd2lsbCBiZSAqLwogfTsKIAotZXh0ZXJuIGVudW0gaW50ZXJlc3RpbmcgdHJlZV9lbnRyeV9pbnRlcmVzdGluZyhjb25zdCBzdHJ1Y3QgbmFtZV9lbnRyeSAqLAotCQkJCQkgICAgICAgc3RydWN0IHN0cmJ1ZiAqLCBpbnQsCi0JCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBzKTsKK2VudW0gaW50ZXJlc3RpbmcgdHJlZV9lbnRyeV9pbnRlcmVzdGluZyhzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKKwkJCQkJY29uc3Qgc3RydWN0IG5hbWVfZW50cnkgKiwKKwkJCQkJc3RydWN0IHN0cmJ1ZiAqLCBpbnQsCisJCQkJCWNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcHMpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3RyZWUuYyBiL3RyZWUuYwppbmRleCAyMTVkM2ZkLi4xNDY2YmNjIDEwMDY0NAotLS0gYS90cmVlLmMKKysrIGIvdHJlZS5jCkBAIC0xLDQgKzEsMyBAQAotI2RlZmluZSBOT19USEVfSU5ERVhfQ09NUEFUSUJJTElUWV9NQUNST1MKICNpbmNsdWRlICJjYWNoZS5oIgogI2luY2x1ZGUgImNhY2hlLXRyZWUuaCIKICNpbmNsdWRlICJ0cmVlLmgiCkBAIC02MCw3ICs1OSw4IEBACiAJCQkJICBBRERfQ0FDSEVfSlVTVF9BUFBFTkQpOwogfQogCi1zdGF0aWMgaW50IHJlYWRfdHJlZV8xKHN0cnVjdCB0cmVlICp0cmVlLCBzdHJ1Y3Qgc3RyYnVmICpiYXNlLAorc3RhdGljIGludCByZWFkX3RyZWVfMShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJICAgICAgIHN0cnVjdCB0cmVlICp0cmVlLCBzdHJ1Y3Qgc3RyYnVmICpiYXNlLAogCQkgICAgICAgaW50IHN0YWdlLCBjb25zdCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAogCQkgICAgICAgcmVhZF90cmVlX2ZuX3QgZm4sIHZvaWQgKmNvbnRleHQpCiB7CkBAIC03NywxNCArNzcsMTUgQEAKIAogCXdoaWxlICh0cmVlX2VudHJ5KCZkZXNjLCAmZW50cnkpKSB7CiAJCWlmIChyZXR2YWwgIT0gYWxsX2VudHJpZXNfaW50ZXJlc3RpbmcpIHsKLQkJCXJldHZhbCA9IHRyZWVfZW50cnlfaW50ZXJlc3RpbmcoJmVudHJ5LCBiYXNlLCAwLCBwYXRoc3BlYyk7CisJCQlyZXR2YWwgPSB0cmVlX2VudHJ5X2ludGVyZXN0aW5nKHItPmluZGV4LCAmZW50cnksCisJCQkJCQkJYmFzZSwgMCwgcGF0aHNwZWMpOwogCQkJaWYgKHJldHZhbCA9PSBhbGxfZW50cmllc19ub3RfaW50ZXJlc3RpbmcpCiAJCQkJYnJlYWs7CiAJCQlpZiAocmV0dmFsID09IGVudHJ5X25vdF9pbnRlcmVzdGluZykKIAkJCQljb250aW51ZTsKIAkJfQogCi0JCXN3aXRjaCAoZm4oZW50cnkub2lkLCBiYXNlLAorCQlzd2l0Y2ggKGZuKCZlbnRyeS5vaWQsIGJhc2UsCiAJCQkgICBlbnRyeS5wYXRoLCBlbnRyeS5tb2RlLCBzdGFnZSwgY29udGV4dCkpIHsKIAkJY2FzZSAwOgogCQkJY29udGludWU7CkBAIC05NSwxOSArOTYsMTkgQEAKIAkJfQogCiAJCWlmIChTX0lTRElSKGVudHJ5Lm1vZGUpKQotCQkJb2lkY3B5KCZvaWQsIGVudHJ5Lm9pZCk7CisJCQlvaWRjcHkoJm9pZCwgJmVudHJ5Lm9pZCk7CiAJCWVsc2UgaWYgKFNfSVNHSVRMSU5LKGVudHJ5Lm1vZGUpKSB7CiAJCQlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CiAKLQkJCWNvbW1pdCA9IGxvb2t1cF9jb21taXQodGhlX3JlcG9zaXRvcnksIGVudHJ5Lm9pZCk7CisJCQljb21taXQgPSBsb29rdXBfY29tbWl0KHIsICZlbnRyeS5vaWQpOwogCQkJaWYgKCFjb21taXQpCiAJCQkJZGllKCJDb21taXQgJXMgaW4gc3VibW9kdWxlIHBhdGggJXMlcyBub3QgZm91bmQiLAotCQkJCSAgICBvaWRfdG9faGV4KGVudHJ5Lm9pZCksCisJCQkJICAgIG9pZF90b19oZXgoJmVudHJ5Lm9pZCksCiAJCQkJICAgIGJhc2UtPmJ1ZiwgZW50cnkucGF0aCk7CiAKIAkJCWlmIChwYXJzZV9jb21taXQoY29tbWl0KSkKIAkJCQlkaWUoIkludmFsaWQgY29tbWl0ICVzIGluIHN1Ym1vZHVsZSBwYXRoICVzJXMiLAotCQkJCSAgICBvaWRfdG9faGV4KGVudHJ5Lm9pZCksCisJCQkJICAgIG9pZF90b19oZXgoJmVudHJ5Lm9pZCksCiAJCQkJICAgIGJhc2UtPmJ1ZiwgZW50cnkucGF0aCk7CiAKIAkJCW9pZGNweSgmb2lkLCBnZXRfY29tbWl0X3RyZWVfb2lkKGNvbW1pdCkpOwpAQCAtMTE4LDcgKzExOSw3IEBACiAJCWxlbiA9IHRyZWVfZW50cnlfbGVuKCZlbnRyeSk7CiAJCXN0cmJ1Zl9hZGQoYmFzZSwgZW50cnkucGF0aCwgbGVuKTsKIAkJc3RyYnVmX2FkZGNoKGJhc2UsICcvJyk7Ci0JCXJldHZhbCA9IHJlYWRfdHJlZV8xKGxvb2t1cF90cmVlKHRoZV9yZXBvc2l0b3J5LCAmb2lkKSwKKwkJcmV0dmFsID0gcmVhZF90cmVlXzEociwgbG9va3VwX3RyZWUociwgJm9pZCksCiAJCQkJICAgICBiYXNlLCBzdGFnZSwgcGF0aHNwZWMsCiAJCQkJICAgICBmbiwgY29udGV4dCk7CiAJCXN0cmJ1Zl9zZXRsZW4oYmFzZSwgb2xkbGVuKTsKQEAgLTEyOCw3ICsxMjksOCBAQAogCXJldHVybiAwOwogfQogCi1pbnQgcmVhZF90cmVlX3JlY3Vyc2l2ZShzdHJ1Y3QgdHJlZSAqdHJlZSwKK2ludCByZWFkX3RyZWVfcmVjdXJzaXZlKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJc3RydWN0IHRyZWUgKnRyZWUsCiAJCQljb25zdCBjaGFyICpiYXNlLCBpbnQgYmFzZWxlbiwKIAkJCWludCBzdGFnZSwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKIAkJCXJlYWRfdHJlZV9mbl90IGZuLCB2b2lkICpjb250ZXh0KQpAQCAtMTM3LDcgKzEzOSw3IEBACiAJaW50IHJldDsKIAogCXN0cmJ1Zl9hZGQoJnNiLCBiYXNlLCBiYXNlbGVuKTsKLQlyZXQgPSByZWFkX3RyZWVfMSh0cmVlLCAmc2IsIHN0YWdlLCBwYXRoc3BlYywgZm4sIGNvbnRleHQpOworCXJldCA9IHJlYWRfdHJlZV8xKHIsIHRyZWUsICZzYiwgc3RhZ2UsIHBhdGhzcGVjLCBmbiwgY29udGV4dCk7CiAJc3RyYnVmX3JlbGVhc2UoJnNiKTsKIAlyZXR1cm4gcmV0OwogfQpAQCAtMTUyLDggKzE1NCw4IEBACiAJCQkJICBjZTItPm5hbWUsIGNlMi0+Y2VfbmFtZWxlbiwgY2Vfc3RhZ2UoY2UyKSk7CiB9CiAKLWludCByZWFkX3RyZWUoc3RydWN0IHRyZWUgKnRyZWUsIGludCBzdGFnZSwgc3RydWN0IHBhdGhzcGVjICptYXRjaCwKLQkgICAgICBzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSkKK2ludCByZWFkX3RyZWUoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCB0cmVlICp0cmVlLCBpbnQgc3RhZ2UsCisJICAgICAgc3RydWN0IHBhdGhzcGVjICptYXRjaCwgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpCiB7CiAJcmVhZF90cmVlX2ZuX3QgZm4gPSBOVUxMOwogCWludCBpLCBlcnI7CkBAIC0xODEsNyArMTgzLDcgQEAKIAogCWlmICghZm4pCiAJCWZuID0gcmVhZF9vbmVfZW50cnlfcXVpY2s7Ci0JZXJyID0gcmVhZF90cmVlX3JlY3Vyc2l2ZSh0cmVlLCAiIiwgMCwgc3RhZ2UsIG1hdGNoLCBmbiwgaXN0YXRlKTsKKwllcnIgPSByZWFkX3RyZWVfcmVjdXJzaXZlKHIsIHRyZWUsICIiLCAwLCBzdGFnZSwgbWF0Y2gsIGZuLCBpc3RhdGUpOwogCWlmIChmbiA9PSByZWFkX29uZV9lbnRyeSB8fCBlcnIpCiAJCXJldHVybiBlcnI7CiAKQEAgLTE5NSwxMCArMTk3LDkgQEAKIAogc3RydWN0IHRyZWUgKmxvb2t1cF90cmVlKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0Jc3RydWN0IG9iamVjdCAqb2JqID0gbG9va3VwX29iamVjdChyLCBvaWQtPmhhc2gpOworCXN0cnVjdCBvYmplY3QgKm9iaiA9IGxvb2t1cF9vYmplY3Qociwgb2lkKTsKIAlpZiAoIW9iaikKLQkJcmV0dXJuIGNyZWF0ZV9vYmplY3Qociwgb2lkLT5oYXNoLAotCQkJCSAgICAgYWxsb2NfdHJlZV9ub2RlKHIpKTsKKwkJcmV0dXJuIGNyZWF0ZV9vYmplY3Qociwgb2lkLCBhbGxvY190cmVlX25vZGUocikpOwogCXJldHVybiBvYmplY3RfYXNfdHlwZShyLCBvYmosIE9CSl9UUkVFLCAwKTsKIH0KIApAQCAtMjQzLDE5ICsyNDQsNyBAQAogCiBzdHJ1Y3QgdHJlZSAqcGFyc2VfdHJlZV9pbmRpcmVjdChjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQpCiB7Ci0Jc3RydWN0IG9iamVjdCAqb2JqID0gcGFyc2Vfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCBvaWQpOwotCWRvIHsKLQkJaWYgKCFvYmopCi0JCQlyZXR1cm4gTlVMTDsKLQkJaWYgKG9iai0+dHlwZSA9PSBPQkpfVFJFRSkKLQkJCXJldHVybiAoc3RydWN0IHRyZWUgKikgb2JqOwotCQllbHNlIGlmIChvYmotPnR5cGUgPT0gT0JKX0NPTU1JVCkKLQkJCW9iaiA9ICYoZ2V0X2NvbW1pdF90cmVlKCgoc3RydWN0IGNvbW1pdCAqKW9iaikpLT5vYmplY3QpOwotCQllbHNlIGlmIChvYmotPnR5cGUgPT0gT0JKX1RBRykKLQkJCW9iaiA9ICgoc3RydWN0IHRhZyAqKSBvYmopLT50YWdnZWQ7Ci0JCWVsc2UKLQkJCXJldHVybiBOVUxMOwotCQlpZiAoIW9iai0+cGFyc2VkKQotCQkJcGFyc2Vfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCAmb2JqLT5vaWQpOwotCX0gd2hpbGUgKDEpOworCXN0cnVjdCByZXBvc2l0b3J5ICpyID0gdGhlX3JlcG9zaXRvcnk7CisJc3RydWN0IG9iamVjdCAqb2JqID0gcGFyc2Vfb2JqZWN0KHIsIG9pZCk7CisJcmV0dXJuIChzdHJ1Y3QgdHJlZSAqKXJlcG9fcGVlbF90b190eXBlKHIsIE5VTEwsIDAsIG9iaiwgT0JKX1RSRUUpOwogfQpkaWZmIC0tZ2l0IGEvdHJlZS5oIGIvdHJlZS5oCmluZGV4IGQ0ODA3ZGMuLjkzODM3NDUgMTAwNjQ0Ci0tLSBhL3RyZWUuaAorKysgYi90cmVlLmgKQEAgLTMsNyArMyw3IEBACiAKICNpbmNsdWRlICJvYmplY3QuaCIKIAotZXh0ZXJuIGNvbnN0IGNoYXIgKnRyZWVfdHlwZTsKK3N0cnVjdCByZXBvc2l0b3J5Owogc3RydWN0IHN0cmJ1ZjsKIAogc3RydWN0IHRyZWUgewpAQCAtMTIsNiArMTIsOCBAQAogCXVuc2lnbmVkIGxvbmcgc2l6ZTsKIH07CiAKK2V4dGVybiBjb25zdCBjaGFyICp0cmVlX3R5cGU7CisKIHN0cnVjdCB0cmVlICpsb29rdXBfdHJlZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKIAogaW50IHBhcnNlX3RyZWVfYnVmZmVyKHN0cnVjdCB0cmVlICppdGVtLCB2b2lkICpidWZmZXIsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CkBAIC0yOSwxMiArMzEsMTQgQEAKICNkZWZpbmUgUkVBRF9UUkVFX1JFQ1VSU0lWRSAxCiB0eXBlZGVmIGludCAoKnJlYWRfdHJlZV9mbl90KShjb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICosIHN0cnVjdCBzdHJidWYgKiwgY29uc3QgY2hhciAqLCB1bnNpZ25lZCBpbnQsIGludCwgdm9pZCAqKTsKIAotZXh0ZXJuIGludCByZWFkX3RyZWVfcmVjdXJzaXZlKHN0cnVjdCB0cmVlICp0cmVlLAotCQkJICAgICAgIGNvbnN0IGNoYXIgKmJhc2UsIGludCBiYXNlbGVuLAotCQkJICAgICAgIGludCBzdGFnZSwgY29uc3Qgc3RydWN0IHBhdGhzcGVjICpwYXRoc3BlYywKLQkJCSAgICAgICByZWFkX3RyZWVfZm5fdCBmbiwgdm9pZCAqY29udGV4dCk7CitpbnQgcmVhZF90cmVlX3JlY3Vyc2l2ZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCXN0cnVjdCB0cmVlICp0cmVlLAorCQkJY29uc3QgY2hhciAqYmFzZSwgaW50IGJhc2VsZW4sCisJCQlpbnQgc3RhZ2UsIGNvbnN0IHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCisJCQlyZWFkX3RyZWVfZm5fdCBmbiwgdm9pZCAqY29udGV4dCk7CiAKLWV4dGVybiBpbnQgcmVhZF90cmVlKHN0cnVjdCB0cmVlICp0cmVlLCBpbnQgc3RhZ2UsIHN0cnVjdCBwYXRoc3BlYyAqcGF0aHNwZWMsCi0JCSAgICAgc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUpOworaW50IHJlYWRfdHJlZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHRyZWUgKnRyZWUsCisJICAgICAgaW50IHN0YWdlLCBzdHJ1Y3QgcGF0aHNwZWMgKnBhdGhzcGVjLAorCSAgICAgIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlKTsKIAogI2VuZGlmIC8qIFRSRUVfSCAqLwpkaWZmIC0tZ2l0IGEvdW5pY29kZS13aWR0aC5oIGIvdW5pY29kZS13aWR0aC5oCmluZGV4IDdjNjQzNzYuLmM5ZDAyNzYgMTAwNjQ0Ci0tLSBhL3VuaWNvZGUtd2lkdGguaAorKysgYi91bmljb2RlLXdpZHRoLmgKQEAgLTg5LDggKzg5LDcgQEAKIHsgMHgwRTM0LCAweDBFM0EgfSwKIHsgMHgwRTQ3LCAweDBFNEUgfSwKIHsgMHgwRUIxLCAweDBFQjEgfSwKLXsgMHgwRUI0LCAweDBFQjkgfSwKLXsgMHgwRUJCLCAweDBFQkMgfSwKK3sgMHgwRUI0LCAweDBFQkMgfSwKIHsgMHgwRUM4LCAweDBFQ0QgfSwKIHsgMHgwRjE4LCAweDBGMTkgfSwKIHsgMHgwRjM1LCAweDBGMzUgfSwKQEAgLTE5MSw3ICsxOTAsNyBAQAogeyAweEE5ODAsIDB4QTk4MiB9LAogeyAweEE5QjMsIDB4QTlCMyB9LAogeyAweEE5QjYsIDB4QTlCOSB9LAoteyAweEE5QkMsIDB4QTlCQyB9LAoreyAweEE5QkMsIDB4QTlCRCB9LAogeyAweEE5RTUsIDB4QTlFNSB9LAogeyAweEFBMjksIDB4QUEyRSB9LAogeyAweEFBMzEsIDB4QUEzMiB9LApAQCAtMjc0LDYgKzI3Myw5IEBACiB7IDB4MTE3MjcsIDB4MTE3MkIgfSwKIHsgMHgxMTgyRiwgMHgxMTgzNyB9LAogeyAweDExODM5LCAweDExODNBIH0sCit7IDB4MTE5RDQsIDB4MTE5RDcgfSwKK3sgMHgxMTlEQSwgMHgxMTlEQiB9LAoreyAweDExOUUwLCAweDExOUUwIH0sCiB7IDB4MTFBMDEsIDB4MTFBMEEgfSwKIHsgMHgxMUEzMywgMHgxMUEzOCB9LAogeyAweDExQTNCLCAweDExQTNFIH0sCkBAIC0yOTgsOCArMzAwLDEwIEBACiB7IDB4MTFEOTUsIDB4MTFEOTUgfSwKIHsgMHgxMUQ5NywgMHgxMUQ5NyB9LAogeyAweDExRUYzLCAweDExRUY0IH0sCit7IDB4MTM0MzAsIDB4MTM0MzggfSwKIHsgMHgxNkFGMCwgMHgxNkFGNCB9LAogeyAweDE2QjMwLCAweDE2QjM2IH0sCit7IDB4MTZGNEYsIDB4MTZGNEYgfSwKIHsgMHgxNkY4RiwgMHgxNkY5MiB9LAogeyAweDFCQzlELCAweDFCQzlFIH0sCiB7IDB4MUJDQTAsIDB4MUJDQTMgfSwKQEAgLTMxOSw2ICszMjMsOCBAQAogeyAweDFFMDFCLCAweDFFMDIxIH0sCiB7IDB4MUUwMjMsIDB4MUUwMjQgfSwKIHsgMHgxRTAyNiwgMHgxRTAyQSB9LAoreyAweDFFMTMwLCAweDFFMTM2IH0sCit7IDB4MUUyRUMsIDB4MUUyRUYgfSwKIHsgMHgxRThEMCwgMHgxRThENiB9LAogeyAweDFFOTQ0LCAweDFFOTRBIH0sCiB7IDB4RTAwMDEsIDB4RTAwMDEgfSwKQEAgLTM3NCw4ICszODAsNyBAQAogeyAweDMxQzAsIDB4MzFFMyB9LAogeyAweDMxRjAsIDB4MzIxRSB9LAogeyAweDMyMjAsIDB4MzI0NyB9LAoteyAweDMyNTAsIDB4MzJGRSB9LAoteyAweDMzMDAsIDB4NERCRiB9LAoreyAweDMyNTAsIDB4NERCRiB9LAogeyAweDRFMDAsIDB4QTQ4QyB9LAogeyAweEE0OTAsIDB4QTRDNiB9LAogeyAweEE5NjAsIDB4QTk3QyB9LApAQCAtMzg3LDEwICszOTIsMTIgQEAKIHsgMHhGRTY4LCAweEZFNkIgfSwKIHsgMHhGRjAxLCAweEZGNjAgfSwKIHsgMHhGRkUwLCAweEZGRTYgfSwKLXsgMHgxNkZFMCwgMHgxNkZFMSB9LAoteyAweDE3MDAwLCAweDE4N0YxIH0sCit7IDB4MTZGRTAsIDB4MTZGRTMgfSwKK3sgMHgxNzAwMCwgMHgxODdGNyB9LAogeyAweDE4ODAwLCAweDE4QUYyIH0sCiB7IDB4MUIwMDAsIDB4MUIxMUUgfSwKK3sgMHgxQjE1MCwgMHgxQjE1MiB9LAoreyAweDFCMTY0LCAweDFCMTY3IH0sCiB7IDB4MUIxNzAsIDB4MUIyRkIgfSwKIHsgMHgxRjAwNCwgMHgxRjAwNCB9LAogeyAweDFGMENGLCAweDFGMENGIH0sCkBAIC00MjIsMTYgKzQyOSwyMCBAQAogeyAweDFGNjgwLCAweDFGNkM1IH0sCiB7IDB4MUY2Q0MsIDB4MUY2Q0MgfSwKIHsgMHgxRjZEMCwgMHgxRjZEMiB9LAoreyAweDFGNkQ1LCAweDFGNkQ1IH0sCiB7IDB4MUY2RUIsIDB4MUY2RUMgfSwKLXsgMHgxRjZGNCwgMHgxRjZGOSB9LAoteyAweDFGOTEwLCAweDFGOTNFIH0sCi17IDB4MUY5NDAsIDB4MUY5NzAgfSwKK3sgMHgxRjZGNCwgMHgxRjZGQSB9LAoreyAweDFGN0UwLCAweDFGN0VCIH0sCit7IDB4MUY5MEQsIDB4MUY5NzEgfSwKIHsgMHgxRjk3MywgMHgxRjk3NiB9LAoteyAweDFGOTdBLCAweDFGOTdBIH0sCi17IDB4MUY5N0MsIDB4MUY5QTIgfSwKLXsgMHgxRjlCMCwgMHgxRjlCOSB9LAoteyAweDFGOUMwLCAweDFGOUMyIH0sCi17IDB4MUY5RDAsIDB4MUY5RkYgfSwKK3sgMHgxRjk3QSwgMHgxRjlBMiB9LAoreyAweDFGOUE1LCAweDFGOUFBIH0sCit7IDB4MUY5QUUsIDB4MUY5Q0EgfSwKK3sgMHgxRjlDRCwgMHgxRjlGRiB9LAoreyAweDFGQTcwLCAweDFGQTczIH0sCit7IDB4MUZBNzgsIDB4MUZBN0EgfSwKK3sgMHgxRkE4MCwgMHgxRkE4MiB9LAoreyAweDFGQTkwLCAweDFGQTk1IH0sCiB7IDB4MjAwMDAsIDB4MkZGRkQgfSwKIHsgMHgzMDAwMCwgMHgzRkZGRCB9CiB9OwpkaWZmIC0tZ2l0IGEvdW5wYWNrLXRyZWVzLmMgYi91bnBhY2stdHJlZXMuYwppbmRleCA1NDVkNTY2Li4xZWNkYWIzIDEwMDY0NAotLS0gYS91bnBhY2stdHJlZXMuYworKysgYi91bnBhY2stdHJlZXMuYwpAQCAtMSw0ICsxLDMgQEAKLSNkZWZpbmUgTk9fVEhFX0lOREVYX0NPTVBBVElCSUxJVFlfTUFDUk9TCiAjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJhcmd2LWFycmF5LmgiCiAjaW5jbHVkZSAicmVwb3NpdG9yeS5oIgpAQCAtMTIsMTIgKzExLDExIEBACiAjaW5jbHVkZSAicmVmcy5oIgogI2luY2x1ZGUgImF0dHIuaCIKICNpbmNsdWRlICJzcGxpdC1pbmRleC5oIgotI2luY2x1ZGUgImRpci5oIgogI2luY2x1ZGUgInN1Ym1vZHVsZS5oIgogI2luY2x1ZGUgInN1Ym1vZHVsZS1jb25maWcuaCIKICNpbmNsdWRlICJmc21vbml0b3IuaCIKICNpbmNsdWRlICJvYmplY3Qtc3RvcmUuaCIKLSNpbmNsdWRlICJmZXRjaC1vYmplY3QuaCIKKyNpbmNsdWRlICJwcm9taXNvci1yZW1vdGUuaCIKIAogLyoKICAqIEVycm9yIG1lc3NhZ2VzIGV4cGVjdGVkIGJ5IHNjcmlwdHMgb3V0IG9mIHBsdW1iaW5nIGNvbW1hbmRzIHN1Y2ggYXMKQEAgLTIyMCw2ICsyMTgsOSBAQAogCQkJICAgICBlbnVtIHVucGFja190cmVlc19lcnJvcl90eXBlcyBlLAogCQkJICAgICBjb25zdCBjaGFyICpwYXRoKQogeworCWlmIChvLT5xdWlldCkKKwkJcmV0dXJuIC0xOworCiAJaWYgKCFvLT5zaG93X2FsbF9lcnJvcnMpCiAJCXJldHVybiBlcnJvcihFUlJPUk1TRyhvLCBlKSwgc3VwZXJfcHJlZml4ZWQocGF0aCkpOwogCkBAIC0yNjksMTUgKzI3MCwxNCBAQAogCQlmbGFncyB8PSBTVUJNT0RVTEVfTU9WRV9IRUFEX0ZPUkNFOwogCiAJaWYgKHN1Ym1vZHVsZV9tb3ZlX2hlYWQoY2UtPm5hbWUsIG9sZF9pZCwgbmV3X2lkLCBmbGFncykpCi0JCXJldHVybiBvLT5nZW50bHkgPyAtMSA6Ci0JCQkJICAgYWRkX3JlamVjdGVkX3BhdGgobywgRVJST1JfV09VTERfTE9TRV9TVUJNT0RVTEUsIGNlLT5uYW1lKTsKKwkJcmV0dXJuIGFkZF9yZWplY3RlZF9wYXRoKG8sIEVSUk9SX1dPVUxEX0xPU0VfU1VCTU9EVUxFLCBjZS0+bmFtZSk7CiAJcmV0dXJuIDA7CiB9CiAKIC8qCi0gKiBQcmVmb3JtIHRoZSBsb2FkaW5nIG9mIHRoZSByZXBvc2l0b3J5J3MgZ2l0bW9kdWxlcyBmaWxlLiAgVGhpcyBmdW5jdGlvbiBpcworICogUGVyZm9ybSB0aGUgbG9hZGluZyBvZiB0aGUgcmVwb3NpdG9yeSdzIGdpdG1vZHVsZXMgZmlsZS4gIFRoaXMgZnVuY3Rpb24gaXMKICAqIHVzZWQgYnkgJ2NoZWNrX3VwZGF0ZSgpJyB0byBwZXJmb3JtIGxvYWRpbmcgb2YgdGhlIGdpdG1vZHVsZXMgZmlsZSBpbiB0d28KLSAqIGRpZmZlcm50IHNpdHVhdGlvbnM6CisgKiBkaWZmZXJlbnQgc2l0dWF0aW9uczoKICAqICgxKSBiZWZvcmUgcmVtb3ZpbmcgZW50cmllcyBmcm9tIHRoZSB3b3JraW5nIHRyZWUgaWYgdGhlIGdpdG1vZHVsZXMgZmlsZSBoYXMKICAqICAgICBiZWVuIG1hcmtlZCBmb3IgcmVtb3ZhbC4gIFRoaXMgc2l0dWF0aW9uIGlzIHNwZWNpZmllZCBieSAnc3RhdGUnID09IE5VTEwuCiAgKiAoMikgYmVmb3JlIGNoZWNraW5nIG91dCBlbnRyaWVzIHRvIHRoZSB3b3JraW5nIHRyZWUgaWYgdGhlIGdpdG1vZHVsZXMgZmlsZQpAQCAtMjkxLDM0ICsyOTEsMTUgQEAKIAlpZiAocG9zID49IDApIHsKIAkJc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGluZGV4LT5jYWNoZVtwb3NdOwogCQlpZiAoIXN0YXRlICYmIGNlLT5jZV9mbGFncyAmIENFX1dUX1JFTU9WRSkgewotCQkJcmVwb19yZWFkX2dpdG1vZHVsZXModGhlX3JlcG9zaXRvcnkpOworCQkJcmVwb19yZWFkX2dpdG1vZHVsZXModGhlX3JlcG9zaXRvcnksIDApOwogCQl9IGVsc2UgaWYgKHN0YXRlICYmIChjZS0+Y2VfZmxhZ3MgJiBDRV9VUERBVEUpKSB7CiAJCQlzdWJtb2R1bGVfZnJlZSh0aGVfcmVwb3NpdG9yeSk7Ci0JCQljaGVja291dF9lbnRyeShjZSwgc3RhdGUsIE5VTEwpOwotCQkJcmVwb19yZWFkX2dpdG1vZHVsZXModGhlX3JlcG9zaXRvcnkpOworCQkJY2hlY2tvdXRfZW50cnkoY2UsIHN0YXRlLCBOVUxMLCBOVUxMKTsKKwkJCXJlcG9fcmVhZF9naXRtb2R1bGVzKHRoZV9yZXBvc2l0b3J5LCAwKTsKIAkJfQogCX0KIH0KIAotLyoKLSAqIFVubGluayB0aGUgbGFzdCBjb21wb25lbnQgYW5kIHNjaGVkdWxlIHRoZSBsZWFkaW5nIGRpcmVjdG9yaWVzIGZvcgotICogcmVtb3ZhbCwgc3VjaCB0aGF0IGVtcHR5IGRpcmVjdG9yaWVzIGdldCByZW1vdmVkLgotICovCi1zdGF0aWMgdm9pZCB1bmxpbmtfZW50cnkoY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSkKLXsKLQljb25zdCBzdHJ1Y3Qgc3VibW9kdWxlICpzdWIgPSBzdWJtb2R1bGVfZnJvbV9jZShjZSk7Ci0JaWYgKHN1YikgewotCQkvKiBzdGF0ZS5mb3JjZSBpcyBzZXQgYXQgdGhlIGNhbGxlci4gKi8KLQkJc3VibW9kdWxlX21vdmVfaGVhZChjZS0+bmFtZSwgIkhFQUQiLCBOVUxMLAotCQkJCSAgICBTVUJNT0RVTEVfTU9WRV9IRUFEX0ZPUkNFKTsKLQl9Ci0JaWYgKCFjaGVja19sZWFkaW5nX3BhdGgoY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpKSkKLQkJcmV0dXJuOwotCWlmIChyZW1vdmVfb3Jfd2FybihjZS0+Y2VfbW9kZSwgY2UtPm5hbWUpKQotCQlyZXR1cm47Ci0Jc2NoZWR1bGVfZGlyX2Zvcl9yZW1vdmFsKGNlLT5uYW1lLCBjZV9uYW1lbGVuKGNlKSk7Ci19Ci0KIHN0YXRpYyBzdHJ1Y3QgcHJvZ3Jlc3MgKmdldF9wcm9ncmVzcyhzdHJ1Y3QgdW5wYWNrX3RyZWVzX29wdGlvbnMgKm8pCiB7CiAJdW5zaWduZWQgY250ID0gMCwgdG90YWwgPSAwOwpAQCAtMzMzLDcgKzMxNCw3IEBACiAJCQl0b3RhbCsrOwogCX0KIAotCXJldHVybiBzdGFydF9kZWxheWVkX3Byb2dyZXNzKF8oIkNoZWNraW5nIG91dCBmaWxlcyIpLCB0b3RhbCk7CisJcmV0dXJuIHN0YXJ0X2RlbGF5ZWRfcHJvZ3Jlc3MoXygiVXBkYXRpbmcgZmlsZXMiKSwgdG90YWwpOwogfQogCiBzdGF0aWMgdm9pZCBzZXR1cF9jb2xsaWRlZF9jaGVja291dF9kZXRlY3Rpb24oc3RydWN0IGNoZWNrb3V0ICpzdGF0ZSwKQEAgLTM5MSwxNSArMzcyLDIwIEBACiAJc3RhdGUucmVmcmVzaF9jYWNoZSA9IDE7CiAJc3RhdGUuaXN0YXRlID0gaW5kZXg7CiAKKwlpZiAoIW8tPnVwZGF0ZSB8fCBvLT5kcnlfcnVuKSB7CisJCXJlbW92ZV9tYXJrZWRfY2FjaGVfZW50cmllcyhpbmRleCwgMCk7CisJCXRyYWNlX3BlcmZvcm1hbmNlX2xlYXZlKCJjaGVja191cGRhdGVzIik7CisJCXJldHVybiAwOworCX0KKwogCWlmIChvLT5jbG9uZSkKIAkJc2V0dXBfY29sbGlkZWRfY2hlY2tvdXRfZGV0ZWN0aW9uKCZzdGF0ZSwgaW5kZXgpOwogCiAJcHJvZ3Jlc3MgPSBnZXRfcHJvZ3Jlc3Mobyk7CiAKLQlpZiAoby0+dXBkYXRlKQotCQlnaXRfYXR0cl9zZXRfZGlyZWN0aW9uKEdJVF9BVFRSX0NIRUNLT1VUKTsKKwlnaXRfYXR0cl9zZXRfZGlyZWN0aW9uKEdJVF9BVFRSX0NIRUNLT1VUKTsKIAotCWlmIChzaG91bGRfdXBkYXRlX3N1Ym1vZHVsZXMoKSAmJiBvLT51cGRhdGUgJiYgIW8tPmRyeV9ydW4pCisJaWYgKHNob3VsZF91cGRhdGVfc3VibW9kdWxlcygpKQogCQlsb2FkX2dpdG1vZHVsZXNfZmlsZShpbmRleCwgTlVMTCk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgaW5kZXgtPmNhY2hlX25yOyBpKyspIHsKQEAgLTQwNywzNyArMzkzLDM4IEBACiAKIAkJaWYgKGNlLT5jZV9mbGFncyAmIENFX1dUX1JFTU9WRSkgewogCQkJZGlzcGxheV9wcm9ncmVzcyhwcm9ncmVzcywgKytjbnQpOwotCQkJaWYgKG8tPnVwZGF0ZSAmJiAhby0+ZHJ5X3J1bikKLQkJCQl1bmxpbmtfZW50cnkoY2UpOworCQkJdW5saW5rX2VudHJ5KGNlKTsKIAkJfQogCX0KLQlyZW1vdmVfbWFya2VkX2NhY2hlX2VudHJpZXMoaW5kZXgpOworCisJcmVtb3ZlX21hcmtlZF9jYWNoZV9lbnRyaWVzKGluZGV4LCAwKTsKIAlyZW1vdmVfc2NoZWR1bGVkX2RpcnMoKTsKIAotCWlmIChzaG91bGRfdXBkYXRlX3N1Ym1vZHVsZXMoKSAmJiBvLT51cGRhdGUgJiYgIW8tPmRyeV9ydW4pCisJaWYgKHNob3VsZF91cGRhdGVfc3VibW9kdWxlcygpKQogCQlsb2FkX2dpdG1vZHVsZXNfZmlsZShpbmRleCwgJnN0YXRlKTsKIAogCWVuYWJsZV9kZWxheWVkX2NoZWNrb3V0KCZzdGF0ZSk7Ci0JaWYgKHJlcG9zaXRvcnlfZm9ybWF0X3BhcnRpYWxfY2xvbmUgJiYgby0+dXBkYXRlICYmICFvLT5kcnlfcnVuKSB7CisJaWYgKGhhc19wcm9taXNvcl9yZW1vdGUoKSkgewogCQkvKgogCQkgKiBQcmVmZXRjaCB0aGUgb2JqZWN0cyB0aGF0IGFyZSB0byBiZSBjaGVja2VkIG91dCBpbiB0aGUgbG9vcAogCQkgKiBiZWxvdy4KIAkJICovCiAJCXN0cnVjdCBvaWRfYXJyYXkgdG9fZmV0Y2ggPSBPSURfQVJSQVlfSU5JVDsKLQkJaW50IGZldGNoX2lmX21pc3Npbmdfc3RvcmUgPSBmZXRjaF9pZl9taXNzaW5nOwotCQlmZXRjaF9pZl9taXNzaW5nID0gMDsKIAkJZm9yIChpID0gMDsgaSA8IGluZGV4LT5jYWNoZV9ucjsgaSsrKSB7CiAJCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gaW5kZXgtPmNhY2hlW2ldOwotCQkJaWYgKChjZS0+Y2VfZmxhZ3MgJiBDRV9VUERBVEUpICYmCi0JCQkgICAgIVNfSVNHSVRMSU5LKGNlLT5jZV9tb2RlKSkgewotCQkJCWlmICghaGFzX29iamVjdF9maWxlKCZjZS0+b2lkKSkKLQkJCQkJb2lkX2FycmF5X2FwcGVuZCgmdG9fZmV0Y2gsICZjZS0+b2lkKTsKLQkJCX0KKworCQkJaWYgKCEoY2UtPmNlX2ZsYWdzICYgQ0VfVVBEQVRFKSB8fAorCQkJICAgIFNfSVNHSVRMSU5LKGNlLT5jZV9tb2RlKSkKKwkJCQljb250aW51ZTsKKwkJCWlmICghb2lkX29iamVjdF9pbmZvX2V4dGVuZGVkKHRoZV9yZXBvc2l0b3J5LCAmY2UtPm9pZCwKKwkJCQkJCSAgICAgIE5VTEwsCisJCQkJCQkgICAgICBPQkpFQ1RfSU5GT19GT1JfUFJFRkVUQ0gpKQorCQkJCWNvbnRpbnVlOworCQkJb2lkX2FycmF5X2FwcGVuZCgmdG9fZmV0Y2gsICZjZS0+b2lkKTsKIAkJfQogCQlpZiAodG9fZmV0Y2gubnIpCi0JCQlmZXRjaF9vYmplY3RzKHJlcG9zaXRvcnlfZm9ybWF0X3BhcnRpYWxfY2xvbmUsCi0JCQkJICAgICAgdG9fZmV0Y2gub2lkLCB0b19mZXRjaC5ucik7Ci0JCWZldGNoX2lmX21pc3NpbmcgPSBmZXRjaF9pZl9taXNzaW5nX3N0b3JlOworCQkJcHJvbWlzb3JfcmVtb3RlX2dldF9kaXJlY3QodGhlX3JlcG9zaXRvcnksCisJCQkJCQkgICB0b19mZXRjaC5vaWQsIHRvX2ZldGNoLm5yKTsKIAkJb2lkX2FycmF5X2NsZWFyKCZ0b19mZXRjaCk7CiAJfQogCWZvciAoaSA9IDA7IGkgPCBpbmRleC0+Y2FjaGVfbnI7IGkrKykgewpAQCAtNDQ5LDE1ICs0MzYsMTIgQEAKIAkJCQkgICAgY2UtPm5hbWUpOwogCQkJZGlzcGxheV9wcm9ncmVzcyhwcm9ncmVzcywgKytjbnQpOwogCQkJY2UtPmNlX2ZsYWdzICY9IH5DRV9VUERBVEU7Ci0JCQlpZiAoby0+dXBkYXRlICYmICFvLT5kcnlfcnVuKSB7Ci0JCQkJZXJycyB8PSBjaGVja291dF9lbnRyeShjZSwgJnN0YXRlLCBOVUxMKTsKLQkJCX0KKwkJCWVycnMgfD0gY2hlY2tvdXRfZW50cnkoY2UsICZzdGF0ZSwgTlVMTCwgTlVMTCk7CiAJCX0KIAl9CiAJc3RvcF9wcm9ncmVzcygmcHJvZ3Jlc3MpOwotCWVycnMgfD0gZmluaXNoX2RlbGF5ZWRfY2hlY2tvdXQoJnN0YXRlKTsKLQlpZiAoby0+dXBkYXRlKQotCQlnaXRfYXR0cl9zZXRfZGlyZWN0aW9uKEdJVF9BVFRSX0NIRUNLSU4pOworCWVycnMgfD0gZmluaXNoX2RlbGF5ZWRfY2hlY2tvdXQoJnN0YXRlLCBOVUxMKTsKKwlnaXRfYXR0cl9zZXRfZGlyZWN0aW9uKEdJVF9BVFRSX0NIRUNLSU4pOwogCiAJaWYgKG8tPmNsb25lKQogCQlyZXBvcnRfY29sbGlkZWRfY2hlY2tvdXQoaW5kZXgpOwpAQCAtNjQ5LDcgKzYzMyw3IEBACiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGludCBmaW5kX2NhY2hlX3BvcyhzdHJ1Y3QgdHJhdmVyc2VfaW5mbyAqLCBjb25zdCBzdHJ1Y3QgbmFtZV9lbnRyeSAqKTsKK3N0YXRpYyBpbnQgZmluZF9jYWNoZV9wb3Moc3RydWN0IHRyYXZlcnNlX2luZm8gKiwgY29uc3QgY2hhciAqcCwgc2l6ZV90IGxlbik7CiAKIHN0YXRpYyB2b2lkIHJlc3RvcmVfY2FjaGVfYm90dG9tKHN0cnVjdCB0cmF2ZXJzZV9pbmZvICppbmZvLCBpbnQgYm90dG9tKQogewpAQCAtNjY4LDcgKzY1Miw3IEBACiAJaWYgKG8tPmRpZmZfaW5kZXhfY2FjaGVkKQogCQlyZXR1cm4gMDsKIAlyZXQgPSBvLT5jYWNoZV9ib3R0b207Ci0JcG9zID0gZmluZF9jYWNoZV9wb3MoaW5mby0+cHJldiwgJmluZm8tPm5hbWUpOworCXBvcyA9IGZpbmRfY2FjaGVfcG9zKGluZm8tPnByZXYsIGluZm8tPm5hbWUsIGluZm8tPm5hbWVsZW4pOwogCiAJaWYgKHBvcyA8IC0xKQogCQlvLT5jYWNoZV9ib3R0b20gPSAtMiAtIHBvczsKQEAgLTY3OSw3ICs2NjMsNyBAQAogCiBzdGF0aWMgaW5saW5lIGludCBhcmVfc2FtZV9vaWQoc3RydWN0IG5hbWVfZW50cnkgKm5hbWVfaiwgc3RydWN0IG5hbWVfZW50cnkgKm5hbWVfaykKIHsKLQlyZXR1cm4gbmFtZV9qLT5vaWQgJiYgbmFtZV9rLT5vaWQgJiYgb2lkZXEobmFtZV9qLT5vaWQsIG5hbWVfay0+b2lkKTsKKwlyZXR1cm4gIWlzX251bGxfb2lkKCZuYW1lX2otPm9pZCkgJiYgIWlzX251bGxfb2lkKCZuYW1lX2stPm9pZCkgJiYgb2lkZXEoJm5hbWVfai0+b2lkLCAmbmFtZV9rLT5vaWQpOwogfQogCiBzdGF0aWMgaW50IGFsbF90cmVlc19zYW1lX2FzX2NhY2hlX3RyZWUoaW50IG4sIHVuc2lnbmVkIGxvbmcgZGlybWFzaywKQEAgLTcwMywyMSArNjg3LDIxIEBACiAJCQkJICAgICAgc3RydWN0IHRyYXZlcnNlX2luZm8gKmluZm8pCiB7CiAJc3RydWN0IHVucGFja190cmVlc19vcHRpb25zICpvID0gaW5mby0+ZGF0YTsKLQlpbnQgbGVuID0gdHJhdmVyc2VfcGF0aF9sZW4oaW5mbywgbmFtZXMpOwotCWNoYXIgKm5hbWUgPSB4bWFsbG9jKGxlbiArIDEgLyogc2xhc2ggKi8gKyAxIC8qIE5VTCAqLyk7CisJc3RydWN0IHN0cmJ1ZiBuYW1lID0gU1RSQlVGX0lOSVQ7CiAJaW50IHBvczsKIAotCW1ha2VfdHJhdmVyc2VfcGF0aChuYW1lLCBpbmZvLCBuYW1lcyk7Ci0JbmFtZVtsZW4rK10gPSAnLyc7Ci0JbmFtZVtsZW5dID0gJ1wwJzsKLQlwb3MgPSBpbmRleF9uYW1lX3BvcyhvLT5zcmNfaW5kZXgsIG5hbWUsIGxlbik7CisJc3RyYnVmX21ha2VfdHJhdmVyc2VfcGF0aCgmbmFtZSwgaW5mbywgbmFtZXMtPnBhdGgsIG5hbWVzLT5wYXRobGVuKTsKKwlzdHJidWZfYWRkY2goJm5hbWUsICcvJyk7CisJcG9zID0gaW5kZXhfbmFtZV9wb3Moby0+c3JjX2luZGV4LCBuYW1lLmJ1ZiwgbmFtZS5sZW4pOwogCWlmIChwb3MgPj0gMCkKIAkJQlVHKCJUaGlzIGlzIGEgZGlyZWN0b3J5IGFuZCBzaG91bGQgbm90IGV4aXN0IGluIGluZGV4Iik7CiAJcG9zID0gLXBvcyAtIDE7Ci0JaWYgKCFzdGFydHNfd2l0aChvLT5zcmNfaW5kZXgtPmNhY2hlW3Bvc10tPm5hbWUsIG5hbWUpIHx8Ci0JICAgIChwb3MgPiAwICYmIHN0YXJ0c193aXRoKG8tPnNyY19pbmRleC0+Y2FjaGVbcG9zLTFdLT5uYW1lLCBuYW1lKSkpCi0JCUJVRygicG9zIG11c3QgcG9pbnQgYXQgdGhlIGZpcnN0IGVudHJ5IGluIHRoaXMgZGlyZWN0b3J5Iik7Ci0JZnJlZShuYW1lKTsKKwlpZiAocG9zID49IG8tPnNyY19pbmRleC0+Y2FjaGVfbnIgfHwKKwkgICAgIXN0YXJ0c193aXRoKG8tPnNyY19pbmRleC0+Y2FjaGVbcG9zXS0+bmFtZSwgbmFtZS5idWYpIHx8CisJICAgIChwb3MgPiAwICYmIHN0YXJ0c193aXRoKG8tPnNyY19pbmRleC0+Y2FjaGVbcG9zLTFdLT5uYW1lLCBuYW1lLmJ1ZikpKQorCQlCVUcoInBvcyAlZCBkb2Vzbid0IHBvaW50IHRvIHRoZSBmaXJzdCBlbnRyeSBvZiAlcyBpbiBpbmRleCIsCisJCSAgICBwb3MsIG5hbWUuYnVmKTsKKwlzdHJidWZfcmVsZWFzZSgmbmFtZSk7CiAJcmV0dXJuIHBvczsKIH0KIApAQCAtNzI3LDcgKzcxMSw2IEBACiAgKiBpbnN0ZWFkIG9mIE9EQiBzaW5jZSB3ZSBhbHJlYWR5IGtub3cgd2hhdCB0aGVzZSB0cmVlcyBjb250YWluLgogICovCiBzdGF0aWMgaW50IHRyYXZlcnNlX2J5X2NhY2hlX3RyZWUoaW50IHBvcywgaW50IG5yX2VudHJpZXMsIGludCBucl9uYW1lcywKLQkJCQkgIHN0cnVjdCBuYW1lX2VudHJ5ICpuYW1lcywKIAkJCQkgIHN0cnVjdCB0cmF2ZXJzZV9pbmZvICppbmZvKQogewogCXN0cnVjdCBjYWNoZV9lbnRyeSAqc3JjW01BWF9VTlBBQ0tfVFJFRVMgKyAxXSA9IHsgTlVMTCwgfTsKQEAgLTc5NCw2ICs3NzcsNyBAQAogCQkJCSAgICBzdHJ1Y3QgbmFtZV9lbnRyeSAqbmFtZXMsCiAJCQkJICAgIHN0cnVjdCB0cmF2ZXJzZV9pbmZvICppbmZvKQogeworCXN0cnVjdCB1bnBhY2tfdHJlZXNfb3B0aW9ucyAqbyA9IGluZm8tPmRhdGE7CiAJaW50IGksIHJldCwgYm90dG9tOwogCWludCBucl9idWYgPSAwOwogCXN0cnVjdCB0cmVlX2Rlc2MgdFtNQVhfVU5QQUNLX1RSRUVTXTsKQEAgLTgwNCw3ICs3ODgsNiBAQAogCiAJbnJfZW50cmllcyA9IGFsbF90cmVlc19zYW1lX2FzX2NhY2hlX3RyZWUobiwgZGlybWFzaywgbmFtZXMsIGluZm8pOwogCWlmIChucl9lbnRyaWVzID4gMCkgewotCQlzdHJ1Y3QgdW5wYWNrX3RyZWVzX29wdGlvbnMgKm8gPSBpbmZvLT5kYXRhOwogCQlpbnQgcG9zID0gaW5kZXhfcG9zX2J5X3RyYXZlcnNlX2luZm8obmFtZXMsIGluZm8pOwogCiAJCWlmICghby0+bWVyZ2UgfHwgZGZfY29uZmxpY3RzKQpAQCAtODE3LDcgKzgwMCw3IEBACiAJCSAqIHVucHJvY2Vzc2VkIGVudHJpZXMgYmVmb3JlICdwb3MnLgogCQkgKi8KIAkJYm90dG9tID0gby0+Y2FjaGVfYm90dG9tOwotCQlyZXQgPSB0cmF2ZXJzZV9ieV9jYWNoZV90cmVlKHBvcywgbnJfZW50cmllcywgbiwgbmFtZXMsIGluZm8pOworCQlyZXQgPSB0cmF2ZXJzZV9ieV9jYWNoZV90cmVlKHBvcywgbnJfZW50cmllcywgbiwgaW5mbyk7CiAJCW8tPmNhY2hlX2JvdHRvbSA9IGJvdHRvbTsKIAkJcmV0dXJuIHJldDsKIAl9CkBAIC04MjksOCArODEyLDEwIEBACiAJbmV3aW5mbyA9ICppbmZvOwogCW5ld2luZm8ucHJldiA9IGluZm87CiAJbmV3aW5mby5wYXRoc3BlYyA9IGluZm8tPnBhdGhzcGVjOwotCW5ld2luZm8ubmFtZSA9ICpwOwotCW5ld2luZm8ucGF0aGxlbiArPSB0cmVlX2VudHJ5X2xlbihwKSArIDE7CisJbmV3aW5mby5uYW1lID0gcC0+cGF0aDsKKwluZXdpbmZvLm5hbWVsZW4gPSBwLT5wYXRobGVuOworCW5ld2luZm8ubW9kZSA9IHAtPm1vZGU7CisJbmV3aW5mby5wYXRobGVuID0gc3RfYWRkMyhuZXdpbmZvLnBhdGhsZW4sIHRyZWVfZW50cnlfbGVuKHApLCAxKTsKIAluZXdpbmZvLmRmX2NvbmZsaWN0cyB8PSBkZl9jb25mbGljdHM7CiAKIAkvKgpAQCAtODU3LDEzICs4NDIsMTMgQEAKIAkJZWxzZSB7CiAJCQljb25zdCBzdHJ1Y3Qgb2JqZWN0X2lkICpvaWQgPSBOVUxMOwogCQkJaWYgKGRpcm1hc2sgJiAxKQotCQkJCW9pZCA9IG5hbWVzW2ldLm9pZDsKLQkJCWJ1Zltucl9idWYrK10gPSBmaWxsX3RyZWVfZGVzY3JpcHRvcih0ICsgaSwgb2lkKTsKKwkJCQlvaWQgPSAmbmFtZXNbaV0ub2lkOworCQkJYnVmW25yX2J1ZisrXSA9IGZpbGxfdHJlZV9kZXNjcmlwdG9yKHRoZV9yZXBvc2l0b3J5LCB0ICsgaSwgb2lkKTsKIAkJfQogCX0KIAogCWJvdHRvbSA9IHN3aXRjaF9jYWNoZV9ib3R0b20oJm5ld2luZm8pOwotCXJldCA9IHRyYXZlcnNlX3RyZWVzKG4sIHQsICZuZXdpbmZvKTsKKwlyZXQgPSB0cmF2ZXJzZV90cmVlcyhvLT5zcmNfaW5kZXgsIG4sIHQsICZuZXdpbmZvKTsKIAlyZXN0b3JlX2NhY2hlX2JvdHRvbSgmbmV3aW5mbywgYm90dG9tKTsKIAogCWZvciAoaSA9IDA7IGkgPCBucl9idWY7IGkrKykKQEAgLTg4MSwxNCArODY2LDE4IEBACiAgKiBpdHNlbGYgLSB0aGUgY2FsbGVyIG5lZWRzIHRvIGRvIHRoZSBmaW5hbCBjaGVjayBmb3IgdGhlIGNhY2hlCiAgKiBlbnRyeSBoYXZpbmcgbW9yZSBkYXRhIGF0IHRoZSBlbmQhCiAgKi8KLXN0YXRpYyBpbnQgZG9fY29tcGFyZV9lbnRyeV9waWVjZXdpc2UoY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwgY29uc3Qgc3RydWN0IHRyYXZlcnNlX2luZm8gKmluZm8sIGNvbnN0IHN0cnVjdCBuYW1lX2VudHJ5ICpuKQorc3RhdGljIGludCBkb19jb21wYXJlX2VudHJ5X3BpZWNld2lzZShjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLAorCQkJCSAgICAgIGNvbnN0IHN0cnVjdCB0cmF2ZXJzZV9pbmZvICppbmZvLAorCQkJCSAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lbGVuLAorCQkJCSAgICAgIHVuc2lnbmVkIG1vZGUpCiB7Ci0JaW50IGxlbiwgcGF0aGxlbiwgY2VfbGVuOworCWludCBwYXRobGVuLCBjZV9sZW47CiAJY29uc3QgY2hhciAqY2VfbmFtZTsKIAogCWlmIChpbmZvLT5wcmV2KSB7CiAJCWludCBjbXAgPSBkb19jb21wYXJlX2VudHJ5X3BpZWNld2lzZShjZSwgaW5mby0+cHJldiwKLQkJCQkJCSAgICAgJmluZm8tPm5hbWUpOworCQkJCQkJICAgICBpbmZvLT5uYW1lLCBpbmZvLT5uYW1lbGVuLAorCQkJCQkJICAgICBpbmZvLT5tb2RlKTsKIAkJaWYgKGNtcCkKIAkJCXJldHVybiBjbXA7CiAJfQpAQCAtOTAyLDE1ICs4OTEsMTUgQEAKIAljZV9sZW4gLT0gcGF0aGxlbjsKIAljZV9uYW1lID0gY2UtPm5hbWUgKyBwYXRobGVuOwogCi0JbGVuID0gdHJlZV9lbnRyeV9sZW4obik7Ci0JcmV0dXJuIGRmX25hbWVfY29tcGFyZShjZV9uYW1lLCBjZV9sZW4sIFNfSUZSRUcsIG4tPnBhdGgsIGxlbiwgbi0+bW9kZSk7CisJcmV0dXJuIGRmX25hbWVfY29tcGFyZShjZV9uYW1lLCBjZV9sZW4sIFNfSUZSRUcsIG5hbWUsIG5hbWVsZW4sIG1vZGUpOwogfQogCiBzdGF0aWMgaW50IGRvX2NvbXBhcmVfZW50cnkoY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwKIAkJCSAgICBjb25zdCBzdHJ1Y3QgdHJhdmVyc2VfaW5mbyAqaW5mbywKLQkJCSAgICBjb25zdCBzdHJ1Y3QgbmFtZV9lbnRyeSAqbikKKwkJCSAgICBjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZWxlbiwKKwkJCSAgICB1bnNpZ25lZCBtb2RlKQogewotCWludCBsZW4sIHBhdGhsZW4sIGNlX2xlbjsKKwlpbnQgcGF0aGxlbiwgY2VfbGVuOwogCWNvbnN0IGNoYXIgKmNlX25hbWU7CiAJaW50IGNtcDsKIApAQCAtOTIwLDcgKzkwOSw3IEBACiAJICogaXQgaXMgcXVpY2tlciB0byB1c2UgdGhlIHByZWNvbXB1dGVkIHZlcnNpb24uCiAJICovCiAJaWYgKCFpbmZvLT50cmF2ZXJzZV9wYXRoKQotCQlyZXR1cm4gZG9fY29tcGFyZV9lbnRyeV9waWVjZXdpc2UoY2UsIGluZm8sIG4pOworCQlyZXR1cm4gZG9fY29tcGFyZV9lbnRyeV9waWVjZXdpc2UoY2UsIGluZm8sIG5hbWUsIG5hbWVsZW4sIG1vZGUpOwogCiAJY21wID0gc3RybmNtcChjZS0+bmFtZSwgaW5mby0+dHJhdmVyc2VfcGF0aCwgaW5mby0+cGF0aGxlbik7CiAJaWYgKGNtcCkKQEAgLTkzNSwxMyArOTI0LDEyIEBACiAJY2VfbGVuIC09IHBhdGhsZW47CiAJY2VfbmFtZSA9IGNlLT5uYW1lICsgcGF0aGxlbjsKIAotCWxlbiA9IHRyZWVfZW50cnlfbGVuKG4pOwotCXJldHVybiBkZl9uYW1lX2NvbXBhcmUoY2VfbmFtZSwgY2VfbGVuLCBTX0lGUkVHLCBuLT5wYXRoLCBsZW4sIG4tPm1vZGUpOworCXJldHVybiBkZl9uYW1lX2NvbXBhcmUoY2VfbmFtZSwgY2VfbGVuLCBTX0lGUkVHLCBuYW1lLCBuYW1lbGVuLCBtb2RlKTsKIH0KIAogc3RhdGljIGludCBjb21wYXJlX2VudHJ5KGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsIGNvbnN0IHN0cnVjdCB0cmF2ZXJzZV9pbmZvICppbmZvLCBjb25zdCBzdHJ1Y3QgbmFtZV9lbnRyeSAqbikKIHsKLQlpbnQgY21wID0gZG9fY29tcGFyZV9lbnRyeShjZSwgaW5mbywgbik7CisJaW50IGNtcCA9IGRvX2NvbXBhcmVfZW50cnkoY2UsIGluZm8sIG4tPnBhdGgsIG4tPnBhdGhsZW4sIG4tPm1vZGUpOwogCWlmIChjbXApCiAJCXJldHVybiBjbXA7CiAKQEAgLTk0OSw3ICs5MzcsNyBAQAogCSAqIEV2ZW4gaWYgdGhlIGJlZ2lubmluZyBjb21wYXJlZCBpZGVudGljYWxseSwgdGhlIGNlIHNob3VsZAogCSAqIGNvbXBhcmUgYXMgYmlnZ2VyIHRoYW4gYSBkaXJlY3RvcnkgbGVhZGluZyB1cCB0byBpdCEKIAkgKi8KLQlyZXR1cm4gY2VfbmFtZWxlbihjZSkgPiB0cmF2ZXJzZV9wYXRoX2xlbihpbmZvLCBuKTsKKwlyZXR1cm4gY2VfbmFtZWxlbihjZSkgPiB0cmF2ZXJzZV9wYXRoX2xlbihpbmZvLCB0cmVlX2VudHJ5X2xlbihuKSk7CiB9CiAKIHN0YXRpYyBpbnQgY2VfaW5fdHJhdmVyc2VfcGF0aChjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLApAQCAtOTU3LDcgKzk0NSw4IEBACiB7CiAJaWYgKCFpbmZvLT5wcmV2KQogCQlyZXR1cm4gMTsKLQlpZiAoZG9fY29tcGFyZV9lbnRyeShjZSwgaW5mby0+cHJldiwgJmluZm8tPm5hbWUpKQorCWlmIChkb19jb21wYXJlX2VudHJ5KGNlLCBpbmZvLT5wcmV2LAorCQkJICAgICBpbmZvLT5uYW1lLCBpbmZvLT5uYW1lbGVuLCBpbmZvLT5tb2RlKSkKIAkJcmV0dXJuIDA7CiAJLyoKIAkgKiBJZiBjZSAoYmxvYikgaXMgdGhlIHNhbWUgbmFtZSBhcyB0aGUgcGF0aCAod2hpY2ggaXMgYSB0cmVlCkBAIC05NzIsNyArOTYxLDcgQEAKIAlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKIAlpbnQgaXNfdHJhbnNpZW50KQogewotCWludCBsZW4gPSB0cmF2ZXJzZV9wYXRoX2xlbihpbmZvLCBuKTsKKwlzaXplX3QgbGVuID0gdHJhdmVyc2VfcGF0aF9sZW4oaW5mbywgdHJlZV9lbnRyeV9sZW4obikpOwogCXN0cnVjdCBjYWNoZV9lbnRyeSAqY2UgPQogCQlpc190cmFuc2llbnQgPwogCQltYWtlX2VtcHR5X3RyYW5zaWVudF9jYWNoZV9lbnRyeShsZW4pIDoKQEAgLTk4MSw4ICs5NzAsOSBAQAogCWNlLT5jZV9tb2RlID0gY3JlYXRlX2NlX21vZGUobi0+bW9kZSk7CiAJY2UtPmNlX2ZsYWdzID0gY3JlYXRlX2NlX2ZsYWdzKHN0YWdlKTsKIAljZS0+Y2VfbmFtZWxlbiA9IGxlbjsKLQlvaWRjcHkoJmNlLT5vaWQsIG4tPm9pZCk7Ci0JbWFrZV90cmF2ZXJzZV9wYXRoKGNlLT5uYW1lLCBpbmZvLCBuKTsKKwlvaWRjcHkoJmNlLT5vaWQsICZuLT5vaWQpOworCS8qIGxlbisxIGJlY2F1c2UgdGhlIGNhY2hlX2VudHJ5IGFsbG9jYXRlcyBzcGFjZSBmb3IgTlVMICovCisJbWFrZV90cmF2ZXJzZV9wYXRoKGNlLT5uYW1lLCBsZW4gKyAxLCBpbmZvLCBuLT5wYXRoLCBuLT5wYXRobGVuKTsKIAogCXJldHVybiBjZTsKIH0KQEAgLTEwNjAsNyArMTA1MCw3IEBACiBzdGF0aWMgaW50IHVucGFja19mYWlsZWQoc3RydWN0IHVucGFja190cmVlc19vcHRpb25zICpvLCBjb25zdCBjaGFyICptZXNzYWdlKQogewogCWRpc2NhcmRfaW5kZXgoJm8tPnJlc3VsdCk7Ci0JaWYgKCFvLT5nZW50bHkgJiYgIW8tPmV4aXRpbmdfZWFybHkpIHsKKwlpZiAoIW8tPnF1aWV0ICYmICFvLT5leGl0aW5nX2Vhcmx5KSB7CiAJCWlmIChtZXNzYWdlKQogCQkJcmV0dXJuIGVycm9yKCIlcyIsIG1lc3NhZ2UpOwogCQlyZXR1cm4gLTE7CkBAIC0xMDc1LDEzICsxMDY1LDEyIEBACiAgKiB0aGUgZGlyZWN0b3J5LgogICovCiBzdGF0aWMgaW50IGZpbmRfY2FjaGVfcG9zKHN0cnVjdCB0cmF2ZXJzZV9pbmZvICppbmZvLAotCQkJICBjb25zdCBzdHJ1Y3QgbmFtZV9lbnRyeSAqcCkKKwkJCSAgY29uc3QgY2hhciAqcCwgc2l6ZV90IHBfbGVuKQogewogCWludCBwb3M7CiAJc3RydWN0IHVucGFja190cmVlc19vcHRpb25zICpvID0gaW5mby0+ZGF0YTsKIAlzdHJ1Y3QgaW5kZXhfc3RhdGUgKmluZGV4ID0gby0+c3JjX2luZGV4OwogCWludCBwZnhsZW4gPSBpbmZvLT5wYXRobGVuOwotCWludCBwX2xlbiA9IHRyZWVfZW50cnlfbGVuKHApOwogCiAJZm9yIChwb3MgPSBvLT5jYWNoZV9ib3R0b207IHBvcyA8IGluZGV4LT5jYWNoZV9ucjsgcG9zKyspIHsKIAkJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSA9IGluZGV4LT5jYWNoZVtwb3NdOwpAQCAtMTExNyw3ICsxMTA2LDcgQEAKIAkJCWNlX2xlbiA9IGNlX3NsYXNoIC0gY2VfbmFtZTsKIAkJZWxzZQogCQkJY2VfbGVuID0gY2VfbmFtZWxlbihjZSkgLSBwZnhsZW47Ci0JCWNtcCA9IG5hbWVfY29tcGFyZShwLT5wYXRoLCBwX2xlbiwgY2VfbmFtZSwgY2VfbGVuKTsKKwkJY21wID0gbmFtZV9jb21wYXJlKHAsIHBfbGVuLCBjZV9uYW1lLCBjZV9sZW4pOwogCQkvKgogCQkgKiBFeGFjdCBtYXRjaDsgaWYgd2UgaGF2ZSBhIGRpcmVjdG9yeSB3ZSBuZWVkIHRvCiAJCSAqIGRlbGF5IHJldHVybmluZyBpdC4KQEAgLTExMzIsNyArMTEyMSw3IEBACiAJCSAqIEUuZy4gIGNlX25hbWUgPT0gInQtaSIsIGFuZCBwLT5wYXRoID09ICJ0Ijsgd2UgbWF5CiAJCSAqIGhhdmUgInQvYSIgaW4gdGhlIGluZGV4LgogCQkgKi8KLQkJaWYgKHBfbGVuIDwgY2VfbGVuICYmICFtZW1jbXAoY2VfbmFtZSwgcC0+cGF0aCwgcF9sZW4pICYmCisJCWlmIChwX2xlbiA8IGNlX2xlbiAmJiAhbWVtY21wKGNlX25hbWUsIHAsIHBfbGVuKSAmJgogCQkgICAgY2VfbmFtZVtwX2xlbl0gPCAnLycpCiAJCQljb250aW51ZTsgLyoga2VlcCBsb29raW5nICovCiAJCWJyZWFrOwpAQCAtMTE0Myw3ICsxMTMyLDcgQEAKIHN0YXRpYyBzdHJ1Y3QgY2FjaGVfZW50cnkgKmZpbmRfY2FjaGVfZW50cnkoc3RydWN0IHRyYXZlcnNlX2luZm8gKmluZm8sCiAJCQkJCSAgICBjb25zdCBzdHJ1Y3QgbmFtZV9lbnRyeSAqcCkKIHsKLQlpbnQgcG9zID0gZmluZF9jYWNoZV9wb3MoaW5mbywgcCk7CisJaW50IHBvcyA9IGZpbmRfY2FjaGVfcG9zKGluZm8sIHAtPnBhdGgsIHAtPnBhdGhsZW4pOwogCXN0cnVjdCB1bnBhY2tfdHJlZXNfb3B0aW9ucyAqbyA9IGluZm8tPmRhdGE7CiAKIAlpZiAoMCA8PSBwb3MpCkBAIC0xMTU2LDEwICsxMTQ1LDEwIEBACiB7CiAJaWYgKGluZm8tPnByZXYpIHsKIAkJZGVidWdfcGF0aChpbmZvLT5wcmV2KTsKLQkJaWYgKCppbmZvLT5wcmV2LT5uYW1lLnBhdGgpCisJCWlmICgqaW5mby0+cHJldi0+bmFtZSkKIAkJCXB1dGNoYXIoJy8nKTsKIAl9Ci0JcHJpbnRmKCIlcyIsIGluZm8tPm5hbWUucGF0aCk7CisJcHJpbnRmKCIlcyIsIGluZm8tPm5hbWUpOwogfQogCiBzdGF0aWMgdm9pZCBkZWJ1Z19uYW1lX2VudHJ5KGludCBpLCBzdHJ1Y3QgbmFtZV9lbnRyeSAqbikKQEAgLTEyODMsNyArMTI3Miw5IEBACiAJCQkgICAgc3RydWN0IGNhY2hlX2VudHJ5ICoqY2FjaGUsIGludCBuciwKIAkJCSAgICBzdHJ1Y3Qgc3RyYnVmICpwcmVmaXgsCiAJCQkgICAgaW50IHNlbGVjdF9tYXNrLCBpbnQgY2xlYXJfbWFzaywKLQkJCSAgICBzdHJ1Y3QgZXhjbHVkZV9saXN0ICplbCwgaW50IGRlZnZhbCk7CisJCQkgICAgc3RydWN0IHBhdHRlcm5fbGlzdCAqcGwsCisJCQkgICAgZW51bSBwYXR0ZXJuX21hdGNoX3Jlc3VsdCBkZWZhdWx0X21hdGNoLAorCQkJICAgIGludCBwcm9ncmVzc19ucik7CiAKIC8qIFdob2xlIGRpcmVjdG9yeSBtYXRjaGluZyAqLwogc3RhdGljIGludCBjbGVhcl9jZV9mbGFnc19kaXIoc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsCkBAIC0xMjkxLDE5ICsxMjgyLDI0IEBACiAJCQkgICAgICBzdHJ1Y3Qgc3RyYnVmICpwcmVmaXgsCiAJCQkgICAgICBjaGFyICpiYXNlbmFtZSwKIAkJCSAgICAgIGludCBzZWxlY3RfbWFzaywgaW50IGNsZWFyX21hc2ssCi0JCQkgICAgICBzdHJ1Y3QgZXhjbHVkZV9saXN0ICplbCwgaW50IGRlZnZhbCkKKwkJCSAgICAgIHN0cnVjdCBwYXR0ZXJuX2xpc3QgKnBsLAorCQkJICAgICAgZW51bSBwYXR0ZXJuX21hdGNoX3Jlc3VsdCBkZWZhdWx0X21hdGNoLAorCQkJICAgICAgaW50IHByb2dyZXNzX25yKQogewogCXN0cnVjdCBjYWNoZV9lbnRyeSAqKmNhY2hlX2VuZDsKIAlpbnQgZHR5cGUgPSBEVF9ESVI7Ci0JaW50IHJldCA9IGlzX2V4Y2x1ZGVkX2Zyb21fbGlzdChwcmVmaXgtPmJ1ZiwgcHJlZml4LT5sZW4sCi0JCQkJCWJhc2VuYW1lLCAmZHR5cGUsIGVsLCBpc3RhdGUpOwogCWludCByYzsKKwllbnVtIHBhdHRlcm5fbWF0Y2hfcmVzdWx0IHJldCwgb3JpZ19yZXQ7CisJb3JpZ19yZXQgPSBwYXRoX21hdGNoZXNfcGF0dGVybl9saXN0KHByZWZpeC0+YnVmLCBwcmVmaXgtPmxlbiwKKwkJCQkJICAgICBiYXNlbmFtZSwgJmR0eXBlLCBwbCwgaXN0YXRlKTsKIAogCXN0cmJ1Zl9hZGRjaChwcmVmaXgsICcvJyk7CiAKIAkvKiBJZiB1bmRlY2lkZWQsIHVzZSBtYXRjaGluZyByZXN1bHQgb2YgcGFyZW50IGRpciBpbiBkZWZ2YWwgKi8KLQlpZiAocmV0IDwgMCkKLQkJcmV0ID0gZGVmdmFsOworCWlmIChvcmlnX3JldCA9PSBVTkRFQ0lERUQpCisJCXJldCA9IGRlZmF1bHRfbWF0Y2g7CisJZWxzZQorCQlyZXQgPSBvcmlnX3JldDsKIAogCWZvciAoY2FjaGVfZW5kID0gY2FjaGU7IGNhY2hlX2VuZCAhPSBjYWNoZSArIG5yOyBjYWNoZV9lbmQrKykgewogCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gKmNhY2hlX2VuZDsKQEAgLTEzMTEsMjQgKzEzMDcsMzEgQEAKIAkJCWJyZWFrOwogCX0KIAotCS8qCi0JICogVE9ETzogY2hlY2sgZWwsIGlmIHRoZXJlIGFyZSBubyBwYXR0ZXJucyB0aGF0IG1heSBjb25mbGljdAotCSAqIHdpdGggcmV0IChpb3csIHdlIGtub3cgaW4gYWR2YW5jZSB0aGUgaW5jbC9leGNsCi0JICogZGVjaXNpb24gZm9yIHRoZSBlbnRpcmUgZGlyZWN0b3J5KSwgY2xlYXIgZmxhZyBoZXJlIHdpdGhvdXQKLQkgKiBjYWxsaW5nIGNsZWFyX2NlX2ZsYWdzXzEoKS4gVGhhdCBmdW5jdGlvbiB3aWxsIGNhbGwKLQkgKiB0aGUgZXhwZW5zaXZlIGlzX2V4Y2x1ZGVkX2Zyb21fbGlzdCgpIG9uIGV2ZXJ5IGVudHJ5LgotCSAqLwotCXJjID0gY2xlYXJfY2VfZmxhZ3NfMShpc3RhdGUsIGNhY2hlLCBjYWNoZV9lbmQgLSBjYWNoZSwKLQkJCSAgICAgIHByZWZpeCwKLQkJCSAgICAgIHNlbGVjdF9tYXNrLCBjbGVhcl9tYXNrLAotCQkJICAgICAgZWwsIHJldCk7CisJaWYgKHBsLT51c2VfY29uZV9wYXR0ZXJucyAmJiBvcmlnX3JldCA9PSBNQVRDSEVEX1JFQ1VSU0lWRSkgeworCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKipjZSA9IGNhY2hlOworCQlyYyA9IGNhY2hlX2VuZCAtIGNhY2hlOworCisJCXdoaWxlIChjZSA8IGNhY2hlX2VuZCkgeworCQkJKCpjZSktPmNlX2ZsYWdzICY9IH5jbGVhcl9tYXNrOworCQkJY2UrKzsKKwkJfQorCX0gZWxzZSBpZiAocGwtPnVzZV9jb25lX3BhdHRlcm5zICYmIG9yaWdfcmV0ID09IE5PVF9NQVRDSEVEKSB7CisJCXJjID0gY2FjaGVfZW5kIC0gY2FjaGU7CisJfSBlbHNlIHsKKwkJcmMgPSBjbGVhcl9jZV9mbGFnc18xKGlzdGF0ZSwgY2FjaGUsIGNhY2hlX2VuZCAtIGNhY2hlLAorCQkJCSAgICAgIHByZWZpeCwKKwkJCQkgICAgICBzZWxlY3RfbWFzaywgY2xlYXJfbWFzaywKKwkJCQkgICAgICBwbCwgcmV0LAorCQkJCSAgICAgIHByb2dyZXNzX25yKTsKKwl9CisKIAlzdHJidWZfc2V0bGVuKHByZWZpeCwgcHJlZml4LT5sZW4gLSAxKTsKIAlyZXR1cm4gcmM7CiB9CiAKIC8qCiAgKiBUcmF2ZXJzZSB0aGUgaW5kZXgsIGZpbmQgZXZlcnkgZW50cnkgdGhhdCBtYXRjaGVzIGFjY29yZGluZyB0bwotICogby0+ZWwuIERvICJjZV9mbGFncyAmPSB+Y2xlYXJfbWFzayIgb24gdGhvc2UgZW50cmllcy4gUmV0dXJuIHRoZQorICogby0+cGwuIERvICJjZV9mbGFncyAmPSB+Y2xlYXJfbWFzayIgb24gdGhvc2UgZW50cmllcy4gUmV0dXJuIHRoZQogICogbnVtYmVyIG9mIHRyYXZlcnNlZCBlbnRyaWVzLgogICoKICAqIElmIHNlbGVjdF9tYXNrIGlzIG5vbi16ZXJvLCBvbmx5IGVudHJpZXMgd2hvc2UgY2VfZmxhZ3MgaGFzIG9uIG9mCkBAIC0xMzQ1LDkgKzEzNDgsMTEgQEAKIAkJCSAgICBzdHJ1Y3QgY2FjaGVfZW50cnkgKipjYWNoZSwgaW50IG5yLAogCQkJICAgIHN0cnVjdCBzdHJidWYgKnByZWZpeCwKIAkJCSAgICBpbnQgc2VsZWN0X21hc2ssIGludCBjbGVhcl9tYXNrLAotCQkJICAgIHN0cnVjdCBleGNsdWRlX2xpc3QgKmVsLCBpbnQgZGVmdmFsKQorCQkJICAgIHN0cnVjdCBwYXR0ZXJuX2xpc3QgKnBsLAorCQkJICAgIGVudW0gcGF0dGVybl9tYXRjaF9yZXN1bHQgZGVmYXVsdF9tYXRjaCwKKwkJCSAgICBpbnQgcHJvZ3Jlc3NfbnIpCiB7Ci0Jc3RydWN0IGNhY2hlX2VudHJ5ICoqY2FjaGVfZW5kID0gY2FjaGUgKyBucjsKKwlzdHJ1Y3QgY2FjaGVfZW50cnkgKipjYWNoZV9lbmQgPSBuciA/IGNhY2hlICsgbnIgOiBjYWNoZTsKIAogCS8qCiAJICogUHJvY2VzcyBhbGwgZW50cmllcyB0aGF0IGhhdmUgdGhlIGdpdmVuIHByZWZpeCBhbmQgbWVldApAQCAtMTM1NiwxMCArMTM2MSwxNCBAQAogCXdoaWxlKGNhY2hlICE9IGNhY2hlX2VuZCkgewogCQlzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gKmNhY2hlOwogCQljb25zdCBjaGFyICpuYW1lLCAqc2xhc2g7Ci0JCWludCBsZW4sIGR0eXBlLCByZXQ7CisJCWludCBsZW4sIGR0eXBlOworCQllbnVtIHBhdHRlcm5fbWF0Y2hfcmVzdWx0IHJldDsKKworCQlkaXNwbGF5X3Byb2dyZXNzKGlzdGF0ZS0+cHJvZ3Jlc3MsIHByb2dyZXNzX25yKTsKIAogCQlpZiAoc2VsZWN0X21hc2sgJiYgIShjZS0+Y2VfZmxhZ3MgJiBzZWxlY3RfbWFzaykpIHsKIAkJCWNhY2hlKys7CisJCQlwcm9ncmVzc19ucisrOwogCQkJY29udGludWU7CiAJCX0KIApAQCAtMTM4MCw1OCArMTM4OSw4NCBAQAogCQkJCQkJICAgICAgIHByZWZpeCwKIAkJCQkJCSAgICAgICBwcmVmaXgtPmJ1ZiArIHByZWZpeC0+bGVuIC0gbGVuLAogCQkJCQkJICAgICAgIHNlbGVjdF9tYXNrLCBjbGVhcl9tYXNrLAotCQkJCQkJICAgICAgIGVsLCBkZWZ2YWwpOworCQkJCQkJICAgICAgIHBsLCBkZWZhdWx0X21hdGNoLAorCQkJCQkJICAgICAgIHByb2dyZXNzX25yKTsKIAogCQkJLyogY2xlYXJfY19mX2RpciBlYXRzIGEgd2hvbGUgZGlyIGFscmVhZHk/ICovCiAJCQlpZiAocHJvY2Vzc2VkKSB7CiAJCQkJY2FjaGUgKz0gcHJvY2Vzc2VkOworCQkJCXByb2dyZXNzX25yICs9IHByb2Nlc3NlZDsKIAkJCQlzdHJidWZfc2V0bGVuKHByZWZpeCwgcHJlZml4LT5sZW4gLSBsZW4pOwogCQkJCWNvbnRpbnVlOwogCQkJfQogCiAJCQlzdHJidWZfYWRkY2gocHJlZml4LCAnLycpOwotCQkJY2FjaGUgKz0gY2xlYXJfY2VfZmxhZ3NfMShpc3RhdGUsIGNhY2hlLCBjYWNoZV9lbmQgLSBjYWNoZSwKLQkJCQkJCSAgcHJlZml4LAotCQkJCQkJICBzZWxlY3RfbWFzaywgY2xlYXJfbWFzaywgZWwsIGRlZnZhbCk7CisJCQlwcm9jZXNzZWQgPSBjbGVhcl9jZV9mbGFnc18xKGlzdGF0ZSwgY2FjaGUsIGNhY2hlX2VuZCAtIGNhY2hlLAorCQkJCQkJICAgICBwcmVmaXgsCisJCQkJCQkgICAgIHNlbGVjdF9tYXNrLCBjbGVhcl9tYXNrLCBwbCwKKwkJCQkJCSAgICAgZGVmYXVsdF9tYXRjaCwgcHJvZ3Jlc3NfbnIpOworCisJCQljYWNoZSArPSBwcm9jZXNzZWQ7CisJCQlwcm9ncmVzc19uciArPSBwcm9jZXNzZWQ7CisKIAkJCXN0cmJ1Zl9zZXRsZW4ocHJlZml4LCBwcmVmaXgtPmxlbiAtIGxlbiAtIDEpOwogCQkJY29udGludWU7CiAJCX0KIAogCQkvKiBOb24tZGlyZWN0b3J5ICovCiAJCWR0eXBlID0gY2VfdG9fZHR5cGUoY2UpOwotCQlyZXQgPSBpc19leGNsdWRlZF9mcm9tX2xpc3QoY2UtPm5hbWUsIGNlX25hbWVsZW4oY2UpLAotCQkJCQkgICAgbmFtZSwgJmR0eXBlLCBlbCwgaXN0YXRlKTsKLQkJaWYgKHJldCA8IDApCi0JCQlyZXQgPSBkZWZ2YWw7Ci0JCWlmIChyZXQgPiAwKQorCQlyZXQgPSBwYXRoX21hdGNoZXNfcGF0dGVybl9saXN0KGNlLT5uYW1lLAorCQkJCQkJY2VfbmFtZWxlbihjZSksCisJCQkJCQluYW1lLCAmZHR5cGUsIHBsLCBpc3RhdGUpOworCQlpZiAocmV0ID09IFVOREVDSURFRCkKKwkJCXJldCA9IGRlZmF1bHRfbWF0Y2g7CisJCWlmIChyZXQgPT0gTUFUQ0hFRCB8fCByZXQgPT0gTUFUQ0hFRF9SRUNVUlNJVkUpCiAJCQljZS0+Y2VfZmxhZ3MgJj0gfmNsZWFyX21hc2s7CiAJCWNhY2hlKys7CisJCXByb2dyZXNzX25yKys7CiAJfQorCisJZGlzcGxheV9wcm9ncmVzcyhpc3RhdGUtPnByb2dyZXNzLCBwcm9ncmVzc19ucik7CiAJcmV0dXJuIG5yIC0gKGNhY2hlX2VuZCAtIGNhY2hlKTsKIH0KIAogc3RhdGljIGludCBjbGVhcl9jZV9mbGFncyhzdHJ1Y3QgaW5kZXhfc3RhdGUgKmlzdGF0ZSwKIAkJCSAgaW50IHNlbGVjdF9tYXNrLCBpbnQgY2xlYXJfbWFzaywKLQkJCSAgc3RydWN0IGV4Y2x1ZGVfbGlzdCAqZWwpCisJCQkgIHN0cnVjdCBwYXR0ZXJuX2xpc3QgKnBsLAorCQkJICBpbnQgc2hvd19wcm9ncmVzcykKIHsKIAlzdGF0aWMgc3RydWN0IHN0cmJ1ZiBwcmVmaXggPSBTVFJCVUZfSU5JVDsKKwljaGFyIGxhYmVsWzEwMF07CisJaW50IHJ2YWw7CiAKIAlzdHJidWZfcmVzZXQoJnByZWZpeCk7CisJaWYgKHNob3dfcHJvZ3Jlc3MpCisJCWlzdGF0ZS0+cHJvZ3Jlc3MgPSBzdGFydF9kZWxheWVkX3Byb2dyZXNzKAorCQkJCQlfKCJVcGRhdGluZyBpbmRleCBmbGFncyIpLAorCQkJCQlpc3RhdGUtPmNhY2hlX25yKTsKIAotCXJldHVybiBjbGVhcl9jZV9mbGFnc18xKGlzdGF0ZSwKKwl4c25wcmludGYobGFiZWwsIHNpemVvZihsYWJlbCksICJjbGVhcl9jZV9mbGFncygweCUwOGx4LDB4JTA4bHgpIiwKKwkJICAodW5zaWduZWQgbG9uZylzZWxlY3RfbWFzaywgKHVuc2lnbmVkIGxvbmcpY2xlYXJfbWFzayk7CisJdHJhY2UyX3JlZ2lvbl9lbnRlcigidW5wYWNrX3RyZWVzIiwgbGFiZWwsIHRoZV9yZXBvc2l0b3J5KTsKKwlydmFsID0gY2xlYXJfY2VfZmxhZ3NfMShpc3RhdGUsCiAJCQkJaXN0YXRlLT5jYWNoZSwKIAkJCQlpc3RhdGUtPmNhY2hlX25yLAogCQkJCSZwcmVmaXgsCiAJCQkJc2VsZWN0X21hc2ssIGNsZWFyX21hc2ssCi0JCQkJZWwsIDApOworCQkJCXBsLCAwLCAwKTsKKwl0cmFjZTJfcmVnaW9uX2xlYXZlKCJ1bnBhY2tfdHJlZXMiLCBsYWJlbCwgdGhlX3JlcG9zaXRvcnkpOworCisJc3RvcF9wcm9ncmVzcygmaXN0YXRlLT5wcm9ncmVzcyk7CisJcmV0dXJuIHJ2YWw7CiB9CiAKIC8qCiAgKiBTZXQvQ2xlYXIgQ0VfTkVXX1NLSVBfV09SS1RSRUUgYWNjb3JkaW5nIHRvICRHSVRfRElSL2luZm8vc3BhcnNlLWNoZWNrb3V0CiAgKi8KLXN0YXRpYyB2b2lkIG1hcmtfbmV3X3NraXBfd29ya3RyZWUoc3RydWN0IGV4Y2x1ZGVfbGlzdCAqZWwsCitzdGF0aWMgdm9pZCBtYXJrX25ld19za2lwX3dvcmt0cmVlKHN0cnVjdCBwYXR0ZXJuX2xpc3QgKnBsLAogCQkJCSAgIHN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlLAotCQkJCSAgIGludCBzZWxlY3RfZmxhZywgaW50IHNraXBfd3RfZmxhZykKKwkJCQkgICBpbnQgc2VsZWN0X2ZsYWcsIGludCBza2lwX3d0X2ZsYWcsCisJCQkJICAgaW50IHNob3dfcHJvZ3Jlc3MpCiB7CiAJaW50IGk7CiAKQEAgLTE0NTUsNyArMTQ5MCw3IEBACiAJICogMi4gV2lkZW4gd29ya3RyZWUgYWNjb3JkaW5nIHRvIHNwYXJzZS1jaGVja291dCBmaWxlLgogCSAqIE1hdGNoZWQgZW50cmllcyB3aWxsIGhhdmUgc2tpcF93dF9mbGFnIGNsZWFyZWQgKGkuZS4gImluIikKIAkgKi8KLQljbGVhcl9jZV9mbGFncyhpc3RhdGUsIHNlbGVjdF9mbGFnLCBza2lwX3d0X2ZsYWcsIGVsKTsKKwljbGVhcl9jZV9mbGFncyhpc3RhdGUsIHNlbGVjdF9mbGFnLCBza2lwX3d0X2ZsYWcsIHBsLCBzaG93X3Byb2dyZXNzKTsKIH0KIAogc3RhdGljIGludCB2ZXJpZnlfYWJzZW50KGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqLApAQCAtMTQ3MSwyMSArMTUwNiwyMiBAQAogewogCWludCBpLCByZXQ7CiAJc3RhdGljIHN0cnVjdCBjYWNoZV9lbnRyeSAqZGZjOwotCXN0cnVjdCBleGNsdWRlX2xpc3QgZWw7CisJc3RydWN0IHBhdHRlcm5fbGlzdCBwbDsKIAogCWlmIChsZW4gPiBNQVhfVU5QQUNLX1RSRUVTKQogCQlkaWUoInVucGFja190cmVlcyB0YWtlcyBhdCBtb3N0ICVkIHRyZWVzIiwgTUFYX1VOUEFDS19UUkVFUyk7CiAKIAl0cmFjZV9wZXJmb3JtYW5jZV9lbnRlcigpOwotCW1lbXNldCgmZWwsIDAsIHNpemVvZihlbCkpOworCW1lbXNldCgmcGwsIDAsIHNpemVvZihwbCkpOwogCWlmICghY29yZV9hcHBseV9zcGFyc2VfY2hlY2tvdXQgfHwgIW8tPnVwZGF0ZSkKIAkJby0+c2tpcF9zcGFyc2VfY2hlY2tvdXQgPSAxOwotCWlmICghby0+c2tpcF9zcGFyc2VfY2hlY2tvdXQpIHsKKwlpZiAoIW8tPnNraXBfc3BhcnNlX2NoZWNrb3V0ICYmICFvLT5wbCkgewogCQljaGFyICpzcGFyc2UgPSBnaXRfcGF0aGR1cCgiaW5mby9zcGFyc2UtY2hlY2tvdXQiKTsKLQkJaWYgKGFkZF9leGNsdWRlc19mcm9tX2ZpbGVfdG9fbGlzdChzcGFyc2UsICIiLCAwLCAmZWwsIE5VTEwpIDwgMCkKKwkJcGwudXNlX2NvbmVfcGF0dGVybnMgPSBjb3JlX3NwYXJzZV9jaGVja291dF9jb25lOworCQlpZiAoYWRkX3BhdHRlcm5zX2Zyb21fZmlsZV90b19saXN0KHNwYXJzZSwgIiIsIDAsICZwbCwgTlVMTCkgPCAwKQogCQkJby0+c2tpcF9zcGFyc2VfY2hlY2tvdXQgPSAxOwogCQllbHNlCi0JCQlvLT5lbCA9ICZlbDsKKwkJCW8tPnBsID0gJnBsOwogCQlmcmVlKHNwYXJzZSk7CiAJfQogCkBAIC0xNTEyLDExICsxNTQ4LDE1IEBACiAJby0+bWVyZ2Vfc2l6ZSA9IGxlbjsKIAltYXJrX2FsbF9jZV91bnVzZWQoby0+c3JjX2luZGV4KTsKIAorCWlmIChvLT5zcmNfaW5kZXgtPmZzbW9uaXRvcl9sYXN0X3VwZGF0ZSkKKwkJby0+cmVzdWx0LmZzbW9uaXRvcl9sYXN0X3VwZGF0ZSA9IG8tPnNyY19pbmRleC0+ZnNtb25pdG9yX2xhc3RfdXBkYXRlOworCiAJLyoKIAkgKiBTcGFyc2UgY2hlY2tvdXQgbG9vcCAjMTogc2V0IE5FV19TS0lQX1dPUktUUkVFIG9uIGV4aXN0aW5nIGVudHJpZXMKIAkgKi8KIAlpZiAoIW8tPnNraXBfc3BhcnNlX2NoZWNrb3V0KQotCQltYXJrX25ld19za2lwX3dvcmt0cmVlKG8tPmVsLCBvLT5zcmNfaW5kZXgsIDAsIENFX05FV19TS0lQX1dPUktUUkVFKTsKKwkJbWFya19uZXdfc2tpcF93b3JrdHJlZShvLT5wbCwgby0+c3JjX2luZGV4LCAwLAorCQkJCSAgICAgICBDRV9ORVdfU0tJUF9XT1JLVFJFRSwgby0+dmVyYm9zZV91cGRhdGUpOwogCiAJaWYgKCFkZmMpCiAJCWRmYyA9IHhjYWxsb2MoMSwgY2FjaGVfZW50cnlfc2l6ZSgwKSk7CkBAIC0xNTUwLDcgKzE1OTAsNyBAQAogCQl9CiAKIAkJdHJhY2VfcGVyZm9ybWFuY2VfZW50ZXIoKTsKLQkJcmV0ID0gdHJhdmVyc2VfdHJlZXMobGVuLCB0LCAmaW5mbyk7CisJCXJldCA9IHRyYXZlcnNlX3RyZWVzKG8tPnNyY19pbmRleCwgbGVuLCB0LCAmaW5mbyk7CiAJCXRyYWNlX3BlcmZvcm1hbmNlX2xlYXZlKCJ0cmF2ZXJzZV90cmVlcyIpOwogCQlpZiAocmV0IDwgMCkKIAkJCWdvdG8gcmV0dXJuX2ZhaWxlZDsKQEAgLTE1ODEsNyArMTYyMSw5IEBACiAJCSAqIElmIHRoZSB3aWxsIGhhdmUgTkVXX1NLSVBfV09SS1RSRUUsIGFsc28gc2V0IENFX1NLSVBfV09SS1RSRUUKIAkJICogc28gYXBwbHlfc3BhcnNlX2NoZWNrb3V0KCkgd29uJ3QgYXR0ZW1wdCB0byByZW1vdmUgaXQgZnJvbSB3b3JrdHJlZQogCQkgKi8KLQkJbWFya19uZXdfc2tpcF93b3JrdHJlZShvLT5lbCwgJm8tPnJlc3VsdCwgQ0VfQURERUQsIENFX1NLSVBfV09SS1RSRUUgfCBDRV9ORVdfU0tJUF9XT1JLVFJFRSk7CisJCW1hcmtfbmV3X3NraXBfd29ya3RyZWUoby0+cGwsICZvLT5yZXN1bHQsCisJCQkJICAgICAgIENFX0FEREVELCBDRV9TS0lQX1dPUktUUkVFIHwgQ0VfTkVXX1NLSVBfV09SS1RSRUUsCisJCQkJICAgICAgIG8tPnZlcmJvc2VfdXBkYXRlKTsKIAogCQlyZXQgPSAwOwogCQlmb3IgKGkgPSAwOyBpIDwgby0+cmVzdWx0LmNhY2hlX25yOyBpKyspIHsKQEAgLTE2MzAsNyArMTY3Miw3IEBACiAJCW1vdmVfaW5kZXhfZXh0ZW5zaW9ucygmby0+cmVzdWx0LCBvLT5zcmNfaW5kZXgpOwogCQlpZiAoIXJldCkgewogCQkJaWYgKGdpdF9lbnZfYm9vbCgiR0lUX1RFU1RfQ0hFQ0tfQ0FDSEVfVFJFRSIsIDApKQotCQkJCWNhY2hlX3RyZWVfdmVyaWZ5KCZvLT5yZXN1bHQpOworCQkJCWNhY2hlX3RyZWVfdmVyaWZ5KHRoZV9yZXBvc2l0b3J5LCAmby0+cmVzdWx0KTsKIAkJCWlmICghby0+cmVzdWx0LmNhY2hlX3RyZWUpCiAJCQkJby0+cmVzdWx0LmNhY2hlX3RyZWUgPSBjYWNoZV90cmVlKCk7CiAJCQlpZiAoIWNhY2hlX3RyZWVfZnVsbHlfdmFsaWQoby0+cmVzdWx0LmNhY2hlX3RyZWUpKQpAQCAtMTYzOCw2ICsxNjgwLDggQEAKIAkJCQkJCSAgV1JJVEVfVFJFRV9TSUxFTlQgfAogCQkJCQkJICBXUklURV9UUkVFX1JFUEFJUik7CiAJCX0KKworCQlvLT5yZXN1bHQudXBkYXRlZF93b3JrZGlyID0gMTsKIAkJZGlzY2FyZF9pbmRleChvLT5kc3RfaW5kZXgpOwogCQkqby0+ZHN0X2luZGV4ID0gby0+cmVzdWx0OwogCX0gZWxzZSB7CkBAIC0xNjQ3LDcgKzE2OTEsOCBAQAogCiBkb25lOgogCXRyYWNlX3BlcmZvcm1hbmNlX2xlYXZlKCJ1bnBhY2tfdHJlZXMiKTsKLQljbGVhcl9leGNsdWRlX2xpc3QoJmVsKTsKKwlpZiAoIW8tPmtlZXBfcGF0dGVybl9saXN0KQorCQljbGVhcl9wYXR0ZXJuX2xpc3QoJnBsKTsKIAlyZXR1cm4gcmV0OwogCiByZXR1cm5fZmFpbGVkOgpAQCAtMTY2NSw4ICsxNzEwLDcgQEAKIHN0YXRpYyBpbnQgcmVqZWN0X21lcmdlKGNvbnN0IHN0cnVjdCBjYWNoZV9lbnRyeSAqY2UsCiAJCQlzdHJ1Y3QgdW5wYWNrX3RyZWVzX29wdGlvbnMgKm8pCiB7Ci0JcmV0dXJuIG8tPmdlbnRseSA/IC0xIDoKLQkJYWRkX3JlamVjdGVkX3BhdGgobywgRVJST1JfV09VTERfT1ZFUldSSVRFLCBjZS0+bmFtZSk7CisJcmV0dXJuIGFkZF9yZWplY3RlZF9wYXRoKG8sIEVSUk9SX1dPVUxEX09WRVJXUklURSwgY2UtPm5hbWUpOwogfQogCiBzdGF0aWMgaW50IHNhbWUoY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICphLCBjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmIpCkBAIC0xNzEzLDggKzE3NTcsNyBAQAogCQkJaW50IHIgPSBjaGVja19zdWJtb2R1bGVfbW92ZV9oZWFkKGNlLAogCQkJCSJIRUFEIiwgb2lkX3RvX2hleCgmY2UtPm9pZCksIG8pOwogCQkJaWYgKHIpCi0JCQkJcmV0dXJuIG8tPmdlbnRseSA/IC0xIDoKLQkJCQkJYWRkX3JlamVjdGVkX3BhdGgobywgZXJyb3JfdHlwZSwgY2UtPm5hbWUpOworCQkJCXJldHVybiBhZGRfcmVqZWN0ZWRfcGF0aChvLCBlcnJvcl90eXBlLCBjZS0+bmFtZSk7CiAJCQlyZXR1cm4gMDsKIAkJfQogCkBAIC0xNzMyLDggKzE3NzUsNyBAQAogCX0KIAlpZiAoZXJybm8gPT0gRU5PRU5UKQogCQlyZXR1cm4gMDsKLQlyZXR1cm4gby0+Z2VudGx5ID8gLTEgOgotCQlhZGRfcmVqZWN0ZWRfcGF0aChvLCBlcnJvcl90eXBlLCBjZS0+bmFtZSk7CisJcmV0dXJuIGFkZF9yZWplY3RlZF9wYXRoKG8sIGVycm9yX3R5cGUsIGNlLT5uYW1lKTsKIH0KIAogaW50IHZlcmlmeV91cHRvZGF0ZShjb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlLApAQCAtMTc3OSw3ICsxODIxLDYgQEAKICAqLwogc3RhdGljIGludCB2ZXJpZnlfY2xlYW5fc3VibW9kdWxlKGNvbnN0IGNoYXIgKm9sZF9zaGExLAogCQkJCSAgY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwKLQkJCQkgIGVudW0gdW5wYWNrX3RyZWVzX2Vycm9yX3R5cGVzIGVycm9yX3R5cGUsCiAJCQkJICBzdHJ1Y3QgdW5wYWNrX3RyZWVzX29wdGlvbnMgKm8pCiB7CiAJaWYgKCFzdWJtb2R1bGVfZnJvbV9jZShjZSkpCkBAIC0xNzkwLDcgKzE4MzEsNiBAQAogfQogCiBzdGF0aWMgaW50IHZlcmlmeV9jbGVhbl9zdWJkaXJlY3RvcnkoY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZSwKLQkJCQkgICAgIGVudW0gdW5wYWNrX3RyZWVzX2Vycm9yX3R5cGVzIGVycm9yX3R5cGUsCiAJCQkJICAgICBzdHJ1Y3QgdW5wYWNrX3RyZWVzX29wdGlvbnMgKm8pCiB7CiAJLyoKQEAgLTE4MTMsNyArMTg1Myw3IEBACiAJCWlmICghc3ViX2hlYWQgJiYgb2lkZXEoJm9pZCwgJmNlLT5vaWQpKQogCQkJcmV0dXJuIDA7CiAJCXJldHVybiB2ZXJpZnlfY2xlYW5fc3VibW9kdWxlKHN1Yl9oZWFkID8gTlVMTCA6IG9pZF90b19oZXgoJm9pZCksCi0JCQkJCSAgICAgIGNlLCBlcnJvcl90eXBlLCBvKTsKKwkJCQkJICAgICAgY2UsIG8pOwogCX0KIAogCS8qCkBAIC0xODU1LDggKzE4OTUsNyBAQAogCQlkLmV4Y2x1ZGVfcGVyX2RpciA9IG8tPmRpci0+ZXhjbHVkZV9wZXJfZGlyOwogCWkgPSByZWFkX2RpcmVjdG9yeSgmZCwgby0+c3JjX2luZGV4LCBwYXRoYnVmLCBuYW1lbGVuKzEsIE5VTEwpOwogCWlmIChpKQotCQlyZXR1cm4gby0+Z2VudGx5ID8gLTEgOgotCQkJYWRkX3JlamVjdGVkX3BhdGgobywgRVJST1JfTk9UX1VQVE9EQVRFX0RJUiwgY2UtPm5hbWUpOworCQlyZXR1cm4gYWRkX3JlamVjdGVkX3BhdGgobywgRVJST1JfTk9UX1VQVE9EQVRFX0RJUiwgY2UtPm5hbWUpOwogCWZyZWUocGF0aGJ1Zik7CiAJcmV0dXJuIGNudDsKIH0KQEAgLTE5MDksNyArMTk0OCw3IEBACiAJCSAqIGZpbGVzIHRoYXQgYXJlIGluICJmb28vIiB3ZSB3b3VsZCBsb3NlCiAJCSAqIHRoZW0uCiAJCSAqLwotCQlpZiAodmVyaWZ5X2NsZWFuX3N1YmRpcmVjdG9yeShjZSwgZXJyb3JfdHlwZSwgbykgPCAwKQorCQlpZiAodmVyaWZ5X2NsZWFuX3N1YmRpcmVjdG9yeShjZSwgbykgPCAwKQogCQkJcmV0dXJuIC0xOwogCQlyZXR1cm4gMDsKIAl9CkBAIC0xOTI1LDggKzE5NjQsNyBAQAogCQkJcmV0dXJuIDA7CiAJfQogCi0JcmV0dXJuIG8tPmdlbnRseSA/IC0xIDoKLQkJYWRkX3JlamVjdGVkX3BhdGgobywgZXJyb3JfdHlwZSwgbmFtZSk7CisJcmV0dXJuIGFkZF9yZWplY3RlZF9wYXRoKG8sIGVycm9yX3R5cGUsIG5hbWUpOwogfQogCiAvKgpAQCAtMjM2Nyw3ICsyNDA1LDcgQEAKIAkJcmV0dXJuIGVycm9yKCJDYW5ub3QgZG8gYSBiaW5kIG1lcmdlIG9mICVkIHRyZWVzIiwKIAkJCSAgICAgby0+bWVyZ2Vfc2l6ZSk7CiAJaWYgKGEgJiYgb2xkKQotCQlyZXR1cm4gby0+Z2VudGx5ID8gLTEgOgorCQlyZXR1cm4gby0+cXVpZXQgPyAtMSA6CiAJCQllcnJvcihFUlJPUk1TRyhvLCBFUlJPUl9CSU5EX09WRVJMQVApLAogCQkJICAgICAgc3VwZXJfcHJlZml4ZWQoYS0+bmFtZSksCiAJCQkgICAgICBzdXBlcl9wcmVmaXhlZChvbGQtPm5hbWUpKTsKQEAgLTIzOTgsNyArMjQzNiw4IEBACiAKIAlpZiAob2xkICYmIHNhbWUob2xkLCBhKSkgewogCQlpbnQgdXBkYXRlID0gMDsKLQkJaWYgKG8tPnJlc2V0ICYmIG8tPnVwZGF0ZSAmJiAhY2VfdXB0b2RhdGUob2xkKSAmJiAhY2Vfc2tpcF93b3JrdHJlZShvbGQpKSB7CisJCWlmIChvLT5yZXNldCAmJiBvLT51cGRhdGUgJiYgIWNlX3VwdG9kYXRlKG9sZCkgJiYgIWNlX3NraXBfd29ya3RyZWUob2xkKSAmJgorCQkJIShvbGQtPmNlX2ZsYWdzICYgQ0VfRlNNT05JVE9SX1ZBTElEKSkgewogCQkJc3RydWN0IHN0YXQgc3Q7CiAJCQlpZiAobHN0YXQob2xkLT5uYW1lLCAmc3QpIHx8CiAJCQkgICAgaWVfbWF0Y2hfc3RhdChvLT5zcmNfaW5kZXgsIG9sZCwgJnN0LCBDRV9NQVRDSF9JR05PUkVfVkFMSUR8Q0VfTUFUQ0hfSUdOT1JFX1NLSVBfV09SS1RSRUUpKQpAQCAtMjQwNyw3ICsyNDQ2LDcgQEAKIAkJaWYgKG8tPnVwZGF0ZSAmJiBTX0lTR0lUTElOSyhvbGQtPmNlX21vZGUpICYmCiAJCSAgICBzaG91bGRfdXBkYXRlX3N1Ym1vZHVsZXMoKSAmJiAhdmVyaWZ5X3VwdG9kYXRlKG9sZCwgbykpCiAJCQl1cGRhdGUgfD0gQ0VfVVBEQVRFOwotCQlhZGRfZW50cnkobywgb2xkLCB1cGRhdGUsIDApOworCQlhZGRfZW50cnkobywgb2xkLCB1cGRhdGUsIENFX1NUQUdFTUFTSyk7CiAJCXJldHVybiAwOwogCX0KIAlyZXR1cm4gbWVyZ2VkX2VudHJ5KGEsIG9sZCwgbyk7CmRpZmYgLS1naXQgYS91bnBhY2stdHJlZXMuaCBiL3VucGFjay10cmVlcy5oCmluZGV4IDAxMzUwODAuLmFlMTU1N2YgMTAwNjQ0Ci0tLSBhL3VucGFjay10cmVlcy5oCisrKyBiL3VucGFjay10cmVlcy5oCkBAIC02LDExICs2LDExIEBACiAjaW5jbHVkZSAic3RyaW5nLWxpc3QuaCIKICNpbmNsdWRlICJ0cmVlLXdhbGsuaCIKIAotI2RlZmluZSBNQVhfVU5QQUNLX1RSRUVTIDgKKyNkZWZpbmUgTUFYX1VOUEFDS19UUkVFUyBNQVhfVFJBVkVSU0VfVFJFRVMKIAogc3RydWN0IGNhY2hlX2VudHJ5Owogc3RydWN0IHVucGFja190cmVlc19vcHRpb25zOwotc3RydWN0IGV4Y2x1ZGVfbGlzdDsKK3N0cnVjdCBwYXR0ZXJuX2xpc3Q7CiAKIHR5cGVkZWYgaW50ICgqbWVyZ2VfZm5fdCkoY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICogY29uc3QgKnNyYywKIAkJc3RydWN0IHVucGFja190cmVlc19vcHRpb25zICpvcHRpb25zKTsKQEAgLTU2LDEwICs1NiwxMSBAQAogCQkgICAgIGRpZmZfaW5kZXhfY2FjaGVkLAogCQkgICAgIGRlYnVnX3VucGFjaywKIAkJICAgICBza2lwX3NwYXJzZV9jaGVja291dCwKLQkJICAgICBnZW50bHksCisJCSAgICAgcXVpZXQsCiAJCSAgICAgZXhpdGluZ19lYXJseSwKIAkJICAgICBzaG93X2FsbF9lcnJvcnMsCi0JCSAgICAgZHJ5X3J1bjsKKwkJICAgICBkcnlfcnVuLAorCQkgICAgIGtlZXBfcGF0dGVybl9saXN0OwogCWNvbnN0IGNoYXIgKnByZWZpeDsKIAlpbnQgY2FjaGVfYm90dG9tOwogCXN0cnVjdCBkaXJfc3RydWN0ICpkaXI7CkBAIC04Myw3ICs4NCw3IEBACiAJc3RydWN0IGluZGV4X3N0YXRlICpzcmNfaW5kZXg7CiAJc3RydWN0IGluZGV4X3N0YXRlIHJlc3VsdDsKIAotCXN0cnVjdCBleGNsdWRlX2xpc3QgKmVsOyAvKiBmb3IgaW50ZXJuYWwgdXNlICovCisJc3RydWN0IHBhdHRlcm5fbGlzdCAqcGw7IC8qIGZvciBpbnRlcm5hbCB1c2UgKi8KIH07CiAKIGludCB1bnBhY2tfdHJlZXModW5zaWduZWQgbiwgc3RydWN0IHRyZWVfZGVzYyAqdCwKZGlmZiAtLWdpdCBhL3VwbG9hZC1wYWNrLmMgYi91cGxvYWQtcGFjay5jCmluZGV4IDVlODFmMWYuLmM1MzI0OWMgMTAwNjQ0Ci0tLSBhL3VwbG9hZC1wYWNrLmMKKysrIGIvdXBsb2FkLXBhY2suYwpAQCAtNDMsNyArNDMsNiBAQAogCiBzdGF0aWMgdGltZXN0YW1wX3Qgb2xkZXN0X2hhdmU7CiAKLXN0YXRpYyBpbnQgZGVlcGVuX3JlbGF0aXZlOwogc3RhdGljIGludCBtdWx0aV9hY2s7CiBzdGF0aWMgaW50IG5vX2RvbmU7CiBzdGF0aWMgaW50IHVzZV90aGluX3BhY2ssIHVzZV9vZnNfZGVsdGEsIHVzZV9pbmNsdWRlX3RhZzsKQEAgLTcxLDYgKzcwLDggQEAKIHN0YXRpYyBpbnQgYWxsb3dfcmVmX2luX3dhbnQ7CiBzdGF0aWMgc3RydWN0IGxpc3Rfb2JqZWN0c19maWx0ZXJfb3B0aW9ucyBmaWx0ZXJfb3B0aW9uczsKIAorc3RhdGljIGludCBhbGxvd19zaWRlYmFuZF9hbGw7CisKIHN0YXRpYyB2b2lkIHJlc2V0X3RpbWVvdXQodm9pZCkKIHsKIAlhbGFybSh0aW1lb3V0KTsKQEAgLTEzOSwxNSArMTQwLDE3IEBACiAJCWFyZ3ZfYXJyYXlfcHVzaCgmcGFja19vYmplY3RzLmFyZ3MsICItLWRlbHRhLWJhc2Utb2Zmc2V0Iik7CiAJaWYgKHVzZV9pbmNsdWRlX3RhZykKIAkJYXJndl9hcnJheV9wdXNoKCZwYWNrX29iamVjdHMuYXJncywgIi0taW5jbHVkZS10YWciKTsKLQlpZiAoZmlsdGVyX29wdGlvbnMuZmlsdGVyX3NwZWMpIHsKKwlpZiAoZmlsdGVyX29wdGlvbnMuY2hvaWNlKSB7CisJCWNvbnN0IGNoYXIgKnNwZWMgPQorCQkJZXhwYW5kX2xpc3Rfb2JqZWN0c19maWx0ZXJfc3BlYygmZmlsdGVyX29wdGlvbnMpOwogCQlpZiAocGFja19vYmplY3RzLnVzZV9zaGVsbCkgewogCQkJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKLQkJCXNxX3F1b3RlX2J1ZigmYnVmLCBmaWx0ZXJfb3B0aW9ucy5maWx0ZXJfc3BlYyk7CisJCQlzcV9xdW90ZV9idWYoJmJ1Ziwgc3BlYyk7CiAJCQlhcmd2X2FycmF5X3B1c2hmKCZwYWNrX29iamVjdHMuYXJncywgIi0tZmlsdGVyPSVzIiwgYnVmLmJ1Zik7CiAJCQlzdHJidWZfcmVsZWFzZSgmYnVmKTsKIAkJfSBlbHNlIHsKIAkJCWFyZ3ZfYXJyYXlfcHVzaGYoJnBhY2tfb2JqZWN0cy5hcmdzLCAiLS1maWx0ZXI9JXMiLAotCQkJCQkgZmlsdGVyX29wdGlvbnMuZmlsdGVyX3NwZWMpOworCQkJCQkgc3BlYyk7CiAJCX0KIAl9CiAKQEAgLTM1NCw3ICszNTcsOCBAQAogCQkJCQkgICAgbWluX2dlbmVyYXRpb24pOwogfQogCi1zdGF0aWMgaW50IGdldF9jb21tb25fY29tbWl0cyhzdHJ1Y3Qgb2JqZWN0X2FycmF5ICpoYXZlX29iaiwKK3N0YXRpYyBpbnQgZ2V0X2NvbW1vbl9jb21taXRzKHN0cnVjdCBwYWNrZXRfcmVhZGVyICpyZWFkZXIsCisJCQkgICAgICBzdHJ1Y3Qgb2JqZWN0X2FycmF5ICpoYXZlX29iaiwKIAkJCSAgICAgIHN0cnVjdCBvYmplY3RfYXJyYXkgKndhbnRfb2JqKQogewogCXN0cnVjdCBvYmplY3RfaWQgb2lkOwpAQCAtMzY2LDEyICszNzAsMTEgQEAKIAlzYXZlX2NvbW1pdF9idWZmZXIgPSAwOwogCiAJZm9yICg7OykgewotCQljaGFyICpsaW5lID0gcGFja2V0X3JlYWRfbGluZSgwLCBOVUxMKTsKIAkJY29uc3QgY2hhciAqYXJnOwogCiAJCXJlc2V0X3RpbWVvdXQoKTsKIAotCQlpZiAoIWxpbmUpIHsKKwkJaWYgKHBhY2tldF9yZWFkZXJfcmVhZChyZWFkZXIpICE9IFBBQ0tFVF9SRUFEX05PUk1BTCkgewogCQkJaWYgKG11bHRpX2FjayA9PSAyICYmIGdvdF9jb21tb24KIAkJCSAgICAmJiAhZ290X290aGVyICYmIG9rX3RvX2dpdmVfdXAoaGF2ZV9vYmosIHdhbnRfb2JqKSkgewogCQkJCXNlbnRfcmVhZHkgPSAxOwpAQCAtMzkwLDcgKzM5Myw3IEBACiAJCQlnb3Rfb3RoZXIgPSAwOwogCQkJY29udGludWU7CiAJCX0KLQkJaWYgKHNraXBfcHJlZml4KGxpbmUsICJoYXZlICIsICZhcmcpKSB7CisJCWlmIChza2lwX3ByZWZpeChyZWFkZXItPmxpbmUsICJoYXZlICIsICZhcmcpKSB7CiAJCQlzd2l0Y2ggKGdvdF9vaWQoYXJnLCAmb2lkLCBoYXZlX29iaikpIHsKIAkJCWNhc2UgLTE6IC8qIHRoZXkgaGF2ZSB3aGF0IHdlIGRvIG5vdCAqLwogCQkJCWdvdF9vdGhlciA9IDE7CkBAIC00MTYsNyArNDE5LDcgQEAKIAkJCX0KIAkJCWNvbnRpbnVlOwogCQl9Ci0JCWlmICghc3RyY21wKGxpbmUsICJkb25lIikpIHsKKwkJaWYgKCFzdHJjbXAocmVhZGVyLT5saW5lLCAiZG9uZSIpKSB7CiAJCQlpZiAoaGF2ZV9vYmotPm5yID4gMCkgewogCQkJCWlmIChtdWx0aV9hY2spCiAJCQkJCXBhY2tldF93cml0ZV9mbXQoMSwgIkFDSyAlc1xuIiwgbGFzdF9oZXgpOwpAQCAtNDI1LDcgKzQyOCw3IEBACiAJCQlwYWNrZXRfd3JpdGVfZm10KDEsICJOQUtcbiIpOwogCQkJcmV0dXJuIC0xOwogCQl9Ci0JCWRpZSgiZ2l0IHVwbG9hZC1wYWNrOiBleHBlY3RlZCBTSEExIGxpc3QsIGdvdCAnJXMnIiwgbGluZSk7CisJCWRpZSgiZ2l0IHVwbG9hZC1wYWNrOiBleHBlY3RlZCBTSEExIGxpc3QsIGdvdCAnJXMnIiwgcmVhZGVyLT5saW5lKTsKIAl9CiB9CiAKQEAgLTUyNCwxMyArNTI3LDEzIEBACiAJCXJldHVybiAtMTsKIAogCXdoaWxlICgoaSA9IHJlYWRfaW5fZnVsbChjbWQub3V0LCBuYW1lYnVmLCBoZXhzeiArIDEpKSA9PSBoZXhzeiArIDEpIHsKLQkJc3RydWN0IG9iamVjdF9pZCBzaGExOworCQlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKIAkJY29uc3QgY2hhciAqcDsKIAotCQlpZiAocGFyc2Vfb2lkX2hleChuYW1lYnVmLCAmc2hhMSwgJnApIHx8ICpwICE9ICdcbicpCisJCWlmIChwYXJzZV9vaWRfaGV4KG5hbWVidWYsICZvaWQsICZwKSB8fCAqcCAhPSAnXG4nKQogCQkJYnJlYWs7CiAKLQkJbyA9IGxvb2t1cF9vYmplY3QodGhlX3JlcG9zaXRvcnksIHNoYTEuaGFzaCk7CisJCW8gPSBsb29rdXBfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCAmb2lkKTsKIAkJaWYgKG8gJiYgby0+dHlwZSA9PSBPQkpfQ09NTUlUKSB7CiAJCQlvLT5mbGFncyAmPSB+VE1QX01BUks7CiAJCX0KQEAgLTU4OCw3ICs1OTEsOCBAQAogCXJldHVybiAxOwogfQogCi1zdGF0aWMgdm9pZCBjaGVja19ub25fdGlwKHN0cnVjdCBvYmplY3RfYXJyYXkgKndhbnRfb2JqKQorc3RhdGljIHZvaWQgY2hlY2tfbm9uX3RpcChzdHJ1Y3Qgb2JqZWN0X2FycmF5ICp3YW50X29iaiwKKwkJCSAgc3RydWN0IHBhY2tldF93cml0ZXIgKndyaXRlcikKIHsKIAlpbnQgaTsKIApAQCAtNjA3LDE5ICs2MTEsMjQgQEAKIAkvKiBQaWNrIG9uZSBvZiB0aGVtICh3ZSBrbm93IHRoZXJlIGF0IGxlYXN0IGlzIG9uZSkgKi8KIAlmb3IgKGkgPSAwOyBpIDwgd2FudF9vYmotPm5yOyBpKyspIHsKIAkJc3RydWN0IG9iamVjdCAqbyA9IHdhbnRfb2JqLT5vYmplY3RzW2ldLml0ZW07Ci0JCWlmICghaXNfb3VyX3JlZihvKSkKKwkJaWYgKCFpc19vdXJfcmVmKG8pKSB7CisJCQlwYWNrZXRfd3JpdGVyX2Vycm9yKHdyaXRlciwKKwkJCQkJICAgICJ1cGxvYWQtcGFjazogbm90IG91ciByZWYgJXMiLAorCQkJCQkgICAgb2lkX3RvX2hleCgmby0+b2lkKSk7CiAJCQlkaWUoImdpdCB1cGxvYWQtcGFjazogbm90IG91ciByZWYgJXMiLAogCQkJICAgIG9pZF90b19oZXgoJm8tPm9pZCkpOworCQl9CiAJfQogfQogCi1zdGF0aWMgdm9pZCBzZW5kX3NoYWxsb3coc3RydWN0IGNvbW1pdF9saXN0ICpyZXN1bHQpCitzdGF0aWMgdm9pZCBzZW5kX3NoYWxsb3coc3RydWN0IHBhY2tldF93cml0ZXIgKndyaXRlciwKKwkJCSBzdHJ1Y3QgY29tbWl0X2xpc3QgKnJlc3VsdCkKIHsKIAl3aGlsZSAocmVzdWx0KSB7CiAJCXN0cnVjdCBvYmplY3QgKm9iamVjdCA9ICZyZXN1bHQtPml0ZW0tPm9iamVjdDsKIAkJaWYgKCEob2JqZWN0LT5mbGFncyAmIChDTElFTlRfU0hBTExPV3xOT1RfU0hBTExPVykpKSB7Ci0JCQlwYWNrZXRfd3JpdGVfZm10KDEsICJzaGFsbG93ICVzIiwKLQkJCQkJIG9pZF90b19oZXgoJm9iamVjdC0+b2lkKSk7CisJCQlwYWNrZXRfd3JpdGVyX3dyaXRlKHdyaXRlciwgInNoYWxsb3cgJXMiLAorCQkJCQkgICAgb2lkX3RvX2hleCgmb2JqZWN0LT5vaWQpKTsKIAkJCXJlZ2lzdGVyX3NoYWxsb3codGhlX3JlcG9zaXRvcnksICZvYmplY3QtPm9pZCk7CiAJCQlzaGFsbG93X25yKys7CiAJCX0KQEAgLTYyNyw3ICs2MzYsOCBAQAogCX0KIH0KIAotc3RhdGljIHZvaWQgc2VuZF91bnNoYWxsb3coY29uc3Qgc3RydWN0IG9iamVjdF9hcnJheSAqc2hhbGxvd3MsCitzdGF0aWMgdm9pZCBzZW5kX3Vuc2hhbGxvdyhzdHJ1Y3QgcGFja2V0X3dyaXRlciAqd3JpdGVyLAorCQkJICAgY29uc3Qgc3RydWN0IG9iamVjdF9hcnJheSAqc2hhbGxvd3MsCiAJCQkgICBzdHJ1Y3Qgb2JqZWN0X2FycmF5ICp3YW50X29iaikKIHsKIAlpbnQgaTsKQEAgLTYzNiw4ICs2NDYsOCBAQAogCQlzdHJ1Y3Qgb2JqZWN0ICpvYmplY3QgPSBzaGFsbG93cy0+b2JqZWN0c1tpXS5pdGVtOwogCQlpZiAob2JqZWN0LT5mbGFncyAmIE5PVF9TSEFMTE9XKSB7CiAJCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKnBhcmVudHM7Ci0JCQlwYWNrZXRfd3JpdGVfZm10KDEsICJ1bnNoYWxsb3cgJXMiLAotCQkJCQkgb2lkX3RvX2hleCgmb2JqZWN0LT5vaWQpKTsKKwkJCXBhY2tldF93cml0ZXJfd3JpdGUod3JpdGVyLCAidW5zaGFsbG93ICVzIiwKKwkJCQkJICAgIG9pZF90b19oZXgoJm9iamVjdC0+b2lkKSk7CiAJCQlvYmplY3QtPmZsYWdzICY9IH5DTElFTlRfU0hBTExPVzsKIAkJCS8qCiAJCQkgKiBXZSB3YW50IHRvIF9yZWdpc3Rlcl8gIm9iamVjdCIgYXMgc2hhbGxvdywgYnV0IHdlCkBAIC02NjIsNyArNjcyLDkgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIGRlZXBlbihpbnQgZGVwdGgsIGludCBkZWVwZW5fcmVsYXRpdmUsCitzdGF0aWMgaW50IGNoZWNrX3JlZihjb25zdCBjaGFyICpyZWZuYW1lX2Z1bGwsIGNvbnN0IHN0cnVjdCBvYmplY3RfaWQgKm9pZCwKKwkJICAgICBpbnQgZmxhZywgdm9pZCAqY2JfZGF0YSk7CitzdGF0aWMgdm9pZCBkZWVwZW4oc3RydWN0IHBhY2tldF93cml0ZXIgKndyaXRlciwgaW50IGRlcHRoLCBpbnQgZGVlcGVuX3JlbGF0aXZlLAogCQkgICBzdHJ1Y3Qgb2JqZWN0X2FycmF5ICpzaGFsbG93cywgc3RydWN0IG9iamVjdF9hcnJheSAqd2FudF9vYmopCiB7CiAJaWYgKGRlcHRoID09IElORklOSVRFX0RFUFRIICYmICFpc19yZXBvc2l0b3J5X3NoYWxsb3codGhlX3JlcG9zaXRvcnkpKSB7CkBAIC02NzYsMTEgKzY4OCwxOCBAQAogCQlzdHJ1Y3Qgb2JqZWN0X2FycmF5IHJlYWNoYWJsZV9zaGFsbG93cyA9IE9CSkVDVF9BUlJBWV9JTklUOwogCQlzdHJ1Y3QgY29tbWl0X2xpc3QgKnJlc3VsdDsKIAorCQkvKgorCQkgKiBDaGVja2luZyBmb3IgcmVhY2hhYmxlIHNoYWxsb3dzIHJlcXVpcmVzIHRoYXQgb3VyIHJlZnMgYmUKKwkJICogbWFya2VkIHdpdGggT1VSX1JFRi4KKwkJICovCisJCWhlYWRfcmVmX25hbWVzcGFjZWQoY2hlY2tfcmVmLCBOVUxMKTsKKwkJZm9yX2VhY2hfbmFtZXNwYWNlZF9yZWYoY2hlY2tfcmVmLCBOVUxMKTsKKwogCQlnZXRfcmVhY2hhYmxlX2xpc3Qoc2hhbGxvd3MsICZyZWFjaGFibGVfc2hhbGxvd3MpOwogCQlyZXN1bHQgPSBnZXRfc2hhbGxvd19jb21taXRzKCZyZWFjaGFibGVfc2hhbGxvd3MsCiAJCQkJCSAgICAgZGVwdGggKyAxLAogCQkJCQkgICAgIFNIQUxMT1csIE5PVF9TSEFMTE9XKTsKLQkJc2VuZF9zaGFsbG93KHJlc3VsdCk7CisJCXNlbmRfc2hhbGxvdyh3cml0ZXIsIHJlc3VsdCk7CiAJCWZyZWVfY29tbWl0X2xpc3QocmVzdWx0KTsKIAkJb2JqZWN0X2FycmF5X2NsZWFyKCZyZWFjaGFibGVfc2hhbGxvd3MpOwogCX0gZWxzZSB7CkBAIC02ODgsMzAgKzcwNywzMyBAQAogCiAJCXJlc3VsdCA9IGdldF9zaGFsbG93X2NvbW1pdHMod2FudF9vYmosIGRlcHRoLAogCQkJCQkgICAgIFNIQUxMT1csIE5PVF9TSEFMTE9XKTsKLQkJc2VuZF9zaGFsbG93KHJlc3VsdCk7CisJCXNlbmRfc2hhbGxvdyh3cml0ZXIsIHJlc3VsdCk7CiAJCWZyZWVfY29tbWl0X2xpc3QocmVzdWx0KTsKIAl9CiAKLQlzZW5kX3Vuc2hhbGxvdyhzaGFsbG93cywgd2FudF9vYmopOworCXNlbmRfdW5zaGFsbG93KHdyaXRlciwgc2hhbGxvd3MsIHdhbnRfb2JqKTsKIH0KIAotc3RhdGljIHZvaWQgZGVlcGVuX2J5X3Jldl9saXN0KGludCBhYywgY29uc3QgY2hhciAqKmF2LAorc3RhdGljIHZvaWQgZGVlcGVuX2J5X3Jldl9saXN0KHN0cnVjdCBwYWNrZXRfd3JpdGVyICp3cml0ZXIsIGludCBhYywKKwkJCSAgICAgICBjb25zdCBjaGFyICoqYXYsCiAJCQkgICAgICAgc3RydWN0IG9iamVjdF9hcnJheSAqc2hhbGxvd3MsCiAJCQkgICAgICAgc3RydWN0IG9iamVjdF9hcnJheSAqd2FudF9vYmopCiB7CiAJc3RydWN0IGNvbW1pdF9saXN0ICpyZXN1bHQ7CiAKLQljbG9zZV9jb21taXRfZ3JhcGgodGhlX3JlcG9zaXRvcnkpOworCWRpc2FibGVfY29tbWl0X2dyYXBoKHRoZV9yZXBvc2l0b3J5KTsKIAlyZXN1bHQgPSBnZXRfc2hhbGxvd19jb21taXRzX2J5X3Jldl9saXN0KGFjLCBhdiwgU0hBTExPVywgTk9UX1NIQUxMT1cpOwotCXNlbmRfc2hhbGxvdyhyZXN1bHQpOworCXNlbmRfc2hhbGxvdyh3cml0ZXIsIHJlc3VsdCk7CiAJZnJlZV9jb21taXRfbGlzdChyZXN1bHQpOwotCXNlbmRfdW5zaGFsbG93KHNoYWxsb3dzLCB3YW50X29iaik7CisJc2VuZF91bnNoYWxsb3cod3JpdGVyLCBzaGFsbG93cywgd2FudF9vYmopOwogfQogCiAvKiBSZXR1cm5zIDEgaWYgYSBzaGFsbG93IGxpc3QgaXMgc2VudCBvciAwIG90aGVyd2lzZSAqLwotc3RhdGljIGludCBzZW5kX3NoYWxsb3dfbGlzdChpbnQgZGVwdGgsIGludCBkZWVwZW5fcmV2X2xpc3QsCitzdGF0aWMgaW50IHNlbmRfc2hhbGxvd19saXN0KHN0cnVjdCBwYWNrZXRfd3JpdGVyICp3cml0ZXIsCisJCQkgICAgIGludCBkZXB0aCwgaW50IGRlZXBlbl9yZXZfbGlzdCwKIAkJCSAgICAgdGltZXN0YW1wX3QgZGVlcGVuX3NpbmNlLAogCQkJICAgICBzdHJ1Y3Qgc3RyaW5nX2xpc3QgKmRlZXBlbl9ub3QsCisJCQkgICAgIGludCBkZWVwZW5fcmVsYXRpdmUsCiAJCQkgICAgIHN0cnVjdCBvYmplY3RfYXJyYXkgKnNoYWxsb3dzLAogCQkJICAgICBzdHJ1Y3Qgb2JqZWN0X2FycmF5ICp3YW50X29iaikKIHsKQEAgLTcyMCw3ICs3NDIsNyBAQAogCWlmIChkZXB0aCA+IDAgJiYgZGVlcGVuX3Jldl9saXN0KQogCQlkaWUoImdpdCB1cGxvYWQtcGFjazogZGVlcGVuIGFuZCBkZWVwZW4tc2luY2UgKG9yIGRlZXBlbi1ub3QpIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIik7CiAJaWYgKGRlcHRoID4gMCkgewotCQlkZWVwZW4oZGVwdGgsIGRlZXBlbl9yZWxhdGl2ZSwgc2hhbGxvd3MsIHdhbnRfb2JqKTsKKwkJZGVlcGVuKHdyaXRlciwgZGVwdGgsIGRlZXBlbl9yZWxhdGl2ZSwgc2hhbGxvd3MsIHdhbnRfb2JqKTsKIAkJcmV0ID0gMTsKIAl9IGVsc2UgaWYgKGRlZXBlbl9yZXZfbGlzdCkgewogCQlzdHJ1Y3QgYXJndl9hcnJheSBhdiA9IEFSR1ZfQVJSQVlfSU5JVDsKQEAgLTc0MSw3ICs3NjMsNyBAQAogCQkJc3RydWN0IG9iamVjdCAqbyA9IHdhbnRfb2JqLT5vYmplY3RzW2ldLml0ZW07CiAJCQlhcmd2X2FycmF5X3B1c2goJmF2LCBvaWRfdG9faGV4KCZvLT5vaWQpKTsKIAkJfQotCQlkZWVwZW5fYnlfcmV2X2xpc3QoYXYuYXJnYywgYXYuYXJndiwgc2hhbGxvd3MsIHdhbnRfb2JqKTsKKwkJZGVlcGVuX2J5X3Jldl9saXN0KHdyaXRlciwgYXYuYXJnYywgYXYuYXJndiwgc2hhbGxvd3MsIHdhbnRfb2JqKTsKIAkJYXJndl9hcnJheV9jbGVhcigmYXYpOwogCQlyZXQgPSAxOwogCX0gZWxzZSB7CkBAIC04MTYsNyArODM4LDcgQEAKIAlpZiAoc2tpcF9wcmVmaXgobGluZSwgImRlZXBlbi1ub3QgIiwgJmFyZykpIHsKIAkJY2hhciAqcmVmID0gTlVMTDsKIAkJc3RydWN0IG9iamVjdF9pZCBvaWQ7Ci0JCWlmIChleHBhbmRfcmVmKGFyZywgc3RybGVuKGFyZyksICZvaWQsICZyZWYpICE9IDEpCisJCWlmIChleHBhbmRfcmVmKHRoZV9yZXBvc2l0b3J5LCBhcmcsIHN0cmxlbihhcmcpLCAmb2lkLCAmcmVmKSAhPSAxKQogCQkJZGllKCJnaXQgdXBsb2FkLXBhY2s6IGFtYmlndW91cyBkZWVwZW4tbm90OiAlcyIsIGxpbmUpOwogCQlzdHJpbmdfbGlzdF9hcHBlbmQoZGVlcGVuX25vdCwgcmVmKTsKIAkJZnJlZShyZWYpOwpAQCAtODI2LDcgKzg0OCw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIHJlY2VpdmVfbmVlZHMoc3RydWN0IG9iamVjdF9hcnJheSAqd2FudF9vYmopCitzdGF0aWMgdm9pZCByZWNlaXZlX25lZWRzKHN0cnVjdCBwYWNrZXRfcmVhZGVyICpyZWFkZXIsIHN0cnVjdCBvYmplY3RfYXJyYXkgKndhbnRfb2JqKQogewogCXN0cnVjdCBvYmplY3RfYXJyYXkgc2hhbGxvd3MgPSBPQkpFQ1RfQVJSQVlfSU5JVDsKIAlzdHJ1Y3Qgc3RyaW5nX2xpc3QgZGVlcGVuX25vdCA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwpAQCAtODM0LDM5ICs4NTYsNDIgQEAKIAlpbnQgaGFzX25vbl90aXAgPSAwOwogCXRpbWVzdGFtcF90IGRlZXBlbl9zaW5jZSA9IDA7CiAJaW50IGRlZXBlbl9yZXZfbGlzdCA9IDA7CisJaW50IGRlZXBlbl9yZWxhdGl2ZSA9IDA7CisJc3RydWN0IHBhY2tldF93cml0ZXIgd3JpdGVyOwogCiAJc2hhbGxvd19uciA9IDA7CisJcGFja2V0X3dyaXRlcl9pbml0KCZ3cml0ZXIsIDEpOwogCWZvciAoOzspIHsKIAkJc3RydWN0IG9iamVjdCAqbzsKIAkJY29uc3QgY2hhciAqZmVhdHVyZXM7CiAJCXN0cnVjdCBvYmplY3RfaWQgb2lkX2J1ZjsKLQkJY2hhciAqbGluZSA9IHBhY2tldF9yZWFkX2xpbmUoMCwgTlVMTCk7CiAJCWNvbnN0IGNoYXIgKmFyZzsKIAogCQlyZXNldF90aW1lb3V0KCk7Ci0JCWlmICghbGluZSkKKwkJaWYgKHBhY2tldF9yZWFkZXJfcmVhZChyZWFkZXIpICE9IFBBQ0tFVF9SRUFEX05PUk1BTCkKIAkJCWJyZWFrOwogCi0JCWlmIChwcm9jZXNzX3NoYWxsb3cobGluZSwgJnNoYWxsb3dzKSkKKwkJaWYgKHByb2Nlc3Nfc2hhbGxvdyhyZWFkZXItPmxpbmUsICZzaGFsbG93cykpCiAJCQljb250aW51ZTsKLQkJaWYgKHByb2Nlc3NfZGVlcGVuKGxpbmUsICZkZXB0aCkpCisJCWlmIChwcm9jZXNzX2RlZXBlbihyZWFkZXItPmxpbmUsICZkZXB0aCkpCiAJCQljb250aW51ZTsKLQkJaWYgKHByb2Nlc3NfZGVlcGVuX3NpbmNlKGxpbmUsICZkZWVwZW5fc2luY2UsICZkZWVwZW5fcmV2X2xpc3QpKQorCQlpZiAocHJvY2Vzc19kZWVwZW5fc2luY2UocmVhZGVyLT5saW5lLCAmZGVlcGVuX3NpbmNlLCAmZGVlcGVuX3Jldl9saXN0KSkKIAkJCWNvbnRpbnVlOwotCQlpZiAocHJvY2Vzc19kZWVwZW5fbm90KGxpbmUsICZkZWVwZW5fbm90LCAmZGVlcGVuX3Jldl9saXN0KSkKKwkJaWYgKHByb2Nlc3NfZGVlcGVuX25vdChyZWFkZXItPmxpbmUsICZkZWVwZW5fbm90LCAmZGVlcGVuX3Jldl9saXN0KSkKIAkJCWNvbnRpbnVlOwogCi0JCWlmIChza2lwX3ByZWZpeChsaW5lLCAiZmlsdGVyICIsICZhcmcpKSB7CisJCWlmIChza2lwX3ByZWZpeChyZWFkZXItPmxpbmUsICJmaWx0ZXIgIiwgJmFyZykpIHsKIAkJCWlmICghZmlsdGVyX2NhcGFiaWxpdHlfcmVxdWVzdGVkKQogCQkJCWRpZSgiZ2l0IHVwbG9hZC1wYWNrOiBmaWx0ZXJpbmcgY2FwYWJpbGl0eSBub3QgbmVnb3RpYXRlZCIpOworCQkJbGlzdF9vYmplY3RzX2ZpbHRlcl9kaWVfaWZfcG9wdWxhdGVkKCZmaWx0ZXJfb3B0aW9ucyk7CiAJCQlwYXJzZV9saXN0X29iamVjdHNfZmlsdGVyKCZmaWx0ZXJfb3B0aW9ucywgYXJnKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJaWYgKCFza2lwX3ByZWZpeChsaW5lLCAid2FudCAiLCAmYXJnKSB8fAorCQlpZiAoIXNraXBfcHJlZml4KHJlYWRlci0+bGluZSwgIndhbnQgIiwgJmFyZykgfHwKIAkJICAgIHBhcnNlX29pZF9oZXgoYXJnLCAmb2lkX2J1ZiwgJmZlYXR1cmVzKSkKIAkJCWRpZSgiZ2l0IHVwbG9hZC1wYWNrOiBwcm90b2NvbCBlcnJvciwgIgotCQkJICAgICJleHBlY3RlZCB0byBnZXQgb2JqZWN0IElELCBub3QgJyVzJyIsIGxpbmUpOworCQkJICAgICJleHBlY3RlZCB0byBnZXQgb2JqZWN0IElELCBub3QgJyVzJyIsIHJlYWRlci0+bGluZSk7CiAKIAkJaWYgKHBhcnNlX2ZlYXR1cmVfcmVxdWVzdChmZWF0dXJlcywgImRlZXBlbi1yZWxhdGl2ZSIpKQogCQkJZGVlcGVuX3JlbGF0aXZlID0gMTsKQEAgLTg5Myw5ICs5MTgsOSBAQAogCiAJCW8gPSBwYXJzZV9vYmplY3QodGhlX3JlcG9zaXRvcnksICZvaWRfYnVmKTsKIAkJaWYgKCFvKSB7Ci0JCQlwYWNrZXRfd3JpdGVfZm10KDEsCi0JCQkJCSAiRVJSIHVwbG9hZC1wYWNrOiBub3Qgb3VyIHJlZiAlcyIsCi0JCQkJCSBvaWRfdG9faGV4KCZvaWRfYnVmKSk7CisJCQlwYWNrZXRfd3JpdGVyX2Vycm9yKCZ3cml0ZXIsCisJCQkJCSAgICAidXBsb2FkLXBhY2s6IG5vdCBvdXIgcmVmICVzIiwKKwkJCQkJICAgIG9pZF90b19oZXgoJm9pZF9idWYpKTsKIAkJCWRpZSgiZ2l0IHVwbG9hZC1wYWNrOiBub3Qgb3VyIHJlZiAlcyIsCiAJCQkgICAgb2lkX3RvX2hleCgmb2lkX2J1ZikpOwogCQl9CkBAIC05MTYsNyArOTQxLDcgQEAKIAkgKiBieSBhbm90aGVyIHByb2Nlc3MgdGhhdCBoYW5kbGVkIHRoZSBpbml0aWFsIHJlcXVlc3QuCiAJICovCiAJaWYgKGhhc19ub25fdGlwKQotCQljaGVja19ub25fdGlwKHdhbnRfb2JqKTsKKwkJY2hlY2tfbm9uX3RpcCh3YW50X29iaiwgJndyaXRlcik7CiAKIAlpZiAoIXVzZV9zaWRlYmFuZCAmJiBkYWVtb25fbW9kZSkKIAkJbm9fcHJvZ3Jlc3MgPSAxOwpAQCAtOTI0LDggKzk0OSw5IEBACiAJaWYgKGRlcHRoID09IDAgJiYgIWRlZXBlbl9yZXZfbGlzdCAmJiBzaGFsbG93cy5uciA9PSAwKQogCQlyZXR1cm47CiAKLQlpZiAoc2VuZF9zaGFsbG93X2xpc3QoZGVwdGgsIGRlZXBlbl9yZXZfbGlzdCwgZGVlcGVuX3NpbmNlLAotCQkJICAgICAgJmRlZXBlbl9ub3QsICZzaGFsbG93cywgd2FudF9vYmopKQorCWlmIChzZW5kX3NoYWxsb3dfbGlzdCgmd3JpdGVyLCBkZXB0aCwgZGVlcGVuX3Jldl9saXN0LCBkZWVwZW5fc2luY2UsCisJCQkgICAgICAmZGVlcGVuX25vdCwgZGVlcGVuX3JlbGF0aXZlLCAmc2hhbGxvd3MsCisJCQkgICAgICB3YW50X29iaikpCiAJCXBhY2tldF9mbHVzaCgxKTsKIAlvYmplY3RfYXJyYXlfY2xlYXIoJnNoYWxsb3dzKTsKIH0KQEAgLTkzNCw3ICs5NjAsNyBAQAogc3RhdGljIGludCBtYXJrX291cl9yZWYoY29uc3QgY2hhciAqcmVmbmFtZSwgY29uc3QgY2hhciAqcmVmbmFtZV9mdWxsLAogCQkJY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKQogewotCXN0cnVjdCBvYmplY3QgKm8gPSBsb29rdXBfdW5rbm93bl9vYmplY3Qob2lkLT5oYXNoKTsKKwlzdHJ1Y3Qgb2JqZWN0ICpvID0gbG9va3VwX3Vua25vd25fb2JqZWN0KG9pZCk7CiAKIAlpZiAocmVmX2lzX2hpZGRlbihyZWZuYW1lLCByZWZuYW1lX2Z1bGwpKSB7CiAJCW8tPmZsYWdzIHw9IEhJRERFTl9SRUY7CkBAIC0xMDExLDggKzEwMzcsOCBAQAogCXN5bXJlZl90YXJnZXQgPSByZXNvbHZlX3JlZl91bnNhZmUocmVmbmFtZSwgMCwgTlVMTCwgJmZsYWcpOwogCWlmICghc3ltcmVmX3RhcmdldCB8fCAoZmxhZyAmIFJFRl9JU1NZTVJFRikgPT0gMCkKIAkJZGllKCInJXMnIGlzIGEgc3ltcmVmIGJ1dCBpdCBpcyBub3Q/IiwgcmVmbmFtZSk7Ci0JaXRlbSA9IHN0cmluZ19saXN0X2FwcGVuZChjYl9kYXRhLCByZWZuYW1lKTsKLQlpdGVtLT51dGlsID0geHN0cmR1cChzeW1yZWZfdGFyZ2V0KTsKKwlpdGVtID0gc3RyaW5nX2xpc3RfYXBwZW5kKGNiX2RhdGEsIHN0cmlwX25hbWVzcGFjZShyZWZuYW1lKSk7CisJaXRlbS0+dXRpbCA9IHhzdHJkdXAoc3RyaXBfbmFtZXNwYWNlKHN5bXJlZl90YXJnZXQpKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTA0MSw5ICsxMDY3LDE0IEBACiAJCWFsbG93X2ZpbHRlciA9IGdpdF9jb25maWdfYm9vbCh2YXIsIHZhbHVlKTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoInVwbG9hZHBhY2suYWxsb3dyZWZpbndhbnQiLCB2YXIpKSB7CiAJCWFsbG93X3JlZl9pbl93YW50ID0gZ2l0X2NvbmZpZ19ib29sKHZhciwgdmFsdWUpOworCX0gZWxzZSBpZiAoIXN0cmNtcCgidXBsb2FkcGFjay5hbGxvd3NpZGViYW5kYWxsIiwgdmFyKSkgeworCQlhbGxvd19zaWRlYmFuZF9hbGwgPSBnaXRfY29uZmlnX2Jvb2wodmFyLCB2YWx1ZSk7CisJfSBlbHNlIGlmICghc3RyY21wKCJjb3JlLnByZWNvbXBvc2V1bmljb2RlIiwgdmFyKSkgeworCQlwcmVjb21wb3NlZF91bmljb2RlID0gZ2l0X2NvbmZpZ19ib29sKHZhciwgdmFsdWUpOwogCX0KIAotCWlmIChjdXJyZW50X2NvbmZpZ19zY29wZSgpICE9IENPTkZJR19TQ09QRV9SRVBPKSB7CisJaWYgKGN1cnJlbnRfY29uZmlnX3Njb3BlKCkgIT0gQ09ORklHX1NDT1BFX0xPQ0FMICYmCisJY3VycmVudF9jb25maWdfc2NvcGUoKSAhPSBDT05GSUdfU0NPUEVfV09SS1RSRUUpIHsKIAkJaWYgKCFzdHJjbXAoInVwbG9hZHBhY2sucGFja29iamVjdHNob29rIiwgdmFyKSkKIAkJCXJldHVybiBnaXRfY29uZmlnX3N0cmluZygmcGFja19vYmplY3RzX2hvb2ssIHZhciwgdmFsdWUpOwogCX0KQEAgLTEwNTUsNiArMTA4Niw3IEBACiB7CiAJc3RydWN0IHN0cmluZ19saXN0IHN5bXJlZiA9IFNUUklOR19MSVNUX0lOSVRfRFVQOwogCXN0cnVjdCBvYmplY3RfYXJyYXkgd2FudF9vYmogPSBPQkpFQ1RfQVJSQVlfSU5JVDsKKwlzdHJ1Y3QgcGFja2V0X3JlYWRlciByZWFkZXI7CiAKIAlzdGF0ZWxlc3NfcnBjID0gb3B0aW9ucy0+c3RhdGVsZXNzX3JwYzsKIAl0aW1lb3V0ID0gb3B0aW9ucy0+dGltZW91dDsKQEAgLTEwNzgsMTAgKzExMTAsMTQgQEAKIAlpZiAob3B0aW9ucy0+YWR2ZXJ0aXNlX3JlZnMpCiAJCXJldHVybjsKIAotCXJlY2VpdmVfbmVlZHMoJndhbnRfb2JqKTsKKwlwYWNrZXRfcmVhZGVyX2luaXQoJnJlYWRlciwgMCwgTlVMTCwgMCwKKwkJCSAgIFBBQ0tFVF9SRUFEX0NIT01QX05FV0xJTkUgfAorCQkJICAgUEFDS0VUX1JFQURfRElFX09OX0VSUl9QQUNLRVQpOworCisJcmVjZWl2ZV9uZWVkcygmcmVhZGVyLCAmd2FudF9vYmopOwogCWlmICh3YW50X29iai5ucikgewogCQlzdHJ1Y3Qgb2JqZWN0X2FycmF5IGhhdmVfb2JqID0gT0JKRUNUX0FSUkFZX0lOSVQ7Ci0JCWdldF9jb21tb25fY29tbWl0cygmaGF2ZV9vYmosICZ3YW50X29iaik7CisJCWdldF9jb21tb25fY29tbWl0cygmcmVhZGVyLCAmaGF2ZV9vYmosICZ3YW50X29iaik7CiAJCWNyZWF0ZV9wYWNrX2ZpbGUoJmhhdmVfb2JqLCAmd2FudF9vYmopOwogCX0KIH0KQEAgLTEwOTgsNiArMTEzNCw4IEBACiAJaW50IGRlZXBlbl9yZXZfbGlzdDsKIAlpbnQgZGVlcGVuX3JlbGF0aXZlOwogCisJc3RydWN0IHBhY2tldF93cml0ZXIgd3JpdGVyOworCiAJdW5zaWduZWQgc3RhdGVsZXNzX3JwYyA6IDE7CiAKIAl1bnNpZ25lZCB1c2VfdGhpbl9wYWNrIDogMTsKQEAgLTExMjEsNiArMTE1OSw3IEBACiAJZGF0YS0+aGF2ZXMgPSBoYXZlczsKIAlkYXRhLT5zaGFsbG93cyA9IHNoYWxsb3dzOwogCWRhdGEtPmRlZXBlbl9ub3QgPSBkZWVwZW5fbm90OworCXBhY2tldF93cml0ZXJfaW5pdCgmZGF0YS0+d3JpdGVyLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgdXBsb2FkX3BhY2tfZGF0YV9jbGVhcihzdHJ1Y3QgdXBsb2FkX3BhY2tfZGF0YSAqZGF0YSkKQEAgLTExMzIsNyArMTE3MSw4IEBACiAJc3RyaW5nX2xpc3RfY2xlYXIoJmRhdGEtPmRlZXBlbl9ub3QsIDApOwogfQogCi1zdGF0aWMgaW50IHBhcnNlX3dhbnQoY29uc3QgY2hhciAqbGluZSwgc3RydWN0IG9iamVjdF9hcnJheSAqd2FudF9vYmopCitzdGF0aWMgaW50IHBhcnNlX3dhbnQoc3RydWN0IHBhY2tldF93cml0ZXIgKndyaXRlciwgY29uc3QgY2hhciAqbGluZSwKKwkJICAgICAgc3RydWN0IG9iamVjdF9hcnJheSAqd2FudF9vYmopCiB7CiAJY29uc3QgY2hhciAqYXJnOwogCWlmIChza2lwX3ByZWZpeChsaW5lLCAid2FudCAiLCAmYXJnKSkgewpAQCAtMTE0NSw5ICsxMTg1LDkgQEAKIAogCQlvID0gcGFyc2Vfb2JqZWN0KHRoZV9yZXBvc2l0b3J5LCAmb2lkKTsKIAkJaWYgKCFvKSB7Ci0JCQlwYWNrZXRfd3JpdGVfZm10KDEsCi0JCQkJCSAiRVJSIHVwbG9hZC1wYWNrOiBub3Qgb3VyIHJlZiAlcyIsCi0JCQkJCSBvaWRfdG9faGV4KCZvaWQpKTsKKwkJCXBhY2tldF93cml0ZXJfZXJyb3Iod3JpdGVyLAorCQkJCQkgICAgInVwbG9hZC1wYWNrOiBub3Qgb3VyIHJlZiAlcyIsCisJCQkJCSAgICBvaWRfdG9faGV4KCZvaWQpKTsKIAkJCWRpZSgiZ2l0IHVwbG9hZC1wYWNrOiBub3Qgb3VyIHJlZiAlcyIsCiAJCQkgICAgb2lkX3RvX2hleCgmb2lkKSk7CiAJCX0KQEAgLTExNjMsNyArMTIwMyw4IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcGFyc2Vfd2FudF9yZWYoY29uc3QgY2hhciAqbGluZSwgc3RydWN0IHN0cmluZ19saXN0ICp3YW50ZWRfcmVmcywKK3N0YXRpYyBpbnQgcGFyc2Vfd2FudF9yZWYoc3RydWN0IHBhY2tldF93cml0ZXIgKndyaXRlciwgY29uc3QgY2hhciAqbGluZSwKKwkJCSAgc3RydWN0IHN0cmluZ19saXN0ICp3YW50ZWRfcmVmcywKIAkJCSAgc3RydWN0IG9iamVjdF9hcnJheSAqd2FudF9vYmopCiB7CiAJY29uc3QgY2hhciAqYXJnOwpAQCAtMTE3Myw3ICsxMjE0LDcgQEAKIAkJc3RydWN0IG9iamVjdCAqbzsKIAogCQlpZiAocmVhZF9yZWYoYXJnLCAmb2lkKSkgewotCQkJcGFja2V0X3dyaXRlX2ZtdCgxLCAiRVJSIHVua25vd24gcmVmICVzIiwgYXJnKTsKKwkJCXBhY2tldF93cml0ZXJfZXJyb3Iod3JpdGVyLCAidW5rbm93biByZWYgJXMiLCBhcmcpOwogCQkJZGllKCJ1bmtub3duIHJlZiAlcyIsIGFyZyk7CiAJCX0KIApAQCAtMTIxNiwxMCArMTI1NywxMSBAQAogCQljb25zdCBjaGFyICpwOwogCiAJCS8qIHByb2Nlc3Mgd2FudCAqLwotCQlpZiAocGFyc2Vfd2FudChhcmcsIHdhbnRfb2JqKSkKKwkJaWYgKHBhcnNlX3dhbnQoJmRhdGEtPndyaXRlciwgYXJnLCB3YW50X29iaikpCiAJCQljb250aW51ZTsKIAkJaWYgKGFsbG93X3JlZl9pbl93YW50ICYmCi0JCSAgICBwYXJzZV93YW50X3JlZihhcmcsICZkYXRhLT53YW50ZWRfcmVmcywgd2FudF9vYmopKQorCQkgICAgcGFyc2Vfd2FudF9yZWYoJmRhdGEtPndyaXRlciwgYXJnLCAmZGF0YS0+d2FudGVkX3JlZnMsCisJCQkJICAgd2FudF9vYmopKQogCQkJY29udGludWU7CiAJCS8qIHByb2Nlc3MgaGF2ZSBsaW5lICovCiAJCWlmIChwYXJzZV9oYXZlKGFyZywgJmRhdGEtPmhhdmVzKSkKQEAgLTEyNjQsMTAgKzEzMDYsMTggQEAKIAkJfQogCiAJCWlmIChhbGxvd19maWx0ZXIgJiYgc2tpcF9wcmVmaXgoYXJnLCAiZmlsdGVyICIsICZwKSkgeworCQkJbGlzdF9vYmplY3RzX2ZpbHRlcl9kaWVfaWZfcG9wdWxhdGVkKCZmaWx0ZXJfb3B0aW9ucyk7CiAJCQlwYXJzZV9saXN0X29iamVjdHNfZmlsdGVyKCZmaWx0ZXJfb3B0aW9ucywgcCk7CiAJCQljb250aW51ZTsKIAkJfQogCisJCWlmICgoZ2l0X2Vudl9ib29sKCJHSVRfVEVTVF9TSURFQkFORF9BTEwiLCAwKSB8fAorCQkgICAgIGFsbG93X3NpZGViYW5kX2FsbCkgJiYKKwkJICAgICFzdHJjbXAoYXJnLCAic2lkZWJhbmQtYWxsIikpIHsKKwkJCWRhdGEtPndyaXRlci51c2Vfc2lkZWJhbmQgPSAxOworCQkJY29udGludWU7CisJCX0KKwogCQkvKiBpZ25vcmUgdW5rbm93biBsaW5lcyBtYXliZT8gKi8KIAkJZGllKCJ1bmV4cGVjdGVkIGxpbmU6ICclcyciLCBhcmcpOwogCX0KQEAgLTEzMTMsMjYgKzEzNjMsMjYgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBzZW5kX2Fja3Moc3RydWN0IG9pZF9hcnJheSAqYWNrcywgc3RydWN0IHN0cmJ1ZiAqcmVzcG9uc2UsCitzdGF0aWMgaW50IHNlbmRfYWNrcyhzdHJ1Y3QgcGFja2V0X3dyaXRlciAqd3JpdGVyLCBzdHJ1Y3Qgb2lkX2FycmF5ICphY2tzLAogCQkgICAgIGNvbnN0IHN0cnVjdCBvYmplY3RfYXJyYXkgKmhhdmVfb2JqLAogCQkgICAgIHN0cnVjdCBvYmplY3RfYXJyYXkgKndhbnRfb2JqKQogewogCWludCBpOwogCi0JcGFja2V0X2J1Zl93cml0ZShyZXNwb25zZSwgImFja25vd2xlZGdtZW50c1xuIik7CisJcGFja2V0X3dyaXRlcl93cml0ZSh3cml0ZXIsICJhY2tub3dsZWRnbWVudHNcbiIpOwogCiAJLyogU2VuZCBBY2tzICovCiAJaWYgKCFhY2tzLT5ucikKLQkJcGFja2V0X2J1Zl93cml0ZShyZXNwb25zZSwgIk5BS1xuIik7CisJCXBhY2tldF93cml0ZXJfd3JpdGUod3JpdGVyLCAiTkFLXG4iKTsKIAogCWZvciAoaSA9IDA7IGkgPCBhY2tzLT5ucjsgaSsrKSB7Ci0JCXBhY2tldF9idWZfd3JpdGUocmVzcG9uc2UsICJBQ0sgJXNcbiIsCi0JCQkJIG9pZF90b19oZXgoJmFja3MtPm9pZFtpXSkpOworCQlwYWNrZXRfd3JpdGVyX3dyaXRlKHdyaXRlciwgIkFDSyAlc1xuIiwKKwkJCQkgICAgb2lkX3RvX2hleCgmYWNrcy0+b2lkW2ldKSk7CiAJfQogCiAJaWYgKG9rX3RvX2dpdmVfdXAoaGF2ZV9vYmosIHdhbnRfb2JqKSkgewogCQkvKiBTZW5kIFJlYWR5ICovCi0JCXBhY2tldF9idWZfd3JpdGUocmVzcG9uc2UsICJyZWFkeVxuIik7CisJCXBhY2tldF93cml0ZXJfd3JpdGUod3JpdGVyLCAicmVhZHlcbiIpOwogCQlyZXR1cm4gMTsKIAl9CiAKQEAgLTEzNDQsMjUgKzEzOTQsMjAgQEAKIAkJCQkgICAgICAgc3RydWN0IG9iamVjdF9hcnJheSAqd2FudF9vYmopCiB7CiAJc3RydWN0IG9pZF9hcnJheSBjb21tb24gPSBPSURfQVJSQVlfSU5JVDsKLQlzdHJ1Y3Qgc3RyYnVmIHJlc3BvbnNlID0gU1RSQlVGX0lOSVQ7CiAJaW50IHJldCA9IDA7CiAKIAlwcm9jZXNzX2hhdmVzKCZkYXRhLT5oYXZlcywgJmNvbW1vbiwgaGF2ZV9vYmopOwogCWlmIChkYXRhLT5kb25lKSB7CiAJCXJldCA9IDE7Ci0JfSBlbHNlIGlmIChzZW5kX2Fja3MoJmNvbW1vbiwgJnJlc3BvbnNlLCBoYXZlX29iaiwgd2FudF9vYmopKSB7Ci0JCXBhY2tldF9idWZfZGVsaW0oJnJlc3BvbnNlKTsKKwl9IGVsc2UgaWYgKHNlbmRfYWNrcygmZGF0YS0+d3JpdGVyLCAmY29tbW9uLCBoYXZlX29iaiwgd2FudF9vYmopKSB7CisJCXBhY2tldF93cml0ZXJfZGVsaW0oJmRhdGEtPndyaXRlcik7CiAJCXJldCA9IDE7CiAJfSBlbHNlIHsKIAkJLyogQWRkIEZsdXNoICovCi0JCXBhY2tldF9idWZfZmx1c2goJnJlc3BvbnNlKTsKKwkJcGFja2V0X3dyaXRlcl9mbHVzaCgmZGF0YS0+d3JpdGVyKTsKIAkJcmV0ID0gMDsKIAl9CiAKLQkvKiBTZW5kIHJlc3BvbnNlICovCi0Jd3JpdGVfb3JfZGllKDEsIHJlc3BvbnNlLmJ1ZiwgcmVzcG9uc2UubGVuKTsKLQlzdHJidWZfcmVsZWFzZSgmcmVzcG9uc2UpOwotCiAJb2lkX2FycmF5X2NsZWFyKCZkYXRhLT5oYXZlcyk7CiAJb2lkX2FycmF5X2NsZWFyKCZjb21tb24pOwogCXJldHVybiByZXQ7CkBAIC0xMzc1LDE1ICsxNDIwLDE1IEBACiAJaWYgKCFkYXRhLT53YW50ZWRfcmVmcy5ucikKIAkJcmV0dXJuOwogCi0JcGFja2V0X3dyaXRlX2ZtdCgxLCAid2FudGVkLXJlZnNcbiIpOworCXBhY2tldF93cml0ZXJfd3JpdGUoJmRhdGEtPndyaXRlciwgIndhbnRlZC1yZWZzXG4iKTsKIAogCWZvcl9lYWNoX3N0cmluZ19saXN0X2l0ZW0oaXRlbSwgJmRhdGEtPndhbnRlZF9yZWZzKSB7Ci0JCXBhY2tldF93cml0ZV9mbXQoMSwgIiVzICVzXG4iLAotCQkJCSBvaWRfdG9faGV4KGl0ZW0tPnV0aWwpLAotCQkJCSBpdGVtLT5zdHJpbmcpOworCQlwYWNrZXRfd3JpdGVyX3dyaXRlKCZkYXRhLT53cml0ZXIsICIlcyAlc1xuIiwKKwkJCQkgICAgb2lkX3RvX2hleChpdGVtLT51dGlsKSwKKwkJCQkgICAgaXRlbS0+c3RyaW5nKTsKIAl9CiAKLQlwYWNrZXRfZGVsaW0oMSk7CisJcGFja2V0X3dyaXRlcl9kZWxpbSgmZGF0YS0+d3JpdGVyKTsKIH0KIAogc3RhdGljIHZvaWQgc2VuZF9zaGFsbG93X2luZm8oc3RydWN0IHVwbG9hZF9wYWNrX2RhdGEgKmRhdGEsCkBAIC0xMzk0LDE0ICsxNDM5LDE2IEBACiAJICAgICFpc19yZXBvc2l0b3J5X3NoYWxsb3codGhlX3JlcG9zaXRvcnkpKQogCQlyZXR1cm47CiAKLQlwYWNrZXRfd3JpdGVfZm10KDEsICJzaGFsbG93LWluZm9cbiIpOworCXBhY2tldF93cml0ZXJfd3JpdGUoJmRhdGEtPndyaXRlciwgInNoYWxsb3ctaW5mb1xuIik7CiAKLQlpZiAoIXNlbmRfc2hhbGxvd19saXN0KGRhdGEtPmRlcHRoLCBkYXRhLT5kZWVwZW5fcmV2X2xpc3QsCisJaWYgKCFzZW5kX3NoYWxsb3dfbGlzdCgmZGF0YS0+d3JpdGVyLCBkYXRhLT5kZXB0aCwKKwkJCSAgICAgICBkYXRhLT5kZWVwZW5fcmV2X2xpc3QsCiAJCQkgICAgICAgZGF0YS0+ZGVlcGVuX3NpbmNlLCAmZGF0YS0+ZGVlcGVuX25vdCwKKwkJCSAgICAgICBkYXRhLT5kZWVwZW5fcmVsYXRpdmUsCiAJCQkgICAgICAgJmRhdGEtPnNoYWxsb3dzLCB3YW50X29iaikgJiYKIAkgICAgaXNfcmVwb3NpdG9yeV9zaGFsbG93KHRoZV9yZXBvc2l0b3J5KSkKLQkJZGVlcGVuKElORklOSVRFX0RFUFRILCBkYXRhLT5kZWVwZW5fcmVsYXRpdmUsICZkYXRhLT5zaGFsbG93cywKLQkJICAgICAgIHdhbnRfb2JqKTsKKwkJZGVlcGVuKCZkYXRhLT53cml0ZXIsIElORklOSVRFX0RFUFRILCBkYXRhLT5kZWVwZW5fcmVsYXRpdmUsCisJCSAgICAgICAmZGF0YS0+c2hhbGxvd3MsIHdhbnRfb2JqKTsKIAogCXBhY2tldF9kZWxpbSgxKTsKIH0KQEAgLTE0NjMsNyArMTUxMCw3IEBACiAJCQlzZW5kX3dhbnRlZF9yZWZfaW5mbygmZGF0YSk7CiAJCQlzZW5kX3NoYWxsb3dfaW5mbygmZGF0YSwgJndhbnRfb2JqKTsKIAotCQkJcGFja2V0X3dyaXRlX2ZtdCgxLCAicGFja2ZpbGVcbiIpOworCQkJcGFja2V0X3dyaXRlcl93cml0ZSgmZGF0YS53cml0ZXIsICJwYWNrZmlsZVxuIik7CiAJCQljcmVhdGVfcGFja19maWxlKCZoYXZlX29iaiwgJndhbnRfb2JqKTsKIAkJCXN0YXRlID0gRkVUQ0hfRE9ORTsKIAkJCWJyZWFrOwpAQCAtMTQ4NCw2ICsxNTMxLDcgQEAKIAlpZiAodmFsdWUpIHsKIAkJaW50IGFsbG93X2ZpbHRlcl92YWx1ZTsKIAkJaW50IGFsbG93X3JlZl9pbl93YW50OworCQlpbnQgYWxsb3dfc2lkZWJhbmRfYWxsX3ZhbHVlOwogCiAJCXN0cmJ1Zl9hZGRzdHIodmFsdWUsICJzaGFsbG93Iik7CiAKQEAgLTE0OTgsNiArMTU0NiwxMyBAQAogCQkJCQkgJmFsbG93X3JlZl9pbl93YW50KSAmJgogCQkgICAgYWxsb3dfcmVmX2luX3dhbnQpCiAJCQlzdHJidWZfYWRkc3RyKHZhbHVlLCAiIHJlZi1pbi13YW50Iik7CisKKwkJaWYgKGdpdF9lbnZfYm9vbCgiR0lUX1RFU1RfU0lERUJBTkRfQUxMIiwgMCkgfHwKKwkJICAgICghcmVwb19jb25maWdfZ2V0X2Jvb2wodGhlX3JlcG9zaXRvcnksCisJCQkJCSAgICJ1cGxvYWRwYWNrLmFsbG93c2lkZWJhbmRhbGwiLAorCQkJCQkgICAmYWxsb3dfc2lkZWJhbmRfYWxsX3ZhbHVlKSAmJgorCQkgICAgIGFsbG93X3NpZGViYW5kX2FsbF92YWx1ZSkpCisJCQlzdHJidWZfYWRkc3RyKHZhbHVlLCAiIHNpZGViYW5kLWFsbCIpOwogCX0KIAogCXJldHVybiAxOwpkaWZmIC0tZ2l0IGEvdXBsb2FkLXBhY2suaCBiL3VwbG9hZC1wYWNrLmgKaW5kZXggY2FiMjE3OC4uNGJhZmUxNiAxMDA2NDQKLS0tIGEvdXBsb2FkLXBhY2suaAorKysgYi91cGxvYWQtcGFjay5oCkBAIC0xMywxMSArMTMsMTEgQEAKIHN0cnVjdCByZXBvc2l0b3J5Owogc3RydWN0IGFyZ3ZfYXJyYXk7CiBzdHJ1Y3QgcGFja2V0X3JlYWRlcjsKLWV4dGVybiBpbnQgdXBsb2FkX3BhY2tfdjIoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBhcmd2X2FycmF5ICprZXlzLAotCQkJICBzdHJ1Y3QgcGFja2V0X3JlYWRlciAqcmVxdWVzdCk7CitpbnQgdXBsb2FkX3BhY2tfdjIoc3RydWN0IHJlcG9zaXRvcnkgKnIsIHN0cnVjdCBhcmd2X2FycmF5ICprZXlzLAorCQkgICBzdHJ1Y3QgcGFja2V0X3JlYWRlciAqcmVxdWVzdCk7CiAKIHN0cnVjdCBzdHJidWY7Ci1leHRlcm4gaW50IHVwbG9hZF9wYWNrX2FkdmVydGlzZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKLQkJCQkgc3RydWN0IHN0cmJ1ZiAqdmFsdWUpOworaW50IHVwbG9hZF9wYWNrX2FkdmVydGlzZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCSAgc3RydWN0IHN0cmJ1ZiAqdmFsdWUpOwogCiAjZW5kaWYgLyogVVBMT0FEX1BBQ0tfSCAqLwpkaWZmIC0tZ2l0IGEvdXJsLmMgYi91cmwuYwppbmRleCBlYWY0ZjA3Li5lMDRiZDYwIDEwMDY0NAotLS0gYS91cmwuYworKysgYi91cmwuYwpAQCAtNSw3ICs1LDcgQEAKIHsKIAkvKgogCSAqIFRoZSBzZXQgb2YgdmFsaWQgVVJMIHNjaGVtZXMsIGFzIHBlciBTVEQ2NiAoUkZDMzk4NikgaXMKLQkgKiAnW0EtWmEtel1bQS1aYS16MC05Ky4tXSonLiBCdXQgdXNlIHNpZ2h0bHkgbG9vc2VyIGNoZWNrCisJICogJ1tBLVphLXpdW0EtWmEtejAtOSsuLV0qJy4gQnV0IHVzZSBzbGlnaHRseSBsb29zZXIgY2hlY2sKIAkgKiBvZiAnW0EtWmEtejAtOV1bQS1aYS16MC05Ky4tXSonIGJlY2F1c2UgZWFybGllciB2ZXJzaW9uCiAJICogb2YgY2hlY2sgdXNlZCAnW0EtWmEtejAtOV0rJyBzbyBub3QgdG8gYnJlYWsgYW55IHJlbW90ZQogCSAqIGhlbHBlcnMuCkBAIC00Niw5ICs0Niw5IEBACiAJCQlicmVhazsKIAkJfQogCi0JCWlmIChjID09ICclJykgeworCQlpZiAoYyA9PSAnJScgJiYgKGxlbiA8IDAgfHwgbGVuID49IDMpKSB7CiAJCQlpbnQgdmFsID0gaGV4MmNocihxICsgMSk7Ci0JCQlpZiAoMCA8PSB2YWwpIHsKKwkJCWlmICgwIDwgdmFsKSB7CiAJCQkJc3RyYnVmX2FkZGNoKG91dCwgdmFsKTsKIAkJCQlxICs9IDM7CiAJCQkJbGVuIC09IDM7CkBAIC04Niw2ICs4NiwxMiBAQAogCXJldHVybiB1cmxfZGVjb2RlX2ludGVybmFsKCZ1cmwsIGxlbiwgTlVMTCwgJm91dCwgMCk7CiB9CiAKK2NoYXIgKnVybF9wZXJjZW50X2RlY29kZShjb25zdCBjaGFyICplbmNvZGVkKQoreworCXN0cnVjdCBzdHJidWYgb3V0ID0gU1RSQlVGX0lOSVQ7CisJcmV0dXJuIHVybF9kZWNvZGVfaW50ZXJuYWwoJmVuY29kZWQsIHN0cmxlbihlbmNvZGVkKSwgTlVMTCwgJm91dCwgMCk7Cit9CisKIGNoYXIgKnVybF9kZWNvZGVfcGFyYW1ldGVyX25hbWUoY29uc3QgY2hhciAqKnF1ZXJ5KQogewogCXN0cnVjdCBzdHJidWYgb3V0ID0gU1RSQlVGX0lOSVQ7CkBAIC0xMDQsNyArMTEwLDggQEAKIAlzdHJidWZfY29tcGxldGUoYnVmLCAnLycpOwogfQogCi12b2lkIHN0cl9lbmRfdXJsX3dpdGhfc2xhc2goY29uc3QgY2hhciAqdXJsLCBjaGFyICoqZGVzdCkgewordm9pZCBzdHJfZW5kX3VybF93aXRoX3NsYXNoKGNvbnN0IGNoYXIgKnVybCwgY2hhciAqKmRlc3QpCit7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAllbmRfdXJsX3dpdGhfc2xhc2goJmJ1ZiwgdXJsKTsKIAlmcmVlKCpkZXN0KTsKZGlmZiAtLWdpdCBhL3VybC5oIGIvdXJsLmgKaW5kZXggZjMxMWM0MC4uMmEyN2MzNCAxMDA2NDQKLS0tIGEvdXJsLmgKKysrIGIvdXJsLmgKQEAgLTMsMTQgKzMsMjIgQEAKIAogc3RydWN0IHN0cmJ1ZjsKIAotZXh0ZXJuIGludCBpc191cmwoY29uc3QgY2hhciAqdXJsKTsKLWV4dGVybiBpbnQgaXNfdXJsc2NoZW1lY2hhcihpbnQgZmlyc3RfZmxhZywgaW50IGNoKTsKLWV4dGVybiBjaGFyICp1cmxfZGVjb2RlKGNvbnN0IGNoYXIgKnVybCk7Ci1leHRlcm4gY2hhciAqdXJsX2RlY29kZV9tZW0oY29uc3QgY2hhciAqdXJsLCBpbnQgbGVuKTsKLWV4dGVybiBjaGFyICp1cmxfZGVjb2RlX3BhcmFtZXRlcl9uYW1lKGNvbnN0IGNoYXIgKipxdWVyeSk7Ci1leHRlcm4gY2hhciAqdXJsX2RlY29kZV9wYXJhbWV0ZXJfdmFsdWUoY29uc3QgY2hhciAqKnF1ZXJ5KTsKK2ludCBpc191cmwoY29uc3QgY2hhciAqdXJsKTsKK2ludCBpc191cmxzY2hlbWVjaGFyKGludCBmaXJzdF9mbGFnLCBpbnQgY2gpOworY2hhciAqdXJsX2RlY29kZShjb25zdCBjaGFyICp1cmwpOworY2hhciAqdXJsX2RlY29kZV9tZW0oY29uc3QgY2hhciAqdXJsLCBpbnQgbGVuKTsKIAotZXh0ZXJuIHZvaWQgZW5kX3VybF93aXRoX3NsYXNoKHN0cnVjdCBzdHJidWYgKmJ1ZiwgY29uc3QgY2hhciAqdXJsKTsKLWV4dGVybiB2b2lkIHN0cl9lbmRfdXJsX3dpdGhfc2xhc2goY29uc3QgY2hhciAqdXJsLCBjaGFyICoqZGVzdCk7CisvKgorICogU2ltaWxhciB0byB0aGUgdXJsX2RlY29kZV97LG1lbX0gbWV0aG9kcyBhYm92ZSwgYnV0IGRvZXNuJ3QgYXNzdW1lIHRoZXJlCisgKiBpcyBhIHNjaGVtZSBmb2xsb3dlZCBieSBhIDogYXQgdGhlIHN0YXJ0IG9mIHRoZSBzdHJpbmcuIEluc3RlYWQsICUtc2VxdWVuY2VzCisgKiBiZWZvcmUgYW55IDogYXJlIGFsc28gcGFyc2VkLgorICovCitjaGFyICp1cmxfcGVyY2VudF9kZWNvZGUoY29uc3QgY2hhciAqZW5jb2RlZCk7CisKK2NoYXIgKnVybF9kZWNvZGVfcGFyYW1ldGVyX25hbWUoY29uc3QgY2hhciAqKnF1ZXJ5KTsKK2NoYXIgKnVybF9kZWNvZGVfcGFyYW1ldGVyX3ZhbHVlKGNvbnN0IGNoYXIgKipxdWVyeSk7CisKK3ZvaWQgZW5kX3VybF93aXRoX3NsYXNoKHN0cnVjdCBzdHJidWYgKmJ1ZiwgY29uc3QgY2hhciAqdXJsKTsKK3ZvaWQgc3RyX2VuZF91cmxfd2l0aF9zbGFzaChjb25zdCBjaGFyICp1cmwsIGNoYXIgKipkZXN0KTsKIAogI2VuZGlmIC8qIFVSTF9IICovCmRpZmYgLS1naXQgYS91cmxtYXRjaC5jIGIvdXJsbWF0Y2guYwppbmRleCAzZTQyYmQ3Li4yOTI3MmE1IDEwMDY0NAotLS0gYS91cmxtYXRjaC5jCisrKyBiL3VybG1hdGNoLmMKQEAgLTU1Nyw2ICs1NTcsOCBAQAogCWNvbnN0IGNoYXIgKmtleSwgKmRvdDsKIAlzdHJ1Y3Qgc3RyYnVmIHN5bnRoa2V5ID0gU1RSQlVGX0lOSVQ7CiAJaW50IHJldHZhbDsKKwlpbnQgKCpzZWxlY3RfZm4pKGNvbnN0IHN0cnVjdCB1cmxtYXRjaF9pdGVtICphLCBjb25zdCBzdHJ1Y3QgdXJsbWF0Y2hfaXRlbSAqYikgPQorCQljb2xsZWN0LT5zZWxlY3RfZm4gPyBjb2xsZWN0LT5zZWxlY3RfZm4gOiBjbXBfbWF0Y2hlczsKIAogCWlmICghc2tpcF9wcmVmaXgodmFyLCBjb2xsZWN0LT5zZWN0aW9uLCAma2V5KSB8fCAqKGtleSsrKSAhPSAnLicpIHsKIAkJaWYgKGNvbGxlY3QtPmNhc2NhZGVfZm4pCkBAIC01ODcsNyArNTg5LDcgQEAKIAlpZiAoIWl0ZW0tPnV0aWwpIHsKIAkJaXRlbS0+dXRpbCA9IHhjYWxsb2MoMSwgc2l6ZW9mKG1hdGNoZWQpKTsKIAl9IGVsc2UgewotCQlpZiAoY21wX21hdGNoZXMoJm1hdGNoZWQsIGl0ZW0tPnV0aWwpIDwgMCkKKwkJaWYgKHNlbGVjdF9mbigmbWF0Y2hlZCwgaXRlbS0+dXRpbCkgPCAwKQogCQkJIC8qCiAJCQkgICogT3VyIG1hdGNoIGlzIHdvcnNlIHRoYW4gdGhlIG9sZCBvbmUsCiAJCQkgICogd2UgY2Fubm90IHVzZSBpdC4KZGlmZiAtLWdpdCBhL3VybG1hdGNoLmggYi91cmxtYXRjaC5oCmluZGV4IGU0ODIxNDguLjI0MDc1MjAgMTAwNjQ0Ci0tLSBhL3VybG1hdGNoLmgKKysrIGIvdXJsbWF0Y2guaApAQCAtMzMsNyArMzMsNyBAQAogCQkJCSAqICc/Li4uJyBhbmQgJyMuLi4nIHBvcnRpb247IHdpbGwgYWx3YXlzIGJlID49IDEgKi8KIH07CiAKLWV4dGVybiBjaGFyICp1cmxfbm9ybWFsaXplKGNvbnN0IGNoYXIgKiwgc3RydWN0IHVybF9pbmZvICopOworY2hhciAqdXJsX25vcm1hbGl6ZShjb25zdCBjaGFyICosIHN0cnVjdCB1cmxfaW5mbyAqKTsKIAogc3RydWN0IHVybG1hdGNoX2l0ZW0gewogCXNpemVfdCBob3N0bWF0Y2hfbGVuOwpAQCAtNTAsOCArNTAsMTcgQEAKIAl2b2lkICpjYjsKIAlpbnQgKCpjb2xsZWN0X2ZuKShjb25zdCBjaGFyICp2YXIsIGNvbnN0IGNoYXIgKnZhbHVlLCB2b2lkICpjYik7CiAJaW50ICgqY2FzY2FkZV9mbikoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpOworCS8qCisJICogQ29tcGFyZSB0aGUgdHdvIG1hdGNoZXMsIHRoZSBvbmUganVzdCBkaXNjb3ZlcmVkIGFuZCB0aGUgZXhpc3RpbmcKKwkgKiBiZXN0IG1hdGNoIGFuZCByZXR1cm4gYSBuZWdhdGl2ZSB2YWx1ZSBpZiB0aGUgZm91bmQgaXRlbSBpcyB0byBiZQorCSAqIHJlamVjdGVkIG9yIGEgbm9uLW5lZ2F0aXZlIHZhbHVlIGlmIGl0IGlzIHRvIGJlIGFjY2VwdGVkLiAgSWYgdGhpcworCSAqIGZpZWxkIGlzIHNldCB0byBOVUxMLCB1c2UgdGhlIGRlZmF1bHQgY29tcGFyaXNvbiB0ZWNobmlxdWUsIHdoaWNoCisJICogY2hlY2tzIHRvIHNlcyBpZiBmb3VuZCBpcyBiZXR0ZXIgKGFjY29yZGluZyB0byB0aGUgdXJsbWF0Y2gKKwkgKiBzcGVjaWZpY2l0eSBydWxlcykgdGhhbiBleGlzdGluZy4KKwkgKi8KKwlpbnQgKCpzZWxlY3RfZm4pKGNvbnN0IHN0cnVjdCB1cmxtYXRjaF9pdGVtICpmb3VuZCwgY29uc3Qgc3RydWN0IHVybG1hdGNoX2l0ZW0gKmV4aXN0aW5nKTsKIH07CiAKLWV4dGVybiBpbnQgdXJsbWF0Y2hfY29uZmlnX2VudHJ5KGNvbnN0IGNoYXIgKnZhciwgY29uc3QgY2hhciAqdmFsdWUsIHZvaWQgKmNiKTsKK2ludCB1cmxtYXRjaF9jb25maWdfZW50cnkoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpOwogCiAjZW5kaWYgLyogVVJMX01BVENIX0ggKi8KZGlmZiAtLWdpdCBhL3VzYWdlLmMgYi91c2FnZS5jCmluZGV4IGNjODAzMzMuLjU4ZmI1ZmYgMTAwNjQ0Ci0tLSBhL3VzYWdlLmMKKysrIGIvdXNhZ2UuYwpAQCAtOSwzMCArOSw3MyBAQAogdm9pZCB2cmVwb3J0Zihjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKmVyciwgdmFfbGlzdCBwYXJhbXMpCiB7CiAJY2hhciBtc2dbNDA5Nl07Ci0JY2hhciAqcDsKKwljaGFyICpwLCAqcGVuZCA9IG1zZyArIHNpemVvZihtc2cpOworCXNpemVfdCBwcmVmaXhfbGVuID0gc3RybGVuKHByZWZpeCk7CiAKLQl2c25wcmludGYobXNnLCBzaXplb2YobXNnKSwgZXJyLCBwYXJhbXMpOwotCWZvciAocCA9IG1zZzsgKnA7IHArKykgeworCWlmIChzaXplb2YobXNnKSA8PSBwcmVmaXhfbGVuKSB7CisJCWZwcmludGYoc3RkZXJyLCAiQlVHISEhIHRvbyBsb25nIGEgcHJlZml4ICclcydcbiIsIHByZWZpeCk7CisJCWFib3J0KCk7CisJfQorCW1lbWNweShtc2csIHByZWZpeCwgcHJlZml4X2xlbik7CisJcCA9IG1zZyArIHByZWZpeF9sZW47CisJaWYgKHZzbnByaW50ZihwLCBwZW5kIC0gcCwgZXJyLCBwYXJhbXMpIDwgMCkKKwkJKnAgPSAnXDAnOyAvKiB2c25wcmludGYoKSBmYWlsZWQsIGNsaXAgYXQgcHJlZml4ICovCisKKwlmb3IgKDsgcCAhPSBwZW5kIC0gMSAmJiAqcDsgcCsrKSB7CiAJCWlmIChpc2NudHJsKCpwKSAmJiAqcCAhPSAnXHQnICYmICpwICE9ICdcbicpCiAJCQkqcCA9ICc/JzsKIAl9Ci0JZnByaW50ZihzdGRlcnIsICIlcyVzXG4iLCBwcmVmaXgsIG1zZyk7CisKKwkqKHArKykgPSAnXG4nOyAvKiB3ZSBubyBsb25nZXIgbmVlZCBhIE5VTCAqLworCWZmbHVzaChzdGRlcnIpOworCXdyaXRlX2luX2Z1bGwoMiwgbXNnLCBwIC0gbXNnKTsKIH0KIAogc3RhdGljIE5PUkVUVVJOIHZvaWQgdXNhZ2VfYnVpbHRpbihjb25zdCBjaGFyICplcnIsIHZhX2xpc3QgcGFyYW1zKQogewogCXZyZXBvcnRmKCJ1c2FnZTogIiwgZXJyLCBwYXJhbXMpOworCisJLyoKKwkgKiBXaGVuIHdlIGRldGVjdCBhIHVzYWdlIGVycm9yICpiZWZvcmUqIHRoZSBjb21tYW5kIGRpc3BhdGNoIGluCisJICogY21kX21haW4oKSwgd2UgZG9uJ3Qga25vdyB3aGF0IHZlcmIgdG8gcmVwb3J0LiAgRm9yY2UgaXQgdG8gdGhpcworCSAqIHRvIGZhY2lsaXRhdGUgcG9zdC1wcm9jZXNzaW5nLgorCSAqLworCXRyYWNlMl9jbWRfbmFtZSgiX3VzYWdlXyIpOworCisJLyoKKwkgKiBDdXJyZW50bHksIHRoZSAoZXJyLCBwYXJhbXMpIGFyZSB1c3VhbGx5IGp1c3QgdGhlIHN0YXRpYyB1c2FnZQorCSAqIHN0cmluZyB3aGljaCBpc24ndCB2ZXJ5IHVzZWZ1bCBoZXJlLiAgVXN1YWxseSwgdGhlIGNhbGwgc2l0ZQorCSAqIG1hbnVhbGx5IGNhbGxzIGZwcmludGYoc3RkZXJyLC4uLikgd2l0aCB0aGUgYWN0dWFsIGRldGFpbGVkCisJICogc3ludGF4IGVycm9yIGJlZm9yZSBjYWxsaW5nIHVzYWdlKCkuCisJICoKKwkgKiBUT0RPIEl0IHdvdWxkIGJlIG5pY2UgdG8gdXBkYXRlIHRoZSBjYWxsIHNpdGVzIHRvIHBhc3MgYm90aAorCSAqIHRoZSBzdGF0aWMgdXNhZ2Ugc3RyaW5nIGFuZCB0aGUgZGV0YWlsZWQgZXJyb3IgbWVzc2FnZS4KKwkgKi8KKwogCWV4aXQoMTI5KTsKIH0KIAogc3RhdGljIE5PUkVUVVJOIHZvaWQgZGllX2J1aWx0aW4oY29uc3QgY2hhciAqZXJyLCB2YV9saXN0IHBhcmFtcykKIHsKKwkvKgorCSAqIFdlIGNhbGwgdGhpcyB0cmFjZTIgZnVuY3Rpb24gZmlyc3QgYW5kIGV4cGVjdCBpdCB0byB2YV9jb3B5ICdwYXJhbXMnCisJICogYmVmb3JlIHVzaW5nIGl0IChiZWNhdXNlIGFuICdhcCcgY2FuIG9ubHkgYmUgd2Fsa2VkIG9uY2UpLgorCSAqLworCXRyYWNlMl9jbWRfZXJyb3JfdmEoZXJyLCBwYXJhbXMpOworCiAJdnJlcG9ydGYoImZhdGFsOiAiLCBlcnIsIHBhcmFtcyk7CisKIAlleGl0KDEyOCk7CiB9CiAKIHN0YXRpYyB2b2lkIGVycm9yX2J1aWx0aW4oY29uc3QgY2hhciAqZXJyLCB2YV9saXN0IHBhcmFtcykKIHsKKwkvKgorCSAqIFdlIGNhbGwgdGhpcyB0cmFjZTIgZnVuY3Rpb24gZmlyc3QgYW5kIGV4cGVjdCBpdCB0byB2YV9jb3B5ICdwYXJhbXMnCisJICogYmVmb3JlIHVzaW5nIGl0IChiZWNhdXNlIGFuICdhcCcgY2FuIG9ubHkgYmUgd2Fsa2VkIG9uY2UpLgorCSAqLworCXRyYWNlMl9jbWRfZXJyb3JfdmEoZXJyLCBwYXJhbXMpOworCiAJdnJlcG9ydGYoImVycm9yOiAiLCBlcnIsIHBhcmFtcyk7CiB9CiAKZGlmZiAtLWdpdCBhL3VzZXJkaWZmLmMgYi91c2VyZGlmZi5jCmluZGV4IDQ2ZDM0Y2MuLmVmYmUwNWUgMTAwNjQ0Ci0tLSBhL3VzZXJkaWZmLmMKKysrIGIvdXNlcmRpZmYuYwpAQCAtMjMsNiArMjMsMjggQEAKIAkgIlthLXpBLVpdW2EtekEtWjAtOV9dKiIKIAkgInxbLStdP1swLTldWzAtOSNfLmFBYkJjQ2REZUVmRl0qKFtlRV1bKy1dP1swLTlfXSspPyIKIAkgInw9PnxcXC5cXC58XFwqXFwqfDo9fC89fD49fDw9fDw8fD4+fDw+IiksCitQQVRURVJOUygiZHRzIiwKKwkgIiE7XG4iCisJICIhPVxuIgorCSAvKiBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHdvcmQgb3B0aW9uYWxseSBwcmVjZWRlZCBieSAnJicgb3IgdGhlIHJvb3QgKi8KKwkgIl5bIFx0XSooKC9bIFx0XSpcXHt8Jj9bYS16QS1aX10pLiopIiwKKwkgLyogLS0gKi8KKwkgLyogUHJvcGVydHkgbmFtZXMgYW5kIG1hdGggb3BlcmF0b3JzICovCisJICJbYS16QS1aMC05LC5fKz8jLV0rIgorCSAifFstKyovJSZefCF+XXw+Pnw8PHwmJnxcXHxcXHwiKSwKK1BBVFRFUk5TKCJlbGl4aXIiLAorCSAiXlsgXHRdKigoZGVmKG1hY3JvfG1vZHVsZXxpbXBsfHByb3RvY29sfHApP3x0ZXN0KVsgXHRdLiopJCIsCisJIC8qIC0tICovCisJIC8qIEF0b21zLCBuYW1lcywgYW5kIG1vZHVsZSBhdHRyaWJ1dGVzICovCisJICJbQDpdP1thLXpBLVowLTlAXz8hXSsiCisJIC8qIE51bWJlcnMgd2l0aCBzcGVjaWZpYyBiYXNlICovCisJICJ8Wy0rXT8wW3hvYl1bMC05YS1mQS1GXSsiCisJIC8qIE51bWJlcnMgKi8KKwkgInxbLStdP1swLTldWzAtOV8uXSooW2VFXVstK10/WzAtOV9dKyk/IgorCSAvKiBPcGVyYXRvcnMgYW5kIGF0b21zIHRoYXQgcmVwcmVzZW50IHRoZW0gKi8KKwkgInw6PyhcXCtcXCt8LS18XFwuXFwufH5+fnw8PnxcXF5cXF5cXF58PD9cXHw+fDw8PD98Pj8+Pnw8PD9+fH4+Pz58PH4+fDw9fD49fD09PT98IT09P3w9fnwmJiY/fFxcfFxcfFxcfD98PT58PC18XFxcXFxcXFx8LT4pIgorCSAvKiBOb3QgcmVhbCBvcGVyYXRvcnMsIGJ1dCBzaG91bGQgYmUgZ3JvdXBlZCAqLworCSAifDo/JVtBLVphLXowLTlfLl1cXHtcXH0/IiksCiBJUEFUVEVSTigiZm9ydHJhbiIsCiAJICIhXihbQypdfFsgXHRdKiEpXG4iCiAJICIhXlsgXHRdKk1PRFVMRVsgXHRdK1BST0NFRFVSRVsgXHRdXG4iCkBAIC01OCw3ICs4MCwxMiBAQAogCSAifFstKyovPD4lJl58PSFdPSIKIAkgInwtLXxcXCtcXCt8PDw9P3w+Pj4/PT98JiZ8XFx8XFx8IiksCiBQQVRURVJOUygibWF0bGFiIiwKLQkgIl5bWzpzcGFjZTpdXSooKGNsYXNzZGVmfGZ1bmN0aW9uKVtbOnNwYWNlOl1dLiopJHxeJSVbWzpzcGFjZTpdXS4qJCIsCisJIC8qCisJICAqIE9jdGF2ZSBwYXR0ZXJuIGlzIG1vc3RseSB0aGUgc2FtZSBhcyBtYXRsYWIsIGV4Y2VwdCB0aGF0ICclJSUnIGFuZAorCSAgKiAnIyMnIGNhbiBhbHNvIGJlIHVzZWQgdG8gYmVnaW4gY29kZSBzZWN0aW9ucywgaW4gYWRkaXRpb24gdG8gJyUlJworCSAgKiB0aGF0IGlzIHVuZGVyc3Rvb2QgYnkgYm90aC4KKwkgICovCisJICJeW1s6c3BhY2U6XV0qKChjbGFzc2RlZnxmdW5jdGlvbilbWzpzcGFjZTpdXS4qKSR8XiglJSU/fCMjKVtbOnNwYWNlOl1dLiokIiwKIAkgIlthLXpBLVpfXVthLXpBLVowLTlfXSp8Wy0rMC05LmVdK3xbPX48Pl09fFxcLlsqL1xcXiddfFxcfFxcfHwmJiIpLAogUEFUVEVSTlMoIm9iamMiLAogCSAvKiBOZWdhdGUgQyBzdGF0ZW1lbnRzIHRoYXQgY2FuIGxvb2sgbGlrZSBmdW5jdGlvbnMgKi8KQEAgLTExOSw3ICsxNDYsNyBAQAogCSAiW2EtekEtWl9dW2EtekEtWjAtOV9dKiIKIAkgInxbLSswLTkuZV0rfDBbeFhiQl0/WzAtOWEtZkEtRl0rIgogCSAifFstKyovPD4lJl58PSEuXT18LS18XFwrXFwrfDw8PT98Pj49P3w9PT18JiZ8XFx8XFx8fDo6fC0+IiksCi1QQVRURVJOUygicHl0aG9uIiwgIl5bIFx0XSooKGNsYXNzfGRlZilbIFx0XS4qKSQiLAorUEFUVEVSTlMoInB5dGhvbiIsICJeWyBcdF0qKChjbGFzc3woYXN5bmNbIFx0XSspP2RlZilbIFx0XS4qKSQiLAogCSAvKiAtLSAqLwogCSAiW2EtekEtWl9dW2EtekEtWjAtOV9dKiIKIAkgInxbLSswLTkuZV0rW2pKbExdP3wwW3hYXT9bMC05YS1mQS1GXStbbExdPyIKQEAgLTEzMCw2ICsxNTcsMTIgQEAKIAkgIihAfEBAfFxcJCk/W2EtekEtWl9dW2EtekEtWjAtOV9dKiIKIAkgInxbLSswLTkuZV0rfDBbeFhiQl0/WzAtOWEtZkEtRl0rfFxcPyhcXFxcQy0pPyhcXFxcTS0pPy4iCiAJICJ8Ly89P3xbLSsqLzw+JSZefD0hXT18PDw9P3w+Pj0/fD09PXxcXC57MSwzfXw6OnxbIT1dfiIpLAorUEFUVEVSTlMoInJ1c3QiLAorCSAiXltcdCBdKigocHViKFxcKFteXFwpXStcXCkpP1tcdCBdKyk/KChhc3luY3xjb25zdHx1bnNhZmV8ZXh0ZXJuKFtcdCBdK1wiW15cIl0rXCIpKVtcdCBdKyk/KHN0cnVjdHxlbnVtfHVuaW9ufG1vZHx0cmFpdHxmbnxpbXBsKVs8IFx0XStbXjtdKikkIiwKKwkgLyogLS0gKi8KKwkgIlthLXpBLVpfXVthLXpBLVowLTlfXSoiCisJICJ8WzAtOV1bMC05X2EtZkEtRmlvc3V4el0qKFxcLihbMC05XSpbZUVdWystXT8pP1swLTlfZkZdKik/IgorCSAifFstKypcXC88PiUmXnw9ITpdPXw8PD0/fD4+PT98JiZ8XFx8XFx8fC0+fD0+fFxcLnsyfT18XFwuezN9fDo6IiksCiBQQVRURVJOUygiYmlidGV4IiwgIihAW2EtekEtWl17MSx9WyBcdF0qXFx7ezAsMX1bIFx0XSpbXiBcdFwiQCcsXFwjfXt+JV0qKS4qJCIsCiAJICJbPXt9XCJdfFtePXt9XCIgXHRdKyIpLAogUEFUVEVSTlMoInRleCIsICJeKFxcXFwoKHN1Yikqc2VjdGlvbnxjaGFwdGVyfHBhcnQpXFwqezAsMX1cXHsuKikkIiwKQEAgLTI2NSw3ICsyOTgsOCBAQAogCXJldHVybiAwOwogfQogCi1zdHJ1Y3QgdXNlcmRpZmZfZHJpdmVyICp1c2VyZGlmZl9maW5kX2J5X25hbWUoY29uc3QgY2hhciAqbmFtZSkgeworc3RydWN0IHVzZXJkaWZmX2RyaXZlciAqdXNlcmRpZmZfZmluZF9ieV9uYW1lKGNvbnN0IGNoYXIgKm5hbWUpCit7CiAJaW50IGxlbiA9IHN0cmxlbihuYW1lKTsKIAlyZXR1cm4gdXNlcmRpZmZfZmluZF9ieV9uYW1lbGVuKG5hbWUsIGxlbik7CiB9CkBAIC0yOTAsNyArMzI0LDggQEAKIAlyZXR1cm4gdXNlcmRpZmZfZmluZF9ieV9uYW1lKGNoZWNrLT5pdGVtc1swXS52YWx1ZSk7CiB9CiAKLXN0cnVjdCB1c2VyZGlmZl9kcml2ZXIgKnVzZXJkaWZmX2dldF90ZXh0Y29udihzdHJ1Y3QgdXNlcmRpZmZfZHJpdmVyICpkcml2ZXIpCitzdHJ1Y3QgdXNlcmRpZmZfZHJpdmVyICp1c2VyZGlmZl9nZXRfdGV4dGNvbnYoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkJCSAgICAgIHN0cnVjdCB1c2VyZGlmZl9kcml2ZXIgKmRyaXZlcikKIHsKIAlpZiAoIWRyaXZlci0+dGV4dGNvbnYpCiAJCXJldHVybiBOVUxMOwpAQCAtMzAwLDcgKzMzNSw3IEBACiAJCXN0cnVjdCBzdHJidWYgbmFtZSA9IFNUUkJVRl9JTklUOwogCiAJCXN0cmJ1Zl9hZGRmKCZuYW1lLCAidGV4dGNvbnYvJXMiLCBkcml2ZXItPm5hbWUpOwotCQlub3Rlc19jYWNoZV9pbml0KGMsIG5hbWUuYnVmLCBkcml2ZXItPnRleHRjb252KTsKKwkJbm90ZXNfY2FjaGVfaW5pdChyLCBjLCBuYW1lLmJ1ZiwgZHJpdmVyLT50ZXh0Y29udik7CiAJCWRyaXZlci0+dGV4dGNvbnZfY2FjaGUgPSBjOwogCQlzdHJidWZfcmVsZWFzZSgmbmFtZSk7CiAJfQpkaWZmIC0tZ2l0IGEvdXNlcmRpZmYuaCBiL3VzZXJkaWZmLmgKaW5kZXggYjA3MmJmZS4uMjAzMDU3ZSAxMDA2NDQKLS0tIGEvdXNlcmRpZmYuaAorKysgYi91c2VyZGlmZi5oCkBAIC00LDYgKzQsNyBAQAogI2luY2x1ZGUgIm5vdGVzLWNhY2hlLmgiCiAKIHN0cnVjdCBpbmRleF9zdGF0ZTsKK3N0cnVjdCByZXBvc2l0b3J5OwogCiBzdHJ1Y3QgdXNlcmRpZmZfZnVuY25hbWUgewogCWNvbnN0IGNoYXIgKnBhdHRlcm47CkBAIC0zMCw2ICszMSw3IEBACiAgKiBJbml0aWFsaXplIGFueSB0ZXh0Y29udi1yZWxhdGVkIGZpZWxkcyBpbiB0aGUgZHJpdmVyIGFuZCByZXR1cm4gaXQsIG9yIE5VTEwKICAqIGlmIGl0IGRvZXMgbm90IGhhdmUgdGV4dGNvbnYgZW5hYmxlZCBhdCBhbGwuCiAgKi8KLXN0cnVjdCB1c2VyZGlmZl9kcml2ZXIgKnVzZXJkaWZmX2dldF90ZXh0Y29udihzdHJ1Y3QgdXNlcmRpZmZfZHJpdmVyICpkcml2ZXIpOworc3RydWN0IHVzZXJkaWZmX2RyaXZlciAqdXNlcmRpZmZfZ2V0X3RleHRjb252KHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCQkgICAgICBzdHJ1Y3QgdXNlcmRpZmZfZHJpdmVyICpkcml2ZXIpOwogCiAjZW5kaWYgLyogVVNFUkRJRkYgKi8KZGlmZiAtLWdpdCBhL3V0ZjguYyBiL3V0ZjguYwppbmRleCBlYjc4NTg3Li41YjM5MzYxIDEwMDY0NAotLS0gYS91dGY4LmMKKysrIGIvdXRmOC5jCkBAIC00LDYgKzQsMTEgQEAKIAogLyogVGhpcyBjb2RlIGlzIG9yaWdpbmFsbHkgZnJvbSBodHRwOi8vd3d3LmNsLmNhbS5hYy51ay9+bWdrMjUvdWNzLyAqLwogCitzdGF0aWMgY29uc3QgY2hhciB1dGYxNl9iZV9ib21bXSA9IHsnXHhGRScsICdceEZGJ307CitzdGF0aWMgY29uc3QgY2hhciB1dGYxNl9sZV9ib21bXSA9IHsnXHhGRicsICdceEZFJ307CitzdGF0aWMgY29uc3QgY2hhciB1dGYzMl9iZV9ib21bXSA9IHsnXDAnLCAnXDAnLCAnXHhGRScsICdceEZGJ307CitzdGF0aWMgY29uc3QgY2hhciB1dGYzMl9sZV9ib21bXSA9IHsnXHhGRicsICdceEZFJywgJ1wwJywgJ1wwJ307CisKIHN0cnVjdCBpbnRlcnZhbCB7CiAJdWNzX2NoYXJfdCBmaXJzdDsKIAl1Y3NfY2hhcl90IGxhc3Q7CkBAIC05MCwxMyArOTUsMTEgQEAKIAkJcmV0dXJuIC0xOwogCiAJLyogYmluYXJ5IHNlYXJjaCBpbiB0YWJsZSBvZiBub24tc3BhY2luZyBjaGFyYWN0ZXJzICovCi0JaWYgKGJpc2VhcmNoKGNoLCB6ZXJvX3dpZHRoLCBzaXplb2YoemVyb193aWR0aCkKLQkJCQkvIHNpemVvZihzdHJ1Y3QgaW50ZXJ2YWwpIC0gMSkpCisJaWYgKGJpc2VhcmNoKGNoLCB6ZXJvX3dpZHRoLCBBUlJBWV9TSVpFKHplcm9fd2lkdGgpIC0gMSkpCiAJCXJldHVybiAwOwogCiAJLyogYmluYXJ5IHNlYXJjaCBpbiB0YWJsZSBvZiBkb3VibGUgd2lkdGggY2hhcmFjdGVycyAqLwotCWlmIChiaXNlYXJjaChjaCwgZG91YmxlX3dpZHRoLCBzaXplb2YoZG91YmxlX3dpZHRoKQotCQkJCS8gc2l6ZW9mKHN0cnVjdCBpbnRlcnZhbCkgLSAxKSkKKwlpZiAoYmlzZWFyY2goY2gsIGRvdWJsZV93aWR0aCwgQVJSQVlfU0laRShkb3VibGVfd2lkdGgpIC0gMSkpCiAJCXJldHVybiAyOwogCiAJcmV0dXJuIDE7CkBAIC00MDgsMTEgKzQxMSwxMCBAQAogICovCiBzdGF0aWMgaW50IHNhbWVfdXRmX2VuY29kaW5nKGNvbnN0IGNoYXIgKnNyYywgY29uc3QgY2hhciAqZHN0KQogewotCWlmIChpc3RhcnRzX3dpdGgoc3JjLCAidXRmIikgJiYgaXN0YXJ0c193aXRoKGRzdCwgInV0ZiIpKSB7Ci0JCS8qIHNyY1szXSBvciBkc3RbM10gbWlnaHQgYmUgJ1wwJyAqLwotCQlpbnQgaSA9IChzcmNbM10gPT0gJy0nID8gNCA6IDMpOwotCQlpbnQgaiA9IChkc3RbM10gPT0gJy0nID8gNCA6IDMpOwotCQlyZXR1cm4gIXN0cmNhc2VjbXAoc3JjK2ksIGRzdCtqKTsKKwlpZiAoc2tpcF9pcHJlZml4KHNyYywgInV0ZiIsICZzcmMpICYmIHNraXBfaXByZWZpeChkc3QsICJ1dGYiLCAmZHN0KSkgeworCQlza2lwX3ByZWZpeChzcmMsICItIiwgJnNyYyk7CisJCXNraXBfcHJlZml4KGRzdCwgIi0iLCAmZHN0KTsKKwkJcmV0dXJuICFzdHJjYXNlY21wKHNyYywgZHN0KTsKIAl9CiAJcmV0dXJuIDA7CiB9CkBAIC00NzAsMTYgKzQ3MiwxNyBAQAogI2Vsc2UKIAl0eXBlZGVmIGNoYXIgKiBpY29udl9pYnA7CiAjZW5kaWYKLWNoYXIgKnJlZW5jb2RlX3N0cmluZ19pY29udihjb25zdCBjaGFyICppbiwgc2l6ZV90IGluc3osIGljb252X3QgY29udiwgc2l6ZV90ICpvdXRzel9wKQorY2hhciAqcmVlbmNvZGVfc3RyaW5nX2ljb252KGNvbnN0IGNoYXIgKmluLCBzaXplX3QgaW5zeiwgaWNvbnZfdCBjb252LAorCQkJICAgIHNpemVfdCBib21fbGVuLCBzaXplX3QgKm91dHN6X3ApCiB7CiAJc2l6ZV90IG91dHN6LCBvdXRhbGxvYzsKIAljaGFyICpvdXQsICpvdXRwb3M7CiAJaWNvbnZfaWJwIGNwOwogCiAJb3V0c3ogPSBpbnN6OwotCW91dGFsbG9jID0gc3RfYWRkKG91dHN6LCAxKTsgLyogZm9yIHRlcm1pbmF0aW5nIE5VTCAqLworCW91dGFsbG9jID0gc3RfYWRkKG91dHN6LCAxICsgYm9tX2xlbik7IC8qIGZvciB0ZXJtaW5hdGluZyBOVUwgKi8KIAlvdXQgPSB4bWFsbG9jKG91dGFsbG9jKTsKLQlvdXRwb3MgPSBvdXQ7CisJb3V0cG9zID0gb3V0ICsgYm9tX2xlbjsKIAljcCA9IChpY29udl9pYnApaW47CiAKIAl3aGlsZSAoMSkgewpAQCAtNTQwLDEwICs1NDMsNDQgQEAKIHsKIAlpY29udl90IGNvbnY7CiAJY2hhciAqb3V0OworCWNvbnN0IGNoYXIgKmJvbV9zdHIgPSBOVUxMOworCXNpemVfdCBib21fbGVuID0gMDsKIAogCWlmICghaW5fZW5jb2RpbmcpCiAJCXJldHVybiBOVUxMOwogCisJLyogVVRGLTE2TEUtQk9NIGlzIHRoZSBzYW1lIGFzIFVURi0xNiBmb3IgcmVhZGluZyAqLworCWlmIChzYW1lX3V0Zl9lbmNvZGluZygiVVRGLTE2TEUtQk9NIiwgaW5fZW5jb2RpbmcpKQorCQlpbl9lbmNvZGluZyA9ICJVVEYtMTYiOworCisJLyoKKwkgKiBGb3Igd3JpdGluZywgVVRGLTE2IGljb252IHR5cGljYWxseSBjcmVhdGVzICJVVEYtMTZCRS1CT00iCisJICogU29tZSB1c2VycyB1bmRlciBXaW5kb3dzIHdhbnQgdGhlIGxpdHRsZSBlbmRpYW4gdmVyc2lvbgorCSAqCisJICogV2UgaGFuZGxlIFVURi0xNiBhbmQgVVRGLTMyIG91cnNlbHZlcyBvbmx5IGlmIHRoZSBwbGF0Zm9ybSBkb2VzIG5vdAorCSAqIHByb3ZpZGUgYSBCT00gKHdoaWNoIHdlIHJlcXVpcmUpLCBzaW5jZSB3ZSB3YW50IHRvIG1hdGNoIHRoZSBiZWhhdmlvcgorCSAqIG9mIHRoZSBzeXN0ZW0gdG9vbHMgYW5kIGxpYmMgYXMgbXVjaCBhcyBwb3NzaWJsZS4KKwkgKi8KKwlpZiAoc2FtZV91dGZfZW5jb2RpbmcoIlVURi0xNkxFLUJPTSIsIG91dF9lbmNvZGluZykpIHsKKwkJYm9tX3N0ciA9IHV0ZjE2X2xlX2JvbTsKKwkJYm9tX2xlbiA9IHNpemVvZih1dGYxNl9sZV9ib20pOworCQlvdXRfZW5jb2RpbmcgPSAiVVRGLTE2TEUiOworCX0gZWxzZSBpZiAoc2FtZV91dGZfZW5jb2RpbmcoIlVURi0xNkJFLUJPTSIsIG91dF9lbmNvZGluZykpIHsKKwkJYm9tX3N0ciA9IHV0ZjE2X2JlX2JvbTsKKwkJYm9tX2xlbiA9IHNpemVvZih1dGYxNl9iZV9ib20pOworCQlvdXRfZW5jb2RpbmcgPSAiVVRGLTE2QkUiOworI2lmZGVmIElDT05WX09NSVRTX0JPTQorCX0gZWxzZSBpZiAoc2FtZV91dGZfZW5jb2RpbmcoIlVURi0xNiIsIG91dF9lbmNvZGluZykpIHsKKwkJYm9tX3N0ciA9IHV0ZjE2X2JlX2JvbTsKKwkJYm9tX2xlbiA9IHNpemVvZih1dGYxNl9iZV9ib20pOworCQlvdXRfZW5jb2RpbmcgPSAiVVRGLTE2QkUiOworCX0gZWxzZSBpZiAoc2FtZV91dGZfZW5jb2RpbmcoIlVURi0zMiIsIG91dF9lbmNvZGluZykpIHsKKwkJYm9tX3N0ciA9IHV0ZjMyX2JlX2JvbTsKKwkJYm9tX2xlbiA9IHNpemVvZih1dGYzMl9iZV9ib20pOworCQlvdXRfZW5jb2RpbmcgPSAiVVRGLTMyQkUiOworI2VuZGlmCisJfQorCiAJY29udiA9IGljb252X29wZW4ob3V0X2VuY29kaW5nLCBpbl9lbmNvZGluZyk7CiAJaWYgKGNvbnYgPT0gKGljb252X3QpIC0xKSB7CiAJCWluX2VuY29kaW5nID0gZmFsbGJhY2tfZW5jb2RpbmcoaW5fZW5jb2RpbmcpOwpAQCAtNTUzLDkgKzU5MCwxMCBAQAogCQlpZiAoY29udiA9PSAoaWNvbnZfdCkgLTEpCiAJCQlyZXR1cm4gTlVMTDsKIAl9Ci0KLQlvdXQgPSByZWVuY29kZV9zdHJpbmdfaWNvbnYoaW4sIGluc3osIGNvbnYsIG91dHN6KTsKKwlvdXQgPSByZWVuY29kZV9zdHJpbmdfaWNvbnYoaW4sIGluc3osIGNvbnYsIGJvbV9sZW4sIG91dHN6KTsKIAlpY29udl9jbG9zZShjb252KTsKKwlpZiAob3V0ICYmIGJvbV9zdHIgJiYgYm9tX2xlbikKKwkJbWVtY3B5KG91dCwgYm9tX3N0ciwgYm9tX2xlbik7CiAJcmV0dXJuIG91dDsKIH0KICNlbmRpZgpAQCAtNTY2LDExICs2MDQsNiBAQAogCXJldHVybiBkYXRhICYmIGJvbSAmJiAobGVuID49IGJvbV9sZW4pICYmICFtZW1jbXAoZGF0YSwgYm9tLCBib21fbGVuKTsKIH0KIAotc3RhdGljIGNvbnN0IGNoYXIgdXRmMTZfYmVfYm9tW10gPSB7J1x4RkUnLCAnXHhGRid9Owotc3RhdGljIGNvbnN0IGNoYXIgdXRmMTZfbGVfYm9tW10gPSB7J1x4RkYnLCAnXHhGRSd9Owotc3RhdGljIGNvbnN0IGNoYXIgdXRmMzJfYmVfYm9tW10gPSB7J1wwJywgJ1wwJywgJ1x4RkUnLCAnXHhGRid9Owotc3RhdGljIGNvbnN0IGNoYXIgdXRmMzJfbGVfYm9tW10gPSB7J1x4RkYnLCAnXHhGRScsICdcMCcsICdcMCd9OwotCiBpbnQgaGFzX3Byb2hpYml0ZWRfdXRmX2JvbShjb25zdCBjaGFyICplbmMsIGNvbnN0IGNoYXIgKmRhdGEsIHNpemVfdCBsZW4pCiB7CiAJcmV0dXJuICgKZGlmZiAtLWdpdCBhL3V0ZjguaCBiL3V0ZjguaAppbmRleCBlZGVhNTVlLi5mY2Q1MTY3IDEwMDY0NAotLS0gYS91dGY4LmgKKysrIGIvdXRmOC5oCkBAIC0xNiw3ICsxNiw3IEBACiBpbnQgdXRmOF9mcHJpbnRmKEZJTEUgKiwgY29uc3QgY2hhciAqLCAuLi4pOwogCiBleHRlcm4gY29uc3QgY2hhciB1dGY4X2JvbVtdOwotZXh0ZXJuIGludCBza2lwX3V0ZjhfYm9tKGNoYXIgKiosIHNpemVfdCk7CitpbnQgc2tpcF91dGY4X2JvbShjaGFyICoqLCBzaXplX3QpOwogCiB2b2lkIHN0cmJ1Zl9hZGRfd3JhcHBlZF90ZXh0KHN0cnVjdCBzdHJidWYgKmJ1ZiwKIAkJY29uc3QgY2hhciAqdGV4dCwgaW50IGluZGVudCwgaW50IGluZGVudDIsIGludCB3aWR0aCk7CkBAIC0yNyw3ICsyNyw3IEBACiAKICNpZm5kZWYgTk9fSUNPTlYKIGNoYXIgKnJlZW5jb2RlX3N0cmluZ19pY29udihjb25zdCBjaGFyICppbiwgc2l6ZV90IGluc3osCi0JCQkgICAgaWNvbnZfdCBjb252LCBzaXplX3QgKm91dHN6KTsKKwkJCSAgICBpY29udl90IGNvbnYsIHNpemVfdCBib21fbGVuLCBzaXplX3QgKm91dHN6KTsKIGNoYXIgKnJlZW5jb2RlX3N0cmluZ19sZW4oY29uc3QgY2hhciAqaW4sIHNpemVfdCBpbnN6LAogCQkJICBjb25zdCBjaGFyICpvdXRfZW5jb2RpbmcsCiAJCQkgIGNvbnN0IGNoYXIgKmluX2VuY29kaW5nLApkaWZmIC0tZ2l0IGEvdmFyaW50LmggYi92YXJpbnQuaAppbmRleCBjMWM0NGQ5Li5mNzhiYjBjIDEwMDY0NAotLS0gYS92YXJpbnQuaAorKysgYi92YXJpbnQuaApAQCAtMSw3ICsxLDcgQEAKICNpZm5kZWYgVkFSSU5UX0gKICNkZWZpbmUgVkFSSU5UX0gKIAotZXh0ZXJuIGludCBlbmNvZGVfdmFyaW50KHVpbnRtYXhfdCwgdW5zaWduZWQgY2hhciAqKTsKLWV4dGVybiB1aW50bWF4X3QgZGVjb2RlX3ZhcmludChjb25zdCB1bnNpZ25lZCBjaGFyICoqKTsKK2ludCBlbmNvZGVfdmFyaW50KHVpbnRtYXhfdCwgdW5zaWduZWQgY2hhciAqKTsKK3VpbnRtYXhfdCBkZWNvZGVfdmFyaW50KGNvbnN0IHVuc2lnbmVkIGNoYXIgKiopOwogCiAjZW5kaWYgLyogVkFSSU5UX0ggKi8KZGlmZiAtLWdpdCBhL3Zjcy1zdm4vc2xpZGluZ193aW5kb3cuaCBiL3Zjcy1zdm4vc2xpZGluZ193aW5kb3cuaAppbmRleCAxODljMzJkLi5hN2ZjMDk5IDEwMDY0NAotLS0gYS92Y3Mtc3ZuL3NsaWRpbmdfd2luZG93LmgKKysrIGIvdmNzLXN2bi9zbGlkaW5nX3dpbmRvdy5oCkBAIC0xMyw2ICsxMyw2IEBACiAKICNkZWZpbmUgU0xJRElOR19WSUVXX0lOSVQoaW5wdXQsIGxlbikJeyAoaW5wdXQpLCAwLCAwLCAobGVuKSwgU1RSQlVGX0lOSVQgfQogCi1leHRlcm4gaW50IG1vdmVfd2luZG93KHN0cnVjdCBzbGlkaW5nX3ZpZXcgKnZpZXcsIG9mZl90IG9mZiwgc2l6ZV90IHdpZHRoKTsKK2ludCBtb3ZlX3dpbmRvdyhzdHJ1Y3Qgc2xpZGluZ192aWV3ICp2aWV3LCBvZmZfdCBvZmYsIHNpemVfdCB3aWR0aCk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvdmNzLXN2bi9zdm5kaWZmLmggYi92Y3Mtc3ZuL3N2bmRpZmYuaAppbmRleCAxMGEyY2JjLi42MjVkOTUwIDEwMDY0NAotLS0gYS92Y3Mtc3ZuL3N2bmRpZmYuaAorKysgYi92Y3Mtc3ZuL3N2bmRpZmYuaApAQCAtNCw3ICs0LDcgQEAKIHN0cnVjdCBsaW5lX2J1ZmZlcjsKIHN0cnVjdCBzbGlkaW5nX3ZpZXc7CiAKLWV4dGVybiBpbnQgc3ZuZGlmZjBfYXBwbHkoc3RydWN0IGxpbmVfYnVmZmVyICpkZWx0YSwgb2ZmX3QgZGVsdGFfbGVuLAotCQlzdHJ1Y3Qgc2xpZGluZ192aWV3ICpwcmVpbWFnZSwgRklMRSAqcG9zdGltYWdlKTsKK2ludCBzdm5kaWZmMF9hcHBseShzdHJ1Y3QgbGluZV9idWZmZXIgKmRlbHRhLCBvZmZfdCBkZWx0YV9sZW4sCisJCSAgIHN0cnVjdCBzbGlkaW5nX3ZpZXcgKnByZWltYWdlLCBGSUxFICpwb3N0aW1hZ2UpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3dhbGtlci5jIGIvd2Fsa2VyLmMKaW5kZXggOTY5OTBkOC4uNDk4NGJmOCAxMDA2NDQKLS0tIGEvd2Fsa2VyLmMKKysrIGIvd2Fsa2VyLmMKQEAgLTgsNiArOCw3IEBACiAjaW5jbHVkZSAidGFnLmgiCiAjaW5jbHVkZSAiYmxvYi5oIgogI2luY2x1ZGUgInJlZnMuaCIKKyNpbmNsdWRlICJwcm9ncmVzcy5oIgogCiBzdGF0aWMgc3RydWN0IG9iamVjdF9pZCBjdXJyZW50X2NvbW1pdF9vaWQ7CiAKQEAgLTUwLDEzICs1MSwxMyBAQAogCQkJY29udGludWU7CiAJCWlmIChTX0lTRElSKGVudHJ5Lm1vZGUpKSB7CiAJCQlzdHJ1Y3QgdHJlZSAqdHJlZSA9IGxvb2t1cF90cmVlKHRoZV9yZXBvc2l0b3J5LAotCQkJCQkJCWVudHJ5Lm9pZCk7CisJCQkJCQkJJmVudHJ5Lm9pZCk7CiAJCQlpZiAodHJlZSkKIAkJCQlvYmogPSAmdHJlZS0+b2JqZWN0OwogCQl9CiAJCWVsc2UgewogCQkJc3RydWN0IGJsb2IgKmJsb2IgPSBsb29rdXBfYmxvYih0aGVfcmVwb3NpdG9yeSwKLQkJCQkJCQllbnRyeS5vaWQpOworCQkJCQkJCSZlbnRyeS5vaWQpOwogCQkJaWYgKGJsb2IpCiAJCQkJb2JqID0gJmJsb2ItPm9iamVjdDsKIAkJfQpAQCAtMTYyLDYgKzE2MywxMSBAQAogc3RhdGljIGludCBsb29wKHN0cnVjdCB3YWxrZXIgKndhbGtlcikKIHsKIAlzdHJ1Y3Qgb2JqZWN0X2xpc3QgKmVsZW07CisJc3RydWN0IHByb2dyZXNzICpwcm9ncmVzcyA9IE5VTEw7CisJdWludDY0X3QgbnIgPSAwOworCisJaWYgKHdhbGtlci0+Z2V0X3Byb2dyZXNzKQorCQlwcm9ncmVzcyA9IHN0YXJ0X2RlbGF5ZWRfcHJvZ3Jlc3MoXygiRmV0Y2hpbmcgb2JqZWN0cyIpLCAwKTsKIAogCXdoaWxlIChwcm9jZXNzX3F1ZXVlKSB7CiAJCXN0cnVjdCBvYmplY3QgKm9iaiA9IHByb2Nlc3NfcXVldWUtPml0ZW07CkBAIC0xNzYsMTUgKzE4MiwyMCBAQAogCQkgKi8KIAkJaWYgKCEgKG9iai0+ZmxhZ3MgJiBUT19TQ0FOKSkgewogCQkJaWYgKHdhbGtlci0+ZmV0Y2god2Fsa2VyLCBvYmotPm9pZC5oYXNoKSkgeworCQkJCXN0b3BfcHJvZ3Jlc3MoJnByb2dyZXNzKTsKIAkJCQlyZXBvcnRfbWlzc2luZyhvYmopOwogCQkJCXJldHVybiAtMTsKIAkJCX0KIAkJfQogCQlpZiAoIW9iai0+dHlwZSkKIAkJCXBhcnNlX29iamVjdCh0aGVfcmVwb3NpdG9yeSwgJm9iai0+b2lkKTsKLQkJaWYgKHByb2Nlc3Nfb2JqZWN0KHdhbGtlciwgb2JqKSkKKwkJaWYgKHByb2Nlc3Nfb2JqZWN0KHdhbGtlciwgb2JqKSkgeworCQkJc3RvcF9wcm9ncmVzcygmcHJvZ3Jlc3MpOwogCQkJcmV0dXJuIC0xOworCQl9CisJCWRpc3BsYXlfcHJvZ3Jlc3MocHJvZ3Jlc3MsICsrbnIpOwogCX0KKwlzdG9wX3Byb2dyZXNzKCZwcm9ncmVzcyk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTI2MSwxMiArMjcyLDE0IEBACiAJc3RydWN0IHN0cmJ1ZiByZWZuYW1lID0gU1RSQlVGX0lOSVQ7CiAJc3RydWN0IHN0cmJ1ZiBlcnIgPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3QgcmVmX3RyYW5zYWN0aW9uICp0cmFuc2FjdGlvbiA9IE5VTEw7Ci0Jc3RydWN0IG9iamVjdF9pZCAqb2lkcyA9IHhtYWxsb2ModGFyZ2V0cyAqIHNpemVvZihzdHJ1Y3Qgb2JqZWN0X2lkKSk7CisJc3RydWN0IG9iamVjdF9pZCAqb2lkczsKIAljaGFyICptc2cgPSBOVUxMOwogCWludCBpLCByZXQgPSAtMTsKIAogCXNhdmVfY29tbWl0X2J1ZmZlciA9IDA7CiAKKwlBTExPQ19BUlJBWShvaWRzLCB0YXJnZXRzKTsKKwogCWlmICh3cml0ZV9yZWYpIHsKIAkJdHJhbnNhY3Rpb24gPSByZWZfdHJhbnNhY3Rpb25fYmVnaW4oJmVycik7CiAJCWlmICghdHJhbnNhY3Rpb24pIHsKQEAgLTI4NSw3ICsyOTgsNyBAQAogCQkJZXJyb3IoIkNvdWxkIG5vdCBpbnRlcnByZXQgcmVzcG9uc2UgZnJvbSBzZXJ2ZXIgJyVzJyBhcyBzb21ldGhpbmcgdG8gcHVsbCIsIHRhcmdldFtpXSk7CiAJCQlnb3RvIGRvbmU7CiAJCX0KLQkJaWYgKHByb2Nlc3Mod2Fsa2VyLCBsb29rdXBfdW5rbm93bl9vYmplY3Qob2lkc1tpXS5oYXNoKSkpCisJCWlmIChwcm9jZXNzKHdhbGtlciwgbG9va3VwX3Vua25vd25fb2JqZWN0KCZvaWRzW2ldKSkpCiAJCQlnb3RvIGRvbmU7CiAJfQogCmRpZmYgLS1naXQgYS93YWxrZXIuaCBiL3dhbGtlci5oCmluZGV4IDZkOGFlMDAuLmQ0MGIwMTYgMTAwNjQ0Ci0tLSBhL3dhbGtlci5oCisrKyBiL3dhbGtlci5oCkBAIC0xMCw2ICsxMCw3IEBACiAJaW50ICgqZmV0Y2gpKHN0cnVjdCB3YWxrZXIgKiwgdW5zaWduZWQgY2hhciAqc2hhMSk7CiAJdm9pZCAoKmNsZWFudXApKHN0cnVjdCB3YWxrZXIgKik7CiAJaW50IGdldF92ZXJib3NlbHk7CisJaW50IGdldF9wcm9ncmVzczsKIAlpbnQgZ2V0X3JlY292ZXI7CiAKIAlpbnQgY29ycnVwdF9vYmplY3RfZm91bmQ7CmRpZmYgLS1naXQgYS93b3JrdHJlZS5jIGIvd29ya3RyZWUuYwppbmRleCBkNmEwZWU3Li5lYmE0ZmQzIDEwMDY0NAotLS0gYS93b3JrdHJlZS5jCisrKyBiL3dvcmt0cmVlLmMKQEAgLTQ3LDIzICs0NywyNiBAQAogc3RhdGljIHN0cnVjdCB3b3JrdHJlZSAqZ2V0X21haW5fd29ya3RyZWUodm9pZCkKIHsKIAlzdHJ1Y3Qgd29ya3RyZWUgKndvcmt0cmVlID0gTlVMTDsKLQlzdHJ1Y3Qgc3RyYnVmIHBhdGggPSBTVFJCVUZfSU5JVDsKIAlzdHJ1Y3Qgc3RyYnVmIHdvcmt0cmVlX3BhdGggPSBTVFJCVUZfSU5JVDsKLQlpbnQgaXNfYmFyZSA9IDA7CiAKIAlzdHJidWZfYWRkX2Fic29sdXRlX3BhdGgoJndvcmt0cmVlX3BhdGgsIGdldF9naXRfY29tbW9uX2RpcigpKTsKLQlpc19iYXJlID0gIXN0cmJ1Zl9zdHJpcF9zdWZmaXgoJndvcmt0cmVlX3BhdGgsICIvLmdpdCIpOwotCWlmIChpc19iYXJlKQorCXN0cmJ1Zl9zdHJpcF9zdWZmaXgoJndvcmt0cmVlX3BhdGgsICIvLiIpOworCWlmICghc3RyYnVmX3N0cmlwX3N1ZmZpeCgmd29ya3RyZWVfcGF0aCwgIi8uZ2l0IikpCiAJCXN0cmJ1Zl9zdHJpcF9zdWZmaXgoJndvcmt0cmVlX3BhdGgsICIvLiIpOwogCi0Jc3RyYnVmX2FkZGYoJnBhdGgsICIlcy9IRUFEIiwgZ2V0X2dpdF9jb21tb25fZGlyKCkpOwotCiAJd29ya3RyZWUgPSB4Y2FsbG9jKDEsIHNpemVvZigqd29ya3RyZWUpKTsKIAl3b3JrdHJlZS0+cGF0aCA9IHN0cmJ1Zl9kZXRhY2goJndvcmt0cmVlX3BhdGgsIE5VTEwpOwotCXdvcmt0cmVlLT5pc19iYXJlID0gaXNfYmFyZTsKKwkvKgorCSAqIE5FRURTV09SSzogSWYgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbSBhIHNlY29uZGFyeSB3b3JrdHJlZSBhbmQKKwkgKiBjb25maWcud29ya3RyZWUgaXMgcHJlc2VudCwgaXNfYmFyZV9yZXBvc2l0b3J5X2NmZyB3aWxsIHJlZmxlY3QgdGhlCisJICogY29udGVudHMgb2YgY29uZmlnLndvcmt0cmVlLCBub3QgdGhlIGNvbnRlbnRzIG9mIHRoZSBtYWluIHdvcmt0cmVlLgorCSAqIFRoaXMgbWVhbnMgdGhhdCB3b3JrdHJlZS0+aXNfYmFyZSBtYXkgYmUgc2V0IHRvIDAgZXZlbiBpZiB0aGUgbWFpbgorCSAqIHdvcmt0cmVlIGlzIGNvbmZpZ3VyZWQgdG8gYmUgYmFyZS4KKwkgKi8KKwl3b3JrdHJlZS0+aXNfYmFyZSA9IChpc19iYXJlX3JlcG9zaXRvcnlfY2ZnID09IDEpIHx8CisJCWlzX2JhcmVfcmVwb3NpdG9yeSgpOwogCWFkZF9oZWFkX2luZm8od29ya3RyZWUpOwogCi0Jc3RyYnVmX3JlbGVhc2UoJnBhdGgpOwogCXN0cmJ1Zl9yZWxlYXNlKCZ3b3JrdHJlZV9wYXRoKTsKIAlyZXR1cm4gd29ya3RyZWU7CiB9CkBAIC0yMDksNyArMjEyLDYgQEAKIAkJCSAgICAgICBjb25zdCBjaGFyICphcmcpCiB7CiAJc3RydWN0IHdvcmt0cmVlICp3dDsKLQljaGFyICpwYXRoOwogCWNoYXIgKnRvX2ZyZWUgPSBOVUxMOwogCiAJaWYgKCh3dCA9IGZpbmRfd29ya3RyZWVfYnlfc3VmZml4KGxpc3QsIGFyZykpKQpAQCAtMjE3LDE2ICsyMTksMjQgQEAKIAogCWlmIChwcmVmaXgpCiAJCWFyZyA9IHRvX2ZyZWUgPSBwcmVmaXhfZmlsZW5hbWUocHJlZml4LCBhcmcpOwotCXBhdGggPSByZWFsX3BhdGhkdXAoYXJnLCAwKTsKLQlpZiAoIXBhdGgpIHsKLQkJZnJlZSh0b19mcmVlKTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCWZvciAoOyAqbGlzdDsgbGlzdCsrKQotCQlpZiAoIWZzcGF0aGNtcChwYXRoLCByZWFsX3BhdGgoKCpsaXN0KS0+cGF0aCkpKQotCQkJYnJlYWs7Ci0JZnJlZShwYXRoKTsKKwl3dCA9IGZpbmRfd29ya3RyZWVfYnlfcGF0aChsaXN0LCBhcmcpOwogCWZyZWUodG9fZnJlZSk7CisJcmV0dXJuIHd0OworfQorCitzdHJ1Y3Qgd29ya3RyZWUgKmZpbmRfd29ya3RyZWVfYnlfcGF0aChzdHJ1Y3Qgd29ya3RyZWUgKipsaXN0LCBjb25zdCBjaGFyICpwKQoreworCWNoYXIgKnBhdGggPSByZWFsX3BhdGhkdXAocCwgMCk7CisKKwlpZiAoIXBhdGgpCisJCXJldHVybiBOVUxMOworCWZvciAoOyAqbGlzdDsgbGlzdCsrKSB7CisJCWNvbnN0IGNoYXIgKnd0X3BhdGggPSByZWFsX3BhdGhfaWZfdmFsaWQoKCpsaXN0KS0+cGF0aCk7CisKKwkJaWYgKHd0X3BhdGggJiYgIWZzcGF0aGNtcChwYXRoLCB3dF9wYXRoKSkKKwkJCWJyZWFrOworCX0KKwlmcmVlKHBhdGgpOwogCXJldHVybiAqbGlzdDsKIH0KIApAQCAtNDQ0LDcgKzQ1NCw3IEBACiAJRElSICpkaXI7CiAJc3RydWN0IGRpcmVudCAqZDsKIAlpbnQgcmV0ID0gMDsKLQlzdHJ1Y3QgcmVwb3NpdG9yeV9mb3JtYXQgZm9ybWF0OworCXN0cnVjdCByZXBvc2l0b3J5X2Zvcm1hdCBmb3JtYXQgPSBSRVBPU0lUT1JZX0ZPUk1BVF9JTklUOwogCiAJc3VibW9kdWxlX2dpdGRpciA9IGdpdF9wYXRoZHVwX3N1Ym1vZHVsZShwYXRoLCAiJXMiLCAiIik7CiAJaWYgKCFzdWJtb2R1bGVfZ2l0ZGlyKQpAQCAtNDYyLDggKzQ3MiwxMCBAQAogCXJlYWRfcmVwb3NpdG9yeV9mb3JtYXQoJmZvcm1hdCwgc2IuYnVmKTsKIAlpZiAoZm9ybWF0LnZlcnNpb24gIT0gMCkgewogCQlzdHJidWZfcmVsZWFzZSgmc2IpOworCQljbGVhcl9yZXBvc2l0b3J5X2Zvcm1hdCgmZm9ybWF0KTsKIAkJcmV0dXJuIDE7CiAJfQorCWNsZWFyX3JlcG9zaXRvcnlfZm9ybWF0KCZmb3JtYXQpOwogCiAJLyogUmVwbGFjZSBjb25maWcgYnkgd29ya3RyZWVzLiAqLwogCXN0cmJ1Zl9zZXRsZW4oJnNiLCBzYi5sZW4gLSBzdHJsZW4oImNvbmZpZyIpKTsKZGlmZiAtLWdpdCBhL3dvcmt0cmVlLmggYi93b3JrdHJlZS5oCmluZGV4IDllM2IwYjcuLmQyNDJhNmUgMTAwNjQ0Ci0tLSBhL3dvcmt0cmVlLmgKKysrIGIvd29ya3RyZWUuaApAQCAtMzAsMzcgKzMwLDUzIEBACiAgKiBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvciBmcmVlaW5nIHRoZSBtZW1vcnkgZnJvbSB0aGUgcmV0dXJuZWQKICAqIHdvcmt0cmVlKHMpLgogICovCi1leHRlcm4gc3RydWN0IHdvcmt0cmVlICoqZ2V0X3dvcmt0cmVlcyh1bnNpZ25lZCBmbGFncyk7CitzdHJ1Y3Qgd29ya3RyZWUgKipnZXRfd29ya3RyZWVzKHVuc2lnbmVkIGZsYWdzKTsKIAogLyoKICAqIFJldHVybnMgMSBpZiBsaW5rZWQgd29ya3RyZWVzIGV4aXN0LCAwIG90aGVyd2lzZS4KICAqLwotZXh0ZXJuIGludCBzdWJtb2R1bGVfdXNlc193b3JrdHJlZXMoY29uc3QgY2hhciAqcGF0aCk7CitpbnQgc3VibW9kdWxlX3VzZXNfd29ya3RyZWVzKGNvbnN0IGNoYXIgKnBhdGgpOwogCiAvKgogICogUmV0dXJuIGdpdCBkaXIgb2YgdGhlIHdvcmt0cmVlLiBOb3RlIHRoYXQgdGhlIHBhdGggbWF5IGJlIHJlbGF0aXZlLgogICogSWYgd3QgaXMgTlVMTCwgZ2l0IGRpciBvZiBjdXJyZW50IHdvcmt0cmVlIGlzIHJldHVybmVkLgogICovCi1leHRlcm4gY29uc3QgY2hhciAqZ2V0X3dvcmt0cmVlX2dpdF9kaXIoY29uc3Qgc3RydWN0IHdvcmt0cmVlICp3dCk7Citjb25zdCBjaGFyICpnZXRfd29ya3RyZWVfZ2l0X2Rpcihjb25zdCBzdHJ1Y3Qgd29ya3RyZWUgKnd0KTsKIAogLyoKLSAqIFNlYXJjaCBhIHdvcmt0cmVlIHRoYXQgY2FuIGJlIHVuYW1iaWd1b3VzbHkgaWRlbnRpZmllZCBieQotICogImFyZyIuICJwcmVmaXgiIG11c3Qgbm90IGJlIE5VTEwuCisgKiBTZWFyY2ggZm9yIHRoZSB3b3JrdHJlZSBpZGVudGlmaWVkIHVuYW1iaWd1b3VzbHkgYnkgYGFyZ2AgLS0gdHlwaWNhbGx5CisgKiBzdXBwbGllZCBieSB0aGUgdXNlciB2aWEgdGhlIGNvbW1hbmQtbGluZSAtLSB3aGljaCBtYXkgYmUgYSBwYXRobmFtZSBvciBzb21lCisgKiBzaG9ydGhhbmQgdW5pcXVlbHkgaWRlbnRpZnlpbmcgYSB3b3JrdHJlZSwgdGh1cyBtYWtpbmcgaXQgY29udmVuaWVudCBmb3IgdGhlCisgKiB1c2VyIHRvIHNwZWNpZnkgYSB3b3JrdHJlZSB3aXRoIG1pbmltYWwgdHlwaW5nLiBGb3IgaW5zdGFuY2UsIGlmIHRoZSBsYXN0CisgKiBjb21wb25lbnQgKHNheSwgImZvbyIpIG9mIGEgd29ya3RyZWUncyBwYXRobmFtZSBpcyB1bmlxdWUgYW1vbmcgd29ya3RyZWVzCisgKiAoc2F5LCAid29yay9mb28iIGFuZCAid29yay9iYXIiKSwgaXQgY2FuIGJlIHVzZWQgdG8gaWRlbnRpZnkgdGhlIHdvcmt0cmVlCisgKiB1bmFtYmlndW91c2x5LgorICoKKyAqIGBwcmVmaXhgIHNob3VsZCBiZSB0aGUgYHByZWZpeGAgaGFuZGVkIHRvIHRvcC1sZXZlbCBHaXQgY29tbWFuZHMgYWxvbmcgd2l0aAorICogYGFyZ2NgIGFuZCBgYXJndmAuCisgKgorICogUmV0dXJuIHRoZSB3b3JrdHJlZSBpZGVudGlmaWVkIGJ5IGBhcmdgLCBvciBOVUxMIGlmIG5vdCBmb3VuZC4KICAqLwotZXh0ZXJuIHN0cnVjdCB3b3JrdHJlZSAqZmluZF93b3JrdHJlZShzdHJ1Y3Qgd29ya3RyZWUgKipsaXN0LAotCQkJCSAgICAgIGNvbnN0IGNoYXIgKnByZWZpeCwKLQkJCQkgICAgICBjb25zdCBjaGFyICphcmcpOworc3RydWN0IHdvcmt0cmVlICpmaW5kX3dvcmt0cmVlKHN0cnVjdCB3b3JrdHJlZSAqKmxpc3QsCisJCQkgICAgICAgY29uc3QgY2hhciAqcHJlZml4LAorCQkJICAgICAgIGNvbnN0IGNoYXIgKmFyZyk7CisKKy8qCisgKiBSZXR1cm4gdGhlIHdvcmt0cmVlIGNvcnJlc3BvbmRpbmcgdG8gYHBhdGhgLCBvciBOVUxMIGlmIG5vIHN1Y2ggd29ya3RyZWUKKyAqIGV4aXN0cy4KKyAqLworc3RydWN0IHdvcmt0cmVlICpmaW5kX3dvcmt0cmVlX2J5X3BhdGgoc3RydWN0IHdvcmt0cmVlICoqLCBjb25zdCBjaGFyICpwYXRoKTsKIAogLyoKICAqIFJldHVybiB0cnVlIGlmIHRoZSBnaXZlbiB3b3JrdHJlZSBpcyB0aGUgbWFpbiBvbmUuCiAgKi8KLWV4dGVybiBpbnQgaXNfbWFpbl93b3JrdHJlZShjb25zdCBzdHJ1Y3Qgd29ya3RyZWUgKnd0KTsKK2ludCBpc19tYWluX3dvcmt0cmVlKGNvbnN0IHN0cnVjdCB3b3JrdHJlZSAqd3QpOwogCiAvKgogICogUmV0dXJuIHRoZSByZWFzb24gc3RyaW5nIGlmIHRoZSBnaXZlbiB3b3JrdHJlZSBpcyBsb2NrZWQgb3IgTlVMTAogICogb3RoZXJ3aXNlLgogICovCi1leHRlcm4gY29uc3QgY2hhciAqd29ya3RyZWVfbG9ja19yZWFzb24oc3RydWN0IHdvcmt0cmVlICp3dCk7Citjb25zdCBjaGFyICp3b3JrdHJlZV9sb2NrX3JlYXNvbihzdHJ1Y3Qgd29ya3RyZWUgKnd0KTsKIAogI2RlZmluZSBXVF9WQUxJREFURV9XT1JLVFJFRV9NSVNTSU5HX09LICgxIDw8IDApCiAKQEAgLTY4LDI4ICs4NCwyOCBAQAogICogUmV0dXJuIHplcm8gaWYgdGhlIHdvcmt0cmVlIGlzIGluIGdvb2QgY29uZGl0aW9uLiBFcnJvciBtZXNzYWdlIGlzCiAgKiByZXR1cm5lZCBpZiAiZXJybXNnIiBpcyBub3QgTlVMTC4KICAqLwotZXh0ZXJuIGludCB2YWxpZGF0ZV93b3JrdHJlZShjb25zdCBzdHJ1Y3Qgd29ya3RyZWUgKnd0LAotCQkJICAgICBzdHJ1Y3Qgc3RyYnVmICplcnJtc2csCi0JCQkgICAgIHVuc2lnbmVkIGZsYWdzKTsKK2ludCB2YWxpZGF0ZV93b3JrdHJlZShjb25zdCBzdHJ1Y3Qgd29ya3RyZWUgKnd0LAorCQkgICAgICBzdHJ1Y3Qgc3RyYnVmICplcnJtc2csCisJCSAgICAgIHVuc2lnbmVkIGZsYWdzKTsKIAogLyoKICAqIFVwZGF0ZSB3b3JrdHJlZXMveHh4L2dpdGRpciB3aXRoIHRoZSBuZXcgcGF0aC4KICAqLwotZXh0ZXJuIHZvaWQgdXBkYXRlX3dvcmt0cmVlX2xvY2F0aW9uKHN0cnVjdCB3b3JrdHJlZSAqd3QsCi0JCQkJICAgICBjb25zdCBjaGFyICpwYXRoXyk7Cit2b2lkIHVwZGF0ZV93b3JrdHJlZV9sb2NhdGlvbihzdHJ1Y3Qgd29ya3RyZWUgKnd0LAorCQkJICAgICAgY29uc3QgY2hhciAqcGF0aF8pOwogCiAvKgogICogRnJlZSB1cCB0aGUgbWVtb3J5IGZvciB3b3JrdHJlZShzKQogICovCi1leHRlcm4gdm9pZCBmcmVlX3dvcmt0cmVlcyhzdHJ1Y3Qgd29ya3RyZWUgKiopOwordm9pZCBmcmVlX3dvcmt0cmVlcyhzdHJ1Y3Qgd29ya3RyZWUgKiopOwogCiAvKgogICogQ2hlY2sgaWYgYSBwZXItd29ya3RyZWUgc3ltcmVmIHBvaW50cyB0byBhIHJlZiBpbiB0aGUgbWFpbiB3b3JrdHJlZQogICogb3IgYW55IGxpbmtlZCB3b3JrdHJlZSwgYW5kIHJldHVybiB0aGUgd29ya3RyZWUgdGhhdCBob2xkcyB0aGUgcmVmLAogICogb3IgTlVMTCBvdGhlcndpc2UuIFRoZSByZXN1bHQgbWF5IGJlIGRlc3Ryb3llZCBieSB0aGUgbmV4dCBjYWxsLgogICovCi1leHRlcm4gY29uc3Qgc3RydWN0IHdvcmt0cmVlICpmaW5kX3NoYXJlZF9zeW1yZWYoY29uc3QgY2hhciAqc3ltcmVmLAotCQkJCQkJIGNvbnN0IGNoYXIgKnRhcmdldCk7Citjb25zdCBzdHJ1Y3Qgd29ya3RyZWUgKmZpbmRfc2hhcmVkX3N5bXJlZihjb25zdCBjaGFyICpzeW1yZWYsCisJCQkJCSAgY29uc3QgY2hhciAqdGFyZ2V0KTsKIAogLyoKICAqIFNpbWlsYXIgdG8gaGVhZF9yZWYoKSBmb3IgYWxsIEhFQURzIF9leGNlcHRfIG9uZSBmcm9tIHRoZSBjdXJyZW50CkBAIC0xMDQsOCArMTIwLDggQEAKICAqIFNpbWlsYXIgdG8gZ2l0X3BhdGgoKSBidXQgY2FuIHByb2R1Y2UgcGF0aHMgZm9yIGEgc3BlY2lmaWVkCiAgKiB3b3JrdHJlZSBpbnN0ZWFkIG9mIGN1cnJlbnQgb25lCiAgKi8KLWV4dGVybiBjb25zdCBjaGFyICp3b3JrdHJlZV9naXRfcGF0aChjb25zdCBzdHJ1Y3Qgd29ya3RyZWUgKnd0LAotCQkJCSAgICAgY29uc3QgY2hhciAqZm10LCAuLi4pCitjb25zdCBjaGFyICp3b3JrdHJlZV9naXRfcGF0aChjb25zdCBzdHJ1Y3Qgd29ya3RyZWUgKnd0LAorCQkJICAgICAgY29uc3QgY2hhciAqZm10LCAuLi4pCiAJX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDIsIDMpKSk7CiAKIC8qCmRpZmYgLS1naXQgYS93cmFwcGVyLmMgYi93cmFwcGVyLmMKaW5kZXggZTRmYTlkOC4uZTFlYWVmMiAxMDA2NDQKLS0tIGEvd3JhcHBlci5jCisrKyBiL3dyYXBwZXIuYwpAQCAtNCwxMiArNCw2IEBACiAjaW5jbHVkZSAiY2FjaGUuaCIKICNpbmNsdWRlICJjb25maWcuaCIKIAotc3RhdGljIHZvaWQgZG9fbm90aGluZyhzaXplX3Qgc2l6ZSkKLXsKLX0KLQotc3RhdGljIHZvaWQgKCp0cnlfdG9fZnJlZV9yb3V0aW5lKShzaXplX3Qgc2l6ZSkgPSBkb19ub3RoaW5nOwotCiBzdGF0aWMgaW50IG1lbW9yeV9saW1pdF9jaGVjayhzaXplX3Qgc2l6ZSwgaW50IGdlbnRsZSkKIHsKIAlzdGF0aWMgc2l6ZV90IGxpbWl0ID0gMDsKQEAgLTMwLDI0ICsyNCwxMSBAQAogCXJldHVybiAwOwogfQogCi10cnlfdG9fZnJlZV90IHNldF90cnlfdG9fZnJlZV9yb3V0aW5lKHRyeV90b19mcmVlX3Qgcm91dGluZSkKLXsKLQl0cnlfdG9fZnJlZV90IG9sZCA9IHRyeV90b19mcmVlX3JvdXRpbmU7Ci0JaWYgKCFyb3V0aW5lKQotCQlyb3V0aW5lID0gZG9fbm90aGluZzsKLQl0cnlfdG9fZnJlZV9yb3V0aW5lID0gcm91dGluZTsKLQlyZXR1cm4gb2xkOwotfQotCiBjaGFyICp4c3RyZHVwKGNvbnN0IGNoYXIgKnN0cikKIHsKIAljaGFyICpyZXQgPSBzdHJkdXAoc3RyKTsKLQlpZiAoIXJldCkgewotCQl0cnlfdG9fZnJlZV9yb3V0aW5lKHN0cmxlbihzdHIpICsgMSk7Ci0JCXJldCA9IHN0cmR1cChzdHIpOwotCQlpZiAoIXJldCkKLQkJCWRpZSgiT3V0IG9mIG1lbW9yeSwgc3RyZHVwIGZhaWxlZCIpOwotCX0KKwlpZiAoIXJldCkKKwkJZGllKCJPdXQgb2YgbWVtb3J5LCBzdHJkdXAgZmFpbGVkIik7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtNjEsMTkgKzQyLDEzIEBACiAJaWYgKCFyZXQgJiYgIXNpemUpCiAJCXJldCA9IG1hbGxvYygxKTsKIAlpZiAoIXJldCkgewotCQl0cnlfdG9fZnJlZV9yb3V0aW5lKHNpemUpOwotCQlyZXQgPSBtYWxsb2Moc2l6ZSk7Ci0JCWlmICghcmV0ICYmICFzaXplKQotCQkJcmV0ID0gbWFsbG9jKDEpOwotCQlpZiAoIXJldCkgewotCQkJaWYgKCFnZW50bGUpCi0JCQkJZGllKCJPdXQgb2YgbWVtb3J5LCBtYWxsb2MgZmFpbGVkICh0cmllZCB0byBhbGxvY2F0ZSAlbHUgYnl0ZXMpIiwKLQkJCQkgICAgKHVuc2lnbmVkIGxvbmcpc2l6ZSk7Ci0JCQllbHNlIHsKLQkJCQllcnJvcigiT3V0IG9mIG1lbW9yeSwgbWFsbG9jIGZhaWxlZCAodHJpZWQgdG8gYWxsb2NhdGUgJWx1IGJ5dGVzKSIsCi0JCQkJICAgICAgKHVuc2lnbmVkIGxvbmcpc2l6ZSk7Ci0JCQkJcmV0dXJuIE5VTEw7Ci0JCQl9CisJCWlmICghZ2VudGxlKQorCQkJZGllKCJPdXQgb2YgbWVtb3J5LCBtYWxsb2MgZmFpbGVkICh0cmllZCB0byBhbGxvY2F0ZSAlbHUgYnl0ZXMpIiwKKwkJCSAgICAodW5zaWduZWQgbG9uZylzaXplKTsKKwkJZWxzZSB7CisJCQllcnJvcigiT3V0IG9mIG1lbW9yeSwgbWFsbG9jIGZhaWxlZCAodHJpZWQgdG8gYWxsb2NhdGUgJWx1IGJ5dGVzKSIsCisJCQkgICAgICAodW5zaWduZWQgbG9uZylzaXplKTsKKwkJCXJldHVybiBOVUxMOwogCQl9CiAJfQogI2lmZGVmIFhNQUxMT0NfUE9JU09OCkBAIC0xMzgsMTQgKzExMyw4IEBACiAJcmV0ID0gcmVhbGxvYyhwdHIsIHNpemUpOwogCWlmICghcmV0ICYmICFzaXplKQogCQlyZXQgPSByZWFsbG9jKHB0ciwgMSk7Ci0JaWYgKCFyZXQpIHsKLQkJdHJ5X3RvX2ZyZWVfcm91dGluZShzaXplKTsKLQkJcmV0ID0gcmVhbGxvYyhwdHIsIHNpemUpOwotCQlpZiAoIXJldCAmJiAhc2l6ZSkKLQkJCXJldCA9IHJlYWxsb2MocHRyLCAxKTsKLQkJaWYgKCFyZXQpCi0JCQlkaWUoIk91dCBvZiBtZW1vcnksIHJlYWxsb2MgZmFpbGVkIik7Ci0JfQorCWlmICghcmV0KQorCQlkaWUoIk91dCBvZiBtZW1vcnksIHJlYWxsb2MgZmFpbGVkIik7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMTYwLDE0ICsxMjksOCBAQAogCXJldCA9IGNhbGxvYyhubWVtYiwgc2l6ZSk7CiAJaWYgKCFyZXQgJiYgKCFubWVtYiB8fCAhc2l6ZSkpCiAJCXJldCA9IGNhbGxvYygxLCAxKTsKLQlpZiAoIXJldCkgewotCQl0cnlfdG9fZnJlZV9yb3V0aW5lKG5tZW1iICogc2l6ZSk7Ci0JCXJldCA9IGNhbGxvYyhubWVtYiwgc2l6ZSk7Ci0JCWlmICghcmV0ICYmICghbm1lbWIgfHwgIXNpemUpKQotCQkJcmV0ID0gY2FsbG9jKDEsIDEpOwotCQlpZiAoIXJldCkKLQkJCWRpZSgiT3V0IG9mIG1lbW9yeSwgY2FsbG9jIGZhaWxlZCIpOwotCX0KKwlpZiAoIXJldCkKKwkJZGllKCJPdXQgb2YgbWVtb3J5LCBjYWxsb2MgZmFpbGVkIik7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtNDc4LDcgKzQ0MSw5IEBACiAJCSJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIKIAkJIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIgogCQkiMDEyMzQ1Njc4OSI7Ci0Jc3RhdGljIGNvbnN0IGludCBudW1fbGV0dGVycyA9IDYyOworCXN0YXRpYyBjb25zdCBpbnQgbnVtX2xldHRlcnMgPSBBUlJBWV9TSVpFKGxldHRlcnMpIC0gMTsKKwlzdGF0aWMgY29uc3QgY2hhciB4X3BhdHRlcm5bXSA9ICJYWFhYWFgiOworCXN0YXRpYyBjb25zdCBpbnQgbnVtX3ggPSBBUlJBWV9TSVpFKHhfcGF0dGVybikgLSAxOwogCXVpbnQ2NF90IHZhbHVlOwogCXN0cnVjdCB0aW1ldmFsIHR2OwogCWNoYXIgKmZpbGVuYW1lX3RlbXBsYXRlOwpAQCAtNDg3LDEyICs0NTIsMTIgQEAKIAogCWxlbiA9IHN0cmxlbihwYXR0ZXJuKTsKIAotCWlmIChsZW4gPCA2ICsgc3VmZml4X2xlbikgeworCWlmIChsZW4gPCBudW1feCArIHN1ZmZpeF9sZW4pIHsKIAkJZXJybm8gPSBFSU5WQUw7CiAJCXJldHVybiAtMTsKIAl9CiAKLQlpZiAoc3RybmNtcCgmcGF0dGVybltsZW4gLSA2IC0gc3VmZml4X2xlbl0sICJYWFhYWFgiLCA2KSkgeworCWlmIChzdHJuY21wKCZwYXR0ZXJuW2xlbiAtIG51bV94IC0gc3VmZml4X2xlbl0sIHhfcGF0dGVybiwgbnVtX3gpKSB7CiAJCWVycm5vID0gRUlOVkFMOwogCQlyZXR1cm4gLTE7CiAJfQpAQCAtNTAyLDE3ICs0NjcsMTYgQEAKIAkgKiBUcnkgVE1QX01BWCBkaWZmZXJlbnQgZmlsZW5hbWVzLgogCSAqLwogCWdldHRpbWVvZmRheSgmdHYsIE5VTEwpOwotCXZhbHVlID0gKChzaXplX3QpKHR2LnR2X3VzZWMgPDwgMTYpKSBeIHR2LnR2X3NlYyBeIGdldHBpZCgpOwotCWZpbGVuYW1lX3RlbXBsYXRlID0gJnBhdHRlcm5bbGVuIC0gNiAtIHN1ZmZpeF9sZW5dOworCXZhbHVlID0gKCh1aW50NjRfdCl0di50dl91c2VjIDw8IDE2KSBeIHR2LnR2X3NlYyBeIGdldHBpZCgpOworCWZpbGVuYW1lX3RlbXBsYXRlID0gJnBhdHRlcm5bbGVuIC0gbnVtX3ggLSBzdWZmaXhfbGVuXTsKIAlmb3IgKGNvdW50ID0gMDsgY291bnQgPCBUTVBfTUFYOyArK2NvdW50KSB7CiAJCXVpbnQ2NF90IHYgPSB2YWx1ZTsKKwkJaW50IGk7CiAJCS8qIEZpbGwgaW4gdGhlIHJhbmRvbSBiaXRzLiAqLwotCQlmaWxlbmFtZV90ZW1wbGF0ZVswXSA9IGxldHRlcnNbdiAlIG51bV9sZXR0ZXJzXTsgdiAvPSBudW1fbGV0dGVyczsKLQkJZmlsZW5hbWVfdGVtcGxhdGVbMV0gPSBsZXR0ZXJzW3YgJSBudW1fbGV0dGVyc107IHYgLz0gbnVtX2xldHRlcnM7Ci0JCWZpbGVuYW1lX3RlbXBsYXRlWzJdID0gbGV0dGVyc1t2ICUgbnVtX2xldHRlcnNdOyB2IC89IG51bV9sZXR0ZXJzOwotCQlmaWxlbmFtZV90ZW1wbGF0ZVszXSA9IGxldHRlcnNbdiAlIG51bV9sZXR0ZXJzXTsgdiAvPSBudW1fbGV0dGVyczsKLQkJZmlsZW5hbWVfdGVtcGxhdGVbNF0gPSBsZXR0ZXJzW3YgJSBudW1fbGV0dGVyc107IHYgLz0gbnVtX2xldHRlcnM7Ci0JCWZpbGVuYW1lX3RlbXBsYXRlWzVdID0gbGV0dGVyc1t2ICUgbnVtX2xldHRlcnNdOyB2IC89IG51bV9sZXR0ZXJzOworCQlmb3IgKGkgPSAwOyBpIDwgbnVtX3g7IGkrKykgeworCQkJZmlsZW5hbWVfdGVtcGxhdGVbaV0gPSBsZXR0ZXJzW3YgJSBudW1fbGV0dGVyc107CisJCQl2IC89IG51bV9sZXR0ZXJzOworCQl9CiAKIAkJZmQgPSBvcGVuKHBhdHRlcm4sIE9fQ1JFQVQgfCBPX0VYQ0wgfCBPX1JEV1IsIG1vZGUpOwogCQlpZiAoZmQgPj0gMCkKQEAgLTY5MCwzICs2NTQsMTYgQEAKIAkJYnVmW2xlbiAtIDFdID0gMDsKIAlyZXR1cm4gcmV0OwogfQorCitpbnQgaXNfZW1wdHlfb3JfbWlzc2luZ19maWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCXN0cnVjdCBzdGF0IHN0OworCisJaWYgKHN0YXQoZmlsZW5hbWUsICZzdCkgPCAwKSB7CisJCWlmIChlcnJubyA9PSBFTk9FTlQpCisJCQlyZXR1cm4gMTsKKwkJZGllX2Vycm5vKF8oImNvdWxkIG5vdCBzdGF0ICVzIiksIGZpbGVuYW1lKTsKKwl9CisKKwlyZXR1cm4gIXN0LnN0X3NpemU7Cit9CmRpZmYgLS1naXQgYS93dC1zdGF0dXMuYyBiL3d0LXN0YXR1cy5jCmluZGV4IGEyNDcxMTMuLmNjNmY5NDUgMTAwNjQ0Ci0tLSBhL3d0LXN0YXR1cy5jCisrKyBiL3d0LXN0YXR1cy5jCkBAIC0xNyw2ICsxNyw5IEBACiAjaW5jbHVkZSAidXRmOC5oIgogI2luY2x1ZGUgIndvcmt0cmVlLmgiCiAjaW5jbHVkZSAibG9ja2ZpbGUuaCIKKyNpbmNsdWRlICJzZXF1ZW5jZXIuaCIKKworI2RlZmluZSBBQl9ERUxBWV9XQVJOSU5HX0lOX01TICgyICogMTAwMCkKIAogc3RhdGljIGNvbnN0IGNoYXIgY3V0X2xpbmVbXSA9CiAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tID44IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIjsKQEAgLTExOSw5ICsxMjIsMTAgQEAKIAl2YV9lbmQoYXApOwogfQogCi12b2lkIHd0X3N0YXR1c19wcmVwYXJlKHN0cnVjdCB3dF9zdGF0dXMgKnMpCit2b2lkIHd0X3N0YXR1c19wcmVwYXJlKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQogewogCW1lbXNldChzLCAwLCBzaXplb2YoKnMpKTsKKwlzLT5yZXBvID0gcjsKIAltZW1jcHkocy0+Y29sb3JfcGFsZXR0ZSwgZGVmYXVsdF93dF9zdGF0dXNfY29sb3JzLAogCSAgICAgICBzaXplb2YoZGVmYXVsdF93dF9zdGF0dXNfY29sb3JzKSk7CiAJcy0+c2hvd191bnRyYWNrZWRfZmlsZXMgPSBTSE9XX05PUk1BTF9VTlRSQUNLRURfRklMRVM7CkBAIC0xNzcsOSArMTgxLDE1IEBACiAJCXJldHVybjsKIAlpZiAocy0+d2hlbmNlICE9IEZST01fQ09NTUlUKQogCQk7Ci0JZWxzZSBpZiAoIXMtPmlzX2luaXRpYWwpCi0JCXN0YXR1c19wcmludGZfbG4ocywgYywgXygiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIiksIHMtPnJlZmVyZW5jZSk7Ci0JZWxzZQorCWVsc2UgaWYgKCFzLT5pc19pbml0aWFsKSB7CisJCWlmICghc3RyY21wKHMtPnJlZmVyZW5jZSwgIkhFQUQiKSkKKwkJCXN0YXR1c19wcmludGZfbG4ocywgYywKKwkJCQkJIF8oIiAgKHVzZSBcImdpdCByZXN0b3JlIC0tc3RhZ2VkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIikpOworCQllbHNlCisJCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGMsCisJCQkJCSBfKCIgICh1c2UgXCJnaXQgcmVzdG9yZSAtLXNvdXJjZT0lcyAtLXN0YWdlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIpLAorCQkJCQkgcy0+cmVmZXJlbmNlKTsKKwl9IGVsc2UKIAkJc3RhdHVzX3ByaW50Zl9sbihzLCBjLCBfKCIgICh1c2UgXCJnaXQgcm0gLS1jYWNoZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiKSk7CiAKIAlpZiAoIWJvdGhfZGVsZXRlZCkgewpAQCAtMTkyLDcgKzIwMiw2IEBACiAJfSBlbHNlIHsKIAkJc3RhdHVzX3ByaW50Zl9sbihzLCBjLCBfKCIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIGFzIGFwcHJvcHJpYXRlIHRvIG1hcmsgcmVzb2x1dGlvbikiKSk7CiAJfQotCXN0YXR1c19wcmludGZfbG4ocywgYywgIiVzIiwgIiIpOwogfQogCiBzdGF0aWMgdm9pZCB3dF9sb25nc3RhdHVzX3ByaW50X2NhY2hlZF9oZWFkZXIoc3RydWN0IHd0X3N0YXR1cyAqcykKQEAgLTIwNCwxMSArMjEzLDE2IEBACiAJCXJldHVybjsKIAlpZiAocy0+d2hlbmNlICE9IEZST01fQ09NTUlUKQogCQk7IC8qIE5FRURTV09SSzogdXNlICJnaXQgcmVzZXQgLS11bnJlc29sdmUiPz8/ICovCi0JZWxzZSBpZiAoIXMtPmlzX2luaXRpYWwpCi0JCXN0YXR1c19wcmludGZfbG4ocywgYywgXygiICAodXNlIFwiZ2l0IHJlc2V0ICVzIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIiksIHMtPnJlZmVyZW5jZSk7Ci0JZWxzZQorCWVsc2UgaWYgKCFzLT5pc19pbml0aWFsKSB7CisJCWlmICghc3RyY21wKHMtPnJlZmVyZW5jZSwgIkhFQUQiKSkKKwkJCXN0YXR1c19wcmludGZfbG4ocywgYworCQkJCQkgLCBfKCIgICh1c2UgXCJnaXQgcmVzdG9yZSAtLXN0YWdlZCA8ZmlsZT4uLi5cIiB0byB1bnN0YWdlKSIpKTsKKwkJZWxzZQorCQkJc3RhdHVzX3ByaW50Zl9sbihzLCBjLAorCQkJCQkgXygiICAodXNlIFwiZ2l0IHJlc3RvcmUgLS1zb3VyY2U9JXMgLS1zdGFnZWQgPGZpbGU+Li4uXCIgdG8gdW5zdGFnZSkiKSwKKwkJCQkJIHMtPnJlZmVyZW5jZSk7CisJfSBlbHNlCiAJCXN0YXR1c19wcmludGZfbG4ocywgYywgXygiICAodXNlIFwiZ2l0IHJtIC0tY2FjaGVkIDxmaWxlPi4uLlwiIHRvIHVuc3RhZ2UpIikpOwotCXN0YXR1c19wcmludGZfbG4ocywgYywgIiVzIiwgIiIpOwogfQogCiBzdGF0aWMgdm9pZCB3dF9sb25nc3RhdHVzX3ByaW50X2RpcnR5X2hlYWRlcihzdHJ1Y3Qgd3Rfc3RhdHVzICpzLApAQCAtMjI0LDEwICsyMzgsOSBAQAogCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGMsIF8oIiAgKHVzZSBcImdpdCBhZGQgPGZpbGU+Li4uXCIgdG8gdXBkYXRlIHdoYXQgd2lsbCBiZSBjb21taXR0ZWQpIikpOwogCWVsc2UKIAkJc3RhdHVzX3ByaW50Zl9sbihzLCBjLCBfKCIgICh1c2UgXCJnaXQgYWRkL3JtIDxmaWxlPi4uLlwiIHRvIHVwZGF0ZSB3aGF0IHdpbGwgYmUgY29tbWl0dGVkKSIpKTsKLQlzdGF0dXNfcHJpbnRmX2xuKHMsIGMsIF8oIiAgKHVzZSBcImdpdCBjaGVja291dCAtLSA8ZmlsZT4uLi5cIiB0byBkaXNjYXJkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3RvcnkpIikpOworCXN0YXR1c19wcmludGZfbG4ocywgYywgXygiICAodXNlIFwiZ2l0IHJlc3RvcmUgPGZpbGU+Li4uXCIgdG8gZGlzY2FyZCBjaGFuZ2VzIGluIHdvcmtpbmcgZGlyZWN0b3J5KSIpKTsKIAlpZiAoaGFzX2RpcnR5X3N1Ym1vZHVsZXMpCiAJCXN0YXR1c19wcmludGZfbG4ocywgYywgXygiICAoY29tbWl0IG9yIGRpc2NhcmQgdGhlIHVudHJhY2tlZCBvciBtb2RpZmllZCBjb250ZW50IGluIHN1Ym1vZHVsZXMpIikpOwotCXN0YXR1c19wcmludGZfbG4ocywgYywgIiVzIiwgIiIpOwogfQogCiBzdGF0aWMgdm9pZCB3dF9sb25nc3RhdHVzX3ByaW50X290aGVyX2hlYWRlcihzdHJ1Y3Qgd3Rfc3RhdHVzICpzLApAQCAtMjM5LDcgKzI1Miw2IEBACiAJaWYgKCFzLT5oaW50cykKIAkJcmV0dXJuOwogCXN0YXR1c19wcmludGZfbG4ocywgYywgXygiICAodXNlIFwiZ2l0ICVzIDxmaWxlPi4uLlwiIHRvIGluY2x1ZGUgaW4gd2hhdCB3aWxsIGJlIGNvbW1pdHRlZCkiKSwgaG93KTsKLQlzdGF0dXNfcHJpbnRmX2xuKHMsIGMsICIlcyIsICIiKTsKIH0KIAogc3RhdGljIHZvaWQgd3RfbG9uZ3N0YXR1c19wcmludF90cmFpbGVyKHN0cnVjdCB3dF9zdGF0dXMgKnMpCkBAIC00OTQsMTkgKzUwNiwxOSBAQAogCX0KIH0KIAotc3RhdGljIGludCB1bm1lcmdlZF9tYXNrKGNvbnN0IGNoYXIgKnBhdGgpCitzdGF0aWMgaW50IHVubWVyZ2VkX21hc2soc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUsIGNvbnN0IGNoYXIgKnBhdGgpCiB7CiAJaW50IHBvcywgbWFzazsKIAljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlOwogCi0JcG9zID0gY2FjaGVfbmFtZV9wb3MocGF0aCwgc3RybGVuKHBhdGgpKTsKKwlwb3MgPSBpbmRleF9uYW1lX3Bvcyhpc3RhdGUsIHBhdGgsIHN0cmxlbihwYXRoKSk7CiAJaWYgKDAgPD0gcG9zKQogCQlyZXR1cm4gMDsKIAogCW1hc2sgPSAwOwogCXBvcyA9IC1wb3MtMTsKLQl3aGlsZSAocG9zIDwgYWN0aXZlX25yKSB7Ci0JCWNlID0gYWN0aXZlX2NhY2hlW3BvcysrXTsKKwl3aGlsZSAocG9zIDwgaXN0YXRlLT5jYWNoZV9ucikgeworCQljZSA9IGlzdGF0ZS0+Y2FjaGVbcG9zKytdOwogCQlpZiAoc3RyY21wKGNlLT5uYW1lLCBwYXRoKSB8fCAhY2Vfc3RhZ2UoY2UpKQogCQkJYnJlYWs7CiAJCW1hc2sgfD0gKDEgPDwgKGNlX3N0YWdlKGNlKSAtIDEpKTsKQEAgLTU2Niw3ICs1NzgsOCBAQAogCQkJcy0+Y29tbWl0dGFibGUgPSAxOwogCQkJYnJlYWs7CiAJCWNhc2UgRElGRl9TVEFUVVNfVU5NRVJHRUQ6Ci0JCQlkLT5zdGFnZW1hc2sgPSB1bm1lcmdlZF9tYXNrKHAtPnR3by0+cGF0aCk7CisJCQlkLT5zdGFnZW1hc2sgPSB1bm1lcmdlZF9tYXNrKHMtPnJlcG8tPmluZGV4LAorCQkJCQkJICAgICBwLT50d28tPnBhdGgpOwogCQkJLyoKIAkJCSAqIERvbid0IGJvdGhlciBzZXR0aW5nIHttb2RlLG9pZH1fe2hlYWQsaW5kZXh9IHNpbmNlIHRoZSBwcmludAogCQkJICogY29kZSB3aWxsIG91dHB1dCB0aGUgc3RhZ2UgdmFsdWVzIGRpcmVjdGx5IGFuZCBub3QgdXNlIHRoZQpAQCAtNTg1LDcgKzU5OCw3IEBACiB7CiAJc3RydWN0IHJldl9pbmZvIHJldjsKIAotCXJlcG9faW5pdF9yZXZpc2lvbnModGhlX3JlcG9zaXRvcnksICZyZXYsIE5VTEwpOworCXJlcG9faW5pdF9yZXZpc2lvbnMocy0+cmVwbywgJnJldiwgTlVMTCk7CiAJc2V0dXBfcmV2aXNpb25zKDAsIE5VTEwsICZyZXYsIE5VTEwpOwogCXJldi5kaWZmb3B0Lm91dHB1dF9mb3JtYXQgfD0gRElGRl9GT1JNQVRfQ0FMTEJBQ0s7CiAJcmV2LmRpZmZvcHQuZmxhZ3MuZGlydHlfc3VibW9kdWxlcyA9IDE7CkBAIC02MTAsNyArNjIzLDcgQEAKIAlzdHJ1Y3QgcmV2X2luZm8gcmV2OwogCXN0cnVjdCBzZXR1cF9yZXZpc2lvbl9vcHQgb3B0OwogCi0JcmVwb19pbml0X3JldmlzaW9ucyh0aGVfcmVwb3NpdG9yeSwgJnJldiwgTlVMTCk7CisJcmVwb19pbml0X3JldmlzaW9ucyhzLT5yZXBvLCAmcmV2LCBOVUxMKTsKIAltZW1zZXQoJm9wdCwgMCwgc2l6ZW9mKG9wdCkpOwogCW9wdC5kZWYgPSBzLT5pc19pbml0aWFsID8gZW1wdHlfdHJlZV9vaWRfaGV4KCkgOiBzLT5yZWZlcmVuY2U7CiAJc2V0dXBfcmV2aXNpb25zKDAsIE5VTEwsICZyZXYsICZvcHQpOwpAQCAtNjQzLDE0ICs2NTYsMTUgQEAKIAogc3RhdGljIHZvaWQgd3Rfc3RhdHVzX2NvbGxlY3RfY2hhbmdlc19pbml0aWFsKHN0cnVjdCB3dF9zdGF0dXMgKnMpCiB7CisJc3RydWN0IGluZGV4X3N0YXRlICppc3RhdGUgPSBzLT5yZXBvLT5pbmRleDsKIAlpbnQgaTsKIAotCWZvciAoaSA9IDA7IGkgPCBhY3RpdmVfbnI7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBpc3RhdGUtPmNhY2hlX25yOyBpKyspIHsKIAkJc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0OwogCQlzdHJ1Y3Qgd3Rfc3RhdHVzX2NoYW5nZV9kYXRhICpkOwotCQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gYWN0aXZlX2NhY2hlW2ldOworCQljb25zdCBzdHJ1Y3QgY2FjaGVfZW50cnkgKmNlID0gaXN0YXRlLT5jYWNoZVtpXTsKIAotCQlpZiAoIWNlX3BhdGhfbWF0Y2goJnRoZV9pbmRleCwgY2UsICZzLT5wYXRoc3BlYywgTlVMTCkpCisJCWlmICghY2VfcGF0aF9tYXRjaChpc3RhdGUsIGNlLCAmcy0+cGF0aHNwZWMsIE5VTEwpKQogCQkJY29udGludWU7CiAJCWlmIChjZV9pbnRlbnRfdG9fYWRkKGNlKSkKIAkJCWNvbnRpbnVlOwpAQCAtNjg0LDYgKzY5OCw3IEBACiAJaW50IGk7CiAJc3RydWN0IGRpcl9zdHJ1Y3QgZGlyOwogCXVpbnQ2NF90IHRfYmVnaW4gPSBnZXRuYW5vdGltZSgpOworCXN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlID0gcy0+cmVwby0+aW5kZXg7CiAKIAlpZiAoIXMtPnNob3dfdW50cmFja2VkX2ZpbGVzKQogCQlyZXR1cm47CkBAIC02OTgsMjUgKzcxMywyNSBAQAogCQlpZiAocy0+c2hvd19pZ25vcmVkX21vZGUgPT0gU0hPV19NQVRDSElOR19JR05PUkVEKQogCQkJZGlyLmZsYWdzIHw9IERJUl9TSE9XX0lHTk9SRURfVE9PX01PREVfTUFUQ0hJTkc7CiAJfSBlbHNlIHsKLQkJZGlyLnVudHJhY2tlZCA9IHRoZV9pbmRleC51bnRyYWNrZWQ7CisJCWRpci51bnRyYWNrZWQgPSBpc3RhdGUtPnVudHJhY2tlZDsKIAl9CiAKIAlzZXR1cF9zdGFuZGFyZF9leGNsdWRlcygmZGlyKTsKIAotCWZpbGxfZGlyZWN0b3J5KCZkaXIsICZ0aGVfaW5kZXgsICZzLT5wYXRoc3BlYyk7CisJZmlsbF9kaXJlY3RvcnkoJmRpciwgaXN0YXRlLCAmcy0+cGF0aHNwZWMpOwogCiAJZm9yIChpID0gMDsgaSA8IGRpci5ucjsgaSsrKSB7CiAJCXN0cnVjdCBkaXJfZW50cnkgKmVudCA9IGRpci5lbnRyaWVzW2ldOwotCQlpZiAoY2FjaGVfbmFtZV9pc19vdGhlcihlbnQtPm5hbWUsIGVudC0+bGVuKSAmJgotCQkgICAgZGlyX3BhdGhfbWF0Y2goJnRoZV9pbmRleCwgZW50LCAmcy0+cGF0aHNwZWMsIDAsIE5VTEwpKQorCQlpZiAoaW5kZXhfbmFtZV9pc19vdGhlcihpc3RhdGUsIGVudC0+bmFtZSwgZW50LT5sZW4pICYmCisJCSAgICBkaXJfcGF0aF9tYXRjaChpc3RhdGUsIGVudCwgJnMtPnBhdGhzcGVjLCAwLCBOVUxMKSkKIAkJCXN0cmluZ19saXN0X2luc2VydCgmcy0+dW50cmFja2VkLCBlbnQtPm5hbWUpOwogCQlmcmVlKGVudCk7CiAJfQogCiAJZm9yIChpID0gMDsgaSA8IGRpci5pZ25vcmVkX25yOyBpKyspIHsKIAkJc3RydWN0IGRpcl9lbnRyeSAqZW50ID0gZGlyLmlnbm9yZWRbaV07Ci0JCWlmIChjYWNoZV9uYW1lX2lzX290aGVyKGVudC0+bmFtZSwgZW50LT5sZW4pICYmCi0JCSAgICBkaXJfcGF0aF9tYXRjaCgmdGhlX2luZGV4LCBlbnQsICZzLT5wYXRoc3BlYywgMCwgTlVMTCkpCisJCWlmIChpbmRleF9uYW1lX2lzX290aGVyKGlzdGF0ZSwgZW50LT5uYW1lLCBlbnQtPmxlbikgJiYKKwkJICAgIGRpcl9wYXRoX21hdGNoKGlzdGF0ZSwgZW50LCAmcy0+cGF0aHNwZWMsIDAsIE5VTEwpKQogCQkJc3RyaW5nX2xpc3RfaW5zZXJ0KCZzLT5pZ25vcmVkLCBlbnQtPm5hbWUpOwogCQlmcmVlKGVudCk7CiAJfQpAQCAtNzQ0LDE0ICs3NTksMjUgQEAKIAogdm9pZCB3dF9zdGF0dXNfY29sbGVjdChzdHJ1Y3Qgd3Rfc3RhdHVzICpzKQogeworCXRyYWNlMl9yZWdpb25fZW50ZXIoInN0YXR1cyIsICJ3b3JrdHJlZXMiLCBzLT5yZXBvKTsKIAl3dF9zdGF0dXNfY29sbGVjdF9jaGFuZ2VzX3dvcmt0cmVlKHMpOwotCWlmIChzLT5pc19pbml0aWFsKQotCQl3dF9zdGF0dXNfY29sbGVjdF9jaGFuZ2VzX2luaXRpYWwocyk7Ci0JZWxzZQotCQl3dF9zdGF0dXNfY29sbGVjdF9jaGFuZ2VzX2luZGV4KHMpOwotCXd0X3N0YXR1c19jb2xsZWN0X3VudHJhY2tlZChzKTsKKwl0cmFjZTJfcmVnaW9uX2xlYXZlKCJzdGF0dXMiLCAid29ya3RyZWVzIiwgcy0+cmVwbyk7CiAKLQl3dF9zdGF0dXNfZ2V0X3N0YXRlKCZzLT5zdGF0ZSwgcy0+YnJhbmNoICYmICFzdHJjbXAocy0+YnJhbmNoLCAiSEVBRCIpKTsKKwlpZiAocy0+aXNfaW5pdGlhbCkgeworCQl0cmFjZTJfcmVnaW9uX2VudGVyKCJzdGF0dXMiLCAiaW5pdGlhbCIsIHMtPnJlcG8pOworCQl3dF9zdGF0dXNfY29sbGVjdF9jaGFuZ2VzX2luaXRpYWwocyk7CisJCXRyYWNlMl9yZWdpb25fbGVhdmUoInN0YXR1cyIsICJpbml0aWFsIiwgcy0+cmVwbyk7CisJfSBlbHNlIHsKKwkJdHJhY2UyX3JlZ2lvbl9lbnRlcigic3RhdHVzIiwgImluZGV4Iiwgcy0+cmVwbyk7CisJCXd0X3N0YXR1c19jb2xsZWN0X2NoYW5nZXNfaW5kZXgocyk7CisJCXRyYWNlMl9yZWdpb25fbGVhdmUoInN0YXR1cyIsICJpbmRleCIsIHMtPnJlcG8pOworCX0KKworCXRyYWNlMl9yZWdpb25fZW50ZXIoInN0YXR1cyIsICJ1bnRyYWNrZWQiLCBzLT5yZXBvKTsKKwl3dF9zdGF0dXNfY29sbGVjdF91bnRyYWNrZWQocyk7CisJdHJhY2UyX3JlZ2lvbl9sZWF2ZSgic3RhdHVzIiwgInVudHJhY2tlZCIsIHMtPnJlcG8pOworCisJd3Rfc3RhdHVzX2dldF9zdGF0ZShzLT5yZXBvLCAmcy0+c3RhdGUsIHMtPmJyYW5jaCAmJiAhc3RyY21wKHMtPmJyYW5jaCwgIkhFQUQiKSk7CiAJaWYgKHMtPnN0YXRlLm1lcmdlX2luX3Byb2dyZXNzICYmICFoYXNfdW5tZXJnZWQocykpCiAJCXMtPmNvbW1pdHRhYmxlID0gMTsKIH0KQEAgLTk5MSwxMyArMTAxNywxOSBAQAogCXJldHVybiBsZW47CiB9CiAKLXZvaWQgd3Rfc3RhdHVzX2FkZF9jdXRfbGluZShGSUxFICpmcCkKK3ZvaWQgd3Rfc3RhdHVzX2FwcGVuZF9jdXRfbGluZShzdHJ1Y3Qgc3RyYnVmICpidWYpCiB7CiAJY29uc3QgY2hhciAqZXhwbGFuYXRpb24gPSBfKCJEbyBub3QgbW9kaWZ5IG9yIHJlbW92ZSB0aGUgbGluZSBhYm92ZS5cbkV2ZXJ5dGhpbmcgYmVsb3cgaXQgd2lsbCBiZSBpZ25vcmVkLiIpOworCisJc3RyYnVmX2NvbW1lbnRlZF9hZGRmKGJ1ZiwgIiVzIiwgY3V0X2xpbmUpOworCXN0cmJ1Zl9hZGRfY29tbWVudGVkX2xpbmVzKGJ1ZiwgZXhwbGFuYXRpb24sIHN0cmxlbihleHBsYW5hdGlvbikpOworfQorCit2b2lkIHd0X3N0YXR1c19hZGRfY3V0X2xpbmUoRklMRSAqZnApCit7CiAJc3RydWN0IHN0cmJ1ZiBidWYgPSBTVFJCVUZfSU5JVDsKIAotCWZwcmludGYoZnAsICIlYyAlcyIsIGNvbW1lbnRfbGluZV9jaGFyLCBjdXRfbGluZSk7Ci0Jc3RyYnVmX2FkZF9jb21tZW50ZWRfbGluZXMoJmJ1ZiwgZXhwbGFuYXRpb24sIHN0cmxlbihleHBsYW5hdGlvbikpOworCXd0X3N0YXR1c19hcHBlbmRfY3V0X2xpbmUoJmJ1Zik7CiAJZnB1dHMoYnVmLmJ1ZiwgZnApOwogCXN0cmJ1Zl9yZWxlYXNlKCZidWYpOwogfQpAQCAtMTAwOSw3ICsxMDQxLDcgQEAKIAlpbnQgZGlydHlfc3VibW9kdWxlczsKIAljb25zdCBjaGFyICpjID0gY29sb3IoV1RfU1RBVFVTX0hFQURFUiwgcyk7CiAKLQlyZXBvX2luaXRfcmV2aXNpb25zKHRoZV9yZXBvc2l0b3J5LCAmcmV2LCBOVUxMKTsKKwlyZXBvX2luaXRfcmV2aXNpb25zKHMtPnJlcG8sICZyZXYsIE5VTEwpOwogCXJldi5kaWZmb3B0LmZsYWdzLmFsbG93X3RleHRjb252ID0gMTsKIAlyZXYuZGlmZm9wdC5pdGFfaW52aXNpYmxlX2luX2luZGV4ID0gMTsKIApAQCAtMTA2MywxNCArMTA5NSwyOSBAQAogCXN0cnVjdCBicmFuY2ggKmJyYW5jaDsKIAljaGFyIGNvbW1lbnRfbGluZV9zdHJpbmdbM107CiAJaW50IGk7CisJdWludDY0X3QgdF9iZWdpbiA9IDA7CiAKIAlhc3NlcnQocy0+YnJhbmNoICYmICFzLT5pc19pbml0aWFsKTsKIAlpZiAoIXNraXBfcHJlZml4KHMtPmJyYW5jaCwgInJlZnMvaGVhZHMvIiwgJmJyYW5jaF9uYW1lKSkKIAkJcmV0dXJuOwogCWJyYW5jaCA9IGJyYW5jaF9nZXQoYnJhbmNoX25hbWUpOworCisJdF9iZWdpbiA9IGdldG5hbm90aW1lKCk7CisKIAlpZiAoIWZvcm1hdF90cmFja2luZ19pbmZvKGJyYW5jaCwgJnNiLCBzLT5haGVhZF9iZWhpbmRfZmxhZ3MpKQogCQlyZXR1cm47CiAKKwlpZiAoYWR2aWNlX3N0YXR1c19haGVhZF9iZWhpbmRfd2FybmluZyAmJgorCSAgICBzLT5haGVhZF9iZWhpbmRfZmxhZ3MgPT0gQUhFQURfQkVISU5EX0ZVTEwpIHsKKwkJdWludDY0X3QgdF9kZWx0YV9pbl9tcyA9IChnZXRuYW5vdGltZSgpIC0gdF9iZWdpbikgLyAxMDAwMDAwOworCQlpZiAodF9kZWx0YV9pbl9tcyA+IEFCX0RFTEFZX1dBUk5JTkdfSU5fTVMpIHsKKwkJCXN0cmJ1Zl9hZGRmKCZzYiwgXygiXG4iCisJCQkJCSAgICJJdCB0b29rICUuMmYgc2Vjb25kcyB0byBjb21wdXRlIHRoZSBicmFuY2ggYWhlYWQvYmVoaW5kIHZhbHVlcy5cbiIKKwkJCQkJICAgIllvdSBjYW4gdXNlICctLW5vLWFoZWFkLWJlaGluZCcgdG8gYXZvaWQgdGhpcy5cbiIpLAorCQkJCSAgICB0X2RlbHRhX2luX21zIC8gMTAwMC4wKTsKKwkJfQorCX0KKwogCWkgPSAwOwogCWlmIChzLT5kaXNwbGF5X2NvbW1lbnRfcHJlZml4KSB7CiAJCWNvbW1lbnRfbGluZV9zdHJpbmdbaSsrXSA9IGNvbW1lbnRfbGluZV9jaGFyOwpAQCAtMTE5Myw3ICsxMjQwLDkgQEAKIAlpbnQgaTsKIAogCWlmIChzdGFydHNfd2l0aChsaW5lLT5idWYsICJleGVjICIpIHx8Ci0JICAgIHN0YXJ0c193aXRoKGxpbmUtPmJ1ZiwgInggIikpCisJICAgIHN0YXJ0c193aXRoKGxpbmUtPmJ1ZiwgInggIikgfHwKKwkgICAgc3RhcnRzX3dpdGgobGluZS0+YnVmLCAibGFiZWwgIikgfHwKKwkgICAgc3RhcnRzX3dpdGgobGluZS0+YnVmLCAibCAiKSkKIAkJcmV0dXJuOwogCiAJc3BsaXQgPSBzdHJidWZfc3BsaXRfbWF4KGxpbmUsICcgJywgMyk7CkBAIC0xMzI2LDcgKzEzNzUsNyBAQAogCQkJCV8oIiAgKHVzZSBcImdpdCByZWJhc2UgLS1hYm9ydFwiIHRvIGNoZWNrIG91dCB0aGUgb3JpZ2luYWwgYnJhbmNoKSIpKTsKIAkJfQogCX0gZWxzZSBpZiAocy0+c3RhdGUucmViYXNlX2luX3Byb2dyZXNzIHx8Ci0JCSAgICFzdGF0KGdpdF9wYXRoX21lcmdlX21zZyh0aGVfcmVwb3NpdG9yeSksICZzdCkpIHsKKwkJICAgIXN0YXQoZ2l0X3BhdGhfbWVyZ2VfbXNnKHMtPnJlcG8pLCAmc3QpKSB7CiAJCXByaW50X3JlYmFzZV9zdGF0ZShzLCBjb2xvcik7CiAJCWlmIChzLT5oaW50cykKIAkJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCkBAIC0xMzY1LDE2ICsxNDE0LDI4IEBACiBzdGF0aWMgdm9pZCBzaG93X2NoZXJyeV9waWNrX2luX3Byb2dyZXNzKHN0cnVjdCB3dF9zdGF0dXMgKnMsCiAJCQkJCSBjb25zdCBjaGFyICpjb2xvcikKIHsKLQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLCBfKCJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIiksCi0JCQlmaW5kX3VuaXF1ZV9hYmJyZXYoJnMtPnN0YXRlLmNoZXJyeV9waWNrX2hlYWRfb2lkLCBERUZBVUxUX0FCQlJFVikpOworCWlmIChpc19udWxsX29pZCgmcy0+c3RhdGUuY2hlcnJ5X3BpY2tfaGVhZF9vaWQpKQorCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAorCQkJXygiQ2hlcnJ5LXBpY2sgY3VycmVudGx5IGluIHByb2dyZXNzLiIpKTsKKwllbHNlCisJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCisJCQlfKCJZb3UgYXJlIGN1cnJlbnRseSBjaGVycnktcGlja2luZyBjb21taXQgJXMuIiksCisJCQlmaW5kX3VuaXF1ZV9hYmJyZXYoJnMtPnN0YXRlLmNoZXJyeV9waWNrX2hlYWRfb2lkLAorCQkJCQkgICBERUZBVUxUX0FCQlJFVikpOworCiAJaWYgKHMtPmhpbnRzKSB7CiAJCWlmIChoYXNfdW5tZXJnZWQocykpCiAJCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAogCQkJCV8oIiAgKGZpeCBjb25mbGljdHMgYW5kIHJ1biBcImdpdCBjaGVycnktcGljayAtLWNvbnRpbnVlXCIpIikpOworCQllbHNlIGlmIChpc19udWxsX29pZCgmcy0+c3RhdGUuY2hlcnJ5X3BpY2tfaGVhZF9vaWQpKQorCQkJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwKKwkJCQlfKCIgIChydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiIHRvIGNvbnRpbnVlKSIpKTsKIAkJZWxzZQogCQkJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwKIAkJCQlfKCIgIChhbGwgY29uZmxpY3RzIGZpeGVkOiBydW4gXCJnaXQgY2hlcnJ5LXBpY2sgLS1jb250aW51ZVwiKSIpKTsKIAkJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwKKwkJCV8oIiAgKHVzZSBcImdpdCBjaGVycnktcGljayAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIikpOworCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAogCQkJXygiICAodXNlIFwiZ2l0IGNoZXJyeS1waWNrIC0tYWJvcnRcIiB0byBjYW5jZWwgdGhlIGNoZXJyeS1waWNrIG9wZXJhdGlvbikiKSk7CiAJfQogCXd0X2xvbmdzdGF0dXNfcHJpbnRfdHJhaWxlcihzKTsKQEAgLTEzODMsMTYgKzE0NDQsMjcgQEAKIHN0YXRpYyB2b2lkIHNob3dfcmV2ZXJ0X2luX3Byb2dyZXNzKHN0cnVjdCB3dF9zdGF0dXMgKnMsCiAJCQkJICAgIGNvbnN0IGNoYXIgKmNvbG9yKQogewotCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsIF8oIllvdSBhcmUgY3VycmVudGx5IHJldmVydGluZyBjb21taXQgJXMuIiksCi0JCQkgZmluZF91bmlxdWVfYWJicmV2KCZzLT5zdGF0ZS5yZXZlcnRfaGVhZF9vaWQsIERFRkFVTFRfQUJCUkVWKSk7CisJaWYgKGlzX251bGxfb2lkKCZzLT5zdGF0ZS5yZXZlcnRfaGVhZF9vaWQpKQorCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAorCQkJXygiUmV2ZXJ0IGN1cnJlbnRseSBpbiBwcm9ncmVzcy4iKSk7CisJZWxzZQorCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAorCQkJXygiWW91IGFyZSBjdXJyZW50bHkgcmV2ZXJ0aW5nIGNvbW1pdCAlcy4iKSwKKwkJCWZpbmRfdW5pcXVlX2FiYnJldigmcy0+c3RhdGUucmV2ZXJ0X2hlYWRfb2lkLAorCQkJCQkgICBERUZBVUxUX0FCQlJFVikpOwogCWlmIChzLT5oaW50cykgewogCQlpZiAoaGFzX3VubWVyZ2VkKHMpKQogCQkJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwKIAkJCQlfKCIgIChmaXggY29uZmxpY3RzIGFuZCBydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIikiKSk7CisJCWVsc2UgaWYgKGlzX251bGxfb2lkKCZzLT5zdGF0ZS5yZXZlcnRfaGVhZF9vaWQpKQorCQkJc3RhdHVzX3ByaW50Zl9sbihzLCBjb2xvciwKKwkJCQlfKCIgIChydW4gXCJnaXQgcmV2ZXJ0IC0tY29udGludWVcIiB0byBjb250aW51ZSkiKSk7CiAJCWVsc2UKIAkJCXN0YXR1c19wcmludGZfbG4ocywgY29sb3IsCiAJCQkJXygiICAoYWxsIGNvbmZsaWN0cyBmaXhlZDogcnVuIFwiZ2l0IHJldmVydCAtLWNvbnRpbnVlXCIpIikpOwogCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAorCQkJXygiICAodXNlIFwiZ2l0IHJldmVydCAtLXNraXBcIiB0byBza2lwIHRoaXMgcGF0Y2gpIikpOworCQlzdGF0dXNfcHJpbnRmX2xuKHMsIGNvbG9yLAogCQkJXygiICAodXNlIFwiZ2l0IHJldmVydCAtLWFib3J0XCIgdG8gY2FuY2VsIHRoZSByZXZlcnQgb3BlcmF0aW9uKSIpKTsKIAl9CiAJd3RfbG9uZ3N0YXR1c19wcmludF90cmFpbGVyKHMpOwpAQCAtMTQ3OCw3ICsxNTUwLDggQEAKIAlyZXR1cm4gMTsKIH0KIAotc3RhdGljIHZvaWQgd3Rfc3RhdHVzX2dldF9kZXRhY2hlZF9mcm9tKHN0cnVjdCB3dF9zdGF0dXNfc3RhdGUgKnN0YXRlKQorc3RhdGljIHZvaWQgd3Rfc3RhdHVzX2dldF9kZXRhY2hlZF9mcm9tKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJCQlzdHJ1Y3Qgd3Rfc3RhdHVzX3N0YXRlICpzdGF0ZSkKIHsKIAlzdHJ1Y3QgZ3JhYl8xc3Rfc3dpdGNoX2NiZGF0YSBjYjsKIAlzdHJ1Y3QgY29tbWl0ICpjb21taXQ7CkBAIC0xNDk1LDcgKzE1NjgsNyBAQAogCSAgICAvKiBzaGExIGlzIGEgY29tbWl0PyBtYXRjaCB3aXRob3V0IGZ1cnRoZXIgbG9va3VwICovCiAJICAgIChvaWRlcSgmY2Iubm9pZCwgJm9pZCkgfHwKIAkgICAgIC8qIHBlcmhhcHMgc2hhMSBpcyBhIHRhZywgdHJ5IHRvIGRlcmVmZXJlbmNlIHRvIGEgY29tbWl0ICovCi0JICAgICAoKGNvbW1pdCA9IGxvb2t1cF9jb21taXRfcmVmZXJlbmNlX2dlbnRseSh0aGVfcmVwb3NpdG9yeSwgJm9pZCwgMSkpICE9IE5VTEwgJiYKKwkgICAgICgoY29tbWl0ID0gbG9va3VwX2NvbW1pdF9yZWZlcmVuY2VfZ2VudGx5KHIsICZvaWQsIDEpKSAhPSBOVUxMICYmCiAJICAgICAgb2lkZXEoJmNiLm5vaWQsICZjb21taXQtPm9iamVjdC5vaWQpKSkpIHsKIAkJY29uc3QgY2hhciAqZnJvbSA9IHJlZjsKIAkJaWYgKCFza2lwX3ByZWZpeChmcm9tLCAicmVmcy90YWdzLyIsICZmcm9tKSkKQEAgLTE1NTIsMzEgKzE2MjUsNDEgQEAKIAlyZXR1cm4gMDsKIH0KIAotdm9pZCB3dF9zdGF0dXNfZ2V0X3N0YXRlKHN0cnVjdCB3dF9zdGF0dXNfc3RhdGUgKnN0YXRlLAordm9pZCB3dF9zdGF0dXNfZ2V0X3N0YXRlKHN0cnVjdCByZXBvc2l0b3J5ICpyLAorCQkJIHN0cnVjdCB3dF9zdGF0dXNfc3RhdGUgKnN0YXRlLAogCQkJIGludCBnZXRfZGV0YWNoZWRfZnJvbSkKIHsKIAlzdHJ1Y3Qgc3RhdCBzdDsKIAlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZDsKKwllbnVtIHJlcGxheV9hY3Rpb24gYWN0aW9uOwogCi0JaWYgKCFzdGF0KGdpdF9wYXRoX21lcmdlX2hlYWQodGhlX3JlcG9zaXRvcnkpLCAmc3QpKSB7CisJaWYgKCFzdGF0KGdpdF9wYXRoX21lcmdlX2hlYWQociksICZzdCkpIHsKIAkJd3Rfc3RhdHVzX2NoZWNrX3JlYmFzZShOVUxMLCBzdGF0ZSk7CiAJCXN0YXRlLT5tZXJnZV9pbl9wcm9ncmVzcyA9IDE7CiAJfSBlbHNlIGlmICh3dF9zdGF0dXNfY2hlY2tfcmViYXNlKE5VTEwsIHN0YXRlKSkgewogCQk7CQkvKiBhbGwgc2V0ICovCi0JfSBlbHNlIGlmICghc3RhdChnaXRfcGF0aF9jaGVycnlfcGlja19oZWFkKHRoZV9yZXBvc2l0b3J5KSwgJnN0KSAmJgorCX0gZWxzZSBpZiAoIXN0YXQoZ2l0X3BhdGhfY2hlcnJ5X3BpY2tfaGVhZChyKSwgJnN0KSAmJgogCQkJIWdldF9vaWQoIkNIRVJSWV9QSUNLX0hFQUQiLCAmb2lkKSkgewogCQlzdGF0ZS0+Y2hlcnJ5X3BpY2tfaW5fcHJvZ3Jlc3MgPSAxOwogCQlvaWRjcHkoJnN0YXRlLT5jaGVycnlfcGlja19oZWFkX29pZCwgJm9pZCk7CiAJfQogCXd0X3N0YXR1c19jaGVja19iaXNlY3QoTlVMTCwgc3RhdGUpOwotCWlmICghc3RhdChnaXRfcGF0aF9yZXZlcnRfaGVhZCh0aGVfcmVwb3NpdG9yeSksICZzdCkgJiYKKwlpZiAoIXN0YXQoZ2l0X3BhdGhfcmV2ZXJ0X2hlYWQociksICZzdCkgJiYKIAkgICAgIWdldF9vaWQoIlJFVkVSVF9IRUFEIiwgJm9pZCkpIHsKIAkJc3RhdGUtPnJldmVydF9pbl9wcm9ncmVzcyA9IDE7CiAJCW9pZGNweSgmc3RhdGUtPnJldmVydF9oZWFkX29pZCwgJm9pZCk7CiAJfQotCisJaWYgKCFzZXF1ZW5jZXJfZ2V0X2xhc3RfY29tbWFuZChyLCAmYWN0aW9uKSkgeworCQlpZiAoYWN0aW9uID09IFJFUExBWV9QSUNLKSB7CisJCQlzdGF0ZS0+Y2hlcnJ5X3BpY2tfaW5fcHJvZ3Jlc3MgPSAxOworCQkJb2lkY3B5KCZzdGF0ZS0+Y2hlcnJ5X3BpY2tfaGVhZF9vaWQsICZudWxsX29pZCk7CisJCX0gZWxzZSB7CisJCQlzdGF0ZS0+cmV2ZXJ0X2luX3Byb2dyZXNzID0gMTsKKwkJCW9pZGNweSgmc3RhdGUtPnJldmVydF9oZWFkX29pZCwgJm51bGxfb2lkKTsKKwkJfQorCX0KIAlpZiAoZ2V0X2RldGFjaGVkX2Zyb20pCi0JCXd0X3N0YXR1c19nZXRfZGV0YWNoZWRfZnJvbShzdGF0ZSk7CisJCXd0X3N0YXR1c19nZXRfZGV0YWNoZWRfZnJvbShyLCBzdGF0ZSk7CiB9CiAKIHN0YXRpYyB2b2lkIHd0X2xvbmdzdGF0dXNfcHJpbnRfc3RhdGUoc3RydWN0IHd0X3N0YXR1cyAqcykKQEAgLTE2MjIsOSArMTcwNSw5IEBACiAJCQl9IGVsc2UgaWYgKHMtPnN0YXRlLmRldGFjaGVkX2Zyb20pIHsKIAkJCQlicmFuY2hfbmFtZSA9IHMtPnN0YXRlLmRldGFjaGVkX2Zyb207CiAJCQkJaWYgKHMtPnN0YXRlLmRldGFjaGVkX2F0KQotCQkJCQlvbl93aGF0ID0gXygiSEVBRCBkZXRhY2hlZCBhdCAiKTsKKwkJCQkJb25fd2hhdCA9IEhFQURfREVUQUNIRURfQVQ7CiAJCQkJZWxzZQotCQkJCQlvbl93aGF0ID0gXygiSEVBRCBkZXRhY2hlZCBmcm9tICIpOworCQkJCQlvbl93aGF0ID0gSEVBRF9ERVRBQ0hFRF9GUk9NOwogCQkJfSBlbHNlIHsKIAkJCQlicmFuY2hfbmFtZSA9ICIiOwogCQkJCW9uX3doYXQgPSBfKCJOb3QgY3VycmVudGx5IG9uIGFueSBicmFuY2guIik7CkBAIC0xODM0LDcgKzE5MTcsNyBAQAogCWNvbG9yX2ZwcmludGYocy0+ZnAsIGJyYW5jaF9jb2xvcl9sb2NhbCwgIiVzIiwgYnJhbmNoX25hbWUpOwogCiAJc3RpID0gc3RhdF90cmFja2luZ19pbmZvKGJyYW5jaCwgJm51bV9vdXJzLCAmbnVtX3RoZWlycywgJmJhc2UsCi0JCQkJIHMtPmFoZWFkX2JlaGluZF9mbGFncyk7CisJCQkJIDAsIHMtPmFoZWFkX2JlaGluZF9mbGFncyk7CiAJaWYgKHN0aSA8IDApIHsKIAkJaWYgKCFiYXNlKQogCQkJZ290byBjb25jbHVkZTsKQEAgLTE5NDYsNyArMjAyOSw3IEBACiAJY2hhciBlb2wgPSBzLT5udWxsX3Rlcm1pbmF0aW9uID8gJ1wwJyA6ICdcbic7CiAKIAlmcHJpbnRmKHMtPmZwLCAiIyBicmFuY2gub2lkICVzJWMiLAotCQkJKHMtPmlzX2luaXRpYWwgPyAiKGluaXRpYWwpIiA6IHNoYTFfdG9faGV4KHMtPnNoYTFfY29tbWl0KSksCisJCQkocy0+aXNfaW5pdGlhbCA/ICIoaW5pdGlhbCkiIDogb2lkX3RvX2hleCgmcy0+b2lkX2NvbW1pdCkpLAogCQkJZW9sKTsKIAogCWlmICghcy0+YnJhbmNoKQpAQCAtMTk3Myw3ICsyMDU2LDcgQEAKIAkJYnJhbmNoID0gYnJhbmNoX2dldChicmFuY2hfbmFtZSk7CiAJCWJhc2UgPSBOVUxMOwogCQlhYl9pbmZvID0gc3RhdF90cmFja2luZ19pbmZvKGJyYW5jaCwgJm5yX2FoZWFkLCAmbnJfYmVoaW5kLAotCQkJCQkgICAgICZiYXNlLCBzLT5haGVhZF9iZWhpbmRfZmxhZ3MpOworCQkJCQkgICAgICZiYXNlLCAwLCBzLT5haGVhZF9iZWhpbmRfZmxhZ3MpOwogCQlpZiAoYmFzZSkgewogCQkJYmFzZSA9IHNob3J0ZW5fdW5hbWJpZ3VvdXNfcmVmKGJhc2UsIDApOwogCQkJZnByaW50ZihzLT5mcCwgIiMgYnJhbmNoLnVwc3RyZWFtICVzJWMiLCBiYXNlLCBlb2wpOwpAQCAtMjAyMiw5ICsyMTA1LDcgQEAKIC8qCiAgKiBGaXgtdXAgY2hhbmdlZCBlbnRyaWVzIGJlZm9yZSB3ZSBwcmludCB0aGVtLgogICovCi1zdGF0aWMgdm9pZCB3dF9wb3JjZWxhaW5fdjJfZml4X3VwX2NoYW5nZWQoCi0Jc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0LAotCXN0cnVjdCB3dF9zdGF0dXMgKnMpCitzdGF0aWMgdm9pZCB3dF9wb3JjZWxhaW5fdjJfZml4X3VwX2NoYW5nZWQoc3RydWN0IHN0cmluZ19saXN0X2l0ZW0gKml0KQogewogCXN0cnVjdCB3dF9zdGF0dXNfY2hhbmdlX2RhdGEgKmQgPSBpdC0+dXRpbDsKIApAQCAtMjA4NCw3ICsyMTY1LDcgQEAKIAljaGFyIHN1Ym1vZHVsZV90b2tlbls1XTsKIAljaGFyIHNlcF9jaGFyLCBlb2xfY2hhcjsKIAotCXd0X3BvcmNlbGFpbl92Ml9maXhfdXBfY2hhbmdlZChpdCwgcyk7CisJd3RfcG9yY2VsYWluX3YyX2ZpeF91cF9jaGFuZ2VkKGl0KTsKIAl3dF9wb3JjZWxhaW5fdjJfc3VibW9kdWxlX3N0YXRlKGQsIHN1Ym1vZHVsZV90b2tlbik7CiAKIAlrZXlbMF0gPSBkLT5pbmRleF9zdGF0dXMgPyBkLT5pbmRleF9zdGF0dXMgOiAnLic7CkBAIC0yMTQwLDYgKzIyMjEsNyBAQAogCXN0cnVjdCB3dF9zdGF0dXMgKnMpCiB7CiAJc3RydWN0IHd0X3N0YXR1c19jaGFuZ2VfZGF0YSAqZCA9IGl0LT51dGlsOworCXN0cnVjdCBpbmRleF9zdGF0ZSAqaXN0YXRlID0gcy0+cmVwby0+aW5kZXg7CiAJY29uc3Qgc3RydWN0IGNhY2hlX2VudHJ5ICpjZTsKIAlzdHJ1Y3Qgc3RyYnVmIGJ1Zl9pbmRleCA9IFNUUkJVRl9JTklUOwogCWNvbnN0IGNoYXIgKnBhdGhfaW5kZXggPSBOVUxMOwpAQCAtMjE3OCwxMSArMjI2MCwxMSBAQAogCSAqLwogCW1lbXNldChzdGFnZXMsIDAsIHNpemVvZihzdGFnZXMpKTsKIAlzdW0gPSAwOwotCXBvcyA9IGNhY2hlX25hbWVfcG9zKGl0LT5zdHJpbmcsIHN0cmxlbihpdC0+c3RyaW5nKSk7CisJcG9zID0gaW5kZXhfbmFtZV9wb3MoaXN0YXRlLCBpdC0+c3RyaW5nLCBzdHJsZW4oaXQtPnN0cmluZykpOwogCWFzc2VydChwb3MgPCAwKTsKIAlwb3MgPSAtcG9zLTE7Ci0Jd2hpbGUgKHBvcyA8IGFjdGl2ZV9ucikgewotCQljZSA9IGFjdGl2ZV9jYWNoZVtwb3MrK107CisJd2hpbGUgKHBvcyA8IGlzdGF0ZS0+Y2FjaGVfbnIpIHsKKwkJY2UgPSBpc3RhdGUtPmNhY2hlW3BvcysrXTsKIAkJc3RhZ2UgPSBjZV9zdGFnZShjZSk7CiAJCWlmIChzdHJjbXAoY2UtPm5hbWUsIGl0LT5zdHJpbmcpIHx8ICFzdGFnZSkKIAkJCWJyZWFrOwpAQCAtMjI4NCw2ICsyMzY2LDEzIEBACiAKIHZvaWQgd3Rfc3RhdHVzX3ByaW50KHN0cnVjdCB3dF9zdGF0dXMgKnMpCiB7CisJdHJhY2UyX2RhdGFfaW50bWF4KCJzdGF0dXMiLCBzLT5yZXBvLCAiY291bnQvY2hhbmdlZCIsIHMtPmNoYW5nZS5ucik7CisJdHJhY2UyX2RhdGFfaW50bWF4KCJzdGF0dXMiLCBzLT5yZXBvLCAiY291bnQvdW50cmFja2VkIiwKKwkJCSAgIHMtPnVudHJhY2tlZC5ucik7CisJdHJhY2UyX2RhdGFfaW50bWF4KCJzdGF0dXMiLCBzLT5yZXBvLCAiY291bnQvaWdub3JlZCIsIHMtPmlnbm9yZWQubnIpOworCisJdHJhY2UyX3JlZ2lvbl9lbnRlcigic3RhdHVzIiwgInByaW50Iiwgcy0+cmVwbyk7CisKIAlzd2l0Y2ggKHMtPnN0YXR1c19mb3JtYXQpIHsKIAljYXNlIFNUQVRVU19GT1JNQVRfU0hPUlQ6CiAJCXd0X3Nob3J0c3RhdHVzX3ByaW50KHMpOwpAQCAtMjMwMiwxNyArMjM5MSwxOSBAQAogCQl3dF9sb25nc3RhdHVzX3ByaW50KHMpOwogCQlicmVhazsKIAl9CisKKwl0cmFjZTJfcmVnaW9uX2xlYXZlKCJzdGF0dXMiLCAicHJpbnQiLCBzLT5yZXBvKTsKIH0KIAogLyoqCiAgKiBSZXR1cm5zIDEgaWYgdGhlcmUgYXJlIHVuc3RhZ2VkIGNoYW5nZXMsIDAgb3RoZXJ3aXNlLgogICovCi1pbnQgaGFzX3Vuc3RhZ2VkX2NoYW5nZXMoaW50IGlnbm9yZV9zdWJtb2R1bGVzKQoraW50IGhhc191bnN0YWdlZF9jaGFuZ2VzKHN0cnVjdCByZXBvc2l0b3J5ICpyLCBpbnQgaWdub3JlX3N1Ym1vZHVsZXMpCiB7CiAJc3RydWN0IHJldl9pbmZvIHJldl9pbmZvOwogCWludCByZXN1bHQ7CiAKLQlyZXBvX2luaXRfcmV2aXNpb25zKHRoZV9yZXBvc2l0b3J5LCAmcmV2X2luZm8sIE5VTEwpOworCXJlcG9faW5pdF9yZXZpc2lvbnMociwgJnJldl9pbmZvLCBOVUxMKTsKIAlpZiAoaWdub3JlX3N1Ym1vZHVsZXMpIHsKIAkJcmV2X2luZm8uZGlmZm9wdC5mbGFncy5pZ25vcmVfc3VibW9kdWxlcyA9IDE7CiAJCXJldl9pbmZvLmRpZmZvcHQuZmxhZ3Mub3ZlcnJpZGVfc3VibW9kdWxlX2NvbmZpZyA9IDE7CkBAIC0yMzI2LDE1ICsyNDE3LDE2IEBACiAvKioKICAqIFJldHVybnMgMSBpZiB0aGVyZSBhcmUgdW5jb21taXR0ZWQgY2hhbmdlcywgMCBvdGhlcndpc2UuCiAgKi8KLWludCBoYXNfdW5jb21taXR0ZWRfY2hhbmdlcyhpbnQgaWdub3JlX3N1Ym1vZHVsZXMpCitpbnQgaGFzX3VuY29tbWl0dGVkX2NoYW5nZXMoc3RydWN0IHJlcG9zaXRvcnkgKnIsCisJCQkgICAgaW50IGlnbm9yZV9zdWJtb2R1bGVzKQogewogCXN0cnVjdCByZXZfaW5mbyByZXZfaW5mbzsKIAlpbnQgcmVzdWx0OwogCi0JaWYgKGlzX2NhY2hlX3VuYm9ybigpKQorCWlmIChpc19pbmRleF91bmJvcm4oci0+aW5kZXgpKQogCQlyZXR1cm4gMDsKIAotCXJlcG9faW5pdF9yZXZpc2lvbnModGhlX3JlcG9zaXRvcnksICZyZXZfaW5mbywgTlVMTCk7CisJcmVwb19pbml0X3JldmlzaW9ucyhyLCAmcmV2X2luZm8sIE5VTEwpOwogCWlmIChpZ25vcmVfc3VibW9kdWxlcykKIAkJcmV2X2luZm8uZGlmZm9wdC5mbGFncy5pZ25vcmVfc3VibW9kdWxlcyA9IDE7CiAJcmV2X2luZm8uZGlmZm9wdC5mbGFncy5xdWljayA9IDE7CkBAIC0yMzQ1LDcgKzI0MzcsNyBAQAogCQkgKiBXZSBoYXZlIG5vIGhlYWQgKG9yIGl0J3MgY29ycnVwdCk7IHVzZSB0aGUgZW1wdHkgdHJlZSwKIAkJICogd2hpY2ggd2lsbCBjb21wbGFpbiBpZiB0aGUgaW5kZXggaXMgbm9uLWVtcHR5LgogCQkgKi8KLQkJc3RydWN0IHRyZWUgKnRyZWUgPSBsb29rdXBfdHJlZSh0aGVfcmVwb3NpdG9yeSwgdGhlX2hhc2hfYWxnby0+ZW1wdHlfdHJlZSk7CisJCXN0cnVjdCB0cmVlICp0cmVlID0gbG9va3VwX3RyZWUociwgdGhlX2hhc2hfYWxnby0+ZW1wdHlfdHJlZSk7CiAJCWFkZF9wZW5kaW5nX29iamVjdCgmcmV2X2luZm8sICZ0cmVlLT5vYmplY3QsICIiKTsKIAl9CiAKQEAgLTIzNTgsMjQgKzI0NTAsMjggQEAKICAqIElmIHRoZSB3b3JrIHRyZWUgaGFzIHVuc3RhZ2VkIG9yIHVuY29tbWl0dGVkIGNoYW5nZXMsIGRpZXMgd2l0aCB0aGUKICAqIGFwcHJvcHJpYXRlIG1lc3NhZ2UuCiAgKi8KLWludCByZXF1aXJlX2NsZWFuX3dvcmtfdHJlZShjb25zdCBjaGFyICphY3Rpb24sIGNvbnN0IGNoYXIgKmhpbnQsIGludCBpZ25vcmVfc3VibW9kdWxlcywgaW50IGdlbnRseSkKK2ludCByZXF1aXJlX2NsZWFuX3dvcmtfdHJlZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwKKwkJCSAgICBjb25zdCBjaGFyICphY3Rpb24sCisJCQkgICAgY29uc3QgY2hhciAqaGludCwKKwkJCSAgICBpbnQgaWdub3JlX3N1Ym1vZHVsZXMsCisJCQkgICAgaW50IGdlbnRseSkKIHsKIAlzdHJ1Y3QgbG9ja19maWxlIGxvY2tfZmlsZSA9IExPQ0tfSU5JVDsKIAlpbnQgZXJyID0gMCwgZmQ7CiAKLQlmZCA9IGhvbGRfbG9ja2VkX2luZGV4KCZsb2NrX2ZpbGUsIDApOwotCXJlZnJlc2hfY2FjaGUoUkVGUkVTSF9RVUlFVCk7CisJZmQgPSByZXBvX2hvbGRfbG9ja2VkX2luZGV4KHIsICZsb2NrX2ZpbGUsIDApOworCXJlZnJlc2hfaW5kZXgoci0+aW5kZXgsIFJFRlJFU0hfUVVJRVQsIE5VTEwsIE5VTEwsIE5VTEwpOwogCWlmICgwIDw9IGZkKQotCQl1cGRhdGVfaW5kZXhfaWZfYWJsZSgmdGhlX2luZGV4LCAmbG9ja19maWxlKTsKKwkJcmVwb191cGRhdGVfaW5kZXhfaWZfYWJsZShyLCAmbG9ja19maWxlKTsKIAlyb2xsYmFja19sb2NrX2ZpbGUoJmxvY2tfZmlsZSk7CiAKLQlpZiAoaGFzX3Vuc3RhZ2VkX2NoYW5nZXMoaWdub3JlX3N1Ym1vZHVsZXMpKSB7CisJaWYgKGhhc191bnN0YWdlZF9jaGFuZ2VzKHIsIGlnbm9yZV9zdWJtb2R1bGVzKSkgewogCQkvKiBUUkFOU0xBVE9SUzogdGhlIGFjdGlvbiBpcyBlLmcuICJwdWxsIHdpdGggcmViYXNlIiAqLwogCQllcnJvcihfKCJjYW5ub3QgJXM6IFlvdSBoYXZlIHVuc3RhZ2VkIGNoYW5nZXMuIiksIF8oYWN0aW9uKSk7CiAJCWVyciA9IDE7CiAJfQogCi0JaWYgKGhhc191bmNvbW1pdHRlZF9jaGFuZ2VzKGlnbm9yZV9zdWJtb2R1bGVzKSkgeworCWlmIChoYXNfdW5jb21taXR0ZWRfY2hhbmdlcyhyLCBpZ25vcmVfc3VibW9kdWxlcykpIHsKIAkJaWYgKGVycikKIAkJCWVycm9yKF8oImFkZGl0aW9uYWxseSwgeW91ciBpbmRleCBjb250YWlucyB1bmNvbW1pdHRlZCBjaGFuZ2VzLiIpKTsKIAkJZWxzZQpkaWZmIC0tZ2l0IGEvd3Qtc3RhdHVzLmggYi93dC1zdGF0dXMuaAppbmRleCAxZmNmOTNhLi43MWMzZjI1IDEwMDY0NAotLS0gYS93dC1zdGF0dXMuaAorKysgYi93dC1zdGF0dXMuaApAQCAtMSwxMiArMSwxMiBAQAogI2lmbmRlZiBTVEFUVVNfSAogI2RlZmluZSBTVEFUVVNfSAogCi0jaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlICJzdHJpbmctbGlzdC5oIgogI2luY2x1ZGUgImNvbG9yLmgiCiAjaW5jbHVkZSAicGF0aHNwZWMuaCIKICNpbmNsdWRlICJyZW1vdGUuaCIKIAorc3RydWN0IHJlcG9zaXRvcnk7CiBzdHJ1Y3Qgd29ya3RyZWU7CiAKIGVudW0gY29sb3Jfd3Rfc3RhdHVzIHsKQEAgLTY0LDYgKzY0LDkgQEAKIAlTVEFUVVNfRk9STUFUX1VOU1BFQ0lGSUVECiB9OwogCisjZGVmaW5lIEhFQURfREVUQUNIRURfQVQgXygiSEVBRCBkZXRhY2hlZCBhdCAiKQorI2RlZmluZSBIRUFEX0RFVEFDSEVEX0ZST00gXygiSEVBRCBkZXRhY2hlZCBmcm9tICIpCisKIHN0cnVjdCB3dF9zdGF0dXNfc3RhdGUgewogCWludCBtZXJnZV9pbl9wcm9ncmVzczsKIAlpbnQgYW1faW5fcHJvZ3Jlc3M7CkBAIC04Myw2ICs4Niw3IEBACiB9OwogCiBzdHJ1Y3Qgd3Rfc3RhdHVzIHsKKwlzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbzsKIAlpbnQgaXNfaW5pdGlhbDsKIAljaGFyICpicmFuY2g7CiAJY29uc3QgY2hhciAqcmVmZXJlbmNlOwpAQCAtMTEyLDcgKzExNiw3IEBACiAJaW50IHJlbmFtZV9saW1pdDsKIAllbnVtIHd0X3N0YXR1c19mb3JtYXQgc3RhdHVzX2Zvcm1hdDsKIAlzdHJ1Y3Qgd3Rfc3RhdHVzX3N0YXRlIHN0YXRlOwotCXVuc2lnbmVkIGNoYXIgc2hhMV9jb21taXRbR0lUX01BWF9SQVdTWl07IC8qIHdoZW4gbm90IEluaXRpYWwgKi8KKwlzdHJ1Y3Qgb2JqZWN0X2lkIG9pZF9jb21taXQ7IC8qIHdoZW4gbm90IEluaXRpYWwgKi8KIAogCS8qIFRoZXNlIGFyZSBjb21wdXRlZCBkdXJpbmcgcHJvY2Vzc2luZyBvZiB0aGUgaW5kaXZpZHVhbCBzZWN0aW9ucyAqLwogCWludCBjb21taXR0YWJsZTsKQEAgLTEyNywxMiArMTMxLDE1IEBACiB9OwogCiBzaXplX3Qgd3Rfc3RhdHVzX2xvY2F0ZV9lbmQoY29uc3QgY2hhciAqcywgc2l6ZV90IGxlbik7Cit2b2lkIHd0X3N0YXR1c19hcHBlbmRfY3V0X2xpbmUoc3RydWN0IHN0cmJ1ZiAqYnVmKTsKIHZvaWQgd3Rfc3RhdHVzX2FkZF9jdXRfbGluZShGSUxFICpmcCk7Ci12b2lkIHd0X3N0YXR1c19wcmVwYXJlKHN0cnVjdCB3dF9zdGF0dXMgKnMpOwordm9pZCB3dF9zdGF0dXNfcHJlcGFyZShzdHJ1Y3QgcmVwb3NpdG9yeSAqciwgc3RydWN0IHd0X3N0YXR1cyAqcyk7CiB2b2lkIHd0X3N0YXR1c19wcmludChzdHJ1Y3Qgd3Rfc3RhdHVzICpzKTsKIHZvaWQgd3Rfc3RhdHVzX2NvbGxlY3Qoc3RydWN0IHd0X3N0YXR1cyAqcyk7CiB2b2lkIHd0X3N0YXR1c19jb2xsZWN0X2ZyZWVfYnVmZmVycyhzdHJ1Y3Qgd3Rfc3RhdHVzICpzKTsKLXZvaWQgd3Rfc3RhdHVzX2dldF9zdGF0ZShzdHJ1Y3Qgd3Rfc3RhdHVzX3N0YXRlICpzdGF0ZSwgaW50IGdldF9kZXRhY2hlZF9mcm9tKTsKK3ZvaWQgd3Rfc3RhdHVzX2dldF9zdGF0ZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCSBzdHJ1Y3Qgd3Rfc3RhdHVzX3N0YXRlICpzdGF0ZSwKKwkJCSBpbnQgZ2V0X2RldGFjaGVkX2Zyb20pOwogaW50IHd0X3N0YXR1c19jaGVja19yZWJhc2UoY29uc3Qgc3RydWN0IHdvcmt0cmVlICp3dCwKIAkJCSAgIHN0cnVjdCB3dF9zdGF0dXNfc3RhdGUgKnN0YXRlKTsKIGludCB3dF9zdGF0dXNfY2hlY2tfYmlzZWN0KGNvbnN0IHN0cnVjdCB3b3JrdHJlZSAqd3QsCkBAIC0xNDQsOSArMTUxLDE0IEBACiB2b2lkIHN0YXR1c19wcmludGYoc3RydWN0IHd0X3N0YXR1cyAqcywgY29uc3QgY2hhciAqY29sb3IsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKIAogLyogVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgZXhwZWN0IHRoYXQgdGhlIGNhbGxlciB0b29rIGNhcmUgb2YgcmVhZGluZyB0aGUgaW5kZXguICovCi1pbnQgaGFzX3Vuc3RhZ2VkX2NoYW5nZXMoaW50IGlnbm9yZV9zdWJtb2R1bGVzKTsKLWludCBoYXNfdW5jb21taXR0ZWRfY2hhbmdlcyhpbnQgaWdub3JlX3N1Ym1vZHVsZXMpOwotaW50IHJlcXVpcmVfY2xlYW5fd29ya190cmVlKGNvbnN0IGNoYXIgKmFjdGlvbiwgY29uc3QgY2hhciAqaGludCwKLQlpbnQgaWdub3JlX3N1Ym1vZHVsZXMsIGludCBnZW50bHkpOworaW50IGhhc191bnN0YWdlZF9jaGFuZ2VzKHN0cnVjdCByZXBvc2l0b3J5ICpyZXBvLAorCQkJIGludCBpZ25vcmVfc3VibW9kdWxlcyk7CitpbnQgaGFzX3VuY29tbWl0dGVkX2NoYW5nZXMoc3RydWN0IHJlcG9zaXRvcnkgKnJlcG8sCisJCQkgICAgaW50IGlnbm9yZV9zdWJtb2R1bGVzKTsKK2ludCByZXF1aXJlX2NsZWFuX3dvcmtfdHJlZShzdHJ1Y3QgcmVwb3NpdG9yeSAqcmVwbywKKwkJCSAgICBjb25zdCBjaGFyICphY3Rpb24sCisJCQkgICAgY29uc3QgY2hhciAqaGludCwKKwkJCSAgICBpbnQgaWdub3JlX3N1Ym1vZHVsZXMsCisJCQkgICAgaW50IGdlbnRseSk7CiAKICNlbmRpZiAvKiBTVEFUVVNfSCAqLwpkaWZmIC0tZ2l0IGEveGRpZmYtaW50ZXJmYWNlLmMgYi94ZGlmZi1pbnRlcmZhY2UuYwppbmRleCA4MGYwNjBkLi40ZDIwMDY5IDEwMDY0NAotLS0gYS94ZGlmZi1pbnRlcmZhY2UuYworKysgYi94ZGlmZi1pbnRlcmZhY2UuYwpAQCAtODQsOCArODQsOCBAQAogewogCWNvbnN0IGludCBibGsgPSAxMDI0OwogCWxvbmcgdHJpbW1lZCA9IDAsIHJlY292ZXJlZCA9IDA7Ci0JY2hhciAqYXAgPSBhLT5wdHIgKyBhLT5zaXplOwotCWNoYXIgKmJwID0gYi0+cHRyICsgYi0+c2l6ZTsKKwljaGFyICphcCA9IGEtPnNpemUgPyBhLT5wdHIgKyBhLT5zaXplIDogYS0+cHRyOworCWNoYXIgKmJwID0gYi0+c2l6ZSA/IGItPnB0ciArIGItPnNpemUgOiBiLT5wdHI7CiAJbG9uZyBzbWFsbGVyID0gKGEtPnNpemUgPCBiLT5zaXplKSA/IGEtPnNpemUgOiBiLT5zaXplOwogCiAJd2hpbGUgKGJsayArIHRyaW1tZWQgPD0gc21hbGxlciAmJiAhbWVtY21wKGFwIC0gYmxrLCBicCAtIGJsaywgYmxrKSkgewpAQCAtMjUwLDkgKzI1MCwxMyBAQAogCUFMTE9DX0FSUkFZKHJlZ3MtPmFycmF5LCByZWdzLT5ucik7CiAJZm9yIChpID0gMDsgaSA8IHJlZ3MtPm5yOyBpKyspIHsKIAkJc3RydWN0IGZmX3JlZyAqcmVnID0gcmVncy0+YXJyYXkgKyBpOwotCQljb25zdCBjaGFyICplcCA9IHN0cmNocih2YWx1ZSwgJ1xuJyksICpleHByZXNzaW9uOworCQljb25zdCBjaGFyICplcCwgKmV4cHJlc3Npb247CiAJCWNoYXIgKmJ1ZmZlciA9IE5VTEw7CiAKKwkJaWYgKCF2YWx1ZSkKKwkJCUJVRygibWlzbWF0Y2ggYmV0d2VlbiBsaW5lIGNvdW50IGFuZCBwYXJzaW5nIik7CisJCWVwID0gc3RyY2hyKHZhbHVlLCAnXG4nKTsKKwogCQlyZWctPm5lZ2F0ZSA9ICgqdmFsdWUgPT0gJyEnKTsKIAkJaWYgKHJlZy0+bmVnYXRlICYmIGkgPT0gcmVncy0+bnIgLSAxKQogCQkJZGllKCJMYXN0IGV4cHJlc3Npb24gbXVzdCBub3QgYmUgbmVnYXRlZDogJXMiLCB2YWx1ZSk7CkBAIC0yNjUsNyArMjY5LDcgQEAKIAkJaWYgKHJlZ2NvbXAoJnJlZy0+cmUsIGV4cHJlc3Npb24sIGNmbGFncykpCiAJCQlkaWUoIkludmFsaWQgcmVnZXhwIHRvIGxvb2sgZm9yIGh1bmsgaGVhZGVyOiAlcyIsIGV4cHJlc3Npb24pOwogCQlmcmVlKGJ1ZmZlcik7Ci0JCXZhbHVlID0gZXAgKyAxOworCQl2YWx1ZSA9IGVwID8gZXAgKyAxIDogTlVMTDsKIAl9CiB9CiAKQEAgLTMwNiw2ICszMTAsMTAgQEAKIAkJCWdpdF94bWVyZ2Vfc3R5bGUgPSBYRExfTUVSR0VfRElGRjM7CiAJCWVsc2UgaWYgKCFzdHJjbXAodmFsdWUsICJtZXJnZSIpKQogCQkJZ2l0X3htZXJnZV9zdHlsZSA9IDA7CisJCS8qCisJCSAqIFBsZWFzZSB1cGRhdGUgX2dpdF9jaGVja291dCgpIGluCisJCSAqIGdpdC1jb21wbGV0aW9uLmJhc2ggd2hlbiB5b3UgYWRkIG5ldyBtZXJnZSBjb25maWcKKwkJICovCiAJCWVsc2UKIAkJCWRpZSgidW5rbm93biBzdHlsZSAnJXMnIGdpdmVuIGZvciAnJXMnIiwKIAkJCSAgICB2YWx1ZSwgdmFyKTsKZGlmZiAtLWdpdCBhL3hkaWZmLWludGVyZmFjZS5oIGIveGRpZmYtaW50ZXJmYWNlLmgKaW5kZXggMmQ0MWZmZi4uOTNkZjI2OSAxMDA2NDQKLS0tIGEveGRpZmYtaW50ZXJmYWNlLmgKKysrIGIveGRpZmYtaW50ZXJmYWNlLmgKQEAgLTI3LDkgKzI3LDkgQEAKIHZvaWQgcmVhZF9tbWJsb2IobW1maWxlX3QgKnB0ciwgY29uc3Qgc3RydWN0IG9iamVjdF9pZCAqb2lkKTsKIGludCBidWZmZXJfaXNfYmluYXJ5KGNvbnN0IGNoYXIgKnB0ciwgdW5zaWduZWQgbG9uZyBzaXplKTsKIAotZXh0ZXJuIHZvaWQgeGRpZmZfc2V0X2ZpbmRfZnVuYyh4ZGVtaXRjb25mX3QgKnhlY2ZnLCBjb25zdCBjaGFyICpsaW5lLCBpbnQgY2ZsYWdzKTsKLWV4dGVybiB2b2lkIHhkaWZmX2NsZWFyX2ZpbmRfZnVuYyh4ZGVtaXRjb25mX3QgKnhlY2ZnKTsKLWV4dGVybiBpbnQgZ2l0X3htZXJnZV9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpOwordm9pZCB4ZGlmZl9zZXRfZmluZF9mdW5jKHhkZW1pdGNvbmZfdCAqeGVjZmcsIGNvbnN0IGNoYXIgKmxpbmUsIGludCBjZmxhZ3MpOwordm9pZCB4ZGlmZl9jbGVhcl9maW5kX2Z1bmMoeGRlbWl0Y29uZl90ICp4ZWNmZyk7CitpbnQgZ2l0X3htZXJnZV9jb25maWcoY29uc3QgY2hhciAqdmFyLCBjb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqY2IpOwogZXh0ZXJuIGludCBnaXRfeG1lcmdlX3N0eWxlOwogCiAvKgpAQCAtNDQsMTYgKzQ0LDE2IEBACiAgKiBDb21wYXJlIHRoZSBzdHJpbmdzIGwxIHdpdGggbDIgd2hpY2ggYXJlIG9mIHNpemUgczEgYW5kIHMyIHJlc3BlY3RpdmVseS4KICAqIFJldHVybnMgMSBpZiB0aGUgc3RyaW5ncyBhcmUgZGVlbWVkIGVxdWFsLCAwIG90aGVyd2lzZS4KICAqIFRoZSBgZmxhZ3NgIGdpdmVuIGFzIFhERl9XSElURVNQQUNFX0ZMQUdTIGRldGVybWluZSBob3cgd2hpdGUgc3BhY2VzCi0gKiBhcmUgdHJlYXRlZCBmb3IgdGhlIGNvbXBhcmlzaW9uLgorICogYXJlIHRyZWF0ZWQgZm9yIHRoZSBjb21wYXJpc29uLgogICovCi1leHRlcm4gaW50IHhkaWZmX2NvbXBhcmVfbGluZXMoY29uc3QgY2hhciAqbDEsIGxvbmcgczEsCi0JCQkgICAgICAgY29uc3QgY2hhciAqbDIsIGxvbmcgczIsIGxvbmcgZmxhZ3MpOworaW50IHhkaWZmX2NvbXBhcmVfbGluZXMoY29uc3QgY2hhciAqbDEsIGxvbmcgczEsCisJCQljb25zdCBjaGFyICpsMiwgbG9uZyBzMiwgbG9uZyBmbGFncyk7CiAKIC8qCiAgKiBSZXR1cm5zIGEgaGFzaCBvZiB0aGUgc3RyaW5nIHMgb2YgbGVuZ3RoIGxlbi4KICAqIFRoZSBgZmxhZ3NgIGdpdmVuIGFzIFhERl9XSElURVNQQUNFX0ZMQUdTIGRldGVybWluZSBob3cgd2hpdGUgc3BhY2VzCiAgKiBhcmUgdHJlYXRlZCBmb3IgdGhlIGhhc2guCiAgKi8KLWV4dGVybiB1bnNpZ25lZCBsb25nIHhkaWZmX2hhc2hfc3RyaW5nKGNvbnN0IGNoYXIgKnMsIHNpemVfdCBsZW4sIGxvbmcgZmxhZ3MpOwordW5zaWduZWQgbG9uZyB4ZGlmZl9oYXNoX3N0cmluZyhjb25zdCBjaGFyICpzLCBzaXplX3QgbGVuLCBsb25nIGZsYWdzKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS94ZGlmZi94ZGlmZi5oIGIveGRpZmYveGRpZmYuaAppbmRleCBiMTU4MzY5Li4wMzJlM2E5IDEwMDY0NAotLS0gYS94ZGlmZi94ZGlmZi5oCisrKyBiL3hkaWZmL3hkaWZmLmgKQEAgLTExMyw5ICsxMTMsOSBAQAogfSBiZGlmZnBhcmFtX3Q7CiAKIAotI2RlZmluZSB4ZGxfbWFsbG9jKHgpIG1hbGxvYyh4KQorI2RlZmluZSB4ZGxfbWFsbG9jKHgpIHhtYWxsb2MoeCkKICNkZWZpbmUgeGRsX2ZyZWUocHRyKSBmcmVlKHB0cikKLSNkZWZpbmUgeGRsX3JlYWxsb2MocHRyLHgpIHJlYWxsb2MocHRyLHgpCisjZGVmaW5lIHhkbF9yZWFsbG9jKHB0cix4KSB4cmVhbGxvYyhwdHIseCkKIAogdm9pZCAqeGRsX21tZmlsZV9maXJzdChtbWZpbGVfdCAqbW1mLCBsb25nICpzaXplKTsKIGxvbmcgeGRsX21tZmlsZV9zaXplKG1tZmlsZV90ICptbWYpOwpkaWZmIC0tZ2l0IGEveGRpZmYveGRpZmZpLmMgYi94ZGlmZi94ZGlmZmkuYwppbmRleCAxZjFmNGEzLi5iZDAzNTEzIDEwMDY0NAotLS0gYS94ZGlmZi94ZGlmZmkuYworKysgYi94ZGlmZi94ZGlmZmkuYwpAQCAtMzgsOSArMzgsOSBAQAogICogQmFzaWNhbGx5IGNvbnNpZGVycyBhICJib3giIChvZmYxLCBvZmYyLCBsaW0xLCBsaW0yKSBhbmQgc2NhbiBmcm9tIGJvdGgKICAqIHRoZSBmb3J3YXJkIGRpYWdvbmFsIHN0YXJ0aW5nIGZyb20gKG9mZjEsIG9mZjIpIGFuZCB0aGUgYmFja3dhcmQgZGlhZ29uYWwKICAqIHN0YXJ0aW5nIGZyb20gKGxpbTEsIGxpbTIpLiBJZiB0aGUgSyB2YWx1ZXMgb24gdGhlIHNhbWUgZGlhZ29uYWwgY3Jvc3NlcwotICogcmV0dXJucyB0aGUgZnVydGhlc3QgcG9pbnQgb2YgcmVhY2guIFdlIG1pZ2h0IGVuZCB1cCBoYXZpbmcgdG8gZXhwZW5zaXZlCi0gKiBjYXNlcyB1c2luZyB0aGlzIGFsZ29yaXRobSBpcyBmdWxsLCBzbyBhIGxpdHRsZSBiaXQgb2YgaGV1cmlzdGljIGlzIG5lZWRlZAotICogdG8gY3V0IHRoZSBzZWFyY2ggYW5kIHRvIHJldHVybiBhIHN1Ym9wdGltYWwgcG9pbnQuCisgKiByZXR1cm5zIHRoZSBmdXJ0aGVzdCBwb2ludCBvZiByZWFjaC4gV2UgbWlnaHQgZW5jb3VudGVyIGV4cGVuc2l2ZSBlZGdlIGNhc2VzCisgKiB1c2luZyB0aGlzIGFsZ29yaXRobSwgc28gYSBsaXR0bGUgYml0IG9mIGhldXJpc3RpYyBpcyBuZWVkZWQgdG8gY3V0IHRoZQorICogc2VhcmNoIGFuZCB0byByZXR1cm4gYSBzdWJvcHRpbWFsIHBvaW50LgogICovCiBzdGF0aWMgbG9uZyB4ZGxfc3BsaXQodW5zaWduZWQgbG9uZyBjb25zdCAqaGExLCBsb25nIG9mZjEsIGxvbmcgbGltMSwKIAkJICAgICAgdW5zaWduZWQgbG9uZyBjb25zdCAqaGEyLCBsb25nIG9mZjIsIGxvbmcgbGltMiwKQEAgLTYzLDExICs2MywxMyBAQAogCQlpbnQgZ290X3NuYWtlID0gMDsKIAogCQkvKgotCQkgKiBXZSBuZWVkIHRvIGV4dGVudCB0aGUgZGlhZ29uYWwgImRvbWFpbiIgYnkgb25lLiBJZiB0aGUgbmV4dAorCQkgKiBXZSBuZWVkIHRvIGV4dGVuZCB0aGUgZGlhZ29uYWwgImRvbWFpbiIgYnkgb25lLiBJZiB0aGUgbmV4dAogCQkgKiB2YWx1ZXMgZXhpdHMgdGhlIGJveCBib3VuZGFyaWVzIHdlIG5lZWQgdG8gY2hhbmdlIGl0IGluIHRoZQotCQkgKiBvcHBvc2l0ZSBkaXJlY3Rpb24gYmVjYXVzZSAobWF4IC0gbWluKSBtdXN0IGJlIGEgcG93ZXIgb2YgdHdvLgorCQkgKiBvcHBvc2l0ZSBkaXJlY3Rpb24gYmVjYXVzZSAobWF4IC0gbWluKSBtdXN0IGJlIGEgcG93ZXIgb2YKKwkJICogdHdvLgorCQkgKgogCQkgKiBBbHNvIHdlIGluaXRpYWxpemUgdGhlIGV4dGVybmFsIEsgdmFsdWUgdG8gLTEgc28gdGhhdCB3ZSBjYW4KLQkJICogYXZvaWQgZXh0cmEgY29uZGl0aW9ucyBjaGVjayBpbnNpZGUgdGhlIGNvcmUgbG9vcC4KKwkJICogYXZvaWQgZXh0cmEgY29uZGl0aW9ucyBpbiB0aGUgY2hlY2sgaW5zaWRlIHRoZSBjb3JlIGxvb3AuCiAJCSAqLwogCQlpZiAoZm1pbiA+IGRtaW4pCiAJCQlrdmRmWy0tZm1pbiAtIDFdID0gLTE7CkBAIC05OCwxMSArMTAwLDEzIEBACiAJCX0KIAogCQkvKgotCQkgKiBXZSBuZWVkIHRvIGV4dGVudCB0aGUgZGlhZ29uYWwgImRvbWFpbiIgYnkgb25lLiBJZiB0aGUgbmV4dAorCQkgKiBXZSBuZWVkIHRvIGV4dGVuZCB0aGUgZGlhZ29uYWwgImRvbWFpbiIgYnkgb25lLiBJZiB0aGUgbmV4dAogCQkgKiB2YWx1ZXMgZXhpdHMgdGhlIGJveCBib3VuZGFyaWVzIHdlIG5lZWQgdG8gY2hhbmdlIGl0IGluIHRoZQotCQkgKiBvcHBvc2l0ZSBkaXJlY3Rpb24gYmVjYXVzZSAobWF4IC0gbWluKSBtdXN0IGJlIGEgcG93ZXIgb2YgdHdvLgorCQkgKiBvcHBvc2l0ZSBkaXJlY3Rpb24gYmVjYXVzZSAobWF4IC0gbWluKSBtdXN0IGJlIGEgcG93ZXIgb2YKKwkJICogdHdvLgorCQkgKgogCQkgKiBBbHNvIHdlIGluaXRpYWxpemUgdGhlIGV4dGVybmFsIEsgdmFsdWUgdG8gLTEgc28gdGhhdCB3ZSBjYW4KLQkJICogYXZvaWQgZXh0cmEgY29uZGl0aW9ucyBjaGVjayBpbnNpZGUgdGhlIGNvcmUgbG9vcC4KKwkJICogYXZvaWQgZXh0cmEgY29uZGl0aW9ucyBpbiB0aGUgY2hlY2sgaW5zaWRlIHRoZSBjb3JlIGxvb3AuCiAJCSAqLwogCQlpZiAoYm1pbiA+IGRtaW4pCiAJCQlrdmRiWy0tYm1pbiAtIDFdID0gWERMX0xJTkVfTUFYOwpAQCAtMTM4LDcgKzE0Miw3IEBACiAJCS8qCiAJCSAqIElmIHRoZSBlZGl0IGNvc3QgaXMgYWJvdmUgdGhlIGhldXJpc3RpYyB0cmlnZ2VyIGFuZCBpZgogCQkgKiB3ZSBnb3QgYSBnb29kIHNuYWtlLCB3ZSBzYW1wbGUgY3VycmVudCBkaWFnb25hbHMgdG8gc2VlCi0JCSAqIGlmIHNvbWUgb2YgdGhlLCBoYXZlIHJlYWNoZWQgYW4gImludGVyZXN0aW5nIiBwYXRoLiBPdXIKKwkJICogaWYgc29tZSBvZiB0aGVtIGhhdmUgcmVhY2hlZCBhbiAiaW50ZXJlc3RpbmciIHBhdGguIE91cgogCQkgKiBtZWFzdXJlIGlzIGEgZnVuY3Rpb24gb2YgdGhlIGRpc3RhbmNlIGZyb20gdGhlIGRpYWdvbmFsCiAJCSAqIGNvcm5lciAoaTEgKyBpMikgcGVuYWxpemVkIHdpdGggdGhlIGRpc3RhbmNlIGZyb20gdGhlCiAJCSAqIG1pZCBkaWFnb25hbCBpdHNlbGYuIElmIHRoaXMgdmFsdWUgaXMgYWJvdmUgdGhlIGN1cnJlbnQKQEAgLTE5Niw4ICsyMDAsOSBAQAogCQl9CiAKIAkJLyoKLQkJICogRW5vdWdoIGlzIGVub3VnaC4gV2Ugc3BlbnQgdG9vIG11Y2ggdGltZSBoZXJlIGFuZCBub3cgd2UgY29sbGVjdAotCQkgKiB0aGUgZnVydGhlc3QgcmVhY2hpbmcgcGF0aCB1c2luZyB0aGUgKGkxICsgaTIpIG1lYXN1cmUuCisJCSAqIEVub3VnaCBpcyBlbm91Z2guIFdlIHNwZW50IHRvbyBtdWNoIHRpbWUgaGVyZSBhbmQgbm93IHdlCisJCSAqIGNvbGxlY3QgdGhlIGZ1cnRoZXN0IHJlYWNoaW5nIHBhdGggdXNpbmcgdGhlIChpMSArIGkyKQorCQkgKiBtZWFzdXJlLgogCQkgKi8KIAkJaWYgKGVjID49IHhlbnYtPm14Y29zdCkgewogCQkJbG9uZyBmYmVzdCwgZmJlc3QxLCBiYmVzdCwgYmJlc3QxOwpAQCAtMjQ0LDkgKzI0OSw5IEBACiAKIAogLyoKLSAqIFJ1bGU6ICJEaXZpZGUgZXQgSW1wZXJhIi4gUmVjdXJzaXZlbHkgc3BsaXQgdGhlIGJveCBpbiBzdWItYm94ZXMgYnkgY2FsbGluZwotICogdGhlIGJveCBzcGxpdHRpbmcgZnVuY3Rpb24uIE5vdGUgdGhhdCB0aGUgcmVhbCBqb2IgKG1hcmtpbmcgY2hhbmdlZCBsaW5lcykKLSAqIGlzIGRvbmUgaW4gdGhlIHR3byBib3VuZGFyeSByZWFjaGluZyBjaGVja3MuCisgKiBSdWxlOiAiRGl2aWRlIGV0IEltcGVyYSIgKGRpdmlkZSAmIGNvbnF1ZXIpLiBSZWN1cnNpdmVseSBzcGxpdCB0aGUgYm94IGluCisgKiBzdWItYm94ZXMgYnkgY2FsbGluZyB0aGUgYm94IHNwbGl0dGluZyBmdW5jdGlvbi4gTm90ZSB0aGF0IHRoZSByZWFsIGpvYgorICogKG1hcmtpbmcgY2hhbmdlZCBsaW5lcykgaXMgZG9uZSBpbiB0aGUgdHdvIGJvdW5kYXJ5IHJlYWNoaW5nIGNoZWNrcy4KICAqLwogaW50IHhkbF9yZWNzX2NtcChkaWZmZGF0YV90ICpkZDEsIGxvbmcgb2ZmMSwgbG9uZyBsaW0xLAogCQkgZGlmZmRhdGFfdCAqZGQyLCBsb25nIG9mZjIsIGxvbmcgbGltMiwKQEAgLTMyMyw3ICszMjgsOSBAQAogCX0KIAogCS8qCi0JICogQWxsb2NhdGUgYW5kIHNldHVwIEsgdmVjdG9ycyB0byBiZSB1c2VkIGJ5IHRoZSBkaWZmZXJlbnRpYWwgYWxnb3JpdGhtLgorCSAqIEFsbG9jYXRlIGFuZCBzZXR1cCBLIHZlY3RvcnMgdG8gYmUgdXNlZCBieSB0aGUgZGlmZmVyZW50aWFsCisJICogYWxnb3JpdGhtLgorCSAqCiAJICogT25lIGlzIHRvIHN0b3JlIHRoZSBmb3J3YXJkIHBhdGggYW5kIG9uZSB0byBzdG9yZSB0aGUgYmFja3dhcmQgcGF0aC4KIAkgKi8KIAluZGlhZ3MgPSB4ZS0+eGRmMS5ucmVmZiArIHhlLT54ZGYyLm5yZWZmICsgMzsKQEAgLTM5NCw4ICs0MDEsOCBAQAogLyoKICAqIElmIGEgbGluZSBpcyBpbmRlbnRlZCBtb3JlIHRoYW4gdGhpcywgZ2V0X2luZGVudCgpIGp1c3QgcmV0dXJucyB0aGlzIHZhbHVlLgogICogVGhpcyBhdm9pZHMgaGF2aW5nIHRvIGRvIGFic3VyZCBhbW91bnRzIG9mIHdvcmsgZm9yIGRhdGEgdGhhdCBhcmUgbm90Ci0gKiBodW1hbi1yZWFkYWJsZSB0ZXh0LCBhbmQgYWxzbyBlbnN1cmVzIHRoYXQgdGhlIG91dHB1dCBvZiBnZXRfaW5kZW50IGZpdHMgd2l0aGluCi0gKiBhbiBpbnQuCisgKiBodW1hbi1yZWFkYWJsZSB0ZXh0LCBhbmQgYWxzbyBlbnN1cmVzIHRoYXQgdGhlIG91dHB1dCBvZiBnZXRfaW5kZW50IGZpdHMKKyAqIHdpdGhpbiBhbiBpbnQuCiAgKi8KICNkZWZpbmUgTUFYX0lOREVOVCAyMDAKIApAQCAtNDI5LDkgKzQzNiw5IEBACiB9CiAKIC8qCi0gKiBJZiBtb3JlIHRoYW4gdGhpcyBudW1iZXIgb2YgY29uc2VjdXRpdmUgYmxhbmsgcm93cyBhcmUgZm91bmQsIGp1c3QgcmV0dXJuIHRoaXMKLSAqIHZhbHVlLiBUaGlzIGF2b2lkcyByZXF1aXJpbmcgTyhOXjIpIHdvcmsgZm9yIHBhdGhvbG9naWNhbCBjYXNlcywgYW5kIGFsc28KLSAqIGVuc3VyZXMgdGhhdCB0aGUgb3V0cHV0IG9mIHNjb3JlX3NwbGl0IGZpdHMgaW4gYW4gaW50LgorICogSWYgbW9yZSB0aGFuIHRoaXMgbnVtYmVyIG9mIGNvbnNlY3V0aXZlIGJsYW5rIHJvd3MgYXJlIGZvdW5kLCBqdXN0IHJldHVybgorICogdGhpcyB2YWx1ZS4gVGhpcyBhdm9pZHMgcmVxdWlyaW5nIE8oTl4yKSB3b3JrIGZvciBwYXRob2xvZ2ljYWwgY2FzZXMsIGFuZAorICogYWxzbyBlbnN1cmVzIHRoYXQgdGhlIG91dHB1dCBvZiBzY29yZV9zcGxpdCBmaXRzIGluIGFuIGludC4KICAqLwogI2RlZmluZSBNQVhfQkxBTktTIDIwCiAKQEAgLTQ0Myw4ICs0NTAsOCBAQAogCWludCBlbmRfb2ZfZmlsZTsKIAogCS8qCi0JICogSG93IG11Y2ggaXMgdGhlIGxpbmUgaW1tZWRpYXRlbHkgZm9sbG93aW5nIHRoZSBzcGxpdCBpbmRlbnRlZCAob3IgLTEgaWYKLQkgKiB0aGUgbGluZSBpcyBibGFuayk6CisJICogSG93IG11Y2ggaXMgdGhlIGxpbmUgaW1tZWRpYXRlbHkgZm9sbG93aW5nIHRoZSBzcGxpdCBpbmRlbnRlZCAob3IgLTEKKwkgKiBpZiB0aGUgbGluZSBpcyBibGFuayk6CiAJICovCiAJaW50IGluZGVudDsKIApAQCAtNDU0LDggKzQ2MSw4IEBACiAJaW50IHByZV9ibGFuazsKIAogCS8qCi0JICogSG93IG11Y2ggaXMgdGhlIG5lYXJlc3Qgbm9uLWJsYW5rIGxpbmUgYWJvdmUgdGhlIHNwbGl0IGluZGVudGVkIChvciAtMQotCSAqIGlmIHRoZXJlIGlzIG5vIHN1Y2ggbGluZSk/CisJICogSG93IG11Y2ggaXMgdGhlIG5lYXJlc3Qgbm9uLWJsYW5rIGxpbmUgYWJvdmUgdGhlIHNwbGl0IGluZGVudGVkIChvcgorCSAqIC0xIGlmIHRoZXJlIGlzIG5vIHN1Y2ggbGluZSk/CiAJICovCiAJaW50IHByZV9pbmRlbnQ7CiAKQEAgLTU4MSwxMyArNTg4LDEzIEBACiAKIC8qCiAgKiBDb21wdXRlIGEgYmFkbmVzcyBzY29yZSBmb3IgdGhlIGh5cG90aGV0aWNhbCBzcGxpdCB3aG9zZSBtZWFzdXJlbWVudHMgYXJlCi0gKiBzdG9yZWQgaW4gbS4gVGhlIHdlaWdodCBmYWN0b3JzIHdlcmUgZGV0ZXJtaW5lZCBlbXBpcmljYWxseSB1c2luZyB0aGUgdG9vbHMgYW5kCi0gKiBjb3JwdXMgZGVzY3JpYmVkIGluCisgKiBzdG9yZWQgaW4gbS4gVGhlIHdlaWdodCBmYWN0b3JzIHdlcmUgZGV0ZXJtaW5lZCBlbXBpcmljYWxseSB1c2luZyB0aGUgdG9vbHMKKyAqIGFuZCBjb3JwdXMgZGVzY3JpYmVkIGluCiAgKgogICogICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9taGFnZ2VyL2RpZmYtc2xpZGVyLXRvb2xzCiAgKgotICogQWxzbyBzZWUgdGhhdCBwcm9qZWN0IGlmIHlvdSB3YW50IHRvIGltcHJvdmUgdGhlIHdlaWdodHMgYmFzZWQgb24sIGZvciBleGFtcGxlLAotICogYSBsYXJnZXIgb3IgbW9yZSBkaXZlcnNlIGNvcnB1cy4KKyAqIEFsc28gc2VlIHRoYXQgcHJvamVjdCBpZiB5b3Ugd2FudCB0byBpbXByb3ZlIHRoZSB3ZWlnaHRzIGJhc2VkIG9uLCBmb3IKKyAqIGV4YW1wbGUsIGEgbGFyZ2VyIG9yIG1vcmUgZGl2ZXJzZSBjb3JwdXMuCiAgKi8KIHN0YXRpYyB2b2lkIHNjb3JlX2FkZF9zcGxpdChjb25zdCBzdHJ1Y3Qgc3BsaXRfbWVhc3VyZW1lbnQgKm0sIHN0cnVjdCBzcGxpdF9zY29yZSAqcykKIHsKQEAgLTgwOSwxMyArODE2LDE2IEBACiAJZ3JvdXBfaW5pdCh4ZGZvLCAmZ28pOwogCiAJd2hpbGUgKDEpIHsKLQkJLyogSWYgdGhlIGdyb3VwIGlzIGVtcHR5IGluIHRoZSB0by1iZS1jb21wYWN0ZWQgZmlsZSwgc2tpcCBpdDogKi8KKwkJLyoKKwkJICogSWYgdGhlIGdyb3VwIGlzIGVtcHR5IGluIHRoZSB0by1iZS1jb21wYWN0ZWQgZmlsZSwgc2tpcCBpdDoKKwkJICovCiAJCWlmIChnLmVuZCA9PSBnLnN0YXJ0KQogCQkJZ290byBuZXh0OwogCiAJCS8qCiAJCSAqIE5vdyBzaGlmdCB0aGUgY2hhbmdlIHVwIGFuZCB0aGVuIGRvd24gYXMgZmFyIGFzIHBvc3NpYmxlIGluCi0JCSAqIGVhY2ggZGlyZWN0aW9uLiBJZiBpdCBidW1wcyBpbnRvIGFueSBvdGhlciBjaGFuZ2VzLCBtZXJnZSB0aGVtLgorCQkgKiBlYWNoIGRpcmVjdGlvbi4gSWYgaXQgYnVtcHMgaW50byBhbnkgb3RoZXIgY2hhbmdlcywgbWVyZ2UKKwkJICogdGhlbS4KIAkJICovCiAJCWRvIHsKIAkJCWdyb3Vwc2l6ZSA9IGcuZW5kIC0gZy5zdGFydDsKQEAgLTg1OCwxNyArODY4LDE3IEBACiAJCSAqIElmIHRoZSBncm91cCBjYW4gYmUgc2hpZnRlZCwgdGhlbiB3ZSBjYW4gcG9zc2libHkgdXNlIHRoaXMKIAkJICogZnJlZWRvbSB0byBwcm9kdWNlIGEgbW9yZSBpbnR1aXRpdmUgZGlmZi4KIAkJICoKLQkJICogVGhlIGdyb3VwIGlzIGN1cnJlbnRseSBzaGlmdGVkIGFzIGZhciBkb3duIGFzIHBvc3NpYmxlLCBzbyB0aGUKLQkJICogaGV1cmlzdGljcyBiZWxvdyBvbmx5IGhhdmUgdG8gaGFuZGxlIHVwd2FyZHMgc2hpZnRzLgorCQkgKiBUaGUgZ3JvdXAgaXMgY3VycmVudGx5IHNoaWZ0ZWQgYXMgZmFyIGRvd24gYXMgcG9zc2libGUsIHNvCisJCSAqIHRoZSBoZXVyaXN0aWNzIGJlbG93IG9ubHkgaGF2ZSB0byBoYW5kbGUgdXB3YXJkcyBzaGlmdHMuCiAJCSAqLwogCiAJCWlmIChnLmVuZCA9PSBlYXJsaWVzdF9lbmQpIHsKIAkJCS8qIG5vIHNoaWZ0aW5nIHdhcyBwb3NzaWJsZSAqLwogCQl9IGVsc2UgaWYgKGVuZF9tYXRjaGluZ19vdGhlciAhPSAtMSkgewogCQkJLyoKLQkJCSAqIE1vdmUgdGhlIHBvc3NpYmx5IG1lcmdlZCBncm91cCBvZiBjaGFuZ2VzIGJhY2sgdG8gbGluZQotCQkJICogdXAgd2l0aCB0aGUgbGFzdCBncm91cCBvZiBjaGFuZ2VzIGZyb20gdGhlIG90aGVyIGZpbGUKLQkJCSAqIHRoYXQgaXQgY2FuIGFsaWduIHdpdGguCisJCQkgKiBNb3ZlIHRoZSBwb3NzaWJseSBtZXJnZWQgZ3JvdXAgb2YgY2hhbmdlcyBiYWNrIHRvCisJCQkgKiBsaW5lIHVwIHdpdGggdGhlIGxhc3QgZ3JvdXAgb2YgY2hhbmdlcyBmcm9tIHRoZQorCQkJICogb3RoZXIgZmlsZSB0aGF0IGl0IGNhbiBhbGlnbiB3aXRoLgogCQkJICovCiAJCQl3aGlsZSAoZ28uZW5kID09IGdvLnN0YXJ0KSB7CiAJCQkJaWYgKGdyb3VwX3NsaWRlX3VwKHhkZiwgJmcsIGZsYWdzKSkKQEAgLTg3OSwxNCArODg5LDE1IEBACiAJCX0gZWxzZSBpZiAoZmxhZ3MgJiBYREZfSU5ERU5UX0hFVVJJU1RJQykgewogCQkJLyoKIAkJCSAqIEluZGVudCBoZXVyaXN0aWM6IGEgZ3JvdXAgb2YgcHVyZSBhZGQvZGVsZXRlIGxpbmVzCi0JCQkgKiBpbXBsaWVzIHR3byBzcGxpdHMsIG9uZSBiZXR3ZWVuIHRoZSBlbmQgb2YgdGhlICJiZWZvcmUiCi0JCQkgKiBjb250ZXh0IGFuZCB0aGUgc3RhcnQgb2YgdGhlIGdyb3VwLCBhbmQgYW5vdGhlciBiZXR3ZWVuCi0JCQkgKiB0aGUgZW5kIG9mIHRoZSBncm91cCBhbmQgdGhlIGJlZ2lubmluZyBvZiB0aGUgImFmdGVyIgotCQkJICogY29udGV4dC4gU29tZSBzcGxpdHMgYXJlIGFlc3RoZXRpY2FsbHkgYmV0dGVyIGFuZCBzb21lCi0JCQkgKiBhcmUgd29yc2UuIFdlIGNvbXB1dGUgYSBiYWRuZXNzICJzY29yZSIgZm9yIGVhY2ggc3BsaXQsCi0JCQkgKiBhbmQgYWRkIHRoZSBzY29yZXMgZm9yIHRoZSB0d28gc3BsaXRzIHRvIGRlZmluZSBhCi0JCQkgKiAic2NvcmUiIGZvciBlYWNoIHBvc2l0aW9uIHRoYXQgdGhlIGdyb3VwIGNhbiBiZSBzaGlmdGVkCi0JCQkgKiB0by4gVGhlbiB3ZSBwaWNrIHRoZSBzaGlmdCB3aXRoIHRoZSBsb3dlc3Qgc2NvcmUuCisJCQkgKiBpbXBsaWVzIHR3byBzcGxpdHMsIG9uZSBiZXR3ZWVuIHRoZSBlbmQgb2YgdGhlCisJCQkgKiAiYmVmb3JlIiBjb250ZXh0IGFuZCB0aGUgc3RhcnQgb2YgdGhlIGdyb3VwLCBhbmQKKwkJCSAqIGFub3RoZXIgYmV0d2VlbiB0aGUgZW5kIG9mIHRoZSBncm91cCBhbmQgdGhlCisJCQkgKiBiZWdpbm5pbmcgb2YgdGhlICJhZnRlciIgY29udGV4dC4gU29tZSBzcGxpdHMgYXJlCisJCQkgKiBhZXN0aGV0aWNhbGx5IGJldHRlciBhbmQgc29tZSBhcmUgd29yc2UuIFdlIGNvbXB1dGUKKwkJCSAqIGEgYmFkbmVzcyAic2NvcmUiIGZvciBlYWNoIHNwbGl0LCBhbmQgYWRkIHRoZSBzY29yZXMKKwkJCSAqIGZvciB0aGUgdHdvIHNwbGl0cyB0byBkZWZpbmUgYSAic2NvcmUiIGZvciBlYWNoCisJCQkgKiBwb3NpdGlvbiB0aGF0IHRoZSBncm91cCBjYW4gYmUgc2hpZnRlZCB0by4gVGhlbiB3ZQorCQkJICogcGljayB0aGUgc2hpZnQgd2l0aCB0aGUgbG93ZXN0IHNjb3JlLgogCQkJICovCiAJCQlsb25nIHNoaWZ0LCBiZXN0X3NoaWZ0ID0gLTE7CiAJCQlzdHJ1Y3Qgc3BsaXRfc2NvcmUgYmVzdF9zY29yZTsKZGlmZiAtLWdpdCBhL3hkaWZmL3hlbWl0LmMgYi94ZGlmZi94ZW1pdC5jCmluZGV4IDc3NzhkYzIuLjlkN2Q2YzUgMTAwNjQ0Ci0tLSBhL3hkaWZmL3hlbWl0LmMKKysrIGIveGRpZmYveGVtaXQuYwpAQCAtMTcyLDEwICsxNzIsMTIgQEAKIAlzdHJ1Y3QgZnVuY19saW5lIGZ1bmNfbGluZSA9IHsgMCB9OwogCiAJZm9yICh4Y2ggPSB4c2NyOyB4Y2g7IHhjaCA9IHhjaGUtPm5leHQpIHsKKwkJeGRjaGFuZ2VfdCAqeGNocCA9IHhjaDsKIAkJeGNoZSA9IHhkbF9nZXRfaHVuaygmeGNoLCB4ZWNmZyk7CiAJCWlmICgheGNoKQogCQkJYnJlYWs7CiAKK3ByZV9jb250ZXh0X2NhbGN1bGF0aW9uOgogCQlzMSA9IFhETF9NQVgoeGNoLT5pMSAtIHhlY2ZnLT5jdHhsZW4sIDApOwogCQlzMiA9IFhETF9NQVgoeGNoLT5pMiAtIHhlY2ZnLT5jdHhsZW4sIDApOwogCkBAIC0yMTAsOCArMjEyLDIzIEBACiAJCQlpZiAoZnMxIDwgMCkKIAkJCQlmczEgPSAwOwogCQkJaWYgKGZzMSA8IHMxKSB7Ci0JCQkJczIgLT0gczEgLSBmczE7CisJCQkJczIgPSBYRExfTUFYKHMyIC0gKHMxIC0gZnMxKSwgMCk7CiAJCQkJczEgPSBmczE7CisKKwkJCQkvKgorCQkJCSAqIERpZCB3ZSBleHRlbmQgY29udGV4dCB1cHdhcmRzIGludG8gYW4KKwkJCQkgKiBpZ25vcmVkIGNoYW5nZT8KKwkJCQkgKi8KKwkJCQl3aGlsZSAoeGNocCAhPSB4Y2ggJiYKKwkJCQkgICAgICAgeGNocC0+aTEgKyB4Y2hwLT5jaGcxIDw9IHMxICYmCisJCQkJICAgICAgIHhjaHAtPmkyICsgeGNocC0+Y2hnMiA8PSBzMikKKwkJCQkJeGNocCA9IHhjaHAtPm5leHQ7CisKKwkJCQkvKiBJZiBzbywgc2hvdyBpdCBhZnRlciBhbGwuICovCisJCQkJaWYgKHhjaHAgIT0geGNoKSB7CisJCQkJCXhjaCA9IHhjaHA7CisJCQkJCWdvdG8gcHJlX2NvbnRleHRfY2FsY3VsYXRpb247CisJCQkJfQogCQkJfQogCQl9CiAKQEAgLTIzMiw3ICsyNDksNyBAQAogCQkJaWYgKGZlMSA8IDApCiAJCQkJZmUxID0geGUtPnhkZjEubnJlYzsKIAkJCWlmIChmZTEgPiBlMSkgewotCQkJCWUyICs9IGZlMSAtIGUxOworCQkJCWUyID0gWERMX01JTihlMiArIChmZTEgLSBlMSksIHhlLT54ZGYyLm5yZWMpOwogCQkJCWUxID0gZmUxOwogCQkJfQogCmRpZmYgLS1naXQgYS94ZGlmZi94aGlzdG9ncmFtLmMgYi94ZGlmZi94aGlzdG9ncmFtLmMKaW5kZXggZWM4NWY1OS4uYzdiMzVhOSAxMDA2NDQKLS0tIGEveGRpZmYveGhpc3RvZ3JhbS5jCisrKyBiL3hkaWZmL3hoaXN0b2dyYW0uYwpAQCAtNDIsOCArNDIsNiBAQAogICovCiAKICNpbmNsdWRlICJ4aW5jbHVkZS5oIgotI2luY2x1ZGUgInh0eXBlcy5oIgotI2luY2x1ZGUgInhkaWZmLmgiCiAKICNkZWZpbmUgTUFYX1BUUglVSU5UX01BWAogI2RlZmluZSBNQVhfQ05UCVVJTlRfTUFYCmRpZmYgLS1naXQgYS94ZGlmZi94aW5jbHVkZS5oIGIveGRpZmYveGluY2x1ZGUuaAppbmRleCBmMzVjNDQ4Li5hNDI4NWFjIDEwMDY0NAotLS0gYS94ZGlmZi94aW5jbHVkZS5oCisrKyBiL3hkaWZmL3hpbmNsdWRlLmgKQEAgLTIzLDEzICsyMyw3IEBACiAjaWYgIWRlZmluZWQoWElOQ0xVREVfSCkKICNkZWZpbmUgWElOQ0xVREVfSAogCi0jaW5jbHVkZSA8Y3R5cGUuaD4KLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPHVuaXN0ZC5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgPGxpbWl0cy5oPgotCisjaW5jbHVkZSAiZ2l0LWNvbXBhdC11dGlsLmgiCiAjaW5jbHVkZSAieG1hY3Jvcy5oIgogI2luY2x1ZGUgInhkaWZmLmgiCiAjaW5jbHVkZSAieHR5cGVzLmgiCmRpZmYgLS1naXQgYS94ZGlmZi94cGF0aWVuY2UuYyBiL3hkaWZmL3hwYXRpZW5jZS5jCmluZGV4IGYzNTczZDkuLjNjNTYwMWIgMTAwNjQ0Ci0tLSBhL3hkaWZmL3hwYXRpZW5jZS5jCisrKyBiL3hkaWZmL3hwYXRpZW5jZS5jCkBAIC0yMCw4ICsyMCw2IEBACiAgKgogICovCiAjaW5jbHVkZSAieGluY2x1ZGUuaCIKLSNpbmNsdWRlICJ4dHlwZXMuaCIKLSNpbmNsdWRlICJ4ZGlmZi5oIgogCiAvKgogICogVGhlIGJhc2ljIGlkZWEgb2YgcGF0aWVuY2UgZGlmZiBpcyB0byBmaW5kIGxpbmVzIHRoYXQgYXJlIHVuaXF1ZSBpbgpkaWZmIC0tZ2l0IGEveGRpZmYveHV0aWxzLmMgYi94ZGlmZi94dXRpbHMuYwppbmRleCA5NjNlMWM1Li5jZmE2ZTIyIDEwMDY0NAotLS0gYS94ZGlmZi94dXRpbHMuYworKysgYi94ZGlmZi94dXRpbHMuYwpAQCAtMjAsMTMgKzIwLDkgQEAKICAqCiAgKi8KIAotI2luY2x1ZGUgPGxpbWl0cy5oPgotI2luY2x1ZGUgPGFzc2VydC5oPgogI2luY2x1ZGUgInhpbmNsdWRlLmgiCiAKIAotCi0KIGxvbmcgeGRsX2JvZ29zcXJ0KGxvbmcgbikgewogCWxvbmcgaTsKIAo=